summaryrefslogtreecommitdiff
path: root/Source/WebKit
diff options
context:
space:
mode:
authorKonstantin Tokarev <annulen@yandex.ru>2016-08-25 19:20:41 +0300
committerKonstantin Tokarev <annulen@yandex.ru>2017-02-02 12:30:55 +0000
commit6882a04fb36642862b11efe514251d32070c3d65 (patch)
treeb7959826000b061fd5ccc7512035c7478742f7b0 /Source/WebKit
parentab6df191029eeeb0b0f16f127d553265659f739e (diff)
downloadqtwebkit-6882a04fb36642862b11efe514251d32070c3d65.tar.gz
Imported QtWebKit TP3 (git b57bc6801f1876c3220d5a4bfea33d620d477443)
Change-Id: I3b1d8a2808782c9f34d50240000e20cb38d3680f Reviewed-by: Konstantin Tokarev <annulen@yandex.ru>
Diffstat (limited to 'Source/WebKit')
-rw-r--r--Source/WebKit/CMakeLists.txt158
-rw-r--r--Source/WebKit/English.lproj/WebJavaScriptTextInputPanel.nib/designable.nib440
-rw-r--r--Source/WebKit/English.lproj/WebJavaScriptTextInputPanel.nib/keyedobjects.nibbin5211 -> 0 bytes
-rw-r--r--Source/WebKit/Makefile2
-rw-r--r--Source/WebKit/PlatformBlackBerry.cmake296
-rw-r--r--Source/WebKit/PlatformEfl.cmake284
-rw-r--r--Source/WebKit/PlatformQt.cmake645
-rw-r--r--Source/WebKit/PlatformWinCE.cmake27
-rw-r--r--Source/WebKit/Storage/StorageAreaImpl.cpp300
-rw-r--r--Source/WebKit/Storage/StorageAreaImpl.h101
-rw-r--r--Source/WebKit/Storage/StorageAreaSync.cpp535
-rw-r--r--Source/WebKit/Storage/StorageAreaSync.h107
-rw-r--r--Source/WebKit/Storage/StorageNamespaceImpl.cpp173
-rw-r--r--Source/WebKit/Storage/StorageNamespaceImpl.h80
-rw-r--r--Source/WebKit/Storage/StorageSyncManager.cpp (renamed from Source/WebKit/win/WebCookieManager.cpp)75
-rw-r--r--Source/WebKit/Storage/StorageSyncManager.h (renamed from Source/WebKit/mac/Plugins/Hosted/WebKitPluginHostTypes.h)67
-rw-r--r--Source/WebKit/Storage/StorageThread.cpp115
-rw-r--r--Source/WebKit/Storage/StorageThread.h (renamed from Source/WebKit/win/WebCookieManager.h)55
-rw-r--r--Source/WebKit/Storage/StorageTracker.cpp660
-rw-r--r--Source/WebKit/Storage/StorageTracker.h120
-rw-r--r--Source/WebKit/Storage/StorageTrackerClient.h (renamed from Source/WebKit/mac/Misc/WebLocalizableStringsInternal.mm)22
-rw-r--r--Source/WebKit/Storage/WebDatabaseProvider.cpp (renamed from Source/WebKit/mac/WebCoreSupport/WebKitFullScreenListener.mm)51
-rw-r--r--Source/WebKit/Storage/WebDatabaseProvider.h (renamed from Source/WebKit/mac/WebCoreSupport/WebGeolocationClient.h)44
-rw-r--r--Source/WebKit/Storage/WebStorageNamespaceProvider.cpp112
-rw-r--r--Source/WebKit/Storage/WebStorageNamespaceProvider.h (renamed from Source/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.h)43
-rw-r--r--Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.cpp383
-rw-r--r--Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.h119
-rw-r--r--Source/WebKit/WebCoreSupport/WebViewGroup.cpp100
-rw-r--r--Source/WebKit/WebCoreSupport/WebViewGroup.h (renamed from Source/WebKit/win/WebCoreSupport/WebGeolocationClient.h)50
-rw-r--r--Source/WebKit/WebKit.pri44
-rw-r--r--Source/WebKit/WebKit.vcxproj/Interfaces/FixMIDLHeaders.pl76
-rw-r--r--Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj1518
-rw-r--r--Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters294
-rw-r--r--Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesCommon.props28
-rw-r--r--Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesDebug.props13
-rw-r--r--Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesDebugWinCairo.props13
-rw-r--r--Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesPostBuild.cmd7
-rw-r--r--Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesPreBuild.cmd9
-rw-r--r--Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesProduction.props13
-rw-r--r--Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesRelease.props13
-rw-r--r--Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesReleaseWinCairo.props13
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit.make20
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit.sln789
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit.submit.sln65
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKit.vcxproj544
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKit.vcxproj.filters631
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKitApple.props11
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKitCFLite.props13
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKitCommon.props21
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKitDebug.props14
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKitDebugWinCairo.props16
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKitDirectX.props14
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKitPostBuild.cmd17
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKitPreBuild.cmd11
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKitPreLink.cmd0
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKitProduction.props15
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKitRelease.props14
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/WebKitReleaseWinCairo.props16
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKit/resource.h44
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj287
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj.filters15
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorBuildCmd.cmd9
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorCommon.props17
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorDebug.props13
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorDebugWinCairo.props14
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPostBuild.cmd5
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPreBuild.cmd19
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorProduction.props13
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorRelease.props13
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorReleaseWinCairo.props14
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in464
-rwxr-xr-xSource/WebKit/WebKit.vcxproj/WebKitExportGenerator/make-export-file-generator65
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj275
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj.filters14
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDCommon.props20
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDDebug.props13
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDDebugWinCairo.props13
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDPostBuild.cmd1
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDPreBuild.cmd6
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDProduction.props13
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDRelease.props13
-rw-r--r--Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDReleaseWinCairo.props13
-rw-r--r--Source/WebKit/WebKit.xcodeproj/project.pbxproj2130
-rw-r--r--Source/WebKit/WebKit1.pri24
-rw-r--r--Source/WebKit/WebKit1.pro124
-rw-r--r--Source/WebKit/blackberry/Api/BackingStore.cpp2303
-rw-r--r--Source/WebKit/blackberry/Api/BackingStore.h99
-rw-r--r--Source/WebKit/blackberry/Api/BackingStore_p.h327
-rw-r--r--Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp168
-rw-r--r--Source/WebKit/blackberry/Api/BlackBerryGlobal.h50
-rw-r--r--Source/WebKit/blackberry/Api/DumpRenderTreeClient.h95
-rw-r--r--Source/WebKit/blackberry/Api/InRegionScroller.cpp539
-rw-r--r--Source/WebKit/blackberry/Api/InRegionScroller.h56
-rw-r--r--Source/WebKit/blackberry/Api/InRegionScroller_p.h87
-rw-r--r--Source/WebKit/blackberry/Api/JavaScriptVariant.cpp207
-rw-r--r--Source/WebKit/blackberry/Api/JavaScriptVariant.h78
-rw-r--r--Source/WebKit/blackberry/Api/JavaScriptVariant_p.h36
-rw-r--r--Source/WebKit/blackberry/Api/Version.cpp43
-rw-r--r--Source/WebKit/blackberry/Api/Version.h29
-rw-r--r--Source/WebKit/blackberry/Api/WebAnimation.cpp101
-rw-r--r--Source/WebKit/blackberry/Api/WebAnimation.h62
-rw-r--r--Source/WebKit/blackberry/Api/WebAnimation_p.h54
-rw-r--r--Source/WebKit/blackberry/Api/WebCookieJar.cpp60
-rw-r--r--Source/WebKit/blackberry/Api/WebCookieJar.h73
-rw-r--r--Source/WebKit/blackberry/Api/WebKitMIMETypeConverter.cpp43
-rw-r--r--Source/WebKit/blackberry/Api/WebKitMIMETypeConverter.h37
-rw-r--r--Source/WebKit/blackberry/Api/WebKitTextCodec.cpp132
-rw-r--r--Source/WebKit/blackberry/Api/WebKitTextCodec.h64
-rw-r--r--Source/WebKit/blackberry/Api/WebOverlay.cpp826
-rw-r--r--Source/WebKit/blackberry/Api/WebOverlay.h147
-rw-r--r--Source/WebKit/blackberry/Api/WebOverlayClient.h42
-rw-r--r--Source/WebKit/blackberry/Api/WebOverlayOverride.cpp139
-rw-r--r--Source/WebKit/blackberry/Api/WebOverlayOverride.h71
-rw-r--r--Source/WebKit/blackberry/Api/WebOverlay_p.h266
-rw-r--r--Source/WebKit/blackberry/Api/WebPage.cpp6316
-rw-r--r--Source/WebKit/blackberry/Api/WebPage.h397
-rw-r--r--Source/WebKit/blackberry/Api/WebPageClient.h284
-rw-r--r--Source/WebKit/blackberry/Api/WebPageCompositor.cpp415
-rw-r--r--Source/WebKit/blackberry/Api/WebPageCompositor.h70
-rw-r--r--Source/WebKit/blackberry/Api/WebPageCompositorClient.h40
-rw-r--r--Source/WebKit/blackberry/Api/WebPageCompositor_p.h140
-rw-r--r--Source/WebKit/blackberry/Api/WebPageGroupLoadDeferrer.cpp41
-rw-r--r--Source/WebKit/blackberry/Api/WebPageGroupLoadDeferrer.h48
-rw-r--r--Source/WebKit/blackberry/Api/WebPage_p.h675
-rw-r--r--Source/WebKit/blackberry/Api/WebSettings.cpp859
-rw-r--r--Source/WebKit/blackberry/Api/WebSettings.h292
-rw-r--r--Source/WebKit/blackberry/Api/WebSettings_p.h114
-rw-r--r--Source/WebKit/blackberry/Api/WebTapHighlight.h43
-rw-r--r--Source/WebKit/blackberry/Api/WebViewportArguments.cpp118
-rw-r--r--Source/WebKit/blackberry/Api/WebViewportArguments.h90
-rw-r--r--Source/WebKit/blackberry/ChangeLog2442
-rw-r--r--Source/WebKit/blackberry/ChangeLog-2013-04-2422299
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in238
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/AboutDataHaveFeatures.in68
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/AboutDataUseFeatures.in113
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/AboutTemplate.html.cpp31
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/AutofillManager.cpp85
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/AutofillManager.h59
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/BackForwardListBlackBerry.cpp136
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/BackForwardListBlackBerry.h67
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/BatteryClientBlackBerry.cpp64
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/BatteryClientBlackBerry.h57
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/CacheClientBlackBerry.cpp66
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/CacheClientBlackBerry.h37
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp807
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h161
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/CredentialManager.cpp106
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/CredentialManager.h59
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.cpp235
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.h61
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/DeviceMotionClientBlackBerry.cpp93
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/DeviceMotionClientBlackBerry.h62
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/DeviceOrientationClientBlackBerry.cpp77
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/DeviceOrientationClientBlackBerry.h62
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/DragClientBlackBerry.cpp59
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/DragClientBlackBerry.h39
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.cpp640
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.h122
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp1363
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.h224
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/FrameNetworkingContextBlackBerry.cpp34
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/FrameNetworkingContextBlackBerry.h37
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/GeolocationClientBlackBerry.cpp195
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/GeolocationClientBlackBerry.h64
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp73
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.h56
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.cpp119
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h72
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/NavigatorContentUtilsClientBlackBerry.cpp53
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/NavigatorContentUtilsClientBlackBerry.h51
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/NetworkInfoClientBlackBerry.cpp139
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/NetworkInfoClientBlackBerry.h58
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/NotificationClientBlackBerry.cpp87
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/NotificationClientBlackBerry.h58
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/PlatformStrategiesBlackBerry.cpp162
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/PlatformStrategiesBlackBerry.h69
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxElement.cpp56
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxElement.h43
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxHandler.cpp233
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxHandler.h68
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp138
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h57
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/VibrationClientBlackBerry.cpp50
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/VibrationClientBlackBerry.h38
-rwxr-xr-xSource/WebKit/blackberry/WebCoreSupport/generateAboutDataFeatures.pl46
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/inspectorBB.js27
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/AboutData.cpp549
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/AboutData.h32
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/BackingStoreClient.cpp231
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/BackingStoreClient.h96
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp122
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h115
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/BackingStoreVisualizationViewportAccessor.cpp75
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/BackingStoreVisualizationViewportAccessor.h50
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/ColorPickerClient.cpp101
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/ColorPickerClient.h51
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp678
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DOMSupport.h116
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DatePickerClient.cpp206
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DatePickerClient.h56
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DefaultTapHighlight.cpp153
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DefaultTapHighlight.h78
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DumpRenderTreeSupport.cpp146
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DumpRenderTreeSupport.h69
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp502
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/FatFingers.h197
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/FrameLayers.cpp136
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/FrameLayers.h76
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp101
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/GLES2Context.h64
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp401
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h74
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp188
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.h70
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp2737
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InputHandler.h279
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InspectorOverlayBlackBerry.cpp90
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InspectorOverlayBlackBerry.h71
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/NotificationManager.cpp231
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/NotificationManager.h102
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/PagePopup.cpp167
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/PagePopup.h67
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/PagePopupClient.cpp61
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/PagePopupClient.h69
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/ProximityDetector.cpp115
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/ProximityDetector.h32
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp894
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/RenderQueue.h137
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SelectPopupClient.cpp186
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SelectPopupClient.h59
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp1331
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SelectionHandler.h137
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SelectionOverlay.cpp136
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SelectionOverlay.h74
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SpellingHandler.cpp201
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SpellingHandler.h57
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp199
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SurfacePool.h87
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/TileIndex.h72
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/TileIndexHash.h54
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp305
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.h72
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/WebKitThreadViewportAccessor.cpp92
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/WebKitThreadViewportAccessor.h47
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/WebPopupType.h35
-rw-r--r--Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp145
-rw-r--r--Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp124
-rw-r--r--Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.h66
-rw-r--r--Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp170
-rw-r--r--Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp60
-rw-r--r--Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h56
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp685
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.h198
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.cpp61
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.h56
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp91
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h58
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DeviceMotionClientEfl.cpp72
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DeviceMotionClientEfl.h48
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DeviceOrientationClientEfl.cpp72
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DeviceOrientationClientEfl.h45
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DragClientEfl.cpp68
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DragClientEfl.h53
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp788
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h140
-rw-r--r--Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp462
-rw-r--r--Source/WebKit/efl/WebCoreSupport/EditorClientEfl.h161
-rw-r--r--Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp1029
-rw-r--r--Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h226
-rw-r--r--Source/WebKit/efl/WebCoreSupport/FrameNetworkingContextEfl.cpp67
-rw-r--r--Source/WebKit/efl/WebCoreSupport/FrameNetworkingContextEfl.h53
-rw-r--r--Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.cpp193
-rw-r--r--Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.h92
-rw-r--r--Source/WebKit/efl/WebCoreSupport/IconDatabaseClientEfl.cpp55
-rw-r--r--Source/WebKit/efl/WebCoreSupport/IconDatabaseClientEfl.h41
-rw-r--r--Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp223
-rw-r--r--Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.h102
-rw-r--r--Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp95
-rw-r--r--Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.h57
-rw-r--r--Source/WebKit/efl/WebCoreSupport/NetworkInfoClientEfl.cpp74
-rw-r--r--Source/WebKit/efl/WebCoreSupport/NetworkInfoClientEfl.h59
-rw-r--r--Source/WebKit/efl/WebCoreSupport/NotificationPresenterClientEfl.cpp74
-rw-r--r--Source/WebKit/efl/WebCoreSupport/NotificationPresenterClientEfl.h46
-rw-r--r--Source/WebKit/efl/WebCoreSupport/PageClientEfl.cpp49
-rw-r--r--Source/WebKit/efl/WebCoreSupport/PageClientEfl.h47
-rw-r--r--Source/WebKit/efl/WebCoreSupport/PlatformStrategiesEfl.cpp169
-rw-r--r--Source/WebKit/efl/WebCoreSupport/PlatformStrategiesEfl.h70
-rw-r--r--Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.cpp80
-rw-r--r--Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.h53
-rw-r--r--Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.cpp56
-rw-r--r--Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.h44
-rw-r--r--Source/WebKit/efl/WebCoreSupport/StorageTrackerClientEfl.cpp37
-rw-r--r--Source/WebKit/efl/WebCoreSupport/StorageTrackerClientEfl.h35
-rw-r--r--Source/WebKit/efl/WebCoreSupport/VibrationClientEfl.cpp50
-rw-r--r--Source/WebKit/efl/WebCoreSupport/VibrationClientEfl.h48
-rw-r--r--Source/WebKit/efl/ewebkit.pc.in13
-rw-r--r--Source/WebKit/efl/ewk/EWebKit.h50
-rw-r--r--Source/WebKit/efl/ewk/ewk_auth.cpp33
-rw-r--r--Source/WebKit/efl/ewk/ewk_auth.h62
-rw-r--r--Source/WebKit/efl/ewk/ewk_auth_soup.cpp137
-rw-r--r--Source/WebKit/efl/ewk/ewk_auth_soup_private.h52
-rw-r--r--Source/WebKit/efl/ewk/ewk_contextmenu.cpp310
-rw-r--r--Source/WebKit/efl/ewk/ewk_contextmenu.h338
-rw-r--r--Source/WebKit/efl/ewk/ewk_contextmenu_private.h39
-rw-r--r--Source/WebKit/efl/ewk/ewk_cookies.cpp168
-rw-r--r--Source/WebKit/efl/ewk/ewk_cookies.h146
-rw-r--r--Source/WebKit/efl/ewk/ewk_custom_handler.cpp72
-rw-r--r--Source/WebKit/efl/ewk/ewk_custom_handler_private.h34
-rw-r--r--Source/WebKit/efl/ewk/ewk_file_chooser.cpp119
-rw-r--r--Source/WebKit/efl/ewk/ewk_file_chooser.h132
-rw-r--r--Source/WebKit/efl/ewk/ewk_file_chooser_private.h31
-rw-r--r--Source/WebKit/efl/ewk/ewk_frame.cpp1926
-rw-r--r--Source/WebKit/efl/ewk/ewk_frame.h996
-rw-r--r--Source/WebKit/efl/ewk/ewk_frame_private.h92
-rw-r--r--Source/WebKit/efl/ewk/ewk_history.cpp426
-rw-r--r--Source/WebKit/efl/ewk/ewk_history.h425
-rw-r--r--Source/WebKit/efl/ewk/ewk_history_private.h39
-rw-r--r--Source/WebKit/efl/ewk/ewk_js.cpp751
-rw-r--r--Source/WebKit/efl/ewk/ewk_js.h209
-rw-r--r--Source/WebKit/efl/ewk/ewk_js_private.h41
-rw-r--r--Source/WebKit/efl/ewk/ewk_main.cpp206
-rw-r--r--Source/WebKit/efl/ewk/ewk_main.h59
-rw-r--r--Source/WebKit/efl/ewk/ewk_network.cpp100
-rw-r--r--Source/WebKit/efl/ewk/ewk_network.h145
-rw-r--r--Source/WebKit/efl/ewk/ewk_paint_context.cpp201
-rw-r--r--Source/WebKit/efl/ewk/ewk_paint_context_private.h221
-rw-r--r--Source/WebKit/efl/ewk/ewk_private.h53
-rw-r--r--Source/WebKit/efl/ewk/ewk_security_origin.cpp166
-rw-r--r--Source/WebKit/efl/ewk/ewk_security_origin.h175
-rw-r--r--Source/WebKit/efl/ewk/ewk_security_origin_private.h30
-rw-r--r--Source/WebKit/efl/ewk/ewk_security_policy.cpp48
-rw-r--r--Source/WebKit/efl/ewk/ewk_security_policy.h60
-rw-r--r--Source/WebKit/efl/ewk/ewk_settings.cpp401
-rw-r--r--Source/WebKit/efl/ewk/ewk_settings.h421
-rw-r--r--Source/WebKit/efl/ewk/ewk_settings_private.h28
-rw-r--r--Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp1936
-rw-r--r--Source/WebKit/efl/ewk/ewk_tiled_backing_store_private.h114
-rw-r--r--Source/WebKit/efl/ewk/ewk_tiled_matrix.cpp697
-rw-r--r--Source/WebKit/efl/ewk/ewk_tiled_matrix_private.h60
-rw-r--r--Source/WebKit/efl/ewk/ewk_tiled_model.cpp759
-rw-r--r--Source/WebKit/efl/ewk/ewk_tiled_model_private.h56
-rw-r--r--Source/WebKit/efl/ewk/ewk_touch_event.cpp98
-rw-r--r--Source/WebKit/efl/ewk/ewk_touch_event_private.h40
-rw-r--r--Source/WebKit/efl/ewk/ewk_view.cpp4778
-rw-r--r--Source/WebKit/efl/ewk/ewk_view.h2825
-rw-r--r--Source/WebKit/efl/ewk/ewk_view_private.h186
-rw-r--r--Source/WebKit/efl/ewk/ewk_view_single.cpp372
-rw-r--r--Source/WebKit/efl/ewk/ewk_view_tiled.cpp376
-rw-r--r--Source/WebKit/efl/ewk/ewk_web_database.cpp182
-rw-r--r--Source/WebKit/efl/ewk/ewk_web_database.h136
-rw-r--r--Source/WebKit/efl/ewk/ewk_web_database_private.h31
-rw-r--r--Source/WebKit/efl/ewk/ewk_window_features.cpp121
-rw-r--r--Source/WebKit/efl/ewk/ewk_window_features.h94
-rw-r--r--Source/WebKit/efl/ewk/ewk_window_features_private.h26
-rw-r--r--Source/WebKit/efl/tests/UnitTestUtils/EWKTestBase.cpp63
-rw-r--r--Source/WebKit/efl/tests/UnitTestUtils/EWKTestBase.h45
-rw-r--r--Source/WebKit/efl/tests/UnitTestUtils/EWKTestConfig.h31
-rw-r--r--Source/WebKit/efl/tests/UnitTestUtils/EWKTestEnvironment.cpp47
-rw-r--r--Source/WebKit/efl/tests/UnitTestUtils/EWKTestEnvironment.h38
-rw-r--r--Source/WebKit/efl/tests/UnitTestUtils/EWKTestView.cpp67
-rw-r--r--Source/WebKit/efl/tests/UnitTestUtils/EWKTestView.h52
-rw-r--r--Source/WebKit/efl/tests/resources/default_test_page.html6
-rw-r--r--Source/WebKit/efl/tests/test_ewk_contextmenu.cpp124
-rw-r--r--Source/WebKit/efl/tests/test_ewk_frame.cpp66
-rw-r--r--Source/WebKit/efl/tests/test_ewk_setting.cpp188
-rw-r--r--Source/WebKit/efl/tests/test_ewk_view.cpp127
-rw-r--r--Source/WebKit/efl/tests/test_runner.cpp52
-rw-r--r--Source/WebKit/gtk/ChangeLog-2012-05-2223357
-rw-r--r--Source/WebKit/gtk/GNUmakefile.am637
-rw-r--r--Source/WebKit/gtk/NEWS1435
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContext.h105
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp397
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/AssertMatchingEnums.cpp79
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp1105
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h187
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp168
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h65
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/DeviceMotionClientGtk.cpp69
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/DeviceOrientationClientGtk.cpp68
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/DeviceOrientationClientGtk.h46
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp126
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.h74
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp102
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/DragClientGtk.h63
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp744
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h149
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp567
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.h153
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp1269
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h207
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.cpp42
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.h48
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/GeolocationClientGtk.cpp102
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/GeolocationClientGtk.h70
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/GtkAdjustmentWatcher.cpp154
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/GtkAdjustmentWatcher.h59
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp286
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.h108
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp44
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h44
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h51
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.cpp156
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.h69
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/TextCheckerClientGtk.cpp96
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/TextCheckerClientGtk.h60
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.cpp58
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.h43
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.cpp117
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.h54
-rw-r--r--Source/WebKit/gtk/docs/webkitenvironment.xml64
-rw-r--r--Source/WebKit/gtk/docs/webkitgtk-docs.sgml137
-rw-r--r--Source/WebKit/gtk/docs/webkitgtk-overrides.txt0
-rw-r--r--Source/WebKit/gtk/docs/webkitgtk-sections.txt753
-rw-r--r--Source/WebKit/gtk/docs/webkitgtk.types26
-rw-r--r--Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h48
-rw-r--r--Source/WebKit/gtk/resources/error.html60
-rw-r--r--Source/WebKit/gtk/tests/resources/blank.icobin198 -> 0 bytes
-rw-r--r--Source/WebKit/gtk/tests/resources/test.html6
-rw-r--r--Source/WebKit/gtk/tests/resources/test.oggbin30131 -> 0 bytes
-rw-r--r--Source/WebKit/gtk/tests/resources/test.pdfbin7421 -> 0 bytes
-rw-r--r--Source/WebKit/gtk/tests/resources/test.txt1
-rw-r--r--Source/WebKit/gtk/tests/test_utils.c51
-rw-r--r--Source/WebKit/gtk/tests/test_utils.h3
-rw-r--r--Source/WebKit/gtk/tests/testapplicationcache.c49
-rw-r--r--Source/WebKit/gtk/tests/testatk.c2117
-rw-r--r--Source/WebKit/gtk/tests/testatkroles.c426
-rw-r--r--Source/WebKit/gtk/tests/testcontextmenu.c314
-rw-r--r--Source/WebKit/gtk/tests/testcopyandpaste.c266
-rw-r--r--Source/WebKit/gtk/tests/testdomdocument.c428
-rw-r--r--Source/WebKit/gtk/tests/testdomdomwindow.c258
-rw-r--r--Source/WebKit/gtk/tests/testdomnode.c219
-rw-r--r--Source/WebKit/gtk/tests/testdownload.c322
-rw-r--r--Source/WebKit/gtk/tests/testfavicondatabase.c276
-rw-r--r--Source/WebKit/gtk/tests/testglobals.c110
-rw-r--r--Source/WebKit/gtk/tests/testhittestresult.c169
-rw-r--r--Source/WebKit/gtk/tests/testhttpbackend.c75
-rw-r--r--Source/WebKit/gtk/tests/testkeyevents.c390
-rw-r--r--Source/WebKit/gtk/tests/testloading.c435
-rw-r--r--Source/WebKit/gtk/tests/testmimehandling.c203
-rw-r--r--Source/WebKit/gtk/tests/testnetworkrequest.c96
-rw-r--r--Source/WebKit/gtk/tests/testnetworkresponse.c97
-rw-r--r--Source/WebKit/gtk/tests/testwebbackforwardlist.c326
-rw-r--r--Source/WebKit/gtk/tests/testwebdatasource.c242
-rw-r--r--Source/WebKit/gtk/tests/testwebframe.c220
-rw-r--r--Source/WebKit/gtk/tests/testwebhistoryitem.c70
-rw-r--r--Source/WebKit/gtk/tests/testwebinspector.c172
-rw-r--r--Source/WebKit/gtk/tests/testwebplugindatabase.c78
-rw-r--r--Source/WebKit/gtk/tests/testwebresource.c331
-rw-r--r--Source/WebKit/gtk/tests/testwebsettings.c153
-rw-r--r--Source/WebKit/gtk/tests/testwebview.c724
-rw-r--r--Source/WebKit/gtk/tests/testwindow.c119
-rw-r--r--Source/WebKit/gtk/webkit.pc.in11
-rw-r--r--Source/WebKit/gtk/webkit/webkit.h57
-rw-r--r--Source/WebKit/gtk/webkit/webkitapplicationcache.cpp82
-rw-r--r--Source/WebKit/gtk/webkit/webkitapplicationcache.h38
-rw-r--r--Source/WebKit/gtk/webkit/webkitauthenticationdialog.cpp63
-rw-r--r--Source/WebKit/gtk/webkit/webkitauthenticationdialog.h26
-rw-r--r--Source/WebKit/gtk/webkit/webkitdefines.h115
-rw-r--r--Source/WebKit/gtk/webkit/webkitdownload.cpp968
-rw-r--r--Source/WebKit/gtk/webkit/webkitdownload.h135
-rw-r--r--Source/WebKit/gtk/webkit/webkitdownloadprivate.h36
-rw-r--r--Source/WebKit/gtk/webkit/webkiterror.cpp38
-rw-r--r--Source/WebKit/gtk/webkit/webkiterror.h103
-rw-r--r--Source/WebKit/gtk/webkit/webkitfavicondatabase.cpp645
-rw-r--r--Source/WebKit/gtk/webkit/webkitfavicondatabase.h95
-rw-r--r--Source/WebKit/gtk/webkit/webkitfavicondatabaseprivate.h25
-rw-r--r--Source/WebKit/gtk/webkit/webkitfilechooserrequest.cpp367
-rw-r--r--Source/WebKit/gtk/webkit/webkitfilechooserrequest.h71
-rw-r--r--Source/WebKit/gtk/webkit/webkitfilechooserrequestprivate.h30
-rw-r--r--Source/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp108
-rw-r--r--Source/WebKit/gtk/webkit/webkitgeolocationpolicydecision.h64
-rw-r--r--Source/WebKit/gtk/webkit/webkitgeolocationpolicydecisionprivate.h38
-rw-r--r--Source/WebKit/gtk/webkit/webkitglobals.cpp571
-rw-r--r--Source/WebKit/gtk/webkit/webkitglobals.h212
-rw-r--r--Source/WebKit/gtk/webkit/webkitglobalsprivate.h40
-rw-r--r--Source/WebKit/gtk/webkit/webkithittestresult.cpp338
-rw-r--r--Source/WebKit/gtk/webkit/webkithittestresult.h83
-rw-r--r--Source/WebKit/gtk/webkit/webkithittestresultprivate.h35
-rw-r--r--Source/WebKit/gtk/webkit/webkiticondatabase.cpp331
-rw-r--r--Source/WebKit/gtk/webkit/webkiticondatabase.h80
-rw-r--r--Source/WebKit/gtk/webkit/webkitnetworkrequest.cpp273
-rw-r--r--Source/WebKit/gtk/webkit/webkitnetworkrequest.h74
-rw-r--r--Source/WebKit/gtk/webkit/webkitnetworkrequestprivate.h33
-rw-r--r--Source/WebKit/gtk/webkit/webkitnetworkresponse.cpp322
-rw-r--r--Source/WebKit/gtk/webkit/webkitnetworkresponse.h77
-rw-r--r--Source/WebKit/gtk/webkit/webkitnetworkresponseprivate.h35
-rw-r--r--Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp425
-rw-r--r--Source/WebKit/gtk/webkit/webkitsecurityorigin.h79
-rw-r--r--Source/WebKit/gtk/webkit/webkitsecurityoriginprivate.h51
-rw-r--r--Source/WebKit/gtk/webkit/webkitsoupauthdialog.cpp160
-rw-r--r--Source/WebKit/gtk/webkit/webkitsoupauthdialog.h52
-rw-r--r--Source/WebKit/gtk/webkit/webkitspellchecker.cpp172
-rw-r--r--Source/WebKit/gtk/webkit/webkitspellchecker.h70
-rw-r--r--Source/WebKit/gtk/webkit/webkitspellcheckerenchant.cpp136
-rw-r--r--Source/WebKit/gtk/webkit/webkitspellcheckerenchant.h58
-rw-r--r--Source/WebKit/gtk/webkit/webkitversion.cpp63
-rw-r--r--Source/WebKit/gtk/webkit/webkitversion.h.in59
-rw-r--r--Source/WebKit/gtk/webkit/webkitviewportattributes.cpp574
-rw-r--r--Source/WebKit/gtk/webkit/webkitviewportattributes.h62
-rw-r--r--Source/WebKit/gtk/webkit/webkitviewportattributesprivate.h54
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp482
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebbackforwardlist.h123
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h34
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebdatabase.cpp525
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebdatabase.h96
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebdatasource.cpp443
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebdatasource.h96
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebdatasourceprivate.h35
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebframe.cpp1218
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebframe.h189
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebframeprivate.h59
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp530
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebhistoryitem.h90
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebhistoryitemprivate.h49
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebinspector.cpp575
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebinspector.h80
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebinspectorprivate.h38
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebnavigationaction.cpp375
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebnavigationaction.h103
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebnavigationactionprivate.h35
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebplugin.cpp286
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebplugin.h91
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebplugindatabase.cpp152
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebplugindatabase.h65
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h40
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebpluginprivate.h48
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebpolicydecision.cpp134
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebpolicydecision.h68
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h36
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebresource.cpp485
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebresource.h84
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebresourceprivate.h48
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebsettings.cpp1653
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebsettings.h85
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h101
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebview.cpp5547
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebview.h453
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebviewprivate.h149
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebwindowfeatures.cpp449
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebwindowfeatures.h68
-rw-r--r--Source/WebKit/gtk/webkitmarshal.list32
-rw-r--r--Source/WebKit/mac/Carbon/CarbonUtils.h62
-rw-r--r--Source/WebKit/mac/Carbon/CarbonUtils.m132
-rw-r--r--Source/WebKit/mac/Carbon/CarbonWindowAdapter.h66
-rw-r--r--Source/WebKit/mac/Carbon/CarbonWindowAdapter.mm1051
-rw-r--r--Source/WebKit/mac/Carbon/CarbonWindowContentView.h33
-rw-r--r--Source/WebKit/mac/Carbon/CarbonWindowContentView.m37
-rw-r--r--Source/WebKit/mac/Carbon/CarbonWindowFrame.h43
-rw-r--r--Source/WebKit/mac/Carbon/CarbonWindowFrame.m288
-rw-r--r--Source/WebKit/mac/Carbon/HIViewAdapter.h38
-rw-r--r--Source/WebKit/mac/Carbon/HIViewAdapter.m249
-rw-r--r--Source/WebKit/mac/Carbon/HIWebView.h103
-rw-r--r--Source/WebKit/mac/Carbon/HIWebView.mm1611
-rw-r--r--Source/WebKit/mac/ChangeLog-2002-12-0318984
-rw-r--r--Source/WebKit/mac/ChangeLog-2006-02-0935499
-rw-r--r--Source/WebKit/mac/ChangeLog-2007-10-1424506
-rw-r--r--Source/WebKit/mac/ChangeLog-2010-01-2923230
-rw-r--r--Source/WebKit/mac/ChangeLog-2012-10-0221815
-rw-r--r--Source/WebKit/mac/Configurations/Base.xcconfig94
-rw-r--r--Source/WebKit/mac/Configurations/DebugRelease.xcconfig52
-rw-r--r--Source/WebKit/mac/Configurations/FeatureDefines.xcconfig187
-rw-r--r--Source/WebKit/mac/Configurations/Version.xcconfig20
-rw-r--r--Source/WebKit/mac/Configurations/WebKit.xcconfig127
-rw-r--r--Source/WebKit/mac/DOM/WebDOMOperations.h111
-rw-r--r--Source/WebKit/mac/DOM/WebDOMOperations.mm214
-rw-r--r--Source/WebKit/mac/DOM/WebDOMOperationsInternal.h33
-rw-r--r--Source/WebKit/mac/DOM/WebDOMOperationsPrivate.h49
-rw-r--r--Source/WebKit/mac/DefaultDelegates/WebDefaultContextMenuDelegate.h34
-rw-r--r--Source/WebKit/mac/DefaultDelegates/WebDefaultContextMenuDelegate.mm207
-rw-r--r--Source/WebKit/mac/DefaultDelegates/WebDefaultEditingDelegate.h33
-rw-r--r--Source/WebKit/mac/DefaultDelegates/WebDefaultEditingDelegate.m138
-rw-r--r--Source/WebKit/mac/DefaultDelegates/WebDefaultPolicyDelegate.h39
-rw-r--r--Source/WebKit/mac/DefaultDelegates/WebDefaultPolicyDelegate.m115
-rw-r--r--Source/WebKit/mac/DefaultDelegates/WebDefaultUIDelegate.h36
-rw-r--r--Source/WebKit/mac/DefaultDelegates/WebDefaultUIDelegate.m244
-rw-r--r--Source/WebKit/mac/ForwardingHeaders/collector/handles/Global.h1
-rw-r--r--Source/WebKit/mac/ForwardingHeaders/debugger/DebuggerCallFrame.h1
-rw-r--r--Source/WebKit/mac/ForwardingHeaders/runtime/Completion.h1
-rw-r--r--Source/WebKit/mac/ForwardingHeaders/runtime/Error.h1
-rw-r--r--Source/WebKit/mac/ForwardingHeaders/runtime/JSCJSValue.h1
-rw-r--r--Source/WebKit/mac/ForwardingHeaders/runtime/JSFunction.h1
-rw-r--r--Source/WebKit/mac/ForwardingHeaders/runtime/JSLock.h1
-rw-r--r--Source/WebKit/mac/ForwardingHeaders/runtime/JSObject.h1
-rw-r--r--Source/WebKit/mac/ForwardingHeaders/runtime/JSString.h1
-rw-r--r--Source/WebKit/mac/ForwardingHeaders/runtime/Protect.h1
-rw-r--r--Source/WebKit/mac/ForwardingHeaders/runtime/SymbolTable.h1
-rw-r--r--Source/WebKit/mac/History/BinaryPropertyList.cpp824
-rw-r--r--Source/WebKit/mac/History/BinaryPropertyList.h105
-rw-r--r--Source/WebKit/mac/History/HistoryPropertyList.cpp154
-rw-r--r--Source/WebKit/mac/History/WebBackForwardList.h182
-rw-r--r--Source/WebKit/mac/History/WebBackForwardList.mm321
-rw-r--r--Source/WebKit/mac/History/WebBackForwardListInternal.h41
-rw-r--r--Source/WebKit/mac/History/WebBackForwardListPrivate.h42
-rw-r--r--Source/WebKit/mac/History/WebHistory.h165
-rw-r--r--Source/WebKit/mac/History/WebHistory.mm913
-rw-r--r--Source/WebKit/mac/History/WebHistoryItem.h126
-rw-r--r--Source/WebKit/mac/History/WebHistoryItem.mm632
-rw-r--r--Source/WebKit/mac/History/WebHistoryItemInternal.h60
-rw-r--r--Source/WebKit/mac/History/WebHistoryItemPrivate.h70
-rw-r--r--Source/WebKit/mac/History/WebHistoryPrivate.h58
-rw-r--r--Source/WebKit/mac/History/WebURLsWithTitles.h55
-rw-r--r--Source/WebKit/mac/History/WebURLsWithTitles.m107
-rw-r--r--Source/WebKit/mac/Info.plist24
-rw-r--r--Source/WebKit/mac/MigrateHeaders.make208
-rw-r--r--Source/WebKit/mac/Misc/MailQuirksUserScript.js40
-rw-r--r--Source/WebKit/mac/Misc/OldWebAssertions.c38
-rw-r--r--Source/WebKit/mac/Misc/OutlookQuirksUserScript.js37
-rw-r--r--Source/WebKit/mac/Misc/QuickDrawCompatibility.h91
-rw-r--r--Source/WebKit/mac/Misc/WebAssertions.h35
-rw-r--r--Source/WebKit/mac/Misc/WebCache.h35
-rw-r--r--Source/WebKit/mac/Misc/WebCache.mm145
-rw-r--r--Source/WebKit/mac/Misc/WebCoreStatistics.h90
-rw-r--r--Source/WebKit/mac/Misc/WebCoreStatistics.mm292
-rw-r--r--Source/WebKit/mac/Misc/WebDownload.h67
-rw-r--r--Source/WebKit/mac/Misc/WebDownload.mm282
-rw-r--r--Source/WebKit/mac/Misc/WebDownloadInternal.h54
-rw-r--r--Source/WebKit/mac/Misc/WebElementDictionary.h42
-rw-r--r--Source/WebKit/mac/Misc/WebElementDictionary.mm273
-rw-r--r--Source/WebKit/mac/Misc/WebIconDatabase.h146
-rw-r--r--Source/WebKit/mac/Misc/WebIconDatabase.mm494
-rw-r--r--Source/WebKit/mac/Misc/WebIconDatabaseDelegate.h35
-rw-r--r--Source/WebKit/mac/Misc/WebIconDatabaseInternal.h50
-rw-r--r--Source/WebKit/mac/Misc/WebIconDatabasePrivate.h70
-rw-r--r--Source/WebKit/mac/Misc/WebKit.h52
-rw-r--r--Source/WebKit/mac/Misc/WebKitErrors.h61
-rw-r--r--Source/WebKit/mac/Misc/WebKitErrors.m174
-rw-r--r--Source/WebKit/mac/Misc/WebKitErrorsPrivate.h62
-rw-r--r--Source/WebKit/mac/Misc/WebKitLogging.h85
-rw-r--r--Source/WebKit/mac/Misc/WebKitLogging.m115
-rw-r--r--Source/WebKit/mac/Misc/WebKitNSStringExtras.h62
-rw-r--r--Source/WebKit/mac/Misc/WebKitNSStringExtras.mm346
-rw-r--r--Source/WebKit/mac/Misc/WebKitStatistics.h44
-rw-r--r--Source/WebKit/mac/Misc/WebKitStatistics.m72
-rw-r--r--Source/WebKit/mac/Misc/WebKitStatisticsPrivate.h33
-rw-r--r--Source/WebKit/mac/Misc/WebKitSystemBits.h41
-rw-r--r--Source/WebKit/mac/Misc/WebKitSystemBits.m84
-rw-r--r--Source/WebKit/mac/Misc/WebKitVersionChecks.h72
-rw-r--r--Source/WebKit/mac/Misc/WebKitVersionChecks.m51
-rw-r--r--Source/WebKit/mac/Misc/WebLocalizableStrings.h70
-rw-r--r--Source/WebKit/mac/Misc/WebLocalizableStrings.mm67
-rw-r--r--Source/WebKit/mac/Misc/WebLocalizableStringsInternal.h44
-rw-r--r--Source/WebKit/mac/Misc/WebNSArrayExtras.h43
-rw-r--r--Source/WebKit/mac/Misc/WebNSArrayExtras.m74
-rw-r--r--Source/WebKit/mac/Misc/WebNSControlExtras.h33
-rw-r--r--Source/WebKit/mac/Misc/WebNSControlExtras.m59
-rw-r--r--Source/WebKit/mac/Misc/WebNSDataExtras.h42
-rw-r--r--Source/WebKit/mac/Misc/WebNSDataExtras.m430
-rw-r--r--Source/WebKit/mac/Misc/WebNSDataExtrasPrivate.h35
-rw-r--r--Source/WebKit/mac/Misc/WebNSDictionaryExtras.h47
-rw-r--r--Source/WebKit/mac/Misc/WebNSDictionaryExtras.m122
-rw-r--r--Source/WebKit/mac/Misc/WebNSEventExtras.h41
-rw-r--r--Source/WebKit/mac/Misc/WebNSEventExtras.m82
-rw-r--r--Source/WebKit/mac/Misc/WebNSFileManagerExtras.h37
-rw-r--r--Source/WebKit/mac/Misc/WebNSFileManagerExtras.mm150
-rw-r--r--Source/WebKit/mac/Misc/WebNSImageExtras.h40
-rw-r--r--Source/WebKit/mac/Misc/WebNSImageExtras.m91
-rw-r--r--Source/WebKit/mac/Misc/WebNSNotificationCenterExtras.h39
-rw-r--r--Source/WebKit/mac/Misc/WebNSNotificationCenterExtras.m69
-rw-r--r--Source/WebKit/mac/Misc/WebNSObjectExtras.h48
-rw-r--r--Source/WebKit/mac/Misc/WebNSObjectExtras.mm118
-rw-r--r--Source/WebKit/mac/Misc/WebNSPasteboardExtras.h89
-rw-r--r--Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm295
-rw-r--r--Source/WebKit/mac/Misc/WebNSPrintOperationExtras.h37
-rw-r--r--Source/WebKit/mac/Misc/WebNSPrintOperationExtras.m50
-rw-r--r--Source/WebKit/mac/Misc/WebNSURLExtras.h97
-rw-r--r--Source/WebKit/mac/Misc/WebNSURLExtras.mm393
-rw-r--r--Source/WebKit/mac/Misc/WebNSURLRequestExtras.h44
-rw-r--r--Source/WebKit/mac/Misc/WebNSURLRequestExtras.m88
-rw-r--r--Source/WebKit/mac/Misc/WebNSUserDefaultsExtras.h33
-rw-r--r--Source/WebKit/mac/Misc/WebNSUserDefaultsExtras.mm43
-rw-r--r--Source/WebKit/mac/Misc/WebNSViewExtras.h73
-rw-r--r--Source/WebKit/mac/Misc/WebNSViewExtras.m243
-rw-r--r--Source/WebKit/mac/Misc/WebNSWindowExtras.h35
-rw-r--r--Source/WebKit/mac/Misc/WebNSWindowExtras.m58
-rw-r--r--Source/WebKit/mac/Misc/WebQuotaManager.h65
-rw-r--r--Source/WebKit/mac/Misc/WebStringTruncator.h44
-rw-r--r--Source/WebKit/mac/Misc/WebStringTruncator.mm98
-rw-r--r--Source/WebKit/mac/Misc/WebTypesInternal.h30
-rw-r--r--Source/WebKit/mac/Misc/WebUserContentURLPattern.h39
-rw-r--r--Source/WebKit/mac/Misc/WebUserContentURLPattern.mm89
-rw-r--r--Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib1335
-rw-r--r--Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nibbin8672 -> 0 bytes
-rw-r--r--Source/WebKit/mac/Panels/WebAuthenticationPanel.h69
-rw-r--r--Source/WebKit/mac/Panels/WebAuthenticationPanel.m292
-rw-r--r--Source/WebKit/mac/Panels/WebPanelAuthenticationHandler.h45
-rw-r--r--Source/WebKit/mac/Panels/WebPanelAuthenticationHandler.m162
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.h105
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.mm277
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h75
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.mm317
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.h111
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm1163
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h375
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm1681
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/ProxyInstance.h109
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm480
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/ProxyRuntimeObject.h68
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/ProxyRuntimeObject.mm58
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.h68
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm524
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/WebKitPluginAgent.defs45
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/WebKitPluginAgentReply.defs38
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/WebKitPluginClient.defs238
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/WebKitPluginHost.defs250
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/WebKitPluginHostTypes.defs33
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/WebTextInputWindowController.h46
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/WebTextInputWindowController.m186
-rw-r--r--Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.h150
-rw-r--r--Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm944
-rw-r--r--Source/WebKit/mac/Plugins/WebBasePluginPackage.h96
-rw-r--r--Source/WebKit/mac/Plugins/WebBasePluginPackage.mm491
-rw-r--r--Source/WebKit/mac/Plugins/WebJavaPlugIn.h85
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapeContainerCheckContextInfo.h46
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapeContainerCheckPrivate.h64
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapeContainerCheckPrivate.mm48
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapePluginEventHandler.h83
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapePluginEventHandler.mm51
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCarbon.h82
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCarbon.mm429
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCocoa.h80
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCocoa.mm302
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapePluginPackage.h69
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapePluginPackage.mm466
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapePluginStream.h133
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapePluginStream.mm629
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapePluginView.h188
-rw-r--r--Source/WebKit/mac/Plugins/WebNetscapePluginView.mm2499
-rw-r--r--Source/WebKit/mac/Plugins/WebPlugin.h132
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginContainer.h72
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginContainerCheck.h60
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginContainerCheck.mm194
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginContainerPrivate.h51
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginController.h73
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginController.mm607
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginDatabase.h71
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginDatabase.mm475
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginPackage.h41
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginPackage.mm125
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginPrivate.h31
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginRequest.h50
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginRequest.m82
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginViewFactory.h86
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginViewFactoryPrivate.h39
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginsPrivate.h33
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginsPrivate.m31
-rw-r--r--Source/WebKit/mac/Plugins/npapi.mm235
-rw-r--r--Source/WebKit/mac/PublicHeaderChangesFromTiger.txt32
-rw-r--r--Source/WebKit/mac/Resources/Dock.pdfbin4103 -> 0 bytes
-rw-r--r--Source/WebKit/mac/Resources/url_icon.tiffbin1016 -> 0 bytes
-rw-r--r--Source/WebKit/mac/Storage/WebDatabaseManager.mm152
-rw-r--r--Source/WebKit/mac/Storage/WebDatabaseManagerClient.mm109
-rw-r--r--Source/WebKit/mac/Storage/WebDatabaseManagerPrivate.h68
-rw-r--r--Source/WebKit/mac/Storage/WebDatabaseQuotaManager.h32
-rw-r--r--Source/WebKit/mac/Storage/WebDatabaseQuotaManager.mm78
-rw-r--r--Source/WebKit/mac/Storage/WebStorageManager.mm134
-rw-r--r--Source/WebKit/mac/Storage/WebStorageManagerInternal.h26
-rw-r--r--Source/WebKit/mac/Storage/WebStorageManagerPrivate.h49
-rw-r--r--Source/WebKit/mac/Storage/WebStorageTrackerClient.h45
-rw-r--r--Source/WebKit/mac/Storage/WebStorageTrackerClient.mm82
-rw-r--r--Source/WebKit/mac/WebCoreSupport/CorrectionPanel.h59
-rw-r--r--Source/WebKit/mac/WebCoreSupport/CorrectionPanel.mm143
-rw-r--r--Source/WebKit/mac/WebCoreSupport/PopupMenuMac.h50
-rw-r--r--Source/WebKit/mac/WebCoreSupport/PopupMenuMac.mm226
-rw-r--r--Source/WebKit/mac/WebCoreSupport/SearchPopupMenuMac.h47
-rw-r--r--Source/WebKit/mac/WebCoreSupport/SearchPopupMenuMac.mm79
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebAlternativeTextClient.h58
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebAlternativeTextClient.mm87
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebApplicationCache.h45
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebApplicationCache.mm90
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebApplicationCacheQuotaManager.h32
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebApplicationCacheQuotaManager.mm71
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h43
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebChromeClient.h192
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm951
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebContextMenuClient.h55
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm374
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.h58
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm76
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebDragClient.h46
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebDragClient.mm138
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebEditorClient.h159
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm996
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h238
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm2074
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm100
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebGeolocationClient.mm119
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.h39
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm66
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h128
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm785
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebJavaScriptTextInputPanel.h43
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebJavaScriptTextInputPanel.m73
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebKeyGenerator.h41
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebKeyGenerator.mm61
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h82
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm292
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebOpenPanelResultListener.h40
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebOpenPanelResultListener.mm91
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.h99
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.mm221
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm193
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebSecurityOriginInternal.h42
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebSecurityOriginPrivate.h62
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebSystemInterface.h29
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm243
-rw-r--r--Source/WebKit/mac/WebInspector/WebInspector.h61
-rw-r--r--Source/WebKit/mac/WebInspector/WebInspector.mm248
-rw-r--r--Source/WebKit/mac/WebInspector/WebInspectorFrontend.h48
-rw-r--r--Source/WebKit/mac/WebInspector/WebInspectorFrontend.mm94
-rw-r--r--Source/WebKit/mac/WebInspector/WebInspectorPrivate.h40
-rw-r--r--Source/WebKit/mac/WebInspector/WebNodeHighlight.h61
-rw-r--r--Source/WebKit/mac/WebInspector/WebNodeHighlight.mm204
-rw-r--r--Source/WebKit/mac/WebInspector/WebNodeHighlightView.h38
-rw-r--r--Source/WebKit/mac/WebInspector/WebNodeHighlightView.mm86
-rw-r--r--Source/WebKit/mac/WebInspector/WebNodeHighlighter.h41
-rw-r--r--Source/WebKit/mac/WebInspector/WebNodeHighlighter.mm93
-rw-r--r--Source/WebKit/mac/WebKit.exp131
-rw-r--r--Source/WebKit/mac/WebKit.order2572
-rw-r--r--Source/WebKit/mac/WebKitPrefix.h87
-rw-r--r--Source/WebKit/mac/WebView/WebArchive.h97
-rw-r--r--Source/WebKit/mac/WebView/WebArchive.mm407
-rw-r--r--Source/WebKit/mac/WebView/WebArchiveInternal.h41
-rw-r--r--Source/WebKit/mac/WebView/WebClipView.h43
-rw-r--r--Source/WebKit/mac/WebView/WebClipView.mm164
-rw-r--r--Source/WebKit/mac/WebView/WebDashboardRegion.h51
-rw-r--r--Source/WebKit/mac/WebView/WebDashboardRegion.mm91
-rw-r--r--Source/WebKit/mac/WebView/WebDataSource.h179
-rw-r--r--Source/WebKit/mac/WebView/WebDataSource.mm515
-rw-r--r--Source/WebKit/mac/WebView/WebDataSourceInternal.h60
-rw-r--r--Source/WebKit/mac/WebView/WebDataSourcePrivate.h42
-rw-r--r--Source/WebKit/mac/WebView/WebDelegateImplementationCaching.h161
-rw-r--r--Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm653
-rw-r--r--Source/WebKit/mac/WebView/WebDeviceOrientation.h35
-rw-r--r--Source/WebKit/mac/WebView/WebDeviceOrientation.mm78
-rw-r--r--Source/WebKit/mac/WebView/WebDeviceOrientationInternal.h45
-rw-r--r--Source/WebKit/mac/WebView/WebDeviceOrientationProvider.h32
-rw-r--r--Source/WebKit/mac/WebView/WebDeviceOrientationProviderMock.h40
-rw-r--r--Source/WebKit/mac/WebView/WebDeviceOrientationProviderMock.mm123
-rw-r--r--Source/WebKit/mac/WebView/WebDeviceOrientationProviderMockInternal.h48
-rw-r--r--Source/WebKit/mac/WebView/WebDocument.h209
-rw-r--r--Source/WebKit/mac/WebView/WebDocumentInternal.h78
-rw-r--r--Source/WebKit/mac/WebView/WebDocumentLoaderMac.h68
-rw-r--r--Source/WebKit/mac/WebView/WebDocumentLoaderMac.mm141
-rw-r--r--Source/WebKit/mac/WebView/WebDocumentPrivate.h87
-rw-r--r--Source/WebKit/mac/WebView/WebDynamicScrollBarsView.h64
-rw-r--r--Source/WebKit/mac/WebView/WebDynamicScrollBarsView.mm631
-rw-r--r--Source/WebKit/mac/WebView/WebDynamicScrollBarsViewInternal.h64
-rw-r--r--Source/WebKit/mac/WebView/WebEditingDelegate.h57
-rw-r--r--Source/WebKit/mac/WebView/WebEditingDelegatePrivate.h38
-rw-r--r--Source/WebKit/mac/WebView/WebFormDelegate.h78
-rw-r--r--Source/WebKit/mac/WebView/WebFormDelegate.m87
-rw-r--r--Source/WebKit/mac/WebView/WebFormDelegatePrivate.h33
-rw-r--r--Source/WebKit/mac/WebView/WebFrame.h227
-rw-r--r--Source/WebKit/mac/WebView/WebFrame.mm1511
-rw-r--r--Source/WebKit/mac/WebView/WebFrameInternal.h172
-rw-r--r--Source/WebKit/mac/WebView/WebFrameLoadDelegate.h217
-rw-r--r--Source/WebKit/mac/WebView/WebFrameLoadDelegatePrivate.h45
-rw-r--r--Source/WebKit/mac/WebView/WebFramePrivate.h141
-rw-r--r--Source/WebKit/mac/WebView/WebFrameView.h103
-rw-r--r--Source/WebKit/mac/WebView/WebFrameView.mm1169
-rw-r--r--Source/WebKit/mac/WebView/WebFrameViewInternal.h49
-rw-r--r--Source/WebKit/mac/WebView/WebFrameViewPrivate.h86
-rw-r--r--Source/WebKit/mac/WebView/WebFullScreenController.h76
-rw-r--r--Source/WebKit/mac/WebView/WebFullScreenController.mm593
-rw-r--r--Source/WebKit/mac/WebView/WebGeolocationPosition.h35
-rw-r--r--Source/WebKit/mac/WebView/WebGeolocationPosition.mm89
-rw-r--r--Source/WebKit/mac/WebView/WebHTMLRepresentation.h70
-rw-r--r--Source/WebKit/mac/WebView/WebHTMLRepresentation.mm570
-rw-r--r--Source/WebKit/mac/WebView/WebHTMLRepresentationPrivate.h36
-rw-r--r--Source/WebKit/mac/WebView/WebHTMLView.h63
-rw-r--r--Source/WebKit/mac/WebView/WebHTMLView.mm6180
-rw-r--r--Source/WebKit/mac/WebView/WebHTMLViewInternal.h69
-rw-r--r--Source/WebKit/mac/WebView/WebHTMLViewPrivate.h138
-rw-r--r--Source/WebKit/mac/WebView/WebHistoryDelegate.h44
-rw-r--r--Source/WebKit/mac/WebView/WebJSPDFDoc.mm76
-rw-r--r--Source/WebKit/mac/WebView/WebNavigationData.h46
-rw-r--r--Source/WebKit/mac/WebView/WebNavigationData.mm111
-rw-r--r--Source/WebKit/mac/WebView/WebNotification.h51
-rw-r--r--Source/WebKit/mac/WebView/WebNotification.mm185
-rw-r--r--Source/WebKit/mac/WebView/WebNotificationInternal.h43
-rw-r--r--Source/WebKit/mac/WebView/WebPDFDocumentExtras.h28
-rw-r--r--Source/WebKit/mac/WebView/WebPDFDocumentExtras.mm129
-rw-r--r--Source/WebKit/mac/WebView/WebPDFRepresentation.h35
-rw-r--r--Source/WebKit/mac/WebView/WebPDFRepresentation.mm166
-rw-r--r--Source/WebKit/mac/WebView/WebPDFView.h56
-rw-r--r--Source/WebKit/mac/WebView/WebPDFView.mm1512
-rw-r--r--Source/WebKit/mac/WebView/WebPolicyDelegate.h198
-rw-r--r--Source/WebKit/mac/WebView/WebPolicyDelegate.mm121
-rw-r--r--Source/WebKit/mac/WebView/WebPolicyDelegatePrivate.h52
-rw-r--r--Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h161
-rw-r--r--Source/WebKit/mac/WebView/WebPreferences.h447
-rw-r--r--Source/WebKit/mac/WebView/WebPreferences.mm1860
-rw-r--r--Source/WebKit/mac/WebView/WebPreferencesPrivate.h342
-rw-r--r--Source/WebKit/mac/WebView/WebRenderLayer.h53
-rw-r--r--Source/WebKit/mac/WebView/WebRenderLayer.mm280
-rw-r--r--Source/WebKit/mac/WebView/WebRenderNode.h51
-rw-r--r--Source/WebKit/mac/WebView/WebRenderNode.mm183
-rw-r--r--Source/WebKit/mac/WebView/WebResource.h87
-rw-r--r--Source/WebKit/mac/WebView/WebResource.mm453
-rw-r--r--Source/WebKit/mac/WebView/WebResourceInternal.h39
-rw-r--r--Source/WebKit/mac/WebView/WebResourceLoadDelegate.h158
-rw-r--r--Source/WebKit/mac/WebView/WebResourceLoadDelegatePrivate.h57
-rw-r--r--Source/WebKit/mac/WebView/WebResourcePrivate.h49
-rw-r--r--Source/WebKit/mac/WebView/WebScriptDebugDelegate.h139
-rw-r--r--Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm258
-rw-r--r--Source/WebKit/mac/WebView/WebScriptDebugger.h77
-rw-r--r--Source/WebKit/mac/WebView/WebScriptDebugger.mm234
-rw-r--r--Source/WebKit/mac/WebView/WebScriptWorld.h45
-rw-r--r--Source/WebKit/mac/WebView/WebScriptWorld.mm139
-rw-r--r--Source/WebKit/mac/WebView/WebScriptWorldInternal.h35
-rw-r--r--Source/WebKit/mac/WebView/WebSerializedJSValue.h38
-rw-r--r--Source/WebKit/mac/WebView/WebSerializedJSValue.mm114
-rw-r--r--Source/WebKit/mac/WebView/WebSerializedJSValuePrivate.h34
-rw-r--r--Source/WebKit/mac/WebView/WebTextCompletionController.h45
-rw-r--r--Source/WebKit/mac/WebView/WebTextCompletionController.mm326
-rw-r--r--Source/WebKit/mac/WebView/WebTextIterator.h97
-rw-r--r--Source/WebKit/mac/WebView/WebTextIterator.mm117
-rw-r--r--Source/WebKit/mac/WebView/WebUIDelegate.h569
-rw-r--r--Source/WebKit/mac/WebView/WebUIDelegatePrivate.h249
-rw-r--r--Source/WebKit/mac/WebView/WebView.h830
-rw-r--r--Source/WebKit/mac/WebView/WebView.mm6758
-rw-r--r--Source/WebKit/mac/WebView/WebViewData.h224
-rw-r--r--Source/WebKit/mac/WebView/WebViewData.mm147
-rw-r--r--Source/WebKit/mac/WebView/WebViewInternal.h221
-rw-r--r--Source/WebKit/mac/WebView/WebViewPrivate.h783
-rw-r--r--Source/WebKit/mac/icu/README4
-rw-r--r--Source/WebKit/mac/icu/unicode/localpointer.h300
-rw-r--r--Source/WebKit/mac/icu/unicode/parseerr.h92
-rw-r--r--Source/WebKit/mac/icu/unicode/platform.h401
-rw-r--r--Source/WebKit/mac/icu/unicode/ptypes.h92
-rw-r--r--Source/WebKit/mac/icu/unicode/putil.h193
-rw-r--r--Source/WebKit/mac/icu/unicode/uchar.h3168
-rw-r--r--Source/WebKit/mac/icu/unicode/uconfig.h231
-rw-r--r--Source/WebKit/mac/icu/unicode/uidna.h733
-rw-r--r--Source/WebKit/mac/icu/unicode/uiter.h707
-rw-r--r--Source/WebKit/mac/icu/unicode/umachine.h374
-rw-r--r--Source/WebKit/mac/icu/unicode/unorm.h561
-rw-r--r--Source/WebKit/mac/icu/unicode/unorm2.h391
-rw-r--r--Source/WebKit/mac/icu/unicode/urename.h2241
-rw-r--r--Source/WebKit/mac/icu/unicode/uscript.h326
-rw-r--r--Source/WebKit/mac/icu/unicode/ustring.h1696
-rw-r--r--Source/WebKit/mac/icu/unicode/utf.h236
-rw-r--r--Source/WebKit/mac/icu/unicode/utf16.h614
-rw-r--r--Source/WebKit/mac/icu/unicode/utf8.h683
-rw-r--r--Source/WebKit/mac/icu/unicode/utf_old.h1
-rw-r--r--Source/WebKit/mac/icu/unicode/utypes.h865
-rw-r--r--Source/WebKit/mac/icu/unicode/uvernum.h138
-rw-r--r--Source/WebKit/mac/icu/unicode/uversion.h195
-rw-r--r--Source/WebKit/qt/Api/qwebdatabase.cpp32
-rw-r--r--Source/WebKit/qt/Api/qwebelement.cpp161
-rw-r--r--Source/WebKit/qt/Api/qwebfullscreenvideohandler.h (renamed from Source/WebKit/gtk/WebCoreSupport/DeviceMotionClientGtk.h)41
-rw-r--r--Source/WebKit/qt/Api/qwebhistory.cpp167
-rw-r--r--Source/WebKit/qt/Api/qwebhistory.h6
-rw-r--r--Source/WebKit/qt/Api/qwebhistory_p.h15
-rw-r--r--Source/WebKit/qt/Api/qwebhistoryinterface.cpp8
-rw-r--r--Source/WebKit/qt/Api/qwebkitglobal.h4
-rw-r--r--Source/WebKit/qt/Api/qwebkitplatformplugin.h38
-rw-r--r--Source/WebKit/qt/Api/qwebpluginfactory.cpp2
-rw-r--r--Source/WebKit/qt/Api/qwebscriptworld.cpp2
-rw-r--r--Source/WebKit/qt/Api/qwebsecurityorigin.cpp30
-rw-r--r--Source/WebKit/qt/Api/qwebsettings.cpp142
-rw-r--r--Source/WebKit/qt/Api/qwebsettings.h5
-rw-r--r--Source/WebKit/qt/ChangeLog-2011-02-1629927
-rw-r--r--Source/WebKit/qt/Plugins/PluginPackageNone.cpp (renamed from Source/WebKit/win/WebCookieManagerCurl.cpp)49
-rw-r--r--Source/WebKit/qt/Plugins/PluginPackageQt.cpp241
-rw-r--r--Source/WebKit/qt/Plugins/PluginViewNone.cpp156
-rw-r--r--Source/WebKit/qt/Plugins/PluginViewQt.cpp824
-rw-r--r--Source/WebKit/qt/Plugins/QtX11ImageConversion.cpp73
-rw-r--r--Source/WebKit/qt/Plugins/QtX11ImageConversion.h (renamed from Source/WebKit/gtk/webkit/webkitdom.h)20
-rw-r--r--Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp165
-rw-r--r--Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h170
-rw-r--r--Source/WebKit/qt/WebCoreSupport/ContextMenuClientQt.cpp9
-rw-r--r--Source/WebKit/qt/WebCoreSupport/ContextMenuClientQt.h3
-rw-r--r--Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp24
-rw-r--r--Source/WebKit/qt/WebCoreSupport/DragClientQt.h12
-rw-r--r--Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp198
-rw-r--r--Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h8
-rw-r--r--Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp93
-rw-r--r--Source/WebKit/qt/WebCoreSupport/EditorClientQt.h126
-rw-r--r--Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp290
-rw-r--r--Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h248
-rw-r--r--Source/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp17
-rw-r--r--Source/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.h10
-rw-r--r--Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.cpp28
-rw-r--r--Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.h10
-rw-r--r--Source/WebKit/qt/WebCoreSupport/GeolocationClientQt.cpp4
-rw-r--r--Source/WebKit/qt/WebCoreSupport/GeolocationClientQt.h18
-rw-r--r--Source/WebKit/qt/WebCoreSupport/HistorySerialization.cpp313
-rw-r--r--Source/WebKit/qt/WebCoreSupport/HistorySerialization.h (renamed from Source/WebKit/mac/WebView/WebGeolocationPositionInternal.h)15
-rw-r--r--Source/WebKit/qt/WebCoreSupport/InitWebCoreQt.cpp18
-rw-r--r--Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp140
-rw-r--r--Source/WebKit/qt/WebCoreSupport/InspectorClientQt.h50
-rw-r--r--Source/WebKit/qt/WebCoreSupport/InspectorServerQt.cpp13
-rw-r--r--Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp20
-rw-r--r--Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h28
-rw-r--r--Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp66
-rw-r--r--Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.h44
-rw-r--r--Source/WebKit/qt/WebCoreSupport/PopupMenuQt.cpp24
-rw-r--r--Source/WebKit/qt/WebCoreSupport/PopupMenuQt.h6
-rw-r--r--Source/WebKit/qt/WebCoreSupport/ProgressTrackerClientQt.cpp87
-rw-r--r--Source/WebKit/qt/WebCoreSupport/ProgressTrackerClientQt.h (renamed from Source/WebKit/mac/WebCoreSupport/WebKitFullScreenListener.h)38
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp161
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h14
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp445
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h36
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp40
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h16
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QtPluginWidgetAdapter.h2
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QtPrintContext.h2
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QtTestSupport.cpp110
-rw-r--r--Source/WebKit/qt/WebCoreSupport/QtTestSupport.h (renamed from Source/WebKit/gtk/webkit/webkitwebwindowfeaturesprivate.h)25
-rw-r--r--Source/WebKit/qt/WebCoreSupport/SearchPopupMenuQt.cpp7
-rw-r--r--Source/WebKit/qt/WebCoreSupport/SearchPopupMenuQt.h10
-rw-r--r--Source/WebKit/qt/WebCoreSupport/TextCheckerClientQt.cpp10
-rw-r--r--Source/WebKit/qt/WebCoreSupport/TextCheckerClientQt.h8
-rw-r--r--Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.cpp53
-rw-r--r--Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.h15
-rw-r--r--Source/WebKit/qt/WebCoreSupport/UndoStepQt.cpp6
-rw-r--r--Source/WebKit/qt/WebCoreSupport/UndoStepQt.h2
-rw-r--r--Source/WebKit/qt/WebCoreSupport/VisitedLinkStoreQt.cpp (renamed from Source/WebKit/mac/Plugins/WebNetscapeContainerCheckContextInfo.mm)51
-rw-r--r--Source/WebKit/qt/WebCoreSupport/VisitedLinkStoreQt.h (renamed from Source/WebKit/mac/Storage/WebDatabaseManagerClient.h)28
-rw-r--r--Source/WebKit/qt/WebCoreSupport/WebDatabaseProviderQt.cpp (renamed from Source/WebKit/mac/WebView/WebJSPDFDoc.h)18
-rw-r--r--Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp2
-rw-r--r--Source/WebKit/qt/WebKitPrefix.cpp1
-rw-r--r--Source/WebKit/qt/WebKitPrefix.h10
-rw-r--r--Source/WebKit/qt/WebKitWidgetsPrefix.cpp1
-rw-r--r--Source/WebKit/qt/WebKitWidgetsPrefix.h13
-rw-r--r--Source/WebKit/qt/WidgetApi/qgraphicswebview.cpp10
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebframe_p.h28
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebinspector.cpp7
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebpage.cpp121
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebpage.h26
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebpage_p.cpp54
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebpage_p.h122
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebview.cpp8
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebviewaccessible.cpp5
-rw-r--r--Source/WebKit/qt/WidgetApi/qwebviewaccessible_p.h4
-rw-r--r--Source/WebKit/qt/WidgetSupport/DefaultFullScreenVideoHandler.h5
-rw-r--r--Source/WebKit/qt/WidgetSupport/PageClientQt.cpp50
-rw-r--r--Source/WebKit/qt/WidgetSupport/PageClientQt.h9
-rw-r--r--Source/WebKit/qt/WidgetSupport/QGraphicsWidgetPluginImpl.h12
-rw-r--r--Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.cpp8
-rw-r--r--Source/WebKit/qt/WidgetSupport/QWidgetPluginImpl.h12
-rw-r--r--Source/WebKit/qt/WidgetSupport/QtFallbackWebPopup.h2
-rw-r--r--Source/WebKit/qt/WidgetSupport/QtWebComboBox.h2
-rw-r--r--Source/WebKit/qt/declarative/declarative.pro18
-rw-r--r--Source/WebKit/qt/declarative/experimental/experimental.pri48
-rw-r--r--Source/WebKit/qt/declarative/plugin.cpp2
-rw-r--r--Source/WebKit/qt/declarative/public.pri50
-rw-r--r--Source/WebKit/qt/docs/qtwebkit.qdoc2
-rw-r--r--Source/WebKit/qt/docs/webkitsnippets/simple/simple.pro2
-rw-r--r--Source/WebKit/qt/examples/examples.pro2
-rw-r--r--Source/WebKit/qt/examples/platformplugin/WebPlugin.cpp6
-rw-r--r--Source/WebKit/qt/examples/platformplugin/WebPlugin.h4
-rw-r--r--Source/WebKit/qt/examples/platformplugin/platformplugin.pro36
-rw-r--r--Source/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h4
-rw-r--r--Source/WebKit/qt/tests/CMakeLists.txt67
-rw-r--r--Source/WebKit/qt/tests/MIMESniffing/MIMESniffing.pro19
-rw-r--r--Source/WebKit/qt/tests/benchmarks/loading/loading.pro2
-rw-r--r--Source/WebKit/qt/tests/benchmarks/painting/painting.pro2
-rw-r--r--Source/WebKit/qt/tests/benchmarks/webgl/webgl.pro3
-rw-r--r--Source/WebKit/qt/tests/cmake/CMakeLists.txt17
-rw-r--r--Source/WebKit/qt/tests/cmake/cmake.pro5
-rw-r--r--Source/WebKit/qt/tests/hybridPixmap/hybridPixmap.pro7
-rw-r--r--Source/WebKit/qt/tests/keyeddecoderqt/tst_keyeddecoderqt.cpp197
-rw-r--r--Source/WebKit/qt/tests/keyedencoderqt/tst_keyedencoderqt.cpp157
-rw-r--r--Source/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro6
-rw-r--r--Source/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp8
-rw-r--r--Source/WebKit/qt/tests/qobjectbridge/qobjectbridge.pro3
-rw-r--r--Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp13
-rw-r--r--Source/WebKit/qt/tests/qwebelement/qwebelement.pro2
-rw-r--r--Source/WebKit/qt/tests/qwebframe/qwebframe.pro3
-rw-r--r--Source/WebKit/qt/tests/qwebhistory/qwebhistory.pro2
-rw-r--r--Source/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro2
-rw-r--r--Source/WebKit/qt/tests/qwebinspector/qwebinspector.pro2
-rw-r--r--Source/WebKit/qt/tests/qwebpage/qwebpage.pro3
-rw-r--r--Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp4
-rw-r--r--Source/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro2
-rw-r--r--Source/WebKit/qt/tests/qwebsecurityorigin/qwebsecurityorigin.pro2
-rw-r--r--Source/WebKit/qt/tests/qwebview/qwebview.pro2
-rw-r--r--Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp4
-rw-r--r--Source/WebKit/qt/tests/resources/test.swfbin10085 -> 0 bytes
-rw-r--r--Source/WebKit/qt/tests/tests.pri22
-rw-r--r--Source/WebKit/scripts/generate-webkitversion.pl8
-rw-r--r--Source/WebKit/win/AccessibleBase.cpp1037
-rw-r--r--Source/WebKit/win/AccessibleBase.h144
-rw-r--r--Source/WebKit/win/AccessibleDocument.cpp66
-rw-r--r--Source/WebKit/win/AccessibleDocument.h41
-rw-r--r--Source/WebKit/win/AccessibleImage.cpp58
-rw-r--r--Source/WebKit/win/AccessibleImage.h41
-rw-r--r--Source/WebKit/win/CFDictionaryPropertyBag.cpp193
-rw-r--r--Source/WebKit/win/CFDictionaryPropertyBag.h60
-rw-r--r--Source/WebKit/win/COMEnumVariant.h180
-rw-r--r--Source/WebKit/win/COMPropertyBag.h237
-rw-r--r--Source/WebKit/win/COMVariantSetter.h194
-rw-r--r--Source/WebKit/win/ChangeLog-2009-06-1623819
-rw-r--r--Source/WebKit/win/CodeAnalysisConfig.h36
-rw-r--r--Source/WebKit/win/DOMCSSClasses.cpp169
-rw-r--r--Source/WebKit/win/DOMCSSClasses.h124
-rw-r--r--Source/WebKit/win/DOMCoreClasses.cpp1527
-rw-r--r--Source/WebKit/win/DOMCoreClasses.h928
-rw-r--r--Source/WebKit/win/DOMEventsClasses.cpp772
-rw-r--r--Source/WebKit/win/DOMEventsClasses.h975
-rw-r--r--Source/WebKit/win/DOMHTMLClasses.cpp1616
-rw-r--r--Source/WebKit/win/DOMHTMLClasses.h2619
-rw-r--r--Source/WebKit/win/DefaultDownloadDelegate.cpp246
-rw-r--r--Source/WebKit/win/DefaultDownloadDelegate.h72
-rw-r--r--Source/WebKit/win/DefaultPolicyDelegate.cpp193
-rw-r--r--Source/WebKit/win/DefaultPolicyDelegate.h75
-rw-r--r--Source/WebKit/win/ForEachCoClass.cpp43
-rw-r--r--Source/WebKit/win/ForEachCoClass.h94
-rw-r--r--Source/WebKit/win/FullscreenVideoController.cpp713
-rw-r--r--Source/WebKit/win/FullscreenVideoController.h184
-rw-r--r--Source/WebKit/win/Interfaces/AccessibilityDelegate.idl43
-rw-r--r--Source/WebKit/win/Interfaces/Accessible2/Accessible2.idl692
-rw-r--r--Source/WebKit/win/Interfaces/Accessible2/Accessible2_2.idl123
-rw-r--r--Source/WebKit/win/Interfaces/Accessible2/AccessibleApplication.idl121
-rw-r--r--Source/WebKit/win/Interfaces/Accessible2/AccessibleRelation.idl227
-rw-r--r--Source/WebKit/win/Interfaces/Accessible2/AccessibleStates.idl209
-rw-r--r--Source/WebKit/win/Interfaces/Accessible2/IA2CommonTypes.idl191
-rw-r--r--Source/WebKit/win/Interfaces/AccessibleComparable.idl46
-rw-r--r--Source/WebKit/win/Interfaces/DOMCSS.idl252
-rw-r--r--Source/WebKit/win/Interfaces/DOMCore.idl828
-rw-r--r--Source/WebKit/win/Interfaces/DOMEvents.idl478
-rw-r--r--Source/WebKit/win/Interfaces/DOMExtensions.idl48
-rw-r--r--Source/WebKit/win/Interfaces/DOMHTML.idl950
-rw-r--r--Source/WebKit/win/Interfaces/DOMPrivate.idl141
-rw-r--r--Source/WebKit/win/Interfaces/DOMRange.idl188
-rw-r--r--Source/WebKit/win/Interfaces/DOMWindow.idl89
-rw-r--r--Source/WebKit/win/Interfaces/IGEN_DOMObject.idl42
-rw-r--r--Source/WebKit/win/Interfaces/IWebArchive.idl108
-rw-r--r--Source/WebKit/win/Interfaces/IWebBackForwardList.idl175
-rw-r--r--Source/WebKit/win/Interfaces/IWebBackForwardListPrivate.idl43
-rw-r--r--Source/WebKit/win/Interfaces/IWebCache.idl44
-rw-r--r--Source/WebKit/win/Interfaces/IWebCoreStatistics.idl56
-rw-r--r--Source/WebKit/win/Interfaces/IWebDataSource.idl218
-rw-r--r--Source/WebKit/win/Interfaces/IWebDatabaseManager.idl64
-rw-r--r--Source/WebKit/win/Interfaces/IWebDesktopNotificationsDelegate.idl114
-rw-r--r--Source/WebKit/win/Interfaces/IWebDocument.idl245
-rw-r--r--Source/WebKit/win/Interfaces/IWebDownload.idl158
-rw-r--r--Source/WebKit/win/Interfaces/IWebEditingDelegate.idl190
-rw-r--r--Source/WebKit/win/Interfaces/IWebEmbeddedView.idl46
-rw-r--r--Source/WebKit/win/Interfaces/IWebError.idl177
-rw-r--r--Source/WebKit/win/Interfaces/IWebErrorPrivate.idl47
-rw-r--r--Source/WebKit/win/Interfaces/IWebFormDelegate.idl97
-rw-r--r--Source/WebKit/win/Interfaces/IWebFrame.idl271
-rw-r--r--Source/WebKit/win/Interfaces/IWebFrameLoadDelegate.idl205
-rw-r--r--Source/WebKit/win/Interfaces/IWebFrameLoadDelegatePrivate.idl55
-rw-r--r--Source/WebKit/win/Interfaces/IWebFrameLoadDelegatePrivate2.idl56
-rw-r--r--Source/WebKit/win/Interfaces/IWebFramePrivate.idl122
-rw-r--r--Source/WebKit/win/Interfaces/IWebFrameView.idl78
-rw-r--r--Source/WebKit/win/Interfaces/IWebGeolocationPolicyListener.idl40
-rw-r--r--Source/WebKit/win/Interfaces/IWebGeolocationPosition.idl39
-rw-r--r--Source/WebKit/win/Interfaces/IWebGeolocationProvider.idl44
-rw-r--r--Source/WebKit/win/Interfaces/IWebHTMLRepresentation.idl111
-rw-r--r--Source/WebKit/win/Interfaces/IWebHTTPURLResponse.idl44
-rw-r--r--Source/WebKit/win/Interfaces/IWebHistory.idl168
-rw-r--r--Source/WebKit/win/Interfaces/IWebHistoryDelegate.idl49
-rw-r--r--Source/WebKit/win/Interfaces/IWebHistoryItem.idl125
-rw-r--r--Source/WebKit/win/Interfaces/IWebHistoryItemPrivate.idl69
-rw-r--r--Source/WebKit/win/Interfaces/IWebHistoryPrivate.idl41
-rw-r--r--Source/WebKit/win/Interfaces/IWebIconDatabase.idl174
-rw-r--r--Source/WebKit/win/Interfaces/IWebInspector.idl60
-rw-r--r--Source/WebKit/win/Interfaces/IWebInspectorPrivate.idl43
-rw-r--r--Source/WebKit/win/Interfaces/IWebJavaScriptCollector.idl43
-rw-r--r--Source/WebKit/win/Interfaces/IWebKitStatistics.idl47
-rw-r--r--Source/WebKit/win/Interfaces/IWebMutableURLRequest.idl99
-rw-r--r--Source/WebKit/win/Interfaces/IWebMutableURLRequestPrivate.idl53
-rw-r--r--Source/WebKit/win/Interfaces/IWebNavigationData.idl51
-rw-r--r--Source/WebKit/win/Interfaces/IWebNotification.idl59
-rw-r--r--Source/WebKit/win/Interfaces/IWebNotificationCenter.idl64
-rw-r--r--Source/WebKit/win/Interfaces/IWebNotificationObserver.idl46
-rw-r--r--Source/WebKit/win/Interfaces/IWebPolicyDelegate.idl219
-rw-r--r--Source/WebKit/win/Interfaces/IWebPolicyDelegatePrivate.idl44
-rw-r--r--Source/WebKit/win/Interfaces/IWebPreferences.idl216
-rw-r--r--Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl145
-rw-r--r--Source/WebKit/win/Interfaces/IWebResource.idl93
-rw-r--r--Source/WebKit/win/Interfaces/IWebResourceLoadDelegate.idl182
-rw-r--r--Source/WebKit/win/Interfaces/IWebResourceLoadDelegatePrivate.idl64
-rw-r--r--Source/WebKit/win/Interfaces/IWebResourceLoadDelegatePrivate2.idl52
-rw-r--r--Source/WebKit/win/Interfaces/IWebScriptObject.idl137
-rw-r--r--Source/WebKit/win/Interfaces/IWebScriptWorld.idl41
-rw-r--r--Source/WebKit/win/Interfaces/IWebScrollBarDelegatePrivate.idl43
-rw-r--r--Source/WebKit/win/Interfaces/IWebScrollBarPrivate.idl72
-rw-r--r--Source/WebKit/win/Interfaces/IWebSecurityOrigin.idl50
-rw-r--r--Source/WebKit/win/Interfaces/IWebSerializedJSValue.idl40
-rw-r--r--Source/WebKit/win/Interfaces/IWebSerializedJSValuePrivate.idl45
-rw-r--r--Source/WebKit/win/Interfaces/IWebTextRenderer.idl43
-rw-r--r--Source/WebKit/win/Interfaces/IWebUIDelegate.idl758
-rw-r--r--Source/WebKit/win/Interfaces/IWebUIDelegate2.idl56
-rw-r--r--Source/WebKit/win/Interfaces/IWebUIDelegatePrivate.idl125
-rw-r--r--Source/WebKit/win/Interfaces/IWebURLAuthenticationChallenge.idl224
-rw-r--r--Source/WebKit/win/Interfaces/IWebURLRequest.idl115
-rw-r--r--Source/WebKit/win/Interfaces/IWebURLResponse.idl71
-rw-r--r--Source/WebKit/win/Interfaces/IWebURLResponsePrivate.idl44
-rw-r--r--Source/WebKit/win/Interfaces/IWebUndoManager.idl314
-rw-r--r--Source/WebKit/win/Interfaces/IWebUndoTarget.idl40
-rw-r--r--Source/WebKit/win/Interfaces/IWebUserContentURLPattern.idl44
-rw-r--r--Source/WebKit/win/Interfaces/IWebView.idl1241
-rw-r--r--Source/WebKit/win/Interfaces/IWebViewPrivate.idl293
-rw-r--r--Source/WebKit/win/Interfaces/IWebWorkersPrivate.idl52
-rw-r--r--Source/WebKit/win/Interfaces/JavaScriptCoreAPITypes.idl40
-rw-r--r--Source/WebKit/win/Interfaces/WebKit.idl305
-rw-r--r--Source/WebKit/win/Interfaces/WebScrollbarTypes.idl76
-rw-r--r--Source/WebKit/win/MarshallingHelpers.cpp278
-rw-r--r--Source/WebKit/win/MarshallingHelpers.h72
-rw-r--r--Source/WebKit/win/MemoryStream.cpp259
-rw-r--r--Source/WebKit/win/MemoryStream.h105
-rw-r--r--Source/WebKit/win/Plugins/PaintHooks.asm50
-rw-r--r--Source/WebKit/win/Plugins/PluginDatabase.cpp684
-rw-r--r--Source/WebKit/win/Plugins/PluginDatabase.h118
-rw-r--r--Source/WebKit/win/Plugins/PluginDatabaseWin.cpp399
-rw-r--r--Source/WebKit/win/Plugins/PluginDebug.cpp179
-rw-r--r--Source/WebKit/win/Plugins/PluginDebug.h (renamed from Source/WebKit/win/Interfaces/IWebCookieManager.idl)55
-rw-r--r--Source/WebKit/win/Plugins/PluginMainThreadScheduler.cpp107
-rw-r--r--Source/WebKit/win/Plugins/PluginMainThreadScheduler.h86
-rw-r--r--Source/WebKit/win/Plugins/PluginMessageThrottlerWin.cpp151
-rw-r--r--Source/WebKit/win/Plugins/PluginMessageThrottlerWin.h (renamed from Source/WebKit/mac/History/HistoryPropertyList.h)73
-rw-r--r--Source/WebKit/win/Plugins/PluginPackage.cpp488
-rw-r--r--Source/WebKit/win/Plugins/PluginPackage.h150
-rw-r--r--Source/WebKit/win/Plugins/PluginPackageWin.cpp335
-rw-r--r--Source/WebKit/win/Plugins/PluginQuirkSet.h (renamed from Source/WebKit/mac/History/WebHistoryInternal.h)44
-rw-r--r--Source/WebKit/win/Plugins/PluginStream.cpp488
-rw-r--r--Source/WebKit/win/Plugins/PluginStream.h125
-rw-r--r--Source/WebKit/win/Plugins/PluginView.cpp1497
-rw-r--r--Source/WebKit/win/Plugins/PluginView.h465
-rw-r--r--Source/WebKit/win/Plugins/PluginViewWin.cpp1075
-rw-r--r--Source/WebKit/win/Plugins/npapi.cpp214
-rw-r--r--Source/WebKit/win/ProgIDMacros.h37
-rw-r--r--Source/WebKit/win/WebActionPropertyBag.cpp171
-rw-r--r--Source/WebKit/win/WebActionPropertyBag.h65
-rw-r--r--Source/WebKit/win/WebArchive.cpp154
-rw-r--r--Source/WebKit/win/WebArchive.h84
-rw-r--r--Source/WebKit/win/WebBackForwardList.cpp307
-rw-r--r--Source/WebKit/win/WebBackForwardList.h115
-rw-r--r--Source/WebKit/win/WebCache.cpp231
-rw-r--r--Source/WebKit/win/WebCache.h62
-rw-r--r--Source/WebKit/win/WebCachedFramePlatformData.h45
-rw-r--r--Source/WebKit/win/WebCookieManagerCFNet.cpp52
-rw-r--r--Source/WebKit/win/WebCoreStatistics.cpp222
-rw-r--r--Source/WebKit/win/WebCoreStatistics.h75
-rw-r--r--Source/WebKit/win/WebCoreSupport/EmbeddedWidget.cpp237
-rw-r--r--Source/WebKit/win/WebCoreSupport/EmbeddedWidget.h86
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp875
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebChromeClient.h188
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebContextMenuClient.cpp148
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebContextMenuClient.h51
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.cpp218
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.h69
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebDragClient.cpp176
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebDragClient.h45
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp806
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebEditorClient.h125
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp902
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h141
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp116
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.h60
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebGeolocationClient.cpp101
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebInspectorClient.cpp567
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebInspectorClient.h148
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.cpp66
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.h330
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.cpp167
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.h75
-rw-r--r--Source/WebKit/win/WebDataSource.cpp317
-rw-r--r--Source/WebKit/win/WebDataSource.h124
-rw-r--r--Source/WebKit/win/WebDatabaseManager.cpp432
-rw-r--r--Source/WebKit/win/WebDatabaseManager.h94
-rw-r--r--Source/WebKit/win/WebDocumentLoader.cpp100
-rw-r--r--Source/WebKit/win/WebDocumentLoader.h49
-rw-r--r--Source/WebKit/win/WebDownload.cpp167
-rw-r--r--Source/WebKit/win/WebDownload.h157
-rw-r--r--Source/WebKit/win/WebDownloadCFNet.cpp547
-rw-r--r--Source/WebKit/win/WebDownloadCurl.cpp212
-rw-r--r--Source/WebKit/win/WebDropSource.cpp157
-rw-r--r--Source/WebKit/win/WebDropSource.h60
-rw-r--r--Source/WebKit/win/WebElementPropertyBag.cpp204
-rw-r--r--Source/WebKit/win/WebElementPropertyBag.h66
-rw-r--r--Source/WebKit/win/WebError.cpp239
-rw-r--r--Source/WebKit/win/WebError.h97
-rw-r--r--Source/WebKit/win/WebFrame.cpp2612
-rw-r--r--Source/WebKit/win/WebFrame.h414
-rw-r--r--Source/WebKit/win/WebFramePolicyListener.cpp132
-rw-r--r--Source/WebKit/win/WebFramePolicyListener.h68
-rw-r--r--Source/WebKit/win/WebGeolocationPolicyListener.cpp97
-rw-r--r--Source/WebKit/win/WebGeolocationPolicyListener.h59
-rw-r--r--Source/WebKit/win/WebGeolocationPosition.cpp98
-rw-r--r--Source/WebKit/win/WebGeolocationPosition.h60
-rw-r--r--Source/WebKit/win/WebHTMLRepresentation.cpp319
-rw-r--r--Source/WebKit/win/WebHTMLRepresentation.h136
-rw-r--r--Source/WebKit/win/WebHistory.cpp786
-rw-r--r--Source/WebKit/win/WebHistory.h154
-rw-r--r--Source/WebKit/win/WebHistoryItem.cpp643
-rw-r--r--Source/WebKit/win/WebHistoryItem.h119
-rw-r--r--Source/WebKit/win/WebIconDatabase.cpp420
-rw-r--r--Source/WebKit/win/WebIconDatabase.h135
-rw-r--r--Source/WebKit/win/WebInspector.cpp279
-rw-r--r--Source/WebKit/win/WebInspector.h82
-rw-r--r--Source/WebKit/win/WebJavaScriptCollector.cpp117
-rw-r--r--Source/WebKit/win/WebJavaScriptCollector.h58
-rw-r--r--Source/WebKit/win/WebKit.resources/Info.plist24
-rw-r--r--Source/WebKit/win/WebKit.resources/WebKit.rc52
-rw-r--r--Source/WebKit/win/WebKit.resources/deleteButton.pngbin2231 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/deleteButtonPressed.pngbin2323 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/fsVideoAudioVolumeHigh.pngbin3026 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/fsVideoAudioVolumeLow.pngbin2913 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/fsVideoExitFullscreen.pngbin2940 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/fsVideoPause.pngbin2832 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/fsVideoPlay.pngbin2906 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/missingImage.pngbin456 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/nullplugin.pngbin1286 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/panEastCursor.pngbin123 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/panIcon.pngbin175 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/panNorthCursor.pngbin125 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/panNorthEastCursor.pngbin209 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/panNorthWestCursor.pngbin174 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/panSouthCursor.pngbin128 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/panSouthEastCursor.pngbin166 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/panSouthWestCursor.pngbin177 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/panWestCursor.pngbin122 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/searchCancel.pngbin908 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/searchCancelPressed.pngbin895 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/searchMagnifier.pngbin1028 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/searchMagnifierResults.pngbin1224 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/textAreaResizeCorner.pngbin195 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/verticalTextCursor.pngbin120 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/zoomInCursor.pngbin199 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKit.resources/zoomOutCursor.pngbin182 -> 0 bytes
-rw-r--r--Source/WebKit/win/WebKitCOMAPI.cpp74
-rw-r--r--Source/WebKit/win/WebKitCOMAPI.h39
-rw-r--r--Source/WebKit/win/WebKitClassFactory.cpp197
-rw-r--r--Source/WebKit/win/WebKitClassFactory.h51
-rw-r--r--Source/WebKit/win/WebKitDLL.cpp208
-rw-r--r--Source/WebKit/win/WebKitDLL.h59
-rw-r--r--Source/WebKit/win/WebKitGraphics.cpp177
-rw-r--r--Source/WebKit/win/WebKitGraphics.h79
-rw-r--r--Source/WebKit/win/WebKitLogging.cpp106
-rw-r--r--Source/WebKit/win/WebKitLogging.h66
-rw-r--r--Source/WebKit/win/WebKitPrefix.cpp28
-rw-r--r--Source/WebKit/win/WebKitPrefix.h51
-rw-r--r--Source/WebKit/win/WebKitStatistics.cpp154
-rw-r--r--Source/WebKit/win/WebKitStatistics.h73
-rw-r--r--Source/WebKit/win/WebKitStatisticsPrivate.h33
-rw-r--r--Source/WebKit/win/WebKitSystemBits.cpp53
-rw-r--r--Source/WebKit/win/WebKitSystemBits.h37
-rw-r--r--Source/WebKit/win/WebLocalizableStrings.cpp250
-rw-r--r--Source/WebKit/win/WebLocalizableStrings.h73
-rw-r--r--Source/WebKit/win/WebMutableURLRequest.cpp413
-rw-r--r--Source/WebKit/win/WebMutableURLRequest.h177
-rw-r--r--Source/WebKit/win/WebNavigationData.cpp142
-rw-r--r--Source/WebKit/win/WebNavigationData.h77
-rw-r--r--Source/WebKit/win/WebNodeHighlight.cpp301
-rw-r--r--Source/WebKit/win/WebNodeHighlight.h73
-rw-r--r--Source/WebKit/win/WebNotification.cpp146
-rw-r--r--Source/WebKit/win/WebNotification.h67
-rw-r--r--Source/WebKit/win/WebNotificationCenter.cpp218
-rw-r--r--Source/WebKit/win/WebNotificationCenter.h80
-rw-r--r--Source/WebKit/win/WebPreferenceKeysPrivate.h167
-rw-r--r--Source/WebKit/win/WebPreferences.cpp1762
-rw-r--r--Source/WebKit/win/WebPreferences.h536
-rw-r--r--Source/WebKit/win/WebResource.cpp166
-rw-r--r--Source/WebKit/win/WebResource.h82
-rw-r--r--Source/WebKit/win/WebScriptObject.cpp141
-rw-r--r--Source/WebKit/win/WebScriptObject.h78
-rw-r--r--Source/WebKit/win/WebScriptWorld.cpp144
-rw-r--r--Source/WebKit/win/WebScriptWorld.h63
-rw-r--r--Source/WebKit/win/WebScrollBar.cpp311
-rw-r--r--Source/WebKit/win/WebScrollBar.h142
-rw-r--r--Source/WebKit/win/WebSecurityOrigin.cpp168
-rw-r--r--Source/WebKit/win/WebSecurityOrigin.h78
-rw-r--r--Source/WebKit/win/WebSerializedJSValue.cpp129
-rw-r--r--Source/WebKit/win/WebSerializedJSValue.h61
-rw-r--r--Source/WebKit/win/WebTextRenderer.cpp89
-rw-r--r--Source/WebKit/win/WebTextRenderer.h56
-rw-r--r--Source/WebKit/win/WebURLAuthenticationChallenge.cpp231
-rw-r--r--Source/WebKit/win/WebURLAuthenticationChallenge.h88
-rw-r--r--Source/WebKit/win/WebURLAuthenticationChallengeSender.cpp101
-rw-r--r--Source/WebKit/win/WebURLAuthenticationChallengeSender.h71
-rw-r--r--Source/WebKit/win/WebURLAuthenticationChallengeSenderCFNet.cpp77
-rw-r--r--Source/WebKit/win/WebURLAuthenticationChallengeSenderCurl.cpp77
-rw-r--r--Source/WebKit/win/WebURLCredential.cpp169
-rw-r--r--Source/WebKit/win/WebURLCredential.h74
-rw-r--r--Source/WebKit/win/WebURLProtectionSpace.cpp283
-rw-r--r--Source/WebKit/win/WebURLProtectionSpace.h95
-rw-r--r--Source/WebKit/win/WebURLResponse.cpp488
-rw-r--r--Source/WebKit/win/WebURLResponse.h105
-rw-r--r--Source/WebKit/win/WebUserContentURLPattern.cpp130
-rw-r--r--Source/WebKit/win/WebUserContentURLPattern.h60
-rw-r--r--Source/WebKit/win/WebView.cpp7086
-rw-r--r--Source/WebKit/win/WebView.h1176
-rw-r--r--Source/WebKit/win/WebWorkersPrivate.cpp104
-rw-r--r--Source/WebKit/win/WebWorkersPrivate.h56
-rw-r--r--Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp408
-rw-r--r--Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h179
-rw-r--r--Source/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp91
-rw-r--r--Source/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h57
-rw-r--r--Source/WebKit/wince/WebCoreSupport/DragClientWinCE.cpp66
-rw-r--r--Source/WebKit/wince/WebCoreSupport/DragClientWinCE.h47
-rw-r--r--Source/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp522
-rw-r--r--Source/WebKit/wince/WebCoreSupport/EditorClientWinCE.h116
-rw-r--r--Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp637
-rw-r--r--Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h200
-rw-r--r--Source/WebKit/wince/WebCoreSupport/FrameNetworkingContextWinCE.cpp57
-rw-r--r--Source/WebKit/wince/WebCoreSupport/FrameNetworkingContextWinCE.h51
-rw-r--r--Source/WebKit/wince/WebCoreSupport/InspectorClientWinCE.cpp95
-rw-r--r--Source/WebKit/wince/WebCoreSupport/InspectorClientWinCE.h62
-rw-r--r--Source/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.cpp163
-rw-r--r--Source/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.h74
-rw-r--r--Source/WebKit/wince/WebView.cpp461
-rw-r--r--Source/WebKit/wince/WebView.h101
1410 files changed, 14782 insertions, 509197 deletions
diff --git a/Source/WebKit/CMakeLists.txt b/Source/WebKit/CMakeLists.txt
index 838d4f0a1..cfdb79965 100644
--- a/Source/WebKit/CMakeLists.txt
+++ b/Source/WebKit/CMakeLists.txt
@@ -1,109 +1,79 @@
+cmake_minimum_required(VERSION 2.8.12)
+include(WebKitCommon)
+
+# TODO: Unify usage of prefix headers and PCH with WebCore and WebKit2
+macro(ADD_WEBKIT_PREFIX_HEADER _target _header)
+ get_target_property(OLD_COMPILE_FLAGS ${_target} COMPILE_FLAGS)
+ if (${OLD_COMPILE_FLAGS} STREQUAL "OLD_COMPILE_FLAGS-NOTFOUND")
+ set(OLD_COMPILE_FLAGS "")
+ endif ()
+ set_target_properties(${_target} PROPERTIES COMPILE_FLAGS "${OLD_COMPILE_FLAGS} -include ${_header}")
+endmacro()
+
+set(WebKit_SOURCES
+ Storage/StorageAreaImpl.cpp
+ Storage/StorageAreaSync.cpp
+ Storage/StorageNamespaceImpl.cpp
+ Storage/StorageSyncManager.cpp
+ Storage/StorageThread.cpp
+ Storage/StorageTracker.cpp
+ Storage/WebDatabaseProvider.cpp
+ Storage/WebStorageNamespaceProvider.cpp
+
+ WebCoreSupport/WebResourceLoadScheduler.cpp
+ WebCoreSupport/WebViewGroup.cpp
+)
+
set(WebKit_INCLUDE_DIRECTORIES
- "${CMAKE_SOURCE_DIR}/Source"
- "${JAVASCRIPTCORE_DIR}/ForwardingHeaders"
- "${WEBKIT_DIR}"
- "${WEBCORE_DIR}"
- "${WEBCORE_DIR}/Modules/filesystem"
- "${WEBCORE_DIR}/Modules/networkinfo"
- "${WEBCORE_DIR}/Modules/webdatabase"
- "${WEBCORE_DIR}/accessibility"
- "${WEBCORE_DIR}/bindings/generic"
- "${WEBCORE_DIR}/bindings/js"
- "${WEBCORE_DIR}/bindings"
- "${WEBCORE_DIR}/bridge"
- "${WEBCORE_DIR}/bridge/c"
- "${WEBCORE_DIR}/bridge/jsc"
- "${WEBCORE_DIR}/css"
- "${WEBCORE_DIR}/dom"
- "${WEBCORE_DIR}/dom/default"
- "${WEBCORE_DIR}/editing"
- "${WEBCORE_DIR}/history"
- "${WEBCORE_DIR}/html"
- "${WEBCORE_DIR}/html/forms"
- "${WEBCORE_DIR}/html/shadow"
- "${WEBCORE_DIR}/inspector"
- "${WEBCORE_DIR}/loader"
- "${WEBCORE_DIR}/loader/appcache"
- "${WEBCORE_DIR}/loader/icon"
- "${WEBCORE_DIR}/loader/cache"
- "${WEBCORE_DIR}/page"
- "${WEBCORE_DIR}/page/animation"
- "${WEBCORE_DIR}/platform"
- "${WEBCORE_DIR}/platform/animation"
- "${WEBCORE_DIR}/platform/graphics"
- "${WEBCORE_DIR}/platform/graphics/filters"
- "${WEBCORE_DIR}/platform/graphics/harfbuzz"
- "${WEBCORE_DIR}/platform/graphics/harfbuzz/ng"
- "${WEBCORE_DIR}/platform/graphics/opengl"
- "${WEBCORE_DIR}/platform/graphics/transforms"
- "${WEBCORE_DIR}/platform/network"
- "${WEBCORE_DIR}/platform/sql"
- "${WEBCORE_DIR}/platform/text"
- "${WEBCORE_DIR}/plugins"
- "${WEBCORE_DIR}/rendering"
- "${WEBCORE_DIR}/rendering/shapes"
- "${WEBCORE_DIR}/rendering/style"
- "${WEBCORE_DIR}/storage"
- "${WEBCORE_DIR}/svg"
- "${WEBCORE_DIR}/svg/graphics"
- "${WEBCORE_DIR}/svg/properties"
- "${WEBCORE_DIR}/workers"
- "${JAVASCRIPTCORE_DIR}"
- "${JAVASCRIPTCORE_DIR}/ForwardingHeaders"
- "${JAVASCRIPTCORE_DIR}/API"
- "${JAVASCRIPTCORE_DIR}/assembler"
- "${JAVASCRIPTCORE_DIR}/bytecode"
- "${JAVASCRIPTCORE_DIR}/bytecompiler"
- "${JAVASCRIPTCORE_DIR}/disassembler"
- "${JAVASCRIPTCORE_DIR}/dfg"
- "${JAVASCRIPTCORE_DIR}/heap"
- "${JAVASCRIPTCORE_DIR}/debugger"
- "${JAVASCRIPTCORE_DIR}/interpreter"
- "${JAVASCRIPTCORE_DIR}/jit"
- "${JAVASCRIPTCORE_DIR}/llint"
- "${JAVASCRIPTCORE_DIR}/parser"
- "${JAVASCRIPTCORE_DIR}/profiler"
- "${JAVASCRIPTCORE_DIR}/runtime"
- "${WTF_DIR}"
- "${DERIVED_SOURCES_WEBCORE_DIR}"
+ Storage
+ WebCoreSupport
+
"${CMAKE_BINARY_DIR}"
+ "${CMAKE_SOURCE_DIR}/Source"
+ "${DERIVED_SOURCES_DIR}"
+ "${DERIVED_SOURCES_DIR}/ForwardingHeaders"
+ "${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore"
+ "${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebCore"
+ "${DERIVED_SOURCES_DIR}/ForwardingHeaders/WebKitLegacy"
)
-if (WTF_USE_SOUP)
- list(APPEND WebKit_INCLUDE_DIRECTORIES "${WEBCORE_DIR}/platform/network/soup")
-endif ()
-
-if (WTF_USE_CURL)
- list(APPEND WebKit_INCLUDE_DIRECTORIES "${WEBCORE_DIR}/platform/network/curl")
-endif ()
+set(WebKit_SYSTEM_INCLUDE_DIRECTORIES
+ "${ICU_INCLUDE_DIRS}"
+)
set(WebKit_LIBRARIES
- JavaScriptCore
- WTF
- WebCore
+ PRIVATE JavaScriptCore${DEBUG_SUFFIX}
+ PRIVATE WTF${DEBUG_SUFFIX}
+ PRIVATE WebCore${DEBUG_SUFFIX}
)
WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
-add_definitions(-DBUILDING_WebKit)
-include_directories(${WebKit_INCLUDE_DIRECTORIES})
-add_library(WebKit ${WebKit_LIBRARY_TYPE} ${WebKit_SOURCES})
-add_dependencies(WebKit WebCore)
-target_link_libraries(WebKit ${WebKit_LIBRARIES})
-set_target_properties(WebKit PROPERTIES FOLDER "WebKit")
-set_target_properties(WebKit PROPERTIES LINK_INTERFACE_LIBRARIES "")
-
-if (WebKit_LINK_FLAGS)
- ADD_TARGET_PROPERTIES(WebKit LINK_FLAGS "${WebKit_LINK_FLAGS}")
+if (MSVC)
+ if (NOT ${PORT} STREQUAL "Qt")
+ ADD_PRECOMPILED_HEADER("WebKitPrefix.h" "win/WebKitPrefix.cpp" WebKit_SOURCES)
+ list(APPEND WebKit_SOURCES win/WebKit.resources/WebKit.rc)
+ add_definitions(/DWEBKIT_EXPORTS /DFRAMEWORK_NAME=WebKit)
+ else ()
+ ADD_PRECOMPILED_HEADER("WebKitPrefix.h" "qt/WebKitPrefix.cpp" WebKit_SOURCES)
+ endif ()
endif ()
-if (VERSION_SCRIPT)
- ADD_TARGET_PROPERTIES(WebKit LINK_FLAGS "${VERSION_SCRIPT}")
-endif ()
+set(WebKit_PRIVATE_HEADERS_LOCATION Headers/${PROJECT_VERSION}/QtWebKit/Private)
-if (WebKit_OUTPUT_NAME)
- set_target_properties(WebKit PROPERTIES OUTPUT_NAME ${WebKit_OUTPUT_NAME})
-endif ()
+WEBKIT_FRAMEWORK(WebKit)
set_target_properties(WebKit PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
-install(TARGETS WebKit DESTINATION "${LIB_INSTALL_DIR}")
+install(TARGETS WebKit EXPORT WebKitTargets
+ DESTINATION "${LIB_INSTALL_DIR}"
+ INCLUDES DESTINATION "${KDE_INSTALL_INCLUDEDIR}/QtWebKitWidgets"
+)
+
+add_dependencies(WebKit WebCore)
+if (WIN32)
+ add_dependencies(WebKit WebKitGUID)
+endif ()
+
+if (NOT MSVC AND ${PORT} STREQUAL "Qt")
+ ADD_WEBKIT_PREFIX_HEADER(WebKit "${WEBKIT_DIR}/qt/WebKitPrefix.h")
+endif ()
diff --git a/Source/WebKit/English.lproj/WebJavaScriptTextInputPanel.nib/designable.nib b/Source/WebKit/English.lproj/WebJavaScriptTextInputPanel.nib/designable.nib
deleted file mode 100644
index d6cb2097c..000000000
--- a/Source/WebKit/English.lproj/WebJavaScriptTextInputPanel.nib/designable.nib
+++ /dev/null
@@ -1,440 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
- <data>
- <int key="IBDocument.SystemTarget">1050</int>
- <string key="IBDocument.SystemVersion">11C57</string>
- <string key="IBDocument.InterfaceBuilderVersion">1938</string>
- <string key="IBDocument.AppKitVersion">1138.21</string>
- <string key="IBDocument.HIToolboxVersion">567.00</string>
- <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="NS.object.0">1938</string>
- </object>
- <array key="IBDocument.IntegratedClassDependencies">
- <string>NSTextField</string>
- <string>NSView</string>
- <string>NSWindowTemplate</string>
- <string>NSTextFieldCell</string>
- <string>NSButtonCell</string>
- <string>NSButton</string>
- <string>NSCustomObject</string>
- </array>
- <array key="IBDocument.PluginDependencies">
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- </array>
- <object class="NSMutableDictionary" key="IBDocument.Metadata">
- <string key="NS.key.0">PluginDependencyRecalculationVersion</string>
- <integer value="1" key="NS.object.0"/>
- </object>
- <array class="NSMutableArray" key="IBDocument.RootObjects" id="301070375">
- <object class="NSCustomObject" id="1016705975">
- <string key="NSClassName">WebJavaScriptTextInputPanel</string>
- </object>
- <object class="NSCustomObject" id="5139151">
- <string key="NSClassName">FirstResponder</string>
- </object>
- <object class="NSCustomObject" id="438418066">
- <string key="NSClassName">NSApplication</string>
- </object>
- <object class="NSWindowTemplate" id="9818130">
- <int key="NSWindowStyleMask">1</int>
- <int key="NSWindowBacking">2</int>
- <string key="NSWindowRect">{{531, 773}, {426, 161}}</string>
- <int key="NSWTFlags">1881669632</int>
- <string key="NSWindowTitle">JavaScript</string>
- <string key="NSWindowClass">WebNonBlockingPanel</string>
- <object class="NSMutableString" key="NSViewClass">
- <characters key="NS.bytes">View</characters>
- </object>
- <nil key="NSUserInterfaceItemIdentifier"/>
- <string key="NSWindowContentMinSize">{94, 7}</string>
- <object class="NSView" key="NSWindowView" id="776027458">
- <reference key="NSNextResponder"/>
- <int key="NSvFlags">256</int>
- <array class="NSMutableArray" key="NSSubviews">
- <object class="NSButton" id="707055723">
- <reference key="NSNextResponder" ref="776027458"/>
- <int key="NSvFlags">289</int>
- <string key="NSFrame">{{232, 11}, {90, 34}}</string>
- <reference key="NSSuperview" ref="776027458"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="547100070"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="629849992">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">134217728</int>
- <string key="NSContents">Cancel</string>
- <object class="NSFont" key="NSSupport" id="843310790">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">13</double>
- <int key="NSfFlags">1558</int>
- </object>
- <reference key="NSControlView" ref="707055723"/>
- <int key="NSButtonFlags">-2038284033</int>
- <int key="NSButtonFlags2">1</int>
- <object class="NSFont" key="NSAlternateImage" id="371630585">
- <string key="NSName">Helvetica</string>
- <double key="NSSize">13</double>
- <int key="NSfFlags">16</int>
- </object>
- <string key="NSAlternateContents"/>
- <string type="base64-UTF8" key="NSKeyEquivalent">Gw</string>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
- </object>
- </object>
- <object class="NSButton" id="547100070">
- <reference key="NSNextResponder" ref="776027458"/>
- <int key="NSvFlags">289</int>
- <string key="NSFrame">{{322, 11}, {90, 34}}</string>
- <reference key="NSSuperview" ref="776027458"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="970096139">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">134217728</int>
- <string key="NSContents">OK</string>
- <reference key="NSSupport" ref="843310790"/>
- <reference key="NSControlView" ref="547100070"/>
- <int key="NSButtonFlags">-2035924737</int>
- <int key="NSButtonFlags2">1</int>
- <reference key="NSAlternateImage" ref="371630585"/>
- <string key="NSAlternateContents"/>
- <object class="NSMutableString" key="NSKeyEquivalent">
- <bytes key="NS.bytes">DQ</bytes>
- </object>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
- </object>
- </object>
- <object class="NSTextField" id="111931878">
- <reference key="NSNextResponder" ref="776027458"/>
- <int key="NSvFlags">266</int>
- <string key="NSFrame">{{17, 107}, {392, 34}}</string>
- <reference key="NSSuperview" ref="776027458"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="307071244"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="881353084">
- <int key="NSCellFlags">69336577</int>
- <int key="NSCellFlags2">0</int>
- <string type="base64-UTF8" key="NSContents">QSBtZXNzYWdlIGZyb20gSmF2YVNjcmlwdCB3aWxsIGJlIGhlcmUuCkl0IGNhbiBiZSBhbnkgbnVtYmVy
-IG9mIGxpbmVzIGxvbmcuA</string>
- <object class="NSFont" key="NSSupport" id="419708836">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">13</double>
- <int key="NSfFlags">1044</int>
- </object>
- <reference key="NSControlView" ref="111931878"/>
- <object class="NSColor" key="NSBackgroundColor">
- <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">MC42NjY2NjY2NjY3AA</bytes>
- </object>
- </object>
- <object class="NSColor" key="NSTextColor">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">controlTextColor</string>
- <object class="NSColor" key="NSColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MAA</bytes>
- </object>
- </object>
- </object>
- </object>
- <object class="NSTextField" id="307071244">
- <reference key="NSNextResponder" ref="776027458"/>
- <int key="NSvFlags">290</int>
- <string key="NSFrame">{{20, 60}, {386, 39}}</string>
- <reference key="NSSuperview" ref="776027458"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="707055723"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="587231059">
- <int key="NSCellFlags">341966337</int>
- <int key="NSCellFlags2">0</int>
- <string key="NSContents"/>
- <reference key="NSSupport" ref="419708836"/>
- <reference key="NSControlView" ref="307071244"/>
- <bool key="NSDrawsBackground">YES</bool>
- <object class="NSColor" key="NSBackgroundColor">
- <int key="NSColorSpace">1</int>
- <bytes key="NSRGB">MSAxIDEAA</bytes>
- </object>
- <object class="NSColor" key="NSTextColor">
- <int key="NSColorSpace">1</int>
- <bytes key="NSRGB">MCAwIDAAA</bytes>
- </object>
- </object>
- </object>
- </array>
- <string key="NSFrameSize">{426, 161}</string>
- <reference key="NSSuperview"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="111931878"/>
- </object>
- <string key="NSScreenRect">{{0, 0}, {2560, 1418}}</string>
- <string key="NSMinSize">{94, 29}</string>
- <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
- <bool key="NSWindowIsRestorable">YES</bool>
- </object>
- </array>
- <object class="IBObjectContainer" key="IBDocument.Objects">
- <array class="NSMutableArray" key="connectionRecords">
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">window</string>
- <reference key="source" ref="1016705975"/>
- <reference key="destination" ref="9818130"/>
- </object>
- <int key="connectionID">52</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">pressedCancel:</string>
- <reference key="source" ref="1016705975"/>
- <reference key="destination" ref="707055723"/>
- </object>
- <int key="connectionID">53</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">pressedOK:</string>
- <reference key="source" ref="1016705975"/>
- <reference key="destination" ref="547100070"/>
- </object>
- <int key="connectionID">54</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">prompt</string>
- <reference key="source" ref="1016705975"/>
- <reference key="destination" ref="111931878"/>
- </object>
- <int key="connectionID">51</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">textInput</string>
- <reference key="source" ref="1016705975"/>
- <reference key="destination" ref="307071244"/>
- </object>
- <int key="connectionID">50</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
- <reference key="source" ref="707055723"/>
- <reference key="destination" ref="547100070"/>
- </object>
- <int key="connectionID">42</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">initialFirstResponder</string>
- <reference key="source" ref="9818130"/>
- <reference key="destination" ref="307071244"/>
- </object>
- <int key="connectionID">48</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">delegate</string>
- <reference key="source" ref="9818130"/>
- <reference key="destination" ref="1016705975"/>
- </object>
- <int key="connectionID">23</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
- <reference key="source" ref="307071244"/>
- <reference key="destination" ref="707055723"/>
- </object>
- <int key="connectionID">49</int>
- </object>
- </array>
- <object class="IBMutableOrderedSet" key="objectRecords">
- <array key="orderedObjects">
- <object class="IBObjectRecord">
- <int key="objectID">0</int>
- <array key="object" id="0"/>
- <reference key="children" ref="301070375"/>
- <nil key="parent"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-2</int>
- <reference key="object" ref="1016705975"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">File's Owner</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-1</int>
- <reference key="object" ref="5139151"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">First Responder</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-3</int>
- <reference key="object" ref="438418066"/>
- <reference key="parent" ref="0"/>
- <string key="objectName">Application</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">10</int>
- <reference key="object" ref="9818130"/>
- <array class="NSMutableArray" key="children">
- <reference ref="776027458"/>
- </array>
- <reference key="parent" ref="0"/>
- <string key="objectName">Panel1</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">7</int>
- <reference key="object" ref="776027458"/>
- <array class="NSMutableArray" key="children">
- <reference ref="707055723"/>
- <reference ref="547100070"/>
- <reference ref="111931878"/>
- <reference ref="307071244"/>
- </array>
- <reference key="parent" ref="9818130"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">2</int>
- <reference key="object" ref="707055723"/>
- <array class="NSMutableArray" key="children">
- <reference ref="629849992"/>
- </array>
- <reference key="parent" ref="776027458"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">12</int>
- <reference key="object" ref="547100070"/>
- <array class="NSMutableArray" key="children">
- <reference ref="970096139"/>
- </array>
- <reference key="parent" ref="776027458"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">44</int>
- <reference key="object" ref="111931878"/>
- <array class="NSMutableArray" key="children">
- <reference ref="881353084"/>
- </array>
- <reference key="parent" ref="776027458"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">47</int>
- <reference key="object" ref="307071244"/>
- <array class="NSMutableArray" key="children">
- <reference ref="587231059"/>
- </array>
- <reference key="parent" ref="776027458"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100002</int>
- <reference key="object" ref="629849992"/>
- <reference key="parent" ref="707055723"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100012</int>
- <reference key="object" ref="970096139"/>
- <reference key="parent" ref="547100070"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100044</int>
- <reference key="object" ref="881353084"/>
- <reference key="parent" ref="111931878"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100047</int>
- <reference key="object" ref="587231059"/>
- <reference key="parent" ref="307071244"/>
- </object>
- </array>
- </object>
- <dictionary class="NSMutableDictionary" key="flattenedProperties">
- <string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="-3.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="10.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="100002.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="100012.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="100044.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="100047.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="12.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="2.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="44.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="47.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="7.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
- </dictionary>
- <dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
- <nil key="activeLocalization"/>
- <dictionary class="NSMutableDictionary" key="localizations"/>
- <nil key="sourceID"/>
- <int key="maxID">100047</int>
- </object>
- <object class="IBClassDescriber" key="IBDocument.Classes">
- <array class="NSMutableArray" key="referencedPartialClassDescriptions">
- <object class="IBPartialClassDescription">
- <string key="className">WebJavaScriptTextInputPanel</string>
- <string key="superclassName">NSWindowController</string>
- <dictionary class="NSMutableDictionary" key="actions">
- <string key="pressedCancel:">id</string>
- <string key="pressedOK:">id</string>
- </dictionary>
- <dictionary class="NSMutableDictionary" key="actionInfosByName">
- <object class="IBActionInfo" key="pressedCancel:">
- <string key="name">pressedCancel:</string>
- <string key="candidateClassName">id</string>
- </object>
- <object class="IBActionInfo" key="pressedOK:">
- <string key="name">pressedOK:</string>
- <string key="candidateClassName">id</string>
- </object>
- </dictionary>
- <dictionary class="NSMutableDictionary" key="outlets">
- <string key="prompt">NSTextField</string>
- <string key="textInput">NSTextField</string>
- </dictionary>
- <dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
- <object class="IBToOneOutletInfo" key="prompt">
- <string key="name">prompt</string>
- <string key="candidateClassName">NSTextField</string>
- </object>
- <object class="IBToOneOutletInfo" key="textInput">
- <string key="name">textInput</string>
- <string key="candidateClassName">NSTextField</string>
- </object>
- </dictionary>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/WebJavaScriptTextInputPanel.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">WebNonBlockingPanel</string>
- <string key="superclassName">NSPanel</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/WebNonBlockingPanel.h</string>
- </object>
- </object>
- </array>
- </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>
- <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
- <int key="IBDocument.defaultPropertyAccessControl">3</int>
- </data>
-</archive>
diff --git a/Source/WebKit/English.lproj/WebJavaScriptTextInputPanel.nib/keyedobjects.nib b/Source/WebKit/English.lproj/WebJavaScriptTextInputPanel.nib/keyedobjects.nib
deleted file mode 100644
index 0c8d44287..000000000
--- a/Source/WebKit/English.lproj/WebJavaScriptTextInputPanel.nib/keyedobjects.nib
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/Makefile b/Source/WebKit/Makefile
deleted file mode 100644
index 16857f120..000000000
--- a/Source/WebKit/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-include ../Makefile.shared
-
diff --git a/Source/WebKit/PlatformBlackBerry.cmake b/Source/WebKit/PlatformBlackBerry.cmake
deleted file mode 100644
index 40c891538..000000000
--- a/Source/WebKit/PlatformBlackBerry.cmake
+++ /dev/null
@@ -1,296 +0,0 @@
-list(INSERT WebKit_INCLUDE_DIRECTORIES 0
- "${BLACKBERRY_THIRD_PARTY_DIR}" # For <unicode.h>, which is included from <sys/keycodes.h>.
-)
-
-list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${JAVASCRIPTCORE_DIR}/dfg"
- "${WEBCORE_DIR}/bindings/cpp"
- "${WEBCORE_DIR}/fileapi"
- "${WEBCORE_DIR}/history/blackberry"
- "${WEBCORE_DIR}/html/parser" # For HTMLParserIdioms.h
- "${WEBCORE_DIR}/loader/appcache"
- "${WEBCORE_DIR}/platform/blackberry"
- "${WEBCORE_DIR}/platform/graphics/gpu"
- "${WEBCORE_DIR}/platform/graphics/blackberry"
- "${WEBCORE_DIR}/platform/image-encoders"
- "${WEBCORE_DIR}/platform/network/blackberry"
- "${WEBCORE_DIR}/testing/js"
- "${WEBCORE_DIR}/Modules/geolocation"
- "${WEBCORE_DIR}/Modules/indexeddb"
- "${WEBCORE_DIR}/Modules/vibration"
- "${WEBCORE_DIR}/Modules/websockets"
- "${WEBKIT_DIR}/blackberry/Api"
- "${WEBKIT_DIR}/blackberry/WebCoreSupport"
- "${WEBKIT_DIR}/blackberry/WebKitSupport"
- "${CMAKE_SOURCE_DIR}"
-)
-
-if (ENABLE_NOTIFICATIONS)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/Modules/notifications"
- )
-endif ()
-
-if (NOT PUBLIC_BUILD)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- # needed for DRT for now
- "${WEBCORE_DIR}/platform/mock"
- "${WEBCORE_DIR}/svg/animation"
- "${WEBCORE_DIR}/workers"
- "${TOOLS_DIR}"
- "${TOOLS_DIR}/DumpRenderTree"
- "${TOOLS_DIR}/DumpRenderTree/blackberry"
- )
-endif ()
-
-if (ENABLE_BATTERY_STATUS)
- list(APPEND WebKit_INCLUDE_DIRECTORIES ${WEBCORE_DIR}/Modules/battery)
- list(APPEND WebKit_SOURCES blackberry/WebCoreSupport/BatteryClientBlackBerry.cpp)
-endif ()
-
-if (ENABLE_NAVIGATOR_CONTENT_UTILS)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/Modules/navigatorcontentutils"
- )
-endif ()
-
-if (ENABLE_MEDIA_STREAM)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/Modules/mediastream"
- "${WEBCORE_DIR}/platform/mediastream"
- )
- list(APPEND WebKit_SOURCES
- blackberry/WebCoreSupport/UserMediaClientImpl.cpp
- )
-endif ()
-
-add_definitions(-DUSER_PROCESSES)
-
-list(APPEND WebKit_SOURCES
- blackberry/Api/BackingStore.cpp
- blackberry/Api/BlackBerryGlobal.cpp
- blackberry/Api/InRegionScroller.cpp
- blackberry/Api/WebAnimation.cpp
- blackberry/Api/WebCookieJar.cpp
- blackberry/Api/WebKitMIMETypeConverter.cpp
- blackberry/Api/WebKitTextCodec.cpp
- blackberry/Api/WebOverlay.cpp
- blackberry/Api/WebOverlayOverride.cpp
- blackberry/Api/WebPage.cpp
- blackberry/Api/WebPageCompositor.cpp
- blackberry/Api/WebPageGroupLoadDeferrer.cpp
- blackberry/Api/WebSettings.cpp
- blackberry/Api/WebViewportArguments.cpp
- blackberry/Api/JavaScriptVariant.cpp
- blackberry/WebCoreSupport/AutofillManager.cpp
- blackberry/WebCoreSupport/BackForwardListBlackBerry.cpp
- blackberry/WebCoreSupport/CacheClientBlackBerry.cpp
- blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp
- blackberry/WebCoreSupport/CredentialManager.cpp
- blackberry/WebCoreSupport/CredentialTransformData.cpp
- blackberry/WebCoreSupport/DeviceMotionClientBlackBerry.cpp
- blackberry/WebCoreSupport/DeviceOrientationClientBlackBerry.cpp
- blackberry/WebCoreSupport/DragClientBlackBerry.cpp
- blackberry/WebCoreSupport/EditorClientBlackBerry.cpp
- blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp
- blackberry/WebCoreSupport/FrameNetworkingContextBlackBerry.cpp
- blackberry/WebCoreSupport/GeolocationClientBlackBerry.cpp
- blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp
- blackberry/WebCoreSupport/InspectorClientBlackBerry.cpp
- blackberry/WebCoreSupport/NetworkInfoClientBlackBerry.cpp
- blackberry/WebCoreSupport/NotificationClientBlackBerry.cpp
- blackberry/WebCoreSupport/PlatformStrategiesBlackBerry.cpp
- blackberry/WebCoreSupport/NavigatorContentUtilsClientBlackBerry.cpp
- blackberry/WebCoreSupport/SuggestionBoxHandler.cpp
- blackberry/WebCoreSupport/SuggestionBoxElement.cpp
- blackberry/WebCoreSupport/VibrationClientBlackBerry.cpp
- blackberry/WebKitSupport/AboutData.cpp
- blackberry/WebKitSupport/BackingStoreTile.cpp
- blackberry/WebKitSupport/BackingStoreClient.cpp
- blackberry/WebKitSupport/BackingStoreVisualizationViewportAccessor.cpp
- blackberry/WebKitSupport/ColorPickerClient.cpp
- blackberry/WebKitSupport/DatePickerClient.cpp
- blackberry/WebKitSupport/DefaultTapHighlight.cpp
- blackberry/WebKitSupport/DOMSupport.cpp
- blackberry/WebKitSupport/FrameLayers.cpp
- blackberry/WebKitSupport/InPageSearchManager.cpp
- blackberry/WebKitSupport/InputHandler.cpp
- blackberry/WebKitSupport/InRegionScrollableArea.cpp
- blackberry/WebKitSupport/InspectorOverlayBlackBerry.cpp
- blackberry/WebKitSupport/NotificationManager.cpp
- blackberry/WebKitSupport/PagePopup.cpp
- blackberry/WebKitSupport/PagePopupClient.cpp
- blackberry/WebKitSupport/ProximityDetector.cpp
- blackberry/WebKitSupport/RenderQueue.cpp
- blackberry/WebKitSupport/SelectPopupClient.cpp
- blackberry/WebKitSupport/SelectionHandler.cpp
- blackberry/WebKitSupport/SelectionOverlay.cpp
- blackberry/WebKitSupport/SpellingHandler.cpp
- blackberry/WebKitSupport/SurfacePool.cpp
- blackberry/WebKitSupport/TouchEventHandler.cpp
- blackberry/WebKitSupport/FatFingers.cpp
- blackberry/WebKitSupport/WebKitThreadViewportAccessor.cpp
-)
-
-if (ENABLE_WEBGL)
- add_definitions(-DWTF_USE_OPENGL_ES_2=1)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- ${OPENGL_INCLUDE_DIR}
- ${THIRDPARTY_DIR}/ANGLE/src
- ${THIRDPARTY_DIR}/ANGLE/include/GLSLANG
- )
- list(APPEND WebKit_LIBRARIES
- ${OPENGL_gl_LIBRARY}
- )
-endif (ENABLE_WEBGL)
-
-if (NOT PUBLIC_BUILD)
- # DumpRenderTree sources
- list(APPEND WebKit_SOURCES
- blackberry/WebKitSupport/DumpRenderTreeSupport.cpp
- ${TOOLS_DIR}/DumpRenderTree/blackberry/AccessibilityControllerBlackBerry.cpp
- ${TOOLS_DIR}/DumpRenderTree/blackberry/AccessibilityUIElementBlackBerry.cpp
- ${TOOLS_DIR}/DumpRenderTree/blackberry/DumpRenderTree.cpp
- ${TOOLS_DIR}/DumpRenderTree/blackberry/EventSender.cpp
- ${TOOLS_DIR}/DumpRenderTree/blackberry/GCControllerBlackBerry.cpp
- ${TOOLS_DIR}/DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp
- ${TOOLS_DIR}/DumpRenderTree/blackberry/PixelDumpSupportBlackBerry.cpp
- ${TOOLS_DIR}/DumpRenderTree/blackberry/PNGImageEncoder.cpp
- ${TOOLS_DIR}/DumpRenderTree/blackberry/WorkQueueItemBlackBerry.cpp
- ${TOOLS_DIR}/DumpRenderTree/AccessibilityController.cpp
- ${TOOLS_DIR}/DumpRenderTree/AccessibilityUIElement.cpp
- ${TOOLS_DIR}/DumpRenderTree/AccessibilityTextMarker.cpp
- ${TOOLS_DIR}/DumpRenderTree/TestRunner.cpp
- ${TOOLS_DIR}/DumpRenderTree/CyclicRedundancyCheck.cpp
- ${TOOLS_DIR}/DumpRenderTree/PixelDumpSupport.cpp
- ${TOOLS_DIR}/DumpRenderTree/WorkQueue.cpp
- ${TOOLS_DIR}/DumpRenderTree/GCController.cpp
- ${WTF_DIR}/wtf/MD5.cpp
- )
-endif ()
-
-set(WebKit_LINK_FLAGS ${BLACKBERRY_LINK_FLAGS})
-
-list(APPEND WebKit_LIBRARIES
- ${CURL_LIBRARY}
- ${FONTCONFIG_LIBRARY}
- ${ICUData_LIBRARY}
- ${ICUI18N_LIBRARY}
- ${ICUUC_LIBRARY}
- ${INTL_LIBRARY}
- ${ITYPE_LIBRARY}
- ${JPEG_LIBRARY}
- JavaScriptCore
- ${LEVELDB_LIBRARY}
- ${MMR_LIBRARY}
- ${M_LIBRARY}
- ${OTS_LIBRARY}
- ${PNG_LIBRARY}
- ${SQLITE3_LIBRARY}
- ${WTLE_LIBRARY}
- ${WebKitPlatform_LIBRARY}
- ${XML2_LIBRARY}
- ${XSLT_LIBRARY}
- ${Z_LIBRARY}
-)
-
-if (PROFILING)
- list(APPEND WebKit_LIBRARIES
- ${PROFILING_LIBRARY}
- )
-endif ()
-
-if (WTF_USE_ACCELERATED_COMPOSITING)
- list(APPEND WebKit_SOURCES
- blackberry/WebKitSupport/GLES2Context.cpp
- )
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/platform/graphics/gles2"
- )
- list(APPEND WebKit_LIBRARIES
- ${GLESv2_LIBRARY}
- ${EGL_LIBRARY}
- )
-endif ()
-
-file(GLOB BBWebKit_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/blackberry/Api/*.h")
-
-install(FILES ${BBWebKit_HEADERS}
- DESTINATION ../../usr/include/browser/webkit)
-
-if (NOT PUBLIC_BUILD)
- install(FILES ${TOOLS_DIR}/DumpRenderTree/blackberry/DumpRenderTreeBlackBerry.h
- DESTINATION ../../usr/include/browser/webkit)
-endif ()
-
-if (ENABLE_VIDEO_TRACK)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/html/track"
- )
-endif ()
-
-install(DIRECTORY ${WEBCORE_DIR}/inspector/front-end/
- DESTINATION ../../usr/share/webkit/inspector/
- FILES_MATCHING PATTERN "*.js")
-install(DIRECTORY ${WEBCORE_DIR}/inspector/front-end/
- DESTINATION ../../usr/share/webkit/inspector/
- FILES_MATCHING PATTERN "*.css")
-install(DIRECTORY ${WEBCORE_DIR}/inspector/front-end/
- DESTINATION ../../usr/share/webkit/inspector/
- FILES_MATCHING PATTERN "*.png")
-install(DIRECTORY ${WEBCORE_DIR}/inspector/front-end/
- DESTINATION ../../usr/share/webkit/inspector/
- FILES_MATCHING PATTERN "*.jpg")
-install(DIRECTORY ${WEBCORE_DIR}/inspector/front-end/
- DESTINATION ../../usr/share/webkit/inspector/
- FILES_MATCHING PATTERN "*.gif")
-install(FILES ${DERIVED_SOURCES_WEBCORE_DIR}/inspectorBB.html
- ${WEBKIT_DIR}/blackberry/WebCoreSupport/inspectorBB.js
- ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorBackendCommands.js
- DESTINATION ../../usr/share/webkit/inspector/)
-
-if (NOT PUBLIC_BUILD)
- # Add the custom target to build the host-side ImageDiff binary.
- # Reuse the Qt version.
- add_custom_target(
- ImageDiff ALL
- WORKING_DIRECTORY ${TOOLS_DIR}/DumpRenderTree/blackberry/
- COMMAND ./build
- DEPENDS ${TOOLS_DIR}/DumpRenderTree/qt/ImageDiff.cpp
- COMMENT "ImageDiff building..."
- )
-endif ()
-
-add_custom_target(
- inspector ALL
- command cp ${WEBCORE_DIR}/inspector/front-end/inspector.html ${DERIVED_SOURCES_WEBCORE_DIR}/inspectorBB.html && echo '<script src="inspectorBB.js"></script>' >> ${DERIVED_SOURCES_WEBCORE_DIR}/inspectorBB.html
- DEPENDS WebCore
- COMMENT "Web Inspector resources building..."
-)
-
-# Generate contents for AboutData.cpp
-add_custom_command(
- OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/AboutDataHaveFeatures.cpp
- MAIN_DEPENDENCY ${WEBKIT_DIR}/blackberry/WebCoreSupport/AboutDataHaveFeatures.in
- DEPENDS ${WEBKIT_DIR}/blackberry/WebCoreSupport/AboutDataHaveFeatures.in ${WEBKIT_DIR}/blackberry/WebCoreSupport/generateAboutDataFeatures.pl
- COMMAND ${PERL_EXECUTABLE} ${WEBKIT_DIR}/blackberry/WebCoreSupport/generateAboutDataFeatures.pl HAVE ${WEBKIT_DIR}/blackberry/WebCoreSupport/AboutDataHaveFeatures.in ${DERIVED_SOURCES_WEBCORE_DIR}/AboutDataHaveFeatures.cpp
-)
-
-add_custom_command(
- OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/AboutDataEnableFeatures.cpp
- MAIN_DEPENDENCY ${WEBKIT_DIR}/blackberry/WebCoreSupport/AboutDataEnableFeatures.in
- DEPENDS ${WEBKIT_DIR}/blackberry/WebCoreSupport/AboutDataEnableFeatures.in ${WEBKIT_DIR}/blackberry/WebCoreSupport/generateAboutDataFeatures.pl
- COMMAND ${PERL_EXECUTABLE} ${WEBKIT_DIR}/blackberry/WebCoreSupport/generateAboutDataFeatures.pl ENABLE ${WEBKIT_DIR}/blackberry/WebCoreSupport/AboutDataEnableFeatures.in ${DERIVED_SOURCES_WEBCORE_DIR}/AboutDataEnableFeatures.cpp
-)
-
-add_custom_command(
- OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/AboutDataUseFeatures.cpp
- MAIN_DEPENDENCY ${WEBKIT_DIR}/blackberry/WebCoreSupport/AboutDataUseFeatures.in
- DEPENDS ${WEBKIT_DIR}/blackberry/WebCoreSupport/AboutDataUseFeatures.in ${WEBKIT_DIR}/blackberry/WebCoreSupport/generateAboutDataFeatures.pl
- COMMAND ${PERL_EXECUTABLE} ${WEBKIT_DIR}/blackberry/WebCoreSupport/generateAboutDataFeatures.pl USE ${WEBKIT_DIR}/blackberry/WebCoreSupport/AboutDataUseFeatures.in ${DERIVED_SOURCES_WEBCORE_DIR}/AboutDataUseFeatures.cpp
-)
-
-add_custom_target(
- aboutFeatures ALL
- DEPENDS ${DERIVED_SOURCES_WEBCORE_DIR}/AboutDataHaveFeatures.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/AboutDataEnableFeatures.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/AboutDataUseFeatures.cpp
-)
diff --git a/Source/WebKit/PlatformEfl.cmake b/Source/WebKit/PlatformEfl.cmake
deleted file mode 100644
index 9fdad6053..000000000
--- a/Source/WebKit/PlatformEfl.cmake
+++ /dev/null
@@ -1,284 +0,0 @@
-list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBKIT_DIR}/efl/ewk"
- "${WEBKIT_DIR}/efl/WebCoreSupport"
- "${WEBCORE_DIR}/platform/efl"
- "${WEBCORE_DIR}/platform/graphics/cairo"
- "${WEBCORE_DIR}/platform/graphics/efl"
- "${WEBCORE_DIR}/platform/graphics/freetype"
- "${WEBCORE_DIR}/platform/mock"
- "${WEBCORE_DIR}/platform/network/soup"
- ${CAIRO_INCLUDE_DIRS}
- ${ECORE_EVAS_INCLUDE_DIRS}
- ${ECORE_INCLUDE_DIRS}
- ${ECORE_INPUT_INCLUDE_DIRS}
- ${ECORE_X_INCLUDE_DIRS}
- ${EDJE_INCLUDE_DIRS}
- ${EFREET_INCLUDE_DIRS}
- ${EINA_INCLUDE_DIRS}
- ${EO_INCLUDE_DIRS}
- ${EVAS_INCLUDE_DIRS}
- ${GLIB_INCLUDE_DIRS}
- ${HARFBUZZ_INCLUDE_DIRS}
- ${LIBSOUP_INCLUDE_DIRS}
- ${LIBXML2_INCLUDE_DIR}
- ${LIBXSLT_INCLUDE_DIR}
- ${SQLITE_INCLUDE_DIR}
-)
-
-if (ENABLE_SVG)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/svg"
- "${WEBCORE_DIR}/svg/animation"
- "${WEBCORE_DIR}/rendering/svg"
- )
-endif ()
-
-if (ENABLE_VIDEO)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/platform/graphics/gstreamer"
- ${GSTREAMER_APP_INCLUDE_DIRS}
- ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
- ${GSTREAMER_VIDEO_INCLUDE_DIRS}
- )
-endif ()
-
-if (ENABLE_VIDEO_TRACK)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/html/track"
- )
-endif ()
-
-if (ENABLE_NOTIFICATIONS)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/Modules/notifications"
- )
-endif ()
-
-if (ENABLE_VIBRATION)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/Modules/vibration"
- )
-endif ()
-
-if (ENABLE_BATTERY_STATUS)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/Modules/battery"
- )
-endif ()
-
-if (ENABLE_NAVIGATOR_CONTENT_UTILS)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/Modules/navigatorcontentutils"
- )
-endif ()
-
-if (WTF_USE_3D_GRAPHICS)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/platform/graphics/surfaces"
- "${WEBCORE_DIR}/platform/graphics/texmap"
- "${THIRDPARTY_DIR}/ANGLE/include/KHR"
- "${THIRDPARTY_DIR}/ANGLE/include/GLSLANG"
- )
-endif ()
-
-if (ENABLE_GEOLOCATION)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/Modules/geolocation"
- )
-endif ()
-
-if (ENABLE_ACCESSIBILITY)
- list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/accessibility"
- "${WEBCORE_DIR}/accessibility/atk"
- ${ATK_INCLUDE_DIRS}
- )
- list(APPEND WebKit_LIBRARIES
- ${ATK_LIBRARIES}
- )
-endif ()
-
-list(APPEND WebKit_SOURCES
- efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp
- efl/WebCoreSupport/AssertMatchingEnums.cpp
- efl/WebCoreSupport/BatteryClientEfl.cpp
- efl/WebCoreSupport/ChromeClientEfl.cpp
- efl/WebCoreSupport/ColorChooserEfl.cpp
- efl/WebCoreSupport/ContextMenuClientEfl.cpp
- efl/WebCoreSupport/DeviceOrientationClientEfl.cpp
- efl/WebCoreSupport/DeviceMotionClientEfl.cpp
- efl/WebCoreSupport/DragClientEfl.cpp
- efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
- efl/WebCoreSupport/EditorClientEfl.cpp
- efl/WebCoreSupport/FrameLoaderClientEfl.cpp
- efl/WebCoreSupport/FrameNetworkingContextEfl.cpp
- efl/WebCoreSupport/FullscreenVideoControllerEfl.cpp
- efl/WebCoreSupport/IconDatabaseClientEfl.cpp
- efl/WebCoreSupport/InspectorClientEfl.cpp
- efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp
- efl/WebCoreSupport/NetworkInfoClientEfl.cpp
- efl/WebCoreSupport/NotificationPresenterClientEfl.cpp
- efl/WebCoreSupport/PageClientEfl.cpp
- efl/WebCoreSupport/PlatformStrategiesEfl.cpp
- efl/WebCoreSupport/PopupMenuEfl.cpp
- efl/WebCoreSupport/SearchPopupMenuEfl.cpp
- efl/WebCoreSupport/StorageTrackerClientEfl.cpp
- efl/WebCoreSupport/VibrationClientEfl.cpp
-
- efl/ewk/ewk_auth.cpp
- efl/ewk/ewk_auth_soup.cpp
- efl/ewk/ewk_contextmenu.cpp
- efl/ewk/ewk_cookies.cpp
- efl/ewk/ewk_custom_handler.cpp
- efl/ewk/ewk_file_chooser.cpp
- efl/ewk/ewk_frame.cpp
- efl/ewk/ewk_history.cpp
- efl/ewk/ewk_js.cpp
- efl/ewk/ewk_main.cpp
- efl/ewk/ewk_network.cpp
- efl/ewk/ewk_paint_context.cpp
- efl/ewk/ewk_security_origin.cpp
- efl/ewk/ewk_security_policy.cpp
- efl/ewk/ewk_settings.cpp
- efl/ewk/ewk_tiled_backing_store.cpp
- efl/ewk/ewk_tiled_matrix.cpp
- efl/ewk/ewk_tiled_model.cpp
- efl/ewk/ewk_touch_event.cpp
- efl/ewk/ewk_view.cpp
- efl/ewk/ewk_view_single.cpp
- efl/ewk/ewk_view_tiled.cpp
- efl/ewk/ewk_window_features.cpp
- efl/ewk/ewk_web_database.cpp
-)
-
-list(APPEND WebKit_LIBRARIES
- ${CAIRO_LIBRARIES}
- ${ECORE_LIBRARIES}
- ${EDJE_LIBRARIES}
- ${EINA_LIBRARIES}
- ${ECORE_EVAS_LIBRARIES}
- ${ECORE_INPUT_LIBRARIES}
- ${EFREET_LIBRARIES}
- ${EO_LIBRARIES}
- ${EVAS_LIBRARIES}
- ${FREETYPE_LIBRARIES}
- ${HARFBUZZ_LIBRARIES}
- ${LIBXML2_LIBRARIES}
- ${SQLITE_LIBRARIES}
- ${FONTCONFIG_LIBRARIES}
- ${PNG_LIBRARIES}
- ${JPEG_LIBRARIES}
- ${CMAKE_DL_LIBS}
- ${GLIB_LIBRARIES}
- ${GLIB_GOBJECT_LIBRARIES}
- ${LIBSOUP_LIBRARIES}
-)
-
-if (ENABLE_ECORE_X)
- list(APPEND WebKit_LIBRARIES
- ${ECORE_X_LIBRARIES}
- )
-endif ()
-
-if (SHARED_CORE)
- set(LIBS_PRIVATE "-l${WTF_OUTPUT_NAME} -l${JavaScriptCore_OUTPUT_NAME} -l${WebCore_OUTPUT_NAME}")
-else ()
- set(LIBS_PRIVATE "")
-endif ()
-
-configure_file(
- efl/ewebkit.pc.in
- ${CMAKE_BINARY_DIR}/WebKit/efl/ewebkit.pc
- @ONLY)
-install(FILES ${CMAKE_BINARY_DIR}/WebKit/efl/ewebkit.pc
- DESTINATION lib/pkgconfig)
-
-unset(LIBS_PRIVATE)
-
-set(EWebKit_HEADERS
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/EWebKit.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_auth.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_contextmenu.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_cookies.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_file_chooser.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_frame.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_history.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_js.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_main.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_network.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_security_origin.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_security_policy.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_settings.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_view.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_window_features.h
- ${CMAKE_CURRENT_SOURCE_DIR}/efl/ewk/ewk_web_database.h
-)
-
-install(FILES ${EWebKit_HEADERS}
- DESTINATION include/${WebKit_OUTPUT_NAME}-${PROJECT_VERSION_MAJOR})
-
-include_directories(${THIRDPARTY_DIR}/gtest/include)
-
-set(EWKUnitTests_LIBRARIES
- WTF
- JavaScriptCore
- WebCore
- WebKit
- ${ECORE_LIBRARIES}
- ${ECORE_EVAS_LIBRARIES}
- ${EVAS_LIBRARIES}
- ${EDJE_LIBRARIES}
- gtest
-)
-
-set(EWKUnitTests_INCLUDE_DIRECTORIES
- "${CMAKE_SOURCE_DIR}/Source"
- "${WEBKIT_DIR}/efl/ewk"
- "${JAVASCRIPTCORE_DIR}"
- "${WTF_DIR}"
- "${WTF_DIR}/wtf"
- ${ECORE_INCLUDE_DIRS}
- ${ECORE_EVAS_INCLUDE_DIRS}
- ${EVAS_INCLUDE_DIRS}
- ${EDJE_INCLUDE_DIRS}
-)
-
-list(APPEND EWKUnitTests_INCLUDE_DIRECTORIES "${WTF_DIR}/wtf/gobject")
-list(APPEND EWKUnitTests_LIBRARIES
- ${GLIB_LIBRARIES}
- ${GLIB_GTHREAD_LIBRARIES}
-)
-
-set(DEFAULT_TEST_PAGE_DIR ${CMAKE_SOURCE_DIR}/Source/WebKit/efl/tests/resources)
-
-add_definitions(-DDEFAULT_TEST_PAGE_DIR=\"${DEFAULT_TEST_PAGE_DIR}\"
- -DDEFAULT_THEME_PATH=\"${THEME_BINARY_DIR}\"
- -DGTEST_LINKED_AS_SHARED_LIBRARY=1
-)
-
-add_library(ewkTestUtils
- ${WEBKIT_DIR}/efl/tests/UnitTestUtils/EWKTestBase.cpp
- ${WEBKIT_DIR}/efl/tests/UnitTestUtils/EWKTestEnvironment.cpp
- ${WEBKIT_DIR}/efl/tests/UnitTestUtils/EWKTestView.cpp
-)
-target_link_libraries(ewkTestUtils ${EWKUnitTests_LIBRARIES})
-
-set(WEBKIT_EFL_TEST_DIR "${WEBKIT_DIR}/efl/tests/")
-
-set(EWKUnitTests_BINARIES
- test_ewk_contextmenu
- test_ewk_frame
- test_ewk_view
- test_ewk_setting
-)
-
-if (ENABLE_API_TESTS)
- foreach (testName ${EWKUnitTests_BINARIES})
- add_executable(${testName} ${WEBKIT_EFL_TEST_DIR}/${testName}.cpp ${WEBKIT_EFL_TEST_DIR}/test_runner.cpp)
- add_test(${testName} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${testName})
- set_tests_properties(${testName} PROPERTIES TIMEOUT 60)
- target_link_libraries(${testName} ${EWKUnitTests_LIBRARIES} ewkTestUtils)
- set_target_properties(${testName} PROPERTIES FOLDER "WebKit")
- endforeach ()
-endif ()
-
diff --git a/Source/WebKit/PlatformQt.cmake b/Source/WebKit/PlatformQt.cmake
new file mode 100644
index 000000000..a403cb826
--- /dev/null
+++ b/Source/WebKit/PlatformQt.cmake
@@ -0,0 +1,645 @@
+include(ECMGenerateHeaders)
+include(ECMGeneratePkgConfigFile)
+include(ECMGeneratePriFile)
+
+macro(generate_header _file _var _content)
+ file(GENERATE OUTPUT ${_file} CONTENT ${_content})
+ list(APPEND ${_var} ${_file})
+ set_source_files_properties(${_file} PROPERTIES GENERATED TRUE)
+endmacro()
+
+list(APPEND WebKit_INCLUDE_DIRECTORIES
+ "${WEBCORE_DIR}"
+ "${DERIVED_SOURCES_DIR}"
+ "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
+ "${DERIVED_SOURCES_WEBCORE_DIR}"
+ "${JAVASCRIPTCORE_DIR}"
+
+ # Copied from WebCore/CMakeLists.txt
+ "${WEBCORE_DIR}/Modules/airplay"
+ "${WEBCORE_DIR}/Modules/battery"
+ "${WEBCORE_DIR}/Modules/encryptedmedia"
+ "${WEBCORE_DIR}/Modules/fetch"
+ "${WEBCORE_DIR}/Modules/geolocation"
+ "${WEBCORE_DIR}/Modules/indexeddb"
+ "${WEBCORE_DIR}/Modules/indexeddb/client"
+ "${WEBCORE_DIR}/Modules/indexeddb/legacy"
+ "${WEBCORE_DIR}/Modules/indexeddb/server"
+ "${WEBCORE_DIR}/Modules/indexeddb/shared"
+ "${WEBCORE_DIR}/Modules/indieui"
+ "${WEBCORE_DIR}/Modules/mediacontrols/"
+ "${WEBCORE_DIR}/Modules/mediasession"
+ "${WEBCORE_DIR}/Modules/mediasource"
+ "${WEBCORE_DIR}/Modules/mediastream"
+ "${WEBCORE_DIR}/Modules/navigatorcontentutils"
+ "${WEBCORE_DIR}/Modules/notifications"
+ "${WEBCORE_DIR}/Modules/plugins"
+ "${WEBCORE_DIR}/Modules/proximity"
+ "${WEBCORE_DIR}/Modules/quota"
+ "${WEBCORE_DIR}/Modules/speech"
+ "${WEBCORE_DIR}/Modules/streams"
+ "${WEBCORE_DIR}/Modules/vibration"
+ "${WEBCORE_DIR}/Modules/webaudio"
+ "${WEBCORE_DIR}/Modules/webdatabase"
+ "${WEBCORE_DIR}/Modules/websockets"
+ "${WEBCORE_DIR}/accessibility"
+ "${WEBCORE_DIR}/bindings"
+ "${WEBCORE_DIR}/bindings/generic"
+ "${WEBCORE_DIR}/bindings/js"
+ "${WEBCORE_DIR}/bridge"
+ "${WEBCORE_DIR}/bridge/c"
+ "${WEBCORE_DIR}/bridge/jsc"
+ "${WEBCORE_DIR}/contentextensions"
+ "${WEBCORE_DIR}/crypto"
+ "${WEBCORE_DIR}/crypto/algorithms"
+ "${WEBCORE_DIR}/crypto/keys"
+ "${WEBCORE_DIR}/crypto/parameters"
+ "${WEBCORE_DIR}/css"
+ "${WEBCORE_DIR}/cssjit"
+ "${WEBCORE_DIR}/dom"
+ "${WEBCORE_DIR}/dom/default"
+ "${WEBCORE_DIR}/editing"
+ "${WEBCORE_DIR}/fileapi"
+ "${WEBCORE_DIR}/history"
+ "${WEBCORE_DIR}/html"
+ "${WEBCORE_DIR}/html/canvas"
+ "${WEBCORE_DIR}/html/forms"
+ "${WEBCORE_DIR}/html/parser"
+ "${WEBCORE_DIR}/html/shadow"
+ "${WEBCORE_DIR}/html/track"
+ "${WEBCORE_DIR}/inspector"
+ "${WEBCORE_DIR}/loader"
+ "${WEBCORE_DIR}/loader/appcache"
+ "${WEBCORE_DIR}/loader/archive"
+ "${WEBCORE_DIR}/loader/archive/mhtml"
+ "${WEBCORE_DIR}/loader/cache"
+ "${WEBCORE_DIR}/loader/icon"
+ "${WEBCORE_DIR}/mathml"
+ "${WEBCORE_DIR}/page"
+ "${WEBCORE_DIR}/page/animation"
+ "${WEBCORE_DIR}/page/csp"
+ "${WEBCORE_DIR}/page/scrolling"
+ "${WEBCORE_DIR}/platform"
+ "${WEBCORE_DIR}/platform/animation"
+ "${WEBCORE_DIR}/platform/audio"
+ "${WEBCORE_DIR}/platform/graphics"
+ "${WEBCORE_DIR}/platform/graphics/cpu/arm"
+ "${WEBCORE_DIR}/platform/graphics/cpu/arm/filters"
+ "${WEBCORE_DIR}/platform/graphics/displaylists"
+ "${WEBCORE_DIR}/platform/graphics/filters"
+ "${WEBCORE_DIR}/platform/graphics/filters/texmap"
+ "${WEBCORE_DIR}/platform/graphics/harfbuzz"
+ "${WEBCORE_DIR}/platform/graphics/harfbuzz/ng"
+ "${WEBCORE_DIR}/platform/graphics/opentype"
+ "${WEBCORE_DIR}/platform/graphics/texmap"
+ "${WEBCORE_DIR}/platform/graphics/transforms"
+ "${WEBCORE_DIR}/platform/image-decoders"
+ "${WEBCORE_DIR}/platform/image-decoders/bmp"
+ "${WEBCORE_DIR}/platform/image-decoders/gif"
+ "${WEBCORE_DIR}/platform/image-decoders/ico"
+ "${WEBCORE_DIR}/platform/image-decoders/jpeg"
+ "${WEBCORE_DIR}/platform/image-decoders/png"
+ "${WEBCORE_DIR}/platform/image-decoders/webp"
+ "${WEBCORE_DIR}/platform/mediastream"
+ "${WEBCORE_DIR}/platform/mock"
+ "${WEBCORE_DIR}/platform/mock/mediasource"
+ "${WEBCORE_DIR}/platform/network"
+ "${WEBCORE_DIR}/platform/sql"
+ "${WEBCORE_DIR}/platform/text"
+ "${WEBCORE_DIR}/platform/text/icu"
+ "${WEBCORE_DIR}/plugins"
+ "${WEBCORE_DIR}/rendering"
+ "${WEBCORE_DIR}/rendering/line"
+ "${WEBCORE_DIR}/rendering/mathml"
+ "${WEBCORE_DIR}/rendering/shapes"
+ "${WEBCORE_DIR}/rendering/style"
+ "${WEBCORE_DIR}/rendering/svg"
+ "${WEBCORE_DIR}/replay"
+ "${WEBCORE_DIR}/storage"
+ "${WEBCORE_DIR}/style"
+ "${WEBCORE_DIR}/svg"
+ "${WEBCORE_DIR}/svg/animation"
+ "${WEBCORE_DIR}/svg/graphics"
+ "${WEBCORE_DIR}/svg/graphics/filters"
+ "${WEBCORE_DIR}/svg/properties"
+ "${WEBCORE_DIR}/testing/js"
+ "${WEBCORE_DIR}/websockets"
+ "${WEBCORE_DIR}/workers"
+ "${WEBCORE_DIR}/xml"
+ "${WEBCORE_DIR}/xml/parser"
+
+ "${WEBCORE_DIR}/bridge/qt"
+ "${WEBCORE_DIR}/history/qt"
+ "${WEBCORE_DIR}/platform"
+ "${WEBCORE_DIR}/platform/animation"
+ "${WEBCORE_DIR}/platform/qt"
+ "${WEBCORE_DIR}/platform/audio/qt"
+ "${WEBCORE_DIR}/platform/graphics"
+ "${WEBCORE_DIR}/platform/graphics/qt"
+ "${WEBCORE_DIR}/platform/graphics/gpu/qt"
+ "${WEBCORE_DIR}/platform/graphics/surfaces/qt"
+ "${WEBCORE_DIR}/platform/network"
+ "${WEBCORE_DIR}/platform/network/qt"
+ "${WEBCORE_DIR}/platform/text/qt"
+ "${WEBCORE_DIR}/rendering"
+ "${WEBCORE_DIR}/rendering/style"
+
+ "${WEBKIT_DIR}/.."
+ "${WEBKIT_DIR}/Storage"
+ "${WEBKIT_DIR}/qt"
+ "${WEBKIT_DIR}/qt/Api"
+ "${WEBKIT_DIR}/qt/WebCoreSupport"
+ "${WEBKIT_DIR}/win/Plugins"
+
+ "${WTF_DIR}"
+)
+
+# This files are not really port-independent
+list(REMOVE_ITEM WebKit_SOURCES
+ WebCoreSupport/WebViewGroup.cpp
+)
+
+list(APPEND WebKit_SOURCES
+ qt/Api/qhttpheader.cpp
+ qt/Api/qwebdatabase.cpp
+ qt/Api/qwebelement.cpp
+ qt/Api/qwebhistory.cpp
+ qt/Api/qwebhistoryinterface.cpp
+ qt/Api/qwebkitglobal.cpp
+ qt/Api/qwebplugindatabase.cpp
+ qt/Api/qwebpluginfactory.cpp
+ qt/Api/qwebscriptworld.cpp
+ qt/Api/qwebsecurityorigin.cpp
+ qt/Api/qwebsettings.cpp
+
+ qt/WebCoreSupport/ChromeClientQt.cpp
+ qt/WebCoreSupport/ContextMenuClientQt.cpp
+ qt/WebCoreSupport/DragClientQt.cpp
+ qt/WebCoreSupport/EditorClientQt.cpp
+ qt/WebCoreSupport/FrameLoaderClientQt.cpp
+ qt/WebCoreSupport/FrameNetworkingContextQt.cpp
+ qt/WebCoreSupport/HistorySerialization.cpp
+ qt/WebCoreSupport/IconDatabaseClientQt.cpp
+ qt/WebCoreSupport/InitWebCoreQt.cpp
+ qt/WebCoreSupport/InspectorClientQt.cpp
+ qt/WebCoreSupport/InspectorServerQt.cpp
+ qt/WebCoreSupport/NotificationPresenterClientQt.cpp
+ qt/WebCoreSupport/PlatformStrategiesQt.cpp
+ qt/WebCoreSupport/PopupMenuQt.cpp
+ qt/WebCoreSupport/ProgressTrackerClientQt.cpp
+ qt/WebCoreSupport/QWebFrameAdapter.cpp
+ qt/WebCoreSupport/QWebPageAdapter.cpp
+ qt/WebCoreSupport/QtPlatformPlugin.cpp
+ qt/WebCoreSupport/QtPluginWidgetAdapter.cpp
+ qt/WebCoreSupport/QtPrintContext.cpp
+ qt/WebCoreSupport/SearchPopupMenuQt.cpp
+ qt/WebCoreSupport/TextCheckerClientQt.cpp
+ qt/WebCoreSupport/TextureMapperLayerClientQt.cpp
+ qt/WebCoreSupport/UndoStepQt.cpp
+ qt/WebCoreSupport/VisitedLinkStoreQt.cpp
+ qt/WebCoreSupport/WebDatabaseProviderQt.cpp
+ qt/WebCoreSupport/WebEventConversion.cpp
+
+ win/Plugins/PluginDatabase.cpp
+ win/Plugins/PluginDebug.cpp
+ win/Plugins/PluginPackage.cpp
+ win/Plugins/PluginStream.cpp
+ win/Plugins/PluginView.cpp
+)
+
+# Note: Qt5Network_INCLUDE_DIRS includes Qt5Core_INCLUDE_DIRS
+list(APPEND WebKit_SYSTEM_INCLUDE_DIRECTORIES
+ ${Qt5Gui_INCLUDE_DIRS}
+ ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
+ ${Qt5Network_INCLUDE_DIRS}
+ ${Qt5Positioning_INCLUDE_DIRS}
+)
+# Build the include path with duplicates removed
+list(REMOVE_DUPLICATES WebKit_SYSTEM_INCLUDE_DIRECTORIES)
+
+list(APPEND WebKit_LIBRARIES
+ PRIVATE
+ ${ICU_LIBRARIES}
+ ${Qt5Positioning_LIBRARIES}
+ ${X11_X11_LIB}
+ ${X11_Xcomposite_LIB}
+ ${X11_Xrender_LIB}
+ PUBLIC
+ ${Qt5Core_LIBRARIES}
+ ${Qt5Gui_LIBRARIES}
+ ${Qt5Network_LIBRARIES}
+)
+
+if (ENABLE_GEOLOCATION)
+ list(APPEND WebKit_SOURCES
+ qt/WebCoreSupport/GeolocationClientQt.cpp
+ qt/WebCoreSupport/GeolocationPermissionClientQt.cpp
+ )
+endif ()
+
+if (USE_QT_MULTIMEDIA)
+ qt_wrap_cpp(WebKit WebKit_SOURCES
+ qt/Api/qwebfullscreenvideohandler.h
+ )
+ list(APPEND WebKit_SOURCES
+ qt/WebCoreSupport/FullScreenVideoQt.cpp
+ )
+endif ()
+
+if (ENABLE_TEST_SUPPORT)
+ list(APPEND WebKit_SOURCES
+ qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
+ qt/WebCoreSupport/QtTestSupport.cpp
+ )
+ if (SHARED_CORE)
+ list(APPEND WebKit_LIBRARIES PUBLIC WebCoreTestSupport)
+ install(TARGETS WebCoreTestSupport EXPORT WebKitTargets
+ DESTINATION "${LIB_INSTALL_DIR}")
+ else ()
+ list(APPEND WebKit_LIBRARIES PRIVATE WebCoreTestSupport)
+ endif ()
+endif ()
+
+if (ENABLE_NETSCAPE_PLUGIN_API)
+ list(APPEND WebKit_SOURCES
+ win/Plugins/PluginMainThreadScheduler.cpp
+ win/Plugins/npapi.cpp
+ )
+
+ if (UNIX AND NOT APPLE)
+ list(APPEND WebKit_SOURCES
+ qt/Plugins/PluginPackageQt.cpp
+ qt/Plugins/PluginViewQt.cpp
+ )
+ endif ()
+
+ if (PLUGIN_BACKEND_XLIB)
+ list(APPEND WebKit_SOURCES
+ qt/Plugins/QtX11ImageConversion.cpp
+ )
+ endif ()
+
+ if (WIN32)
+ list(APPEND WebKit_INCLUDE_DIRECTORIES
+ ${WEBCORE_DIR}/platform/win
+ )
+
+ list(APPEND WebKit_SOURCES
+ win/Plugins/PluginDatabaseWin.cpp
+ win/Plugins/PluginMessageThrottlerWin.cpp
+ win/Plugins/PluginPackageWin.cpp
+ win/Plugins/PluginViewWin.cpp
+ )
+ endif ()
+else ()
+ list(APPEND WebKit_SOURCES
+ qt/Plugins/PluginPackageNone.cpp
+ qt/Plugins/PluginViewNone.cpp
+ )
+endif ()
+
+# Resources have to be included directly in the final binary.
+# The linker won't pick them from a static library since they aren't referenced.
+if (NOT SHARED_CORE)
+ qt5_add_resources(WebKit_SOURCES
+ "${WEBCORE_DIR}/WebCore.qrc"
+ )
+
+ if (ENABLE_INSPECTOR_UI)
+ include("${CMAKE_SOURCE_DIR}/Source/WebInspectorUI/PlatformQt.cmake")
+ list(APPEND WebKit_SOURCES
+ "${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/qrc_WebInspector.cpp"
+ )
+ endif ()
+endif ()
+
+WEBKIT_CREATE_FORWARDING_HEADERS(QtWebKit DIRECTORIES qt/Api)
+
+ecm_generate_headers(
+ QtWebKit_FORWARDING_HEADERS
+ HEADER_NAMES
+ QWebDatabase
+ QWebElement,QWebElementCollection
+ QWebHistory,QWebHistoryItem
+ QWebHistoryInterface
+ QWebKitPlatformPlugin,QWebHapticFeedbackPlayer,QWebFullScreenVideoHandler,QWebNotificationData,QWebNotificationPresenter,QWebSelectData,QWebSelectMethod,QWebSpellChecker,QWebTouchModifier
+ QWebPluginFactory
+ QWebSecurityOrigin
+ QWebSettings
+ COMMON_HEADER
+ QtWebKit
+ RELATIVE
+ qt/Api
+ OUTPUT_DIR
+ "${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebKit"
+ REQUIRED_HEADERS
+ QtWebKit_HEADERS
+)
+
+set(WebKit_PUBLIC_HEADERS
+ qt/Api/qwebkitglobal.h
+ ${QtWebKit_HEADERS}
+ ${QtWebKit_FORWARDING_HEADERS}
+)
+
+generate_header("${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebKit/qtwebkitversion.h"
+ WebKit_PUBLIC_HEADERS
+ "#ifndef QT_QTWEBKIT_VERSION_H
+#define QT_QTWEBKIT_VERSION_H
+
+#define QTWEBKIT_VERSION_STR \"${PROJECT_VERSION_STRING}\"
+#define QTWEBKIT_VERSION 0x05f00${PROJECT_VERSION_MICRO}
+
+#endif
+")
+
+generate_header("${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebKit/QtWebKitVersion"
+ WebKit_PUBLIC_HEADERS
+ "#include \"qtwebkitversion.h\"")
+
+generate_header("${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebKit/QtWebKitDepends"
+ WebKit_PUBLIC_HEADERS
+ "#ifdef __cplusplus /* create empty PCH in C mode */
+#include <QtCore/QtCore>
+#include <QtGui/QtGui>
+#include <QtNetwork/QtNetwork>
+#endif
+")
+
+install(
+ FILES
+ ${WebKit_PUBLIC_HEADERS}
+ DESTINATION
+ ${KDE_INSTALL_INCLUDEDIR}/QtWebKit
+)
+
+file(GLOB WebKit_PRIVATE_HEADERS qt/Api/*_p.h)
+install(
+ FILES
+ ${WebKit_PRIVATE_HEADERS}
+ DESTINATION
+ ${KDE_INSTALL_INCLUDEDIR}/QtWebKit/${PROJECT_VERSION}/QtWebKit/private
+)
+
+ecm_generate_pkgconfig_file(
+ BASE_NAME Qt5WebKit
+ DEPS "Qt5Core Qt5Gui Qt5Network"
+ FILENAME_VAR WebKit_PKGCONFIG_FILENAME
+ INSTALL
+)
+
+ecm_generate_pri_file(
+ BASE_NAME webkit
+ LIB_NAME QtWebKit
+ INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR}
+ INCLUDE_INSTALL_DIR2 "${KDE_INSTALL_INCLUDEDIR}/QtWebKit"
+ DEPS "core gui network"
+ RUNTIME_DEPS "sensors positioning qml quick webchannel sql core_private gui_private"
+ DEFINES QT_WEBKIT_LIB
+ SET_RPATH ON
+ QT_MODULES webkit
+ FILENAME_VAR WebKit_PRI_FILENAME
+)
+install(FILES ${WebKit_PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
+
+if (QT_STATIC_BUILD)
+ set(WebKit_LIBRARY_TYPE STATIC)
+else ()
+ set(WebKit_LIBRARY_TYPE SHARED)
+endif ()
+
+set(WebKit_OUTPUT_NAME Qt5WebKit)
+
+
+############ WebKitWidgets ############
+
+set(WebKitWidgets_INCLUDE_DIRECTORIES
+ "${WEBKIT_DIR}/qt/WidgetApi"
+ "${WEBKIT_DIR}/qt/WidgetSupport"
+)
+
+set(WebKitWidgets_SOURCES
+ qt/WidgetApi/qgraphicswebview.cpp
+ qt/WidgetApi/qwebframe.cpp
+ qt/WidgetApi/qwebinspector.cpp
+ qt/WidgetApi/qwebpage.cpp
+ qt/WidgetApi/qwebpage_p.cpp
+ qt/WidgetApi/qwebview.cpp
+ qt/WidgetApi/qwebviewaccessible.cpp
+
+ qt/WidgetSupport/InitWebKitQt.cpp
+ qt/WidgetSupport/InspectorClientWebPage.cpp
+ qt/WidgetSupport/PageClientQt.cpp
+ qt/WidgetSupport/QGraphicsWidgetPluginImpl.cpp
+ qt/WidgetSupport/QStyleFacadeImp.cpp
+ qt/WidgetSupport/QWebUndoCommand.cpp
+ qt/WidgetSupport/QWidgetPluginImpl.cpp
+ qt/WidgetSupport/QtFallbackWebPopup.cpp
+ qt/WidgetSupport/QtWebComboBox.cpp
+)
+
+set(WebKitWidgets_SYSTEM_INCLUDE_DIRECTORIES
+ ${Qt5Gui_INCLUDE_DIRS}
+ ${Qt5Network_INCLUDE_DIRS}
+ ${Qt5Widgets_INCLUDE_DIRS}
+)
+
+set(WebKitWidgets_LIBRARIES
+ PRIVATE
+ ${Qt5MultimediaWidgets_LIBRARIES}
+ ${Qt5PrintSupport_LIBRARIES}
+ PUBLIC
+ ${Qt5Widgets_LIBRARIES}
+ WebKit
+)
+
+if (USE_QT_MULTIMEDIA)
+ list(APPEND WebKitWidgets_SOURCES
+ qt/WidgetSupport/DefaultFullScreenVideoHandler.cpp
+ qt/WidgetSupport/FullScreenVideoWidget.cpp
+ )
+ list(APPEND WebKitWidgets_SYSTEM_INCLUDE_DIRECTORIES
+ ${Qt5MultimediaWidgets_INCLUDE_DIRS}
+ )
+endif ()
+
+WEBKIT_CREATE_FORWARDING_HEADERS(QtWebKitWidgets DIRECTORIES qt/WidgetApi)
+
+ecm_generate_headers(
+ QtWebKitWidgets_FORWARDING_HEADERS
+ HEADER_NAMES
+ QGraphicsWebView
+ QWebFrame,QWebHitTestResult
+ QWebInspector
+ QWebPage
+ QWebView
+ COMMON_HEADER
+ QtWebKitWidgets
+ RELATIVE
+ qt/WidgetApi
+ OUTPUT_DIR
+ "${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebKitWidgets"
+ REQUIRED_HEADERS
+ QtWebKitWidgets_HEADERS
+)
+
+set(WebKitWidgets_PUBLIC_HEADERS
+ ${QtWebKitWidgets_HEADERS}
+ ${QtWebKitWidgets_FORWARDING_HEADERS}
+)
+
+generate_header("${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebKitWidgets/qtwebkitwidgetsversion.h"
+ WebKitWidgets_PUBLIC_HEADERS
+ "#ifndef QT_QTWEBKITWIDGETS_VERSION_H
+#define QT_QTWEBKITWIDGETS_VERSION_H
+
+#define QTWEBKITWIDGETS_VERSION_STR \"${PROJECT_VERSION_STRING}\"
+#define QTWEBKITWIDGETS_VERSION 0x05f00${PROJECT_VERSION_MICRO}
+
+#endif
+")
+
+generate_header("${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebKitWidgets/QtWebKitWidgetsVersion"
+ WebKitWidgets_PUBLIC_HEADERS
+ "#include \"qtwebkitwidgetsversion.h\"")
+
+generate_header("${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebKitWidgets/QtWebKitWidgetsDepends"
+ WebKitWidgets_PUBLIC_HEADERS
+ "#ifdef __cplusplus /* create empty PCH in C mode */
+#include <QtCore/QtCore>
+#include <QtGui/QtGui>
+#include <QtWidgets/QtWidgets>
+#include <QtNetwork/QtNetwork>
+#include <QtWebKit/QtWebKit>
+#endif
+")
+
+install(
+ FILES
+ ${WebKitWidgets_PUBLIC_HEADERS}
+ DESTINATION
+ ${KDE_INSTALL_INCLUDEDIR}/QtWebKitWidgets
+)
+
+file(GLOB WebKitWidgets_PRIVATE_HEADERS qt/WidgetApi/*_p.h)
+install(
+ FILES
+ ${WebKitWidgets_PRIVATE_HEADERS}
+ DESTINATION
+ ${KDE_INSTALL_INCLUDEDIR}/QtWebKitWidgets/${PROJECT_VERSION}/QtWebKitWidgets/private
+)
+
+ecm_generate_pkgconfig_file(
+ BASE_NAME Qt5WebKitWidgets
+ DEPS "Qt5Core Qt5Gui Qt5Network Qt5Widgets Qt5WebKit"
+ FILENAME_VAR WebKitWidgets_PKGCONFIG_FILENAME
+ INSTALL
+)
+
+ecm_generate_pri_file(
+ BASE_NAME webkitwidgets
+ LIB_NAME QtWebKitWidgets
+ INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR}
+ INCLUDE_INSTALL_DIR2 "${KDE_INSTALL_INCLUDEDIR}/QtWebKitWidgets"
+ DEPS "core gui network widgets webkit"
+ RUNTIME_DEPS "sensors positioning widgets_private printsupport opengl sql core_private gui_private"
+ DEFINES QT_WEBKITWIDGETS_LIB
+ SET_RPATH ON
+ QT_MODULES webkitwidgets
+ FILENAME_VAR WebKitWidgets_PRI_FILENAME
+)
+install(FILES ${WebKitWidgets_PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
+
+if (WIN32)
+ if (CMAKE_SIZEOF_VOID_P EQUAL 8)
+ enable_language(ASM_MASM)
+ list(APPEND WebKit_SOURCES
+ win/plugins/PaintHooks.asm
+ )
+ endif ()
+
+ # Make sure incremental linking is turned off, as it creates unacceptably long link times.
+ string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS})
+ set(CMAKE_SHARED_LINKER_FLAGS "${replace_CMAKE_SHARED_LINKER_FLAGS} /INCREMENTAL:NO")
+ string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS})
+ set(CMAKE_EXE_LINKER_FLAGS "${replace_CMAKE_EXE_LINKER_FLAGS} /INCREMENTAL:NO")
+
+ string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_SHARED_LINKER_FLAGS_DEBUG ${CMAKE_SHARED_LINKER_FLAGS_DEBUG})
+ set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${replace_CMAKE_SHARED_LINKER_FLAGS_DEBUG} /INCREMENTAL:NO")
+ string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_EXE_LINKER_FLAGS_DEBUG ${CMAKE_EXE_LINKER_FLAGS_DEBUG})
+ set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${replace_CMAKE_EXE_LINKER_FLAGS_DEBUG} /INCREMENTAL:NO")
+
+ string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO ${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO})
+ set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${replace_CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} /INCREMENTAL:NO")
+ string(REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replace_CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO})
+ set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${replace_CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /INCREMENTAL:NO")
+
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS")
+
+ list(APPEND WebKit_INCLUDE_DIRECTORIES
+ ${DERIVED_SOURCES_WEBKIT_DIR}
+ )
+
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB:MSVCRT /NODEFAULTLIB:MSVCRTD")
+
+ set(WebKit_POST_BUILD_COMMAND "${DERIVED_SOURCES_WEBKIT_DIR}/postBuild.cmd")
+ file(WRITE "${WebKit_POST_BUILD_COMMAND}" "@xcopy /y /d /i /f \"${CMAKE_CURRENT_SOURCE_DIR}/qt/Api/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebkit\" >nul 2>nul\n")
+ file(APPEND "${WebKit_POST_BUILD_COMMAND}" "@xcopy /y /d /i /f \"${CMAKE_CURRENT_SOURCE_DIR}/qt/WidgetApi/*.h\" \"${DERIVED_SOURCES_DIR}/ForwardingHeaders/QtWebkitWidgets\" >nul 2>nul\n")
+ add_custom_command(TARGET WebKit POST_BUILD
+ COMMAND ${WebKit_POST_BUILD_COMMAND}
+ VERBATIM
+ DEPENDS ${WebKit_POST_BUILD_COMMAND}
+ )
+
+ ADD_PRECOMPILED_HEADER("WebKitWidgetsPrefix.h" "qt/WebKitWidgetsPrefix.cpp" WebKitWidgets_SOURCES)
+endif ()
+
+if (QT_STATIC_BUILD)
+ set(WebKitWidgets_LIBRARY_TYPE STATIC)
+else ()
+ set(WebKitWidgets_LIBRARY_TYPE SHARED)
+endif ()
+
+set(WebKitWidgets_OUTPUT_NAME Qt5WebKitWidgets)
+set(WebKitWidgets_PRIVATE_HEADERS_LOCATION Headers/${PROJECT_VERSION}/QtWebKitWidgets/Private)
+
+WEBKIT_FRAMEWORK(WebKitWidgets)
+add_dependencies(WebKitWidgets WebKit)
+set_target_properties(WebKitWidgets PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
+install(TARGETS WebKitWidgets EXPORT Qt5WebKitWidgetsTargets
+ DESTINATION "${LIB_INSTALL_DIR}"
+ INCLUDES DESTINATION "${KDE_INSTALL_INCLUDEDIR}/QtWebKitWidgets"
+)
+
+if (USE_LINKER_VERSION_SCRIPT)
+ set(VERSION_SCRIPT "${CMAKE_BINARY_DIR}/QtWebKitWidgets.version")
+ add_custom_command(TARGET WebKitWidgets PRE_LINK
+ COMMAND ${PERL_EXECUTABLE} ${TOOLS_DIR}/qt/generate-version-script.pl ${Qt5_VERSION} > ${VERSION_SCRIPT}
+ VERBATIM
+ )
+ set_target_properties(WebKitWidgets PROPERTIES LINK_FLAGS -Wl,--version-script,${VERSION_SCRIPT})
+endif ()
+
+if (COMPILER_IS_GCC_OR_CLANG)
+ set_source_files_properties(
+ qt/Api/qwebdatabase.cpp
+ qt/Api/qwebelement.cpp
+ qt/Api/qwebhistory.cpp
+ qt/Api/qwebhistoryinterface.cpp
+ qt/Api/qwebpluginfactory.cpp
+ qt/Api/qwebscriptworld.cpp
+ qt/Api/qwebsecurityorigin.cpp
+ qt/Api/qwebsettings.cpp
+
+ qt/WidgetApi/qgraphicswebview.cpp
+ qt/WidgetApi/qwebframe.cpp
+ qt/WidgetApi/qwebinspector.cpp
+ qt/WidgetApi/qwebpage.cpp
+ qt/WidgetApi/qwebview.cpp
+ PROPERTIES
+ COMPILE_FLAGS -frtti
+ )
+endif ()
+
+add_subdirectory(qt/tests)
diff --git a/Source/WebKit/PlatformWinCE.cmake b/Source/WebKit/PlatformWinCE.cmake
deleted file mode 100644
index f9c3ec87e..000000000
--- a/Source/WebKit/PlatformWinCE.cmake
+++ /dev/null
@@ -1,27 +0,0 @@
-list(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/accessibility/win"
- "${WEBCORE_DIR}/page/win"
- "${WEBCORE_DIR}/platform/graphics/wince"
- "${WEBCORE_DIR}/platform/graphics/win"
- "${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/Source/WebKit/Storage/StorageAreaImpl.cpp b/Source/WebKit/Storage/StorageAreaImpl.cpp
new file mode 100644
index 000000000..08ea1676e
--- /dev/null
+++ b/Source/WebKit/Storage/StorageAreaImpl.cpp
@@ -0,0 +1,300 @@
+/*
+ * Copyright (C) 2008 Apple 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 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 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 "StorageAreaImpl.h"
+
+#include "StorageAreaSync.h"
+#include "StorageSyncManager.h"
+#include "StorageTracker.h"
+#include <WebCore/Frame.h>
+#include <WebCore/SecurityOrigin.h>
+#include <WebCore/StorageEventDispatcher.h>
+#include <WebCore/StorageMap.h>
+#include <wtf/MainThread.h>
+
+namespace WebCore {
+
+StorageAreaImpl::~StorageAreaImpl()
+{
+ ASSERT(isMainThread());
+}
+
+inline StorageAreaImpl::StorageAreaImpl(StorageType storageType, PassRefPtr<SecurityOrigin> origin, PassRefPtr<StorageSyncManager> syncManager, unsigned quota)
+ : m_storageType(storageType)
+ , m_securityOrigin(origin)
+ , m_storageMap(StorageMap::create(quota))
+ , m_storageSyncManager(syncManager)
+#ifndef NDEBUG
+ , m_isShutdown(false)
+#endif
+ , m_accessCount(0)
+ , m_closeDatabaseTimer(*this, &StorageAreaImpl::closeDatabaseTimerFired)
+{
+ ASSERT(isMainThread());
+ ASSERT(m_securityOrigin);
+ ASSERT(m_storageMap);
+
+ // Accessing the shared global StorageTracker when a StorageArea is created
+ // ensures that the tracker is properly initialized before anyone actually needs to use it.
+ StorageTracker::tracker();
+}
+
+Ref<StorageAreaImpl> StorageAreaImpl::create(StorageType storageType, PassRefPtr<SecurityOrigin> origin, PassRefPtr<StorageSyncManager> syncManager, unsigned quota)
+{
+ Ref<StorageAreaImpl> area = adoptRef(*new StorageAreaImpl(storageType, origin, syncManager, quota));
+
+ // FIXME: If there's no backing storage for LocalStorage, the default WebKit behavior should be that of private browsing,
+ // not silently ignoring it. https://bugs.webkit.org/show_bug.cgi?id=25894
+ if (area->m_storageSyncManager) {
+ area->m_storageAreaSync = StorageAreaSync::create(area->m_storageSyncManager, area.ptr(), area->m_securityOrigin->databaseIdentifier());
+ ASSERT(area->m_storageAreaSync);
+ }
+
+ return area;
+}
+
+PassRefPtr<StorageAreaImpl> StorageAreaImpl::copy()
+{
+ ASSERT(!m_isShutdown);
+ return adoptRef(new StorageAreaImpl(this));
+}
+
+StorageAreaImpl::StorageAreaImpl(StorageAreaImpl* area)
+ : m_storageType(area->m_storageType)
+ , m_securityOrigin(area->m_securityOrigin)
+ , m_storageMap(area->m_storageMap)
+ , m_storageSyncManager(area->m_storageSyncManager)
+#ifndef NDEBUG
+ , m_isShutdown(area->m_isShutdown)
+#endif
+ , m_accessCount(0)
+ , m_closeDatabaseTimer(*this, &StorageAreaImpl::closeDatabaseTimerFired)
+{
+ ASSERT(isMainThread());
+ ASSERT(m_securityOrigin);
+ ASSERT(m_storageMap);
+ ASSERT(!m_isShutdown);
+}
+
+bool StorageAreaImpl::canAccessStorage(Frame* frame)
+{
+ return frame && frame->page();
+}
+
+StorageType StorageAreaImpl::storageType() const
+{
+ return m_storageType;
+}
+
+unsigned StorageAreaImpl::length()
+{
+ ASSERT(!m_isShutdown);
+ blockUntilImportComplete();
+
+ return m_storageMap->length();
+}
+
+String StorageAreaImpl::key(unsigned index)
+{
+ ASSERT(!m_isShutdown);
+ blockUntilImportComplete();
+
+ return m_storageMap->key(index);
+}
+
+String StorageAreaImpl::item(const String& key)
+{
+ ASSERT(!m_isShutdown);
+ blockUntilImportComplete();
+
+ return m_storageMap->getItem(key);
+}
+
+void StorageAreaImpl::setItem(Frame* sourceFrame, const String& key, const String& value, bool& quotaException)
+{
+ ASSERT(!m_isShutdown);
+ ASSERT(!value.isNull());
+ blockUntilImportComplete();
+
+ String oldValue;
+ RefPtr<StorageMap> newMap = m_storageMap->setItem(key, value, oldValue, quotaException);
+ if (newMap)
+ m_storageMap = newMap.release();
+
+ if (quotaException)
+ return;
+
+ if (oldValue == value)
+ return;
+
+ if (m_storageAreaSync)
+ m_storageAreaSync->scheduleItemForSync(key, value);
+
+ dispatchStorageEvent(key, oldValue, value, sourceFrame);
+}
+
+void StorageAreaImpl::removeItem(Frame* sourceFrame, const String& key)
+{
+ ASSERT(!m_isShutdown);
+ blockUntilImportComplete();
+
+ String oldValue;
+ RefPtr<StorageMap> newMap = m_storageMap->removeItem(key, oldValue);
+ if (newMap)
+ m_storageMap = newMap.release();
+
+ if (oldValue.isNull())
+ return;
+
+ if (m_storageAreaSync)
+ m_storageAreaSync->scheduleItemForSync(key, String());
+
+ dispatchStorageEvent(key, oldValue, String(), sourceFrame);
+}
+
+void StorageAreaImpl::clear(Frame* sourceFrame)
+{
+ ASSERT(!m_isShutdown);
+ blockUntilImportComplete();
+
+ if (!m_storageMap->length())
+ return;
+
+ unsigned quota = m_storageMap->quota();
+ m_storageMap = StorageMap::create(quota);
+
+ if (m_storageAreaSync)
+ m_storageAreaSync->scheduleClear();
+
+ dispatchStorageEvent(String(), String(), String(), sourceFrame);
+}
+
+bool StorageAreaImpl::contains(const String& key)
+{
+ ASSERT(!m_isShutdown);
+ blockUntilImportComplete();
+
+ return m_storageMap->contains(key);
+}
+
+void StorageAreaImpl::importItems(const HashMap<String, String>& items)
+{
+ ASSERT(!m_isShutdown);
+
+ m_storageMap->importItems(items);
+}
+
+void StorageAreaImpl::close()
+{
+ if (m_storageAreaSync)
+ m_storageAreaSync->scheduleFinalSync();
+
+#ifndef NDEBUG
+ m_isShutdown = true;
+#endif
+}
+
+void StorageAreaImpl::clearForOriginDeletion()
+{
+ ASSERT(!m_isShutdown);
+ blockUntilImportComplete();
+
+ if (m_storageMap->length()) {
+ unsigned quota = m_storageMap->quota();
+ m_storageMap = StorageMap::create(quota);
+ }
+
+ if (m_storageAreaSync) {
+ m_storageAreaSync->scheduleClear();
+ m_storageAreaSync->scheduleCloseDatabase();
+ }
+}
+
+void StorageAreaImpl::sync()
+{
+ ASSERT(!m_isShutdown);
+ blockUntilImportComplete();
+
+ if (m_storageAreaSync)
+ m_storageAreaSync->scheduleSync();
+}
+
+void StorageAreaImpl::blockUntilImportComplete() const
+{
+ if (m_storageAreaSync)
+ m_storageAreaSync->blockUntilImportComplete();
+}
+
+size_t StorageAreaImpl::memoryBytesUsedByCache()
+{
+ return 0;
+}
+
+void StorageAreaImpl::incrementAccessCount()
+{
+ m_accessCount++;
+
+ if (m_closeDatabaseTimer.isActive())
+ m_closeDatabaseTimer.stop();
+}
+
+void StorageAreaImpl::decrementAccessCount()
+{
+ ASSERT(m_accessCount);
+ --m_accessCount;
+
+ if (!m_accessCount) {
+ if (m_closeDatabaseTimer.isActive())
+ m_closeDatabaseTimer.stop();
+ m_closeDatabaseTimer.startOneShot(StorageTracker::tracker().storageDatabaseIdleInterval());
+ }
+}
+
+void StorageAreaImpl::closeDatabaseTimerFired()
+{
+ blockUntilImportComplete();
+ if (m_storageAreaSync)
+ m_storageAreaSync->scheduleCloseDatabase();
+}
+
+void StorageAreaImpl::closeDatabaseIfIdle()
+{
+ if (m_closeDatabaseTimer.isActive()) {
+ ASSERT(!m_accessCount);
+ m_closeDatabaseTimer.stop();
+
+ closeDatabaseTimerFired();
+ }
+}
+
+void StorageAreaImpl::dispatchStorageEvent(const String& key, const String& oldValue, const String& newValue, Frame* sourceFrame)
+{
+ if (m_storageType == LocalStorage)
+ StorageEventDispatcher::dispatchLocalStorageEvents(key, oldValue, newValue, m_securityOrigin.get(), sourceFrame);
+ else
+ StorageEventDispatcher::dispatchSessionStorageEvents(key, oldValue, newValue, m_securityOrigin.get(), sourceFrame);
+}
+
+} // namespace WebCore
diff --git a/Source/WebKit/Storage/StorageAreaImpl.h b/Source/WebKit/Storage/StorageAreaImpl.h
new file mode 100644
index 000000000..a6aeeb3ab
--- /dev/null
+++ b/Source/WebKit/Storage/StorageAreaImpl.h
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2008 Apple 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 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 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 StorageAreaImpl_h
+#define StorageAreaImpl_h
+
+#include <WebCore/StorageArea.h>
+#include <WebCore/Timer.h>
+#include <wtf/HashMap.h>
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
+
+namespace WebCore {
+
+class SecurityOrigin;
+class StorageMap;
+class StorageAreaSync;
+
+class StorageAreaImpl : public StorageArea {
+public:
+ static Ref<StorageAreaImpl> create(StorageType, PassRefPtr<SecurityOrigin>, PassRefPtr<StorageSyncManager>, unsigned quota);
+ virtual ~StorageAreaImpl();
+
+ virtual unsigned length() override;
+ virtual String key(unsigned index) override;
+ virtual String item(const String& key) override;
+ virtual void setItem(Frame* sourceFrame, const String& key, const String& value, bool& quotaException) override;
+ virtual void removeItem(Frame* sourceFrame, const String& key) override;
+ virtual void clear(Frame* sourceFrame) override;
+ virtual bool contains(const String& key) override;
+
+ virtual bool canAccessStorage(Frame* sourceFrame) override;
+ virtual StorageType storageType() const override;
+
+ virtual size_t memoryBytesUsedByCache() override;
+
+ virtual void incrementAccessCount() override;
+ virtual void decrementAccessCount() override;
+ virtual void closeDatabaseIfIdle() override;
+
+ SecurityOrigin& securityOrigin() override { return *m_securityOrigin; }
+
+ PassRefPtr<StorageAreaImpl> copy();
+ void close();
+
+ // Only called from a background thread.
+ void importItems(const HashMap<String, String>& items);
+
+ // Used to clear a StorageArea and close db before backing db file is deleted.
+ void clearForOriginDeletion();
+
+ void sync();
+
+private:
+ StorageAreaImpl(StorageType, PassRefPtr<SecurityOrigin>, PassRefPtr<StorageSyncManager>, unsigned quota);
+ explicit StorageAreaImpl(StorageAreaImpl*);
+
+ void blockUntilImportComplete() const;
+ void closeDatabaseTimerFired();
+
+ void dispatchStorageEvent(const String& key, const String& oldValue, const String& newValue, Frame* sourceFrame);
+
+ StorageType m_storageType;
+ RefPtr<SecurityOrigin> m_securityOrigin;
+ RefPtr<StorageMap> m_storageMap;
+
+ RefPtr<StorageAreaSync> m_storageAreaSync;
+ RefPtr<StorageSyncManager> m_storageSyncManager;
+
+#ifndef NDEBUG
+ bool m_isShutdown;
+#endif
+ unsigned m_accessCount;
+ Timer m_closeDatabaseTimer;
+};
+
+} // namespace WebCore
+
+#endif // StorageAreaImpl_h
diff --git a/Source/WebKit/Storage/StorageAreaSync.cpp b/Source/WebKit/Storage/StorageAreaSync.cpp
new file mode 100644
index 000000000..b5ccf5ba3
--- /dev/null
+++ b/Source/WebKit/Storage/StorageAreaSync.cpp
@@ -0,0 +1,535 @@
+/*
+ * Copyright (C) 2008, 2009, 2010 Apple 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 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 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 "StorageAreaSync.h"
+
+#include "StorageAreaImpl.h"
+#include "StorageSyncManager.h"
+#include "StorageTracker.h"
+#include <WebCore/FileSystem.h>
+#include <WebCore/SQLiteDatabaseTracker.h>
+#include <WebCore/SQLiteStatement.h>
+#include <WebCore/SQLiteTransaction.h>
+#include <WebCore/SuddenTermination.h>
+#include <wtf/MainThread.h>
+
+namespace WebCore {
+
+// If the StorageArea undergoes rapid changes, don't sync each change to disk.
+// Instead, queue up a batch of items to sync and actually do the sync at the following interval.
+static const double StorageSyncInterval = 1.0;
+
+// A sane limit on how many items we'll schedule to sync all at once. This makes it
+// much harder to starve the rest of LocalStorage and the OS's IO subsystem in general.
+static const int MaxiumItemsToSync = 100;
+
+inline StorageAreaSync::StorageAreaSync(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea, const String& databaseIdentifier)
+ : m_syncTimer(*this, &StorageAreaSync::syncTimerFired)
+ , m_itemsCleared(false)
+ , m_finalSyncScheduled(false)
+ , m_storageArea(storageArea)
+ , m_syncManager(storageSyncManager)
+ , m_databaseIdentifier(databaseIdentifier.isolatedCopy())
+ , m_clearItemsWhileSyncing(false)
+ , m_syncScheduled(false)
+ , m_syncInProgress(false)
+ , m_databaseOpenFailed(false)
+ , m_syncCloseDatabase(false)
+ , m_importComplete(false)
+{
+ ASSERT(isMainThread());
+ ASSERT(m_storageArea);
+ ASSERT(m_syncManager);
+
+ // FIXME: If it can't import, then the default WebKit behavior should be that of private browsing,
+ // not silently ignoring it. https://bugs.webkit.org/show_bug.cgi?id=25894
+ RefPtr<StorageAreaSync> protector(this);
+ m_syncManager->dispatch([protector] {
+ protector->performImport();
+ });
+}
+
+Ref<StorageAreaSync> StorageAreaSync::create(PassRefPtr<StorageSyncManager> storageSyncManager, PassRefPtr<StorageAreaImpl> storageArea, const String& databaseIdentifier)
+{
+ return adoptRef(*new StorageAreaSync(storageSyncManager, storageArea, databaseIdentifier));
+}
+
+StorageAreaSync::~StorageAreaSync()
+{
+ ASSERT(isMainThread());
+ ASSERT(!m_syncTimer.isActive());
+ ASSERT(m_finalSyncScheduled);
+}
+
+void StorageAreaSync::scheduleFinalSync()
+{
+ ASSERT(isMainThread());
+ // FIXME: We do this to avoid races, but it'd be better to make things safe without blocking.
+ blockUntilImportComplete();
+ m_storageArea = nullptr; // This is done in blockUntilImportComplete() but this is here as a form of documentation that we must be absolutely sure the ref count cycle is broken.
+
+ if (m_syncTimer.isActive())
+ m_syncTimer.stop();
+ else {
+ // The following is balanced by the call to enableSuddenTermination in the
+ // syncTimerFired function.
+ disableSuddenTermination();
+ }
+ // FIXME: This is synchronous. We should do it on the background process, but
+ // we should do it safely.
+ m_finalSyncScheduled = true;
+ syncTimerFired();
+
+ RefPtr<StorageAreaSync> protector(this);
+ m_syncManager->dispatch([protector] {
+ protector->deleteEmptyDatabase();
+ });
+}
+
+void StorageAreaSync::scheduleItemForSync(const String& key, const String& value)
+{
+ ASSERT(isMainThread());
+ ASSERT(!m_finalSyncScheduled);
+
+ m_changedItems.set(key, value);
+ if (!m_syncTimer.isActive()) {
+ m_syncTimer.startOneShot(StorageSyncInterval);
+
+ // The following is balanced by the call to enableSuddenTermination in the
+ // syncTimerFired function.
+ disableSuddenTermination();
+ }
+}
+
+void StorageAreaSync::scheduleClear()
+{
+ ASSERT(isMainThread());
+ ASSERT(!m_finalSyncScheduled);
+
+ m_changedItems.clear();
+ m_itemsCleared = true;
+ if (!m_syncTimer.isActive()) {
+ m_syncTimer.startOneShot(StorageSyncInterval);
+
+ // The following is balanced by the call to enableSuddenTermination in the
+ // syncTimerFired function.
+ disableSuddenTermination();
+ }
+}
+
+void StorageAreaSync::scheduleCloseDatabase()
+{
+ ASSERT(isMainThread());
+ ASSERT(!m_finalSyncScheduled);
+
+ if (!m_database.isOpen())
+ return;
+
+ m_syncCloseDatabase = true;
+
+ if (!m_syncTimer.isActive()) {
+ m_syncTimer.startOneShot(StorageSyncInterval);
+
+ // The following is balanced by the call to enableSuddenTermination in the
+ // syncTimerFired function.
+ disableSuddenTermination();
+ }
+}
+
+void StorageAreaSync::syncTimerFired()
+{
+ ASSERT(isMainThread());
+
+ bool partialSync = false;
+ {
+ LockHolder locker(m_syncLock);
+
+ // Do not schedule another sync if we're still trying to complete the
+ // previous one. But, if we're shutting down, schedule it anyway.
+ if (m_syncInProgress && !m_finalSyncScheduled) {
+ ASSERT(!m_syncTimer.isActive());
+ m_syncTimer.startOneShot(StorageSyncInterval);
+ return;
+ }
+
+ if (m_itemsCleared) {
+ m_itemsPendingSync.clear();
+ m_clearItemsWhileSyncing = true;
+ m_itemsCleared = false;
+ }
+
+ HashMap<String, String>::iterator changed_it = m_changedItems.begin();
+ HashMap<String, String>::iterator changed_end = m_changedItems.end();
+ for (int count = 0; changed_it != changed_end; ++count, ++changed_it) {
+ if (count >= MaxiumItemsToSync && !m_finalSyncScheduled) {
+ partialSync = true;
+ break;
+ }
+ m_itemsPendingSync.set(changed_it->key.isolatedCopy(), changed_it->value.isolatedCopy());
+ }
+
+ if (partialSync) {
+ // We can't do the fast path of simply clearing all items, so we'll need to manually
+ // remove them one by one. Done under lock since m_itemsPendingSync is modified by
+ // the background thread.
+ HashMap<String, String>::iterator pending_it = m_itemsPendingSync.begin();
+ HashMap<String, String>::iterator pending_end = m_itemsPendingSync.end();
+ for (; pending_it != pending_end; ++pending_it)
+ m_changedItems.remove(pending_it->key);
+ }
+
+ if (!m_syncScheduled) {
+ m_syncScheduled = true;
+
+ // The following is balanced by the call to enableSuddenTermination in the
+ // performSync function.
+ disableSuddenTermination();
+
+ RefPtr<StorageAreaSync> protector(this);
+ m_syncManager->dispatch([protector] {
+ protector->performSync();
+ });
+ }
+ }
+
+ if (partialSync) {
+ // If we didn't finish syncing, then we need to finish the job later.
+ ASSERT(!m_syncTimer.isActive());
+ m_syncTimer.startOneShot(StorageSyncInterval);
+ } else {
+ // The following is balanced by the calls to disableSuddenTermination in the
+ // scheduleItemForSync, scheduleClear, and scheduleFinalSync functions.
+ enableSuddenTermination();
+
+ m_changedItems.clear();
+ }
+}
+
+void StorageAreaSync::openDatabase(OpenDatabaseParamType openingStrategy)
+{
+ ASSERT(!isMainThread());
+ ASSERT(!m_database.isOpen());
+ ASSERT(!m_databaseOpenFailed);
+
+ SQLiteTransactionInProgressAutoCounter transactionCounter;
+
+ String databaseFilename = m_syncManager->fullDatabaseFilename(m_databaseIdentifier);
+
+ if (!fileExists(databaseFilename) && openingStrategy == SkipIfNonExistent)
+ return;
+
+ if (databaseFilename.isEmpty()) {
+ LOG_ERROR("Filename for local storage database is empty - cannot open for persistent storage");
+ markImported();
+ m_databaseOpenFailed = true;
+ return;
+ }
+
+ // A StorageTracker thread may have been scheduled to delete the db we're
+ // reopening, so cancel possible deletion.
+ StorageTracker::tracker().cancelDeletingOrigin(m_databaseIdentifier);
+
+ if (!m_database.open(databaseFilename)) {
+ LOG_ERROR("Failed to open database file %s for local storage", databaseFilename.utf8().data());
+ markImported();
+ m_databaseOpenFailed = true;
+ return;
+ }
+
+ migrateItemTableIfNeeded();
+
+ if (!m_database.executeCommand("CREATE TABLE IF NOT EXISTS ItemTable (key TEXT UNIQUE ON CONFLICT REPLACE, value BLOB NOT NULL ON CONFLICT FAIL)")) {
+ LOG_ERROR("Failed to create table ItemTable for local storage");
+ markImported();
+ m_databaseOpenFailed = true;
+ return;
+ }
+
+ StorageTracker::tracker().setOriginDetails(m_databaseIdentifier, databaseFilename);
+}
+
+void StorageAreaSync::migrateItemTableIfNeeded()
+{
+ if (!m_database.tableExists("ItemTable"))
+ return;
+
+ {
+ SQLiteStatement query(m_database, "SELECT value FROM ItemTable LIMIT 1");
+ // this query isn't ever executed.
+ if (query.isColumnDeclaredAsBlob(0))
+ return;
+ }
+
+ // alter table for backward compliance, change the value type from TEXT to BLOB.
+ static const char* commands[] = {
+ "DROP TABLE IF EXISTS ItemTable2",
+ "CREATE TABLE ItemTable2 (key TEXT UNIQUE ON CONFLICT REPLACE, value BLOB NOT NULL ON CONFLICT FAIL)",
+ "INSERT INTO ItemTable2 SELECT * from ItemTable",
+ "DROP TABLE ItemTable",
+ "ALTER TABLE ItemTable2 RENAME TO ItemTable",
+ 0,
+ };
+
+ SQLiteTransaction transaction(m_database, false);
+ transaction.begin();
+ for (size_t i = 0; commands[i]; ++i) {
+ if (!m_database.executeCommand(commands[i])) {
+ LOG_ERROR("Failed to migrate table ItemTable for local storage when executing: %s", commands[i]);
+ transaction.rollback();
+
+ // finally it will try to keep a backup of ItemTable for the future restoration.
+ // NOTICE: this will essentially DELETE the current database, but that's better
+ // than continually hitting this case and never being able to use the local storage.
+ // if this is ever hit, it's definitely a bug.
+ ASSERT_NOT_REACHED();
+ if (!m_database.executeCommand("ALTER TABLE ItemTable RENAME TO Backup_ItemTable"))
+ LOG_ERROR("Failed to save ItemTable after migration job failed.");
+
+ return;
+ }
+ }
+ transaction.commit();
+}
+
+void StorageAreaSync::performImport()
+{
+ ASSERT(!isMainThread());
+ ASSERT(!m_database.isOpen());
+
+ openDatabase(SkipIfNonExistent);
+ if (!m_database.isOpen()) {
+ markImported();
+ return;
+ }
+
+ SQLiteStatement query(m_database, "SELECT key, value FROM ItemTable");
+ if (query.prepare() != SQLITE_OK) {
+ LOG_ERROR("Unable to select items from ItemTable for local storage");
+ markImported();
+ return;
+ }
+
+ HashMap<String, String> itemMap;
+
+ int result = query.step();
+ while (result == SQLITE_ROW) {
+ itemMap.set(query.getColumnText(0), query.getColumnBlobAsString(1));
+ result = query.step();
+ }
+
+ if (result != SQLITE_DONE) {
+ LOG_ERROR("Error reading items from ItemTable for local storage");
+ markImported();
+ return;
+ }
+
+ m_storageArea->importItems(itemMap);
+
+ markImported();
+}
+
+void StorageAreaSync::markImported()
+{
+ LockHolder locker(m_importLock);
+ m_importComplete = true;
+ m_importCondition.notifyOne();
+}
+
+// FIXME: In the future, we should allow use of StorageAreas while it's importing (when safe to do so).
+// Blocking everything until the import is complete is by far the simplest and safest thing to do, but
+// there is certainly room for safe optimization: Key/length will never be able to make use of such an
+// optimization (since the order of iteration can change as items are being added). Get can return any
+// item currently in the map. Get/remove can work whether or not it's in the map, but we'll need a list
+// of items the import should not overwrite. Clear can also work, but it'll need to kill the import
+// job first.
+void StorageAreaSync::blockUntilImportComplete()
+{
+ ASSERT(isMainThread());
+
+ // Fast path. We set m_storageArea to 0 only after m_importComplete being true.
+ if (!m_storageArea)
+ return;
+
+ LockHolder locker(m_importLock);
+ while (!m_importComplete)
+ m_importCondition.wait(m_importLock);
+ m_storageArea = nullptr;
+}
+
+void StorageAreaSync::sync(bool clearItems, const HashMap<String, String>& items)
+{
+ ASSERT(!isMainThread());
+
+ if (items.isEmpty() && !clearItems && !m_syncCloseDatabase)
+ return;
+ if (m_databaseOpenFailed)
+ return;
+
+ if (!m_database.isOpen() && m_syncCloseDatabase) {
+ m_syncCloseDatabase = false;
+ return;
+ }
+
+ if (!m_database.isOpen())
+ openDatabase(CreateIfNonExistent);
+ if (!m_database.isOpen())
+ return;
+
+ // Closing this db because it is about to be deleted by StorageTracker.
+ // The delete will be cancelled if StorageAreaSync needs to reopen the db
+ // to write new items created after the request to delete the db.
+ if (m_syncCloseDatabase) {
+ m_syncCloseDatabase = false;
+ m_database.close();
+ return;
+ }
+
+ SQLiteTransactionInProgressAutoCounter transactionCounter;
+
+ // If the clear flag is set, then we clear all items out before we write any new ones in.
+ if (clearItems) {
+ SQLiteStatement clear(m_database, "DELETE FROM ItemTable");
+ if (clear.prepare() != SQLITE_OK) {
+ LOG_ERROR("Failed to prepare clear statement - cannot write to local storage database");
+ return;
+ }
+
+ int result = clear.step();
+ if (result != SQLITE_DONE) {
+ LOG_ERROR("Failed to clear all items in the local storage database - %i", result);
+ return;
+ }
+ }
+
+ SQLiteStatement insert(m_database, "INSERT INTO ItemTable VALUES (?, ?)");
+ if (insert.prepare() != SQLITE_OK) {
+ LOG_ERROR("Failed to prepare insert statement - cannot write to local storage database");
+ return;
+ }
+
+ SQLiteStatement remove(m_database, "DELETE FROM ItemTable WHERE key=?");
+ if (remove.prepare() != SQLITE_OK) {
+ LOG_ERROR("Failed to prepare delete statement - cannot write to local storage database");
+ return;
+ }
+
+ HashMap<String, String>::const_iterator end = items.end();
+
+ SQLiteTransaction transaction(m_database);
+ transaction.begin();
+ for (HashMap<String, String>::const_iterator it = items.begin(); it != end; ++it) {
+ // Based on the null-ness of the second argument, decide whether this is an insert or a delete.
+ SQLiteStatement& query = it->value.isNull() ? remove : insert;
+
+ query.bindText(1, it->key);
+
+ // If the second argument is non-null, we're doing an insert, so bind it as the value.
+ if (!it->value.isNull())
+ query.bindBlob(2, it->value);
+
+ int result = query.step();
+ if (result != SQLITE_DONE) {
+ LOG_ERROR("Failed to update item in the local storage database - %i", result);
+ break;
+ }
+
+ query.reset();
+ }
+ transaction.commit();
+}
+
+void StorageAreaSync::performSync()
+{
+ ASSERT(!isMainThread());
+
+ bool clearItems;
+ HashMap<String, String> items;
+ {
+ LockHolder locker(m_syncLock);
+
+ ASSERT(m_syncScheduled);
+
+ clearItems = m_clearItemsWhileSyncing;
+ m_itemsPendingSync.swap(items);
+
+ m_clearItemsWhileSyncing = false;
+ m_syncScheduled = false;
+ m_syncInProgress = true;
+ }
+
+ sync(clearItems, items);
+
+ {
+ LockHolder locker(m_syncLock);
+ m_syncInProgress = false;
+ }
+
+ // The following is balanced by the call to disableSuddenTermination in the
+ // syncTimerFired function.
+ enableSuddenTermination();
+}
+
+void StorageAreaSync::deleteEmptyDatabase()
+{
+ ASSERT(!isMainThread());
+ if (!m_database.isOpen())
+ return;
+
+ SQLiteStatement query(m_database, "SELECT COUNT(*) FROM ItemTable");
+ if (query.prepare() != SQLITE_OK) {
+ LOG_ERROR("Unable to count number of rows in ItemTable for local storage");
+ return;
+ }
+
+ int result = query.step();
+ if (result != SQLITE_ROW) {
+ LOG_ERROR("No results when counting number of rows in ItemTable for local storage");
+ return;
+ }
+
+ int count = query.getColumnInt(0);
+ if (!count) {
+ query.finalize();
+ m_database.close();
+ if (StorageTracker::tracker().isActive()) {
+ StringImpl* databaseIdentifierCopy = &m_databaseIdentifier.impl()->isolatedCopy().leakRef();
+ callOnMainThread([databaseIdentifierCopy] {
+ StorageTracker::tracker().deleteOriginWithIdentifier(databaseIdentifierCopy);
+ databaseIdentifierCopy->deref();
+ });
+ } else {
+ String databaseFilename = m_syncManager->fullDatabaseFilename(m_databaseIdentifier);
+ if (!deleteFile(databaseFilename))
+ LOG_ERROR("Failed to delete database file %s\n", databaseFilename.utf8().data());
+ }
+ }
+}
+
+void StorageAreaSync::scheduleSync()
+{
+ syncTimerFired();
+}
+
+} // namespace WebCore
diff --git a/Source/WebKit/Storage/StorageAreaSync.h b/Source/WebKit/Storage/StorageAreaSync.h
new file mode 100644
index 000000000..b3ca89acf
--- /dev/null
+++ b/Source/WebKit/Storage/StorageAreaSync.h
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2008, 2009, 2010 Apple 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 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 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 StorageAreaSync_h
+#define StorageAreaSync_h
+
+#include <WebCore/SQLiteDatabase.h>
+#include <WebCore/Timer.h>
+#include <wtf/Condition.h>
+#include <wtf/HashMap.h>
+#include <wtf/text/StringHash.h>
+
+namespace WebCore {
+
+class Frame;
+class StorageAreaImpl;
+class StorageSyncManager;
+
+class StorageAreaSync : public ThreadSafeRefCounted<StorageAreaSync> {
+public:
+ static Ref<StorageAreaSync> create(PassRefPtr<StorageSyncManager>, PassRefPtr<StorageAreaImpl>, const String& databaseIdentifier);
+ ~StorageAreaSync();
+
+ void scheduleFinalSync();
+ void blockUntilImportComplete();
+
+ void scheduleItemForSync(const String& key, const String& value);
+ void scheduleClear();
+ void scheduleCloseDatabase();
+
+ void scheduleSync();
+
+private:
+ StorageAreaSync(PassRefPtr<StorageSyncManager>, PassRefPtr<StorageAreaImpl>, const String& databaseIdentifier);
+
+ Timer m_syncTimer;
+ HashMap<String, String> m_changedItems;
+ bool m_itemsCleared;
+
+ bool m_finalSyncScheduled;
+
+ RefPtr<StorageAreaImpl> m_storageArea;
+ RefPtr<StorageSyncManager> m_syncManager;
+
+ // The database handle will only ever be opened and used on the background thread.
+ SQLiteDatabase m_database;
+
+ // The following members are subject to thread synchronization issues.
+public:
+ // Called from the background thread
+ void performImport();
+ void performSync();
+ void deleteEmptyDatabase();
+
+private:
+ enum OpenDatabaseParamType {
+ CreateIfNonExistent,
+ SkipIfNonExistent
+ };
+
+ void syncTimerFired();
+ void openDatabase(OpenDatabaseParamType openingStrategy);
+ void sync(bool clearItems, const HashMap<String, String>& items);
+
+ const String m_databaseIdentifier;
+
+ Lock m_syncLock;
+ HashMap<String, String> m_itemsPendingSync;
+ bool m_clearItemsWhileSyncing;
+ bool m_syncScheduled;
+ bool m_syncInProgress;
+ bool m_databaseOpenFailed;
+
+ bool m_syncCloseDatabase;
+
+ mutable Lock m_importLock;
+ Condition m_importCondition;
+ bool m_importComplete;
+ void markImported();
+ void migrateItemTableIfNeeded();
+};
+
+} // namespace WebCore
+
+#endif // StorageAreaSync_h
diff --git a/Source/WebKit/Storage/StorageNamespaceImpl.cpp b/Source/WebKit/Storage/StorageNamespaceImpl.cpp
new file mode 100644
index 000000000..7d85c1c0d
--- /dev/null
+++ b/Source/WebKit/Storage/StorageNamespaceImpl.cpp
@@ -0,0 +1,173 @@
+/*
+ * Copyright (C) 2008 Apple 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 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 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 "StorageNamespaceImpl.h"
+
+#include "StorageAreaImpl.h"
+#include "StorageSyncManager.h"
+#include "StorageTracker.h"
+#include <WebCore/StorageMap.h>
+#include <wtf/MainThread.h>
+#include <wtf/NeverDestroyed.h>
+#include <wtf/text/StringHash.h>
+
+namespace WebCore {
+
+static HashMap<String, StorageNamespaceImpl*>& localStorageNamespaceMap()
+{
+ static NeverDestroyed<HashMap<String, StorageNamespaceImpl*>> localStorageNamespaceMap;
+
+ return localStorageNamespaceMap;
+}
+
+RefPtr<StorageNamespaceImpl> StorageNamespaceImpl::createSessionStorageNamespace(unsigned quota)
+{
+ return adoptRef(new StorageNamespaceImpl(SessionStorage, String(), quota));
+}
+
+RefPtr<StorageNamespaceImpl> StorageNamespaceImpl::getOrCreateLocalStorageNamespace(const String& databasePath, unsigned quota)
+{
+ ASSERT(!databasePath.isNull());
+
+ auto& slot = localStorageNamespaceMap().add(databasePath, nullptr).iterator->value;
+ if (slot)
+ return slot;
+
+ RefPtr<StorageNamespaceImpl> storageNamespace = adoptRef(new StorageNamespaceImpl(LocalStorage, databasePath, quota));
+ slot = storageNamespace.get();
+
+ return storageNamespace;
+}
+
+StorageNamespaceImpl::StorageNamespaceImpl(StorageType storageType, const String& path, unsigned quota)
+ : m_storageType(storageType)
+ , m_path(path.isolatedCopy())
+ , m_syncManager(0)
+ , m_quota(quota)
+ , m_isShutdown(false)
+{
+ if (m_storageType == LocalStorage && !m_path.isEmpty())
+ m_syncManager = StorageSyncManager::create(m_path);
+}
+
+StorageNamespaceImpl::~StorageNamespaceImpl()
+{
+ ASSERT(isMainThread());
+
+ if (m_storageType == LocalStorage) {
+ ASSERT(localStorageNamespaceMap().get(m_path) == this);
+ localStorageNamespaceMap().remove(m_path);
+ }
+
+ if (!m_isShutdown)
+ close();
+}
+
+RefPtr<StorageNamespace> StorageNamespaceImpl::copy(Page*)
+{
+ ASSERT(isMainThread());
+ ASSERT(!m_isShutdown);
+ ASSERT(m_storageType == SessionStorage);
+
+ RefPtr<StorageNamespaceImpl> newNamespace = adoptRef(new StorageNamespaceImpl(m_storageType, m_path, m_quota));
+
+ StorageAreaMap::iterator end = m_storageAreaMap.end();
+ for (StorageAreaMap::iterator i = m_storageAreaMap.begin(); i != end; ++i)
+ newNamespace->m_storageAreaMap.set(i->key, i->value->copy());
+ return newNamespace;
+}
+
+RefPtr<StorageArea> StorageNamespaceImpl::storageArea(RefPtr<SecurityOrigin>&& origin)
+{
+ ASSERT(isMainThread());
+ ASSERT(!m_isShutdown);
+
+ RefPtr<StorageAreaImpl> storageArea;
+ if ((storageArea = m_storageAreaMap.get(origin)))
+ return storageArea;
+
+ storageArea = StorageAreaImpl::create(m_storageType, origin.copyRef(), m_syncManager, m_quota);
+ m_storageAreaMap.set(WTFMove(origin), storageArea);
+ return storageArea;
+}
+
+void StorageNamespaceImpl::close()
+{
+ ASSERT(isMainThread());
+
+ if (m_isShutdown)
+ return;
+
+ // If we're session storage, we shouldn't need to do any work here.
+ if (m_storageType == SessionStorage) {
+ ASSERT(!m_syncManager);
+ return;
+ }
+
+ StorageAreaMap::iterator end = m_storageAreaMap.end();
+ for (StorageAreaMap::iterator it = m_storageAreaMap.begin(); it != end; ++it)
+ it->value->close();
+
+ if (m_syncManager)
+ m_syncManager->close();
+
+ m_isShutdown = true;
+}
+
+void StorageNamespaceImpl::clearOriginForDeletion(SecurityOrigin* origin)
+{
+ ASSERT(isMainThread());
+
+ RefPtr<StorageAreaImpl> storageArea = m_storageAreaMap.get(origin);
+ if (storageArea)
+ storageArea->clearForOriginDeletion();
+}
+
+void StorageNamespaceImpl::clearAllOriginsForDeletion()
+{
+ ASSERT(isMainThread());
+
+ StorageAreaMap::iterator end = m_storageAreaMap.end();
+ for (StorageAreaMap::iterator it = m_storageAreaMap.begin(); it != end; ++it)
+ it->value->clearForOriginDeletion();
+}
+
+void StorageNamespaceImpl::sync()
+{
+ ASSERT(isMainThread());
+ StorageAreaMap::iterator end = m_storageAreaMap.end();
+ for (StorageAreaMap::iterator it = m_storageAreaMap.begin(); it != end; ++it)
+ it->value->sync();
+}
+
+void StorageNamespaceImpl::closeIdleLocalStorageDatabases()
+{
+ ASSERT(isMainThread());
+ StorageAreaMap::iterator end = m_storageAreaMap.end();
+ for (StorageAreaMap::iterator it = m_storageAreaMap.begin(); it != end; ++it)
+ it->value->closeDatabaseIfIdle();
+}
+
+} // namespace WebCore
diff --git a/Source/WebKit/Storage/StorageNamespaceImpl.h b/Source/WebKit/Storage/StorageNamespaceImpl.h
new file mode 100644
index 000000000..cb3736fd2
--- /dev/null
+++ b/Source/WebKit/Storage/StorageNamespaceImpl.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2008 Apple 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 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 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 StorageNamespaceImpl_h
+#define StorageNamespaceImpl_h
+
+#include <WebCore/SecurityOriginHash.h>
+#include <WebCore/StorageArea.h>
+#include <WebCore/StorageNamespace.h>
+#include <wtf/HashMap.h>
+#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class StorageAreaImpl;
+
+class StorageNamespaceImpl : public StorageNamespace {
+public:
+ WEBCORE_EXPORT static RefPtr<StorageNamespaceImpl> createSessionStorageNamespace(unsigned quota);
+ WEBCORE_EXPORT static RefPtr<StorageNamespaceImpl> getOrCreateLocalStorageNamespace(const String& databasePath, unsigned quota);
+ virtual ~StorageNamespaceImpl();
+
+ void close();
+
+ // Not removing the origin's StorageArea from m_storageAreaMap because
+ // we're just deleting the underlying db file. If an item is added immediately
+ // after file deletion, we want the same StorageArea to eventually trigger
+ // a sync and for StorageAreaSync to recreate the backing db file.
+ void clearOriginForDeletion(SecurityOrigin*);
+ void clearAllOriginsForDeletion();
+ void sync();
+ void closeIdleLocalStorageDatabases();
+
+private:
+ StorageNamespaceImpl(StorageType, const String& path, unsigned quota);
+
+ virtual RefPtr<StorageArea> storageArea(RefPtr<SecurityOrigin>&&) override;
+ virtual RefPtr<StorageNamespace> copy(Page* newPage) override;
+
+ typedef HashMap<RefPtr<SecurityOrigin>, RefPtr<StorageAreaImpl>> StorageAreaMap;
+ StorageAreaMap m_storageAreaMap;
+
+ StorageType m_storageType;
+
+ // Only used if m_storageType == LocalStorage and the path was not "" in our constructor.
+ String m_path;
+ RefPtr<StorageSyncManager> m_syncManager;
+
+ // The default quota for each new storage area.
+ unsigned m_quota;
+
+ bool m_isShutdown;
+};
+
+} // namespace WebCore
+
+#endif // StorageNamespaceImpl_h
diff --git a/Source/WebKit/win/WebCookieManager.cpp b/Source/WebKit/Storage/StorageSyncManager.cpp
index 49bbad634..036d6ba69 100644
--- a/Source/WebKit/win/WebCookieManager.cpp
+++ b/Source/WebKit/Storage/StorageSyncManager.cpp
@@ -20,61 +20,66 @@
* 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "config.h"
-#include "WebKitDLL.h"
-#include "WebCookieManager.h"
+#include "StorageSyncManager.h"
-// WebCookieManager -------------------------------------------------------
+#include "StorageThread.h"
+#include <WebCore/FileSystem.h>
+#include <wtf/MainThread.h>
+#include <wtf/text/CString.h>
-WebCookieManager* WebCookieManager::createInstance()
+namespace WebCore {
+
+Ref<StorageSyncManager> StorageSyncManager::create(const String& path)
{
- WebCookieManager* manager = new WebCookieManager;
- manager->AddRef();
- return manager;
+ return adoptRef(*new StorageSyncManager(path));
}
-WebCookieManager::WebCookieManager()
- : m_refCount(0)
+StorageSyncManager::StorageSyncManager(const String& path)
+ : m_thread(std::make_unique<StorageThread>())
+ , m_path(path.isolatedCopy())
{
- gClassCount++;
- gClassNameCount.add("WebCookieManager");
+ ASSERT(isMainThread());
+ ASSERT(!m_path.isEmpty());
+ m_thread->start();
}
-WebCookieManager::~WebCookieManager()
+StorageSyncManager::~StorageSyncManager()
{
- gClassCount--;
- gClassNameCount.remove("WebCookieManager");
+ ASSERT(isMainThread());
+ ASSERT(!m_thread);
}
-// IUnknown ---------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebCookieManager::QueryInterface(REFIID riid, void** ppvObject)
+// Called on a background thread.
+String StorageSyncManager::fullDatabaseFilename(const String& databaseIdentifier)
{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<WebCookieManager*>(this);
- else if (IsEqualGUID(riid, __uuidof(IWebCookieManager)))
- *ppvObject = static_cast<IWebCookieManager*>(this);
- else
- return E_NOINTERFACE;
+ if (!makeAllDirectories(m_path)) {
+ LOG_ERROR("Unabled to create LocalStorage database path %s", m_path.utf8().data());
+ return String();
+ }
- AddRef();
- return S_OK;
+ return pathByAppendingComponent(m_path, databaseIdentifier + ".localstorage");
}
-ULONG STDMETHODCALLTYPE WebCookieManager::AddRef()
+void StorageSyncManager::dispatch(const std::function<void ()>& function)
{
- return ++m_refCount;
+ ASSERT(isMainThread());
+ ASSERT(m_thread);
+
+ if (m_thread)
+ m_thread->dispatch(function);
}
-ULONG STDMETHODCALLTYPE WebCookieManager::Release()
+void StorageSyncManager::close()
{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete this;
+ ASSERT(isMainThread());
- return newRef;
+ if (m_thread) {
+ m_thread->terminate();
+ m_thread = nullptr;
+ }
}
+
+} // namespace WebCore
diff --git a/Source/WebKit/mac/Plugins/Hosted/WebKitPluginHostTypes.h b/Source/WebKit/Storage/StorageSyncManager.h
index 0bac2bcf2..028772105 100644
--- a/Source/WebKit/mac/Plugins/Hosted/WebKitPluginHostTypes.h
+++ b/Source/WebKit/Storage/StorageSyncManager.h
@@ -20,48 +20,45 @@
* 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebKitPluginHostTypes_h
-#define WebKitPluginHostTypes_h
+#ifndef StorageSyncManager_h
+#define StorageSyncManager_h
-typedef uint8_t* plist_bytes_t;
-typedef uint8_t* application_name_t;
+#include <functional>
+#include <wtf/Forward.h>
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
-typedef char* data_t;
+namespace WebCore {
-#ifndef __MigTypeCheck
-#define __MigTypeCheck 1
-#endif
+class StorageThread;
+class StorageAreaSync;
-enum LoadURLFlags {
- IsPost = 1 << 0,
- PostDataIsFile = 1 << 1,
- AllowHeadersInPostData = 1 << 2,
- AllowPopups = 1 << 3,
-};
-
-enum InvokeType {
- Invoke,
- InvokeDefault,
- Construct
-};
+class StorageSyncManager : public RefCounted<StorageSyncManager> {
+public:
+ static Ref<StorageSyncManager> create(const String& path);
+ ~StorageSyncManager();
-enum ValueType {
- VoidValueType,
- NullValueType,
- BoolValueType,
- DoubleValueType,
- StringValueType,
- JSObjectValueType,
- NPObjectValueType
-};
+ void dispatch(const std::function<void ()>&);
+ void close();
+
+private:
+ explicit StorageSyncManager(const String& path);
-enum RendererType {
- UseAcceleratedCompositing,
- UseSoftwareRenderer,
- UseLayerBackedView
+ std::unique_ptr<StorageThread> m_thread;
+
+// The following members are subject to thread synchronization issues
+public:
+ // To be called from the background thread:
+ String fullDatabaseFilename(const String& databaseIdentifier);
+
+private:
+ String m_path;
};
-#endif // WebKitPluginHostTypes_h
+} // namespace WebCore
+
+#endif // StorageSyncManager_h
diff --git a/Source/WebKit/Storage/StorageThread.cpp b/Source/WebKit/Storage/StorageThread.cpp
new file mode 100644
index 000000000..8ca8bced8
--- /dev/null
+++ b/Source/WebKit/Storage/StorageThread.cpp
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) 2008 Apple 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 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 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 "StorageThread.h"
+
+#include <wtf/AutodrainedPool.h>
+#include <wtf/MainThread.h>
+#include <wtf/NeverDestroyed.h>
+
+namespace WebCore {
+
+static HashSet<StorageThread*>& activeStorageThreads()
+{
+ ASSERT(isMainThread());
+ static NeverDestroyed<HashSet<StorageThread*>> threads;
+ return threads;
+}
+
+StorageThread::StorageThread()
+ : m_threadID(0)
+{
+ ASSERT(isMainThread());
+}
+
+StorageThread::~StorageThread()
+{
+ ASSERT(isMainThread());
+ ASSERT(!m_threadID);
+}
+
+bool StorageThread::start()
+{
+ ASSERT(isMainThread());
+ if (!m_threadID)
+ m_threadID = createThread(StorageThread::threadEntryPointCallback, this, "WebCore: LocalStorage");
+ activeStorageThreads().add(this);
+ return m_threadID;
+}
+
+void StorageThread::threadEntryPointCallback(void* thread)
+{
+ static_cast<StorageThread*>(thread)->threadEntryPoint();
+}
+
+void StorageThread::threadEntryPoint()
+{
+ ASSERT(!isMainThread());
+
+ while (auto function = m_queue.waitForMessage()) {
+ AutodrainedPool pool;
+ (*function)();
+ }
+}
+
+void StorageThread::dispatch(const std::function<void ()>& function)
+{
+ ASSERT(isMainThread());
+ ASSERT(!m_queue.killed() && m_threadID);
+ m_queue.append(std::make_unique<std::function<void ()>>(function));
+}
+
+void StorageThread::terminate()
+{
+ ASSERT(isMainThread());
+ ASSERT(!m_queue.killed() && m_threadID);
+ activeStorageThreads().remove(this);
+ // Even in weird, exceptional cases, don't wait on a nonexistent thread to terminate.
+ if (!m_threadID)
+ return;
+
+ m_queue.append(std::make_unique<std::function<void ()>>([this] {
+ performTerminate();
+ }));
+ waitForThreadCompletion(m_threadID);
+ ASSERT(m_queue.killed());
+ m_threadID = 0;
+}
+
+void StorageThread::performTerminate()
+{
+ ASSERT(!isMainThread());
+ m_queue.kill();
+}
+
+void StorageThread::releaseFastMallocFreeMemoryInAllThreads()
+{
+ HashSet<StorageThread*>& threads = activeStorageThreads();
+
+ for (HashSet<StorageThread*>::iterator it = threads.begin(), end = threads.end(); it != end; ++it)
+ (*it)->dispatch(WTF::releaseFastMallocFreeMemory);
+}
+
+}
diff --git a/Source/WebKit/win/WebCookieManager.h b/Source/WebKit/Storage/StorageThread.h
index 0dc66e4c5..df52ac612 100644
--- a/Source/WebKit/win/WebCookieManager.h
+++ b/Source/WebKit/Storage/StorageThread.h
@@ -20,41 +20,48 @@
* 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebCookieManager_h
-#define WebCookieManager_h
+#ifndef StorageThread_h
+#define StorageThread_h
-#include "WebKit.h"
+#include <functional>
+#include <wtf/HashSet.h>
+#include <wtf/MessageQueue.h>
+#include <wtf/PassRefPtr.h>
+#include <wtf/Threading.h>
-typedef struct OpaqueCFHTTPCookieStorage* CFHTTPCookieStorageRef;
+namespace WebCore {
-class WebCookieManager : public IWebCookieManager {
-public:
- static WebCookieManager* createInstance();
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(
- /* [in] */ REFIID riid,
- /* [iid_is][out] */ void** ppvObject);
+class StorageAreaSync;
+class StorageTask;
- virtual ULONG STDMETHODCALLTYPE AddRef();
+class StorageThread {
+ WTF_MAKE_NONCOPYABLE(StorageThread); WTF_MAKE_FAST_ALLOCATED;
+public:
+ StorageThread();
+ ~StorageThread();
- virtual ULONG STDMETHODCALLTYPE Release();
+ bool start();
+ void terminate();
- // IWebCookieManager
- virtual /* [local] */ HRESULT STDMETHODCALLTYPE cookieStorage(
- /* [retval][out] */ CFHTTPCookieStorageRef* storage);
+ void dispatch(const std::function<void()>&);
- virtual /* [local] */ HRESULT STDMETHODCALLTYPE setCookieStorage(
- /* [in] */ CFHTTPCookieStorageRef storage);
+ static void releaseFastMallocFreeMemoryInAllThreads();
private:
- WebCookieManager();
- ~WebCookieManager();
+ // Called on background thread.
+ static void threadEntryPointCallback(void*);
+ void threadEntryPoint();
- ULONG m_refCount;
+ // Background thread part of the terminate procedure.
+ void performTerminate();
+
+ ThreadIdentifier m_threadID;
+ MessageQueue<std::function<void()>> m_queue;
};
-#endif
+} // namespace WebCore
+
+#endif // StorageThread_h
diff --git a/Source/WebKit/Storage/StorageTracker.cpp b/Source/WebKit/Storage/StorageTracker.cpp
new file mode 100644
index 000000000..8d80d4dd0
--- /dev/null
+++ b/Source/WebKit/Storage/StorageTracker.cpp
@@ -0,0 +1,660 @@
+/*
+ * Copyright (C) 2011 Apple 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 INC. 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 INC. 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 "StorageTracker.h"
+
+#include "StorageThread.h"
+#include "StorageTrackerClient.h"
+#include "WebStorageNamespaceProvider.h"
+#include <WebCore/FileSystem.h>
+#include <WebCore/PageGroup.h>
+#include <WebCore/SQLiteDatabaseTracker.h>
+#include <WebCore/SQLiteStatement.h>
+#include <WebCore/SecurityOrigin.h>
+#include <WebCore/TextEncoding.h>
+#include <wtf/MainThread.h>
+#include <wtf/StdLibExtras.h>
+#include <wtf/Vector.h>
+#include <wtf/text/CString.h>
+
+#if PLATFORM(IOS)
+#include <sqlite3_private.h>
+#endif
+
+namespace WebCore {
+
+static StorageTracker* storageTracker = 0;
+
+// If there is no document referencing a storage database, close the underlying database
+// after it has been idle for m_StorageDatabaseIdleInterval seconds.
+static const double DefaultStorageDatabaseIdleInterval = 300;
+
+void StorageTracker::initializeTracker(const String& storagePath, StorageTrackerClient* client)
+{
+ ASSERT(isMainThread());
+ ASSERT(!storageTracker || !storageTracker->m_client);
+
+ if (!storageTracker)
+ storageTracker = new StorageTracker(storagePath);
+
+ storageTracker->m_client = client;
+ storageTracker->m_needsInitialization = true;
+}
+
+void StorageTracker::internalInitialize()
+{
+ m_needsInitialization = false;
+
+ ASSERT(isMainThread());
+
+ // Make sure text encoding maps have been built on the main thread, as the StorageTracker thread might try to do it there instead.
+ // FIXME (<rdar://problem/9127819>): Is there a more explicit way of doing this besides accessing the UTF8Encoding?
+ UTF8Encoding();
+
+ storageTracker->setIsActive(true);
+ storageTracker->m_thread->start();
+ storageTracker->importOriginIdentifiers();
+}
+
+StorageTracker& StorageTracker::tracker()
+{
+ if (!storageTracker)
+ storageTracker = new StorageTracker("");
+ if (storageTracker->m_needsInitialization)
+ storageTracker->internalInitialize();
+
+ return *storageTracker;
+}
+
+StorageTracker::StorageTracker(const String& storagePath)
+ : m_storageDirectoryPath(storagePath.isolatedCopy())
+ , m_client(0)
+ , m_thread(std::make_unique<StorageThread>())
+ , m_isActive(false)
+ , m_needsInitialization(false)
+ , m_StorageDatabaseIdleInterval(DefaultStorageDatabaseIdleInterval)
+{
+}
+
+void StorageTracker::setDatabaseDirectoryPath(const String& path)
+{
+ LockHolder locker(m_databaseMutex);
+
+ if (m_database.isOpen())
+ m_database.close();
+
+ m_storageDirectoryPath = path.isolatedCopy();
+
+ {
+ LockHolder locker(m_originSetMutex);
+ m_originSet.clear();
+ }
+
+ if (!m_isActive)
+ return;
+
+ importOriginIdentifiers();
+}
+
+String StorageTracker::databaseDirectoryPath() const
+{
+ return m_storageDirectoryPath.isolatedCopy();
+}
+
+String StorageTracker::trackerDatabasePath()
+{
+ ASSERT(!m_databaseMutex.tryLock());
+ return pathByAppendingComponent(m_storageDirectoryPath, "StorageTracker.db");
+}
+
+static bool ensureDatabaseFileExists(const String& fileName, bool createIfDoesNotExist)
+{
+ if (createIfDoesNotExist)
+ return makeAllDirectories(directoryName(fileName));
+
+ return fileExists(fileName);
+}
+
+void StorageTracker::openTrackerDatabase(bool createIfDoesNotExist)
+{
+ ASSERT(m_isActive);
+ ASSERT(!isMainThread());
+
+ SQLiteTransactionInProgressAutoCounter transactionCounter;
+
+ ASSERT(!m_databaseMutex.tryLock());
+
+ if (m_database.isOpen())
+ return;
+
+ String databasePath = trackerDatabasePath();
+
+ if (!ensureDatabaseFileExists(databasePath, createIfDoesNotExist)) {
+ if (createIfDoesNotExist)
+ LOG_ERROR("Failed to create database file '%s'", databasePath.ascii().data());
+ return;
+ }
+
+ if (!m_database.open(databasePath)) {
+ LOG_ERROR("Failed to open databasePath %s.", databasePath.ascii().data());
+ return;
+ }
+
+ m_database.disableThreadingChecks();
+
+ if (!m_database.tableExists("Origins")) {
+ if (!m_database.executeCommand("CREATE TABLE Origins (origin TEXT UNIQUE ON CONFLICT REPLACE, path TEXT);"))
+ LOG_ERROR("Failed to create Origins table.");
+ }
+}
+
+void StorageTracker::importOriginIdentifiers()
+{
+ if (!m_isActive)
+ return;
+
+ ASSERT(isMainThread());
+ ASSERT(m_thread);
+
+ m_thread->dispatch([this] {
+ syncImportOriginIdentifiers();
+ });
+}
+
+void StorageTracker::finishedImportingOriginIdentifiers()
+{
+ LockHolder locker(m_databaseMutex);
+ if (m_client)
+ m_client->didFinishLoadingOrigins();
+}
+
+void StorageTracker::syncImportOriginIdentifiers()
+{
+ ASSERT(m_isActive);
+
+ ASSERT(!isMainThread());
+
+ {
+ LockHolder locker(m_databaseMutex);
+
+ // Don't force creation of StorageTracker's db just because a tracker
+ // was initialized. It will be created if local storage dbs are found
+ // by syncFileSystemAndTrackerDatabse() or the next time a local storage
+ // db is created by StorageAreaSync.
+ openTrackerDatabase(false);
+
+ if (m_database.isOpen()) {
+ SQLiteTransactionInProgressAutoCounter transactionCounter;
+
+ SQLiteStatement statement(m_database, "SELECT origin FROM Origins");
+ if (statement.prepare() != SQLITE_OK) {
+ LOG_ERROR("Failed to prepare statement.");
+ return;
+ }
+
+ int result;
+
+ {
+ LockHolder lockOrigins(m_originSetMutex);
+ while ((result = statement.step()) == SQLITE_ROW)
+ m_originSet.add(statement.getColumnText(0).isolatedCopy());
+ }
+
+ if (result != SQLITE_DONE) {
+ LOG_ERROR("Failed to read in all origins from the database.");
+ return;
+ }
+ }
+ }
+
+ syncFileSystemAndTrackerDatabase();
+
+ {
+ LockHolder locker(m_clientMutex);
+
+ if (m_client) {
+ LockHolder locker(m_originSetMutex);
+ OriginSet::const_iterator end = m_originSet.end();
+ for (OriginSet::const_iterator it = m_originSet.begin(); it != end; ++it)
+ m_client->dispatchDidModifyOrigin(*it);
+ }
+ }
+
+ callOnMainThread([this] {
+ finishedImportingOriginIdentifiers();
+ });
+}
+
+void StorageTracker::syncFileSystemAndTrackerDatabase()
+{
+ ASSERT(!isMainThread());
+
+ SQLiteTransactionInProgressAutoCounter transactionCounter;
+
+ ASSERT(m_isActive);
+
+ Vector<String> paths;
+ {
+ LockHolder locker(m_databaseMutex);
+ paths = listDirectory(m_storageDirectoryPath, "*.localstorage");
+ }
+
+ // Use a copy of m_originSet to find expired entries and to schedule their
+ // deletions from disk and from m_originSet.
+ OriginSet originSetCopy;
+ {
+ LockHolder locker(m_originSetMutex);
+ for (OriginSet::const_iterator it = m_originSet.begin(), end = m_originSet.end(); it != end; ++it)
+ originSetCopy.add((*it).isolatedCopy());
+ }
+
+ // Add missing StorageTracker records.
+ OriginSet foundOrigins;
+ String fileExtension = ASCIILiteral(".localstorage");
+
+ for (Vector<String>::const_iterator it = paths.begin(), end = paths.end(); it != end; ++it) {
+ const String& path = *it;
+
+ if (path.length() > fileExtension.length() && path.endsWith(fileExtension)) {
+ String file = pathGetFileName(path);
+ String originIdentifier = file.substring(0, file.length() - fileExtension.length());
+ if (!originSetCopy.contains(originIdentifier))
+ syncSetOriginDetails(originIdentifier, path);
+
+ foundOrigins.add(originIdentifier);
+ }
+ }
+
+ // Delete stale StorageTracker records.
+ for (OriginSet::const_iterator it = originSetCopy.begin(), end = originSetCopy.end(); it != end; ++it) {
+ const String& originIdentifier = *it;
+ if (foundOrigins.contains(originIdentifier))
+ continue;
+
+ String originIdentifierCopy = originIdentifier.isolatedCopy();
+ callOnMainThread([this, originIdentifierCopy] {
+ deleteOriginWithIdentifier(originIdentifierCopy);
+ });
+ }
+}
+
+void StorageTracker::setOriginDetails(const String& originIdentifier, const String& databaseFile)
+{
+ if (!m_isActive)
+ return;
+
+ {
+ LockHolder locker(m_originSetMutex);
+
+ if (m_originSet.contains(originIdentifier))
+ return;
+
+ m_originSet.add(originIdentifier);
+ }
+
+ String originIdentifierCopy = originIdentifier.isolatedCopy();
+ String databaseFileCopy = databaseFile.isolatedCopy();
+ auto function = [this, originIdentifierCopy, databaseFileCopy] {
+ syncSetOriginDetails(originIdentifierCopy, databaseFileCopy);
+ };
+
+ if (isMainThread()) {
+ ASSERT(m_thread);
+ m_thread->dispatch(function);
+ } else {
+ // FIXME: This weird ping-ponging was done to fix a deadlock. We should figure out a cleaner way to avoid it instead.
+ callOnMainThread([this, function] {
+ m_thread->dispatch(function);
+ });
+ }
+}
+
+void StorageTracker::syncSetOriginDetails(const String& originIdentifier, const String& databaseFile)
+{
+ ASSERT(!isMainThread());
+
+ SQLiteTransactionInProgressAutoCounter transactionCounter;
+
+ LockHolder locker(m_databaseMutex);
+
+ openTrackerDatabase(true);
+
+ if (!m_database.isOpen())
+ return;
+
+ SQLiteStatement statement(m_database, "INSERT INTO Origins VALUES (?, ?)");
+ if (statement.prepare() != SQLITE_OK) {
+ LOG_ERROR("Unable to establish origin '%s' in the tracker", originIdentifier.ascii().data());
+ return;
+ }
+
+ statement.bindText(1, originIdentifier);
+ statement.bindText(2, databaseFile);
+
+ if (statement.step() != SQLITE_DONE)
+ LOG_ERROR("Unable to establish origin '%s' in the tracker", originIdentifier.ascii().data());
+
+ {
+ LockHolder locker(m_originSetMutex);
+ if (!m_originSet.contains(originIdentifier))
+ m_originSet.add(originIdentifier);
+ }
+
+ {
+ LockHolder locker(m_clientMutex);
+ if (m_client)
+ m_client->dispatchDidModifyOrigin(originIdentifier);
+ }
+}
+
+void StorageTracker::origins(Vector<RefPtr<SecurityOrigin>>& result)
+{
+ ASSERT(m_isActive);
+
+ if (!m_isActive)
+ return;
+
+ LockHolder locker(m_originSetMutex);
+
+ for (OriginSet::const_iterator it = m_originSet.begin(), end = m_originSet.end(); it != end; ++it)
+ result.append(SecurityOrigin::createFromDatabaseIdentifier(*it));
+}
+
+void StorageTracker::deleteAllOrigins()
+{
+ ASSERT(m_isActive);
+ ASSERT(isMainThread());
+ ASSERT(m_thread);
+
+ if (!m_isActive)
+ return;
+
+ {
+ LockHolder locker(m_originSetMutex);
+ willDeleteAllOrigins();
+ m_originSet.clear();
+ }
+
+ WebStorageNamespaceProvider::clearLocalStorageForAllOrigins();
+
+ m_thread->dispatch([this] {
+ syncDeleteAllOrigins();
+ });
+}
+
+#if PLATFORM(IOS)
+static void truncateDatabaseFile(SQLiteDatabase& database)
+{
+ sqlite3_file_control(database.sqlite3Handle(), 0, SQLITE_TRUNCATE_DATABASE, 0);
+}
+#endif
+
+void StorageTracker::syncDeleteAllOrigins()
+{
+ ASSERT(!isMainThread());
+
+ SQLiteTransactionInProgressAutoCounter transactionCounter;
+
+ LockHolder locker(m_databaseMutex);
+
+ openTrackerDatabase(false);
+ if (!m_database.isOpen())
+ return;
+
+ SQLiteStatement statement(m_database, "SELECT origin, path FROM Origins");
+ if (statement.prepare() != SQLITE_OK) {
+ LOG_ERROR("Failed to prepare statement.");
+ return;
+ }
+
+ int result;
+ while ((result = statement.step()) == SQLITE_ROW) {
+ if (!canDeleteOrigin(statement.getColumnText(0)))
+ continue;
+
+ deleteFile(statement.getColumnText(1));
+
+ {
+ LockHolder locker(m_clientMutex);
+ if (m_client)
+ m_client->dispatchDidModifyOrigin(statement.getColumnText(0));
+ }
+ }
+
+ if (result != SQLITE_DONE)
+ LOG_ERROR("Failed to read in all origins from the database.");
+
+ if (m_database.isOpen()) {
+#if PLATFORM(IOS)
+ truncateDatabaseFile(m_database);
+#endif
+ m_database.close();
+ }
+
+#if !PLATFORM(IOS)
+ if (!deleteFile(trackerDatabasePath())) {
+ // In the case where it is not possible to delete the database file (e.g some other program
+ // like a virus scanner is accessing it), make sure to remove all entries.
+ openTrackerDatabase(false);
+ if (!m_database.isOpen())
+ return;
+ SQLiteStatement deleteStatement(m_database, "DELETE FROM Origins");
+ if (deleteStatement.prepare() != SQLITE_OK) {
+ LOG_ERROR("Unable to prepare deletion of all origins");
+ return;
+ }
+ if (!deleteStatement.executeCommand()) {
+ LOG_ERROR("Unable to execute deletion of all origins");
+ return;
+ }
+ }
+ deleteEmptyDirectory(m_storageDirectoryPath);
+#endif
+}
+
+void StorageTracker::deleteOriginWithIdentifier(const String& originIdentifier)
+{
+ deleteOrigin(&SecurityOrigin::createFromDatabaseIdentifier(originIdentifier).get());
+}
+
+void StorageTracker::deleteOrigin(SecurityOrigin* origin)
+{
+ ASSERT(m_isActive);
+ ASSERT(isMainThread());
+ ASSERT(m_thread);
+
+ if (!m_isActive)
+ return;
+
+ // Before deleting database, we need to clear in-memory local storage data
+ // in StorageArea, and to close the StorageArea db. It's possible for an
+ // item to be added immediately after closing the db and cause StorageAreaSync
+ // to reopen the db before the db is deleted by a StorageTracker thread.
+ // In this case, reopening the db in StorageAreaSync will cancel a pending
+ // StorageTracker db deletion.
+ WebStorageNamespaceProvider::clearLocalStorageForOrigin(origin);
+
+ String originId = origin->databaseIdentifier();
+
+ {
+ LockHolder locker(m_originSetMutex);
+ willDeleteOrigin(originId);
+ m_originSet.remove(originId);
+ }
+
+ String originIdCopy = originId.isolatedCopy();
+ m_thread->dispatch([this, originIdCopy] {
+ syncDeleteOrigin(originIdCopy);
+ });
+}
+
+void StorageTracker::syncDeleteOrigin(const String& originIdentifier)
+{
+ ASSERT(!isMainThread());
+
+ SQLiteTransactionInProgressAutoCounter transactionCounter;
+
+ LockHolder locker(m_databaseMutex);
+
+ if (!canDeleteOrigin(originIdentifier)) {
+ LOG_ERROR("Attempted to delete origin '%s' while it was being created\n", originIdentifier.ascii().data());
+ return;
+ }
+
+ openTrackerDatabase(false);
+ if (!m_database.isOpen())
+ return;
+
+ String path = databasePathForOrigin(originIdentifier);
+ if (path.isEmpty()) {
+ // It is possible to get a request from the API to delete the storage for an origin that
+ // has no such storage.
+ return;
+ }
+
+ SQLiteStatement deleteStatement(m_database, "DELETE FROM Origins where origin=?");
+ if (deleteStatement.prepare() != SQLITE_OK) {
+ LOG_ERROR("Unable to prepare deletion of origin '%s'", originIdentifier.ascii().data());
+ return;
+ }
+ deleteStatement.bindText(1, originIdentifier);
+ if (!deleteStatement.executeCommand()) {
+ LOG_ERROR("Unable to execute deletion of origin '%s'", originIdentifier.ascii().data());
+ return;
+ }
+
+ deleteFile(path);
+
+ bool shouldDeleteTrackerFiles = false;
+ {
+ LockHolder locker(m_originSetMutex);
+ m_originSet.remove(originIdentifier);
+ shouldDeleteTrackerFiles = m_originSet.isEmpty();
+ }
+
+ if (shouldDeleteTrackerFiles) {
+#if PLATFORM(IOS)
+ truncateDatabaseFile(m_database);
+#endif
+ m_database.close();
+#if !PLATFORM(IOS)
+ deleteFile(trackerDatabasePath());
+ deleteEmptyDirectory(m_storageDirectoryPath);
+#endif
+ }
+
+ {
+ LockHolder locker(m_clientMutex);
+ if (m_client)
+ m_client->dispatchDidModifyOrigin(originIdentifier);
+ }
+}
+
+void StorageTracker::willDeleteAllOrigins()
+{
+ ASSERT(!m_originSetMutex.tryLock());
+
+ OriginSet::const_iterator end = m_originSet.end();
+ for (OriginSet::const_iterator it = m_originSet.begin(); it != end; ++it)
+ m_originsBeingDeleted.add((*it).isolatedCopy());
+}
+
+void StorageTracker::willDeleteOrigin(const String& originIdentifier)
+{
+ ASSERT(isMainThread());
+ ASSERT(!m_originSetMutex.tryLock());
+
+ m_originsBeingDeleted.add(originIdentifier);
+}
+
+bool StorageTracker::canDeleteOrigin(const String& originIdentifier)
+{
+ ASSERT(!m_databaseMutex.tryLock());
+ LockHolder locker(m_originSetMutex);
+ return m_originsBeingDeleted.contains(originIdentifier);
+}
+
+void StorageTracker::cancelDeletingOrigin(const String& originIdentifier)
+{
+ if (!m_isActive)
+ return;
+
+ LockHolder locker(m_databaseMutex);
+ {
+ LockHolder locker(m_originSetMutex);
+ if (!m_originsBeingDeleted.isEmpty())
+ m_originsBeingDeleted.remove(originIdentifier);
+ }
+}
+
+bool StorageTracker::isActive()
+{
+ return m_isActive;
+}
+
+void StorageTracker::setIsActive(bool flag)
+{
+ m_isActive = flag;
+}
+
+String StorageTracker::databasePathForOrigin(const String& originIdentifier)
+{
+ ASSERT(!m_databaseMutex.tryLock());
+ ASSERT(m_isActive);
+
+ if (!m_database.isOpen())
+ return String();
+
+ SQLiteTransactionInProgressAutoCounter transactionCounter;
+
+ SQLiteStatement pathStatement(m_database, "SELECT path FROM Origins WHERE origin=?");
+ if (pathStatement.prepare() != SQLITE_OK) {
+ LOG_ERROR("Unable to prepare selection of path for origin '%s'", originIdentifier.ascii().data());
+ return String();
+ }
+ pathStatement.bindText(1, originIdentifier);
+ int result = pathStatement.step();
+ if (result != SQLITE_ROW)
+ return String();
+
+ return pathStatement.getColumnText(0);
+}
+
+long long StorageTracker::diskUsageForOrigin(SecurityOrigin* origin)
+{
+ if (!m_isActive)
+ return 0;
+
+ LockHolder locker(m_databaseMutex);
+
+ String path = databasePathForOrigin(origin->databaseIdentifier());
+ if (path.isEmpty())
+ return 0;
+
+ long long size;
+ return getFileSize(path, size) ? size : 0;
+}
+
+} // namespace WebCore
diff --git a/Source/WebKit/Storage/StorageTracker.h b/Source/WebKit/Storage/StorageTracker.h
new file mode 100644
index 000000000..a999da299
--- /dev/null
+++ b/Source/WebKit/Storage/StorageTracker.h
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2011 Apple 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 INC. 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 INC. 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 StorageTracker_h
+#define StorageTracker_h
+
+#include <WebCore/SQLiteDatabase.h>
+#include <wtf/HashSet.h>
+#include <wtf/Vector.h>
+#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class StorageTask;
+class StorageThread;
+class SecurityOrigin;
+class StorageTrackerClient;
+
+class StorageTracker {
+ WTF_MAKE_NONCOPYABLE(StorageTracker);
+ WTF_MAKE_FAST_ALLOCATED;
+public:
+ WEBCORE_EXPORT static void initializeTracker(const String& storagePath, StorageTrackerClient*);
+ WEBCORE_EXPORT static StorageTracker& tracker();
+
+ void setDatabaseDirectoryPath(const String&);
+ String databaseDirectoryPath() const;
+
+ void setOriginDetails(const String& originIdentifier, const String& databaseFile);
+
+ WEBCORE_EXPORT void deleteAllOrigins();
+ WEBCORE_EXPORT void deleteOrigin(SecurityOrigin*);
+ void deleteOriginWithIdentifier(const String& originIdentifier);
+ WEBCORE_EXPORT void origins(Vector<RefPtr<SecurityOrigin>>& result);
+ WEBCORE_EXPORT long long diskUsageForOrigin(SecurityOrigin*);
+
+ void cancelDeletingOrigin(const String& originIdentifier);
+
+ bool isActive();
+
+ double storageDatabaseIdleInterval() { return m_StorageDatabaseIdleInterval; }
+ void setStorageDatabaseIdleInterval(double interval) { m_StorageDatabaseIdleInterval = interval; }
+
+ WEBCORE_EXPORT void syncFileSystemAndTrackerDatabase();
+
+private:
+ explicit StorageTracker(const String& storagePath);
+
+ void internalInitialize();
+
+ String trackerDatabasePath();
+ void openTrackerDatabase(bool createIfDoesNotExist);
+
+ void importOriginIdentifiers();
+ void finishedImportingOriginIdentifiers();
+
+ void deleteTrackerFiles();
+ String databasePathForOrigin(const String& originIdentifier);
+
+ bool canDeleteOrigin(const String& originIdentifier);
+ void willDeleteOrigin(const String& originIdentifier);
+ void willDeleteAllOrigins();
+
+ void originFilePaths(Vector<String>& paths);
+
+ void setIsActive(bool);
+
+ // Sync to disk on background thread.
+ void syncDeleteAllOrigins();
+ void syncDeleteOrigin(const String& originIdentifier);
+ void syncSetOriginDetails(const String& originIdentifier, const String& databaseFile);
+ void syncImportOriginIdentifiers();
+
+ // Mutex for m_database and m_storageDirectoryPath.
+ Lock m_databaseMutex;
+ SQLiteDatabase m_database;
+ String m_storageDirectoryPath;
+
+ Lock m_clientMutex;
+ StorageTrackerClient* m_client;
+
+ // Guard for m_originSet and m_originsBeingDeleted.
+ Lock m_originSetMutex;
+ typedef HashSet<String> OriginSet;
+ OriginSet m_originSet;
+ OriginSet m_originsBeingDeleted;
+
+ std::unique_ptr<StorageThread> m_thread;
+
+ bool m_isActive;
+ bool m_needsInitialization;
+ double m_StorageDatabaseIdleInterval;
+};
+
+} // namespace WebCore
+
+#endif // StorageTracker_h
diff --git a/Source/WebKit/mac/Misc/WebLocalizableStringsInternal.mm b/Source/WebKit/Storage/StorageTrackerClient.h
index 9e6569f7a..71a6029fa 100644
--- a/Source/WebKit/mac/Misc/WebLocalizableStringsInternal.mm
+++ b/Source/WebKit/Storage/StorageTrackerClient.h
@@ -22,15 +22,21 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
+
+#ifndef StorageTrackerClient_h
+#define StorageTrackerClient_h
-#import "WebLocalizableStringsInternal.h"
+#include <wtf/Forward.h>
-#import <WebCore/LocalizedStrings.h>
-#import <wtf/text/WTFString.h>
+namespace WebCore {
-using namespace WebCore;
+class StorageTrackerClient {
+public:
+ virtual ~StorageTrackerClient() { }
+ virtual void dispatchDidModifyOrigin(const String& originIdentifier) = 0;
+ virtual void didFinishLoadingOrigins() = 0;
+};
-NSString *WebLocalizedStringInternal(const char* key)
-{
- return localizedString(key);
-}
+} // namespace WebCore
+
+#endif // StorageTrackerClient_h
diff --git a/Source/WebKit/mac/WebCoreSupport/WebKitFullScreenListener.mm b/Source/WebKit/Storage/WebDatabaseProvider.cpp
index b0d28eb56..fafaf12b0 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebKitFullScreenListener.mm
+++ b/Source/WebKit/Storage/WebDatabaseProvider.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,48 +23,37 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#import "WebKitFullScreenListener.h"
+#include "WebDatabaseProvider.h"
-#import <WebCore/Element.h>
+#include <WebCore/SessionID.h>
+#include <wtf/NeverDestroyed.h>
-#if ENABLE(FULLSCREEN_API)
-
-using namespace WebCore;
-
-@implementation WebKitFullScreenListener
-
-- (id)initWithElement:(Element*)element
+WebDatabaseProvider& WebDatabaseProvider::singleton()
{
- if (!(self = [super init]))
- return nil;
+ static WebDatabaseProvider& databaseProvider = adoptRef(*new WebDatabaseProvider).leakRef();
- _element = element;
- return self;
+ return databaseProvider;
}
-- (void)webkitWillEnterFullScreen
+WebDatabaseProvider::WebDatabaseProvider()
{
- if (_element)
- _element->document()->webkitWillEnterFullScreenForElement(_element.get());
}
-- (void)webkitDidEnterFullScreen
+WebDatabaseProvider::~WebDatabaseProvider()
{
- if (_element)
- _element->document()->webkitDidEnterFullScreenForElement(_element.get());
}
-- (void)webkitWillExitFullScreen
+#if ENABLE(INDEXED_DATABASE)
+WebCore::IDBClient::IDBConnectionToServer& WebDatabaseProvider::idbConnectionToServerForSession(const WebCore::SessionID& sessionID)
{
- if (_element)
- _element->document()->webkitWillExitFullScreenForElement(_element.get());
+ auto result = m_idbServerMap.add(sessionID.sessionID(), nullptr);
+ if (result.isNewEntry) {
+ if (sessionID.isEphemeral())
+ result.iterator->value = WebCore::InProcessIDBServer::create();
+ else
+ result.iterator->value = WebCore::InProcessIDBServer::create(indexedDatabaseDirectoryPath());
+ }
+
+ return result.iterator->value->connectionToServer();
}
-
-- (void)webkitDidExitFullScreen
-{
- if (_element)
- _element->document()->webkitDidExitFullScreenForElement(_element.get());
-}
-
-@end
#endif
diff --git a/Source/WebKit/mac/WebCoreSupport/WebGeolocationClient.h b/Source/WebKit/Storage/WebDatabaseProvider.h
index 5443622f9..34f57fbf8 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebGeolocationClient.h
+++ b/Source/WebKit/Storage/WebDatabaseProvider.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2015 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,30 +23,36 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#import <WebCore/GeolocationClient.h>
+#ifndef WebDatabaseProvider_h
+#define WebDatabaseProvider_h
-namespace WebCore {
-class Geolocation;
-class GeolocationPosition;
-}
+#include <WebCore/DatabaseProvider.h>
+#include <wtf/Forward.h>
+#include <wtf/HashMap.h>
+#include <wtf/RefPtr.h>
-@class WebView;
+#if ENABLE(INDEXED_DATABASE)
+#include <WebCore/InProcessIDBServer.h>
+#endif
-class WebGeolocationClient : public WebCore::GeolocationClient {
+class WebDatabaseProvider final : public WebCore::DatabaseProvider {
+ friend class NeverDestroyed<WebDatabaseProvider>;
public:
- WebGeolocationClient(WebView *);
- WebView *webView() { return m_webView; }
+ static WebDatabaseProvider& singleton();
+ virtual ~WebDatabaseProvider();
- virtual void geolocationDestroyed() OVERRIDE;
- virtual void startUpdating() OVERRIDE;
- virtual void stopUpdating() OVERRIDE;
- virtual void setEnableHighAccuracy(bool) OVERRIDE { }
+#if ENABLE(INDEXED_DATABASE)
+ virtual WebCore::IDBClient::IDBConnectionToServer& idbConnectionToServerForSession(const WebCore::SessionID&) override;
+#endif
- virtual WebCore::GeolocationPosition* lastPosition() OVERRIDE;
+private:
+ explicit WebDatabaseProvider();
- virtual void requestPermission(WebCore::Geolocation*) OVERRIDE;
- virtual void cancelPermissionRequest(WebCore::Geolocation*) OVERRIDE { };
+ static String indexedDatabaseDirectoryPath();
-private:
- WebView *m_webView;
+#if ENABLE(INDEXED_DATABASE)
+ HashMap<uint64_t, RefPtr<WebCore::InProcessIDBServer>> m_idbServerMap;
+#endif
};
+
+#endif // WebDatabaseProvider_h
diff --git a/Source/WebKit/Storage/WebStorageNamespaceProvider.cpp b/Source/WebKit/Storage/WebStorageNamespaceProvider.cpp
new file mode 100644
index 000000000..f71c7c2b2
--- /dev/null
+++ b/Source/WebKit/Storage/WebStorageNamespaceProvider.cpp
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2014 Apple 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 INC. 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 INC. 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 "WebStorageNamespaceProvider.h"
+
+#include "StorageNamespaceImpl.h"
+#include <wtf/NeverDestroyed.h>
+
+using namespace WebCore;
+
+static HashSet<WebStorageNamespaceProvider*>& storageNamespaceProviders()
+{
+ static NeverDestroyed<HashSet<WebStorageNamespaceProvider*>> storageNamespaceProviders;
+
+ return storageNamespaceProviders;
+}
+
+RefPtr<WebStorageNamespaceProvider> WebStorageNamespaceProvider::create(const String& localStorageDatabasePath)
+{
+ return adoptRef(new WebStorageNamespaceProvider(localStorageDatabasePath));
+}
+
+WebStorageNamespaceProvider::WebStorageNamespaceProvider(const String& localStorageDatabasePath)
+ : m_localStorageDatabasePath(localStorageDatabasePath.isNull() ? emptyString() : localStorageDatabasePath)
+{
+ storageNamespaceProviders().add(this);
+}
+
+WebStorageNamespaceProvider::~WebStorageNamespaceProvider()
+{
+ ASSERT(storageNamespaceProviders().contains(this));
+ storageNamespaceProviders().remove(this);
+}
+
+void WebStorageNamespaceProvider::closeLocalStorage()
+{
+ for (const auto& storageNamespaceProvider : storageNamespaceProviders()) {
+ if (auto* localStorageNamespace = storageNamespaceProvider->optionalLocalStorageNamespace())
+ static_cast<StorageNamespaceImpl*>(localStorageNamespace)->close();
+ }
+}
+
+void WebStorageNamespaceProvider::clearLocalStorageForAllOrigins()
+{
+ for (const auto& storageNamespaceProvider : storageNamespaceProviders()) {
+ if (auto* localStorageNamespace = storageNamespaceProvider->optionalLocalStorageNamespace())
+ static_cast<StorageNamespaceImpl*>(localStorageNamespace)->clearAllOriginsForDeletion();
+ }
+}
+
+void WebStorageNamespaceProvider::clearLocalStorageForOrigin(SecurityOrigin* origin)
+{
+ for (const auto& storageNamespaceProvider : storageNamespaceProviders()) {
+ if (auto* localStorageNamespace = storageNamespaceProvider->optionalLocalStorageNamespace())
+ static_cast<StorageNamespaceImpl*>(localStorageNamespace)->clearOriginForDeletion(origin);
+ }
+}
+
+void WebStorageNamespaceProvider::closeIdleLocalStorageDatabases()
+{
+ for (const auto& storageNamespaceProvider : storageNamespaceProviders()) {
+ if (auto* localStorageNamespace = storageNamespaceProvider->optionalLocalStorageNamespace())
+ static_cast<StorageNamespaceImpl*>(localStorageNamespace)->closeIdleLocalStorageDatabases();
+ }
+}
+
+void WebStorageNamespaceProvider::syncLocalStorage()
+{
+ for (const auto& storageNamespaceProvider : storageNamespaceProviders()) {
+ if (auto* localStorageNamespace = storageNamespaceProvider->optionalLocalStorageNamespace())
+ static_cast<StorageNamespaceImpl*>(localStorageNamespace)->sync();
+ }
+}
+
+RefPtr<StorageNamespace> WebStorageNamespaceProvider::createSessionStorageNamespace(Page&, unsigned quota)
+{
+ return StorageNamespaceImpl::createSessionStorageNamespace(quota);
+}
+
+RefPtr<StorageNamespace> WebStorageNamespaceProvider::createLocalStorageNamespace(unsigned quota)
+{
+ return StorageNamespaceImpl::getOrCreateLocalStorageNamespace(m_localStorageDatabasePath, quota);
+}
+
+RefPtr<StorageNamespace> WebStorageNamespaceProvider::createTransientLocalStorageNamespace(SecurityOrigin&, unsigned quota)
+{
+ // FIXME: A smarter implementation would create a special namespace type instead of just piggy-backing off
+ // SessionStorageNamespace here.
+ return StorageNamespaceImpl::createSessionStorageNamespace(quota);
+}
diff --git a/Source/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.h b/Source/WebKit/Storage/WebStorageNamespaceProvider.h
index 64719211e..c9709be76 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.h
+++ b/Source/WebKit/Storage/WebStorageNamespaceProvider.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,35 +23,32 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebFrameNetworkingContext_h
-#define WebFrameNetworkingContext_h
+#ifndef WebStorageNamespaceProvider_h
+#define WebStorageNamespaceProvider_h
-#include <WebCore/FrameNetworkingContext.h>
+#include <WebCore/StorageNamespaceProvider.h>
-class WebFrameNetworkingContext : public WebCore::FrameNetworkingContext {
+class WebStorageNamespaceProvider final : public WebCore::StorageNamespaceProvider {
public:
- static PassRefPtr<WebFrameNetworkingContext> create(WebCore::Frame* frame)
- {
- return adoptRef(new WebFrameNetworkingContext(frame));
- }
+ static RefPtr<WebStorageNamespaceProvider> create(const String& localStorageDatabasePath);
+ virtual ~WebStorageNamespaceProvider();
- static void ensurePrivateBrowsingSession();
- static void destroyPrivateBrowsingSession();
+ static void closeLocalStorage();
-private:
+ static void clearLocalStorageForAllOrigins();
+ static void clearLocalStorageForOrigin(WebCore::SecurityOrigin*);
+ static void closeIdleLocalStorageDatabases();
+ // DumpRenderTree helper that triggers a StorageArea sync.
+ static void syncLocalStorage();
- WebFrameNetworkingContext(WebCore::Frame* frame)
- : WebCore::FrameNetworkingContext(frame)
- {
- }
+private:
+ explicit WebStorageNamespaceProvider(const String& localStorageDatabasePath);
- virtual bool needsSiteSpecificQuirks() const OVERRIDE;
- virtual bool localFileContentSniffingEnabled() const OVERRIDE;
- virtual SchedulePairHashSet* scheduledRunLoopPairs() const OVERRIDE;
- virtual RetainPtr<CFDataRef> sourceApplicationAuditData() const OVERRIDE;
- virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&) const OVERRIDE;
- virtual WebCore::NetworkStorageSession& storageSession() const OVERRIDE;
+ virtual RefPtr<WebCore::StorageNamespace> createSessionStorageNamespace(WebCore::Page&, unsigned quota) override;
+ virtual RefPtr<WebCore::StorageNamespace> createLocalStorageNamespace(unsigned quota) override;
+ virtual RefPtr<WebCore::StorageNamespace> createTransientLocalStorageNamespace(WebCore::SecurityOrigin&, unsigned quota) override;
+ const String m_localStorageDatabasePath;
};
-#endif
+#endif // WebStorageNamespaceProvider_h
diff --git a/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.cpp b/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.cpp
new file mode 100644
index 000000000..2546d54d2
--- /dev/null
+++ b/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.cpp
@@ -0,0 +1,383 @@
+/*
+ Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de)
+ Copyright (C) 2001 Dirk Mueller (mueller@kde.org)
+ Copyright (C) 2002 Waldo Bastian (bastian@kde.org)
+ Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com)
+ Copyright (C) 2004-2008, 2015 Apple Inc. All rights reserved.
+ Copyright (C) 2010 Google Inc. All rights reserved.
+
+ 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 "WebResourceLoadScheduler.h"
+
+#include <WebCore/Document.h>
+#include <WebCore/DocumentLoader.h>
+#include <WebCore/Frame.h>
+#include <WebCore/FrameLoader.h>
+#include <WebCore/Logging.h>
+#include <WebCore/NetscapePlugInStreamLoader.h>
+#include <WebCore/PingHandle.h>
+#include <WebCore/PlatformStrategies.h>
+#include <WebCore/ResourceHandle.h>
+#include <WebCore/ResourceRequest.h>
+#include <WebCore/SubresourceLoader.h>
+#include <WebCore/URL.h>
+#include <wtf/MainThread.h>
+#include <wtf/TemporaryChange.h>
+#include <wtf/text/CString.h>
+
+#if PLATFORM(IOS)
+#include <WebCore/RuntimeApplicationChecksIOS.h>
+#endif
+
+#if USE(QUICK_LOOK)
+#include <WebCore/QuickLook.h>
+#endif
+
+// Match the parallel connection count used by the networking layer.
+static unsigned maxRequestsInFlightPerHost;
+#if !PLATFORM(IOS)
+static const unsigned maxRequestsInFlightForNonHTTPProtocols = 20;
+#else
+// Limiting this seems to regress performance in some local cases so let's just make it large.
+static const unsigned maxRequestsInFlightForNonHTTPProtocols = 10000;
+#endif
+
+using namespace WebCore;
+
+WebResourceLoadScheduler& webResourceLoadScheduler()
+{
+ return static_cast<WebResourceLoadScheduler&>(*platformStrategies()->loaderStrategy());
+}
+
+WebResourceLoadScheduler::HostInformation* WebResourceLoadScheduler::hostForURL(const URL& url, CreateHostPolicy createHostPolicy)
+{
+ if (!url.protocolIsInHTTPFamily())
+ return m_nonHTTPProtocolHost;
+
+ m_hosts.checkConsistency();
+ String hostName = url.host();
+ HostInformation* host = m_hosts.get(hostName);
+ if (!host && createHostPolicy == CreateIfNotFound) {
+ host = new HostInformation(hostName, maxRequestsInFlightPerHost);
+ m_hosts.add(hostName, host);
+ }
+ return host;
+}
+
+WebResourceLoadScheduler::WebResourceLoadScheduler()
+ : m_nonHTTPProtocolHost(new HostInformation(String(), maxRequestsInFlightForNonHTTPProtocols))
+ , m_requestTimer(*this, &WebResourceLoadScheduler::requestTimerFired)
+ , m_suspendPendingRequestsCount(0)
+ , m_isSerialLoadingEnabled(false)
+{
+ maxRequestsInFlightPerHost = initializeMaximumHTTPConnectionCountPerHost();
+}
+
+WebResourceLoadScheduler::~WebResourceLoadScheduler()
+{
+}
+
+RefPtr<SubresourceLoader> WebResourceLoadScheduler::loadResource(Frame* frame, CachedResource* resource, const ResourceRequest& request, const ResourceLoaderOptions& options)
+{
+ RefPtr<SubresourceLoader> loader = SubresourceLoader::create(frame, resource, request, options);
+ if (loader)
+ scheduleLoad(loader.get());
+#if PLATFORM(IOS)
+ // Since we defer loader initialization until scheduling on iOS, the frame
+ // load delegate that would be called in SubresourceLoader::create() on
+ // other ports might be called in scheduleLoad() instead. Our contract to
+ // callers of this method is that a null loader is returned if the load was
+ // cancelled by a frame load delegate.
+ if (!loader || loader->reachedTerminalState())
+ return nullptr;
+#endif
+ return loader;
+}
+
+void WebResourceLoadScheduler::loadResourceSynchronously(NetworkingContext* context, unsigned long, const ResourceRequest& request, StoredCredentials storedCredentials, ClientCredentialPolicy, ResourceError& error, ResourceResponse& response, Vector<char>& data)
+{
+ ResourceHandle::loadResourceSynchronously(context, request, storedCredentials, error, response, data);
+}
+
+RefPtr<NetscapePlugInStreamLoader> WebResourceLoadScheduler::schedulePluginStreamLoad(Frame* frame, NetscapePlugInStreamLoaderClient* client, const ResourceRequest& request)
+{
+ RefPtr<NetscapePlugInStreamLoader> loader = NetscapePlugInStreamLoader::create(frame, client, request);
+ if (loader)
+ scheduleLoad(loader.get());
+ return loader;
+}
+
+void WebResourceLoadScheduler::scheduleLoad(ResourceLoader* resourceLoader)
+{
+ ASSERT(resourceLoader);
+
+ LOG(ResourceLoading, "WebResourceLoadScheduler::load resource %p '%s'", resourceLoader, resourceLoader->url().string().latin1().data());
+
+#if PLATFORM(IOS)
+ // If there's a web archive resource for this URL, we don't need to schedule the load since it will never touch the network.
+ if (!isSuspendingPendingRequests() && resourceLoader->documentLoader()->archiveResourceForURL(resourceLoader->iOSOriginalRequest().url())) {
+ resourceLoader->startLoading();
+ return;
+ }
+#else
+ if (resourceLoader->documentLoader()->archiveResourceForURL(resourceLoader->request().url())) {
+ resourceLoader->start();
+ return;
+ }
+#endif
+
+#if PLATFORM(IOS)
+ HostInformation* host = hostForURL(resourceLoader->iOSOriginalRequest().url(), CreateIfNotFound);
+#else
+ HostInformation* host = hostForURL(resourceLoader->url(), CreateIfNotFound);
+#endif
+
+ ResourceLoadPriority priority = resourceLoader->request().priority();
+
+ bool hadRequests = host->hasRequests();
+ host->schedule(resourceLoader, priority);
+
+#if PLATFORM(COCOA) || USE(CFNETWORK)
+ if (ResourceRequest::resourcePrioritiesEnabled() && !isSuspendingPendingRequests()) {
+ // Serve all requests at once to keep the pipeline full at the network layer.
+ // FIXME: Does this code do anything useful, given that we also set maxRequestsInFlightPerHost to effectively unlimited on these platforms?
+ servePendingRequests(host, ResourceLoadPriority::VeryLow);
+ return;
+ }
+#endif
+
+#if PLATFORM(IOS)
+ if ((priority > ResourceLoadPriority::Low || !resourceLoader->iOSOriginalRequest().url().protocolIsInHTTPFamily() || (priority == ResourceLoadPriority::Low && !hadRequests)) && !isSuspendingPendingRequests()) {
+ // Try to request important resources immediately.
+ servePendingRequests(host, priority);
+ return;
+ }
+#else
+ if (priority > ResourceLoadPriority::Low || !resourceLoader->url().protocolIsInHTTPFamily() || (priority == ResourceLoadPriority::Low && !hadRequests)) {
+ // Try to request important resources immediately.
+ servePendingRequests(host, priority);
+ return;
+ }
+#endif
+
+ // Handle asynchronously so early low priority requests don't
+ // get scheduled before later high priority ones.
+ scheduleServePendingRequests();
+}
+
+void WebResourceLoadScheduler::remove(ResourceLoader* resourceLoader)
+{
+ ASSERT(resourceLoader);
+
+ HostInformation* host = hostForURL(resourceLoader->url());
+ if (host)
+ host->remove(resourceLoader);
+#if PLATFORM(IOS)
+ // ResourceLoader::url() doesn't start returning the correct value until the load starts. If we get canceled before that, we need to look for originalRequest url instead.
+ // FIXME: ResourceLoader::url() should be made to return a sensible value at all times.
+ if (!resourceLoader->iOSOriginalRequest().isNull()) {
+ HostInformation* originalHost = hostForURL(resourceLoader->iOSOriginalRequest().url());
+ if (originalHost && originalHost != host)
+ originalHost->remove(resourceLoader);
+ }
+#endif
+ scheduleServePendingRequests();
+}
+
+void WebResourceLoadScheduler::setDefersLoading(ResourceLoader*, bool)
+{
+}
+
+void WebResourceLoadScheduler::crossOriginRedirectReceived(ResourceLoader* resourceLoader, const URL& redirectURL)
+{
+ HostInformation* oldHost = hostForURL(resourceLoader->url());
+ ASSERT(oldHost);
+ if (!oldHost)
+ return;
+
+ HostInformation* newHost = hostForURL(redirectURL, CreateIfNotFound);
+
+ if (oldHost->name() == newHost->name())
+ return;
+
+ newHost->addLoadInProgress(resourceLoader);
+ oldHost->remove(resourceLoader);
+}
+
+void WebResourceLoadScheduler::servePendingRequests(ResourceLoadPriority minimumPriority)
+{
+ LOG(ResourceLoading, "WebResourceLoadScheduler::servePendingRequests. m_suspendPendingRequestsCount=%d", m_suspendPendingRequestsCount);
+ if (isSuspendingPendingRequests())
+ return;
+
+ m_requestTimer.stop();
+
+ servePendingRequests(m_nonHTTPProtocolHost, minimumPriority);
+
+ Vector<HostInformation*> hostsToServe;
+ copyValuesToVector(m_hosts, hostsToServe);
+
+ for (auto* host : hostsToServe) {
+ if (host->hasRequests())
+ servePendingRequests(host, minimumPriority);
+ else
+ delete m_hosts.take(host->name());
+ }
+}
+
+void WebResourceLoadScheduler::servePendingRequests(HostInformation* host, ResourceLoadPriority minimumPriority)
+{
+ LOG(ResourceLoading, "WebResourceLoadScheduler::servePendingRequests HostInformation.m_name='%s'", host->name().latin1().data());
+
+ auto priority = ResourceLoadPriority::Highest;
+ while (true) {
+ auto& requestsPending = host->requestsPending(priority);
+ while (!requestsPending.isEmpty()) {
+ RefPtr<ResourceLoader> resourceLoader = requestsPending.first();
+
+ // For named hosts - which are only http(s) hosts - we should always enforce the connection limit.
+ // For non-named hosts - everything but http(s) - we should only enforce the limit if the document isn't done parsing
+ // and we don't know all stylesheets yet.
+ Document* document = resourceLoader->frameLoader() ? resourceLoader->frameLoader()->frame().document() : 0;
+ bool shouldLimitRequests = !host->name().isNull() || (document && (document->parsing() || !document->haveStylesheetsLoaded()));
+ if (shouldLimitRequests && host->limitRequests(priority))
+ return;
+
+ requestsPending.removeFirst();
+ host->addLoadInProgress(resourceLoader.get());
+#if PLATFORM(IOS)
+ if (!applicationIsWebProcess()) {
+ resourceLoader->startLoading();
+ return;
+ }
+#endif
+ resourceLoader->start();
+ }
+ if (priority == minimumPriority)
+ return;
+ --priority;
+ }
+}
+
+void WebResourceLoadScheduler::suspendPendingRequests()
+{
+ ++m_suspendPendingRequestsCount;
+}
+
+void WebResourceLoadScheduler::resumePendingRequests()
+{
+ ASSERT(m_suspendPendingRequestsCount);
+ --m_suspendPendingRequestsCount;
+ if (m_suspendPendingRequestsCount)
+ return;
+ if (!m_hosts.isEmpty() || m_nonHTTPProtocolHost->hasRequests())
+ scheduleServePendingRequests();
+}
+
+void WebResourceLoadScheduler::scheduleServePendingRequests()
+{
+ LOG(ResourceLoading, "WebResourceLoadScheduler::scheduleServePendingRequests, m_requestTimer.isActive()=%u", m_requestTimer.isActive());
+ if (!m_requestTimer.isActive())
+ m_requestTimer.startOneShot(0);
+}
+
+void WebResourceLoadScheduler::requestTimerFired()
+{
+ LOG(ResourceLoading, "WebResourceLoadScheduler::requestTimerFired\n");
+ servePendingRequests();
+}
+
+WebResourceLoadScheduler::HostInformation::HostInformation(const String& name, unsigned maxRequestsInFlight)
+ : m_name(name)
+ , m_maxRequestsInFlight(maxRequestsInFlight)
+{
+}
+
+WebResourceLoadScheduler::HostInformation::~HostInformation()
+{
+ ASSERT(!hasRequests());
+}
+
+unsigned WebResourceLoadScheduler::HostInformation::priorityToIndex(ResourceLoadPriority priority)
+{
+ switch (priority) {
+ case ResourceLoadPriority::VeryLow:
+ return 0;
+ case ResourceLoadPriority::Low:
+ return 1;
+ case ResourceLoadPriority::Medium:
+ return 2;
+ case ResourceLoadPriority::High:
+ return 3;
+ case ResourceLoadPriority::VeryHigh:
+ return 4;
+ }
+ ASSERT_NOT_REACHED();
+ return 0;
+}
+
+void WebResourceLoadScheduler::HostInformation::schedule(ResourceLoader* resourceLoader, ResourceLoadPriority priority)
+{
+ m_requestsPending[priorityToIndex(priority)].append(resourceLoader);
+}
+
+void WebResourceLoadScheduler::HostInformation::addLoadInProgress(ResourceLoader* resourceLoader)
+{
+ LOG(ResourceLoading, "HostInformation '%s' loading '%s'. Current count %d", m_name.latin1().data(), resourceLoader->url().string().latin1().data(), m_requestsLoading.size());
+ m_requestsLoading.add(resourceLoader);
+}
+
+void WebResourceLoadScheduler::HostInformation::remove(ResourceLoader* resourceLoader)
+{
+ if (m_requestsLoading.remove(resourceLoader))
+ return;
+
+ for (auto& requestQueue : m_requestsPending) {
+ for (auto it = requestQueue.begin(), end = requestQueue.end(); it != end; ++it) {
+ if (*it == resourceLoader) {
+ requestQueue.remove(it);
+ return;
+ }
+ }
+ }
+}
+
+bool WebResourceLoadScheduler::HostInformation::hasRequests() const
+{
+ if (!m_requestsLoading.isEmpty())
+ return true;
+ for (auto& requestQueue : m_requestsPending) {
+ if (!requestQueue.isEmpty())
+ return true;
+ }
+ return false;
+}
+
+bool WebResourceLoadScheduler::HostInformation::limitRequests(ResourceLoadPriority priority) const
+{
+ if (priority == ResourceLoadPriority::VeryLow && !m_requestsLoading.isEmpty())
+ return true;
+ return m_requestsLoading.size() >= (webResourceLoadScheduler().isSerialLoadingEnabled() ? 1 : m_maxRequestsInFlight);
+}
+
+void WebResourceLoadScheduler::createPingHandle(NetworkingContext* networkingContext, ResourceRequest& request, bool shouldUseCredentialStorage)
+{
+ // PingHandle manages its own lifetime, deleting itself when its purpose has been fulfilled.
+ new PingHandle(networkingContext, request, shouldUseCredentialStorage, PingHandle::UsesAsyncCallbacks::No);
+}
+
diff --git a/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.h b/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.h
new file mode 100644
index 000000000..74ea480b5
--- /dev/null
+++ b/Source/WebKit/WebCoreSupport/WebResourceLoadScheduler.h
@@ -0,0 +1,119 @@
+/*
+ Copyright (C) 1998 Lars Knoll (knoll@mpi-hd.mpg.de)
+ Copyright (C) 2001 Dirk Mueller <mueller@kde.org>
+ Copyright (C) 2004, 2006-2008, 2015 Apple Inc. All rights reserved.
+ Copyright (C) 2010 Google Inc. All rights reserved.
+
+ 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 WebResourceLoadScheduler_h
+#define WebResourceLoadScheduler_h
+
+#include <WebCore/FrameLoaderTypes.h>
+#include <WebCore/LoaderStrategy.h>
+#include <WebCore/ResourceLoadPriority.h>
+#include <WebCore/ResourceLoaderOptions.h>
+#include <WebCore/Timer.h>
+#include <array>
+#include <wtf/Deque.h>
+#include <wtf/HashMap.h>
+#include <wtf/HashSet.h>
+#include <wtf/Noncopyable.h>
+#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
+
+class WebResourceLoadScheduler;
+
+WebResourceLoadScheduler& webResourceLoadScheduler();
+
+class WebResourceLoadScheduler : public WebCore::LoaderStrategy {
+ WTF_MAKE_NONCOPYABLE(WebResourceLoadScheduler); WTF_MAKE_FAST_ALLOCATED;
+public:
+ WebResourceLoadScheduler();
+
+ RefPtr<WebCore::SubresourceLoader> loadResource(WebCore::Frame*, WebCore::CachedResource*, const WebCore::ResourceRequest&, const WebCore::ResourceLoaderOptions&) override;
+ void loadResourceSynchronously(WebCore::NetworkingContext*, unsigned long, const WebCore::ResourceRequest&, WebCore::StoredCredentials, WebCore::ClientCredentialPolicy, WebCore::ResourceError&, WebCore::ResourceResponse&, Vector<char>&) override;
+ void remove(WebCore::ResourceLoader*) override;
+ void setDefersLoading(WebCore::ResourceLoader*, bool) override;
+ void crossOriginRedirectReceived(WebCore::ResourceLoader*, const WebCore::URL& redirectURL) override;
+
+ void servePendingRequests(WebCore::ResourceLoadPriority minimumPriority = WebCore::ResourceLoadPriority::VeryLow) override;
+ void suspendPendingRequests() override;
+ void resumePendingRequests() override;
+
+ void createPingHandle(WebCore::NetworkingContext*, WebCore::ResourceRequest&, bool shouldUseCredentialStorage) override;
+
+ bool isSerialLoadingEnabled() const { return m_isSerialLoadingEnabled; }
+ void setSerialLoadingEnabled(bool b) { m_isSerialLoadingEnabled = b; }
+
+ RefPtr<WebCore::NetscapePlugInStreamLoader> schedulePluginStreamLoad(WebCore::Frame*, WebCore::NetscapePlugInStreamLoaderClient*, const WebCore::ResourceRequest&);
+
+protected:
+ virtual ~WebResourceLoadScheduler();
+
+private:
+ void scheduleLoad(WebCore::ResourceLoader*);
+ void scheduleServePendingRequests();
+ void requestTimerFired();
+
+ bool isSuspendingPendingRequests() const { return !!m_suspendPendingRequestsCount; }
+
+ class HostInformation {
+ WTF_MAKE_NONCOPYABLE(HostInformation); WTF_MAKE_FAST_ALLOCATED;
+ public:
+ HostInformation(const String&, unsigned);
+ ~HostInformation();
+
+ const String& name() const { return m_name; }
+ void schedule(WebCore::ResourceLoader*, WebCore::ResourceLoadPriority = WebCore::ResourceLoadPriority::VeryLow);
+ void addLoadInProgress(WebCore::ResourceLoader*);
+ void remove(WebCore::ResourceLoader*);
+ bool hasRequests() const;
+ bool limitRequests(WebCore::ResourceLoadPriority) const;
+
+ typedef Deque<RefPtr<WebCore::ResourceLoader>> RequestQueue;
+ RequestQueue& requestsPending(WebCore::ResourceLoadPriority priority) { return m_requestsPending[priorityToIndex(priority)]; }
+
+ private:
+ static unsigned priorityToIndex(WebCore::ResourceLoadPriority);
+
+ std::array<RequestQueue, WebCore::resourceLoadPriorityCount> m_requestsPending;
+ typedef HashSet<RefPtr<WebCore::ResourceLoader>> RequestMap;
+ RequestMap m_requestsLoading;
+ const String m_name;
+ const unsigned m_maxRequestsInFlight;
+ };
+
+ enum CreateHostPolicy {
+ CreateIfNotFound,
+ FindOnly
+ };
+
+ HostInformation* hostForURL(const WebCore::URL&, CreateHostPolicy = FindOnly);
+ WEBCORE_EXPORT void servePendingRequests(HostInformation*, WebCore::ResourceLoadPriority);
+
+ typedef HashMap<String, HostInformation*, StringHash> HostMap;
+ HostMap m_hosts;
+ HostInformation* m_nonHTTPProtocolHost;
+
+ WebCore::Timer m_requestTimer;
+
+ unsigned m_suspendPendingRequestsCount;
+ bool m_isSerialLoadingEnabled;
+};
+
+#endif
diff --git a/Source/WebKit/WebCoreSupport/WebViewGroup.cpp b/Source/WebKit/WebCoreSupport/WebViewGroup.cpp
new file mode 100644
index 000000000..d17f22425
--- /dev/null
+++ b/Source/WebKit/WebCoreSupport/WebViewGroup.cpp
@@ -0,0 +1,100 @@
+/*
+ * Copyright (C) 2014 Apple 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 INC. 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 INC. 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 "WebViewGroup.h"
+
+#include "WebStorageNamespaceProvider.h"
+#include "WebView.h"
+#include "WebVisitedLinkStore.h"
+#include <WebCore/UserContentController.h>
+#include <wtf/NeverDestroyed.h>
+#include <wtf/text/StringHash.h>
+
+using namespace WebCore;
+
+// Any named groups will live for the lifetime of the process, thanks to the reference held by the RefPtr.
+static HashMap<String, RefPtr<WebViewGroup>>& webViewGroups()
+{
+ static NeverDestroyed<HashMap<String, RefPtr<WebViewGroup>>> webViewGroups;
+
+ return webViewGroups;
+}
+
+RefPtr<WebViewGroup> WebViewGroup::getOrCreate(const String& name, const String& localStorageDatabasePath)
+{
+ if (name.isEmpty())
+ return adoptRef(new WebViewGroup(String(), localStorageDatabasePath));
+
+ auto& webViewGroup = webViewGroups().add(name, nullptr).iterator->value;
+ if (!webViewGroup)
+ webViewGroup = adoptRef(new WebViewGroup(name, localStorageDatabasePath));
+ else if (!webViewGroup->m_storageNamespaceProvider && webViewGroup->m_localStorageDatabasePath.isEmpty() && !localStorageDatabasePath.isEmpty())
+ webViewGroup->m_localStorageDatabasePath = localStorageDatabasePath;
+
+ return webViewGroup;
+}
+
+WebViewGroup* WebViewGroup::get(const String& name)
+{
+ ASSERT(!name.isEmpty());
+
+ return webViewGroups().get(name);
+}
+
+WebViewGroup::WebViewGroup(const String& name, const String& localStorageDatabasePath)
+ : m_name(name)
+ , m_localStorageDatabasePath(localStorageDatabasePath)
+ , m_userContentController(UserContentController::create())
+ , m_visitedLinkStore(WebVisitedLinkStore::create())
+{
+}
+
+WebViewGroup::~WebViewGroup()
+{
+ ASSERT(m_name.isEmpty());
+ ASSERT(m_webViews.isEmpty());
+}
+
+void WebViewGroup::addWebView(WebView *webView)
+{
+ ASSERT(!m_webViews.contains(webView));
+
+ m_webViews.add(webView);
+}
+
+void WebViewGroup::removeWebView(WebView *webView)
+{
+ ASSERT(m_webViews.contains(webView));
+
+ m_webViews.remove(webView);
+}
+
+StorageNamespaceProvider& WebViewGroup::storageNamespaceProvider()
+{
+ if (!m_storageNamespaceProvider)
+ m_storageNamespaceProvider = WebStorageNamespaceProvider::create(m_localStorageDatabasePath);
+
+ return *m_storageNamespaceProvider;
+}
diff --git a/Source/WebKit/win/WebCoreSupport/WebGeolocationClient.h b/Source/WebKit/WebCoreSupport/WebViewGroup.h
index 2bd29af7f..fe05cd548 100644
--- a/Source/WebKit/win/WebCoreSupport/WebGeolocationClient.h
+++ b/Source/WebKit/WebCoreSupport/WebViewGroup.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2014 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,34 +23,42 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebGeolocationClient_h
-#define WebGeolocationClient_h
-
-#include <WebCore/COMPtr.h>
-#include <WebCore/GeolocationClient.h>
+#include <wtf/HashSet.h>
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
-class Geolocation;
-class GeolocationPosition;
+class StorageNamespaceProvider;
+class UserContentController;
}
-class WebView;
+class WebVisitedLinkStore;
+
+OBJC_CLASS WebView;
-class WebGeolocationClient : public WebCore::GeolocationClient {
+class WebViewGroup : public RefCounted<WebViewGroup> {
public:
- WebGeolocationClient(WebView*);
+ static RefPtr<WebViewGroup> getOrCreate(const String& name, const String& localStorageDatabasePath);
+ ~WebViewGroup();
- virtual void geolocationDestroyed();
- virtual void startUpdating();
- virtual void stopUpdating();
- virtual void setEnableHighAccuracy(bool) { }
- virtual WebCore::GeolocationPosition* lastPosition();
+ static WebViewGroup* get(const String& name);
- virtual void requestPermission(WebCore::Geolocation*);
- virtual void cancelPermissionRequest(WebCore::Geolocation*) { }
+ void addWebView(WebView *);
+ void removeWebView(WebView *);
+
+ WebCore::StorageNamespaceProvider& storageNamespaceProvider();
+ WebCore::UserContentController& userContentController() { return m_userContentController.get(); }
+ WebVisitedLinkStore& visitedLinkStore() { return m_visitedLinkStore.get(); }
private:
- COMPtr<WebView> m_webView;
-};
+ WebViewGroup(const String& name, const String& localStorageDatabasePath);
-#endif // WebGeolocationClient_h
+ String m_name;
+ HashSet<WebView *> m_webViews;
+
+ String m_localStorageDatabasePath;
+ RefPtr<WebCore::StorageNamespaceProvider> m_storageNamespaceProvider;
+
+ Ref<WebCore::UserContentController> m_userContentController;
+ Ref<WebVisitedLinkStore> m_visitedLinkStore;
+};
diff --git a/Source/WebKit/WebKit.pri b/Source/WebKit/WebKit.pri
deleted file mode 100644
index 5a8f4dfe3..000000000
--- a/Source/WebKit/WebKit.pri
+++ /dev/null
@@ -1,44 +0,0 @@
-SOURCES += \
- $$PWD/qt/Api/qwebframe.cpp \
- $$PWD/qt/Api/qgraphicswebview.cpp \
- $$PWD/qt/Api/qwebpage.cpp \
- $$PWD/qt/Api/qwebview.cpp \
- $$PWD/qt/Api/qwebelement.cpp \
- $$PWD/qt/Api/qwebhistory.cpp \
- $$PWD/qt/Api/qwebsettings.cpp \
- $$PWD/qt/Api/qwebhistoryinterface.cpp \
- $$PWD/qt/Api/qwebplugindatabase.cpp \
- $$PWD/qt/Api/qwebpluginfactory.cpp \
- $$PWD/qt/Api/qwebsecurityorigin.cpp \
- $$PWD/qt/Api/qwebscriptworld.cpp \
- $$PWD/qt/Api/qwebdatabase.cpp \
- $$PWD/qt/Api/qwebinspector.cpp \
- $$PWD/qt/Api/qwebkitversion.cpp \
- $$PWD/qt/Api/qhttpheader.cpp
-
-HEADERS += \
- $$PWD/qt/Api/qwebframe.h \
- $$PWD/qt/Api/qwebframe_p.h \
- $$PWD/qt/Api/qgraphicswebview.h \
- $$PWD/qt/Api/qwebkitglobal.h \
- $$PWD/qt/Api/qwebkitplatformplugin.h \
- $$PWD/qt/Api/qwebpage.h \
- $$PWD/qt/Api/qwebview.h \
- $$PWD/qt/Api/qwebsettings.h \
- $$PWD/qt/Api/qwebhistoryinterface.h \
- $$PWD/qt/Api/qwebdatabase.h \
- $$PWD/qt/Api/qwebsecurityorigin.h \
- $$PWD/qt/Api/qwebelement.h \
- $$PWD/qt/Api/qwebelement_p.h \
- $$PWD/qt/Api/qwebpluginfactory.h \
- $$PWD/qt/Api/qwebhistory.h \
- $$PWD/qt/Api/qwebinspector.h \
- $$PWD/qt/Api/qwebkitversion.h \
- $$PWD/qt/Api/qwebplugindatabase_p.h \
- $$PWD/qt/Api/qhttpheader_p.h
-
-contains(CONFIG, accessibility) {
- SOURCES += $$PWD/qt/Api/qwebviewaccessible.cpp
- HEADERS += $$PWD/qt/Api/qwebviewaccessible_p.h
-}
-
diff --git a/Source/WebKit/WebKit.vcxproj/Interfaces/FixMIDLHeaders.pl b/Source/WebKit/WebKit.vcxproj/Interfaces/FixMIDLHeaders.pl
deleted file mode 100644
index 863e1dd66..000000000
--- a/Source/WebKit/WebKit.vcxproj/Interfaces/FixMIDLHeaders.pl
+++ /dev/null
@@ -1,76 +0,0 @@
-#! /usr/bin/perl -w
-
-# Copyright (C) 2007 Apple 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.
-# 3. Neither the name of Apple puter, Inc. ("Apple") 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 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.
-
-# This script cleans up the headers that MIDL (Microsoft's IDL Parser/Generator)
-# outputs to only #include the parent interface avoiding circular dependencies
-# that MIDL creates.
-
-use File::Find;
-use strict;
-use warnings;
-
-my $dir = $ARGV[0];
-
-$dir = `cygpath -u '$dir'`;
-chomp($dir);
-
-find(\&finder, $dir);
-
-sub finder
-{
- my $fileName = $_;
-
- return unless ($fileName =~ /IGEN_DOM(.*)\.h/);
-
- open(IN, "<", $fileName);
- my @contents = <IN>;
- close(IN);
-
- open(OUT, ">", $fileName);
-
- my $state = 0;
- foreach my $line (@contents) {
- if ($line =~ /^\/\* header files for imported files \*\//) {
- $state = 1;
- } elsif ($line =~ /^#include "oaidl\.h"/) {
- die "#include \"oaidl.h\" did not come second" if $state != 1;
- $state = 2;
- } elsif ($line =~ /^#include "ocidl\.h"/) {
- die "#include \"ocidl.h\" did not come third" if $state != 2;
- $state = 3;
- } elsif ($line =~ /^#include "IGEN_DOM/ && $state == 3) {
- $state = 4;
- } elsif ($line =~ /^#include "(IGEN_DOM.*)\.h"/ && $state == 4) {
- next;
- }
-
- print OUT $line;
- }
-
- close(OUT);
-}
diff --git a/Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj b/Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj
deleted file mode 100644
index 56b0984d0..000000000
--- a/Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj
+++ /dev/null
@@ -1,1518 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="DebugSuffix|Win32">
- <Configuration>DebugSuffix</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="DebugSuffix|x64">
- <Configuration>DebugSuffix</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug_WinCairo|Win32">
- <Configuration>Debug_WinCairo</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug_WinCairo|x64">
- <Configuration>Debug_WinCairo</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Production|Win32">
- <Configuration>Production</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Production|x64">
- <Configuration>Production</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release_WinCairo|Win32">
- <Configuration>Release_WinCairo</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release_WinCairo|x64">
- <Configuration>Release_WinCairo</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}</ProjectGuid>
- <RootNamespace>Interfaces</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <UseDebugLibraries>true</UseDebugLibraries>
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <UseDebugLibraries>true</UseDebugLibraries>
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'" Label="Configuration">
- <UseDebugLibraries>true</UseDebugLibraries>
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'" Label="Configuration">
- <UseDebugLibraries>true</UseDebugLibraries>
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'" Label="Configuration">
- <UseDebugLibraries>true</UseDebugLibraries>
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'" Label="Configuration">
- <UseDebugLibraries>true</UseDebugLibraries>
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Production|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Production|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="InterfacesDebug.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="InterfacesDebug.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="InterfacesDebugWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="InterfacesDebugWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="InterfacesDebug.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debugsuffix.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="InterfacesDebug.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debugsuffix.props" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="InterfacesRelease.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="InterfacesRelease.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="InterfacesReleaseWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="InterfacesReleaseWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Production|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="InterfacesProduction.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Production|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="InterfacesProduction.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <Midl />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <Midl />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <Midl />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <Midl />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <Midl />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <Midl />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Production|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <Midl Include="..\..\win\Interfaces\AccessibilityDelegate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\Accessible2\Accessible2.idl" />
- <Midl Include="..\..\win\Interfaces\Accessible2\Accessible2_2.idl" />
- <Midl Include="..\..\win\Interfaces\Accessible2\AccessibleApplication.idl" />
- <Midl Include="..\..\win\Interfaces\Accessible2\AccessibleRelation.idl" />
- <Midl Include="..\..\win\Interfaces\Accessible2\AccessibleStates.idl" />
- <Midl Include="..\..\win\Interfaces\AccessibleComparable.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMCore.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMCSS.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMEvents.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMExtensions.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMHTML.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMPrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMRange.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMWindow.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\Accessible2\IA2CommonTypes.idl" />
- <Midl Include="..\..\win\Interfaces\IGEN_DOMObject.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebArchive.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebBackForwardList.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebBackForwardListPrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebCache.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebCookieManager.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebCoreStatistics.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebDatabaseManager.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebDataSource.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebDesktopNotificationsDelegate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebDocument.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebDownload.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebEditingDelegate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebEmbeddedView.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebError.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebErrorPrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFormDelegate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFrame.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFrameLoadDelegate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFrameLoadDelegatePrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFrameLoadDelegatePrivate2.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFramePrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFrameView.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebGeolocationPolicyListener.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebGeolocationPosition.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebGeolocationProvider.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHistory.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHistoryDelegate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHistoryItem.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHistoryItemPrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHistoryPrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHTMLRepresentation.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHTTPURLResponse.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebIconDatabase.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebInspector.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebInspectorPrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebJavaScriptCollector.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebKitStatistics.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebMutableURLRequest.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebMutableURLRequestPrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebNavigationData.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebNotification.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebNotificationCenter.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebNotificationObserver.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebPolicyDelegate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebPolicyDelegatePrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebPreferences.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebPreferencesPrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebResource.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebResourceLoadDelegate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebResourceLoadDelegatePrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebResourceLoadDelegatePrivate2.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebScriptObject.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebScriptWorld.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebScrollBarDelegatePrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebScrollBarPrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebSecurityOrigin.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebSerializedJSValue.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebSerializedJSValuePrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebTextRenderer.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebUIDelegate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebUIDelegate2.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebUIDelegatePrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebUndoManager.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebUndoTarget.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebURLAuthenticationChallenge.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebURLRequest.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebURLResponse.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebURLResponsePrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebUserContentURLPattern.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebView.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebViewPrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebWorkersPrivate.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\JavaScriptCoreAPITypes.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- <Midl Include="..\..\win\Interfaces\WebKit.idl" />
- <Midl Include="..\..\win\Interfaces\WebScrollbarTypes.idl">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </Midl>
- </ItemGroup>
- <ItemGroup>
- <None Include="FixMIDLHeaders.pl" />
- <None Include="InterfacesPostBuild.cmd" />
- <None Include="InterfacesPreBuild.cmd" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters b/Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters
deleted file mode 100644
index 5d447d07d..000000000
--- a/Source/WebKit/WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters
+++ /dev/null
@@ -1,294 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Midl Include="..\..\win\Interfaces\AccessibleComparable.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMWindow.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMCore.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMCSS.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMEvents.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMExtensions.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMHTML.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMPrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\DOMRange.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IGEN_DOMObject.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebArchive.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\WebScrollbarTypes.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebBackForwardList.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebBackForwardListPrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebCache.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebCookieManager.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebCoreStatistics.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebDatabaseManager.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebDataSource.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebDesktopNotificationsDelegate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebDocument.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebDownload.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebEditingDelegate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebEmbeddedView.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebError.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebErrorPrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFormDelegate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFrame.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFrameLoadDelegate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFrameLoadDelegatePrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFrameLoadDelegatePrivate2.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFramePrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebFrameView.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebGeolocationPolicyListener.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebGeolocationPosition.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebGeolocationProvider.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHistory.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHistoryDelegate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHistoryItem.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHistoryItemPrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHistoryPrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHTMLRepresentation.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebHTTPURLResponse.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebIconDatabase.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebInspector.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebInspectorPrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebJavaScriptCollector.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebKitStatistics.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebMutableURLRequest.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebMutableURLRequestPrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebNavigationData.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebNotification.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebNotificationCenter.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebNotificationObserver.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebPolicyDelegate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebPolicyDelegatePrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebPreferences.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebPreferencesPrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebResource.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebResourceLoadDelegate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebResourceLoadDelegatePrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebResourceLoadDelegatePrivate2.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebScriptObject.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebScriptWorld.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebScrollBarDelegatePrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebScrollBarPrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebSecurityOrigin.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebSerializedJSValue.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebSerializedJSValuePrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebTextRenderer.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebUIDelegate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebUIDelegate2.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebUIDelegatePrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebUndoManager.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebUndoTarget.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebURLAuthenticationChallenge.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebURLRequest.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebURLResponse.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebURLResponsePrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebUserContentURLPattern.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebView.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebViewPrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\IWebWorkersPrivate.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\JavaScriptCoreAPITypes.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\WebKit.idl">
- <Filter>IDL</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\Accessible2\IA2CommonTypes.idl">
- <Filter>IDL\Accessibility2</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\Accessible2\Accessible2.idl">
- <Filter>IDL\Accessibility2</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\Accessible2\Accessible2_2.idl">
- <Filter>IDL\Accessibility2</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\Accessible2\AccessibleRelation.idl">
- <Filter>IDL\Accessibility2</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\Accessible2\AccessibleStates.idl">
- <Filter>IDL\Accessibility2</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\Accessible2\AccessibleApplication.idl">
- <Filter>IDL\Accessibility2</Filter>
- </Midl>
- <Midl Include="..\..\win\Interfaces\AccessibilityDelegate.idl">
- <Filter>IDL</Filter>
- </Midl>
- </ItemGroup>
- <ItemGroup>
- <None Include="InterfacesPostBuild.cmd" />
- <None Include="InterfacesPreBuild.cmd" />
- <None Include="FixMIDLHeaders.pl" />
- </ItemGroup>
- <ItemGroup>
- <Filter Include="IDL">
- <UniqueIdentifier>{51652c01-e301-4b72-9d96-5d50491d258c}</UniqueIdentifier>
- </Filter>
- <Filter Include="IDL\Accessibility2">
- <UniqueIdentifier>{2e15fc38-df6f-470f-b201-272e8d2d91a4}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesCommon.props b/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesCommon.props
deleted file mode 100644
index 34dba2b26..000000000
--- a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesCommon.props
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets" />
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <OutDir>$(ConfigurationBuildDir)\include\WebKit\</OutDir>
- </PropertyGroup>
- <ItemDefinitionGroup>
- <Midl>
- <AdditionalIncludeDirectories>$(ConfigurationBuildDir)\obj32\WebKit\DerivedSources;../../win/Interfaces;../../win/Interfaces/Accessible2;$(IntDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup>
- <Midl>
- <MkTypLibCompatible>false</MkTypLibCompatible>
- </Midl>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup>
- <Midl>
- <GenerateStublessProxies>false</GenerateStublessProxies>
- <OutputDirectory>$(ConfigurationBuildDir)\obj32\WebKit\$(ProjectName)</OutputDirectory>
- <DllDataFileName>dlldata.c</DllDataFileName>
- <TypeLibraryName>$(ConfigurationBuildDir)\lib32\WebKit.tlb</TypeLibraryName>
- <ValidateAllParameters>true</ValidateAllParameters>
- </Midl>
- </ItemDefinitionGroup>
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesDebug.props b/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesDebug.props
deleted file mode 100644
index 4a3072efc..000000000
--- a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesDebug.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefines.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debug.props" />
- <Import Project="InterfacesCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesDebugWinCairo.props b/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesDebugWinCairo.props
deleted file mode 100644
index 5da2fd401..000000000
--- a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesDebugWinCairo.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefinesCairo.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debug.props" />
- <Import Project="InterfacesCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesPostBuild.cmd b/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesPostBuild.cmd
deleted file mode 100644
index e5d48731a..000000000
--- a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesPostBuild.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-%SystemDrive%\cygwin\bin\which.exe bash
-if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
-cmd /c
-
-perl FixMIDLHeaders.pl "%CONFIGURATIONBUILDDIR%/include/webkit/"
-
-if exist "%CONFIGURATIONBUILDDIR%\buildfailed" del "%CONFIGURATIONBUILDDIR%\buildfailed"
diff --git a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesPreBuild.cmd b/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesPreBuild.cmd
deleted file mode 100644
index 37b99bcde..000000000
--- a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesPreBuild.cmd
+++ /dev/null
@@ -1,9 +0,0 @@
-%SystemDrive%\cygwin\bin\which.exe bash
-if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
-cmd /c
-if exist "%CONFIGURATIONBUILDDIR%\buildfailed" grep XX%PROJECTNAME%XX "%CONFIGURATIONBUILDDIR%\buildfailed"
-if errorlevel 1 exit 1
-echo XX%PROJECTNAME%XX > "%CONFIGURATIONBUILDDIR%\buildfailed"
-
-mkdir 2>NUL "%CONFIGURATIONBUILDDIR%\obj32\WebKit\%PROJECTNAME%"
-bash "%WEBKIT_LIBRARIES%\tools\scripts\auto-version.sh" "%INTDIR%"
diff --git a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesProduction.props b/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesProduction.props
deleted file mode 100644
index df1d50e43..000000000
--- a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesProduction.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefines.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\production.props" />
- <Import Project="InterfacesCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesRelease.props b/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesRelease.props
deleted file mode 100644
index 90dbc97f6..000000000
--- a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesRelease.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefines.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\release.props" />
- <Import Project="InterfacesCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesReleaseWinCairo.props b/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesReleaseWinCairo.props
deleted file mode 100644
index a75f15087..000000000
--- a/Source/WebKit/WebKit.vcxproj/Interfaces/InterfacesReleaseWinCairo.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefinesCairo.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\release.props" />
- <Import Project="InterfacesCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project>
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit.make b/Source/WebKit/WebKit.vcxproj/WebKit.make
deleted file mode 100644
index 2455e3ed1..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit.make
+++ /dev/null
@@ -1,20 +0,0 @@
-!IF "$(BUILDSTYLE)"=="DEBUG"
-BUILDSTYLE=DebugSuffix
-!ELSE
-BUILDSTYLE=Production
-!ENDIF
-
-install:
- set OFFICIAL_BUILD=1
- set WebKit_Libraries=$(SRCROOT)\AppleInternal
- set WebKit_OutputDir=$(OBJROOT)
- set ProgramFilesAAS=Program Files (x86)\Common Files\Apple\Apple Application Support
- set Path=%PATH%;$(SRCROOT)\%ProgramFilesAAS%
- set ConfigurationBuildDir=$(OBJROOT)\$(BUILDSTYLE)
- devenv "WebKit.submit.sln" /rebuild $(BUILDSTYLE)
- -xcopy "%ConfigurationBuildDir%\bin32\*.exe" "$(DSTROOT)\AppleInternal\bin32\" /e/v/i/h/y
- xcopy "%ConfigurationBuildDir%\bin32\*.pdb" "$(DSTROOT)\%ProgramFilesAAS%" /e/v/i/h/y
- -xcopy "%ConfigurationBuildDir%\bin32\*.dll" "$(DSTROOT)\%ProgramFilesAAS%" /e/v/i/h/y
- xcopy "%ConfigurationBuildDir%\include\*" "$(DSTROOT)\AppleInternal\include\" /e/v/i/h/y
- xcopy "%ConfigurationBuildDir%\lib32\*" "$(DSTROOT)\AppleInternal\lib32\" /e/v/i/h/y
- xcopy "%ConfigurationBuildDir%\bin32\WebKit.resources\*" "$(DSTROOT)\%ProgramFilesAAS%\WebKit.resources" /e/v/i/h/y
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit.sln b/Source/WebKit/WebKit.vcxproj/WebKit.sln
deleted file mode 100644
index d9e9474cb..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit.sln
+++ /dev/null
@@ -1,789 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WTF Projects", "WTF Projects", "{7F982CAD-225B-4FCE-9937-3B72C14D968D}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "JavaScriptCore Projects", "JavaScriptCore Projects", "{F9F5E7FE-5C5F-4CE9-8665-A84633F49E12}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebCore Projects", "WebCore Projects", "{4A894588-A951-4E76-A085-50E10304DC40}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKit Projects", "WebKit Projects", "{39286F46-BA75-4997-8065-1909090A60F0}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces\Interfaces.vcxproj", "{1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}"
- ProjectSection(ProjectDependencies) = postProject
- {83414B15-1C0D-490B-990E-03F4D49170E4} = {83414B15-1C0D-490B-990E-03F4D49170E4}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "..\..\WTF\WTF.vcxproj\WTF.vcxproj", "{8EF73779-BED3-45BB-816D-9FF58399AFA5}"
- ProjectSection(ProjectDependencies) = postProject
- {F7366596-0520-4433-B8FF-D843E31E5199} = {F7366596-0520-4433-B8FF-D843E31E5199}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTFGenerated", "..\..\WTF\WTF.vcxproj\WTFGenerated.vcxproj", "{F7366596-0520-4433-B8FF-D843E31E5199}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCoreGenerated", "..\..\JavaScriptCore\JavaScriptCore.vcxproj\JavaScriptCoreGenerated.vcxproj", "{3670D01F-95F3-45A8-B878-947EB6CF214E}"
- ProjectSection(ProjectDependencies) = postProject
- {8EF73779-BED3-45BB-816D-9FF58399AFA5} = {8EF73779-BED3-45BB-816D-9FF58399AFA5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore", "..\..\JavaScriptCore\JavaScriptCore.vcxproj\JavaScriptCore.vcxproj", "{22413D41-3A18-42B7-92A8-CEDC6CE86920}"
- ProjectSection(ProjectDependencies) = postProject
- {9221744B-5715-4F56-9590-42F7AB23DD8B} = {9221744B-5715-4F56-9590-42F7AB23DD8B}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsc", "..\..\JavaScriptCore\JavaScriptCore.vcxproj\jsc\jsc.vcxproj", "{2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}"
- ProjectSection(ProjectDependencies) = postProject
- {22413D41-3A18-42B7-92A8-CEDC6CE86920} = {22413D41-3A18-42B7-92A8-CEDC6CE86920}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "..\..\WebCore\WebCore.vcxproj\WebCore.vcxproj", "{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}") = "WebCoreGenerated", "..\..\WebCore\WebCore.vcxproj\WebCoreGenerated.vcxproj", "{A4159B6F-3106-4F75-9EDD-582307BDB96A}"
- ProjectSection(ProjectDependencies) = postProject
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843} = {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QTMovieWin", "..\..\WebCore\WebCore.vcxproj\QTMovieWin\QTMovieWin.vcxproj", "{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
- ProjectSection(ProjectDependencies) = postProject
- {A4159B6F-3106-4F75-9EDD-582307BDB96A} = {A4159B6F-3106-4F75-9EDD-582307BDB96A}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit", "WebKit\WebKit.vcxproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
- ProjectSection(ProjectDependencies) = postProject
- {0F837117-8C0B-4596-A373-A37E14A01223} = {0F837117-8C0B-4596-A373-A37E14A01223}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testRegExp", "..\..\JavaScriptCore\JavaScriptCore.vcxproj\testRegExp\testRegExp.vcxproj", "{BB16286B-AADC-46C1-BC0D-6C06F323E04B}"
- ProjectSection(ProjectDependencies) = postProject
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3} = {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testapi", "..\..\JavaScriptCore\JavaScriptCore.vcxproj\testapi\testapi.vcxproj", "{5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}"
- ProjectSection(ProjectDependencies) = postProject
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B} = {BB16286B-AADC-46C1-BC0D-6C06F323E04B}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LLIntOffsetsExtractor", "..\..\JavaScriptCore\JavaScriptCore.vcxproj\LLInt\LLIntOffsetsExtractor\LLIntOffsetsExtractor.vcxproj", "{D595E3F6-24F2-4C60-935C-95D50C6B3E96}"
- ProjectSection(ProjectDependencies) = postProject
- {877150A0-41B3-4730-9D98-1B8298098B14} = {877150A0-41B3-4730-9D98-1B8298098B14}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LLIntDesiredOffsets", "..\..\JavaScriptCore\JavaScriptCore.vcxproj\LLInt\LLIntDesiredOffsets\LLIntDesiredOffsets.vcxproj", "{877150A0-41B3-4730-9D98-1B8298098B14}"
- ProjectSection(ProjectDependencies) = postProject
- {3670D01F-95F3-45A8-B878-947EB6CF214E} = {3670D01F-95F3-45A8-B878-947EB6CF214E}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LLIntAssembly", "..\..\JavaScriptCore\JavaScriptCore.vcxproj\LLInt\LLIntAssembly\LLIntAssembly.vcxproj", "{9221744B-5715-4F56-9590-42F7AB23DD8B}"
- ProjectSection(ProjectDependencies) = postProject
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96} = {D595E3F6-24F2-4C60-935C-95D50C6B3E96}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitExportGenerator", "WebKitExportGenerator\WebKitExportGenerator.vcxproj", "{0F837117-8C0B-4596-A373-A37E14A01223}"
- ProjectSection(ProjectDependencies) = postProject
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16} = {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID\WebKitGUID.vcxproj", "{A15EDAD8-8B87-4D4A-8498-77A04AB65F16}"
- ProjectSection(ProjectDependencies) = postProject
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB} = {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WinLauncher Projects", "WinLauncher Projects", "{20A8616C-E56B-4649-A910-8E97751DE145}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncherLib", "..\..\..\Tools\WinLauncher\WinLauncher.vcxproj\WinLauncherLib.vcxproj", "{114FCA11-216B-4C8C-957E-30A75AE80443}"
- ProjectSection(ProjectDependencies) = postProject
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {0662A8A9-82A3-4638-97D8-EC425D8D87C9}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncher", "..\..\..\Tools\WinLauncher\WinLauncher.vcxproj\WinLauncher.vcxproj", "{767B10FB-76C1-44D0-8005-85ED7F9AA5E4}"
- ProjectSection(ProjectDependencies) = postProject
- {114FCA11-216B-4C8C-957E-30A75AE80443} = {114FCA11-216B-4C8C-957E-30A75AE80443}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DumpRenderTree Projects", "DumpRenderTree Projects", "{3D4C8B23-9375-4A7C-869C-7CC262C42F9F}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreTestSupport", "..\..\WebCore\WebCore.vcxproj\WebCoreTestSupport.vcxproj", "{83414B15-1C0D-490B-990E-03F4D49170E4}"
- ProjectSection(ProjectDependencies) = postProject
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestNetscapePlugin", "..\..\..\Tools\DumpRenderTree\DumpRenderTree.vcxproj\TestNetscapePlugin\TestNetscapePlugin.vcxproj", "{C0737398-3565-439E-A2B8-AB2BE4D5430C}"
- ProjectSection(ProjectDependencies) = postProject
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4} = {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageDiff", "..\..\..\Tools\DumpRenderTree\DumpRenderTree.vcxproj\ImageDiff\ImageDiff.vcxproj", "{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}") = "ImageDiffLauncher", "..\..\..\Tools\DumpRenderTree\DumpRenderTree.vcxproj\ImageDiff\ImageDiffLauncher.vcxproj", "{DD7949B6-F2B4-47C2-9C42-E21E84CB1017}"
- ProjectSection(ProjectDependencies) = postProject
- {59CC0547-70AC-499C-9B19-EC01C6F61137} = {59CC0547-70AC-499C-9B19-EC01C6F61137}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTree", "..\..\..\Tools\DumpRenderTree\DumpRenderTree.vcxproj\DumpRenderTree\DumpRenderTree.vcxproj", "{6567DFD4-D6DE-4CD5-825D-17E353D160E1}"
- ProjectSection(ProjectDependencies) = postProject
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017} = {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTreeLauncher", "..\..\..\Tools\DumpRenderTree\DumpRenderTree.vcxproj\DumpRenderTree\DumpRenderTreeLauncher.vcxproj", "{2974EA02-840B-4995-8719-8920A61006F1}"
- ProjectSection(ProjectDependencies) = postProject
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {6567DFD4-D6DE-4CD5-825D-17E353D160E1}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{6993F96C-409A-4FDC-A0BA-B40D5060B07C}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "APITest Projects", "APITest Projects", "{68A7C287-F9C4-4A31-9B49-995E64CAC100}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StandAlone Projects", "StandAlone Projects", "{74E05245-682B-4D12-98AD-BFC64C9C14CE}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest-md", "..\..\ThirdParty\gtest\msvc\gtest-md.vcxproj", "{C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}"
- ProjectSection(ProjectDependencies) = postProject
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5} = {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPI", "..\..\..\Tools\TestWebKitAPI\TestWebKitAPI.vcxproj\TestWebKitAPI.vcxproj", "{AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}"
- ProjectSection(ProjectDependencies) = postProject
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8} = {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "record-memory", "..\..\..\Tools\win\record-memory\record-memory.vcxproj", "{F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}"
- ProjectSection(ProjectDependencies) = postProject
- {2974EA02-840B-4995-8719-8920A61006F1} = {2974EA02-840B-4995-8719-8920A61006F1}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AssembleBuildLogs", "..\..\..\Tools\win\AssembleBuildLogs\AssembleBuildLogs.vcxproj", "{67A61940-F80B-42A0-A29D-B6DB1C27BCEE}"
- ProjectSection(ProjectDependencies) = postProject
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D} = {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_WinCairo|Win32 = Debug_WinCairo|Win32
- Debug_WinCairo|x64 = Debug_WinCairo|x64
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Production|Win32 = Production|Win32
- Production|x64 = Production|x64
- Release_WinCairo|Win32 = Release_WinCairo|Win32
- Release_WinCairo|x64 = Release_WinCairo|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Debug|Win32.ActiveCfg = Debug|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Debug|Win32.Build.0 = Debug|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Debug|x64.ActiveCfg = Debug|x64
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Debug|x64.Build.0 = Debug|x64
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Production|Win32.ActiveCfg = Production|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Production|Win32.Build.0 = Production|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Production|x64.ActiveCfg = Production|x64
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Production|x64.Build.0 = Production|x64
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Release|Win32.ActiveCfg = Release|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Release|Win32.Build.0 = Release|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Release|x64.ActiveCfg = Release|x64
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Release|x64.Build.0 = Release|x64
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Debug|Win32.ActiveCfg = Debug|Win32
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Debug|Win32.Build.0 = Debug|Win32
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Debug|x64.ActiveCfg = Debug|x64
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Debug|x64.Build.0 = Debug|x64
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Production|Win32.ActiveCfg = Production|Win32
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Production|Win32.Build.0 = Production|Win32
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Production|x64.ActiveCfg = Production|x64
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Production|x64.Build.0 = Production|x64
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Release|Win32.ActiveCfg = Release|Win32
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Release|Win32.Build.0 = Release|Win32
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Release|x64.ActiveCfg = Release|x64
- {8EF73779-BED3-45BB-816D-9FF58399AFA5}.Release|x64.Build.0 = Release|x64
- {F7366596-0520-4433-B8FF-D843E31E5199}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {F7366596-0520-4433-B8FF-D843E31E5199}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {F7366596-0520-4433-B8FF-D843E31E5199}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {F7366596-0520-4433-B8FF-D843E31E5199}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {F7366596-0520-4433-B8FF-D843E31E5199}.Debug|Win32.ActiveCfg = Debug|Win32
- {F7366596-0520-4433-B8FF-D843E31E5199}.Debug|Win32.Build.0 = Debug|Win32
- {F7366596-0520-4433-B8FF-D843E31E5199}.Debug|x64.ActiveCfg = Debug|x64
- {F7366596-0520-4433-B8FF-D843E31E5199}.Debug|x64.Build.0 = Debug|x64
- {F7366596-0520-4433-B8FF-D843E31E5199}.Production|Win32.ActiveCfg = Production|Win32
- {F7366596-0520-4433-B8FF-D843E31E5199}.Production|Win32.Build.0 = Production|Win32
- {F7366596-0520-4433-B8FF-D843E31E5199}.Production|x64.ActiveCfg = Production|x64
- {F7366596-0520-4433-B8FF-D843E31E5199}.Production|x64.Build.0 = Production|x64
- {F7366596-0520-4433-B8FF-D843E31E5199}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {F7366596-0520-4433-B8FF-D843E31E5199}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {F7366596-0520-4433-B8FF-D843E31E5199}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {F7366596-0520-4433-B8FF-D843E31E5199}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {F7366596-0520-4433-B8FF-D843E31E5199}.Release|Win32.ActiveCfg = Release|Win32
- {F7366596-0520-4433-B8FF-D843E31E5199}.Release|Win32.Build.0 = Release|Win32
- {F7366596-0520-4433-B8FF-D843E31E5199}.Release|x64.ActiveCfg = Release|x64
- {F7366596-0520-4433-B8FF-D843E31E5199}.Release|x64.Build.0 = Release|x64
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Debug|Win32.ActiveCfg = Debug|Win32
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Debug|Win32.Build.0 = Debug|Win32
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Debug|x64.ActiveCfg = Debug|x64
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Debug|x64.Build.0 = Debug|x64
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Production|Win32.ActiveCfg = Production|Win32
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Production|Win32.Build.0 = Production|Win32
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Production|x64.ActiveCfg = Production|x64
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Production|x64.Build.0 = Production|x64
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Release|Win32.ActiveCfg = Release|Win32
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Release|Win32.Build.0 = Release|Win32
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Release|x64.ActiveCfg = Release|x64
- {3670D01F-95F3-45A8-B878-947EB6CF214E}.Release|x64.Build.0 = Release|x64
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Debug|Win32.ActiveCfg = Debug|Win32
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Debug|Win32.Build.0 = Debug|Win32
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Debug|x64.ActiveCfg = Debug|x64
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Debug|x64.Build.0 = Debug|x64
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Production|Win32.ActiveCfg = Production|Win32
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Production|Win32.Build.0 = Production|Win32
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Production|x64.ActiveCfg = Production|x64
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Production|x64.Build.0 = Production|x64
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Release|Win32.ActiveCfg = Release|Win32
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Release|Win32.Build.0 = Release|Win32
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Release|x64.ActiveCfg = Release|x64
- {22413D41-3A18-42B7-92A8-CEDC6CE86920}.Release|x64.Build.0 = Release|x64
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Debug|Win32.ActiveCfg = Debug|Win32
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Debug|Win32.Build.0 = Debug|Win32
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Debug|x64.ActiveCfg = Debug|x64
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Debug|x64.Build.0 = Debug|x64
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Production|Win32.ActiveCfg = Production|Win32
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Production|Win32.Build.0 = Production|Win32
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Production|x64.ActiveCfg = Production|x64
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Production|x64.Build.0 = Production|x64
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Release|Win32.ActiveCfg = Release|Win32
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Release|Win32.Build.0 = Release|Win32
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Release|x64.ActiveCfg = Release|x64
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3}.Release|x64.Build.0 = Release|x64
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {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}.Debug|x64.ActiveCfg = Debug|x64
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|x64.Build.0 = Debug|x64
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.ActiveCfg = Production|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.Build.0 = Production|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|x64.ActiveCfg = Production|x64
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|x64.Build.0 = Production|x64
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|x64.ActiveCfg = Release|x64
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|x64.Build.0 = Release|x64
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Debug|Win32.ActiveCfg = Debug|Win32
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Debug|Win32.Build.0 = Debug|Win32
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Debug|x64.ActiveCfg = Debug|x64
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Debug|x64.Build.0 = Debug|x64
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Production|Win32.ActiveCfg = Production|Win32
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Production|Win32.Build.0 = Production|Win32
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Production|x64.ActiveCfg = Production|x64
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Production|x64.Build.0 = Production|x64
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Release|Win32.ActiveCfg = Release|Win32
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Release|Win32.Build.0 = Release|Win32
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Release|x64.ActiveCfg = Release|x64
- {A4159B6F-3106-4F75-9EDD-582307BDB96A}.Release|x64.Build.0 = Release|x64
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {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}.Debug|x64.ActiveCfg = Debug|x64
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|x64.Build.0 = Debug|x64
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.ActiveCfg = Production|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.Build.0 = Production|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|x64.ActiveCfg = Production|x64
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|x64.Build.0 = Production|x64
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.ActiveCfg = Release|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.Build.0 = Release|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|x64.ActiveCfg = Release|x64
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|x64.Build.0 = Release|x64
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {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}.Debug|x64.ActiveCfg = Debug|x64
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|x64.Build.0 = Debug|x64
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.ActiveCfg = Production|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.Build.0 = Production|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|x64.ActiveCfg = Production|x64
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|x64.Build.0 = Production|x64
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|x64.ActiveCfg = Release|x64
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|x64.Build.0 = Release|x64
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Debug|Win32.ActiveCfg = Debug|Win32
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Debug|Win32.Build.0 = Debug|Win32
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Debug|x64.ActiveCfg = Debug|x64
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Debug|x64.Build.0 = Debug|x64
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Production|Win32.ActiveCfg = Production|Win32
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Production|Win32.Build.0 = Production|Win32
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Production|x64.ActiveCfg = Production|x64
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Production|x64.Build.0 = Production|x64
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Release|Win32.ActiveCfg = Release|Win32
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Release|Win32.Build.0 = Release|Win32
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Release|x64.ActiveCfg = Release|x64
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B}.Release|x64.Build.0 = Release|x64
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Debug|Win32.ActiveCfg = Debug|Win32
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Debug|Win32.Build.0 = Debug|Win32
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Debug|x64.ActiveCfg = Debug|x64
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Debug|x64.Build.0 = Debug|x64
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Production|Win32.ActiveCfg = Production|Win32
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Production|Win32.Build.0 = Production|Win32
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Production|x64.ActiveCfg = Production|x64
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Production|x64.Build.0 = Production|x64
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Release|Win32.ActiveCfg = Release|Win32
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Release|Win32.Build.0 = Release|Win32
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Release|x64.ActiveCfg = Release|x64
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843}.Release|x64.Build.0 = Release|x64
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug|Win32.ActiveCfg = Debug|Win32
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug|Win32.Build.0 = Debug|Win32
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug|x64.ActiveCfg = Debug|x64
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Debug|x64.Build.0 = Debug|x64
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Production|Win32.ActiveCfg = Production|Win32
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Production|Win32.Build.0 = Production|Win32
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Production|x64.ActiveCfg = Production|x64
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Production|x64.Build.0 = Production|x64
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Release|Win32.ActiveCfg = Release|Win32
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Release|Win32.Build.0 = Release|Win32
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Release|x64.ActiveCfg = Release|x64
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96}.Release|x64.Build.0 = Release|x64
- {877150A0-41B3-4730-9D98-1B8298098B14}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {877150A0-41B3-4730-9D98-1B8298098B14}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {877150A0-41B3-4730-9D98-1B8298098B14}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {877150A0-41B3-4730-9D98-1B8298098B14}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {877150A0-41B3-4730-9D98-1B8298098B14}.Debug|Win32.ActiveCfg = Debug|Win32
- {877150A0-41B3-4730-9D98-1B8298098B14}.Debug|Win32.Build.0 = Debug|Win32
- {877150A0-41B3-4730-9D98-1B8298098B14}.Debug|x64.ActiveCfg = Debug|x64
- {877150A0-41B3-4730-9D98-1B8298098B14}.Debug|x64.Build.0 = Debug|x64
- {877150A0-41B3-4730-9D98-1B8298098B14}.Production|Win32.ActiveCfg = Production|Win32
- {877150A0-41B3-4730-9D98-1B8298098B14}.Production|Win32.Build.0 = Production|Win32
- {877150A0-41B3-4730-9D98-1B8298098B14}.Production|x64.ActiveCfg = Production|x64
- {877150A0-41B3-4730-9D98-1B8298098B14}.Production|x64.Build.0 = Production|x64
- {877150A0-41B3-4730-9D98-1B8298098B14}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {877150A0-41B3-4730-9D98-1B8298098B14}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {877150A0-41B3-4730-9D98-1B8298098B14}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {877150A0-41B3-4730-9D98-1B8298098B14}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {877150A0-41B3-4730-9D98-1B8298098B14}.Release|Win32.ActiveCfg = Release|Win32
- {877150A0-41B3-4730-9D98-1B8298098B14}.Release|Win32.Build.0 = Release|Win32
- {877150A0-41B3-4730-9D98-1B8298098B14}.Release|x64.ActiveCfg = Release|x64
- {877150A0-41B3-4730-9D98-1B8298098B14}.Release|x64.Build.0 = Release|x64
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug|Win32.ActiveCfg = Debug|Win32
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug|Win32.Build.0 = Debug|Win32
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug|x64.ActiveCfg = Debug|x64
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Debug|x64.Build.0 = Debug|x64
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Production|Win32.ActiveCfg = Production|Win32
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Production|Win32.Build.0 = Production|Win32
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Production|x64.ActiveCfg = Production|x64
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Production|x64.Build.0 = Production|x64
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Release|Win32.ActiveCfg = Release|Win32
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Release|Win32.Build.0 = Release|Win32
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Release|x64.ActiveCfg = Release|x64
- {9221744B-5715-4F56-9590-42F7AB23DD8B}.Release|x64.Build.0 = Release|x64
- {0F837117-8C0B-4596-A373-A37E14A01223}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {0F837117-8C0B-4596-A373-A37E14A01223}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {0F837117-8C0B-4596-A373-A37E14A01223}.Debug|Win32.ActiveCfg = Debug|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Debug|Win32.Build.0 = Debug|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Debug|x64.ActiveCfg = Debug|x64
- {0F837117-8C0B-4596-A373-A37E14A01223}.Debug|x64.Build.0 = Debug|x64
- {0F837117-8C0B-4596-A373-A37E14A01223}.Production|Win32.ActiveCfg = Production|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Production|Win32.Build.0 = Production|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Production|x64.ActiveCfg = Production|x64
- {0F837117-8C0B-4596-A373-A37E14A01223}.Production|x64.Build.0 = Production|x64
- {0F837117-8C0B-4596-A373-A37E14A01223}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {0F837117-8C0B-4596-A373-A37E14A01223}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {0F837117-8C0B-4596-A373-A37E14A01223}.Release|Win32.ActiveCfg = Release|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Release|Win32.Build.0 = Release|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Release|x64.ActiveCfg = Release|x64
- {0F837117-8C0B-4596-A373-A37E14A01223}.Release|x64.Build.0 = Release|x64
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Debug|Win32.ActiveCfg = Debug|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Debug|Win32.Build.0 = Debug|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Debug|x64.ActiveCfg = Debug|x64
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Debug|x64.Build.0 = Debug|x64
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Production|Win32.ActiveCfg = Production|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Production|Win32.Build.0 = Production|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Production|x64.ActiveCfg = Production|x64
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Production|x64.Build.0 = Production|x64
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Release|Win32.ActiveCfg = Release|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Release|Win32.Build.0 = Release|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Release|x64.ActiveCfg = Release|x64
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Release|x64.Build.0 = Release|x64
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {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}.Debug|x64.ActiveCfg = Debug|x64
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|x64.Build.0 = Debug|x64
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Production|Win32.ActiveCfg = Production|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Production|Win32.Build.0 = Production|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Production|x64.ActiveCfg = Production|x64
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Production|x64.Build.0 = Production|x64
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.ActiveCfg = Release|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.Build.0 = Release|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|x64.ActiveCfg = Release|x64
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|x64.Build.0 = Release|x64
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug|Win32.ActiveCfg = Debug|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug|Win32.Build.0 = Debug|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug|x64.ActiveCfg = Debug|x64
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug|x64.Build.0 = Debug|x64
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Production|Win32.ActiveCfg = Production|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Production|Win32.Build.0 = Production|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Production|x64.ActiveCfg = Production|x64
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Production|x64.Build.0 = Production|x64
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release|Win32.ActiveCfg = Release|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release|Win32.Build.0 = Release|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release|x64.ActiveCfg = Release|x64
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release|x64.Build.0 = Release|x64
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug|Win32.ActiveCfg = Debug|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug|Win32.Build.0 = Debug|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug|x64.ActiveCfg = Debug|x64
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug|x64.Build.0 = Debug|x64
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Production|Win32.ActiveCfg = Production|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Production|Win32.Build.0 = Production|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Production|x64.ActiveCfg = Production|x64
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Production|x64.Build.0 = Production|x64
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release|Win32.ActiveCfg = Release|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release|Win32.Build.0 = Release|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release|x64.ActiveCfg = Release|x64
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release|x64.Build.0 = Release|x64
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {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}.Debug|x64.ActiveCfg = Debug|x64
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|x64.Build.0 = Debug|x64
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Production|Win32.ActiveCfg = Production|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Production|Win32.Build.0 = Production|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Production|x64.ActiveCfg = Production|x64
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Production|x64.Build.0 = Production|x64
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.ActiveCfg = Release|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.Build.0 = Release|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|x64.ActiveCfg = Release|x64
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|x64.Build.0 = Release|x64
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {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}.Debug|x64.ActiveCfg = Debug|x64
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|x64.Build.0 = Debug|x64
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Production|Win32.ActiveCfg = Production|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Production|Win32.Build.0 = Production|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Production|x64.ActiveCfg = Production|x64
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Production|x64.Build.0 = Production|x64
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.ActiveCfg = Release|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.Build.0 = Release|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|x64.ActiveCfg = Release|x64
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|x64.Build.0 = Release|x64
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug|Win32.ActiveCfg = Debug|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug|Win32.Build.0 = Debug|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug|x64.ActiveCfg = Debug|x64
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug|x64.Build.0 = Debug|x64
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Production|Win32.ActiveCfg = Production|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Production|Win32.Build.0 = Production|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Production|x64.ActiveCfg = Production|x64
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Production|x64.Build.0 = Production|x64
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release|Win32.ActiveCfg = Release|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release|Win32.Build.0 = Release|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release|x64.ActiveCfg = Release|x64
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release|x64.Build.0 = Release|x64
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {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}.Debug|x64.ActiveCfg = Debug|x64
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|x64.Build.0 = Debug|x64
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Production|Win32.ActiveCfg = Production|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Production|Win32.Build.0 = Production|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Production|x64.ActiveCfg = Production|x64
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Production|x64.Build.0 = Production|x64
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.ActiveCfg = Release|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.Build.0 = Release|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|x64.ActiveCfg = Release|x64
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|x64.Build.0 = Release|x64
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug|Win32.ActiveCfg = Debug|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug|Win32.Build.0 = Debug|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug|x64.ActiveCfg = Debug|x64
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug|x64.Build.0 = Debug|x64
- {2974EA02-840B-4995-8719-8920A61006F1}.Production|Win32.ActiveCfg = Production|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Production|Win32.Build.0 = Production|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Production|x64.ActiveCfg = Production|x64
- {2974EA02-840B-4995-8719-8920A61006F1}.Production|x64.Build.0 = Production|x64
- {2974EA02-840B-4995-8719-8920A61006F1}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {2974EA02-840B-4995-8719-8920A61006F1}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {2974EA02-840B-4995-8719-8920A61006F1}.Release|Win32.ActiveCfg = Release|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Release|Win32.Build.0 = Release|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Release|x64.ActiveCfg = Release|x64
- {2974EA02-840B-4995-8719-8920A61006F1}.Release|x64.Build.0 = Release|x64
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug|Win32.ActiveCfg = Debug|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug|Win32.Build.0 = Debug|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug|x64.ActiveCfg = Debug|x64
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug|x64.Build.0 = Debug|x64
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Production|Win32.ActiveCfg = Production|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Production|Win32.Build.0 = Production|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Production|x64.ActiveCfg = Production|x64
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Production|x64.Build.0 = Production|x64
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release|Win32.ActiveCfg = Release|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release|Win32.Build.0 = Release|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release|x64.ActiveCfg = Release|x64
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release|x64.Build.0 = Release|x64
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Debug|Win32.ActiveCfg = Debug|Win32
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Debug|Win32.Build.0 = Debug|Win32
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Debug|x64.ActiveCfg = Debug|x64
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Debug|x64.Build.0 = Debug|x64
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Production|Win32.ActiveCfg = Production|Win32
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Production|Win32.Build.0 = Production|Win32
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Production|x64.ActiveCfg = Production|x64
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Production|x64.Build.0 = Production|x64
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Release|Win32.ActiveCfg = Release|Win32
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Release|Win32.Build.0 = Release|Win32
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Release|x64.ActiveCfg = Release|x64
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D}.Release|x64.Build.0 = Release|x64
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Debug_WinCairo|Win32.ActiveCfg = Debug_WinCairo|Win32
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Debug_WinCairo|Win32.Build.0 = Debug_WinCairo|Win32
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Debug_WinCairo|x64.ActiveCfg = Debug_WinCairo|x64
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Debug_WinCairo|x64.Build.0 = Debug_WinCairo|x64
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Debug|Win32.ActiveCfg = Debug|Win32
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Debug|Win32.Build.0 = Debug|Win32
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Debug|x64.ActiveCfg = Debug|x64
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Debug|x64.Build.0 = Debug|x64
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Production|Win32.ActiveCfg = Production|Win32
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Production|Win32.Build.0 = Production|Win32
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Production|x64.ActiveCfg = Production|x64
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Production|x64.Build.0 = Production|x64
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Release_WinCairo|Win32.ActiveCfg = Release_WinCairo|Win32
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Release_WinCairo|Win32.Build.0 = Release_WinCairo|Win32
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Release_WinCairo|x64.ActiveCfg = Release_WinCairo|x64
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Release_WinCairo|x64.Build.0 = Release_WinCairo|x64
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Release|Win32.ActiveCfg = Release|Win32
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Release|Win32.Build.0 = Release|Win32
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Release|x64.ActiveCfg = Release|x64
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5}.Release|x64.Build.0 = Release|x64
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Debug_WinCairo|Win32.ActiveCfg = Debug|Win32
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Debug_WinCairo|x64.ActiveCfg = Debug|x64
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Debug|Win32.ActiveCfg = Debug|Win32
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Debug|Win32.Build.0 = Debug|Win32
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Debug|x64.ActiveCfg = Debug|x64
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Debug|x64.Build.0 = Debug|x64
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Production|Win32.ActiveCfg = Production|Win32
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Production|Win32.Build.0 = Production|Win32
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Production|x64.ActiveCfg = Production|x64
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Production|x64.Build.0 = Production|x64
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Release_WinCairo|Win32.ActiveCfg = Release|Win32
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Release_WinCairo|x64.ActiveCfg = Release|x64
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Release|Win32.ActiveCfg = Release|Win32
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Release|Win32.Build.0 = Release|Win32
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Release|x64.ActiveCfg = Release|x64
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {8EF73779-BED3-45BB-816D-9FF58399AFA5} = {7F982CAD-225B-4FCE-9937-3B72C14D968D}
- {F7366596-0520-4433-B8FF-D843E31E5199} = {7F982CAD-225B-4FCE-9937-3B72C14D968D}
- {3670D01F-95F3-45A8-B878-947EB6CF214E} = {F9F5E7FE-5C5F-4CE9-8665-A84633F49E12}
- {22413D41-3A18-42B7-92A8-CEDC6CE86920} = {F9F5E7FE-5C5F-4CE9-8665-A84633F49E12}
- {2BD437CF-BDAC-4119-9ED6-E10EF46C69F3} = {F9F5E7FE-5C5F-4CE9-8665-A84633F49E12}
- {BB16286B-AADC-46C1-BC0D-6C06F323E04B} = {F9F5E7FE-5C5F-4CE9-8665-A84633F49E12}
- {5CC08E13-2CF9-4C2E-8544-07DA4E8C1843} = {F9F5E7FE-5C5F-4CE9-8665-A84633F49E12}
- {D595E3F6-24F2-4C60-935C-95D50C6B3E96} = {F9F5E7FE-5C5F-4CE9-8665-A84633F49E12}
- {877150A0-41B3-4730-9D98-1B8298098B14} = {F9F5E7FE-5C5F-4CE9-8665-A84633F49E12}
- {9221744B-5715-4F56-9590-42F7AB23DD8B} = {F9F5E7FE-5C5F-4CE9-8665-A84633F49E12}
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {4A894588-A951-4E76-A085-50E10304DC40}
- {A4159B6F-3106-4F75-9EDD-582307BDB96A} = {4A894588-A951-4E76-A085-50E10304DC40}
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {4A894588-A951-4E76-A085-50E10304DC40}
- {83414B15-1C0D-490B-990E-03F4D49170E4} = {4A894588-A951-4E76-A085-50E10304DC40}
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB} = {39286F46-BA75-4997-8065-1909090A60F0}
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {39286F46-BA75-4997-8065-1909090A60F0}
- {0F837117-8C0B-4596-A373-A37E14A01223} = {39286F46-BA75-4997-8065-1909090A60F0}
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16} = {39286F46-BA75-4997-8065-1909090A60F0}
- {20A8616C-E56B-4649-A910-8E97751DE145} = {6993F96C-409A-4FDC-A0BA-B40D5060B07C}
- {3D4C8B23-9375-4A7C-869C-7CC262C42F9F} = {6993F96C-409A-4FDC-A0BA-B40D5060B07C}
- {68A7C287-F9C4-4A31-9B49-995E64CAC100} = {6993F96C-409A-4FDC-A0BA-B40D5060B07C}
- {74E05245-682B-4D12-98AD-BFC64C9C14CE} = {6993F96C-409A-4FDC-A0BA-B40D5060B07C}
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4} = {20A8616C-E56B-4649-A910-8E97751DE145}
- {114FCA11-216B-4C8C-957E-30A75AE80443} = {20A8616C-E56B-4649-A910-8E97751DE145}
- {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {3D4C8B23-9375-4A7C-869C-7CC262C42F9F}
- {59CC0547-70AC-499C-9B19-EC01C6F61137} = {3D4C8B23-9375-4A7C-869C-7CC262C42F9F}
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017} = {3D4C8B23-9375-4A7C-869C-7CC262C42F9F}
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {3D4C8B23-9375-4A7C-869C-7CC262C42F9F}
- {2974EA02-840B-4995-8719-8920A61006F1} = {3D4C8B23-9375-4A7C-869C-7CC262C42F9F}
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8} = {68A7C287-F9C4-4A31-9B49-995E64CAC100}
- {AF94D13A-36C1-45FF-9B0B-EB5D3FF6F43D} = {68A7C287-F9C4-4A31-9B49-995E64CAC100}
- {F93EBE5A-20F3-44C1-B192-C4AA2BA95FD5} = {74E05245-682B-4D12-98AD-BFC64C9C14CE}
- {67A61940-F80B-42A0-A29D-B6DB1C27BCEE} = {74E05245-682B-4D12-98AD-BFC64C9C14CE}
- EndGlobalSection
-EndGlobal
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit.submit.sln b/Source/WebKit/WebKit.vcxproj/WebKit.submit.sln
deleted file mode 100644
index 5de95e9c0..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit.submit.sln
+++ /dev/null
@@ -1,65 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces\Interfaces.vcxproj", "{1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit", "WebKit\WebKit.vcxproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
- ProjectSection(ProjectDependencies) = postProject
- {0F837117-8C0B-4596-A373-A37E14A01223} = {0F837117-8C0B-4596-A373-A37E14A01223}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitExportGenerator", "WebKitExportGenerator\WebKitExportGenerator.vcxproj", "{0F837117-8C0B-4596-A373-A37E14A01223}"
- ProjectSection(ProjectDependencies) = postProject
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16} = {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID\WebKitGUID.vcxproj", "{A15EDAD8-8B87-4D4A-8498-77A04AB65F16}"
- ProjectSection(ProjectDependencies) = postProject
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB} = {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- DebugSuffix|Win32 = DebugSuffix|Win32
- Production|Win32 = Production|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Debug|Win32.ActiveCfg = Debug|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Debug|Win32.Build.0 = Debug|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.DebugSuffix|Win32.ActiveCfg = DebugSuffix|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.DebugSuffix|Win32.Build.0 = DebugSuffix|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Production|Win32.ActiveCfg = Production|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Production|Win32.Build.0 = Production|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Release|Win32.ActiveCfg = Release|Win32
- {1659B1B6-F2A3-46B3-AE02-FE65B4A607EB}.Release|Win32.Build.0 = Release|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}.DebugSuffix|Win32.ActiveCfg = DebugSuffix|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.DebugSuffix|Win32.Build.0 = DebugSuffix|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.ActiveCfg = Production|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.Build.0 = Production|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Debug|Win32.ActiveCfg = Debug|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Debug|Win32.Build.0 = Debug|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.DebugSuffix|Win32.ActiveCfg = DebugSuffix|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.DebugSuffix|Win32.Build.0 = DebugSuffix|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Production|Win32.ActiveCfg = Production|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Production|Win32.Build.0 = Production|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Release|Win32.ActiveCfg = Release|Win32
- {0F837117-8C0B-4596-A373-A37E14A01223}.Release|Win32.Build.0 = Release|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Debug|Win32.ActiveCfg = Debug|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Debug|Win32.Build.0 = Debug|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.DebugSuffix|Win32.ActiveCfg = DebugSuffix|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.DebugSuffix|Win32.Build.0 = DebugSuffix|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Production|Win32.ActiveCfg = Production|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Production|Win32.Build.0 = Production|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Release|Win32.ActiveCfg = Release|Win32
- {A15EDAD8-8B87-4D4A-8498-77A04AB65F16}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKit.vcxproj b/Source/WebKit/WebKit.vcxproj/WebKit/WebKit.vcxproj
deleted file mode 100644
index 98d74b08f..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKit.vcxproj
+++ /dev/null
@@ -1,544 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="DebugSuffix|Win32">
- <Configuration>DebugSuffix</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="DebugSuffix|x64">
- <Configuration>DebugSuffix</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug_WinCairo|Win32">
- <Configuration>Debug_WinCairo</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug_WinCairo|x64">
- <Configuration>Debug_WinCairo</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Production|Win32">
- <Configuration>Production</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Production|x64">
- <Configuration>Production</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release_WinCairo|Win32">
- <Configuration>Release_WinCairo</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release_WinCairo|x64">
- <Configuration>Release_WinCairo</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>WebKit</ProjectName>
- <ProjectGuid>{0662A8A9-82A3-4638-97D8-EC425D8D87C9}</ProjectGuid>
- <RootNamespace>WebKit</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Production|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Production|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitRelease.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitRelease.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitReleaseWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitReleaseWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Production|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitProduction.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Production|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitProduction.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitDebug.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitDebug.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitDebugWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitDebugWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitDebug.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debugsuffix.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitDebug.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debugsuffix.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <Link />
- <ClCompile />
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <Link />
- <ClCompile />
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <Link />
- <ClCompile />
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <Link />
- <ClCompile />
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <Link />
- <ClCompile />
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <Link />
- <ClCompile />
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Link />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <Link />
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Link />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <Link />
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">
- <Link />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <Link />
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">
- <Link />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <Link />
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">
- <Link />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <Link />
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Production|x64'">
- <Link />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <Link />
- <Link />
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="..\..\cf\WebCoreSupport\WebInspectorClientCF.cpp" />
- <ClCompile Include="..\..\win\AccessibleBase.cpp" />
- <ClCompile Include="..\..\win\AccessibleDocument.cpp" />
- <ClCompile Include="..\..\win\AccessibleImage.cpp" />
- <ClCompile Include="..\..\win\CFDictionaryPropertyBag.cpp" />
- <ClCompile Include="..\..\win\DefaultDownloadDelegate.cpp" />
- <ClCompile Include="..\..\win\DefaultPolicyDelegate.cpp" />
- <ClCompile Include="..\..\win\DOMCoreClasses.cpp" />
- <ClCompile Include="..\..\win\DOMCSSClasses.cpp" />
- <ClCompile Include="..\..\win\DOMEventsClasses.cpp" />
- <ClCompile Include="..\..\win\DOMHTMLClasses.cpp" />
- <ClCompile Include="..\..\win\ForEachCoClass.cpp" />
- <ClCompile Include="..\..\win\FullscreenVideoController.cpp" />
- <ClCompile Include="..\..\win\MarshallingHelpers.cpp" />
- <ClCompile Include="..\..\win\MemoryStream.cpp" />
- <ClCompile Include="..\..\win\WebActionPropertyBag.cpp" />
- <ClCompile Include="..\..\win\WebArchive.cpp" />
- <ClCompile Include="..\..\win\WebBackForwardList.cpp" />
- <ClCompile Include="..\..\win\WebCache.cpp" />
- <ClCompile Include="..\..\win\WebCookieManager.cpp" />
- <ClCompile Include="..\..\win\WebCookieManagerCFNet.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCookieManagerCurl.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCoreStatistics.cpp" />
- <ClCompile Include="..\..\win\WebCoreSupport\EmbeddedWidget.cpp" />
- <ClCompile Include="..\..\win\WebCoreSupport\WebChromeClient.cpp" />
- <ClCompile Include="..\..\win\WebCoreSupport\WebContextMenuClient.cpp" />
- <ClCompile Include="..\..\win\WebCoreSupport\WebDesktopNotificationsDelegate.cpp" />
- <ClCompile Include="..\..\win\WebCoreSupport\WebDragClient.cpp" />
- <ClCompile Include="..\..\win\WebCoreSupport\WebEditorClient.cpp" />
- <ClCompile Include="..\..\win\WebCoreSupport\WebFrameLoaderClient.cpp" />
- <ClCompile Include="..\..\win\WebCoreSupport\WebFrameNetworkingContext.cpp" />
- <ClCompile Include="..\..\win\WebCoreSupport\WebGeolocationClient.cpp" />
- <ClCompile Include="..\..\win\WebCoreSupport\WebInspectorClient.cpp" />
- <ClCompile Include="..\..\win\WebCoreSupport\WebInspectorDelegate.cpp" />
- <ClCompile Include="..\..\win\WebCoreSupport\WebPlatformStrategies.cpp" />
- <ClCompile Include="..\..\win\WebDatabaseManager.cpp" />
- <ClCompile Include="..\..\win\WebDataSource.cpp" />
- <ClCompile Include="..\..\win\WebDocumentLoader.cpp" />
- <ClCompile Include="..\..\win\WebDownload.cpp" />
- <ClCompile Include="..\..\win\WebDownloadCFNet.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="..\..\win\WebDownloadCurl.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="..\..\win\WebDropSource.cpp" />
- <ClCompile Include="..\..\win\WebElementPropertyBag.cpp" />
- <ClCompile Include="..\..\win\WebError.cpp" />
- <ClCompile Include="..\..\win\WebFrame.cpp" />
- <ClCompile Include="..\..\win\WebFramePolicyListener.cpp" />
- <ClCompile Include="..\..\win\WebGeolocationPolicyListener.cpp" />
- <ClCompile Include="..\..\win\WebGeolocationPosition.cpp" />
- <ClCompile Include="..\..\win\WebHistory.cpp" />
- <ClCompile Include="..\..\win\WebHistoryItem.cpp" />
- <ClCompile Include="..\..\win\WebHTMLRepresentation.cpp" />
- <ClCompile Include="..\..\win\WebIconDatabase.cpp" />
- <ClCompile Include="..\..\win\WebInspector.cpp" />
- <ClCompile Include="..\..\win\WebJavaScriptCollector.cpp" />
- <ClCompile Include="..\..\win\WebKitClassFactory.cpp" />
- <ClCompile Include="..\..\win\WebKitCOMAPI.cpp" />
- <ClCompile Include="..\..\win\WebKitDLL.cpp" />
- <ClCompile Include="..\..\win\WebKitGraphics.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="..\..\win\WebKitLogging.cpp" />
- <ClCompile Include="..\..\win\WebKitPrefix.cpp">
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">Create</PrecompiledHeader>
- <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Production|x64'">Create</PrecompiledHeader>
- </ClCompile>
- <ClCompile Include="..\..\win\WebKitStatistics.cpp" />
- <ClCompile Include="..\..\win\WebKitSystemBits.cpp" />
- <ClCompile Include="..\..\win\WebLocalizableStrings.cpp" />
- <ClCompile Include="..\..\win\WebMutableURLRequest.cpp" />
- <ClCompile Include="..\..\win\WebNavigationData.cpp" />
- <ClCompile Include="..\..\win\WebNodeHighlight.cpp" />
- <ClCompile Include="..\..\win\WebNotification.cpp" />
- <ClCompile Include="..\..\win\WebNotificationCenter.cpp" />
- <ClCompile Include="..\..\win\WebPreferences.cpp" />
- <ClCompile Include="..\..\win\WebResource.cpp" />
- <ClCompile Include="..\..\win\WebScriptObject.cpp" />
- <ClCompile Include="..\..\win\WebScriptWorld.cpp" />
- <ClCompile Include="..\..\win\WebScrollBar.cpp" />
- <ClCompile Include="..\..\win\WebSecurityOrigin.cpp" />
- <ClCompile Include="..\..\win\WebSerializedJSValue.cpp" />
- <ClCompile Include="..\..\win\WebTextRenderer.cpp" />
- <ClCompile Include="..\..\win\WebURLAuthenticationChallenge.cpp" />
- <ClCompile Include="..\..\win\WebURLAuthenticationChallengeSender.cpp" />
- <ClCompile Include="..\..\win\WebURLAuthenticationChallengeSenderCFNet.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="..\..\win\WebURLAuthenticationChallengeSenderCurl.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|x64'">true</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="..\..\win\WebURLCredential.cpp" />
- <ClCompile Include="..\..\win\WebURLProtectionSpace.cpp" />
- <ClCompile Include="..\..\win\WebURLResponse.cpp" />
- <ClCompile Include="..\..\win\WebUserContentURLPattern.cpp" />
- <ClCompile Include="..\..\win\WebView.cpp" />
- <ClCompile Include="..\..\win\WebWorkersPrivate.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\win\AccessibleBase.h" />
- <ClInclude Include="..\..\win\AccessibleDocument.h" />
- <ClInclude Include="..\..\win\AccessibleImage.h" />
- <ClInclude Include="..\..\win\CFDictionaryPropertyBag.h" />
- <ClInclude Include="..\..\win\CodeAnalysisConfig.h" />
- <ClInclude Include="..\..\win\COMEnumVariant.h" />
- <ClInclude Include="..\..\win\COMPropertyBag.h" />
- <ClInclude Include="..\..\win\COMVariantSetter.h" />
- <ClInclude Include="..\..\win\DefaultDownloadDelegate.h" />
- <ClInclude Include="..\..\win\DefaultPolicyDelegate.h" />
- <ClInclude Include="..\..\win\DOMCoreClasses.h" />
- <ClInclude Include="..\..\win\DOMCSSClasses.h" />
- <ClInclude Include="..\..\win\DOMEventsClasses.h" />
- <ClInclude Include="..\..\win\DOMHTMLClasses.h" />
- <ClInclude Include="..\..\win\ForEachCoClass.h" />
- <ClInclude Include="..\..\win\FullscreenVideoController.h" />
- <ClInclude Include="..\..\win\MarshallingHelpers.h" />
- <ClInclude Include="..\..\win\MemoryStream.h" />
- <ClInclude Include="..\..\win\ProgIDMacros.h" />
- <ClInclude Include="..\..\win\WebActionPropertyBag.h" />
- <ClInclude Include="..\..\win\WebArchive.h" />
- <ClInclude Include="..\..\win\WebBackForwardList.h" />
- <ClInclude Include="..\..\win\WebCache.h" />
- <ClInclude Include="..\..\win\WebCachedFramePlatformData.h" />
- <ClInclude Include="..\..\win\WebCookieManager.h" />
- <ClInclude Include="..\..\win\WebCoreStatistics.h" />
- <ClInclude Include="..\..\win\WebCoreSupport\EmbeddedWidget.h" />
- <ClInclude Include="..\..\win\WebCoreSupport\WebChromeClient.h" />
- <ClInclude Include="..\..\win\WebCoreSupport\WebContextMenuClient.h" />
- <ClInclude Include="..\..\win\WebCoreSupport\WebDesktopNotificationsDelegate.h" />
- <ClInclude Include="..\..\win\WebCoreSupport\WebDragClient.h" />
- <ClInclude Include="..\..\win\WebCoreSupport\WebEditorClient.h" />
- <ClInclude Include="..\..\win\WebCoreSupport\WebFrameLoaderClient.h" />
- <ClInclude Include="..\..\win\WebCoreSupport\WebFrameNetworkingContext.h" />
- <ClInclude Include="..\..\win\WebCoreSupport\WebGeolocationClient.h" />
- <ClInclude Include="..\..\win\WebCoreSupport\WebInspectorClient.h" />
- <ClInclude Include="..\..\win\WebCoreSupport\WebInspectorDelegate.h" />
- <ClInclude Include="..\..\win\WebCoreSupport\WebPlatformStrategies.h" />
- <ClInclude Include="..\..\win\WebDatabaseManager.h" />
- <ClInclude Include="..\..\win\WebDataSource.h" />
- <ClInclude Include="..\..\win\WebDocumentLoader.h" />
- <ClInclude Include="..\..\win\WebDownload.h" />
- <ClInclude Include="..\..\win\WebDropSource.h" />
- <ClInclude Include="..\..\win\WebElementPropertyBag.h" />
- <ClInclude Include="..\..\win\WebError.h" />
- <ClInclude Include="..\..\win\WebFrame.h" />
- <ClInclude Include="..\..\win\WebFramePolicyListener.h" />
- <ClInclude Include="..\..\win\WebGeolocationPolicyListener.h" />
- <ClInclude Include="..\..\win\WebGeolocationPosition.h" />
- <ClInclude Include="..\..\win\WebHistory.h" />
- <ClInclude Include="..\..\win\WebHistoryItem.h" />
- <ClInclude Include="..\..\win\WebHTMLRepresentation.h" />
- <ClInclude Include="..\..\win\WebIconDatabase.h" />
- <ClInclude Include="..\..\win\WebInspector.h" />
- <ClInclude Include="..\..\win\WebJavaScriptCollector.h" />
- <ClInclude Include="..\..\win\WebKitClassFactory.h" />
- <ClInclude Include="..\..\win\WebKitCOMAPI.h" />
- <ClInclude Include="..\..\win\WebKitDLL.h" />
- <ClInclude Include="..\..\win\WebKitGraphics.h" />
- <ClInclude Include="..\..\win\WebKitLogging.h" />
- <ClInclude Include="..\..\win\WebKitPrefix.h" />
- <ClInclude Include="..\..\win\WebKitStatistics.h" />
- <ClInclude Include="..\..\win\WebKitStatisticsPrivate.h" />
- <ClInclude Include="..\..\win\WebKitSystemBits.h" />
- <ClInclude Include="..\..\win\WebLocalizableStrings.h" />
- <ClInclude Include="..\..\win\WebMutableURLRequest.h" />
- <ClInclude Include="..\..\win\WebNavigationData.h" />
- <ClInclude Include="..\..\win\WebNodeHighlight.h" />
- <ClInclude Include="..\..\win\WebNotification.h" />
- <ClInclude Include="..\..\win\WebNotificationCenter.h" />
- <ClInclude Include="..\..\win\WebPreferenceKeysPrivate.h" />
- <ClInclude Include="..\..\win\WebPreferences.h" />
- <ClInclude Include="..\..\win\WebResource.h" />
- <ClInclude Include="..\..\win\WebScriptObject.h" />
- <ClInclude Include="..\..\win\WebScriptWorld.h" />
- <ClInclude Include="..\..\win\WebScrollBar.h" />
- <ClInclude Include="..\..\win\WebSecurityOrigin.h" />
- <ClInclude Include="..\..\win\WebSerializedJSValue.h" />
- <ClInclude Include="..\..\win\WebTextRenderer.h" />
- <ClInclude Include="..\..\win\WebURLAuthenticationChallenge.h" />
- <ClInclude Include="..\..\win\WebURLAuthenticationChallengeSender.h" />
- <ClInclude Include="..\..\win\WebURLCredential.h" />
- <ClInclude Include="..\..\win\WebURLProtectionSpace.h" />
- <ClInclude Include="..\..\win\WebURLResponse.h" />
- <ClInclude Include="..\..\win\WebUserContentURLPattern.h" />
- <ClInclude Include="..\..\win\WebView.h" />
- <ClInclude Include="..\..\win\WebWorkersPrivate.h" />
- <CustomBuildStep Include="..\WebKitGraphics.h" />
- <CustomBuildStep Include="..\WebLocalizableStrings.h" />
- </ItemGroup>
- <ItemGroup>
- <None Include="$(ConfigurationBuildDir)\obj32\WebKitExportGenerator\WebKitExports.def" />
- <None Include="..\..\win\WebKit.resources\deleteButton.png" />
- <None Include="..\..\win\WebKit.resources\deleteButtonPressed.png" />
- <None Include="..\..\win\WebKit.resources\fsVideoAudioVolumeHigh.png" />
- <None Include="..\..\win\WebKit.resources\fsVideoAudioVolumeLow.png" />
- <None Include="..\..\win\WebKit.resources\fsVideoExitFullscreen.png" />
- <None Include="..\..\win\WebKit.resources\fsVideoPause.png" />
- <None Include="..\..\win\WebKit.resources\fsVideoPlay.png" />
- <None Include="..\..\win\WebKit.resources\missingImage.png" />
- <None Include="..\..\win\WebKit.resources\nullplugin.png" />
- <None Include="..\..\win\WebKit.resources\panEastCursor.png" />
- <None Include="..\..\win\WebKit.resources\panIcon.png" />
- <None Include="..\..\win\WebKit.resources\panNorthCursor.png" />
- <None Include="..\..\win\WebKit.resources\panNorthEastCursor.png" />
- <None Include="..\..\win\WebKit.resources\panNorthWestCursor.png" />
- <None Include="..\..\win\WebKit.resources\panSouthCursor.png" />
- <None Include="..\..\win\WebKit.resources\panSouthEastCursor.png" />
- <None Include="..\..\win\WebKit.resources\panSouthWestCursor.png" />
- <None Include="..\..\win\WebKit.resources\panWestCursor.png" />
- <None Include="..\..\win\WebKit.resources\searchCancel.png" />
- <None Include="..\..\win\WebKit.resources\searchCancelPressed.png" />
- <None Include="..\..\win\WebKit.resources\searchMagnifier.png" />
- <None Include="..\..\win\WebKit.resources\searchMagnifierResults.png" />
- <None Include="..\..\win\WebKit.resources\textAreaResizeCorner.png" />
- <None Include="..\..\win\WebKit.resources\verticalTextCursor.png" />
- <None Include="..\..\win\WebKit.resources\zoomInCursor.png" />
- <None Include="..\..\win\WebKit.resources\zoomOutCursor.png" />
- <None Include="WebKitPostBuild.cmd" />
- <None Include="WebKitPreBuild.cmd" />
- <None Include="WebKitPreLink.cmd" />
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="..\..\win\WebKit.resources\WebKit.rc" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKit.vcxproj.filters b/Source/WebKit/WebKit.vcxproj/WebKit/WebKit.vcxproj.filters
deleted file mode 100644
index 5192363a8..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKit.vcxproj.filters
+++ /dev/null
@@ -1,631 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Header Files">
- <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="WebCoreSupport">
- <UniqueIdentifier>{5faf576b-9d8f-43cb-96e3-155a00fba0d6}</UniqueIdentifier>
- </Filter>
- <Filter Include="Resources">
- <UniqueIdentifier>{7a40f11b-af3a-40b3-8c62-f7adf76d12c8}</UniqueIdentifier>
- </Filter>
- <Filter Include="Sources">
- <UniqueIdentifier>{0a3a0baa-eab1-4cb5-a90d-c40c2eb7d0f9}</UniqueIdentifier>
- </Filter>
- <Filter Include="Generated">
- <UniqueIdentifier>{1a00610c-29e3-4979-a7a2-ef6c92c4bb71}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\win\WebCoreSupport\EmbeddedWidget.cpp">
- <Filter>WebCoreSupport</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCoreSupport\WebChromeClient.cpp">
- <Filter>WebCoreSupport</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCoreSupport\WebContextMenuClient.cpp">
- <Filter>WebCoreSupport</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCoreSupport\WebDesktopNotificationsDelegate.cpp">
- <Filter>WebCoreSupport</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCoreSupport\WebDragClient.cpp">
- <Filter>WebCoreSupport</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCoreSupport\WebEditorClient.cpp">
- <Filter>WebCoreSupport</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCoreSupport\WebFrameLoaderClient.cpp">
- <Filter>WebCoreSupport</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCoreSupport\WebFrameNetworkingContext.cpp">
- <Filter>WebCoreSupport</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCoreSupport\WebGeolocationClient.cpp">
- <Filter>WebCoreSupport</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCoreSupport\WebInspectorClient.cpp">
- <Filter>WebCoreSupport</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCoreSupport\WebInspectorDelegate.cpp">
- <Filter>WebCoreSupport</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCoreSupport\WebPlatformStrategies.cpp">
- <Filter>WebCoreSupport</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\AccessibleBase.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\AccessibleDocument.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\AccessibleImage.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\CFDictionaryPropertyBag.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\DefaultDownloadDelegate.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\DefaultPolicyDelegate.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\DOMCoreClasses.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\DOMCSSClasses.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\DOMEventsClasses.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\DOMHTMLClasses.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\ForEachCoClass.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\FullscreenVideoController.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\MarshallingHelpers.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\MemoryStream.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebActionPropertyBag.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebArchive.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebBackForwardList.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCache.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCookieManager.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCookieManagerCFNet.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCookieManagerCurl.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebCoreStatistics.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebDatabaseManager.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebDataSource.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebDocumentLoader.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebDownload.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebDownloadCFNet.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebDownloadCurl.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebDropSource.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebElementPropertyBag.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebError.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebFrame.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebFramePolicyListener.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebGeolocationPolicyListener.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebGeolocationPosition.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebHistory.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebHistoryItem.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebHTMLRepresentation.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebIconDatabase.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebInspector.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebJavaScriptCollector.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebKitClassFactory.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebKitDLL.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebKitLogging.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebKitStatistics.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebKitSystemBits.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebMutableURLRequest.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebNavigationData.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebNodeHighlight.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebNotification.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebNotificationCenter.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebPreferences.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebResource.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebScriptObject.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebScriptWorld.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebScrollBar.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebSecurityOrigin.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebSerializedJSValue.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebTextRenderer.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebURLAuthenticationChallenge.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebURLAuthenticationChallengeSender.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebURLAuthenticationChallengeSenderCFNet.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebURLAuthenticationChallengeSenderCurl.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebURLCredential.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebURLProtectionSpace.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebURLResponse.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebUserContentURLPattern.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebView.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebWorkersPrivate.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebLocalizableStrings.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebKitCOMAPI.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebKitGraphics.cpp">
- <Filter>Sources</Filter>
- </ClCompile>
- <ClCompile Include="..\..\win\WebKitPrefix.cpp" />
- <ClCompile Include="..\..\cf\WebCoreSupport\WebInspectorClientCF.cpp">
- <Filter>WebCoreSupport</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="..\..\win\WebCoreSupport\EmbeddedWidget.h">
- <Filter>WebCoreSupport</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCoreSupport\WebChromeClient.h">
- <Filter>WebCoreSupport</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCoreSupport\WebContextMenuClient.h">
- <Filter>WebCoreSupport</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCoreSupport\WebDesktopNotificationsDelegate.h">
- <Filter>WebCoreSupport</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCoreSupport\WebDragClient.h">
- <Filter>WebCoreSupport</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCoreSupport\WebEditorClient.h">
- <Filter>WebCoreSupport</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCoreSupport\WebFrameLoaderClient.h">
- <Filter>WebCoreSupport</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCoreSupport\WebFrameNetworkingContext.h">
- <Filter>WebCoreSupport</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCoreSupport\WebGeolocationClient.h">
- <Filter>WebCoreSupport</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCoreSupport\WebInspectorClient.h">
- <Filter>WebCoreSupport</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCoreSupport\WebInspectorDelegate.h">
- <Filter>WebCoreSupport</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCoreSupport\WebPlatformStrategies.h">
- <Filter>WebCoreSupport</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\AccessibleBase.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\AccessibleDocument.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\AccessibleImage.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\CFDictionaryPropertyBag.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\CodeAnalysisConfig.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\COMEnumVariant.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\COMPropertyBag.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\COMVariantSetter.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\DefaultDownloadDelegate.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\DefaultPolicyDelegate.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\DOMCoreClasses.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\DOMCSSClasses.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\DOMEventsClasses.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\DOMHTMLClasses.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\ForEachCoClass.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\FullscreenVideoController.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\MarshallingHelpers.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\MemoryStream.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\ProgIDMacros.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebActionPropertyBag.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebArchive.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebBackForwardList.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCache.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCachedFramePlatformData.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCookieManager.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebCoreStatistics.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebDatabaseManager.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebDataSource.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebDocumentLoader.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebDownload.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebDropSource.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebElementPropertyBag.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebError.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebFrame.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebFramePolicyListener.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebGeolocationPolicyListener.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebGeolocationPosition.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebHistory.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebHistoryItem.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebHTMLRepresentation.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebIconDatabase.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebInspector.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebJavaScriptCollector.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebKitClassFactory.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebKitCOMAPI.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebKitDLL.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebKitGraphics.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebKitLogging.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebKitStatistics.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebKitStatisticsPrivate.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebKitSystemBits.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebLocalizableStrings.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebMutableURLRequest.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebNavigationData.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebNodeHighlight.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebNotification.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebNotificationCenter.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebPreferenceKeysPrivate.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebPreferences.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebResource.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebScriptObject.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebScriptWorld.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebScrollBar.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebSecurityOrigin.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebSerializedJSValue.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebTextRenderer.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebURLAuthenticationChallenge.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebURLAuthenticationChallengeSender.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebURLCredential.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebURLProtectionSpace.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebURLResponse.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebUserContentURLPattern.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebView.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebWorkersPrivate.h">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="..\..\win\WebKitPrefix.h" />
- </ItemGroup>
- <ItemGroup>
- <None Include="WebKitPostBuild.cmd" />
- <None Include="WebKitPreBuild.cmd" />
- <None Include="WebKitPreLink.cmd" />
- <None Include="..\..\win\WebKit.resources\deleteButton.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\deleteButtonPressed.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\fsVideoAudioVolumeHigh.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\fsVideoAudioVolumeLow.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\fsVideoExitFullscreen.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\fsVideoPause.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\fsVideoPlay.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\missingImage.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\nullplugin.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\panEastCursor.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\panIcon.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\panNorthCursor.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\panNorthEastCursor.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\panNorthWestCursor.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\panSouthCursor.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\panSouthEastCursor.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\panSouthWestCursor.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\panWestCursor.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\searchCancel.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\searchCancelPressed.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\searchMagnifier.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\searchMagnifierResults.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\textAreaResizeCorner.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\verticalTextCursor.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\zoomInCursor.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="..\..\win\WebKit.resources\zoomOutCursor.png">
- <Filter>Resources</Filter>
- </None>
- <None Include="$(ConfigurationBuildDir)\obj32\WebKitExportGenerator\WebKitExports.def">
- <Filter>Generated</Filter>
- </None>
- </ItemGroup>
- <ItemGroup>
- <ResourceCompile Include="..\..\win\WebKit.resources\WebKit.rc">
- <Filter>Resources</Filter>
- </ResourceCompile>
- </ItemGroup>
-</Project>
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitApple.props b/Source/WebKit/WebKit.vcxproj/WebKit/WebKitApple.props
deleted file mode 100644
index b8a13c87f..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitApple.props
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
- </PropertyGroup>
- <ItemDefinitionGroup>
- <Link>
- <AdditionalDependencies>CFNetwork$(DebugSuffix).lib;CoreFoundation$(DebugSuffix).lib;CoreGraphics$(DebugSuffix).lib;WebKitSystemInterface$(DebugSuffix).lib;QTMovieWin$(DebugSuffix).lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitCFLite.props b/Source/WebKit/WebKit.vcxproj/WebKit/WebKitCFLite.props
deleted file mode 100644
index 8528b2491..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitCFLite.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
- <_PropertySheetDisplayName>WebKitCFLite</_PropertySheetDisplayName>
- </PropertyGroup>
- <ItemDefinitionGroup>
- <Link>
- <AdditionalDependencies>CFLite.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Link>
- </ItemDefinitionGroup>
-</Project>
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitCommon.props b/Source/WebKit/WebKit.vcxproj/WebKit/WebKitCommon.props
deleted file mode 100644
index 75d17c66a..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitCommon.props
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
- </PropertyGroup>
- <ItemDefinitionGroup>
- <ClCompile>
- <AdditionalIncludeDirectories>$(ProjectDir);$(ProjectDir)\..\..\win;$(ProjectDir)\..\..\win\WebCoreSupport;$(ConfigurationBuildDir)\include\WebKit;$(ConfigurationBuildDir)\Include;$(ConfigurationBuildDir)\Include\private;$(ConfigurationBuildDir)\Include\WebCore;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders;$(ConfigurationBuildDir)\Include\JavaScriptCore;$(ConfigurationBuildDir)\Include\private\JavaScriptCore;$(ConfigurationBuildDir)\obj32\WebKit\DerivedSources;$(WebKit_Libraries)\Include;$(WebKit_Libraries)\Include\private;$(WebKit_Libraries)\Include\WebCore;$(WebKit_Libraries)\Include\WebCore\ForwardingHeaders;$(WebKit_Libraries)\Include\JavaScriptCore;$(WebKit_Libraries)\Include\private\JavaScriptCore;$(IntDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <PrecompiledHeader>Use</PrecompiledHeader>
- <PrecompiledHeaderFile>WebKitPrefix.h</PrecompiledHeaderFile>
- <DisableSpecificWarnings>4819;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- <ForcedIncludeFiles>WebKitPrefix.h;ICUVersion.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
- </ClCompile>
- <Link>
- <AdditionalDependencies>opengl32.lib;delayimp.lib;kernel32.lib;user32.lib;gdi32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;usp10.lib;comctl32.lib;version.lib;shlwapi.lib;libxslt$(DebugSuffix).lib;libxml2$(DebugSuffix).lib;libicuin$(DebugSuffix).lib;libicuuc$(DebugSuffix).lib;WTF$(DebugSuffix).lib;JavaScriptCore$(DebugSuffix).lib;WebCore$(DebugSuffix).lib;WebKitGUID$(DebugSuffix).lib;SQLite3$(DebugSuffix).lib;msimg32.lib;crypt32.lib;iphlpapi.lib;winmm.lib;comsuppw.lib;rpcrt4.lib;zdll$(DebugSuffix).lib;%(AdditionalDependencies)</AdditionalDependencies>
- <ModuleDefinitionFile>$(ConfigurationBuildDir)\obj32\WebKitExportGenerator\WebKitExports.def</ModuleDefinitionFile>
- <DelayLoadDLLs>usp10.dll;comctl32.dll;version.dll;iphlpapi.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
- </Link>
- </ItemDefinitionGroup>
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitDebug.props b/Source/WebKit/WebKit.vcxproj/WebKit/WebKitDebug.props
deleted file mode 100644
index 276a1aad8..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitDebug.props
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefines.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debug.props" />
- <Import Project="WebKitCommon.props" />
- <Import Project="WebKitDirectX.props" />
- <Import Project="WebKitApple.props" />
- </ImportGroup>
- <PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
- </PropertyGroup>
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitDebugWinCairo.props b/Source/WebKit/WebKit.vcxproj/WebKit/WebKitDebugWinCairo.props
deleted file mode 100644
index 637c472ad..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitDebugWinCairo.props
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefinesCairo.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debug.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\WinCairo.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\cURL.props" />
- <Import Project="WebKitCommon.props" />
- <Import Project="WebKitDirectX.props" />
- <Import Project="WebKitCFLite.props" />
- </ImportGroup>
- <PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
- </PropertyGroup>
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitDirectX.props b/Source/WebKit/WebKit.vcxproj/WebKit/WebKitDirectX.props
deleted file mode 100644
index cffd04312..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitDirectX.props
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
- </PropertyGroup>
- <ItemDefinitionGroup>
- <ClCompile>
- <AdditionalIncludeDirectories>$(DXSDK_DIR)\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- </ClCompile>
- <Link>
- <AdditionalLibraryDirectories>$(DXSDK_DIR)\Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- </Link>
- </ItemDefinitionGroup>
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPostBuild.cmd b/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPostBuild.cmd
deleted file mode 100644
index 08cf9cf41..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPostBuild.cmd
+++ /dev/null
@@ -1,17 +0,0 @@
-mkdir 2>NUL "%CONFIGURATIONBUILDDIR%\include\WebKit"
-
-xcopy /y /d "%PROJECTDIR%\..\..\win\WebLocalizableStrings.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
-xcopy /y /d "%PROJECTDIR%\..\..\win\WebKitGraphics.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
-xcopy /y /d "%PROJECTDIR%\..\..\win\WebKitCOMAPI.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
-xcopy /y /d "%PROJECTDIR%\..\..\win\WebPreferenceKeysPrivate.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
-
-xcopy /y /d "%CONFIGURATIONBUILDDIR%\include\WebCore\npapi.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
-xcopy /y /d "%CONFIGURATIONBUILDDIR%\include\WebCore\npfunctions.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
-xcopy /y /d "%CONFIGURATIONBUILDDIR%\include\WebCore\npruntime.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
-xcopy /y /d "%CONFIGURATIONBUILDDIR%\include\WebCore\npruntime_internal.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
-xcopy /y /d "%CONFIGURATIONBUILDDIR%\include\WebCore\nptypes.h" "%CONFIGURATIONBUILDDIR%\include\WebKit"
-
-mkdir 2>NUL "%CONFIGURATIONBUILDDIR%\bin32\WebKit.resources"
-xcopy /y /d "%PROJECTDIR%..\..\WebKit.resources\*" "%CONFIGURATIONBUILDDIR%\bin32\WebKit.resources"
-
-if exist "%CONFIGURATIONBUILDDIR%\buildfailed" del "%CONFIGURATIONBUILDDIR%\buildfailed"
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPreBuild.cmd b/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPreBuild.cmd
deleted file mode 100644
index 1e26e874f..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPreBuild.cmd
+++ /dev/null
@@ -1,11 +0,0 @@
-%SystemDrive%\cygwin\bin\which.exe bash
-if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
-cmd /c
-if exist "%CONFIGURATIONBUILDDIR%\buildfailed" grep XX%PROJECTNAME%XX "%CONFIGURATIONBUILDDIR%\buildfailed"
-if errorlevel 1 exit 1
-echo XX%PROJECTNAME%XX > "%CONFIGURATIONBUILDDIR%\buildfailed"
-
-mkdir 2>NUL "%CONFIGURATIONBUILDDIR%\include\JavaScriptCore"
-xcopy /y /d "%WEBKIT_LIBRARIES%\include\JavaScriptCore\*" "%CONFIGURATIONBUILDDIR%\include\JavaScriptCore"
-
-bash "%WEBKIT_LIBRARIES%\tools\scripts\auto-version.sh" "%INTDIR%"
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPreLink.cmd b/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPreLink.cmd
deleted file mode 100644
index e69de29bb..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitPreLink.cmd
+++ /dev/null
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitProduction.props b/Source/WebKit/WebKit.vcxproj/WebKit/WebKitProduction.props
deleted file mode 100644
index 42c8ef420..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitProduction.props
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefines.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\production.props" />
- <Import Project="WebKitCommon.props" />
- <Import Project="WebKitDirectX.props" />
- <Import Project="WebKitApple.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitRelease.props b/Source/WebKit/WebKit.vcxproj/WebKit/WebKitRelease.props
deleted file mode 100644
index c3b696ee0..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitRelease.props
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefines.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\release.props" />
- <Import Project="WebKitCommon.props" />
- <Import Project="WebKitDirectX.props" />
- <Import Project="WebKitApple.props" />
- </ImportGroup>
- <PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
- </PropertyGroup>
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitReleaseWinCairo.props b/Source/WebKit/WebKit.vcxproj/WebKit/WebKitReleaseWinCairo.props
deleted file mode 100644
index 8434c4c21..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/WebKitReleaseWinCairo.props
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefinesCairo.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\release.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\WinCairo.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\cURL.props" />
- <Import Project="WebKitCFLite.props" />
- <Import Project="WebKitCommon.props" />
- <Import Project="WebKitDirectX.props" />
- </ImportGroup>
- <PropertyGroup>
- <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>
- </PropertyGroup>
-</Project>
diff --git a/Source/WebKit/WebKit.vcxproj/WebKit/resource.h b/Source/WebKit/WebKit.vcxproj/WebKit/resource.h
deleted file mode 100644
index b999de62c..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKit/resource.h
+++ /dev/null
@@ -1,44 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by WebKit.rc
-//
-#define IDR_WEBKIT 1
-#define IDR_RESIZE_CORNER 2
-#define IDR_MISSING_IMAGE 3
-#define IDR_URL_ICON 4
-#define IDR_NULL_PLUGIN 5
-#define IDR_ZOOM_IN_CURSOR 6
-#define IDR_ZOOM_OUT_CURSOR 7
-#define IDR_VERTICAL_TEXT_CURSOR 8
-#define IDR_PAN_SCROLL_ICON 9
-#define IDR_PAN_SOUTH_CURSOR 10
-#define IDR_PAN_NORTH_CURSOR 11
-#define IDR_PAN_EAST_CURSOR 12
-#define IDR_PAN_WEST_CURSOR 13
-#define IDR_PAN_SOUTH_EAST_CURSOR 14
-#define IDR_PAN_SOUTH_WEST_CURSOR 15
-#define IDR_PAN_NORTH_EAST_CURSOR 16
-#define IDR_PAN_NORTH_WEST_CURSOR 17
-#define IDR_SEARCH_CANCEL 18
-#define IDR_SEARCH_CANCEL_PRESSED 19
-#define IDR_SEARCH_MAGNIFIER 20
-#define IDR_SEARCH_MAGNIFIER_RESULTS 21
-#define IDR_FS_VIDEO_AUDIO_VOLUME_HIGH 22
-#define IDR_FS_VIDEO_AUDIO_VOLUME_LOW 23
-#define IDR_FS_VIDEO_EXIT_FULLSCREEN 24
-#define IDR_FS_VIDEO_PAUSE 25
-#define IDR_FS_VIDEO_PLAY 26
-#define IDC_STATIC -1
-
-#define BUILD_NUMBER 1
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 22
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1000
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj b/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj
deleted file mode 100644
index 8fe083e3a..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj
+++ /dev/null
@@ -1,287 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="DebugSuffix|Win32">
- <Configuration>DebugSuffix</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="DebugSuffix|x64">
- <Configuration>DebugSuffix</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug_WinCairo|Win32">
- <Configuration>Debug_WinCairo</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug_WinCairo|x64">
- <Configuration>Debug_WinCairo</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Production|Win32">
- <Configuration>Production</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Production|x64">
- <Configuration>Production</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release_WinCairo|Win32">
- <Configuration>Release_WinCairo</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release_WinCairo|x64">
- <Configuration>Release_WinCairo</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{0F837117-8C0B-4596-A373-A37E14A01223}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <RootNamespace>WebKitExportGenerator</RootNamespace>
- <ProjectName>WebKitExportGenerator</ProjectName>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Production|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Production|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitExportGeneratorDebug.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitExportGeneratorDebug.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitExportGeneratorDebugWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitExportGeneratorDebugWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitExportGeneratorDebug.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debugsuffix.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitExportGeneratorDebug.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debugsuffix.props" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitExportGeneratorRelease.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitExportGeneratorRelease.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitExportGeneratorReleaseWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitExportGeneratorReleaseWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Production|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitExportGeneratorProduction.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Production|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitExportGeneratorProduction.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Production|Win32'" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Production|x64'" />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- </ClCompile>
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- </ClCompile>
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- </ClCompile>
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- </ClCompile>
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- </ClCompile>
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- </ClCompile>
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- </ClCompile>
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- </ClCompile>
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- </ClCompile>
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- </ClCompile>
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- </ClCompile>
- <Link />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Production|x64'">
- <ClCompile>
- <PrecompiledHeader>
- </PrecompiledHeader>
- </ClCompile>
- <Link />
- </ItemDefinitionGroup>
- <ItemGroup>
- <CustomBuild Include="WebKitExports.def.in">
- <FileType>Document</FileType>
- </CustomBuild>
- <None Include="make-export-file-generator" />
- <None Include="WebKitExportGeneratorBuildCmd.cmd" />
- <None Include="WebKitExportGeneratorPostBuild.cmd" />
- <None Include="WebKitExportGeneratorPreBuild.cmd">
- <FileType>Document</FileType>
- </None>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="$(ConfigurationBuildDir)\obj32\WebKitExportGenerator\DerivedSources\WebKitExportGenerator.cpp" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj.filters b/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj.filters
deleted file mode 100644
index 68dfd0996..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj.filters
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <None Include="WebKitExportGeneratorBuildCmd.cmd" />
- <None Include="WebKitExportGeneratorPostBuild.cmd" />
- <None Include="WebKitExportGeneratorPreBuild.cmd" />
- <None Include="make-export-file-generator" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="$(ConfigurationBuildDir)\obj32\WebKitExportGenerator\DerivedSources\WebKitExportGenerator.cpp" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="WebKitExports.def.in" />
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorBuildCmd.cmd b/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorBuildCmd.cmd
deleted file mode 100644
index e56bb811a..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorBuildCmd.cmd
+++ /dev/null
@@ -1,9 +0,0 @@
-%SystemDrive%\cygwin\bin\which.exe bash
-if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
-cmd /c
-
-set GeneratorDirectory=%CONFIGURATIONBUILDDIR%/obj32/WebKitExportGenerator
-
-echo Generating export definitions
-del /F /Q "%GeneratorDirectory%/DerivedSources/WebKitExportGenerator.cpp"
-bash -c "./make-export-file-generator ./WebKitExports.def.in '%GeneratorDirectory%/DerivedSources/WebKitExportGenerator.cpp'"
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorCommon.props b/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorCommon.props
deleted file mode 100644
index 272e2d2f2..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorCommon.props
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets" />
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup>
- <ClCompile>
- <AdditionalIncludeDirectories>$(ConfigurationBuildDir)\Include\;$(ConfigurationBuildDir)\Include\private;$(ConfigurationBuildDir)\Include\WebCore;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders;$(WebKit_Libraries)\include\WebCore\ForwardingHeaders;$(WebKit_Libraries)\include\WebCore;$(WebKit_Libraries)\Include;$(WebKit_Libraries)\Include\private;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- </ClCompile>
- <Link>
- <SubSystem>Console</SubSystem>
- <AdditionalDependencies>WTF$(DebugSuffix).lib;libicuuc$(DebugSuffix).lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorDebug.props b/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorDebug.props
deleted file mode 100644
index 7204b29e9..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorDebug.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefines.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debug.props" />
- <Import Project="WebKitExportGeneratorCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorDebugWinCairo.props b/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorDebugWinCairo.props
deleted file mode 100644
index 22ae3463b..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorDebugWinCairo.props
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefinesCairo.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debug.props" />
- <Import Project="WebKitExportGeneratorCommon.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\WinCairo.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPostBuild.cmd b/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPostBuild.cmd
deleted file mode 100644
index b27a14a62..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPostBuild.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-set GeneratorDirectory=%CONFIGURATIONBUILDDIR%\obj32\WebKitExportGenerator
-echo Exporting link definition output (%GeneratorDirectory%\WebKitExports.def)
-if exist "%OUTDIR%\WebKitExportGenerator%DEBUGSUFFIX%.exe" "%OUTDIR%\WebKitExportGenerator%DEBUGSUFFIX%.exe" > "%GeneratorDirectory%\WebKitExports.def"
-
-if exist "%CONFIGURATIONBUILDDIR%\buildfailed" del "%CONFIGURATIONBUILDDIR%\buildfailed"
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPreBuild.cmd b/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPreBuild.cmd
deleted file mode 100644
index 661e9dd27..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPreBuild.cmd
+++ /dev/null
@@ -1,19 +0,0 @@
-%SystemDrive%\cygwin\bin\which.exe bash
-if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
-
-echo Preparing generator output directory...
-set GeneratorDirectory=%CONFIGURATIONBUILDDIR%/obj32/WebKitExportGenerator
-mkdir "%GeneratorDirectory%" 2>NUL
-mkdir "%GeneratorDirectory%\DerivedSources" 2>NUL
-
-echo Clearing old definition file...
-del /F /Q "%GeneratorDirectory%\WebKitExports.def"
-del /F /Q "%GeneratorDirectory%\DerivedSources\WebKitExportGenerator.cpp"
-del /F /Q "%OUTDIR%\WebKitExportGenerator%DEBUGSUFFIX%.exe"
-
-cmd /c
-if exist "%CONFIGURATIONBUILDDIR%\buildfailed" grep XX%PROJECTNAME%XX "%CONFIGURATIONBUILDDIR%\buildfailed"
-if errorlevel 1 exit 1
-echo XX%PROJECTNAME%XX > "%CONFIGURATIONBUILDDIR%\buildfailed"
-
-"%PROJECTDIR%\%PROJECTNAME%BuildCmd.cmd"
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorProduction.props b/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorProduction.props
deleted file mode 100644
index 340be6a66..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorProduction.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefines.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\production.props" />
- <Import Project="WebKitExportGeneratorCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorRelease.props b/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorRelease.props
deleted file mode 100644
index 5335cb307..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorRelease.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefines.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\release.props" />
- <Import Project="WebKitExportGeneratorCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorReleaseWinCairo.props b/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorReleaseWinCairo.props
deleted file mode 100644
index feddf3873..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorReleaseWinCairo.props
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefinesCairo.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\release.props" />
- <Import Project="WebKitExportGeneratorCommon.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\WinCairo.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in b/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in
deleted file mode 100644
index 7149ebc77..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in
+++ /dev/null
@@ -1,464 +0,0 @@
-EXPORTS
- DllGetClassObject PRIVATE
- DllCanUnloadNow PRIVATE
- DllRegisterServer PRIVATE
- DllUnregisterServer PRIVATE
- RunAsLocalServer PRIVATE
- LocalServerDidDie PRIVATE
- setUseOpenSourceWebKit
- shutDownWebKit
- progIDForClass
- WebLocalizedStringUTF8
- WebLocalizedLPCTSTRUTF8
-#if USE(CG)
- WebDrawText
- FontMetrics
- TextFloatWidth
- CenterTruncateStringToWidth
- RightTruncateStringToWidth
- WebKitSetShouldUseFontSmoothing
- WebKitShouldUseFontSmoothing
-#endif
- WebKitCreateInstance
-
- ; These functions are deprecated
- WebLocalizedString
- WebLocalizedLPCTSTR
- SetWebLocalizedStringMainBundle
-
- ; Deprecated re-exports from JavaScriptCore
- JSCheckScriptSyntax
- JSClassCreate
- JSClassRelease
- JSClassRetain
- JSContextGetGlobalObject
- JSContextGetGroup
- JSContextGroupCreate
- JSContextGroupRelease
- JSContextGroupRetain
- JSEvaluateScript
- JSGarbageCollect
- JSGlobalContextCreate
- JSGlobalContextCreateInGroup
- JSGlobalContextRelease
- JSGlobalContextRetain
- JSObjectCallAsConstructor
- JSObjectCallAsFunction
- JSObjectCopyPropertyNames
- JSObjectDeleteProperty
- JSObjectGetPrivate
- JSObjectGetProperty
- JSObjectGetPropertyAtIndex
- JSObjectGetPrototype
- JSObjectHasProperty
- JSObjectIsConstructor
- JSObjectIsFunction
- JSObjectMake
- JSObjectMakeArray
- JSObjectMakeConstructor
- JSObjectMakeDate
- JSObjectMakeError
- JSObjectMakeFunction
- JSObjectMakeFunctionWithCallback
- JSObjectMakeRegExp
- JSObjectSetPrivate
- JSObjectSetProperty
- JSObjectSetPropertyAtIndex
- JSObjectSetPrototype
- JSPropertyNameAccumulatorAddName
- JSPropertyNameArrayGetCount
- JSPropertyNameArrayGetNameAtIndex
- JSPropertyNameArrayRelease
- JSPropertyNameArrayRetain
- JSStringCopyBSTR
- JSStringCopyCFString
- JSStringCreateWithBSTR
- JSStringCreateWithCFString
- JSStringCreateWithCharacters
- JSStringCreateWithUTF8CString
- JSStringGetCharactersPtr
- JSStringGetLength
- JSStringGetMaximumUTF8CStringSize
- JSStringGetUTF8CString
- JSStringIsEqual
- JSStringIsEqualToUTF8CString
- JSStringRelease
- JSStringRetain
- JSValueGetType
- JSValueIsBoolean
- JSValueIsEqual
- JSValueIsInstanceOfConstructor
- JSValueIsNull
- JSValueIsNumber
- JSValueIsObject
- JSValueIsObjectOfClass
- JSValueIsStrictEqual
- JSValueIsString
- JSValueIsUndefined
- JSValueMakeBoolean
- JSValueMakeNull
- JSValueMakeNumber
- JSValueMakeString
- JSValueMakeUndefined
- JSValueProtect
- JSValueToBoolean
- JSValueToNumber
- JSValueToObject
- JSValueToStringCopy
- JSValueUnprotect
- symbolWithPointer(?fastMalloc@WTF@@YAPAXI@Z, ?fastMalloc@WTF@@YAPEAX_K@Z)
- symbolWithPointer(?fastZeroedMalloc@WTF@@YAPAXI@Z, ?fastZeroedMalloc@WTF@@YAPEAX_K@Z)
- symbolWithPointer(?fastFree@WTF@@YAXPAX@Z, ?fastFree@WTF@@YAXPEAX@Z)
- symbolWithPointer(?fastCalloc@WTF@@YAPAXII@Z, ?fastCalloc@WTF@@YAPEAX_K0@Z)
- symbolWithPointer(??0CSSComputedStyleDeclaration@WebCore@@AAE@V?$PassRefPtr@VNode@WebCore@@@WTF@@_NABVString@3@@Z, ??0CSSComputedStyleDeclaration@WebCore@@AEAA@V?$PassRefPtr@VNode@WebCore@@@WTF@@_NAEBVString@3@@Z)
- symbolWithPointer(??0Mutex@WTF@@QAE@XZ, ??0Mutex@WTF@@QEAA@XZ)
- symbolWithPointer(??0ThreadCondition@WTF@@QAE@XZ, ??0ThreadCondition@WTF@@QEAA@XZ)
- symbolWithPointer(??1HitTestResult@WebCore@@QAE@XZ, ??1HitTestResult@WebCore@@QEAA@XZ)
- symbolWithPointer(??1Mutex@WTF@@QAE@XZ, ??1Mutex@WTF@@QEAA@XZ)
- symbolWithPointer(??1ThreadCondition@WTF@@QAE@XZ, ??1ThreadCondition@WTF@@QEAA@XZ)
-#if USE(CAIRO)
- symbolWithPointer(??$derefIfNotNull@U_cairo_surface@@@WTF@@YAXPAU_cairo_surface@@@Z, ??$derefIfNotNull@U_cairo_surface@@@WTF@@YAXPEAU_cairo_surface@@@Z)
- symbolWithPointer(??$refIfNotNull@U_cairo_surface@@@WTF@@YAXPAU_cairo_surface@@@Z, ??$refIfNotNull@U_cairo_surface@@@WTF@@YAXPEAU_cairo_surface@@@Z)
-#endif
- symbolWithPointer(?addTextMatchMarker@DocumentMarkerController@WebCore@@QAEXPBVRange@2@_N@Z, ?addTextMatchMarker@DocumentMarkerController@WebCore@@QEAAXPEBVRange@2@_N@Z)
- symbolWithPointer(?broadcast@ThreadCondition@WTF@@QAEXXZ, ?broadcast@ThreadCondition@WTF@@QEAAXXZ)
- symbolWithPointer(?callOnMainThread@WTF@@YAXP6AXPAX@Z0@Z, ?callOnMainThread@WTF@@YAXP6AXPEAX@Z0@Z)
-#if ENABLE(INSPECTOR)
- ?counterValue@InspectorCounters@WebCore@@SAHW4CounterType@12@@Z
- symbolWithPointer(?didBeginFrame@InspectorController@WebCore@@QAEXXZ, ?didBeginFrame@InspectorController@WebCore@@QEAAXXZ)
- symbolWithPointer(?didCancelFrame@InspectorController@WebCore@@QAEXXZ, ?didCancelFrame@InspectorController@WebCore@@QEAAXXZ)
-#endif
- symbolWithPointer(?counterValueForElement@WebCore@@YA?AVString@WTF@@PAVElement@1@@Z, ?counterValueForElement@WebCore@@YA?AVString@WTF@@PEAVElement@1@@Z)
- symbolWithPointer(?createThread@WTF@@YAIP6APAXPAX@Z0PBD@Z, ?createThread@WTF@@YAIP6APEAXPEAX@Z0PEBD@Z)
- symbolWithPointer(?createThread@WTF@@YAIP6AXPAX@Z0PBD@Z, ?createThread@WTF@@YAIP6AXPEAX@Z0PEBD@Z)
- ?currentThread@WTF@@YAIXZ
- ?detachThread@WTF@@YAXI@Z
- symbolWithPointer(?destroy@StringImpl@WTF@@SAXPAV12@@Z, ?destroy@StringImpl@WTF@@SAXPEAV12@@Z)
- symbolWithPointer(?directoryName@WebCore@@YA?AVString@WTF@@ABV23@@Z, ?directoryName@WebCore@@YA?AVString@WTF@@AEBV23@@Z)
- ?initializeMainThread@WTF@@YAXXZ
- ?initializeThreading@WTF@@YAXXZ
- symbolWithPointer(?instrumentationForPage@WebCore@@YAPAVInstrumentingAgents@1@PAVPage@1@@Z, ?instrumentationForPage@WebCore@@YAPEAVInstrumentingAgents@1@PEAVPage@1@@Z)
- ?isMainThread@WTF@@YA_NXZ
- symbolWithPointer(?lock@Mutex@WTF@@QAEXXZ, ?lock@Mutex@WTF@@QEAAXXZ)
- ?lockAtomicallyInitializedStaticMutex@WTF@@YAXXZ
- symbolWithPointer(?scriptedAnimationControllerSetThrottled@Document@WebCore@@UAEX_N@Z, ?scriptedAnimationControllerSetThrottled@Document@WebCore@@UEAAX_N@Z)
- symbolWithPointer(?signal@ThreadCondition@WTF@@QAEXXZ, ?signal@ThreadCondition@WTF@@QEAAXXZ)
- symbolWithPointer(?timedWait@ThreadCondition@WTF@@QAE_NAAVMutex@2@N@Z, ?timedWait@ThreadCondition@WTF@@QEAA_NAEAVMutex@2@N@Z)
- symbolWithPointer(?tlsKeyCount@WTF@@YAAAJXZ, ?tlsKeyCount@WTF@@YAAEAJXZ)
- symbolWithPointer(?tlsKeys@WTF@@YAPAKXZ, ?tlsKeys@WTF@@YAPEAKXZ)
- symbolWithPointer(?tryLock@Mutex@WTF@@QAE_NXZ, ?tryLock@Mutex@WTF@@QEAA_NXZ)
- symbolWithPointer(?unlock@Mutex@WTF@@QAEXXZ, ?unlock@Mutex@WTF@@QEAAXXZ)
- ?unlockAtomicallyInitializedStaticMutex@WTF@@YAXXZ
- symbolWithPointer(?wait@ThreadCondition@WTF@@QAEXAAVMutex@2@@Z, ?wait@ThreadCondition@WTF@@QEAAXAEAVMutex@2@@Z)
- ?waitForThreadCompletion@WTF@@YAHI@Z
- symbolWithPointer(?waitForThreadCompletion@WTF@@YAHIPAPAX@Z, ?waitForThreadCompletion@WTF@@YAHIPEAPEAX@Z)
- symbolWithPointer(?createThread@WTF@@YAIP6APAXPAX@Z0@Z, ?createThread@WTF@@YAIP6APEAXPEAX@Z0@Z)
-
- ; Re-exports from WebCore for test harnesses
- symbolWithPointer(??0HitTestResult@WebCore@@QAE@ABVLayoutPoint@1@@Z, ??0HitTestResult@WebCore@@QEAA@AEBVLayoutPoint@1@@Z)
- symbolWithPointer(??0HitTestResult@WebCore@@QAE@ABVLayoutPoint@1@IIII@Z, ??0HitTestResult@WebCore@@QEAA@AEBVLayoutPoint@1@IIII@Z)
- symbolWithPointer(??0NodeRenderingContext@WebCore@@QAE@PAVNode@1@@Z, ??0NodeRenderingContext@WebCore@@QEAA@PEAVNode@1@@Z)
- symbolWithPointer(??1NodeRenderingContext@WebCore@@QAE@XZ, ??1NodeRenderingContext@WebCore@@QEAA@XZ)
- symbolWithPointer(?isReplacementObscured@RenderEmbeddedObject@WebCore@@QBE_NXZ, ?isReplacementObscured@RenderEmbeddedObject@WebCore@@QEBA_NXZ)
- symbolWithPointer(??1Range@WebCore@@QAE@XZ, ??1Range@WebCore@@QEAA@XZ)
- symbolWithPointer(?toNode@WebCore@@YAPAVNode@1@VJSValue@JSC@@@Z, ?toNode@WebCore@@YAPEAVNode@1@VJSValue@JSC@@@Z)
- symbolWithPointer(??0ClientRect@WebCore@@AAE@ABVFloatRect@1@@Z, ??0ClientRect@WebCore@@AEAA@AEBVFloatRect@1@@Z)
- symbolWithPointer(??0ClientRect@WebCore@@AAE@ABVIntRect@1@@Z, ??0ClientRect@WebCore@@AEAA@AEBVIntRect@1@@Z)
- symbolWithPointer(??0ClientRect@WebCore@@AAE@XZ, ??0ClientRect@WebCore@@AEAA@XZ)
- symbolWithPointer(??0ClientRectList@WebCore@@AAE@XZ, ??0ClientRectList@WebCore@@AEAA@XZ)
- symbolWithPointer(??1ClientRectList@WebCore@@QAE@XZ, ??1ClientRectList@WebCore@@QEAA@XZ)
- symbolWithPointer(??1Cursor@WebCore@@QAE@XZ, ??1Cursor@WebCore@@QEAA@XZ)
- symbolWithPointer(??0Cursor@WebCore@@QAE@ABV01@@Z, ??0Cursor@WebCore@@QEAA@AEBV01@@Z)
- symbolWithPointer(??0String@WTF@@QAE@PBD@Z, ??0String@WTF@@QEAA@PEBD@Z)
- symbolWithPointer(??0String@WTF@@QAE@PB_W@Z, ??0String@WTF@@QEAA@PEB_W@Z)
- symbolWithPointer(??0String@WTF@@QAE@PB_WI@Z, ??0String@WTF@@QEAA@PEB_WI@Z)
- symbolWithPointer(??0String@WTF@@QAE@VASCIILiteral@1@@Z, ??0String@WTF@@QEAA@VASCIILiteral@1@@Z)
- symbolWithPointer(??1SerializedScriptValue@WebCore@@QAE@XZ, ??1SerializedScriptValue@WebCore@@QEAA@XZ)
- symbolWithPointer(?absoluteBoundingBoxRect@RenderObject@WebCore@@QBE?AVIntRect@2@_N@Z, ?absoluteBoundingBoxRect@RenderObject@WebCore@@QEBA?AVIntRect@2@_N@Z)
- symbolWithPointer(?absoluteBoundingBoxRectIgnoringTransforms@RenderObject@WebCore@@QBE?AVIntRect@2@XZ, ?absoluteBoundingBoxRectIgnoringTransforms@RenderObject@WebCore@@QEBA?AVIntRect@2@XZ)
- symbolWithPointer(?description@DocumentMarker@WebCore@@QBEABVString@WTF@@XZ, ?description@DocumentMarker@WebCore@@QEBAAEBVString@WTF@@XZ)
- symbolWithPointer(?add@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PBD@Z, ?add@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PEBD@Z)
- symbolWithPointer(?add@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PBE@Z, ?add@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PEBE@Z)
- symbolWithPointer(?addSlowCase@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PAVStringImpl@2@@Z, ?addSlowCase@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PEAVStringImpl@2@@Z)
- symbolWithPointer(?cacheDOMStructure@WebCore@@YAPAVStructure@JSC@@PAVJSDOMGlobalObject@1@PAV23@PBUClassInfo@3@@Z, ?cacheDOMStructure@WebCore@@YAPEAVStructure@JSC@@PEAVJSDOMGlobalObject@1@PEAV23@PEBUClassInfo@3@@Z)
- symbolWithPointer(?childItemWithTarget@HistoryItem@WebCore@@QBEPAV12@ABVString@WTF@@@Z, ?childItemWithTarget@HistoryItem@WebCore@@QEBAPEAV12@AEBVString@WTF@@@Z)
- ?create@Range@WebCore@@SA?AV?$PassRefPtr@VRange@WebCore@@@WTF@@V?$PassRefPtr@VDocument@WebCore@@@4@V?$PassRefPtr@VNode@WebCore@@@4@H1H@Z
- symbolWithPointer(?create@SerializedScriptValue@WebCore@@SA?AV?$PassRefPtr@VSerializedScriptValue@WebCore@@@WTF@@ABVString@4@@Z, ?create@SerializedScriptValue@WebCore@@SA?AV?$PassRefPtr@VSerializedScriptValue@WebCore@@@WTF@@AEBVString@4@@Z)
-#if USE(CF)
- symbolWithPointer(?createCFString@String@WTF@@QBE?AV?$RetainPtr@PBU__CFString@@@2@XZ, ?createCFString@String@WTF@@QEBA?AV?$RetainPtr@PEBU__CFString@@@2@XZ)
-#endif
- symbolWithPointer(?createShadowRoot@Element@WebCore@@QAE?AV?$PassRefPtr@VShadowRoot@WebCore@@@WTF@@AAH@Z, ?createShadowRoot@Element@WebCore@@QEAA?AV?$PassRefPtr@VShadowRoot@WebCore@@@WTF@@AEAH@Z)
- symbolWithPointer(?createWrapper@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@PAVNode@1@@Z, ?createWrapper@WebCore@@YA?AVJSValue@JSC@@PEAVExecState@3@PEAVJSDOMGlobalObject@1@PEAVNode@1@@Z)
- symbolWithPointer(?deprecatedShadowAncestorNode@Node@WebCore@@QBEPAV12@XZ, ?deprecatedShadowAncestorNode@Node@WebCore@@QEBAPEAV12@XZ)
- symbolWithPointer(?deserialize@SerializedScriptValue@WebCore@@QAE?AVJSValue@JSC@@PAVExecState@4@PAVJSGlobalObject@4@PAV?$Vector@V?$RefPtr@VMessagePort@WebCore@@@WTF@@$00VCrashOnOverflow@2@@WTF@@W4SerializationErrorMode@2@@Z, ?deserialize@SerializedScriptValue@WebCore@@QEAA?AVJSValue@JSC@@PEAVExecState@4@PEAVJSGlobalObject@4@PEAV?$Vector@V?$RefPtr@VMessagePort@WebCore@@@WTF@@$00VCrashOnOverflow@2@@WTF@@W4SerializationErrorMode@2@@Z)
- symbolWithPointer(?equal@WTF@@YA_NPBVStringImpl@1@PBE@Z, ?equal@WTF@@YA_NPEBVStringImpl@1@PEBE@Z)
- symbolWithPointer(?equal@WTF@@YA_NPBVStringImpl@1@0@Z, ?equal@WTF@@YA_NPEBVStringImpl@1@0@Z)
- symbolWithPointer(?equalIgnoringCase@WTF@@YA_NPBVStringImpl@1@PBE@Z, ?equalIgnoringCase@WTF@@YA_NPEBVStringImpl@1@PEBE@Z)
- symbolWithPointer(?externalRepresentation@WebCore@@YA?AVString@WTF@@PAVElement@1@I@Z, ?externalRepresentation@WebCore@@YA?AVString@WTF@@PEAVElement@1@I@Z)
- symbolWithPointer(?find@StringImpl@WTF@@QAEIPAV12@I@Z, ?find@StringImpl@WTF@@QEAA_KPEAV12@I@Z)
- symbolWithPointer(?find@StringImpl@WTF@@QAEIPAV12@@Z, ?find@StringImpl@WTF@@QEAA_KPEAV12@@Z)
- symbolWithPointer(?absoluteCaretBounds@FrameSelection@WebCore@@QAE?AVIntRect@2@XZ, ?absoluteCaretBounds@FrameSelection@WebCore@@QEAA?AVIntRect@2@XZ)
- symbolWithPointer(?bounds@FrameSelection@WebCore@@QBE?AVFloatRect@2@_N@Z, ?bounds@FrameSelection@WebCore@@QEBA?AVFloatRect@2@_N@Z)
- symbolWithPointer(?fromUTF8@String@WTF@@SA?AV12@PBE@Z, ?fromUTF8@String@WTF@@SA?AV12@PEBE_K@Z)
- symbolWithPointer(?fromUTF8WithLatin1Fallback@String@WTF@@SA?AV12@PBEI@Z, ?fromUTF8WithLatin1Fallback@String@WTF@@SA?AV12@PEBE_K@Z)
- symbolWithPointer(?garbageCollectDocumentResources@CachedResourceLoader@WebCore@@QAEXXZ, ?garbageCollectDocumentResources@CachedResourceLoader@WebCore@@QEAAXXZ)
- symbolWithPointer(?getCachedDOMStructure@WebCore@@YAPAVStructure@JSC@@PAVJSDOMGlobalObject@1@PBUClassInfo@3@@Z, ?getCachedDOMStructure@WebCore@@YAPEAVStructure@JSC@@PEAVJSDOMGlobalObject@1@PEBUClassInfo@3@@Z)
- symbolWithPointer(?getData16SlowCase@StringImpl@WTF@@ABEPB_WXZ, ?getData16SlowCase@StringImpl@WTF@@AEBAPEB_WXZ)
- symbolWithPointer(?getLocationAndLengthFromRange@TextIterator@WebCore@@SA_NPAVNode@2@PBVRange@2@AAI2@Z, ?getLocationAndLengthFromRange@TextIterator@WebCore@@SA_NPEAVNode@2@PEBVRange@2@AEA_K2@Z)
- symbolWithPointer(?hitTest@RenderView@WebCore@@QAE_NABVHitTestRequest@2@AAVHitTestResult@2@@Z, ?hitTest@RenderView@WebCore@@QEAA_NAEBVHitTestRequest@2@AEAVHitTestResult@2@@Z)
- ?inputTag@HTMLNames@WebCore@@3VQualifiedName@2@B
- symbolWithPointer(?intersects@IntRect@WebCore@@QBE_NABV12@@Z, ?intersects@IntRect@WebCore@@QEBA_NAEBV12@@Z)
- symbolWithPointer(?item@StaticNodeList@WebCore@@UBEPAVNode@2@I@Z, ?item@StaticNodeList@WebCore@@UEBAPEAVNode@2@I@Z)
- ?selectTag@HTMLNames@WebCore@@3VQualifiedName@2@B
-#if ENABLE(INSPECTOR)
- symbolWithPointer(?getHighlight@InspectorController@WebCore@@QBEXPAUHighlight@2@@Z, ?getHighlight@InspectorController@WebCore@@QEBAXPEAUHighlight@2@@Z)
- symbolWithPointer(?instrumentingAgentsForPage@InspectorInstrumentation@WebCore@@CAPAVInstrumentingAgents@2@PAVPage@2@@Z, ?instrumentingAgentsForPage@InspectorInstrumentation@WebCore@@CAPEAVInstrumentingAgents@2@PEAVPage@2@@Z)
- ?s_frontendCounter@InspectorInstrumentation@WebCore@@0HA
- symbolWithPointer(?isUnderTest@InspectorFrontendClientLocal@WebCore@@UAE_NXZ, ?isUnderTest@InspectorFrontendClientLocal@WebCore@@UEAA_NXZ)
- symbolWithPointer(??0InspectorFrontendClientLocal@WebCore@@QAE@PAVInspectorController@1@PAVPage@1@V?$PassOwnPtr@VSettings@InspectorFrontendClientLocal@WebCore@@@WTF@@@Z, ??0InspectorFrontendClientLocal@WebCore@@QEAA@PEAVInspectorController@1@PEAVPage@1@V?$PassOwnPtr@VSettings@InspectorFrontendClientLocal@WebCore@@@WTF@@@Z)
- symbolWithPointer(??1InspectorFrontendClientLocal@WebCore@@UAE@XZ, ??1InspectorFrontendClientLocal@WebCore@@UEAA@XZ)
- symbolWithPointer(?changeAttachedWindowHeight@InspectorFrontendClientLocal@WebCore@@UAEXI@Z, ?changeAttachedWindowHeight@InspectorFrontendClientLocal@WebCore@@UEAAXI@Z)
- symbolWithPointer(?changeAttachedWindowWidth@InspectorFrontendClientLocal@WebCore@@UAEXI@Z, ?changeAttachedWindowWidth@InspectorFrontendClientLocal@WebCore@@UEAAXI@Z)
- symbolWithPointer(?connectFrontend@InspectorController@WebCore@@QAEXPAVInspectorFrontendChannel@2@@Z, ?connectFrontend@InspectorController@WebCore@@QEAAXPEAVInspectorFrontendChannel@2@@Z)
- symbolWithPointer(?doDispatchMessageOnFrontendPage@InspectorClient@WebCore@@SA_NPAVPage@2@ABVString@WTF@@@Z, ?doDispatchMessageOnFrontendPage@InspectorClient@WebCore@@SA_NPEAVPage@2@AEBVString@WTF@@@Z)
- symbolWithPointer(?frontendLoaded@InspectorFrontendClientLocal@WebCore@@UAEXXZ, ?frontendLoaded@InspectorFrontendClientLocal@WebCore@@UEAAXXZ)
- symbolWithPointer(?getProperty@Settings@InspectorFrontendClientLocal@WebCore@@UAE?AVString@WTF@@ABV45@@Z, ?getProperty@Settings@InspectorFrontendClientLocal@WebCore@@UEAA?AVString@WTF@@AEBV45@@Z)
- symbolWithPointer(?moveWindowBy@InspectorFrontendClientLocal@WebCore@@UAEXMM@Z, ?moveWindowBy@InspectorFrontendClientLocal@WebCore@@UEAAXMM@Z)
- symbolWithPointer(?openInNewTab@InspectorFrontendClientLocal@WebCore@@UAEXABVString@WTF@@@Z, ?openInNewTab@InspectorFrontendClientLocal@WebCore@@UEAAXAEBVString@WTF@@@Z)
- symbolWithPointer(?requestSetDockSide@InspectorFrontendClientLocal@WebCore@@UAEXW4DockSide@InspectorFrontendClient@2@@Z, ?requestSetDockSide@InspectorFrontendClientLocal@WebCore@@UEAAXW4DockSide@InspectorFrontendClient@2@@Z)
- symbolWithPointer(?sendMessageToBackend@InspectorFrontendClientLocal@WebCore@@UAEXABVString@WTF@@@Z, ?sendMessageToBackend@InspectorFrontendClientLocal@WebCore@@UEAAXAEBVString@WTF@@@Z)
- symbolWithPointer(?setInspectorFrontendClient@InspectorController@WebCore@@QAEXV?$PassOwnPtr@VInspectorFrontendClient@WebCore@@@WTF@@@Z, ?setInspectorFrontendClient@InspectorController@WebCore@@QEAAXV?$PassOwnPtr@VInspectorFrontendClient@WebCore@@@WTF@@@Z)
- symbolWithPointer(?setProperty@Settings@InspectorFrontendClientLocal@WebCore@@UAEXABVString@WTF@@0@Z, ?setProperty@Settings@InspectorFrontendClientLocal@WebCore@@UEAAXAEBVString@WTF@@0@Z)
- symbolWithPointer(?windowObjectCleared@InspectorFrontendClientLocal@WebCore@@UAEXXZ, ?windowObjectCleared@InspectorFrontendClientLocal@WebCore@@UEAAXXZ)
- symbolWithPointer(?setResourcesDataSizeLimitsFromInternals@InspectorController@WebCore@@QAEXHH@Z, ?setResourcesDataSizeLimitsFromInternals@InspectorController@WebCore@@QEAAXHH@Z)
- symbolWithPointer(?pathByAppendingComponent@WebCore@@YA?AVString@WTF@@ABV23@0@Z, ?pathByAppendingComponent@WebCore@@YA?AVString@WTF@@AEBV23@0@Z)
- symbolWithPointer(?profilerEnabled@InspectorController@WebCore@@QAE_NXZ, ?profilerEnabled@InspectorController@WebCore@@QEAA_NXZ)
- symbolWithPointer(?setProfilerEnabled@InspectorController@WebCore@@QAEX_N@Z, ?setProfilerEnabled@InspectorController@WebCore@@QEAAX_N@Z)
- symbolWithPointer(?disconnectFrontend@InspectorController@WebCore@@QAEXXZ, ?disconnectFrontend@InspectorController@WebCore@@QEAAXXZ)
-#endif
- symbolWithPointer(?isActiveInsertionPoint@WebCore@@YA_NPBVNode@1@@Z, ?isActiveInsertionPoint@WebCore@@YA_NPEBVNode@1@@Z)
- ?isCSSExclusionsEnabled@RuntimeEnabledFeatures@WebCore@@0_NA
- symbolWithPointer(?isPreloaded@CachedResourceLoader@WebCore@@QBE_NABVString@WTF@@@Z, ?isPreloaded@CachedResourceLoader@WebCore@@QEBA_NAEBVString@WTF@@@Z)
- symbolWithPointer(?jsArray@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@V?$PassRefPtr@VDOMStringList@WebCore@@@WTF@@@Z, ?jsArray@WebCore@@YA?AVJSValue@JSC@@PEAVExecState@3@PEAVJSDOMGlobalObject@1@V?$PassRefPtr@VDOMStringList@WebCore@@@WTF@@@Z)
- symbolWithPointer(?lastChangeWasUserEdit@HTMLTextFormControlElement@WebCore@@QBE_NXZ, ?lastChangeWasUserEdit@HTMLTextFormControlElement@WebCore@@QEBA_NXZ)
- symbolWithPointer(?mainThreadScrollingReasonsAsText@Page@WebCore@@QAE?AVString@WTF@@XZ, ?mainThreadScrollingReasonsAsText@Page@WebCore@@QEAA?AVString@WTF@@XZ)
- symbolWithPointer(?markerTextForListItem@WebCore@@YA?AVString@WTF@@PAVElement@1@@Z, ?markerTextForListItem@WebCore@@YA?AVString@WTF@@PEAVElement@1@@Z)
- symbolWithPointer(?nextSibling@ComposedShadowTreeWalker@WebCore@@QAEXXZ, ?nextSibling@ComposedShadowTreeWalker@WebCore@@QEAAXXZ)
- symbolWithPointer(?firstChild@ComposedShadowTreeWalker@WebCore@@QAEXXZ, ?firstChild@ComposedShadowTreeWalker@WebCore@@QEAAXXZ)
- symbolWithPointer(?lastChild@ComposedShadowTreeWalker@WebCore@@QAEXXZ, ?lastChild@ComposedShadowTreeWalker@WebCore@@QEAAXXZ)
- symbolWithPointer(?length@StaticNodeList@WebCore@@UBEIXZ, ?length@StaticNodeList@WebCore@@UEBAIXZ)
- ?localUserSpecificStorageDirectory@WebCore@@YA?AVString@WTF@@XZ
- symbolWithPointer(?namedItem@StaticNodeList@WebCore@@UBEPAVNode@2@ABVAtomicString@WTF@@@Z, ?namedItem@StaticNodeList@WebCore@@UEBAPEAVNode@2@AEBVAtomicString@WTF@@@Z)
- symbolWithPointer(?next@ComposedShadowTreeWalker@WebCore@@QAEXXZ, ?next@ComposedShadowTreeWalker@WebCore@@QEAAXXZ)
- symbolWithPointer(?previous@ComposedShadowTreeWalker@WebCore@@QAEXXZ, ?previous@ComposedShadowTreeWalker@WebCore@@QEAAXXZ)
- ?number@String@WTF@@SA?AV12@_J@Z
- ?number@String@WTF@@SA?AV12@_K@Z
- ?number@String@WTF@@SA?AV12@H@Z
- ?number@String@WTF@@SA?AV12@I@Z
- ?number@String@WTF@@SA?AV12@NIW4TrailingZerosTruncatingPolicy@2@@Z
- symbolWithPointer(?numberOfScopedHTMLStyleChildren@Node@WebCore@@QBEIXZ, ?numberOfScopedHTMLStyleChildren@Node@WebCore@@QEBA_KXZ)
- symbolWithPointer(?completeURL@Document@WebCore@@QBE?AVKURL@2@ABVString@WTF@@@Z, ?completeURL@Document@WebCore@@QEBA?AVKURL@2@AEBVString@WTF@@@Z)
- symbolWithPointer(?page@Document@WebCore@@QBEPAVPage@2@XZ, ?page@Document@WebCore@@QEBAPEAVPage@2@XZ)
- symbolWithPointer(?pageNumberForElement@PrintContext@WebCore@@SAHPAVElement@2@ABVFloatSize@2@@Z, ?pageNumberForElement@PrintContext@WebCore@@SAHPEAVElement@2@AEBVFloatSize@2@@Z)
- symbolWithPointer(?paintControlTints@FrameView@WebCore@@AAEXXZ, ?paintControlTints@FrameView@WebCore@@AEAAXXZ)
- symbolWithPointer(?placeholderShouldBeVisible@HTMLTextFormControlElement@WebCore@@QBE_NXZ, ?placeholderShouldBeVisible@HTMLTextFormControlElement@WebCore@@QEBA_NXZ)
- symbolWithPointer(?rangeFromLocationAndLength@TextIterator@WebCore@@SA?AV?$PassRefPtr@VRange@WebCore@@@WTF@@PAVContainerNode@2@HH_N@Z, ?rangeFromLocationAndLength@TextIterator@WebCore@@SA?AV?$PassRefPtr@VRange@WebCore@@@WTF@@PEAVContainerNode@2@HH_N@Z)
- symbolWithPointer(?rectBasedTestResult@HitTestResult@WebCore@@QBEABV?$ListHashSet@V?$RefPtr@VNode@WebCore@@@WTF@@$0BAA@U?$PtrHash@V?$RefPtr@VNode@WebCore@@@WTF@@@2@@WTF@@XZ, ?rectBasedTestResult@HitTestResult@WebCore@@QEBAAEBV?$ListHashSet@V?$RefPtr@VNode@WebCore@@@WTF@@$0BAA@U?$PtrHash@V?$RefPtr@VNode@WebCore@@@WTF@@@2@@WTF@@XZ)
- symbolWithPointer(?rectForPoint@HitTestLocation@WebCore@@SA?AVIntRect@2@ABVLayoutPoint@2@IIII@Z, ?rectForPoint@HitTestLocation@WebCore@@SA?AVIntRect@2@AEBVLayoutPoint@2@IIII@Z)
- symbolWithPointer(?reload@FrameLoader@WebCore@@QAEX_N@Z, ?reload@FrameLoader@WebCore@@QEAAX_N@Z)
- symbolWithPointer(?remove@String@WTF@@QAEXIH@Z, ?remove@String@WTF@@QEAAXIH@Z)
- symbolWithPointer(?removedLastRef@Node@WebCore@@AAEXXZ, ?removedLastRef@Node@WebCore@@AEAAXXZ)
- symbolWithPointer(?reverseFind@StringImpl@WTF@@QAEI_WI@Z, ?reverseFind@StringImpl@WTF@@QEAA_K_WI@Z)
- symbolWithPointer(?saveDocumentAndScrollState@HistoryController@WebCore@@QAEXXZ, ?saveDocumentAndScrollState@HistoryController@WebCore@@QEAAXXZ)
- symbolWithPointer(?scriptExecutionContext@JSDOMGlobalObject@WebCore@@QBEPAVScriptExecutionContext@2@XZ, ?scriptExecutionContext@JSDOMGlobalObject@WebCore@@QEBAPEAVScriptExecutionContext@2@XZ)
- symbolWithPointer(?scriptNameToCode@WebCore@@YA?AW4UScriptCode@@ABVString@WTF@@@Z, ?scriptNameToCode@WebCore@@YA?AW4UScriptCode@@AEBVString@WTF@@@Z)
- symbolWithPointer(?scrollElementToRect@FrameView@WebCore@@QAEXPAVElement@2@ABVIntRect@2@@Z, ?scrollElementToRect@FrameView@WebCore@@QEAAXPEAVElement@2@AEBVIntRect@2@@Z)
- symbolWithPointer(?scrollingStateTreeAsText@Page@WebCore@@QAE?AVString@WTF@@XZ, ?scrollingStateTreeAsText@Page@WebCore@@QEAA?AVString@WTF@@XZ)
- symbolWithPointer(?setCanStartMedia@Page@WebCore@@QAEX_N@Z, ?setCanStartMedia@Page@WebCore@@QEAAX_N@Z)
- symbolWithPointer(?setCursiveFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z, ?setCursiveFontFamily@Settings@WebCore@@QEAAXAEBVAtomicString@WTF@@W4UScriptCode@@@Z)
- symbolWithPointer(?setDeviceScaleFactor@Page@WebCore@@QAEXM@Z, ?setDeviceScaleFactor@Page@WebCore@@QEAAXM@Z)
- symbolWithPointer(?setDOMException@WebCore@@YAXPAVExecState@JSC@@H@Z, ?setDOMException@WebCore@@YAXPEAVExecState@JSC@@H@Z)
- symbolWithPointer(?setFantasyFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z, ?setFantasyFontFamily@Settings@WebCore@@QEAAXAEBVAtomicString@WTF@@W4UScriptCode@@@Z)
- symbolWithPointer(?setFixedFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z, ?setFixedFontFamily@Settings@WebCore@@QEAAXAEBVAtomicString@WTF@@W4UScriptCode@@@Z)
- symbolWithPointer(?setFooterHeight@FrameView@WebCore@@QAEXH@Z, ?setFooterHeight@FrameView@WebCore@@QEAAXH@Z)
- symbolWithPointer(?setHeaderHeight@FrameView@WebCore@@QAEXH@Z, ?setHeaderHeight@FrameView@WebCore@@QEAAXH@Z)
- symbolWithPointer(?setImagesEnabled@Settings@WebCore@@QAEX_N@Z, ?setImagesEnabled@Settings@WebCore@@QEAAX_N@Z)
- ?setMockScrollbarsEnabled@Settings@WebCore@@SAX_N@Z
- ?mockScrollbarsEnabled@Settings@WebCore@@SA_NXZ
- ?setUsesOverlayScrollbars@Settings@WebCore@@SAX_N@Z
- symbolWithPointer(?setPageScaleFactor@Page@WebCore@@QAEXMABVIntPoint@2@@Z, ?setPageScaleFactor@Page@WebCore@@QEAAXMAEBVIntPoint@2@@Z)
- symbolWithPointer(?setPagination@Page@WebCore@@QAEXABUPagination@2@@Z, ?setPagination@Page@WebCore@@QEAAXAEBUPagination@2@@Z)
- symbolWithPointer(?setPictographFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z, ?setPictographFontFamily@Settings@WebCore@@QEAAXAEBVAtomicString@WTF@@W4UScriptCode@@@Z)
- symbolWithPointer(?setSansSerifFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z, ?setSansSerifFontFamily@Settings@WebCore@@QEAAXAEBVAtomicString@WTF@@W4UScriptCode@@@Z)
- symbolWithPointer(?setScrollbarsSuppressed@ScrollView@WebCore@@QAEX_N0@Z, ?setScrollbarsSuppressed@ScrollView@WebCore@@QEAAX_N0@Z)
- symbolWithPointer(?setDelegatesScrolling@ScrollView@WebCore@@QAEX_N@Z, ?setDelegatesScrolling@ScrollView@WebCore@@QEAAX_N@Z)
- symbolWithPointer(?setScrollOffsetFromInternals@ScrollableArea@WebCore@@QAEXABVIntPoint@2@@Z, ?setScrollOffsetFromInternals@ScrollableArea@WebCore@@QEAAXAEBVIntPoint@2@@Z)
- symbolWithPointer(?setSerifFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z, ?setSerifFontFamily@Settings@WebCore@@QEAAXAEBVAtomicString@WTF@@W4UScriptCode@@@Z)
- symbolWithPointer(?setStandardFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z, ?setStandardFontFamily@Settings@WebCore@@QEAAXAEBVAtomicString@WTF@@W4UScriptCode@@@Z)
- symbolWithPointer(?setStorageBlockingPolicy@Settings@WebCore@@QAEXW4StorageBlockingPolicy@SecurityOrigin@2@@Z, ?setStorageBlockingPolicy@Settings@WebCore@@QEAAXW4StorageBlockingPolicy@SecurityOrigin@2@@Z)
- symbolWithPointer(?setSuggestedValue@HTMLInputElement@WebCore@@QAEXABVString@WTF@@@Z, ?setSuggestedValue@HTMLInputElement@WebCore@@QEAAXAEBVString@WTF@@@Z)
- symbolWithPointer(?setEditingValue@HTMLInputElement@WebCore@@QAEXABVString@WTF@@@Z, ?setEditingValue@HTMLInputElement@WebCore@@QEAAXAEBVString@WTF@@@Z)
- symbolWithPointer(?setPseudo@Element@WebCore@@QAEXABVAtomicString@WTF@@@Z, ?setPseudo@Element@WebCore@@QEAAXAEBVAtomicString@WTF@@@Z)
- symbolWithPointer(?setMediaTypeOverride@Settings@WebCore@@QAEXABVString@WTF@@@Z, ?setMediaTypeOverride@Settings@WebCore@@QEAAXAEBVString@WTF@@@Z)
- symbolWithPointer(?settings@Document@WebCore@@QBEPAVSettings@2@XZ, ?settings@Document@WebCore@@QEBAPEAVSettings@2@XZ)
- symbolWithPointer(?settings@Frame@WebCore@@QBEPAVSettings@2@XZ, ?settings@Frame@WebCore@@QEBAPEAVSettings@2@XZ)
- symbolWithPointer(?shadow@Element@WebCore@@QBEPAVElementShadow@2@XZ, ?shadow@Element@WebCore@@QEBAPEAVElementShadow@2@XZ)
- symbolWithPointer(?substring@String@WTF@@QBE?AV12@II@Z, ?substring@String@WTF@@QEBA?AV12@II@Z)
- symbolWithPointer(?suggestedValue@HTMLInputElement@WebCore@@QBEABVString@WTF@@XZ, ?suggestedValue@HTMLInputElement@WebCore@@QEBAAEBVString@WTF@@XZ)
- symbolWithPointer(?target@HistoryItem@WebCore@@QBEABVString@WTF@@XZ, ?target@HistoryItem@WebCore@@QEBAAEBVString@WTF@@XZ)
- symbolWithPointer(?text@Range@WebCore@@QBE?AVString@WTF@@XZ, ?text@Range@WebCore@@QEBA?AVString@WTF@@XZ)
- ?textareaTag@HTMLNames@WebCore@@3VQualifiedName@2@B
- symbolWithPointer(?textContent@Node@WebCore@@QBE?AVString@WTF@@_N@Z, ?textContent@Node@WebCore@@QEBA?AVString@WTF@@_N@Z)
- symbolWithPointer(?toDocument@WebCore@@YAPAVDocument@1@VJSValue@JSC@@@Z, ?toDocument@WebCore@@YAPEAVDocument@1@VJSValue@JSC@@@Z)
- symbolWithPointer(?toArrayBuffer@WebCore@@YAPAVArrayBuffer@WTF@@VJSValue@JSC@@@Z, ?toArrayBuffer@WebCore@@YAPEAVArrayBuffer@WTF@@VJSValue@JSC@@@Z)
- symbolWithPointer(?toDOMStringList@WebCore@@YA?AV?$PassRefPtr@VDOMStringList@WebCore@@@WTF@@PAVExecState@JSC@@VJSValue@5@@Z, ?toDOMStringList@WebCore@@YA?AV?$PassRefPtr@VDOMStringList@WebCore@@@WTF@@PEAVExecState@JSC@@VJSValue@5@@Z)
- symbolWithPointer(?toElement@WebCore@@YAPAVElement@1@VJSValue@JSC@@@Z, ?toElement@WebCore@@YAPEAVElement@1@VJSValue@JSC@@@Z)
- symbolWithPointer(?toJS@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@PAVArrayBuffer@WTF@@@Z, ?toJS@WebCore@@YA?AVJSValue@JSC@@PEAVExecState@3@PEAVJSDOMGlobalObject@1@PEAVArrayBuffer@WTF@@@Z)
- symbolWithPointer(?toJS@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@PAVCSSStyleDeclaration@1@@Z, ?toJS@WebCore@@YA?AVJSValue@JSC@@PEAVExecState@3@PEAVJSDOMGlobalObject@1@PEAVCSSStyleDeclaration@1@@Z)
- symbolWithPointer(?toJS@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@PAVClientRect@1@@Z, ?toJS@WebCore@@YA?AVJSValue@JSC@@PEAVExecState@3@PEAVJSDOMGlobalObject@1@PEAVClientRect@1@@Z)
- symbolWithPointer(?toJS@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@PAVClientRectList@1@@Z, ?toJS@WebCore@@YA?AVJSValue@JSC@@PEAVExecState@3@PEAVJSDOMGlobalObject@1@PEAVClientRectList@1@@Z)
- symbolWithPointer(?toJS@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@PAVNode@1@@Z, ?toJS@WebCore@@YA?AVJSValue@JSC@@PEAVExecState@3@PEAVJSDOMGlobalObject@1@PEAVNode@1@@Z)
- symbolWithPointer(?toJS@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@PAVRange@1@@Z, ?toJS@WebCore@@YA?AVJSValue@JSC@@PEAVExecState@3@PEAVJSDOMGlobalObject@1@PEAVRange@1@@Z)
- symbolWithPointer(?toJS@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@PAVNodeList@1@@Z, ?toJS@WebCore@@YA?AVJSValue@JSC@@PEAVExecState@3@PEAVJSDOMGlobalObject@1@PEAVNodeList@1@@Z)
- symbolWithPointer(?toRange@WebCore@@YAPAVRange@1@VJSValue@JSC@@@Z, ?toRange@WebCore@@YAPEAVRange@1@VJSValue@JSC@@@Z)
- symbolWithPointer(?treeScope@Node@WebCore@@QBEPAVTreeScope@2@XZ, ?treeScope@Node@WebCore@@QEBAPEAVTreeScope@2@XZ)
- symbolWithPointer(?isTreeScope@Node@WebCore@@QBE_NXZ, ?isTreeScope@Node@WebCore@@QEBA_NXZ)
- symbolWithPointer(?updateLayoutIgnorePendingStylesheets@Document@WebCore@@QAEXXZ, ?updateLayoutIgnorePendingStylesheets@Document@WebCore@@QEAAXXZ)
- symbolWithPointer(?utf8@String@WTF@@QBE?AVCString@2@W4ConversionMode@12@@Z, ?utf8@String@WTF@@QEBA?AVCString@2@W4ConversionMode@12@@Z)
- symbolWithPointer(?view@Document@WebCore@@QBEPAVFrameView@2@XZ, ?view@Document@WebCore@@QEBAPEAVFrameView@2@XZ)
- symbolWithPointer(??1ContextDestructionObserver@WebCore@@MAE@XZ, ??1ContextDestructionObserver@WebCore@@MEAA@XZ)
- symbolWithPointer(?contextDestroyed@ContextDestructionObserver@WebCore@@UAEXXZ, ?contextDestroyed@ContextDestructionObserver@WebCore@@UEAAXXZ)
- symbolWithPointer(??0ContextDestructionObserver@WebCore@@QAE@PAVScriptExecutionContext@1@@Z, ??0ContextDestructionObserver@WebCore@@QEAA@PEAVScriptExecutionContext@1@@Z)
- symbolWithPointer(?selectionStartHasMarkerFor@Editor@WebCore@@QBE_NW4MarkerType@DocumentMarker@2@HH@Z, ?selectionStartHasMarkerFor@Editor@WebCore@@QEBA_NW4MarkerType@DocumentMarker@2@HH@Z)
- symbolWithPointer(?isContinuousSpellCheckingEnabled@Editor@WebCore@@QBE_NXZ, ?isContinuousSpellCheckingEnabled@Editor@WebCore@@QEBA_NXZ)
- symbolWithPointer(?toggleContinuousSpellChecking@Editor@WebCore@@QAEXXZ, ?toggleContinuousSpellChecking@Editor@WebCore@@QEAAXXZ)
- symbolWithPointer(?toggleOverwriteModeEnabled@Editor@WebCore@@QAEXXZ, ?toggleOverwriteModeEnabled@Editor@WebCore@@QEAAXXZ)
-#if ENABLE(FULLSCREEN_API)
- symbolWithPointer(?webkitWillEnterFullScreenForElement@Document@WebCore@@QAEXPAVElement@2@@Z, ?webkitWillEnterFullScreenForElement@Document@WebCore@@QEAAXPEAVElement@2@@Z)
- symbolWithPointer(?webkitDidEnterFullScreenForElement@Document@WebCore@@QAEXPAVElement@2@@Z, ?webkitDidEnterFullScreenForElement@Document@WebCore@@QEAAXPEAVElement@2@@Z)
- symbolWithPointer(?webkitWillExitFullScreenForElement@Document@WebCore@@QAEXPAVElement@2@@Z, ?webkitWillExitFullScreenForElement@Document@WebCore@@QEAAXPEAVElement@2@@Z)
- symbolWithPointer(?webkitDidExitFullScreenForElement@Document@WebCore@@QAEXPAVElement@2@@Z, ?webkitDidExitFullScreenForElement@Document@WebCore@@QEAAXPEAVElement@2@@Z)
-#endif
- symbolWithPointer(?restrictScaleFactorToInitialScaleIfNotUserScalable@WebCore@@YAXAAUViewportAttributes@1@@Z, ?restrictScaleFactorToInitialScaleIfNotUserScalable@WebCore@@YAXAEAUViewportAttributes@1@@Z)
- symbolWithPointer(?restrictMinimumScaleFactorToViewportSize@WebCore@@YAXAAUViewportAttributes@1@VIntSize@1@M@Z, ?restrictMinimumScaleFactorToViewportSize@WebCore@@YAXAEAUViewportAttributes@1@VIntSize@1@M@Z)
- ?computeViewportAttributes@WebCore@@YA?AUViewportAttributes@1@UViewportArguments@1@HHHMVIntSize@1@@Z
- symbolWithPointer(?viewportArguments@Page@WebCore@@QBE?AUViewportArguments@2@XZ, ?viewportArguments@Page@WebCore@@QEBA?AUViewportArguments@2@XZ)
- symbolWithPointer(?isPageBoxVisible@Document@WebCore@@QAE_NH@Z, ?isPageBoxVisible@Document@WebCore@@QEAA_NH@Z)
- symbolWithPointer(?isActive@InsertionPoint@WebCore@@QBE_NXZ, ?isActive@InsertionPoint@WebCore@@QEBA_NXZ)
- symbolWithPointer(?isSuspended@AnimationController@WebCore@@QBE_NXZ, ?isSuspended@AnimationController@WebCore@@QEBA_NXZ)
- symbolWithPointer(?suspendAnimations@AnimationController@WebCore@@QAEXXZ, ?suspendAnimations@AnimationController@WebCore@@QEAAXXZ)
- symbolWithPointer(?resumeAnimations@AnimationController@WebCore@@QAEXXZ, ?resumeAnimations@AnimationController@WebCore@@QEAAXXZ)
- symbolWithPointer(?setAllowsRoundingHacks@TextRun@WebCore@@SAX_N@Z, ?setAllowsRoundingHacks@TextRun@WebCore@@SAX_N@Z)
- symbolWithPointer(?registerURLSchemeAsBypassingContentSecurityPolicy@SchemeRegistry@WebCore@@SAXABVString@WTF@@@Z, ?registerURLSchemeAsBypassingContentSecurityPolicy@SchemeRegistry@WebCore@@SAXAEBVString@WTF@@@Z)
- symbolWithPointer(?removeURLSchemeRegisteredAsBypassingContentSecurityPolicy@SchemeRegistry@WebCore@@SAXABVString@WTF@@@Z, ?removeURLSchemeRegisteredAsBypassingContentSecurityPolicy@SchemeRegistry@WebCore@@SAXAEBVString@WTF@@@Z)
- symbolWithPointer(?numberOfPages@PrintContext@WebCore@@SAHPAVFrame@2@ABVFloatSize@2@@Z, ?numberOfPages@PrintContext@WebCore@@SAHPEAVFrame@2@AEBVFloatSize@2@@Z)
- symbolWithPointer(?pageProperty@PrintContext@WebCore@@SA?AVString@WTF@@PAVFrame@2@PBDH@Z, ?pageProperty@PrintContext@WebCore@@SA?AVString@WTF@@PEAVFrame@2@PEBDH@Z)
- symbolWithPointer(?pageSizeAndMarginsInPixels@PrintContext@WebCore@@SA?AVString@WTF@@PAVFrame@2@HHHHHHH@Z, ?pageSizeAndMarginsInPixels@PrintContext@WebCore@@SA?AVString@WTF@@PEAVFrame@2@HHHHHHH@Z)
- symbolWithPointer(?close@DOMWindow@WebCore@@QAEXPAVScriptExecutionContext@2@@Z, ?close@DOMWindow@WebCore@@QEAAXPEAVScriptExecutionContext@2@@Z)
- symbolWithPointer(?document@DOMWindow@WebCore@@QBEPAVDocument@2@XZ, ?document@DOMWindow@WebCore@@QEBAPEAVDocument@2@XZ)
- symbolWithPointer(?open@DOMWindow@WebCore@@QAE?AV?$PassRefPtr@VDOMWindow@WebCore@@@WTF@@ABVString@4@ABVAtomicString@4@0PAV12@2@Z, ?open@DOMWindow@WebCore@@QEAA?AV?$PassRefPtr@VDOMWindow@WebCore@@@WTF@@AEBVString@4@AEBVAtomicString@4@0PEAV12@2@Z)
- symbolWithPointer(?toJS@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@PAVDOMWindow@1@@Z, ?toJS@WebCore@@YA?AVJSValue@JSC@@PEAVExecState@3@PEAVJSDOMGlobalObject@1@PEAVDOMWindow@1@@Z)
- symbolWithPointer(?layerTreeAsText@Frame@WebCore@@QBE?AVString@WTF@@I@Z, ?layerTreeAsText@Frame@WebCore@@QEBA?AVString@WTF@@I@Z)
- symbolWithPointer(?trackedRepaintRectsAsText@Frame@WebCore@@QBE?AVString@WTF@@XZ, ?trackedRepaintRectsAsText@Frame@WebCore@@QEBA?AVString@WTF@@XZ)
- symbolWithPointer(?setTracksRepaints@FrameView@WebCore@@QAEX_N@Z, ?setTracksRepaints@FrameView@WebCore@@QEAAX_N@Z)
- symbolWithPointer(??1BitmapImage@WebCore@@UAE@XZ, ??1BitmapImage@WebCore@@UEAA@XZ)
- symbolWithPointer(??0BitmapImage@WebCore@@IAE@PAVImageObserver@1@@Z, ??0BitmapImage@WebCore@@IEAA@PEAVImageObserver@1@@Z)
- symbolWithPointer(?isBitmapImage@BitmapImage@WebCore@@UBE_NXZ, ?isBitmapImage@BitmapImage@WebCore@@UEBA_NXZ)
- symbolWithPointer(?currentFrameKnownToBeOpaque@BitmapImage@WebCore@@UAE_NXZ, ?currentFrameKnownToBeOpaque@BitmapImage@WebCore@@UEAA_NXZ)
- symbolWithPointer(?hasSingleSecurityOrigin@BitmapImage@WebCore@@UBE_NXZ, ?hasSingleSecurityOrigin@BitmapImage@WebCore@@UEBA_NXZ)
-#if !ASSERT_DISABLED
- symbolWithPointer(?notSolidColor@BitmapImage@WebCore@@UAE_NXZ, ?notSolidColor@BitmapImage@WebCore@@UEAA_NXZ)
-#endif
- symbolWithPointer(?computeIntrinsicDimensions@Image@WebCore@@UAEXAAULength@2@0AAVFloatSize@2@@Z, ?computeIntrinsicDimensions@Image@WebCore@@UEAAXAEAULength@2@0AEAVFloatSize@2@@Z)
- symbolWithPointer(?size@BitmapImage@WebCore@@UBE?AVIntSize@2@XZ, ?size@BitmapImage@WebCore@@UEBA?AVIntSize@2@XZ)
- symbolWithPointer(?getHotSpot@BitmapImage@WebCore@@UBE_NAAVIntPoint@2@@Z, ?getHotSpot@BitmapImage@WebCore@@UEBA_NAEAVIntPoint@2@@Z)
- symbolWithPointer(?dataChanged@BitmapImage@WebCore@@UAE_N_N@Z, ?dataChanged@BitmapImage@WebCore@@UEAA_N_N@Z)
- symbolWithPointer(?filenameExtension@BitmapImage@WebCore@@UBE?AVString@WTF@@XZ, ?filenameExtension@BitmapImage@WebCore@@UEBA?AVString@WTF@@XZ)
- symbolWithPointer(?destroyDecodedData@BitmapImage@WebCore@@MAEX_N@Z, ?destroyDecodedData@BitmapImage@WebCore@@MEAAX_N@Z)
- symbolWithPointer(?decodedSize@BitmapImage@WebCore@@UBEIXZ, ?decodedSize@BitmapImage@WebCore@@UEBAIXZ)
- symbolWithPointer(?startAnimation@BitmapImage@WebCore@@MAEX_N@Z, ?startAnimation@BitmapImage@WebCore@@MEAAX_N@Z)
- symbolWithPointer(?stopAnimation@BitmapImage@WebCore@@UAEXXZ, ?stopAnimation@BitmapImage@WebCore@@UEAAXXZ)
- symbolWithPointer(?resetAnimation@BitmapImage@WebCore@@UAEXXZ, ?resetAnimation@BitmapImage@WebCore@@UEAAXXZ)
-#if USE(CG)
- symbolWithPointer(?nativeImageForCurrentFrame@BitmapImage@WebCore@@UAEPAUCGImage@@XZ, ?nativeImageForCurrentFrame@BitmapImage@WebCore@@UEAAPEAUCGImage@@XZ)
- symbolWithPointer(?getCGImageRef@BitmapImage@WebCore@@UAEPAUCGImage@@XZ, ?getCGImageRef@BitmapImage@WebCore@@UEAAPEAUCGImage@@XZ)
- symbolWithPointer(?getFirstCGImageRefOfSize@BitmapImage@WebCore@@UAEPAUCGImage@@ABVIntSize@2@@Z, ?getFirstCGImageRefOfSize@BitmapImage@WebCore@@UEAAPEAUCGImage@@AEBVIntSize@2@@Z)
- symbolWithPointer(?getCGImageArray@BitmapImage@WebCore@@UAE?AV?$RetainPtr@PBU__CFArray@@@WTF@@XZ, ?getCGImageArray@BitmapImage@WebCore@@UEAA?AV?$RetainPtr@PEBU__CFArray@@@WTF@@XZ)
-#elif USE(CAIRO)
- symbolWithPointer(?nativeImageForCurrentFrame@BitmapImage@WebCore@@UAE?AV?$PassRefPtr@U_cairo_surface@@@WTF@@XZ, ?nativeImageForCurrentFrame@BitmapImage@WebCore@@UEAA?AV?$PassRefPtr@U_cairo_surface@@@WTF@@XZ)
-#endif
- symbolWithPointer(?getHBITMAP@BitmapImage@WebCore@@UAE_NPAUHBITMAP__@@@Z, ?getHBITMAP@BitmapImage@WebCore@@UEAA_NPEAUHBITMAP__@@@Z)
- symbolWithPointer(?getHBITMAPOfSize@BitmapImage@WebCore@@UAE_NPAUHBITMAP__@@PAUtagSIZE@@@Z, ?getHBITMAPOfSize@BitmapImage@WebCore@@UEAA_NPEAUHBITMAP__@@PEAUtagSIZE@@@Z)
- symbolWithPointer(?drawPattern@Image@WebCore@@UAEXPAVGraphicsContext@2@ABVFloatRect@2@ABVAffineTransform@2@ABVFloatPoint@2@W4ColorSpace@2@W4CompositeOperator@2@1W4BlendMode@2@@Z, ?drawPattern@Image@WebCore@@UEAAXPEAVGraphicsContext@2@AEBVFloatRect@2@AEBVAffineTransform@2@AEBVFloatPoint@2@W4ColorSpace@2@W4CompositeOperator@2@1W4BlendMode@2@@Z)
- symbolWithPointer(?drawFrameMatchingSourceSize@BitmapImage@WebCore@@MAEXPAVGraphicsContext@2@ABVFloatRect@2@ABVIntSize@2@W4ColorSpace@2@W4CompositeOperator@2@@Z, ?drawFrameMatchingSourceSize@BitmapImage@WebCore@@MEAAXPEAVGraphicsContext@2@AEBVFloatRect@2@AEBVIntSize@2@W4ColorSpace@2@W4CompositeOperator@2@@Z)
- symbolWithPointer(?draw@Image@WebCore@@MAEXPAVGraphicsContext@2@ABVFloatRect@2@1W4ColorSpace@2@W4CompositeOperator@2@W4BlendMode@2@W4RespectImageOrientationEnum@2@@Z, ?draw@Image@WebCore@@MEAAXPEAVGraphicsContext@2@AEBVFloatRect@2@1W4ColorSpace@2@W4CompositeOperator@2@W4BlendMode@2@W4RespectImageOrientationEnum@2@@Z)
- symbolWithPointer(?draw@BitmapImage@WebCore@@MAEXPAVGraphicsContext@2@ABVFloatRect@2@1W4ColorSpace@2@W4CompositeOperator@2@W4BlendMode@2@@Z, ?draw@BitmapImage@WebCore@@MEAAXPEAVGraphicsContext@2@AEBVFloatRect@2@1W4ColorSpace@2@W4CompositeOperator@2@W4BlendMode@2@@Z)
- symbolWithPointer(?mayFillWithSolidColor@BitmapImage@WebCore@@MAE_NXZ, ?mayFillWithSolidColor@BitmapImage@WebCore@@MEAA_NXZ)
- symbolWithPointer(?solidColor@BitmapImage@WebCore@@MBE?AVColor@2@XZ, ?solidColor@BitmapImage@WebCore@@MEBA?AVColor@2@XZ)
- symbolWithPointer(?draw@BitmapImage@WebCore@@MAEXPAVGraphicsContext@2@ABVFloatRect@2@1W4ColorSpace@2@W4CompositeOperator@2@W4BlendMode@2@W4RespectImageOrientationEnum@2@@Z, ?draw@BitmapImage@WebCore@@MEAAXPEAVGraphicsContext@2@AEBVFloatRect@2@1W4ColorSpace@2@W4CompositeOperator@2@W4BlendMode@2@W4RespectImageOrientationEnum@2@@Z)
- symbolWithPointer(?frameCount@BitmapImage@WebCore@@MAEIXZ, ?frameCount@BitmapImage@WebCore@@MEAA_KXZ)
- symbolWithPointer(?addAuthorSheet@DocumentStyleSheetCollection@WebCore@@QAEXV?$PassRefPtr@VStyleSheetContents@WebCore@@@WTF@@@Z, ?addAuthorSheet@DocumentStyleSheetCollection@WebCore@@QEAAXV?$PassRefPtr@VStyleSheetContents@WebCore@@@WTF@@@Z)
- symbolWithPointer(?parseString@StyleSheetContents@WebCore@@QAE_NABVString@WTF@@@Z, ?parseString@StyleSheetContents@WebCore@@QEAA_NAEBVString@WTF@@@Z)
- symbolWithPointer(??0CSSParserContext@WebCore@@QAE@PAVDocument@1@ABVKURL@1@ABVString@WTF@@@Z, ??0CSSParserContext@WebCore@@QEAA@PEAVDocument@1@AEBVKURL@1@AEBVString@WTF@@@Z)
- symbolWithPointer(?emptyString@WTF@@YAABVString@1@XZ, ?emptyString@WTF@@YAAEBVString@1@XZ)
- symbolWithPointer(?invalidate@KURL@WebCore@@AAEXXZ, ?invalidate@KURL@WebCore@@AEAAXXZ)
- symbolWithPointer(??0StyleSheetContents@WebCore@@AAE@PAVStyleRuleImport@1@ABVString@WTF@@ABUCSSParserContext@1@@Z, ??0StyleSheetContents@WebCore@@AEAA@PEAVStyleRuleImport@1@AEBVString@WTF@@AEBUCSSParserContext@1@@Z)
- symbolWithPointer(?addUserSheet@DocumentStyleSheetCollection@WebCore@@QAEXV?$PassRefPtr@VStyleSheetContents@WebCore@@@WTF@@@Z, ?addUserSheet@DocumentStyleSheetCollection@WebCore@@QEAAXV?$PassRefPtr@VStyleSheetContents@WebCore@@@WTF@@@Z)
- symbolWithPointer(??1StyleSheetContents@WebCore@@QAE@XZ, ??1StyleSheetContents@WebCore@@QEAA@XZ)
- symbolWithPointer(?pauseAnimationAtTime@AnimationController@WebCore@@QAE_NPAVRenderObject@2@ABVAtomicString@WTF@@N@Z, ?pauseAnimationAtTime@AnimationController@WebCore@@QEAA_NPEAVRenderObject@2@AEBVAtomicString@WTF@@N@Z)
- symbolWithPointer(?pseudoElement@Element@WebCore@@QBEPAVPseudoElement@2@W4PseudoId@2@@Z, ?pseudoElement@Element@WebCore@@QEBAPEAVPseudoElement@2@W4PseudoId@2@@Z)
- symbolWithPointer(?pauseTransitionAtTime@AnimationController@WebCore@@QAE_NPAVRenderObject@2@ABVString@WTF@@N@Z, ?pauseTransitionAtTime@AnimationController@WebCore@@QEAA_NPEAVRenderObject@2@AEBVString@WTF@@N@Z)
- symbolWithPointer(?addFromLiteralData@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PBDI@Z, ?addFromLiteralData@AtomicString@WTF@@CA?AV?$PassRefPtr@VStringImpl@WTF@@@2@PEBDI@Z)
- symbolWithPointer(?memoryCache@WebCore@@YAPAVMemoryCache@1@XZ, ?memoryCache@WebCore@@YAPEAVMemoryCache@1@XZ)
- symbolWithPointer(?resourceForURL@MemoryCache@WebCore@@QAEPAVCachedResource@2@ABVKURL@2@@Z, ?resourceForURL@MemoryCache@WebCore@@QEAAPEAVCachedResource@2@AEBVKURL@2@@Z)
- symbolWithPointer(?nonFastScrollableRects@Page@WebCore@@QAE?AV?$PassRefPtr@VClientRectList@WebCore@@@WTF@@PBVFrame@2@@Z, ?nonFastScrollableRects@Page@WebCore@@QEAA?AV?$PassRefPtr@VClientRectList@WebCore@@@WTF@@PEBVFrame@2@@Z)
- symbolWithPointer(?numberOfActiveAnimations@AnimationController@WebCore@@QBEIPAVDocument@2@@Z, ?numberOfActiveAnimations@AnimationController@WebCore@@QEBAIPEAVDocument@2@@Z)
- symbolWithPointer(?minDOMTimerInterval@Settings@WebCore@@QAENXZ, ?minDOMTimerInterval@Settings@WebCore@@QEAANXZ)
- symbolWithPointer(?setMinDOMTimerInterval@Settings@WebCore@@QAEXN@Z, ?setMinDOMTimerInterval@Settings@WebCore@@QEAAXN@Z)
- symbolWithPointer(?setApplicationChromeMode@Settings@WebCore@@QAEX_N@Z, ?setApplicationChromeMode@Settings@WebCore@@QEAAX_N@Z)
- symbolWithPointer(?setDOMPasteAllowed@Settings@WebCore@@QAEX_N@Z, ?setDOMPasteAllowed@Settings@WebCore@@QEAAX_N@Z)
- symbolWithPointer(?setTextAreasAreResizable@Settings@WebCore@@QAEX_N@Z, ?setTextAreasAreResizable@Settings@WebCore@@QEAAX_N@Z)
- symbolWithPointer(?setShowRepaintCounter@Settings@WebCore@@QAEX_N@Z, ?setShowRepaintCounter@Settings@WebCore@@QEAAX_N@Z)
- symbolWithPointer(?setShowDebugBorders@Settings@WebCore@@QAEX_N@Z, ?setShowDebugBorders@Settings@WebCore@@QEAAX_N@Z)
- symbolWithPointer(?setScreenFontSubstitutionEnabled@Settings@WebCore@@QAEX_N@Z, ?setScreenFontSubstitutionEnabled@Settings@WebCore@@QEAAX_N@Z)
- symbolWithPointer(?setMinimumLogicalFontSize@Settings@WebCore@@QAEXH@Z, ?setMinimumLogicalFontSize@Settings@WebCore@@QEAAXH@Z)
- symbolWithPointer(?setMinimumFontSize@Settings@WebCore@@QAEXH@Z, ?setMinimumFontSize@Settings@WebCore@@QEAAXH@Z)
- symbolWithPointer(?setDefaultFontSize@Settings@WebCore@@QAEXH@Z, ?setDefaultFontSize@Settings@WebCore@@QEAAXH@Z)
- symbolWithPointer(?setDefaultFixedFontSize@Settings@WebCore@@QAEXH@Z, ?setDefaultFixedFontSize@Settings@WebCore@@QEAAXH@Z)
- symbolWithPointer(?setAuthorAndUserStylesEnabled@Settings@WebCore@@QAEX_N@Z, ?setAuthorAndUserStylesEnabled@Settings@WebCore@@QEAAX_N@Z)
- symbolWithPointer(?setAcceleratedCompositingEnabled@Settings@WebCore@@QAEX_N@Z, ?setAcceleratedCompositingEnabled@Settings@WebCore@@QEAAX_N@Z)
- symbolWithPointer(?setAutofilled@HTMLInputElement@WebCore@@QAEX_N@Z, ?setAutofilled@HTMLInputElement@WebCore@@QEAAX_N@Z)
- symbolWithPointer(?setDocumentState@HistoryItem@WebCore@@QAEXABV?$Vector@VString@WTF@@$0A@VCrashOnOverflow@2@@WTF@@@Z, ?setDocumentState@HistoryItem@WebCore@@QEAAXAEBV?$Vector@VString@WTF@@$0A@VCrashOnOverflow@2@@WTF@@@Z)
- symbolWithPointer(?overrideUserPreferredLanguages@WebCore@@YAXABV?$Vector@VString@WTF@@$0A@VCrashOnOverflow@2@@WTF@@@Z, ?overrideUserPreferredLanguages@WebCore@@YAXAEBV?$Vector@VString@WTF@@$0A@VCrashOnOverflow@2@@WTF@@@Z)
- symbolWithPointer(?markersFor@DocumentMarkerController@WebCore@@QAE?AV?$Vector@PAVDocumentMarker@WebCore@@$0A@VCrashOnOverflow@WTF@@@WTF@@PAVNode@2@VMarkerTypes@DocumentMarker@2@@Z, ?markersFor@DocumentMarkerController@WebCore@@QEAA?AV?$Vector@PEAVDocumentMarker@WebCore@@$0A@VCrashOnOverflow@WTF@@@WTF@@PEAVNode@2@VMarkerTypes@DocumentMarker@2@@Z)
- symbolWithPointer(?getReferencedFilePaths@FormController@WebCore@@SA?AV?$Vector@VString@WTF@@$0A@VCrashOnOverflow@2@@WTF@@ABV34@@Z, ?getReferencedFilePaths@FormController@WebCore@@SA?AV?$Vector@VString@WTF@@$0A@VCrashOnOverflow@2@@WTF@@AEBV34@@Z)
- symbolWithPointer(?iconURLs@Document@WebCore@@QAEABV?$Vector@UIconURL@WebCore@@$0A@VCrashOnOverflow@WTF@@@WTF@@H@Z, ?iconURLs@Document@WebCore@@QEAAAEBV?$Vector@UIconURL@WebCore@@$0A@VCrashOnOverflow@WTF@@@WTF@@H@Z)
- symbolWithPointer(?consoleMessageArgumentCounts@InspectorConsoleAgent@WebCore@@QAE?AV?$Vector@I$0A@VCrashOnOverflow@WTF@@@WTF@@XZ, ?consoleMessageArgumentCounts@InspectorConsoleAgent@WebCore@@QEAA?AV?$Vector@I$0A@VCrashOnOverflow@WTF@@@WTF@@XZ)
- ?userPreferredLanguages@WebCore@@YA?AV?$Vector@VString@WTF@@$0A@VCrashOnOverflow@2@@WTF@@XZ
- symbolWithPointer(?documentState@HistoryItem@WebCore@@QBEABV?$Vector@VString@WTF@@$0A@VCrashOnOverflow@2@@WTF@@XZ, ?documentState@HistoryItem@WebCore@@QEBAAEBV?$Vector@VString@WTF@@$0A@VCrashOnOverflow@2@@WTF@@XZ)
- symbolWithPointer(?create@SerializedScriptValue@WebCore@@SA?AV?$PassRefPtr@VSerializedScriptValue@WebCore@@@WTF@@PAVExecState@JSC@@VJSValue@6@PAV?$Vector@V?$RefPtr@VMessagePort@WebCore@@@WTF@@$00VCrashOnOverflow@2@@4@PAV?$Vector@V?$RefPtr@VArrayBuffer@WTF@@@WTF@@$00VCrashOnOverflow@2@@4@W4SerializationErrorMode@2@@Z, ?create@SerializedScriptValue@WebCore@@SA?AV?$PassRefPtr@VSerializedScriptValue@WebCore@@@WTF@@PEAVExecState@JSC@@VJSValue@6@PEAV?$Vector@V?$RefPtr@VMessagePort@WebCore@@@WTF@@$00VCrashOnOverflow@2@@4@PEAV?$Vector@V?$RefPtr@VArrayBuffer@WTF@@@WTF@@$00VCrashOnOverflow@2@@4@W4SerializationErrorMode@2@@Z)
- symbolWithPointer(??0ClientRectList@WebCore@@AAE@ABV?$Vector@VFloatQuad@WebCore@@$0A@VCrashOnOverflow@WTF@@@WTF@@@Z, ??0ClientRectList@WebCore@@AEAA@AEBV?$Vector@VFloatQuad@WebCore@@$0A@VCrashOnOverflow@WTF@@@WTF@@@Z)
- symbolWithPointer(??0SerializedScriptValue@WebCore@@AAE@AAV?$Vector@E$0A@VCrashOnOverflow@WTF@@@WTF@@@Z, ??0SerializedScriptValue@WebCore@@AEAA@AEAV?$Vector@E$0A@VCrashOnOverflow@WTF@@@WTF@@@Z)
-#if ENABLE(VIDEO_TRACK)
- symbolWithPointer(?captionPreferences@PageGroup@WebCore@@QAEPAVCaptionUserPreferences@2@XZ, ?captionPreferences@PageGroup@WebCore@@QEAAPEAVCaptionUserPreferences@2@XZ)
-#endif
- symbolWithPointer(?initGroup@Page@WebCore@@AAEXXZ, ?initGroup@Page@WebCore@@AEAAXXZ)
- symbolWithPointer(?toInt8@WebCore@@YACPAVExecState@JSC@@VJSValue@3@W4IntegerConversionConfiguration@1@@Z, ?toInt8@WebCore@@YACPEAVExecState@JSC@@VJSValue@3@W4IntegerConversionConfiguration@1@@Z)
- symbolWithPointer(?toUInt8@WebCore@@YAEPAVExecState@JSC@@VJSValue@3@W4IntegerConversionConfiguration@1@@Z, ?toUInt8@WebCore@@YAEPEAVExecState@JSC@@VJSValue@3@W4IntegerConversionConfiguration@1@@Z)
- symbolWithPointer(?toInt32EnforceRange@WebCore@@YAHPAVExecState@JSC@@VJSValue@3@@Z, ?toInt32EnforceRange@WebCore@@YAHPEAVExecState@JSC@@VJSValue@3@@Z)
- symbolWithPointer(?toInt64@WebCore@@YA_JPAVExecState@JSC@@VJSValue@3@W4IntegerConversionConfiguration@1@@Z, ?toInt64@WebCore@@YA_JPEAVExecState@JSC@@VJSValue@3@W4IntegerConversionConfiguration@1@@Z)
- symbolWithPointer(?toUInt32EnforceRange@WebCore@@YAIPAVExecState@JSC@@VJSValue@3@@Z, ?toUInt32EnforceRange@WebCore@@YAIPEAVExecState@JSC@@VJSValue@3@@Z)
- symbolWithPointer(?toUInt64@WebCore@@YA_KPAVExecState@JSC@@VJSValue@3@W4IntegerConversionConfiguration@1@@Z, ?toUInt64@WebCore@@YA_KPEAVExecState@JSC@@VJSValue@3@W4IntegerConversionConfiguration@1@@Z)
- symbolWithPointer(?getHeapSize@ScriptGCEvent@WebCore@@SAXAAUHeapInfo@2@@Z, ?getHeapSize@ScriptGCEvent@WebCore@@SAXAEAUHeapInfo@2@@Z)
-
-#if ENABLE(WORKERS)
- ?workerThreadCount@WorkerThread@WebCore@@SAIXZ
-#endif
-
-#if ENABLE(VIDEO)
- symbolWithPointer(?toTimeRanges@WebCore@@YAPAVTimeRanges@1@VJSValue@JSC@@@Z, ?toTimeRanges@WebCore@@YAPEAVTimeRanges@1@VJSValue@JSC@@@Z)
- symbolWithPointer(?toJS@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@PAVTimeRanges@1@@Z, ?toJS@WebCore@@YA?AVJSValue@JSC@@PEAVExecState@3@PEAVJSDOMGlobalObject@1@PEAVTimeRanges@1@@Z)
- symbolWithPointer(?toFloat32Array@WebCore@@YAPAVFloat32Array@WTF@@VJSValue@JSC@@@Z, ?toFloat32Array@WebCore@@YAPEAVFloat32Array@WTF@@VJSValue@JSC@@@Z)
- symbolWithPointer(?nearest@TimeRanges@WebCore@@QBENN@Z, ?nearest@TimeRanges@WebCore@@QEBANN@Z)
- symbolWithPointer(?add@TimeRanges@WebCore@@QAEXNN@Z, ?add@TimeRanges@WebCore@@QEAAXNN@Z)
-#endif
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/make-export-file-generator b/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/make-export-file-generator
deleted file mode 100755
index a03f42471..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/make-export-file-generator
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env ruby
-
-# Copyright (C) 2010 Apple 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 INC. 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 INC. 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.
-
-input_file = ARGV[0]
-output_file = ARGV[1]
-
-require 'erb'
-
-def line_for_output line
- return line.chomp if line =~ /#/
- return " printf(\"%s\\n\",#{line.chomp});" if line =~ /symbolWithPointer/
- return " printf(\"#{line.chomp}\\n\");"
-end
-
-TEMPLATE = <<-EOF
-#include "config.h"
-#include <stdio.h>
-#include <wtf/Assertions.h>
-
-#ifdef _WIN64
-#define symbolWithPointer(symbol32Bit, symbol64Bit) #symbol64Bit
-#else
-#define symbolWithPointer(symbol32Bit, symbol64Bit) #symbol32Bit
-#endif
-
-int main(int, char**)
-{
-<%- input.each_line do |line| -%>
-<%= line_for_output line %>
-<%- end -%>
-
- return 0;
-}
-EOF
-
-File.open(output_file, "w") do |output|
- File.open(input_file) do |input|
- renderer = ERB.new(TEMPLATE, 0, "-")
- output << renderer.result(binding)
- end
-end
-
-STDERR.puts "Wrote output to #{output_file}"
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj b/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj
deleted file mode 100644
index cd8f2a726..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj
+++ /dev/null
@@ -1,275 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="DebugSuffix|Win32">
- <Configuration>DebugSuffix</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="DebugSuffix|x64">
- <Configuration>DebugSuffix</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug_WinCairo|Win32">
- <Configuration>Debug_WinCairo</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug_WinCairo|x64">
- <Configuration>Debug_WinCairo</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Production|Win32">
- <Configuration>Production</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Production|x64">
- <Configuration>Production</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release_WinCairo|Win32">
- <Configuration>Release_WinCairo</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release_WinCairo|x64">
- <Configuration>Release_WinCairo</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{A15EDAD8-8B87-4D4A-8498-77A04AB65F16}</ProjectGuid>
- <RootNamespace>WebKitGUID</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Production|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Production|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- </PropertyGroup>
- <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'" Label="Configuration">
- <CharacterSet>Unicode</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitGUIDDebug.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitGUIDDebug.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitGUIDDebug.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debugsuffix.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitGUIDDebug.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debugsuffix.props" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitGUIDRelease.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitGUIDRelease.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitGUIDReleaseWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitGUIDReleaseWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Production|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitGUIDProduction.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Production|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="WebKitGUIDProduction.props" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'">
- <Import Project="WebKitGUIDDebugWinCairo.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'" Label="PropertySheets">
- <Import Project="WebKitGUIDDebugWinCairo.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile />
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile />
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'">
- <ClCompile />
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugSuffix|x64'">
- <ClCompile />
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile />
- <Link />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile />
- <Link />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">
- <ClCompile />
- <Link />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">
- <ClCompile />
- <Link />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">
- <ClCompile />
- <Link />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Production|x64'">
- <ClCompile />
- <Link />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- <ClCompile />
- </ItemDefinitionGroup>
- <ItemGroup>
- <None Include="WebKitGUIDPostBuild.cmd" />
- <None Include="WebKitGUIDPreBuild.cmd" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="$(ConfigurationBuildDir)\obj32\WebKit\Interfaces\WebKit_i.c" />
- <ClCompile Include="$(ConfigurationBuildDir)\obj32\WebKit\Interfaces\Accessible2_i.c" />
- <ClCompile Include="$(ConfigurationBuildDir)\obj32\WebKit\Interfaces\Accessible2_2_i.c" />
- <ClCompile Include="$(ConfigurationBuildDir)\obj32\WebKit\Interfaces\AccessibleApplication_i.c" />
- <ClCompile Include="$(ConfigurationBuildDir)\obj32\WebKit\Interfaces\AccessibleRelation_i.c" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj.filters b/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj.filters
deleted file mode 100644
index 7756c9b31..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUID.vcxproj.filters
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <None Include="WebKitGUIDPostBuild.cmd" />
- <None Include="WebKitGUIDPreBuild.cmd" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="$(ConfigurationBuildDir)\obj32\WebKit\Interfaces\WebKit_i.c" />
- <ClCompile Include="$(ConfigurationBuildDir)\obj32\WebKit\Interfaces\Accessible2_i.c" />
- <ClCompile Include="$(ConfigurationBuildDir)\obj32\WebKit\Interfaces\Accessible2_2_i.c" />
- <ClCompile Include="$(ConfigurationBuildDir)\obj32\WebKit\Interfaces\AccessibleApplication_i.c" />
- <ClCompile Include="$(ConfigurationBuildDir)\obj32\WebKit\Interfaces\AccessibleRelation_i.c" />
- </ItemGroup>
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDCommon.props b/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDCommon.props
deleted file mode 100644
index 590007a9b..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDCommon.props
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets" />
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <OutDir>$(ConfigurationBuildDir)\lib32\</OutDir>
- </PropertyGroup>
- <ItemDefinitionGroup>
- <ClCompile />
- <Midl>
- <HeaderFileName>$(OutDir)$(TargetName).h</HeaderFileName>
- </Midl>
- <ClCompile>
- <ForcedIncludeFiles>
- </ForcedIncludeFiles>
- <CompileAs>CompileAsC</CompileAs>
- </ClCompile>
- </ItemDefinitionGroup>
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDDebug.props b/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDDebug.props
deleted file mode 100644
index 50f30b6c0..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDDebug.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefines.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debug.props" />
- <Import Project="WebKitGUIDCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDDebugWinCairo.props b/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDDebugWinCairo.props
deleted file mode 100644
index 7fc925eb2..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDDebugWinCairo.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefinesCairo.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\debug.props" />
- <Import Project="WebKitGUIDCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDPostBuild.cmd b/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDPostBuild.cmd
deleted file mode 100644
index 26707cac6..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDPostBuild.cmd
+++ /dev/null
@@ -1 +0,0 @@
-if exist "%CONFIGURATIONBUILDDIR%\buildfailed" del "%CONFIGURATIONBUILDDIR%\buildfailed"
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDPreBuild.cmd b/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDPreBuild.cmd
deleted file mode 100644
index a77077674..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDPreBuild.cmd
+++ /dev/null
@@ -1,6 +0,0 @@
-%SystemDrive%\cygwin\bin\which.exe bash
-if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
-cmd /c
-if exist "%CONFIGURATIONBUILDDIR%\buildfailed" grep XX%PROJECTNAME%XX "%CONFIGURATIONBUILDDIR%\buildfailed"
-if errorlevel 1 exit 1
-echo XX%PROJECTNAME%XX > "%CONFIGURATIONBUILDDIR%\buildfailed"
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDProduction.props b/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDProduction.props
deleted file mode 100644
index 90cf98164..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDProduction.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefines.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\production.props" />
- <Import Project="WebKitGUIDCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDRelease.props b/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDRelease.props
deleted file mode 100644
index aedd4d250..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDRelease.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefines.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\release.props" />
- <Import Project="WebKitGUIDCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDReleaseWinCairo.props b/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDReleaseWinCairo.props
deleted file mode 100644
index 09e85590b..000000000
--- a/Source/WebKit/WebKit.vcxproj/WebKitGUID/WebKitGUIDReleaseWinCairo.props
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="$(WebKit_Libraries)\tools\vsprops\FeatureDefinesCairo.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\common.props" />
- <Import Project="$(WebKit_Libraries)\tools\vsprops\release.props" />
- <Import Project="WebKitGUIDCommon.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup />
- <ItemGroup />
-</Project> \ No newline at end of file
diff --git a/Source/WebKit/WebKit.xcodeproj/project.pbxproj b/Source/WebKit/WebKit.xcodeproj/project.pbxproj
deleted file mode 100644
index 3c9432df4..000000000
--- a/Source/WebKit/WebKit.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,2130 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- 065AD5A30B0C32C7005A2B1D /* WebContextMenuClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 065AD5A10B0C32C7005A2B1D /* WebContextMenuClient.h */; };
- 065AD5A40B0C32C7005A2B1D /* WebContextMenuClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 065AD5A20B0C32C7005A2B1D /* WebContextMenuClient.mm */; };
- 06693DDC0BFBA85200216072 /* WebInspectorClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 06693DDA0BFBA85200216072 /* WebInspectorClient.h */; };
- 06693DDD0BFBA85200216072 /* WebInspectorClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 06693DDB0BFBA85200216072 /* WebInspectorClient.mm */; };
- 0AB752370FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AB752350FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.h */; };
- 0AB752380FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0AB752360FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.mm */; };
- 0AEBFF630F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AEBFF610F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 0AEBFF640F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0AEBFF620F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.mm */; };
- 0F30985F11ECFE4500F559DF /* WebRenderLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F30985D11ECFE4400F559DF /* WebRenderLayer.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 0F30986011ECFE4500F559DF /* WebRenderLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F30985E11ECFE4500F559DF /* WebRenderLayer.mm */; };
- 14D8252F0AF955090004F057 /* WebChromeClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 14D8252D0AF955090004F057 /* WebChromeClient.h */; };
- 14D825300AF955090004F057 /* WebChromeClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 14D8252E0AF955090004F057 /* WebChromeClient.mm */; };
- 1A2DBE9F0F251E3A0036F8A6 /* ProxyInstance.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A2DBE9D0F251E3A0036F8A6 /* ProxyInstance.h */; };
- 1A2DBEA00F251E3A0036F8A6 /* ProxyInstance.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A2DBE9E0F251E3A0036F8A6 /* ProxyInstance.mm */; };
- 1A4DF5220EC8C74D006BD4B4 /* WebNetscapePluginView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A4DF5200EC8C74D006BD4B4 /* WebNetscapePluginView.h */; };
- 1A4DF5230EC8C74D006BD4B4 /* WebNetscapePluginView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A4DF5210EC8C74D006BD4B4 /* WebNetscapePluginView.mm */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; };
- 1A4DF5E40EC8D104006BD4B4 /* WebBaseNetscapePluginView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A4DF5E20EC8D104006BD4B4 /* WebBaseNetscapePluginView.h */; };
- 1A4DF5E50EC8D104006BD4B4 /* WebBaseNetscapePluginView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A4DF5E30EC8D104006BD4B4 /* WebBaseNetscapePluginView.mm */; };
- 1A60519117502A5D00BC62F5 /* BinaryPropertyList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A60518D17502A5D00BC62F5 /* BinaryPropertyList.cpp */; };
- 1A60519217502A5D00BC62F5 /* BinaryPropertyList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A60518E17502A5D00BC62F5 /* BinaryPropertyList.h */; };
- 1A60519317502A5D00BC62F5 /* HistoryPropertyList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A60518F17502A5D00BC62F5 /* HistoryPropertyList.cpp */; };
- 1A60519417502A5D00BC62F5 /* HistoryPropertyList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A60519017502A5D00BC62F5 /* HistoryPropertyList.h */; };
- 1A74A28E0F4F75400082E228 /* WebTextInputWindowController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A74A28C0F4F75400082E228 /* WebTextInputWindowController.h */; };
- 1A74A28F0F4F75400082E228 /* WebTextInputWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A74A28D0F4F75400082E228 /* WebTextInputWindowController.m */; };
- 1A77B02E0EE7730500C8A1F9 /* WebPluginRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A77B02C0EE7730500C8A1F9 /* WebPluginRequest.h */; };
- 1A77B02F0EE7730500C8A1F9 /* WebPluginRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A77B02D0EE7730500C8A1F9 /* WebPluginRequest.m */; };
- 1A8DED500EE88B8A00F25022 /* HostedNetscapePluginStream.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A8DED4E0EE88B8A00F25022 /* HostedNetscapePluginStream.h */; };
- 1A8DED510EE88B8A00F25022 /* HostedNetscapePluginStream.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A8DED4F0EE88B8A00F25022 /* HostedNetscapePluginStream.mm */; };
- 1AA879B611CBE9BF003C664F /* WebPlatformStrategies.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AA879B411CBE9BF003C664F /* WebPlatformStrategies.h */; };
- 1AA879B711CBE9BF003C664F /* WebPlatformStrategies.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AA879B511CBE9BF003C664F /* WebPlatformStrategies.mm */; };
- 1AAF58940EDCCF15008D883D /* WebKitPluginAgent.defs in Headers */ = {isa = PBXBuildFile; fileRef = 1AAF588A0EDCCEA3008D883D /* WebKitPluginAgent.defs */; settings = {ATTRIBUTES = (Private, ); }; };
- 1AAF58950EDCCF15008D883D /* WebKitPluginAgentReply.defs in Headers */ = {isa = PBXBuildFile; fileRef = 1AAF588B0EDCCEA3008D883D /* WebKitPluginAgentReply.defs */; settings = {ATTRIBUTES = (Private, ); }; };
- 1AAF58960EDCCF15008D883D /* WebKitPluginClient.defs in Headers */ = {isa = PBXBuildFile; fileRef = 1AAF588C0EDCCEA3008D883D /* WebKitPluginClient.defs */; settings = {ATTRIBUTES = (Private, ); }; };
- 1AAF58970EDCCF15008D883D /* WebKitPluginHost.defs in Headers */ = {isa = PBXBuildFile; fileRef = 1AAF588D0EDCCEA3008D883D /* WebKitPluginHost.defs */; settings = {ATTRIBUTES = (Private, ); }; };
- 1AAF58980EDCCF15008D883D /* WebKitPluginHostTypes.defs in Headers */ = {isa = PBXBuildFile; fileRef = 1AAF588E0EDCCEA3008D883D /* WebKitPluginHostTypes.defs */; settings = {ATTRIBUTES = (Private, ); }; };
- 1AAF5CEA0EDDE1FE008D883D /* NetscapePluginHostManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAF5CE40EDDE1FE008D883D /* NetscapePluginHostManager.h */; };
- 1AAF5CEB0EDDE1FE008D883D /* NetscapePluginHostManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AAF5CE50EDDE1FE008D883D /* NetscapePluginHostManager.mm */; };
- 1AAF5CEC0EDDE1FE008D883D /* NetscapePluginHostProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAF5CE60EDDE1FE008D883D /* NetscapePluginHostProxy.h */; };
- 1AAF5CED0EDDE1FE008D883D /* NetscapePluginHostProxy.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AAF5CE70EDDE1FE008D883D /* NetscapePluginHostProxy.mm */; };
- 1AAF5CEE0EDDE1FE008D883D /* NetscapePluginInstanceProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAF5CE80EDDE1FE008D883D /* NetscapePluginInstanceProxy.h */; };
- 1AAF5CEF0EDDE1FE008D883D /* NetscapePluginInstanceProxy.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AAF5CE90EDDE1FE008D883D /* NetscapePluginInstanceProxy.mm */; };
- 1AAF5CF10EDDE586008D883D /* WebKitPluginHost.defs in Sources */ = {isa = PBXBuildFile; fileRef = 1AAF588D0EDCCEA3008D883D /* WebKitPluginHost.defs */; };
- 1AAF5D000EDDE604008D883D /* WebKitPluginClient.defs in Sources */ = {isa = PBXBuildFile; fileRef = 1AAF588C0EDCCEA3008D883D /* WebKitPluginClient.defs */; settings = {ATTRIBUTES = (Server, ); }; };
- 1AAF5D090EDDE71D008D883D /* WebKitPluginHostTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAF5D080EDDE71D008D883D /* WebKitPluginHostTypes.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 1AAF5D0F0EDDE7A7008D883D /* WebKitPluginAgent.defs in Sources */ = {isa = PBXBuildFile; fileRef = 1AAF588A0EDCCEA3008D883D /* WebKitPluginAgent.defs */; };
- 1AAF5FBF0EDE3A92008D883D /* WebHostedNetscapePluginView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAF5FBD0EDE3A92008D883D /* WebHostedNetscapePluginView.h */; };
- 1AAF5FC00EDE3A92008D883D /* WebHostedNetscapePluginView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AAF5FBE0EDE3A92008D883D /* WebHostedNetscapePluginView.mm */; };
- 1AEA66D40DC6B1FF003D12BF /* WebNetscapePluginEventHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AEA66D20DC6B1FF003D12BF /* WebNetscapePluginEventHandler.h */; };
- 1AEA66D50DC6B1FF003D12BF /* WebNetscapePluginEventHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AEA66D30DC6B1FF003D12BF /* WebNetscapePluginEventHandler.mm */; };
- 1AEA66D80DC6B209003D12BF /* WebNetscapePluginEventHandlerCarbon.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AEA66D60DC6B209003D12BF /* WebNetscapePluginEventHandlerCarbon.h */; };
- 1AEA66D90DC6B209003D12BF /* WebNetscapePluginEventHandlerCarbon.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AEA66D70DC6B209003D12BF /* WebNetscapePluginEventHandlerCarbon.mm */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; };
- 1AEA6A500DC8CE2F003D12BF /* WebNetscapePluginEventHandlerCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AEA6A4E0DC8CE2F003D12BF /* WebNetscapePluginEventHandlerCocoa.h */; };
- 1AEA6A510DC8CE2F003D12BF /* WebNetscapePluginEventHandlerCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AEA6A4F0DC8CE2F003D12BF /* WebNetscapePluginEventHandlerCocoa.mm */; };
- 1C0D40870AC1C8F40009C113 /* WebKitVersionChecks.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C0D40850AC1C8F40009C113 /* WebKitVersionChecks.h */; };
- 1C0D40880AC1C8F40009C113 /* WebKitVersionChecks.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C0D40860AC1C8F40009C113 /* WebKitVersionChecks.m */; };
- 1C68F66F095B5FC100C2984E /* WebNodeHighlight.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C68F663095B5FC100C2984E /* WebNodeHighlight.h */; };
- 1C68F670095B5FC100C2984E /* WebNodeHighlight.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C68F664095B5FC100C2984E /* WebNodeHighlight.mm */; };
- 1C68F671095B5FC100C2984E /* WebNodeHighlightView.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C68F665095B5FC100C2984E /* WebNodeHighlightView.h */; };
- 1C68F672095B5FC100C2984E /* WebNodeHighlightView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1C68F666095B5FC100C2984E /* WebNodeHighlightView.mm */; };
- 1C7B0C660EB2464D00A28502 /* WebInspectorClientCF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C7B0C650EB2464D00A28502 /* WebInspectorClientCF.cpp */; };
- 1C8CB07A0AE9830C00B1F6E9 /* WebEditingDelegatePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C8CB0790AE9830C00B1F6E9 /* WebEditingDelegatePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 1C9F5EFC1651CDF700C480F8 /* Dock.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 1C9F5EFB1651CDF700C480F8 /* Dock.pdf */; };
- 1CCFFD130B1F81F2002EE926 /* OldWebAssertions.c in Sources */ = {isa = PBXBuildFile; fileRef = 1CCFFD120B1F81F2002EE926 /* OldWebAssertions.c */; };
- 224100F3091818D900D2D266 /* WebPluginsPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 224100F2091818D900D2D266 /* WebPluginsPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 224100F90918190100D2D266 /* WebPluginsPrivate.m in Sources */ = {isa = PBXBuildFile; fileRef = 224100F80918190100D2D266 /* WebPluginsPrivate.m */; };
- 225F881509F97E8A00423A40 /* WebPluginPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 225F881409F97E8A00423A40 /* WebPluginPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 22F219CC08D236730030E078 /* WebBackForwardListPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 22F219CB08D236730030E078 /* WebBackForwardListPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 29AEF960134C76FB00FE5096 /* OutlookQuirksUserScript.js in Resources */ = {isa = PBXBuildFile; fileRef = 29AEF95D134C755400FE5096 /* OutlookQuirksUserScript.js */; };
- 312E2FE514E48182007CCA18 /* WebNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 312E2FE314E48182007CCA18 /* WebNotification.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 312E2FE614E48182007CCA18 /* WebNotification.mm in Sources */ = {isa = PBXBuildFile; fileRef = 312E2FE414E48182007CCA18 /* WebNotification.mm */; };
- 312E2FE914E48215007CCA18 /* WebNotificationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 312E2FE814E48215007CCA18 /* WebNotificationInternal.h */; };
- 31C11A6E1476552E0049A4CC /* WebNotificationClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 31C11A6C1476552E0049A4CC /* WebNotificationClient.h */; };
- 31C11A6F1476552E0049A4CC /* WebNotificationClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 31C11A6D1476552E0049A4CC /* WebNotificationClient.mm */; };
- 37B6FB4E1063530C000FDB3B /* WebPDFDocumentExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 37B6FB4C1063530C000FDB3B /* WebPDFDocumentExtras.h */; };
- 37B6FB4F1063530C000FDB3B /* WebPDFDocumentExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 37B6FB4D1063530C000FDB3B /* WebPDFDocumentExtras.mm */; };
- 37D1DCA81065928C0068F7EF /* WebJSPDFDoc.h in Headers */ = {isa = PBXBuildFile; fileRef = 37D1DCA61065928C0068F7EF /* WebJSPDFDoc.h */; };
- 37D1DCA91065928C0068F7EF /* WebJSPDFDoc.mm in Sources */ = {isa = PBXBuildFile; fileRef = 37D1DCA71065928C0068F7EF /* WebJSPDFDoc.mm */; };
- 3AB02AF612C1319B00FBB694 /* WebStorageManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3AB02AF512C1319B00FBB694 /* WebStorageManager.mm */; };
- 3AB02B0012C132B200FBB694 /* WebStorageManagerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AB02AFF12C132B200FBB694 /* WebStorageManagerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 3ABB3C7A1309C3B500E93D94 /* WebStorageTrackerClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 3ABB3C781309C3B500E93D94 /* WebStorageTrackerClient.h */; };
- 3ABB3C7B1309C3B500E93D94 /* WebStorageTrackerClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3ABB3C791309C3B500E93D94 /* WebStorageTrackerClient.mm */; };
- 3AE15D5012DBDED4009323C8 /* WebStorageManagerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 3AE15D4F12DBDED4009323C8 /* WebStorageManagerInternal.h */; };
- 44BB8B141241A022001E3A22 /* WebArchiveInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 44BB8B131241A022001E3A22 /* WebArchiveInternal.h */; };
- 4BF99F900AE050BC00815C2B /* WebEditorClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 4BF99F8E0AE050BC00815C2B /* WebEditorClient.h */; settings = {ATTRIBUTES = (); }; };
- 4BF99F910AE050BC00815C2B /* WebEditorClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4BF99F8F0AE050BC00815C2B /* WebEditorClient.mm */; };
- 511F3FD50CECC88F00852565 /* WebDatabaseManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = 511F3FD10CECC88F00852565 /* WebDatabaseManager.mm */; };
- 511F3FD60CECC88F00852565 /* WebDatabaseManagerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 511F3FD20CECC88F00852565 /* WebDatabaseManagerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 511F3FD70CECC88F00852565 /* WebDatabaseManagerClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 511F3FD30CECC88F00852565 /* WebDatabaseManagerClient.h */; };
- 511F3FD80CECC88F00852565 /* WebDatabaseManagerClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 511F3FD40CECC88F00852565 /* WebDatabaseManagerClient.mm */; };
- 51494CD60C7EBDE0004178C5 /* WebIconDatabaseClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 51494CD40C7EBDE0004178C5 /* WebIconDatabaseClient.h */; };
- 51494CD70C7EBDE0004178C5 /* WebIconDatabaseClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51494CD50C7EBDE0004178C5 /* WebIconDatabaseClient.mm */; };
- 51494D240C7EC1B7004178C5 /* WebNSNotificationCenterExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 51494D220C7EC1B6004178C5 /* WebNSNotificationCenterExtras.h */; };
- 51494D250C7EC1B7004178C5 /* WebNSNotificationCenterExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = 51494D230C7EC1B7004178C5 /* WebNSNotificationCenterExtras.m */; };
- 5158F6EF106D862A00AF457C /* WebHistoryDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 5158F6EE106D862A00AF457C /* WebHistoryDelegate.h */; };
- 5185F62610712B80007AA393 /* WebNavigationData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5185F62510712B80007AA393 /* WebNavigationData.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 5185F62810712B97007AA393 /* WebNavigationData.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5185F62710712B97007AA393 /* WebNavigationData.mm */; };
- 51B2A1000ADB15D0002A9BEE /* WebIconDatabaseDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 51B2A0FF0ADB15D0002A9BEE /* WebIconDatabaseDelegate.h */; };
- 51C714FB0B20F79F00E5E33C /* WebBackForwardListInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 51C714FA0B20F79F00E5E33C /* WebBackForwardListInternal.h */; };
- 51CBFCAD0D10E6C5002DBF51 /* WebCachedFramePlatformData.h in Headers */ = {isa = PBXBuildFile; fileRef = 51CBFCAC0D10E6C5002DBF51 /* WebCachedFramePlatformData.h */; };
- 51FDC4D30B0AF5C100F84EB3 /* WebHistoryItemPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 51FDC4D20B0AF5C100F84EB3 /* WebHistoryItemPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 5241ADF50B1BC48A004012BD /* WebCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 5241ADF30B1BC48A004012BD /* WebCache.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 5241ADF60B1BC48A004012BD /* WebCache.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5241ADF40B1BC48A004012BD /* WebCache.mm */; };
- 598AD91A1201CEC900ABAE4E /* WebDeviceOrientationClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 598AD9191201CEC900ABAE4E /* WebDeviceOrientationClient.h */; };
- 598AD91E1201CECF00ABAE4E /* WebDeviceOrientationClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 598AD91D1201CECF00ABAE4E /* WebDeviceOrientationClient.mm */; };
- 598AD9201201CF0700ABAE4E /* WebDeviceOrientation.h in Headers */ = {isa = PBXBuildFile; fileRef = 598AD91F1201CF0700ABAE4E /* WebDeviceOrientation.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 598AD9221201CF1000ABAE4E /* WebDeviceOrientation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 598AD9211201CF1000ABAE4E /* WebDeviceOrientation.mm */; };
- 598AD9241201CF1900ABAE4E /* WebDeviceOrientationInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 598AD9231201CF1900ABAE4E /* WebDeviceOrientationInternal.h */; };
- 598AD9261201CF2500ABAE4E /* WebDeviceOrientationProviderMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 598AD9251201CF2500ABAE4E /* WebDeviceOrientationProviderMock.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 598AD9281201CF3200ABAE4E /* WebDeviceOrientationProviderMock.mm in Sources */ = {isa = PBXBuildFile; fileRef = 598AD9271201CF3200ABAE4E /* WebDeviceOrientationProviderMock.mm */; };
- 598AD92A1201CF3B00ABAE4E /* WebDeviceOrientationProviderMockInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 598AD9291201CF3B00ABAE4E /* WebDeviceOrientationProviderMockInternal.h */; };
- 598ADA461202275000ABAE4E /* WebDeviceOrientationProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 598ADA451202275000ABAE4E /* WebDeviceOrientationProvider.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 5D7BF8140C2A1D90008CE06D /* WebInspector.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D7BF8120C2A1D90008CE06D /* WebInspector.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 5D7BF8150C2A1D90008CE06D /* WebInspector.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5D7BF8130C2A1D90008CE06D /* WebInspector.mm */; };
- 5DE83A7A0D0F7F9400CAD12A /* WebJavaScriptTextInputPanel.nib in Resources */ = {isa = PBXBuildFile; fileRef = 5DE83A740D0F7F9400CAD12A /* WebJavaScriptTextInputPanel.nib */; };
- 5DE92FEF0BD7017E0059A5FD /* WebAssertions.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DE92FEE0BD7017E0059A5FD /* WebAssertions.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 65488DA1084FBCCB00831AD0 /* WebNSDictionaryExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 65488D9F084FBCCB00831AD0 /* WebNSDictionaryExtras.h */; };
- 65488DA2084FBCCB00831AD0 /* WebNSDictionaryExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = 65488DA0084FBCCB00831AD0 /* WebNSDictionaryExtras.m */; };
- 656D333E0AF21AE900212169 /* WebResourceLoadDelegatePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 656D333D0AF21AE900212169 /* WebResourceLoadDelegatePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 658A40960A14853B005E6987 /* WebDataSourceInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 658A40950A14853B005E6987 /* WebDataSourceInternal.h */; };
- 65E0F88408500917007E5CB9 /* WebNSURLRequestExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 65E0F88208500917007E5CB9 /* WebNSURLRequestExtras.h */; };
- 65E0F88508500917007E5CB9 /* WebNSURLRequestExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = 65E0F88308500917007E5CB9 /* WebNSURLRequestExtras.m */; };
- 65E0F9E608500F23007E5CB9 /* WebNSUserDefaultsExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 65E0F9E408500F23007E5CB9 /* WebNSUserDefaultsExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 65E0F9E708500F23007E5CB9 /* WebNSUserDefaultsExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 65E0F9E508500F23007E5CB9 /* WebNSUserDefaultsExtras.mm */; };
- 65EEDE57084FFC9E0002DB25 /* WebNSFileManagerExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 65EEDE55084FFC9E0002DB25 /* WebNSFileManagerExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 65EEDE58084FFC9E0002DB25 /* WebNSFileManagerExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 65EEDE56084FFC9E0002DB25 /* WebNSFileManagerExtras.mm */; };
- 65FFB7FC0AD0B7D30048CD05 /* WebDocumentLoaderMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 65FFB7FA0AD0B7D30048CD05 /* WebDocumentLoaderMac.h */; };
- 65FFB7FD0AD0B7D30048CD05 /* WebDocumentLoaderMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 65FFB7FB0AD0B7D30048CD05 /* WebDocumentLoaderMac.mm */; };
- 7A8FF0D11075024A00A80A08 /* WebInspectorPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A8FF0D01075024A00A80A08 /* WebInspectorPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 7C01CB85173435C900C5D807 /* PopupMenuMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C01CB81173435C900C5D807 /* PopupMenuMac.h */; };
- 7C01CB86173435C900C5D807 /* PopupMenuMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7C01CB82173435C900C5D807 /* PopupMenuMac.mm */; };
- 7C01CB87173435C900C5D807 /* SearchPopupMenuMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C01CB83173435C900C5D807 /* SearchPopupMenuMac.h */; };
- 7C01CB88173435C900C5D807 /* SearchPopupMenuMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7C01CB84173435C900C5D807 /* SearchPopupMenuMac.mm */; };
- 7E6FEF0808985A7200C44C3F /* WebScriptDebugDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E6FEF0508985A7200C44C3F /* WebScriptDebugDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 7E6FEF0908985A7200C44C3F /* WebScriptDebugDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7E6FEF0608985A7200C44C3F /* WebScriptDebugDelegate.mm */; };
- 9304B3000B02341500F7850D /* WebIconDatabaseInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9304B2FF0B02341500F7850D /* WebIconDatabaseInternal.h */; };
- 931633EB0AEDFF930062B92D /* WebFrameLoaderClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 931633EA0AEDFF930062B92D /* WebFrameLoaderClient.h */; };
- 931633EF0AEDFFAE0062B92D /* WebFrameLoaderClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 931633EE0AEDFFAE0062B92D /* WebFrameLoaderClient.mm */; };
- 934C11670D8710BB00C32ABD /* WebDynamicScrollBarsViewInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 934C11660D8710BB00C32ABD /* WebDynamicScrollBarsViewInternal.h */; };
- 934C4A910F01406C009372C0 /* WebNSObjectExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 934C4A900F01406C009372C0 /* WebNSObjectExtras.mm */; };
- 934C4AA00F0141F7009372C0 /* WebResourceInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 934C4A9F0F0141F7009372C0 /* WebResourceInternal.h */; };
- 936A2DE80FD2D08000D312DB /* WebTextCompletionController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 936A2DE70FD2D08000D312DB /* WebTextCompletionController.mm */; };
- 936A2DEA0FD2D08400D312DB /* WebTextCompletionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 936A2DE90FD2D08400D312DB /* WebTextCompletionController.h */; };
- 9391F275121B38BD00EBF7E8 /* WebFrameNetworkingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 9391F273121B38BD00EBF7E8 /* WebFrameNetworkingContext.h */; };
- 9391F276121B38BD00EBF7E8 /* WebFrameNetworkingContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9391F274121B38BD00EBF7E8 /* WebFrameNetworkingContext.mm */; };
- 939810110824BF01008DF038 /* WebBackForwardList.h in Headers */ = {isa = PBXBuildFile; fileRef = 3944607D020F50ED0ECA1767 /* WebBackForwardList.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810120824BF01008DF038 /* WebHistory.h in Headers */ = {isa = PBXBuildFile; fileRef = F520FB190221DEFD01C1A525 /* WebHistory.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810130824BF01008DF038 /* WebHistoryItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 3944607F020F50ED0ECA1767 /* WebHistoryItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810140824BF01008DF038 /* WebHistoryPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = F5B92B820223191D01C1A525 /* WebHistoryPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810150824BF01008DF038 /* WebURLsWithTitles.h in Headers */ = {isa = PBXBuildFile; fileRef = F5E0A76E02B8FEE401C1A525 /* WebURLsWithTitles.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810160824BF01008DF038 /* WebCoreStatistics.h in Headers */ = {isa = PBXBuildFile; fileRef = F59EAE3E0253C7EE018635CA /* WebCoreStatistics.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810180824BF01008DF038 /* WebIconDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = F528E3E9031E91AD01CA2ACA /* WebIconDatabase.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810190824BF01008DF038 /* WebIconDatabasePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = F528E3EB031E91AD01CA2ACA /* WebIconDatabasePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 9398101B0824BF01008DF038 /* WebKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 2568C72C0174912D0ECA149E /* WebKit.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9398101C0824BF01008DF038 /* WebKitErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = F5927D4E02D26C5E01CA2DBB /* WebKitErrors.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9398101D0824BF01008DF038 /* WebKitLogging.h in Headers */ = {isa = PBXBuildFile; fileRef = 93AEB17D032C1735008635CE /* WebKitLogging.h */; settings = {ATTRIBUTES = (); }; };
- 9398101E0824BF01008DF038 /* WebKitNSStringExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 7082F56F038EADAA00A80180 /* WebKitNSStringExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 9398101F0824BF01008DF038 /* WebKitStatistics.h in Headers */ = {isa = PBXBuildFile; fileRef = F53444CE02E87CBA018635CA /* WebKitStatistics.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810200824BF01008DF038 /* WebKitStatisticsPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = F53444D202E87D4B018635CA /* WebKitStatisticsPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810210824BF01008DF038 /* WebNSControlExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 9345DDB20365FFD0008635CE /* WebNSControlExtras.h */; };
- 939810220824BF01008DF038 /* WebNSImageExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 8398847A03426FB000BC5F5E /* WebNSImageExtras.h */; };
- 939810230824BF01008DF038 /* WebNSPasteboardExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = ED2B2474033A2DA800C1A526 /* WebNSPasteboardExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810240824BF01008DF038 /* WebNSViewExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = F508946902B71D59018A9CD4 /* WebNSViewExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810250824BF01008DF038 /* WebNSWindowExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 9345DDAE0365FB27008635CE /* WebNSWindowExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810270824BF01008DF038 /* WebStringTruncator.h in Headers */ = {isa = PBXBuildFile; fileRef = F59668C802AD2923018635CA /* WebStringTruncator.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810290824BF01008DF038 /* WebAuthenticationPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = F8CA15B5029A39D901000122 /* WebAuthenticationPanel.h */; };
- 9398102A0824BF01008DF038 /* WebPanelAuthenticationHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 93154EF103A41270008635CE /* WebPanelAuthenticationHandler.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 9398102B0824BF01008DF038 /* WebNetscapePluginStream.h in Headers */ = {isa = PBXBuildFile; fileRef = F5A672B90263866E01000102 /* WebNetscapePluginStream.h */; };
- 9398102E0824BF01008DF038 /* WebBasePluginPackage.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E4AF46036652150000E506 /* WebBasePluginPackage.h */; };
- 939810310824BF01008DF038 /* WebNetscapePluginPackage.h in Headers */ = {isa = PBXBuildFile; fileRef = F5F7171E0288493C018635CA /* WebNetscapePluginPackage.h */; };
- 939810350824BF01008DF038 /* WebPlugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 848DFF840365FE6A00CA2ACA /* WebPlugin.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810360824BF01008DF038 /* WebPluginContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 848DFF850365FE6A00CA2ACA /* WebPluginContainer.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810370824BF01008DF038 /* WebPluginController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8467275C0367158500CA2ACA /* WebPluginController.h */; };
- 939810380824BF01008DF038 /* WebPluginDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = F5F717200288493C018635CA /* WebPluginDatabase.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810390824BF01008DF038 /* WebPluginPackage.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E4AF4B036659440000E506 /* WebPluginPackage.h */; };
- 9398103A0824BF01008DF038 /* WebPluginViewFactory.h in Headers */ = {isa = PBXBuildFile; fileRef = 848DFF860365FE6A00CA2ACA /* WebPluginViewFactory.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810420824BF01008DF038 /* WebJavaScriptTextInputPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = 9345D4EA0365C5B2008635CE /* WebJavaScriptTextInputPanel.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810470824BF01008DF038 /* WebKitPrefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F5C283730284676D018635CA /* WebKitPrefix.h */; };
- 939810490824BF01008DF038 /* WebClipView.h in Headers */ = {isa = PBXBuildFile; fileRef = 933D659903413FF2008635CE /* WebClipView.h */; };
- 9398104B0824BF01008DF038 /* WebDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 39446070020F50ED0ECA1767 /* WebDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9398104C0824BF01008DF038 /* WebDataSourcePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 39446072020F50ED0ECA1767 /* WebDataSourcePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 9398104E0824BF01008DF038 /* WebDefaultContextMenuDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 5152FADD033FC50400CA2ACD /* WebDefaultContextMenuDelegate.h */; settings = {ATTRIBUTES = (); }; };
- 9398104F0824BF01008DF038 /* WebDefaultPolicyDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 5152FADF033FC50400CA2ACD /* WebDefaultPolicyDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810500824BF01008DF038 /* WebDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = 35081DAE02B6D4F50ACA2ACA /* WebDocument.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810510824BF01008DF038 /* WebDynamicScrollBarsView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3944606B020F50ED0ECA1767 /* WebDynamicScrollBarsView.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810520824BF01008DF038 /* WebFormDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D81DAB203EB0B2D00A80166 /* WebFormDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810530824BF01008DF038 /* WebFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 39446074020F50ED0ECA1767 /* WebFrame.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810540824BF01008DF038 /* WebFramePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CF0E249021361B00ECA16EA /* WebFramePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810550824BF01008DF038 /* WebHTMLRepresentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 35081D9202B6D4D80ACA2ACA /* WebHTMLRepresentation.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810560824BF01008DF038 /* WebHTMLRepresentationPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = F5A55DC702BAA2E8018635CC /* WebHTMLRepresentationPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810570824BF01008DF038 /* WebHTMLView.h in Headers */ = {isa = PBXBuildFile; fileRef = 35081D9402B6D4D80ACA2ACA /* WebHTMLView.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810580824BF01008DF038 /* WebHTMLViewPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 35081D9602B6D4D80ACA2ACA /* WebHTMLViewPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 9398105B0824BF01008DF038 /* WebFrameLoadDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 5152FAE5033FC52200CA2ACD /* WebFrameLoadDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9398105D0824BF01008DF038 /* WebPreferences.h in Headers */ = {isa = PBXBuildFile; fileRef = 3944606E020F50ED0ECA1767 /* WebPreferences.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9398105E0824BF01008DF038 /* WebPreferencesPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CAE9D070252A4130ECA16EA /* WebPreferencesPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 9398105F0824BF01008DF038 /* WebRenderNode.h in Headers */ = {isa = PBXBuildFile; fileRef = F5F81C3902B67C26018635CA /* WebRenderNode.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810600824BF01008DF038 /* WebResourceLoadDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 513D422E034CF55A00CA2ACD /* WebResourceLoadDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810630824BF01008DF038 /* WebHistoryItemInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 516F296F03A6C45A00CA2D3A /* WebHistoryItemInternal.h */; };
- 939810640824BF01008DF038 /* WebFormDelegatePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D36FD5E03F78F9E00A80166 /* WebFormDelegatePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810650824BF01008DF038 /* CarbonWindowAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = F7EBEE9003F9DBA103CA0DE6 /* CarbonWindowAdapter.h */; };
- 939810660824BF01008DF038 /* CarbonWindowContentView.h in Headers */ = {isa = PBXBuildFile; fileRef = F7EBEE9203F9DBA103CA0DE6 /* CarbonWindowContentView.h */; };
- 939810670824BF01008DF038 /* CarbonWindowFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = F7EBEE9403F9DBA103CA0DE6 /* CarbonWindowFrame.h */; };
- 939810680824BF01008DF038 /* HIViewAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = F7EBEE9A03F9DBA103CA0DE6 /* HIViewAdapter.h */; };
- 939810690824BF01008DF038 /* HIWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = F7EBEEAA03F9DBA103CA0DE6 /* HIWebView.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9398106A0824BF01008DF038 /* CarbonUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = F79B974804019934036909D2 /* CarbonUtils.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9398106D0824BF01008DF038 /* WebKitErrorsPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 84CA5F7E042685E800CA2ACA /* WebKitErrorsPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 9398106E0824BF01008DF038 /* WebFrameView.h in Headers */ = {isa = PBXBuildFile; fileRef = 51A8B52E04282B5900CA2D3A /* WebFrameView.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9398106F0824BF01008DF038 /* WebFrameViewInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 51A8B53204282BD200CA2D3A /* WebFrameViewInternal.h */; };
- 939810700824BF01008DF038 /* WebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 51A8B579042834F700CA2D3A /* WebView.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810710824BF01008DF038 /* WebViewPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 51A8B57D0428353A00CA2D3A /* WebViewPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810720824BF01008DF038 /* WebPolicyDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 51443F9A0429392B00CA2D3A /* WebPolicyDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810730824BF01008DF038 /* WebPolicyDelegatePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 51443F9C0429392B00CA2D3A /* WebPolicyDelegatePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810750824BF01008DF038 /* WebUIDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 515E27CC0458C86500CA2D3A /* WebUIDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810760824BF01008DF038 /* WebDefaultUIDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 515E27CF0458CA4B00CA2D3A /* WebDefaultUIDelegate.h */; };
- 939810770824BF01008DF038 /* WebDownload.h in Headers */ = {isa = PBXBuildFile; fileRef = 6578F5DE045F817400000128 /* WebDownload.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810790824BF01008DF038 /* WebLocalizableStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = BEE18F990472B73200CA289C /* WebLocalizableStrings.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 9398107A0824BF01008DF038 /* WebKitSystemBits.h in Headers */ = {isa = PBXBuildFile; fileRef = BEE52D4A0473032500CA289C /* WebKitSystemBits.h */; };
- 9398107E0824BF01008DF038 /* WebNSURLExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = BE6DC39904C62C4E004D0EF6 /* WebNSURLExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 9398107F0824BF01008DF038 /* WebDocumentInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = ED21B9810528F7AA003299AC /* WebDocumentInternal.h */; };
- 939810800824BF01008DF038 /* WebDocumentPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 833987810543012D00EE146E /* WebDocumentPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810820824BF01008DF038 /* WebNSDataExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = BECD14290565830A005BB09C /* WebNSDataExtras.h */; };
- 939810830824BF01008DF038 /* WebUIDelegatePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 65A7D44A0568AB2600E70EF6 /* WebUIDelegatePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810840824BF01008DF038 /* WebNSEventExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = BE887BFF056D3A6E009BB3E7 /* WebNSEventExtras.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810850824BF01008DF038 /* WebKeyGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 84723BE3056D719E0044BFEA /* WebKeyGenerator.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810870824BF01008DF038 /* WebNSPrintOperationExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = EDD1A5C605C83987008E3150 /* WebNSPrintOperationExtras.h */; };
- 939810880824BF01008DF038 /* WebResource.h in Headers */ = {isa = PBXBuildFile; fileRef = 84311A1205EAAAF00088EDA4 /* WebResource.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810890824BF01008DF038 /* WebResourcePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 84311AF105EAB12B0088EDA4 /* WebResourcePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 9398108D0824BF01008DF038 /* WebDefaultEditingDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = BE95BEE605FD0805006E1513 /* WebDefaultEditingDelegate.h */; };
- 939810990824BF01008DF038 /* WebDOMOperations.h in Headers */ = {isa = PBXBuildFile; fileRef = 846171F90624AE5B0071A4A3 /* WebDOMOperations.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9398109A0824BF01008DF038 /* WebArchive.h in Headers */ = {isa = PBXBuildFile; fileRef = 8373435A0624EE0D00F3B289 /* WebArchive.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 9398109B0824BF01008DF038 /* WebViewInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 930D02BB06275F640076701E /* WebViewInternal.h */; };
- 9398109C0824BF01008DF038 /* WebFrameInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 930D02BD06275F710076701E /* WebFrameInternal.h */; };
- 9398109D0824BF01008DF038 /* WebDOMOperationsPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 84AE905F062DE6A80075BBF9 /* WebDOMOperationsPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 9398109E0824BF01008DF038 /* WebEditingDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = BE4FBECB0653DF47005EDE15 /* WebEditingDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 939810A10824BF01008DF038 /* WebHTMLViewInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 93185DB506679F42005D5E7E /* WebHTMLViewInternal.h */; };
- 939810A20824BF01008DF038 /* WebNSObjectExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 93D1FE13067EB10B009CE68A /* WebNSObjectExtras.h */; };
- 939810A40824BF01008DF038 /* WebPDFView.h in Headers */ = {isa = PBXBuildFile; fileRef = 51E94C3406C0321200A9B09E /* WebPDFView.h */; };
- 939810A50824BF01008DF038 /* WebPDFRepresentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 51E94C6806C0347500A9B09E /* WebPDFRepresentation.h */; };
- 939810A80824BF01008DF038 /* WebPreferenceKeysPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = EDE850CD06ECC79E005FAB05 /* WebPreferenceKeysPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810AC0824BF01008DF038 /* WebPluginViewFactoryPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 83E679780726D7CF006C7A36 /* WebPluginViewFactoryPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810AF0824BF01008DF038 /* WebFrameViewPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 93C6F14507920B93002449CD /* WebFrameViewPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810B00824BF01008DF038 /* WebPluginContainerPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 65836F5E07EE425900682F95 /* WebPluginContainerPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 939810B10824BF01008DF038 /* WebPluginContainerCheck.h in Headers */ = {isa = PBXBuildFile; fileRef = 65E1150307EFFEBF009B8BF7 /* WebPluginContainerCheck.h */; };
- 939810B50824BF01008DF038 /* WebAuthenticationPanel.nib in Resources */ = {isa = PBXBuildFile; fileRef = 9345D17B0365BF35008635CE /* WebAuthenticationPanel.nib */; };
- 939810B70824BF01008DF038 /* url_icon.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F5B67130023EDF8901C1A525 /* url_icon.tiff */; };
- 939810BC0824BF01008DF038 /* WebBackForwardList.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3944607E020F50ED0ECA1767 /* WebBackForwardList.mm */; };
- 939810BD0824BF01008DF038 /* WebHistoryItem.mm in Sources */ = {isa = PBXBuildFile; fileRef = 39446080020F50ED0ECA1767 /* WebHistoryItem.mm */; };
- 939810BE0824BF01008DF038 /* WebURLsWithTitles.m in Sources */ = {isa = PBXBuildFile; fileRef = F5E0A76F02B8FEE401C1A525 /* WebURLsWithTitles.m */; };
- 939810BF0824BF01008DF038 /* WebCoreStatistics.mm in Sources */ = {isa = PBXBuildFile; fileRef = F59EAE410253C8DE018635CA /* WebCoreStatistics.mm */; };
- 939810C10824BF01008DF038 /* WebIconDatabase.mm in Sources */ = {isa = PBXBuildFile; fileRef = F528E3EA031E91AD01CA2ACA /* WebIconDatabase.mm */; };
- 939810C30824BF01008DF038 /* WebKitLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = 93AEB17E032C1735008635CE /* WebKitLogging.m */; };
- 939810C40824BF01008DF038 /* WebKitNSStringExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7082F570038EADAA00A80180 /* WebKitNSStringExtras.mm */; };
- 939810C50824BF01008DF038 /* WebKitStatistics.m in Sources */ = {isa = PBXBuildFile; fileRef = F53444CF02E87CBA018635CA /* WebKitStatistics.m */; };
- 939810C60824BF01008DF038 /* WebNSControlExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = 9345DDB30365FFD0008635CE /* WebNSControlExtras.m */; };
- 939810C70824BF01008DF038 /* WebNSImageExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = 8398847B03426FB000BC5F5E /* WebNSImageExtras.m */; };
- 939810C80824BF01008DF038 /* WebNSPasteboardExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = ED2B2475033A2DA800C1A526 /* WebNSPasteboardExtras.mm */; };
- 939810C90824BF01008DF038 /* WebNSViewExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = F508946A02B71D59018A9CD4 /* WebNSViewExtras.m */; };
- 939810CA0824BF01008DF038 /* WebNSWindowExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = 9345DDAF0365FB27008635CE /* WebNSWindowExtras.m */; };
- 939810CC0824BF01008DF038 /* WebStringTruncator.mm in Sources */ = {isa = PBXBuildFile; fileRef = F59668C902AD2923018635CA /* WebStringTruncator.mm */; };
- 939810CF0824BF01008DF038 /* WebAuthenticationPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = F8CA15B6029A39D901000122 /* WebAuthenticationPanel.m */; };
- 939810D00824BF01008DF038 /* WebPanelAuthenticationHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 93154EF203A41270008635CE /* WebPanelAuthenticationHandler.m */; };
- 939810D10824BF01008DF038 /* WebNetscapePluginStream.mm in Sources */ = {isa = PBXBuildFile; fileRef = F5A672BA0263866E01000102 /* WebNetscapePluginStream.mm */; };
- 939810D30824BF01008DF038 /* WebBasePluginPackage.mm in Sources */ = {isa = PBXBuildFile; fileRef = 83E4AF47036652150000E506 /* WebBasePluginPackage.mm */; };
- 939810D60824BF01008DF038 /* WebNetscapePluginPackage.mm in Sources */ = {isa = PBXBuildFile; fileRef = F5F7171F0288493C018635CA /* WebNetscapePluginPackage.mm */; };
- 939810DA0824BF01008DF038 /* WebPluginController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8467275D0367158500CA2ACA /* WebPluginController.mm */; };
- 939810DB0824BF01008DF038 /* WebPluginDatabase.mm in Sources */ = {isa = PBXBuildFile; fileRef = F5F717210288493C018635CA /* WebPluginDatabase.mm */; };
- 939810DC0824BF01008DF038 /* WebPluginPackage.mm in Sources */ = {isa = PBXBuildFile; fileRef = 83E4AF4C036659440000E506 /* WebPluginPackage.mm */; };
- 939810DD0824BF01008DF038 /* npapi.mm in Sources */ = {isa = PBXBuildFile; fileRef = F5F717230288493C018635CA /* npapi.mm */; };
- 939810E40824BF01008DF038 /* WebJavaScriptTextInputPanel.m in Sources */ = {isa = PBXBuildFile; fileRef = 9345D4EB0365C5B2008635CE /* WebJavaScriptTextInputPanel.m */; };
- 939810EB0824BF01008DF038 /* WebClipView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 933D659A03413FF2008635CE /* WebClipView.mm */; };
- 939810ED0824BF01008DF038 /* WebDataSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 39446071020F50ED0ECA1767 /* WebDataSource.mm */; };
- 939810EF0824BF01008DF038 /* WebDefaultContextMenuDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5152FADE033FC50400CA2ACD /* WebDefaultContextMenuDelegate.mm */; };
- 939810F00824BF01008DF038 /* WebDefaultPolicyDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5152FAE0033FC50400CA2ACD /* WebDefaultPolicyDelegate.m */; };
- 939810F10824BF01008DF038 /* WebDynamicScrollBarsView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3944606C020F50ED0ECA1767 /* WebDynamicScrollBarsView.mm */; };
- 939810F20824BF01008DF038 /* WebFrame.mm in Sources */ = {isa = PBXBuildFile; fileRef = F5143A370221DCCE01A80181 /* WebFrame.mm */; };
- 939810F30824BF01008DF038 /* WebHTMLRepresentation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35081D9302B6D4D80ACA2ACA /* WebHTMLRepresentation.mm */; };
- 939810F40824BF01008DF038 /* WebHTMLView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 35081D9502B6D4D80ACA2ACA /* WebHTMLView.mm */; };
- 939810F80824BF01008DF038 /* WebPreferences.mm in Sources */ = {isa = PBXBuildFile; fileRef = F5AEBB3D024A527601C1A526 /* WebPreferences.mm */; };
- 939810F90824BF01008DF038 /* WebRenderNode.mm in Sources */ = {isa = PBXBuildFile; fileRef = F5F81C3A02B67C26018635CA /* WebRenderNode.mm */; };
- 939810FC0824BF01008DF038 /* WebFormDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D81DAB303EB0B2D00A80166 /* WebFormDelegate.m */; };
- 939810FD0824BF01008DF038 /* CarbonWindowAdapter.mm in Sources */ = {isa = PBXBuildFile; fileRef = F7EBEE9103F9DBA103CA0DE6 /* CarbonWindowAdapter.mm */; };
- 939810FE0824BF01008DF038 /* CarbonWindowContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = F7EBEE9303F9DBA103CA0DE6 /* CarbonWindowContentView.m */; };
- 939810FF0824BF01008DF038 /* CarbonWindowFrame.m in Sources */ = {isa = PBXBuildFile; fileRef = F7EBEE9503F9DBA103CA0DE6 /* CarbonWindowFrame.m */; };
- 939811000824BF01008DF038 /* HIViewAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = F7EBEE9B03F9DBA103CA0DE6 /* HIViewAdapter.m */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; };
- 939811010824BF01008DF038 /* CarbonUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = F79B974904019934036909D2 /* CarbonUtils.m */; };
- 939811020824BF01008DF038 /* HIWebView.mm in Sources */ = {isa = PBXBuildFile; fileRef = F7EBEEAB03F9DBA103CA0DE6 /* HIWebView.mm */; settings = {COMPILER_FLAGS = "-Wno-deprecated-declarations"; }; };
- 939811030824BF01008DF038 /* WebKitErrors.m in Sources */ = {isa = PBXBuildFile; fileRef = 83730F9803FB1E660004736E /* WebKitErrors.m */; };
- 939811060824BF01008DF038 /* WebFrameView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51A8B52F04282B5900CA2D3A /* WebFrameView.mm */; };
- 939811070824BF01008DF038 /* WebView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51A8B57A042834F700CA2D3A /* WebView.mm */; };
- 939811080824BF01008DF038 /* WebPolicyDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51443F9B0429392B00CA2D3A /* WebPolicyDelegate.mm */; };
- 9398110A0824BF01008DF038 /* WebDefaultUIDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 515E27D00458CA4B00CA2D3A /* WebDefaultUIDelegate.m */; };
- 9398110E0824BF01008DF038 /* WebKitSystemBits.m in Sources */ = {isa = PBXBuildFile; fileRef = BEE52D4B0473032500CA289C /* WebKitSystemBits.m */; };
- 939811120824BF01008DF038 /* WebNSURLExtras.mm in Sources */ = {isa = PBXBuildFile; fileRef = BE6DC39A04C62C4E004D0EF6 /* WebNSURLExtras.mm */; };
- 939811130824BF01008DF038 /* WebHistory.mm in Sources */ = {isa = PBXBuildFile; fileRef = 65DA2608052CC18700A97B31 /* WebHistory.mm */; };
- 939811150824BF01008DF038 /* WebNSDataExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = BECD142A0565830A005BB09C /* WebNSDataExtras.m */; };
- 939811160824BF01008DF038 /* WebNSEventExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = BE887C00056D3A6E009BB3E7 /* WebNSEventExtras.m */; };
- 939811170824BF01008DF038 /* WebKeyGenerator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84723BE4056D719E0044BFEA /* WebKeyGenerator.mm */; };
- 939811190824BF01008DF038 /* WebNSPrintOperationExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = EDD1A5C705C83987008E3150 /* WebNSPrintOperationExtras.m */; };
- 9398111A0824BF01008DF038 /* WebResource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84311A1305EAAAF00088EDA4 /* WebResource.mm */; };
- 9398111B0824BF01008DF038 /* WebDefaultEditingDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = BE95BEE505FD0805006E1513 /* WebDefaultEditingDelegate.m */; };
- 9398111C0824BF01008DF038 /* WebDOMOperations.mm in Sources */ = {isa = PBXBuildFile; fileRef = 846171FA0624AE5B0071A4A3 /* WebDOMOperations.mm */; };
- 9398111D0824BF01008DF038 /* WebArchive.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8373435B0624EE0D00F3B289 /* WebArchive.mm */; };
- 9398111E0824BF01008DF038 /* WebPDFView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51E94C3506C0321200A9B09E /* WebPDFView.mm */; };
- 9398111F0824BF01008DF038 /* WebPDFRepresentation.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51E94C6906C0347500A9B09E /* WebPDFRepresentation.mm */; };
- 939811260824BF01008DF038 /* WebPluginContainerCheck.mm in Sources */ = {isa = PBXBuildFile; fileRef = 65E1150407EFFEBF009B8BF7 /* WebPluginContainerCheck.mm */; };
- 93E2A1A4123B0B3C009FE12A /* WebDashboardRegion.h in Headers */ = {isa = PBXBuildFile; fileRef = 93E2A1A2123B0B3C009FE12A /* WebDashboardRegion.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 93E2A1A5123B0B3C009FE12A /* WebDashboardRegion.mm in Sources */ = {isa = PBXBuildFile; fileRef = 93E2A1A3123B0B3C009FE12A /* WebDashboardRegion.mm */; };
- 93EB178D09F88D460091F8FF /* WebSystemInterface.mm in Sources */ = {isa = PBXBuildFile; fileRef = 93EB178C09F88D460091F8FF /* WebSystemInterface.mm */; };
- 93EB178F09F88D510091F8FF /* WebSystemInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 93EB178E09F88D510091F8FF /* WebSystemInterface.h */; };
- 93FDE9330D79CAF30074F029 /* WebHistoryInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 93FDE9320D79CAF30074F029 /* WebHistoryInternal.h */; };
- A5687BDA135B791A0074CBCB /* WebNodeHighlighter.h in Headers */ = {isa = PBXBuildFile; fileRef = A5687BD8135B791A0074CBCB /* WebNodeHighlighter.h */; };
- A5687BDB135B791A0074CBCB /* WebNodeHighlighter.mm in Sources */ = {isa = PBXBuildFile; fileRef = A5687BD9135B791A0074CBCB /* WebNodeHighlighter.mm */; };
- A57E2F24120749E600048DF3 /* WebQuotaManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A57E2F22120749E600048DF3 /* WebQuotaManager.h */; settings = {ATTRIBUTES = (Private, ); }; };
- A58A5799143E727000125F50 /* WebOpenPanelResultListener.h in Headers */ = {isa = PBXBuildFile; fileRef = A58A5797143E727000125F50 /* WebOpenPanelResultListener.h */; };
- A58A579A143E727000125F50 /* WebOpenPanelResultListener.mm in Sources */ = {isa = PBXBuildFile; fileRef = A58A5798143E727000125F50 /* WebOpenPanelResultListener.mm */; };
- A5DEFC0A11D5331C00885273 /* WebSecurityOrigin.mm in Sources */ = {isa = PBXBuildFile; fileRef = A5DEFC0711D5331C00885273 /* WebSecurityOrigin.mm */; };
- A5DEFC0B11D5331C00885273 /* WebSecurityOriginInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = A5DEFC0811D5331C00885273 /* WebSecurityOriginInternal.h */; };
- A5DEFC0C11D5331C00885273 /* WebSecurityOriginPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = A5DEFC0911D5331C00885273 /* WebSecurityOriginPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- A5DEFC0F11D5343E00885273 /* WebDatabaseQuotaManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A5DEFC0D11D5343E00885273 /* WebDatabaseQuotaManager.h */; settings = {ATTRIBUTES = (Private, ); }; };
- A5DEFC1011D5343E00885273 /* WebDatabaseQuotaManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = A5DEFC0E11D5343E00885273 /* WebDatabaseQuotaManager.mm */; };
- A5DEFC1311D5344B00885273 /* WebApplicationCacheQuotaManager.h in Headers */ = {isa = PBXBuildFile; fileRef = A5DEFC1111D5344B00885273 /* WebApplicationCacheQuotaManager.h */; };
- A5DEFC1411D5344B00885273 /* WebApplicationCacheQuotaManager.mm in Sources */ = {isa = PBXBuildFile; fileRef = A5DEFC1211D5344B00885273 /* WebApplicationCacheQuotaManager.mm */; };
- A70936AF0B5608DC00CDB48E /* WebDragClient.h in Headers */ = {isa = PBXBuildFile; fileRef = A70936AD0B5608DC00CDB48E /* WebDragClient.h */; };
- A70936B00B5608DC00CDB48E /* WebDragClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = A70936AE0B5608DC00CDB48E /* WebDragClient.mm */; };
- A864B3F6123ED9FA00C2A612 /* MailQuirksUserScript.js in Resources */ = {isa = PBXBuildFile; fileRef = A864B3E5123ED83D00C2A612 /* MailQuirksUserScript.js */; };
- AB9FBBBB0F8582B0006ADC43 /* WebDOMOperationsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = AB9FBBBA0F8582B0006ADC43 /* WebDOMOperationsInternal.h */; };
- ABDDF20D08EB0DDC001E1241 /* WebDownloadInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = ABDDF20C08EB0DDC001E1241 /* WebDownloadInternal.h */; };
- B6CE5C24100BC5CE00219936 /* WebApplicationCache.mm in Sources */ = {isa = PBXBuildFile; fileRef = B68049720FFBCEC1009F7F62 /* WebApplicationCache.mm */; };
- B6CE5C25100BC5F500219936 /* WebApplicationCache.h in Headers */ = {isa = PBXBuildFile; fileRef = B68049710FFBCEC1009F7F62 /* WebApplicationCache.h */; settings = {ATTRIBUTES = (Private, ); }; };
- B804176F1217A83100466BAE /* WebInspectorFrontend.h in Headers */ = {isa = PBXBuildFile; fileRef = B804176D1217A83100466BAE /* WebInspectorFrontend.h */; };
- B80417701217A83100466BAE /* WebInspectorFrontend.mm in Sources */ = {isa = PBXBuildFile; fileRef = B804176E1217A83100466BAE /* WebInspectorFrontend.mm */; };
- B82958D3132707D0000D0E79 /* CorrectionPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = B82958D1132707D0000D0E79 /* CorrectionPanel.h */; };
- B82958D4132707D0000D0E79 /* CorrectionPanel.mm in Sources */ = {isa = PBXBuildFile; fileRef = B82958D2132707D0000D0E79 /* CorrectionPanel.mm */; };
- BC26C69E10B743F400B687ED /* WebSerializedJSValue.h in Headers */ = {isa = PBXBuildFile; fileRef = BC26C69D10B743F400B687ED /* WebSerializedJSValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
- BC26C6A510B7447A00B687ED /* WebSerializedJSValue.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC26C6A410B7447A00B687ED /* WebSerializedJSValue.mm */; };
- BC2E464D0FD8A96800A9D9DE /* WebViewData.h in Headers */ = {isa = PBXBuildFile; fileRef = BC2E464B0FD8A96800A9D9DE /* WebViewData.h */; };
- BC2E464E0FD8A96800A9D9DE /* WebViewData.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC2E464C0FD8A96800A9D9DE /* WebViewData.mm */; };
- BC42D324131ED1E00075FA4B /* WebLocalizableStringsInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = BC42D322131ED1E00075FA4B /* WebLocalizableStringsInternal.h */; };
- BC42D34D131ED3880075FA4B /* WebLocalizableStringsInternal.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC42D34C131ED3880075FA4B /* WebLocalizableStringsInternal.mm */; };
- BC542C420FD7766F00D8AB5D /* WebDelegateImplementationCaching.h in Headers */ = {isa = PBXBuildFile; fileRef = BC542C400FD7766F00D8AB5D /* WebDelegateImplementationCaching.h */; };
- BC542C430FD7766F00D8AB5D /* WebDelegateImplementationCaching.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC542C410FD7766F00D8AB5D /* WebDelegateImplementationCaching.mm */; };
- BC7F884B10C8775A00D6133D /* WebGeolocationClient.h in Headers */ = {isa = PBXBuildFile; fileRef = BC7F884910C8775A00D6133D /* WebGeolocationClient.h */; };
- BC7F884C10C8775A00D6133D /* WebGeolocationClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC7F884A10C8775A00D6133D /* WebGeolocationClient.mm */; };
- BC7F889E10C9D30C00D6133D /* WebGeolocationPosition.h in Headers */ = {isa = PBXBuildFile; fileRef = BC7F889C10C9D30C00D6133D /* WebGeolocationPosition.h */; settings = {ATTRIBUTES = (Private, ); }; };
- BC7F889F10C9D30C00D6133D /* WebGeolocationPosition.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC7F889D10C9D30C00D6133D /* WebGeolocationPosition.mm */; };
- BC7F88A510C9D88B00D6133D /* WebGeolocationPositionInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = BC7F88A410C9D88B00D6133D /* WebGeolocationPositionInternal.h */; };
- C0167BF80D7F5DD00028696E /* WebScriptDebugger.h in Headers */ = {isa = PBXBuildFile; fileRef = C0167BF60D7F5DD00028696E /* WebScriptDebugger.h */; };
- C0167BF90D7F5DD00028696E /* WebScriptDebugger.mm in Sources */ = {isa = PBXBuildFile; fileRef = C0167BF70D7F5DD00028696E /* WebScriptDebugger.mm */; };
- C0B1F7E810AC8E3100C925D9 /* WebScriptWorld.h in Headers */ = {isa = PBXBuildFile; fileRef = C0B1F7E510AC8E3100C925D9 /* WebScriptWorld.h */; settings = {ATTRIBUTES = (Private, ); }; };
- C0B1F7E910AC8E3100C925D9 /* WebScriptWorld.mm in Sources */ = {isa = PBXBuildFile; fileRef = C0B1F7E610AC8E3100C925D9 /* WebScriptWorld.mm */; };
- C0B1F7EA10AC8E3100C925D9 /* WebScriptWorldInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = C0B1F7E710AC8E3100C925D9 /* WebScriptWorldInternal.h */; };
- C0B88E8B10A08F3D00FBB3F5 /* WebFrameLoadDelegatePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = C0B88E8A10A08F3D00FBB3F5 /* WebFrameLoadDelegatePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- C0C5B3EE1177A4A0002B0AEF /* WebUserContentURLPattern.h in Headers */ = {isa = PBXBuildFile; fileRef = C0C5B3EC1177A4A0002B0AEF /* WebUserContentURLPattern.h */; settings = {ATTRIBUTES = (Private, ); }; };
- C0C5B3EF1177A4A0002B0AEF /* WebUserContentURLPattern.mm in Sources */ = {isa = PBXBuildFile; fileRef = C0C5B3ED1177A4A0002B0AEF /* WebUserContentURLPattern.mm */; };
- CD8BFCE715531224005AFB25 /* WebKitFullScreenListener.mm in Sources */ = {isa = PBXBuildFile; fileRef = CD8BFCE515531224005AFB25 /* WebKitFullScreenListener.mm */; };
- CD8BFCE815531224005AFB25 /* WebKitFullScreenListener.h in Headers */ = {isa = PBXBuildFile; fileRef = CD8BFCE615531224005AFB25 /* WebKitFullScreenListener.h */; };
- CDA62AE2125F87C2007FD118 /* WebFullScreenController.h in Headers */ = {isa = PBXBuildFile; fileRef = CDA62AE0125F87C2007FD118 /* WebFullScreenController.h */; };
- CDA62AE3125F87C2007FD118 /* WebFullScreenController.mm in Sources */ = {isa = PBXBuildFile; fileRef = CDA62AE1125F87C2007FD118 /* WebFullScreenController.mm */; };
- CEDA12DB152CBE6800D9E08D /* WebAlternativeTextClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = CEDA12D9152CBE6800D9E08D /* WebAlternativeTextClient.mm */; };
- CEDA12DC152CBE6800D9E08D /* WebAlternativeTextClient.h in Headers */ = {isa = PBXBuildFile; fileRef = CEDA12DA152CBE6800D9E08D /* WebAlternativeTextClient.h */; };
- DD7CDEE70A23BA9E00069928 /* WebTypesInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = DD7CDEE60A23BA9E00069928 /* WebTypesInternal.h */; };
- DD89682009AA87240097E7F0 /* WebElementDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = DD89681E09AA87240097E7F0 /* WebElementDictionary.h */; };
- DD89682109AA87240097E7F0 /* WebElementDictionary.mm in Sources */ = {isa = PBXBuildFile; fileRef = DD89681F09AA87240097E7F0 /* WebElementDictionary.mm */; };
- E15663190FB61C1F00C199CA /* WebDownload.mm in Sources */ = {isa = PBXBuildFile; fileRef = E15663180FB61C1F00C199CA /* WebDownload.mm */; };
- E169836211346D1B00894115 /* ProxyRuntimeObject.h in Headers */ = {isa = PBXBuildFile; fileRef = E169836111346D1B00894115 /* ProxyRuntimeObject.h */; };
- E169836C11346D5600894115 /* ProxyRuntimeObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = E169836B11346D5600894115 /* ProxyRuntimeObject.mm */; };
- ED5B9524111B725A00472298 /* WebLocalizableStrings.mm in Sources */ = {isa = PBXBuildFile; fileRef = ED5B9523111B725A00472298 /* WebLocalizableStrings.mm */; };
- ED7F6D8B0980683500C235ED /* WebNSDataExtrasPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = ED7F6D8A0980683500C235ED /* WebNSDataExtrasPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- EDE983800BCDF5FE00FDAE28 /* WebNSArrayExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = EDE9837E0BCDF5FE00FDAE28 /* WebNSArrayExtras.h */; };
- EDE983810BCDF5FE00FDAE28 /* WebNSArrayExtras.m in Sources */ = {isa = PBXBuildFile; fileRef = EDE9837F0BCDF5FE00FDAE28 /* WebNSArrayExtras.m */; };
- F67DD7E6125E4527007BDCB8 /* WebSerializedJSValuePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = F67DD7E5125E4527007BDCB8 /* WebSerializedJSValuePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
- F834AAD70E64B1C700E2737C /* WebTextIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = F834AAD50E64B1C700E2737C /* WebTextIterator.h */; settings = {ATTRIBUTES = (Private, ); }; };
- F834AAD80E64B1C700E2737C /* WebTextIterator.mm in Sources */ = {isa = PBXBuildFile; fileRef = F834AAD60E64B1C700E2737C /* WebTextIterator.mm */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 065AD5A10B0C32C7005A2B1D /* WebContextMenuClient.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebContextMenuClient.h; sourceTree = "<group>"; };
- 065AD5A20B0C32C7005A2B1D /* WebContextMenuClient.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = WebContextMenuClient.mm; sourceTree = "<group>"; };
- 06693DDA0BFBA85200216072 /* WebInspectorClient.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebInspectorClient.h; sourceTree = "<group>"; };
- 06693DDB0BFBA85200216072 /* WebInspectorClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebInspectorClient.mm; sourceTree = "<group>"; };
- 0AB752350FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNetscapeContainerCheckContextInfo.h; sourceTree = "<group>"; };
- 0AB752360FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNetscapeContainerCheckContextInfo.mm; sourceTree = "<group>"; };
- 0ACE917210FE47E30096A45F /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
- 0AEBFF610F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; path = WebNetscapeContainerCheckPrivate.h; sourceTree = "<group>"; };
- 0AEBFF620F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNetscapeContainerCheckPrivate.mm; sourceTree = "<group>"; };
- 0F30985D11ECFE4400F559DF /* WebRenderLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebRenderLayer.h; sourceTree = "<group>"; };
- 0F30985E11ECFE4500F559DF /* WebRenderLayer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebRenderLayer.mm; sourceTree = "<group>"; };
- 14D8252D0AF955090004F057 /* WebChromeClient.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebChromeClient.h; sourceTree = "<group>"; };
- 14D8252E0AF955090004F057 /* WebChromeClient.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = WebChromeClient.mm; sourceTree = "<group>"; };
- 1A20D08A0ED384F20043FA9F /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = /System/Library/Frameworks/QuartzCore.framework; sourceTree = "<absolute>"; };
- 1A2DBE9D0F251E3A0036F8A6 /* ProxyInstance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProxyInstance.h; sourceTree = "<group>"; };
- 1A2DBE9E0F251E3A0036F8A6 /* ProxyInstance.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ProxyInstance.mm; sourceTree = "<group>"; };
- 1A4DF5200EC8C74D006BD4B4 /* WebNetscapePluginView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNetscapePluginView.h; sourceTree = "<group>"; };
- 1A4DF5210EC8C74D006BD4B4 /* WebNetscapePluginView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNetscapePluginView.mm; sourceTree = "<group>"; };
- 1A4DF5E20EC8D104006BD4B4 /* WebBaseNetscapePluginView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebBaseNetscapePluginView.h; sourceTree = "<group>"; };
- 1A4DF5E30EC8D104006BD4B4 /* WebBaseNetscapePluginView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebBaseNetscapePluginView.mm; sourceTree = "<group>"; };
- 1A60518D17502A5D00BC62F5 /* BinaryPropertyList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BinaryPropertyList.cpp; sourceTree = "<group>"; };
- 1A60518E17502A5D00BC62F5 /* BinaryPropertyList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BinaryPropertyList.h; sourceTree = "<group>"; };
- 1A60518F17502A5D00BC62F5 /* HistoryPropertyList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HistoryPropertyList.cpp; sourceTree = "<group>"; };
- 1A60519017502A5D00BC62F5 /* HistoryPropertyList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryPropertyList.h; sourceTree = "<group>"; };
- 1A74A28C0F4F75400082E228 /* WebTextInputWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebTextInputWindowController.h; sourceTree = "<group>"; };
- 1A74A28D0F4F75400082E228 /* WebTextInputWindowController.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; fileEncoding = 4; path = WebTextInputWindowController.m; sourceTree = "<group>"; };
- 1A77B02C0EE7730500C8A1F9 /* WebPluginRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginRequest.h; sourceTree = "<group>"; };
- 1A77B02D0EE7730500C8A1F9 /* WebPluginRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebPluginRequest.m; sourceTree = "<group>"; };
- 1A8DED4E0EE88B8A00F25022 /* HostedNetscapePluginStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HostedNetscapePluginStream.h; sourceTree = "<group>"; };
- 1A8DED4F0EE88B8A00F25022 /* HostedNetscapePluginStream.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = HostedNetscapePluginStream.mm; sourceTree = "<group>"; };
- 1AA879B411CBE9BF003C664F /* WebPlatformStrategies.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPlatformStrategies.h; sourceTree = "<group>"; };
- 1AA879B511CBE9BF003C664F /* WebPlatformStrategies.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPlatformStrategies.mm; sourceTree = "<group>"; };
- 1AAF588A0EDCCEA3008D883D /* WebKitPluginAgent.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = WebKitPluginAgent.defs; sourceTree = "<group>"; };
- 1AAF588B0EDCCEA3008D883D /* WebKitPluginAgentReply.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = WebKitPluginAgentReply.defs; sourceTree = "<group>"; };
- 1AAF588C0EDCCEA3008D883D /* WebKitPluginClient.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = WebKitPluginClient.defs; sourceTree = "<group>"; };
- 1AAF588D0EDCCEA3008D883D /* WebKitPluginHost.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = WebKitPluginHost.defs; sourceTree = "<group>"; };
- 1AAF588E0EDCCEA3008D883D /* WebKitPluginHostTypes.defs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.mig; path = WebKitPluginHostTypes.defs; sourceTree = "<group>"; };
- 1AAF5CE40EDDE1FE008D883D /* NetscapePluginHostManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetscapePluginHostManager.h; sourceTree = "<group>"; };
- 1AAF5CE50EDDE1FE008D883D /* NetscapePluginHostManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetscapePluginHostManager.mm; sourceTree = "<group>"; };
- 1AAF5CE60EDDE1FE008D883D /* NetscapePluginHostProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetscapePluginHostProxy.h; sourceTree = "<group>"; };
- 1AAF5CE70EDDE1FE008D883D /* NetscapePluginHostProxy.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetscapePluginHostProxy.mm; sourceTree = "<group>"; };
- 1AAF5CE80EDDE1FE008D883D /* NetscapePluginInstanceProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetscapePluginInstanceProxy.h; sourceTree = "<group>"; };
- 1AAF5CE90EDDE1FE008D883D /* NetscapePluginInstanceProxy.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NetscapePluginInstanceProxy.mm; sourceTree = "<group>"; };
- 1AAF5D080EDDE71D008D883D /* WebKitPluginHostTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitPluginHostTypes.h; sourceTree = "<group>"; };
- 1AAF5FBD0EDE3A92008D883D /* WebHostedNetscapePluginView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebHostedNetscapePluginView.h; sourceTree = "<group>"; };
- 1AAF5FBE0EDE3A92008D883D /* WebHostedNetscapePluginView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebHostedNetscapePluginView.mm; sourceTree = "<group>"; };
- 1AEA66D20DC6B1FF003D12BF /* WebNetscapePluginEventHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNetscapePluginEventHandler.h; sourceTree = "<group>"; };
- 1AEA66D30DC6B1FF003D12BF /* WebNetscapePluginEventHandler.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNetscapePluginEventHandler.mm; sourceTree = "<group>"; };
- 1AEA66D60DC6B209003D12BF /* WebNetscapePluginEventHandlerCarbon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNetscapePluginEventHandlerCarbon.h; sourceTree = "<group>"; };
- 1AEA66D70DC6B209003D12BF /* WebNetscapePluginEventHandlerCarbon.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNetscapePluginEventHandlerCarbon.mm; sourceTree = "<group>"; };
- 1AEA6A4E0DC8CE2F003D12BF /* WebNetscapePluginEventHandlerCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNetscapePluginEventHandlerCocoa.h; sourceTree = "<group>"; };
- 1AEA6A4F0DC8CE2F003D12BF /* WebNetscapePluginEventHandlerCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNetscapePluginEventHandlerCocoa.mm; sourceTree = "<group>"; };
- 1C0D40850AC1C8F40009C113 /* WebKitVersionChecks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitVersionChecks.h; sourceTree = "<group>"; };
- 1C0D40860AC1C8F40009C113 /* WebKitVersionChecks.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebKitVersionChecks.m; sourceTree = "<group>"; };
- 1C68F663095B5FC100C2984E /* WebNodeHighlight.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNodeHighlight.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; wrapsLines = 0; };
- 1C68F664095B5FC100C2984E /* WebNodeHighlight.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; indentWidth = 4; path = WebNodeHighlight.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 1C68F665095B5FC100C2984E /* WebNodeHighlightView.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNodeHighlightView.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 1C68F666095B5FC100C2984E /* WebNodeHighlightView.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; indentWidth = 4; path = WebNodeHighlightView.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 1C6CB03E0AA6391D00D23BFD /* MigrateHeaders.make */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = MigrateHeaders.make; path = mac/MigrateHeaders.make; sourceTree = "<group>"; };
- 1C7B0C650EB2464D00A28502 /* WebInspectorClientCF.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebInspectorClientCF.cpp; path = cf/WebCoreSupport/WebInspectorClientCF.cpp; sourceTree = SOURCE_ROOT; };
- 1C8CB0790AE9830C00B1F6E9 /* WebEditingDelegatePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebEditingDelegatePrivate.h; sourceTree = "<group>"; };
- 1C904FD20BA9DD0F0081E9D0 /* WebKit.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = WebKit.xcconfig; sourceTree = "<group>"; };
- 1C904FD30BA9DD0F0081E9D0 /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = "<group>"; };
- 1C904FD40BA9DD0F0081E9D0 /* DebugRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = "<group>"; };
- 1C904FD50BA9DD0F0081E9D0 /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; };
- 1C9F5EFB1651CDF700C480F8 /* Dock.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = Dock.pdf; sourceTree = "<group>"; };
- 1CCFFD120B1F81F2002EE926 /* OldWebAssertions.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = OldWebAssertions.c; sourceTree = "<group>"; };
- 224100F2091818D900D2D266 /* WebPluginsPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginsPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 224100F80918190100D2D266 /* WebPluginsPrivate.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebPluginsPrivate.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 225F881409F97E8A00423A40 /* WebPluginPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginPrivate.h; sourceTree = "<group>"; };
- 22F219CB08D236730030E078 /* WebBackForwardListPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebBackForwardListPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 2568C72C0174912D0ECA149E /* WebKit.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebKit.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 29AEF95D134C755400FE5096 /* OutlookQuirksUserScript.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = OutlookQuirksUserScript.js; sourceTree = "<group>"; };
- 2D36FD5E03F78F9E00A80166 /* WebFormDelegatePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebFormDelegatePrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 2D81DAB203EB0B2D00A80166 /* WebFormDelegate.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebFormDelegate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 2D81DAB303EB0B2D00A80166 /* WebFormDelegate.m */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebFormDelegate.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 312E2FE314E48182007CCA18 /* WebNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNotification.h; sourceTree = "<group>"; };
- 312E2FE414E48182007CCA18 /* WebNotification.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNotification.mm; sourceTree = "<group>"; };
- 312E2FE814E48215007CCA18 /* WebNotificationInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNotificationInternal.h; sourceTree = "<group>"; };
- 31C11A6C1476552E0049A4CC /* WebNotificationClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNotificationClient.h; sourceTree = "<group>"; };
- 31C11A6D1476552E0049A4CC /* WebNotificationClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNotificationClient.mm; sourceTree = "<group>"; };
- 35081D9202B6D4D80ACA2ACA /* WebHTMLRepresentation.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 4; indentWidth = 4; path = WebHTMLRepresentation.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 35081D9302B6D4D80ACA2ACA /* WebHTMLRepresentation.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebHTMLRepresentation.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 35081D9402B6D4D80ACA2ACA /* WebHTMLView.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebHTMLView.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 35081D9502B6D4D80ACA2ACA /* WebHTMLView.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebHTMLView.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 35081D9602B6D4D80ACA2ACA /* WebHTMLViewPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebHTMLViewPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 35081DAE02B6D4F50ACA2ACA /* WebDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDocument.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 37B6FB4C1063530C000FDB3B /* WebPDFDocumentExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPDFDocumentExtras.h; sourceTree = "<group>"; };
- 37B6FB4D1063530C000FDB3B /* WebPDFDocumentExtras.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPDFDocumentExtras.mm; sourceTree = "<group>"; };
- 37D1DCA61065928C0068F7EF /* WebJSPDFDoc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebJSPDFDoc.h; sourceTree = "<group>"; };
- 37D1DCA71065928C0068F7EF /* WebJSPDFDoc.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = WebJSPDFDoc.mm; sourceTree = "<group>"; };
- 3944606B020F50ED0ECA1767 /* WebDynamicScrollBarsView.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDynamicScrollBarsView.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 3944606C020F50ED0ECA1767 /* WebDynamicScrollBarsView.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; indentWidth = 4; path = WebDynamicScrollBarsView.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 3944606E020F50ED0ECA1767 /* WebPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPreferences.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 39446070020F50ED0ECA1767 /* WebDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDataSource.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 39446071020F50ED0ECA1767 /* WebDataSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDataSource.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 39446072020F50ED0ECA1767 /* WebDataSourcePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDataSourcePrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 39446074020F50ED0ECA1767 /* WebFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebFrame.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 3944607D020F50ED0ECA1767 /* WebBackForwardList.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebBackForwardList.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 3944607E020F50ED0ECA1767 /* WebBackForwardList.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebBackForwardList.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 3944607F020F50ED0ECA1767 /* WebHistoryItem.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebHistoryItem.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 39446080020F50ED0ECA1767 /* WebHistoryItem.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebHistoryItem.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 3AB02AF512C1319B00FBB694 /* WebStorageManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebStorageManager.mm; sourceTree = "<group>"; };
- 3AB02AFF12C132B200FBB694 /* WebStorageManagerPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebStorageManagerPrivate.h; sourceTree = "<group>"; };
- 3ABB3C781309C3B500E93D94 /* WebStorageTrackerClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebStorageTrackerClient.h; sourceTree = "<group>"; };
- 3ABB3C791309C3B500E93D94 /* WebStorageTrackerClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebStorageTrackerClient.mm; sourceTree = "<group>"; };
- 3AE15D4F12DBDED4009323C8 /* WebStorageManagerInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebStorageManagerInternal.h; sourceTree = "<group>"; };
- 449098B90F8F82DF0076A327 /* FeatureDefines.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = FeatureDefines.xcconfig; sourceTree = "<group>"; };
- 44BB8B131241A022001E3A22 /* WebArchiveInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebArchiveInternal.h; sourceTree = "<group>"; };
- 4BF99F8E0AE050BC00815C2B /* WebEditorClient.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebEditorClient.h; sourceTree = "<group>"; };
- 4BF99F8F0AE050BC00815C2B /* WebEditorClient.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = WebEditorClient.mm; sourceTree = "<group>"; };
- 511F3FD10CECC88F00852565 /* WebDatabaseManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDatabaseManager.mm; sourceTree = "<group>"; };
- 511F3FD20CECC88F00852565 /* WebDatabaseManagerPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDatabaseManagerPrivate.h; sourceTree = "<group>"; };
- 511F3FD30CECC88F00852565 /* WebDatabaseManagerClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDatabaseManagerClient.h; sourceTree = "<group>"; };
- 511F3FD40CECC88F00852565 /* WebDatabaseManagerClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDatabaseManagerClient.mm; sourceTree = "<group>"; };
- 513D422E034CF55A00CA2ACD /* WebResourceLoadDelegate.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebResourceLoadDelegate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51443F9A0429392B00CA2D3A /* WebPolicyDelegate.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPolicyDelegate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51443F9B0429392B00CA2D3A /* WebPolicyDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPolicyDelegate.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51443F9C0429392B00CA2D3A /* WebPolicyDelegatePrivate.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPolicyDelegatePrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51494CD40C7EBDE0004178C5 /* WebIconDatabaseClient.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebIconDatabaseClient.h; sourceTree = "<group>"; };
- 51494CD50C7EBDE0004178C5 /* WebIconDatabaseClient.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = WebIconDatabaseClient.mm; sourceTree = "<group>"; };
- 51494D220C7EC1B6004178C5 /* WebNSNotificationCenterExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNSNotificationCenterExtras.h; sourceTree = "<group>"; };
- 51494D230C7EC1B7004178C5 /* WebNSNotificationCenterExtras.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebNSNotificationCenterExtras.m; sourceTree = "<group>"; };
- 5152FADD033FC50400CA2ACD /* WebDefaultContextMenuDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDefaultContextMenuDelegate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 5152FADE033FC50400CA2ACD /* WebDefaultContextMenuDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDefaultContextMenuDelegate.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 5152FADF033FC50400CA2ACD /* WebDefaultPolicyDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDefaultPolicyDelegate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 5152FAE0033FC50400CA2ACD /* WebDefaultPolicyDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebDefaultPolicyDelegate.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 5152FAE5033FC52200CA2ACD /* WebFrameLoadDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameLoadDelegate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 5158F6EE106D862A00AF457C /* WebHistoryDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebHistoryDelegate.h; sourceTree = "<group>"; };
- 515E27CC0458C86500CA2D3A /* WebUIDelegate.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebUIDelegate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 515E27CF0458CA4B00CA2D3A /* WebDefaultUIDelegate.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDefaultUIDelegate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 515E27D00458CA4B00CA2D3A /* WebDefaultUIDelegate.m */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebDefaultUIDelegate.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 516F296F03A6C45A00CA2D3A /* WebHistoryItemInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebHistoryItemInternal.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 5185F62510712B80007AA393 /* WebNavigationData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNavigationData.h; sourceTree = "<group>"; };
- 5185F62710712B97007AA393 /* WebNavigationData.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNavigationData.mm; sourceTree = "<group>"; };
- 51A8B52E04282B5900CA2D3A /* WebFrameView.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameView.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51A8B52F04282B5900CA2D3A /* WebFrameView.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebFrameView.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51A8B53204282BD200CA2D3A /* WebFrameViewInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameViewInternal.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51A8B579042834F700CA2D3A /* WebView.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebView.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51A8B57A042834F700CA2D3A /* WebView.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebView.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51A8B57D0428353A00CA2D3A /* WebViewPrivate.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebViewPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51B2A0FF0ADB15D0002A9BEE /* WebIconDatabaseDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabaseDelegate.h; sourceTree = "<group>"; };
- 51C714FA0B20F79F00E5E33C /* WebBackForwardListInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebBackForwardListInternal.h; sourceTree = "<group>"; };
- 51CBFCAC0D10E6C5002DBF51 /* WebCachedFramePlatformData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCachedFramePlatformData.h; sourceTree = "<group>"; };
- 51E94C3406C0321200A9B09E /* WebPDFView.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPDFView.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51E94C3506C0321200A9B09E /* WebPDFView.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPDFView.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51E94C6806C0347500A9B09E /* WebPDFRepresentation.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPDFRepresentation.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51E94C6906C0347500A9B09E /* WebPDFRepresentation.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPDFRepresentation.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 51FDC4D20B0AF5C100F84EB3 /* WebHistoryItemPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebHistoryItemPrivate.h; sourceTree = "<group>"; };
- 5241ADF30B1BC48A004012BD /* WebCache.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebCache.h; sourceTree = "<group>"; };
- 5241ADF40B1BC48A004012BD /* WebCache.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = WebCache.mm; sourceTree = "<group>"; };
- 598AD9191201CEC900ABAE4E /* WebDeviceOrientationClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDeviceOrientationClient.h; sourceTree = "<group>"; };
- 598AD91D1201CECF00ABAE4E /* WebDeviceOrientationClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDeviceOrientationClient.mm; sourceTree = "<group>"; };
- 598AD91F1201CF0700ABAE4E /* WebDeviceOrientation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDeviceOrientation.h; sourceTree = "<group>"; };
- 598AD9211201CF1000ABAE4E /* WebDeviceOrientation.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDeviceOrientation.mm; sourceTree = "<group>"; };
- 598AD9231201CF1900ABAE4E /* WebDeviceOrientationInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDeviceOrientationInternal.h; sourceTree = "<group>"; };
- 598AD9251201CF2500ABAE4E /* WebDeviceOrientationProviderMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDeviceOrientationProviderMock.h; sourceTree = "<group>"; };
- 598AD9271201CF3200ABAE4E /* WebDeviceOrientationProviderMock.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDeviceOrientationProviderMock.mm; sourceTree = "<group>"; };
- 598AD9291201CF3B00ABAE4E /* WebDeviceOrientationProviderMockInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDeviceOrientationProviderMockInternal.h; sourceTree = "<group>"; };
- 598ADA451202275000ABAE4E /* WebDeviceOrientationProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDeviceOrientationProvider.h; sourceTree = "<group>"; };
- 5D4DE0981479CBDF00EA3DF4 /* DiskArbitration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiskArbitration.framework; path = /System/Library/Frameworks/DiskArbitration.framework; sourceTree = "<absolute>"; };
- 5D7BF8120C2A1D90008CE06D /* WebInspector.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebInspector.h; sourceTree = "<group>"; };
- 5D7BF8130C2A1D90008CE06D /* WebInspector.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = WebInspector.mm; sourceTree = "<group>"; };
- 5DE83A750D0F7F9400CAD12A /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/WebJavaScriptTextInputPanel.nib; sourceTree = SOURCE_ROOT; };
- 5DE92FEE0BD7017E0059A5FD /* WebAssertions.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebAssertions.h; sourceTree = "<group>"; };
- 65488D9F084FBCCB00831AD0 /* WebNSDictionaryExtras.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSDictionaryExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 65488DA0084FBCCB00831AD0 /* WebNSDictionaryExtras.m */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebNSDictionaryExtras.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 656D333D0AF21AE900212169 /* WebResourceLoadDelegatePrivate.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebResourceLoadDelegatePrivate.h; sourceTree = "<group>"; };
- 6578F5DE045F817400000128 /* WebDownload.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDownload.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 65836F5E07EE425900682F95 /* WebPluginContainerPrivate.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginContainerPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 658A40950A14853B005E6987 /* WebDataSourceInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebDataSourceInternal.h; sourceTree = "<group>"; };
- 65A7D44A0568AB2600E70EF6 /* WebUIDelegatePrivate.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebUIDelegatePrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 65DA2608052CC18700A97B31 /* WebHistory.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebHistory.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 65E0F88208500917007E5CB9 /* WebNSURLRequestExtras.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSURLRequestExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 65E0F88308500917007E5CB9 /* WebNSURLRequestExtras.m */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebNSURLRequestExtras.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 65E0F9E408500F23007E5CB9 /* WebNSUserDefaultsExtras.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSUserDefaultsExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 65E0F9E508500F23007E5CB9 /* WebNSUserDefaultsExtras.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNSUserDefaultsExtras.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 65E1150307EFFEBF009B8BF7 /* WebPluginContainerCheck.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginContainerCheck.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 65E1150407EFFEBF009B8BF7 /* WebPluginContainerCheck.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPluginContainerCheck.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 65EEDE55084FFC9E0002DB25 /* WebNSFileManagerExtras.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSFileManagerExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 65EEDE56084FFC9E0002DB25 /* WebNSFileManagerExtras.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNSFileManagerExtras.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 65FFB7FA0AD0B7D30048CD05 /* WebDocumentLoaderMac.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebDocumentLoaderMac.h; sourceTree = "<group>"; };
- 65FFB7FB0AD0B7D30048CD05 /* WebDocumentLoaderMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDocumentLoaderMac.mm; sourceTree = "<group>"; };
- 7082F56F038EADAA00A80180 /* WebKitNSStringExtras.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebKitNSStringExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 7082F570038EADAA00A80180 /* WebKitNSStringExtras.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 30; indentWidth = 4; path = WebKitNSStringExtras.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 7A8FF0D01075024A00A80A08 /* WebInspectorPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebInspectorPrivate.h; sourceTree = "<group>"; };
- 7C01CB81173435C900C5D807 /* PopupMenuMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PopupMenuMac.h; sourceTree = "<group>"; };
- 7C01CB82173435C900C5D807 /* PopupMenuMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PopupMenuMac.mm; sourceTree = "<group>"; };
- 7C01CB83173435C900C5D807 /* SearchPopupMenuMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchPopupMenuMac.h; sourceTree = "<group>"; };
- 7C01CB84173435C900C5D807 /* SearchPopupMenuMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SearchPopupMenuMac.mm; sourceTree = "<group>"; };
- 7E6FEF0508985A7200C44C3F /* WebScriptDebugDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebScriptDebugDelegate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 7E6FEF0608985A7200C44C3F /* WebScriptDebugDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebScriptDebugDelegate.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 830E81E005853AC000AD0891 /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = /System/Library/Frameworks/Security.framework; sourceTree = "<absolute>"; };
- 833987810543012D00EE146E /* WebDocumentPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDocumentPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 83730F9803FB1E660004736E /* WebKitErrors.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebKitErrors.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 8373435A0624EE0D00F3B289 /* WebArchive.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebArchive.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 8373435B0624EE0D00F3B289 /* WebArchive.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebArchive.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 8398847A03426FB000BC5F5E /* WebNSImageExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSImageExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 8398847B03426FB000BC5F5E /* WebNSImageExtras.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebNSImageExtras.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 83E4AF46036652150000E506 /* WebBasePluginPackage.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebBasePluginPackage.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 83E4AF47036652150000E506 /* WebBasePluginPackage.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; indentWidth = 4; path = WebBasePluginPackage.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 83E4AF4B036659440000E506 /* WebPluginPackage.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginPackage.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 83E4AF4C036659440000E506 /* WebPluginPackage.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPluginPackage.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 83E679780726D7CF006C7A36 /* WebPluginViewFactoryPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginViewFactoryPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 84311A1205EAAAF00088EDA4 /* WebResource.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebResource.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 84311A1305EAAAF00088EDA4 /* WebResource.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebResource.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 84311AF105EAB12B0088EDA4 /* WebResourcePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebResourcePrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 846171F90624AE5B0071A4A3 /* WebDOMOperations.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDOMOperations.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 846171FA0624AE5B0071A4A3 /* WebDOMOperations.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDOMOperations.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 8467275C0367158500CA2ACA /* WebPluginController.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginController.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 8467275D0367158500CA2ACA /* WebPluginController.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPluginController.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 84723BE3056D719E0044BFEA /* WebKeyGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebKeyGenerator.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 84723BE4056D719E0044BFEA /* WebKeyGenerator.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebKeyGenerator.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 848DFF840365FE6A00CA2ACA /* WebPlugin.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPlugin.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 848DFF850365FE6A00CA2ACA /* WebPluginContainer.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginContainer.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 848DFF860365FE6A00CA2ACA /* WebPluginViewFactory.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginViewFactory.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 84AE905F062DE6A80075BBF9 /* WebDOMOperationsPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDOMOperationsPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 84CA5F7E042685E800CA2ACA /* WebKitErrorsPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebKitErrorsPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 9304B2FF0B02341500F7850D /* WebIconDatabaseInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabaseInternal.h; sourceTree = "<group>"; };
- 930D02BB06275F640076701E /* WebViewInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebViewInternal.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 930D02BD06275F710076701E /* WebFrameInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameInternal.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 93154EF103A41270008635CE /* WebPanelAuthenticationHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPanelAuthenticationHandler.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 93154EF203A41270008635CE /* WebPanelAuthenticationHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebPanelAuthenticationHandler.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 931633EA0AEDFF930062B92D /* WebFrameLoaderClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameLoaderClient.h; sourceTree = "<group>"; };
- 931633EE0AEDFFAE0062B92D /* WebFrameLoaderClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebFrameLoaderClient.mm; sourceTree = "<group>"; };
- 93185DB506679F42005D5E7E /* WebHTMLViewInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebHTMLViewInternal.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 933D659903413FF2008635CE /* WebClipView.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebClipView.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 933D659A03413FF2008635CE /* WebClipView.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; indentWidth = 4; path = WebClipView.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 9345D17C0365BF35008635CE /* English */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = wrapper.nib; name = English; path = Panels/English.lproj/WebAuthenticationPanel.nib; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 9345D4EA0365C5B2008635CE /* WebJavaScriptTextInputPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebJavaScriptTextInputPanel.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 9345D4EB0365C5B2008635CE /* WebJavaScriptTextInputPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebJavaScriptTextInputPanel.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 9345DDAE0365FB27008635CE /* WebNSWindowExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSWindowExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 9345DDAF0365FB27008635CE /* WebNSWindowExtras.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebNSWindowExtras.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 9345DDB20365FFD0008635CE /* WebNSControlExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSControlExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 9345DDB30365FFD0008635CE /* WebNSControlExtras.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebNSControlExtras.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 934C11660D8710BB00C32ABD /* WebDynamicScrollBarsViewInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDynamicScrollBarsViewInternal.h; sourceTree = "<group>"; };
- 934C4A900F01406C009372C0 /* WebNSObjectExtras.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNSObjectExtras.mm; sourceTree = "<group>"; };
- 934C4A9F0F0141F7009372C0 /* WebResourceInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebResourceInternal.h; sourceTree = "<group>"; };
- 936A2DE70FD2D08000D312DB /* WebTextCompletionController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebTextCompletionController.mm; sourceTree = "<group>"; };
- 936A2DE90FD2D08400D312DB /* WebTextCompletionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebTextCompletionController.h; sourceTree = "<group>"; };
- 9391F273121B38BD00EBF7E8 /* WebFrameNetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameNetworkingContext.h; sourceTree = "<group>"; };
- 9391F274121B38BD00EBF7E8 /* WebFrameNetworkingContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebFrameNetworkingContext.mm; sourceTree = "<group>"; };
- 939811320824BF01008DF038 /* Info.plist */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = mac/Info.plist; sourceTree = SOURCE_ROOT; tabWidth = 8; usesTabs = 1; };
- 939811330824BF01008DF038 /* WebKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WebKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- 93AEB17D032C1735008635CE /* WebKitLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebKitLogging.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 93AEB17E032C1735008635CE /* WebKitLogging.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebKitLogging.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 93C6F14507920B93002449CD /* WebFrameViewPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameViewPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 93D1FE13067EB10B009CE68A /* WebNSObjectExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSObjectExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 93D623DD051E791F002F47DD /* libicucore.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicucore.dylib; path = /usr/lib/libicucore.dylib; sourceTree = "<absolute>"; };
- 93E2A1A2123B0B3C009FE12A /* WebDashboardRegion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDashboardRegion.h; sourceTree = "<group>"; };
- 93E2A1A3123B0B3C009FE12A /* WebDashboardRegion.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDashboardRegion.mm; sourceTree = "<group>"; };
- 93EB178C09F88D460091F8FF /* WebSystemInterface.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebSystemInterface.mm; sourceTree = "<group>"; };
- 93EB178E09F88D510091F8FF /* WebSystemInterface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSystemInterface.h; sourceTree = "<group>"; };
- 93FDE9320D79CAF30074F029 /* WebHistoryInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebHistoryInternal.h; sourceTree = "<group>"; };
- 9CAE9D070252A4130ECA16EA /* WebPreferencesPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPreferencesPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- 9CF0E249021361B00ECA16EA /* WebFramePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebFramePrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- A5687BD8135B791A0074CBCB /* WebNodeHighlighter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNodeHighlighter.h; sourceTree = "<group>"; };
- A5687BD9135B791A0074CBCB /* WebNodeHighlighter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNodeHighlighter.mm; sourceTree = "<group>"; };
- A57E2F22120749E600048DF3 /* WebQuotaManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebQuotaManager.h; sourceTree = "<group>"; };
- A58A5797143E727000125F50 /* WebOpenPanelResultListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebOpenPanelResultListener.h; sourceTree = "<group>"; };
- A58A5798143E727000125F50 /* WebOpenPanelResultListener.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebOpenPanelResultListener.mm; sourceTree = "<group>"; };
- A5DEFC0711D5331C00885273 /* WebSecurityOrigin.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebSecurityOrigin.mm; sourceTree = "<group>"; };
- A5DEFC0811D5331C00885273 /* WebSecurityOriginInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSecurityOriginInternal.h; sourceTree = "<group>"; };
- A5DEFC0911D5331C00885273 /* WebSecurityOriginPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSecurityOriginPrivate.h; sourceTree = "<group>"; };
- A5DEFC0D11D5343E00885273 /* WebDatabaseQuotaManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDatabaseQuotaManager.h; sourceTree = "<group>"; };
- A5DEFC0E11D5343E00885273 /* WebDatabaseQuotaManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDatabaseQuotaManager.mm; sourceTree = "<group>"; };
- A5DEFC1111D5344B00885273 /* WebApplicationCacheQuotaManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebApplicationCacheQuotaManager.h; sourceTree = "<group>"; };
- A5DEFC1211D5344B00885273 /* WebApplicationCacheQuotaManager.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebApplicationCacheQuotaManager.mm; sourceTree = "<group>"; };
- A70936AD0B5608DC00CDB48E /* WebDragClient.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = WebDragClient.h; sourceTree = "<group>"; };
- A70936AE0B5608DC00CDB48E /* WebDragClient.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDragClient.mm; sourceTree = "<group>"; };
- A864B3E5123ED83D00C2A612 /* MailQuirksUserScript.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = MailQuirksUserScript.js; sourceTree = "<group>"; };
- AB9FBBBA0F8582B0006ADC43 /* WebDOMOperationsInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDOMOperationsInternal.h; sourceTree = "<group>"; };
- ABDDF20C08EB0DDC001E1241 /* WebDownloadInternal.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDownloadInternal.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- B68049710FFBCEC1009F7F62 /* WebApplicationCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebApplicationCache.h; sourceTree = "<group>"; };
- B68049720FFBCEC1009F7F62 /* WebApplicationCache.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebApplicationCache.mm; sourceTree = "<group>"; };
- B804176D1217A83100466BAE /* WebInspectorFrontend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebInspectorFrontend.h; sourceTree = "<group>"; };
- B804176E1217A83100466BAE /* WebInspectorFrontend.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebInspectorFrontend.mm; sourceTree = "<group>"; };
- B82958D1132707D0000D0E79 /* CorrectionPanel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CorrectionPanel.h; sourceTree = "<group>"; };
- B82958D2132707D0000D0E79 /* CorrectionPanel.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CorrectionPanel.mm; sourceTree = "<group>"; };
- BC26C69D10B743F400B687ED /* WebSerializedJSValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSerializedJSValue.h; sourceTree = "<group>"; };
- BC26C6A410B7447A00B687ED /* WebSerializedJSValue.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebSerializedJSValue.mm; sourceTree = "<group>"; };
- BC2E464B0FD8A96800A9D9DE /* WebViewData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebViewData.h; sourceTree = "<group>"; };
- BC2E464C0FD8A96800A9D9DE /* WebViewData.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebViewData.mm; sourceTree = "<group>"; };
- BC42D322131ED1E00075FA4B /* WebLocalizableStringsInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebLocalizableStringsInternal.h; sourceTree = "<group>"; };
- BC42D34C131ED3880075FA4B /* WebLocalizableStringsInternal.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebLocalizableStringsInternal.mm; sourceTree = "<group>"; };
- BC542C400FD7766F00D8AB5D /* WebDelegateImplementationCaching.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDelegateImplementationCaching.h; sourceTree = "<group>"; };
- BC542C410FD7766F00D8AB5D /* WebDelegateImplementationCaching.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDelegateImplementationCaching.mm; sourceTree = "<group>"; };
- BC7F884910C8775A00D6133D /* WebGeolocationClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGeolocationClient.h; sourceTree = "<group>"; };
- BC7F884A10C8775A00D6133D /* WebGeolocationClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebGeolocationClient.mm; sourceTree = "<group>"; };
- BC7F889C10C9D30C00D6133D /* WebGeolocationPosition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGeolocationPosition.h; sourceTree = "<group>"; };
- BC7F889D10C9D30C00D6133D /* WebGeolocationPosition.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebGeolocationPosition.mm; sourceTree = "<group>"; };
- BC7F88A410C9D88B00D6133D /* WebGeolocationPositionInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGeolocationPositionInternal.h; sourceTree = "<group>"; };
- BE4FBECB0653DF47005EDE15 /* WebEditingDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebEditingDelegate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- BE6DC39904C62C4E004D0EF6 /* WebNSURLExtras.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSURLExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- BE6DC39A04C62C4E004D0EF6 /* WebNSURLExtras.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNSURLExtras.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- BE887BFF056D3A6E009BB3E7 /* WebNSEventExtras.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSEventExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- BE887C00056D3A6E009BB3E7 /* WebNSEventExtras.m */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebNSEventExtras.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- BE95BEE505FD0805006E1513 /* WebDefaultEditingDelegate.m */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebDefaultEditingDelegate.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- BE95BEE605FD0805006E1513 /* WebDefaultEditingDelegate.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDefaultEditingDelegate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- BECD14290565830A005BB09C /* WebNSDataExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSDataExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- BECD142A0565830A005BB09C /* WebNSDataExtras.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebNSDataExtras.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- BEE18F990472B73200CA289C /* WebLocalizableStrings.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebLocalizableStrings.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- BEE52D4A0473032500CA289C /* WebKitSystemBits.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebKitSystemBits.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- BEE52D4B0473032500CA289C /* WebKitSystemBits.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebKitSystemBits.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- C0167BF60D7F5DD00028696E /* WebScriptDebugger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebScriptDebugger.h; sourceTree = "<group>"; };
- C0167BF70D7F5DD00028696E /* WebScriptDebugger.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebScriptDebugger.mm; sourceTree = "<group>"; };
- C0B1F7E510AC8E3100C925D9 /* WebScriptWorld.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebScriptWorld.h; sourceTree = "<group>"; };
- C0B1F7E610AC8E3100C925D9 /* WebScriptWorld.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebScriptWorld.mm; sourceTree = "<group>"; };
- C0B1F7E710AC8E3100C925D9 /* WebScriptWorldInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebScriptWorldInternal.h; sourceTree = "<group>"; };
- C0B88E8A10A08F3D00FBB3F5 /* WebFrameLoadDelegatePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameLoadDelegatePrivate.h; sourceTree = "<group>"; };
- C0C5B3EC1177A4A0002B0AEF /* WebUserContentURLPattern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebUserContentURLPattern.h; sourceTree = "<group>"; };
- C0C5B3ED1177A4A0002B0AEF /* WebUserContentURLPattern.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebUserContentURLPattern.mm; sourceTree = "<group>"; };
- CD8BFCE515531224005AFB25 /* WebKitFullScreenListener.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebKitFullScreenListener.mm; sourceTree = "<group>"; };
- CD8BFCE615531224005AFB25 /* WebKitFullScreenListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitFullScreenListener.h; sourceTree = "<group>"; };
- CD8EAC7211CAC9A300774075 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
- CDA62AE0125F87C2007FD118 /* WebFullScreenController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFullScreenController.h; sourceTree = "<group>"; };
- CDA62AE1125F87C2007FD118 /* WebFullScreenController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebFullScreenController.mm; sourceTree = "<group>"; };
- CEDA12D9152CBE6800D9E08D /* WebAlternativeTextClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebAlternativeTextClient.mm; sourceTree = "<group>"; };
- CEDA12DA152CBE6800D9E08D /* WebAlternativeTextClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebAlternativeTextClient.h; sourceTree = "<group>"; };
- DD7CDEE60A23BA9E00069928 /* WebTypesInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebTypesInternal.h; sourceTree = "<group>"; };
- DD89681E09AA87240097E7F0 /* WebElementDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebElementDictionary.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- DD89681F09AA87240097E7F0 /* WebElementDictionary.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebElementDictionary.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- E15663180FB61C1F00C199CA /* WebDownload.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebDownload.mm; sourceTree = "<group>"; };
- E169836111346D1B00894115 /* ProxyRuntimeObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProxyRuntimeObject.h; sourceTree = "<group>"; };
- E169836B11346D5600894115 /* ProxyRuntimeObject.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ProxyRuntimeObject.mm; sourceTree = "<group>"; };
- ED21B9810528F7AA003299AC /* WebDocumentInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebDocumentInternal.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- ED2B2474033A2DA800C1A526 /* WebNSPasteboardExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSPasteboardExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- ED2B2475033A2DA800C1A526 /* WebNSPasteboardExtras.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNSPasteboardExtras.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- ED5B9523111B725A00472298 /* WebLocalizableStrings.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebLocalizableStrings.mm; sourceTree = "<group>"; };
- ED7F6D8A0980683500C235ED /* WebNSDataExtrasPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNSDataExtrasPrivate.h; sourceTree = "<group>"; };
- EDD1A5C605C83987008E3150 /* WebNSPrintOperationExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSPrintOperationExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- EDD1A5C705C83987008E3150 /* WebNSPrintOperationExtras.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebNSPrintOperationExtras.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- EDE850CD06ECC79E005FAB05 /* WebPreferenceKeysPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPreferenceKeysPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- EDE9837E0BCDF5FE00FDAE28 /* WebNSArrayExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebNSArrayExtras.h; sourceTree = "<group>"; };
- EDE9837F0BCDF5FE00FDAE28 /* WebNSArrayExtras.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WebNSArrayExtras.m; sourceTree = "<group>"; };
- F508946902B71D59018A9CD4 /* WebNSViewExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNSViewExtras.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F508946A02B71D59018A9CD4 /* WebNSViewExtras.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebNSViewExtras.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5143A370221DCCE01A80181 /* WebFrame.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebFrame.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F520FB190221DEFD01C1A525 /* WebHistory.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebHistory.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F528E3E9031E91AD01CA2ACA /* WebIconDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabase.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F528E3EA031E91AD01CA2ACA /* WebIconDatabase.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebIconDatabase.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F528E3EB031E91AD01CA2ACA /* WebIconDatabasePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebIconDatabasePrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F53444CE02E87CBA018635CA /* WebKitStatistics.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebKitStatistics.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F53444CF02E87CBA018635CA /* WebKitStatistics.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebKitStatistics.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F53444D202E87D4B018635CA /* WebKitStatisticsPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebKitStatisticsPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5927D4E02D26C5E01CA2DBB /* WebKitErrors.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebKitErrors.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F59668C802AD2923018635CA /* WebStringTruncator.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebStringTruncator.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F59668C902AD2923018635CA /* WebStringTruncator.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; indentWidth = 4; path = WebStringTruncator.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F59EAE3E0253C7EE018635CA /* WebCoreStatistics.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreStatistics.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F59EAE410253C8DE018635CA /* WebCoreStatistics.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebCoreStatistics.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5A55DC702BAA2E8018635CC /* WebHTMLRepresentationPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebHTMLRepresentationPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5A672B90263866E01000102 /* WebNetscapePluginStream.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNetscapePluginStream.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5A672BA0263866E01000102 /* WebNetscapePluginStream.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; indentWidth = 4; path = WebNetscapePluginStream.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5AEBB3D024A527601C1A526 /* WebPreferences.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; indentWidth = 4; path = WebPreferences.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5B67130023EDF8901C1A525 /* url_icon.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = url_icon.tiff; sourceTree = "<group>"; };
- F5B92B820223191D01C1A525 /* WebHistoryPrivate.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebHistoryPrivate.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5C283730284676D018635CA /* WebKitPrefix.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; name = WebKitPrefix.h; path = mac/WebKitPrefix.h; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; };
- F5C2869402846DCD018635CA /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
- F5C2869502846DCD018635CA /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
- F5E0A76E02B8FEE401C1A525 /* WebURLsWithTitles.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebURLsWithTitles.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5E0A76F02B8FEE401C1A525 /* WebURLsWithTitles.m */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebURLsWithTitles.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5F7171E0288493C018635CA /* WebNetscapePluginPackage.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebNetscapePluginPackage.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5F7171F0288493C018635CA /* WebNetscapePluginPackage.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; indentWidth = 4; path = WebNetscapePluginPackage.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5F717200288493C018635CA /* WebPluginDatabase.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebPluginDatabase.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5F717210288493C018635CA /* WebPluginDatabase.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; indentWidth = 4; path = WebPluginDatabase.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5F717230288493C018635CA /* npapi.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; indentWidth = 4; path = npapi.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5F732D202FF4D4F01A80180 /* WebKit.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; name = WebKit.exp; path = mac/WebKit.exp; sourceTree = "<group>"; tabWidth = 4; usesTabs = 0; };
- F5F81C3902B67C26018635CA /* WebRenderNode.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebRenderNode.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F5F81C3A02B67C26018635CA /* WebRenderNode.mm */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebRenderNode.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F67DD7E5125E4527007BDCB8 /* WebSerializedJSValuePrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSerializedJSValuePrivate.h; sourceTree = "<group>"; };
- F738C9E903FAD3DF0321FBE0 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = JavaScriptCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- F738C9EA03FAD3DF0321FBE0 /* WebCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- F79B974804019934036909D2 /* CarbonUtils.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = CarbonUtils.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F79B974904019934036909D2 /* CarbonUtils.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = CarbonUtils.m; sourceTree = "<group>"; usesTabs = 0; };
- F7EBEE9003F9DBA103CA0DE6 /* CarbonWindowAdapter.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = CarbonWindowAdapter.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F7EBEE9103F9DBA103CA0DE6 /* CarbonWindowAdapter.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CarbonWindowAdapter.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F7EBEE9203F9DBA103CA0DE6 /* CarbonWindowContentView.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = CarbonWindowContentView.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F7EBEE9303F9DBA103CA0DE6 /* CarbonWindowContentView.m */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = CarbonWindowContentView.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F7EBEE9403F9DBA103CA0DE6 /* CarbonWindowFrame.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = CarbonWindowFrame.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F7EBEE9503F9DBA103CA0DE6 /* CarbonWindowFrame.m */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = CarbonWindowFrame.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F7EBEE9A03F9DBA103CA0DE6 /* HIViewAdapter.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = HIViewAdapter.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F7EBEE9B03F9DBA103CA0DE6 /* HIViewAdapter.m */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = HIViewAdapter.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F7EBEEAA03F9DBA103CA0DE6 /* HIWebView.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = HIWebView.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F7EBEEAB03F9DBA103CA0DE6 /* HIWebView.mm */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 30; path = HIWebView.mm; sourceTree = "<group>"; usesTabs = 0; };
- F834AAD50E64B1C700E2737C /* WebTextIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebTextIterator.h; sourceTree = "<group>"; };
- F834AAD60E64B1C700E2737C /* WebTextIterator.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebTextIterator.mm; sourceTree = "<group>"; };
- F8CA15B5029A39D901000122 /* WebAuthenticationPanel.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = WebAuthenticationPanel.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
- F8CA15B6029A39D901000122 /* WebAuthenticationPanel.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.objc; path = WebAuthenticationPanel.m; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 939811270824BF01008DF038 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 034768DFFF38A50411DB9C8B /* Products */ = {
- isa = PBXGroup;
- children = (
- 939811330824BF01008DF038 /* WebKit.framework */,
- );
- name = Products;
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
- 0867D691FE84028FC02AAC07 /* WebKit */ = {
- isa = PBXGroup;
- children = (
- 1C6CB03E0AA6391D00D23BFD /* MigrateHeaders.make */,
- F5F732D202FF4D4F01A80180 /* WebKit.exp */,
- F5C283730284676D018635CA /* WebKitPrefix.h */,
- 6508A4A7099B375F00BCBF45 /* Default Delegates */,
- F57D194A034E732C01A80180 /* DOM */,
- 25A8176801B5474B0ECA149E /* History */,
- 254DC334016E1D3F0ECA149E /* Misc */,
- F8CA15B4029A399401000122 /* Panels */,
- F5EBC45202134BB601CA1520 /* Plugins */,
- 511F3FC30CECC7E200852565 /* Storage */,
- F5B36B400281DE87018635CB /* WebCoreSupport */,
- 9C7CABBB0190A37C0ECA16EA /* WebView */,
- 1C68F63F095B5F9C00C2984E /* WebInspector */,
- F7EBEE5903F9DB2203CA0DE6 /* Carbon */,
- 089C1665FE841158C02AAC07 /* Resources */,
- 0867D69AFE84028FC02AAC07 /* Frameworks and Libraries */,
- 034768DFFF38A50411DB9C8B /* Products */,
- 1C904FCE0BA9DCF20081E9D0 /* Configurations */,
- );
- name = WebKit;
- sourceTree = "<group>";
- };
- 0867D69AFE84028FC02AAC07 /* Frameworks and Libraries */ = {
- isa = PBXGroup;
- children = (
- F5C2869402846DCD018635CA /* Carbon.framework */,
- F5C2869502846DCD018635CA /* Cocoa.framework */,
- 5D4DE0981479CBDF00EA3DF4 /* DiskArbitration.framework */,
- CD8EAC7211CAC9A300774075 /* IOKit.framework */,
- F738C9E903FAD3DF0321FBE0 /* JavaScriptCore.framework */,
- 93D623DD051E791F002F47DD /* libicucore.dylib */,
- 0ACE917210FE47E30096A45F /* OpenGL.framework */,
- 1A20D08A0ED384F20043FA9F /* QuartzCore.framework */,
- 830E81E005853AC000AD0891 /* Security.framework */,
- F738C9EA03FAD3DF0321FBE0 /* WebCore.framework */,
- );
- name = "Frameworks and Libraries";
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
- 089C1665FE841158C02AAC07 /* Resources */ = {
- isa = PBXGroup;
- children = (
- 1C9F5EFB1651CDF700C480F8 /* Dock.pdf */,
- 939811320824BF01008DF038 /* Info.plist */,
- F5B67130023EDF8901C1A525 /* url_icon.tiff */,
- 5DE83A740D0F7F9400CAD12A /* WebJavaScriptTextInputPanel.nib */,
- );
- name = Resources;
- path = mac/Resources;
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
- 1A1F91430ECBB16F006351DA /* Hosted */ = {
- isa = PBXGroup;
- children = (
- 1A8DED4E0EE88B8A00F25022 /* HostedNetscapePluginStream.h */,
- 1A8DED4F0EE88B8A00F25022 /* HostedNetscapePluginStream.mm */,
- 1AAF5CE40EDDE1FE008D883D /* NetscapePluginHostManager.h */,
- 1AAF5CE50EDDE1FE008D883D /* NetscapePluginHostManager.mm */,
- 1AAF5CE60EDDE1FE008D883D /* NetscapePluginHostProxy.h */,
- 1AAF5CE70EDDE1FE008D883D /* NetscapePluginHostProxy.mm */,
- 1AAF5CE80EDDE1FE008D883D /* NetscapePluginInstanceProxy.h */,
- 1AAF5CE90EDDE1FE008D883D /* NetscapePluginInstanceProxy.mm */,
- 1A2DBE9D0F251E3A0036F8A6 /* ProxyInstance.h */,
- 1A2DBE9E0F251E3A0036F8A6 /* ProxyInstance.mm */,
- E169836111346D1B00894115 /* ProxyRuntimeObject.h */,
- E169836B11346D5600894115 /* ProxyRuntimeObject.mm */,
- 1AAF5FBD0EDE3A92008D883D /* WebHostedNetscapePluginView.h */,
- 1AAF5FBE0EDE3A92008D883D /* WebHostedNetscapePluginView.mm */,
- 1AAF588A0EDCCEA3008D883D /* WebKitPluginAgent.defs */,
- 1AAF588B0EDCCEA3008D883D /* WebKitPluginAgentReply.defs */,
- 1AAF588C0EDCCEA3008D883D /* WebKitPluginClient.defs */,
- 1AAF588D0EDCCEA3008D883D /* WebKitPluginHost.defs */,
- 1AAF588E0EDCCEA3008D883D /* WebKitPluginHostTypes.defs */,
- 1AAF5D080EDDE71D008D883D /* WebKitPluginHostTypes.h */,
- 1A74A28C0F4F75400082E228 /* WebTextInputWindowController.h */,
- 1A74A28D0F4F75400082E228 /* WebTextInputWindowController.m */,
- );
- path = Hosted;
- sourceTree = "<group>";
- };
- 1A9C78030EBBC455008599D4 /* Events */ = {
- isa = PBXGroup;
- children = (
- 1AEA66D20DC6B1FF003D12BF /* WebNetscapePluginEventHandler.h */,
- 1AEA66D30DC6B1FF003D12BF /* WebNetscapePluginEventHandler.mm */,
- 1AEA66D60DC6B209003D12BF /* WebNetscapePluginEventHandlerCarbon.h */,
- 1AEA66D70DC6B209003D12BF /* WebNetscapePluginEventHandlerCarbon.mm */,
- 1AEA6A4E0DC8CE2F003D12BF /* WebNetscapePluginEventHandlerCocoa.h */,
- 1AEA6A4F0DC8CE2F003D12BF /* WebNetscapePluginEventHandlerCocoa.mm */,
- );
- name = Events;
- sourceTree = "<group>";
- };
- 1C68F63F095B5F9C00C2984E /* WebInspector */ = {
- isa = PBXGroup;
- children = (
- 5D7BF8120C2A1D90008CE06D /* WebInspector.h */,
- 5D7BF8130C2A1D90008CE06D /* WebInspector.mm */,
- B804176D1217A83100466BAE /* WebInspectorFrontend.h */,
- B804176E1217A83100466BAE /* WebInspectorFrontend.mm */,
- 7A8FF0D01075024A00A80A08 /* WebInspectorPrivate.h */,
- 1C68F663095B5FC100C2984E /* WebNodeHighlight.h */,
- 1C68F664095B5FC100C2984E /* WebNodeHighlight.mm */,
- A5687BD8135B791A0074CBCB /* WebNodeHighlighter.h */,
- A5687BD9135B791A0074CBCB /* WebNodeHighlighter.mm */,
- 1C68F665095B5FC100C2984E /* WebNodeHighlightView.h */,
- 1C68F666095B5FC100C2984E /* WebNodeHighlightView.mm */,
- );
- name = WebInspector;
- path = mac/WebInspector;
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
- 1C904FCE0BA9DCF20081E9D0 /* Configurations */ = {
- isa = PBXGroup;
- children = (
- 1C904FD50BA9DD0F0081E9D0 /* Base.xcconfig */,
- 1C904FD40BA9DD0F0081E9D0 /* DebugRelease.xcconfig */,
- 449098B90F8F82DF0076A327 /* FeatureDefines.xcconfig */,
- 1C904FD30BA9DD0F0081E9D0 /* Version.xcconfig */,
- 1C904FD20BA9DD0F0081E9D0 /* WebKit.xcconfig */,
- );
- name = Configurations;
- path = mac/Configurations;
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
- 254DC334016E1D3F0ECA149E /* Misc */ = {
- isa = PBXGroup;
- children = (
- A864B3E5123ED83D00C2A612 /* MailQuirksUserScript.js */,
- 1CCFFD120B1F81F2002EE926 /* OldWebAssertions.c */,
- 29AEF95D134C755400FE5096 /* OutlookQuirksUserScript.js */,
- 5DE92FEE0BD7017E0059A5FD /* WebAssertions.h */,
- 5241ADF30B1BC48A004012BD /* WebCache.h */,
- 5241ADF40B1BC48A004012BD /* WebCache.mm */,
- F59EAE3E0253C7EE018635CA /* WebCoreStatistics.h */,
- F59EAE410253C8DE018635CA /* WebCoreStatistics.mm */,
- 6578F5DE045F817400000128 /* WebDownload.h */,
- E15663180FB61C1F00C199CA /* WebDownload.mm */,
- ABDDF20C08EB0DDC001E1241 /* WebDownloadInternal.h */,
- DD89681E09AA87240097E7F0 /* WebElementDictionary.h */,
- DD89681F09AA87240097E7F0 /* WebElementDictionary.mm */,
- F528E3E9031E91AD01CA2ACA /* WebIconDatabase.h */,
- F528E3EA031E91AD01CA2ACA /* WebIconDatabase.mm */,
- 51B2A0FF0ADB15D0002A9BEE /* WebIconDatabaseDelegate.h */,
- 9304B2FF0B02341500F7850D /* WebIconDatabaseInternal.h */,
- F528E3EB031E91AD01CA2ACA /* WebIconDatabasePrivate.h */,
- 2568C72C0174912D0ECA149E /* WebKit.h */,
- F5927D4E02D26C5E01CA2DBB /* WebKitErrors.h */,
- 83730F9803FB1E660004736E /* WebKitErrors.m */,
- 84CA5F7E042685E800CA2ACA /* WebKitErrorsPrivate.h */,
- 93AEB17D032C1735008635CE /* WebKitLogging.h */,
- 93AEB17E032C1735008635CE /* WebKitLogging.m */,
- 7082F56F038EADAA00A80180 /* WebKitNSStringExtras.h */,
- 7082F570038EADAA00A80180 /* WebKitNSStringExtras.mm */,
- F53444CE02E87CBA018635CA /* WebKitStatistics.h */,
- F53444CF02E87CBA018635CA /* WebKitStatistics.m */,
- F53444D202E87D4B018635CA /* WebKitStatisticsPrivate.h */,
- BEE52D4A0473032500CA289C /* WebKitSystemBits.h */,
- BEE52D4B0473032500CA289C /* WebKitSystemBits.m */,
- 1C0D40850AC1C8F40009C113 /* WebKitVersionChecks.h */,
- 1C0D40860AC1C8F40009C113 /* WebKitVersionChecks.m */,
- BEE18F990472B73200CA289C /* WebLocalizableStrings.h */,
- ED5B9523111B725A00472298 /* WebLocalizableStrings.mm */,
- BC42D322131ED1E00075FA4B /* WebLocalizableStringsInternal.h */,
- BC42D34C131ED3880075FA4B /* WebLocalizableStringsInternal.mm */,
- EDE9837E0BCDF5FE00FDAE28 /* WebNSArrayExtras.h */,
- EDE9837F0BCDF5FE00FDAE28 /* WebNSArrayExtras.m */,
- 9345DDB20365FFD0008635CE /* WebNSControlExtras.h */,
- 9345DDB30365FFD0008635CE /* WebNSControlExtras.m */,
- BECD14290565830A005BB09C /* WebNSDataExtras.h */,
- BECD142A0565830A005BB09C /* WebNSDataExtras.m */,
- ED7F6D8A0980683500C235ED /* WebNSDataExtrasPrivate.h */,
- 65488D9F084FBCCB00831AD0 /* WebNSDictionaryExtras.h */,
- 65488DA0084FBCCB00831AD0 /* WebNSDictionaryExtras.m */,
- BE887BFF056D3A6E009BB3E7 /* WebNSEventExtras.h */,
- BE887C00056D3A6E009BB3E7 /* WebNSEventExtras.m */,
- 65EEDE55084FFC9E0002DB25 /* WebNSFileManagerExtras.h */,
- 65EEDE56084FFC9E0002DB25 /* WebNSFileManagerExtras.mm */,
- 8398847A03426FB000BC5F5E /* WebNSImageExtras.h */,
- 8398847B03426FB000BC5F5E /* WebNSImageExtras.m */,
- 51494D220C7EC1B6004178C5 /* WebNSNotificationCenterExtras.h */,
- 51494D230C7EC1B7004178C5 /* WebNSNotificationCenterExtras.m */,
- 93D1FE13067EB10B009CE68A /* WebNSObjectExtras.h */,
- 934C4A900F01406C009372C0 /* WebNSObjectExtras.mm */,
- ED2B2474033A2DA800C1A526 /* WebNSPasteboardExtras.h */,
- ED2B2475033A2DA800C1A526 /* WebNSPasteboardExtras.mm */,
- EDD1A5C605C83987008E3150 /* WebNSPrintOperationExtras.h */,
- EDD1A5C705C83987008E3150 /* WebNSPrintOperationExtras.m */,
- BE6DC39904C62C4E004D0EF6 /* WebNSURLExtras.h */,
- BE6DC39A04C62C4E004D0EF6 /* WebNSURLExtras.mm */,
- 65E0F88208500917007E5CB9 /* WebNSURLRequestExtras.h */,
- 65E0F88308500917007E5CB9 /* WebNSURLRequestExtras.m */,
- 65E0F9E408500F23007E5CB9 /* WebNSUserDefaultsExtras.h */,
- 65E0F9E508500F23007E5CB9 /* WebNSUserDefaultsExtras.mm */,
- F508946902B71D59018A9CD4 /* WebNSViewExtras.h */,
- F508946A02B71D59018A9CD4 /* WebNSViewExtras.m */,
- 9345DDAE0365FB27008635CE /* WebNSWindowExtras.h */,
- 9345DDAF0365FB27008635CE /* WebNSWindowExtras.m */,
- A57E2F22120749E600048DF3 /* WebQuotaManager.h */,
- F59668C802AD2923018635CA /* WebStringTruncator.h */,
- F59668C902AD2923018635CA /* WebStringTruncator.mm */,
- DD7CDEE60A23BA9E00069928 /* WebTypesInternal.h */,
- C0C5B3EC1177A4A0002B0AEF /* WebUserContentURLPattern.h */,
- C0C5B3ED1177A4A0002B0AEF /* WebUserContentURLPattern.mm */,
- );
- name = Misc;
- path = mac/Misc;
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
- 25A8176801B5474B0ECA149E /* History */ = {
- isa = PBXGroup;
- children = (
- 1A60518D17502A5D00BC62F5 /* BinaryPropertyList.cpp */,
- 1A60518E17502A5D00BC62F5 /* BinaryPropertyList.h */,
- 1A60518F17502A5D00BC62F5 /* HistoryPropertyList.cpp */,
- 1A60519017502A5D00BC62F5 /* HistoryPropertyList.h */,
- 3944607D020F50ED0ECA1767 /* WebBackForwardList.h */,
- 3944607E020F50ED0ECA1767 /* WebBackForwardList.mm */,
- 51C714FA0B20F79F00E5E33C /* WebBackForwardListInternal.h */,
- 22F219CB08D236730030E078 /* WebBackForwardListPrivate.h */,
- F520FB190221DEFD01C1A525 /* WebHistory.h */,
- 65DA2608052CC18700A97B31 /* WebHistory.mm */,
- 93FDE9320D79CAF30074F029 /* WebHistoryInternal.h */,
- 3944607F020F50ED0ECA1767 /* WebHistoryItem.h */,
- 39446080020F50ED0ECA1767 /* WebHistoryItem.mm */,
- 516F296F03A6C45A00CA2D3A /* WebHistoryItemInternal.h */,
- 51FDC4D20B0AF5C100F84EB3 /* WebHistoryItemPrivate.h */,
- F5B92B820223191D01C1A525 /* WebHistoryPrivate.h */,
- F5E0A76E02B8FEE401C1A525 /* WebURLsWithTitles.h */,
- F5E0A76F02B8FEE401C1A525 /* WebURLsWithTitles.m */,
- );
- name = History;
- path = mac/History;
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
- 511F3FC30CECC7E200852565 /* Storage */ = {
- isa = PBXGroup;
- children = (
- 511F3FD10CECC88F00852565 /* WebDatabaseManager.mm */,
- 511F3FD30CECC88F00852565 /* WebDatabaseManagerClient.h */,
- 511F3FD40CECC88F00852565 /* WebDatabaseManagerClient.mm */,
- 511F3FD20CECC88F00852565 /* WebDatabaseManagerPrivate.h */,
- A5DEFC0D11D5343E00885273 /* WebDatabaseQuotaManager.h */,
- A5DEFC0E11D5343E00885273 /* WebDatabaseQuotaManager.mm */,
- 3AB02AF512C1319B00FBB694 /* WebStorageManager.mm */,
- 3AE15D4F12DBDED4009323C8 /* WebStorageManagerInternal.h */,
- 3AB02AFF12C132B200FBB694 /* WebStorageManagerPrivate.h */,
- 3ABB3C781309C3B500E93D94 /* WebStorageTrackerClient.h */,
- 3ABB3C791309C3B500E93D94 /* WebStorageTrackerClient.mm */,
- );
- name = Storage;
- path = mac/Storage;
- sourceTree = "<group>";
- };
- 51E94C0706C02CA300A9B09E /* PDF */ = {
- isa = PBXGroup;
- children = (
- 37D1DCA61065928C0068F7EF /* WebJSPDFDoc.h */,
- 37D1DCA71065928C0068F7EF /* WebJSPDFDoc.mm */,
- 37B6FB4C1063530C000FDB3B /* WebPDFDocumentExtras.h */,
- 37B6FB4D1063530C000FDB3B /* WebPDFDocumentExtras.mm */,
- 51E94C6806C0347500A9B09E /* WebPDFRepresentation.h */,
- 51E94C6906C0347500A9B09E /* WebPDFRepresentation.mm */,
- 51E94C3406C0321200A9B09E /* WebPDFView.h */,
- 51E94C3506C0321200A9B09E /* WebPDFView.mm */,
- );
- name = PDF;
- sourceTree = "<group>";
- };
- 6508A4A7099B375F00BCBF45 /* Default Delegates */ = {
- isa = PBXGroup;
- children = (
- 5152FADD033FC50400CA2ACD /* WebDefaultContextMenuDelegate.h */,
- 5152FADE033FC50400CA2ACD /* WebDefaultContextMenuDelegate.mm */,
- BE95BEE605FD0805006E1513 /* WebDefaultEditingDelegate.h */,
- BE95BEE505FD0805006E1513 /* WebDefaultEditingDelegate.m */,
- 5152FADF033FC50400CA2ACD /* WebDefaultPolicyDelegate.h */,
- 5152FAE0033FC50400CA2ACD /* WebDefaultPolicyDelegate.m */,
- 515E27CF0458CA4B00CA2D3A /* WebDefaultUIDelegate.h */,
- 515E27D00458CA4B00CA2D3A /* WebDefaultUIDelegate.m */,
- );
- name = "Default Delegates";
- path = mac/DefaultDelegates;
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
- 848DFF410365F6FB00CA2ACA /* Netscape Plug-ins */ = {
- isa = PBXGroup;
- children = (
- 1A9C78030EBBC455008599D4 /* Events */,
- 1A1F91430ECBB16F006351DA /* Hosted */,
- F5F717230288493C018635CA /* npapi.mm */,
- 1A4DF5E20EC8D104006BD4B4 /* WebBaseNetscapePluginView.h */,
- 1A4DF5E30EC8D104006BD4B4 /* WebBaseNetscapePluginView.mm */,
- 0AB752350FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.h */,
- 0AB752360FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.mm */,
- 0AEBFF610F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.h */,
- 0AEBFF620F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.mm */,
- F5F7171E0288493C018635CA /* WebNetscapePluginPackage.h */,
- F5F7171F0288493C018635CA /* WebNetscapePluginPackage.mm */,
- F5A672B90263866E01000102 /* WebNetscapePluginStream.h */,
- F5A672BA0263866E01000102 /* WebNetscapePluginStream.mm */,
- 1A4DF5200EC8C74D006BD4B4 /* WebNetscapePluginView.h */,
- 1A4DF5210EC8C74D006BD4B4 /* WebNetscapePluginView.mm */,
- 1A77B02C0EE7730500C8A1F9 /* WebPluginRequest.h */,
- 1A77B02D0EE7730500C8A1F9 /* WebPluginRequest.m */,
- );
- name = "Netscape Plug-ins";
- sourceTree = "<group>";
- };
- 848DFF430365F71500CA2ACA /* WebKit Plug-ins */ = {
- isa = PBXGroup;
- children = (
- 848DFF840365FE6A00CA2ACA /* WebPlugin.h */,
- 848DFF850365FE6A00CA2ACA /* WebPluginContainer.h */,
- 65E1150307EFFEBF009B8BF7 /* WebPluginContainerCheck.h */,
- 65E1150407EFFEBF009B8BF7 /* WebPluginContainerCheck.mm */,
- 65836F5E07EE425900682F95 /* WebPluginContainerPrivate.h */,
- 8467275C0367158500CA2ACA /* WebPluginController.h */,
- 8467275D0367158500CA2ACA /* WebPluginController.mm */,
- 83E4AF4B036659440000E506 /* WebPluginPackage.h */,
- 83E4AF4C036659440000E506 /* WebPluginPackage.mm */,
- 225F881409F97E8A00423A40 /* WebPluginPrivate.h */,
- 848DFF860365FE6A00CA2ACA /* WebPluginViewFactory.h */,
- 83E679780726D7CF006C7A36 /* WebPluginViewFactoryPrivate.h */,
- );
- name = "WebKit Plug-ins";
- sourceTree = "<group>";
- };
- 9C7CABBB0190A37C0ECA16EA /* WebView */ = {
- isa = PBXGroup;
- children = (
- F52CA6BD02DF9D0F018635CA /* HTML */,
- 51E94C0706C02CA300A9B09E /* PDF */,
- 8373435A0624EE0D00F3B289 /* WebArchive.h */,
- 8373435B0624EE0D00F3B289 /* WebArchive.mm */,
- 44BB8B131241A022001E3A22 /* WebArchiveInternal.h */,
- 933D659903413FF2008635CE /* WebClipView.h */,
- 933D659A03413FF2008635CE /* WebClipView.mm */,
- 93E2A1A2123B0B3C009FE12A /* WebDashboardRegion.h */,
- 93E2A1A3123B0B3C009FE12A /* WebDashboardRegion.mm */,
- 39446070020F50ED0ECA1767 /* WebDataSource.h */,
- 39446071020F50ED0ECA1767 /* WebDataSource.mm */,
- 658A40950A14853B005E6987 /* WebDataSourceInternal.h */,
- 39446072020F50ED0ECA1767 /* WebDataSourcePrivate.h */,
- BC542C400FD7766F00D8AB5D /* WebDelegateImplementationCaching.h */,
- BC542C410FD7766F00D8AB5D /* WebDelegateImplementationCaching.mm */,
- 598AD91F1201CF0700ABAE4E /* WebDeviceOrientation.h */,
- 598AD9211201CF1000ABAE4E /* WebDeviceOrientation.mm */,
- 598AD9231201CF1900ABAE4E /* WebDeviceOrientationInternal.h */,
- 598ADA451202275000ABAE4E /* WebDeviceOrientationProvider.h */,
- 598AD9251201CF2500ABAE4E /* WebDeviceOrientationProviderMock.h */,
- 598AD9271201CF3200ABAE4E /* WebDeviceOrientationProviderMock.mm */,
- 598AD9291201CF3B00ABAE4E /* WebDeviceOrientationProviderMockInternal.h */,
- 35081DAE02B6D4F50ACA2ACA /* WebDocument.h */,
- ED21B9810528F7AA003299AC /* WebDocumentInternal.h */,
- 65FFB7FA0AD0B7D30048CD05 /* WebDocumentLoaderMac.h */,
- 65FFB7FB0AD0B7D30048CD05 /* WebDocumentLoaderMac.mm */,
- 833987810543012D00EE146E /* WebDocumentPrivate.h */,
- 3944606B020F50ED0ECA1767 /* WebDynamicScrollBarsView.h */,
- 3944606C020F50ED0ECA1767 /* WebDynamicScrollBarsView.mm */,
- 934C11660D8710BB00C32ABD /* WebDynamicScrollBarsViewInternal.h */,
- BE4FBECB0653DF47005EDE15 /* WebEditingDelegate.h */,
- 1C8CB0790AE9830C00B1F6E9 /* WebEditingDelegatePrivate.h */,
- 2D81DAB203EB0B2D00A80166 /* WebFormDelegate.h */,
- 2D81DAB303EB0B2D00A80166 /* WebFormDelegate.m */,
- 2D36FD5E03F78F9E00A80166 /* WebFormDelegatePrivate.h */,
- 39446074020F50ED0ECA1767 /* WebFrame.h */,
- F5143A370221DCCE01A80181 /* WebFrame.mm */,
- 930D02BD06275F710076701E /* WebFrameInternal.h */,
- 5152FAE5033FC52200CA2ACD /* WebFrameLoadDelegate.h */,
- C0B88E8A10A08F3D00FBB3F5 /* WebFrameLoadDelegatePrivate.h */,
- 9CF0E249021361B00ECA16EA /* WebFramePrivate.h */,
- 51A8B52E04282B5900CA2D3A /* WebFrameView.h */,
- 51A8B52F04282B5900CA2D3A /* WebFrameView.mm */,
- 51A8B53204282BD200CA2D3A /* WebFrameViewInternal.h */,
- 93C6F14507920B93002449CD /* WebFrameViewPrivate.h */,
- CDA62AE0125F87C2007FD118 /* WebFullScreenController.h */,
- CDA62AE1125F87C2007FD118 /* WebFullScreenController.mm */,
- BC7F889C10C9D30C00D6133D /* WebGeolocationPosition.h */,
- BC7F889D10C9D30C00D6133D /* WebGeolocationPosition.mm */,
- BC7F88A410C9D88B00D6133D /* WebGeolocationPositionInternal.h */,
- 5158F6EE106D862A00AF457C /* WebHistoryDelegate.h */,
- 5185F62510712B80007AA393 /* WebNavigationData.h */,
- 5185F62710712B97007AA393 /* WebNavigationData.mm */,
- 312E2FE314E48182007CCA18 /* WebNotification.h */,
- 312E2FE414E48182007CCA18 /* WebNotification.mm */,
- 312E2FE814E48215007CCA18 /* WebNotificationInternal.h */,
- 51443F9A0429392B00CA2D3A /* WebPolicyDelegate.h */,
- 51443F9B0429392B00CA2D3A /* WebPolicyDelegate.mm */,
- 51443F9C0429392B00CA2D3A /* WebPolicyDelegatePrivate.h */,
- EDE850CD06ECC79E005FAB05 /* WebPreferenceKeysPrivate.h */,
- 3944606E020F50ED0ECA1767 /* WebPreferences.h */,
- F5AEBB3D024A527601C1A526 /* WebPreferences.mm */,
- 9CAE9D070252A4130ECA16EA /* WebPreferencesPrivate.h */,
- 0F30985D11ECFE4400F559DF /* WebRenderLayer.h */,
- 0F30985E11ECFE4500F559DF /* WebRenderLayer.mm */,
- F5F81C3902B67C26018635CA /* WebRenderNode.h */,
- F5F81C3A02B67C26018635CA /* WebRenderNode.mm */,
- 84311A1205EAAAF00088EDA4 /* WebResource.h */,
- 84311A1305EAAAF00088EDA4 /* WebResource.mm */,
- 934C4A9F0F0141F7009372C0 /* WebResourceInternal.h */,
- 513D422E034CF55A00CA2ACD /* WebResourceLoadDelegate.h */,
- 656D333D0AF21AE900212169 /* WebResourceLoadDelegatePrivate.h */,
- 84311AF105EAB12B0088EDA4 /* WebResourcePrivate.h */,
- 7E6FEF0508985A7200C44C3F /* WebScriptDebugDelegate.h */,
- 7E6FEF0608985A7200C44C3F /* WebScriptDebugDelegate.mm */,
- C0167BF60D7F5DD00028696E /* WebScriptDebugger.h */,
- C0167BF70D7F5DD00028696E /* WebScriptDebugger.mm */,
- C0B1F7E510AC8E3100C925D9 /* WebScriptWorld.h */,
- C0B1F7E610AC8E3100C925D9 /* WebScriptWorld.mm */,
- C0B1F7E710AC8E3100C925D9 /* WebScriptWorldInternal.h */,
- BC26C69D10B743F400B687ED /* WebSerializedJSValue.h */,
- BC26C6A410B7447A00B687ED /* WebSerializedJSValue.mm */,
- F67DD7E5125E4527007BDCB8 /* WebSerializedJSValuePrivate.h */,
- 936A2DE90FD2D08400D312DB /* WebTextCompletionController.h */,
- 936A2DE70FD2D08000D312DB /* WebTextCompletionController.mm */,
- F834AAD50E64B1C700E2737C /* WebTextIterator.h */,
- F834AAD60E64B1C700E2737C /* WebTextIterator.mm */,
- 515E27CC0458C86500CA2D3A /* WebUIDelegate.h */,
- 65A7D44A0568AB2600E70EF6 /* WebUIDelegatePrivate.h */,
- 51A8B579042834F700CA2D3A /* WebView.h */,
- 51A8B57A042834F700CA2D3A /* WebView.mm */,
- BC2E464B0FD8A96800A9D9DE /* WebViewData.h */,
- BC2E464C0FD8A96800A9D9DE /* WebViewData.mm */,
- 930D02BB06275F640076701E /* WebViewInternal.h */,
- 51A8B57D0428353A00CA2D3A /* WebViewPrivate.h */,
- );
- name = WebView;
- path = mac/WebView;
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
- F52CA6BD02DF9D0F018635CA /* HTML */ = {
- isa = PBXGroup;
- children = (
- 35081D9202B6D4D80ACA2ACA /* WebHTMLRepresentation.h */,
- 35081D9302B6D4D80ACA2ACA /* WebHTMLRepresentation.mm */,
- F5A55DC702BAA2E8018635CC /* WebHTMLRepresentationPrivate.h */,
- 35081D9402B6D4D80ACA2ACA /* WebHTMLView.h */,
- 35081D9502B6D4D80ACA2ACA /* WebHTMLView.mm */,
- 93185DB506679F42005D5E7E /* WebHTMLViewInternal.h */,
- 35081D9602B6D4D80ACA2ACA /* WebHTMLViewPrivate.h */,
- );
- name = HTML;
- sourceTree = "<group>";
- };
- F57D194A034E732C01A80180 /* DOM */ = {
- isa = PBXGroup;
- children = (
- 846171F90624AE5B0071A4A3 /* WebDOMOperations.h */,
- 846171FA0624AE5B0071A4A3 /* WebDOMOperations.mm */,
- AB9FBBBA0F8582B0006ADC43 /* WebDOMOperationsInternal.h */,
- 84AE905F062DE6A80075BBF9 /* WebDOMOperationsPrivate.h */,
- );
- name = DOM;
- path = mac/DOM;
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
- F5B36B400281DE87018635CB /* WebCoreSupport */ = {
- isa = PBXGroup;
- children = (
- B82958D1132707D0000D0E79 /* CorrectionPanel.h */,
- B82958D2132707D0000D0E79 /* CorrectionPanel.mm */,
- 7C01CB81173435C900C5D807 /* PopupMenuMac.h */,
- 7C01CB82173435C900C5D807 /* PopupMenuMac.mm */,
- 7C01CB83173435C900C5D807 /* SearchPopupMenuMac.h */,
- 7C01CB84173435C900C5D807 /* SearchPopupMenuMac.mm */,
- CEDA12DA152CBE6800D9E08D /* WebAlternativeTextClient.h */,
- CEDA12D9152CBE6800D9E08D /* WebAlternativeTextClient.mm */,
- B68049710FFBCEC1009F7F62 /* WebApplicationCache.h */,
- B68049720FFBCEC1009F7F62 /* WebApplicationCache.mm */,
- A5DEFC1111D5344B00885273 /* WebApplicationCacheQuotaManager.h */,
- A5DEFC1211D5344B00885273 /* WebApplicationCacheQuotaManager.mm */,
- 51CBFCAC0D10E6C5002DBF51 /* WebCachedFramePlatformData.h */,
- 14D8252D0AF955090004F057 /* WebChromeClient.h */,
- 14D8252E0AF955090004F057 /* WebChromeClient.mm */,
- 065AD5A10B0C32C7005A2B1D /* WebContextMenuClient.h */,
- 065AD5A20B0C32C7005A2B1D /* WebContextMenuClient.mm */,
- 598AD9191201CEC900ABAE4E /* WebDeviceOrientationClient.h */,
- 598AD91D1201CECF00ABAE4E /* WebDeviceOrientationClient.mm */,
- A70936AD0B5608DC00CDB48E /* WebDragClient.h */,
- A70936AE0B5608DC00CDB48E /* WebDragClient.mm */,
- 4BF99F8E0AE050BC00815C2B /* WebEditorClient.h */,
- 4BF99F8F0AE050BC00815C2B /* WebEditorClient.mm */,
- 931633EA0AEDFF930062B92D /* WebFrameLoaderClient.h */,
- 931633EE0AEDFFAE0062B92D /* WebFrameLoaderClient.mm */,
- 9391F273121B38BD00EBF7E8 /* WebFrameNetworkingContext.h */,
- 9391F274121B38BD00EBF7E8 /* WebFrameNetworkingContext.mm */,
- BC7F884910C8775A00D6133D /* WebGeolocationClient.h */,
- BC7F884A10C8775A00D6133D /* WebGeolocationClient.mm */,
- 51494CD40C7EBDE0004178C5 /* WebIconDatabaseClient.h */,
- 51494CD50C7EBDE0004178C5 /* WebIconDatabaseClient.mm */,
- 06693DDA0BFBA85200216072 /* WebInspectorClient.h */,
- 06693DDB0BFBA85200216072 /* WebInspectorClient.mm */,
- 1C7B0C650EB2464D00A28502 /* WebInspectorClientCF.cpp */,
- 9345D4EA0365C5B2008635CE /* WebJavaScriptTextInputPanel.h */,
- 9345D4EB0365C5B2008635CE /* WebJavaScriptTextInputPanel.m */,
- 84723BE3056D719E0044BFEA /* WebKeyGenerator.h */,
- 84723BE4056D719E0044BFEA /* WebKeyGenerator.mm */,
- CD8BFCE615531224005AFB25 /* WebKitFullScreenListener.h */,
- CD8BFCE515531224005AFB25 /* WebKitFullScreenListener.mm */,
- 31C11A6C1476552E0049A4CC /* WebNotificationClient.h */,
- 31C11A6D1476552E0049A4CC /* WebNotificationClient.mm */,
- A58A5797143E727000125F50 /* WebOpenPanelResultListener.h */,
- A58A5798143E727000125F50 /* WebOpenPanelResultListener.mm */,
- 1AA879B411CBE9BF003C664F /* WebPlatformStrategies.h */,
- 1AA879B511CBE9BF003C664F /* WebPlatformStrategies.mm */,
- A5DEFC0711D5331C00885273 /* WebSecurityOrigin.mm */,
- A5DEFC0811D5331C00885273 /* WebSecurityOriginInternal.h */,
- A5DEFC0911D5331C00885273 /* WebSecurityOriginPrivate.h */,
- 93EB178E09F88D510091F8FF /* WebSystemInterface.h */,
- 93EB178C09F88D460091F8FF /* WebSystemInterface.mm */,
- );
- name = WebCoreSupport;
- path = mac/WebCoreSupport;
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
- F5EBC45202134BB601CA1520 /* Plugins */ = {
- isa = PBXGroup;
- children = (
- 848DFF410365F6FB00CA2ACA /* Netscape Plug-ins */,
- 848DFF430365F71500CA2ACA /* WebKit Plug-ins */,
- 83E4AF46036652150000E506 /* WebBasePluginPackage.h */,
- 83E4AF47036652150000E506 /* WebBasePluginPackage.mm */,
- F5F717200288493C018635CA /* WebPluginDatabase.h */,
- F5F717210288493C018635CA /* WebPluginDatabase.mm */,
- 224100F2091818D900D2D266 /* WebPluginsPrivate.h */,
- 224100F80918190100D2D266 /* WebPluginsPrivate.m */,
- );
- name = Plugins;
- path = mac/Plugins;
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
- F7EBEE5903F9DB2203CA0DE6 /* Carbon */ = {
- isa = PBXGroup;
- children = (
- F7EBEECF03F9DBBD03CA0DE6 /* AppKit Overrides */,
- F7EBEED103F9DBEB03CA0DE6 /* C API */,
- F7EBEED203F9DBFE03CA0DE6 /* Glue */,
- );
- name = Carbon;
- path = mac/Carbon;
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
- F7EBEECF03F9DBBD03CA0DE6 /* AppKit Overrides */ = {
- isa = PBXGroup;
- children = (
- F7EBEE9003F9DBA103CA0DE6 /* CarbonWindowAdapter.h */,
- F7EBEE9103F9DBA103CA0DE6 /* CarbonWindowAdapter.mm */,
- F7EBEE9203F9DBA103CA0DE6 /* CarbonWindowContentView.h */,
- F7EBEE9303F9DBA103CA0DE6 /* CarbonWindowContentView.m */,
- F7EBEE9403F9DBA103CA0DE6 /* CarbonWindowFrame.h */,
- F7EBEE9503F9DBA103CA0DE6 /* CarbonWindowFrame.m */,
- F7EBEE9A03F9DBA103CA0DE6 /* HIViewAdapter.h */,
- F7EBEE9B03F9DBA103CA0DE6 /* HIViewAdapter.m */,
- );
- name = "AppKit Overrides";
- sourceTree = "<group>";
- };
- F7EBEED103F9DBEB03CA0DE6 /* C API */ = {
- isa = PBXGroup;
- children = (
- F7EBEEAA03F9DBA103CA0DE6 /* HIWebView.h */,
- F7EBEEAB03F9DBA103CA0DE6 /* HIWebView.mm */,
- );
- name = "C API";
- sourceTree = "<group>";
- };
- F7EBEED203F9DBFE03CA0DE6 /* Glue */ = {
- isa = PBXGroup;
- children = (
- F79B974804019934036909D2 /* CarbonUtils.h */,
- F79B974904019934036909D2 /* CarbonUtils.m */,
- );
- name = Glue;
- sourceTree = "<group>";
- };
- F8CA15B4029A399401000122 /* Panels */ = {
- isa = PBXGroup;
- children = (
- F8CA15B5029A39D901000122 /* WebAuthenticationPanel.h */,
- F8CA15B6029A39D901000122 /* WebAuthenticationPanel.m */,
- 9345D17B0365BF35008635CE /* WebAuthenticationPanel.nib */,
- 93154EF103A41270008635CE /* WebPanelAuthenticationHandler.h */,
- 93154EF203A41270008635CE /* WebPanelAuthenticationHandler.m */,
- );
- name = Panels;
- path = mac/Panels;
- sourceTree = "<group>";
- tabWidth = 4;
- usesTabs = 0;
- };
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
- 9398100D0824BF01008DF038 /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 1A60519217502A5D00BC62F5 /* BinaryPropertyList.h in Headers */,
- 9398106A0824BF01008DF038 /* CarbonUtils.h in Headers */,
- 939810650824BF01008DF038 /* CarbonWindowAdapter.h in Headers */,
- 939810660824BF01008DF038 /* CarbonWindowContentView.h in Headers */,
- 939810670824BF01008DF038 /* CarbonWindowFrame.h in Headers */,
- B82958D3132707D0000D0E79 /* CorrectionPanel.h in Headers */,
- 1A60519417502A5D00BC62F5 /* HistoryPropertyList.h in Headers */,
- 939810680824BF01008DF038 /* HIViewAdapter.h in Headers */,
- 939810690824BF01008DF038 /* HIWebView.h in Headers */,
- 1A8DED500EE88B8A00F25022 /* HostedNetscapePluginStream.h in Headers */,
- 1AAF5CEA0EDDE1FE008D883D /* NetscapePluginHostManager.h in Headers */,
- 1AAF5CEC0EDDE1FE008D883D /* NetscapePluginHostProxy.h in Headers */,
- 1AAF5CEE0EDDE1FE008D883D /* NetscapePluginInstanceProxy.h in Headers */,
- 7C01CB85173435C900C5D807 /* PopupMenuMac.h in Headers */,
- 1A2DBE9F0F251E3A0036F8A6 /* ProxyInstance.h in Headers */,
- E169836211346D1B00894115 /* ProxyRuntimeObject.h in Headers */,
- 7C01CB87173435C900C5D807 /* SearchPopupMenuMac.h in Headers */,
- CEDA12DC152CBE6800D9E08D /* WebAlternativeTextClient.h in Headers */,
- B6CE5C25100BC5F500219936 /* WebApplicationCache.h in Headers */,
- A5DEFC1311D5344B00885273 /* WebApplicationCacheQuotaManager.h in Headers */,
- 9398109A0824BF01008DF038 /* WebArchive.h in Headers */,
- 44BB8B141241A022001E3A22 /* WebArchiveInternal.h in Headers */,
- 5DE92FEF0BD7017E0059A5FD /* WebAssertions.h in Headers */,
- 939810290824BF01008DF038 /* WebAuthenticationPanel.h in Headers */,
- 939810110824BF01008DF038 /* WebBackForwardList.h in Headers */,
- 51C714FB0B20F79F00E5E33C /* WebBackForwardListInternal.h in Headers */,
- 22F219CC08D236730030E078 /* WebBackForwardListPrivate.h in Headers */,
- 1A4DF5E40EC8D104006BD4B4 /* WebBaseNetscapePluginView.h in Headers */,
- 9398102E0824BF01008DF038 /* WebBasePluginPackage.h in Headers */,
- 5241ADF50B1BC48A004012BD /* WebCache.h in Headers */,
- 51CBFCAD0D10E6C5002DBF51 /* WebCachedFramePlatformData.h in Headers */,
- 14D8252F0AF955090004F057 /* WebChromeClient.h in Headers */,
- 939810490824BF01008DF038 /* WebClipView.h in Headers */,
- 065AD5A30B0C32C7005A2B1D /* WebContextMenuClient.h in Headers */,
- 939810160824BF01008DF038 /* WebCoreStatistics.h in Headers */,
- 93E2A1A4123B0B3C009FE12A /* WebDashboardRegion.h in Headers */,
- 511F3FD70CECC88F00852565 /* WebDatabaseManagerClient.h in Headers */,
- 511F3FD60CECC88F00852565 /* WebDatabaseManagerPrivate.h in Headers */,
- A5DEFC0F11D5343E00885273 /* WebDatabaseQuotaManager.h in Headers */,
- 9398104B0824BF01008DF038 /* WebDataSource.h in Headers */,
- 658A40960A14853B005E6987 /* WebDataSourceInternal.h in Headers */,
- 9398104C0824BF01008DF038 /* WebDataSourcePrivate.h in Headers */,
- 9398104E0824BF01008DF038 /* WebDefaultContextMenuDelegate.h in Headers */,
- 9398108D0824BF01008DF038 /* WebDefaultEditingDelegate.h in Headers */,
- 9398104F0824BF01008DF038 /* WebDefaultPolicyDelegate.h in Headers */,
- 939810760824BF01008DF038 /* WebDefaultUIDelegate.h in Headers */,
- BC542C420FD7766F00D8AB5D /* WebDelegateImplementationCaching.h in Headers */,
- 598AD9201201CF0700ABAE4E /* WebDeviceOrientation.h in Headers */,
- 598AD91A1201CEC900ABAE4E /* WebDeviceOrientationClient.h in Headers */,
- 598AD9241201CF1900ABAE4E /* WebDeviceOrientationInternal.h in Headers */,
- 598ADA461202275000ABAE4E /* WebDeviceOrientationProvider.h in Headers */,
- 598AD9261201CF2500ABAE4E /* WebDeviceOrientationProviderMock.h in Headers */,
- 598AD92A1201CF3B00ABAE4E /* WebDeviceOrientationProviderMockInternal.h in Headers */,
- 939810500824BF01008DF038 /* WebDocument.h in Headers */,
- 9398107F0824BF01008DF038 /* WebDocumentInternal.h in Headers */,
- 65FFB7FC0AD0B7D30048CD05 /* WebDocumentLoaderMac.h in Headers */,
- 939810800824BF01008DF038 /* WebDocumentPrivate.h in Headers */,
- 939810990824BF01008DF038 /* WebDOMOperations.h in Headers */,
- AB9FBBBB0F8582B0006ADC43 /* WebDOMOperationsInternal.h in Headers */,
- 9398109D0824BF01008DF038 /* WebDOMOperationsPrivate.h in Headers */,
- 939810770824BF01008DF038 /* WebDownload.h in Headers */,
- ABDDF20D08EB0DDC001E1241 /* WebDownloadInternal.h in Headers */,
- A70936AF0B5608DC00CDB48E /* WebDragClient.h in Headers */,
- 939810510824BF01008DF038 /* WebDynamicScrollBarsView.h in Headers */,
- 934C11670D8710BB00C32ABD /* WebDynamicScrollBarsViewInternal.h in Headers */,
- 9398109E0824BF01008DF038 /* WebEditingDelegate.h in Headers */,
- 1C8CB07A0AE9830C00B1F6E9 /* WebEditingDelegatePrivate.h in Headers */,
- 4BF99F900AE050BC00815C2B /* WebEditorClient.h in Headers */,
- DD89682009AA87240097E7F0 /* WebElementDictionary.h in Headers */,
- 939810520824BF01008DF038 /* WebFormDelegate.h in Headers */,
- 939810640824BF01008DF038 /* WebFormDelegatePrivate.h in Headers */,
- 939810530824BF01008DF038 /* WebFrame.h in Headers */,
- 9398109C0824BF01008DF038 /* WebFrameInternal.h in Headers */,
- 9398105B0824BF01008DF038 /* WebFrameLoadDelegate.h in Headers */,
- C0B88E8B10A08F3D00FBB3F5 /* WebFrameLoadDelegatePrivate.h in Headers */,
- 931633EB0AEDFF930062B92D /* WebFrameLoaderClient.h in Headers */,
- 9391F275121B38BD00EBF7E8 /* WebFrameNetworkingContext.h in Headers */,
- 939810540824BF01008DF038 /* WebFramePrivate.h in Headers */,
- 9398106E0824BF01008DF038 /* WebFrameView.h in Headers */,
- 9398106F0824BF01008DF038 /* WebFrameViewInternal.h in Headers */,
- 939810AF0824BF01008DF038 /* WebFrameViewPrivate.h in Headers */,
- CDA62AE2125F87C2007FD118 /* WebFullScreenController.h in Headers */,
- BC7F884B10C8775A00D6133D /* WebGeolocationClient.h in Headers */,
- BC7F889E10C9D30C00D6133D /* WebGeolocationPosition.h in Headers */,
- BC7F88A510C9D88B00D6133D /* WebGeolocationPositionInternal.h in Headers */,
- 939810120824BF01008DF038 /* WebHistory.h in Headers */,
- 5158F6EF106D862A00AF457C /* WebHistoryDelegate.h in Headers */,
- 93FDE9330D79CAF30074F029 /* WebHistoryInternal.h in Headers */,
- 939810130824BF01008DF038 /* WebHistoryItem.h in Headers */,
- 939810630824BF01008DF038 /* WebHistoryItemInternal.h in Headers */,
- 51FDC4D30B0AF5C100F84EB3 /* WebHistoryItemPrivate.h in Headers */,
- 939810140824BF01008DF038 /* WebHistoryPrivate.h in Headers */,
- 1AAF5FBF0EDE3A92008D883D /* WebHostedNetscapePluginView.h in Headers */,
- 939810550824BF01008DF038 /* WebHTMLRepresentation.h in Headers */,
- 939810560824BF01008DF038 /* WebHTMLRepresentationPrivate.h in Headers */,
- 939810570824BF01008DF038 /* WebHTMLView.h in Headers */,
- 939810A10824BF01008DF038 /* WebHTMLViewInternal.h in Headers */,
- 939810580824BF01008DF038 /* WebHTMLViewPrivate.h in Headers */,
- 939810180824BF01008DF038 /* WebIconDatabase.h in Headers */,
- 51494CD60C7EBDE0004178C5 /* WebIconDatabaseClient.h in Headers */,
- 51B2A1000ADB15D0002A9BEE /* WebIconDatabaseDelegate.h in Headers */,
- 9304B3000B02341500F7850D /* WebIconDatabaseInternal.h in Headers */,
- 939810190824BF01008DF038 /* WebIconDatabasePrivate.h in Headers */,
- 5D7BF8140C2A1D90008CE06D /* WebInspector.h in Headers */,
- 06693DDC0BFBA85200216072 /* WebInspectorClient.h in Headers */,
- B804176F1217A83100466BAE /* WebInspectorFrontend.h in Headers */,
- 7A8FF0D11075024A00A80A08 /* WebInspectorPrivate.h in Headers */,
- 939810420824BF01008DF038 /* WebJavaScriptTextInputPanel.h in Headers */,
- 37D1DCA81065928C0068F7EF /* WebJSPDFDoc.h in Headers */,
- 939810850824BF01008DF038 /* WebKeyGenerator.h in Headers */,
- 9398101B0824BF01008DF038 /* WebKit.h in Headers */,
- 9398101C0824BF01008DF038 /* WebKitErrors.h in Headers */,
- 9398106D0824BF01008DF038 /* WebKitErrorsPrivate.h in Headers */,
- CD8BFCE815531224005AFB25 /* WebKitFullScreenListener.h in Headers */,
- 9398101D0824BF01008DF038 /* WebKitLogging.h in Headers */,
- 9398101E0824BF01008DF038 /* WebKitNSStringExtras.h in Headers */,
- 1AAF58940EDCCF15008D883D /* WebKitPluginAgent.defs in Headers */,
- 1AAF58950EDCCF15008D883D /* WebKitPluginAgentReply.defs in Headers */,
- 1AAF58960EDCCF15008D883D /* WebKitPluginClient.defs in Headers */,
- 1AAF58970EDCCF15008D883D /* WebKitPluginHost.defs in Headers */,
- 1AAF58980EDCCF15008D883D /* WebKitPluginHostTypes.defs in Headers */,
- 1AAF5D090EDDE71D008D883D /* WebKitPluginHostTypes.h in Headers */,
- 939810470824BF01008DF038 /* WebKitPrefix.h in Headers */,
- 9398101F0824BF01008DF038 /* WebKitStatistics.h in Headers */,
- 939810200824BF01008DF038 /* WebKitStatisticsPrivate.h in Headers */,
- 9398107A0824BF01008DF038 /* WebKitSystemBits.h in Headers */,
- 1C0D40870AC1C8F40009C113 /* WebKitVersionChecks.h in Headers */,
- 939810790824BF01008DF038 /* WebLocalizableStrings.h in Headers */,
- BC42D324131ED1E00075FA4B /* WebLocalizableStringsInternal.h in Headers */,
- 5185F62610712B80007AA393 /* WebNavigationData.h in Headers */,
- 0AB752370FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.h in Headers */,
- 0AEBFF630F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.h in Headers */,
- 1AEA66D40DC6B1FF003D12BF /* WebNetscapePluginEventHandler.h in Headers */,
- 1AEA66D80DC6B209003D12BF /* WebNetscapePluginEventHandlerCarbon.h in Headers */,
- 1AEA6A500DC8CE2F003D12BF /* WebNetscapePluginEventHandlerCocoa.h in Headers */,
- 939810310824BF01008DF038 /* WebNetscapePluginPackage.h in Headers */,
- 9398102B0824BF01008DF038 /* WebNetscapePluginStream.h in Headers */,
- 1A4DF5220EC8C74D006BD4B4 /* WebNetscapePluginView.h in Headers */,
- 1C68F66F095B5FC100C2984E /* WebNodeHighlight.h in Headers */,
- A5687BDA135B791A0074CBCB /* WebNodeHighlighter.h in Headers */,
- 1C68F671095B5FC100C2984E /* WebNodeHighlightView.h in Headers */,
- 312E2FE514E48182007CCA18 /* WebNotification.h in Headers */,
- 31C11A6E1476552E0049A4CC /* WebNotificationClient.h in Headers */,
- 312E2FE914E48215007CCA18 /* WebNotificationInternal.h in Headers */,
- EDE983800BCDF5FE00FDAE28 /* WebNSArrayExtras.h in Headers */,
- 939810210824BF01008DF038 /* WebNSControlExtras.h in Headers */,
- 939810820824BF01008DF038 /* WebNSDataExtras.h in Headers */,
- ED7F6D8B0980683500C235ED /* WebNSDataExtrasPrivate.h in Headers */,
- 65488DA1084FBCCB00831AD0 /* WebNSDictionaryExtras.h in Headers */,
- 939810840824BF01008DF038 /* WebNSEventExtras.h in Headers */,
- 65EEDE57084FFC9E0002DB25 /* WebNSFileManagerExtras.h in Headers */,
- 939810220824BF01008DF038 /* WebNSImageExtras.h in Headers */,
- 51494D240C7EC1B7004178C5 /* WebNSNotificationCenterExtras.h in Headers */,
- 939810A20824BF01008DF038 /* WebNSObjectExtras.h in Headers */,
- 939810230824BF01008DF038 /* WebNSPasteboardExtras.h in Headers */,
- 939810870824BF01008DF038 /* WebNSPrintOperationExtras.h in Headers */,
- 9398107E0824BF01008DF038 /* WebNSURLExtras.h in Headers */,
- 65E0F88408500917007E5CB9 /* WebNSURLRequestExtras.h in Headers */,
- 65E0F9E608500F23007E5CB9 /* WebNSUserDefaultsExtras.h in Headers */,
- 939810240824BF01008DF038 /* WebNSViewExtras.h in Headers */,
- 939810250824BF01008DF038 /* WebNSWindowExtras.h in Headers */,
- A58A5799143E727000125F50 /* WebOpenPanelResultListener.h in Headers */,
- 9398102A0824BF01008DF038 /* WebPanelAuthenticationHandler.h in Headers */,
- 37B6FB4E1063530C000FDB3B /* WebPDFDocumentExtras.h in Headers */,
- 939810A50824BF01008DF038 /* WebPDFRepresentation.h in Headers */,
- 939810A40824BF01008DF038 /* WebPDFView.h in Headers */,
- 1AA879B611CBE9BF003C664F /* WebPlatformStrategies.h in Headers */,
- 939810350824BF01008DF038 /* WebPlugin.h in Headers */,
- 939810360824BF01008DF038 /* WebPluginContainer.h in Headers */,
- 939810B10824BF01008DF038 /* WebPluginContainerCheck.h in Headers */,
- 939810B00824BF01008DF038 /* WebPluginContainerPrivate.h in Headers */,
- 939810370824BF01008DF038 /* WebPluginController.h in Headers */,
- 939810380824BF01008DF038 /* WebPluginDatabase.h in Headers */,
- 939810390824BF01008DF038 /* WebPluginPackage.h in Headers */,
- 225F881509F97E8A00423A40 /* WebPluginPrivate.h in Headers */,
- 1A77B02E0EE7730500C8A1F9 /* WebPluginRequest.h in Headers */,
- 224100F3091818D900D2D266 /* WebPluginsPrivate.h in Headers */,
- 9398103A0824BF01008DF038 /* WebPluginViewFactory.h in Headers */,
- 939810AC0824BF01008DF038 /* WebPluginViewFactoryPrivate.h in Headers */,
- 939810720824BF01008DF038 /* WebPolicyDelegate.h in Headers */,
- 939810730824BF01008DF038 /* WebPolicyDelegatePrivate.h in Headers */,
- 939810A80824BF01008DF038 /* WebPreferenceKeysPrivate.h in Headers */,
- 9398105D0824BF01008DF038 /* WebPreferences.h in Headers */,
- 9398105E0824BF01008DF038 /* WebPreferencesPrivate.h in Headers */,
- A57E2F24120749E600048DF3 /* WebQuotaManager.h in Headers */,
- 0F30985F11ECFE4500F559DF /* WebRenderLayer.h in Headers */,
- 9398105F0824BF01008DF038 /* WebRenderNode.h in Headers */,
- 939810880824BF01008DF038 /* WebResource.h in Headers */,
- 934C4AA00F0141F7009372C0 /* WebResourceInternal.h in Headers */,
- 939810600824BF01008DF038 /* WebResourceLoadDelegate.h in Headers */,
- 656D333E0AF21AE900212169 /* WebResourceLoadDelegatePrivate.h in Headers */,
- 939810890824BF01008DF038 /* WebResourcePrivate.h in Headers */,
- 7E6FEF0808985A7200C44C3F /* WebScriptDebugDelegate.h in Headers */,
- C0167BF80D7F5DD00028696E /* WebScriptDebugger.h in Headers */,
- C0B1F7E810AC8E3100C925D9 /* WebScriptWorld.h in Headers */,
- C0B1F7EA10AC8E3100C925D9 /* WebScriptWorldInternal.h in Headers */,
- A5DEFC0B11D5331C00885273 /* WebSecurityOriginInternal.h in Headers */,
- A5DEFC0C11D5331C00885273 /* WebSecurityOriginPrivate.h in Headers */,
- BC26C69E10B743F400B687ED /* WebSerializedJSValue.h in Headers */,
- F67DD7E6125E4527007BDCB8 /* WebSerializedJSValuePrivate.h in Headers */,
- 3AE15D5012DBDED4009323C8 /* WebStorageManagerInternal.h in Headers */,
- 3AB02B0012C132B200FBB694 /* WebStorageManagerPrivate.h in Headers */,
- 3ABB3C7A1309C3B500E93D94 /* WebStorageTrackerClient.h in Headers */,
- 939810270824BF01008DF038 /* WebStringTruncator.h in Headers */,
- 93EB178F09F88D510091F8FF /* WebSystemInterface.h in Headers */,
- 936A2DEA0FD2D08400D312DB /* WebTextCompletionController.h in Headers */,
- 1A74A28E0F4F75400082E228 /* WebTextInputWindowController.h in Headers */,
- F834AAD70E64B1C700E2737C /* WebTextIterator.h in Headers */,
- DD7CDEE70A23BA9E00069928 /* WebTypesInternal.h in Headers */,
- 939810750824BF01008DF038 /* WebUIDelegate.h in Headers */,
- 939810830824BF01008DF038 /* WebUIDelegatePrivate.h in Headers */,
- 939810150824BF01008DF038 /* WebURLsWithTitles.h in Headers */,
- C0C5B3EE1177A4A0002B0AEF /* WebUserContentURLPattern.h in Headers */,
- 939810700824BF01008DF038 /* WebView.h in Headers */,
- BC2E464D0FD8A96800A9D9DE /* WebViewData.h in Headers */,
- 9398109B0824BF01008DF038 /* WebViewInternal.h in Headers */,
- 939810710824BF01008DF038 /* WebViewPrivate.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
- 9398100A0824BF01008DF038 /* WebKit */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 149C282D08902B0F008A9EFC /* Build configuration list for PBXNativeTarget "WebKit" */;
- buildPhases = (
- 5D2F7DB70C687A5A00B5B72B /* Update Info.plist with version information */,
- 1C6CB0510AA63EB000D23BFD /* Migrate Headers */,
- 939811300824BF01008DF038 /* Make Frameworks Symbolic Link */,
- 9398100D0824BF01008DF038 /* Headers */,
- 939810B20824BF01008DF038 /* Resources */,
- 939810BB0824BF01008DF038 /* Sources */,
- 1C395DE20C6BE8E0000D1E52 /* Generate 64-bit Export File */,
- 939811270824BF01008DF038 /* Frameworks */,
- 5D0D54210E98631D0029E223 /* Check For Weak VTables and Externals */,
- 3713F018142905B70036387F /* Check For Inappropriate Objective-C Class Names */,
- 5D88EE6C11407DE800BC3ABC /* Check For Framework Include Consistency */,
- A55DEAA516703F9F003DB841 /* Check For Inappropriate Macros in External Headers */,
- 5DE6D18C0FCF231B002DE28C /* Symlink WebKitPluginHost in to place */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = WebKit;
- productInstallPath = /System/Library/Frameworks;
- productName = WebKit;
- productReference = 939811330824BF01008DF038 /* WebKit.framework */;
- productType = "com.apple.product-type.framework";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 0867D690FE84028FC02AAC07 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastUpgradeCheck = 0440;
- };
- buildConfigurationList = 149C283208902B0F008A9EFC /* Build configuration list for PBXProject "WebKit" */;
- compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
- hasScannedForEncodings = 1;
- knownRegions = (
- English,
- Japanese,
- French,
- German,
- Spanish,
- Dutch,
- Italian,
- );
- mainGroup = 0867D691FE84028FC02AAC07 /* WebKit */;
- productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- 9398100A0824BF01008DF038 /* WebKit */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- 939810B20824BF01008DF038 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 1C9F5EFC1651CDF700C480F8 /* Dock.pdf in Resources */,
- A864B3F6123ED9FA00C2A612 /* MailQuirksUserScript.js in Resources */,
- 29AEF960134C76FB00FE5096 /* OutlookQuirksUserScript.js in Resources */,
- 939810B70824BF01008DF038 /* url_icon.tiff in Resources */,
- 939810B50824BF01008DF038 /* WebAuthenticationPanel.nib in Resources */,
- 5DE83A7A0D0F7F9400CAD12A /* WebJavaScriptTextInputPanel.nib in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
- 1C395DE20C6BE8E0000D1E52 /* Generate 64-bit Export File */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(PROJECT_DIR)/mac/WebKit.exp",
- );
- name = "Generate 64-bit Export File";
- outputPaths = (
- "$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/WebKit.LP64.exp",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "mkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit\"\n\n# exclude Carbon functions on 64-bit\nsed -e s/^_HIWebViewCreate$// -e s/^_HIWebViewGetWebView$// -e s/^_WebConvertNSImageToCGImageRef$// -e s/^_WebInitForCarbon$// \"${PROJECT_DIR}/mac/WebKit.exp\" > \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit/WebKit.LP64.exp\"\n";
- };
- 1C6CB0510AA63EB000D23BFD /* Migrate Headers */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(PROJECT_DIR)/mac/MigrateHeaders.make",
- );
- name = "Migrate Headers";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "mkdir -p \"${TARGET_BUILD_DIR}/${PRIVATE_HEADERS_FOLDER_PATH}\"\nmkdir -p \"${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}\"\nmkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit\"\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" ]; then\n make -C mac -f \"MigrateHeaders.make\" -j `/usr/sbin/sysctl -n hw.availcpu`\nfi\n";
- };
- 3713F018142905B70036387F /* Check For Inappropriate Objective-C Class Names */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)",
- );
- name = "Check For Inappropriate Objective-C Class Names";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-objc-class-names ]; then\n ../../Tools/Scripts/check-for-inappropriate-objc-class-names Web _Web || exit $?\nfi";
- };
- 5D0D54210E98631D0029E223 /* Check For Weak VTables and Externals */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)",
- );
- name = "Check For Weak VTables and Externals";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- 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;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(PROJECT_DIR)/mac/Configurations/Version.xcconfig",
- );
- name = "Update Info.plist with version information";
- outputPaths = (
- "$(PROJECT_DIR)/mac/Info.plist",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "# Touch Info.plist to let Xcode know it needs to copy it into the built product\nif [[ \"${CONFIGURATION}\" != \"Production\" ]]; then\n touch \"${PROJECT_DIR}/mac/Info.plist\";\nfi;\n";
- };
- 5D88EE6C11407DE800BC3ABC /* Check For Framework Include Consistency */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)",
- );
- name = "Check For Framework Include Consistency";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- 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;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Symlink WebKitPluginHost in to place";
- outputPaths = (
- "$(CONFIGURATION_BUILD_DIR)/WebKit.framework/WebKitPluginHost.app",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "if [[ \"${MACOSX_DEPLOYMENT_TARGET}\" > \"10.5\" && \"${CONFIGURATION}\" != \"Production\" && \"${ACTION}\" == \"build\" ]]; then\n if [[ ! -e \"${CONFIGURATION_BUILD_DIR}/WebKit.framework/WebKitPluginHost.app\" ]]; then\n ln -s /System/Library/Frameworks/WebKit.framework/WebKitPluginHost.app \"${CONFIGURATION_BUILD_DIR}/WebKit.framework/WebKitPluginHost.app\"\n fi\nfi\n";
- };
- 939811300824BF01008DF038 /* Make Frameworks Symbolic Link */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 8;
- files = (
- );
- inputPaths = (
- WebKit.xcodeproj,
- );
- name = "Make Frameworks Symbolic Link";
- outputPaths = (
- "$(TARGET_BUILD_DIR)/$(PRIVATE_HEADERS_FOLDER_PATH)/frameworks-symlink-stamp",
- );
- runOnlyForDeploymentPostprocessing = 1;
- shellPath = /bin/sh;
- shellScript = "ln -sf Versions/Current/Frameworks \"$TARGET_BUILD_DIR/WebKit.framework/Frameworks\"\n";
- };
- A55DEAA516703F9F003DB841 /* Check For Inappropriate Macros in External Headers */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "$(TARGET_BUILD_DIR)/$(EXECUTABLE_PATH)",
- );
- name = "Check For Inappropriate Macros in External Headers";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-macros-in-external-headers ]; then\n ../../Tools/Scripts/check-for-inappropriate-macros-in-external-headers Headers || exit $?\nfi";
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 939810BB0824BF01008DF038 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 1A60519117502A5D00BC62F5 /* BinaryPropertyList.cpp in Sources */,
- 939811010824BF01008DF038 /* CarbonUtils.m in Sources */,
- 939810FD0824BF01008DF038 /* CarbonWindowAdapter.mm in Sources */,
- 939810FE0824BF01008DF038 /* CarbonWindowContentView.m in Sources */,
- 939810FF0824BF01008DF038 /* CarbonWindowFrame.m in Sources */,
- B82958D4132707D0000D0E79 /* CorrectionPanel.mm in Sources */,
- 1A60519317502A5D00BC62F5 /* HistoryPropertyList.cpp in Sources */,
- 939811000824BF01008DF038 /* HIViewAdapter.m in Sources */,
- 939811020824BF01008DF038 /* HIWebView.mm in Sources */,
- 1A8DED510EE88B8A00F25022 /* HostedNetscapePluginStream.mm in Sources */,
- 1AAF5CEB0EDDE1FE008D883D /* NetscapePluginHostManager.mm in Sources */,
- 1AAF5CED0EDDE1FE008D883D /* NetscapePluginHostProxy.mm in Sources */,
- 1AAF5CEF0EDDE1FE008D883D /* NetscapePluginInstanceProxy.mm in Sources */,
- 939810DD0824BF01008DF038 /* npapi.mm in Sources */,
- 1CCFFD130B1F81F2002EE926 /* OldWebAssertions.c in Sources */,
- 7C01CB86173435C900C5D807 /* PopupMenuMac.mm in Sources */,
- 1A2DBEA00F251E3A0036F8A6 /* ProxyInstance.mm in Sources */,
- E169836C11346D5600894115 /* ProxyRuntimeObject.mm in Sources */,
- 7C01CB88173435C900C5D807 /* SearchPopupMenuMac.mm in Sources */,
- CEDA12DB152CBE6800D9E08D /* WebAlternativeTextClient.mm in Sources */,
- B6CE5C24100BC5CE00219936 /* WebApplicationCache.mm in Sources */,
- A5DEFC1411D5344B00885273 /* WebApplicationCacheQuotaManager.mm in Sources */,
- 9398111D0824BF01008DF038 /* WebArchive.mm in Sources */,
- 939810CF0824BF01008DF038 /* WebAuthenticationPanel.m in Sources */,
- 939810BC0824BF01008DF038 /* WebBackForwardList.mm in Sources */,
- 1A4DF5E50EC8D104006BD4B4 /* WebBaseNetscapePluginView.mm in Sources */,
- 939810D30824BF01008DF038 /* WebBasePluginPackage.mm in Sources */,
- 5241ADF60B1BC48A004012BD /* WebCache.mm in Sources */,
- 14D825300AF955090004F057 /* WebChromeClient.mm in Sources */,
- 939810EB0824BF01008DF038 /* WebClipView.mm in Sources */,
- 065AD5A40B0C32C7005A2B1D /* WebContextMenuClient.mm in Sources */,
- 939810BF0824BF01008DF038 /* WebCoreStatistics.mm in Sources */,
- 93E2A1A5123B0B3C009FE12A /* WebDashboardRegion.mm in Sources */,
- 511F3FD50CECC88F00852565 /* WebDatabaseManager.mm in Sources */,
- 511F3FD80CECC88F00852565 /* WebDatabaseManagerClient.mm in Sources */,
- A5DEFC1011D5343E00885273 /* WebDatabaseQuotaManager.mm in Sources */,
- 939810ED0824BF01008DF038 /* WebDataSource.mm in Sources */,
- 939810EF0824BF01008DF038 /* WebDefaultContextMenuDelegate.mm in Sources */,
- 9398111B0824BF01008DF038 /* WebDefaultEditingDelegate.m in Sources */,
- 939810F00824BF01008DF038 /* WebDefaultPolicyDelegate.m in Sources */,
- 9398110A0824BF01008DF038 /* WebDefaultUIDelegate.m in Sources */,
- BC542C430FD7766F00D8AB5D /* WebDelegateImplementationCaching.mm in Sources */,
- 598AD9221201CF1000ABAE4E /* WebDeviceOrientation.mm in Sources */,
- 598AD91E1201CECF00ABAE4E /* WebDeviceOrientationClient.mm in Sources */,
- 598AD9281201CF3200ABAE4E /* WebDeviceOrientationProviderMock.mm in Sources */,
- 65FFB7FD0AD0B7D30048CD05 /* WebDocumentLoaderMac.mm in Sources */,
- 9398111C0824BF01008DF038 /* WebDOMOperations.mm in Sources */,
- E15663190FB61C1F00C199CA /* WebDownload.mm in Sources */,
- A70936B00B5608DC00CDB48E /* WebDragClient.mm in Sources */,
- 939810F10824BF01008DF038 /* WebDynamicScrollBarsView.mm in Sources */,
- 4BF99F910AE050BC00815C2B /* WebEditorClient.mm in Sources */,
- DD89682109AA87240097E7F0 /* WebElementDictionary.mm in Sources */,
- 939810FC0824BF01008DF038 /* WebFormDelegate.m in Sources */,
- 939810F20824BF01008DF038 /* WebFrame.mm in Sources */,
- 931633EF0AEDFFAE0062B92D /* WebFrameLoaderClient.mm in Sources */,
- 9391F276121B38BD00EBF7E8 /* WebFrameNetworkingContext.mm in Sources */,
- 939811060824BF01008DF038 /* WebFrameView.mm in Sources */,
- CDA62AE3125F87C2007FD118 /* WebFullScreenController.mm in Sources */,
- BC7F884C10C8775A00D6133D /* WebGeolocationClient.mm in Sources */,
- BC7F889F10C9D30C00D6133D /* WebGeolocationPosition.mm in Sources */,
- 939811130824BF01008DF038 /* WebHistory.mm in Sources */,
- 939810BD0824BF01008DF038 /* WebHistoryItem.mm in Sources */,
- 1AAF5FC00EDE3A92008D883D /* WebHostedNetscapePluginView.mm in Sources */,
- 939810F30824BF01008DF038 /* WebHTMLRepresentation.mm in Sources */,
- 939810F40824BF01008DF038 /* WebHTMLView.mm in Sources */,
- 939810C10824BF01008DF038 /* WebIconDatabase.mm in Sources */,
- 51494CD70C7EBDE0004178C5 /* WebIconDatabaseClient.mm in Sources */,
- 5D7BF8150C2A1D90008CE06D /* WebInspector.mm in Sources */,
- 06693DDD0BFBA85200216072 /* WebInspectorClient.mm in Sources */,
- 1C7B0C660EB2464D00A28502 /* WebInspectorClientCF.cpp in Sources */,
- B80417701217A83100466BAE /* WebInspectorFrontend.mm in Sources */,
- 939810E40824BF01008DF038 /* WebJavaScriptTextInputPanel.m in Sources */,
- 37D1DCA91065928C0068F7EF /* WebJSPDFDoc.mm in Sources */,
- 939811170824BF01008DF038 /* WebKeyGenerator.mm in Sources */,
- 939811030824BF01008DF038 /* WebKitErrors.m in Sources */,
- CD8BFCE715531224005AFB25 /* WebKitFullScreenListener.mm in Sources */,
- 939810C30824BF01008DF038 /* WebKitLogging.m in Sources */,
- 939810C40824BF01008DF038 /* WebKitNSStringExtras.mm in Sources */,
- 1AAF5D0F0EDDE7A7008D883D /* WebKitPluginAgent.defs in Sources */,
- 1AAF5D000EDDE604008D883D /* WebKitPluginClient.defs in Sources */,
- 1AAF5CF10EDDE586008D883D /* WebKitPluginHost.defs in Sources */,
- 939810C50824BF01008DF038 /* WebKitStatistics.m in Sources */,
- 9398110E0824BF01008DF038 /* WebKitSystemBits.m in Sources */,
- 1C0D40880AC1C8F40009C113 /* WebKitVersionChecks.m in Sources */,
- ED5B9524111B725A00472298 /* WebLocalizableStrings.mm in Sources */,
- BC42D34D131ED3880075FA4B /* WebLocalizableStringsInternal.mm in Sources */,
- 5185F62810712B97007AA393 /* WebNavigationData.mm in Sources */,
- 0AB752380FA2E4DB00D7CBB1 /* WebNetscapeContainerCheckContextInfo.mm in Sources */,
- 0AEBFF640F9FA8BE000D486B /* WebNetscapeContainerCheckPrivate.mm in Sources */,
- 1AEA66D50DC6B1FF003D12BF /* WebNetscapePluginEventHandler.mm in Sources */,
- 1AEA66D90DC6B209003D12BF /* WebNetscapePluginEventHandlerCarbon.mm in Sources */,
- 1AEA6A510DC8CE2F003D12BF /* WebNetscapePluginEventHandlerCocoa.mm in Sources */,
- 939810D60824BF01008DF038 /* WebNetscapePluginPackage.mm in Sources */,
- 939810D10824BF01008DF038 /* WebNetscapePluginStream.mm in Sources */,
- 1A4DF5230EC8C74D006BD4B4 /* WebNetscapePluginView.mm in Sources */,
- 1C68F670095B5FC100C2984E /* WebNodeHighlight.mm in Sources */,
- A5687BDB135B791A0074CBCB /* WebNodeHighlighter.mm in Sources */,
- 1C68F672095B5FC100C2984E /* WebNodeHighlightView.mm in Sources */,
- 312E2FE614E48182007CCA18 /* WebNotification.mm in Sources */,
- 31C11A6F1476552E0049A4CC /* WebNotificationClient.mm in Sources */,
- EDE983810BCDF5FE00FDAE28 /* WebNSArrayExtras.m in Sources */,
- 939810C60824BF01008DF038 /* WebNSControlExtras.m in Sources */,
- 939811150824BF01008DF038 /* WebNSDataExtras.m in Sources */,
- 65488DA2084FBCCB00831AD0 /* WebNSDictionaryExtras.m in Sources */,
- 939811160824BF01008DF038 /* WebNSEventExtras.m in Sources */,
- 65EEDE58084FFC9E0002DB25 /* WebNSFileManagerExtras.mm in Sources */,
- 939810C70824BF01008DF038 /* WebNSImageExtras.m in Sources */,
- 51494D250C7EC1B7004178C5 /* WebNSNotificationCenterExtras.m in Sources */,
- 934C4A910F01406C009372C0 /* WebNSObjectExtras.mm in Sources */,
- 939810C80824BF01008DF038 /* WebNSPasteboardExtras.mm in Sources */,
- 939811190824BF01008DF038 /* WebNSPrintOperationExtras.m in Sources */,
- 939811120824BF01008DF038 /* WebNSURLExtras.mm in Sources */,
- 65E0F88508500917007E5CB9 /* WebNSURLRequestExtras.m in Sources */,
- 65E0F9E708500F23007E5CB9 /* WebNSUserDefaultsExtras.mm in Sources */,
- 939810C90824BF01008DF038 /* WebNSViewExtras.m in Sources */,
- 939810CA0824BF01008DF038 /* WebNSWindowExtras.m in Sources */,
- A58A579A143E727000125F50 /* WebOpenPanelResultListener.mm in Sources */,
- 939810D00824BF01008DF038 /* WebPanelAuthenticationHandler.m in Sources */,
- 37B6FB4F1063530C000FDB3B /* WebPDFDocumentExtras.mm in Sources */,
- 9398111F0824BF01008DF038 /* WebPDFRepresentation.mm in Sources */,
- 9398111E0824BF01008DF038 /* WebPDFView.mm in Sources */,
- 1AA879B711CBE9BF003C664F /* WebPlatformStrategies.mm in Sources */,
- 939811260824BF01008DF038 /* WebPluginContainerCheck.mm in Sources */,
- 939810DA0824BF01008DF038 /* WebPluginController.mm in Sources */,
- 939810DB0824BF01008DF038 /* WebPluginDatabase.mm in Sources */,
- 939810DC0824BF01008DF038 /* WebPluginPackage.mm in Sources */,
- 1A77B02F0EE7730500C8A1F9 /* WebPluginRequest.m in Sources */,
- 224100F90918190100D2D266 /* WebPluginsPrivate.m in Sources */,
- 939811080824BF01008DF038 /* WebPolicyDelegate.mm in Sources */,
- 939810F80824BF01008DF038 /* WebPreferences.mm in Sources */,
- 0F30986011ECFE4500F559DF /* WebRenderLayer.mm in Sources */,
- 939810F90824BF01008DF038 /* WebRenderNode.mm in Sources */,
- 9398111A0824BF01008DF038 /* WebResource.mm in Sources */,
- 7E6FEF0908985A7200C44C3F /* WebScriptDebugDelegate.mm in Sources */,
- C0167BF90D7F5DD00028696E /* WebScriptDebugger.mm in Sources */,
- C0B1F7E910AC8E3100C925D9 /* WebScriptWorld.mm in Sources */,
- A5DEFC0A11D5331C00885273 /* WebSecurityOrigin.mm in Sources */,
- BC26C6A510B7447A00B687ED /* WebSerializedJSValue.mm in Sources */,
- 3AB02AF612C1319B00FBB694 /* WebStorageManager.mm in Sources */,
- 3ABB3C7B1309C3B500E93D94 /* WebStorageTrackerClient.mm in Sources */,
- 939810CC0824BF01008DF038 /* WebStringTruncator.mm in Sources */,
- 93EB178D09F88D460091F8FF /* WebSystemInterface.mm in Sources */,
- 936A2DE80FD2D08000D312DB /* WebTextCompletionController.mm in Sources */,
- 1A74A28F0F4F75400082E228 /* WebTextInputWindowController.m in Sources */,
- F834AAD80E64B1C700E2737C /* WebTextIterator.mm in Sources */,
- 939810BE0824BF01008DF038 /* WebURLsWithTitles.m in Sources */,
- C0C5B3EF1177A4A0002B0AEF /* WebUserContentURLPattern.mm in Sources */,
- 939811070824BF01008DF038 /* WebView.mm in Sources */,
- BC2E464E0FD8A96800A9D9DE /* WebViewData.mm in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
- 5DE83A740D0F7F9400CAD12A /* WebJavaScriptTextInputPanel.nib */ = {
- isa = PBXVariantGroup;
- children = (
- 5DE83A750D0F7F9400CAD12A /* English */,
- );
- name = WebJavaScriptTextInputPanel.nib;
- path = mac/Resources;
- sourceTree = SOURCE_ROOT;
- };
- 9345D17B0365BF35008635CE /* WebAuthenticationPanel.nib */ = {
- isa = PBXVariantGroup;
- children = (
- 9345D17C0365BF35008635CE /* English */,
- );
- name = WebAuthenticationPanel.nib;
- path = ..;
- sourceTree = "<group>";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- 149C282E08902B0F008A9EFC /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 1C904FD20BA9DD0F0081E9D0 /* WebKit.xcconfig */;
- buildSettings = {
- DEBUG_DEFINES = "$(DEBUG_DEFINES_debug) ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH";
- INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)";
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS)",
- "-l$(WEBKIT_SYSTEM_INTERFACE_LIBRARY)",
- );
- };
- name = Debug;
- };
- 149C282F08902B0F008A9EFC /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 1C904FD20BA9DD0F0081E9D0 /* WebKit.xcconfig */;
- buildSettings = {
- DEBUG_DEFINES = "$(DEBUG_DEFINES_$(CURRENT_VARIANT)) ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH";
- INSTALL_PATH = "$(BUILT_PRODUCTS_DIR)";
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS)",
- "-l$(WEBKIT_SYSTEM_INTERFACE_LIBRARY)",
- );
- };
- name = Release;
- };
- 149C283108902B0F008A9EFC /* Production */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 1C904FD20BA9DD0F0081E9D0 /* WebKit.xcconfig */;
- buildSettings = {
- BUILD_VARIANTS = normal;
- OTHER_LDFLAGS = (
- "$(OTHER_LDFLAGS)",
- "-lWebKitSystemInterface",
- );
- };
- name = Production;
- };
- 149C283308902B0F008A9EFC /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 1C904FD40BA9DD0F0081E9D0 /* DebugRelease.xcconfig */;
- buildSettings = {
- DEBUG_DEFINES = "$(DEBUG_DEFINES_debug)";
- GCC_OPTIMIZATION_LEVEL = "$(GCC_OPTIMIZATION_LEVEL_debug)";
- STRIP_INSTALLED_PRODUCT = "$(STRIP_INSTALLED_PRODUCT_debug)";
- };
- name = Debug;
- };
- 149C283408902B0F008A9EFC /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 1C904FD40BA9DD0F0081E9D0 /* DebugRelease.xcconfig */;
- buildSettings = {
- STRIP_INSTALLED_PRODUCT = NO;
- };
- name = Release;
- };
- 149C283608902B0F008A9EFC /* Production */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 1C904FD50BA9DD0F0081E9D0 /* Base.xcconfig */;
- buildSettings = {
- };
- name = Production;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 149C282D08902B0F008A9EFC /* Build configuration list for PBXNativeTarget "WebKit" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 149C282E08902B0F008A9EFC /* Debug */,
- 149C282F08902B0F008A9EFC /* Release */,
- 149C283108902B0F008A9EFC /* Production */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Production;
- };
- 149C283208902B0F008A9EFC /* Build configuration list for PBXProject "WebKit" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 149C283308902B0F008A9EFC /* Debug */,
- 149C283408902B0F008A9EFC /* Release */,
- 149C283608902B0F008A9EFC /* Production */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Production;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
-}
diff --git a/Source/WebKit/WebKit1.pri b/Source/WebKit/WebKit1.pri
deleted file mode 100644
index 6fc182941..000000000
--- a/Source/WebKit/WebKit1.pri
+++ /dev/null
@@ -1,24 +0,0 @@
-# -------------------------------------------------------------------
-# This file contains shared rules used both when building WebKit1
-# itself, and by targets that use WebKit1.
-#
-# See 'Tools/qmake/README' for an overview of the build system
-# -------------------------------------------------------------------
-
-SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/WebKit
-
-INCLUDEPATH += \
- $$SOURCE_DIR/qt/Api \
- $$SOURCE_DIR/qt/WebCoreSupport \
- $$ROOT_WEBKIT_DIR/Source/WTF/wtf/qt
-
-have?(qtsensors):if(enable?(DEVICE_ORIENTATION)|enable?(ORIENTATION_EVENTS)): QT += sensors
-
-have?(qtpositioning):enable?(GEOLOCATION): QT += positioning
-
-contains(CONFIG, texmap): DEFINES += WTF_USE_TEXTURE_MAPPER=1
-
-use?(PLUGIN_BACKEND_XLIB): PKGCONFIG += x11
-
-QT += network
-
diff --git a/Source/WebKit/WebKit1.pro b/Source/WebKit/WebKit1.pro
deleted file mode 100644
index 6dbb90736..000000000
--- a/Source/WebKit/WebKit1.pro
+++ /dev/null
@@ -1,124 +0,0 @@
-# -------------------------------------------------------------------
-# Target file for the WebKit1 static library
-#
-# See 'Tools/qmake/README' for an overview of the build system
-# -------------------------------------------------------------------
-
-TEMPLATE = lib
-TARGET = WebKit1
-
-include(WebKit1.pri)
-
-WEBKIT += wtf javascriptcore webcore
-QT += gui
-
-# This is relied upon by our export macros and seems not to be properly
-# defined by the logic in qt_module.prf as it should
-DEFINES += QT_BUILD_WEBKIT_LIB
-
-CONFIG += staticlib
-
-SOURCES += \
- $$PWD/qt/Api/qhttpheader.cpp \
- $$PWD/qt/Api/qwebdatabase.cpp \
- $$PWD/qt/Api/qwebelement.cpp \
- $$PWD/qt/Api/qwebhistory.cpp \
- $$PWD/qt/Api/qwebhistoryinterface.cpp \
- $$PWD/qt/Api/qwebkitglobal.cpp \
- $$PWD/qt/Api/qwebplugindatabase.cpp \
- $$PWD/qt/Api/qwebpluginfactory.cpp \
- $$PWD/qt/Api/qwebsecurityorigin.cpp \
- $$PWD/qt/Api/qwebsettings.cpp \
- $$PWD/qt/Api/qwebscriptworld.cpp \
- $$PWD/qt/WebCoreSupport/ChromeClientQt.cpp \
- $$PWD/qt/WebCoreSupport/ContextMenuClientQt.cpp \
- $$PWD/qt/WebCoreSupport/DragClientQt.cpp \
- $$PWD/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp \
- $$PWD/qt/WebCoreSupport/EditorClientQt.cpp \
- $$PWD/qt/WebCoreSupport/FrameLoaderClientQt.cpp \
- $$PWD/qt/WebCoreSupport/FrameNetworkingContextQt.cpp \
- $$PWD/qt/WebCoreSupport/GeolocationPermissionClientQt.cpp \
- $$PWD/qt/WebCoreSupport/InitWebCoreQt.cpp \
- $$PWD/qt/WebCoreSupport/InspectorClientQt.cpp \
- $$PWD/qt/WebCoreSupport/InspectorServerQt.cpp \
- $$PWD/qt/WebCoreSupport/NotificationPresenterClientQt.cpp \
- $$PWD/qt/WebCoreSupport/PlatformStrategiesQt.cpp \
- $$PWD/qt/WebCoreSupport/PopupMenuQt.cpp \
- $$PWD/qt/WebCoreSupport/QtPlatformPlugin.cpp \
- $$PWD/qt/WebCoreSupport/QtPluginWidgetAdapter.cpp \
- $$PWD/qt/WebCoreSupport/QtPrintContext.cpp \
- $$PWD/qt/WebCoreSupport/QWebFrameAdapter.cpp \
- $$PWD/qt/WebCoreSupport/QWebPageAdapter.cpp \
- $$PWD/qt/WebCoreSupport/SearchPopupMenuQt.cpp \
- $$PWD/qt/WebCoreSupport/TextCheckerClientQt.cpp \
- $$PWD/qt/WebCoreSupport/TextureMapperLayerClientQt.cpp \
- $$PWD/qt/WebCoreSupport/UndoStepQt.cpp \
- $$PWD/qt/WebCoreSupport/WebEventConversion.cpp
-
-HEADERS += \
- $$PWD/qt/Api/qhttpheader_p.h \
- $$PWD/qt/Api/qwebdatabase.h \
- $$PWD/qt/Api/qwebelement.h \
- $$PWD/qt/Api/qwebelement_p.h \
- $$PWD/qt/Api/qwebhistory.h \
- $$PWD/qt/Api/qwebhistory_p.h \
- $$PWD/qt/Api/qwebhistoryinterface.h \
- $$PWD/qt/Api/qwebplugindatabase_p.h \
- $$PWD/qt/Api/qwebpluginfactory.h \
- $$PWD/qt/Api/qwebsecurityorigin.h \
- $$PWD/qt/Api/qwebsettings.h \
- $$PWD/qt/Api/qwebscriptworld_p.h \
- $$PWD/qt/Api/qwebkitplatformplugin.h \
- $$PWD/qt/WebCoreSupport/ChromeClientQt.h \
- $$PWD/qt/WebCoreSupport/ContextMenuClientQt.h \
- $$PWD/qt/WebCoreSupport/DragClientQt.h \
- $$PWD/qt/WebCoreSupport/EditorClientQt.h \
- $$PWD/qt/WebCoreSupport/FrameLoaderClientQt.h \
- $$PWD/qt/WebCoreSupport/FrameNetworkingContextQt.h \
- $$PWD/qt/WebCoreSupport/GeolocationPermissionClientQt.h \
- $$PWD/qt/WebCoreSupport/InitWebCoreQt.h \
- $$PWD/qt/WebCoreSupport/InspectorClientQt.h \
- $$PWD/qt/WebCoreSupport/InspectorServerQt.h \
- $$PWD/qt/WebCoreSupport/NotificationPresenterClientQt.h \
- $$PWD/qt/WebCoreSupport/PlatformStrategiesQt.h \
- $$PWD/qt/WebCoreSupport/PopupMenuQt.h \
- $$PWD/qt/WebCoreSupport/QtPlatformPlugin.h \
- $$PWD/qt/WebCoreSupport/QtPluginWidgetAdapter.h \
- $$PWD/qt/WebCoreSupport/QtPrintContext.h \
- $$PWD/qt/WebCoreSupport/QWebFrameAdapter.h \
- $$PWD/qt/WebCoreSupport/QWebPageAdapter.h \
- $$PWD/qt/WebCoreSupport/SearchPopupMenuQt.h \
- $$PWD/qt/WebCoreSupport/TextCheckerClientQt.h \
- $$PWD/qt/WebCoreSupport/TextureMapperLayerClientQt.h \
- $$PWD/qt/WebCoreSupport/UndoStepQt.h \
- $$PWD/qt/WebCoreSupport/WebEventConversion.h
-
-INCLUDEPATH += \
- $$PWD/qt/WebCoreSupport
-
-use?(3D_GRAPHICS): WEBKIT += angle
-
-have?(qtpositioning):enable?(GEOLOCATION) {
- HEADERS += \
- $$PWD/qt/WebCoreSupport/GeolocationClientQt.h
- SOURCES += \
- $$PWD/qt/WebCoreSupport/GeolocationClientQt.cpp
-}
-
-enable?(ICONDATABASE) {
- HEADERS += \
- $$PWD/../WebCore/loader/icon/IconDatabaseClient.h \
- $$PWD/qt/WebCoreSupport/IconDatabaseClientQt.h
-
- SOURCES += \
- $$PWD/qt/WebCoreSupport/IconDatabaseClientQt.cpp
-}
-
-enable?(VIDEO) {
- use?(GSTREAMER) | use?(QT_MULTIMEDIA) {
- HEADERS += $$PWD/qt/WebCoreSupport/FullScreenVideoQt.h
- SOURCES += $$PWD/qt/WebCoreSupport/FullScreenVideoQt.cpp
- }
-}
-
-
diff --git a/Source/WebKit/blackberry/Api/BackingStore.cpp b/Source/WebKit/blackberry/Api/BackingStore.cpp
deleted file mode 100644
index 2aacf5eba..000000000
--- a/Source/WebKit/blackberry/Api/BackingStore.cpp
+++ /dev/null
@@ -1,2303 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 "BackingStore.h"
-
-#include "BackingStoreClient.h"
-#include "BackingStoreTile.h"
-#include "BackingStoreVisualizationViewportAccessor.h"
-#include "BackingStore_p.h"
-#include "FatFingers.h"
-#include "Frame.h"
-#include "FrameView.h"
-#include "GraphicsContext.h"
-#include "InspectorController.h"
-#include "InspectorInstrumentation.h"
-#include "Page.h"
-#include "SurfacePool.h"
-#include "WebPage.h"
-#include "WebPageClient.h"
-#include "WebPageCompositorClient.h"
-#include "WebPageCompositor_p.h"
-#include "WebPage_p.h"
-#include "WebSettings.h"
-
-#include <BlackBerryPlatformExecutableMessage.h>
-#include <BlackBerryPlatformGraphics.h>
-#include <BlackBerryPlatformGraphicsContext.h>
-#include <BlackBerryPlatformIntRectRegion.h>
-#include <BlackBerryPlatformLog.h>
-#include <BlackBerryPlatformMessage.h>
-#include <BlackBerryPlatformMessageClient.h>
-#include <BlackBerryPlatformPerformanceMonitor.h>
-#include <BlackBerryPlatformScreen.h>
-#include <BlackBerryPlatformSettings.h>
-#include <BlackBerryPlatformViewportAccessor.h>
-#include <BlackBerryPlatformWindow.h>
-#include <graphics/AffineTransform.h>
-
-#include <wtf/CurrentTime.h>
-#include <wtf/MathExtras.h>
-#include <wtf/NotFound.h>
-
-#define SUPPRESS_NON_VISIBLE_REGULAR_RENDER_JOBS 0
-#define ENABLE_SCROLLBARS 1
-#define ENABLE_REPAINTONSCROLL 1
-#define DEBUG_BACKINGSTORE 0
-#define DEBUG_WEBCORE_REQUESTS 0
-#define DEBUG_VISUALIZE 0
-#define DEBUG_TILEMATRIX 0
-
-using namespace WebCore;
-using namespace std;
-
-using BlackBerry::Platform::Graphics::Window;
-using BlackBerry::Platform::IntRect;
-using BlackBerry::Platform::IntPoint;
-using BlackBerry::Platform::IntSize;
-
-namespace BlackBerry {
-namespace WebKit {
-
-WebPage* BackingStorePrivate::s_currentBackingStoreOwner = 0;
-
-typedef std::pair<int, int> Divisor;
-typedef Vector<Divisor> DivisorList;
-// FIXME: Cache this and/or use a smarter algorithm.
-static DivisorList divisors(unsigned n)
-{
- DivisorList divisors;
- for (unsigned i = 1; i <= n; ++i)
- if (!(n % i))
- divisors.append(std::make_pair(i, n / i));
- return divisors;
-}
-
-Platform::IntRect BackingStoreGeometry::backingStoreRect() const
-{
- return Platform::IntRect(backingStoreOffset(), backingStoreSize());
-}
-
-Platform::IntSize BackingStoreGeometry::backingStoreSize() const
-{
- return Platform::IntSize(numberOfTilesWide() * BackingStorePrivate::tileWidth(), numberOfTilesHigh() * BackingStorePrivate::tileHeight());
-}
-
-bool BackingStoreGeometry::isTileCorrespondingToBuffer(TileIndex index, TileBuffer* tileBuffer) const
-{
- return tileBuffer
- && scale() == tileBuffer->lastRenderScale()
- && originOfTile(index) == tileBuffer->lastRenderOrigin();
-}
-
-BackingStorePrivate::BackingStorePrivate()
- : m_suspendScreenUpdateCounterWebKitThread(0)
- , m_suspendBackingStoreUpdates(0)
- , m_suspendGeometryUpdates(0)
- , m_resumeOperation(BackingStore::None)
- , m_suspendScreenUpdatesWebKitThread(true)
- , m_suspendScreenUpdatesUserInterfaceThread(true)
- , m_suspendRenderJobs(false)
- , m_suspendRegularRenderJobs(false)
- , m_tileMatrixContainsUsefulContent(false)
- , m_tileMatrixNeedsUpdate(false)
- , m_isScrollingOrZooming(false)
- , m_webPage(0)
- , m_client(0)
- , m_renderQueue(adoptPtr(new RenderQueue(this)))
- , m_hasBlitJobs(false)
- , m_webPageBackgroundColor(WebCore::Color::white)
-{
- m_frontState = reinterpret_cast<unsigned>(new BackingStoreGeometry);
-}
-
-BackingStorePrivate::~BackingStorePrivate()
-{
- BackingStoreGeometry* front = reinterpret_cast<BackingStoreGeometry*>(m_frontState);
- delete front;
- m_frontState = 0;
-}
-
-void BackingStorePrivate::instrumentBeginFrame()
-{
-#if ENABLE(INSPECTOR)
- WebPagePrivate::core(m_webPage)->inspectorController()->didBeginFrame();
-#endif
-}
-
-void BackingStorePrivate::instrumentCancelFrame()
-{
-#if ENABLE(INSPECTOR)
- WebPagePrivate::core(m_webPage)->inspectorController()->didCancelFrame();
-#endif
-}
-
-bool BackingStorePrivate::isOpenGLCompositing() const
-{
- if (Window* window = m_webPage->client()->window())
- return window->windowUsage() == Window::GLES2Usage;
-
- // If there's no window, OpenGL rendering is currently the only option.
- return true;
-}
-
-void BackingStorePrivate::suspendBackingStoreUpdates()
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
- if (m_suspendBackingStoreUpdates) {
- BBLOG(Platform::LogLevelInfo,
- "Backingstore already suspended, increasing suspend counter.");
- }
-
- ++m_suspendBackingStoreUpdates;
-}
-
-void BackingStorePrivate::suspendGeometryUpdates()
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
- if (m_suspendGeometryUpdates) {
- BBLOG(Platform::LogLevelInfo,
- "Backingstore geometry already suspended, increasing suspend counter.");
- }
-
- ++m_suspendGeometryUpdates;
-}
-
-void BackingStorePrivate::suspendScreenUpdates()
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
- if (m_suspendScreenUpdateCounterWebKitThread) {
- BBLOG(Platform::LogLevelInfo,
- "Screen already suspended, increasing suspend counter.");
- }
-
- // Make sure the user interface thread gets the message before we proceed
- // because blitVisibleContents() can be called from the user interface
- // thread and it must honor this flag.
- ++m_suspendScreenUpdateCounterWebKitThread;
- updateSuspendScreenUpdateState();
-}
-
-void BackingStorePrivate::resumeBackingStoreUpdates()
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
- ASSERT(m_suspendBackingStoreUpdates >= 1);
- if (m_suspendBackingStoreUpdates < 1) {
- Platform::logAlways(Platform::LogLevelCritical,
- "Call mismatch: Backingstore hasn't been suspended, therefore won't resume!");
- return;
- }
-
- // Set a flag indicating that we're about to resume backingstore updates and
- // the tile matrix should be updated as a consequence by the first render
- // job that happens after this resumption of backingstore updates.
- if (m_suspendBackingStoreUpdates == 1)
- setTileMatrixNeedsUpdate();
-
- --m_suspendBackingStoreUpdates;
-
- dispatchRenderJob();
-}
-
-
-void BackingStorePrivate::resumeGeometryUpdates()
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
- ASSERT(m_suspendGeometryUpdates >= 1);
- if (m_suspendGeometryUpdates < 1) {
- Platform::logAlways(Platform::LogLevelCritical,
- "Call mismatch: Backingstore geometry hasn't been suspended, therefore won't resume!");
- return;
- }
-
- // Set a flag indicating that we're about to resume geometry updates and
- // the tile matrix should be updated as a consequence by the first render
- // job that happens after this resumption of geometry updates.
- if (m_suspendGeometryUpdates == 1)
- setTileMatrixNeedsUpdate();
-
- --m_suspendGeometryUpdates;
-
- dispatchRenderJob();
-}
-
-void BackingStorePrivate::resumeScreenUpdates(BackingStore::ResumeUpdateOperation op)
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
- ASSERT(m_suspendScreenUpdateCounterWebKitThread);
-
- if (!m_suspendScreenUpdateCounterWebKitThread) {
- Platform::logAlways(Platform::LogLevelCritical,
- "Call mismatch: Screen hasn't been suspended, therefore won't resume!");
- return;
- }
-
- // Out of all nested resume calls, resume with the maximum-impact operation.
- if (op == BackingStore::RenderAndBlit
- || (m_resumeOperation == BackingStore::None && op == BackingStore::Blit))
- m_resumeOperation = op;
-
- if (m_suspendScreenUpdateCounterWebKitThread >= 2) { // we're still suspended
- BBLOG(Platform::LogLevelInfo,
- "Screen and backingstore still suspended, decreasing suspend counter.");
- --m_suspendScreenUpdateCounterWebKitThread;
- return;
- }
-
- op = m_resumeOperation;
- m_resumeOperation = BackingStore::None;
-
-#if USE(ACCELERATED_COMPOSITING)
- if (op != BackingStore::None) {
- if (isOpenGLCompositing() && !isActive()) {
- m_webPage->d->setCompositorDrawsRootLayer(true);
- m_webPage->d->setNeedsOneShotDrawingSynchronization();
- --m_suspendScreenUpdateCounterWebKitThread;
- updateSuspendScreenUpdateState();
- return;
- }
-
- m_webPage->d->setNeedsOneShotDrawingSynchronization();
- }
-#endif
-
- // Render visible contents if necessary.
- if (op == BackingStore::RenderAndBlit) {
- if (m_webPage->isVisible())
- requestLayoutIfNeeded();
-
- updateTileMatrixIfNeeded();
- TileIndexList visibleTiles = visibleTileIndexes(frontState());
- TileIndexList renderedTiles = render(visibleTiles);
-
- if (renderedTiles.size() != visibleTiles.size()) {
- // Add unrendered leftover tiles to the render queue.
- for (unsigned i = 0; i < visibleTiles.size(); ++i) {
- if (!renderedTiles.contains(visibleTiles[i])) {
- Platform::IntRect tileRect(frontState()->originOfTile(visibleTiles[i]), tileSize());
- m_renderQueue->addToQueue(RenderQueue::VisibleZoom, tileRect);
- }
- }
- }
- }
-
- // Make sure the user interface thread gets the message before we proceed
- // because blitVisibleContents() can be called from the user interface
- // thread and it must honor this flag.
- --m_suspendScreenUpdateCounterWebKitThread;
- updateSuspendScreenUpdateState();
-
- if (op == BackingStore::None)
- return;
-#if USE(ACCELERATED_COMPOSITING)
- // It needs layout and render before committing root layer if we set OSDS
- if (m_webPage->d->needsOneShotDrawingSynchronization())
- m_webPage->d->updateLayoutAndStyleIfNeededRecursive();
-
- // This will also blit since we set the OSDS flag above.
- m_webPage->d->commitRootLayerIfNeeded();
-#else
- // Do some blitting if necessary.
- if (op == BackingStore::Blit || op == BackingStore::RenderAndBlit)
- blitVisibleContents();
-#endif
-}
-
-void BackingStorePrivate::updateSuspendScreenUpdateState(bool* hasSyncedToUserInterfaceThread)
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
- bool isBackingStoreUsable = isActive() && m_tileMatrixContainsUsefulContent
- && (m_suspendBackingStoreUpdates || !m_renderQueue->hasCurrentVisibleZoomJob()); // Backingstore is not usable while we're waiting for an ("atomic") zoom job to finish.
-
- bool shouldSuspend = m_suspendScreenUpdateCounterWebKitThread
- || !buffer()
- || !m_webPage->isVisible()
- || (!isBackingStoreUsable && !m_webPage->d->compositorDrawsRootLayer());
-
- if (m_suspendScreenUpdatesWebKitThread == shouldSuspend) {
- if (hasSyncedToUserInterfaceThread)
- *hasSyncedToUserInterfaceThread = false;
- return;
- }
-
- m_suspendScreenUpdatesWebKitThread = shouldSuspend;
-
- // FIXME: If we change the backingstore to dispatch geometries, this
- // assignment should be moved to a dispatched setter function instead.
- m_suspendScreenUpdatesUserInterfaceThread = shouldSuspend;
- BlackBerry::Platform::userInterfaceThreadMessageClient()->syncToCurrentMessage();
- if (hasSyncedToUserInterfaceThread)
- *hasSyncedToUserInterfaceThread = true;
-}
-
-void BackingStorePrivate::repaint(const Platform::IntRect& windowRect, bool contentChanged, bool immediate)
-{
- // If immediate is true, then we're being asked to perform synchronously.
- // NOTE: WebCore::ScrollView will call this method with immediate:true and contentChanged:false.
- // This is a special case introduced specifically for the Apple's windows port and can be safely ignored I believe.
- // Now this method will be called from WebPagePrivate::repaint().
-
- if (contentChanged && !windowRect.isEmpty()) {
- // This windowRect is in document coordinates relative to the viewport,
- // but we need it in pixel contents coordinates.
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->webkitThreadViewportAccessor();
- Platform::IntRect rect = viewportAccessor->roundToPixelFromDocumentContents(viewportAccessor->documentContentsFromViewport(windowRect));
- rect.intersect(viewportAccessor->pixelContentsRect());
-
- if (rect.isEmpty())
- return;
-
-#if DEBUG_WEBCORE_REQUESTS
- Platform::logAlways(Platform::LogLevelCritical,
- "BackingStorePrivate::repaint rect=%s contentChanged=%s immediate=%s",
- rect.toString().c_str(),
- contentChanged ? "true" : "false",
- immediate ? "true" : "false");
-#endif
-
- if (immediate)
- renderAndBlitImmediately(rect);
- else
- m_renderQueue->addToQueue(RenderQueue::RegularRender, rect);
- }
-}
-
-void BackingStorePrivate::slowScroll(const Platform::IntSize& delta, const Platform::IntRect& windowRect, bool immediate)
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
-#if DEBUG_BACKINGSTORE
- // Start the time measurement...
- double time = WTF::currentTime();
-#endif
-
- scrollingStartedHelper(delta);
-
- // This windowRect is in document coordinates relative to the viewport,
- // but we need it in pixel contents coordinates.
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->webkitThreadViewportAccessor();
- const Platform::IntRect rect = viewportAccessor->roundToPixelFromDocumentContents(viewportAccessor->documentContentsFromViewport(windowRect));
-
- if (immediate)
- renderAndBlitImmediately(rect);
- else {
- m_renderQueue->addToQueue(RenderQueue::VisibleScroll, rect);
- // We only blit here if the client did not generate the scroll as the
- // client supports blitting asynchronously during scroll operations.
- if (!m_client->isClientGeneratedScroll())
- blitVisibleContents();
- }
-
-#if DEBUG_BACKINGSTORE
- // Stop the time measurement.
- double elapsed = WTF::currentTime() - time;
- Platform::logAlways(Platform::LogLevelCritical, "BackingStorePrivate::slowScroll elapsed=%f", elapsed);
-#endif
-}
-
-void BackingStorePrivate::scroll(const Platform::IntSize& delta, const Platform::IntRect&, const Platform::IntRect&)
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
-#if DEBUG_BACKINGSTORE
- // Start the time measurement...
- double time = WTF::currentTime();
-#endif
-
- scrollingStartedHelper(delta);
-
- // We only blit here if the client did not generate the scroll as the client
- // now supports blitting asynchronously during scroll operations.
- if (!m_client->isClientGeneratedScroll())
- blitVisibleContents();
-
-#if DEBUG_BACKINGSTORE
- // Stop the time measurement.
- double elapsed = WTF::currentTime() - time;
- Platform::logAlways(Platform::LogLevelCritical, "BackingStorePrivate::scroll dx=%d, dy=%d elapsed=%f", delta.width(), delta.height(), elapsed);
-#endif
-}
-
-void BackingStorePrivate::scrollingStartedHelper(const Platform::IntSize& delta)
-{
- // Notify the render queue so that it can shuffle accordingly.
- m_renderQueue->updateSortDirection(delta.width(), delta.height());
- m_renderQueue->visibleContentChanged(visibleContentsRect());
-
- // Scroll the actual backingstore.
- scrollBackingStore(delta.width(), delta.height());
-
- // Add any newly visible tiles that have not been previously rendered to the queue
- // and check if the tile was previously rendered by regular render job.
- updateTilesForScrollOrNotRenderedRegion();
-}
-
-bool BackingStorePrivate::shouldSuppressNonVisibleRegularRenderJobs() const
-{
-#if SUPPRESS_NON_VISIBLE_REGULAR_RENDER_JOBS
- return true;
-#else
- // Always suppress when loading as this drastically decreases page loading
- // time...
- return m_client->isLoading();
-#endif
-}
-
-bool BackingStorePrivate::shouldPerformRenderJobs() const
-{
- return isActive() && !m_suspendRenderJobs && !m_suspendBackingStoreUpdates && !m_renderQueue->isEmpty(!m_suspendRegularRenderJobs);
-}
-
-bool BackingStorePrivate::shouldPerformRegularRenderJobs() const
-{
- return shouldPerformRenderJobs() && !m_suspendRegularRenderJobs;
-}
-
-static const BlackBerry::Platform::Message::Type RenderJobMessageType = BlackBerry::Platform::Message::generateUniqueMessageType();
-class RenderJobMessage : public BlackBerry::Platform::ExecutableMessage {
-public:
- RenderJobMessage(BlackBerry::Platform::MessageDelegate* delegate)
- : BlackBerry::Platform::ExecutableMessage(delegate, BlackBerry::Platform::ExecutableMessage::UniqueCoalescing, RenderJobMessageType)
- { }
-};
-
-void BackingStorePrivate::dispatchRenderJob()
-{
- BlackBerry::Platform::MessageDelegate* messageDelegate = BlackBerry::Platform::createMethodDelegate(&BackingStorePrivate::renderJob, this);
- BlackBerry::Platform::webKitThreadMessageClient()->dispatchMessage(new RenderJobMessage(messageDelegate));
-}
-
-void BackingStorePrivate::renderJob()
-{
- if (!shouldPerformRenderJobs())
- return;
-
- instrumentBeginFrame();
-
-#if DEBUG_BACKINGSTORE
- Platform::logAlways(Platform::LogLevelCritical, "BackingStorePrivate::renderJob");
-#endif
-
- m_renderQueue->render(!m_suspendRegularRenderJobs);
-
- if (shouldPerformRenderJobs())
- dispatchRenderJob();
-}
-
-Platform::IntSize BackingStorePrivate::expandedContentsSize() const
-{
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->webkitThreadViewportAccessor();
- return m_client->transformedViewportSize().expandedTo(viewportAccessor->pixelContentsSize());
-}
-
-Platform::IntRect BackingStorePrivate::expandedContentsRect() const
-{
- return Platform::IntRect(Platform::IntPoint(0, 0), expandedContentsSize());
-}
-
-Platform::IntRect BackingStorePrivate::visibleContentsRect() const
-{
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->webkitThreadViewportAccessor();
- Platform::IntRect rect = viewportAccessor->pixelViewportRect();
- rect.intersect(viewportAccessor->pixelContentsRect());
- return rect;
-}
-
-void BackingStorePrivate::setBackingStoreRect(const Platform::IntRect& backingStoreRect, double scale)
-{
- if (!m_webPage->isVisible())
- return;
-
- if (!isActive()) {
- m_webPage->d->setShouldResetTilesWhenShown(true);
- return;
- }
-
- if (m_suspendBackingStoreUpdates || m_suspendGeometryUpdates)
- return;
-
- Platform::IntRect oldBackingStoreRect = frontState()->backingStoreRect();
- double currentScale = frontState()->scale();
-
- if (backingStoreRect == oldBackingStoreRect && scale == currentScale)
- return;
-
-#if DEBUG_TILEMATRIX
- Platform::logAlways(Platform::LogLevelCritical,
- "BackingStorePrivate::setBackingStoreRect changed from %s to %s",
- oldBackingStoreRect.toString().c_str(),
- backingStoreRect.toString().c_str());
-#endif
-
- BackingStoreGeometry* oldGeometry = frontState();
- TileMap oldTileMap = oldGeometry->tileMap();
-
- TileIndexList indexesToFill = indexesForBackingStoreRect(backingStoreRect);
-
- ASSERT(static_cast<int>(indexesToFill.size()) == oldTileMap.size());
-
- m_renderQueue->clear(oldBackingStoreRect, RenderQueue::DontClearRegularRenderJobs);
- m_renderQueue->backingStoreRectChanging(oldBackingStoreRect, backingStoreRect);
-
- TileMap newTileMap;
- TileMap leftOverTiles;
-
- // Iterate through our current tile map and add tiles that are rendered with
- // our new backing store rect.
- TileMap::const_iterator tileMapEnd = oldTileMap.end();
- for (TileMap::const_iterator it = oldTileMap.begin(); it != tileMapEnd; ++it) {
- TileIndex oldIndex = it->key;
- TileBuffer* oldTileBuffer = it->value;
-
- // If the new backing store rect contains this origin, then insert the tile there
- // and mark it as no longer shifted. Note: Platform::IntRect::contains checks for a 1x1 rect
- // below and to the right of the origin so it is correct usage here.
- if (oldTileBuffer && backingStoreRect.contains(oldTileBuffer->lastRenderOrigin())) {
- TileIndex newIndex = indexOfTile(oldTileBuffer->lastRenderOrigin(), backingStoreRect);
-
- size_t i = indexesToFill.find(newIndex);
- ASSERT(i != WTF::notFound);
- indexesToFill.remove(i);
- newTileMap.add(newIndex, oldTileBuffer);
- } else {
- // Store this tile and index so we can add it to the remaining left over spots...
- leftOverTiles.add(oldIndex, oldTileBuffer);
- }
- }
-
- ASSERT(static_cast<int>(indexesToFill.size()) == leftOverTiles.size());
- size_t i = 0;
- TileMap::const_iterator leftOverEnd = leftOverTiles.end();
- for (TileMap::const_iterator it = leftOverTiles.begin(); it != leftOverEnd; ++it) {
- TileBuffer* oldTileBuffer = it->value;
- if (i >= indexesToFill.size()) {
- ASSERT_NOT_REACHED();
- break;
- }
-
- TileIndex newIndex = indexesToFill.at(i);
- newTileMap.add(newIndex, oldTileBuffer);
-
- ++i;
- }
-
- // Checks to make sure we haven't lost any tiles.
- ASSERT(oldTileMap.size() == newTileMap.size());
-
- BackingStoreGeometry* newGeometry = new BackingStoreGeometry;
- newGeometry->setScale(scale);
- newGeometry->setNumberOfTilesWide(backingStoreRect.width() / tileWidth());
- newGeometry->setNumberOfTilesHigh(backingStoreRect.height() / tileHeight());
- newGeometry->setBackingStoreOffset(backingStoreRect.location());
- newGeometry->setTileMap(newTileMap);
- adoptAsFrontState(newGeometry); // swap into UI thread
-
- // Mark tiles as needing update.
- updateTilesAfterBackingStoreRectChange();
-}
-
-void BackingStorePrivate::updateTilesAfterBackingStoreRectChange()
-{
- BackingStoreGeometry* geometry = frontState();
- TileMap currentMap = geometry->tileMap();
-
- TileMap::const_iterator end = currentMap.end();
- for (TileMap::const_iterator it = currentMap.begin(); it != end; ++it) {
- TileIndex index = it->key;
- TileBuffer* tileBuffer = it->value;
- Platform::IntPoint tileOrigin = geometry->originOfTile(index);
- // The rect in transformed contents coordinates.
- Platform::IntRect rect(tileOrigin, tileSize());
-
- if (geometry->isTileCorrespondingToBuffer(index, tileBuffer)) {
- if (m_renderQueue->regularRenderJobsPreviouslyAttemptedButNotRendered(rect)) {
- // If the render queue previously tried to render this tile, but the
- // tile wasn't visible at the time we can't simply restore the tile
- // since the content is now invalid as far as WebKit is concerned.
- // Instead, we clear that part of the tile if it is visible and then
- // put the tile in the render queue again.
-
- // Intersect the tile with the not rendered region to get the areas
- // of the tile that we need to clear.
- Platform::IntRectRegion tileNotRenderedRegion = Platform::IntRectRegion::intersectRegions(m_renderQueue->regularRenderJobsNotRenderedRegion(), rect);
- clearAndUpdateTileOfNotRenderedRegion(index, tileBuffer, tileNotRenderedRegion, geometry);
-#if DEBUG_BACKINGSTORE
- Platform::logAlways(Platform::LogLevelCritical,
- "BackingStorePrivate::updateTilesAfterBackingStoreRectChange did clear tile %s",
- tileNotRenderedRegion.extents().toString().c_str());
-#endif
- } else {
- if (!tileBuffer || (!tileBuffer->isRendered(tileVisibleContentsRect(index, geometry), geometry->scale())
- && !isCurrentVisibleJob(index, geometry)))
- updateTile(tileOrigin, false /*immediate*/);
- }
- } else if (rect.intersects(expandedContentsRect()))
- updateTile(tileOrigin, false /*immediate*/);
- }
-}
-
-TileIndexList BackingStorePrivate::indexesForBackingStoreRect(const Platform::IntRect& backingStoreRect) const
-{
- TileIndexList indexes;
- int numberOfTilesWide = backingStoreRect.width() / tileWidth();
- int numberOfTilesHigh = backingStoreRect.height() / tileHeight();
- for (int y = 0; y < numberOfTilesHigh; ++y) {
- for (int x = 0; x < numberOfTilesWide; ++x) {
- TileIndex index(x, y);
- indexes.append(index);
- }
- }
- return indexes;
-}
-
-TileIndex BackingStorePrivate::indexOfTile(const Platform::IntPoint& origin, const Platform::IntRect& backingStoreRect) const
-{
- int offsetX = origin.x() - backingStoreRect.x();
- int offsetY = origin.y() - backingStoreRect.y();
- if (offsetX)
- offsetX = offsetX / tileWidth();
- if (offsetY)
- offsetY = offsetY / tileHeight();
- return TileIndex(offsetX, offsetY);
-}
-
-void BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion(const TileIndex&, TileBuffer* tileBuffer,
- const Platform::IntRectRegion& tileNotRenderedRegion,
- BackingStoreGeometry*,
- bool update)
-{
- if (tileNotRenderedRegion.isEmpty())
- return;
-
- // Clear the render queue of this region.
- m_renderQueue->clear(tileNotRenderedRegion, RenderQueue::ClearAnyJobs);
-
- if (update) {
- // Add it again as a regular render job.
- m_renderQueue->addToQueue(RenderQueue::RegularRender, tileNotRenderedRegion);
- }
-
- if (!tileBuffer)
- return;
-
- // If the region in question is already marked as not rendered, return early
- if (Platform::IntRectRegion::intersectRegions(tileBuffer->renderedRegion(), tileNotRenderedRegion).isEmpty())
- return;
-
- // Clear the tile of this region. The back buffer region is invalid anyway, but the front
- // buffer must not be manipulated without synchronization with the compositing thread, or
- // we have a race.
- // Instead of using the customary sequence of copy-back, modify and swap, we send a synchronous
- // message to the compositing thread to avoid the copy-back step and save memory bandwidth.
- // The trade-off is that the WebKit thread might wait a little longer for the compositing thread
- // than it would from a waitForCurrentMessage() call.
-
- ASSERT(Platform::webKitThreadMessageClient()->isCurrentThread());
- if (!Platform::webKitThreadMessageClient()->isCurrentThread())
- return;
-
- Platform::userInterfaceThreadMessageClient()->dispatchSyncMessage(
- Platform::createMethodCallMessage(&BackingStorePrivate::clearRenderedRegion,
- this, tileBuffer, tileNotRenderedRegion));
-}
-
-void BackingStorePrivate::clearRenderedRegion(TileBuffer* tileBuffer, const Platform::IntRectRegion& region)
-{
- ASSERT(Platform::userInterfaceThreadMessageClient()->isCurrentThread());
- if (!Platform::userInterfaceThreadMessageClient()->isCurrentThread())
- return;
- if (!tileBuffer)
- return;
-
- tileBuffer->clearRenderedRegion(region);
-}
-
-bool BackingStorePrivate::isCurrentVisibleJob(const TileIndex& index, BackingStoreGeometry* geometry) const
-{
- return m_renderQueue->isCurrentVisibleZoomJob(index)
- || m_renderQueue->isCurrentVisibleScrollJob(index)
- || m_renderQueue->isCurrentVisibleZoomJobCompleted(index)
- || m_renderQueue->isCurrentVisibleScrollJobCompleted(index)
- || m_renderQueue->isCurrentRegularRenderJob(index, geometry);
-}
-
-Platform::IntRect BackingStorePrivate::nonOverscrolled(const Platform::IntRect& viewportRect, const Platform::IntRect& contentsRect)
-{
- const Platform::IntPoint maximumReasonableViewportLocation(
- contentsRect.right() - viewportRect.width(),
- contentsRect.bottom() - viewportRect.height());
-
- const Platform::IntPoint minimumRectLocation(
- std::max(0, std::min(maximumReasonableViewportLocation.x(), viewportRect.x())),
- std::max(0, std::min(maximumReasonableViewportLocation.y(), viewportRect.y())));
-
- return Platform::IntRect(minimumRectLocation, viewportRect.size());
-}
-
-Platform::IntRect BackingStorePrivate::enclosingTileRect(const Platform::IntRect& pixelContentsRect)
-{
- Platform::IntPoint location(
- tileWidth() * (pixelContentsRect.x() / tileWidth()),
- tileHeight() * (pixelContentsRect.y() / tileHeight()));
-
- return Platform::IntRect(location, Platform::IntSize(
- tileWidth() * ((pixelContentsRect.right() - location.x() - 1) / tileWidth() + 1),
- tileHeight() * ((pixelContentsRect.bottom() - location.y() - 1) / tileHeight() + 1)));
-}
-
-Platform::IntRect BackingStorePrivate::desiredBackingStoreRect(const Platform::IntRect& pixelViewportRect, const Platform::IntRect& maximumReasonableRect, int deltaX, int deltaY)
-{
- const int scrollDeltaCutoff = 30;
- const float multiplierDownAtStandstill = 2.0f;
-
- Platform::IntRect desiredRect = pixelViewportRect;
- desiredRect.inflate(tileWidth() / 2, tileHeight() / 2);
- desiredRect.intersect(maximumReasonableRect);
-
- // Get a picture of the scrolling momentum, limited to between -1.0 and 1.0 on both x and y axes.
- const float expandX = std::max(-scrollDeltaCutoff, std::min(scrollDeltaCutoff, -deltaX)) / static_cast<float>(scrollDeltaCutoff);
- const float expandY = std::max(-scrollDeltaCutoff, std::min(scrollDeltaCutoff, -deltaY)) / static_cast<float>(scrollDeltaCutoff);
- const float momentum = std::max(expandX, expandY);
-
- // If no scrolling occurs, use the viewport ratio as default proportion.
- // At maximum momentum (1.0), disregard the viewport ratio completely (multiply by 1.0).
- // In between, interpolate.
- const float viewportRatio = pixelViewportRect.isEmpty() ? 1.0f : (pixelViewportRect.width() / static_cast<float>(pixelViewportRect.height()));
- const float viewportRatioMultiplier = viewportRatio + momentum * (1.0f - viewportRatio);
-
- // In the same manner, we prioritize the "down" direction if no other
- // momentum overpowers it, because the user will most likely scroll
- // in that direction.
- const float multiplierDown = multiplierDownAtStandstill + momentum * (1.0f - multiplierDownAtStandstill);
-
- // The stronger the momentum is of one axis, the lesser importance will be
- // placed on the other one. Also, if the rectangle already covers the whole
- // width or height then we don't have to increase it on that axis.
- float importanceX = desiredRect.width() == maximumReasonableRect.width() ? 0.0f : (1.0f - fabs(expandY));
- float importanceY = desiredRect.height() == maximumReasonableRect.height() ? 0.0f : (1.0f - fabs(expandX));
- if (importanceX <= FLT_EPSILON && importanceY <= FLT_EPSILON) {
- importanceX = 1.0f;
- importanceY = 1.0f;
- }
- importanceX *= viewportRatioMultiplier;
-
- // We use axis importance to calculate the ratio between x and y axes.
- // If the importance of one axis is 0 and the other is positive, one multiplier will be 0 and the other will be 1.
- const float multiplierX = importanceY ? (importanceX / importanceY) : 1.0f;
- const float multiplierY = importanceX ? (importanceY / importanceX) : 1.0f;
-
- // Try to assign proportional values for extending the desired
- // backingstore rect into the four directions. It doesn't matter how big
- // these values are as long as they're proportional and >= 0. Rationale:
- // * Allocate more tile space for the axis that is being scrolled.
- // * Allocate almost all space of one axis if scrolling in one direction hits the cutoff value, leave the rest for the opposite direction.
- float expandRight = (0.5f + (0.4f * expandX)) * multiplierX;
- float expandLeft = (0.5f + (-0.4f * expandX)) * multiplierX;
- float expandDown = (0.5f + (0.4f * expandY)) * multiplierY * multiplierDown;
- float expandUp = (0.5f + (-0.4f * expandY)) * multiplierY;
-
- // Calculate how many pixels we have left to spare and how many of these
- // we ideally want to allocate in any given direction.
- int remainingNumberOfTilePixels =
- SurfacePool::globalSurfacePool()->numberOfBackingStoreFrontBuffers() * tileWidth() * tileHeight()
- - desiredRect.area();
-
- while (expandRight > FLT_EPSILON || expandLeft > FLT_EPSILON || expandDown > FLT_EPSILON || expandUp > FLT_EPSILON) {
- int previousRemainingNumberOfTilePixels = remainingNumberOfTilePixels;
-
- // Excursion into mathematical formulas to be solved.
- // We now have proportional factors for how much far the ideal
- // tile geometry rect extends into each direction, what we need is to find
- // a constant "c" that translates these factors into actual pixel values.
- //
- // pxRight == c * expandRight
- // pxLeft == c * expandLeft
- // pxDown == c * expandDown
- // pxUp == c * expandUp
- //
- // remainingNumberOfTilePixels ==
- // pxUp * (pxLeft + initialWidth + pxRight)
- // + pxDown * (pxLeft + initialWidth + pxRight)
- // + initialHeight * (pxLeft + pxRight)
- //
- // Wolfram Alpha: solve p = c * u * (c * l + w + c * r) + c * d * (c * l + w + c * r) + h * (c * l + c * r) for c
- // leads to the following resolution (discounting the negative one):
- // (d+u)(l+r) != 0 and c = (sqrt((d w + h l + h r + u w)^2 + 4 p (d l + d r + l u + r u)) - d w - h l - h r - u w) / (2 (d+u) (l+r))
- //
- // [multiplierX == 0]: remainingNumberOfTilePixels == initialWidth * (pxUp + pxDown)
- // solve p = w * c * (u + d) for c => w (d+u) != 0 and c = p / (w (d+u))
- // [multiplierY == 0]: remainingNumberOfTilePixels == initialHeight * (pxLeft + pxRight)
- // solve p = h * c * (l + r) for c => h (l+r) != 0 and c = p / (h (l+r))
-
- const int p = remainingNumberOfTilePixels;
- const int w = desiredRect.width();
- const int h = desiredRect.height();
- const float r = expandRight;
- const float l = expandLeft;
- const float d = expandDown;
- const float u = expandUp;
- int pxLeft = 0;
- int pxRight = 0;
- int pxDown = 0;
- int pxUp = 0;
-
- if (l + r <= FLT_EPSILON) { // multiplierX == 0
- ASSERT(d + u > FLT_EPSILON);
- const float c = p / (w * (d + u));
- pxDown = static_cast<int>(c * expandDown);
- pxUp = static_cast<int>(c * expandUp);
- } else if (u + d <= FLT_EPSILON) { // multiplierY == 0
- ASSERT(l + r > FLT_EPSILON);
- const float c = p / (h * (l + r));
- pxLeft = static_cast<int>(c * expandLeft);
- pxRight = static_cast<int>(c * expandRight);
- } else {
- const float c = (sqrt(pow(w * (d + u) + h * (l + r), 2.0) + 4.0f * p * (d + u) * (l + r)) - w * (d + u) - h * (l + r)) / (2.0f * (d + u) * (l + r));
- pxRight = static_cast<int>(c * expandRight);
- pxLeft = static_cast<int>(c * expandLeft);
- pxDown = static_cast<int>(c * expandDown);
- pxUp = static_cast<int>(c * expandUp);
- }
-
- desiredRect.setX(desiredRect.x() - pxLeft);
- desiredRect.setWidth(desiredRect.width() + pxLeft + pxRight);
- desiredRect.setY(desiredRect.y() - pxUp);
- desiredRect.setHeight(desiredRect.height() + pxUp + pxDown);
-
- // If we have enough pixels left for another loop, ignore directions
- // that can't reasonably expand any further.
- if (desiredRect.right() >= maximumReasonableRect.right())
- expandRight = 0.0f;
- if (desiredRect.x() >= maximumReasonableRect.x())
- expandLeft = 0.0f;
- if (desiredRect.bottom() >= maximumReasonableRect.bottom())
- expandDown = 0.0f;
- if (desiredRect.y() >= maximumReasonableRect.y())
- expandUp = 0.0f;
-
- desiredRect.intersect(maximumReasonableRect);
-
- remainingNumberOfTilePixels =
- SurfacePool::globalSurfacePool()->numberOfBackingStoreFrontBuffers() * tileWidth() * tileHeight()
- - desiredRect.area();
-
- // If we don't have enough pixels left to expand the rectangle anymore,
- // just leave it and stick with the current one.
- if (previousRemainingNumberOfTilePixels == remainingNumberOfTilePixels)
- break;
- }
-
- return desiredRect;
-}
-
-void BackingStorePrivate::mergeDesiredBackingStoreRect(const Platform::IntRect& desiredRect, const Platform::IntRect& pixelViewportForDesiredRect)
-{
- double currentScale = m_webPage->d->currentScale();
-
- if (m_desiredBackingStoreRect.isEmpty() || m_desiredBackingStoreRectScale != currentScale)
- m_desiredBackingStoreRect = desiredRect;
- else {
- // Average out sudden spikes in scrolling deltas by taking half of the
- // previous desired rect's shape.
- Platform::IntRect previousRectAtCurrentLocation = m_desiredBackingStoreRect;
- previousRectAtCurrentLocation.move(
- -m_desiredBackingStoreRectViewportLocation.x() + pixelViewportForDesiredRect.x(),
- -m_desiredBackingStoreRectViewportLocation.y() + pixelViewportForDesiredRect.y());
-
- // Round up because we're more likely to scroll down and right, in general.
- Platform::IntPoint location(
- (desiredRect.x() + previousRectAtCurrentLocation.x() + 1) / 2,
- (desiredRect.y() + previousRectAtCurrentLocation.y() + 1) / 2);
- Platform::IntPoint bottomRight(
- (desiredRect.right() + previousRectAtCurrentLocation.right() + 1) / 2,
- (desiredRect.bottom() + previousRectAtCurrentLocation.bottom() + 1) / 2);
-
- m_desiredBackingStoreRect = Platform::IntRect(location,
- Platform::IntSize(bottomRight.x() - location.x(), bottomRight.y() - location.y()));
- }
-
- m_desiredBackingStoreRectScale = currentScale;
- m_desiredBackingStoreRectViewportLocation = pixelViewportForDesiredRect.location();
-}
-
-Platform::IntRect BackingStorePrivate::largestTileRectForDesiredRect(const Platform::IntRect& minimumRect, const Platform::IntRect& desiredRect)
-{
- // Store a static list of possible divisors.
- SurfacePool* surfacePool = SurfacePool::globalSurfacePool();
- ASSERT(!surfacePool->isEmpty());
- static DivisorList divisorList = divisors(surfacePool->numberOfBackingStoreFrontBuffers());
-
- const Platform::IntRect minimumTileRect = enclosingTileRect(minimumRect);
- const Divisor minimumTileRectDivisor(minimumTileRect.width() / tileWidth(), minimumTileRect.height() / tileHeight());
-
- Divisor bestRectDivisor;
- bool bestRectContainsMinimumRect = false;
- int bestRectArea = 0;
- int bestRectDistanceFromMinimumRect = 0;
- Platform::IntRect bestBackingStoreRect;
-
- for (size_t i = 0; i < divisorList.size(); ++i) {
- Divisor divisor = divisorList[i];
-
- int remainingTilesX = std::max(0, divisor.first - minimumTileRectDivisor.first);
- int remainingTilesY = std::max(0, divisor.second - minimumTileRectDivisor.second);
-
- Platform::IntSize divisorBackingStoreRectSize(divisor.first * tileWidth(), divisor.second * tileHeight());
-
- for (int dy = 0; dy <= remainingTilesY; ++dy) {
- for (int dx = 0; dx <= remainingTilesX; ++dx) {
- const Platform::IntRect possibleBackingStoreRect(
- Platform::IntPoint(minimumTileRect.x() - dx * tileWidth(), minimumTileRect.y() - dy * tileHeight()),
- divisorBackingStoreRectSize);
-
- Platform::IntRect relevantRect = possibleBackingStoreRect;
- relevantRect.intersect(desiredRect);
- int area = relevantRect.area();
-
- bool betterThanPreviousRect = false;
- bool containsMinimumRect = possibleBackingStoreRect.contains(minimumRect);
- int distanceFromMinimumRect = bestRectDistanceFromMinimumRect - 1;
-
- // Pick the best divisor based on the following criteria, in order of importance:
- // 1. Completely contains minimumTileRect.
- // 2. Covers the largest area within desiredRect.
- // 3. The closest border is farthest from the corresponding border of minimumRect.
- // 4. Random preference of rectangles in the following directions, in order: down, right, left, up.
-
- if (!bestRectArea) // bestBackingStoreRect is uninitialized
- betterThanPreviousRect = true;
- if (!bestRectContainsMinimumRect && containsMinimumRect)
- betterThanPreviousRect = true;
- if (bestRectContainsMinimumRect && area > bestRectArea)
- betterThanPreviousRect = true;
- if (bestRectContainsMinimumRect && area == bestRectArea) {
- // Left/up distance.
- distanceFromMinimumRect = std::min(
- minimumRect.x() - possibleBackingStoreRect.x(),
- minimumRect.y() - possibleBackingStoreRect.y());
- // Right/down distance.
- distanceFromMinimumRect = std::min(distanceFromMinimumRect, std::min(
- possibleBackingStoreRect.right() - minimumRect.right(),
- possibleBackingStoreRect.bottom() - minimumRect.bottom()));
-
- if (distanceFromMinimumRect > bestRectDistanceFromMinimumRect)
- betterThanPreviousRect = true;
- }
- if (bestRectContainsMinimumRect && area == bestRectArea && distanceFromMinimumRect == bestRectDistanceFromMinimumRect) {
- if (possibleBackingStoreRect.y() > bestBackingStoreRect.y())
- betterThanPreviousRect = true;
- else if (possibleBackingStoreRect.y() == bestBackingStoreRect.y() && possibleBackingStoreRect.x() > bestBackingStoreRect.x())
- betterThanPreviousRect = true;
- }
-
-#if DEBUG_TILEMATRIX
- Platform::logAlways(Platform::LogLevelCritical,
- "Desired rect %s: Potential rect %s (%dx%d) is %s than previous best rect %s (%dx%d). Area: %d vs. %d. Distance: %d vs. %d.",
- desiredRect.toString().c_str(),
- possibleBackingStoreRect.toString().c_str(),
- divisor.first, divisor.second,
- betterThanPreviousRect ? "better" : "worse",
- bestBackingStoreRect.toString().c_str(),
- bestRectDivisor.first, bestRectDivisor.second,
- area, bestRectArea,
- distanceFromMinimumRect, bestRectDistanceFromMinimumRect);
-#endif
-
- if (betterThanPreviousRect) {
- bestRectDivisor = divisor;
- bestRectContainsMinimumRect = containsMinimumRect;
- bestRectArea = area;
- bestRectDistanceFromMinimumRect = distanceFromMinimumRect;
- bestBackingStoreRect = possibleBackingStoreRect;
- }
- }
- }
- }
-
- return bestBackingStoreRect;
-}
-
-void BackingStorePrivate::scrollBackingStore(int deltaX, int deltaY)
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
- if (!m_webPage->isVisible())
- return;
-
- if (!isActive()) {
- m_webPage->d->setShouldResetTilesWhenShown(true);
- return;
- }
-
- Platform::ViewportAccessor* viewportAccessor = m_webPage->webkitThreadViewportAccessor();
-
- Platform::IntRect pixelContentsRect = expandedContentsRect();
- Platform::IntRect nonOverscrolledPixelViewportRect = nonOverscrolled(viewportAccessor->pixelViewportRect(), pixelContentsRect);
-
- // Expand the minimal rect so that it includes the whole set of tiles covering that area.
- const Platform::IntRect maximumReasonableRect = enclosingTileRect(pixelContentsRect);
- Platform::IntRect desiredRect = desiredBackingStoreRect(nonOverscrolledPixelViewportRect, maximumReasonableRect, deltaX, deltaY);
-
- mergeDesiredBackingStoreRect(desiredRect, nonOverscrolledPixelViewportRect);
-
- const Platform::IntRect backingStoreRect = largestTileRectForDesiredRect(nonOverscrolledPixelViewportRect, m_desiredBackingStoreRect);
-
-#if DEBUG_TILEMATRIX
- Platform::logAlways(Platform::LogLevelCritical,
- "BackingStorePrivate::scrollBackingStore nonOverscrolledPixelViewportRect=%s, desiredRect=%s, pixelContentsRect=%s, maximumReasonableRect=%s, backingStoreRect=%s",
- nonOverscrolledPixelViewportRect.toString().c_str(),
- m_desiredBackingStoreRect.toString().c_str(),
- pixelContentsRect.toString().c_str(),
- maximumReasonableRect.toString().c_str(),
- backingStoreRect.toString().c_str());
-#endif
-
- ASSERT(!backingStoreRect.isEmpty());
-
- setBackingStoreRect(backingStoreRect, m_desiredBackingStoreRectScale);
-}
-
-TileIndexList BackingStorePrivate::render(const TileIndexList& tileIndexList)
-{
- if (!m_webPage->isVisible())
- return TileIndexList();
-
- // If no tiles available for us to draw to, someone else has to render the root layer.
- if (!isActive())
- return TileIndexList();
-
-#if DEBUG_BACKINGSTORE
- Platform::logAlways(Platform::LogLevelInfo,
- "BackingStorePrivate::render %d tiles, m_suspendBackingStoreUpdates = %s",
- tileIndexList.size(),
- m_suspendBackingStoreUpdates ? "true" : "false");
-#endif
-
- ASSERT(!m_tileMatrixNeedsUpdate);
-
- if (tileIndexList.isEmpty())
- return tileIndexList;
-
- Platform::ViewportAccessor* viewportAccessor = m_webPage->webkitThreadViewportAccessor();
-
- BackingStoreGeometry* geometry = frontState();
- TileMap oldTileMap = geometry->tileMap();
- double currentScale = geometry->scale();
-
- BackingStoreGeometry* newGeometry = new BackingStoreGeometry;
- newGeometry->setScale(geometry->scale());
- newGeometry->setNumberOfTilesWide(geometry->numberOfTilesWide());
- newGeometry->setNumberOfTilesHigh(geometry->numberOfTilesHigh());
- newGeometry->setBackingStoreOffset(geometry->backingStoreOffset());
- TileMap newTileMap(oldTileMap); // copy a new, writable version
- TileIndexList renderedTiles;
-
- for (size_t i = 0; i < tileIndexList.size(); ++i) {
- if (!SurfacePool::globalSurfacePool()->numberOfAvailableBackBuffers()) {
- newGeometry->setTileMap(newTileMap);
- adoptAsFrontState(newGeometry); // this should get us at least one more.
-
- // newGeometry is now the front state and shouldn't be messed with.
- // Let's create a new one. (The old one will be automatically
- // destroyed by adoptAsFrontState() on being swapped out again.)
- geometry = frontState();
- newGeometry = new BackingStoreGeometry;
- newGeometry->setScale(geometry->scale());
- newGeometry->setNumberOfTilesWide(geometry->numberOfTilesWide());
- newGeometry->setNumberOfTilesHigh(geometry->numberOfTilesHigh());
- newGeometry->setBackingStoreOffset(geometry->backingStoreOffset());
- }
-
- TileIndex index = tileIndexList[i];
- Platform::IntPoint tileOrigin = newGeometry->originOfTile(index);
- Platform::IntRect dirtyRect(tileOrigin, tileSize());
-
- // Paint default background if contents rect is empty.
- if (!expandedContentsRect().isEmpty()) {
- // Otherwise we should clip the contents size and render the content.
- dirtyRect.intersect(expandedContentsRect());
-
- // We probably have extra tiles since the contents size is so small.
- // Save some cycles here...
- if (dirtyRect.isEmpty()) {
-#if DEBUG_BACKINGSTORE
- Platform::logAlways(Platform::LogLevelInfo,
- "BackingStorePrivate::render skipping tile at %s, it's outside the expanded contents rect of %s",
- newGeometry->originOfTile(index).toString().c_str(),
- expandedContentsRect().toString().c_str());
-#endif
- continue;
- }
- }
-
- TileBuffer* backBuffer = SurfacePool::globalSurfacePool()->takeBackBuffer();
- ASSERT(backBuffer);
-
- backBuffer->paintBackground();
- backBuffer->setLastRenderScale(currentScale);
- backBuffer->setLastRenderOrigin(tileOrigin);
- backBuffer->clearRenderedRegion();
-
- BlackBerry::Platform::Graphics::Buffer* nativeBuffer = backBuffer->nativeBuffer();
- BlackBerry::Platform::Graphics::setBufferOpaqueHint(nativeBuffer, !Color(m_webPage->settings()->backgroundColor()).hasAlpha());
-
- // TODO: This code is only needed for EGLImage code path, but preferrably BackingStore
- // should not know that, and the synchronization should be in BlackBerry::Platform::Graphics
- // if possible.
- if (isOpenGLCompositing())
- SurfacePool::globalSurfacePool()->waitForBuffer(backBuffer);
-
- const Platform::FloatPoint documentDirtyRectOrigin = viewportAccessor->toDocumentContents(dirtyRect.location(), currentScale);
- const Platform::IntRect dstRect(dirtyRect.location() - tileOrigin, dirtyRect.size());
-
- if (!renderContents(nativeBuffer, dstRect, currentScale, documentDirtyRectOrigin, RenderRootLayer)) {
- // Put the buffer back into the surface pool so it doesn't get lost.
- SurfacePool::globalSurfacePool()->addBackBuffer(backBuffer);
- continue;
- }
-
- // Add the newly rendered region to the tile so it can keep track for blits.
- backBuffer->addRenderedRegion(dirtyRect);
-
- renderedTiles.append(index);
- newTileMap.set(index, backBuffer);
- }
-
- // Let the render queue know that the tile contents are up to date now.
- m_renderQueue->clear(renderedTiles, frontState(), RenderQueue::DontClearCompletedJobs);
-
- // If we couldn't render all requested jobs, suspend blitting until we do.
- updateSuspendScreenUpdateState();
-
- newGeometry->setTileMap(newTileMap);
- adoptAsFrontState(newGeometry);
-
-#if DEBUG_BACKINGSTORE
- Platform::logAlways(Platform::LogLevelInfo,
- "BackingStorePrivate::render done rendering %d tiles.",
- renderedTiles.size());
-#endif
- return renderedTiles;
-}
-
-void BackingStorePrivate::requestLayoutIfNeeded() const
-{
- m_webPage->d->updateLayoutAndStyleIfNeededRecursive();
-}
-
-void BackingStorePrivate::renderAndBlitVisibleContentsImmediately()
-{
- renderAndBlitImmediately(visibleContentsRect());
-}
-
-void BackingStorePrivate::renderAndBlitImmediately(const Platform::IntRect& rect)
-{
- updateTileMatrixIfNeeded();
- m_renderQueue->addToQueue(RenderQueue::VisibleZoom, rect);
- renderJob();
-}
-
-void BackingStorePrivate::blitVisibleContents(bool force)
-{
- if (!BlackBerry::Platform::userInterfaceThreadMessageClient()->isCurrentThread()) {
- BlackBerry::Platform::userInterfaceThreadMessageClient()->dispatchMessage(
- BlackBerry::Platform::createMethodCallMessage(
- &BackingStorePrivate::blitVisibleContents, this, force));
- return;
- }
-
- if (m_suspendScreenUpdatesUserInterfaceThread) {
- // Avoid client going into busy loop while blit is impossible.
- if (force)
- m_hasBlitJobs = false;
- return;
- }
-
- if (!force) {
-#if USE(ACCELERATED_COMPOSITING)
- // If there's a WebPageCompositorClient, let it schedule the blit.
- if (WebPageCompositorPrivate* compositor = m_webPage->d->compositor()) {
- if (WebPageCompositorClient* client = compositor->client()) {
- client->invalidate(0);
- return;
- }
- }
-#endif
-
- m_hasBlitJobs = true;
- return;
- }
-
- m_hasBlitJobs = false;
-
- Platform::ViewportAccessor* viewportAccessor = m_webPage->client()->userInterfaceViewportAccessor();
- if (!viewportAccessor)
- return;
- const Platform::IntRect dstRect = viewportAccessor->destinationSurfaceRect();
- if (dstRect.isEmpty())
- return;
-
- BlackBerry::Platform::PerformanceMonitor::instance()->reportFrameRenderBegin();
-
- const Platform::IntRect pixelViewportRect = viewportAccessor->pixelViewportRect();
- const Platform::FloatRect documentViewportRect = viewportAccessor->documentFromPixelContents(pixelViewportRect);
- Platform::IntRect pixelSrcRect = pixelViewportRect;
- Platform::FloatRect documentSrcRect = documentViewportRect;
-
-#if DEBUG_VISUALIZE
- // Substitute a srcRect that consists of the whole backingstore geometry
- // instead of the normal viewport so we can visualize the entire
- // backingstore and what it is doing when we scroll and zoom!
- Platform::ViewportAccessor* debugViewportAccessor = new BackingStoreVisualizationViewportAccessor(viewportAccessor, this);
- if (isActive()) {
- viewportAccessor = debugViewportAccessor;
- documentSrcRect = debugViewportAccessor->documentViewportRect();
- pixelSrcRect = debugViewportAccessor->pixelViewportRect();
- }
-#endif
-
-#if DEBUG_BACKINGSTORE
- Platform::logAlways(Platform::LogLevelCritical,
- "BackingStorePrivate::blitVisibleContents(): dstRect=%s, documentSrcRect=%s, scale=%f",
- dstRect.toString().c_str(), documentSrcRect.toString().c_str(), viewportAccessor->scale());
-#endif
-
- BlackBerry::Platform::Graphics::Buffer* dstBuffer = buffer();
- ASSERT(dstBuffer);
- if (dstBuffer) {
- // On the GPU, clearing is free and allows for optimizations,
- // so we always want to do this first for the whole surface.
- BlackBerry::Platform::Graphics::clearBuffer(dstBuffer,
- m_webPageBackgroundColor.red(), m_webPageBackgroundColor.green(),
- m_webPageBackgroundColor.blue(), m_webPageBackgroundColor.alpha());
- } else
- Platform::logAlways(Platform::LogLevelWarn, "Empty window buffer, can't blit contents.");
-
- // Now go about actually compositing the contents.
- Vector<TileBuffer*> blittedTiles;
-
- if (isActive() && !m_webPage->d->compositorDrawsRootLayer()) {
- BackingStoreGeometry* geometry = frontState();
- TileMap currentMap = geometry->tileMap();
- double currentScale = geometry->scale();
-
- const Platform::IntRect transformedContentsRect = currentScale == viewportAccessor->scale()
- ? viewportAccessor->pixelContentsRect()
- : viewportAccessor->roundFromDocumentContents(viewportAccessor->documentContentsRect(), currentScale);
-
- // For blitting backingstore tiles, we need the srcRect to be specified
- // in backingstore tile pixel coordinates. If our viewport accessor is
- // at a different scale, we calculate those coordinates by ourselves.
- const Platform::IntRect transformedSrcRect = currentScale == viewportAccessor->scale()
- ? pixelSrcRect
- : viewportAccessor->roundFromDocumentContents(documentSrcRect, currentScale);
-
- Platform::IntRect clippedTransformedSrcRect = transformedSrcRect;
- const Platform::IntPoint origin = transformedSrcRect.location();
-
- // FIXME: This should not explicitly depend on WebCore::.
- TransformationMatrix transformation;
- if (!transformedSrcRect.isEmpty())
- transformation = TransformationMatrix::rectToRect(FloatRect(FloatPoint(0.0, 0.0), WebCore::IntSize(transformedSrcRect.size())), WebCore::IntRect(dstRect));
-
- Platform::Graphics::PlatformGraphicsContext* destinationContext = lockBufferDrawable(dstBuffer);
- if (!destinationContext)
- Platform::logAlways(Platform::LogLevelWarn, "Could not lock drawable for the destination buffer, not drawing checkerboard.");
- else {
- // For public builds, keep page background color (as filled by
- // clearBuffer() above) to convey the impression of less checkerboard.
- if (!BlackBerry::Platform::Settings::isPublicBuild()) {
- // For developer builds, keep the checkerboard to get it fixed better.
- Platform::Graphics::AffineTransform srcTransform;
- srcTransform.scale(transformation.a());
- destinationContext->addPredefinedPattern(
- viewportAccessor->pixelViewportFromContents(viewportAccessor->pixelContentsRect()),
- Platform::Graphics::Checkerboard, srcTransform);
- }
- releaseBufferDrawable(dstBuffer);
- }
-
- // Get the list of tile rects that makeup the content.
- TileRectList tileRectList = mapFromPixelContentsToTiles(clippedTransformedSrcRect, geometry);
- for (size_t i = 0; i < tileRectList.size(); ++i) {
- TileRect tileRect = tileRectList[i];
- TileIndex index = tileRect.first;
- Platform::IntRect dirtyRect = tileRect.second;
-
- // Don't clip to contents if it is empty so we can still paint default background.
- if (!transformedContentsRect.isEmpty()) {
- // Otherwise we should clip the contents size and blit.
- dirtyRect.intersect(transformedContentsRect);
- }
-
- // Save some cycles here...
- if (dirtyRect.isEmpty())
- continue;
-
- // Now, this dirty rect is in transformed coordinates relative to the
- // transformed contents, but ultimately it needs to be transformed
- // coordinates relative to the viewport.
- dirtyRect.move(-origin.x(), -origin.y());
-
- TileBuffer* tileBuffer = currentMap.get(index);
-
- if (geometry->isTileCorrespondingToBuffer(index, tileBuffer)) {
- // Intersect the rendered region.
- Platform::IntRectRegion renderedRegion = tileBuffer->renderedRegion();
- std::vector<Platform::IntRect> dirtyRenderedRects = renderedRegion.rects();
- for (size_t j = 0; j < dirtyRenderedRects.size(); ++j) {
- const Platform::IntRect& dirtyRenderedRect = intersection(tileRect.second, dirtyRenderedRects.at(j));
- if (dirtyRenderedRect.isEmpty())
- continue;
- // Blit the rendered parts.
- blitTileRect(tileBuffer, dirtyRenderedRect, origin, transformation, geometry);
- }
- blittedTiles.append(tileBuffer);
- }
- }
- }
-
- // TODO: This code is only needed for EGLImage code path, but preferrably BackingStore
- // should not know that, and the synchronization should be in BlackBerry::Platform::Graphics
- // if possible.
- if (isOpenGLCompositing())
- SurfacePool::globalSurfacePool()->notifyBuffersComposited(blittedTiles);
-
-#if USE(ACCELERATED_COMPOSITING)
- if (WebPageCompositorPrivate* compositor = m_webPage->d->compositor())
- compositor->drawLayers(dstRect, documentSrcRect);
-#endif
-
- // Overlay an overscroll pattern (or color) for areas outside of the page contents.
- const Platform::IntRect pixelContentsRect = viewportAccessor->pixelContentsRect();
- Platform::IntRectRegion overScrollRegion = Platform::IntRectRegion::subtractRegions(
- dstRect, viewportAccessor->pixelViewportFromContents(pixelContentsRect));
-
- if (!overScrollRegion.isEmpty()) {
- Platform::Graphics::PlatformGraphicsContext* destinationContext = lockBufferDrawable(dstBuffer);
- if (!destinationContext)
- Platform::logAlways(Platform::LogLevelWarn, "Could not lock drawable for the destination buffer, not drawing overscroll.");
- else {
- std::vector<Platform::IntRect> overScrollRects = overScrollRegion.rects();
-
- for (size_t i = 0; i < overScrollRects.size(); ++i) {
- const Platform::IntRect& overScrollRect = overScrollRects.at(i);
-
- if (m_webPage->settings()->isEnableDefaultOverScrollBackground()) {
- Platform::Graphics::AffineTransform srcTransform;
- srcTransform.translate(-overScrollRect.x(), -overScrollRect.y());
- destinationContext->addPredefinedPattern(overScrollRect, Platform::Graphics::Overscroll, srcTransform);
- } else {
- destinationContext->setFillColor(m_webPage->settings()->overScrollColor());
- destinationContext->addFillRect(overScrollRect);
- }
- }
- releaseBufferDrawable(dstBuffer);
- }
- }
-
-#if DEBUG_VISUALIZE
- if (debugViewportAccessor) {
- Platform::Graphics::PlatformGraphicsContext* destinationContext = lockBufferDrawable(dstBuffer);
- if (!destinationContext)
- Platform::logAlways(Platform::LogLevelWarn, "Could not lock drawable for the destination buffer, not drawing viewport debug rects.");
- else {
- destinationContext->save();
-
- Platform::FloatRect wkViewport = debugViewportAccessor->roundToPixelFromDocumentContents(Platform::IntRect(m_client->visibleContentsRect()));
- Platform::FloatRect uiViewport = debugViewportAccessor->roundToPixelFromDocumentContents(documentViewportRect);
- wkViewport.move(-pixelSrcRect.x(), -pixelSrcRect.y());
- uiViewport.move(-pixelSrcRect.x(), -pixelSrcRect.y());
-
- // Shrink by half a pixel to make pixel-perfect stroke rectangles.
- wkViewport.inflate(-0.5, -0.5);
- uiViewport.inflate(-0.5, -0.5);
-
- // Draw a blue rect for the webkit thread viewport.
- destinationContext->setStrokeColor(0xff0000ff);
- destinationContext->addStrokeRect(wkViewport, 1.0);
-
- // Draw a red rect for the ui thread viewport.
- destinationContext->setStrokeColor(0x0000ffff);
- destinationContext->addStrokeRect(uiViewport, 1.0);
-
- destinationContext->restore();
- releaseBufferDrawable(dstBuffer);
- }
-
- delete debugViewportAccessor;
- }
-#endif
-
- m_webPage->client()->postToSurface(dstRect);
-
- BlackBerry::Platform::PerformanceMonitor::instance()->reportFrameRenderEnd(true /*didRender*/);
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-void BackingStorePrivate::compositeContents(WebCore::LayerRenderer* layerRenderer, const WebCore::TransformationMatrix& transform, const WebCore::FloatRect& documentContents, bool contentsOpaque)
-{
- Platform::ViewportAccessor* viewportAccessor = m_webPage->client()->userInterfaceViewportAccessor();
- if (!viewportAccessor)
- return;
-
- Platform::IntRect pixelContents = viewportAccessor->roundToPixelFromDocumentContents(documentContents);
- pixelContents.intersect(viewportAccessor->pixelContentsRect());
- if (pixelContents.isEmpty())
- return;
-
- if (!isActive())
- return;
-
- if (m_webPage->d->compositorDrawsRootLayer())
- return;
-
- BackingStoreGeometry* geometry = frontState();
- TileMap currentMap = geometry->tileMap();
- Vector<TileBuffer*> compositedTiles;
-
- Platform::IntRectRegion pixelContentsRegion = pixelContents;
- Platform::IntRectRegion backingStoreRegion = geometry->backingStoreRect();
- Platform::IntRectRegion clearRegion = Platform::IntRectRegion::subtractRegions(pixelContentsRegion, backingStoreRegion);
-
- // Clear those parts that are not covered by the backingStoreRect.
- Color clearColor(Color::white);
- std::vector<Platform::IntRect> clearRects = clearRegion.rects();
- for (size_t i = 0; i < clearRects.size(); ++i)
- layerRenderer->drawColor(transform, viewportAccessor->documentFromPixelContents(clearRects.at(i)), clearColor);
-
- // Get the list of tile rects that makeup the content.
- TileRectList tileRectList = mapFromPixelContentsToTiles(pixelContents, geometry);
- for (size_t i = 0; i < tileRectList.size(); ++i) {
- TileRect tileRect = tileRectList[i];
- TileIndex index = tileRect.first;
- Platform::IntRect dirtyRect = tileRect.second;
- TileBuffer* tileBuffer = currentMap.get(index);
-
- if (!tileBuffer || !geometry->isTileCorrespondingToBuffer(index, tileBuffer))
- layerRenderer->drawColor(transform, viewportAccessor->documentFromPixelContents(dirtyRect), clearColor);
- else {
- Platform::IntPoint tileOrigin = tileBuffer->lastRenderOrigin();
- Platform::FloatRect tileDocumentContentsRect = viewportAccessor->documentFromPixelContents(tileBuffer->pixelContentsRect());
-
- layerRenderer->compositeBuffer(transform, tileDocumentContentsRect, tileBuffer->nativeBuffer(), contentsOpaque, 1.0f);
- compositedTiles.append(tileBuffer);
-
- // Intersect the rendered region and clear unrendered parts.
- Platform::IntRectRegion notRenderedRegion = Platform::IntRectRegion::subtractRegions(dirtyRect, tileBuffer->renderedRegion());
- std::vector<Platform::IntRect> notRenderedRects = notRenderedRegion.rects();
- for (size_t i = 0; i < notRenderedRects.size(); ++i) {
- Platform::IntRect tileSurfaceRect = notRenderedRects.at(i);
- tileSurfaceRect.move(-tileOrigin.x(), -tileOrigin.y());
- layerRenderer->drawColor(transform, viewportAccessor->documentFromPixelContents(tileSurfaceRect), clearColor);
- }
- }
- }
-
- SurfacePool::globalSurfacePool()->notifyBuffersComposited(compositedTiles);
-}
-#endif
-
-Platform::IntRect BackingStorePrivate::blitTileRect(TileBuffer* tileBuffer,
- const Platform::IntRect& tilePixelContentsRect,
- const Platform::IntPoint& origin,
- const WebCore::TransformationMatrix& matrix,
- BackingStoreGeometry*)
-{
- if (!m_webPage->isVisible() || !isActive() || !tileBuffer)
- return Platform::IntRect();
-
- Platform::IntRect srcRect = tilePixelContentsRect;
- Platform::IntPoint tileOrigin = tileBuffer->lastRenderOrigin();
- srcRect.move(-tileOrigin.x(), -tileOrigin.y());
-
- // Now, this dirty rect is in transformed coordinates relative to the
- // transformed contents, but ultimately it needs to be transformed
- // coordinates relative to the viewport.
- Platform::IntRect dstRect = tilePixelContentsRect;
- dstRect.move(-origin.x(), -origin.y());
- dstRect = matrix.mapRect(dstRect);
-
- if (!matrix.isIdentity()) {
- // Because of rounding it is possible that dstRect could be off-by-one larger
- // than the surface size of the dst buffer. We prevent this here, by clamping
- // it to ensure that can't happen.
- dstRect.intersect(Platform::IntRect(Platform::IntPoint(0, 0), surfaceSize()));
- }
-
- ASSERT(!dstRect.isEmpty());
- ASSERT(!srcRect.isEmpty());
- if (dstRect.isEmpty() || srcRect.isEmpty())
- return Platform::IntRect();
-
- blitToWindow(dstRect, tileBuffer->nativeBuffer(), srcRect, BlackBerry::Platform::Graphics::SourceCopy, 255);
- return dstRect;
-}
-
-bool BackingStorePrivate::isTileVisible(const TileIndex& index, BackingStoreGeometry* geometry) const
-{
- return isTileVisible(geometry->originOfTile(index));
-}
-
-bool BackingStorePrivate::isTileVisible(const Platform::IntPoint& origin) const
-{
- return Platform::IntRect(origin, tileSize()).intersects(visibleContentsRect());
-}
-
-TileIndexList BackingStorePrivate::visibleTileIndexes(BackingStoreGeometry* geometry) const
-{
- TileMap tileMap = geometry->tileMap();
- TileIndexList visibleTiles;
-
- TileMap::const_iterator end = tileMap.end();
- for (TileMap::const_iterator it = tileMap.begin(); it != end; ++it) {
- Platform::IntRect tilePixelContentsRect(geometry->originOfTile(it->key), tileSize());
- if (tilePixelContentsRect.intersects(visibleContentsRect()))
- visibleTiles.append(it->key);
- }
- return visibleTiles;
-}
-
-Platform::IntRect BackingStorePrivate::tileVisibleContentsRect(const TileIndex& index, BackingStoreGeometry* geometry) const
-{
- if (!isTileVisible(index, geometry))
- return Platform::IntRect();
-
- return tileContentsRect(index, visibleContentsRect(), geometry);
-}
-
-Platform::IntRect BackingStorePrivate::tileContentsRect(const TileIndex& index, const Platform::IntRect& pixelContentsRect, BackingStoreGeometry* state) const
-{
- TileRectList tileRectList = mapFromPixelContentsToTiles(pixelContentsRect, state);
- for (size_t i = 0; i < tileRectList.size(); ++i) {
- TileRect tileRect = tileRectList[i];
- if (index == tileRect.first)
- return tileRect.second;
- }
- return Platform::IntRect();
-}
-
-void BackingStorePrivate::resetRenderQueue()
-{
- m_renderQueue->reset();
-}
-
-void BackingStorePrivate::resetTiles()
-{
- BackingStoreGeometry* geometry = frontState();
-
- m_renderQueue->clear(geometry->backingStoreRect(), RenderQueue::ClearAnyJobs);
-
- BackingStoreGeometry* newGeometry = new BackingStoreGeometry;
- newGeometry->setScale(geometry->scale());
- newGeometry->setNumberOfTilesWide(geometry->numberOfTilesWide());
- newGeometry->setNumberOfTilesHigh(geometry->numberOfTilesHigh());
- newGeometry->setBackingStoreOffset(geometry->backingStoreOffset());
-
- TileMap currentMap = geometry->tileMap();
- TileMap newTileMap;
-
- TileMap::const_iterator end = currentMap.end();
- for (TileMap::const_iterator it = currentMap.begin(); it != end; ++it)
- newTileMap.add(it->key, 0); // clear all buffer info from the tile
-
- newGeometry->setTileMap(newTileMap);
- adoptAsFrontState(newGeometry); // swap into UI thread
-}
-
-void BackingStorePrivate::updateTiles(bool updateVisible, bool immediate)
-{
- if (!isActive())
- return;
-
- BackingStoreGeometry* geometry = frontState();
- TileMap currentMap = geometry->tileMap();
-
- TileMap::const_iterator end = currentMap.end();
- for (TileMap::const_iterator it = currentMap.begin(); it != end; ++it) {
- bool isVisible = isTileVisible(it->key, geometry);
- if (!updateVisible && isVisible)
- continue;
- updateTile(geometry->originOfTile(it->key), immediate);
- }
-}
-
-void BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion(bool checkLoading)
-{
- // This method looks at all the tiles and if they are visible, but not completely
- // rendered or we are loading, then it updates them. For all tiles, visible and
- // non-visible, if a previous attempt was made to render them during a regular
- // render job, but they were not visible at the time, then update them and if
- // they are currently visible, reset them.
-
- BackingStoreGeometry* geometry = frontState();
- TileMap currentMap = geometry->tileMap();
-
- bool isLoading = m_client->loadState() == WebPagePrivate::Committed;
- bool updateNonVisibleTiles = !checkLoading || !isLoading;
-
- TileMap::const_iterator end = currentMap.end();
- for (TileMap::const_iterator it = currentMap.begin(); it != end; ++it) {
- TileIndex index = it->key;
- TileBuffer* tileBuffer = it->value;
- bool isVisible = isTileVisible(index, geometry);
- Platform::IntPoint tileOrigin = geometry->originOfTile(index);
- // The rect in transformed contents coordinates.
- Platform::IntRect rect(tileOrigin, tileSize());
- if (geometry->isTileCorrespondingToBuffer(index, tileBuffer)
- && m_renderQueue->regularRenderJobsPreviouslyAttemptedButNotRendered(rect)) {
- // If the render queue previously tried to render this tile, but the
- // tile wasn't visible at the time we can't simply restore the tile
- // since the content is now invalid as far as WebKit is concerned.
- // Instead, we clear that part of the tile if it is visible and then
- // put the tile in the render queue again.
- if (isVisible) {
- // Intersect the tile with the not rendered region to get the areas
- // of the tile that we need to clear.
- Platform::IntRectRegion tileNotRenderedRegion = Platform::IntRectRegion::intersectRegions(m_renderQueue->regularRenderJobsNotRenderedRegion(), rect);
- clearAndUpdateTileOfNotRenderedRegion(index, tileBuffer, tileNotRenderedRegion, geometry, false /*update*/);
-#if DEBUG_BACKINGSTORE
- Platform::logAlways(Platform::LogLevelCritical,
- "BackingStorePrivate::updateTilesForScroll did clear tile %s",
- tileNotRenderedRegion.extents().toString().c_str());
-#endif
- }
- updateTile(tileOrigin, false /*immediate*/);
- } else if ((isVisible || updateNonVisibleTiles)
- && (!tileBuffer || !tileBuffer->isRendered(tileVisibleContentsRect(index, geometry), geometry->scale()))
- && !isCurrentVisibleJob(index, geometry))
- updateTile(tileOrigin, false /*immediate*/);
- }
-}
-
-void BackingStorePrivate::updateTile(const Platform::IntPoint& origin, bool immediate)
-{
- if (!isActive())
- return;
-
- Platform::IntRect updateRect = Platform::IntRect(origin, tileSize());
- if (immediate)
- renderAndBlitImmediately(updateRect);
- else {
- RenderQueue::JobType jobType = isTileVisible(origin) ? RenderQueue::VisibleScroll : RenderQueue::NonVisibleScroll;
- m_renderQueue->addToQueue(jobType, updateRect);
- }
-}
-
-BackingStorePrivate::TileRectList BackingStorePrivate::mapFromPixelContentsToTiles(const Platform::IntRect& rect, BackingStoreGeometry* geometry) const
-{
- TileMap tileMap = geometry->tileMap();
-
- TileRectList tileRectList;
- TileMap::const_iterator end = tileMap.end();
- for (TileMap::const_iterator it = tileMap.begin(); it != end; ++it) {
- TileIndex index = it->key;
-
- // Need to map the rect to tile coordinates.
- Platform::IntRect r = rect;
-
- // Do we intersect the current tile or no?
- r.intersect(Platform::IntRect(geometry->originOfTile(index), tileSize()));
- if (r.isEmpty())
- continue;
-
- // If we do append to list and Voila!
- TileRect tileRect;
- tileRect.first = index;
- tileRect.second = r;
- tileRectList.append(tileRect);
- }
- return tileRectList;
-}
-
-void BackingStorePrivate::updateTileMatrixIfNeeded()
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
- if (!m_tileMatrixNeedsUpdate)
- return;
-
- m_tileMatrixNeedsUpdate = false;
-
- // This will update the tile matrix.
- scrollBackingStore(0, 0);
-}
-
-void BackingStorePrivate::contentsSizeChanged(const Platform::IntSize&)
-{
- setTileMatrixNeedsUpdate();
- updateTileMatrixIfNeeded();
-}
-
-void BackingStorePrivate::scrollChanged(const Platform::IntPoint&)
-{
- // FIXME: Need to do anything here?
-}
-
-void BackingStorePrivate::transformChanged()
-{
- if (!m_webPage->isVisible())
- return;
-
- m_renderQueue->reset();
-
- if (!isActive()) {
- m_webPage->d->setShouldResetTilesWhenShown(true);
- return;
- }
- resetTiles();
-}
-
-void BackingStorePrivate::orientationChanged()
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
- setTileMatrixNeedsUpdate();
- updateTileMatrixIfNeeded();
-}
-
-void BackingStorePrivate::actualVisibleSizeChanged(const Platform::IntSize&)
-{
-}
-
-void BackingStorePrivate::createSurfaces()
-{
- BackingStoreGeometry* geometry = frontState();
- TileMap initialMap = geometry->tileMap();
-
- ASSERT(initialMap.isEmpty());
-
- if (m_webPage->isVisible()) {
- // This method is only to be called as part of setting up a new web page instance and
- // before said instance is made visible so as to ensure a consistent definition of web
- // page visibility. That is, a web page is said to be visible when explicitly made visible.
- ASSERT_NOT_REACHED();
- return;
- }
-
- // Initialize (initially, probably suspend) screen updates based on various
- // conditions, including whether or not we have a drawing target buffer.
- updateSuspendScreenUpdateState();
-
- SurfacePool* surfacePool = SurfacePool::globalSurfacePool();
- surfacePool->initialize(tileSize());
-
- if (surfacePool->isEmpty()) // Settings specify 0 tiles / no backing store.
- return;
-
- // Pick a random divisor to initialize the tile map.
- DivisorList divisorList = divisors(surfacePool->numberOfBackingStoreFrontBuffers());
- const Divisor divisor = divisorList[0];
-
- int numberOfTilesWide = divisor.first;
- int numberOfTilesHigh = divisor.second;
-
- TileMap newTileMap;
- for (int y = 0; y < numberOfTilesHigh; ++y) {
- for (int x = 0; x < numberOfTilesWide; ++x) {
- TileIndex index(x, y);
- newTileMap.add(index, 0); // no buffers initially assigned.
- }
- }
-
- // Set the initial state of the backingstore geometry.
- BackingStoreGeometry* newGeometry = new BackingStoreGeometry;
- newGeometry->setScale(m_webPage->d->currentScale());
- newGeometry->setNumberOfTilesWide(divisor.first);
- newGeometry->setNumberOfTilesHigh(divisor.second);
- newGeometry->setTileMap(newTileMap);
- adoptAsFrontState(newGeometry); // swap into UI thread
-}
-
-Platform::IntPoint BackingStoreGeometry::originOfTile(const TileIndex& index) const
-{
- return Platform::IntPoint(backingStoreRect().x() + (index.i() * BackingStorePrivate::tileWidth()),
- backingStoreRect().y() + (index.j() * BackingStorePrivate::tileHeight()));
-}
-
-int BackingStorePrivate::tileWidth()
-{
- return tileSize().width();
-}
-
-int BackingStorePrivate::tileHeight()
-{
- return tileSize().height();
-}
-
-Platform::IntSize BackingStorePrivate::tileSize()
-{
- static Platform::IntSize tileSize = Platform::Settings::instance()->tileSize();
- return tileSize;
-}
-
-bool BackingStorePrivate::renderContents(BlackBerry::Platform::Graphics::Buffer* targetBuffer, const Platform::IntRect& dstRect, double scale, const Platform::FloatPoint& documentRenderOrigin, LayersToRender layersToRender) const
-{
-#if DEBUG_BACKINGSTORE
- Platform::logAlways(Platform::LogLevelCritical,
- "BackingStorePrivate::renderContents targetBuffer=0x%p dstRect=%s scale=%f documentRenderOrigin=%s",
- targetBuffer, dstRect.toString().c_str(), scale, documentRenderOrigin.toString().c_str());
-#endif
-
- // It is up to callers of this method to perform layout themselves!
- ASSERT(!m_webPage->d->mainFrame()->view()->needsLayout());
- ASSERT(targetBuffer);
-
- Platform::ViewportAccessor* viewportAccessor = m_webPage->webkitThreadViewportAccessor();
- WebCore::FloatRect renderedFloatRect(documentRenderOrigin, viewportAccessor->toDocumentContents(dstRect.size(), scale));
- WebCore::IntRect contentsRect(WebCore::IntPoint::zero(), m_client->contentsSize());
- Color backgroundColor(m_webPage->settings()->backgroundColor());
-
- if (contentsRect.isEmpty()
- || backgroundColor.hasAlpha()
- || !WebCore::FloatRect(contentsRect).contains(renderedFloatRect)) {
- // Clear the area if it's not fully covered by (opaque) contents.
- BlackBerry::Platform::Graphics::clearBuffer(targetBuffer, dstRect,
- backgroundColor.red(), backgroundColor.green(),
- backgroundColor.blue(), backgroundColor.alpha());
- }
-
- if (contentsRect.isEmpty())
- return true;
-
- Platform::Graphics::Drawable* bufferDrawable = Platform::Graphics::lockBufferDrawable(targetBuffer);
- Platform::Graphics::Buffer* drawingBuffer = 0;
-
- if (bufferDrawable)
- drawingBuffer = targetBuffer;
- else {
- BBLOG(Platform::LogLevelWarn, "Using temporary buffer to paint contents, look into avoiding this.");
-
- drawingBuffer = Platform::Graphics::createBuffer(dstRect.size(), Platform::Graphics::BackedWhenNecessary);
- if (!drawingBuffer) {
- Platform::logAlways(Platform::LogLevelWarn, "Could not create temporary buffer, expect bad things to happen.");
- return false;
- }
- bufferDrawable = Platform::Graphics::lockBufferDrawable(drawingBuffer);
- if (!bufferDrawable) {
- Platform::logAlways(Platform::LogLevelWarn, "Could not lock temporary buffer drawable, expect bad things to happen.");
- Platform::Graphics::destroyBuffer(drawingBuffer);
- return false;
- }
- }
-
- PlatformGraphicsContext* platformGraphicsContext = SurfacePool::globalSurfacePool()->createPlatformGraphicsContext(bufferDrawable);
- ASSERT(platformGraphicsContext);
-
- {
- GraphicsContext graphicsContext(platformGraphicsContext);
-
- // Clip the output to the destination pixels.
- graphicsContext.save();
- graphicsContext.clip(dstRect);
-
- // Translate context according to offset.
- if (targetBuffer == drawingBuffer)
- graphicsContext.translate(-dstRect.x(), -dstRect.y());
-
- // Add our transformation matrix as the global transform.
- graphicsContext.scale(WebCore::FloatSize(scale, scale));
- graphicsContext.translate(-documentRenderOrigin.x(), -documentRenderOrigin.y());
-
- // Make sure the rectangle for the rendered rectangle is within the
- // bounds of the page.
- WebCore::IntRect renderedRect = enclosingIntRect(renderedFloatRect);
- renderedRect.intersect(contentsRect);
-
- // Take care of possible left overflow on RTL page.
- if (int leftOverFlow = m_client->frame()->view()->minimumScrollPosition().x()) {
- renderedRect.move(leftOverFlow, 0);
- graphicsContext.translate(-leftOverFlow, 0);
- }
-
- // Let WebCore render the page contents into the drawing surface.
- if (layersToRender == RenderRootLayer)
- m_client->frame()->view()->paintContents(&graphicsContext, renderedRect);
- else
- m_client->frame()->view()->paintContentsForSnapshot(&graphicsContext, renderedRect, FrameView::ExcludeSelection, FrameView::DocumentCoordinates);
-
- graphicsContext.restore();
- }
-
- SurfacePool::globalSurfacePool()->destroyPlatformGraphicsContext(platformGraphicsContext);
- Platform::Graphics::releaseBufferDrawable(drawingBuffer);
-
- if (targetBuffer != drawingBuffer) {
- // If we couldn't directly draw to the buffer, copy from the drawing surface.
- const Platform::IntRect srcRect(Platform::IntPoint::zero(), dstRect.size());
-
- Platform::Graphics::blitToBuffer(targetBuffer, dstRect, drawingBuffer, srcRect);
- Platform::Graphics::destroyBuffer(drawingBuffer);
- }
-
- return true;
-}
-
-#if DEBUG_FAT_FINGERS
-static void drawDebugRect(BlackBerry::Platform::Graphics::Buffer* dstBuffer, const Platform::IntRect& dstRect, const Platform::IntRect& srcRect, unsigned char red, unsigned char green, unsigned char blue)
-{
- Platform::IntRect drawRect(srcRect);
- drawRect.intersect(dstRect);
- if (!drawRect.isEmpty())
- BlackBerry::Platform::Graphics::clearBuffer(dstBuffer, drawRect, red, green, blue, 128);
-}
-#endif
-
-void BackingStorePrivate::blitToWindow(const Platform::IntRect& dstRect,
- const Platform::Graphics::Buffer* srcBuffer,
- const Platform::IntRect& srcRect,
- Platform::Graphics::BlendMode blendMode,
- unsigned char globalAlpha)
-{
- ASSERT(BlackBerry::Platform::userInterfaceThreadMessageClient()->isCurrentThread());
-
- BlackBerry::Platform::Graphics::Buffer* dstBuffer = buffer();
- ASSERT(dstBuffer);
- ASSERT(srcBuffer);
- if (!dstBuffer)
- Platform::logAlways(Platform::LogLevelWarn, "Empty window buffer, couldn't blitToWindow");
-
- BlackBerry::Platform::Graphics::blitToBuffer(dstBuffer, dstRect, srcBuffer, srcRect, blendMode, globalAlpha);
-
-#if DEBUG_FAT_FINGERS
- drawDebugRect(dstBuffer, dstRect, FatFingers::m_debugFatFingerRect, 210, 210, 250);
- drawDebugRect(dstBuffer, dstRect, Platform::IntRect(FatFingers::m_debugFatFingerClickPosition, Platform::IntSize(3, 3)), 0, 0, 0);
- drawDebugRect(dstBuffer, dstRect, Platform::IntRect(FatFingers::m_debugFatFingerAdjustedPosition, Platform::IntSize(5, 5)), 100, 100, 100);
-#endif
-
-}
-
-WebCore::Color BackingStorePrivate::webPageBackgroundColorUserInterfaceThread() const
-{
- ASSERT(BlackBerry::Platform::userInterfaceThreadMessageClient()->isCurrentThread());
- return m_webPageBackgroundColor;
-}
-
-void BackingStorePrivate::setWebPageBackgroundColor(const WebCore::Color& color)
-{
- if (!BlackBerry::Platform::userInterfaceThreadMessageClient()->isCurrentThread()) {
- typedef void (BlackBerry::WebKit::BackingStorePrivate::*FunctionType)(const WebCore::Color&);
-
- BlackBerry::Platform::userInterfaceThreadMessageClient()->dispatchMessage(
- BlackBerry::Platform::createMethodCallMessage<FunctionType, BackingStorePrivate, WebCore::Color>(
- &BackingStorePrivate::setWebPageBackgroundColor, this, color));
- return;
- }
-
- m_webPageBackgroundColor = color;
-}
-
-bool BackingStorePrivate::isScrollingOrZooming() const
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
- return m_isScrollingOrZooming;
-}
-
-void BackingStorePrivate::setScrollingOrZooming(bool scrollingOrZooming, bool shouldBlit)
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
- if (m_isScrollingOrZooming == scrollingOrZooming)
- return;
-
- m_isScrollingOrZooming = scrollingOrZooming;
-
-#if !ENABLE_REPAINTONSCROLL
- m_suspendRenderJobs = scrollingOrZooming; // Suspend the rendering of everything.
-#endif
-
- if (!m_webPage->settings()->shouldRenderAnimationsOnScrollOrZoom())
- m_suspendRegularRenderJobs = scrollingOrZooming; // Suspend the rendering of animations.
-
- m_webPage->d->m_mainFrame->view()->setConstrainsScrollingToContentEdge(!scrollingOrZooming);
-
- // Clear this flag since we don't care if the render queue is under pressure
- // or not since we are scrolling and it is more important to not lag than
- // it is to ensure animations achieve better framerates!
- if (scrollingOrZooming)
- m_renderQueue->setCurrentRegularRenderJobBatchUnderPressure(false);
-#if ENABLE_SCROLLBARS
- else if (shouldBlit)
- blitVisibleContents();
-#endif
- if (!scrollingOrZooming && shouldPerformRegularRenderJobs())
- dispatchRenderJob();
-}
-
-BackingStoreGeometry* BackingStorePrivate::frontState() const
-{
- return reinterpret_cast<BackingStoreGeometry*>(m_frontState);
-}
-
-void BackingStorePrivate::adoptAsFrontState(BackingStoreGeometry* newFrontState)
-{
- bool hasValidBuffers = false;
-
- // Remember the buffers we'll use in the new front state for comparison.
- WTF::Vector<TileBuffer*> newTileBuffers;
- TileMap newTileMap = newFrontState->tileMap();
- TileMap::const_iterator end = newTileMap.end();
- for (TileMap::const_iterator it = newTileMap.begin(); it != end; ++it) {
- if (it->value) {
- hasValidBuffers = true;
- newTileBuffers.append(it->value);
- }
- }
-
- if (!hasValidBuffers) {
- m_tileMatrixContainsUsefulContent = false;
- updateSuspendScreenUpdateState();
- }
-
- unsigned newFront = reinterpret_cast<unsigned>(newFrontState);
- BackingStoreGeometry* oldFrontState = frontState();
-
- // Atomic change.
- _smp_xchg(&m_frontState, newFront);
-
- bool hasSynced = false;
-
- if (hasValidBuffers) {
- m_tileMatrixContainsUsefulContent = true;
- updateSuspendScreenUpdateState(&hasSynced);
- }
-
- if (!hasSynced) {
- // Wait until the user interface thread won't access the old front state anymore.
- BlackBerry::Platform::userInterfaceThreadMessageClient()->syncToCurrentMessage();
- }
-
- // Reclaim unused old tile buffers as back buffers.
- TileMap oldTileMap = oldFrontState->tileMap();
- end = oldTileMap.end();
- for (TileMap::const_iterator it = oldTileMap.begin(); it != end; ++it) {
- TileBuffer* tileBuffer = it->value;
- if (tileBuffer && !newTileBuffers.contains(tileBuffer))
- SurfacePool::globalSurfacePool()->addBackBuffer(tileBuffer);
- }
-
- delete oldFrontState;
-}
-
-// static
-void BackingStorePrivate::setCurrentBackingStoreOwner(WebPage* webPage)
-{
- // Let the previously active backingstore release its tile buffers so
- // the new one (e.g. another tab) can use the buffers to render contents.
- if (BackingStorePrivate::s_currentBackingStoreOwner && BackingStorePrivate::s_currentBackingStoreOwner != webPage)
- BackingStorePrivate::s_currentBackingStoreOwner->d->m_backingStore->d->resetTiles();
-
- BackingStorePrivate::s_currentBackingStoreOwner = webPage;
- if (webPage)
- webPage->backingStore()->d->updateSuspendScreenUpdateState(); // depends on isActive()
-}
-
-bool BackingStorePrivate::isActive() const
-{
- return BackingStorePrivate::s_currentBackingStoreOwner == m_webPage && SurfacePool::globalSurfacePool()->isActive();
-}
-
-void BackingStorePrivate::didRenderContent(const Platform::IntRectRegion& renderedRegion)
-{
-#if USE(ACCELERATED_COMPOSITING)
- if (m_webPage->d->needsOneShotDrawingSynchronization())
- m_webPage->d->commitRootLayerIfNeeded();
- else
-#endif
- {
- if (isScrollingOrZooming())
- return; // don't drag down framerates by double-blitting.
-
- blitVisibleContents();
- }
-
- // Don't issue content rendered calls when all we rendered was filler
- // background color before the page is committed.
- if (!m_client->contentsSize().isEmpty()) {
- std::vector<Platform::IntRect> renderedRects = renderedRegion.rects();
- for (size_t i = 0; i < renderedRects.size(); ++i)
- m_webPage->client()->notifyPixelContentRendered(renderedRects[i]);
- }
-}
-
-BackingStore::BackingStore(WebPage* webPage, BackingStoreClient* client)
- : d(new BackingStorePrivate)
-{
- d->m_webPage = webPage;
- d->m_client = client;
-}
-
-BackingStore::~BackingStore()
-{
- deleteGuardedObject(d);
- d = 0;
-}
-
-void BackingStore::createSurface()
-{
- static bool initialized = false;
- if (!initialized) {
- BlackBerry::Platform::Graphics::initialize();
- initialized = true;
- }
-
- // Triggers creation of surfaces in backingstore.
- d->createSurfaces();
-
- // Focusing the WebPage triggers a repaint, so while we want it to be
- // focused initially this has to happen after creation of the surface.
- d->m_webPage->setFocused(true);
-}
-
-void BackingStore::suspendBackingStoreUpdates()
-{
- d->suspendBackingStoreUpdates();
-}
-
-void BackingStore::resumeBackingStoreUpdates()
-{
- d->resumeBackingStoreUpdates();
-}
-
-void BackingStore::suspendGeometryUpdates()
-{
- d->suspendGeometryUpdates();
-}
-
-void BackingStore::resumeGeometryUpdates()
-{
- d->resumeGeometryUpdates();
-}
-
-void BackingStore::suspendScreenUpdates()
-{
- d->suspendScreenUpdates();
-}
-
-void BackingStore::resumeScreenUpdates(ResumeUpdateOperation op)
-{
- d->resumeScreenUpdates(op);
-}
-
-bool BackingStore::isScrollingOrZooming() const
-{
- return d->isScrollingOrZooming();
-}
-
-void BackingStore::setScrollingOrZooming(bool scrollingOrZooming)
-{
- d->setScrollingOrZooming(scrollingOrZooming);
-}
-
-void BackingStore::blitVisibleContents()
-{
- d->blitVisibleContents(false /*force*/);
-}
-
-void BackingStore::repaint(int x, int y, int width, int height, bool contentChanged, bool immediate)
-{
- d->repaint(Platform::IntRect(x, y, width, height), contentChanged, immediate);
-}
-
-void BackingStore::acquireBackingStoreMemory()
-{
- SurfacePool::globalSurfacePool()->createBuffers();
-}
-
-void BackingStore::releaseOwnedBackingStoreMemory()
-{
- if (BackingStorePrivate::s_currentBackingStoreOwner == d->m_webPage) {
- // Call resetTiles() (hopefully) after suspendScreenUpdates()
- // so we will not cause checkerboard to be shown before suspending.
- // This causes the tiles in use to be given back to the SurfacePool.
- d->resetTiles();
- SurfacePool::globalSurfacePool()->releaseBuffers();
- }
-}
-
-bool BackingStore::hasBlitJobs() const
-{
-#if USE(ACCELERATED_COMPOSITING)
- // If there's a WebPageCompositorClient, let it schedule the blit.
- WebPageCompositorPrivate* compositor = d->m_webPage->d->compositor();
- if (compositor && compositor->client())
- return false;
-#endif
-
- // Normally, this would be called from the compositing thread,
- // and the flag is set on the compositing thread, so no need for
- // synchronization.
- return d->m_hasBlitJobs;
-}
-
-void BackingStore::blitOnIdle()
-{
-#if USE(ACCELERATED_COMPOSITING)
- // If there's a WebPageCompositorClient, let it schedule the blit.
- WebPageCompositorPrivate* compositor = d->m_webPage->d->compositor();
- if (compositor && compositor->client())
- return;
-#endif
-
- d->blitVisibleContents(true /*force*/);
-}
-
-Platform::IntSize BackingStorePrivate::surfaceSize() const
-{
- if (Window* window = m_webPage->client()->window())
- return window->surfaceSize();
-
-#if USE(ACCELERATED_COMPOSITING)
- if (WebPageCompositorPrivate* compositor = m_webPage->d->compositor())
- return compositor->context()->surfaceSize();
-#endif
-
- return Platform::IntSize();
-}
-
-Platform::Graphics::Buffer* BackingStorePrivate::buffer() const
-{
- if (Window* window = m_webPage->client()->window())
- return window->buffer();
-
-#if USE(ACCELERATED_COMPOSITING)
- if (WebPageCompositorPrivate* compositor = m_webPage->d->compositor())
- return compositor->context() ? compositor->context()->buffer() : 0;
-#endif
-
- return 0;
-}
-
-bool BackingStore::drawContents(Platform::Graphics::Buffer* buffer, const Platform::IntRect& dstRect, double scale, const Platform::FloatPoint& documentScrollPosition)
-{
- if (!buffer || dstRect.isEmpty())
- return false;
-
- d->requestLayoutIfNeeded();
-
- return d->renderContents(buffer, dstRect, scale, documentScrollPosition, BackingStorePrivate::RenderAllLayers);
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/Api/BackingStore.h b/Source/WebKit/blackberry/Api/BackingStore.h
deleted file mode 100644
index 90e492549..000000000
--- a/Source/WebKit/blackberry/Api/BackingStore.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011 Research In Motion Limited. 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
- * 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 BackingStore_h
-#define BackingStore_h
-
-#include "BlackBerryGlobal.h"
-#include <BlackBerryPlatformMisc.h>
-
-namespace WebCore {
-class ChromeClientBlackBerry;
-class FloatPoint;
-class FrameLoaderClientBlackBerry;
-class GLES2Context;
-class IntRect;
-}
-
-namespace BlackBerry {
-namespace Platform {
-class IntRect;
-class FloatPoint;
-
-namespace Graphics {
-class Buffer;
-}
-}
-}
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebPage;
-class WebPagePrivate;
-class WebPageCompositorPrivate;
-class BackingStorePrivate;
-class BackingStoreClient;
-
-class BLACKBERRY_EXPORT BackingStore {
-public:
- enum ResumeUpdateOperation { None, Blit, RenderAndBlit };
- BackingStore(WebPage*, BackingStoreClient*);
- virtual ~BackingStore();
-
- void createSurface();
-
- void suspendBackingStoreUpdates();
- void resumeBackingStoreUpdates();
-
- void suspendGeometryUpdates();
- void resumeGeometryUpdates();
-
- void suspendScreenUpdates();
- void resumeScreenUpdates(BackingStore::ResumeUpdateOperation);
-
- bool isScrollingOrZooming() const;
- void setScrollingOrZooming(bool);
-
- void blitVisibleContents();
- void repaint(int x, int y, int width, int height, bool contentChanged, bool immediate);
-
- bool hasBlitJobs() const;
- void blitOnIdle();
-
- void acquireBackingStoreMemory();
- void releaseOwnedBackingStoreMemory();
-
- bool drawContents(BlackBerry::Platform::Graphics::Buffer*, const BlackBerry::Platform::IntRect& dstRect, double scale, const BlackBerry::Platform::FloatPoint& documentScrollPosition);
-
-private:
- friend class BlackBerry::WebKit::BackingStoreClient;
- friend class BlackBerry::WebKit::BackingStorePrivate;
- friend class BlackBerry::WebKit::WebPage;
- friend class BlackBerry::WebKit::WebPagePrivate; // FIXME: For now, we expose our internals to WebPagePrivate. See PR #120301.
- friend class BlackBerry::WebKit::WebPageCompositorPrivate;
- friend class WebCore::ChromeClientBlackBerry;
- friend class WebCore::FrameLoaderClientBlackBerry;
- friend class WebCore::GLES2Context;
- BackingStorePrivate *d;
- DISABLE_COPY(BackingStore)
-};
-}
-}
-
-#endif // BackingStore_h
diff --git a/Source/WebKit/blackberry/Api/BackingStore_p.h b/Source/WebKit/blackberry/Api/BackingStore_p.h
deleted file mode 100644
index fd3cd1ac0..000000000
--- a/Source/WebKit/blackberry/Api/BackingStore_p.h
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 BackingStore_p_h
-#define BackingStore_p_h
-
-#include "BackingStore.h"
-#include "Color.h"
-#include "RenderQueue.h"
-#include "TileIndex.h"
-#include "TileIndexHash.h"
-#include "Timer.h"
-#include <BlackBerryPlatformGraphics.h>
-#include <BlackBerryPlatformGuardedPointer.h>
-#include <pthread.h>
-#include <wtf/HashMap.h>
-#include <wtf/Vector.h>
-
-namespace WebCore {
-class IntRect;
-class FloatPoint;
-class FloatRect;
-class LayerRenderer;
-class TransformationMatrix;
-}
-
-namespace BlackBerry {
-
-namespace Platform {
-class ViewportAccessor;
-}
-
-namespace WebKit {
-
-class TileBuffer;
-class WebPage;
-class BackingStoreClient;
-
-typedef WTF::HashMap<TileIndex, TileBuffer*> TileMap;
-
-class BackingStoreGeometry {
-public:
- BackingStoreGeometry()
- : m_numberOfTilesWide(0)
- , m_numberOfTilesHigh(0)
- , m_scale(0.0)
- {
- }
-
- Platform::IntRect backingStoreRect() const;
- Platform::IntSize backingStoreSize() const;
-
- int numberOfTilesWide() const { return m_numberOfTilesWide; }
- void setNumberOfTilesWide(int numberOfTilesWide) { m_numberOfTilesWide = numberOfTilesWide; }
- int numberOfTilesHigh() const { return m_numberOfTilesHigh; }
- void setNumberOfTilesHigh(int numberOfTilesHigh) { m_numberOfTilesHigh = numberOfTilesHigh; }
- Platform::IntPoint backingStoreOffset() const { return m_backingStoreOffset; }
- void setBackingStoreOffset(const Platform::IntPoint& offset) { m_backingStoreOffset = offset; }
- Platform::IntPoint originOfTile(const TileIndex&) const;
- TileBuffer* tileBufferAt(const TileIndex& index) const { return m_tileMap.get(index); }
- const TileMap& tileMap() const { return m_tileMap; }
- void setTileMap(const TileMap& tileMap) { m_tileMap = tileMap; }
-
- double scale() const { return m_scale; }
- void setScale(double scale) { m_scale = scale; }
-
- bool isTileCorrespondingToBuffer(TileIndex, TileBuffer*) const;
-
-private:
- int m_numberOfTilesWide;
- int m_numberOfTilesHigh;
- double m_scale;
- Platform::IntPoint m_backingStoreOffset;
- TileMap m_tileMap;
-};
-
-class BackingStorePrivate : public BlackBerry::Platform::GuardedPointerBase {
-public:
- enum TileMatrixDirection { Horizontal, Vertical };
- BackingStorePrivate();
-
- void instrumentBeginFrame();
- void instrumentCancelFrame();
-
- // Returns whether we're using the OpenGL code path for compositing the
- // backing store tiles. This can be due to the main window using
- // BlackBerry::Platform::Graphics::Window::GLES2Usage.
- bool isOpenGLCompositing() const;
-
- // Suspends all backingstore updates so that rendering to the backingstore is disabled.
- void suspendBackingStoreUpdates();
-
- // Resumes all backingstore updates so that rendering to the backingstore is enabled.
- void resumeBackingStoreUpdates();
-
- // Suspends all backingstore geometry updates.
- void suspendGeometryUpdates();
-
- // Resumes all backingstore geometry updates.
- void resumeGeometryUpdates();
-
- // Suspends all screen updates so that 'blitVisibleContents' is disabled.
- void suspendScreenUpdates();
-
- // Resumes all screen updates so that 'blitVisibleContents' is enabled.
- void resumeScreenUpdates(BackingStore::ResumeUpdateOperation);
-
- // Update m_suspendScreenUpdates*Thread based on a number of conditions.
- void updateSuspendScreenUpdateState(bool* hasSyncedToUserInterfaceThread = 0);
-
- // The functions repaint(), slowScroll(), scroll(), scrollingStartedHelper() are
- // called from outside WebKit and within WebKit via ChromeClientBlackBerry.
- void repaint(const Platform::IntRect& windowRect, bool contentChanged, bool immediate);
-
- void slowScroll(const Platform::IntSize& delta, const Platform::IntRect& windowRect, bool immediate);
-
- void scroll(const Platform::IntSize& delta, const Platform::IntRect& scrollViewRect, const Platform::IntRect& clipRect);
- void scrollingStartedHelper(const Platform::IntSize& delta);
-
- bool shouldSuppressNonVisibleRegularRenderJobs() const;
- bool shouldPerformRenderJobs() const;
- bool shouldPerformRegularRenderJobs() const;
- void dispatchRenderJob();
- void renderJob();
-
- // Various calculations of quantities relevant to backing store.
- Platform::IntSize expandedContentsSize() const;
- Platform::IntRect expandedContentsRect() const;
- Platform::IntRect visibleContentsRect() const;
-
- void setBackingStoreRect(const Platform::IntRect&, double scale);
- void updateTilesAfterBackingStoreRectChange();
-
- TileIndexList indexesForBackingStoreRect(const Platform::IntRect&) const;
- TileIndexList indexesForVisibleContentsRect(BackingStoreGeometry*) const;
-
- TileIndex indexOfTile(const Platform::IntPoint& origin, const Platform::IntRect& backingStoreRect) const;
- void clearAndUpdateTileOfNotRenderedRegion(const TileIndex&, TileBuffer*, const Platform::IntRectRegion&, BackingStoreGeometry*, bool update = true);
- bool isCurrentVisibleJob(const TileIndex&, BackingStoreGeometry*) const;
-
- // Not thread safe. Call only when threads are in sync.
- void clearRenderedRegion(TileBuffer*, const Platform::IntRectRegion&);
-
- // Responsible for scrolling the backing store and updating the
- // tile matrix geometry.
- Platform::IntRect nonOverscrolled(const Platform::IntRect& viewportRect, const Platform::IntRect& contentsRect);
- Platform::IntRect enclosingTileRect(const Platform::IntRect& pixelContentsRect);
- Platform::IntRect desiredBackingStoreRect(const Platform::IntRect& pixelViewportRect, const Platform::IntRect& maximumReasonableRect, int deltaX, int deltaY);
- void mergeDesiredBackingStoreRect(const Platform::IntRect& desiredRect, const Platform::IntRect& pixelViewportForDesiredRect);
- Platform::IntRect largestTileRectForDesiredRect(const Platform::IntRect& minimumRect, const Platform::IntRect& desiredRect);
- void scrollBackingStore(int deltaX, int deltaY);
-
- // Render the given tiles if enough back buffers are available.
- // Return the actual set of rendered tiles.
- // NOTE: This should only be called by RenderQueue and resumeScreenUpdates().
- // If you want to render to get contents to the screen, you should call
- // renderAndBlitImmediately() or renderAndBlitVisibleContentsImmediately().
- TileIndexList render(const TileIndexList&);
-
- // Called by the render queue to ensure that the queue is in a
- // constant state before performing a render job.
- void requestLayoutIfNeeded() const;
-
- // Helper render methods.
- void renderAndBlitVisibleContentsImmediately();
- void renderAndBlitImmediately(const Platform::IntRect&);
- void blitVisibleContents(bool force = false);
- void blitOnIdle();
-
- Platform::IntRect blitTileRect(TileBuffer*, const Platform::IntRect&, const Platform::IntPoint&, const WebCore::TransformationMatrix&, BackingStoreGeometry*);
-
-#if USE(ACCELERATED_COMPOSITING)
- // Use instead of blitVisibleContents() if you need more control over
- // OpenGL state. Note that contents is expressed in untransformed
- // content coordinates.
- // Preconditions: You have to call prepareFrame and setViewport on the LayerRenderer before
- // calling this.
- void compositeContents(WebCore::LayerRenderer*, const WebCore::TransformationMatrix&, const WebCore::FloatRect& contents, bool contentsOpaque);
-
- bool drawLayersOnCommitIfNeeded();
- // WebPage will call this when drawing layers to tell us we don't need to
- void willDrawLayersOnCommit() { m_needsDrawLayersOnCommit = false; }
-#endif
-
- void blitHorizontalScrollbar();
- void blitVerticalScrollbar();
-
- // Returns whether the tile index is currently visible or not.
- bool isTileVisible(const TileIndex&, BackingStoreGeometry*) const;
- bool isTileVisible(const Platform::IntPoint&) const;
-
- // Returns a rect that is the union of all tiles that are visible.
- TileIndexList visibleTileIndexes(BackingStoreGeometry*) const;
-
- // Used to clip to the visible content for instance.
- Platform::IntRect tileVisibleContentsRect(const TileIndex&, BackingStoreGeometry*) const;
-
- // Used to clip to the contents for instance.
- Platform::IntRect tileContentsRect(const TileIndex&, const Platform::IntRect&, BackingStoreGeometry*) const;
-
- // This is called by WebPage once load is committed to reset the render queue.
- void resetRenderQueue();
-
- // This is called by WebPage once load is committed to reset all the tiles.
- void resetTiles();
-
- // This is called by WebPage after load is complete to update all the tiles.
- void updateTiles(bool updateVisible, bool immediate);
-
- // This is called during scroll and by the render queue.
- void updateTilesForScrollOrNotRenderedRegion(bool checkLoading = true);
-
- // Update an individual tile.
- void updateTile(const Platform::IntPoint& tileOrigin, bool immediate);
-
- typedef std::pair<TileIndex, Platform::IntRect> TileRect;
- typedef WTF::Vector<TileRect> TileRectList;
- TileRectList mapFromPixelContentsToTiles(const Platform::IntRect&, BackingStoreGeometry*) const;
-
- void setTileMatrixNeedsUpdate() { m_tileMatrixNeedsUpdate = true; }
- void updateTileMatrixIfNeeded();
-
- // Called by WebPagePrivate::notifyTransformedContentsSizeChanged.
- void contentsSizeChanged(const Platform::IntSize&);
-
- // Called by WebPagePrivate::notifyTransformedScrollChanged.
- void scrollChanged(const Platform::IntPoint&);
-
- // Called by WebpagePrivate::notifyTransformChanged.
- void transformChanged();
-
- // Called by WebpagePrivate::actualVisibleSizeChanged.
- void actualVisibleSizeChanged(const Platform::IntSize&);
-
- // Called by WebPagePrivate::setScreenRotated.
- void orientationChanged();
-
- // Sets the geometry of the tile matrix.
- void setGeometryOfTileMatrix(int numberOfTilesWide, int numberOfTilesHigh);
-
- // Create the surfaces of the backing store.
- void createSurfaces();
-
- // The tile geometry methods are all static function.
- static int tileWidth();
- static int tileHeight();
- static Platform::IntSize tileSize();
-
- // This takes transformed contents coordinates.
- enum LayersToRender { RenderRootLayer, RenderAllLayers };
- bool renderContents(BlackBerry::Platform::Graphics::Buffer*, const BlackBerry::Platform::IntRect& dstRect, double scale, const BlackBerry::Platform::FloatPoint& documentScrollPosition, LayersToRender) const;
-
- void blitToWindow(const Platform::IntRect& dstRect, const BlackBerry::Platform::Graphics::Buffer* srcBuffer, const Platform::IntRect& srcRect, BlackBerry::Platform::Graphics::BlendMode, unsigned char globalAlpha);
-
- WebCore::Color webPageBackgroundColorUserInterfaceThread() const; // use WebSettings::backgroundColor() for the WebKit thread
- void setWebPageBackgroundColor(const WebCore::Color&);
-
- bool isScrollingOrZooming() const;
- void setScrollingOrZooming(bool scrollingOrZooming, bool shouldBlit = true);
-
- BackingStoreGeometry* frontState() const;
- void adoptAsFrontState(BackingStoreGeometry* newFrontState);
-
- static void setCurrentBackingStoreOwner(WebPage*);
- static WebPage* currentBackingStoreOwner() { return BackingStorePrivate::s_currentBackingStoreOwner; }
- bool isActive() const;
-
- // Surface abstraction, maybe BlackBerry::Platform::Graphics::Buffer could be made public instead.
- BlackBerry::Platform::IntSize surfaceSize() const;
- BlackBerry::Platform::Graphics::Buffer* buffer() const;
-
- void didRenderContent(const Platform::IntRectRegion& renderedRegion);
-
- static WebPage* s_currentBackingStoreOwner;
-
- unsigned m_suspendScreenUpdateCounterWebKitThread;
- unsigned m_suspendBackingStoreUpdates;
- unsigned m_suspendGeometryUpdates;
- BackingStore::ResumeUpdateOperation m_resumeOperation;
-
- bool m_suspendScreenUpdatesWebKitThread;
- bool m_suspendScreenUpdatesUserInterfaceThread;
- bool m_suspendRenderJobs;
- bool m_suspendRegularRenderJobs;
- bool m_tileMatrixContainsUsefulContent;
- bool m_tileMatrixNeedsUpdate;
- bool m_isScrollingOrZooming;
- WebPage* m_webPage;
- BackingStoreClient* m_client;
- OwnPtr<RenderQueue> m_renderQueue;
-
- bool m_hasBlitJobs;
-
- WebCore::Color m_webPageBackgroundColor; // for user interface thread operations such as blitting
-
- mutable unsigned m_frontState;
-
- Platform::IntRect m_desiredBackingStoreRect;
- Platform::IntPoint m_desiredBackingStoreRectViewportLocation;
- double m_desiredBackingStoreRectScale;
-
-#if USE(ACCELERATED_COMPOSITING)
- mutable bool m_needsDrawLayersOnCommit; // Not thread safe, WebKit thread only
-#endif
-
-protected:
- virtual ~BackingStorePrivate();
-};
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // BackingStore_p_h
diff --git a/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp b/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp
deleted file mode 100644
index a7feffd66..000000000
--- a/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "BlackBerryGlobal.h"
-
-#include "ApplicationCacheStorage.h"
-#include "CacheClientBlackBerry.h"
-#include "CookieManager.h"
-#include "CrossOriginPreflightResultCache.h"
-#include "FontCache.h"
-#include "ImageSource.h"
-#include "InitializeLogging.h"
-#include "InitializeThreading.h"
-#include "JSDOMWindow.h"
-#include "VM.h"
-#include "MemoryCache.h"
-#include "NetworkStateNotifier.h"
-#include "PageCache.h"
-#include "PageGroup.h"
-#include "PlatformStrategiesBlackBerry.h"
-#include "Settings.h"
-#include "TextureCacheCompositingThread.h"
-#include "bindings/js/GCController.h"
-#include "runtime/JSLock.h"
-#include <BlackBerryPlatformExecutableMessage.h>
-#include <BlackBerryPlatformMessageClient.h>
-#include <BlackBerryPlatformSettings.h>
-#include <BlackBerryPlatformString.h>
-#include <wtf/MainThread.h>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-static bool gIsGlobalInitialized = false;
-
-// Global initialization of various WebKit singletons.
-void globalInitialize()
-{
- if (gIsGlobalInitialized)
- return;
- gIsGlobalInitialized = true;
-
- WebCore::Settings::setHiddenPageDOMTimerAlignmentInterval(BlackBerry::Platform::Settings::instance()->isChromeProcess() ? 0 : 1);
-#if ENABLE(BLACKBERRY_DEBUG_MEMORY)
- blackberryDebugInitialize();
-#endif
-
-#if !LOG_DISABLED
- // Turn on logging.
- initializeLoggingChannelsIfNecessary();
-#endif // !LOG_DISABLED
-
- // Initialize threading.
- JSC::initializeThreading();
-
- // Normally this is called from initializeThreading, but we're using ThreadingNone
- // we're grabbing callOnMainThread without using the rest of the threading support.
- WTF::initializeMainThread();
-
- // Initialize our platform strategies.
- PlatformStrategiesBlackBerry::initialize();
-
- // Set the minimal timer interval to 4 milliseconds.
- WebCore::Settings::setDefaultMinDOMTimerInterval(0.004);
-
- // Track visited links.
- PageGroup::setShouldTrackVisitedLinks(true);
-
- CacheClientBlackBerry::get()->initialize();
-
- BlackBerry::Platform::Settings* settings = BlackBerry::Platform::Settings::instance();
-
- ImageSource::setMaxPixelsPerDecodedImage(settings->maxPixelsPerDecodedImage());
- updateOnlineStatus(settings->isNetworkAvailable());
-}
-
-void collectJavascriptGarbageNow()
-{
- if (gIsGlobalInitialized)
- gcController().garbageCollectNow();
-}
-
-void clearCookieCache()
-{
- cookieManager().removeAllCookies(RemoveFromBackingStore);
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-static void clearMemoryCachesInCompositingThread()
-{
- textureCacheCompositingThread()->prune(0);
-}
-#endif
-
-void clearMemoryCaches()
-{
-#if USE(ACCELERATED_COMPOSITING)
- // Call textureCacheCompositingThread()->prune(0) in UI thread.
- BlackBerry::Platform::userInterfaceThreadMessageClient()->dispatchMessage(BlackBerry::Platform::createFunctionCallMessage(clearMemoryCachesInCompositingThread));
-#endif
-
- {
- JSC::JSLockHolder lock(JSDOMWindow::commonVM());
- collectJavascriptGarbageNow();
- }
-
- // Clean caches after JS garbage collection because JS GC can
- // generate more dead resources.
- int capacity = pageCache()->capacity();
- pageCache()->setCapacity(0);
- pageCache()->setCapacity(capacity);
-
- CrossOriginPreflightResultCache::shared().empty();
-
- if (!memoryCache()->disabled()) {
- // Evict all dead resources and prune live resources.
- memoryCache()->setCapacities(0, 0, 0);
-
- // Update cache capacity based on current memory status.
- CacheClientBlackBerry::get()->updateCacheCapacity();
- }
-
- fontCache()->invalidate();
-}
-
-void clearAppCache(const BlackBerry::Platform::String&)
-{
- cacheStorage().empty();
-}
-
-void clearDatabase(const BlackBerry::Platform::String&)
-{
-}
-
-void updateOnlineStatus(bool online)
-{
- networkStateNotifier().networkStateChange(online);
-}
-
-bool isRunningDrt()
-{
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- return getenv("drtRun");
-#else
- return false;
-#endif
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/Api/BlackBerryGlobal.h b/Source/WebKit/blackberry/Api/BlackBerryGlobal.h
deleted file mode 100644
index 6e069dc76..000000000
--- a/Source/WebKit/blackberry/Api/BlackBerryGlobal.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 BlackBerryGlobal_h
-#define BlackBerryGlobal_h
-
-#if defined(__QNXNTO__) && defined(BUILD_WEBKIT)
-#define BLACKBERRY_EXPORT __attribute__ ((visibility("default")))
-#else
-#define BLACKBERRY_EXPORT
-#endif
-
-namespace BlackBerry {
-namespace Platform {
-class String;
-}
-
-namespace WebKit {
-
-BLACKBERRY_EXPORT void globalInitialize();
-void collectJavascriptGarbageNow();
-void clearCookieCache();
-BLACKBERRY_EXPORT void clearMemoryCaches();
-void clearAppCache(const BlackBerry::Platform::String& pageGroupName);
-void reopenAllAppCaches();
-void closeAllAppCaches();
-void clearDatabase(const BlackBerry::Platform::String& pageGroupName);
-void reopenAllTrackerDatabases();
-void closeAllTrackerDatabases();
-void updateOnlineStatus(bool online);
-bool isRunningDrt();
-}
-}
-
-#endif // BlackBerryGlobal_h
diff --git a/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h b/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h
deleted file mode 100644
index 1866cef35..000000000
--- a/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011 Research In Motion Limited. 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
- * 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 DumpRenderTreeClient_h
-#define DumpRenderTreeClient_h
-
-#include "BlackBerryGlobal.h"
-
-#include <JavaScriptCore/JSObjectRef.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-class Credential;
-class Frame;
-class DOMWrapperWorld;
-class NavigationAction;
-class Node;
-class Range;
-class ResourceRequest;
-class ResourceResponse;
-class SecurityOrigin;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPage;
-
-class BLACKBERRY_EXPORT DumpRenderTreeClient {
-public:
- virtual ~DumpRenderTreeClient() { }
- virtual void runTests() = 0;
-
- // FrameLoaderClient delegates
- virtual bool willSendRequestForFrame(WebCore::Frame*, WebCore::ResourceRequest&, const WebCore::ResourceResponse&) = 0;
- virtual void didStartProvisionalLoadForFrame(WebCore::Frame*) = 0;
- virtual void didReceiveResponseForFrame(WebCore::Frame*, const WebCore::ResourceResponse&) = 0;
- virtual void didCommitLoadForFrame(WebCore::Frame*) = 0;
- virtual void didFailProvisionalLoadForFrame(WebCore::Frame*) = 0;
- virtual void didFailLoadForFrame(WebCore::Frame*) = 0;
- virtual void didFinishLoadForFrame(WebCore::Frame*) = 0;
- virtual void didFinishDocumentLoadForFrame(WebCore::Frame*) = 0;
- virtual void didClearWindowObjectInWorld(WebCore::DOMWrapperWorld*, JSGlobalContextRef, JSObjectRef windowObject) = 0;
- virtual void didReceiveTitleForFrame(const String& title, WebCore::Frame*) = 0;
- virtual void didDecidePolicyForNavigationAction(const WebCore::NavigationAction&, const WebCore::ResourceRequest&, WebCore::Frame*) = 0;
- virtual void didDecidePolicyForResponse(const WebCore::ResourceResponse&) = 0;
- virtual void didDispatchWillPerformClientRedirect() = 0;
- virtual void didHandleOnloadEventsForFrame(WebCore::Frame*) = 0;
- virtual bool policyDelegateIsPermissive() const = 0;
- virtual bool policyDelegateEnabled() const = 0;
-
- // ChromeClient delegates
- virtual void addMessageToConsole(const String& message, unsigned lineNumber, unsigned columnNumber, const String& sourceID) = 0;
- virtual void runJavaScriptAlert(const String& message) = 0;
- virtual bool runJavaScriptConfirm(const String& message) = 0;
- virtual String runJavaScriptPrompt(const String& message, const String& defaultValue) = 0;
- virtual bool runBeforeUnloadConfirmPanel(const String& message) = 0;
- virtual void setStatusText(const String&) = 0;
- virtual void exceededDatabaseQuota(WebCore::SecurityOrigin*, const String& name) = 0;
- virtual bool allowsOpeningWindow() = 0;
- virtual void windowCreated(WebPage*) = 0;
-
- // EditorClient delegates
- virtual void setAcceptsEditing(bool) = 0;
- virtual void didBeginEditing() = 0;
- virtual void didEndEditing() = 0;
- virtual void didChange() = 0;
- virtual void didChangeSelection() = 0;
- virtual bool shouldBeginEditingInDOMRange(WebCore::Range*) = 0;
- virtual bool shouldEndEditingInDOMRange(WebCore::Range*) = 0;
- virtual bool shouldDeleteDOMRange(WebCore::Range*) = 0;
- virtual bool shouldChangeSelectedDOMRangeToDOMRangeAffinityStillSelecting(WebCore::Range* fromRange, WebCore::Range* toRange, int affinity, bool stillSelecting) = 0;
- virtual bool shouldInsertNode(WebCore::Node*, WebCore::Range*, int insertAction) = 0;
- virtual bool shouldInsertText(const String&, WebCore::Range*, int insertAction) = 0;
- virtual bool didReceiveAuthenticationChallenge(WebCore::Credential&) = 0;
-
-};
-}
-}
-
-#endif // DumpRenderTreeClient_h
diff --git a/Source/WebKit/blackberry/Api/InRegionScroller.cpp b/Source/WebKit/blackberry/Api/InRegionScroller.cpp
deleted file mode 100644
index 7aacdebdf..000000000
--- a/Source/WebKit/blackberry/Api/InRegionScroller.cpp
+++ /dev/null
@@ -1,539 +0,0 @@
-/*
- * Copyright (C) 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 "InRegionScroller.h"
-
-#include "BackingStoreClient.h"
-#include "DOMSupport.h"
-#include "Frame.h"
-#include "HTMLFrameOwnerElement.h"
-#include "HitTestResult.h"
-#include "InRegionScrollableArea.h"
-#include "InRegionScroller_p.h"
-#include "LayerCompositingThread.h"
-#include "LayerWebKitThread.h"
-#include "Page.h"
-#include "RenderBox.h"
-#include "RenderLayer.h"
-#include "RenderLayerBacking.h"
-#include "RenderLayerCompositor.h"
-#include "RenderObject.h"
-#include "RenderView.h"
-#include "SelectionHandler.h"
-#include "WebKitThreadViewportAccessor.h"
-#include "WebPage_p.h"
-
-#include <BlackBerryPlatformViewportAccessor.h>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-static bool canScrollInnerFrame(Frame*);
-static RenderLayer* parentLayer(RenderLayer*);
-static bool isNonRenderViewFixedPositionedContainer(RenderLayer*);
-
-InRegionScroller::InRegionScroller(WebPagePrivate* webPagePrivate)
- : d(new InRegionScrollerPrivate(webPagePrivate))
-{
- ASSERT(webPagePrivate);
-}
-
-InRegionScroller::~InRegionScroller()
-{
- delete d;
-}
-
-bool InRegionScroller::setDocumentScrollPositionCompositingThread(unsigned camouflagedLayer, const Platform::IntPoint& documentScrollPosition)
-{
- ASSERT(Platform::userInterfaceThreadMessageClient()->isCurrentThread());
-
- return d->setScrollPositionCompositingThread(camouflagedLayer, documentScrollPosition);
-}
-
-bool InRegionScroller::setDocumentScrollPositionWebKitThread(unsigned camouflagedLayer, const Platform::IntPoint& documentScrollPosition,
- bool supportsAcceleratedScrolling, Platform::ScrollViewBase::ScrollTarget scrollTarget)
-{
- ASSERT(Platform::webKitThreadMessageClient()->isCurrentThread());
-
- return d->setScrollPositionWebKitThread(camouflagedLayer, documentScrollPosition, supportsAcceleratedScrolling, scrollTarget);
-}
-
-InRegionScrollerPrivate::InRegionScrollerPrivate(WebPagePrivate* webPagePrivate)
- : m_webPage(webPagePrivate)
- , m_needsActiveScrollableAreaCalculation(false)
- , m_selectionScrollView(0)
-{
-}
-
-void InRegionScrollerPrivate::reset()
-{
- // Notify the client side to clear InRegion scrollable areas before we destroy them here.
- std::vector<Platform::ScrollViewBase*> emptyInRegionScrollableAreas;
- m_webPage->m_client->notifyInRegionScrollableAreasChanged(emptyInRegionScrollableAreas);
-
- m_needsActiveScrollableAreaCalculation = false;
- for (size_t i = 0; i < m_activeInRegionScrollableAreas.size(); ++i)
- delete m_activeInRegionScrollableAreas[i];
- m_activeInRegionScrollableAreas.clear();
-}
-
-void InRegionScrollerPrivate::resetSelectionScrollView()
-{
- m_webPage->m_client->notifySelectionScrollView(0);
- m_webPage->m_selectionHandler->setSelectionSubframeViewportRect(WebCore::IntRect());
- if (m_selectionScrollView) {
- delete m_selectionScrollView;
- m_selectionScrollView = 0;
- }
-}
-
-bool InRegionScrollerPrivate::isActive() const
-{
- return m_activeInRegionScrollableAreas.size() > 0;
-}
-
-void InRegionScrollerPrivate::clearDocumentData(const Document* documentGoingAway)
-{
- InRegionScrollableArea* scrollableArea = static_cast<InRegionScrollableArea*>(m_selectionScrollView);
- if (scrollableArea && scrollableArea->document() == documentGoingAway)
- resetSelectionScrollView();
-
- if (m_needsActiveScrollableAreaCalculation) {
- reset();
- return;
- }
-
- scrollableArea = static_cast<InRegionScrollableArea*>(m_activeInRegionScrollableAreas[0]);
- ASSERT(scrollableArea);
- if (scrollableArea->document() == documentGoingAway)
- reset();
-}
-
-bool InRegionScrollerPrivate::setScrollPositionCompositingThread(unsigned camouflagedLayer, const WebCore::IntPoint& scrollPosition)
-{
- LayerWebKitThread* layerWebKitThread = reinterpret_cast<LayerWebKitThread*>(camouflagedLayer);
- if (!isValidScrollableLayerWebKitThread(layerWebKitThread))
- return false;
-
- LayerCompositingThread* scrollLayer = layerWebKitThread->layerCompositingThread();
-
- // FIXME: Clamp maximum and minimum scroll positions as a last attempt to fix round errors.
- FloatPoint anchor;
- if (scrollLayer->override()->isAnchorPointSet())
- anchor = scrollLayer->override()->anchorPoint();
- else
- anchor = scrollLayer->anchorPoint();
-
- FloatSize bounds;
- if (scrollLayer->override()->isBoundsSet())
- bounds = scrollLayer->override()->bounds();
- else
- bounds = scrollLayer->bounds();
-
- // Position is offset on the layer by the layer anchor point.
- FloatPoint layerPosition(-scrollPosition.x() + anchor.x() * bounds.width(), -scrollPosition.y() + anchor.y() * bounds.height());
-
- scrollLayer->override()->setPosition(FloatPoint(layerPosition.x(), layerPosition.y()));
-
- // The client is going to blitVisibleContens, which allow us benefit from "defer blits" technique.
- return true;
-}
-
-bool InRegionScrollerPrivate::setScrollPositionWebKitThread(unsigned camouflagedLayer, const WebCore::IntPoint& scrollPosition,
- bool supportsAcceleratedScrolling, Platform::ScrollViewBase::ScrollTarget scrollTarget)
-{
- RenderLayer* layer = 0;
-
- if (supportsAcceleratedScrolling) {
- LayerWebKitThread* layerWebKitThread = reinterpret_cast<LayerWebKitThread*>(camouflagedLayer);
- if (!isValidScrollableLayerWebKitThread(layerWebKitThread))
- return false;
-
- if (layerWebKitThread->owner()) {
- GraphicsLayer* graphicsLayer = layerWebKitThread->owner();
-
- if (scrollTarget == Platform::ScrollViewBase::BlockElement) {
- RenderLayerBacking* backing = static_cast<RenderLayerBacking*>(graphicsLayer->client());
- layer = backing->owningLayer();
- } else {
- RenderLayerCompositor* compositor = static_cast<RenderLayerCompositor*>(graphicsLayer->client());
- layer = compositor->rootRenderLayer();
- }
- }
- } else {
- Node* node = reinterpret_cast<Node*>(camouflagedLayer);
- if (!isValidScrollableNode(node) || !node->renderer())
- return false;
-
- layer = node->renderer()->enclosingLayer();
- }
-
- if (!layer)
- return false;
-
- calculateActiveAndShrinkCachedScrollableAreas(layer);
-
- // FIXME: Clamp maximum and minimum scroll positions as a last attempt to fix round errors.
- return setLayerScrollPosition(layer, scrollPosition);
-}
-
-void InRegionScrollerPrivate::calculateActiveAndShrinkCachedScrollableAreas(RenderLayer* layer)
-{
- if (!m_needsActiveScrollableAreaCalculation)
- return;
-
- ASSERT(layer);
- std::vector<Platform::ScrollViewBase*>::iterator end = m_activeInRegionScrollableAreas.end();
- std::vector<Platform::ScrollViewBase*>::iterator it = m_activeInRegionScrollableAreas.begin();
- while (it != end) {
- InRegionScrollableArea* curr = static_cast<InRegionScrollableArea*>(*it);
-
- if (layer == curr->layer()) {
- ++it;
- continue;
- }
-
- delete *it;
- it = m_activeInRegionScrollableAreas.erase(it);
- // ::erase invalidates the iterators.
- end = m_activeInRegionScrollableAreas.end();
- }
-
- ASSERT(m_activeInRegionScrollableAreas.size() == 1);
- m_needsActiveScrollableAreaCalculation = false;
-}
-
-WebCore::IntRect InRegionScrollerPrivate::clipToRect(const WebCore::IntRect& clippingRect, InRegionScrollableArea* scrollable)
-{
- RenderLayer* layer = scrollable->layer();
- if (!layer)
- return clippingRect;
-
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->m_webkitThreadViewportAccessor;
-
- if (layer->renderer()->isRenderView()) { // #document case
- FrameView* view = toRenderView(layer->renderer())->frameView();
- ASSERT(view);
- ASSERT(canScrollInnerFrame(view->frame()));
-
- WebCore::IntRect frameWindowRect = viewportAccessor->roundToPixelFromDocumentContents(WebCore::FloatRect(m_webPage->getRecursiveVisibleWindowRect(view)));
- frameWindowRect.intersect(clippingRect);
- return frameWindowRect;
- }
-
- RenderBox* box = layer->renderBox();
- ASSERT(box);
- ASSERT(canScrollRenderBox(box));
-
- // We want the window rect in pixel viewport coordinates clipped to the clipping rect.
- WebCore::IntRect visibleWindowRect = enclosingIntRect(box->absoluteClippedOverflowRect());
- visibleWindowRect = box->frame()->view()->contentsToWindow(visibleWindowRect);
- visibleWindowRect = viewportAccessor->roundToPixelFromDocumentContents(WebCore::FloatRect(visibleWindowRect));
- visibleWindowRect.intersect(clippingRect);
- return visibleWindowRect;
-}
-
-void InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint(const WebCore::IntPoint& documentPoint)
-{
- ASSERT(m_activeInRegionScrollableAreas.empty());
- m_needsActiveScrollableAreaCalculation = false;
- const HitTestResult& result = m_webPage->hitTestResult(documentPoint);
- Node* node = result.innerNonSharedNode();
- if (!node || !node->renderer())
- return;
-
- RenderLayer* layer = node->renderer()->enclosingLayer();
- if (!layer)
- return;
-
- do {
-
- RenderObject* renderer = layer->renderer();
-
- if (renderer && renderer->isRenderView()) {
- if (RenderView* renderView = toRenderView(renderer)) {
- FrameView* view = renderView->frameView();
- if (!view) {
- reset();
- return;
- }
-
- if (!renderView->compositor()->scrollLayer())
- continue;
-
- if (canScrollInnerFrame(view->frame())) {
- pushBackInRegionScrollable(new InRegionScrollableArea(m_webPage, layer));
- continue;
- }
- }
- } else if (canScrollRenderBox(layer->renderBox())) {
- pushBackInRegionScrollable(new InRegionScrollableArea(m_webPage, layer));
- continue;
- }
-
- // If we run into a fix positioned layer, set the last scrollable in-region object
- // as not able to propagate scroll to its parent scrollable.
- if (isNonRenderViewFixedPositionedContainer(layer) && m_activeInRegionScrollableAreas.size()) {
- Platform::ScrollViewBase* end = m_activeInRegionScrollableAreas.back();
- end->setCanPropagateScrollingToEnclosingScrollable(false);
- }
-
- } while ((layer = parentLayer(layer)));
-
- if (m_activeInRegionScrollableAreas.empty())
- return;
-
- m_needsActiveScrollableAreaCalculation = true;
-
- // Post-calculate the visible window rects in reverse hit test order so
- // we account for all and any clipping rects.
- WebCore::IntRect recursiveClippingRect(WebCore::IntPoint::zero(), m_webPage->transformedViewportSize());
-
- for (int i = m_activeInRegionScrollableAreas.size() - 1; i >= 0; --i) {
- InRegionScrollableArea* scrollable = static_cast<InRegionScrollableArea*>(m_activeInRegionScrollableAreas[i]);
- scrollable->setVisibleWindowRect(clipToRect(recursiveClippingRect, scrollable));
- recursiveClippingRect = scrollable->visibleWindowRect();
- }
-}
-
-void InRegionScrollerPrivate::updateSelectionScrollView(const Node* node)
-{
- // TODO: don't notify the client if the node didn't change.
- m_selectionScrollView = firstScrollableInRegionForNode(node);
- m_webPage->m_client->notifySelectionScrollView(m_selectionScrollView);
- // If there's no subframe set an empty rect so that we default to the main frame.
- m_webPage->m_selectionHandler->setSelectionSubframeViewportRect(m_selectionScrollView ? WebCore::IntRect(m_selectionScrollView->documentViewportRect()) : WebCore::IntRect());
-}
-
-Platform::ScrollViewBase* InRegionScrollerPrivate::firstScrollableInRegionForNode(const Node* node)
-{
- if (!node || !node->renderer())
- return 0;
-
- RenderLayer* layer = node->renderer()->enclosingLayer();
- if (!layer)
- return 0;
- do {
- RenderObject* renderer = layer->renderer();
-
- if (renderer->isRenderView()) {
- if (RenderView* renderView = toRenderView(renderer)) {
- FrameView* view = renderView->frameView();
- if (!view) {
- resetSelectionScrollView();
- return 0;
- }
-
- if (!renderView->compositor()->scrollLayer())
- continue;
-
- if (canScrollInnerFrame(view->frame()))
- return clipAndCreateInRegionScrollableArea(layer);
- }
- } else if (canScrollRenderBox(layer->renderBox()))
- return clipAndCreateInRegionScrollableArea(layer);
-
- // If we run into a fix positioned layer, set the last scrollable in-region object
- // as not able to propagate scroll to its parent scrollable.
- if (isNonRenderViewFixedPositionedContainer(layer) && m_activeInRegionScrollableAreas.size()) {
- Platform::ScrollViewBase* end = m_activeInRegionScrollableAreas.back();
- end->setCanPropagateScrollingToEnclosingScrollable(false);
- }
-
- } while ((layer = parentLayer(layer)));
- return 0;
-}
-
-Platform::ScrollViewBase* InRegionScrollerPrivate::clipAndCreateInRegionScrollableArea(RenderLayer* layer)
-{
- WebCore::IntRect recursiveClippingRect(WebCore::IntPoint::zero(), m_webPage->transformedViewportSize());
- InRegionScrollableArea* scrollable = new InRegionScrollableArea(m_webPage, layer);
- scrollable->setVisibleWindowRect(clipToRect(recursiveClippingRect, scrollable));
- return scrollable;
-}
-
-const std::vector<Platform::ScrollViewBase*>& InRegionScrollerPrivate::activeInRegionScrollableAreas() const
-{
- return m_activeInRegionScrollableAreas;
-}
-
-bool InRegionScrollerPrivate::setLayerScrollPosition(RenderLayer* layer, const IntPoint& scrollPosition)
-{
- RenderObject* layerRenderer = layer->renderer();
- ASSERT(layerRenderer);
-
- if (layerRenderer->isRenderView()) { // #document case.
- FrameView* view = toRenderView(layerRenderer)->frameView();
- ASSERT(view);
-
- Frame* frame = view->frame();
- ASSERT_UNUSED(frame, frame);
- ASSERT(canScrollInnerFrame(frame));
-
- view->setCanBlitOnScroll(false);
- view->setScrollPosition(scrollPosition);
-
- } else {
-
- // RenderBox-based elements case (scrollable boxes (div's, p's, textarea's, etc)).
- layer->scrollToOffset(toIntSize(scrollPosition));
- }
-
- layer->renderer()->frame()->selection()->updateAppearance();
- // FIXME: We have code in place to handle scrolling and clipping tap highlight
- // on in-region scrolling. As soon as it is fast enough (i.e. we have it backed by
- // a backing store), we can reliably make use of it in the real world.
- // m_touchEventHandler->drawTapHighlight();
- return true;
-}
-
-void InRegionScrollerPrivate::adjustScrollDelta(const WebCore::IntPoint& maxOffset, const WebCore::IntPoint& currentOffset, WebCore::IntSize& delta) const
-{
- if (currentOffset.x() + delta.width() > maxOffset.x())
- delta.setWidth(std::min(maxOffset.x() - currentOffset.x(), delta.width()));
-
- if (currentOffset.x() + delta.width() < 0)
- delta.setWidth(std::max(-currentOffset.x(), delta.width()));
-
- if (currentOffset.y() + delta.height() > maxOffset.y())
- delta.setHeight(std::min(maxOffset.y() - currentOffset.y(), delta.height()));
-
- if (currentOffset.y() + delta.height() < 0)
- delta.setHeight(std::max(-currentOffset.y(), delta.height()));
-}
-
-static bool canScrollInnerFrame(Frame* frame)
-{
- if (!frame || !frame->view())
- return false;
-
- // Not having an owner element means that we are on the mainframe.
- if (!frame->ownerElement())
- return false;
-
- ASSERT(frame != frame->page()->mainFrame());
-
- IntSize visibleSize = frame->view()->visibleContentRect().size();
- IntSize contentsSize = frame->view()->contentsSize();
-
- bool canBeScrolled = contentsSize.height() > visibleSize.height() || contentsSize.width() > visibleSize.width();
-
- // Lets also consider the 'overflow-{x,y} property set directly to the {i}frame tag.
- return canBeScrolled && (frame->ownerElement()->scrollingMode() != ScrollbarAlwaysOff);
-}
-
-// The RenderBox::canbeScrolledAndHasScrollableArea method returns true for the
-// following scenario, for example:
-// (1) a div that has a vertical overflow but no horizontal overflow
-// with overflow-y: hidden and overflow-x: auto set.
-// The version below fixes it.
-// FIXME: Fix RenderBox::canBeScrolledAndHasScrollableArea method instead.
-bool InRegionScrollerPrivate::canScrollRenderBox(RenderBox* box)
-{
- if (!box)
- return false;
-
- // We use this to make non-overflown contents layers to actually
- // be overscrollable.
- if (box->layer() && box->layer()->usesCompositedScrolling()) {
- if (box->style()->overflowScrolling() == OSBlackberryTouch)
- return true;
- }
-
- if (!box->hasOverflowClip())
- return false;
-
- if (box->scrollHeight() == box->clientHeight() && box->scrollWidth() == box->clientWidth())
- return false;
-
- if ((box->scrollsOverflowX() && (box->scrollWidth() != box->clientWidth()))
- || (box->scrollsOverflowY() && (box->scrollHeight() != box->clientHeight())))
- return true;
-
- Node* node = box->node();
- return node && (DOMSupport::isShadowHostTextInputElement(node) || node->isDocumentNode());
-}
-
-static RenderLayer* parentLayer(RenderLayer* layer)
-{
- ASSERT(layer);
- if (layer->parent())
- return layer->parent();
-
- RenderObject* renderer = layer->renderer();
- Document* document = renderer->document();
- if (document) {
- HTMLFrameOwnerElement* ownerElement = document->ownerElement();
- if (ownerElement) {
- RenderObject* subRenderer = ownerElement->renderer();
- if (subRenderer)
- return subRenderer->enclosingLayer();
- }
- }
-
- return 0;
-}
-
-static bool isNonRenderViewFixedPositionedContainer(RenderLayer* layer)
-{
- RenderObject* o = layer->renderer();
- if (o->isRenderView())
- return false;
-
- return o->isOutOfFlowPositioned() && o->style()->position() == FixedPosition;
-}
-
-void InRegionScrollerPrivate::pushBackInRegionScrollable(InRegionScrollableArea* scrollableArea)
-{
- ASSERT(!scrollableArea->isNull());
-
- scrollableArea->setCanPropagateScrollingToEnclosingScrollable(!isNonRenderViewFixedPositionedContainer(scrollableArea->layer()));
- m_activeInRegionScrollableAreas.push_back(scrollableArea);
-}
-
-bool InRegionScrollerPrivate::isValidScrollableLayerWebKitThread(LayerWebKitThread* layerWebKitThread) const
-{
- if (!layerWebKitThread)
- return false;
-
- for (unsigned i = 0; i < m_activeInRegionScrollableAreas.size(); ++i) {
- if (static_cast<InRegionScrollableArea*>(m_activeInRegionScrollableAreas[i])->cachedScrollableLayer() == layerWebKitThread)
- return true;
- }
-
- return false;
-}
-
-bool InRegionScrollerPrivate::isValidScrollableNode(Node* node) const
-{
- if (!node)
- return false;
-
- for (unsigned i = 0; i < m_activeInRegionScrollableAreas.size(); ++i) {
- if (static_cast<InRegionScrollableArea*>(m_activeInRegionScrollableAreas[i])->cachedScrollableNode() == node)
- return true;
- }
-
- return false;
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/Api/InRegionScroller.h b/Source/WebKit/blackberry/Api/InRegionScroller.h
deleted file mode 100644
index 23c9ec5b6..000000000
--- a/Source/WebKit/blackberry/Api/InRegionScroller.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Research In Motion Limited. 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
- * 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 InRegionScroller_h
-#define InRegionScroller_h
-
-#include "BlackBerryGlobal.h"
-
-#include <BlackBerryPlatformMisc.h>
-#include <BlackBerryPlatformPrimitives.h>
-#include <interaction/ScrollViewBase.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class InRegionScrollerPrivate;
-class TouchEventHandler;
-class WebPagePrivate;
-class SelectionHandler;
-
-class BLACKBERRY_EXPORT InRegionScroller {
-public:
- InRegionScroller(WebPagePrivate*);
- ~InRegionScroller();
-
- bool setDocumentScrollPositionCompositingThread(unsigned camouflagedLayer, const Platform::IntPoint& documentScrollPosition);
- bool setDocumentScrollPositionWebKitThread(unsigned camouflagedLayer, const Platform::IntPoint& documentScrollPosition,
- bool acceleratedScrolling, Platform::ScrollViewBase::ScrollTarget);
-
-private:
- friend class WebPagePrivate;
- friend class TouchEventHandler;
- friend class SelectionHandler;
- InRegionScrollerPrivate *d;
- DISABLE_COPY(InRegionScroller)
-};
-
-}
-}
-
-#endif
diff --git a/Source/WebKit/blackberry/Api/InRegionScroller_p.h b/Source/WebKit/blackberry/Api/InRegionScroller_p.h
deleted file mode 100644
index 98afccd85..000000000
--- a/Source/WebKit/blackberry/Api/InRegionScroller_p.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Research In Motion Limited. 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
- * 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 InRegionScroller_p_h
-#define InRegionScroller_p_h
-
-#include "IntPoint.h"
-#include "IntSize.h"
-
-#include <interaction/ScrollViewBase.h>
-#include <vector>
-
-namespace WebCore {
-class Frame;
-class LayerWebKitThread;
-class Node;
-class RenderBox;
-class RenderObject;
-class RenderLayer;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-
-class InRegionScrollableArea;
-class WebPagePrivate;
-
-class InRegionScrollerPrivate {
-public:
- InRegionScrollerPrivate(WebPagePrivate*);
-
- void reset();
- void resetSelectionScrollView();
- bool isActive() const;
-
- bool setScrollPositionCompositingThread(unsigned camouflagedLayer, const WebCore::IntPoint& scrollPosition);
- bool setScrollPositionWebKitThread(unsigned camouflagedLayer, const WebCore::IntPoint& scrollPosition,
- bool /*acceleratedScrolling*/, Platform::ScrollViewBase::ScrollTarget);
-
- void calculateInRegionScrollableAreasForPoint(const WebCore::IntPoint&);
- const std::vector<Platform::ScrollViewBase*>& activeInRegionScrollableAreas() const;
- void updateSelectionScrollView(const WebCore::Node*);
-
- void clearDocumentData(const WebCore::Document*);
-
- static bool canScrollRenderBox(WebCore::RenderBox*);
-
- WebPagePrivate* m_webPage;
- bool m_needsActiveScrollableAreaCalculation;
-
-private:
- Platform::ScrollViewBase* firstScrollableInRegionForNode(const WebCore::Node*);
- bool setLayerScrollPosition(WebCore::RenderLayer*, const WebCore::IntPoint& scrollPosition);
-
- void calculateActiveAndShrinkCachedScrollableAreas(WebCore::RenderLayer*);
-
- void pushBackInRegionScrollable(InRegionScrollableArea*);
-
- void adjustScrollDelta(const WebCore::IntPoint& maxOffset, const WebCore::IntPoint& currentOffset, WebCore::IntSize& delta) const;
- Platform::ScrollViewBase* clipAndCreateInRegionScrollableArea(WebCore::RenderLayer*);
-
- bool isValidScrollableLayerWebKitThread(WebCore::LayerWebKitThread*) const;
- bool isValidScrollableNode(WebCore::Node*) const;
- WebCore::IntRect clipToRect(const WebCore::IntRect&, InRegionScrollableArea*);
- std::vector<Platform::ScrollViewBase*> m_activeInRegionScrollableAreas;
- Platform::ScrollViewBase* m_selectionScrollView;
-};
-
-}
-}
-
-#endif
diff --git a/Source/WebKit/blackberry/Api/JavaScriptVariant.cpp b/Source/WebKit/blackberry/Api/JavaScriptVariant.cpp
deleted file mode 100644
index e5e73ca5b..000000000
--- a/Source/WebKit/blackberry/Api/JavaScriptVariant.cpp
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "JavaScriptVariant.h"
-
-#include "JavaScriptVariant_p.h"
-#include "WebPage.h"
-#include <JSStringRef.h>
-#include <JSValueRef.h>
-#include <stdlib.h>
-#include <wtf/Vector.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-JavaScriptVariant JSValueRefToBlackBerryJavaScriptVariant(const JSGlobalContextRef& ctx, const JSValueRef& value)
-{
- JavaScriptVariant returnValue;
-
- switch (JSValueGetType(ctx, value)) {
- case kJSTypeNull:
- returnValue.setType(JavaScriptVariant::Null);
- break;
- case kJSTypeBoolean:
- returnValue.setBoolean(JSValueToBoolean(ctx, value));
- break;
- case kJSTypeNumber:
- returnValue.setDouble(JSValueToNumber(ctx, value, 0));
- break;
- case kJSTypeString: {
- JSStringRef stringRef = JSValueToStringCopy(ctx, value, 0);
- if (!stringRef) {
- returnValue.setString(BlackBerry::Platform::String::emptyString());
- break;
- }
- size_t bufferSize = JSStringGetMaximumUTF8CStringSize(stringRef);
- WTF::Vector<char> buffer(bufferSize);
- size_t rc = JSStringGetUTF8CString(stringRef, buffer.data(), bufferSize);
- returnValue.setString(BlackBerry::Platform::String::fromUtf8(buffer.data(), rc - 1));
- JSStringRelease(stringRef);
- break;
- }
- case kJSTypeObject:
- returnValue.setType(JavaScriptVariant::Object);
- break;
- case kJSTypeUndefined:
- returnValue.setType(JavaScriptVariant::Undefined);
- break;
- }
- return returnValue;
-}
-
-JSValueRef BlackBerryJavaScriptVariantToJSValueRef(const JSGlobalContextRef& ctx, const JavaScriptVariant& variant)
-{
- JSValueRef ref = 0;
- switch (variant.type()) {
- case JavaScriptVariant::Undefined:
- ref = JSValueMakeUndefined(ctx);
- break;
- case JavaScriptVariant::Null:
- ref = JSValueMakeNull(ctx);
- break;
- case JavaScriptVariant::Boolean:
- ref = JSValueMakeBoolean(ctx, variant.booleanValue());
- break;
- case JavaScriptVariant::Number:
- ref = JSValueMakeNumber(ctx, variant.doubleValue());
- break;
- case JavaScriptVariant::String: {
- JSStringRef str = JSStringCreateWithUTF8CString(variant.stringValue().c_str());
- ref = JSValueMakeString(ctx, str);
- JSStringRelease(str);
- break;
- }
- case JavaScriptVariant::Exception:
- case JavaScriptVariant::Object:
- ASSERT_NOT_REACHED();
- break;
- }
- return ref;
-}
-
-JavaScriptVariant::JavaScriptVariant()
- : m_type(Undefined)
-{
-}
-
-JavaScriptVariant::JavaScriptVariant(double value)
- : m_type(Undefined)
-{
- setDouble(value);
-}
-
-JavaScriptVariant::JavaScriptVariant(int value)
- : m_type(Undefined)
-{
- setDouble(value);
-}
-
-JavaScriptVariant::JavaScriptVariant(const BlackBerry::Platform::String& value)
- : m_type(Undefined)
-{
- setString(value);
-}
-
-JavaScriptVariant::JavaScriptVariant(bool value)
- : m_type(Undefined)
-{
- setBoolean(value);
-}
-
-JavaScriptVariant::JavaScriptVariant(const JavaScriptVariant &v)
- : m_type(Undefined)
-{
- this->operator=(v);
-}
-
-JavaScriptVariant::~JavaScriptVariant()
-{
-}
-
-JavaScriptVariant& JavaScriptVariant::operator=(const JavaScriptVariant& v)
-{
- if (&v == this)
- return *this;
-
- switch (v.type()) {
- case Boolean:
- setBoolean(v.booleanValue());
- break;
- case Number:
- setDouble(v.doubleValue());
- break;
- case String:
- setString(v.stringValue());
- break;
- default:
- setType(v.type());
- break;
- }
-
- return *this;
-}
-
-void JavaScriptVariant::setType(const DataType& type)
-{
- if (m_type == String)
- m_stringValue = BlackBerry::Platform::String::emptyString();
- m_type = type;
-}
-
-JavaScriptVariant::DataType JavaScriptVariant::type() const
-{
- return m_type;
-}
-
-void JavaScriptVariant::setDouble(double value)
-{
- setType(Number);
- m_doubleValue = value;
-}
-
-double JavaScriptVariant::doubleValue() const
-{
- return m_doubleValue;
-}
-
-void JavaScriptVariant::setString(const BlackBerry::Platform::String& value)
-{
- setType(String);
- m_stringValue = value;
-}
-
-const BlackBerry::Platform::String& JavaScriptVariant::stringValue() const
-{
- return m_stringValue;
-}
-
-void JavaScriptVariant::setBoolean(bool value)
-{
- setType(Boolean);
- m_booleanValue = value;
-}
-
-bool JavaScriptVariant::booleanValue() const
-{
- return m_booleanValue;
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/Api/JavaScriptVariant.h b/Source/WebKit/blackberry/Api/JavaScriptVariant.h
deleted file mode 100644
index ef6a204e1..000000000
--- a/Source/WebKit/blackberry/Api/JavaScriptVariant.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 JavaScriptVariant_h
-#define JavaScriptVariant_h
-
-#include "BlackBerryGlobal.h"
-
-#include <BlackBerryPlatformString.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class BLACKBERRY_EXPORT JavaScriptVariant {
-public:
- enum DataType {
- Undefined = 0,
- Null,
- Boolean,
- Number,
- String,
- Object,
- Exception
- };
-
- JavaScriptVariant();
- JavaScriptVariant(const JavaScriptVariant&);
- JavaScriptVariant(double);
- JavaScriptVariant(int);
- explicit JavaScriptVariant(bool);
- JavaScriptVariant(const BlackBerry::Platform::String&);
- ~JavaScriptVariant();
-
- JavaScriptVariant& operator=(const JavaScriptVariant&);
-
- void setType(const DataType&);
- DataType type() const;
-
- void setDouble(double);
- double doubleValue() const;
-
- void setString(const BlackBerry::Platform::String&);
- const BlackBerry::Platform::String& stringValue() const;
-
- void setBoolean(bool);
- bool booleanValue() const;
-
-private:
- JavaScriptVariant(const char*);
- DataType m_type;
-
- union {
- bool m_booleanValue;
- double m_doubleValue;
- };
-
- BlackBerry::Platform::String m_stringValue;
-};
-
-}
-}
-
-#endif // JavaScriptVariant_h
diff --git a/Source/WebKit/blackberry/Api/JavaScriptVariant_p.h b/Source/WebKit/blackberry/Api/JavaScriptVariant_p.h
deleted file mode 100644
index 024b878cd..000000000
--- a/Source/WebKit/blackberry/Api/JavaScriptVariant_p.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 JavaScriptVariant_p_h
-#define JavaScriptVariant_p_h
-
-#include "JavaScriptVariant.h"
-
-#include <JSContextRef.h>
-#include <JSValueRef.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-JavaScriptVariant JSValueRefToBlackBerryJavaScriptVariant(const JSGlobalContextRef&, const JSValueRef&);
-JSValueRef BlackBerryJavaScriptVariantToJSValueRef(const JSGlobalContextRef&, const JavaScriptVariant&);
-
-}
-}
-
-#endif // JavaScriptVariant_p_h
diff --git a/Source/WebKit/blackberry/Api/Version.cpp b/Source/WebKit/blackberry/Api/Version.cpp
deleted file mode 100644
index 23e7b7bd5..000000000
--- a/Source/WebKit/blackberry/Api/Version.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "Version.h"
-
-#include "WebKitVersion.h" // Note: auto generated at build time.
-
-// Make sure we are not treated as big endian nor middle endian.
-#if PLATFORM(ARM) && (PLATFORM(BIG_ENDIAN) || PLATFORM(MIDDLE_ENDIAN))
-#error Our platform is little endian, but either PLATFORM(BIG_ENDIAN) or PLATFORM(MIDDLE_ENDIAN) is defined!
-#endif
-
-namespace BlackBerry {
-namespace WebKit {
-
-int webKitMajorVersion()
-{
- return WEBKIT_MAJOR_VERSION;
-}
-
-int webKitMinorVersion()
-{
- return WEBKIT_MINOR_VERSION;
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/Api/Version.h b/Source/WebKit/blackberry/Api/Version.h
deleted file mode 100644
index eedd7da8d..000000000
--- a/Source/WebKit/blackberry/Api/Version.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2010, 2011 Research In Motion Limited. 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
- * 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 Version_h
-#define Version_h
-
-namespace BlackBerry {
-namespace WebKit {
-int webKitMajorVersion();
-int webKitMinorVersion();
-}
-}
-
-#endif // Version_h
diff --git a/Source/WebKit/blackberry/Api/WebAnimation.cpp b/Source/WebKit/blackberry/Api/WebAnimation.cpp
deleted file mode 100644
index 38cb36c9f..000000000
--- a/Source/WebKit/blackberry/Api/WebAnimation.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. 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
- * 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 "WebAnimation.h"
-
-#if USE(ACCELERATED_COMPOSITING)
-#include "GraphicsLayer.h"
-#include "LayerCompositingThread.h"
-#include "LayerWebKitThread.h"
-#include "ScaleTransformOperation.h"
-#include "WebAnimation_p.h"
-
-#include <BlackBerryPlatformMessageClient.h>
-#include <BlackBerryPlatformString.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-using namespace WebCore;
-
-WebAnimation WebAnimation::fadeAnimation(const BlackBerry::Platform::String& name, float from, float to, double duration)
-{
- WebAnimation tmp;
- tmp.d->name = name;
- tmp.d->animation = Animation::create();
- tmp.d->animation->setDuration(duration);
- tmp.d->keyframes = KeyframeValueList(AnimatedPropertyOpacity);
- tmp.d->keyframes.insert(new FloatAnimationValue(0, from));
- tmp.d->keyframes.insert(new FloatAnimationValue(1.0, to));
-
- return tmp;
-}
-
-WebAnimation WebAnimation::shrinkAnimation(const BlackBerry::Platform::String& name, float from, float to, double duration)
-{
- WebAnimation tmp;
- tmp.d->name = name;
- tmp.d->animation = Animation::create();
- tmp.d->animation->setDuration(duration);
- tmp.d->keyframes = KeyframeValueList(AnimatedPropertyWebkitTransform);
-
- TransformOperations startOperation;
- startOperation.operations().append(ScaleTransformOperation::create(from, from, TransformOperation::SCALE));
- tmp.d->keyframes.insert(new TransformAnimationValue(0, &startOperation));
-
- TransformOperations endOperation;
- endOperation.operations().append(ScaleTransformOperation::create(to, to, TransformOperation::SCALE));
- tmp.d->keyframes.insert(new TransformAnimationValue(1.0, &endOperation));
-
- return tmp;
-}
-
-BlackBerry::Platform::String WebAnimation::name() const
-{
- return d->name;
-}
-
-WebAnimation::WebAnimation()
- : d(new WebAnimationPrivate)
-{
-}
-
-WebAnimation::WebAnimation(const WebAnimation& o)
-: d(new WebAnimationPrivate)
-{
- *d = *o.d;
-}
-
-WebAnimation::~WebAnimation()
-{
- delete d;
-}
-
-WebAnimation& WebAnimation::operator=(const WebAnimation& o)
-{
- if (&o != this)
- *d = *o.d;
- return *this;
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // USE(ACCELERATED_COMPOSITING)
diff --git a/Source/WebKit/blackberry/Api/WebAnimation.h b/Source/WebKit/blackberry/Api/WebAnimation.h
deleted file mode 100644
index 7506783a9..000000000
--- a/Source/WebKit/blackberry/Api/WebAnimation.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 WebAnimation_h
-#define WebAnimation_h
-
-#include "BlackBerryGlobal.h"
-
-#include <BlackBerryPlatformPrimitives.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebAnimationPrivate;
-
-/**
- * Represents an animation running on an overlay.
- *
- * WebAnimation is not thread safe, but it is reentrant. This means that
- * instances can be created on different threads, but must be used on the
- * thread where they were created.
- */
-class BLACKBERRY_EXPORT WebAnimation {
-public:
- static WebAnimation fadeAnimation(const BlackBerry::Platform::String& name, float from, float to, double duration);
- static WebAnimation shrinkAnimation(const BlackBerry::Platform::String& name, float from, float to, double duration);
-
- WebAnimation();
- WebAnimation(const WebAnimation&);
- ~WebAnimation();
-
- WebAnimation& operator=(const WebAnimation&);
-
- BlackBerry::Platform::String name() const;
-
-protected:
- friend class WebOverlay;
- friend class WebOverlayOverride;
- friend class WebOverlayPrivate;
-
- WebAnimationPrivate* d;
-};
-
-}
-}
-
-#endif // WebAnimation_h
diff --git a/Source/WebKit/blackberry/Api/WebAnimation_p.h b/Source/WebKit/blackberry/Api/WebAnimation_p.h
deleted file mode 100644
index 08ca9aff3..000000000
--- a/Source/WebKit/blackberry/Api/WebAnimation_p.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 WebAnimation_p_h
-#define WebAnimation_p_h
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "Animation.h"
-#include "GraphicsLayer.h"
-#include "GraphicsLayerClient.h"
-#include "IntSize.h"
-#include "LayerAnimation.h"
-
-#include <wtf/text/WTFString.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebAnimation;
-
-class WebAnimationPrivate {
-public:
- WebAnimationPrivate()
- : keyframes(WebCore::AnimatedPropertyInvalid)
- {
- }
-
- String name;
- RefPtr<WebCore::Animation> animation;
- WebCore::KeyframeValueList keyframes;
-};
-
-}
-}
-
-#endif // USE(ACCELERATED_COMPOSITING)
-
-#endif // WebAnimation_p_h
diff --git a/Source/WebKit/blackberry/Api/WebCookieJar.cpp b/Source/WebKit/blackberry/Api/WebCookieJar.cpp
deleted file mode 100644
index b3ba8f372..000000000
--- a/Source/WebKit/blackberry/Api/WebCookieJar.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "WebCookieJar.h"
-
-#include "CookieManager.h"
-#include "KURL.h"
-#include <BlackBerryPlatformString.h>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-WebCookieJar::WebCookieJar()
-{
-}
-
-std::vector<BlackBerry::Platform::String> WebCookieJar::cookies(const BlackBerry::Platform::String& url)
-{
- KURL kurl = KURL(KURL(), url);
-
- Vector<RefPtr<ParsedCookie> > rawCookies;
- cookieManager().getRawCookies(rawCookies, kurl, WithHttpOnlyCookies);
-
- std::vector<BlackBerry::Platform::String> result;
- for (size_t i = 0; i < rawCookies.size(); ++i)
- result.push_back(rawCookies[i]->toNameValuePair());
-
- return result;
-}
-
-void WebCookieJar::setCookies(const BlackBerry::Platform::String& url, const std::vector<BlackBerry::Platform::String>& cookies)
-{
- KURL kurl = KURL(KURL(), url);
- Vector<String> coreCookies;
- for (size_t i = 0; i < cookies.size(); ++i)
- coreCookies.append(cookies[i]);
- cookieManager().setCookies(kurl, coreCookies, WithHttpOnlyCookies);
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/Api/WebCookieJar.h b/Source/WebKit/blackberry/Api/WebCookieJar.h
deleted file mode 100644
index 964756b3e..000000000
--- a/Source/WebKit/blackberry/Api/WebCookieJar.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 WebCookieJar_h
-#define WebCookieJar_h
-
-#include "BlackBerryGlobal.h"
-
-#include <vector>
-
-namespace BlackBerry {
-namespace Platform {
-class String;
-}
-
-namespace WebKit {
-
-class WebPage;
-
-/**
- * Represents the cookie database.
- *
- * You can obtain an instance of WebCookieJar by calling WebPage::cookieJar().
- */
-class BLACKBERRY_EXPORT WebCookieJar {
-public:
- /**
- * Returns a list of cookies for the URL specified.
- *
- * All cookies whose domain and path match the provided URL will be returned.
- */
- std::vector<BlackBerry::Platform::String> cookies(const BlackBerry::Platform::String& url);
-
- /**
- * This will add the cookies provided in the list to the cookie database.
- * If a cookie with the same name and domain+path as one of the cookies
- * provided already exists, it will be replaced. Other cookies that already
- * existed will remain.
- *
- * If no domain and/or path is provided in a cookie, the domain and/or path
- * will be inferred from the provided URL.
- */
- void setCookies(const BlackBerry::Platform::String& url, const std::vector<BlackBerry::Platform::String>& cookies);
-
-private:
- friend class WebPage;
-
- WebCookieJar();
-
- // Disable copy constructor and operator=.
- WebCookieJar(const WebCookieJar&);
- WebCookieJar& operator=(const WebCookieJar&);
-};
-
-}
-}
-
-#endif // WebCookieJar_h
diff --git a/Source/WebKit/blackberry/Api/WebKitMIMETypeConverter.cpp b/Source/WebKit/blackberry/Api/WebKitMIMETypeConverter.cpp
deleted file mode 100644
index 401b0bbdf..000000000
--- a/Source/WebKit/blackberry/Api/WebKitMIMETypeConverter.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "WebKitMIMETypeConverter.h"
-
-#include "MIMETypeRegistry.h"
-#include <BlackBerryPlatformString.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-bool getExtensionForMimeType(const BlackBerry::Platform::String& mime, BlackBerry::Platform::String& extension)
-{
- extension = WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType(mime);
- return !extension.empty();
-}
-
-bool getMimeTypeForExtension(const BlackBerry::Platform::String& extension, BlackBerry::Platform::String& mimeType)
-{
- mimeType = WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension(extension);
- return !mimeType.empty();
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
diff --git a/Source/WebKit/blackberry/Api/WebKitMIMETypeConverter.h b/Source/WebKit/blackberry/Api/WebKitMIMETypeConverter.h
deleted file mode 100644
index 09d654e91..000000000
--- a/Source/WebKit/blackberry/Api/WebKitMIMETypeConverter.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 WebKitMIMETypeConverter_h
-#define WebKitMIMETypeConverter_h
-
-#include "BlackBerryGlobal.h"
-
-namespace BlackBerry {
-namespace Platform {
-class String;
-}
-
-namespace WebKit {
-
-BLACKBERRY_EXPORT bool getExtensionForMimeType(const BlackBerry::Platform::String& mime, BlackBerry::Platform::String& extension);
-BLACKBERRY_EXPORT bool getMimeTypeForExtension(const BlackBerry::Platform::String& extension, BlackBerry::Platform::String& mimeType);
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // WebKitMIMETypeConverter_h
diff --git a/Source/WebKit/blackberry/Api/WebKitTextCodec.cpp b/Source/WebKit/blackberry/Api/WebKitTextCodec.cpp
deleted file mode 100644
index 2e638e6e1..000000000
--- a/Source/WebKit/blackberry/Api/WebKitTextCodec.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011 Research In Motion Limited. 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
- * 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 "WebKitTextCodec.h"
-
-#include "KURL.h"
-#include "TextCodecICU.h"
-#include <BlackBerryPlatformString.h>
-#include <wtf/Vector.h>
-#include <wtf/text/Base64.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
-
-using WebCore::TextEncoding;
-using WebCore::TextCodecICU;
-
-namespace BlackBerry {
-namespace WebKit {
-
-#define COMPILE_ASSERT_MATCHING_ENUM(webkitName, wtfName) \
- COMPILE_ASSERT(static_cast<int>(webkitName) == static_cast<int>(WTF::wtfName), mismatchingEnums)
-
-COMPILE_ASSERT_MATCHING_ENUM(Base64FailOnInvalidCharacter, Base64FailOnInvalidCharacter);
-COMPILE_ASSERT_MATCHING_ENUM(Base64IgnoreWhitespace, Base64IgnoreWhitespace);
-COMPILE_ASSERT_MATCHING_ENUM(Base64IgnoreInvalidCharacters, Base64IgnoreInvalidCharacters);
-
-// FIXME: Base64InsertCRLF should be Base64InsertLFs. WTF::encodeBase64 doesn't insert CR.
-COMPILE_ASSERT_MATCHING_ENUM(Base64DoNotInsertCRLF, Base64DoNotInsertLFs);
-COMPILE_ASSERT_MATCHING_ENUM(Base64InsertCRLF, Base64InsertLFs);
-
-bool isSameEncoding(const char* encoding1, const char* encoding2)
-{
- return TextEncoding(encoding1) == TextEncoding(encoding2);
-}
-
-bool isASCIICompatibleEncoding(const char* encoding)
-{
- TextEncoding textEncoding(encoding);
- if (!textEncoding.isValid())
- return false;
-
- // Check the most common encodings first
- if (textEncoding == WebCore::UTF8Encoding() || textEncoding == WebCore::Latin1Encoding() || textEncoding == WebCore::ASCIIEncoding())
- return true;
-
- String lowercasedEncoding = String(encoding).lower();
- // This is slow and could easily be optimized by directly inspecting encoding[i].
- if (lowercasedEncoding.startsWith("iso-8859")
- || lowercasedEncoding.startsWith("windows")
- || lowercasedEncoding.startsWith("euc-jp")
- || lowercasedEncoding.startsWith("euc-kr"))
- return true;
-
- return false;
-}
-
-TranscodeResult transcode(const char* sourceEncoding, const char* targetEncoding, const char*& sourceStart, int sourceLength, char*& targetStart, unsigned targetLength)
-{
- TextEncoding textEncodingSource(sourceEncoding);
- if (!textEncodingSource.isValid())
- return SourceEncodingUnsupported;
-
- TextEncoding textEncodingTarget(targetEncoding);
- if (!textEncodingTarget.isValid())
- return TargetEncodingUnsupported;
-
- bool sawError = false;
- String ucs2 = TextCodecICU(textEncodingSource).decode(sourceStart, sourceLength, true, true, sawError);
-
- if (sawError)
- return SourceBroken;
-
- CString encoded = TextCodecICU(textEncodingTarget).encode(ucs2.characters(), ucs2.length(), WebCore::EntitiesForUnencodables);
- if (encoded.length() > targetLength)
- return TargetBufferInsufficient;
-
- strncpy(targetStart, encoded.data(), encoded.length());
- targetStart += encoded.length();
-
- return Success;
-}
-
-bool base64Decode(const BlackBerry::Platform::String& base64, std::vector<char>& binary, Base64DecodePolicy policy)
-{
- Vector<char> result;
- if (!WTF::base64Decode(base64.c_str(), base64.length(), result, static_cast<WTF::Base64DecodePolicy>(policy)))
- return false;
-
- binary.insert(binary.begin(), result.begin(), result.end());
- return true;
-}
-
-bool base64Encode(const std::vector<char>& binary, BlackBerry::Platform::String& base64, Base64EncodePolicy policy)
-{
- Vector<char> result;
- result.append(&binary[0], binary.size());
-
- WTF::base64Encode(&binary[0], binary.size(), result, static_cast<WTF::Base64EncodePolicy>(policy));
-
- base64 = BlackBerry::Platform::String::fromAscii(&result[0], result.size());
-
- return true;
-}
-
-void unescapeURL(const BlackBerry::Platform::String& escaped, BlackBerry::Platform::String& url)
-{
- url = WebCore::decodeURLEscapeSequences(escaped);
-}
-
-void escapeURL(const BlackBerry::Platform::String& url, BlackBerry::Platform::String& escaped)
-{
- escaped = WebCore::encodeWithURLEscapeSequences(url);
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
diff --git a/Source/WebKit/blackberry/Api/WebKitTextCodec.h b/Source/WebKit/blackberry/Api/WebKitTextCodec.h
deleted file mode 100644
index b6a19e0ff..000000000
--- a/Source/WebKit/blackberry/Api/WebKitTextCodec.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011 Research In Motion Limited. 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
- * 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 WebKitTextCodec_h
-#define WebKitTextCodec_h
-
-#include "BlackBerryGlobal.h"
-#include <vector>
-
-namespace BlackBerry {
-namespace Platform {
-class String;
-}
-
-namespace WebKit {
-
-enum TranscodeResult {
- Success,
- SourceEncodingUnsupported,
- SourceBroken,
- TargetEncodingUnsupported,
- TargetBufferInsufficient
-};
-
-enum Base64DecodePolicy {
- Base64FailOnInvalidCharacter,
- Base64IgnoreWhitespace,
- Base64IgnoreInvalidCharacters
-};
-
-enum Base64EncodePolicy {
- Base64DoNotInsertCRLF,
- Base64InsertCRLF
-};
-
-BLACKBERRY_EXPORT bool isSameEncoding(const char* encoding1, const char* encoding2);
-BLACKBERRY_EXPORT bool isASCIICompatibleEncoding(const char* encoding);
-BLACKBERRY_EXPORT TranscodeResult transcode(const char* sourceEncoding, const char* targetEncoding, const char*& sourceStart, int sourceLength, char*& targetStart, unsigned targetLength);
-
-BLACKBERRY_EXPORT bool base64Decode(const BlackBerry::Platform::String& base64, std::vector<char>& binary, Base64DecodePolicy);
-BLACKBERRY_EXPORT bool base64Encode(const std::vector<char>& binary, BlackBerry::Platform::String& base64, Base64EncodePolicy);
-
-BLACKBERRY_EXPORT void unescapeURL(const BlackBerry::Platform::String& escaped, BlackBerry::Platform::String& url);
-BLACKBERRY_EXPORT void escapeURL(const BlackBerry::Platform::String& url, BlackBerry::Platform::String& escaped);
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // WebKitTextCodec_h
diff --git a/Source/WebKit/blackberry/Api/WebOverlay.cpp b/Source/WebKit/blackberry/Api/WebOverlay.cpp
deleted file mode 100644
index b3ff74b6d..000000000
--- a/Source/WebKit/blackberry/Api/WebOverlay.cpp
+++ /dev/null
@@ -1,826 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. 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
- * 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 "WebOverlay.h"
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "LayerWebKitThread.h"
-#include "NotImplemented.h"
-#include "TextureCacheCompositingThread.h"
-#include "WebAnimation.h"
-#include "WebAnimation_p.h"
-#include "WebOverlayClient.h"
-#include "WebOverlayOverride.h"
-#include "WebOverlay_p.h"
-#include "WebPageCompositorClient.h"
-#include "WebPageCompositor_p.h"
-#include "WebPage_p.h"
-
-#include <BlackBerryPlatformGraphicsContext.h>
-#include <BlackBerryPlatformMessageClient.h>
-#include <BlackBerryPlatformString.h>
-#include <GLES2/gl2.h>
-
-using namespace WebCore;
-using BlackBerry::Platform::Graphics::GLES2Program;
-
-namespace BlackBerry {
-namespace WebKit {
-
-WebOverlay::WebOverlay()
- : d(0)
-{
- if (Platform::webKitThreadMessageClient()->isCurrentThread()) {
- d = new WebOverlayPrivateWebKitThread;
- d->q = this;
- } else if (Platform::userInterfaceThreadMessageClient()->isCurrentThread()) {
- d = new WebOverlayPrivateCompositingThread;
- d->q = this;
- }
-}
-
-WebOverlay::WebOverlay(GraphicsLayerClient* client)
- : d(0)
-{
- d = new WebOverlayPrivateWebKitThread(client);
- d->q = this;
-}
-
-WebOverlay::~WebOverlay()
-{
- delete d;
-}
-
-Platform::FloatPoint WebOverlay::position() const
-{
- return d->position();
-}
-
-void WebOverlay::setPosition(const Platform::FloatPoint& position)
-{
- d->setPosition(position);
-}
-
-Platform::FloatPoint WebOverlay::anchorPoint() const
-{
- return d->anchorPoint();
-}
-
-void WebOverlay::setAnchorPoint(const Platform::FloatPoint& anchor)
-{
- d->setAnchorPoint(anchor);
-}
-
-Platform::FloatSize WebOverlay::size() const
-{
- return d->size();
-}
-
-void WebOverlay::setSize(const Platform::FloatSize& size)
-{
- d->setSize(size);
-}
-
-bool WebOverlay::sizeIsScaleInvariant() const
-{
- return d->sizeIsScaleInvariant();
-}
-
-void WebOverlay::setSizeIsScaleInvariant(bool invariant)
-{
- d->setSizeIsScaleInvariant(invariant);
-}
-
-Platform::TransformationMatrix WebOverlay::transform() const
-{
- // FIXME: There is no WebCore::TranformationMatrix interoperability
- // with Platform::TransformationMatrix
- TransformationMatrix transform = d->transform();
- return reinterpret_cast<const Platform::TransformationMatrix&>(transform);
-}
-
-void WebOverlay::setTransform(const Platform::TransformationMatrix& transform)
-{
- d->setTransform(reinterpret_cast<const TransformationMatrix&>(transform));
-}
-
-float WebOverlay::opacity() const
-{
- return d->opacity();
-}
-
-void WebOverlay::setOpacity(float opacity)
-{
- d->setOpacity(opacity);
-}
-
-void WebOverlay::addAnimation(const WebAnimation& animation)
-{
- d->addAnimation(animation.d->name, animation.d->animation.get(), animation.d->keyframes);
-}
-
-void WebOverlay::removeAnimation(const BlackBerry::Platform::String& name)
-{
- d->removeAnimation(name);
-}
-
-Platform::IntRect WebOverlay::pixelViewportRect() const
-{
- return d->pixelViewportRect();
-}
-
-WebOverlay* WebOverlay::parent() const
-{
- return d->parent;
-}
-
-bool WebOverlay::addChild(WebOverlay* overlay)
-{
- if (overlay->d->nativeThread != d->nativeThread)
- return false;
-
- overlay->d->parent = this;
- d->addChild(overlay->d);
- return true;
-}
-
-void WebOverlay::removeFromParent()
-{
- d->removeFromParent();
- d->parent = 0;
-}
-
-void WebOverlay::setContentsToImage(const unsigned char* data, const Platform::IntSize& imageSize, ImageDataAdoptionType adoptionType)
-{
- d->setContentsToImage(data, imageSize, adoptionType);
-}
-
-void WebOverlay::setContentsToColor(int r, int g, int b, int a)
-{
- d->setContentsToColor(Color(r, g, b, a));
-}
-
-void WebOverlay::setDrawsContent(bool drawsContent)
-{
- d->setDrawsContent(drawsContent);
-}
-
-void WebOverlay::invalidate()
-{
- d->invalidate();
-}
-
-void WebOverlay::setClient(WebOverlayClient* client)
-{
- d->setClient(client);
-}
-
-WebOverlayOverride* WebOverlay::override()
-{
- // Must be called on UI thread
- if (!Platform::userInterfaceThreadMessageClient()->isCurrentThread())
- return 0;
-
- return d->override();
-}
-
-void WebOverlay::resetOverrides()
-{
- d->resetOverrides();
-}
-
-WebPagePrivate* WebOverlayPrivate::page() const
-{
- if (m_page)
- return m_page;
-
- if (parent)
- return parent->d->page();
-
- return 0;
-}
-
-WebOverlayOverride* WebOverlayPrivate::override()
-{
- if (!m_override)
- m_override = adoptPtr(new WebOverlayOverride(this));
-
- // Page might have changed if we were removed from the page and added to
- // some other page.
- m_override->d->setPage(page());
-
- return m_override.get();
-}
-
-void WebOverlayPrivate::drawContents(Platform::Graphics::Drawable* drawable)
-{
- if (!client)
- return;
-
- client->drawOverlayContents(q, drawable);
-}
-
-void WebOverlayPrivate::scheduleCompositingRun()
-{
- if (!page())
- return;
-
- page()->scheduleCompositingRun();
-}
-
-WebOverlayPrivateWebKitThread::WebOverlayPrivateWebKitThread(GraphicsLayerClient* client)
- : m_layer(GraphicsLayer::create(client ? client : this))
-{
- m_layerCompositingThread = m_layer->platformLayer()->layerCompositingThread();
-}
-
-FloatPoint WebOverlayPrivateWebKitThread::position() const
-{
- return m_layer->position();
-}
-
-void WebOverlayPrivateWebKitThread::setPosition(const FloatPoint& position)
-{
- m_layer->setPosition(position);
-}
-
-FloatPoint WebOverlayPrivateWebKitThread::anchorPoint() const
-{
- FloatPoint3D anchor = m_layer->anchorPoint();
- return FloatPoint(anchor.x(), anchor.y());
-}
-
-void WebOverlayPrivateWebKitThread::setAnchorPoint(const FloatPoint& anchor)
-{
- m_layer->setAnchorPoint(FloatPoint3D(anchor.x(), anchor.y(), 0));
-}
-
-FloatSize WebOverlayPrivateWebKitThread::size() const
-{
- return m_layer->size();
-}
-
-void WebOverlayPrivateWebKitThread::setSize(const FloatSize& size)
-{
- m_layer->setSize(size);
-}
-
-bool WebOverlayPrivateWebKitThread::sizeIsScaleInvariant() const
-{
- return m_layer->platformLayer()->sizeIsScaleInvariant();
-}
-
-void WebOverlayPrivateWebKitThread::setSizeIsScaleInvariant(bool invariant)
-{
- m_layer->platformLayer()->setSizeIsScaleInvariant(invariant);
-}
-
-TransformationMatrix WebOverlayPrivateWebKitThread::transform() const
-{
- return m_layer->transform();
-}
-
-void WebOverlayPrivateWebKitThread::setTransform(const TransformationMatrix& transform)
-{
- m_layer->setTransform(transform);
-}
-
-float WebOverlayPrivateWebKitThread::opacity() const
-{
- return m_layer->opacity();
-}
-
-void WebOverlayPrivateWebKitThread::setOpacity(float opacity)
-{
- m_layer->setOpacity(opacity);
-}
-
-void WebOverlayPrivateWebKitThread::addAnimation(const String& name, Animation* animation, const KeyframeValueList& keyframes)
-{
- IntSize size(m_layer->size().width(), m_layer->size().height());
- m_layer->addAnimation(keyframes, size, animation, name, 0);
-}
-
-void WebOverlayPrivateWebKitThread::removeAnimation(const String& name)
-{
- m_layer->removeAnimation(name);
-}
-
-Platform::IntRect WebOverlayPrivateWebKitThread::pixelViewportRect() const
-{
- notImplemented();
- return Platform::IntRect();
-}
-
-void WebOverlayPrivateWebKitThread::addChild(WebOverlayPrivate* overlay)
-{
- m_layer->addChild(static_cast<WebOverlayPrivateWebKitThread*>(overlay)->m_layer.get());
-}
-
-void WebOverlayPrivateWebKitThread::removeFromParent()
-{
- m_layer->removeFromParent();
-}
-
-void WebOverlayPrivateWebKitThread::setContentsToImage(const unsigned char*, const WebCore::IntSize&, WebOverlay::ImageDataAdoptionType)
-{
- notImplemented();
-}
-
-void WebOverlayPrivateWebKitThread::setContentsToColor(const Color&)
-{
- notImplemented();
-}
-
-void WebOverlayPrivateWebKitThread::setDrawsContent(bool drawsContent)
-{
- m_layer->setDrawsContent(drawsContent);
-}
-
-void WebOverlayPrivateWebKitThread::clear()
-{
- setSize(FloatSize(0, 0));
-}
-
-void WebOverlayPrivateWebKitThread::invalidate()
-{
- m_layer->setNeedsDisplay();
-}
-
-void WebOverlayPrivateWebKitThread::resetOverrides()
-{
- if (Platform::webKitThreadMessageClient()->isCurrentThread())
- m_layer->platformLayer()->clearOverride();
- else if (Platform::userInterfaceThreadMessageClient()->isCurrentThread()) {
- m_layerCompositingThread->clearOverride();
- scheduleCompositingRun();
- }
-}
-
-void WebOverlayPrivateWebKitThread::notifyFlushRequired(const WebCore::GraphicsLayer*)
-{
- if (WebPagePrivate* page = this->page())
- page->scheduleRootLayerCommit();
-}
-
-void WebOverlayPrivateWebKitThread::paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext& c, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect&)
-{
- drawContents(c.platformContext());
-}
-
-WebOverlayLayerCompositingThreadClient::WebOverlayLayerCompositingThreadClient(WebOverlayPrivate* overlay)
- : m_drawsContent(false)
- , m_overlay(overlay)
-{
-}
-
-void WebOverlayLayerCompositingThreadClient::setDrawsContent(bool drawsContent)
-{
- m_drawsContent = drawsContent;
-}
-
-void WebOverlayLayerCompositingThreadClient::invalidate()
-{
- m_texture.clear();
- clearUploadedContents();
-}
-
-void WebOverlayLayerCompositingThreadClient::setContentsToImage(const BlackBerry::Platform::Graphics::TiledImage& image)
-{
- m_image = image;
- m_color = Color();
- m_texture.clear();
- clearUploadedContents();
-}
-
-void WebOverlayLayerCompositingThreadClient::clearUploadedContents()
-{
- m_uploadedImage = BlackBerry::Platform::Graphics::TiledImage();
-}
-
-void WebOverlayLayerCompositingThreadClient::setContentsToColor(const Color& color)
-{
- m_image = BlackBerry::Platform::Graphics::TiledImage();
- m_color = color;
- m_texture.clear();
- clearUploadedContents();
-}
-
-void WebOverlayLayerCompositingThreadClient::layerCompositingThreadDestroyed(WebCore::LayerCompositingThread*)
-{
- delete this;
-}
-
-void WebOverlayLayerCompositingThreadClient::layerVisibilityChanged(LayerCompositingThread*, bool)
-{
-}
-
-void WebOverlayLayerCompositingThreadClient::uploadTexturesIfNeeded(LayerCompositingThread* layer)
-{
- if (m_image.isNull() && !m_color.isValid() && !m_drawsContent)
- return;
-
- if (m_texture && m_texture->buffer())
- return;
-
- if (m_color.isValid()) {
- m_texture = textureCacheCompositingThread()->textureForColor(m_color);
- return;
- }
-
- BlackBerry::Platform::Graphics::Buffer* textureContents = 0;
- IntSize textureSize;
-
- if (m_drawsContent) {
- if (!m_overlay || !m_overlay->client)
- return;
-
- textureSize = layer->bounds();
- textureContents = BlackBerry::Platform::Graphics::createBuffer(IntSize(0, 0), BlackBerry::Platform::Graphics::NeverBacked);
- if (!textureContents)
- return;
-
- clearBuffer(textureContents, 0, 0, 0, 0);
- PlatformGraphicsContext* platformContext = lockBufferDrawable(textureContents);
- if (!platformContext) {
- destroyBuffer(textureContents);
- return;
- }
- double transform[] = {
- 1, 0,
- 0, 1,
- -layer->bounds().width() / 2.0, -layer->bounds().height() / 2.0
- };
- platformContext->setTransform(transform);
- m_overlay->client->drawOverlayContents(m_overlay->q, platformContext);
-
- releaseBufferDrawable(textureContents);
- } else if (!m_image.isNull()) {
- textureSize = IntSize(m_image.width(), m_image.height());
- textureContents = BlackBerry::Platform::Graphics::createBuffer(IntSize(0, 0), BlackBerry::Platform::Graphics::NeverBacked);
- if (!textureContents)
- return;
-
- PlatformGraphicsContext* platformContext = BlackBerry::Platform::Graphics::lockBufferDrawable(textureContents);
- if (!platformContext) {
- destroyBuffer(textureContents);
- return;
- }
-
- AffineTransform transform;
- platformContext->getTransform(reinterpret_cast<double*>(&transform));
- transform.translate(-m_image.width() / 2.0, -m_image.height() / 2.0);
- platformContext->setTransform(reinterpret_cast<double*>(&transform));
-
- FloatRect rect(0, 0, m_image.width(), m_image.height());
- platformContext->addImage(rect, rect, &m_image);
- releaseBufferDrawable(textureContents);
- m_uploadedImage = m_image;
- }
-
- m_texture = LayerTexture::create();
- m_texture->protect(IntSize(), BlackBerry::Platform::Graphics::BackedWhenNecessary);
- m_texture->updateContents(textureContents);
-}
-
-void WebOverlayLayerCompositingThreadClient::drawTextures(LayerCompositingThread* layer, const GLES2Program&, double scale, const FloatRect& /*clipRect*/)
-{
- if (!m_texture || !m_texture->buffer())
- return;
-
- TransformationMatrix matrix = layer->drawTransform();
- if (!m_image.isNull()) {
- if (m_image.size().isEmpty())
- return;
-
- matrix.scaleNonUniform(static_cast<double>(layer->bounds().width()) / m_image.width(), static_cast<double>(layer->bounds().height()) / m_image.height());
- }
- matrix.scale(layer->sizeIsScaleInvariant() ? 1.0 / scale : 1.0);
- blitToBuffer(0, m_texture->buffer(), reinterpret_cast<BlackBerry::Platform::TransformationMatrix&>(matrix),
- BlackBerry::Platform::Graphics::SourceOver, static_cast<unsigned char>(layer->drawOpacity() * 255));
-}
-
-void WebOverlayLayerCompositingThreadClient::deleteTextures(LayerCompositingThread*)
-{
- m_texture.clear();
- clearUploadedContents();
-}
-
-WebOverlayPrivateCompositingThread::WebOverlayPrivateCompositingThread(PassRefPtr<LayerCompositingThread> layerCompositingThread)
- : m_layerCompositingThreadClient(0)
- , m_data(0)
-{
- m_layerCompositingThread = layerCompositingThread;
-}
-
-WebOverlayPrivateCompositingThread::WebOverlayPrivateCompositingThread()
- : m_layerCompositingThreadClient(new WebOverlayLayerCompositingThreadClient(this))
-{
- m_layerCompositingThread = LayerCompositingThread::create(LayerData::CustomLayer, m_layerCompositingThreadClient);
-}
-
-WebOverlayPrivateCompositingThread::~WebOverlayPrivateCompositingThread()
-{
- if (m_layerCompositingThreadClient)
- m_layerCompositingThreadClient->overlayDestroyed();
-}
-
-FloatPoint WebOverlayPrivateCompositingThread::position() const
-{
- return m_layerCompositingThread->position();
-}
-
-void WebOverlayPrivateCompositingThread::setPosition(const FloatPoint& position)
-{
- m_layerCompositingThread->setPosition(position);
- scheduleCompositingRun();
-}
-
-FloatPoint WebOverlayPrivateCompositingThread::anchorPoint() const
-{
- return m_layerCompositingThread->anchorPoint();
-}
-
-void WebOverlayPrivateCompositingThread::setAnchorPoint(const FloatPoint& anchor)
-{
- m_layerCompositingThread->setAnchorPoint(anchor);
- scheduleCompositingRun();
-}
-
-FloatSize WebOverlayPrivateCompositingThread::size() const
-{
- IntSize bounds = m_layerCompositingThread->bounds();
- return FloatSize(bounds.width(), bounds.height());
-}
-
-void WebOverlayPrivateCompositingThread::setSize(const FloatSize& size)
-{
- m_layerCompositingThread->setBounds(IntSize(size.width(), size.height()));
- scheduleCompositingRun();
-}
-
-bool WebOverlayPrivateCompositingThread::sizeIsScaleInvariant() const
-{
- return m_layerCompositingThread->sizeIsScaleInvariant();
-}
-
-void WebOverlayPrivateCompositingThread::setSizeIsScaleInvariant(bool invariant)
-{
- m_layerCompositingThread->setSizeIsScaleInvariant(invariant);
- scheduleCompositingRun();
-}
-
-TransformationMatrix WebOverlayPrivateCompositingThread::transform() const
-{
- return m_layerCompositingThread->transform();
-}
-
-void WebOverlayPrivateCompositingThread::setTransform(const TransformationMatrix& transform)
-{
- m_layerCompositingThread->setTransform(transform);
- scheduleCompositingRun();
-}
-
-float WebOverlayPrivateCompositingThread::opacity() const
-{
- return m_layerCompositingThread->opacity();
-}
-
-void WebOverlayPrivateCompositingThread::setOpacity(float opacity)
-{
- m_layerCompositingThread->setOpacity(opacity);
- scheduleCompositingRun();
-}
-
-void WebOverlayPrivateCompositingThread::addAnimation(const String& name, Animation* animation, const KeyframeValueList& keyframes)
-{
- IntSize boxSize = m_layerCompositingThread->bounds();
- RefPtr<LayerAnimation> layerAnimation = LayerAnimation::create(keyframes, boxSize, animation, name, 0.0);
-
- // FIXME: Unfortunately WebPageCompositorClient::requestAnimationFrame uses a different time coordinate system
- // than accelerated animations, so we can't use the time returned by WebPageCompositorClient::requestAnimationFrame()
- // for starttime.
- layerAnimation->setStartTime(currentTime());
-
- m_layerCompositingThread->addAnimation(layerAnimation.get());
- scheduleCompositingRun();
-}
-
-void WebOverlayPrivateCompositingThread::removeAnimation(const String& name)
-{
- m_layerCompositingThread->removeAnimation(name);
- scheduleCompositingRun();
-}
-
-Platform::IntRect WebOverlayPrivateCompositingThread::pixelViewportRect() const
-{
- if (LayerRenderer* renderer = m_layerCompositingThread->layerRenderer())
- return renderer->toPixelViewportCoordinates(m_layerCompositingThread->boundingBox());
-
- return Platform::IntRect();
-}
-
-void WebOverlayPrivateCompositingThread::addChild(WebOverlayPrivate* overlay)
-{
- m_layerCompositingThread->addSublayer(overlay->layerCompositingThread());
- scheduleCompositingRun();
-}
-
-void WebOverlayPrivateCompositingThread::removeFromParent()
-{
- if (page() && m_layerCompositingThread->superlayer() == page()->compositor()->compositingThreadOverlayLayer())
- page()->m_webPage->removeCompositingThreadOverlay(q);
- else
- m_layerCompositingThread->removeFromSuperlayer();
- scheduleCompositingRun();
-}
-
-void WebOverlayPrivateCompositingThread::setContentsToImage(const unsigned char* data, const IntSize& imageSize, WebOverlay::ImageDataAdoptionType)
-{
- if (!m_layerCompositingThreadClient)
- return;
-
- if (data == m_data)
- return;
-
- m_data = data;
-
- BlackBerry::Platform::Graphics::TiledImage image = BlackBerry::Platform::Graphics::TiledImage(imageSize, reinterpret_cast_ptr<const unsigned*>(data), true, BlackBerry::Platform::Graphics::TiledImage::Hardware);
-
- m_layerCompositingThreadClient->setContentsToImage(image);
- m_layerCompositingThread->setNeedsTexture(true);
-}
-
-void WebOverlayPrivateCompositingThread::setContentsToColor(const Color& color)
-{
- if (!m_layerCompositingThreadClient)
- return;
-
- m_layerCompositingThreadClient->setContentsToColor(color);
- m_layerCompositingThread->setNeedsTexture(true);
-}
-
-void WebOverlayPrivateCompositingThread::setDrawsContent(bool drawsContent)
-{
- if (!m_layerCompositingThreadClient)
- return;
-
- m_layerCompositingThreadClient->setDrawsContent(drawsContent);
- m_layerCompositingThread->setNeedsTexture(true);
-}
-
-void WebOverlayPrivateCompositingThread::clear()
-{
- m_layerCompositingThread->deleteTextures();
-}
-
-void WebOverlayPrivateCompositingThread::invalidate()
-{
- if (!m_layerCompositingThreadClient || !m_layerCompositingThreadClient->drawsContent())
- return;
-
- m_layerCompositingThreadClient->invalidate();
- scheduleCompositingRun();
-}
-
-void WebOverlayPrivateCompositingThread::resetOverrides()
-{
- m_layerCompositingThread->clearOverride();
- scheduleCompositingRun();
-}
-
-}
-}
-#else // USE(ACCELERATED_COMPOSITING)
-namespace BlackBerry {
-namespace WebKit {
-
-WebOverlay::WebOverlay()
-{
-}
-
-WebOverlay::~WebOverlay()
-{
-}
-
-Platform::FloatPoint WebOverlay::position() const
-{
- return Platform::FloatPoint();
-}
-
-void WebOverlay::setPosition(const Platform::FloatPoint&)
-{
-}
-
-Platform::FloatPoint WebOverlay::anchorPoint() const
-{
- return Platform::FloatPoint();
-}
-
-void WebOverlay::setAnchorPoint(const Platform::FloatPoint&)
-{
-}
-
-Platform::FloatSize WebOverlay::size() const
-{
- return Platform::FloatSize();
-}
-
-void WebOverlay::setSize(const Platform::FloatSize&)
-{
-}
-
-Platform::TransformationMatrix WebOverlay::transform() const
-{
- return Platform::TransformationMatrix();
-}
-
-void WebOverlay::setTransform(const Platform::TransformationMatrix&)
-{
-}
-
-float WebOverlay::opacity() const
-{
- return 1.0f;
-}
-
-void WebOverlay::setOpacity(float)
-{
-}
-
-Platform::IntRect WebOverlay::pixelViewportRect() const
-{
- return Platform::IntRect();
-}
-
-WebOverlay* WebOverlay::parent() const
-{
- return 0;
-}
-
-bool WebOverlay::addChild(WebOverlay*)
-{
- return false;
-}
-
-void WebOverlay::removeFromParent()
-{
-}
-
-void WebOverlay::addAnimation(const WebAnimation&)
-{
-}
-
-void WebOverlay::removeAnimation(const BlackBerry::Platform::String&)
-{
-}
-
-void WebOverlay::setContentsToImage(const unsigned char*, const Platform::IntSize&, ImageDataAdoptionType)
-{
-}
-
-void WebOverlay::setContentsToColor(int, int, int, int)
-{
-}
-
-void WebOverlay::setDrawsContent(bool)
-{
-}
-
-void WebOverlay::invalidate()
-{
-}
-
-void WebOverlay::setClient(WebOverlayClient*)
-{
-}
-
-WebOverlayOverride* WebOverlay::override()
-{
-}
-
-void WebOverlay::resetOverrides()
-{
-}
-
-}
-}
-#endif // USE(ACCELERATED_COMPOSITING)
diff --git a/Source/WebKit/blackberry/Api/WebOverlay.h b/Source/WebKit/blackberry/Api/WebOverlay.h
deleted file mode 100644
index 83d9e0a7a..000000000
--- a/Source/WebKit/blackberry/Api/WebOverlay.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. 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
- * 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 WebOverlay_h
-#define WebOverlay_h
-
-#include "BlackBerryGlobal.h"
-#include "WebOverlayOverride.h"
-
-#include <BlackBerryPlatformPrimitives.h>
-
-namespace WebCore {
-class GraphicsLayerClient;
-}
-
-namespace BlackBerry {
-namespace Platform {
-class String;
-}
-
-namespace WebKit {
-
-class WebAnimation;
-class WebOverlayClient;
-class WebOverlayOverride;
-class WebOverlayPrivate;
-class WebPage;
-
-/**
- * Represents an overlay that is rendered superimposed on a web page.
- *
- * The WebOverlay is not thread safe, but it is reentrant when used on either
- * the WebKit or the compositing thread. This means that overlays can be
- * on either of these threads, but each instance must only be used on the
- * thread where it was created. The only exception is the override mechanism.
- *
- * Note that WebKit thread usage of WebOverlay is obsolete and will be removed
- * soon.
- *
- * The WebOverlayOverride object returned by WebOverlay::override() can be used
- * to override the values of specific properties from the UI thread.
- *
- * They have the following semantics: If they are called for a specific overlay
- * on the UI thread, the value set will override any value set on the WK thread
- * until you call resetOverrides(). resetOverrides() is thread safe.
- */
-class BLACKBERRY_EXPORT WebOverlay {
-public:
- enum ImageDataAdoptionType {
- ReferenceImageData,
- CopyImageData
- };
-
- WebOverlay();
- WebOverlay(WebCore::GraphicsLayerClient*);
- virtual ~WebOverlay();
-
- // The position of the layer (the location of its top-left corner in its parent).
- Platform::FloatPoint position() const;
- void setPosition(const Platform::FloatPoint&);
-
- // Anchor point: (0, 0) is top left, (1, 1) is bottom right. The anchor point
- // affects the origin of the transforms.
- Platform::FloatPoint anchorPoint() const;
- void setAnchorPoint(const Platform::FloatPoint&);
-
- // The size of the layer.
- Platform::FloatSize size() const;
- void setSize(const Platform::FloatSize&);
-
- // Whether the layer is scaled together with the web page.
- bool sizeIsScaleInvariant() const;
- void setSizeIsScaleInvariant(bool);
-
- // Transform can be used to rotate the layer, among other things.
- Platform::TransformationMatrix transform() const;
- void setTransform(const Platform::TransformationMatrix&);
-
- // Opacity. Can also be used to temporarily hide a layer.
- float opacity() const;
- void setOpacity(float);
-
- // Adds/removes an animation
- // Note that WebAnimation and BlackBerry::Platform::String are not thread safe and have to be
- // created on the thread where they'll be used.
- void addAnimation(const WebAnimation&);
- void removeAnimation(const BlackBerry::Platform::String& name);
-
- // Returns the rectangle occupied by this overlay, in pixels, relative to the current viewport
- // Can be used for hit testing (noting though, that the overlay may have transparent pixels that
- // cause it not to occupy the whole rectangle, for example when the overlay draws an image with
- // alpha channel). Not implemented for WebKit-thread overlays.
- Platform::IntRect pixelViewportRect() const;
-
- WebOverlay* parent() const;
- bool addChild(WebOverlay*);
- void removeFromParent();
-
- void setContentsToImage(const unsigned char* data, const Platform::IntSize& imageSize, ImageDataAdoptionType = ReferenceImageData);
- void setContentsToColor(int r, int g, int b, int a);
- void setDrawsContent(bool);
-
- // Will result in a future call to WebOverlayClient::drawContents, if the layer draws custom contents.
- void invalidate();
-
- // The client can be used to draw layer contents.
- void setClient(WebOverlayClient*);
-
- // Must be called on UI thread.
- WebOverlayOverride* override();
-
- /**
- * Thread safe. Next time the attributes are changed on the WK thread, make
- * those values override any set on the UI thread.
- */
- void resetOverrides();
-
-private:
- friend class WebPage;
- friend class WebOverlayPrivate;
-
- // Disable copy constructor and operator=.
- WebOverlay(const WebOverlay&);
- WebOverlay& operator=(const WebOverlay&);
-
- WebOverlayPrivate* d;
-};
-
-}
-}
-
-#endif // WebOverlay_h
diff --git a/Source/WebKit/blackberry/Api/WebOverlayClient.h b/Source/WebKit/blackberry/Api/WebOverlayClient.h
deleted file mode 100644
index 82d9c9bd2..000000000
--- a/Source/WebKit/blackberry/Api/WebOverlayClient.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 WebOverlayClient_h
-#define WebOverlayClient_h
-
-#include "BlackBerryGlobal.h"
-#include <BlackBerryPlatformGraphics.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebOverlay;
-
-/**
- */
-class BLACKBERRY_EXPORT WebOverlayClient {
-public:
- virtual ~WebOverlayClient() { }
-
- virtual void drawOverlayContents(WebOverlay*, BlackBerry::Platform::Graphics::Drawable*) = 0;
-};
-
-}
-}
-
-#endif // WebOverlayClient_h
diff --git a/Source/WebKit/blackberry/Api/WebOverlayOverride.cpp b/Source/WebKit/blackberry/Api/WebOverlayOverride.cpp
deleted file mode 100644
index 1ba603684..000000000
--- a/Source/WebKit/blackberry/Api/WebOverlayOverride.cpp
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "WebOverlayOverride.h"
-
-#if USE(ACCELERATED_COMPOSITING)
-#include "WebAnimation.h"
-#include "WebAnimation_p.h"
-#include "WebOverlay_p.h"
-
-#include <BlackBerryPlatformMessageClient.h>
-#include <BlackBerryPlatformString.h>
-#include <wtf/CurrentTime.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-using namespace WebCore;
-
-WebOverlayOverride::WebOverlayOverride(WebOverlayPrivate* d)
- : d(d)
-{
-}
-
-WebOverlayOverride::~WebOverlayOverride()
-{
-}
-
-void WebOverlayOverride::setPosition(const Platform::FloatPoint& position)
-{
- d->layerCompositingThread()->override()->setPosition(position);
- d->scheduleCompositingRun();
-}
-
-void WebOverlayOverride::setAnchorPoint(const Platform::FloatPoint& anchor)
-{
- d->layerCompositingThread()->override()->setAnchorPoint(anchor);
- d->scheduleCompositingRun();
-}
-
-void WebOverlayOverride::setSize(const Platform::FloatSize& size)
-{
- d->layerCompositingThread()->override()->setBounds(IntSize(size.width(), size.height()));
- d->scheduleCompositingRun();
-}
-
-void WebOverlayOverride::setTransform(const Platform::TransformationMatrix& transform)
-{
- d->layerCompositingThread()->override()->setTransform(reinterpret_cast<const TransformationMatrix&>(transform));
- d->scheduleCompositingRun();
-}
-
-void WebOverlayOverride::setOpacity(float opacity)
-{
- d->layerCompositingThread()->override()->setOpacity(opacity);
- d->scheduleCompositingRun();
-}
-
-void WebOverlayOverride::addAnimation(const WebAnimation& animation)
-{
- LayerCompositingThread* layerCompositingThread = d->layerCompositingThread();
- LayerOverride* override = layerCompositingThread->override();
-
- IntSize boxSize = override->isBoundsSet() ? override->bounds() : layerCompositingThread->bounds();
- RefPtr<LayerAnimation> layerAnimation = LayerAnimation::create(animation.d->keyframes, boxSize, animation.d->animation.get(), animation.d->name, 0.0);
- layerAnimation->setStartTime(currentTime());
-
- override->addAnimation(layerAnimation);
- d->scheduleCompositingRun();
-}
-
-void WebOverlayOverride::removeAnimation(const BlackBerry::Platform::String& name)
-{
- d->layerCompositingThread()->override()->removeAnimation(name);
- d->scheduleCompositingRun();
-}
-
-}
-}
-#else // USE(ACCELERATED_COMPOSITING)
-namespace BlackBerry {
-namespace WebKit {
-
-WebOverlayOverride::WebOverlayOverride(WebOverlayPrivate*, bool)
-{
-}
-
-WebOverlayOverride::~WebOverlayOverride()
-{
-}
-
-void WebOverlayOverride::setPosition(const Platform::FloatPoint&)
-{
-}
-
-void WebOverlayOverride::setAnchorPoint(const Platform::FloatPoint&)
-{
-}
-
-void WebOverlayOverride::setSize(const Platform::FloatSize&)
-{
-}
-
-void WebOverlayOverride::setTransform(const Platform::TransformationMatrix&)
-{
-}
-
-void WebOverlayOverride::setOpacity(float)
-{
-}
-
-void WebOverlayOverride::addAnimation(const WebAnimation&)
-{
-}
-
-void WebOverlayOverride::removeAnimation(const BlackBerry::Platform::String&)
-{
-}
-
-}
-}
-#endif // USE(ACCELERATED_COMPOSITING)
diff --git a/Source/WebKit/blackberry/Api/WebOverlayOverride.h b/Source/WebKit/blackberry/Api/WebOverlayOverride.h
deleted file mode 100644
index adfc12bb1..000000000
--- a/Source/WebKit/blackberry/Api/WebOverlayOverride.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 WebOverlayOverride_h
-#define WebOverlayOverride_h
-
-#include "BlackBerryGlobal.h"
-
-#include <BlackBerryPlatformPrimitives.h>
-
-namespace BlackBerry {
-namespace Platform {
-class String;
-}
-
-namespace WebKit {
-
-class WebAnimation;
-class WebOverlayPrivate;
-
-/**
- * Compositing thread only
- *
- * Note that the WebAnimation class is not thread safe, but
- * reentrant, and have to be created on the thread where they'll be used.
- */
-class BLACKBERRY_EXPORT WebOverlayOverride {
-public:
- // Don't use this, call WebOverlay::override() instead
- WebOverlayOverride(WebOverlayPrivate*);
- ~WebOverlayOverride();
-
- void setPosition(const Platform::FloatPoint&);
- void setAnchorPoint(const Platform::FloatPoint&);
- void setSize(const Platform::FloatSize&);
- void setTransform(const Platform::TransformationMatrix&);
- void setOpacity(float);
-
- void addAnimation(const WebAnimation&);
- void removeAnimation(const BlackBerry::Platform::String& name);
-
-private:
- friend class WebOverlayPrivate;
-
- // Disable copy constructor and operator=
- WebOverlayOverride(const WebOverlayOverride&);
- WebOverlayOverride& operator=(const WebOverlayOverride&);
-
- WebOverlayPrivate* d;
- bool m_owned;
-};
-
-}
-}
-
-#endif // WebOverlayOverride_h
diff --git a/Source/WebKit/blackberry/Api/WebOverlay_p.h b/Source/WebKit/blackberry/Api/WebOverlay_p.h
deleted file mode 100644
index 397b71028..000000000
--- a/Source/WebKit/blackberry/Api/WebOverlay_p.h
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. 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
- * 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 WebOverlay_p_h
-#define WebOverlay_p_h
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "GraphicsLayer.h"
-#include "LayerCompositingThread.h"
-#include "LayerTexture.h"
-#include "WebOverlay.h"
-#include "WebOverlayOverride.h"
-
-#include <TiledImage.h>
-#include <pthread.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/RefPtr.h>
-
-namespace WTF {
-class String;
-}
-
-namespace WebCore {
-class Animation;
-class KeyframeValueList;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebOverlayClient;
-class WebPagePrivate;
-
-class WebOverlayPrivate {
-public:
- WebOverlayPrivate()
- : q(0)
- , parent(0)
- , m_page(0)
- {
- nativeThread = pthread_self();
- }
-
- virtual ~WebOverlayPrivate()
- {
- ASSERT(pthread_self() == nativeThread);
- }
-
- WebPagePrivate* page() const;
- void setPage(WebPagePrivate* page) { m_page = page; }
-
- void setClient(WebOverlayClient* c) { client = c; }
-
- WebOverlayOverride* override();
-
- virtual WebCore::FloatPoint position() const = 0;
- virtual void setPosition(const WebCore::FloatPoint&) = 0;
-
- virtual WebCore::FloatPoint anchorPoint() const = 0;
- virtual void setAnchorPoint(const WebCore::FloatPoint&) = 0;
-
- virtual WebCore::FloatSize size() const = 0;
- virtual void setSize(const WebCore::FloatSize&) = 0;
-
- virtual bool sizeIsScaleInvariant() const = 0;
- virtual void setSizeIsScaleInvariant(bool) = 0;
-
- virtual WebCore::TransformationMatrix transform() const = 0;
- virtual void setTransform(const WebCore::TransformationMatrix&) = 0;
-
- virtual float opacity() const = 0;
- virtual void setOpacity(float) = 0;
-
- virtual void addAnimation(const WTF::String& name, WebCore::Animation*, const WebCore::KeyframeValueList&) = 0;
- virtual void removeAnimation(const WTF::String&) = 0;
-
- virtual Platform::IntRect pixelViewportRect() const = 0;
-
- virtual void addChild(WebOverlayPrivate*) = 0;
- virtual void removeFromParent() = 0;
-
- virtual void setContentsToImage(const unsigned char* data, const WebCore::IntSize& imageSize, WebOverlay::ImageDataAdoptionType) = 0;
- virtual void setContentsToColor(const WebCore::Color&) = 0;
- virtual void setDrawsContent(bool) = 0;
-
- virtual void clear() = 0;
- virtual void invalidate() = 0;
- void drawContents(Platform::Graphics::Drawable*);
-
- virtual void resetOverrides() = 0;
-
- void scheduleCompositingRun();
-
- // Never 0
- WebCore::LayerCompositingThread* layerCompositingThread() const { return m_layerCompositingThread.get(); }
-
- // Can be 0
- virtual WebCore::GraphicsLayer* graphicsLayer() const { return 0; }
-
- WebOverlay* q;
- WebOverlayClient* client;
- WebOverlay* parent;
- pthread_t nativeThread;
-
-protected:
- RefPtr<WebCore::LayerCompositingThread> m_layerCompositingThread;
- OwnPtr<WebOverlayOverride> m_override;
- WebPagePrivate* m_page;
-};
-
-class WebOverlayPrivateWebKitThread : public WebOverlayPrivate, public WebCore::GraphicsLayerClient {
-public:
- WebOverlayPrivateWebKitThread(WebCore::GraphicsLayerClient* = 0);
-
- virtual WebCore::FloatPoint position() const;
- virtual void setPosition(const WebCore::FloatPoint&);
-
- virtual WebCore::FloatPoint anchorPoint() const;
- virtual void setAnchorPoint(const WebCore::FloatPoint&);
-
- virtual WebCore::FloatSize size() const;
- virtual void setSize(const WebCore::FloatSize&);
-
- virtual bool sizeIsScaleInvariant() const;
- virtual void setSizeIsScaleInvariant(bool);
-
- virtual WebCore::TransformationMatrix transform() const;
- virtual void setTransform(const WebCore::TransformationMatrix&);
-
- virtual float opacity() const;
- virtual void setOpacity(float);
-
- virtual void addAnimation(const WTF::String& name, WebCore::Animation*, const WebCore::KeyframeValueList&);
- virtual void removeAnimation(const WTF::String& name);
-
- virtual Platform::IntRect pixelViewportRect() const;
-
- virtual void addChild(WebOverlayPrivate*);
- virtual void removeFromParent();
-
- virtual void setContentsToImage(const unsigned char* data, const WebCore::IntSize& imageSize, WebOverlay::ImageDataAdoptionType);
- virtual void setContentsToColor(const WebCore::Color&);
- virtual void setDrawsContent(bool);
-
- virtual void clear();
- virtual void invalidate();
-
- virtual void resetOverrides();
-
- virtual WebCore::GraphicsLayer* graphicsLayer() const { return m_layer.get(); }
-
- // GraphicsLayerClient
- virtual void notifyAnimationStarted(const WebCore::GraphicsLayer*, double) { }
- virtual void notifyFlushRequired(const WebCore::GraphicsLayer*);
- virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect&);
-
-private:
- OwnPtr<WebCore::GraphicsLayer> m_layer;
-};
-
-// The LayerCompositingThreadClient's life cycle is tied to the LayerCompositingThread,
-// so it needs to be a separate object from the WebOverlayPrivateCompositingThread.
-class WebOverlayLayerCompositingThreadClient : public WebCore::LayerCompositingThreadClient {
-public:
- WebOverlayLayerCompositingThreadClient(WebOverlayPrivate*);
- virtual ~WebOverlayLayerCompositingThreadClient() { }
-
- WebOverlayPrivate* overlay() const { return m_overlay; }
- void overlayDestroyed() { m_overlay = 0; }
-
- bool drawsContent() const { return m_drawsContent; }
- void setDrawsContent(bool);
- void invalidate();
-
- void setContentsToImage(const BlackBerry::Platform::Graphics::TiledImage&);
- void setContentsToColor(const WebCore::Color&);
-
- const BlackBerry::Platform::Graphics::TiledImage& image() const { return m_image; }
-
- // LayerCompositingThreadClient
- virtual void layerCompositingThreadDestroyed(WebCore::LayerCompositingThread*);
- virtual void layerVisibilityChanged(WebCore::LayerCompositingThread*, bool visible);
- virtual void uploadTexturesIfNeeded(WebCore::LayerCompositingThread*);
- virtual void drawTextures(WebCore::LayerCompositingThread*, const Platform::Graphics::GLES2Program&, double scale, const WebCore::FloatRect& clipRect);
- virtual void deleteTextures(WebCore::LayerCompositingThread*);
-
-private:
- void clearUploadedContents();
-
-private:
- bool m_drawsContent;
- RefPtr<WebCore::LayerTexture> m_texture;
- BlackBerry::Platform::Graphics::TiledImage m_image;
- BlackBerry::Platform::Graphics::TiledImage m_uploadedImage;
- WebCore::Color m_color;
- WebOverlayPrivate* m_overlay;
-};
-
-class WebOverlayPrivateCompositingThread : public WebOverlayPrivate {
-public:
- WebOverlayPrivateCompositingThread(PassRefPtr<WebCore::LayerCompositingThread>);
- WebOverlayPrivateCompositingThread();
- ~WebOverlayPrivateCompositingThread();
-
- virtual WebCore::FloatPoint position() const;
- virtual void setPosition(const WebCore::FloatPoint&);
-
- virtual WebCore::FloatPoint anchorPoint() const;
- virtual void setAnchorPoint(const WebCore::FloatPoint&);
-
- virtual WebCore::FloatSize size() const;
- virtual void setSize(const WebCore::FloatSize&);
-
- virtual bool sizeIsScaleInvariant() const;
- virtual void setSizeIsScaleInvariant(bool);
-
- virtual WebCore::TransformationMatrix transform() const;
- virtual void setTransform(const WebCore::TransformationMatrix&);
-
- virtual float opacity() const;
- virtual void setOpacity(float);
-
- virtual void addAnimation(const WTF::String& name, WebCore::Animation*, const WebCore::KeyframeValueList&);
- virtual void removeAnimation(const WTF::String& name);
-
- virtual Platform::IntRect pixelViewportRect() const;
-
- virtual void addChild(WebOverlayPrivate*);
- virtual void removeFromParent();
-
- virtual void setContentsToImage(const unsigned char* data, const WebCore::IntSize& imageSize, WebOverlay::ImageDataAdoptionType);
- virtual void setContentsToColor(const WebCore::Color&);
- virtual void setDrawsContent(bool);
-
- virtual void clear();
- virtual void invalidate();
-
- virtual void resetOverrides();
-
-private:
- WebOverlayLayerCompositingThreadClient* m_layerCompositingThreadClient;
- const unsigned char* m_data;
-};
-
-}
-}
-
-#endif // USE(ACCELERATED_COMPOSITING)
-
-#endif // WebOverlay_p_h
diff --git a/Source/WebKit/blackberry/Api/WebPage.cpp b/Source/WebKit/blackberry/Api/WebPage.cpp
deleted file mode 100644
index 08af55b11..000000000
--- a/Source/WebKit/blackberry/Api/WebPage.cpp
+++ /dev/null
@@ -1,6316 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 "WebPage.h"
-
-#include "APIShims.h"
-#include "ApplicationCacheStorage.h"
-#include "AuthenticationChallengeManager.h"
-#include "AutofillManager.h"
-#include "BackForwardController.h"
-#include "BackForwardListBlackBerry.h"
-#include "BackingStoreClient.h"
-#include "BackingStore_p.h"
-#if ENABLE(BATTERY_STATUS)
-#include "BatteryClientBlackBerry.h"
-#endif
-#include "CachedImage.h"
-#include "Chrome.h"
-#include "ChromeClientBlackBerry.h"
-#include "CookieManager.h"
-#include "CredentialManager.h"
-#include "CredentialStorage.h"
-#include "CredentialTransformData.h"
-#include "DOMSupport.h"
-#include "DatabaseManager.h"
-#include "DefaultTapHighlight.h"
-#include "DeviceMotionClientBlackBerry.h"
-#include "DeviceOrientationClientBlackBerry.h"
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
-#include "DeviceOrientationClientMock.h"
-#endif
-#include "DragClientBlackBerry.h"
-// FIXME: We should be using DumpRenderTreeClient, but I'm not sure where we should
-// create the DRT_BB object. See PR #120355.
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
-#include "DumpRenderTreeBlackBerry.h"
-#endif
-#include "EditorClientBlackBerry.h"
-#include "FocusController.h"
-#include "Frame.h"
-#include "FrameLoadRequest.h"
-#include "FrameLoaderClientBlackBerry.h"
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
-#include "GeolocationClientMock.h"
-#endif
-#include "GeolocationClientBlackBerry.h"
-#include "GroupSettings.h"
-#include "HTMLAreaElement.h"
-#include "HTMLFrameOwnerElement.h"
-#include "HTMLImageElement.h"
-#include "HTMLInputElement.h"
-#include "HTMLMediaElement.h"
-#include "HTMLNames.h"
-#include "HTMLParserIdioms.h"
-#include "HTMLTextAreaElement.h"
-#include "HTTPParsers.h"
-#include "HistoryItem.h"
-#include "IconDatabaseClientBlackBerry.h"
-#include "ImageDocument.h"
-#include "InPageSearchManager.h"
-#include "InRegionScrollableArea.h"
-#include "InRegionScroller_p.h"
-#include "InputHandler.h"
-#include "InspectorBackendDispatcher.h"
-#include "InspectorClientBlackBerry.h"
-#include "InspectorController.h"
-#include "InspectorInstrumentation.h"
-#include "InspectorOverlay.h"
-#include "JavaScriptVariant_p.h"
-#include "LayerWebKitThread.h"
-#include "LocalFileSystem.h"
-#if ENABLE(NETWORK_INFO)
-#include "NetworkInfoClientBlackBerry.h"
-#endif
-#include "NetworkManager.h"
-#include "NodeRenderStyle.h"
-#include "NodeTraversal.h"
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
-#include "NavigatorContentUtilsClientBlackBerry.h"
-#endif
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#include "NotificationClientBlackBerry.h"
-#endif
-#include "Page.h"
-#include "PageCache.h"
-#include "PageGroup.h"
-#include "PagePopup.h"
-#include "PagePopupClient.h"
-#include "PlatformTouchEvent.h"
-#include "PlatformWheelEvent.h"
-#include "PluginDatabase.h"
-#include "PluginView.h"
-#include "RenderLayerBacking.h"
-#include "RenderLayerCompositor.h"
-#if ENABLE(FULLSCREEN_API)
-#include "RenderFullScreen.h"
-#endif
-#include "RenderText.h"
-#include "RenderThemeBlackBerry.h"
-#include "RenderTreeAsText.h"
-#include "RenderView.h"
-#include "RenderWidget.h"
-#include "ScriptController.h"
-#include "ScriptSourceCode.h"
-#include "ScriptValue.h"
-#include "ScrollTypes.h"
-#include "SecurityPolicy.h"
-#include "SelectionHandler.h"
-#include "SelectionOverlay.h"
-#include "Settings.h"
-#include "Storage.h"
-#include "StorageNamespace.h"
-#include "SurfacePool.h"
-#include "Text.h"
-#include "ThreadCheck.h"
-#include "TouchEventHandler.h"
-#include "TransformationMatrix.h"
-#if ENABLE(MEDIA_STREAM)
-#include "UserMediaClientImpl.h"
-#endif
-#if ENABLE(VIBRATION)
-#include "VibrationClientBlackBerry.h"
-#endif
-#include "VisiblePosition.h"
-#include "WebCookieJar.h"
-#include "WebKitThreadViewportAccessor.h"
-#include "WebKitVersion.h"
-#include "WebOverlay.h"
-#include "WebOverlay_p.h"
-#include "WebPageClient.h"
-#include "WebSocket.h"
-#include "WebViewportArguments.h"
-#include "npapi.h"
-#include "runtime_root.h"
-
-#if ENABLE(VIDEO)
-#include "MediaPlayer.h"
-#include "MediaPlayerPrivateBlackBerry.h"
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
-#include "FrameLayers.h"
-#include "WebPageCompositorClient.h"
-#include "WebPageCompositor_p.h"
-#endif
-
-#include <BlackBerryPlatformDeviceInfo.h>
-#include <BlackBerryPlatformExecutableMessage.h>
-#include <BlackBerryPlatformKeyboardEvent.h>
-#include <BlackBerryPlatformMessageClient.h>
-#include <BlackBerryPlatformMouseEvent.h>
-#include <BlackBerryPlatformScreen.h>
-#include <BlackBerryPlatformSettings.h>
-#include <BlackBerryPlatformWebFileSystem.h>
-#include <JavaScriptCore/APICast.h>
-#include <JavaScriptCore/JSContextRef.h>
-#include <JavaScriptCore/JSStringRef.h>
-#include <SharedPointer.h>
-#include <cmath>
-#include <sys/keycodes.h>
-#include <unicode/ustring.h> // platform ICU
-
-#include <wtf/text/CString.h>
-
-#ifndef USER_PROCESSES
-#include <memalloc.h>
-#endif
-
-#if ENABLE(REQUEST_ANIMATION_FRAME)
-#include "PlatformScreen.h"
-#endif
-
-#define DEBUG_TOUCH_EVENTS 0
-#define DEBUG_WEBPAGE_LOAD 0
-#define DEBUG_AC_COMMIT 0
-
-using namespace std;
-using namespace WebCore;
-
-typedef const unsigned short* CUShortPtr;
-
-namespace BlackBerry {
-namespace WebKit {
-
-static Vector<WebPage*>* visibleWebPages()
-{
- static Vector<WebPage*>* s_visibleWebPages = 0; // Initially, no web page is visible.
- if (!s_visibleWebPages)
- s_visibleWebPages = new Vector<WebPage*>;
- return s_visibleWebPages;
-}
-
-const unsigned blockZoomMargin = 3; // Add 3 pixel margin on each side.
-static int blockClickRadius = 0;
-static double maximumBlockZoomScale = 3; // This scale can be clamped by the maximumScale set for the page.
-
-const double manualScrollInterval = 0.1; // The time interval during which we associate user action with scrolling.
-
-const IntSize minimumLayoutSize(10, 10); // Needs to be a small size, greater than 0, that we can grow the layout from.
-
-const double minimumExpandingRatio = 0.15;
-
-const double minimumZoomToFitScale = 0.25;
-const double maximumImageDocumentZoomToFitScale = 2;
-
-// Helper function to parse a URL and fill in missing parts.
-static KURL parseUrl(const String& url)
-{
- String urlString(url);
- KURL kurl = KURL(KURL(), urlString);
- if (kurl.protocol().isEmpty()) {
- urlString.insert("http://", 0);
- kurl = KURL(KURL(), urlString);
- }
-
- return kurl;
-}
-
-// Helper functions to convert to and from WebCore types.
-static inline WebCore::PlatformEvent::Type toWebCoreMouseEventType(const BlackBerry::Platform::MouseEvent::Type type)
-{
- switch (type) {
- case BlackBerry::Platform::MouseEvent::MouseButtonDown:
- return WebCore::PlatformEvent::MousePressed;
- case Platform::MouseEvent::MouseButtonUp:
- return WebCore::PlatformEvent::MouseReleased;
- case Platform::MouseEvent::MouseMove:
- default:
- return WebCore::PlatformEvent::MouseMoved;
- }
-}
-
-static inline ResourceRequestCachePolicy toWebCoreCachePolicy(Platform::NetworkRequest::CachePolicy policy)
-{
- switch (policy) {
- case Platform::NetworkRequest::UseProtocolCachePolicy:
- return UseProtocolCachePolicy;
- case Platform::NetworkRequest::ReloadIgnoringCacheData:
- return ReloadIgnoringCacheData;
- case Platform::NetworkRequest::ReturnCacheDataElseLoad:
- return ReturnCacheDataElseLoad;
- case Platform::NetworkRequest::ReturnCacheDataDontLoad:
- return ReturnCacheDataDontLoad;
- default:
- ASSERT_NOT_REACHED();
- return UseProtocolCachePolicy;
- }
-}
-
-#if ENABLE(EVENT_MODE_METATAGS)
-static inline Platform::CursorEventMode toPlatformCursorEventMode(CursorEventMode mode)
-{
- switch (mode) {
- case ProcessedCursorEvents:
- return Platform::ProcessedCursorEvents;
- case NativeCursorEvents:
- return Platform::NativeCursorEvents;
- default:
- ASSERT_NOT_REACHED();
- return Platform::ProcessedCursorEvents;
- }
-}
-
-static inline Platform::TouchEventMode toPlatformTouchEventMode(TouchEventMode mode)
-{
- switch (mode) {
- case ProcessedTouchEvents:
- return Platform::ProcessedTouchEvents;
- case NativeTouchEvents:
- return Platform::NativeTouchEvents;
- case PureTouchEventsWithMouseConversion:
- return Platform::PureTouchEventsWithMouseConversion;
- default:
- ASSERT_NOT_REACHED();
- return Platform::ProcessedTouchEvents;
- }
-}
-#endif
-
-static inline HistoryItem* historyItemFromBackForwardId(WebPage::BackForwardId id)
-{
- return reinterpret_cast<HistoryItem*>(id);
-}
-
-static inline WebPage::BackForwardId backForwardIdFromHistoryItem(HistoryItem* item)
-{
- return reinterpret_cast<WebPage::BackForwardId>(item);
-}
-
-void WebPage::setUserViewportArguments(const WebViewportArguments& viewportArguments)
-{
- d->m_userViewportArguments = *(viewportArguments.d);
-}
-
-void WebPage::resetUserViewportArguments()
-{
- d->m_userViewportArguments = ViewportArguments();
-}
-
-template <bool WebPagePrivate::* isActive>
-class DeferredTask: public WebPagePrivate::DeferredTaskBase {
-public:
- static void finishOrCancel(WebPagePrivate* webPagePrivate)
- {
- webPagePrivate->*isActive = false;
- }
-protected:
- DeferredTask(WebPagePrivate* webPagePrivate)
- : DeferredTaskBase(webPagePrivate, isActive)
- {
- }
- typedef DeferredTask<isActive> DeferredTaskType;
-};
-
-void WebPage::autofillTextField(const BlackBerry::Platform::String& item)
-{
- if (!d->m_webSettings->isFormAutofillEnabled())
- return;
-
- d->m_autofillManager->autofillTextField(item);
-}
-
-BlackBerry::Platform::String WebPage::renderTreeAsText()
-{
- return externalRepresentation(d->m_mainFrame);
-}
-
-WebPagePrivate::WebPagePrivate(WebPage* webPage, WebPageClient* client, const IntRect& rect)
- : m_webPage(webPage)
- , m_client(client)
- , m_inspectorClient(0)
- , m_page(0) // Initialized by init.
- , m_mainFrame(0) // Initialized by init.
- , m_currentContextNode(0)
- , m_webSettings(0) // Initialized by init.
- , m_cookieJar(0)
- , m_visible(false)
- , m_activationState(ActivationActive)
- , m_shouldResetTilesWhenShown(false)
- , m_shouldZoomToInitialScaleAfterLoadFinished(false)
- , m_userScalable(true)
- , m_userPerformedManualZoom(false)
- , m_userPerformedManualScroll(false)
- , m_contentsSizeChanged(false)
- , m_overflowExceedsContentsSize(false)
- , m_resetVirtualViewportOnCommitted(true)
- , m_shouldUseFixedDesktopMode(false)
- , m_inspectorEnabled(false)
- , m_preventIdleDimmingCount(0)
-#if ENABLE(TOUCH_EVENTS)
- , m_preventDefaultOnTouchStart(false)
-#endif
- , m_nestedLayoutFinishedCount(0)
- , m_actualVisibleWidth(rect.width())
- , m_actualVisibleHeight(rect.height())
- , m_defaultLayoutSize(minimumLayoutSize)
- , m_didRestoreFromPageCache(false)
- , m_viewMode(WebPagePrivate::Desktop) // Default to Desktop mode for PB.
- , m_loadState(WebPagePrivate::None)
- , m_transformationMatrix(new TransformationMatrix())
- , m_backingStore(0) // Initialized by init.
- , m_backingStoreClient(0) // Initialized by init.
- , m_webkitThreadViewportAccessor(new WebKitThreadViewportAccessor(this))
- , m_inPageSearchManager(new InPageSearchManager(this))
- , m_inputHandler(new InputHandler(this))
- , m_selectionHandler(new SelectionHandler(this))
- , m_touchEventHandler(new TouchEventHandler(this))
- , m_proximityDetector(new ProximityDetector(this))
-#if ENABLE(EVENT_MODE_METATAGS)
- , m_cursorEventMode(ProcessedCursorEvents)
- , m_touchEventMode(ProcessedTouchEvents)
-#endif
-#if ENABLE(FULLSCREEN_API) && ENABLE(VIDEO)
- , m_scaleBeforeFullScreen(-1.0)
-#endif
- , m_currentCursor(Platform::CursorNone)
- , m_dumpRenderTree(0) // Lazy initialization.
- , m_initialScale(-1.0)
- , m_minimumScale(-1.0)
- , m_maximumScale(-1.0)
- , m_forceRespectViewportArguments(false)
- , m_anchorInNodeRectRatio(-1, -1)
- , m_currentBlockZoomNode(0)
- , m_currentBlockZoomAdjustedNode(0)
- , m_shouldReflowBlock(false)
- , m_lastUserEventTimestamp(0.0)
- , m_pluginMouseButtonPressed(false)
- , m_pluginMayOpenNewTab(false)
-#if USE(ACCELERATED_COMPOSITING)
- , m_rootLayerCommitTimer(adoptPtr(new Timer<WebPagePrivate>(this, &WebPagePrivate::rootLayerCommitTimerFired)))
- , m_needsOneShotDrawingSynchronization(false)
- , m_needsCommit(false)
- , m_suspendRootLayerCommit(false)
-#endif
- , m_pendingOrientation(-1)
- , m_fullscreenNode(0)
- , m_hasInRegionScrollableAreas(false)
- , m_updateDelegatedOverlaysDispatched(false)
- , m_deferredTasksTimer(this, &WebPagePrivate::deferredTasksTimerFired)
- , m_pagePopup(0)
- , m_autofillManager(AutofillManager::create(this))
- , m_documentStyleRecalcPostponed(false)
- , m_documentChildNeedsStyleRecalc(false)
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- , m_notificationManager(this)
-#endif
- , m_didStartAnimations(false)
- , m_animationStartTime(0)
-#if ENABLE(REQUEST_ANIMATION_FRAME) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
- , m_isRunningRefreshAnimationClient(false)
- , m_animationScheduled(false)
- , m_previousFrameDone(true)
- , m_monotonicAnimationStartTime(0)
-#endif
-{
- static bool isInitialized = false;
- if (!isInitialized) {
- isInitialized = true;
- BlackBerry::Platform::DeviceInfo::instance();
- defaultUserAgent();
- }
-
- AuthenticationChallengeManager::instance()->pageCreated(this);
- clearCachedHitTestResult();
-}
-
-WebPage::WebPage(WebPageClient* client, const BlackBerry::Platform::String& pageGroupName, const Platform::IntRect& rect)
-{
- globalInitialize();
- d = new WebPagePrivate(this, client, rect);
- d->init(pageGroupName);
-}
-
-WebPagePrivate::~WebPagePrivate()
-{
- // Hand the backingstore back to another owner if necessary.
- m_webPage->setVisible(false);
- if (BackingStorePrivate::currentBackingStoreOwner() == m_webPage)
- BackingStorePrivate::setCurrentBackingStoreOwner(0);
-
-#if ENABLE(REQUEST_ANIMATION_FRAME) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
- stopRefreshAnimationClient();
- cancelCallOnMainThread(handleServiceScriptedAnimationsOnMainThread, this);
-#endif
-
- closePagePopup();
-
- delete m_webSettings;
- m_webSettings = 0;
-
- delete m_cookieJar;
- m_cookieJar = 0;
-
- delete m_webkitThreadViewportAccessor;
- m_webkitThreadViewportAccessor = 0;
-
- delete m_backingStoreClient;
- m_backingStoreClient = 0;
- m_backingStore = 0;
-
- delete m_page;
- m_page = 0;
-
- delete m_transformationMatrix;
- m_transformationMatrix = 0;
-
- delete m_inPageSearchManager;
- m_inPageSearchManager = 0;
-
- delete m_selectionHandler;
- m_selectionHandler = 0;
-
- delete m_inputHandler;
- m_inputHandler = 0;
-
- delete m_touchEventHandler;
- m_touchEventHandler = 0;
-
- delete m_proximityDetector;
- m_proximityDetector = 0;
-
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- BlackBerry::Platform::deleteGuardedObject(static_cast<DumpRenderTree*>(m_dumpRenderTree));
- m_dumpRenderTree = 0;
-#endif
-
- AuthenticationChallengeManager::instance()->pageDeleted(this);
-}
-
-WebPage::~WebPage()
-{
- deleteGuardedObject(d);
- d = 0;
-}
-
-Page* WebPagePrivate::core(const WebPage* webPage)
-{
- return webPage->d->m_page;
-}
-
-void WebPagePrivate::init(const BlackBerry::Platform::String& pageGroupName)
-{
- m_webSettings = WebSettings::createFromStandardSettings();
- m_webSettings->setUserAgentString(defaultUserAgent());
-
- ChromeClientBlackBerry* chromeClient = new ChromeClientBlackBerry(this);
- EditorClientBlackBerry* editorClient = new EditorClientBlackBerry(this);
- DragClientBlackBerry* dragClient = 0;
-#if ENABLE(DRAG_SUPPORT)
- dragClient = new DragClientBlackBerry();
-#endif
-#if ENABLE(INSPECTOR)
- m_inspectorClient = new InspectorClientBlackBerry(this);
-#endif
-
- FrameLoaderClientBlackBerry* frameLoaderClient = new FrameLoaderClientBlackBerry();
-
- Page::PageClients pageClients;
- pageClients.chromeClient = chromeClient;
- pageClients.editorClient = editorClient;
- pageClients.dragClient = dragClient;
- pageClients.inspectorClient = m_inspectorClient;
- pageClients.backForwardClient = BackForwardListBlackBerry::create(this);
-
- m_page = new Page(pageClients);
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (isRunningDrt()) {
- // In case running in DumpRenderTree mode set the controller to mock provider.
- GeolocationClientMock* mock = new GeolocationClientMock();
- WebCore::provideGeolocationTo(m_page, mock);
- mock->setController(WebCore::GeolocationController::from(m_page));
- } else
-#endif
- WebCore::provideGeolocationTo(m_page, new GeolocationClientBlackBerry(this));
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (getenv("drtRun"))
- WebCore::provideDeviceOrientationTo(m_page, new DeviceOrientationClientMock);
- else
-#endif
- WebCore::provideDeviceOrientationTo(m_page, new DeviceOrientationClientBlackBerry(this));
-
- WebCore::provideDeviceMotionTo(m_page, new DeviceMotionClientBlackBerry(this));
-#if ENABLE(VIBRATION)
- WebCore::provideVibrationTo(m_page, new VibrationClientBlackBerry());
-#endif
-
-#if ENABLE(BATTERY_STATUS)
- WebCore::provideBatteryTo(m_page, new WebCore::BatteryClientBlackBerry(this));
-#endif
-
-#if ENABLE(MEDIA_STREAM)
- WebCore::provideUserMediaTo(m_page, new UserMediaClientImpl(m_webPage));
-#endif
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- WebCore::provideNotification(m_page, new NotificationClientBlackBerry(this));
-#endif
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
- m_navigatorContentUtilsClient = adoptPtr(new NavigatorContentUtilsClientBlackBerry(this));
- WebCore::provideNavigatorContentUtilsTo(m_page, m_navigatorContentUtilsClient.get());
-#endif
-
-#if ENABLE(NETWORK_INFO)
- WebCore::provideNetworkInfoTo(m_page, new WebCore::NetworkInfoClientBlackBerry(this));
-#endif
-
- m_page->setDeviceScaleFactor(m_webSettings->devicePixelRatio());
-
- m_page->addLayoutMilestones(DidFirstVisuallyNonEmptyLayout);
-
-#if USE(ACCELERATED_COMPOSITING)
- m_tapHighlight = DefaultTapHighlight::create(this);
- m_selectionHighlight = DefaultTapHighlight::create(this);
- m_selectionOverlay = SelectionOverlay::create(this);
- m_page->settings()->setAcceleratedCompositingForFixedPositionEnabled(true);
-#endif
-
- // FIXME: We explicitly call setDelegate() instead of passing ourself in createFromStandardSettings()
- // so that we only get one didChangeSettings() callback when we set the page group name. This causes us
- // to make a copy of the WebSettings since some WebSettings method make use of the page group name.
- // Instead, we shouldn't be storing the page group name in WebSettings.
- m_webSettings->setPageGroupName(pageGroupName);
- m_webSettings->setDelegate(this);
- didChangeSettings(m_webSettings);
-
- RefPtr<Frame> newFrame = Frame::create(m_page, /* HTMLFrameOwnerElement* */ 0, frameLoaderClient);
-
- m_mainFrame = newFrame.get();
- frameLoaderClient->setFrame(m_mainFrame, this);
- m_mainFrame->init();
-
- m_inRegionScroller = adoptPtr(new InRegionScroller(this));
-
-#if ENABLE(WEBGL)
- m_page->settings()->setWebGLEnabled(true);
-#endif
-#if ENABLE(ACCELERATED_2D_CANVAS)
- m_page->settings()->setCanvasUsesAcceleratedDrawing(true);
- m_page->settings()->setAccelerated2dCanvasEnabled(true);
-#endif
-
- m_page->settings()->setInteractiveFormValidationEnabled(true);
- m_page->settings()->setAllowUniversalAccessFromFileURLs(false);
- m_page->settings()->setAllowFileAccessFromFileURLs(false);
- m_page->settings()->setFixedPositionCreatesStackingContext(true);
- m_page->settings()->setWantsBalancedSetDefersLoadingBehavior(true);
-
- m_backingStoreClient = BackingStoreClient::create(m_mainFrame, /* parent frame */ 0, m_webPage);
- // The direct access to BackingStore is left here for convenience since it
- // is owned by BackingStoreClient and then deleted by its destructor.
- m_backingStore = m_backingStoreClient->backingStore();
-
- blockClickRadius = int(roundf(0.35 * Platform::Graphics::Screen::primaryScreen()->pixelsPerInch(0).width())); // The clicked rectangle area should be a fixed unit of measurement.
-
- m_page->settings()->setDelegateSelectionPaint(true);
-
-#if ENABLE(REQUEST_ANIMATION_FRAME)
- m_page->windowScreenDidChange((PlatformDisplayID)0);
-#endif
-
-#if ENABLE(FILE_SYSTEM)
- static bool localFileSystemInitialized = false;
- if (!localFileSystemInitialized) {
- localFileSystemInitialized = true;
- WebCore::LocalFileSystem::initializeLocalFileSystem("/");
- }
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
- // The compositor will be needed for overlay rendering, so create it
- // unconditionally. It will allocate OpenGL objects lazily, so this incurs
- // no overhead in the unlikely case where the compositor is not needed.
- Platform::userInterfaceThreadMessageClient()->dispatchSyncMessage(
- createMethodCallMessage(&WebPagePrivate::createCompositor, this));
-#endif
-}
-
-class DeferredTaskLoadManualScript: public DeferredTask<&WebPagePrivate::m_wouldLoadManualScript> {
-public:
- explicit DeferredTaskLoadManualScript(WebPagePrivate* webPagePrivate, const KURL& url)
- : DeferredTaskType(webPagePrivate)
- {
- webPagePrivate->m_cachedManualScript = url;
- }
-private:
- virtual void performInternal(WebPagePrivate* webPagePrivate)
- {
- webPagePrivate->m_mainFrame->script()->executeIfJavaScriptURL(webPagePrivate->m_cachedManualScript, DoNotReplaceDocumentIfJavaScriptURL);
- }
-};
-
-void WebPagePrivate::load(const Platform::NetworkRequest& netReq, bool needReferer)
-{
- stopCurrentLoad();
- DeferredTaskLoadManualScript::finishOrCancel(this);
-
- String urlString(netReq.getUrlRef());
- if (urlString.startsWith("vs:", false)) {
- urlString = urlString.substring(3);
- m_mainFrame->setInViewSourceMode(true);
- } else
- m_mainFrame->setInViewSourceMode(false);
-
- KURL kurl = parseUrl(urlString);
- if (protocolIs(kurl, "javascript")) {
- // Never run javascript while loading is deferred.
- if (m_page->defersLoading())
- m_deferredTasks.append(adoptPtr(new DeferredTaskLoadManualScript(this, kurl)));
- else
- m_mainFrame->script()->executeIfJavaScriptURL(kurl, DoNotReplaceDocumentIfJavaScriptURL);
- return;
- }
-
- ResourceRequest request(kurl);
- request.setHTTPMethod(netReq.getMethodRef());
- request.setCachePolicy(toWebCoreCachePolicy(netReq.getCachePolicy()));
- if (!netReq.getOverrideContentType().empty())
- request.setOverrideContentType(netReq.getOverrideContentType());
-
- Platform::NetworkRequest::HeaderList& list = netReq.getHeaderListRef();
- if (!list.empty()) {
- for (unsigned i = 0; i < list.size(); i++)
- request.addHTTPHeaderField(list[i].first.c_str(), list[i].second.c_str());
- }
-
- if (needReferer && focusedOrMainFrame() && focusedOrMainFrame()->document())
- request.addHTTPHeaderField("Referer", focusedOrMainFrame()->document()->url().string().utf8().data());
-
- if (Platform::NetworkRequest::TargetIsDownload == netReq.getTargetType())
- request.setForceDownload(true);
- if (!netReq.getSuggestedSaveName().empty())
- request.setSuggestedSaveName(netReq.getSuggestedSaveName());
-
- m_mainFrame->loader()->load(FrameLoadRequest(m_mainFrame, request));
-}
-
-void WebPage::loadFile(const BlackBerry::Platform::String& path, const BlackBerry::Platform::String& overrideContentType)
-{
- STATIC_LOCAL_STRING(s_filePrefix, "file://");
- STATIC_LOCAL_STRING(s_fileRootPrefix, "file:///");
- BlackBerry::Platform::String fileUrl(path);
- if (fileUrl.startsWith('/'))
- fileUrl = s_filePrefix + fileUrl;
- else if (!fileUrl.startsWith(s_fileRootPrefix))
- return;
-
- Platform::NetworkRequest netRequest;
- netRequest.setRequestUrl(fileUrl);
- netRequest.setOverrideContentType(overrideContentType);
- d->load(netRequest, false);
-}
-
-void WebPage::load(const Platform::NetworkRequest& request, bool needReferer)
-{
- d->load(request, needReferer);
-}
-
-void WebPagePrivate::loadString(const BlackBerry::Platform::String& string, const BlackBerry::Platform::String& baseURL, const BlackBerry::Platform::String& contentType, const BlackBerry::Platform::String& failingURL)
-{
- KURL kurl = parseUrl(baseURL);
- ResourceRequest request(kurl);
- WTF::RefPtr<SharedBuffer> buffer
- = SharedBuffer::create(string.c_str(), string.length());
- SubstituteData substituteData(buffer,
- extractMIMETypeFromMediaType(contentType),
- extractCharsetFromMediaType(contentType),
- !failingURL.empty() ? parseUrl(failingURL) : KURL());
- m_mainFrame->loader()->load(FrameLoadRequest(m_mainFrame, request, substituteData));
-}
-
-void WebPage::loadString(const BlackBerry::Platform::String& string, const BlackBerry::Platform::String& baseURL, const BlackBerry::Platform::String& mimeType, const BlackBerry::Platform::String& failingURL)
-{
- d->loadString(string, baseURL, mimeType, failingURL);
-}
-
-bool WebPagePrivate::executeJavaScript(const BlackBerry::Platform::String& scriptUTF8, JavaScriptDataType& returnType, BlackBerry::Platform::String& returnValue)
-{
- BLACKBERRY_ASSERT(scriptUTF8.isUtf8());
- String script = scriptUTF8;
-
- if (script.isNull()) {
- returnType = JSException;
- return false;
- }
-
- if (script.isEmpty()) {
- returnType = JSUndefined;
- return true;
- }
-
- ScriptValue result = m_mainFrame->script()->executeScript(script, false);
- JSC::JSValue value = result.jsValue();
- if (!value) {
- returnType = JSException;
- return false;
- }
-
- if (value.isUndefined())
- returnType = JSUndefined;
- else if (value.isNull())
- returnType = JSNull;
- else if (value.isBoolean())
- returnType = JSBoolean;
- else if (value.isNumber())
- returnType = JSNumber;
- else if (value.isString())
- returnType = JSString;
- else if (value.isObject())
- returnType = JSObject;
- else
- returnType = JSUndefined;
-
- if (returnType == JSBoolean || returnType == JSNumber || returnType == JSString || returnType == JSObject) {
- JSC::ExecState* exec = m_mainFrame->script()->globalObject(mainThreadNormalWorld())->globalExec();
- returnValue = result.toString(exec);
- }
-
- return true;
-}
-
-bool WebPage::executeJavaScript(const BlackBerry::Platform::String& script, JavaScriptDataType& returnType, BlackBerry::Platform::String& returnValue)
-{
- return d->executeJavaScript(script, returnType, returnValue);
-}
-
-bool WebPagePrivate::executeJavaScriptInIsolatedWorld(const ScriptSourceCode& sourceCode, JavaScriptDataType& returnType, BlackBerry::Platform::String& returnValue)
-{
- if (!m_isolatedWorld)
- m_isolatedWorld = m_mainFrame->script()->createWorld();
-
- // Use evaluateInWorld to avoid canExecuteScripts check.
- ScriptValue result = m_mainFrame->script()->evaluateInWorld(sourceCode, m_isolatedWorld.get());
- JSC::JSValue value = result.jsValue();
- if (!value) {
- returnType = JSException;
- return false;
- }
-
- if (value.isUndefined())
- returnType = JSUndefined;
- else if (value.isNull())
- returnType = JSNull;
- else if (value.isBoolean())
- returnType = JSBoolean;
- else if (value.isNumber())
- returnType = JSNumber;
- else if (value.isString())
- returnType = JSString;
- else if (value.isObject())
- returnType = JSObject;
- else
- returnType = JSUndefined;
-
- if (returnType == JSBoolean || returnType == JSNumber || returnType == JSString || returnType == JSObject) {
- JSC::ExecState* exec = m_mainFrame->script()->globalObject(mainThreadNormalWorld())->globalExec();
- returnValue = result.toString(exec);
- }
-
- return true;
-}
-
-bool WebPage::executeJavaScriptInIsolatedWorld(const std::wstring& script, JavaScriptDataType& returnType, BlackBerry::Platform::String& returnValue)
-{
- // On our platform wchar_t is unsigned and UChar is unsigned short
- // so we have to convert using ICU conversion function
- int lengthCopied = 0;
- UErrorCode error = U_ZERO_ERROR;
- const int length = script.length() + 1 /*null termination char*/;
- UChar data[length];
-
- // FIXME: PR 138162 is giving U_INVALID_CHAR_FOUND error.
- u_strFromUTF32(data, length, &lengthCopied, reinterpret_cast<const UChar32*>(script.c_str()), script.length(), &error);
- BLACKBERRY_ASSERT(error == U_ZERO_ERROR);
- if (error != U_ZERO_ERROR) {
- Platform::logAlways(Platform::LogLevelCritical, "WebPage::executeJavaScriptInIsolatedWorld failed to convert UTF16 to JavaScript!");
- return false;
- }
- String str = String(data, lengthCopied);
- ScriptSourceCode sourceCode(str, KURL());
- return d->executeJavaScriptInIsolatedWorld(sourceCode, returnType, returnValue);
-}
-
-bool WebPage::executeJavaScriptInIsolatedWorld(const BlackBerry::Platform::String& scriptUTF8, JavaScriptDataType& returnType, BlackBerry::Platform::String& returnValue)
-{
- BLACKBERRY_ASSERT(scriptUTF8.isUtf8());
- ScriptSourceCode sourceCode(scriptUTF8, KURL());
- return d->executeJavaScriptInIsolatedWorld(sourceCode, returnType, returnValue);
-}
-
-void WebPage::executeJavaScriptFunction(const std::vector<BlackBerry::Platform::String> &function, const std::vector<JavaScriptVariant> &args, JavaScriptVariant& returnValue)
-{
- if (!d->m_mainFrame) {
- returnValue.setType(JavaScriptVariant::Exception);
- return;
- }
-
- JSC::Bindings::RootObject* root = d->m_mainFrame->script()->bindingRootObject();
- if (!root) {
- returnValue.setType(JavaScriptVariant::Exception);
- return;
- }
-
- JSC::ExecState* exec = root->globalObject()->globalExec();
- JSGlobalContextRef ctx = toGlobalRef(exec);
-
- JSC::APIEntryShim shim(exec);
- WTF::Vector<JSValueRef> argListRef(args.size());
- for (unsigned i = 0; i < args.size(); ++i)
- argListRef[i] = BlackBerryJavaScriptVariantToJSValueRef(ctx, args[i]);
-
- JSValueRef windowObjectValue = toRef(d->m_mainFrame->script()->globalObject(mainThreadNormalWorld()));
- JSObjectRef obj = JSValueToObject(ctx, windowObjectValue, 0);
- JSObjectRef thisObject = obj;
- for (unsigned i = 0; i < function.size(); ++i) {
- JSStringRef str = JSStringCreateWithUTF8CString(function[i].c_str());
- thisObject = obj;
- obj = JSValueToObject(ctx, JSObjectGetProperty(ctx, obj, str, 0), 0);
- JSStringRelease(str);
- if (!obj)
- break;
- }
-
- JSObjectRef functionObject = obj;
- JSValueRef result = 0;
- if (functionObject && thisObject)
- result = JSObjectCallAsFunction(ctx, functionObject, thisObject, args.size(), argListRef.data(), 0);
-
- if (!result) {
- returnValue.setType(JavaScriptVariant::Exception);
- return;
- }
-
- returnValue = JSValueRefToBlackBerryJavaScriptVariant(ctx, result);
-}
-
-void WebPagePrivate::stopCurrentLoad()
-{
- // This function should contain all common code triggered by WebPage::load
- // (which stops any load in progress before starting the new load) and
- // WebPage::stoploading (the entry point for the client to stop the load
- // explicitly). If it should only be done while stopping the load
- // explicitly, it goes in WebPage::stopLoading, not here.
- m_mainFrame->loader()->stopAllLoaders();
-
- // Cancel any deferred script that hasn't been processed yet.
- DeferredTaskLoadManualScript::finishOrCancel(this);
-}
-
-void WebPage::stopLoading()
-{
- d->stopCurrentLoad();
-}
-
-static void closeURLRecursively(Frame* frame)
-{
- // Do not create more frame please.
- FrameLoaderClientBlackBerry* frameLoaderClient = static_cast<FrameLoaderClientBlackBerry*>(frame->loader()->client());
- frameLoaderClient->suppressChildFrameCreation();
-
- frame->loader()->closeURL();
-
- Vector<RefPtr<Frame>, 10> childFrames;
-
- for (RefPtr<Frame> childFrame = frame->tree()->firstChild(); childFrame; childFrame = childFrame->tree()->nextSibling())
- childFrames.append(childFrame);
-
- unsigned size = childFrames.size();
- for (unsigned i = 0; i < size; i++)
- closeURLRecursively(childFrames[i].get());
-}
-
-void WebPagePrivate::prepareToDestroy()
-{
- // Before the client starts tearing itself down, dispatch the unload event
- // so it can take effect while all the client's state (e.g. scroll position)
- // is still present.
- closeURLRecursively(m_mainFrame);
-}
-
-void WebPage::prepareToDestroy()
-{
- d->prepareToDestroy();
-}
-
-bool WebPage::dispatchBeforeUnloadEvent()
-{
- return d->m_page->mainFrame()->loader()->shouldClose();
-}
-
-static void enableCrossSiteXHRRecursively(Frame* frame)
-{
- frame->document()->securityOrigin()->grantUniversalAccess();
-
- Vector<RefPtr<Frame>, 10> childFrames;
- for (RefPtr<Frame> childFrame = frame->tree()->firstChild(); childFrame; childFrame = childFrame->tree()->nextSibling())
- childFrames.append(childFrame);
-
- unsigned size = childFrames.size();
- for (unsigned i = 0; i < size; i++)
- enableCrossSiteXHRRecursively(childFrames[i].get());
-}
-
-void WebPagePrivate::enableCrossSiteXHR()
-{
- enableCrossSiteXHRRecursively(m_mainFrame);
-}
-
-void WebPage::enableCrossSiteXHR()
-{
- d->enableCrossSiteXHR();
-}
-
-void WebPagePrivate::addOriginAccessWhitelistEntry(const BlackBerry::Platform::String& sourceOrigin, const BlackBerry::Platform::String& destinationOrigin, bool allowDestinationSubdomains)
-{
- RefPtr<SecurityOrigin> source = SecurityOrigin::createFromString(sourceOrigin);
- if (source->isUnique())
- return;
-
- KURL destination(KURL(), destinationOrigin);
- SecurityPolicy::addOriginAccessWhitelistEntry(*source, destination.protocol(), destination.host(), allowDestinationSubdomains);
-}
-
-void WebPage::addOriginAccessWhitelistEntry(const BlackBerry::Platform::String& sourceOrigin, const BlackBerry::Platform::String& destinationOrigin, bool allowDestinationSubdomains)
-{
- d->addOriginAccessWhitelistEntry(sourceOrigin, destinationOrigin, allowDestinationSubdomains);
-}
-
-void WebPagePrivate::removeOriginAccessWhitelistEntry(const BlackBerry::Platform::String& sourceOrigin, const BlackBerry::Platform::String& destinationOrigin, bool allowDestinationSubdomains)
-{
- RefPtr<SecurityOrigin> source = SecurityOrigin::createFromString(sourceOrigin);
- if (source->isUnique())
- return;
-
- KURL destination(KURL(), destinationOrigin);
- SecurityPolicy::removeOriginAccessWhitelistEntry(*source, destination.protocol(), destination.host(), allowDestinationSubdomains);
-}
-
-void WebPage::removeOriginAccessWhitelistEntry(const BlackBerry::Platform::String& sourceOrigin, const BlackBerry::Platform::String& destinationOrigin, bool allowDestinationSubdomains)
-{
- d->removeOriginAccessWhitelistEntry(sourceOrigin, destinationOrigin, allowDestinationSubdomains);
-}
-
-void WebPagePrivate::setLoadState(LoadState state)
-{
- if (m_loadState == state)
- return;
-
- bool isFirstLoad = m_loadState == None;
-
- // See RIM Bug #1068.
- if (state == Finished && m_mainFrame && m_mainFrame->document())
- m_mainFrame->document()->updateStyleIfNeeded();
-
- // Dispatch the backingstore background color at important state changes.
- m_backingStore->d->setWebPageBackgroundColor(documentBackgroundColor());
-
- m_loadState = state;
-
-#if DEBUG_WEBPAGE_LOAD
- Platform::logAlways(Platform::LogLevelInfo, "WebPagePrivate::setLoadState %d", state);
-#endif
-
- switch (m_loadState) {
- case Provisional:
- if (isFirstLoad) {
- // Paints the visible backingstore as settings()->backgroundColor()
- // to prevent initial checkerboard on the first blit.
- m_backingStore->d->renderAndBlitVisibleContentsImmediately();
- }
- break;
- case Committed:
- {
-#if USE(ACCELERATED_COMPOSITING)
- releaseLayerResources();
-#endif
-
- // Suspend screen update to avoid ui thread blitting while resetting backingstore.
- // FIXME: Do we really need to suspend/resume both backingstore and screen here?
- m_backingStore->d->suspendBackingStoreUpdates();
- m_backingStore->d->suspendScreenUpdates();
-
- m_previousContentsSize = IntSize();
- m_backingStore->d->resetRenderQueue();
- m_backingStore->d->resetTiles();
- m_backingStore->d->setScrollingOrZooming(false, false /* shouldBlit */);
- m_shouldZoomToInitialScaleAfterLoadFinished = false;
- m_userPerformedManualZoom = false;
- m_userPerformedManualScroll = false;
- m_shouldUseFixedDesktopMode = false;
- m_forceRespectViewportArguments = false;
- if (m_resetVirtualViewportOnCommitted) // For DRT.
- m_virtualViewportSize = IntSize();
- if (m_webSettings->viewportWidth() > 0)
- m_virtualViewportSize = IntSize(m_webSettings->viewportWidth(), m_defaultLayoutSize.height());
-
- // Check if we have already process the meta viewport tag, this only happens on history navigation.
- // For back/forward history navigation, we should only keep these previous values if the document
- // has the meta viewport tag when the state is Committed in setLoadState.
- static ViewportArguments defaultViewportArguments;
- bool documentHasViewportArguments = false;
- if (m_mainFrame && m_mainFrame->document() && m_mainFrame->document()->viewportArguments() != defaultViewportArguments)
- documentHasViewportArguments = true;
- if (!(m_didRestoreFromPageCache && documentHasViewportArguments)) {
- m_viewportArguments = ViewportArguments();
- m_userScalable = m_webSettings->isUserScalable();
- resetScales();
-
- // At the moment we commit a new load, set the viewport arguments
- // to any fallback values. If there is a meta viewport in the
- // content it will overwrite the fallback arguments soon.
- dispatchViewportPropertiesDidChange(m_userViewportArguments);
- if (m_userViewportArguments != defaultViewportArguments)
- m_forceRespectViewportArguments = true;
- } else {
- Platform::IntSize virtualViewport = recomputeVirtualViewportFromViewportArguments();
- m_webPage->setVirtualViewportSize(virtualViewport);
- }
-
- if (m_shouldUseFixedDesktopMode)
- setViewMode(FixedDesktop);
- else
- setViewMode(Desktop);
-
-#if ENABLE(EVENT_MODE_METATAGS)
- didReceiveCursorEventMode(ProcessedCursorEvents);
- didReceiveTouchEventMode(ProcessedTouchEvents);
-#endif
-
- // Reset block zoom and reflow.
- resetBlockZoom();
-#if ENABLE(VIEWPORT_REFLOW)
- toggleTextReflowIfEnabledForBlockZoomOnly();
-#endif
-
- // Notify InputHandler of state change.
- m_inputHandler->setInputModeEnabled(false);
-
- // Set the scroll to origin here and notify the client since we'll be
- // zooming below without any real contents yet thus the contents size
- // we report to the client could make our current scroll position invalid.
- setScrollPosition(IntPoint::zero());
- notifyTransformedScrollChanged();
-
- // FIXME: Do we really need to suspend/resume both backingstore and screen here?
- m_backingStore->d->resumeBackingStoreUpdates();
- // Paints the visible backingstore as white. Note it is important we do
- // this strictly after re-setting the scroll position to origin and resetting
- // the scales otherwise the visible contents calculation is wrong and we
- // can end up blitting artifacts instead. See: RIM Bug #401.
- m_backingStore->d->resumeScreenUpdates(BackingStore::RenderAndBlit);
-
- // Update cursor status.
- updateCursor();
-
- break;
- }
- case Finished:
- case Failed:
- // Notify client of the initial zoom change.
- m_client->scaleChanged();
- m_backingStore->d->updateTiles(true /* updateVisible */, false /* immediate */);
- break;
- default:
- break;
- }
-}
-
-double WebPagePrivate::clampedScale(double scale) const
-{
- if (scale < minimumScale())
- return minimumScale();
- if (scale > maximumScale())
- return maximumScale();
- return scale;
-}
-
-bool WebPagePrivate::shouldZoomAboutPoint(double scale, const FloatPoint&, bool enforceScaleClamping, double* clampedScale)
-{
- if (!m_mainFrame || !m_mainFrame->view())
- return false;
-
- if (enforceScaleClamping)
- scale = this->clampedScale(scale);
-
- ASSERT(clampedScale);
- *clampedScale = scale;
-
- if (currentScale() == scale)
- return false;
-
- return true;
-}
-
-bool WebPagePrivate::zoomAboutPoint(double unclampedScale, const FloatPoint& anchor, bool enforceScaleClamping, bool forceRendering, bool isRestoringZoomLevel)
-{
- if (!isRestoringZoomLevel) {
- // Clear any existing block zoom. (If we are restoring a saved zoom level on page load,
- // there is guaranteed to be no existing block zoom and we don't want to clear m_shouldReflowBlock.)
- resetBlockZoom();
- }
-
- // The reflow and block zoom stuff here needs to happen regardless of
- // whether we shouldZoomAboutPoint.
-#if ENABLE(VIEWPORT_REFLOW)
- toggleTextReflowIfEnabledForBlockZoomOnly(m_shouldReflowBlock);
- if (m_page->settings()->isTextReflowEnabled() && m_mainFrame->view())
- setNeedsLayout();
-#endif
-
- double scale;
- if (!shouldZoomAboutPoint(unclampedScale, anchor, enforceScaleClamping, &scale)) {
- if (m_webPage->settings()->textReflowMode() == WebSettings::TextReflowEnabled) {
- m_currentPinchZoomNode = 0;
- m_anchorInNodeRectRatio = FloatPoint(-1, -1);
- }
- return false;
- }
- TransformationMatrix zoom;
- zoom.scale(scale);
-
-#if DEBUG_WEBPAGE_LOAD
- if (loadState() < Finished) {
- Platform::logAlways(Platform::LogLevelInfo,
- "WebPagePrivate::zoomAboutPoint scale %f anchor %s",
- scale, Platform::FloatPoint(anchor).toString().c_str());
- }
-#endif
-
- // Our current scroll position in float.
- FloatPoint scrollPosition = this->scrollPosition();
-
- // Anchor offset from scroll position in float.
- FloatPoint anchorOffset(anchor.x() - scrollPosition.x(), anchor.y() - scrollPosition.y());
-
- // The horizontal scaling factor and vertical scaling factor should be equal
- // to preserve aspect ratio of content.
- ASSERT(m_transformationMatrix->m11() == m_transformationMatrix->m22());
-
- // Need to invert the previous transform to anchor the viewport.
- double inverseScale = scale / m_transformationMatrix->m11();
-
- // Actual zoom.
- *m_transformationMatrix = zoom;
-
- // Suspend all screen updates to the backingstore.
- // FIXME: Do we really need to suspend/resume both backingstore and screen here?
- m_backingStore->d->suspendBackingStoreUpdates();
- m_backingStore->d->suspendScreenUpdates();
-
- updateViewportSize();
-
- IntPoint newScrollPosition(IntPoint(max(0, static_cast<int>(roundf(anchor.x() - anchorOffset.x() / inverseScale))),
- max(0, static_cast<int>(roundf(anchor.y() - anchorOffset.y() / inverseScale)))));
-
- if (m_webPage->settings()->textReflowMode() == WebSettings::TextReflowEnabled) {
- // This is a hack for email which has reflow always turned on.
- setNeedsLayout();
- layoutIfNeeded();
- if (m_currentPinchZoomNode)
- newScrollPosition = calculateReflowedScrollPosition(anchorOffset, scale == minimumScale() ? 1 : inverseScale);
- m_currentPinchZoomNode = 0;
- m_anchorInNodeRectRatio = FloatPoint(-1, -1);
- }
-
- setScrollPosition(newScrollPosition);
-
- notifyTransformChanged();
-
- bool isLoading = this->isLoading();
-
- // We need to invalidate all tiles both visible and non-visible if we're loading.
- m_backingStore->d->updateTiles(isLoading /* updateVisible */, false /* immediate */);
-
- bool shouldRender = !isLoading || m_userPerformedManualZoom || forceRendering;
-
- m_client->scaleChanged();
-
- if (m_pendingOrientation != -1)
- m_client->updateInteractionViews();
-
- // FIXME: Do we really need to suspend/resume both backingstore and screen here?
- m_backingStore->d->resumeBackingStoreUpdates();
-
- // Clear window to make sure there are no artifacts.
- if (shouldRender) {
- // Resume all screen updates to the backingstore and render+blit visible contents to screen.
- m_backingStore->d->resumeScreenUpdates(BackingStore::RenderAndBlit);
- } else {
- // Resume all screen updates to the backingstore but do not blit to the screen because we not rendering.
- m_backingStore->d->resumeScreenUpdates(BackingStore::None);
- }
-
- return true;
-}
-
-IntPoint WebPagePrivate::calculateReflowedScrollPosition(const FloatPoint& anchorOffset, double inverseScale)
-{
- // Should only be invoked when text reflow is enabled.
- ASSERT(m_webPage->settings()->textReflowMode() == WebSettings::TextReflowEnabled);
-
- int offsetY = 0;
- int offsetX = 0;
-
- IntRect nodeRect = rectForNode(m_currentPinchZoomNode.get());
-
- if (m_currentPinchZoomNode->renderer() && m_anchorInNodeRectRatio.y() >= 0) {
- offsetY = nodeRect.height() * m_anchorInNodeRectRatio.y();
- if (m_currentPinchZoomNode->renderer()->isImage() && m_anchorInNodeRectRatio.x() > 0)
- offsetX = nodeRect.width() * m_anchorInNodeRectRatio.x() - anchorOffset.x() / inverseScale;
- }
-
- IntRect reflowedRect = adjustRectOffsetForFrameOffset(nodeRect, m_currentPinchZoomNode.get());
-
- return IntPoint(max(0, static_cast<int>(roundf(reflowedRect.x() + offsetX))),
- max(0, static_cast<int>(roundf(reflowedRect.y() + offsetY - anchorOffset.y() / inverseScale))));
-}
-
-void WebPagePrivate::setNeedsLayout()
-{
- FrameView* view = m_mainFrame->view();
- ASSERT(view);
- view->setNeedsLayout();
-}
-
-void WebPagePrivate::updateLayoutAndStyleIfNeededRecursive() const
-{
- FrameView* view = m_mainFrame->view();
- ASSERT(view);
- view->updateLayoutAndStyleIfNeededRecursive();
- ASSERT(!view->needsLayout());
-}
-
-void WebPagePrivate::layoutIfNeeded() const
-{
- FrameView* view = m_mainFrame->view();
- ASSERT(view);
- if (view->needsLayout())
- view->layout();
-}
-
-IntPoint WebPagePrivate::scrollPosition() const
-{
- if (!m_backingStoreClient)
- return IntPoint();
-
- return m_backingStoreClient->scrollPosition();
-}
-
-IntPoint WebPagePrivate::maximumScrollPosition() const
-{
- if (!m_backingStoreClient)
- return IntPoint();
-
- return m_backingStoreClient->maximumScrollPosition();
-}
-
-void WebPagePrivate::setScrollPosition(const IntPoint& pos)
-{
- ASSERT(m_backingStoreClient);
- m_backingStoreClient->setScrollPosition(pos);
-}
-
-// Setting the scroll position is in transformed coordinates.
-void WebPage::setDocumentScrollPosition(const Platform::IntPoint& documentScrollPosition)
-{
- WebCore::IntPoint scrollPosition = documentScrollPosition;
- if (scrollPosition == d->scrollPosition())
- return;
-
- // If the user recently performed an event, this new scroll position
- // could possibly be a result of that. Or not, this is just a heuristic.
- if (currentTime() - d->m_lastUserEventTimestamp < manualScrollInterval)
- d->m_userPerformedManualScroll = true;
-
- d->m_backingStoreClient->setIsClientGeneratedScroll(true);
-
- // UI thread can call BackingStorePrivate::setScrollingOrZooming(false) before WebKit thread calls WebPage::setScrollPosition(),
- // in which case it will set ScrollableArea::m_constrainsScrollingToContentEdge to true earlier.
- // We can cache ScrollableArea::m_constrainsScrollingToContentEdge and always set it to false before we set scroll position in
- // WebKit thread to avoid scroll position clamping during scrolling, and restore it to what it was after that.
- bool constrainsScrollingToContentEdge = d->m_mainFrame->view()->constrainsScrollingToContentEdge();
- d->m_mainFrame->view()->setConstrainsScrollingToContentEdge(false);
- d->setScrollPosition(scrollPosition);
- d->m_mainFrame->view()->setConstrainsScrollingToContentEdge(constrainsScrollingToContentEdge);
-
- d->m_backingStoreClient->setIsClientGeneratedScroll(false);
-}
-
-bool WebPagePrivate::shouldSendResizeEvent()
-{
- if (!m_mainFrame || !m_mainFrame->document())
- return false;
-
- // PR#96865 : Provide an option to always send resize events, regardless of the loading
- // status. The scenario for this are Sapphire applications which tend to
- // maintain an open GET request to the server. This open GET results in
- // webkit thinking that content is still arriving when at the application
- // level it is considered fully loaded.
- //
- // NOTE: Care must be exercised in the use of this option, as it bypasses
- // the sanity provided in 'isLoadingInAPISense()' below.
- //
- static const bool unrestrictedResizeEvents = Platform::Settings::instance()->unrestrictedResizeEvents();
- if (unrestrictedResizeEvents)
- return true;
-
- // Don't send the resize event if the document is loading. Some pages automatically reload
- // when the window is resized; Safari on iPhone often resizes the window while setting up its
- // viewport. This obviously can cause problems.
- DocumentLoader* documentLoader = m_mainFrame->loader()->documentLoader();
- if (documentLoader && documentLoader->isLoadingInAPISense())
- return false;
-
- return true;
-}
-
-void WebPagePrivate::willDeferLoading()
-{
- m_deferredTasksTimer.stop();
- m_client->willDeferLoading();
-}
-
-void WebPagePrivate::didResumeLoading()
-{
- if (!m_deferredTasks.isEmpty())
- m_deferredTasksTimer.startOneShot(0);
- m_client->didResumeLoading();
-}
-
-void WebPagePrivate::deferredTasksTimerFired(WebCore::Timer<WebPagePrivate>*)
-{
- ASSERT(!m_deferredTasks.isEmpty());
- if (m_deferredTasks.isEmpty())
- return;
-
- OwnPtr<DeferredTaskBase> task = m_deferredTasks[0].release();
- m_deferredTasks.remove(0);
-
- if (!m_deferredTasks.isEmpty())
- m_deferredTasksTimer.startOneShot(0);
-
- task->perform(this);
-}
-
-void WebPagePrivate::notifyInRegionScrollStopped()
-{
- if (m_inRegionScroller->d->isActive())
- m_inRegionScroller->d->reset();
-}
-
-void WebPage::notifyInRegionScrollStopped()
-{
- d->notifyInRegionScrollStopped();
-}
-
-void WebPagePrivate::setHasInRegionScrollableAreas(bool b)
-{
- if (b != m_hasInRegionScrollableAreas)
- m_hasInRegionScrollableAreas = b;
-}
-
-IntSize WebPagePrivate::viewportSize() const
-{
- return m_webkitThreadViewportAccessor->roundToDocumentFromPixelContents(Platform::IntRect(Platform::IntPoint::zero(), transformedViewportSize())).size();
-}
-
-IntSize WebPagePrivate::actualVisibleSize() const
-{
- return m_webkitThreadViewportAccessor->documentViewportSize();
-}
-
-bool WebPagePrivate::hasVirtualViewport() const
-{
- return !m_virtualViewportSize.isEmpty();
-}
-
-void WebPagePrivate::updateViewportSize(bool setFixedReportedSize, bool sendResizeEvent)
-{
- // This checks to make sure we're not calling updateViewportSize
- // during WebPagePrivate::init().
- if (!m_backingStore)
- return;
- ASSERT(m_mainFrame->view());
- IntSize visibleSize = actualVisibleSize();
- if (setFixedReportedSize)
- m_mainFrame->view()->setFixedReportedSize(visibleSize);
-
- IntRect frameRect = IntRect(scrollPosition(), visibleSize);
- if (frameRect != m_mainFrame->view()->frameRect()) {
- m_mainFrame->view()->setFrameRect(frameRect);
- m_mainFrame->view()->adjustViewSize();
-
-#if ENABLE(FULLSCREEN_API)
- adjustFullScreenElementDimensionsIfNeeded();
-#endif
- }
-
- // We're going to need to send a resize event to JavaScript because
- // innerWidth and innerHeight depend on fixed reported size.
- // This is how we support mobile pages where JavaScript resizes
- // the page in order to get around the fixed layout size, e.g.
- // google maps when it detects a mobile user agent.
- if (sendResizeEvent && shouldSendResizeEvent())
- m_mainFrame->eventHandler()->sendResizeEvent();
-
- // When the actual visible size changes, we also
- // need to reposition fixed elements.
- m_mainFrame->view()->repaintFixedElementsAfterScrolling();
-}
-
-FloatPoint WebPagePrivate::centerOfVisibleContentsRect() const
-{
- // The visible contents rect in float.
- FloatRect visibleContentsRect = this->visibleContentsRect();
-
- // The center of the visible contents rect in float.
- return FloatPoint(visibleContentsRect.x() + visibleContentsRect.width() / 2.0,
- visibleContentsRect.y() + visibleContentsRect.height() / 2.0);
-}
-
-IntRect WebPagePrivate::visibleContentsRect() const
-{
- return m_backingStoreClient->visibleContentsRect();
-}
-
-IntSize WebPagePrivate::contentsSize() const
-{
- if (!m_mainFrame || !m_mainFrame->view())
- return IntSize();
-
- return m_backingStoreClient->contentsSize();
-}
-
-IntSize WebPagePrivate::absoluteVisibleOverflowSize() const
-{
- if (!m_mainFrame || !m_mainFrame->contentRenderer())
- return IntSize();
-
- return IntSize(m_mainFrame->contentRenderer()->rightAbsoluteVisibleOverflow(), m_mainFrame->contentRenderer()->bottomAbsoluteVisibleOverflow());
-}
-
-void WebPagePrivate::contentsSizeChanged(const IntSize& contentsSize)
-{
- if (m_previousContentsSize == contentsSize)
- return;
-
- // This should only occur in the middle of layout so we set a flag here and
- // handle it at the end of the layout.
- m_contentsSizeChanged = true;
-
-#if DEBUG_WEBPAGE_LOAD
- Platform::logAlways(Platform::LogLevelInfo, "WebPagePrivate::contentsSizeChanged %s", Platform::IntSize(contentsSize).toString().c_str());
-#endif
-}
-
-void WebPagePrivate::overflowExceedsContentsSize()
-{
- m_overflowExceedsContentsSize = true;
- if (absoluteVisibleOverflowSize().width() < DEFAULT_MAX_LAYOUT_WIDTH && !hasVirtualViewport()) {
- if (setViewMode(viewMode())) {
- setNeedsLayout();
- layoutIfNeeded();
- }
- }
-}
-
-void WebPagePrivate::layoutFinished()
-{
- // If a layout change has occurred, we need to invalidate any current spellcheck requests and trigger a new run.
- m_inputHandler->stopPendingSpellCheckRequests(true /* isRestartRequired */);
-
- if (!m_contentsSizeChanged && !m_overflowExceedsContentsSize)
- return;
-
- m_contentsSizeChanged = false; // Toggle to turn off notification again.
- m_overflowExceedsContentsSize = false;
-
- if (contentsSize().isEmpty())
- return;
-
- // The call to zoomToInitialScaleOnLoad can cause recursive layout when called from
- // the middle of a layout, but the recursion is limited by detection code in
- // setViewMode() and mitigation code in fixedLayoutSize().
- if (didLayoutExceedMaximumIterations()) {
- notifyTransformedContentsSizeChanged();
- return;
- }
-
- // Temporarily save the m_previousContentsSize here before updating it (in
- // notifyTransformedContentsSizeChanged()) so we can compare if our contents
- // shrunk afterwards.
- IntSize previousContentsSize = m_previousContentsSize;
-
- m_nestedLayoutFinishedCount++;
-
- if (shouldZoomToInitialScaleOnLoad()) {
- zoomToInitialScaleOnLoad();
- m_shouldZoomToInitialScaleAfterLoadFinished = false;
- } else if (loadState() != None)
- notifyTransformedContentsSizeChanged();
-
- m_nestedLayoutFinishedCount--;
-
- if (!m_nestedLayoutFinishedCount) {
- // When the contents shrinks, there is a risk that we
- // will be left at a scroll position that lies outside of the
- // contents rect. Since we allow overscrolling and neglect
- // to clamp overscroll in order to retain input focus (RIM Bug #414)
- // we need to clamp somewhere, and this is where we know the
- // contents size has changed.
-
- if (contentsSize() != previousContentsSize) {
-
- IntPoint newScrollPosition = scrollPosition();
-
- if (contentsSize().height() < previousContentsSize.height()) {
- IntPoint scrollPositionWithHeightShrunk = IntPoint(newScrollPosition.x(), maximumScrollPosition().y());
- newScrollPosition = newScrollPosition.shrunkTo(scrollPositionWithHeightShrunk);
- }
-
- if (contentsSize().width() < previousContentsSize.width()) {
- IntPoint scrollPositionWithWidthShrunk = IntPoint(maximumScrollPosition().x(), newScrollPosition.y());
- newScrollPosition = newScrollPosition.shrunkTo(scrollPositionWithWidthShrunk);
- }
-
- if (newScrollPosition != scrollPosition()) {
- setScrollPosition(newScrollPosition);
- notifyTransformedScrollChanged();
- }
-
- const Platform::IntSize pixelContentsSize = m_webkitThreadViewportAccessor->pixelContentsSize();
-
- // If the content size is too small, zoom it to fit the viewport.
- if ((loadState() == Finished || loadState() == Committed) && (pixelContentsSize.width() < m_actualVisibleWidth || pixelContentsSize.height() < m_actualVisibleHeight))
- zoomAboutPoint(initialScale(), newScrollPosition);
- }
- }
-}
-
-void WebPagePrivate::zoomToInitialScaleOnLoad()
-{
-#if DEBUG_WEBPAGE_LOAD
- Platform::logAlways(Platform::LogLevelInfo, "WebPagePrivate::zoomToInitialScaleOnLoad");
-#endif
-
- bool needsLayout = false;
-
- // If the contents width exceeds the viewport width set to desktop mode.
- if (m_shouldUseFixedDesktopMode)
- needsLayout = setViewMode(FixedDesktop);
- else
- needsLayout = setViewMode(Desktop);
-
- if (needsLayout) {
- // This can cause recursive layout...
- setNeedsLayout();
- }
-
- if (contentsSize().isEmpty()) {
-#if DEBUG_WEBPAGE_LOAD
- Platform::logAlways(Platform::LogLevelInfo, "WebPagePrivate::zoomToInitialScaleOnLoad content is empty!");
-#endif
- layoutIfNeeded();
- notifyTransformedContentsSizeChanged();
- return;
- }
-
- bool performedZoom = false;
- bool shouldZoom = !m_userPerformedManualZoom;
-
- // If this is a back/forward type navigation, don't zoom to initial scale
- // but instead let the HistoryItem's saved viewport reign supreme.
- if (m_mainFrame && m_mainFrame->loader() && isBackForwardLoadType(m_mainFrame->loader()->loadType()))
- shouldZoom = false;
-
- if (shouldZoom && shouldZoomToInitialScaleOnLoad()) {
- // Preserve at top and at left position, to avoid scrolling
- // to a non top-left position for web page with viewport meta tag
- // that specifies an initial-scale that is zoomed in.
- FloatPoint anchor = centerOfVisibleContentsRect();
- if (!scrollPosition().x())
- anchor.setX(0);
- if (!scrollPosition().y())
- anchor.setY(0);
- performedZoom = zoomAboutPoint(initialScale(), anchor);
- }
-
- // zoomAboutPoint above can also toggle setNeedsLayout and cause recursive layout...
- layoutIfNeeded();
-
- if (!performedZoom) {
- // We only notify if we didn't perform zoom, because zoom will notify on
- // its own...
- notifyTransformedContentsSizeChanged();
- }
-}
-
-double WebPagePrivate::zoomToFitScale() const
-{
- int contentWidth = contentsSize().width();
-
- // For image document, zoom to fit the screen based on the actual image width
- // instead of the contents width within a maximum scale .
- Document* doc = m_page->mainFrame()->document();
- bool isImageDocument = doc && doc->isImageDocument();
- if (isImageDocument)
- contentWidth = static_cast<ImageDocument*>(doc)->imageSize().width();
-
- double zoomToFitScale = contentWidth > 0.0 ? static_cast<double>(m_actualVisibleWidth) / contentWidth : 1.0;
- int contentHeight = contentsSize().height();
- if (contentHeight * zoomToFitScale < static_cast<double>(m_defaultLayoutSize.height()))
- zoomToFitScale = contentHeight > 0 ? static_cast<double>(m_defaultLayoutSize.height()) / contentHeight : 1.0;
- zoomToFitScale = std::max(zoomToFitScale, minimumZoomToFitScale);
-
- if (!isImageDocument)
- return zoomToFitScale;
-
- return std::min(zoomToFitScale, maximumImageDocumentZoomToFitScale);
-}
-
-bool WebPagePrivate::respectViewport() const
-{
- return m_forceRespectViewportArguments || contentsSize().width() <= m_virtualViewportSize.width() + 1;
-}
-
-double WebPagePrivate::initialScale() const
-{
-
- if (m_initialScale > 0.0 && respectViewport())
- return m_initialScale;
-
- if (m_webSettings->isZoomToFitOnLoad())
- return zoomToFitScale();
-
- return 1.0;
-}
-
-double WebPage::initialScale() const
-{
- return d->initialScale();
-}
-
-void WebPage::initializeIconDataBase()
-{
- IconDatabaseClientBlackBerry::instance()->initIconDatabase(d->m_webSettings);
-}
-
-bool WebPage::isUserScalable() const
-{
- return d->isUserScalable();
-}
-
-void WebPage::setUserScalable(bool userScalable)
-{
- d->setUserScalable(userScalable);
-}
-
-double WebPage::currentScale() const
-{
- return d->currentScale();
-}
-
-void WebPage::setInitialScale(double initialScale)
-{
- d->setInitialScale(initialScale);
-}
-
-double WebPage::minimumScale() const
-{
- return d->minimumScale();
-}
-
-void WebPage::setMinimumScale(double minimumScale)
-{
- d->setMinimumScale(minimumScale);
-}
-
-void WebPage::setMaximumScale(double maximumScale)
-{
- d->setMaximumScale(maximumScale);
-}
-
-double WebPagePrivate::maximumScale() const
-{
- double zoomToFitScale = this->zoomToFitScale();
- if (m_maximumScale >= m_minimumScale && respectViewport())
- return std::max(zoomToFitScale, m_maximumScale);
-
- return hasVirtualViewport() ? std::max<double>(zoomToFitScale, 5.0) : 5.0;
-}
-
-double WebPage::maximumScale() const
-{
- return d->maximumScale();
-}
-
-void WebPagePrivate::resetScales()
-{
- TransformationMatrix identity;
- *m_transformationMatrix = identity;
- m_initialScale = m_webSettings->initialScale() > 0 ? m_webSettings->initialScale() : -1.0;
- m_minimumScale = -1.0;
- m_maximumScale = -1.0;
- m_client->scaleChanged();
-
- // We have to let WebCore know about updated framerect now that we've
- // reset our scales. See: RIM Bug #401.
- updateViewportSize();
-}
-
-IntPoint WebPagePrivate::transformedScrollPosition() const
-{
- return m_backingStoreClient->transformedScrollPosition();
-}
-
-IntPoint WebPagePrivate::transformedMaximumScrollPosition() const
-{
- return m_backingStoreClient->transformedMaximumScrollPosition();
-}
-
-IntSize WebPagePrivate::transformedActualVisibleSize() const
-{
- return IntSize(m_actualVisibleWidth, m_actualVisibleHeight);
-}
-
-Platform::ViewportAccessor* WebPage::webkitThreadViewportAccessor() const
-{
- return d->m_webkitThreadViewportAccessor;
-}
-
-Platform::IntSize WebPage::viewportSize() const
-{
- return d->transformedActualVisibleSize();
-}
-
-IntSize WebPagePrivate::transformedViewportSize() const
-{
- return BlackBerry::Platform::Settings::instance()->applicationSize();
-}
-
-void WebPagePrivate::notifyTransformChanged()
-{
- notifyTransformedContentsSizeChanged();
- notifyTransformedScrollChanged();
-
- m_backingStore->d->transformChanged();
-}
-
-void WebPagePrivate::notifyTransformedContentsSizeChanged()
-{
- // We mark here as the last reported content size we sent to the client.
- m_previousContentsSize = contentsSize();
-
- const IntSize size = m_webkitThreadViewportAccessor->pixelContentsSize();
- m_backingStore->d->contentsSizeChanged(size);
- m_client->contentsSizeChanged();
-}
-
-void WebPagePrivate::notifyTransformedScrollChanged()
-{
- const IntPoint pos = transformedScrollPosition();
- m_backingStore->d->scrollChanged(pos);
- m_client->scrollChanged();
-
-#if ENABLE(FULLSCREEN_API)
- adjustFullScreenElementDimensionsIfNeeded();
-#endif
-}
-
-bool WebPagePrivate::setViewMode(ViewMode mode)
-{
- if (!m_mainFrame || !m_mainFrame->view())
- return false;
-
- m_viewMode = mode;
-
- // If we're in the middle of a nested layout with a recursion count above
- // some maximum threshold, then our algorithm for finding the minimum content
- // width of a given page has become dependent on the visible width.
- //
- // We need to find some method to ensure that we don't experience excessive
- // and even infinite recursion. This can even happen with valid html. The
- // former can happen when we run into inline text with few candidates for line
- // break. The latter can happen for instance if the page has a negative margin
- // set against the right border. Note: this is valid by spec and can lead to
- // a situation where there is no value for which the content width will ensure
- // no horizontal scrollbar.
- // Example: LayoutTests/css1/box_properties/margin.html
- //
- // In order to address such situations when we detect a recursion above some
- // maximum threshold we snap our fixed layout size to a defined quantum increment.
- // Eventually, either the content width will be satisfied to ensure no horizontal
- // scrollbar or this increment will run into the maximum layout size and the
- // recursion will necessarily end.
- bool snapToIncrement = didLayoutExceedMaximumIterations();
-
- IntSize currentSize = m_mainFrame->view()->fixedLayoutSize();
- IntSize newSize = fixedLayoutSize(snapToIncrement);
- if (currentSize == newSize)
- return false;
-
- // FIXME: Temp solution. We'll get back to this.
- if (m_nestedLayoutFinishedCount) {
- double widthChange = fabs(double(newSize.width() - currentSize.width()) / currentSize.width());
- double heightChange = fabs(double(newSize.height() - currentSize.height()) / currentSize.height());
- if (widthChange < 0.05 && heightChange < 0.05)
- return false;
- }
-
- m_mainFrame->view()->setUseFixedLayout(useFixedLayout());
- m_mainFrame->view()->setFixedLayoutSize(newSize);
- return true; // Needs re-layout!
-}
-
-int WebPagePrivate::playerID() const
-{
- return m_client ? m_client->getInstanceId() : 0;
-}
-
-void WebPagePrivate::setCursor(PlatformCursor handle)
-{
- if (m_currentCursor.type() != handle.type()) {
- m_currentCursor = handle;
- m_client->cursorChanged(handle.type(), handle.url().c_str(), handle.hotspot());
- }
-}
-
-Platform::NetworkStreamFactory* WebPagePrivate::networkStreamFactory()
-{
- return m_client->networkStreamFactory();
-}
-
-Platform::Graphics::Window* WebPagePrivate::platformWindow() const
-{
- return m_client->window();
-}
-
-void WebPagePrivate::setPreventsScreenDimming(bool keepAwake)
-{
- if (keepAwake) {
- if (!m_preventIdleDimmingCount)
- m_client->setPreventsScreenIdleDimming(true);
- m_preventIdleDimmingCount++;
- } else if (m_preventIdleDimmingCount > 0) {
- m_preventIdleDimmingCount--;
- if (!m_preventIdleDimmingCount)
- m_client->setPreventsScreenIdleDimming(false);
- } else
- ASSERT_NOT_REACHED(); // SetPreventsScreenIdleDimming(false) called too many times.
-}
-
-void WebPagePrivate::showVirtualKeyboard(bool showKeyboard)
-{
- m_client->showVirtualKeyboard(showKeyboard);
-}
-
-void WebPagePrivate::ensureContentVisible(bool centerInView)
-{
- m_inputHandler->ensureFocusElementVisible(centerInView);
-}
-
-void WebPagePrivate::zoomToContentRect(const IntRect& rect)
-{
- // Don't scale if the user is not supposed to scale.
- if (!isUserScalable())
- return;
-
- FloatPoint anchor = FloatPoint(rect.width() / 2.0 + rect.x(), rect.height() / 2.0 + rect.y());
- IntSize viewSize = viewportSize();
-
- // Calculate the scale required to scale that dimension to fit.
- double scaleH = (double)viewSize.width() / (double)rect.width();
- double scaleV = (double)viewSize.height() / (double)rect.height();
-
- // Choose the smaller scale factor so that all of the content is visible.
- zoomAboutPoint(min(scaleH, scaleV), anchor);
-}
-
-void WebPagePrivate::registerPlugin(PluginView* plugin, bool shouldRegister)
-{
- if (shouldRegister)
- m_pluginViews.add(plugin);
- else
- m_pluginViews.remove(plugin);
-}
-
-#define FOR_EACH_PLUGINVIEW(pluginViews) \
- HashSet<PluginView*>::const_iterator it = pluginViews.begin(); \
- HashSet<PluginView*>::const_iterator last = pluginViews.end(); \
- for (; it != last; ++it)
-
-void WebPagePrivate::notifyPageOnLoad()
-{
- FOR_EACH_PLUGINVIEW(m_pluginViews)
- (*it)->handleOnLoadEvent();
-}
-
-bool WebPagePrivate::shouldPluginEnterFullScreen(PluginView*, const char*)
-{
- return m_client->shouldPluginEnterFullScreen();
-}
-
-void WebPagePrivate::didPluginEnterFullScreen(PluginView* plugin, const char* windowUniquePrefix)
-{
- m_fullScreenPluginView = plugin;
- m_client->didPluginEnterFullScreen();
-
- if (!m_client->window())
- return;
-
- Platform::Graphics::Window::setTransparencyDiscardFilter(windowUniquePrefix);
- m_client->window()->setSensitivityFullscreenOverride(true);
-}
-
-void WebPagePrivate::didPluginExitFullScreen(PluginView*, const char*)
-{
- m_fullScreenPluginView = 0;
- m_client->didPluginExitFullScreen();
-
- if (!m_client->window())
- return;
-
- Platform::Graphics::Window::setTransparencyDiscardFilter(0);
- m_client->window()->setSensitivityFullscreenOverride(false);
-}
-
-void WebPagePrivate::onPluginStartBackgroundPlay(PluginView*, const char*)
-{
- m_client->onPluginStartBackgroundPlay();
-}
-
-void WebPagePrivate::onPluginStopBackgroundPlay(PluginView*, const char*)
-{
- m_client->onPluginStopBackgroundPlay();
-}
-
-bool WebPagePrivate::lockOrientation(bool landscape)
-{
- return m_client->lockOrientation(landscape);
-}
-
-void WebPagePrivate::unlockOrientation()
-{
- return m_client->unlockOrientation();
-}
-
-int WebPagePrivate::orientation() const
-{
-#if ENABLE(ORIENTATION_EVENTS)
- return m_mainFrame->orientation();
-#else
-#error ORIENTATION_EVENTS must be defined.
-// Or a copy of the orientation value will have to be stored in these objects.
-#endif
-}
-
-double WebPagePrivate::currentZoomFactor() const
-{
- return currentScale();
-}
-
-int WebPagePrivate::showAlertDialog(WebPageClient::AlertType atype)
-{
- return m_client->showAlertDialog(atype);
-}
-
-bool WebPagePrivate::isActive() const
-{
- return m_client->isActive();
-}
-
-void WebPagePrivate::authenticationChallenge(const KURL& url, const ProtectionSpace& protectionSpace, const Credential& inputCredential)
-{
- AuthenticationChallengeManager* authmgr = AuthenticationChallengeManager::instance();
- BlackBerry::Platform::String username;
- BlackBerry::Platform::String password;
- BlackBerry::Platform::String requestURL(url.string());
-
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (m_dumpRenderTree) {
- Credential credential(inputCredential, inputCredential.persistence());
- if (m_dumpRenderTree->didReceiveAuthenticationChallenge(credential))
- authmgr->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeSuccess, credential);
- else
- authmgr->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeCancelled, inputCredential);
- return;
- }
-#endif
-
-#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
- if (m_webSettings->isCredentialAutofillEnabled() && !m_webSettings->isPrivateBrowsingEnabled())
- credentialManager().autofillAuthenticationChallenge(protectionSpace, username, password);
-#endif
-
- bool isConfirmed = m_client->authenticationChallenge(protectionSpace.realm().characters(), protectionSpace.realm().length(), username, password, requestURL, protectionSpace.isProxy());
-
-#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
- Credential credential(username, password, CredentialPersistencePermanent);
- if (m_webSettings->isCredentialAutofillEnabled() && !m_webSettings->isPrivateBrowsingEnabled() && isConfirmed)
- credentialManager().saveCredentialIfConfirmed(this, CredentialTransformData(protectionSpace, credential));
-#else
- Credential credential(username, password, CredentialPersistenceNone);
-#endif
-
- if (isConfirmed)
- authmgr->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeSuccess, credential);
- else
- authmgr->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeCancelled, inputCredential);
-}
-
-PageClientBlackBerry::SaveCredentialType WebPagePrivate::notifyShouldSaveCredential(bool isNew)
-{
- return static_cast<PageClientBlackBerry::SaveCredentialType>(m_client->notifyShouldSaveCredential(isNew));
-}
-
-void WebPagePrivate::syncProxyCredential(const WebCore::Credential& credential)
-{
- m_client->syncProxyCredential(credential.user(), credential.password());
-}
-
-void WebPagePrivate::notifyPopupAutofillDialog(const Vector<String>& candidates)
-{
- vector<BlackBerry::Platform::String> textItems;
- for (size_t i = 0; i < candidates.size(); i++)
- textItems.push_back(candidates[i]);
- m_client->notifyPopupAutofillDialog(textItems);
-}
-
-void WebPagePrivate::notifyDismissAutofillDialog()
-{
- m_client->notifyDismissAutofillDialog();
-}
-
-bool WebPagePrivate::useFixedLayout() const
-{
- return true;
-}
-
-Platform::WebContext WebPagePrivate::webContext(TargetDetectionStrategy strategy)
-{
- Platform::WebContext context;
-
- RefPtr<Node> node = contextNode(strategy);
- m_currentContextNode = node;
- if (!m_currentContextNode)
- return context;
-
- // Send an onContextMenu event to the current context ndoe and get the result. Since we've already figured out
- // which node we want, we can send it directly to the node and not do a hit test. The onContextMenu event doesn't require
- // mouse positions so we just set the position at (0,0)
- PlatformMouseEvent mouseEvent(IntPoint(), IntPoint(), PlatformEvent::MouseMoved, 0, NoButton, false, false, false, TouchScreen);
- if (!m_currentContextNode->dispatchMouseEvent(mouseEvent, eventNames().contextmenuEvent, 0)) {
- context.setFlag(Platform::WebContext::IsOnContextMenuPrevented);
- return context;
- }
-
- layoutIfNeeded();
-
- bool nodeAllowSelectionOverride = false;
- bool nodeIsImage = node->isHTMLElement() && isHTMLImageElement(node);
- Node* linkNode = node->enclosingLinkEventParentOrSelf();
- // Set link url only when the node is linked image, or text inside anchor. Prevent CCM popup when long press non-link element(eg. button) inside an anchor.
- if (linkNode && (node == linkNode || node->isTextNode() || nodeIsImage)) {
- KURL href;
- if (linkNode->isLink() && linkNode->hasAttributes()) {
- if (const Attribute* attribute = toElement(linkNode)->getAttributeItem(HTMLNames::hrefAttr))
- href = linkNode->document()->completeURL(stripLeadingAndTrailingHTMLSpaces(attribute->value()));
- }
-
- String pattern = findPatternStringForUrl(href);
- if (!pattern.isEmpty())
- context.setPattern(pattern);
-
- if (!href.string().isEmpty()) {
- context.setUrl(href.string());
-
- // Links are non-selectable by default, but selection should be allowed
- // providing the page is selectable, use the parent to determine it.
- if (linkNode->parentNode() && linkNode->parentNode()->canStartSelection())
- nodeAllowSelectionOverride = true;
- }
- }
-
- if (node->isHTMLElement()) {
- HTMLImageElement* imageElement = 0;
- HTMLMediaElement* mediaElement = 0;
-
- if (isHTMLImageElement(node))
- imageElement = toHTMLImageElement(node.get());
- else if (isHTMLAreaElement(node))
- imageElement = toHTMLAreaElement(node.get())->imageElement();
-
- if (static_cast<HTMLElement*>(node.get())->isMediaElement())
- mediaElement = toHTMLMediaElement(node.get());
-
- if (imageElement && imageElement->renderer()) {
- context.setFlag(Platform::WebContext::IsImage);
- // FIXME: At the mean time, we only show "Save Image" when the image data is available.
- if (CachedImage* cachedImage = imageElement->cachedImage()) {
- if (cachedImage->isLoaded() && cachedImage->resourceBuffer()) {
- String url = stripLeadingAndTrailingHTMLSpaces(imageElement->getAttribute(HTMLNames::srcAttr).string());
- context.setSrc(node->document()->completeURL(url).string());
-
- String mimeType = cachedImage->response().mimeType();
- if (mimeType.isEmpty()) {
- StringBuilder builder;
- String extension = cachedImage->image()->filenameExtension();
- builder.append("image/");
- if (extension.isEmpty())
- builder.append("unknown");
- else if (extension == "jpg")
- builder.append("jpeg");
- else
- builder.append(extension);
- mimeType = builder.toString();
- }
- context.setMimeType(mimeType);
- }
- }
- String alt = imageElement->altText();
- if (!alt.isNull())
- context.setAlt(alt);
- }
-
- if (mediaElement) {
- if (mediaElement->hasAudio())
- context.setFlag(Platform::WebContext::IsAudio);
- if (mediaElement->hasVideo())
- context.setFlag(Platform::WebContext::IsVideo);
-
- String src = stripLeadingAndTrailingHTMLSpaces(mediaElement->getAttribute(HTMLNames::srcAttr).string());
- context.setSrc(node->document()->completeURL(src).string());
- }
- }
-
- if (node->isTextNode()) {
- Text* curText = toText(node.get());
- if (!curText->wholeText().isEmpty())
- context.setText(curText->wholeText());
- }
-
- bool canStartSelection = node->canStartSelection();
-
- if (node->isElementNode()) {
- Element* element = toElement(node->deprecatedShadowAncestorNode());
-
- if (DOMSupport::isTextBasedContentEditableElement(element)) {
- if (!canStartSelection) {
- // Input fields host node is by spec non-editable unless the field itself has content editable enabled.
- // Enable selection if the shadow tree for the input field is selectable.
- Node* nodeUnderFinger = m_touchEventHandler->lastFatFingersResult().isValid() ? m_touchEventHandler->lastFatFingersResult().node(FatFingersResult::ShadowContentAllowed) : 0;
- if (nodeUnderFinger)
- canStartSelection = nodeUnderFinger->canStartSelection();
- }
- context.setFlag(Platform::WebContext::IsInput);
- if (isHTMLInputElement(element))
- context.setFlag(Platform::WebContext::IsSingleLine);
- if (DOMSupport::isPasswordElement(element))
- context.setFlag(Platform::WebContext::IsPassword);
-
- String elementText(DOMSupport::inputElementText(element));
- if (!elementText.stripWhiteSpace().isEmpty())
- context.setText(elementText);
- else if (!node->focused() && m_touchEventHandler->lastFatFingersResult().isValid() && strategy == RectBased) {
- // If an input field is empty and not focused send a mouse click so that it gets a cursor and we can paste into it.
- m_touchEventHandler->sendClickAtFatFingersPoint();
- }
- }
- }
-
- if (!nodeAllowSelectionOverride && !canStartSelection)
- context.resetFlag(Platform::WebContext::IsSelectable);
-
- if (node->isFocusable())
- context.setFlag(Platform::WebContext::IsFocusable);
-
- // Walk up the node tree looking for our custom webworks context attribute.
- while (node) {
- if (node->isElementNode()) {
- Element* element = toElement(node->deprecatedShadowAncestorNode());
- String webWorksContext(DOMSupport::webWorksContext(element));
- if (!webWorksContext.stripWhiteSpace().isEmpty()) {
- context.setFlag(Platform::WebContext::IsWebWorksContext);
- context.setWebWorksContext(webWorksContext);
- break;
- }
- }
- node = node->parentNode();
- }
-
- return context;
-}
-
-Platform::WebContext WebPage::webContext(TargetDetectionStrategy strategy) const
-{
- return d->webContext(strategy);
-}
-
-void WebPagePrivate::updateCursor()
-{
- int buttonMask = 0;
- if (m_lastMouseEvent.button() == LeftButton)
- buttonMask = Platform::MouseEvent::ScreenLeftMouseButton;
- else if (m_lastMouseEvent.button() == MiddleButton)
- buttonMask = Platform::MouseEvent::ScreenMiddleMouseButton;
- else if (m_lastMouseEvent.button() == RightButton)
- buttonMask = Platform::MouseEvent::ScreenRightMouseButton;
-
- unsigned modifiers = m_lastMouseEvent.shiftKey() ? 0 : KEYMOD_SHIFT |
- m_lastMouseEvent.ctrlKey() ? 0 : KEYMOD_CTRL |
- m_lastMouseEvent.altKey() ? 0 : KEYMOD_ALT;
-
- const Platform::ViewportAccessor* viewportAccessor = m_webkitThreadViewportAccessor;
-
- BlackBerry::Platform::MouseEvent event(buttonMask, buttonMask,
- viewportAccessor->roundToPixelFromDocumentContents(WebCore::FloatPoint(m_lastMouseEvent.position())),
- viewportAccessor->roundToPixelFromDocumentContents(WebCore::FloatPoint(m_lastMouseEvent.globalPosition())),
- 0, modifiers, 0);
-
- // We have added document viewport position and document content position as members of the mouse event. When we create the event, we should initialize them as well.
- event.populateDocumentPosition(m_lastMouseEvent.position(), viewportAccessor->documentContentsFromViewport(m_lastMouseEvent.position()));
-
- m_webPage->mouseEvent(event);
-}
-
-IntSize WebPagePrivate::fixedLayoutSize(bool snapToIncrement) const
-{
- if (hasVirtualViewport())
- return m_virtualViewportSize;
-
- const int defaultLayoutWidth = m_defaultLayoutSize.width();
- const int defaultLayoutHeight = m_defaultLayoutSize.height();
-
- int minWidth = defaultLayoutWidth;
- int maxWidth = DEFAULT_MAX_LAYOUT_WIDTH;
- int maxHeight = DEFAULT_MAX_LAYOUT_HEIGHT;
-
- // If the load state is none then we haven't actually got anything yet, but we need to layout
- // the entire page so that the user sees the entire page (unrendered) instead of just part of it.
- // If the load state is Provisional, it is possible that absoluteVisibleOverflowSize() and
- // contentsSize() are based on the old page and cause inconsistent fixedLayoutSize, so layout the
- // new page based on the defaultLayoutSize as well.
- if (m_loadState == None || m_loadState == Provisional)
- return IntSize(defaultLayoutWidth, defaultLayoutHeight);
-
- if (m_viewMode == FixedDesktop) {
- int width = maxWidth;
- // if the defaultLayoutHeight is at minimum, it probably was set as 0
- // and clamped, meaning it's effectively not set. (Even if it happened
- // to be set exactly to the minimum, it's too small to be useful.) So
- // ignore it.
- int height;
- if (defaultLayoutHeight <= minimumLayoutSize.height())
- height = maxHeight;
- else
- height = ceilf(static_cast<float>(width) / static_cast<float>(defaultLayoutWidth) * static_cast<float>(defaultLayoutHeight));
- return IntSize(width, height);
- }
-
- if (m_viewMode == Desktop) {
- // If we detect an overflow larger than the contents size then use that instead since
- // it'll still be clamped by the maxWidth below...
- int width = std::max(absoluteVisibleOverflowSize().width(), contentsSize().width());
- if (m_pendingOrientation != -1 && !m_nestedLayoutFinishedCount && !m_overflowExceedsContentsSize)
- width = 0;
-
- if (snapToIncrement) {
- // Snap to increments of defaultLayoutWidth / 2.0.
- float factor = static_cast<float>(width) / (defaultLayoutWidth / 2.0);
- factor = ceilf(factor);
- width = (defaultLayoutWidth / 2.0) * factor;
- }
-
- if (width < minWidth)
- width = minWidth;
- if (width > maxWidth)
- width = maxWidth;
- int height = ceilf(static_cast<float>(width) / static_cast<float>(defaultLayoutWidth) * static_cast<float>(defaultLayoutHeight));
- return IntSize(width, height);
- }
-
- ASSERT_NOT_REACHED();
- return IntSize(defaultLayoutWidth, defaultLayoutHeight);
-}
-
-BackingStoreClient* WebPagePrivate::backingStoreClient() const
-{
- return m_backingStoreClient;
-}
-
-void WebPagePrivate::clearDocumentData(const Document* documentGoingAway)
-{
- ASSERT(documentGoingAway);
- if (m_currentContextNode && m_currentContextNode->document() == documentGoingAway)
- m_currentContextNode = 0;
-
- if (m_currentPinchZoomNode && m_currentPinchZoomNode->document() == documentGoingAway)
- m_currentPinchZoomNode = 0;
-
- if (m_currentBlockZoomAdjustedNode && m_currentBlockZoomAdjustedNode->document() == documentGoingAway)
- m_currentBlockZoomAdjustedNode = 0;
-
- if (m_inRegionScroller->d->isActive())
- m_inRegionScroller->d->clearDocumentData(documentGoingAway);
-
- if (documentGoingAway->frame())
- m_inputHandler->frameUnloaded(documentGoingAway->frame());
-
- Node* nodeUnderFatFinger = m_touchEventHandler->lastFatFingersResult().node();
- if (nodeUnderFatFinger && nodeUnderFatFinger->document() == documentGoingAway)
- m_touchEventHandler->resetLastFatFingersResult();
-
- // NOTE: m_fullscreenNode, m_fullScreenPluginView and m_pluginViews
- // are cleared in other methods already.
-}
-
-typedef bool (*PredicateFunction)(RenderLayer*);
-static bool isPositionedContainer(RenderLayer* layer)
-{
- RenderObject* o = layer->renderer();
- return o->isRenderView() || o->isOutOfFlowPositioned() || o->isRelPositioned() || layer->hasTransform();
-}
-
-static bool isFixedPositionedContainer(RenderLayer* layer)
-{
- RenderObject* o = layer->renderer();
- return o->isRenderView() || (o->isOutOfFlowPositioned() && o->style()->position() == FixedPosition);
-}
-
-static RenderLayer* findAncestorOrSelfNotMatching(PredicateFunction predicate, RenderLayer* layer)
-{
- RenderLayer* curr = layer;
- while (curr && !predicate(curr))
- curr = curr->parent();
-
- return curr;
-}
-
-RenderLayer* WebPagePrivate::enclosingFixedPositionedAncestorOrSelfIfFixedPositioned(RenderLayer* layer)
-{
- return findAncestorOrSelfNotMatching(&isFixedPositionedContainer, layer);
-}
-
-RenderLayer* WebPagePrivate::enclosingPositionedAncestorOrSelfIfPositioned(RenderLayer* layer)
-{
- return findAncestorOrSelfNotMatching(&isPositionedContainer, layer);
-}
-
-static inline Frame* frameForNode(Node* node)
-{
- Node* origNode = node;
- for (; node; node = node->parentNode()) {
- if (RenderObject* renderer = node->renderer()) {
- if (renderer->isRenderView()) {
- if (FrameView* view = toRenderView(renderer)->frameView()) {
- if (Frame* frame = view->frame())
- return frame;
- }
- }
- if (renderer->isWidget()) {
- Widget* widget = toRenderWidget(renderer)->widget();
- if (widget && widget->isFrameView()) {
- if (Frame* frame = toFrameView(widget)->frame())
- return frame;
- }
- }
- }
- }
-
- for (node = origNode; node; node = node->parentNode()) {
- if (Document* doc = node->document()) {
- if (Frame* frame = doc->frame())
- return frame;
- }
- }
-
- return 0;
-}
-
-static IntRect getNodeWindowRect(Node* node)
-{
- if (Frame* frame = frameForNode(node)) {
- if (FrameView* view = frame->view())
- return view->contentsToWindow(node->getRect());
- }
- ASSERT_NOT_REACHED();
- return IntRect();
-}
-
-IntRect WebPagePrivate::getRecursiveVisibleWindowRect(ScrollView* view, bool noClipOfMainFrame)
-{
- ASSERT(m_mainFrame);
-
- // Don't call this function asking to not clip the main frame providing only
- // the main frame. All that can be returned is the content rect which
- // isn't what this function is for.
- if (noClipOfMainFrame && view == m_mainFrame->view()) {
- ASSERT_NOT_REACHED();
- return IntRect(IntPoint::zero(), view->contentsSize());
- }
-
- IntRect visibleWindowRect(view->contentsToWindow(view->visibleContentRect()));
- if (view->parent() && !(noClipOfMainFrame && view->parent() == m_mainFrame->view())) {
- // Intersect with parent visible rect.
- visibleWindowRect.intersect(getRecursiveVisibleWindowRect(view->parent(), noClipOfMainFrame));
- }
- return visibleWindowRect;
-}
-
-void WebPagePrivate::assignFocus(Platform::FocusDirection direction)
-{
- ASSERT((int) Platform::FocusDirectionNone == (int) FocusDirectionNone);
- ASSERT((int) Platform::FocusDirectionForward == (int) FocusDirectionForward);
- ASSERT((int) Platform::FocusDirectionBackward == (int) FocusDirectionBackward);
-
- // First we clear the focus, since we want to focus either initial or the last
- // focusable element in the webpage (according to the TABINDEX), or simply clear
- // the focus.
- clearFocusNode();
-
- switch (direction) {
- case FocusDirectionForward:
- case FocusDirectionBackward:
- m_page->focusController()->setInitialFocus((FocusDirection) direction, 0);
- break;
- case FocusDirectionNone:
- break;
- default:
- ASSERT_NOT_REACHED();
- }
-}
-
-void WebPage::assignFocus(Platform::FocusDirection direction)
-{
- if (d->m_page->defersLoading())
- return;
- d->assignFocus(direction);
-}
-
-void WebPage::focusNextField()
-{
- d->m_inputHandler->focusNextField();
-}
-
-void WebPage::focusPreviousField()
-{
- d->m_inputHandler->focusPreviousField();
-}
-
-void WebPage::submitForm()
-{
- d->m_inputHandler->submitForm();
-}
-
-Platform::IntRect WebPagePrivate::focusNodeRect()
-{
- Frame* frame = focusedOrMainFrame();
- if (!frame)
- return Platform::IntRect();
-
- Document* doc = frame->document();
- FrameView* view = frame->view();
- if (!doc || !view || view->needsLayout())
- return Platform::IntRect();
-
- const Platform::ViewportAccessor* viewportAccessor = m_webkitThreadViewportAccessor;
-
- IntRect focusRect = rectForNode(doc->focusedElement());
- focusRect = adjustRectOffsetForFrameOffset(focusRect, doc->focusedElement());
- focusRect = viewportAccessor->roundToPixelFromDocumentContents(WebCore::FloatRect(focusRect));
- focusRect.intersect(viewportAccessor->pixelContentsRect());
- return focusRect;
-}
-
-PassRefPtr<Node> WebPagePrivate::contextNode(TargetDetectionStrategy strategy)
-{
- EventHandler* eventHandler = focusedOrMainFrame()->eventHandler();
- const FatFingersResult lastFatFingersResult = m_touchEventHandler->lastFatFingersResult();
- bool isTouching = lastFatFingersResult.isValid() && strategy == RectBased;
-
- // Check if we're using LinkToLink and the user is not touching the screen.
- if (m_webSettings->doesGetFocusNodeContext() && !isTouching) {
- RefPtr<Node> node;
- node = m_page->focusController()->focusedOrMainFrame()->document()->focusedElement();
- if (node) {
- IntRect visibleRect = IntRect(IntPoint(), actualVisibleSize());
- if (!visibleRect.intersects(getNodeWindowRect(node.get())))
- return 0;
- }
- return node.release();
- }
-
- // Check for text input.
- if (isTouching && lastFatFingersResult.isTextInput())
- return lastFatFingersResult.node(FatFingersResult::ShadowContentNotAllowed);
-
- if (strategy == RectBased) {
- FatFingersResult result = FatFingers(this, lastFatFingersResult.adjustedPosition(), FatFingers::Text).findBestPoint();
- // Cache text result for later use.
- m_touchEventHandler->cacheTextResult(result);
- return result.node(FatFingersResult::ShadowContentNotAllowed);
- }
- if (strategy == FocusBased)
- return m_inputHandler->currentFocusElement();
-
- IntPoint contentPos;
- if (isTouching)
- contentPos = lastFatFingersResult.adjustedPosition();
- else
- contentPos = m_webkitThreadViewportAccessor->documentContentsFromViewport(m_lastMouseEvent.position());
-
- HitTestResult result = eventHandler->hitTestResultAtPoint(contentPos);
- return result.innerNode();
-}
-
-static inline int distanceBetweenPoints(IntPoint p1, IntPoint p2)
-{
- // Change int to double, because (dy * dy) can cause int overflow in reality, e.g, (-46709 * -46709).
- double dx = static_cast<double>(p1.x() - p2.x());
- double dy = static_cast<double>(p1.y() - p2.y());
- return sqrt((dx * dx) + (dy * dy));
-}
-
-Node* WebPagePrivate::bestNodeForZoomUnderPoint(const IntPoint& documentPoint)
-{
- IntRect clickRect(documentPoint.x() - blockClickRadius, documentPoint.y() - blockClickRadius, 2 * blockClickRadius, 2 * blockClickRadius);
- Node* originalNode = nodeForZoomUnderPoint(documentPoint);
- if (!originalNode)
- return 0;
- Node* node = bestChildNodeForClickRect(originalNode, clickRect);
- return node ? adjustedBlockZoomNodeForZoomAndExpandingRatioLimits(node) : adjustedBlockZoomNodeForZoomAndExpandingRatioLimits(originalNode);
-}
-
-Node* WebPagePrivate::bestChildNodeForClickRect(Node* parentNode, const IntRect& clickRect)
-{
- if (!parentNode)
- return 0;
-
- int bestDistance = std::numeric_limits<int>::max();
-
- Node* node = parentNode->firstChild();
- Node* bestNode = 0;
- for (; node; node = node->nextSibling()) {
- IntRect rect = rectForNode(node);
- if (!clickRect.intersects(rect))
- continue;
-
- int distance = distanceBetweenPoints(rect.center(), clickRect.center());
- Node* bestChildNode = bestChildNodeForClickRect(node, clickRect);
- if (bestChildNode) {
- IntRect bestChildRect = rectForNode(bestChildNode);
- int bestChildDistance = distanceBetweenPoints(bestChildRect.center(), clickRect.center());
- if (bestChildDistance < distance && bestChildDistance < bestDistance) {
- bestNode = bestChildNode;
- bestDistance = bestChildDistance;
- } else {
- if (distance < bestDistance) {
- bestNode = node;
- bestDistance = distance;
- }
- }
- } else {
- if (distance < bestDistance) {
- bestNode = node;
- bestDistance = distance;
- }
- }
- }
-
- return bestNode;
-}
-
-double WebPagePrivate::maxBlockZoomScale() const
-{
- return std::min(maximumBlockZoomScale, maximumScale());
-}
-
-Node* WebPagePrivate::nodeForZoomUnderPoint(const IntPoint& documentPoint)
-{
- if (!m_mainFrame)
- return 0;
-
- HitTestResult result = m_mainFrame->eventHandler()->hitTestResultAtPoint(documentPoint);
-
- Node* node = result.innerNonSharedNode();
-
- if (!node)
- return 0;
-
- RenderObject* renderer = node->renderer();
- while (!renderer) {
- node = node->parentNode();
- renderer = node->renderer();
- }
-
- return node;
-}
-
-Node* WebPagePrivate::adjustedBlockZoomNodeForZoomAndExpandingRatioLimits(Node* node)
-{
- Node* initialNode = node;
- RenderObject* renderer = node->renderer();
- bool acceptableNodeSize = newScaleForBlockZoomRect(rectForNode(node), 1.0, 0) < maximumScale();
- IntSize actualVisibleSize = this->actualVisibleSize();
-
- while (!renderer || !acceptableNodeSize) {
- node = node->parentNode();
- IntRect nodeRect = rectForNode(node);
-
- // Don't choose a node if the width of the node size is very close to the width of the actual visible size,
- // as block zoom can do nothing on such kind of node.
- if (!node || static_cast<double>(actualVisibleSize.width() - nodeRect.width()) / actualVisibleSize.width() < minimumExpandingRatio)
- return initialNode;
-
- renderer = node->renderer();
- acceptableNodeSize = newScaleForBlockZoomRect(rectForNode(node), 1.0, 0) < maximumScale();
- }
-
- return node;
-}
-
-bool WebPagePrivate::compareNodesForBlockZoom(Node* n1, Node* n2)
-{
- if (!n1 || !n2)
- return false;
-
- return (n2 == n1) || n2->isDescendantOf(n1);
-}
-
-double WebPagePrivate::newScaleForBlockZoomRect(const IntRect& rect, double oldScale, double margin)
-{
- if (rect.isEmpty())
- return std::numeric_limits<double>::max();
-
- ASSERT(rect.width() + margin);
-
- double newScale = oldScale * static_cast<double>(transformedActualVisibleSize().width()) / (rect.width() + margin);
-
- return newScale;
-}
-
-IntRect WebPagePrivate::rectForNode(Node* node)
-{
- if (!node)
- return IntRect();
-
- RenderObject* renderer = node->renderer();
-
- if (!renderer)
- return IntRect();
-
- // Return rect in un-transformed content coordinates.
- IntRect blockRect;
-
- // FIXME: Ensure this works with iframes.
- if (m_webPage->settings()->textReflowMode() == WebSettings::TextReflowEnabled && renderer->isText()) {
- RenderBlock* renderBlock = renderer->containingBlock();
- int xOffset = 0;
- int yOffset = 0;
- while (!renderBlock->isRoot()) {
- xOffset += renderBlock->x().toInt();
- yOffset += renderBlock->y().toInt();
- renderBlock = renderBlock->containingBlock();
- }
- const RenderText* renderText = toRenderText(renderer);
- IntRect linesBox = renderText->linesBoundingBox();
- blockRect = IntRect(xOffset + linesBox.x(), yOffset + linesBox.y(), linesBox.width(), linesBox.height());
- } else
- blockRect = IntRect(renderer->absoluteClippedOverflowRect());
-
- if (renderer->isText()) {
- RenderBlock* rb = renderer->containingBlock();
-
- // Inefficient? Way to find width when floats intersect a block.
- int blockWidth = 0;
- int lineCount = rb->lineCount();
- for (int i = 0; i < lineCount; i++)
- blockWidth = max(blockWidth, rb->availableLogicalWidthForLine(i, false).toInt());
-
- blockRect.setWidth(blockWidth);
- blockRect.setX(blockRect.x() + rb->logicalLeftOffsetForLine(1, false));
- }
-
- // Strip off padding.
- if (renderer->style()->hasPadding()) {
- blockRect.setX(blockRect.x() + renderer->style()->paddingLeft().value());
- blockRect.setY(blockRect.y() + renderer->style()->paddingTop().value());
- blockRect.setWidth(blockRect.width() - renderer->style()->paddingRight().value());
- blockRect.setHeight(blockRect.height() - renderer->style()->paddingBottom().value());
- }
-
- return blockRect;
-}
-
-IntPoint WebPagePrivate::frameOffset(const Frame* frame) const
-{
- ASSERT(frame);
-
- // FIXME: This function can be called when page is being destroyed and JS triggers selection change.
- // We could break the call chain at upper levels, but I think it is better to check the frame pointer
- // here because the pointer is explicitly cleared in WebPage::destroy().
- if (!mainFrame())
- return IntPoint();
-
- // Convert 0,0 in the frame's coordinate system to window coordinates to
- // get the frame's global position, and return this position in the main
- // frame's coordinates. (So the main frame's coordinates will be 0,0.)
- return mainFrame()->view()->windowToContents(frame->view()->contentsToWindow(IntPoint::zero()));
-}
-
-IntRect WebPagePrivate::adjustRectOffsetForFrameOffset(const IntRect& rect, const Node* node)
-{
- if (!node)
- return rect;
-
- // Adjust the offset of the rect if it is in an iFrame/frame or set of iFrames/frames.
- // FIXME: can we just use frameOffset instead of this big routine?
- const Node* tnode = node;
- IntRect adjustedRect = rect;
- do {
- Frame* frame = tnode->document()->frame();
- if (!frame)
- continue;
-
- Node* ownerNode = static_cast<Node*>(frame->ownerElement());
- tnode = ownerNode;
- if (ownerNode && (ownerNode->hasTagName(HTMLNames::iframeTag) || ownerNode->hasTagName(HTMLNames::frameTag))) {
- IntRect iFrameRect;
- do {
- iFrameRect = rectForNode(ownerNode);
- adjustedRect.move(iFrameRect.x(), iFrameRect.y());
- adjustedRect.intersect(iFrameRect);
- ownerNode = ownerNode->parentNode();
- } while (iFrameRect.isEmpty() && ownerNode);
- } else
- break;
- } while ((tnode = tnode->parentNode()));
-
- return adjustedRect;
-}
-
-IntRect WebPagePrivate::blockZoomRectForNode(Node* node)
-{
- if (!node || contentsSize().isEmpty())
- return IntRect();
-
- Node* tnode = node;
- m_currentBlockZoomAdjustedNode = tnode;
-
- IntRect blockRect = rectForNode(tnode);
- IntRect originalRect = blockRect;
-
- int originalArea = originalRect.width() * originalRect.height();
- int pageArea = contentsSize().width() * contentsSize().height();
- double blockToPageRatio = static_cast<double>(pageArea - originalArea) / pageArea;
- double blockExpansionRatio = 5.0 * blockToPageRatio * blockToPageRatio;
-
- if (!isHTMLImageElement(tnode) && !isHTMLInputElement(tnode) && !isHTMLTextAreaElement(tnode)) {
- while ((tnode = tnode->parentNode())) {
- ASSERT(tnode);
- IntRect tRect = rectForNode(tnode);
- int tempBlockArea = tRect.width() * tRect.height();
- // Don't expand the block if it will be too large relative to the content.
- if (static_cast<double>(pageArea - tempBlockArea) / pageArea < minimumExpandingRatio)
- break;
- if (tRect.isEmpty())
- continue; // No renderer.
- if (tempBlockArea < 1.1 * originalArea)
- continue; // The size of this parent is very close to the child, no need to go to this parent.
- // Don't expand the block if the parent node size is already almost the size of actual visible size.
- IntSize actualSize = actualVisibleSize();
- if (static_cast<double>(actualSize.width() - tRect.width()) / actualSize.width() < minimumExpandingRatio)
- break;
- if (tempBlockArea < blockExpansionRatio * originalArea) {
- blockRect = tRect;
- m_currentBlockZoomAdjustedNode = tnode;
- } else
- break;
- }
- }
-
- const Platform::ViewportAccessor* viewportAccessor = m_webkitThreadViewportAccessor;
-
- blockRect = adjustRectOffsetForFrameOffset(blockRect, node);
- blockRect = viewportAccessor->roundToPixelFromDocumentContents(WebCore::FloatRect(blockRect));
- blockRect.intersect(viewportAccessor->pixelContentsRect());
-
- return blockRect;
-}
-
-// This function should not be called directly.
-// It is called after the animation ends (see above).
-void WebPagePrivate::zoomAnimationFinished(double finalAnimationScale, const WebCore::FloatPoint& finalAnimationDocumentScrollPosition, bool shouldConstrainScrollingToContentEdge)
-{
- if (!m_mainFrame)
- return;
-
- const Platform::ViewportAccessor* viewportAccessor = m_webkitThreadViewportAccessor;
-
- IntPoint anchor(viewportAccessor->roundedDocumentContents(finalAnimationDocumentScrollPosition));
- bool willUseTextReflow = false;
-
-#if ENABLE(VIEWPORT_REFLOW)
- willUseTextReflow = m_webPage->settings()->textReflowMode() != WebSettings::TextReflowDisabled;
- toggleTextReflowIfEnabledForBlockZoomOnly(m_shouldReflowBlock);
- setNeedsLayout();
-#endif
-
- TransformationMatrix zoom;
- zoom.scale(finalAnimationScale);
- *m_transformationMatrix = zoom;
- // FIXME: Do we really need to suspend/resume both backingstore and screen here?
- m_backingStore->d->suspendBackingStoreUpdates();
- m_backingStore->d->suspendScreenUpdates();
- updateViewportSize();
-
- FrameView* mainFrameView = m_mainFrame->view();
- bool constrainsScrollingToContentEdge = true;
- if (mainFrameView) {
- constrainsScrollingToContentEdge = mainFrameView->constrainsScrollingToContentEdge();
- mainFrameView->setConstrainsScrollingToContentEdge(shouldConstrainScrollingToContentEdge);
- }
-
-#if ENABLE(VIEWPORT_REFLOW)
- layoutIfNeeded();
- if (willUseTextReflow && m_shouldReflowBlock) {
- Platform::IntPoint roundedReflowOffset(
- std::floorf(m_finalAnimationDocumentScrollPositionReflowOffset.x()),
- std::floorf(m_finalAnimationDocumentScrollPositionReflowOffset.y()));
-
- IntRect reflowedRect = rectForNode(m_currentBlockZoomAdjustedNode.get());
- reflowedRect = adjustRectOffsetForFrameOffset(reflowedRect, m_currentBlockZoomAdjustedNode.get());
- reflowedRect.move(roundedReflowOffset.x(), roundedReflowOffset.y());
-
- RenderObject* renderer = m_currentBlockZoomAdjustedNode->renderer();
- IntPoint topLeftPoint(reflowedRect.location());
- if (renderer && renderer->isText()) {
- ETextAlign textAlign = renderer->style()->textAlign();
- IntPoint textAnchor;
- switch (textAlign) {
- case CENTER:
- case WEBKIT_CENTER:
- textAnchor = IntPoint(reflowedRect.x() + (reflowedRect.width() - actualVisibleSize().width()) / 2, topLeftPoint.y());
- break;
- case LEFT:
- case WEBKIT_LEFT:
- textAnchor = topLeftPoint;
- break;
- case RIGHT:
- case WEBKIT_RIGHT:
- textAnchor = IntPoint(reflowedRect.x() + reflowedRect.width() - actualVisibleSize().width(), topLeftPoint.y());
- break;
- case TASTART:
- case JUSTIFY:
- default:
- if (renderer->style()->isLeftToRightDirection())
- textAnchor = topLeftPoint;
- else
- textAnchor = IntPoint(reflowedRect.x() + reflowedRect.width() - actualVisibleSize().width(), topLeftPoint.y());
- break;
- }
- setScrollPosition(textAnchor);
- } else {
- renderer->style()->isLeftToRightDirection()
- ? setScrollPosition(topLeftPoint)
- : setScrollPosition(IntPoint(reflowedRect.x() + reflowedRect.width() - actualVisibleSize().width(), topLeftPoint.y()));
- }
- } else if (willUseTextReflow) {
- IntRect finalRect = rectForNode(m_currentBlockZoomAdjustedNode.get());
- finalRect = adjustRectOffsetForFrameOffset(finalRect, m_currentBlockZoomAdjustedNode.get());
- setScrollPosition(IntPoint(0, finalRect.y() + m_finalAnimationDocumentScrollPositionReflowOffset.y()));
- resetBlockZoom();
- }
-#endif
- if (!willUseTextReflow) {
- setScrollPosition(anchor);
- if (!m_shouldReflowBlock)
- resetBlockZoom();
- }
-
- notifyTransformChanged();
- m_client->scaleChanged();
-
- if (mainFrameView)
- mainFrameView->setConstrainsScrollingToContentEdge(constrainsScrollingToContentEdge);
-
- // FIXME: Do we really need to suspend/resume both backingstore and screen here?
- m_backingStore->d->resumeBackingStoreUpdates();
- m_backingStore->d->resumeScreenUpdates(BackingStore::RenderAndBlit);
-}
-
-void WebPage::zoomAnimationFinished(double finalScale, const Platform::FloatPoint& finalDocumentScrollPosition, bool shouldConstrainScrollingToContentEdge)
-{
- d->zoomAnimationFinished(finalScale, finalDocumentScrollPosition, shouldConstrainScrollingToContentEdge);
-}
-
-void WebPage::resetBlockZoom()
-{
- d->resetBlockZoom();
-}
-
-void WebPagePrivate::resetBlockZoom()
-{
- m_currentBlockZoomNode = 0;
- m_currentBlockZoomAdjustedNode = 0;
- m_shouldReflowBlock = false;
-}
-
-void WebPage::destroyWebPageCompositor()
-{
-#if USE(ACCELERATED_COMPOSITING)
- // Destroy the layer renderer in a sync command before we destroy the backing store,
- // to flush any pending compositing messages on the compositing thread.
- // The backing store is indirectly deleted by the 'detachFromParent' call below.
- d->syncDestroyCompositorOnCompositingThread();
-#endif
-}
-
-void WebPage::destroy()
-{
- // TODO: need to verify if this call needs to be made before calling
- // Close the Inspector to resume the JS engine if it's paused.
- disableWebInspector();
-
- // WebPage::destroyWebPageCompositor()
- // FIXME: Do we really need to suspend/resume both backingstore and screen here?
- d->m_backingStore->d->suspendBackingStoreUpdates();
- d->m_backingStore->d->suspendScreenUpdates();
-
- // Close the backforward list and release the cached pages.
- d->m_page->backForward()->close();
-
- FrameLoader* loader = d->m_mainFrame->loader();
-
- // Set m_mainFrame to 0 to avoid calls back in to the backingstore during webpage deletion.
- d->m_mainFrame = 0;
- if (loader)
- loader->detachFromParent();
-
- deleteGuardedObject(this);
-}
-
-WebPageClient* WebPage::client() const
-{
- return d->m_client;
-}
-
-int WebPage::backForwardListLength() const
-{
- return d->m_page->getHistoryLength();
-}
-
-bool WebPage::canGoBackOrForward(int delta) const
-{
- return d->m_page->canGoBackOrForward(delta);
-}
-
-bool WebPage::goBackOrForward(int delta)
-{
- if (d->m_page->canGoBackOrForward(delta)) {
- d->m_userPerformedManualZoom = false;
- d->m_userPerformedManualScroll = false;
- d->m_backingStore->d->suspendScreenUpdates();
- d->m_page->goBackOrForward(delta);
- d->m_backingStore->d->resumeScreenUpdates(BackingStore::None);
- return true;
- }
- return false;
-}
-
-void WebPage::goToBackForwardEntry(BackForwardId id)
-{
- HistoryItem* item = historyItemFromBackForwardId(id);
- ASSERT(item);
- d->m_page->goToItem(item, FrameLoadTypeIndexedBackForward);
-}
-
-void WebPage::reload()
-{
- d->m_mainFrame->loader()->reload(/* bypassCache */ true);
-}
-
-void WebPage::reloadFromCache()
-{
- d->m_mainFrame->loader()->reload(/* bypassCache */ false);
-}
-
-WebSettings* WebPage::settings() const
-{
- return d->m_webSettings;
-}
-
-WebCookieJar* WebPage::cookieJar() const
-{
- if (!d->m_cookieJar)
- d->m_cookieJar = new WebCookieJar();
-
- return d->m_cookieJar;
-}
-
-bool WebPage::isLoading() const
-{
- return d->isLoading();
-}
-
-bool WebPage::isVisible() const
-{
- return d->m_visible;
-}
-
-#if ENABLE(PAGE_VISIBILITY_API)
-class DeferredTaskSetPageVisibilityState: public DeferredTask<&WebPagePrivate::m_wouldSetPageVisibilityState> {
-public:
- explicit DeferredTaskSetPageVisibilityState(WebPagePrivate* webPagePrivate)
- : DeferredTaskType(webPagePrivate)
- {
- }
-private:
- virtual void performInternal(WebPagePrivate* webPagePrivate)
- {
- webPagePrivate->setPageVisibilityState();
- }
-};
-
-void WebPagePrivate::setPageVisibilityState()
-{
- if (m_page->defersLoading())
- m_deferredTasks.append(adoptPtr(new DeferredTaskSetPageVisibilityState(this)));
- else {
- DeferredTaskSetPageVisibilityState::finishOrCancel(this);
-
- static bool s_initialVisibilityState = true;
-
- m_page->setVisibilityState(m_visible && m_activationState == ActivationActive ? PageVisibilityStateVisible : PageVisibilityStateHidden, s_initialVisibilityState);
- s_initialVisibilityState = false;
- }
-}
-#endif
-
-void WebPagePrivate::setVisible(bool visible)
-{
- if (visible != m_visible) {
- if (visible) {
- if (m_mainFrame)
- m_mainFrame->animation()->resumeAnimations();
- if (m_page->scriptedAnimationsSuspended())
- m_page->resumeScriptedAnimations();
- } else {
- if (m_mainFrame)
- m_mainFrame->animation()->suspendAnimations();
- if (!m_page->scriptedAnimationsSuspended())
- m_page->suspendScriptedAnimations();
-
- closePagePopup();
- }
-
- m_visible = visible;
- m_backingStore->d->updateSuspendScreenUpdateState();
- }
-
-#if ENABLE(PAGE_VISIBILITY_API)
- setPageVisibilityState();
-#endif
-}
-
-void WebPage::setVisible(bool visible)
-{
- if (d->m_visible == visible)
- return;
-
- d->setVisible(visible);
- AuthenticationChallengeManager::instance()->pageVisibilityChanged(d, visible);
-
- if (!visible) {
- d->suspendBackingStore();
-
- // Remove this WebPage from the visible pages list.
- size_t foundIndex = visibleWebPages()->find(this);
- if (foundIndex != WTF::notFound)
- visibleWebPages()->remove(foundIndex);
-
- // Return the backing store to the last visible WebPage.
- if (BackingStorePrivate::currentBackingStoreOwner() == this && !visibleWebPages()->isEmpty())
- visibleWebPages()->last()->d->resumeBackingStore();
-
-#if USE(ACCELERATED_COMPOSITING)
- // Root layer commit is not necessary for invisible tabs.
- // And release layer resources can reduce memory consumption.
- d->updateRootLayerCommitEnabled();
-#endif
-
- return;
- }
-
-#if USE(ACCELERATED_COMPOSITING)
- d->updateRootLayerCommitEnabled();
-#endif
-
- // We want to become visible but not get backing store ownership.
- if (d->m_backingStore->d->isOpenGLCompositing() && !d->m_webSettings->isBackingStoreEnabled()) {
- d->setCompositorDrawsRootLayer(true);
-#if USE(ACCELERATED_COMPOSITING)
- d->setNeedsOneShotDrawingSynchronization();
-#endif
- d->setShouldResetTilesWhenShown(true);
- return;
- }
-
- // Push this WebPage to the top of the visible pages list.
- if (!visibleWebPages()->isEmpty() && visibleWebPages()->last() != this) {
- size_t foundIndex = visibleWebPages()->find(this);
- if (foundIndex != WTF::notFound)
- visibleWebPages()->remove(foundIndex);
- }
- visibleWebPages()->append(this);
-
- if (BackingStorePrivate::currentBackingStoreOwner()
- && BackingStorePrivate::currentBackingStoreOwner() != this)
- BackingStorePrivate::currentBackingStoreOwner()->d->suspendBackingStore();
-
- // resumeBackingStore will set the current owner to this webpage.
- // If we set the owner prematurely, then the tiles will not be reset.
- d->resumeBackingStore();
-}
-
-void WebPagePrivate::selectionChanged(Frame* frame)
-{
- m_inputHandler->selectionChanged();
-
- // FIXME: This is a hack!
- // To ensure the selection being changed has its frame 'focused', lets
- // set it as focused ourselves (PR #104724).
- m_page->focusController()->setFocusedFrame(frame);
-}
-
-void WebPagePrivate::updateSelectionScrollView(const Node* node)
-{
- m_inRegionScroller->d->updateSelectionScrollView(node);
-}
-
-void WebPagePrivate::updateDelegatedOverlays(bool dispatched)
-{
- // Track a dispatched message, we don't want to flood the webkit thread.
- // There can be as many as one more message enqued as needed but never less.
- if (dispatched)
- m_updateDelegatedOverlaysDispatched = false;
- else if (m_updateDelegatedOverlaysDispatched) {
- // Early return if there is message already pending on the webkit thread.
- return;
- }
-
- if (Platform::webKitThreadMessageClient()->isCurrentThread()) {
- // Must be called on the WebKit thread.
- if (m_selectionHandler->isSelectionActive())
- m_selectionHandler->selectionPositionChanged();
- if (m_inspectorOverlay)
- m_inspectorOverlay->update();
-
- } else if (m_selectionHandler->isSelectionActive()) {
- // Don't bother dispatching to webkit thread if selection and tap highlight are not active.
- m_updateDelegatedOverlaysDispatched = true;
- Platform::webKitThreadMessageClient()->dispatchMessage(Platform::createMethodCallMessage(&WebPagePrivate::updateDelegatedOverlays, this, true /*dispatched*/));
- }
-}
-
-void WebPage::setCaretHighlightStyle(Platform::CaretHighlightStyle)
-{
-}
-
-bool WebPage::setBatchEditingActive(bool active)
-{
- return d->m_inputHandler->setBatchEditingActive(active);
-}
-
-bool WebPage::setInputSelection(unsigned start, unsigned end)
-{
- if (d->m_page->defersLoading())
- return false;
- return d->m_inputHandler->setSelection(start, end);
-}
-
-int WebPage::inputCaretPosition() const
-{
- return d->m_inputHandler->caretPosition();
-}
-
-class DeferredTaskPopupListSelectMultiple: public DeferredTask<&WebPagePrivate::m_wouldPopupListSelectMultiple> {
-public:
- DeferredTaskPopupListSelectMultiple(WebPagePrivate* webPagePrivate, int size, const bool* selecteds)
- : DeferredTaskType(webPagePrivate)
- {
- webPagePrivate->m_cachedPopupListSelecteds.append(selecteds, size);
- }
-private:
- virtual void performInternal(WebPagePrivate* webPagePrivate)
- {
- webPagePrivate->m_webPage->popupListClosed(webPagePrivate->m_cachedPopupListSelecteds.size(), webPagePrivate->m_cachedPopupListSelecteds.data());
- }
-};
-
-class DeferredTaskPopupListSelectSingle: public DeferredTask<&WebPagePrivate::m_wouldPopupListSelectSingle> {
-public:
- explicit DeferredTaskPopupListSelectSingle(WebPagePrivate* webPagePrivate, int index)
- : DeferredTaskType(webPagePrivate)
- {
- webPagePrivate->m_cachedPopupListSelectedIndex = index;
- }
-private:
- virtual void performInternal(WebPagePrivate* webPagePrivate)
- {
- webPagePrivate->m_webPage->popupListClosed(webPagePrivate->m_cachedPopupListSelectedIndex);
- }
-};
-
-void WebPage::popupListClosed(int size, const bool* selecteds)
-{
- DeferredTaskPopupListSelectSingle::finishOrCancel(d);
- if (d->m_page->defersLoading()) {
- d->m_deferredTasks.append(adoptPtr(new DeferredTaskPopupListSelectMultiple(d, size, selecteds)));
- return;
- }
- DeferredTaskPopupListSelectMultiple::finishOrCancel(d);
- d->m_inputHandler->setPopupListIndexes(size, selecteds);
-}
-
-void WebPage::popupListClosed(int index)
-{
- DeferredTaskPopupListSelectMultiple::finishOrCancel(d);
- if (d->m_page->defersLoading()) {
- d->m_deferredTasks.append(adoptPtr(new DeferredTaskPopupListSelectSingle(d, index)));
- return;
- }
- DeferredTaskPopupListSelectSingle::finishOrCancel(d);
- d->m_inputHandler->setPopupListIndex(index);
-}
-
-class DeferredTaskSetDateTimeInput: public DeferredTask<&WebPagePrivate::m_wouldSetDateTimeInput> {
-public:
- explicit DeferredTaskSetDateTimeInput(WebPagePrivate* webPagePrivate, BlackBerry::Platform::String value)
- : DeferredTaskType(webPagePrivate)
- {
- webPagePrivate->m_cachedDateTimeInput = value;
- }
-private:
- virtual void performInternal(WebPagePrivate* webPagePrivate)
- {
- webPagePrivate->m_webPage->setDateTimeInput(webPagePrivate->m_cachedDateTimeInput);
- }
-};
-
-void WebPage::setDateTimeInput(const BlackBerry::Platform::String& value)
-{
- if (d->m_page->defersLoading()) {
- d->m_deferredTasks.append(adoptPtr(new DeferredTaskSetDateTimeInput(d, value)));
- return;
- }
- DeferredTaskSetDateTimeInput::finishOrCancel(d);
- d->m_inputHandler->setInputValue(value);
-}
-
-class DeferredTaskSetColorInput: public DeferredTask<&WebPagePrivate::m_wouldSetColorInput> {
-public:
- explicit DeferredTaskSetColorInput(WebPagePrivate* webPagePrivate, BlackBerry::Platform::String value)
- : DeferredTaskType(webPagePrivate)
- {
- webPagePrivate->m_cachedColorInput = value;
- }
-private:
- virtual void performInternal(WebPagePrivate* webPagePrivate)
- {
- webPagePrivate->m_webPage->setColorInput(webPagePrivate->m_cachedColorInput);
- }
-};
-
-void WebPage::setColorInput(const BlackBerry::Platform::String& value)
-{
- if (d->m_page->defersLoading()) {
- d->m_deferredTasks.append(adoptPtr(new DeferredTaskSetColorInput(d, value)));
- return;
- }
- DeferredTaskSetColorInput::finishOrCancel(d);
- d->m_inputHandler->setInputValue(value);
-}
-
-void WebPage::setVirtualViewportSize(const Platform::IntSize& size)
-{
- d->m_virtualViewportSize = WebCore::IntSize(size);
-}
-
-void WebPage::resetVirtualViewportOnCommitted(bool reset)
-{
- d->m_resetVirtualViewportOnCommitted = reset;
-}
-
-Platform::IntSize WebPagePrivate::recomputeVirtualViewportFromViewportArguments()
-{
- static const ViewportArguments defaultViewportArguments;
- if (m_viewportArguments == defaultViewportArguments)
- return IntSize();
-
- int desktopWidth = DEFAULT_MAX_LAYOUT_WIDTH;
- int deviceWidth = Platform::Graphics::Screen::primaryScreen()->width();
- int deviceHeight = Platform::Graphics::Screen::primaryScreen()->height();
- float devicePixelRatio = m_webSettings->devicePixelRatio();
- ViewportAttributes result = computeViewportAttributes(m_viewportArguments, desktopWidth, deviceWidth, deviceHeight, devicePixelRatio, m_defaultLayoutSize);
- m_page->setDeviceScaleFactor(devicePixelRatio);
-
- setUserScalable(m_webSettings->isUserScalable() && result.userScalable);
- if (result.initialScale > 0)
- setInitialScale(result.initialScale * devicePixelRatio);
- if (result.minimumScale > 0)
- setMinimumScale(result.minimumScale * devicePixelRatio);
- if (result.maximumScale > 0)
- setMaximumScale(result.maximumScale * devicePixelRatio);
-
- return Platform::IntSize(result.layoutSize.width(), result.layoutSize.height());
-}
-
-#if ENABLE(EVENT_MODE_METATAGS)
-void WebPagePrivate::didReceiveCursorEventMode(CursorEventMode mode)
-{
- if (mode != m_cursorEventMode)
- m_client->cursorEventModeChanged(toPlatformCursorEventMode(mode));
- m_cursorEventMode = mode;
-}
-
-void WebPagePrivate::didReceiveTouchEventMode(TouchEventMode mode)
-{
- if (mode != m_touchEventMode)
- m_client->touchEventModeChanged(toPlatformTouchEventMode(mode));
- m_touchEventMode = mode;
-}
-#endif
-
-void WebPagePrivate::dispatchViewportPropertiesDidChange(const ViewportArguments& arguments)
-{
- if (arguments == m_viewportArguments)
- return;
-
- // If the caller is trying to reset to default arguments, use the user supplied ones instead.
- static const ViewportArguments defaultViewportArguments;
- if (arguments == defaultViewportArguments) {
- m_viewportArguments = m_userViewportArguments;
- m_forceRespectViewportArguments = m_userViewportArguments != defaultViewportArguments;
- } else
- m_viewportArguments = arguments;
-
- // 0 width or height in viewport arguments makes no sense, and results in a very large initial scale.
- // In real world, a 0 width or height is usually caused by a syntax error in "content" field of viewport
- // meta tag, for example, using semicolon instead of comma as separator ("width=device-width; initial-scale=1.0").
- // We don't have a plan to tolerate the semicolon separator, but we can avoid applying 0 width/height.
- // I default it to ValueDeviceWidth rather than ValueAuto because in more cases the web site wants "device-width"
- // when they specify the viewport width.
- if (!m_viewportArguments.width)
- m_viewportArguments.width = ViewportArguments::ValueDeviceWidth;
- if (!m_viewportArguments.height)
- m_viewportArguments.height = ViewportArguments::ValueDeviceHeight;
-
- Platform::IntSize virtualViewport = recomputeVirtualViewportFromViewportArguments();
- m_webPage->setVirtualViewportSize(virtualViewport);
-
- // Reset m_userPerformedManualZoom and enable m_shouldZoomToInitialScaleAfterLoadFinished so that we can relayout
- // the page and zoom it to fit the screen when we dynamically change the meta viewport after the load is finished.
- bool isLoadFinished = loadState() == Finished;
- if (isLoadFinished) {
- m_userPerformedManualZoom = false;
- setShouldZoomToInitialScaleAfterLoadFinished(true);
- }
- if (loadState() == Committed || isLoadFinished)
- zoomToInitialScaleOnLoad();
-}
-
-void WebPagePrivate::suspendBackingStore()
-{
-#if USE(ACCELERATED_COMPOSITING)
- if (m_backingStore->d->isOpenGLCompositing()) {
- // A visible web page's backing store can be suspended when another web
- // page is taking over the backing store.
- if (m_visible)
- setCompositorDrawsRootLayer(true);
-
- return;
- }
-#endif
-}
-
-void WebPagePrivate::resumeBackingStore()
-{
- ASSERT(m_webPage->isVisible());
-
- if (!m_backingStore->d->isActive() || shouldResetTilesWhenShown()) {
- BackingStorePrivate::setCurrentBackingStoreOwner(m_webPage);
-
- // If we're OpenGL compositing, switching to accel comp drawing of the root layer
- // is a good substitute for backingstore blitting.
- if (m_backingStore->d->isOpenGLCompositing())
- setCompositorDrawsRootLayer(!m_backingStore->d->isActive());
-
- m_backingStore->d->orientationChanged(); // Updates tile geometry and creates visible tile buffer.
- m_backingStore->d->resetTiles();
- m_backingStore->d->updateTiles(false /* updateVisible */, false /* immediate */);
-
-#if USE(ACCELERATED_COMPOSITING)
- setNeedsOneShotDrawingSynchronization();
-#endif
-
- m_backingStore->d->renderAndBlitVisibleContentsImmediately();
- } else {
- if (m_backingStore->d->isOpenGLCompositing())
- setCompositorDrawsRootLayer(false);
-
- // Rendering was disabled while we were hidden, so we need to update all tiles.
- m_backingStore->d->updateTiles(true /* updateVisible */, false /* immediate */);
-#if USE(ACCELERATED_COMPOSITING)
- setNeedsOneShotDrawingSynchronization();
-#endif
- }
-
- setShouldResetTilesWhenShown(false);
-}
-
-void WebPagePrivate::setScreenOrientation(int orientation)
-{
- FOR_EACH_PLUGINVIEW(m_pluginViews)
- (*it)->handleOrientationEvent(orientation);
-
- m_pendingOrientation = -1;
-
-#if ENABLE(ORIENTATION_EVENTS)
- if (m_mainFrame->orientation() == orientation)
- return;
- for (RefPtr<Frame> frame = m_mainFrame; frame; frame = frame->tree()->traverseNext())
- frame->sendOrientationChangeEvent(orientation);
-#endif
-}
-
-void WebPage::setScreenOrientation(int orientation)
-{
- d->m_pendingOrientation = orientation;
-}
-
-void WebPage::applyPendingOrientationIfNeeded()
-{
- if (d->m_pendingOrientation != -1)
- d->setScreenOrientation(d->m_pendingOrientation);
-
- // After rotation, we should redraw the dialog box instead of just moving it since rotation dismisses all dialogs.
- d->m_inputHandler->redrawSpellCheckDialogIfRequired(false /* shouldMoveDialog */);
-}
-
-bool WebPagePrivate::setViewportSize(const IntSize& transformedActualVisibleSize, const IntSize& defaultLayoutSize, bool ensureFocusElementVisible)
-{
- if (m_pendingOrientation == -1 && transformedActualVisibleSize == this->transformedActualVisibleSize())
- return false;
-
- // Suspend all screen updates to the backingstore to make sure no-one tries to blit
- // while the window surface and the BackingStore are out of sync.
- BackingStore::ResumeUpdateOperation screenResumeOperation = BackingStore::Blit;
- m_backingStore->d->suspendScreenUpdates();
- m_backingStore->d->suspendBackingStoreUpdates();
-
- // The screen rotation is a major state transition that in this case is not properly
- // communicated to the backing store, since it does early return in most methods when
- // not visible.
- if (!m_visible || !m_backingStore->d->isActive())
- setShouldResetTilesWhenShown(true);
-
- bool hasPendingOrientation = m_pendingOrientation != -1;
-
- IntSize viewportSizeBefore = actualVisibleSize();
- FloatPoint centerOfVisibleContentsRect = this->centerOfVisibleContentsRect();
- bool newVisibleRectContainsOldVisibleRect = (m_actualVisibleHeight <= transformedActualVisibleSize.height())
- && (m_actualVisibleWidth <= transformedActualVisibleSize.width());
-
- bool atInitialScale = m_webPage->isAtInitialZoom();
- bool atTop = !scrollPosition().y();
- bool atLeft = !scrollPosition().x();
-
- setDefaultLayoutSize(defaultLayoutSize);
-
- // Recompute our virtual viewport.
- bool needsLayout = false;
- Platform::IntSize newVirtualViewport = recomputeVirtualViewportFromViewportArguments();
- if (!newVirtualViewport.isEmpty()) {
- m_webPage->setVirtualViewportSize(newVirtualViewport);
- m_mainFrame->view()->setUseFixedLayout(useFixedLayout());
- m_mainFrame->view()->setFixedLayoutSize(fixedLayoutSize());
- needsLayout = true;
- }
-
- // We switch this strictly after recomputing our virtual viewport as zoomToFitScale is dependent
- // upon these values and so is the virtual viewport recalculation.
- m_actualVisibleWidth = transformedActualVisibleSize.width();
- m_actualVisibleHeight = transformedActualVisibleSize.height();
-
- IntSize viewportSizeAfter = actualVisibleSize();
-
- IntSize offset;
- if (hasPendingOrientation && !m_fullscreenNode) {
- offset = IntSize(roundf((viewportSizeBefore.width() - viewportSizeAfter.width()) / 2.0),
- roundf((viewportSizeBefore.height() - viewportSizeAfter.height()) / 2.0));
- }
-
- // As a special case, if we were anchored to the top left position at
- // the beginning of the rotation then preserve that anchor.
- if (atTop)
- offset.setHeight(0);
- if (atLeft)
- offset.setWidth(0);
-
- // If we're about to overscroll, cap the offset to valid content.
- IntPoint bottomRight(
- scrollPosition().x() + viewportSizeAfter.width(),
- scrollPosition().y() + viewportSizeAfter.height());
-
- if (bottomRight.x() + offset.width() > contentsSize().width())
- offset.setWidth(contentsSize().width() - bottomRight.x());
- if (bottomRight.y() + offset.height() > contentsSize().height())
- offset.setHeight(contentsSize().height() - bottomRight.y());
- if (scrollPosition().x() + offset.width() < 0)
- offset.setWidth(-scrollPosition().x());
- if (scrollPosition().y() + offset.height() < 0)
- offset.setHeight(-scrollPosition().y());
-
- // ...before scrolling, because the backing store will align its
- // tile matrix with the viewport as reported by the ScrollView.
- setScrollPosition(scrollPosition() + offset);
- notifyTransformedScrollChanged();
-
- m_backingStore->d->orientationChanged();
- m_backingStore->d->actualVisibleSizeChanged(transformedActualVisibleSize);
-
- // Update view mode only after we have updated the actual
- // visible size and reset the contents rect if necessary.
- if (setViewMode(viewMode()))
- needsLayout = true;
-
- bool needsLayoutToFindContentSize = hasPendingOrientation;
-
- // We need to update the viewport size of the WebCore::ScrollView...
- updateViewportSize(!needsLayoutToFindContentSize /* setFixedReportedSize */, false /* sendResizeEvent */);
- notifyTransformedContentsSizeChanged();
-
- // If automatic zooming is disabled, prevent zooming below.
- if (!m_webSettings->isZoomToFitOnLoad()) {
- atInitialScale = false;
-
- // Normally, if the contents size is smaller than the layout width,
- // we would zoom in. If zoom is disabled, we need to do something else,
- // or there will be artifacts due to non-rendered areas outside of the
- // contents size. If there is a virtual viewport, we are not allowed
- // to modify the fixed layout size, however.
- if (!hasVirtualViewport() && contentsSize().width() < m_defaultLayoutSize.width()) {
- m_mainFrame->view()->setUseFixedLayout(useFixedLayout());
- m_mainFrame->view()->setFixedLayoutSize(m_defaultLayoutSize);
- needsLayout = true;
- }
- }
-
- // Need to resume so that the backingstore will start recording the invalidated
- // rects from below.
- m_backingStore->d->resumeBackingStoreUpdates();
-
- // We might need to layout here to get a correct contentsSize so that zoomToFit
- // is calculated correctly.
- bool stillNeedsLayout = needsLayout;
- while (stillNeedsLayout) {
- setNeedsLayout();
- layoutIfNeeded();
- stillNeedsLayout = false;
-
- // Emulate the zoomToFitWidthOnLoad algorithm if we're rotating.
- ++m_nestedLayoutFinishedCount;
- if (needsLayoutToFindContentSize) {
- if (setViewMode(viewMode()))
- stillNeedsLayout = true;
- }
- }
- m_nestedLayoutFinishedCount = 0;
-
- // As a special case if we were zoomed to the initial scale at the beginning
- // of the rotation then preserve that zoom level even when it is zoomToFit.
- double scale = atInitialScale ? initialScale() : currentScale();
-
- // Do our own clamping.
- scale = clampedScale(scale);
-
- if (needsLayoutToFindContentSize) {
- // Set the fixed reported size here so that innerWidth|innerHeight works
- // with this new scale.
- TransformationMatrix rotationMatrix;
- rotationMatrix.scale(scale);
- IntRect viewportRect = IntRect(IntPoint::zero(), transformedActualVisibleSize);
- IntRect actualVisibleRect = enclosingIntRect(rotationMatrix.inverse().mapRect(FloatRect(viewportRect)));
- m_mainFrame->view()->setFixedReportedSize(actualVisibleRect.size());
- m_mainFrame->view()->repaintFixedElementsAfterScrolling();
- layoutIfNeeded();
- m_mainFrame->view()->updateFixedElementsAfterScrolling();
- }
-
- // We're going to need to send a resize event to JavaScript because
- // innerWidth and innerHeight depend on fixed reported size.
- // This is how we support mobile pages where JavaScript resizes
- // the page in order to get around the fixed layout size, e.g.
- // google maps when it detects a mobile user agent.
- if (shouldSendResizeEvent())
- m_mainFrame->eventHandler()->sendResizeEvent();
-
- // As a special case if we were anchored to the top left position at the beginning
- // of the rotation then preserve that anchor.
- FloatPoint anchor = centerOfVisibleContentsRect;
- if (atTop)
- anchor.setY(0);
- if (atLeft)
- anchor.setX(0);
-
- // Try and zoom here with clamping on.
- // FIXME: Determine why the above comment says "clamping on", yet we
- // don't set enforceScaleClamping to true.
- if (zoomAboutPoint(scale, anchor, false /*enforceScaleClamping*/, true /*forceRendering*/)) {
- if (ensureFocusElementVisible)
- ensureContentVisible(!newVisibleRectContainsOldVisibleRect);
- } else {
- // Suspend all updates to the backingstore.
- m_backingStore->d->suspendBackingStoreUpdates();
-
- // If the zoom failed, then we should still preserve the special case of scroll position.
- IntPoint scrollPosition = this->scrollPosition();
- if (atTop)
- scrollPosition.setY(0);
- if (atLeft)
- scrollPosition.setX(0);
- setScrollPosition(scrollPosition);
-
- // These might have been altered even if we didn't zoom so notify the client.
- notifyTransformedContentsSizeChanged();
- notifyTransformedScrollChanged();
-
- if (!needsLayout) {
- // The visible tiles for scroll must be up-to-date before we blit since we are not performing a layout.
- m_backingStore->d->updateTilesForScrollOrNotRenderedRegion();
- }
-
- if (ensureFocusElementVisible)
- ensureContentVisible(!newVisibleRectContainsOldVisibleRect);
-
- if (needsLayout) {
- m_backingStore->d->resetTiles();
- m_backingStore->d->updateTiles(false /* updateVisible */, false /* immediate */);
- screenResumeOperation = BackingStore::RenderAndBlit;
- }
-
- // If we need layout then render and blit, otherwise just blit as our viewport has changed.
- m_backingStore->d->resumeBackingStoreUpdates();
- }
-
-#if ENABLE(FULLSCREEN_API) && ENABLE(VIDEO)
- // When leaving fullscreen mode, restore the scale and scroll position if needed.
- // We also need to make sure the scale and scroll position won't cause over scale or over scroll.
- if (m_scaleBeforeFullScreen > 0 && !m_fullscreenNode) {
- // Restore the scale when leaving fullscreen. We can't use TransformationMatrix::scale(double) here,
- // as it will multiply the scale rather than set the scale.
- // FIXME: We can refactor this into setCurrentScale(double) if it is useful in the future.
- if (m_orientationBeforeFullScreen % 180 != orientation() % 180) { // Orientation changed
- if (m_actualVisibleWidth > contentsSize().width() * m_scaleBeforeFullScreen) {
- // Cached scale need to be adjusted after rotation.
- m_scaleBeforeFullScreen = double(m_actualVisibleWidth) / contentsSize().width();
- }
- if (m_scaleBeforeFullScreen * contentsSize().height() < m_actualVisibleHeight) {
- // Use zoom to fit height scale in order to cover the screen height.
- m_scaleBeforeFullScreen = double(m_actualVisibleHeight) / contentsSize().height();
- }
-
- if (m_actualVisibleWidth > m_scaleBeforeFullScreen * (contentsSize().width() - m_scrollPositionBeforeFullScreen.x())) {
- // Cached scroll position over scrolls horizontally after rotation.
- m_scrollPositionBeforeFullScreen.setX(contentsSize().width() - m_actualVisibleWidth / m_scaleBeforeFullScreen);
- }
- if (m_actualVisibleHeight > m_scaleBeforeFullScreen * (contentsSize().height() - m_scrollPositionBeforeFullScreen.y())) {
- // Cached scroll position over scrolls vertically after rotation.
- m_scrollPositionBeforeFullScreen.setY(contentsSize().height() - m_actualVisibleHeight / m_scaleBeforeFullScreen);
- }
- }
-
- m_transformationMatrix->setM11(m_scaleBeforeFullScreen);
- m_transformationMatrix->setM22(m_scaleBeforeFullScreen);
- m_scaleBeforeFullScreen = -1.0;
-
- setScrollPosition(m_scrollPositionBeforeFullScreen);
- notifyTransformChanged();
- m_client->scaleChanged();
- }
-#endif
-
- m_backingStore->d->resumeScreenUpdates(screenResumeOperation);
- m_inputHandler->redrawSpellCheckDialogIfRequired();
-
- return true;
-}
-
-void WebPage::setViewportSize(const Platform::IntSize& viewportSize, const Platform::IntSize& defaultLayoutSize, bool ensureFocusElementVisible)
-{
- if (!d->setViewportSize(viewportSize, defaultLayoutSize, ensureFocusElementVisible)) {
- // If the viewport didn't change, try to apply only the new default layout size.
- setDefaultLayoutSize(defaultLayoutSize);
- }
-}
-
-void WebPagePrivate::setDefaultLayoutSize(const IntSize& size)
-{
- IntSize screenSize = Platform::Settings::instance()->applicationSize();
- ASSERT(size.width() <= screenSize.width() && size.height() <= screenSize.height());
- m_defaultLayoutSize = size.expandedTo(minimumLayoutSize).shrunkTo(screenSize);
-}
-
-Platform::IntSize WebPage::defaultLayoutSize() const
-{
- return d->m_defaultLayoutSize;
-}
-
-void WebPage::setDefaultLayoutSize(const Platform::IntSize& platformSize)
-{
- bool needsLayout = false;
- WebCore::IntSize size = platformSize;
- if (size == d->m_defaultLayoutSize)
- return;
-
- d->setDefaultLayoutSize(size);
-
- // The default layout size affects interpretation of any viewport arguments present.
- Platform::IntSize virtualViewportSize = d->recomputeVirtualViewportFromViewportArguments();
- if (!virtualViewportSize.isEmpty()) {
- setVirtualViewportSize(virtualViewportSize);
- needsLayout = true;
- }
-
- if (d->setViewMode(d->viewMode()))
- needsLayout = true;
-
- if (needsLayout) {
- d->setNeedsLayout();
- if (!d->isLoading())
- d->layoutIfNeeded();
- }
-}
-
-bool WebPage::mouseEvent(const Platform::MouseEvent& mouseEvent, bool* wheelDeltaAccepted)
-{
- if (!d->m_mainFrame->view())
- return false;
-
- if (d->m_page->defersLoading())
- return false;
-
- PluginView* pluginView = d->m_fullScreenPluginView.get();
- if (pluginView)
- return d->dispatchMouseEventToFullScreenPlugin(pluginView, mouseEvent);
-
- if (mouseEvent.type() == Platform::MouseEvent::MouseAborted) {
- d->m_mainFrame->eventHandler()->setMousePressed(false);
- return false;
- }
-
- d->m_pluginMayOpenNewTab = true;
-
- d->m_lastUserEventTimestamp = currentTime();
- int clickCount = (d->m_selectionHandler->isSelectionActive() || mouseEvent.type() != Platform::MouseEvent::MouseMove) ? 1 : 0;
-
- // Set the button type.
- MouseButton buttonType = NoButton;
- if (mouseEvent.isLeftButton())
- buttonType = LeftButton;
- else if (mouseEvent.isRightButton())
- buttonType = RightButton;
- else if (mouseEvent.isMiddleButton())
- buttonType = MiddleButton;
-
- // Create our event.
- PlatformMouseEvent platformMouseEvent(mouseEvent.documentViewportPosition(), mouseEvent.screenPosition(),
- toWebCoreMouseEventType(mouseEvent.type()), clickCount, buttonType,
- mouseEvent.shiftActive(), mouseEvent.ctrlActive(), mouseEvent.altActive(), PointingDevice);
- d->m_lastMouseEvent = platformMouseEvent;
- bool success = d->handleMouseEvent(platformMouseEvent);
-
- if (mouseEvent.wheelTicks()) {
- PlatformWheelEvent wheelEvent(mouseEvent.documentViewportPosition(), mouseEvent.screenPosition(),
- 0, -mouseEvent.wheelDelta(),
- 0, -mouseEvent.wheelTicks(),
- ScrollByPixelWheelEvent,
- mouseEvent.shiftActive(), mouseEvent.ctrlActive(),
- mouseEvent.altActive(), false /* metaKey */);
- if (wheelDeltaAccepted)
- *wheelDeltaAccepted = d->handleWheelEvent(wheelEvent);
- } else if (wheelDeltaAccepted)
- *wheelDeltaAccepted = false;
-
- return success;
-}
-
-bool WebPagePrivate::dispatchMouseEventToFullScreenPlugin(PluginView* plugin, const Platform::MouseEvent& event)
-{
- NPEvent npEvent;
- NPMouseEvent mouseEvent;
-
- mouseEvent.x = event.screenPosition().x();
- mouseEvent.y = event.screenPosition().y();
-
- switch (event.type()) {
- case Platform::MouseEvent::MouseButtonDown:
- mouseEvent.type = MOUSE_BUTTON_DOWN;
- m_pluginMouseButtonPressed = true;
- break;
- case Platform::MouseEvent::MouseButtonUp:
- mouseEvent.type = MOUSE_BUTTON_UP;
- m_pluginMouseButtonPressed = false;
- break;
- case Platform::MouseEvent::MouseMove:
- mouseEvent.type = MOUSE_MOTION;
- break;
- default:
- return false;
- }
-
- mouseEvent.flags = 0;
- mouseEvent.button = m_pluginMouseButtonPressed;
-
- npEvent.type = NP_MouseEvent;
- npEvent.data = &mouseEvent;
-
- return plugin->dispatchFullScreenNPEvent(npEvent);
-}
-
-bool WebPagePrivate::handleMouseEvent(PlatformMouseEvent& mouseEvent)
-{
- EventHandler* eventHandler = m_mainFrame->eventHandler();
-
- if (mouseEvent.type() == WebCore::PlatformEvent::MouseMoved)
- return eventHandler->mouseMoved(mouseEvent);
-
- if (mouseEvent.type() == WebCore::PlatformEvent::MouseScroll)
- return true;
-
- Node* node = 0;
- if (mouseEvent.inputMethod() == TouchScreen) {
- const FatFingersResult lastFatFingersResult = m_touchEventHandler->lastFatFingersResult();
-
- // Fat fingers can deal with shadow content.
- node = lastFatFingersResult.node(FatFingersResult::ShadowContentNotAllowed);
-
- // Save mouse event state for later. This allows us to know why some responses have occurred, namely selection changes.
- m_touchEventHandler->m_userTriggeredTouchPressOnTextInput = mouseEvent.type() == WebCore::PlatformEvent::MousePressed && lastFatFingersResult.isTextInput();
- }
-
- if (!node) {
- IntPoint documentContentsPoint = m_webkitThreadViewportAccessor->documentContentsFromViewport(mouseEvent.position());
- HitTestResult result = eventHandler->hitTestResultAtPoint(documentContentsPoint);
- node = result.innerNode();
- }
-
- if (mouseEvent.type() == WebCore::PlatformEvent::MousePressed) {
- m_inputHandler->setInputModeEnabled();
- if (m_inputHandler->willOpenPopupForNode(node)) {
- // Do not allow any human generated mouse or keyboard events to select <option>s in the list box
- // because we use a pop up dialog to handle the actual selections. This prevents options from
- // being selected prior to displaying the pop up dialog. The contents of the listbox are for
- // display only.
-
- // We do focus <select>/<option> on mouse down so that a Focus event is fired and have the
- // element painted in its focus state on repaint.
- ASSERT_WITH_SECURITY_IMPLICATION(node->isElementNode());
- if (node->isElementNode()) {
- Element* element = toElement(node);
- element->focus();
- }
- } else
- eventHandler->handleMousePressEvent(mouseEvent);
- } else if (mouseEvent.type() == WebCore::PlatformEvent::MouseReleased) {
- // Do not send the mouse event if this is a popup field as the mouse down has been
- // suppressed and symmetry should be maintained.
- if (!m_inputHandler->didNodeOpenPopup(node))
- eventHandler->handleMouseReleaseEvent(mouseEvent);
- }
-
- return true;
-}
-
-bool WebPagePrivate::handleWheelEvent(PlatformWheelEvent& wheelEvent)
-{
- return m_mainFrame->eventHandler()->handleWheelEvent(wheelEvent);
-}
-
-bool WebPage::touchEvent(const Platform::TouchEvent& event)
-{
-#if DEBUG_TOUCH_EVENTS
- Platform::logAlways(Platform::LogLevelCritical, "%s", event.toString().c_str());
-#endif
-
-#if ENABLE(TOUCH_EVENTS)
- if (!d->m_mainFrame)
- return false;
-
- if (d->m_page->defersLoading())
- return false;
-
- if (d->m_inputHandler)
- d->m_inputHandler->setInputModeEnabled();
-
- PluginView* pluginView = d->m_fullScreenPluginView.get();
- if (pluginView)
- return d->dispatchTouchEventToFullScreenPlugin(pluginView, event);
-
- Platform::TouchEvent tEvent = event;
- if (event.isSingleTap())
- d->m_pluginMayOpenNewTab = true;
- else if (tEvent.m_type == Platform::TouchEvent::TouchStart || tEvent.m_type == Platform::TouchEvent::TouchCancel)
- d->m_pluginMayOpenNewTab = false;
-
- if (tEvent.m_type == Platform::TouchEvent::TouchStart) {
- d->clearCachedHitTestResult();
- d->m_touchEventHandler->doFatFingers(tEvent.m_points[0]);
-
- // Draw tap highlight as soon as possible if we can
- Element* elementUnderFatFinger = d->m_touchEventHandler->lastFatFingersResult().nodeAsElementIfApplicable();
- if (elementUnderFatFinger)
- d->m_touchEventHandler->drawTapHighlight();
- }
-
- if (event.isTouchHold())
- d->m_touchEventHandler->handleTouchHold();
-
- bool handled = false;
-
- if (event.m_type != Platform::TouchEvent::TouchInjected)
- handled = d->m_mainFrame->eventHandler()->handleTouchEvent(PlatformTouchEvent(&tEvent));
-
- if (d->m_preventDefaultOnTouchStart) {
- if (tEvent.m_type == Platform::TouchEvent::TouchEnd || tEvent.m_type == Platform::TouchEvent::TouchCancel)
- d->m_preventDefaultOnTouchStart = false;
- return true;
- }
-
- if (handled) {
- if (tEvent.m_type == Platform::TouchEvent::TouchStart)
- d->m_preventDefaultOnTouchStart = true;
- return true;
- }
-#endif
-
- return false;
-}
-
-void WebPagePrivate::setScrollOriginPoint(const Platform::IntPoint& documentScrollOrigin)
-{
- m_inRegionScroller->d->reset();
-
- if (!m_hasInRegionScrollableAreas)
- return;
-
- postponeDocumentStyleRecalc();
- m_inRegionScroller->d->calculateInRegionScrollableAreasForPoint(documentScrollOrigin);
- if (!m_inRegionScroller->d->activeInRegionScrollableAreas().empty())
- m_client->notifyInRegionScrollableAreasChanged(m_inRegionScroller->d->activeInRegionScrollableAreas());
- resumeDocumentStyleRecalc();
-}
-
-void WebPage::setDocumentScrollOriginPoint(const Platform::IntPoint& documentScrollOrigin)
-{
- d->setScrollOriginPoint(documentScrollOrigin);
-}
-
-void WebPage::touchPointAsMouseEvent(const Platform::TouchPoint& point, unsigned modifiers)
-{
- if (d->m_page->defersLoading())
- return;
-
- if (d->m_fullScreenPluginView.get())
- return;
-
- d->m_lastUserEventTimestamp = currentTime();
-
- d->m_touchEventHandler->handleTouchPoint(point, modifiers);
-}
-
-void WebPage::playSoundIfAnchorIsTarget() const
-{
- d->m_touchEventHandler->playSoundIfAnchorIsTarget();
-}
-
-bool WebPagePrivate::dispatchTouchEventToFullScreenPlugin(PluginView* plugin, const Platform::TouchEvent& event)
-{
- // Always convert touch events to mouse events.
- // Don't send actual touch events because no one has ever implemented them in flash.
- if (!event.neverHadMultiTouch())
- return false;
-
- if (event.isDoubleTap() || event.isTouchHold() || event.m_type == Platform::TouchEvent::TouchCancel) {
- NPTouchEvent npTouchEvent;
-
- if (event.isDoubleTap())
- npTouchEvent.type = TOUCH_EVENT_DOUBLETAP;
- else if (event.isTouchHold())
- npTouchEvent.type = TOUCH_EVENT_TOUCHHOLD;
- else if (event.m_type == Platform::TouchEvent::TouchCancel)
- npTouchEvent.type = TOUCH_EVENT_CANCEL;
-
- npTouchEvent.points = 0;
- npTouchEvent.size = event.m_points.size();
- if (npTouchEvent.size) {
- npTouchEvent.points = new NPTouchPoint[npTouchEvent.size];
- for (int i = 0; i < npTouchEvent.size; i++) {
- npTouchEvent.points[i].touchId = event.m_points[i].id();
- npTouchEvent.points[i].clientX = event.m_points[i].screenPosition().x();
- npTouchEvent.points[i].clientY = event.m_points[i].screenPosition().y();
- npTouchEvent.points[i].screenX = event.m_points[i].screenPosition().x();
- npTouchEvent.points[i].screenY = event.m_points[i].screenPosition().y();
- npTouchEvent.points[i].pageX = event.m_points[i].pixelViewportPosition().x();
- npTouchEvent.points[i].pageY = event.m_points[i].pixelViewportPosition().y();
- }
- }
-
- NPEvent npEvent;
- npEvent.type = NP_TouchEvent;
- npEvent.data = &npTouchEvent;
-
- plugin->dispatchFullScreenNPEvent(npEvent);
- delete[] npTouchEvent.points;
- return true;
- }
-
- dispatchTouchPointAsMouseEventToFullScreenPlugin(plugin, event.m_points[0]);
- return true;
-}
-
-bool WebPagePrivate::dispatchTouchPointAsMouseEventToFullScreenPlugin(PluginView* pluginView, const Platform::TouchPoint& point)
-{
- NPEvent npEvent;
- NPMouseEvent mouse;
-
- switch (point.state()) {
- case Platform::TouchPoint::TouchPressed:
- mouse.type = MOUSE_BUTTON_DOWN;
- break;
- case Platform::TouchPoint::TouchReleased:
- mouse.type = MOUSE_BUTTON_UP;
- break;
- case Platform::TouchPoint::TouchMoved:
- mouse.type = MOUSE_MOTION;
- break;
- case Platform::TouchPoint::TouchStationary:
- return true;
- }
-
- mouse.x = point.screenPosition().x();
- mouse.y = point.screenPosition().y();
- mouse.button = mouse.type != MOUSE_BUTTON_UP;
- mouse.flags = 0;
- npEvent.type = NP_MouseEvent;
- npEvent.data = &mouse;
-
- pluginView->dispatchFullScreenNPEvent(npEvent);
- return true;
-}
-
-void WebPage::touchEventCancel()
-{
- d->m_pluginMayOpenNewTab = false;
- if (d->m_page->defersLoading())
- return;
-}
-
-Frame* WebPagePrivate::focusedOrMainFrame() const
-{
- return m_page->focusController()->focusedOrMainFrame();
-}
-
-void WebPagePrivate::clearFocusNode()
-{
- Frame* frame = focusedOrMainFrame();
- if (!frame)
- return;
- ASSERT(frame->document());
-
- if (frame->document()->focusedElement())
- frame->page()->focusController()->setFocusedElement(0, frame);
-}
-
-BlackBerry::Platform::String WebPage::textEncoding()
-{
- Frame* frame = d->focusedOrMainFrame();
- if (!frame)
- return BlackBerry::Platform::String::emptyString();
-
- Document* document = frame->document();
- if (!document)
- return BlackBerry::Platform::String::emptyString();
-
- return document->loader()->writer()->encoding();
-}
-
-BlackBerry::Platform::String WebPage::forcedTextEncoding()
-{
- Frame* frame = d->focusedOrMainFrame();
- if (!frame)
- return BlackBerry::Platform::String::emptyString();
-
- Document* document = frame->document();
- if (!document)
- return BlackBerry::Platform::String::emptyString();
-
- return document->loader()->overrideEncoding();
-}
-
-void WebPage::setForcedTextEncoding(const BlackBerry::Platform::String& encoding)
-{
- if (!encoding.empty() && d->focusedOrMainFrame() && d->focusedOrMainFrame()->loader() && d->focusedOrMainFrame()->loader())
- d->focusedOrMainFrame()->loader()->reloadWithOverrideEncoding(encoding);
-}
-
-bool WebPage::keyEvent(const Platform::KeyboardEvent& keyboardEvent)
-{
- if (!d->m_mainFrame->view())
- return false;
-
- if (d->m_page->defersLoading())
- return false;
-
- ASSERT(d->m_page->focusController());
-
- return d->m_inputHandler->handleKeyboardInput(keyboardEvent);
-}
-
-bool WebPage::deleteTextRelativeToCursor(unsigned leftOffset, unsigned rightOffset)
-{
- if (d->m_page->defersLoading())
- return false;
-
- return d->m_inputHandler->deleteTextRelativeToCursor(leftOffset, rightOffset);
-}
-
-spannable_string_t* WebPage::selectedText(int32_t flags)
-{
- return d->m_inputHandler->selectedText(flags);
-}
-
-spannable_string_t* WebPage::textBeforeCursor(int32_t length, int32_t flags)
-{
- return d->m_inputHandler->textBeforeCursor(length, flags);
-}
-
-spannable_string_t* WebPage::textAfterCursor(int32_t length, int32_t flags)
-{
- return d->m_inputHandler->textAfterCursor(length, flags);
-}
-
-extracted_text_t* WebPage::extractedTextRequest(extracted_text_request_t* request, int32_t flags)
-{
- return d->m_inputHandler->extractedTextRequest(request, flags);
-}
-
-int32_t WebPage::setComposingRegion(int32_t start, int32_t end)
-{
- return d->m_inputHandler->setComposingRegion(start, end);
-}
-
-int32_t WebPage::finishComposition()
-{
- return d->m_inputHandler->finishComposition();
-}
-
-int32_t WebPage::setComposingText(spannable_string_t* spannableString, int32_t relativeCursorPosition)
-{
- if (d->m_page->defersLoading())
- return -1;
- return d->m_inputHandler->setComposingText(spannableString, relativeCursorPosition);
-}
-
-int32_t WebPage::commitText(spannable_string_t* spannableString, int32_t relativeCursorPosition)
-{
- if (d->m_page->defersLoading())
- return -1;
- return d->m_inputHandler->commitText(spannableString, relativeCursorPosition);
-}
-
-void WebPage::setSpellCheckingEnabled(bool enabled)
-{
- static_cast<EditorClientBlackBerry*>(d->m_page->editorClient())->enableSpellChecking(enabled);
-
- d->m_inputHandler->setSystemSpellCheckStatus(enabled);
-
- if (!enabled)
- d->m_inputHandler->stopPendingSpellCheckRequests();
-}
-
-void WebPage::spellCheckingRequestProcessed(int32_t transactionId, spannable_string_t* spannableString)
-{
- d->m_inputHandler->spellCheckingRequestProcessed(transactionId, spannableString);
-}
-
-class DeferredTaskSelectionCancelled: public DeferredTask<&WebPagePrivate::m_wouldCancelSelection> {
-public:
- explicit DeferredTaskSelectionCancelled(WebPagePrivate* webPagePrivate)
- : DeferredTaskType(webPagePrivate)
- {
- }
-private:
- virtual void performInternal(WebPagePrivate* webPagePrivate)
- {
- webPagePrivate->m_webPage->selectionCancelled();
- }
-};
-
-void WebPage::selectionCancelled()
-{
- if (d->m_page->defersLoading()) {
- d->m_deferredTasks.append(adoptPtr(new DeferredTaskSelectionCancelled(d)));
- return;
- }
- DeferredTaskSelectionCancelled::finishOrCancel(d);
- d->m_selectionHandler->cancelSelection();
-}
-
-bool WebPage::selectionContainsDocumentPoint(const Platform::IntPoint& point)
-{
- return d->m_selectionHandler->selectionContains(point);
-}
-
-BlackBerry::Platform::String WebPage::title() const
-{
- if (d->m_mainFrame->document())
- return d->m_mainFrame->loader()->documentLoader()->title().string();
- return BlackBerry::Platform::String::emptyString();
-}
-
-BlackBerry::Platform::String WebPage::selectedText() const
-{
- return d->m_selectionHandler->selectedText();
-}
-
-BlackBerry::Platform::String WebPage::cutSelectedText()
-{
- BlackBerry::Platform::String selectedText = d->m_selectionHandler->selectedText();
- if (!d->m_page->defersLoading() && !selectedText.empty())
- d->m_inputHandler->deleteSelection();
- return selectedText;
-}
-
-void WebPage::insertText(const BlackBerry::Platform::String& string)
-{
- if (d->m_page->defersLoading())
- return;
- d->m_inputHandler->insertText(string);
-}
-
-void WebPage::clearCurrentInputField()
-{
- if (d->m_page->defersLoading())
- return;
- d->m_inputHandler->clearField();
-}
-
-void WebPage::cut()
-{
- if (d->m_page->defersLoading())
- return;
- d->m_inputHandler->cut();
-}
-
-void WebPage::copy()
-{
- d->m_inputHandler->copy();
-}
-
-void WebPage::paste()
-{
- if (d->m_page->defersLoading())
- return;
- d->m_inputHandler->paste();
-}
-
-void WebPage::selectAll()
-{
- if (d->m_page->defersLoading())
- return;
- d->m_inputHandler->selectAll();
-}
-
-bool WebPage::isInputMode() const
-{
- return d->m_inputHandler->isInputMode();
-}
-
-void WebPage::setDocumentSelection(const Platform::IntPoint& documentStartPoint, const Platform::IntPoint& documentEndPoint)
-{
- if (d->m_page->defersLoading())
- return;
-
- d->m_selectionHandler->setSelection(documentStartPoint, documentEndPoint);
-}
-
-void WebPage::setDocumentCaretPosition(const Platform::IntPoint& documentCaretPosition)
-{
- if (d->m_page->defersLoading())
- return;
-
- // Handled by selection handler as it's point based.
- d->m_selectionHandler->setCaretPosition(documentCaretPosition);
-}
-
-void WebPage::selectAtDocumentPoint(const Platform::IntPoint& documentPoint, SelectionExpansionType selectionExpansionType)
-{
- if (d->m_page->defersLoading())
- return;
- d->m_selectionHandler->selectAtPoint(documentPoint, selectionExpansionType);
-}
-
-void WebPage::expandSelection(bool isScrollStarted)
-{
- if (d->m_page->defersLoading())
- return;
- d->m_selectionHandler->expandSelection(isScrollStarted);
-}
-
-void WebPage::setOverlayExpansionPixelHeight(int dy)
-{
- d->setOverlayExpansionPixelHeight(dy);
-}
-
-void WebPagePrivate::setOverlayExpansionPixelHeight(int dy)
-{
- // Transform from pixel to document coordinates.
- m_selectionHandler->setOverlayExpansionHeight(m_webkitThreadViewportAccessor->roundToDocumentFromPixelContents(Platform::IntPoint(0, dy)).y());
-}
-
-void WebPage::setParagraphExpansionPixelScrollMargin(const Platform::IntSize& scrollMargin)
-{
- // Transform from pixel to document coordinates.
- Platform::IntSize documentScrollMargin = d->m_webkitThreadViewportAccessor->roundToDocumentFromPixelContents(Platform::IntRect(Platform::IntPoint(), scrollMargin)).size();
- d->m_selectionHandler->setParagraphExpansionScrollMargin(documentScrollMargin);
-}
-
-void WebPage::setSelectionDocumentViewportSize(const Platform::IntSize& selectionDocumentViewportSize)
-{
- d->m_selectionHandler->setSelectionViewportSize(selectionDocumentViewportSize);
-}
-
-BackingStore* WebPage::backingStore() const
-{
- return d->m_backingStore;
-}
-
-InRegionScroller* WebPage::inRegionScroller() const
-{
- return d->m_inRegionScroller.get();
-}
-
-void WebPagePrivate::setTextReflowAnchorPoint(const Platform::IntPoint& documentFocalPoint)
-{
- // Should only be invoked when text reflow is enabled.
- ASSERT(m_webPage->settings()->textReflowMode() == WebSettings::TextReflowEnabled);
-
- m_currentPinchZoomNode = bestNodeForZoomUnderPoint(documentFocalPoint);
- if (!m_currentPinchZoomNode)
- return;
-
- IntRect nodeRect = rectForNode(m_currentPinchZoomNode.get());
- m_anchorInNodeRectRatio.set(
- static_cast<float>(documentFocalPoint.x() - nodeRect.x()) / nodeRect.width(),
- static_cast<float>(documentFocalPoint.y() - nodeRect.y()) / nodeRect.height());
-}
-
-bool WebPage::pinchZoomAboutPoint(double scale, const Platform::FloatPoint& documentFocalPoint)
-{
- d->m_userPerformedManualZoom = true;
- d->m_userPerformedManualScroll = true;
-
- if (d->m_webPage->settings()->textReflowMode() == WebSettings::TextReflowEnabled) {
- d->setTextReflowAnchorPoint(webkitThreadViewportAccessor()->roundedDocumentContents(documentFocalPoint));
-
- // Theoretically, d->nodeForZoomUnderPoint(documentFocalPoint) can return null.
- if (!d->m_currentPinchZoomNode)
- return false;
- }
-
- return d->zoomAboutPoint(scale, documentFocalPoint);
-}
-
-#if ENABLE(VIEWPORT_REFLOW)
-void WebPagePrivate::toggleTextReflowIfEnabledForBlockZoomOnly(bool shouldEnableTextReflow)
-{
- if (m_webPage->settings()->textReflowMode() == WebSettings::TextReflowEnabledOnlyForBlockZoom)
- m_page->settings()->setTextReflowEnabled(shouldEnableTextReflow);
-}
-#endif
-
-bool WebPage::blockZoom(const Platform::IntPoint& documentTargetPoint)
-{
- if (!d->m_mainFrame->view() || !d->isUserScalable())
- return false;
-
- Node* node = d->bestNodeForZoomUnderPoint(documentTargetPoint);
- if (!node)
- return false;
-
- IntRect nodeRect = d->rectForNode(node);
- IntRect blockRect;
- bool endOfBlockZoomMode = d->compareNodesForBlockZoom(d->m_currentBlockZoomAdjustedNode.get(), node);
- const double oldScale = d->m_transformationMatrix->m11();
- double newScale = 0;
- const double margin = endOfBlockZoomMode ? 0 : blockZoomMargin * 2 * oldScale;
- bool isFirstZoom = false;
-
- const Platform::ViewportAccessor* viewportAccessor = webkitThreadViewportAccessor();
-
- if (endOfBlockZoomMode) {
- // End of block zoom mode
- const Platform::IntSize pixelContentsSize = viewportAccessor->pixelContentsSize();
- const IntRect rect = d->blockZoomRectForNode(node);
- blockRect = IntRect(0, rect.y(), pixelContentsSize.width(), pixelContentsSize.height() - rect.y());
- d->m_shouldReflowBlock = false;
- } else {
- // Start/continue block zoom mode
- Node* tempBlockZoomAdjustedNode = d->m_currentBlockZoomAdjustedNode.get();
- blockRect = d->blockZoomRectForNode(node);
-
- // Don't use a block if it is too close to the size of the actual contents.
- // We allow this for images only so that they can be zoomed tight to the screen.
- if (!isHTMLImageElement(node)) {
- const IntRect tRect = viewportAccessor->roundToDocumentFromPixelContents(WebCore::FloatRect(blockRect));
- int blockArea = tRect.width() * tRect.height();
- int pageArea = d->contentsSize().width() * d->contentsSize().height();
- double blockToPageRatio = static_cast<double>(pageArea - blockArea) / pageArea;
- if (blockToPageRatio < minimumExpandingRatio) {
- // Restore old adjust node because zoom was canceled.
- d->m_currentBlockZoomAdjustedNode = tempBlockZoomAdjustedNode;
- return false;
- }
- }
-
- if (blockRect.isEmpty() || !blockRect.width() || !blockRect.height())
- return false;
-
- if (!d->m_currentBlockZoomNode.get())
- isFirstZoom = true;
-
- d->m_currentBlockZoomNode = node;
- d->m_shouldReflowBlock = true;
- }
-
- newScale = std::min(d->newScaleForBlockZoomRect(blockRect, oldScale, margin), d->maxBlockZoomScale());
- newScale = std::max(newScale, minimumScale());
-
-#if ENABLE(VIEWPORT_REFLOW)
- // If reflowing, adjust the reflow-width of text node to make sure the font is a reasonable size.
- if (d->m_currentBlockZoomNode && d->m_shouldReflowBlock && settings()->textReflowMode() != WebSettings::TextReflowDisabled) {
- RenderObject* renderer = d->m_currentBlockZoomNode->renderer();
- if (renderer && renderer->isText()) {
- double newFontSize = renderer->style()->fontSize() * newScale;
- if (newFontSize < d->m_webSettings->defaultFontSize()) {
- newScale = std::min(static_cast<double>(d->m_webSettings->defaultFontSize()) / renderer->style()->fontSize(), d->maxBlockZoomScale());
- newScale = std::max(newScale, minimumScale());
- }
- blockRect.setWidth(oldScale * static_cast<double>(d->transformedActualVisibleSize().width()) / newScale);
- // Re-calculate the scale here to take in to account the margin.
- newScale = std::min(d->newScaleForBlockZoomRect(blockRect, oldScale, margin), d->maxBlockZoomScale());
- newScale = std::max(newScale, minimumScale()); // Still, it's not allowed to be smaller than minimum scale.
- }
- }
-#endif
-
- // Align the zoomed block in the screen.
- const Platform::FloatRect newBlockRect = viewportAccessor->documentFromPixelContents(WebCore::FloatRect(blockRect));
- float scaledViewportWidth = static_cast<double>(d->actualVisibleSize().width()) * oldScale / newScale;
- float scaledViewportHeight = static_cast<double>(d->actualVisibleSize().height()) * oldScale / newScale;
- float dx = std::max(0.0f, (scaledViewportWidth - newBlockRect.width()) / 2.0f);
- float dy = std::max(0.0f, (scaledViewportHeight - newBlockRect.height()) / 2.0f);
-
- const RenderObject* renderer = d->m_currentBlockZoomAdjustedNode->renderer();
- const FloatPoint topLeftPoint = newBlockRect.location();
- FloatPoint anchor;
-
- if (renderer && renderer->isText()) {
- ETextAlign textAlign = renderer->style()->textAlign();
- switch (textAlign) {
- case CENTER:
- case WEBKIT_CENTER:
- anchor = FloatPoint(nodeRect.x() + (nodeRect.width() - scaledViewportWidth) / 2, topLeftPoint.y());
- break;
- case LEFT:
- case WEBKIT_LEFT:
- anchor = topLeftPoint;
- break;
- case RIGHT:
- case WEBKIT_RIGHT:
- anchor = FloatPoint(nodeRect.x() + nodeRect.width() - scaledViewportWidth, topLeftPoint.y());
- break;
- case TASTART:
- case JUSTIFY:
- default:
- if (renderer->style()->isLeftToRightDirection())
- anchor = topLeftPoint;
- else
- anchor = FloatPoint(nodeRect.x() + nodeRect.width() - scaledViewportWidth, topLeftPoint.y());
- break;
- }
- } else
- anchor = renderer->style()->isLeftToRightDirection() ? topLeftPoint : FloatPoint(nodeRect.x() + nodeRect.width() - scaledViewportWidth, topLeftPoint.y());
-
- WebCore::FloatPoint finalAnimationDocumentScrollPosition;
-
- if (newBlockRect.height() <= scaledViewportHeight) {
- // The block fits in the viewport so center it.
- finalAnimationDocumentScrollPosition = FloatPoint(anchor.x() - dx, anchor.y() - dy);
- } else {
- // The block is longer than the viewport so top align it and add 3 pixel margin.
- finalAnimationDocumentScrollPosition = FloatPoint(anchor.x() - dx, anchor.y() - 3);
- }
-
-#if ENABLE(VIEWPORT_REFLOW)
- // We don't know how long the reflowed block will be so we position it at the top of the screen with a small margin.
- if (settings()->textReflowMode() != WebSettings::TextReflowDisabled) {
- finalAnimationDocumentScrollPosition = FloatPoint(anchor.x() - dx, anchor.y() - 3);
- d->m_finalAnimationDocumentScrollPositionReflowOffset = FloatPoint(-dx, -3);
- }
-#endif
-
- // Make sure that the original node rect is visible in the screen after the zoom. This is necessary because the identified block rect might
- // not be the same as the original node rect, and it could force the original node rect off the screen.
- FloatRect br(anchor, FloatSize(scaledViewportWidth, scaledViewportHeight));
- if (!br.contains(IntPoint(documentTargetPoint))) {
- d->m_finalAnimationDocumentScrollPositionReflowOffset.move(0, (documentTargetPoint.y() - scaledViewportHeight / 2) - finalAnimationDocumentScrollPosition.y());
- finalAnimationDocumentScrollPosition = FloatPoint(finalAnimationDocumentScrollPosition.x(), documentTargetPoint.y() - scaledViewportHeight / 2);
- }
-
- // Clamp the finalBlockPoint to not cause any overflow scrolling.
- if (finalAnimationDocumentScrollPosition.x() < 0) {
- finalAnimationDocumentScrollPosition.setX(0);
- d->m_finalAnimationDocumentScrollPositionReflowOffset.setX(0);
- } else if (finalAnimationDocumentScrollPosition.x() + scaledViewportWidth > d->contentsSize().width()) {
- finalAnimationDocumentScrollPosition.setX(d->contentsSize().width() - scaledViewportWidth);
- d->m_finalAnimationDocumentScrollPositionReflowOffset.setX(0);
- }
-
- if (finalAnimationDocumentScrollPosition.y() < 0) {
- finalAnimationDocumentScrollPosition.setY(0);
- d->m_finalAnimationDocumentScrollPositionReflowOffset.setY(0);
- } else if (finalAnimationDocumentScrollPosition.y() + scaledViewportHeight > d->contentsSize().height()) {
- finalAnimationDocumentScrollPosition.setY(d->contentsSize().height() - scaledViewportHeight);
- d->m_finalAnimationDocumentScrollPositionReflowOffset.setY(0);
- }
-
- // Don't block zoom if the user is zooming and the new scale is only marginally different from the
- // oldScale with only a marginal change in scroll position. Ignore scroll difference in the special case
- // that the zoom level is the minimumScale.
- if (!endOfBlockZoomMode && abs(newScale - oldScale) / oldScale < minimumExpandingRatio) {
- const double minimumDisplacement = minimumExpandingRatio * viewportAccessor->documentViewportSize().width();
- const int scrollPositionDisplacement = distanceBetweenPoints(viewportAccessor->documentScrollPosition(), viewportAccessor->roundedDocumentContents(finalAnimationDocumentScrollPosition));
-
- if (oldScale == d->minimumScale() || (scrollPositionDisplacement < minimumDisplacement && abs(newScale - oldScale) / oldScale < 0.10)) {
- if (isFirstZoom) {
- d->resetBlockZoom();
- return false;
- }
- // Zoom out of block zoom.
- blockZoom(documentTargetPoint);
- return true;
- }
- }
-
- // We set this here to make sure we don't try to re-render the page at a different zoom level during loading.
- d->m_userPerformedManualZoom = true;
- d->m_userPerformedManualScroll = true;
- d->m_client->animateToScaleAndDocumentScrollPosition(newScale, finalAnimationDocumentScrollPosition, true);
-
- return true;
-}
-
-bool WebPage::isMaxZoomed() const
-{
- return (d->currentScale() == d->maximumScale()) || !d->isUserScalable();
-}
-
-bool WebPage::isMinZoomed() const
-{
- return (d->currentScale() == d->minimumScale()) || !d->isUserScalable();
-}
-
-bool WebPage::isAtInitialZoom() const
-{
- return (d->currentScale() == d->initialScale()) || !d->isUserScalable();
-}
-
-class DeferredTaskSetFocused: public DeferredTask<&WebPagePrivate::m_wouldSetFocused> {
-public:
- explicit DeferredTaskSetFocused(WebPagePrivate* webPagePrivate, bool focused)
- : DeferredTaskType(webPagePrivate)
- {
- webPagePrivate->m_cachedFocused = focused;
- }
-private:
- virtual void performInternal(WebPagePrivate* webPagePrivate)
- {
- webPagePrivate->m_webPage->setFocused(webPagePrivate->m_cachedFocused);
- }
-};
-
-void WebPage::setFocused(bool focused)
-{
- if (d->m_page->defersLoading()) {
- d->m_deferredTasks.append(adoptPtr(new DeferredTaskSetFocused(d, focused)));
- return;
- }
- DeferredTaskSetFocused::finishOrCancel(d);
- FocusController* focusController = d->m_page->focusController();
- focusController->setActive(focused);
- if (focused) {
- Frame* frame = focusController->focusedFrame();
- if (!frame)
- focusController->setFocusedFrame(d->m_mainFrame);
- }
- focusController->setFocused(focused);
-}
-
-bool WebPage::findNextString(const char* text, bool forward, bool caseSensitive, bool wrap, bool highlightAllMatches, bool selectActiveMatchOnClear)
-{
- WebCore::FindOptions findOptions = WebCore::StartInSelection;
- if (!forward)
- findOptions |= WebCore::Backwards;
- if (!caseSensitive)
- findOptions |= WebCore::CaseInsensitive;
-
- // The WebCore::FindOptions::WrapAround boolean actually wraps the search
- // within the current frame as opposed to the entire Document, so we have to
- // provide our own wrapping code to wrap at the whole Document level.
- return d->m_inPageSearchManager->findNextString(String::fromUTF8(text), findOptions, wrap, highlightAllMatches, selectActiveMatchOnClear);
-}
-
-void WebPage::runLayoutTests()
-{
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- // FIXME: do we need API to toggle this?
- d->m_page->settings()->setDeveloperExtrasEnabled(true);
-
- if (!d->m_dumpRenderTree)
- d->m_dumpRenderTree = new DumpRenderTree(this);
- d->m_dumpRenderTree->runTests();
-#endif
-}
-
-unsigned WebPage::timeoutForJavaScriptExecution() const
-{
- return Settings::timeoutForJavaScriptExecution(d->m_page->groupName());
-}
-
-void WebPage::setTimeoutForJavaScriptExecution(unsigned ms)
-{
- Settings::setTimeoutForJavaScriptExecution(d->m_page->groupName(), ms);
-}
-
-JSGlobalContextRef WebPage::globalContext() const
-{
- if (!d->m_mainFrame)
- return 0;
-
- return toGlobalRef(d->m_mainFrame->script()->globalObject(mainThreadNormalWorld())->globalExec());
-}
-
-// Serialize only the members of HistoryItem which are needed by the client,
-// and copy them into a SharedArray. Also include the HistoryItem pointer which
-// will be used by the client as an opaque reference to identify the item.
-void WebPage::getBackForwardList(SharedArray<BackForwardEntry>& result) const
-{
- HistoryItemVector entries = static_cast<BackForwardListBlackBerry*>(d->m_page->backForward()->client())->entries();
- result.reset(new BackForwardEntry[entries.size()], entries.size());
-
- for (unsigned i = 0; i < entries.size(); ++i) {
- RefPtr<HistoryItem> entry = entries[i];
- BackForwardEntry& resultEntry = result[i];
- resultEntry.url = entry->urlString();
- resultEntry.originalUrl = entry->originalURLString();
- resultEntry.title = entry->title();
- resultEntry.networkToken = entry->viewState().networkToken;
- resultEntry.lastVisitWasHTTPNonGet = entry->lastVisitWasHTTPNonGet();
- resultEntry.id = backForwardIdFromHistoryItem(entry.get());
-
- // FIXME: seems we can remove this now?
- // Make sure the HistoryItem is not disposed while the result list is still being used, to make sure the pointer is not reused
- // will be balanced by deref in releaseBackForwardEntry.
- entry->ref();
- }
-}
-
-void WebPage::releaseBackForwardEntry(BackForwardId id) const
-{
- HistoryItem* item = historyItemFromBackForwardId(id);
- ASSERT(item);
- item->deref();
-}
-
-void WebPage::clearBrowsingData()
-{
- clearMemoryCaches();
- clearAppCache(d->m_page->groupName());
- clearLocalStorage();
- clearCookieCache();
- clearHistory();
- clearPluginSiteData();
- clearWebFileSystem();
-}
-
-void WebPage::clearHistory()
-{
- // Don't clear the back-forward list as we might like to keep it.
- PageGroup::removeAllVisitedLinks();
-}
-
-void WebPage::clearCookies()
-{
- clearCookieCache();
-}
-
-void WebPage::clearLocalStorage()
-{
- if (PageGroup* group = d->m_page->groupPtr()) {
- if (StorageNamespace* storage = group->localStorage())
- storage->clearAllOriginsForDeletion();
- }
-}
-
-void WebPage::clearCredentials()
-{
-#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
- if (d->m_webSettings->isCredentialAutofillEnabled())
- credentialManager().clearCredentials();
-#endif
-}
-
-void WebPage::clearAutofillData()
-{
- if (d->m_webSettings->isFormAutofillEnabled())
- AutofillManager::clear();
-}
-
-void WebPage::clearNeverRememberSites()
-{
-#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
- if (d->m_webSettings->isCredentialAutofillEnabled())
- credentialManager().clearNeverRememberSites();
-#endif
-}
-
-void WebPage::clearWebFileSystem()
-{
-#if ENABLE(FILE_SYSTEM)
- Platform::WebFileSystem::deleteAllFileSystems();
-#endif
-}
-
-void WebPage::clearCache()
-{
- clearMemoryCaches();
- clearAppCache(d->m_page->groupName());
-}
-
-void WebPage::clearBackForwardList(bool keepCurrentPage) const
-{
- BackForwardListBlackBerry* backForwardList = static_cast<BackForwardListBlackBerry*>(d->m_page->backForward()->client());
- RefPtr<HistoryItem> currentItem = backForwardList->currentItem();
- backForwardList->clear();
- if (keepCurrentPage)
- d->m_page->backForward()->client()->addItem(currentItem);
-}
-
-bool WebPage::isEnableLocalAccessToAllCookies() const
-{
- return cookieManager().canLocalAccessAllCookies();
-}
-
-void WebPage::setEnableLocalAccessToAllCookies(bool enabled)
-{
- cookieManager().setCanLocalAccessAllCookies(enabled);
-}
-
-void WebPage::addVisitedLink(const unsigned short* url, unsigned length)
-{
- ASSERT(d->m_page);
- d->m_page->group().addVisitedLink(url, length);
-}
-
-void WebPage::initPopupWebView(BlackBerry::WebKit::WebPage* webPage)
-{
- d->m_pagePopup->initialize(webPage);
-}
-
-String WebPagePrivate::findPatternStringForUrl(const KURL& url) const
-{
- if ((m_webSettings->shouldHandlePatternUrls() && protocolIs(url, "pattern"))
- || protocolIs(url, "tel")
- || protocolIs(url, "wtai")
- || protocolIs(url, "cti")
- || protocolIs(url, "mailto")
- || protocolIs(url, "sms")
- || protocolIs(url, "pin")) {
- return url;
- }
- return String();
-}
-
-bool WebPage::defersLoading() const
-{
- return d->m_page->defersLoading();
-}
-
-void WebPage::notifyPagePause()
-{
- FOR_EACH_PLUGINVIEW(d->m_pluginViews)
- (*it)->handlePauseEvent();
-}
-
-void WebPage::notifyPageResume()
-{
- FOR_EACH_PLUGINVIEW(d->m_pluginViews)
- (*it)->handleResumeEvent();
-}
-
-void WebPage::notifyPageBackground()
-{
- FOR_EACH_PLUGINVIEW(d->m_pluginViews)
- (*it)->handleBackgroundEvent();
-}
-
-void WebPage::notifyPageForeground()
-{
- FOR_EACH_PLUGINVIEW(d->m_pluginViews)
- (*it)->handleForegroundEvent();
-}
-
-void WebPage::notifyPageFullScreenAllowed()
-{
- FOR_EACH_PLUGINVIEW(d->m_pluginViews)
- (*it)->handleFullScreenAllowedEvent();
-}
-
-void WebPage::notifyPageFullScreenExit()
-{
- FOR_EACH_PLUGINVIEW(d->m_pluginViews)
- (*it)->handleFullScreenExitEvent();
-}
-
-void WebPage::notifyDeviceIdleStateChange(bool enterIdle)
-{
- FOR_EACH_PLUGINVIEW(d->m_pluginViews)
- (*it)->handleIdleEvent(enterIdle);
-}
-
-void WebPagePrivate::notifyAppActivationStateChange(ActivationStateType activationState)
-{
- m_activationState = activationState;
-
-#if USE(ACCELERATED_COMPOSITING)
- updateRootLayerCommitEnabled();
-#endif
-
-#if ENABLE(PAGE_VISIBILITY_API)
- setPageVisibilityState();
-#endif
-}
-
-void WebPage::notifyAppActivationStateChange(ActivationStateType activationState)
-{
-#if ENABLE(VIDEO)
- MediaPlayerPrivate::notifyAppActivatedEvent(activationState == ActivationActive);
-#endif
-
- FOR_EACH_PLUGINVIEW(d->m_pluginViews) {
- switch (activationState) {
- case ActivationActive:
- (*it)->handleAppActivatedEvent();
- break;
- case ActivationInactive:
- (*it)->handleAppDeactivatedEvent();
- break;
- case ActivationStandby:
- (*it)->handleAppStandbyEvent();
- break;
- }
- }
-
- d->notifyAppActivationStateChange(activationState);
-}
-
-void WebPage::notifySwipeEvent()
-{
- if (d->m_fullScreenPluginView.get())
- d->m_fullScreenPluginView->handleSwipeEvent();
- else
- notifyFullScreenVideoExited(true);
-}
-
-void WebPage::notifyScreenPowerStateChanged(bool powered)
-{
- FOR_EACH_PLUGINVIEW(d->m_pluginViews)
- (*it)->handleScreenPowerEvent(powered);
-}
-
-void WebPage::notifyFullScreenVideoExited(bool done)
-{
- UNUSED_PARAM(done);
-#if ENABLE(VIDEO)
- Element* element = toElement(d->m_fullscreenNode.get());
- if (!element)
- return;
- if (d->m_webSettings->fullScreenVideoCapable() && element->hasTagName(HTMLNames::videoTag))
- toHTMLMediaElement(element)->exitFullscreen();
-#if ENABLE(FULLSCREEN_API)
- else
- element->document()->webkitCancelFullScreen();
-#endif
-#endif
-}
-
-void WebPage::clearPluginSiteData()
-{
- PluginDatabase* database = PluginDatabase::installedPlugins(true);
-
- if (!database)
- return;
-
- Vector<PluginPackage*> plugins = database->plugins();
-
- Vector<PluginPackage*>::const_iterator end = plugins.end();
- for (Vector<PluginPackage*>::const_iterator it = plugins.begin(); it != end; ++it)
- (*it)->clearSiteData(String());
-}
-
-void WebPage::setExtraPluginDirectory(const BlackBerry::Platform::String& path)
-{
- PluginDatabase* database = PluginDatabase::installedPlugins(true /* true for loading default directories */);
- if (!database)
- return;
-
- Vector<String> pluginDirectories = database->pluginDirectories();
- if (path.empty() || pluginDirectories.contains(String(path)))
- return;
-
- pluginDirectories.append(path);
- database->setPluginDirectories(pluginDirectories);
- // Clear out every Page's local copy of PluginData, so it will
- // retrieve it again when necessary. Otherwise each page will be
- // using old data and may either direct content to a plugin that
- // doesn't exist (causing a crash) or not direct content to a plugin
- // that does exist. We do this even if plugins are disabled because
- // this step is not done when plugins get enabled.
-
- // True only needs to be passed here if we want to reload each frame
- // in the page's frame tree. Here we are passing false for minimum disruption,
- // and because this does exactly what we need and nothing more: refresh the plugin data.
- d->m_page->refreshPlugins(false /* false for minimum disruption as described above */);
-
- if (d->m_webSettings->arePluginsEnabled())
- database->refresh();
-}
-
-void WebPage::updateDisabledPluginFiles(const BlackBerry::Platform::String& fileName, bool disabled)
-{
- // Passing true will set plugin database with default plugin directories and refresh it.
- PluginDatabase* database = PluginDatabase::installedPlugins(true /* true for loading default directories */);
- if (!database)
- return;
-
- if (disabled) {
- if (!database->addDisabledPluginFile(fileName))
- return;
- } else {
- if (!database->removeDisabledPluginFile(fileName))
- return;
- }
-
- // Clear out every Page's local copy of PluginData, so it will
- // retrieve it again when necessary. Otherwise each page will be
- // using old data and may either direct content to a plugin that
- // doesn't exist (causing a crash) or not direct content to a plugin
- // that does exist. We do this even if plugins are disabled because
- // this step is not done when plugins get enabled.
-
- // True only needs to be passed here if we want to reload each frame
- // in the page's frame tree. Here we are passing false for minimum disruption,
- // and because this does exactly what we need and nothing more: refresh the plugin data.
- d->m_page->refreshPlugins(false /* false for minimum disruption as described above */);
-
- // Refresh the plugin database if necessary.
- if (d->m_webSettings->arePluginsEnabled())
- database->refresh();
-}
-
-void WebPage::onNetworkAvailabilityChanged(bool available)
-{
- updateOnlineStatus(available);
-}
-
-void WebPage::onCertificateStoreLocationSet(const BlackBerry::Platform::String& caPath)
-{
-#if ENABLE(VIDEO)
- MediaPlayerPrivate::setCertificatePath(caPath);
-#endif
-}
-
-void WebPage::enableDNSPrefetch()
-{
- d->m_page->settings()->setDNSPrefetchingEnabled(true);
-}
-
-void WebPage::disableDNSPrefetch()
-{
- d->m_page->settings()->setDNSPrefetchingEnabled(false);
-}
-
-bool WebPage::isDNSPrefetchEnabled() const
-{
- return d->m_page->settings()->dnsPrefetchingEnabled();
-}
-
-void WebPage::enableWebInspector()
-{
- if (isWebInspectorEnabled() || !d->m_inspectorClient)
- return;
-
- d->m_page->inspectorController()->connectFrontend(d->m_inspectorClient);
- d->m_page->settings()->setDeveloperExtrasEnabled(true);
- d->setPreventsScreenDimming(true);
- d->m_inspectorEnabled = true;
-}
-
-void WebPage::disableWebInspector()
-{
- if (!isWebInspectorEnabled())
- return;
-
- d->m_page->inspectorController()->disconnectFrontend();
- d->m_page->settings()->setDeveloperExtrasEnabled(false);
- d->setPreventsScreenDimming(false);
- d->m_inspectorEnabled = false;
-}
-
-bool WebPage::isWebInspectorEnabled()
-{
- return d->m_inspectorEnabled;
-}
-
-void WebPage::enablePasswordEcho()
-{
- d->m_page->settings()->setPasswordEchoEnabled(true);
-}
-
-void WebPage::disablePasswordEcho()
-{
- d->m_page->settings()->setPasswordEchoEnabled(false);
-}
-
-void WebPage::dispatchInspectorMessage(const BlackBerry::Platform::String& message)
-{
- d->m_page->inspectorController()->dispatchMessageFromFrontend(message);
-}
-
-void WebPage::inspectCurrentContextElement()
-{
- if (isWebInspectorEnabled() && d->m_currentContextNode.get())
- d->m_page->inspectorController()->inspect(d->m_currentContextNode.get());
-}
-
-Platform::IntPoint WebPage::adjustDocumentScrollPosition(const Platform::IntPoint& documentScrollPosition, const Platform::IntRect& documentPaddingRect)
-{
- return d->m_proximityDetector->findBestPoint(documentScrollPosition, documentPaddingRect);
-}
-
-Platform::IntSize WebPage::fixedElementSizeDelta()
-{
- ASSERT(Platform::userInterfaceThreadMessageClient()->isCurrentThread());
-
- // Traverse the layer tree and find the fixed element rect if there is one.
- IntRect fixedElementRect;
- if (d->compositor() && d->compositor()->rootLayer())
- d->compositor()->findFixedElementRect(d->compositor()->rootLayer(), fixedElementRect);
-
- // Ignore the fixed element if it is not at the top of page.
- if (!fixedElementRect.isEmpty() && !fixedElementRect.y())
- return Platform::IntSize(0, fixedElementRect.height());
- return Platform::IntSize();
-}
-
-bool WebPagePrivate::compositorDrawsRootLayer() const
-{
- if (!m_mainFrame)
- return false;
-
-#if USE(ACCELERATED_COMPOSITING)
- if (Platform::userInterfaceThreadMessageClient()->isCurrentThread())
- return m_compositor && m_compositor->drawsRootLayer();
-
- // WebKit thread implementation:
- RenderView* renderView = m_mainFrame->contentRenderer();
- if (!renderView || !renderView->layer() || !renderView->layer()->backing())
- return false;
-
- return !renderView->layer()->backing()->paintsIntoWindow();
-#else
- return false;
-#endif
-}
-
-void WebPagePrivate::setCompositorDrawsRootLayer(bool compositorDrawsRootLayer)
-{
-#if USE(ACCELERATED_COMPOSITING)
- if (m_page->settings()->forceCompositingMode() == compositorDrawsRootLayer)
- return;
-
- // When the BlackBerry port forces compositing mode, the root layer stops
- // painting to window and starts painting to layer instead.
- m_page->settings()->setForceCompositingMode(compositorDrawsRootLayer);
- m_backingStore->d->updateSuspendScreenUpdateState();
-
- if (!m_mainFrame)
- return;
-
- if (FrameView* view = m_mainFrame->view())
- view->updateCompositingLayers();
-#endif
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-void WebPagePrivate::scheduleRootLayerCommit()
-{
- if (!(m_frameLayers && m_frameLayers->hasLayer()) && !m_overlayLayer)
- return;
-
- m_needsCommit = true;
- if (!m_rootLayerCommitTimer->isActive()) {
-#if DEBUG_AC_COMMIT
- Platform::logAlways(Platform::LogLevelCritical,
- "%s: m_rootLayerCommitTimer->isActive() = %d",
- WTF_PRETTY_FUNCTION, m_rootLayerCommitTimer->isActive());
-#endif
- m_rootLayerCommitTimer->startOneShot(0);
- }
-}
-
-static bool needsLayoutRecursive(FrameView* view)
-{
- if (view->needsLayout())
- return true;
-
- bool subframesNeedsLayout = false;
- const HashSet<RefPtr<Widget> >* viewChildren = view->children();
- HashSet<RefPtr<Widget> >::const_iterator end = viewChildren->end();
- for (HashSet<RefPtr<Widget> >::const_iterator current = viewChildren->begin(); current != end && !subframesNeedsLayout; ++current) {
- Widget* widget = (*current).get();
- if (widget->isFrameView())
- subframesNeedsLayout |= needsLayoutRecursive(toFrameView(widget));
- }
-
- return subframesNeedsLayout;
-}
-
-LayerRenderingResults WebPagePrivate::lastCompositingResults() const
-{
- if (m_compositor)
- return m_compositor->lastCompositingResults();
- return LayerRenderingResults();
-}
-
-GraphicsLayer* WebPagePrivate::overlayLayer()
-{
- if (!m_overlayLayer)
- m_overlayLayer = GraphicsLayer::create(0, this);
-
- return m_overlayLayer.get();
-}
-
-void WebPagePrivate::setCompositor(PassRefPtr<WebPageCompositorPrivate> compositor)
-{
- using namespace BlackBerry::Platform;
-
- // We depend on the current thread being the WebKit thread when it's not the Compositing thread.
- // That seems extremely likely to be the case, but let's assert just to make sure.
- ASSERT(webKitThreadMessageClient()->isCurrentThread());
-
- m_backingStore->d->suspendScreenUpdates();
-
- // The m_compositor member has to be modified during a sync call for thread
- // safe access to m_compositor and its refcount.
- userInterfaceThreadMessageClient()->dispatchSyncMessage(createMethodCallMessage(&WebPagePrivate::setCompositorHelper, this, compositor));
-
- m_backingStore->d->resumeScreenUpdates(BackingStore::RenderAndBlit);
-}
-
-void WebPagePrivate::setCompositorHelper(PassRefPtr<WebPageCompositorPrivate> compositor)
-{
- using namespace BlackBerry::Platform;
-
- // The m_compositor member has to be modified during a sync call for thread
- // safe access to m_compositor and its refcount.
- ASSERT(userInterfaceThreadMessageClient()->isCurrentThread());
-
- m_compositor = compositor;
- if (m_compositor) {
- m_compositor->setPage(this);
-
- m_compositor->setBackgroundColor(m_webSettings->backgroundColor());
- }
-
- // The previous compositor, if any, has now released it's OpenGL resources,
- // so we can safely free the owned context, if any.
- m_ownedContext.clear();
-}
-
-void WebPagePrivate::setCompositorBackgroundColor(const Color& backgroundColor)
-{
- if (m_compositor)
- m_compositor->setBackgroundColor(backgroundColor);
-}
-
-void WebPagePrivate::commitRootLayer(const IntRect& layoutRect, const IntRect& documentRect, bool drawsRootLayer)
-{
-#if DEBUG_AC_COMMIT
- Platform::logAlways(Platform::LogLevelCritical,
- "%s: m_compositor = 0x%p",
- WTF_PRETTY_FUNCTION, m_compositor.get());
-#endif
-
- if (!m_compositor)
- return;
-
- // Frame layers
- LayerWebKitThread* rootLayer = 0;
- if (m_frameLayers)
- rootLayer = m_frameLayers->rootLayer();
-
- if (rootLayer && rootLayer->layerCompositingThread() != m_compositor->rootLayer())
- m_compositor->setRootLayer(rootLayer->layerCompositingThread());
-
- // Overlay layers
- LayerWebKitThread* overlayLayer = 0;
- if (m_overlayLayer)
- overlayLayer = m_overlayLayer->platformLayer();
-
- if (overlayLayer && overlayLayer->layerCompositingThread() != m_compositor->overlayLayer())
- m_compositor->setOverlayLayer(overlayLayer->layerCompositingThread());
-
- m_compositor->setLayoutRect(layoutRect);
- m_compositor->setDocumentRect(documentRect);
- m_compositor->setDrawsRootLayer(drawsRootLayer);
-
- if (rootLayer)
- rootLayer->commitOnCompositingThread();
- if (overlayLayer)
- overlayLayer->commitOnCompositingThread();
-
- m_animationStartTime = currentTime();
- m_didStartAnimations = false;
- if (rootLayer)
- m_didStartAnimations |= rootLayer->startAnimations(m_animationStartTime);
- if (overlayLayer)
- m_didStartAnimations |= overlayLayer->startAnimations(m_animationStartTime);
-
- scheduleCompositingRun();
-}
-
-bool WebPagePrivate::commitRootLayerIfNeeded()
-{
-#if DEBUG_AC_COMMIT
- Platform::logAlways(Platform::LogLevelCritical,
- "%s: m_suspendRootLayerCommit = %d, m_needsCommit = %d, m_frameLayers = 0x%p, m_frameLayers->hasLayer() = %d, needsLayoutRecursive() = %d",
- WTF_PRETTY_FUNCTION,
- m_suspendRootLayerCommit,
- m_needsCommit,
- m_frameLayers.get(),
- m_frameLayers && m_frameLayers->hasLayer(),
- m_mainFrame && m_mainFrame->view() && needsLayoutRecursive(m_mainFrame->view()));
-#endif
-
- if (m_suspendRootLayerCommit)
- return false;
-
- if (!m_needsCommit)
- return false;
-
- // Don't bail if the layers were removed and we now need a one shot drawing sync as a consequence.
- if (!(m_frameLayers && m_frameLayers->hasLayer()) && !m_overlayLayer && !m_needsOneShotDrawingSynchronization)
- return false;
-
- FrameView* view = m_mainFrame->view();
- if (!view)
- return false;
-
- // This can do pretty much anything depending on the overlay,
- // so in case it causes relayout or schedule a commit, call it early.
- updateDelegatedOverlays();
-
- // If we sync compositing layers when a layout is pending, we may cause painting of compositing
- // layer content to occur before layout has happened, which will cause paintContents() to bail.
- if (needsLayoutRecursive(view)) {
- // In case of one shot drawing synchronization, you
- // should first layoutIfNeeded, render, then commit and draw the layers.
- ASSERT(!needsOneShotDrawingSynchronization());
- return false;
- }
-
- m_needsCommit = false;
- // We get here either due to the commit timer, which would have called
- // render if a one shot sync was needed. Or we get called from render
- // before the timer times out, which means we are doing a one shot anyway.
- m_needsOneShotDrawingSynchronization = false;
-
- if (m_rootLayerCommitTimer->isActive())
- m_rootLayerCommitTimer->stop();
-
- double scale = currentScale();
- if (m_frameLayers && m_frameLayers->hasLayer())
- m_frameLayers->commitOnWebKitThread(scale);
-
- if (m_overlayLayer)
- m_overlayLayer->platformLayer()->commitOnWebKitThread(scale);
-
- willComposite();
- // Stash the visible content rect according to webkit thread
- // This is the rectangle used to layout fixed positioned elements,
- // and that's what the layer renderer wants.
- IntRect layoutRect(scrollPosition(), actualVisibleSize());
- IntRect documentRect(view->minimumScrollPosition(), view->contentsSize());
- bool drawsRootLayer = compositorDrawsRootLayer();
-
- // Commit changes made to the layers synchronously with the compositing thread.
- Platform::userInterfaceThreadMessageClient()->dispatchSyncMessage(
- Platform::createMethodCallMessage(
- &WebPagePrivate::commitRootLayer,
- this,
- layoutRect,
- documentRect,
- drawsRootLayer));
-
- if (m_didStartAnimations) {
- if (m_frameLayers && m_frameLayers->hasLayer())
- m_frameLayers->notifyAnimationsStarted(m_animationStartTime);
- if (m_overlayLayer)
- m_overlayLayer->platformLayer()->notifyAnimationsStarted(m_animationStartTime);
-
- m_didStartAnimations = false;
- }
-
- didComposite();
- return true;
-}
-
-void WebPagePrivate::rootLayerCommitTimerFired(Timer<WebPagePrivate>*)
-{
- if (m_suspendRootLayerCommit)
- return;
-
-#if DEBUG_AC_COMMIT
- Platform::logAlways(Platform::LogLevelCritical, "%s", WTF_PRETTY_FUNCTION);
-#endif
-
- m_backingStore->d->instrumentBeginFrame();
-
- // The commit timer may have fired just before the layout timer, or for some
- // other reason we need layout. It's not allowed to commit when a layout is
- // pending, becaues a commit can cause parts of the web page to be rendered
- // to texture.
- // The layout can also turn of compositing altogether, so we need to be prepared
- // to handle a one shot drawing synchronization after the layout.
- updateLayoutAndStyleIfNeededRecursive();
-
- // If we transitioned to drawing the root layer using compositor instead of
- // backing store, doing a one shot drawing synchronization with the
- // backing store is never necessary, because the backing store draws
- // nothing.
- if (!compositorDrawsRootLayer() && needsOneShotDrawingSynchronization()) {
-#if DEBUG_AC_COMMIT
- Platform::logAlways(Platform::LogLevelCritical,
- "%s: OneShotDrawingSynchronization code path!",
- WTF_PRETTY_FUNCTION);
-#endif
- const IntRect windowRect = IntRect(IntPoint::zero(), viewportSize());
- m_backingStore->d->repaint(windowRect, true /*contentChanged*/, true /*immediate*/);
- return;
- }
-
- commitRootLayerIfNeeded();
-}
-
-void WebPagePrivate::setRootLayerWebKitThread(Frame* frame, LayerWebKitThread* layer)
-{
- // This method updates the FrameLayers based on input from WebCore.
- // FrameLayers keeps track of the layer proxies attached to frames.
- // We will have to compute a new root layer and update the compositor.
- if (!layer && !m_frameLayers)
- return;
-
- if (!layer) {
- ASSERT(m_frameLayers);
- m_frameLayers->removeLayerByFrame(frame);
- if (!m_frameLayers->hasLayer())
- m_frameLayers.clear();
- } else {
- if (!m_frameLayers)
- m_frameLayers = adoptPtr(new FrameLayers(this));
-
- if (!m_frameLayers->containsLayerForFrame(frame))
- m_frameLayers->addLayer(frame, layer);
-
- ASSERT(m_frameLayers);
- }
-
- LayerCompositingThread* rootLayerCompositingThread = 0;
- if (m_frameLayers && m_frameLayers->rootLayer())
- rootLayerCompositingThread = m_frameLayers->rootLayer()->layerCompositingThread();
-
- setRootLayerCompositingThread(rootLayerCompositingThread);
-}
-
-void WebPagePrivate::setRootLayerCompositingThread(LayerCompositingThread* layer)
-{
- if (!Platform::userInterfaceThreadMessageClient()->isCurrentThread()) {
- Platform::userInterfaceThreadMessageClient()->dispatchSyncMessage(
- Platform::createMethodCallMessage(&WebPagePrivate::setRootLayerCompositingThread, this, layer));
- return;
- }
-
- if (layer && !m_compositor)
- createCompositor();
-
- // Don't ASSERT(m_compositor) here because setIsAcceleratedCompositingActive(true)
- // may not turn accelerated compositing on since m_backingStore is 0.
- if (m_compositor)
- m_compositor->setRootLayer(layer);
-}
-
-bool WebPagePrivate::createCompositor()
-{
- // If there's no window, the compositor will be supplied by the API client
- if (!m_client->window())
- return false;
-
- m_ownedContext = GLES2Context::create(this);
- m_compositor = WebPageCompositorPrivate::create(this, 0);
- m_compositor->setContext(m_ownedContext.get());
-
- // The compositor is created in a sync message, so there's no risk of race condition on the
- // WebSettings.
- m_compositor->setBackgroundColor(m_webSettings->backgroundColor());
-
- return true;
-}
-
-void WebPagePrivate::destroyCompositor()
-{
- // m_compositor is a RefPtr, so it may live on beyond this point.
- // Disconnect the compositor from us
- m_compositor->detach();
- m_compositor.clear();
- m_ownedContext.clear();
-}
-
-void WebPagePrivate::syncDestroyCompositorOnCompositingThread()
-{
- if (!m_compositor)
- return;
-
- Platform::userInterfaceThreadMessageClient()->dispatchSyncMessage(
- Platform::createMethodCallMessage(
- &WebPagePrivate::destroyCompositor, this));
-}
-
-void WebPagePrivate::releaseLayerResources()
-{
- if (!isAcceleratedCompositingActive())
- return;
-
- if (m_frameLayers)
- m_frameLayers->releaseLayerResources();
-
- Platform::userInterfaceThreadMessageClient()->dispatchSyncMessage(
- Platform::createMethodCallMessage(&WebPagePrivate::releaseLayerResourcesCompositingThread, this));
-}
-
-void WebPagePrivate::releaseLayerResourcesCompositingThread()
-{
- m_compositor->releaseLayerResources();
-}
-
-void WebPagePrivate::updateRootLayerCommitEnabled()
-{
- bool shouldSuspend = !m_visible || m_activationState != ActivationActive;
-
- if (m_suspendRootLayerCommit == shouldSuspend)
- return;
-
- m_suspendRootLayerCommit = shouldSuspend;
-
- if (m_suspendRootLayerCommit) {
- if (m_compositor)
- releaseLayerResources();
-
- return;
- }
-
- m_needsCommit = true;
- // PR 330917, explicitly start root layer commit timer, so that there's a commit
- // even if BackingStore got disabled/removed.
- scheduleRootLayerCommit();
-}
-
-bool WebPagePrivate::needsOneShotDrawingSynchronization()
-{
- return m_needsOneShotDrawingSynchronization;
-}
-
-void WebPagePrivate::setNeedsOneShotDrawingSynchronization()
-{
- if (compositorDrawsRootLayer()) {
- scheduleRootLayerCommit();
- return;
- }
-
- // This means we have to commit layers on next render, or render on the next commit,
- // whichever happens first.
- m_needsCommit = true;
- m_needsOneShotDrawingSynchronization = true;
-}
-
-void WebPagePrivate::notifyFlushRequired(const GraphicsLayer*)
-{
- scheduleRootLayerCommit();
-}
-#endif // USE(ACCELERATED_COMPOSITING)
-
-void WebPagePrivate::enterFullscreenForNode(Node* node)
-{
-#if ENABLE(VIDEO)
- if (!node || !node->hasTagName(HTMLNames::videoTag))
- return;
-
- MediaPlayer* player = toHTMLMediaElement(node)->player();
- if (!player)
- return;
-
- MediaPlayerPrivate* mmrPlayer = static_cast<MediaPlayerPrivate*>(player->implementation());
- if (!mmrPlayer)
- return;
-
- Platform::Graphics::Window* window = mmrPlayer->getWindow();
- if (!window)
- return;
-
- const char* contextName = mmrPlayer->mmrContextName();
- if (!contextName)
- return;
-
- mmrPlayer->setFullscreenWebPageClient(m_client);
- m_fullscreenNode = node;
- m_client->fullscreenStart(contextName, window, mmrPlayer->getWindowScreenRect());
-#endif
-}
-
-void WebPagePrivate::exitFullscreenForNode(Node* node)
-{
-#if ENABLE(VIDEO)
- if (m_fullscreenNode.get()) {
- m_client->fullscreenStop();
- m_fullscreenNode = 0;
- }
-
- if (!node || !node->hasTagName(HTMLNames::videoTag))
- return;
-
- MediaPlayer* player = toHTMLMediaElement(node)->player();
- if (!player)
- return;
-
- MediaPlayerPrivate* mmrPlayer = static_cast<MediaPlayerPrivate*>(player->implementation());
- if (!mmrPlayer)
- return;
-
- // Fullscreen mode is being turned off, so MediaPlayerPrivate no longer needs the pointer.
- mmrPlayer->setFullscreenWebPageClient(0);
-#endif
-}
-
-#if ENABLE(FULLSCREEN_API)
-void WebPagePrivate::enterFullScreenForElement(Element* element)
-{
-#if ENABLE(VIDEO)
- if (!element)
- return;
- if (m_webSettings->fullScreenVideoCapable() && element->hasTagName(HTMLNames::videoTag)) {
- // The Browser chrome has its own fullscreen video widget it wants to
- // use, and this is a video element. The only reason that
- // webkitWillEnterFullScreenForElement() and
- // webkitDidEnterFullScreenForElement() are still called in this case
- // is so that exitFullScreenForElement() gets called later.
- enterFullscreenForNode(element);
- } else {
- // At this point, we can assume that there would be a viewport size change if
- // the current visible size and screen size are not equal.
- if (transformedActualVisibleSize() != transformedViewportSize()) {
- // The current scale can be clamped to a greater minimum scale when we relayout contents during
- // the change of the viewport size. Cache the current scale so that we can restore it when
- // leaving fullscreen. Otherwise, it is possible that we will use the wrong scale.
- m_scaleBeforeFullScreen = currentScale();
-
- // When an element goes fullscreen, the viewport size changes and the scroll
- // position might change. So we keep track of it here, in order to restore it
- // once element leaves fullscreen.
- m_scrollPositionBeforeFullScreen = m_mainFrame->view()->scrollPosition();
-
- // We need to remember the orientation before entering fullscreen, so that we can adjust
- // the scale and scroll position when exiting fullscreen if needed, because the scale and
- // scroll position may not apply (overscale and/or overscroll) in the other orientation.
- m_orientationBeforeFullScreen = orientation();
- }
-
- // No fullscreen video widget has been made available by the Browser
- // chrome, or this is not a video element. The webkitRequestFullScreen
- // Javascript call is often made on a div element.
- // This is where we would hide the browser's chrome if we wanted to.
- client()->fullscreenStart();
- m_fullscreenNode = element;
- }
-#endif
-}
-
-void WebPagePrivate::exitFullScreenForElement(Element* element)
-{
-#if ENABLE(VIDEO)
- if (!element)
- return;
- if (m_webSettings->fullScreenVideoCapable() && element->hasTagName(HTMLNames::videoTag)) {
- // The Browser chrome has its own fullscreen video widget.
- exitFullscreenForNode(element);
- } else {
- // This is where we would restore the browser's chrome
- // if hidden above.
- client()->fullscreenStop();
- m_fullscreenNode = 0;
- }
-#endif
-}
-
-// FIXME: Move this method to WebCore.
-void WebPagePrivate::adjustFullScreenElementDimensionsIfNeeded()
-{
- // If we are in fullscreen video mode, and we change the FrameView::viewportRect,
- // we need to adjust the media container to the new size.
- if (!m_fullscreenNode || !m_fullscreenNode->renderer()
- || !m_fullscreenNode->document() || !m_fullscreenNode->document()->fullScreenRenderer())
- return;
-
- ASSERT(m_fullscreenNode->isElementNode());
- ASSERT(toElement(m_fullscreenNode.get())->isMediaElement());
-
- Document* document = m_fullscreenNode->document();
- RenderStyle* fullScreenStyle = document->fullScreenRenderer()->style();
- ASSERT(fullScreenStyle);
-
- // In order to compensate possible round errors when we scale the fullscreen
- // container element to fit to the viewport, lets make the fullscreen 1px wider
- // than the viewport size on the right, and one pixel longer at the bottom
- // of the scroll position.
- IntRect viewportRect = m_mainFrame->view()->visibleContentRect();
- int viewportWidth = viewportRect.width() + 1;
- int viewportHeight = viewportRect.height() + 1;
-
- fullScreenStyle->setWidth(Length(viewportWidth, WebCore::Fixed));
- fullScreenStyle->setHeight(Length(viewportHeight, WebCore::Fixed));
- fullScreenStyle->setLeft(Length(0, WebCore::Fixed));
- fullScreenStyle->setTop(Length(0, WebCore::Fixed));
- fullScreenStyle->setBackgroundColor(Color::black);
-
- document->fullScreenRenderer()->setNeedsLayoutAndPrefWidthsRecalc();
- document->recalcStyle(Node::Force);
-}
-#endif
-
-void WebPagePrivate::didChangeSettings(WebSettings* webSettings)
-{
- Settings* coreSettings = m_page->settings();
- m_page->setGroupName(webSettings->pageGroupName());
- coreSettings->setXSSAuditorEnabled(webSettings->xssAuditorEnabled());
- coreSettings->setLoadsImagesAutomatically(webSettings->loadsImagesAutomatically());
- coreSettings->setShouldDrawBorderWhileLoadingImages(webSettings->shouldDrawBorderWhileLoadingImages());
- coreSettings->setScriptEnabled(webSettings->isJavaScriptEnabled());
- coreSettings->setDeviceSupportsMouse(webSettings->deviceSupportsMouse());
- coreSettings->setDefaultFixedFontSize(webSettings->defaultFixedFontSize());
- coreSettings->setDefaultFontSize(webSettings->defaultFontSize());
- coreSettings->setMinimumLogicalFontSize(webSettings->minimumFontSize());
- if (!webSettings->serifFontFamily().empty())
- coreSettings->setSerifFontFamily(String(webSettings->serifFontFamily()));
- if (!webSettings->fixedFontFamily().empty())
- coreSettings->setFixedFontFamily(String(webSettings->fixedFontFamily()));
- if (!webSettings->sansSerifFontFamily().empty())
- coreSettings->setSansSerifFontFamily(String(webSettings->sansSerifFontFamily()));
- if (!webSettings->standardFontFamily().empty())
- coreSettings->setStandardFontFamily(String(webSettings->standardFontFamily()));
- coreSettings->setJavaScriptCanOpenWindowsAutomatically(webSettings->canJavaScriptOpenWindowsAutomatically());
- coreSettings->setAllowScriptsToCloseWindows(webSettings->canJavaScriptOpenWindowsAutomatically()); // Why are we using the same value as setJavaScriptCanOpenWindowsAutomatically()?
- coreSettings->setPluginsEnabled(webSettings->arePluginsEnabled());
- coreSettings->setDefaultTextEncodingName(webSettings->defaultTextEncodingName());
- coreSettings->setDownloadableBinaryFontsEnabled(webSettings->downloadableBinaryFontsEnabled());
- coreSettings->setSpatialNavigationEnabled(m_webSettings->isSpatialNavigationEnabled());
- coreSettings->setAsynchronousSpellCheckingEnabled(m_webSettings->isAsynchronousSpellCheckingEnabled());
-
- BlackBerry::Platform::String stylesheetURL = webSettings->userStyleSheetLocation();
- if (!stylesheetURL.empty())
- coreSettings->setUserStyleSheetLocation(KURL(KURL(), stylesheetURL));
-
- coreSettings->setFirstScheduledLayoutDelay(webSettings->firstScheduledLayoutDelay());
- coreSettings->setUseCache(webSettings->useWebKitCache());
- coreSettings->setCookieEnabled(webSettings->areCookiesEnabled());
-
- if (coreSettings->privateBrowsingEnabled() != webSettings->isPrivateBrowsingEnabled()) {
- coreSettings->setPrivateBrowsingEnabled(webSettings->isPrivateBrowsingEnabled());
- cookieManager().setPrivateMode(webSettings->isPrivateBrowsingEnabled());
- CredentialStorage::setPrivateMode(webSettings->isPrivateBrowsingEnabled());
- }
-
-#if ENABLE(SQL_DATABASE)
- // DatabaseManager can only be initialized for once, so it doesn't
- // make sense to change database path after DatabaseManager has
- // already been initialized.
- static bool dbinit = false;
- if (!dbinit && !webSettings->databasePath().empty()) {
- dbinit = true;
- DatabaseManager::manager().initialize(webSettings->databasePath());
- }
-
- // The directory of cacheStorage for one page group can only be initialized once.
- static bool acinit = false;
- if (!acinit && !webSettings->appCachePath().empty()) {
- acinit = true;
- cacheStorage().setCacheDirectory(webSettings->appCachePath());
- }
-
- coreSettings->setLocalStorageDatabasePath(webSettings->localStoragePath());
- DatabaseManager::manager().setIsAvailable(webSettings->isDatabasesEnabled());
-
- coreSettings->setLocalStorageEnabled(webSettings->isLocalStorageEnabled());
- coreSettings->setOfflineWebApplicationCacheEnabled(webSettings->isAppCacheEnabled());
-
- m_page->group().groupSettings()->setLocalStorageQuotaBytes(webSettings->localStorageQuota());
- coreSettings->setSessionStorageQuota(webSettings->sessionStorageQuota());
- coreSettings->setUsesPageCache(webSettings->maximumPagesInCache());
- coreSettings->setFrameFlatteningEnabled(webSettings->isFrameFlatteningEnabled());
-#endif
-
-#if ENABLE(INDEXED_DATABASE)
- m_page->group().groupSettings()->setIndexedDBDatabasePath(webSettings->indexedDataBasePath());
-#endif
-
-
-#if ENABLE(WEB_SOCKETS)
- WebSocket::setIsAvailable(webSettings->areWebSocketsEnabled());
-#endif
-
-#if ENABLE(FULLSCREEN_API)
- // This allows Javascript to call webkitRequestFullScreen() on an element.
- coreSettings->setFullScreenEnabled(true);
-#endif
-
-#if ENABLE(VIEWPORT_REFLOW)
- coreSettings->setTextReflowEnabled(webSettings->textReflowMode() == WebSettings::TextReflowEnabled);
-#endif
-
- // FIXME: We don't want HTMLTokenizer to yield for anything other than email case because
- // call to currentTime() is too expensive on our platform. See RIM Bug #746.
- coreSettings->setShouldUseFirstScheduledLayoutDelay(webSettings->isEmailMode());
- coreSettings->setProcessHTTPEquiv(!webSettings->isEmailMode());
-
- coreSettings->setShouldUseCrossOriginProtocolCheck(!webSettings->allowCrossSiteRequests());
- coreSettings->setWebSecurityEnabled(!webSettings->allowCrossSiteRequests());
- coreSettings->setApplyDeviceScaleFactorInCompositor(webSettings->applyDeviceScaleFactorInCompositor());
-
- updateBackgroundColor(webSettings->backgroundColor());
-
- m_page->setDeviceScaleFactor(webSettings->devicePixelRatio());
-
-#if ENABLE(TEXT_AUTOSIZING)
- coreSettings->setTextAutosizingEnabled(webSettings->isTextAutosizingEnabled());
-#endif
-}
-
-BlackBerry::Platform::String WebPage::textHasAttribute(const BlackBerry::Platform::String& query) const
-{
- if (Document* doc = d->m_page->focusController()->focusedOrMainFrame()->document())
- return doc->queryCommandValue(query);
-
- return BlackBerry::Platform::String::emptyString();
-}
-
-void WebPage::setJavaScriptCanAccessClipboard(bool enabled)
-{
- d->m_page->settings()->setJavaScriptCanAccessClipboard(enabled);
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-void WebPagePrivate::scheduleCompositingRun()
-{
- if (WebPageCompositorClient* compositorClient = compositor()->client()) {
- double animationTime = compositorClient->requestAnimationFrame();
- compositorClient->invalidate(animationTime);
- return;
- }
-
- m_backingStore->d->blitVisibleContents();
-}
-#endif
-
-void WebPage::setWebGLEnabled(bool enabled)
-{
- d->m_page->settings()->setWebGLEnabled(enabled);
-}
-
-bool WebPage::isWebGLEnabled() const
-{
- return d->m_page->settings()->webGLEnabled();
-}
-
-void WebPagePrivate::frameUnloaded(const Frame* frame)
-{
- m_inputHandler->frameUnloaded(frame);
- m_inPageSearchManager->frameUnloaded(frame);
-}
-
-const BlackBerry::Platform::String& WebPagePrivate::defaultUserAgent()
-{
- static BlackBerry::Platform::String* defaultUserAgent = 0;
- if (!defaultUserAgent) {
- BlackBerry::Platform::DeviceInfo* info = BlackBerry::Platform::DeviceInfo::instance();
- char uaBuffer[256];
- int uaSize = snprintf(uaBuffer, 256, "Mozilla/5.0 (%s) AppleWebKit/%d.%d+ (KHTML, like Gecko) Version/%s %sSafari/%d.%d+",
- info->family(), WEBKIT_MAJOR_VERSION, WEBKIT_MINOR_VERSION, info->osVersion(),
- info->isMobile() ? "Mobile " : "", WEBKIT_MAJOR_VERSION, WEBKIT_MINOR_VERSION);
-
- if (uaSize <= 0 || uaSize >= 256)
- BLACKBERRY_CRASH();
-
- defaultUserAgent = new BlackBerry::Platform::String(BlackBerry::Platform::String::fromUtf8(uaBuffer, uaSize));
- }
-
- return *defaultUserAgent;
-}
-
-WebTapHighlight* WebPage::tapHighlight() const
-{
- return d->m_tapHighlight.get();
-}
-
-WebTapHighlight* WebPage::selectionHighlight() const
-{
- return d->m_selectionHighlight.get();
-}
-
-void WebPage::addOverlay(WebOverlay* overlay)
-{
-#if USE(ACCELERATED_COMPOSITING)
- if (overlay->d->graphicsLayer()) {
- overlay->d->setPage(d);
- d->overlayLayer()->addChild(overlay->d->graphicsLayer());
- }
-#endif
-}
-
-void WebPage::removeOverlay(WebOverlay* overlay)
-{
-#if USE(ACCELERATED_COMPOSITING)
- if (overlay->d->graphicsLayer()->parent() != d->overlayLayer())
- return;
-
- overlay->removeFromParent();
- overlay->d->clear();
- overlay->d->setPage(0);
-#endif
-}
-
-void WebPage::addCompositingThreadOverlay(WebOverlay* overlay)
-{
-#if USE(ACCELERATED_COMPOSITING)
- ASSERT(Platform::userInterfaceThreadMessageClient()->isCurrentThread());
- if (!d->compositor())
- return;
-
- overlay->d->setPage(d);
- d->compositor()->addOverlay(overlay->d->layerCompositingThread());
-#endif
-}
-
-void WebPage::removeCompositingThreadOverlay(WebOverlay* overlay)
-{
-#if USE(ACCELERATED_COMPOSITING)
- ASSERT(Platform::userInterfaceThreadMessageClient()->isCurrentThread());
- if (d->compositor())
- d->compositor()->removeOverlay(overlay->d->layerCompositingThread());
- overlay->d->clear();
- overlay->d->setPage(0);
-#endif
-}
-
-bool WebPagePrivate::openPagePopup(PagePopupClient* popupClient, const WebCore::IntRect& originBoundsInRootView)
-{
- closePagePopup();
- m_pagePopup = PagePopup::create(this, popupClient);
-
- WebCore::IntRect popupRect = m_page->chrome().client()->rootViewToScreen(originBoundsInRootView);
- popupRect.setSize(popupClient->contentSize());
- if (!m_client->createPopupWebView(popupRect)) {
- closePagePopup();
- return false;
- }
-
- return true;
-}
-
-void WebPagePrivate::closePagePopup()
-{
- if (!m_pagePopup)
- return;
-
- m_pagePopup->close();
- m_client->closePopupWebView();
- m_pagePopup = 0;
-}
-
-bool WebPagePrivate::hasOpenedPopup() const
-{
- return m_pagePopup;
-}
-
-void WebPagePrivate::setInspectorOverlayClient(InspectorOverlay::InspectorOverlayClient* inspectorOverlayClient)
-{
- if (inspectorOverlayClient) {
- if (!m_inspectorOverlay)
- m_inspectorOverlay = InspectorOverlay::create(this, inspectorOverlayClient);
- else
- m_inspectorOverlay->setClient(inspectorOverlayClient);
- m_inspectorOverlay->update();
- scheduleRootLayerCommit();
- } else {
- if (m_inspectorOverlay) {
- m_inspectorOverlay->clear();
- m_inspectorOverlay = nullptr;
- scheduleRootLayerCommit();
- }
- }
-}
-
-void WebPagePrivate::applySizeOverride(int overrideWidth, int overrideHeight)
-{
- m_client->requestUpdateViewport(overrideWidth, overrideHeight);
-}
-
-void WebPagePrivate::setTextZoomFactor(float textZoomFactor)
-{
- if (!m_mainFrame)
- return;
-
- m_mainFrame->setTextZoomFactor(textZoomFactor);
-}
-
-void WebPagePrivate::restoreHistoryViewState(const WebCore::IntPoint& scrollPosition, double scale, bool shouldReflowBlock)
-{
- if (!m_mainFrame) {
- // FIXME: Do we really need to suspend/resume both backingstore and screen here?
- m_backingStore->d->resumeBackingStoreUpdates();
- m_backingStore->d->resumeScreenUpdates(BackingStore::RenderAndBlit);
- return;
- }
-
- // If we are about to overscroll, scroll back to the valid contents area.
- WebCore::IntPoint adjustedScrollPosition = scrollPosition;
- WebCore::IntSize validContentsSize = contentsSize();
- WebCore::IntSize viewportSize = actualVisibleSize();
- if (adjustedScrollPosition.x() + viewportSize.width() > validContentsSize.width())
- adjustedScrollPosition.setX(validContentsSize.width() - viewportSize.width());
- if (adjustedScrollPosition.y() + viewportSize.height() > validContentsSize.height())
- adjustedScrollPosition.setY(validContentsSize.height() - viewportSize.height());
-
- // Here we need to set scroll position what we asked for.
- // So we use ScrollView::constrainsScrollingToContentEdge(false).
- bool oldConstrainsScrollingToContentEdge = m_mainFrame->view()->constrainsScrollingToContentEdge();
- m_mainFrame->view()->setConstrainsScrollingToContentEdge(false);
- setScrollPosition(adjustedScrollPosition);
- m_mainFrame->view()->setConstrainsScrollingToContentEdge(oldConstrainsScrollingToContentEdge);
-
- m_shouldReflowBlock = shouldReflowBlock;
-
- if (!zoomAboutPoint(scale, m_mainFrame->view()->scrollPosition(), true /* enforceScaleClamping */, true /*forceRendering*/, true /*isRestoringZoomLevel*/)) {
- // We need to notify the client of the scroll position and content size change(s) above even if we didn't scale.
- notifyTransformedContentsSizeChanged();
- notifyTransformedScrollChanged();
- }
-
- // If we're already at that scale, then we should still force rendering
- // since our scroll position changed.
- // FIXME: Do we really need to suspend/resume both backingstore and screen here?
- m_backingStore->d->resumeBackingStoreUpdates();
- m_backingStore->d->resumeScreenUpdates(BackingStore::RenderAndBlit);
-}
-
-IntSize WebPagePrivate::screenSize() const
-{
- return Platform::Graphics::Screen::primaryScreen()->size();
-}
-
-void WebPagePrivate::postponeDocumentStyleRecalc()
-{
- if (Document* document = m_mainFrame->document()) {
- m_documentChildNeedsStyleRecalc = document->childNeedsStyleRecalc();
- document->clearChildNeedsStyleRecalc();
-
- m_documentStyleRecalcPostponed = document->hasPendingStyleRecalc();
- document->unscheduleStyleRecalc();
- }
-}
-
-void WebPagePrivate::resumeDocumentStyleRecalc()
-{
- if (Document* document = m_mainFrame->document()) {
- if (m_documentChildNeedsStyleRecalc)
- document->setChildNeedsStyleRecalc();
-
- if (m_documentStyleRecalcPostponed)
- document->scheduleStyleRecalc();
- }
-
- m_documentChildNeedsStyleRecalc = false;
- m_documentStyleRecalcPostponed = false;
-}
-
-const HitTestResult& WebPagePrivate::hitTestResult(const IntPoint& contentPos)
-{
- if (m_cachedHitTestContentPos != contentPos) {
- m_cachedHitTestContentPos = contentPos;
- m_cachedRectHitTestResults.clear();
- m_cachedHitTestResult = m_mainFrame->eventHandler()->hitTestResultAtPoint(m_cachedHitTestContentPos, HitTestRequest::ReadOnly | HitTestRequest::Active);
- }
-
- return m_cachedHitTestResult;
-}
-
-void WebPagePrivate::clearCachedHitTestResult()
-{
- m_cachedHitTestContentPos = WebCore::IntPoint(-1, -1);
-}
-
-void WebPagePrivate::willComposite()
-{
- if (!m_page->settings()->developerExtrasEnabled())
- return;
- m_page->inspectorController()->willComposite();
-}
-
-void WebPagePrivate::didComposite()
-{
- if (!m_page->settings()->developerExtrasEnabled())
- return;
- m_page->inspectorController()->didComposite();
-}
-
-void WebPage::updateNotificationPermission(const BlackBerry::Platform::String& requestId, bool allowed)
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- d->notificationManager().updatePermission(requestId, allowed);
-#else
- UNUSED_PARAM(requestId);
- UNUSED_PARAM(allowed);
-#endif
-}
-
-void WebPage::notificationClicked(const BlackBerry::Platform::String& notificationId)
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- d->notificationManager().notificationClicked(notificationId);
-#else
- UNUSED_PARAM(notificationId);
-#endif
-}
-
-void WebPage::notificationClosed(const BlackBerry::Platform::String& notificationId)
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- d->notificationManager().notificationClosed(notificationId);
-#else
- UNUSED_PARAM(notificationId);
-#endif
-}
-
-void WebPage::notificationError(const BlackBerry::Platform::String& notificationId)
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- d->notificationManager().notificationError(notificationId);
-#else
- UNUSED_PARAM(notificationId);
-#endif
-}
-
-void WebPage::notificationShown(const BlackBerry::Platform::String& notificationId)
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- d->notificationManager().notificationShown(notificationId);
-#else
- UNUSED_PARAM(notificationId);
-#endif
-}
-
-void WebPagePrivate::animateToScaleAndDocumentScrollPosition(double destinationZoomScale, const WebCore::FloatPoint& destinationScrollPosition, bool shouldConstrainScrollingToContentEdge)
-{
- if (destinationScrollPosition == scrollPosition() && destinationZoomScale == currentScale())
- return;
-
- m_shouldReflowBlock = false;
- m_userPerformedManualZoom = true;
- m_userPerformedManualScroll = true;
- client()->animateToScaleAndDocumentScrollPosition(destinationZoomScale, destinationScrollPosition, shouldConstrainScrollingToContentEdge);
-}
-
-void WebPage::animateToScaleAndDocumentScrollPosition(double destinationZoomScale, const BlackBerry::Platform::FloatPoint& destinationScrollPosition, bool shouldConstrainScrollingToContentEdge)
-{
- d->animateToScaleAndDocumentScrollPosition(destinationZoomScale, destinationScrollPosition, shouldConstrainScrollingToContentEdge);
-}
-
-void WebPagePrivate::updateBackgroundColor(const Color& backgroundColor)
-{
- if (!m_mainFrame || !m_mainFrame->view())
- return;
-
- m_mainFrame->view()->updateBackgroundRecursively(backgroundColor, backgroundColor.hasAlpha());
-
- // FIXME: The BackingStore uses the document background color but the WebPageCompositor gets
- // the color from settings, which can be different.
- Platform::userInterfaceThreadMessageClient()->dispatchMessage(
- createMethodCallMessage(&WebPagePrivate::setCompositorBackgroundColor, this, backgroundColor));
-
- if (m_backingStore)
- m_backingStore->d->setWebPageBackgroundColor(documentBackgroundColor());
-}
-
-Color WebPagePrivate::documentBackgroundColor() const
-{
- Color color;
- if (m_mainFrame && m_mainFrame->view())
- color = m_mainFrame->view()->documentBackgroundColor();
- if (!color.isValid())
- color = m_webSettings->backgroundColor();
- return color;
-}
-
-bool WebPage::isProcessingUserGesture() const
-{
- return ScriptController::processingUserGesture();
-}
-
-#if ENABLE(REQUEST_ANIMATION_FRAME) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
-void WebPagePrivate::animationFrameChanged()
-{
- if (!m_animationMutex.tryLock())
- return;
-
- if (!m_previousFrameDone) {
- m_animationMutex.unlock();
- return;
- }
-
- if (!m_animationScheduled) {
- stopRefreshAnimationClient();
- m_animationMutex.unlock();
- return;
- }
-
- m_previousFrameDone = false;
-
- m_monotonicAnimationStartTime = monotonicallyIncreasingTime();
- callOnMainThread(handleServiceScriptedAnimationsOnMainThread, this);
- m_animationMutex.unlock();
-}
-
-void WebPagePrivate::scheduleAnimation()
-{
- if (m_animationScheduled)
- return;
- MutexLocker lock(m_animationMutex);
- m_animationScheduled = true;
- startRefreshAnimationClient();
-}
-
-void WebPagePrivate::startRefreshAnimationClient()
-{
- if (m_isRunningRefreshAnimationClient)
- return;
- m_isRunningRefreshAnimationClient = true;
- BlackBerry::Platform::AnimationFrameRateController::instance()->addClient(this);
-}
-
-void WebPagePrivate::stopRefreshAnimationClient()
-{
- if (!m_isRunningRefreshAnimationClient)
- return;
- m_isRunningRefreshAnimationClient = false;
- BlackBerry::Platform::AnimationFrameRateController::instance()->removeClient(this);
-}
-
-void WebPagePrivate::serviceAnimations()
-{
- double monotonicAnimationStartTime;
- {
- MutexLocker lock(m_animationMutex);
- m_animationScheduled = false;
- monotonicAnimationStartTime = m_monotonicAnimationStartTime;
- }
-
- m_mainFrame->view()->serviceScriptedAnimations(monotonicAnimationStartTime);
-
- {
- MutexLocker lock(m_animationMutex);
- m_previousFrameDone = true;
- }
-}
-
-void WebPagePrivate::handleServiceScriptedAnimationsOnMainThread(void* data)
-{
- static_cast<WebPagePrivate*>(data)->serviceAnimations();
-}
-#endif
-
-void WebPage::setShowDebugBorders(bool show)
-{
-#if USE(ACCELERATED_COMPOSITING)
- d->m_page->settings()->setShowDebugBorders(show);
-#endif
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/Api/WebPage.h b/Source/WebKit/blackberry/Api/WebPage.h
deleted file mode 100644
index b8d6eaef0..000000000
--- a/Source/WebKit/blackberry/Api/WebPage.h
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 WebPage_h
-#define WebPage_h
-
-#include "BlackBerryGlobal.h"
-#include "JavaScriptVariant.h"
-
-#include <BlackBerryPlatformGuardedPointer.h>
-#include <BlackBerryPlatformInputEvents.h>
-#include <BlackBerryPlatformString.h>
-#include <BlackBerryPlatformWebContext.h>
-#include <JavaScriptCore/JSBase.h>
-#include <imf/input_data.h>
-#include <network/NetworkRequest.h>
-#include <string>
-#include <vector>
-
-namespace WebCore {
-class ChromeClientBlackBerry;
-class Frame;
-class FrameLoaderClientBlackBerry;
-}
-
-class WebDOMDocument;
-class WebDOMNode;
-template<typename T> class SharedArray;
-
-namespace BlackBerry {
-namespace Platform {
-class FloatPoint;
-class IntPoint;
-class IntRect;
-class IntSize;
-class KeyboardEvent;
-class MouseEvent;
-class TouchEvent;
-class TouchPoint;
-class ViewportAccessor;
-}
-
-namespace WebKit {
-
-class BackingStore;
-class BackingStoreClient;
-class BackingStorePrivate;
-class InRegionScroller;
-class PagePopup;
-class RenderQueue;
-class WebCookieJar;
-class WebOverlay;
-class WebPageClient;
-class WebPageCompositor;
-class WebPageGroupLoadDeferrer;
-class WebPagePrivate;
-class WebSettings;
-class WebTapHighlight;
-class WebViewportArguments;
-
-enum JavaScriptDataType { JSUndefined = 0, JSNull, JSBoolean, JSNumber, JSString, JSObject, JSException, JSDataTypeMax };
-
-enum SelectionExpansionType { Word = 0, Sentence, Paragraph, NextParagraph };
-
-enum ActivationStateType { ActivationActive, ActivationInactive, ActivationStandby };
-
-enum TargetDetectionStrategy {PointBased, RectBased, FocusBased};
-
-class BLACKBERRY_EXPORT WebPage : public Platform::GuardedPointerBase {
-public:
- WebPage(WebPageClient*, const BlackBerry::Platform::String& pageGroupName, const Platform::IntRect&);
- void destroy();
-
- WebPageClient* client() const;
-
- void loadFile(const BlackBerry::Platform::String& path, const BlackBerry::Platform::String& overrideContentType = BlackBerry::Platform::String::emptyString());
-
- void loadString(const BlackBerry::Platform::String&, const BlackBerry::Platform::String& baseURL, const BlackBerry::Platform::String& contentType = BlackBerry::Platform::String::fromAscii("text/html"), const BlackBerry::Platform::String& failingURL = BlackBerry::Platform::String::emptyString());
-
- void load(const Platform::NetworkRequest&, bool needReferer = false);
-
- bool executeJavaScript(const BlackBerry::Platform::String& script, JavaScriptDataType& returnType, BlackBerry::Platform::String& returnValue);
-
- // This will execute the script even if in-page JavaScript is disabled.
- bool executeJavaScriptInIsolatedWorld(const BlackBerry::Platform::String& script, JavaScriptDataType& returnType, BlackBerry::Platform::String& returnValue);
-
- // Takes a UTF16 encoded script that is used explicitly by the pattern matching code
- bool executeJavaScriptInIsolatedWorld(const std::wstring& script, JavaScriptDataType& returnType, BlackBerry::Platform::String& returnValue);
-
- void executeJavaScriptFunction(const std::vector<BlackBerry::Platform::String> &function, const std::vector<JavaScriptVariant> &args, JavaScriptVariant& returnValue);
-
- void initializeIconDataBase();
-
- void stopLoading();
-
- bool dispatchBeforeUnloadEvent();
-
- // This will force any unload handlers to run.
- void prepareToDestroy();
-
- void enableCrossSiteXHR();
- void addOriginAccessWhitelistEntry(const BlackBerry::Platform::String& sourceOrigin, const BlackBerry::Platform::String& destinationOrigin, bool allowDestinationSubdomains);
- void removeOriginAccessWhitelistEntry(const BlackBerry::Platform::String& sourceOrigin, const BlackBerry::Platform::String& destinationOrigin, bool allowDestinationSubdomains);
-
- void reload();
- void reloadFromCache();
-
- WebSettings* settings() const;
-
- WebCookieJar* cookieJar() const;
-
- bool isLoading() const;
-
- void setVisible(bool);
- bool isVisible() const;
-
- void setScreenOrientation(int);
- void applyPendingOrientationIfNeeded();
-
- Platform::ViewportAccessor* webkitThreadViewportAccessor() const;
-
- // Returns the size of the visual viewport.
- Platform::IntSize viewportSize() const;
-
- // Sets the sizes of the visual viewport and the layout viewport.
- void setViewportSize(const Platform::IntSize& viewportSize, const Platform::IntSize& defaultLayoutSize, bool ensureFocusElementVisible = true);
-
- void resetVirtualViewportOnCommitted(bool reset);
- void setVirtualViewportSize(const Platform::IntSize&);
-
- // Returns the size of the layout viewport.
- Platform::IntSize defaultLayoutSize() const;
-
- // Set the size of the layout viewport, in document coordinates, independently of the visual viewport.
- void setDefaultLayoutSize(const Platform::IntSize&);
-
- bool mouseEvent(const Platform::MouseEvent&, bool* wheelDeltaAccepted = 0);
-
- // Handles native javascript touch events.
- bool touchEvent(const Platform::TouchEvent&);
-
- // For conversion to mouse events.
- void touchEventCancel();
- void touchPointAsMouseEvent(const Platform::TouchPoint&, unsigned modifiers = 0);
-
- void playSoundIfAnchorIsTarget() const;
-
- // Returns true if the key stroke was handled by WebKit.
- bool keyEvent(const Platform::KeyboardEvent&);
-
- BlackBerry::Platform::String title() const;
- BlackBerry::Platform::String selectedText() const;
- BlackBerry::Platform::String cutSelectedText();
- void insertText(const BlackBerry::Platform::String&);
- void clearCurrentInputField();
-
- void cut();
- void copy();
- void paste();
- void selectAll();
-
- // Text encoding.
- BlackBerry::Platform::String textEncoding();
- BlackBerry::Platform::String forcedTextEncoding();
- void setForcedTextEncoding(const BlackBerry::Platform::String&);
-
- // Scroll position provided should be in document coordinates.
- // Use webkitThreadViewportAccessor() to retrieve the scroll position.
- void setDocumentScrollPosition(const Platform::IntPoint&);
- void notifyInRegionScrollStopped();
- void setDocumentScrollOriginPoint(const Platform::IntPoint&);
-
- BackingStore* backingStore() const;
-
- InRegionScroller* inRegionScroller() const;
-
- bool blockZoom(const Platform::IntPoint& documentTargetPoint);
- void zoomAnimationFinished(double finalScale, const Platform::FloatPoint& finalDocumentScrollPosition, bool shouldConstrainScrollingToContentEdge);
- void resetBlockZoom();
- bool isAtInitialZoom() const;
- bool isMaxZoomed() const;
- bool isMinZoomed() const;
- bool pinchZoomAboutPoint(double scale, const Platform::FloatPoint& documentFocalPoint);
-
- bool isUserScalable() const;
- void setUserScalable(bool);
- double currentScale() const;
- double initialScale() const;
- double zoomToFitScale() const;
- void setInitialScale(double);
- double minimumScale() const;
- void setMinimumScale(double);
- double maximumScale() const;
- void setMaximumScale(double);
-
- void assignFocus(Platform::FocusDirection);
-
- void setFocused(bool);
-
- void focusNextField();
- void focusPreviousField();
- void submitForm();
-
- void clearBrowsingData();
- void clearHistory();
- void clearCookies();
- void clearCache();
- void clearLocalStorage();
- void clearCredentials();
- void clearAutofillData();
- void clearNeverRememberSites();
- void clearWebFileSystem();
-
- void runLayoutTests();
-
- // Find the next utf8 string in the given direction.
- // Case sensitivity, wrapping, and highlighting all matches are also toggleable.
- bool findNextString(const char*, bool forward, bool caseSensitive, bool wrap, bool highlightAllMatches, bool selectActiveMatchOnClear);
-
- JSGlobalContextRef globalContext() const;
-
- unsigned timeoutForJavaScriptExecution() const;
- void setTimeoutForJavaScriptExecution(unsigned ms);
-
- void setCaretHighlightStyle(Platform::CaretHighlightStyle);
-
- // IMF functions.
- bool setBatchEditingActive(bool);
- bool setInputSelection(unsigned start, unsigned end);
- int inputCaretPosition() const;
- bool deleteTextRelativeToCursor(unsigned leftOffset, unsigned rightOffset);
- spannable_string_t* selectedText(int32_t flags);
- spannable_string_t* textBeforeCursor(int32_t length, int32_t flags);
- spannable_string_t* textAfterCursor(int32_t length, int32_t flags);
- extracted_text_t* extractedTextRequest(extracted_text_request_t*, int32_t flags);
- int32_t setComposingRegion(int32_t start, int32_t end);
- int32_t finishComposition();
- int32_t setComposingText(spannable_string_t*, int32_t relativeCursorPosition);
- int32_t commitText(spannable_string_t*, int32_t relativeCursorPosition);
-
- void setSpellCheckingEnabled(bool);
- void spellCheckingRequestProcessed(int32_t transactionId, spannable_string_t*);
-
- bool isInputMode() const;
- void setDocumentSelection(const Platform::IntPoint& documentStartPoint, const Platform::IntPoint& documentEndPoint);
- void setDocumentCaretPosition(const Platform::IntPoint&);
- void selectAtDocumentPoint(const Platform::IntPoint&, SelectionExpansionType = Word);
- void expandSelection(bool isScrollStarted);
- void setOverlayExpansionPixelHeight(int);
- void setParagraphExpansionPixelScrollMargin(const Platform::IntSize&);
- void setSelectionDocumentViewportSize(const Platform::IntSize&);
- void selectionCancelled();
- bool selectionContainsDocumentPoint(const Platform::IntPoint&);
-
- void popupListClosed(int size, const bool* selecteds);
- void popupListClosed(int index);
- void setDateTimeInput(const BlackBerry::Platform::String& value);
- void setColorInput(const BlackBerry::Platform::String& value);
-
- static void onNetworkAvailabilityChanged(bool available);
- static void onCertificateStoreLocationSet(const BlackBerry::Platform::String& caPath);
-
- BlackBerry::Platform::String textHasAttribute(const BlackBerry::Platform::String& query) const;
-
- Platform::WebContext webContext(TargetDetectionStrategy) const;
-
- typedef intptr_t BackForwardId;
- struct BackForwardEntry {
- BlackBerry::Platform::String url;
- BlackBerry::Platform::String originalUrl;
- BlackBerry::Platform::String title;
- BlackBerry::Platform::String networkToken;
- BackForwardId id;
- bool lastVisitWasHTTPNonGet;
- };
-
- bool canGoBackOrForward(int delta) const;
- // Returns false if there is no page for the given delta (eg.
- // attempt to go back with -1 when on the first page).
- bool goBackOrForward(int delta);
- void goToBackForwardEntry(BackForwardId);
-
- int backForwardListLength() const;
- void getBackForwardList(SharedArray<BackForwardEntry>& result) const;
- void releaseBackForwardEntry(BackForwardId) const;
- void clearBackForwardList(bool keepCurrentPage) const;
-
- void addVisitedLink(const unsigned short* url, unsigned length);
-
- bool defersLoading() const;
-
- bool isEnableLocalAccessToAllCookies() const;
- void setEnableLocalAccessToAllCookies(bool);
-
- void enableDNSPrefetch();
- void disableDNSPrefetch();
- bool isDNSPrefetchEnabled() const;
- void enableWebInspector();
- void disableWebInspector();
- bool isWebInspectorEnabled();
- void enablePasswordEcho();
- void disablePasswordEcho();
- void dispatchInspectorMessage(const BlackBerry::Platform::String& message);
- void inspectCurrentContextElement();
-
- Platform::IntPoint adjustDocumentScrollPosition(const Platform::IntPoint& documentScrollPosition, const Platform::IntRect& documentPaddingRect);
- Platform::IntSize fixedElementSizeDelta();
-
- // FIXME: Needs API review on this header. See PR #120402.
- void notifyPagePause();
- void notifyPageResume();
- void notifyPageBackground();
- void notifyPageForeground();
- void notifyPageFullScreenAllowed();
- void notifyPageFullScreenExit();
- void notifyDeviceIdleStateChange(bool enterIdle);
- void notifyAppActivationStateChange(ActivationStateType);
- void notifySwipeEvent();
- void notifyScreenPowerStateChanged(bool powered);
- void notifyFullScreenVideoExited(bool done);
- void clearPluginSiteData();
- void setExtraPluginDirectory(const BlackBerry::Platform::String& path);
- void updateDisabledPluginFiles(const BlackBerry::Platform::String& fileName, bool disabled);
- void setJavaScriptCanAccessClipboard(bool);
- bool isWebGLEnabled() const;
- void setWebGLEnabled(bool);
-
- void destroyWebPageCompositor();
-
- void setUserViewportArguments(const WebViewportArguments&);
- void resetUserViewportArguments();
-
- WebTapHighlight* tapHighlight() const;
- WebTapHighlight* selectionHighlight() const;
-
- // Adds an overlay that can be modified on the WebKit thread, and
- // whose attributes can be overridden on the compositing thread.
- void addOverlay(WebOverlay*);
- void removeOverlay(WebOverlay*);
-
- // Adds an overlay that can only be modified on the compositing thread.
- void addCompositingThreadOverlay(WebOverlay*);
- void removeCompositingThreadOverlay(WebOverlay*);
-
- // Popup client
- void initPopupWebView(BlackBerry::WebKit::WebPage*);
-
- void autofillTextField(const BlackBerry::Platform::String&);
-
- BlackBerry::Platform::String renderTreeAsText();
-
- void updateNotificationPermission(const BlackBerry::Platform::String& requestId, bool allowed);
- void notificationClicked(const BlackBerry::Platform::String& notificationId);
- void notificationClosed(const BlackBerry::Platform::String& notificationId);
- void notificationError(const BlackBerry::Platform::String& notificationId);
- void notificationShown(const BlackBerry::Platform::String& notificationId);
-
- void animateToScaleAndDocumentScrollPosition(double destinationZoomScale, const BlackBerry::Platform::FloatPoint& destinationScrollPosition, bool shouldConstrainScrollingToContentEdge = true);
-
- bool isProcessingUserGesture() const;
-
- void setShowDebugBorders(bool);
-
-private:
- virtual ~WebPage();
-
- friend class WebKit::BackingStore;
- friend class WebKit::BackingStoreClient;
- friend class WebKit::BackingStorePrivate;
- friend class WebKit::PagePopup;
- friend class WebKit::RenderQueue;
- friend class WebKit::WebPageCompositor;
- friend class WebKit::WebPageGroupLoadDeferrer;
- friend class WebKit::WebPagePrivate;
- friend class WebCore::ChromeClientBlackBerry;
- friend class WebCore::FrameLoaderClientBlackBerry;
- WebPagePrivate* d;
-};
-}
-}
-
-#endif // WebPage_h
diff --git a/Source/WebKit/blackberry/Api/WebPageClient.h b/Source/WebKit/blackberry/Api/WebPageClient.h
deleted file mode 100644
index 1aea90e82..000000000
--- a/Source/WebKit/blackberry/Api/WebPageClient.h
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 WebPageClient_h
-#define WebPageClient_h
-
-#include "BlackBerryGlobal.h"
-
-#include <BlackBerryPlatformCursor.h>
-#include <BlackBerryPlatformInputEvents.h>
-#include <BlackBerryPlatformNavigationType.h>
-#include <BlackBerryPlatformPrimitives.h>
-#include <BlackBerryPlatformString.h>
-#include <imf/events.h>
-#include <interaction/ScrollViewBase.h>
-#include <vector>
-
-template<typename T> class ScopeArray;
-template<typename T> class SharedArray;
-
-typedef void* WebFrame;
-
-namespace BlackBerry {
-
-namespace Platform {
-class FilterStream;
-class GeoTrackerListener;
-class IntRectRegion;
-class NetworkRequest;
-class NetworkStreamFactory;
-struct SelectionDetails;
-class ViewportAccessor;
-class WebUserMediaRequest;
-
-namespace Graphics {
-class Window;
-}
-}
-
-namespace WebKit {
-class WebPage;
-
-class BLACKBERRY_EXPORT WebPageClient {
-public:
- virtual ~WebPageClient() { }
- enum WindowStyleFlag {
- FlagWindowHasMenuBar = 0x00000001,
- FlagWindowHasToolBar = 0x00000002,
- FlagWindowHasLocationBar = 0x00000004,
- FlagWindowHasStatusBar = 0x00000008,
- FlagWindowHasScrollBar = 0x00000010,
- FlagWindowIsResizable = 0x00000020,
- FlagWindowIsFullScreen = 0x00000040,
- FlagWindowIsDialog = 0x00000080,
- FlagWindowDefault = 0xFFFFFFFF,
- };
-
- enum AlertType {
- MediaOK = 0,
- MediaDecodeError,
- MediaMetaDataError,
- MediaMetaDataTimeoutError,
- MediaNoMetaDataError,
- MediaVideoReceiveError,
- MediaAudioReceiveError,
- MediaInvalidError,
- };
-
- enum SaveCredentialType {
- SaveCredentialNeverForThisSite = 0,
- SaveCredentialNotNow,
- SaveCredentialYes
- };
-
- virtual int getInstanceId() const = 0;
-
- virtual void notifyLoadStarted() = 0;
- virtual void notifyLoadCommitted(const unsigned short* originalUrl, unsigned originalUrlLength, const unsigned short* finalUrl, unsigned finalUrlLength, const unsigned short* networkToken, unsigned networkTokenLength) = 0;
- virtual void notifyLoadFailedBeforeCommit(const unsigned short* originalUrl, unsigned originalUrlLength, const unsigned short* finalUrl, unsigned finalUrlLength, const unsigned short* networkToken, unsigned networkTokenLength) = 0;
- virtual void notifyLoadToAnchor(const unsigned short* url, unsigned urlLength, const unsigned short* networkToken, unsigned networkTokenLength) = 0;
- virtual void notifyLoadProgress(int percentage) = 0;
- virtual void notifyLoadReadyToRender(bool pageIsVisuallyNonEmpty) = 0;
- virtual void notifyFirstVisuallyNonEmptyLayout() = 0;
- virtual void notifyLoadFinished(int status) = 0;
- virtual void notifyClientRedirect(const unsigned short* originalUrl, unsigned originalUrlLength, const unsigned short* finalUrl, unsigned finalUrlLength) = 0;
-
- virtual void notifyFrameDetached(const WebFrame) = 0;
-
- virtual void notifyRunLayoutTestsFinished() = 0;
-
- virtual void notifyInRegionScrollableAreasChanged(const std::vector<Platform::ScrollViewBase*>&) = 0;
-
- virtual void notifyDocumentOnLoad(bool) = 0;
-
- virtual void notifyWindowObjectCleared() = 0;
-
- virtual void addMessageToConsole(const unsigned short* message, unsigned messageLength, const unsigned short* source, unsigned sourceLength, unsigned lineNumber, unsigned columnNumber) = 0;
- virtual int showAlertDialog(AlertType) = 0;
-
- virtual BlackBerry::Platform::String serializePageCacheState() const = 0;
- virtual void deserializePageCacheState(const BlackBerry::Platform::String& state) = 0;
-
- virtual void runJavaScriptAlert(const unsigned short* message, unsigned messageLength, const char* origin, unsigned originLength) = 0;
- virtual bool runJavaScriptConfirm(const unsigned short* message, unsigned messageLength, const char* origin, unsigned originLength) = 0;
- virtual bool runJavaScriptPrompt(const unsigned short* message, unsigned messageLength, const unsigned short* defaultValue, unsigned defaultValueLength, const char* origin, unsigned originLength, BlackBerry::Platform::String& result) = 0;
- virtual bool runBeforeUnloadConfirmPanel(const unsigned short* message, unsigned messageLength, const char* origin, unsigned originLength) = 0;
-
- virtual bool shouldInterruptJavaScript() = 0;
-
- virtual void contentsSizeChanged() = 0;
- virtual void scrollChanged() = 0;
- virtual void scaleChanged() = 0;
-
- virtual void updateInteractionViews() = 0;
-
- virtual void requestUpdateViewport(int width, int height) = 0;
-
- virtual void setPageTitle(const unsigned short* title, unsigned titleLength) = 0;
-
- virtual Platform::Graphics::Window* window() const = 0;
- virtual void postToSurface(const Platform::IntRect&) = 0;
-
- virtual void notifyPixelContentRendered(const Platform::IntRect&) = 0;
-
- virtual void inputFocusGained(int64_t inputStyle, Platform::VirtualKeyboardType, Platform::VirtualKeyboardEnterKeyType) = 0;
- virtual void inputFocusLost() = 0;
- virtual void inputTextChanged() = 0;
- virtual void inputSelectionChanged(unsigned selectionStart, unsigned selectionEnd) = 0;
- virtual void inputLearnText(wchar_t* text, int length) = 0;
-
- virtual void showFormControls(bool visible, bool previousActive = false, bool nextActive = false) = 0;
- virtual void showVirtualKeyboard(bool) = 0;
-
- virtual void requestSpellingCheckingOptions(imf_sp_text_t&, const BlackBerry::Platform::IntRect& documentCaretRect, const BlackBerry::Platform::IntSize& screenOffset, const bool shouldMoveDialog) = 0;
- virtual int32_t checkSpellingOfStringAsync(wchar_t* text, const unsigned length) = 0;
-
- virtual void notifySelectionDetailsChanged(const BlackBerry::Platform::SelectionDetails&) = 0;
- virtual void cancelSelectionVisuals() = 0;
- virtual void notifySelectionHandlesReversed() = 0;
- virtual void notifyCaretChanged(const Platform::IntRect& documentCaretRect, bool userTouchTriggered, bool isSingleLineInput = false, const Platform::IntRect& singleLineDocumentBoundingBox = Platform::IntRect(), bool textFieldIsEmpty = false) = 0;
- virtual void notifySelectionScrollView(Platform::ScrollViewBase*) = 0;
-
- virtual void cursorChanged(Platform::CursorType, const char* url, const Platform::IntPoint& hotSpotInImage) = 0;
-
- virtual void requestGlobalLocalServicePermission(Platform::GeoTrackerListener*, const BlackBerry::Platform::String& origin) = 0;
-
- virtual void requestGeolocationPermission(Platform::GeoTrackerListener*, const BlackBerry::Platform::String& origin) = 0;
- virtual void cancelGeolocationPermission() = 0;
- virtual Platform::NetworkStreamFactory* networkStreamFactory() = 0;
-
- virtual void handleStringPattern(const unsigned short* pattern, unsigned length) = 0;
- virtual void handleExternalLink(const Platform::NetworkRequest&, const unsigned short* context, unsigned contextLength, bool isClientRedirect) = 0;
-
- virtual void resetBackForwardList(unsigned listSize, unsigned currentIndex) = 0;
-
- virtual void openPopupList(bool multiple, int size, const ScopeArray<BlackBerry::Platform::String>& labels, const bool* enableds, const int* itemType, const bool* selecteds) = 0;
- virtual bool chooseFilenames(bool allowMultiple, const SharedArray<BlackBerry::Platform::String>& acceptTypes, const SharedArray<BlackBerry::Platform::String>& initialFiles, const BlackBerry::Platform::String& capture, SharedArray<BlackBerry::Platform::String>& chosenFiles) = 0;
-
- virtual WebPage* createWindow(int x, int y, int width, int height, unsigned flags, const BlackBerry::Platform::String& url, const BlackBerry::Platform::String& windowName, const BlackBerry::Platform::String& openerFrameUrl, bool userGesture) = 0;
-
- virtual void scheduleCloseWindow() = 0;
-
- // Database interface.
- virtual unsigned long long databaseQuota(const BlackBerry::Platform::String& origin, const BlackBerry::Platform::String& databaseName, unsigned long long originUsage, unsigned long long currentQuota, unsigned long long estimatedSize) = 0;
-
- virtual void setIconForUrl(const BlackBerry::Platform::String& originalPageUrl, const BlackBerry::Platform::String& finalPageUrl, const BlackBerry::Platform::String& iconUrl) = 0;
- virtual void setFavicon(const BlackBerry::Platform::String& dataInBase64, const BlackBerry::Platform::String& url) = 0;
- virtual void setLargeIcon(const BlackBerry::Platform::String& iconUrl) = 0;
- virtual void setWebAppCapable() = 0;
- virtual void setSearchProviderDetails(const BlackBerry::Platform::String& title, const BlackBerry::Platform::String& documentUrl) = 0;
- virtual void setAlternateFeedDetails(const BlackBerry::Platform::String& title, const BlackBerry::Platform::String& feedUrl) = 0;
-
- virtual BlackBerry::Platform::String getErrorPage(int errorCode, const BlackBerry::Platform::String& errorMessage, const BlackBerry::Platform::String& url) = 0;
-
- virtual void willDeferLoading() = 0;
- virtual void didResumeLoading() = 0;
-
- // Headers is a list of alternating key and value.
- virtual void setMetaHeaders(const ScopeArray<BlackBerry::Platform::String>& headers, unsigned headersSize) = 0;
-
- virtual void needMoreData() = 0;
- virtual void handleWebInspectorMessageToFrontend(int id, const char* message, int length) = 0;
-
- virtual BlackBerry::Platform::ViewportAccessor* userInterfaceViewportAccessor() const = 0;
-
- virtual void animateToScaleAndDocumentScrollPosition(double finalScale, const Platform::FloatPoint& finalDocumentScrollPosition, bool shouldConstrainScrollingToContentEdge) = 0;
-
- virtual void setPreventsScreenIdleDimming(bool noDimming) = 0;
- virtual bool authenticationChallenge(const unsigned short* realm, unsigned realmLength, BlackBerry::Platform::String& username, BlackBerry::Platform::String& password, BlackBerry::Platform::String& requestURL, bool isProxy) = 0;
- virtual SaveCredentialType notifyShouldSaveCredential(bool isNew) = 0;
- virtual void syncProxyCredential(const BlackBerry::Platform::String& username, const BlackBerry::Platform::String& password) = 0;
- virtual void notifyPopupAutofillDialog(const std::vector<BlackBerry::Platform::String>&) = 0;
- virtual void notifyDismissAutofillDialog() = 0;
-
- virtual bool shouldPluginEnterFullScreen() = 0;
- virtual void didPluginEnterFullScreen() = 0;
- virtual void didPluginExitFullScreen() = 0;
- virtual void onPluginStartBackgroundPlay() = 0;
- virtual void onPluginStopBackgroundPlay() = 0;
- virtual bool lockOrientation(bool landscape) = 0;
- virtual void unlockOrientation() = 0;
- virtual bool isActive() const = 0;
- virtual bool isVisible() const = 0;
-
- virtual void setToolTip(const BlackBerry::Platform::String&) = 0;
- virtual void setStatus(const BlackBerry::Platform::String&) = 0;
- virtual bool acceptNavigationRequest(const Platform::NetworkRequest&, Platform::NavigationType) = 0;
- virtual void cursorEventModeChanged(Platform::CursorEventMode) = 0;
- virtual void touchEventModeChanged(Platform::TouchEventMode) = 0;
-
- virtual bool downloadAllowed(const BlackBerry::Platform::String& url) = 0;
- virtual void downloadRequested(Platform::FilterStream*, const BlackBerry::Platform::String& suggestedFilename) = 0;
-
- virtual int fullscreenStart() = 0;
- virtual int fullscreenStart(const char* contextName, Platform::Graphics::Window*, const BlackBerry::Platform::IntRect& windowScreenRect) = 0;
-
- virtual int fullscreenStop() = 0;
-
- virtual int fullscreenSetWindowRect(const BlackBerry::Platform::IntRect& newWindowScreenRect) = 0;
-
- virtual void populateCustomHeaders(Platform::NetworkRequest&) = 0;
-
- virtual void notifyWillUpdateApplicationCache() = 0;
- virtual void notifyDidLoadFromApplicationCache() = 0;
-
- virtual void clearCookies() = 0;
- virtual void clearCache() = 0;
-
- virtual bool hasKeyboardFocus() = 0;
- virtual bool createPopupWebView(const Platform::IntRect&) = 0;
- virtual void closePopupWebView() = 0;
-
- virtual void addSearchProvider(const Platform::String&) = 0;
- virtual int isSearchProviderInstalled(const Platform::String&) = 0;
-
- // Match with ChromeClient::CustomHandlersState.
- enum ProtocolHandlersState {
- ProtocolHandlersNew,
- ProtocolHandlersRegistered,
- ProtocolHandlersDeclined
- };
- virtual void registerProtocolHandler(const BlackBerry::Platform::String& /*scheme*/, const BlackBerry::Platform::String& /*baseURL*/, const BlackBerry::Platform::String& /*url*/, const BlackBerry::Platform::String& /*title*/) = 0;
- virtual ProtocolHandlersState isProtocolHandlerRegistered(const BlackBerry::Platform::String& /*scheme*/, const BlackBerry::Platform::String& /*baseURL*/, const BlackBerry::Platform::String& /*url*/) = 0;
- virtual void unregisterProtocolHandler(const BlackBerry::Platform::String& /*scheme*/, const BlackBerry::Platform::String& /*baseURL*/, const BlackBerry::Platform::String& /*url*/) = 0;
-
- virtual void requestUserMedia(const Platform::WebUserMediaRequest&) = 0;
- virtual void cancelUserMediaRequest(const Platform::WebUserMediaRequest&) = 0;
- virtual void updateFindStringResult(int numMatches, int currentIndex) = 0;
-
- // Match with NotificationClient::Permission.
- enum Permission {
- PermissionAllowed, // User has allowed notifications
- PermissionNotAllowed, // User has not yet allowed
- PermissionDenied // User has explicitly denied permission
- };
- virtual void requestNotificationPermission(const BlackBerry::Platform::String& /*requestId*/, const BlackBerry::Platform::String& /*origin*/) = 0;
- virtual Permission checkNotificationPermission(const BlackBerry::Platform::String& /*origin*/) = 0;
- virtual void showNotification(const BlackBerry::Platform::String& /*notificationId*/, const BlackBerry::Platform::String& /*title*/, const BlackBerry::Platform::String& /*body*/, const BlackBerry::Platform::String& /*iconUrl*/, const BlackBerry::Platform::String& /*tag*/, const BlackBerry::Platform::String& /*origin*/) = 0;
- virtual void cancelNotification(const BlackBerry::Platform::String& /*id*/) = 0;
- virtual void clearNotifications(const std::vector<BlackBerry::Platform::String>& /*notificationIds*/) = 0;
- virtual void notificationDestroyed(const BlackBerry::Platform::String& /*notificationId*/) = 0;
- virtual void startSelectionScroll() = 0;
- virtual void stopExpandingSelection() = 0;
- virtual void suppressCaretChangeNotification(bool shouldClearState) = 0;
-};
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // WebPageClient_h
diff --git a/Source/WebKit/blackberry/Api/WebPageCompositor.cpp b/Source/WebKit/blackberry/Api/WebPageCompositor.cpp
deleted file mode 100644
index af1c790f0..000000000
--- a/Source/WebKit/blackberry/Api/WebPageCompositor.cpp
+++ /dev/null
@@ -1,415 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 "WebPageCompositor.h"
-
-#if USE(ACCELERATED_COMPOSITING)
-#include "BackingStore_p.h"
-#include "LayerWebKitThread.h"
-#include "WebOverlay_p.h"
-#include "WebPageCompositorClient.h"
-#include "WebPageCompositor_p.h"
-#include "WebPage_p.h"
-
-#include <BlackBerryPlatformDebugMacros.h>
-#include <BlackBerryPlatformExecutableMessage.h>
-#include <BlackBerryPlatformMessage.h>
-#include <BlackBerryPlatformMessageClient.h>
-#include <BlackBerryPlatformViewportAccessor.h>
-#include <GenericTimerClient.h>
-#include <ThreadTimerClient.h>
-#include <wtf/CurrentTime.h>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-WebPageCompositorPrivate::WebPageCompositorPrivate(WebPagePrivate* page, WebPageCompositorClient* client)
- : m_client(client)
- , m_webPage(page)
- , m_context(0)
- , m_drawsRootLayer(false)
- , m_childWindowPlacement(WebPageCompositor::DocumentCoordinates)
-{
- ASSERT(m_webPage);
- setOneShot(true); // one-shot animation client
-}
-
-WebPageCompositorPrivate::~WebPageCompositorPrivate()
-{
- detach();
-}
-
-void WebPageCompositorPrivate::detach()
-{
- if (m_webPage)
- Platform::AnimationFrameRateController::instance()->removeClient(this);
-
- m_webPage = 0;
- detachOverlays();
-}
-
-void WebPageCompositorPrivate::setPage(WebPagePrivate *p)
-{
- if (p == m_webPage)
- return;
- ASSERT(p);
- ASSERT(m_webPage); // if this is null, we have a bug and we need to re-add.
- m_webPage = p;
- attachOverlays();
-}
-
-void WebPageCompositorPrivate::attachOverlays(LayerCompositingThread* overlayRoot, WebPagePrivate* page)
-{
- if (!overlayRoot)
- return;
-
- const Vector<RefPtr<LayerCompositingThread> >& overlays = overlayRoot->sublayers();
- for (size_t i = 0; i < overlays.size(); ++i) {
- LayerCompositingThread* overlay = overlays[i].get();
- if (LayerCompositingThreadClient* client = overlay->client()) {
- if (WebOverlayPrivate* webOverlay = static_cast<WebOverlayLayerCompositingThreadClient*>(client)->overlay())
- webOverlay->setPage(page);
- }
- }
-}
-
-void WebPageCompositorPrivate::setContext(Platform::Graphics::GLES2Context* context)
-{
- if (m_context == context)
- return;
-
- // LayerRenderer needs to clean up using the previous context.
- if (!context)
- m_layerRenderer.clear();
- m_context = context;
-}
-
-void WebPageCompositorPrivate::setRootLayer(LayerCompositingThread* rootLayer)
-{
- m_rootLayer = rootLayer;
-}
-
-void WebPageCompositorPrivate::setOverlayLayer(LayerCompositingThread* overlayLayer)
-{
- m_overlayLayer = overlayLayer;
-}
-
-void WebPageCompositorPrivate::prepareFrame(double animationTime)
-{
- if (!m_context)
- return;
-
- // The LayerRenderer is involved in rendering the BackingStore when
- // WebPageCompositor is used to render the web page. The presence of a
- // WebPageCompositorClient (m_client) indicates this is the case, so
- // create a LayerRenderer if there are layers or if there's a client.
- if (!m_rootLayer && !m_overlayLayer && !m_compositingThreadOverlayLayer && !m_client)
- return;
-
- if (!m_layerRenderer) {
- m_layerRenderer = LayerRenderer::create(this);
- if (!m_layerRenderer->hardwareCompositing()) {
- m_layerRenderer.clear();
- return;
- }
- }
-
- // Unfortunately, we have to use currentTime() because the animations are
- // started in that time coordinate system.
- animationTime = currentTime();
- if (m_rootLayer)
- m_layerRenderer->prepareFrame(animationTime, m_rootLayer.get());
- if (m_overlayLayer)
- m_layerRenderer->prepareFrame(animationTime, m_overlayLayer.get());
- if (m_compositingThreadOverlayLayer)
- m_layerRenderer->prepareFrame(animationTime, m_compositingThreadOverlayLayer.get());
-}
-
-void WebPageCompositorPrivate::render(const IntRect& targetRect, const IntRect& clipRect, const TransformationMatrix& transformIn, const FloatRect& documentSrcRect)
-{
- // m_layerRenderer should have been created in prepareFrame
- if (!m_layerRenderer)
- return;
-
- // It's not safe to call into the BackingStore if the compositor hasn't been set yet.
- // For thread safety, we have to do it using a round-trip to the WebKit thread, so the
- // embedder might call this before the round-trip to WebPagePrivate::setCompositor() is
- // done.
- if (!m_webPage || m_webPage->compositor() != this)
- return;
-
- m_layerRenderer->setViewport(targetRect, clipRect, documentSrcRect, m_layoutRect, m_documentRect.size());
-
- TransformationMatrix transform(transformIn);
- transform.translate(-m_documentRect.x(), -m_documentRect.y());
-
- if (!drawsRootLayer())
- m_webPage->m_backingStore->d->compositeContents(m_layerRenderer.get(), transform, documentSrcRect, !m_backgroundColor.hasAlpha());
-
- compositeLayers(transform);
-}
-
-void WebPageCompositorPrivate::compositeLayers(const TransformationMatrix& transform)
-{
- if (m_rootLayer)
- m_layerRenderer->compositeLayers(transform, m_rootLayer.get());
- if (m_overlayLayer)
- m_layerRenderer->compositeLayers(transform, m_overlayLayer.get());
- if (m_compositingThreadOverlayLayer)
- m_layerRenderer->compositeLayers(transform, m_compositingThreadOverlayLayer.get());
-
- m_lastCompositingResults = m_layerRenderer->lastRenderingResults();
-
- if (m_lastCompositingResults.needsAnimationFrame) {
- Platform::AnimationFrameRateController::instance()->addClient(this);
- m_webPage->updateDelegatedOverlays();
- }
-}
-
-bool WebPageCompositorPrivate::drawsRootLayer() const
-{
- return m_rootLayer && m_drawsRootLayer;
-}
-
-bool WebPageCompositorPrivate::drawLayers(const IntRect& dstRect, const FloatRect& contents)
-{
- // Is there anything to draw?
- if (!m_rootLayer && !m_overlayLayer && !m_compositingThreadOverlayLayer)
- return false;
-
- // prepareFrame creates the LayerRenderer if needed
- prepareFrame(currentTime());
- if (!m_layerRenderer)
- return false;
-
- // OpenGL window coordinates origin is at the lower left corner of the surface while
- // WebKit uses upper left as the origin of the window coordinate system. The passed in 'dstRect'
- // is in WebKit window coordinate system. Here we setup the viewport to the corresponding value
- // in OpenGL window coordinates.
- int viewportY = std::max(0, m_context->surfaceSize().height() - dstRect.maxY());
- IntRect viewport = IntRect(dstRect.x(), viewportY, dstRect.width(), dstRect.height());
-
- m_layerRenderer->setViewport(viewport, viewport, contents, m_layoutRect, m_documentRect.size());
-
- // WebKit uses row vectors which are multiplied by the matrix on the left (i.e. v*M)
- // Transformations are composed on the left so that M1.xform(M2) means M2*M1
- // We therefore start with our (othogonal) projection matrix, which will be applied
- // as the last transformation.
- TransformationMatrix transform = LayerRenderer::orthoMatrix(0, contents.width(), contents.height(), 0, -1000, 1000);
- transform.translate3d(-contents.x() - m_documentRect.x(), -contents.y() - m_documentRect.y(), 0);
- compositeLayers(transform);
-
- return true;
-}
-
-void WebPageCompositorPrivate::setBackgroundColor(const Color& color)
-{
- m_backgroundColor = color;
-}
-
-void WebPageCompositorPrivate::releaseLayerResources()
-{
- if (m_layerRenderer)
- m_layerRenderer->releaseLayerResources();
-}
-
-bool WebPageCompositorPrivate::shouldChildWindowsUseDocumentCoordinates()
-{
- return m_childWindowPlacement == WebPageCompositor::DocumentCoordinates;
-}
-
-void WebPageCompositorPrivate::animationFrameChanged()
-{
- BackingStore* backingStore = m_webPage->m_backingStore;
- if (!backingStore) {
- Platform::ViewportAccessor* viewportAccessor = m_webPage->client()->userInterfaceViewportAccessor();
- const Platform::IntRect dstRect = viewportAccessor->destinationSurfaceRect();
- const Platform::FloatRect srcRect = viewportAccessor->documentViewportRect();
-
- drawLayers(dstRect, srcRect);
- return;
- }
-
- if (!m_webPage->needsOneShotDrawingSynchronization())
- backingStore->blitVisibleContents();
-}
-
-void WebPageCompositorPrivate::compositorDestroyed()
-{
- if (m_client)
- m_client->compositorDestroyed();
-
- m_client = 0;
-}
-
-void WebPageCompositorPrivate::addOverlay(LayerCompositingThread* layer)
-{
- if (!m_compositingThreadOverlayLayer)
- m_compositingThreadOverlayLayer = LayerCompositingThread::create(LayerData::CustomLayer, 0);
- m_compositingThreadOverlayLayer->addSublayer(layer);
-}
-
-void WebPageCompositorPrivate::removeOverlay(LayerCompositingThread* layer)
-{
- if (layer->superlayer() != m_compositingThreadOverlayLayer)
- return;
-
- layer->removeFromSuperlayer();
-
- if (m_compositingThreadOverlayLayer && m_compositingThreadOverlayLayer->sublayers().isEmpty())
- m_compositingThreadOverlayLayer.clear();
-}
-
-void WebPageCompositorPrivate::findFixedElementRect(LayerCompositingThread* layer, WebCore::IntRect& fixedElementRect)
-{
- if ((layer->hasFixedContainer() || layer->isFixedPosition() || layer->hasFixedAncestorInDOMTree()) && layer->layerRenderer()) {
- IntRect fixedRect = layer->layerRenderer()->toPixelViewportCoordinates(layer->boundingBox());
- // FIXME: It's possible that the rects don't intersect now, but will be connected by a fixed rect found later.
- // We need to handle it as well.
- if (fixedElementRect.isEmpty() || fixedElementRect.intersects(fixedRect)) // Unite rects if they intersect each other.
- fixedElementRect.unite(fixedRect);
- else if (fixedRect.y() < fixedElementRect.y()) // Replace the fixedElementRect with fixedRect if fixedRect is above it (closer to top).
- fixedElementRect = fixedRect;
- }
-
- const Vector<RefPtr<LayerCompositingThread> >& sublayers = layer->sublayers();
- for (size_t i = 0; i < sublayers.size(); i++)
- findFixedElementRect(sublayers[i].get(), fixedElementRect);
-}
-
-WebPageCompositor::WebPageCompositor(WebPage* page, WebPageCompositorClient* client)
-{
- using namespace BlackBerry::Platform;
-
- RefPtr<WebPageCompositorPrivate> tmp = WebPageCompositorPrivate::create(page->d, client);
-
- // FIXME: For legacy reasons, the internal default is to use document coordinates.
- // Use window coordinates for new clients.
- tmp->setChildWindowPlacement(WindowCoordinates);
-
- // Keep one ref ourselves...
- d = tmp.get();
- d->ref();
-
- // ...And pass one ref to the web page.
- // This ensures that the compositor will be around for as long as it's
- // needed. Unfortunately RefPtr<T> is not public, so we have declare to
- // resort to manual refcounting.
- webKitThreadMessageClient()->dispatchMessage(createMethodCallMessage(&WebPagePrivate::setCompositor, d->page(), tmp));
-}
-
-WebPageCompositor::~WebPageCompositor()
-{
- using namespace BlackBerry::Platform;
-
- // If we're being destroyed before the page, send a message to disconnect us
- if (d->page())
- webKitThreadMessageClient()->dispatchMessage(createMethodCallMessage(&WebPagePrivate::setCompositor, d->page(), PassRefPtr<WebPageCompositorPrivate>(0)));
- d->compositorDestroyed();
- d->deref();
-}
-
-WebPageCompositorClient* WebPageCompositor::client() const
-{
- return d->client();
-}
-
-void WebPageCompositor::setChildWindowPlacement(ChildWindowPlacement placement)
-{
- d->setChildWindowPlacement(placement);
-}
-
-void WebPageCompositor::prepareFrame(Platform::Graphics::GLES2Context* context, double animationTime)
-{
- d->setContext(context);
- d->prepareFrame(animationTime);
-}
-
-void WebPageCompositor::render(Platform::Graphics::GLES2Context* context, const Platform::IntRect& targetRect, const Platform::IntRect& clipRect, const Platform::TransformationMatrix& transform, const Platform::FloatRect& documentSrcRect)
-{
- d->setContext(context);
- d->render(targetRect, clipRect, TransformationMatrix(reinterpret_cast<const TransformationMatrix&>(transform)), documentSrcRect);
-}
-
-void WebPageCompositor::cleanup(Platform::Graphics::GLES2Context*)
-{
- d->setContext(0);
-}
-
-void WebPageCompositor::contextLost()
-{
- // This method needs to delete the compositor in a way that not tries to
- // use any OpenGL calls (the context is gone, so we can't and don't need to
- // free any OpenGL resources.
- notImplemented();
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#else // USE(ACCELERATED_COMPOSITING)
-
-namespace BlackBerry {
-namespace WebKit {
-
-WebPageCompositor::WebPageCompositor(WebPage*, WebPageCompositorClient*)
- : d(0)
-{
-}
-
-WebPageCompositor::~WebPageCompositor()
-{
-}
-
-WebPageCompositorClient* WebPageCompositor::client() const
-{
- return 0;
-}
-
-void WebPageCompositor::setChildWindowPlacement(ChildWindowPlacement)
-{
-}
-
-void WebPageCompositor::prepareFrame(Platform::Graphics::GLES2Context*, double)
-{
-}
-
-void WebPageCompositor::render(Platform::Graphics::GLES2Context*,
- const Platform::IntRect&,
- const Platform::IntRect&,
- const Platform::TransformationMatrix&,
- const Platform::FloatRect&)
-{
-}
-
-void WebPageCompositor::cleanup(Platform::Graphics::GLES2Context*)
-{
-}
-
-void WebPageCompositor::contextLost()
-{
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // USE(ACCELERATED_COMPOSITING)
diff --git a/Source/WebKit/blackberry/Api/WebPageCompositor.h b/Source/WebKit/blackberry/Api/WebPageCompositor.h
deleted file mode 100644
index 04e9298ad..000000000
--- a/Source/WebKit/blackberry/Api/WebPageCompositor.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 WebPageCompositor_h
-#define WebPageCompositor_h
-
-#include "BlackBerryGlobal.h"
-
-#include <BlackBerryPlatformGLES2Context.h>
-#include <BlackBerryPlatformGraphics.h>
-#include <BlackBerryPlatformPrimitives.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebPage;
-class WebPageCompositorClient;
-class WebPageCompositorPrivate;
-
-class BLACKBERRY_EXPORT WebPageCompositor {
-public:
- WebPageCompositor(WebPage*, WebPageCompositorClient*);
- virtual ~WebPageCompositor();
-
- WebPageCompositorClient* client() const;
-
- // Child windows may be positioned in document coordinates if the
- // BlackBerry::Platform::Window::virtualRect() of the parent window is kept
- // in sync with the document visible content rect.
- //
- // Otherwise, the default is to position child windows using window
- // coordinates.
- enum ChildWindowPlacement { WindowCoordinates, DocumentCoordinates };
- void setChildWindowPlacement(ChildWindowPlacement);
-
- void prepareFrame(Platform::Graphics::GLES2Context*, double animationTime);
-
- void render(Platform::Graphics::GLES2Context*,
- const Platform::IntRect& targetRect,
- const Platform::IntRect& clipRect,
- const Platform::TransformationMatrix&,
- const Platform::FloatRect& documentSrcRect);
-
- void cleanup(Platform::Graphics::GLES2Context*);
-
- void contextLost();
-
-private:
- WebPageCompositorPrivate *d;
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // WebPageCompositor_h
diff --git a/Source/WebKit/blackberry/Api/WebPageCompositorClient.h b/Source/WebKit/blackberry/Api/WebPageCompositorClient.h
deleted file mode 100644
index 70dd8289f..000000000
--- a/Source/WebKit/blackberry/Api/WebPageCompositorClient.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Research In Motion Limited. 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
- * 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 WebPageCompositorClient_h
-#define WebPageCompositorClient_h
-
-#include "BlackBerryGlobal.h"
-
-namespace BlackBerry {
-namespace WebKit {
-
-class BLACKBERRY_EXPORT WebPageCompositorClient {
-public:
- virtual ~WebPageCompositorClient() { }
-
- virtual void compositorDestroyed() = 0;
-
- virtual double requestAnimationFrame() = 0;
- virtual void invalidate(double animationFrameTimestamp) = 0;
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // WebPageCompositorClient_h
diff --git a/Source/WebKit/blackberry/Api/WebPageCompositor_p.h b/Source/WebKit/blackberry/Api/WebPageCompositor_p.h
deleted file mode 100644
index 3ae463650..000000000
--- a/Source/WebKit/blackberry/Api/WebPageCompositor_p.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 WebPageCompositor_p_h
-#define WebPageCompositor_p_h
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "LayerCompositingThread.h"
-#include "LayerRenderer.h"
-#include "LayerRendererClient.h"
-#include "WebPageCompositor.h"
-
-#include <BlackBerryPlatformAnimationFrameRateController.h>
-#include <BlackBerryPlatformGLES2Context.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/RefPtr.h>
-
-namespace WebCore {
-class LayerWebKitThread;
-};
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebPageCompositorClient;
-class WebPagePrivate;
-
-// This class may only be used on the compositing thread. So it does not need to be threadsaferefcounted.
-class WebPageCompositorPrivate
- : public RefCounted<WebPageCompositorPrivate>
- , public WebCore::LayerRendererClient
- , public Platform::AnimationFrameRateClient {
-public:
- static PassRefPtr<WebPageCompositorPrivate> create(WebPagePrivate* page, WebPageCompositorClient* client)
- {
- return adoptRef(new WebPageCompositorPrivate(page, client));
- }
-
- ~WebPageCompositorPrivate();
-
- // Public API
- void setChildWindowPlacement(WebPageCompositor::ChildWindowPlacement placement) { m_childWindowPlacement = placement; }
- void prepareFrame(double animationTime);
- void render(const WebCore::IntRect& targetRect, const WebCore::IntRect& clipRect, const WebCore::TransformationMatrix&, const WebCore::FloatRect& documentSrcRect);
-
- Platform::Graphics::GLES2Context* context() const { return m_context; }
- void setContext(Platform::Graphics::GLES2Context*);
-
- WebCore::LayerCompositingThread* rootLayer() const { return m_rootLayer.get(); }
- void setRootLayer(WebCore::LayerCompositingThread*);
-
- WebCore::LayerCompositingThread* overlayLayer() const { return m_overlayLayer.get(); }
- void setOverlayLayer(WebCore::LayerCompositingThread*);
-
- WebCore::LayerCompositingThread* compositingThreadOverlayLayer() const { return m_compositingThreadOverlayLayer.get(); }
-
- bool drawsRootLayer() const;
- void setDrawsRootLayer(bool drawsRootLayer) { m_drawsRootLayer = drawsRootLayer; }
-
- // Render everything but the root layer, or everything if drawsRootLayer() is true.
- bool drawLayers(const WebCore::IntRect& dstRect, const WebCore::FloatRect& contents);
-
- WebCore::IntRect layoutRect() const { return m_layoutRect; }
- void setLayoutRect(const WebCore::IntRect& rect) { m_layoutRect = rect; }
-
- WebCore::IntRect documentRect() const { return m_documentRect; }
- void setDocumentRect(const WebCore::IntRect& rect) { m_documentRect = rect; }
-
- WebCore::LayerRenderingResults lastCompositingResults() const { return m_lastCompositingResults; }
- void setLastCompositingResults(const WebCore::LayerRenderingResults& results) { m_lastCompositingResults = results; }
-
- WebCore::Color backgroundColor() const { return m_backgroundColor; }
- void setBackgroundColor(const WebCore::Color&);
-
- void releaseLayerResources();
-
- WebPagePrivate* page() const { return m_webPage; }
- void setPage(WebPagePrivate*);
- void detach();
- WebPageCompositorClient* client() const { return m_client; }
- void compositorDestroyed();
-
- void addOverlay(WebCore::LayerCompositingThread*);
- void removeOverlay(WebCore::LayerCompositingThread*);
-
- void findFixedElementRect(WebCore::LayerCompositingThread*, WebCore::IntRect&);
-
-protected:
- WebPageCompositorPrivate(WebPagePrivate*, WebPageCompositorClient*);
-
-private:
- void compositeLayers(const WebCore::TransformationMatrix&);
- void attachOverlays() { attachOverlays(m_compositingThreadOverlayLayer.get(), m_webPage); }
- void detachOverlays() { attachOverlays(m_compositingThreadOverlayLayer.get(), 0); }
- static void attachOverlays(WebCore::LayerCompositingThread* overlayRoot, WebPagePrivate*);
-
- // LayerRendererClient
- virtual bool shouldChildWindowsUseDocumentCoordinates();
-
- // AnimationFrameRateClient
- virtual void animationFrameChanged();
-
- WebPageCompositorClient* m_client;
- WebPagePrivate* m_webPage;
- Platform::Graphics::GLES2Context* m_context;
- OwnPtr<WebCore::LayerRenderer> m_layerRenderer;
- RefPtr<WebCore::LayerCompositingThread> m_rootLayer;
- RefPtr<WebCore::LayerCompositingThread> m_overlayLayer;
- RefPtr<WebCore::LayerCompositingThread> m_compositingThreadOverlayLayer;
- WebCore::IntRect m_layoutRect;
- WebCore::IntRect m_documentRect;
- WebCore::LayerRenderingResults m_lastCompositingResults;
- WebCore::Color m_backgroundColor;
- bool m_drawsRootLayer;
- WebPageCompositor::ChildWindowPlacement m_childWindowPlacement;
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // USE(ACCELERATED_COMPOSITING)
-
-#endif // WebPageCompositor_p_h
diff --git a/Source/WebKit/blackberry/Api/WebPageGroupLoadDeferrer.cpp b/Source/WebKit/blackberry/Api/WebPageGroupLoadDeferrer.cpp
deleted file mode 100644
index 084f2f42a..000000000
--- a/Source/WebKit/blackberry/Api/WebPageGroupLoadDeferrer.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "WebPageGroupLoadDeferrer.h"
-
-#include "PageGroupLoadDeferrer.h"
-#include "WebPage.h"
-#include "WebPage_p.h"
-
-namespace BlackBerry {
-namespace WebKit {
-
-WebPageGroupLoadDeferrer::WebPageGroupLoadDeferrer(WebPage* webPage)
-{
- WebCore::TimerBase::fireTimersInNestedEventLoop();
- m_pageGroupLoadDeferrer = new WebCore::PageGroupLoadDeferrer(webPage->d->m_page, true /* defer the page itself */);
-}
-
-WebPageGroupLoadDeferrer::~WebPageGroupLoadDeferrer()
-{
- delete m_pageGroupLoadDeferrer;
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
diff --git a/Source/WebKit/blackberry/Api/WebPageGroupLoadDeferrer.h b/Source/WebKit/blackberry/Api/WebPageGroupLoadDeferrer.h
deleted file mode 100644
index fa7c2237b..000000000
--- a/Source/WebKit/blackberry/Api/WebPageGroupLoadDeferrer.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 WebPageGroupLoadDeferrer_h
-#define WebPageGroupLoadDeferrer_h
-
-#include "BlackBerryGlobal.h"
-#include "BlackBerryPlatformMisc.h"
-
-namespace WebCore {
-class PageGroupLoadDeferrer;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebPage;
-
-// WebPageGroupLoadDeferrer is supposed to be used in the same way as WebCore::PageGroupLoadDeferrer.
-// Declare a WebPageGroupLoadDeferrer object in the scope where the page group should defer loading and DOM timers.
-class BLACKBERRY_EXPORT WebPageGroupLoadDeferrer {
-public:
- explicit WebPageGroupLoadDeferrer(WebPage*);
- ~WebPageGroupLoadDeferrer();
-private:
- WebCore::PageGroupLoadDeferrer* m_pageGroupLoadDeferrer;
- DISABLE_COPY(WebPageGroupLoadDeferrer)
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // WebPageGroupLoadDeferrer_h
diff --git a/Source/WebKit/blackberry/Api/WebPage_p.h b/Source/WebKit/blackberry/Api/WebPage_p.h
deleted file mode 100644
index 6efc249c8..000000000
--- a/Source/WebKit/blackberry/Api/WebPage_p.h
+++ /dev/null
@@ -1,675 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 WebPage_p_h
-#define WebPage_p_h
-
-#include "ChromeClient.h"
-#include "HitTestResult.h"
-#include "InRegionScroller.h"
-#include "InspectorClientBlackBerry.h"
-#include "InspectorOverlay.h"
-#if USE(ACCELERATED_COMPOSITING)
-#include "GLES2Context.h"
-#include "GraphicsLayerClient.h"
-#include "LayerRenderer.h"
-#include <EGL/egl.h>
-#endif
-#include "KURL.h"
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#include "NotificationManager.h"
-#endif
-#include "PageClientBlackBerry.h"
-#include "PlatformMouseEvent.h"
-#include "ProximityDetector.h"
-#include "ScriptSourceCode.h"
-#include "SelectionOverlay.h"
-#include "Timer.h"
-#include "ViewportArguments.h"
-#include "WebPage.h"
-#include "WebSettings.h"
-#include "WebTapHighlight.h"
-
-#include <BlackBerryPlatformMessage.h>
-
-#define DEFAULT_MAX_LAYOUT_WIDTH 1024
-#define DEFAULT_MAX_LAYOUT_HEIGHT 768
-
-namespace WebCore {
-class AuthenticationChallengeClient;
-class AutofillManager;
-class DOMWrapperWorld;
-class Document;
-class Element;
-class Frame;
-class GeolocationClientBlackBerry;
-class GraphicsLayerBlackBerry;
-class LayerWebKitThread;
-class NavigatorContentUtilsClientBlackBerry;
-class Node;
-class Page;
-class PluginView;
-class RenderLayer;
-class RenderObject;
-class ScrollView;
-class TransformationMatrix;
-template<typename T> class Timer;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-
-class BackingStore;
-class BackingStoreClient;
-class DumpRenderTreeClient;
-class InPageSearchManager;
-class InputHandler;
-class PagePopup;
-class PagePopupClient;
-class SelectionHandler;
-class TouchEventHandler;
-class WebCookieJar;
-class WebPageClient;
-class WebKitThreadViewportAccessor;
-
-#if USE(ACCELERATED_COMPOSITING)
-class FrameLayers;
-class WebPageCompositorPrivate;
-#endif
-
-// In the client code, there is screen size and viewport.
-// In WebPagePrivate, the screen size is called the transformedViewportSize,
-// the viewport position is called the transformedScrollPosition,
-// and the viewport size is called the transformedActualVisibleSize.
-class WebPagePrivate : public PageClientBlackBerry
- , public WebSettingsDelegate
-#if USE(ACCELERATED_COMPOSITING)
- , public WebCore::GraphicsLayerClient
-#endif
-#if ENABLE(REQUEST_ANIMATION_FRAME) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
- , public BlackBerry::Platform::AnimationFrameRateClient
-#endif
- , public Platform::GuardedPointerBase {
-public:
- enum ViewMode { Desktop, FixedDesktop };
- enum LoadState { None /* on instantiation of page */, Provisional, Committed, Finished, Failed };
-
- WebPagePrivate(WebPage*, WebPageClient*, const WebCore::IntRect&);
-
- static WebCore::Page* core(const WebPage*);
-
- WebPageClient* client() const { return m_client; }
-
- void init(const BlackBerry::Platform::String& pageGroupName);
- bool handleMouseEvent(WebCore::PlatformMouseEvent&);
- bool handleWheelEvent(WebCore::PlatformWheelEvent&);
-
- void load(const Platform::NetworkRequest& platformRequest, bool needReferer = false);
- void loadString(const BlackBerry::Platform::String&, const BlackBerry::Platform::String& baseURL, const BlackBerry::Platform::String& mimeType, const BlackBerry::Platform::String& failingURL);
- bool executeJavaScript(const BlackBerry::Platform::String& script, JavaScriptDataType& returnType, BlackBerry::Platform::String& returnValue);
- bool executeJavaScriptInIsolatedWorld(const WebCore::ScriptSourceCode&, JavaScriptDataType& returnType, BlackBerry::Platform::String& returnValue);
-
- void stopCurrentLoad();
- void prepareToDestroy();
-
- void enableCrossSiteXHR();
- void addOriginAccessWhitelistEntry(const BlackBerry::Platform::String& sourceOrigin, const BlackBerry::Platform::String& destinationOrigin, bool allowDestinationSubdomains);
- void removeOriginAccessWhitelistEntry(const BlackBerry::Platform::String& sourceOrigin, const BlackBerry::Platform::String& destinationOrigin, bool allowDestinationSubdomains);
-
- LoadState loadState() const { return m_loadState; }
- bool isLoading() const { return m_loadState == WebPagePrivate::Provisional || m_loadState == WebPagePrivate::Committed; }
-
- // Called from within WebKit via FrameLoaderClientBlackBerry.
- void setLoadState(LoadState);
-
- // Clamp the scale.
- double clampedScale(double scale) const;
-
- // Determine if we should zoom, clamping the scale parameter if required.
- bool shouldZoomAboutPoint(double scale, const WebCore::FloatPoint& anchor, bool enforeScaleClamping, double* clampedScale);
-
- // Scale the page to the given scale and anchor about the point which is specified in untransformed content coordinates.
- bool zoomAboutPoint(double scale, const WebCore::FloatPoint& anchor, bool enforceScaleClamping = true, bool forceRendering = false, bool isRestoringZoomLevel = false);
- WebCore::IntPoint calculateReflowedScrollPosition(const WebCore::FloatPoint& anchorOffset, double inverseScale);
- void setTextReflowAnchorPoint(const Platform::IntPoint& focalPoint);
-
- void restoreHistoryViewState(const WebCore::IntPoint& scrollPosition, double scale, bool shouldReflowBlock);
-
- // Perform actual zoom for after zoom animation.
- void zoomAnimationFinished(double finalScale, const WebCore::FloatPoint& finalDocumentScrollPosition, bool shouldConstrainScrollingToContentEdge);
-
- // Called by the backing store as well as the method below.
- void updateLayoutAndStyleIfNeededRecursive() const;
- void layoutIfNeeded() const;
- void setNeedsLayout();
-
- WebCore::IntPoint scrollPosition() const;
- WebCore::IntPoint maximumScrollPosition() const;
- void setScrollPosition(const WebCore::IntPoint&);
-
- void notifyInRegionScrollStopped();
- void setScrollOriginPoint(const Platform::IntPoint&);
- void setHasInRegionScrollableAreas(bool);
-
- // The actual visible size as reported by the client, but in WebKit coordinates.
- WebCore::IntSize actualVisibleSize() const;
-
- // The viewport size is the same as the client's window size, but in webkit coordinates.
- WebCore::IntSize viewportSize() const;
-
- // Modifies the zoomToFit algorithm logic to construct a scale such that the viewportSize above is equal to this size.
- bool hasVirtualViewport() const;
- bool isUserScalable() const
- {
- if (!respectViewport())
- return true;
- return m_userScalable;
- }
- void setUserScalable(bool userScalable) { m_userScalable = userScalable; }
-
- // Sets default layout size without doing layout or marking as needing layout.
- void setDefaultLayoutSize(const WebCore::IntSize&);
-
- // Updates WebCore when the viewportSize() or actualVisibleSize() change.
- void updateViewportSize(bool setFixedReportedSize = true, bool sendResizeEvent = true);
-
- WebCore::FloatPoint centerOfVisibleContentsRect() const;
- WebCore::IntRect visibleContentsRect() const;
- WebCore::IntSize contentsSize() const;
- WebCore::IntSize absoluteVisibleOverflowSize() const;
-
- // Virtual functions inherited from PageClientBlackBerry.
- virtual int playerID() const;
- virtual void setCursor(WebCore::PlatformCursor);
- virtual Platform::NetworkStreamFactory* networkStreamFactory();
- virtual Platform::Graphics::Window* platformWindow() const;
- virtual void setPreventsScreenDimming(bool preventDimming);
- virtual void showVirtualKeyboard(bool showKeyboard);
- virtual void ensureContentVisible(bool centerInView = true);
- virtual void zoomToContentRect(const WebCore::IntRect&);
- virtual void registerPlugin(WebCore::PluginView*, bool);
- virtual void notifyPageOnLoad();
- virtual bool shouldPluginEnterFullScreen(WebCore::PluginView*, const char*);
- virtual void didPluginEnterFullScreen(WebCore::PluginView*, const char*);
- virtual void didPluginExitFullScreen(WebCore::PluginView*, const char*);
- virtual void onPluginStartBackgroundPlay(WebCore::PluginView*, const char*);
- virtual void onPluginStopBackgroundPlay(WebCore::PluginView*, const char*);
- virtual bool lockOrientation(bool landscape);
- virtual void unlockOrientation();
- virtual int orientation() const;
- virtual double currentZoomFactor() const;
- virtual int showAlertDialog(WebPageClient::AlertType atype);
- virtual bool isActive() const;
- virtual bool isVisible() const { return m_visible; }
- virtual void authenticationChallenge(const WebCore::KURL&, const WebCore::ProtectionSpace&, const WebCore::Credential&);
- virtual SaveCredentialType notifyShouldSaveCredential(bool);
- virtual void syncProxyCredential(const WebCore::Credential&);
-
- // Called from within WebKit via ChromeClientBlackBerry.
- void enterFullscreenForNode(WebCore::Node*);
- void exitFullscreenForNode(WebCore::Node*);
-#if ENABLE(FULLSCREEN_API)
- void enterFullScreenForElement(WebCore::Element*);
- void exitFullScreenForElement(WebCore::Element*);
- void adjustFullScreenElementDimensionsIfNeeded();
-#endif
- void contentsSizeChanged(const WebCore::IntSize&);
- void overflowExceedsContentsSize();
- void layoutFinished();
- void setNeedTouchEvents(bool);
- void notifyPopupAutofillDialog(const Vector<String>&);
- void notifyDismissAutofillDialog();
-
- bool shouldZoomToInitialScaleOnLoad() const { return loadState() == Committed || m_shouldZoomToInitialScaleAfterLoadFinished; }
- void setShouldZoomToInitialScaleAfterLoadFinished(bool shouldZoomToInitialScaleAfterLoadFinished)
- {
- m_shouldZoomToInitialScaleAfterLoadFinished = shouldZoomToInitialScaleAfterLoadFinished;
- }
-
- // Called according to our heuristic or from setLoadState depending on whether we have a virtual viewport.
- void zoomToInitialScaleOnLoad();
-
- // Various scale factors.
- double currentScale() const { return m_transformationMatrix->m11(); }
- double zoomToFitScale() const;
- bool respectViewport() const;
- double initialScale() const;
- void setInitialScale(double scale) { m_initialScale = scale; }
- double minimumScale() const
- {
- return (m_minimumScale > zoomToFitScale() && m_minimumScale <= maximumScale() && respectViewport()) ? m_minimumScale : zoomToFitScale();
- }
-
- void setMinimumScale(double scale) { m_minimumScale = scale; }
- double maximumScale() const;
- void setMaximumScale(double scale) { m_maximumScale = scale; }
- void resetScales();
-
- // Note: to make this reflow width transform invariant just use
- // transformedActualVisibleSize() here instead!
- int reflowWidth() const { return actualVisibleSize().width(); }
-
- // These methods give the real geometry of the device given the currently set transform.
- WebCore::IntPoint transformedScrollPosition() const;
- WebCore::IntPoint transformedMaximumScrollPosition() const;
- WebCore::IntSize transformedActualVisibleSize() const;
- WebCore::IntSize transformedViewportSize() const;
-
- // Notification methods that deliver changes to the real geometry of the device as specified above.
- void notifyTransformChanged();
- void notifyTransformedContentsSizeChanged();
- void notifyTransformedScrollChanged();
-
- void assignFocus(Platform::FocusDirection);
- Platform::IntRect focusNodeRect();
- WebCore::IntRect getRecursiveVisibleWindowRect(WebCore::ScrollView*, bool noClipOfMainFrame = false);
-
- WebCore::IntPoint frameOffset(const WebCore::Frame*) const;
-
- WebCore::Node* bestNodeForZoomUnderPoint(const WebCore::IntPoint&);
- WebCore::Node* bestChildNodeForClickRect(WebCore::Node* parentNode, const WebCore::IntRect& clickRect);
- WebCore::Node* nodeForZoomUnderPoint(const WebCore::IntPoint&);
- WebCore::Node* adjustedBlockZoomNodeForZoomAndExpandingRatioLimits(WebCore::Node*);
- WebCore::IntRect rectForNode(WebCore::Node*);
- WebCore::IntRect blockZoomRectForNode(WebCore::Node*);
- WebCore::IntRect adjustRectOffsetForFrameOffset(const WebCore::IntRect&, const WebCore::Node*);
- bool compareNodesForBlockZoom(WebCore::Node* n1, WebCore::Node* n2);
- double newScaleForBlockZoomRect(const WebCore::IntRect&, double oldScale, double margin);
- double maxBlockZoomScale() const;
-
- // Context Methods.
- Platform::WebContext webContext(TargetDetectionStrategy);
- PassRefPtr<WebCore::Node> contextNode(TargetDetectionStrategy);
-
-#if ENABLE(VIEWPORT_REFLOW)
- void toggleTextReflowIfEnabledForBlockZoomOnly(bool shouldEnableTextReflow = false);
-#endif
-
- void selectionChanged(WebCore::Frame*);
- void setOverlayExpansionPixelHeight(int);
- void updateSelectionScrollView(const WebCore::Node*);
-
- void updateDelegatedOverlays(bool dispatched = false);
-
- void updateCursor();
-
- ViewMode viewMode() const { return m_viewMode; }
- bool setViewMode(ViewMode); // Returns true if the change requires re-layout.
-
- void setShouldUseFixedDesktopMode(bool b) { m_shouldUseFixedDesktopMode = b; }
-
- bool useFixedLayout() const;
- WebCore::IntSize fixedLayoutSize(bool snapToIncrement = false) const;
-
- // ZoomToFitOnLoad can lead to a large recursion depth in FrameView::layout() as we attempt
- // to determine the zoom scale factor so as to have the content of the page fit within the
- // area of the frame. From observation, we can bail out after a recursion depth of 10 and
- // still have reasonable results.
- bool didLayoutExceedMaximumIterations() const { return m_nestedLayoutFinishedCount > 10; }
-
- void clearFocusNode();
- WebCore::Frame* focusedOrMainFrame() const;
- WebCore::Frame* mainFrame() const { return m_mainFrame; }
-
-#if ENABLE(EVENT_MODE_METATAGS)
- void didReceiveCursorEventMode(WebCore::CursorEventMode);
- void didReceiveTouchEventMode(WebCore::TouchEventMode);
-#endif
-
- void dispatchViewportPropertiesDidChange(const WebCore::ViewportArguments&);
- Platform::IntSize recomputeVirtualViewportFromViewportArguments();
-
- void resetBlockZoom();
-
- void zoomAboutPointTimerFired(WebCore::Timer<WebPagePrivate>*);
- bool shouldSendResizeEvent();
- void scrollEventTimerFired(WebCore::Timer<WebPagePrivate>*);
- void resizeEventTimerFired(WebCore::Timer<WebPagePrivate>*);
-
- // If this url should be handled as a pattern, returns the pattern
- // otherwise, returns an empty string.
- String findPatternStringForUrl(const WebCore::KURL&) const;
-
- void suspendBackingStore();
- void resumeBackingStore();
-
- void setShouldResetTilesWhenShown(bool flag) { m_shouldResetTilesWhenShown = flag; }
- bool shouldResetTilesWhenShown() const { return m_shouldResetTilesWhenShown; }
-
- void setScreenOrientation(int);
-
- // Scroll and/or zoom so that the WebPage fits the new actual visible size, a.k.a. visual viewport.
- // Also sets the default layout size, a.k.a. the layout viewport.
- bool setViewportSize(const WebCore::IntSize& transformedActualVisibleSize, const WebCore::IntSize& defaultLayoutSize, bool ensureFocusElementVisible);
-
- void scheduleDeferrableTimer(WebCore::Timer<WebPagePrivate>*, double timeOut);
- void unscheduleAllDeferrableTimers();
- void willDeferLoading();
- void didResumeLoading();
-
- WebCore::TransformationMatrix* transformationMatrix() const
- {
- return m_transformationMatrix;
- }
-
- bool compositorDrawsRootLayer() const; // Thread safe
- void setCompositorDrawsRootLayer(bool); // WebKit thread only
-
-#if USE(ACCELERATED_COMPOSITING)
- // WebKit thread.
- bool needsOneShotDrawingSynchronization();
- void rootLayerCommitTimerFired(WebCore::Timer<WebPagePrivate>*);
- bool commitRootLayerIfNeeded();
- WebCore::LayerRenderingResults lastCompositingResults() const;
- WebCore::GraphicsLayer* overlayLayer();
-
- // Fallback GraphicsLayerClient implementation, used for various overlay layers.
- virtual void notifyAnimationStarted(const WebCore::GraphicsLayer*, double) { }
- virtual void notifyFlushRequired(const WebCore::GraphicsLayer*);
- virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect&) { }
-
- // WebKit thread, plumbed through from ChromeClientBlackBerry.
- void setRootLayerWebKitThread(WebCore::Frame*, WebCore::LayerWebKitThread*);
- void setNeedsOneShotDrawingSynchronization();
- void scheduleRootLayerCommit();
-
- // Compositing thread.
- void setRootLayerCompositingThread(WebCore::LayerCompositingThread*);
- void commitRootLayer(const WebCore::IntRect& layoutRect, const WebCore::IntRect& documentRect, bool);
- bool isAcceleratedCompositingActive() const { return m_compositor; }
- WebPageCompositorPrivate* compositor() const { return m_compositor.get(); }
- void setCompositor(PassRefPtr<WebPageCompositorPrivate>);
- void setCompositorHelper(PassRefPtr<WebPageCompositorPrivate>);
- void setCompositorBackgroundColor(const WebCore::Color&);
- bool createCompositor();
- void destroyCompositor();
- void syncDestroyCompositorOnCompositingThread();
- void releaseLayerResources();
- void releaseLayerResourcesCompositingThread();
- void updateRootLayerCommitEnabled();
-
- void scheduleCompositingRun();
-#endif
-
- bool dispatchTouchEventToFullScreenPlugin(WebCore::PluginView*, const Platform::TouchEvent&);
- bool dispatchTouchPointAsMouseEventToFullScreenPlugin(WebCore::PluginView*, const Platform::TouchPoint&);
- bool dispatchMouseEventToFullScreenPlugin(WebCore::PluginView*, const Platform::MouseEvent&);
-
- BackingStoreClient* backingStoreClient() const;
-
- bool openPagePopup(PagePopupClient*, const WebCore::IntRect& originBoundsInRootView);
- void closePagePopup();
- bool hasOpenedPopup() const;
-
- // Clean up any document related data we might be holding.
- void clearDocumentData(const WebCore::Document*);
-
- void frameUnloaded(const WebCore::Frame*);
-
- static WebCore::RenderLayer* enclosingPositionedAncestorOrSelfIfPositioned(WebCore::RenderLayer*);
- static WebCore::RenderLayer* enclosingFixedPositionedAncestorOrSelfIfFixedPositioned(WebCore::RenderLayer*);
-
- static const BlackBerry::Platform::String& defaultUserAgent();
-
- void setVisible(bool);
-#if ENABLE(PAGE_VISIBILITY_API)
- void setPageVisibilityState();
-#endif
- void notifyAppActivationStateChange(ActivationStateType);
-
- void deferredTasksTimerFired(WebCore::Timer<WebPagePrivate>*);
-
- void setInspectorOverlayClient(InspectorOverlay::InspectorOverlayClient*);
-
- void applySizeOverride(int overrideWidth, int overrideHeight);
- void setTextZoomFactor(float);
-
- void postponeDocumentStyleRecalc();
- void resumeDocumentStyleRecalc();
-
- const WebCore::HitTestResult& hitTestResult(const WebCore::IntPoint& contentPos);
- void clearCachedHitTestResult();
-
- WebCore::IntSize screenSize() const;
-
- void willComposite();
- void didComposite();
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- NotificationManager& notificationManager() { return m_notificationManager; };
-#endif
-
- void animateToScaleAndDocumentScrollPosition(double destinationZoomScale, const WebCore::FloatPoint& destinationScrollPosition, bool shouldConstrainScrollingToContentEdge = true);
-
- void updateBackgroundColor(const WebCore::Color& backgroundColor);
- WebCore::Color documentBackgroundColor() const;
-
-#if ENABLE(REQUEST_ANIMATION_FRAME) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
- // BlackBerry::Platform::AnimationFrameRateClient.
- virtual void animationFrameChanged();
- void scheduleAnimation();
- void startRefreshAnimationClient();
- void stopRefreshAnimationClient();
- void serviceAnimations();
- static void handleServiceScriptedAnimationsOnMainThread(void*);
-#endif
-
- WebPage* m_webPage;
- WebPageClient* m_client;
- WebCore::InspectorClientBlackBerry* m_inspectorClient;
- WebCore::Page* m_page;
- WebCore::Frame* m_mainFrame;
- RefPtr<WebCore::Node> m_currentContextNode;
- WebSettings* m_webSettings;
- WebCookieJar* m_cookieJar;
- OwnPtr<WebTapHighlight> m_tapHighlight;
- OwnPtr<WebTapHighlight> m_selectionHighlight;
- OwnPtr<SelectionOverlay> m_selectionOverlay;
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
- OwnPtr<WebCore::NavigatorContentUtilsClientBlackBerry> m_navigatorContentUtilsClient;
-#endif
-
- bool m_visible;
- ActivationStateType m_activationState;
- bool m_shouldResetTilesWhenShown;
- bool m_shouldZoomToInitialScaleAfterLoadFinished;
- bool m_userScalable;
- bool m_userPerformedManualZoom;
- bool m_userPerformedManualScroll;
- bool m_contentsSizeChanged;
- bool m_overflowExceedsContentsSize;
- bool m_resetVirtualViewportOnCommitted;
- bool m_shouldUseFixedDesktopMode;
- bool m_inspectorEnabled;
- int m_preventIdleDimmingCount;
-
-#if ENABLE(TOUCH_EVENTS)
- bool m_preventDefaultOnTouchStart;
-#endif
- unsigned m_nestedLayoutFinishedCount;
- WebCore::IntSize m_previousContentsSize;
- int m_actualVisibleWidth;
- int m_actualVisibleHeight;
- WebCore::IntSize m_virtualViewportSize;
- WebCore::IntSize m_defaultLayoutSize;
- WebCore::ViewportArguments m_viewportArguments; // We keep this around since we may need to re-evaluate the arguments on rotation.
- WebCore::ViewportArguments m_userViewportArguments; // A fallback set of Viewport Arguments supplied by the WebPageClient
- bool m_didRestoreFromPageCache;
- ViewMode m_viewMode;
- LoadState m_loadState;
- WebCore::TransformationMatrix* m_transformationMatrix;
- BackingStore* m_backingStore;
- BackingStoreClient* m_backingStoreClient;
- WebKitThreadViewportAccessor* m_webkitThreadViewportAccessor;
- InPageSearchManager* m_inPageSearchManager;
- InputHandler* m_inputHandler;
- SelectionHandler* m_selectionHandler;
- TouchEventHandler* m_touchEventHandler;
- ProximityDetector* m_proximityDetector;
-
-#if ENABLE(EVENT_MODE_METATAGS)
- WebCore::CursorEventMode m_cursorEventMode;
- WebCore::TouchEventMode m_touchEventMode;
-#endif
-
-#if ENABLE(FULLSCREEN_API)
-#if ENABLE(VIDEO)
- double m_scaleBeforeFullScreen;
- WebCore::IntPoint m_scrollPositionBeforeFullScreen;
- int m_orientationBeforeFullScreen;
-#endif
-#endif
-
- Platform::BlackBerryCursor m_currentCursor;
-
- DumpRenderTreeClient* m_dumpRenderTree;
-
- double m_initialScale;
- double m_minimumScale;
- double m_maximumScale;
- bool m_forceRespectViewportArguments;
-
- // Block zoom & zoom/scroll animation data.
- WebCore::FloatPoint m_finalAnimationDocumentScrollPositionReflowOffset;
- RefPtr<WebCore::Node> m_currentPinchZoomNode;
- WebCore::FloatPoint m_anchorInNodeRectRatio;
- RefPtr<WebCore::Node> m_currentBlockZoomNode;
- RefPtr<WebCore::Node> m_currentBlockZoomAdjustedNode;
- bool m_shouldReflowBlock;
-
- double m_lastUserEventTimestamp; // Used to detect user scrolling.
-
- WebCore::PlatformMouseEvent m_lastMouseEvent;
- bool m_pluginMouseButtonPressed; // Used to track mouse button for full screen plugins.
- bool m_pluginMayOpenNewTab;
-
- WebCore::GeolocationControllerClientBlackBerry* m_geolocationClient;
-
- HashSet<WebCore::PluginView*> m_pluginViews;
-
- OwnPtr<InRegionScroller> m_inRegionScroller;
-
-#if USE(ACCELERATED_COMPOSITING)
- bool m_isAcceleratedCompositingActive;
- OwnPtr<FrameLayers> m_frameLayers; // WebKit thread only.
- OwnPtr<WebCore::GraphicsLayer> m_overlayLayer;
-
- // Compositing thread only, used only when the WebKit layer created the context.
- // If the API client created the context, this will be null.
- OwnPtr<GLES2Context> m_ownedContext;
-
- RefPtr<WebPageCompositorPrivate> m_compositor; // Compositing thread only.
- OwnPtr<WebCore::Timer<WebPagePrivate> > m_rootLayerCommitTimer;
- bool m_needsOneShotDrawingSynchronization;
- bool m_needsCommit;
- bool m_suspendRootLayerCommit;
-#endif
-
- int m_pendingOrientation;
-
- RefPtr<WebCore::Node> m_fullscreenNode;
- RefPtr<WebCore::PluginView> m_fullScreenPluginView;
-
- typedef HashMap<const WebCore::Frame*, BackingStoreClient*> BackingStoreClientForFrameMap;
- BackingStoreClientForFrameMap m_backingStoreClientForFrameMap;
-
- // WebSettingsDelegate methods.
- virtual void didChangeSettings(WebSettings*);
-
- RefPtr<WebCore::DOMWrapperWorld> m_isolatedWorld;
- bool m_hasInRegionScrollableAreas;
- bool m_updateDelegatedOverlaysDispatched;
- OwnPtr<InspectorOverlay> m_inspectorOverlay;
-
- // There is no need to initialize the following members in WebPagePrivate's constructor,
- // because they are only used by WebPageTasks and the tasks will initialize them when
- // being constructed.
- bool m_wouldPopupListSelectMultiple;
- bool m_wouldPopupListSelectSingle;
- bool m_wouldSetDateTimeInput;
- bool m_wouldSetColorInput;
- bool m_wouldCancelSelection;
- bool m_wouldLoadManualScript;
- bool m_wouldSetFocused;
- bool m_wouldSetPageVisibilityState;
- bool m_cachedFocused;
- Vector<bool> m_cachedPopupListSelecteds;
- int m_cachedPopupListSelectedIndex;
- BlackBerry::Platform::String m_cachedDateTimeInput;
- BlackBerry::Platform::String m_cachedColorInput;
- WebCore::KURL m_cachedManualScript;
-
- class DeferredTaskBase {
- public:
- void perform(WebPagePrivate* webPagePrivate)
- {
- if (!(webPagePrivate->*m_isActive))
- return;
- performInternal(webPagePrivate);
- }
- protected:
- DeferredTaskBase(WebPagePrivate* webPagePrivate, bool WebPagePrivate::*isActive)
- : m_isActive(isActive)
- {
- webPagePrivate->*m_isActive = true;
- }
-
- virtual void performInternal(WebPagePrivate*) = 0;
-
- bool WebPagePrivate::*m_isActive;
- };
-
- Vector<OwnPtr<DeferredTaskBase> > m_deferredTasks;
- WebCore::Timer<WebPagePrivate> m_deferredTasksTimer;
-
- // The popup that opened in this webpage
- RefPtr<PagePopup> m_pagePopup;
-
- RefPtr<WebCore::AutofillManager> m_autofillManager;
-
- bool m_documentStyleRecalcPostponed;
- bool m_documentChildNeedsStyleRecalc;
-
- WebCore::IntPoint m_cachedHitTestContentPos;
- WebCore::HitTestResult m_cachedHitTestResult;
-
- typedef HashMap<RefPtr<WebCore::Document>, ListHashSet<RefPtr<WebCore::Node> > > CachedRectHitTestResults;
- CachedRectHitTestResults m_cachedRectHitTestResults;
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- NotificationManager m_notificationManager;
-#endif
-
- bool m_didStartAnimations;
- double m_animationStartTime;
-
-#if ENABLE(REQUEST_ANIMATION_FRAME) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
- Mutex m_animationMutex;
- bool m_isRunningRefreshAnimationClient;
- bool m_animationScheduled;
- bool m_previousFrameDone;
- double m_monotonicAnimationStartTime;
-#endif
-
-protected:
- virtual ~WebPagePrivate();
-};
-}
-}
-
-#endif // WebPage_p_h
diff --git a/Source/WebKit/blackberry/Api/WebSettings.cpp b/Source/WebKit/blackberry/Api/WebSettings.cpp
deleted file mode 100644
index e40c29ca3..000000000
--- a/Source/WebKit/blackberry/Api/WebSettings.cpp
+++ /dev/null
@@ -1,859 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "WebSettings.h"
-
-#include "MIMETypeRegistry.h"
-#include "WebSettings_p.h"
-
-#include <BlackBerryPlatformDeviceInfo.h>
-#include <BlackBerryPlatformFontInfo.h>
-#include <BlackBerryPlatformScreen.h>
-#include <BlackBerryPlatformString.h>
-#include <Color.h>
-#include <FloatSize.h>
-#include <PageCache.h>
-#include <ViewportArguments.h>
-#include <wtf/HashSet.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-DEFINE_STATIC_LOCAL(String, BlackBerryAllowCrossSiteRequests, (ASCIILiteral("BlackBerryAllowCrossSiteRequests")));
-DEFINE_STATIC_LOCAL(String, BlackBerryApplyDeviceScaleFactorInCompositor, (ASCIILiteral("BlackBerryApplyDeviceScaleFactorInCompositor")));
-DEFINE_STATIC_LOCAL(String, BlackBerryAsynchronousSpellChecking, (ASCIILiteral("BlackBerryAsynchronousSpellChecking")));
-DEFINE_STATIC_LOCAL(String, BlackBerryBackgroundColor, (ASCIILiteral("BlackBerryBackgroundColor")));
-DEFINE_STATIC_LOCAL(String, BlackBerryCookiesEnabled, (ASCIILiteral("BlackBerryCookiesEnabled")));
-DEFINE_STATIC_LOCAL(String, BlackBerryDrawBorderWhileLoadingImages, (ASCIILiteral("BlackBerryDrawBorderWhileLoadingImages")));
-DEFINE_STATIC_LOCAL(String, BlackBerryEmailModeEnabled, (ASCIIliteral("BlackBerryEmailModeEnabled")));
-DEFINE_STATIC_LOCAL(String, BlackBerryGetFocusNodeContextEnabled, (ASCIILiteral("BlackBerryGetFocusNodeContextEnabled")));
-DEFINE_STATIC_LOCAL(String, BlackBerryHandlePatternURLs, (ASCIILiteral("BlackBerryHandlePatternURLs")));
-DEFINE_STATIC_LOCAL(String, BlackBerryInitialScale, (ASCIILiteral("BlackBerryInitialScale")));
-DEFINE_STATIC_LOCAL(String, BlackBerryLinksHandledExternallyEnabled, (ASCIILiteral("BlackBerryLinksHandledExternallyEnabled")));
-DEFINE_STATIC_LOCAL(String, BlackBerryMaxPluginInstances, (ASCIILiteral("BlackBerryMaxPluginInstances")));
-DEFINE_STATIC_LOCAL(String, BlackBerryOverScrollColor, (ASCIILiteral("BlackBerryOverScrollColor")));
-DEFINE_STATIC_LOCAL(String, BlackBerryEnableDefaultOverScrollBackground, (ASCIILiteral("BlackBerryEnableDefaultOverScrollBackground")));
-DEFINE_STATIC_LOCAL(String, BlackBerryRenderAnimationsOnScrollOrZoomEnabled, (ASCIILiteral("BlackBerryRenderAnimationsOnScrollOrZoomEnabled")));
-DEFINE_STATIC_LOCAL(String, BlackBerryScrollbarsEnabled, (ASCIILiteral("BlackBerryScrollbarsEnabled")));
-DEFINE_STATIC_LOCAL(String, BlackBerryTextReflowMode, (ASCIILiteral("BlackBerryTextReflowMode")));
-DEFINE_STATIC_LOCAL(String, BlackBerryUseRTLWritingDirection, (ASCIILiteral("BlackBerryUseRTLWritingDirection")));
-DEFINE_STATIC_LOCAL(String, BlackBerryUseWebKitCache, (ASCIILiteral("BlackBerryUseWebKitCache")));
-DEFINE_STATIC_LOCAL(String, BlackBerryUserAgentString, (ASCIILiteral("BlackBerryUserAgentString")));
-DEFINE_STATIC_LOCAL(String, BlackBerryUserScalableEnabled, (ASCIILiteral("BlackBerryUserScalableEnabled")));
-DEFINE_STATIC_LOCAL(String, BlackBerryViewportWidth, (ASCIILiteral("BlackBerryViewportWidth")));
-DEFINE_STATIC_LOCAL(String, BlackBerryZoomToFitOnLoadEnabled, (ASCIILiteral("BlackBerryZoomToFitOnLoadEnabled")));
-DEFINE_STATIC_LOCAL(String, BlackBerryFullScreenVideoCapable, (ASCIILiteral("BlackBerryFullScreenVideoCapable")));
-DEFINE_STATIC_LOCAL(String, BlackBerryCredentialAutofillEnabled, (ASCIILiteral("BlackBerryCredentialAutofillEnabled")));
-DEFINE_STATIC_LOCAL(String, BlackBerryFormAutofillEnabled, (ASCIILiteral("BlackBerryFormAutofillEnabled")));
-DEFINE_STATIC_LOCAL(String, BlackBerryDevicePixelRatio, (ASCIILiteral("BlackBerryDevicePixelRatio")));
-DEFINE_STATIC_LOCAL(String, BlackBerryBackingStoreEnabled, (ASCIILiteral("BlackBerryBackingStoreEnabled")));
-DEFINE_STATIC_LOCAL(String, SpatialNavigationEnabled, (ASCIILiteral("SpatialNavigationEnabled")));
-DEFINE_STATIC_LOCAL(String, WebKitDatabasePath, (ASCIILiteral("WebKitDatabasePath")));
-DEFINE_STATIC_LOCAL(String, WebKitDatabasesEnabled, (ASCIILiteral("WebKitDatabasesEnabled")));
-DEFINE_STATIC_LOCAL(String, WebKitDefaultFixedFontSize, (ASCIILiteral("WebKitDefaultFixedFontSize")));
-DEFINE_STATIC_LOCAL(String, WebKitDefaultFontSize, (ASCIILiteral("WebKitDefaultFontSize")));
-DEFINE_STATIC_LOCAL(String, WebKitDefaultTextEncodingName, (ASCIILiteral("WebKitDefaultTextEncodingName")));
-DEFINE_STATIC_LOCAL(String, WebKitDownloadableBinaryFontsEnabled, (ASCIILiteral("WebKitDownloadableBinaryFontsEnabled")));
-DEFINE_STATIC_LOCAL(String, WebKitFirstScheduledLayoutDelay, (ASCIILiteral("WebKitFirstScheduledLayoutDelay")));
-DEFINE_STATIC_LOCAL(String, WebKitFixedFontFamily, (ASCIILiteral("WebKitFixedFontFamily")));
-DEFINE_STATIC_LOCAL(String, WebKitFrameFlatteningEnabled, (ASCIILiteral("WebKitFrameFlatteningEnabled")));
-DEFINE_STATIC_LOCAL(String, WebKitGeolocationEnabled, (ASCIILiteral("WebKitGeolocationEnabled")));
-DEFINE_STATIC_LOCAL(String, WebKitIndexedDataBasePath, (ASCIILiteral("WebKitIndexedDataBasePath")));
-DEFINE_STATIC_LOCAL(String, WebKitJavaScriptCanOpenWindowsAutomaticallyEnabled, (ASCIILiteral("WebKitJavaScriptCanOpenWindowsAutomaticallyEnabled")));
-DEFINE_STATIC_LOCAL(String, WebKitJavaScriptEnabled, (ASCIILiteral("WebKitJavaScriptEnabled")));
-DEFINE_STATIC_LOCAL(String, WebKitLoadsImagesAutomatically, (ASCIILiteral("WebKitLoadsImagesAutomatically")));
-DEFINE_STATIC_LOCAL(String, WebKitLocalStorageEnabled, (ASCIILiteral("WebKitLocalStorageEnabled")));
-DEFINE_STATIC_LOCAL(String, WebKitLocalStoragePath, (ASCIILiteral("WebKitLocalStoragePath")));
-DEFINE_STATIC_LOCAL(String, WebKitLocalStorageQuota, (ASCIILiteral("WebKitLocalStorageQuota")));
-DEFINE_STATIC_LOCAL(String, WebKitSessionStorageQuota, (ASCIILiteral("WebKitSessionStorageQuota")));
-DEFINE_STATIC_LOCAL(String, WebKitMaximumPagesInCache, (ASCIILiteral("WebKitMaximumPagesInCache")));
-DEFINE_STATIC_LOCAL(String, WebKitMinimumFontSize, (ASCIILiteral("WebKitMinimumFontSize")));
-DEFINE_STATIC_LOCAL(String, WebKitOfflineWebApplicationCacheEnabled, (ASCIILiteral("WebKitOfflineWebApplicationCacheEnabled")));
-DEFINE_STATIC_LOCAL(String, WebKitOfflineWebApplicationCachePath, (ASCIILiteral("WebKitOfflineWebApplicationCachePath")));
-DEFINE_STATIC_LOCAL(String, WebKitPageGroupName, (ASCIILiteral("WebKitPageGroupName")));
-DEFINE_STATIC_LOCAL(String, WebKitPluginsEnabled, (ASCIILiteral("WebKitPluginsEnabled")));
-DEFINE_STATIC_LOCAL(String, WebKitPrivateBrowsingEnabled, (ASCIILiteral("WebKitPrivateBrowsingEnabled")));
-DEFINE_STATIC_LOCAL(String, WebKitDeviceSupportsMouse, (ASCIILiteral("WebKitDeviceSupportsMouse")));
-DEFINE_STATIC_LOCAL(String, WebKitSansSeriffFontFamily, (ASCIILiteral("WebKitSansSeriffFontFamily")));
-DEFINE_STATIC_LOCAL(String, WebKitSeriffFontFamily, (ASCIILiteral("WebKitSeriffFontFamily")));
-DEFINE_STATIC_LOCAL(String, WebKitStandardFontFamily, (ASCIILiteral("WebKitStandardFontFamily")));
-DEFINE_STATIC_LOCAL(String, WebKitUserStyleSheetLocation, (ASCIILiteral("WebKitUserStyleSheetLocation")));
-DEFINE_STATIC_LOCAL(String, WebKitWebSocketsEnabled, (ASCIILiteral("WebKitWebSocketsEnabled")));
-DEFINE_STATIC_LOCAL(String, WebKitXSSAuditorEnabled, (ASCIILiteral("WebKitXSSAuditorEnabled")));
-DEFINE_STATIC_LOCAL(String, WebKitTextAutosizingEnabled, (ASCIILiteral("WebKitTextAutosizingEnabled")));
-
-static HashSet<String>* s_supportedObjectMIMETypes;
-
-WebSettingsPrivate::WebSettingsPrivate()
- : impl(0)
- , delegate(0)
- , sender(0)
- , copyOnWrite(true)
-{
-}
-
-WebSettings::WebSettings()
-{
- m_private = new WebSettingsPrivate();
-}
-
-WebSettings::WebSettings(const WebSettings& otherSettings)
-{
- m_private->impl = otherSettings.m_private->impl;
-}
-
-WebSettings::~WebSettings()
-{
- if (!m_private->copyOnWrite) {
- delete m_private->impl;
- m_private->impl = 0;
- }
- delete m_private;
- m_private = 0;
-}
-
-void WebSettings::setDelegate(WebSettingsDelegate* delegate)
-{
- m_private->delegate = delegate;
- m_private->sender = this;
-}
-
-WebSettingsDelegate* WebSettings::delegate()
-{
- return m_private->delegate;
-}
-
-WebSettings* WebSettings::createFromStandardSettings(WebSettingsDelegate* delegate)
-{
- WebSettings* settings = new WebSettings();
- settings->m_private->impl = standardSettings()->m_private->impl;
- settings->m_private->delegate = delegate;
- settings->m_private->sender = settings;
- if (delegate)
- delegate->didChangeSettings(settings);
-
- return settings;
-}
-
-WebSettings* WebSettings::standardSettings()
-{
- static WebSettings *settings = 0;
- if (settings)
- return settings;
-
- settings = new WebSettings;
- settings->m_private->impl = new WebSettingsPrivate::WebSettingsPrivateImpl();
- settings->m_private->copyOnWrite = false;
- settings->m_private->setBoolean(BlackBerryAllowCrossSiteRequests, false);
- settings->m_private->setUnsigned(BlackBerryBackgroundColor, WebCore::Color::white);
- settings->m_private->setBoolean(BlackBerryCookiesEnabled, true);
- settings->m_private->setBoolean(BlackBerryBackingStoreEnabled, true);
- settings->m_private->setDouble(BlackBerryInitialScale, -1);
- settings->m_private->setUnsigned(BlackBerryMaxPluginInstances, 1);
- settings->m_private->setUnsigned(BlackBerryOverScrollColor, WebCore::Color::white);
- settings->m_private->setBoolean(BlackBerryEnableDefaultOverScrollBackground, true);
- settings->m_private->setBoolean(BlackBerryScrollbarsEnabled, true);
-
- // FIXME: We should detect whether we are embedded in a browser or an email client and default to TextReflowEnabledOnlyForBlockZoom and TextReflowEnabled, respectively.
- settings->m_private->setTextReflowMode(BlackBerryTextReflowMode, TextReflowDisabled);
-
- settings->m_private->setBoolean(BlackBerryUseWebKitCache, true);
- settings->m_private->setBoolean(BlackBerryUserScalableEnabled, true);
- settings->m_private->setBoolean(BlackBerryZoomToFitOnLoadEnabled, true);
- settings->m_private->setBoolean(BlackBerryFullScreenVideoCapable, false);
- settings->m_private->setBoolean(BlackBerryCredentialAutofillEnabled, false);
- settings->m_private->setBoolean(BlackBerryFormAutofillEnabled, false);
- settings->m_private->setBoolean(BlackBerryAsynchronousSpellChecking, true);
- settings->m_private->setBoolean(BlackBerryApplyDeviceScaleFactorInCompositor, false);
-
- if (BlackBerry::Platform::DeviceInfo::instance()->isMobile()) {
- WebCore::FloatSize currentPPI = Platform::Graphics::Screen::primaryScreen()->pixelsPerInch(-1);
- int deviceDPI = int(roundf((currentPPI.width() + currentPPI.height()) / 2));
- settings->m_private->setDouble(BlackBerryDevicePixelRatio, deviceDPI / WebCore::ViewportArguments::deprecatedTargetDPI);
- } else
- settings->m_private->setDouble(BlackBerryDevicePixelRatio, 1);
-
- settings->m_private->setInteger(WebKitDefaultFontSize, 16);
- settings->m_private->setInteger(WebKitDefaultFixedFontSize, 13);
- settings->m_private->setString(WebKitDefaultTextEncodingName, "iso-8859-1");
- settings->m_private->setBoolean(WebKitDownloadableBinaryFontsEnabled, true);
- settings->m_private->setInteger(WebKitFirstScheduledLayoutDelay, 250); // Match Document::cLayoutScheduleThreshold.
- settings->m_private->setBoolean(WebKitJavaScriptEnabled, true);
- settings->m_private->setBoolean(WebKitLoadsImagesAutomatically, true);
- settings->m_private->setUnsignedLongLong(WebKitLocalStorageQuota, 5 * 1024 * 1024);
- settings->m_private->setUnsignedLongLong(WebKitSessionStorageQuota, 5 * 1024 * 1024);
- settings->m_private->setInteger(WebKitMaximumPagesInCache, 0);
- settings->m_private->setInteger(WebKitMinimumFontSize, 8);
- settings->m_private->setBoolean(WebKitWebSocketsEnabled, true);
- settings->m_private->setBoolean(WebKitTextAutosizingEnabled, false);
-
- settings->m_private->setString(WebKitFixedFontFamily, BlackBerry::Platform::FontInfo::instance()->fontFamily(BlackBerry::Platform::String::fromAscii("-webkit-monospace"), BlackBerry::Platform::String::emptyString()));
- settings->m_private->setString(WebKitSansSeriffFontFamily, BlackBerry::Platform::FontInfo::instance()->fontFamily(BlackBerry::Platform::String::fromAscii("-webkit-sans-serif"), BlackBerry::Platform::String::emptyString()));
- settings->m_private->setString(WebKitSeriffFontFamily, BlackBerry::Platform::FontInfo::instance()->fontFamily(BlackBerry::Platform::String::fromAscii("-webkit-serif"), BlackBerry::Platform::String::emptyString()));
- settings->m_private->setString(WebKitStandardFontFamily, BlackBerry::Platform::FontInfo::instance()->fontFamily(BlackBerry::Platform::String::fromAscii("-webkit-standard"), BlackBerry::Platform::String::emptyString()));
-
- return settings;
-}
-
-void WebSettings::addSupportedObjectPluginMIMEType(const BlackBerry::Platform::String& type)
-{
- if (!s_supportedObjectMIMETypes)
- s_supportedObjectMIMETypes = new HashSet<String>;
-
- s_supportedObjectMIMETypes->add(type);
-}
-
-bool WebSettings::isSupportedObjectMIMEType(const BlackBerry::Platform::String& mimeType)
-{
- if (mimeType.empty())
- return false;
-
- if (!s_supportedObjectMIMETypes)
- return false;
-
- return s_supportedObjectMIMETypes->contains(MIMETypeRegistry::getNormalizedMIMEType(mimeType));
-}
-
-bool WebSettings::xssAuditorEnabled() const
-{
- return m_private->getBoolean(WebKitXSSAuditorEnabled);
-}
-
-void WebSettings::setXSSAuditorEnabled(bool enabled)
-{
- return m_private->setBoolean(WebKitXSSAuditorEnabled, enabled);
-}
-
-bool WebSettings::loadsImagesAutomatically() const
-{
- return m_private->getBoolean(WebKitLoadsImagesAutomatically);
-}
-
-void WebSettings::setLoadsImagesAutomatically(bool enabled)
-{
- m_private->setBoolean(WebKitLoadsImagesAutomatically, enabled);
-}
-
-bool WebSettings::downloadableBinaryFontsEnabled() const
-{
- return m_private->getBoolean(WebKitDownloadableBinaryFontsEnabled);
-}
-
-void WebSettings::setDownloadableBinaryFontsEnabled(bool enabled)
-{
- return m_private->setBoolean(WebKitDownloadableBinaryFontsEnabled, enabled);
-}
-
-bool WebSettings::shouldDrawBorderWhileLoadingImages() const
-{
- return m_private->getBoolean(BlackBerryDrawBorderWhileLoadingImages);
-}
-
-void WebSettings::setShouldDrawBorderWhileLoadingImages(bool enabled)
-{
- m_private->setBoolean(BlackBerryDrawBorderWhileLoadingImages, enabled);
-}
-
-bool WebSettings::isJavaScriptEnabled() const
-{
- return m_private->getBoolean(WebKitJavaScriptEnabled);
-}
-
-void WebSettings::setJavaScriptEnabled(bool enabled)
-{
- m_private->setBoolean(WebKitJavaScriptEnabled, enabled);
-}
-
-bool WebSettings::isPrivateBrowsingEnabled() const
-{
- return m_private->getBoolean(WebKitPrivateBrowsingEnabled);
-}
-
-void WebSettings::setPrivateBrowsingEnabled(bool enabled)
-{
- m_private->setBoolean(WebKitPrivateBrowsingEnabled, enabled);
-}
-
-bool WebSettings::deviceSupportsMouse() const
-{
- return m_private->getBoolean(WebKitDeviceSupportsMouse);
-}
-
-void WebSettings::setDeviceSupportsMouse(bool enabled)
-{
- m_private->setBoolean(WebKitDeviceSupportsMouse, enabled);
-}
-
-int WebSettings::defaultFixedFontSize() const
-{
- return m_private->getInteger(WebKitDefaultFixedFontSize);
-}
-
-void WebSettings::setDefaultFixedFontSize(int defaultFixedFontSize)
-{
- m_private->setInteger(WebKitDefaultFixedFontSize, defaultFixedFontSize);
-}
-
-int WebSettings::defaultFontSize() const
-{
- return m_private->getInteger(WebKitDefaultFontSize);
-}
-
-void WebSettings::setDefaultFontSize(int defaultFontSize)
-{
- m_private->setInteger(WebKitDefaultFontSize, defaultFontSize);
-}
-
-int WebSettings::minimumFontSize() const
-{
- return m_private->getInteger(WebKitMinimumFontSize);
-}
-
-void WebSettings::setMinimumFontSize(int minimumFontSize)
-{
- m_private->setInteger(WebKitMinimumFontSize, minimumFontSize);
-}
-
-BlackBerry::Platform::String WebSettings::serifFontFamily() const
-{
- return m_private->getString(WebKitSeriffFontFamily);
-}
-
-void WebSettings::setSerifFontFamily(const BlackBerry::Platform::String& seriffFontFamily)
-{
- m_private->setString(WebKitSeriffFontFamily, seriffFontFamily);
-}
-
-BlackBerry::Platform::String WebSettings::fixedFontFamily() const
-{
- return m_private->getString(WebKitFixedFontFamily);
-}
-
-void WebSettings::setFixedFontFamily(const BlackBerry::Platform::String& fixedFontFamily)
-{
- m_private->setString(WebKitFixedFontFamily, fixedFontFamily);
-}
-
-BlackBerry::Platform::String WebSettings::sansSerifFontFamily() const
-{
- return m_private->getString(WebKitSansSeriffFontFamily);
-}
-
-void WebSettings::setSansSerifFontFamily(const BlackBerry::Platform::String& sansSeriffFontFamily)
-{
- m_private->setString(WebKitSansSeriffFontFamily, sansSeriffFontFamily);
-}
-
-BlackBerry::Platform::String WebSettings::standardFontFamily() const
-{
- return m_private->getString(WebKitStandardFontFamily);
-}
-
-void WebSettings::setStandardFontFamily(const BlackBerry::Platform::String& standardFontFamily)
-{
- m_private->setString(WebKitStandardFontFamily, standardFontFamily);
-}
-
-BlackBerry::Platform::String WebSettings::userAgentString() const
-{
- return m_private->getString(BlackBerryUserAgentString);
-}
-
-void WebSettings::setUserAgentString(const BlackBerry::Platform::String& userAgentString)
-{
- m_private->setString(BlackBerryUserAgentString, userAgentString);
-}
-
-BlackBerry::Platform::String WebSettings::defaultTextEncodingName() const
-{
- return m_private->getString(WebKitDefaultTextEncodingName);
-}
-
-void WebSettings::setDefaultTextEncodingName(const BlackBerry::Platform::String& defaultTextEncodingName)
-{
- m_private->setString(WebKitDefaultTextEncodingName, defaultTextEncodingName);
-}
-
-bool WebSettings::isZoomToFitOnLoad() const
-{
- return m_private->getBoolean(BlackBerryZoomToFitOnLoadEnabled);
-}
-
-void WebSettings::setZoomToFitOnLoad(bool enabled)
-{
- m_private->setBoolean(BlackBerryZoomToFitOnLoadEnabled, enabled);
-}
-
-WebSettings::TextReflowMode WebSettings::textReflowMode() const
-{
- return m_private->getTextReflowMode(BlackBerryTextReflowMode);
-}
-
-void WebSettings::setTextReflowMode(TextReflowMode textReflowMode)
-{
- m_private->setTextReflowMode(BlackBerryTextReflowMode, textReflowMode);
-}
-
-bool WebSettings::isScrollbarsEnabled() const
-{
- return m_private->getBoolean(BlackBerryScrollbarsEnabled);
-}
-
-void WebSettings::setScrollbarsEnabled(bool enabled)
-{
- m_private->setBoolean(BlackBerryScrollbarsEnabled, enabled);
-}
-
-bool WebSettings::canJavaScriptOpenWindowsAutomatically() const
-{
- return m_private->getBoolean(WebKitJavaScriptCanOpenWindowsAutomaticallyEnabled);
-}
-
-void WebSettings::setJavaScriptOpenWindowsAutomatically(bool enabled)
-{
- m_private->setBoolean(WebKitJavaScriptCanOpenWindowsAutomaticallyEnabled, enabled);
-}
-
-bool WebSettings::arePluginsEnabled() const
-{
- return m_private->getBoolean(WebKitPluginsEnabled);
-}
-
-void WebSettings::setPluginsEnabled(bool enabled)
-{
- m_private->setBoolean(WebKitPluginsEnabled, enabled);
-}
-
-bool WebSettings::isGeolocationEnabled() const
-{
- return m_private->getBoolean(WebKitGeolocationEnabled);
-}
-
-void WebSettings::setGeolocationEnabled(bool enabled)
-{
- m_private->setBoolean(WebKitGeolocationEnabled, enabled);
-}
-
-bool WebSettings::doesGetFocusNodeContext() const
-{
- return m_private->getBoolean(BlackBerryGetFocusNodeContextEnabled);
-}
-
-void WebSettings::setGetFocusNodeContext(bool enabled)
-{
- m_private->setBoolean(BlackBerryGetFocusNodeContextEnabled, enabled);
-}
-
-BlackBerry::Platform::String WebSettings::userStyleSheetLocation()
-{
- return m_private->getString(WebKitUserStyleSheetLocation);
-}
-
-void WebSettings::setUserStyleSheetLocation(const BlackBerry::Platform::String& userStyleSheetLocation)
-{
- m_private->setString(WebKitUserStyleSheetLocation, userStyleSheetLocation);
-}
-
-bool WebSettings::areLinksHandledExternally() const
-{
- return m_private->getBoolean(BlackBerryLinksHandledExternallyEnabled);
-}
-
-void WebSettings::setAreLinksHandledExternally(bool enabled)
-{
- m_private->setBoolean(BlackBerryLinksHandledExternallyEnabled, enabled);
-}
-
-void WebSettings::setAllowCrossSiteRequests(bool allow)
-{
- m_private->setBoolean(BlackBerryAllowCrossSiteRequests, allow);
-}
-
-bool WebSettings::allowCrossSiteRequests() const
-{
- return m_private->getBoolean(BlackBerryAllowCrossSiteRequests);
-}
-
-bool WebSettings::isUserScalable() const
-{
- return m_private->getBoolean(BlackBerryUserScalableEnabled);
-}
-
-void WebSettings::setUserScalable(bool enabled)
-{
- m_private->setBoolean(BlackBerryUserScalableEnabled, enabled);
-}
-
-int WebSettings::viewportWidth() const
-{
- return m_private->getInteger(BlackBerryViewportWidth);
-}
-
-void WebSettings::setViewportWidth(int width)
-{
- m_private->setInteger(BlackBerryViewportWidth, width);
-}
-
-double WebSettings::initialScale() const
-{
- return m_private->getDouble(BlackBerryInitialScale);
-}
-
-void WebSettings::setInitialScale(double initialScale)
-{
- m_private->setDouble(BlackBerryInitialScale, initialScale);
-}
-
-int WebSettings::firstScheduledLayoutDelay() const
-{
- return m_private->getInteger(WebKitFirstScheduledLayoutDelay);
-}
-
-void WebSettings::setFirstScheduledLayoutDelay(int delay)
-{
- m_private->setInteger(WebKitFirstScheduledLayoutDelay, delay);
-}
-
-// Whether to include pattern: in the list of string patterns.
-bool WebSettings::shouldHandlePatternUrls() const
-{
- return m_private->getBoolean(BlackBerryHandlePatternURLs);
-}
-
-void WebSettings::setShouldHandlePatternUrls(bool handlePatternURLs)
-{
- m_private->setBoolean(BlackBerryHandlePatternURLs, handlePatternURLs);
-}
-
-bool WebSettings::areCookiesEnabled() const
-{
- return m_private->getBoolean(BlackBerryCookiesEnabled);
-}
-
-void WebSettings::setAreCookiesEnabled(bool enable)
-{
- m_private->setBoolean(BlackBerryCookiesEnabled, enable);
-}
-
-bool WebSettings::isLocalStorageEnabled() const
-{
- return m_private->getBoolean(WebKitLocalStorageEnabled);
-}
-
-void WebSettings::setIsLocalStorageEnabled(bool enable)
-{
- m_private->setBoolean(WebKitLocalStorageEnabled, enable);
-}
-
-bool WebSettings::isDatabasesEnabled() const
-{
- return m_private->getBoolean(WebKitDatabasesEnabled);
-}
-
-void WebSettings::setIsDatabasesEnabled(bool enable)
-{
- m_private->setBoolean(WebKitDatabasesEnabled, enable);
-}
-
-bool WebSettings::isAppCacheEnabled() const
-{
- return m_private->getBoolean(WebKitOfflineWebApplicationCacheEnabled);
-}
-
-void WebSettings::setIsAppCacheEnabled(bool enable)
-{
- m_private->setBoolean(WebKitOfflineWebApplicationCacheEnabled, enable);
-}
-
-unsigned long long WebSettings::localStorageQuota() const
-{
- return m_private->getUnsignedLongLong(WebKitLocalStorageQuota);
-}
-
-void WebSettings::setLocalStorageQuota(unsigned long long quota)
-{
- m_private->setUnsignedLongLong(WebKitLocalStorageQuota, quota);
-}
-
-unsigned long long WebSettings::sessionStorageQuota() const
-{
- return m_private->getUnsignedLongLong(WebKitSessionStorageQuota);
-}
-
-void WebSettings::setSessionStorageQuota(unsigned long long quota)
-{
- m_private->setUnsignedLongLong(WebKitSessionStorageQuota, quota);
-}
-
-int WebSettings::maximumPagesInCache() const
-{
- // FIXME: We shouldn't be calling into WebCore from here. This class should just be a state store.
- return WebCore::pageCache()->capacity();
-}
-
-void WebSettings::setMaximumPagesInCache(int pages)
-{
- // FIXME: We shouldn't be calling into WebCore from here. This class should just be a state store.
- unsigned realPages = std::max(0, pages);
- WebCore::pageCache()->setCapacity(realPages);
- m_private->setUnsigned(WebKitMaximumPagesInCache, realPages);
-}
-
-BlackBerry::Platform::String WebSettings::localStoragePath() const
-{
- return m_private->getString(WebKitLocalStoragePath);
-}
-
-void WebSettings::setLocalStoragePath(const BlackBerry::Platform::String& path)
-{
- m_private->setString(WebKitLocalStoragePath, path);
-}
-
-BlackBerry::Platform::String WebSettings::indexedDataBasePath() const
-{
- return m_private->getString(WebKitIndexedDataBasePath);
-}
-
-void WebSettings::setIndexedDataBasePath(const BlackBerry::Platform::String& path)
-{
- m_private->setString(WebKitIndexedDataBasePath, path);
-}
-
-BlackBerry::Platform::String WebSettings::databasePath() const
-{
- return m_private->getString(WebKitDatabasePath);
-}
-
-void WebSettings::setDatabasePath(const BlackBerry::Platform::String& path)
-{
- m_private->setString(WebKitDatabasePath, path);
-}
-
-BlackBerry::Platform::String WebSettings::appCachePath() const
-{
- return m_private->getString(WebKitOfflineWebApplicationCachePath);
-}
-
-void WebSettings::setAppCachePath(const BlackBerry::Platform::String& path)
-{
- m_private->setString(WebKitOfflineWebApplicationCachePath, path);
-}
-
-BlackBerry::Platform::String WebSettings::pageGroupName() const
-{
- return m_private->getString(WebKitPageGroupName);
-}
-
-void WebSettings::setPageGroupName(const BlackBerry::Platform::String& pageGroupName)
-{
- m_private->setString(WebKitPageGroupName, pageGroupName);
-}
-
-bool WebSettings::isEmailMode() const
-{
- return m_private->getBoolean(BlackBerryEmailModeEnabled);
-}
-
-void WebSettings::setEmailMode(bool enable)
-{
- m_private->setBoolean(BlackBerryEmailModeEnabled, enable);
-}
-
-bool WebSettings::shouldRenderAnimationsOnScrollOrZoom() const
-{
- return m_private->getBoolean(BlackBerryRenderAnimationsOnScrollOrZoomEnabled);
-}
-
-void WebSettings::setShouldRenderAnimationsOnScrollOrZoom(bool enable)
-{
- m_private->setBoolean(BlackBerryRenderAnimationsOnScrollOrZoomEnabled, enable);
-}
-
-unsigned WebSettings::overScrollColor() const
-{
- return m_private->getUnsigned(BlackBerryOverScrollColor);
-}
-
-void WebSettings::setOverScrollColor(unsigned color)
-{
- m_private->setUnsigned(BlackBerryOverScrollColor, color);
-}
-
-bool WebSettings::isEnableDefaultOverScrollBackground() const
-{
- return m_private->getBoolean(BlackBerryEnableDefaultOverScrollBackground);
-}
-
-void WebSettings::setEnableDefaultOverScrollBackground(bool enabled)
-{
- m_private->setBoolean(BlackBerryEnableDefaultOverScrollBackground, enabled);
-}
-
-unsigned WebSettings::backgroundColor() const
-{
- return m_private->getUnsigned(BlackBerryBackgroundColor);
-}
-
-void WebSettings::setBackgroundColor(unsigned color)
-{
- m_private->setUnsigned(BlackBerryBackgroundColor, color);
-}
-
-bool WebSettings::isWritingDirectionRTL() const
-{
- return m_private->getBoolean(BlackBerryUseRTLWritingDirection);
-}
-
-void WebSettings::setWritingDirectionRTL(bool useRTLWritingDirection)
-{
- m_private->setBoolean(BlackBerryUseRTLWritingDirection, useRTLWritingDirection);
-}
-
-bool WebSettings::useWebKitCache() const
-{
- return m_private->getBoolean(BlackBerryUseWebKitCache);
-}
-
-void WebSettings::setUseWebKitCache(bool useWebKitCache)
-{
- m_private->setBoolean(BlackBerryUseWebKitCache, useWebKitCache);
-}
-
-bool WebSettings::isFrameFlatteningEnabled() const
-{
- return m_private->getBoolean(WebKitFrameFlatteningEnabled);
-}
-
-void WebSettings::setFrameFlatteningEnabled(bool enable)
-{
- m_private->setBoolean(WebKitFrameFlatteningEnabled, enable);
-}
-
-bool WebSettings::isBackingStoreEnabled() const
-{
- return m_private->getBoolean(BlackBerryBackingStoreEnabled);
-}
-
-void WebSettings::setBackingStoreEnabled(bool enable)
-{
- m_private->setBoolean(BlackBerryBackingStoreEnabled, enable);
-}
-
-unsigned WebSettings::maxPluginInstances() const
-{
- return m_private->getUnsigned(BlackBerryMaxPluginInstances);
-}
-
-void WebSettings::setMaxPluginInstances(unsigned maxPluginInstances)
-{
- m_private->setUnsigned(BlackBerryMaxPluginInstances, maxPluginInstances);
-}
-
-bool WebSettings::areWebSocketsEnabled() const
-{
- return m_private->getBoolean(WebKitWebSocketsEnabled);
-}
-
-void WebSettings::setWebSocketsEnabled(bool enable)
-{
- m_private->setBoolean(WebKitWebSocketsEnabled, enable);
-}
-
-bool WebSettings::isSpatialNavigationEnabled() const
-{
- return m_private->getBoolean(SpatialNavigationEnabled);
-}
-
-void WebSettings::setSpatialNavigationEnabled(bool enable)
-{
- m_private->setBoolean(SpatialNavigationEnabled, enable);
-}
-
-bool WebSettings::isAsynchronousSpellCheckingEnabled() const
-{
- return m_private->getBoolean(BlackBerryAsynchronousSpellChecking);
-}
-
-void WebSettings::setAsynchronousSpellCheckingEnabled(bool enable) const
-{
- return m_private->setBoolean(BlackBerryAsynchronousSpellChecking, enable);
-}
-
-bool WebSettings::fullScreenVideoCapable() const
-{
- return m_private->getBoolean(BlackBerryFullScreenVideoCapable);
-}
-
-void WebSettings::setFullScreenVideoCapable(bool enable)
-{
- m_private->setBoolean(BlackBerryFullScreenVideoCapable, enable);
-}
-
-bool WebSettings::isCredentialAutofillEnabled() const
-{
- return m_private->getBoolean(BlackBerryCredentialAutofillEnabled);
-}
-
-void WebSettings::setCredentialAutofillEnabled(bool enable)
-{
- return m_private->setBoolean(BlackBerryCredentialAutofillEnabled, enable);
-}
-
-bool WebSettings::isFormAutofillEnabled() const
-{
- return m_private->getBoolean(BlackBerryFormAutofillEnabled);
-}
-
-void WebSettings::setFormAutofillEnabled(bool enable)
-{
- return m_private->setBoolean(BlackBerryFormAutofillEnabled, enable);
-}
-
-double WebSettings::devicePixelRatio() const
-{
- return m_private->getDouble(BlackBerryDevicePixelRatio);
-}
-
-void WebSettings::setDevicePixelRatio(double ratio)
-{
- m_private->setDouble(BlackBerryDevicePixelRatio, ratio);
-}
-
-bool WebSettings::applyDeviceScaleFactorInCompositor() const
-{
- return m_private->getBoolean(BlackBerryApplyDeviceScaleFactorInCompositor);
-}
-
-void WebSettings::setApplyDeviceScaleFactorInCompositor(bool applyDeviceScaleFactorInCompositor)
-{
- m_private->setBoolean(BlackBerryApplyDeviceScaleFactorInCompositor, applyDeviceScaleFactorInCompositor);
-}
-
-bool WebSettings::isTextAutosizingEnabled() const
-{
- return m_private->getBoolean(WebKitTextAutosizingEnabled);
-}
-
-void WebSettings::setTextAutosizingEnabled(bool textAutosizingEnabled)
-{
- m_private->setBoolean(WebKitTextAutosizingEnabled, textAutosizingEnabled);
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
diff --git a/Source/WebKit/blackberry/Api/WebSettings.h b/Source/WebKit/blackberry/Api/WebSettings.h
deleted file mode 100644
index 651743a3a..000000000
--- a/Source/WebKit/blackberry/Api/WebSettings.h
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 WebSettings_h
-#define WebSettings_h
-
-#include "BlackBerryGlobal.h"
-#include "BlackBerryPlatformMisc.h"
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebSettings;
-class WebSettingsPrivate;
-
-/*!
- @struct WebSettingsDelegate
- Defines the methods that must be implemented by a delegate of WebSettings.
-*/
-struct BLACKBERRY_EXPORT WebSettingsDelegate {
- virtual ~WebSettingsDelegate() { }
-
- /*!
- Sent when the value of a setting changed as well as on instantiation of a WebSettings object.
- @param settings The WebSettings object that sent the message.
- */
- virtual void didChangeSettings(WebSettings*) = 0;
-};
-
-/*!
- @class WebSettings
-*/
-class BLACKBERRY_EXPORT WebSettings {
-public:
- static WebSettings* createFromStandardSettings(WebSettingsDelegate* = 0);
- ~WebSettings();
-
- static WebSettings* standardSettings();
-
- void setDelegate(WebSettingsDelegate*);
- WebSettingsDelegate* delegate();
-
- static void addSupportedObjectPluginMIMEType(const BlackBerry::Platform::String&);
- static bool isSupportedObjectMIMEType(const BlackBerry::Platform::String&);
-
- bool xssAuditorEnabled() const;
- void setXSSAuditorEnabled(bool);
-
- bool loadsImagesAutomatically() const;
- void setLoadsImagesAutomatically(bool);
-
- bool shouldDrawBorderWhileLoadingImages() const;
- void setShouldDrawBorderWhileLoadingImages(bool);
-
- bool isJavaScriptEnabled() const;
- void setJavaScriptEnabled(bool);
-
- bool isPrivateBrowsingEnabled() const;
- void setPrivateBrowsingEnabled(bool);
-
- void setDeviceSupportsMouse(bool);
- bool deviceSupportsMouse() const;
-
- int defaultFixedFontSize() const;
- void setDefaultFixedFontSize(int);
-
- int defaultFontSize() const;
- void setDefaultFontSize(int);
-
- int minimumFontSize() const;
- void setMinimumFontSize(int);
-
- BlackBerry::Platform::String serifFontFamily() const;
- void setSerifFontFamily(const BlackBerry::Platform::String&);
- BlackBerry::Platform::String fixedFontFamily() const;
- void setFixedFontFamily(const BlackBerry::Platform::String&);
- BlackBerry::Platform::String sansSerifFontFamily() const;
- void setSansSerifFontFamily(const BlackBerry::Platform::String&);
- BlackBerry::Platform::String standardFontFamily() const;
- void setStandardFontFamily(const BlackBerry::Platform::String&);
-
- void setDownloadableBinaryFontsEnabled(bool);
- bool downloadableBinaryFontsEnabled() const;
-
- BlackBerry::Platform::String userAgentString() const;
- void setUserAgentString(const BlackBerry::Platform::String&);
-
- BlackBerry::Platform::String defaultTextEncodingName() const;
- void setDefaultTextEncodingName(const BlackBerry::Platform::String&);
-
- bool isZoomToFitOnLoad() const;
- void setZoomToFitOnLoad(bool);
-
- enum TextReflowMode { TextReflowDisabled, TextReflowEnabled, TextReflowEnabledOnlyForBlockZoom };
- TextReflowMode textReflowMode() const;
- void setTextReflowMode(TextReflowMode);
-
- bool isScrollbarsEnabled() const;
- void setScrollbarsEnabled(bool);
-
- // FIXME: Consider renaming this method upstream, where it is called javaScriptCanOpenWindowsAutomatically.
- bool canJavaScriptOpenWindowsAutomatically() const;
- void setJavaScriptOpenWindowsAutomatically(bool);
-
- bool arePluginsEnabled() const;
- void setPluginsEnabled(bool);
-
- bool isGeolocationEnabled() const;
- void setGeolocationEnabled(bool);
-
- // Context info
- bool doesGetFocusNodeContext() const;
- void setGetFocusNodeContext(bool);
-
- BlackBerry::Platform::String userStyleSheetLocation();
- void setUserStyleSheetLocation(const BlackBerry::Platform::String&);
-
- // External link handlers
- bool areLinksHandledExternally() const;
- void setAreLinksHandledExternally(bool);
-
- // BrowserField2 settings
- void setAllowCrossSiteRequests(bool);
- bool allowCrossSiteRequests() const;
- bool isUserScalable() const;
- void setUserScalable(bool);
- int viewportWidth() const;
- void setViewportWidth(int);
- double initialScale() const;
- void setInitialScale(double);
-
- int firstScheduledLayoutDelay() const;
- void setFirstScheduledLayoutDelay(int);
-
- // Whether to include pattern: in the list of string patterns.
- bool shouldHandlePatternUrls() const;
- void setShouldHandlePatternUrls(bool);
-
- bool areCookiesEnabled() const;
- void setAreCookiesEnabled(bool);
-
- // Web storage settings
- bool isLocalStorageEnabled() const;
- void setIsLocalStorageEnabled(bool);
-
- bool isDatabasesEnabled() const;
- void setIsDatabasesEnabled(bool);
-
- bool isAppCacheEnabled() const;
- void setIsAppCacheEnabled(bool);
-
- unsigned long long localStorageQuota() const;
- void setLocalStorageQuota(unsigned long long);
- unsigned long long sessionStorageQuota() const;
- void setSessionStorageQuota(unsigned long long);
-
- // Page cache
- void setMaximumPagesInCache(int);
- int maximumPagesInCache() const;
-
- BlackBerry::Platform::String localStoragePath() const;
- void setLocalStoragePath(const BlackBerry::Platform::String&);
-
- BlackBerry::Platform::String indexedDataBasePath() const;
- void setIndexedDataBasePath(const BlackBerry::Platform::String&);
-
- BlackBerry::Platform::String databasePath() const;
- void setDatabasePath(const BlackBerry::Platform::String&);
-
- BlackBerry::Platform::String appCachePath() const;
- void setAppCachePath(const BlackBerry::Platform::String&);
-
- BlackBerry::Platform::String pageGroupName() const;
- void setPageGroupName(const BlackBerry::Platform::String&);
-
- // FIXME: We shouldn't have an email mode. Instead, we should expose all email-related settings
- // so that the email client can toggle them directly.
- bool isEmailMode() const;
- void setEmailMode(bool enable);
-
- bool shouldRenderAnimationsOnScrollOrZoom() const;
- void setShouldRenderAnimationsOnScrollOrZoom(bool enable);
-
- unsigned overScrollColor() const;
- void setOverScrollColor(unsigned);
-
- bool isEnableDefaultOverScrollBackground() const;
- void setEnableDefaultOverScrollBackground(bool);
-
- unsigned backgroundColor() const;
- void setBackgroundColor(unsigned);
-
- bool isWritingDirectionRTL() const;
- void setWritingDirectionRTL(bool);
-
- bool useWebKitCache() const;
- void setUseWebKitCache(bool);
-
- bool isFrameFlatteningEnabled() const;
- void setFrameFlatteningEnabled(bool);
-
- unsigned maxPluginInstances() const;
- void setMaxPluginInstances(unsigned num);
-
- bool areWebSocketsEnabled() const;
- void setWebSocketsEnabled(bool);
-
- bool isSpatialNavigationEnabled() const;
- void setSpatialNavigationEnabled(bool);
-
- bool isAsynchronousSpellCheckingEnabled() const;
- void setAsynchronousSpellCheckingEnabled(bool) const;
-
- bool fullScreenVideoCapable() const;
- void setFullScreenVideoCapable(bool);
-
- bool isCredentialAutofillEnabled() const;
- void setCredentialAutofillEnabled(bool);
-
- bool isFormAutofillEnabled() const;
- void setFormAutofillEnabled(bool);
-
- double devicePixelRatio() const;
- void setDevicePixelRatio(double);
-
- bool isBackingStoreEnabled() const;
- void setBackingStoreEnabled(bool);
-
- bool applyDeviceScaleFactorInCompositor() const;
- void setApplyDeviceScaleFactorInCompositor(bool);
-
- bool isTextAutosizingEnabled() const;
- void setTextAutosizingEnabled(bool);
-
-private:
- WebSettingsPrivate* m_private;
- WebSettings();
- DISABLE_COPY(WebSettings);
-};
-
-/*!
- @class WebSettingsTransaction
- Defines a scope guard that suppresses didChangeSettings messages within its scope.
- On destruction the guarded WebSettings object will dispatch exactly one didChangeSettings message.
-*/
-class BLACKBERRY_EXPORT WebSettingsTransaction {
-public:
- WebSettingsTransaction(WebSettings* settings)
- : m_settings(settings)
- , m_savedDelegate(0)
- {
- if (!settings)
- return;
- m_savedDelegate = settings->delegate();
- settings->setDelegate(0);
- }
-
- ~WebSettingsTransaction()
- {
- if (!m_settings || !m_savedDelegate)
- return;
- m_settings->setDelegate(m_savedDelegate);
- m_savedDelegate->didChangeSettings(m_settings);
- }
-
-private:
- WebSettingsTransaction(const WebSettingsTransaction&);
- WebSettingsTransaction& operator=(const WebSettingsTransaction&);
-
- WebSettings* m_settings;
- WebSettingsDelegate* m_savedDelegate;
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // WebSettings_h
diff --git a/Source/WebKit/blackberry/Api/WebSettings_p.h b/Source/WebKit/blackberry/Api/WebSettings_p.h
deleted file mode 100644
index e0c160409..000000000
--- a/Source/WebKit/blackberry/Api/WebSettings_p.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 WebSettings_p_h
-#define WebSettings_p_h
-
-#include "WebSettings.h"
-
-#include <wtf/HashMap.h>
-#include <wtf/text/StringHash.h>
-
-#define synthesizeAccessorsForPrimitiveValuePrefixAndType(prefix, type) \
- void set##prefix(const String& key, type newValue) { \
- ASSERT(impl); \
- if (get##prefix(key) == newValue) \
- return; \
- if (copyOnWrite) { \
- copyOnWrite = false; \
- impl = new WebSettingsPrivateImpl(*impl); \
- } \
- PrimitiveValue primitiveValue; \
- primitiveValue.prefix##Value = newValue; \
- impl->primitiveValues.set(key, primitiveValue); \
- if (delegate) \
- delegate->didChangeSettings(sender); \
- } \
- type get##prefix(const String& key) const { \
- ASSERT(impl); \
- if (!impl->primitiveValues.contains(key)) \
- return static_cast<type>(false); \
- return impl->primitiveValues.get(key).prefix##Value; \
- }
-
-namespace BlackBerry {
-namespace WebKit {
-
-struct WebSettingsPrivate {
- union PrimitiveValue {
- WebSettings::TextReflowMode TextReflowModeValue;
- bool BooleanValue;
- double DoubleValue;
- int IntegerValue;
- unsigned UnsignedValue;
- unsigned long long UnsignedLongLongValue;
- };
-
- struct WebSettingsPrivateImpl {
- HashMap<String, PrimitiveValue> primitiveValues;
- HashMap<String, String> stringValues;
- };
-
- WebSettingsPrivateImpl* impl;
- WebSettingsDelegate* delegate;
- WebSettings* sender;
- bool copyOnWrite;
-
- WebSettingsPrivate();
-
- synthesizeAccessorsForPrimitiveValuePrefixAndType(TextReflowMode, WebSettings::TextReflowMode);
-
- synthesizeAccessorsForPrimitiveValuePrefixAndType(Boolean, bool);
-
- synthesizeAccessorsForPrimitiveValuePrefixAndType(Double, double);
-
- synthesizeAccessorsForPrimitiveValuePrefixAndType(Integer, int);
-
- synthesizeAccessorsForPrimitiveValuePrefixAndType(Unsigned, unsigned);
-
- synthesizeAccessorsForPrimitiveValuePrefixAndType(UnsignedLongLong, unsigned long long);
-
- String getString(const String& key) const
- {
- ASSERT(impl);
- if (!impl->stringValues.contains(key))
- return String();
- return impl->stringValues.get(key);
- }
-
- void setString(const String& key, const String& newValue)
- {
- ASSERT(impl);
- if (getString(key) == newValue)
- return;
-
- if (copyOnWrite) {
- copyOnWrite = false;
- impl = new WebSettingsPrivateImpl(*impl);
- }
-
- impl->stringValues.set(key, newValue);
- if (delegate)
- delegate->didChangeSettings(sender);
- }
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // WebSettings_p_h
diff --git a/Source/WebKit/blackberry/Api/WebTapHighlight.h b/Source/WebKit/blackberry/Api/WebTapHighlight.h
deleted file mode 100644
index 9d7831128..000000000
--- a/Source/WebKit/blackberry/Api/WebTapHighlight.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 WebTapHighlight_h
-#define WebTapHighlight_h
-
-#include "BlackBerryGlobal.h"
-
-#include <BlackBerryPlatformIntRectRegion.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class BLACKBERRY_EXPORT WebTapHighlight {
-public:
- virtual ~WebTapHighlight() { }
-
- virtual void draw(const Platform::IntRectRegion&, int red, int green, int blue, int alpha, bool hideAfterScroll, bool isStartOfSelection = false) = 0;
- virtual void hide() = 0;
-
- virtual bool isVisible() const = 0;
- virtual bool shouldHideAfterScroll() const = 0;
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // WebTapHighlight_h
diff --git a/Source/WebKit/blackberry/Api/WebViewportArguments.cpp b/Source/WebKit/blackberry/Api/WebViewportArguments.cpp
deleted file mode 100644
index 55583f274..000000000
--- a/Source/WebKit/blackberry/Api/WebViewportArguments.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "WebViewportArguments.h"
-
-#include "ViewportArguments.h"
-
-namespace BlackBerry {
-namespace WebKit {
-
-WebViewportArguments::WebViewportArguments()
- :d(new WebCore::ViewportArguments(WebCore::ViewportArguments::ViewportMeta))
-{
-}
-
-WebViewportArguments::~WebViewportArguments()
-{
- delete d;
- d = 0;
-}
-
-float WebViewportArguments::zoom() const
-{
- return d->zoom;
-}
-
-void WebViewportArguments::setZoom(float zoom)
-{
- d->zoom = zoom;
-}
-
-float WebViewportArguments::minZoom() const
-{
- return d->minZoom;
-}
-
-void WebViewportArguments::setMinZoom(float zoom)
-{
- d->minZoom = zoom;
-}
-
-float WebViewportArguments::maxZoom() const
-{
- return d->maxZoom;
-}
-
-void WebViewportArguments::setMaxZoom(float zoom)
-{
- d->maxZoom = zoom;
-}
-
-float WebViewportArguments::width() const
-{
- return d->width;
-}
-
-void WebViewportArguments::setWidth(float width)
-{
- d->width = width;
-}
-
-float WebViewportArguments::height() const
-{
- return d->height;
-}
-
-void WebViewportArguments::setHeight(float height)
-{
- d->height = height;
-}
-
-float WebViewportArguments::devicePixelRatio() const
-{
- return 0;
-}
-
-void WebViewportArguments::setDevicePixelRatio(float)
-{
-}
-
-float WebViewportArguments::userZoom() const
-{
- return d->userZoom;
-}
-
-void WebViewportArguments::setUserZoom(float zoom)
-{
- d->userZoom = zoom;
-}
-
-bool WebViewportArguments::operator==(const WebViewportArguments& other)
-{
- return *d == *(other.d);
-}
-
-bool WebViewportArguments::operator!=(const WebViewportArguments& other)
-{
- return *d != *(other.d);
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
diff --git a/Source/WebKit/blackberry/Api/WebViewportArguments.h b/Source/WebKit/blackberry/Api/WebViewportArguments.h
deleted file mode 100644
index b2835dc48..000000000
--- a/Source/WebKit/blackberry/Api/WebViewportArguments.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 WebViewportArguments_h
-#define WebViewportArguments_h
-
-#include "BlackBerryGlobal.h"
-#include "BlackBerryPlatformMisc.h"
-
-// Not for public API purpose.
-namespace WebCore {
-class ViewportArguments;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebPage;
-
-/**
- * A class designed to expose a meta viewport fallback.
- *
- * This class simply wraps a WebCore::ViewportArguments. It can be
- * instantiated by the WebPageClient and supplied to a WebPage to
- * provide a userViewportArguments object that can be used whenever
- * there is no meta viewport tag provided in any loaded html.
- */
-class BLACKBERRY_EXPORT WebViewportArguments {
-public:
- WebViewportArguments();
- ~WebViewportArguments();
-
- // This matches the enum found in WebCore::ViewportArguments
- enum {
- ValueAuto = -1,
- ValueDeviceWidth = -2,
- ValueDeviceHeight = -3,
- };
-
- float zoom() const;
- void setZoom(float);
-
- float minZoom() const;
- void setMinZoom(float);
-
- float maxZoom() const;
- void setMaxZoom(float);
-
- float width() const;
- void setWidth(float);
-
- float height() const;
- void setHeight(float);
-
- float devicePixelRatio() const;
- void setDevicePixelRatio(float);
-
- float userZoom() const;
- void setUserZoom(float);
-
- bool operator==(const WebViewportArguments &other);
- bool operator!=(const WebViewportArguments &other);
-
-private:
- WebCore::ViewportArguments* d;
-
-private:
- friend class WebPage;
- DISABLE_COPY(WebViewportArguments)
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // WebViewportArguments_h
diff --git a/Source/WebKit/blackberry/ChangeLog b/Source/WebKit/blackberry/ChangeLog
deleted file mode 100644
index 64d236f9a..000000000
--- a/Source/WebKit/blackberry/ChangeLog
+++ /dev/null
@@ -1,2442 +0,0 @@
-2013-07-17 Kangil Han <kangil.han@samsung.com>
-
- Use toHTMLMediaElement
- https://bugs.webkit.org/show_bug.cgi?id=118727
-
- Reviewed by Ryosuke Niwa.
-
- To avoid direct use of static_cast, this patch uses toHTMLMediaElement for code cleanup.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- (BlackBerry::WebKit::WebPage::notifyFullScreenVideoExited):
- (BlackBerry::WebKit::WebPagePrivate::enterFullscreenForNode):
- (BlackBerry::WebKit::WebPagePrivate::exitFullscreenForNode):
-
-2013-07-16 Kangil Han <kangil.han@samsung.com>
-
- Use toHTMLSelectElement and dismiss isHTMLSelectElement
- https://bugs.webkit.org/show_bug.cgi?id=118714
-
- Reviewed by Ryosuke Niwa.
-
- To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
- Additionally, this patch removes isHTMLSelectElement because not all element subclasses can be checked by a combination of tag names.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::didNodeOpenPopup):
- (BlackBerry::WebKit::InputHandler::setPopupListIndex):
- (BlackBerry::WebKit::InputHandler::setPopupListIndexes):
-
-2013-07-08 Jacky Jiang <zhajiang@blackberry.com>
-
- [BlackBerry] Block Zoom does not zoom in on narrow paragraphs properly
- https://bugs.webkit.org/show_bug.cgi?id=118472
-
- Reviewed by Rob Buis.
- Internally reviewed Arvid Nilsson and Genevieve Mak.
-
- JIRA 114653
- For the narrow paragraphs on www.nytimes.com, the first best node for
- block zoom under the point is deprecated due to the limits of maximum
- block zoom scale(3) and default maximum WebPage zoom scale(4) and instead
- it picks up an ancestor node which is wider so that it looks like doesn't
- zoom in properly.
- To fix that, enlarge the default maximum WebPage zoom scale slightly
- and use maximumScale() instead of maxBlockZoomScale() so that we can
- accept more nodes. And also we'll still clamp the new scale by
- maxBlockZoomScale() when we block zoom the WebPage, in which way those
- nodes can be showed in the center of the viewport and surrounded by a
- few other nodes within the viewport which shows better user experience.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::maximumScale):
- (BlackBerry::WebKit::WebPagePrivate::adjustedBlockZoomNodeForZoomAndExpandingRatioLimits):
-
-2013-07-01 Jochen Eisinger <jochen@chromium.org>
-
- Remove support for consumable user gestures
- https://bugs.webkit.org/show_bug.cgi?id=118247
-
- Reviewed by Geoffrey Garen.
-
- * WebKitSupport/NotificationManager.cpp:
- (BlackBerry::WebKit::NotificationManager::notificationClicked):
-
-2013-07-01 Kangil Han <kangil.han@samsung.com>
-
- Adopt toHTMLTextAreaElement for code cleanup
- https://bugs.webkit.org/show_bug.cgi?id=118226
-
- Reviewed by Andreas Kling.
-
- To enhance readability, this patch adopts toHTMLTextAreaElement.
- This also helps out to reduce duplicated use of static_cast.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::blockZoomRectForNode):
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isTextInputElement):
- (BlackBerry::WebKit::DOMSupport::inputElementText):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::elementType):
- (BlackBerry::WebKit::InputHandler::boundingBoxForInputField):
-
-2013-06-29 Kangil Han <kangil.han@samsung.com>
-
- Adopt is/toHTMLOptGroupElement for code cleanup
- https://bugs.webkit.org/show_bug.cgi?id=118213
-
- Reviewed by Andreas Kling.
-
- To enhance readability, this patch adopts is/toHTMLOptGroupElement.
- This also helps out to reduce duplicated use of static_cast.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openSelectPopup):
-
-2013-06-29 Kangil Han <kangil.han@samsung.com>
-
- Adopt is/toHTMLOptionElement for code cleanup
- https://bugs.webkit.org/show_bug.cgi?id=118212
-
- Reviewed by Andreas Kling.
-
- To enhance readability, this patch adopts is/toHTMLOptionElement.
- This also helps out to reduce duplicated use of static_cast.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::willOpenPopupForNode):
- (BlackBerry::WebKit::InputHandler::didNodeOpenPopup):
- (BlackBerry::WebKit::InputHandler::openSelectPopup):
- (BlackBerry::WebKit::InputHandler::setPopupListIndexes):
- * WebKitSupport/SelectPopupClient.cpp:
- (BlackBerry::WebKit::SelectPopupClient::setValueAndClosePopup):
-
-2013-06-28 Kangil Han <kangil.han@samsung.com>
-
- Adopt is/toHTMLImageElement for code cleanup
- https://bugs.webkit.org/show_bug.cgi?id=118182
-
- Reviewed by Andreas Kling.
-
- To enhance readability, this patch adopts is/toHTMLImageElement.
- This also helps out to reduce duplicated use of static_cast.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- (BlackBerry::WebKit::WebPagePrivate::blockZoomRectForNode):
- (BlackBerry::WebKit::WebPage::blockZoom):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::isElementClickable):
-
-2013-06-27 Kangil Han <kangil.han@samsung.com>
-
- Adopt is/toHTMLInputElement for code cleanup
- https://bugs.webkit.org/show_bug.cgi?id=118130
-
- Reviewed by Antti Koivisto.
-
- To enhance readability, this patch adopts is/toHTMLInputElement.
- This also helps out to reduce duplicated use of static_cast.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- (BlackBerry::WebKit::WebPagePrivate::blockZoomRectForNode):
- * WebCoreSupport/CredentialTransformData.cpp:
- (WebCore::CredentialTransformData::findPasswordFormFields):
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::shouldSpellCheckFocusedField):
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isPasswordElement):
- (BlackBerry::WebKit::DOMSupport::inputElementText):
- (BlackBerry::WebKit::DOMSupport::isDateTimeInputField):
- (BlackBerry::WebKit::DOMSupport::isColorInputField):
- (BlackBerry::WebKit::DOMSupport::elementIdOrNameIndicatesNoAutocomplete):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::elementType):
- (BlackBerry::WebKit::InputHandler::setInputValue):
- (BlackBerry::WebKit::InputHandler::extractedTextRequest):
- (BlackBerry::WebKit::InputHandler::showTextInputTypeSuggestionBox):
-
-2013-06-27 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] We should clear all markers when input changes a word
- https://bugs.webkit.org/show_bug.cgi?id=118136
- JIRA115313.
-
- For the case where a letter is added to the middle of a misspelled word, we were
- sending incorrect offsets to clear spelling markers. However, since this
- expanded the current word, it overlaps entirely the previous spelling marker so
- no issue is found. However, if the keypress is backspace, the incorrect range
- is smaller, causing an overlap which recreates the marker over the last character.
- Setting shouldEraseMarkersAfterChangeSelection to follow continuous spell checking,
- which will clear all markers regardless of overlap.
- This patch also sustains spelling markers after the user taps to move the caret onto
- the word, which is a nice gain as it was asked for previously.
-
- Reviewed by Rob Buis.
-
- Internally Reviewed by Mike Fenton
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::shouldEraseMarkersAfterChangeSelection):
-
-2013-06-26 Carlos Garcia Campos <cargarcia@blackberry.com>
-
- [BlackBerry] Handle testRunner.setCustomPolicyDelegate()
- https://bugs.webkit.org/show_bug.cgi?id=117982
-
- Reviewed by Rob Buis.
-
- Take custom policy into account when deciding the policy for
- navigation actions.
-
- Fixes test fast/loader/onload-policy-ignore-for-frame.html.
-
- * Api/DumpRenderTreeClient.h:
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
- If custom policy is enabled ignore the navigation action when it's
- not permissive.
-
-2013-06-26 Kangil Han <kangil.han@samsung.com>
-
- Adopt is/toHTMLAreaElement for code cleanup
- https://bugs.webkit.org/show_bug.cgi?id=117980
-
- Reviewed by Antonio Gomes.
-
- To enhance readibility, this patch adopts is/toHTMLAreaElement.
- This also helps out to reduce duplicated use of static_cast.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::elementForTapHighlight):
-
-2013-06-26 Jacky Jiang <zhajiang@blackberry.com>
-
- [BlackBerry] ASSERT(!m_tileMatrixNeedsUpdate) in BackingStorePrivate::render()
- https://bugs.webkit.org/show_bug.cgi?id=118062
-
- Reviewed by Rob Buis.
- Internally reviewed by Jakob Petsovits.
-
- JIRA426949
- requestLayoutIfNeeded() can cause zoomAboutPoint() when the layout
- is finished and make the tile matrix stale. We need requestLayoutIfNeeded()
- before we updateTileMatrixIfNeeded() so that we can fix the ASSERT and
- also pass the valid TileIndexList to render().
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::render):
-
-2013-06-25 Kangil Han <kangil.han@samsung.com>
-
- Adopt is/toHTMLAnchorElement for code cleanup
- https://bugs.webkit.org/show_bug.cgi?id=117973
-
- Reviewed by Andreas Kling.
-
- To enhance readibility, this patch adopts is/toHTMLAnchorElement.
- This also helps out to reduce duplicated use of static_cast.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::isElementClickable):
-
-2013-06-24 Kangil Han <kangil.han@samsung.com>
-
- Adopt is/toHTMLFormElement for code cleanup
- https://bugs.webkit.org/show_bug.cgi?id=117937
-
- Reviewed by Andreas Kling.
-
- This refers to http://src.chromium.org/viewvc/blink?view=revision&revision=152859
-
- To enhance readibility, this patch adopts is/toHTMLFormElement.
- This also helps out to reduce duplicated use of static_cast.
-
- * WebCoreSupport/CredentialManager.cpp:
- (WebCore::CredentialManager::autofillPasswordForms):
-
-2013-06-24 Jakob Petsovits <jpetsovits@blackberry.com>
-
- [BlackBerry] Only resume root layer commits for visible WebPages
- https://bugs.webkit.org/show_bug.cgi?id=117956
- https://jira.bbqnx.net/browse/BRWSR-12047
- JIRA428381
-
- Reviewed by George Staikos.
-
- In r150629, the code from that change introduced to
- suspend and resume root layer commits would not take into
- account whether the page is actually visible.
-
- Because application activation state is usually conveyed
- to all or any WebPages, this would mean on transitioning
- into an active application state, we were resuming
- root layer commits that might have previously been
- disabled for visibility reasons.
-
- Fix this by going through a single function that knows
- by itself whether to suspend or resume root layer commits,
- so the calling code doesn't have a chance to get it wrong.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setVisible):
- (BlackBerry::WebKit::WebPagePrivate::notifyAppActivationStateChange):
- (BlackBerry::WebKit::WebPagePrivate::updateRootLayerCommitEnabled):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2013-06-20 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Send the correct offsets for misspelled words.
- https://bugs.webkit.org/show_bug.cgi?id=117846
-
- JIRA116916.
- When the caret is placed after a word, the offsets were calculated around
- the proceeding space. As such, words that end a sentence worked correctly, but
- midsentence words did not. The 'startOfWord' was calculated for the space ahead
- and not for the word before it. Now finding the start of the word correctly and
- calculating the end from there.
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Genevieve Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
-
-2013-06-20 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Handle testRunner.setWillSendRequestReturnsNull() in DRT
- https://bugs.webkit.org/show_bug.cgi?id=117827
-
- Reviewed by Rob Buis.
-
- Add DumpRenderTreeClient::willSendRequestForFrame() to handle
- dispatchWillSendRequest() in DRT.
-
- Fixes tests
- fast/loader/onload-willSendRequest-null-for-script.html and
- fast/loader/willSendRequest-null-for-preload.html.
-
- * Api/DumpRenderTreeClient.h:
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
-
-2013-06-19 Jakob Petsovits <jpetsovits@blackberry.com>
-
- [BlackBerry] Prevent loss of tile buffers in BackingStorePrivate::render()
- https://bugs.webkit.org/show_bug.cgi?id=117799
- https://jira.bbqnx.net/browse/BRWSR-11712
- JIRA413289
-
- Reviewed by Carlos Garcia Campos.
-
- Discovered by Xuefei Ren.
-
- If, in rare cases, renderContents() returns false,
- the for() loop in render() will take a tile buffer from
- the surface pool but due to aborting the iteration early,
- won't put it into the new tile map. In order to prevent
- losing the buffer, we need to put it back into the
- surface pool before continuing.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::render):
-
-2013-06-17 Tiancheng Jiang <tijiang@rim.com>
-
- Cache FatFinger Text Result.
- https://bugs.webkit.org/show_bug.cgi?id=107403.
-
- Reviewed by Rob Buis.
-
- Internally Reviewed by Genevieve Mak.
- Cache the FatFinger text result for later use in TouchEventHandler.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::contextNode):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
- * WebKitSupport/TouchEventHandler.h:
- (BlackBerry::WebKit::TouchEventHandler::cacheTextResult):
- (TouchEventHandler):
-
-2013-06-14 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] Remove implementation of ContextMenu classes
- https://bugs.webkit.org/show_bug.cgi?id=114860
-
- Reviewed by Rob Buis.
-
- This code is not being used so we can safely remove it.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebCoreSupport/ContextMenuClientBlackBerry.cpp: Removed.
- * WebCoreSupport/ContextMenuClientBlackBerry.h: Removed.
-
-2013-06-14 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] LayerTiler fails to tile really big layers
- https://bugs.webkit.org/show_bug.cgi?id=117211
-
- Reviewed by Carlos Garcia Campos.
-
- PR 273550
-
- Adapt to changes in LayerCompositingThreadClient interface.
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::drawTextures):
- * Api/WebOverlay_p.h:
- (WebOverlayLayerCompositingThreadClient):
-
-2013-06-12 Leo Yang <leoyang@rim.com>
-
- [BlackBerry] Use RefPtr for HTMLInputElement inside CredentialTransformData
- https://bugs.webkit.org/show_bug.cgi?id=117553
-
- Reviewed by Carlos Garcia Campos.
-
- In CredentialTransformData we should use RefPtr for
- m_userNameElement, m_passwordElement and m_oldPasswordElement
- because otherwise the elements could go away when the form
- elements get destroyed.
-
- Also add *const* for the parameter of CredentialTransformData::findPasswordFormFields().
-
- No functionalities changed no new tests.
-
- * WebCoreSupport/CredentialTransformData.cpp:
- (WebCore::CredentialTransformData::findPasswordFormFields):
- (WebCore::CredentialTransformData::locateSpecificPasswords):
- * WebCoreSupport/CredentialTransformData.h:
-
-2013-06-12 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] Remove dead WebDOM code
- https://bugs.webkit.org/show_bug.cgi?id=113370
-
- Reviewed by Anders Carlsson.
-
- BlackBerry PR 347565
- Internally reviewed by Charles Wei.
-
- * Api/WebPage.cpp:
- * Api/WebPage.h:
- * WebCoreSupport/AboutDataEnableFeatures.in:
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
-
-2013-06-12 Jakob Petsovits <jpetsovits@blackberry.com>
-
- [BlackBerry] Smarter algorithm to determine the backingstore rect
- https://bugs.webkit.org/show_bug.cgi?id=117451
-
- JIRA115644
- https://jira.bbqnx.net/browse/BRWSR-7028
-
- Reviewed by Rob Buis.
-
- So far, the backingstore tile geometry allocation was
- pretty straightforward: We would start off from the
- current viewport and append all available tiles into
- the current scrolling direction from there.
-
- This will usually work well enough, but has the downside
- of discarding all the tiles in the opposite direction.
- Also, tiles very close to the viewport will often get
- discarded even if the user only scrolls very slowly.
-
- This patch completely revamps the algorithm for
- determining where the backingstore should be positioned.
-
- The general idea is that we construct a "desired rect"
- based on the viewport and inflate it into all four
- directions according to the current scroll momentum.
- This rectangle will be similarly large as a backingstore
- tile geometry rectangle might be, by using the
- approximate number of pixels that are available in the
- given number of tiles.
-
- The proportions for extending the rectangle from the
- viewport are influenced by different factors, including
- scroll momentum, viewport ratio, available space in the
- overall contents rectangle, and natural bias for the
- "down" direction.
-
- In practice, this results in a backingstore that is
- roughly evenly distributed around the viewport when no
- movement is happening, and will gradually narrow down
- and extend into the scroll direction at a higher momentum.
-
- The final tile geometry is constructed by trying fit
- the tiles into the desired rect in a way that maximizes
- the area of its intersection. There are a few parameters
- that can be tweaked, the ones in this patch seem to
- handle most cases well enough to minimize checkerboarding.
-
- As an additional bonus, a rectangle-based tiling strategy
- can more easily be adopted for accelerated compositing,
- which currently operates on a simpler algorithm that also
- inflates the viewport but does not take scrolling into
- account.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::expandedContentsSize):
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::nonOverscrolled):
- (BlackBerry::WebKit::BackingStorePrivate::enclosingTileRect):
- (BlackBerry::WebKit::BackingStorePrivate::desiredBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::mergeDesiredBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::largestTileRectForDesiredRect):
- (BlackBerry::WebKit::BackingStorePrivate::scrollBackingStore):
- (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
-
-2013-06-12 Zan Dobersek <zdobersek@igalia.com>
-
- Remove memoryInfoEnabled, quantizedMemoryInfoEnabled settings
- https://bugs.webkit.org/show_bug.cgi?id=117512
-
- Reviewed by Darin Adler.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init): Remove the call to Settings::setMemoryInfoEnabled, the setting is being removed.
-
-2013-06-06 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Crash in InRegionScrollerPrivate::clearDocumentData
- https://bugs.webkit.org/show_bug.cgi?id=117317
-
- Reviewed by Rob Buis.
-
- PR #348994
- Need to check the scrollableArea instead of asserting because in this case for the
- selection subframe it is allowed to be null.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::clearDocumentData):
-
-2013-06-05 Bear Travis <betravis@adobe.com>
-
- [CSS Exclusions][CSS Shapes] Split CSS Exclusions & Shapes compile & runtime flags
- https://bugs.webkit.org/show_bug.cgi?id=117172
-
- Reviewed by Alexandru Chiculita.
-
- Adding the CSS_SHAPES compile flag.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2013-06-05 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Deleting the pendingSelectionCandidate on the wrong thread causes an assert.
- https://bugs.webkit.org/show_bug.cgi?id=117276
-
- Reviewed by Rob Buis.
-
- Reviewed Internally by Nima Ghanavatian.
- PR #342399
- Store and delete the selectionScrollView in webkit which is what we already do for
- scrolling subframes.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::InRegionScrollerPrivate):
- (BlackBerry::WebKit::InRegionScrollerPrivate::resetSelectionScrollView):
- (WebKit):
- (BlackBerry::WebKit::InRegionScrollerPrivate::clearDocumentData):
- (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
- (BlackBerry::WebKit::InRegionScrollerPrivate::updateSelectionScrollView):
- (BlackBerry::WebKit::InRegionScrollerPrivate::firstScrollableInRegionForNode):
- * Api/InRegionScroller_p.h:
- (InRegionScrollerPrivate):
-
-2013-06-05 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry] Make image clickable when it has anchor as parent node.
- https://bugs.webkit.org/show_bug.cgi?id=117271
-
- Reviewed by Rob Buis.
-
- BlackBerry PR 345995
- Internally Reviewed by Genevieve Mak.
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::isElementClickable):
-
-2013-06-05 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Selection handles are inverted on directional selections
- https://bugs.webkit.org/show_bug.cgi?id=117269
-
- Reviewed by Rob Buis.
-
- PR 336178
-
- Don't invert the handles leave them in the visual order.
-
- Internally Reviewed by Nima Ghanavatian.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
-
-2013-06-03 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Expose show debug borders setting through BlackBerry::WebKit::WebPage
- https://bugs.webkit.org/show_bug.cgi?id=117167
-
- Reviewed by Rob Buis.
- Internally reviewed by Arvid Nilsson.
-
- Add WebKit::WebPage API for setting whether to show accelerated compositing
- debug borders.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setShowDebugBorders):
- (WebKit):
- * Api/WebPage.h:
-
-2013-06-03 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Selection handles are not cleared when displaying error pages.
- https://bugs.webkit.org/show_bug.cgi?id=117158
-
- Reviewed by Carlos Garcia Campos.
-
- PR 342159.
-
- Add explicit cancel of selection state when loading an error page
- as it is not always cleared.
-
- Internally Reviewed by Nima Ghanavatian.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
-
-2013-06-03 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] ROI details are not always cleared when using back navigation.
- https://bugs.webkit.org/show_bug.cgi?id=117159
-
- Reviewed by Carlos Garcia Campos.
-
- PR 328557.
-
- Secondary change to ensure when restoreViewState is triggered
- ROI is reset.
-
- Internally Reviewed by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::restoreViewState):
-
-2013-05-29 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Add more cellular technologies into the NetworkInfo enum
- https://bugs.webkit.org/show_bug.cgi?id=116982
-
- PR 340189
- Reviewed by Rob Buis.
-
- Provide more specific bandwidth speeds on different network
- services our devices provide.
-
- * WebCoreSupport/NetworkInfoClientBlackBerry.cpp:
- (WebCore):
- (WebCore::NetworkInfoClientBlackBerry::bandwidth):
-
-2013-05-29 Yong Li <yoli@rim.com>
-
- [BlackBerry] about:memory should use malloc_stats instead of mallinfo
- https://bugs.webkit.org/show_bug.cgi?id=96420
-
- Reviewed by Rob Buis.
-
- PR 206297
- Use mallopt to get malloc_stats.
-
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::mallocStats):
- (BlackBerry::WebKit::memoryPage):
- (BlackBerry::WebKit::MemoryTracker::updateMemoryPeaks):
-
-2013-05-29 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Notify client of selection deletion
- https://bugs.webkit.org/show_bug.cgi?id=116843
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton.
-
- PR342106
- Our change guard was preventing caret change notification to be sent to IMF.
- This put us out of state when a selection was deleted because it is not a simple
- single character deletion. Ensure that selection deletions always send a caret
- update.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::deleteSelection):
- (BlackBerry::WebKit::InputHandler::deleteTextRelativeToCursor):
- (BlackBerry::WebKit::InputHandler::deleteText):
-
-2013-05-29 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Use StringBuilder instead of + operator to build strings in AboutData
- https://bugs.webkit.org/show_bug.cgi?id=116954
-
- Reviewed by Carlos Garcia Campos.
-
- PR 206152
- Internally reviewed by Konrad Piascik
-
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::configPage):
- (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
- (BlackBerry::WebKit::mallocStats):
- (BlackBerry::WebKit::memoryPage):
- (BlackBerry::WebKit::memoryPeaksToHtmlTable):
- (BlackBerry::WebKit::memoryLivePage):
-
-2013-05-29 Jakob Petsovits <jpetsovits@blackberry.com>
-
- [BlackBerry] Use lazily-backed backingstore tiles
- https://bugs.webkit.org/show_bug.cgi?id=116879
- Internal PR 344523
-
- Reviewed by Carlos Garcia Campos.
- Informally reviewed by Arvid Nilsson and Mike Lattanzio.
-
- As a consequence, also don't use fixed-size
- shared pixmap buffers for these tiles anymore.
-
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::configPage):
- * WebKitSupport/BackingStoreTile.cpp:
- (BlackBerry::WebKit::TileBuffer::nativeBuffer):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::initialize):
- * WebKitSupport/SurfacePool.h:
- (SurfacePool):
-
-2013-05-29 Kent Tamura <tkent@chromium.org>
-
- Remove ENABLE_INPUT_MULTIPLE_FIELDS_UI.
- https://bugs.webkit.org/show_bug.cgi?id=116796
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2013-05-28 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Fix style issues in BlackBerry accelerated compositing backend
- https://bugs.webkit.org/show_bug.cgi?id=116604
-
- Reviewed by Carlos Garcia Campos.
-
- Adapt to the removal of "get" prefix from getters in the WebKit- and
- compositing-thread layer classes.
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::pixelViewportRect):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::attachOverlays):
- (BlackBerry::WebKit::WebPageCompositorPrivate::removeOverlay):
- (BlackBerry::WebKit::WebPageCompositorPrivate::findFixedElementRect):
-
-2013-05-28 Andreas Kling <akling@apple.com>
-
- Document::setFocusedNode() should be setFocusedElement().
- <http://webkit.org/b/116857>
-
- Reviewed by Antti Koivisto.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::focusNodeRect):
- (BlackBerry::WebKit::WebPagePrivate::contextNode):
- (BlackBerry::WebKit::WebPagePrivate::clearFocusNode):
- (BlackBerry::WebKit::WebPage::setNodeFocus):
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::shouldSpellCheckFocusedField):
- (WebCore::EditorClientBlackBerry::shouldChangeSelectedRange):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::focusedNodeChanged):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
- (BlackBerry::WebKit::SelectionHandler::extendSelectionToFieldBoundary):
- (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
- (BlackBerry::WebKit::SelectionHandler::clipPointToVisibleContainer):
- (BlackBerry::WebKit::SelectionHandler::inputNodeOverridesTouch):
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
-
-2013-05-28 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Unreviewed. Fix BlackBerry debug build after r150756.
-
- * WebKitSupport/PagePopup.cpp:
- (BlackBerry::WebKit::PagePopup::writeDocument): Fix typo in
- assert.
-
-2013-05-27 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Clear supression flag when caret changes aren't propogated through
- https://bugs.webkit.org/show_bug.cgi?id=116840
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton.
-
- PR339965
- We set and clear the flag upon every use. This leaves us vulnerable if
- 1. midway through processing the selection change event is dismissed and
- 2. we don't receive a TouchRelease event
- One example of this is while dragging the FCC handle we start typing. To
- safeguard against this, if the process change guard is set during a
- selection change event, we send out to clear the flag status before returning.
-
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::selectionChanged):
-
-2013-05-27 Andy Chen <andchen@blackberry.com>
-
- [BlackBerry] Find-on-page should be able to convert the active match to selection when clearing all matches
- https://bugs.webkit.org/show_bug.cgi?id=116837
-
- Reviewed by Rob Buis.
-
- PR 291903
- Internally reviewed by Mike Fenton.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::findNextString):
- * Api/WebPage.h:
- * WebKitSupport/InPageSearchManager.cpp:
- (BlackBerry::WebKit::InPageSearchManager::findNextString):
- (BlackBerry::WebKit::InPageSearchManager::clearTextMatches):
- * WebKitSupport/InPageSearchManager.h:
- (InPageSearchManager):
-
-2013-05-27 Eli Fidler <efidler@rim.com>
-
- [BlackBerry] Fix subframe target added to new requests
- https://bugs.webkit.org/show_bug.cgi?id=116602
-
- Reviewed by Rob Buis.
-
- In some cases we might be adding TargetIsMainFrame to a subframe
- request causing an isMainFrame assert.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
- Check we are actually loading the main frame before setting
- ResourceRequest::TargetIsMainFrame target.
-
-2013-05-27 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] REGRESSION(r150071): Animation performance issues in some websites with CSS transforms
- https://bugs.webkit.org/show_bug.cgi?id=116724
-
- Reviewed by Rob Buis.
-
- Add another bool variable m_previousFrameDone to make sure we
- don't start a new frame until the previous one has been done. Also
- make sure we pass the animation start time to
- serviceScriptedAnimations().
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate): Initialize
- m_previousFrameDone and m_monotonicAnimationStartTime.
- (BlackBerry::WebKit::WebPagePrivate::animationFrameChanged):
- Return early if previous frame is not done. Otherwise set
- m_previousFrameDone to false and save the animation start time.
- (BlackBerry::WebKit::WebPagePrivate::serviceAnimations): Call
- serviceScriptedAnimations() passing the saved animation start time
- and reset m_animationScheduled and m_previousFrameDone.
- (BlackBerry::WebKit::WebPagePrivate::handleServiceScriptedAnimationsOnMainThread):
- Call WebPagePrivate::serviceAnimations().
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2013-05-27 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Remove encoding parameter from FrameLoaderClientBlackBerry::receivedData()
- https://bugs.webkit.org/show_bug.cgi?id=116598
-
- Reviewed by Rob Buis.
-
- It's no longer needed since the encoder now checks the override encoding.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::committedLoad): Call
- receivedData() passing the DocumentLoader instead of the text
- encoding.
- (WebCore::FrameLoaderClientBlackBerry::receivedData): Call
- DocumentLoader::commitData() directly.
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
-2013-05-27 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Move PagePopup implementation to WebKitSupport
- https://bugs.webkit.org/show_bug.cgi?id=116824
-
- Reviewed by Rob Buis.
-
- After r150434 PagePopup implementation in BlackBerry port is
- independent from WebCore. The classes are now in the
- BlackBerry::WebKit namespace so they can be moved from
- WebCoresupport to WebKitSupport and renamed to remove the
- BlackBerry suffix which is now redundant. Also, now that the
- implementation is not shared, it can be simplified a bit more.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate): Update to
- API changes.
- (BlackBerry::WebKit::WebPage::initPopupWebView): Ditto.
- (BlackBerry::WebKit::WebPagePrivate::openPagePopup): Ditto.
- (BlackBerry::WebKit::WebPagePrivate::closePagePopup): Ditto.
- (BlackBerry::WebKit::WebPagePrivate::hasOpenedPopup): Ditto.
- * Api/WebPage.h:
- (WebKit): Ditto.
- * Api/WebPage_p.h:
- (WebKit): Ditto.
- (WebPagePrivate): Rename m_selectPopup as m_pagePopup, since it
- can also point to a color picker or date picker page popup. Also
- use RefPtr instead of raw pointer.
- * WebKitSupport/ColorPickerClient.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.cpp.
- (BlackBerry::WebKit::ColorPickerClient::ColorPickerClient):
- (BlackBerry::WebKit::ColorPickerClient::generateHTML):
- (BlackBerry::WebKit::ColorPickerClient::setValueAndClosePopup):
- Return early if popup has been closed already.
- (BlackBerry::WebKit::ColorPickerClient::didClosePopup):
- * WebKitSupport/ColorPickerClient.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.h.
- * WebKitSupport/DatePickerClient.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/DatePickerClient.cpp.
- (BlackBerry::WebKit::DatePickerClient::DatePickerClient):
- (BlackBerry::WebKit::DatePickerClient::~DatePickerClient):
- (BlackBerry::WebKit::DatePickerClient::generateHTML):
- (BlackBerry::WebKit::DatePickerClient::setValueAndClosePopup):
- Return early if popup has been closed already.
- (BlackBerry::WebKit::DatePickerClient::didClosePopup):
- (BlackBerry::WebKit::DatePickerClient::generateDateLabels):
- * WebKitSupport/DatePickerClient.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/DatePickerClient.h.
- * WebKitSupport/PagePopup.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.cpp.
- (BlackBerry::WebKit::PagePopup::PagePopup):
- (BlackBerry::WebKit::PagePopup::~PagePopup):
- (BlackBerry::WebKit::PagePopup::initialize): Renamed as initialize
- and made void, since it always returned true and the callers
- ignored the return value.
- (BlackBerry::WebKit::PagePopup::writeDocument): Renamed from
- generateHTML for consistency with PagePopupClient::writeDocument()
- and to avoid confusion with generateHTML method in the clients
- that create the HTML contents but they don't write the document.
- (BlackBerry::WebKit::PagePopup::setValueAndClosePopupCallback):
- Make it static member of PagePopup since the JS object now holds a
- reference of PagePopup instance as private data.
- (BlackBerry::WebKit::popUpExtensionInitialize): Take a reference
- of the PagePopup instance saved as private data of the JS object.
- (BlackBerry::WebKit::popUpExtensionFinalize): Unref the PagePopup
- instance saved as private data of the JS object.
- (BlackBerry::WebKit::PagePopup::installDOMFunction): Instead of
- saving the client as private data of the JS object using a wrapper
- refcounted object, save the PagePopup instance that is now
- refcounted and access the client from the PagePopup instance in
- the callback.
- (BlackBerry::WebKit::PagePopup::close): Renamed from closePagePopup
- since PagePopup::closePagePopup was a bit redundant.
- * WebKitSupport/PagePopup.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.h.
- (BlackBerry::WebKit::PagePopup::create): Static member to create
- instances of PagePopup now that it's refcounted.
- * WebKitSupport/PagePopupClient.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerryClient.cpp.
- (BlackBerry::WebKit::PagePopupClient::PagePopupClient):
- (BlackBerry::WebKit::PagePopupClient::closePopup):
- (BlackBerry::WebKit::PagePopupClient::didClosePopup):
- (BlackBerry::WebKit::PagePopupClient::contentSize):
- (BlackBerry::WebKit::PagePopupClient::writeDocument):
- * WebKitSupport/PagePopupClient.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerryClient.h.
- * WebKitSupport/SelectPopupClient.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.cpp.
- (BlackBerry::WebKit::SelectPopupClient::SelectPopupClient):
- (BlackBerry::WebKit::SelectPopupClient::~SelectPopupClient):
- (BlackBerry::WebKit::SelectPopupClient::generateHTML):
- (BlackBerry::WebKit::SelectPopupClient::setValueAndClosePopup):
- Return early if popup has been closed already.
- (BlackBerry::WebKit::SelectPopupClient::didClosePopup):
- (BlackBerry::WebKit::SelectPopupClient::notifySelectionChange):
- * WebKitSupport/SelectPopupClient.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.h.
-
-2013-05-26 Jakob Petsovits <jpetsovits@blackberry.com>
-
- [BlackBerry] Make screen updates dependent on the existence of a drawing buffer.
- https://bugs.webkit.org/show_bug.cgi?id=116539
- Internal PR 330917
-
- Reviewed by Carlos Garcia Campos.
- Internally reviewed by Xiaobo Wang and Arvid Nilsson.
-
- This reduces complexity by relying on the current state,
- rather than the suspend counter, which in turn makes it
- possible to simplify the code in setCompositor().
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
- (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setCompositor):
-
-2013-05-26 Kent Tamura <tkent@chromium.org>
-
- Remove ENABLE_CALENDAR_PICKER
- https://bugs.webkit.org/show_bug.cgi?id=116795
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
- The list was wrong. Blackberry port doesn't use CALENDAR_PICKER code.
-
-2013-05-26 Andreas Kling <akling@apple.com>
-
- FocusController::setFocusedNode() should be setFocusedElement().
- <http://webkit.org/b/116780>
-
- Reviewed by Antti Koivisto.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::clearFocusNode):
- (BlackBerry::WebKit::WebPage::setNodeFocus):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectObject):
-
-2013-05-24 Anders Carlsson <andersca@apple.com>
-
- Remove PagePopup code
- https://bugs.webkit.org/show_bug.cgi?id=116732
-
- Reviewed by Andreas Kling.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
- Remove PAGE_POPUP.
-
-2013-05-24 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Fix bad type warning in InputHandler log.
- https://bugs.webkit.org/show_bug.cgi?id=116720
-
- Reviewed by Carlos Garcia Campos.
-
- Fix warning in inputLog string.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
-
-2013-05-24 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Respect tabindex when using form controls.
- https://bugs.webkit.org/show_bug.cgi?id=116676
-
- Reviewed by Xan Lopez.
-
- PR 337419.
-
- Update form control navigation tracking to take tabindex
- order into account when calculating next and previous nodes.
-
- The order to follow is tab index 1 - N, followed by all items
- without a tab index or tab index 0 in rendering order to match
- with standard desktop behavior.
-
- Internally Reviewed by Genevieve Mak and Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::updateFormState):
-
-2013-05-24 Jeff Rogers <jrogers@rim.com>
-
- [BlackBerry] Remove SKIA leftovers from WebPage.cpp
- https://bugs.webkit.org/show_bug.cgi?id=116656
-
- Reviewed by Rob Buis.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
-
-2013-05-23 Xiaobo Wang <xiaobwang@blackberry.com>
-
- [BlackBerry] Need to suspend/resume RootLayerCommit when the application becomes inactive/active
- https://bugs.webkit.org/show_bug.cgi?id=115245
-
- Reviewed by Rob Buis.
-
- PR 330917.
- Internally reviewed by Arvid Nilsson.
-
- 1. Suspend/resumeRootLayerCommit when notified app activation state
- change.
- 2. Schedule root layer commit in resumeRootLayerCommit() to explicitly
- start root layer commit timer, so that there's a commit even if
- BackingStore got disabled/removed.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::notifyAppActivationStateChange):
- (BlackBerry::WebKit::WebPagePrivate::resumeRootLayerCommit):
-
-2013-05-23 Andy Chen <andchen@blackberry.com>
-
- [BlackBerry] Need to forward the opener frame url to client when creating a new window
- https://bugs.webkit.org/show_bug.cgi?id=116566
-
- Reviewed by Rob Buis.
-
- PR 337935
- Internally reviewed by Arvid Nilsson.
- When creating a new window, forward the opener frame url to client.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::createWindow):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchCreatePage):
-
-2013-05-23 Jakob Petsovits <jpetsovits@blackberry.com>
-
- [BlackBerry] Compositor API change: Don't pass the unused "viewport" parameter.
- https://bugs.webkit.org/show_bug.cgi?id=116545
- Internal PR 189775
-
- Reviewed by Rob Buis.
-
- Also change the name of the "documentContents" parameter
- to the more descriptive "documentSrcRect".
-
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::render):
- (BlackBerry::WebKit::WebPageCompositor::render):
- * Api/WebPageCompositor.h:
- * Api/WebPageCompositor_p.h:
- (WebPageCompositorPrivate):
-
-2013-05-23 Ed Baker <edbaker@blackberry.com>
-
- [BlackBerry] The web context does not contain any link properties if the context node is an image enclosed by a link node
- https://bugs.webkit.org/show_bug.cgi?id=116627
-
- Reviewed by Xan Lopez.
-
- PR #341084
-
- If the context node has an image tag and an enclosing link node was detected then add the link properties to the context.
-
- Internally Reviewed by Gen Mak.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
-
-2013-05-23 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Validate form data before doing direct submission.
- https://bugs.webkit.org/show_bug.cgi?id=116674
-
- Reviewed by Xan Lopez.
-
- PR 314202.
-
- Check validation of the input form before triggering direct submission.
-
- Internally Reviewed by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::submitForm):
-
-2013-05-23 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Properly fill the ResourceError in FrameLoaderClientBlackBerry::cannotShowURLError
- https://bugs.webkit.org/show_bug.cgi?id=116603
-
- Reviewed by Xan Lopez.
-
- PR 119789
- Internally reviewed by Yong Li.
-
- Provide a domain value for this ResourceError instance. Note that
- this does not change behavior.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::didRestoreFromPageCache):
-
-2013-05-21 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Make PagePopup implementation independent from WebCore
- https://bugs.webkit.org/show_bug.cgi?id=116448
-
- Reviewed by Anders Carlsson.
-
- Add our own implementation of PagePopupClient and make all the
- pickers inherit from it. Unused methods have been removed and
- common implementation have been moved from the pickers to the
- parent class.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate): Destroy the
- popup if there's one active.
- (BlackBerry::WebKit::WebPagePrivate::setVisible): Call
- closePagePopup() directly.
- (BlackBerry::WebKit::WebPagePrivate::openPagePopup): Create a new
- PagePopupBlackBerry for the given client.
- (BlackBerry::WebKit::WebPagePrivate::closePagePopup): Close the
- active popup if there's one.
- (BlackBerry::WebKit::WebPagePrivate::hasOpenedPopup): Return
- whether there's an active popup.
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::chromeDestroyed): Remove
- closePagePopup() call since this is now handled by
- WebPagePrivate.
- (WebCore::ChromeClientBlackBerry::hasOpenedPopup): Call
- WebPagePrivate::hasOpenedPopup().
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
- * WebCoreSupport/ColorPickerClient.cpp:
- (BlackBerry::WebKit::ColorPickerClient::ColorPickerClient):
- (BlackBerry::WebKit::ColorPickerClient::didClosePopup):
- * WebCoreSupport/ColorPickerClient.h:
- (ColorPickerClient):
- * WebCoreSupport/DatePickerClient.cpp:
- (BlackBerry::WebKit::DatePickerClient::DatePickerClient):
- (BlackBerry::WebKit::DatePickerClient::didClosePopup):
- * WebCoreSupport/DatePickerClient.h:
- (DatePickerClient):
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (BlackBerry::WebKit::PagePopupBlackBerry::PagePopupBlackBerry):
- (BlackBerry::WebKit::PagePopupBlackBerry::closePopup):
- * WebCoreSupport/PagePopupBlackBerry.h:
- (PagePopupBlackBerry):
- (BlackBerry::WebKit::PagePopupBlackBerry::SharedClientPointer::SharedClientPointer):
- (BlackBerry::WebKit::PagePopupBlackBerry::SharedClientPointer::get):
- (SharedClientPointer):
- * WebCoreSupport/PagePopupBlackBerryClient.cpp: Added.
- (BlackBerry::WebKit::PagePopupBlackBerryClient::PagePopupBlackBerryClient):
- (BlackBerry::WebKit::PagePopupBlackBerryClient::closePopup):
- (BlackBerry::WebKit::PagePopupBlackBerryClient::didClosePopup):
- (BlackBerry::WebKit::PagePopupBlackBerryClient::contentSize):
- (BlackBerry::WebKit::PagePopupBlackBerryClient::writeDocument):
- * WebCoreSupport/PagePopupBlackBerryClient.h: Added.
- (PagePopupBlackBerryClient):
- (BlackBerry::WebKit::PagePopupBlackBerryClient::~PagePopupBlackBerryClient):
- * WebCoreSupport/SelectPopupClient.cpp:
- (BlackBerry::WebKit::SelectPopupClient::SelectPopupClient):
- (BlackBerry::WebKit::SelectPopupClient::didClosePopup):
- * WebCoreSupport/SelectPopupClient.h:
- (SelectPopupClient):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openDatePopup): Do not call
- closePagePopup() since this is already done by openPagePopup() and
- use openPagePopup() from WebPagePrivate directly.
- (BlackBerry::WebKit::InputHandler::openColorPopup): Ditto.
- (BlackBerry::WebKit::InputHandler::openSelectPopup): Ditto.
-
-2013-05-20 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Do not use skia in FrameLoaderClientBlackBerry::dispatchDidReceiveIcon()
- https://bugs.webkit.org/show_bug.cgi?id=116302
-
- Reviewed by Rob Buis.
-
- TiledImage is now the NativeImage of the BlackBerry port.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveIcon):
-
-2013-05-19 Anders Carlsson <andersca@apple.com>
-
- Remove link prerendering code
- https://bugs.webkit.org/show_bug.cgi?id=116415
-
- Reviewed by Darin Adler.
-
- This code was only used by Chromium and is dead now.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2013-05-19 Anders Carlsson <andersca@apple.com>
-
- Remove ChromeClient::webView()
- https://bugs.webkit.org/show_bug.cgi?id=116054
-
- Reviewed by Andreas Kling.
-
- This blatantly horrible layer violation was only used by the Chromium port; get rid of it.
-
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2013-05-17 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] REGRESSION(r150060): Crash in LayerWebKitThread::updateTextureContents
- https://bugs.webkit.org/show_bug.cgi?id=116305
-
- Reviewed by Rob Buis.
-
- PR 340537.
- Internally reviewed by Arvid Nilsson.
-
- Use updateLayoutAndStyleIfNeededRecursive() instead of
- layoutIfNeeded() since we are about to draw in
- rootLayerCommitTimerFired().
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
-
-2013-05-17 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Remove stale comment for select mouse handling.
- https://bugs.webkit.org/show_bug.cgi?id=116309
-
- Reviewed by Rob Buis.
-
- PR 135935.
-
- Remove a FIXME that has been invalidated by a change
- to our touch -> mouse model.
-
- Internally Rubberstamped by Genevieve Mak.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
-
-2013-05-17 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] DumpRenderTreeSupport: fix build in setMockDeviceOrientation()
- https://bugs.webkit.org/show_bug.cgi?id=116298
-
- Reviewed by Carlos Garcia Campos.
-
- Pass the correct parameter to toDeviceOrientationClientMock()
-
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::setMockDeviceOrientation):
-
-2013-05-16 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Optimize caret bounds calculation when leaving an input field.
- https://bugs.webkit.org/show_bug.cgi?id=116224
-
- Reviewed by Rob Buis.
-
- PR 340132.
-
- If the caret is no longer active in the field, do not allow it
- to go into the single line input logic and calculate the node
- bounding box.
-
- Internally Reviewed By Gen Mak
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
-
-2013-05-16 Mary Wu <mary.wu@torchmobile.com.cn>
-
- [BlackBerry] Unable to download blob resource
- https://bugs.webkit.org/show_bug.cgi?id=115888
-
- Reviewed by Benjamin Poulain.
-
- For blob resource (blob:http....), it's not suitable to go to NetworkStream
- which don't handle "blob" protocol at all. since blob data already handled
- in BlobResourceHandle, simply get the data out to download stream.
-
- RIM bug 331086, internally reviewed by Charles Wei and Leo Yang.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):
-
-2013-05-16 Andreas Kling <akling@apple.com>
-
- Page::chrome() should return a reference.
- <http://webkit.org/b/116185>
-
- Reviewed by Anders Carlsson.
-
-2013-05-13 Anders Carlsson <andersca@apple.com>
-
- Frame::editor() should return a reference
- https://bugs.webkit.org/show_bug.cgi?id=116037
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::shouldSpellCheckFocusedField):
- (WebCore::EditorClientBlackBerry::handleKeyboardEvent):
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::elementHasContinuousSpellCheckingEnabled):
- * WebKitSupport/InPageSearchManager.cpp:
- (BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
- (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectedText):
-
-2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Remove WTF_USE_PLATFORM_STRATEGIES
- https://bugs.webkit.org/show_bug.cgi?id=114431
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/AboutDataUseFeatures.in:
-
-2013-05-14 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry] Improve Fatfinger phase.
- https://bugs.webkit.org/show_bug.cgi?id=107403
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Genevieve Mak.
- BlackBerry PR 324965.
-
- Cache and reuse intersected nodes as long as hit position has not been
- changed.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::hitTestResult):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::findBestPoint):
- (BlackBerry::WebKit::FatFingers::findIntersectingRegions):
- (BlackBerry::WebKit::FatFingers::getNodesFromRect):
- * WebKitSupport/FatFingers.h:
-
-2013-05-14 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Hook up frame render begin/end in PerformanceMonitor
- https://bugs.webkit.org/show_bug.cgi?id=116110
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Jeff Rogers, Jonathan Jiang.
- Internal PR 299155.
-
- Mark frame render begin & end for BlackBerry performance monitoring
- in blitVisibleContents.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
-
-2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Use requestAnimationFrame for animations
- https://bugs.webkit.org/show_bug.cgi?id=115896
-
- Reviewed by Rob Buis.
-
- Make WebPagePrivate a
- BlackBerry::Platform::AnimationFrameRateClient and use it to
- schedule animations.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::animationFrameChanged):
- (BlackBerry::WebKit::WebPagePrivate::scheduleAnimation):
- (BlackBerry::WebKit::WebPagePrivate::startRefreshAnimationClient):
- (BlackBerry::WebKit::WebPagePrivate::stopRefreshAnimationClient):
- (BlackBerry::WebKit::WebPagePrivate::handleServiceScriptedAnimationsOnMainThread):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore):
- (WebCore::ChromeClientBlackBerry::scheduleAnimation):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Implement platform strategies
- https://bugs.webkit.org/show_bug.cgi?id=112162
-
- Reviewed by Rob Buis.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::globalInitialize): Initialize platform
- strategies.
- * WebCoreSupport/PlatformStrategiesBlackBerry.cpp: Added.
- (PlatformStrategiesBlackBerry::initialize):
- (PlatformStrategiesBlackBerry::PlatformStrategiesBlackBerry):
- (PlatformStrategiesBlackBerry::createCookiesStrategy):
- (PlatformStrategiesBlackBerry::createDatabaseStrategy):
- (PlatformStrategiesBlackBerry::createLoaderStrategy):
- (PlatformStrategiesBlackBerry::createPasteboardStrategy):
- (PlatformStrategiesBlackBerry::createPluginStrategy):
- (PlatformStrategiesBlackBerry::createSharedWorkerStrategy):
- (PlatformStrategiesBlackBerry::createStorageStrategy):
- (PlatformStrategiesBlackBerry::createVisitedLinkStrategy):
- (PlatformStrategiesBlackBerry::cookiesForDOM):
- (PlatformStrategiesBlackBerry::setCookiesFromDOM):
- (PlatformStrategiesBlackBerry::cookiesEnabled):
- (PlatformStrategiesBlackBerry::cookieRequestHeaderFieldValue):
- (PlatformStrategiesBlackBerry::getRawCookies):
- (PlatformStrategiesBlackBerry::deleteCookie):
- (PlatformStrategiesBlackBerry::refreshPlugins):
- (PlatformStrategiesBlackBerry::getPluginInfo):
- (PlatformStrategiesBlackBerry::isLinkVisited):
- (PlatformStrategiesBlackBerry::addVisitedLink):
- * WebCoreSupport/PlatformStrategiesBlackBerry.h: Added.
- (PlatformStrategiesBlackBerry):
-
-2013-05-14 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Crash due to an assert in FrameView::doDeferredRepaints
- https://bugs.webkit.org/show_bug.cgi?id=115412
-
- Reviewed by Rob Buis.
-
- PR 115412
-
- The problem is that we are calling
- updateLayoutAndStyleIfNeededRecursive() (because of
- zoomToInitialScaleOnLoad) from ChomeClient::layoutUpdated()
- callback which is not expected. It's expected to be called right
- before painting, and not right after painting. Even if a new
- layout is not done, updateLayoutAndStyleIfNeededRecursive() calls
- flushDeferredRepaints() and it's possible that this is called in
- the middle of a beginDeferredRepaints() and endDeferredRepaints()
- apparently.
- In general only BackingStore should call
- updateLayoutAndStyleIfNeededRecursive before painting, and a simple
- layout is enough in all other cases like resizing. This patch renames
- requestLayoutIfNeeded as updateLayoutAndStyleIfNeededRecursive to
- make more obvious what it does, and adds layoutIfNeeded that calls
- layout. The former is used by the BackingStore and the latter by
- WebPage.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::requestLayoutIfNeeded):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
- (BlackBerry::WebKit::WebPagePrivate::updateLayoutAndStyleIfNeededRecursive):
- (BlackBerry::WebKit::WebPagePrivate::layoutIfNeeded):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::overflowExceedsContentsSize):
- (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- (BlackBerry::WebKit::WebPagePrivate::zoomAnimationFinished):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- (BlackBerry::WebKit::WebPage::setDefaultLayoutSize):
- (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2013-05-10 Laszlo Gombos <l.gombos@samsung.com>
-
- Remove USE(OS_RANDOMNESS)
- https://bugs.webkit.org/show_bug.cgi?id=108095
-
- Reviewed by Darin Adler.
-
- Remove the USE(OS_RANDOMNESS) guard as it is turned on for all
- ports.
-
- * WebCoreSupport/AboutDataUseFeatures.in:
-
-2013-05-10 Jacky Jiang <zhajiang@blackberry.com>
-
- Fix some compiler warnings (miscellaneous)
- https://bugs.webkit.org/show_bug.cgi?id=80790
-
- Reviewed by Rob Buis.
-
- Fix the following warnings for BlackBerry:
- BackingStore.cpp:852:60: warning: suggest parentheses around '&&' within
- '||' [-Wparentheses].
- WebPage.cpp:2858:40: warning: suggest parentheses around assignment used
- as truth value [-Wparentheses].
- WebPage.cpp:2880:42: warning: suggest parentheses around assignment used
- as truth value [-Wparentheses]
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::adjustRectOffsetForFrameOffset):
- (BlackBerry::WebKit::WebPagePrivate::blockZoomRectForNode):
-
-2013-05-09 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Style updates required based on new check-webkit-style
- https://bugs.webkit.org/show_bug.cgi?id=115857
-
- Reviewed by Rob Buis.
-
- Update iInRegionScroller, WebKitTextCodec and WebPageCompositor
- to match check-webkit-style updates.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
- * Api/InRegionScroller_p.h:
- * Api/WebKitTextCodec.cpp:
- (BlackBerry::WebKit::transcode):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositor::render):
- * Api/WebPageCompositor.h:
- * Api/WebPageCompositor_p.h:
- (WebPageCompositorPrivate):
- * Api/WebSettings_p.h:
-
-2013-05-09 Max Feil <mfeil@rim.com>
-
- shouldUsePluginDocument() needs to be respected when a document is created
- https://bugs.webkit.org/show_bug.cgi?id=110308
-
- Reviewed by Rob Buis.
-
- This patch implements shouldAlwaysUsePluginDocument() in the
- BlackBerry frame loader client. It is called in several places
- within WebCore to determine whether a PluginDocument should
- be created.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::shouldAlwaysUsePluginDocument):
- (WebCore):
- (WebCore::FrameLoaderClientBlackBerry::createPlugin):
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
-2013-05-09 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Style updates required based on new check-webkit-style
- https://bugs.webkit.org/show_bug.cgi?id=115857
-
- Reviewed by Rob Buis.
-
- Update SelectionHandler to match check-webkit-style updates.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::shouldExtendSelectionInDirection):
- (BlackBerry::WebKit::SelectionHandler::extendSelectionToFieldBoundary):
- (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
- (BlackBerry::WebKit::adjustCaretRects):
- (BlackBerry::WebKit::SelectionHandler::clipPointToVisibleContainer):
- (BlackBerry::WebKit::regionRectListContainsPoint):
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
-
-2013-05-09 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Style updates required based on new check-webkit-style
- https://bugs.webkit.org/show_bug.cgi?id=115857
-
- Reviewed by Rob Buis.
-
- Update WebPage and WebPageClient to match check-webkit-style updates.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPage::executeJavaScriptInIsolatedWorld):
- (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
- (BlackBerry::WebKit::WebPagePrivate::calculateReflowedScrollPosition):
- (BlackBerry::WebKit::WebPagePrivate::centerOfVisibleContentsRect):
- (BlackBerry::WebKit::WebPage::assignFocus):
- (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- (BlackBerry::WebKit::WebPage::deleteTextRelativeToCursor):
- (BlackBerry::WebKit::WebPage::addVisitedLink):
- (BlackBerry::WebKit::WebPagePrivate::findPatternStringForUrl):
- (BlackBerry::WebKit::WebPage::notifySwipeEvent):
- (BlackBerry::WebKit::WebPage::notifyScreenPowerStateChanged):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
- (BlackBerry::WebKit::WebPagePrivate::setRootLayerWebKitThread):
- (BlackBerry::WebKit::WebPagePrivate::releaseLayerResourcesCompositingThread):
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
-
-2013-05-09 Mike Fenton <mifenton@rim.com>
-
-
- [BlackBerry] Style updates required based on new check-webkit-style
- https://bugs.webkit.org/show_bug.cgi?id=115857
-
- Reviewed by Rob Buis.
-
- Update BackingStore to match check-webkit-style updates.
-
- Internally reviewed by Jakob Petsovits.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::bestDivisor):
- (BlackBerry::WebKit::BackingStorePrivate::repaint):
- (BlackBerry::WebKit::BackingStorePrivate::shouldMoveLeft):
- (BlackBerry::WebKit::BackingStorePrivate::shouldMoveRight):
- (BlackBerry::WebKit::BackingStorePrivate::shouldMoveUp):
- (BlackBerry::WebKit::BackingStorePrivate::shouldMoveDown):
- (BlackBerry::WebKit::BackingStorePrivate::canMoveLeft):
- (BlackBerry::WebKit::BackingStorePrivate::canMoveRight):
- (BlackBerry::WebKit::BackingStorePrivate::canMoveUp):
- (BlackBerry::WebKit::BackingStorePrivate::canMoveDown):
- (BlackBerry::WebKit::BackingStorePrivate::indexOfTile):
- (BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::scrollBackingStore):
- (BlackBerry::WebKit::BackingStoreGeometry::originOfTile):
- (BlackBerry::WebKit::BackingStore::repaint):
- * Api/BackingStore_p.h:
- (BackingStoreGeometry):
-
-2013-05-09 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Style updates required based on new check-webkit-style
- https://bugs.webkit.org/show_bug.cgi?id=115857
-
- Reviewed by Rob Buis.
-
- Update ChromeClientBlackBerry, CredentialManager, FrameLoaderClientBlackBerry,
- GeolocationClientBlackBerry and IconDatabaseClientBlackberry to
- match check-webkit-style updates.
-
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
- * WebCoreSupport/CredentialManager.h:
- (CredentialManager):
- * WebCoreSupport/CredentialTransformData.cpp:
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (WebCore::FrameLoaderClientBlackBerry::assignIdentifierToInitialRequest):
- (FrameLoaderClientBlackBerry):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveAuthenticationChallenge):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidCancelAuthenticationChallenge):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveContentLength):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoading):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailLoading):
- * WebCoreSupport/GeolocationClientBlackBerry.cpp:
- (GeolocationClientBlackBerry::onLocationUpdate):
- * WebCoreSupport/GeolocationClientBlackBerry.h:
- (GeolocationClientBlackBerry):
- * WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
- (WebCore::IconDatabaseClientBlackBerry::initIconDatabase):
-
-2013-05-09 Jacky Jiang <zhajiang@blackberry.com>
-
- Fix some compiler warnings (miscellaneous)
- https://bugs.webkit.org/show_bug.cgi?id=80790
-
- Reviewed by Rob Buis.
-
- Fix the following warnings for BlackBerry:
- InRegionScroller.cpp:286:39: warning: suggest parentheses around
- assignment used as truth value [-Wparentheses].
- InRegionScroller.cpp:349:39: warning: suggest parentheses around
- assignment used as truth value [-Wparentheses].
- InRegionScroller.cpp:456:82: warning: suggest parentheses around '&&'
- within '||' [-Wparentheses].
- InRegionScrollableArea.cpp:134:16: warning: suggest explicit braces to
- avoid ambiguous 'else' [-Wparentheses].
- SelectionHandler.cpp:390:109: warning: suggest parentheses around '&&'
- within '||' [-Wparentheses].
- SelectionOverlay.cpp:56:47: warning: comparison between signed and
- unsigned integer expressions [-Wsign-compare].
-
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
- (BlackBerry::WebKit::InRegionScrollerPrivate::firstScrollableInRegionForNode):
- (BlackBerry::WebKit::InRegionScrollerPrivate::canScrollRenderBox):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::extendSelectionToFieldBoundary):
- * WebKitSupport/SelectionOverlay.cpp:
- (BlackBerry::WebKit::SelectionOverlay::draw):
-
-2013-05-09 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Style updates required based on new check-webkit-style
- https://bugs.webkit.org/show_bug.cgi?id=115857
-
- Reviewed by Rob Buis.
-
- Update ColorPickerClient and PagePopupBlackBerry
- to match check-webkit-style updates.
-
- * WebCoreSupport/ColorPickerClient.cpp:
- (WebCore::ColorPickerClient::generateHTML):
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::setValueAndClosePopupCallback):
- (WebCore::PagePopupBlackBerry::installDOMFunction):
-
-2013-05-09 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] Upstream the input popups
- https://bugs.webkit.org/show_bug.cgi?id=114608
-
- Reviewed by Rob Buis.
-
- This patch contains contributions from many members of the
- BlackBerry WebKit team, including:
-
- Chris Hutten-Czapski
- David Hoon
- Jessica Cao
- Rob Buis
- Tiancheng Jiang
-
- * WebCoreSupport/ColorPickerClient.cpp:
- (WebCore):
- (WebCore::ColorPickerClient::generateHTML):
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore):
- (WebCore::DatePickerClient::generateHTML):
- (WebCore::DatePickerClient::generateDateLabels):
- * WebCoreSupport/DatePickerClient.h:
- (DatePickerClient):
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore):
- (WebCore::SelectPopupClient::generateHTML):
-
-2013-05-09 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Style updates required based on new check-webkit-style
- https://bugs.webkit.org/show_bug.cgi?id=115857
-
- Reviewed by Rob Buis.
-
- Update DOMSupport to match check-webkit-style updates.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isTextInputElement):
- (BlackBerry::WebKit::DOMSupport::isPasswordElement):
- (BlackBerry::WebKit::DOMSupport::convertPointToFrame):
-
-2013-05-09 Xuefei Ren <xren@blackberry.com>
-
- [BLACKBERRY]fix regression in Webpage
- and FrameLoaderClientBlackberry
- https://bugs.webkit.org/show_bug.cgi?id=115843
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mary Wu.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::loadFile):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::startDownload):
-
-2013-05-09 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Style updates required based on new check-webkit-style
- https://bugs.webkit.org/show_bug.cgi?id=115857
-
- Reviewed by Rob Buis.
-
- Update FatFingers to match check-webkit-style updates.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::checkFingerIntersection):
- (BlackBerry::WebKit::FatFingers::checkForClickableElement):
- * WebKitSupport/FatFingers.h:
- (FatFingersResult):
-
-2013-05-09 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Style updates required based on new check-webkit-style
- https://bugs.webkit.org/show_bug.cgi?id=115857
-
- Reviewed by Rob Buis.
-
- Update InRegionScrollableArea, TileIndexHash
- and TouchEventHandler to match check-webkit-style updates.
-
- * WebKitSupport/InRegionScrollableArea.cpp:
- * WebKitSupport/TileIndexHash.h:
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
-
-2013-05-09 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Style updates required based on new check-webkit-style
- https://bugs.webkit.org/show_bug.cgi?id=115857
-
- Reviewed by Rob Buis.
-
- Styles fixes required for InputHandler based on updated
- check-webkit-style.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- (BlackBerry::WebKit::InputHandler::ensureFocusPluginElementVisible):
- (BlackBerry::WebKit::InputHandler::setPopupListIndexes):
- (BlackBerry::WebKit::InputHandler::firstSpanInString):
- (BlackBerry::WebKit::InputHandler::setTextAttributes):
- * WebKitSupport/InputHandler.h:
-
-2013-05-08 Eli Fidler <efidler@blackberry.com>
-
- [BlackBerry] Fix usage of BlackBerry::Platform::String
- https://bugs.webkit.org/show_bug.cgi?id=115781
-
- Reviewed by Rob Buis.
-
- BlackBerry PRs 304193 and 327181
- Internally Reviewed by Mike Lattanzio, Arvid Nilsson, Joe Mason, Jeff Rogers, and George Staikos
-
- We currently have a problem where we're passing UTF-8 encoded data into
- the char* constructors of BlackBerry::Platform::String. This means the string
- thinks its data is not UTF-8.
-
- * Api/JavaScriptVariant.cpp:
- (BlackBerry::WebKit::JSValueRefToBlackBerryJavaScriptVariant):
- * Api/WebKitTextCodec.cpp:
- (BlackBerry::WebKit::base64Encode):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::loadFile):
- (BlackBerry::WebKit::WebPage::textEncoding):
- (BlackBerry::WebKit::WebPage::textHasAttribute):
- (BlackBerry::WebKit::WebPagePrivate::defaultUserAgent):
- * Api/WebPage.h:
- * Api/WebSettings.cpp:
- (BlackBerry::WebKit::WebSettings::standardSettings):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveIcon):
- * WebKitSupport/DefaultTapHighlight.cpp:
- (WebKit):
- (BlackBerry::WebKit::DefaultTapHighlight::draw):
- (BlackBerry::WebKit::DefaultTapHighlight::hide):
-
-2013-05-08 Rob Buis <rbuis@rim.com>
-
- Fix some compiler warnings (miscellaneous)
- https://bugs.webkit.org/show_bug.cgi?id=80790
-
- Reviewed by Philip Rogers.
-
- Get rid of the following warning for BlackBerry:
-
- BackingStoreClient.cpp:54:21: warning: unused parameter 'parentFrame' [-Wunused-parameter]
-
- by using ASSERT_UNUSED instead of ASSERT.
-
- * WebKitSupport/BackingStoreClient.cpp:
- (BlackBerry::WebKit::BackingStoreClient::create):
-
-2013-05-07 Xuefei Ren <xren@blackberry.com>
-
- Clean up load interface in WebPage
- https://bugs.webkit.org/show_bug.cgi?id=115622
- Reviewed by Rob Buis.
-
- Internal PR:315535
- Internal reviewed by Mary Wu
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::load):
- (BlackBerry::WebKit::WebPage::loadFile):
- (BlackBerry::WebKit::WebPage::load):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::startDownload):
-
-2013-05-07 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Increase the padding size for caret based scrolling.
- https://bugs.webkit.org/show_bug.cgi?id=115749
-
- Reviewed by Rob Buis.
-
- PR 322670.
-
- Increasing the padding size for scrolling in order to optimize the
- number of scrolls required during typing.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2013-05-07 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Maintain touch event state throughout processing
- https://bugs.webkit.org/show_bug.cgi?id=115663
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Otto Cheung and Genevieve Mak.
-
- PR 297691
- By maintaining our touch event state, we can get a better idea
- of what triggered an update to selection and respond appropriately.
- On touch press we set userTouchTriggered to give the UI thread
- some context.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- (BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
-
-2013-05-07 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Read-only fields should not get keyboard focus
- https://bugs.webkit.org/show_bug.cgi?id=115725
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton.
-
- PR332887
- Prevent keyboard focus and FCC from displaying when the user taps on a
- read-only field. Further, ensure form controls skip over these fields
- with the next/previous buttons.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::elementIsReadOnly):
- (DOMSupport):
- * WebKitSupport/DOMSupport.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::focusedNodeChanged):
- (BlackBerry::WebKit::InputHandler::setInputModeEnabled):
- (BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
- (BlackBerry::WebKit::InputHandler::isActiveTextEdit):
- (WebKit):
- * WebKitSupport/InputHandler.h:
-
-2013-05-07 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Expand spellcheck logging
- https://bugs.webkit.org/show_bug.cgi?id=115482
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton.
-
- Fix some build errors when SpellingLog was turned on and expand on the debug
- statements to be more verbose. Set up timers and print the duration of each
- iteration as we traverse the text to create a range to send out for checking.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
- (WebKit):
- (BlackBerry::WebKit::InputHandler::spellCheckTextBlock):
- * WebKitSupport/SpellingHandler.cpp:
- (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
- (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
-
-2013-05-06 Mike Lattanzio <mlattanzio@blackberry.com>
-
- [BlackBerry] Enable and Expose Text Autosizing through BlackBerry::WebKit::WebSettings
- https://bugs.webkit.org/show_bug.cgi?id=113808
-
- Reviewed by Rob Buis.
-
- Create a WebSetting for text autosizing. The default is off.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- * Api/WebSettings.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebSettings::standardSettings):
- (BlackBerry::WebKit::WebSettings::isTextAutosizingEnabled):
- (BlackBerry::WebKit::WebSettings::setTextAutosizingEnabled):
- * Api/WebSettings.h:
-
-2013-05-06 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Ensure document is attached before accessing its FrameSelection
- https://bugs.webkit.org/show_bug.cgi?id=115565
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton.
-
- PR 312101
- We need to make sure that the node and document
- are attached before accessing the FrameSelection. This was
- handled earlier but not all call paths were covered.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
- (BlackBerry::WebKit::InputHandler::isActiveTextEdit):
- (WebKit):
- * WebKitSupport/InputHandler.h:
-
-2013-05-06 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Do not spellcheck when composition is active.
- https://bugs.webkit.org/show_bug.cgi?id=115562
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton.
-
- PR331344
- Typing can trigger rechecking since layout changes. Ensure
- extra work is only done when we need it, and that it won't
- be triggered when composition is active. If the user hasn't
- finished a word yet, it is likely future key events will be
- arriving, so checking the string at this point is extraneous.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
-
-2013-05-06 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Reduce the spellcheck checking range
- https://bugs.webkit.org/show_bug.cgi?id=115479
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton.
-
- PR332773
- Previously we were spellchecking the entire field on focus. If relayouting
- occurred we rechecked this region, which is very costly. Switch to check
- only a small region around the caret in both cases, which should alleviate
- much of the delays experienced in very large contenteditable fields. This
- allows for faster key input response and less time processing these requests
- on the WebKit thread.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- (BlackBerry::WebKit::InputHandler::spellCheckTextBlock):
- * WebKitSupport/SpellingHandler.cpp:
- (WebKit):
- (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
- * WebKitSupport/SpellingHandler.h:
- (SpellingHandler):
-
-2013-05-06 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Use a more descriptive timer name
- https://bugs.webkit.org/show_bug.cgi?id=115481
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton.
-
- Changing m_timer to m_iterationDelayTimer.
-
- * WebKitSupport/SpellingHandler.cpp:
- (BlackBerry::WebKit::SpellingHandler::SpellingHandler):
- (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
- (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
- * WebKitSupport/SpellingHandler.h:
- (SpellingHandler):
-
-2013-05-04 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Clean up unused spellcheck code
- https://bugs.webkit.org/show_bug.cgi?id=115560
-
- Reviewed by Benjamin Poulain.
- Internally reviewed by Mike Lattanzio
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
- * Api/WebPage.h:
- * WebKitSupport/InputHandler.cpp:
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2013-05-03 Jacky Jiang <zhajiang@blackberry.com>
-
- [BlackBerry] Page rendering scale is changed after go back and forward
- https://bugs.webkit.org/show_bug.cgi?id=115573
-
- Reviewed by Rob Buis.
- Internally reviewed by Jeff Rogers.
-
- PR: 326886
- When navigating back from page A with viewport to page B without
- viewport, we didn't call setViewMode(); therefore, we didn't change
- the fixed layout size which was set by page A. In that case, WebCore
- would just pick up page A's fixed layout size to layout page B which
- caused this issue.
- Expecting zoomToInitialScaleOnLoad() or other functions to setViewMode()
- later is not a good way, because zoomToInitialScaleOnLoad() has never
- been called in this case. So we should always call setViewMode() to set
- fixed layout size when a new page is committed.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
-
-2013-05-02 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Cannot touch scroll readonly text input.
- https://bugs.webkit.org/show_bug.cgi?id=115378
-
- Reviewed by Rob Buis.
-
- PR #332902
- Reviewed Internally by Mike Fenton.
- Forgot half the patch.
- Node::rendererIsEditable() returns false if the input element has the readonly tag set.
- Check the node type instead.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::canScrollRenderBox):
-
-2013-05-02 Iris Wu <shuwu@blackberry.com>
-
- [BlackBerry] Make scroll position adjustment work with pages with fixed position elements.
- https://bugs.webkit.org/show_bug.cgi?id=115178
-
- Reviewed by Rob Buis.
-
- PR 308796
- Debug build fix.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::fixedElementSizeDelta):
-
-2013-05-01 Iris Wu <shuwu@blackberry.com>
-
- [BlackBerry] Upstream smart selection
- https://bugs.webkit.org/show_bug.cgi?id=111226
-
- Reviewed by Rob Buis.
-
- Calling userInterfaceViewportAccessor()->documentViewportRect() on WK thread
- caused crash.
- But viewport from webkitThreadViewportAccessor uses unadjusted size which is
- wrong for email.
- The solution here is to get actual viewport size on UI thread and then pass it
- to WebKit::SelectionHandler.
-
- PR 333763
- Reviewed Internally By Jakob Petsovits.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::updateSelectionScrollView):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setSelectionDocumentViewportSize):
- (WebKit):
- * Api/WebPage.h:
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
- (BlackBerry::WebKit::SelectionHandler::ensureSelectedTextVisible):
- (BlackBerry::WebKit::SelectionHandler::selectionViewportRect):
- * WebKitSupport/SelectionHandler.h:
- (BlackBerry::WebKit::SelectionHandler::setSelectionViewportSize):
- (BlackBerry::WebKit::SelectionHandler::setSelectionSubframeViewportRect):
- (SelectionHandler):
-
-2013-04-30 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Cannot touch scroll readonly text input.
- https://bugs.webkit.org/show_bug.cgi?id=115378
-
- Reviewed by Rob Buis.
-
- PR #332902
- Reviewed Internally by Mike Fenton.
- Node::rendererIsEditable() returns false if the input element has the readonly tag set.
- Check the node type instead.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isShadowHostTextInputElement):
- (DOMSupport):
- * WebKitSupport/DOMSupport.h:
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2013-04-29 Jakob Petsovits <jpetsovits@blackberry.com>
-
- [BlackBerry] Replace disappearing fillBuffer() API with graphics context drawing
- https://bugs.webkit.org/show_bug.cgi?id=115360
- Internal PR 303048.
-
- Reviewed by Rob Buis.
-
- Instead of using fillBuffer() to draw directly to the
- target buffer, we now lock a Drawable on it and fill it
- with PlatformGraphicsContext::addPredefinedPattern().
-
- As a bonus, this also includes related clean-ups -
- simpler checkerboard painting code, removal of
- fillWindow(), clearWindow() and paintDefaultBackground(),
- as well as getting rid of the DEBUG_CHECKERBOARD define
- which has been useless for performance tracing purposes
- for a while now.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- * Api/BackingStore_p.h:
-
-2013-04-26 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Check for valid element in elementTouched
- https://bugs.webkit.org/show_bug.cgi?id=115205
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Genevieve Mak.
-
- PR 331546
- We might receive a null ptr from nodeAsElementIfApplicable which
- is passed in here. Check to make sure it's valid before using.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::elementTouched):
-
-2013-04-26 Martin Robinson <mrobinson@igalia.com>
-
- Remove the remaining Skia #ifdefs
- https://bugs.webkit.org/show_bug.cgi?id=114886
-
- Reviewed by Benjamin Poulain.
-
- * Api/WebPage.cpp: Remove Skia #ifdef references.
- * WebCoreSupport/AboutDataUseFeatures.in: Ditto.
-
-2013-04-26 Mary Wu <mary.wu@torchmobile.com.cn>
-
- [BlackBerry] Should check if it's cached resource before download
- https://bugs.webkit.org/show_bug.cgi?id=115101
-
- Reviewed by Rob Buis.
-
- Since main resource maybe cached, if user want to save the resource, we first check
- if it's cached. If yes, don't need to initiate a fresh load again, but get the
- cached resource data out to save.
-
- RIM bug# 324003, internally reviewed by Charles Wei.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):
-
-2013-04-26 Mary Wu <mary.wu@torchmobile.com.cn>
-
- [BlackBerry] Clean up load interface in WebPage
- https://bugs.webkit.org/show_bug.cgi?id=113267
-
- Reviewed by Rob Buis.
-
- Remove unused loadExtended(), combine load() and download() api in WebPage.
- RIM Bug# 315535, internally reviewed by Joe Mason.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::load):
- * Api/WebPage.h:
-
-2013-04-25 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Selection overlay on non-composited iframes are incorrectly positioned.
- https://bugs.webkit.org/show_bug.cgi?id=115197
-
- Reviewed by Rob Buis.
-
- When drawing the selection overlay, the rects to
- paint when selecting text on non-composited sub-frames
- need to be adjusted by the frame position.
-
- * WebKitSupport/SelectionOverlay.cpp:
- (BlackBerry::WebKit::SelectionOverlay::paintContents):
-
-2013-04-25 Andreas Kling <akling@apple.com>
-
- Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.
-
- Rubber-stamped by Anders Koivisto.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2013-04-25 Iris Wu <shuwu@blackberry.com>
-
- [BlackBerry] Make scroll position adjustment work with pages with fixed position elements.
- https://bugs.webkit.org/show_bug.cgi?id=115178
-
- Reviewed by Rob Buis.
-
- PR 308796
-
- Currently the position WebPage::adjustDocumentScrollPosition adjusts is the top
- left point of the viewport.
- On the page with fixed position elements, we want it to adjust the position beneath
- the fixed elements so it can be always visible.
-
- The basic idea is:
- 1. Detect if there are fixed position elements before going through ProximityDetector.
- 2. If the fixed element exists, calculate its the size and the actual visible position
- beneath it.
- 3. Pass the position to ProximityDetector. Then according to the new position we get,
- calculate the top left position of the viewport (final scroll position).
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::fixedElementSizeDelta):
- (WebKit):
- * Api/WebPage.h:
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::findFixedElementRect):
- (WebKit):
- * Api/WebPageCompositor_p.h:
- (WebPageCompositorPrivate):
-
-2013-04-25 Mike Lattanzio <mlattanzio@blackberry.com>
-
- [BlackBerry] Enable balanced page group load deferrer behaviour.
- https://bugs.webkit.org/show_bug.cgi?id=115189
-
- Reviewed by Rob Buis.
-
- Prevent a possible deadlock by enabling balanced deferrers.
- Internally reviewed by: Joe Mason
- PR 329986
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
-
-2013-04-25 Joseph Pecoraro <pecoraro@apple.com>
-
- Web Inspector: ConsoleMessage should include line and column number where possible
- https://bugs.webkit.org/show_bug.cgi?id=114929
-
- Reviewed by Timothy Hatcher.
-
- * Api/DumpRenderTreeClient.h:
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::addMessageToConsole):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2013-04-25 Konrad Piascik <kpiascik@blackberry.com>
-
- [BlackBerry] Get rid of return in void method
- https://bugs.webkit.org/show_bug.cgi?id=115186
-
- Reviewed by Rob Buis.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setForcedTextEncoding):
-
-2013-04-24 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Do not clear focus on a node when tapping on form controls
- https://bugs.webkit.org/show_bug.cgi?id=115055
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Genevieve Mak.
-
- PR316069
- To allow for rich text editors to apply styles on an input field
- or highlighted text, we must maintain focus on the current element
- when tapping on form elements. Moving the code that clears this
- context to trigger off TouchHold instead of TouchPress.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::doFatFingers):
-
-== Rolled over to ChangeLog-2013-04-24 ==
diff --git a/Source/WebKit/blackberry/ChangeLog-2013-04-24 b/Source/WebKit/blackberry/ChangeLog-2013-04-24
deleted file mode 100644
index 2a67f3932..000000000
--- a/Source/WebKit/blackberry/ChangeLog-2013-04-24
+++ /dev/null
@@ -1,22299 +0,0 @@
-2013-04-23 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Invalid assert in InputHandler::requestCheckingOfString()
- https://bugs.webkit.org/show_bug.cgi?id=114952
-
- Reviewed by Rob Buis.
-
- Do not assume that Batch requests are only created whe input field
- is focused, the Editor can also create Batch requests when pasting
- a selection.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- Remove invalid assert.
-
-2013-04-23 Xan Lopez <xlopez@igalia.com>
-
- [BlackBerry] Simplify BackForwardListBlackBerry::clear
- https://bugs.webkit.org/show_bug.cgi?id=115029
-
- Reviewed by Carlos Garcia Campos.
-
- Simplify the implementation of the clear method. Instead of asking
- the WebCore implementation to search each item and delete it, set
- the capacity of the list to zero directly, which will do the same
- thing but more efficiently.
-
- No change in behavior, no new tests.
-
- * WebCoreSupport/BackForwardListBlackBerry.cpp:
- (WebCore::BackForwardListBlackBerry::clear):
-
-2013-04-23 Xan Lopez <xlopez@igalia.com>
-
- [BlackBerry] Do not access BackForwardListImpl from DRT
- https://bugs.webkit.org/show_bug.cgi?id=115041
-
- Reviewed by Carlos Garcia Campos.
-
- Export the necessary functionality in our BackForwardList port
- client in order for DRT to work.
-
- * WebCoreSupport/BackForwardListBlackBerry.cpp:
- (WebCore::BackForwardListBlackBerry::backListWithLimit):
- (WebCore):
- (WebCore::BackForwardListBlackBerry::forwardListWithLimit):
- (WebCore::BackForwardListBlackBerry::capacity):
- * WebCoreSupport/BackForwardListBlackBerry.h:
- (BackForwardListBlackBerry):
-
-2013-04-23 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Need to send out change event for date/color picker
- https://bugs.webkit.org/show_bug.cgi?id=114942
-
- Reviewed by Carlos Garcia Campos.
-
- We need to instruct the FormControlElements to send out 'change' event
- when the user makes the selection and closes the PagePopup for date/color.
-
- * WebCoreSupport/ColorPickerClient.cpp:
- (WebCore::ColorPickerClient::setValueAndClosePopup):
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore::DatePickerClient::setValueAndClosePopup):
-
-2013-04-22 Eli Fidler <efidler@blackberry.com>
-
- [BlackBerry] Update about:config lists
- https://bugs.webkit.org/show_bug.cgi?id=114967
-
- Reviewed by Rob Buis.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
- * WebCoreSupport/AboutDataHaveFeatures.in:
- * WebCoreSupport/AboutDataUseFeatures.in:
-
-2013-04-22 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Update BatteryClientBlackBerry to use our port's new listener interface
- https://bugs.webkit.org/show_bug.cgi?id=114892
-
- Reviewed by Rob Buis.
- PR 328147
-
- Modify the client so we only have one listener for battery change events.
- The dispatch of different event listeners are handled by BatteryController.
-
- * WebCoreSupport/BatteryClientBlackBerry.cpp:
- (WebCore::BatteryClientBlackBerry::BatteryClientBlackBerry):
- (WebCore::BatteryClientBlackBerry::startUpdating):
- (WebCore::BatteryClientBlackBerry::stopUpdating):
- (WebCore::BatteryClientBlackBerry::onStatusChange):
- * WebCoreSupport/BatteryClientBlackBerry.h:
- (BatteryClientBlackBerry):
-
-2013-04-22 Xuefei Ren <xren@blackberry.com>
-
- fix build warning(unused parameter)
- https://bugs.webkit.org/show_bug.cgi?id=114855
-
- Reviewed by Rob Buis.
-
- remove warning(unused parameter) in
- Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::extractedTextRequest):
-
-2013-04-22 Xan Lopez <xlopez@igalia.com>
-
- [BlackBerry] ASSERT in FrameLoaderClient::convertMainResourceLoadToDownload
- https://bugs.webkit.org/show_bug.cgi?id=114741
-
- Reviewed by George Staikos.
-
- Consider the case where a ResourceHandle won't have a FilterStream
- object associated (for example, Blob objects) instead of ASSERTing
- pointlessly when asking our network layer for such an object.
-
- This partially fixes fast/dom/HTMLAnchorElement/anchor-nodownload-set.html
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):
-
-2013-04-22 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Add additional datalist support.
- https://bugs.webkit.org/show_bug.cgi?id=114883
-
- Reviewed by Rob Buis.
-
- PR 210083.
-
- Properly set state when opening a Date/Time popup and simplify
- the logic for showing datalist options.
-
- Internally Reviewed by Otto Cheung.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openDatePopup):
- (BlackBerry::WebKit::InputHandler::showTextInputTypeSuggestionBox):
-
-2013-04-19 Andy Chen <andchen@blackberry.com>
-
- [BlackBerry] Find-on-page should do the scoping again when highlight policy changed
- https://bugs.webkit.org/show_bug.cgi?id=114885
-
- Reviewed by Rob Buis.
-
- PR 195773
- Internally reviewed by Mike Fenton.
- For find on page, we need to treat it as a new search if highlightAllMatches
- changes but the text is not changed.
-
- * WebKitSupport/InPageSearchManager.cpp:
- (BlackBerry::WebKit::InPageSearchManager::findNextString):
- (BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
-
-2013-04-19 Xuefei Ren <xren@blackberry.com>
-
- fixed debug broken from previous patch
- https://bugs.webkit.org/show_bug.cgi?id=114844
-
- Reviewed by Rob Buis.
-
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::RenderQueue::scrollZoomJobsCompleted):
-
- Add the parameter outstandingJobs which is used in ASSERT(),it was
- removed in the r148677 by misstake.now I need to fix it.
-
-2013-04-19 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] EditorClientBlackBerry: Fix parameter name
- https://bugs.webkit.org/show_bug.cgi?id=114856
-
- Reviewed by Carlos Garcia Campos.
-
- Build fix due to a typo in a parameter name.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::requestCheckingOfString):
-
-2013-04-18 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Invalidate spell checking requests in platform code
- https://bugs.webkit.org/show_bug.cgi?id=114830
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton.
-
- Cache the value of the last requested sequence id at focus change.
- All requests prior to this point will be rejected upon processing.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- (BlackBerry::WebKit::InputHandler::stopPendingSpellCheckRequests):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2013-04-17 Geoffrey Garen <ggaren@apple.com>
-
- Renamed JSGlobalData to VM
- https://bugs.webkit.org/show_bug.cgi?id=114777
-
- Reviewed by Phil Pizlo.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::clearMemoryCaches):
- * WebKitSupport/AboutData.cpp:
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::javaScriptObjectsCount):
-
-2013-04-18 Ed Baker <edbaker@blackberry.com>
-
- [BlackBerry] Should pass through an actual error code when calling notifyLoadFinished
- https://bugs.webkit.org/show_bug.cgi?id=114815
-
- Reviewed by Rob Buis.
-
- PR #318079
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::postProgressFinishedNotification):
-
-2013-04-18 Xuefei Ren <xren@blackberry.com>
-
- remove build warning(unused parameter)
- https://bugs.webkit.org/show_bug.cgi?id=114670
-
- Reviewed by Rob Buis.
-
- remove builde warning (unused parameter) in
- Source/WebKit/blackberry
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
- (BlackBerry::WebKit::InputHandler::spannableTextInRange):
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::RenderQueue::backingStoreRectChanging):
- (BlackBerry::WebKit::RenderQueue::scrollZoomJobsCompleted):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::destroyPlatformGraphicsContext):
- (BlackBerry::WebKit::SurfacePool::waitForBuffer):
- (BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
- (BlackBerry::WebKit::SurfacePool::destroyPlatformSync):
-
-2013-04-18 Xuefei Ren <xren@blackberry.com>
-
- remove build warning(unused parameter)
- https://bugs.webkit.org/show_bug.cgi?id=114670
-
- Reviewed by Rob Buis.
-
- remove build warning in Source/WebKit/blackberry/Api
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::scroll):
- (BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
- (BlackBerry::WebKit::BackingStorePrivate::blitTileRect):
- (BlackBerry::WebKit::BackingStorePrivate::actualVisibleSizeChanged):
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::clearAppCache):
- (BlackBerry::WebKit::clearDatabase):
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setContentsToImage):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::layerVisibilityChanged):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::drawTextures):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToImage):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setCaretHighlightStyle):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositor::cleanup):
-
-2013-04-18 Xuefei Ren <xren@blackberry.com>
-
- removei build warning (unused parameter )
- https://bugs.webkit.org/show_bug.cgi?id=114670
-
- Reviewed by Rob Buis.
-
- remove warning (unused parameter ) in
- Source/WebKit/blackberry/WebCoreSupport
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::mouseDidMoveOverElement):
- (WebCore::ChromeClientBlackBerry::needTouchEvents):
- (WebCore::ChromeClientBlackBerry::reachedMaxAppCacheSize):
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore::DatePickerClient::setValue):
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::checkSpellingOfString):
- (WebCore::EditorClientBlackBerry::getAutoCorrectSuggestionForMisspelledWord):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNewWindowAction):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveResponse):
- (WebCore::FrameLoaderClientBlackBerry::shouldUseCredentialStorage):
- * WebCoreSupport/InspectorClientBlackBerry.cpp:
- (WebCore::InspectorClientBlackBerry::updateInspectorStateCookie):
- * WebCoreSupport/NetworkInfoClientBlackBerry.cpp:
- (WebCore::NetworkInfoClientBlackBerry::onCurrentNetworkTypeChange):
- (WebCore::NetworkInfoClientBlackBerry::onCurrentCellularTypeChange):
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::generateHTML):
- * WebCoreSupport/UserMediaClientImpl.cpp:
- (WebCore::UserMediaClientImpl::requestUserMedia):
-
-2013-04-17 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- Clean up spellcheck state when changing focus.
- https://bugs.webkit.org/show_bug.cgi?id=114758
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton and Gen Mak.
-
- PR325941
- If we lose focus while waiting for a spellcheck request to return, we will
- never see the reply and continue to queue up future requests. By clearing
- the queue we ensure that all requests being processed and waiting to fire
- are valid.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
- * WebKitSupport/SpellingHandler.cpp:
- (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
-
-2013-04-17 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry] Check image node with usemap attribute isLink failed
- https://bugs.webkit.org/show_bug.cgi?id=114751
-
- Reviewed by Rob Buis.
-
- PR 326780
- Internally Reviewed by Liam Quinn.
-
- An image node with usemap will crash when call isLink.
- If the node is linkNode, bring up the CCM(eg. linked image).
- Also use toElement method as agomes suggested in pr 113957.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::findBestPoint):
-
-2013-04-16 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- Redo spellchecking of a field if the layout has changed
- https://bugs.webkit.org/show_bug.cgi?id=114700
-
- Reviewed by Rob Buis.
- Internally reviewed by Mike Fenton.
-
- PR258637
- If we insert a child node during spellchecking, the current request along
- with the requests in queue become stale. The offsets were calculated when
- they were created are no longer valid. We clear the queue by setting sequence
- id to -1 and trigger spell checking again. We only trigger re-checking
- if the layout change occurred during processing of a request. This is
- maintained with the m_request pointer as it should be cleared after use.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::layoutFinished):
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::requestCheckingOfString):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
- (BlackBerry::WebKit::InputHandler::spellCheckTextBlock):
- (WebKit):
- (BlackBerry::WebKit::InputHandler::stopPendingSpellCheckRequests):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2013-04-16 Jacky Jiang <zhajiang@blackberry.com>
-
- [BlackBerry] Viewport not rendered correctly
- https://bugs.webkit.org/show_bug.cgi?id=114704
-
- Reviewed by Rob Buis.
- Internally reviewed by Konrad Piascik.
-
- PR: 326260
- The applyDeviceScaleFactorInCompositor setting is now generated from
- Settings.in after rebase, the setter should be setApplyDeviceScaleFactorInCompositor()
- instead of setApplyPageScaleFactorInCompositor().
- The setting can be removed from WebSettings and use a simpler way
- instead in the future if there are no issues when TextAutoSizer is
- enabled. Just keep it for now.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- * Api/WebSettings.cpp:
- (BlackBerry::WebKit::WebSettings::setApplyDeviceScaleFactorInCompositor):
- * Api/WebSettings.h:
-
-2013-04-16 Leo Yang <leoyang@rim.com>
-
- [BlackBerry] Update WebPage.{h, cpp} for supporting web filesystem
- https://bugs.webkit.org/show_bug.cgi?id=114698
-
- Reviewed by Rob Buis.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPage::clearBrowsingData):
- (BlackBerry::WebKit::WebPage::clearWebFileSystem):
- (WebKit):
- * Api/WebPage.h:
-
-2013-04-16 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Accelerated animation regression with GL renderer
- https://bugs.webkit.org/show_bug.cgi?id=114685
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Filip Spacek.
-
- GL renderer changed the assumption made in accelerated animation
- code that rendering the contents of AC layer tiles would be the
- slow operation. By starting animations after the slow operation,
- the appearance of the animation could be made smooth.
-
- Rendering tiles may still be slow, but now something else can be
- slow too: drawing display lists to backing. And it's running on
- the compositing thread, can happen at any time and will interrupt
- accelerated animations.
-
- Improved the situation by calling an API for updating backing to
- schedule the delay at a convenient time. We try to update backing
- before starting animations. However, future backing updates can
- still interrupt the running animation and cause dropped frames.
-
- Further improvements to animation smoothness will probably require
- optimizations in the GL renderer.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/FrameLayers.cpp:
- (BlackBerry::WebKit::FrameLayers::notifyAnimationsStarted):
- (WebKit):
- * WebKitSupport/FrameLayers.h:
- (FrameLayers):
-
-2013-04-15 Liam Quinn <lquinn@blackberry.com>
-
- [BlackBerry] Crash from null m_webSettings in WebPagePrivate
- https://bugs.webkit.org/show_bug.cgi?id=114633
- RIM PR 303745
-
- Reviewed by Rob Buis.
- Internally reviewed by Leo Yang.
-
- Speculative fix suggested by George Staikos--initialize m_webSettings first thing in the init() method.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
-
-2013-04-15 Andy Chen <andchen@blackberry.com>
-
- [BlackBerry] Forward userGesture when creating a new window
- https://bugs.webkit.org/show_bug.cgi?id=114622
-
- Reviewed by Rob Buis.
-
- Client could use this info to decide whether the popup should
- be blocked.
- PR 291898
- Reviewed internally by Mike Fenton
-
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::createWindow):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchCreatePage):
-
-2013-04-15 Xan Lopez <xlopez@igalia.com>
-
- [BlackBerry] ASSERT in StyleResolver::ensureScopeResolver()
- https://bugs.webkit.org/show_bug.cgi?id=114615
-
- Reviewed by Carlos Garcia Campos.
-
- Add a method to enable the style scoped feature to our
- DumpRenderTreeSupport class.
-
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::setStyleScopedEnabled):
- * WebKitSupport/DumpRenderTreeSupport.h:
- (DumpRenderTreeSupport):
-
-2013-04-12 Yongxin Dai <yodai@rim.com>
-
- [BlackBerry] Enable selecting text in single line input field without selection point being actually on the targeted text vertically
- https://bugs.webkit.org/show_bug.cgi?id=114515
-
- Reviewed by Rob Buis.
-
- PR #317924.
- Internally reviewed by Mike Fenton.
-
- It was still hard to select text in URL bar with an inverted selection handle.
- We improve the issue by replacing the Y coordinate of selection point with Y
- coordinate of start caret for single line input filed. Thus, the Y coordinate
- is always valid regardless of the actual location of the selection handle.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::setSelection):
- (BlackBerry::WebKit::SelectionHandler::startCaretViewportRect):
- (WebKit):
- (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
-
-2013-04-12 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Crash running layout tests
- https://bugs.webkit.org/show_bug.cgi?id=114503
-
- Reviewed by Xan Lopez.
-
- Hit an assertion in ~GuardedPointerBase when DRT is
- deleted. DumpRenderTree class derives from
- BlackBerry::Platform::LayoutTestClient that derives from
- BlackBerry::Platform::GuardedPointerBase, so the DRT pointer
- should no be released with delete but with
- BlackBerry::Platform::deleteGuardedObject().
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
-
-2013-04-12 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Crash running layout tests when WebPage is destroyed
- https://bugs.webkit.org/show_bug.cgi?id=114497
-
- Reviewed by Xan Lopez.
-
- PR 324649
- Internally reviewed by Konrad Piascik and Rob Buis.
-
- Use a bool member to keep track of whether the inspector is
- enabled or not instead of relaying on the enable developer extras
- setting, that can be set in other places than enableWebInspector().
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate): Initialize
- m_inspectorEnabled.
- (BlackBerry::WebKit::WebPage::enableWebInspector): Return early if
- inspector is already enabled and set m_inspectorEnabled to true.
- (BlackBerry::WebKit::WebPage::disableWebInspector): Return early
- if inspector is not enabled and set m_inspectorEnabled to false.
- (BlackBerry::WebKit::WebPage::isWebInspectorEnabled): Check the
- current value of m_inspectorEnabled instead of the developer
- extras setting.
- * Api/WebPage_p.h:
- (WebPagePrivate): Add m_inspectorEnabled.
-
-2013-04-11 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Initial scale changes depending on the order of page navigations
- https://bugs.webkit.org/show_bug.cgi?id=114448
-
- Reviewed by Rob Buis.
-
- PR: 323941
- During page transitions, absoluteVisibleOverflowSize() and contentsSize()
- in fixedLayoutSize() were based on the old page when we just started or
- committed provisinal load. In that case, fixedLayoutSize() is very old
- page dependent and can cause inconsistent behaviors. For example, if
- the old page contents width is 4000, we will get DEFAULT_MAX_LAYOUT_WIDTH 1024
- as the new page's fixedLayoutSize; however, we will get 768 if we
- navigate to the new page directly.
- To fix that, return default layout size if the page doesn't have
- virtual viewport and m_loadState is Provisional.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
-
-2013-04-11 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] LayerTexture refactoring
- https://bugs.webkit.org/show_bug.cgi?id=114276
-
- Reviewed by Carlos Garcia Campos.
-
- Adapt to the LayerTexture refactoring down in WebCore.
-
- PR 322882
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::uploadTexturesIfNeeded):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::drawTextures):
-
-2013-04-10 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Rename BlackBerry specific Texture class
- https://bugs.webkit.org/show_bug.cgi?id=95781
-
- Reviewed by Rob Buis.
-
- Texture was a bit too generic and prone to name conflicts. Renamed it
- to LayerTexture.
-
- PR 322882
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::uploadTexturesIfNeeded):
- * Api/WebOverlay_p.h:
- (WebOverlayLayerCompositingThreadClient):
-
-2013-04-08 Anders Carlsson <andersca@apple.com>
-
- Remove unneeded headers from FrameLoader.h
- https://bugs.webkit.org/show_bug.cgi?id=114223
-
- Reviewed by Geoffrey Garen.
-
- Include HistoryController.h from WebCore.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
-
-2013-04-09 Geoffrey Garen <ggaren@apple.com>
-
- Removed bitrotted TimeoutChecker code
- https://bugs.webkit.org/show_bug.cgi?id=114336
-
- Reviewed by Alexey Proskuryakov.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setTimeoutForJavaScriptExecution):
-
-2013-04-09 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Main page is rendered at wrong large scale after back from any zooming article at read.thestar.com
- https://bugs.webkit.org/show_bug.cgi?id=114296
-
- Reviewed by Rob Buis.
-
- PR: 308655
- We were relying on the load state Committed to reset m_userPerformedManualZoom
- and m_userPerformedManualScroll; however, the main resources of the
- articles on read.thestar.com were preloaded and the WebPage didn't get
- any load state change callbacks when going back to the main page from
- the articles. Therefore, m_userPerformedManualZoom had never been reset
- in this case and we picked up the wrong scale when restoring the main page.
- Rset m_userPerformedManualScroll and m_userPerformedManualScroll when
- we are going back or forward.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::goBackOrForward):
-
-2013-04-09 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] InputHandler: fix calls to HTMLInputElement methods
- https://bugs.webkit.org/show_bug.cgi?id=114283
-
- Reviewed by Rob Buis.
-
- Fix calls with wrong names.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::convertInputType):
-
-2013-04-08 Benjamin Poulain <benjamin@webkit.org>
-
- Remove HTML Notification
- https://bugs.webkit.org/show_bug.cgi?id=114231
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2013-04-08 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] WebPage: fix build due to type mismatches
- https://bugs.webkit.org/show_bug.cgi?id=114148
-
- Reviewed by Darin Adler.
-
- Add explicit conversions between LayoutUnit and int, and between
- LayoutRect and IntRect.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::rectForNode):
-
-2013-04-08 Jeff Rogers <jrogers@rim.com>
-
- [BlackBerry] Update BlackBerry JavaScript API
- https://bugs.webkit.org/show_bug.cgi?id=114065
-
- Reviewed by Rob Buis.
-
- Internal PR 317350
- Add new API for determining if user gesture is being processed.
- Remove obsolete files.
- Properly expose JSC global context.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
- (BlackBerry::WebKit::WebPage::globalContext):
- (BlackBerry::WebKit::WebPage::isProcessingUserGesture):
- (WebKit):
- * Api/WebPage.h:
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
- * WebCoreSupport/ClientExtension.cpp: Removed.
- * WebCoreSupport/ClientExtension.h: Removed.
- * WebCoreSupport/ExternalExtension.cpp: Removed.
- * WebCoreSupport/ExternalExtension.h: Removed.
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidClearWindowObjectInWorld):
-
-2013-04-08 Jakob Petsovits <jpetsovits@blackberry.com>
-
- [BlackBerry] More null checks for m_mainFrame
- https://bugs.webkit.org/show_bug.cgi?id=114172
-
- Reviewed by Rob Buis.
-
- After r147744, some unit tests were crashing on WebPage
- shutdown, because BackingStorePrivate::repaint() now uses
- pixelContentsRect() (accessing m_webPage->contentsRect())
- instead of BackingStoreClient::contentsRect(). In m_webPage,
- m_mainFrame had already been set to 0.
-
- Make us more robust against these errors by checking
- the existence of m_mainFrame more diligently.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::shouldZoomAboutPoint):
- (BlackBerry::WebKit::WebPagePrivate::shouldSendResizeEvent):
- (BlackBerry::WebKit::WebPagePrivate::contentsSize):
- (BlackBerry::WebKit::WebPagePrivate::absoluteVisibleOverflowSize):
- (BlackBerry::WebKit::WebPagePrivate::setViewMode):
-
-2013-04-08 Iris Wu <shuwu@blackberry.com>
-
- [BlackBerry] Force horizontal list to be horizontal scrollable.
- https://bugs.webkit.org/show_bug.cgi?id=114173
-
- Reviewed by Rob Buis.
-
- Force content to be horizontal/vertical overscrollable if it
- scrolls in horizontal/vertical way.
-
- PR 237440
- Internally Reviewed by Arvid Nilsson.
-
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2013-04-08 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] WebPage: misc build fixes
- https://bugs.webkit.org/show_bug.cgi?id=114152
-
- Reviewed by Carlos Garcia Campos.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::shouldPluginEnterFullScreen):
- (BlackBerry::WebKit::WebPagePrivate::didPluginExitFullScreen):
- (BlackBerry::WebKit::WebPagePrivate::onPluginStartBackgroundPlay):
- (BlackBerry::WebKit::WebPagePrivate::onPluginStopBackgroundPlay):
- Remove unused parameters.
-
- (BlackBerry::WebKit::WebPagePrivate::zoomAnimationFinished):
- (BlackBerry::WebKit::WebPage::blockZoom):
- Replace TAAUTO with TASTART (this changed in r120495).
-
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- Rename m_fullscreenVideoNode to m_fullscreenNode (this changed in
- r142220).
-
- (BlackBerry::WebKit::WebPagePrivate::compositorDrawsRootLayer):
- Rename paintingGoesToWindow() to paintsIntoWindow() (this changed in
- r113514).
-
-2013-04-07 David Kilzer <ddkilzer@apple.com>
-
- Remove the rest of SVG_DOM_OBJC_BINDINGS
- <http://webkit.org/b/114112>
-
- Reviewed by Geoffrey Garen.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
- - Remove reference to SVG_DOM_OBJC_BINDINGS.
-
-2013-04-06 Zan Dobersek <zdobersek@igalia.com>
-
- Remove the USE(SKIA_ON_MAC_CHROMIUM) guards
- https://bugs.webkit.org/show_bug.cgi?id=114084
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/AboutDataUseFeatures.in: Remove the SKIA_ON_MAC_(CHROME|CHROMIUM) reference.
-
-2013-04-05 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry] FatFingers Don't check the shadow tree for all elements.
- https://bugs.webkit.org/show_bug.cgi?id=114066
-
- Reviewed by Rob Buis.
-
- BlackBerry PR 263078
- Internally reviewed by Genevieve Mak.
-
- No need to check shadow tree since sliders use touch events.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::isElementClickable):
-
-2013-04-05 Zan Dobersek <zdobersek@igalia.com>
-
- Remove WTF_USE_GOOGLEURL-guarded code
- https://bugs.webkit.org/show_bug.cgi?id=114028
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/AboutDataUseFeatures.in: Remove GOOGLEURL from the list.
-
-2013-04-04 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Blitting wrong rect during history navigations
- https://bugs.webkit.org/show_bug.cgi?id=113963
-
- Reviewed by Rob Buis.
- Internally reviewed by Jakob Petsovits.
-
- On www.bbc.com/news, we blit wrong rect during the second restoration
- of the view states when we navigate back from stories to the main page.
- Update the contents size and scroll position before we render and blit
- if we failed to zoomAboutPoint so that UI thread can still get the
- correct rect during blit.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::restoreHistoryViewState):
-
-2013-04-05 Jakob Petsovits <jpetsovits@blackberry.com>
-
- [BlackBerry] Replace map{From,To}Transformed() with ViewportAccessor
- https://bugs.webkit.org/show_bug.cgi?id=113449
-
- Reviewed by Rob Buis.
-
- This removes the WebPage/BackingStoreClient family of coordinate
- transformation functions, which were widely disliked for their
- naming, with ViewportAccessor API that had previously been
- introduced for limited use cases. This commit takes care of the
- remaining call sites and leaves us with a single API to use.
-
- No new tests, only a clean-up/refactor of existing code & functionality.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::repaint):
- (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
- (BlackBerry::WebKit::BackingStorePrivate::visibleContentsRect):
- (BlackBerry::WebKit::BackingStorePrivate::unclippedVisibleContentsRect):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::expandedContentsSize):
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::clipToRect):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPagePrivate::scrollPosition):
- (BlackBerry::WebKit::WebPagePrivate::maximumScrollPosition):
- (BlackBerry::WebKit::WebPagePrivate::setScrollPosition):
- (BlackBerry::WebKit::WebPagePrivate::viewportSize):
- (BlackBerry::WebKit::WebPagePrivate::actualVisibleSize):
- (BlackBerry::WebKit::WebPagePrivate::layoutFinished):
- (BlackBerry::WebKit::WebPagePrivate::notifyTransformedContentsSizeChanged):
- (BlackBerry::WebKit::WebPagePrivate::updateCursor):
- (BlackBerry::WebKit::WebPagePrivate::focusNodeRect):
- (BlackBerry::WebKit::WebPagePrivate::contextNode):
- (BlackBerry::WebKit::WebPagePrivate::blockZoomRectForNode):
- (BlackBerry::WebKit::WebPagePrivate::zoomAnimationFinished):
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- (BlackBerry::WebKit::WebPage::blockZoom):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/BackingStoreClient.cpp:
- (BlackBerry::WebKit::BackingStoreClient::transformedScrollPosition):
- (BlackBerry::WebKit::BackingStoreClient::transformedMaximumScrollPosition):
- (BlackBerry::WebKit::BackingStoreClient::actualVisibleSize):
- (BlackBerry::WebKit::BackingStoreClient::transformedActualVisibleSize):
- * WebKitSupport/BackingStoreClient.h:
- (BackingStoreClient):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::fingerRectForPoint):
- (BlackBerry::WebKit::FatFingers::FatFingers):
- (BlackBerry::WebKit::FatFingers::findBestPoint):
- (BlackBerry::WebKit::FatFingers::findIntersectingRegions):
- (BlackBerry::WebKit::FatFingers::getNodesFromRect):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::sendClickAtFatFingersPoint):
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- (BlackBerry::WebKit::TouchEventHandler::handleFatFingerPressed):
- * WebKitSupport/WebKitThreadViewportAccessor.cpp:
- (BlackBerry::WebKit::WebKitThreadViewportAccessor::pixelContentsSize):
- (BlackBerry::WebKit::WebKitThreadViewportAccessor::pixelScrollPosition):
- (BlackBerry::WebKit::WebKitThreadViewportAccessor::documentViewportSize):
-
-2013-04-05 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] Remove unused parameters from notifyAnimationStarted() and paintContents()
- https://bugs.webkit.org/show_bug.cgi?id=114022
-
- Reviewed by Carlos Garcia Campos.
-
- Naming the 'time' and 'inClip' unused parameters only produces
- compiler warnings.
-
- * Api/WebOverlay_p.h:
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::notifyAnimationStarted):
- (WebOverlayPrivateWebKitThread):
- * Api/WebPage_p.h:
- (BlackBerry::WebKit::WebPagePrivate::notifyAnimationStarted):
- (BlackBerry::WebKit::WebPagePrivate::paintContents):
- * WebKitSupport/DefaultTapHighlight.h:
- (BlackBerry::WebKit::DefaultTapHighlight::notifyAnimationStarted):
- * WebKitSupport/InspectorOverlayBlackBerry.cpp:
- (BlackBerry::WebKit::InspectorOverlay::paintContents):
- * WebKitSupport/InspectorOverlayBlackBerry.h:
- (BlackBerry::WebKit::InspectorOverlay::notifyAnimationStarted):
- (InspectorOverlay):
- * WebKitSupport/SelectionOverlay.h:
- (BlackBerry::WebKit::SelectionOverlay::notifyAnimationStarted):
-
-2013-04-05 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] WebOverlay: fix access to m_client
- https://bugs.webkit.org/show_bug.cgi?id=114003
-
- Reviewed by Rob Buis.
-
- m_client was replace by m_overlay in r146058.
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::uploadTexturesIfNeeded):
-
-2013-04-05 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] WebOverlayPrivate: remove showDebugBorders() and showRepaintCounter()
- https://bugs.webkit.org/show_bug.cgi?id=114009
-
- Reviewed by Carlos Garcia Campos.
-
- These methods were removed in r133517 but were accidentally
- introduced again in r145968.
- The previous patch didn't remove them all.
-
- * WebKitSupport/DefaultTapHighlight.cpp:
- * WebKitSupport/DefaultTapHighlight.h:
- (DefaultTapHighlight):
- * WebKitSupport/InspectorOverlayBlackBerry.cpp:
- * WebKitSupport/InspectorOverlayBlackBerry.h:
- (InspectorOverlay):
- * WebKitSupport/SelectionOverlay.cpp:
- * WebKitSupport/SelectionOverlay.h:
- (SelectionOverlay):
-
-2013-04-05 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] WebOverlayPrivate: remove showDebugBorders() and showRepaintCounter()
- https://bugs.webkit.org/show_bug.cgi?id=114009
-
- Reviewed by Carlos Garcia Campos.
-
- These methods were removed in r133517 but were accidentally
- introduced again in r145968.
-
- * Api/WebOverlay_p.h:
- (WebOverlayPrivateWebKitThread):
-
-2013-04-05 Anthony Scian <ascian@blackberry.com>
-
- [BlackBerry] WebOverlay: check if platformContext is null
- https://bugs.webkit.org/show_bug.cgi?id=114005
-
- Reviewed by Carlos Garcia Campos.
-
- RIM PR 256522
- Internally reviewed by Mike Lattanzio.
-
- The pointer returned by lockBufferDrawable can be null, so it
- needs to be checked first before being used.
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::uploadTexturesIfNeeded):
-
-2013-04-05 Benjamin Poulain <bpoulain@apple.com>
-
- Remove WTFURL from WebKit
- https://bugs.webkit.org/show_bug.cgi?id=113994
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/AboutDataUseFeatures.in:
-
-2013-04-04 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] DOMSupport::isFixedPositionOrHasFixedPositionAncestor stops traversing render tree when it hits an iframe element
- https://bugs.webkit.org/show_bug.cgi?id=113944
-
- Reviewed by Rob Buis.
- Internally reviewed by Mike Fenton.
-
- Internal PR 320732.
- When checking whether a RenderObject is fixed position or has a fixed position
- ancestor, we traverse the render tree upwards.
-
- When we reach the root of the tree, check whether the root is an
- iframe and has an element owner. If so, we also need to continue iterating
- up the tree from the owner to see if the iframe is a descendant of a fixed
- position element.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isFixedPositionOrHasFixedPositionAncestor):
-
-2013-04-04 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry] Adjust fatfinger result priority
- https://bugs.webkit.org/show_bug.cgi?id=113957
-
- Reviewed by Rob Buis.
-
- RIM PR 224781
- Internally Reviewed by Genevieve Mak.
-
- Change fatfigner algorithm, return the clickable element rather than
- its parent anchor. Modify taphighlight and context menu node selection
- accordingly.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::findBestPoint):
- * WebKitSupport/FatFingers.h:
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::elementForTapHighlight):
-
-2013-04-03 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Remove defaultViewportArguments check from call site of recomputeVirtualViewportFromViewportArguments
- https://bugs.webkit.org/show_bug.cgi?id=113872
-
- Reviewed by Carlos Garcia Campos.
-
- Carlos pointed out that recomputeVirtualViewportFromViewportArguments
- already contains the check, and returns an empty IntSize if it fails.
- So pick up on that to make the code a bit more DRY.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
-
-2013-04-03 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Decouple layout viewport from visual viewport
- https://bugs.webkit.org/show_bug.cgi?id=113829
-
- Reviewed by Carlos Garcia Campos.
-
- Setting the visual viewport would force the layout viewport equal to
- the visual viewport. Decouple the viewports by allowing the user to
- specify a layout viewport when setting the viewport(s). The layout
- viewport could be the exact same value passed for visual viewport, if
- the old behavior is desired.
-
- Also reevaluate any viewport arguments when (only) the layout viewport
- changes in WebPage::setDefaultLayoutSize() since the layout viewport is
- used as input to the calculation.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setScreenOrientation):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- (BlackBerry::WebKit::WebPage::setViewportSize):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::setDefaultLayoutSize):
- (BlackBerry::WebKit::WebPage::defaultLayoutSize):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2013-04-02 Maxim Mogilnitsky <mmogilnitsky@rim.com>
-
- [BlackBerry] API update for IntRect
- https://bugs.webkit.org/show_bug.cgi?id=113824
-
- Reviewed by Rob Buis.
-
- Modifing IntRect and FloatRect API.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::regionForTextQuads):
-
-2013-04-02 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Create a selection from two points irregardless of the caret position.
- https://bugs.webkit.org/show_bug.cgi?id=113795
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton.
-
- PR276577
- If we are to set both the base and extent of a selection, we should maintain the base upon setting the extent.
- This prevents us from overwriting the previous calculation when setting extent.
- Further, instead of setting and manipulating the selection, simply set up start and end VisiblePositions and
- create a new directional selection so as to set the base and extent simultaneously.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::setSelection):
-
-2013-04-01 Konrad Piascik <kpiascik@blackberry.com>
-
- [BlackBerry] Move Path into it's own header
- https://bugs.webkit.org/show_bug.cgi?id=113724
-
- Reviewed by Rob Buis.
-
- * WebKitSupport/DefaultTapHighlight.cpp:
-
-2013-03-29 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Cleanup the CONTEXT_MENUS in BlackBerry porting
- https://bugs.webkit.org/show_bug.cgi?id=113562
-
- Reviewed by George Staikos.
- Internally reviewed by Mike Fenton and Gen Mak.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebCoreSupport/ContextMenuClientBlackBerry.cpp:
- * WebCoreSupport/ContextMenuClientBlackBerry.h:
-
-2013-03-29 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Context menu doesn't showup anymore after rebase.
- https://bugs.webkit.org/show_bug.cgi?id=113570
-
- Reviewed by George Staikos.
-
- The upstreaming patch for bug: 103058, reverses the return value of
- Node::dispatchMouseEvent() to be consistent with Node::dispatchEvent(),
- so we should reverse our logic in webkit part that calls it also.
-
- This only applys to master_41 which is a new rebase, don't apply it to master_40.
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
-
-2013-03-28 Iris Wu <shuwu@blackberry.com>
-
- [BlackBerry] Don't cross editing boundary when touch hold selection expands
- https://bugs.webkit.org/show_bug.cgi?id=113537
-
- Reviewed by Rob Buis.
-
- Set editing boundary crossing rule to make sure it won't cross
- editing boundary when selection expands.
-
- Reviewed Internally By Genevieve Mak and Mike Fenton.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectNextParagraph):
- (BlackBerry::WebKit::SelectionHandler::findNextAnimationOverlayRegion):
-
-2013-03-28 Jakob Petsovits <jpetsovits@blackberry.com>
-
- [BlackBerry] Don't use WebKit thread scale information in WebPageCompositor.
- https://bugs.webkit.org/show_bug.cgi?id=113447
- Internal PR 313452
-
- Reviewed by Rob Buis.
-
- Potential threading problems are avoided by moving from
- WebPage members and mapToTransformed() to the web page
- client's userInterfaceViewportAccessor().
-
- As part of this cleaning effort, the WebPageCompositor's
- render() method is changed to now take document instead of
- pixel coordinates.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::render):
- (BlackBerry::WebKit::WebPageCompositor::render):
- * Api/WebPageCompositor.h:
- * Api/WebPageCompositor_p.h:
- (WebPageCompositorPrivate):
-
-2013-03-28 Matt Falkenhagen <falken@chromium.org>
-
- Refactoring: Replace Element::disabled and isEnabledFormControl with isDisabledFormControl
- https://bugs.webkit.org/show_bug.cgi?id=113273
-
- Reviewed by Kent Tamura.
-
- Element::disabled is about form controls and Element::isEnabledFormControl
- is redundant with it, so replace them with a single function
- Element::isDisabledFormControl.
-
- * WebCoreSupport/CredentialTransformData.cpp:
- (WebCore::CredentialTransformData::findPasswordFormFields):
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isTextBasedContentEditableElement):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openSelectPopup):
-
-2013-03-27 Eli Fidler <efidler@blackberry.com>
-
- [BlackBerry] Show compositing on the Inspector timeline properly
- https://bugs.webkit.org/show_bug.cgi?id=113416
-
- Reviewed by Rob Buis.
-
- The call to willComposite was too early and encompased the paint calls
- as well. Moving it lower will no longer encompass the paints.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
-
-2013-03-27 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Populate the mime type of the WebContext for images
- https://bugs.webkit.org/show_bug.cgi?id=113272
-
- Reviewed by George Staikos.
-
- PR 278967
-
- Populate the mime type using the file extension reported by the image
- decoder. This way we benefit from file type sniffing, instead of
- relying on the mime type reported by the resource response.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
-
-2013-03-26 Hayato Ito <hayato@chromium.org>
-
- Allow ShadowContents in HitTests by default.
- https://bugs.webkit.org/show_bug.cgi?id=113171
-
- Reviewed by Dimitri Glazkov.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::hitTestResult):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::getNodesFromRect):
- * WebKitSupport/ProximityDetector.cpp:
- (BlackBerry::WebKit::ProximityDetector::findBestPoint):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):
-
-2013-03-26 Xiaobo Wang <xbwang@torchmobile.com.cn>
-
- [BlackBerry] Memory leak in WebPagePrivate.cpp - NavigatorContentUtilsClientBlackBerry
- https://bugs.webkit.org/show_bug.cgi?id=112996
-
- Reviewed by Rob Buis.
-
- PR 312552
- Internally Reviewed by Anthony Scian.
-
- NavigatorContentUtilsClientBlackBerry is new'ed in WebPagePrivate::init(),
- but not deleted anywhere. Fixed by creating an OwnPtr for it.
- Also fixed some webkit-style errors.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- * Api/WebPage_p.h:
- (WebCore):
- (WebPagePrivate):
-
-2013-03-26 Mike Lattanzio <mlattanzio@blackberry.com>
-
- [BlackBerry] Include accelerated compositing layers in screen captures.
- https://bugs.webkit.org/show_bug.cgi?id=113335
-
- Reviewed by Rob Buis.
-
- PR# 280374
- Include accelerated compositing layers in screen captures.
- Reviewed Internally By: Jakob Petsovits
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
- (BlackBerry::WebKit::BackingStore::drawContents):
- * Api/BackingStore_p.h:
-
-2013-03-26 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry] Set mouse document position for mouse event in updateCursor
- https://bugs.webkit.org/show_bug.cgi?id=109094
-
- Reviewed by Rob Buis.
-
- Internally Reviewed by Jakob Petsovits.
-
- Mouse content position should be in document coordinate.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::updateCursor):
-
-2013-03-26 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Scrolling up and down can cause the screen to flash black
- https://bugs.webkit.org/show_bug.cgi?id=113269
-
- Reviewed by Rob Buis.
-
- PR 296106
-
- Various flaws in the code could conspire to make the screen cleared to
- black before rendering the web page. This only happened when the
- BackingStore was inactive, and the LayerTiler takes on the job of
- drawing the root layer. When tiles are missing, this made the
- "checkerboard" effect especially noticeable since black color was seen
- where the tile should have been. It would be better to clear to the web
- page background color.
-
- This was actually the intent of the code, but when the document
- background color was invalid, we would still use it instead of the
- background color from settings. Also, the LayerRenderer would clear to
- black when WebPageCompositorPrivate::drawsRootLayer() was true.
-
- Fixed by falling back to the settings background color when the
- document background color is invalid, and removing the clearing code
- from the LayerRenderer entirely. The appropriate clear already happens
- near the beginning of BackingStorePrivate::blitVisibleContents().
-
- Also slightly cleaned up the code for managing the background color.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- (BlackBerry::WebKit::WebPagePrivate::updateBackgroundColor):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::documentBackgroundColor):
- * Api/WebPageCompositor.cpp:
- * Api/WebPageCompositor_p.h:
- (WebPageCompositorPrivate):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2013-03-26 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] WebOverlay::pixelViewportRect() should return pixel viewport coordinates
- https://bugs.webkit.org/show_bug.cgi?id=113263
-
- Reviewed by Rob Buis.
-
- PR 312404
-
- Fixed by returning pixel viewport coordinates instead of window
- coordinates.
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::pixelViewportRect):
-
-2013-03-26 Xiaobo Wang <xbwang@torchmobile.com.cn>
-
- [BlackBerry] Memory leak in UserMediaClientImpl
- https://bugs.webkit.org/show_bug.cgi?id=112998
-
- Reviewed by Rob Buis.
-
- PR 312559
- Internally Reviewed by Anthony Scian.
-
- Should destroy itself in UserMediaClientImpl::pageDestroyed(), as other
- XXClientBlackBerry did, like GeolocationClientBlackBerry::geolocationDestroyed().
-
- * WebCoreSupport/UserMediaClientImpl.cpp:
- (WebCore::UserMediaClientImpl::pageDestroyed):
-
-2013-03-25 Kent Tamura <tkent@chromium.org>
-
- Rename ENABLE_INPUT_TYPE_DATETIME
- https://bugs.webkit.org/show_bug.cgi?id=113254
-
- Reviewed by Kentaro Hara.
-
- Rename ENABLE_INPUT_TYPE_DATETIME to ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE.
- Actually I'd like to remove the code, but we shouldn't remove it yet
- because we shipped products with it on some platforms.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2013-03-25 Mary Wu <mary.wu@torchmobile.com.cn>
-
- [BlackBerry] add needReferer in WebPage load() api
- https://bugs.webkit.org/show_bug.cgi?id=113167
-
- Reviewed by Rob Buis.
-
- PR310175, internally reviewed by Joe Mason.
- Sometimes when client load request, it need to add referer with current frame like
- save link/image in option menu, so we add needRef in load() interface in webpage.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::load):
- (BlackBerry::WebKit::WebPage::load):
- (BlackBerry::WebKit::WebPage::loadExtended):
- (BlackBerry::WebKit::WebPage::loadFile):
- (BlackBerry::WebKit::WebPage::download):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2013-03-22 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- [BlackBerry] Build fix in InputHandler
- https://bugs.webkit.org/show_bug.cgi?id=113092
-
- Reviewed by Rob Buis.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
-
-2013-03-22 Nima Ghanavatian <nghanavatian@blackberry.com>
-
- Check focused node reference when traversing through history
- https://bugs.webkit.org/show_bug.cgi?id=113082
-
- Reviewed by Rob Buis.
-
- PR312101
- Check if we have a valid node and document before attempting to access its frame and
- frame selection. This is causing issues when going back to a page after a redirect
- where a stale pointer is used.
- Further, the focused node should be changed after the frame is fully loaded.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
- (BlackBerry::WebKit::InputHandler::restoreViewState):
-
-2013-03-22 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Hit Test doesn't need to be active
- https://bugs.webkit.org/show_bug.cgi?id=113072
-
- Reviewed by Rob Buis.
-
- Reviewed Internally By Mike Lattanzio.
- PR #306074
-
- * WebKitSupport/ProximityDetector.cpp:
- (BlackBerry::WebKit::ProximityDetector::findBestPoint):
-
-2013-03-22 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Selection overlay clipped incorrectly
- https://bugs.webkit.org/show_bug.cgi?id=113069
-
- Reviewed by George Staikos.
- Internally reviewed by Arvid Nilsson.
-
- As a follow-up to r146278, the clip rect also needs to be
- adjusted by the parent's offset when drawing the
- selection overlay.
-
- * WebKitSupport/SelectionOverlay.cpp:
- (BlackBerry::WebKit::SelectionOverlay::paintContents):
-
-2013-03-22 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Add custom BackForwardList client implementation
- https://bugs.webkit.org/show_bug.cgi?id=113024
-
- Reviewed by Rob Buis.
-
- PR 310030
- Internally reviewed by Joe Mason.
-
- Adds a new class BackForwardListBlackBerry that implements
- BackForwardList client and wraps the BackForwardListImpl including
- the BlackBerry specific changes to notify the API layer when the
- BackForwardList changes.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init): Create a
- BackForwardListBlackBerry.
- (BlackBerry::WebKit::WebPage::getBackForwardList): Use
- BackForwardListBlackBerry instead of BackForwardListImpl.
- (BlackBerry::WebKit::WebPage::clearBackForwardList): Ditto.
- * WebCoreSupport/BackForwardListBlackBerry.cpp: Added.
- (WebCore):
- (WebCore::BackForwardListBlackBerry::BackForwardListBlackBerry):
- (WebCore::BackForwardListBlackBerry::~BackForwardListBlackBerry):
- (WebCore::BackForwardListBlackBerry::current):
- (WebCore::BackForwardListBlackBerry::notifyBackForwardListChanged):
- (WebCore::BackForwardListBlackBerry::addItem):
- (WebCore::BackForwardListBlackBerry::goToItem):
- (WebCore::BackForwardListBlackBerry::itemAtIndex):
- (WebCore::BackForwardListBlackBerry::backListCount):
- (WebCore::BackForwardListBlackBerry::forwardListCount):
- (WebCore::BackForwardListBlackBerry::isActive):
- (WebCore::BackForwardListBlackBerry::close):
- (WebCore::BackForwardListBlackBerry::clear):
- (WebCore::BackForwardListBlackBerry::entries):
- (WebCore::BackForwardListBlackBerry::currentItem):
- * WebCoreSupport/BackForwardListBlackBerry.h: Added.
- (WebKit):
- (WebCore):
- (BackForwardListBlackBerry):
- (WebCore::BackForwardListBlackBerry::create):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
-2013-03-21 Iris Wu <shuwu@blackberry.com>
-
- [BlackBerry] Last paragraph can't be selected by touch hold selection if there is no new line after it in subframe.
- https://bugs.webkit.org/show_bug.cgi?id=112966
-
- Reviewed by Rob Buis.
-
- PR 312044
- Reviewed Internally By Genevieve Mak.
-
- If selection reaches the bottom of content, ignore scroll margin
- so the text on the bottom can be selected.
- Stop expanding selection only if the end of document is selected
- or touch is released.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::expandSelection):
- (BlackBerry::WebKit::SelectionHandler::ensureSelectedTextVisible):
-
-2013-03-21 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] addSearchProvider shouldn't match the full host, only the server
- https://bugs.webkit.org/show_bug.cgi?id=112960
-
- Reviewed by Rob Buis.
- Internally Reviewed by Jeff Rogers.
-
- Remove full host matching. only check if domains are from the same server.
-
- Also, check user gesture before dispatching the addSearchProvider event to the browser.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::addSearchProvider):
- (WebCore::ChromeClientBlackBerry::isSearchProviderInstalled):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
- * WebCoreSupport/ExternalExtension.cpp:
- (IsSearchProviderInstalledMethod):
-
-2013-03-19 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Selection overlay is sometimes in wrong position.
- https://bugs.webkit.org/show_bug.cgi?id=112748
-
- Reviewed by Rob Buis.
- Internally reviewed by Arvid Nilsson.
-
- Internal PR 305384.
- Translate by parent's offset when drawing selection overlay.
-
- * WebKitSupport/SelectionOverlay.cpp:
- (BlackBerry::WebKit::SelectionOverlay::paintContents):
-
-2013-03-19 Iris Wu <shuwu@blackberry.com>
-
- [BlackBerry] Hook up scroll position to proximity detector
- https://bugs.webkit.org/show_bug.cgi?id=112743
-
- Reviewed by Rob Buis.
-
- PR 243385
- Reviewed Internally By Genevieve Mak.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
- (BlackBerry::WebKit::WebPage::adjustDocumentScrollPosition):
- (WebKit):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2013-03-19 Chris Hutten-Czapski <chutten@blackberry.com>
-
- [BlackBerry] Don't handle keyboard scrolling shortcuts in webkit
- https://bugs.webkit.org/show_bug.cgi?id=112716
-
- Informally Reviewed by Mike Fenton (mifenton@rim.com)
- Reviewed by Rob Buis.
-
- The comment is right, this isn't the correct place to handle keyboard
- scrolling shortcuts. That's what we have clients for.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::keyEvent):
-
-2013-03-19 Andy Chen <andchen@blackberry.com>
-
- [BlackBerry] When selecting an object, assign focus to new node instead of clearing previous focused node
- https://bugs.webkit.org/show_bug.cgi?id=112707
-
- Reviewed by Rob Buis.
-
- In SelectionHandler, when selecting a new object, we should set focus
- to the anchor node of selection instead of removing it from the old input.
- In InputHandler, when focusedNodeChanged is called, if the new node is
- not an Element node, we need to set focus to its Element parent node,
- instead of removing focus from the old node.
- PR 304631
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::focusedNodeChanged):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectObject):
-
-2013-03-18 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] Prevent text selection inside Colour and Date/Time input fields
- https://bugs.webkit.org/show_bug.cgi?id=111733
-
- Reviewed by Rob Buis.
-
- Fix missing brace.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
-
-2013-03-18 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] Add Proximity Detector.
- https://bugs.webkit.org/show_bug.cgi?id=112278
-
- Reviewed by Rob Buis.
-
- Fix variable names so they actually match the function
- declarations.
-
- Fix call to rectForPoint(), which was moved from HitTestResult to
- HitTestLocation in r117091 and r126859.
-
- * WebKitSupport/ProximityDetector.cpp:
- (BlackBerry::WebKit::ProximityDetector::findBestPoint):
-
-2013-03-18 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] EditorClientBlackBerry: fix access to WebPage attribute
- https://bugs.webkit.org/show_bug.cgi?id=112556
-
- Reviewed by Rob Buis.
-
- This changed in r145849 and broke the BlackBerry build.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::smartInsertDeleteEnabled):
- (WebCore::EditorClientBlackBerry::isSelectTrailingWhitespaceEnabled):
-
-2013-03-18 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Detach overlays from page when compositor is detached
- https://bugs.webkit.org/show_bug.cgi?id=112424
-
- Reviewed by Rob Buis.
-
- PR 309160
-
- If not detached properly, the overlays would have a dangling pointer to
- the page.
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::WebOverlayLayerCompositingThreadClient):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::uploadTexturesIfNeeded):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::WebOverlayPrivateCompositingThread):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::~WebOverlayPrivateCompositingThread):
- * Api/WebOverlay_p.h:
- (BlackBerry::WebKit::WebOverlayPrivate::setClient):
- (WebOverlayLayerCompositingThreadClient):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::overlay):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::overlayDestroyed):
- (WebOverlayPrivateCompositingThread):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::detach):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setPage):
- (WebKit):
- (BlackBerry::WebKit::WebPageCompositorPrivate::attachOverlays):
- * Api/WebPageCompositor_p.h:
- (BlackBerry::WebKit::WebPageCompositorPrivate::attachOverlays):
- (BlackBerry::WebKit::WebPageCompositorPrivate::detachOverlays):
- (WebPageCompositorPrivate):
-
-2013-03-18 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] BackingStoreClient: remove unnecessary call to toElement()
- https://bugs.webkit.org/show_bug.cgi?id=112547
-
- Reviewed by Carlos Garcia Campos.
-
- * WebKitSupport/BackingStoreClient.cpp:
- (BlackBerry::WebKit::BackingStoreClient::absoluteRect):
-
-2013-03-15 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] BlackBerry::Platform::Graphics::GraphicsContext integration related changes in Source/WebKit/blackberry
- https://bugs.webkit.org/show_bug.cgi?id=112467
-
- Reviewed by Rob Buis.
-
- PR 293208
-
- This patch contains contributions from many members of the BlackBerry
- WebKit team:
-
- Mike Lattanzio
- Arvid Nilsson
- Jakob Petsovits
- Konrad Piascik
- Jeff Rogers
- Filip Spacek
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
- (BlackBerry::WebKit::BackingStorePrivate::tileSize):
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayPrivate::drawContents):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::paintContents):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::WebOverlayLayerCompositingThreadClient):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setContentsToImage):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::clearUploadedContents):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setContentsToColor):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::uploadTexturesIfNeeded):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::drawTextures):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::WebOverlayPrivateCompositingThread):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::removeFromParent):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToImage):
- * Api/WebOverlay.h:
- * Api/WebOverlayClient.h:
- * Api/WebOverlay_p.h:
- (WebOverlayPrivate):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::showDebugBorders):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::showRepaintCounter):
- (WebOverlayLayerCompositingThreadClient):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::image):
- (WebOverlayPrivateCompositingThread):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::WebPageCompositorPrivate):
- * WebKitSupport/BackingStoreTile.cpp:
- (BlackBerry::WebKit::TileBuffer::~TileBuffer):
- (BlackBerry::WebKit::TileBuffer::nativeBuffer):
- (BlackBerry::WebKit::TileBuffer::paintBackground):
- * WebKitSupport/DefaultTapHighlight.cpp:
- (BlackBerry::WebKit::DefaultTapHighlight::paintContents):
- (BlackBerry::WebKit::DefaultTapHighlight::showDebugBorders):
- (WebKit):
- (BlackBerry::WebKit::DefaultTapHighlight::showRepaintCounter):
- * WebKitSupport/DefaultTapHighlight.h:
- (DefaultTapHighlight):
- * WebKitSupport/InspectorOverlayBlackBerry.cpp:
- (BlackBerry::WebKit::InspectorOverlay::showDebugBorders):
- (WebKit):
- (BlackBerry::WebKit::InspectorOverlay::showRepaintCounter):
- * WebKitSupport/InspectorOverlayBlackBerry.h:
- (InspectorOverlay):
- * WebKitSupport/SelectionOverlay.cpp:
- (BlackBerry::WebKit::SelectionOverlay::draw):
- (BlackBerry::WebKit::SelectionOverlay::hide):
- (BlackBerry::WebKit::SelectionOverlay::paintContents):
- (BlackBerry::WebKit::SelectionOverlay::showDebugBorders):
- (WebKit):
- (BlackBerry::WebKit::SelectionOverlay::showRepaintCounter):
- * WebKitSupport/SelectionOverlay.h:
- (SelectionOverlay):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::createPlatformGraphicsContext):
- (BlackBerry::WebKit::SurfacePool::destroyPlatformGraphicsContext):
- (BlackBerry::WebKit::SurfacePool::waitForBuffer):
- (BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
- (BlackBerry::WebKit::SurfacePool::destroyPlatformSync):
- * WebKitSupport/SurfacePool.h:
-
-2013-03-15 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Expose the compositing thread layer's draw rectangle to aid hit testing
- https://bugs.webkit.org/show_bug.cgi?id=112255
-
- Reviewed by Rob Buis.
-
- PR 308284.
- Reviewed internally by Yongxin Dai.
-
- The cached draw rectangle is useful for hit testing. Add a getter for
- this compositing thread layer property to the public WebOverlay API.
- We name this getter using terminology familiar from the
- ViewportAccessor interface, to clarify which coordinate system the
- getter uses (pixel coordinates relative to the viewport).
-
- Note that WebKit-thread flavor of WebOverlay is not currently used by
- any API client and is marked obsolete. It is used internally in WebKit,
- but for that case using GraphicsLayer directly works well. This will
- allow the complexity of WebOverlay to be significantly reduced in the
- future, by removing the WebKit-thread flavor entirely.
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlay::pixelViewportRect):
- (WebKit):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::pixelViewportRect):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::pixelViewportRect):
- * Api/WebOverlay.h:
- (WebKit):
- * Api/WebOverlay_p.h:
- (WebOverlayPrivate):
- (WebOverlayPrivateWebKitThread):
- (WebOverlayPrivateCompositingThread):
-
-2013-03-15 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Allow an embedder to position child windows using window coordinates
- https://bugs.webkit.org/show_bug.cgi?id=112236
-
- Reviewed by Rob Buis.
-
- PR 232752
-
- Child windows used to always be positioned in document coordinates,
- which requires the
- BlackBerry::Platform::Graphics::Window::virtualRect() of the parent
- window to be kept in sync with the document visible content rect.
- This is easy if there's a one-to-one correspondence between windows
- and scrollable frames.
-
- However, for an embedder that can display an entire scene graph (where
- the web page is just one of the nodes) in one window, several
- scrollable nodes may be present in that window, and it's difficult to
- know which scrollable node to sync the virtualRect with. It could also
- lead to conflicts, if two scrollable nodes have child windows.
-
- For the latter scenario, it makes more sense to use window coordinates
- to place child windows.
-
- The internal default is to use document coordinates, for legacy
- reasons.
-
- When an external WebPageCompositor is attached, we switch to using
- window coordinates instead of document coordinates by default. The
- behavior is still configurable using the new public
- setChildWindowPlacement method.
-
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::WebPageCompositorPrivate):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setContext):
- (BlackBerry::WebKit::WebPageCompositorPrivate::prepareFrame):
- (BlackBerry::WebKit::WebPageCompositorPrivate::render):
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
- (BlackBerry::WebKit::WebPageCompositorPrivate::shouldClearSurfaceBeforeCompositing):
- (WebKit):
- (BlackBerry::WebKit::WebPageCompositorPrivate::shouldChildWindowsUseDocumentCoordinates):
- (BlackBerry::WebKit::WebPageCompositor::WebPageCompositor):
- (BlackBerry::WebKit::WebPageCompositor::setChildWindowPlacement):
- * Api/WebPageCompositor.h:
- * Api/WebPageCompositor_p.h:
- (BlackBerry::WebKit::WebPageCompositorPrivate::setChildWindowPlacement):
- (WebPageCompositorPrivate):
-
-2013-03-15 Nate Chapin <japhet@chromium.org>
-
- Hide MainResourceLoader from the outside world
- https://bugs.webkit.org/show_bug.cgi?id=109971
-
- Reviewed by Adam Barth.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
-2013-03-15 Abhishek Arya <inferno@chromium.org>
-
- Replace static_casts with to* helper functions.
- https://bugs.webkit.org/show_bug.cgi?id=112401
-
- Reviewed by Stephen Chenney.
-
- to* helper functions are preferred over static_cast calls since they
- help to catch bad casts easily on the testing infrastructure.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::frameForNode):
- (BlackBerry::WebKit::needsLayoutRecursive):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::redirectDataToPlugin):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusPluginElementVisible):
-
-2013-03-14 Manuel Rego Casasnovas <rego@igalia.com>
-
- Add selectTrailingWhitespaceEnabled setting to WebCore::Page
- https://bugs.webkit.org/show_bug.cgi?id=109404
-
- Reviewed by Tony Chang.
-
- Use new settings for smartInsertDeleteEnabled and
- selectTrailingWhitespaceEnabled.
-
- Remove code related to DRT as it is not needed anymore.
-
- * Api/DumpRenderTreeClient.h:
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::smartInsertDeleteEnabled):
- (WebCore::EditorClientBlackBerry::isSelectTrailingWhitespaceEnabled):
-
-2013-03-14 Abhishek Arya <inferno@chromium.org>
-
- Replace static_casts with to* helper functions.
- https://bugs.webkit.org/show_bug.cgi?id=112296
-
- Reviewed by Kentaro Hara.
-
- to* helper functions are preferred over static_cast calls since they
- help to catch bad casts easily on the testing infrastructure.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- (BlackBerry::WebKit::WebPage::setNodeFocus):
- (BlackBerry::WebKit::WebPagePrivate::adjustFullScreenElementDimensionsIfNeeded):
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::shouldSpellCheckFocusedField):
- (WebCore::EditorClientBlackBerry::shouldChangeSelectedRange):
- * WebKitSupport/BackingStoreClient.cpp:
- (BlackBerry::WebKit::BackingStoreClient::absoluteRect):
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::toTextControlElement):
- (BlackBerry::WebKit::DOMSupport::selectionContainerElement):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::getRelevantInfoFromCachedHitTest):
- (BlackBerry::WebKit::FatFingers::setSuccessfulFatFingersResult):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::focusedNodeChanged):
- (BlackBerry::WebKit::InputHandler::willOpenPopupForNode):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::inputNodeOverridesTouch):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::elementForTapHighlight):
-
-2013-03-14 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] InRegionScrollableArea: fix call to visibleContentRect()
- https://bugs.webkit.org/show_bug.cgi?id=112244
-
- Reviewed by Rob Buis.
-
- Since r143295 visibleContentRect() receives an enum, not a boolean.
-
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2013-03-13 Iris Wu <shuwu@blackberry.com>
-
- [BlackBerry] Do not do scroll position adjustment if selecting in a subframe
- https://bugs.webkit.org/show_bug.cgi?id=112290
-
- Reviewed by Rob Buis.
-
- PR 267394
-
- In SelectionHandler::ensureSelectedTextVisible(), scroll position
- animation is based on main frame. If selecting in a subframe, don't
- do animation.
-
- Internally Reviewed By Genevieve Mak.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::ensureSelectedTextVisible):
-
-2013-03-13 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Add Proximity Detector.
- https://bugs.webkit.org/show_bug.cgi?id=112278
-
- Reviewed by Rob Buis.
-
- Internally Reviewed by Mike Lattanzio.
- PR #243385
-
- * WebKitSupport/ProximityDetector.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::getPriorityLevel):
- (BlackBerry::WebKit::ProximityDetector::ProximityDetector):
- (BlackBerry::WebKit::ProximityDetector::~ProximityDetector):
- (BlackBerry::WebKit::ProximityDetector::findBestPoint):
- * WebKitSupport/ProximityDetector.h: Added.
- (WebCore):
- (WebKit):
- (ProximityDetector):
-
-2013-03-13 Iris Wu <shuwu@blackberry.com>
-
- [BlackBerry] Touch Hold selection does not scroll text area or other subframe until selection reaches bottom of the page.
- https://bugs.webkit.org/show_bug.cgi?id=112259
-
- Reviewed by Rob Buis.
-
- PR 267394
-
- While selecting in a subframe, check that the selection reaches
- the bottom of the current subframe instead of the page.
-
- Internally Reviewed by Genevieve Mak.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::updateSelectionScrollView):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
- (BlackBerry::WebKit::SelectionHandler::ensureSelectedTextVisible):
- (BlackBerry::WebKit::SelectionHandler::selectionViewportRect):
- (WebKit):
- (BlackBerry::WebKit::SelectionHandler::expandSelectionToGranularity):
- * WebKitSupport/SelectionHandler.h:
- (BlackBerry::WebKit::SelectionHandler::setSelectionViewportRect):
- (SelectionHandler):
-
-2013-03-12 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Prevent text selection inside Colour and Date/Time input fields
- https://bugs.webkit.org/show_bug.cgi?id=111733
-
- Reviewed by Rob Buis.
-
- PR 305194.
-
- Skip rendering of selection if it is in a popup driven
- input field. This covers situations where EditorClientBlackBerry::shouldChangeSelectedRange
- is either not called or focus is not complete when called.
-
- Informally reviewed by Gen Mak.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- (WebKit):
-
-2013-03-12 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Notify client if the selection is in a subframe when started.
- https://bugs.webkit.org/show_bug.cgi?id=112065
-
- Reviewed by Rob Buis.
-
- PR #278490
- Internally Reviewed by Mike Fenton.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::updateSelectionScrollView):
- (WebKit):
- * Api/InRegionScroller_p.h:
- (InRegionScrollerPrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::updateSelectionScrollView):
- (WebKit):
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::cancelSelection):
- (BlackBerry::WebKit::SelectionHandler::setSelection):
-
-2013-03-12 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] SelectionHandler: fix truncated line
- https://bugs.webkit.org/show_bug.cgi?id=112133
-
- Reviewed by Carlos Garcia Campos.
-
- One of the calls to fatFingersResult.nodeAsElementIfApplicable()
- was somehow truncated when the selection start animation was
- upstreamed in r144640.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
-
-2013-03-12 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] Fix visible_units.h includes
- https://bugs.webkit.org/show_bug.cgi?id=112131
-
- Reviewed by Carlos Garcia Campos.
-
- This file was renamed to VisibleUnits.h in r144911.
-
- * WebKitSupport/DOMSupport.cpp:
- * WebKitSupport/InputHandler.cpp:
- * WebKitSupport/SelectionHandler.cpp:
- * WebKitSupport/SpellingHandler.cpp:
-
-2013-03-11 Jochen Eisinger <jochen@chromium.org>
-
- Rename DefinitelyProcessingUserGesture to DefinitelyProcessingNewUserGesture
- https://bugs.webkit.org/show_bug.cgi?id=111959
-
- Reviewed by Alexey Proskuryakov.
-
- * WebKitSupport/NotificationManager.cpp:
- (BlackBerry::WebKit::NotificationManager::notificationClicked):
-
-2013-03-11 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Add a method to find the ScrollView for a text selection.
- https://bugs.webkit.org/show_bug.cgi?id=112061
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton and Jakob Petsovits.
- PR #278490
-
- Refactor the code in InRegionScroller so that we can add a method to find
- the InRegionScrollableArea for a text selection.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::clipToRect):
- - Pull out recursive clipping code into its own function.
- (WebKit):
- (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
- (BlackBerry::WebKit::InRegionScrollerPrivate::firstScrollableInRegionForNode):
- - This new method allows us to get just the first scrollable region instead of looking
- for more nested ones. We may want to refactor in the future because some of the code is
- very similar to calculateInRegionScrollableAreasForPoint.
- (BlackBerry::WebKit::InRegionScrollerPrivate::clipAndCreateInRegionScrollableArea):
- - Add a convenience method for the previous function
- * Api/InRegionScroller.h:
- (WebKit):
- * Api/InRegionScroller_p.h:
- (InRegionScrollerPrivate):
-
-2013-03-11 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Set the documentViewportRect and viewport size.
- https://bugs.webkit.org/show_bug.cgi?id=112056
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton and Jakob Petsovits.
- PR #278490
-
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2013-03-11 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] SelectionHandler: bring back m_lastSelection attribute
- https://bugs.webkit.org/show_bug.cgi?id=111972
-
- Reviewed by Rob Buis.
-
- This was removed in r144515 but is still needed by
- SelectionHandler::selectionPositionChanged().
-
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
-
-2013-03-07 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] RefCounting ParsedCookie to avoid SegFaults
- https://bugs.webkit.org/show_bug.cgi?id=111761
-
- Reviewed by Rob Buis.
-
- Making necessary changes to ref-count the ParsedCookie object.
-
- * Api/WebCookieJar.cpp:
- (BlackBerry::WebKit::WebCookieJar::cookies):
-
-2013-03-07 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Prevent text selection inside Colour and Date/Time input fields
- https://bugs.webkit.org/show_bug.cgi?id=111733
-
- Reviewed by Rob Buis.
-
- PR 305194.
-
- Prevent selection for popup input fields as they are buttons.
-
- Informally Reviewed Gen Mak.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::shouldChangeSelectedRange):
-
-2013-03-06 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Selection handles don't drag to expand correctly for RTL languages
- https://bugs.webkit.org/show_bug.cgi?id=111618
-
- Reviewed by Rob Buis.
-
- PR 303712
- If we are using a RTL language, we should ensure that the selection handles are angled the right way.
- Further, when expanding the selection, the start and end handles should be appropriately set so that
- expansion in the natural direction is possible.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::SelectionHandler):
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
-
-2013-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Use the new authenticationChallenge API in WebPage
- https://bugs.webkit.org/show_bug.cgi?id=111542
-
- Reviewed by Rob Buis.
-
- Use the new API that expects requestURL and isProxy parameters.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
- * Api/WebPageClient.h:
-
-2013-03-05 Geoffrey Garen <ggaren@apple.com>
-
- Removed some dead code in the page cache
- https://bugs.webkit.org/show_bug.cgi?id=111525
-
- Reviewed by Alexey Proskuryakov.
-
- Page cache autorelease doesn't exist anymore, so there's no need to keep
- around these olds hacks.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::clearMemoryCaches):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::destroy):
-
-2013-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Use CachedResource::resourceBuffer() instead of CachedResource::data()
- https://bugs.webkit.org/show_bug.cgi?id=111555
-
- Reviewed by Rob Buis.
-
- CachedResource::data() was renamed to
- CachedResource::resourceBuffer() in r130947.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
-
-2013-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Remove some unneeded header includes
- https://bugs.webkit.org/show_bug.cgi?id=111545
-
- Reviewed by Rob Buis.
-
- * WebCoreSupport/CredentialTransformData.cpp:
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
-
-2013-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [BlackBerry] Use hasTagName instead of hasLocalName in CredentialTransformData
- https://bugs.webkit.org/show_bug.cgi?id=111544
-
- Reviewed by Rob Buis.
-
- hasLocalName() expects an AtomicString, but we are passing a
- HTMLName which is a QualifiedName.
-
- * WebCoreSupport/CredentialTransformData.cpp:
- (WebCore::CredentialTransformData::findPasswordFormFields): Use
- hasTagName() instead of hasLocalName().
-
-2013-03-05 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Authentication credentials lost when opening a new tab
- https://bugs.webkit.org/show_bug.cgi?id=111445
-
- PR 286627
-
- Reviewed by Rob Buis.
- Internally Reviewed by Lianghui Chen.
-
- Prevent changing the private mode boolean value in didChangeSettings if the value
- hasn't changed.
-
- Setting the private mode value of credentialstorage every time didChangeSettings gets
- called causes the session credential mapping to be cleared on every tab change in
- non-private mode.
-
- Tested changing tabs after logging into a site using the HTTP Basic Auth protocol to see
- if the credentials are cleared. Also ensured the functionality of private mode is not changed.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
-
-2013-03-05 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry] FatFinger pairs the wrong element with fatfinger rect part.
- https://bugs.webkit.org/show_bug.cgi?id=111444
-
- Reviewed by Rob Buis.
-
- Internal PR 266214
- Internally reviewed by Genevieve Mak.
-
- Instead of subtracting with the element region, we should get the remaining
- rect by find the intersect region of element region and fatfinger detection
- region.
-
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::checkForClickableElement):
-
-2013-03-05 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Clean up animated scroll/zoom code in WebPagePrivate
- https://bugs.webkit.org/show_bug.cgi?id=111373
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Jakob Petsovits.
- Internal PR 285468.
-
- Have WebPageClient pass the final scale and position to WebPage when a zoom/scroll
- animation finishes, rather than keeping those values as instance variables in
- WebPagePrivate.
-
- Rename some functions & variables to reflect that they are used for both block zoom
- and generic zoom/scroll animations.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::zoomAnimationFinished):
- (BlackBerry::WebKit::WebPage::zoomAnimationFinished):
- (BlackBerry::WebKit::WebPagePrivate::resetBlockZoom):
- (BlackBerry::WebKit::WebPage::blockZoom):
- (BlackBerry::WebKit::WebPagePrivate::animateToScaleAndDocumentScrollPosition):
- * Api/WebPage.h:
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2013-03-04 Iris Wu <shuwu@rim.com>
-
- [BlackBerry] Upstream selection start animation.
- https://bugs.webkit.org/show_bug.cgi?id=111335
-
- Reviewed by Rob Buis.
-
- PR 219960
-
- To indicate selection starts, we draw an overlay rect larger than
- the selected word at the start of selection. Then shrink it down
- to the actual size.
-
- Reviewed Internally by Genevieve Mak and Andrew Lo and Mike Fenton.
-
- * Api/WebAnimation.cpp:
- (BlackBerry::WebKit::WebAnimation::shrinkAnimation):
- (WebKit):
- * Api/WebAnimation.h:
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPage::selectionHighlight):
- (WebKit):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * Api/WebTapHighlight.h:
- * WebKitSupport/DefaultTapHighlight.cpp:
- (WebKit):
- (BlackBerry::WebKit::shrinkAnimationName):
- (BlackBerry::WebKit::DefaultTapHighlight::draw):
- * WebKitSupport/DefaultTapHighlight.h:
- (DefaultTapHighlight):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::cancelSelection):
- (BlackBerry::WebKit::textGranularityFromSelectionExpansionType):
- (WebKit):
- (BlackBerry::WebKit::SelectionHandler::selectNodeIfFatFingersResultIsLink):
- (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2013-03-02 Benjamin Poulain <bpoulain@apple.com>
-
- Move computedStyleIncludingVisitedInfo from TestRunner to Internals
- https://bugs.webkit.org/show_bug.cgi?id=109772
-
- Reviewed by Andreas Kling.
-
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- * WebKitSupport/DumpRenderTreeSupport.h:
- (DumpRenderTreeSupport):
-
-2013-03-01 Iris Wu <shuwu@rim.com>
-
- [BlackBerry] Upstream smart selection
- https://bugs.webkit.org/show_bug.cgi?id=111226
-
- Reviewed by Rob Buis.
-
- 1. Extend the touch hold text selection to next paragraph.
- 2. Draw and expand overlay over text as touch hold selection expands.
- Select paragraph when it's entirely covered by overlay.
- 3. Start scrolling at a constant rate when the end of
- next pargraph is not in the viewport.
-
- Reviewed Internally By Genevieve Mak and Mike Fenton.
- PR 217897 238485 258279 279042 299779
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::selectAtDocumentPoint):
- (BlackBerry::WebKit::WebPage::expandSelection):
- (WebKit):
- (BlackBerry::WebKit::WebPage::setOverlayExpansionPixelHeight):
- (BlackBerry::WebKit::WebPagePrivate::setOverlayExpansionPixelHeight):
- (BlackBerry::WebKit::WebPage::setParagraphExpansionPixelScrollMargin):
- * Api/WebPage.h:
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::cancelSelection):
- (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
- (BlackBerry::WebKit::isInvalidLine):
- (WebKit):
- (BlackBerry::WebKit::isInvalidParagraph):
- (BlackBerry::WebKit::SelectionHandler::selectNextParagraph):
- (BlackBerry::WebKit::SelectionHandler::drawOverlay):
- (BlackBerry::WebKit::SelectionHandler::findNextOverlayRegion):
- (BlackBerry::WebKit::SelectionHandler::expandSelection):
- (BlackBerry::WebKit::SelectionHandler::ensureSelectedTextVisible):
- (BlackBerry::WebKit::SelectionHandler::setParagraphExpansionScrollMargin):
- (BlackBerry::WebKit::SelectionHandler::expandSelectionToGranularity):
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
- (BlackBerry::WebKit::SelectionHandler::setOverlayExpansionHeight):
-
-2013-03-01 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Screen went black while navigating back/forward on the reddit.com page
- https://bugs.webkit.org/show_bug.cgi?id=111192
-
- Reviewed by Rob Buis.
- Internally reviewed by Jakob Petsovits.
-
- PR: 299783
- When going back to the previous reddit.com page, the actual contents
- size was much less than the history contents size. However, we expanded
- the actual contents size to history contents size which caused a huge
- black area below the actual contents.
- To fix that, don't restore the contents size from history contents size
- and scroll back to the valid contents area if we are about to overscroll.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::restoreHistoryViewState):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
-
-2013-03-01 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Improve input bounds clipping for search fields.
- https://bugs.webkit.org/show_bug.cgi?id=111204
-
- Reviewed by Rob Buis.
-
- PR 292673.
-
- Use the standardized InputHandler function to get the
- bounds of an input field so that search fields are
- truncated smaller to account for the X.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
-
-2013-03-01 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Reverse the base and extent of a selection when reversing its handles
- https://bugs.webkit.org/show_bug.cgi?id=111098
-
- Reviewed by Yong Li.
-
- PR283969
- Swap the base and extent if base does not come first, and set the new selection.
-
- Internally reviewed by Mike Fenton
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::setSelection):
-
-2013-03-01 Alberto Garcia <albgarcia@rim.com>
-
- Fix definition of DatePickerClient::setValue()
- https://bugs.webkit.org/show_bug.cgi?id=110336
-
- Reviewed by Carlos Garcia Campos.
-
- The definition of DatePickerClient::setValue() introduced in
- r142987 does not match the prototype.
-
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore::DatePickerClient::setValue):
-
-2013-02-28 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Maintain the directionality of the selection after modifying the selection using key events.
- https://bugs.webkit.org/show_bug.cgi?id=111078
-
- Reviewed by Yong Li.
-
- PR 295224.
-
- When using the key navigation to modify the selection, reset the
- directionality of the selection to the original to prevent
- changing the anchor.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
-
-2013-02-28 Lianghui Chen <liachen@rim.com>
-
- [BlackBerry] Disable auto-filling password in forms when auto-form-filling is not enabled.
- https://bugs.webkit.org/show_bug.cgi?id=111006
-
- Internal PR: 295181
- Internal reviewed by Joe Mason.
-
- Reviewed by Yong Li.
-
- Check WebSettings::isFormAutofillEnabled() before doing user credential form fill stuff.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
-
-2013-02-28 Alberto Garcia <albgarcia@rim.com>
-
- [BlackBerry] Misc build fixes
- https://bugs.webkit.org/show_bug.cgi?id=110448
-
- Reviewed by Rob Buis.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
- WebString was replaced with BlackBerry::Platform::String in r131316.
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- Some webdatabase APIs are encapuslated in DatabaseManager since r137520.
- (BlackBerry::WebKit::WebPagePrivate::postponeDocumentStyleRecalc):
- Document::isPendingStyleRecalc() was renamed to hasPendingStyleRecalc() in r129844.
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::updateFormState):
- Add closing brace that was missing in r142482.
-
-2013-02-28 Xan Lopez <xlopez@rim.com>
-
- [BlackBerry] DumpRenderTreeSupport: update the set position methods
- https://bugs.webkit.org/show_bug.cgi?id=110578
-
- Reviewed by Rob Buis.
-
- TestRunner::setMockGeolocationPosition() changed in r130416:
- http://trac.webkit.org/changeset/130416/trunk/Tools/DumpRenderTree/TestRunner.h
-
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::setMockGeolocationPosition):
- * WebKitSupport/DumpRenderTreeSupport.h:
- (DumpRenderTreeSupport):
-
-2013-02-27 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Need WebPage API for animating scroll position & zoom changes
- https://bugs.webkit.org/show_bug.cgi?id=110912
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Jakob Petsovits.
- Internal PR 285468.
-
- Add an API to WebPage for animated scroll position & zoom level
- adjustments.
-
- Have InputHandler use the new API.
-
- Rename some variables to reflect the fact that they are not only
- used by block zoom now.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::zoomBlock):
- (BlackBerry::WebKit::WebPage::blockZoom):
- (BlackBerry::WebKit::WebPagePrivate::animateToScaleAndDocumentScrollPosition):
- (WebKit):
- (BlackBerry::WebKit::WebPage::animateToScaleAndDocumentScrollPosition):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2013-02-27 Lianghui Chen <liachen@rim.com>
-
- [BlackBerry] User credentials is not correctly handled
- https://bugs.webkit.org/show_bug.cgi?id=110994
-
- Reviewed by Yong Li.
-
- Following change are made:
- Remove url from CredentialTransformData, as url is not used anymore.
- Adapt to updated CredentialBackingStore API about removing url.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
- * WebCoreSupport/CredentialManager.cpp:
- (WebCore::CredentialManager::autofillPasswordForms):
- (WebCore::CredentialManager::saveCredentialIfConfirmed):
- * WebCoreSupport/CredentialTransformData.cpp:
- (WebCore::CredentialTransformData::CredentialTransformData):
- * WebCoreSupport/CredentialTransformData.h:
- (CredentialTransformData):
-
-2013-02-27 John Griggs <jgriggs@rim.com>
-
- 2013-02-27 John Griggs <jgriggs@rim.com>
-
- Fix bug in HTML5 Fullscreen API implementation that was preventing YouTube HTML5 media controls fullscreen button from working properly.
- https://bugs.webkit.org/show_bug.cgi?id=110905
-
- Reviewed by Yong Li.
-
- Return true from ChromeClientBlackBerry::supportsFullScreenForElement instead of the negation of the boolean flag (withKeyboard) passed in.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::supportsFullScreenForElement):
-
-2013-02-27 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] Context menu cannot be invoked after doing text selection in landscape mode
- https://bugs.webkit.org/show_bug.cgi?id=110860
-
- Reviewed by Yong Li.
-
- PR 290248 Internally reviewed by Mike Fenton
-
- Add a parameter to notify the webpage client which parts of selection have
- changed in visual or in its selected DOM content. Refactor the selection details
- parameter to platform repo.
-
- The reason of this issue is that when javascript triggers webpage layout, the selection
- will update its apperance event when the selected content is not changed. We want
- to hide the context menu only when the selected content is changed not when only its
- visual is changed.
-
-* Api/WebPageClient.h:
- (Platform):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::cancelSelection):
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
-
-2013-02-27 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] The virtual keyboard hides part of Signing In dialog
- https://bugs.webkit.org/show_bug.cgi?id=110836
-
- Reviewed by Yong Li.
-
- PR # 283427 Internally reviewed by Mike Fenton.
-
- Store form credentials before javascript "onSubmit" event and notify
- webpage client to save credentials after that event since javascript
- may check credentials and stop the submission in its event handler.
-
- * WebCoreSupport/CredentialTransformData.cpp:
- (WebCore::CredentialTransformData::CredentialTransformData):
- (WebCore):
- * WebCoreSupport/CredentialTransformData.h:
- (CredentialTransformData):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
-2013-02-27 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Accept key events even when composing region is active.
- https://bugs.webkit.org/show_bug.cgi?id=110617
-
- Reviewed by Rob Buis.
-
- PR 293598.
-
- Fix a regression in the previous patch caused
- by an unhandled Alt key down being sent through
- by IMF.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::updateFormState):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2013-02-26 Yong Li <yoli@rim.com>
-
- [BlackBerry] Use APIEntryShim when making JS call
- https://bugs.webkit.org/show_bug.cgi?id=110787
-
- Reviewed by Rob Buis.
-
- PR# 301451.
- Use APIEntryShim to fix an assert and ensure it is thread-safe.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
-
-2013-02-26 Alberto Garcia <agarcia@igalia.com>
-
- [BlackBerry] Upstream the datalist support UI
- https://bugs.webkit.org/show_bug.cgi?id=110736
-
- Reviewed by Rob Buis.
-
- Original code by Otto Derek Cheung <otcheung@rim.com>
-
- * WebCoreSupport/SuggestionBoxElement.cpp: Added.
- (WebCore):
- (WebCore::SuggestionBoxElement::SuggestionBoxElement):
- (WebCore::SuggestionBoxElement::~SuggestionBoxElement):
- (WebCore::SuggestionBoxElement::create):
- (WebCore::SuggestionBoxElement::defaultEventHandler):
- * WebCoreSupport/SuggestionBoxElement.h: Added.
- (WebCore):
- (SuggestionBoxElement):
- * WebCoreSupport/SuggestionBoxHandler.cpp: Added.
- (WebCore):
- (WebCore::SuggestionBoxHandler::SuggestionBoxHandler):
- (WebCore::SuggestionBoxHandler::~SuggestionBoxHandler):
- (WebCore::SuggestionBoxHandler::create):
- (WebCore::SuggestionBoxHandler::setInputElementAndUpdateDisplay):
- (WebCore::SuggestionBoxHandler::showDropdownBox):
- (WebCore::SuggestionBoxHandler::hideDropdownBox):
- (WebCore::SuggestionBoxHandler::changeInputElementInnerTextValue):
- (WebCore::SuggestionBoxHandler::parseSuggestions):
- (WebCore::SuggestionBoxHandler::insertSuggestionsToDropdownBox):
- (WebCore::adjustDropdownBoxPosition):
- (WebCore::SuggestionBoxHandler::buildDropdownBoxTree):
- * WebCoreSupport/SuggestionBoxHandler.h: Added.
- (WebCore):
- (SuggestionBoxHandler):
- (WebCore::SuggestionBoxHandler::focusedElement):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
- (BlackBerry::WebKit::InputHandler::updateFormState):
- * WebKitSupport/InputHandler.h:
- (WebCore):
- (InputHandler):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2013-02-25 Yongxin Dai <yodai@rim.com>
-
- [BlackBerry] Add isInputMode() method to WebPage class.
- https://bugs.webkit.org/show_bug.cgi?id=110754
-
- Reviewed by Rob Buis.
-
- PR #262569.
-
- There is a case we need to know if the active node is content editable
- from TouchHandlerWebKitThread class. WebPage::isInputMode() just delegates
- InputHandler::isInputMode().
-
- Reviewed Internally by Mike Fenton.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::isInputMode):
- (WebKit):
- * Api/WebPage.h:
-
-2013-02-25 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Force form submission when implicit submission fails.
- https://bugs.webkit.org/show_bug.cgi?id=110627
-
- Reviewed by Rob Buis.
-
- PR 286023.
-
- When implicit form submission does not submit the form
- do a direct submission of the form.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::updateFormState):
-
-2013-02-25 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry]Adjust fatfinger detection rect size.
- https://bugs.webkit.org/show_bug.cgi?id=108678
-
- Reviewed by Rob Buis.
-
- Fix a typo in function names.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::getNodesFromRect):
-
-2013-02-25 Alberto Garcia <albgarcia@rim.com>
-
- [BlackBerry] ChromeClientBlackBerry: fix variable names
- https://bugs.webkit.org/show_bug.cgi?id=110562
-
- Reviewed by Rob Buis.
-
- manager was incorrectly renamed back to tracker in r138696:
- http://trac.webkit.org/changeset/138696/trunk/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
-
-2013-02-24 Alberto Garcia <albgarcia@rim.com>
-
- [BlackBerry] GeolocationClientBlackBerry: add missing headers
- https://bugs.webkit.org/show_bug.cgi?id=110563
-
- Reviewed by Benjamin Poulain.
-
- Frame.h and SecurityOrigin.h are necessary since r136969.
- GeolocationPosition.h since r132360.
-
- * WebCoreSupport/GeolocationClientBlackBerry.cpp:
-
-2013-02-24 Alberto Garcia <albgarcia@rim.com>
-
- [BlackBerry] FatFingers: move rectForPoint() from HitTestResult to HitTestLocation
- https://bugs.webkit.org/show_bug.cgi?id=110570
-
- Reviewed by Allan Sandfeld Jensen.
-
- HitTestResult is no longer a HitTestLocation:
- http://trac.webkit.org/changeset/135710/trunk/Source/WebCore/rendering/HitTestResult.h
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::fingerRectForPoint):
-
-2013-02-22 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Eliminate invalid clipping for content editable selections
- https://bugs.webkit.org/show_bug.cgi?id=110630
-
- Reviewed by Rob Buis.
-
- PR 284629.
-
- Remove selection clipping for content editable
- fields as the bounds aren't valid and cause
- clipping based on starting node rather than the
- union of nodes.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::updateFormState):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::clippingRectForVisibleContent):
-
-2013-02-22 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry]Adjust fatfinger detection rect size
- https://bugs.webkit.org/show_bug.cgi?id=108678.
-
- Reviewed by Antonio Gomes.
-
- Changing HitTestRequest::IgnoreClipping does not solve the problem that
- FatFinger rect detect the element out of the viewport. We have to clip
- the fatfinger rect according to the current viewport size to avoid picking
- the element out of the viewport.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::fingerRectForPoint):
- (BlackBerry::WebKit::FatFingers::findBestPoint):
- (BlackBerry::WebKit::FatFingers::getAdjustedPaddings):
- (BlackBerry::WebKit::FatFingers::getNodesFromRect):
- * WebKitSupport/FatFingers.h:
-
-2013-02-22 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Accept key events even when composing region is active.
- https://bugs.webkit.org/show_bug.cgi?id=110617
-
- Reviewed by Rob Buis.
-
- PR 293598.
-
- Don't reject key events that arrive when composing region is active,
- this can prevent navigation events from firing, instead end
- the composition and process the key.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::updateFormState):
-
-2013-02-22 Carlos Garcia Campos <cargarcia@rim.com>
-
- [BlackBerry] Rename first/second to key/value in HashMap iterators
- https://bugs.webkit.org/show_bug.cgi?id=110577
-
- Reviewed by Rob Buis.
-
- Iterators were renamed to key/value in r130612.
-
- * WebKitSupport/NotificationManager.cpp:
- (BlackBerry::WebKit::NotificationManager::show):
- (BlackBerry::WebKit::NotificationManager::clearNotifications):
- (BlackBerry::WebKit::NotificationManager::removeNotificationFromContextMap):
-
-2013-02-22 Carlos Garcia Campos <cargarcia@rim.com>
-
- [BlackBerry] Remove ProtocolHandler methods from ChromeClientBlackBerry
- https://bugs.webkit.org/show_bug.cgi?id=110567
-
- Reviewed by Rob Buis.
-
- They were removed from ChromeClient in r122810 and are now
- implemented in NavigatorContentUtilsClientBlackBerry since r131056.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2013-02-22 Xan Lopez <xlopez@rim.com>
-
- [BlackBerry] DomSupport: use NodeTraversal APIs
- https://bugs.webkit.org/show_bug.cgi?id=110467
-
- Reviewed by Antonio Gomes.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::visibleTextQuads):
-
-2013-02-21 Grzegorz Czajkowski <g.czajkowski@samsung.com>
-
- Allow to retrieve the request data from abstract TextCheckingRequest to be accessible for WK2
- https://bugs.webkit.org/show_bug.cgi?id=110208
-
- Reviewed by Hajime Morrita.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- Extract the request data as it is the member of 'TextCheckingRequest'.
-
-2013-02-21 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] WebPagePrivate::load should not check new window policy
- https://bugs.webkit.org/show_bug.cgi?id=110403
-
- Reviewed by Rob Buis.
-
- Based on my understanding of changeset 135952, we should
- not check the new window policy in WebPagePrivate::load.
-
- None of the other ports seem to do this, except for plugins.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::load):
-
-2013-02-21 Alberto Garcia <albgarcia@rim.com>
-
- [BlackBerry] BackingStore: replace instrument{Begin,Cancel}Frame with did{Begin,Cancel}Frame
- https://bugs.webkit.org/show_bug.cgi?id=110460
-
- Reviewed by Rob Buis.
-
- This was renamed incorrectly in r142879.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::instrumentBeginFrame):
- (BlackBerry::WebKit::BackingStorePrivate::instrumentCancelFrame):
-
-2013-02-21 Carlos Garcia Campos <cargarcia@rim.com>
-
- [BlackBerry] Extra ResourceRequest parameter in FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload
- https://bugs.webkit.org/show_bug.cgi?id=110451
-
- Reviewed by Rob Buis.
-
- Remove the extra ResourceRequest parameter from
- FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
-2013-02-21 Xan Lopez <xlopez@rim.com>
-
- [BlackBerry] Adapt to name changes in WebCore::ViewPortArguments
- https://bugs.webkit.org/show_bug.cgi?id=110469
-
- Reviewed by Rob Buis.
-
- This changed in r134765.
-
- * Api/WebViewportArguments.cpp:
- (BlackBerry::WebKit::WebViewportArguments::zoom):
- (BlackBerry::WebKit::WebViewportArguments::setZoom):
- (BlackBerry::WebKit::WebViewportArguments::minZoom):
- (BlackBerry::WebKit::WebViewportArguments::setMinZoom):
- (BlackBerry::WebKit::WebViewportArguments::maxZoom):
- (BlackBerry::WebKit::WebViewportArguments::setMaxZoom):
- (BlackBerry::WebKit::WebViewportArguments::userZoom):
- (BlackBerry::WebKit::WebViewportArguments::setUserZoom):
- * Api/WebViewportArguments.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::didSetSVGZoomAndPan):
-
-2013-02-21 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Move posting and scrollbar updates to the page client.
- https://bugs.webkit.org/show_bug.cgi?id=110256
- Internal PR 297099
-
- Reviewed by Rob Buis.
-
- In blitVisibleContents(), we were calling the WebKit thread
- functions BackingStorePrivate::isScrollingOrZooming() and
- WebPage::isVisible(). This is not the right spot to do it.
- Furthermore, we want to move away from direct window access
- in WebKit and leave that kind of dirtywork to the client.
-
- This patch removes invalidateWindow() as well as the two
- virtual scrollbar drawing functions and replaces it with
- one new virtual, WebPageClient::postToSurface().
- This clears up threading issues and gets us another step
- further towards pure WebPageCompositor rendering.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPageClient.h:
-
-2013-02-21 Carlos Garcia Campos <cargarcia@rim.com>
-
- [BlackBerry] Rename Localizer to Locale
- https://bugs.webkit.org/show_bug.cgi?id=110449
-
- Reviewed by Rob Buis.
-
- * WebCoreSupport/ColorPickerClient.cpp:
- (WebCore::ColorPickerClient::locale):
- * WebCoreSupport/ColorPickerClient.h:
- (ColorPickerClient):
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore::DatePickerClient::locale):
- * WebCoreSupport/DatePickerClient.h:
- (DatePickerClient):
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::locale):
- * WebCoreSupport/SelectPopupClient.h:
- (SelectPopupClient):
-
-2013-02-21 Carlos Garcia Campos <cargarcia@rim.com>
-
- [BlackBerry] Invalid use of COMPILE_ASSERT macro in WebKitTextCodec.cpp
- https://bugs.webkit.org/show_bug.cgi?id=110437
-
- Reviewed by Yong Li.
-
- * Api/WebKitTextCodec.cpp:
- (WebKit): Define COMPILE_ASSERT_MATCHING_ENUM() macro and use it to
- check enum values match between WebKit and WTF.
- (BlackBerry::WebKit::base64Decode): Use a static cast directly to
- convert from WebKit Base64DecodePolicy to WTF.
- (BlackBerry::WebKit::base64Encode): Use a static cast directly to
- convert from WebKit Base64EncodePolicy to WTF.
-
-2013-02-21 Alberto Garcia <albgarcia@rim.com>
-
- [BlackBerry] Element::getAttributeItem() no longer returns a mutable attribute
- https://bugs.webkit.org/show_bug.cgi?id=110439
-
- Reviewed by Antonio Gomes.
-
- This was changed in r142827.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
-
-2013-02-21 Alberto Garcia <albgarcia@rim.com>
-
- [BlackBerry] willComposite() and didComposite() are now in InspectorController
- https://bugs.webkit.org/show_bug.cgi?id=110343
-
- Reviewed by Carlos Garcia Campos.
-
- This was changed in r142879.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::willComposite):
- (BlackBerry::WebKit::WebPagePrivate::didComposite):
-
-2013-02-20 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Check offset for initialized value
- https://bugs.webkit.org/show_bug.cgi?id=110390
-
- Reviewed by Rob Buis.
-
- Instead of checking isEmpty, which checks for either point being <= 0, we want to explicitly check
- for the initialized value of (-1, -1). This would be set in redrawSpellCheckDialogIfRequired, and
- triggers the restore from cache in requestSpellingCheckingOptions.
-
- Internally reviewed by Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
-
-2013-02-20 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Make sure to always sync before reusing backingstore tiles.
- https://bugs.webkit.org/show_bug.cgi?id=109863
- PR 296118
-
- Reviewed by Rob Buis.
- Internally reviewed by Mike Lattanzio and Konrad Piascik.
-
- In SVN r142137, I replaced a syncToCurrentMessage() call
- with updateSuspendScreenUpdateState() in some cases,
- which internally calls the same function.
-
- Unfortunately, when I optimized updateSuspendScreenUpdateState()
- to only sync when the state is actually being changed,
- I omitted an adaptation of adoptAsFrontState() which would
- rely on this sync but now didn't always perform it.
-
- This caused a bad race condition as tile buffers could now
- be accessed from the WebKit thread and the UI thread at
- the same time. Fix it by (optionally) letting the caller
- of updateSuspendScreenUpdateState() know whether a sync
- was performed, and adapt adoptAsFrontState() accordingly.
-
- Also fixes some excessive flicker caused by the same
- race condition.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
- (BlackBerry::WebKit::BackingStorePrivate::adoptAsFrontState):
- * Api/BackingStore_p.h:
-
-2013-02-20 Yongxin Dai <yodai@rim.com>
-
- [BlackBerry] Read "data-blackberry-text-selection-handle-position" attribute from element
- https://bugs.webkit.org/show_bug.cgi?id=110235
-
- Reviewed by Yong Li.
-
- PR #257207.
-
- Read "data-blackberry-text-selection-handle-position" attribute from element and pass it along
- with notifySelectionDetailsChanged(). If "data-blackberry-text-selection-handle-position" attribute
- is specified in the element, the selection handle is always flipped to the required position.
- along with selected text within element.
-
- Reviewed Internally by Mike Fenton.
-
- * Api/WebPageClient.h:
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::selectionContainerElement):
- (DOMSupport):
- (BlackBerry::WebKit::DOMSupport::elementHandlePositionAttribute):
- * WebKitSupport/DOMSupport.h:
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::requestedSelectionHandlePosition):
- (WebKit):
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
-
-2013-02-20 Alberto Garcia <albgarcia@rim.com>
-
- [BlackBerry] Fix usage of HitTestRequest::RequestType
- https://bugs.webkit.org/show_bug.cgi?id=110342
-
- Reviewed by Carlos Garcia Campos.
-
- Rename HitTestResult::* -> HitTestRequest::*
- This was introduced by mistake in r142977.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::hitTestResult):
-
-2013-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Unreviewed BlackBerry build fix.
-
- WebPage::download was renamed in the header by mistake to
- convertMainResourceLoadToDownload in r137845.
-
- * Api/WebPage.h:
-
-2013-02-19 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Appropriately handle word wrapping in SpellingHandler
- https://bugs.webkit.org/show_bug.cgi?id=110253
-
- Reviewed by Rob Buis.
-
- PR286001
- Since we traverse through text by visual lines instead of blocks, word wrapping causes some
- bad behavior. Changing the way we traverse text to jump by words instead of lines. This will
- mean it takes longer to finish spellchecking, but the removal of any loops allows webkit
- processing to continue. This gives priority to user actions while still completing a large
- paragraph in a reasonable amount of time.
-
- Internally reviewed by Mike Fenton
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- * WebKitSupport/SpellingHandler.cpp:
- (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
- (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
- (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
- (BlackBerry::WebKit::SpellingHandler::startOfNextWord):
- (WebKit):
- (BlackBerry::WebKit::SpellingHandler::incrementByWord):
- (BlackBerry::WebKit::SpellingHandler::doesWordWrap):
- * WebKitSupport/SpellingHandler.h:
- (SpellingHandler):
-
-2013-02-18 Simon Fraser <simon.fraser@apple.com>
-
- Clean up the boolean argument to visibleContentRect
- https://bugs.webkit.org/show_bug.cgi?id=110167
-
- Reviewed by Simon Fraser.
-
- Replace the boolean argument to visibleContentRect() with
- an enum.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::getRecursiveVisibleWindowRect):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2013-02-15 Keishi Hattori <keishi@webkit.org>
-
- Add setValue and closePopup methods to PagePopupController
- https://bugs.webkit.org/show_bug.cgi?id=109897
-
- Reviewed by Kent Tamura.
-
- * WebCoreSupport/ColorPickerClient.cpp:
- (WebCore::ColorPickerClient::setValue): Added empty implementation.
- (WebCore):
- * WebCoreSupport/ColorPickerClient.h:
- (ColorPickerClient):
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore::DatePickerClient::setValue): Ditto.
- (WebCore):
- * WebCoreSupport/DatePickerClient.h:
- (DatePickerClient):
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::setValue): Ditto.
- (WebCore):
- * WebCoreSupport/SelectPopupClient.h:
- (SelectPopupClient):
-
-2013-02-15 Allan Sandfeld Jensen <allan.jensen@digia.com>
-
- Simplify hitTestResultAtPoint and nodesFromRect APIs
- https://bugs.webkit.org/show_bug.cgi?id=95720
-
- Reviewed by Julien Chaffraix.
-
- Update calls to new API.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::contextNode):
- (BlackBerry::WebKit::WebPagePrivate::nodeForZoomUnderPoint):
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- (BlackBerry::WebKit::WebPage::nodeAtDocumentPoint):
- (BlackBerry::WebKit::WebPagePrivate::hitTestResult):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):
-
-2013-02-14 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Update keyboard event details to match platform details.
- https://bugs.webkit.org/show_bug.cgi?id=109693
-
- Reviewed by Yong Li.
-
- PR 220170.
-
- When re-creating the Platform::Keyboard event ensure
- all values are updated.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::updateFormState):
-
-2013-02-14 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Update keyboard event details to match platform details.
- https://bugs.webkit.org/show_bug.cgi?id=109693
-
- Reviewed by Yong Li.
-
- PR 220170.
-
- Update keyboard event details.
-
- Reviewed Internally by Nima Ghanavatian and Gen Mak.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::keyEvent):
-
-2013-02-08 Andrey Kosyakov <caseq@chromium.org>
-
- Web Inspector: expose did{Begin,Cancel}Frame() and {will,did}Composite() on WebDebToolsAgent
- https://bugs.webkit.org/show_bug.cgi?id=109192
-
- Reviewed by Pavel Feldman.
-
- - invoke frame instrumentation methods on InspectorController, not on InspectorInstrumentation.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::instrumentBeginFrame):
- (BlackBerry::WebKit::BackingStorePrivate::instrumentCancelFrame):
-
-2013-02-12 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Assume setScrollingOrZooming() to be called on the WebKit thread.
- https://bugs.webkit.org/show_bug.cgi?id=109614
- Internal PR 294513
-
- Reviewed by Rob Buis.
- Internally reviewed by Arvid Nilsson.
-
- With this further simplification of threading assumptions,
- we can get rid of atomic integer access as well as the
- backing store mutex which was otherwise unused.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::~BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::isScrollingOrZooming):
- (BlackBerry::WebKit::BackingStorePrivate::setScrollingOrZooming):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
-
-2013-02-12 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Eliminate the direct rendering option.
- https://bugs.webkit.org/show_bug.cgi?id=109608
- RIM PR 293298
-
- Reviewed by Rob Buis.
- Internally reviewed by Arvid Nilsson.
-
- It added a lot of complexity and we're not going to use it anymore.
- This patch removes direct rendering functionality from
- WebKit/blackberry together with the assumption that blitting on the
- WebKit thread is possible or acceptable. It now isn't anymore.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
- (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
- (BlackBerry::WebKit::BackingStorePrivate::scroll):
- (BlackBerry::WebKit::BackingStorePrivate::shouldPerformRenderJobs):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::renderAndBlitImmediately):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
- (BlackBerry::WebKit::BackingStorePrivate::fillWindow):
- (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
- (BlackBerry::WebKit::BackingStorePrivate::clearWindow):
- (BlackBerry::WebKit::BackingStorePrivate::setScrollingOrZooming):
- (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
- * Api/BackingStore.h:
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::scheduleCompositingRun):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * Api/WebSettings.cpp:
- (WebKit):
- * Api/WebSettings.h:
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
- (BlackBerry::WebKit::RenderQueue::renderScrollZoomJobs):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::initialize):
-
-2013-02-12 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] CSS animations stop running during zoom
- https://bugs.webkit.org/show_bug.cgi?id=109606
-
- Reviewed by Rob Buis.
- Internally reviewed by Jakob Petsovits.
-
- Internal PR 286160.
- New BackingStore API for suspending/resuming geometry updates.
-
- This is needed because we want to allow render jobs to continue during
- zoom, but we don't want to allow geometry updates during zoom.
-
- Prevent scroll/zoom render jobs from being added to the queue if
- the tile is outside the expanded content rect.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::suspendGeometryUpdates):
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::resumeGeometryUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
- (BlackBerry::WebKit::BackingStore::suspendGeometryUpdates):
- (BlackBerry::WebKit::BackingStore::resumeGeometryUpdates):
- * Api/BackingStore.h:
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
-
-2013-02-12 Christophe Dumez <ch.dumez@sisa.samsung.com>
-
- Remove remaining traces of Web Intents
- https://bugs.webkit.org/show_bug.cgi?id=109586
-
- Reviewed by Eric Seidel.
-
- Remove remaining traces of Web Intents from Blackberry port
- configuration as the functionality was removed in r142549.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2013-02-12 Zan Dobersek <zdobersek@igalia.com>
-
- Remove ENABLE_XHR_RESPONSE_BLOB handling from various build systems
- https://bugs.webkit.org/show_bug.cgi?id=109481
-
- Reviewed by Daniel Bates.
-
- The ENABLE_XHR_RESPONSE_BLOB feature define was removed from the code
- back in r120574. There are still occurrences of it in various build systems
- which should all be removed as they are useless.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2013-02-11 Ryosuke Niwa <rniwa@webkit.org>
-
- Disable delete button controller on non-Mac ports and delete EditorClient::shouldShowDeleteInterface
- https://bugs.webkit.org/show_bug.cgi?id=109534
-
- Reviewed by Anders Carlsson.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore):
- * WebCoreSupport/EditorClientBlackBerry.h:
- (EditorClientBlackBerry):
-
-2013-02-11 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Add form navigation control state tracking.
- https://bugs.webkit.org/show_bug.cgi?id=109300
-
- Reviewed by Rob Buis.
-
- Add form navigation control state tracking.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::focusNextField):
- (WebKit):
- (BlackBerry::WebKit::WebPage::focusPreviousField):
- (BlackBerry::WebKit::WebPage::submitForm):
- * Api/WebPage.h:
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
- (BlackBerry::WebKit::InputHandler::updateFormState):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2013-02-09 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry] Set mouse document position for mouse event in updateCursor.
- https://bugs.webkit.org/show_bug.cgi?id=109094.
-
- Reviewed by Rob Buis.
-
- RIM PR 246976
- Internally Reviewed by Genevieve Mak.
-
- BlackBerry::Platform::MouseEvent have document viewport and document
- content position as members. When we create the event, we should initial
- them as well.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::updateCursor):
-
-2013-02-07 Charles Wei <charles.wei@torchmobile.com.cn>
-
- webpage needs null check in BackingStore::setCurrentBackingStoreOwner
- https://bugs.webkit.org/show_bug.cgi?id=109253
-
- Reviewed by George Staikos.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::setCurrentBackingStoreOwner):
-
-2013-02-07 Mary Wu <mary.wu@torchmobile.com.cn>
-
- [BlackBerry] Enable non-video element enter/exit fullscreen.
- https://bugs.webkit.org/show_bug.cgi?id=108314
-
- Reviewed by Antonio Gomes.
-
- Webkit support non-video element (like div) to enter/exit
- fullscreen. We should pass this capability in blackberry porting.
-
- RIM PR 256370, internally reviewed by Max Feil.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- (BlackBerry::WebKit::WebPage::notifyFullScreenVideoExited):
- (BlackBerry::WebKit::WebPagePrivate::enterFullscreenForNode):
- (BlackBerry::WebKit::WebPagePrivate::exitFullscreenForNode):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
- (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
- (BlackBerry::WebKit::WebPagePrivate::adjustFullScreenElementDimensionsIfNeeded):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2013-02-07 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Fix all flicker caused by empty/incomplete geometries.
- https://bugs.webkit.org/show_bug.cgi?id=108951
- RIM PR 286925
-
- Reviewed by Rob Buis.
- Internally reviewed by Arvid Nilsson.
-
- The main idea for this patch is that whenever we adopt
- a new backingstore geometry that doesn't contain any
- rendered tiles, or VisibleZoom render jobs that need more
- tiles to be rendered to be considered complete, we'll then
- suspend blitting until there is valid content to show.
-
- This main idea is codified as checks for empty buffers
- in adoptAsFrontState(), and checks for the current state
- of the render queue after rendering content in render().
- However, as BackingStore objects with disabled surface pools
- or pure use of accelerated compositing also swap geometries
- in some circumstances, the use of suspend counters grows
- increasingly fragile.
-
- To make this patch more resilient against regressions,
- the current suspend counter is complemented with several
- explicit conditions for suspending screen updates,
- and both subsequently combined into a single cached
- boolean value telling the UI thread whether or not to
- suspend. In the future, other suspend calls can be
- migrated to this "state machine" design as well,
- potentially phasing out the suspend counter altogether.
-
- The immediate result is that there will be no flashing
- of background color between page loads or after discarding
- tiles on scale changes until the content has been rendered.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::suspendScreenUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::adoptAsFrontState):
- (BlackBerry::WebKit::BackingStorePrivate::setCurrentBackingStoreOwner):
- (BlackBerry::WebKit::BackingStore::releaseOwnedBackingStoreMemory):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setVisible):
- (BlackBerry::WebKit::WebPagePrivate::setCompositorDrawsRootLayer):
-
-2013-02-07 Xiaobo Wang <xbwang@torchmobile.com.cn>
-
- [BlackBerry] CHHW - Characters that are using 32 bits encoding get trunked to 16bits
- https://bugs.webkit.org/show_bug.cgi?id=109126
- PR 292540
-
- Reviewed by Yong Li.
- Internally reviewed by Mike Fenton.
-
- Key char is UTF32 encoded, should be 4 bytes.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::handleScrolling):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::directionOfPointRelativeToRect):
- (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
- (BlackBerry::WebKit::shouldExtendSelectionInDirection):
- (BlackBerry::WebKit::directionalVisiblePositionAtExtentOfBox):
- (BlackBerry::WebKit::SelectionHandler::extendSelectionToFieldBoundary):
- (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
-
-2013-02-07 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] Reader Mode: Opening two links quickly from reader mode causes browser bad state
- https://bugs.webkit.org/show_bug.cgi?id=109124
-
- Reviewed by Yong Li.
-
- RIM BUG 291246 Internally reviewed by YongLi.
- Move the WebPageGroupLoadDeferrer object from ChromeClientBlackBerry::createWindow()
- into WebPageClientImpl::createWindow() to make it more close to its protecting place.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::createWindow):
-
-2013-02-07 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Send type details with IMF mask as part of focus gained.
- https://bugs.webkit.org/show_bug.cgi?id=109086
-
- Reviewed by Yong Li.
-
- PR 292609.
-
- Add masking options based on VKB type to the IMF mask.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::addInputStyleMaskForKeyboardType):
- (WebKit):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
-
-2013-02-06 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Refactor renderContents() for cleaner code.
- https://bugs.webkit.org/show_bug.cgi?id=109059
- RIM PR 280374
-
- Reviewed by Rob Buis.
- Internally reviewed by Arvid Nilsson.
-
- The fact that we've got two renderContents() implementations
- in BackingStore.cpp, one of which was tailored to just
- being called from drawContents(), is a major annoyance.
-
- With this patch, the regular renderContents() is modified
- in a way so that drawContents() can make use of it as well.
- This includes an API change for both functions which makes
- it more flexible and enables further cleanups and improvements
- to accuracy. The second, unloved renderContents() is removed.
-
- The user-visible changes are improved (float) accuracy for
- render offsets, clipping to exactly the dstRect that has
- been specified, and the changed public drawContents() API.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
- (BlackBerry::WebKit::BackingStore::drawContents):
- * Api/BackingStore.h:
- (Platform):
- (Graphics):
- * Api/BackingStore_p.h:
- (WebCore):
- (BackingStorePrivate):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::SurfacePool):
- (BlackBerry::WebKit::SurfacePool::initialize):
- (BlackBerry::WebKit::SurfacePool::destroyPlatformGraphicsContext):
- * WebKitSupport/SurfacePool.h:
- (SurfacePool):
-
-2013-02-06 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Check range before use in parseBlockForSpellChecking
- https://bugs.webkit.org/show_bug.cgi?id=109080
-
- Reviewed by Yong Li.
-
- PR291394
- This was missed during patch webkit/5aea04f6ea625827. Since getRangeForSpellCheckWithFineGranularity
- now returns null values, we need a check here before using the range object here as well.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/SpellingHandler.cpp:
- (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
-
-2013-02-06 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Check for a valid range object before using it
- https://bugs.webkit.org/show_bug.cgi?id=109058
-
- Reviewed by Rob Buis.
-
- PR291394
- Crash occurs if makeRange returns null, since we are using this value without checking
- its validity. We had an assert before which I'm replacing with just a check for null.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/SpellingHandler.cpp:
- (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
-
-2013-02-05 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Scrolling performance drops doing page load
- https://bugs.webkit.org/show_bug.cgi?id=108949
-
- Reviewed by Yong Li.
- Internally reviewed by Jakob Petsovits.
-
- Internal PR 291390.
- The intention of this code was to not update non-visible tiles during page load.
-
- Before this patch, the code would update tiles that have already been rendered
- during page load.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
-
-2013-02-04 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry]Adjust fatfinger detection rect size
- https://bugs.webkit.org/show_bug.cgi?id=108678
-
- Reviewed by Antonio Gomes.
- RIM Bug 246976
-
- We still need to clip the fatfinger detection rect to the viewport to
- avoid wrong hitTest result.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::mouseEvent):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::getNodesFromRect):
-
-2013-02-04 Abhishek Arya <inferno@chromium.org>
-
- Add ASSERT_WITH_SECURITY_IMPLICATION to detect bad cast in DOM, CSS, etc.
- https://bugs.webkit.org/show_bug.cgi?id=108688
-
- Reviewed by Eric Seidel.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::setSuccessfulFatFingersResult):
-
-2013-02-04 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Needs one-shot drawing synchronization flag should be set before rendering when resuming the backing store
- https://bugs.webkit.org/show_bug.cgi?id=108760
-
- Reviewed by Yong Li.
- Internally reviewed by Arvid Nilsson.
-
- Internal PR 286218.
- When acquiring the backing store ownership in WebPagePrivate::resumeBackingStore
- we need to set the needs one-shot drawing synchronization flag
- before rendering, so that when the render is completed we
- commit the root layer.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
-
-2013-02-03 KwangYong Choi <ky0.choi@samsung.com>
-
- Fix build warning after r141473
- https://bugs.webkit.org/show_bug.cgi?id=108782
-
- Reviewed by Kentaro Hara.
-
- Fix -Wunused-parameter build warning.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::getClientPasteboardDataForRange):
-
-2013-02-01 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Zooming in during page load of non-scalable webpage results in fixed magnification
- https://bugs.webkit.org/show_bug.cgi?id=108252
-
- Reviewed by Yong Li.
- Internally reviewed by Konrad Piascik.
-
- PR: 284828
- We got float layoutSize(342.284122, 521.448467) and
- m_maximumScale(2.243750) after computing viewport meta based on the
- device pixel ratio and laid out the contents at IntSize(342, 521).
- Therefore, zoomToFitScale(2.245681) would be a bit larger than
- m_maximumScale based on that contents size and resulted in
- maximumScale()!=minimumScale(), which made the non-scalable page
- scalable.
- Return zoomToFitScale for maximumScale() in such kind of case.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::maximumScale):
-
-2013-02-01 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] InputHandler status is not restored when page history goes back
- https://bugs.webkit.org/show_bug.cgi?id=108448
-
- Reviewed by Yong Li.
-
- PR288406 Internally reviewed by Mike Fenton
-
- When webpage goes back, it restores the old frame's selection and focused node,
- but we don't save the InputHandler's status, it becomes non-input mode when page
- goes back. When it restores the focus, since the new focus node is same as the old
- document focused node, webcore will not notify client to update the input handler.
-
- This patch updates the input handler's status by notifying it focus node changed.
-
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::restoreViewState):
- (WebKit):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2013-01-31 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Bing Images viewport causes layout "fun"
- https://bugs.webkit.org/show_bug.cgi?id=108393
-
- Reviewed by Yong Li.
- Internally reviewed by Arvid Nilsson and partially reviewed by Konrad Piascik.
-
- PR: 277855
- Set applyPageScaleFactorInCompositor settting to false by default.
- Scale down chrome window rect to density-independent pixels.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- * Api/WebSettings.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebSettings::standardSettings):
- (BlackBerry::WebKit::WebSettings::applyDeviceScaleFactorInCompositor):
- (BlackBerry::WebKit::WebSettings::setApplyPageScaleFactorInCompositor):
- * Api/WebSettings.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::windowRect):
-
-2013-01-31 Enrica Casucci <enrica@apple.com>
-
- WebKit2: provide new bundle APIs to allow bundle clients to be notified of pasteboard access.
- https://bugs.webkit.org/show_bug.cgi?id=108396.
- <rdar://problem/12920461>
-
- Reviewed by Alexey Proskuryakov.
-
- Adds stub implementation for WebKit of the new EditorClient methods.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::willWriteSelectionToPasteboard):
- (WebCore::EditorClientBlackBerry::getClientPasteboardDataForRange):
- * WebCoreSupport/EditorClientBlackBerry.h:
-
-2013-01-30 Ed Baker <edbaker@rim.com>
-
- [BlackBerry] Screenshot is clipped when content is smaller than the desintation size
- https://bugs.webkit.org/show_bug.cgi?id=107735
-
- Reviewed by Rob Buis.
-
- Internal PR #284662
- Don't scale the transformed content rect when the content is smaller than the destination
- size. Scale the graphics context when it has a scale factor that isn't 1.0.
-
- Internally reviewed by Andrew Lo
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
-
-2013-01-30 Xiaobo Wang <xbwang@torchmobile.com.cn>
-
- [BlackBerry] Webpage was cut off after rotating to landscape and then rotating back to portrait on specific website
- https://bugs.webkit.org/show_bug.cgi?id=108281
- PR 284985
-
- Reviewed by Rob Buis.
- Internally reviewed by Jacky Jiang.
-
- Return correct fixedLayoutSize when overflow exceeds contents size.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
-
-2013-01-30 Simon Hausmann <simon.hausmann@digia.com>
-
- [Qt] Remove QT4_UNICODE related code paths
- https://bugs.webkit.org/show_bug.cgi?id=108316
-
- Reviewed by Kenneth Rohde Christiansen.
-
- * WebCoreSupport/AboutDataUseFeatures.in: The feature macro has been removed.
-
-2013-01-29 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r140983.
- http://trac.webkit.org/changeset/140983
- https://bugs.webkit.org/show_bug.cgi?id=108277
-
- Unfortunately, this API has one last client (Requested by
- abarth on #webkit).
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2013-01-28 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Small animated zoom level adjustments are unnecessary
- https://bugs.webkit.org/show_bug.cgi?id=108104
-
- Reviewed by Rob Buis.
- Internally reviewed by Mike Fenton.
-
- Internal PR 285861.
- If the difference between the target scale and current scale is
- less than a given threshold, don't perform a zoom animation.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2013-01-28 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Reduce the region that is spellchecked on keystroke
- https://bugs.webkit.org/show_bug.cgi?id=108115
-
- Reviewed by Rob Buis.
-
- PR288217
- Instead of blindly checking text until endOfDocument, we should be honoring the boundaries of
- the VisibleSelection that is passed into SpellingHandler. Though this results in the same behavior
- on focus, this dramatically reduces the region that is rechecked when a key is hit.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- * WebKitSupport/SpellingHandler.cpp:
- (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
- (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
- * WebKitSupport/SpellingHandler.h:
- (SpellingHandler):
-
-2013-01-28 Adam Barth <abarth@webkit.org>
-
- Remove webkitNotifications.createHTMLNotification
- https://bugs.webkit.org/show_bug.cgi?id=107598
-
- Reviewed by Benjamin Poulain.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2013-01-28 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] SpellingHandler parses and creates spellcheck requests regardless of the system spell check status
- https://bugs.webkit.org/show_bug.cgi?id=108085
-
- Reviewed by Rob Buis.
-
- Fix a merge error that duplicated a function declaration in InputHandler.h.
-
- * WebKitSupport/InputHandler.h:
-
-2013-01-28 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] SpellingHandler parses and creates spellcheck requests regardless of the system spell check status
- https://bugs.webkit.org/show_bug.cgi?id=108085
- PR 286165
-
- Reviewed by Rob Buis.
- Internally reviewed by Nima Ghanavatian.
-
- Adding a check for the system spell check status in InputHandler::shouldSpellCheckElement so
- we won't bother sending a spellcheck request if system spell check is turned off.
-
- However, on a fresh browser start up and on the first setElementFocus, the spellcheck value isn't defined yet.
- The first spell check request is therefore necessary to connect to imf to determine whether spell check is turned on.
- If spell check is turned off, we will turn spellinghandler off.
-
- Tested the patch using a test site that contains editable text in text-areas and content-editable divs. Also tested on
- an extreme test case where we try to edit a content-editable div with 30000 characters. Confirmed spell-check requests are
- being canceled if system spell check is off.
-
- In theory, this patch should also fix PR 284229 . However, because of issues with getting the system spell check values from IMF,
- additional work needs to be done for that PR.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setSpellCheckingEnabled):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::shouldSpellCheckElement):
- (WebKit):
- (BlackBerry::WebKit::InputHandler::stopPendingSpellCheckRequests):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
- (BlackBerry::WebKit::InputHandler::setSystemSpellCheckStatus):
-
-2013-01-25 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Pop-up WebViews should not take ownership of the backing store.
- https://bugs.webkit.org/show_bug.cgi?id=107957
-
- Reviewed by Rob Buis.
- Internally reviewed by Jakob Petsovits.
-
- Internal PR 274581.
- Add web setting for whether a WebPage should take the backing store.
- Prevent pop-up WebView from taking ownership of the backing
- store when it becomes visible.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setVisible):
- * Api/WebSettings.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebSettings::standardSettings):
- (BlackBerry::WebKit::WebSettings::isBackingStoreEnabled):
- (BlackBerry::WebKit::WebSettings::setBackingStoreEnabled):
- * Api/WebSettings.h:
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::PagePopupBlackBerry::PagePopupBlackBerry):
- (WebCore::PagePopupBlackBerry::init):
-
-2013-01-25 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] AC layers appear in the wrong place on RTL page
- https://bugs.webkit.org/show_bug.cgi?id=107930
-
- Reviewed by George Staikos.
-
- The public API of the BlackBerry port always reports a minimum scroll
- position of (0, 0), even on RTL pages with left overflow. We
- accomplish this by translating the WebCore scroll position by an
- amount equal in size to the minimum scroll position, to obtain the API
- scroll position reported to the API client.
-
- This means the API client will ask us to render a rect that needs to
- be corrected for the minimum scroll position, or we'll render the wrong
- part. This is done for BackingStore, but not for WebPageCompositor.
-
- WebPageCompositor was rendering the wrong part of the web page when
- the minimum scroll position was non-zero. Fixed by communicating the
- minimum scroll position to the WebPageCompositor, and accounting for it
- when interpreting the requested content rectangle to render.
-
- PR 280229.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::render):
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
- * Api/WebPageCompositor_p.h:
- (BlackBerry::WebKit::WebPageCompositorPrivate::layoutRect):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setLayoutRect):
- (BlackBerry::WebKit::WebPageCompositorPrivate::documentRect):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setDocumentRect):
- (WebPageCompositorPrivate):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2013-01-24 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Fix crash in SpellingHandler
- https://bugs.webkit.org/show_bug.cgi?id=107842
-
- Reviewed by Rob Buis.
-
- If we have an empty range or one with all spaces, we can simply return 0 instead of
- still creating a range. Putting in a null check after trimming to catch this case
- which was causing the crash in some DRT tests.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::trimWhitespaceFromRange):
- * WebKitSupport/SpellingHandler.cpp:
- (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
-
-2013-01-24 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] It can't Select texts in main frame when the current focus is in a IFrame
- https://bugs.webkit.org/show_bug.cgi?id=107773
-
- Reviewed by Antonio Gomes.
-
- PR285211 Internally reviewed by Genevieve Mak
-
- When touch hold in the unfocused frame, it doesn't switch frame focus. Many
- places in code depends on the webpage->forcusOrMainFrame(), including the
- SelectionHandler, so it can't select in an unfocused frame. This patch switchs
- frame focus when touch starts.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::doFatFingers):
-
-2013-01-23 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Take a better guess as to what text the user wants learned
- https://bugs.webkit.org/show_bug.cgi?id=107706
-
- Reviewed by Rob Buis.
-
- If we still have a valid caret position, use it to give priority to a region
- of text. We now take the text before the caret, instead of the text at the end
- of the field. If the caret is not present, we start from the beginning of the field.
- This helps learning in email where the region of interest is generally at the start,
- not end of the field.
-
- Internally reviewed by Mike Fenton
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::learnText):
-
-2013-01-23 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Optimize spellchecking by coalescing messages
- https://bugs.webkit.org/show_bug.cgi?id=107707
-
- Reviewed by Rob Buis.
-
- PR233604
- Instead of taking chunks one line at a time, coalesce them together
- to fire off messages as close to our character limit as possible.
- This should dramatically reduce the total number of messages in email
- giving us a little performance bump.
-
- Internally reviewed by Mike Fenton and Gen Mak.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::trimWhitespaceFromRange):
- (DOMSupport):
- * WebKitSupport/DOMSupport.h:
- * WebKitSupport/InputHandler.cpp:
- * WebKitSupport/InputHandler.h:
- (InputHandler):
- * WebKitSupport/SpellingHandler.cpp:
- (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
- (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
- (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
- (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
- * WebKitSupport/SpellingHandler.h:
-
-2013-01-23 Shinya Kawanaka <shinyak@chromium.org>
-
- shadowAncestorNode() should be renamed to deprecatedShadowAncestorNode()
- https://bugs.webkit.org/show_bug.cgi?id=107624
-
- Reviewed by Dimitri Glazkov.
-
- Since Node::shadowAncestorNode() is deprecated, we would like to rename it to prevent from further use.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- * WebKitSupport/FatFingers.h:
- (BlackBerry::WebKit::FatFingersResult::node):
- * WebKitSupport/InPageSearchManager.cpp:
- (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
-
-2013-01-22 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] GIF & RAF animations sometimes don't resume after zoom
- https://bugs.webkit.org/show_bug.cgi?id=107590
-
- Reviewed by Rob Buis.
- Internally reviewed by Jakob Petsovits.
-
- Internal PR 276907.
- Dispatch render jobs when resuming backing store updates to perform jobs
- queued when updates were suspended.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
-
-2013-01-21 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Skip spell checking on single character strings
- https://bugs.webkit.org/show_bug.cgi?id=107463
-
- Reviewed by Yong Li.
-
- Check for a minimum string length when firing off spellcheck since we don't
- want to mark single letter words.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- * WebKitSupport/SpellingHandler.cpp:
- (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
- (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
-
-2013-01-20 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] some websites only takes half of the screen after rotating from landscape to portrait mode.
- https://bugs.webkit.org/show_bug.cgi?id=107103
-
- Reviewed by George Staikos.
- Internally reviewed by Jacky Jiang.
-
- When the document size changes (by some javascript) which makes it too small to fit the viewport, we should
- automatically zoom it to fit the viewport.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::layoutFinished):
-
-2013-01-20 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry] Improve Fatfinger phase.
- https://bugs.webkit.org/show_bug.cgi?id=107403
-
- Reviewed by Rob Buis.
-
- RIM PR 219489
- Internally reviewd by Mike Fenton & Gen Mak.
-
- Treat ClickableByDefault and MadeClickableByTheWebpage elements as
- same category. Avoid unnecessary nodes check step.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::isElementClickable):
- (BlackBerry::WebKit::FatFingers::FatFingers):
- (BlackBerry::WebKit::FatFingers::findBestPoint):
- (BlackBerry::WebKit::FatFingers::getNodesFromRect):
- * WebKitSupport/FatFingers.h:
-
-2013-01-18 Andrew Lo <anlo@rim.com>
- [BlackBerry] When acquiring/releasing backing store memory, allow web page client control suspend/resuming of backing store
- https://bugs.webkit.org/show_bug.cgi?id=107307
-
- Reviewed by Rob Buis.
- Internally reviewed by Jakob Petsovits.
-
- Internal PR276660
- Have BackingStore::createBackingStoreMemory & releaseBackingStoreMemory only
- acquire & release the surface pool. It doesn't matter if either is called
- redundantly since SurfacePool has internal state to protect against that.
-
- Resuming & suspending backing store and screen updates will be handled by
- the WebPageClient.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStore::acquireBackingStoreMemory):
- (BlackBerry::WebKit::BackingStore::releaseOwnedBackingStoreMemory):
- * Api/BackingStore.h:
-
-2013-01-18 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Set spellchecking calculations on a timer to free up the WebKit thread
- https://bugs.webkit.org/show_bug.cgi?id=107284
-
- Reviewed by Rob Buis.
-
- PR282351
- Firing off spellcheck requests is tieing up the WebKit thread for an
- extended period of time. In testing with large blocks of text, this
- can be in the matter of 5-10 seconds. Though we are using asynchronous
- spellchecking, the process in which we break down blocks of text based
- on input_service limitations is the issue.
- Using a timer here which fires with an arbitrary timeout to allow for
- focus and interaction to maintain at a reasonable level.
- Further, pulling this code out of InputHandler and into its own class.
-
- Internally reviewed by Mike Fenton and Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::~InputHandler):
- (BlackBerry::WebKit::InputHandler::callRequestCheckingFor):
- (WebKit):
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
- (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
- * WebKitSupport/InputHandler.h:
- (WebCore):
- (WebKit):
- (InputHandler):
- * WebKitSupport/SpellingHandler.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::SpellingHandler::SpellingHandler):
- (BlackBerry::WebKit::SpellingHandler::~SpellingHandler):
- (BlackBerry::WebKit::SpellingHandler::spellCheckTextBlock):
- (BlackBerry::WebKit::SpellingHandler::createSpellCheckRequest):
- (BlackBerry::WebKit::SpellingHandler::parseBlockForSpellChecking):
- (BlackBerry::WebKit::SpellingHandler::getRangeForSpellCheckWithFineGranularity):
- * WebKitSupport/SpellingHandler.h: Added.
- (WebCore):
- (WebKit):
- (SpellingHandler):
- (BlackBerry::WebKit::SpellingHandler::isSpellCheckActive):
- (BlackBerry::WebKit::SpellingHandler::setSpellCheckActive):
-
-2013-01-18 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Check if continuous spellchecking is enabled before processing a request
- https://bugs.webkit.org/show_bug.cgi?id=107169
-
- Reviewed by Rob Buis.
-
- PR265815
- We set this value based on the global settings page. The
- spellcheck-on-focus codepath did not hit this, so focusing a
- field would not uphold the setting.
-
- Internally reviewed by Mike Fenton and Gen Mak.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::elementHasContinuousSpellCheckingEnabled):
- (DOMSupport):
- * WebKitSupport/DOMSupport.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
-
-2013-01-18 Seokju Kwon <seokju.kwon@gmail.com>
-
- Add explicit keyword to constructors in platform-specific InspectorClient
- https://bugs.webkit.org/show_bug.cgi?id=107255
-
- Reviewed by Kentaro Hara.
-
- Add explicit keyword to constructors that take one argument
- in platform-specific implementation of InspectorClient.
-
- * WebCoreSupport/InspectorClientBlackBerry.h:
- (InspectorClientBlackBerry):
-
-2013-01-18 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Assert failing in RenderQueue::renderScrollZoomJobs
- https://bugs.webkit.org/show_bug.cgi?id=107215
-
- Reviewed by Rob Buis.
- Internally reviewed by Jakob Petsovits.
-
- Internal PR276660
- Render jobs should not be performed if the backing store is inactive.
-
- This occured when the browser was invoked, causing a web page to be made
- visible before the surface pool was resumed.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::shouldPerformRenderJobs):
-
-2013-01-17 Yong Li <yoli@rim.com>
-
- [BlackBerry] InRegionScroller should notify client before it deletes all the scrollables
- https://bugs.webkit.org/show_bug.cgi?id=107162
-
- Reviewed by Rob Buis.
- Internally reviewed by Gen Mak and Mike Fenton.
-
- Move the notification code from notifyInRegionScrollStopped() to reset() as there are
- other places where reset() gets called.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::reset):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped):
-
-2013-01-17 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Fix selection handle appearance for RTL text.
- https://bugs.webkit.org/show_bug.cgi?id=107043
-
- Reviewed by Rob Buis.
-
- PR 263585.
-
- Invert the reported selection handle position if to match
- the visual order instead of the logical order to create the
- desired appearance for RTL text and directional selections.
-
- Reviewed Internally by Gen Mak and Nima Ghanavatian.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
-
-2013-01-16 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Need to adjust the scale and scroll position after leaving fullscreen mode if there's
- device rotation in fullscreen mode
- https://bugs.webkit.org/show_bug.cgi?id=107085
-
- Reviewed by George STaikos.
- Also internally reviewed by Jacky Jiang.
-
- We saved the scale and scroll position before entering full screen mode, so that we can restore
- them after leaving fullscreen mode, because entering fullscreen mode automatically changes the
- scale to make the video to fit to the viewport. But if there's device rotation during the fullscreen,
- the scale and scroll position saved before may or may not apply anymore, we need to adjust the
- scale and/or scroll position if needed to make sure no over-scale or over-scroll in the new orientation.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2013-01-16 Joe Mason <jmason@rim.com>
-
- [BlackBerry] Remove bogus assert in GeolocationClientBlackBerry
- https://bugs.webkit.org/show_bug.cgi?id=105651
-
- Reviewed by Darin Adler.
-
- GeolocationClientBlackBerry::cancelPermissionRequest contains an ASSERT that the origin is
- in m_geolocationRequestMap. But it's perfectly valid for the origin to not be in the map -
- for instance, if GeolocationClientBlackBerry::requestPermission returned immediately,
- without putting it in the map, because geolocation was disabled. In this case the correct
- thing to do is just return - there is nothing to be done to cancel the permission.
-
- * WebCoreSupport/GeolocationClientBlackBerry.cpp:
- (GeolocationClientBlackBerry::cancelPermissionRequest):
-
-2013-01-15 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Don't overwrite field dir with current locale.
- https://bugs.webkit.org/show_bug.cgi?id=106932
-
- Reviewed by Yong Li.
-
- PR 212267.
-
- Remove uncalled onInputLocaleChanged and stop re-writing the dir
- on input focus which prevented RTL fields from rendering properly.
-
- Reviewed Internally by Eli Fidler.
-
- * Api/WebPage.cpp:
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/InputHandler.cpp:
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2013-01-15 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Manual zoom propagates to next page load
- https://bugs.webkit.org/show_bug.cgi?id=106914
-
- Reviewed by Yong Li.
- Internally reviewed by Eli Fidler and Jakob Petsovits.
-
- PR: 280481
- During load committed, the web page scale was reset. However, UI thread
- still kept the old scale in UserInterfaceViewportAccessor so that it
- blitted the contents at the old scale although WebKit thread could
- update the UI thread scale later when finished the load.
- We should update the scale of the UI thread right after we reset it in
- WebKit thread to keep them in sync.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::resetScales):
-
-2013-01-14 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] FCC appears when switching search engine providers
- https://bugs.webkit.org/show_bug.cgi?id=106824
-
- Magnifying glass appears when switching search engine providers
-
- PR 279178
-
- Reviewed by Rob Buis.
- Internal Reviewed by Mike Fenton.
-
- We need to make sure fatfinger is touching a textfield when we tell notifyCaretChanged
- to show the FCC.
-
- This behaviour is accidentally regressed in the fix in PR 267177, causing the FCC to show
- when the user touches an element that is not a textfield and changes the caret in the inputbar..
-
- Tested that the behaviour in 267177 isn't reproducible and the FCC isn't invoked when we switch
- search engine providers.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
-
-2013-01-14 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Zoom is still possible when user-scalable=no
- https://bugs.webkit.org/show_bug.cgi?id=106809
-
- Reviewed by George Staikos.
-
- PR: 274566
- On wordpress.com, the contents were rendered at the width 343 which was
- 1 css pixel larger than the expected device-width 342 so that we didn't
- respect the viewport.
- There was a RenderBlock on the page which contained "\n" and an
- inline-block. "\n" took 0.78 width and the inline-block took 342 width
- and they were unfortunately placed in the same InlineBox which caused
- the contents width 1 css pixels larger than the device-width.
- Allow the contents width to be 1 css pixel larger and still respect the
- viewport in such a special case.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::respectViewport):
-
-2013-01-13 Xiaobo Wang <xbwang@torchmobile.com.cn>
-
- [BlackBerry] Add a public function WebPage::isLoading()
- https://bugs.webkit.org/show_bug.cgi?id=106751
-
- PR 274392
-
- Reviewed by George Staikos.
-
- Need to get the load state in WebPageClient when resolving PR 274392.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::isLoading):
- (WebKit):
- * Api/WebPage.h:
-
-2013-01-11 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Focus zoom animation doesn't occur on devices with physical keyboard
- https://bugs.webkit.org/show_bug.cgi?id=106719
-
- Reviewed by Yong Li.
- Internally reviewed by Mike Fenton.
-
- Internal PR 278687
-
- Always ensureFocusTextElementVisible if an element is focused when
- the device has a physical keyboard.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setElementFocused):
-
-2013-01-11 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Modifying the databaseQuota call to WebPageClient
- https://bugs.webkit.org/show_bug.cgi?id=106703
-
- Reviewed by Yong Li.
-
- The databaseQuota call in WebPageClientImpl is modified to take in
- BP:Strings directly. Also, we want to use the origin URL from the security origin.
- Not the database identifier.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
-
-2013-01-10 Yongxin Dai <yodai@rim.com>
-
- [BlackBerry] Handle the case that start/end position is out of unclipped selection region
- https://bugs.webkit.org/show_bug.cgi?id=106486
-
- Reviewed by Rob Buis.
-
- PR #270624
- Unclipped selection region should cover start/end position of the selection.
- Since we exclude hidden text when calculating unclipped selection region, the
- start/end position can be out of unclipped selection region if it is for hidden
- text. If that is the case, start/end handle will be invisible. To avoid invisible
- handle, we take unclipped selection region as reference rectangle in the case.
-
- Internally reviewed by Genevieve Mak, Mike Fenton
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::referencePoint):
-
-2013-01-09 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Useless if statement check
- https://bugs.webkit.org/show_bug.cgi?id=106113
-
- Reviewed by Yong Li.
-
- Remove stray ! in if statement which was mistakenly left in during
- refactoring. Since Injected events are checked before they are sent to
- webkit, it didn't have an effect on behaviour.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::touchEvent):
-
-2013-01-08 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Removing the totalusage variable in ChromeClientBB::exceededDatabaseQuota
- https://bugs.webkit.org/show_bug.cgi?id=106370
-
- Reviewed by Yong Li.
-
- Removing totalUsage in ChromeClientBlackBerry as we no longer use that variable.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
-
-2013-01-08 Jacky Jiang <zhajiang@rim.com>
-
- [Blackberry][FullScreen] Create a helper method to adjust the fullscreen renderer dimensions
- https://bugs.webkit.org/show_bug.cgi?id=91748
-
- Reviewed by Antonio Gomes.
-
- PR: 195524
- The was originally from Antonio Gomes on PR195524. Bug 105488 has
- partially upstreamed that patch. This patch upstreams the rest of it.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::updateViewportSize):
- (BlackBerry::WebKit::WebPagePrivate::notifyTransformedScrollChanged):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::fullScreenRendererChanged):
-
-2013-01-08 Mark Lam <mark.lam@apple.com>
-
- Removed the need for the ProposedDatabase mechanism.
- https://bugs.webkit.org/show_bug.cgi?id=106292.
-
- Reviewed by Sam Weinig.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2013-01-08 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] Can't select text out of current focused input
- https://bugs.webkit.org/show_bug.cgi?id=106322
-
- Reviewed by Rob Buis.
-
- PR270755
- Internally reviewed by Mike Fenton
-
- When selection changed, the selection handler clips new selection with
- current focused node's boundary. So we clear focus before selectObject.
- This patch clear focus when selectObject is at a point but not at a node.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectObject):
-
-2013-01-08 Steve Block <steveblock@chromium.org>
-
- Rename 'IntSize toSize(const IntPoint&)' to 'toIntSize'
- https://bugs.webkit.org/show_bug.cgi?id=106307
-
- This matches other method names which distinguish between sizes and
- points. See https://bugs.webkit.org/show_bug.cgi?id=105992#c4.
-
- Reviewed by Kentaro Hara.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
-
-2013-01-07 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Touch Events are falling through fullscreen video
- https://bugs.webkit.org/show_bug.cgi?id=106112
-
- Reviewed by Rob Buis.
-
- Reviewed Internally by Jakob Petsovits.
- PR #274326
- Do not do viewport centering calculations if in fullscreen video.
- The offset should be zero.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
-
-2013-01-07 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Roll out r136173 as there are alternative approaches from the client sides now
- https://bugs.webkit.org/show_bug.cgi?id=106236
-
- Unreviewed, rolling out r136173.
- This becomes unnecessary now as there are alternative approaches to
- solve the issue from the client sides.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::createWindow):
-
-2013-01-07 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Never avoid blitting when one-shot drawing sync is involved.
- https://bugs.webkit.org/show_bug.cgi?id=106225
- RIM PR 274948
-
- Reviewed by George Staikos.
- Based on a patch by Chris Guan.
-
- didRenderContent() has a mechanism to avoid double blits;
- when scrolling or zooming is enabled then we don't issue
- blitContents() as the client would (continually) do that
- already.
-
- However, since r138024, didRenderContents() also deals
- with one-shot drawing synchronization and commits.
- When these are required, we can't just skip out or the
- backingstore and overlaying composited layers are likely
- to get out of sync. The condition also doesn't make much
- sense for direct rendering as no blit calls are issued
- at all when it is enabled.
-
- Fix the issue by limiting the impact of the scroll/zoom
- early return to only regular blit operations.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
-
-2013-01-05 Andy Chen <andchen@rim.com>
-
- [BlackBerry] SelectionHandler::selectAtPoint should use last fat finger result when it is a link
- https://bugs.webkit.org/show_bug.cgi?id=106141
-
- Reviewed by Rob Buis.
-
- If last fat finger result is a link, select it directly when
- SelectionHandler::selectAtPoint is called.
- PR 263449
- Internally reviewed by Mike Fenton and Yongxin Dai.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectNodeIfFatFingersResultIsLink):
- (WebKit):
- (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
- * WebKitSupport/SelectionHandler.h:
- (WebKit):
- (SelectionHandler):
-
-2013-01-04 Mike Lattanzio <mlattanzio@rim.com>
-
- [BlackBerry] Last text input caret left visible when WebView entirely loses focus.
- https://bugs.webkit.org/show_bug.cgi?id=106124
-
- Reviewed by George Staikos.
-
- Internal PR 248834
-
- There are numerous code paths that lead to repainting of the focus node
- when the focus moves to another node, but none seem to cover the case
- of focus leaving the document when there are no DocumentMarkers present.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
-
-2013-01-04 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] FCC will show up as you type if you tap on the same input bar twice before typing
- https://bugs.webkit.org/show_bug.cgi?id=106116
-
- Reviewed by Yong Li.
- Internal reviewed by Gen Mak.
- PR 267177
-
- FCC is being invoked because the fatfinger result is no longer a reliable source
- to tell whether the caret change is caused by user touch input. Instead, we recognize all
- notifyCaretChange calls with userTouchInput as true except when caretPositionChanged is invoked
- by SelectionHandler:inputHandlerDidFinishProcessingChange.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::inputHandlerDidFinishProcessingChange):
- (BlackBerry::WebKit::SelectionHandler::notifyCaretPositionChangedIfNeeded):
- (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
-
-2013-01-04 Yong Li <yoli@rim.com>
-
- [BlackBerry] Cached frame shouldn't access the page when being destroyed
- https://bugs.webkit.org/show_bug.cgi?id=105942
-
- Reviewed by George Staikos.
-
- Fix regression of previous patch. dispatchDidHandleOnloadEvents() can be called
- after Frame has been detached.
-
- RIM PR# 271237.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents):
-
-2013-01-04 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Allow defaultTabEventHandler to trigger on tab
- https://bugs.webkit.org/show_bug.cgi?id=106118
-
- Reviewed by Yong Li.
-
- In order to support tabbing through input elements, amongst
- other things, we need to bipass the processing of the tab key as
- '\t'. This will simply insert 4 spaces in the field. Remove tab
- support from the key down map so that we don't translate it to
- an editor command.
-
- Internally reviewed by Mike Fenton.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore):
-
-2013-01-04 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Enable Input Focus when handling touch events for JS
- https://bugs.webkit.org/show_bug.cgi?id=106109
-
- Reviewed by Yong Li.
-
- PR 273325.
-
- Toggle input mode active when a touch event is
- received for JS processing to ensure state
- is updated even when event is consumed.
-
- Reviewed Internally by Gen Mak.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::touchEvent):
-
-2013-01-04 Adam Klein <adamk@chromium.org>
-
- Remove ENABLE_MUTATION_OBSERVERS #define
- https://bugs.webkit.org/show_bug.cgi?id=105459
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2013-01-04 Anthony Scian <ascian@rim.com>
-
- [Blackberry] Static code analysis warning fixes
- https://bugs.webkit.org/show_bug.cgi?id=105679
-
- Reviewed by Rob Buis.
-
- Klocwork issue 959: check layer against NULL since it is used in both cases
- of the subsequent if-stmt
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
-
-2013-01-02 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] file:/// pages don't get correct scales after several rotations and history navigations
- https://bugs.webkit.org/show_bug.cgi?id=105996
-
- Reviewed by George Staikos.
-
- PR: 273541
- When navigating back to the previous page on portrait mode, we were
- trying to set virtual viewport after recalculation. However, we didn't
- change the fixed layout size so that we still layouted the contents at
- the old virtual viewport size. In this case, the old virtual viewport
- was 570 * 293 which was set in landscape mode unfortunately. There
- would be no chance for such kind of contents size to fit the portrait
- mode screen size nicely.
- This was a regression of webkit/cc31d9bad where setViewMode() was
- removed as a noop. So just get setViewMode() back to apply the fixed
- layout size with a little bit change as SVG document path was proved
- invalid in that patch. Thanks to George for the float comparison change.
- Put a FIXME as we don't have a way to save the scale precisely before
- the rotation and history navigation currently.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem):
-
-2013-01-02 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Do not determine db quota limit using db file size
- https://bugs.webkit.org/show_bug.cgi?id=105991
-
- PR 267191
-
- Reviewed by George Staikos.
-
- Passing the current quota to WebPageClientImpl::databaseQuota so we can determine a better
- quota limit without using the db file size.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
-
-2013-01-02 Yong Li <yoli@rim.com>
-
- [BlackBerry] Cached frame shouldn't access the page when being destroyed
- https://bugs.webkit.org/show_bug.cgi?id=105942
-
- Reviewed by George Staikos.
-
- In order to prevent our FrameLoaderClient from dangling WebPagePrivate object in any case,
- this patches clear the m_webPagePrivate pointer when the frame is detached or cached.
-
- RIM PR# 272137.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::isMainFrame):
- (WebCore::FrameLoaderClientBlackBerry::detachedFromParent2):
- (WebCore::FrameLoaderClientBlackBerry::didSaveToPageCache):
- (WebCore::FrameLoaderClientBlackBerry::didRestoreFromPageCache):
-
-2013-01-02 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Use fatfingers result when checking for misspelled words
- https://bugs.webkit.org/show_bug.cgi?id=105923
-
- Reviewed by Yong Li.
-
- PR270866
- Currently we are using the raw touch point when checking to see if spell check
- is required on a word. When tapping close to a boundary, the raw point can be
- placed off but fatfingers moves the point onto the word. This causes the caret
- to be placed on a word but no spell check request triggered.
-
- Internally reviewed by Mike Fenton and Tiancheng Jiang
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-12-28 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Remove unused BackingStorePrivate::m_defersBlit
- https://bugs.webkit.org/show_bug.cgi?id=105811
- RIM PR 272067
-
- Reviewed by George Staikos.
- Internally Reviewed by Jakob Petsovits.
-
- BackingStorePrivate::m_defersBlit is not used anywhere, it should
- be removed to simplify the code and to avoid confusion.
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- * Api/BackingStore.h:
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
-
-2012-12-26 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Set load state for popups manually, in absence of a loader.
- https://bugs.webkit.org/show_bug.cgi?id=105708
- RIM PR 257216
-
- Reviewed by George Staikos.
- Internally reviewed by Chris Guan.
-
- The WebPage class relies on the load state for various things,
- among others it will only emit contents size changes after
- layouts if a load state other than None is set.
-
- Given that popups write the web page content itself with no
- loader that would issue such notifications, the load state
- should probably just be set manually in this case.
-
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::PagePopupBlackBerry::init):
-
-2012-12-26 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] Caret doesn't update position when scrolling text in Input element
- https://bugs.webkit.org/show_bug.cgi?id=105757
-
- Reviewed by George Staikos.
-
- PR 271627
- Internally reviewed by George Staikos.
-
- Call FrameSelection's updateAppearence instead of SelectionHandler's
- selectionPositionChanged to update the caret position.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
-
-2012-12-25 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Need to initialize the onLine in the global
- https://bugs.webkit.org/show_bug.cgi?id=105749
-
- Reviewed by George Staikos.
-
- The NetworkStatus is initialized to online in the constructor by default,
- we need to update it correctly with the network status at startup.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::globalInitialize):
-
-2012-12-24 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Fix various RenderQueue bugs introduced by r138024.
- https://bugs.webkit.org/show_bug.cgi?id=105717
- RIM PR 269029
-
- Reviewed by George Staikos.
-
- Scroll/zoom jobs were pretty solid, but I managed to
- leave some bugs in the region handling of RenderQueue's
- renderRegularRenderJobs() function, causing us to skip
- a desired blit or render operation in cases where the
- region and tile tracking did not match up.
-
- This commit fixes these errors.
-
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
-
-2012-12-24 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Close page popup when a page becomes invisible.
- https://bugs.webkit.org/show_bug.cgi?id=105704
-
- Reviewed by George Staikos.
-
- Reviewed internally by Jakob Petsovits.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setVisible):
-
-2012-12-23 Mary Wu <mary.wu@torchmobile.com.cn>
-
- [BlackBerry] give url when createWindow
- https://bugs.webkit.org/show_bug.cgi?id=105702
- RIM bug# 257329
-
- Reviewed by George Staikos.
-
- This is to revert previous commit 575407238c35f1a0fa7ff7dd5dbbf6cc3ece1107
- for integration issue of cascade and air, as old app side still use the url
- to invoke. It would unrevert after resolving the integration issue.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchCreatePage):
-
-2012-12-23 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Specify tile usage enum for backingstore tiles.
- https://bugs.webkit.org/show_bug.cgi?id=105688
- RIM PR 262120
-
- Reviewed by George Staikos.
-
- This enables us to have separate tile sizes for
- backingstore / root layer purposes and generic layers.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::tileSize):
-
-2012-12-21 Max Feil <mfeil@rim.com>
-
- [BlackBerry] Fullscreen video fixed position container horizontal position is wrong
- https://bugs.webkit.org/show_bug.cgi?id=105488
-
- Reviewed by George Staikos.
-
- The fix for https://bugs.webkit.org/show_bug.cgi?id=105333 has
- broken fullscreen video, which was compensating by doing its
- own positioning in x. My patch fixes things by making vertical
- and horizontal handling symmetrical.
- NOTE: This function was not upstreamed before, so you can't
- actually see my diff. See the bug.
-
- * Api/WebPage.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::adjustFullScreenElementDimensionsIfNeeded):
-
-2012-12-18 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Calculate correct word offsets for form elements.
- https://bugs.webkit.org/show_bug.cgi?id=105354
-
- Reviewed by Rob Buis.
-
- PR266117
- We need to calculate correct offsets for form elements, such as
- textareas, relative to the start of the field. This allows for correct
- spell checking of words in a textarea element after line breaks.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
-
-2012-12-18 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Remove extra call to doFatFingers.
- https://bugs.webkit.org/show_bug.cgi?id=105347
-
- Reviewed by Rob Buis.
-
- Reviewed Internally by Mike Fenton.
- Now that we do fat fingers on touch start, we don't need this anymore.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::touchEvent):
-
-2012-12-18 Genevieve Mak <gmak@rim.com>
-
- Bug 105344 - [BlackBerry] Make single line text edits touch scrollable.
- https://bugs.webkit.org/show_bug.cgi?id=105344
-
- Reviewed by Antonio Gomes.
-
- Reviewed Internally by Mike Fenton.
- We don't need to check the overflow for editable layers because there's
- no need for overflow to be set by the content.
- PR #231776
-
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2012-12-18 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Build fix for r138024.
- https://bugs.webkit.org/show_bug.cgi?id=105199
- RIM PR 260232
-
- Reviewed by Yong Li.
-
- The clearVisibleTiles() function doesn't exist anymore
- and apparently I fail at merge conflict resolution.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
-
-2012-12-18 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Clean up "frontState" vs. "geometry" naming confusion.
- https://bugs.webkit.org/show_bug.cgi?id=105331
- RIM PR 260232
-
- Reviewed by Adam Treat.
-
- The concept of the "front state" is going away or will be
- marginalized/renamed, but I don't want to clutter upcoming
- patches with renames. So do the variable renames in here,
- once, and have future patches focus on actual behavior changes.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::shouldDirectRenderingToWindow):
- (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
- (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
-
-2012-12-18 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Reduce calls to IMF on return
- https://bugs.webkit.org/show_bug.cgi?id=105308
-
- Reviewed by Yong Li.
-
- PR207743
- The extra calls of selection change and most importantly, end composition
- are sent incorrectly on return. This is causing our state to be reset
- every time we hit enter.
-
- Internally reviewed by Mike Fenton and Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::nodeTextChanged):
- (BlackBerry::WebKit::InputHandler::selectionChanged):
- (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
- (BlackBerry::WebKit::InputHandler::shouldNotifyWebView):
- (WebKit):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2012-12-18 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Remove the visible tile buffer from the BackingStore.
- https://bugs.webkit.org/show_bug.cgi?id=105302
- RIM PR 260232
-
- Reviewed by George Staikos.
-
- The visible tile buffer was introduced as an additional
- buffering solution that was necessary because other
- buffers would only cover part of the screen and could
- only be swapped one by one, with long blocking calls
- between each newly rendered tile. By carrying an old copy
- of all tiles at once, we were avoiding checkerboard and
- visual artifacts during load time when much zoom-to-fit
- action is going on.
-
- These days, the visual tile buffer hurts more than it helps,
- not only taking up lots of memory but also requiring
- complexity that we'd rather get rid of. Now that multiple
- buffers are being swapped into the user interface thread
- at once, the need for the visible tile buffer is no longer
- there and can be exchanged for standard geometry behavior.
-
- This patch simply deletes the visible tile buffer to use
- existing other code instead. Differences in behavior are
- non-existent or negligible.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::transformChanged):
- (BlackBerry::WebKit::BackingStorePrivate::orientationChanged):
- (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::SurfacePool):
- (BlackBerry::WebKit::SurfacePool::initialize):
- (BlackBerry::WebKit::SurfacePool::createBuffers):
- (BlackBerry::WebKit::SurfacePool::releaseBuffers):
- * WebKitSupport/SurfacePool.h:
- (SurfacePool):
-
-2012-12-18 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Restructure the render queue to process multiple tiles at once.
- https://bugs.webkit.org/show_bug.cgi?id=105199
- RIM PR 260232
-
- Reviewed by George Staikos.
- Internally reviewed by Arvid Nilsson.
-
- Since my last big commit, r136442, the BackingStore's render()
- function is able to fetch multiple back buffers and swap them
- into the user interface thread in one go. However, it turns out
- that this is not enough to actually render to all of the
- available back buffers at once. The RenderQueue class was still
- working with a model based on processing one rectangle after
- another.
-
- This commit rewrites large parts of RenderQueue to issue
- render() calls for multiple tiles at once. As WebCore painting
- gets cheaper and blocking becomes more of an issue, this commit
- does away with paints smaller than tile size and always renders
- whole tiles at once. This means the demise of RenderRect.
- As an additional benefit, this means we can remove the
- copyPreviousContentsToTileBuffer() function which caused
- potential threading issues as it was accessing a buffer
- now owned by the UI thread from the WebKit thread.
-
- RenderQueue is also smarter than before in assigning batches,
- it now takes into account the number of available back buffers
- for rendering as well as excludes tiles outside contents
- boundaries. Regular render jobs continue being tracked as
- regions (and are being issued to didRenderContent()) with only
- the changed content regions. Everything else switches over to
- tile index lists from previously lists of rectangles.
- By default, we render as many tiles at once as we can grab
- back buffers, or until a given set of jobs is done.
- For high-priority jobs, render() will be called in a loop.
-
- To allow for the necessary changes in render() and improve
- reliability in the same go, we now call render() almost
- exclusively through RenderQueue. Other places would often
- call renderVisibleContents() in situations where rendering
- is not possible, geometries don't get updated, or content
- rendered notifications would not get issued to the client.
- By replacing renderVisibleContents() with a scheduled
- high-priority queue that's immediately being processed
- (but only if possible), these problems go away.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::repaint):
- (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
- (BlackBerry::WebKit::BackingStorePrivate::renderJob):
- (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
- (BlackBerry::WebKit::BackingStorePrivate::indexesForBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
- (BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::renderAndBlitVisibleContentsImmediately):
- (BlackBerry::WebKit::BackingStorePrivate::renderAndBlitImmediately):
- (BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
- (BlackBerry::WebKit::BackingStorePrivate::visibleTileIndexes):
- (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::updateTile):
- (BlackBerry::WebKit::BackingStorePrivate::transformChanged):
- (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
- (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::compareRectOneDirection):
- (BlackBerry::WebKit::tileIndexIsLessThan):
- (WebKit):
- (BlackBerry::WebKit::tileIndexLessThanFunction):
- (BlackBerry::WebKit::TileIndexLessThan::TileIndexLessThan):
- (BlackBerry::WebKit::TileIndexLessThan::operator()):
- (TileIndexLessThan):
- (BlackBerry::WebKit::RenderQueue::reset):
- (BlackBerry::WebKit::RenderQueue::isEmpty):
- (BlackBerry::WebKit::RenderQueue::hasCurrentRegularRenderJob):
- (BlackBerry::WebKit::RenderQueue::hasCurrentVisibleZoomJob):
- (BlackBerry::WebKit::RenderQueue::hasCurrentVisibleScrollJob):
- (BlackBerry::WebKit::RenderQueue::isCurrentVisibleZoomJob):
- (BlackBerry::WebKit::RenderQueue::isCurrentVisibleZoomJobCompleted):
- (BlackBerry::WebKit::RenderQueue::isCurrentVisibleScrollJob):
- (BlackBerry::WebKit::RenderQueue::isCurrentVisibleScrollJobCompleted):
- (BlackBerry::WebKit::RenderQueue::isCurrentRegularRenderJob):
- (BlackBerry::WebKit::RenderQueue::tileIndexesIntersectingRegion):
- (BlackBerry::WebKit::RenderQueue::tileIndexesFullyContainedInRegion):
- (BlackBerry::WebKit::RenderQueue::tileRegion):
- (BlackBerry::WebKit::RenderQueue::addToQueue):
- (BlackBerry::WebKit::RenderQueue::addToRegularQueue):
- (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
- (BlackBerry::WebKit::RenderQueue::quickSort):
- (BlackBerry::WebKit::RenderQueue::visibleContentChanged):
- (BlackBerry::WebKit::RenderQueue::backingStoreRectChanging):
- (BlackBerry::WebKit::RenderQueue::clear):
- (BlackBerry::WebKit::RenderQueue::clearRegions):
- (BlackBerry::WebKit::RenderQueue::clearTileIndexes):
- (BlackBerry::WebKit::RenderQueue::render):
- (BlackBerry::WebKit::RenderQueue::renderRegularRenderJobs):
- (BlackBerry::WebKit::RenderQueue::renderScrollZoomJobs):
- (BlackBerry::WebKit::RenderQueue::scrollZoomJobsCompleted):
- * WebKitSupport/RenderQueue.h:
- (WebKit):
- (RenderQueue):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::numberOfAvailableBackBuffers):
- (BlackBerry::WebKit::SurfacePool::takeBackBuffer):
- * WebKitSupport/SurfacePool.h:
- (SurfacePool):
- * WebKitSupport/TileIndex.h:
- (WebKit):
-
-2012-12-17 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] Editable text element can't be selected
- https://bugs.webkit.org/show_bug.cgi?id=105240
-
- Reviewed by Rob Buis.
- Internally reviewed by Genevieve Mak and Mike Fenton.
-
- Internal PR266755
- When the target is Text, we should allow it to collect text nodes in
- the shadow tree of text editable elements.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::getNodesFromRect):
-
-2012-12-17 Yongxin Dai <yodai@rim.com>
-
- [BlackBerry] Prevent selection handles from being rendered after selection was canceled
- https://bugs.webkit.org/show_bug.cgi?id=105203
-
- Reviewed by Rob Buis.
-
- PR255438
-
- Here is the explanation why handles occur without selection overlay.
- 1. Still touch at current selection (Selection A) initiated by touch-hold
- 2. Selection expanding (Selection B) is ongoing
- 3. Finger moves. In UI thread:
- 1) SelectionHander::cancelSelection() gets called.
- a. Selection A is canceled immediately (clear selecting state and hide handles)
- b. Post a request to webkit thread to cancel Selection A.
- 4. In webkit thread:
- 1) Selection B becomes active selection
- a. Show selection overlay for Selection B
- b. Dispatch Selection B to UI thread to show handles
- 2) Handle the request of canceling Selection A. The selection A was gone. Instead the active Selection B is canceled.
- The visual change is Selection overlay for Selection B becomes invisible..
- 5. In UI thread:
- Selection B is rendered. The start handle and the end handle occur without selection overlay.
-
- The fix is to notify client with a empty selection whenever the selection is canceled in webkit thread.
-
- Reviewed Internally by Mike Fenton.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::cancelSelection):
-
-2012-12-17 Yong Li <yoli@rim.com>
-
- [BlackBerry] Null pointer access in compositorDrawsRootLayer
- https://bugs.webkit.org/show_bug.cgi?id=105204
-
- Reviewed by Rob Buis.
-
- PR# 267188.
- Add a null check for m_mainFrame in the function.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::compositorDrawsRootLayer):
-
-2012-12-17 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Use application size rather than screen size where appropriate.
- https://bugs.webkit.org/show_bug.cgi?id=105201
-
- Reviewed by Rob Buis.
- Internally reviewed by Jeff Rogers.
-
- Switch from screenSize to applicationSize where appropriate.
- Internal PR266400
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::transformedViewportSize):
- (BlackBerry::WebKit::WebPagePrivate::setDefaultLayoutSize):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::initialize):
-
-2012-12-17 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Improve DOMSupport visibleSelectionForClosestActualWordStart for content editable.
- https://bugs.webkit.org/show_bug.cgi?id=105198
-
- Reviewed by Rob Buis.
-
- PR 258038.
-
- Improve closest word matching by giving preference to the left when
- distances are equal.
-
- Also enforce container matching to avoid selecting the paragraph
- marker if a CE div is followed immediately by a CE paragraph.
-
- Minor refactor - don't calculate the distance if the selection
- isn't on a word.
-
- Reviewed Internally by Gen Mak and Nima Ghanavatian.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::visibleSelectionForClosestActualWordStart):
-
-2012-12-17 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Clean up log output in WebKit/blackberry.
- https://bugs.webkit.org/show_bug.cgi?id=104823
-
- Reviewed by George Staikos.
-
- Behavior-preserving change, fixing many issues with logging:
- - Call logAlways() instead of BBLOG() in already defined-out debug blocks.
- - Call logAlways() instead of BBLOG() for serious errors, too.
- - Fix build for the DEBUG_OVERFLOW_DETECTION block in ChromeClientBlackBerry.
- - Fix build for double declarations of "elapsed" variables in RenderQueue.
- - Fix compiler warnings due to format string / parameter mismatches.
- - Remove unnecessary trailing newlines in logged strings.
- - Consistently use Platform:: as prefix except inside WebCore-namespaced code.
- - Use indentation that actually passes WebKit style checks.
- - Change point/size/rect output to use Platform toString() formats for consistency.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::bestDivisor):
- (BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::suspendScreenUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::repaint):
- (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
- (BlackBerry::WebKit::BackingStorePrivate::scroll):
- (BlackBerry::WebKit::BackingStorePrivate::renderJob):
- (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
- (BlackBerry::WebKit::BackingStorePrivate::scrollBackingStore):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
- (BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
- (BlackBerry::WebKit::BackingStorePrivate::fillWindow):
- (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
- (BlackBerry::WebKit::BackingStorePrivate::clearWindow):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
- (BlackBerry::WebKit::WebPagePrivate::contentsSizeChanged):
- (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
- (BlackBerry::WebKit::WebPage::touchEvent):
- (BlackBerry::WebKit::WebPagePrivate::scheduleRootLayerCommit):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
- (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::overflowExceedsContentsSize):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::checkFingerIntersection):
- (BlackBerry::WebKit::FatFingers::findIntersectingRegions):
- (BlackBerry::WebKit::FatFingers::checkForText):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::convertStringToWchar):
- (BlackBerry::WebKit::convertStringToWcharVector):
- (BlackBerry::WebKit::convertSpannableStringToString):
- (BlackBerry::WebKit::InputHandler::learnText):
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
- (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
- (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
- (BlackBerry::WebKit::InputHandler::setInputModeEnabled):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
- (BlackBerry::WebKit::InputHandler::spellCheckBlock):
- (BlackBerry::WebKit::InputHandler::nodeTextChanged):
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- (BlackBerry::WebKit::InputHandler::frameUnloaded):
- (BlackBerry::WebKit::InputHandler::selectionChanged):
- (BlackBerry::WebKit::InputHandler::setSelection):
- (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
- (BlackBerry::WebKit::InputHandler::deleteTextRelativeToCursor):
- (BlackBerry::WebKit::InputHandler::deleteText):
- (BlackBerry::WebKit::InputHandler::spannableTextInRange):
- (BlackBerry::WebKit::InputHandler::setComposingRegion):
- (BlackBerry::WebKit::InputHandler::finishComposition):
- (BlackBerry::WebKit::InputHandler::setText):
- (BlackBerry::WebKit::InputHandler::setTextAttributes):
- (BlackBerry::WebKit::InputHandler::setRelativeCursorPosition):
- (BlackBerry::WebKit::InputHandler::setSpannableTextAndRelativeCursor):
- (BlackBerry::WebKit::InputHandler::setComposingText):
- (BlackBerry::WebKit::InputHandler::commitText):
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::RenderQueue::addToRegularQueue):
- (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
- (BlackBerry::WebKit::RenderQueue::render):
- (BlackBerry::WebKit::RenderQueue::renderAllCurrentRegularRenderJobs):
- (BlackBerry::WebKit::RenderQueue::startRegularRenderJobBatchIfNeeded):
- (BlackBerry::WebKit::RenderQueue::renderVisibleZoomJob):
- (BlackBerry::WebKit::RenderQueue::renderVisibleScrollJob):
- (BlackBerry::WebKit::RenderQueue::renderRegularRenderJob):
- (BlackBerry::WebKit::RenderQueue::renderNonVisibleScrollJob):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::cancelSelection):
- (BlackBerry::WebKit::SelectionHandler::shouldUpdateSelectionOrCaretForPoint):
- (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
- (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
- (BlackBerry::WebKit::SelectionHandler::setSelection):
- (BlackBerry::WebKit::SelectionHandler::selectObject):
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::initialize):
-
-2012-12-17 Anthony Scian <ascian@rim.com>
-
- [Blackberry] Static code analysis warning fixes
- https://bugs.webkit.org/show_bug.cgi?id=105129
-
- Reviewed by Rob Buis.
-
- - disable copy/op= in BackingStore
- - cache and check intermediate values in parentLayer
- - disable copy/op= in InRegionScroller
- - disable copy/op= in WebPageGroupLoadDeferrer
- - disable copy/op= in WebSettings
- - disable copy/op= in WebViewportArguments
- - disable copy/op= in BackingStoreClient
- - disable copy/op= in TileBuffer
- - if stopNode is not NULL, loop could iterate past NULL; added NULL check to loop
- to make the code more robust
-
- * Api/BackingStore.h:
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
- (BlackBerry::WebKit::parentLayer):
- * Api/InRegionScroller.h:
- * Api/WebPageGroupLoadDeferrer.h:
- * Api/WebSettings.h:
- * Api/WebViewportArguments.h:
- * WebKitSupport/BackingStoreClient.h:
- (BackingStoreClient):
- * WebKitSupport/BackingStoreTile.h:
- (TileBuffer):
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::visibleTextQuads):
-
-2012-12-16 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Adapt to new BlackBerry::Platform::TouchPoint API
- https://bugs.webkit.org/show_bug.cgi?id=105143
- RIM PR 171941
-
- Reviewed by Rob Buis.
- Internally reviewed by George Staikos.
-
- TouchPoint instances now provide document coordinates for the viewport
- and content position of the touch event. The pixel coordinates stored
- in the TouchPoint should no longer be needed in WebKit. One exception
- is when passing events to a full screen plugin.
-
- Also adapt to new method names and encapsulation of TouchPoint data
- members.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::touchEvent):
- (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
- (BlackBerry::WebKit::WebPagePrivate::dispatchTouchEventToFullScreenPlugin):
- (BlackBerry::WebKit::WebPagePrivate::dispatchTouchPointAsMouseEventToFullScreenPlugin):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::doFatFingers):
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- * WebKitSupport/TouchEventHandler.h:
- (TouchEventHandler):
-
-2012-12-15 Anders Carlsson <andersca@apple.com>
-
- Rename FrameLoaderClient::download to convertMainResourceLoadToDownload
- https://bugs.webkit.org/show_bug.cgi?id=105122
-
- Reviewed by Andreas Kling.
-
- Update for WebCore changes.
-
- * Api/WebPage.h:
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
-2012-12-16 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] GUIMark3 page is rendered at a large scale during history navigation back
- https://bugs.webkit.org/show_bug.cgi?id=105130
-
- Reviewed by George Staikos.
-
- PR: 265999
- During history navigation, UI thread can blit the contents at a bad
- view state before WebKit thread restores the view state.
- Suspend screen updates before goBackOrForward() and resume thereafter
- so that screen can be updated after the correct view state is updated.
- No need to render or blit here, as goBackOrForward() can dispatch a
- message to WebKit thread to do that in WebPagePrivate::restoreHistoryViewState().
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::goBackOrForward):
-
-2012-12-15 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Pass key modifiers with touch and mouse events
- https://bugs.webkit.org/show_bug.cgi?id=105108
-
- Reviewed by Rob Buis.
-
- Pass key modifiers to allow for added functionality, such as
- shift+click to highlight.
-
- Internally reviewed by Gen Mak.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- (BlackBerry::WebKit::WebPagePrivate::updateCursor):
- (BlackBerry::WebKit::WebPage::mouseEvent):
- (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
- * Api/WebPage.h:
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::sendClickAtFatFingersPoint):
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- (BlackBerry::WebKit::TouchEventHandler::handleFatFingerPressed):
- * WebKitSupport/TouchEventHandler.h:
- (TouchEventHandler):
-
-2012-12-15 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Clean up allocated memory from InputMethodSupport
- https://bugs.webkit.org/show_bug.cgi?id=105110
-
- Reviewed by Rob Buis.
-
- PR265919
- We are deep copying the spannable_string from IMF and freeing
- here once we're done with it.
-
- Internally reviewed by Jeff Rogers.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
-
-2012-12-14 Parth Patel <parpatel@rim.com>
-
- [BlackBerry] Allow plugins to be disabled by shared library filename
- https://bugs.webkit.org/show_bug.cgi?id=101274
-
- Reviewed by Yong Li.
-
- Fixing build error.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
-
-2012-12-13 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry][Fullscreen] Exiting fullscreen does not set the correct scroll position
- https://bugs.webkit.org/show_bug.cgi?id=104958
-
- Reviewed by Antonio Gomes.
- Internally reviewed by Arvid Nilsson and Max Feil.
-
- PR: 231174
- When leaving fullscreen, WebPage scale and scroll position can't return
- to the original scale and scroll position.
- We can't restore them in WebPagePrivate::exitFullScreenForElement()
- as they can still be changed thereafter during the async
- setViewportSize(). And also the async setViewportSize() from the app
- side isn't guaranteed as some apps don't need to resize the viewport if
- their windows are already fullscreen.
- The restoration is basically only needed if viewport size is changed.
- At the point of entering fullscreen, we can safely assume that there
- would be a viewport size change thereafter if the current visible size
- and screen size are not equal. Based on this assumption, we can save
- the scale and position before entering fullscreen and restore them in
- setViewportSize() thereafter.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-12-13 Yong Li <yoli@rim.com>
-
- [BlackBerry] Possible JS re-entrancy caused by UI event handler
- https://bugs.webkit.org/show_bug.cgi?id=84862
-
- Reviewed by Rob Buis.
-
- Fix an obvious bug in previous patch.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::deferredTasksTimerFired):
-
-2012-12-13 Parth Patel <parpatel@rim.com>, Max Feil <mfeil@rim.com>
-
- Allow plugins to be disabled by shared library filename
- https://bugs.webkit.org/show_bug.cgi?id=101274
-
- Reviewed by Antonio Gomes.
-
- Mechanism allows plugins to be disabled by specifying their shared library filenames.
- Once disabled, a plugin's shared library should never be loaded.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setExtraPluginDirectory):
- (WebKit):
- (BlackBerry::WebKit::WebPage::updateDisabledPluginFiles):
- * Api/WebPage.h:
-
-2012-12-12 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- NetworkInfoController needs to support destructor
- https://bugs.webkit.org/show_bug.cgi?id=104642
-
- Reviewed by Kentaro Hara.
-
- Though NetworkInfoController can be referenced by each port in order to update network status change,
- there is no virtual interface to destroy it. Beside each port client also needs to be destroyed when
- controller is destroyed.
-
- * WebCoreSupport/NetworkInfoClientBlackBerry.cpp:
- (WebCore::NetworkInfoClientBlackBerry::networkInfoControllerDestroyed):
- (WebCore):
- * WebCoreSupport/NetworkInfoClientBlackBerry.h:
- (NetworkInfoClientBlackBerry):
-
-2012-12-12 Mike Lattanzio <mlattanzio@rim.com>
-
- [BlackBerry] Ensure InRegionScrollableArea is valid before using.
- https://bugs.webkit.org/show_bug.cgi?id=104832
-
- Reviewed by Antonio Gomes.
-
- Make sure the InRegionScrollableArea we are about to scroll is
- still valid by ensuring its present in our cache of scrollable areas.
- Internal PR: 258475
- Internal Review: Gen Mak
-
- We cache a RefPtr for each scrollable area at the time we discover them,
- but this cache can get cleared anytime and then the references will be
- released. If a request comes in to scroll a region which no longer
- exists we have to ignore it.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
- (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
- (BlackBerry::WebKit::InRegionScrollerPrivate::isValidScrollableLayerWebKitThread):
- (WebKit):
- (BlackBerry::WebKit::InRegionScrollerPrivate::isValidScrollableNode):
- * Api/InRegionScroller_p.h:
- (WebCore):
- (InRegionScrollerPrivate):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::cachedScrollableLayer):
- (WebKit):
- (BlackBerry::WebKit::InRegionScrollableArea::cachedScrollableNode):
- * WebKitSupport/InRegionScrollableArea.h:
- (InRegionScrollableArea):
-
-2012-12-12 Mark Lam <mark.lam@apple.com>
-
- Encapsulate externally used webdatabase APIs in DatabaseManager.
- https://bugs.webkit.org/show_bug.cgi?id=104741.
-
- Reviewed by Sam Weinig.
-
- Use DatabaseManager instead of accessing DatabaseTracker, AbstractDatabase,
- and DatabaseContext directly. This is to prepare for upcoming webkit2
- refactoring.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
-
-2012-12-12 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Fix word matching algorithm to account for adjacent divs with no whitespace between them.
- https://bugs.webkit.org/show_bug.cgi?id=104837
-
- Reviewed by Rob Buis.
-
- PR 258038.
-
- Fix selection at the end of content editable text block.
-
- The next character may be in the next block bypassing the distance
- comparison logic we have, remove the check for next character being
- whitespace
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::visibleSelectionForClosestActualWordStart):
-
-2012-12-12 Alexey Proskuryakov <ap@apple.com>
-
- Make LOG() work in WebProcess and NetworkProcess
- https://bugs.webkit.org/show_bug.cgi?id=104718
-
- Reviewed by Tim Horton.
-
- * Api/BlackBerryGlobal.cpp: Include InitializeLogging.h
-
-2012-12-11 Kihong Kwon <kihong.kwon@samsung.com>
-
- Vibration API: IDL type doesn't match implementation type
- https://bugs.webkit.org/show_bug.cgi?id=103899
-
- Reviewed by Kentaro Hara.
-
- According to WebIDL, "unsigned long" corresponds to "unsigned" in the platform.
- Therefore unsigned long need to be changed to unsigned for the Vibration API.
- - Change a parameter type of vibrate function from unsigned long to unsigned.
-
- * WebCoreSupport/VibrationClientBlackBerry.cpp:
- (WebCore::VibrationClientBlackBerry::vibrate):
- * WebCoreSupport/VibrationClientBlackBerry.h:
- (VibrationClientBlackBerry):
-
-2012-12-11 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Redraw spell check dialog after rotation.
- https://bugs.webkit.org/show_bug.cgi?id=104737
-
- Reviewed by Rob Buis.
-
- After rotating the device, all dialogs are dismissed. We should
- restore the spell check dialog as it is still valid after
- rotation and the user will expect it there.
-
- Internally reviewed by Mike Fenton and Gen Mak.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::applyPendingOrientationIfNeeded):
-
-2012-12-11 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Shift the spell check dialog to align with text after transformation
- https://bugs.webkit.org/show_bug.cgi?id=104716
-
- Reviewed by Rob Buis.
-
- PR245033
- As the page is transformed, we should redraw the dialog box to align
- with the new text position. We send a message to move the dialog
- box from different spots to account for scrolling. This includes
- keyboard transitions from hidden to displayed and centering of
- focus around a new touch point. We do not reposition on manual user
- scrolling of the page, as this simply dismisses the dialog.
-
- Internally reviewed by Mike Fenton and Gen Mak.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::scroll):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
- (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
- (BlackBerry::WebKit::InputHandler::redrawSpellCheckDialogIfRequired):
- (WebKit):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
- (BlackBerry::WebKit::InputHandler::clearDidSpellCheckState):
- (BlackBerry::WebKit::InputHandler::didSpellCheckWord):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-12-11 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Avoid multiple calls to fat fingers
- https://bugs.webkit.org/show_bug.cgi?id=104703
-
- Reviewed by Rob Buis.
-
- We already run fat fingers on touch start. No need to do it again
- in the general use case.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-12-11 Mike West <mkwst@chromium.org>
-
- Web Inspector: ConsoleTypes should not expose MessageType - it should be private to inspector.
- https://bugs.webkit.org/show_bug.cgi?id=66371
-
- Reviewed by Pavel Feldman.
-
- Drops WebCore::MessageType from the addMessageToConsole method.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::addMessageToConsole):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2012-12-10 Max Feil <mfeil@rim.com>
-
- [BlackBerry] Flash content is being rendered as garbled characters when Flashplayer is disabled
- https://bugs.webkit.org/show_bug.cgi?id=104505
-
- Reviewed by Antonio Gomes.
-
- The check to allow video and audio as the source of embed and
- object elements is causing a problem when the Flashplayer plugin
- is disabled. We have to take Flash content into account in this
- check otherwise the swf contents will be rendered as garbled
- text characters where there should just be blank space.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::createPlugin):
-
-2012-12-10 Parth Patel <parpatel@rim.com>
-
- [BlackBerry] Make hiddenPageDomTimerInterval a setting
- https://bugs.webkit.org/show_bug.cgi?id=104555
-
- Reviewed by Yong Li.
-
- HiddenPageDomTimerInterval in setting in webcore can be utilized by browser application
- when needed.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::globalInitialize):
-
-2012-12-10 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Fix warning for comparison between signed and unsigned
- https://bugs.webkit.org/show_bug.cgi?id=104563
-
- Reviewed by Rob Buis.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::isCaretAtEndOfText):
-
-2012-12-10 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Webkit crashes sometimes (even though very rarely) when deleting a webview
- https://bugs.webkit.org/show_bug.cgi?id=104504
-
- Reviewed by George Staikos.
-
- When deleting a webview, the webkit thread will send a sync message to userInterfaceThread
- to delete handlers, including the viewport accessor. But the UserInterfaceThread could be
- doing a blit after it has deleted the viewport accessor and before the webkit thread gets
- the time slot to resume it's operation to clean up the webview, which leaves a very short
- time that viewport accessor of a webpage has been deleted while the webpage is still in
- the process of deleting, and the viewport accessor is referenced in the UserInterfaceThread.
-
- So we need to check if the viewport accessor is NULL before using it in the backingstore code.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
-
-2012-12-10 Kent Tamura <tkent@chromium.org>
-
- Refactoring: Introduce HTMLFormControlElement::isDisabledOrReadOnly
- https://bugs.webkit.org/show_bug.cgi?id=104508
-
- Reviewed by Kentaro Hara.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openDatePopup): Use isDisabledOrReadOnly.
- (BlackBerry::WebKit::InputHandler::openColorPopup): Ditto.
-
-2012-12-08 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Google results page rendering issue with RTL languages like arabic/hebrew
- https://bugs.webkit.org/show_bug.cgi?id=104451
-
- Reviewed by Rob Buis.
-
- PR: 206372
- On Google results page, we layout the contents at the width of 833.
- However, "appbar" and "top_nav" elements which have width 980 cause
- overflow during the last layout and make the contents width larger.
- The other renderers still stay at the old width unfortunately which
- results in blank areas on the left side of the Google results RTL page.
- Give it a chance to request another layout if overflow exceeds the
- contents size and the page doesn't have virtual viewport, as this
- layout will pick up the absolute visible overflow width within
- DEFAULT_MAX_LAYOUT_WIDTH and update the other renderers.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::overflowExceedsContentsSize):
- (WebKit):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-12-08 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Enforce selection of last work when triggering caret based selection
- https://bugs.webkit.org/show_bug.cgi?id=104447
-
- Reviewed by Rob Buis.
-
- PR 249225.
-
- When the selection has reached the end of an input field,
- ensure the last word is selected by adjusting the caret.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::isCaretAtEndOfText):
- (WebKit):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectObject):
-
-2012-12-08 Chris Hutten-Czapski <chutten@rim.com>
-
- [BlackBerry] Remove about:credits
- https://bugs.webkit.org/show_bug.cgi?id=104399
-
- Reviewed by Rob Buis.
-
- Just a simple removal.
-
- * WebKitSupport/AboutData.cpp:
-
-2012-12-08 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Remove no-op line in WebPage.cpp
- https://bugs.webkit.org/show_bug.cgi?id=104385
-
- Reviewed by Antonio Gomes.
-
- Remove self-assignment no-op line. Must have been left when I removed the
- mapFromTransformed part.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
-
-2012-12-07 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] General code cleanup and improved logging.
- https://bugs.webkit.org/show_bug.cgi?id=104389
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::convertStringToWchar):
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
-
-2012-12-07 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Strip whitespace from learned text.
- https://bugs.webkit.org/show_bug.cgi?id=104391
-
- Reviewed by Rob Buis.
-
- This was removing the first word from the sentence being learned. Using
- stripWhiteSpace to remove spaces from the start and end of the text.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::learnText):
-
-2012-12-07 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] GeolocationClientBB should show file system path in prompts when host is not avaliable
- https://bugs.webkit.org/show_bug.cgi?id=103785
-
- PR 247656
-
- Reviewed by Rob Buis.
-
- Adding a special case for origins with protocol "file". We will use the filepath as
- an origin when asking for geolocation permission.
-
- If the origin is unique (ie. from a sandboxed iframe), we will fail the location request
- right away.
-
- * WebCoreSupport/GeolocationClientBlackBerry.cpp:
- (getOrigin):
- (GeolocationClientBlackBerry::requestPermission):
- (GeolocationClientBlackBerry::cancelPermissionRequest):
-
-2012-12-07 Mike Lattanzio <mlattanzio@rim.com>
-
- [BlackBerry] Update BlackBerry Port to use new Graphics::createBuffer BufferType enum values.
- https://bugs.webkit.org/show_bug.cgi?id=104121
-
- Reviewed by Rob Buis.
-
- Update createBuffer calls to reflect new BufferType enum.
- Set buffers opaque if possible to avoid unnecessary blends.
- Internal PR 254649
- Internal Review: Jakob Petsovits
-
- * WebKitSupport/BackingStoreTile.cpp:
- (BlackBerry::WebKit::TileBuffer::nativeBuffer):
-
-2012-12-07 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Double zoom animation when focusing on input field.
- https://bugs.webkit.org/show_bug.cgi?id=104375
-
- Reviewed by Rob Buis.
- Internally reviewed by Jakob Petsovits.
-
- UI thread does not need to be notified of a scale change if the WebKit
- thread scale has not changed.
-
- This caused issues when two viewport resizes occured one after the other.
- Before the scale change due to the first resize could be set in the WK
- thread's scale value, it caused WK thread to dispatch a scaleChanged,
- overwritting & resetting the new UI thread scale value, resulting in the
- double zoom animation.
-
- The larger issue dealing with synchronization between the threads where
- scale changes could occur on either thread, however that is beyond the
- scope of this change.
-
- Internal PR253122
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::shouldZoomAboutPoint):
-
-2012-12-07 Xiaobo Wang <xbwang@torchmobile.com.cn>
-
- [BlackBerry] DRT - Update implementation of TestRunner.setCustomPolicyDelegate()
- https://bugs.webkit.org/show_bug.cgi?id=104243
-
- RIM PR 259337
-
- Reviewed by Rob Buis.
-
- 1. Add DRT callback in dispatchDecidePolicyForResponse.
- 2. Pass frame pointer to DRT callback in
- dispatchDecidePolicyForNavigationAction, so that it can be used to
- calculate originating.
- 3. Fix some webkit style errors.
-
- The patch fixed the following tests:
- - http/tests/download
- - fast/forms/mailto/formenctype-attribute-button-html.html
- - fast/forms/mailto/formenctype-attribute-input-html.html
- - fast/encoding/mailto-always-utf-8.html
-
- * Api/DumpRenderTreeClient.h:
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForResponse):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
- (WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
- (WebCore::FrameLoaderClientBlackBerry::decidePolicyForExternalLoad):
-
-2012-12-05 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Geolocation prompts won't respond to the correct geolocation object if the user opens two pages and respond in the reversed order
- https://bugs.webkit.org/show_bug.cgi?id=104162
-
- PR 257505
- Reviewed by Yong Li.
-
- GeolocationClientBlackBerry will register itself to GeolocationHandler when it has
- a pending request. When browser responds with WebPageClientImpl::setAllowGeolocation,
- we go through the list and let all the pending GeolocationListeners know that a certain
- origin has been aceepted/denied.
-
- * WebCoreSupport/GeolocationClientBlackBerry.cpp:
- (GeolocationClientBlackBerry::geolocationDestroyed):
- (GeolocationClientBlackBerry::requestPermission):
- (GeolocationClientBlackBerry::cancelPermissionRequest):
- (GeolocationClientBlackBerry::onPermission):
-
-2012-12-05 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Better crash fix for resetting tiles on a backingstore takeover.
- https://bugs.webkit.org/show_bug.cgi?id=103969
- RIM PR 258415
-
- Reviewed by Adam Treat.
-
- The previous attempt for releasing tile buffers from the
- previously active backingstore did not take into account
- that resetTiles() would sometimes return early without
- having swapped the tiles and thus reclaiming them.
-
- This patch removes the early returns, because it's safe
- to swap in an empty geometry at any time and we should
- always take the chance when we get it.
-
- Also put the code that calls resetTiles() on an owner
- switch right into setCurrentBackingStoreOwner(), so that
- it will also release the buffers when the BackingStore
- is destroyed (the function is then called with 0).
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::setCurrentBackingStoreOwner):
- * Api/BackingStore.h: Had to add the friend here to make the moved code work from the static function.
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
-
-2012-12-05 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Keep screen updates suspended until after a viewport resize.
- https://bugs.webkit.org/show_bug.cgi?id=104041
-
- Reviewed by Adam Treat.
-
- Now that screen and backing store updates can be suspended
- and resumed separately from each other, prevent blits for
- the whole duration of setViewportSize() and always issue
- a blit at the end.
-
- Makes WebPage::setViewportSize() more robust in threaded usage,
- easier to read/understand, and gets rid of a couple of FIXMEs.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
-
-2012-12-05 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Scroll position shifts while FCC & selection handle are dragged
- https://bugs.webkit.org/show_bug.cgi?id=104156
-
- Reviewed by Rob Buis.
- Internally reviewed by Mike Fenton.
-
- Only ensureFocusTextElementVisible on selectionChanged when
- an element is being re-focused.
- Internal PR256329
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- (BlackBerry::WebKit::InputHandler::selectionChanged):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2012-12-05 Leo Yang <leoyang@rim.com>
-
- [BlackBerry] Enable CSS_IMAGE_RESOLUTION
- https://bugs.webkit.org/show_bug.cgi?id=104132
-
- Reviewed by Yong Li.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2012-12-05 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] meta viewport pages are rendered at a bad initial scale
- https://bugs.webkit.org/show_bug.cgi?id=104122
-
- Reviewed by Rob Buis.
- Internally reviewed by Arvid Nilsson.
-
- PR: 240378
- Many websites are rendered at a very bad initial scale because they
- both specify meta viewport tag and have large width elements. In such
- a case we will think the meta viewport tag is broken if the width of
- any element is larger than the calculated layout viewport width.
- The fix to this is straightforward that we will zoom the page to fit
- the screen to have better user experience instead of respecting the
- meta viewport. This can fix the issue on the websites such as
- www.travelpod.com, www.forbes.com, interfacelift.com, www.sky.com,
- raphaeljs.com and so on.
- If non-empty m_userViewportArguments is applied, then we will force to
- respect the viewport arguments. In this way we will restrict the fix to
- browser only.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::respectViewport):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::initialScale):
- (BlackBerry::WebKit::WebPagePrivate::maximumScale):
- (BlackBerry::WebKit::WebPagePrivate::dispatchViewportPropertiesDidChange):
- * Api/WebPage_p.h:
- (BlackBerry::WebKit::WebPagePrivate::isUserScalable):
- (WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::minimumScale):
-
-2012-12-05 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] GeolocationClientBB only holding the latest geolocation permission request
- https://bugs.webkit.org/show_bug.cgi?id=104123
-
- PR 256089
-
- Reviewed by Yong Li.
-
- Add a mapping between origin URL and it's geolocation object so we could
- respond to the correct geolocation when libwebview responds with onPermission
- in GeolocationClient.
-
- Using the mapping, we could also prevent requestGeolocation requests from the same origin
- to be sent twice. This prevents pages that hold two iframes to the same resource to request
- geolocation permission on the same security origin twice.
-
- Tested this by running a page that includes 2 or more iframes that requests geolocation
- permission.
-
- * WebCoreSupport/GeolocationClientBlackBerry.cpp:
- (GeolocationClientBlackBerry::requestPermission):
- (GeolocationClientBlackBerry::cancelPermissionRequest):
- (GeolocationClientBlackBerry::onPermission):
- * WebCoreSupport/GeolocationClientBlackBerry.h:
- (GeolocationClientBlackBerry):
-
-2012-12-05 Yongxin Dai <yodai@rim.com>
-
- [BlackBerry] Avoid showing FCC on empty text field in a different way
- https://bugs.webkit.org/show_bug.cgi?id=104019
-
- Reviewed by Rob Buis.
-
- PR #222796
-
- Add text field empty flag along with the caret change notification so that
- FineCursorContnrol is able to avoid showing FCC on empty text filed.
- Previous approach, notifying client with empty caret on empty text field,
- causes problem. Its code is removed.
-
- Reviewed Internally by Mike Fenton.
-
- * Api/WebPageClient.h:
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
-
-2012-12-04 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
- [BlackBerry] VKB flickers in and out when tapping on webview after text selection on URL bar
- https://bugs.webkit.org/show_bug.cgi?id=103874
- PR245678
-
- Reviewed by Rob Buis.
- Internally reviewed by Mike Fenton.
-
- When the virtual keyboard is hiding, the viewport is changed and the page needs
- to relayout.At the same time, the user interface thread is executing compositeLayers
- and it will dispatch the updateDelegatedOverlays() to webkit thread which will trigger
- the selectionPositionChanged() in webkit thread.
-
- When the selectionPositionChanged() calls frame->selection()->selection().
- visibleStart() and frame->selection()->selection().visibleEnd(), it will
- trigger page relayout and return the relayouted selection start and end position.
- These positions are out of the range which is recorded before its relayout.
- As a result it think the selection start and end are all clipped out and it send
- out an "empty selection"(not selected) changing event.
-
- When the WebPageClient receives the empty selection changing event, it will consider
- the selection process aborted and might cancel selection-related user interaction.
- This is not what we intend to happen.
-
- This patch stops the changing handling process and returns when the page needs relayout,
- and the selection will be updated again when the page finishs relayout.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
-
-2012-12-04 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Scroll adjustments while typing scroll off page, then bounce back.
- https://bugs.webkit.org/show_bug.cgi?id=104045
-
- Reviewed by Rob Buis.
- Internally reviewed by Mike Fenton & Jakob Petsovits.
-
- Internal PR253845
- The main frame's view should only be temporarily set to
- not constrain scrolling to the content edge while the
- scroll position is set at the end of the scroll animation.
-
- Remove ensureFocusTextElementVisible from setSpannableTextAndRelativeCursor
- in InputHandler since FrameSelection::revealSelection
- already implements scroll adjustments due to typing.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::zoomBlock):
- (BlackBerry::WebKit::WebPagePrivate::resetBlockZoom):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- (BlackBerry::WebKit::InputHandler::setSpannableTextAndRelativeCursor):
-
-2012-12-04 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Remove assert and fix conditional for out of bounds requests in InputHandler::spannableTextInRange
- https://bugs.webkit.org/show_bug.cgi?id=104001
-
- Reviewed by Rob Buis.
-
- PR 257723.
-
- Remove assert and update early return to allow out of bounds
- request at end of field.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::spannableTextInRange):
-
-2012-12-04 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Store rendered regions in pixel contents coordinates.
- https://bugs.webkit.org/show_bug.cgi?id=103930
- PR 253496
-
- Reviewed by Rob Buis.
- Internally reviewed by Adam Treat.
-
- Previously, the rendered region of a tile used to be
- stored in coordinates relative to the tile origin.
- This brings no benefits whatsoever and causes a lot
- of unnecessary transformations, together with the
- potential of incorrectly transforming rendered regions.
-
- By storing the rendered region as what it is,
- everything is more compact, easier to understand
- and easier to use with other existing functionality.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::renderVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::copyPreviousContentsToTileBuffer):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
- (BlackBerry::WebKit::BackingStorePrivate::blitTileRect):
- (BlackBerry::WebKit::BackingStorePrivate::isTileVisible):
- (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
- (BlackBerry::WebKit::BackingStorePrivate::tileVisibleContentsRect):
- (BlackBerry::WebKit::BackingStorePrivate::tileContentsRect):
- (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::mapFromPixelContentsToTiles):
- (BlackBerry::WebKit::BackingStorePrivate::transformChanged):
- (BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * WebKitSupport/BackingStoreTile.cpp:
- (BlackBerry::WebKit::TileBuffer::surfaceRect):
- (BlackBerry::WebKit::TileBuffer::pixelContentsRect):
- (WebKit):
- (BlackBerry::WebKit::TileBuffer::isRendered):
- (BlackBerry::WebKit::TileBuffer::notRenderedRegion):
- * WebKitSupport/BackingStoreTile.h:
- (TileBuffer):
-
-2012-12-04 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Use updated API for backingstore tiles.
- https://bugs.webkit.org/show_bug.cgi?id=103970
- PR 212369
-
- Reviewed by George Staikos.
- Internally reviewed by Arvid Nilsson.
-
- We now make use of Platform::Settings::tileSize() in the
- backingstore and don't hardcode the number of back buffers
- like we used to.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::bestDivisor):
- (BlackBerry::WebKit::BackingStorePrivate::tileWidth):
- (BlackBerry::WebKit::BackingStorePrivate::tileHeight):
- (BlackBerry::WebKit::BackingStorePrivate::tileSize):
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::configPage):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::SurfacePool):
- (BlackBerry::WebKit::SurfacePool::numberOfBackingStoreFrontBuffers):
- (BlackBerry::WebKit::SurfacePool::initialize):
- * WebKitSupport/SurfacePool.h:
- (SurfacePool):
-
-2012-12-04 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] On taking over a backingstore, reset the previous page's tiles.
- https://bugs.webkit.org/show_bug.cgi?id=103969
- RIM PR 253496
-
- Reviewed by George Staikos.
-
- With buffers being explicitly reclaimed from backingstore
- geometries, we have to make sure that the previously
- active backingstore releases its front buffers for use
- in the newly active one.
-
- Previously, this clearing of backingstore tiles occurred
- after the dormant backingstore is reactivated,
- the backingstore active in the meantime would just use
- the back buffer anyway and leave the dormant one with
- dangling pointers that would just not be shown.
- Now that we have a counted list of back buffers,
- we need to be explicit about this thing upfront.
-
- Fixes a crash that would occur after switching ownership
- of the backingstore to a different WebPage.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
-
-2012-12-03 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Refactor the backingstore to swap full geometries.
- https://bugs.webkit.org/show_bug.cgi?id=103924
- RIM PR 253496
-
- Reviewed by Yong Li.
- Internally reviewed by Adam Treat and Arvid Nilsson.
-
- The backingstore had a working split between front and
- back state, but it was multilayered and hard to grasp.
- This commit cleanly divides the responsibilities of
- BackingStoreGeometry and TileBuffer, with the latter
- now being able to function on its own without the help
- of its geometry. The BackingStoreTile class was an
- unnecessary middleman and can be removed wholesale.
-
- A BackingStoreGeometry can now function with null tiles
- being assigned to its indices, which enables us to reclaim
- tile buffers outside of the visible contents area as back
- buffers. This reduces the need to swap and block when the
- backingstore size exceeds the contents size, and also lets
- us use more tiles for initial rendering after a call to
- resetTiles() which is now implemented as swapping in a
- geometry with only null buffers.
-
- setBackingStoreRect() was the only function that had to
- get a change of behavior. Because we're now constructing
- new BackingStoreGeometry objects every time the front
- geometry is being exchanged for a new one, it is only
- safe to call other functions reliant on the new geometry
- after it has been finalized and put in place. Therefore,
- updateTilesForScrollOrNotRenderedRegion() takes on the
- render queue maintenance tasks that setBackingStoreRect()
- had performed previously. It was already doing something
- very similar so only few changes to the function were
- necessary.
-
- This commit will make subsequent changes to the
- backingstore geometry and tile logic a lot easier.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStoreGeometry::isTileCorrespondingToBuffer):
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::~BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesAfterBackingStoreRectChange):
- (BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::clearRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::copyPreviousContentsToTileBuffer):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
- (BlackBerry::WebKit::BackingStorePrivate::blitTileRect):
- (BlackBerry::WebKit::BackingStorePrivate::tileVisibleContentsRect):
- (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::mapFromTilesToTransformedContents):
- (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
- (BlackBerry::WebKit::BackingStorePrivate::transformChanged):
- (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
- (BlackBerry::WebKit::BackingStoreGeometry::originOfTile):
- (BlackBerry::WebKit::BackingStorePrivate::adoptAsFrontState):
- * Api/BackingStore_p.h:
- (WebKit):
- (BackingStoreGeometry):
- (BlackBerry::WebKit::BackingStoreGeometry::tileBufferAt):
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- * Api/WebPage_p.h:
- (WebKit):
- * WebKitSupport/BackingStoreTile.cpp:
- (BlackBerry::WebKit::TileBuffer::TileBuffer):
- (BlackBerry::WebKit::TileBuffer::~TileBuffer):
- (BlackBerry::WebKit::TileBuffer::isRendered):
- (BlackBerry::WebKit::TileBuffer::nativeBuffer):
- (BlackBerry::WebKit::TileBuffer::wasNativeBufferCreated):
- (BlackBerry::WebKit::TileBuffer::paintBackground):
- * WebKitSupport/BackingStoreTile.h:
- (BlackBerry::WebKit::TileBuffer::lastRenderOrigin):
- (BlackBerry::WebKit::TileBuffer::setLastRenderOrigin):
- (BlackBerry::WebKit::TileBuffer::lastRenderScale):
- (BlackBerry::WebKit::TileBuffer::setLastRenderScale):
- (TileBuffer):
- (BlackBerry::WebKit::TileBuffer::backgroundPainted):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::SurfacePool):
- (BlackBerry::WebKit::SurfacePool::size):
- (WebKit):
- (BlackBerry::WebKit::SurfacePool::initialize):
- (BlackBerry::WebKit::SurfacePool::initializeVisibleTileBuffer):
- (BlackBerry::WebKit::SurfacePool::hasBackBuffer):
- (BlackBerry::WebKit::SurfacePool::takeBackBuffer):
- (BlackBerry::WebKit::SurfacePool::addBackBuffer):
- (BlackBerry::WebKit::SurfacePool::createBuffers):
- (BlackBerry::WebKit::SurfacePool::releaseBuffers):
- (BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
- * WebKitSupport/SurfacePool.h:
- (BlackBerry::WebKit::SurfacePool::isActive):
- (BlackBerry::WebKit::SurfacePool::isEmpty):
- (SurfacePool):
- (BlackBerry::WebKit::SurfacePool::visibleTileBuffer):
-
-2012-12-03 Cosmin Truta <ctruta@rim.com>
-
- [BlackBerry] Enable HIDDEN_PAGE_DOM_TIMER_THROTTLING
- https://bugs.webkit.org/show_bug.cgi?id=103842
-
- Reviewed by Yong Li.
-
- Add HIDDEN_PAGE_DOM_TIMER_THROTTLING.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2012-12-02 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry]Tap highlight
- https://bugs.webkit.org/show_bug.cgi?id=103787
-
- Reviewed by Rob Buis.
-
- RIM PR 248626
- Internally Reviewed by Genevieve Mak.
-
- Draw tap highlight as soon as tap on element.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::touchEvent):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- * WebKitSupport/TouchEventHandler.h:
- (TouchEventHandler):
-
-2012-11-28 Cosmin Truta <ctruta@rim.com>
-
- [BlackBerry] Set the minimal DOM timer interval to 4 milliseconds
- https://bugs.webkit.org/show_bug.cgi?id=103534
-
- Reviewed by Yong Li.
-
- We align this behavior with other platforms.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::globalInitialize):
-
-2012-11-29 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Modifying GeoClientBlackBerry to switch between high and low accuracy
- https://bugs.webkit.org/show_bug.cgi?id=103666
-
- Reviewed by Yong Li.
-
- Internally reviewed by Yong Li.
-
- PR 243420
-
- Updating GeolocationClientBlackBerry to switch accuracy when GeolocationController
- calls setEnableHighAccuracy.
-
- * WebCoreSupport/GeolocationClientBlackBerry.cpp:
- (GeolocationClientBlackBerry::startUpdating):
- (GeolocationClientBlackBerry::setEnableHighAccuracy):
-
-2012-11-29 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Do not adjust scroll position on viewport resizes that are not orientation change related
- https://bugs.webkit.org/show_bug.cgi?id=103659
-
- Reviewed by Rob Buis.
- Internally reviewed by Gen Mak.
-
- Internal PR253893.
- Only adjust scroll position during an orientation change
- when setting viewport size.
- We don't want the scroll position jumping around when opening
- & closing the VKB.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
-
-2012-11-28 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] CookieJarBlackBerry will use document settings for cookiesEnabled
- https://bugs.webkit.org/show_bug.cgi?id=103560
-
- Reviewed by Rob Buis.
-
- PR 253490
-
- Syncing platform Websetting's cookieEnabled value with Page->setting's cookieEnabled
- value.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
-
-2012-11-27 James Simonsen <simonjam@chromium.org>
-
- Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
- https://bugs.webkit.org/show_bug.cgi?id=102151
-
- Reviewed by Adam Barth.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::load):
- (BlackBerry::WebKit::WebPagePrivate::loadString):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
-
-2012-11-27 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] http:// origins can navigate to privileged local:// origins
- https://bugs.webkit.org/show_bug.cgi?id=103437
-
- Reviewed by Yong Li.
-
- PR: 251489
- When we aren't allowed to display the destination origin, we shouldn't
- even create the window for it. In this way we can block the remote
- origins(like http://) window.open local origins(like file:// and
- local://) and avoid further security issues.
- Chrome and Safari will open a blank window and fail to load. Firefox
- will fail to open the window and report a load failure error which has
- the same behavior as us. I would prefer this way as the window would
- be useless and the calls after that would be harmful to us.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::createWindow):
-
-2012-11-27 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Remove unnecessary backing store suspension in InputHandler::ensureFocusTextElementVisible
- https://bugs.webkit.org/show_bug.cgi?id=103441
-
- Reviewed by Rob Buis.
- Internally reviewed by Mike Fenton.
-
- Remove unnecessary backing store suspension in
- InputHandler::ensureFocusTextElementVisible.
-
- Not necessary anymore since both zoom and scroll adjustments
- happen in an animation.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2012-11-27 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r135786.
- http://trac.webkit.org/changeset/135786
- https://bugs.webkit.org/show_bug.cgi?id=103379
-
- It made 3 plugin tests timeout on several platforms (Requested
- by Ossy on #webkit).
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::load):
- (BlackBerry::WebKit::WebPagePrivate::loadString):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
-
-2012-11-26 James Simonsen <simonjam@chromium.org>
-
- Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
- https://bugs.webkit.org/show_bug.cgi?id=102151
-
- Reviewed by Adam Barth.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::load):
- (BlackBerry::WebKit::WebPagePrivate::loadString):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
-
-2012-11-26 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Form controls don't show pressed state.
- https://bugs.webkit.org/show_bug.cgi?id=103292
-
- Reviewed by Rob Buis.
-
- Reviewed internally by Eli Fidler and Mike Lattanzio.
- We weren't sending touch events to webpages unless they
- had JS touch event listeners which form controls don't have.
- Now send them always and do a little cleanup.
- PR #249791
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPage::touchEvent):
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::needTouchEvents):
-
-2012-11-26 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Null check calls associated with retrieving the caret rect.
- https://bugs.webkit.org/show_bug.cgi?id=103281
-
- Reviewed by Rob Buis.
-
- Some of these calls can return null, which could lead to a crash.
-
- Internally reviewed by Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
-
-2012-11-26 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Should not autofill username and password when there're more than one password inputs on the same page
- https://bugs.webkit.org/show_bug.cgi?id=103104
-
- Reviewed by Rob Buis.
-
- RIM PR: 245334
- Added the oldPassword detection back into the password input
- detection logic, which was removed for simplicity when imported
- those pieces of codes from Chromium. And we won't do autofill
- when there're more than one password field detected.
-
- Internally reviewed by Rob Buis.
-
- * WebCoreSupport/CredentialTransformData.cpp:
- (WebCore::CredentialTransformData::CredentialTransformData):
- (WebCore::CredentialTransformData::findPasswordFormFields):
- * WebCoreSupport/CredentialTransformData.h:
- (CredentialTransformData):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
-
-2012-11-25 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Get rid of resetBitmapZoomScale()
- https://bugs.webkit.org/show_bug.cgi?id=103200
-
- Reviewed by Rob Buis.
- Internally reviewed by Gen Mak.
-
- PR: 235707
- Right now, resetBitmapZoomScale() takes an unused paramter and
- dispatches a message to end the bitmap zooming. However, the
- interaction has its own state machine to start bitmap zooming when it
- is active and end bitmap zooming when it is inactive. This is
- expecially for pinch zoom and scroll. From WebKit side, block zoom
- which will call zoomBlock when the bitmap zoom finished doesn't even
- need to dispatch the useless ending message to ZoomHandler.
- resetBitmapZoomScale() is basically a noop for block zoom. And likewise
- that is useless for zoomToInitialScaleOnLoad(). It can also potentially
- cause problem if it is used somewhere else in the future and
- incidentally breaks the interaction's own state machine. So just remove
- this completely.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
- (BlackBerry::WebKit::WebPagePrivate::zoomBlock):
- * Api/WebPageClient.h:
-
-2012-11-24 Andy Chen <andchen@rim.com>
-
- [BlackBerry] Find-on-page keeps stale pointer
- https://bugs.webkit.org/show_bug.cgi?id=103190
-
- Reviewed by Rob Buis.
-
- Find on page: pendingScopingEffort stores stale pointer when frames unload,
- we need to cancel those scoping efforts.
- PR 250807.
-
- Internally reviewed by Yongxin Dai and Mike Fenton.
-
- * WebKitSupport/InPageSearchManager.cpp:
- (InPageSearchManager::DeferredScopeStringMatches):
- (BlackBerry::WebKit::InPageSearchManager::frameUnloaded):
-
-2012-11-24 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Text not selected when input field focused.
- https://bugs.webkit.org/show_bug.cgi?id=103182
-
- Reviewed by George Staikos.
-
- Reviewed Internally by: Mike Fenton, Eli Fidler
- PR #250163
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectObject):
-
-2012-11-23 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Define platform limitations in platform layer
- https://bugs.webkit.org/show_bug.cgi?id=103160
-
- Reviewed by Rob Buis.
-
- Taking length as const unsigned in checkSpellingOfStringAsync.
- This value is unchanging and should never be less than 0, even
- in an error case.
-
- Internally reviewed by Mike Fenton.
-
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
-
-2012-11-23 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Meta viewport can't be changed dynamically
- https://bugs.webkit.org/show_bug.cgi?id=103098
-
- Reviewed by Rob Buis.
- Internally reviewed by Arvid Nilsson.
-
- PR: 237072
- Reset m_userPerformedManualZoom and enable
- m_shouldZoomToInitialScaleAfterLoadFinished so that we can relayout the
- page and zoom it to fit the screen when we dynamically change the meta
- viewport after the load is finished.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::dispatchViewportPropertiesDidChange):
-
-2012-11-23 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Drop Synchronous Mouse Events
- https://bugs.webkit.org/show_bug.cgi?id=102980
-
- Reviewed by Rob Buis.
-
- Reviewed Internally by George Staikos and Mike Lattanzio.
- Don't send actual Touch Events to fullscreen plugins unless
- its a Touch Cancel, DoubleTap or TouchHold.
- Instead send mouse events as long as its a single finger.
- PR #242781
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
- (BlackBerry::WebKit::WebPagePrivate::dispatchTouchEventToFullScreenPlugin):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::dispatchTouchPointAsMouseEventToFullScreenPlugin):
-
-2012-11-23 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] InputHandler::ensureFocusTextElementVisible incorrectly used y coordinate as x coordinate
- https://bugs.webkit.org/show_bug.cgi?id=103091
-
- Reviewed by Yong Li.
-
- Internally reviewed by Mike Fenton.
- Internal PR249523
- Incorrectly used y coordinate as x coordinate in
- InputHandler::ensureFocusTextElementVisible.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2012-11-22 Jeff Rogers <jrogers@rim.com>
-
- [BlackBerry] Update Web Notifications Implementation
- https://bugs.webkit.org/show_bug.cgi?id=102621
-
- Reviewed by George Staikos.
-
- Reviewed internally by George Staikos and Joe Mason
- Internal PR 172120
- Add new notifications implementation for the BlackBerry port. Rename
- existing class to match Client naming. Adds NotificationManager
- implementation for managing notifications and permissions, and logic
- for passing the notifications to the platform provider.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPage::updateNotificationPermission):
- (WebKit):
- (BlackBerry::WebKit::WebPage::notificationClicked):
- (BlackBerry::WebKit::WebPage::notificationClosed):
- (BlackBerry::WebKit::WebPage::notificationError):
- (BlackBerry::WebKit::WebPage::notificationShown):
- * Api/WebPage.h:
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::notificationManager):
- * WebCoreSupport/NotificationClientBlackBerry.cpp: Added.
- (WebCore):
- (WebCore::NotificationClientBlackBerry::NotificationClientBlackBerry):
- (WebCore::NotificationClientBlackBerry::show):
- (WebCore::NotificationClientBlackBerry::cancel):
- (WebCore::NotificationClientBlackBerry::clearNotifications):
- (WebCore::NotificationClientBlackBerry::notificationObjectDestroyed):
- (WebCore::NotificationClientBlackBerry::notificationControllerDestroyed):
- (WebCore::NotificationClientBlackBerry::requestPermission):
- (WebCore::NotificationClientBlackBerry::cancelRequestsForPermission):
- (WebCore::NotificationClientBlackBerry::checkPermission):
- * WebCoreSupport/NotificationClientBlackBerry.h: Added.
- (WebKit):
- (WebCore):
- (NotificationClientBlackBerry):
- * WebCoreSupport/NotificationPresenterImpl.cpp: Removed.
- * WebCoreSupport/NotificationPresenterImpl.h: Removed.
- * WebKitSupport/NotificationManager.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::NotificationManager::NotificationManager):
- (BlackBerry::WebKit::NotificationManager::~NotificationManager):
- (BlackBerry::WebKit::NotificationManager::show):
- (BlackBerry::WebKit::NotificationManager::cancel):
- (BlackBerry::WebKit::NotificationManager::clearNotifications):
- (BlackBerry::WebKit::NotificationManager::notificationObjectDestroyed):
- (BlackBerry::WebKit::NotificationManager::requestPermission):
- (BlackBerry::WebKit::NotificationManager::cancelRequestsForPermission):
- (BlackBerry::WebKit::NotificationManager::checkPermission):
- (BlackBerry::WebKit::NotificationManager::updatePermission):
- (BlackBerry::WebKit::NotificationManager::notificationClicked):
- (BlackBerry::WebKit::NotificationManager::notificationClosed):
- (BlackBerry::WebKit::NotificationManager::notificationError):
- (BlackBerry::WebKit::NotificationManager::notificationShown):
- (BlackBerry::WebKit::NotificationManager::removeNotificationFromContextMap):
- * WebKitSupport/NotificationManager.h: Added.
- (WebKit):
- (NotificationManager):
-
-2012-11-22 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Guard against a lost focusedNode that input handler isn't yet informed of.
- https://bugs.webkit.org/show_bug.cgi?id=103071
-
- Reviewed by Rob Buis.
-
- Fix potential for a crash if input mode is active but
- we can't get a focusedNode.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
-
-2012-11-21 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Drop Synchronous Mouse Events
- https://bugs.webkit.org/show_bug.cgi?id=102980
-
- Reviewed by Rob Buis.
-
- Reviewed Internally by George Staikos, Mike Lattanzio and Mike Fenton.
- Get rid of unneeded methods and simplify code.
- Send click if getting context over an empty text field
- so that it will be focused and have a caret.
- PR #242781
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- (BlackBerry::WebKit::WebPage::touchEvent):
- (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
- (BlackBerry::WebKit::WebPage::touchEventCancel):
- * Api/WebPage.h:
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::TouchEventHandler):
- (BlackBerry::WebKit::TouchEventHandler::doFatFingers):
- (BlackBerry::WebKit::TouchEventHandler::sendClickAtFatFingersPoint):
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- (BlackBerry::WebKit::TouchEventHandler::handleFatFingerPressed):
- * WebKitSupport/TouchEventHandler.h:
- (TouchEventHandler):
-
-2012-11-21 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Prevent screen from dimming on device when inspector front-end is connected
- https://bugs.webkit.org/show_bug.cgi?id=102978
-
- Reviewed by Rob Buis.
-
- Internal PR 200848
- We prevent screen from going dim when the front-end is connected and return to normal when
- the front-end disconnects.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::enableWebInspector):
- (BlackBerry::WebKit::WebPage::disableWebInspector):
-
-2012-11-21 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Don't add empty rects to the tap highlight region.
- https://bugs.webkit.org/show_bug.cgi?id=102966
-
- Reviewed by George Staikos.
-
- Internal PR 246960
- Tap highlight is way too large sometimes.
- When we add an empty rect it inflates by 2 and causes the tap region to extend to the origin.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
-
-2012-11-21 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Switch to point instead of VisiblePosition comparison for input bounds check
- https://bugs.webkit.org/show_bug.cgi?id=102962
-
- Reviewed by Rob Buis.
-
- PR 247270.
-
- Switch from using VisiblePosition to determine if we are in a node
- to a comparison of the field bounds. This fixes the case where
- there is no node before the target node to match.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/DOMSupport.cpp:
- * WebKitSupport/DOMSupport.h:
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
-
-2012-11-20 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Animated gifs pause on scroll or zoom and sometimes don't resume after scroll or zoom completes
- https://bugs.webkit.org/show_bug.cgi?id=102838
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Adam Treat.
- Internal PR244646
- When entering scrolling & zooming, we suspend regular render jobs
- in order to pause animations. When finishing scrolling or zooming,
- dispatch a render job in order to resume those animations.
-
- If an animation requests a repaint while the backing store is suspended,
- add the regular render job to the render queue so that it can be
- processed later.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::repaint):
- (BlackBerry::WebKit::BackingStorePrivate::setScrollingOrZooming):
-
-2012-11-20 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r135295.
- http://trac.webkit.org/changeset/135295
- https://bugs.webkit.org/show_bug.cgi?id=102834
-
- This patch causes assertion to some layout tests on chromium
- (Requested by jianli on #webkit).
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::load):
- (BlackBerry::WebKit::WebPagePrivate::loadString):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
-
-2012-11-20 James Simonsen <simonjam@chromium.org>
-
- Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
- https://bugs.webkit.org/show_bug.cgi?id=102151
-
- Reviewed by Adam Barth.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::load):
- (BlackBerry::WebKit::WebPagePrivate::loadString):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
-
-2012-11-19 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Block Zoom picks wrong block
- https://bugs.webkit.org/show_bug.cgi?id=102728
-
- Reviewed by Rob Buis.
-
- Reviewed Internally by Jakob Petsovits
- Remove transform missed in previous commit for
- https://bugs.webkit.org/show_bug.cgi?id=101608
- PR #247198
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::nodeForZoomUnderPoint):
-
-2012-11-19 Liam Quinn <lquinn@rim.com>
-
- [BlackBerry] Remove RTSP handling from FrameLoaderClientBlackBerry
- https://bugs.webkit.org/show_bug.cgi?id=102692
-
- Reviewed by Rob Buis.
-
- Reviewed internally by George Staikos. Internal PR 242750.
-
- Our RTSP handling in FrameLoaderClientBlackBerry causes HTTP redirects to "rtsp:" URIs to fail. Remove handling of RTSP from this class; it will be moved to the network layer alongside other URI schemes like "data:" and "file:".
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::createDocumentLoader):
-
-2012-11-16 Adam Treat <atreat@rim.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=102540
- [BlackBerry] Checkerboard flicker when pinch zooming out on google.com/nwshp
-
- Reviewed by George Staikos.
- PR 245827
-
- Disable updates to the backingstore tile matrix when backingstore updates
- are disabled. This prevents changes to the tile matrix when we are in the
- middle of a pinch zoom which can cause checkebroard flickering.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::renderVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::renderBackingStore):
- (BlackBerry::WebKit::BackingStorePrivate::updateTileMatrixIfNeeded):
- (BlackBerry::WebKit::BackingStorePrivate::contentsSizeChanged):
- (BlackBerry::WebKit::BackingStorePrivate::orientationChanged):
- * Api/BackingStore_p.h:
- (BlackBerry::WebKit::BackingStorePrivate::setTileMatrixNeedsUpdate):
- (BackingStorePrivate):
-
-2012-11-16 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] FCC doesn't work in textarea
- https://bugs.webkit.org/show_bug.cgi?id=102088
-
- Reviewed by Antonio Gomes.
-
- Remove the cancel button specializations, it was needed at some point but hitting it
- works just as well without it. This unbreaks FCC in textarea's.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::isElementClickable):
-
-2012-11-16 Adam Treat <atreat@rim.com>
-
- [BlackBerry] Fix regression causing checkerboard flicker after app wake-up
- https://bugs.webkit.org/show_bug.cgi?id=102526
-
- Reviewed by George Staikos.
- PR 245027
-
- The webkit patch for 219976 introduced an undesirable behavior change
- resulting in a regression where there was checkerboard flickering on
- resuming from an inactive application state. This patch restores the
- previous behavior and fixes the regression.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
- (BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):
-
-2012-11-16 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Use proper keycode value for space instead of hardcoded value.
- https://bugs.webkit.org/show_bug.cgi?id=102518
-
- Reviewed by Rob Buis.
-
- Remove hard coded value for space.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setText):
-
-2012-11-15 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Animate changes to viewport due to input focus changes.
- https://bugs.webkit.org/show_bug.cgi?id=102410
-
- Reviewed by Rob Buis.
-
- When changing scroll position or zoom level for input field focus,
- animate the change.
- Internal PR 231937
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2012-11-15 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Don't restore zoom and scroll when leaving an input field.
- https://bugs.webkit.org/show_bug.cgi?id=102376
-
- Reviewed by Yong Li.
-
- Restoring the zoom causes undesirable behavior when switching between fields.
-
- Reviewed Internally by Andrew Lo.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2012-11-15 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Fix suspend/resume assertion in setCompositor().
- https://bugs.webkit.org/show_bug.cgi?id=102397
- RIM PR 244701
-
- Reviewed by Adam Treat.
-
- If a compositor is used but no surface pool is ever
- allocated (which is a perfectly valid use case), initial
- suspension of the backingstore is skipped because of an
- early return. This will cause an assertion to be triggered
- and a bug. Fix this by suspending it before the return.
-
- With Adam Treat's recent change to split suspension of
- screen and backingstore into two different functions,
- this can now be reduced to a mere screen (blitting)
- suspension. That was the original intention of this code.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setCompositor):
-
-2012-11-15 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Leave surface resizing to the client.
- https://bugs.webkit.org/show_bug.cgi?id=102280
- RIM PR 235034
- RIM PR 160619
-
- Reviewed by Adam Treat.
-
- Now that we always blit on the user interface thread and
- use the client's userInterfaceViewportAccessor() to determine
- the destination rectangle for blitting, changing the viewport
- size does not affect the window or target surface directly.
- The only way that blitted output is affected is through
- layout, scroll position or scale changes. None of these
- require us to synchronize with the UI thread to resize its
- target surface.
-
- This commit simplifies setViewportSize() and removes a
- blocking message dispatch by simply offloading all surface
- resizing responsibilities to the client. This is safer,
- cleaner and easier.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPage::setScreenOrientation):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- * Api/WebPage.h:
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-11-14 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Do not clear the ProcessingChangeGuard state on DeleteBackward
- https://bugs.webkit.org/show_bug.cgi?id=102284
-
- Reviewed by Rob Buis.
-
- PR237497
- When holding backspace, clearing the state forces a keyboard
- update which resets the state of the keyboard. Handling this
- specific corner case separate from all other editor commands.
-
- Internally reviewed by Mike Fenton.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::handleKeyboardEvent):
-
-2012-11-14 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Improve debug functionality in FatFingers
- https://bugs.webkit.org/show_bug.cgi?id=102263
-
- Reviewed by Antonio Gomes.
-
- - use logAlways to log even in release.
- - dump shadow tree info if available.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::isElementClickable):
- (BlackBerry::WebKit::FatFingers::checkFingerIntersection):
- (BlackBerry::WebKit::FatFingers::findIntersectingRegions):
- (BlackBerry::WebKit::FatFingers::checkForText):
-
-2012-11-14 Adam Treat <atreat@rim.com>
-
- [BlackBerry] Break suspend/resume of the backingstore and screen into separate methods
- https://bugs.webkit.org/show_bug.cgi?id=102126
-
- Reviewed by George Staikos.
- PR 219976
-
- Modify the suspend/resume methods so that they can be called from the UI thread
- itself and split up the suspend/resume methods so that we can suspend/resume
- the screen or backingstore separately.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::suspendBackingStoreUpdates):
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::suspendScreenUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
- (BlackBerry::WebKit::BackingStore::suspendBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStore::resumeBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStore::suspendScreenUpdates):
- (BlackBerry::WebKit::BackingStore::resumeScreenUpdates):
- (BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
- (BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):
- * Api/BackingStore.h:
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
- (BlackBerry::WebKit::WebPagePrivate::zoomBlock):
- (BlackBerry::WebKit::WebPage::destroy):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- (BlackBerry::WebKit::WebPagePrivate::setCompositor):
- (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
- (BlackBerry::WebKit::WebPagePrivate::restoreHistoryViewState):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setBatchEditingActive):
-
-2012-11-14 Andy Chen <andchen@rim.com>
-
- [BlackBerry] Add FocusBased context node detection strategy
- https://bugs.webkit.org/show_bug.cgi?id=102238
-
- Reviewed by Rob Buis.
-
- If last fat finger result is invalid, we need to return current
- focus element as context node, because when user tap on selection
- overlay, there is not touch event sent to webkit.
- PR 241382
-
- Internally reviewed by Genevieve Mak and Mike Fenton.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::contextNode):
- * Api/WebPage.h:
- * WebKitSupport/InputHandler.h:
- (BlackBerry::WebKit::InputHandler::currentFocusElement):
-
-2012-11-14 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Use mispelled-marker offsets relative to the element
- https://bugs.webkit.org/show_bug.cgi?id=102236
-
- Reviewed by Rob Buis.
-
- DocumentMarker offsets are calculated relative to a node. This is causing
- problems for contenteditable which can have numerous nodes. Creating a Range around a word
- and calculating its location and length gives us the correct override in this case for starting
- and ending points to pass to IMF.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
-
-2012-11-13 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Fully restore both zoom and scroll when leaving an input field.
- https://bugs.webkit.org/show_bug.cgi?id=102094
-
- Reviewed by Rob Buis.
-
- PR 234187.
-
- Cache both the zoom and scroll position prior to adjusting
- for input focus so that state can be reset fully.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2012-11-12 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Ensure we only receive one KeyUp per key event
- https://bugs.webkit.org/show_bug.cgi?id=101967
-
- Reviewed by Rob Buis.
-
- We are creating synthetic KeyUps too often, and get into trouble since IMF will send up a KeyUp on all key events.
- Furthermore, these KeyUps can arrive both when we are composing and not. To bypass this check, we are storing the KeyDown
- character and comparing against it on KeyUp.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
- (BlackBerry::WebKit::InputHandler::insertText):
- (BlackBerry::WebKit::InputHandler::setText):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2012-11-12 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] When opening an image it does not scale to fit our window
- https://bugs.webkit.org/show_bug.cgi?id=101778
-
- Reviewed by Rob Buis.
- Internally reviewed by Konrad Piascik.
-
- PR: 230935
- For image document, the actual image size can be different with the
- contents size. Zoom the document based on the image width so that
- images can fit the screen horizontally. Set 2.0 as the maximum zoom to
- fit scale for image document so that very small images won't get
- ridiculous large scales during the initial load.
-
- * Api/WebPage.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::zoomToFitScale):
-
-2012-11-12 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Use keyevents instead of editor commands for backspace
- https://bugs.webkit.org/show_bug.cgi?id=101663
-
- Reviewed by Rob Buis.
-
- PR229395
- Sending keyEvents for backspace and switching from KeyChar
- to KeyDown since we are still receiving an unadultered KeyUp
- from the input service. This was causing us to get two keyUps
- for regular keys and no key downs for backspace since it was
- triggering an editor command and bypassing JS listeners.
-
- Reviewed internally by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
- (BlackBerry::WebKit::relativeRightOffset):
- (WebKit):
- (BlackBerry::WebKit::InputHandler::deleteTextRelativeToCursor):
- (BlackBerry::WebKit::InputHandler::setText):
-
-2012-11-12 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Crash in InRegionScrollerPrivate.
- https://bugs.webkit.org/show_bug.cgi?id=101399
-
- Reviewed by Yong Li.
-
- Fix warning caused by the previous patch for this bug (r133679).
-
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2012-11-11 George Staikos <staikos@webkit.org>
-
- [BlackBerry] The QNX extension method should not be enabled by default
- https://bugs.webkit.org/show_bug.cgi?id=101863
-
- Reviewed by Rob Buis.
-
- Simply change the default to false.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
-
-2012-11-09 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Adding a sound to touch events on anchor elements
- https://bugs.webkit.org/show_bug.cgi?id=101655
-
- Reviewed by Antonio Gomes.
-
- Adding audio feedback to touchevents on html anchor elements.
-
- The feedback is called directly from client instead of using the
- mouseup event to avoid the delay between touch start and end caused
- by the tap sequence recognizer.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::playSoundIfAnchorIsTarget):
- (WebKit):
- * Api/WebPage.h:
- * WebKitSupport/TouchEventHandler.cpp:
- (WebKit):
- (BlackBerry::WebKit::TouchEventHandler::playSoundIfAnchorIsTarget):
- * WebKitSupport/TouchEventHandler.h:
- (TouchEventHandler):
-
-2012-11-09 George Staikos <staikos@webkit.org>
-
- [BlackBerry] Remove obsolete tokenizer settings
- https://bugs.webkit.org/show_bug.cgi?id=101689
-
- Reviewed by Yong Li.
-
- These tokenizer settings are obsolete and should not be here. Remove them.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
-
-2012-11-08 Chris Guan <chris.guan@torchmobile.com.cn>
-
- [BlackBerry] need to call closePopup at setValueAndClosePopup
- https://bugs.webkit.org/show_bug.cgi?id=101568
-
- Reviewed by George Staikos.
-
- When early return occurs, we need to call closePopup
- at setValueAndClosePopup function. See the comments
- in WebCore/page/PagePopupClient.h. If we have not it,
- Webkit thread is held and browser will be unresponsive
- in BlackBerry port.
-
- RIM PR 232962
- Internally reviewed by Charles Wei.
-
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::setValueAndClosePopup):
-
-2012-11-08 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Replace checkerboard with page background color.
- https://bugs.webkit.org/show_bug.cgi?id=101652
- RIM PR 188235
-
- Reviewed by George Staikos.
-
- In order to do this, we introduce a new member variable for
- BackingStore because when blitting, we can't access the
- page background color in a threadsafe way.
-
- Solid background color fill is still only used for public builds.
- Developers and beta testers should still see checkerboard and
- do something about it.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::fillWindow):
- (BlackBerry::WebKit::BackingStorePrivate::webPageBackgroundColorUserInterfaceThread):
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::setWebPageBackgroundColor):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
-
-2012-11-08 Tiancheng Jiang <tijiang@rim.com>
-
- [BlackBerry] Update BB10 date input form.
- https://bugs.webkit.org/show_bug.cgi?id=101075
-
- Reviewed by Rob Buis.
-
- RIM PR 234531
- Internally Reviewed by Mike Fenton.
- Change date input appearance to button and hide caret when click on them.
-
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore::DatePickerClient::setValueAndClosePopup):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openDatePopup):
-
-2012-11-08 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Provide pixel coordinates to IMF relative to the screen
- https://bugs.webkit.org/show_bug.cgi?id=101628
-
- Reviewed by Rob Buis.
-
- Reviewed internally by Mike Fenton and Jakob Petsovits.
-
- We need to provide the correct pixel coordinates to IMF,
- accounting for webkit based fields in UIB as well as browser.
- Getting an offset value from the screen point to the document
- content point allows us to adjust for when the document,
- such as in UIB, does not start at 0,0.
-
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-11-08 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Janitor: Remove unused m_isValid bool
- https://bugs.webkit.org/show_bug.cgi?id=101610
-
- Reviewed by Rob Buis.
-
- It's not used anywhere, but as we have a constructor
- that creates an invalid TileIndex, let's add another
- method to check validity - now a correct check.
-
- On top of that, make the stylebot happy by reducing
- "unsigned int" to just "unsigned".
-
- * WebKitSupport/TileIndex.h:
- (BlackBerry::WebKit::TileIndex::TileIndex):
- (BlackBerry::WebKit::TileIndex::i):
- (BlackBerry::WebKit::TileIndex::j):
- (BlackBerry::WebKit::TileIndex::setIndex):
- (BlackBerry::WebKit::TileIndex::isValid):
- (TileIndex):
-
-2012-11-08 Eli Fidler <efidler@rim.com>
-
- [BlackBerry] Increase memory cache size
- https://bugs.webkit.org/show_bug.cgi?id=101622
-
- Reviewed by Yong Li.
-
- * WebCoreSupport/CacheClientBlackBerry.cpp:
- (WebCore::CacheClientBlackBerry::updateCacheCapacity):
- * WebCoreSupport/CacheClientBlackBerry.h:
- (CacheClientBlackBerry):
-
-2012-11-08 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Rework the API to use document coordinates
- https://bugs.webkit.org/show_bug.cgi?id=101608
- RIM PR 173292
-
- Reviewed by Adam Treat.
-
- Scrolling and zooming APIs used to operate on
- transformed coordinates, which is a bad idea:
- The UI thread might long have moved on to a
- different scale and scroll position so outdated
- pixel coordinates are of limited value.
-
- Moreover, more transformation calculations are
- needed than if we operate purely on document
- coordinates.
-
- With webkitThreadViewportAccessor() exposed,
- the caller has a choice between how to handle
- coordinates and the means to perform conversions
- with little effort and overhead if needed.
- Therefore, we should remove pixel coordinates
- from the public API. This commit makes this change.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::repaint):
- (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScroller::setDocumentScrollPositionCompositingThread):
- (BlackBerry::WebKit::InRegionScroller::setDocumentScrollPositionWebKitThread):
- (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
- * Api/InRegionScroller.h:
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::shouldZoomAboutPoint):
- (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
- (BlackBerry::WebKit::WebPage::setDocumentScrollPosition):
- (BlackBerry::WebKit::WebPagePrivate::hasVirtualViewport):
- (BlackBerry::WebKit::WebPagePrivate::notifyTransformedContentsSizeChanged):
- (BlackBerry::WebKit::WebPagePrivate::notifyTransformedScrollChanged):
- (BlackBerry::WebKit::WebPagePrivate::setCursor):
- (BlackBerry::WebKit::WebPagePrivate::notifyPopupAutofillDialog):
- (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
- (BlackBerry::WebKit::WebPagePrivate::bestNodeForZoomUnderPoint):
- (BlackBerry::WebKit::WebPagePrivate::blockZoomRectForNode):
- (BlackBerry::WebKit::WebPagePrivate::zoomBlock):
- (BlackBerry::WebKit::WebPage::setVirtualViewportSize):
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
- (BlackBerry::WebKit::WebPagePrivate::dispatchViewportPropertiesDidChange):
- (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- (BlackBerry::WebKit::WebPage::setDefaultLayoutSize):
- (BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint):
- (BlackBerry::WebKit::WebPage::setDocumentScrollOriginPoint):
- (BlackBerry::WebKit::handleScrolling):
- (BlackBerry::WebKit::WebPage::selectionContainsDocumentPoint):
- (BlackBerry::WebKit::WebPage::setDocumentSelection):
- (BlackBerry::WebKit::WebPage::setDocumentCaretPosition):
- (BlackBerry::WebKit::WebPage::selectAtDocumentPoint):
- (BlackBerry::WebKit::WebPagePrivate::setTextReflowAnchorPoint):
- (BlackBerry::WebKit::WebPage::pinchZoomAboutPoint):
- (BlackBerry::WebKit::WebPage::blockZoom):
- (BlackBerry::WebKit::WebPage::nodeAtDocumentPoint):
- (BlackBerry::WebKit::WebPagePrivate::enterFullscreenForNode):
- * Api/WebPage.h:
- (Platform):
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/AutofillManager.cpp:
- (WebCore::AutofillManager::didChangeInTextField):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
-
-2012-11-08 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Verify touched element using the rootEditableElement
- https://bugs.webkit.org/show_bug.cgi?id=101510
-
- Reviewed by Rob Buis.
-
- Reviewed internally by Mike Fenton.
-
- Move up the tree until we find the rootEditableElement and use
- that to compare with the touched element.
-
- * WebKitSupport/FatFingers.h:
- (BlackBerry::WebKit::FatFingersResult::node):
- (BlackBerry::WebKit::FatFingersResult::nodeAsElementIfApplicable):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-11-07 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Remove setUserStyleSheetString/userStyleSheetString
- https://bugs.webkit.org/show_bug.cgi?id=101490
-
- Reviewed by Yong Li.
-
- We no longer need this API.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- * Api/WebSettings.cpp:
- (WebKit):
- * Api/WebSettings.h:
-
-2012-11-07 Christophe Dumez <christophe.dumez@intel.com>
-
- Add replaceWithLiteral() method to WTF::String
- https://bugs.webkit.org/show_bug.cgi?id=101257
-
- Reviewed by Benjamin Poulain.
-
- Substitute String::replace() calls by String::replaceWithLiteral() where
- adequate, for efficiency.
-
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::generateHTML):
-
-2012-11-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Remove support for "desktop-width" in the viewport meta tag
- https://bugs.webkit.org/show_bug.cgi?id=101217
-
- Reviewed by Gyuyoung Kim.
-
- Sync WebViewportArguments enum with the one in
- WebCore::ViewportArguments
-
- * Api/WebViewportArguments.h:
-
-2012-11-06 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] Crash in InRegionScrollerPrivate.
- https://bugs.webkit.org/show_bug.cgi?id=101399
-
- Reviewed by Rob Buis.
-
- Add a pointer to the enclosing document as the pointer to layer
- or node along the way may become invalid.
- Use document pointer in clearDocumentData.
- PR #238469
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::clearDocumentData):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
- (BlackBerry::WebKit::InRegionScrollableArea::document):
- (WebKit):
- * WebKitSupport/InRegionScrollableArea.h:
- (WebCore):
- (InRegionScrollableArea):
-
-2012-11-06 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Pushing window.external.* events to webplatform
- https://bugs.webkit.org/show_bug.cgi?id=101386
-
- Reviewed by Rob Buis.
-
- Adding calls to trigger window.external events so we can handle them on the
- browser side.
-
- PR 170059
-
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::addSearchProvider):
- (WebCore::ChromeClientBlackBerry::isSearchProviderInstalled):
-
-2012-11-06 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Adding window.external to our port
- https://bugs.webkit.org/show_bug.cgi?id=100868
-
- Reviewed by Rob Buis.
-
- Patching the method names to match the ones in the spec.
-
- * WebCoreSupport/ExternalExtension.cpp:
-
-2012-11-06 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Page can't back to whole screen after zoom out and orientation change
- https://bugs.webkit.org/show_bug.cgi?id=101350
-
- Reviewed by Rob Buis.
- Internally reviewed by Arvid Nilsson.
-
- PR: 229321
- When rotating device during touch interaction, bitmap zooming was
- unexpected ended by resetBitmapZoomScale() so that it couldn't bounce
- back. The call resetBitmapZoomScale() is ancient, which just resets the
- scale of the bitmap before. Right now it only ends the bitmap zooming
- which caused the issue. As UI viewport will be updated by zoomChanged()
- right after that, we can remove this trouble maker.
- Update the interaction views if the rotation is being changed so that
- ZoomHandler can get the updated views.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
- * Api/WebPageClient.h:
-
-2012-11-05 Lianghui Chen <liachen@rim.com>
-
- [BlackBerry] Do not show error page for main loads denied by client application
- https://bugs.webkit.org/show_bug.cgi?id=101287
-
- Internal PR: 237574.
- Internally reviewed by Arvid Nilsson, Joe Mason.
- Reviewed by George Staikos.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
-
-2012-11-05 Lianghui Chen <liachen@rim.com>
-
- [BlackBerry] Do not display error page for failed downloads
- https://bugs.webkit.org/show_bug.cgi?id=101246
-
- Internal PR: 236318
- Internal reviewed by Joe Mason, Leo Yang.
- Reviewed by Rob Buis.
-
- Right now when a main load, including all downloads, failed, it will
- display an error page. This is not very user friendly, especially for
- WebWorks application, which want to use its own user interface to info
- user about the failure.
- So we just stop displaying error page for downloads.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
-
-2012-11-05 Simon Fraser <simon.fraser@apple.com>
-
- Fix layer borders to cleaning appear and disappear on switching
- https://bugs.webkit.org/show_bug.cgi?id=101136
-
- Reviewed by Sam Weinig.
-
- Remove the GraphicsLayerClient methods showDebugBorders() and
- showRepaintCounter().
-
- * Api/WebOverlay_p.h:
- (WebOverlayPrivateWebKitThread):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::notifyFlushRequired):
- * Api/WebPage_p.h:
- * WebKitSupport/DefaultTapHighlight.cpp:
- * WebKitSupport/DefaultTapHighlight.h:
- (DefaultTapHighlight):
- * WebKitSupport/InspectorOverlayBlackBerry.cpp:
- * WebKitSupport/InspectorOverlayBlackBerry.h:
- (InspectorOverlay):
- * WebKitSupport/SelectionOverlay.cpp:
- * WebKitSupport/SelectionOverlay.h:
- (SelectionOverlay):
-
-2012-11-05 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] screenX/Y gives wrong values
- https://bugs.webkit.org/show_bug.cgi?id=101259
-
- Reviewed by Yong Li.
-
- PR 237071
-
- Reviewed internally by Gen Mak.
-
- Do not transform screenPos coordinates.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::mouseEvent):
- (BlackBerry::WebKit::WebPage::touchEvent):
- (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
-
-2012-11-05 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Input date should not popup dialog when readonly is set
- https://bugs.webkit.org/show_bug.cgi?id=101234
-
- Reviewed by Yong Li.
-
- PR 236114
-
- Reviewed internally by Mike Fenton.
-
- Suppress popup dialog if the input element has readonly attribute set.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openDatePopup):
- (BlackBerry::WebKit::InputHandler::openColorPopup):
-
-2012-11-05 Genevieve Mak <gmak@rim.com>
-
- [BLACKBERRY] Update touch code to reflect touch refactor
- https://bugs.webkit.org/show_bug.cgi?id=101227
-
- Reviewed by Rob Buis.
-
- PR #2706785
- Reviewed Internally by: Mike Lattanzio
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::touchEvent):
- (BlackBerry::WebKit::WebPagePrivate::dispatchTouchEventToFullScreenPlugin):
-
-2012-11-05 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Web Inspector: Add InspectorInstrumentaiton calls for timeline compositing.
- https://bugs.webkit.org/show_bug.cgi?id=101213
- RIM PR 178131
-
- Reviewed by Rob Buis.
-
- Internally Reviewed by Arvid Nilsson.
-
- Added compositing events to the timeline for BlackBerry.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
- (BlackBerry::WebKit::WebPagePrivate::willComposite):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::didComposite):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-11-03 Alexey Proskuryakov <ap@apple.com>
-
- Get rid of USE(CFURLSTORAGESESSIONS)
- https://bugs.webkit.org/show_bug.cgi?id=101131
-
- Reviewed by Sam Weinig.
-
- * WebCoreSupport/AboutDataUseFeatures.in: Not sure what this list is about, but
- CFURLSTORAGESESSIONS probably doesn't need to stay here.
-
-2012-11-02 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Fix compile-time warning of a possible empty-body if statement
- https://bugs.webkit.org/show_bug.cgi?id=101095
-
- Reviewed by Yong Li.
- Internally reviewed by Jeff Rogers.
-
- BBLOG might be compiled out leaving an if statement with an empty
- body. This is giving us a warning at the moment. Simply putting braces
- around it will fail as well because then we'd have braces around a
- single-line if. So, in following with the style observed in other parts
- of BackingStore.cpp, break up the log message and add braces.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
- (BlackBerry::WebKit::BackingStorePrivate::fillWindow):
- (BlackBerry::WebKit::BackingStorePrivate::clearWindow):
-
-2012-11-02 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Optimize backspace key handling
- https://bugs.webkit.org/show_bug.cgi?id=101083
-
- PR233591
- Optimize backspace key handling. Some of these calls are not
- required by IMF since the input_service already processes the backspace key
- and updates the state before passing us the key.
-
- Internally reviewed by Mike Fenton.
-
- Reviewed by Yong Li.
-
- Blocking calls with a flag that we clear immediately after
- processing a backspace keydown.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::nodeTextChanged):
- (BlackBerry::WebKit::InputHandler::selectionChanged):
- (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2012-11-02 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Adding window.external to our port
- https://bugs.webkit.org/show_bug.cgi?id=100868
-
- Reviewed by Rob Buis.
- PR 158809
-
- Patch up an error where we were dereferencing a null pointer.
-
- * WebCoreSupport/ExternalExtension.cpp:
- (addSearchProviderMethod):
- (IsSearchProviderInstalledMethod):
-
-2012-11-01 Peter Wang <peter.wang@torchmobile.com.cn>
-
- [BlackBerry] Simplify the code of returning JSValue in "BlackBerry::WebKit::WebPagePrivate::executeJavaScript"
- https://bugs.webkit.org/show_bug.cgi?id=100941
-
- Reviewed by Yong Li.
-
- Remove the unnecessary steps, just directly deal with returned JSValue.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
- (BlackBerry::WebKit::WebPagePrivate::executeJavaScriptInIsolatedWorld):
-
-2012-11-01 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Add a prompt to enable global location services
- https://bugs.webkit.org/show_bug.cgi?id=100992
-
- PR 227897
-
- Reviewed by Rob Buis.
-
- Adding a dialog to let the user know location services isn't enabled.
- Currently, the browser app does not check whether the global setting for
- location service is enabled. This patch adds a dialog to allow the user
- to open the settings app and change that setting. This infobar will only
- show once per session. If the user fails to turn on location services after
- the first prompt, all geolocation requests will automatically fail.
-
- Also, adapting GeolocationClientBlackBerry to the removal of GeoTracker.
- The class now talks directly to the geo handler singleton.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/GeolocationClientBlackBerry.cpp:
- (GeolocationClientBlackBerry::GeolocationClientBlackBerry):
- (GeolocationClientBlackBerry::geolocationDestroyed):
- (GeolocationClientBlackBerry::startUpdating):
- (GeolocationClientBlackBerry::stopUpdating):
- (GeolocationClientBlackBerry::requestPermission):
- (GeolocationClientBlackBerry::setEnableHighAccuracy):
- * WebCoreSupport/GeolocationClientBlackBerry.h:
- (WebCore::GeolocationClientBlackBerry::requiresHighAccuracy):
- (GeolocationClientBlackBerry):
-
-2012-11-01 Michael Matovsky <mmatovsky@rim.com>
-
- [BlackBerry] Web page view state should be preserved for pages loaded from page cache
- https://bugs.webkit.org/show_bug.cgi?id=100694
- Internal PR: 220488
-
- Internally reviewed by Lianghui Chen, Joe Mason
- Reviewed by Rob Buis.
-
- The web page view specific metadata should be preserved for web pages loaded from page cache (by using back/forward).
- This requires web page view state to be saved in and restored from the corresponding page cache history item.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem):
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
-
-2012-11-01 Leo Yang <leoyang@rim.com>
-
- [BlackBerry] Use clipped background rect in backing store
- https://bugs.webkit.org/show_bug.cgi?id=100960
-
- Reviewed by Yong Li.
- Reviewed internally by Arvid Nilsson.
-
- We calculated clipped background rect but didn't really use it when painting
- the background. Use the correct rect to avoid ASSERT failure in platform code.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
-
-2012-10-31 George Staikos <staikos@webkit.org>
-
- [BlackBerry] Crash on html popup form control when element is deleted
- https://bugs.webkit.org/show_bug.cgi?id=100869
-
- Reviewed by Yong Li.
-
- Make the element pointers RefPtr so they don't go away before the popup
- is closed.
-
- * WebCoreSupport/ColorPickerClient.h:
- (ColorPickerClient):
- * WebCoreSupport/DatePickerClient.h:
- (DatePickerClient):
- * WebCoreSupport/SelectPopupClient.h:
- (SelectPopupClient):
-
-2012-10-31 Genevieve Mak <gmak@rim.com>
-
- [BLACKBERRY] Custom WebWorks context menus don't always work.
- https://bugs.webkit.org/show_bug.cgi?id=100891
-
- Reviewed by Rob Buis.
-
- Walk up the dom tree until we find the webworks attribute or run out
- of parent nodes.
- PR# 227732
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
-
-2012-10-31 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Adding window.external to our port
- https://bugs.webkit.org/show_bug.cgi?id=100868
-
- Reviewed by Rob Buis.
-
- Attaching the window.external interface to the frame when
- it loads up.
-
- When called, the external interface methods call stubs declared
- in ChromeClientBlackBerry. The method passes in the url of the search
- provider and the url of the frame. Cross-site check has to be done in the
- implementation PR.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::addSearchProvider):
- (WebCore):
- (WebCore::ChromeClientBlackBerry::isSearchProviderInstalled):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
- * WebCoreSupport/ExternalExtension.cpp: Added.
- (addSearchProviderMethod):
- (IsSearchProviderInstalledMethod):
- (externalExtensionInitialize):
- (externalExtensionFinalize):
- * WebCoreSupport/ExternalExtension.h: Added.
- (WebCore):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidClearWindowObjectInWorld):
-
-2012-10-30 Peter Wang <peter.wang@torchmobile.com.cn>
-
- [BlackBerry] Clean the code of "JavaScriptDebuggerBlackBerry"
- https://bugs.webkit.org/show_bug.cgi?id=100724
-
- Reviewed by Rob Buis.
-
- Remove the code of JavaScriptDebuggerBlackBerry.
-
- * Api/WebPage.cpp:
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebCore):
- (WebPagePrivate):
- * WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp: Removed.
- * WebCoreSupport/JavaScriptDebuggerBlackBerry.h: Removed.
-
-2012-10-29 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Simplify AuthenticationChallengeManager::instance
- https://bugs.webkit.org/show_bug.cgi?id=100614
-
- Reviewed by Yong Li.
- Internally reviewed by Lyon Chen.
-
- No need to call AuthenticationChallengeManager::init anymore.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::globalInitialize):
-
-2012-10-29 Mike Lattanzio <mlattanzio@rim.com>
-
- [BlackBerry] Typo in WebPagePrivate::postponeDocumentRecalcStyle()
- https://bugs.webkit.org/show_bug.cgi?id=100377
-
- Reviewed by Adam Treat.
-
- Should be void, not bool.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::postponeDocumentStyleRecalc):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-10-29 Robin Cao <robin.cao@torchmobile.com.cn>
-
- [BlackBerry] Fix a build error
- https://bugs.webkit.org/show_bug.cgi?id=100649
-
- Reviewed by Kentaro Hara.
-
- r127876 changed the signature of WebCore::EventHandler::hitTestResultAtPoint()
- and this commit was later reverted. We need to update a call site in the
- BlackBerry port to make it build.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::hitTestResult):
-
-2012-10-26 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry][FullScreen] entering/leaving fullscreen results in temporary glitches on the screen
- https://bugs.webkit.org/show_bug.cgi?id=100421
-
- Reviewed by Yong Li.
-
- PR: 231173
- When leaving fullscreen, we need to suspend screen and backing store
- updates before setting scroll position and changing transformation and
- resume after they are done. In which way, we can get rid of a noticeable
- glitch during the transition.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
-
-2012-10-26 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] ASSERT currentThreadIsHoldingLock() failed in MarkedAllocator::allocateSlowCase()
- https://bugs.webkit.org/show_bug.cgi?id=100504
-
- Reviewed by Yong Li.
-
- PR #232038 The similar PR # 200724.
- Reviewed internally by Petter Wang.
-
- This issue is same as bug 95492, and this patch is same as its patch.
- Hold the JSLock for the current thread before we call toRef to avoid
- the ASSERT failure.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::executeJavaScriptInIsolatedWorld):
- (BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
-
-2012-10-25 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] WebView process crashed at AuthenticationChallengeManager::pageVisibilityChanged()
- https://bugs.webkit.org/show_bug.cgi?id=100330
-
- Reviewed by Rob Buis.
-
- Reviewed internally by Charles Wei.
- PR #231232
-
- Since AuthenticationChallengeManager keeps a map of WebPages, WebPage setting
- visible needs AuthenticationChallengeManager to update its records, deleting
- webpage from AuthenticationChallengeManager's map should be done after setting
- webpage visibility.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
-
-2012-10-24 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] ASSERT(!needsOneShotDrawingSynchronization()) failed in commitRootLayerIfNeeded()
- https://bugs.webkit.org/show_bug.cgi?id=100214
-
- Reviewed by Rob Buis.
-
- ViewportSize has been changed before committing root layer, it asserts
- that it needs relayout and render if needed before committing if it
- Needs One Shot Drawing Synchronization.
- This patch calls requestLayoutIfNeeded() when resumeScreenAndBackingStoreUpdates().
-
- Fix a coding style in the BackingStore.cpp as well.
-
- Reviewed internally by Arvid Nilsson.
- PR #230253
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenAndBackingStoreUpdates):
-
-2012-10-24 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Geolocation is segfaulting
- https://bugs.webkit.org/show_bug.cgi?id=100305
-
- Reviewed by Rob Buis.
-
- We weren't wrapping the Geolocation object in a RefPtr when we call setIsAllowed in
- GeolocationClientBlackBerry::onPermission.
-
- This patch also removes all references of the Geolocation object in WebPageClientImpl.
- One RefPtr<Geolocation> is used to store the reference of the WebCore object on our port.
-
- We don't need a mapping between origin -> context of Geolocation because in our port,
- one WebPage.cpp contains one GeolocationController only.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/GeolocationClientBlackBerry.cpp:
- (frameOrigin):
- (GeolocationClientBlackBerry::requestPermission):
- (GeolocationClientBlackBerry::cancelPermissionRequest):
- (GeolocationClientBlackBerry::onPermission):
- * WebCoreSupport/GeolocationClientBlackBerry.h:
- (GeolocationClientBlackBerry):
-
-2012-10-24 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry][Fullscreen] Roll out changes to fullscreen which rely on viewport size change [Part II]
- https://bugs.webkit.org/show_bug.cgi?id=100259
-
- Reviewed by Rob Buis.
-
- PR: 219666
- Revert "[BlackBerry] [FullScreen] entering/leaving fullscreen results in temporary glitches on the screen"
- This rolls out r128772.
- The patches relies on the viewport size change of the client side to
- resume the screen and backing store updates. However, some client
- sides don't need or wish to resize the WebKit viewport at all which
- will result in upexpected screen and backing store suspensions.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::enterFullScreenForElement):
- (WebCore::ChromeClientBlackBerry::exitFullScreenForElement):
-
-2012-10-24 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry][Fullscreen] Roll out changes to fullscreen which rely on viewport size change
- https://bugs.webkit.org/show_bug.cgi?id=100259
-
- Reviewed by Rob Buis.
-
- PR: 219666
- Roll out r130392 and r129909.
- The patches rely on the viewport size change of the client side to
- update the scale and scroll position of the video. However, some client
- sides don't need or wish to resize the WebKit viewport at all.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
- (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-10-24 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Rename GeolocationControllerClientBlackBerry to GeolocationClientBlackBerry
- https://bugs.webkit.org/show_bug.cgi?id=100250
-
- Reviewed by Rob Buis.
-
- Rename GeolocationControllerClientBlackBerry to GeolocationClientBlackBerry
- to prevent confusion.
- PR 230196
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- * Api/WebPage_p.h:
- (WebCore):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- * WebCoreSupport/GeolocationClientBlackBerry.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.cpp.
- (frameOrigin):
- (GeolocationClientBlackBerry::GeolocationClientBlackBerry):
- (GeolocationClientBlackBerry::geolocationDestroyed):
- (GeolocationClientBlackBerry::startUpdating):
- (GeolocationClientBlackBerry::stopUpdating):
- (GeolocationClientBlackBerry::lastPosition):
- (GeolocationClientBlackBerry::requestPermission):
- (GeolocationClientBlackBerry::cancelPermissionRequest):
- (GeolocationClientBlackBerry::onLocationUpdate):
- (GeolocationClientBlackBerry::onLocationError):
- (GeolocationClientBlackBerry::onPermission):
- (GeolocationClientBlackBerry::setEnableHighAccuracy):
- * WebCoreSupport/GeolocationClientBlackBerry.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.h.
- (WebKit):
- (WebCore):
- (GeolocationClientBlackBerry):
- (WebCore::GeolocationClientBlackBerry::tracker):
-
-2012-10-24 Parth Patel <parpatel@rim.com>
-
- [BlackBerry] Extending existing ThreadUnsafe singletons in webkit to
- Generic ThreadUnsafe Singleton
- https://bugs.webkit.org/show_bug.cgi?id=100145
-
- Reviewed by Rob Buis.
-
- Extending the singletons to generic singleton and changing
- getInstance() in IconDatabaseClientBlackBerry to instance()
- to match the generic singleton template.
-
- Reviewed Internally by Yong Li.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::initializeIconDataBase):
- * WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
- (WebCore):
- * WebCoreSupport/IconDatabaseClientBlackBerry.h:
- (IconDatabaseClientBlackBerry):
-
-2012-10-23 Robin Cao <robin.cao@torchmobile.com.cn>
-
- [BlackBerry] Web page renders at the wrong zoom level after viewport changes
- https://bugs.webkit.org/show_bug.cgi?id=100096
-
- Reviewed by Rob Buis.
-
- Notify the client of the zoom level change before resuming screen updates.
- Otherwise, the user interface thread may blit the content at the wrong
- zoom level in some cases. This can also prevent potential flickering.
-
- Reviewed internally by Arvid Nilsson.
-
- PR #225741
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
- (BlackBerry::WebKit::WebPagePrivate::zoomBlock):
-
-2012-10-23 Mike Lattanzio <mlattanzio@rim.com>
-
- [BlackBerry] Cache TouchDown HitTestResult to avoid calling RenderLayer::hitTest unnecessarily
- https://bugs.webkit.org/show_bug.cgi?id=99649
-
- Reviewed by George Staikos.
-
- Random latency before scroll starts on sites like http://pintrest.com
- Internal PR225398
-
- The chief problem here is the all the hit testing that we do for
- touch events and simulated mouse events. If the render tree is dirty
- hit tests can take a long time in Document::recalcStyle(). Masking
- the flags that force style recalculations will make them fast, at the
- expense that they might be happening on stale data.
-
- Since we are only using these hit tests to look for event handlers -
- we're not actually modifying anything, it is better to skip the
- Document::recalcStyle() and save ourselves tons of time.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPage::touchEvent):
- (BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint):
- (BlackBerry::WebKit::WebPagePrivate::postponeDocumentStyleRecalc):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::resumeDocumentStyleRecalc):
- (BlackBerry::WebKit::WebPagePrivate::hitTestResult):
- (BlackBerry::WebKit::WebPagePrivate::clearCachedHitTestResult):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::findBestPoint):
- (BlackBerry::WebKit::FatFingers::getRelevantInfoFromCachedHitTest):
- * WebKitSupport/FatFingers.h:
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-10-23 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Make selection in search input box not overlap cancel button
- https://bugs.webkit.org/show_bug.cgi?id=100130
-
- Reviewed by Antonio Gomes.
-
- This ensures that even when selection is active, the user can still press 'cancel'.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::boundingBoxForInputField):
-
-2012-10-23 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Let WebKit manage the SelectionOverlay
- https://bugs.webkit.org/show_bug.cgi?id=99585
-
- Reviewed by Rob Buis.
-
- The SelectionOverlay was exposed to clients of the BlackBerry::WebKit
- API. However, all the information and notifications necessary to manage
- the SelectionOverlay are available within WebKit, so the client does
- not have to shoulder this responsibility.
-
- Remove WebSelection and all the related plumbing. Now that nobody is
- using the class from the user interface thread, remove the message
- related code in SelectionOverlay.
-
- Add two calls to SelectionOverlay::hide() that are necessary now that
- the client is no longer responsible for hiding it.
-
- RIM PR: 225789
-
- Reviewed internally by Mike Fenton.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
- * Api/WebPage.h:
- (WebKit):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * Api/WebSelectionOverlay.h: Removed.
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::cancelSelection): Hide the overlay here, because state is reset and selection mode is no longer active
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged): Also hide overlay here, to go with the call to cancelSelectionVisuals
- * WebKitSupport/SelectionOverlay.cpp:
- (BlackBerry::WebKit::SelectionOverlay::SelectionOverlay):
- * WebKitSupport/SelectionOverlay.h:
- (BlackBerry::WebKit::SelectionOverlay::create):
- (SelectionOverlay):
-
-2012-10-22 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Remove specialized handling for isIndex fields.
- https://bugs.webkit.org/show_bug.cgi?id=100004
-
- Reviewed by Rob Buis.
-
- PR 214342.
-
- Remove special handling for isIndex field as the tag
- is rewritten.
-
- Reviewed Internally by Yongxin Dai and Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::inputStyle):
- (BlackBerry::WebKit::InputHandler::elementType):
-
-2012-10-22 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-
- [Qt] Fix "ASSERTION FAILED: !document->inPageCache()" when loading a page
- https://bugs.webkit.org/show_bug.cgi?id=98514
-
- Reviewed by Kenneth Rohde Christiansen.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
-
-2012-10-20 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] m_mainFrame should be null checked before use in WebPagePrivate destructor
- https://bugs.webkit.org/show_bug.cgi?id=99916
-
- Reviewed by George Staikos.
- Internally reviewed by Arvid Nilsson.
-
- Internal PR228029
- Add null checks for m_mainFrame for things that happen during
- WebPage destruction.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setVisible):
- (BlackBerry::WebKit::WebPagePrivate::setCompositorDrawsRootLayer):
-
-2012-10-19 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Convert input style to int64_t
- https://bugs.webkit.org/show_bug.cgi?id=99848
-
- Reviewed by Yong Li.
-
- PR 227381.
-
- Switch input style mask to int64_t to match the the updated definition.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::inputStyle):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2012-10-19 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Move all keyboard type calculations into InputHandler.
- https://bugs.webkit.org/show_bug.cgi?id=99847
-
- Reviewed by Yong Li.
-
- PR 227381.
-
- Move all keyboard type calculations into webkit and avoid passing type
- information to the webview.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::convertInputTypeToVKBType):
- (WebKit):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
-
-2012-10-19 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Page viewport aspect ratio not kept on navigating back
- https://bugs.webkit.org/show_bug.cgi?id=99760
-
- Reviewed by Yong Li.
- Internally reviewed by Konrad Piascik
-
- PR: 222437
- This is to fix the second issue on PR222437 that the viewport not kept
- when navigating back from google after rotation to bloomberg.
- We were trying to restore the history contents size and scale of
- bloomberg which has virtual viewport. The scale would be recalculated
- based on the new screen size. However, we would still use the current
- contents size if it was greater than the history contents size in
- FrameView::setContentsSize which made the contents seem to be scaled
- too much.
- Actually when we relayout the contents after rotation change, the
- current contents size which is based on the virtual viewport has taken
- the screen size into account. Shrinking the contents size will be
- expensive. So we can ignore screen size based scale calculation here.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
-
-2012-10-19 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Add input logs to InputHandler::ensureFocusTextElementVisible.
- https://bugs.webkit.org/show_bug.cgi?id=99837
-
- Reviewed by Antonio Gomes.
-
- Add input logs for InputHandler::ensureFocusTextElementVisible.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2012-10-19 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Should suspend AnimationController when WebPage becomes invisible.
- https://bugs.webkit.org/show_bug.cgi?id=99844
-
- Reviewed by Yong Li.
- Internally reviewed by Arvid Nilsson & Yong Li.
-
- Suspend animation controller when the tab becomes invisible,
- in addition to suspending scripted animations.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setVisible):
-
-2012-10-19 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Don't attempt to auto scroll on input for Fixed Position elements.
- https://bugs.webkit.org/show_bug.cgi?id=99833
-
- Reviewed by Antonio Gomes.
-
- PR 195024.
-
- Don't attempt to scroll fixed position elements.
-
- Reviewed Internally by Arvid Nilsson.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isFixedPositionOrHasFixedPositionAncestor):
- (DOMSupport):
- * WebKitSupport/DOMSupport.h:
- (WebCore):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2012-10-18 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Page viewport aspect ratio not kept on navigating back
- https://bugs.webkit.org/show_bug.cgi?id=99760
-
- Reviewed by Rob Buis.
- Internally reviewed by Konrad Piascik.
-
- PR: 190469
- This was added in r127628 which was trying to fix some rendering
- defects on maps.google.com and news.qq.com, however it was very harmful
- and caused regressions.
- zoomToFitScale() depends on the current contents size. During history
- navigation and device rotation, if zoomToFitScale() is based on the
- final contents size which is expected, there will still be a scale
- calculation like this afterwards
- screenSize.width()/screenSize.height()*zoomToFitScale() which will
- result in a wrong scale. During the history navigation, if
- zoomToFitScale() isn't based on the final contents size, then we will
- get the wrong scale as well for sure.
- This issue will be fixed by removing the wrong calculation.
- The original issue of r127628 was fixed by the patch of PR225981.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
-
-2012-10-18 John Griggs <jgriggs@rim.com>
-
- 2012-10-18 John Griggs <jgriggs@rim.com>
-
- Crash in InRegionScrollableArea constructor while loading page
- https://bugs.webkit.org/show_bug.cgi?id=99733
-
- Reviewed by Antonio Gomes.
-
- Check scrollLayer and avoid constructing InRegionScrollableArea when it is NULL.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
-
-2012-10-17 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Possible redundant zoomToInitialScaleOnLoad() in WebPagePrivate::setLoadState
- https://bugs.webkit.org/show_bug.cgi?id=99624
-
- Reviewed by Rob Buis.
- Internally reviewed by Arvid Nilsson
-
- PR: 225981
- Several reasons to eliminate the ancient unnecessary
- zoomToInitialScaleOnLoad() in WebPagePrivate::setLoadState committed:
- - At this point, we have only committed the data we received.
- - For the new load, we haven't started parsing the tokens and building
- the DOM tree and the first layout will happen after that.
- - For the load restored from cache, the first layout will happen after
- setLoadState committed which is called by
- FrameLoader::dispatchDidCommitLoad().
- - zoomToInitialScaleOnLoad() can still be called after the first
- layout finished.
- - zoomToInitialScaleOnLoad() is expensive and it will boost the load
- performance after the removal.
- - Removal of this can fix some weird rendering defects on yahoo.com,
- maps.google.com, news.qq.com and so on during load and rotation
- mentioned on the PR.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
-
-2012-10-17 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Prevent focus zoom on non-userscalable pages.
- https://bugs.webkit.org/show_bug.cgi?id=99608
-
- Reviewed by Rob Buis.
-
- PR 222378.
-
- Disable focus zoom when the page is non-user scalable.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2012-10-16 Mike Lattanzio <mlattanzio@rim.com>
-
- 2012-10-16 Mike Lattanzio <mlattanzio@rim.com>
-
- [BlackBerry] calculateInRegionScrollableAreasForPoint should use a ReadOnly HitTest
- https://bugs.webkit.org/show_bug.cgi?id=99497
-
- Reviewed by Antonio Gomes.
-
- Fix calculateInRegionScrollableAreasForPoint to use a ReadOnly
- hit test to improve its performance.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
-
-2012-10-15 Peter Wang <peter.wang@torchmobile.com.cn>
-
- [BlackBerry] Web Inspector: Remove the useless preferences items in "inspectorBB.js"
- https://bugs.webkit.org/show_bug.cgi?id=99404
-
- Reviewed by George Staikos.
-
- In "inspectorBB.js", remove the useless preferences items to catch up the new code of frontend.
-
- * WebCoreSupport/inspectorBB.js:
-
-2012-10-15 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Only reallocate buffers that were allocated before suspending
- https://bugs.webkit.org/show_bug.cgi?id=99205
- RIM PR 99395
-
- Reviewed by Antonio Gomes.
-
- When we call releaseBuffers(), not all of the backingstore
- tile buffers might have been allocated yet. Still we try
- to release all of them, which causes us to lazy-initialize
- the tile buffers so we can release them again.
-
- This is stupid and we should just ignore buffers that
- haven't been initialized yet. This patch makes that change.
-
- * WebKitSupport/BackingStoreTile.cpp:
- (BlackBerry::WebKit::TileBuffer::wasNativeBufferCreated):
- (WebKit):
- * WebKitSupport/BackingStoreTile.h:
- (TileBuffer):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::createBuffers):
- (BlackBerry::WebKit::SurfacePool::releaseBuffers):
-
-2012-10-15 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] replace BlackBerry::Platform::log() with BBLOG()
- https://bugs.webkit.org/show_bug.cgi?id=99302
-
- Reviewed by Rob Buis.
-
- RIM PR: 210884
- The marco BBLOG() is defined as a no-op in release mode which will
- save a function call in the release build.
- Internally reviewed by Charles Wei.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::bestDivisor):
- (BlackBerry::WebKit::BackingStorePrivate::suspendScreenAndBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenAndBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::repaint):
- (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
- (BlackBerry::WebKit::BackingStorePrivate::scroll):
- (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::scrollBackingStore):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
- (BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
- (BlackBerry::WebKit::BackingStorePrivate::fillWindow):
- (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
- (BlackBerry::WebKit::BackingStorePrivate::clearWindow):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
- (BlackBerry::WebKit::WebPagePrivate::contentsSizeChanged):
- (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
- (BlackBerry::WebKit::WebPagePrivate::scheduleRootLayerCommit):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
- (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::overflowExceedsContentsSize):
- (WebCore::ChromeClientBlackBerry::didDiscoverFrameSet):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::checkFingerIntersection):
- (BlackBerry::WebKit::FatFingers::findIntersectingRegions):
- (BlackBerry::WebKit::FatFingers::checkForText):
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::RenderQueue::addToRegularQueue):
- (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
- (BlackBerry::WebKit::RenderQueue::render):
- (BlackBerry::WebKit::RenderQueue::renderAllCurrentRegularRenderJobs):
- (BlackBerry::WebKit::RenderQueue::startRegularRenderJobBatchIfNeeded):
- (BlackBerry::WebKit::RenderQueue::renderVisibleZoomJob):
- (BlackBerry::WebKit::RenderQueue::renderVisibleScrollJob):
- (BlackBerry::WebKit::RenderQueue::renderRegularRenderJob):
- (BlackBerry::WebKit::RenderQueue::renderNonVisibleScrollJob):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::initialize):
-
-2012-10-15 Xiaobo Wang <xbwang@torchmobile.com.cn>
-
- [BlackBerry] [DRT] Skip region of interest zooming when running DRT
- https://bugs.webkit.org/show_bug.cgi?id=97663
-
- Reviewed by Rob Buis.
-
- This patch fixes test fast/forms/textarea-scrolled-endline-caret.html, and
- 1. Add a global function isRunningDrt to check if we're currently running DRT.
- 2. Use the new function in places where getenv("drtRun") is used.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::isRunningDrt):
- (WebKit):
- * Api/BlackBerryGlobal.h:
- (WebKit):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (toGeolocationClientMock):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2012-10-15 George Staikos <staikos@webkit.org>
-
- [BlackBerry] Adapt to Platform API changes in string handling
- https://bugs.webkit.org/show_bug.cgi?id=99248
-
- Reviewed by Yong Li.
-
- Convert usage of WebString, char* and std::string to BlackBerry::Platform::String.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::clearAppCache):
- (BlackBerry::WebKit::clearDatabase):
- * Api/BlackBerryGlobal.h:
- (Platform):
- (WebKit):
- * Api/JavaScriptVariant.cpp:
- (BlackBerry::WebKit::JSValueRefToBlackBerryJavaScriptVariant):
- (BlackBerry::WebKit::BlackBerryJavaScriptVariantToJSValueRef):
- (BlackBerry::WebKit::JavaScriptVariant::JavaScriptVariant):
- (WebKit):
- (BlackBerry::WebKit::JavaScriptVariant::~JavaScriptVariant):
- (BlackBerry::WebKit::JavaScriptVariant::setType):
- (BlackBerry::WebKit::JavaScriptVariant::setString):
- (BlackBerry::WebKit::JavaScriptVariant::stringValue):
- * Api/JavaScriptVariant.h:
- * Api/WebAnimation.cpp:
- (BlackBerry::WebKit::WebAnimation::fadeAnimation):
- (BlackBerry::WebKit::WebAnimation::name):
- * Api/WebAnimation.h:
- * Api/WebCookieJar.cpp:
- (BlackBerry::WebKit::WebCookieJar::cookies):
- (BlackBerry::WebKit::WebCookieJar::setCookies):
- * Api/WebCookieJar.h:
- (Platform):
- (BlackBerry):
- (WebKit):
- * Api/WebKitMIMETypeConverter.cpp:
- (BlackBerry::WebKit::getExtensionForMimeType):
- (BlackBerry::WebKit::getMimeTypeForExtension):
- * Api/WebKitMIMETypeConverter.h:
- (Platform):
- (BlackBerry):
- (WebKit):
- * Api/WebKitTextCodec.cpp:
- (BlackBerry::WebKit::base64Decode):
- (BlackBerry::WebKit::base64Encode):
- (BlackBerry::WebKit::unescapeURL):
- (BlackBerry::WebKit::escapeURL):
- * Api/WebKitTextCodec.h:
- (Platform):
- (BlackBerry):
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlay::removeAnimation):
- * Api/WebOverlay.h:
- (Platform):
- (BlackBerry):
- (WebKit):
- * Api/WebOverlayOverride.cpp:
- (BlackBerry::WebKit::WebOverlayOverride::removeAnimation):
- * Api/WebOverlayOverride.h:
- (Platform):
- (BlackBerry):
- (WebKit):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::autofillTextField):
- (BlackBerry::WebKit::WebPage::renderTreeAsText):
- (BlackBerry::WebKit::WebPage::WebPage):
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPagePrivate::load):
- (BlackBerry::WebKit::WebPage::load):
- (BlackBerry::WebKit::WebPage::loadFile):
- (BlackBerry::WebKit::WebPage::download):
- (BlackBerry::WebKit::WebPagePrivate::loadString):
- (BlackBerry::WebKit::WebPage::loadString):
- (BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
- (BlackBerry::WebKit::WebPage::executeJavaScript):
- (BlackBerry::WebKit::WebPagePrivate::executeJavaScriptInIsolatedWorld):
- (BlackBerry::WebKit::WebPage::executeJavaScriptInIsolatedWorld):
- (BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
- (BlackBerry::WebKit::WebPagePrivate::addOriginAccessWhitelistEntry):
- (BlackBerry::WebKit::WebPage::addOriginAccessWhitelistEntry):
- (BlackBerry::WebKit::WebPagePrivate::removeOriginAccessWhitelistEntry):
- (BlackBerry::WebKit::WebPage::removeOriginAccessWhitelistEntry):
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
- (BlackBerry::WebKit::WebPagePrivate::syncProxyCredential):
- (BlackBerry::WebKit::WebPagePrivate::notifyPopupAutofillDialog):
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- (BlackBerry::WebKit::WebPage::setDateTimeInput):
- (BlackBerry::WebKit::WebPage::setColorInput):
- (BlackBerry::WebKit::WebPage::textEncoding):
- (BlackBerry::WebKit::WebPage::forcedTextEncoding):
- (BlackBerry::WebKit::WebPage::setForcedTextEncoding):
- (BlackBerry::WebKit::WebPage::title):
- (BlackBerry::WebKit::WebPage::selectedText):
- (BlackBerry::WebKit::WebPage::cutSelectedText):
- (BlackBerry::WebKit::WebPage::insertText):
- (BlackBerry::WebKit::WebPage::getBackForwardList):
- (BlackBerry::WebKit::WebPage::onCertificateStoreLocationSet):
- (BlackBerry::WebKit::WebPage::dispatchInspectorMessage):
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- (BlackBerry::WebKit::WebPage::textHasAttribute):
- (BlackBerry::WebKit::WebPage::setAllowNotification):
- (BlackBerry::WebKit::WebPagePrivate::defaultUserAgent):
- * Api/WebPage.h:
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * Api/WebSettings.cpp:
- (BlackBerry::WebKit::WebSettings::standardSettings):
- (BlackBerry::WebKit::WebSettings::addSupportedObjectPluginMIMEType):
- (BlackBerry::WebKit::WebSettings::isSupportedObjectMIMEType):
- (BlackBerry::WebKit::WebSettings::serifFontFamily):
- (BlackBerry::WebKit::WebSettings::setSerifFontFamily):
- (BlackBerry::WebKit::WebSettings::fixedFontFamily):
- (BlackBerry::WebKit::WebSettings::setFixedFontFamily):
- (BlackBerry::WebKit::WebSettings::sansSerifFontFamily):
- (BlackBerry::WebKit::WebSettings::setSansSerifFontFamily):
- (BlackBerry::WebKit::WebSettings::standardFontFamily):
- (BlackBerry::WebKit::WebSettings::setStandardFontFamily):
- (BlackBerry::WebKit::WebSettings::userAgentString):
- (BlackBerry::WebKit::WebSettings::setUserAgentString):
- (BlackBerry::WebKit::WebSettings::defaultTextEncodingName):
- (BlackBerry::WebKit::WebSettings::setDefaultTextEncodingName):
- (BlackBerry::WebKit::WebSettings::userStyleSheetString):
- (BlackBerry::WebKit::WebSettings::setUserStyleSheetString):
- (BlackBerry::WebKit::WebSettings::userStyleSheetLocation):
- (BlackBerry::WebKit::WebSettings::setUserStyleSheetLocation):
- (BlackBerry::WebKit::WebSettings::localStoragePath):
- (BlackBerry::WebKit::WebSettings::setLocalStoragePath):
- (BlackBerry::WebKit::WebSettings::indexedDataBasePath):
- (BlackBerry::WebKit::WebSettings::setIndexedDataBasePath):
- (BlackBerry::WebKit::WebSettings::databasePath):
- (BlackBerry::WebKit::WebSettings::setDatabasePath):
- (BlackBerry::WebKit::WebSettings::appCachePath):
- (BlackBerry::WebKit::WebSettings::setAppCachePath):
- (BlackBerry::WebKit::WebSettings::pageGroupName):
- (BlackBerry::WebKit::WebSettings::setPageGroupName):
- * Api/WebSettings.h:
- * Api/WebString.cpp: Removed.
- * Api/WebString.h: Removed.
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::runJavaScriptPrompt):
- (WebCore::ChromeClientBlackBerry::createWindow):
- (WebCore::ChromeClientBlackBerry::runOpenPanel):
- (WebCore):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
- * WebCoreSupport/ClientExtension.cpp:
- (clientExtensionMethod):
- * WebCoreSupport/ColorPickerClient.cpp:
- (WebCore::ColorPickerClient::ColorPickerClient):
- (WebCore::ColorPickerClient::generateHTML):
- * WebCoreSupport/ColorPickerClient.h:
- (Platform):
- (BlackBerry):
- (WebKit):
- (ColorPickerClient):
- * WebCoreSupport/CredentialManager.cpp:
- (WebCore::CredentialManager::autofillAuthenticationChallenge):
- * WebCoreSupport/CredentialManager.h:
- (Platform):
- (CredentialManager):
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore::DatePickerClient::DatePickerClient):
- (WebCore::DatePickerClient::generateHTML):
- * WebCoreSupport/DatePickerClient.h:
- (Platform):
- (BlackBerry):
- (WebKit):
- (DatePickerClient):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForResponse):
- (WebCore::FrameLoaderClientBlackBerry::createDocumentLoader):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):
- (WebCore::FrameLoaderClientBlackBerry::dispatchCreatePage):
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
- (WebCore::FrameLoaderClientBlackBerry::loadIconExternally):
- (WebCore::FrameLoaderClientBlackBerry::startDownload):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveIcon):
- * WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
- * WebCoreSupport/NotificationPresenterImpl.cpp:
- (WebCore::NotificationPresenterImpl::show):
- (WebCore::NotificationPresenterImpl::cancel):
- (WebCore::NotificationPresenterImpl::requestPermission):
- (WebCore::NotificationPresenterImpl::onPermission):
- (WebCore::NotificationPresenterImpl::notificationClicked):
- * WebCoreSupport/NotificationPresenterImpl.h:
- (Platform):
- (NotificationPresenterImpl):
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::SelectPopupClient):
- (WebCore::SelectPopupClient::update):
- (WebCore::SelectPopupClient::generateHTML):
- * WebCoreSupport/SelectPopupClient.h:
- (Platform):
- (BlackBerry):
- (SelectPopupClient):
- * WebCoreSupport/UserMediaClientImpl.cpp:
- (WebCore::toMediaStreamSource):
- (WebCore::toMediaStreamDescriptor):
- (WebCore::UserMediaClientImpl::requestUserMedia):
- (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::cachePage):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::convertStringToWchar):
- (BlackBerry::WebKit::convertStringToWcharVector):
- (BlackBerry::WebKit::convertSpannableStringToString):
- (BlackBerry::WebKit::InputHandler::learnText):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
- (BlackBerry::WebKit::InputHandler::openDatePopup):
- (BlackBerry::WebKit::InputHandler::openSelectPopup):
- (BlackBerry::WebKit::InputHandler::setText):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectedText):
- * WebKitSupport/SelectionHandler.h:
- (Platform):
- (WebKit):
- (SelectionHandler):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::sharedPixmapGroup):
- * WebKitSupport/SurfacePool.h:
- (SurfacePool):
-
-2012-10-15 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Clean up BackingStoreClient (part II)
- https://bugs.webkit.org/show_bug.cgi?id=99327
-
- Reviewed by Yong Li.
-
- Remove more unneeded BackingStoreClient <-> WebPageClient integration
- methods:
- - BackingStoreClient* backingStoreClientForFrame(...)
- - void addBackingStoreClientForFrame(...)
- - void removeBackingStoreClientForFrame(...)
-
- Change places calling WPPriv::backingStoreClientForFrame to directly
- access WPPriv::backingStoreClient instead, since only the main frame will
- have a BackingStoreClient instance associated with it, and it is owned by
- the WKPriv.
-
- Remove non-mainframe only references to BackingStoreClient completely,
- since it is dead code now.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::backingStoreClient):
- (BlackBerry::WebKit::WebPage::destroy):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::invalidateContentsForSlowScroll):
- (WebCore::ChromeClientBlackBerry::scroll):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
- (WebCore::FrameLoaderClientBlackBerry::createFrame):
- (WebCore::FrameLoaderClientBlackBerry::detachedFromParent2):
- * WebKitSupport/BackingStoreClient.cpp:
- (BlackBerry::WebKit::BackingStoreClient::create):
- (BlackBerry::WebKit::BackingStoreClient::BackingStoreClient):
- (BlackBerry::WebKit::BackingStoreClient::~BackingStoreClient):
- * WebKitSupport/BackingStoreClient.h:
- (BackingStoreClient):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setBatchEditingActive):
-
-2012-10-15 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Clean up BackingStoreClient (part I)
- https://bugs.webkit.org/show_bug.cgi?id=99327
-
- Reviewed by Yong Li.
-
- Now that we won't use the BackingStoreClient code path to scroll inner frames at all
- (instead we use AC layers!), we can remove all "!isMainFrame" code paths.
-
- No behavior change, since the code path being removed was not in use.
-
- * WebKitSupport/BackingStoreClient.cpp:
- (BlackBerry::WebKit::BackingStoreClient::absoluteRect):
- (BlackBerry::WebKit::BackingStoreClient::transformedActualVisibleSize):
- (BlackBerry::WebKit::BackingStoreClient::viewportSize):
- (BlackBerry::WebKit::BackingStoreClient::transformedViewportSize):
- (BlackBerry::WebKit::BackingStoreClient::visibleContentsRect):
- (BlackBerry::WebKit::BackingStoreClient::transformedVisibleContentsRect):
- (BlackBerry::WebKit::BackingStoreClient::checkOriginOfCurrentScrollOperation):
-
-2012-10-13 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Fetch blit rects from a viewport accessor
- https://bugs.webkit.org/show_bug.cgi?id=98581
- RIM PR 173292
-
- Reviewed by George Staikos.
- Internally reviewed by Arvid Nilsson.
-
- The long-standing userInterfaceBlittedVisibleContentsRect()
- method in WebPageClient has long been a major annoyance,
- as it returns the source rect for WebKit contents but in
- backingstore pixel coordinates. This makes it not only
- unwieldy but also terribly fragile, especially when
- both pinch zoom and a backingstore re-render both deal
- with the same rectangle. On different threads, even.
-
- BlackBerry::Platform now exposes a ViewportAccessor
- interface, which can be used to get the various rects
- in document coordinates or target pixel coordinates,
- both being a better choice than the ones dependent
- on an implentation detail.
-
- This commit makes use of this new functionality.
- Instead of relying on the passed rectangle to contain
- implicit information about the scale factor, we now
- track the scale of each backingstore geometry by making
- a snapshot of the current WebKit-thread scale when the
- geometry is generated. Once the geometry is swapped to
- the front, we can then calculate the remaining
- backingstore-to-viewport transformation in a threadsafe
- way. We now only calculate this if we actually blit from
- backingstore tiles and don't go through a configuration
- of pure accelerated compositing.
-
- As a result, we are now a lot more robust against
- synchonization issues related to backingstore
- geometry changes. As an additional gimmick, the scale
- is also stored with each tile buffer to doubly secure
- that a tile rendered in one scale is not transferred
- to a different geometry and then rendered there without
- being rerendered at the new scale, even if the rendered
- pixel coordinates are still the same.
-
- Having per-geometry scale information also opens up
- opportunities to further improve backingstore rendering
- later. For instance, we could pre-render a low-res
- version of the page onto one buffer and combine that one
- with a higher-res array of tiles covering a smaller area.
- Or we could steal some tiles from the front geometry to
- render them at a new scale while a pinch-zoom operation
- is in progress.
-
- No such thing is implemented in this patch though.
-
- In adapting/fixing the backingstore visualization
- debug mode and the default background painting in
- renderDirectToWindow(), we also introduce new
- ViewportAccessor subclasses that can subsequently
- be used to replace methods from WebPage and elsewhere.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
- (BlackBerry::WebKit::BackingStorePrivate::scroll):
- (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::scrollBackingStore):
- (BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::blitHorizontalScrollbar):
- (BlackBerry::WebKit::BackingStorePrivate::blitVerticalScrollbar):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::updateTileMatrixIfNeeded):
- (BlackBerry::WebKit::BackingStorePrivate::orientationChanged):
- (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
- (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
- * Api/BackingStore_p.h:
- (BlackBerry):
- (Platform):
- (BlackBerry::WebKit::BackingStoreGeometry::BackingStoreGeometry):
- (BlackBerry::WebKit::BackingStoreGeometry::scale):
- (BlackBerry::WebKit::BackingStoreGeometry::setScale):
- (BackingStoreGeometry):
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPage::webkitThreadViewportAccessor):
- (WebKit):
- * Api/WebPage.h:
- (Platform):
- * Api/WebPageClient.h:
- (Platform):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):
- * Api/WebPage_p.h:
- (WebKit):
- (WebPagePrivate):
- * WebKitSupport/BackingStoreTile.cpp:
- (BlackBerry::WebKit::TileBuffer::TileBuffer):
- (BlackBerry::WebKit::TileBuffer::isRendered):
- * WebKitSupport/BackingStoreTile.h:
- (TileBuffer):
- (BlackBerry::WebKit::TileBuffer::scale):
- (BlackBerry::WebKit::TileBuffer::setScale):
- * WebKitSupport/BackingStoreVisualizationViewportAccessor.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::BackingStoreVisualizationViewportAccessor):
- (BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::pixelContentsSize):
- (BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::documentContentsSize):
- (BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::pixelScrollPosition):
- (BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::documentScrollPosition):
- (BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::pixelViewportSize):
- (BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::documentViewportSize):
- (BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::destinationSurfaceOffset):
- (BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::scale):
- (BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::state):
- * WebKitSupport/BackingStoreVisualizationViewportAccessor.h: Added.
- (BlackBerry):
- (Platform):
- (WebKit):
- (BackingStoreVisualizationViewportAccessor):
- (BlackBerry::WebKit::BackingStoreVisualizationViewportAccessor::~BackingStoreVisualizationViewportAccessor):
- * WebKitSupport/WebKitThreadViewportAccessor.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::WebKitThreadViewportAccessor::WebKitThreadViewportAccessor):
- (BlackBerry::WebKit::WebKitThreadViewportAccessor::pixelContentsSize):
- (BlackBerry::WebKit::WebKitThreadViewportAccessor::documentContentsSize):
- (BlackBerry::WebKit::WebKitThreadViewportAccessor::pixelScrollPosition):
- (BlackBerry::WebKit::WebKitThreadViewportAccessor::documentScrollPosition):
- (BlackBerry::WebKit::WebKitThreadViewportAccessor::pixelViewportSize):
- (BlackBerry::WebKit::WebKitThreadViewportAccessor::documentViewportSize):
- (BlackBerry::WebKit::WebKitThreadViewportAccessor::destinationSurfaceOffset):
- (BlackBerry::WebKit::WebKitThreadViewportAccessor::scale):
- * WebKitSupport/WebKitThreadViewportAccessor.h: Added.
- (BlackBerry):
- (Platform):
- (WebKit):
- (WebKitThreadViewportAccessor):
- (BlackBerry::WebKit::WebKitThreadViewportAccessor::~WebKitThreadViewportAccessor):
-
-2012-10-11 Peter Wang <peter.wang@torchmobile.com.cn>
-
- [BlackBerry] Paused in Inspector, Browser doesn't exit cleanly
- https://bugs.webkit.org/show_bug.cgi?id=97962
-
- Reviewed by George Staikos.
-
- Before destroying webpage, close the inspector, so if the JSC is paused it will be resumed.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::destroy):
-
-2012-10-11 Konrad Piascik <kpiascik@rim.com>
-
- Web Inspector: node search does not work with elements on touch start listener
- https://bugs.webkit.org/show_bug.cgi?id=95252
-
- Reviewed by Pavel Feldman.
-
- Removed calls to InspectorInstrumentation that no didn't work anyway.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::touchEvent):
-
-2012-10-11 Chris Guan <chris.guan@torchmobile.com.cn>
-
- [Blackberry] makes NavigatorContentUtils work
- https://bugs.webkit.org/show_bug.cgi?id=99022
-
- Reviewed by Rob Buis.
-
- Because r126735 renamed RegisterProtocolHandler API to NavigatorContentUtils and
- r122810 added RegisterProtocolHandlerClient to the Modules/protocolhandler,
- we need sync up code:
- 1. Add NavigatorContentUtilsClientBlackBerry class.
- 2. use new API provideNavigatorContentUtilsTo.
-
- No new tests. Covered by existing tests.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebCoreSupport/NavigatorContentUtilsClientBlackBerry.cpp: Added.
- (WebCore):
- (WebCore::NavigatorContentUtilsClientBlackBerry::NavigatorContentUtilsClientBlackBerry):
- (WebCore::NavigatorContentUtilsClientBlackBerry::registerProtocolHandler):
- (WebCore::NavigatorContentUtilsClientBlackBerry::isProtocolHandlerRegistered):
- (WebCore::NavigatorContentUtilsClientBlackBerry::unregisterProtocolHandler):
- * WebCoreSupport/NavigatorContentUtilsClientBlackBerry.h: Added.
- (WebKit):
- (NavigatorContentUtilsClientBlackBerry):
- (WebCore::NavigatorContentUtilsClientBlackBerry::~NavigatorContentUtilsClientBlackBerry):
-
-2012-10-10 Lianghui Chen <liachen@rim.com>
-
- [BlackBerry] Fix assertion in NetworkJob::notifyChallengeResult.
- https://bugs.webkit.org/show_bug.cgi?id=97397
- Internal PR: 186597.
-
- Internally reviewed by Yong Li, Joe Mason.
- Reviewed by George Staikos.
-
- Update WebPage to use new AuthenticationChallengeManager.
- Register page creation/deletion and visibility change to the new
- AuthenticationChallengeManager.
- Initialize AuthenticationChallengeManager in GlobalInitialize() function.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::globalInitialize):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
- (BlackBerry::WebKit::WebPage::setVisible):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-10-10 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Do not perform backing store blit for animations during one-shot drawing synchronization
- https://bugs.webkit.org/show_bug.cgi?id=98944
-
- Reviewed by Rob Buis.
-
- Internally reviewed by: Arvid Nilsson.
- Internal PR 220014
- Prevent animations from causing a backing store blit during a
- one-shot drawing synchronization.
-
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):
-
-2012-10-10 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Fix crash for detached node when validating selection change.
- https://bugs.webkit.org/show_bug.cgi?id=98926
-
- Reviewed by Rob Buis.
-
- PR 220628.
-
- Guard against detached nodes when generating selection rect.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::visibleTextQuads):
-
-2012-10-10 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Adjust spell checking location to update after the cursor position is set.
- https://bugs.webkit.org/show_bug.cgi?id=98904
-
- Reviewed by Rob Buis.
-
- PR 215172.
-
- Delay calculation of caret position until it is updated on mouse release
- handling.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
- (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
-
-2012-10-10 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Suppress keyboard requests while processing spell checking suggestions unless focus change is occurring..
- https://bugs.webkit.org/show_bug.cgi?id=98903
-
- Reviewed by Rob Buis.
-
- PR 221143.
-
- Suppress keyboard state changes when they are not triggered by
- focus changes.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
- (BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
- * WebKitSupport/InputHandler.h:
-
-2012-10-09 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Cleanup FatFingers.cpp
- https://bugs.webkit.org/show_bug.cgi?id=98806
-
- Reviewed by Antonio Gomes.
-
- Cleanup namespace usage and sync up FatFingers.cpp.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::compareDistanceBetweenPoints):
- (BlackBerry::WebKit::FatFingers::findBestPoint):
- (BlackBerry::WebKit::FatFingers::checkFingerIntersection):
- (BlackBerry::WebKit::FatFingers::findIntersectingRegions):
- (BlackBerry::WebKit::FatFingers::checkForClickableElement):
- (BlackBerry::WebKit::FatFingers::checkForText):
- (BlackBerry::WebKit::FatFingers::getNodesFromRect):
- (BlackBerry::WebKit::FatFingers::getRelevantInfoFromPoint):
-
-2012-10-09 Antonio Gomes <agomes@rim.com>
-
- Get rid of FIXED_POSITION_CREATES_STACKING_CONTEXT in favor of Settings::fixedPositionCreatesStackingContext()
- https://bugs.webkit.org/show_bug.cgi?id=98756
-
- Reviewed by Rob Buis.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
-
-2012-10-09 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Need API to control the DNS Prefetching
- https://bugs.webkit.org/show_bug.cgi?id=98713
-
- Reviewed by George Staikos.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPage::enableDNSPrefetch):
- (WebKit):
- (BlackBerry::WebKit::WebPage::disableDNSPrefetch):
- (BlackBerry::WebKit::WebPage::isDNSPrefetchEnabled):
- * Api/WebPage.h:
-
-2012-10-07 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
-
- Rename first/second to key/value in HashMap iterators
- https://bugs.webkit.org/show_bug.cgi?id=82784
-
- Reviewed by Eric Seidel.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
- (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
- * WebCoreSupport/NotificationPresenterImpl.cpp:
- (WebCore::NotificationPresenterImpl::cancel):
- (WebCore::NotificationPresenterImpl::onPermission):
- (WebCore::NotificationPresenterImpl::notificationClicked):
- * WebCoreSupport/UserMediaClientImpl.cpp:
- (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
- * WebKitSupport/FrameLayers.cpp:
- (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
- (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
- (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
-
-2012-10-05 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Implement TestRunner.setMockDeviceOrientation
- https://bugs.webkit.org/show_bug.cgi?id=98542
-
- Reviewed by Antonio Gomes.
-
- PR 120681
-
- Provide framework for mock device motion.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (toDeviceOrientationClientMock):
- (DumpRenderTreeSupport::setMockDeviceOrientation):
- * WebKitSupport/DumpRenderTreeSupport.h:
- (DumpRenderTreeSupport):
-
-2012-10-05 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Remove unnecessary html file.
- https://bugs.webkit.org/show_bug.cgi?id=98531
-
- Reviewed by Yong Li.
-
- We now just use Source/WebCore/inspector/front-end/inspector.html
- instead.
-
- * WebCoreSupport/inspectorBB.html: Removed.
-
-2012-10-05 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Find a proper fix for the WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableNodeAfterInRegionScrolling hack
- https://bugs.webkit.org/show_bug.cgi?id=98517
- PR #137382
-
- Reviewed by Yong Li.
-
- We've generalized composited in-region scrolling, originally only applicable
- to block elements, to inner frames (see PR #197093). Past that, we no longer
- need to force repaints of offscreen areas when we finish scrolling, since translating
- the Layer takes care of properly invalidating it. Thus, remove this method.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-10-05 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Update default input support style for single line inputs.
- https://bugs.webkit.org/show_bug.cgi?id=98510
-
- Reviewed by Antonio Gomes.
-
- PR 219588.
-
- Update style calculations to eliminate automatic changes
- by default on single line input fields.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::inputStyle):
-
-2012-10-04 Simon Fraser <simon.fraser@apple.com>
-
- Final part of "sync" to "flush" renaming
- https://bugs.webkit.org/show_bug.cgi?id=98430
-
- Reviewed by Tim Horton.
-
- Change method names on GraphicsLayer and GraphicsLayerClient that
- refer to "sync" to use the term "flush" instead, to be consistent
- with the rest of the code.
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::notifyFlushRequired):
- * Api/WebOverlay_p.h:
- (WebOverlayPrivateWebKitThread):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::notifyFlushRequired):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/DefaultTapHighlight.cpp:
- (BlackBerry::WebKit::DefaultTapHighlight::notifyFlushRequired):
- * WebKitSupport/DefaultTapHighlight.h:
- (DefaultTapHighlight):
- * WebKitSupport/InspectorOverlayBlackBerry.cpp:
- (BlackBerry::WebKit::InspectorOverlay::notifyFlushRequired):
- * WebKitSupport/InspectorOverlayBlackBerry.h:
- (InspectorOverlay):
- * WebKitSupport/SelectionOverlay.cpp:
- (BlackBerry::WebKit::SelectionOverlay::notifyFlushRequired):
- * WebKitSupport/SelectionOverlay.h:
- (SelectionOverlay):
-
-2012-10-04 Simon Fraser <simon.fraser@apple.com>
-
- Standardize on "flush" terminology for compositing layer flushing/syncing
- https://bugs.webkit.org/show_bug.cgi?id=98321
-
- Reviewed by Simon Fraser.
-
- Rename compositing-related methods that refer to "syncing" to instead
- refer to "flushing".
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::scheduleCompositingLayerFlush):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2012-10-03 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Exiting fullscreen does not set the correct scroll position (Part II)
- https://bugs.webkit.org/show_bug.cgi?id=97917
- PR #212920
-
- Reviewed by Yong Li.
- Internally reviewed by Jacky Jiang.
-
- Inform the client of transform change so that we avoid
- getting stuck on overscroll.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
-
-2012-10-03 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Implementing the NetworkInfo API for BB port
- https://bugs.webkit.org/show_bug.cgi?id=98273
-
- Reviewed by Rob Buis.
-
- Adding new class NetworkInfoClientBlackBerry to implement
- NetworkInfoClient for the BlackBerry port.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebCoreSupport/NetworkInfoClientBlackBerry.cpp: Added.
- (WebCore):
- (WebCore::NetworkInfoClientBlackBerry::NetworkInfoClientBlackBerry):
- (WebCore::NetworkInfoClientBlackBerry::startUpdating):
- (WebCore::NetworkInfoClientBlackBerry::stopUpdating):
- (WebCore::NetworkInfoClientBlackBerry::bandwidth):
- (WebCore::NetworkInfoClientBlackBerry::metered):
- (WebCore::NetworkInfoClientBlackBerry::onCurrentNetworkChange):
- (WebCore::NetworkInfoClientBlackBerry::onCurrentCellularTypeChange):
- * WebCoreSupport/NetworkInfoClientBlackBerry.h: Added.
- (WebKit):
- (WebCore):
- (NetworkInfoClientBlackBerry):
- (WebCore::NetworkInfoClientBlackBerry::~NetworkInfoClientBlackBerry):
-
-2012-10-02 Anders Carlsson <andersca@apple.com>
-
- Change most GraphicsLayer::create calls to use the version that takes a GraphicsLayerFactory
- https://bugs.webkit.org/show_bug.cgi?id=98217
-
- Reviewed by Andreas Kling.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::overlayLayer):
-
-2012-10-02 Yong Li <yoli@rim.com>
-
- [BlackBerry] Prevent window.close() from closing pages that are not opened by JS
- https://bugs.webkit.org/show_bug.cgi?id=98190
-
- Reviewed by Antonio Gomes.
-
- RIM PR# 217812.
- Only pages opened by JS can be closed by JS.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::closeWindowSoon):
-
-2012-10-01 Brady Eidson <beidson@apple.com>
-
- Remove the Safari 2 -> Safari 3 icon database import code.
- https://bugs.webkit.org/show_bug.cgi?id=98113
-
- Reviewed by Maciej Stachowiak.
-
- Nuke the performImport() IconDatabaseClient method.
-
- * WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
- * WebCoreSupport/IconDatabaseClientBlackBerry.h:
- (IconDatabaseClientBlackBerry):
-
-2012-10-01 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Remove unused hasPendingScrollOrZoomEvent() interface.
- https://bugs.webkit.org/show_bug.cgi?id=98107
- RIM PR 173292
-
- Reviewed by George Staikos.
-
- This method is not referenced anywhere anymore,
- so we should stop requiring it from WebPageClient
- implementations.
-
- * Api/WebPageClient.h:
-
-2012-10-01 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Remove suppressing of VKB hiding when processing changes.
- https://bugs.webkit.org/show_bug.cgi?id=98023
-
- Reviewed by Rob Buis.
-
- PR 215881.
-
- Allow JS to blur the input field while processing key handling.
-
- Reviewed Internally by Chris Hutten-Czapski
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
-
-2012-09-28 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Update the value of window.devicePixelRation when it is set programmatically
- https://bugs.webkit.org/show_bug.cgi?id=97512
-
- Reviewed by Rob Buis.
-
- RIM PR 213984
- Set the deviceScaleFactor of the page explicity when the
- devicePixelRatio is changed.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
-
-2012-09-28 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
-
- Code inside FrameLoaderClient::canShowMIMEType() implementations can be shared among different WK ports
- https://bugs.webkit.org/show_bug.cgi?id=97547
-
- Reviewed by Adam Barth.
-
- Newly added WebCore::MIMETypeRegistry::canShowMIMEType() function is used
- inside WebCore::FrameLoaderClientBlackBerry::canShowMIMEType().
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::canShowMIMEType):
-
-2012-09-28 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Hard to tap on x to clear a text field
- https://bugs.webkit.org/show_bug.cgi?id=97923
-
- Reviewed by Antonio Gomes.
-
- Allow the shadow element for 'X' to be clickable and do not prefer
- shadow content-editable div's over the 'X'.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::isElementClickable):
-
-2012-09-28 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Extend composited in-region scrolling to iframes/frames
- https://bugs.webkit.org/show_bug.cgi?id=97922
- PR #197093
-
- Reviewed by Yong Li.
- Internaly reviewed by Arvid Nilsson.
-
- Add support for composited scrolling in a inner frame level:
-
- 1) When creating an InRegionScrollableArea, for a inner scrollable frame,
- cache and camouflag the appropriated scroll layer (i.e. RenderLayerCompositor::scrollLayer);
-
- 2) Differentiate what type of scroll target we are at: BlockElement or
- InnerFrame;
-
- 3) Change the signature of the public methods to support and newly passed
- in ScrollTarget parameter;
- As a side note, this parameter is needed in order to know what class to static_cast
- the GraphicsLayer::client to: in the case of a composited scrollable inner frame, the client
- is a RenderLayerCompositor; in case of a composited scrollable block element, the client
- is a RenderLayerBacking.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScroller::setScrollPositionWebKitThread):
- (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
- * Api/InRegionScroller.h:
- * Api/InRegionScroller_p.h:
- (InRegionScrollerPrivate):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (WebCore::ChromeClientBlackBerry::allowedCompositingTriggers):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2012-09-28 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Exiting fullscreen does not set the correct scroll position
- https://bugs.webkit.org/show_bug.cgi?id=97917
- PR #212920
-
- Reviewed by Yong Li.
- Internally reviewed by Jacky Jiang.
-
- Restore the zoom level and scroll position at the time when know
- the fullscreen exit routine has ended (i.e. in ::setViewportSize
- instead of ::exitFullScreenForElement).
-
- Also patch caches now the scroll position instead of only the
- "x scroll position.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
- (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-09-28 Kent Tamura <tkent@chromium.org>
-
- Clean up Localizer-related functions
- https://bugs.webkit.org/show_bug.cgi?id=97899
-
- Reviewed by Kentaro Hara.
-
- * WebCoreSupport/ColorPickerClient.cpp:
- (WebCore::ColorPickerClient::localizer): Follow Document::getLocalizer renaming.
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore::SelectPopupClient::localizer): ditto.
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::localizer): ditto.
-
-2012-09-28 Genevieve Mak <gmak@rim.com>
-
- [BLACKBERRY] Add isVisible method to WebTapHighlight
- https://bugs.webkit.org/show_bug.cgi?id=97915
-
- Reviewed by Rob Buis.
-
- Reviewed Internally By Andrew Lo
- The isVisible() method lets us avoid dispatching to the webkit thread
- if the tap highlight isn't visible.
- Always clear tap highlight on Touch up when converting Touch Events
- to Mouse Events.
-
- * Api/WebTapHighlight.h:
- * WebKitSupport/DefaultTapHighlight.h:
- (BlackBerry::WebKit::DefaultTapHighlight::isVisible):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-09-28 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Should suspend page's scripted animations when WebPage is invisible
- https://bugs.webkit.org/show_bug.cgi?id=97856
-
- Reviewed by Antonio Gomes.
-
- Suspend page animations when setting WebPage invisible, resume when visible.
- Internal PR212788.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setVisible):
-
-2012-09-28 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Destroy thread-specific data for Platform::Graphics::Buffer on the right thread
- https://bugs.webkit.org/show_bug.cgi?id=97674
-
- Reviewed by Rob Buis.
-
- A new API was added to BlackBerry::Platform::Graphics for destroying
- thread-specific data generated on the compositing thread when we blit
- buffers. The buffers are otherwise created and destroyed on the WebKit
- thread, which doesn't give platform any opportunity to destroy the
- thread-specific data.
-
- This patch adds calls to the new API to avoid leaking resources.
-
- Reviewed internally by Jakob Petsovits and Filip Spacek.
-
- PR 214644
-
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::initialize):
- (BlackBerry::WebKit::SurfacePool::createPlatformGraphicsContext):
- (BlackBerry::WebKit::SurfacePool::lockTileRenderingSurface):
- (BlackBerry::WebKit::SurfacePool::releaseTileRenderingSurface):
- (BlackBerry::WebKit::SurfacePool::initializeVisibleTileBuffer):
- (BlackBerry::WebKit::SurfacePool::createBuffers):
- (BlackBerry::WebKit::SurfacePool::releaseBuffers):
-
-2012-09-27 Kent Tamura <tkent@chromium.org>
-
- Use Localizer in PagePopupController
- https://bugs.webkit.org/show_bug.cgi?id=97862
-
- Reviewed by Hajime Morita.
-
- We need to implement PagePopupClient::localizer. These clients know the
- host elements. Localizer implementations get Localizer objects from the
- owner documents of the elements for the browser locale.
-
- * WebCoreSupport/ColorPickerClient.cpp:
- (WebCore::ColorPickerClient::localizer): Added.
- * WebCoreSupport/ColorPickerClient.h:
- (ColorPickerClient): Declare "localizer."
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore::SelectPopupClient::localizer): Added.
- * WebCoreSupport/DatePickerClient.h:
- (DatePickerClient): Declare "localizer."
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::localizer): Added.
- * WebCoreSupport/SelectPopupClient.h:
- (SelectPopupClient): Declare "localizer."
-
-2012-09-27 Charles Wei <charles.wei@torchmobile.com.cn>
-
- Empty URL gets through to acceptNavigationRequest()
- https://bugs.webkit.org/show_bug.cgi?id=97076
-
- Reviewed by George Staikos.
-
- Invalid URLs in iframe src results in an empty URL in platform request, we should reject
- such URL as early as we identify it.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
-
-2012-09-26 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Remove blitContents() in favor of blitVisibleContents().
- https://bugs.webkit.org/show_bug.cgi?id=97718
-
- Reviewed by Antonio Gomes.
-
- After the last calling sites of blitContents() have
- been removed or reworked, the actual method itself
- can now retire. All blits now go through
- blitVisibleContents(). The knowledge that we always
- blit the full visible surface can facilitate further
- optimizations; we will get to that in time.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::suspendScreenAndBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenAndBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- * Api/BackingStore.h:
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::transitionToCommittedForNewPage):
-
-2012-09-26 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Update padding in ensureFocusTextElementVisible to be DPI independent.
- https://bugs.webkit.org/show_bug.cgi?id=97684
-
- Reviewed by Rob Buis.
-
- Update padding in ensureFocusTextElementVisible to be DPI
- independent and relative to the current zoom level.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2012-09-25 Genevieve Mak <gmak@rim.com>
-
- Fat Fingers doesn't work on non-scrollable pages.
- PR #209609
- https://bugs.webkit.org/show_bug.cgi?id=97607
-
- Reviewed by Antonio Gomes.
-
- Only bypass Fat Fingers and use the actual touch point if its specifically
- requested and the page has a mouse move listener or if using the Touch Event
- Mode meta-tag.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-09-25 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Make COMPUTED_GOTO part of the HAVE section
- https://bugs.webkit.org/show_bug.cgi?id=97600
-
- Reviewed by Yong Li.
-
- Also get rid of COMPUTED_GOTO_INTERPRETER and add COMPUTED_GOTO_OPCODES.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
- * WebCoreSupport/AboutDataHaveFeatures.in:
-
-2012-09-25 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Suspend the backingstore while adjusting the view on input field focus.
- https://bugs.webkit.org/show_bug.cgi?id=97595
-
- Reviewed by Antonio Gomes.
-
- PR 188751.
-
- Avoid jumpiness when both a scroll and zoom are required to
- move an input field into focus by suspending the backingstore.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2012-09-25 Pratik Solanki <psolanki@apple.com>
-
- Remove HAVE_SBRK since we never set use_sbrk to true
- https://bugs.webkit.org/show_bug.cgi?id=97525
- <rdar://problem/12363601>
-
- Reviewed by Geoffrey Garen.
-
- * WebCoreSupport/AboutDataHaveFeatures.in: Remove SBRK from list.
-
-2012-09-25 Beth Dakin <bdakin@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=95397
- Need to merge didFirstVisuallyNonEmptyLayout and
- didNewFirstVisuallyNonEmptyLayout
- -and corresponding-
- <rdar://problem/10791680>
-
- Reviewed by Sam Weinig.
-
- Remove dispatchDidFirstLayout,
- dispatchDidFirstVisuallyNonEmptyLayout, and
- dispatchDidNewFirstVisuallyNonEmptyLayout. Their functionality
- is now replaced by dispatchDidLayout(LayoutMilestoneOptions)
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
- It is now necessary to opt into getting any of the
- "layout milestone" notifications.
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
-
-2012-09-25 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] When zooming into an input field take the current zoom level into account.
- https://bugs.webkit.org/show_bug.cgi?id=97594
-
- Reviewed by Antonio Gomes.
-
- PR 188751.
-
- Perform the zoom action prior to scroll to avoid breaking scrolling
- rules. Take the current scale into account when calculating the
- zoom factor.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2012-09-25 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Handling required for multiple consecutive whitespace
- https://bugs.webkit.org/show_bug.cgi?id=97575
-
- Reviewed by Rob Buis.
-
- PR211670
- Need specific handling in the case where we have multiple
- consecutive whitespaces which exceeds our character limit. This
- breaks some of the functionality employed with the visible_units
- methods used here to tranverse the text.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::trimWhitespaceFromRange):
- (DOMSupport):
- (BlackBerry::WebKit::DOMSupport::isEmptyRangeOrAllSpaces):
- * WebKitSupport/DOMSupport.h:
- (WebCore):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::spellCheckBlock):
- (BlackBerry::WebKit::InputHandler::getRangeForSpellCheckWithFineGranularity):
-
-2012-09-24 Mark Lam <mark.lam@apple.com>
-
- Deleting the classic interpreter and cleaning up some build options.
- https://bugs.webkit.org/show_bug.cgi?id=96969.
-
- Reviewed by Geoffrey Garen.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2012-09-24 Benjamin Poulain <bpoulain@apple.com>
-
- Fix Geolocation error reporting in the test support
- https://bugs.webkit.org/show_bug.cgi?id=97386
-
- Reviewed by Sam Weinig.
-
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::setMockGeolocationPositionUnavailableError):
- * WebKitSupport/DumpRenderTreeSupport.h:
- (DumpRenderTreeSupport):
-
-2012-09-24 Otto Derek Cheung <otcheung@rim.com>
-
- [BlackBerry] Reverting implementation for 407 error pages
- https://bugs.webkit.org/show_bug.cgi?id=97455
-
- Reviewed by Rob Buis.
-
- Revert "[BlackBerry] Really fix bug 95488 that user can get the
- authentication challenge dialog while the other tab has focus."
- https://bugs.webkit.org/show_bug.cgi?id=97348
-
- This reverts commit 0cffe01961fb80204138505bcec29a83818efb73.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::globalInitialize):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
- (BlackBerry::WebKit::WebPage::setVisible):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-09-24 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Add cookie database API
- https://bugs.webkit.org/show_bug.cgi?id=97102
-
- Reviewed by Antonio Gomes.
-
- The cookie database is exposed through WebCookieJar, which has only two
- methods: cookies() and setCookies().
-
- Also add a new WebString::fromUTF8 overload that takes a const char*
- and a length, in order to avoid a strlen call when converting from
- other string classes to WebString. This is useful for callers of the
- new cookie API when converting cookies to WebString.
-
- Reviewed internally by Otto D. Cheung.
-
- PR 209282
-
- * Api/WebCookieJar.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::WebCookieJar::WebCookieJar):
- (BlackBerry::WebKit::WebCookieJar::cookies):
- (BlackBerry::WebKit::WebCookieJar::setCookies):
- * Api/WebCookieJar.h: Added.
- (WebKit):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
- (BlackBerry::WebKit::WebPage::cookieJar):
- (WebKit):
- * Api/WebPage.h:
- (WebKit):
- * Api/WebPage_p.h:
- (WebKit):
- (WebPagePrivate):
- * Api/WebString.cpp:
- (BlackBerry::WebKit::WebString::fromUtf8):
- (WebKit):
- * Api/WebString.h:
-
-2012-09-21 Lianghui Chen <liachen@rim.com>
-
- [BlackBerry] Really fix bug 95488 that user can get the authentication challenge dialog while the other tab has focus.
- https://bugs.webkit.org/show_bug.cgi?id=97348
- Internal PR: 186597.
-
- Internally reviewed by Yong Li, Joe Mason.
- Reviewed by Yong Li.
-
- Update WebPage to use new AuthenticationChallengeManager.
- Register page creation/deletion and visibility change to the new
- AuthenticationChallengeManager.
- Initialize AuthenticationChallengeManager in GlobalInitialize() function.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::globalInitialize):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
- (BlackBerry::WebKit::WebPage::setVisible):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-09-21 Charles Wei <charles.wei@torchmobile.com.cn>
-
- Wrong seperator for viewport meta in Popup scripts
- https://bugs.webkit.org/show_bug.cgi?id=97313
-
- Reviewed by Yong Li.
-
- The valid seperator for viewport meta is ',' instead of ';'.
-
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::PagePopupBlackBerry::generateHTML):
-
-2012-09-21 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Remove obsolete compositing surface code
- https://bugs.webkit.org/show_bug.cgi?id=97314
-
- Reviewed by Antonio Gomes.
-
- The removed code allowed rendering of sublayers to a separate offscreen
- surface.
-
- Now that we composite root layer and all sublayers to the window
- surface, this code is not needed anymore. In addition, we save some
- memory by not allocating the unused offscreen surface.
-
- PR 208038.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::suspendScreenAndBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
- (BlackBerry::WebKit::BackingStorePrivate::drawAndBlendLayersForDirectRendering):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::suspendBackingStore):
- (BlackBerry::WebKit::WebPagePrivate::resizeSurfaceIfNeeded):
- (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
- (BlackBerry::WebKit::WebPagePrivate::setRootLayerCompositingThread):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/BackingStoreCompositingSurface.cpp: Removed.
- * WebKitSupport/BackingStoreCompositingSurface.h: Removed.
- * WebKitSupport/GLES2Context.cpp:
- (BlackBerry::WebKit::GLES2Context::buffer):
- (BlackBerry::WebKit::GLES2Context::surfaceSize):
- (BlackBerry::WebKit::GLES2Context::swapBuffers):
- * WebKitSupport/GLES2Context.h:
- (GLES2Context):
- * WebKitSupport/SurfacePool.cpp:
- (WebKit):
- (BlackBerry::WebKit::SurfacePool::SurfacePool):
- (BlackBerry::WebKit::SurfacePool::initialize):
- * WebKitSupport/SurfacePool.h:
- (SurfacePool):
-
-2012-09-20 Peter Wang <peter.wang@torchmobile.com.cn>
-
- [BlackBerry] To support "Frames View" of "TimeLine" panel in Inspector
- https://bugs.webkit.org/show_bug.cgi?id=96077
-
- Reviewed by Pavel Feldman.
-
- A minor modification to make the inspecting results more accurate.
- Internally reviewd by Arvid, Robin.C, and Konrad.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::renderJob):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::RenderQueue::render):
-
-2012-09-19 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] Basic authentication challenge credentials for stored credentials again after restarting browser
- https://bugs.webkit.org/show_bug.cgi?id=96362
-
- Reviewed by Rob Buis.
-
- Make the FrameLoaderClient use credential storage according to the macro
- BLACKBERRY_CREDENTIAL_PERSIST
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::shouldUseCredentialStorage):
- (WebCore):
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
-2012-09-19 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] After zooming into an input field, zoom out when focus is lost.
- https://bugs.webkit.org/show_bug.cgi?id=97128
-
- Reviewed by Rob Buis.
-
- When the page has automatically zoomed in for input
- focus, unzoom it when input focus is lost or keyboard hidden.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2012-09-19 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Clean up the SpellingLog output
- https://bugs.webkit.org/show_bug.cgi?id=97129
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
-
-2012-09-19 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Add SpellingLog for spell checking options request.
- https://bugs.webkit.org/show_bug.cgi?id=97125
-
- Reviewed by Rob Buis.
-
- Add spell checking log to indicate the calculated
- text position for spell checking option requests.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
-
-2012-09-19 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Add function playerId() in class PageClientBlackBerry
- https://bugs.webkit.org/show_bug.cgi?id=97099
-
- Reviewed by Yong Li.
-
- Implemented PageClientBlackBerry::playerID() in class WebPagePrivate,
- and replaced the implementation of FrameLoaderClientBlackBerry::playerId().
-
- Internally reviewed by Charles Wei.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::playerID):
- (WebKit):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::playerId):
-
-2012-09-19 Abbas Sherawala <asherawala@rim.com>
-
- [BlackBerry] BackingStorePrivate::resumeScreenAndBackingStoreUpdates more atomic
- Added a missing 'if' statement.
- https://bugs.webkit.org/show_bug.cgi?id=96925
-
- PR #180866
-
- Internally Reviewed by Antonio Gomes.
-
- Adding an 'if' statement which should have been in PR # 180866 (SHA:b9c06af395c22e)
-
- Reviewed by Antonio Gomes.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenAndBackingStoreUpdates):
-
-2012-09-18 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Use didCancel and didSucceed instead of didCheckCancel and didCheckSucceed
- https://bugs.webkit.org/show_bug.cgi?id=97033
-
- Reviewed by Rob Buis.
-
- Using these preferred public methods (the latter has a note to be made private) ensures that
- the right SpellChecker object is being called during the callback in spellCheckingRequestProcessed
- and spellCheckingRequestCancelled.
-
- Internally reviewed by Mike Fenton.
-
- By referencing the TextCheckingRequest object's methods, we don't need to keep track of the associated
- SpellChecker for each request. Removing much of the code that was put in place incorrectly to achieve this.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
- (BlackBerry::WebKit::InputHandler::getSpellChecker):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2012-09-18 Jessica Cao <jecao@rim.com>
-
- [BlackBerry] Date picker isn't inputting after 'OK'
- https://bugs.webkit.org/show_bug.cgi?id=97031
-
- PR208052
-
- Reviewed by Rob Buis
-
- Checking for !values.contains("-1") will match valid strings like "2012-09-18". Use value != "-1" instead.
-
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore::DatePickerClient::setValueAndClosePopup):
-
-2012-09-18 Yong Li <yoli@rim.com>
-
- [BlackBerry] Popup page should reference the client with a weak pointer
- https://bugs.webkit.org/show_bug.cgi?id=97028
-
- Reviewed by Rob Buis.
-
- RIM PR# 209847.
- Internally reviewed by Mike Fenton.
-
- Store the pointer in a ref-coutned shared object, and clear the pointer
- when the client is going to be destroyed, so it won't be accessed by
- the JS function afterwards.
-
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::PagePopupBlackBerry::PagePopupBlackBerry):
- (WebCore::PagePopupBlackBerry::~PagePopupBlackBerry):
- (WebCore::PagePopupBlackBerry::init):
- (WebCore::setValueAndClosePopupCallback):
- (WebCore::popUpExtensionFinalize):
- (WebCore::PagePopupBlackBerry::installDOMFunction):
- (WebCore::PagePopupBlackBerry::closePopup):
- * WebCoreSupport/PagePopupBlackBerry.h:
- (PagePopupBlackBerry):
- (SharedClientPointer):
- (WebCore::PagePopupBlackBerry::SharedClientPointer::SharedClientPointer):
- (WebCore::PagePopupBlackBerry::SharedClientPointer::clear):
- (WebCore::PagePopupBlackBerry::SharedClientPointer::get):
-
-2012-09-18 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Prevent scroll adjustment of input fields when region of interest mechanism active
- https://bugs.webkit.org/show_bug.cgi?id=96750
-
- Reviewed by Antonio Gomes.
-
- The region of interest mechanism replaces the scrolling/zooming
- functionality in InputHandler::ensureFocusTextElementVisible().
-
- We introduce a new fine-grained setting for the various adjustment
- modes. The WebKit embedder can disable all scroll types in favor of the
- region of interest mechanism by using the new setting.
-
- PR #208387
-
- Reviewed internally by Mike Fenton.
-
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::configPage):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- * WebKitSupport/InputHandler.h:
-
-2012-09-17 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Remove dysfunctional zoom blit in setViewportSize().
- https://bugs.webkit.org/show_bug.cgi?id=96954
- PR 178411
-
- Reviewed by Antonio Gomes.
-
- The blitContents() call removed by this patch used to
- be part of scheduleZoomAboutPoint(). Its goal was to
- display a preview of the zoomed contents, primarily
- when auto-zoomed after rotation. Nested inside a pair
- of screen suspend/resume calls, it has been a pointless
- no-op for a while.
-
- Antonio's recent change to remove scheduleZoomAboutPoint()
- and call zoomAboutPoint() from setViewportSize() directly
- (the only call site) obsoletes the call completely.
- The zoomAboutPoint() call itself will cause a re-render
- and blit right away, so we don't care about any preview.
- zoomAboutPoint() will also take care of the necessary
- screen/backingstore suspension.
-
- The result is a vastly simplified block of code.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
-
-2012-09-17 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] [FullScreen] entering/leaving fullscreen results in temporary glitches on the screen
- https://bugs.webkit.org/show_bug.cgi?id=96927
- PR #180866
-
- Reviewed by Yong Li.
-
- Suspend backing store and screen updates while entering fullscreen,
- and only resume at the end, when viewport is resized.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::enterFullScreenForElement):
- (WebCore::ChromeClientBlackBerry::exitFullScreenForElement):
-
-2012-09-17 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Fix compile problems in WebKit/blackberry
- https://bugs.webkit.org/show_bug.cgi?id=96926
-
- Reviewed by Antonio Gomes.
-
- This code is slightly out of date and so will not compile, fix it.
-
- * WebCoreSupport/BatteryClientBlackBerry.cpp:
- (WebCore::BatteryClientBlackBerry::BatteryClientBlackBerry):
- * WebCoreSupport/BatteryClientBlackBerry.h:
- (WebKit):
- * WebCoreSupport/CredentialTransformData.h:
- * WebCoreSupport/DeviceOrientationClientBlackBerry.cpp:
- (DeviceOrientationClientBlackBerry::onOrientation):
- * WebCoreSupport/InspectorClientBlackBerry.h:
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isDateTimeInputField):
- (BlackBerry::WebKit::DOMSupport::isTextBasedContentEditableElement):
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests):
- * WebKitSupport/InPageSearchManager.cpp:
- (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
-
-2012-09-17 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] BackingStorePrivate::resumeScreenAndBackingStoreUpdates more atomic
- https://bugs.webkit.org/show_bug.cgi?id=96925
-
- [FullScreen] entering/leaving fullscreen results in temporary glitches on the screen (part 2/3)
- PR #180866
-
- Reviewed by Rob Buis.
- Internally reviewed by Arvid Nilsson.
-
- Paraphrasing Arvid "resumeBackingStore will be a truly atomic operation.
- Well more atomic than it was before, with regards to a mix of accelerated and
- non-accelerated compositing content".
-
- I.e. by committing the root layer (if needed) when resuming the Backing
- Store, we call blitVisibleContents right way, so we are actually shortcutting when
- AC content will get on screen.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenAndBackingStoreUpdates):
-
-2012-09-17 Peter Wang <peter.wang@torchmobile.com.cn>
-
- [BlackBerry] To support "Frames View" of "TimeLine" panel in Inspector
- https://bugs.webkit.org/show_bug.cgi?id=96077
-
- Reviewed by Rob Buis.
-
- Invoke the "instrumentBeginFrame" and "instrumentCancelFrame" at the start and end of processing
- render message to record one time of page's update.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::instrumentBeginFrame):
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::instrumentCancelFrame):
- * Api/BackingStore_p.h:
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::RenderQueue::render):
-
-2012-09-17 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Support copying image data in WebOverlay.
- https://bugs.webkit.org/show_bug.cgi?id=96684
- RIM PR 195444
-
- Reviewed by Rob Buis.
- Internally reviewed by Arvid Nilsson.
-
- The publicly exposed WebOverlay class provides a method
- setContentsToImage() to assign a pointer to pixel data,
- which is later used to provide texture data for the
- underlying compositing layer. This works well for static
- images that stay in memory and never change, but not
- so well for images with changing contents or where the
- image data is being reassigned from different image
- sources that are not constantly kept around in memory.
-
- Due to the delayed upload and delayed fetching of
- EGLImage data by the GPU, we shouldn't assume the caller
- to know how long the image should be retained. Instead,
- we should offer another method of setting image data
- that takes ownership of the pixel data.
-
- This patch adds an option to setContentsToImage() that
- copies the passed pixel data and doesn't destroy it
- until both the texture is destroyed and the image
- contents are changed. Using this method, the caller can
- withdraw the passed pixel array right after the
- setContentsToImage() call without consequences.
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlay::setContentsToImage):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setContentsToImage):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::WebOverlayLayerCompositingThreadClient):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::invalidate):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setContents):
- (WebKit):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::clearUploadedContents):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setContentsToColor):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::uploadTexturesIfNeeded):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::deleteTextures):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToImage):
- * Api/WebOverlay.h:
- * Api/WebOverlay_p.h:
- (WebOverlayPrivate):
- (WebOverlayPrivateWebKitThread):
- (WebOverlayLayerCompositingThreadClient):
- (WebOverlayPrivateCompositingThread):
-
-2012-09-14 Dana Jansens <danakj@chromium.org>
-
- Minimize collisions when hashing pairs
- https://bugs.webkit.org/show_bug.cgi?id=96022
-
- Reviewed by Adrienne Walker.
-
- Use WTF::pairIntHash() to hash a pair of integers.
-
- * WebKitSupport/TileIndexHash.h:
-
-2012-09-14 Genevieve Mak <gmak@rim.com>
-
- Always send mouse events on pages that don't scroll even if there
- is no mouse move listener attatched.
- PR #208228
- https://bugs.webkit.org/show_bug.cgi?id=96800
-
- Reviewed by Antonio Gomes.
-
- Reviewed Internally By Antonio Gomes.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-09-14 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Update the minimum zoom scale when focusing an input field.
- https://bugs.webkit.org/show_bug.cgi?id=96789
-
- Reviewed by Antonio Gomes.
-
- PR 188751.
-
- Increase the minimum font fix and base it on mm instead of pixels.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2012-09-13 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Remove the ability to schedule a zoom about point call.
- https://bugs.webkit.org/show_bug.cgi?id=96696
-
- [FullScreen] entering/leaving fullscreen results in temporary glitches on the screen (Part I)
- PR #180866
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Jacky Jiang and Arvid Nilsson.
-
- Patch replaces the async call to zoomAboutPoint (via scheduling it with a one-shot-0-timer).
- Instead, at its single call site, we inline most of the previous scheduleZoomAboutPoint code,
- and in the end call zoomAboutPoint directly.
-
- Change was estimulated by Arvid's comment on PRzilla: "There is no longer any reason to have
- zoom about point be async.. That was a hack I did for BB6, back when we were doing everything on the WK
- thread and needed manual time slicing betwren rendering and user interaction."
-
- The bigger goal though is to be able to remove screen glitches while entering/leaving
- fullscreen mode: since we could accurately use the count-based suspend/resume backing
- store mechanism to prevent it.
-
- * Api/WebPage.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-09-14 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Add renderTreeAsText API to WebPage
- https://bugs.webkit.org/show_bug.cgi?id=96629
-
- Reviewed by Antonio Gomes.
-
- This will be used for automated testing.
-
- PR #198595
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::renderTreeAsText):
- (WebKit):
- * Api/WebPage.h:
-
-2012-09-13 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Cleanup AboutDataEnableFeatures.in
- https://bugs.webkit.org/show_bug.cgi?id=96695
-
- Reviewed by Antonio Gomes.
-
- Remove unused features.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2012-09-13 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Rename InspectorOverlay in blackberry/WebKitSupport
- https://bugs.webkit.org/show_bug.cgi?id=96689
-
- Reviewed by Antonio Gomes.
-
- Rename to InspectorClientBlackBerry to avoid include problems.
-
- * WebCoreSupport/InspectorClientBlackBerry.h:
- * WebKitSupport/InspectorOverlayBlackBerry.cpp: Renamed from Source/WebKit/blackberry/WebKitSupport/InspectorOverlay.cpp.
- (WebKit):
- (BlackBerry::WebKit::InspectorOverlay::create):
- (BlackBerry::WebKit::InspectorOverlay::InspectorOverlay):
- (BlackBerry::WebKit::InspectorOverlay::notifySyncRequired):
- (BlackBerry::WebKit::InspectorOverlay::paintContents):
- (BlackBerry::WebKit::InspectorOverlay::showDebugBorders):
- (BlackBerry::WebKit::InspectorOverlay::showRepaintCounter):
- (BlackBerry::WebKit::InspectorOverlay::~InspectorOverlay):
- (BlackBerry::WebKit::InspectorOverlay::clear):
- (BlackBerry::WebKit::InspectorOverlay::update):
- * WebKitSupport/InspectorOverlayBlackBerry.h: Renamed from Source/WebKit/blackberry/WebKitSupport/InspectorOverlay.h.
- (WebCore):
- (WebKit):
- (InspectorOverlay):
- (InspectorOverlayClient):
- (BlackBerry::WebKit::InspectorOverlay::setClient):
- (BlackBerry::WebKit::InspectorOverlay::notifyAnimationStarted):
-
-2012-09-13 Antonio Gomes <agomes@rim.com>
-
- Unreviewed, warning fix left over from r128456 (bug 96645)
-
- * Api/InRegionScroller.cpp:
- (WebKit):
-
-2012-09-13 Genevieve Mak <gmak@rim.com>
-
- Continue to send mouse move events to a non-scrollable page
- even if they are not consumed.
- PR #207024
- https://bugs.webkit.org/show_bug.cgi?id=96655
-
- Reviewed by Antonio Gomes.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::isMainFrameScrollable):
- (WebKit):
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-09-13 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Missing conditions in InRegionScrollerPrivate::canScrollRenderBox
- https://bugs.webkit.org/show_bug.cgi?id=96660
-
- Reviewed by Antonio Gomes.
-
- PR: 207884
- According to RenderBox::canBeScrolledAndHasScrollableArea(), we should
- bail out early in InRegionScrollerPrivate::canScrollRenderBox() if the
- RenderBox's scroll height equals the client height and the scroll width
- equals the client width. Otherwise, we will miss the conditions.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::canScrollRenderBox):
-
-2012-09-13 Jessica Cao <jecao@rim.com>
-
- [BlackBerry] Page Popup for Month is non-functional.
- https://bugs.webkit.org/show_bug.cgi?id=96651
-
- Reviewed by Rob Buis.
-
- Hook up support for Month popup.
-
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore::DatePickerClient::generateHTML):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openDatePopup):
-
-2012-09-13 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] ASSERT failure in InRegionScrollableArea::InRegionScrollableArea
- https://bugs.webkit.org/show_bug.cgi?id=96645
- PR #207307
-
- Reviewed by George Staikos.
-
- We use canScrollRenderBox to promote the layer as scrollable instead
- of RenderBox::canScrollAndHasScrollableArea (see comment above the former).
- We should assert against the former as well.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::canScrollRenderBox):
- * Api/InRegionScroller_p.h:
- (WebCore):
- (InRegionScrollerPrivate):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2012-09-12 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r127876.
- http://trac.webkit.org/changeset/127876
- https://bugs.webkit.org/show_bug.cgi?id=96600
-
- mouse click doesn't work for spin button if spin button in
- iframe (Requested by yosin on #webkit).
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::contextNode):
- (BlackBerry::WebKit::WebPagePrivate::nodeForZoomUnderPoint):
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- (BlackBerry::WebKit::WebPage::nodeAtPoint):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::getNodesFromRect):
- (BlackBerry::WebKit::FatFingers::getRelevantInfoFromPoint):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):
-
-2012-09-12 Sami Kyostila <skyostil@google.com>
-
- Rename OVERFLOW_SCROLLING as ACCELERATED_OVERFLOW_SCROLLING
- https://bugs.webkit.org/show_bug.cgi?id=96251
-
- Reviewed by Simon Fraser.
-
- Rename OVERFLOW_SCROLLING as ACCELERATED_OVERFLOW_SCROLLING to better describe
- the feature it controls.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2012-09-11 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] add a way to overscroll non-overflown content
- https://bugs.webkit.org/show_bug.cgi?id=96331
- PR #195305
-
- Reviewed by Yong Li.
-
- Check -webkit-overflow-scrolling value for '-blackberry-touch' instead
- of checking a custom HTML5 attribute.
-
- No behavioural change. Mostly a rework of r128142.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::canScrollRenderBox):
-
-2012-09-11 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] make pickers/dialogs use appendLiteral
- https://bugs.webkit.org/show_bug.cgi?id=96424
-
- Reviewed by Antonio Gomes.
-
- PR 204032
-
- Other pickers were updated in r128204.
-
- * WebCoreSupport/ColorPickerClient.cpp:
- (WebCore::ColorPickerClient::generateHTML):
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::PagePopupBlackBerry::generateHTML):
-
-2012-09-11 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Fix history navigation for error pages.
- https://bugs.webkit.org/show_bug.cgi?id=96410
-
- Reviewed by Rob Buis.
-
- Fix how history navigation handles restoring view state when navigating between error pages.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::FrameLoaderClientBlackBerry):
- (WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem):
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
-2012-09-11 Jinwoo Song <jinwoo7.song@samsung.com>
-
- Deploy StringBuilder::appendNumber() and StringBuilder::appendLiteral() in more places
- https://bugs.webkit.org/show_bug.cgi?id=96344
-
- Reviewed by Benjamin Poulain.
-
- Use StringBuilder::appendNumber() instead of String::number(). Also deploy
- StringBuilder::appendLiteral() instead of String::append() in the surrounding code.
-
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore::DatePickerClient::generateHTML):
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::generateHTML):
-
-2012-09-11 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] InRegion scrollable area dangling pointers were accessed in UI thread
- https://bugs.webkit.org/show_bug.cgi?id=96318
-
- Reviewed by Antonio Gomes.
-
- PR: 204066
- Dangling pointers were accessed in UI thread, as the actual InRegion
- scrollable areas of WebKit side had been destroyed before that in
- WebKit thread after UI thread set scrolling to false.
- Notify the client side to clear InRegion scrollable areas before we
- destroy them in WebKit side.
-
- Internally reviewed by Gen Mak and George Staikos.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped):
- (BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint):
- * Api/WebPageClient.h:
-
-2012-09-11 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Suppress keyboard requests while processing spell checking suggestions.
- https://bugs.webkit.org/show_bug.cgi?id=96394
-
- Reviewed by Rob Buis.
-
- Suppress the VKB notification when the touch event
- is a spell checking request.
-
- PR 192925.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-09-11 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Colour Dialog popup request should return proper state.
- https://bugs.webkit.org/show_bug.cgi?id=96392
-
- Reviewed by Rob Buis.
-
- Return proper state from openColorPopup dependent on
- whether the popup actually opened.
-
- Reviewed Internally by Chris Hutten-Czapski
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openColorPopup):
-
-2012-09-11 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Take account for single words that exceed our client character limit
- https://bugs.webkit.org/show_bug.cgi?id=96389
-
- Fix to the processing of long single-line text using getRangeForSpellCheckWithFineGranularity.
- This was failing if a single word was longer than our maximum allowed limit.
-
- Internally reviewed by Mike Fenton.
-
- Reviewed by Rob Buis.
-
- * WebKitSupport/InputHandler.cpp:
- (WebKit):
- (BlackBerry::WebKit::InputHandler::getRangeForSpellCheckWithFineGranularity):
-
-2012-09-11 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] SelectionHandler drops caret change notifications
- https://bugs.webkit.org/show_bug.cgi?id=96378
-
- Reviewed by Antonio Gomes.
-
- The selection handler deliberately drops caret change notifications
- while the input handler is processing changes, to avoid displaying
- intermediate state during a complex change.
-
- However, this meant that the client was never informed of the final
- caret position.
-
- Fixed by notifying client about caret change after processing ends, if
- one or more caret change notifications were dropped during processing.
-
- PR #205073
-
- Reviewed internally by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setProcessingChange):
- (WebKit):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::SelectionHandler):
- (BlackBerry::WebKit::SelectionHandler::inputHandlerDidFinishProcessingChange):
- (WebKit):
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- (BlackBerry::WebKit::SelectionHandler::notifyCaretPositionChangedIfNeeded):
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
-
-2012-09-10 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] add a way to overscroll non-overflown content
- https://bugs.webkit.org/show_bug.cgi?id=96331
- [UxD] Vertical lists should always be scrollable
- PR #195305
-
- Reviewed by Yong Li.
- Internally reviewed by Gen Mak.
-
- Check if the RenderLayer is composited / hardware acceleratable prior to
- check if its contents overflows. If that is the case, check if
- our custom data-blackberry-force-overscroll is present.
-
- That makes it possible for us to align to UX requirements: settings
- and CCM panels should be always scrollable.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::canScrollRenderBox):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2012-09-10 Genevieve Mak <gmak@rim.com>
-
- Change -data-blackberry-webworks-context to -data-webworks-context
- because not all webworks apps are blackberry apps.
- https://bugs.webkit.org/show_bug.cgi?id=96297
-
- Reviewed by Antonio Gomes.
-
- PR #193726
- Rubber Stamped interally by Mike Fenton.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::webWorksContext):
-
-2012-09-09 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Fix flicker due to introduction of the fence extension.
- https://bugs.webkit.org/show_bug.cgi?id=96207
-
- Reviewed by George Staikos.
-
- Don't immediately add fence to garbage list, so it is destroyed
- after only one swap, for a set of tiles just because one tile in
- the set gets a new fence, the old fence may still not be signalled
- and before rendering the other tiles in the set we have to wait for it.
-
- * WebKitSupport/BackingStoreTile.cpp:
- (BlackBerry::WebKit::Fence::~Fence):
- (WebKit):
- * WebKitSupport/BackingStoreTile.h:
- (WebKit):
- (Fence):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::initialize):
- (BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
- (WebKit):
- (BlackBerry::WebKit::SurfacePool::destroyPlatformSync):
- * WebKitSupport/SurfacePool.h:
- (SurfacePool):
-
-2012-09-08 Max Feil <mfeil@rim.com>
-
- [BlackBerry] Exiting fullscreen mode can leave user stuck without Browser menus
- https://bugs.webkit.org/show_bug.cgi?id=96027
-
- Reviewed by Antonio Gomes.
-
- The changes for bug 87337 (landed as trunk svn revision 119119)
- introduced a bug. The same conditions are not checked on enter
- fullscreen vs. exit. Web sites such as http://videojs.com
- and youtube's mobile HTML5 player make the div container
- of the video element go fullscreen. This is allowed in
- WebPagePrivate::enterFullScreenForElement() but disallowed in
- WebPagePrivate::exitFullScreenForElement(). I am fixing this by
- allowing containers of video elements to exit fullscreen.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
-
-2012-09-07 Ming Xie <mxie@rim.com>
-
-
- [BlackBerry] Remove browser from the build info page
- https://bugs.webkit.org/show_bug.cgi?id=96162
-
- Reviewed by George Staikos.
- Internal reviewed by Jeff Rogers.
-
- WebKit build should not have the build info for browser which is
- built on top of webkit.
-
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::buildPage):
-
-2012-09-07 Yongxin Dai <yodai@rim.com>
-
- [BlackBerry] Initialize caret rectangle with invalid location
- https://bugs.webkit.org/show_bug.cgi?id=96011
-
- Reviewed by Rob Buis.
-
- In SelectionHandler::selectionPositionChanged() method, startCaret and
- endCaret are used to notify clients about new caret positions. This patch
- initializes startCaret and endCaret with location(-1. -1), and keeps them
- empty before they are assigned to valid values. This would help for other
- classes to check validity of the caret correctly.
-
- Internal reviewed by Mike Fenton.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::adjustCaretRects):
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
-
-2012-09-07 Lianghui Chen <liachen@rim.com>
-
- [BlackBerry] when one of multiple tabs uses authentication, user can get the auth dialog while the other tab has focus.
- https://bugs.webkit.org/show_bug.cgi?id=95488
- PR: 186597.
-
- Internally reviewed by Joe Mason.
- Reviewed by Yong Li.
-
- Use new AuthenticationChallengeClient interface to make authentication
- challenge asynchronous to NetworkJob, MediaPlayerPrivateBlackBerry, and
- other module that will use HTTP authentication. WebPage itself still use
- synchronous authentication though. Switching to asynchronous authentication
- in WebPage will require bigger platform layer change and not very necessary
- at the moment for this bug.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
- * Api/WebPage_p.h:
- (WebCore):
- (WebPagePrivate):
-
-2012-09-07 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Remove feature about:cache/disable and about:cache/enable
- https://bugs.webkit.org/show_bug.cgi?id=95820
-
- Reviewed by Yong Li.
-
- Fix warning that was caused by r127680.
-
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::cachePage):
-
-2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
-
- Simplify hitTestResultAtPoint and nodesFromRect APIs
- https://bugs.webkit.org/show_bug.cgi?id=95720
-
- Reviewed by Antonio Gomes.
-
- Update calls to new API.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::contextNode):
- (BlackBerry::WebKit::WebPagePrivate::nodeForZoomUnderPoint):
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- (BlackBerry::WebKit::WebPage::nodeAtPoint):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::getNodesFromRect):
- (BlackBerry::WebKit::FatFingers::getRelevantInfoFromPoint):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):
-
-2012-09-07 Robin Cao <robin.cao@torchmobile.com.cn>
-
- [BlackBerry] Rendering issue after rotation
- https://bugs.webkit.org/show_bug.cgi?id=96094
- PR #201930
-
- Reviewed by George Staikos.
-
- The cause of the rendering issue is that the BackingStore tiles
- are not reset after layout. This is a regression of r125680, which
- overwrites a local variable that are used later in the function.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
-
-2012-09-06 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Implement a color picker
- https://bugs.webkit.org/show_bug.cgi?id=96001
-
- Reviewed by Rob Buis.
-
- Add files for color picker, replace old hook to AIR color picker.
-
- * WebCoreSupport/ColorPickerClient.cpp: Added.
- (WebCore):
- (WebCore::ColorPickerClient::ColorPickerClient):
- (WebCore::ColorPickerClient::~ColorPickerClient):
- (WebCore::ColorPickerClient::generateHTML):
- (WebCore::ColorPickerClient::closePopup):
- (WebCore::ColorPickerClient::contentSize):
- (WebCore::ColorPickerClient::htmlSource):
- (WebCore::ColorPickerClient::setValueAndClosePopup):
- (WebCore::ColorPickerClient::didClosePopup):
- (WebCore::ColorPickerClient::writeDocument):
- * WebCoreSupport/ColorPickerClient.h: Added.
- (WebKit):
- (WebCore):
- (ColorPickerClient):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openColorPopup):
-
-2012-09-06 Genevieve Mak <gmak@rim.com>
-
- Add data-blackberry-webworks-context attribute and set the custom context when
- getting context.
- https://bugs.webkit.org/show_bug.cgi?id=95993
-
- Reviewed by Antonio Gomes.
-
- PR #193726
- Reviewed Internally by Mike Fenton.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- - Check for custom WebWorks context and add it if there.
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::webWorksContext):
- (DOMSupport):
- * WebKitSupport/DOMSupport.h:
- - Add a method that checks a given element for the data-webworks-context
- attribute and returns its value if present.
-
-2012-09-06 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Allow overscroll to composited scroll layers
- https://bugs.webkit.org/show_bug.cgi?id=95998
- PR #195305
-
- Reviewed by Rob Buis.
- Internally reviewed by Gen Mak.
-
- No need to reset the overscroll limit factor at creation to 0.
- It is already 0 by default, and later on the client sets the
- appropriated value.
-
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2012-09-05 Sam Weinig <sam@webkit.org>
-
- Part 2 of removing PlatformString.h, remove PlatformString.h
- https://bugs.webkit.org/show_bug.cgi?id=95931
-
- Reviewed by Adam Barth.
-
- Remove PlatformString.h
-
- * Api/DumpRenderTreeClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- * WebCoreSupport/InspectorClientBlackBerry.h:
- * WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp:
- * WebKitSupport/AboutData.h:
-
-2012-09-05 Jason Liu <jason.liu@torchmobile.com.cn>
-
- [BlackBerry] Remove feature about:cache/disable and about:cache/enable
- https://bugs.webkit.org/show_bug.cgi?id=95820
-
- Reviewed by Rob Buis.
-
- Remove this feature since we need to add a button in settings.
-
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::cachePage):
-
-2012-09-05 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Remove deprecated dialog connections.
- https://bugs.webkit.org/show_bug.cgi?id=95868
-
- Reviewed by Rob Buis.
-
- PR 187481.
- Remove deprecated logic for unsupported
- Dialog types.
-
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openDatePopup):
- (BlackBerry::WebKit::InputHandler::openColorPopup):
-
-2012-09-05 George Staikos <staikos@webkit.org>
-
- [BlackBerry] Assignment operators missing self-check
- https://bugs.webkit.org/show_bug.cgi?id=95774
-
- Reviewed by Rob Buis.
-
- Add a test for self-assignment.
-
- * Api/WebAnimation.cpp:
- (BlackBerry::WebKit::WebAnimation::operator=):
- * Api/WebString.cpp:
- (BlackBerry::WebKit::WebString::operator=):
-
-2012-09-05 Leo Yang <leoyang@rim.com>
-
- [BlackBerry] Optimize BackingStorePrivate::isCurrentVisibleJob
- https://bugs.webkit.org/show_bug.cgi?id=95897
-
- Reviewed by Antonio Gomes.
-
- Bail out the loop early if one of the not-rendered rectangle is
- not current regular render job.
-
- No behavior change, just code optimization.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
-
-2012-09-05 Benjamin C Meyer <bmeyer@rim.com>
-
- [BlackBerry] JavaScriptVariant can crash when operator= is called with itself
- https://bugs.webkit.org/show_bug.cgi?id=95859
-
- Reviewed by George Staikos.
-
- * Api/JavaScriptVariant.cpp:
- (BlackBerry::WebKit::JavaScriptVariant::operator=):
- When JavaScriptVariant contains a string and operator= is
- called with itself the memory will be free'd in 'this' and
- then a copy will be attempted from 'that' resulting in a crash.
-
-2012-09-05 Leo Yang <leoyang@rim.com>
-
- [BlackBerry] Rotation and then reload causes less sized webpage (PR 190469)
- https://bugs.webkit.org/show_bug.cgi?id=95870
-
- Reviewed by George Staikos.
- Reviewed internally by Jacky Jiang.
-
- Use the new zoom to fit scale if the page was zoomed to fit initial scale
- When a page is reloaded the layout size may be changed. So the contents
- size on which the initial scale depends may be changed. Use the new initial
- scale in this case to make sure the page will be zoomed to correct scale.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
-
-2012-09-05 Robin Cao <robin.cao@torchmobile.com.cn>
-
- [BlackBerry] Do not release shared backingstore memory prematurely
- https://bugs.webkit.org/show_bug.cgi?id=95841
- PR #202517
-
- Reviewed by George Staikos.
-
- The BackingStore memory is shared by all web pages. We should check if
- the current backingStore is active before create/release this shared memory.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
- (BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):
-
-2012-09-05 Andy Chen <andchen@rim.com>
-
- [BlackBerry] Implement number of matches and current active match index for find-on-page
- https://bugs.webkit.org/show_bug.cgi?id=95801
-
- Reviewed by Antonio Gomes.
-
- - Calculate current match index for find-on-page
- - Notify client when number of matches and current match index update.
- PR 162090 162091.
- Internally reviewed by Mike Fenton and Joe Mason
-
- * Api/WebPageClient.h:
- * WebKitSupport/InPageSearchManager.cpp:
- (BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::DeferredScopeStringMatches):
- (BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::doTimeout):
- (InPageSearchManager::DeferredScopeStringMatches):
- (BlackBerry::WebKit::InPageSearchManager::findNextString):
- (BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
- (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
- (BlackBerry::WebKit::InPageSearchManager::scopeStringMatchesSoon):
- (BlackBerry::WebKit::InPageSearchManager::callScopeStringMatches):
- * WebKitSupport/InPageSearchManager.h:
- (InPageSearchManager):
-
-2012-09-04 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] FatFingers::cachingStrategy uses incorrect enum value
- https://bugs.webkit.org/show_bug.cgi?id=95783
-
- Reviewed by Antonio Gomes.
-
- Use the correct enum values.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::cachingStrategy):
-
-2012-09-04 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Use child/ScrollableContent layer's position instead of parent/ScrollLayer's boundsOrigin
- https://bugs.webkit.org/show_bug.cgi?id=95778
- PR #202252
-
- Reviewed by Rob Buis.
- Internally reviewed by Arvid Nilsson.
-
- Upstream has switch away from using the parent scroll layer's bounds origin
- in order to translate contents of all its child layers. Instead now, it directly
- sets the scroll position of the child scrollable contents layer.
-
- Source/WebKit/blackberry:
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
- No new tests, since it is a catch-up with upstreaming code.
-
-2012-09-04 George Staikos <staikos@webkit.org>
-
- [BlackBerry] Fix memory leak in InputHandler
- https://bugs.webkit.org/show_bug.cgi?id=95771
-
- Reviewed by Rob Buis.
-
- Simply delete the arrays at function exit.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openSelectPopup):
-
-2012-09-04 George Staikos <staikos@webkit.org>
-
- [BlackBerry] pass isMainFrame() through to notifyDocumentOnLoad()
- https://bugs.webkit.org/show_bug.cgi?id=95766
-
- Reviewed by Rob Buis.
-
- Passing the frame status through will allow the client to make better
- decisions about how to act on the onload.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents):
-
-2012-09-04 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Provide virtual dtor for DumpRenderTreeClient
- https://bugs.webkit.org/show_bug.cgi?id=95769
-
- Reviewed by Yong Li.
-
- Also remove WTF prefixes.
-
- * Api/DumpRenderTreeClient.h:
-
-2012-09-04 Mary Wu <mary.wu@torchmobile.com.cn>
-
- [BlackBerry] Add webplatform and browser to build info
- https://bugs.webkit.org/show_bug.cgi?id=95715
-
- Reviewed by George Staikos.
-
- PR# 202102
-
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::buildPage):
-
-2012-08-31 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] ASSERT failure in RenderBlock::checkPositionedObjectsNeedLayout
- https://bugs.webkit.org/show_bug.cgi?id=95611
-
- Reviewed by Antonio Gomes.
-
- PR:200127
- Remove r118405 now as we already have a new fix webkit/43f8394b for
- that issue and it is not reproducible anymore after the removal.
- In this way, we can get rid of this ASSERT failure as well.
- Thanks Antonio for the suggestion.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
-
-2012-08-31 Joshua Netterfield <jnetterfield@rim.com>
-
- [BlackBerry] Eliminate WebGL IT policy
- https://bugs.webkit.org/show_bug.cgi?id=95604
- Internal RIM PR #198764
-
- Reviewed by Rob Buis.
-
- This is no longer a requirement for the BlackBerry port.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPage::setWebGLEnabled):
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::configPage):
-
-2012-08-30 Benjamin Poulain <bpoulain@apple.com>
-
- Replace JSC::UString by WTF::String
- https://bugs.webkit.org/show_bug.cgi?id=95271
-
- Reviewed by Geoffrey Garen.
-
- Replace UString by String.
-
- * WebCoreSupport/ClientExtension.cpp:
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::PagePopupBlackBerry::installDomFunction):
-
-2012-08-30 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] ASSERT failure in JSC::MarkedAllocator::allocateSlowCase
- https://bugs.webkit.org/show_bug.cgi?id=95492
-
- Reviewed by Yong Li.
-
- PR: 200724
- Hold the JSLock for the current thread before we call toRef to avoid
- the ASSERT failure.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
-
-2012-08-30 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Remove unneeded force-immediate-repaint from InRegionScroller::setLayerScrollPosition
- https://bugs.webkit.org/show_bug.cgi?id=95476
- PR #200704
-
- Reviewed by Yong Li.
-
- This code is not needed at this point for neither the fast nor slow in-region
- scroll codepaths, and it is a huge performance beast as it forces all
- containers to get full-repainted per scroll call (in webkit thread).
-
- Patch also take this opportunity to remove an early-return we
- have in the {i}frame slow scrolling code path so that we can
- adjust the selection handles in this case as well.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
-
-2012-08-30 Hanna Ma <Hanma@rim.com>
-
- [BlackBerry] node search does not work with elements on touch start listener
- https://bugs.webkit.org/show_bug.cgi?id=95252
-
- Reviewed by Antonio Gomes.
-
- Fix the node search function of web insepctor on elements with touch start listener.
- Add methods from webPage to check if the node search functionality is enabled before handling touch events.
- PR194107
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::touchEvent):
-
-2012-08-30 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] One shot drawing sync flag never cleared when there's no layers
- https://bugs.webkit.org/show_bug.cgi?id=95447
-
- Reviewed by Antonio Gomes.
-
- PR 199866
- When we remove the layers, WebKit could tell us we need a one shot
- drawing sync to repaint the BackingStore with the content that was
- previously drawn by layers. We also sometimes set the one shot drawing
- sync flag manually.
-
- We would bail from commit if there were no layers and not actually
- perform the osds, so it left the osds flag set forever and the
- situation prevails, because nobody will ever clear the osds flag.
-
- The BackingStore surrenders the responsibility of blitting to the AC
- commit mechanism when a one shot drawing sync is pending, because we
- want the operations render, commit and blit to happen in the correct
- order with no intermediate blits.
-
- So, no commit means no blit, and the result of regular rendering did
- not show up on screen.
-
- Fixed by not bailing from commit if there's no layers, instead clearing
- the "needs commit" and osds flags and performing a blit.
-
- Reviewed internally by Andrew Lo.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
-
-2012-08-30 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- Use ASCIILiteral for DEFINE_STATIC_LOCAL string
- https://bugs.webkit.org/show_bug.cgi?id=95420
-
- Reviewed by Benjamin Poulain.
-
- As recommended by http://trac.webkit.org/wiki/EfficientStrings,
- WebKit needs to use ASCIILiteral for the string of DEFINE_STATIC_LOCAL.
-
- * Api/WebSettings.cpp:
- (WebKit):
-
-2012-08-29 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Do not use the shadow tree when retrieving the underlying element for FatFinger.
- https://bugs.webkit.org/show_bug.cgi?id=95372
-
- By using the shadow tree we were getting a mismatch between elements of the
- current element under focus and the one return to us from FatFingers.
- Passing ShadowContentNotAllowed to get the right handle.
-
- Reviewed by Antonio Gomes.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-08-29 Robin Cao <robin.cao@torchmobile.com.cn>
-
- [BlackBerry] Move the handling of UserMedia requests to the client
- https://bugs.webkit.org/show_bug.cgi?id=95317
- PR #197283
-
- Reviewed by George Staikos.
-
- Internally reviewed by George Staikos.
-
- Move the logic for user media requests handling to the client, as it requires
- inputs from users. Also adds a origin field to WebUserMediaRequest.
-
- * Api/WebPageClient.h:
- (Platform):
- * WebCoreSupport/UserMediaClientImpl.cpp:
- (WebCore::UserMediaClientImpl::UserMediaClientImpl):
- (WebCore::UserMediaClientImpl::~UserMediaClientImpl):
- (WebCore::UserMediaClientImpl::requestUserMedia):
- (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
- * WebCoreSupport/UserMediaClientImpl.h:
- (UserMediaClientImpl):
-
-2012-08-29 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Replace blackberry specific HitTestRequest::FingerUp by TouchEvent + Release
- https://bugs.webkit.org/show_bug.cgi?id=95383
-
- Reviewed by Rob Buis.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
-
-2012-08-29 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Adjust wtf include header style
- https://bugs.webkit.org/show_bug.cgi?id=95368
-
- Reviewed by Yong Li.
-
- Switch to #include <wtf/...> like the other ports.
-
- * Api/BlackBerryGlobal.cpp:
- * Api/WebPage.cpp:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- * WebCoreSupport/GeolocationControllerClientBlackBerry.h:
- * WebCoreSupport/SelectPopupClient.h:
- * WebKitSupport/AboutData.cpp:
- * WebKitSupport/DOMSupport.cpp:
- * WebKitSupport/GLES2Context.cpp:
- * WebKitSupport/InPageSearchManager.h:
- * WebKitSupport/InputHandler.cpp:
-
-2012-08-29 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Remove unused tapGesture in WebPage.cpp
- https://bugs.webkit.org/show_bug.cgi?id=95357
-
- Reviewed by Rob Buis.
-
- Remove unused variable tapGesture in WebPage.cpp.
- Internally reviewed by Gen Mak.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::touchEvent):
-
-2012-08-28 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] crash while trying to scroll any inner frame
- https://bugs.webkit.org/show_bug.cgi?id=95287
- PR #198510
-
- Reviewed by George Staikos.
-
- Set the starting point of scrolling (slow path only still)
- for inner frames. It was left over as set to 0 by r126474.
-
- In practice, patch fixes a crash on gmail.com desktop edition.
-
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r126914.
- http://trac.webkit.org/changeset/126914
- https://bugs.webkit.org/show_bug.cgi?id=95239
-
- it breaks everything and fixes nothing (Requested by pizlo on
- #webkit).
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
- (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
- * WebCoreSupport/NotificationPresenterImpl.cpp:
- (WebCore::NotificationPresenterImpl::cancel):
- (WebCore::NotificationPresenterImpl::onPermission):
- (WebCore::NotificationPresenterImpl::notificationClicked):
- * WebCoreSupport/UserMediaClientImpl.cpp:
- (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
- * WebKitSupport/FrameLayers.cpp:
- (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
- (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
- (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
-
-2012-08-28 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Spellcheck should be enabled if undefined in content.
- https://bugs.webkit.org/show_bug.cgi?id=95139
-
- Currently we only enable spellcheck if it is defined as such in
- the web content explicitly.
- Making this change to enable by default, and only turn off if it is
- explicitly set, or if we expect the field to be a username, email or
- url.
-
- Internally reviewed by Mike Fenton.
-
- Reviewed by Rob Buis.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
- (BlackBerry::WebKit::InputHandler::unlockSequenceMap):
- (WebKit):
- (BlackBerry::WebKit::InputHandler::shouldSpellCheckElement):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
-
- Rename first/second to key/value in HashMap iterators
- https://bugs.webkit.org/show_bug.cgi?id=82784
-
- Reviewed by Eric Seidel.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
- (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
- * WebCoreSupport/NotificationPresenterImpl.cpp:
- (WebCore::NotificationPresenterImpl::cancel):
- (WebCore::NotificationPresenterImpl::onPermission):
- (WebCore::NotificationPresenterImpl::notificationClicked):
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
- * WebKitSupport/FrameLayers.cpp:
- (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
- (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
- (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
- * WebCoreSupport/UserMediaClientImpl.cpp:
- (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
-
-2012-08-28 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Range boundaries should use endOfBlock instead of endOfLine.
- https://bugs.webkit.org/show_bug.cgi?id=95135
-
- The original implementation used nextLinePosition to iterate
- through the field from the start of each line, and was bounded in
- comparison to the endOfLine. This works fine as long as there aren't any
- empty lines between paragraphs of text, since these will have
- startOfLine == endOfLine and break out.
-
- Also, protect map access with a mutex in case we get a response
- before updating the map. Further, we should check the Range pointer
- before using it, since its not guaranteed to be valid.
-
- Internally reviewed by Mike Fenton.
-
- Reviewed by Antonio Gomes.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::spellCheckBlock):
-
-2012-08-28 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] One shot drawing synchronization broken
- https://bugs.webkit.org/show_bug.cgi?id=95179
-
- Reviewed by Antonio Gomes.
- Internally reviewed by Arvid Nilsson.
-
- Make sure no backing store blits happen during one shot drawing
- synchronization.
- Since we always blit during commit now, make sure we don't blit if
- we commit after a render.
- We no longer need a deferred blit since we don't commit during renderContents
- now. Instead, we only commit & blit once after a full render job.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::repaint):
- (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
- (BlackBerry::WebKit::BackingStorePrivate::renderJob):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::drawAndBlendLayersForDirectRendering):
- (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::RenderQueue::renderAllCurrentRegularRenderJobs):
- (BlackBerry::WebKit::RenderQueue::renderRegularRenderJob):
- (BlackBerry::WebKit::RenderQueue::visibleScrollJobsCompleted):
-
-2012-08-28 Parth Patel <parpatel@rim.com>
-
- [BlackBerry] Removing unnecessary include of Class BlackBerryPlatformClient
- https://bugs.webkit.org/show_bug.cgi?id=95113
-
- Reviewed by Kentaro Hara.
-
- Refactoring has lead to relocation of many or all methods from Class
- BlackBerryPlatformClient to other classes. Some files include
- BlackBerryPlatformClient but does not use its instance thus these
- includes has to be removed.
-
- * Api/BackingStore.cpp:
-
-2012-08-28 Andy Chen <andchen@rim.com>
-
- [BlackBerry] UpdateViewport uses wrong size for frameView
- https://bugs.webkit.org/show_bug.cgi?id=95138
-
- Reviewed by Antonio Gomes.
- Internally reviewed by Jakob Petsovits.
-
- Use actual visible size instead of screen size when updating viewport size,
- otherwise, frameView size would be too big.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::updateViewportSize):
-
-2012-08-28 Andy Chen <andchen@rim.com>
-
- [BlackBerry] Pseudo class "active" is broken
- https://bugs.webkit.org/show_bug.cgi?id=95142
-
- Reviewed by Antonio Gomes.
-
- Check if an element is affected by active rule before cancelling
- the touch event.
- PR 198544.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
-
-2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r126836.
- http://trac.webkit.org/changeset/126836
- https://bugs.webkit.org/show_bug.cgi?id=95163
-
- Broke all Apple ports, EFL, and Qt. (Requested by tkent on
- #webkit).
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
- (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
- * WebCoreSupport/NotificationPresenterImpl.cpp:
- (WebCore::NotificationPresenterImpl::cancel):
- (WebCore::NotificationPresenterImpl::onPermission):
- (WebCore::NotificationPresenterImpl::notificationClicked):
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
- * WebKitSupport/FrameLayers.cpp:
- (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
- (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
- (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
-
-2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
-
- Rename first/second to key/value in HashMap iterators
- https://bugs.webkit.org/show_bug.cgi?id=82784
-
- Reviewed by Eric Seidel.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
- (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
- (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
- (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
- (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
- * WebCoreSupport/NotificationPresenterImpl.cpp:
- (WebCore::NotificationPresenterImpl::cancel):
- (WebCore::NotificationPresenterImpl::onPermission):
- (WebCore::NotificationPresenterImpl::notificationClicked):
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
- * WebKitSupport/FrameLayers.cpp:
- (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
- (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
- (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
-
-2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r126772.
- http://trac.webkit.org/changeset/126772
- https://bugs.webkit.org/show_bug.cgi?id=95137
-
- "This change breaks news.qq.com" (Requested by leoyang on
- #webkit).
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
-
-2012-08-27 Leo Yang <leoyang@rim.com>
-
- [BlackBerry] Not using absoluteVisibleOverSize when rotating
- https://bugs.webkit.org/show_bug.cgi?id=95092
- PR #190469
-
- Reviewed by Antonio Gomes.
- Reviewed internally by Arvid Nilsson.
-
- When we are rotating don't count absolute overflow visible size
- into fixed layout size because we are in a transient state. The
- absolute overflow visible size remains old size during rotation.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
-
-2012-08-25 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Remove the 'in region scrollable starting node' concept from InRegionScroller
- https://bugs.webkit.org/show_bug.cgi?id=95020
-
- Reviewed by Rob Buis.
-
- 'In-region start scrolling node' is an obsolete concept, and we can remove it
- in favor of using the information from the cached layers.
-
- * Api/InRegionScroller.cpp:
- (WebKit):
- (BlackBerry::WebKit::InRegionScrollerPrivate::reset): Adjusted as it used to clear
- the cached 'node'.
- (BlackBerry::WebKit::InRegionScrollerPrivate::isActive): Added method to be
- checked directly instead of only null-checking the previously cached 'node'.
- (BlackBerry::WebKit::InRegionScrollerPrivate::clearDocumentData): New method to
- clear the cached resources if its document is done.
- (BlackBerry::WebKit::InRegionScrollerPrivate::pushBackInRegionScrollable): Adjusted
- to not care about the cached 'node' anymore.
- * Api/InRegionScroller_p.h:
- (InRegionScrollerPrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped): Check ::isActive instead
- of ::hasNode, since the later is gone.
- (BlackBerry::WebKit::WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableAreaAfterInRegionScrolling):
- Changed the method signature, given that we do have a cached 'node' to pass in as parameter anymore.
- (BlackBerry::WebKit::WebPagePrivate::clearDocumentData): Delegate all the related work to InRegionScroller.
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
-.
-2012-08-25 Antonio Gomes <agomes@rim.com>
-
- BlackBerry] Shrink the in-region nested scrollable list as soon as we can
- https://bugs.webkit.org/show_bug.cgi?id=95019
-
- Reviewed by Rob Buis.
-
- We cache all possible nested scrollable in-region layers given a point.
- It is up to the client to pick a view, based on the scroll position and limits
- of each layer, and on the direction user swipes its finger.
- From the point we pick a view on, we stick with it, and any other
- possibly cached layer can be uncached, as it won't be needed.
- Patch provides a simple solution to that.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::InRegionScrollerPrivate):
- (BlackBerry::WebKit::InRegionScrollerPrivate::reset):
- (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
- (BlackBerry::WebKit::InRegionScrollerPrivate::calculateActiveAndShrinkCachedScrollableAreas):
- (WebKit):
- (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
- * Api/InRegionScroller_p.h:
- (InRegionScrollerPrivate):
-
-2012-08-25 Antonio Gomes <agomes@rim.com>
-
- For convenience, make RenderLayer::enclosingElement a public method.
- https://bugs.webkit.org/show_bug.cgi?id=95018
-
- Reviewed by George Staikos.
-
- Make use of the new public RenderLayer::enclosingElement method and
- remove duplicated code.
-
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
-
- Rename RegisterProtocolHandler API to NavigatorContentUtils
- https://bugs.webkit.org/show_bug.cgi?id=94920
-
- Reviewed by Adam Barth.
-
- Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore):
- (WebCore::ChromeClientBlackBerry::registerProtocolHandler):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2012-08-26 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] ASSERT failed in WebPagePrivate::commitRootLayerIfNeeded()
- https://bugs.webkit.org/show_bug.cgi?id=94921
-
- PR 104676
- As visibility changed due to WebPage::setVisible(true),
- resumeRootLayerCommit() would call commitRootLayerIfNeeded(), without
- layouting or rendering. If a one shot drawing sync was pending at this
- time, it would cause the condition
- ASSERT(!needsOneShotDrawingSynchronization()) to fail.
-
- The comment immediately before the assert states that "In case of one
- shot drawing synchronization, you should first layoutIfNeeded, render,
- then commit and draw the layers". However, resumeRootLayerCommit() did
- no such thing.
-
- Fixed by removing the call to commitRootLayerIfNeeded() from
- resumeRootLayerCommit(), because the latter is only called in a code
- path where we're going to layout, render and then commit anyway. These
- operations will be performed from resumeBackingStore() which is called
- at the end of setVisible().
-
- Reviewed by George Staikos.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::resumeRootLayerCommit):
-
-2012-08-24 Adam Treat <atreat@rim.com>
-
- [BlackBerry] Web pages are zoomed out to much on initial load
- https://bugs.webkit.org/show_bug.cgi?id=94830
-
- The previous patch caused a slight regression to the calculation we do
- for the default splitting factor in the render queue. The default value
- we use to represent the max area should be the tile size. This was true
- with the old calculation of default max layout width since it was the
- screen size. The fix is to be explicit and use the tile size directly.
-
- Reviewed by George Staikos.
-
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::RenderQueue::splittingFactor):
-
-2012-08-24 Parth Patel <parpatel@rim.com>
-
- [BlackBerry] Changes resulting from moving network related methods
- from platform client to platform settings.
- https://bugs.webkit.org/show_bug.cgi?id=94963
-
- Reviewed by Yong Li.
-
- Changes in response to Network methods moved from
- class BlackBerryPlatformClient to class BlackBerryPlatformSettings
- in platform repository.
-
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::cachePage):
-
-2012-08-24 Liam Quinn <lquinn@rim.com>
-
- [BlackBerry] Debug assertion fires in BackingStorePrivate::renderJob()
- https://bugs.webkit.org/show_bug.cgi?id=94960
-
- Reviewed by Adam Treat.
-
- Change the assertion into an early return as recommended by Adam Treat.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::renderJob):
-
-2012-08-24 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Animation & UI lag when rendering
- https://bugs.webkit.org/show_bug.cgi?id=94943
-
- Reviewed by Rob Buis.
-
- Schedule a backing store blit & composite when commiting root layer.
- This results in compositing not having to wait until after a long render
- operation, increasing responsiveness & fixing animations which skip to
- the last frame due to lag.
-
- This can cause a blit during a "one shot drawing synchronization", which is
- a render & commit on the AC layers, which may result in flashing.
- However, this can happen in other situations as well, and we feel that
- the responsiveness, reduced lag, and smoothness of animations is
- more important.
-
- Internal PR194209
- Internally reviewed by: George Staikos.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
-
-2012-08-24 Parth Patel <parpatel@rim.com>
-
- [BlackBerry] Changes resulting from moving application directory methods from platform client to platform settings.
- https://bugs.webkit.org/show_bug.cgi?id=94249
-
- Reviewed by Rob Buis.
-
- PR# 170160
- Changes in response to Application Directory methods moved from
- Class BlackBerryPlatformClient to BlackBerryPlatformSettings in
- platform respository since these methods are more appropriate in
- class BlackBerryPlatformSettings.
-
- * WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
- (WebCore::IconDatabaseClientBlackBerry::initIconDatabase):
-
-2012-08-24 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Touch cancel can cause huge and needless invalidations
- https://bugs.webkit.org/show_bug.cgi?id=94938
- PR #198051
-
- Reviewed by George Staikos.
- Internally reviewed by Gen Mak.
-
- In order to remove the possible hover effect on touch_cancel, we always
- invalidate the node under the fat finger, being the fat finger valid or not.
-
- Point is: having a valid fat finger node does not mean the original touch
- position was actually adjust for clicking or that the fat finger is actually
- valid. We set the fat finger node to be the result of the point-based hit-test
- regardless if it is a click target or not (in order to make our mouse-move
- machinery to work).
-
- We should can less aggressively invalidate the fat finger node, since it can
- be rather an expensive call (longer than 1s in the worst scenario).
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
-
-2012-08-24 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Add WebPage API to reset block zoom
- https://bugs.webkit.org/show_bug.cgi?id=94863
-
- PR 187478
- This is an alternative to WebPage::blockZoomAnimationFinished() when
- it's desirable to avoid rerendering of the whole web page at the end
- of block zoom. This is the case when the planned "incremental zoom
- factor" is used instead of zoomAboutPoint and it's relatives.
-
- Ideally, the block zoom algorithm would be clever enough not to need
- a reset or any form of callback when the animation finishes, but that
- requires the implementation of said incremental zoom factor, which is
- not done yet.
-
- Reviewed by Antonio Gomes.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::resetBlockZoom):
- (WebKit):
- * Api/WebPage.h:
-
-2012-08-23 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Obsolete the in-region scroll codepath prior to BB10's
- https://bugs.webkit.org/show_bug.cgi?id=94839
- PR #197775
-
- Reviewed by George Staikos.
-
- This codepath is not needed anymore, so lets let it RIP.
-
- The only code addition is due to some code I've moved from WebPagePrivate::scrollNodeRecursively
- and WebPagePrivate::scrollBy to InRegionScrollerPrivate::setLayerScrollPosition.
- Rest is code removal ...
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
- * Api/InRegionScroller_p.h:
- (InRegionScrollerPrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::scrollBy):
- (BlackBerry::WebKit::WebPage::scrollBy):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-08-23 Adam Treat <atreat@rim.com>
-
- [BlackBerry] Replace the three different rendering mechanisms for clearing the render queue
- https://bugs.webkit.org/show_bug.cgi?id=94837
-
- Reviewed by George Staikos.
-
- PR 197738
-
- Currently, we have three different mechanisms for clearing the render queue.
- The first mechanism is render on idle. Whenever the webkit thread becomes idle
- (read: no more events in its queue) we render the next job in the render queue.
- This is the primary means we use for clearing the render queue. However, this
- mechanism has a flaw, it is such a low priority mechanism that sometimes the
- queue grows so fast due to higher priority events adding rects to the queue
- that this mechanism can't possibly keep up. That is what leads to the second
- mechanism: rendering right before a timer is fired when we discover that the
- render queue is under pressure and rendering on idle can't keep up. However,
- there are still degenerate cases where even this mechanism does not allow us to
- keep up. That brings us to the third mechanism: rendering based on a timer
- that is a catch-all.
-
- The second and third mechanisms lead to very large render jobs as they try and
- clear the queue faster when it comes under pressure. These very large render
- jobs end up keeping the webkit thread busy with a message that can take large
- fractions of a second to resolve.
-
- These three mechanisms were put in place when the backingstore had a different
- overall design that was not truly asynchronous. This patch replaces these
- three mechanisms with a single one that uses the platform messaging classes to
- full purpose - a uniquely coalescing message that has a higher priority level
- than timers making sure the render queue can never come under pressure.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (WebKit):
- (RenderJobMessage):
- (BlackBerry::WebKit::RenderJobMessage::RenderJobMessage):
- (BlackBerry::WebKit::BackingStorePrivate::dispatchRenderJob):
- (BlackBerry::WebKit::BackingStorePrivate::renderJob):
- (BlackBerry::WebKit::BackingStore::blitContents):
- * Api/BackingStore.h:
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- * Api/WebPage.h:
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::RenderQueue::reset):
- (BlackBerry::WebKit::RenderQueue::addToRegularQueue):
- (BlackBerry::WebKit::RenderQueue::addToScrollZoomQueue):
- (BlackBerry::WebKit::RenderQueue::clear):
- (BlackBerry::WebKit::RenderQueue::clearVisibleZoom):
- (BlackBerry::WebKit::RenderQueue::render):
-
-2012-08-23 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Unify slow and fast in-region scrolling code paths
- https://bugs.webkit.org/show_bug.cgi?id=94834
- PR #197662
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Arvid Nilsson.
-
- In order to be able to remove a bunch of obsolete code from
- InRegionScroller.cpp, we need to unify the codepaths for slow
- and fast in-region scrolling.
-
- This patch caches the root scrollable node of each scrollable block
- in InRegionScrollableArea also for the non-composited-scrolling case now too
- (analogly to the way we cache LayerWebKitThread for the composited scrolling case).
-
- Now the client (libwebview) can dispatch an in-region scrolling with one single code path,
- making use of a boolean (argh!) to inform if the scroll of the given
- layer supports compositing or not. Later on, this boolean is used to casting the proper element.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScroller::setScrollPositionWebKitThread):
- (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
- * Api/InRegionScroller.h:
- * Api/InRegionScroller_p.h:
- (InRegionScrollerPrivate):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (WebKit):
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
- (BlackBerry::WebKit::enclosingLayerNode):
- * WebKitSupport/InRegionScrollableArea.h:
- (WebCore):
- (InRegionScrollableArea):
-
-2012-08-23 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Web pages are zoomed out to much on initial load
- https://bugs.webkit.org/show_bug.cgi?id=94830
-
- Reviewed by Adam Treat.
-
- PR: 193943
- Browser continuously adds paddings to the left and right sides of the
- main contents which makes the main contents even smaller.
- The issue can be reproduced on the desktop websites such as
- huffingtonpost.ca, bloomberg.com, online.wsj.com, nytimes.com,
- yahoo.com, thestar.com, sina.com.cn, sohu.com and so on.
- The root cause is that we layout those contents at the width of 1280
- although the fixed width of the main contents of those websites is
- less than 1000, which results in adding the paddings.
- To fix this, we need to get back to the default max layout size
- 1024 * 768, which will make the main contents of those popular websites
- take full advantage of the screen real estate and look much better.
-
- Internally reviewed by Adam Treat.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/RenderQueue.cpp:
- (BlackBerry::WebKit::RenderQueue::splittingFactor):
-
-2012-08-22 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Make all pickers non-zoomable
- https://bugs.webkit.org/show_bug.cgi?id=94729
-
- Reviewed by Antonio Gomes.
-
- Move HTML header initialization to PagePopupBlackBerry as that part are all the same, and make all pickers non-zoomable.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::screenSize):
- (WebKit):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/DatePickerClient.cpp:
- (WebCore::DatePickerClient::generateHTML):
- (WebCore::DatePickerClient::writeDocument):
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::PagePopupBlackBerry::init):
- (WebCore::PagePopupBlackBerry::generateHTML):
- (WebCore):
- * WebCoreSupport/PagePopupBlackBerry.h:
- (PagePopupBlackBerry):
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::generateHTML):
- (WebCore::SelectPopupClient::writeDocument):
-
-2012-08-21 Benjamin C Meyer <bmeyer@rim.com>
-
- [BlackBerry] Add option to only add JavaScript object 'qnx' to private webviews
- https://bugs.webkit.org/show_bug.cgi?id=94621
-
- Reviewed by Yong Li.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::enableQnxJavaScriptObject):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidClearWindowObjectInWorld):
-
-2012-08-21 Robin Cao <robin.cao@torchmobile.com.cn>
-
- [BlackBerry] Add support for getUserMedia
- https://bugs.webkit.org/show_bug.cgi?id=94591
-
- Reviewed by George Staikos.
-
- Implement getUserMedia feature using the platform API.
-
- PR #153571
-
- Reviewed internally by George Staikos.
-
- * WebCoreSupport/UserMediaClientImpl.cpp:
- (WebCore):
- (WebCore::userMediaRequestsMap):
- (WebCore::toMediaStreamSource):
- (WebCore::toMediaStreamDescriptor):
- (WebUserMediaRequestClientImpl):
- (WebCore::WebUserMediaRequestClientImpl::WebUserMediaRequestClientImpl):
- (WebCore::WebUserMediaRequestClientImpl::requestSucceeded):
- (WebCore::WebUserMediaRequestClientImpl::requestFailed):
- (WebCore::UserMediaClientImpl::UserMediaClientImpl):
- (WebCore::UserMediaClientImpl::~UserMediaClientImpl):
- (WebCore::UserMediaClientImpl::requestUserMedia):
- (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
- (WebCore::UserMediaClientImpl::webUserMedia):
- * WebCoreSupport/UserMediaClientImpl.h:
- (BlackBerry):
- (Platform):
- (UserMediaClientImpl):
-
-2012-08-21 Kihong Kwon <kihong.kwon@samsung.com>
-
- [EFL][GTK][BlackBerry] Fix build error in the DeviceOrientationClient
- https://bugs.webkit.org/show_bug.cgi?id=94586
-
- Reviewed by Kentaro Hara.
-
- Fix build error in the DeviceOrientationClientBlackBerry.cpp.
- It is occured because DeviceOrientation is changed to DeviceOrientationData in the WebCore.
-
- * WebCoreSupport/DeviceOrientationClientBlackBerry.cpp:
- (DeviceOrientationClientBlackBerry::lastOrientation):
-
-2012-08-21 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] about:memory and about:memory-live should show numbers for the chrome process
- https://bugs.webkit.org/show_bug.cgi?id=94531
-
- Reviewed by Rob Buis.
- Patch by Jacky Jiang <zhajiang@rim.com>
-
- PR: 190504
- Add total committed memory of chrome process into about:memory and add
- its peak into about:memory-live.
-
- Internally reviewed by Yong Li and George Staikos.
-
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::memoryPage):
- (BlackBerry::WebKit::MemoryTracker::clear):
- (MemoryTracker):
- (BlackBerry::WebKit::MemoryTracker::peakTotalCommittedMemoryOfCurrentProcess):
- (BlackBerry::WebKit::MemoryTracker::peakTotalCommittedMemoryOfChromeProcess):
- (BlackBerry::WebKit::MemoryTracker::MemoryTracker):
- (BlackBerry::WebKit::MemoryTracker::updateMemoryPeaks):
- (BlackBerry::WebKit::memoryPeaksToHtmlTable):
-
-2012-08-21 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Accelerated In-Region Scrolling does not render correctly on rotation
- https://bugs.webkit.org/show_bug.cgi?id=94608
- PR #194754
-
- Reviewed by Goerge Staikos.
-
- When one translates/scrolls a HW accelerated scrollable layer, it makes use of
- the OVERRIDE mechanism. Suppose the following scenario:
-
- - In landscape, the overflow menu is scrollable. Then the user scrolls it so
- that is has scroll position of 0, -100.
- - when he rotates to portrait, the menus fit well to the available space but it
- still has the OVERRIDE set, so it keeps the layer translated at 0, -100.
-
- Fix is simple: clear the override when we stop scrolling a HW accelerated layer,
- when we destroy the objects.
-
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::~InRegionScrollableArea):
-
-2012-08-21 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Properly notify WebKit when Client stops in-region scrolling
- https://bugs.webkit.org/show_bug.cgi?id=94603
- PR #195813
-
- Reviewed by Goerge Staikos.
-
- Simplify the API to get a notification of when a in-region
- scrolling has finished.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped):
- Removed an unneeded parameter.
- (BlackBerry::WebKit::WebPage::notifyInRegionScrollStopped):
- Ditto.
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-08-20 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] Select popup shows blank content when its option tags contain '\' characters
- https://bugs.webkit.org/show_bug.cgi?id=94321
-
- Reviewed by George Staikos.
-
- PR 194224
-
- When the SelectPopupClient generates HTML, if there is a character '\' in the select options'
- description, we should escape it to avoid the character being interpreted as an escape character.
-
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::generateHTML):
-
-2012-08-20 Genevieve Mak <gmak@rim.com>
-
- [BLACKBERRY] Add notification if an element does not have touch move or mouse move handlers.
- https://bugs.webkit.org/show_bug.cgi?id=94529
-
- Reviewed by George Staikos.
-
- Send a notification to the client if the fat finger element does
- not have a mouse move or touch move handler or if it is empty.
- PR #177701
-
- Reviewed Internally By Mike Lattanzio and Antonio Gomes.
-
- * Api/WebPageClient.h:
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-08-17 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Allow in-region accelerated scrolling take advantage of defer_blits
- https://bugs.webkit.org/show_bug.cgi?id=94379
- PR #194595
-
- Reviewed by Yong Li.
-
- Client does the blitting now.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
-
-2012-08-17 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] On reload, www.sohu.com renders part white background, part overscroll pattern
- https://bugs.webkit.org/show_bug.cgi?id=94348
-
- Reviewed by Yong Li.
- Jacky Jiang <zhajiang@rim.com>
-
- PR: 179200
- This can fix the reload issues of sohu.com, yahoo.com and
- thestar.com/iphone(PR158041). And it is also related with PR178305.
-
- Internally reviewed by George Staikos.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState): Keeping scales for
- reload was doing more harm than good. Two reasons to remove this:
- (1) During reload, contents rect is changing due to layout updates,
- it is possible that the contents or the white background can't cover
- the whole screen if we are using the previous scales.
- (2) Before reload, the source of the web page can be changed, therefore
- previous scales won't be valid anymore.
- Remove shouldRestoreViewState() as this check here is useless now.
- (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad): During
- reload, we should give it a chance to zoom to fit the screen,
- otherwise, it happens that the contents can't cover the whole screen
- until we restore the view state, see PR158041.
- Remove shouldRestoreViewState() as the error page issue PR178305 can be
- covered by reload now.
- * WebCoreSupport/FrameLoaderClientBlackBerry.h: Remove unused shouldRestoreViewState().
-
-2012-08-16 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Use form state to determine the VKB enter key.
- https://bugs.webkit.org/show_bug.cgi?id=94239
-
- Reviewed by Rob Buis.
-
- PR 188234.
-
- If the enter key for the VKB is not explicitly set, use
- submit if we are in a single line input and a default
- button exists for the form.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setElementFocused):
-
-2012-08-16 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Reload valid page from Error Page keeps history ViewState and zoom.
- https://bugs.webkit.org/show_bug.cgi?id=94123
-
- Reviewed by Antonio Gomes.
-
- Reviewed internally by Leo Yang, Jacky Jiang.
- PR 178305
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):Reset the scales and
- the user scalable flag if we're reloading from an error page.
- (BlackBerry::WebKit::WebPagePrivate::updateViewportSize): Don't update the
- viewport size if we're still in the WebPagePrivate::init method.
- (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
- Properly set the shouldZoom flag if we're not going to restore the
- view state.
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::FrameLoaderClientBlackBerry):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidCommitLoad): Set the
- ViewState's shouldSaveViewState flag if we're coming from an error page.
- (WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem): Set the
- new member variable m_shouldRestoreViewState based on the ViewState's
- shouldSaveViewState flag.
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState): Added early
- return if m_shouldRestoreViewState is false.
- * WebCoreSupport/FrameLoaderClientBlackBerry.h: Add new method to have
- the client track whether we should restore the view state.
- (WebCore::FrameLoaderClientBlackBerry::shouldRestoreViewState):
- (FrameLoaderClientBlackBerry):
-
-2012-08-16 Leo Yang <leoyang@rim.com>
-
- [BlackBerry] Remove Mobile mode from WebPage.cpp and WebPage_p.h
- https://bugs.webkit.org/show_bug.cgi?id=94223
- PR #192773
-
- Reviewed by Rob Buis.
- Reviewed internally by Arvid Nilsson.
-
- Remove Mobile mode as it's not been used. Also remove code that
- handle top-level SVG document because now we can handle it in Desktop mode.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
- * Api/WebPage_p.h:
-
-2012-08-16 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] SurfacePool::waitForBuffer() sometimes waits for deleted EGLSyncKHR object
- https://bugs.webkit.org/show_bug.cgi?id=94208
-
- Reviewed by Rob Buis.
-
- SurfacePool::notifyBuffersComposited() adds a tile's previous
- sync object to the garbage list before replacing it with a new one.
- However, it failed to thoroughly clear all tiles that were referencing
- the old sync object.
-
- Thus it could happen that if a set of tiles A was composited, then
- another set of tiles B was composited, only the intersection of A and B
- was cleared of the soon-to-be-deleted sync object, and the subtraction
- A - B would reference an invalid sync object in case the BackingStore
- decided to render to one of the tiles in A - B before they were
- composited again.
-
- Fixed by storing each individual sync object in only one place so we
- don't have to rummage through all tiles and remove stale references to
- sync objects that are about to be destroyed.
-
- A new reference counted Fence class is added for this purpose, to store
- a sync object. Tiles refer to Fence instances instead of holding a sync
- object directly. Since Fence is reference counted, several tiles can
- refer to the same Fence instance, and clearing its sync object will
- instantly remove it from the grasp of all tiles that depend on that
- Fence.
-
- Since there's no point in waiting for the same Fence twice, the only
- operation provided on Fence is takePlatformSync() which returns the
- sync object and clears the Fence of its sync object.
-
- Reviewed internally by Filip Spacek.
-
- PR 193610
-
- * WebKitSupport/BackingStoreTile.cpp:
- (BlackBerry::WebKit::TileBuffer::TileBuffer):
- * WebKitSupport/BackingStoreTile.h:
- (BlackBerry):
- (Fence):
- (BlackBerry::Fence::create):
- (BlackBerry::Fence::takePlatformSync):
- (BlackBerry::Fence::Fence):
- (BlackBerry::WebKit::TileBuffer::fence):
- (BlackBerry::WebKit::TileBuffer::setFence):
- (TileBuffer):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::waitForBuffer):
- (BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
- * WebKitSupport/SurfacePool.h:
- (SurfacePool):
-
-2012-08-16 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Suppress non DRT JS Console output.
- https://bugs.webkit.org/show_bug.cgi?id=94058
-
- Reviewed by Yong Li.
- Reviewed internally by Ming Xie.
-
- Some actual test results show JS Console showing up twice, for
- instance traversal/moz-bug559526.html. Only print the DRT specific
- Console message.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::addMessageToConsole):
-
-2012-08-16 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] WebGL and Canvas fail to display after being restored from page cache
- https://bugs.webkit.org/show_bug.cgi?id=94105
-
- Reviewed by George Staikos.
-
- The EGLImage was being destroyed when releasing layer resources on the
- compositing thread, but the WebKit thread layer never found out and
- failed to create a new image.
-
- Fixed by extending the release layer resources mechanism to also make a
- pass on the WebKit thread so that thread's layers have a chance to
- delete their textures and related resources.
-
- Reviewed internally by Filip Spacek.
-
- PR 192899
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::releaseLayerResources):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::releaseLayerResourcesCompositingThread):
- (BlackBerry::WebKit::WebPagePrivate::suspendRootLayerCommit):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/FrameLayers.cpp:
- (BlackBerry::WebKit::FrameLayers::releaseLayerResources):
- (WebKit):
- * WebKitSupport/FrameLayers.h:
- (FrameLayers):
-
-2012-08-16 Pierre Rossi <pierre.rossi@gmail.com>
-
- [Qt] Remove FontQt4, HAVE_QRAWFONT flag and the related dead code
- https://bugs.webkit.org/show_bug.cgi?id=93960
-
- Reviewed by Simon Hausmann.
-
- Following the removal of Qt 4 support from trunk in r124879.
-
- * WebCoreSupport/AboutDataHaveFeatures.in: Remove all traces of HAVE_QRAWFONT's existence.
-
-2012-08-15 Benjamin C Meyer <bmeyer@rim.com>
-
- [BlackBerry] When there is an exception we want to check if the ref is 0, not the
- value as JSObjectCallAsFunction returns 0 in that case.
- https://bugs.webkit.org/show_bug.cgi?id=94153
-
- Reviewed by Yong Li.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
-
-2012-08-15 Yong Li <yoli@rim.com>
-
- [BlackBerry] Upstream FrameLoaderClientBlackBerry::securityOriginForNewDocument()
- https://bugs.webkit.org/show_bug.cgi?id=94139
-
- Reviewed by Antonio Gomes.
-
- Keep same security origin when a file URL automatically redirects to its child folder.
- This patch will be reverted when we finish the better solution.
- PR# 172333 and PR# 180590.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::FrameLoaderClientBlackBerry):
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidStartProvisionalLoad):
- (WebCore::FrameLoaderClientBlackBerry::securityOriginForNewDocument):
- (WebCore):
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
-2012-08-15 Yong Li <yoli@rim.com>
-
- [BlackBerry] Should not keep recreating GeoTracker in setEnableHighAccuracy()
- https://bugs.webkit.org/show_bug.cgi?id=94136
-
- Reviewed by Rob Buis.
- Internally reviewed by Lyon Chen.
-
- PR# 192401.
- 1. The prototype of GeoTracker::create() has changed.
- 2. Fix the issue that it could recreate tracker unnecessarily when
- setEnableHighAccuracy() is called but accuracy requirment hasn't
- changed.
- 3. Fix the issue setEnableHighAccuracy() could start tracking when
- tracker was suspended.
-
- * WebCoreSupport/GeolocationControllerClientBlackBerry.cpp:
- (GeolocationControllerClientBlackBerry::startUpdating):
- (GeolocationControllerClientBlackBerry::setEnableHighAccuracy):
-
-2012-08-15 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Use the unconverted attribute instead of composing when deciding to how to handle key input.
- https://bugs.webkit.org/show_bug.cgi?id=94132
-
- Reviewed by Rob Buis.
-
- PR 139838.
-
- Switch direct key input handling to be based on the unconverted
- attribute being present. Converted keys, even during composition
- are now input directly.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setText):
-
-2012-08-15 Joshua Netterfield <jnetterfield@rim.com>
-
- [BlackBerry] Upstream BlackBerry build fixes
- https://bugs.webkit.org/show_bug.cgi?id=94121
-
- Reviewed by Rob Buis.
-
- This includes several build fixes due to incorrect upstream patches.
- These mistakes were never present downstream.
-
- No new tests, because no new functionality is added.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
- * WebCoreSupport/AboutTemplate.html.cpp:
- (writeHeader):
-
-2012-08-15 Leo Yang <leoyang@rim.com>
-
- [BlackBerry] Use nested layout when rotating
- https://bugs.webkit.org/show_bug.cgi?id=94117
-
- Partially patched by Arvid Nilsson.
-
- Reviewed by George Staikos.
- Reviewed internally by Arvid Nilsson.
-
- When rotating the content width used for fixedLayoutSize is not
- correct because we are changing the rotation and the content with
- should be determined after layout. So we set the with to 0 if we
- are rotating and beginning the nested layout. And in setViewportSize
- we need a nested layout loop to trigger zoom-to-fit.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
-
-2012-08-14 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Stop copying ScrollViewBase vector all over
- https://bugs.webkit.org/show_bug.cgi?id=94021
-
- Reviewed by Rob Buis.
-
- It outlives long enough in WebKit that we can
- just pass a const+ref of it.
-
- Internally reviewed by Gen Mak.
-
- * Api/WebPageClient.h:
-
-2012-08-14 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Robust-fy the LayerWebKitThread ownership with InRegionScroller
- https://bugs.webkit.org/show_bug.cgi?id=93983
- PR #191737
-
- Reviewed by Yong Li.
-
- Patch changes the way we currently keep track of the active scrollable area
- objects: before, we acquired the scrollable areas and just passed them in a vector up
- to the client, copying it over and over again. Also, it was a client responsability to
- delete stuff (BAD!).
- Now, we keep track of vector within InRegionScroller, as a class member, which allows us to
- avoid copies (in follow up patch), and control until when these objects outlive.
-
- Patch also changes InRegionScrollableArea to "retptr" the composited layer
- associated to it (if any). This ensure we have a non-null scrollable element always.
-
- As mentioned, InRegionScroller is now responsible for deleting and vector of scrollable areas.
-
- Internally reviewed by Arvid Nilsson.
-
- * Api/InRegionScroller.cpp:
- (WebKit):
- (BlackBerry::WebKit::InRegionScrollerPrivate::reset): Method is now responsible for
- deleting the tracked scrollable areas.
- (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
- Renamed from 'inRegionScrollableAreasForPoint'. It was changed in order to store the
- scrollable area objects instead of just pass a copy of them up to the client.
- (BlackBerry::WebKit::InRegionScrollerPrivate::activeInRegionScrollableAreas): Getter.
- (BlackBerry::WebKit::InRegionScrollerPrivate::pushBackInRegionScrollable): It was
- promoted to a class method instead of a local helper.
- * Api/InRegionScroller_p.h:
- (WebKit):
- (InRegionScrollerPrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint): Adjustments needed due to the
- above changed.
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::~InRegionScrollableArea): Clear up the cached layer.
- (WebKit):
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
- * WebKitSupport/InRegionScrollableArea.h:
- (InRegionScrollableArea):
-
-2012-08-15 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Check for valid field focus before processing a spellcheck request
- https://bugs.webkit.org/show_bug.cgi?id=94115
-
- Reviewed by Rob Buis.
-
- PR192891
- Checking for valid field focus before processing the spellcheck
- request.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
-
-2012-08-14 Adam Barth <abarth@webkit.org>
-
- Delete Frame::domWindow() and Frame::existingDOMWindow()
- https://bugs.webkit.org/show_bug.cgi?id=93990
-
- Reviewed by Eric Seidel.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::toOriginString):
- (WebCore::ChromeClientBlackBerry::runJavaScriptAlert):
- (WebCore::ChromeClientBlackBerry::runJavaScriptConfirm):
- (WebCore::ChromeClientBlackBerry::runJavaScriptPrompt):
- (WebCore::ChromeClientBlackBerry::runBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientBlackBerry::requestWebGLPermission):
-
-2012-08-14 Leo Yang <leoyang@rim.com>
-
- [BlackBerry] Checkerboard flashes on Go Back
- https://bugs.webkit.org/show_bug.cgi?id=94018
-
- Reviewed by Yong Li.
- Reviewed internally by Yong Li.
-
- The backing store need to be suspended before the
- WebPagePrivate::restoreHistoryViewState() is called to avoid UI thread
- drawing checkerboard.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::restoreHistoryViewState):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
-
-2012-08-14 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Remove unnecessary \n's from InputHandler log messages.
- https://bugs.webkit.org/show_bug.cgi?id=94015
-
- Reviewed by Rob Buis.
-
- Remove many unnecessary \n's from the end of log messages.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::convertStringToWcharVector):
- (BlackBerry::WebKit::convertSpannableStringToString):
- (BlackBerry::WebKit::InputHandler::spannableTextInRange):
- (BlackBerry::WebKit::InputHandler::setText):
- (BlackBerry::WebKit::InputHandler::setSpannableTextAndRelativeCursor):
-
-2012-08-14 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Queue spellcheck requests with char-count limitations
- https://bugs.webkit.org/show_bug.cgi?id=93866
-
- Reviewed by Rob Buis.
-
- PR184196
- Making spellcheck a little more granular so as to work around
- the limitations of the inputservice.
- Also, spellcheck the entire field on focus only if
- spellcheck="on" is explicitly set.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
-
-2012-08-14 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Use Form helper functions to determine state in DOMSupport::isTextBasedContentEditableElement
- https://bugs.webkit.org/show_bug.cgi?id=93992
-
- Reviewed by Antonio Gomes.
-
- Use form control helper functions to determine the editable state
- of the input field.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isTextBasedContentEditableElement):
-
-2012-08-14 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Use constructor to initialize rect in TouchEventHandler::drawTapHighlight()
- https://bugs.webkit.org/show_bug.cgi?id=93988
-
- Reviewed by Antonio Gomes.
-
- Use constructor to initialize rect in TouchEventHandler::drawTapHighlight()
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
-
-2012-08-14 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Fix use of endsWith to use string instead of char.
- https://bugs.webkit.org/show_bug.cgi?id=93994
-
- Reviewed by Antonio Gomes.
-
- Regex comparison should use string instead of char comparison.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::elementPatternMatches):
-
-2012-08-14 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Double-tap zoom on blocks on cnn.com desktop page doesn't work
- https://bugs.webkit.org/show_bug.cgi?id=93895
-
- Reviewed by Antonio Gomes.
- Patch by Jacky Jiang <zhajiang@rim.com>
-
- PR: 188232
- When adjusting block zoom node, don't choose a node if the width of the
- node size is very close to the width of the actual visible size as
- block zoom can do nothing on such kind of node. This condition is more
- restrictive than the one based on area and can bail out early.
- In this way, we can get a better node for double-tap zoom.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::bestNodeForZoomUnderPoint):
- (BlackBerry::WebKit::WebPagePrivate::adjustedBlockZoomNodeForZoomAndExpandingRatioLimits):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-08-14 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Change the call to setUserScalable to use the setting.
- https://bugs.webkit.org/show_bug.cgi?id=93974
-
- Reviewed by Rob Buis.
-
- We should be using the WebSetting and not the current value of m_userScalable.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
-
-2012-08-14 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Some callback of Select onchange doesn't work
- https://bugs.webkit.org/show_bug.cgi?id=93944
-
- Reviewed by George Staikos.
-
- The Selection element is implemented with PagePopup, an HTML-based WebView with
- some Javascripts to make the UI of the select and option lists; The selection
- change is initiated from the javascript code in the Select Webview, and back to
- the native code of SelectPopupClient, which now in turn dispatches
- FormControlChangeEvent to the select element directly, and that causes the
- javascript callback been invoked in the same cycle as the javascript in the
- Popup View, and causes some Javascript Context problem.
-
- The solution is to send the FormControlChangeEvent asynchronously by a timer,
- when the JavaScript in the Popup view finishes execution, we then send the
- FormControlChangeEvent to the select element in the content page, that avoids
- the concurrent Javascript context issue.
-
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::SelectPopupClient):
- (WebCore::SelectPopupClient::setValueAndClosePopup):
- (WebCore):
- (WebCore::SelectPopupClient::notifySelectionChange):
- * WebCoreSupport/SelectPopupClient.h:
- (SelectPopupClient):
-
-2012-08-14 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Get rid of glCopyTexImage2D in Canvas and WebGL code paths
- https://bugs.webkit.org/show_bug.cgi?id=93614
-
- Reviewed by Antonio Gomes.
-
- We used to set up resource sharing between the compositing thread
- context and the Canvas and WebGL contexts, and use glCopyTexImage2D to
- get a copy of the framebuffer to use as front buffer for compositing
- purposes.
-
- Now we instead create an EGLImage and blit the Canvas/WebGL output to
- it. The compositing thread creates a texture from the EGLImage in order
- to composite the output.
-
- This allows us to turn off resource sharing, so the WebPageCompositor
- no longer needs to pass the compositing thread context to the webkit
- thread.
-
- Reviewed internally by Filip Spacek.
-
- PR 188472
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setCompositor):
- (BlackBerry::WebKit::WebPagePrivate::setCompositorHelper):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositor::WebPageCompositor):
- (BlackBerry::WebKit::WebPageCompositor::~WebPageCompositor):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-08-14 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Enable DNS prefetch
- https://bugs.webkit.org/show_bug.cgi?id=93846
-
- Reviewed by George Staikos.
-
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
-
-2012-08-13 Tom Sepez <tsepez@chromium.org>
-
- [chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach.
- https://bugs.webkit.org/show_bug.cgi?id=93283
-
- Reviewed by Eric Seidel.
-
- Change the client redirectDataToPlugin method(s) to expect the possibility of
- a NULL argument, keeping existing behaviour otherwise.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::redirectDataToPlugin):
-
-2012-08-13 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Update API for spell checking suggestions again.
- https://bugs.webkit.org/show_bug.cgi?id=93877
-
- Reviewed by Antonio Gomes.
-
- PR 163283.
-
- Update the spell checking options request API
- to include the caret positions.
-
- Reviewed internally by Nima Ghanavatian.
-
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
- (WebKit):
- (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
- * WebKitSupport/InputHandler.h:
- (Platform):
- (InputHandler):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- * WebKitSupport/TouchEventHandler.h:
- (TouchEventHandler):
-
-2012-08-13 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Rounding error somewhere when translating CompositingLayer 's for in-region scrolling
- https://bugs.webkit.org/show_bug.cgi?id=93848
- PR #190986
-
- Reviewed by Yong Li.
-
- Patch adds a WebKit thread setScrollPosition-like API to InRegionScroller.
- It fixes a mismatch we had of setting a layer's scroll positing directly via
- ::setScrollPosition on the UI thread, but dispatching a coalesceable
- scrollBy(delta) message to WebKit thread.
-
- * Api/InRegionScroller.cpp:
- (BlackBerry::WebKit::InRegionScroller::setScrollPositionCompositingThread):
- Changed the API name to match other thread specific methods naming.
- (WebKit):
- (BlackBerry::WebKit::InRegionScroller::setScrollPositionWebKitThread):
- Added a setScrollPosition-like method to InRegionScroller public API. Used
- together with its UI-thread counterpart, it can fix some rounding
- errors we have due to mixing ::setScrollPosition and ::scrollBy methods.
- (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
- Method renamed. See reasons above.
- (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
- Calls fowards the call to ::setLayerScrollPosition (below).
- (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
- Sets the scroll position of a given RenderLayer.
- * Api/InRegionScroller.h:
- (InRegionScroller):
- * Api/InRegionScroller_p.h:
- (WebCore):
- (InRegionScrollerPrivate):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
- Cache the RenderLayer object associated to a given scrollable area
- instead of its LayerCompositingThread. This way we can use it for
- scrolling from both Compositing/UI and WebKit threads.
-
-2012-08-12 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Tap highlight flashes checkerboard after pinch zoom
- https://bugs.webkit.org/show_bug.cgi?id=93601
-
- Reviewed by Antonio Gomes.
-
- Since the tap highlight is usually rather small, we can reimplement
- GraphicsLayerClient::contentsVisible() to always return true in order
- to keep all AC layer tiles cached all the time.
-
- PR 189895
-
- * WebKitSupport/DefaultTapHighlight.cpp:
- (BlackBerry::WebKit::DefaultTapHighlight::contentsVisible):
- (WebKit):
- * WebKitSupport/DefaultTapHighlight.h:
- (DefaultTapHighlight):
-
-2012-08-12 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Tap highlight sometimes doesn't disappear
- https://bugs.webkit.org/show_bug.cgi?id=93711
-
- Reviewed by Antonio Gomes.
-
- The WebOverlayOverride implementation just changes properties of a
- LayerCompositingThread directly, which means the changes will
- immediately be overwritten on the next commit. Therefore, when the tap
- highlight implementation adds a fade out animation, that animation will
- instantly be removed again if a commit happens for any reason.
-
- The reason is I totally botched the implementation of
- WebOverlayOverride, it's not wrapping WebCore::LayerOverride at all,
- instead for some reason it's manipulating the LayerCompositingThread
- directly.
-
- Fixed by actually mapping WebOverlayOverride calls to the corresponding
- WebCore::LayerOverride method, and scheduling a compositing run to make
- the change visible and kick off animations.
-
- Reviewed internally by Sean Wang.
-
- PR 188453
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayPrivate::override):
- * Api/WebOverlayOverride.cpp:
- (BlackBerry::WebKit::WebOverlayOverride::WebOverlayOverride):
- (BlackBerry::WebKit::WebOverlayOverride::~WebOverlayOverride):
- (BlackBerry::WebKit::WebOverlayOverride::setPosition):
- (BlackBerry::WebKit::WebOverlayOverride::setAnchorPoint):
- (BlackBerry::WebKit::WebOverlayOverride::setSize):
- (BlackBerry::WebKit::WebOverlayOverride::setTransform):
- (BlackBerry::WebKit::WebOverlayOverride::setOpacity):
- (BlackBerry::WebKit::WebOverlayOverride::addAnimation):
- (BlackBerry::WebKit::WebOverlayOverride::removeAnimation):
- * Api/WebOverlayOverride.h:
- * Api/WebOverlay_p.h:
- (WebOverlayPrivate):
- (WebOverlayPrivateWebKitThread):
- (WebOverlayPrivateCompositingThread):
-
-2012-08-10 Benjamin C Meyer <bmeyer@rim.com>
-
- Introduce JavaScriptVariant object.
- https://bugs.webkit.org/show_bug.cgi?id=93644
-
- The JavaScriptVariant can be used for functions that return results from
- JavaScript such as executeJavaScript or functions that take arguments
- to pass a variable to JavaScript and they want to make sure the type
- is correct.
-
- Convert executeJavaScriptFunction() to use this data type as the
- example, other functions will be converted in the future.
-
- PR 14929
-
- Internally reviewed by Joe Mason
- Reviewed by Adam Treat
-
- * Api/JavaScriptVariant.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::JSValueRefToBlackBerryJavaScriptVariant):
- (BlackBerry::WebKit::BlackBerryJavaScriptVariantToJSValueRef):
- (BlackBerry::WebKit::JavaScriptVariant::JavaScriptVariant):
- (BlackBerry::WebKit::JavaScriptVariant::~JavaScriptVariant):
- (BlackBerry::WebKit::JavaScriptVariant::operator=):
- (BlackBerry::WebKit::JavaScriptVariant::setType):
- (BlackBerry::WebKit::JavaScriptVariant::type):
- (BlackBerry::WebKit::JavaScriptVariant::setDouble):
- (BlackBerry::WebKit::JavaScriptVariant::doubleValue):
- (BlackBerry::WebKit::JavaScriptVariant::setString):
- (BlackBerry::WebKit::JavaScriptVariant::stringValue):
- (BlackBerry::WebKit::JavaScriptVariant::setBoolean):
- (BlackBerry::WebKit::JavaScriptVariant::booleanValue):
- * Api/JavaScriptVariant.h: Added.
- (WebKit):
- * Api/JavaScriptVariant_p.h: Added.
- (WebKit):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
- * Api/WebPage.h:
-
-2012-08-09 Leo Yang <leoyang@rim.com>
-
- [BlackBerry] Export InRegionScroller to fix build
- https://bugs.webkit.org/show_bug.cgi?id=93635
-
- Reviewed by Antonio Gomes.
-
- Build fix.
-
- * Api/InRegionScroller.h:
-
-2012-08-08 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Implement about:memory-live
- https://bugs.webkit.org/show_bug.cgi?id=93153
-
- Reviewed by Yong Li.
- Patch by Jacky Jiang <zhajiang@rim.com>
-
- Implementing about:memory-live to track memory peaks:
- - about:memory-live/start: start tracking memory peaks.
- - about:memory-live: show memory peaks every 30ms.
- - about:memory-live/stop: stop tracking and show memory peaks.
-
- Mainly track the following memory peaks:
- - Total used memory (malloc + JSC).
- - Total committed memory.
- - Total mapped memory.
-
- Add total committed memory for about:memory
-
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::memoryPage):
- (WebKit):
- (MemoryTracker):
- (BlackBerry::WebKit::MemoryTracker::isActive):
- (BlackBerry::WebKit::MemoryTracker::clear):
- (BlackBerry::WebKit::MemoryTracker::peakTotalUsedMemory):
- (BlackBerry::WebKit::MemoryTracker::peakTotalCommittedMemory):
- (BlackBerry::WebKit::MemoryTracker::peakTotalMappedMemory):
- (BlackBerry::WebKit::MemoryTracker::MemoryTracker):
- (BlackBerry::WebKit::MemoryTracker::instance):
- (BlackBerry::WebKit::MemoryTracker::start):
- (BlackBerry::WebKit::MemoryTracker::stop):
- (BlackBerry::WebKit::MemoryTracker::updateMemoryPeaks):
- (BlackBerry::WebKit::memoryPeaksToHtmlTable):
- (BlackBerry::WebKit::memoryLivePage):
- (BlackBerry::WebKit::aboutData):
-
-2012-08-08 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Tie up the scrolling machinery to the graphics tree when applicable for in-region scroll
- https://bugs.webkit.org/show_bug.cgi?id=93482
- PR #187672
- Make InRegionScroller a simple public webkit/ API
- PR #188677
-
- Reviewed by Rob Buis.
-
- In order to prepare InRegionScroller to be a public API
- in webkit/, the patch:
-
- 1) Renamed the current InRegionScroller class to InRegionScrollerPrivate;
- 2) Moved InRegionScroller.cpp|h from WebKitSupport/ to Api/;
- 3) Renamed InRegionScroller.h to InRegionScroller_p.h;
- 4) Added a new public class implementation to InRegionScroller.h;
- 5) Adapted WebPage and TouchEventHandler classes to use InRegionScroller::d directly.
-
- The most important API here is '::compositedSetScrollPosition'
-
- It is a UI/Compositing thread method only and sets the associated LayerCompositingThread
- (camouflaged as a unsigned) for each created InRegionScrollableArea that supports
- composited scrolling.
-
- The way ::compositedSetScrollPosition "scrolls" a layer is by setting the boundsOrigin
- property to the LayerCompositingThread's 'override' property in the UI/Compositing thread.
-
- * Api/InRegionScroller.cpp: Renamed from Source/WebKit/blackberry/WebKitSupport/InRegionScroller.cpp.
- (WebKit):
- (BlackBerry::WebKit::InRegionScroller::InRegionScroller):
- (BlackBerry::WebKit::InRegionScroller::~InRegionScroller):
- (BlackBerry::WebKit::InRegionScroller::compositedSetScrollPosition):
- (BlackBerry::WebKit::InRegionScrollerPrivate::InRegionScrollerPrivate):
- (BlackBerry::WebKit::InRegionScrollerPrivate::setNode):
- (BlackBerry::WebKit::InRegionScrollerPrivate::node):
- (BlackBerry::WebKit::InRegionScrollerPrivate::reset):
- (BlackBerry::WebKit::InRegionScrollerPrivate::hasNode):
- (BlackBerry::WebKit::InRegionScrollerPrivate::canScroll):
- (BlackBerry::WebKit::InRegionScrollerPrivate::compositedSetScrollPosition):
- (BlackBerry::WebKit::InRegionScrollerPrivate::scrollBy):
- (BlackBerry::WebKit::InRegionScrollerPrivate::inRegionScrollableAreasForPoint):
- (BlackBerry::WebKit::InRegionScrollerPrivate::scrollNodeRecursively):
- (BlackBerry::WebKit::InRegionScrollerPrivate::scrollRenderer):
- (BlackBerry::WebKit::InRegionScrollerPrivate::adjustScrollDelta):
- (BlackBerry::WebKit::canScrollInnerFrame):
- (BlackBerry::WebKit::canScrollRenderBox):
- (BlackBerry::WebKit::parentLayer):
- (BlackBerry::WebKit::enclosingLayerNode):
- (BlackBerry::WebKit::isNonRenderViewFixedPositionedContainer):
- (BlackBerry::WebKit::pushBackInRegionScrollable):
- * Api/InRegionScroller.h: Copied from Source/WebKit/blackberry/WebKitSupport/InRegionScroller.h.
- (WebKit):
- (InRegionScroller):
- * Api/InRegionScroller_p.h: Renamed from Source/WebKit/blackberry/WebKitSupport/InRegionScroller.h.
- (WebCore):
- (WebKit):
- (InRegionScrollerPrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::scrollBy):
- (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStatusChanged):
- (BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
- (BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint):
- (BlackBerry::WebKit::WebPage::inRegionScroller):
- (WebKit):
- * Api/WebPage.h:
- (WebKit):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
-
-2012-08-08 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Make WebOverlayPrivate::scheduleCompositingRun a WebPagePrivate method.
- https://bugs.webkit.org/show_bug.cgi?id=93480
- PR #188682
-
- Reviewed by Rob Buis.
-
- ... this way it can be used by others.
-
- No behavioural change. Another preparation patch.
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayPrivate::scheduleCompositingRun):
- * Api/WebPage.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::scheduleCompositingRun):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-08-08 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r124887.
- http://trac.webkit.org/changeset/124887
- https://bugs.webkit.org/show_bug.cgi?id=93504
-
- Dependent API being removed. (Requested by mfenton on
- #webkit).
-
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- * WebKitSupport/InputHandler.h:
- (InputHandler):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- (BlackBerry::WebKit::TouchEventHandler::spellCheck):
- (WebKit):
- * WebKitSupport/TouchEventHandler.h:
- (TouchEventHandler):
-
-2012-08-08 Ed Baker <edbaker@rim.com>
-
- [BlackBerry] Add relayout after updating fixed reported size
- https://bugs.webkit.org/show_bug.cgi?id=93116
- PR #160059
-
- Reviewed by Antonio Gomes.
-
- Reviewed internally by Antonio Gomes.
-
- On an orientation change and after fixed reported size is
- updated perform a layout and update the fixed elements after
- scrolling. This will recalculate the height and width of
- fixed position elements using percentage values with the
- new fixed reported size. Otherwise using the old fixed reported
- size in the new orientation overflowing or clipping could occur.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
-
-2012-08-07 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] always set PolicyAction to PolicyIgnore if the chrome returns false for acceptNavigationRequest
- https://bugs.webkit.org/show_bug.cgi?id=93251
-
- Reviewed by George Staikos.
-
- In acceptNavigationRequest(), webkit will ask if the chrome will accept the navigation request.
- We will take this chance to see if the request is an internal-webkit protocol, otherwise,
- we will try to launch an external application to handle the request, and ask webkit to ignore
- the request by returning false in acceptNavigationRequest().
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
-
-2012-08-07 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Change how devicePixelRatio is set.
- https://bugs.webkit.org/show_bug.cgi?id=93385
-
- Reviewed by Antonio Gomes.
-
- Change devicePixelRatio to be set immediately after the page is created based
- on the WebSetting.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
-
-2012-08-07 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] [FullScreen] No need to scroll 'x' to 0 before entering fullscreen
- https://bugs.webkit.org/show_bug.cgi?id=91750
- PR #178293
-
- Reviewed by Rob Buis.
-
- We are not adjusting the 'left' CSS property of the fullscreen wrapper
- properly, so no need to scroll 'x' to 0 anymore.
-
- Internally reviewed by Jacky Jiang.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
-
-2012-08-07 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry][FullScreen] Remove the set/reset of touch modes code when entering/leaving fullscreen
- https://bugs.webkit.org/show_bug.cgi?id=92520
- PR #184511
-
- Reviewed by Yong Li.
- Internally reviewed by Gen Mak.
-
- Remove touch mode set/reset when entering/leaving fullscreen
- for media elements through the new FULLSCREEN_API code path.
- The client now handles it.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
- (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-08-07 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Add missing include in FrameLoaderClienBlackBerry after Base64 moved.
- https://bugs.webkit.org/show_bug.cgi?id=93383
-
- Reviewed by Rob Buis.
-
- Base64 moved from platform/text to wtf/text, need to add mssing
- include.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
-
-2012-08-07 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] InspectorOverlay class duplicated in WebCore
- https://bugs.webkit.org/show_bug.cgi?id=93124
-
- Reviewed by Rob Buis.
-
- Moved files to better align with namespace names.
-
- * WebKitSupport/InspectorOverlay.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/InspectorOverlay.cpp.
- (WebKit):
- (BlackBerry::WebKit::InspectorOverlay::create):
- (BlackBerry::WebKit::InspectorOverlay::InspectorOverlay):
- (BlackBerry::WebKit::InspectorOverlay::notifySyncRequired):
- (BlackBerry::WebKit::InspectorOverlay::paintContents):
- (BlackBerry::WebKit::InspectorOverlay::showDebugBorders):
- (BlackBerry::WebKit::InspectorOverlay::showRepaintCounter):
- (BlackBerry::WebKit::InspectorOverlay::~InspectorOverlay):
- (BlackBerry::WebKit::InspectorOverlay::clear):
- (BlackBerry::WebKit::InspectorOverlay::update):
- * WebKitSupport/InspectorOverlay.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/InspectorOverlay.h.
- (WebCore):
- (WebKit):
- (InspectorOverlay):
- (InspectorOverlayClient):
- (BlackBerry::WebKit::InspectorOverlay::setClient):
- (BlackBerry::WebKit::InspectorOverlay::notifyAnimationStarted):
-
-2012-08-07 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Update API for spell checking suggestions.
- https://bugs.webkit.org/show_bug.cgi?id=93356
-
- Reviewed by Antonio Gomes.
-
- PR 163283.
-
- Add connections for updated spell checking options request API. Move
- all this logic into InputHandler.
-
- Reviewed Internally by Gen Mak and Nima Ghanavatian.
-
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
- (WebKit):
- (BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
- * WebKitSupport/InputHandler.h:
- (Platform):
- (InputHandler):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- * WebKitSupport/TouchEventHandler.h:
- (TouchEventHandler):
-
-2012-08-06 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] About: shows PAGE_CACHE not enabled.
- https://bugs.webkit.org/show_bug.cgi?id=93216
-
- Reviewed by Antonio Gomes.
-
- Page cache is a feature that can be enabled/disabled at runtime, there's no
- MACRO named PAGE_CACHE to control the feature.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2012-08-03 Yong Li <yoli@rim.com>
-
- [BlackBerry] FrameLoaderClient::restoreViewState() shouldn't trigger painting
- https://bugs.webkit.org/show_bug.cgi?id=93141
-
- Reviewed by Rob Buis.
-
- PR# 172041.
- It is not always safe to render the page at this point. So we post a message
- instead.
-
- * Api/WebPage.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::restoreHistoryViewState):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
-
-2012-08-03 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] InspectorOverlay class duplicated in WebCore
- https://bugs.webkit.org/show_bug.cgi?id=93124
-
- Reviewed by Rob Buis.
-
- Changed namespace of InspectorOverlay from WebCore to
- BlackBerry::WebKit
-
- * Api/WebPage.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::setInspectorOverlayClient):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/InspectorClientBlackBerry.h:
- * WebCoreSupport/InspectorOverlay.cpp:
- (BlackBerry::WebKit::InspectorOverlay::create):
- (BlackBerry::WebKit::InspectorOverlay::InspectorOverlay):
- (BlackBerry::WebKit::InspectorOverlay::notifySyncRequired):
- (BlackBerry::WebKit::InspectorOverlay::paintContents):
- (BlackBerry::WebKit::InspectorOverlay::showDebugBorders):
- (BlackBerry::WebKit::InspectorOverlay::showRepaintCounter):
- (BlackBerry::WebKit::InspectorOverlay::contentsVisible):
- (BlackBerry::WebKit::InspectorOverlay::update):
- * WebCoreSupport/InspectorOverlay.h:
- (WebKit):
- (InspectorOverlayClient):
- (InspectorOverlay):
- (BlackBerry::WebKit::InspectorOverlay::notifyAnimationStarted):
-
-2012-08-03 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Overlays display checkerboard that doesn't resolve
- https://bugs.webkit.org/show_bug.cgi?id=93099
-
- Reviewed by Antonio Gomes.
-
- The WebKit-thread overlays, like tap highlight, inspector highlight and
- selection are all part of a separate graphics layer tree rooted in
- WebPagePrivate::m_overlayLayer.
-
- When LayerRenderer needs to schedule a commit to reactively render
- tiles and resolve checkerboard, it does so through the root layer.
- Since the overlay layer root didn't have a GraphicsLayerClient, there
- was no implementation of GraphicsLayerClient::notifySyncRequired() to
- call, and a commit was never scheduled, thus checkerboard never
- resolved.
-
- Fixed by adding a fallback implementation of GraphicsLayerClient in
- WebPagePrivate and hooking up the overlay root to it. Also, this
- implementation can be shared by the various overlays to avoide code
- duplication, specifically to implement notifySyncRequired(),
- showDebugBorders() and showRepaintCounter() only once.
-
- Fixing this revealed a bug where the web page would get stuck in an
- endless sequence of commits. It turned out that
- WebPagePrivate::updateDelegatedOverlays() was called right in the
- middle of the commit operation, after performing the webkit thread part
- of the commit operation but before we continued on the compositing
- thread. Since updateDelegatedOverlays() typically mutates layers, this
- is very bad (layers should not be mutated mid-commit). The mutations
- also cause a new commit to scheduled from within the current, which
- results in an endless sequence of commits.
-
- Fixed this latter bug by moving the updateDelegatedOverlays() call to
- the beginning of the method where it can cause no harm. This is before
- we mark the web page as no longer needing commit, so even if the
- implementation flips the "needs commit" bit, we will immediately flip
- it back and proceed with commit as usual.
-
- PR 187458, 184377
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::overlayLayer):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::notifySyncRequired):
- (BlackBerry::WebKit::WebPagePrivate::showDebugBorders):
- (BlackBerry::WebKit::WebPagePrivate::showRepaintCounter):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::notifyAnimationStarted):
- (BlackBerry::WebKit::WebPagePrivate::paintContents):
- * WebCoreSupport/InspectorOverlay.cpp:
- (WebCore::InspectorOverlay::notifySyncRequired):
- (WebCore::InspectorOverlay::showDebugBorders):
- (WebCore::InspectorOverlay::showRepaintCounter):
- * WebKitSupport/DefaultTapHighlight.cpp:
- (BlackBerry::WebKit::DefaultTapHighlight::notifySyncRequired):
- (BlackBerry::WebKit::DefaultTapHighlight::showDebugBorders):
- (WebKit):
- (BlackBerry::WebKit::DefaultTapHighlight::showRepaintCounter):
- * WebKitSupport/DefaultTapHighlight.h:
- (DefaultTapHighlight):
- * WebKitSupport/SelectionOverlay.cpp:
- (BlackBerry::WebKit::SelectionOverlay::notifySyncRequired):
- (BlackBerry::WebKit::SelectionOverlay::showDebugBorders):
- (WebKit):
- (BlackBerry::WebKit::SelectionOverlay::showRepaintCounter):
- * WebKitSupport/SelectionOverlay.h:
- (SelectionOverlay):
-
-2012-08-02 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Add default implementation of GraphicsLayerClient::contentsVisible()
- https://bugs.webkit.org/show_bug.cgi?id=93036
-
- Reviewed by George Staikos.
-
- Remove implementation of GraphicsLayerClient::contentsVisible() now
- that it has a default implementation.
-
- This also fixes a bug where memory usage for the inspector highlight
- overlay would balloon because it returned true from contentsVisible()
- which would cause the LayerTiler to populate all tiles. The default
- implementation returns false instead.
-
- PR 187458, 184377
-
- * WebCoreSupport/InspectorOverlay.cpp:
- (WebCore::InspectorOverlay::showRepaintCounter):
- * WebCoreSupport/InspectorOverlay.h:
- (InspectorOverlay):
- * WebKitSupport/DefaultTapHighlight.h:
- * WebKitSupport/SelectionOverlay.h:
-
-2012-08-02 Antonio Gomes <agomes@rim.com>
-
- Unreviewed debug build fix (bug 92889)
-
- * WebKitSupport/InRegionScroller.cpp:
- (BlackBerry::WebKit::pushBackInRegionScrollable):
-
-2012-08-02 Leo Yang <leoyang@rim.com>
-
- [BlackBerry] Rounding error of destination rect of checkerboard
- https://bugs.webkit.org/show_bug.cgi?id=93012
-
- Reviewed by Rob Buis.
-
- Reviewed internally by Jakob Petsovits.
-
- Intersect with the destination rectangle to eliminate the rounding error.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
-
-2012-08-01 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Implement InRegionScroller class as a in-region scroll controller
- https://bugs.webkit.org/show_bug.cgi?id=92889
- PR #186587
-
- Reviewed by Yong Li.
-
- Internally reviewed by Arvid Nilsson.
-
- Moved all in-region scrolling code out of WebPagePrivate to the just
- created InRegionScroller class. This class aims to:
-
- 1) Centralize all in-region scroll code and clean up WebPagePrivate as a consequence.
- 2) Be the bases to add UI/Compositing thread driven scrolls to in-region.
-
- The patch does not change any functionallity change.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPagePrivate::scrollBy):
- (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStatusChanged):
- (BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
- (BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::layer):
- * WebKitSupport/InRegionScroller.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::canScrollInnerFrame):
- (BlackBerry::WebKit::canScrollRenderBox):
- (BlackBerry::WebKit::parentLayer):
- (BlackBerry::WebKit::enclosingLayerNode):
- (BlackBerry::WebKit::isNonRenderViewFixedPositionedContainer):
- (BlackBerry::WebKit::pushBackInRegionScrollable):
- (BlackBerry::WebKit::InRegionScroller::InRegionScroller):
- (BlackBerry::WebKit::InRegionScroller::setNode):
- (BlackBerry::WebKit::InRegionScroller::node):
- (BlackBerry::WebKit::InRegionScroller::reset):
- (BlackBerry::WebKit::InRegionScroller::isNull):
- (BlackBerry::WebKit::InRegionScroller::scrollBy):
- (BlackBerry::WebKit::InRegionScroller::inRegionScrollableAreasForPoint):
- (BlackBerry::WebKit::InRegionScroller::scrollNodeRecursively):
- (BlackBerry::WebKit::InRegionScroller::scrollRenderer):
- (BlackBerry::WebKit::InRegionScroller::adjustScrollDelta):
- * WebKitSupport/InRegionScroller.h: Added.
- (WebCore):
- (WebKit):
- (InRegionScroller):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
-
-2012-08-01 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Favicon should be Base64 encoded for cross-process passing
- https://bugs.webkit.org/show_bug.cgi?id=92857
-
- Reviewed by George Staikos.
-
- The current implementation just passes the internal of SkPixels data to the client,
- which can't be passed accross the process boundary to chrome for processing.
- This patch makes the favicon Base64 encoded so that can be passed to chrome in another process.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveIcon):
-
-2012-08-01 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Allow client side to add and remove origin access whitelist entries
- https://bugs.webkit.org/show_bug.cgi?id=92790
-
- Reviewed by Yong Li.
-
- PR: 172658
- Add two new APIs to add and remove origin access whitelist entries.
- Initialize the BlackBerryAllowCrossSiteRequests WebSetting to false.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::addOriginAccessWhitelistEntry):
- (WebKit):
- (BlackBerry::WebKit::WebPage::addOriginAccessWhitelistEntry):
- (BlackBerry::WebKit::WebPagePrivate::removeOriginAccessWhitelistEntry):
- (BlackBerry::WebKit::WebPage::removeOriginAccessWhitelistEntry):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * Api/WebSettings.cpp:
- (BlackBerry::WebKit::WebSettings::standardSettings):
-
-2012-08-01 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Consolidate suppression of keyboard requests.
- https://bugs.webkit.org/show_bug.cgi?id=92871
-
- Reviewed by Antonio Gomes.
-
- Reduce VKB requests even more by applying the filter on
- all requests during processing.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::focusedNodeChanged):
- (BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
-
-2012-08-01 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Disable tap highlight when transparent color is specified
- https://bugs.webkit.org/show_bug.cgi?id=92849
-
- Reviewed by Antonio Gomes.
-
- When the web page specifies -webkit-tap-highlight-color:rgba(0,0,0,0)
- or any color with alpha value 0, we should disable the tap highlight.
-
- * WebKitSupport/DefaultTapHighlight.cpp:
- (BlackBerry::WebKit::DefaultTapHighlight::draw):
-
-2012-07-31 Robin Cao <robin.cao@torchmobile.com.cn>
-
- [BlackBerry] Pass all file chooser settings to clients
- https://bugs.webkit.org/show_bug.cgi?id=92237
-
- Reviewed by Rob Buis.
-
- Expose all file chooser settings to clients.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::runOpenPanel):
-
-2012-07-31 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Fix crash in InputHandler spell checking.
- https://bugs.webkit.org/show_bug.cgi?id=92763
-
- Reviewed by Antonio Gomes.
-
- PR 185574.
-
- Fix crash in getSpellChecker by guarding the calling paths
- to ensure that m_currentFocusElement is valid.
-
- Also add ASSERTs for previous crash.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
- (BlackBerry::WebKit::InputHandler::getSpellChecker):
-
-2012-07-31 Genevieve Mak <gmak@rim.com>
-
- Send an onContextMenu event to the page content
- so that context menus can be prevented. We use
- the node's event handler because we want to use
- the fat finger's node. If we use the EventHandler's
- sendContextMenuEvent it will hit test with the mouse
- position which may not be what we want.
- PR #184032
- https://bugs.webkit.org/show_bug.cgi?id=92766
-
- Reviewed by Antonio Gomes.
- Reviewed Internally by Antonio Gomes.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- (BlackBerry::WebKit::WebPagePrivate::contextNode):
-
-2012-07-31 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Backing store output flickers when using WebPageCompositor
- https://bugs.webkit.org/show_bug.cgi?id=90291
-
- Reviewed by Antonio Gomes.
-
- The backing store doesn't know when the API client swaps the buffers,
- so it doesn't know when to signal the blit generation condition
- variable. Fixed by using EGL fence sync instead, when available, so we
- don't have to know.
-
- Reviewed internally by Filip Spacek.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::~BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
- (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * WebKitSupport/BackingStoreTile.cpp:
- (BlackBerry::WebKit::TileBuffer::TileBuffer):
- * WebKitSupport/BackingStoreTile.h:
- (BlackBerry::WebKit::TileBuffer::syncObject):
- (BlackBerry::WebKit::TileBuffer::setSyncObject):
- (TileBuffer):
- * WebKitSupport/SurfacePool.cpp:
- (WebKit):
- (BlackBerry::WebKit::SurfacePool::SurfacePool):
- (BlackBerry::WebKit::SurfacePool::initialize):
- (BlackBerry::WebKit::SurfacePool::waitForBuffer):
- (BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
- * WebKitSupport/SurfacePool.h:
- (SurfacePool):
-
-2012-07-30 Yoshifumi Inoue <yosin@chromium.org>
-
- [Forms] Get rid of Element::isReadOnlyFormControl other than CSS related
- https://bugs.webkit.org/show_bug.cgi?id=92612
-
- Reviewed by Kent Tamura.
-
- This patch replaces Element::isReadOnlyFormControl() to
- HTMLFormControlElement::readOnly() for preparation of introducing
- Element::shouldMatchReadWriteSelector(), bug 92602.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isTextBasedContentEditableElement): Replaced isReadOnlyFormControl() by HTMLTextFormControlElement::readOnly().
-
-2012-07-30 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Optimize the generation of selection details generation.
- https://bugs.webkit.org/show_bug.cgi?id=92522
-
- Reviewed by Antonio Gomes.
-
- PR 179264.
-
- Reduce the number of times we generate selection details notifications.
-
- This removes several notifications that are handled by the standard
- notification path and makes skipping duplicate notifications the default
- so that only those that must generate a response do.
-
- Reviewed Internally by Gen Mak.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::notifyTransformedContentsSizeChanged):
- (BlackBerry::WebKit::WebPagePrivate::updateDelegatedOverlays):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
- (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
- (BlackBerry::WebKit::SelectionHandler::setSelection):
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
-
-2012-07-30 Robin Cao <robin.cao@torchmobile.com.cn>
-
- [BlackBerry] Adapt to changes in the SharedArray platform API
- https://bugs.webkit.org/show_bug.cgi?id=92631
-
- Reviewed by Rob Buis.
-
- Adapt to changes in the SharedArray platform API. No behavioural change.
-
- Reviewed internally by Joe Mason.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::getBackForwardList):
- * Api/WebPage.h:
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::runOpenPanel):
-
-2012-07-30 Patrick Gansterer <paroga@webkit.org>
-
- Replace UnicodeWinCE with UnicodeWchar
- https://bugs.webkit.org/show_bug.cgi?id=92539
-
- Reviewed by Ryosuke Niwa.
-
- UnicodeWinCE never contained WinCE specific code. UnicodeWchar
- is a replacement for it, which is mainly based on the functions
- from <wchar.h>. It is ment as a minimal Unicode backend, which
- can be used very easy and has no external dependencies.
-
- * WebCoreSupport/AboutDataUseFeatures.in:
-
-2012-07-27 Eli Fidler <efidler@rim.com>
-
- [BlackBerry] Adapt to change in the FontInfo platform API.
- https://bugs.webkit.org/show_bug.cgi?id=92547
-
- Reviewed by Yong Li
-
- RIM PR 161263
-
- * Api/WebSettings.cpp:
- (BlackBerry::WebKit::WebSettings::standardSettings):
-
-2012-07-27 Yong Li <yoli@rim.com>
-
- [BlackBerry] Should support onbeforeunload event and show confirmation dialog
- https://bugs.webkit.org/show_bug.cgi?id=92510
-
- Reviewed by Antonio Gomes.
-
- RIM PR# 155878.
- 1. Export dispatchBeforeUnloadEvent() so client can call it before going to close the page.
- 2. Forward runBeforeUnloadConfirmPanel() call to client so it can show a dialog.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::dispatchBeforeUnloadEvent):
- (WebKit):
- * Api/WebPage.h:
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::canRunBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientBlackBerry::runBeforeUnloadConfirmPanel):
-
-2012-07-27 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Switch InputHandler malloc use to fastMalloc for cases that should never fail
- https://bugs.webkit.org/show_bug.cgi?id=92508
-
- Reviewed by Yong Li.
-
- Replace common uses of malloc with fastMalloc rather
- than trying to recover gracefully. If we are truly
- out of memory, crash before corruption occurs.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::spannableTextInRange):
- (BlackBerry::WebKit::InputHandler::extractedTextRequest):
-
-2012-07-26 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Remove synchronous spellchecking code
- https://bugs.webkit.org/show_bug.cgi?id=92415
-
- Removing synchronous spellchecking code path.
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::checkSpellingOfString):
-
-2012-07-26 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Support async spellcheck for the blackberry port
- https://bugs.webkit.org/show_bug.cgi?id=92160
-
- PR124517
- Implementing support for async spellcheck.
-
- Reviewed by Rob Buis.
-
- Internally reviewed by Mike Fenton.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::spellCheckingRequestCancelled):
- (WebKit):
- (BlackBerry::WebKit::WebPage::spellCheckingRequestProcessed):
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- * Api/WebPage.h:
- * Api/WebSettings.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebSettings::standardSettings):
- (BlackBerry::WebKit::WebSettings::isAsynchronousSpellCheckingEnabled):
- (BlackBerry::WebKit::WebSettings::setAsynchronousSpellCheckingEnabled):
- * Api/WebSettings.h:
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore):
- (WebCore::EditorClientBlackBerry::requestCheckingOfString):
- (WebCore::EditorClientBlackBerry::checkTextOfParagraph):
- * WebCoreSupport/EditorClientBlackBerry.h:
- (EditorClientBlackBerry):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
- (BlackBerry::WebKit::InputHandler::convertTransactionIdToSequenceId):
- (WebKit):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
- (BlackBerry::WebKit::InputHandler::getSpellChecker):
- * WebKitSupport/InputHandler.h:
- (WebCore):
- (InputHandler):
-
-2012-07-26 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Improve the logs in Selection Handler.
- https://bugs.webkit.org/show_bug.cgi?id=92405
-
- Reviewed by Rob Buis.
-
- Clean up selection logging, fix priority and style
- of helper function.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::cancelSelection):
- (BlackBerry::WebKit::SelectionHandler::shouldUpdateSelectionOrCaretForPoint):
- (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
- (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
- (BlackBerry::WebKit::SelectionHandler::setSelection):
- (BlackBerry::WebKit::SelectionHandler::selectObject):
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
-
-2012-07-26 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Add timing logs to SelectionHandler.
- https://bugs.webkit.org/show_bug.cgi?id=92404
-
- Reviewed by Rob Buis.
-
- Add selection timing logs.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::setSelection):
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
-
-2012-07-26 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] InputHandler failure logs should be logAlways and critical.
- https://bugs.webkit.org/show_bug.cgi?id=92403
-
- Reviewed by Rob Buis.
-
- Update Log level for failures and fix mask in log.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::convertStringToWchar):
- (BlackBerry::WebKit::convertStringToWcharVector):
- (BlackBerry::WebKit::convertSpannableStringToString):
- (BlackBerry::WebKit::InputHandler::spannableTextInRange):
- (BlackBerry::WebKit::InputHandler::setTextAttributes):
-
-2012-07-26 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Refactor BackingStorePrivate::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion() to avoid touching tile frontbuffer
- https://bugs.webkit.org/show_bug.cgi?id=92095
-
- Reviewed by George Staikos.
-
- PR: 141439
- Specifically, we want to avoid changing the rendered region of the
- front buffer without proper synchronization.
-
- The method is trying to force checkerboard to appear on screen because
- an area was invalidated but the render job was dropped, so the tile
- contents are now invalid.
-
- Unfortunately it did this in a way which is not thread safe. Fixed by
- making it thread safe, in a way that minimizes memory bandwidth usage.
-
- Instead of using the customary sequence of copy-back, modify and swap,
- we send a synchronous message to the compositing thread to avoid the
- copy-back step and save memory bandwidth. The trade-off is that the
- WebKit thread might wait a little longer for the compositing thread
- than it would from a waitForCurrentMessage() call.
-
- The way we synchronize this is rather expensive for the WebKit thread,
- and this method is called rather carelessly, so add various early
- returns to avoid doing it redundantly.
-
- Internally reviewed by Jakob Petsovits and Adam Treat.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::indexOfTile):
- (BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
-
-2012-07-26 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Refactor BackingStorePrivate::render() to avoid touching tile frontbuffer
- https://bugs.webkit.org/show_bug.cgi?id=91989
-
- Reviewed by George Staikos.
-
- PR: 141439
- Specifically, we want to avoid changing the rendered region of the
- front buffer. The code only touched the front buffer rendered region
- if the tile was not committed.
-
- Instead of immediately marking the tile as committed, and clearing the
- front buffer's rendered region to make it appear as checkerboard, we
- leave the front buffer alone and only mark the tile as committed once
- the front buffer has valid content. Un-committed tiles will also be
- rendered as checkerboard, so leaving it uncommitted is equivalent to
- clearing the front buffer rendered region here.
-
- In addition to the main change, some related changes follow naturally.
-
- The copyPreviousContentsToBackSurfaceOfTile() call only makes sense if
- the tile is committed, and the front buffer has valid content.
- Otherwise, clearing the back buffer is equivalent. The code has been
- updated to this effect.
-
- Since copyPreviousContentsToBackSurfaceOfTile() always sets the
- rendered region to the union of the front and back buffer regions,
- there is no point in the "backBufferIsValid" check. It has been turned
- into an ASSERT instead, just to make sure.
-
- Internally reviewed by Jakob Petsovits.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::render):
-
-2012-07-25 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Support RTSP in browser
- https://bugs.webkit.org/show_bug.cgi?id=92233
-
- Reviewed by Rob Buis.
-
- Handle URL scheme "rtsp://" before creating the DocumentLoader
- and send the request to webkit. As we don't have any application
- which can deal with rtsp invocation for now, we need to create
- a media document to wrap the rtsp url within a video tag which
- makes it load as a normal video clip.
-
- RIM PR: 169669
- Internally reviewed by Charles Wei <charles.wei@torchmobile.com.cn>.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::createDocumentLoader):
-
-2012-07-25 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Rephrase suspend/resume condition to guard against crashes
- https://bugs.webkit.org/show_bug.cgi?id=92300
- PR 182125
-
- Reviewed by George Staikos.
-
- When the compositor is removed from a WebPage, it might
- already have unset its context, and issuing a call to
- BackingStore::buffer() would therefore cause a crash.
- Just guarding buffer() from this crash isn't fully
- correct, because then we wouldn't suspend rendering
- for a compositor that had been previously enabled.
-
- Instead, change the condition to suspend/resume in
- WebPagePrivate::setCompositor() to focus on the
- object that delivers us the buffer. If we can't
- listen to the context or buffer being set, better
- just take the compositor object itself to determine
- whether we have something valid or not... and hope
- that they give us a valid context & buffer in all
- situations when we can actually be rendering.
-
- Also check compositor->context() in buffer() to be
- non-zero before accessing the context's buffer,
- because more defensive coding can't hurt here.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::buffer):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setCompositor):
-
-2012-07-25 Joshua Netterfield <jnetterfield@rim.com>
-
- [BlackBerry] Update about:config lists
- https://bugs.webkit.org/show_bug.cgi?id=92118
-
- Reviewed by Rob Buis.
-
- Remove features from list that have either been removed from WebKit
- or that have been moved from one list to another.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
- * WebCoreSupport/AboutDataHaveFeatures.in:
- * WebCoreSupport/AboutDataUseFeatures.in:
-
-2012-07-25 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] clock_gettime() in BackingStore.cpp should use CLOCK_MONOTONIC
- https://bugs.webkit.org/show_bug.cgi?id=91898
-
- Reviewed by Yong Li.
-
- Let pthread condition variable in BackingStore.cpp use monotonic clock
- to fix a regression caused by r123266.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
-
-2012-07-25 Andy Chen <andchen@rim.com>
-
- [BlackBerry] Add "SelectAll" to WebPage
- https://bugs.webkit.org/show_bug.cgi?id=92246
-
- Reviewed by Antonio Gomes.
-
- Add "Select All" editor command to WebPage.
- Internally reviewed by Mike Fenton.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::selectAll):
- (WebKit):
- * Api/WebPage.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::selectAll):
- (WebKit):
- * WebKitSupport/InputHandler.h:
-
-2012-07-25 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Don't touch a tile buffer while it's still on its way to the GPU
- https://bugs.webkit.org/show_bug.cgi?id=91992
-
- Reviewed by Adam Treat.
-
- PR: 141439
- The copyPreviousContentsToBackSurfaceOfTile() call will also modify
- buffer contents, move it after the blit generation condvar to make sure
- we've waited for the buffer to become available first.
-
- This is done as part of some general BackingStorePrivate::render()
- cleanup in PR 141439.
-
- Internally reviewed by Jakob Petsovits.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::render):
-
-2012-07-25 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] notifyContentRendered() call missing in two spots
- https://bugs.webkit.org/show_bug.cgi?id=92153
- RIM PR 173340
-
- Reviewed by Antonio Gomes.
-
- In dispatchDidFirstVisualLayout() and repaint() in
- immediate mode, we render but don't notify the
- WebPageClient that the content was modified.
-
- In the long run, we should probably keep track of
- the modified reason from within render() itself
- and use this to automatically notify the client
- from within blitContents() and/or invalidateWindow(),
- depending on the rendering path. That's somewhat of
- a medium-size undertaking though; for now, adding
- the call directly to the renderVisibleContents()
- call sites will do.
-
- This patch also adds a blitVisibleContents() to
- dispatchDidFirstVisualLayout() where it was
- inexplicably missing, probably on account of
- old code that was never updated.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::repaint):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFirstVisuallyNonEmptyLayout):
-
-2012-07-24 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Do not call settings setters twice on page construction
- https://bugs.webkit.org/show_bug.cgi?id=92157
-
- Reviewed by Yong Li.
-
- The WebPagePrivate init method sets some settings value that were
- already set in didChangeSettings. setUseHixie76WebSocketProtocol just
- sets the default value, no need to set it again.
- Also call didChangeSettings explicitly from init, before that we are
- not calling it since the delegate is not set yet.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
-
-2012-07-24 Mike Fenton <mifenton@rim.com>
-
- Throttle calls to request the virtual keyboard be shown.
- https://bugs.webkit.org/show_bug.cgi?id=92138
-
- Reviewed by Rob Buis.
-
- PR 178465.
-
- Do not request keyboard visibility change when
- we are actively processing an input event.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::focusedNodeChanged):
-
-2012-07-24 Joshua Netterfield <jnetterfield@rim.com>
-
- [BlackBerry] Update about:config lists
- https://bugs.webkit.org/show_bug.cgi?id=92118
-
- Reviewed by Rob Buis.
-
- We want to have all flags which could be used / have been used by any platform. These lists were created by running:
-
- * WebCoreSupport/AboutDataEnableFeatures.in: `git grep "ENABLE(" | cut -d "(" -f2 | cut -d ")" -f1 | sort -u`
- * WebCoreSupport/AboutDataHaveFeatures.in: `git grep "HAVE(" | cut -d "(" -f2 | cut -d ")" -f1 | sort -u`
- * WebCoreSupport/AboutDataUseFeatures.in: `git grep "USE(" | cut -d "(" -f2 | cut -d ")" -f1 | sort -u`
-
-2012-07-24 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Remove unused variable in BackingStore.cpp
- https://bugs.webkit.org/show_bug.cgi?id=91987
-
- Reviewed by Antonio Gomes.
-
- PR: 141439
- This is done as part of some general BackingStorePrivate::render()
- cleanup in PR 141439.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::render):
-
-2012-07-23 Yong Li <yoli@rim.com>
-
- [BlackBerry] Move about: URL handling out of WebCore
- https://bugs.webkit.org/show_bug.cgi?id=91541
-
- Reviewed by Rob Buis.
-
- PR# 181304.
- Move about: URL handling to the right place (FrameLoaderClientBlackBerry::createDocumentLoader), so
- reload and history navigation can work.
- Other changes: Remove about:version which makes little sense. Make about:memory partially visible.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::load): Remove the call to loadAbout()
- * Api/WebPage_p.h: Remove loadAbout()
- (WebPagePrivate):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::createDocumentLoader): Construct about: data here.
- * WebKitSupport/AboutData.cpp:
- (BlackBerry::WebKit::numberToHTMLTr): Make it static
- (BlackBerry::WebKit::configPage): Make it static
- (BlackBerry::WebKit::memoryPage): Make it static
- (BlackBerry::WebKit::cachePage):
- (BlackBerry::WebKit::buildPage):
- (BlackBerry::WebKit::creditsPage):
- (BlackBerry::WebKit::cookiePage):
- (BlackBerry::WebKit::aboutData): The only export function that returns HTML source for a given about: URL.
- (WebKit):
- * WebKitSupport/AboutData.h:
- (WebKit):
-
-2012-07-23 Pierre Rossi <pierre.rossi@gmail.com>
-
- Unify numTouchEventHandlersChanged and needTouchEvents in the chrome client
- https://bugs.webkit.org/show_bug.cgi?id=91006
-
- Reviewed by Ryosuke Niwa.
-
- Removed numTouchEventHandlersChanged stub.
-
- * WebCoreSupport/ChromeClientBlackBerry.h:
-
-2012-07-22 Kent Tamura <tkent@chromium.org>
-
- Rename ENABLE_METER_TAG and ENABLE_PROGRESS_TAG to ENABLE_METER_ELEMENT and ENABLE_PROGRESS_ELEMENT respectively
- https://bugs.webkit.org/show_bug.cgi?id=91941
-
- Reviewed by Kentaro Hara.
-
- A flag name for an elmement should be ENABLE_*_ELEMENT.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2012-07-20 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] clock_gettime() in BackingStore.cpp should use CLOCK_MONOTONIC
- https://bugs.webkit.org/show_bug.cgi?id=91898
-
- Reviewed by Yong Li.
-
- PR: 181043
- Use CLOCK_MONOTONIC when we do expect a monotonic timer.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
-
-2012-07-20 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Add Cancel button for Select popup
- https://bugs.webkit.org/show_bug.cgi?id=91887
-
- Reviewed by Yong Li.
-
- PR 177706
-
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::generateHTML):
- (WebCore::SelectPopupClient::setValueAndClosePopup):
-
-2012-07-19 Mary Wu <mary.wu@torchmobile.com.cn>
-
- [BlackBerry] Make sure to send favicon when go back/forward
- https://bugs.webkit.org/show_bug.cgi?id=91808
-
- Reviewed by George Staikos.
-
- When go back/forward, if the page was in page cache, it would have no chance
- to send favicon. So we'll send it in commitLoad right after send the blank
- icon.
- RIM PR# 177495
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidCommitLoad):
-
-2012-07-19 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Suspend when there's no target buffer until an external compositor is set
- https://bugs.webkit.org/show_bug.cgi?id=91686
- RIM PR 174365
-
- Reviewed by Antonio Gomes.
-
- If we don't have a client window (i.e. rendering to
- GL directly) and a WebPageCompositor is only set
- after a rendering operation, then we'll try to render
- to BackingStorePrivate::buffer() which doesn't exist
- at this point. That's bad, and gets us various
- assertions and possibly worse.
-
- Fix it by starting in a screen-suspended state and only
- resuming screen and backingstore once a compositor is
- actually set.
-
- So, in effect, with this patch applied, the sequence
- of events will look like this:
-
- 1) WebPage & BackingStore are initialize, neither window
- nor compositor exists, therefore buffer() returns 0.
- createSurface() therefore suspends screen and
- backingstore.
- 2) loadURL() or loadData() is called, web page is
- fully loaded, however we don't try to render because
- we're still suspended, still have no target buffer.
- 3) A WebPageCompositor is being set from outside.
- At the beginning of WebPage::setCompositor() we still
- don't have a buffer() so there's nothing to suspend,
- however, after the sync call to setCompositorHelper()
- the compositor is set so buffer() will return a
- nonzero value, causing us to resume at this point.
-
- Using the existence of a target buffer to determine
- whether or not to enable rendering or keep it suspended
- seems like a good idea, and the implementation (while
- not quite perfect yet) is a step forward from before.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::createSurfaces):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setCompositor):
- (BlackBerry::WebKit::WebPagePrivate::setCompositorHelper):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-07-19 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Allow nested suspend/resume screen & backingstore calls.
- https://bugs.webkit.org/show_bug.cgi?id=91644
- RIM PR 174365
-
- Reviewed by Adam Treat and Antonio Gomes.
-
- We expose suspendScreenAndBackingStoreUpdates() to the
- outside API, but also use it internally when reacting
- to a number of happenings, i.e. zooming, viewport resize,
- resetting view state on Committed state or when restoring
- it from previous pages, etc.
-
- These two can clash. For instance, if we get a suspend
- call from outside that suspends us for app inactivity,
- or we are told to suspend because the main target surface
- is not available at the time, and while being suspended
- we try to rotate, finish loading a page, the we'll end up
- resuming operations even though we shouldn't.
-
- This patch changes the suspend flag to be a counter
- instead, allowing nested suspend/resume calls and making
- suspend/resume more robust this way. It also changes
- several call sites to make sure suspend/resume calls are
- paired up correctly.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::suspendScreenAndBackingStoreUpdates):
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenAndBackingStoreUpdates):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::shouldZoomAboutPoint):
- (BlackBerry::WebKit::WebPagePrivate::zoomAboutPointTimerFired):
- (BlackBerry::WebKit::WebPagePrivate::blockZoomRectForNode):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
-
-2012-07-18 Yong Li <yoli@rim.com>
-
- [BlackBerry] Move about: URL handling out of WebCore
- https://bugs.webkit.org/show_bug.cgi?id=91541
-
- Reviewed by Rob Buis.
-
- Move about URL handling code to WebKit/blackberry. Now when WebPage is asked to load an about URL,
- it directly calls loadString() with the generated source.
-
- Also move AboutData.h/cpp from WebCoreSupport to WebKitSupport and change their namespace from WebCore
- to BlackBerry::WebKit.
-
- The change is very mechanical except "procss total memory usage" in about:memory now only accounts used
- bytes and ignore free spaces in malloc.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::loadAbout):
- (WebKit):
- (BlackBerry::WebKit::WebPage::load):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/AboutData.cpp: Renamed from Source/WebKit/blackberry/WebCoreSupport/AboutData.cpp.
- (WebKit):
- (BlackBerry::WebKit::writeFeatures):
- (BlackBerry::WebKit::numberToHTMLTr):
- (BlackBerry::WebKit::bool):
- (BlackBerry::WebKit::configPage):
- (BlackBerry::WebKit::cacheTypeStatisticToHTMLTr):
- (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
- (BlackBerry::WebKit::memoryPage):
- * WebKitSupport/AboutData.h: Renamed from Source/WebKit/blackberry/WebCoreSupport/AboutData.h.
- (WebKit):
-
-2012-07-17 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Remove unnecessary clearWindow() calls and the method itself
- https://bugs.webkit.org/show_bug.cgi?id=91540
- RIM PR 174365
-
- Reviewed by Adam Treat.
-
- If we resume the backingstore right afterwards with
- RenderAndBlit then that'll fill the whole visible area
- with content, making a clearWindow() call unnecessary.
- This call is a remnant from ages ago, and is well suited
- to disappear into nothingness.
-
- (There is still a clearWindow() call, with rect argument,
- which we continue using. This commit only removes the
- rect-less version.)
-
- * Api/BackingStore.cpp:
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
- (BlackBerry::WebKit::WebPagePrivate::zoomBlock):
-
-2012-07-17 Vivek Galatage <vivekgalatage@gmail.com>
-
- Web Inspector: refactor InspectorController::connectFrontend() to accept InspectorFrontendChannel.
- https://bugs.webkit.org/show_bug.cgi?id=91196
-
- Reviewed by Pavel Feldman.
-
- Refactoring InspectorClients. InspectorClient::openInspectorFrontend
- now returning the InspectorFrontendChannel.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPage::enableWebInspector):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/InspectorClientBlackBerry.cpp:
- (WebCore::InspectorClientBlackBerry::openInspectorFrontend):
- * WebCoreSupport/InspectorClientBlackBerry.h:
- (InspectorClientBlackBerry):
-
-2012-07-17 Chris Guan <chris.guan@torchmobile.com.cn>
-
- [BlackBerry] Enable registerProtocolHandler for Blackberry
- https://bugs.webkit.org/show_bug.cgi?id=90422
-
- Reviewed by George Staikos.
-
- Implements APIs were added in Custom Scheme Handler specification
- which is at http://dev.w3.org/html5/spec/Overview.html#custom-handlers.
-
- Test cases:
- fast/dom/register-protocol-handler.html
- fast/dom/unregister-protocol-handler.html
-
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::isProtocolHandlerRegistered):
- (WebCore::ChromeClientBlackBerry::unregisterProtocolHandler):
- (WebCore::ChromeClientBlackBerry::registerProtocolHandler):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2012-07-16 Benjamin C Meyer <bmeyer@rim.com>
-
- Any webpage can crash webkit via qnx.callExtensionMethod assuming 'this' is the 'qnx' object.
- https://bugs.webkit.org/show_bug.cgi?id=91419
-
- Run the following in inspector to crash WebKit
-
- qnx.callExtensionMethod.apply(window, []);
-
- In the c++ that handles the function it assumes that when callExtensionMethod
- is called that 'this' is the object 'qnx'. The qnx object has a hidden
- variable that the code casts and uses, but when 'this' is not qnx such as the
- example this will cause a crash. Any website can insert the above JavaScript
- to cause the crash.
-
- Reviewed by Yong Li.
-
- * WebCoreSupport/ClientExtension.cpp:
- (clientExtensionMethod):
-
-2012-07-16 Yong Li <yoli@rim.com>
-
- [BlackBerry] Improve about:memory page
- https://bugs.webkit.org/show_bug.cgi?id=87676
-
- Reviewed by Rob Buis.
-
- Add a table for process memory usage summary for easy read.
-
- * WebCoreSupport/AboutData.cpp:
- (WebCore::memoryPage):
-
-2012-07-16 Kihong Kwon <kihong.kwon@samsung.com>
-
- Remove setController from BatteryClient
- https://bugs.webkit.org/show_bug.cgi?id=90944
-
- Reviewed by Adam Barth.
-
- BatteryClient doesn't need to keep m_controller,
- because BatteryController can be accessed using BatteryController::from().
- Remove m_controller and Add webPagePrivate to BatteryClientBlackBerry.
- And change all m_controller to BatteryController::from.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebCoreSupport/BatteryClientBlackBerry.cpp:
- (WebCore::BatteryClientBlackBerry::BatteryClientBlackBerry):
- (WebCore::BatteryClientBlackBerry::onLevelChange):
- (WebCore::BatteryClientBlackBerry::onChargingChange):
- (WebCore::BatteryClientBlackBerry::onChargingTimeChange):
- (WebCore::BatteryClientBlackBerry::onDischargingTimeChange):
- * WebCoreSupport/BatteryClientBlackBerry.h:
- (BatteryClientBlackBerry):
-
-2012-07-16 Yongxin Dai <yodai@rim.com>
-
- [BlackBerry] Text selection with touch hold does not start on text field in some cases
- https://bugs.webkit.org/show_bug.cgi?id=91267
-
- Reviewed by Antonio Gomes.
-
- Input fields host node is by spec non-editable unless the field itself has content editable enabled.
- We enable selection if the shadow tree for the input field is selectable.
- PR # 173450
-
- Reviewed Internally by Mike Fenton.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
-
-2012-07-15 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Move icon database to application data directory.
- https://bugs.webkit.org/show_bug.cgi?id=91195
-
- Reviewed by Rob Buis.
-
- RIM PR: 156852
- Create icon database in application data directory instead of
- database or local storage directory, by doing this we can make
- things easier when clearing database or local storage data files.
-
- Internally reviewed by Charles Wei <charles.wei@torchmobile.com.cn>
-
- * WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
- (WebCore::IconDatabaseClientBlackBerry::initIconDatabase):
-
-2012-07-13 Xianzhu Wang <wangxianzhu@chromium.org>
-
- Move WebCore/platform/text/Base64 to WTF/wtf/text
- https://bugs.webkit.org/show_bug.cgi?id=91162
-
- Reviewed by Adam Barth.
-
- * Api/WebKitTextCodec.cpp:
- (BlackBerry::WebKit::base64DecodePolicyForWTF):
- (BlackBerry::WebKit::base64Decode):
- (BlackBerry::WebKit::base64EncodePolicyForWTF):
- (BlackBerry::WebKit::base64Encode):
- * Api/WebSettings.cpp:
- (BlackBerry::WebKit::WebSettings::setUserStyleSheetString):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
-
-2012-07-13 George Staikos <staikos@webkit.org>
-
- [BlackBerry] Fix crash due to unguarded use of renderer in select
- popup.
- https://bugs.webkit.org/show_bug.cgi?id=91287
-
- Reviewed by Rob Buis.
-
- No known testcase for this. Found in the wild.
-
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::setValueAndClosePopup):
-
-2012-07-13 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Add support for attributes to define keyboard and enter key type on the Virtual Keyboard
- https://bugs.webkit.org/show_bug.cgi?id=91248
-
- Reviewed by Antonio Gomes.
-
- PR 174733.
-
- Add data-blackberry-virtual-keyboard-type and
- data-blackberry-virtual-keyboard-enter-key to
- enable configuration of the desired virtual keyboard
- using element attributes.
-
- Reviewed Internally by Gen Mak.
-
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::convertStringToKeyboardType):
- (WebKit):
- (BlackBerry::WebKit::keyboardTypeAttribute):
- (BlackBerry::WebKit::convertStringToKeyboardEnterKeyType):
- (BlackBerry::WebKit::keyboardEnterKeyTypeAttribute):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
-
-2012-07-13 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] resetBitmapZoomScale called while zooming preventing pinch zoom
- https://bugs.webkit.org/show_bug.cgi?id=91247
-
- Reviewed by Antonio Gomes.
-
- PR: 175432
- On yahoo.com, the web page stopped zooming while trying to pinch as
- WebPageClient::resetBitmapZoomScale(double) was being called by
- WebPagePrivate::zoomToInitialScaleOnLoad() after load finished.
- And also yahoo.com was keeping updating layout, which made it really
- bad that zoomToInitialScaleOnLoad() was called many times when load
- finished and the load type was FrameLoadTypeStandard or FrameLoadTypeSame.
- As we only care about the situation that dispatchDidFirstVisuallyNonEmptyLayout()
- happens after load finished, we can move the code to that method and
- set a flag for WebPage layoutFinished() and zoomToInitialScaleOnLoad()
- instead. In this way, we can ensure that the flag is only enabled when
- dispatchDidFirstVisuallyNonEmptyLayout() is called after load finished
- and get rid of calling zoomToInitialScaleOnLoad() lots of times when
- keeping updating layout in such kind of situation.
-
- Internally reviewed by Arvid Nilsson
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::layoutFinished):
- * Api/WebPage_p.h:
- (BlackBerry::WebKit::WebPagePrivate::shouldZoomToInitialScaleOnLoad):
- (BlackBerry::WebKit::WebPagePrivate::setShouldZoomToInitialScaleAfterLoadFinished):
- (WebPagePrivate):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFirstVisuallyNonEmptyLayout):
-
-2012-07-13 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Use fillBuffer() instead of a user-defined background image.
- https://bugs.webkit.org/show_bug.cgi?id=91180
- RIM PR 171458
-
- Reviewed by Rob Buis.
- Internally reviewed by Andrew Lo.
-
- By using Platform::Graphics::fillBuffer() to fill the
- overscroll area, we save graphics memory for the buffer
- that the background image was occupying.
-
- Also adapt checkerboard drawing as it is now done using
- fillBuffer() which replaces checkerBuffer().
-
- In the same go, use the opportunity of the WebSettings
- API change to make it more consistent, renaming the
- OverZoomColor setting to OverScrollColor.
-
- * Api/BackingStore.cpp:
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
- (BlackBerry::WebKit::BackingStorePrivate::fillWindow):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebSettings.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebSettings::standardSettings):
- (BlackBerry::WebKit::WebSettings::overScrollColor):
- (BlackBerry::WebKit::WebSettings::setOverScrollColor):
- (BlackBerry::WebKit::WebSettings::isEnableDefaultOverScrollBackground):
- (BlackBerry::WebKit::WebSettings::setEnableDefaultOverScrollBackground):
- * Api/WebSettings.h:
-
-2012-07-13 Joshua Netterfield <jnetterfield@rim.com>
-
- [BlackBerry] Update about:* pages
- https://bugs.webkit.org/show_bug.cgi?id=91121
-
- Reviewed by Yong Li.
-
- Update the about:config pages, and improve the aesthetics of the about:build, about:version, about:credits, about:memory, about:config, and similar pages.
-
- No new tests, because there is no new funtionality.
-
- * WebCoreSupport/AboutData.cpp:
- (WebCore):
- (WebCore::writeFeatures):
- (WebCore::numberToHTMLTr): Converted to template function, added bool specialization to write "true" and "false" instead of "1" and "0"
- (WebCore::configPage):
- (WebCore::memoryPage):
- * WebCoreSupport/AboutTemplate.html.cpp: Template for BlackBerry about:* pages.
-
-2012-07-12 Benjamin C Meyer <bmeyer@rim.com>
-
- WebPage::executeJavaScriptFunction crashes when there is an exception
- https://bugs.webkit.org/show_bug.cgi?id=91098
- RIM PR #149294
-
- When there is an exception currently the code tries to get the string of
- the exception via JSValueToStringCopy to pass back, but this cases a
- crash inside JavaScriptCore, so change it to simply return false and not
- set the return value with the exception string.
-
- Reviewed by George Staikos.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
-
-2012-07-12 Pawel Chomicki <pchomicki@rim.com>
-
- [BlackBerry] WebPage::touchEvent() should use Platform::TouchEvent's toString() for debugging.
- https://bugs.webkit.org/show_bug.cgi?id=91002
-
- Reviewed by Antonio Gomes.
- Reviewed internally by Genevieve Mak.
-
- Updated DEBUG_TOUCH_EVENTS section of touchEvent method to utilize
- Platform::TouchEvent's toString method.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::touchEvent):
-
-2012-07-12 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Cannot use digest proxy auth and NTLM auth at the same time
- https://bugs.webkit.org/show_bug.cgi?id=91054
-
- Reviewed by George Staikos.
-
- Implemented interface function syncProxyCredential() derived
- from class PageClientBlackBerry.
-
- Internally reviewed by Jason Liu <jason.liu@torchmobile.com.cn>
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::syncProxyCredential):
- (WebKit):
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-07-11 Mike Lattanzio <mlattanzio@rim.com>
-
- [BlackBerry] UserViewportArguments are not properly respected.
- https://bugs.webkit.org/show_bug.cgi?id=91005
-
- Reviewed by Rob Buis.
-
- PR# 170088.
- Move scale and zooming reset on Committed before applying
- the user viewport to avoid overriding it immediately.
-
- Internal review by Konrad Piascik, Jacky Jiang.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
-
-2012-07-11 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Implement Date/Time picker
- https://bugs.webkit.org/show_bug.cgi?id=90911
-
- Reviewed by Rob Buis.
-
- Implement HTML Date/Time picker, also should delete popup when closing popup.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::closePagePopup):
- * WebCoreSupport/DatePickerClient.cpp: Added.
- (WebCore):
- (WebCore::DatePickerClient::DatePickerClient):
- (WebCore::DatePickerClient::~DatePickerClient):
- (WebCore::DatePickerClient::generateHTML):
- (WebCore::DatePickerClient::closePopup):
- (WebCore::DatePickerClient::contentSize):
- (WebCore::DatePickerClient::htmlSource):
- (WebCore::DatePickerClient::setValueAndClosePopup):
- (WebCore::DatePickerClient::didClosePopup):
- (WebCore::DatePickerClient::writeDocument):
- * WebCoreSupport/DatePickerClient.h: Added.
- (WebKit):
- (WebCore):
- (DatePickerClient):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openDatePopup):
-
-2012-07-10 Adam Barth <abarth@webkit.org>
-
- WebCore::Settings for Hixie76 WebSocket protocol doesn't do anything and should be removed
- https://bugs.webkit.org/show_bug.cgi?id=90910
-
- Reviewed by Eric Seidel.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
-
-2012-07-10 Adam Barth <abarth@webkit.org>
-
- LayoutTestController.dumpConfigurationForViewport should move to Internals
- https://bugs.webkit.org/show_bug.cgi?id=45652
-
- Reviewed by Eric Seidel.
-
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- * WebKitSupport/DumpRenderTreeSupport.h:
- (DumpRenderTreeSupport):
-
-2012-07-09 Yong Li <yoli@rim.com>
-
- [BlackBerry] PagePopupBlackBerry::closePopup() should always clear the pointer in WebPagePrivate
- https://bugs.webkit.org/show_bug.cgi?id=90817
-
- Reviewed by Rob Buis.
-
- PR# 174085.
- PagePopupBlackBerry::closePopup() should always clear the pointer in WebPagePrivate to avoid crashes.
- This patch also removes unused variable m_parentPopup and its setter.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate): Remove m_parentPopup.
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::closePagePopup):
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::PagePopupBlackBerry::init): Remove the setParentPopup() call.
- (WebCore::PagePopupBlackBerry::closePopup): Clear the reference in WebPagePrivate.
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::setValueAndClosePopup): Add an assert for valid m_element.
-
-2012-07-09 Mike Lattanzio <mlattanzio@rim.com>
-
- [BlackBerry] meta viewport initial-scale doesn't factor in device pixel ratio
- https://bugs.webkit.org/show_bug.cgi?id=90575
-
- Reviewed by Rob Buis.
-
- Refactor meta viewport handling to multiply the developer
- specified scale properties by the devicePixelRatio. This
- required moving the setting of these values until after
- the call to computeViewportAttributes.
-
- This fixes an isssue where content wider than the meta viewport
- would case a zoom-out-to-fit scenario because we misinterpreted
- the specified initial-scale.
-
- New test to verify wide content doesn't affect initial-scale:
- ManualTests/blackberry/meta-viewport-initial-scale-wide-content.html
-
- Internal review from Konrad Piascik, Arvid Nilsson.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
- (BlackBerry::WebKit::WebPagePrivate::dispatchViewportPropertiesDidChange):
-
-2012-07-07 George Staikos <staikos@webkit.org>
-
- Detach animation clients properly if we clear the web page pointer.
- https://bugs.webkit.org/show_bug.cgi?id=90730
-
- Reviewed by Adam Treat.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::destroyCompositor):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::WebPageCompositorPrivate):
- (BlackBerry::WebKit::WebPageCompositorPrivate::~WebPageCompositorPrivate):
- (WebKit):
- (BlackBerry::WebKit::WebPageCompositorPrivate::detach):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setPage):
- * Api/WebPageCompositor_p.h:
- (WebPageCompositorPrivate):
-
-2012-07-06 Max Feil <mfeil@rim.com>
-
- [BlackBerry] exitFullScreenForElement() is not working for fullscreen elements in iframes
- https://bugs.webkit.org/show_bug.cgi?id=90327
-
- Reviewed by Antonio Gomes.
-
- Fix exit fullscreen problem for elements in iframes. The
- exitFullScreenForElement() call is passed a null element in
- this case, instead of the original element which entered
- fullscreen. If you look in Document.cpp you can see the
- exitFullScreenForElement() call being made on the topDocument
- (which has a null m_fullScreenElement) instead of the iframe's
- document.
-
- The Chromium and Windows ports get around this problem by
- storing either the fullscreen element or its frame during
- enterFullScreenForElement(), so I will bring the BlackBerry port
- in line with this. See also bug 89817.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::enterFullScreenForElement):
- (WebCore::ChromeClientBlackBerry::exitFullScreenForElement):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2012-07-06 Benjamin C Meyer <bmeyer@rim.com>
-
- Add an API to explicitly call a JavaScript function with args.
- https://bugs.webkit.org/show_bug.cgi?id=90694
-
- Currently the Blackberry port doesn't expose the JavaScript
- engine to 3rd parties so they rely upon executeJavaScript
- which can be slower than necessary and unsafe as eval is used.
- This new API provides a way to explicitly call a specific
- JavaScript function with a list of args preventing the case
- where an argument comes from a untrusted source and tries to
- escape the arg list to take control of the JavaScript engine.
-
- In the future if the Blackberry port introduces a formal
- way to interact with the JavaScript engine this function should
- be removed.
-
- PR 149294
-
- Reviewed by Unreviewed
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::executeJavaScriptFunction):
- (WebKit):
- * Api/WebPage.h:
-
-2012-07-05 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Fix the build error introduced by enabling CUSTOM_THEME_HANDLER
- https://bugs.webkit.org/show_bug.cgi?id=90588
-
- Reviewed by Rob Buis.
-
- Fix the build error introduced by enabling CUSTOM_THEME_HANDLER.
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::isProtocolHandlerRegistered):
-
-2012-07-04 Hanna Ma <Hanma@rim.com>
-
- [BlackBerry] Implement device metrics for blackberry.
- https://bugs.webkit.org/show_bug.cgi?id=90494
- RIM PR #159034
-
- Reviewed by Rob Buis.
-
- Implement calls to the application to change the device metrics for
- the web inspector.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::applySizeOverride):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::setTextZoomFactor):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/InspectorClientBlackBerry.cpp:
- (WebCore::InspectorClientBlackBerry::InspectorClientBlackBerry):
- (WebCore::InspectorClientBlackBerry::canOverrideDeviceMetrics):
- (WebCore):
- (WebCore::InspectorClientBlackBerry::overrideDeviceMetrics):
- (WebCore::InspectorClientBlackBerry::supportsFrameInstrumentation):
- * WebCoreSupport/InspectorClientBlackBerry.h:
- (InspectorClientBlackBerry):
-
-2012-07-03 Leo Yang <leo.yang@torchmobile.com.cn>
-
- [BlackBerry] Checkerboard shown when clicking on error page buttons
- https://bugs.webkit.org/show_bug.cgi?id=90152
- RIM PR #161867
-
- Reviewed by George Staikos.
-
- r121514 just made the race occur in lower possibility but can't avoid it.
- This path is using another approach to fix the problem. When we are resetting
- backingstore while committing a page we need to suspend backingstore and
- screen update to make sure no other threads can update backingstore and screen.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
-
-2012-07-03 George Staikos <staikos@webkit.org>
-
- [BlackBerry] Enable Custom Scheme Handlers for BlackBerry.
- https://bugs.webkit.org/show_bug.cgi?id=90422
-
- Reviewed by Rob Buis.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore):
- (WebCore::ChromeClientBlackBerry::isProtocolHandlerRegistered):
- (WebCore::ChromeClientBlackBerry::unregisterProtocolHandler):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2012-07-03 George Staikos <staikos@webkit.org>
-
- [BlackBerry] Enable RegisterProtocolHandler for BlackBerry.
- https://bugs.webkit.org/show_bug.cgi?id=90422
-
- Reviewed by Rob Buis.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore):
- (WebCore::ChromeClientBlackBerry::registerProtocolHandler):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2012-07-03 Jan Keromnes <janx@linux.com>
-
- Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor
- https://bugs.webkit.org/show_bug.cgi?id=89939
-
- Reviewed by Vsevolod Vlasov.
-
- * WebCoreSupport/inspectorBB.html:
-
-2012-07-02 Xiaobo Wang <xbwang@torchmobile.com.cn>
-
- [BlackBerry] Use PUBLIC_BUILD to enable/disable DRT
- https://bugs.webkit.org/show_bug.cgi?id=90271
-
- Reviewed by George Staikos.
-
- RIM PR #154707
-
- Currently DRT code will be compiled only if ENABLE_DRT is set, and it's not
- defined by default.
- We should enable DRT by default unless PUBLIC_BUILD is set. In this way we don't
- need to rebuild webkit before running DRT.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
- (BlackBerry::WebKit::WebPage::runLayoutTests):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::addMessageToConsole):
- (WebCore::ChromeClientBlackBerry::runJavaScriptAlert):
- (WebCore::ChromeClientBlackBerry::runJavaScriptConfirm):
- (WebCore::ChromeClientBlackBerry::runJavaScriptPrompt):
- (WebCore::ChromeClientBlackBerry::createWindow):
- (WebCore::ChromeClientBlackBerry::runBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientBlackBerry::setStatusbarText):
- (WebCore::ChromeClientBlackBerry::exceededDatabaseQuota):
- (WebCore::ChromeClientBlackBerry::keyboardUIMode):
-
-2012-07-02 George Staikos <staikos@webkit.org>
-
- [BlackBerry] Implement cancelVibration, and make sure it's canceled on
- destruction.
- https://bugs.webkit.org/show_bug.cgi?id=90406
-
- Reviewed by Rob Buis.
-
- * WebCoreSupport/VibrationClientBlackBerry.cpp:
- (WebCore::VibrationClientBlackBerry::cancelVibration):
- (WebCore::VibrationClientBlackBerry::vibrationDestroyed):
-
-2012-07-02 Benjamin Poulain <bpoulain@apple.com>
-
- Do not do any logging initialization when logging is disabled
- https://bugs.webkit.org/show_bug.cgi?id=90228
-
- Reviewed by Simon Fraser.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::globalInitialize):
-
-2012-07-01 George Staikos <staikos@webkit.org>
-
- Clear visited links when clearing history.
- https://bugs.webkit.org/show_bug.cgi?id=90345
-
- Reviewed by Antonio Gomes.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::clearHistory):
-
-2012-06-30 Jason Liu <jason.liu@torchmobile.com.cn>
-
- [BlackBerry] WebView/Browser cause blank screen when selecting a dropdown field.
- https://bugs.webkit.org/show_bug.cgi?id=90241
-
- This issue is caused by single quotes in option's labels.
- We should use the escape character of single quotes in JavaScript's string which
- starts and ends with single quotes.
- So we replace lablels' single quotes with its escape character during generating the
- select popUp's HTML.
-
- Reviewed by George Staikos.
-
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::generateHTML):
-
-2012-06-30 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Allow surface resizing for use cases other than rotation.
- https://bugs.webkit.org/show_bug.cgi?id=90295
- RIM PR 171459
-
- Reviewed by George Staikos.
-
- A new API method setHasPendingSurfaceSizeChange() is
- introduced for that effect, and used inside of
- setViewportSize() to let the WebPageClient do the
- resizing. Methods are renamed to reflect that this
- is not exclusively meant for rotation anymore.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPage::setScreenOrientation):
- (WebKit):
- (BlackBerry::WebKit::WebPage::setHasPendingSurfaceSizeChange):
- (BlackBerry::WebKit::WebPagePrivate::resizeSurfaceIfNeeded):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- * Api/WebPage.h:
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-06-29 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Page jumps after post-pinch-zoom re-render
- https://bugs.webkit.org/show_bug.cgi?id=90282
-
- Reviewed by Antonio Gomes.
-
- PR: 170255
- In r120622, we moved ScrollableArea::setConstrainsScrollingToContentEdge(false|true)
- from WebPage::setScrollPosition() to BackingStorePrivate::setScrollingOrZooming()
- to address an overscroll reset issue.
- However, when we are ending bitmap zooming, UI thread can call
- BackingStorePrivate::setScrollingOrZooming(false) before WebKit thread
- calls WebPage::setScrollPosition(), in which case it will set
- ScrollableArea::m_constrainsScrollingToContentEdge to true earlier.
- To fix this, we can cache ScrollableArea::m_constrainsScrollingToContentEdge
- and always set it to false before we set scroll position in WebKit
- thread to avoid scroll position clamping during scrolling, and restore
- it to what it was after that.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setScrollPosition):
-
-2012-06-29 Jakob Petsovits <jpetsovits@rim.com>
-
- Add blitVisibleContents() as public API.
- https://bugs.webkit.org/show_bug.cgi?id=90211
-
- Reviewed by Adam Treat.
-
- We keep blitContents() (with src/dst rectangles)
- for compatibility with older Cascades sprints for now,
- but want to switch to always blitting the full viewport
- and this is a good first step.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStore::blitVisibleContents):
- (WebKit):
- * Api/BackingStore.h:
-
-2012-06-29 Konrad Piascik <kpiascik@rim.com>
-
- Don't hardcode target dpi of 160 (it should be 96 on desktop)
- https://bugs.webkit.org/show_bug.cgi?id=88114
-
- Reviewed by Adam Barth.
-
- Added new WebSetting to specify what the devicePixelRatio should be.
- Updated the call to computeViewportAttributes.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
- * Api/WebSettings.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebSettings::standardSettings):
- (BlackBerry::WebKit::WebSettings::devicePixelRatio):
- (BlackBerry::WebKit::WebSettings::setDevicePixelRatio):
- * Api/WebSettings.h:
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::dumpConfigurationForViewport):
-
-2012-06-28 Jason Liu <jason.liu@torchmobile.com.cn>
-
- [BlackBerry] Selection items show as garbage for non-ascii characters.
- https://bugs.webkit.org/show_bug.cgi?id=89969
-
- Add charset utf-8 to the select popup's page.
-
- Reviewed by Antonio Gomes.
-
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::generateHTML):
-
-2012-06-28 Leo Yang <leo.yang@torchmobile.com.cn>
-
- [BlackBerry] Checkerboard shown when clicking on error page buttons
- https://bugs.webkit.org/show_bug.cgi?id=90152
- RIM PR #161867
-
- Reviewed by George Staikos.
-
- Reset m_hasBlitJobs when resetting tiles to prevent ui thread from drawing checkerboard unintentionally.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
-
-2012-06-27 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Selection overlay can become visible after it has been hidden
- https://bugs.webkit.org/show_bug.cgi?id=90105
-
- Reviewed by George Staikos.
-
- When SelectionOverlay::hide is called from UI thread,
- rather than setting the override opacity, dispatch to the
- WebKit thread, which removes the overlay (normal case).
-
- Internal PR164183.
- Internally Reviewed by: Arvid Nilsson.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
- (BlackBerry::WebKit::WebPage::selectionOverlay):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * Api/WebSelectionOverlay.h:
- * WebKitSupport/SelectionOverlay.cpp:
- (BlackBerry::WebKit::SelectionOverlay::SelectionOverlay):
- (BlackBerry::WebKit::SelectionOverlay::hide):
- * WebKitSupport/SelectionOverlay.h:
- (BlackBerry::WebKit::SelectionOverlay::create):
- (SelectionOverlay):
-
-2012-06-25 Mark Hahnenberg <mhahnenberg@apple.com>
-
- JSLock should be per-JSGlobalData
- https://bugs.webkit.org/show_bug.cgi?id=89123
-
- Reviewed by Geoffrey Garen.
-
- Changed all sites that used JSLock to instead use the new JSLockHolder
- and pass in the correct JS context that the code is about to interact with that
- needs protection. Also added a couple JSLocks to places that didn't already
- have it that needed it.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::clearMemoryCaches):
- * WebCoreSupport/ClientExtension.cpp:
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::PagePopupBlackBerry::installDomFunction):
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::computedStyleIncludingVisitedInfo):
-
-2012-06-27 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Wrong scale after leaving fullscreen <video>
- https://bugs.webkit.org/show_bug.cgi?id=89546
-
- Reviewed by Antonio Gomes.
-
- PR: 164948
- When we were entering fullscreen, the current scale A was clamped to a
- greater minimum scale B as we relayouted the contents during the change
- of the viewport size. When leaving fullscreen, we still used that scale
- B as the current scale which was incorrect.
- To fix this, we can save the current scale when entering fullscreen and
- restore it when leaving fullscreen.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
- (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-06-27 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Scale was incorrect when reloading a simple web page after initial load
- https://bugs.webkit.org/show_bug.cgi?id=88889
-
- Reviewed by Antonio Gomes.
-
- PR: 164442
- For FrameLoadTypeStandard load, the layout timer can be fired which can
- call dispatchDidFirstVisuallyNonEmptyLayout() after the load Finished
- state, in which case the web page will have no chance to zoom to
- initial scale. We should give it a chance as well as FrameLoadTypeSame
- load.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::shouldZoomToInitialScaleOnLoad):
-
-2012-06-26 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Add WebPage interface for Async spell check.
- https://bugs.webkit.org/show_bug.cgi?id=89999
-
- Reviewed by Rob Buis.
-
- PR 124517.
-
- Add interface for IMS async spell checking.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::spellCheckingRequestProcessed):
- (WebKit):
- * Api/WebPage.h:
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- (WebKit):
- (BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2012-06-26 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Limit session storage quota to 5MB by default
- https://bugs.webkit.org/show_bug.cgi?id=89941
-
- Reviewed by Rob Buis.
-
- Limit session storage quota to 5MB by default for BlackBerry
- porting.
- Internally reviewed by George Staikos.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- * Api/WebSettings.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebSettings::standardSettings):
- (BlackBerry::WebKit::WebSettings::sessionStorageQuota):
- (BlackBerry::WebKit::WebSettings::setSessionStorageQuota):
- * Api/WebSettings.h:
-
-2012-06-26 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Use gesture SwipeDown to exit fullscreen for both video and plugin.
- https://bugs.webkit.org/show_bug.cgi?id=89960
-
- Reviewed by Antonio Gomes.
-
- We used to use gesture swipedown to exit fullscreen for plugin, but not fullscreen
- HTML5 video; When a swipe down happens, it applies this event to all the pluginviews
- in a page, even though only the one in fullscreen mode will process this.
-
- With this patch, the SwipeDown gesture will only apply to the fullscreen elemement,
- which is either a plugin, or an Video element.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::notifySwipeEvent):
-
-2012-06-25 Leo Yang <leo.yang@torchmobile.com.cn>
-
- [BlackBerry] Fill more data in device motion event
- https://bugs.webkit.org/show_bug.cgi?id=89857
-
- Reviewed by Antonio Gomes.
-
- Reviewed internally by Robin Cao.
-
- Fill acceleration and rotation rate into DeviceMotionData.
-
- * WebCoreSupport/DeviceMotionClientBlackBerry.cpp:
- (DeviceMotionClientBlackBerry::onMotion):
-
-2012-06-25 Yong Li <yoli@rim.com>
-
- [BlackBerry] Add JSC statistics into about:memory
- https://bugs.webkit.org/show_bug.cgi?id=89779
-
- Reviewed by Rob Buis.
-
- Add detailed JS memory statistics to about:memory page.
-
- * WebCoreSupport/AboutData.cpp:
- (WebCore::dumpJSCTypeCountSetToTableHTML):
- (WebCore):
- (WebCore::memoryPage):
-
-2012-06-25 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Use AIR controls if client doesn't support HTML control
- https://bugs.webkit.org/show_bug.cgi?id=89777
-
- Reviewed by Yong Li.
-
- Currently HTML controls depend on client implementing CreateWindow event, for those clients
- that don't implement CreateWindow event, use old AIR controls so we don't break them.
-
- PR 163818.
-
- Internal reviewed by Mike Fenton.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::openPagePopup):
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::PagePopupBlackBerry::sendCreatePopupWebViewRequest):
- * WebCoreSupport/PagePopupBlackBerry.h:
- (PagePopupBlackBerry):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openSelectPopup):
-
-2012-06-25 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Require text editable element to be enabled for VKB
- https://bugs.webkit.org/show_bug.cgi?id=89876
-
- Reviewed by Yong Li.
-
- After bug 58837 got in, children of <fieldset> now can inherit the disabled
- state of the fieldset. When trying for instance fast/forms/fieldset/fieldset-disabled.html,
- it can be seen that when they are visually disabled, the input handling can still be triggered. So
- add an extra check to isTextBasedContentEditableElement that the element is enabled.
-
- Reviewed internally by Mike Fenton.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isTextBasedContentEditableElement):
-
-2012-06-24 Simon Fraser <simon.fraser@apple.com>
-
- Rename isPositioned to isOutOfFlowPositioned for clarity
- https://bugs.webkit.org/show_bug.cgi?id=89836
-
- Reviewed by Antti Koivisto.
-
- RenderObject and RenderStyle had an isPositioned() method that was
- confusing, because it excluded relative positioning. Rename to
- isOutOfFlowPositioned(), which makes it clearer that it only applies
- to absolute and fixed positioning.
-
- Simple rename; no behavior change.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::isPositionedContainer):
- (BlackBerry::WebKit::isNonRenderViewFixedPositionedContainer):
- (BlackBerry::WebKit::isFixedPositionedContainer):
-
-2012-06-23 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r121058.
- http://trac.webkit.org/changeset/121058
- https://bugs.webkit.org/show_bug.cgi?id=89809
-
- Patch causes plugins tests to crash in GTK debug builds
- (Requested by zdobersek on #webkit).
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::clearMemoryCaches):
- * WebCoreSupport/ClientExtension.cpp:
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::PagePopupBlackBerry::installDomFunction):
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::computedStyleIncludingVisitedInfo):
-
-2012-06-20 Mark Hahnenberg <mhahnenberg@apple.com>
-
- JSLock should be per-JSGlobalData
- https://bugs.webkit.org/show_bug.cgi?id=89123
-
- Reviewed by Gavin Barraclough.
-
- Changed all sites that used JSLock to instead use the new JSLockHolder
- and pass in the correct JS context that the code is about to interact with that
- needs protection.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::clearMemoryCaches):
- * WebCoreSupport/ClientExtension.cpp:
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::PagePopupBlackBerry::installDomFunction):
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::computedStyleIncludingVisitedInfo):
-
-2012-06-22 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Tap highlight fade animations are added to overlay continuously during pinch zoom.
- https://bugs.webkit.org/show_bug.cgi?id=89772
-
- Reviewed by Antonio Gomes.
-
- When pinch zooming, DefaultTapHighlight::hide is continuously
- called from the UI thread. This resulted in fade animations being
- created and added to the override overlay continuously.
-
- This patch moves the m_visible check so that it applies for both
- threads.
-
- Internal PR164183
-
- * WebKitSupport/DefaultTapHighlight.cpp:
- (BlackBerry::WebKit::DefaultTapHighlight::draw):
- (BlackBerry::WebKit::DefaultTapHighlight::hide):
- * WebKitSupport/DefaultTapHighlight.h:
- (DefaultTapHighlight):
-
-2012-06-22 Yong Li <yoli@rim.com>
-
- [BlackBerry] Set WebSecurityEnabled flag accordingly.
- https://bugs.webkit.org/show_bug.cgi?id=89602
-
- Reviewed by Rob Buis.
-
- Disable web security checks if needed.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
-
-2012-06-22 Parth Patel <parpatel@rim.com>
-
- [Blackberry] BlackBerry::Platform::Settings::get() rename to BlackBerry::Platform::Settings::instance() to make it consistent with our other singletons
- https://bugs.webkit.org/show_bug.cgi?id=89684
-
- Reviewed by Yong Li.
-
- Build Fix-Typo Update setting instance access to use instance() instead of get().
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::isInputModeEnabled):
-
-2012-06-22 Amy Ousterhout <aousterh@chromium.org>
-
- Renamed DeviceOrientation to DeviceOrientationData
- https://bugs.webkit.org/show_bug.cgi?id=88663
-
- Reviewed by Steve Block.
-
- Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
- This change makes DeviceOrientationData consistent with DeviceMotionData.
-
- * WebCoreSupport/DeviceOrientationClientBlackBerry.h:
- (DeviceOrientationClientBlackBerry):
-
-2012-06-22 Joseph Pecoraro <pecoraro@apple.com>
-
- Web Inspector: InspectorState::updateCookie should not do JSON serialization if unsupported
- https://bugs.webkit.org/show_bug.cgi?id=89743
-
- Reviewed by Yury Semikhatsky.
-
- * WebCoreSupport/InspectorClientBlackBerry.cpp:
- (WebCore::InspectorClientBlackBerry::updateInspectorStateCookie):
-
-2012-06-21 Parth Patel <parpatel@rim.com>
-
- [Blackberry] BlackBerry::Platform::Settings::get() rename to BlackBerry::Platform::Settings::instance() to make it consistent with our other singletons
- https://bugs.webkit.org/show_bug.cgi?id=89684
-
- Reviewed by Yong Li.
-
- Update setting instance access to use instance() instead of get().
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::globalInitialize):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPagePrivate::shouldSendResizeEvent):
- * WebCoreSupport/AboutData.cpp:
- (WebCore::configPage):
- * WebCoreSupport/CacheClientBlackBerry.cpp:
- (WebCore::CacheClientBlackBerry::updateCacheCapacity):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::getPaddings):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::isInputModeEnabled):
- (BlackBerry::WebKit::InputHandler::setInputModeEnabled):
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::initialize):
-
-2012-06-21 Genevieve Mak <gmak@rim.com>
-
- Add a parameter to handletTouchPoint to bypass FatFingers
- on touch up. There are some cases where the user may drag
- their finger off the element and we want to use the actual
- touch point instead of the FatFingers adjusted point.
- https://bugs.webkit.org/show_bug.cgi?id=89677
-
- Reviewed by Antonio Gomes.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
- * Api/WebPage.h:
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- * WebKitSupport/TouchEventHandler.h:
- (TouchEventHandler):
-
-2012-06-21 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Input mode should adapt automatically to settings changes
- https://bugs.webkit.org/show_bug.cgi?id=89595
-
- Reviewed by Antonio Gomes.
-
- PR 167540.
-
- Add helper function to check if input is enabled so that
- the override settings can be applied at any time.
-
- Reviewed Internally by Gen Mak.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::isInputModeEnabled):
- (BlackBerry::WebKit::InputHandler::setInputModeEnabled):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- (BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
- (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
- (BlackBerry::WebKit::InputHandler::setComposingText):
- * WebKitSupport/InputHandler.h:
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-06-20 Jacky Jiang <zhajiang@rim.com>
-
- Add a != operator to ViewportArguments
- https://bugs.webkit.org/show_bug.cgi?id=87505
-
- Reviewed by Antonio Gomes.
- Patch by Jacky Jiang <zhajiang@rim.com>
-
- Use != operator of ViewportArguments.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
- * Api/WebViewportArguments.cpp:
- (BlackBerry::WebKit::WebViewportArguments::operator!=):
-
-2012-06-20 Christopher Hutten-Czapski <chutten@rim.com>
-
- [BlackBerry] Add an API to immediately enable cross-site XHR
- https://bugs.webkit.org/show_bug.cgi?id=89594
-
- Internally Reviewed by Yong Li.
- Reviewed by Rob Buis.
-
- There is no API to disable it as clients may rely on legacy behaviour
- of not disabling until the next frame load.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::enableCrossSiteXHRRecursively):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::enableCrossSiteXHR):
- (BlackBerry::WebKit::WebPage::enableCrossSiteXHR):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-06-20 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Enable setAcceleratedCompositingForFixedPositionEnabled
- https://bugs.webkit.org/show_bug.cgi?id=89575
-
- Reviewed by Antonio Gomes.
-
- Enable the flag so that we get position:fixed elemetns to be rendered
- using accelerated compositing.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
-
-2012-06-20 Julien Chaffraix <jchaffraix@webkit.org>
-
- Use IntSize in RenderLayer to represent scroll offsets
- https://bugs.webkit.org/show_bug.cgi?id=89154
-
- Reviewed by Eric Seidel.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::scrollRenderer):
- Updated to pass an IntSize to scrollToOffset.
-
-2012-06-19 Yong Li <yoli@rim.com>
-
- [BlackBerry] Should check the return value of fromUTF8() before executing the script.
- https://bugs.webkit.org/show_bug.cgi?id=89500
-
- Reviewed by Rob Buis.
- PR# 166623.
-
- WebPagePrivate::executeJavaScript() should check the return value of fromUTF8()
- before executing the script to avoid potential crash on invalid script source.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
-
-2012-06-19 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Missing notifyContentRendered() when resuming rendering
- https://bugs.webkit.org/show_bug.cgi?id=89507
- RIM PR 150049
-
- Reviewed by Antonio Gomes.
-
- All the current calls to notifyContentRendered() are
- located in the RenderQueue, but this omits the case
- when we force rendering from resumeBackingStore()
- after rendering had been suspended for a while.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
-
-2012-06-19 Sergio Villar Senin <svillar@igalia.com>
-
- Calling nativeImageForCurrentFrame() causes assertion failure: m_verifier.isSafeToUse()
- https://bugs.webkit.org/show_bug.cgi?id=67582
-
- Reviewed by David Levin.
-
- Use synchronousNativeIconForPageURL() to retrieve favicons.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveIcon):
-
-2012-06-18 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Overscroll can get reset while interacting with a page, due to style recalculations and scroll position clamping
- https://bugs.webkit.org/show_bug.cgi?id=89371
- PR #166982
-
- Reviewed by Adam Treat.
-
- While scrolling, the WebKit thread gets intercalated WebPage::setScrollPosition
- calls dispatched from the UI thread. These calls are wrapped with
- ScrollableArea::setConstrainsScrollingToContentEdge(false|true) calls, which
- can clamp the scroll position (removes overscroll) if set to 'true'.
-
- The following situation can happen: user is scrolling, and WebKit
- thread is not in the middle of a WebPage::setScrollPosition call
- (so setConstrainsScrollingToContentEdge is 'true'), and a relayout happens.
- In this scenario, the scroll position will get clamped to 0,0, removing any
- possible overscrolling.
-
- See the stack trace below, paying special attention to frame 16:
- #0 ScrollHandlerUserInterfaceThread::updateScrollPosition
- #1 0x782b4a3e in WebPageClientImpl::scrollChanged
- #2 0x78147484 in BlackBerry::WebKit::WebPagePrivate::notifyTransformedScrollChanged
- #3 0x78171f68 in BlackBerry::WebKit::BackingStoreClient::checkOriginOfCurrentScrollOperation
- #4 0x7816480a in WebCore::ChromeClientBlackBerry::scroll
- #5 0x7a78b290 in WebCore::Chrome::scroll
- #6 0x7a7ac8d0 in WebCore::FrameView::scrollContentsFastPath
- #7 0x7a7eba72 in WebCore::ScrollView::scrollContents
- #8 0x7a7ebb34 in WebCore::ScrollView::scrollTo
- #9 0x7a7a8dae in WebCore::FrameView::scrollTo
- #10 0x7a7e966e in WebCore::ScrollView::setScrollOffset
- #11 0x7a7e77cc in WebCore::ScrollableArea::scrollPositionChanged
- #12 0x7a7e7048 in WebCore::ScrollAnimator::notifyPositionChanged
- #13 0x7a7e700c in WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation
- #14 0x7a7e7588 in WebCore::ScrollableArea::scrollToOffsetWithoutAnimation
- #16 WebCore::ScrollView::updateScrollbars
- #18 WebCore::ScrollView::setContentsSize
- #19 0x7a7accd8 in WebCore::FrameView::setContentsSize
- #20 0x7a7a85f4 in WebCore::FrameView::adjustViewSize
- #22 WebCore::FrameView::layout
- #23 0x7a59d66e in WebCore::Document::updateLayoutIgnorePendingStylesheets
- #24 0x7a5ada92 in WebCore::Element::offsetHeight
- #25 0x7ab226b6 in WebCore::jsElementOffsetHeight
- #27 JSC::JSValue::get
- #28 0x796dd662 in JSC::JITStubThunked_op_get_by_id_generic
-
- Patch fixes this issue by tying ScrollableArea::setConstrainsScrollingToContentEdge
- to BackingStore::m_isZoomingOrScrolling, when we are sure clamping should not happen.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::setScrollingOrZooming):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setScrollPosition):
-
-2012-06-15 Eli Fidler <efidler@rim.com>
-
- [BlackBerry] Use platform font settings for the standard settings.
- https://bugs.webkit.org/show_bug.cgi?id=89232
-
- Reviewed by Rob Buis.
-
- RIM PR 159708
-
- * Api/WebSettings.cpp:
- (BlackBerry::WebKit::WebSettings::standardSettings):
-
-2012-06-15 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Remove touch events handling hook for popup
- https://bugs.webkit.org/show_bug.cgi?id=89245
-
- Reviewed by Rob Buis.
-
- In the old patches we create our own WebPage for popup, so we need to hook up our own
- touch handling functions, since we don't use our own WebPage any more, no need to keep
- the touch handling code, because it just does nothing other than passing out the events
- which might cause the touch events being handled twice.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- * WebCoreSupport/PagePopupBlackBerry.h:
- (PagePopupBlackBerry):
-
-2012-06-15 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Disable WebCore::EventHandler synthesized mouse events during touch scrolling
- https://bugs.webkit.org/show_bug.cgi?id=89227
- PR #146642
-
- Reviewed by Rob Buis.
-
- Make use of the Settings::supportsMouseDevice setting in order to
- prevent mouse move event to fire as a response to a scroll action.
- We might still want to dynamically toggle this setting ON, in case for
- example of a mouse wheel driven scroll action, but we can revisit it
- when it becomes a fully supported/primary use case.
-
- Internally reviewed by Eli Fidler.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- * Api/WebSettings.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebSettings::isDeviceSupportsMouseEnabled):
- (BlackBerry::WebKit::WebSettings::setDeviceSupportsMouseEnabled):
- * Api/WebSettings.h:
-
-2012-06-15 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Certain web pages (i.e., http://www.cloudtweaks.com/) are allowed to be wider than the screen
- https://bugs.webkit.org/show_bug.cgi?id=89211
-
- Reviewed by Rob Buis.
- Patch by Jacky Jiang <zhajiang@rim.com>
-
- PR: 135215
- Make simpler rules for zoom to fit scale:
- - Zoom to fit horizontally first without clamping the contents width.
- - Zoom to fit vertically instead without clamping the contents height
- if the horizontal zoom to fit can cause a grey area below the web
- page. Get rid of the virtual viewport guard as there may be cases
- that zooming can cause a grey area without a virtual viewport.
- - Clamp the scale by the minimum zoom to fit scale 0.25 and apply
- this rule to image documents as well. This minimum scale can be
- changed if there is a better vaule in the future.
- In this way, we can get rid of the issue that many web pages don't fit
- the screen.
-
- Reviewed internally by Arvid Nilsson.
-
- * Api/WebPage.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::zoomToFitScale):
-
-2012-06-15 Yong Li <yoli@rim.com>
-
- [BlackBerry] Remove BackingStoreClient::scrollsHorizontally/scrollsVeritically()
- https://bugs.webkit.org/show_bug.cgi?id=89210
-
- Reviewed by Antonio Gomes.
-
- Remove BackingStoreClient::scrollsHorizontally()/scrollsVeritically(), because
- calling them is neither nessary nor safe.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
- (BlackBerry::WebKit::BackingStorePrivate::blitHorizontalScrollbar):
- (BlackBerry::WebKit::BackingStorePrivate::blitVerticalScrollbar):
- * WebKitSupport/BackingStoreClient.cpp:
- * WebKitSupport/BackingStoreClient.h:
- (BackingStoreClient):
-
-2012-06-15 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r120404.
- http://trac.webkit.org/changeset/120404
- https://bugs.webkit.org/show_bug.cgi?id=89193
-
- This patch breaks [BlackBerry]'s text selection handles moving
- in editable elements. (Requested by Sean1 on #webkit).
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):
-
-2012-06-14 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] Selection - Crash when manipulating selection by dragging handle
- https://bugs.webkit.org/show_bug.cgi?id=89160
-
- RIMBUG:164970
- Avoid to set position in shadow tree to the new selection's base. It
- crashes when setting a shadow position to a selection' base.
-
- Reviewed by Antonio Gomes.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):
-
-2012-06-14 Mary Wu <mary.wu@torchmobile.com.cn>
-
- [BlackBerry] empty plugin cause browser hang
- https://bugs.webkit.org/show_bug.cgi?id=89091
-
- Reviewed by Rob Buis.
-
- Add check before clean pluginView in FrameLoaderBlackBerry in case
- it didn't have any content.
- RIM PR# 165336
- Reviewed internally by George Staikos
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::finishedLoading):
-
-2012-06-14 Genevieve Mak <gmak@rim.com>
-
- Always convert touch events to mouse events if the
- meta-tag TouchEventMode::PureWithMouseConversion is set.
- Minor style fix.
- https://bugs.webkit.org/show_bug.cgi?id=89115
-
- Reviewed by Antonio Gomes.
-
- Reviewed Internally by Antonio Gomes.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-06-14 Chris Guan <chris.guan@torchmobile.com.cn>
-
- [Blackberry] add a new Api named setAllowNotification
- https://bugs.webkit.org/show_bug.cgi?id=88950
-
- Reviewed by Antonio Gomes.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setAllowNotification):
- (WebKit):
- * Api/WebPage.h:
-
-2012-06-13 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Apply New Style and JS for Select Popup
- https://bugs.webkit.org/show_bug.cgi?id=89020
-
- Reviewed by Rob Buis.
-
- PR 162854
-
- Use new styled CSS files for select popup, also remove most JS functions
- to a separate JS file, only pass the parameters to JS, and use new python
- script for data generating, as the old one is too simple and problematic.
-
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::generateHTML):
-
-2012-06-13 Amy Ousterhout <aousterh@chromium.org>
-
- Rename currentDeviceMotion to lastMotion in DeviceMotionClient
- https://bugs.webkit.org/show_bug.cgi?id=88854
-
- Reviewed by Adam Barth.
-
- Rename the function currentDeviceMotion to lastMotion in DeviceMotionClient.
- This makes it consistent with the similar function lastOrientation in DeviceOrientationClient.
-
- * WebCoreSupport/DeviceMotionClientBlackBerry.cpp:
- (DeviceMotionClientBlackBerry::lastMotion):
- (DeviceMotionClientBlackBerry::onMotion):
- * WebCoreSupport/DeviceMotionClientBlackBerry.h:
- (DeviceMotionClientBlackBerry):
-
-2012-06-13 Robin Cao <robin.cao@torchmobile.com.cn>
-
- [BlackBerry] Enable MEDIA_STREAM by default
- https://bugs.webkit.org/show_bug.cgi?id=88849
-
- Reviewed by Antonio Gomes.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebCoreSupport/UserMediaClientImpl.cpp: Added.
- (WebCore):
- (WebCore::UserMediaClientImpl::UserMediaClientImpl):
- (WebCore::UserMediaClientImpl::~UserMediaClientImpl):
- (WebCore::UserMediaClientImpl::pageDestroyed):
- (WebCore::UserMediaClientImpl::requestUserMedia):
- (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
- * WebCoreSupport/UserMediaClientImpl.h: Added.
- (WebKit):
- (WebCore):
- (UserMediaClientImpl):
-
-2012-06-12 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Crash when rendering web page that's being destroyed
- https://bugs.webkit.org/show_bug.cgi?id=88915
-
- Reviewed by Rob Buis.
-
- PR #164943
-
- This was a null pointer dereference that happened when the compositor
- was asked to render after being disconnected from its web page.
-
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::render):
-
-2012-06-12 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Scale was incorrect when reloading a simple web page after initial load
- https://bugs.webkit.org/show_bug.cgi?id=88889
-
- Reviewed by Adam Treat.
- Patch by Jacky Jiang <zhajiang@rim.com>
-
- PR: 164442
- When we were reloading a web page with the load type FrameLoadTypeSame
- after the initial load, the first layout timer was fired after the load
- Finished state, in which case the web page would have no chance to zoom
- to the initial scale during the layout as it was only for load
- Committed state. This patch takes care of it.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::layoutFinished):
- (BlackBerry::WebKit::WebPagePrivate::shouldZoomToInitialScaleOnLoad):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFirstVisuallyNonEmptyLayout):
-
-2012-06-12 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Fix crash in InputHandler
- https://bugs.webkit.org/show_bug.cgi?id=88808
-
- Reviewed by Antonio Gomes.
-
- m_page is destroyed before InputHandler, so should move the call to destroy popup to chromeDestroyed().
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::chromeDestroyed():
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::~InputHandler):
-
-2012-06-12 Yong Li <yoli@rim.com>
-
- [BlackBerry] Use a safer way to shrink JS memory usage
- https://bugs.webkit.org/show_bug.cgi?id=88811
-
- Reviewed by Antonio Gomes.
-
- We should just make a GC request and JSC will check if it is safe to do anything.
-
- * Api/BlackBerryGlobal.cpp:
- (BlackBerry::WebKit::clearMemoryCaches):
-
-2012-06-11 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Autofill feature implementation for BlackBerry porting
- https://bugs.webkit.org/show_bug.cgi?id=85577
-
- Reviewed by Rob Buis.
-
- Remove the autofill saving procedure out of dispatchWillSubmitForm, this procedure
- is same as the procedure in dispatchWillSendSubmitEvent.
- Some sites will redirect to other url in its login process, which will cause the
- user get notified to save credentials for this provisional redirecting url if we
- put this saving procedure in dispatchWillSubmitForm. So we should remove it to make
- sure we only save the autofill data before the submit event is fired.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
-
-2012-06-11 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] [BlackBerry] browser video player fullscreen mode (portrait) does not play well with rotation
- https://bugs.webkit.org/show_bug.cgi?id=88809
-
- Reviewed by Rob Buis.
-
- Adjust the media container dimensions, whenever the FrameView::frameRect
- (aka viewport rect) changes
-
- Reviewed internally by Jacky Jiang.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::updateViewportSize):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::fullScreenRendererChanged):
-
-2012-06-09 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] browser video player fullscreen mode (portrait) does not play well with viewport metatag - Controls are off screen so cannot exit fullscreen
- https://bugs.webkit.org/show_bug.cgi?id=88719
- PR #164026
-
- Reviewed by Rob Buis.
-
- Instead of using WebPage's viewport size, which suffers from
- dealing with transformed coordinates, viewport metatag changes,
- etc, lets use WebCore::FrameView's visibleContentRect::Size::Width,
- which abstract all these variations.
-
- It fixes an overscale issue we were having when video player entered
- fullscreen, and webpage had viewport metatag set.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::fullScreenRendererChanged):
-
-2012-06-11 Sam Weinig <sam@webkit.org>
-
- Remove support for disconnected/excluded from search frames, they are not used by Safari anymore
- https://bugs.webkit.org/show_bug.cgi?id=88723
-
- Reviewed by Dan Bernstein.
-
- * WebKitSupport/InPageSearchManager.cpp:
- (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
-
-2012-06-10 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Make media (<video> and <audio>) slide draggable again
- https://bugs.webkit.org/show_bug.cgi?id=88742
- PR #158199
-
- Reviewed by George Staikos.
-
- First check if the element is a range type then gets its
- shadow DOM ancestor.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::shouldConvertTouchToMouse):
-
-2012-06-08 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Fix crash on PagePopupChromeClient
- https://bugs.webkit.org/show_bug.cgi?id=88675
-
- Reviewed by Antonio Gomes.
-
- PR 163672.
-
- Actually it's the bug inside InputHandler, should delete the old popup and create a new one,
- because update() is problematic. Also no need to save pointer in InputHandler.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::openPagePopup):
- (WebCore::ChromeClientBlackBerry::closePagePopup):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::~InputHandler):
- (BlackBerry::WebKit::InputHandler::openSelectPopup):
- * WebKitSupport/InputHandler.h:
- (WebCore):
- (InputHandler):
-
-2012-06-08 Eli Fidler <efidler@rim.com>
-
- [BlackBerry] Default font settings are getting deleted
- https://bugs.webkit.org/show_bug.cgi?id=88670
-
- Reviewed by Rob Buis.
-
- RIM PR: 163720
-
- WebSettings is overriding the default font settings with "", which deletes them.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
-
-2012-06-07 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Should Use the WebPage Already Created by Client, No Need to Create New One.
- https://bugs.webkit.org/show_bug.cgi?id=88576
-
- Reviewed by Rob Buis.
-
- When PagePopupBlackBerry::init() is called, a WebPage is already created, we can just use
- this to load popup, no need to create a new one. The old code is based on an old solution
- which has been abandoned.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::openPagePopup):
- * WebCoreSupport/PagePopupBlackBerry.cpp:
- (WebCore::PagePopupBlackBerry::init):
- (WebCore::setValueAndClosePopupCallback):
- (WebCore::PagePopupBlackBerry::handleMouseEvent):
- (WebCore::PagePopupBlackBerry::closePopup):
- * WebCoreSupport/PagePopupBlackBerry.h:
- (PagePopupBlackBerry):
-
-2012-06-07 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Get rid of unused maximumLayoutSize in WebPage
- https://bugs.webkit.org/show_bug.cgi?id=88574
-
- Reviewed by Rob Buis.
- Patch by Jacky Jiang <zhajiang@rim.com>
-
- PR: 164098
- maximumLayoutSize was deprecated when we made use of
- WebCore::computeViewportAttributes for
- WebPagePrivate::recomputeVirtualViewportFromViewportArguments.
- So clean it up.
-
- * Api/WebPage.cpp:
- (WebKit):
-
-2012-06-07 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] User viewport arguments are not respected
- https://bugs.webkit.org/show_bug.cgi?id=88530
-
- Reviewed by Antonio Gomes.
-
- RIM PR #163767
-
- Fixed by applying the user supplied viewport arguments if the page
- specifies default viewport arguments (i.e. the page has no viewport
- meta tag).
-
- If the user didn't supply any viewport arguments either, the behaviour
- is the same as before the patch, the caller will successfully reset to
- default viewport arguments.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::dispatchViewportPropertiesDidChange):
-
-2012-06-07 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Allow WebPageCompositor to blend a transparent web page
- https://bugs.webkit.org/show_bug.cgi?id=88233
-
- Reviewed by Rob Buis.
-
- RIM PR #159998
-
- Keep track of the web page background color in the compositor so we can
- determine whether the contents of the root layer are transparent.
-
- Reviewed internally by Jakob Petsovits.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setCompositor):
- (BlackBerry::WebKit::WebPagePrivate::setCompositorBackgroundColor):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::createCompositor):
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::render):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setBackgroundColor):
- (WebKit):
- * Api/WebPageCompositor_p.h:
- (BlackBerry::WebKit::WebPageCompositorPrivate::backgroundColor):
- (WebPageCompositorPrivate):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-06-07 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Add enable credential autofill and enable form autofill feature control in WebSetting
- https://bugs.webkit.org/show_bug.cgi?id=88513
-
- Reviewed by Rob Buis.
-
- RIM PR: #163391
- Implemented credential autofill setting and form autofill setting.
-
- Internally reviewed by Leo Yang <leo.yang@torchmobile.com.cn>.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::autofillTextField):
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
- (BlackBerry::WebKit::WebPage::clearCredentials):
- (BlackBerry::WebKit::WebPage::clearAutofillData):
- (BlackBerry::WebKit::WebPage::clearNeverRememberSites):
- * Api/WebSettings.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebSettings::standardSettings):
- (BlackBerry::WebKit::WebSettings::isCredentialAutofillEnabled):
- (BlackBerry::WebKit::WebSettings::setCredentialAutofillEnabled):
- (BlackBerry::WebKit::WebSettings::isFormAutofillEnabled):
- (BlackBerry::WebKit::WebSettings::setFormAutofillEnabled):
- * Api/WebSettings.h:
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::textFieldDidEndEditing):
- (WebCore::EditorClientBlackBerry::textDidChangeInTextField):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
-
-2012-06-06 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] browser video player fullscreen mode (portrait) - Controls are off screen so cannot exit fullscreen
- https://bugs.webkit.org/show_bug.cgi?id=88488
- PR #162991
-
- Reviewed by George Staikos.
-
- When we use width:100%/pageScale as the math to calculate the width of the
- FullScreen element, it goes too wide for horizontally scrollable webpages.
- The reason is that 100% is relative to the content size here, and we want 100%
- relative to the viewport size. However, since there is no such a thing in CSS,
- we set an absolute file.
-
- A known problem with this will be rotating the device when in fullscreen mode
- that we can address when rotating is supported.
-
- Internally reviewed by Jacky Jiang.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::fullScreenRendererChanged):
-
-2012-06-05 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Implement a top-down in-region boundary detection in InRegionScrollableArea
- https://bugs.webkit.org/show_bug.cgi?id=88254
- PR #125237
-
- Reviewed by Rob Buis.
-
- Patch implements a top-down visibleWindowRect calculation for all scrollable
- elements hit-tested by a given point.
-
- The reason on why this approach is better is that it calculates the visible
- window rect from the outermost scrollable element towards the inner ones, and
- that allows it to use the visible window rect of the previous scrollable element
- as the clipping rect for the current one.
-
- Patch also changes the return vector to store ScrollViewBase pointers, so
- we can make use of static_cast properly. As now also stated in the header
- file, the client is responsible for deleting the ScrollViewBase
- elements in the vector.
-
- Internally reviewed by Jakob Petsovits.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::pushBackInRegionScrollable):
- (BlackBerry::WebKit::WebPagePrivate::inRegionScrollableAreasForPoint):
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
- (BlackBerry::WebKit::InRegionScrollableArea::setVisibleWindowRect):
- (WebKit):
- (BlackBerry::WebKit::InRegionScrollableArea::visibleWindowRect):
- * WebKitSupport/InRegionScrollableArea.h:
- (InRegionScrollableArea):
-
-2012-06-06 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] IndexedDB file should be sand-boxed to the application data directory.
- https://bugs.webkit.org/show_bug.cgi?id=88065
-
- Reviewed by George Staikos.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- * Api/WebSettings.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebSettings::indexedDataBasePath):
- (BlackBerry::WebKit::WebSettings::setIndexedDataBasePath):
- * Api/WebSettings.h:
-
-2012-06-05 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry]Differentiate options and group options by TypeOption and TypeOptionInGroup
- https://bugs.webkit.org/show_bug.cgi?id=88342
-
- Reviewed by Rob Buis.
-
- RIM PR: 163141
-
- Reviewed internally by Mike Fenton.
-
- We set all options' type to TypeOption, which can't tell if an option belongs to a group,
- introduce TypeOptionInGroup to fix it.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openSelectPopup):
-
-2012-06-05 Adam Barth <abarth@webkit.org>
-
- Remove support for target-densitydpi in the viewport meta tag
- https://bugs.webkit.org/show_bug.cgi?id=88047
-
- Reviewed by Kenneth Rohde Christiansen.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
- * Api/WebViewportArguments.cpp:
- (BlackBerry::WebKit::WebViewportArguments::targetDensityDpi):
- (BlackBerry::WebKit::WebViewportArguments::setTargetDensityDpi):
- * Api/WebViewportArguments.h:
-
-2012-06-05 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry]Web Inspector highlight is slow
- https://bugs.webkit.org/show_bug.cgi?id=88331
-
- Reviewed by Rob Buis.
-
- Highlight is slow on large pages because of constant repaint calls.
- Change to use the accelerated layer highlight all the time.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
- * WebCoreSupport/InspectorClientBlackBerry.cpp:
- (WebCore::InspectorClientBlackBerry::highlight):
- (WebCore::InspectorClientBlackBerry::hideHighlight):
- * WebCoreSupport/InspectorOverlay.cpp:
- (WebCore::InspectorOverlay::clear):
- (WebCore::InspectorOverlay::update):
-
-2012-06-04 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Split AnimationFrameRateController into its own file
- https://bugs.webkit.org/show_bug.cgi?id=88242
-
- Reviewed by Antonio Gomes.
-
- Include new header file to reflect re-organization of platform animation
- header files.
-
- * Api/WebPageCompositor_p.h:
-
-2012-06-02 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] browser video player fullscreen mode (portrait) - out of screen/focus - cannot navigate or use the buttons on the screen (PART III)
- https://bugs.webkit.org/show_bug.cgi?id=88019
-
- Reviewed by George Staikos.
-
- Enter 'pure-with-mouse-conversion' mode when going fullscreen, so
- that it prevents user from scrolling the WebPage, pinch zooming,
- touch-and-hold, enter selection mode, etc ...
-
- Internally reviewed by Gen Mak.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
- (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-06-02 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] browser video player fullscreen mode (portrait) - out of screen/focus - cannot navigate or use the buttons on the screen (PART II)
- https://bugs.webkit.org/show_bug.cgi?id=88019
-
- Reviewed by George Staikos.
-
- When an element goes fullscreen, its wrapper/container obeys all
- BlackBerry specific fixed position customizations: we fixed
- against Y, but not X. Then, in order to have the wrapper element
- properly positioned when entering fullscreen mode, we
- temporarily scroll x to 0.
-
- The original x scroll position is restored when we leave
- fullscreen.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
- (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-06-02 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] browser video player fullscreen mode (portrait) - out of screen/focus - cannot navigate or use the buttons on the screen (PART I)
- https://bugs.webkit.org/show_bug.cgi?id=88019
- PR #158266
-
- Reviewed by George Staikos.
-
- The way elements go fullscreen with the new FULLSCREEN_API
- is that they get cloned and added to an out-of-DOM wrapper
- element. The wrapper is a normal fixed position element and
- then zoom in/out accordingly to how other layers do: following
- WebPage's scale.
-
- When going fullscreen, we have to take the current WebPage scale
- into account in order to properly fit the element to the screen,
- regardless the web page scale.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore):
- (WebCore::ChromeClientBlackBerry::fullScreenRendererChanged):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2012-06-01 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Fix the return value checking in SelectPopupClient
- https://bugs.webkit.org/show_bug.cgi?id=88130
-
- Reviewed by Rob Buis.
-
- In SelectPopupClient, return '1' means selected, '0' means not selected,
- the ASCII value of '0' is 48, not 32, use '0' to be more readable.
-
- * WebCoreSupport/SelectPopupClient.cpp:
- (WebCore::SelectPopupClient::setValueAndClosePopup):
-
-2012-06-01 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Add end editing handling into AutofillManager
- https://bugs.webkit.org/show_bug.cgi?id=88071
-
- Reviewed by Rob Buis.
-
- RIM PR: 160857
- Implemented EditorClientBlackBerry::textFieldDidEndEditing
- to notify AutofillManager to send the dismissing autofill
- dialog notification to webpage client.
-
- No new tests since there is no behavior changes.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::notifyDismissAutofillDialog):
- (WebKit):
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/AutofillManager.cpp:
- (WebCore::AutofillManager::textFieldDidEndEditing):
- (WebCore):
- * WebCoreSupport/AutofillManager.h:
- (AutofillManager):
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::textFieldDidEndEditing):
-
-2012-05-31 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Bridge Apps - Apps do not redraw correctly after orientation change
- https://bugs.webkit.org/show_bug.cgi?id=88033
-
- Reviewed by Rob Buis.
- Patch by Jacky Jiang <zhajiang@rim.com>
-
- PR: 142961
- When bridge apps were in carousel mode, the backing store was inactive
- as its memory had been released. When we rotated the device, we would
- call WebPagPrivate:setViewportSize and resume screen and backing store
- to render and blit visible contents. As backing store was inactive and
- the window usage was GLES2Usage, we were neither doing backing store
- rendering nor direct rendering. Therefore, we drew layers directly
- based on the invalid texture contents when blitting contents if
- accelerated compositing was enabled.
- This patch forces compositing mode to let the accelerated compositing
- layer take care of the rendering which can update texture contents
- before drawing when backing store is inactive and is openGL compositing.
-
- Reviewed internally by George Staikos and Arvid Nilsson.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::resumeScreenAndBackingStoreUpdates):
-
-2012-05-31 Hajime Morrita <morrita@chromium.org>
-
- REGRESSION(r117572): editing/spelling/spellcheck-async-remove-frame.html crashes on Mac
- https://bugs.webkit.org/show_bug.cgi?id=86859
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::requestCheckingOfString):
- * WebCoreSupport/EditorClientBlackBerry.h:
- (EditorClientBlackBerry):
-
-2012-05-31 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] WebGL and 2D canvas output not available to WebPageCompositor
- https://bugs.webkit.org/show_bug.cgi?id=88012
-
- Reviewed by George Staikos.
-
- Properly set up resource sharing between WebKit thread EGL contexts and
- the compositing thread EGL context, so the texture ID produced by WebGL
- and 2D canvas makes sense to the compositing context.
-
- There's no public API to supply an EGLContext yet, so we're lucky that
- the embedder never makes its context un-current. Just grab the current
- context on the compositing thread and use that as the compositing
- context.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setCompositor):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositor::WebPageCompositor):
- (BlackBerry::WebKit::WebPageCompositor::~WebPageCompositor):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-05-31 George Staikos <staikos@webkit.org>
-
- [Blackberry] Initialize the select client and delete the pointer
- in the destructor so it doesn't leak. Fixes test crashes.
- https://bugs.webkit.org/show_bug.cgi?id=87992
-
- Reviewed by Rob Buis.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::~InputHandler):
-
-2012-05-31 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Crash when destroying WebOverlay with active WebOverlayOverride
- https://bugs.webkit.org/show_bug.cgi?id=87968
-
- Reviewed by Rob Buis.
-
- The override object is using a compositing thread WebOverlayPrivate
- object with no client because the layer doesn't delegate drawing to the
- WebOverlayPrivate, it's only used to modify the override properties on
- the underlying compositing thread layer.
-
- Since the m_layerCompositingThreadClient is optional, we have to add
- null checks.
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::~WebOverlayPrivateCompositingThread):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setClient):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToImage):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToColor):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setDrawsContent):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::invalidate):
-
-2012-05-31 Chris Guan <chris.guan@torchmobile.com.cn>
-
- [Blackberry] WebKit's fullscreen mode needs to notify page client.
- https://bugs.webkit.org/show_bug.cgi?id=87337
-
- Reviewed by Antonio Gomes.
-
- Move "fullScreenVideoCapable" into webpagePrivate to make code
- clean for "fullScreenForElement/Node" of cromeClientBlackberry,
- All Video checks and code path selections are in webpagePrivate now.
- For some UX and secure reasons, we could not apply fullscreen capacity
- for all elements, So we use client's fullscreenStart/Stop only for
- those video elements and those elements containing video tags.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- (BlackBerry::WebKit::WebPage::notifyFullScreenVideoExited):
- (WebKit):
- (BlackBerry::WebKit::containsVideoTags):
- (BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
- (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebCore):
- (WebPagePrivate):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::enterFullScreenForElement):
- (WebCore::ChromeClientBlackBerry::exitFullScreenForElement):
-
-2012-05-31 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Crash when closing web page if selection is active
- https://bugs.webkit.org/show_bug.cgi?id=87962
-
- Reviewed by Antonio Gomes.
-
- The embedder may try to remove a layer from the compositor at a stage
- where the compositor has been set to 0.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::addCompositingThreadOverlay):
- (BlackBerry::WebKit::WebPage::removeCompositingThreadOverlay):
-
-2012-05-30 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Add an Accelerated Compositing layer for Web Inspector DOM highlight.
- https://bugs.webkit.org/show_bug.cgi?id=81001
-
- Reviewed by Antonio Gomes.
-
- Implemented InspectorOverlay using WebOverlayAPI.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::updateDelegatedOverlays):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
- (BlackBerry::WebKit::WebPagePrivate::setInspectorOverlayClient):
- (WebKit):
- * Api/WebPage_p.h:
- (WebCore):
- (WebPagePrivate):
- * WebCoreSupport/InspectorClientBlackBerry.cpp:
- (WebCore::InspectorClientBlackBerry::highlight):
- (WebCore::InspectorClientBlackBerry::hideHighlight):
- (WebCore::InspectorClientBlackBerry::paintInspectorOverlay):
- (WebCore):
- * WebCoreSupport/InspectorClientBlackBerry.h:
- (InspectorClientBlackBerry):
- * WebCoreSupport/InspectorOverlay.cpp: Added.
- (WebCore):
- (WebCore::InspectorOverlay::create):
- (WebCore::InspectorOverlay::InspectorOverlay):
- (WebCore::InspectorOverlay::notifySyncRequired):
- (WebCore::InspectorOverlay::paintContents):
- (WebCore::InspectorOverlay::showDebugBorders):
- (WebCore::InspectorOverlay::showRepaintCounter):
- (WebCore::InspectorOverlay::contentsVisible):
- (WebCore::InspectorOverlay::~InspectorOverlay):
- (WebCore::InspectorOverlay::clear):
- (WebCore::InspectorOverlay::update):
- (WebCore::InspectorOverlay::paintWebFrame):
- (WebCore::InspectorOverlay::invalidateWebFrame):
- * WebCoreSupport/InspectorOverlay.h: Added.
- (WebKit):
- (WebCore):
- (InspectorOverlay):
- (InspectorOverlayClient):
- (WebCore::InspectorOverlay::setClient):
- (WebCore::InspectorOverlay::notifyAnimationStarted):
-
-2012-05-30 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] Browser crashed when selecting in textarea
- https://bugs.webkit.org/show_bug.cgi?id=87484
-
- The function FatFingers::checkForText() uses host node's whole text
- to checkFingerIntersection(). We should not give the text of shadow
- nodes to it.
-
- Reviewed by Antonio Gomes.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::getNodesFromRect): Avoid returning
- shadow nodes when the context is Text node.
-
-2012-05-30 Zoltan Horvath <zoltan@webkit.org>
-
- [Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder
- https://bugs.webkit.org/show_bug.cgi?id=80400
-
- Get rid of QT_IMAGE_DECODER flag.
-
- Reviewed by Simon Hausmann.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2012-05-29 Max Feil <mfeil@rim.com>
-
- [BlackBerry] The Page's deviceScaleFactor() is not being properly maintained
- https://bugs.webkit.org/show_bug.cgi?id=87817
-
- Reviewed by Antonio Gomes.
-
- This bug fix in WebKit/blackberry is needed by the changes for
- fullscreen media control sizing in WebCore (bug 87551). The sizing
- of controls depends on the page's deviceScaleFactor(), which was
- not being maintained properly due to errors in logic. Viewport
- changes from non-default to default were being erroneously
- thrown out. Also, when the viewport did change back to default
- the deviceScaleFactor was not being updated.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
- (BlackBerry::WebKit::WebPagePrivate::dispatchViewportPropertiesDidChange):
-
-2012-05-29 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] WebOverlay build fixes and bug fixes
- https://bugs.webkit.org/show_bug.cgi?id=87780
-
- Reviewed by Rob Buis.
-
- Fix build when accelerated compositing disabled, or debug build.
-
- Also fix a bug where the selection overlay would not disappear properly
- because of a typo in WebPage::removeOverlay(). Also convert said method
- to early return style.
-
- Debug build fixes contributed by Ming Xie.
-
- * Api/WebOverlay.cpp:
- (BlackBerry::WebKit::WebOverlay::addAnimation):
- (BlackBerry::WebKit::WebOverlay::setContentsToImage):
- (WebKit):
- (BlackBerry::WebKit::WebOverlay::setContentsToColor):
- (BlackBerry::WebKit::WebOverlay::setDrawsContent):
- (BlackBerry::WebKit::WebOverlay::invalidate):
- (BlackBerry::WebKit::WebOverlay::setClient):
- (BlackBerry::WebKit::WebOverlay::override):
- (BlackBerry::WebKit::WebOverlay::resetOverrides):
- * Api/WebOverlayOverride.cpp:
- (BlackBerry::WebKit::WebOverlayOverride::WebOverlayOverride):
- * Api/WebOverlay_p.h:
- (BlackBerry::WebKit::WebOverlayPrivate::~WebOverlayPrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::removeOverlay):
- (BlackBerry::WebKit::WebPage::addCompositingThreadOverlay):
- (BlackBerry::WebKit::WebPage::removeCompositingThreadOverlay):
-
-2012-05-29 Yong Li <yoli@rim.com>
-
- [BlackBerry] Add malloc info to about:memory page
- https://bugs.webkit.org/show_bug.cgi?id=87676
-
- Reviewed by Rob Buis.
-
- Detailed malloc info can tell us how much memory
- in the heaps is being in use.
-
- * WebCoreSupport/AboutData.cpp:
- (WebCore::memoryPage):
-
-2012-05-29 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Make DefaultTapHighlight use the new WebOverlay API
- https://bugs.webkit.org/show_bug.cgi?id=87604
-
- Reviewed by Antonio Gomes.
-
- Also add a new method to allow the embedder to use the default tap
- highlight instead of replacing it with a custom one just to keep track
- of the "shouldHideAfterScroll" flag.
-
- PR #160262.
-
- * Api/WebTapHighlight.h:
- * WebKitSupport/DefaultTapHighlight.cpp:
- (BlackBerry::WebKit::DefaultTapHighlight::DefaultTapHighlight):
- (BlackBerry::WebKit::DefaultTapHighlight::draw):
- (BlackBerry::WebKit::DefaultTapHighlight::hide):
- (BlackBerry::WebKit::DefaultTapHighlight::paintContents):
- * WebKitSupport/DefaultTapHighlight.h:
- (BlackBerry::WebKit::DefaultTapHighlight::shouldHideAfterScroll):
- (DefaultTapHighlight):
-
-2012-05-29 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] WebKit-side implementation of SelectionOverlay
- https://bugs.webkit.org/show_bug.cgi?id=87605
-
- Reviewed by Rob Buis.
-
- Leverage the new WebOverlay API to move SelectionOverlay to the WebKit
- library, so we always draw selection regardless of which embedder is
- integrating WebKit.
-
- PR #160263
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPage::selectionOverlay):
- (WebKit):
- * Api/WebPage.h:
- (WebKit):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * Api/WebSelectionOverlay.h: Added.
- (WebKit):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- * WebKitSupport/SelectionOverlay.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::SelectionOverlay::SelectionOverlay):
- (BlackBerry::WebKit::SelectionOverlay::~SelectionOverlay):
- (BlackBerry::WebKit::SelectionOverlay::draw):
- (BlackBerry::WebKit::SelectionOverlay::hide):
- (BlackBerry::WebKit::SelectionOverlay::notifySyncRequired):
- (BlackBerry::WebKit::SelectionOverlay::paintContents):
- * WebKitSupport/SelectionOverlay.h: Added.
- (WebKit):
- (SelectionOverlay):
- (BlackBerry::WebKit::SelectionOverlay::create):
- (BlackBerry::WebKit::SelectionOverlay::notifyAnimationStarted):
- (BlackBerry::WebKit::SelectionOverlay::showDebugBorders):
- (BlackBerry::WebKit::SelectionOverlay::showRepaintCounter):
- (BlackBerry::WebKit::SelectionOverlay::contentsVisible):
-
-2012-05-29 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] WebOverlay API
- https://bugs.webkit.org/show_bug.cgi?id=87603
-
- Reviewed by Rob Buis.
-
- This new API makes it possible to leverage the BlackBerry accelerated
- compositing implementation to draw, transform and fluidly animate
- overlays in the embedding library or application.
-
- A WebOverlay has an affinity for the thread where it was created. If
- the current thread is the WebKit thread, use WebPage::addOverlay() to
- add it to the page, and manipulate it only from the WebKit thread, with
- exception of the "override" functionality which can be used from the
- compositing thread. If the current thread is the compositing thread,
- use WebPage::addCompositingThreadOverlay() to add it to the page, and
- only manipulate it on the compositing thread.
-
- A WebOverlay can be painted using Skia, or its contents can be set to
- an image or a solid color.
-
- PR #156812
-
- * Api/WebAnimation.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::WebAnimation::fadeAnimation):
- (BlackBerry::WebKit::WebAnimation::name):
- (BlackBerry::WebKit::WebAnimation::WebAnimation):
- (BlackBerry::WebKit::WebAnimation::~WebAnimation):
- (BlackBerry::WebKit::WebAnimation::operator=):
- * Api/WebAnimation.h: Added.
- (WebKit):
- * Api/WebAnimation_p.h: Added.
- (WebKit):
- (WebAnimationPrivate):
- (BlackBerry::WebKit::WebAnimationPrivate::WebAnimationPrivate):
- * Api/WebOverlay.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::WebOverlay::WebOverlay):
- (BlackBerry::WebKit::WebOverlay::~WebOverlay):
- (BlackBerry::WebKit::WebOverlay::position):
- (BlackBerry::WebKit::WebOverlay::setPosition):
- (BlackBerry::WebKit::WebOverlay::anchorPoint):
- (BlackBerry::WebKit::WebOverlay::setAnchorPoint):
- (BlackBerry::WebKit::WebOverlay::size):
- (BlackBerry::WebKit::WebOverlay::setSize):
- (BlackBerry::WebKit::WebOverlay::sizeIsScaleInvariant):
- (BlackBerry::WebKit::WebOverlay::setSizeIsScaleInvariant):
- (BlackBerry::WebKit::WebOverlay::transform):
- (BlackBerry::WebKit::WebOverlay::setTransform):
- (BlackBerry::WebKit::WebOverlay::opacity):
- (BlackBerry::WebKit::WebOverlay::setOpacity):
- (BlackBerry::WebKit::WebOverlay::addAnimation):
- (BlackBerry::WebKit::WebOverlay::removeAnimation):
- (BlackBerry::WebKit::WebOverlay::parent):
- (BlackBerry::WebKit::WebOverlay::addChild):
- (BlackBerry::WebKit::WebOverlay::removeFromParent):
- (BlackBerry::WebKit::WebOverlay::setContentsToImage):
- (BlackBerry::WebKit::WebOverlay::setContentsToColor):
- (BlackBerry::WebKit::WebOverlay::setDrawsContent):
- (BlackBerry::WebKit::WebOverlay::invalidate):
- (BlackBerry::WebKit::WebOverlay::setClient):
- (BlackBerry::WebKit::WebOverlay::override):
- (BlackBerry::WebKit::WebOverlay::resetOverrides):
- (BlackBerry::WebKit::WebOverlayPrivate::page):
- (BlackBerry::WebKit::WebOverlayPrivate::override):
- (BlackBerry::WebKit::WebOverlayPrivate::drawContents):
- (BlackBerry::WebKit::WebOverlayPrivate::scheduleCompositingRun):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::WebOverlayPrivateWebKitThread):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::override):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::position):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setPosition):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::anchorPoint):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setAnchorPoint):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::size):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setSize):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::sizeIsScaleInvariant):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setSizeIsScaleInvariant):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::transform):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setTransform):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::opacity):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setOpacity):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::addAnimation):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::removeAnimation):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::addChild):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::removeFromParent):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setContentsToImage):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setContentsToColor):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setDrawsContent):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::clear):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::invalidate):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::resetOverrides):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::notifySyncRequired):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::paintContents):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::WebOverlayLayerCompositingThreadClient):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::~WebOverlayLayerCompositingThreadClient):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setDrawsContent):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::invalidate):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setContents):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setContentsToColor):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::layerCompositingThreadDestroyed):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::layerVisibilityChanged):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::uploadTexturesIfNeeded):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::drawTextures):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::deleteTextures):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::WebOverlayPrivateCompositingThread):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::~WebOverlayPrivateCompositingThread):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setClient):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::override):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::position):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setPosition):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::anchorPoint):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setAnchorPoint):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::size):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setSize):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::sizeIsScaleInvariant):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setSizeIsScaleInvariant):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::transform):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setTransform):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::opacity):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setOpacity):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::addAnimation):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::removeAnimation):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::addChild):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::removeFromParent):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToImage):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToColor):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setDrawsContent):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::clear):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::invalidate):
- (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::resetOverrides):
- * Api/WebOverlay.h: Added.
- (WebCore):
- (WebKit):
- * Api/WebOverlayClient.h: Added.
- (WebKit):
- * Api/WebOverlayOverride.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::WebOverlayOverride::WebOverlayOverride):
- (BlackBerry::WebKit::WebOverlayOverride::~WebOverlayOverride):
- (BlackBerry::WebKit::WebOverlayOverride::setPosition):
- (BlackBerry::WebKit::WebOverlayOverride::setAnchorPoint):
- (BlackBerry::WebKit::WebOverlayOverride::setSize):
- (BlackBerry::WebKit::WebOverlayOverride::setTransform):
- (BlackBerry::WebKit::WebOverlayOverride::setOpacity):
- (BlackBerry::WebKit::WebOverlayOverride::addAnimation):
- (BlackBerry::WebKit::WebOverlayOverride::removeAnimation):
- * Api/WebOverlayOverride.h: Added.
- (WebKit):
- * Api/WebOverlay_p.h: Added.
- (WTF):
- (WebCore):
- (WebKit):
- (WebOverlayPrivate):
- (BlackBerry::WebKit::WebOverlayPrivate::WebOverlayPrivate):
- (BlackBerry::WebKit::WebOverlayPrivate::~WebOverlayPrivate):
- (BlackBerry::WebKit::WebOverlayPrivate::setPage):
- (BlackBerry::WebKit::WebOverlayPrivate::setClient):
- (BlackBerry::WebKit::WebOverlayPrivate::layerCompositingThread):
- (BlackBerry::WebKit::WebOverlayPrivate::graphicsLayer):
- (WebOverlayPrivateWebKitThread):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::graphicsLayer):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::notifyAnimationStarted):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::showDebugBorders):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::showRepaintCounter):
- (BlackBerry::WebKit::WebOverlayPrivateWebKitThread::contentsVisible):
- (WebOverlayLayerCompositingThreadClient):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setLayer):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setClient):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::drawsContent):
- (BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::contents):
- (WebOverlayPrivateCompositingThread):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::addOverlay):
- (WebKit):
- (BlackBerry::WebKit::WebPage::removeOverlay):
- (BlackBerry::WebKit::WebPage::addCompositingThreadOverlay):
- (BlackBerry::WebKit::WebPage::removeCompositingThreadOverlay):
- * Api/WebPage.h:
- (WebKit):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::prepareFrame):
- (BlackBerry::WebKit::WebPageCompositorPrivate::render):
- (WebKit):
- (BlackBerry::WebKit::WebPageCompositorPrivate::compositeLayers):
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
- (BlackBerry::WebKit::WebPageCompositorPrivate::addOverlay):
- (BlackBerry::WebKit::WebPageCompositorPrivate::removeOverlay):
- * Api/WebPageCompositor_p.h:
- (BlackBerry::WebKit::WebPageCompositorPrivate::compositingThreadOverlayLayer):
- (WebPageCompositorPrivate):
-
-2012-05-28 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
- https://bugs.webkit.org/show_bug.cgi?id=80135
-
- Reviewed by Rob Buis.
-
- RIM PR: 145660
- Fixed a regression introduced by r111810, which used the wrong
- credential object.
-
- Added the interface function didReceivedAuthenticaitonChallenge()
- in interface class DumpRenderTreeClient;
- Called m_dumpRenderTree->didReceiveAuthenticationChallenge() in
- WebPagePrivate::authenticationChallenge() when DRT is enabled.
-
- Test: reuse existing test cases:
- http/tests/loading/basic-credentials-sent-automatically.html
- http/tests/loading/basic-auth-resend-wrong-credentials.html
-
- Resubmit the patch reverted by r115104 after the digest infinite loop
- issue for BlackBerry porting get identified and fixed.
-
- Internally reviewed by Joe Mason <jmason@rim.com>
-
- * Api/DumpRenderTreeClient.h:
- (WebCore):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-05-28 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Always create a compositor
- https://bugs.webkit.org/show_bug.cgi?id=87598
-
- Reviewed by Rob Buis.
-
- There will likely be compositing layers either due to web content or
- due to overlays.
-
- Defer initialization of OpenGL objects (i.e., delay creation of the
- LayerRenderer object) until we actually need to draw and there are such
- layers, to avoid initializing OpenGL in the unlikely case that there
- are no compositing layers or overlay layers.
-
- PR #156811
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPagePrivate::createCompositor):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::setContext):
- (BlackBerry::WebKit::WebPageCompositorPrivate::prepareFrame):
- (BlackBerry::WebKit::WebPageCompositorPrivate::render):
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
- * Api/WebPageCompositor_p.h:
- (WebPageCompositorPrivate):
-
-2012-05-28 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Dangling pointer in WebPagePrivate::setCompositor() message
- https://bugs.webkit.org/show_bug.cgi?id=87590
-
- Reviewed by Rob Buis.
-
- A crash would be seen in GuardedPointerBase::getWithGuardLocked when
- attempting to unpickle and execute serialized call to setCompositor.
-
- The problem was that the message had been created with a dangling
- pointer as the target. The web page failed to inform its compositor
- that it was being destroyed due to an early return in
- WebPagePrivate::destroyCompositor.
-
- The root cause was that a method called "destroyCompositor" was being
- called in two situations, when navigating to a new page as well as when
- actually deleting the web page. And in one case, we really only wanted
- to free up some memory by clearing textures, while in the other case we
- really did want to destroy the compositor.
-
- Fixed by calling a method to release textures when that's what we want
- to do, and calling a method to destroy the compositor when that's what
- we want to do, and making that latter method unconditional.
-
- Reviewed internally by Jeff Rogers.
-
- PR #156765
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::destroyCompositor):
-
-2012-05-28 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Add a default tap highlight
- https://bugs.webkit.org/show_bug.cgi?id=87569
-
- Reviewed by Rob Buis.
-
- We used to require the embedder to implement tap highlight drawing.
- Now, a default tap highlight, implemented using the recently added
- accelerated compositing overlay layer support, can be used instead.
-
- The tap highlight appears instantly but fades out when hidden.
-
- The default tap highlight can be overridden using the new
- WebPage::setTapHighlight() method.
-
- Reviewed internally by Mike Lattanzio and Mike Fenton.
-
- PR #154329
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPage::tapHighlight):
- (WebKit):
- (BlackBerry::WebKit::WebPage::setTapHighlight):
- * Api/WebPage.h:
- (WebKit):
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebCore):
- (WebPagePrivate):
- * Api/WebTapHighlight.h: Added.
- (WebKit):
- * WebKitSupport/DefaultTapHighlight.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::fadeAnimationName):
- (BlackBerry::WebKit::DefaultTapHighlight::DefaultTapHighlight):
- (BlackBerry::WebKit::DefaultTapHighlight::~DefaultTapHighlight):
- (BlackBerry::WebKit::DefaultTapHighlight::draw):
- (BlackBerry::WebKit::DefaultTapHighlight::hide):
- (BlackBerry::WebKit::DefaultTapHighlight::notifySyncRequired):
- (BlackBerry::WebKit::DefaultTapHighlight::paintContents):
- * WebKitSupport/DefaultTapHighlight.h: Added.
- (WebKit):
- (DefaultTapHighlight):
- (BlackBerry::WebKit::DefaultTapHighlight::create):
- (BlackBerry::WebKit::DefaultTapHighlight::notifyAnimationStarted):
- (BlackBerry::WebKit::DefaultTapHighlight::showDebugBorders):
- (BlackBerry::WebKit::DefaultTapHighlight::showRepaintCounter):
- (BlackBerry::WebKit::DefaultTapHighlight::contentsVisible):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
-
-2012-05-28 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Add an overlay layer
- https://bugs.webkit.org/show_bug.cgi?id=87567
-
- Reviewed by Antonio Gomes.
-
- The overlay layer allows us to have compositing layers even though the
- web page is not currently using accelerated compositing.
-
- These layers can be used to implement tap highlight, inspector overlay
- and more.
-
- Reviewed internally by Filip Spacek.
-
- PR #154335
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::scheduleRootLayerCommit):
- (BlackBerry::WebKit::WebPagePrivate::overlayLayer):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::setOverlayLayer):
- (WebKit):
- (BlackBerry::WebKit::WebPageCompositorPrivate::prepareFrame):
- (BlackBerry::WebKit::WebPageCompositorPrivate::render):
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
- * Api/WebPageCompositor_p.h:
- (BlackBerry::WebKit::WebPageCompositorPrivate::overlayLayer):
- (WebPageCompositorPrivate):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-05-28 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Update WebPageCompositor::render() API
- https://bugs.webkit.org/show_bug.cgi?id=87565
-
- Reviewed by Rob Buis.
-
- The new API allows the embedder to specify the root transform and many
- OpenGL related parameters to be used when rendering the web page.
-
- To honor the transform, we have to implement a way to composite the
- BackingStore output using a generic transform. This method,
- BackingStorePrivate::compositeContents(), uses a strategy that differs
- from blitContents(), because that one is optimized for software
- blitting, while this one is optimized for GPU rendering. Specifically,
- instead of drawing the checkerboard first, and the rendered subregions
- of the tile afterward, we draw the whole tile in one call, and then
- draw checkered regions on top, if any.
-
- Removed the blit generation condvar from the new code paths for drawing
- BackingStore output using a transform, since the condvar is ineffective
- in preventing flicker when we're not in charge of swapping the window.
- Instead, another synchronization solution will be implemented in the
- future.
-
- Reviewed internally by Filip Spacek.
- Some parts reviewed internally by Jacky Jiang and others by
- Mike Lattanzio.
-
- PR #151887, #154334
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::compositeContents):
- * Api/BackingStore_p.h:
- (WebCore):
- (BackingStorePrivate):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::setContext):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setRootLayer):
- (BlackBerry::WebKit::WebPageCompositorPrivate::prepareFrame):
- (BlackBerry::WebKit::WebPageCompositorPrivate::render):
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
- (BlackBerry::WebKit::WebPageCompositor::prepareFrame):
- (BlackBerry::WebKit::WebPageCompositor::render):
- * Api/WebPageCompositor.h:
- * Api/WebPageCompositorClient.h:
- * Api/WebPageCompositor_p.h:
- (WebPageCompositorPrivate):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
-
-2012-05-28 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Plumb through the return value of makeCurrent to caller
- https://bugs.webkit.org/show_bug.cgi?id=87564
-
- Reviewed by Rob Buis.
-
- This way the caller can take appropriate action if makeCurrent fails,
- for example because we're running out of memory.
-
- Reviewed internally by George Staikos.
-
- PR #149721
-
- * WebKitSupport/GLES2Context.cpp:
- (BlackBerry::WebKit::GLES2Context::makeCurrent):
-
-2012-05-27 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Crash when deleting WebPageCompositor
- https://bugs.webkit.org/show_bug.cgi?id=87589
-
- Reviewed by Rob Buis.
-
- The WebPageCompositorPrivate is reference counted, so it may outlive
- either the WebPage or the WebPageCompositor, depending on who releases
- its reference first.
-
- Fixed by disconnecting the objects properly, regardless of who goes
- away first.
-
- Reviewed internally by Mike Lattanzio.
-
- PR #156444
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setCompositor):
- (BlackBerry::WebKit::WebPagePrivate::destroyCompositor):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositor::~WebPageCompositor):
- (BlackBerry::WebKit::WebPageCompositor::client):
- * Api/WebPageCompositor_p.h:
- (BlackBerry::WebKit::WebPageCompositorPrivate::setPage):
-
-2012-05-27 Arvid Nilsson <anilsson@rim.com>
-
- 2012-04-18 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] BackingStore accesses tiles even though it's not active
- https://bugs.webkit.org/show_bug.cgi?id=87563
-
- Reviewed by Antonio Gomes.
-
- There are many scenarios that can call render and cause tile access,
- and they used to be rerouted to the direct rendering code when the
- backing store was not active. This was thanks to an implicit check for
- isActive() by virtue of calling shouldDirectRenderingToWindow() from
- render().
-
- If we're using OpenGL for compositing the backing store contents
- however, direct rendering is always disabled and we jump right into the
- tile based rendering code.
-
- Fixed by adding an explicit check for isActive() in render(), now that
- the implicit check in shouldDirectRenderingToWindow() is conditional on
- having raster usage.
-
- Since PR136381/bug83131, when OpenGL compositing is used, and the
- backing store is not active, it is not in charge of drawing the root
- layer. Instead, we switch off the paintingGoesToWindow flag on the root
- RenderLayer so no invalidates will reach the ChromeClient or the
- BackingStore any more. Instead, invalidations will cause the root
- accelerated compositing layer to be repainted. Any BackingStore render
- calls while in this state are pointless, and can safely do an early
- return.
-
- Reviewed internally by Jakob Petsovits.
-
- PR #150403
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::render):
-
-2012-05-27 Arvid Nilsson <anilsson@rim.com>
-
- 2012-04-12 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Web page fails to render after clicking link with target=_blank
- https://bugs.webkit.org/show_bug.cgi?id=87562
-
- Reviewed by Antonio Gomes.
-
- Clicking such a link opens a new tab. The compositor was briefly in
- charge of drawing the root layer while the backing store was inactive
- and the user was looking at the other tab. The problem was that the
- compositor believed it was still painting the root layer even after the
- backing store became active again. The flag was not properly cleared
- when turning off compositing.
-
- Fixed by returning false from drawsRootLayer() if we don't have a root
- layer.
-
- Reviewed internally by Filip Spacek.
-
- PR #149342
-
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawsRootLayer):
-
-2012-05-24 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] History navigation caused google.com scale not kept
- https://bugs.webkit.org/show_bug.cgi?id=87438
-
- Reviewed by Antonio Gomes.
- Patch by Jacky Jiang <zhajiang@rim.com>
-
- PR: 159923
- For back/forward history navigation, we were trying to keep the values
- set by dispatchViewportDataDidChange. However, when we went back from
- the previous page, if the current page didn't contain the meta viewport
- tag, then those values set by previous page would never be reset.
- Although the current page could get correct saved scale when restoring
- view state, the scale would still be clamped by zoomToFitScale which
- was based on the virtual viewport of the previous page which could make
- the scale incorrect.
- Since we know the viewport arguments of the current document before
- setLoadState on back/forward history navigation, we can reset these
- previous values if the document doesn't have viewport arguments during
- setLoadState.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
-
-2012-05-25 Mary Wu <mary.wu@torchmobile.com.cn>
-
- [BlackBerry] Pass http headers to loader in download request
- https://bugs.webkit.org/show_bug.cgi?id=87449
-
- Reviewed by Rob Buis.
-
- PR# 149283
-
- This is to support byte-range download and we could pass http headers like
- "Range" in download request to loader.
-
- Reviewed internally by Lyon Chen.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::download):
-
-2012-05-24 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] InputHandler can hold a ref on an object when document is cleared.
- https://bugs.webkit.org/show_bug.cgi?id=87412
-
- Reviewed by Rob Buis.
-
- PR 145234.
-
- When the document data is cleared, notify the InputHandler
- of the associated frame being unloaded.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
-
-2012-05-24 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Implement select popup and remove old hook to air popup
- https://bugs.webkit.org/show_bug.cgi?id=87419
-
- Reviewed by Rob Buis.
-
- Introduce new html select popup client, remove the old hook to air popup.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/SelectPopupClient.cpp: Added.
- (WebCore):
- (WebCore::SelectPopupClient::SelectPopupClient):
- (WebCore::SelectPopupClient::~SelectPopupClient):
- (WebCore::SelectPopupClient::update):
- (WebCore::SelectPopupClient::generateHTML):
- (WebCore::SelectPopupClient::closePopup):
- (WebCore::SelectPopupClient::contentSize):
- (WebCore::SelectPopupClient::htmlSource):
- (WebCore::SelectPopupClient::setValueAndClosePopup):
- (WebCore::SelectPopupClient::didClosePopup):
- (WebCore::SelectPopupClient::writeDocument):
- * WebCoreSupport/SelectPopupClient.h: Added.
- (WebKit):
- (WebCore):
- (SelectPopupClient):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::openSelectPopup):
- * WebKitSupport/InputHandler.h:
- (WebCore):
- (InputHandler):
- * WebKitSupport/WebPopupType.h: Added.
- (BlackBerry):
- (WebKit):
-
-2012-05-24 Antonio Gomes <agomes@rim.com>
-
- Possible missing layout in Iris browser after hiding VKB
- https://bugs.webkit.org/show_bug.cgi?id=87408
- PR #153056 / MKS_3674963
-
- Reviewed by Adam Treat.
-
- Also informally reviewed by Mike Fenton.
-
- If we are not rotating and we've started a viewport resize with
- the Render tree in dirty state (i.e. it needs layout), lets
- reset the needsLayout flag for now but set our own 'needsLayout'.
-
- Reason: calls like ScrollView::setFixedLayoutSize can trigger a layout
- if the render tree needs it. We want to avoid it till the viewport resize
- is actually done (i.e. ScrollView::setViewportSize gets called
- further down the method) so we do not get render artifacts.
-
- Since our WebPage::setViewportSize calls rely on async Virtual
- Keyboard responses, we were getting it called with the render
- tree sometimes in a dirty state, sometimes not. It was flaky!
- Patch ensures a clear render tree state, and sets it as dirty
- afterwards as needed, so layout happens at the proper time.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
-
-2012-05-24 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Padding adjustment for determining the relative distance for a point was backwards.
- https://bugs.webkit.org/show_bug.cgi?id=87404
-
- Reviewed by Rob Buis.
-
- Fix padding calculation for handle adjustment.
-
- Reviewed Internally by Mike Lattanzio.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::directionOfPointRelativeToRect):
-
-2012-05-24 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Remove unused API function touchEventCancelAndClearFocusedNode.
- https://bugs.webkit.org/show_bug.cgi?id=87379
-
- Reviewed by Antonio Gomes.
-
- Remove unused API, touchEventCancelAndClearFocusedNode.
-
- Reviewed Internally by Gen Mak.
-
- * Api/WebPage.cpp:
- * Api/WebPage.h:
- * WebKitSupport/TouchEventHandler.cpp:
- * WebKitSupport/TouchEventHandler.h:
- (TouchEventHandler):
-
-2012-05-23 Genevieve Mak <gmak@rim.com>
-
- Remove minimum and maximum scroll position as they are no
- longer required due to changes in ScrollViewBase.
- https://bugs.webkit.org/show_bug.cgi?id=87298
-
- Reviewed by Antonio Gomes.
-
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
- * WebKitSupport/InRegionScrollableArea.h:
- (InRegionScrollableArea):
-
-2012-05-22 Chris Guan <chris.guan@torchmobile.com.cn>
-
- [Blackberry]Pages contain video or audio tags should be in pageCache
- https://bugs.webkit.org/show_bug.cgi?id=87116
-
- Reviewed by George Staikos.
-
- There is not any reason to disable pageCache for video/audio
- tags probably. By my testing, Back and Forward are working for
- those pages contain video and audio tags.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::canCachePage):
-
-2012-05-22 Konrad Piascik <kpaiscik@rim.com>
-
- [BlackBerry] Remove unused/unimplemented methods from InspectorClientBlackberry
- https://bugs.webkit.org/show_bug.cgi?id=87125
-
- Reviewed by Rob Buis.
-
- Removed unimplemented methods that are no longer part of InspectorClient and added
- a new stub for InspectorStateClient::updateInspectorStateCookie
-
- * WebCoreSupport/InspectorClientBlackBerry.cpp:
- (WebCore::InspectorClientBlackBerry::updateInspectorStateCookie):
- (WebCore):
- * WebCoreSupport/InspectorClientBlackBerry.h:
- (InspectorClientBlackBerry):
-
-2012-05-18 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Validation of Last Fat Finger result is needed for selection.
- https://bugs.webkit.org/show_bug.cgi?id=86888
-
- Reviewed by Antonio Gomes.
-
- PR 128393.
-
- Cached FatFingersResults must be validatible against
- the desired request to ensure the result is both for
- the same point and of the same type.
-
- * WebKitSupport/FatFingers.h:
- (WebKit):
- (FatFingersResult):
- (BlackBerry::WebKit::FatFingersResult::FatFingersResult):
- (BlackBerry::WebKit::FatFingersResult::reset):
- (BlackBerry::WebKit::FatFingersResult::resultMatches):
- (BlackBerry::WebKit::FatFingersResult::originPosition):
- (BlackBerry::WebKit::FatFingersResult::adjustedPosition):
- (BlackBerry::WebKit::FatFingersResult::positionWasAdjusted):
- (BlackBerry::WebKit::FatFingersResult::isTextInput):
- (BlackBerry::WebKit::FatFingersResult::isValid):
- (BlackBerry::WebKit::FatFingersResult::node):
- (BlackBerry::WebKit::FatFingersResult::nodeAsElementIfApplicable):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
-
-2012-05-18 MORITA Hajime <morrita@google.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=85515
- Stale frame in WebCore::SpellChecker::didCheckSucceeded
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/EditorClientBlackBerry.h:
- (WebCore::EditorClientBlackBerry::frameWillDetachPage):
-
-2012-05-17 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] www.thestar.com/iphone Viewport Weirdness
- https://bugs.webkit.org/show_bug.cgi?id=86756
-
- Reviewed by George Staikos.
-
- PR 156710
- On high DPI devices, the virtual viewport size of this page was smaller
- than screen size. During the refreshing of the page, we reset the scale
- when the state was Committed, then layouted and rendered contents based
- on the virtual viewport size and default scale 1, which caused a small
- size thumbnail before we restored the previous view state.
- Fixed it by keeping the previous scale, user scalable and
- m_userViewportArguments during the Committed state of refreshing.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
-
-2012-05-17 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Cleanup headers in SelectionHandler.cpp
- https://bugs.webkit.org/show_bug.cgi?id=86760
-
- Reviewed by Antonio Gomes.
-
- Clean up includes in SelectionHandler.cpp.
-
- * WebKitSupport/SelectionHandler.cpp:
-
-2012-05-17 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] expandSelectionToGranularity should only use VisibleSelection and not range.
- https://bugs.webkit.org/show_bug.cgi?id=86759
-
- Reviewed by Antonio Gomes.
-
- expandSelectionToGranularity unnecesarily converted the
- selection to range and back. Using the selection
- directly is preferred.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::expandSelectionToGranularity):
-
-2012-05-17 Hironori Bono <hbono@chromium.org>
-
- [Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer
- https://bugs.webkit.org/show_bug.cgi?id=86591
-
- Reviewed by Ryosuke Niwa.
-
- This change adds a TextCheckerClient::shouldEraseMarkersAfterChangeSelection
- function to remove platform-specific code from Editor::respondToChangedSelection
- function.
-
- No new tests, no change in behavior.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::shouldEraseMarkersAfterChangeSelection):
- (WebCore):
- * WebCoreSupport/EditorClientBlackBerry.h:
- (EditorClientBlackBerry):
-
-2012-05-17 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Build fix, SelectionHandler extra debug logs
- https://bugs.webkit.org/show_bug.cgi?id=86743
-
- Reviewed by Antonio Gomes.
-
- Add include for BlackBerryPlatformLog to SelectionHandler.cpp
-
-
- * WebKitSupport/SelectionHandler.cpp:
-
-2012-05-16 Yongxin Dai <yodai@rim.com>
-
- [BlackBerry] The FCC shows up on an empty input field
- https://bugs.webkit.org/show_bug.cgi?id=86657
-
- Reviewed by Antonio Gomes.
-
- Turn off the caret by sending a caret changed notification with empty caret.
- PR #120620
-
- Reviewed Internally by Mike Fenton.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
-
-2012-05-16 Eli Fidler <efidler@rim.com>
-
- [BlackBerry] Don't reset the default font families in WebSettings
- https://bugs.webkit.org/show_bug.cgi?id=86660
-
- Reviewed by Rob Buis.
-
- PR 152467
- The default families are also set definitively in WebCore/page/blackberry/SettingsBlackBerry.cpp
-
- * Api/WebSettings.cpp:
- (BlackBerry::WebKit::WebSettings::standardSettings):
-
-2012-05-16 Genevieve Mak <gmak@rim.com>
-
- Add missing include that was causing build errors.
- https://bugs.webkit.org/show_bug.cgi?id=86502
-
- Reviewed by Rob Buis.
- Reviewed Internally by Liam Quinn.
-
- * WebKitSupport/InputHandler.cpp:
-
-2012-05-15 Chris Guan <chris.guan@torchmobile.com.cn>
-
- [BlackBerry] Enhance an API of BackingStore::drawContents
- https://bugs.webkit.org/show_bug.cgi?id=86447
-
- Reviewed by George Staikos.
-
- Enhance the current APIs by adding parameters of id and destination
- contentSize, because chrome browser may want different contents from
- the same webview at different times.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
- (BlackBerry::WebKit::BackingStore::drawContents):
- * Api/BackingStore.h:
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
-
-2012-05-15 Max Feil <mfeil@rim.com>
-
- [BlackBerry] Enable the Fullscreen API
- https://bugs.webkit.org/show_bug.cgi?id=86129
-
- Reviewed by Antonio Gomes.
-
- This patch enables the new document-based Fullscreen API.
- The ENABLE(FULLSCREEN_API) is already enabled in the
- BlackBerry WebKit build. My patch turns fullscreen on
- in the page settings by default and implements the missing
- ChromeClientBlackBerry::{supports,enter,exit}FullScreenForElement()
- member functions. I am also plumbing through the existing
- "fullScreenVideoCapable" that QNXStageWebView has always been
- sending to allow the presence of a native fullscreen video player
- to be checked.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- * Api/WebSettings.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebSettings::standardSettings):
- (BlackBerry::WebKit::WebSettings::fullScreenVideoCapable):
- (BlackBerry::WebKit::WebSettings::setFullScreenVideoCapable):
- * Api/WebSettings.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore):
- (WebCore::ChromeClientBlackBerry::supportsFullScreenForElement):
- (WebCore::ChromeClientBlackBerry::enterFullScreenForElement):
- (WebCore::ChromeClientBlackBerry::exitFullScreenForElement):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2012-05-15 Hanna Ma <Hanma@rim.com>
-
- [BlackBerry] adding a functionality for web inspector to inspect current selected element
- https://bugs.webkit.org/show_bug.cgi?id=86394
-
- Reviewed by Rob Buis.
-
- Add a way to trigger the remote web inspector on selected element.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::inspectCurrentContextElement):
- (WebKit):
- * Api/WebPage.h:
-
-2012-05-14 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] ASSERT failure in FrameView::paintContents when refleshing www.thestar.com/iphone
- https://bugs.webkit.org/show_bug.cgi?id=86391
-
- Reviewed by Adam Treat.
-
- PR 156992
- Request layout first if needed before painting contents.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
-
-2012-05-10 Mike Fenton <mifenton@rim.com>
-
- Caret node boundary should be adjusted to account for the visible region.
- https://bugs.webkit.org/show_bug.cgi?id=86116
-
- Reviewed by Antonio Gomes.
-
- PR 138988.
-
- Update the node bounding box to be clipped and adjusted
- for the visible region of the frame.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
-
-2012-05-10 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Assertions and assumptions in BackingStoreClient around m_frame and m_frame->view() are invalid
- https://bugs.webkit.org/show_bug.cgi?id=86096
-
- Reviewed by Rob Buis.
-
- A Frame's FrameView has always to be checked since it is
- a volatile object, and gets created and destroyed all the time.
-
- We have been facing a particular issue, where during our automated
- interaction tests, the main frame object was being pinch zoomed in
- the middle of it creation, and WebKit thread was blocked by a mutex.
- In practice, it is a case that would not be possible in a real
- world scenario, but shows that the ASSERTs are bogus regardless.
-
- * WebKitSupport/BackingStoreClient.cpp:
- (BlackBerry::WebKit::BackingStoreClient::scrollPosition):
- (BlackBerry::WebKit::BackingStoreClient::setScrollPosition):
- (BlackBerry::WebKit::BackingStoreClient::maximumScrollPosition):
- (BlackBerry::WebKit::BackingStoreClient::viewportSize):
- (BlackBerry::WebKit::BackingStoreClient::transformedViewportSize):
- (BlackBerry::WebKit::BackingStoreClient::visibleContentsRect):
- (BlackBerry::WebKit::BackingStoreClient::contentsSize):
-
-2012-05-09 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Autofill feature implementation for BlackBerry porting
- https://bugs.webkit.org/show_bug.cgi?id=85577
-
- Reviewed by Rob Buis.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::autofillTextField): Added this interface
- function to auto fill the inputting text field when user selects
- a autofill candidate value from autofill context dialog.
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::notifyPopupAutofillDialog): Added
- this interface function to notify WebPageClient to pop up the autofill
- context dialog with the suggested input items.
- (BlackBerry::WebKit::WebPage::clearAutofillData):
- * Api/WebPage.h:
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebCore):
- (WebPagePrivate):
- * WebCoreSupport/AutofillManager.cpp:
- (WebCore::AutofillManager::didChangeInTextField):
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::textDidChangeInTextField): Implemented
- this function to listen to the notification of text field change, and
- notify AutofillManager to handle the autofill.
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
- Save the name and value pair of every autofillable input text field when
- user submitting a form.
-
-2012-05-09 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Enable PAGE_POPUP in make file, and implement required methods
- https://bugs.webkit.org/show_bug.cgi?id=85907
-
- Reviewed by Rob Buis.
-
- Internal reviewed by Yong Li.
-
- Enable PAGE_POPUP so we can use WebCore::PagePopup and WebCore::PagePopupClient interface.
- Implement virtual methods in WebCore::ChromeClientBlackBerry that required for the
- implementation and add methods in WebKit::WebPage that needed for PagePopupClient.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- (BlackBerry::WebKit::WebPage::initPopupWebView):
- (WebKit):
- (BlackBerry::WebKit::WebPage::popupOpened):
- (BlackBerry::WebKit::WebPage::popupClosed):
- (BlackBerry::WebKit::WebPage::hasOpenedPopup):
- (BlackBerry::WebKit::WebPage::popup):
- (BlackBerry::WebKit::WebPagePrivate::setParentPopup):
- * Api/WebPage.h:
- (WebCore):
- * Api/WebPage_p.h:
- (WebCore):
- (WebPagePrivate):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::hasOpenedPopup):
- (WebCore::ChromeClientBlackBerry::openPagePopup):
- (WebCore):
- (WebCore::ChromeClientBlackBerry::closePagePopup):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (WebCore):
- (ChromeClientBlackBerry):
-
-2012-05-08 Jason Liu <jason.liu@torchmobile.com.cn>
-
- [BlackBerry] Auth credentials set in private mode are reused in public mode.
- https://bugs.webkit.org/show_bug.cgi?id=84697
-
- Reviewed by Rob Buis.
-
- Add setPrivateMode function for CredentialStorage.
-
- We have to change Private Browsing to test, so have to write a manual test case.
- Test: ManualTests/blackberry/http-auth-private-mode-changed.html
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
-
-2012-05-08 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Implement a popup client for HTML controls
- https://bugs.webkit.org/show_bug.cgi?id=85670
-
- Reviewed by Rob Buis.
-
- Implement a popup client for HTML controls, which would be used to load
- different popups according to popup type.
-
- * WebCoreSupport/PagePopupBlackBerry.cpp: Added.
- (WebCore):
- (PagePopupChromeClient):
- (WebCore::PagePopupChromeClient::PagePopupChromeClient):
- (WebCore::PagePopupChromeClient::closeWindowSoon):
- (WebCore::PagePopupChromeClient::webPage):
- (WebCore::PagePopupBlackBerry::PagePopupBlackBerry):
- (WebCore::PagePopupBlackBerry::~PagePopupBlackBerry):
- (WebCore::PagePopupBlackBerry::sendCreatePopupWebViewRequest):
- (WebCore::PagePopupBlackBerry::init):
- (WebCore::setValueAndClosePopupCallback):
- (WebCore::popUpExtensionInitialize):
- (WebCore::popUpExtensionFinalize):
- (WebCore::PagePopupBlackBerry::installDomFunction):
- (WebCore::PagePopupBlackBerry::handleMouseEvent):
- (WebCore::PagePopupBlackBerry::closePopup):
- (WebCore::PagePopupBlackBerry::closeWebPage):
- * WebCoreSupport/PagePopupBlackBerry.h: Added.
- (WebKit):
- (WebCore):
- (PagePopupBlackBerry):
-
-2012-05-08 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Over-scroll image should be tiled
- https://bugs.webkit.org/show_bug.cgi?id=85860
-
- Reviewed by Rob Buis.
-
- Implement tiling for over-scroll image if image dimension don't match
- the surface dimensions.
-
- * Api/BackingStore.cpp:
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::ensureOverScrollImage):
- (BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
-
-2012-05-08 Chris Guan <chris.guan@torchmobile.com.cn>
-
- [Blackberry] remove m_isRequestedByPlugin in ResourceRequest
- https://bugs.webkit.org/show_bug.cgi?id=84559
-
- Reviewed by Antonio Gomes.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNewWindowAction):
-
-2012-05-08 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] AutofillManager implementation upstream
- https://bugs.webkit.org/show_bug.cgi?id=85576
-
- Reviewed by Rob Buis.
-
- RIM PR: 136405
- Implemented class AutofillManager to handle the form autofill
- interactions.
- It listens to text changed notification from text input, searches
- autofill database for the suggested autofill candidate value,
- and notifies WebPageClient to pop up a context dialog for user;
- it also responds to user's choice by autofilling the text input.
-
- * WebCoreSupport/AutofillManager.cpp: Added.
- (WebCore):
- (WebCore::AutofillManager::create):
- (WebCore::AutofillManager::didChangeInTextField):
- (WebCore::AutofillManager::autofillTextField):
- (WebCore::AutofillManager::saveTextFields):
- (WebCore::AutofillManager::clear):
- * WebCoreSupport/AutofillManager.h: Added.
- (WTF):
- (WebKit):
- (WebCore):
- (AutofillManager):
- (WebCore::AutofillManager::m_element):
-
-2012-05-07 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Delete previous buffer when new over-scroll image path is set
- https://bugs.webkit.org/show_bug.cgi?id=85812
-
- Reviewed by Rob Buis.
-
- When a new over-scroll image path is set, delete old buffer before creating
- a new one.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::ensureOverScrollImage):
-
-2012-05-07 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Over-scroll image path property should be relative to local application directory
- https://bugs.webkit.org/show_bug.cgi?id=85814
-
- Reviewed by Rob Buis.
-
- Over-scroll image path web setting should be relative to the local directory.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::ensureOverScrollImage):
-
-2012-05-07 Crystal Zhang <haizhang@rim.com>
-
- [BlackBerry] Add methods need by client side
- https://bugs.webkit.org/show_bug.cgi?id=85661
-
- Reviewed by Antonio Gomes.
-
- Add methods needed by client side when create and close HTML popup dialogs.
- PR 154360
-
- * Api/WebPageClient.h:
-
-2012-05-06 Mary Wu <mary.wu@torchmobile.com.cn>
-
- [BlackBerry] Support html5 download attribute.
- https://bugs.webkit.org/show_bug.cgi?id=85044
-
- Reviewed by Antonio Gomes.
-
- If a link has download attribute, we should pass that value and be able to
- save file with the name according to HTML5:
- http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::load):
- (BlackBerry::WebKit::WebPage::download):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::startDownload):
-
-2012-05-06 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Autofill backing store implementation upstream
- https://bugs.webkit.org/show_bug.cgi?id=85575
-
- Reviewed by Rob Buis.
-
- Replaced calling static function CredentialBackingStore::instance()
- with calling the helper function credentialBackingStore().
-
- * WebCoreSupport/CredentialManager.cpp:
- (WebCore::CredentialManager::autofillAuthenticationChallenge):
- (WebCore::CredentialManager::autofillPasswordForms):
- (WebCore::CredentialManager::saveCredentialIfConfirmed):
- (WebCore::CredentialManager::clearCredentials):
- (WebCore::CredentialManager::clearNeverRememberSites):
-
-2012-05-06 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Enable credential persistance and auto fill
- https://bugs.webkit.org/show_bug.cgi?id=85572
-
- Reviewed by Rob Buis.
-
- Set autofilled status of credential input fields when credential
- information is auto filled by CredentialManager.
- By doing this the input element will get painted with yellow background
- which can notify user this input field is auto filled by the browser.
-
- No behavior changes, so no new test.
-
- * WebCoreSupport/CredentialTransformData.cpp:
- (WebCore::CredentialTransformData::setCredential):
-
-2012-05-04 Andrew Lo <anlo@rim.com>
-
- [Blackberry] Implement over-scroll background image
- https://bugs.webkit.org/show_bug.cgi?id=85538
-
- Reviewed by Rob Buis.
-
- Use over-scroll image when set instead of the solid colour.
- Internal PR146652
-
- * Api/BackingStore.cpp:
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::ensureOverScrollImage):
- (BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebSettings.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebSettings::standardSettings):
- (BlackBerry::WebKit::WebSettings::overScrollImagePath):
- (BlackBerry::WebKit::WebSettings::setOverScrollImagePath):
- * Api/WebSettings.h:
-
-2012-05-04 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Rendering bmp file as text file when Content-Type:image/x-ms-bmp from apache web server.
- https://bugs.webkit.org/show_bug.cgi?id=85036
-
- Reviewed by Antonio Gomes.
-
- Move getNormalizedMIMEType into WebCore::MIMETypeRegistry.
-
- * Api/WebSettings.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebSettings::isSupportedObjectMIMEType):
- * Api/WebSettings.h:
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::createPlugin):
- (WebCore::FrameLoaderClientBlackBerry::canShowMIMEType):
- (WebCore::FrameLoaderClientBlackBerry::objectContentType):
-
-2012-05-04 Nate Chapin <japhet@chromium.org>
-
- Don't require FrameLoaderClient to manufacture a commitData() call for empty documents.
- https://bugs.webkit.org/show_bug.cgi?id=85533
-
- Reviewed by Alexey Proskuryakov.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::finishedLoading):
-
-2012-05-04 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r116085, r116091, and r116095.
- http://trac.webkit.org/changeset/116085
- http://trac.webkit.org/changeset/116091
- http://trac.webkit.org/changeset/116095
- https://bugs.webkit.org/show_bug.cgi?id=85628
-
- We are not ready with dependencies on all platform yet (mac) +
- problems with debug builds. (Requested by Zoltan on #webkit).
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2012-05-04 Zoltan Horvath <zoltan@webkit.org>
-
- [Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder
- https://bugs.webkit.org/show_bug.cgi?id=80400
-
- Get rid off QT_IMAGE_DECODER flag.
-
- Reviewed by Simon Hausmann.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
-
-2012-05-03 Fady Samuel <fsamuel@chromium.org>
-
- Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
- https://bugs.webkit.org/show_bug.cgi?id=70609
-
- Reviewed by Kenneth Rohde Christiansen.
-
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::dumpConfigurationForViewport):
-
-2012-05-03 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Add special attribute for alternate selection touch handling.
- https://bugs.webkit.org/show_bug.cgi?id=85284
-
- Reviewed by Rob Buis.
-
- Rename the custom attribute and make it a data- attribute.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::inputNodeOverridesTouch):
-
-2012-04-18 Jon Honeycutt <jhoneycutt@apple.com>
-
- FrameLoaderClient::dispatchWillSendSubmitEvent() should be given more
- information about the form being submitted
- https://bugs.webkit.org/show_bug.cgi?id=84297
-
- Reviewed by Andy Estes.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
- Updated to use the FormState.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
- Updated method declaration.
-
-2012-05-02 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Double tap zooming does nothing on small size table
- https://bugs.webkit.org/show_bug.cgi?id=85383
-
- Reviewed by George Staikos.
-
- PR: 153232
- When we search the best node for block zoom, if the initial node's new
- scale exceeds the maximum block zoom scale, we will try to walk through
- it's ancestors and pick the acceptable one. But the reality is that the
- acceptable ancestor's size can be too close to the size of the actual
- contents, we will do nothing for it. As we will still select the
- minimum of the new scale and the maximum block zoom scale as block zoom
- scale, we can ignore such kind of node and use the initial node instead.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::adjustedBlockZoomNodeForZoomLimits):
-
-2012-05-01 Mike Fenton <mifenton@rim.com>
-
- Add special attribute for alternate selection touch handling.
- https://bugs.webkit.org/show_bug.cgi?id=85284
-
- Reviewed by Antonio Gomes.
-
- PR 152975.
-
- Add attribute -bb-selection-touchoverride to override
- touch handling on selection overlay.
-
- Reviewed Internally by Gen Mak.
-
- * Api/WebPageClient.h:
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::inputNodeOverridesTouch):
- (WebKit):
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- * WebKitSupport/SelectionHandler.h:
- (SelectionHandler):
-
-2012-04-30 Benjamin Poulain <benjamin@webkit.org>
-
- Add String::startsWith() and endsWith() for string literals
- https://bugs.webkit.org/show_bug.cgi?id=85154
-
- Reviewed by Darin Adler.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::elementPatternMatches):
-
-2012-04-27 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Double tap zooming does nothing on table element on bustedtees.com
- https://bugs.webkit.org/show_bug.cgi?id=85104
-
- Reviewed by George Staikos.
-
- PR: 147006
- This was caused by the incorrect fix master_33/SHA:612caec4.
- Calculations like this "originalArea / pageArea" would always return 0
- so that the incorrect node and blockRect were used by block zoom. This
- patch takes care of it.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::blockZoomRectForNode):
- (BlackBerry::WebKit::WebPage::blockZoom):
-
-2012-04-27 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Improve log output in InputHandler.cpp
- https://bugs.webkit.org/show_bug.cgi?id=85007
-
- Reviewed by Antonio Gomes.
-
- PR 138292
- Improving logging in InputHandler.
- In setText we had an early return which wasn't being captured.
- Also, cleaning up the output to make it more clear and descriptive.
-
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::learnText):
- (BlackBerry::WebKit::InputHandler::enableInputMode):
- (BlackBerry::WebKit::InputHandler::setText):
-
-2012-04-27 Chris Guan <chris.guan@torchmobile.com.cn>
-
- [Blackberry] remove redundant returns
- https://bugs.webkit.org/show_bug.cgi?id=85033
-
- Reviewed by Antonio Gomes.
-
- Remove two redundant returns which were added by accident.
-
- No new test cases, because no behaviour has changed.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setSelection):
- (BlackBerry::WebKit::WebPage::setCaretPosition):
-
-2012-04-27 Andy Chen <andchen@rim.com>
-
- [BlackBerry] Find-in-page fails to deactivate the old active match when moving backwards
- https://bugs.webkit.org/show_bug.cgi?id=84892
-
- Reviewed by Antonio Gomes.
-
- Find in page fails to deactivate the old active match when moving backwards
- because searchStartingPoint was incorrectly initialized.
- Create a real range object instead of referencing other range object.
- PR 152009
-
- Internally reviewed by Yongxin Dai.
-
- * WebKitSupport/InPageSearchManager.cpp:
- (BlackBerry::WebKit::InPageSearchManager::findNextString):
-
-2012-04-26 Yong Li <yoli@rim.com>
-
- [BlackBerry] A quick fix to the previous patch r115245.
- https://bugs.webkit.org/show_bug.cgi?id=84862
-
- Reviewed by Antonio Gomes.
-
- Fix an obvious bug in previous patch: DeferredTaskLoadManualScript
- was using a wrong flag.
-
- * Api/WebPage.cpp:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-04-25 Chris Guan <chris.guan@torchmobile.com.cn>
-
- [Blackberry] add a new function in BackingStore
- https://bugs.webkit.org/show_bug.cgi?id=84818
-
- Reviewed by Antonio Gomes.
-
- Adding two functions in BackingStorePrivate and
- BackingStore, which could render out webpage contents
- into BlackBerry::Platform::Graphics::Drawable.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
- (WebKit):
- (BlackBerry::WebKit::BackingStore::drawContents):
- * Api/BackingStore.h:
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
-
-2012-04-25 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Input Range element expects mouse events
- https://bugs.webkit.org/show_bug.cgi?id=84571
-
- Reviewed by Antonio Gomes.
-
- This just cleans up the code a bit to make it less code and more readable.
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::shouldConvertTouchToMouse):
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- (BlackBerry::WebKit::TouchEventHandler::spellCheck):
-
-2012-04-25 Yong Li <yoli@rim.com>
-
- [BlackBerry] Possible JS re-entrancy caused by UI events.
- https://bugs.webkit.org/show_bug.cgi?id=84862
-
- Reviewed by Antonio Gomes.
-
- 1. block UI events when running in nested event loop
- 2. defer some tasks we still want to perform when it is safe to do,
- with cached data.
- 3. deferred task can be cancelled by clearing the flag. duplicate tasks
- is not a problem because they share same flag and data.
- 4. move deferred manual script from FrameLoaderClientBlackBerry to WebPagePrivate
- and make it a deferred task
-
- * Api/WebPage.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::load):
- (BlackBerry::WebKit::WebPagePrivate::stopCurrentLoad):
- (BlackBerry::WebKit::WebPagePrivate::willDeferLoading):
- (BlackBerry::WebKit::WebPagePrivate::didResumeLoading):
- (BlackBerry::WebKit::WebPagePrivate::deferredTasksTimerFired):
- (BlackBerry::WebKit::WebPage::assignFocus):
- (BlackBerry::WebKit::WebPagePrivate::setPageVisibilityState):
- (BlackBerry::WebKit::WebPage::setInputSelection):
- (BlackBerry::WebKit::WebPage::popupListClosed):
- (BlackBerry::WebKit::WebPage::setDateTimeInput):
- (BlackBerry::WebKit::WebPage::setColorInput):
- (BlackBerry::WebKit::WebPage::mouseEvent):
- (BlackBerry::WebKit::WebPage::touchEvent):
- (BlackBerry::WebKit::WebPage::touchPointAsMouseEvent):
- (BlackBerry::WebKit::WebPage::touchEventCancel):
- (BlackBerry::WebKit::WebPage::touchEventCancelAndClearFocusedNode):
- (BlackBerry::WebKit::WebPage::keyEvent):
- (BlackBerry::WebKit::WebPage::deleteTextRelativeToCursor):
- (BlackBerry::WebKit::WebPage::setComposingText):
- (BlackBerry::WebKit::WebPage::commitText):
- (BlackBerry::WebKit::WebPage::selectionCancelled):
- (BlackBerry::WebKit::WebPage::cutSelectedText):
- (BlackBerry::WebKit::WebPage::insertText):
- (BlackBerry::WebKit::WebPage::clearCurrentInputField):
- (BlackBerry::WebKit::WebPage::cut):
- (BlackBerry::WebKit::WebPage::paste):
- (BlackBerry::WebKit::WebPage::setSelection):
- (BlackBerry::WebKit::WebPage::setCaretPosition):
- (BlackBerry::WebKit::WebPage::selectAtPoint):
- (BlackBerry::WebKit::WebPage::setFocused):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebCore):
- (WebPagePrivate):
- (DeferredTaskBase):
- (BlackBerry::WebKit::WebPagePrivate::DeferredTaskBase::perform):
- (BlackBerry::WebKit::WebPagePrivate::DeferredTaskBase::DeferredTaskBase):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::FrameLoaderClientBlackBerry):
- (WebCore::FrameLoaderClientBlackBerry::~FrameLoaderClientBlackBerry):
- (WebCore::FrameLoaderClientBlackBerry::willDeferLoading):
- (WebCore::FrameLoaderClientBlackBerry::didResumeLoading):
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::setPopupListIndexes):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2012-04-24 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Perform spellcheck before handling TouchRelease event
- https://bugs.webkit.org/show_bug.cgi?id=84744
-
- After rebasing to master_35, it appears as though some code had been moved around.
- Here, we were handling the TouchReleased event before calling spellcheck. This
- meant that when we finally got the call to spellcheck, the fatFinger result had been
- reset and the spelling markers had been removed.
-
- In addition, based on https://bugs.webkit.org/show_bug.cgi?id=66330
- I am also updating the BlackBerry specific documentMarkerContainingPoint to use
- LayoutPoint instead of IntPoint.
-
- Internally reviewed by Mike Fenton.
-
- Reviewed by Antonio Gomes.
-
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- (BlackBerry::WebKit::TouchEventHandler::spellCheck):
- * dom/DocumentMarkerController.cpp:
- (WebCore::DocumentMarkerController::markerContainingPoint):
- * dom/DocumentMarkerController.h:
-
-2012-04-24 Mike Lattanzio <mlattanzio@rim.com>
-
- [BlackBerry] setUserViewportArguments not always respected.
- https://bugs.webkit.org/show_bug.cgi?id=84738
-
- Reviewed by Antonio Gomes.
-
- Remove the unnecessary logic in
- WebPagePrivate::recomputeVirtualViewportFromViewportArguments().
- Instead it is much simpler to just set the m_viewportArguments to
- m_userViewportArguments on LoadCommitted. If there is a viewport
- tag in the content, m_viewportArguments will be replaced with it
- as usual during normal page load.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
-
-2012-04-24 Joe Mason <jmason@rim.com>
-
- [BlackBerry] Revert broken changes to authentication dialog
- https://bugs.webkit.org/show_bug.cgi?id=80135
-
- Reviewed by Antonio Gomes.
-
- The previous patches from this bug caused an infinite loop when using digest auth;
- apparently they were only tested with basic.
-
- * Api/DumpRenderTreeClient.h:
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-04-24 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Add additional details including the bounds of the box for caretPositionChanged.
- https://bugs.webkit.org/show_bug.cgi?id=84728
-
- Reviewed by Antonio Gomes.
-
- PR 138988.
-
- Update caretPositionChanged to include the limit of the input field
- for single line inputs.
-
- Reviewed Internally by Gen Mak.
-
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::boundingBoxForInputField):
- (WebKit):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::clippingRectForVisibleContent):
- (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
-
-2012-04-24 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Input Range element expects mouse events
- https://bugs.webkit.org/show_bug.cgi?id=84571
-
- Reviewed by Antonio Gomes.
-
- Input element with Range type expects mouse events to
- drag the handle. Note that Input Range could appear
- in both the web page directly, or in some shadow tree,
- like the MediaControlTimeline and MediaControlVolume.
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::isRangeControlElement):
- (WebKit):
- (BlackBerry::WebKit::elementExpectsMouseEvents):
- (BlackBerry::WebKit::shouldConvertTouchToMouse):
-
-2012-04-23 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Build failure when DEBUG_FAT_FINGER is enabled
- https://bugs.webkit.org/show_bug.cgi?id=84563
-
- Reviewed by Antonio Gomes.
-
- Fat Finger log code uses obsolete IntRect::toString() for logging,
- which was first implemented interally and removed later.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::findIntersectingRegions):
-
-2012-04-21 Benjamin C Meyer <bmeyer@rim.com>
-
- Don't hard code the plugins that blackberry supports.
- https://bugs.webkit.org/show_bug.cgi?id=84535
-
- Use the existing PluginDatabase to query for the plugins we can handle.
-
- The original implemention of FrameLoaderClientBlackBerry::createPlugin
- was a partial copy from another port. In the Qt port there is some
- workarounds for flash which is why this exists there. Sadly the bits
- that were copied made it so only flash worked, but as flash was the only
- plugin on the system this issue was not noticed until QNX tried to get
- jnext working. Tracing it down to this bit of code rather then
- correcting it they hardcoded the jnext into the same block as flash was.
-
- The blackberry port isn't specifically suppose to only allow jnext and
- flash, but was an accident due to the way this code was developed.
-
- Reviewed by Adam Treat.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::createPlugin):
-
-2012-04-20 Brady Eidson <beidson@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=84512
- Repurpose ActiveDOMObject::WillShowDialog to WillDeferLoading
-
- Reviewed by Eric Carlson.
-
- PageGroupLoadDeferrer's don't take a ReasonForSuspension argument anymore;
- They just use WillDeferLoading by default.
-
- * Api/WebPageGroupLoadDeferrer.cpp:
- (BlackBerry::WebKit::WebPageGroupLoadDeferrer::WebPageGroupLoadDeferrer):
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::createWindow):
- (WebCore::ChromeClientBlackBerry::runOpenPanel):
-
-2012-04-20 Brady Eidson <beidson@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=84490
- PageGroupLoadDeferrer needs to take a ReasonForSuspension argument
-
- Reviewed by Anders Carlsson.
-
- * Api/WebPageGroupLoadDeferrer.cpp:
- (BlackBerry::WebKit::WebPageGroupLoadDeferrer::WebPageGroupLoadDeferrer): Pass along ActiveDOMObject::WillShowDialog,
- which used to be the default
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::createWindow): Pass along ActiveDOMObject::WillShowDialog, which used to be the default.
- (WebCore::ChromeClientBlackBerry::runOpenPanel): Ditto.
-
-2012-04-20 Mike Lattanzio <mlattanzio@rim.com>
-
- [BlackBerry] Expose WebViewportArguments to WebPageClient
- https://bugs.webkit.org/show_bug.cgi?id=84471
-
- Reviewed by Antonio Gomes.
-
- Implement the ability for the WebPageClient to specify a fallback
- virtual viewport to be used whenever a meta viewport tag is not
- present in the HTML. This can drastically impact apparent layout.
- This patch is designed to provide a classic "Column View" style of
- layout without breaking the web by simply exposing meta viewport
- arguments to WebPageClients.
-
- Note: As a side effect of this change. the WebPagePrivate::
- recomputeVirtualViewportFromViewportArguments method no longer
- modifies the targetDensityDpi property of the m_viewportArguments.
- However this does not affect the class because that property itself
- means nothing to us. Only the computeViewportArguments method from
- WebCore uses it, and the currentViewportArguments object we pass
- into that method has the adjusted targetDensityDpi value as before.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setUserViewportArguments):
- (WebKit):
- (BlackBerry::WebKit::WebPage::resetUserViewportArguments):
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
- * Api/WebPage.h:
- (WebKit):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * Api/WebViewportArguments.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit:::d):
- (BlackBerry::WebKit::WebViewportArguments::~WebViewportArguments):
- (BlackBerry::WebKit::WebViewportArguments::initialScale):
- (BlackBerry::WebKit::WebViewportArguments::setInitialScale):
- (BlackBerry::WebKit::WebViewportArguments::minimumScale):
- (BlackBerry::WebKit::WebViewportArguments::setMinimumScale):
- (BlackBerry::WebKit::WebViewportArguments::maximumScale):
- (BlackBerry::WebKit::WebViewportArguments::setMaximumScale):
- (BlackBerry::WebKit::WebViewportArguments::width):
- (BlackBerry::WebKit::WebViewportArguments::setWidth):
- (BlackBerry::WebKit::WebViewportArguments::height):
- (BlackBerry::WebKit::WebViewportArguments::setHeight):
- (BlackBerry::WebKit::WebViewportArguments::targetDensityDpi):
- (BlackBerry::WebKit::WebViewportArguments::setTargetDensityDpi):
- (BlackBerry::WebKit::WebViewportArguments::userScalable):
- (BlackBerry::WebKit::WebViewportArguments::setUserScalable):
- (BlackBerry::WebKit::WebViewportArguments::operator==):
- (BlackBerry::WebKit::WebViewportArguments::operator!=):
- * Api/WebViewportArguments.h: Added.
- (WebCore):
- (WebKit):
-
-2012-04-19 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Always use the AnimationFrameRateController for accelerated animations
- https://bugs.webkit.org/show_bug.cgi?id=84323
-
- Reviewed by Antonio Gomes.
-
- PR 150750
- Regardless of whether there's a WebPageCompositorClient, we want the
- AnimationFrameRateController to manage animation frames.
- Reviewed internally by Andrew Lo.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::WebPageCompositorPrivate):
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
- * Api/WebPageCompositor_p.h:
- (WebPageCompositorPrivate):
-
-2012-04-18 Max Feil <mfeil@rim.com>
-
- [BlackBerry] Tab awareness for HTML5 concurrent audio
- https://bugs.webkit.org/show_bug.cgi?id=82930
- Support for concurrent HTML5 audio improvements being made in
- the platform library, which need to be aware of tabs and tab
- visibility. PR96004.
-
- Reviewed by George Staikos.
-
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (BlackBerry::WebKit::WebPagePrivate::isVisible):
-
-2012-04-17 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Viewport metatag doesn't disable double-tap zoom
- https://bugs.webkit.org/show_bug.cgi?id=84199
-
- Reviewed by George Staikos.
-
- PR: 148279
- When we set "user-scalable=no" in viewport meta-tag and change any
- other WebSettings, the WebPage can turn to be scalable.
- This is a regression of the change master_32/SHA:fa0f8ee9. In that
- change, we used setUserScalable(webSettings->isUserScalable())
- in WebPagePrivate::didChangeSettings which was incorrect for non-DRT
- case, as webSettings->isUserScalable() would always return true by
- default.
- Create a new API WebPage::setUserScalable which will be used in
- DumpRenderTree.cpp.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::setUserScalable):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
- * Api/WebPage.h:
-
-2012-04-17 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Pattern matching should be applied to numbers
- https://bugs.webkit.org/show_bug.cgi?id=84152
-
- Reviewed by Antonio Gomes.
-
- PR 148906.
-
- Add pattern matching for number based on [0-9] to trigger
- input help matching number fields.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::elementPatternIndicatesNumber):
- (DOMSupport):
- (BlackBerry::WebKit::DOMSupport::elementPatternIndicatesHexadecimal):
- (BlackBerry::WebKit::DOMSupport::elementPatternMatches):
- * WebKitSupport/DOMSupport.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::convertInputType):
-
-2012-04-17 George Staikos <staikos@webkit.org>
-
- Export the initialization function so it can be called earlier.
- https://bugs.webkit.org/show_bug.cgi?id=84134
-
- Reviewed by Nikolas Zimmermann.
-
- * Api/BlackBerryGlobal.h: export globalInitialize()
- (WebKit):
-
-2012-04-16 Antonio Gomes <agomes@rim.com>
-
- Screen shift down when VKB shows by clicking in a input box MKS_3601371
- https://bugs.webkit.org/show_bug.cgi?id=84057
-
- Reviewed by Rob Buis.
-
- After switching from ScrollView::canOverscroll to ScrollView::constrainsScrollingToContentEdge
- we had a less restricted code path allowing/disallowing overscrolling. That caused
- some webpages like google.com to get on overscroll when adjusting the scroll
- position to ensure the focused input field is visible.
-
- Patch restricts the way we allow overscrolling to the bottom, where the virtual
- keyboard pops up from, clamping it to 0, 0 if it tries to
- overscroll upwards, and to maximum scroll position if it overscrolls
- downwards.
-
- PR #149846
- Internally reviewed by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2012-04-16 Yongxin Dai <yodai@rim.com>
-
- [BlackBerry] Increase padding for text element
- https://bugs.webkit.org/show_bug.cgi?id=83903
-
- Reviewed by Antonio Gomes.
-
- PR 125888
-
- Increase the padding value for focused text element to make selection handle
- at least partially visible when the user is dragging at edge of viewport
- in in-region scoll mode.
-
- Reviewed internally by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
-
-2012-04-16 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Add ability for DRT to handle HTTP authentication challenges.
- https://bugs.webkit.org/show_bug.cgi?id=84031
-
- Reviewed by Rob Buis.
-
- Added the interface function didReceivedAuthenticaitonChallenge()
- in interface class DumpRenderTreeClient;
- Called m_dumpRenderTree->didReceiveAuthenticationChallenge() in
- WebPagePrivate::authenticationChallenge() when DRT is enabled.
-
- Test: reuse existing test cases:
- http/tests/loading/basic-credentials-sent-automatically.html
- http/tests/loading/basic-auth-resend-wrong-credentials.html
-
- * Api/DumpRenderTreeClient.h:
- (WebCore):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
-
-2012-04-16 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Accelerated compositing layers fail to render in direct rendering mode
- https://bugs.webkit.org/show_bug.cgi?id=83933
-
- Reviewed by Adam Treat.
-
- RIM PR: 149609
- This was because I accidentally dropped an exclamation mark when
- upstreaming the patch for PR 136381 (bug #83131). Fixed by adding back
- the exclamation mark.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
-
-2012-04-12 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Web Inspector messages incorrectly converted
- https://bugs.webkit.org/show_bug.cgi?id=83796
-
- Reviewed by Rob Buis.
-
- The JSON sent over from the remote Web Inspector front-end was being
- mis interpreted as ISO-8859-1. This caused all non ascii characters to
- become garbled when using the String constructor, so we use fromtUTF8 instead.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::dispatchInspectorMessage):
-
-2012-04-12 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Speed up processing of Selection region generation.
- https://bugs.webkit.org/show_bug.cgi?id=82766
-
- Reviewed by Rob Buis.
-
- PR 136593.
-
- Re-speed up text selection. The previous patch had a merge
- error causing text selection not to function. The fix
- implemented removed the optimization. This fixes the error
- in the original patch and removes the temporary fix.
-
- Make style updated as suggested by Antonio Gomes.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::regionForTextQuads):
- (BlackBerry::WebKit::regionRectListContainsPoint):
-
-2012-04-12 Mike Fenton <mifenton@rim.com>
-
- Pattern matching for hexadecimal should include * as an allowable count.
- https://bugs.webkit.org/show_bug.cgi?id=83779
-
- Reviewed by Rob Buis.
-
- Update pattern matching check to allow wildcard for number
- of characters allowed.
-
- PR 148907.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::elementPatternIndicatesHexadecimal):
-
-2012-04-11 Joe Mason <jmason@rim.com>
-
- [BlackBerry] Update to the thread-safe GuardedPointer API
- https://bugs.webkit.org/show_bug.cgi?id=83603
-
- Reviewed by Rob Buis.
-
- RIM PR: 134984
- Make the destructors of all objects inheriting GuardedPointerBase protected or
- private, and delete them using BlackBerry::Platform::deleteGuardedObject.
- Access all GuardedPointers through GuardedPointerLocker.
-
- No new tests, refactor.
-
- Reviewed internally by Yong Li and George Staikos.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStore::~BackingStore):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::~WebPage):
- (BlackBerry::WebKit::WebPage::destroy):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-04-10 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Crash when tearing down web page rendered using WebPageCompositor
- https://bugs.webkit.org/show_bug.cgi?id=83567
-
- Reviewed by Antonio Gomes.
-
- Fixed by checking if there's a layer renderer before calling into it.
-
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::releaseLayerResources):
-
-2012-04-09 Eli Fidler <efidler@rim.com>
-
- [BlackBerry] Update about:config page
- https://bugs.webkit.org/show_bug.cgi?id=83515
-
- Reviewed by Rob Buis.
-
- * WebCoreSupport/AboutData.cpp:
- (WebCore::configPage):
- * WebCoreSupport/AboutDataEnableFeatures.in:
- * WebCoreSupport/AboutDataHaveFeatures.in:
- * WebCoreSupport/AboutDataUseFeatures.in:
-
-2012-04-07 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Add Battery Status API support
- https://bugs.webkit.org/show_bug.cgi?id=82615
-
- Reviewed by George Staikos.
-
- Add client implementation for Battery API.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init): initialize BatteryClient.
- * WebCoreSupport/BatteryClientBlackBerry.cpp: Added.
- (WebCore):
- (WebCore::BatteryClientBlackBerry::BatteryClientBlackBerry):
- (WebCore::BatteryClientBlackBerry::setController):
- (WebCore::BatteryClientBlackBerry::startUpdating):
- (WebCore::BatteryClientBlackBerry::stopUpdating):
- (WebCore::BatteryClientBlackBerry::batteryControllerDestroyed):
- (WebCore::BatteryClientBlackBerry::onLevelChange):
- (WebCore::BatteryClientBlackBerry::onChargingChange):
- (WebCore::BatteryClientBlackBerry::onChargingTimeChange):
- (WebCore::BatteryClientBlackBerry::onDischargingTimeChange):
- * WebCoreSupport/BatteryClientBlackBerry.h: Added.
- (WebCore):
- (BatteryClientBlackBerry):
- (WebCore::BatteryClientBlackBerry::~BatteryClientBlackBerry):
-
-2012-04-06 Benjamin Poulain <bpoulain@apple.com>
-
- Get rid of the useless flag PREEMPT_GEOLOCATION_PERMISSION
- https://bugs.webkit.org/show_bug.cgi?id=83325
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/AboutDataUseFeatures.in:
-
-2012-04-06 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] Text selection - Can't select texts
- https://bugs.webkit.org/show_bug.cgi?id=83355
-
- Fix the problem of not sending out the result of the function
- SelectionHandler::regionForTextQuads(). This regression issue
- is introduced by the git commit f9446b7d671d48a833ab0acf12b1e20637e0a910.
-
- Reviewed by George Staikos.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::regionForTextQuads):
- Add code to return the function result.
-
-2012-04-05 Jason Liu <jason.liu@torchmobile.com.cn>
-
- [BlackBerry] Empty Referrer should not be set into ResourceRequest when loading a main resource.
- https://bugs.webkit.org/show_bug.cgi?id=83252
-
- Reviewed by George Staikos.
-
- Test: http/tests/misc/resources/referrer-main-resource.php
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::load):
-
-2012-04-05 George Staikos <staikos@webkit.org>
-
- Add a vibration client for BlackBerry and enable it.
- https://bugs.webkit.org/show_bug.cgi?id=83340
-
- Reviewed by Rob Buis.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init): enable the client
- * WebCoreSupport/VibrationClientBlackBerry.cpp: Added.
- (WebCore):
- (WebCore::VibrationClientBlackBerry::VibrationClientBlackBerry):
- (WebCore::VibrationClientBlackBerry::vibrate):
- (WebCore::VibrationClientBlackBerry::cancelVibration):
- (WebCore::VibrationClientBlackBerry::vibrationDestroyed):
- * WebCoreSupport/VibrationClientBlackBerry.h: Added.
- (WebCore):
- (VibrationClientBlackBerry):
- (WebCore::VibrationClientBlackBerry::~VibrationClientBlackBerry):
-
-2012-04-05 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Force compositing mode when backing store is not active
- https://bugs.webkit.org/show_bug.cgi?id=83131
-
- Reviewed by George Staikos.
-
- RIM PR: 136381
- Normally, the BlackBerry WebKit port resorts to direct rendering when
- the backing store is not active. However, direct rendering is broken
- with the OpenGL code path. This prevented multiple web pages from being
- displayed at once with the new WebPageCompositor API.
-
- Fixed by using accelerated compositing layer to render the root layer
- instead of backing store. This will give us a tiled layer backing the
- root layer, which for some use cases is even better than direct
- rendering.
-
- Reviewed internally by Filip Spacek.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::shouldDirectRenderingToWindow):
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPage::setVisible):
- (BlackBerry::WebKit::WebPagePrivate::suspendBackingStore):
- (BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
- (BlackBerry::WebKit::WebPagePrivate::compositorDrawsRootLayer):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::setCompositorDrawsRootLayer):
- (BlackBerry::WebKit::WebPagePrivate::drawLayersOnCommit):
- (BlackBerry::WebKit::WebPagePrivate::scheduleRootLayerCommit):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
- (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
- (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
- (BlackBerry::WebKit::WebPagePrivate::setRootLayerCompositingThread):
- (BlackBerry::WebKit::WebPagePrivate::createCompositor):
- (BlackBerry::WebKit::WebPagePrivate::suspendRootLayerCommit):
- (BlackBerry::WebKit::WebPagePrivate::setNeedsOneShotDrawingSynchronization):
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::WebPageCompositorPrivate):
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawsRootLayer):
- (WebKit):
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
- * Api/WebPageCompositor_p.h:
- (BlackBerry::WebKit::WebPageCompositorPrivate::rootLayer):
- (WebPageCompositorPrivate):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setDrawsRootLayer):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-04-05 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Clear local storage won't take effect until browser exit and relaunch
- https://bugs.webkit.org/show_bug.cgi?id=83253
-
- Reviewed by Rob Buis.
-
- RIM PR: #146871
- Cleared the local storage namespace of a WebPage's PageGroup
- when WebPage::clearLocalStorage() get called.
- Also deleted unused global function clearLocalStorage().
-
- * Api/BlackBerryGlobal.cpp:
- * Api/BlackBerryGlobal.h:
- (WebKit):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::clearLocalStorage):
-
-2012-04-04 Rob Buis <rbuis@rim.com>
-
- [BlackBerry] Make the switch statement in WebPage::notifyAppActivationStateChange() stronger
- https://bugs.webkit.org/show_bug.cgi?id=83085
-
- Reviewed by Antonio Gomes.
-
- PR 121109
-
- This way when we add something to the enum and forget to add to the switch we'll get a compile error.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::notifyAppActivationStateChange):
-
-2012-04-03 Mike Lattanzio <mlattanzio@rim.com>
-
- [BlackBerry] Expose CaseSensitive, Wrap, and HighlightAllMatches in WebPage::findNextString()
- https://bugs.webkit.org/show_bug.cgi?id=82643
-
- Enhance BlackBerry::WebKit::WebPage::findNextString()
-
- This patch adds support for toggling case sensitivity,
- search wrapping, and whether or not to highlight all matches
- in addition to the next found match.
-
- I refactored and renamed the new setActiveMatchAndMarker() method
- to move the active match from one range to another. This was
- required because in the case of a non wrapped search we do not
- want to adjust the m_activeMatch if another match is not found.
-
- Internal Review by Andy Chen.
-
- Reviewed by Rob Buis.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::findNextString):
- * Api/WebPage.h:
- * WebKitSupport/InPageSearchManager.cpp:
- (BlackBerry::WebKit::InPageSearchManager::InPageSearchManager):
- (BlackBerry::WebKit::InPageSearchManager::findNextString):
- (BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
- (BlackBerry::WebKit::InPageSearchManager::setActiveMatchAndMarker):
- (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
- * WebKitSupport/InPageSearchManager.h:
- (InPageSearchManager):
-
-2012-04-02 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Adapt WebPagePrivate::webContext to the API change of r109570
- https://bugs.webkit.org/show_bug.cgi?id=82945
-
- Reviewed by Rob Buis.
-
- RIM PR: 147163
- Adapt WebPagePrivate::webContext to the API change of the security
- cherry-pick of r109570 and r112023.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
-
-2012-04-02 Lianghui Chen <liachen@rim.com>
-
- [BlackBerry] Set ResourceRequest TargetType in WebPagePrivate::load()
- https://bugs.webkit.org/show_bug.cgi?id=80519
-
- Set the right TargetType for main loads if they are not already set in
- dispatchWillSendRequest().
-
- Also adjust NetworkRequest TargetType for decidePolicyForExternalLoad()
- and dispatchDecidePolicyForNavigationAction() as they are called before
- dispatchWillSendRequest() is called. Patch to change ResourceRequest
- TargetType earlier has been rejected as in WebKit bug
- https://bugs.webkit.org/show_bug.cgi?id=80713
-
- Reviewed by Rob Buis.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
- (WebCore::FrameLoaderClientBlackBerry::decidePolicyForExternalLoad):
-
-2012-04-01 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Simplify the code that gets accelerated compositing output onto the screen
- https://bugs.webkit.org/show_bug.cgi?id=82845
-
- Reviewed by Rob Buis.
-
- RIM PR: 136381
- The code accounted for a now obsolete setup where we used one OpenGL
- window for accelerated compositing and one native window for backing
- store output, and let the windowing system composite those two. In that
- setup an optimization to try and only update the window that had
- changed was viable.
-
- Nowadays, we either use an offscreen surface for accelerated
- compositing output, which we blend onto the window containing the
- backing store output, or render both backing store and accelerated
- compositing output directly to one OpenGL window. We always have to
- blit the backingstore contents and draw the accelerated compositing
- output every frame with these code paths, so don't try to be clever
- about it.
-
- Even when we use an OpenGL window, the compositing surface can be non-
- null, so don't try to glFinish() and swap the compositing surface when
- the GLES2Context is tied to a window.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
- (WebKit):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::drawLayersOnCommit):
- * WebKitSupport/GLES2Context.cpp:
- (BlackBerry::WebKit::GLES2Context::swapBuffers):
-
-2012-03-31 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
- https://bugs.webkit.org/show_bug.cgi?id=80135
-
- Reviewed by Rob Buis.
-
- RIM PR: 145660
- Fixed a regression introduced by r111810, which used the wrong
- credential object.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
-
-2012-03-30 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Speed up processing of Selection region generation.
- https://bugs.webkit.org/show_bug.cgi?id=82766
-
- Reviewed by Rob Buis.
-
- PR 136593.
-
- Refactor generation of Selection IntRectRegion to avoid
- the need for IntRectRegion's helper functions which were
- not available when using it as a container without
- unioning the rects.
-
- This greatly speeds up rendering by maintaining the distinct
- rects as the union operation was length with large numbers of
- rects.
-
- Reviewed Internally by Gen Mak, Mike Lattanzio and Tyler Abbott.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::visibleTextQuads):
- (DOMSupport):
- * WebKitSupport/DOMSupport.h:
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::clippingRectForVisibleContent):
- (BlackBerry::WebKit::SelectionHandler::regionForTextQuads):
- (BlackBerry::WebKit::SelectionHandler::setSelection):
- (WebKit):
- (BlackBerry::WebKit::regionRectListContainsPoint):
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
- * WebKitSupport/SelectionHandler.h:
- (WebCore):
- (SelectionHandler):
-
-2012-03-30 Mark Pilgrim <pilgrim@chromium.org>
-
- GEOLOCATION should be implemented as Page Supplement
- https://bugs.webkit.org/show_bug.cgi?id=82228
-
- Reviewed by Adam Barth.
-
- Geolocation is now a Supplement in Page so the interface
- has changed for setting up the page's geolocation client
- initially and accessing the controller later.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebCoreSupport/GeolocationControllerClientBlackBerry.cpp:
- (GeolocationControllerClientBlackBerry::onLocationUpdate):
- (GeolocationControllerClientBlackBerry::onLocationError):
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests):
- (DumpRenderTreeSupport::resetGeolocationMock):
- (DumpRenderTreeSupport::setMockGeolocationError):
- (DumpRenderTreeSupport::setMockGeolocationPermission):
- (DumpRenderTreeSupport::setMockGeolocationPosition):
-
-2012-03-30 Keishi Hattori <keishi@webkit.org>
-
- Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
- https://bugs.webkit.org/show_bug.cgi?id=80972
-
- Reviewed by Kent Tamura.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isColorInputField):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::convertInputType):
-
-2012-03-29 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r111259.
- http://trac.webkit.org/changeset/111259
- https://bugs.webkit.org/show_bug.cgi?id=82650
-
- Caused selection regression in calculations due to
- misconstructed IntRectRegion. (Requested by mfenton on
- #webkit).
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::getConsolidatedRegionOfTextQuadsForSelection):
-
-2012-03-29 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r112553.
- http://trac.webkit.org/changeset/112553
- https://bugs.webkit.org/show_bug.cgi?id=82638
-
- It made all tests crash on Qt WK2 (Requested by Ossy_away on
- #webkit).
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebCoreSupport/GeolocationControllerClientBlackBerry.cpp:
- (GeolocationControllerClientBlackBerry::onLocationUpdate):
- (GeolocationControllerClientBlackBerry::onLocationError):
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests):
- (DumpRenderTreeSupport::resetGeolocationMock):
- (DumpRenderTreeSupport::setMockGeolocationError):
- (DumpRenderTreeSupport::setMockGeolocationPermission):
- (DumpRenderTreeSupport::setMockGeolocationPosition):
-
-2012-03-29 Mark Pilgrim <pilgrim@chromium.org>
-
- GEOLOCATION should be implemented as Page Supplement
- https://bugs.webkit.org/show_bug.cgi?id=82228
-
- Reviewed by Adam Barth.
-
- Geolocation is now a Supplement in Page so the interface
- has changed for setting up the page's geolocation client
- initially and accessing the controller later.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebCoreSupport/GeolocationControllerClientBlackBerry.cpp:
- (GeolocationControllerClientBlackBerry::onLocationUpdate):
- (GeolocationControllerClientBlackBerry::onLocationError):
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests):
- (DumpRenderTreeSupport::resetGeolocationMock):
- (DumpRenderTreeSupport::setMockGeolocationError):
- (DumpRenderTreeSupport::setMockGeolocationPermission):
- (DumpRenderTreeSupport::setMockGeolocationPosition):
-
-2012-03-28 Nate Chapin <japhet@chromium.org>
-
- Remove dispatchDidLoadMainResource callback, since no
- port implements it.
- https://bugs.webkit.org/show_bug.cgi?id=82539
-
- Reviewed by Alexey Proskuryakov.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
-2012-03-28 Leo Yang <leo.yang@torchmobile.com.cn>
-
- [BlackBerry] Use WebCore::PlatformMouseEvent::globalPosition() instead of WebCore::PlatformMouseEvent::globalPos() in WebPage.cpp
- https://bugs.webkit.org/show_bug.cgi?id=82420
-
- Reviewed by Rob Buis.
-
- In PlatformMouseEvent.h the blackberry porting added globalPos() (but not upstreamed yet)
- for PlatformMouseEvent, but this method is same as globalPosition() that is available for
- every porting. We should use globalPosition().
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::updateCursor):
-
-2012-03-27 Sean Wang <Xuewen.Wang@torchmobile.com.cn>
-
- [BlackBerry] Text selection - selection gets broken in test.com/individuals.htm
- https://bugs.webkit.org/show_bug.cgi?id=82292
-
- Change to check and avoid text selection across frames.
-
- Internal reviewed by Mike Fenton
-
- Reviewed by Rob Buis.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):
- support selection across frames, so check if the *framePoint* is in
- the *frame*.
- (BlackBerry::WebKit::SelectionHandler::setSelection):
- function returns a null VisablePosition, it stands for a invalid position
- or a position in the different frames, therefor we don't execute setting
- handle's position.
-
-2012-03-27 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Switch WebPageCompositor to use AnimationFrameRateController instead of timer
- https://bugs.webkit.org/show_bug.cgi?id=82350
-
- Switch timer in WebPageCompositor to use AnimationFrameRateController.
-
- Reviewed by Rob Buis.
-
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::WebPageCompositorPrivate):
- (BlackBerry::WebKit::WebPageCompositorPrivate::~WebPageCompositorPrivate):
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
- (BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameChanged):
- * Api/WebPageCompositor_p.h:
- (WebPageCompositorPrivate):
-
-2012-03-27 Chris Guan <chris.guan@torchmobile.com.cn>
-
- A page containing multiparts with "multipart/x-mixed-replace" should not be cached.
- https://bugs.webkit.org/show_bug.cgi?id=82291
-
- Reviewed by Rob Buis.
-
- If we have a multiPart reponse with multipart/x-mixed-replace,
- the current page should not be cached. I use isMultipartPayload()
- API which was supposed to be set in NetworkJob to decide to
- cache page or not.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::canCachePage):
-
-2012-03-25 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Accelerated compositing layers fail to render when using WebPageCompositor
- https://bugs.webkit.org/show_bug.cgi?id=82104
- RIM PR: 145963
-
- Reviewed by Rob Buis.
-
- The root layer may be set before we have a layer renderer, because the
- latter is not created until we get an OpenGL context from the embedder.
-
- Fixed by setting the root layer on the layer renderer when it's created
- instead of assuming a certain order of events.
-
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::setContext):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setRootLayer):
-
-2012-03-23 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Add WebPageCompositor class to BlackBerry WebKit API
- https://bugs.webkit.org/show_bug.cgi?id=81121
- RIM PR: 136687
-
- Reviewed by Rob Buis.
-
- The idea is for the API client to use a WebPageCompositor object to
- render the WebPage when there's no screen window available.
-
- The WebPageCompositorPrivate becomes reference counted in order to be
- kept alive either because it's used for accelerated compositing layers
- or used for the WebPageCompositor API. It can still work standalone.
-
- Clean up some code - no need to keep track of a separate boolean
- WebPagePrivate::m_isAcceleratedCompositingActive when the state of
- m_compositor can tell you.
-
- Also remove duplicated code from WebPagePrivate - go directly to the
- compositor object instead, if you need to draw the AC layers.
-
- Reviewed internally by Robin Cao and the hasBlitJobs/blitOnIdle change
- by Filip Spacek.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStore::hasBlitJobs):
- (BlackBerry::WebKit::BackingStore::blitOnIdle):
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
- (BlackBerry::WebKit::BackingStorePrivate::drawSubLayers):
- (BlackBerry::WebKit::BackingStorePrivate::drawAndBlendLayersForDirectRendering):
- (BlackBerry::WebKit::BackingStorePrivate::surfaceSize):
- (BlackBerry::WebKit::BackingStorePrivate::buffer):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (BlackBerry::WebKit::WebPagePrivate::drawLayersOnCommit):
- (BlackBerry::WebKit::WebPagePrivate::setCompositor):
- (BlackBerry::WebKit::WebPagePrivate::setRootLayerCompositingThread):
- (BlackBerry::WebKit::WebPagePrivate::createCompositor):
- (BlackBerry::WebKit::WebPagePrivate::destroyCompositor):
- * Api/WebPage.h:
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::WebPageCompositorPrivate):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setContext):
- (BlackBerry::WebKit::WebPageCompositorPrivate::hardwareCompositing):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setRootLayer):
- (BlackBerry::WebKit::WebPageCompositorPrivate::render):
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
- (BlackBerry::WebKit::WebPageCompositorPrivate::animationTimerFired):
- (BlackBerry::WebKit::WebPageCompositorPrivate::compositorDestroyed):
- (BlackBerry::WebKit::WebPageCompositor::WebPageCompositor):
- (BlackBerry::WebKit::WebPageCompositor::~WebPageCompositor):
- (BlackBerry::WebKit::WebPageCompositor::client):
- (BlackBerry::WebKit::WebPageCompositor::prepareFrame):
- (BlackBerry::WebKit::WebPageCompositor::render):
- (BlackBerry::WebKit::WebPageCompositor::cleanup):
- (BlackBerry::WebKit::WebPageCompositor::contextLost):
- * Api/WebPageCompositor.h: Added.
- * Api/WebPageCompositorClient.h: Added.
- * Api/WebPageCompositor_p.h:
- (BlackBerry::WebKit::WebPageCompositorPrivate::create):
- (BlackBerry::WebKit::WebPageCompositorPrivate::context):
- (BlackBerry::WebKit::WebPageCompositorPrivate::animationFrameTimestamp):
- (BlackBerry::WebKit::WebPageCompositorPrivate::page):
- (BlackBerry::WebKit::WebPageCompositorPrivate::client):
- * Api/WebPage_p.h:
- (BlackBerry::WebKit::WebPagePrivate::client):
- (BlackBerry::WebKit::WebPagePrivate::isAcceleratedCompositingActive):
- (BlackBerry::WebKit::WebPagePrivate::compositor):
-
-2012-03-22 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Need to store the meta info of a page in the ViewState of the history
- https://bugs.webkit.org/show_bug.cgi?id=82000
-
- Reviewed by Rob Buis.
-
- Internally reviewed by George Staikos.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem):
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
-
-2012-03-22 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] add interface clearCredentials() and clearNeverRememberSites()
- https://bugs.webkit.org/show_bug.cgi?id=81887
-
- Reviewed by Rob Buis.
-
- Added two interface functions clearCredentials() and
- clearNeverRememberSites() into class WebPage, which
- should be used by UI to clear the stored credential
- information and never remember sites.
- Also implemented the corresponding functions in class
- CredentialManager to call CredentialBackingStore
- to perform the actual clear table work.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::clearCredentials):
- (WebKit):
- (BlackBerry::WebKit::WebPage::clearNeverRememberSites):
- * Api/WebPage.h:
- * WebCoreSupport/CredentialManager.cpp:
- (WebCore::CredentialManager::clearCredentials):
- (WebCore):
- (WebCore::CredentialManager::clearNeverRememberSites):
- * WebCoreSupport/CredentialManager.h:
- (CredentialManager):
-
-2012-03-22 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
- https://bugs.webkit.org/show_bug.cgi?id=80135
-
- Reviewed by Rob Buis.
-
- Modified the interface function authenticationChallenge() in
- class WebPagePrivate by returning a bool to indicate if user
- pressed Ok button or not, and moved the Credential from return
- value to the reference parameter.
- Also updated the corresponding interface functions in class
- WebPageClient.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-03-22 Mike Lattanzio <mlattanzio@rim.com>
-
- [BlackBerry] DeviceDPI Scaling is broken on mobile.
- https://bugs.webkit.org/show_bug.cgi?id=81966
-
- Fix our viewport argument handling to only override the
- targetDensityDpi on tablet devices. Allow WebCore to use
- dpi scaling for smaller screen mobile devices.
-
- Reviewed by Rob Buis.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
-
-2012-03-22 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Add pattern matching for hexadecimal type input fields
- https://bugs.webkit.org/show_bug.cgi?id=81944
-
- Reviewed by Rob Buis.
-
- PR 98504.
-
- Add mapping of patterns matching hexadecimal input
- to a specialized type and provide input styling based
- on that format.
-
- Reviewed Internally by Gen Mak.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::elementPatternIndicatesHexadecimal):
- (DOMSupport):
- * WebKitSupport/DOMSupport.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::convertInputType):
- (BlackBerry::WebKit::inputStyle):
-
-2012-03-22 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] DOMSupport isPositionInNode should have early returns for null nodes
- https://bugs.webkit.org/show_bug.cgi?id=81929
-
- Reviewed by Rob Buis.
-
- Make suggested style clean up and move int offset = 0 directly
- above is actual usage.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isPositionInNode):
-
-2012-03-22 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] DOMSupport isPositionInNode should have early returns for null nodes
- https://bugs.webkit.org/show_bug.cgi?id=81929
-
- Reviewed by Rob Buis.
-
- Add early returns in isPositionInNode when either
- node or the position node is null.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::isPositionInNode):
-
-2012-03-21 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] Credential save and autofill implemetation
- https://bugs.webkit.org/show_bug.cgi?id=80401
-
- Reviewed by Rob Buis.
-
- This patch is intended to implement the credential persist
- and autofill feature for BlackBerry porting.
-
- Moved interface authenticationChallenge() from class
- FrameLoaderClientBlackBerry to WebPagePrivate (derived from
- PageClientBlackBerry as changes made in its parent interface class);
- Implemented notifyShouldSaveCredential() in WebPagePrivate
- and WebPageClient as well.
- Added credentialManager() to retrive CredentialManager instance
- as a global singleton; removed its m_frameLoaderClient which is
- replaced with a passed in PageClientBlackBerry pointer, and modified
- the interface function accordingly.
-
- For the http authentication, autofill the input dialog in
- function authenticationChallenge() and save the credential
- information in the same function;
- For the in-form authentication, autofill the username and
- password input fields in function dispatchDidFinishLoad(),
- and save the credential information in function
- dispatchWillSubmitForm() or dispatchWillSendSubmitEvent().
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::notifyShouldSaveCredential):
- * Api/WebPageClient.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * WebCoreSupport/CredentialManager.cpp:
- (WebCore::credentialManager):
- (WebCore::CredentialManager::saveCredentialIfConfirmed):
- * WebCoreSupport/CredentialManager.h:
- (CredentialManager):
- (WebCore::CredentialManager::CredentialManager):
- (WebCore):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
- (WebCore):
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
-2012-03-20 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Dijit crash WebCore::CookieManager::getRawCookies
- https://bugs.webkit.org/show_bug.cgi?id=81686
-
- Reviewed by Rob Buis.
-
- When deciding the policy for navigation action, if the url of the
- request is null, ignore it to avoid the ASSERT failure in
- MainResourceLoader::willSendRequest.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
-
-2012-03-20 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] BlackBerry can clear cookies and cache from the Web Inspector
- https://bugs.webkit.org/show_bug.cgi?id=81670
-
- Reviewed by Rob Buis.
-
- * WebCoreSupport/InspectorClientBlackBerry.h:
- (WebCore::InspectorClientBlackBerry::canClearBrowserCache):
- (WebCore::InspectorClientBlackBerry::canClearBrowserCookies):
-
-2012-03-20 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Removing doubly defined methods in BackingStore.cpp
- https://bugs.webkit.org/show_bug.cgi?id=81664
-
- Reviewed by Rob Buis.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::drawAndBlendLayersForDirectRendering):
-
-2012-03-20 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Crash when dragging the FCC caret over an invalid node.
- https://bugs.webkit.org/show_bug.cgi?id=81654
-
- Reviewed by Rob Buis.
-
- PR 144505.
-
- The position did not have a valid container node and was causing
- a crash. Validate the node pointer before using it.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::DOMContainerNodeForPosition):
-
-2012-03-20 Jason Liu <jason.liu@torchmobile.com.cn>
-
- [BlackBerry]Cookies shouldn't be set into each of webcore's request and platform's request. And this makes a regression.
- https://bugs.webkit.org/show_bug.cgi?id=80800
-
- Reviewed by George Staikos.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction):
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
- (WebCore::FrameLoaderClientBlackBerry::decidePolicyForExternalLoad):
-
-2012-03-19 Adam Barth <abarth@webkit.org>
-
- Remove support for "magic" iframe
- https://bugs.webkit.org/show_bug.cgi?id=81590
-
- Reviewed by Eric Seidel.
-
- Remove FrameLoaderClient methods that no longer exist.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore):
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
- (WebCore::FrameLoaderClientBlackBerry::didDetectXSS):
-
-2012-03-19 Tyler Abbott <tabbott@rim.com>
-
- [BlackBerry] speed up text selection for large selections
- https://bugs.webkit.org/show_bug.cgi?id=81536
-
- When selecting large disjoint areas of text the cost
- of calculating the IntRectRegion union becomes very
- expensive. Simply placing all of the text quads into
- the IntRectRegion is faster despite the larger memory
- footprint and the additional calculations at render
- time.
-
- Reviewed by Rob Buis.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::getConsolidatedRegionOfTextQuadsForSelection):
-
-2012-03-19 Mike Lattanzio <mlattanzio@rim.com>
-
- [BlackBerry] Use BlackBerry::Platform::DeviceInfo to generate UserAgent
- https://bugs.webkit.org/show_bug.cgi?id=81269
-
- Generate the UserAgent lazily, using it as the default for the
- WebSettings object. BlackBerry::Platform::DeviceInfo is used
- to ensure the information is accurate to the specific device.
-
- Remove the !isEmpty() assert when fetching the UA from the
- WebSettings object, as it will now always be properly initialized.
-
- Add a static initializer block to ensure defaultUserAgent() is
- thread-safe from that moment onward.
-
- Reviewed by Rob Buis.
-
- * Api/WebPage.cpp:
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPagePrivate::defaultUserAgent):
- * Api/WebPage_p.h:
- (WebPagePrivate):
- * Api/WebSettings.cpp:
- (BlackBerry::WebKit::WebSettings::setUserAgentString):
- * Api/WebSettings.h:
-
-2012-03-19 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Input fields with id of e-mail and url should be styled as such.
- https://bugs.webkit.org/show_bug.cgi?id=81364
-
- Reviewed by Rob Buis.
-
- Be less aggressive on matching url, and update as suggested by Rob.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::matchesReservedStringUrl):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::inputStyle):
-
-2012-03-19 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Remove obsolete optimization in WebPageCompositorPrivate
- https://bugs.webkit.org/show_bug.cgi?id=81115
-
- Reviewed by Benjamin Poulain.
-
- The compositor tried to avoid rendering the same stuff twice, using a
- mechanism that didn't work properly and has been redundant since we
- introduced deferred blits. Remove this code.
-
- Reviewed internally by Robin Cao.
-
- * Api/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositorPrivate::WebPageCompositorPrivate):
- (BlackBerry::WebKit::WebPageCompositorPrivate::commit):
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
- * Api/WebPageCompositor_p.h:
-
-2012-03-17 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Enable Web Timing for performance profiling and improvement.
- https://bugs.webkit.org/show_bug.cgi?id=81085
-
- Reviewed by Rob Buis.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
-
-2012-03-16 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Rename the existing WebPageCompositor class to WebPageCompositorPrivate
- https://bugs.webkit.org/show_bug.cgi?id=81108
- RIM PR: 136687
-
- Reviewed by Rob Buis.
-
- This is done in anticipation of a new WebPageCompositor class in the
- public API. The existing internal class will serve to d-pointerize the
- new public API. In addition, it is and will be possible to create only
- the private class, for cases where existing code paths require
- OpenGL compositing (i.e. due to accelerated compositing layers being
- added to the page).
-
- Reviewed internally by Robin Cao.
-
- * Api/BackingStore.h:
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setIsAcceleratedCompositingActive):
- * Api/WebPageCompositor.cpp: Renamed from Source/WebKit/blackberry/WebKitSupport/WebPageCompositor.cpp.
- (BlackBerry::WebKit::WebPageCompositorPrivate::WebPageCompositorPrivate):
- (BlackBerry::WebKit::WebPageCompositorPrivate::~WebPageCompositorPrivate):
- (BlackBerry::WebKit::WebPageCompositorPrivate::hardwareCompositing):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setRootLayer):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setBackingStoreUsesOpenGL):
- (BlackBerry::WebKit::WebPageCompositorPrivate::commit):
- (BlackBerry::WebKit::WebPageCompositorPrivate::drawLayers):
- (BlackBerry::WebKit::WebPageCompositorPrivate::releaseLayerResources):
- (BlackBerry::WebKit::WebPageCompositorPrivate::animationTimerFired):
- * Api/WebPageCompositor_p.h: Renamed from Source/WebKit/blackberry/WebKitSupport/WebPageCompositor.h.
- (BlackBerry::WebKit::WebPageCompositorPrivate::layoutRectForCompositing):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setLayoutRectForCompositing):
- (BlackBerry::WebKit::WebPageCompositorPrivate::contentsSizeForCompositing):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setContentsSizeForCompositing):
- (BlackBerry::WebKit::WebPageCompositorPrivate::lastCompositingResults):
- (BlackBerry::WebKit::WebPageCompositorPrivate::setLastCompositingResults):
- * Api/WebPage_p.h:
- * CMakeListsBlackBerry.txt:
-
-2012-03-16 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Syncing up left over bits in WebKitSupport from our local branch to upstream
- https://bugs.webkit.org/show_bug.cgi?id=81118
-
- Reviewed by Rob Buis.
-
- This is a consolidation of various changes that are in our local dev branch
- but do not appear in our upstreamed port.
-
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::computedStyleIncludingVisitedInfo):
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::isElementClickable):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::spannableTextInRange):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::SurfacePool::createBuffers):
- (BlackBerry::WebKit::SurfacePool::releaseBuffers):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- (BlackBerry::WebKit::TouchEventHandler::handleFatFingerPressed):
- * WebKitSupport/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositor::WebPageCompositor):
- * WebKitSupport/WebPageCompositor.h:
- (WebPageCompositor):
-
-2012-03-16 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Syncing up left over bits in WebCoreSupport from our local branch to upstream
- https://bugs.webkit.org/show_bug.cgi?id=81120
-
- Reviewed by Rob Buis.
-
- This is a consolidation of various changes that are in our local dev branch
- but do not appear in our upstreamed port.
-
- * WebCoreSupport/AboutDataEnableFeatures.in:
- * WebCoreSupport/AboutDataHaveFeatures.in:
- * WebCoreSupport/AboutDataUseFeatures.in:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::hasOpenedPopup):
- (WebCore):
- (WebCore::ChromeClientBlackBerry::screenToRootView):
- (WebCore::ChromeClientBlackBerry::rootViewToScreen):
- (WebCore::ChromeClientBlackBerry::invalidateRootView):
- (WebCore::ChromeClientBlackBerry::invalidateContentsAndRootView):
- (WebCore::ChromeClientBlackBerry::invalidateContentsForSlowScroll):
- (WebCore::ChromeClientBlackBerry::scrollableAreasDidChange):
- (WebCore::ChromeClientBlackBerry::createColorChooser):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
- (WebCore::ChromeClientBlackBerry::numTouchEventHandlersChanged):
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::registerUndoStep):
- (WebCore::EditorClientBlackBerry::registerRedoStep):
- (WebCore::EditorClientBlackBerry::undo):
- (WebCore::EditorClientBlackBerry::redo):
- * WebCoreSupport/EditorClientBlackBerry.h:
- (EditorClientBlackBerry):
- * WebCoreSupport/GeolocationControllerClientBlackBerry.cpp:
- (GeolocationControllerClientBlackBerry::requestPermission):
- (GeolocationControllerClientBlackBerry::cancelPermissionRequest):
- * WebCoreSupport/GeolocationControllerClientBlackBerry.h:
- * WebCoreSupport/InspectorClientBlackBerry.cpp:
- (WebCore::InspectorClientBlackBerry::closeInspectorFrontend):
- (WebCore):
- (WebCore::InspectorClientBlackBerry::bringFrontendToFront):
- * WebCoreSupport/InspectorClientBlackBerry.h:
- (InspectorClientBlackBerry):
- * WebCoreSupport/NotificationPresenterImpl.cpp:
- (WebCore::NotificationPresenterImpl::show):
-
-2012-03-16 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Input fields with id of e-mail and url should be styled as such.
- https://bugs.webkit.org/show_bug.cgi?id=81364
-
- Reviewed by Rob Buis.
-
- Treat fields that have name/id's that match url or
- email as url or email fields providing the appropriate
- keyboard.
-
- PR 137259.
-
- Reviewed Internally by Gen Mak and Nima Ghanavatian.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::matchesReservedStringEmail):
- (DOMSupport):
- (BlackBerry::WebKit::DOMSupport::matchesReservedStringUrl):
- (BlackBerry::WebKit::DOMSupport::elementIdOrNameIndicatesEmail):
- (BlackBerry::WebKit::DOMSupport::elementIdOrNameIndicatesUrl):
- (BlackBerry::WebKit::DOMSupport::matchesReservedStringPreventingAutocomplete):
- * WebKitSupport/DOMSupport.h:
- (WebCore):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::convertInputType):
- (BlackBerry::WebKit::inputStyle):
-
-2012-03-16 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Syncing up left over bits in Api from our local branch to upstream
- https://bugs.webkit.org/show_bug.cgi?id=81105
-
- Reviewed by Rob Buis.
-
- This patches fixes up a previous sync done in this directory and adds some new bits
- as well. This is accurate as of ddea1528b37b29925638fe1183318b3c3994f1f8 in our
- local repo.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::drawAndBlendLayersForDirectRendering):
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::drawLayersOnCommitIfNeeded):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- (BlackBerry::WebKit::WebPage::webContext):
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-03-16 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Input processing mode should be cancelled when processing hot keys
- https://bugs.webkit.org/show_bug.cgi?id=81348
-
- Reviewed by Rob Buis.
-
- Don't suppress IMF notifications if we are handling
- the event as a hotkey.
-
- Reviewed Internally by Nima Ghanavatian.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::handleKeyboardEvent):
-
-2012-03-16 Robin Cao <robin.cao@torchmobile.com.cn>
-
- [BlackBerry] Can not open certain links from bridge applications
- https://bugs.webkit.org/show_bug.cgi?id=81197
-
- Reviewed by Rob Buis.
-
- Currently, the engine asks the client to handle some type of requests externally.
- But WebPageClient::handleStringPattern is not yet implemented and exposed to
- the client. Before that, we still need to give the client a chance to decide
- how to handle requests such as 'mailto:'.
-
- To address this problem, r108763 introduced a change that ask the client to
- decide how to handle the navigation in dispatchDecidePolicyForNewWindowAction().
- This is not intuitive and will bring troubles, because this navigation will
- happen in the new page. So the new page client is to decide how to handle
- the navigation, not the old one.
-
- This patch reverts r108763 and skips calling WebPageClient::handleStringPattern
- since it's not implemented.
-
- This way the new window action will continue, and the logic in
- dispatchDecidePolicyForNavigationAction() will handle the navigation correctly.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNewWindowAction):
- (WebCore::FrameLoaderClientBlackBerry::decidePolicyForExternalLoad):
-
-2012-03-16 Leo Yang <leo.yang@torchmobile.com.cn>
-
- [BlackBerry] Crash when going back from an xhtml document containing <img>
- https://bugs.webkit.org/show_bug.cgi?id=81297
-
- Reviewed by Rob Buis.
-
- This is manually reverting the offending internal commit which checked-in before upstreaming.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::canCachePage):
-
-2012-03-16 Genevieve Mak <gmak@rim.com>
-
- [BlackBerry] viewportRect has changed to viewportSize
- https://bugs.webkit.org/show_bug.cgi?id=81262
-
- Reviewed by Antonio Gomes.
-
- Set size instead of rect in constructor.
- * WebKitSupport/InRegionScrollableArea.cpp:
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
-
-2012-03-16 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Enable PAGE_VISIBILITY_API
- https://bugs.webkit.org/show_bug.cgi?id=81257
-
- Set Page visibility state for BlackBerry port.
-
- Reviewed by Rob Buis.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
- (WebKit):
- (BlackBerry::WebKit::WebPagePrivate::setPageVisibilityState):
- (BlackBerry::WebKit::WebPagePrivate::setVisible):
- (BlackBerry::WebKit::WebPage::setVisible):
- (BlackBerry::WebKit::WebPagePrivate::notifyAppActivationStateChange):
- (BlackBerry::WebKit::WebPage::notifyAppActivationStateChange):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-03-14 Arvid Nilsson <anilsson@rim.com>
-
- [BlackBerry] Make sure WebPage and BackingStore don't crash without a Window
- https://bugs.webkit.org/show_bug.cgi?id=81099
-
- Reviewed by Rob Buis.
-
- Also rename the "compositing/blitting to main window" variables to
- instead refer to OpenGL compositing. The code paths it triggers are
- related to the BackingStore using OpenGL compositing, and can be useful
- even when there's no window.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::isOpenGLCompositing):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::copyPreviousContentsToBackSurfaceOfWindow):
- (BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
- (BlackBerry::WebKit::BackingStorePrivate::blitTileRect):
- (BlackBerry::WebKit::BackingStorePrivate::blendCompositingSurface):
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
- (BlackBerry::WebKit::BackingStorePrivate::blitToWindow):
- (BlackBerry::WebKit::BackingStorePrivate::checkerWindow):
- (BlackBerry::WebKit::BackingStorePrivate::invalidateWindow):
- (BlackBerry::WebKit::BackingStorePrivate::clearWindow):
- (BlackBerry::WebKit::BackingStorePrivate::drawSubLayers):
- (BlackBerry::WebKit::BackingStorePrivate::surfaceSize):
- (BlackBerry::WebKit::BackingStorePrivate::buffer):
- * Api/BackingStore_p.h:
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didPluginEnterFullScreen):
- (BlackBerry::WebKit::WebPagePrivate::didPluginExitFullScreen):
- (BlackBerry::WebKit::WebPagePrivate::drawLayersOnCommit):
- (BlackBerry::WebKit::WebPagePrivate::drawSubLayers):
- (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::windowRect):
- (WebCore::ChromeClientBlackBerry::screenToWindow):
- (WebCore::ChromeClientBlackBerry::windowToScreen):
- * WebKitSupport/GLES2Context.cpp:
- (BlackBerry::WebKit::GLES2Context::GLES2Context):
- * WebKitSupport/TouchEventHandler.h:
- * WebKitSupport/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositor::WebPageCompositor):
- (BlackBerry::WebKit::WebPageCompositor::setBackingStoreUsesOpenGL):
- (BlackBerry::WebKit::WebPageCompositor::drawLayers):
- * WebKitSupport/WebPageCompositor.h:
-
-2012-03-13 Jon Lee <jonlee@apple.com>
-
- Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
- https://bugs.webkit.org/show_bug.cgi?id=80922
- <rdar://problem/11035082>
-
- Reviewed by Jian Li.
-
- You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
- LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
- new API. Therefore, APIs that are common between the two will have:
- #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-
- This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
- the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
-
- Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebCoreSupport/NotificationPresenterImpl.cpp:
- * WebCoreSupport/NotificationPresenterImpl.h:
-
-2012-03-14 Nima Ghanavatian <nghanavatian@rim.com>
-
- [BlackBerry] Syncing up left over bits in Api from our local branch to upstream
- https://bugs.webkit.org/show_bug.cgi?id=81105
-
- Reviewed by Rob Buis.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
- (BlackBerry::WebKit::BackingStorePrivate::isActive):
- (BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
- (WebKit):
- (BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):
- * Api/BackingStore.h:
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::toWebCoreMouseEventType):
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::activeNodeContext):
- (BlackBerry::WebKit::WebPage::activeNodeContext):
- (BlackBerry::WebKit::WebPagePrivate::updateCursor):
- (BlackBerry::WebKit::WebPagePrivate::contextNode):
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-03-14 Andrew Lo <anlo@rim.com>
-
- [BlackBerry] Implement REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR using AnimationFrameRateController
- https://bugs.webkit.org/show_bug.cgi?id=81000
-
- Set the platform display ID, needed for DisplayRefreshMonitor.
-
- Reviewed by Antonio Gomes.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
-
-2012-03-14 Leo Yang <leo.yang@torchmobile.com.cn>
-
- [BlackBerry] Upstream the BlackBerry change to platform/Cursor.h
- https://bugs.webkit.org/show_bug.cgi?id=81086
-
- Reviewed by Rob Buis.
-
- There was an alias named PlatformCursorHandle for PlatformCursor
- in the internal version of Cursor.h. But it's not necessary so it's
- not included in the upstreaming version of Cursor.h. As a result,
- use PlatformCursor directly.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setCursor):
- * Api/WebPage_p.h:
- (WebPagePrivate):
-
-2012-03-13 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Input focus state should unfocus the frame selection instead of the field.
- https://bugs.webkit.org/show_bug.cgi?id=81023
-
- Reviewed by Antonio Gomes.
-
- PR 137400.
-
- Prevent cursor drawing by unfocusing the frame selection
- when input mode is not ready.
-
- Greatly simplify the decision to focus input fields by removing
- all ties to the page load state and base it on input. Input mode
- is disabled when a page load begins and enabled on any user input.
-
- The field is focused and ready for input immediately, only the
- frame selection (or cursor) is unfocused.
-
- Reviewed Internally by Gen Mak, Antonio Gomes and Nima Ghanavatian.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setLoadState):
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- * Api/WebPageClient.h:
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::shouldBeginEditing):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
- (BlackBerry::WebKit::InputHandler::enableInputMode):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- (BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
- (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
- (BlackBerry::WebKit::InputHandler::setComposingText):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-03-13 Adam Barth <abarth@webkit.org> && Benjamin Poulain <bpoulain@apple.com>
-
- Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
- https://bugs.webkit.org/show_bug.cgi?id=78853
-
- Reviewed by Adam Barth.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebCoreSupport/AboutDataEnableFeatures.in:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (toGeolocationClientMock):
- (DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests):
- (DumpRenderTreeSupport::resetGeolocationMock):
- (DumpRenderTreeSupport::setMockGeolocationError):
- (DumpRenderTreeSupport::setMockGeolocationPermission):
- (DumpRenderTreeSupport::setMockGeolocationPosition):
-
-2012-03-13 Mike Lattanzio <mlattanzio@rim.com>
-
- Remove ActiveNodeContext in favour of BlackBerry::Platform::WebContext
- https://bugs.webkit.org/show_bug.cgi?id=80984
-
- Remove ActiveNodeContext, and switch the implementation to
- provide a BlackBerry::Platform::WebContext. The new object
- adds an explicit IsImage flag, as well as IsAudio and IsVideo
- for the HTML5 elements.
-
- Note that for many videos both IsVideo and IsAudio will be true,
- as videos typically have audio streams as well.
-
- Reviewed by George Staikos.
-
- * Api/ActiveNodeContext.h: Removed.
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::webContext):
- (BlackBerry::WebKit::WebPage::webContext):
- * Api/WebPage.h:
- * Api/WebPage_p.h:
-
-2012-03-12 Andy Chen <andchen@rim.com>
-
- [Blackberry] Make the process of marking all matches interruptible and asynchronous for find-in-page
- https://bugs.webkit.org/show_bug.cgi?id=80831
-
- Reviewed by Antonio Gomes.
-
- * WebKitSupport/InPageSearchManager.cpp:
- (BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::DeferredScopeStringMatches):
- (BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::doTimeout):
- (BlackBerry::WebKit::InPageSearchManager::InPageSearchManager):
- (BlackBerry::WebKit::InPageSearchManager::~InPageSearchManager):
- (BlackBerry::WebKit::InPageSearchManager::findNextString):
- (BlackBerry::WebKit::InPageSearchManager::shouldSearchForText):
- (BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
- (BlackBerry::WebKit::InPageSearchManager::clearTextMatches):
- (BlackBerry::WebKit::InPageSearchManager::frameUnloaded):
- (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
- (BlackBerry::WebKit::InPageSearchManager::scopeStringMatchesSoon):
- (BlackBerry::WebKit::InPageSearchManager::callScopeStringMatches):
- (BlackBerry::WebKit::InPageSearchManager::cancelPendingScopingEffort):
- * WebKitSupport/InPageSearchManager.h:
-
-2012-03-09 Jon Lee <jonlee@apple.com>
-
- Rename NotificationPresenter to NotificationClient
- https://bugs.webkit.org/show_bug.cgi?id=80488
- <rdar://problem/10965558>
-
- Reviewed by Kentaro Hara.
-
- Refactor to use renamed WebCore::NotificationClient.
- * WebCoreSupport/NotificationPresenterImpl.cpp:
- (WebCore::NotificationPresenterImpl::instance):
- (WebCore::NotificationPresenterImpl::show):
- (WebCore::NotificationPresenterImpl::checkPermission):
- * WebCoreSupport/NotificationPresenterImpl.h:
- (NotificationPresenterImpl):
-
-2012-03-09 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Web Notification not working after rebase
- https://bugs.webkit.org/show_bug.cgi?id=80690
-
- Reviewed by George Staikos.
-
- 1. NotificationPresenterImpl should be in namespace WebCore
- 2. Need to connect NotificationPresenterImpl to webcore the new way:
- WebCore::provideNotification(Page*, NotificationPresenter*)
- 3. Remove the old way of connecting the Notification:
- ChromeClientBlackBerry::notificationPresenter()
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
- * WebCoreSupport/NotificationPresenterImpl.cpp:
- * WebCoreSupport/NotificationPresenterImpl.h:
-
-2012-03-08 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Always use the current focused node when processing focus changes
- https://bugs.webkit.org/show_bug.cgi?id=80594
-
- Reviewed by Antonio Gomes.
-
- Guard against toRange or fromRange being null when called
- as part of a clear event.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::shouldChangeSelectedRange):
-
-2012-03-08 Yong Li <yoli@rim.com>
-
- [BlackBerry] Block file-to-file access by default
- https://bugs.webkit.org/show_bug.cgi?id=80605
-
- Reviewed by Rob Buis.
-
- Turn off allowFileAccessFromFileURLs() by default.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
-
-2012-03-08 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Always use the current focused node when processing focus changes
- https://bugs.webkit.org/show_bug.cgi?id=80594
-
- Reviewed by Antonio Gomes.
-
- Update InputHandler focused node handling to strictly use
- the currently focused node. This prevents a handling loop
- when JS is modifying the focus and we get a late notification
- of a past change from ChromeClientBlackBerry with the previously
- unfocused node.
-
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::focusedNodeChanged):
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::shouldChangeSelectedRange):
- (WebCore::EditorClientBlackBerry::setInputMethodState):
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::focusedNodeChanged):
- * WebKitSupport/InputHandler.h:
-
-2012-03-07 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] WebKit rendering problem when show/hide VKB
- https://bugs.webkit.org/show_bug.cgi?id=80448
- RIM PR: 141727
-
- Reviewed by Antonio Gomes.
-
- When setting viewport size, layout happens inside
- WebPagePrivate::setDefaultLayoutSize(), in this way, the layout is
- outside of the code path of "needsLayout" so that the contents are
- not rendered into the backing store. This is a regression of r108718,
- switch back to do the layout inside the public API
- WebPage::setDefaultLayoutSize().
-
- We haven't upstreamed the manual tests directory yet, therefore,
- the new manual test case will be upstreamed later.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setDefaultLayoutSize):
- (BlackBerry::WebKit::WebPage::setDefaultLayoutSize):
-
-2012-03-06 Lianghui Chen <liachen@rim.com>
-
- [BlackBerry] Set correct ResourceRequest target type.
- https://bugs.webkit.org/show_bug.cgi?id=80430
-
- Reviewed by Rob Buis.
-
- Removed unused code in dispatchWillSendRequest(). These codes are too
- late as the target type has already been referred to when calling
- ResourceRequest::initializePlatformRequest().
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillSendRequest):
-
-2012-03-06 Lianghui Chen <liachen@rim.com>
-
- [BlackBerry] Remove unused and unneeded WebPageClient::downloadRequested(NetworkRequest&)
- https://bugs.webkit.org/show_bug.cgi?id=80438
-
- Reviewed by Antonio Gomes.
-
- * Api/WebPageClient.h:
-
-2012-03-06 Jakob Petsovits <jpetsovits@rim.com>
-
- [BlackBerry] Don't suspend accel comp when backgrounding a page.
- https://bugs.webkit.org/show_bug.cgi?id=80369
- RIM PR: 137609
-
- Reviewed by Adam Treat.
-
- Just because the page is in the background doesn't mean
- it's invisible, doesn't mean it won't have to be redrawn
- at some point - on rotation, for instance.
-
- We still suspend accelerated compositing on setVisible(false).
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::notifyPageBackground):
- (BlackBerry::WebKit::WebPage::notifyPageForeground):
-
-2012-03-06 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] function rename issue after MediaPlayerPrivateBlackBerry.[cpp\h] upstream
- https://bugs.webkit.org/show_bug.cgi?id=80377
-
- Reviewed by Rob Buis.
-
- As some of the function names changed in class MediaPlayerPrivate
- with the upstream of MediaPlayerPrivateBlackBerry.[cpp|h], we
- should update WebKit/blackberry/Api/WebPage.cpp which uses these
- functions accordingly.
- Renamed functions in class MediaPlayerPrivate:
- windowGet() -> getWindow()
- windowPositionGet() -> getWindowPosition()
- mmrContextNameGet() -> mmrContextName()
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::enterFullscreenForNode):
-
-2012-03-05 Eli Fidler <efidler@rim.com>
-
- The minimum font size WebSetting should actually change the LOGICAL font size in WebCore.
- https://bugs.webkit.org/show_bug.cgi?id=80312
- RIM PR: 139874
-
- Reviewed by George Staikos.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::didChangeSettings):
-
-2012-03-05 Jakob Petsovits <jpetsovits@rim.com>
-
- Make accelerated compositing work again with direct rendering.
- https://bugs.webkit.org/show_bug.cgi?id=80181
- RIM PR: 139110
-
- Reviewed by Antonio Gomes.
- Internally reviewed by Arvid Nilsson.
-
- The significant amount of refactoring and optimization work
- that has gone into accelerated compositing missed out on
- some of the code paths that are being used in direct rendering.
-
- Animations were relying on blitVisibleContents() only (which
- is a no-op in direct rendering mode). There were early returns
- which are suitable to determine whether screen contents need
- to be updated at all; however, when we're already forcing a
- re-render then those checks would cause the composition surface
- not to appear at all, or avoid drawing new animation frames.
-
- We went through dispatchMessage(), potentially causing
- mismatches between rendered (but not yet posted) back content
- and layers composited on top of it. As we're rendering onto
- the sole target surface (the window) directly and posting
- from the same thread, we have to wait for compositing on the
- UI thread to finish before posting the window.
-
- In turn, this patch combines both drawSubLayers() and
- blendCompositingSurface() calls into one method, reducing
- the number of messages to the UI thread within
- renderDirectToWindow() to one.
-
- blendCompositingMessage() in renderDirectToScreen() was called
- with contents coordinates rather than viewport coordinates.
- That caused some of the composited content to be cut off when
- the scroll position wasn't (0, 0).
-
- We called copyPreviousContentsToBackSurfaceOfWindow() twice for
- one frame, in both renderDirectToWindow() and invalidateWindow().
- Only one of those (the latter one) is necessary.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
- (BlackBerry::WebKit::BackingStorePrivate::drawSubLayers):
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::drawAndBlendLayersForDirectRendering):
- * Api/BackingStore.h:
- (WebKit):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::isDirectRenderingAnimationMessageScheduled):
- (BlackBerry::WebKit::BackingStorePrivate::setDirectRenderingAnimationMessageScheduled):
- * Api/WebPage_p.h:
- (BlackBerry::WebKit::WebPagePrivate::isAcceleratedCompositingActive):
- (WebPagePrivate):
- * WebKitSupport/WebPageCompositor.cpp:
- (BlackBerry::WebKit::WebPageCompositor::WebPageCompositor):
- (BlackBerry::WebKit::WebPageCompositor::~WebPageCompositor):
- (BlackBerry::WebKit::WebPageCompositor::drawLayers):
- (BlackBerry::WebKit::WebPageCompositor::animationTimerFired):
- * WebKitSupport/WebPageCompositor.h:
- (WebPageCompositor):
-
-2012-03-05 George Staikos <gstaikos@rim.com>
-
- [BlackBerry] DOMSupport visibleSelectionForRangeInputElement incorrectly dereferences a null range.
- https://bugs.webkit.org/show_bug.cgi?id=80274
-
- Reviewed by Antonio Gomes.
-
- A null range can be returned so we should not blindly deref it.
- Reviewed Internally by Mike Fenton.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::visibleSelectionForRangeInputElement):
-
-2012-03-04 Jonathan Dong <jonathan.dong@torchmobile.com.cn>
-
- [BlackBerry] upstream CredentialManager and CredentialTransformData implementation
- https://bugs.webkit.org/show_bug.cgi?id=80107
-
- Reviewed by Antonio Gomes.
-
- Initial upstream of CredentialManager.[h|cpp] and
- CredentialTransformData.[h|cpp].
- No new test.
-
- * WebCoreSupport/CredentialManager.cpp: Added.
- (WebCore):
- (WebCore::CredentialManager::CredentialManager):
- (WebCore::CredentialManager::autofillAuthenticationChallenge):
- (WebCore::CredentialManager::autofillPasswordForms):
- (WebCore::CredentialManager::saveCredentialIfConfirmed):
- * WebCoreSupport/CredentialManager.h: Added.
- (WebKit):
- (WebCore):
- (CredentialManager):
- * WebCoreSupport/CredentialTransformData.cpp: Added.
- (WebCore::CredentialTransformData::CredentialTransformData):
- (WebCore):
- (WebCore::CredentialTransformData::url):
- (WebCore::CredentialTransformData::credential):
- (WebCore::CredentialTransformData::setCredential):
- (WebCore::CredentialTransformData::findPasswordFormFields):
- * WebCoreSupport/CredentialTransformData.h: Added.
- (WebCore):
- (CredentialTransformData):
- (WebCore::CredentialTransformData::isValid):
- (WebCore::CredentialTransformData::protectionSpace):
-
-2012-03-04 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Fixed positioned element not correctly positioned after orientation change, when viewport metatag is used
- https://bugs.webkit.org/show_bug.cgi?id=80228
- PR #138865
-
- Reviewed by George Staikos.
-
- Viewport size changes in two main scenarios:
- - orientation changes;
- - virtual keyboard pop up/hide.
-
- When we are setting a new viewport size, we need to
- update the FixedReportedSize of the mainframe. This size
- is used to return innerWidth|Heigth as well as to calculate
- the fixed position elements height relative to the RenderView [1].
-
- [1] RenderBox::containingBlockLogicalHeightForPositioned.
-
- When we are rotating, we need to delay setting the new FixedReportedSize
- till we layout and are able to figure out the new contents size. At this
- time we call setFixedReportedSize, but we do not reposition the fixed elemts
- afterwards.
-
- Patch adds a call to FrameView::repaintFixedElementsAfterScrolling, after
- setting the new size.
-
- Source/WebKit/blackberry:
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
-
-2012-03-02 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Expose WebInspector state to client and clean up WebSettings
- https://bugs.webkit.org/show_bug.cgi?id=80177
-
- Reviewed by Antonio Gomes.
-
- Expose the Web Inspector state to WebPage client's and
- re-order initialization of WebSettings to be alphabetical
- matching their definitions.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::isWebInspectorEnabled):
- * Api/WebPage.h:
- * Api/WebSettings.cpp:
- (BlackBerry::WebKit::WebSettings::standardSettings):
-
-2012-03-02 Arvid Nilsson <anilsson@rim.com>
-
- Accelerated compositing: Checkerboard never goes away
- https://bugs.webkit.org/show_bug.cgi?id=79020
- RIM PR #134164
-
- Reviewed by Adam Treat.
-
- Checkerboard appears in accelerated compositing layers when there's no
- texture for (part of) a layer. The layer renderer queues up some render
- jobs and schedules a commit to make the WebKit thread process those
- jobs. Render jobs performed during commit cause texture upload jobs to
- be scheduled on the UI thread. Texture uploads are performed when next
- drawing the layers.
-
- Unfortunately, sometimes commit operation happens without a subsequent
- call draw the layers.
-
- In order to implement one-shot drawing sync, I added a call to
- commitRootLayerIfNeeded() in BackingStore::renderContents(), and
- I was lucky that most of the time, renderContents() is followed by
- blit(Visible)Contents() which in turn draws the layers.
- However, render is not always followed by a blit, for example when
- rendering offscreen tiles in BackingStore::renderOnIdle(), and in
- direct rendering mode.
-
- Fixed by making sure that every call to commitRootLayerIfNeeded() that
- returns true is followed by a call to drawLayersOnCommit(), unless a
- blit was requested already.
-
- Also tweak the logic for one-shot drawing sync to make the code in
- drawLayersOnCommit() reusable outside of rootLayerCommitTimerFired().
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::renderOnTimer):
- (BlackBerry::WebKit::BackingStorePrivate::renderOnIdle):
- (BlackBerry::WebKit::BackingStorePrivate::willFireTimer):
- (BlackBerry::WebKit::BackingStorePrivate::renderDirectToWindow):
- (BlackBerry::WebKit::BackingStorePrivate::render):
- (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
- (BlackBerry::WebKit::BackingStorePrivate::blitContents):
- (BlackBerry::WebKit::BackingStorePrivate::renderContents):
- (WebKit):
- (BlackBerry::WebKit::BackingStorePrivate::drawLayersOnCommitIfNeeded):
- * Api/BackingStore_p.h:
- (BackingStorePrivate):
- (BlackBerry::WebKit::BackingStorePrivate::willDrawLayersOnCommit):
-
-2012-03-02 Adam Treat <atreat@rim.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=80161
- PR: 141157
-
- BlackBerryPlatformScreen.h API has been updated. Reflect those
- changes in our usage.
-
- Reviewed by Antonio Gomes.
- Internally reviewed by Jakob Petsovits.
-
- * Api/BackingStore.cpp:
- (BlackBerry::WebKit::BackingStorePrivate::tileWidth):
- (BlackBerry::WebKit::BackingStorePrivate::tileHeight):
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::init):
- (BlackBerry::WebKit::WebPagePrivate::transformedViewportSize):
- (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
- (BlackBerry::WebKit::WebPagePrivate::setDefaultLayoutSize):
- (BlackBerry::WebKit::WebPagePrivate::defaultMaxLayoutSize):
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
- * WebKitSupport/SurfacePool.cpp:
- (BlackBerry::WebKit::createCompositingSurface):
-
-2012-03-02 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Set the devicePixelRatio from the results of computeViewportAttributes
- https://bugs.webkit.org/show_bug.cgi?id=80160
-
- Reviewed by Antonio Gomes.
-
- Tested by going to layout test fast/viewport/viewport-95.html and viewport-93.html
- Previously when executing window.devicePixelRatio these two pages returned 1 now
- they report the devicePixelRatio returned by computeViewportAttributes.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
-
-2012-03-02 Jacky Jiang <zhajiang@rim.com>
-
- Fix a warning in InputHandler::learnText()
- https://bugs.webkit.org/show_bug.cgi?id=80049
-
- Reviewed by Antonio Gomes.
-
- Fix a warning of the comparison "textInField.length() <=
- MaxLearnTextDataSize" in InputHandler::learnText().
-
- Rubber-stamped internally by Mike Fenton.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::learnText):
-
-2012-03-01 Andy Chen <andchen@rim.com>
-
- [BlackBerry] Implement features for find-in-page
- https://bugs.webkit.org/show_bug.cgi?id=79820
-
- Reviewed by Antonio Gomes.
-
- - Make it be able to search text around the whole page instead of single frame.
- - Make it be able to start new search from active selection and last active match.
-
- No new tests as this patch doesn't change behavior.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::frameUnloaded):
- * Api/WebPage_p.h:
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchWillClose):
- (WebCore::FrameLoaderClientBlackBerry::detachedFromParent2):
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::incrementFrame):
- * WebKitSupport/DOMSupport.h:
- * WebKitSupport/InPageSearchManager.cpp:
- (BlackBerry::WebKit::InPageSearchManager::findNextString):
- (BlackBerry::WebKit::InPageSearchManager::shouldSearchForText):
- (BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
- (BlackBerry::WebKit::InPageSearchManager::setMarkerActive):
- (BlackBerry::WebKit::InPageSearchManager::frameUnloaded):
- * WebKitSupport/InPageSearchManager.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::frameUnloaded):
- * WebKitSupport/InputHandler.h:
-
-2012-03-01 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Web Notification crashes the browser.
- https://bugs.webkit.org/show_bug.cgi?id=79897
-
- Reviewed by Antonio Gomes.
-
- The reason of the crash is that it still uses the iterator
- after been removed from the container, which invalidates the
- iterator.
- We should stop processing after we have found the element
- and removed from the container through the iterator.
-
- This patch only fixes the crash issue, but not any notification
- functionality issue, which is tracked seperatly.
-
- Test case: http://sandbox.gtaero.net/chrome/notifications.php
-
- * WebCoreSupport/NotificationPresenterImpl.cpp:
- (WebKit::NotificationPresenterImpl::onPermission):
- (WebKit::NotificationPresenterImpl::notificationClicked):
-
-2012-03-01 Mike Fenton <mifenton@rim.com>
-
- Autocomplete attribute should apply to textarea's.
- https://bugs.webkit.org/show_bug.cgi?id=79929
-
- Reviewed by Antonio Gomes.
-
- Add local static Qualified name for autocorrect attribute.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::elementSupportsAutocorrect):
-
-2012-02-29 Mike Fenton <mifenton@rim.com>
-
- Autocomplete attribute should apply to textarea's.
- https://bugs.webkit.org/show_bug.cgi?id=79929
-
- Reviewed by Antonio Gomes.
-
- Allow the autocomplete attribute to bubble back to the form setting.
-
- Expand support to include checking autocorrect, autocomplete and
- name/id matching to text areas.
-
- Reviewed internally by Nima Ghanavatian and Gen Mak.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::elementSupportsAutocorrect):
- (BlackBerry::WebKit::DOMSupport::elementSupportsAutocomplete):
- (BlackBerry::WebKit::DOMSupport::elementAttributeState):
- * WebKitSupport/DOMSupport.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::inputStyle):
-
-2012-02-29 Max Feil <mfeil@rim.com>
-
- [BlackBerry] Add support for FLAC audio and OGG/Vorbis audio
- https://bugs.webkit.org/show_bug.cgi?id=79519
-
- Reviewed by Antonio Gomes.
-
- * Api/WebSettings.cpp:
- (BlackBerry::WebKit::mimeTypeAssociationMap):
-
-2012-02-28 Konrad Piascik <kpiascik@rim.com>
-
- [BlackBerry] Change the API to use std::string
- https://bugs.webkit.org/show_bug.cgi?id=79818
-
- Reviewed by Antonio Gomes.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::dispatchInspectorMessage):
- * Api/WebPage.h:
-
-2012-02-28 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] x86 build fix after cleaning up WebPage.cpp
- https://bugs.webkit.org/show_bug.cgi?id=79814
-
- Reviewed by Antonio Gomes.
-
- x86 build fix, keep WebPage::destroyWebPageCompositor() method where it
- was which was outside of USE(ACCELERATED_COMPOSITING).
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::destroyWebPageCompositor):
- (WebKit):
-
-2012-02-28 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Remove unused focusedNodeChange notifications from the Chrome client.
- https://bugs.webkit.org/show_bug.cgi?id=79794
-
- Reviewed by Rob Buis.
-
- Remove unused notification for focusedNodeChanged.
-
- Internally reviewed by Gen Mak.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore::ChromeClientBlackBerry::focusedNodeChanged):
-
-2012-02-27 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Upstream BlackBerry API web page related files
- https://bugs.webkit.org/show_bug.cgi?id=74380
-
- Reviewed by Antonio Gomes.
-
- Clean up WebPage.{h, cpp} and WebPage_p.h.
- - Remove WebPage::mainFrame() as it is bad to expose WebCore::Frame in
- the public API, adapt to the change by adding a new method
- WebPagePrivate::core(Const WebPage*) and expose it to
- DumpRenderTreeSupport.
- - Rename WebPage::spellCheckingEnabled to
- WebPage::setSpellCheckingEnabled.
- - Remove unused WebPage::focusNodeRect().
- - Remove extra blank lines.
- - Put WebPage methods and their associated WebPagePrivate methods
- together.
-
- No new tests as this patch doesn't change behavior.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPage::WebPage):
- (WebKit):
- (BlackBerry::WebKit::WebPage::~WebPage):
- (BlackBerry::WebKit::WebPagePrivate::core):
- (BlackBerry::WebKit::WebPage::load):
- (BlackBerry::WebKit::WebPage::loadExtended):
- (BlackBerry::WebKit::WebPage::loadFile):
- (BlackBerry::WebKit::WebPage::download):
- (BlackBerry::WebKit::WebPage::loadString):
- (BlackBerry::WebKit::WebPage::executeJavaScript):
- (BlackBerry::WebKit::WebPage::executeJavaScriptInIsolatedWorld):
- (BlackBerry::WebKit::WebPage::stopLoading):
- (BlackBerry::WebKit::WebPage::prepareToDestroy):
- (BlackBerry::WebKit::WebPage::setScrollPosition):
- (BlackBerry::WebKit::WebPage::scrollBy):
- (BlackBerry::WebKit::WebPage::notifyInRegionScrollStatusChanged):
- (BlackBerry::WebKit::WebPage::zoomToFitScale):
- (BlackBerry::WebKit::WebPage::initialScale):
- (BlackBerry::WebKit::WebPage::maximumScale):
- (BlackBerry::WebKit::WebPage::scrollPosition):
- (BlackBerry::WebKit::WebPage::viewportSize):
- (BlackBerry::WebKit::WebPage::activeNodeContext):
- (BlackBerry::WebKit::WebPage::assignFocus):
- (BlackBerry::WebKit::WebPage::blockZoomAnimationFinished):
- (BlackBerry::WebKit::WebPage::onInputLocaleChanged):
- (BlackBerry::WebKit::WebPage::setScreenOrientation):
- (BlackBerry::WebKit::WebPage::applyPendingOrientationIfNeeded):
- (BlackBerry::WebKit::WebPage::setViewportSize):
- (BlackBerry::WebKit::WebPage::setDefaultLayoutSize):
- (BlackBerry::WebKit::WebPage::setScrollOriginPoint):
- (BlackBerry::WebKit::WebPage::textEncoding):
- (BlackBerry::WebKit::WebPage::forcedTextEncoding):
- (BlackBerry::WebKit::WebPage::setForcedTextEncoding):
- (BlackBerry::WebKit::WebPage::setSpellCheckingEnabled):
- (BlackBerry::WebKit::parentLayer):
- (BlackBerry::WebKit::WebPagePrivate::inRegionScrollableAreasForPoint):
- (BlackBerry::WebKit::WebPage::destroyWebPageCompositor):
- * Api/WebPage.h:
- (WebCore):
- (WebKit):
- * Api/WebPage_p.h:
- (WebCore):
- (WebKit):
- * WebKitSupport/DumpRenderTreeSupport.cpp:
- (DumpRenderTreeSupport::corePage):
- (DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests):
- (DumpRenderTreeSupport::resetGeolocationMock):
- (DumpRenderTreeSupport::setMockGeolocationError):
- (DumpRenderTreeSupport::setMockGeolocationPermission):
- (DumpRenderTreeSupport::setMockGeolocationPosition):
- (DumpRenderTreeSupport::scalePageBy):
- * WebKitSupport/DumpRenderTreeSupport.h:
- (WebCore):
- (DumpRenderTreeSupport):
-
-2012-02-27 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Selection handling should be entirely directional
- https://bugs.webkit.org/show_bug.cgi?id=79692
-
- Reviewed by Antonio Gomes.
-
- Make all VisibleSelections directional.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
- (BlackBerry::WebKit::SelectionHandler::setSelection):
-
-2012-02-27 Ed Baker <edbaker@rim.com>
-
- [BlackBerry] Dragging a selection handle outside of the content bounding box does not update the selection range correctly
- https://bugs.webkit.org/show_bug.cgi?id=78608
-
- Ensure that when selection handles leave the content bounding box that
- the handle not being dragged remains fixed. Do not apply padding to a
- direction that would cause the selection to shrink when performing the
- handle direction detection.
-
- Reviewed by Antonio Gomes.
-
- * WebKitSupport/DOMSupport.cpp:
- (BlackBerry::WebKit::DOMSupport::convertPointToFrame):
- * WebKitSupport/DOMSupport.h:
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::clamp):
- (BlackBerry::WebKit::directionalVisiblePositionAtExtentOfBox):
- (BlackBerry::WebKit::SelectionHandler::extendSelectionToFieldBoundary):
- (BlackBerry::WebKit::SelectionHandler::setSelection):
- (BlackBerry::WebKit::SelectionHandler::clipPointToVisibleContainer):
- * WebKitSupport/SelectionHandler.h:
-
-2012-02-27 Leo Yang <leo.yang@torchmobile.com.cn>
-
- [BlackBerry] Upstream accelerated compositing helper class
- https://bugs.webkit.org/show_bug.cgi?id=78448
-
- Reviewed by Antonio Gomes.
-
- Initial upstream, no new tests.
-
- * WebKitSupport/FrameLayers.cpp: Added.
- * WebKitSupport/FrameLayers.h: Added.
-
-2012-02-26 Hajime Morrita <morrita@chromium.org>
-
- Move ChromeClient::showContextMenu() to ContextMenuClient
- https://bugs.webkit.org/show_bug.cgi?id=79427
-
- Reviewed by Adam Barth.
-
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2012-02-24 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Eliminate excessive BlackBerry::Platform use in InputHandler
- https://bugs.webkit.org/show_bug.cgi?id=79393
-
- Reviewed by Antonio Gomes.
-
- Cleanup usage of BlackBerry::Platform in InputHandler.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::convertStringToWchar):
- (BlackBerry::WebKit::convertStringToWcharVector):
- (BlackBerry::WebKit::convertSpannableStringToString):
- (BlackBerry::WebKit::InputHandler::learnText):
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
- (BlackBerry::WebKit::InputHandler::shouldAcceptInputFocus):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
- (BlackBerry::WebKit::InputHandler::nodeTextChanged):
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- (BlackBerry::WebKit::InputHandler::frameUnloaded):
- (BlackBerry::WebKit::InputHandler::selectionChanged):
- (BlackBerry::WebKit::InputHandler::setSelection):
- (BlackBerry::WebKit::InputHandler::handleKeyboardInput):
- (BlackBerry::WebKit::InputHandler::deleteTextRelativeToCursor):
- (BlackBerry::WebKit::InputHandler::deleteText):
- (BlackBerry::WebKit::InputHandler::spannableTextInRange):
- (BlackBerry::WebKit::InputHandler::setComposingRegion):
- (BlackBerry::WebKit::InputHandler::finishComposition):
- (BlackBerry::WebKit::InputHandler::setText):
- (BlackBerry::WebKit::InputHandler::setTextAttributes):
- (BlackBerry::WebKit::InputHandler::setRelativeCursorPosition):
- (BlackBerry::WebKit::InputHandler::setSpannableTextAndRelativeCursor):
- (BlackBerry::WebKit::InputHandler::setComposingText):
- (BlackBerry::WebKit::InputHandler::commitText):
-
-2012-02-24 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Eliminate excessive BlackBerry::Platform use in SelectionHandler.
- https://bugs.webkit.org/show_bug.cgi?id=79391
-
- Reviewed by Antonio Gomes.
-
- Clean up usage of BlackBerry::Platform in SelectionHandler and
- explicitly define what namespace to use for ambiguous objects like
- IntRect and IntPoint.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::cancelSelection):
- (BlackBerry::WebKit::SelectionHandler::getConsolidatedRegionOfTextQuadsForSelection):
- (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):
- (BlackBerry::WebKit::directionOfPointRelativeToRect):
- (BlackBerry::WebKit::SelectionHandler::shouldUpdateSelectionOrCaretForPoint):
- (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
- (BlackBerry::WebKit::directionalVisiblePositionAtExtentOfBox):
- (BlackBerry::WebKit::pointIsOutsideOfBoundingBoxInDirection):
- (BlackBerry::WebKit::SelectionHandler::extendSelectionToFieldBoundary):
- (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
- (BlackBerry::WebKit::SelectionHandler::clipPointToFocusNode):
- (BlackBerry::WebKit::SelectionHandler::setSelection):
- (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
- (BlackBerry::WebKit::SelectionHandler::selectObject):
- (BlackBerry::WebKit::comparePointsToReferencePoint):
- (BlackBerry::WebKit::minXMinYCorner):
- (BlackBerry::WebKit::maxXMinYCorner):
- (BlackBerry::WebKit::minXMaxYCorner):
- (BlackBerry::WebKit::maxXMaxYCorner):
- (BlackBerry::WebKit::caretLocationForRect):
- (BlackBerry::WebKit::caretComparisonPointForRect):
- (BlackBerry::WebKit::adjustCaretRects):
- (BlackBerry::WebKit::SelectionHandler::clipRegionToVisibleContainer):
- (BlackBerry::WebKit::referencePoint):
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
- (BlackBerry::WebKit::SelectionHandler::caretPositionChanged):
- (BlackBerry::WebKit::SelectionHandler::selectionContains):
-
-2012-02-24 Shinya Kawanaka <shinyak@chromium.org>
-
- SpellCheckRequest needs to know the context where the spellcheck happened.
- https://bugs.webkit.org/show_bug.cgi?id=79320
-
- Reviewed by Hajime Morita.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::requestCheckingOfString):
- * WebCoreSupport/EditorClientBlackBerry.h:
- (EditorClientBlackBerry):
-
-2012-02-24 Charles Wei <charles.wei@torchmobile.com.cn>
-
- [BlackBerry] Anchor mailto: with target set won't launch Messaging application when clicked
- https://bugs.webkit.org/show_bug.cgi?id=79318
-
- Need to give the client a chance to decide how to handle the new window request.
-
- Reviewed by Rob Buis.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNewWindowAction):
-
-2012-02-23 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] Selection handler has compile failure with logs enabled.
- https://bugs.webkit.org/show_bug.cgi?id=79392
-
- Reviewed by Antonio Gomes.
-
- Build Fix. Update log to avoid usage of toString which was removed.
-
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
-
-2012-02-19 Antonio Gomes <agomes@rim.com>
-
- Fat fingers - Add a clearer way to distinguish the node we want (shadow or non-shadow)
- https://bugs.webkit.org/show_bug.cgi?id=79256
- PR #127814 / MKS_2587410
-
- Reviewed by Rob Buis.
-
- Patch adds a cleaner way for call sites of FatFingersResult to
- query for the appropriated target node: shadow or non-shadow DOM nodes.
-
- It also renames FatFingersResults::validNode to ::node, assuming
- that "invalid" nodes are not applicable in any context.
-
- * Api/WebPage.cpp:
- (BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
- (BlackBerry::WebKit::WebPagePrivate::contextNode):
- (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
- * WebKitSupport/FatFingers.h:
- (FatFingersResult):
- (BlackBerry::WebKit::FatFingersResult::node):
- (BlackBerry::WebKit::FatFingersResult::nodeAsElementIfApplicable):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::touchHoldEvent):
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-02-23 Jacky Jiang <zhajiang@rim.com>
-
- [BlackBerry] Upstream BlackBerry API web page related files
- https://bugs.webkit.org/show_bug.cgi?id=74380
-
- Reviewed by Antonio Gomes.
-
- Initial upstream, no new tests.
-
- * Api/WebPage.cpp: Added.
- * Api/WebPage.h: Added.
- * Api/WebPage_p.h: Added.
-
-2012-02-23 Leo Yang <leo.yang@torchmobile.com.cn>
-
- [BlackBerry] Remove unused ChromeClientBlackBerry::platformCompositingWindow(), platformWindow() and WebPageClient::compositingWindow()
- https://bugs.webkit.org/show_bug.cgi?id=78681
-
- Reviewed by Antonio Gomes.
-
- * Api/WebPageClient.h:
- * WebCoreSupport/ChromeClientBlackBerry.cpp:
- (WebCore):
- * WebCoreSupport/ChromeClientBlackBerry.h:
- (ChromeClientBlackBerry):
-
-2012-02-23 Leo Yang <leo.yang@torchmobile.com.cn>
-
- [BlackBerry] Upstream GLES2Context.{h, cpp}
- https://bugs.webkit.org/show_bug.cgi?id=79196
-
- Reviewed by Rob Buis.
-
- Initial upstream, no new tests.
-
- * WebKitSupport/GLES2Context.cpp: Added.
- * WebKitSupport/GLES2Context.h: Added.
-
-2012-02-23 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] InputHandler requires cleanup of Navigation Mode handling.
- https://bugs.webkit.org/show_bug.cgi?id=79366
-
- Reviewed by Rob Buis.
-
- Cleanup InputHandler navigation based code.
-
- 1) Remove the concept of NavigationMode and replace it
- with simple showKeyboard calls.
-
- 2) Remove navigation move events and replace with standard
- key events.
-
- 3) Standardize function/variable names and remove obsolete
- functions.
-
- * Api/WebPageClient.h:
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::nodeFocused):
- (BlackBerry::WebKit::InputHandler::setElementUnfocused):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
- (BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
- (BlackBerry::WebKit::InputHandler::setDelayKeyboardVisibilityChange):
- (BlackBerry::WebKit::InputHandler::processPendingKeyboardVisibilityChange):
- (BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
- * WebKitSupport/SelectionHandler.cpp:
- (BlackBerry::WebKit::SelectionHandler::setCaretPosition):
- (BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
- * WebKitSupport/TouchEventHandler.cpp:
- (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
-
-2012-02-21 Ryosuke Niwa <rniwa@webkit.org>
-
- Remove the remaining uses of CSSStyleDeclaration in Editor
- https://bugs.webkit.org/show_bug.cgi?id=78939
-
- Reviewed by Enrica Casucci.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::shouldApplyStyle):
- * WebCoreSupport/EditorClientBlackBerry.h:
- (EditorClientBlackBerry):
-
-2012-02-22 Mike Fenton <mifenton@rim.com>
-
- [BlackBerry] InputHandler has signed vs unsigned comparison.
- https://bugs.webkit.org/show_bug.cgi?id=79261
-
- Fix warning by casting the unsigned int to an int.
-
- Reviewed by Rob Buis.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::rectForCaret):
-
-2012-02-22 Ryosuke Niwa <rniwa@webkit.org>
-
- Remove the remaining uses of CSSStyleDeclaration in Editor
- https://bugs.webkit.org/show_bug.cgi?id=78939
-
- Reviewed by Enrica Casucci.
-
- * WebCoreSupport/EditorClientBlackBerry.cpp:
- (WebCore::EditorClientBlackBerry::shouldApplyStyle):
- * WebCoreSupport/EditorClientBlackBerry.h:
- (EditorClientBlackBerry):
-
-2012-02-18 Antonio Gomes <agomes@rim.com>
-
- Fat fingers - cache the first rect-based hit test so we do not need to do it again
- https://bugs.webkit.org/show_bug.cgi?id=79115
-
- Reviewed by Adam Treat.
-
- Our FatFingers implementation runs currently in two phases:
- the first checks for the elements intrinsically clickable;
- the second checks for elements made clickable by the page
- (for example, a div with a onclick event listener attached to it).
- For each phase, we perform a rect hittest, which is not needed since
- the result of each is the same.
-
- Patch introduces a caching mechanism so we avoid on rect hittest:
- when the first phase runs, it caches each nodeset per document in
- a hashmap. This second phase works with the cached results.
-
- No behavioral change, but performance is better since we
- avoid one (possibly expensive) rect hittest.
-
- I measured the performance gain on https://www.kvd.se/, and we
- save up to 0.04 seconds, by caching and re-using the results.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::dumpHitTestResult):
- (BlackBerry::WebKit::FatFingers::findBestPoint):
- (BlackBerry::WebKit::FatFingers::findIntersectingRegions):
- (BlackBerry::WebKit::FatFingers::cachingStrategy):
- (WebKit):
- (BlackBerry::WebKit::FatFingers::getNodesFromRect):
- * WebKitSupport/FatFingers.h:
-
-2012-02-20 Antonio Gomes <agomes@rim.com>
-
- All default video/audio control elements should be rect-hit testable (Part II)
- PR #139518 / MKS_3005538
-
- Reviewed by George Staikos.
-
- Add HTMLInputElement::isMediaControlElement as a criteria
- to consider a element as clickable.
-
- Note that is should be only used while in the "ClickableByDefault"
- phase of FatFingers.
-
- * WebKitSupport/FatFingers.cpp:
- (BlackBerry::WebKit::FatFingers::isElementClickable):
-
-2012-02-16 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Implemented a way to defer client navigation change client notifications
- https://bugs.webkit.org/show_bug.cgi?id=78848
-
- Reviewed by Rob Buis.
-
- Currently we postpone touch_down till touch_up if user touches
- the screen and an input field has the WebKit focus. This is done
- so we can scroll the page without hidding the vkb needlessly.
-
- However, it breaks the conversion of touch to mouse events
- if an input field has the focus in the following scenario:
- an <input type=text> is focused and an user grab and-drag
- a <input type=range> knob/slide. It does not work until the
- user unfocuses the currently focused edit field.
-
- Patch introduces a way to unfocus a currently focused input field,
- without requesting the client to show or hide the virtual keyboard
- right way. Instead it gets a delayed notification of the vkb mode requested
- at either touch_released/mouse_up or touch_cancel time.
-
- For now, due to content side issues with major web sites,
- only delay navigation mode notification changes if we are not dealing with
- input modes.
-
- * WebKitSupport/InputHandler.cpp:
- (BlackBerry::WebKit::InputHandler::InputHandler):
- (BlackBerry::WebKit::InputHandler::nodeFocused):
- (BlackBerry::WebKit::InputHandler::setElementFocused):
- (BlackBerry::WebKit::InputHandler::setNavigationMode):
- (WebKit):
- (BlackBerry::WebKit::InputHandler::setDelayClientNotificationOfNavigationModeChange):
- (BlackBerry::WebKit::InputHandler::processPendingClientNavigationModeChangeNotification):
- (BlackBerry::WebKit::InputHandler::notifyClientOfNavigationModeChange):
- (BlackBerry::WebKit::InputHandler::willOpenPopupForNode):
- (BlackBerry::WebKit::InputHandler::setPopupListIndexes):
- (BlackBerry::WebKit::InputHandler::spannableTextInRange):
- (BlackBerry::WebKit::InputHandler::removeComposedText):
- (BlackBerry::WebKit::InputHandler::firstSpanInString):
- (BlackBerry::WebKit::InputHandler::setText):
- (BlackBerry::WebKit::InputHandler::setRelativeCursorPosition):
- * WebKitSupport/InputHandler.h:
- (InputHandler):
-
-2012-02-16 Antonio Gomes <agomes@rim.com>
-
- Crash @WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableNodeAfterInRegionScrolling MKS_2986818
- https://bugs.webkit.org/show_bug.cgi?id=78845
-
- Reviewed by Rob Buis.
-
- We were trying to operate on a cached Node when its page/frame/document
- were gone to PageCache already. To avoid such problems, lets clean up
- any document data we have cached when the Frame goes into the cache.
-
- * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
- (WebCore::FrameLoaderClientBlackBerry::didSaveToPageCache):
- (WebCore):
- * WebCoreSupport/FrameLoaderClientBlackBerry.h:
- (FrameLoaderClientBlackBerry):
-
-2012-02-16 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Upstream touch handling related classes
- https://bugs.webkit.org/show_bug.cgi?id=78509
-
- Reviewed by Adam Treat and Rob Buis.
-
- FatFingers is the class responsible to the whole touch
- accuracy of the BlackBerry port. Initial upstream.
-
- * WebKitSupport/FatFingers.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::FatFingers::fingerRectForPoint):
- (BlackBerry::WebKit::hasMousePressListener):
- (BlackBerry::WebKit::FatFingers::isElementClickable):
- (BlackBerry::WebKit::isFieldWithText):
- (BlackBerry::WebKit::distanceBetweenPoints):
- (BlackBerry::WebKit::compareDistanceBetweenPoints):
- (BlackBerry::WebKit::isValidFrameOwner):
- (BlackBerry::WebKit::FatFingers::FatFingers):
- (BlackBerry::WebKit::FatFingers::~FatFingers):
- (BlackBerry::WebKit::FatFingers::findBestPoint):
- (BlackBerry::WebKit::FatFingers::checkFingerIntersection):
- (BlackBerry::WebKit::FatFingers::findIntersectingRegions):
- (BlackBerry::WebKit::FatFingers::checkForClickableElement):
- (BlackBerry::WebKit::FatFingers::checkForText):
- (BlackBerry::WebKit::FatFingers::getPaddings):
- (BlackBerry::WebKit::FatFingers::nodesFromRect):
- (BlackBerry::WebKit::FatFingers::getRelevantInfoFromPoint):
- (BlackBerry::WebKit::FatFingers::setSuccessfulFatFingersResult):
- * WebKitSupport/FatFingers.h: Added.
- (WebCore):
- (WebKit):
- (FatFingersResult):
- (BlackBerry::WebKit::FatFingersResult::FatFingersResult):
- (BlackBerry::WebKit::FatFingersResult::reset):
- (BlackBerry::WebKit::FatFingersResult::originPosition):
- (BlackBerry::WebKit::FatFingersResult::adjustedPosition):
- (BlackBerry::WebKit::FatFingersResult::positionWasAdjusted):
- (BlackBerry::WebKit::FatFingersResult::isTextInput):
- (BlackBerry::WebKit::FatFingersResult::isValid):
- (BlackBerry::WebKit::FatFingersResult::validNode):
- (BlackBerry::WebKit::FatFingersResult::nodeAsElementIfApplicable):
- (FatFingers):
-
-2012-02-16 Antonio Gomes <agomes@rim.com>
-
- [BlackBerry] Upstream touch handling related classes
- https://bugs.webkit.org/show_bug.cgi?id=78509
-
- Reviewed by Adam Treat.
-
- Initial upstream of the Blackberry specific single touch event
- handler class.
-
- * blackberry/WebKitSupport/TouchEventHandler.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::hasMouseMoveListener):
- (BlackBerry::WebKit::hasTouchListener):
- (BlackBerry::WebKit::elementExpectsMouseEvents):
- (BlackBerry::WebKit::shouldConvertTouchToMouse):
- (BlackBerry::WebKit::TouchEventHandler::TouchEventHandler):
- (BlackBerry::WebKit::TouchEventHandler::~TouchEventHandler):
- (BlackBerry::WebKit::TouchEventHandler::shouldSuppressMouseDownOnTouchDown):
- [BlackBerry] Upstream touch handling related classes
- https://bugs.webkit.org/show_bug.cgi?id=78509
-
- Reviewed by Rob Buis.
-
- InRegionScrollableArea specializes the BlackBerry specific ScrollViewBase,
- working as a read-only wrapper object for a scrollable areas in the page.
- It is used in our client side to control in-region scrolling (scrollable boxes,
- inner frames, etc).
-
- Initial upstream.
-
- * WebKitSupport/InRegionScrollableArea.cpp: Added.
- (WebKit):
- (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
- (BlackBerry::WebKit::InRegionScrollableArea::calculateMinimumScrollPosition):
- (BlackBerry::WebKit::InRegionScrollableArea::calculateMaximumScrollPosition):
- (BlackBerry::WebKit::InRegionScrollableArea::layer):
- (BlackBerry):
- * WebKitSupport/InRegionScrollableArea.h: Added.
- (WebCore):
- (WebKit):
- (InRegionScrollableArea):
-
-2012-02-16 Antonio Gomes <agomes@rim.com>
-
- (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
- (BlackBerry::WebKit::TouchEventHandler::touchHoldEvent):
- (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
- (BlackBerry::WebKit::TouchEventHandler::spellCheck):
- (BlackBerry::WebKit::TouchEventHandler::handleFatFingerPressed):
- (BlackBerry::WebKit::elementForTapHighlight):
- (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
- * blackberry/WebKitSupport/TouchEventHandler.h: Added.
- (WebCore):
- (WebKit):
- (TouchEventHandler):
- (BlackBerry::WebKit::TouchEventHandler::lastFatFingersResult):
- (BlackBerry::WebKit::TouchEventHandler::resetLastFatFingersResult):
-
diff --git a/Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in b/Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in
deleted file mode 100644
index 2a898170b..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in
+++ /dev/null
@@ -1,238 +0,0 @@
-3D_PLUGIN
-3D_RENDERING
-8BIT_TEXTRUN
-ACCELERATED_2D_CANVAS
-ACCELERATED_OVERFLOW_SCROLLING
-ALL_VARIABLES_CAPTURED
-ASSEMBLER
-ASSEMBLER_WX_EXCLUSIVE
-BATTERY_STATUS
-BINDING_INTEGRITY
-BLACKBERRY_CREDENTIAL_PERSIST
-BLACKBERRY_DEBUG_MEMORY
-BLOB
-BRANCH_COMPACTION
-BYTECODE_COMMENTS
-CACHE_PARTITIONING
-CANVAS_PATH
-CANVAS_PROXY
-CHANNEL_MESSAGING
-CODEBLOCK_SAMPLING
-COMPARE_AND_SWAP
-COMPUTED_GOTO_OPCODES
-CONSISTENCY_CHECK
-CONTEXT_MENUS
-CSP_NEXT
-CSS3_CONDITIONAL_RULES
-CSS3_TEXT
-CSS_BOX_DECORATION_BREAK
-CSS_COMPOSITING
-CSS_DEVICE_ADAPTATION
-CSS_EXCLUSIONS
-CSS_FILTERS
-CSS_IMAGE_ORIENTATION
-CSS_IMAGE_RESOLUTION
-CSS_IMAGE_SET
-CSS_REGIONS
-CSS_SHADERS
-CSS_SHAPES
-CSS_STICKY_POSITION
-CSS_VARIABLES
-CURSOR_VISIBILITY
-CUSTOM_ELEMENTS
-CUSTOM_PROTOCOLS
-CUSTOM_SCHEME_HANDLER
-DASHBOARD_SUPPORT
-DATALIST_ELEMENT
-DATA_TRANSFER_ITEMS
-DATE_AND_TIME_INPUT_TYPES
-DEBUG_JSSTACK
-DEBUG_MATH_LAYOUT
-DEBUG_PROPAGATION_VERBOSE
-DEBUG_VERBOSE
-DEBUG_WITH_BREAKPOINT
-DEFAULT_RENDER_THEME
-DELETION_UI
-DEPRECATED_FEATURE
-DETAILS_ELEMENT
-DEVICE_ORIENTATION
-DFG_JIT
-DFG_REGISTER_ALLOCATION_VALIDATION
-DIALOG_ELEMENT
-DIRECTORY_UPLOAD
-DISASSEMBLER
-DOWNLOAD_ATTRIBUTE
-DRAGGABLE_REGION
-DRAG_SUPPORT
-ENCRYPTED_MEDIA
-ENCRYPTED_MEDIA_V2
-EVENT_MODE_METATAGS
-EXECUTABLE_ALLOCATOR_DEMAND
-EXECUTABLE_ALLOCATOR_FIXED
-EXPERIMENTAL_FEATURE
-FAST_MALLOC_MATCH_VALIDATION
-FAST_MOBILE_SCROLLING
-FILE_SYSTEM
-FILTERS
-FIXED_REPORTED_SIZE
-FONT_LOAD_EVENTS
-FORCED_JIT_BLINDING
-FTPDIR
-FULLSCREEN_API
-GAMEPAD
-GC_LOGGING
-GC_VALIDATION
-GEOLOCATION
-GESTURE_EVENTS
-GESTURE_RECOGNIZER
-GLOBAL_FASTMALLOC_NEW
-HIDDEN_PAGE_DOM_TIMER_THROTTLING
-HIGH_DPI_CANVAS
-ICONDATABASE
-IFRAME_SEAMLESS
-IMAGE_DECODER_DOWN_SAMPLING
-INDEXED_DATABASE
-INPUT_SPEECH
-INPUT_TYPE_COLOR
-INPUT_TYPE_DATE
-INPUT_TYPE_DATETIME
-INPUT_TYPE_DATETIMELOCAL
-INPUT_TYPE_MONTH
-INPUT_TYPE_TIME
-INPUT_TYPE_WEEK
-INSPECTOR
-INSPECTOR_SERVER
-JAVASCRIPT_DEBUGGER
-JAVASCRIPT_I18N_API
-JIT
-JIT_ASSERT
-JIT_BREAK_ON_EVERY_BLOCK
-JIT_BREAK_ON_EVERY_FUNCTION
-JIT_BREAK_ON_EVERY_NODE
-JIT_BREAK_ON_SPECULATION_FAILURE
-JIT_CONSTANT_BLINDING
-JIT_VERBOSE
-JIT_VERBOSE_OSR
-LEGACY_CSS_VENDOR_PREFIXES
-LEGACY_NOTIFICATIONS
-LEGACY_VIEWPORT_ADAPTION
-LEGACY_WEB_AUDIO
-LINK_PREFETCH
-LLINT
-LLINT_C_LOOP
-MATHML
-MEDIA_CAPTURE
-MEDIA_SOURCE
-MEDIA_STATISTICS
-MEDIA_STREAM
-MEMORY_SAMPLER
-META_ALLOCATOR_PROFILE
-METER_ELEMENT
-MHTML
-MICRODATA
-MOUSE_CURSOR_SCALE
-NAVIGATOR_CONTENT_UTILS
-NETSCAPE_PLUGIN_API
-NETSCAPE_PLUGIN_METADATA_CACHE
-NETWORK_INFO
-NETWORK_PROCESS
-NOSNIFF
-NOTIFICATIONS
-OBJECT_MARK_LOGGING
-OPCODE_SAMPLING
-OPCODE_STATS
-OPENCL
-OPENTYPE_VERTICAL
-ORIENTATION_EVENTS
-OSR_ENTRY
-PAGE_VISIBILITY_API
-PAN_SCROLLING
-PARALLEL_GC
-PASSWORD_ECHO
-PDFKIT_PLUGIN
-PERFORMANCE_TIMELINE
-PLUGIN_PACKAGE_SIMPLE_HASH
-PLUGIN_PROCESS
-PLUGIN_PROXY_FOR_VIDEO
-POINTER_LOCK
-PRIMARY_SNAPSHOTTED_PLUGIN_HEURISTIC
-PRINTING
-PROGRESS_ELEMENT
-PROXIMITY_EVENTS
-PUBLIC_SUFFIX_LIST
-PURGEABLE_MEMORY
-QUOTA
-REGEXP_TRACING
-REPAINT_THROTTLING
-REQUEST_ANIMATION_FRAME
-REQUEST_AUTOCOMPLETE
-RESOLUTION_MEDIA_QUERY
-RESOURCE_TIMING
-RUBBER_BANDING
-SAMPLING_COUNTERS
-SAMPLING_FLAGS
-SAMPLING_REGIONS
-SAMPLING_THREAD
-SATURATED_LAYOUT_ARITHMETIC
-SCRIPTED_SPEECH
-SHADOW_DOM
-SHARED_WORKERS
-SHARED_WORKER_PROCESS
-SIMPLE_HEAP_PROFILING
-SMOOTH_SCROLLING
-SPEECH_SYNTHESIS
-SPELLCHECK
-SQL_DATABASE
-STACK_STATS
-STREAM
-STYLE_SCOPED
-SUBPIXEL_LAYOUT
-SUCCESS_STATS
-SUID_SANDBOX_LINUX
-SVG
-SVG_DOM_OBJC_BINDINGS
-SVG_FONTS
-TCMALLOC_HARDENING
-TEMPLATE_ELEMENT
-TEST_INTERFACE
-TEXT_AUTOSIZING
-TEXT_CARET
-THREADED_HTML_PARSER
-THREADED_SCROLLING
-THREADING_GENERIC
-THREADING_LIBDISPATCH
-THREADING_OPENMP
-TOUCH_ADJUSTMENT
-TOUCH_EVENTS
-TOUCH_EVENT_TRACKING
-TOUCH_ICON_LOADING
-TOUCH_SLIDER
-UI_PROCESS_STORAGE
-USERSELECT_ALL
-USER_TIMING
-VALUE_PROFILER
-VERBOSE_STACK_STATS
-VERBOSE_VALUE_PROFILE
-VIBRATION
-VIDEO
-VIDEO_TRACK
-VIEWPORT
-VIEWPORT_REFLOW
-VIEW_MODE_CSS_MEDIA
-VMINSPECTOR
-WEBGL
-WEBKIT2
-WEBVTT_REGIONS
-WEB_ARCHIVE
-WEB_AUDIO
-WEB_PROCESS_SANDBOX
-WEB_SOCKETS
-WEB_TIMING
-WORKERS
-WRITE_BARRIER_PROFILING
-WTF_MALLOC_VALIDATION
-XHR_TIMEOUT
-XOR_DEBUG_AID
-XSLT
-YARR_JIT
-YARR_JIT_DEBUG
diff --git a/Source/WebKit/blackberry/WebCoreSupport/AboutDataHaveFeatures.in b/Source/WebKit/blackberry/WebCoreSupport/AboutDataHaveFeatures.in
deleted file mode 100644
index 9b1ee9566..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/AboutDataHaveFeatures.in
+++ /dev/null
@@ -1,68 +0,0 @@
-ACCESSIBILITY
-ARM_NEON_INTRINSICS
-ASSEMBLER
-AVCF
-AVFOUNDATION_TEXT_TRACK_SUPPORT
-CA
-CFNETWORK
-CFNETWORK_DATA_ARRAY_CALLBACK
-CGINTERPOLATION_MEDIUM
-CG_INTERPOLATION_MEDIUM
-COMPUTED_GOTO
-CXX_NULLPTR
-DISPATCH_H
-DTRACE
-ENABLE_THREADING_LIBDISPATCH
-ERRNO_H
-FLOAT_H
-FONTCONFIG
-GLX
-HEADER_DETECTION_H
-HOSTED_CORE_ANIMATION
-INTERNAL_VISIBILITY
-INVERTED_WHEEL_EVENTS
-ISDEBUGGERPRESENT
-JNI
-LANGINFO_H
-LAYER_HOSTING_IN_WINDOW_SERVER
-MADV_DONTNEED
-MADV_FREE
-MADV_FREE_REUSE
-MEDIA_ACCESSIBILITY_FRAMEWORK
-MERGESORT
-MMAP
-NETWORK_CFDATA_ARRAY_CALLBACK
-NULLPTR
-PATH_BASED_BORDER_RADIUS_DRAWING
-PCRE16
-PRINTSUPPORT
-PTHREAD_H
-PTHREAD_MACHDEP_H
-PTHREAD_NP_H
-PTHREAD_RWLOCK
-PTHREAD_SETNAME_NP
-QT5
-QTLOCATION
-QTPRINTSUPPORT
-QTQUICK
-QTSENSORS
-READLINE
-RUNLOOP_TIMER
-SIGNAL_H
-STDINT_H
-STRINGS_H
-STRING_H
-STRNSTR
-SYS_PARAM_H
-SYS_TIMEB_H
-SYS_TIME_H
-TIMEGM
-TM_GMTOFF
-TM_ZONE
-UNIX_DOMAIN_SOCKETS
-VARIADIC_MACRO
-VASPRINTF
-VIRTUALALLOC
-WINCE
-WKQCA
-XPC
diff --git a/Source/WebKit/blackberry/WebCoreSupport/AboutDataUseFeatures.in b/Source/WebKit/blackberry/WebCoreSupport/AboutDataUseFeatures.in
deleted file mode 100644
index 23f5bd19b..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/AboutDataUseFeatures.in
+++ /dev/null
@@ -1,113 +0,0 @@
-3D_GRAPHICS
-ACCELERATE
-ACCELERATED_COMPOSITING
-ACCELERATED_COMPOSITING_GL
-ACCELERATED_COMPOSITING_PLUGIN_LAYER
-ACCESSIBILITY_CONTEXT_MENUS
-APPKIT
-APPLE_SYSTEM_LOG
-AUTOCORRECTION_PANEL
-AUTOMATIC_TEXT_REPLACEMENT
-AVFOUNDATION
-BACKTRACE_SYMBOLS
-CA
-CAIRO
-CF
-CFNETWORK
-CFURLCACHE
-CG
-CG_INTERPOLATION_MEDIUM
-CLUTTER
-COMPOSITING_FOR_SMALL_CANVASES
-CONTENT_FILTERING
-COORDINATED_GRAPHICS
-COREAUDIO
-COREMEDIA
-CROSS_PLATFORM_CONTEXT_MENUS
-CSS_FILTERS
-CURL
-DICTATION_ALTERNATIVES
-DLADDR
-DYNAMIC_ANNOTATIONS
-DYNAMIC_ANNOTATIONS_NOIMPL
-EGL
-EO
-EXPORT_MACROS
-EXPORT_MACROS_FOR_TESTING
-FILE_LOCK
-FREETYPE
-GLIB
-GLX
-GOOGLEURL
-GRAMMAR_CHECKING
-GRAPHICS_SURFACE
-GSTREAMER
-HARFBUZZ
-ICCJPEG
-ICU_UNICODE
-IOSURFACE_CANVAS_BACKING_STORE
-JSC
-JSVALUE32_64
-JSVALUE64
-LAZY_NATIVE_CURSOR
-LEVELDB
-LIBJPEG
-LIBPNG
-LIBXML2
-LOCKFREE_THREADSAFEREFCOUNTED
-LOW_QUALITY_IMAGE_INTERPOLATION
-LOW_QUALITY_IMAGE_NO_JPEG_DITHERING
-LOW_QUALITY_IMAGE_NO_JPEG_FANCY_UPSAMPLING
-MADV_FREE_FOR_JIT_MEMORY
-MARKER_REMOVAL_UPON_EDITING
-MYPLATFORM
-NATIVE_FULLSCREEN_VIDEO
-NETWORK_CFDATA_ARRAY_CALLBACK
-NEW_THEME
-OPENGL
-OPENGL_ES_2
-OPENTYPE_SANITIZER
-OPENVG
-OPENVG_BLUR
-PLATFORM_TEXT_TRACK_MENU
-PLUGIN_HOST_PROCESS
-PROTECTION_SPACE_AUTH_CALLBACK
-PTHREADS
-PTHREAD_GETSPECIFIC_DIRECT
-QCMSLIB
-QTKIT
-QT_MOBILITY_SYSTEMINFO
-QT_MULTIMEDIA
-QUERY_PERFORMANCE_COUNTER
-QUICK_LOOK
-QXMLQUERY
-QXMLSTREAM
-REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR
-REQUEST_ANIMATION_FRAME_TIMER
-RTL_SCROLLBAR
-SAFARI_THEME
-SCROLLBAR_PAINTER
-SECURITY_FRAMEWORK
-SOUP
-STORAGE_STRATEGIES
-TEXMAP_OPENGL_ES_2
-TEXTURE_MAPPER
-TEXTURE_MAPPER_CAIRO
-TEXTURE_MAPPER_GL
-TILED_BACKING_STORE
-UDIS86
-UNIFIED_TEXT_CHECKING
-UNIX_DOMAIN_SOCKETS
-V8
-WCHAR_UNICODE
-WEBAUDIO_FFMPEG
-WEBAUDIO_GSTREAMER
-WEBAUDIO_IPP
-WEBAUDIO_MKL
-WEBKIT_IMAGE_DECODERS
-WEBP
-WEB_THREAD
-WININET
-WTFURL
-WXGC
-ZLIB
diff --git a/Source/WebKit/blackberry/WebCoreSupport/AboutTemplate.html.cpp b/Source/WebKit/blackberry/WebCoreSupport/AboutTemplate.html.cpp
deleted file mode 100644
index 904e441d7..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/AboutTemplate.html.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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
- */
-
-static String writeHeader(const String& title)
-{
- return "<!DOCTYPE html><html>"
- "<head>"
- " <style>.title{text-align:center;color:white;font-size:28pt;}.box{padding:10px;border:2px solid gray;margin:0px;background:black;color:white;-webkit-border-radius: 10px;}.box-title{text-align:center;font-weight:bold;}.true {color:green;}.false {color: red;text-decoration: line-through;}.fixed-table{color:white;border-collapse:collapse;width:100%} tr:nth-child(2n){color:#A8A8A8;}</style>"
- " <title>"+title+"</title>"
- " <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1\">"
- " <style>@media all and (orientation:landscape) { .main { -webkit-column-count:2; -webkit-column-rule:solid; font-size:12px; } h1 { -webkit-column-span: all; } ul { font-size: 75%; } } td,li { text-overflow: ellipsis; overflow: hidden; }</style>"
- "</head>"
- "<body topmargin='10'>"
- " <div class='box'><div class='title'><img alt='BlackBerry Browser Logo' src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAIAAAC0Ujn1AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wHCxEvB12VSWwAAAq1SURBVEgNAaoKVfUBFxkjAQIBAAAAAP8BAQEA//8AAAEAAAAAAQEB////AQAAAAAB/wH/AAABAP8A/wAAAQH/AAABAf8AAAD/AQEB/v7/AQIB////AAAA//8AAQH/AAAAAQEB//7/BPX19v//AAABAAEAAAAAAAAAAAAAAAECAv7+/wABAQEDAwAEBv4CBQACBQADBf8AAAEA/wD8+gUB/v779//7+wD//gICAf39/gEAAP8AAAEAAAECAf7+/gAAAAQBAQEAAP8AAQEBAAD/AQECAAH//wACAgIABQT+BQv+CQ79BhD/FRoGHxsGEQ8CAwP89fb66Or54uIB9e4C+vEB+PP++vgCAgEA//8BAQH///////8CAQL///4EAAAAAAAAAQAB/wEAAf8AAAIBAgME/QYKAA8V/RAdBzk6DEc9DyMb7wMFHwcD9v8A8f3+BP39/PDy/MbR/LO6AeXcA/PoAfbwAf77//7+AAAB/////wAABAQEAQ0PGv//AP8BAQH//wIEAwACBv4LEf0UHgQsOBVnW/cgGhH7AOv5/wP/ABUFAOX8AAQCAAIEAPoDAQQHAAr//vCoufmtrwLo2gLy6QD69wH//gAA//7+/gD//wMHCQ0AAAABAAEBAwIBAwcADhT+HiwXVV4gaV/n/g0l9/8M9v7u7fn78Pfx8PgB9Pn99f1Q+sIa+Ozn+BcB/gQBMiUKLy/55fD+8vAB+fgA/voBAAABAQH///8DBgcMAAABAAABAQMFAA0T/R0sGlllIkBBCPH+DfL4D/Xx//Du7+rm+u7qAPHs//HuAvX0xAdCP/WyGvvw5Pwm6vUOBhQQBi4t+ubu/+7sAvv3//v7AAD/AAAAAwcJDgAAAAEBAv8JDf8YJhRIXx8yPgvw9wjz7gbx6uLi4d/i5Pjs7ADx8ADy8wDy8/zx8+nsADkP1isAzD/6uQX8DcftJwMHDAQlK/nZ2QL07//59gH//QAAAAMHBwwBAAH/BQf/ERsDK0MnOlcD7OsF8en36+TK0tXu6Oj98PH/8/T/9PX/8/X+8/X+8PHf3/8TCQksF+kI/u02/bko99ut3jYDAhMGFyD4284C9/EA+vkA//8E/wABAQICAAkN/RQfIShM/eDiCP/s9PfoyNjYA//9Af/+/gD+/v4BCAUCFwz5Nh/1WivZPxnR+fjw+P0G//8C/wAAu8j7/P7j/Qz1CRAlBCdD/vHoA/r1//r4BAEAAP8CBP4LEQoaM/vo7uz35Oj46evu5gL9+f/9/vb7ABMOBzoj7kIk6Ecm3yIN4Pz/AervBeLsEAwJAB0U9dDeCq7JFwsa1/4JFfvr9QgRNvQSwAPz7AD6+QQAAAEAAwb+DhUJ/BHh0sgLBPL//fEJAvzv8fP9/gVYPf1aNdUtGusXCu73/AbB1Q+3ywbi7xP09wJ5V/AjBvuEpAv97OAHBA4DCfX5AfAHCxgCDyX+B9wA9vAE/wH/AAUHAAgT/ezsIw3+7+7u7e7p+vv8KiIOlGfiKhbbBgT/8PUFlrUUo7kA2+UC/v7/Dw38RTUDOCr9rsALzNsJBxEE/u7tAQb5BQT29u73BAoP/AkMAfEEBAEBAf0FB//9B+3m4fcD9hMPAg8D/XBcDG9M1/P1+OTrEKW3+aG19e3tAQEE/gICBP4BBBgYFwgMBe71AZWu8QUDDgX+BP728/74/AEE/QkEAPf+//8ICwIDAwT//wEABAUA/QAC/Pfx8u4oGgWjfA0zI+jN1wm4xgOpuvTa2/QABQQDCAgBAwkBAwkCAQbw9Ai/zgO+xPbo7QQIDg3++/z+AP//AgD//QIB/AcCBQj9BAj/AAEEAQEAAQECAQAA+Pb6TUAVj3AADwr0iaL6sb/w5+0DDg4VHiQY5On0AAIHAgMFAAAAAAAA9PX38/Hy/Pj3AgYSCQIH/v/9AQMDAAH//wD++/z6+foDAgICAAABBAAAAAD+/fj5+0pDF6B+Bejr8Fh029Tc9wcKERUZGA0OEv8AAxkc/+nr8OPl6gMDAgD/AAABAQEDCQUJGQADCfX3+gwKCf///v///gEB/v7+/f7//AL//AAA/wT////9+vokHwmZgR/e4+ZJXrv1+gUUFx4IChEBAwr6+wEAAf7+/v4GBQMA/wEAAAEAAQABAAAAAwb/AgYAAAD+/f7//wAAAAACAwH+AAADAwMBA/0B+vgA//0EAQAAAPv5eFEY6en7Q1qx8vcJCAsS+v0KCAED9/j5+/z9AQEBAAEA3uDnAgMCAAD/AAAA//8BAAEBAQAA/wD/AgIBAQEA/wEB/////f//+P/8BAgDAPHzAP7+BP///x4VCyQdGWqDsvT8EgULCv0A//T19wcGBQIDAf3+//7+/vr7/AABAQEAAQAAAAD//gEBAQAAAP8AAAAAAf3+/v7//wAAAAACAvn5/v8FAP8C9AL38wD//gQAAf8JBQPQ1+7hBBYDBQIBAPj/APv9/v75+/sC/AEEBP78/P3v8PMBAQEAAQAAAAD/AAEA/wAAAP8BAAAAAQEA/wH+/v8EBQL2+f39/QYBEwUA9t8B+fUA//8CAf8B4eHm6OnwCAT8ARwX//8DAQEC/fz++fn7/f3++fr79PX4/v4AAQEBAAD//wD/AQABAQH/AAEA/wEB////AAEB+fv+9ff7+/wBAAIGARL5Au7lAPz6AQAAAwYIDfz7++nq7SghH+wHB/3zAP34+AAB/wIB/wQEA/n5+/n6+/8B/wH/AP8AAQEAAf8BAAD/AQEBAQH//wABAQAAAf7/Av7/BAADCgEfEQTx2QLt5AD8+AD//wMHCA0CAwPt7e7u6+sYEg4AGBn47/j/+vn9/f0FBgP5+fv+/v8AAAEBAAAAAAEBAP8BAAABAQAAAAAAAAEAAAEAAgMBAQUAAgkBGRIDAecD59sB9/QA//0AAAADBwkNAQACAgIB/fv77erq+//9/hUa/vT7APv9AAD+AAAB///+AQEB/wAAAAEAAQAAAAAAAAEAAP8AAAACAAECAQIF/wEIARoVAwfuAubYAvbv//37AAAB/wD/AwYHDP//////Af///gIA/f/39QIE/gAeIP/3/v72+QECAAD/AAD//wAAAAABAAEBAAAAAAAAAQABAgABAwEBBv8CCAIhGgQE7APm2AL17QL9+wAAAAD/AAEA/wMGCA0AAQECAgABAQIB//8B/vv/+PQC+/QAGxgADBH++Pz//wAA/wEAAAAAAAEAAAEAAQIAAAMBBAgABQgAEhIEIxIC890D59oB9e0B/fv///8AAP8BAP8AAAABDA8ZAP8AAAEBAQECAAAAAQAA/wEB/wIGAAoN/hIa/xAa/vkEAPn9//n8AP//AAAAAAEBAAQDAQcEAQkAAvnvAO3iA/Pv//r2AgD+AQAB/f79AQAA////AAAAAQwPGf8AAAEAAAAAAQEBAQAAAP//AAAAAAEDA/8DBQAHCv4IDgALEP8GCgAAAgAAAf8A/gL9+QL59f/07wL49P/79wH+/gAA/wD/AAAAAAAA/////wAAAAAAAAEMDhj/AP8AAAEBAAEAAQAA/wAAAQAAAAAAAAAAAAAAAAH/AgIAAgMAAQMAAQICAwL+/f0A/v0B/v0A/v4BAQAAAP/+/v4BAQEAAAAAAAD//wD///4BAQEA/wCyKWs61Q32JAAAAABJRU5ErkJggg==' /> "+title+"</div></div><br>"
- " <div class='main'>";
-}
diff --git a/Source/WebKit/blackberry/WebCoreSupport/AutofillManager.cpp b/Source/WebKit/blackberry/WebCoreSupport/AutofillManager.cpp
deleted file mode 100644
index 1b79e3eea..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/AutofillManager.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "AutofillManager.h"
-
-#include "AutofillBackingStore.h"
-#include "HTMLCollection.h"
-#include "HTMLFormElement.h"
-#include "HTMLInputElement.h"
-#include "WebPage_p.h"
-
-namespace WebCore {
-
-static bool isAutofillable(HTMLInputElement* element)
-{
- return element && element->isTextField() && !element->isPasswordField()
- && !element->isAutofilled() && element->shouldAutocomplete();
-}
-
-PassRefPtr<AutofillManager> AutofillManager::create(BlackBerry::WebKit::WebPagePrivate* page)
-{
- return adoptRef(new AutofillManager(page));
-}
-
-void AutofillManager::didChangeInTextField(HTMLInputElement* element)
-{
- if (!isAutofillable(element))
- return;
-
- if (m_element != element)
- m_element = element;
-
- Vector<String> candidates = autofillBackingStore().get(element->getAttribute(HTMLNames::nameAttr).string(), element->value());
- m_webPagePrivate->notifyPopupAutofillDialog(candidates);
-}
-
-void AutofillManager::textFieldDidEndEditing(HTMLInputElement*)
-{
- m_webPagePrivate->notifyDismissAutofillDialog();
-}
-
-void AutofillManager::autofillTextField(const String& value)
-{
- if (!m_element)
- return;
-
- m_element->setValue(value);
- m_element->setAutofilled();
-}
-
-void AutofillManager::saveTextFields(HTMLFormElement* form)
-{
- RefPtr<HTMLCollection> elements = form->elements();
- size_t itemCount = elements->length();
- for (size_t i = 0; i < itemCount; ++i) {
- HTMLInputElement* element = form->item(i)->toInputElement();
- if (!isAutofillable(element))
- continue;
- autofillBackingStore().add(element->getAttribute(HTMLNames::nameAttr).string(), element->value());
- }
-}
-
-void AutofillManager::clear()
-{
- autofillBackingStore().clear();
-}
-
-} // namespace WebCore
diff --git a/Source/WebKit/blackberry/WebCoreSupport/AutofillManager.h b/Source/WebKit/blackberry/WebCoreSupport/AutofillManager.h
deleted file mode 100644
index 53b637a9d..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/AutofillManager.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 AutofillManager_h
-#define AutofillManager_h
-
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WTF {
-class String;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-}
-}
-
-namespace WebCore {
-class HTMLFormElement;
-class HTMLInputElement;
-
-class AutofillManager : public RefCounted<AutofillManager> {
-public:
- static PassRefPtr<AutofillManager> create(BlackBerry::WebKit::WebPagePrivate*);
-
- void didChangeInTextField(HTMLInputElement*);
- void textFieldDidEndEditing(HTMLInputElement*);
- void autofillTextField(const WTF::String&);
- void saveTextFields(HTMLFormElement*);
-
- static void clear();
-
-private:
- AutofillManager(BlackBerry::WebKit::WebPagePrivate* page) : m_webPagePrivate(page), m_element(0) { }
-
- BlackBerry::WebKit::WebPagePrivate* m_webPagePrivate;
- HTMLInputElement* m_element;
-};
-
-} // WebCore
-
-#endif // AutofillManager_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/BackForwardListBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/BackForwardListBlackBerry.cpp
deleted file mode 100644
index d17a7381f..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/BackForwardListBlackBerry.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (C) 2013 Research In Motion Limited. 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
- * 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 "BackForwardListBlackBerry.h"
-
-#include "HistoryItem.h"
-#include "WebPage_p.h"
-
-using namespace BlackBerry::WebKit;
-
-namespace WebCore {
-
-BackForwardListBlackBerry::BackForwardListBlackBerry(WebPagePrivate* pagePrivate)
- : m_impl(BackForwardListImpl::create(pagePrivate->m_page))
- , m_webPagePrivate(pagePrivate)
-{
-}
-
-BackForwardListBlackBerry::~BackForwardListBlackBerry()
-{
-}
-
-int BackForwardListBlackBerry::current()
-{
- return m_impl->backListCount();
-}
-
-void BackForwardListBlackBerry::notifyBackForwardListChanged()
-{
- m_webPagePrivate->m_client->resetBackForwardList(m_impl->entries().size(), current());
-}
-
-void BackForwardListBlackBerry::addItem(PassRefPtr<HistoryItem> prpItem)
-{
- if (!isActive())
- return;
-
- m_impl->addItem(prpItem);
- notifyBackForwardListChanged();
-}
-
-void BackForwardListBlackBerry::goToItem(HistoryItem* item)
-{
- if (!m_impl->entries().size() || !item)
- return;
-
- int oldIndex = current();
- m_impl->goToItem(item);
- if (oldIndex != current())
- notifyBackForwardListChanged();
- else {
- // FIXME: this might not be needed anymore. See PR 310030.
- // Since the recent pages dialog is in another process, it's possible for
- // the user to choose an entry after it's been removed from the underlying
- // BackForwardList (for example, if the current page is in the middle of
- // the stack and it sets document.location with a timer, clearing the
- // forward list, while the user has the recent pages dialog open). In this
- // case the best thing to do is re-add the item at the end of the stack.
- addItem(item);
- }
-}
-
-HistoryItem* BackForwardListBlackBerry::itemAtIndex(int index)
-{
- return m_impl->itemAtIndex(index);
-}
-
-int BackForwardListBlackBerry::backListCount()
-{
- return m_impl->backListCount();
-}
-
-int BackForwardListBlackBerry::forwardListCount()
-{
- return m_impl->forwardListCount();
-}
-
-bool BackForwardListBlackBerry::isActive()
-{
- return m_impl->enabled() && m_impl->capacity();
-}
-
-void BackForwardListBlackBerry::close()
-{
- return m_impl->close();
-}
-
-void BackForwardListBlackBerry::clear()
-{
- int capacity = m_impl->capacity();
- m_impl->setCapacity(0);
- m_impl->setCapacity(capacity);
-}
-
-HistoryItemVector& BackForwardListBlackBerry::entries()
-{
- return m_impl->entries();
-}
-
-void BackForwardListBlackBerry::backListWithLimit(int limit, HistoryItemVector& list)
-{
- m_impl->backListWithLimit(limit, list);
-}
-
-void BackForwardListBlackBerry::forwardListWithLimit(int limit, HistoryItemVector& list)
-{
- m_impl->forwardListWithLimit(limit, list);
-}
-
-int BackForwardListBlackBerry::capacity()
-{
- return m_impl->capacity();
-}
-
-HistoryItem* BackForwardListBlackBerry::currentItem()
-{
- return m_impl->currentItem();
-}
-
-}; // namespace WebCore
diff --git a/Source/WebKit/blackberry/WebCoreSupport/BackForwardListBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/BackForwardListBlackBerry.h
deleted file mode 100644
index 0b1594e4a..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/BackForwardListBlackBerry.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2013 Research In Motion Limited. 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
- * 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 BackForwardListBlackBerry_h
-#define BackForwardListBlackBerry_h
-
-#include "BackForwardListImpl.h"
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-}
-}
-
-namespace WebCore {
-
-class BackForwardListBlackBerry : public WebCore::BackForwardList {
-public:
- static PassRefPtr<BackForwardListBlackBerry> create(BlackBerry::WebKit::WebPagePrivate* pagePrivate)
- {
- return adoptRef(new BackForwardListBlackBerry(pagePrivate));
- }
- virtual ~BackForwardListBlackBerry();
-
- void clear();
- HistoryItemVector& entries();
- HistoryItem* currentItem();
- void backListWithLimit(int, HistoryItemVector&);
- void forwardListWithLimit(int, HistoryItemVector&);
- int capacity();
-
-private:
- explicit BackForwardListBlackBerry(BlackBerry::WebKit::WebPagePrivate*);
-
- virtual void addItem(PassRefPtr<WebCore::HistoryItem>);
- virtual void goToItem(WebCore::HistoryItem*);
- virtual WebCore::HistoryItem* itemAtIndex(int);
- virtual int backListCount();
- virtual int forwardListCount();
- virtual bool isActive();
- virtual void close();
-
- int current();
- void notifyBackForwardListChanged();
-
- RefPtr<BackForwardListImpl> m_impl;
- BlackBerry::WebKit::WebPagePrivate* m_webPagePrivate;
-};
-
-} // namespace WebCore
-
-#endif // BackForwardListBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/BatteryClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/BatteryClientBlackBerry.cpp
deleted file mode 100644
index a41e5b2e0..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/BatteryClientBlackBerry.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "BatteryClientBlackBerry.h"
-
-#if ENABLE(BATTERY_STATUS)
-
-#include "BatteryController.h"
-#include "WebPage_p.h"
-#include <stdio.h>
-
-namespace WebCore {
-
-BatteryClientBlackBerry::BatteryClientBlackBerry(BlackBerry::WebKit::WebPagePrivate* webPagePrivate)
- : m_webPagePrivate(webPagePrivate)
- , m_isActive(false)
-{
-}
-
-void BatteryClientBlackBerry::startUpdating()
-{
- if (!m_isActive) {
- BlackBerry::Platform::BatteryStatusHandler::instance()->addListener(this);
- m_isActive = true;
- }
-}
-
-void BatteryClientBlackBerry::stopUpdating()
-{
- if (m_isActive) {
- BlackBerry::Platform::BatteryStatusHandler::instance()->removeListener(this);
- m_isActive = false;
- }
-}
-
-void BatteryClientBlackBerry::batteryControllerDestroyed()
-{
- delete this;
-}
-
-void BatteryClientBlackBerry::onStatusChange(bool charging, double chargingTime, double dischargingTime, double level)
-{
- BatteryController::from(m_webPagePrivate->m_page)->updateBatteryStatus(BatteryStatus::create(charging, chargingTime, dischargingTime, level));
-}
-
-}
-
-#endif // BATTERY_STATUS
diff --git a/Source/WebKit/blackberry/WebCoreSupport/BatteryClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/BatteryClientBlackBerry.h
deleted file mode 100644
index 8b4f8ecc8..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/BatteryClientBlackBerry.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 BatteryClientBlackBerry_h
-#define BatteryClientBlackBerry_h
-
-#if ENABLE(BATTERY_STATUS)
-
-#include "BatteryClient.h"
-
-#include <BatteryStatusHandler.h>
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-}
-}
-
-namespace WebCore {
-
-class BatteryStatus;
-
-class BatteryClientBlackBerry : public BatteryClient, public BlackBerry::Platform::BatteryStatusListener {
-public:
- explicit BatteryClientBlackBerry(BlackBerry::WebKit::WebPagePrivate*);
- ~BatteryClientBlackBerry() { }
-
- virtual void startUpdating();
- virtual void stopUpdating();
- virtual void batteryControllerDestroyed();
-
- void onStatusChange(bool charging, double chargingTime, double dischargingTime, double level);
-
-private:
- BlackBerry::WebKit::WebPagePrivate* m_webPagePrivate;
- bool m_isActive;
-};
-
-}
-
-#endif // BATTERY_STATUS
-#endif // BatteryClientBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/CacheClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/CacheClientBlackBerry.cpp
deleted file mode 100644
index 58aed012b..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/CacheClientBlackBerry.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2010, 2011 Research In Motion Limited. 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
- * 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 "CacheClientBlackBerry.h"
-
-#include "MemoryCache.h"
-#include <BlackBerryPlatformMisc.h>
-#include <BlackBerryPlatformSettings.h>
-
-namespace WebCore {
-
-CacheClientBlackBerry* CacheClientBlackBerry::get()
-{
- static CacheClientBlackBerry s_cacheClient;
- return &s_cacheClient;
-}
-
-CacheClientBlackBerry::CacheClientBlackBerry()
-{
-}
-
-void CacheClientBlackBerry::initialize()
-{
-#if ENABLE(BLACKBERRY_DEBUG_MEMORY)
- bool isDisabled = true;
-#else
- bool isDisabled = false;
-#endif
- memoryCache()->setDisabled(isDisabled);
- if (!isDisabled) {
- // We have to set a non-zero interval to schedule cache pruning after a CachedImage becoming dead.
- memoryCache()->setDeadDecodedDataDeletionInterval(0.01);
- updateCacheCapacity();
- }
-}
-
-void CacheClientBlackBerry::updateCacheCapacity()
-{
-#if ENABLE(BLACKBERRY_DEBUG_MEMORY)
- // We're debugging memory usage. So keep it disabled.
-#else
- unsigned cacheTotalCapacity = 64 * 1024 * 1024;
- unsigned cacheMinDeadCapacity = cacheTotalCapacity / 4;
- unsigned cacheMaxDeadCapacity = cacheTotalCapacity / 2;
-
- memoryCache()->setCapacities(cacheMinDeadCapacity, cacheMaxDeadCapacity, cacheTotalCapacity);
-#endif
-}
-
-} // WebCore
diff --git a/Source/WebKit/blackberry/WebCoreSupport/CacheClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/CacheClientBlackBerry.h
deleted file mode 100644
index 248c447a1..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/CacheClientBlackBerry.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2010, 2011 Research In Motion Limited. 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
- * 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 CacheClientBlackBerry_h
-#define CacheClientBlackBerry_h
-
-namespace WebCore {
-
-class CacheClientBlackBerry {
-public:
- static CacheClientBlackBerry* get();
-
- void initialize();
- void updateCacheCapacity();
-
-private:
- CacheClientBlackBerry();
-};
-
-} // WebCore
-
-#endif // CacheClientBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp
deleted file mode 100644
index 1de912734..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp
+++ /dev/null
@@ -1,807 +0,0 @@
-/*
- * Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "ChromeClientBlackBerry.h"
-
-#include "BackingStore.h"
-#include "BackingStoreClient.h"
-#include "BackingStore_p.h"
-#include "ColorChooser.h"
-#include "DatabaseManager.h"
-#include "Document.h"
-#include "DumpRenderTreeClient.h"
-#include "DumpRenderTreeSupport.h"
-#include "FileChooser.h"
-#include "FileIconLoader.h"
-#include "Frame.h"
-#include "FrameLoadRequest.h"
-#include "FrameLoader.h"
-#include "Geolocation.h"
-#include "GeolocationClientBlackBerry.h"
-#include "GraphicsLayer.h"
-#include "HTMLInputElement.h"
-#include "HTMLNames.h"
-#include "HitTestResult.h"
-#include "Icon.h"
-#include "InputHandler.h"
-#include "KURL.h"
-#include "Node.h"
-#include "NotImplemented.h"
-#include "Page.h"
-#include "PageGroup.h"
-#include "PageGroupLoadDeferrer.h"
-#include "PopupMenuBlackBerry.h"
-#include "RenderView.h"
-#include "SVGZoomAndPan.h"
-#include "SearchPopupMenuBlackBerry.h"
-#include "SecurityOrigin.h"
-#include "Settings.h"
-#include "SharedPointer.h"
-#include "ViewportArguments.h"
-#include "WebPage.h"
-#include "WebPageClient.h"
-#include "WebPage_p.h"
-#include "WebPopupType.h"
-#include "WebSettings.h"
-#include "WindowFeatures.h"
-
-#include <BlackBerryPlatformLog.h>
-#include <BlackBerryPlatformSettings.h>
-#include <BlackBerryPlatformString.h>
-#include <BlackBerryPlatformWindow.h>
-#include <network/DomainTools.h>
-
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
-
-#define DEBUG_OVERFLOW_DETECTION 0
-
-using namespace BlackBerry::WebKit;
-
-using BlackBerry::Platform::Graphics::Window;
-
-namespace WebCore {
-
-static CString toOriginString(Frame* frame)
-{
- return frame->document()->securityOrigin()->toString().latin1();
-}
-
-ChromeClientBlackBerry::ChromeClientBlackBerry(WebPagePrivate* pagePrivate)
- : m_webPagePrivate(pagePrivate)
-{
-}
-
-void ChromeClientBlackBerry::addMessageToConsole(MessageSource, MessageLevel, const String& message, unsigned lineNumber, unsigned columnNumber, const String& sourceID)
-{
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (m_webPagePrivate->m_dumpRenderTree) {
- m_webPagePrivate->m_dumpRenderTree->addMessageToConsole(message, lineNumber, columnNumber, sourceID);
- return;
- }
-#endif
-
- m_webPagePrivate->m_client->addMessageToConsole(message.characters(), message.length(), sourceID.characters(), sourceID.length(), lineNumber, columnNumber);
-}
-
-void ChromeClientBlackBerry::runJavaScriptAlert(Frame* frame, const String& message)
-{
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (m_webPagePrivate->m_dumpRenderTree) {
- m_webPagePrivate->m_dumpRenderTree->runJavaScriptAlert(message);
- return;
- }
-#endif
-
- TimerBase::fireTimersInNestedEventLoop();
- CString latinOrigin = toOriginString(frame);
- m_webPagePrivate->m_client->runJavaScriptAlert(message.characters(), message.length(), latinOrigin.data(), latinOrigin.length());
-}
-
-bool ChromeClientBlackBerry::runJavaScriptConfirm(Frame* frame, const String& message)
-{
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (m_webPagePrivate->m_dumpRenderTree)
- return m_webPagePrivate->m_dumpRenderTree->runJavaScriptConfirm(message);
-#endif
-
- TimerBase::fireTimersInNestedEventLoop();
- CString latinOrigin = toOriginString(frame);
- return m_webPagePrivate->m_client->runJavaScriptConfirm(message.characters(), message.length(), latinOrigin.data(), latinOrigin.length());
-}
-
-bool ChromeClientBlackBerry::runJavaScriptPrompt(Frame* frame, const String& message, const String& defaultValue, String& result)
-{
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (m_webPagePrivate->m_dumpRenderTree) {
- result = m_webPagePrivate->m_dumpRenderTree->runJavaScriptPrompt(message, defaultValue);
- return true;
- }
-#endif
-
- TimerBase::fireTimersInNestedEventLoop();
- CString latinOrigin = toOriginString(frame);
- BlackBerry::Platform::String clientResult;
- if (m_webPagePrivate->m_client->runJavaScriptPrompt(message.characters(), message.length(), defaultValue.characters(), defaultValue.length(), latinOrigin.data(), latinOrigin.length(), clientResult)) {
- result = clientResult;
- return true;
- }
- return false;
-}
-
-void ChromeClientBlackBerry::chromeDestroyed()
-{
- delete this;
-}
-
-void ChromeClientBlackBerry::setWindowRect(const FloatRect&)
-{
- // The window dimensions are fixed in the RIM port.
-}
-
-FloatRect ChromeClientBlackBerry::windowRect()
-{
- IntSize windowSize;
-
- if (Window* window = m_webPagePrivate->m_client->window())
- windowSize = window->windowSize();
-
- // Use logical (density-independent) pixels instead of physical screen pixels.
- FloatRect rect = FloatRect(0, 0, windowSize.width(), windowSize.height());
- if (!m_webPagePrivate->m_page->settings()->applyDeviceScaleFactorInCompositor())
- rect.scale(1 / m_webPagePrivate->m_page->deviceScaleFactor());
- return rect;
-}
-
-FloatRect ChromeClientBlackBerry::pageRect()
-{
- notImplemented();
- return FloatRect();
-}
-
-float ChromeClientBlackBerry::scaleFactor()
-{
- return 1;
-}
-
-void ChromeClientBlackBerry::focus()
-{
- notImplemented();
-}
-
-void ChromeClientBlackBerry::unfocus()
-{
- notImplemented();
-}
-
-bool ChromeClientBlackBerry::canTakeFocus(FocusDirection)
-{
- notImplemented();
- return false;
-}
-
-void ChromeClientBlackBerry::takeFocus(FocusDirection)
-{
- notImplemented();
-}
-
-void ChromeClientBlackBerry::focusedNodeChanged(Node*)
-{
- m_webPagePrivate->m_inputHandler->focusedNodeChanged();
-}
-
-void ChromeClientBlackBerry::focusedFrameChanged(Frame*)
-{
- // To be used by In-region backing store context switching.
-}
-
-bool ChromeClientBlackBerry::shouldForceDocumentStyleSelectorUpdate()
-{
- return !m_webPagePrivate->m_webSettings->isJavaScriptEnabled() && !m_webPagePrivate->m_inputHandler->processingChange();
-}
-
-Page* ChromeClientBlackBerry::createWindow(Frame* frame, const FrameLoadRequest& request, const WindowFeatures& features, const NavigationAction&)
-{
- // Bail out early when we aren't allowed to display the target origin, otherwise,
- // it would be harmful and the window would be useless. This is the same check
- // as the one in FrameLoader::loadFrameRequest().
- const KURL& url = request.resourceRequest().url();
- if (!request.requester()->canDisplay(url)) {
- frame->loader()->reportLocalLoadFailed(frame, url.string());
- return 0;
- }
-
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (m_webPagePrivate->m_dumpRenderTree && !m_webPagePrivate->m_dumpRenderTree->allowsOpeningWindow())
- return 0;
-#endif
-
- int x = features.xSet ? features.x : 0;
- int y = features.ySet ? features.y : 0;
- int width = features.widthSet? features.width : -1;
- int height = features.heightSet ? features.height : -1;
- unsigned flags = 0;
-
- if (features.menuBarVisible)
- flags |= WebPageClient::FlagWindowHasMenuBar;
- if (features.statusBarVisible)
- flags |= WebPageClient::FlagWindowHasStatusBar;
- if (features.toolBarVisible)
- flags |= WebPageClient::FlagWindowHasToolBar;
- if (features.locationBarVisible)
- flags |= WebPageClient::FlagWindowHasLocationBar;
- if (features.scrollbarsVisible)
- flags |= WebPageClient::FlagWindowHasScrollBar;
- if (features.resizable)
- flags |= WebPageClient::FlagWindowIsResizable;
- if (features.fullscreen)
- flags |= WebPageClient::FlagWindowIsFullScreen;
- if (features.dialog)
- flags |= WebPageClient::FlagWindowIsDialog;
-
- WebPage* webPage = m_webPagePrivate->m_client->createWindow(x, y, width, height, flags, url.string(), request.frameName(), frame->document()->url().string(), ScriptController::processingUserGesture());
- if (!webPage)
- return 0;
-
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->windowCreated(webPage);
-#endif
-
- return webPage->d->m_page;
-}
-
-void ChromeClientBlackBerry::show()
-{
- notImplemented();
-}
-
-bool ChromeClientBlackBerry::canRunModal()
-{
- notImplemented();
- return false;
-}
-
-void ChromeClientBlackBerry::runModal()
-{
- notImplemented();
-}
-
-bool ChromeClientBlackBerry::selectItemWritingDirectionIsNatural()
-{
- return false;
-}
-
-bool ChromeClientBlackBerry::selectItemAlignmentFollowsMenuWritingDirection()
-{
- return true;
-}
-
-bool ChromeClientBlackBerry::hasOpenedPopup() const
-{
- return m_webPagePrivate->hasOpenedPopup();
-}
-
-PassRefPtr<PopupMenu> ChromeClientBlackBerry::createPopupMenu(PopupMenuClient* client) const
-{
- return adoptRef(new PopupMenuBlackBerry(client));
-}
-
-PassRefPtr<SearchPopupMenu> ChromeClientBlackBerry::createSearchPopupMenu(PopupMenuClient* client) const
-{
- return adoptRef(new SearchPopupMenuBlackBerry(client));
-}
-
-void ChromeClientBlackBerry::setToolbarsVisible(bool)
-{
- notImplemented();
-}
-
-bool ChromeClientBlackBerry::toolbarsVisible()
-{
- notImplemented();
- return false;
-}
-
-void ChromeClientBlackBerry::setStatusbarVisible(bool)
-{
- notImplemented();
-}
-
-bool ChromeClientBlackBerry::statusbarVisible()
-{
- notImplemented();
- return false;
-}
-
-void ChromeClientBlackBerry::setScrollbarsVisible(bool)
-{
- notImplemented();
-}
-
-bool ChromeClientBlackBerry::scrollbarsVisible()
-{
- notImplemented();
- return false;
-}
-
-void ChromeClientBlackBerry::setMenubarVisible(bool)
-{
- notImplemented();
-}
-
-bool ChromeClientBlackBerry::menubarVisible()
-{
- notImplemented();
- return false;
-}
-
-void ChromeClientBlackBerry::setResizable(bool)
-{
- notImplemented();
-}
-
-bool ChromeClientBlackBerry::canRunBeforeUnloadConfirmPanel()
-{
- return true;
-}
-
-bool ChromeClientBlackBerry::runBeforeUnloadConfirmPanel(const String& message, Frame* frame)
-{
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (m_webPagePrivate->m_dumpRenderTree)
- return m_webPagePrivate->m_dumpRenderTree->runBeforeUnloadConfirmPanel(message);
-#endif
-
- TimerBase::fireTimersInNestedEventLoop();
- CString latinOrigin = toOriginString(frame);
- return m_webPagePrivate->m_client->runBeforeUnloadConfirmPanel(message.characters(), message.length(), latinOrigin.data(), latinOrigin.length());
-}
-
-void ChromeClientBlackBerry::closeWindowSoon()
-{
- if (m_webPagePrivate->m_page->openedByDOM())
- m_webPagePrivate->m_client->scheduleCloseWindow();
-}
-
-void ChromeClientBlackBerry::setStatusbarText(const String& status)
-{
- m_webPagePrivate->m_client->setStatus(status);
-
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->setStatusText(status);
-#endif
-}
-
-IntRect ChromeClientBlackBerry::windowResizerRect() const
-{
- notImplemented();
- return IntRect();
-}
-
-IntPoint ChromeClientBlackBerry::screenToRootView(const IntPoint& screenPos) const
-{
- IntPoint windowPoint;
- if (Window* window = m_webPagePrivate->m_client->window())
- windowPoint = window->windowLocation();
-
- windowPoint.move(-screenPos.x(), -screenPos.y());
- return windowPoint;
-}
-
-IntRect ChromeClientBlackBerry::rootViewToScreen(const IntRect& windowRect) const
-{
- IntRect windowPoint(windowRect);
- IntPoint location;
- if (Window* window = m_webPagePrivate->m_client->window())
- location = window->windowLocation();
-
- windowPoint.move(location.x(), location.y());
- return windowPoint;
-}
-
-void ChromeClientBlackBerry::mouseDidMoveOverElement(const HitTestResult&, unsigned)
-{
- notImplemented();
-}
-
-void ChromeClientBlackBerry::setToolTip(const String& tooltip, TextDirection)
-{
- m_webPagePrivate->m_client->setToolTip(tooltip);
-}
-
-#if ENABLE(EVENT_MODE_METATAGS)
-void ChromeClientBlackBerry::didReceiveCursorEventMode(Frame* frame, CursorEventMode mode) const
-{
- if (m_webPagePrivate->m_mainFrame != frame)
- return;
-
- m_webPagePrivate->didReceiveCursorEventMode(mode);
-}
-
-void ChromeClientBlackBerry::didReceiveTouchEventMode(Frame* frame, TouchEventMode mode) const
-{
- if (m_webPagePrivate->m_mainFrame != frame)
- return;
-
- m_webPagePrivate->didReceiveTouchEventMode(mode);
-}
-#endif
-
-void ChromeClientBlackBerry::dispatchViewportPropertiesDidChange(const ViewportArguments& arguments) const
-{
- m_webPagePrivate->dispatchViewportPropertiesDidChange(arguments);
-}
-
-void ChromeClientBlackBerry::print(Frame*)
-{
- notImplemented();
-}
-
-void ChromeClientBlackBerry::exceededDatabaseQuota(Frame* frame, const String& name, DatabaseDetails details)
-{
-#if ENABLE(SQL_DATABASE)
- Document* document = frame->document();
- if (!document)
- return;
-
- SecurityOrigin* origin = document->securityOrigin();
-
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (m_webPagePrivate->m_dumpRenderTree) {
- m_webPagePrivate->m_dumpRenderTree->exceededDatabaseQuota(origin, name);
- return;
- }
-#endif
-
- DatabaseManager& manager = DatabaseManager::manager();
-
- unsigned long long originUsage = manager.usageForOrigin(origin);
- unsigned long long currentQuota = manager.quotaForOrigin(origin);
-
- unsigned long long estimatedSize = details.expectedUsage();
- const String& nameStr = details.displayName();
-
- String originStr = origin->toString();
-
- unsigned long long quota = m_webPagePrivate->m_client->databaseQuota(originStr, nameStr, originUsage, currentQuota, estimatedSize);
-
- manager.setQuota(origin, quota);
-#endif
-}
-
-void ChromeClientBlackBerry::runOpenPanel(Frame*, PassRefPtr<FileChooser> chooser)
-{
- SharedArray<BlackBerry::Platform::String> initialFiles;
- unsigned numberOfInitialFiles = chooser->settings().selectedFiles.size();
- if (numberOfInitialFiles > 0)
- initialFiles.reset(new BlackBerry::Platform::String[numberOfInitialFiles], numberOfInitialFiles);
- for (unsigned i = 0; i < numberOfInitialFiles; ++i)
- initialFiles[i] = chooser->settings().selectedFiles[i];
-
- SharedArray<BlackBerry::Platform::String> acceptMIMETypes;
- unsigned numberOfTypes = chooser->settings().acceptMIMETypes.size();
- if (numberOfTypes > 0)
- acceptMIMETypes.reset(new BlackBerry::Platform::String[numberOfTypes], numberOfTypes);
- for (unsigned i = 0; i < numberOfTypes; ++i)
- acceptMIMETypes[i] = chooser->settings().acceptMIMETypes[i];
-
- BlackBerry::Platform::String capture;
-#if ENABLE(MEDIA_CAPTURE)
- capture = chooser->settings().capture;
-#endif
-
- SharedArray<BlackBerry::Platform::String> chosenFiles;
-
- {
- PageGroupLoadDeferrer deferrer(m_webPagePrivate->m_page, true);
- TimerBase::fireTimersInNestedEventLoop();
-
- if (!m_webPagePrivate->m_client->chooseFilenames(chooser->settings().allowsMultipleFiles, acceptMIMETypes, initialFiles, capture, chosenFiles))
- return;
- }
-
- Vector<String> files(chosenFiles.length());
- for (unsigned i = 0; i < chosenFiles.length(); ++i)
- files[i] = chosenFiles[i];
- chooser->chooseFiles(files);
-}
-
-void ChromeClientBlackBerry::loadIconForFiles(const Vector<String>& filenames, FileIconLoader* loader)
-{
- loader->notifyFinished(Icon::createIconForFiles(filenames));
-}
-
-void ChromeClientBlackBerry::setCursor(const Cursor&)
-{
- notImplemented();
-}
-
-void ChromeClientBlackBerry::formStateDidChange(const Node* node)
-{
- m_webPagePrivate->m_inputHandler->nodeTextChanged(node);
-}
-
-void ChromeClientBlackBerry::scrollbarsModeDidChange() const
-{
- notImplemented();
-}
-
-void ChromeClientBlackBerry::contentsSizeChanged(Frame* frame, const IntSize& size) const
-{
- if (frame != m_webPagePrivate->m_mainFrame)
- return;
-
- m_webPagePrivate->contentsSizeChanged(size);
-}
-
-void ChromeClientBlackBerry::invalidateRootView(const IntRect& updateRect, bool immediate)
-{
- m_webPagePrivate->m_backingStore->d->repaint(updateRect, false /*contentChanged*/, immediate);
-}
-
-void ChromeClientBlackBerry::invalidateContentsAndRootView(const IntRect& updateRect, bool immediate)
-{
- m_webPagePrivate->m_backingStore->d->repaint(updateRect, true /*contentChanged*/, immediate);
-}
-
-void ChromeClientBlackBerry::invalidateContentsForSlowScroll(const IntSize& delta, const IntRect& updateRect, bool immediate, const ScrollView* scrollView)
-{
- if (scrollView != m_webPagePrivate->m_mainFrame->view())
- invalidateContentsAndRootView(updateRect, true /*immediate*/);
- else {
- BackingStoreClient* backingStoreClient = m_webPagePrivate->backingStoreClient();
- ASSERT(backingStoreClient);
- backingStoreClient->checkOriginOfCurrentScrollOperation();
-
- m_webPagePrivate->m_backingStore->d->slowScroll(delta, updateRect, immediate);
- }
-}
-
-void ChromeClientBlackBerry::scroll(const IntSize& delta, const IntRect& scrollViewRect, const IntRect& clipRect)
-{
- // FIXME: There's a chance the function is called indirectly by FrameView's dtor
- // when the Frame's view() is null. We probably want to fix it in another way, but
- // at this moment let's do a quick fix.
- if (!m_webPagePrivate->m_mainFrame->view())
- return;
-
- BackingStoreClient* backingStoreClient = m_webPagePrivate->backingStoreClient();
- ASSERT(backingStoreClient);
- backingStoreClient->checkOriginOfCurrentScrollOperation();
-
- m_webPagePrivate->m_backingStore->d->scroll(delta, scrollViewRect, clipRect);
-
- // Shift the spell check dialog box as we scroll.
- m_webPagePrivate->m_inputHandler->redrawSpellCheckDialogIfRequired();
-}
-
-void ChromeClientBlackBerry::scrollableAreasDidChange()
-{
- typedef HashSet<ScrollableArea*> ScrollableAreaSet;
- const ScrollableAreaSet* scrollableAreas = m_webPagePrivate->m_mainFrame->view()->scrollableAreas();
-
- bool hasAtLeastOneInRegionScrollableArea = false;
- ScrollableAreaSet::iterator end = scrollableAreas->end();
- for (ScrollableAreaSet::iterator it = scrollableAreas->begin(); it != end; ++it) {
- if ((*it) != m_webPagePrivate->m_page->mainFrame()->view()) {
- hasAtLeastOneInRegionScrollableArea = true;
- break;
- }
- }
-
- m_webPagePrivate->setHasInRegionScrollableAreas(hasAtLeastOneInRegionScrollableArea);
-}
-
-void ChromeClientBlackBerry::scrollRectIntoView(const IntRect&, const ScrollView*) const
-{
- m_webPagePrivate->notifyTransformedScrollChanged();
-}
-
-bool ChromeClientBlackBerry::shouldInterruptJavaScript()
-{
- TimerBase::fireTimersInNestedEventLoop();
- return m_webPagePrivate->m_client->shouldInterruptJavaScript();
-}
-
-KeyboardUIMode ChromeClientBlackBerry::keyboardUIMode()
-{
- bool tabsToLinks = true;
-
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (m_webPagePrivate->m_dumpRenderTree)
- tabsToLinks = DumpRenderTreeSupport::linksIncludedInFocusChain();
-#endif
-
- return tabsToLinks ? KeyboardAccessTabsToLinks : KeyboardAccessDefault;
-}
-
-PlatformPageClient ChromeClientBlackBerry::platformPageClient() const
-{
- return m_webPagePrivate;
-}
-
-#if ENABLE(TOUCH_EVENTS)
-void ChromeClientBlackBerry::needTouchEvents(bool)
-{
-}
-#endif
-
-void ChromeClientBlackBerry::reachedMaxAppCacheSize(int64_t)
-{
- notImplemented();
-}
-
-void ChromeClientBlackBerry::layoutUpdated(Frame* frame) const
-{
- if (frame != m_webPagePrivate->m_mainFrame)
- return;
-
- m_webPagePrivate->layoutFinished();
-}
-
-void ChromeClientBlackBerry::overflowExceedsContentsSize(Frame* frame) const
-{
- if (frame != m_webPagePrivate->m_mainFrame)
- return;
-
-#if DEBUG_OVERFLOW_DETECTION
- BlackBerry::Platform::logAlways(BlackBerry::Platform::LogLevelInfo,
- "ChromeClientBlackBerry::overflowExceedsContentsSize contents=%s overflow=%f x %f",
- BlackBerry::Platform::IntRect(frame->contentRenderer()->documentRect()).toString().c_str(),
- frame->contentRenderer()->rightAbsoluteVisibleOverflow().toFloat(),
- frame->contentRenderer()->bottomAbsoluteVisibleOverflow().toFloat());
-#endif
- m_webPagePrivate->overflowExceedsContentsSize();
-}
-
-void ChromeClientBlackBerry::didDiscoverFrameSet(Frame* frame) const
-{
- if (frame != m_webPagePrivate->m_mainFrame)
- return;
-
- BBLOG(BlackBerry::Platform::LogLevelInfo, "ChromeClientBlackBerry::didDiscoverFrameSet");
- if (m_webPagePrivate->loadState() == WebPagePrivate::Committed) {
- m_webPagePrivate->setShouldUseFixedDesktopMode(true);
- m_webPagePrivate->zoomToInitialScaleOnLoad();
- }
-}
-
-int ChromeClientBlackBerry::reflowWidth() const
-{
- return m_webPagePrivate->reflowWidth();
-}
-
-void ChromeClientBlackBerry::chooseIconForFiles(const Vector<String>&, FileChooser*)
-{
- notImplemented();
-}
-
-bool ChromeClientBlackBerry::supportsFullscreenForNode(const Node* node)
-{
- return node->hasTagName(HTMLNames::videoTag);
-}
-
-void ChromeClientBlackBerry::enterFullscreenForNode(Node* node)
-{
- if (!supportsFullscreenForNode(node))
- return;
-
- m_webPagePrivate->enterFullscreenForNode(node);
-}
-
-void ChromeClientBlackBerry::exitFullscreenForNode(Node* node)
-{
- m_webPagePrivate->exitFullscreenForNode(node);
-}
-
-#if ENABLE(FULLSCREEN_API)
-bool ChromeClientBlackBerry::supportsFullScreenForElement(const WebCore::Element*, bool)
-{
- return true;
-}
-
-void ChromeClientBlackBerry::enterFullScreenForElement(WebCore::Element* element)
-{
- element->document()->webkitWillEnterFullScreenForElement(element);
- m_webPagePrivate->enterFullScreenForElement(element);
- element->document()->webkitDidEnterFullScreenForElement(element);
- m_fullScreenElement = element;
-}
-
-void ChromeClientBlackBerry::exitFullScreenForElement(WebCore::Element*)
-{
- // The element passed into this function is not reliable, i.e. it could
- // be null. In addition the parameter may be disappearing in the future.
- // So we use the reference to the element we saved above.
- ASSERT(m_fullScreenElement);
- m_fullScreenElement->document()->webkitWillExitFullScreenForElement(m_fullScreenElement.get());
- m_webPagePrivate->exitFullScreenForElement(m_fullScreenElement.get());
- m_fullScreenElement->document()->webkitDidExitFullScreenForElement(m_fullScreenElement.get());
- m_fullScreenElement.clear();
-}
-
-void ChromeClientBlackBerry::fullScreenRendererChanged(RenderBox*)
-{
- m_webPagePrivate->adjustFullScreenElementDimensionsIfNeeded();
-}
-#endif
-
-#if ENABLE(SVG)
-void ChromeClientBlackBerry::didSetSVGZoomAndPan(Frame* frame, unsigned short zoomAndPan)
-{
- // For top-level SVG document, there is no viewport tag, we use viewport's user-scalable
- // to enable/disable zoom when top-level SVG document's zoomAndPan changed. Because there is no viewport
- // tag, other fields with default value in ViewportArguments are ok.
- if (frame == m_webPagePrivate->m_page->mainFrame()) {
- ViewportArguments arguments;
- switch (zoomAndPan) {
- case SVGZoomAndPan::SVG_ZOOMANDPAN_DISABLE:
- arguments.userZoom = 0;
- break;
- case SVGZoomAndPan::SVG_ZOOMANDPAN_MAGNIFY:
- arguments.userZoom = 1;
- break;
- default:
- return;
- }
- didReceiveViewportArguments(frame, arguments);
- }
-}
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
-void ChromeClientBlackBerry::attachRootGraphicsLayer(Frame* frame, GraphicsLayer* graphicsLayer)
-{
- // If the graphicsLayer parameter is 0, WebCore is actually
- // trying to remove a previously attached layer.
- m_webPagePrivate->setRootLayerWebKitThread(frame, graphicsLayer ? graphicsLayer->platformLayer() : 0);
-}
-
-void ChromeClientBlackBerry::setNeedsOneShotDrawingSynchronization()
-{
- m_webPagePrivate->setNeedsOneShotDrawingSynchronization();
-}
-
-void ChromeClientBlackBerry::scheduleCompositingLayerFlush()
-{
- m_webPagePrivate->scheduleRootLayerCommit();
-}
-
-bool ChromeClientBlackBerry::allowsAcceleratedCompositing() const
-{
- return true;
-}
-#endif
-
-PassOwnPtr<ColorChooser> ChromeClientBlackBerry::createColorChooser(ColorChooserClient*, const Color&)
-{
- return nullptr;
-}
-
-#if ENABLE(REQUEST_ANIMATION_FRAME) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
-void ChromeClientBlackBerry::scheduleAnimation()
-{
- m_webPagePrivate->scheduleAnimation();
-}
-#endif
-
-} // namespace WebCore
diff --git a/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h
deleted file mode 100644
index b39e90196..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 ChromeClientBlackBerry_h
-#define ChromeClientBlackBerry_h
-
-#include "ChromeClient.h"
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-}
-}
-
-namespace WebCore {
-
-class ChromeClientBlackBerry : public ChromeClient {
-public:
- ChromeClientBlackBerry(BlackBerry::WebKit::WebPagePrivate*);
-
- virtual void chromeDestroyed();
- virtual void setWindowRect(const FloatRect&);
- virtual FloatRect windowRect();
- virtual FloatRect pageRect();
- virtual float scaleFactor();
- virtual void focus();
- virtual void unfocus();
- virtual bool canTakeFocus(FocusDirection);
- virtual void takeFocus(FocusDirection);
- virtual void focusedNodeChanged(Node*);
- virtual void focusedFrameChanged(Frame*);
- virtual bool shouldForceDocumentStyleSelectorUpdate();
- virtual Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&, const NavigationAction&);
- virtual void show();
- virtual bool canRunModal();
- virtual void runModal();
- virtual void setToolbarsVisible(bool);
- virtual bool toolbarsVisible();
- virtual void setStatusbarVisible(bool);
- virtual bool statusbarVisible();
- virtual void setScrollbarsVisible(bool);
- virtual bool scrollbarsVisible();
- virtual void setMenubarVisible(bool);
- virtual bool menubarVisible();
- virtual void setResizable(bool);
- virtual void addMessageToConsole(MessageSource, MessageLevel, const String& message, unsigned lineNumber, unsigned columnNumber, const String& sourceID);
- virtual bool canRunBeforeUnloadConfirmPanel();
- virtual bool runBeforeUnloadConfirmPanel(const String&, Frame*);
- virtual void closeWindowSoon();
- virtual void runJavaScriptAlert(Frame*, const String&);
- virtual bool runJavaScriptConfirm(Frame*, const String&);
- virtual bool runJavaScriptPrompt(Frame*, const String&, const String&, String&);
- virtual void setStatusbarText(const String&);
- virtual bool shouldInterruptJavaScript();
- virtual KeyboardUIMode keyboardUIMode();
- virtual IntRect windowResizerRect() const;
- virtual void invalidateRootView(const IntRect&, bool);
- virtual void invalidateContentsAndRootView(const IntRect&, bool);
- virtual void invalidateContentsForSlowScroll(const IntSize&, const IntRect&, bool, const ScrollView*);
- virtual void scroll(const IntSize&, const IntRect&, const IntRect&);
- virtual void scrollableAreasDidChange();
- virtual IntPoint screenToRootView(const IntPoint&) const;
- virtual IntRect rootViewToScreen(const IntRect&) const;
- virtual void contentsSizeChanged(Frame*, const IntSize&) const;
- virtual void scrollRectIntoView(const IntRect&, const ScrollView*) const;
- virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned);
- virtual void setToolTip(const String&, TextDirection);
-#if ENABLE(EVENT_MODE_METATAGS)
- virtual void didReceiveCursorEventMode(Frame*, CursorEventMode) const;
- virtual void didReceiveTouchEventMode(Frame*, TouchEventMode) const;
-#endif
- virtual void dispatchViewportPropertiesDidChange(const ViewportArguments&) const;
- virtual bool shouldRubberBandInDirection(ScrollDirection) const { return true; }
- virtual void numWheelEventHandlersChanged(unsigned) { }
- virtual void print(Frame*);
- virtual void exceededDatabaseQuota(Frame*, const String&, DatabaseDetails);
- virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>);
- virtual void loadIconForFiles(const Vector<String>&, FileIconLoader*);
- virtual void setCursor(const Cursor&);
- virtual void setCursorHiddenUntilMouseMoves(bool) { }
- virtual void formStateDidChange(const Node*);
- virtual void scrollbarsModeDidChange() const;
- virtual PlatformPageClient platformPageClient() const;
-
-#if ENABLE(TOUCH_EVENTS)
- virtual void needTouchEvents(bool);
-#endif
-
-#if ENABLE(INPUT_TYPE_COLOR)
- virtual PassOwnPtr<ColorChooser> createColorChooser(ColorChooserClient*, const Color&);
- void openColorChooser(ColorChooser*, const Color&) { }
- void cleanupColorChooser(ColorChooser*) { }
- void setSelectedColorInColorChooser(ColorChooser*, const Color&) { }
-#endif
-
- virtual void reachedMaxAppCacheSize(int64_t spaceNeeded);
- virtual void reachedApplicationCacheOriginQuota(SecurityOrigin*, int64_t) { }
-
- virtual void layoutUpdated(Frame*) const;
- virtual void overflowExceedsContentsSize(Frame*) const;
- virtual void didDiscoverFrameSet(Frame*) const;
-
- virtual int reflowWidth() const;
-
- virtual void chooseIconForFiles(const Vector<String>&, FileChooser*);
-
- virtual bool supportsFullscreenForNode(const Node*);
- virtual void enterFullscreenForNode(Node*);
- virtual void exitFullscreenForNode(Node*);
-#if ENABLE(FULLSCREEN_API)
- virtual bool supportsFullScreenForElement(const Element*, bool withKeyboard);
- virtual void enterFullScreenForElement(Element*);
- virtual void exitFullScreenForElement(Element*);
- virtual void fullScreenRendererChanged(RenderBox*);
-#endif
-
-#if ENABLE(SVG)
- virtual void didSetSVGZoomAndPan(Frame*, unsigned short zoomAndPan);
-#endif
- virtual bool selectItemWritingDirectionIsNatural();
- virtual bool selectItemAlignmentFollowsMenuWritingDirection();
- virtual bool hasOpenedPopup() const;
- virtual PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const;
- virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const;
-
-#if USE(ACCELERATED_COMPOSITING)
- virtual void attachRootGraphicsLayer(Frame*, GraphicsLayer*);
- virtual void setNeedsOneShotDrawingSynchronization();
- virtual void scheduleCompositingLayerFlush();
- virtual bool allowsAcceleratedCompositing() const;
-#endif
-
-#if ENABLE(REQUEST_ANIMATION_FRAME) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
- virtual void scheduleAnimation();
-#endif
-
- BlackBerry::WebKit::WebPagePrivate* webPagePrivate() const { return m_webPagePrivate; }
-
-private:
- BlackBerry::WebKit::WebPagePrivate* m_webPagePrivate;
- RefPtr<WebCore::Element> m_fullScreenElement;
-};
-
-} // WebCore
-
-#endif // ChromeClientBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/CredentialManager.cpp b/Source/WebKit/blackberry/WebCoreSupport/CredentialManager.cpp
deleted file mode 100644
index 41690bdfe..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/CredentialManager.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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"
-
-#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
-#include "CredentialManager.h"
-
-#include "CredentialBackingStore.h"
-#include "CredentialTransformData.h"
-#include "HTMLFormElement.h"
-#include "KURL.h"
-#include "Logging.h"
-#include "PageClientBlackBerry.h"
-
-#include <BlackBerryPlatformString.h>
-
-namespace WebCore {
-
-CredentialManager& credentialManager()
-{
- static CredentialManager *credentialManager = 0;
- if (!credentialManager)
- credentialManager = new CredentialManager();
- return *credentialManager;
-}
-
-void CredentialManager::autofillAuthenticationChallenge(const ProtectionSpace& protectionSpace, BlackBerry::Platform::String& username, BlackBerry::Platform::String& password)
-{
- if (credentialBackingStore().hasNeverRemember(protectionSpace))
- return;
-
- Credential savedCredential = credentialBackingStore().getLogin(protectionSpace);
- username = savedCredential.user();
- password = savedCredential.password();
-}
-
-void CredentialManager::autofillPasswordForms(PassRefPtr<HTMLCollection> docForms)
-{
- ASSERT(docForms);
-
- RefPtr<HTMLCollection> forms = docForms;
- size_t sourceLength = forms->length();
- for (size_t i = 0; i < sourceLength; ++i) {
- Node* node = forms->item(i);
- if (node && node->isHTMLElement()) {
- CredentialTransformData data(toHTMLFormElement(node));
- if (!data.isValid() || !credentialBackingStore().hasLogin(data.protectionSpace()))
- continue;
- Credential savedCredential = credentialBackingStore().getLogin(data.protectionSpace());
- data.setCredential(savedCredential);
- }
- }
-}
-
-void CredentialManager::saveCredentialIfConfirmed(PageClientBlackBerry* pageClient, const CredentialTransformData& data)
-{
- ASSERT(pageClient);
-
- if (!data.isValid() || data.credential().isEmpty() || credentialBackingStore().hasNeverRemember(data.protectionSpace()))
- return;
-
- Credential savedCredential = credentialBackingStore().getLogin(data.protectionSpace());
- if (savedCredential == data.credential())
- return;
-
- PageClientBlackBerry::SaveCredentialType type = pageClient->notifyShouldSaveCredential(savedCredential.isEmpty());
- if (type == PageClientBlackBerry::SaveCredentialYes) {
- if (savedCredential.isEmpty())
- credentialBackingStore().addLogin(data.protectionSpace(), data.credential());
- else
- credentialBackingStore().updateLogin(data.protectionSpace(), data.credential());
- } else if (type == PageClientBlackBerry::SaveCredentialNeverForThisSite) {
- credentialBackingStore().addNeverRemember(data.protectionSpace());
- credentialBackingStore().removeLogin(data.protectionSpace(), data.credential().user());
- }
-}
-
-void CredentialManager::clearCredentials()
-{
- credentialBackingStore().clearLogins();
-}
-
-void CredentialManager::clearNeverRememberSites()
-{
- credentialBackingStore().clearNeverRemember();
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
diff --git a/Source/WebKit/blackberry/WebCoreSupport/CredentialManager.h b/Source/WebKit/blackberry/WebCoreSupport/CredentialManager.h
deleted file mode 100644
index 51d1817a1..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/CredentialManager.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 CredentialManager_h
-#define CredentialManager_h
-
-#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
-
-#include "HTMLCollection.h"
-#include <wtf/PassRefPtr.h>
-
-class PageClientBlackBerry;
-
-namespace BlackBerry {
-namespace Platform {
-class String;
-}
-}
-
-namespace WebCore {
-class KURL;
-class ProtectionSpace;
-class CredentialTransformData;
-
-class CredentialManager {
-public:
- void autofillAuthenticationChallenge(const ProtectionSpace&, BlackBerry::Platform::String& username, BlackBerry::Platform::String& password);
- void autofillPasswordForms(PassRefPtr<HTMLCollection> docForms);
- void saveCredentialIfConfirmed(PageClientBlackBerry*, const CredentialTransformData&);
- void clearCredentials();
- void clearNeverRememberSites();
-
-private:
- friend CredentialManager& credentialManager();
- CredentialManager() { }
-};
-
-CredentialManager& credentialManager();
-
-} // WebCore
-
-#endif // ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
-
-#endif // CredentialManager_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.cpp b/Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.cpp
deleted file mode 100644
index 8e3df40bb..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.cpp
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
- * Copyright (C) 2012 Research In Motion Limited. 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.
- */
-
- /*
- * This methods are based on Chromium codes in
- * Source/WebKit/chromium/src/WebPasswordFormUtils.cpp
- */
-
-#include "config.h"
-#include "CredentialTransformData.h"
-
-#include "HTMLInputElement.h"
-#include "KURL.h"
-#include <wtf/Vector.h>
-
-namespace WebCore {
-
-namespace {
-// Maximum number of password fields we will observe before throwing our
-// hands in the air and giving up with a given form.
-static const size_t maxPasswords = 3;
-
-// Helper method to clear url of unneeded parts.
-KURL stripURL(const KURL& url)
-{
- KURL strippedURL = url;
- strippedURL.setUser(String());
- strippedURL.setPass(String());
- strippedURL.setQuery(String());
- strippedURL.setFragmentIdentifier(String());
- return strippedURL;
-}
-
-} // namespace
-
-CredentialTransformData::CredentialTransformData()
- : m_userNameElement(0)
- , m_passwordElement(0)
- , m_oldPasswordElement(0)
- , m_isValid(false)
-{
-}
-
-CredentialTransformData::CredentialTransformData(HTMLFormElement* form, bool isForSaving)
- : m_userNameElement(0)
- , m_passwordElement(0)
- , m_oldPasswordElement(0)
- , m_isValid(false)
-{
- ASSERT(form);
-
- // Get the document URL
- KURL fullOrigin(ParsedURLString, form->document()->documentURI());
-
- // Calculate the canonical action URL
- String action = form->action();
- if (action.isNull())
- action = ""; // missing 'action' attribute implies current URL
- KURL fullAction = form->document()->completeURL(action);
- if (!fullAction.isValid())
- return;
-
- if (!findPasswordFormFields(form))
- return;
-
- // Won't restore password if there're two password inputs on the page.
- if (!isForSaving && m_oldPasswordElement)
- return;
-
- KURL url = stripURL(fullOrigin);
- m_action = stripURL(fullAction);
- m_protectionSpace = ProtectionSpace(url.host(), url.port(), ProtectionSpaceServerHTTP, "Form", ProtectionSpaceAuthenticationSchemeHTMLForm);
- m_credential = Credential(m_userNameElement->value(), m_passwordElement->value(), CredentialPersistencePermanent);
-
- m_isValid = true;
-}
-
-CredentialTransformData::CredentialTransformData(const ProtectionSpace& protectionSpace, const Credential& credential)
- : m_protectionSpace(protectionSpace)
- , m_credential(credential)
- , m_userNameElement(0)
- , m_passwordElement(0)
- , m_oldPasswordElement(0)
- , m_isValid(true)
-{
-}
-
-Credential CredentialTransformData::credential() const
-{
- if (m_credential.isEmpty() && m_userNameElement && m_passwordElement)
- return m_credential = Credential(m_userNameElement->value(), m_passwordElement->value(), CredentialPersistencePermanent);
- return m_credential;
-}
-
-void CredentialTransformData::setCredential(const Credential& credential)
-{
- if (!m_isValid)
- return;
-
- m_credential = credential;
- m_userNameElement->setValue(credential.user());
- m_userNameElement->setAutofilled();
- m_passwordElement->setValue(credential.password());
- m_passwordElement->setAutofilled();
-}
-
-bool CredentialTransformData::findPasswordFormFields(const HTMLFormElement* form)
-{
- ASSERT(form);
-
- int firstPasswordIndex = 0;
- // First, find the password fields and activated submit button.
- const Vector<FormAssociatedElement*>& formElements = form->associatedElements();
- Vector<HTMLInputElement*> passwords;
- for (size_t i = 0; i < formElements.size(); i++) {
- if (!formElements[i]->isFormControlElement())
- continue;
- HTMLFormControlElement* formElement = static_cast<HTMLFormControlElement*>(formElements[i]);
- if (!isHTMLInputElement(formElement))
- continue;
-
- HTMLInputElement* inputElement = formElement->toInputElement();
- if (inputElement->isDisabledFormControl())
- continue;
-
- if ((passwords.size() < maxPasswords)
- && inputElement->isPasswordField()
- && inputElement->shouldAutocomplete()) {
- if (passwords.isEmpty())
- firstPasswordIndex = i;
- passwords.append(inputElement);
- }
- }
-
- if (!passwords.isEmpty()) {
- // Then, search backwards for the username field.
- for (int i = firstPasswordIndex - 1; i >= 0; i--) {
- if (!formElements[i]->isFormControlElement())
- continue;
- HTMLFormControlElement* formElement = static_cast<HTMLFormControlElement*>(formElements[i]);
- if (!isHTMLInputElement(formElement))
- continue;
-
- HTMLInputElement* inputElement = formElement->toInputElement();
- if (inputElement->isDisabledFormControl())
- continue;
-
- // Various input types such as text, url, email can be a username field.
- if ((inputElement->isTextField() && !inputElement->isPasswordField())
- && (inputElement->shouldAutocomplete())) {
- m_userNameElement = inputElement;
- break;
- }
- }
- }
- if (!m_userNameElement)
- return false;
-
- if (!locateSpecificPasswords(passwords))
- return false;
- return true;
-}
-
-// Helper method to determine which password is the main one, and which is
-// an old password (e.g on a "make new password" form), if any.
-bool CredentialTransformData::locateSpecificPasswords(const Vector<HTMLInputElement*>& passwords)
-{
- switch (passwords.size()) {
- case 1:
- // Single password, easy.
- m_passwordElement = passwords[0];
- break;
- case 2:
- if (passwords[0]->value() == passwords[1]->value())
- // Treat two identical passwords as a single password.
- m_passwordElement = passwords[0];
- else {
- // Assume first is old password, second is new (no choice but to guess).
- m_oldPasswordElement = passwords[0];
- m_passwordElement = passwords[1];
- }
- break;
- case 3:
- if (passwords[0]->value() == passwords[1]->value()
- && passwords[0]->value() == passwords[2]->value()) {
- // All three passwords the same? Just treat as one and hope.
- m_passwordElement = passwords[0];
- } else if (passwords[0]->value() == passwords[1]->value()) {
- // Two the same and one different -> old password is duplicated one.
- m_oldPasswordElement = passwords[0];
- m_passwordElement = passwords[2];
- } else if (passwords[1]->value() == passwords[2]->value()) {
- m_oldPasswordElement = passwords[0];
- m_passwordElement = passwords[1];
- } else {
- // Three different passwords, or first and last match with middle
- // different. No idea which is which, so no luck.
- return false;
- }
- break;
- default:
- return false;
- }
- return true;
-}
-
-} // namespace WebCore
diff --git a/Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.h b/Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.h
deleted file mode 100644
index 6dee7edbf..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 CredentialTransformData_h
-#define CredentialTransformData_h
-
-#include "Credential.h"
-#include "HTMLFormElement.h"
-#include "HTMLInputElement.h"
-#include "KURL.h"
-#include "ProtectionSpace.h"
-
-#include <wtf/RefPtr.h>
-
-namespace WebCore {
-
-struct CredentialTransformData {
- // If the provided form is suitable for password completion, isValid() will
- // return true;
- CredentialTransformData();
- CredentialTransformData(HTMLFormElement*, bool isForSaving = false);
- CredentialTransformData(const ProtectionSpace&, const Credential&);
-
- // If creation failed, return false.
- bool isValid() const { return m_isValid; }
-
- ProtectionSpace protectionSpace() const { return m_protectionSpace; }
- Credential credential() const;
- void setCredential(const Credential&);
-
-private:
- bool findPasswordFormFields(const HTMLFormElement*);
- bool locateSpecificPasswords(const Vector<HTMLInputElement*>& passwords);
-
- KURL m_action;
- ProtectionSpace m_protectionSpace;
- mutable Credential m_credential;
- RefPtr<HTMLInputElement> m_userNameElement;
- RefPtr<HTMLInputElement> m_passwordElement;
- RefPtr<HTMLInputElement> m_oldPasswordElement;
- bool m_isValid;
-};
-
-} // namespace WebCore
-
-#endif
diff --git a/Source/WebKit/blackberry/WebCoreSupport/DeviceMotionClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/DeviceMotionClientBlackBerry.cpp
deleted file mode 100644
index b826ba84c..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/DeviceMotionClientBlackBerry.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "DeviceMotionClientBlackBerry.h"
-
-#include "DeviceMotionController.h"
-#include "DeviceMotionData.h"
-#include "WebPage_p.h"
-#include <BlackBerryPlatformDeviceMotionTracker.h>
-
-using namespace WebCore;
-
-DeviceMotionClientBlackBerry::DeviceMotionClientBlackBerry(BlackBerry::WebKit::WebPagePrivate* webPagePrivate)
- : m_webPagePrivate(webPagePrivate)
- , m_tracker(0)
- , m_controller(0)
- , m_lastEventTime(0)
-{
-}
-
-DeviceMotionClientBlackBerry::~DeviceMotionClientBlackBerry()
-{
- if (m_tracker)
- m_tracker->destroy();
-}
-
-void DeviceMotionClientBlackBerry::setController(DeviceMotionController* controller)
-{
- m_controller = controller;
-}
-
-void DeviceMotionClientBlackBerry::deviceMotionControllerDestroyed()
-{
- delete this;
-}
-
-void DeviceMotionClientBlackBerry::startUpdating()
-{
- if (m_tracker)
- m_tracker->resume();
- else
- m_tracker = BlackBerry::Platform::DeviceMotionTracker::create(this);
-}
-
-void DeviceMotionClientBlackBerry::stopUpdating()
-{
- if (m_tracker)
- m_tracker->suspend();
-}
-
-DeviceMotionData* DeviceMotionClientBlackBerry::lastMotion() const
-{
- return m_currentMotion.get();
-}
-
-void DeviceMotionClientBlackBerry::onMotion(const BlackBerry::Platform::DeviceMotionEvent* event)
-{
- // All boolean parameters in the following create() calls indicate that if the following parameter is validly provided.
-
- RefPtr<DeviceMotionData::Acceleration> acceleration = DeviceMotionData::Acceleration::create(
- true, event->acceleration.x, true, event->acceleration.y, true, event->acceleration.z);
-
- RefPtr<DeviceMotionData::Acceleration> accelerationIncludingGravity = DeviceMotionData::Acceleration::create(
- true, event->accelerationIncludingGravity.x, true, event->accelerationIncludingGravity.y, true, event->accelerationIncludingGravity.z);
-
- RefPtr<DeviceMotionData::RotationRate> rotationRate = DeviceMotionData::RotationRate::create(
- true, event->rotationRate.alpha, true, event->rotationRate.beta, true, event->rotationRate.gamma);
-
- double now = WTF::currentTimeMS();
- m_currentMotion = DeviceMotionData::create(acceleration, accelerationIncludingGravity, rotationRate, m_lastEventTime, m_lastEventTime - now);
- m_lastEventTime = now;
-
- if (!m_controller)
- return;
-
- m_controller->didChangeDeviceMotion(lastMotion());
-}
diff --git a/Source/WebKit/blackberry/WebCoreSupport/DeviceMotionClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/DeviceMotionClientBlackBerry.h
deleted file mode 100644
index 9d467e082..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/DeviceMotionClientBlackBerry.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 DeviceMotionClientBlackBerry_h
-#define DeviceMotionClientBlackBerry_h
-
-#include "DeviceMotionClient.h"
-#include "DeviceMotionData.h"
-
-#include <BlackBerryPlatformDeviceMotionTrackerListener.h>
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-}
-}
-
-namespace BlackBerry {
-namespace Platform {
-class DeviceMotionTracker;
-}
-}
-
-namespace WebCore {
-
-class DeviceMotionClientBlackBerry : public DeviceMotionClient, public BlackBerry::Platform::DeviceMotionTrackerListener {
-public:
- DeviceMotionClientBlackBerry(BlackBerry::WebKit::WebPagePrivate*);
- ~DeviceMotionClientBlackBerry();
-
- virtual void setController(DeviceMotionController*);
- virtual void startUpdating();
- virtual void stopUpdating();
- virtual DeviceMotionData* lastMotion() const;
- virtual void deviceMotionControllerDestroyed();
- virtual void onMotion(const BlackBerry::Platform::DeviceMotionEvent*);
-
-private:
- BlackBerry::WebKit::WebPagePrivate* m_webPagePrivate;
- BlackBerry::Platform::DeviceMotionTracker* m_tracker;
- DeviceMotionController* m_controller;
- RefPtr<DeviceMotionData> m_currentMotion;
- double m_lastEventTime;
-};
-}
-
-#endif // DeviceMotionClientBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/DeviceOrientationClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/DeviceOrientationClientBlackBerry.cpp
deleted file mode 100644
index 8519b8fa3..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/DeviceOrientationClientBlackBerry.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "DeviceOrientationClientBlackBerry.h"
-
-#include "DeviceOrientationController.h"
-#include "WebPage_p.h"
-#include <BlackBerryPlatformDeviceOrientationTracker.h>
-
-using namespace WebCore;
-
-DeviceOrientationClientBlackBerry::DeviceOrientationClientBlackBerry(BlackBerry::WebKit::WebPagePrivate* webPagePrivate)
- : m_webPagePrivate(webPagePrivate)
- , m_tracker(0)
- , m_controller(0)
-{
-}
-
-DeviceOrientationClientBlackBerry::~DeviceOrientationClientBlackBerry()
-{
- if (m_tracker)
- m_tracker->destroy();
-}
-
-void DeviceOrientationClientBlackBerry::setController(DeviceOrientationController* controller)
-{
- m_controller = controller;
-}
-
-void DeviceOrientationClientBlackBerry::deviceOrientationControllerDestroyed()
-{
- delete this;
-}
-
-void DeviceOrientationClientBlackBerry::startUpdating()
-{
- if (m_tracker)
- m_tracker->resume();
- else
- m_tracker = BlackBerry::Platform::DeviceOrientationTracker::create(this);
-}
-
-void DeviceOrientationClientBlackBerry::stopUpdating()
-{
- if (m_tracker)
- m_tracker->suspend();
-}
-
-DeviceOrientationData* DeviceOrientationClientBlackBerry::lastOrientation() const
-{
- return m_currentOrientation.get();
-}
-
-void DeviceOrientationClientBlackBerry::onOrientation(const BlackBerry::Platform::DeviceOrientationEvent* event)
-{
- m_currentOrientation = DeviceOrientationData::create(true, event->alpha, true, event->beta, true, event->gamma);
- if (!m_controller)
- return;
-
- m_controller->didChangeDeviceOrientation(lastOrientation());
-}
diff --git a/Source/WebKit/blackberry/WebCoreSupport/DeviceOrientationClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/DeviceOrientationClientBlackBerry.h
deleted file mode 100644
index ca1dd9d4d..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/DeviceOrientationClientBlackBerry.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 DeviceOrientationClientBlackBerry_h
-#define DeviceOrientationClientBlackBerry_h
-
-#include "DeviceOrientationClient.h"
-#include "DeviceOrientationData.h"
-
-#include <BlackBerryPlatformDeviceOrientationTrackerListener.h>
-#include <wtf/RefPtr.h>
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-}
-}
-
-namespace BlackBerry {
-namespace Platform {
-class DeviceOrientationTracker;
-}
-}
-
-namespace WebCore {
-
-class DeviceOrientationClientBlackBerry : public DeviceOrientationClient, public BlackBerry::Platform::DeviceOrientationTrackerListener {
-public:
- DeviceOrientationClientBlackBerry(BlackBerry::WebKit::WebPagePrivate*);
- virtual ~DeviceOrientationClientBlackBerry();
-
- virtual void setController(DeviceOrientationController*);
- virtual void startUpdating();
- virtual void stopUpdating();
- virtual DeviceOrientationData* lastOrientation() const;
- virtual void deviceOrientationControllerDestroyed();
- virtual void onOrientation(const BlackBerry::Platform::DeviceOrientationEvent*);
-
-private:
- BlackBerry::WebKit::WebPagePrivate* m_webPagePrivate;
- BlackBerry::Platform::DeviceOrientationTracker* m_tracker;
- DeviceOrientationController* m_controller;
- RefPtr<DeviceOrientationData> m_currentOrientation;
-};
-}
-
-#endif // DeviceOrientationClientBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/DragClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/DragClientBlackBerry.cpp
deleted file mode 100644
index 8d3bafeb4..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/DragClientBlackBerry.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/
- * Copyright (C) 2011 Research In Motion Limited. 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
- * 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 "DragClientBlackBerry.h"
-
-#include "NotImplemented.h"
-
-namespace WebCore {
-
-void DragClientBlackBerry::willPerformDragDestinationAction(DragDestinationAction, DragData*)
-{
- notImplemented();
-}
-
-void DragClientBlackBerry::willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*)
-{
- notImplemented();
-}
-
-DragDestinationAction DragClientBlackBerry::actionMaskForDrag(DragData*)
-{
- notImplemented();
- return DragDestinationActionNone;
-}
-
-DragSourceAction DragClientBlackBerry::dragSourceActionMaskForPoint(const IntPoint&)
-{
- notImplemented();
- return DragSourceActionNone;
-}
-
-void DragClientBlackBerry::startDrag(void*, const IntPoint&, const IntPoint&, Clipboard*, Frame*, bool)
-{
- notImplemented();
-}
-
-void DragClientBlackBerry::dragControllerDestroyed()
-{
- delete this;
-}
-
-} // namespace WebCore
diff --git a/Source/WebKit/blackberry/WebCoreSupport/DragClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/DragClientBlackBerry.h
deleted file mode 100644
index 4442184b4..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/DragClientBlackBerry.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/
- * Copyright (C) 2011 Research In Motion Limited. 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
- * 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 DragClientBlackBerry_h
-#define DragClientBlackBerry_h
-
-#include "DragClient.h"
-
-namespace WebCore {
-
-class DragClientBlackBerry : public DragClient {
-public:
- virtual void willPerformDragDestinationAction(DragDestinationAction, DragData*);
- virtual void willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*);
- virtual DragDestinationAction actionMaskForDrag(DragData*);
- virtual DragSourceAction dragSourceActionMaskForPoint(const IntPoint&);
- virtual void startDrag(void* dragImage, const IntPoint& dragImageOrigin, const IntPoint& eventPos, Clipboard*, Frame*, bool linkDrag = false);
- virtual void dragControllerDestroyed();
-};
-
-} // WebCore
-
-#endif // DragClientBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.cpp
deleted file mode 100644
index 3bb71df4e..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.cpp
+++ /dev/null
@@ -1,640 +0,0 @@
-/*
- * Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "EditorClientBlackBerry.h"
-
-#include "AutofillManager.h"
-#include "DOMSupport.h"
-#include "DumpRenderTreeClient.h"
-#include "EditCommand.h"
-#include "Frame.h"
-#include "HTMLInputElement.h"
-#include "HTMLNames.h"
-#include "InputHandler.h"
-#include "KeyboardEvent.h"
-#include "NotImplemented.h"
-#include "Page.h"
-#include "PlatformKeyboardEvent.h"
-#include "SelectionHandler.h"
-#include "Settings.h"
-#include "SpellChecker.h"
-#include "WebPage_p.h"
-#include "WindowsKeyboardCodes.h"
-
-using namespace BlackBerry::WebKit;
-
-namespace WebCore {
-
-// Arbitrary depth limit for the undo stack, to keep it from using
-// unbounded memory. This is the maximum number of distinct undoable
-// actions -- unbroken stretches of typed characters are coalesced
-// into a single action only when not interrupted by string replacements
-// triggered by replaceText calls.
-static const size_t maximumUndoStackDepth = 1000;
-
-EditorClientBlackBerry::EditorClientBlackBerry(WebPagePrivate* webPagePrivate)
- : m_webPagePrivate(webPagePrivate)
- , m_waitingForCursorFocus(false)
- , m_spellCheckState(SpellCheckDefault)
- , m_inRedo(false)
-{
-}
-
-void EditorClientBlackBerry::pageDestroyed()
-{
- delete this;
-}
-
-bool EditorClientBlackBerry::shouldDeleteRange(Range* range)
-{
- if (m_webPagePrivate->m_dumpRenderTree)
- return m_webPagePrivate->m_dumpRenderTree->shouldDeleteDOMRange(range);
- return true;
-}
-
-bool EditorClientBlackBerry::smartInsertDeleteEnabled()
-{
- Page* page = WebPagePrivate::core(m_webPagePrivate->m_webPage);
- if (!page)
- return false;
- return page->settings()->smartInsertDeleteEnabled();
-}
-
-bool EditorClientBlackBerry::isSelectTrailingWhitespaceEnabled()
-{
- Page* page = WebPagePrivate::core(m_webPagePrivate->m_webPage);
- if (!page)
- return false;
- return page->settings()->selectTrailingWhitespaceEnabled();
-}
-
-void EditorClientBlackBerry::enableSpellChecking(bool enable)
-{
- m_spellCheckState = enable ? SpellCheckDefault : SpellCheckOff;
-}
-
-bool EditorClientBlackBerry::shouldSpellCheckFocusedField()
-{
- const Frame* frame = m_webPagePrivate->focusedOrMainFrame();
- if (!frame || !frame->document() || !frame->editor())
- return false;
-
- const Node* node = frame->document()->focusedElement();
- // NOTE: This logic is taken from EditorClientImpl::shouldSpellcheckByDefault
- // If |node| is null, we default to allowing spellchecking. This is done in
- // order to mitigate the issue when the user clicks outside the textbox, as a
- // result of which |node| becomes null, resulting in all the spell check
- // markers being deleted. Also, the Frame will decide not to do spellchecking
- // if the user can't edit - so returning true here will not cause any problems
- // to the Frame's behavior.
- if (!node)
- return true;
-
- // If the field does not support autocomplete, do not do spellchecking.
- if (node->isElementNode()) {
- const Element* element = toElement(node);
- if (isHTMLInputElement(element) && !DOMSupport::elementSupportsAutocomplete(element))
- return false;
- }
-
- // Check if the node disables spell checking directly.
- return frame->editor().isSpellCheckingEnabledInFocusedNode();
-}
-
-bool EditorClientBlackBerry::isContinuousSpellCheckingEnabled()
-{
- if (m_spellCheckState == SpellCheckOff)
- return false;
- if (m_spellCheckState == SpellCheckOn)
- return true;
- return shouldSpellCheckFocusedField();
-}
-
-void EditorClientBlackBerry::toggleContinuousSpellChecking()
-{
- // Use the current state to determine how to toggle, if it hasn't
- // been explicitly set, it will toggle based on the field type.
- if (isContinuousSpellCheckingEnabled())
- m_spellCheckState = SpellCheckOff;
- else
- m_spellCheckState = SpellCheckOn;
-}
-
-bool EditorClientBlackBerry::isGrammarCheckingEnabled()
-{
- notImplemented();
- return false;
-}
-
-void EditorClientBlackBerry::toggleGrammarChecking()
-{
- notImplemented();
-}
-
-int EditorClientBlackBerry::spellCheckerDocumentTag()
-{
- notImplemented();
- return 0;
-}
-
-bool EditorClientBlackBerry::shouldBeginEditing(Range* range)
-{
- if (m_webPagePrivate->m_dumpRenderTree)
- return m_webPagePrivate->m_dumpRenderTree->shouldBeginEditingInDOMRange(range);
-
- return true;
-}
-
-bool EditorClientBlackBerry::shouldEndEditing(Range* range)
-{
- if (m_webPagePrivate->m_dumpRenderTree)
- return m_webPagePrivate->m_dumpRenderTree->shouldEndEditingInDOMRange(range);
- return true;
-}
-
-bool EditorClientBlackBerry::shouldInsertNode(Node* node, Range* range, EditorInsertAction insertAction)
-{
- if (m_webPagePrivate->m_dumpRenderTree)
- return m_webPagePrivate->m_dumpRenderTree->shouldInsertNode(node, range, static_cast<int>(insertAction));
- return true;
-}
-
-bool EditorClientBlackBerry::shouldInsertText(const WTF::String& text, Range* range, EditorInsertAction insertAction)
-{
- if (m_webPagePrivate->m_dumpRenderTree)
- return m_webPagePrivate->m_dumpRenderTree->shouldInsertText(text, range, static_cast<int>(insertAction));
- return true;
-}
-
-bool EditorClientBlackBerry::shouldChangeSelectedRange(Range* fromRange, Range* toRange, EAffinity affinity, bool stillSelecting)
-{
- if (m_webPagePrivate->m_dumpRenderTree)
- return m_webPagePrivate->m_dumpRenderTree->shouldChangeSelectedDOMRangeToDOMRangeAffinityStillSelecting(fromRange, toRange, static_cast<int>(affinity), stillSelecting);
-
- Frame* frame = m_webPagePrivate->focusedOrMainFrame();
- if (frame && frame->document()) {
- if (Element* focusedElement = frame->document()->focusedElement()) {
- if (focusedElement->hasTagName(HTMLNames::selectTag))
- return false;
- if (DOMSupport::isPopupInputField(focusedElement))
- return false;
- }
-
- // Check if this change does not represent a focus change and input is active and if so ensure the keyboard is visible.
- if (m_webPagePrivate->m_inputHandler->isInputMode() && fromRange && toRange && (fromRange->startContainer() == toRange->startContainer()))
- m_webPagePrivate->m_inputHandler->notifyClientOfKeyboardVisibilityChange(true);
- }
-
- return true;
-}
-
-bool EditorClientBlackBerry::shouldApplyStyle(StylePropertySet*, Range*)
-{
- notImplemented();
- return true;
-}
-
-bool EditorClientBlackBerry::shouldMoveRangeAfterDelete(Range*, Range*)
-{
- notImplemented();
- return true;
-}
-
-void EditorClientBlackBerry::didBeginEditing()
-{
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didBeginEditing();
-}
-
-void EditorClientBlackBerry::respondToChangedContents()
-{
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didChange();
-}
-
-void EditorClientBlackBerry::respondToChangedSelection(Frame* frame)
-{
- if (m_waitingForCursorFocus)
- m_waitingForCursorFocus = false;
- else
- m_webPagePrivate->selectionChanged(frame);
-
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didChangeSelection();
-}
-
-void EditorClientBlackBerry::didEndEditing()
-{
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didEndEditing();
-}
-
-void EditorClientBlackBerry::respondToSelectionAppearanceChange()
-{
- m_webPagePrivate->m_selectionHandler->selectionPositionChanged();
-}
-
-void EditorClientBlackBerry::didWriteSelectionToPasteboard()
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::willWriteSelectionToPasteboard(WebCore::Range*)
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::getClientPasteboardDataForRange(WebCore::Range*, Vector<String>&, Vector<RefPtr<WebCore::SharedBuffer> >&)
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::didSetSelectionTypesForPasteboard()
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::registerUndoStep(PassRefPtr<UndoStep> step)
-{
- // Remove the oldest item if we've reached the maximum capacity for the stack.
- if (m_undoStack.size() == maximumUndoStackDepth)
- m_undoStack.removeFirst();
-
- if (!m_inRedo)
- m_redoStack.clear();
-
- m_undoStack.append(step);
-}
-
-void EditorClientBlackBerry::registerRedoStep(PassRefPtr<UndoStep> step)
-{
- m_redoStack.append(step);
-}
-
-void EditorClientBlackBerry::clearUndoRedoOperations()
-{
- m_undoStack.clear();
- m_redoStack.clear();
-}
-
-bool EditorClientBlackBerry::canUndo() const
-{
- return !m_undoStack.isEmpty();
-}
-
-bool EditorClientBlackBerry::canRedo() const
-{
- return !m_redoStack.isEmpty();
-}
-
-bool EditorClientBlackBerry::canCopyCut(Frame*, bool defaultValue) const
-{
- return defaultValue;
-}
-
-bool EditorClientBlackBerry::canPaste(Frame*, bool defaultValue) const
-{
- return defaultValue;
-}
-
-void EditorClientBlackBerry::undo()
-{
- if (canUndo()) {
- EditCommandStack::iterator back = --m_undoStack.end();
- RefPtr<UndoStep> command(*back);
- m_undoStack.remove(back);
-
- // Unapply will call us back to push this command onto the redo stack.
- command->unapply();
- }
-}
-
-void EditorClientBlackBerry::redo()
-{
- if (canRedo()) {
- EditCommandStack::iterator back = --m_redoStack.end();
- RefPtr<UndoStep> command(*back);
- m_redoStack.remove(back);
-
- ASSERT(!m_inRedo);
- m_inRedo = true;
-
- // Reapply will call us back to push this command onto the undo stack.
- command->reapply();
- m_inRedo = false;
- }
-}
-
-static const unsigned CtrlKey = 1 << 0;
-static const unsigned AltKey = 1 << 1;
-static const unsigned ShiftKey = 1 << 2;
-
-struct KeyDownEntry {
- unsigned virtualKey;
- unsigned modifiers;
- const char* name;
-};
-
-struct KeyPressEntry {
- unsigned charCode;
- unsigned modifiers;
- const char* name;
-};
-
-static const KeyDownEntry keyDownEntries[] = {
- { VK_LEFT, 0, "MoveLeft" },
- { VK_LEFT, ShiftKey, "MoveLeftAndModifySelection" },
- { VK_LEFT, CtrlKey, "MoveWordLeft" },
- { VK_LEFT, CtrlKey | ShiftKey, "MoveWordLeftAndModifySelection" },
- { VK_RIGHT, 0, "MoveRight" },
- { VK_RIGHT, ShiftKey, "MoveRightAndModifySelection" },
- { VK_RIGHT, CtrlKey, "MoveWordRight" },
- { VK_RIGHT, CtrlKey | ShiftKey, "MoveWordRightAndModifySelection" },
- { VK_UP, 0, "MoveUp" },
- { VK_UP, ShiftKey, "MoveUpAndModifySelection" },
- { VK_DOWN, 0, "MoveDown" },
- { VK_DOWN, ShiftKey, "MoveDownAndModifySelection" },
- { VK_PRIOR, 0, "MovePageUp" },
- { VK_PRIOR, ShiftKey, "MovePageUpAndModifySelection" },
- { VK_NEXT, 0, "MovePageDown" },
- { VK_NEXT, ShiftKey, "MovePageDownAndModifySelection" },
- { VK_HOME, 0, "MoveToBeginningOfLine" },
- { VK_HOME, ShiftKey, "MoveToBeginningOfLineAndModifySelection" },
- { VK_HOME, CtrlKey, "MoveToBeginningOfDocument" },
- { VK_HOME, CtrlKey | ShiftKey, "MoveToBeginningOfDocumentAndModifySelection" },
- { VK_END, 0, "MoveToEndOfLine" },
- { VK_END, ShiftKey, "MoveToEndOfLineAndModifySelection" },
- { VK_END, CtrlKey, "MoveToEndOfDocument" },
- { VK_END, CtrlKey | ShiftKey, "MoveToEndOfDocumentAndModifySelection" },
-
- { 'B', CtrlKey, "ToggleBold" },
- { 'I', CtrlKey, "ToggleItalic" },
- { 'U', CtrlKey, "ToggleUnderline" },
-
- { VK_BACK, 0, "DeleteBackward" },
- { VK_BACK, ShiftKey, "DeleteBackward" },
- { VK_DELETE, 0, "DeleteForward" },
- { VK_BACK, CtrlKey, "DeleteWordBackward" },
- { VK_DELETE, CtrlKey, "DeleteWordForward" },
-
- { 'C', CtrlKey, "Copy" },
- { 'V', CtrlKey, "Paste" },
- { 'V', CtrlKey | ShiftKey, "PasteAndMatchStyle" },
- { 'X', CtrlKey, "Cut" },
- { VK_INSERT, CtrlKey, "Copy" },
- { VK_DELETE, ShiftKey, "Cut" },
- { VK_INSERT, ShiftKey, "Paste" },
-
- { 'A', CtrlKey, "SelectAll" },
- { 'Z', CtrlKey, "Undo" },
- { 'Z', CtrlKey | ShiftKey, "Redo" },
- { 'Y', CtrlKey, "Redo" },
-};
-
-static const KeyPressEntry keyPressEntries[] = {
- { '\t', 0, "InsertTab" },
- { '\t', ShiftKey, "InsertBacktab" },
- { '\r', 0, "InsertNewline" },
- { '\r', CtrlKey, "InsertNewline" },
- { '\r', AltKey, "InsertNewline" },
- { '\r', ShiftKey, "InsertLineBreak" },
- { '\r', AltKey | ShiftKey, "InsertNewline" },
-};
-
-
-const char* EditorClientBlackBerry::interpretKeyEvent(const KeyboardEvent* event)
-{
- ASSERT(event->type() == eventNames().keydownEvent || event->type() == eventNames().keypressEvent);
-
- static HashMap<int, const char*>* keyDownCommandsMap = 0;
- static HashMap<int, const char*>* keyPressCommandsMap = 0;
-
- if (!keyDownCommandsMap) {
- keyDownCommandsMap = new HashMap<int, const char*>;
- keyPressCommandsMap = new HashMap<int, const char*>;
-
- for (size_t i = 0; i < WTF_ARRAY_LENGTH(keyDownEntries); ++i)
- keyDownCommandsMap->set(keyDownEntries[i].modifiers << 16 | keyDownEntries[i].virtualKey, keyDownEntries[i].name);
-
- for (size_t i = 0; i < WTF_ARRAY_LENGTH(keyPressEntries); ++i)
- keyPressCommandsMap->set(keyPressEntries[i].modifiers << 16 | keyPressEntries[i].charCode, keyPressEntries[i].name);
- }
-
- unsigned modifiers = 0;
- if (event->shiftKey())
- modifiers |= ShiftKey;
- if (event->altKey())
- modifiers |= AltKey;
- if (event->ctrlKey())
- modifiers |= CtrlKey;
-
- if (event->type() == eventNames().keydownEvent) {
- int mapKey = modifiers << 16 | event->keyCode();
- return mapKey ? keyDownCommandsMap->get(mapKey) : 0;
- }
-
- int mapKey = modifiers << 16 | event->charCode();
- return mapKey ? keyPressCommandsMap->get(mapKey) : 0;
-}
-
-void EditorClientBlackBerry::handleKeyboardEvent(KeyboardEvent* event)
-{
- ASSERT(event);
-
- const PlatformKeyboardEvent* platformEvent = event->keyEvent();
- if (!platformEvent)
- return;
-
- ASSERT(event->target()->toNode());
- Frame* frame = event->target()->toNode()->document()->frame();
- ASSERT(frame);
-
- String commandName = interpretKeyEvent(event);
-
- // Check to see we are not trying to insert text on key down.
- ASSERT(!(event->type() == eventNames().keydownEvent && frame->editor().command(commandName).isTextInsertion()));
-
- if (!commandName.isEmpty()) {
- // Hot key handling. Cancel processing mode.
- if (commandName != "DeleteBackward")
- m_webPagePrivate->m_inputHandler->setProcessingChange(false);
-
- if (frame->editor().command(commandName).execute())
- event->setDefaultHandled();
- return;
- }
-
- if (!frame->editor().canEdit())
- return;
-
- // Text insertion commands should only be triggered from keypressEvent.
- // There is an assert guaranteeing this in
- // EventHandler::handleTextInputEvent. Note that windowsVirtualKeyCode
- // is not set for keypressEvent: special keys should have been already
- // handled in keydownEvent, which is called first.
- if (event->type() != eventNames().keypressEvent)
- return;
-
- // Don't insert null or control characters as they can result in unexpected behaviour.
- if (event->charCode() < ' ')
- return;
-
- // Don't insert anything if a modifier is pressed.
- if (event->ctrlKey() || event->altKey())
- return;
-
- if (!platformEvent->text().isEmpty()) {
- if (frame->editor().insertText(platformEvent->text(), event))
- event->setDefaultHandled();
- }
-}
-
-void EditorClientBlackBerry::handleInputMethodKeydown(KeyboardEvent*)
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::textFieldDidBeginEditing(Element*)
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::textFieldDidEndEditing(Element* element)
-{
- if (m_webPagePrivate->m_webSettings->isFormAutofillEnabled()) {
- if (HTMLInputElement* inputElement = element->toInputElement())
- m_webPagePrivate->m_autofillManager->textFieldDidEndEditing(inputElement);
- }
-}
-
-void EditorClientBlackBerry::textDidChangeInTextField(Element* element)
-{
- if (m_webPagePrivate->m_webSettings->isFormAutofillEnabled()) {
- if (HTMLInputElement* inputElement = element->toInputElement())
- m_webPagePrivate->m_autofillManager->didChangeInTextField(inputElement);
- }
-}
-
-bool EditorClientBlackBerry::doTextFieldCommandFromEvent(Element*, KeyboardEvent*)
-{
- notImplemented();
- return false;
-}
-
-void EditorClientBlackBerry::textWillBeDeletedInTextField(Element*)
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::textDidChangeInTextArea(Element*)
-{
- notImplemented();
-}
-
-bool EditorClientBlackBerry::shouldEraseMarkersAfterChangeSelection(TextCheckingType) const
-{
- const Frame* frame = m_webPagePrivate->focusedOrMainFrame();
- return !frame || !frame->settings() || (!frame->settings()->asynchronousSpellCheckingEnabled() && !frame->settings()->unifiedTextCheckerEnabled());
-}
-
-void EditorClientBlackBerry::ignoreWordInSpellDocument(const WTF::String&)
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::learnWord(const WTF::String&)
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::checkSpellingOfString(const UChar*, int, int*, int*)
-{
- notImplemented();
-}
-
-WTF::String EditorClientBlackBerry::getAutoCorrectSuggestionForMisspelledWord(const WTF::String&)
-{
- notImplemented();
- return WTF::String();
-}
-
-void EditorClientBlackBerry::checkGrammarOfString(const UChar*, int, WTF::Vector<GrammarDetail, 0u>&, int*, int*)
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::requestCheckingOfString(PassRefPtr<TextCheckingRequest> textCheckingRequest)
-{
- RefPtr<SpellCheckRequest> spellCheckRequest = static_cast<SpellCheckRequest*>(textCheckingRequest.get());
- m_webPagePrivate->m_inputHandler->requestCheckingOfString(spellCheckRequest);
-}
-
-void EditorClientBlackBerry::checkTextOfParagraph(const UChar*, int, TextCheckingTypeMask, Vector<TextCheckingResult>&)
-{
- notImplemented();
-}
-
-TextCheckerClient* EditorClientBlackBerry::textChecker()
-{
- return this;
-}
-
-void EditorClientBlackBerry::updateSpellingUIWithGrammarString(const WTF::String&, const GrammarDetail&)
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::updateSpellingUIWithMisspelledWord(const WTF::String&)
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::showSpellingUI(bool)
-{
- notImplemented();
-}
-
-bool EditorClientBlackBerry::spellingUIIsShowing()
-{
- notImplemented();
- return false;
-}
-
-void EditorClientBlackBerry::getGuessesForWord(const WTF::String&, WTF::Vector<WTF::String, 0u>&)
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::getGuessesForWord(const String&, const String&, Vector<String>&)
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::willSetInputMethodState()
-{
- notImplemented();
-}
-
-void EditorClientBlackBerry::setInputMethodState(bool)
-{
- m_webPagePrivate->m_inputHandler->focusedNodeChanged();
-}
-
-} // namespace WebCore
diff --git a/Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.h
deleted file mode 100644
index 981915335..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 EditorClientBlackBerry_h
-#define EditorClientBlackBerry_h
-
-#include "EditorClient.h"
-#include "TextCheckerClient.h"
-
-#include <wtf/Deque.h>
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-}
-}
-
-namespace WebCore {
-
-class EditorClientBlackBerry : public EditorClient, public TextCheckerClient {
-public:
- EditorClientBlackBerry(BlackBerry::WebKit::WebPagePrivate*);
- virtual void pageDestroyed();
- virtual void frameWillDetachPage(Frame*) { }
- virtual bool shouldDeleteRange(Range*);
- virtual bool smartInsertDeleteEnabled();
- virtual bool isSelectTrailingWhitespaceEnabled();
- virtual bool isContinuousSpellCheckingEnabled();
- virtual void toggleContinuousSpellChecking();
- virtual bool isGrammarCheckingEnabled();
- virtual void toggleGrammarChecking();
- virtual int spellCheckerDocumentTag();
- virtual bool shouldBeginEditing(Range*);
- virtual bool shouldEndEditing(Range*);
- virtual bool shouldInsertNode(Node*, Range*, EditorInsertAction);
- virtual bool shouldInsertText(const String&, Range*, EditorInsertAction);
- virtual bool shouldChangeSelectedRange(Range*, Range*, EAffinity, bool);
- virtual bool shouldApplyStyle(StylePropertySet*, Range*);
- virtual bool shouldMoveRangeAfterDelete(Range*, Range*);
- virtual void didBeginEditing();
- virtual void respondToChangedContents();
- virtual void respondToChangedSelection(Frame*);
- virtual void respondToSelectionAppearanceChange();
- virtual void didEndEditing();
- virtual void willWriteSelectionToPasteboard(WebCore::Range*);
- virtual void didWriteSelectionToPasteboard();
- virtual void getClientPasteboardDataForRange(WebCore::Range*, Vector<String>& pasteboardTypes, Vector<RefPtr<WebCore::SharedBuffer> >& pasteboardData);
- virtual void didSetSelectionTypesForPasteboard();
- virtual void registerUndoStep(PassRefPtr<UndoStep>);
- virtual void registerRedoStep(PassRefPtr<UndoStep>);
- virtual void clearUndoRedoOperations();
- virtual bool canCopyCut(Frame*, bool) const;
- virtual bool canPaste(Frame*, bool) const;
- virtual bool canUndo() const;
- virtual bool canRedo() const;
- virtual void undo();
- virtual void redo();
- virtual const char* interpretKeyEvent(const KeyboardEvent*);
- virtual void handleKeyboardEvent(KeyboardEvent*);
- virtual void handleInputMethodKeydown(KeyboardEvent*);
- virtual void textFieldDidBeginEditing(Element*);
- virtual void textFieldDidEndEditing(Element*);
- virtual void textDidChangeInTextField(Element*);
- virtual bool doTextFieldCommandFromEvent(Element*, KeyboardEvent*);
- virtual void textWillBeDeletedInTextField(Element*);
- virtual void textDidChangeInTextArea(Element*);
- virtual bool shouldEraseMarkersAfterChangeSelection(TextCheckingType) const;
- virtual void ignoreWordInSpellDocument(const String&);
- virtual void learnWord(const String&);
- virtual void checkSpellingOfString(const UChar*, int, int*, int*);
- virtual String getAutoCorrectSuggestionForMisspelledWord(const String& misspelledWord);
- virtual void checkGrammarOfString(const UChar*, int, Vector<GrammarDetail, 0u>&, int*, int*);
- virtual void getGuessesForWord(const String&, const String&, Vector<String>&);
- virtual void requestCheckingOfString(WTF::PassRefPtr<WebCore::TextCheckingRequest>);
- virtual void checkTextOfParagraph(const UChar*, int, TextCheckingTypeMask, Vector<TextCheckingResult>&);
-
- virtual TextCheckerClient* textChecker();
- virtual void updateSpellingUIWithGrammarString(const String&, const GrammarDetail&);
- virtual void updateSpellingUIWithMisspelledWord(const String&);
- virtual void showSpellingUI(bool);
- virtual bool spellingUIIsShowing();
- virtual void getGuessesForWord(const String&, Vector<String, 0u>&);
- virtual void willSetInputMethodState();
- virtual void setInputMethodState(bool);
-
- void enableSpellChecking(bool);
-
-private:
- bool shouldSpellCheckFocusedField();
-
- BlackBerry::WebKit::WebPagePrivate* m_webPagePrivate;
- bool m_waitingForCursorFocus;
-
- enum SpellCheckState { SpellCheckDefault, SpellCheckOn, SpellCheckOff };
- SpellCheckState m_spellCheckState;
-
- bool m_inRedo;
-
- typedef Deque<RefPtr<WebCore::UndoStep> > EditCommandStack;
- EditCommandStack m_undoStack;
- EditCommandStack m_redoStack;
-};
-
-} // WebCore
-
-#endif // EditorClientBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp
deleted file mode 100644
index 529f8d96e..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp
+++ /dev/null
@@ -1,1363 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "FrameLoaderClientBlackBerry.h"
-
-#include "AboutData.h"
-#include "AutofillManager.h"
-#include "BackForwardController.h"
-#include "BackingStoreClient.h"
-#include "BackingStore_p.h"
-#include "BlobStream.h"
-#include "CredentialManager.h"
-#include "CredentialTransformData.h"
-#include "DumpRenderTreeClient.h"
-#include "FrameLoadRequest.h"
-#include "FrameNetworkingContextBlackBerry.h"
-#include "FrameView.h"
-#include "HTMLHeadElement.h"
-#include "HTMLLinkElement.h"
-#include "HTMLMediaElement.h"
-#include "HTMLMetaElement.h"
-#include "HTMLNames.h"
-#include "HTMLPlugInElement.h"
-#include "HTTPParsers.h"
-#include "HistoryController.h"
-#include "HistoryItem.h"
-#include "IconDatabase.h"
-#include "Image.h"
-#include "InputHandler.h"
-#include "MIMETypeRegistry.h"
-#include "NetworkManager.h"
-#include "NodeList.h"
-#include "PNGImageEncoder.h"
-#include "Page.h"
-#include "PluginDatabase.h"
-#include "PluginView.h"
-#include "ProgressTracker.h"
-#include "ResourceBuffer.h"
-#include "ScopePointer.h"
-#include "SelectionHandler.h"
-#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
-#include "Settings.h"
-#endif
-#include "SharedBuffer.h"
-#include "TextEncoding.h"
-#include "TouchEventHandler.h"
-#include "WebPageClient.h"
-
-#include <BlackBerryPlatformExecutableMessage.h>
-#include <BlackBerryPlatformLog.h>
-#include <BlackBerryPlatformMessageClient.h>
-#include <BlackBerryPlatformScreen.h>
-#include <BlackBerryPlatformStringBuilder.h>
-#include <JavaScriptCore/APICast.h>
-#include <TiledImage.h>
-#include <network/DataStream.h>
-#include <network/FilterStream.h>
-#include <network/NetworkRequest.h>
-#include <wtf/text/Base64.h>
-
-using WTF::String;
-using namespace WebCore;
-using namespace BlackBerry::WebKit;
-using BlackBerry::Platform::NetworkRequest;
-
-// This was copied from file "WebKit/Source/WebKit/mac/Misc/WebKitErrors.h".
-enum {
- WebKitErrorCannotShowMIMEType = 100,
- WebKitErrorCannotShowURL = 101,
- WebKitErrorFrameLoadInterruptedByPolicyChange = 102,
- WebKitErrorCannotUseRestrictedPort = 103,
- WebKitErrorCannotFindPlugIn = 200,
- WebKitErrorCannotLoadPlugIn = 201,
- WebKitErrorJavaUnavailable = 202,
- WebKitErrorPluginWillHandleLoad = 203
-};
-
-namespace WebCore {
-
-FrameLoaderClientBlackBerry::FrameLoaderClientBlackBerry()
- : m_frame(0)
- , m_webPagePrivate(0)
- , m_sentReadyToRender(false)
- , m_pendingFragmentScrollPolicyFunction(0)
- , m_loadingErrorPage(false)
- , m_clientRedirectIsPending(false)
- , m_childFrameCreationSuppressed(false)
- , m_pluginView(0)
- , m_hasSentResponseToPlugin(false)
- , m_cancelLoadOnNextData(false)
- , m_wasProvisionalLoadTriggeredByUserGesture(true) // To avoid affecting the first load.
-{
-}
-
-FrameLoaderClientBlackBerry::~FrameLoaderClientBlackBerry()
-{
-}
-
-int FrameLoaderClientBlackBerry::playerId() const
-{
- return m_webPagePrivate ? m_webPagePrivate->playerID() : 0;
-}
-
-bool FrameLoaderClientBlackBerry::cookiesEnabled() const
-{
- return m_webPagePrivate->m_webSettings->areCookiesEnabled();
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidChangeLocationWithinPage()
-{
- if (!isMainFrame())
- return;
-
- String url = m_frame->document()->url().string();
- String token = m_frame->loader()->documentLoader()->request().token();
-
- m_webPagePrivate->m_client->notifyLoadToAnchor(url.characters(), url.length(), token.characters(), token.length());
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidPushStateWithinPage()
-{
- // FIXME: As a workaround we abuse anchor navigation to achieve history push. See PR #119779 for more details.
- dispatchDidChangeLocationWithinPage();
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidReplaceStateWithinPage()
-{
- // FIXME: As a workaround we abuse anchor navigation to achieve history replace. See PR #119779 for more details.
- dispatchDidChangeLocationWithinPage();
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidPopStateWithinPage()
-{
- // Not needed.
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidCancelClientRedirect()
-{
- m_clientRedirectIsPending = false;
-}
-
-void FrameLoaderClientBlackBerry::dispatchWillPerformClientRedirect(const KURL&, double, double)
-{
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didDispatchWillPerformClientRedirect();
-
- m_clientRedirectIsPending = true;
-}
-
-void FrameLoaderClientBlackBerry::dispatchDecidePolicyForResponse(FramePolicyFunction function, const ResourceResponse& response, const ResourceRequest& request)
-{
- // FIXME: What should we do for HTTP status code 204 and 205 and "application/zip"?
- PolicyAction policy = PolicyIgnore;
-
- if (contentDispositionType(response.httpHeaderField("Content-Disposition")) == ContentDispositionAttachment
- || request.forceDownload())
- policy = PolicyDownload;
- else if (canShowMIMEType(response.mimeType()))
- policy = PolicyUse;
- else if (ResourceRequest::TargetIsMainFrame == request.targetType() && m_webPagePrivate->m_client->downloadAllowed(request.url().string()))
- policy = PolicyDownload;
-
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didDecidePolicyForResponse(response);
-
- (m_frame->loader()->policyChecker()->*function)(policy);
-}
-
-void FrameLoaderClientBlackBerry::dispatchDecidePolicyForNavigationAction(FramePolicyFunction function, const NavigationAction& action, const ResourceRequest& request, PassRefPtr<FormState>)
-{
- PolicyAction decision = PolicyIgnore;
-
- const KURL& url = request.url();
- if (!url.isNull()) {
- // Fragment scrolls on the same page should always be handled internally.
- // (Only count as a fragment scroll if we are scrolling to a #fragment url, not back to the top, and reloading
- // the same url is not a fragment scroll even if it has a #fragment.)
- const KURL& currentUrl = m_frame->document()->url();
- bool isFragmentScroll = url.hasFragmentIdentifier() && url != currentUrl && equalIgnoringFragmentIdentifier(currentUrl, url);
- decision = decidePolicyForExternalLoad(request, isFragmentScroll);
-
- // Let the client have a chance to say whether this navigation should be ignored or not.
- NetworkRequest platformRequest;
- request.initializePlatformRequest(platformRequest, cookiesEnabled());
- if (!platformRequest.getUrlRef().empty()) { // Some invalid URLs will result in empty URL in platformRequest
- if (platformRequest.getTargetType() == NetworkRequest::TargetIsUnknown)
- platformRequest.setTargetType(isMainFrame() ? NetworkRequest::TargetIsMainFrame : NetworkRequest::TargetIsSubframe);
-
- if (!m_webPagePrivate->m_client->acceptNavigationRequest(platformRequest, BlackBerry::Platform::NavigationType(action.type()))) {
- decision = PolicyIgnore;
- if (isMainFrame()) {
- if (action.type() == NavigationTypeFormSubmitted || action.type() == NavigationTypeFormResubmitted)
- m_frame->loader()->resetMultipleFormSubmissionProtection();
-
- if (action.type() == NavigationTypeLinkClicked && url.hasFragmentIdentifier()) {
- ResourceRequest emptyRequest;
- m_frame->loader()->activeDocumentLoader()->setLastCheckedRequest(emptyRequest);
- }
- }
- }
- }
- }
-
- // If we abort here, dispatchDidCancelClientRedirect will not be called.
- // So call it by hand.
- if (decision == PolicyIgnore)
- dispatchDidCancelClientRedirect();
-
- if (m_webPagePrivate->m_dumpRenderTree) {
- m_webPagePrivate->m_dumpRenderTree->didDecidePolicyForNavigationAction(action, request, m_frame);
- if (m_webPagePrivate->m_dumpRenderTree->policyDelegateEnabled())
- decision = m_webPagePrivate->m_dumpRenderTree->policyDelegateIsPermissive() ? PolicyUse : PolicyIgnore;
- }
-
- (m_frame->loader()->policyChecker()->*function)(decision);
-}
-
-void FrameLoaderClientBlackBerry::delayPolicyCheckUntilFragmentExists(const String& fragment, FramePolicyFunction function)
-{
- ASSERT(isMainFrame());
-
- if (m_webPagePrivate->loadState() < WebPagePrivate::Finished && !m_frame->document()->findAnchor(fragment)) {
- // Tell the client we need more data, in case the fragment exists but is being held back.
- m_webPagePrivate->m_client->needMoreData();
- m_pendingFragmentScrollPolicyFunction = function;
- m_pendingFragmentScroll = fragment;
- return;
- }
-
- (m_frame->loader()->policyChecker()->*function)(PolicyUse);
-}
-
-void FrameLoaderClientBlackBerry::cancelPolicyCheck()
-{
- m_pendingFragmentScrollPolicyFunction = 0;
- m_pendingFragmentScroll = String();
-}
-
-void FrameLoaderClientBlackBerry::doPendingFragmentScroll()
-{
- if (m_pendingFragmentScroll.isNull())
- return;
-
- // Make sure to clear the pending members first to avoid recursion.
- String fragment = m_pendingFragmentScroll;
- m_pendingFragmentScroll = String();
-
- FramePolicyFunction function = m_pendingFragmentScrollPolicyFunction;
- m_pendingFragmentScrollPolicyFunction = 0;
-
- delayPolicyCheckUntilFragmentExists(fragment, function);
-}
-
-void FrameLoaderClientBlackBerry::dispatchDecidePolicyForNewWindowAction(FramePolicyFunction function, const NavigationAction&, const ResourceRequest& request, PassRefPtr<FormState>, const String&)
-{
- if (ScriptController::processingUserGesture() && !m_webPagePrivate->m_pluginMayOpenNewTab) {
- (m_frame->loader()->policyChecker()->*function)(PolicyIgnore);
- return;
- }
-
- // A new window can never be a fragment scroll.
- PolicyAction decision = decidePolicyForExternalLoad(request, false);
- (m_frame->loader()->policyChecker()->*function)(decision);
-}
-
-void FrameLoaderClientBlackBerry::committedLoad(DocumentLoader* loader, const char* data, int length)
-{
- // The structure of this code may seem...a bit odd. It's structured with two checks on the state
- // of m_pluginView because it's actually receivedData that may cause the request to re-direct data
- // to a PluginView. This is because receivedData may decide to create a PluginDocument containing
- // a PluginView. The PluginView will request that the main resource for the frame be redirected
- // to the PluginView. So after receivedData has been called, this code needs to check whether
- // re-direction to a PluginView has been requested and pass the same data on to the PluginView.
- // Thereafter, all data will be re-directed to the PluginView; i.e., no additional data will go
- // to receivedData.
-
- if (!m_pluginView)
- receivedData(loader, data, length);
-
- if (m_pluginView) {
- if (!m_hasSentResponseToPlugin) {
- m_pluginView->didReceiveResponse(loader->response());
- m_hasSentResponseToPlugin = true;
- }
-
- if (!m_pluginView)
- return;
-
- m_pluginView->didReceiveData(data, length);
- }
-}
-
-bool FrameLoaderClientBlackBerry::shouldAlwaysUsePluginDocument(const String& mimeType) const
-{
- return mimeType == "application/x-shockwave-flash";
-}
-
-PassRefPtr<Widget> FrameLoaderClientBlackBerry::createPlugin(const IntSize& pluginSize,
- HTMLPlugInElement* element, const KURL& url, const Vector<String>& paramNames,
- const Vector<String>& paramValues, const String& mimeTypeIn, bool loadManually)
-{
- String mimeType(mimeTypeIn);
- if (mimeType.isEmpty()) {
- mimeType = MIMETypeRegistry::getMIMETypeForPath(url.path());
- mimeType = MIMETypeRegistry::getNormalizedMIMEType(mimeType);
- if (!shouldAlwaysUsePluginDocument(mimeType))
- mimeType = mimeTypeIn;
- }
-
- if (PluginDatabase::installedPlugins()->isMIMETypeRegistered(mimeType))
- return PluginView::create(m_frame, pluginSize, element, url, paramNames, paramValues, mimeType, loadManually);
-
- // This is not a plugin type that is currently supported or enabled. Try
- // to load the url directly. This check is performed to allow video and
- // audio to be referenced as the source of embed or object elements.
- // For media of this kind the mime type passed into this function
- // will generally be a valid media mime type, or it may be null. We
- // explicitly check for Flash content so it does not get rendered as
- // text at this point, producing garbled characters.
- if (!shouldAlwaysUsePluginDocument(mimeType) && m_frame->loader() && m_frame->loader()->subframeLoader() && !url.isNull())
- m_frame->loader()->subframeLoader()->requestFrame(element, url, String());
-
- return 0;
-}
-
-void FrameLoaderClientBlackBerry::redirectDataToPlugin(Widget* pluginWidget)
-{
- m_pluginView = toPluginView(pluginWidget);
- if (pluginWidget)
- m_hasSentResponseToPlugin = false;
-}
-
-void FrameLoaderClientBlackBerry::receivedData(DocumentLoader* loader, const char* data, int length)
-{
- if (!m_frame)
- return;
-
- if (m_cancelLoadOnNextData) {
- m_frame->loader()->activeDocumentLoader()->stopLoading();
- m_frame->loader()->documentLoader()->writer()->end();
- m_cancelLoadOnNextData = false;
- return;
- }
-
- // The encoder now checks the override encoding and sets everything on our behalf.
- loader->commitData(data, length);
-}
-
-void FrameLoaderClientBlackBerry::finishedLoading(DocumentLoader*)
-{
- if (m_pluginView) {
- if (m_hasSentResponseToPlugin)
- m_pluginView->didFinishLoading();
- m_pluginView = 0;
- m_hasSentResponseToPlugin = false;
- }
-}
-
-PassRefPtr<DocumentLoader> FrameLoaderClientBlackBerry::createDocumentLoader(const ResourceRequest& request, const SubstituteData& substituteData)
-{
- // Make a copy of the request with the token from the original request for this frame
- // (unless it already has a token, in which case the request came from the client).
- ResourceRequest newRequest(request);
- if (m_frame && m_frame->loader() && m_frame->loader()->documentLoader()) {
- const ResourceRequest& originalRequest = m_frame->loader()->documentLoader()->originalRequest();
- if (request.token().isNull() && !originalRequest.token().isNull())
- newRequest.setToken(originalRequest.token());
- }
-
- SubstituteData substituteDataLocal = substituteData;
- if (isMainFrame()) {
- String source;
- if (request.url().protocolIs("about")) {
- // The first 6 letters is "about:"
- String aboutWhat = request.url().string().substring(6);
- source = aboutData(aboutWhat);
- }
-
- if (!source.isEmpty()) {
- // Always ignore existing substitute data if any.
- WTF::RefPtr<SharedBuffer> buffer = SharedBuffer::create(source.is8Bit() ? reinterpret_cast<const char*>(source.characters8()) : source.latin1().data(), source.length());
- substituteDataLocal = SubstituteData(buffer, "text/html", "latin1", KURL());
- }
- }
-
- // FIXME: This should probably be shared.
- RefPtr<DocumentLoader> loader = DocumentLoader::create(newRequest, substituteDataLocal);
- if (substituteDataLocal.isValid())
- loader->setDeferMainResourceDataLoad(false);
- return loader.release();
-}
-
-void FrameLoaderClientBlackBerry::frameLoaderDestroyed()
-{
- delete this;
-}
-
-void FrameLoaderClientBlackBerry::transitionToCommittedForNewPage()
-{
- m_cancelLoadOnNextData = false;
-
- // In Frame::createView, Frame's FrameView object is set to 0 and recreated.
- // This operation is not atomic, and an attempt to blit contents might happen
- // in the backing store from another thread (see BackingStorePrivate::blitVisibleContents method),
- // so we suspend and resume screen update to make sure we do not get a invalid FrameView
- // state.
- if (isMainFrame() && m_webPagePrivate->backingStoreClient()) {
- // FIXME: Do we really need to suspend/resume both backingstore and screen here?
- m_webPagePrivate->backingStoreClient()->backingStore()->d->suspendBackingStoreUpdates();
- m_webPagePrivate->backingStoreClient()->backingStore()->d->suspendScreenUpdates();
- }
-
- // We are navigating away from this document, so clean up any footprint we might have.
- if (m_frame->document())
- m_webPagePrivate->clearDocumentData(m_frame->document());
-
- Color backgroundColor(m_webPagePrivate->m_webSettings->backgroundColor());
-
- m_frame->createView(m_webPagePrivate->viewportSize(), /* viewport */
- backgroundColor, /* background color */
- backgroundColor.hasAlpha(), /* is transparent */
- m_webPagePrivate->actualVisibleSize(), /* fixed reported size */
- m_webPagePrivate->fixedLayoutSize(), /* fixed layout size */
- IntRect(), /* fixed visible content rect */
- m_webPagePrivate->useFixedLayout(), /* use fixed layout */
- ScrollbarAlwaysOff, /* hor mode */
- true, /* lock the mode */
- ScrollbarAlwaysOff, /* ver mode */
- true); /* lock the mode */
-
- if (isMainFrame() && m_webPagePrivate->backingStoreClient()) {
- // FIXME: Do we really need to suspend/resume both backingstore and screen here?
- m_webPagePrivate->backingStoreClient()->backingStore()->d->resumeBackingStoreUpdates();
- m_webPagePrivate->backingStoreClient()->backingStore()->d->resumeScreenUpdates(BackingStore::None);
- }
-
- m_frame->view()->updateCanHaveScrollbars();
-
- if (isMainFrame()) {
- // Since the mainframe has a tiled backingstore request to receive all update
- // rects instead of the default which just sends update rects for currently
- // visible viewport.
- m_frame->view()->setPaintsEntireContents(true);
- }
-}
-
-String FrameLoaderClientBlackBerry::userAgent(const KURL&)
-{
- return m_webPagePrivate->m_webSettings->userAgentString();
-}
-
-bool FrameLoaderClientBlackBerry::canHandleRequest(const ResourceRequest&) const
-{
- // FIXME: Stub.
- return true;
-}
-
-bool FrameLoaderClientBlackBerry::canShowMIMEType(const String& mimeTypeIn) const
-{
- // Get normalized type.
- String mimeType = MIMETypeRegistry::getNormalizedMIMEType(mimeTypeIn);
-
- // FIXME: Seems no other port checks empty MIME type in this function. Should we do that?
- return MIMETypeRegistry::canShowMIMEType(mimeType)
- || WebSettings::isSupportedObjectMIMEType(mimeType)
- || (mimeType == "application/x-shockwave-flash");
-}
-
-bool FrameLoaderClientBlackBerry::canShowMIMETypeAsHTML(const String&) const
-{
- // FIXME: Stub.
- return true;
-}
-
-bool FrameLoaderClientBlackBerry::isMainFrame() const
-{
- return m_webPagePrivate && m_frame == m_webPagePrivate->m_mainFrame;
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidStartProvisionalLoad()
-{
- if (isMainFrame())
- m_webPagePrivate->setLoadState(WebPagePrivate::Provisional);
-
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didStartProvisionalLoadForFrame(m_frame);
-
- m_wasProvisionalLoadTriggeredByUserGesture = ScriptController::processingUserGesture();
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidReceiveResponse(DocumentLoader*, unsigned long, const ResourceResponse& response)
-{
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didReceiveResponseForFrame(m_frame, response);
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidReceiveTitle(const StringWithDirection& title)
-{
- if (isMainFrame())
- m_webPagePrivate->m_client->setPageTitle(title.string().characters(), title.string().length());
-
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didReceiveTitleForFrame(title.string(), m_frame);
-}
-
-void FrameLoaderClientBlackBerry::setTitle(const StringWithDirection& /*title*/, const KURL& /*url*/)
-{
- // Used by Apple WebKit to update the title of an existing history item.
- // QtWebKit doesn't accomodate this on history items. If it ever does,
- // it should be privateBrowsing-aware. For now, we are just passing
- // globalhistory layout tests.
- // FIXME: Use direction of title.
- notImplemented();
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidCommitLoad()
-{
- // FIXME: Do we need to find a replacement for m_frame->document()->setExtraLayoutDelay(250);?
-
- if (isMainFrame()) {
- m_webPagePrivate->setLoadState(WebPagePrivate::Committed);
-
- String originalUrl = m_frame->loader()->documentLoader()->originalRequest().url().string();
- String url = m_frame->loader()->documentLoader()->request().url().string();
- String token = m_frame->loader()->documentLoader()->request().token();
-
- // Notify the client that the load succeeded or failed (if it failed, this
- // is actually committing the error page, which was set through
- // SubstituteData in dispatchDidFailProvisionalLoad).
- if (m_loadingErrorPage) {
- m_loadingErrorPage = false;
- if (HistoryItem* item = m_frame->loader()->history()->currentItem())
- item->viewState().shouldSaveViewState = false;
- m_webPagePrivate->m_client->notifyLoadFailedBeforeCommit(
- originalUrl.characters(), originalUrl.length(),
- url.characters(), url.length(), token.characters(), token.length());
- } else {
- m_webPagePrivate->m_client->notifyLoadCommitted(
- originalUrl.characters(), originalUrl.length(),
- url.characters(), url.length(), token.characters(), token.length());
- HistoryItem* currentItem = m_frame->loader()->history()->currentItem();
- if (currentItem && currentItem->isInPageCache())
- dispatchDidReceiveIcon();
- }
- }
-
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didCommitLoadForFrame(m_frame);
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents()
-{
- // Onload event handler may have detached the frame from the page.
- if (!m_frame->page())
- return;
-
- m_webPagePrivate->m_client->notifyDocumentOnLoad(isMainFrame());
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didHandleOnloadEventsForFrame(m_frame);
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidFinishLoad()
-{
- didFinishOrFailLoading(ResourceError());
-
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didFinishLoadForFrame(m_frame);
-
- if (!isMainFrame() || m_webPagePrivate->m_webSettings->isEmailMode()
- || !m_frame->document() || !m_frame->document()->head())
- return;
-
- HTMLHeadElement* headElement = m_frame->document()->head();
- // FIXME: Handle NOSCRIPT special case?
-
- // Process document metadata.
- RefPtr<NodeList> nodeList = headElement->getElementsByTagName(HTMLNames::metaTag.localName());
- unsigned size = nodeList->length();
- ScopeArray<BlackBerry::Platform::String> headers;
-
- // This may allocate more space than needed since not all meta elements will be http-equiv.
- headers.reset(new BlackBerry::Platform::String[2 * size]);
- unsigned headersLength = 0;
-
- for (unsigned i = 0; i < size; ++i) {
- HTMLMetaElement* metaElement = static_cast<HTMLMetaElement*>(nodeList->item(i));
- if (WTF::equalIgnoringCase(metaElement->name(), "apple-mobile-web-app-capable")
- && WTF::equalIgnoringCase(metaElement->content().stripWhiteSpace(), "yes"))
- m_webPagePrivate->m_client->setWebAppCapable();
- else {
- String httpEquiv = metaElement->httpEquiv().stripWhiteSpace();
- String content = metaElement->content().stripWhiteSpace();
-
- if (!httpEquiv.isNull() && !content.isNull()) {
- headers[headersLength++] = httpEquiv;
- headers[headersLength++] = content;
- }
- }
- }
-
- if (headersLength > 0)
- m_webPagePrivate->m_client->setMetaHeaders(headers, headersLength);
-
- nodeList = headElement->getElementsByTagName(HTMLNames::linkTag.localName());
- size = nodeList->length();
-
- for (unsigned i = 0; i < size; ++i) {
- HTMLLinkElement* linkElement = static_cast<HTMLLinkElement*>(nodeList->item(i));
- String href = linkElement->href().string();
- if (!href.isEmpty()) {
- String title = linkElement->title();
-
- if (WTF::equalIgnoringCase(linkElement->rel(), "apple-touch-icon"))
- m_webPagePrivate->m_client->setLargeIcon(href);
- else if (WTF::equalIgnoringCase(linkElement->rel(), "search")) {
- if (WTF::equalIgnoringCase(linkElement->type(), "application/opensearchdescription+xml"))
- m_webPagePrivate->m_client->setSearchProviderDetails(title, href);
- } else if (WTF::equalIgnoringCase(linkElement->rel(), "alternate")
- && (WTF::equalIgnoringCase(linkElement->type(), "application/rss+xml")
- || WTF::equalIgnoringCase(linkElement->type(), "application/atom+xml")))
- m_webPagePrivate->m_client->setAlternateFeedDetails(title, href);
- }
- }
-
-#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
- if (m_webPagePrivate->m_webSettings->isFormAutofillEnabled()
- && m_webPagePrivate->m_webSettings->isCredentialAutofillEnabled()
- && !m_webPagePrivate->m_webSettings->isPrivateBrowsingEnabled())
- credentialManager().autofillPasswordForms(m_frame->document()->forms());
-#endif
-
- m_webPagePrivate->m_inputHandler->focusedNodeChanged();
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidFinishDocumentLoad()
-{
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didFinishDocumentLoadForFrame(m_frame);
- notImplemented();
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidFailLoad(const ResourceError& error)
-{
- didFinishOrFailLoading(error);
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didFailLoadForFrame(m_frame);
-}
-
-void FrameLoaderClientBlackBerry::didFinishOrFailLoading(const ResourceError& error)
-{
- // FIXME: Do we need to find a replacement for m_frame->document()->setExtraLayoutDelay(0);?
-
- // If we have finished loading a page through history navigation, any
- // attempt to go back to that page through an automatic redirect should be
- // denied to avoid redirect loops. So save the history navigation urls to
- // check later. (If this was not a history navigation,
- // m_historyNavigationSourceURLs will be empty, and we should save that
- // too.)
- m_redirectURLsToSkipDueToHistoryNavigation.swap(m_historyNavigationSourceURLs);
-
- // History navigation is finished so clear the history navigation url.
- m_historyNavigationSourceURLs.clear();
-
- if (isMainFrame()) {
- m_loadError = error;
- m_webPagePrivate->setLoadState(error.isNull() ? WebPagePrivate::Finished : WebPagePrivate::Failed);
- }
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad(const ResourceError& error)
-{
- if (isMainFrame()) {
- m_loadError = error;
- m_webPagePrivate->setLoadState(WebPagePrivate::Failed);
-
- if (error.domain() == ResourceError::platformErrorDomain
- && (error.errorCode() == BlackBerry::Platform::FilterStream::StatusErrorAlreadyHandled)) {
- // Error has already been displayed by client.
- return;
- }
-
- if (error.domain().isEmpty() && !error.errorCode() && error.failingURL().isEmpty() && error.localizedDescription().isEmpty()) {
- // Don't try to display empty errors returned from the unimplemented error functions in FrameLoaderClientBlackBerry - there's nothing to display anyway.
- return;
- }
- }
-
- if (m_webPagePrivate->m_dumpRenderTree)
- m_webPagePrivate->m_dumpRenderTree->didFailProvisionalLoadForFrame(m_frame);
-
- if (!isMainFrame())
- return;
-
- if (error.domain() == ResourceError::platformErrorDomain
- && (error.errorCode() == BlackBerry::Platform::FilterStream::StatusDeniedByApplication)) {
- // Do not display error page for loading DENYed by application.
- return;
- }
-
- // Make sure we're still in the provisionalLoad state - getErrorPage runs a
- // nested event loop while it's waiting for client resources to load so
- // there's a small window for the user to hit stop.
- if (!m_frame->loader()->provisionalDocumentLoader())
- return;
-
- ResourceRequest originalRequest = m_frame->loader()->provisionalDocumentLoader()->originalRequest();
-
- // Do not show error page for a failed download.
- if (originalRequest.forceDownload())
- return;
-
- String errorPage = m_webPagePrivate->m_client->getErrorPage(error.errorCode(), error.localizedDescription(), error.failingURL());
- SubstituteData errorData(utf8Buffer(errorPage), "text/html", "utf-8", KURL(KURL(), error.failingURL()));
-
- // Loading using SubstituteData will replace the original request with our
- // error data. This must be done within dispatchDidFailProvisionalLoad,
- // and do NOT call stopAllLoaders first, because the loader checks the
- // provisionalDocumentLoader to decide the load type; if called any other
- // way, the error page is added to the end of the history instead of
- // replacing the failed load.
- //
- // If this comes from a back/forward navigation, we need to save the current viewstate
- // to original historyitem, and prevent the restore of view state to the error page.
- if (isBackForwardLoadType(m_frame->loader()->loadType())) {
- m_frame->loader()->history()->saveScrollPositionAndViewStateToItem(m_frame->loader()->history()->currentItem());
- ASSERT(m_frame->loader()->history()->provisionalItem());
- m_frame->loader()->history()->provisionalItem()->viewState().shouldSaveViewState = false;
- }
-
- // PR 342159. This can be called in such a way that the selection is not cancelled on
- // the content page. Explicitly cancel the selection.
- m_webPagePrivate->m_client->cancelSelectionVisuals();
-
- m_loadingErrorPage = true;
- m_frame->loader()->load(FrameLoadRequest(m_frame, originalRequest, errorData));
-}
-
-void FrameLoaderClientBlackBerry::dispatchWillSubmitForm(FramePolicyFunction function, PassRefPtr<FormState>)
-{
- // FIXME: Stub.
- (m_frame->loader()->policyChecker()->*function)(PolicyUse);
-#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
- if (m_formCredentials.isValid())
- credentialManager().saveCredentialIfConfirmed(m_webPagePrivate, m_formCredentials);
-#endif
-}
-
-void FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent(PassRefPtr<FormState> prpFormState)
-{
-#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
- m_formCredentials = CredentialTransformData();
-#endif
- if (!m_webPagePrivate->m_webSettings->isPrivateBrowsingEnabled()) {
- if (m_webPagePrivate->m_webSettings->isFormAutofillEnabled()) {
- m_webPagePrivate->m_autofillManager->saveTextFields(prpFormState->form());
-#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
- if (m_webPagePrivate->m_webSettings->isCredentialAutofillEnabled())
- m_formCredentials = CredentialTransformData(prpFormState->form(), true);
-#endif
- }
- }
-}
-
-PassRefPtr<Frame> FrameLoaderClientBlackBerry::createFrame(const KURL& url, const String& name
- , HTMLFrameOwnerElement* ownerElement, const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight)
-{
- if (!m_webPagePrivate)
- return 0;
-
- if (m_childFrameCreationSuppressed)
- return 0;
-
- FrameLoaderClientBlackBerry* frameLoaderClient = new FrameLoaderClientBlackBerry();
- RefPtr<Frame> childFrame = Frame::create(m_frame->page(), ownerElement, frameLoaderClient);
- frameLoaderClient->setFrame(childFrame.get(), m_webPagePrivate);
-
- // Initialize FrameView.
- RefPtr<FrameView> frameView = FrameView::create(childFrame.get());
- childFrame->setView(frameView.get());
- if (!allowsScrolling)
- frameView->setScrollbarModes(ScrollbarAlwaysOff, ScrollbarAlwaysOff);
- if (marginWidth != -1)
- frameView->setMarginWidth(marginWidth);
- if (marginHeight != -1)
- frameView->setMarginHeight(marginHeight);
-
- childFrame->tree()->setName(name);
- m_frame->tree()->appendChild(childFrame);
- childFrame->init();
-
- if (!childFrame->tree()->parent())
- return 0;
-
- m_frame->loader()->loadURLIntoChildFrame(url, referrer, childFrame.get());
-
- if (!childFrame->tree()->parent())
- return 0;
-
- return childFrame.release();
-}
-
-ObjectContentType FrameLoaderClientBlackBerry::objectContentType(const KURL& url, const String& mimeTypeIn, bool shouldPreferPlugInsForImages)
-{
- String mimeType = mimeTypeIn;
- if (mimeType.isEmpty())
- mimeType = MIMETypeRegistry::getMIMETypeForPath(url.path());
-
- // Get mapped type.
- mimeType = MIMETypeRegistry::getNormalizedMIMEType(mimeType);
-
- ObjectContentType defaultType = FrameLoader::defaultObjectContentType(url, mimeType, shouldPreferPlugInsForImages);
- if (defaultType != ObjectContentNone)
- return defaultType;
-
- if (WebSettings::isSupportedObjectMIMEType(mimeType))
- return ObjectContentOtherPlugin;
-
- return ObjectContentNone;
-}
-
-void FrameLoaderClientBlackBerry::dispatchWillClose()
-{
- m_webPagePrivate->frameUnloaded(m_frame);
-}
-
-void FrameLoaderClientBlackBerry::setMainDocumentError(DocumentLoader*, const ResourceError& error)
-{
- if (!m_pluginView)
- return;
-
- m_pluginView->didFail(error);
- m_pluginView = 0;
- m_hasSentResponseToPlugin = false;
-}
-
-void FrameLoaderClientBlackBerry::postProgressStartedNotification()
-{
- if (!isMainFrame())
- return;
-
- // New load started, so clear the error.
- m_loadError = ResourceError();
- m_sentReadyToRender = false;
- m_webPagePrivate->m_client->notifyLoadStarted();
-}
-
-void FrameLoaderClientBlackBerry::postProgressEstimateChangedNotification()
-{
- if (!isMainFrame() || !m_frame->page())
- return;
-
- m_webPagePrivate->m_client->notifyLoadProgress(m_frame->page()->progress()->estimatedProgress() * 100);
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidLayout(LayoutMilestones milestones)
-{
- if (!isMainFrame())
- return;
-
- if (milestones & DidFirstVisuallyNonEmptyLayout) {
- BBLOG(BlackBerry::Platform::LogLevelInfo, "dispatchDidFirstVisuallyNonEmptyLayout");
-
- readyToRender(true);
-
- // For FrameLoadTypeSame or FrameLoadTypeStandard load, the layout timer can be fired which can call
- // dispatchDidFirstVisuallyNonEmptyLayout() after the load Finished state, in which case the web page
- // will have no chance to zoom to initial scale. So we should give it a chance, otherwise the scale of
- // the web page can be incorrect.
- FrameLoadType frameLoadType = m_frame->loader()->loadType();
- if (m_webPagePrivate->loadState() == WebPagePrivate::Finished && (frameLoadType == FrameLoadTypeSame || frameLoadType == FrameLoadTypeStandard))
- m_webPagePrivate->setShouldZoomToInitialScaleAfterLoadFinished(true);
-
- if (m_webPagePrivate->shouldZoomToInitialScaleOnLoad()) {
- BackingStorePrivate* backingStorePrivate = m_webPagePrivate->m_backingStore->d;
- m_webPagePrivate->zoomToInitialScaleOnLoad(); // Set the proper zoom level first.
- backingStorePrivate->renderAndBlitVisibleContentsImmediately();
- }
-
- m_webPagePrivate->m_client->notifyFirstVisuallyNonEmptyLayout();
- }
-}
-
-void FrameLoaderClientBlackBerry::postProgressFinishedNotification()
-{
- if (!isMainFrame())
- return;
-
- // Empty pages will never have called
- // dispatchDidFirstVisuallyNonEmptyLayout, since they're visually empty, so
- // we may need to call readyToRender now.
- readyToRender(false);
-
- m_webPagePrivate->m_client->notifyLoadFinished(m_loadError.isNull() ? 0 : m_loadError.errorCode());
-
- // Notify plugins that are waiting for the page to fully load before starting that
- // the load has completed.
- m_webPagePrivate->notifyPageOnLoad();
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld* world)
-{
- if (world != mainThreadNormalWorld())
- return;
-
- m_webPagePrivate->m_client->notifyWindowObjectCleared();
-
- if (m_webPagePrivate->m_dumpRenderTree) {
- JSGlobalContextRef context = toGlobalRef(m_frame->script()->globalObject(mainThreadNormalWorld())->globalExec());
- JSObjectRef windowObject = toRef(m_frame->script()->globalObject(mainThreadNormalWorld()));
- ASSERT(windowObject);
- m_webPagePrivate->m_dumpRenderTree->didClearWindowObjectInWorld(world, context, windowObject);
- }
-}
-
-bool FrameLoaderClientBlackBerry::shouldGoToHistoryItem(HistoryItem*) const
-{
- return true;
-}
-
-bool FrameLoaderClientBlackBerry::shouldStopLoadingForHistoryItem(HistoryItem*) const
-{
- return true;
-}
-
-Frame* FrameLoaderClientBlackBerry::dispatchCreatePage(const NavigationAction& navigation)
-{
- WebPage* webPage = m_webPagePrivate->m_client->createWindow(0, 0, -1, -1, WebPageClient::FlagWindowDefault, navigation.url().string(), BlackBerry::Platform::String::emptyString(), m_frame->document()->url().string(), ScriptController::processingUserGesture());
- if (!webPage)
- return 0;
-
- return webPage->d->m_page->mainFrame();
-}
-
-void FrameLoaderClientBlackBerry::detachedFromParent2()
-{
- // It is possible this function is called from CachedFrame::destroy() after the frame is detached from its previous page.
- if (!m_webPagePrivate)
- return;
-
- if (m_frame->document())
- m_webPagePrivate->clearDocumentData(m_frame->document());
-
- m_webPagePrivate->frameUnloaded(m_frame);
- m_webPagePrivate->m_client->notifyFrameDetached(m_frame);
-
- // Do not access the page again from this point.
- m_webPagePrivate = 0;
-}
-
-void FrameLoaderClientBlackBerry::dispatchWillSendRequest(DocumentLoader* docLoader, long unsigned, ResourceRequest& request, const ResourceResponse& redirectResponse)
-{
- // If the request is being loaded by the provisional document loader, then
- // it is a new top level request which has not been commited.
- bool isMainResourceLoad = docLoader && docLoader == docLoader->frameLoader()->provisionalDocumentLoader();
-
- // TargetType for subresource loads should have been set in CachedResource::load().
- if (isMainResourceLoad)
- request.setTargetType(docLoader->frameLoader()->isLoadingMainFrame() ? ResourceRequest::TargetIsMainFrame : ResourceRequest::TargetIsSubframe);
-
- // Any processing which is done for all loads (both main and subresource) should go here.
- NetworkRequest platformRequest;
- request.initializePlatformRequest(platformRequest, cookiesEnabled());
- m_webPagePrivate->m_client->populateCustomHeaders(platformRequest);
- const NetworkRequest::HeaderList& headerLists = platformRequest.getHeaderListRef();
- for (NetworkRequest::HeaderList::const_iterator it = headerLists.begin(); it != headerLists.end(); ++it) {
- BlackBerry::Platform::String headerString = it->first;
- BlackBerry::Platform::String headerValueString = it->second;
- request.setHTTPHeaderField(String::fromUTF8WithLatin1Fallback(headerString.data(), headerString.length()), String::fromUTF8WithLatin1Fallback(headerValueString.data(), headerValueString.length()));
- }
-
- if (m_webPagePrivate->m_dumpRenderTree) {
- if (!m_webPagePrivate->m_dumpRenderTree->willSendRequestForFrame(m_frame, request, redirectResponse))
- return;
- }
-
- if (!isMainResourceLoad) {
- // Do nothing for now.
- // Any processing which is done only for subresources should go here.
- return;
- }
-
- // All processing beyond this point is done only for main resource loads.
-
- if (m_clientRedirectIsPending && isMainFrame()) {
- String originalUrl = m_frame->document()->url().string();
- String finalUrl = request.url().string();
-
- m_webPagePrivate->m_client->notifyClientRedirect(originalUrl.characters(), originalUrl.length(),
- finalUrl.characters(), finalUrl.length());
- }
-
- FrameLoader* loader = m_frame->loader();
- ASSERT(loader);
- if (isBackForwardLoadType(loader->loadType())) {
- // Do not use the passed DocumentLoader because it is the loader that
- // will be used for the new request (the DESTINATION of the history
- // navigation - we want to use the current DocumentLoader to record the
- // SOURCE).
- DocumentLoader* docLoader = m_frame->loader()->documentLoader();
- ASSERT(docLoader);
- m_historyNavigationSourceURLs.add(docLoader->url());
- m_historyNavigationSourceURLs.add(docLoader->originalURL());
- }
-}
-
-bool FrameLoaderClientBlackBerry::shouldUseCredentialStorage(DocumentLoader*, long unsigned)
-{
-#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
- if (m_frame->page()->settings()->privateBrowsingEnabled())
- return false;
- return true;
-#else
- return false;
-#endif
-}
-
-void FrameLoaderClientBlackBerry::loadIconExternally(const String& originalPageUrl, const String& finalPageUrl, const String& iconUrl)
-{
- m_webPagePrivate->m_client->setIconForUrl(originalPageUrl, finalPageUrl, iconUrl);
-}
-
-void FrameLoaderClientBlackBerry::saveViewStateToItem(HistoryItem* item)
-{
- if (!isMainFrame())
- return;
-
- ASSERT(item);
- HistoryItemViewState& viewState = item->viewState();
- if (viewState.shouldSaveViewState) {
- viewState.orientation = m_webPagePrivate->mainFrame()->orientation();
- viewState.isZoomToFitScale = fabsf(m_webPagePrivate->currentScale() - m_webPagePrivate->zoomToFitScale()) < 0.01;
- // FIXME: for the web page which has viewport, if the page was rotated, we can get the correct scale
- // as initial-scale or zoomToFitScale isn't changed most of the time and the scale can still be clamped
- // during zoomAboutPoint when restoring the view state. However, there are still chances to get the
- // wrong scale in theory, we don't have a way to save the scale of the previous orientation currently.
- viewState.scale = m_webPagePrivate->currentScale();
- viewState.shouldReflowBlock = m_webPagePrivate->m_shouldReflowBlock;
- viewState.minimumScale = m_webPagePrivate->m_minimumScale;
- viewState.maximumScale = m_webPagePrivate->m_maximumScale;
- viewState.isUserScalable = m_webPagePrivate->m_userScalable;
- viewState.webPageClientState = m_webPagePrivate->m_client->serializePageCacheState();
- }
-}
-
-void FrameLoaderClientBlackBerry::restoreViewState()
-{
- if (!isMainFrame())
- return;
-
- HistoryItem* currentItem = m_frame->loader()->history()->currentItem();
- ASSERT(currentItem);
-
- if (!currentItem)
- return;
-
- HistoryItemViewState& viewState = currentItem->viewState();
- if (!viewState.shouldSaveViewState)
- return;
-
- m_webPagePrivate->m_client->deserializePageCacheState(viewState.webPageClientState);
-
- // WebPagePrivate is messing up FrameView::wasScrolledByUser() by sending
- // scroll events that look like they were user generated all the time.
- //
- // Even if the user did not scroll, FrameView is gonna think they did.
- // So we use our own bookkeeping code to keep track of whether we were
- // actually scrolled by the user during load.
- //
- // If the user did scroll though, all are going to be in agreement about
- // that, and the worst thing that could happen is that
- // HistoryController::restoreScrollPositionAndViewState calls
- // setScrollPosition with the the same point, which is a NOOP.
- IntPoint scrollPosition = currentItem->scrollPoint();
- if (m_webPagePrivate->m_userPerformedManualScroll)
- scrollPosition = m_webPagePrivate->scrollPosition();
-
- // We need to reset this variable after the view state has been restored.
- m_webPagePrivate->m_didRestoreFromPageCache = false;
-
- // Restore the meta first.
- m_webPagePrivate->m_minimumScale = viewState.minimumScale;
- m_webPagePrivate->m_maximumScale = viewState.maximumScale;
- m_webPagePrivate->m_userScalable = viewState.isUserScalable;
-
- // Also, try to keep the users zoom if any.
- double scale = viewState.scale;
-
- bool shouldReflowBlock = viewState.shouldReflowBlock;
- if (m_webPagePrivate->m_userPerformedManualZoom) {
- scale = m_webPagePrivate->currentScale();
- shouldReflowBlock = m_webPagePrivate->m_shouldReflowBlock;
- }
-
- bool scrollChanged = scrollPosition != m_webPagePrivate->scrollPosition();
- bool scaleChanged = scale != m_webPagePrivate->currentScale();
- bool reflowChanged = shouldReflowBlock != m_webPagePrivate->m_shouldReflowBlock;
- bool orientationChanged = viewState.orientation % 180 != m_webPagePrivate->mainFrame()->orientation() % 180;
-
- m_webPagePrivate->m_inputHandler->restoreViewState();
-
- if (!scrollChanged && !scaleChanged && !reflowChanged && !orientationChanged)
- return;
-
- // When rotate happens, only zoom when previous page was zoomToFitScale and didn't have virtual viewport, otherwise keep old scale.
- if (orientationChanged && viewState.isZoomToFitScale && !m_webPagePrivate->hasVirtualViewport())
- scale = BlackBerry::Platform::Graphics::Screen::primaryScreen()->width() * scale / static_cast<double>(BlackBerry::Platform::Graphics::Screen::primaryScreen()->height());
-
- // Don't flash checkerboard before WebPagePrivate::restoreHistoryViewState() finished.
- // This call will be balanced by BackingStorePrivate::resumeScreenAndBackingStoreUpdates() in WebPagePrivate::restoreHistoryViewState().
- // FIXME: Do we really need to suspend/resume both backingstore and screen here?
- m_webPagePrivate->m_backingStore->d->suspendBackingStoreUpdates();
- m_webPagePrivate->m_backingStore->d->suspendScreenUpdates();
-
- // It is not safe to render the page at this point. So we post a message instead. Messages have higher priority than timers.
- BlackBerry::Platform::webKitThreadMessageClient()->dispatchMessage(BlackBerry::Platform::createMethodCallMessage(
- &WebPagePrivate::restoreHistoryViewState, m_webPagePrivate, scrollPosition, scale, viewState.shouldReflowBlock));
-}
-
-PolicyAction FrameLoaderClientBlackBerry::decidePolicyForExternalLoad(const ResourceRequest& request, bool isFragmentScroll)
-{
-#if 0
- // FIXME: Enable these commented out when WebPageClient::handleStringPattern is implemented
- // and exposed to client. Before that, don't return PolicyIgnore so we can continue to
- // create new window and get to dispatchDecidePolicyForNavigationAction() where the client
- // is given a chance to decide how to handle patterns such as 'mailto:'.
- const KURL& url = request.url();
- String pattern = m_webPagePrivate->findPatternStringForUrl(url);
- if (!pattern.isEmpty()) {
- m_webPagePrivate->m_client->handleStringPattern(pattern.characters(), pattern.length());
- return PolicyIgnore;
- }
-#endif
-
- if (m_webPagePrivate->m_webSettings->areLinksHandledExternally()
- && isMainFrame()
- && !request.mustHandleInternally()
- && !isFragmentScroll) {
- NetworkRequest platformRequest;
- request.initializePlatformRequest(platformRequest, cookiesEnabled());
- if (platformRequest.getTargetType() == NetworkRequest::TargetIsUnknown)
- platformRequest.setTargetType(isMainFrame() ? NetworkRequest::TargetIsMainFrame : NetworkRequest::TargetIsSubframe);
-
- m_webPagePrivate->m_client->handleExternalLink(platformRequest, request.anchorText().characters(), request.anchorText().length(), m_clientRedirectIsPending);
- return PolicyIgnore;
- }
-
- return PolicyUse;
-}
-
-void FrameLoaderClientBlackBerry::willDeferLoading()
-{
- if (!isMainFrame())
- return;
-
- m_webPagePrivate->willDeferLoading();
-}
-
-void FrameLoaderClientBlackBerry::didResumeLoading()
-{
- if (!isMainFrame())
- return;
-
- m_webPagePrivate->didResumeLoading();
-}
-
-void FrameLoaderClientBlackBerry::readyToRender(bool pageIsVisuallyNonEmpty)
-{
- // Only send the notification once.
- if (!m_sentReadyToRender) {
- m_webPagePrivate->m_client->notifyLoadReadyToRender(pageIsVisuallyNonEmpty);
- m_sentReadyToRender = true;
- }
-}
-
-PassRefPtr<FrameNetworkingContext> FrameLoaderClientBlackBerry::createNetworkingContext()
-{
- return FrameNetworkingContextBlackBerry::create(m_frame);
-}
-
-void FrameLoaderClientBlackBerry::startDownload(const ResourceRequest& request, const String& suggestedName)
-{
- ResourceRequest requestCopy = request;
- requestCopy.setSuggestedSaveName(suggestedName);
- requestCopy.setForceDownload(true);
- m_webPagePrivate->m_mainFrame->loader()->load(FrameLoadRequest(m_webPagePrivate->m_mainFrame, requestCopy));
-}
-
-void FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload(DocumentLoader* documentLoader, const ResourceRequest& request, const ResourceResponse& response)
-{
- ASSERT(documentLoader);
- ResourceBuffer* buff = documentLoader->mainResourceData().get();
- BlackBerry::Platform::String filename = response.suggestedFilename();
- if (filename.empty())
- filename = request.suggestedSaveName();
-
- if (!buff) {
- // If no cached, like policyDownload resource which don't go render at all, just direct to downloadStream.
- ASSERT(documentLoader->mainResourceLoader() && documentLoader->mainResourceLoader()->handle());
- ResourceHandle* handle = documentLoader->mainResourceLoader()->handle();
- BlackBerry::Platform::FilterStream* stream = NetworkManager::instance()->streamForHandle(handle);
- // There are cases where there won't have a FilterStream
- // associated with a ResourceHandle. For instance, Blob objects
- // have their own ResourceHandle class which won't call startJob
- // to do the proper setup. Do it here.
- if (!stream)
- stream = new BlobStream(response, handle);
-
- ASSERT(stream);
-
- m_webPagePrivate->m_client->downloadRequested(stream, filename);
- return;
- }
-
- // For main page resource which has cached, get from cached resource.
- BlackBerry::Platform::StringBuilder url;
- STATIC_LOCAL_STRING(s_create, "data:");
- url.append(s_create);
- url.append(BlackBerry::Platform::String::fromUtf8(response.mimeType().utf8().data()));
- STATIC_LOCAL_STRING(s_base64, ";base64,");
- url.append(s_base64);
- url.append(BlackBerry::Platform::String::fromUtf8(base64Encode(CString(buff->data(), buff->size())).utf8().data()));
- NetworkRequest netRequest;
- netRequest.setRequestUrl(url.string());
- BlackBerry::Platform::DataStream *stream = new BlackBerry::Platform::DataStream(netRequest);
- m_webPagePrivate->m_client->downloadRequested(stream, filename);
- stream->streamOpen();
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidReceiveIcon()
-{
- String url = m_frame->document()->url().string();
- NativeImagePtr bitmap = iconDatabase().synchronousNativeIconForPageURL(url, IntSize(10, 10));
- if (!bitmap || bitmap->isNull())
- return;
-
- int dataSize = bitmap->width() * bitmap->height();
- Vector<unsigned> data;
- data.reserveCapacity(dataSize);
- if (!bitmap->readPixels(data.data(), dataSize))
- return;
-
- // Convert BGRA to RGBA.
- unsigned char* pixels = reinterpret_cast<unsigned char*>(data.data());
- for (int i = 0; i < bitmap->height(); ++i) {
- unsigned char* bgra = pixels + i * bitmap->width() * 4;
- for (int j = 0; j < bitmap->width(); ++j, bgra += 4)
- std::swap(bgra[0], bgra[2]);
- }
-
- Vector<char> pngData;
- if (!compressRGBABigEndianToPNG(pixels, bitmap->size(), pngData))
- return;
-
- Vector<char> out;
- base64Encode(pngData, out);
-
- String iconUrl = iconDatabase().synchronousIconURLForPageURL(url);
- m_webPagePrivate->m_client->setFavicon(BlackBerry::Platform::String::fromAscii(out.data(), out.size()), iconUrl);
-}
-
-bool FrameLoaderClientBlackBerry::canCachePage() const
-{
- // We won't cache pages containing multipart with "multipart/x-mixed-replace".
- ASSERT(m_frame->loader()->documentLoader());
- const ResponseVector& responses = m_frame->loader()->documentLoader()->responses();
- size_t count = responses.size();
- for (size_t i = 0; i < count; i++) {
- if (responses[i].isMultipartPayload())
- return false;
- }
- return true;
-}
-
-void FrameLoaderClientBlackBerry::didSaveToPageCache()
-{
- // When page goes into PageCache, clean up any possible
- // document data cache we might have.
- m_webPagePrivate->clearDocumentData(m_frame->document());
-
- if (!isMainFrame()) {
- // Clear the reference to the WebPagePrivate object as the page may be destroyed when the frame is still in the page cache.
- m_webPagePrivate = 0;
- }
-}
-
-void FrameLoaderClientBlackBerry::provisionalLoadStarted()
-{
- // We would like to hide the virtual keyboard before it navigates to another page
- // so that the scroll offset without keyboard shown will be saved in the history item.
- // Then when the user navigates back, it will scroll to the right position.
- if (isMainFrame())
- m_webPagePrivate->showVirtualKeyboard(false);
-}
-
-// We don't need to provide the error message string, that will be handled in BrowserErrorPage according to the error code.
-ResourceError FrameLoaderClientBlackBerry::cannotShowURLError(const ResourceRequest& request)
-{
- return ResourceError("WebKitErrorDomain", WebKitErrorCannotShowURL, request.url().string(), String());
-}
-
-void FrameLoaderClientBlackBerry::didRestoreFromPageCache()
-{
- if (!isMainFrame()) {
- // Reconnect to the WebPagePrivate object now. We know the page must exist at this point.
- m_webPagePrivate = static_cast<FrameLoaderClientBlackBerry*>(m_frame->page()->mainFrame()->loader()->client())->m_webPagePrivate;
- }
-
- m_webPagePrivate->m_didRestoreFromPageCache = true;
-}
-
-void FrameLoaderClientBlackBerry::dispatchWillUpdateApplicationCache(const ResourceRequest&)
-{
- ASSERT(isMainFrame());
- if (!isMainFrame())
- return;
-
- m_webPagePrivate->m_client->notifyWillUpdateApplicationCache();
-}
-
-void FrameLoaderClientBlackBerry::dispatchDidLoadFromApplicationCache(const ResourceRequest&)
-{
- ASSERT(isMainFrame());
- if (!isMainFrame())
- return;
-
- m_webPagePrivate->m_client->notifyDidLoadFromApplicationCache();
-}
-
-PassRefPtr<SecurityOrigin> FrameLoaderClientBlackBerry::securityOriginForNewDocument(const KURL& url)
-{
- // What we are trying to do here is to keep using the old path as origin when a file-based html page
- // changes its location to some html in a subfolder. This will allow some file-based html packages
- // to work smoothly even with security checks enabled.
-
- RefPtr<SecurityOrigin> newSecurityOrigin = SecurityOrigin::create(url);
-
- if (m_wasProvisionalLoadTriggeredByUserGesture || !url.isLocalFile())
- return newSecurityOrigin;
-
- RefPtr<SecurityOrigin> currentSecurityOrigin = m_frame->document()->securityOrigin();
- if (currentSecurityOrigin && currentSecurityOrigin->containsInFolder(newSecurityOrigin.get()))
- return currentSecurityOrigin;
-
- return newSecurityOrigin;
-}
-
-} // WebCore
diff --git a/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.h
deleted file mode 100644
index 3eaaab359..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.h
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 FrameLoaderClientBlackBerry_h
-#define FrameLoaderClientBlackBerry_h
-
-#include "CredentialTransformData.h"
-#include "DocumentLoader.h"
-#include "Frame.h"
-#include "FrameLoaderClient.h"
-#include "NotImplemented.h"
-#include "Widget.h"
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-}
-}
-
-namespace WebCore {
-
-class FrameNetworkingContext;
-class Geolocation;
-
-class FrameLoaderClientBlackBerry : public FrameLoaderClient {
-public:
- FrameLoaderClientBlackBerry();
- ~FrameLoaderClientBlackBerry();
-
- void setFrame(Frame* frame, BlackBerry::WebKit::WebPagePrivate* webPagePrivate) { m_frame = frame; m_webPagePrivate = webPagePrivate; }
-
- int playerId() const;
- bool cookiesEnabled() const;
-
- virtual void frameLoaderDestroyed();
- virtual bool hasWebView() const { return true; }
- virtual void makeRepresentation(DocumentLoader*) { notImplemented(); }
- virtual void forceLayout() { notImplemented(); }
- virtual void forceLayoutForNonHTML() { notImplemented(); }
- virtual void setCopiesOnScroll() { notImplemented(); }
- virtual void detachedFromParent2();
- virtual void detachedFromParent3() { notImplemented(); }
- virtual void assignIdentifierToInitialRequest(long unsigned, DocumentLoader*, const ResourceRequest&) { notImplemented(); }
- virtual void dispatchWillSendRequest(DocumentLoader*, long unsigned, ResourceRequest&, const ResourceResponse&);
- virtual bool shouldUseCredentialStorage(DocumentLoader*, long unsigned);
- virtual void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, long unsigned, const AuthenticationChallenge&) { notImplemented(); }
- virtual void dispatchDidCancelAuthenticationChallenge(DocumentLoader*, long unsigned, const AuthenticationChallenge&) { notImplemented(); }
- virtual void dispatchDidReceiveResponse(DocumentLoader*, long unsigned, const ResourceResponse&);
- virtual void dispatchDidReceiveContentLength(DocumentLoader*, long unsigned, int) { notImplemented(); }
- virtual void dispatchDidFinishLoading(DocumentLoader*, long unsigned) { notImplemented(); }
- virtual void dispatchDidFailLoading(DocumentLoader*, long unsigned, const ResourceError&) { notImplemented(); }
- virtual bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int) { notImplemented(); return false; }
- virtual void dispatchDidHandleOnloadEvents();
- virtual void dispatchDidReceiveServerRedirectForProvisionalLoad() { notImplemented(); }
- virtual void dispatchDidCancelClientRedirect();
- virtual void dispatchWillPerformClientRedirect(const KURL&, double, double);
- virtual void dispatchDidChangeLocationWithinPage();
- virtual void dispatchDidPushStateWithinPage();
- virtual void dispatchDidReplaceStateWithinPage();
- virtual void dispatchDidPopStateWithinPage();
- virtual void dispatchWillClose();
- virtual void dispatchDidReceiveIcon();
- virtual void dispatchDidStartProvisionalLoad();
- virtual void dispatchDidReceiveTitle(const StringWithDirection&);
- virtual void setTitle(const StringWithDirection& title, const KURL&);
- virtual void dispatchDidCommitLoad();
- virtual void dispatchDidFailProvisionalLoad(const ResourceError&);
- virtual void dispatchDidFailLoad(const ResourceError&);
- virtual void dispatchDidFinishDocumentLoad();
- virtual void dispatchDidFinishLoad();
- virtual void dispatchDidLayout(LayoutMilestones);
- virtual Frame* dispatchCreatePage(const NavigationAction&);
- virtual void dispatchShow() { notImplemented(); }
-
- virtual void dispatchDecidePolicyForResponse(FramePolicyFunction, const ResourceResponse&, const ResourceRequest&);
- virtual void dispatchDecidePolicyForNewWindowAction(FramePolicyFunction, const NavigationAction&, const ResourceRequest&, PassRefPtr<FormState>, const String& frameName);
- virtual void dispatchDecidePolicyForNavigationAction(FramePolicyFunction, const NavigationAction&, const ResourceRequest&, PassRefPtr<FormState>);
- virtual void cancelPolicyCheck();
- virtual void dispatchUnableToImplementPolicy(const ResourceError&) { notImplemented(); }
- virtual void dispatchWillSubmitForm(FramePolicyFunction, PassRefPtr<FormState>);
- virtual void revertToProvisionalState(DocumentLoader*) { notImplemented(); }
- virtual void setMainDocumentError(DocumentLoader*, const ResourceError&);
- virtual void postProgressStartedNotification();
- virtual void postProgressEstimateChangedNotification();
- virtual void postProgressFinishedNotification();
- virtual void setMainFrameDocumentReady(bool) { notImplemented(); }
- virtual void startDownload(const ResourceRequest&, const String& suggestedName = String());
- virtual void willChangeTitle(DocumentLoader*) { notImplemented(); }
- virtual void didChangeTitle(DocumentLoader*) { notImplemented(); }
- virtual void committedLoad(DocumentLoader*, const char*, int);
- virtual void finishedLoading(DocumentLoader*);
- virtual void updateGlobalHistory() { notImplemented(); }
- virtual void updateGlobalHistoryRedirectLinks() { notImplemented(); }
- virtual bool shouldGoToHistoryItem(HistoryItem*) const;
- virtual bool shouldStopLoadingForHistoryItem(HistoryItem*) const;
- virtual void dispatchWillUpdateApplicationCache(const ResourceRequest&);
- virtual void dispatchDidLoadFromApplicationCache(const ResourceRequest&);
- virtual void didDisplayInsecureContent() { notImplemented(); }
- virtual void didRunInsecureContent(SecurityOrigin*, const KURL&) { notImplemented(); }
- virtual ResourceError interruptedForPolicyChangeError(const ResourceRequest&) { notImplemented(); return ResourceError(emptyString(), 0, emptyString(), emptyString()); }
- virtual ResourceError cancelledError(const ResourceRequest&) { notImplemented(); return ResourceError(emptyString(), 0, emptyString(), emptyString()); }
- virtual ResourceError blockedError(const ResourceRequest&) { notImplemented(); return ResourceError(emptyString(), 0, emptyString(), emptyString()); }
- virtual ResourceError cannotShowURLError(const ResourceRequest&);
- virtual ResourceError interruptForPolicyChangeError(const ResourceRequest&) { notImplemented(); return ResourceError(emptyString(), 0, emptyString(), emptyString()); }
- virtual ResourceError cannotShowMIMETypeError(const ResourceResponse&) { notImplemented(); return ResourceError(emptyString(), 0, emptyString(), emptyString()); }
- virtual ResourceError fileDoesNotExistError(const ResourceResponse&) { notImplemented(); return ResourceError(emptyString(), 0, emptyString(), emptyString()); }
- virtual ResourceError pluginWillHandleLoadError(const ResourceResponse&) { notImplemented(); return ResourceError(emptyString(), 0, emptyString(), emptyString()); }
- virtual bool shouldFallBack(const ResourceError&) { notImplemented(); return false; }
- virtual bool canHandleRequest(const ResourceRequest&) const;
- virtual bool canShowMIMEType(const String&) const;
- virtual bool canShowMIMETypeAsHTML(const String&) const;
- virtual bool representationExistsForURLScheme(const String&) const { notImplemented(); return false; }
- virtual String generatedMIMETypeForURLScheme(const String&) const { notImplemented(); return String(); }
- virtual void frameLoadCompleted() { notImplemented(); }
- virtual void saveViewStateToItem(HistoryItem*);
- virtual void restoreViewState();
- virtual void provisionalLoadStarted();
- virtual void didFinishLoad() { notImplemented(); }
- virtual void prepareForDataSourceReplacement() { notImplemented(); }
- virtual PassRefPtr<DocumentLoader> createDocumentLoader(const ResourceRequest&, const SubstituteData&);
- virtual void setTitle(const String&, const KURL&) { notImplemented(); }
- virtual String userAgent(const KURL&);
- virtual void savePlatformDataToCachedFrame(CachedFrame*) { notImplemented(); }
- virtual void transitionToCommittedFromCachedFrame(CachedFrame*) { notImplemented(); }
- virtual void transitionToCommittedForNewPage();
- virtual bool canCachePage() const;
- virtual void didSaveToPageCache();
- virtual void didRestoreFromPageCache();
- virtual void dispatchDidBecomeFrameset(bool) { }
- virtual void convertMainResourceLoadToDownload(DocumentLoader*, const ResourceRequest&, const ResourceResponse&);
- virtual PassRefPtr<Frame> createFrame(const KURL&, const String&, HTMLFrameOwnerElement*, const String&, bool, int, int);
- virtual bool shouldAlwaysUsePluginDocument(const String&) const;
- virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool);
- virtual void redirectDataToPlugin(Widget*);
- virtual PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL&, const Vector<String>&, const Vector<String>&) { notImplemented(); return 0; }
-
- virtual ObjectContentType objectContentType(const KURL&, const String& mimeType, bool shouldPreferPlugInsForImages);
- virtual String overrideMediaType() const { notImplemented(); return String(); }
- virtual void dispatchDidClearWindowObjectInWorld(DOMWrapperWorld*);
- virtual void documentElementAvailable() { notImplemented(); }
- virtual void didPerformFirstNavigation() const { notImplemented(); }
- virtual void registerForIconNotification(bool) { notImplemented(); }
-
- virtual bool shouldLoadIconExternally() { return false; }
- virtual void loadIconExternally(const String& originalPageUrl, const String& finalPageUrl, const String& iconUrl);
-
- virtual void didDetectXSS(const KURL&, bool) { }
- virtual void dispatchDidChangeIcons(IconType) { notImplemented(); };
- virtual void dispatchWillSendSubmitEvent(PassRefPtr<FormState>);
-
- virtual void willDeferLoading();
- virtual void didResumeLoading();
-
- virtual PassRefPtr<FrameNetworkingContext> createNetworkingContext();
-
- virtual PassRefPtr<SecurityOrigin> securityOriginForNewDocument(const KURL&);
-
- void readyToRender(bool pageIsVisuallyNonEmpty);
-
- void doPendingFragmentScroll();
-
- // Used to stop media files from loading because we don't need to have the entire file loaded by WebKit.
- void setCancelLoadOnNextData() { m_cancelLoadOnNextData = true; }
- bool shouldCancelLoadOnNextData() const { return m_cancelLoadOnNextData; }
-
- void suppressChildFrameCreation() { m_childFrameCreationSuppressed = true; }
-
-private:
- void receivedData(DocumentLoader*, const char*, int, const String&);
- void didFinishOrFailLoading(const ResourceError&);
- bool isMainFrame() const;
-
- PolicyAction decidePolicyForExternalLoad(const ResourceRequest &, bool isFragmentScroll);
- void delayPolicyCheckUntilFragmentExists(const String& fragment, FramePolicyFunction);
-
- Frame* m_frame;
- ResourceError m_loadError;
- BlackBerry::WebKit::WebPagePrivate* m_webPagePrivate;
-
- Geolocation* m_geolocation;
- bool m_sentReadyToRender;
-
- FramePolicyFunction m_pendingFragmentScrollPolicyFunction;
- String m_pendingFragmentScroll;
-
- bool m_loadingErrorPage;
- bool m_clientRedirectIsPending;
- bool m_childFrameCreationSuppressed;
-
- // This set includes the original and final urls for server redirects.
- HashSet<KURL> m_historyNavigationSourceURLs;
- HashSet<KURL> m_redirectURLsToSkipDueToHistoryNavigation;
-
- // Plugin view to redirect data to.
- PluginView* m_pluginView;
- bool m_hasSentResponseToPlugin;
-
- // Used to stop media files from loading because we don't need to have the entire file loaded by WebKit.
- bool m_cancelLoadOnNextData;
-
- bool m_wasProvisionalLoadTriggeredByUserGesture;
-#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
- CredentialTransformData m_formCredentials;
-#endif
-};
-
-} // WebCore
-
-#endif // FrameLoaderClientBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/FrameNetworkingContextBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/FrameNetworkingContextBlackBerry.cpp
deleted file mode 100644
index f6cdbceb7..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/FrameNetworkingContextBlackBerry.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "FrameNetworkingContextBlackBerry.h"
-
-namespace WebCore {
-
-FrameNetworkingContextBlackBerry::FrameNetworkingContextBlackBerry(Frame* frame)
- : FrameNetworkingContext(frame)
-{
-}
-
-PassRefPtr<FrameNetworkingContextBlackBerry> FrameNetworkingContextBlackBerry::create(Frame* frame)
-{
- return adoptRef(new FrameNetworkingContextBlackBerry(frame));
-}
-
-}
diff --git a/Source/WebKit/blackberry/WebCoreSupport/FrameNetworkingContextBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/FrameNetworkingContextBlackBerry.h
deleted file mode 100644
index 408b1ee0d..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/FrameNetworkingContextBlackBerry.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2010, 2011 Research In Motion Limited. 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
- * 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 FrameNetworkingContextBlackBerry_h
-#define FrameNetworkingContextBlackBerry_h
-
-#include "FrameNetworkingContext.h"
-
-namespace WebCore {
-
-class FrameNetworkingContextBlackBerry : public FrameNetworkingContext {
-public:
- static PassRefPtr<FrameNetworkingContextBlackBerry> create(Frame*);
- using FrameNetworkingContext::frame;
-
-private:
- FrameNetworkingContextBlackBerry(Frame*);
-};
-
-}
-
-#endif // FrameNetworkingContextBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/GeolocationClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/GeolocationClientBlackBerry.cpp
deleted file mode 100644
index 994f95f0a..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/GeolocationClientBlackBerry.cpp
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "GeolocationClientBlackBerry.h"
-
-#include "Chrome.h"
-#include "Frame.h"
-#include "Geolocation.h"
-#include "GeolocationController.h"
-#include "GeolocationError.h"
-#include "GeolocationPosition.h"
-#include "Page.h"
-#include "SecurityOrigin.h"
-#include "WebPage_p.h"
-
-#include <BlackBerryPlatformString.h>
-
-using namespace WebCore;
-
-static String getOrigin(Frame* frame)
-{
- String origin;
- SecurityOrigin* securityOrigin = frame->document()->securityOrigin();
-
- // Special case for file.
- if (securityOrigin->protocol() == "file")
- origin = securityOrigin->fileSystemPath();
- else
- origin = securityOrigin->toString();
-
- return origin;
-}
-
-GeolocationClientBlackBerry::GeolocationClientBlackBerry(BlackBerry::WebKit::WebPagePrivate* webPagePrivate)
- : m_webPagePrivate(webPagePrivate)
- , m_accuracy(false)
- , m_isActive(false)
-{
-}
-
-void GeolocationClientBlackBerry::geolocationDestroyed()
-{
- BlackBerry::Platform::GeolocationHandler::instance()->unregisterFromPermissionTracking(this);
-
- delete this;
-}
-
-void GeolocationClientBlackBerry::startUpdating()
-{
- if (!m_isActive)
- BlackBerry::Platform::GeolocationHandler::instance()->addListener(this);
- m_isActive = true;
-}
-
-void GeolocationClientBlackBerry::stopUpdating()
-{
- if (m_isActive)
- BlackBerry::Platform::GeolocationHandler::instance()->removeListener(this);
- m_isActive = false;
-}
-
-GeolocationPosition* GeolocationClientBlackBerry::lastPosition()
-{
- return m_lastPosition.get();
-}
-
-void GeolocationClientBlackBerry::requestPermission(Geolocation* location)
-{
- Frame* frame = location->frame();
- if (!frame)
- return;
-
- if (!m_webPagePrivate->m_webSettings->isGeolocationEnabled()) {
- location->setIsAllowed(false);
- return;
- }
-
- const String origin = getOrigin(frame);
-
- // Special case for documents with the isUnique flag on. (ie. sandboxed iframes)
- if (origin == "null")
- location->setIsAllowed(false);
-
- // Check global location setting, if it is off then we request an infobar that invokes a location settings card.
- // If it's on, then we request an infobar that allows the site to have permission to use geolocation.
- if (!BlackBerry::Platform::GeolocationHandler::instance()->isGlobalServiceActive()) {
- // We only want to ask them once per session. If we get here again, automatically fail the request.
- if (!BlackBerry::Platform::GeolocationHandler::instance()->didAskUserForGlobalPermission()) {
- m_webPagePrivate->m_client->requestGlobalLocalServicePermission(this, origin);
- BlackBerry::Platform::GeolocationHandler::instance()->setAskedUserForGlobalPermission();
- } else
- location->setIsAllowed(false);
- return;
- }
-
- // Register the listener with the GeolocationHandler to receive permissions.
- if (m_geolocationRequestMap.isEmpty())
- BlackBerry::Platform::GeolocationHandler::instance()->registerPermissionTracking(this);
-
- // Add this geolocation permission request to our request map.
- Vector<RefPtr<Geolocation> > geoRequestsForOrigin;
- HashMap<String, Vector<RefPtr<Geolocation> > >::AddResult result = m_geolocationRequestMap.add(origin, geoRequestsForOrigin);
- result.iterator->value.append(location);
-
- // Avoid sending another request if the vector already has another geolocation pending for this origin in this page.
- if (result.isNewEntry)
- m_webPagePrivate->m_client->requestGeolocationPermission(this, origin);
-}
-
-void GeolocationClientBlackBerry::cancelPermissionRequest(Geolocation* location)
-{
- Frame* frame = location->frame();
- if (!frame)
- return;
-
- const String origin = getOrigin(frame);
-
- // Remove the geolocation from the pending permission map.
- HashMap<String, Vector<RefPtr<Geolocation> > >::iterator it = m_geolocationRequestMap.find(origin);
- if (it == m_geolocationRequestMap.end())
- return;
-
- Vector<RefPtr<Geolocation> >* result = &(it->value);
-
- size_t geolocationCount = result->size();
- for (size_t i = 0; i < geolocationCount; ++i) {
- if ((*result)[i].get() == location) {
- result->remove(i);
- // Remove this vector from the pending permission map is it doesn't contain anymore geo objects
- if (result->isEmpty())
- m_geolocationRequestMap.remove(origin);
- break;
- }
- }
-
- if (m_geolocationRequestMap.isEmpty())
- BlackBerry::Platform::GeolocationHandler::instance()->unregisterFromPermissionTracking(this);
-
- m_webPagePrivate->m_client->cancelGeolocationPermission();
-}
-
-void GeolocationClientBlackBerry::onLocationUpdate(double timestamp, double latitude, double longitude, double accuracy, double altitude, bool altitudeValid,
- double altitudeAccuracy, bool altitudeAccuracyValid, double speed, bool speedValid, double heading, bool headingValid)
-{
- m_lastPosition = GeolocationPosition::create(timestamp, latitude, longitude, accuracy, altitudeValid, altitude, altitudeAccuracyValid,
- altitudeAccuracy, headingValid, heading, speedValid, speed);
- GeolocationController::from(m_webPagePrivate->m_page)->positionChanged(m_lastPosition.get());
-}
-
-void GeolocationClientBlackBerry::onLocationError(const char* errorStr)
-{
- RefPtr<GeolocationError> error = GeolocationError::create(GeolocationError::PositionUnavailable, String::fromUTF8(errorStr));
- GeolocationController::from(m_webPagePrivate->m_page)->errorOccurred(error.get());
-}
-
-void GeolocationClientBlackBerry::onPermission(const BlackBerry::Platform::String& origin, bool isAllowed)
-{
- Vector<RefPtr<Geolocation> > pendingPermissionGeolocation = m_geolocationRequestMap.get(origin);
-
- if (pendingPermissionGeolocation.isEmpty())
- return;
-
- size_t numberOfGeolocations = pendingPermissionGeolocation.size();
- for (size_t i = 0; i < numberOfGeolocations; ++i)
- pendingPermissionGeolocation[i]->setIsAllowed(isAllowed);
- m_geolocationRequestMap.remove(origin);
-
- if (m_geolocationRequestMap.isEmpty())
- BlackBerry::Platform::GeolocationHandler::instance()->unregisterFromPermissionTracking(this);
-}
-
-void GeolocationClientBlackBerry::setEnableHighAccuracy(bool newAccuracy)
-{
- if (m_accuracy != newAccuracy) {
- m_accuracy = newAccuracy;
- BlackBerry::Platform::GeolocationHandler::instance()->switchAccuracy(this);
- }
-}
-
diff --git a/Source/WebKit/blackberry/WebCoreSupport/GeolocationClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/GeolocationClientBlackBerry.h
deleted file mode 100644
index ce734daa7..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/GeolocationClientBlackBerry.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 GeolocationClientBlackBerry_h
-#define GeolocationClientBlackBerry_h
-
-#include <BlackBerryPlatformGeoTracker.h>
-#include <BlackBerryPlatformGeoTrackerListener.h>
-#include <GeolocationClient.h>
-#include <wtf/HashMap.h>
-#include <wtf/RefPtr.h>
-#include <wtf/text/WTFString.h>
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-}
-}
-
-namespace WebCore {
-
-class GeolocationClientBlackBerry : public GeolocationClient, public BlackBerry::Platform::GeoTrackerListener {
-public:
- GeolocationClientBlackBerry(BlackBerry::WebKit::WebPagePrivate*);
-
- virtual void geolocationDestroyed();
- virtual void startUpdating();
- virtual void stopUpdating();
- virtual GeolocationPosition* lastPosition();
- virtual void setEnableHighAccuracy(bool);
- virtual void requestPermission(Geolocation*);
- virtual void cancelPermissionRequest(Geolocation*);
-
- virtual bool requiresHighAccuracy() { return m_accuracy; }
- virtual void onLocationUpdate(double timestamp, double latitude, double longitude, double accuracy, double altitude, bool altitudeValid, double altitudeAccuracy,
- bool altitudeAccuracyValid, double speed, bool speedValid, double heading, bool headingValid);
- virtual void onLocationError(const char* error);
- virtual void onPermission(const BlackBerry::Platform::String& origin, bool isAllowed);
-
-private:
- BlackBerry::WebKit::WebPagePrivate* m_webPagePrivate;
- RefPtr<GeolocationPosition> m_lastPosition;
- HashMap<String, Vector<RefPtr<Geolocation> > > m_geolocationRequestMap;
- bool m_accuracy;
- bool m_isActive;
-};
-}
-
-#endif // GeolocationClientBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp
deleted file mode 100644
index 90730101f..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Research In Motion Limited. 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
- * 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 "IconDatabaseClientBlackBerry.h"
-
-#include "BlackBerryPlatformSettings.h"
-#include "IconDatabase.h"
-#include "WebSettings.h"
-
-namespace WebCore {
-
-SINGLETON_INITIALIZER_THREADUNSAFE(IconDatabaseClientBlackBerry)
-
-bool IconDatabaseClientBlackBerry::initIconDatabase(const BlackBerry::WebKit::WebSettings* settings)
-{
- bool enable = !settings->isPrivateBrowsingEnabled() && settings->isDatabasesEnabled();
- iconDatabase().setEnabled(enable);
- if (!enable) {
- m_initState = NotInitialized;
- return false;
- }
-
- if (m_initState == InitializeFailed)
- return false;
-
- if (m_initState == InitializeSucceeded)
- return true;
-
- iconDatabase().setClient(this);
-
- m_initState = iconDatabase().open(BlackBerry::Platform::Settings::instance()->applicationDataDirectory().c_str(),
- IconDatabase::defaultDatabaseFilename()) ? InitializeSucceeded : InitializeFailed;
-
- return m_initState == InitializeSucceeded;
-}
-
-void IconDatabaseClientBlackBerry::didRemoveAllIcons()
-{
-}
-
-void IconDatabaseClientBlackBerry::didImportIconURLForPageURL(const String&)
-{
-}
-
-void IconDatabaseClientBlackBerry::didImportIconDataForPageURL(const String&)
-{
-}
-
-void IconDatabaseClientBlackBerry::didChangeIconForPageURL(const String&)
-{
-}
-
-void IconDatabaseClientBlackBerry::didFinishURLImport()
-{
-}
-
-} // namespace WebCore
diff --git a/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.h
deleted file mode 100644
index 1cc08192f..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Research In Motion Limited. 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
- * 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 IconDatabaseClientBlackBerry_h
-#define IconDatabaseClientBlackBerry_h
-
-#include "BlackBerryPlatformSingleton.h"
-#include "IconDatabaseClient.h"
-
-namespace BlackBerry {
-namespace WebKit {
-class WebSettings;
-}
-}
-
-namespace WebCore {
-
-class IconDatabaseClientBlackBerry : public BlackBerry::Platform::ThreadUnsafeSingleton<IconDatabaseClientBlackBerry>
- , public IconDatabaseClient {
-
- SINGLETON_DEFINITION_THREADUNSAFE(IconDatabaseClientBlackBerry)
-public:
- bool initIconDatabase(const BlackBerry::WebKit::WebSettings*);
-
- virtual void didRemoveAllIcons();
- virtual void didImportIconURLForPageURL(const String&);
- virtual void didImportIconDataForPageURL(const String&);
- virtual void didChangeIconForPageURL(const String&);
- virtual void didFinishURLImport();
-
-private:
- IconDatabaseClientBlackBerry()
- : m_initState(NotInitialized)
- {
- }
- enum { NotInitialized, InitializeSucceeded, InitializeFailed } m_initState;
-};
-
-}
-
-#endif
diff --git a/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.cpp
deleted file mode 100644
index 371fd0871..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/
- * Copyright (C) 2011, 2012 Research In Motion Limited. 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
- * 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 "InspectorClientBlackBerry.h"
-
-#include "BackingStore.h"
-#include "Frame.h"
-#include "GraphicsContext.h"
-#include "InspectorController.h"
-#include "NotImplemented.h"
-#include "Page.h"
-#include "RenderObject.h"
-#include "WebPageClient.h"
-#include "WebPage_p.h"
-
-namespace WebCore {
-
-InspectorClientBlackBerry::InspectorClientBlackBerry(BlackBerry::WebKit::WebPagePrivate* webPagePrivate)
- : m_webPagePrivate(webPagePrivate)
-{
- m_inspectorSettingsMap = adoptPtr(new SettingsMap);
-}
-
-void InspectorClientBlackBerry::inspectorDestroyed()
-{
- delete this;
-}
-
-void InspectorClientBlackBerry::highlight()
-{
- m_webPagePrivate->setInspectorOverlayClient(this);
-}
-
-void InspectorClientBlackBerry::hideHighlight()
-{
- m_webPagePrivate->setInspectorOverlayClient(0);
-}
-
-InspectorFrontendChannel* InspectorClientBlackBerry::openInspectorFrontend(InspectorController*)
-{
- notImplemented();
- return 0;
-}
-
-void InspectorClientBlackBerry::closeInspectorFrontend()
-{
- notImplemented();
-}
-
-void InspectorClientBlackBerry::bringFrontendToFront()
-{
- notImplemented();
-}
-
-bool InspectorClientBlackBerry::sendMessageToFrontend(const String& message)
-{
- CString utf8Message = message.utf8();
- m_webPagePrivate->m_client->handleWebInspectorMessageToFrontend(0, utf8Message.data(), utf8Message.length());
- return true;
-}
-
-void InspectorClientBlackBerry::clearBrowserCache()
-{
- m_webPagePrivate->m_client->clearCache();
-}
-
-void InspectorClientBlackBerry::clearBrowserCookies()
-{
- m_webPagePrivate->m_client->clearCookies();
-}
-
-bool InspectorClientBlackBerry::canOverrideDeviceMetrics()
-{
- return true;
-}
-
-void InspectorClientBlackBerry::overrideDeviceMetrics(int width, int height, float fontScaleFactor, bool)
-{
- // Note: when width and height = 0, and fontScaleFactor = 1, this is the signal for restoring to default size.
- m_webPagePrivate->applySizeOverride(width, height);
- m_webPagePrivate->setTextZoomFactor(fontScaleFactor);
-}
-
-bool InspectorClientBlackBerry::supportsFrameInstrumentation()
-{
- return true;
-}
-
-void InspectorClientBlackBerry::updateInspectorStateCookie(const String&)
-{
- // If this is implemented, we should override and return true in InspectorStateClient::supportsInspectorStateUpdates().
- notImplemented();
-};
-
-void InspectorClientBlackBerry::paintInspectorOverlay(GraphicsContext& gc)
-{
- InspectorController* inspectorController = m_webPagePrivate->m_page->inspectorController();
- if (inspectorController)
- inspectorController->drawHighlight(gc);
-}
-
-} // namespace WebCore
diff --git a/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h
deleted file mode 100644
index a8401422c..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2009 Torch Mobile Inc. http://www.torchmobile.com/
- * Copyright (C) 2011, 2012 Research In Motion Limited. 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
- * 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 InspectorClientBlackBerry_h
-#define InspectorClientBlackBerry_h
-
-#include "InspectorClient.h"
-#include "InspectorFrontendChannel.h"
-#include "InspectorOverlay.h"
-#include "InspectorOverlayBlackBerry.h"
-#include <wtf/HashMap.h>
-#include <wtf/text/WTFString.h>
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-}
-}
-
-namespace WebCore {
-
-class InspectorClientBlackBerry : public InspectorClient, public InspectorFrontendChannel, public BlackBerry::WebKit::InspectorOverlay::InspectorOverlayClient {
-public:
- explicit InspectorClientBlackBerry(BlackBerry::WebKit::WebPagePrivate*);
- virtual void inspectorDestroyed();
-
- virtual void highlight();
- virtual void hideHighlight();
-
- virtual InspectorFrontendChannel* openInspectorFrontend(InspectorController*);
- virtual void closeInspectorFrontend();
- virtual void bringFrontendToFront();
-
- virtual bool sendMessageToFrontend(const String&);
-
- virtual void clearBrowserCache();
- virtual bool canClearBrowserCache() { return true; }
- virtual void clearBrowserCookies();
- virtual bool canClearBrowserCookies() { return true; }
- virtual void paintInspectorOverlay(WebCore::GraphicsContext&);
-
- virtual bool canOverrideDeviceMetrics();
- virtual void overrideDeviceMetrics(int, int, float, bool);
- virtual bool supportsFrameInstrumentation();
-
- virtual void updateInspectorStateCookie(const String&);
-
-private:
- BlackBerry::WebKit::WebPagePrivate* m_webPagePrivate;
- typedef HashMap<String, String> SettingsMap;
- OwnPtr<SettingsMap> m_inspectorSettingsMap;
-};
-
-} // namespace WebCore
-
-#endif // InspectorClientBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/NavigatorContentUtilsClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/NavigatorContentUtilsClientBlackBerry.cpp
deleted file mode 100644
index c7dadf083..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/NavigatorContentUtilsClientBlackBerry.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "NavigatorContentUtilsClientBlackBerry.h"
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
-
-#include "WebPage_p.h"
-
-namespace WebCore {
-
-NavigatorContentUtilsClientBlackBerry::NavigatorContentUtilsClientBlackBerry(BlackBerry::WebKit::WebPagePrivate* webPagePrivate)
- : m_webPagePrivate(webPagePrivate)
-{
-}
-
-void NavigatorContentUtilsClientBlackBerry::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
-{
- m_webPagePrivate->m_client->registerProtocolHandler(scheme, baseURL, url, title);
-}
-
-
-#if ENABLE(CUSTOM_SCHEME_HANDLER)
-NavigatorContentUtilsClient::CustomHandlersState NavigatorContentUtilsClientBlackBerry::isProtocolHandlerRegistered(const String& scheme, const String& baseURL, const String& url)
-{
- return static_cast<CustomHandlersState>(m_webPagePrivate->m_client->isProtocolHandlerRegistered(scheme, baseURL, url));
-}
-
-void NavigatorContentUtilsClientBlackBerry::unregisterProtocolHandler(const String& scheme, const String& baseURL, const String& url)
-{
- m_webPagePrivate->m_client->unregisterProtocolHandler(scheme, baseURL, url);
-}
-#endif
-
-}
-
-#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
diff --git a/Source/WebKit/blackberry/WebCoreSupport/NavigatorContentUtilsClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/NavigatorContentUtilsClientBlackBerry.h
deleted file mode 100644
index dfa228cda..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/NavigatorContentUtilsClientBlackBerry.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 NavigatorContentUtilsClientBlackBerry_h
-#define NavigatorContentUtilsClientBlackBerry_h
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
-
-#include "NavigatorContentUtilsClient.h"
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-}
-}
-
-namespace WebCore {
-class NavigatorContentUtilsClientBlackBerry : public WebCore::NavigatorContentUtilsClient {
-public:
- explicit NavigatorContentUtilsClientBlackBerry(BlackBerry::WebKit::WebPagePrivate*);
- ~NavigatorContentUtilsClientBlackBerry() { }
-
- virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title);
-
-#if ENABLE(CUSTOM_SCHEME_HANDLER)
- virtual CustomHandlersState isProtocolHandlerRegistered(const String& scheme, const String& baseURL, const String& url);
- virtual void unregisterProtocolHandler(const String& scheme, const String& baseURL, const String& url);
-#endif
-
-private:
- BlackBerry::WebKit::WebPagePrivate* m_webPagePrivate;
-};
-}
-
-#endif
-#endif // NavigatorContentUtilsClientBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/NetworkInfoClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/NetworkInfoClientBlackBerry.cpp
deleted file mode 100644
index 415c259f4..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/NetworkInfoClientBlackBerry.cpp
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. 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
- * 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 "NetworkInfoClientBlackBerry.h"
-
-#include "Event.h"
-#include "NetworkInfo.h"
-#include "WebPage_p.h"
-
-#include <math.h>
-
-namespace WebCore {
-
-static const double networkSpeedNone = 0;
-static const double networkSpeedEthernet = 20.0;
-static const double networkSpeedWifi = 20.0;
-static const double networkSpeedGPRS = 7.2 / 1024.0;
-static const double networkSpeedEDGE = 30.0 / 1024.0;
-static const double networkSpeedUMTS = 48.0 / 1024.0;
-static const double networkSpeedHSPA = 1.7;
-static const double networkSpeedHSPAP = 5.25;
-static const double networkSpeedCDMA = 18.0 / 1024.0;
-static const double networkSpeedEVDO = 307.0 / 1024.0;
-static const double networkSpeedEVDOA = 397.0 / 1024.0;
-static const double networkSpeedEHRPD = 21.625;
-static const double networkSpeedLTE = 21.625;
-static const double networkSpeedDefault = INFINITY; // w3c draft states it should be infinity
-
-NetworkInfoClientBlackBerry::NetworkInfoClientBlackBerry(BlackBerry::WebKit::WebPagePrivate* webPagePrivate)
- : m_webPagePrivate(webPagePrivate)
- , m_controller(0)
- , m_isActive(false)
-{
-}
-
-void NetworkInfoClientBlackBerry::networkInfoControllerDestroyed()
-{
- delete this;
-}
-
-void NetworkInfoClientBlackBerry::startUpdating()
-{
- if (!m_isActive)
- // Add ourselves to listener so our values get updated whenever PPS calls.
- BlackBerry::Platform::NetworkInfo::instance()->addListener(this);
- m_isActive = true;
-}
-
-void NetworkInfoClientBlackBerry::stopUpdating()
-{
- if (m_isActive)
- BlackBerry::Platform::NetworkInfo::instance()->removeListener(this);
- m_isActive = false;
-}
-
-double NetworkInfoClientBlackBerry::bandwidth() const
-{
- switch (BlackBerry::Platform::NetworkInfo::instance()->getCurrentNetworkType()) {
- case BlackBerry::Platform::NetworkTypeWifi:
- return networkSpeedWifi;
- case BlackBerry::Platform::NetworkTypeCellular:
- switch (BlackBerry::Platform::NetworkInfo::instance()->getCurrentCellularType()) {
- case BlackBerry::Platform::CellularTypeGPRS:
- return networkSpeedGPRS;
- case BlackBerry::Platform::CellularTypeEDGE:
- return networkSpeedEDGE;
- case BlackBerry::Platform::CellularTypeUMTS:
- return networkSpeedUMTS;
- case BlackBerry::Platform::CellularTypeHSPA:
- return networkSpeedHSPA;
- case BlackBerry::Platform::CellularTypeHSPAP:
- return networkSpeedHSPAP;
- case BlackBerry::Platform::CellularTypeCDMA:
- return networkSpeedCDMA;
- case BlackBerry::Platform::CellularTypeEVDO:
- return networkSpeedEVDO;
- case BlackBerry::Platform::CellularTypeEVDOA:
- return networkSpeedEVDOA;
- case BlackBerry::Platform::CellularTypeEHRPD:
- return networkSpeedEHRPD;
- case BlackBerry::Platform::CellularTypeLTE:
- return networkSpeedLTE;
- case BlackBerry::Platform::CellularTypeUnknown:
- return networkSpeedDefault;
- }
- break;
- case BlackBerry::Platform::NetworkTypeWired:
- return networkSpeedEthernet;
- case BlackBerry::Platform::NetworkTypeNone:
- return networkSpeedNone;
- default:
- break;
- }
-
- return networkSpeedDefault;
-}
-
-bool NetworkInfoClientBlackBerry::metered() const
-{
- BlackBerry::Platform::InternalNetworkConnectionType cellType = BlackBerry::Platform::NetworkInfo::instance()->getCurrentNetworkType();
- if (cellType == BlackBerry::Platform::NetworkTypeCellular || cellType == BlackBerry::Platform::NetworkTypeBB)
- return true;
- return false;
-}
-
-void NetworkInfoClientBlackBerry::onCurrentNetworkTypeChange(BlackBerry::Platform::InternalNetworkConnectionType)
-{
- if (m_isActive) {
- RefPtr<NetworkInfo> newNetworkInfo = NetworkInfo::create(bandwidth(), metered());
- NetworkInfoController::from(m_webPagePrivate->m_page)->didChangeNetworkInformation(eventNames().webkitnetworkinfochangeEvent , newNetworkInfo.get());
- }
-}
-
-void NetworkInfoClientBlackBerry::onCurrentCellularTypeChange(BlackBerry::Platform::InternalCellularConnectionType)
-{
- // Only dispatch to listeners if the current type is cellular.
- if (BlackBerry::Platform::NetworkInfo::instance()->getCurrentNetworkType() == BlackBerry::Platform::NetworkTypeCellular && m_isActive) {
- RefPtr<NetworkInfo> newNetworkInfo = NetworkInfo::create(bandwidth(), metered());
- NetworkInfoController::from(m_webPagePrivate->m_page)->didChangeNetworkInformation(eventNames().webkitnetworkinfochangeEvent , newNetworkInfo.get());
- }
-}
-
-}
diff --git a/Source/WebKit/blackberry/WebCoreSupport/NetworkInfoClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/NetworkInfoClientBlackBerry.h
deleted file mode 100644
index 3b9d7b730..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/NetworkInfoClientBlackBerry.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 NetworkInfoClientBlackBerry_h
-#define NetworkInfoClientBlackBerry_h
-
-#include "NetworkInfoClient.h"
-#include "NetworkInfoController.h"
-
-#include <BlackBerryPlatformNetworkInfo.h>
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-}
-}
-
-namespace WebCore {
-
-class NetworkInfoClientBlackBerry : public NetworkInfoClient, public BlackBerry::Platform::NetworkInfoListener {
-public:
-
- NetworkInfoClientBlackBerry(BlackBerry::WebKit::WebPagePrivate*);
- ~NetworkInfoClientBlackBerry() { }
-
- virtual void networkInfoControllerDestroyed();
-
- void startUpdating();
- void stopUpdating();
- double bandwidth() const;
- bool metered() const;
-
- void onCurrentNetworkTypeChange(BlackBerry::Platform::InternalNetworkConnectionType newNetworkType);
- void onCurrentCellularTypeChange(BlackBerry::Platform::InternalCellularConnectionType newCellularType);
-
-private:
- BlackBerry::WebKit::WebPagePrivate* m_webPagePrivate;
- NetworkInfoController* m_controller;
- bool m_isActive;
-};
-}
-
-#endif
diff --git a/Source/WebKit/blackberry/WebCoreSupport/NotificationClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/NotificationClientBlackBerry.cpp
deleted file mode 100644
index 7780609ef..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/NotificationClientBlackBerry.cpp
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "NotificationClientBlackBerry.h"
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#include "Notification.h"
-#include "NotificationPermissionCallback.h"
-#include "ScriptExecutionContext.h"
-#include "VoidCallback.h"
-#include "WebPage_p.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefPtr.h>
-
-namespace WebCore {
-
-NotificationClientBlackBerry::NotificationClientBlackBerry(BlackBerry::WebKit::WebPagePrivate* webPagePrivate)
- : m_webPagePrivate(webPagePrivate)
-{
-}
-
-bool NotificationClientBlackBerry::show(Notification* notification)
-{
- m_webPagePrivate->notificationManager().show(notification);
- return true;
-}
-
-void NotificationClientBlackBerry::cancel(Notification* notification)
-{
- m_webPagePrivate->notificationManager().cancel(notification);
-}
-
-
-void NotificationClientBlackBerry::clearNotifications(ScriptExecutionContext* context)
-{
- m_webPagePrivate->notificationManager().clearNotifications(context);
-}
-
-void NotificationClientBlackBerry::notificationObjectDestroyed(Notification* notification)
-{
- m_webPagePrivate->notificationManager().notificationObjectDestroyed(notification);
-}
-
-void NotificationClientBlackBerry::notificationControllerDestroyed()
-{
- delete this;
-}
-
-void NotificationClientBlackBerry::requestPermission(ScriptExecutionContext* context, PassRefPtr<VoidCallback> callback)
-{
- m_webPagePrivate->notificationManager().requestPermission(context, callback);
-}
-
-void NotificationClientBlackBerry::requestPermission(ScriptExecutionContext* context, PassRefPtr<NotificationPermissionCallback> callback)
-{
- m_webPagePrivate->notificationManager().requestPermission(context, callback);
-}
-
-void NotificationClientBlackBerry::cancelRequestsForPermission(ScriptExecutionContext* context)
-{
- m_webPagePrivate->notificationManager().cancelRequestsForPermission(context);
-}
-
-NotificationClient::Permission NotificationClientBlackBerry::checkPermission(ScriptExecutionContext* context)
-{
- return m_webPagePrivate->notificationManager().checkPermission(context);
-}
-
-}
-
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
diff --git a/Source/WebKit/blackberry/WebCoreSupport/NotificationClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/NotificationClientBlackBerry.h
deleted file mode 100644
index ab4495d27..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/NotificationClientBlackBerry.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 NotificationClientBlackBerry_h
-#define NotificationClientBlackBerry_h
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#include "NotificationClient.h"
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-}
-}
-
-namespace WebCore {
-
-class NotificationClientBlackBerry : public NotificationClient {
-public:
- NotificationClientBlackBerry(BlackBerry::WebKit::WebPagePrivate*);
-
- virtual bool show(Notification*);
- virtual void cancel(Notification*);
- virtual void clearNotifications(ScriptExecutionContext*);
- virtual void notificationObjectDestroyed(Notification*);
- virtual void notificationControllerDestroyed();
-#if ENABLE(LEGACY_NOTIFICATIONS)
- virtual void requestPermission(ScriptExecutionContext*, PassRefPtr<VoidCallback>);
-#endif
-#if ENABLE(NOTIFICATIONS)
- virtual void requestPermission(ScriptExecutionContext*, PassRefPtr<NotificationPermissionCallback>);
-#endif
- virtual void cancelRequestsForPermission(ScriptExecutionContext*);
- virtual Permission checkPermission(ScriptExecutionContext*);
-
-private:
- BlackBerry::WebKit::WebPagePrivate* m_webPagePrivate;
-};
-
-}
-
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#endif // NotificationClientBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/PlatformStrategiesBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/PlatformStrategiesBlackBerry.cpp
deleted file mode 100644
index dcfef6053..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/PlatformStrategiesBlackBerry.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright (C) 2013 Research In Motion Limited. 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
- * 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 "PlatformStrategiesBlackBerry.h"
-
-#include "NotImplemented.h"
-#include "Page.h"
-#include "PageGroup.h"
-#include "PlatformCookieJar.h"
-#include "PluginDatabase.h"
-#include "PluginPackage.h"
-
-using namespace WebCore;
-
-void PlatformStrategiesBlackBerry::initialize()
-{
- DEFINE_STATIC_LOCAL(PlatformStrategiesBlackBerry, platformStrategies, ());
- setPlatformStrategies(&platformStrategies);
-}
-
-PlatformStrategiesBlackBerry::PlatformStrategiesBlackBerry()
-{
-}
-
-CookiesStrategy* PlatformStrategiesBlackBerry::createCookiesStrategy()
-{
- return this;
-}
-
-DatabaseStrategy* PlatformStrategiesBlackBerry::createDatabaseStrategy()
-{
- return this;
-}
-
-LoaderStrategy* PlatformStrategiesBlackBerry::createLoaderStrategy()
-{
- return this;
-}
-
-PasteboardStrategy* PlatformStrategiesBlackBerry::createPasteboardStrategy()
-{
- // This is currently used only by Mac.
- notImplemented();
- return 0;
-}
-
-PluginStrategy* PlatformStrategiesBlackBerry::createPluginStrategy()
-{
- return this;
-}
-
-SharedWorkerStrategy* PlatformStrategiesBlackBerry::createSharedWorkerStrategy()
-{
- return this;
-}
-
-StorageStrategy* PlatformStrategiesBlackBerry::createStorageStrategy()
-{
- return this;
-}
-
-VisitedLinkStrategy* PlatformStrategiesBlackBerry::createVisitedLinkStrategy()
-{
- return this;
-}
-
-// CookiesStrategy
-String PlatformStrategiesBlackBerry::cookiesForDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookiesForDOM(session, firstParty, url);
-}
-
-void PlatformStrategiesBlackBerry::setCookiesFromDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, const String& cookieString)
-{
- WebCore::setCookiesFromDOM(session, firstParty, url, cookieString);
-}
-
-bool PlatformStrategiesBlackBerry::cookiesEnabled(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookiesEnabled(session, firstParty, url);
-}
-
-String PlatformStrategiesBlackBerry::cookieRequestHeaderFieldValue(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookieRequestHeaderFieldValue(session, firstParty, url);
-}
-
-bool PlatformStrategiesBlackBerry::getRawCookies(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, Vector<Cookie>& rawCookies)
-{
- return WebCore::getRawCookies(session, firstParty, url, rawCookies);
-}
-
-void PlatformStrategiesBlackBerry::deleteCookie(const NetworkStorageSession& session, const KURL& url, const String& cookieName)
-{
- WebCore::deleteCookie(session, url, cookieName);
-}
-
-// PluginStrategy
-void PlatformStrategiesBlackBerry::refreshPlugins()
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- PluginDatabase::installedPlugins()->refresh();
-#endif
-}
-
-void PlatformStrategiesBlackBerry::getPluginInfo(const Page*, Vector<PluginInfo>& outPlugins)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- PluginDatabase* database = PluginDatabase::installedPlugins();
- const Vector<PluginPackage*> &plugins = database->plugins();
-
- for (size_t i = 0; i < plugins.size(); ++i) {
- PluginPackage* package = plugins[i];
-
- PluginInfo pluginInfo;
- pluginInfo.name = package->name();
- pluginInfo.file = package->fileName();
- pluginInfo.desc = package->description();
-
- const MIMEToDescriptionsMap& mimeToDescriptions = package->mimeToDescriptions();
- MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end();
- for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) {
- MimeClassInfo mime;
- mime.type = it->key;
- mime.desc = it->value;
- mime.extensions = package->mimeToExtensions().get(mime.type);
- pluginInfo.mimes.append(mime);
- }
-
- outPlugins.append(pluginInfo);
- }
-#else
- UNUSED_PARAM(outPlugins);
-#endif
-}
-
-// VisitedLinkStrategy
-bool PlatformStrategiesBlackBerry::isLinkVisited(Page* page, LinkHash hash, const KURL&, const AtomicString&)
-{
- return page->group().isLinkVisited(hash);
-}
-
-void PlatformStrategiesBlackBerry::addVisitedLink(Page* page, LinkHash hash)
-{
- page->group().addVisitedLinkHash(hash);
-}
diff --git a/Source/WebKit/blackberry/WebCoreSupport/PlatformStrategiesBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/PlatformStrategiesBlackBerry.h
deleted file mode 100644
index c515645d2..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/PlatformStrategiesBlackBerry.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2013 Research In Motion Limited. 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
- * 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 PlatformStrategiesBlackBerry_h
-#define PlatformStrategiesBlackBerry_h
-
-#include "CookiesStrategy.h"
-#include "DatabaseStrategy.h"
-#include "LoaderStrategy.h"
-#include "PasteboardStrategy.h"
-#include "PlatformStrategies.h"
-#include "PluginStrategy.h"
-#include "SharedWorkerStrategy.h"
-#include "StorageStrategy.h"
-#include "VisitedLinkStrategy.h"
-
-class PlatformStrategiesBlackBerry : public WebCore::PlatformStrategies, private WebCore::CookiesStrategy, private WebCore::DatabaseStrategy, private WebCore::LoaderStrategy, private WebCore::PluginStrategy, private WebCore::SharedWorkerStrategy, private WebCore::StorageStrategy, private WebCore::VisitedLinkStrategy {
-public:
- static void initialize();
-
-private:
- PlatformStrategiesBlackBerry();
-
- // WebCore::PlatformStrategies
- virtual WebCore::CookiesStrategy* createCookiesStrategy();
- virtual WebCore::DatabaseStrategy* createDatabaseStrategy();
- virtual WebCore::LoaderStrategy* createLoaderStrategy();
- virtual WebCore::PasteboardStrategy* createPasteboardStrategy();
- virtual WebCore::PluginStrategy* createPluginStrategy();
- virtual WebCore::SharedWorkerStrategy* createSharedWorkerStrategy();
- virtual WebCore::StorageStrategy* createStorageStrategy();
- virtual WebCore::VisitedLinkStrategy* createVisitedLinkStrategy();
-
- // WebCore::CookiesStrategy
- virtual String cookiesForDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual void setCookiesFromDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, const String&);
- virtual bool cookiesEnabled(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual String cookieRequestHeaderFieldValue(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual bool getRawCookies(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, Vector<WebCore::Cookie>&);
- virtual void deleteCookie(const WebCore::NetworkStorageSession&, const WebCore::KURL&, const String&);
-
- // WebCore::DatabaseStrategy
- // - Using default implementation.
-
- // WebCore::PluginStrategy
- virtual void refreshPlugins();
- virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&);
-
- // WebCore::VisitedLinkStrategy
- virtual bool isLinkVisited(WebCore::Page*, WebCore::LinkHash, const WebCore::KURL& baseURL, const WTF::AtomicString& attributeURL);
- virtual void addVisitedLink(WebCore::Page*, WebCore::LinkHash);
-};
-
-#endif // PlatformStrategiesBlackBerry_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxElement.cpp b/Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxElement.cpp
deleted file mode 100644
index 453f211b0..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxElement.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "SuggestionBoxElement.h"
-
-#include "Frame.h"
-#include "HTMLNames.h"
-#include "MouseEvent.h"
-#include "SuggestionBoxHandler.h"
-#include "TouchEvent.h"
-
-namespace WebCore {
-
-SuggestionBoxElement::SuggestionBoxElement(SuggestionBoxHandler* element, String& value, const QualifiedName& name, Document* document)
- : HTMLDivElement(name, document)
- , m_suggestionBox(element)
- , m_value(value)
-{
-}
-
-SuggestionBoxElement::~SuggestionBoxElement()
-{
-}
-
-PassRefPtr<SuggestionBoxElement> SuggestionBoxElement::create(SuggestionBoxHandler* element, String& value, Document* document)
-{
- return adoptRef(new SuggestionBoxElement(element, value, HTMLNames::divTag, document));
-}
-
-void SuggestionBoxElement::defaultEventHandler(Event* event)
-{
- if (event->isMouseEvent()) {
- // Capture a mouse down event with left click and set the parent input element to the node's text
- if (event->type() == eventNames().mousedownEvent && static_cast<MouseEvent*>(event)->button() != RightButton && document()->frame()) {
- m_suggestionBox->changeInputElementInnerTextValue(m_value);
- m_suggestionBox->hideDropdownBox();
- }
- }
-}
-
-} /* namespace WebCore */
diff --git a/Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxElement.h b/Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxElement.h
deleted file mode 100644
index 25edf1ac3..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxElement.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 SuggestionBoxElement_h
-#define SuggestionBoxElement_h
-
-#include "HTMLDivElement.h"
-
-namespace WebCore {
-
-class SuggestionBoxHandler;
-class Event;
-
-class SuggestionBoxElement : public HTMLDivElement {
-public:
- static PassRefPtr<SuggestionBoxElement> create(SuggestionBoxHandler*, String&, Document*);
- virtual ~SuggestionBoxElement();
-
-private:
- SuggestionBoxElement(SuggestionBoxHandler*, String&, const QualifiedName&, Document*);
-
- virtual void defaultEventHandler(Event*);
-
- SuggestionBoxHandler* m_suggestionBox;
- String m_value;
-};
-
-} /* namespace WebCore */
-#endif /* SuggestionBoxElement_h */
diff --git a/Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxHandler.cpp b/Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxHandler.cpp
deleted file mode 100644
index a88f300c9..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxHandler.cpp
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- * Copyright (C) 2012 Research In Motion Limited. 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 "SuggestionBoxHandler.h"
-
-#include "CSSPropertyNames.h"
-#include "CSSValueKeywords.h"
-#include "DOMTokenList.h"
-#include "ElementShadow.h"
-#include "ExceptionCodePlaceholder.h"
-#include "HTMLCollection.h"
-#include "HTMLDataListElement.h"
-#include "HTMLDivElement.h"
-#include "HTMLInputElement.h"
-#include "HTMLNames.h"
-#include "HTMLOptionElement.h"
-#include "HTMLSpanElement.h"
-#include "RenderBlock.h"
-#include "RenderObject.h"
-#include "ShadowRoot.h"
-#include "StyleResolver.h"
-#include "SuggestionBoxElement.h"
-#include "Text.h"
-
-#include <BlackBerryPlatformLog.h>
-#include <wtf/PassOwnPtr.h>
-
-namespace WebCore {
-
-using namespace HTMLNames;
-
-SuggestionBoxHandler::SuggestionBoxHandler(HTMLInputElement* element)
- : m_inputElement(element)
-{
-}
-
-SuggestionBoxHandler::~SuggestionBoxHandler()
-{
- hideDropdownBox();
-}
-
-PassOwnPtr<SuggestionBoxHandler> SuggestionBoxHandler::create(HTMLInputElement* element)
-{
- return adoptPtr(new SuggestionBoxHandler(element));
-}
-
-void SuggestionBoxHandler::setInputElementAndUpdateDisplay(HTMLInputElement* element, bool allowEmptyPrefix)
-{
- hideDropdownBox();
- m_inputElement = element;
- showDropdownBox(allowEmptyPrefix);
-}
-
-void SuggestionBoxHandler::showDropdownBox(bool allowEmptyPrefix)
-{
- // Clearing suggestions and parse again
- m_suggestions.clear();
- parseSuggestions(allowEmptyPrefix);
-
- // Don't bother building the tree if suggestion size is 0.
- // We need to call insertSuggestions to clear previous suggestions
- // in the DOM if suggestion size is 0.
- if (!m_dropdownBox) {
- if (!m_suggestions.size())
- return;
- buildDropdownBoxTree();
- }
-
- insertSuggestionsToDropdownBox();
-}
-
-void SuggestionBoxHandler::hideDropdownBox()
-{
- if (m_dropdownBox) {
- if (ShadowRoot* shadowRoot = m_inputElement->userAgentShadowRoot()) {
- ExceptionCode ec;
- shadowRoot->removeChild(m_dropdownBox.get(), ec);
- }
- m_dropdownBox = 0;
- }
- m_suggestions.clear();
-}
-
-void SuggestionBoxHandler::changeInputElementInnerTextValue(String& text)
-{
- m_inputElement->setInnerTextValue(text);
-}
-
-void SuggestionBoxHandler::parseSuggestions(bool allowEmptyPrefix)
-{
- // Return if this handler doesn't have an input element to attach to
- if (!m_inputElement)
- return;
-
- // List attribute exists, check if datalist exists.
- HTMLDataListElement* dList = m_inputElement->dataList();
- if (!dList)
- return;
-
- RefPtr<HTMLCollection> optionsList = dList->options();
- String prefix = m_inputElement->innerTextValue();
-
- // Exit if:
- // 1) If length of nodes in datalist is empty, return.
- // 2) If we do not allow empty prefixes and prefix is null
- if (!optionsList->length() || (!allowEmptyPrefix && prefix.isEmpty())) {
- hideDropdownBox();
- return;
- }
-
- // Prefix match the inner text value of the input against the candidate suggestions.
- // Make sure the length of the suggestion is smaller than max length
- for (unsigned i = 0; i < optionsList->length(); i++) {
- HTMLOptionElement* target = toHTMLOptionElement((optionsList->item(i)));
- if (!m_inputElement->isValidValue(target->value()))
- continue;
- String candidateString = m_inputElement->sanitizeValue(target->value());
- if (!candidateString.findIgnoringCase(prefix) && candidateString.length() <= (unsigned) m_inputElement->maxLength())
- m_suggestions.append(candidateString);
- }
-}
-
-void SuggestionBoxHandler::insertSuggestionsToDropdownBox()
-{
- // In case someone is calling this function without successfully building the dropdownBox tree
- ASSERT(m_dropdownBox);
-
- Document* document = m_dropdownBox->document();
-
- // Clear the dropdown box's previous values
- m_dropdownBox->removeChildren();
-
- int prefixIndex = m_inputElement->innerTextValue().length();
-
- unsigned total = m_suggestions.size();
- for (unsigned i = 0; i < total; ++i) {
- RefPtr<HTMLElement> suggestionItem = SuggestionBoxElement::create(this, m_suggestions[i], document);
- if (i < total - 1)
- suggestionItem->setPseudo("-webkit-suggestion-dropdown-box-item");
- else
- suggestionItem->setPseudo("-webkit-suggestion-dropdown-box-item-last");
-
- // Append the part where it prefix matched
- RefPtr<HTMLSpanElement> prefixElement = HTMLSpanElement::create(HTMLNames::spanTag, document);
- prefixElement->appendChild(Text::create(document, m_suggestions[i].substring(0, prefixIndex)));
- prefixElement->setPseudo("-webkit-suggestion-prefix-text");
- suggestionItem->appendChild(prefixElement.release(), ASSERT_NO_EXCEPTION);
-
- // Append the rest of the text in the suggestion item
- suggestionItem->appendChild(Text::create(document, m_suggestions[i].substring(prefixIndex)), ASSERT_NO_EXCEPTION);
- m_dropdownBox->appendChild(suggestionItem.release(), ASSERT_NO_EXCEPTION);
- }
-}
-
-static void adjustDropdownBoxPosition(const LayoutRect& hostRect, HTMLElement* dropdownBox)
-{
- // FIXME: reverse positioning and scroll
- ASSERT(dropdownBox);
- if (hostRect.isEmpty())
- return;
- double hostX = hostRect.x();
- double hostY = hostRect.y();
- if (RenderObject* renderer = dropdownBox->renderer()) {
- if (RenderBox* container = renderer->containingBlock()) {
- FloatPoint containerLocation = container->localToAbsolute();
- hostX -= containerLocation.x() + container->borderLeft();
- hostY -= containerLocation.y() + container->borderTop();
- }
- }
-
- dropdownBox->setInlineStyleProperty(CSSPropertyTop, hostY + hostRect.height(), CSSPrimitiveValue::CSS_PX);
- // The 'left' value of ::-webkit-validation-bubble-arrow.
- const int bubbleArrowTopOffset = 32;
- double bubbleX = hostX;
- if (hostRect.width() / 2 < bubbleArrowTopOffset)
- bubbleX = max(hostX + hostRect.width() / 2 - bubbleArrowTopOffset, 0.0);
- dropdownBox->setInlineStyleProperty(CSSPropertyLeft, bubbleX, CSSPrimitiveValue::CSS_PX);
-}
-
-void SuggestionBoxHandler::buildDropdownBoxTree()
-{
- ShadowRoot* shadowRoot = m_inputElement->ensureUserAgentShadowRoot();
-
- // Return if shadowRoot is null
- if (!shadowRoot)
- return;
-
- Document* document = m_inputElement->document();
- m_dropdownBox = HTMLDivElement::create(document);
- m_dropdownBox->setPseudo("-webkit-suggestion-dropdown-box");
- // Need to force position:absolute because RenderMenuList doesn't assume it
- // contains non-absolute or non-fixed renderers as children.
- m_dropdownBox->setInlineStyleProperty(CSSPropertyPosition, CSSValueAbsolute);
-
- // Minus 2 pixels because of the 1px borders on the suggestion box.
- m_dropdownBox->setInlineStyleProperty(CSSPropertyWidth, String::number(m_inputElement->boundingBox().width().rawValue() - 2) + "px", false);
- ExceptionCode ec = 0;
- shadowRoot->appendChild(m_dropdownBox.get(), ec);
- ASSERT(!ec);
- document->updateLayout();
- adjustDropdownBoxPosition(m_inputElement->boundingBox(), m_dropdownBox.get());
-}
-
-} // namespace WebCore
diff --git a/Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxHandler.h b/Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxHandler.h
deleted file mode 100644
index 429b468e1..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxHandler.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- * Copyright (C) 2012 Research In Motion Limited. 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.
- */
-
-#ifndef SuggestionBoxHandler_h
-#define SuggestionBoxHandler_h
-
-#include <wtf/Noncopyable.h>
-#include <wtf/RefPtr.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-class HTMLInputElement;
-class HTMLElement;
-
-class SuggestionBoxHandler {
- WTF_MAKE_NONCOPYABLE(SuggestionBoxHandler);
-public:
- static PassOwnPtr<SuggestionBoxHandler> create(HTMLInputElement*);
- ~SuggestionBoxHandler();
- void setInputElementAndUpdateDisplay(HTMLInputElement*, bool allowEmptyPrefix = false);
- void changeInputElementInnerTextValue(String& text);
- void showDropdownBox(bool);
- void hideDropdownBox();
- HTMLInputElement* focusedElement() const { return m_inputElement.get(); }
-
-private:
- SuggestionBoxHandler(HTMLInputElement*);
- void insertSuggestionsToDropdownBox();
- void buildDropdownBoxTree();
- void parseSuggestions(bool);
-
- RefPtr<HTMLInputElement> m_inputElement;
- RefPtr<HTMLElement> m_dropdownBox;
- Vector<String> m_suggestions;
-};
-
-} // namespace WebCore
-
-#endif // SuggestionBoxHandler_h
diff --git a/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp b/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp
deleted file mode 100644
index 67f2379db..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "UserMediaClientImpl.h"
-
-#if ENABLE(MEDIA_STREAM)
-#include "MediaStreamDescriptor.h"
-#include "ScriptExecutionContext.h"
-#include "SecurityOrigin.h"
-#include "WebPage.h"
-#include "WebPageClient.h"
-
-#include <BlackBerryPlatformWebMediaStreamDescriptor.h>
-#include <BlackBerryPlatformWebUserMediaRequest.h>
-#include <wtf/HashMap.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/RefPtr.h>
-#include <wtf/text/CString.h>
-
-using namespace BlackBerry::Platform;
-
-namespace WebCore {
-
-class WebUserMediaRequestClientImpl;
-
-typedef HashMap<UserMediaRequest*, OwnPtr<WebUserMediaRequestClientImpl> > UserMediaRequestsMap;
-
-static UserMediaRequestsMap& userMediaRequestsMap()
-{
- DEFINE_STATIC_LOCAL(UserMediaRequestsMap, requests, ());
- return requests;
-}
-
-static PassRefPtr<MediaStreamSource> toMediaStreamSource(const WebMediaStreamSource& src)
-{
- return MediaStreamSource::create(WTF::String::fromUTF8(src.id().c_str()), static_cast<MediaStreamSource::Type>(src.type()), WTF::String::fromUTF8(src.name().c_str()));
-}
-
-static PassRefPtr<MediaStreamDescriptor> toMediaStreamDescriptor(const WebMediaStreamDescriptor& d)
-{
- MediaStreamSourceVector audioSources;
- for (size_t i = 0; i < d.audios().size(); i++) {
- RefPtr<MediaStreamSource> src = toMediaStreamSource(d.audios()[i]);
- audioSources.append(src.release());
- }
-
- MediaStreamSourceVector videoSources;
- for (size_t i = 0; i < d.videos().size(); i++) {
- RefPtr<MediaStreamSource> src = toMediaStreamSource(d.videos()[i]);
- videoSources.append(src.release());
- }
-
- return MediaStreamDescriptor::create(WTF::String::fromUTF8(d.label().c_str()), audioSources, videoSources);
-}
-
-class WebUserMediaRequestClientImpl : public WebUserMediaRequestClient {
-public:
- WebUserMediaRequestClientImpl(PassRefPtr<UserMediaRequest> prpRequest)
- : m_request(prpRequest)
- {
- }
-
- void requestSucceeded(const WebMediaStreamDescriptor& d)
- {
- if (m_request) {
- RefPtr<MediaStreamDescriptor> descriptor = toMediaStreamDescriptor(d);
- m_request->succeed(descriptor);
-
- userMediaRequestsMap().remove(m_request.get());
- }
- }
-
- void requestFailed()
- {
- if (m_request) {
- m_request->fail();
- userMediaRequestsMap().remove(m_request.get());
- }
- }
-
-private:
- RefPtr<UserMediaRequest> m_request;
-};
-
-UserMediaClientImpl::UserMediaClientImpl(BlackBerry::WebKit::WebPage* page)
- : m_page(page)
-{
-}
-
-UserMediaClientImpl::~UserMediaClientImpl()
-{
-}
-
-void UserMediaClientImpl::pageDestroyed()
-{
- delete this;
-}
-
-void UserMediaClientImpl::requestUserMedia(PassRefPtr<UserMediaRequest> prpRequest, const MediaStreamSourceVector&, const MediaStreamSourceVector&)
-{
- UserMediaRequest* request = prpRequest.get();
- OwnPtr<WebUserMediaRequestClientImpl> requestClient = adoptPtr(new WebUserMediaRequestClientImpl(prpRequest));
-
- SecurityOrigin* origin = request->scriptExecutionContext()->securityOrigin();
- m_page->client()->requestUserMedia(WebUserMediaRequest(request->audio(), request->video(), origin->toString(), requestClient.get()));
- userMediaRequestsMap().add(request, requestClient.release());
-}
-
-void UserMediaClientImpl::cancelUserMediaRequest(UserMediaRequest* request)
-{
- UserMediaRequestsMap::iterator it = userMediaRequestsMap().find(request);
- if (it == userMediaRequestsMap().end())
- return;
-
- SecurityOrigin* origin = request->scriptExecutionContext()->securityOrigin();
- m_page->client()->cancelUserMediaRequest(WebUserMediaRequest(request->audio(), request->video(), origin->toString(), it->value.get()));
- userMediaRequestsMap().remove(it);
-}
-
-}
-#endif
diff --git a/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h b/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h
deleted file mode 100644
index f76cb3d56..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 UserMediaClientImpl_h
-#define UserMediaClientImpl_h
-
-#if ENABLE(MEDIA_STREAM)
-
-#include "MediaStreamSource.h"
-#include "UserMediaClient.h"
-
-#include <wtf/PassRefPtr.h>
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPage;
-}
-}
-
-namespace WebCore {
-
-class UserMediaRequest;
-
-class UserMediaClientImpl : public WebCore::UserMediaClient {
-public:
- UserMediaClientImpl(BlackBerry::WebKit::WebPage*);
- ~UserMediaClientImpl();
-
- void pageDestroyed();
- void requestUserMedia(PassRefPtr<WebCore::UserMediaRequest>, const WebCore::MediaStreamSourceVector& audioSources, const WebCore::MediaStreamSourceVector& videoSources);
- void cancelUserMediaRequest(WebCore::UserMediaRequest*);
-
-private:
- UserMediaClientImpl();
-
- BlackBerry::WebKit::WebPage* m_page;
-};
-
-}
-
-#endif
-#endif
diff --git a/Source/WebKit/blackberry/WebCoreSupport/VibrationClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/VibrationClientBlackBerry.cpp
deleted file mode 100644
index 6dcf71e5e..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/VibrationClientBlackBerry.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "VibrationClientBlackBerry.h"
-
-#include "BlackBerryPlatformVibrate.h"
-
-#if ENABLE(VIBRATION)
-
-namespace WebCore {
-
-VibrationClientBlackBerry::VibrationClientBlackBerry()
-{
-}
-
-void VibrationClientBlackBerry::vibrate(const unsigned& time)
-{
- BlackBerryPlatformVibrate::vibrate(time, 1.);
-}
-
-void VibrationClientBlackBerry::cancelVibration()
-{
- BlackBerryPlatformVibrate::vibrate(0, 0.);
-}
-
-void VibrationClientBlackBerry::vibrationDestroyed()
-{
- cancelVibration();
- delete this;
-}
-
-}
-
-#endif
diff --git a/Source/WebKit/blackberry/WebCoreSupport/VibrationClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/VibrationClientBlackBerry.h
deleted file mode 100644
index 592953c0f..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/VibrationClientBlackBerry.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 VibrationClientBlackBerry_h
-#define VibrationClientBlackBerry_h
-
-#include "VibrationClient.h"
-
-namespace WebCore {
-
-class VibrationClientBlackBerry : public VibrationClient {
-public:
- VibrationClientBlackBerry();
- ~VibrationClientBlackBerry() { }
-
- void vibrate(const unsigned& time);
- void cancelVibration();
- void vibrationDestroyed();
-};
-
-}
-
-#endif
diff --git a/Source/WebKit/blackberry/WebCoreSupport/generateAboutDataFeatures.pl b/Source/WebKit/blackberry/WebCoreSupport/generateAboutDataFeatures.pl
deleted file mode 100755
index 62c7ba72f..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/generateAboutDataFeatures.pl
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/perl -w
-
-# Copyright (C) 2011 Research In Motion Limited. 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
-# 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
-
-use strict;
-
-my $macro = shift;
-my $inputFileName = shift;
-my $outputFileName = shift;
-my $input;
-my $output;
-
-open($input, '<', $inputFileName) or die "Can't open file for read: $inputFileName $!";
-chop(my @features = <$input>);
-close($input);
-
-open($output, '>', $outputFileName) or die "Can't open file for write: $outputFileName $!";
-
-print $output "// This is a generated fragment of about features for AboutData.cpp of the BlackBerry porting.\n";
-print $output "// Don't edit me manually.\n\n";
-
-foreach my $feature(@features) {
- print $output "#if " . $macro . "(" . $feature . ")\n";
- print $output " trueList.append(\n";
- print $output "#else\n";
- print $output " falseList.append(\n";
- print $output "#endif\n";
- print $output " " . "\"" . $feature . "\");\n\n";
-}
-
-close($output);
-
diff --git a/Source/WebKit/blackberry/WebCoreSupport/inspectorBB.js b/Source/WebKit/blackberry/WebCoreSupport/inspectorBB.js
deleted file mode 100644
index cede2ea0a..000000000
--- a/Source/WebKit/blackberry/WebCoreSupport/inspectorBB.js
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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
- */
-var context = {};
-(function () {
- // FIXME: Turn this to whatever the value of --enable-file-system for chrome.
- Preferences.fileSystemEnabled = false;
-})();
-InspectorFrontendHost.copyText = function(tmp) {
- var encoded = encodeURI(tmp);
- var text = 'data:text/plain;charset=utf-8,' + encoded;
- window.open(text, "_blank");
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/AboutData.cpp b/Source/WebKit/blackberry/WebKitSupport/AboutData.cpp
deleted file mode 100644
index 9dbd0fbc0..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/AboutData.cpp
+++ /dev/null
@@ -1,549 +0,0 @@
-/*
- * Copyright (C) 2010, 2011 Research In Motion Limited. 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
- * 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 "AboutData.h"
-
-#include "AboutTemplate.html.cpp"
-#include "CacheHelper.h"
-#include "CookieManager.h"
-#include "JSDOMWindow.h"
-#include "MemoryCache.h"
-#include "MemoryStatistics.h"
-#include "SurfacePool.h"
-#include "WebKitVersion.h"
-
-#include <BlackBerryPlatformLog.h>
-#include <BlackBerryPlatformMemory.h>
-#include <BlackBerryPlatformSettings.h>
-#include <BuildInformation.h>
-#include <heap/Heap.h>
-#include <process.h>
-#include <runtime/VM.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <wtf/text/CString.h>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-static String writeFeatures(const Vector<String>& trueList, const Vector<String>& falseList)
-{
- String ret;
- for (unsigned int i = 0, j = 0; i < trueList.size() || j < falseList.size();) {
- bool pickFromFalse = ((i >= trueList.size()) || (j < falseList.size() && strcmp(falseList[j].ascii().data(), trueList[i].ascii().data()) < 0));
- const String& item = (pickFromFalse ? falseList : trueList)[ (pickFromFalse ? j : i)++ ];
- ret += String("<tr><td><div class='" + String(pickFromFalse ? "false" : "true") + "'" + (item.length() >= 30 ? " style='font-size:10px;' " : "") + ">" + item + "</div></td></tr>");
- }
- return ret;
-}
-
-template<class T> static String numberToHTMLTr(const String& description, T number)
-{
- return String("<tr><td>") + description + "</td><td>" + String::number(number) + "</td></tr>";
-}
-
-template<> String numberToHTMLTr<bool>(const String& description, bool truth)
-{
- return String("<tr><td>") + description + "</td><td>" + (truth?"true":"false") + "</td></tr>";
-}
-
-static String configPage()
-{
- StringBuilder builder;
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- builder.append(writeHeader("Configuration"));
- builder.appendLiteral("<div class=\"box\"><div class=\"box-title\">Compiler Information</div><table class='fixed-table'><col width=75%><col width=25%>");
-#if COMPILER(MSVC)
- builder.appendLiteral("<tr><td>Microsoft Visual C++</td><td>MSVC</td></tr>");
- builder.append("<tr><td>_MSC_VER</td><td>" + String::number(_MSC_VER) + "</td></tr>");
- builder.append("<tr><td>_MSC_FULL_VER</td><td>" + String::number(_MSC_FULL_VER) + "</td></tr>");
- builder.append("<tr><td>_MSC_BUILD</td><td>" + String::number(_MSC_BUILD) + "</td></tr>");
-#elif COMPILER(RVCT)
- builder.appendLiteral("<tr><td>ARM RealView Compiler Toolkit</td><td>RVCT</td></tr>");
- builder.append("<tr><td>__ARMCC_VERSION</td><td>" + String::number(__ARMCC_VERSION) + "</td></tr>");
-#if COMPILER(RVCT4GNU)
- builder.appendLiteral("<tr><td>RVCT 4+ in --gnu mode</td><td>1</td></tr>");
-#endif
-#elif COMPILER(GCC)
- builder.append("<tr><td>GCC</td><td>" + String::number(__GNUC__) + "." + String::number(__GNUC_MINOR__) + "." + String::number(__GNUC_PATCHLEVEL__) + "</td></tr>");
-#endif
-
- // Add "" to satisfy check-webkit-style.
- builder.appendLiteral("");
-
- builder.append(String("</table></div><br><div class='box'><div class='box-title'>CPU Information</div><table class='fixed-table'><col width=75%><col width=25%>"));
-#if CPU(X86)
- builder.appendLiteral("<tr><td>X86</td><td></td></tr>");
-#elif CPU(ARM)
- builder.appendLiteral("<tr><td>ARM</td><td></td></tr>");
- builder.append("<tr><td>ARM_ARCH_VERSION</td><td>" + String::number(WTF_ARM_ARCH_VERSION) + "</td></tr>");
- builder.append("<tr><td>THUMB_ARCH_VERSION</td><td>" + String::number(WTF_THUMB_ARCH_VERSION) + "</td></tr>");
- builder.append("<tr><td>THUMB2</td><td>" + String::number(WTF_CPU_ARM_THUMB2) + "</td></tr>");
-#endif
- builder.appendLiteral("<tr><td>Endianness</td><td>");
-#if CPU(BIG_ENDIAN)
- builder.appendLiteral("big");
-#elif CPU(MIDDLE_ENDIAN)
- builder.appendLiteral("middle");
-#else
- builder.appendLiteral("little");
-#endif
- builder.appendLiteral("</td></tr>");
-
- builder.append(String("</table></div><br><div class='box'><div class='box-title'>Platform Information</div><table class='fixed-table'><col width=75%><col width=25%>"));
- builder.append("<tr><td>WebKit Version</td><td>" + String::number(WEBKIT_MAJOR_VERSION) + "." + String::number(WEBKIT_MINOR_VERSION) + "</td></tr>");
- builder.appendLiteral("<tr><td>BlackBerry</td><td>");
-#if PLATFORM(BLACKBERRY)
- builder.appendLiteral("1");
-#else
- builder.appendLiteral("0");
-#endif
- builder.appendLiteral("</td></tr>");
- builder.appendLiteral("<tr><td>__STDC_ISO_10646__</td><td>");
-#ifdef __STDC_ISO_10646__
- builder.appendLiteral("1");
-#else
- builder.appendLiteral("0");
-#endif
- builder.appendLiteral("</td></tr>");
-
- BlackBerry::Platform::Settings* settings = BlackBerry::Platform::Settings::instance();
- builder.append(String("</table></div><br><div class='box'><div class='box-title'>Platform Settings</div><table style='font-size:11px;' class='fixed-table'><col width=75%><col width=25%>"));
- builder.append(numberToHTMLTr("isRSSFilteringEnabled", settings->isRSSFilteringEnabled()));
- builder.append(numberToHTMLTr("maxPixelsPerDecodedImage", settings->maxPixelsPerDecodedImage()));
- builder.append(numberToHTMLTr("shouldReportLowMemoryToUser", settings->shouldReportLowMemoryToUser()));
- builder.append(numberToHTMLTr("numberOfBackingStoreFrontBuffers", settings->numberOfBackingStoreFrontBuffers()));
- builder.append(numberToHTMLTr("numberOfBackingStoreBackBuffers", settings->numberOfBackingStoreBackBuffers()));
- builder.append(numberToHTMLTr("tabsSupportedByClient", settings->tabsSupportedByClient()));
- builder.append(numberToHTMLTr("contextMenuEnabled", settings->contextMenuEnabled()));
- builder.append(numberToHTMLTr("selectionEnabled", settings->selectionEnabled()));
- builder.append(numberToHTMLTr("fineCursorControlEnabled", settings->fineCursorControlEnabled()));
- builder.append(numberToHTMLTr("alwaysShowKeyboardOnFocus", settings->alwaysShowKeyboardOnFocus()));
- builder.append(numberToHTMLTr("allowedScrollAdjustmentForInputFields", settings->allowedScrollAdjustmentForInputFields()));
- builder.append(numberToHTMLTr("unrestrictedResizeEvents", settings->unrestrictedResizeEvents()));
- builder.append(numberToHTMLTr("isBridgeBrowser", settings->isBridgeBrowser()));
- builder.append(numberToHTMLTr("showImageLocationOptionsInGCM", settings->showImageLocationOptionsInGCM()));
- builder.append(numberToHTMLTr("forceGLES2WindowUsage", settings->forceGLES2WindowUsage()));
- builder.append(numberToHTMLTr("maxClickableSpeed", settings->maxClickableSpeed()));
- builder.append(numberToHTMLTr("maxJitterRadiusClick", settings->maxJitterRadiusClick()));
- builder.append(numberToHTMLTr("maxJitterRadiusTap", settings->maxJitterRadiusTap()));
- builder.append(numberToHTMLTr("maxJitterRadiusSingleTouchMove", settings->maxJitterRadiusSingleTouchMove()));
- builder.append(numberToHTMLTr("maxJitterRadiusTouchHold", settings->maxJitterRadiusTouchHold()));
- builder.append(numberToHTMLTr("maxJitterRadiusHandleDrag", settings->maxJitterRadiusHandleDrag()));
- builder.append(numberToHTMLTr("maxJitterDistanceClick", settings->maxJitterDistanceClick()));
- builder.append(numberToHTMLTr("maxJitterDistanceTap", settings->maxJitterDistanceTap()));
- builder.append(numberToHTMLTr("maxJitterDistanceSingleTouchMove", settings->maxJitterDistanceSingleTouchMove()));
- builder.append(numberToHTMLTr("maxJitterDistanceTouchHold", settings->maxJitterDistanceTouchHold()));
- builder.append(numberToHTMLTr("maxJitterDistanceHandleDrag", settings->maxJitterDistanceHandleDrag()));
- builder.append(numberToHTMLTr("topFatFingerPadding", settings->topFatFingerPadding()));
- builder.append(numberToHTMLTr("rightFatFingerPadding", settings->rightFatFingerPadding()));
- builder.append(numberToHTMLTr("bottomFatFingerPadding", settings->bottomFatFingerPadding()));
- builder.append(numberToHTMLTr("maxSelectionNeckHeight", settings->maxSelectionNeckHeight()));
- builder.append(numberToHTMLTr("leftFatFingerPadding", settings->leftFatFingerPadding()));
-
- Vector<String> trueList, falseList;
-#include "AboutDataEnableFeatures.cpp"
- builder.append(String("</table></div><br><div class='box'><div class='box-title'>WebKit Features (ENABLE_)</div><table class='fixed-table'>"));
-
- builder.append(writeFeatures(trueList, falseList));
-
- trueList.clear();
- falseList.clear();
-#include "AboutDataHaveFeatures.cpp"
- builder.append(String("</table></div><br><div class='box'><div class='box-title'>WebKit Features (HAVE_)</div><table class='fixed-table'>"));
-
- builder.append(writeFeatures(trueList, falseList));
-
- trueList.clear();
- falseList.clear();
-#include "AboutDataUseFeatures.cpp"
- builder.append(String("</table></div><br><div class='box'><div class='box-title'>WebKit Features (USE_)</div><table class='fixed-table'>"));
- builder.append(writeFeatures(trueList, falseList));
- builder.append(String("</table></div></body></html>"));
-#endif
-
- return builder.toString();
-}
-
-static String cacheTypeStatisticToHTMLTr(const String& description, const MemoryCache::TypeStatistic& statistic)
-{
- const int s_kiloByte = 1024;
- return String("<tr><td>") + description + "</td>"
- + "<td>" + String::number(statistic.count) + "</td>"
- + "<td>" + String::number(statistic.size / s_kiloByte) + "</td>"
- + "<td>" + String::number(statistic.liveSize / s_kiloByte) + "</td>"
- + "<td>" + String::number(statistic.decodedSize / s_kiloByte) + "</td>"
- + "</tr>";
-}
-
-static void dumpJSCTypeCountSetToTableHTML(StringBuilder& tableHTML, JSC::TypeCountSet* typeCountSet)
-{
- if (!typeCountSet)
- return;
-
- for (JSC::TypeCountSet::const_iterator iter = typeCountSet->begin(); iter != typeCountSet->end(); ++iter)
- tableHTML.append(numberToHTMLTr(iter->key, iter->value));
-}
-
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
-static inline struct malloc_stats mallocStats()
-{
- struct malloc_stats ms;
- mallopt(MALLOC_STATS, reinterpret_cast<intptr_t>(&ms));
- return ms;
-}
-#endif
-
-static String memoryPage()
-{
- StringBuilder builder;
-
- builder.append(writeHeader("Memory"));
- builder.appendLiteral("<div class=\"box\"><div class=\"box-title\">Cache Information<br><div style='font-size:11px;color:#A8A8A8'>Size, Living, and Decoded are expressed in KB.</div><br></div><table class='fixed-table'><col width=75%><col width=25%>");
-
- // generate cache information
- MemoryCache* cacheInc = memoryCache();
- MemoryCache::Statistics cacheStat = cacheInc->getStatistics();
-
- builder.appendLiteral("<tr> <th align=left>Item</th> <th align=left>Count</th> <th align=left>Size</th> <th align=left>Living</th> <th align=left>Decoded</th></tr>");
-
- MemoryCache::TypeStatistic total;
- total.count = cacheStat.images.count + cacheStat.cssStyleSheets.count
- + cacheStat.scripts.count + cacheStat.xslStyleSheets.count + cacheStat.fonts.count;
- total.size = cacheInc->totalSize();
- total.liveSize = cacheStat.images.liveSize + cacheStat.cssStyleSheets.liveSize
- + cacheStat.scripts.liveSize + cacheStat.xslStyleSheets.liveSize + cacheStat.fonts.liveSize;
- total.decodedSize = cacheStat.images.decodedSize
- + cacheStat.cssStyleSheets.decodedSize + cacheStat.scripts.decodedSize
- + cacheStat.xslStyleSheets.decodedSize + cacheStat.fonts.decodedSize;
-
- builder.append(cacheTypeStatisticToHTMLTr("Total", total));
- builder.append(cacheTypeStatisticToHTMLTr("Images", cacheStat.images));
- builder.append(cacheTypeStatisticToHTMLTr("CSS Style Sheets", cacheStat.cssStyleSheets));
- builder.append(cacheTypeStatisticToHTMLTr("Scripts", cacheStat.scripts));
-#if ENABLE(XSLT)
- builder.append(cacheTypeStatisticToHTMLTr("XSL Style Sheets", cacheStat.xslStyleSheets));
-#endif
- builder.append(cacheTypeStatisticToHTMLTr("Fonts", cacheStat.fonts));
-
- builder.appendLiteral("</table></div><br>");
-
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
-
- // JS engine memory usage.
- JSC::GlobalMemoryStatistics jscMemoryStat = JSC::globalMemoryStatistics();
- JSC::Heap& mainHeap = JSDOMWindow::commonVM()->heap;
- OwnPtr<JSC::TypeCountSet> objectTypeCounts = mainHeap.objectTypeCounts();
- OwnPtr<JSC::TypeCountSet> protectedObjectTypeCounts = mainHeap.protectedObjectTypeCounts();
-
- // Malloc info.
- struct malloc_stats mallocInfo = mallocStats();
-
- builder.appendLiteral("<div class='box'><div class='box-title'>Process memory usage summary</div><table class='fixed-table'><col width=75%><col width=25%>");
-
- builder.append(numberToHTMLTr("Total used memory (malloc + JSC)", mallocInfo.m_small_allocmem + mallocInfo.m_allocmem + jscMemoryStat.stackBytes + jscMemoryStat.JITBytes + mainHeap.capacity()));
-
- if (unsigned totalCommittedMemoryOfChromeProcess = BlackBerry::Platform::totalCommittedMemoryOfChromeProcess()) {
- builder.append(numberToHTMLTr("Total committed memory of tab process", BlackBerry::Platform::totalCommittedMemoryOfCurrentProcess()));
- builder.append(numberToHTMLTr("Total committed memory of chrome process", totalCommittedMemoryOfChromeProcess));
- } else
- builder.append(numberToHTMLTr("Total committed memory", BlackBerry::Platform::totalCommittedMemoryOfCurrentProcess()));
-
- struct stat processInfo;
- if (!stat(String::format("/proc/%u/as", getpid()).latin1().data(), &processInfo))
- builder.append(numberToHTMLTr("Total mapped memory", processInfo.st_size));
-
- builder.append(numberToHTMLTr("System free memory", BlackBerry::Platform::systemFreeMemory()));
-
- builder.appendLiteral("</table></div><br>");
-
- builder.appendLiteral("<div class='box'><div class='box-title'>JS engine memory usage</div><table class='fixed-table'><col width=75%><col width=25%>");
-
- builder.append(numberToHTMLTr("Stack size", jscMemoryStat.stackBytes));
- builder.append(numberToHTMLTr("JIT memory usage", jscMemoryStat.JITBytes));
- builder.append(numberToHTMLTr("Main heap capacity", mainHeap.capacity()));
- builder.append(numberToHTMLTr("Main heap size", mainHeap.size()));
- builder.append(numberToHTMLTr("Object count", mainHeap.objectCount()));
- builder.append(numberToHTMLTr("Global object count", mainHeap.globalObjectCount()));
- builder.append(numberToHTMLTr("Protected object count", mainHeap.protectedObjectCount()));
- builder.append(numberToHTMLTr("Protected global object count", mainHeap.protectedGlobalObjectCount()));
-
- builder.appendLiteral("</table></div><br>");
-
- builder.appendLiteral("<div class='box'><div class='box-title'>JS object type counts</div><table class='fixed-table'><col width=75%><col width=25%>");
- dumpJSCTypeCountSetToTableHTML(builder, objectTypeCounts.get());
- builder.appendLiteral("</table></div><br>");
-
- builder.appendLiteral("<div class='box'><div class='box-title'>JS protected object type counts</div><table class='fixed-table'><col width=75%><col width=25%>");
- dumpJSCTypeCountSetToTableHTML(builder, protectedObjectTypeCounts.get());
- builder.appendLiteral("</table></div><br>");
-
- builder.appendLiteral("<div class='box'><div class='box-title'>Malloc Information</div><table class='fixed-table'><col width=75%><col width=25%>");
-
- builder.append(numberToHTMLTr("Total space in use", mallocInfo.m_small_allocmem + mallocInfo.m_allocmem));
- builder.append(numberToHTMLTr("Total space in free blocks", mallocInfo.m_small_freemem + mallocInfo.m_freemem));
- builder.append(numberToHTMLTr("Memory in free small blocks", mallocInfo.m_small_freemem));
- builder.append(numberToHTMLTr("Memory in free big blocks", mallocInfo.m_freemem));
- builder.append(numberToHTMLTr("Space in header block headers", mallocInfo.m_small_overhead));
- builder.append(numberToHTMLTr("Space used by block headers", mallocInfo.m_overhead));
- builder.append(numberToHTMLTr("Space in small blocks in use", mallocInfo.m_small_allocmem));
- builder.append(numberToHTMLTr("Space in big blocks in use", mallocInfo.m_allocmem));
- builder.append(numberToHTMLTr("Number of core allocations", mallocInfo.m_coreallocs));
- builder.append(numberToHTMLTr("Number of core de-allocations performed", mallocInfo.m_corefrees));
- builder.append(numberToHTMLTr("Size of the arena", mallocInfo.m_heapsize));
- builder.append(numberToHTMLTr("Number of frees performed", mallocInfo.m_frees));
- builder.append(numberToHTMLTr("Number of allocations performed", mallocInfo.m_allocs));
- builder.append(numberToHTMLTr("Number of realloc functions performed", mallocInfo.m_reallocs));
- builder.append(numberToHTMLTr("Number of small blocks", mallocInfo.m_small_blocks));
- builder.append(numberToHTMLTr("Number of big blocks", mallocInfo.m_blocks));
- builder.append(numberToHTMLTr("Number of header blocks", mallocInfo.m_hblocks));
-
- builder.append("</table></div>");
-#endif
-
- builder.append("</body></html>");
- return builder.toString();
-}
-
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
-class MemoryTracker {
-public:
- static MemoryTracker& instance();
- void start();
- void stop();
- bool isActive() const { return m_memoryTrackingTimer.isActive(); }
- void clear()
- {
- m_peakTotalUsedMemory = 0;
- m_peakTotalCommittedMemoryOfCurrentProcess = 0;
- m_peakTotalCommittedMemoryOfChromeProcess = 0;
- m_peakTotalMappedMemory = 0;
- }
-
- void updateMemoryPeaks(Timer<MemoryTracker>*);
- unsigned peakTotalUsedMemory() const { return m_peakTotalUsedMemory; }
- unsigned peakTotalCommittedMemoryOfCurrentProcess() const { return m_peakTotalCommittedMemoryOfCurrentProcess; }
- unsigned peakTotalCommittedMemoryOfChromeProcess() const { return m_peakTotalCommittedMemoryOfChromeProcess; }
- unsigned peakTotalMappedMemory() const { return m_peakTotalMappedMemory; }
-
-private:
- MemoryTracker();
- Timer<MemoryTracker> m_memoryTrackingTimer;
- unsigned m_peakTotalUsedMemory;
- unsigned m_peakTotalCommittedMemoryOfCurrentProcess;
- unsigned m_peakTotalCommittedMemoryOfChromeProcess;
- unsigned m_peakTotalMappedMemory;
-};
-
-MemoryTracker::MemoryTracker()
- : m_memoryTrackingTimer(this, &MemoryTracker::updateMemoryPeaks)
- , m_peakTotalUsedMemory(0)
- , m_peakTotalCommittedMemoryOfCurrentProcess(0)
- , m_peakTotalCommittedMemoryOfChromeProcess(0)
- , m_peakTotalMappedMemory(0)
-{
-}
-
-MemoryTracker& MemoryTracker::instance()
-{
- DEFINE_STATIC_LOCAL(MemoryTracker, s_memoryTracker, ());
- return s_memoryTracker;
-}
-
-void MemoryTracker::start()
-{
- clear();
- if (!m_memoryTrackingTimer.isActive())
- m_memoryTrackingTimer.start(0, 0.01);
-}
-
-void MemoryTracker::stop()
-{
- m_memoryTrackingTimer.stop();
-}
-
-void MemoryTracker::updateMemoryPeaks(Timer<MemoryTracker>*)
-{
- // JS engine memory usage.
- JSC::GlobalMemoryStatistics jscMemoryStat = JSC::globalMemoryStatistics();
- JSC::Heap& mainHeap = JSDOMWindow::commonVM()->heap;
-
- // Malloc info.
- struct malloc_stats mallocInfo = mallocStats();
-
- // Malloc and JSC memory.
- unsigned totalUsedMemory = static_cast<unsigned>(mallocInfo.m_small_allocmem + mallocInfo.m_allocmem + jscMemoryStat.stackBytes + jscMemoryStat.JITBytes + mainHeap.capacity());
- if (totalUsedMemory > m_peakTotalUsedMemory)
- m_peakTotalUsedMemory = totalUsedMemory;
-
- unsigned totalCommittedMemoryOfCurrentProcess = BlackBerry::Platform::totalCommittedMemoryOfCurrentProcess();
- if (totalCommittedMemoryOfCurrentProcess > m_peakTotalCommittedMemoryOfCurrentProcess)
- m_peakTotalCommittedMemoryOfCurrentProcess = totalCommittedMemoryOfCurrentProcess;
-
- unsigned totalCommittedMemoryOfChromeProcess = BlackBerry::Platform::totalCommittedMemoryOfChromeProcess();
- if (totalCommittedMemoryOfChromeProcess > m_peakTotalCommittedMemoryOfChromeProcess)
- m_peakTotalCommittedMemoryOfChromeProcess = totalCommittedMemoryOfChromeProcess;
-
- struct stat processInfo;
- if (!stat(String::format("/proc/%u/as", getpid()).latin1().data(), &processInfo)) {
- unsigned totalMappedMemory = static_cast<unsigned>(processInfo.st_size);
- if (totalMappedMemory > m_peakTotalMappedMemory)
- m_peakTotalMappedMemory = totalMappedMemory;
- }
-}
-
-static String memoryPeaksToHtmlTable(MemoryTracker& memoryTracker)
-{
- String htmlTable = String("<table class='fixed-table'><col width=75%><col width=25%>")
- + numberToHTMLTr("Total used memory(malloc + JSC):", memoryTracker.peakTotalUsedMemory());
-
- if (unsigned peakTotalCommittedMemoryOfChromeProcess = memoryTracker.peakTotalCommittedMemoryOfChromeProcess()) {
- htmlTable += numberToHTMLTr("Total committed memory of tab process:", memoryTracker.peakTotalCommittedMemoryOfCurrentProcess());
- htmlTable += numberToHTMLTr("Total committed memory of chrome process:", peakTotalCommittedMemoryOfChromeProcess);
- } else
- htmlTable += numberToHTMLTr("Total committed memory:", memoryTracker.peakTotalCommittedMemoryOfCurrentProcess());
-
- htmlTable += numberToHTMLTr("Total mapped memory:", memoryTracker.peakTotalMappedMemory()) + "</table>";
- return htmlTable;
-}
-
-static String memoryLivePage(String memoryLiveCommand)
-{
- StringBuilder builder;
-
- builder.append(writeHeader("Memory Live Page"));
- builder.appendLiteral("<div class='box'><div class='box-title'>Memory Peaks</div>");
- builder.appendLiteral("<div style='font-size:12px;color:#1BE0C9'>\"about:memory-live/start\": start tracking memory peaks.</div>");
- builder.appendLiteral("<div style='font-size:12px;color:#1BE0C9'>\"about:memory-live\": show memory peaks every 30ms.</div>");
- builder.appendLiteral("<div style='font-size:12px;color:#1BE0C9'>\"about:memory-live/stop\": stop tracking and show memory peaks.</div><br>");
-
- MemoryTracker& memoryTracker = MemoryTracker::instance();
- if (memoryLiveCommand.isEmpty()) {
- if (!memoryTracker.isActive())
- builder.appendLiteral("<div style='font-size:15px;color:#E6F032'>Memory tracker isn't running, please use \"about:memory-live/start\" to start the tracker.</div>");
- else {
- builder.append(memoryPeaksToHtmlTable(memoryTracker));
- builder.appendLiteral("<script type=\"text/javascript\">setInterval(function(){window.location.reload()},30);</script>");
- }
- } else if (equalIgnoringCase(memoryLiveCommand, "/start")) {
- memoryTracker.start();
- builder.appendLiteral("<div style='font-size:15px;color:#E6F032'>Memory tracker is running.</div>");
- } else if (equalIgnoringCase(memoryLiveCommand, "/stop")) {
- if (!memoryTracker.isActive())
- builder.appendLiteral("<div style='font-size:15px;color:#E6F032'>Memory tracker isn't running.</div>");
- else {
- memoryTracker.stop();
- builder.append(memoryPeaksToHtmlTable(memoryTracker));
- builder.appendLiteral("<div style='font-size:15px;color:#E6F032'>Memory tracker is stopped.</div>");
- }
- } else
- builder.appendLiteral("<div style='font-size:15spx;color:#E6F032'>Unknown command! Please input a correct command!</div>");
-
- builder.appendLiteral("</div><br></div></body></html>");
- return builder.toString();
-}
-#endif
-
-static String cachePage(String cacheCommand)
-{
- String result;
-
- result.append(String("<html><head><title>BlackBerry Browser Disk Cache</title></head><body>"));
-
- if (cacheCommand.isEmpty())
- result.append(String(BlackBerry::Platform::generateHtmlFragmentForCacheKeys().data()));
- else if (cacheCommand.startsWith("?query=", false)) {
- String key(cacheCommand.substring(7).utf8().data()); // 7 is length of "query=".
- result.append(key);
- result.append(String("<hr>"));
- result.append(String(BlackBerry::Platform::generateHtmlFragmentForCacheHeaders(key).data()));
- } else {
- // Unknown cache command.
- return String();
- }
-
- result.append(String("</body></html>"));
-
- return result;
-}
-
-static String buildPage()
-{
- String result;
-
- result.append(writeHeader("Build"));
- result.append(String("<div class='box'><div class='box-title'>Basic</div><table>"));
- result.append(String("<tr><td>Built On: </td><td>"));
- result.append(String(BlackBerry::Platform::BUILDCOMPUTER));
- result.append(String("</td></tr>"));
- result.append(String("<tr><td>Build User: </td><td>"));
- result.append(String(BlackBerry::Platform::BUILDUSER));
- result.append(String("</td></tr>"));
- result.append(String("<tr><td>Build Time: </td><td>"));
- result.append(String(BlackBerry::Platform::BUILDTIME));
- result.append(String("</table></div><br>"));
- result.append(String(BlackBerry::Platform::BUILDINFO_WEBKIT));
- result.append(String(BlackBerry::Platform::BUILDINFO_PLATFORM));
- result.append(String(BlackBerry::Platform::BUILDINFO_LIBWEBVIEW));
- result.append(String(BlackBerry::Platform::BUILDINFO_WEBPLATFORM));
- result.append(String("</body></html>"));
-
- return result;
-}
-
-static String cookiePage()
-{
- String result;
-
- result.append(String("<html><head><title>BlackBerry Browser cookie information</title></head><body>"));
- result.append(cookieManager().generateHtmlFragmentForCookies());
- result.append(String("</body></html>"));
-
- return result;
-}
-
-String aboutData(String aboutWhat)
-{
- if (aboutWhat.startsWith("cache"))
- return cachePage(aboutWhat.substring(5));
-
- if (equalIgnoringCase(aboutWhat, "memory"))
- return memoryPage();
-
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (equalIgnoringCase(aboutWhat, "cookie"))
- return cookiePage();
-
- if (BlackBerry::Platform::debugSetting() > 0 && equalIgnoringCase(aboutWhat, "build"))
- return buildPage();
-
- if (BlackBerry::Platform::debugSetting() > 0 && equalIgnoringCase(aboutWhat, "config"))
- return configPage();
-
- if (aboutWhat.startsWith("memory-live"))
- return memoryLivePage(aboutWhat.substring(11));
-#endif
-
- return String();
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
diff --git a/Source/WebKit/blackberry/WebKitSupport/AboutData.h b/Source/WebKit/blackberry/WebKitSupport/AboutData.h
deleted file mode 100644
index da040c670..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/AboutData.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2010 Research In Motion Limited. 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
- * 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 AboutData_h
-#define AboutData_h
-
-#include <wtf/text/WTFString.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-String aboutData(String aboutWhat);
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // AboutData_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/BackingStoreClient.cpp b/Source/WebKit/blackberry/WebKitSupport/BackingStoreClient.cpp
deleted file mode 100644
index a9588e39c..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/BackingStoreClient.cpp
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011 Research In Motion Limited. 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
- * 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 "BackingStoreClient.h"
-
-#include "BackingStore.h"
-#include "BackingStore_p.h"
-#include "FloatPoint.h"
-#include "FocusController.h"
-#include "Frame.h"
-#include "FrameView.h"
-#include "HTMLFrameOwnerElement.h"
-#include "Page.h"
-#include "RenderBox.h"
-#include "WebPage_p.h"
-
-#include <BlackBerryPlatformViewportAccessor.h>
-
-// FIXME: Leaving the below lines commented out as a reference for us to soon be sure if we need these
-// methods and class variables be moved from WebPage to BackingStoreClient.
-// Notification methods that deliver changes to the real geometry of the device as specified above.
-// void notifyTransformChanged();
-// void notifyTransformedContentsSizeChanged();
-// void notifyTransformedScrollChanged();
-// m_overflowExceedsContentsSize = true;
-// haspendingscrollevent
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-static inline IntSize pointToSize(const IntPoint& point)
-{
- return IntSize(point.x(), point.y());
-}
-
-BackingStoreClient* BackingStoreClient::create(Frame* frame, Frame* parentFrame, WebPage* parentPage)
-{
- ASSERT_UNUSED(parentFrame, !parentFrame);
- BackingStoreClient* it = new BackingStoreClient(frame, parentPage);
- return it;
-}
-
-BackingStoreClient::BackingStoreClient(Frame* frame, WebPage* parentPage)
- : m_frame(frame)
- , m_webPage(parentPage)
- , m_backingStore(0)
- , m_isClientGeneratedScroll(false)
- , m_isScrollNotificationSuppressed(false)
-{
- m_backingStore = new BackingStore(m_webPage, this);
-}
-
-BackingStoreClient::~BackingStoreClient()
-{
- delete m_backingStore;
- m_backingStore = 0;
- m_frame = 0;
-}
-
-IntPoint BackingStoreClient::scrollPosition() const
-{
- ASSERT(m_frame);
- if (!m_frame->view())
- return IntPoint();
-
- return m_frame->view()->scrollPosition() - pointToSize(m_frame->view()->minimumScrollPosition());
-}
-
-IntPoint BackingStoreClient::transformedScrollPosition() const
-{
- return m_webPage->webkitThreadViewportAccessor()->pixelScrollPosition();
-}
-
-void BackingStoreClient::setScrollPosition(const IntPoint& pos)
-{
- ASSERT(m_frame);
- if (!m_frame->view())
- return;
-
- if (pos == scrollPosition())
- return;
-
- // We set a flag here to note that this scroll operation was originated
- // within the BlackBerry-specific layer of WebKit and not by WebCore.
- // This flag is checked in checkOriginOfCurrentScrollOperation() to decide
- // whether to notify the client of the current scroll operation. This is
- // why it is important that all scroll operations that originate within
- // BlackBerry-specific code are encapsulated here and that callers of this
- // method also directly or indirectly call notifyTransformedScrollChanged().
- m_isScrollNotificationSuppressed = true;
- m_frame->view()->setScrollPosition(pos + pointToSize(m_frame->view()->minimumScrollPosition()));
- m_isScrollNotificationSuppressed = false;
-}
-
-IntPoint BackingStoreClient::maximumScrollPosition() const
-{
- ASSERT(m_frame);
- if (!m_frame->view())
- return IntPoint();
-
- return m_frame->view()->maximumScrollPosition() - pointToSize(m_frame->view()->minimumScrollPosition());
-}
-
-IntPoint BackingStoreClient::transformedMaximumScrollPosition() const
-{
- return m_webPage->webkitThreadViewportAccessor()->roundToPixelFromDocumentContents(WebCore::FloatPoint(maximumScrollPosition()));
-}
-
-IntSize BackingStoreClient::actualVisibleSize() const
-{
- return m_webPage->webkitThreadViewportAccessor()->documentViewportSize();
-}
-
-IntSize BackingStoreClient::transformedActualVisibleSize() const
-{
- ASSERT(isMainFrame());
- return m_webPage->webkitThreadViewportAccessor()->pixelViewportSize();
-}
-
-IntSize BackingStoreClient::viewportSize() const
-{
- ASSERT(m_frame);
- if (!m_frame->view())
- return IntSize();
-
- ASSERT(isMainFrame());
- return m_webPage->d->viewportSize();
-}
-
-IntSize BackingStoreClient::transformedViewportSize() const
-{
- ASSERT(m_frame);
- if (!m_frame->view())
- return IntSize();
-
- ASSERT(isMainFrame());
- return m_webPage->d->transformedViewportSize();
-}
-
-IntRect BackingStoreClient::visibleContentsRect() const
-{
- ASSERT(m_frame);
- if (!m_frame->view())
- return IntRect();
-
- IntRect visibleContentRect = m_frame->view()->visibleContentRect();
- ASSERT(isMainFrame());
- return visibleContentRect;
-}
-
-IntSize BackingStoreClient::contentsSize() const
-{
- ASSERT(m_frame);
- if (!m_frame->view())
- return IntSize();
-
- return m_frame->view()->contentsSize();
-}
-
-WebPagePrivate::LoadState BackingStoreClient::loadState() const
-{
- // FIXME: Does it need to call WebPage's?
- return m_webPage->d->loadState();
-}
-
-bool BackingStoreClient::isLoading() const
-{
- // FIXME: Does it need to call WebPage's?
- return m_webPage->d->isLoading();
-}
-
-bool BackingStoreClient::isFocused() const
-{
- return m_frame && m_frame->page() && m_frame->page()->focusController()
- && m_frame->page()->focusController()->focusedFrame() == m_frame;
-}
-
-bool BackingStoreClient::isClientGeneratedScroll() const
-{
- return m_isClientGeneratedScroll;
-}
-
-void BackingStoreClient::setIsClientGeneratedScroll(bool flag)
-{
- m_isClientGeneratedScroll = flag;
-}
-
-bool BackingStoreClient::isScrollNotificationSuppressed() const
-{
- return m_isScrollNotificationSuppressed;
-}
-
-void BackingStoreClient::setIsScrollNotificationSuppressed(bool flag)
-{
- m_isScrollNotificationSuppressed = flag;
-}
-
-void BackingStoreClient::checkOriginOfCurrentScrollOperation()
-{
- // This is called via ChromeClientBlackBerry::scroll in order to check the origin
- // of the current scroll operation to decide whether to notify the client.
- // If the current scroll operation was initiated internally by WebCore itself
- // either via JavaScript, back/forward or otherwise then we need to go ahead
- // and notify the client of this change.
- if (isScrollNotificationSuppressed())
- return;
-
- ASSERT(isMainFrame());
- m_webPage->d->notifyTransformedScrollChanged();
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/BackingStoreClient.h b/Source/WebKit/blackberry/WebKitSupport/BackingStoreClient.h
deleted file mode 100644
index 924cf56cd..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/BackingStoreClient.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011 Research In Motion Limited. 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
- * 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 BackingStoreClient_h
-#define BackingStoreClient_h
-
-#include "BlackBerryPlatformMisc.h"
-#include "WebPage_p.h"
-#include <wtf/Vector.h>
-
-namespace WebCore {
-class FloatPoint;
-class Frame;
-class IntPoint;
-class IntSize;
-class IntRect;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-
-class BackingStore;
-class WebPagePrivate;
-
-class BackingStoreClient {
-public:
- static BackingStoreClient* create(WebCore::Frame*, WebCore::Frame* parentFrame, WebPage* parentPage);
- ~BackingStoreClient();
-
- BackingStore* backingStore() const { return m_backingStore; }
- WebCore::Frame* frame() const { return m_frame; }
- bool isMainFrame() const { return m_frame == m_webPage->d->m_mainFrame; }
-
- // scroll position returned is in transformed coordinates
- WebCore::IntPoint scrollPosition() const;
- WebCore::IntPoint maximumScrollPosition() const;
- // scroll position provided should be in transformed coordinates
- void setScrollPosition(const WebCore::IntPoint&);
-
- WebCore::IntPoint transformedScrollPosition() const;
- WebCore::IntPoint transformedMaximumScrollPosition() const;
-
- WebCore::IntSize actualVisibleSize() const;
- WebCore::IntSize transformedActualVisibleSize() const;
-
- WebCore::IntSize viewportSize() const;
- WebCore::IntSize transformedViewportSize() const;
-
- WebCore::IntRect visibleContentsRect() const;
-
- WebCore::IntSize contentsSize() const;
-
- bool isLoading() const;
- WebPagePrivate::LoadState loadState() const;
-
- bool isFocused() const;
-
- bool isClientGeneratedScroll() const;
- void setIsClientGeneratedScroll(bool);
-
- bool isScrollNotificationSuppressed() const;
- void setIsScrollNotificationSuppressed(bool);
-
- /* Called from within WebKit via ChromeClientBlackBerry */
- void checkOriginOfCurrentScrollOperation();
-
-private:
- BackingStoreClient(WebCore::Frame*, WebPage* parentPage);
-
- WebCore::Frame* m_frame;
- WebPage* m_webPage;
- BackingStore* m_backingStore;
- bool m_isClientGeneratedScroll;
- bool m_isScrollNotificationSuppressed;
- DISABLE_COPY(BackingStoreClient)
-};
-
-}
-}
-
-#endif // BackingStoreClient_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp b/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp
deleted file mode 100644
index 44cdd2f6f..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "BackingStoreTile.h"
-
-#include "GraphicsContext.h"
-#include "SurfacePool.h"
-
-#include <BlackBerryPlatformGraphics.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-Fence::~Fence()
-{
- if (m_platformSync)
- SurfacePool::globalSurfacePool()->destroyPlatformSync(m_platformSync);
-}
-
-TileBuffer::TileBuffer(const Platform::IntSize& size)
- : m_lastRenderOrigin(-1, -1)
- , m_size(size)
- , m_fence(Fence::create())
- , m_nativeBuffer(0)
- , m_lastRenderScale(1.0)
- , m_backgroundPainted(false)
-{
-}
-
-TileBuffer::~TileBuffer()
-{
- Platform::Graphics::destroyBuffer(m_nativeBuffer);
-}
-
-Platform::IntSize TileBuffer::size() const
-{
- return m_size;
-}
-
-Platform::IntRect TileBuffer::surfaceRect() const
-{
- return Platform::IntRect(Platform::IntPoint::zero(), m_size);
-}
-
-Platform::IntRect TileBuffer::pixelContentsRect() const
-{
- return Platform::IntRect(m_lastRenderOrigin, m_size);
-}
-
-bool TileBuffer::isRendered(double scale) const
-{
- return isRendered(pixelContentsRect(), scale);
-}
-
-bool TileBuffer::isRendered(const Platform::IntRectRegion& pixelContentsRegion, double scale) const
-{
- return m_lastRenderScale == scale && Platform::IntRectRegion::subtractRegions(pixelContentsRegion, m_renderedRegion).isEmpty();
-}
-
-void TileBuffer::clearRenderedRegion(const Platform::IntRectRegion& region)
-{
- m_renderedRegion = Platform::IntRectRegion::subtractRegions(m_renderedRegion, region);
-}
-
-void TileBuffer::clearRenderedRegion()
-{
- m_renderedRegion = Platform::IntRectRegion();
-}
-
-void TileBuffer::addRenderedRegion(const Platform::IntRectRegion& region)
-{
- m_renderedRegion = Platform::IntRectRegion::unionRegions(region, m_renderedRegion);
-}
-
-Platform::IntRectRegion TileBuffer::renderedRegion() const
-{
- return m_renderedRegion;
-}
-
-Platform::IntRectRegion TileBuffer::notRenderedRegion() const
-{
- return Platform::IntRectRegion::subtractRegions(pixelContentsRect(), m_renderedRegion);
-}
-
-Platform::Graphics::Buffer* TileBuffer::nativeBuffer() const
-{
- if (!m_nativeBuffer)
- m_nativeBuffer = Platform::Graphics::createBuffer(m_size, Platform::Graphics::BackedWhenNecessary);
-
- return m_nativeBuffer;
-}
-
-bool TileBuffer::wasNativeBufferCreated() const
-{
- return static_cast<bool>(m_nativeBuffer);
-}
-
-void TileBuffer::paintBackground()
-{
- m_backgroundPainted = true;
-
- Platform::Graphics::clearBuffer(nativeBuffer(), 0, 0, 0, 0);
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h b/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h
deleted file mode 100644
index 6d9c5ee74..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 BackingStoreTile_h
-#define BackingStoreTile_h
-
-#include "BlackBerryPlatformIntRectRegion.h"
-#include "BlackBerryPlatformMisc.h"
-#include "BlackBerryPlatformPrimitives.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/RefPtr.h>
-
-namespace BlackBerry {
-namespace Platform {
-namespace Graphics {
-struct Buffer;
-}
-}
-
-namespace WebKit {
-
-// Represents a fence that has been inserted into the command stream. You can wait on the corresponding platform sync
-// object to make sure that previous commands have been completed.
-// There is no reason to wait twice on the same platform sync object, so the only mechanism provided to access the sync
-// object will also clear it to prevent anyone from waiting again.
-// Fence is only refcounted on the compositing thread, so RefCounted will suffice, we don't need ThreadSafeRefCounted.
-class Fence : public RefCounted<Fence> {
-public:
- static PassRefPtr<Fence> create(void* platformSync = 0)
- {
- return adoptRef(new Fence(platformSync));
- }
-
- // Returns 0 if this fence is stale (someone already waited on it)
- // Otherwise returns the platform sync object and clears the sync
- // object so no-one waits again.
- void* takePlatformSync()
- {
- void* tmp = m_platformSync;
- m_platformSync = 0;
- return tmp;
- }
-
- ~Fence();
-
-private:
- Fence(void* platformSync)
- : m_platformSync(platformSync)
- {
- }
-
- void* m_platformSync;
-};
-
-class TileBuffer {
- public:
- TileBuffer(const Platform::IntSize&);
- ~TileBuffer();
- Platform::IntSize size() const;
- Platform::IntRect surfaceRect() const;
- Platform::IntRect pixelContentsRect() const;
-
- Platform::IntPoint lastRenderOrigin() const { return m_lastRenderOrigin; }
- void setLastRenderOrigin(const Platform::IntPoint& origin) { m_lastRenderOrigin = origin; }
- double lastRenderScale() const { return m_lastRenderScale; }
- void setLastRenderScale(double scale) { m_lastRenderScale = scale; }
-
- bool isRendered(double scale) const;
- bool isRendered(const Platform::IntRectRegion& pixelContentsRegion, double scale) const;
- void clearRenderedRegion();
- void clearRenderedRegion(const Platform::IntRectRegion&);
- void addRenderedRegion(const Platform::IntRectRegion&);
- Platform::IntRectRegion renderedRegion() const;
- Platform::IntRectRegion notRenderedRegion() const;
-
- Platform::Graphics::Buffer* nativeBuffer() const;
- bool wasNativeBufferCreated() const;
-
- bool backgroundPainted() const { return m_backgroundPainted; }
- void paintBackground();
-
- Fence* fence() const { return m_fence.get(); }
- void setFence(PassRefPtr<Fence> fence) { m_fence = fence; }
-
- private:
- Platform::IntPoint m_lastRenderOrigin;
- Platform::IntSize m_size;
- Platform::IntRectRegion m_renderedRegion;
- RefPtr<Fence> m_fence;
- mutable Platform::Graphics::Buffer* m_nativeBuffer;
- double m_lastRenderScale;
- bool m_backgroundPainted;
- DISABLE_COPY(TileBuffer)
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // BackingStoreTile_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/BackingStoreVisualizationViewportAccessor.cpp b/Source/WebKit/blackberry/WebKitSupport/BackingStoreVisualizationViewportAccessor.cpp
deleted file mode 100644
index 8114f36ca..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/BackingStoreVisualizationViewportAccessor.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. All rights reserved.
- */
-
-#include "config.h"
-
-#include "BackingStoreVisualizationViewportAccessor.h"
-
-#include "BackingStore_p.h"
-
-#include <BlackBerryPlatformPrimitives.h>
-#include <algorithm>
-
-using BlackBerry::Platform::FloatPoint;
-using BlackBerry::Platform::IntPoint;
-using BlackBerry::Platform::IntSize;
-using BlackBerry::Platform::ViewportAccessor;
-
-namespace BlackBerry {
-namespace WebKit {
-
-BackingStoreVisualizationViewportAccessor::BackingStoreVisualizationViewportAccessor(ViewportAccessor* originalAccessor, BackingStorePrivate* backingStorePrivate)
- : m_originalAccessor(originalAccessor)
- , m_backingStorePrivate(backingStorePrivate)
-{
-}
-
-IntSize BackingStoreVisualizationViewportAccessor::pixelContentsSize() const
-{
- return roundToPixelFromDocumentContents(documentContentsRect()).size();
-}
-
-IntSize BackingStoreVisualizationViewportAccessor::documentContentsSize() const
-{
- return m_originalAccessor->documentContentsSize();
-}
-
-IntPoint BackingStoreVisualizationViewportAccessor::pixelScrollPosition() const
-{
- return roundToPixelFromDocumentContents(
- toDocumentContents(state()->backingStoreOffset(), state()->scale()));
-}
-
-IntPoint BackingStoreVisualizationViewportAccessor::documentScrollPosition() const
-{
- return roundToDocumentContents(state()->backingStoreOffset(), state()->scale());
-}
-
-IntSize BackingStoreVisualizationViewportAccessor::pixelViewportSize() const
-{
- return m_originalAccessor->pixelViewportSize();
-}
-
-IntSize BackingStoreVisualizationViewportAccessor::documentViewportSize() const
-{
- return roundToDocumentFromPixelContents(pixelViewportRect()).size();
-}
-
-IntPoint BackingStoreVisualizationViewportAccessor::destinationSurfaceOffset() const
-{
- return m_originalAccessor->destinationSurfaceOffset();
-}
-
-double BackingStoreVisualizationViewportAccessor::scale() const
-{
- return state()->scale() / std::max(state()->numberOfTilesWide(), state()->numberOfTilesHigh());
-}
-
-BackingStoreGeometry* BackingStoreVisualizationViewportAccessor::state() const
-{
- return m_backingStorePrivate->frontState();
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
diff --git a/Source/WebKit/blackberry/WebKitSupport/BackingStoreVisualizationViewportAccessor.h b/Source/WebKit/blackberry/WebKitSupport/BackingStoreVisualizationViewportAccessor.h
deleted file mode 100644
index 608ba0f5f..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/BackingStoreVisualizationViewportAccessor.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. All rights reserved.
- */
-
-#ifndef BackingStoreVisualizationViewportAccessor_h
-#define BackingStoreVisualizationViewportAccessor_h
-
-#include <BlackBerryPlatformViewportAccessor.h>
-
-namespace BlackBerry {
-
-namespace Platform {
-class IntPoint;
-class IntSize;
-}
-
-namespace WebKit {
-
-class BackingStorePrivate;
-class BackingStoreGeometry;
-
-class BackingStoreVisualizationViewportAccessor : public Platform::ViewportAccessor {
-public:
- BackingStoreVisualizationViewportAccessor(ViewportAccessor* originalAccessor, BackingStorePrivate*);
- virtual ~BackingStoreVisualizationViewportAccessor() { }
-
- virtual BlackBerry::Platform::IntSize documentContentsSize() const;
- virtual BlackBerry::Platform::IntSize pixelContentsSize() const;
-
- virtual BlackBerry::Platform::IntPoint documentScrollPosition() const;
- virtual BlackBerry::Platform::IntPoint pixelScrollPosition() const;
-
- virtual BlackBerry::Platform::IntSize documentViewportSize() const;
- virtual BlackBerry::Platform::IntSize pixelViewportSize() const;
-
- virtual BlackBerry::Platform::IntPoint destinationSurfaceOffset() const;
-
- virtual double scale() const;
-
-private:
- BackingStoreGeometry* state() const;
-
- Platform::ViewportAccessor* m_originalAccessor;
- BackingStorePrivate* m_backingStorePrivate;
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif
diff --git a/Source/WebKit/blackberry/WebKitSupport/ColorPickerClient.cpp b/Source/WebKit/blackberry/WebKitSupport/ColorPickerClient.cpp
deleted file mode 100644
index ae091cc7b..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/ColorPickerClient.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "ColorPickerClient.h"
-
-#include "HTMLInputElement.h"
-#include "PopupPicker.h"
-#include "WebPage_p.h"
-
-#include <BlackBerryPlatformString.h>
-#include <LocaleHandler.h>
-#include <LocalizeResource.h>
-#include <wtf/text/StringBuilder.h>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-DEFINE_STATIC_LOCAL(BlackBerry::Platform::LocalizeResource, s_resource, ());
-
-ColorPickerClient::ColorPickerClient(const BlackBerry::Platform::String& value, WebPagePrivate* webPagePrivate, WebCore::HTMLInputElement* element)
- : PagePopupClient(webPagePrivate)
- , m_element(element)
-{
- generateHTML(value);
-}
-
-void ColorPickerClient::generateHTML(const BlackBerry::Platform::String& value)
-{
- StringBuilder source;
- source.appendLiteral("<style>\n");
- // Include CSS file.
- source.append(popupControlBlackBerryCss, sizeof(popupControlBlackBerryCss));
- source.appendLiteral("</style>\n<style>");
- source.append(colorControlBlackBerryCss, sizeof(colorControlBlackBerryCss));
- source.appendLiteral("</style></head><body>\n");
- source.appendLiteral("<script>\n");
- source.appendLiteral("window.addEventListener('load', function showIt() {");
- source.appendLiteral("window.popupcontrol.show({");
- // Add color value
- source.appendLiteral("initialValue:");
- if (!value.empty())
- source.append("'" + String(value) + "',");
- else
- source.appendLiteral("null,");
- // Add UI text
- source.appendLiteral("uiText: {");
- source.append("title:'" + String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_COLOR_TITLE)) + "',");
- source.append("slidersLabel:'" + String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_COLOR_SLIDERS_LABEL)) + "',");
- source.append("swatchesLabel:'" + String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_COLOR_SWATCHES_LABEL)) + "',");
- source.append("doneButtonLabel:'" + String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_DONE_BUTTON_LABEL)) + "',");
- source.append("cancelButtonLabel:'" + String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_CANCEL_BUTTON_LABEL)) + "',");
- source.appendLiteral("},");
- // Add directionality
- bool isRtl = BlackBerry::Platform::LocaleHandler::instance()->isRtlLocale();
- source.append("direction:'" + String(isRtl ? "rtl" : "ltr") + "',");
- source.appendLiteral("});\n");
- source.append(" window.removeEventListener('load', showIt); }); \n");
- source.append(colorControlBlackBerryJs, sizeof(colorControlBlackBerryJs));
- source.appendLiteral("</script>\n");
- source.appendLiteral("</body> </html>\n");
- m_source = source.toString();
-}
-
-void ColorPickerClient::setValueAndClosePopup(const String& value)
-{
- // Popup closed.
- if (!m_element)
- return;
-
- static const char* cancelValue = "-1";
- if (value != cancelValue)
- m_element->setValue(value, DispatchChangeEvent);
- closePopup();
-}
-
-void ColorPickerClient::didClosePopup()
-{
- PagePopupClient::didClosePopup();
- m_element = 0;
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/ColorPickerClient.h b/Source/WebKit/blackberry/WebKitSupport/ColorPickerClient.h
deleted file mode 100644
index ad6e812c3..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/ColorPickerClient.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 ColorPickerClient_h
-#define ColorPickerClient_h
-
-#include "PagePopupClient.h"
-#include <BlackBerryPlatformInputEvents.h>
-
-namespace WebCore {
-class HTMLInputElement;
-}
-
-namespace BlackBerry {
-namespace Platform {
-class String;
-}
-
-namespace WebKit {
-
-class ColorPickerClient : public PagePopupClient {
-public:
- ColorPickerClient(const BlackBerry::Platform::String& value, WebPagePrivate*, WebCore::HTMLInputElement*);
-
- void setValueAndClosePopup(const String&);
- void didClosePopup();
-
-private:
- void generateHTML(const BlackBerry::Platform::String& value);
-
- RefPtr<WebCore::HTMLInputElement> m_element;
-};
-
-}
-}
-#endif
diff --git a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp
deleted file mode 100644
index 312229ddd..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp
+++ /dev/null
@@ -1,678 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Research In Motion Limited. 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
- * 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 "DOMSupport.h"
-
-#include "FloatQuad.h"
-#include "Frame.h"
-#include "FrameView.h"
-#include "HTMLFormElement.h"
-#include "HTMLFrameOwnerElement.h"
-#include "HTMLInputElement.h"
-#include "HTMLNames.h"
-#include "HTMLTextAreaElement.h"
-#include "Node.h"
-#include "NodeTraversal.h"
-#include "Range.h"
-#include "RenderObject.h"
-#include "RenderText.h"
-#include "RenderTextControl.h"
-#include "TextIterator.h"
-#include "VisiblePosition.h"
-#include "VisibleSelection.h"
-#include "VisibleUnits.h"
-
-#include "htmlediting.h"
-
-#include <limits>
-
-#include <wtf/text/WTFString.h>
-
-using WTF::Vector;
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-namespace DOMSupport {
-
-void visibleTextQuads(const VisibleSelection& selection, Vector<FloatQuad>& quads)
-{
- if (!selection.isRange())
- return;
-
- // Make sure that both start and end have valid nodes associated otherwise
- // this can crash. See PR 220628.
- if (!selection.start().anchorNode() || !selection.end().anchorNode())
- return;
-
- visibleTextQuads(*(selection.firstRange()), quads, true /* useSelectionHeight */);
-}
-
-void visibleTextQuads(const Range& range, Vector<FloatQuad>& quads, bool useSelectionHeight)
-{
- // Range::textQuads includes hidden text, which we don't want.
- // To work around this, this is a copy of it which skips hidden elements.
- Node* startContainer = range.startContainer();
- Node* endContainer = range.endContainer();
-
- if (!startContainer || !endContainer)
- return;
-
- Node* stopNode = range.pastLastNode();
- for (Node* node = range.firstNode(); node && node != stopNode; node = NodeTraversal::next(node)) {
- RenderObject* r = node->renderer();
- if (!r || !r->isText())
- continue;
-
- if (r->style()->visibility() != VISIBLE)
- continue;
-
- RenderText* renderText = toRenderText(r);
- int startOffset = node == startContainer ? range.startOffset() : 0;
- int endOffset = node == endContainer ? range.endOffset() : std::numeric_limits<int>::max();
- renderText->absoluteQuadsForRange(quads, startOffset, endOffset, useSelectionHeight);
- }
-}
-
-bool isShadowHostTextInputElement(Node* node)
-{
- if (!node)
- return false;
-
- Element* element = node->shadowHost();
- return element && DOMSupport::isTextInputElement(element);
-}
-
-bool isTextInputElement(Element* element)
-{
- return element->isTextFormControl()
- || isHTMLTextAreaElement(element)
- || element->isContentEditable();
-}
-
-bool isPasswordElement(const Element* element)
-{
- return element && isHTMLInputElement(element)
- && toHTMLInputElement(element)->isPasswordField();
-}
-
-WTF::String inputElementText(Element* element)
-{
- if (!element)
- return WTF::String();
-
- WTF::String elementText;
- if (isHTMLInputElement(element)) {
- const HTMLInputElement* inputElement = toHTMLInputElement(element);
- elementText = inputElement->value();
- } else if (isHTMLTextAreaElement(element)) {
- const HTMLTextAreaElement* inputElement = toHTMLTextAreaElement(element);
- elementText = inputElement->value();
- } else if (element->isContentEditable()) {
- RefPtr<Range> rangeForNode = rangeOfContents(element);
- elementText = rangeForNode.get()->text();
- }
- return elementText;
-}
-
-WTF::String webWorksContext(const WebCore::Element* element)
-{
- if (!element)
- return WTF::String();
-
- DEFINE_STATIC_LOCAL(QualifiedName, webworksContextAttr, (nullAtom, "data-webworks-context", nullAtom));
- if (element->fastHasAttribute(webworksContextAttr))
- return element->fastGetAttribute(webworksContextAttr);
-
- return WTF::String();
-}
-
-bool isElementTypePlugin(const Element* element)
-{
- if (!element)
- return false;
-
- if (element->hasTagName(HTMLNames::objectTag)
- || element->hasTagName(HTMLNames::embedTag)
- || element->hasTagName(HTMLNames::appletTag))
- return true;
-
- return false;
-}
-
-HTMLTextFormControlElement* toTextControlElement(Node* node)
-{
- if (!(node && node->isElementNode()))
- return 0;
-
- Element* element = toElement(node);
- if (!element->isFormControlElement())
- return 0;
-
- HTMLFormControlElement* formElement = static_cast<HTMLFormControlElement*>(element);
- if (!formElement->isTextFormControl())
- return 0;
-
- return static_cast<HTMLTextFormControlElement*>(formElement);
-}
-
-bool isPopupInputField(const Element* element)
-{
- return isDateTimeInputField(element) || isColorInputField(element);
-}
-
-bool isDateTimeInputField(const Element* element)
-{
- if (!isHTMLInputElement(element))
- return false;
-
- const HTMLInputElement* inputElement = toHTMLInputElement(element);
-
- // The following types have popup's.
- if (inputElement->isDateField()
- || inputElement->isDateTimeField()
- || inputElement->isDateTimeLocalField()
- || inputElement->isTimeField()
- || inputElement->isMonthField())
- return true;
-
- return false;
-}
-
-bool isColorInputField(const Element* element)
-{
- if (!isHTMLInputElement(element))
- return false;
-
- const HTMLInputElement* inputElement = toHTMLInputElement(element);
-
-#if ENABLE(INPUT_TYPE_COLOR)
- if (inputElement->isColorControl())
- return true;
-#endif
-
- return false;
-}
-
-// This is a Tristate return to allow us to override name matching when
-// the attribute is expressly requested for a field. Default indicates
-// that the setting is On which is the default but not expressly requested
-// for the element being checked. On indicates that it is directly added
-// to the element.
-AttributeState elementSupportsAutocorrect(const Element* element)
-{
- DEFINE_STATIC_LOCAL(QualifiedName, autocorrectAttr, (nullAtom, "autocorrect", nullAtom));
- return elementAttributeState(element, autocorrectAttr);
-}
-
-AttributeState elementSupportsAutocomplete(const Element* element)
-{
- return elementAttributeState(element, HTMLNames::autocompleteAttr);
-}
-
-AttributeState elementSupportsSpellCheck(const Element* element)
-{
- return elementAttributeState(element, HTMLNames::spellcheckAttr);
-}
-
-bool isElementReadOnly(const Element* element)
-{
- return element->fastHasAttribute(HTMLNames::readonlyAttr);
-}
-
-AttributeState elementAttributeState(const Element* element, const QualifiedName& attributeName)
-{
- // First we check the input item itself. If the attribute is not defined,
- // we check its parent form.
- if (element->fastHasAttribute(attributeName)) {
- AtomicString attributeString = element->fastGetAttribute(attributeName);
- if (equalIgnoringCase(attributeString, "off"))
- return Off;
- if (equalIgnoringCase(attributeString, "on"))
- return On;
- // If we haven't returned, it wasn't set properly. Check the form for an explicit setting
- // because the attribute was provided, but invalid.
- }
- if (element->isFormControlElement()) {
- const HTMLFormControlElement* formElement = static_cast<const HTMLFormControlElement*>(element);
- if (formElement->form() && formElement->form()->fastHasAttribute(attributeName)) {
- AtomicString attributeString = formElement->form()->fastGetAttribute(attributeName);
- if (equalIgnoringCase(attributeString, "off"))
- return Off;
- if (equalIgnoringCase(attributeString, "on"))
- return On;
- }
- }
-
- return Default;
-}
-
-bool elementHasContinuousSpellCheckingEnabled(const PassRefPtr<WebCore::Element> element)
-{
- return element && element->document()->frame() && element->document()->frame()->editor().isContinuousSpellCheckingEnabled();
-}
-
-// Check if this is an input field that will be focused & require input support.
-bool isTextBasedContentEditableElement(Element* element)
-{
- if (!element)
- return false;
-
- if (element->isReadOnlyNode() || element->isDisabledFormControl())
- return false;
-
- if (isPopupInputField(element))
- return false;
-
- return element->isTextFormControl() || element->isContentEditable();
-}
-
-IntRect transformedBoundingBoxForRange(const Range& range)
-{
- // Based on Range::boundingBox, which does not handle transforms, and
- // RenderObject::absoluteBoundingBoxRect, which does.
- IntRect result;
- Vector<FloatQuad> quads;
- visibleTextQuads(range, quads);
- const size_t n = quads.size();
- for (size_t i = 0; i < n; ++i)
- result.unite(quads[i].enclosingBoundingBox());
-
- return result;
-}
-
-VisibleSelection visibleSelectionForInputElement(Element* element)
-{
- return visibleSelectionForRangeInputElement(element, 0, inputElementText(element).length());
-}
-
-VisibleSelection visibleSelectionForRangeInputElement(Element* element, int start, int end)
-{
- if (DOMSupport::toTextControlElement(element)) {
- RenderTextControl* textRender = toRenderTextControl(element->renderer());
- if (!textRender)
- return VisibleSelection();
-
- VisiblePosition startPosition = textRender->visiblePositionForIndex(start);
- VisiblePosition endPosition;
- if (start == end)
- endPosition = startPosition;
- else
- endPosition = textRender->visiblePositionForIndex(end);
-
- return VisibleSelection(startPosition, endPosition);
- }
-
- // Must be content editable, generate the range.
- RefPtr<Range> selectionRange = TextIterator::rangeFromLocationAndLength(element, start, end - start);
-
- if (!selectionRange)
- return VisibleSelection();
-
- if (start == end)
- return VisibleSelection(selectionRange.get()->startPosition(), DOWNSTREAM);
-
- VisiblePosition visibleStart(selectionRange->startPosition(), DOWNSTREAM);
- VisiblePosition visibleEnd(selectionRange->endPosition(), SEL_DEFAULT_AFFINITY);
-
- return VisibleSelection(visibleStart, visibleEnd);
-}
-
-static bool matchesReservedStringEmail(const AtomicString& string)
-{
- return string.contains("email", false /* caseSensitive */);
-}
-
-static bool matchesReservedStringUrl(const AtomicString& string)
-{
- return equalIgnoringCase("url", string);
-}
-
-bool elementIdOrNameIndicatesEmail(const HTMLInputElement* inputElement)
-{
- if (!inputElement)
- return false;
-
- if (matchesReservedStringEmail(inputElement->getIdAttribute()))
- return true;
-
- if (inputElement->fastHasAttribute(HTMLNames::nameAttr)) {
- if (matchesReservedStringEmail(inputElement->fastGetAttribute(HTMLNames::nameAttr)))
- return true;
- }
-
- return false;
-}
-
-bool elementIdOrNameIndicatesUrl(const HTMLInputElement* inputElement)
-{
- if (!inputElement)
- return false;
-
- if (matchesReservedStringUrl(inputElement->getIdAttribute()))
- return true;
-
- if (inputElement->fastHasAttribute(HTMLNames::nameAttr)) {
- if (matchesReservedStringUrl(inputElement->fastGetAttribute(HTMLNames::nameAttr)))
- return true;
- }
-
- return false;
-}
-
-static bool matchesReservedStringPreventingAutocomplete(const AtomicString& string)
-{
- if (matchesReservedStringEmail(string)
- || matchesReservedStringUrl(string)
- || string.contains("user", false /* caseSensitive */)
- || string.contains("name", false /* caseSensitive */)
- || string.contains("login", false /* caseSensitive */))
- return true;
-
- return false;
-}
-
-// This checks to see if an input element has a name or id attribute set to
-// username or email. These are rough checks to avoid major sites that use
-// login fields as input type=text and auto correction interfers with.
-bool elementIdOrNameIndicatesNoAutocomplete(const Element* element)
-{
- if (!isHTMLInputElement(element))
- return false;
-
- AtomicString idAttribute = element->getIdAttribute();
- if (matchesReservedStringPreventingAutocomplete(idAttribute))
- return true;
-
- if (element->fastHasAttribute(HTMLNames::nameAttr)) {
- AtomicString nameAttribute = element->fastGetAttribute(HTMLNames::nameAttr);
- if (matchesReservedStringPreventingAutocomplete(nameAttribute))
- return true;
- }
-
- return false;
-}
-
-bool elementPatternIndicatesNumber(const HTMLInputElement* inputElement)
-{
- return elementPatternMatches("[0-9]", inputElement);
-}
-
-bool elementPatternIndicatesHexadecimal(const HTMLInputElement* inputElement)
-{
- return elementPatternMatches("[0-9a-fA-F]", inputElement);
-}
-
-bool elementPatternMatches(const char* pattern, const HTMLInputElement* inputElement)
-{
- WTF::String patternString(pattern);
- if (!inputElement || patternString.isEmpty())
- return false;
-
- if (inputElement->fastHasAttribute(HTMLNames::patternAttr)) {
- WTF::String patternAttribute = inputElement->fastGetAttribute(HTMLNames::patternAttr);
- if (patternAttribute.startsWith(patternString)) {
- // The pattern is for hexadecimal, make sure nothing else is permitted.
-
- // Check if it was an exact match.
- if (patternAttribute.length() == patternString.length())
- return true;
-
- // Check for *
- if (patternAttribute.length() == patternString.length() + 1 && patternAttribute[patternString.length()] == '*')
- return true;
-
- // Is the regex specifying a character count?
- if (patternAttribute[patternString.length()] != '{' || !patternAttribute.endsWith("}"))
- return false;
-
- // Make sure the number in the regex is actually a number.
- unsigned count = 0;
- patternString = patternString + "{%d}";
- return (sscanf(patternAttribute.latin1().data(), patternString.latin1().data() + '\0', &count) == 1) && count > 0;
- }
- }
- return false;
-}
-
-IntPoint convertPointToFrame(const Frame* sourceFrame, const Frame* targetFrame, const IntPoint& point, const bool clampToTargetFrame)
-{
- ASSERT(sourceFrame && targetFrame);
- if (sourceFrame == targetFrame)
- return point;
-
- ASSERT(sourceFrame->view() && targetFrame->view());
- ASSERT(targetFrame->tree());
-
- Frame* targetFrameParent = targetFrame->tree()->parent();
- IntRect targetFrameRect = targetFrame->view()->frameRect();
- IntPoint targetPoint = point;
-
- // Convert the target frame rect to source window content coordinates. This is only required
- // if the parent frame is not the source. If the parent is the source, subframeRect
- // is already in source content coordinates.
- if (targetFrameParent != sourceFrame)
- targetFrameRect = sourceFrame->view()->windowToContents(targetFrameParent->view()->contentsToWindow(targetFrameRect));
-
- // Requested point is outside of target frame, return InvalidPoint.
- if (clampToTargetFrame && !targetFrameRect.contains(targetPoint))
- targetPoint = IntPoint(
- targetPoint.x() < targetFrameRect.x() ? targetFrameRect.x() : std::min(targetPoint.x(), targetFrameRect.maxX()),
- targetPoint.y() < targetFrameRect.y() ? targetFrameRect.y() : std::min(targetPoint.y(), targetFrameRect.maxY()));
- else if (!targetFrameRect.contains(targetPoint))
- return InvalidPoint;
-
- // Adjust the points to be relative to the target.
- return targetFrame->view()->windowToContents(sourceFrame->view()->contentsToWindow(targetPoint));
-}
-
-VisibleSelection visibleSelectionForClosestActualWordStart(const VisibleSelection& selection)
-{
- // VisibleSelection validation has a special case when the caret is at the end of a paragraph where
- // it selects the paragraph marker. As well, if the position is at the end of a word, it will select
- // only the space between words. We want to select an actual word so we move the selection to
- // the start of the leftmost word if the character after the selection point is whitespace.
-
- if (selection.selectionType() != VisibleSelection::RangeSelection) {
- int leftDistance = 0;
- int rightDistance = 0;
-
- VisibleSelection leftSelection(previousWordPosition(selection.start()));
- bool leftSelectionIsOnWord = !isWhitespace(leftSelection.visibleStart().characterAfter()) && leftSelection.start().containerNode() == selection.start().containerNode();
- if (leftSelectionIsOnWord) {
- VisibleSelection rangeSelection(endOfWord(leftSelection.start()), selection.visibleStart());
- leftDistance = TextIterator::rangeLength(rangeSelection.toNormalizedRange().get());
- }
-
- VisibleSelection rightSelection = previousWordPosition(nextWordPosition(selection.start()));
- bool rightSelectionIsOnWord = !isWhitespace(rightSelection.visibleStart().characterAfter()) && rightSelection.start().containerNode() == selection.start().containerNode();
- if (rightSelectionIsOnWord) {
- VisibleSelection rangeSelection = VisibleSelection(rightSelection.visibleStart(), selection.visibleStart());
- rightDistance = TextIterator::rangeLength(rangeSelection.toNormalizedRange().get());
- }
-
- // Make sure we found an actual word. If not, return the original selection.
- if (!leftSelectionIsOnWord && !rightSelectionIsOnWord)
- return selection;
-
- if (!rightSelectionIsOnWord || (leftSelectionIsOnWord && leftDistance <= rightDistance)) {
- // Left is closer or right is invalid.
- return leftSelection;
- }
-
- // Right is closer or equal, or left was invalid.
- return rightSelection;
- }
-
- // No adjustment required.
- return selection;
-}
-
-int offsetFromStartOfBlock(const VisiblePosition offset)
-{
- RefPtr<Range> range = makeRange(startOfBlock(offset), offset);
- if (!range)
- return -1;
-
- return range->text().latin1().length();
-}
-
-VisibleSelection visibleSelectionForFocusedBlock(Element* element)
-{
- int textLength = inputElementText(element).length();
-
- if (DOMSupport::toTextControlElement(element)) {
- RenderTextControl* textRender = toRenderTextControl(element->renderer());
- if (!textRender)
- return VisibleSelection();
-
- VisiblePosition startPosition = textRender->visiblePositionForIndex(0);
- VisiblePosition endPosition;
-
- if (textLength)
- endPosition = textRender->visiblePositionForIndex(textLength);
- else
- endPosition = startPosition;
- return VisibleSelection(startPosition, endPosition);
- }
-
- // Must be content editable, generate the range.
- RefPtr<Range> selectionRange = TextIterator::rangeFromLocationAndLength(element, 0, textLength);
-
- if (!selectionRange)
- return VisibleSelection();
-
- if (!textLength)
- return VisibleSelection(selectionRange->startPosition(), DOWNSTREAM);
-
- return VisibleSelection(selectionRange->startPosition(), selectionRange->endPosition());
-}
-
-// This function is copied from WebCore/page/Page.cpp.
-Frame* incrementFrame(Frame* curr, bool forward, bool wrapFlag)
-{
- return forward
- ? curr->tree()->traverseNextWithWrap(wrapFlag)
- : curr->tree()->traversePreviousWithWrap(wrapFlag);
-}
-
-PassRefPtr<Range> trimWhitespaceFromRange(PassRefPtr<Range> range)
-{
- return trimWhitespaceFromRange(VisiblePosition(range->startPosition()), VisiblePosition(range->endPosition()));
-}
-
-PassRefPtr<Range> trimWhitespaceFromRange(VisiblePosition startPosition, VisiblePosition endPosition)
-{
- if (startPosition == endPosition || isRangeTextAllWhitespace(startPosition, endPosition))
- return 0;
-
- while (isWhitespace(startPosition.characterAfter()))
- startPosition = startPosition.next();
-
- while (isWhitespace(endPosition.characterBefore()))
- endPosition = endPosition.previous();
-
- return makeRange(startPosition, endPosition);
-}
-
-bool isRangeTextAllWhitespace(VisiblePosition startPosition, VisiblePosition endPosition)
-{
- while (isWhitespace(startPosition.characterAfter())) {
- startPosition = startPosition.next();
-
- if (startPosition == endPosition)
- return true;
- }
-
- return false;
-}
-
-bool isFixedPositionOrHasFixedPositionAncestor(RenderObject* renderer)
-{
- RenderObject* currentRenderer = renderer;
- while (currentRenderer) {
-
- if (currentRenderer->isOutOfFlowPositioned() && currentRenderer->style()->position() == FixedPosition)
- return true;
-
- // Check if the current frame is an iframe. If so, continue checking with the iframe's owner element.
- if (!currentRenderer->parent() && currentRenderer->isRenderView() && currentRenderer->frame() && currentRenderer->frame()->ownerElement()) {
- currentRenderer = currentRenderer->frame()->ownerElement()->renderer();
- continue;
- }
-
- currentRenderer = currentRenderer->parent();
- }
-
- return false;
-}
-
-Element* selectionContainerElement(const VisibleSelection& selection)
-{
- if (!selection.isRange())
- return 0;
-
- Node* startContainer = 0;
- if (selection.firstRange())
- startContainer = selection.firstRange()->startContainer();
-
- if (!startContainer)
- return 0;
-
- Element* element = 0;
- if (startContainer->isInShadowTree())
- element = startContainer->shadowHost();
- else if (startContainer->isElementNode())
- element = toElement(startContainer);
- else
- element = startContainer->parentElement();
-
- return element;
-}
-
-BlackBerry::Platform::RequestedHandlePosition elementHandlePositionAttribute(const WebCore::Element* element)
-{
- BlackBerry::Platform::RequestedHandlePosition position = BlackBerry::Platform::SmartPlacement;
- if (!element)
- return position;
-
- DEFINE_STATIC_LOCAL(QualifiedName, qualifiedAttrNameForHandlePosition, (nullAtom, "data-blackberry-text-selection-handle-position", nullAtom));
- AtomicString attributeString;
- if (element->fastHasAttribute(qualifiedAttrNameForHandlePosition))
- attributeString = element->fastGetAttribute(qualifiedAttrNameForHandlePosition);
-
- if (attributeString.isNull() || attributeString.isEmpty())
- return position;
-
- if (equalIgnoringCase(attributeString, "above"))
- position = BlackBerry::Platform::Above;
- else if (equalIgnoringCase(attributeString, "below"))
- position = BlackBerry::Platform::Below;
- return position;
-}
-
-bool isElementAndDocumentAttached(const WebCore::Element* element)
-{
- return element && element->attached() && element->document() && element->document()->attached();
-}
-
-} // DOMSupport
-} // WebKit
-} // BlackBerry
diff --git a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h
deleted file mode 100644
index 00e8a7380..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Research In Motion Limited. 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
- * 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 DOMSupport_h
-#define DOMSupport_h
-
-#include "IntPoint.h"
-#include "IntRect.h"
-
-#include <BlackBerryPlatformInputEvents.h>
-#include <wtf/Vector.h>
-
-namespace WTF {
-class String;
-}
-
-namespace WebCore {
-class Element;
-class FloatQuad;
-class Frame;
-class HTMLInputElement;
-class HTMLTextFormControlElement;
-class Node;
-class Position;
-class QualifiedName;
-class Range;
-class RenderObject;
-class VisiblePosition;
-class VisibleSelection;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-namespace DOMSupport {
-
-enum AttributeState { On, Off, Default };
-
-bool isElementTypePlugin(const WebCore::Element*);
-
-bool isTextInputElement(WebCore::Element*);
-bool isShadowHostTextInputElement(WebCore::Node*);
-bool isTextBasedContentEditableElement(WebCore::Element*);
-bool isPasswordElement(const WebCore::Element*);
-
-bool isPopupInputField(const WebCore::Element*);
-bool isDateTimeInputField(const WebCore::Element*);
-bool isColorInputField(const WebCore::Element*);
-
-AttributeState elementAttributeState(const WebCore::Element*, const WebCore::QualifiedName&);
-AttributeState elementSupportsAutocorrect(const WebCore::Element*);
-AttributeState elementSupportsAutocomplete(const WebCore::Element*);
-AttributeState elementSupportsSpellCheck(const WebCore::Element*);
-bool isElementReadOnly(const WebCore::Element*);
-
-bool elementHasContinuousSpellCheckingEnabled(const PassRefPtr<WebCore::Element>);
-
-WTF::String inputElementText(WebCore::Element*);
-WTF::String webWorksContext(const WebCore::Element*);
-
-WebCore::HTMLTextFormControlElement* toTextControlElement(WebCore::Node*);
-
-WebCore::IntRect transformedBoundingBoxForRange(const WebCore::Range&);
-void visibleTextQuads(const WebCore::Range&, WTF::Vector<WebCore::FloatQuad>& quads, bool useSelectionHeight = false);
-void visibleTextQuads(const WebCore::VisibleSelection&, WTF::Vector<WebCore::FloatQuad>& quads);
-
-WebCore::VisibleSelection visibleSelectionForRangeInputElement(WebCore::Element*, int start, int end);
-WebCore::VisibleSelection visibleSelectionForInputElement(WebCore::Element*);
-
-bool elementIdOrNameIndicatesNoAutocomplete(const WebCore::Element*);
-bool elementIdOrNameIndicatesEmail(const WebCore::HTMLInputElement*);
-bool elementIdOrNameIndicatesUrl(const WebCore::HTMLInputElement*);
-bool elementPatternMatches(const char*, const WebCore::HTMLInputElement*);
-bool elementPatternIndicatesNumber(const WebCore::HTMLInputElement*);
-bool elementPatternIndicatesHexadecimal(const WebCore::HTMLInputElement*);
-
-WebCore::IntPoint convertPointToFrame(const WebCore::Frame* sourceFrame, const WebCore::Frame* targetFrame, const WebCore::IntPoint& sourcePoint, const bool clampToTargetFrame = false);
-
-static const WebCore::IntPoint InvalidPoint = WebCore::IntPoint(-1, -1);
-
-WebCore::VisibleSelection visibleSelectionForClosestActualWordStart(const WebCore::VisibleSelection&);
-WebCore::VisibleSelection visibleSelectionForFocusedBlock(WebCore::Element*);
-int offsetFromStartOfBlock(const WebCore::VisiblePosition offset);
-
-WebCore::Frame* incrementFrame(WebCore::Frame* curr, bool forward, bool wrapFlag);
-
-PassRefPtr<WebCore::Range> trimWhitespaceFromRange(PassRefPtr<WebCore::Range>);
-PassRefPtr<WebCore::Range> trimWhitespaceFromRange(WebCore::VisiblePosition startPosition, WebCore::VisiblePosition endPosition);
-bool isRangeTextAllWhitespace(WebCore::VisiblePosition startPosition, WebCore::VisiblePosition endPosition);
-
-bool isFixedPositionOrHasFixedPositionAncestor(WebCore::RenderObject*);
-
-WebCore::Element* selectionContainerElement(const WebCore::VisibleSelection&);
-BlackBerry::Platform::RequestedHandlePosition elementHandlePositionAttribute(const WebCore::Element*);
-
-bool isElementAndDocumentAttached(const WebCore::Element*);
-
-} // DOMSupport
-} // WebKit
-} // BlackBerry
-
-#endif // DOMSupport_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/DatePickerClient.cpp b/Source/WebKit/blackberry/WebKitSupport/DatePickerClient.cpp
deleted file mode 100644
index f357d20da..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/DatePickerClient.cpp
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "DatePickerClient.h"
-
-#include "Document.h"
-#include "Frame.h"
-#include "HTMLInputElement.h"
-#include "PopupPicker.h"
-#include "WebPage_p.h"
-
-#include <BlackBerryPlatformString.h>
-#include <LocaleHandler.h>
-#include <LocalizeResource.h>
-#include <unicode/dtfmtsym.h>
-#include <wtf/text/StringBuilder.h>
-
-using namespace WebCore;
-using namespace icu;
-
-namespace BlackBerry {
-namespace WebKit {
-
-DEFINE_STATIC_LOCAL(BlackBerry::Platform::LocalizeResource, s_resource, ());
-
-DatePickerClient::DatePickerClient(BlackBerry::Platform::BlackBerryInputType type, const BlackBerry::Platform::String& value, const BlackBerry::Platform::String& min, const BlackBerry::Platform::String& max, double step, WebPagePrivate* webPagePrivate, WebCore::HTMLInputElement* element)
- : PagePopupClient(webPagePrivate)
- , m_type(type)
- , m_element(element)
-{
- generateHTML(type, value, min, max, step);
-}
-
-DatePickerClient::~DatePickerClient()
-{
-}
-
-void DatePickerClient::generateHTML(BlackBerry::Platform::BlackBerryInputType type, const BlackBerry::Platform::String& value, const BlackBerry::Platform::String& min, const BlackBerry::Platform::String& max, double step)
-{
- StringBuilder source;
- String title = "";
- source.appendLiteral("<style>\n");
- // Include CSS file.
- source.append(popupControlBlackBerryCss, sizeof(popupControlBlackBerryCss));
- source.appendLiteral("</style>\n<style>");
- source.append(timeControlBlackBerryCss, sizeof(timeControlBlackBerryCss));
- source.appendLiteral("</style></head><body>\n");
- source.appendLiteral("<script>\n");
- source.appendLiteral("window.addEventListener('load', function showIt() {");
- source.appendLiteral("window.popupcontrol.show({");
- // Add DatePicker type
- source.appendLiteral("type:");
- switch (type) {
- case BlackBerry::Platform::InputTypeDate:
- source.appendLiteral("'Date', ");
- title = String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_DATE_TITLE));
- break;
- case BlackBerry::Platform::InputTypeTime:
- source.appendLiteral("'Time', ");
- title = String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_TIME_TITLE));
- break;
- case BlackBerry::Platform::InputTypeDateTime:
- source.appendLiteral("'DateTime', ");
- title = String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_DATE_TIME_TITLE));
- break;
- case BlackBerry::Platform::InputTypeDateTimeLocal:
- source.appendLiteral("'DateTimeLocal', ");
- title = String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_DATE_TIME_LOCAL_TITLE));
- break;
- case BlackBerry::Platform::InputTypeMonth:
- source.appendLiteral("'Month', ");
- title = String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_MONTH_TITLE));
- break;
- case BlackBerry::Platform::InputTypeWeek:
- default:
- break;
- }
- // Add datetime value
- source.appendLiteral("initialValue:");
- if (!value.empty())
- source.append("'" + String(value) + "', ");
- else
- source.appendLiteral("null, ");
- // Add lower and upper bounds
- source.appendLiteral("min:");
- if (!min.empty())
- source.append("'" + String(min) + "', ");
- else
- source.appendLiteral("null, ");
- source.appendLiteral("max:");
- if (!max.empty())
- source.append("'" + String(max) + "', ");
- else
- source.appendLiteral("null, ");
- // Add step size
- source.append("step:" + String::number(step) + ", ");
- // Add UI text
- source.appendLiteral("uiText: {");
- source.append("title:'" + title + "',");
- source.append("doneButtonLabel:'" + String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_DONE_BUTTON_LABEL)) + "',");
- source.append("cancelButtonLabel:'" + String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_CANCEL_BUTTON_LABEL)) + "',");
- source.append("monthLabels:" + DatePickerClient::generateDateLabels(UDAT_STANDALONE_MONTHS) + ",");
- source.append("shortMonthLabels:" + DatePickerClient::generateDateLabels(UDAT_SHORT_MONTHS) + ",");
- source.append("daysOfWeekLabels:" + DatePickerClient::generateDateLabels(UDAT_STANDALONE_WEEKDAYS) + ",");
- source.append("amPmLabels:" + DatePickerClient::generateDateLabels(UDAT_AM_PMS) + ",");
- source.appendLiteral("},");
- // Add directionality
- bool isRtl = BlackBerry::Platform::LocaleHandler::instance()->isRtlLocale();
- source.append("direction:'" + String(isRtl ? "rtl" : "ltr") + "',");
- source.appendLiteral("});\n");
- source.appendLiteral(" window.removeEventListener('load', showIt); }); \n");
- source.append(timeControlBlackBerryJs, sizeof(timeControlBlackBerryJs));
- source.appendLiteral("</script>\n</body> </html>\n");
- m_source = source.toString();
-}
-
-void DatePickerClient::setValueAndClosePopup(const String& value)
-{
- // Popup closed.
- if (!m_element)
- return;
-
- // We hide caret when we select date input field, restore it when we close date picker.
- m_element->document()->frame()->selection()->setCaretVisible(true);
-
- // Return -1 if user cancel the selection.
- if (value != "-1")
- m_element->setValue(value, DispatchChangeEvent);
- closePopup();
-}
-
-void DatePickerClient::didClosePopup()
-{
- PagePopupClient::didClosePopup();
- m_element = 0;
-}
-
-// UDAT_foo are for labels that are meant to be formatted as part of a date.
-// UDAT_STANDALONE_foo are for labels that are displayed separately from other date components.
-// For example, UDAT_SHORT_MONTHS in Catalan puts a preposition in front of the month but UDAT_STANDALONE_SHORT_MONTHS does not.
-const String DatePickerClient::generateDateLabels(UDateFormatSymbolType symbolType)
-{
- UErrorCode uerrStatus = U_ZERO_ERROR;
- DateFormatSymbols dateSymbols = DateFormatSymbols(uerrStatus); // constructor will never fail
- const UnicodeString* labels = 0;
- int32_t labelCount = 0;
-
- switch (symbolType) {
- // dateSymbols retain ownership of return values from getFoo calls
- case UDAT_STANDALONE_MONTHS:
- labelCount = 12;
- labels = dateSymbols.getMonths(labelCount, DateFormatSymbols::STANDALONE, DateFormatSymbols::WIDE);
- break;
- case UDAT_STANDALONE_SHORT_MONTHS:
- labelCount = 12;
- labels = dateSymbols.getMonths(labelCount, DateFormatSymbols::STANDALONE, DateFormatSymbols::ABBREVIATED);
- break;
- case UDAT_SHORT_MONTHS:
- labelCount = 12;
- labels = dateSymbols.getMonths(labelCount, DateFormatSymbols::FORMAT, DateFormatSymbols::ABBREVIATED);
- break;
- case UDAT_STANDALONE_WEEKDAYS:
- labelCount = 8;
- // getWeekdays returns an array where the zeroeth element is empty; the first label is placed in index 1
- labels = &(dateSymbols.getWeekdays(labelCount, DateFormatSymbols::STANDALONE, DateFormatSymbols::WIDE))[1]; // skip zeroeth element
- --labelCount;
- break;
- case UDAT_AM_PMS:
- labelCount = 2;
- labels = dateSymbols.getAmPmStrings(labelCount);
- break;
- default:
- ASSERT(0);
- break;
- }
-
- StringBuilder printedLabels;
- printedLabels.appendLiteral("[");
- for (int32_t i = 0; i < labelCount; ++i) {
- String escapedLabel = String(labels[i].getBuffer(), labels[i].length()).replace('\\', "\\\\").replace('\'', "\\'"); // TODO PR 243547: refactor escaping of strings for DatePickerClient and SelectPopupClient
- printedLabels.append("'" + escapedLabel + "'");
- if (i < labelCount - 1)
- printedLabels.appendLiteral(",");
- }
- printedLabels.appendLiteral("]");
- return printedLabels.toString();
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/DatePickerClient.h b/Source/WebKit/blackberry/WebKitSupport/DatePickerClient.h
deleted file mode 100644
index 538467409..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/DatePickerClient.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 DatePickerClient_h
-#define DatePickerClient_h
-
-#include "PagePopupClient.h"
-#include <BlackBerryPlatformInputEvents.h>
-#include <unicode/udat.h>
-
-namespace WebCore {
-class HTMLInputElement;
-}
-
-namespace BlackBerry {
-namespace Platform {
-class String;
-}
-
-namespace WebKit {
-class WebPagePrivate;
-
-class DatePickerClient : public PagePopupClient {
-public:
- DatePickerClient(BlackBerry::Platform::BlackBerryInputType, const BlackBerry::Platform::String& value, const BlackBerry::Platform::String& min, const BlackBerry::Platform::String& max, double step, WebPagePrivate*, WebCore::HTMLInputElement*);
- ~DatePickerClient();
-
- void setValueAndClosePopup(const String&);
- void didClosePopup();
-
-private:
- void generateHTML(BlackBerry::Platform::BlackBerryInputType, const BlackBerry::Platform::String& value, const BlackBerry::Platform::String& min, const BlackBerry::Platform::String& max, double step);
- static const String generateDateLabels(UDateFormatSymbolType);
-
- BlackBerry::Platform::BlackBerryInputType m_type;
- RefPtr<WebCore::HTMLInputElement> m_element;
-};
-
-}
-}
-#endif
diff --git a/Source/WebKit/blackberry/WebKitSupport/DefaultTapHighlight.cpp b/Source/WebKit/blackberry/WebKitSupport/DefaultTapHighlight.cpp
deleted file mode 100644
index d729ac133..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/DefaultTapHighlight.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. 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
- * 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"
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "DefaultTapHighlight.h"
-
-#include "GraphicsContext.h"
-#include "Path.h"
-#include "WebAnimation.h"
-#include "WebPage_p.h"
-
-#include <BlackBerryPlatformGraphicsContext.h>
-#include <BlackBerryPlatformMessageClient.h>
-#include <BlackBerryPlatformPath.h>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-const double ActiveTextFadeAnimationDuration = 0.3;
-const double OverlayShrinkAnimationDuration = 0.5;
-const double OverlayInitialScale = 2.0;
-
-STATIC_LOCAL_STRING(s_fadeAnimationName, "fade");
-STATIC_LOCAL_STRING(s_shrinkAnimationName, "shrink");
-
-DefaultTapHighlight::DefaultTapHighlight(WebPagePrivate* page)
- : m_page(page)
- , m_visible(false)
- , m_shouldHideAfterScroll(false)
-{
-}
-
-DefaultTapHighlight::~DefaultTapHighlight()
-{
-}
-
-void DefaultTapHighlight::draw(const Platform::IntRectRegion& region, int red, int green, int blue, int alpha, bool hideAfterScroll, bool isStartOfSelection)
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
- m_region = region;
- m_color = Color(red, green, blue, std::min(128, alpha));
- m_shouldHideAfterScroll = hideAfterScroll;
- FloatRect rect = IntRect(m_region.extents());
- if (rect.isEmpty())
- return;
-
- // Transparent color means disable the tap highlight.
- if (!m_color.alpha()) {
- hide();
- return;
- }
-
- {
- MutexLocker lock(m_mutex);
- m_visible = true;
- }
-
- if (!m_overlay) {
- m_overlay = adoptPtr(new WebOverlay(this));
- m_page->m_webPage->addOverlay(m_overlay.get());
- }
-
- m_overlay->removeAnimation(s_shrinkAnimationName);
- m_overlay->resetOverrides();
- m_overlay->setPosition(rect.location());
- m_overlay->setSize(rect.size());
- m_overlay->setDrawsContent(true);
- m_overlay->removeAnimation(s_fadeAnimationName);
- m_overlay->setOpacity(1.0);
- m_overlay->invalidate();
-
- // Animate overlay scale to indicate selection is started.
- if (isStartOfSelection) {
- WebAnimation shrinkAnimation = WebAnimation::shrinkAnimation(s_shrinkAnimationName, OverlayInitialScale, 1, OverlayShrinkAnimationDuration);
- m_overlay->addAnimation(shrinkAnimation);
- }
-}
-
-void DefaultTapHighlight::hide()
-{
- if (!m_overlay)
- return;
-
- {
- MutexLocker lock(m_mutex);
- if (!m_visible)
- return;
- m_visible = false;
- }
-
- // Since WebAnimation is not thread safe, we create a new one each time instead of reusing the same object on different
- // threads (that would introduce race conditions).
- WebAnimation fadeAnimation = WebAnimation::fadeAnimation(s_fadeAnimationName, 1.0, 0.0, ActiveTextFadeAnimationDuration);
-
- // Normally, this method is called on the WebKit thread, but it can also be
- // called from the compositing thread.
- if (BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread())
- m_overlay->addAnimation(fadeAnimation);
- else if (BlackBerry::Platform::userInterfaceThreadMessageClient()->isCurrentThread())
- m_overlay->override()->addAnimation(fadeAnimation);
-}
-
-void DefaultTapHighlight::notifyFlushRequired(const GraphicsLayer* layer)
-{
- m_page->notifyFlushRequired(layer);
-}
-
-void DefaultTapHighlight::paintContents(const GraphicsLayer*, GraphicsContext& c, GraphicsLayerPaintingPhase, const IntRect& /*inClip*/)
-{
- if (!m_region.numRects())
- return;
-
- Path path(m_region.boundaryPath());
-
- c.save();
- const Platform::IntRect& rect = m_region.extents();
- c.translate(-rect.x(), -rect.y());
-
- // Draw tap highlight
- c.setFillColor(m_color, ColorSpaceDeviceRGB);
- c.fillPath(path);
- Color darker = Color(m_color.red(), m_color.green(), m_color.blue()); // Get rid of alpha.
- c.setStrokeColor(darker, ColorSpaceDeviceRGB);
- c.setStrokeThickness(1);
- c.strokePath(path);
- c.restore();
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // USE(ACCELERATED_COMPOSITING)
diff --git a/Source/WebKit/blackberry/WebKitSupport/DefaultTapHighlight.h b/Source/WebKit/blackberry/WebKitSupport/DefaultTapHighlight.h
deleted file mode 100644
index 76ede0b71..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/DefaultTapHighlight.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 DefaultTapHighlight_h
-#define DefaultTapHighlight_h
-
-#include "BlackBerryGlobal.h"
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "Color.h"
-#include "GraphicsLayerClient.h"
-#include "WebOverlay.h"
-#include "WebTapHighlight.h"
-
-#include <BlackBerryPlatformIntRectRegion.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/Threading.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebPagePrivate;
-
-class DefaultTapHighlight : public WebTapHighlight, public WebCore::GraphicsLayerClient {
-public:
- static PassOwnPtr<DefaultTapHighlight> create(WebPagePrivate* page)
- {
- return adoptPtr(new DefaultTapHighlight(page));
- }
-
- virtual ~DefaultTapHighlight();
-
- virtual void draw(const Platform::IntRectRegion&, int red, int green, int blue, int alpha, bool hideAfterScroll, bool isStartOfSelection = false);
- virtual void hide();
-
- virtual bool isVisible() const { return m_visible; }
- virtual bool shouldHideAfterScroll() const { return m_shouldHideAfterScroll; }
-
- // GraphicsLayerClient
- virtual void notifyAnimationStarted(const WebCore::GraphicsLayer*, double) { }
- virtual void notifyFlushRequired(const WebCore::GraphicsLayer*);
- virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect& inClip);
-
-private:
- DefaultTapHighlight(WebPagePrivate*);
-
- WebPagePrivate* m_page;
- OwnPtr<WebOverlay> m_overlay;
- BlackBerry::Platform::IntRectRegion m_region;
- WebCore::Color m_color;
- bool m_visible;
- bool m_shouldHideAfterScroll;
- Mutex m_mutex;
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // USE(ACCELERATED_COMPOSITING)
-
-#endif // DefaultTapHighlight_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/DumpRenderTreeSupport.cpp b/Source/WebKit/blackberry/WebKitSupport/DumpRenderTreeSupport.cpp
deleted file mode 100644
index 6a1176356..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/DumpRenderTreeSupport.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. All rights reserved.
- * Copyright (C) 2012 Apple 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
- * 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 "DumpRenderTreeSupport.h"
-
-#include "DeviceOrientationClientMock.h"
-#include "DeviceOrientationController.h"
-#include "DeviceOrientationData.h"
-#include "Frame.h"
-#include "GeolocationClientMock.h"
-#include "GeolocationController.h"
-#include "GeolocationError.h"
-#include "GeolocationPosition.h"
-#include "JSCSSStyleDeclaration.h"
-#include "JSElement.h"
-#include "Page.h"
-#include "RuntimeEnabledFeatures.h"
-#include "WebPage_p.h"
-#include "bindings/js/GCController.h"
-#include <JavaScriptCore/APICast.h>
-#include <wtf/CurrentTime.h>
-
-using namespace BlackBerry::WebKit;
-using namespace WebCore;
-using namespace JSC;
-
-bool DumpRenderTreeSupport::s_linksIncludedInTabChain = true;
-
-GeolocationClientMock* toGeolocationClientMock(GeolocationClient* client)
-{
- ASSERT(isRunningDrt());
- return static_cast<GeolocationClientMock*>(client);
-}
-
-DumpRenderTreeSupport::DumpRenderTreeSupport()
-{
-}
-
-DumpRenderTreeSupport::~DumpRenderTreeSupport()
-{
-}
-
-Page* DumpRenderTreeSupport::corePage(WebPage* webPage)
-{
- return WebPagePrivate::core(webPage);
-}
-
-int DumpRenderTreeSupport::javaScriptObjectsCount()
-{
- return JSDOMWindowBase::commonVM()->heap.globalObjectCount();
-}
-
-void DumpRenderTreeSupport::garbageCollectorCollect()
-{
- gcController().garbageCollectNow();
-}
-
-void DumpRenderTreeSupport::garbageCollectorCollectOnAlternateThread(bool waitUntilDone)
-{
- gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
-}
-
-void DumpRenderTreeSupport::setLinksIncludedInFocusChain(bool enabled)
-{
- s_linksIncludedInTabChain = enabled;
-}
-
-bool DumpRenderTreeSupport::linksIncludedInFocusChain()
-{
- return s_linksIncludedInTabChain;
-}
-
-int DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests(WebPage* webPage)
-{
- GeolocationClientMock* mockClient = toGeolocationClientMock(GeolocationController::from(corePage(webPage))->client());
- return mockClient->numberOfPendingPermissionRequests();
-}
-
-void DumpRenderTreeSupport::resetGeolocationMock(WebPage* webPage)
-{
- GeolocationClientMock* mockClient = toGeolocationClientMock(GeolocationController::from(corePage(webPage))->client());
- mockClient->reset();
-}
-
-void DumpRenderTreeSupport::setMockGeolocationPositionUnavailableError(WebPage* webPage, const String message)
-{
- GeolocationClientMock* mockClient = static_cast<GeolocationClientMock*>(GeolocationController::from(corePage(webPage))->client());
- mockClient->setPositionUnavailableError(message);
-}
-
-void DumpRenderTreeSupport::setMockGeolocationPermission(WebPage* webPage, bool allowed)
-{
- GeolocationClientMock* mockClient = toGeolocationClientMock(GeolocationController::from(corePage(webPage))->client());
- mockClient->setPermission(allowed);
-}
-
-void DumpRenderTreeSupport::setMockGeolocationPosition(WebPage* webPage, double latitude, double longitude, double accuracy, bool providesAltitude, double altitude, bool providesAltitudeAccuracy, double altitudeAccuracy, bool providesHeading, double heading, bool providesSpeed, double speed)
-{
- GeolocationClientMock* mockClient = toGeolocationClientMock(GeolocationController::from(corePage(webPage))->client());
- mockClient->setPosition(GeolocationPosition::create(currentTime(), latitude, longitude, accuracy, providesAltitude, altitude, providesAltitudeAccuracy, altitudeAccuracy, providesHeading, heading, providesSpeed, speed));
-}
-
-void DumpRenderTreeSupport::scalePageBy(WebPage* webPage, float scaleFactor, float x, float y)
-{
- corePage(webPage)->setPageScaleFactor(scaleFactor, IntPoint(x, y));
-}
-
-#if ENABLE(STYLE_SCOPED)
-void DumpRenderTreeSupport::setStyleScopedEnabled(bool enabled)
-{
- RuntimeEnabledFeatures::setStyleScopedEnabled(enabled);
-}
-#endif
-
-#if ENABLE(DEVICE_ORIENTATION)
-DeviceOrientationClientMock* toDeviceOrientationClientMock(DeviceOrientationClient* client)
-{
- return static_cast<DeviceOrientationClientMock*>(client);
-}
-#endif
-
-void DumpRenderTreeSupport::setMockDeviceOrientation(BlackBerry::WebKit::WebPage* webPage, bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma)
-{
-#if ENABLE(DEVICE_ORIENTATION)
- Page* page = corePage(webPage);
- DeviceOrientationClientMock* mockClient = toDeviceOrientationClientMock(DeviceOrientationController::from(page)->deviceOrientationClient());
- mockClient->setOrientation(DeviceOrientationData::create(canProvideAlpha, alpha, canProvideBeta, beta, canProvideGamma, gamma));
-#endif
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/DumpRenderTreeSupport.h b/Source/WebKit/blackberry/WebKitSupport/DumpRenderTreeSupport.h
deleted file mode 100644
index 2647197a7..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/DumpRenderTreeSupport.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. All rights reserved.
- * Copyright (C) 2012 Apple 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
- * 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 DumpRenderTreeSupport_h
-#define DumpRenderTreeSupport_h
-
-#include <JavaScriptCore/JSObjectRef.h>
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPage;
-}
-}
-
-namespace WebCore {
-class Frame;
-class Page;
-}
-
-namespace WTF {
-class String;
-}
-
-class DumpRenderTreeSupport {
-public:
- DumpRenderTreeSupport();
- ~DumpRenderTreeSupport();
-
- static WebCore::Page* corePage(BlackBerry::WebKit::WebPage*);
-
- static void setLinksIncludedInFocusChain(bool);
- static bool linksIncludedInFocusChain();
-
- static int javaScriptObjectsCount();
- static void garbageCollectorCollect();
- static void garbageCollectorCollectOnAlternateThread(bool waitUntilDone);
-
- static int numberOfPendingGeolocationPermissionRequests(BlackBerry::WebKit::WebPage*);
- static void resetGeolocationMock(BlackBerry::WebKit::WebPage*);
- static void setMockGeolocationPositionUnavailableError(BlackBerry::WebKit::WebPage*, const WTF::String message);
- static void setMockGeolocationPermission(BlackBerry::WebKit::WebPage*, bool allowed);
- static void setMockGeolocationPosition(BlackBerry::WebKit::WebPage*, double latitude, double longitude, double accuracy, bool providesAltitude, double altitude, bool providesAltitudeAccuracy, double altitudeAccuracy, bool providesHeading, double heading, bool providesSpeed, double speed);
- static void setMockDeviceOrientation(BlackBerry::WebKit::WebPage*, bool canProvideAlpha, double alpha, bool canProvideBeta, double beta, bool canProvideGamma, double gamma);
- static void scalePageBy(BlackBerry::WebKit::WebPage*, float, float, float);
-#if ENABLE(STYLE_SCOPED)
- static void setStyleScopedEnabled(bool);
-#endif
-
-private:
- static bool s_linksIncludedInTabChain;
-};
-
-#endif
diff --git a/Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp b/Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp
deleted file mode 100644
index 389c1c35f..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp
+++ /dev/null
@@ -1,502 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 "FatFingers.h"
-
-#include "BlackBerryPlatformLog.h"
-#include "BlackBerryPlatformScreen.h"
-#include "BlackBerryPlatformSettings.h"
-#include "CSSComputedStyleDeclaration.h"
-#include "CSSParser.h"
-#include "DOMSupport.h"
-#include "Document.h"
-#include "Element.h"
-#include "EventNames.h"
-#include "ExceptionCode.h"
-#include "FloatQuad.h"
-#include "Frame.h"
-#include "FrameView.h"
-#include "HTMLFrameOwnerElement.h"
-#include "HTMLInputElement.h"
-#include "HTMLNames.h"
-#include "HTMLTextAreaElement.h"
-#include "Range.h"
-#include "RenderObject.h"
-#include "RenderView.h"
-#include "Text.h"
-#include "TextBreakIterator.h"
-#include "WebKitThreadViewportAccessor.h"
-#include "WebPage_p.h"
-
-#if DEBUG_FAT_FINGERS
-#include "BackingStore.h"
-#endif
-
-using BlackBerry::Platform::IntRectRegion;
-
-using namespace WebCore;
-
-// Lets make the top padding bigger than other directions, since it gets us more
-// accurate clicking results.
-
-namespace BlackBerry {
-namespace WebKit {
-
-#if DEBUG_FAT_FINGERS
-IntRect FatFingers::m_debugFatFingerRect;
-IntPoint FatFingers::m_debugFatFingerClickPosition;
-IntPoint FatFingers::m_debugFatFingerAdjustedPosition;
-#endif
-
-IntRect FatFingers::fingerRectForPoint(const IntPoint& point) const
-{
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->m_webkitThreadViewportAccessor;
-
- unsigned topPadding, rightPadding, bottomPadding, leftPadding;
- IntPoint contentViewportPos = viewportAccessor->documentViewportFromContents(point);
- getAdjustedPaddings(contentViewportPos, topPadding, rightPadding, bottomPadding, leftPadding);
-
- return HitTestLocation::rectForPoint(point, topPadding, rightPadding, bottomPadding, leftPadding);
-}
-
-static bool hasMousePressListener(Element* element)
-{
- ASSERT(element);
- return element->hasEventListeners(eventNames().clickEvent)
- || element->hasEventListeners(eventNames().mousedownEvent)
- || element->hasEventListeners(eventNames().mouseupEvent);
-}
-
-bool FatFingers::isElementClickable(Element* element) const
-{
- ASSERT(element);
- ASSERT(m_targetType == ClickableElement);
-
- ExceptionCode ec = 0;
-
- if (element->webkitMatchesSelector("a[href],*:link,*:visited,*[role=button],button,input,select,label[for],area[href],textarea,embed,object", ec)
- || element->isMediaControlElement()
- || element->isContentEditable()
- || (isHTMLImageElement(element) && element->parentNode() && isHTMLAnchorElement(element->parentNode())))
- return true;
-
- return hasMousePressListener(element)
- || CSSComputedStyleDeclaration::create(element)->getPropertyValue(cssPropertyID("cursor")) == "pointer";
-}
-
-// FIXME: Handle content editable nodes here too.
-static inline bool isFieldWithText(Node* node)
-{
- ASSERT(node);
- if (!node || !node->isElementNode())
- return false;
-
- Element* element = toElement(node);
- return !DOMSupport::inputElementText(element).isEmpty();
-}
-
-static inline int distanceBetweenPoints(const IntPoint& p1, const IntPoint& p2)
-{
- int dx = p1.x() - p2.x();
- int dy = p1.y() - p2.y();
- return sqrt((double)((dx * dx) + (dy * dy)));
-}
-
-static bool compareDistanceBetweenPoints(const Platform::IntPoint& p, const IntRectRegion& r1, const IntRectRegion& r2)
-{
- return distanceBetweenPoints(p, r1.extents().center()) > distanceBetweenPoints(p, r2.extents().center());
-}
-
-static bool isValidFrameOwner(WebCore::Element* element)
-{
- ASSERT(element);
- return element->isFrameOwnerElement() && static_cast<HTMLFrameOwnerElement*>(element)->contentFrame();
-}
-
-// NOTE: 'contentPos' is in main frame contents coordinates.
-FatFingers::FatFingers(WebPagePrivate* webPage, const WebCore::IntPoint& contentPos, TargetType targetType)
- : m_webPage(webPage)
- , m_contentPos(contentPos)
- , m_targetType(targetType)
-{
- ASSERT(webPage);
-
-#if DEBUG_FAT_FINGERS
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->m_webkitThreadViewportAccessor;
-
- m_debugFatFingerRect = IntRect(0, 0, 0, 0);
- m_debugFatFingerClickPosition = viewportAccessor->pixelViewportFromContents(viewportAccessor->roundToPixelFromDocumentContents(WebCore::FloatPoint(contentPos)));
- m_debugFatFingerAdjustedPosition = m_debugFatFingerClickPosition;
-#endif
-}
-
-FatFingers::~FatFingers()
-{
-}
-
-const FatFingersResult FatFingers::findBestPoint()
-{
- ASSERT(m_webPage);
- ASSERT(m_webPage->m_mainFrame);
-
- // Even though we have clamped the point in libwebview to viewport, but there might be a rounding difference for viewport rect.
- // Clamp position to viewport to ensure we are inside viewport.
- IntRect viewportRect = m_webPage->mainFrame()->view()->visibleContentRect();
- m_contentPos = Platform::pointClampedToRect(m_contentPos, viewportRect);
-
- FatFingersResult result(m_contentPos);
-
- // Lets set nodeUnderFatFinger to the result of a point based hit test here. If something
- // targable is actually found by ::findIntersectingRegions, then we might replace what we just set below later on.
- const HitTestResult& hitResult = m_webPage->hitTestResult(m_contentPos);
- Node* node = hitResult.innerNode();
- while (node && !node->isElementNode())
- node = node->parentNode();
-
- Element* elementUnderPoint = toElement(node);
-
- if (elementUnderPoint) {
- result.m_nodeUnderFatFinger = elementUnderPoint;
-
- // If we are looking for a Clickable Element and we found one, we can quit early.
- if (m_targetType == ClickableElement) {
- if (isElementClickable(elementUnderPoint)) {
- setSuccessfulFatFingersResult(result, elementUnderPoint, m_contentPos /*adjustedPosition*/);
- return result;
- }
- if (hitResult.URLElement()) {
- setSuccessfulFatFingersResult(result, hitResult.URLElement(), m_contentPos /*adjustedPosition*/);
- return result;
- }
- }
- }
-
-#if DEBUG_FAT_FINGERS
- // Force blit to make the fat fingers rects show up.
- if (!m_debugFatFingerRect.isEmpty())
- m_webPage->m_backingStore->repaint(0, 0, m_webPage->transformedViewportSize().width(), m_webPage->transformedViewportSize().height(), true, true);
-#endif
-
- Vector<IntersectingRegion> intersectingRegions;
- IntRectRegion remainingFingerRegion = IntRectRegion(fingerRectForPoint(m_contentPos));
-
- bool foundOne = findIntersectingRegions(m_webPage->m_mainFrame->document(), intersectingRegions, remainingFingerRegion);
-
- if (!foundOne)
- return result;
-
- Node* bestNode = 0;
- IntRectRegion largestIntersectionRegion;
- int largestIntersectionRegionArea = 0;
-
- Vector<IntersectingRegion>::const_iterator endIt = intersectingRegions.end();
- for (Vector<IntersectingRegion>::const_iterator it = intersectingRegions.begin(); it != endIt; ++it) {
- Node* currentNode = it->first;
- IntRectRegion currentIntersectionRegion = it->second;
-
- int currentIntersectionRegionArea = currentIntersectionRegion.area();
- if (currentIntersectionRegionArea > largestIntersectionRegionArea
- || (currentIntersectionRegionArea == largestIntersectionRegionArea
- && compareDistanceBetweenPoints(m_contentPos, currentIntersectionRegion, largestIntersectionRegion))) {
- bestNode = currentNode;
- largestIntersectionRegion = currentIntersectionRegion;
- largestIntersectionRegionArea = currentIntersectionRegionArea;
- }
- }
-
- if (!bestNode || largestIntersectionRegion.isEmpty())
- return result;
-
-#if DEBUG_FAT_FINGERS
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->m_webkitThreadViewportAccessor;
-
- m_debugFatFingerAdjustedPosition = viewportAccessor->pixelViewportFromContents(
- viewportAccessor->roundToPixelFromDocumentContents(largestIntersectionRegion.rects()[0].center()));
-#endif
-
- setSuccessfulFatFingersResult(result, bestNode, largestIntersectionRegion.rects()[0].center() /*adjustedPosition*/);
-
- return result;
-}
-
-// 'region' is in contents coordinates relative to the frame containing 'node'
-// 'remainingFingerRegion' and 'intersectingRegions' will always be in main frame contents
-// coordinates.
-// Thus, before comparing, we need to map the former to main frame contents coordinates.
-bool FatFingers::checkFingerIntersection(const IntRectRegion& region, const IntRectRegion& remainingFingerRegion, Node* node, Vector<IntersectingRegion>& intersectingRegions)
-{
- ASSERT(node);
-
- IntRectRegion regionCopy(region);
- WebCore::IntPoint framePos(m_webPage->frameOffset(node->document()->frame()));
- regionCopy.move(framePos.x(), framePos.y());
-
- IntRectRegion intersection = intersectRegions(regionCopy, remainingFingerRegion);
- if (intersection.isEmpty())
- return false;
-
-#if DEBUG_FAT_FINGERS
- String nodeName;
- if (node->isTextNode())
- nodeName = "text node";
- else if (node->isElementNode())
- nodeName = String::format("%s node", toElement(node)->tagName().latin1().data());
- else
- nodeName = "unknown node";
- if (node->isInShadowTree()) {
- nodeName = nodeName + "(in shadow tree";
- if (node->isElementNode() && !toElement(node)->shadowPseudoId().isEmpty())
- nodeName = nodeName + ", pseudo id " + toElement(node)->shadowPseudoId();
- nodeName = nodeName + ")";
- }
- Platform::logAlways(Platform::LogLevelInfo,
- "%s has region %s, intersecting at %s (area %d)", nodeName.latin1().data(),
- regionCopy.toString().c_str(), intersection.toString().c_str(), intersection.area());
-#endif
-
- intersectingRegions.append(std::make_pair(node, intersection));
- return true;
-}
-
-
-// intersectingRegions and remainingFingerRegion are all in main frame contents coordinates,
-// even on recursive calls of ::findIntersectingRegions.
-bool FatFingers::findIntersectingRegions(Document* document, Vector<IntersectingRegion>& intersectingRegions, IntRectRegion& remainingFingerRegion)
-{
- if (!document || !document->frame()->view())
- return false;
-
- // The layout needs to be up-to-date to determine if a node is focusable.
- document->updateLayoutIgnorePendingStylesheets();
-
- // Create fingerRect.
- IntPoint frameContentPos(document->frame()->view()->windowToContents(m_webPage->m_mainFrame->view()->contentsToWindow(m_contentPos)));
- IntRect viewportRect = m_webPage->mainFrame()->view()->visibleContentRect();
-
- // Ensure the frameContentPos is inside the viewport.
- frameContentPos = Platform::pointClampedToRect(frameContentPos, viewportRect);
-
-#if DEBUG_FAT_FINGERS
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->m_webkitThreadViewportAccessor;
-
- Platform::IntRect fingerRect(fingerRectForPoint(frameContentPos));
- Platform::IntRect screenFingerRect = viewportAccessor->roundToPixelFromDocumentContents(fingerRect);
- Platform::logAlways(Platform::LogLevelInfo, "fat finger rect now %s", screenFingerRect.toString().c_str());
-
- // only record the first finger rect
- if (document == m_webPage->m_mainFrame->document())
- m_debugFatFingerRect = viewportAccessor->pixelViewportFromContents(screenFingerRect);
-#endif
-
- bool foundOne = false;
-
- RenderLayer* lowestPositionedEnclosingLayerSoFar = 0;
-
- // Iterate over the list of nodes (and subrects of nodes where possible), for each saving the
- // intersection of the bounding box with the finger rect.
- ListHashSet<RefPtr<Node> > intersectedNodes;
-
- if (m_webPage->m_cachedRectHitTestResults.contains(document))
- intersectedNodes = m_webPage->m_cachedRectHitTestResults.get(document);
- else
- getNodesFromRect(document, frameContentPos, intersectedNodes);
-
- ListHashSet<RefPtr<Node> >::const_iterator it = intersectedNodes.begin();
- ListHashSet<RefPtr<Node> >::const_iterator end = intersectedNodes.end();
- for ( ; it != end; ++it) {
- Node* curNode = (*it).get();
- if (!curNode || !curNode->renderer())
- continue;
-
- if (remainingFingerRegion.isEmpty())
- break;
-
- bool isElement = curNode->isElementNode();
- if (isElement && isValidFrameOwner(toElement(curNode))) {
-
- HTMLFrameOwnerElement* owner = static_cast<HTMLFrameOwnerElement*>(curNode);
- Document* childDocument = owner && owner->contentFrame() ? owner->contentFrame()->document() : 0;
- if (!childDocument)
- continue;
-
- ASSERT(childDocument->frame()->view());
-
- foundOne |= findIntersectingRegions(childDocument, intersectingRegions, remainingFingerRegion);
- } else if (isElement && m_targetType == ClickableElement) {
- foundOne |= checkForClickableElement(toElement(curNode), intersectingRegions, remainingFingerRegion, lowestPositionedEnclosingLayerSoFar);
- } else if (m_targetType == Text)
- foundOne |= checkForText(curNode, intersectingRegions, remainingFingerRegion);
- }
-
- return foundOne;
-}
-
-bool FatFingers::checkForClickableElement(Element* curElement, Vector<IntersectingRegion>& intersectingRegions, IntRectRegion& remainingFingerRegion, RenderLayer*& lowestPositionedEnclosingLayerSoFar)
-{
- ASSERT(curElement);
-
- bool intersects = false;
- IntRectRegion elementRegion;
-
- bool isClickableElement = isElementClickable(curElement);
- if (isClickableElement) {
- if (curElement->isLink()) {
- // Links can wrap lines, and in such cases Node::boundingBox() can give us
- // not accurate rects, since it unites all InlineBox's rects. In these
- // cases, we can process each line of the link separately with our
- // intersection rect, getting a more accurate clicking.
- Vector<FloatQuad> quads;
- curElement->renderer()->absoluteFocusRingQuads(quads);
-
- size_t n = quads.size();
- ASSERT(n);
-
- for (size_t i = 0; i < n; ++i)
- elementRegion = unionRegions(elementRegion, Platform::IntRect(quads[i].enclosingBoundingBox()));
- } else
- elementRegion = IntRectRegion(curElement->renderer()->absoluteBoundingBoxRect(true /*use transforms*/));
-
- } else
- elementRegion = IntRectRegion(curElement->renderer()->absoluteBoundingBoxRect(true /*use transforms*/));
-
- if (lowestPositionedEnclosingLayerSoFar) {
- RenderLayer* curElementRenderLayer = m_webPage->enclosingPositionedAncestorOrSelfIfPositioned(curElement->renderer()->enclosingLayer());
- if (curElementRenderLayer != lowestPositionedEnclosingLayerSoFar) {
-
- // elementRegion will always be in contents coordinates of its container frame. It needs to be
- // mapped to main frame contents coordinates in order to intersect the fingerRegion, then.
- WebCore::IntPoint framePos(m_webPage->frameOffset(curElement->document()->frame()));
- IntRectRegion layerRegion(Platform::IntRect(lowestPositionedEnclosingLayerSoFar->renderer()->absoluteBoundingBoxRect(true/*use transforms*/)));
- layerRegion.move(framePos.x(), framePos.y());
-
- remainingFingerRegion = intersectRegions(remainingFingerRegion, layerRegion);
-
- lowestPositionedEnclosingLayerSoFar = curElementRenderLayer;
- }
- } else
- lowestPositionedEnclosingLayerSoFar = m_webPage->enclosingPositionedAncestorOrSelfIfPositioned(curElement->renderer()->enclosingLayer());
-
- if (isClickableElement)
- intersects = checkFingerIntersection(elementRegion, remainingFingerRegion, curElement, intersectingRegions);
-
- return intersects;
-}
-
-bool FatFingers::checkForText(Node* curNode, Vector<IntersectingRegion>& intersectingRegions, IntRectRegion& fingerRegion)
-{
- ASSERT(curNode);
- if (isFieldWithText(curNode)) {
- // FIXME: Find all text in the field and find the best word.
- // For now, we will just select the whole field.
- IntRect boundingRect = curNode->renderer()->absoluteBoundingBoxRect(true /*use transforms*/);
- IntRectRegion nodeRegion(boundingRect);
- return checkFingerIntersection(nodeRegion, fingerRegion, curNode, intersectingRegions);
- }
-
- if (curNode->isTextNode()) {
- WebCore::Text* curText = static_cast<WebCore::Text*>(curNode);
- String allText = curText->wholeText();
-
- // Iterate through all words, breaking at whitespace, to find the bounding box of each word.
- TextBreakIterator* wordIterator = wordBreakIterator(allText.characters(), allText.length());
-
- int lastOffset = textBreakFirst(wordIterator);
- if (lastOffset == -1)
- return false;
-
- bool foundOne = false;
- int offset;
- Document* document = curNode->document();
-
- while ((offset = textBreakNext(wordIterator)) != -1) {
- RefPtr<Range> range = Range::create(document, curText, lastOffset, curText, offset);
- if (!range->text().stripWhiteSpace().isEmpty()) {
-#if DEBUG_FAT_FINGERS
- Platform::logAlways(Platform::LogLevelInfo, "Checking word '%s'", range->text().latin1().data());
-#endif
- IntRectRegion rangeRegion(DOMSupport::transformedBoundingBoxForRange(*range));
- foundOne |= checkFingerIntersection(rangeRegion, fingerRegion, curNode, intersectingRegions);
- }
- lastOffset = offset;
- }
- return foundOne;
- }
- return false;
-}
-
-void FatFingers::getAdjustedPaddings(const IntPoint& contentViewportPos, unsigned& top, unsigned& right, unsigned& bottom, unsigned& left) const
-{
- static unsigned topPadding = Platform::Settings::instance()->topFatFingerPadding();
- static unsigned rightPadding = Platform::Settings::instance()->rightFatFingerPadding();
- static unsigned bottomPadding = Platform::Settings::instance()->bottomFatFingerPadding();
- static unsigned leftPadding = Platform::Settings::instance()->leftFatFingerPadding();
-
- double currentScale = m_webPage->currentScale();
- top = topPadding / currentScale;
- right = rightPadding / currentScale;
- bottom = bottomPadding / currentScale;
- left = leftPadding / currentScale;
-
- IntRect viewportRect = m_webPage->mainFrame()->view()->visibleContentRect();
- // We clamp the event position inside the viewport. We should not expand the fat finger rect to the edge again.
- top = std::min(unsigned(std::max(contentViewportPos.y() - 1, 0)), top);
- left = std::min(unsigned(std::max(contentViewportPos.x() - 1, 0)), left);
- bottom = std::min(unsigned(std::max(viewportRect.height() - contentViewportPos.y() - 1, 0)), bottom);
- right = std::min(unsigned(std::max(viewportRect.width() - contentViewportPos.x() - 1, 0)), right);
-}
-
-void FatFingers::getNodesFromRect(Document* document, const IntPoint& contentPos, ListHashSet<RefPtr<Node> >& intersectedNodes)
-{
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->m_webkitThreadViewportAccessor;
-
- unsigned topPadding, rightPadding, bottomPadding, leftPadding;
- IntPoint contentViewportPos = viewportAccessor->documentViewportFromContents(m_contentPos);
- // Do not allow fat fingers detect anything not visible(ie outside of the viewport)
- getAdjustedPaddings(contentViewportPos, topPadding, rightPadding, bottomPadding, leftPadding);
-
- // The user functions checkForText() and findIntersectingRegions() uses the Node.wholeText() to checkFingerIntersection()
- // not the text in its shadow tree.
- HitTestRequest::HitTestRequestType requestType = HitTestRequest::ReadOnly | HitTestRequest::Active;
- if (m_targetType != Text)
- requestType |= HitTestRequest::DisallowShadowContent;
- HitTestResult result(contentPos, topPadding, rightPadding, bottomPadding, leftPadding);
-
- document->renderView()->layer()->hitTest(requestType, result);
- intersectedNodes = result.rectBasedTestResult();
- m_webPage->m_cachedRectHitTestResults.add(document, intersectedNodes);
-}
-
-void FatFingers::setSuccessfulFatFingersResult(FatFingersResult& result, Node* bestNode, const WebCore::IntPoint& adjustedPoint)
-{
- result.m_nodeUnderFatFinger = bestNode;
- result.m_adjustedPosition = adjustedPoint;
- result.m_positionWasAdjusted = true;
- result.m_isValid = true;
-
- bool isTextInputElement = false;
- if (m_targetType == ClickableElement) {
- ASSERT_WITH_SECURITY_IMPLICATION(bestNode->isElementNode());
- Element* bestElement = toElement(bestNode);
- isTextInputElement = DOMSupport::isTextInputElement(bestElement);
- }
- result.m_isTextInput = isTextInputElement;
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/FatFingers.h b/Source/WebKit/blackberry/WebKitSupport/FatFingers.h
deleted file mode 100644
index ecf632295..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/FatFingers.h
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 FatFingers_h
-#define FatFingers_h
-
-#include "HitTestResult.h"
-#include "RenderLayer.h"
-
-#include <BlackBerryPlatformIntRectRegion.h>
-
-#include <utility>
-
-#include <wtf/HashSet.h>
-#include <wtf/ListHashSet.h>
-#include <wtf/Vector.h>
-
-namespace WebCore {
-class Document;
-class Element;
-class IntPoint;
-class IntRect;
-class IntSize;
-class Node;
-}
-
-#define DEBUG_FAT_FINGERS 0
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebPagePrivate;
-class FatFingersResult;
-class TouchEventHandler;
-
-
-class FatFingers {
-public:
- enum TargetType { ClickableElement, Text };
-
- FatFingers(WebPagePrivate* webpage, const WebCore::IntPoint& contentPos, TargetType);
- ~FatFingers();
-
- const FatFingersResult findBestPoint();
-
-#if DEBUG_FAT_FINGERS
- // These debug vars are all in content coordinates. They are public so
- // they can be read from BackingStore, which will draw a visible rect
- // around the fat fingers area.
- static WebCore::IntRect m_debugFatFingerRect;
- static WebCore::IntPoint m_debugFatFingerClickPosition;
- static WebCore::IntPoint m_debugFatFingerAdjustedPosition;
-#endif
-
-private:
- enum MatchingApproachForClickable { ClickableByDefault = 0, MadeClickableByTheWebpage, Done };
-
- typedef std::pair<WebCore::Node*, Platform::IntRectRegion> IntersectingRegion;
-
- bool checkFingerIntersection(const Platform::IntRectRegion&,
- const Platform::IntRectRegion& remainingFingerRegion,
- WebCore::Node*,
- Vector<IntersectingRegion>& intersectingRegions);
-
- bool findIntersectingRegions(WebCore::Document*,
- Vector<IntersectingRegion>& intersectingRegions,
- Platform::IntRectRegion& remainingFingerRegion);
-
- bool checkForClickableElement(WebCore::Element*,
- Vector<IntersectingRegion>& intersectingRegions,
- Platform::IntRectRegion& remainingFingerRegion,
- WebCore::RenderLayer*& lowestPositionedEnclosingLayerSoFar);
-
- bool checkForText(WebCore::Node*,
- Vector<IntersectingRegion>& intersectingRegions,
- Platform::IntRectRegion& fingerRegion);
-
- void setSuccessfulFatFingersResult(FatFingersResult&, WebCore::Node*, const WebCore::IntPoint&);
-
- void getNodesFromRect(WebCore::Document*, const WebCore::IntPoint&, ListHashSet<RefPtr<WebCore::Node> >&);
-
- bool isElementClickable(WebCore::Element*) const;
-
- inline WebCore::IntRect fingerRectForPoint(const WebCore::IntPoint&) const;
- void getAdjustedPaddings(const WebCore::IntPoint&, unsigned& top, unsigned& right, unsigned& bottom, unsigned& left) const;
-
- WebPagePrivate* m_webPage;
- WebCore::IntPoint m_contentPos;
- TargetType m_targetType;
-};
-
-class FatFingersResult {
-public:
-
- FatFingersResult(const WebCore::IntPoint& p = WebCore::IntPoint::zero(), const FatFingers::TargetType targetType = FatFingers::ClickableElement)
- : m_originalPosition(p)
- , m_adjustedPosition(p)
- , m_targetType(targetType)
- , m_positionWasAdjusted(false)
- , m_isTextInput(false)
- , m_isValid(false)
- , m_nodeUnderFatFinger(0)
- {
- }
-
- void reset()
- {
- m_originalPosition = m_adjustedPosition = WebCore::IntPoint::zero();
- m_positionWasAdjusted = false;
- m_isTextInput = false;
- m_isValid = false;
- m_nodeUnderFatFinger = 0;
- }
-
- bool resultMatches(const WebCore::IntPoint& p, const FatFingers::TargetType targetType) const
- {
- return m_isValid && p == m_originalPosition && targetType == m_targetType;
- }
-
- WebCore::IntPoint originPosition() const { return m_originalPosition; }
- WebCore::IntPoint adjustedPosition() const { return m_adjustedPosition; }
- bool positionWasAdjusted() const { return m_isValid && m_positionWasAdjusted; }
- bool isTextInput() const { return m_isValid && !!m_nodeUnderFatFinger && m_isTextInput; }
- bool isValid() const { return m_isValid; }
-
- enum ContentType { ShadowContentAllowed, ShadowContentNotAllowed };
-
- WebCore::Node* node(ContentType type = ShadowContentAllowed, bool shouldUseRootEditableElement = false) const
- {
- if (!m_nodeUnderFatFinger || !m_nodeUnderFatFinger->inDocument())
- return 0;
-
- WebCore::Node* result = m_nodeUnderFatFinger.get();
-
- if (type == ShadowContentAllowed)
- return result;
-
- // Shadow trees can be nested.
- while (result->isInShadowTree())
- result = toElement(result->deprecatedShadowAncestorNode());
-
- if (!shouldUseRootEditableElement || !result->isElementNode())
- return result;
-
- // Retrieve the top level editable node
- while (!result->isRootEditableElement()) {
- WebCore::Element* parentElement = result->parentElement();
- if (!parentElement)
- break;
- result = parentElement;
- }
-
- return result;
- }
-
- WebCore::Element* nodeAsElementIfApplicable(ContentType type = ShadowContentAllowed, bool shouldUseRootEditableElement = false) const
- {
- WebCore::Node* result = node(type, shouldUseRootEditableElement);
- if (!result || !result->isElementNode())
- return 0;
-
- return static_cast<WebCore::Element*>(result);
- }
-
-private:
- friend class WebKit::FatFingers;
- friend class WebKit::TouchEventHandler;
-
- WebCore::IntPoint m_originalPosition; // Main frame contents coordinates.
- WebCore::IntPoint m_adjustedPosition; // Main frame contents coordinates.
- FatFingers::TargetType m_targetType;
- bool m_positionWasAdjusted;
- bool m_isTextInput; // Check if the element under the touch point will require a VKB be displayed so that the touch down can be suppressed.
- bool m_isValid;
- RefPtr<WebCore::Node> m_nodeUnderFatFinger;
-};
-
-}
-}
-
-#endif // FatFingers_h
-
diff --git a/Source/WebKit/blackberry/WebKitSupport/FrameLayers.cpp b/Source/WebKit/blackberry/WebKitSupport/FrameLayers.cpp
deleted file mode 100644
index 996c9468d..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/FrameLayers.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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"
-
-#if USE(ACCELERATED_COMPOSITING)
-#include "FrameLayers.h"
-
-#include "Frame.h"
-#include "FrameView.h"
-#include "LayerWebKitThread.h"
-#include "Page.h"
-#include "RenderPart.h"
-#include "WebPage_p.h"
-#include <wtf/Assertions.h>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-static FloatSize frameLayerAbsoluteOffset(Frame* frame)
-{
- ASSERT(frame);
-
- if (!frame->view() || !frame->page() || !frame->page()->mainFrame() || !frame->page()->mainFrame()->view())
- return FloatSize();
-
- IntPoint offset = frame->page()->mainFrame()->view()->windowToContents(frame->view()->contentsToWindow(IntPoint::zero()));
- return FloatSize(offset.x(), offset.y());
-}
-
-FrameLayers::FrameLayers(WebPagePrivate* page)
- : m_pagePrivate(page)
- , m_rootGraphicsLayer()
- , m_rootLayer(0)
-{
-}
-
-FrameLayers::~FrameLayers()
-{
- m_frameLayers.clear();
-}
-
-bool FrameLayers::containsLayerForFrame(Frame* frame)
-{
- ASSERT(frame);
- return m_frameLayers.contains(frame);
-}
-
-void FrameLayers::addLayer(Frame* frame, LayerWebKitThread* layer)
-{
- // If we have main frame layer we don't accept other layers.
- // This should not happen actually.
- ASSERT(frame != m_pagePrivate->m_mainFrame || !isRootLayerMainFrameLayer());
- if (frame == m_pagePrivate->m_mainFrame && isRootLayerMainFrameLayer())
- return;
-
- ASSERT(frame && layer && !m_frameLayers.contains(frame));
-
- m_frameLayers.add(frame, layer);
-
- calculateRootLayer();
- if (!m_rootLayer) {
- ASSERT(!m_rootGraphicsLayer);
- m_rootGraphicsLayer = GraphicsLayer::create(0);
- m_rootLayer = m_rootGraphicsLayer->platformLayer();
- }
-
- if (m_rootLayer != layer)
- m_rootLayer->addSublayer(layer);
-}
-
-void FrameLayers::removeLayerByFrame(Frame* frame)
-{
- ASSERT(frame);
- FrameLayerMap::iterator it = m_frameLayers.find(frame);
- if (it != m_frameLayers.end()) {
- LayerWebKitThread* layer = it->value;
- if (layer->superlayer())
- layer->removeFromSuperlayer();
- m_frameLayers.remove(it);
- calculateRootLayer();
- }
-}
-
-void FrameLayers::commitOnWebKitThread(double scale)
-{
- ASSERT(m_rootLayer);
- if (!isRootLayerMainFrameLayer()) {
- for (FrameLayerMap::iterator it = m_frameLayers.begin(); it != m_frameLayers.end(); ++it)
- it->value->setAbsoluteOffset(frameLayerAbsoluteOffset(it->key));
- }
- m_rootLayer->commitOnWebKitThread(scale);
-}
-
-void FrameLayers::notifyAnimationsStarted(double animationStartTime)
-{
- m_rootLayer->notifyAnimationsStarted(animationStartTime);
-}
-
-void FrameLayers::calculateRootLayer()
-{
- if (m_frameLayers.size() == 1 && m_frameLayers.begin()->key == m_pagePrivate->m_mainFrame)
- m_rootLayer = m_frameLayers.begin()->value;
- else if (m_rootGraphicsLayer)
- m_rootLayer = m_rootGraphicsLayer->platformLayer();
- else
- m_rootLayer = 0;
-}
-
-void FrameLayers::releaseLayerResources()
-{
- if (m_rootLayer)
- m_rootLayer->releaseLayerResources();
-}
-
-} // namespace BlackBerry
-} // namespace WebKit
-
-#endif // USE(ACCELERATED_COMPOSITING)
diff --git a/Source/WebKit/blackberry/WebKitSupport/FrameLayers.h b/Source/WebKit/blackberry/WebKitSupport/FrameLayers.h
deleted file mode 100644
index 4a8ba13b0..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/FrameLayers.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 FrameLayers_h
-#define FrameLayers_h
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "GraphicsLayer.h"
-#include <wtf/HashMap.h>
-#include <wtf/OwnPtr.h>
-
-namespace WebCore {
-class Frame;
-class LayerWebKitThread;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebPagePrivate;
-
-// This class may only be used on the WebKit thread.
-class FrameLayers {
-public:
- FrameLayers(WebPagePrivate*);
- ~FrameLayers();
-
- bool containsLayerForFrame(WebCore::Frame*);
- void addLayer(WebCore::Frame*, WebCore::LayerWebKitThread*);
- void removeLayerByFrame(WebCore::Frame*);
-
- bool hasLayer() const { return m_frameLayers.size(); }
-
- void commitOnWebKitThread(double scale);
- void notifyAnimationsStarted(double animationStartTime);
-
- void calculateRootLayer();
-
- bool isRootLayerMainFrameLayer() const { return m_rootLayer && !m_rootGraphicsLayer; }
-
- // FIXME: This function should only be called on the WebKit thread.
- // But it's now also being called on the Compositing thread.
- WebCore::LayerWebKitThread* rootLayer() const { return m_rootLayer; }
-
- void releaseLayerResources();
-
-private:
- WebPagePrivate* m_pagePrivate;
- OwnPtr<WebCore::GraphicsLayer> m_rootGraphicsLayer;
- WebCore::LayerWebKitThread* m_rootLayer;
- typedef HashMap<WebCore::Frame*, WebCore::LayerWebKitThread*> FrameLayerMap;
- FrameLayerMap m_frameLayers;
-};
-
-} // namespace BlackBerry
-} // namespace WebKit
-
-#endif // USE(ACCELERATED_COMPOSITING)
-
-#endif // FrameLayers_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp b/Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp
deleted file mode 100644
index 9e740fdf0..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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 "GLES2Context.h"
-
-#include "Chrome.h"
-#include "ChromeClient.h"
-#include "SurfacePool.h"
-#include "WebPageClient.h"
-#include "WebPage_p.h"
-
-#include <GLES2/gl2.h>
-
-#include <wtf/Assertions.h>
-
-using BlackBerry::Platform::Graphics::Window;
-
-namespace BlackBerry {
-namespace WebKit {
-
-Platform::Graphics::Buffer* GLES2Context::buffer() const
-{
- if (m_window)
- return m_window->buffer();
-
- ASSERT_NOT_REACHED();
- return 0;
-}
-
-PassOwnPtr<GLES2Context> GLES2Context::create(WebPagePrivate* page)
-{
- return adoptPtr(new GLES2Context(page));
-}
-
-GLES2Context::GLES2Context(WebPagePrivate* page)
- : m_window(0)
-{
- if (Window* window = page->m_client->window()) {
- if (window->windowUsage() == Window::GLES2Usage)
- m_window = window;
- }
-}
-
-GLES2Context::~GLES2Context()
-{
-}
-
-Platform::IntSize GLES2Context::surfaceSize() const
-{
- if (m_window)
- return m_window->surfaceSize();
-
- ASSERT_NOT_REACHED();
- return Platform::IntSize();
-}
-
-bool GLES2Context::makeCurrent()
-{
- return Platform::Graphics::makeBufferCurrent(buffer(), Platform::Graphics::GLES2);
-}
-
-bool GLES2Context::swapBuffers()
-{
- ASSERT(glGetError() == GL_NO_ERROR);
-
- // Nothing to do here, the backing store will swap it when the time is right.
-
- return true;
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
diff --git a/Source/WebKit/blackberry/WebKitSupport/GLES2Context.h b/Source/WebKit/blackberry/WebKitSupport/GLES2Context.h
deleted file mode 100644
index 7178ec015..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/GLES2Context.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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.
- */
-
-#ifndef GLES2Context_h
-#define GLES2Context_h
-
-#include <BlackBerryPlatformGLES2Context.h>
-#include <BlackBerryPlatformWindow.h>
-#include <wtf/Noncopyable.h>
-#include <wtf/PassOwnPtr.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebPagePrivate;
-
-class GLES2Context : public Platform::Graphics::GLES2Context {
- WTF_MAKE_NONCOPYABLE(GLES2Context);
-public:
- static PassOwnPtr<GLES2Context> create(WebPagePrivate*);
- ~GLES2Context();
- Platform::IntSize surfaceSize() const;
- bool makeCurrent();
- bool swapBuffers();
-
-private:
- GLES2Context(WebPagePrivate*);
- Platform::Graphics::Buffer* buffer() const;
-
- Platform::Graphics::Window* m_window;
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif
diff --git a/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp b/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp
deleted file mode 100644
index ed70fac09..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp
+++ /dev/null
@@ -1,401 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "InPageSearchManager.h"
-
-#include "DOMSupport.h"
-#include "Document.h"
-#include "DocumentMarkerController.h"
-#include "Editor.h"
-#include "Frame.h"
-#include "Node.h"
-#include "Page.h"
-#include "Range.h"
-#include "ShadowRoot.h"
-#include "TextIterator.h"
-#include "Timer.h"
-#include "WebPage_p.h"
-
-static const double MaxScopingDuration = 0.1;
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-class InPageSearchManager::DeferredScopeStringMatches {
-public:
- DeferredScopeStringMatches(InPageSearchManager* ipsm, Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly)
- : m_searchManager(ipsm)
- , m_scopingFrame(scopingFrame)
- , m_timer(this, &DeferredScopeStringMatches::doTimeout)
- , m_searchText(text)
- , m_reset(reset)
- , m_locateActiveMatchOnly(locateActiveMatchOnly)
- {
- m_timer.startOneShot(0.0);
- }
-
-private:
- friend class InPageSearchManager;
- void doTimeout(Timer<DeferredScopeStringMatches>*)
- {
- m_searchManager->callScopeStringMatches(this, m_scopingFrame, m_searchText, m_reset, m_locateActiveMatchOnly);
- }
- InPageSearchManager* m_searchManager;
- Frame* m_scopingFrame;
- Timer<DeferredScopeStringMatches> m_timer;
- String m_searchText;
- bool m_reset;
- bool m_locateActiveMatchOnly;
-};
-
-InPageSearchManager::InPageSearchManager(WebPagePrivate* page)
- : m_webPage(page)
- , m_activeMatch(0)
- , m_resumeScopingFromRange(0)
- , m_activeMatchCount(0)
- , m_scopingComplete(false)
- , m_scopingCaseInsensitive(false)
- , m_locatingActiveMatch(false)
- , m_highlightAllMatches(false)
- , m_activeMatchIndex(0)
-{
-}
-
-InPageSearchManager::~InPageSearchManager()
-{
- cancelPendingScopingEffort();
-}
-
-bool InPageSearchManager::findNextString(const String& text, FindOptions findOptions, bool wrap, bool highlightAllMatches, bool selectActiveMatchOnClear)
-{
- bool highlightAllMatchesStateChanged = m_highlightAllMatches != highlightAllMatches;
- m_highlightAllMatches = highlightAllMatches;
-
- if (!text.length()) {
- clearTextMatches(selectActiveMatchOnClear);
- cancelPendingScopingEffort();
- m_activeSearchString = String();
- m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
- return false;
- }
-
- if (!shouldSearchForText(text)) {
- m_activeSearchString = text;
- m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
- return false;
- }
-
- // Validate the range in case any node has been removed since last search.
- if (m_activeMatch && !m_activeMatch->boundaryPointsValid())
- m_activeMatch = 0;
-
- ExceptionCode ec = 0;
- RefPtr<Range> searchStartingPoint = m_activeMatch ? m_activeMatch->cloneRange(ec) : 0;
- bool newSearch = highlightAllMatchesStateChanged || (m_activeSearchString != text);
- bool forward = !(findOptions & WebCore::Backwards);
- if (newSearch) { // Start a new search.
- m_activeSearchString = text;
- cancelPendingScopingEffort();
- m_scopingCaseInsensitive = findOptions & CaseInsensitive;
- m_webPage->m_page->unmarkAllTextMatches();
- } else {
- // Searching for same string should start from the end of last match.
- if (m_activeMatch) {
- if (forward)
- searchStartingPoint->setStart(searchStartingPoint->endPosition());
- else
- searchStartingPoint->setEnd(searchStartingPoint->startPosition());
- }
- }
-
- // If there is any active selection, new search should start from the beginning of it.
- bool startFromSelection = false;
- VisibleSelection selection = m_webPage->focusedOrMainFrame()->selection()->selection();
- if (!selection.isNone()) {
- searchStartingPoint = selection.firstRange().get();
- m_webPage->focusedOrMainFrame()->selection()->clear();
- startFromSelection = true;
- }
-
- Frame* currentActiveMatchFrame = selection.isNone() && m_activeMatch ? m_activeMatch->ownerDocument()->frame() : m_webPage->focusedOrMainFrame();
-
- if (findAndMarkText(text, searchStartingPoint.get(), currentActiveMatchFrame, findOptions, newSearch, startFromSelection))
- return true;
-
- Frame* startFrame = currentActiveMatchFrame;
- do {
- currentActiveMatchFrame = DOMSupport::incrementFrame(currentActiveMatchFrame, forward, wrap);
-
- if (!currentActiveMatchFrame) {
- // We should only ever have a null frame if we haven't found any
- // matches and we're not wrapping. We have searched every frame.
- ASSERT(!wrap);
- m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
- return false;
- }
-
- if (findAndMarkText(text, 0, currentActiveMatchFrame, findOptions, newSearch, startFromSelection))
- return true;
- } while (startFrame != currentActiveMatchFrame);
-
- clearTextMatches();
-
- m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
- return false;
-}
-
-bool InPageSearchManager::shouldSearchForText(const String& text)
-{
- if (text == m_activeSearchString)
- return m_activeMatchCount;
-
- // If the previous search string is prefix of new search string,
- // don't search if the previous one has zero result.
- if (m_scopingComplete
- && !m_activeMatchCount
- && m_activeSearchString.length()
- && text.length() > m_activeSearchString.length()
- && m_activeSearchString == text.substring(0, m_activeSearchString.length()))
- return false;
- return true;
-}
-
-bool InPageSearchManager::findAndMarkText(const String& text, Range* range, Frame* frame, const FindOptions& options, bool isNewSearch, bool startFromSelection)
-{
- if (RefPtr<Range> match = frame->editor().findStringAndScrollToVisible(text, range, options)) {
- // Move the highlight to the new match.
- setActiveMatchAndMarker(match);
- if (isNewSearch) {
- scopeStringMatches(text, true /* reset */, false /* locateActiveMatchOnly */);
- if (!m_highlightAllMatches) {
- // Not highlighting all matches, we need to add the marker here,
- // because scopeStringMatches does not add any markers, it only counts the number.
- // No need to unmarkAllTextMatches, it is already done from the caller because of newSearch
- m_activeMatch->ownerDocument()->markers()->addTextMatchMarker(m_activeMatch.get(), true);
- frame->editor().setMarkedTextMatchesAreHighlighted(true /* highlight */);
- }
- return true;
- }
- if (startFromSelection || m_locatingActiveMatch) {
- // We are finding next, but
- // - starting from a new node, or
- // - last locating active match effort is not done yet
- if (!m_scopingComplete) {
- // Last scoping is not done yet, let's restart it.
- scopeStringMatches(text, true /* reset */, false /* locateActiveMatchOnly */);
- } else {
- // Last scoping is done, but we are jumping to somewhere instead of
- // searching one by one, or there is another locating active match effort,
- // let's start a scoping effort to locate active match only.
- scopeStringMatches(text, true /* reset */, true /* locateActiveMatchOnly */);
- }
- } else {
- // We are finding next one by one, let's calculate active match index
- // There is at least one match, because otherwise we won't get into this block,
- // so m_activeMatchIndex is at least one.
- ASSERT(m_activeMatchCount);
- if (!(options & WebCore::Backwards))
- m_activeMatchIndex = m_activeMatchIndex + 1 > m_activeMatchCount ? 1 : m_activeMatchIndex + 1;
- else
- m_activeMatchIndex = m_activeMatchIndex - 1 < 1 ? m_activeMatchCount : m_activeMatchIndex - 1;
- m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
- }
- if (!m_highlightAllMatches) {
- // When only showing single matches, the scoping effort won't highlight
- // all matches but count them.
- m_webPage->m_page->unmarkAllTextMatches();
- m_activeMatch->ownerDocument()->markers()->addTextMatchMarker(m_activeMatch.get(), true);
- frame->editor().setMarkedTextMatchesAreHighlighted(true /* highlight */);
- }
-
- return true;
- }
- return false;
-}
-
-void InPageSearchManager::clearTextMatches(bool selectActiveMatchOnClear)
-{
- if (selectActiveMatchOnClear && m_activeMatch.get()) {
- VisibleSelection selection(m_activeMatch.get());
- m_activeMatch->ownerDocument()->frame()->selection()->setSelection(selection);
- }
- m_webPage->m_page->unmarkAllTextMatches();
- m_activeMatch = 0;
- m_activeMatchCount = 0;
- m_activeMatchIndex = 0;
-}
-
-void InPageSearchManager::setActiveMatchAndMarker(PassRefPtr<Range> range)
-{
- // Clear the old marker, update our range, and highlight the new range.
- if (m_activeMatch.get()) {
- if (Document* doc = m_activeMatch->ownerDocument())
- doc->markers()->setMarkersActive(m_activeMatch.get(), false);
- }
-
- m_activeMatch = range;
- if (m_activeMatch.get()) {
- if (Document* doc = m_activeMatch->ownerDocument())
- doc->markers()->setMarkersActive(m_activeMatch.get(), true);
- }
-}
-
-void InPageSearchManager::frameUnloaded(const Frame* frame)
-{
- for (size_t i = 0; i < m_deferredScopingWork.size(); i++) {
- if (m_deferredScopingWork[i]->m_scopingFrame == frame) {
- // Clear pending scoping efforts in case of dangling pointer.
- cancelPendingScopingEffort();
- break;
- }
- }
- if (!m_activeMatch) {
- if (m_webPage->mainFrame() == frame && m_activeSearchString.length())
- m_activeSearchString = String();
- return;
- }
-
- Frame* currentActiveMatchFrame = m_activeMatch->ownerDocument()->frame();
- if (currentActiveMatchFrame == frame) {
- // FIXME: We need to re-scope this frame instead of cancelling all effort?
- cancelPendingScopingEffort();
- m_activeMatch = 0;
- m_activeSearchString = String();
- m_activeMatchCount = 0;
- // FIXME: We need to notify client here.
- if (frame == m_webPage->mainFrame()) // Don't need to unmark because the page will be destroyed.
- return;
- m_webPage->m_page->unmarkAllTextMatches();
- }
-}
-
-void InPageSearchManager::scopeStringMatches(const String& text, bool reset, bool locateActiveMatchOnly, Frame* scopingFrame)
-{
- if (reset) {
- if (!locateActiveMatchOnly) {
- m_activeMatchCount = 0;
- m_scopingComplete = false;
- }
- m_resumeScopingFromRange = 0;
- m_locatingActiveMatch = true;
- m_activeMatchIndex = 0;
- // New search should always start from mainFrame.
- scopeStringMatchesSoon(m_webPage->mainFrame(), text, false /* reset */, locateActiveMatchOnly);
- return;
- }
-
- if (m_resumeScopingFromRange && scopingFrame != m_resumeScopingFromRange->ownerDocument()->frame())
- m_resumeScopingFromRange = 0;
-
- RefPtr<Range> searchRange(rangeOfContents(scopingFrame->document()));
- Node* originalEndContainer = searchRange->endContainer();
- int originalEndOffset = searchRange->endOffset();
- ExceptionCode ec = 0, ec2 = 0;
- if (m_resumeScopingFromRange) {
- searchRange->setStart(m_resumeScopingFromRange->startContainer(), m_resumeScopingFromRange->startOffset(ec2) + 1, ec);
- if (ec || ec2) {
- m_scopingComplete = true; // We should stop scoping because of some stale data.
- return;
- }
- }
-
- int matchCount = 0;
- bool timeout = false;
- double startTime = currentTime();
- do {
- RefPtr<Range> resultRange(findPlainText(searchRange.get(), text, m_scopingCaseInsensitive ? CaseInsensitive : 0));
- if (resultRange->collapsed(ec)) {
- if (!resultRange->startContainer()->isInShadowTree())
- break;
- searchRange->setStartAfter(resultRange->startContainer()->deprecatedShadowAncestorNode(), ec);
- searchRange->setEnd(originalEndContainer, originalEndOffset, ec);
- continue;
- }
-
- ++matchCount;
- bool foundActiveMatch = false;
- if (m_locatingActiveMatch && areRangesEqual(resultRange.get(), m_activeMatch.get())) {
- foundActiveMatch = true;
- m_locatingActiveMatch = false;
- if (locateActiveMatchOnly) {
- m_activeMatchIndex += matchCount;
- m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
- return;
- }
- m_activeMatchIndex = m_activeMatchCount + matchCount;
- }
- if (!locateActiveMatchOnly && m_highlightAllMatches)
- resultRange->ownerDocument()->markers()->addTextMatchMarker(resultRange.get(), foundActiveMatch);
-
- searchRange->setStart(resultRange->endContainer(ec), resultRange->endOffset(ec), ec);
- ShadowRoot* shadowTreeRoot = searchRange->shadowRoot();
- if (searchRange->collapsed(ec) && shadowTreeRoot)
- searchRange->setEnd(shadowTreeRoot, shadowTreeRoot->childNodeCount(), ec);
- m_resumeScopingFromRange = resultRange;
- timeout = (currentTime() - startTime) >= MaxScopingDuration;
- } while (!timeout);
-
- if (matchCount > 0) {
- if (locateActiveMatchOnly) {
- // We have not found it yet.
- // m_activeMatchIndex now temporarily remember where we left over in this time slot.
- m_activeMatchIndex += matchCount;
- } else {
- if (m_highlightAllMatches)
- scopingFrame->editor().setMarkedTextMatchesAreHighlighted(true /* highlight */);
- m_activeMatchCount += matchCount;
- m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
- }
- }
-
- if (timeout)
- scopeStringMatchesSoon(scopingFrame, text, false /* reset */, locateActiveMatchOnly);
- else {
- // Scoping is done for this frame.
- Frame* nextFrame = DOMSupport::incrementFrame(scopingFrame, true /* forward */, false /* wrapFlag */);
- if (!nextFrame) {
- m_scopingComplete = true;
- return; // Scoping is done for all frames;
- }
- scopeStringMatchesSoon(nextFrame, text, false /* reset */, locateActiveMatchOnly);
- }
-}
-
-void InPageSearchManager::scopeStringMatchesSoon(Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly)
-{
- m_deferredScopingWork.append(new DeferredScopeStringMatches(this, scopingFrame, text, reset, locateActiveMatchOnly));
-}
-
-void InPageSearchManager::callScopeStringMatches(DeferredScopeStringMatches* caller, Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly)
-{
- m_deferredScopingWork.remove(m_deferredScopingWork.find(caller));
- scopeStringMatches(text, reset, locateActiveMatchOnly, scopingFrame);
- delete caller;
-}
-
-void InPageSearchManager::cancelPendingScopingEffort()
-{
- deleteAllValues(m_deferredScopingWork);
- m_deferredScopingWork.clear();
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h b/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h
deleted file mode 100644
index 6446593b3..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 InPageSearchManager_h
-#define InPageSearchManager_h
-
-#include "FindOptions.h"
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-class Frame;
-class Range;
-class VisibleSelection;
-}
-
-namespace BlackBerry {
-
-namespace WebKit {
-
-class WebPagePrivate;
-
-class InPageSearchManager {
-public:
- InPageSearchManager(WebPagePrivate*);
- ~InPageSearchManager();
-
- bool findNextString(const String&, WebCore::FindOptions, bool wrap, bool highlightAllMatches, bool selectActiveMatchOnClear);
- void frameUnloaded(const WebCore::Frame*);
-
-private:
- class DeferredScopeStringMatches;
- friend class DeferredScopeStringMatches;
-
- void clearTextMatches(bool selectActiveMatchOnClear = false);
- void setActiveMatchAndMarker(PassRefPtr<WebCore::Range>);
- bool findAndMarkText(const String&, WebCore::Range*, WebCore::Frame*, const WebCore::FindOptions&, bool /* isNewSearch */, bool /* startFromSelection */);
- bool shouldSearchForText(const String&);
- void scopeStringMatches(const String& text, bool reset, bool locateActiveMatchOnly, WebCore::Frame* scopingFrame = 0);
- void scopeStringMatchesSoon(WebCore::Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly);
- void callScopeStringMatches(DeferredScopeStringMatches* caller, WebCore::Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly);
- void cancelPendingScopingEffort();
-
- Vector<DeferredScopeStringMatches*> m_deferredScopingWork;
- WebPagePrivate* m_webPage;
- RefPtr<WebCore::Range> m_activeMatch;
- RefPtr<WebCore::Range> m_resumeScopingFromRange;
- String m_activeSearchString;
- int m_activeMatchCount;
- bool m_scopingComplete;
- bool m_scopingCaseInsensitive;
- bool m_locatingActiveMatch;
- bool m_highlightAllMatches;
- int m_activeMatchIndex;
-};
-
-}
-}
-
-#endif // InPageSearchManager_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp b/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp
deleted file mode 100644
index 61ab33544..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (C) 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 "InRegionScrollableArea.h"
-
-#include "DOMSupport.h"
-#include "Document.h"
-#include "Frame.h"
-#include "InRegionScroller_p.h"
-#include "LayerWebKitThread.h"
-#include "RenderBox.h"
-#include "RenderLayer.h"
-#include "RenderLayerBacking.h"
-#include "RenderLayerCompositor.h"
-#include "RenderObject.h"
-#include "RenderView.h"
-#include "WebKitThreadViewportAccessor.h"
-#include "WebPage_p.h"
-
-#include <BlackBerryPlatformViewportAccessor.h>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-InRegionScrollableArea::InRegionScrollableArea()
- : m_webPage(0)
- , m_layer(0)
- , m_hasWindowVisibleRectCalculated(false)
-{
-}
-
-InRegionScrollableArea::~InRegionScrollableArea()
-{
- if (m_cachedCompositedScrollableLayer)
- m_cachedCompositedScrollableLayer->clearOverride();
-}
-
-InRegionScrollableArea::InRegionScrollableArea(WebPagePrivate* webPage, RenderLayer* layer)
- : m_webPage(webPage)
- , m_layer(layer)
- , m_document(0)
- , m_hasWindowVisibleRectCalculated(false)
-{
- ASSERT(webPage);
- ASSERT(layer);
- m_isNull = false;
-
- // Add a pointer to the enclosing document as the pointer to layer or node along the way may become invalid.
- if (m_layer->enclosingElement())
- m_document = m_layer->enclosingElement()->document();
-
- // FIXME: Add an ASSERT here as the 'layer' must be scrollable.
-
- RenderObject* layerRenderer = layer->renderer();
- ASSERT(layerRenderer);
-
- if (layerRenderer->isRenderView()) { // #document case
-
- RenderView* renderView = toRenderView(layerRenderer);
- ASSERT(renderView);
-
- FrameView* view = toRenderView(layerRenderer)->frameView();
- ASSERT(view);
-
- Frame* frame = view->frame();
- ASSERT_UNUSED(frame, frame);
-
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->m_webkitThreadViewportAccessor;
- m_scrollPosition = viewportAccessor->roundToPixelFromDocumentContents(WebCore::FloatPoint(view->scrollPosition()));
- m_contentsSize = viewportAccessor->roundToPixelFromDocumentContents(Platform::FloatRect(Platform::FloatPoint::zero(), WebCore::FloatSize(view->contentsSize()))).size();
- m_viewportSize = viewportAccessor->roundToPixelFromDocumentContents(WebCore::FloatRect(view->visibleContentRect(ScrollableArea::ExcludeScrollbars))).size();
- m_documentViewportRect = view->frameRect();
-
- m_scrollsHorizontally = view->contentsWidth() > view->visibleWidth();
- m_scrollsVertically = view->contentsHeight() > view->visibleHeight();
-
- m_supportsCompositedScrolling = true;
-
- m_scrollTarget = InnerFrame;
-
- ASSERT(!m_cachedNonCompositedScrollableNode);
-
- m_camouflagedCompositedScrollableLayer = reinterpret_cast<unsigned>(renderView->compositor()->scrollLayer()->platformLayer());
- m_cachedCompositedScrollableLayer = renderView->compositor()->scrollLayer()->platformLayer();
-
- } else { // RenderBox-based elements case (scrollable boxes (div's, p's, textarea's, etc)).
-
- RenderBox* box = m_layer->renderBox();
- ASSERT(box);
- ASSERT(InRegionScrollerPrivate::canScrollRenderBox(box));
-
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->m_webkitThreadViewportAccessor;
- ScrollableArea* scrollableArea = static_cast<ScrollableArea*>(m_layer);
-
- m_scrollPosition = viewportAccessor->roundToPixelFromDocumentContents(WebCore::FloatPoint(scrollableArea->scrollPosition()));
- m_contentsSize = viewportAccessor->roundToPixelFromDocumentContents(Platform::FloatRect(Platform::FloatPoint::zero(), WebCore::FloatSize(scrollableArea->contentsSize()))).size();
- m_viewportSize = viewportAccessor->roundToPixelFromDocumentContents(WebCore::FloatRect(scrollableArea->visibleContentRect(ScrollableArea::ExcludeScrollbars))).size();
- m_documentViewportRect = enclosingIntRect(box->absoluteClippedOverflowRect());
-
- m_scrollsHorizontally = box->scrollWidth() != box->clientWidth();
- m_scrollsVertically = box->scrollHeight() != box->clientHeight();
-
- // Check the overflow if its not an input field because overflow can be set to hidden etc. by the content.
- if (!DOMSupport::isShadowHostTextInputElement(box->node())) {
- m_scrollsHorizontally = m_scrollsHorizontally && box->scrollsOverflowX();
- m_scrollsVertically = m_scrollsVertically && box->scrollsOverflowY();
- }
-
- m_scrollTarget = BlockElement;
-
- // Both caches below are self-exclusive.
- if (m_layer->usesCompositedScrolling()) {
- m_forceContentToBeHorizontallyScrollable = m_scrollsHorizontally;
- m_forceContentToBeVerticallyScrollable = m_scrollsVertically;
- // Force content to be scrollable even if it doesn't need to scroll in either direction.
- if (!m_scrollsHorizontally && !m_scrollsVertically) {
- if (box->scrollsOverflowY())
- m_forceContentToBeVerticallyScrollable = true;
- else if (box->scrollsOverflowX()) // If it's already forced scrollable vertically, don't force it to scroll horizontally
- m_forceContentToBeHorizontallyScrollable = true;
- }
- m_supportsCompositedScrolling = true;
- ASSERT(m_layer->backing()->hasScrollingLayer());
- m_camouflagedCompositedScrollableLayer = reinterpret_cast<unsigned>(m_layer->backing()->scrollingContentsLayer()->platformLayer());
- m_cachedCompositedScrollableLayer = m_layer->backing()->scrollingContentsLayer()->platformLayer();
- ASSERT(!m_cachedNonCompositedScrollableNode);
- } else {
- m_camouflagedCompositedScrollableLayer = reinterpret_cast<unsigned>(m_layer->enclosingElement());
- m_cachedNonCompositedScrollableNode = m_layer->enclosingElement();
- ASSERT(!m_cachedCompositedScrollableLayer);
- }
- }
-}
-
-void InRegionScrollableArea::setVisibleWindowRect(const WebCore::IntRect& rect)
-{
- m_hasWindowVisibleRectCalculated = true;
- m_visibleWindowRect = rect;
-}
-
-Platform::IntRect InRegionScrollableArea::visibleWindowRect() const
-{
- ASSERT(m_hasWindowVisibleRectCalculated);
- return m_visibleWindowRect;
-}
-
-RenderLayer* InRegionScrollableArea::layer() const
-{
- ASSERT(!m_isNull);
- return m_layer;
-}
-
-Document* InRegionScrollableArea::document() const
-{
- ASSERT(!m_isNull);
- return m_document;
-}
-
-LayerWebKitThread* InRegionScrollableArea::cachedScrollableLayer() const
-{
- return m_cachedCompositedScrollableLayer.get();
-}
-
-Node* InRegionScrollableArea::cachedScrollableNode() const
-{
- return m_cachedNonCompositedScrollableNode.get();
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.h b/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.h
deleted file mode 100644
index 61c7491ce..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Research In Motion Limited. 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
- * 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 InRegionScrollableArea_h
-#define InRegionScrollableArea_h
-
-#include "IntRect.h"
-
-#include <interaction/ScrollViewBase.h>
-
-namespace WebCore {
-class Document;
-class LayerWebKitThread;
-class Node;
-class RenderLayer;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebPagePrivate;
-
-class InRegionScrollableArea : public Platform::ScrollViewBase {
-public:
-
- InRegionScrollableArea();
- InRegionScrollableArea(WebPagePrivate*, WebCore::RenderLayer*);
- virtual ~InRegionScrollableArea();
-
- void setVisibleWindowRect(const WebCore::IntRect&);
- Platform::IntRect visibleWindowRect() const;
-
- WebCore::RenderLayer* layer() const;
- WebCore::Document* document() const;
-
- WebCore::LayerWebKitThread* cachedScrollableLayer() const;
- WebCore::Node* cachedScrollableNode() const;
-
-private:
- WebPagePrivate* m_webPage;
- WebCore::RenderLayer* m_layer;
- WebCore::Document* m_document;
-
- // We either cache one here: in case of a composited scrollable layer
- // cache the LayerWebKitThread. Otherwise, the Node.
- RefPtr<WebCore::LayerWebKitThread> m_cachedCompositedScrollableLayer;
- RefPtr<WebCore::Node> m_cachedNonCompositedScrollableNode;
-
- bool m_hasWindowVisibleRectCalculated;
-};
-
-}
-}
-
-#endif
diff --git a/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp b/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
deleted file mode 100644
index 86a98d2fb..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
+++ /dev/null
@@ -1,2737 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "InputHandler.h"
-
-#include "BackingStore.h"
-#include "BackingStoreClient.h"
-#include "CSSStyleDeclaration.h"
-#include "Chrome.h"
-#include "ColorPickerClient.h"
-#include "DOMSupport.h"
-#include "DatePickerClient.h"
-#include "Document.h"
-#include "DocumentLoader.h"
-#include "DocumentMarkerController.h"
-#include "EditorClientBlackBerry.h"
-#include "FocusController.h"
-#include "Frame.h"
-#include "FrameView.h"
-#include "HTMLFormElement.h"
-#include "HTMLInputElement.h"
-#include "HTMLNames.h"
-#include "HTMLOptGroupElement.h"
-#include "HTMLOptionElement.h"
-#include "HTMLSelectElement.h"
-#include "HTMLTextAreaElement.h"
-#include "NotImplemented.h"
-#include "Page.h"
-#include "PlatformKeyboardEvent.h"
-#include "PluginView.h"
-#include "Range.h"
-#include "RenderLayer.h"
-#include "RenderMenuList.h"
-#include "RenderPart.h"
-#include "RenderText.h"
-#include "RenderTextControl.h"
-#include "RenderWidget.h"
-#include "RenderedDocumentMarker.h"
-#include "ScopePointer.h"
-#include "SelectPopupClient.h"
-#include "SelectionHandler.h"
-#include "SpellChecker.h"
-#include "SpellingHandler.h"
-#include "SuggestionBoxHandler.h"
-#include "TextCheckerClient.h"
-#include "TextIterator.h"
-#include "VisiblePosition.h"
-#include "VisibleUnits.h"
-#include "WebKitThreadViewportAccessor.h"
-#include "WebPageClient.h"
-#include "WebPage_p.h"
-#include "WebSettings.h"
-#include "htmlediting.h"
-
-#include <BlackBerryPlatformDeviceInfo.h>
-#include <BlackBerryPlatformIMF.h>
-#include <BlackBerryPlatformKeyboardEvent.h>
-#include <BlackBerryPlatformLog.h>
-#include <BlackBerryPlatformScreen.h>
-#include <BlackBerryPlatformSettings.h>
-#include <cmath>
-#include <sys/keycodes.h>
-#include <wtf/text/CString.h>
-
-#define ENABLE_INPUT_LOG 0
-#define ENABLE_FOCUS_LOG 0
-#define ENABLE_SPELLING_LOG 0
-
-using namespace BlackBerry::Platform;
-using namespace WebCore;
-
-#if ENABLE_INPUT_LOG
-#define InputLog(severity, format, ...) Platform::logAlways(severity, format, ## __VA_ARGS__)
-#else
-#define InputLog(severity, format, ...)
-#endif // ENABLE_INPUT_LOG
-
-#if ENABLE_FOCUS_LOG
-#define FocusLog(severity, format, ...) Platform::logAlways(severity, format, ## __VA_ARGS__)
-#else
-#define FocusLog(severity, format, ...)
-#endif // ENABLE_FOCUS_LOG
-
-#if ENABLE_SPELLING_LOG
-#define SpellingLog(severity, format, ...) Platform::logAlways(severity, format, ## __VA_ARGS__)
-#else
-#define SpellingLog(severity, format, ...)
-#endif // ENABLE_SPELLING_LOG
-
-namespace BlackBerry {
-namespace WebKit {
-
-static const float zoomAnimationThreshold = 0.5;
-
-class ProcessingChangeGuard {
-public:
- ProcessingChangeGuard(InputHandler* inputHandler)
- : m_inputHandler(inputHandler)
- , m_savedProcessingChange(false)
- {
- ASSERT(m_inputHandler);
-
- m_savedProcessingChange = m_inputHandler->processingChange();
- m_inputHandler->setProcessingChange(true);
- }
-
- ~ProcessingChangeGuard()
- {
- m_inputHandler->setProcessingChange(m_savedProcessingChange);
- }
-
-private:
- InputHandler* m_inputHandler;
- bool m_savedProcessingChange;
-};
-
-InputHandler::InputHandler(WebPagePrivate* page)
- : m_webPage(page)
- , m_currentFocusElement(0)
- , m_previousFocusableTextElement(0)
- , m_nextFocusableTextElement(0)
- , m_hasSubmitButton(false)
- , m_inputModeEnabled(false)
- , m_processingChange(false)
- , m_shouldEnsureFocusTextElementVisibleOnSelectionChanged(false)
- , m_currentFocusElementType(TextEdit)
- , m_currentFocusElementTextEditMask(DEFAULT_STYLE)
- , m_composingTextStart(0)
- , m_composingTextEnd(0)
- , m_pendingKeyboardVisibilityChange(NoChange)
- , m_delayKeyboardVisibilityChange(false)
- , m_sendFormStateOnNextKeyboardRequest(false)
- , m_request(0)
- , m_processingTransactionId(-1)
- , m_shouldNotifyWebView(true)
- , m_expectedKeyUpChar(0)
- , m_didSpellCheckWord(false)
- , m_spellingHandler(new SpellingHandler(this))
- , m_spellCheckStatusConfirmed(false)
- , m_globalSpellCheckStatus(false)
- , m_minimumSpellCheckingRequestSequence(-1)
- , m_elementTouchedIsCrossFrame(false)
-{
-}
-
-InputHandler::~InputHandler()
-{
- delete m_spellingHandler;
-}
-
-static BlackBerryInputType convertInputType(const HTMLInputElement* inputElement)
-{
- if (inputElement->isPasswordField())
- return InputTypePassword;
- if (inputElement->isSearchField())
- return InputTypeSearch;
- if (inputElement->isEmailField())
- return InputTypeEmail;
- if (inputElement->isMonthField())
- return InputTypeMonth;
- if (inputElement->isNumberField())
- return InputTypeNumber;
- if (inputElement->isTelephoneField())
- return InputTypeTelephone;
- if (inputElement->isURLField())
- return InputTypeURL;
-#if ENABLE(INPUT_TYPE_COLOR)
- if (inputElement->isColorControl())
- return InputTypeColor;
-#endif
- if (inputElement->isDateField())
- return InputTypeDate;
- if (inputElement->isDateTimeField())
- return InputTypeDateTime;
- if (inputElement->isDateTimeLocalField())
- return InputTypeDateTimeLocal;
- if (inputElement->isTimeField())
- return InputTypeTime;
- // FIXME: missing WEEK popup selector
- if (DOMSupport::elementIdOrNameIndicatesEmail(inputElement))
- return InputTypeEmail;
- if (DOMSupport::elementIdOrNameIndicatesUrl(inputElement))
- return InputTypeURL;
- if (DOMSupport::elementPatternIndicatesNumber(inputElement))
- return InputTypeNumber;
- if (DOMSupport::elementPatternIndicatesHexadecimal(inputElement))
- return InputTypeHexadecimal;
-
- return InputTypeText;
-}
-
-static int64_t inputStyle(BlackBerryInputType type, const Element* element)
-{
- switch (type) {
- case InputTypeEmail:
- case InputTypeURL:
- case InputTypeSearch:
- case InputTypeText:
- case InputTypeTextArea:
- {
- DOMSupport::AttributeState autoCompleteState = DOMSupport::elementSupportsAutocomplete(element);
- DOMSupport::AttributeState autoCorrectState = DOMSupport::elementSupportsAutocorrect(element);
-
- // Autocomplete disabled explicitly.
- if (autoCompleteState == DOMSupport::Off) {
- if (autoCorrectState == DOMSupport::On)
- return NO_PREDICTION;
- return NO_AUTO_TEXT | NO_PREDICTION | NO_AUTO_CORRECTION;
- }
-
- // Autocomplete enabled explicitly.
- if (autoCompleteState == DOMSupport::On) {
- if (autoCorrectState == DOMSupport::Off)
- return NO_AUTO_TEXT | NO_AUTO_CORRECTION;
- return DEFAULT_STYLE;
- }
-
- // Check for reserved strings and known types.
- if (type == InputTypeEmail || type == InputTypeURL || DOMSupport::elementIdOrNameIndicatesNoAutocomplete(element)) {
- if (autoCorrectState == DOMSupport::On)
- return NO_PREDICTION;
- return NO_AUTO_TEXT | NO_PREDICTION | NO_AUTO_CORRECTION;
- }
-
- // Autocomplete state wasn't provided if it is a text area or autocorrect is on, apply support.
- if (autoCorrectState == DOMSupport::On || (type == InputTypeTextArea && autoCorrectState != DOMSupport::Off))
- return DEFAULT_STYLE;
-
- // Single line text input, without special features explicitly turned on or a textarea
- // with autocorrect disabled explicitly. Only enable predictions.
- return NO_AUTO_TEXT | NO_AUTO_CORRECTION;
- }
- case InputTypePassword:
- case InputTypeNumber:
- case InputTypeTelephone:
- case InputTypeHexadecimal:
- // Disable special handling.
- return NO_AUTO_TEXT | NO_PREDICTION | NO_AUTO_CORRECTION;
- default:
- break;
- }
- return DEFAULT_STYLE;
-}
-
-static VirtualKeyboardType convertInputTypeToVKBType(BlackBerryInputType inputType)
-{
- switch (inputType) {
- case InputTypeURL:
- return VKBTypeUrl;
- case InputTypeEmail:
- return VKBTypeEmail;
- case InputTypeTelephone:
- return VKBTypePhone;
- case InputTypePassword:
- return VKBTypePassword;
- case InputTypeNumber:
- case InputTypeHexadecimal:
- return VKBTypePin;
- default:
- // All other types are text based use default keyboard.
- return VKBTypeDefault;
- }
-}
-
-static VirtualKeyboardType convertStringToKeyboardType(const AtomicString& string)
-{
- DEFINE_STATIC_LOCAL(AtomicString, Default, ("default"));
- DEFINE_STATIC_LOCAL(AtomicString, Url, ("url"));
- DEFINE_STATIC_LOCAL(AtomicString, Email, ("email"));
- DEFINE_STATIC_LOCAL(AtomicString, Password, ("password"));
- DEFINE_STATIC_LOCAL(AtomicString, Web, ("web"));
- DEFINE_STATIC_LOCAL(AtomicString, Number, ("number"));
- DEFINE_STATIC_LOCAL(AtomicString, Symbol, ("symbol"));
- DEFINE_STATIC_LOCAL(AtomicString, Phone, ("phone"));
- DEFINE_STATIC_LOCAL(AtomicString, Pin, ("pin"));
- DEFINE_STATIC_LOCAL(AtomicString, Hex, ("hexadecimal"));
-
- if (string.isEmpty())
- return VKBTypeNotSet;
- if (equalIgnoringCase(string, Default))
- return VKBTypeDefault;
- if (equalIgnoringCase(string, Url))
- return VKBTypeUrl;
- if (equalIgnoringCase(string, Email))
- return VKBTypeEmail;
- if (equalIgnoringCase(string, Password))
- return VKBTypePassword;
- if (equalIgnoringCase(string, Web))
- return VKBTypeWeb;
- if (equalIgnoringCase(string, Number))
- return VKBTypeNumPunc;
- if (equalIgnoringCase(string, Symbol))
- return VKBTypeSymbol;
- if (equalIgnoringCase(string, Phone))
- return VKBTypePhone;
- if (equalIgnoringCase(string, Pin) || equalIgnoringCase(string, Hex))
- return VKBTypePin;
- return VKBTypeNotSet;
-}
-
-static VirtualKeyboardType keyboardTypeAttribute(const WebCore::Element* element)
-{
- DEFINE_STATIC_LOCAL(QualifiedName, keyboardTypeAttr, (nullAtom, "data-blackberry-virtual-keyboard-type", nullAtom));
-
- if (element->fastHasAttribute(keyboardTypeAttr)) {
- AtomicString attributeString = element->fastGetAttribute(keyboardTypeAttr);
- return convertStringToKeyboardType(attributeString);
- }
-
- if (element->isFormControlElement()) {
- const HTMLFormControlElement* formElement = static_cast<const HTMLFormControlElement*>(element);
- if (formElement->form() && formElement->form()->fastHasAttribute(keyboardTypeAttr)) {
- AtomicString attributeString = formElement->form()->fastGetAttribute(keyboardTypeAttr);
- return convertStringToKeyboardType(attributeString);
- }
- }
-
- return VKBTypeNotSet;
-}
-
-static VirtualKeyboardEnterKeyType convertStringToKeyboardEnterKeyType(const AtomicString& string)
-{
- DEFINE_STATIC_LOCAL(AtomicString, Default, ("default"));
- DEFINE_STATIC_LOCAL(AtomicString, Connect, ("connect"));
- DEFINE_STATIC_LOCAL(AtomicString, Done, ("done"));
- DEFINE_STATIC_LOCAL(AtomicString, Go, ("go"));
- DEFINE_STATIC_LOCAL(AtomicString, Join, ("join"));
- DEFINE_STATIC_LOCAL(AtomicString, Next, ("next"));
- DEFINE_STATIC_LOCAL(AtomicString, Search, ("search"));
- DEFINE_STATIC_LOCAL(AtomicString, Send, ("send"));
- DEFINE_STATIC_LOCAL(AtomicString, Submit, ("submit"));
-
- if (string.isEmpty())
- return VKBEnterKeyNotSet;
- if (equalIgnoringCase(string, Default))
- return VKBEnterKeyDefault;
- if (equalIgnoringCase(string, Connect))
- return VKBEnterKeyConnect;
- if (equalIgnoringCase(string, Done))
- return VKBEnterKeyDone;
- if (equalIgnoringCase(string, Go))
- return VKBEnterKeyGo;
- if (equalIgnoringCase(string, Join))
- return VKBEnterKeyJoin;
- if (equalIgnoringCase(string, Next))
- return VKBEnterKeyNext;
- if (equalIgnoringCase(string, Search))
- return VKBEnterKeySearch;
- if (equalIgnoringCase(string, Send))
- return VKBEnterKeySend;
- if (equalIgnoringCase(string, Submit))
- return VKBEnterKeySubmit;
- return VKBEnterKeyNotSet;
-}
-
-static VirtualKeyboardEnterKeyType keyboardEnterKeyTypeAttribute(const WebCore::Element* element)
-{
- DEFINE_STATIC_LOCAL(QualifiedName, keyboardEnterKeyTypeAttr, (nullAtom, "data-blackberry-virtual-keyboard-enter-key", nullAtom));
-
- if (element->fastHasAttribute(keyboardEnterKeyTypeAttr)) {
- AtomicString attributeString = element->fastGetAttribute(keyboardEnterKeyTypeAttr);
- return convertStringToKeyboardEnterKeyType(attributeString);
- }
-
- if (element->isFormControlElement()) {
- const HTMLFormControlElement* formElement = static_cast<const HTMLFormControlElement*>(element);
- if (formElement->form() && formElement->form()->fastHasAttribute(keyboardEnterKeyTypeAttr)) {
- AtomicString attributeString = formElement->form()->fastGetAttribute(keyboardEnterKeyTypeAttr);
- return convertStringToKeyboardEnterKeyType(attributeString);
- }
- }
-
- return VKBEnterKeyNotSet;
-}
-
-void InputHandler::setProcessingChange(bool processingChange)
-{
- if (processingChange == m_processingChange)
- return;
-
- m_processingChange = processingChange;
-
- if (!m_processingChange)
- m_webPage->m_selectionHandler->inputHandlerDidFinishProcessingChange();
-}
-
-WTF::String InputHandler::elementText()
-{
- if (!isActiveTextEdit())
- return WTF::String();
-
- return DOMSupport::inputElementText(m_currentFocusElement.get());
-}
-
-BlackBerryInputType InputHandler::elementType(Element* element) const
-{
- if (const HTMLInputElement* inputElement = toHTMLInputElement(element))
- return convertInputType(inputElement);
-
- if (isHTMLTextAreaElement(element))
- return InputTypeTextArea;
-
- // Default to InputTypeTextArea for content editable fields.
- return InputTypeTextArea;
-}
-
-void InputHandler::focusedNodeChanged()
-{
- ASSERT(m_webPage->m_page->focusController());
- Frame* frame = m_webPage->m_page->focusController()->focusedOrMainFrame();
- if (!frame || !frame->document())
- return;
-
- Node* node = frame->document()->focusedElement();
-
- if (isActiveTextEdit() && m_currentFocusElement == node) {
- notifyClientOfKeyboardVisibilityChange(true);
- return;
- }
-
- if (node && node->isElementNode()) {
- Element* element = toElement(node);
- if (DOMSupport::isElementTypePlugin(element)) {
- setPluginFocused(element);
- return;
- }
-
- if (DOMSupport::isTextBasedContentEditableElement(element) && !DOMSupport::isElementReadOnly(element)) {
- // Focused node is a text based input field, textarea or content editable field.
- setElementFocused(element);
- return;
- }
- } else if (node && DOMSupport::isTextBasedContentEditableElement(node->parentElement()) && !DOMSupport::isElementReadOnly(node->parentElement())) {
- setElementFocused(node->parentElement());
- return;
- }
-
- if (isActiveTextEdit() && m_currentFocusElement->isContentEditable()) {
- // This is a special handler for content editable fields. The focus node is the top most
- // field that is content editable, however, by enabling / disabling designmode and
- // content editable, it is possible through javascript or selection to trigger the focus node to
- // change even while maintaining editing on the same selection point. If the focus element
- // isn't contentEditable, but the current selection is, don't send a change notification.
-
- // When processing changes selection changes occur that may reset the focus element
- // and could potentially cause a crash as m_currentFocusElement should not be
- // changed during processing of an EditorCommand.
- if (processingChange())
- return;
-
- Frame* frame = m_currentFocusElement->document()->frame();
- ASSERT(frame);
-
- // Test the current selection to make sure that the content in focus is still content
- // editable. This may mean Javascript triggered a focus change by modifying the
- // top level parent of this object's content editable state without actually modifying
- // this particular object.
- // Example site: html5demos.com/contentEditable - blur event triggers focus change.
- if (frame == m_webPage->focusedOrMainFrame()
- && frame->selection()->start().anchorNode()
- && frame->selection()->start().anchorNode()->isContentEditable()
- && !m_elementTouchedIsCrossFrame)
- return;
- }
-
- // No valid focus element found for handling.
- setElementUnfocused();
-}
-
-void InputHandler::setPluginFocused(Element* element)
-{
- ASSERT(DOMSupport::isElementTypePlugin(element));
-
- if (isActiveTextEdit())
- setElementUnfocused();
-
- m_currentFocusElementType = Plugin;
- m_currentFocusElement = element;
-}
-
-static bool convertStringToWchar(const WTF::String& string, wchar_t* dest, int destCapacity, int* destLength)
-{
- ASSERT(dest);
-
- int length = string.length();
-
- if (!length) {
- destLength = 0;
- return true;
- }
-
- UErrorCode ec = U_ZERO_ERROR;
-
- // wchar_t strings sent to IMF are 32 bit so casting to UChar32 is safe.
- u_strToUTF32(reinterpret_cast<UChar32*>(dest), destCapacity, destLength, string.characters(), length, &ec);
- if (ec) {
- Platform::logAlways(Platform::LogLevelCritical, "InputHandler::convertStringToWchar Error converting string ec (%d).", ec);
- destLength = 0;
- return false;
- }
- return true;
-}
-
-static bool convertStringToWcharVector(const WTF::String& string, WTF::Vector<wchar_t>& wcharString)
-{
- ASSERT(wcharString.isEmpty());
-
- int length = string.length();
- if (!length)
- return true;
-
- if (!wcharString.tryReserveCapacity(length + 1)) {
- Platform::logAlways(Platform::LogLevelCritical, "InputHandler::convertStringToWcharVector Cannot allocate memory for string.");
- return false;
- }
-
- int destLength = 0;
- if (!convertStringToWchar(string, wcharString.data(), length + 1, &destLength))
- return false;
-
- wcharString.resize(destLength);
- return true;
-}
-
-static WTF::String convertSpannableStringToString(spannable_string_t* src)
-{
- if (!src || !src->str || !src->length)
- return WTF::String();
-
- WTF::Vector<UChar> dest;
- int destCapacity = (src->length * 2) + 1;
- if (!dest.tryReserveCapacity(destCapacity)) {
- Platform::logAlways(Platform::LogLevelCritical, "InputHandler::convertSpannableStringToString Cannot allocate memory for string.");
- return WTF::String();
- }
-
- int destLength = 0;
- UErrorCode ec = U_ZERO_ERROR;
- // wchar_t strings sent from IMF are 32 bit so casting to UChar32 is safe.
- u_strFromUTF32(dest.data(), destCapacity, &destLength, reinterpret_cast<UChar32*>(src->str), src->length, &ec);
- if (ec) {
- Platform::logAlways(Platform::LogLevelCritical, "InputHandler::convertSpannableStringToString Error converting string ec (%d).", ec);
- return WTF::String();
- }
- dest.resize(destLength);
- return WTF::String(dest.data(), destLength);
-}
-
-void InputHandler::sendLearnTextDetails(const WTF::String& string)
-{
- Vector<wchar_t> wcharString;
- if (!convertStringToWcharVector(string, wcharString) || wcharString.isEmpty())
- return;
-
- m_webPage->m_client->inputLearnText(wcharString.data(), wcharString.size());
-}
-
-void InputHandler::learnText()
-{
- if (!isActiveTextEdit())
- return;
-
- // Do not send (or calculate) the text when the field is NO_PREDICTION or NO_AUTO_TEXT.
- if (m_currentFocusElementTextEditMask & NO_PREDICTION || m_currentFocusElementTextEditMask & NO_AUTO_TEXT)
- return;
-
- WTF::String textInField(elementText());
- if (textInField.length() >= MaxLearnTextDataSize)
- textInField = textInField.substring(std::max(0, static_cast<int>(caretPosition() - MaxLearnTextDataSize)), std::min(textInField.length(), MaxLearnTextDataSize));
-
- textInField = textInField.stripWhiteSpace();
-
- // Build up the 500 character strings in word chunks.
- // Spec says 1000, but memory corruption has been observed.
- ASSERT(textInField.length() <= MaxLearnTextDataSize);
-
- if (textInField.isEmpty())
- return;
-
- InputLog(Platform::LogLevelInfo, "InputHandler::learnText '%s'", textInField.latin1().data());
- sendLearnTextDetails(textInField);
-}
-
-void InputHandler::callRequestCheckingFor(PassRefPtr<WebCore::SpellCheckRequest> spellCheckRequest)
-{
- if (SpellChecker* spellChecker = getSpellChecker())
- spellChecker->requestCheckingFor(spellCheckRequest);
-}
-
-void InputHandler::requestCheckingOfString(PassRefPtr<WebCore::SpellCheckRequest> spellCheckRequest)
-{
- SpellingLog(Platform::LogLevelInfo, "InputHandler::requestCheckingOfString '%s'", spellCheckRequest->data().text().latin1().data());
-
- if (!spellCheckRequest) {
- SpellingLog(Platform::LogLevelWarn, "InputHandler::requestCheckingOfString did not receive a valid request.");
- return;
- }
-
- if (spellCheckRequest->data().sequence() <= m_minimumSpellCheckingRequestSequence) {
- SpellingLog(Platform::LogLevelWarn, "InputHandler::requestCheckingOfString rejecting stale request with sequenceId=%d. Sentinal currently at %d."
- , spellCheckRequest->data().sequence(), m_minimumSpellCheckingRequestSequence);
- spellCheckRequest->didCancel();
- return;
- }
-
- unsigned requestLength = spellCheckRequest->data().text().length();
-
- // Check if the field should be spellchecked.
- if (!isActiveTextEdit() || !shouldSpellCheckElement(m_currentFocusElement.get()) || requestLength < 2) {
- SpellingLog(Platform::LogLevelWarn, "InputHandler::requestCheckingOfString request cancelled");
- spellCheckRequest->didCancel();
- return;
- }
-
- if (requestLength >= MaxSpellCheckingStringLength) {
- // Cancel this request and send it off in newly created chunks.
- spellCheckRequest->didCancel();
- m_spellingHandler->spellCheckTextBlock(m_currentFocusElement.get(), TextCheckingProcessIncremental);
- return;
- }
-
- wchar_t* checkingString = (wchar_t*)malloc(sizeof(wchar_t) * (requestLength + 1));
- if (!checkingString) {
- Platform::logAlways(Platform::LogLevelCritical, "InputHandler::requestCheckingOfString Cannot allocate memory for string.");
- spellCheckRequest->didCancel();
- return;
- }
-
- int paragraphLength = 0;
- if (!convertStringToWchar(spellCheckRequest->data().text(), checkingString, requestLength + 1, &paragraphLength)) {
- Platform::logAlways(Platform::LogLevelCritical, "InputHandler::requestCheckingOfString Failed to convert String to wchar type.");
- free(checkingString);
- spellCheckRequest->didCancel();
- return;
- }
-
- m_processingTransactionId = m_webPage->m_client->checkSpellingOfStringAsync(checkingString, static_cast<unsigned>(paragraphLength));
- free(checkingString);
-
- // If the call to the input service did not go through, then cancel the request so we don't block endlessly.
- // This should still take transactionId as a parameter to maintain the same behavior as if InputMethodSupport
- // were to cancel a request during processing.
- if (m_processingTransactionId == -1) { // Error before sending request to input service.
- spellCheckRequest->didCancel();
- return;
- }
-
- m_request = spellCheckRequest;
-}
-
-void InputHandler::spellCheckingRequestProcessed(int32_t transactionId, spannable_string_t* spannableString)
-{
-#if !ENABLE_SPELLING_LOG
- UNUSED_PARAM(transactionId)
-#endif
-
- SpellingLog(Platform::LogLevelWarn,
- "InputHandler::spellCheckingRequestProcessed Expected transaction id %d, received %d. %s",
- m_processingTransactionId,
- transactionId,
- transactionId == m_processingTransactionId ? "" : "We are out of sync with input service.");
-
- if (!spannableString
- || !isActiveTextEdit()
- || !DOMSupport::elementHasContinuousSpellCheckingEnabled(m_currentFocusElement)
- || !m_processingTransactionId
- || !m_request) {
- SpellingLog(Platform::LogLevelWarn, "InputHandler::spellCheckingRequestProcessed Cancelling request with transactionId %d.", transactionId);
- if (m_request) {
- m_request->didCancel();
- m_request = 0;
- }
- m_processingTransactionId = -1;
- return;
- }
-
- Vector<TextCheckingResult> results;
-
- // Convert the spannableString to TextCheckingResult then append to results vector.
- WTF::String replacement;
- TextCheckingResult textCheckingResult;
- textCheckingResult.type = TextCheckingTypeSpelling;
- textCheckingResult.replacement = replacement;
- textCheckingResult.location = 0;
- textCheckingResult.length = 0;
-
- span_t* span = spannableString->spans;
- for (unsigned i = 0; i < spannableString->spans_count; i++) {
- if (!span)
- break;
- if (span->end < span->start) {
- m_request->didCancel();
- m_request = 0;
- return;
- }
- if (span->attributes_mask & MISSPELLED_WORD_ATTRIB) {
- textCheckingResult.location = span->start;
- // The end point includes the character that it is before. Ie, 0, 0
- // applies to the first character as the end point includes the character
- // at the position. This means the endPosition is always +1.
- textCheckingResult.length = span->end - span->start + 1;
- results.append(textCheckingResult);
- }
- span++;
- }
-
- // free data that we malloc'ed in InputMethodSupport
- free(spannableString->spans);
- free(spannableString);
-
- m_request->didSucceed(results);
- m_request = 0;
-}
-
-SpellChecker* InputHandler::getSpellChecker()
-{
- if (!m_currentFocusElement || !m_currentFocusElement->document())
- return 0;
-
- if (Frame* frame = m_currentFocusElement->document()->frame())
- if (Editor* editor = frame->editor())
- return editor->spellChecker();
-
- return 0;
-}
-
-bool InputHandler::shouldRequestSpellCheckingOptionsForPoint(const Platform::IntPoint& documentContentPosition, const Element* touchedElement, imf_sp_text_t& spellCheckingOptionRequest)
-{
- if (!isActiveTextEdit())
- return false;
-
- Element* currentFocusElement = m_currentFocusElement.get();
- if (!currentFocusElement || !currentFocusElement->isElementNode())
- return false;
-
- while (!currentFocusElement->isRootEditableElement()) {
- Element* parentElement = currentFocusElement->parentElement();
- if (!parentElement)
- break;
- currentFocusElement = parentElement;
- }
-
- if (touchedElement != currentFocusElement)
- return false;
-
- LayoutPoint contentPos(documentContentPosition);
- contentPos = DOMSupport::convertPointToFrame(m_webPage->mainFrame(), m_webPage->focusedOrMainFrame(), roundedIntPoint(contentPos));
-
- Document* document = currentFocusElement->document();
- ASSERT(document);
-
- RenderedDocumentMarker* marker = document->markers()->renderedMarkerContainingPoint(contentPos, DocumentMarker::Spelling);
- if (!marker)
- return false;
-
- m_didSpellCheckWord = true;
-
- // Populate the marker details in preparation for the request as the marker is
- // not guaranteed to be valid after the cursor is placed.
- spellCheckingOptionRequest.startTextPosition = marker->startOffset();
- spellCheckingOptionRequest.endTextPosition = marker->endOffset();
-
- m_spellCheckingOptionsRequest.startTextPosition = 0;
- m_spellCheckingOptionsRequest.endTextPosition = 0;
-
- SpellingLog(Platform::LogLevelInfo,
- "InputHandler::shouldRequestSpellCheckingOptionsForPoint Found spelling marker at point %s\nMarker start %d end %d",
- documentContentPosition.toString().c_str(),
- spellCheckingOptionRequest.startTextPosition,
- spellCheckingOptionRequest.endTextPosition);
-
- return true;
-}
-
-void InputHandler::requestSpellingCheckingOptions(imf_sp_text_t& spellCheckingOptionRequest, WebCore::IntSize& screenOffset, const bool shouldMoveDialog)
-{
- // If the caret is no longer active, no message should be sent.
- if (m_webPage->focusedOrMainFrame()->selection()->selectionType() != VisibleSelection::CaretSelection)
- return;
-
- if (!m_currentFocusElement || !m_currentFocusElement->document() || !m_currentFocusElement->document()->frame())
- return;
-
- if (shouldMoveDialog || !(spellCheckingOptionRequest.startTextPosition || spellCheckingOptionRequest.startTextPosition)) {
- if (m_spellCheckingOptionsRequest.startTextPosition || m_spellCheckingOptionsRequest.endTextPosition)
- spellCheckingOptionRequest = m_spellCheckingOptionsRequest;
- }
-
- if (!shouldMoveDialog && spellCheckingOptionRequest.startTextPosition == spellCheckingOptionRequest.endTextPosition)
- return;
-
- if (screenOffset.width() == -1 && screenOffset.height() == -1) {
- screenOffset.setWidth(m_screenOffset.width());
- screenOffset.setHeight(m_screenOffset.height());
- } else {
- m_screenOffset.setWidth(screenOffset.width());
- m_screenOffset.setHeight(screenOffset.height());
- }
-
- // imf_sp_text_t should be generated in pixel viewport coordinates.
- // Caret is in document coordinates.
- WebCore::IntRect caretRect = m_webPage->focusedOrMainFrame()->selection()->selection().visibleStart().absoluteCaretBounds();
-
- // Shift from posible iFrame to root view/main frame.
- caretRect = m_webPage->focusedOrMainFrame()->view()->contentsToRootView(caretRect);
-
- // Shift to document scroll position.
- const WebCore::IntPoint scrollPosition = m_webPage->mainFrame()->view()->scrollPosition();
- caretRect.move(scrollPosition.x(), scrollPosition.y());
-
- // If we are only moving the dialog, we don't need to provide startTextPosition and endTextPosition so this logic can be skipped.
- if (!shouldMoveDialog) {
- // Calculate the offset for contentEditable since the marker offsets are relative to the node.
- // Get caret selection. Though the spelling markers might no longer exist, if this method is called we can assume the caret was placed on top of a marker earlier.
- VisibleSelection caretSelection = m_currentFocusElement->document()->frame()->selection()->selection();
- caretSelection = DOMSupport::visibleSelectionForClosestActualWordStart(caretSelection);
- VisiblePosition wordStart = caretSelection.visibleStart();
- VisiblePosition wordEnd = endOfWord(caretSelection.visibleStart());
-
- if (HTMLTextFormControlElement* controlElement = DOMSupport::toTextControlElement(m_currentFocusElement.get())) {
- spellCheckingOptionRequest.startTextPosition = controlElement->indexForVisiblePosition(wordStart);
- spellCheckingOptionRequest.endTextPosition = controlElement->indexForVisiblePosition(wordEnd);
- } else {
- unsigned location = 0;
- unsigned length = 0;
-
- // Create a range from the start to end of word.
- RefPtr<Range> rangeSelection = VisibleSelection(wordStart, wordEnd).toNormalizedRange();
- if (!rangeSelection)
- return;
-
- TextIterator::getLocationAndLengthFromRange(m_currentFocusElement.get(), rangeSelection.get(), location, length);
- spellCheckingOptionRequest.startTextPosition = location;
- spellCheckingOptionRequest.endTextPosition = location + length;
- }
- }
- m_spellCheckingOptionsRequest = spellCheckingOptionRequest;
-
- InputLog(Platform::LogLevelInfo,
- "InputHandler::requestSpellingCheckingOptions caretRect topLeft=%s, bottomRight=%s, startTextPosition=%d, endTextPosition=%d",
- Platform::IntPoint(caretRect.minXMinYCorner()).toString().c_str(),
- Platform::IntPoint(caretRect.maxXMaxYCorner()).toString().c_str(),
- spellCheckingOptionRequest.startTextPosition,
- spellCheckingOptionRequest.endTextPosition);
-
- m_webPage->m_client->requestSpellingCheckingOptions(spellCheckingOptionRequest, caretRect, screenOffset, shouldMoveDialog);
-}
-
-void InputHandler::setElementUnfocused(bool refocusOccuring)
-{
- if (isActiveTextEdit() && DOMSupport::isElementAndDocumentAttached(m_currentFocusElement.get())) {
- FocusLog(Platform::LogLevelInfo, "InputHandler::setElementUnfocused");
-
- // Pass any text into the field to IMF to learn.
- learnText();
-
- // End any composition that is in progress.
- finishComposition();
-
- // Only hide the keyboard if we aren't refocusing on a new input field.
- if (!refocusOccuring) {
- notifyClientOfKeyboardVisibilityChange(false, true /* triggeredByFocusChange */);
- m_webPage->m_client->showFormControls(false /* visible */);
- }
-
- m_webPage->m_client->inputFocusLost();
-
- // Hide the suggestion box if it is visible.
- hideTextInputTypeSuggestionBox();
-
- // Repaint the element absent of the caret.
- if (m_currentFocusElement->renderer())
- m_currentFocusElement->renderer()->repaint();
-
- // If the frame selection isn't focused, focus it.
- FrameSelection* frameSelection = m_currentFocusElement->document()->frame()->selection();
- if (frameSelection && !frameSelection->isFocused())
- frameSelection->setFocused(true);
- }
-
- // Cancel any preexisting spellcheck requests.
- if (m_request) {
- stopPendingSpellCheckRequests();
- m_request->didCancel();
- m_request = 0;
- }
-
- // Clear the node details.
- m_currentFocusElement = 0;
- m_currentFocusElementType = TextEdit;
- m_previousFocusableTextElement = 0;
- m_nextFocusableTextElement = 0;
- m_hasSubmitButton = false;
-}
-
-bool InputHandler::isInputModeEnabled() const
-{
- // Input mode is enabled when set, or when dump render tree or always show keyboard setting is enabled.
- return m_inputModeEnabled || m_webPage->m_dumpRenderTree || Platform::Settings::instance()->alwaysShowKeyboardOnFocus();
-}
-
-void InputHandler::setInputModeEnabled(bool active)
-{
- FocusLog(Platform::LogLevelInfo,
- "InputHandler::setInputModeEnabled '%s', override is '%s'",
- active ? "true" : "false",
- m_webPage->m_dumpRenderTree || Platform::Settings::instance()->alwaysShowKeyboardOnFocus() ? "true" : "false");
-
- m_inputModeEnabled = active;
-
- // If the frame selection isn't focused, focus it.
- if (isInputModeEnabled()
- && isActiveTextEdit()
- && DOMSupport::isElementAndDocumentAttached(m_currentFocusElement.get())
- && !m_currentFocusElement->document()->frame()->selection()->isFocused())
- m_currentFocusElement->document()->frame()->selection()->setFocused(true);
-}
-
-void InputHandler::updateFormState()
-{
- m_previousFocusableTextElement = 0;
- m_nextFocusableTextElement = 0;
- m_hasSubmitButton = false;
-
- if (!m_currentFocusElement || !m_currentFocusElement->isFormControlElement())
- return;
-
- HTMLFormElement* formElement = static_cast<HTMLFormControlElement*>(m_currentFocusElement.get())->form();
- if (!formElement)
- return;
-
- const Vector<FormAssociatedElement*> formElementList = formElement->associatedElements();
- int formElementCount = formElementList.size();
- if (formElementCount < 2)
- return;
-
- m_hasSubmitButton = true;
-
- // Walk all elements in the form to determine next/prev elements.
- // For each element in the form we need to do the following:
- // If it's the focus node, use render order to try to find the next/prev directly.
- // For all other nodes:
- // 1) If the focused node has a specific tab index, compare the elements tab
- // index with the current prev/next looking for the best match.
- // 2) If the focused node does not have a tab index, update the maximum
- // tab index value, required for prev navigation.
- int focusTabIndex = static_cast<Node*>(m_currentFocusElement.get())->tabIndex();
- int prevTabIndex = -1;
- int nextTabIndex = std::numeric_limits<short>::max() + 1;
- InputLog(Platform::LogLevelInfo, "InputHandler::updateFormState form has %d fields and tabIndex %d", formElementCount, focusTabIndex);
-
- Element* firstInFieldWithoutTabIndex = 0;
- Element* highestTabIndexElement = 0;
- for (int focusElementId = 0; focusElementId < formElementCount; focusElementId++) {
- // Check for the focused element, and if we don't have any target nodes, use the form order next
- // and previous as placeholders. In a form without provided tab indices, this will determine the
- // control fields.
- Element* element = const_cast<HTMLElement*>(toHTMLElement(formElementList[focusElementId]));
- if (element == m_currentFocusElement) {
- InputLog(Platform::LogLevelInfo, "InputHandler::updateFormState found focused element.");
-
- // If the focus tab index is set for the node, don't use the logical ordering.
- // Jump from last tab index to un-ordered is done separately.
- if (focusTabIndex)
- continue;
-
- // Get the next/prev element if we don't already have a tab index based item.
- // Previous
- if (!m_previousFocusableTextElement) {
- for (int previousElementId = focusElementId - 1; previousElementId >= 0; previousElementId--) {
- Element* prevElement = const_cast<HTMLElement*>(toHTMLElement(formElementList[previousElementId]));
- if (DOMSupport::isTextBasedContentEditableElement(prevElement) && !DOMSupport::isElementReadOnly(prevElement) && !static_cast<Node*>(prevElement)->tabIndex()) {
- m_previousFocusableTextElement = prevElement;
- InputLog(Platform::LogLevelInfo, "InputHandler::updateFormState found previous element");
- break;
- }
- }
- }
-
- // Next
- if (!m_nextFocusableTextElement) {
- for (int nextElementId = focusElementId + 1; nextElementId < formElementCount; nextElementId++) {
- Element* nextElement = const_cast<HTMLElement*>(toHTMLElement(formElementList[nextElementId]));
- if (DOMSupport::isTextBasedContentEditableElement(nextElement) && !DOMSupport::isElementReadOnly(nextElement) && !static_cast<Node*>(nextElement)->tabIndex()) {
- m_nextFocusableTextElement = nextElement;
- InputLog(Platform::LogLevelInfo, "InputHandler::updateFormState found next element");
- break;
- }
- }
- }
- } else if (focusTabIndex) {
- InputLog(Platform::LogLevelInfo, "InputHandler::updateFormState processing element");
- if (DOMSupport::isTextBasedContentEditableElement(element) && !DOMSupport::isElementReadOnly(element)) {
- InputLog(Platform::LogLevelInfo, "InputHandler::updateFormState processing element valid");
- if (int tabIndex = static_cast<Node*>(element)->tabIndex()) {
- InputLog(Platform::LogLevelInfo, "InputHandler::updateFormState processing element with tab index %d", tabIndex);
- // Compare for the before and after form positions based on the tab index, and/or form position
- // if tab indexes are equal form position should be used.
- if (tabIndex && tabIndex < focusTabIndex && tabIndex > prevTabIndex) {
- m_previousFocusableTextElement = element;
- prevTabIndex = tabIndex;
- InputLog(Platform::LogLevelInfo, "InputHandler::updateFormState found previous element with tabIndex %d", tabIndex);
- } else if (tabIndex > focusTabIndex && tabIndex < nextTabIndex) {
- m_nextFocusableTextElement = element;
- nextTabIndex = tabIndex;
- InputLog(Platform::LogLevelInfo, "InputHandler::updateFormState found next element with tabIndex %d", tabIndex);
- }
- } else if (!firstInFieldWithoutTabIndex) {
- // Store the first field in the form without a tab index if we have a form with some tab indexes the "next" one from
- // the highest tab index is the first field without a tab index.
- firstInFieldWithoutTabIndex = element;
- }
- }
- } else {
- // The field has no tab index, if it's the first node we'll need the highest tab index field
- // when navigating backwards.
- if (int tabIndex = static_cast<Node*>(element)->tabIndex()) {
- if (!highestTabIndexElement || (tabIndex > static_cast<Node*>(highestTabIndexElement)->tabIndex()))
- highestTabIndexElement = element;
- }
- }
- }
-
- if (!m_nextFocusableTextElement && firstInFieldWithoutTabIndex) {
- // No next focusable field was found, but a first one without a tabindex was found, use it as the next field.
- m_nextFocusableTextElement = firstInFieldWithoutTabIndex;
- }
-
- if (!m_previousFocusableTextElement && highestTabIndexElement) {
- // No prev focusable field was found, use the highest tab index as previous since this field must not have
- // a tabindex, otheriwse highestTabIndexElement would be null.
- m_previousFocusableTextElement = highestTabIndexElement;
- }
-
- if (!m_nextFocusableTextElement && !m_previousFocusableTextElement) {
- m_hasSubmitButton = false;
- InputLog(Platform::LogLevelInfo, "InputHandler::updateFormState no valid elements found, clearing state.");
- }
-}
-
-void InputHandler::focusNextField()
-{
- if (!m_nextFocusableTextElement)
- return;
-
- m_nextFocusableTextElement->focus();
-}
-
-void InputHandler::focusPreviousField()
-{
- if (!m_previousFocusableTextElement)
- return;
-
- m_previousFocusableTextElement->focus();
-}
-
-void InputHandler::submitForm()
-{
- if (!m_hasSubmitButton)
- return;
-
- HTMLFormElement* formElement = static_cast<HTMLFormControlElement*>(m_currentFocusElement.get())->form();
- if (!formElement)
- return;
-
- InputLog(Platform::LogLevelInfo, "InputHandler::submitForm triggered");
-
- if (elementType(m_currentFocusElement.get()) != InputTypeTextArea) {
- handleKeyboardInput(Platform::KeyboardEvent(KEYCODE_RETURN, Platform::KeyboardEvent::KeyChar, 0), false /* changeIsPartOfComposition */);
-
- // Did this clear the focus? If so, form was submitted or invalid.
- if (!isActiveTextEdit())
- return;
- }
-
- // Validate form data and if valid, submit.
- if (formElement->checkValidity())
- formElement->submit();
-}
-
-static void addInputStyleMaskForKeyboardType(int64_t& inputMask, VirtualKeyboardType keyboardType)
-{
- switch (keyboardType) {
- case VKBTypeUrl:
- inputMask |= IMF_URL_TYPE;
- break;
- case VKBTypePassword:
- inputMask |= IMF_PASSWORD_TYPE;
- break;
- case VKBTypePin:
- inputMask |= IMF_PIN_TYPE;
- break;
- case VKBTypePhone:
- inputMask |= IMF_PHONE_TYPE;
- break;
- case VKBTypeEmail:
- inputMask |= IMF_EMAIL_TYPE;
- break;
- default:
- break;
- }
-}
-
-void InputHandler::setElementFocused(Element* element)
-{
- ASSERT(DOMSupport::isTextBasedContentEditableElement(element));
- ASSERT(element && element->document() && element->document()->frame());
-
-#if ENABLE_SPELLING_LOG
- BlackBerry::Platform::StopWatch timer;
- timer.start();
-#endif
-
- if (!element || !(element->document()))
- return;
-
- Frame* frame = element->document()->frame();
- if (!frame)
- return;
-
- if (frame->selection()->isFocused() != isInputModeEnabled())
- frame->selection()->setFocused(isInputModeEnabled());
-
- // Ensure visible when refocusing.
- // If device does not have physical keyboard, wait to ensure visible until VKB resizes viewport so that both animations are combined into one.
- m_shouldEnsureFocusTextElementVisibleOnSelectionChanged = isActiveTextEdit() || DeviceInfo::instance()->hasPhysicalKeyboard();
-
- // Clear the existing focus node details.
- setElementUnfocused(true /*refocusOccuring*/);
-
- // Mark this element as active and add to frame set.
- m_currentFocusElement = element;
- m_currentFocusElementType = TextEdit;
- updateFormState();
-
- if (isInputModeEnabled() && !m_delayKeyboardVisibilityChange)
- m_webPage->m_client->showFormControls(m_hasSubmitButton /* visible */, m_previousFocusableTextElement, m_nextFocusableTextElement);
- else
- m_sendFormStateOnNextKeyboardRequest = true;
-
- // Send details to the client about this element.
- BlackBerryInputType type = elementType(element);
- m_currentFocusElementTextEditMask = inputStyle(type, element);
-
- VirtualKeyboardType keyboardType = keyboardTypeAttribute(element);
- if (keyboardType == VKBTypeNotSet)
- keyboardType = convertInputTypeToVKBType(type);
-
- addInputStyleMaskForKeyboardType(m_currentFocusElementTextEditMask, keyboardType);
-
- VirtualKeyboardEnterKeyType enterKeyType = keyboardEnterKeyTypeAttribute(element);
-
- if (enterKeyType == VKBEnterKeyNotSet && type != InputTypeTextArea) {
- if (element->isFormControlElement()) {
- const HTMLFormControlElement* formElement = static_cast<const HTMLFormControlElement*>(element);
- if (formElement->form() && formElement->form()->defaultButton())
- enterKeyType = VKBEnterKeySubmit;
- }
- }
-
- FocusLog(Platform::LogLevelInfo,
- "InputHandler::setElementFocused, Type=%d, Style=%lld, Keyboard Type=%d, Enter Key=%d",
- type, m_currentFocusElementTextEditMask, keyboardType, enterKeyType);
-
- m_webPage->m_client->inputFocusGained(m_currentFocusElementTextEditMask, keyboardType, enterKeyType);
-
- handleInputLocaleChanged(m_webPage->m_webSettings->isWritingDirectionRTL());
-
- // update the suggestion box
- showTextInputTypeSuggestionBox();
-
- if (!m_delayKeyboardVisibilityChange)
- notifyClientOfKeyboardVisibilityChange(true, true /* triggeredByFocusChange */);
-
-#if ENABLE_SPELLING_LOG
- SpellingLog(Platform::LogLevelInfo, "InputHandler::setElementFocused Focusing the field took %f seconds.", timer.elapsed());
-#endif
-
- // Spellcheck the field in its entirety.
- spellCheckTextBlock(element);
-
-#if ENABLE_SPELLING_LOG
- SpellingLog(Platform::LogLevelInfo, "InputHandler::setElementFocused Spellchecking the field increased the total time to focus to %f seconds.", timer.elapsed());
-#endif
-}
-
-void InputHandler::spellCheckTextBlock(Element* element)
-{
- SpellingLog(Platform::LogLevelInfo, "InputHandler::spellCheckTextBlock");
-
- if (!element) {
- // Fall back to a valid focused element.
- if (!m_currentFocusElement)
- return;
-
- element = m_currentFocusElement.get();
- }
-
- // Check if the field should be spellchecked.
- if (!shouldSpellCheckElement(element) || !isActiveTextEdit())
- return;
-
- m_spellingHandler->spellCheckTextBlock(element, TextCheckingProcessBatch);
-}
-
-bool InputHandler::shouldSpellCheckElement(const Element* element) const
-{
- DOMSupport::AttributeState spellCheckAttr = DOMSupport::elementSupportsSpellCheck(element);
-
- // Explicitly set to off.
- if (spellCheckAttr == DOMSupport::Off)
- return false;
-
- // Undefined and part of a set of cases which we do not wish to check. This includes user names and email addresses, so we are piggybacking on NoAutocomplete cases.
- if (spellCheckAttr == DOMSupport::Default && (m_currentFocusElementTextEditMask & NO_AUTO_TEXT))
- return false;
-
- // Check if the system spell check setting is off
- return m_spellCheckStatusConfirmed ? m_globalSpellCheckStatus : true;
-}
-
-void InputHandler::stopPendingSpellCheckRequests(bool isRestartRequired)
-{
- m_spellingHandler->setSpellCheckActive(false);
- // Prevent response from propagating through.
- m_processingTransactionId = 0;
-
- // Reject requests until lastRequestSequence. This helps us clear the queue of stale requests.
- if (SpellChecker* spellChecker = getSpellChecker()) {
- if (spellChecker->lastRequestSequence() != spellChecker->lastProcessedSequence()) {
- SpellingLog(LogLevelInfo, "InputHandler::stopPendingSpellCheckRequests will block requests up to lastRequest=%d [lastProcessed=%d]"
- , spellChecker->lastRequestSequence(), spellChecker->lastProcessedSequence());
- // Prevent requests in queue from executing.
- m_minimumSpellCheckingRequestSequence = spellChecker->lastRequestSequence();
- if (isRestartRequired && !compositionActive()) {
- // Create new spellcheck requests to replace those that were invalidated.
- spellCheckTextBlock();
- }
- }
- }
-}
-
-void InputHandler::redrawSpellCheckDialogIfRequired(const bool shouldMoveDialog)
-{
- if (didSpellCheckWord()) {
- imf_sp_text_t spellCheckingOptionRequest;
- spellCheckingOptionRequest.startTextPosition = 0;
- spellCheckingOptionRequest.endTextPosition = 0;
- WebCore::IntSize screenOffset(-1, -1);
- requestSpellingCheckingOptions(spellCheckingOptionRequest, screenOffset, shouldMoveDialog);
- }
-}
-
-bool InputHandler::openDatePopup(HTMLInputElement* element, BlackBerryInputType type)
-{
- if (!element || element->isDisabledOrReadOnly() || !DOMSupport::isDateTimeInputField(element))
- return false;
-
- if (isActiveTextEdit())
- clearCurrentFocusElement();
-
- m_currentFocusElement = element;
- m_currentFocusElementType = TextPopup;
-
- switch (type) {
- case BlackBerry::Platform::InputTypeDate:
- case BlackBerry::Platform::InputTypeTime:
- case BlackBerry::Platform::InputTypeDateTime:
- case BlackBerry::Platform::InputTypeDateTimeLocal:
- case BlackBerry::Platform::InputTypeMonth: {
- // Date input have button appearance, we hide caret when they get clicked.
- element->document()->frame()->selection()->setCaretVisible(false);
-
- WTF::String value = element->value();
- WTF::String min = element->getAttribute(HTMLNames::minAttr).string();
- WTF::String max = element->getAttribute(HTMLNames::maxAttr).string();
- double step = element->getAttribute(HTMLNames::stepAttr).toDouble();
-
- DatePickerClient* client = new DatePickerClient(type, value, min, max, step, m_webPage, element);
- return m_webPage->openPagePopup(client, WebCore::IntRect());
- }
- default: // Other types not supported
- return false;
- }
-}
-
-bool InputHandler::openColorPopup(HTMLInputElement* element)
-{
- if (!element || element->isDisabledOrReadOnly() || !DOMSupport::isColorInputField(element))
- return false;
-
- if (isActiveTextEdit())
- clearCurrentFocusElement();
-
- m_currentFocusElement = element;
- m_currentFocusElementType = TextPopup;
-
- ColorPickerClient* client = new ColorPickerClient(element->value(), m_webPage, element);
- return m_webPage->openPagePopup(client, WebCore::IntRect());
-}
-
-void InputHandler::setInputValue(const WTF::String& value)
-{
- if (!isActiveTextPopup())
- return;
-
- HTMLInputElement* inputElement = toHTMLInputElement(m_currentFocusElement.get());
- inputElement->setValue(value);
- clearCurrentFocusElement();
-}
-
-void InputHandler::nodeTextChanged(const Node* node)
-{
- if (processingChange() || !node || node != m_currentFocusElement || !m_shouldNotifyWebView)
- return;
-
- InputLog(Platform::LogLevelInfo, "InputHandler::nodeTextChanged");
-
- m_webPage->m_client->inputTextChanged();
-
- // Remove the attributed text markers as the previous call triggered an end to
- // the composition.
- removeAttributedTextMarker();
-}
-
-WebCore::IntRect InputHandler::boundingBoxForInputField()
-{
- if (!isActiveTextEdit())
- return WebCore::IntRect();
-
- if (!m_currentFocusElement->renderer())
- return WebCore::IntRect();
-
- // type="search" can have a 'X', so take the inner block bounding box to not include it.
- if (HTMLInputElement* element = m_currentFocusElement->toInputElement()) {
- if (element->isSearchField())
- return element->innerBlockElement()->renderer()->absoluteBoundingBoxRect();
- return m_currentFocusElement->renderer()->absoluteBoundingBoxRect();
- }
-
- if (isHTMLTextAreaElement(m_currentFocusElement))
- return m_currentFocusElement->renderer()->absoluteBoundingBoxRect();
-
- // Content Editable can't rely on the bounding box since it isn't fixed.
- return WebCore::IntRect();
-}
-
-void InputHandler::ensureFocusTextElementVisible(CaretScrollType scrollType)
-{
- if (!isActiveTextEdit() || !isInputModeEnabled() || !m_currentFocusElement->document())
- return;
-
- if (!(Platform::Settings::instance()->allowedScrollAdjustmentForInputFields() & scrollType))
- return;
-
- // Fixed position elements cannot be scrolled into view.
- if (DOMSupport::isFixedPositionOrHasFixedPositionAncestor(m_currentFocusElement->renderer()))
- return;
-
- Frame* elementFrame = m_currentFocusElement->document()->frame();
- if (!elementFrame)
- return;
-
- Frame* mainFrame = m_webPage->mainFrame();
- if (!mainFrame)
- return;
-
- FrameView* mainFrameView = mainFrame->view();
- if (!mainFrameView)
- return;
-
- WebCore::IntRect selectionFocusRect;
- switch (elementFrame->selection()->selectionType()) {
- case VisibleSelection::CaretSelection:
- selectionFocusRect = elementFrame->selection()->absoluteCaretBounds();
- break;
- case VisibleSelection::RangeSelection: {
- Position selectionPosition;
- if (m_webPage->m_selectionHandler->lastUpdatedEndPointIsValid())
- selectionPosition = elementFrame->selection()->end();
- else
- selectionPosition = elementFrame->selection()->start();
- selectionFocusRect = VisiblePosition(selectionPosition).absoluteCaretBounds();
- break;
- }
- case VisibleSelection::NoSelection:
- m_shouldEnsureFocusTextElementVisibleOnSelectionChanged = true;
- return;
- }
-
- int fontHeight = selectionFocusRect.height();
-
- // If the text is too small, zoom in to make it a minimum size.
- // The minimum size being defined as 3 mm is a good value based on my observations.
- static const int s_minimumTextHeightInPixels = Graphics::Screen::primaryScreen()->heightInMMToPixels(3);
-
- double zoomScaleRequired;
- if (m_webPage->isUserScalable() && fontHeight && fontHeight * m_webPage->currentScale() < s_minimumTextHeightInPixels && !isRunningDrt())
- zoomScaleRequired = static_cast<double>(s_minimumTextHeightInPixels) / fontHeight;
- else
- zoomScaleRequired = m_webPage->currentScale(); // Don't scale.
-
- // Zoom level difference must exceed the given threshold before we perform a zoom animation.
- if (abs(zoomScaleRequired - m_webPage->currentScale()) < zoomAnimationThreshold)
- zoomScaleRequired = m_webPage->currentScale(); // Don't scale.
-
- // The scroll location we should go to given the zoom required, could be adjusted later.
- WebCore::FloatPoint offset(selectionFocusRect.location().x() - m_webPage->scrollPosition().x(), selectionFocusRect.location().y() - m_webPage->scrollPosition().y());
- double inverseScale = zoomScaleRequired / m_webPage->currentScale();
- WebCore::IntPoint destinationScrollLocation = WebCore::IntPoint(
- max(0, static_cast<int>(roundf(selectionFocusRect.location().x() - offset.x() / inverseScale))),
- max(0, static_cast<int>(roundf(selectionFocusRect.location().y() - offset.y() / inverseScale))));
-
- if (elementFrame != mainFrame) { // Element is in a subframe.
- // Remove any scroll offset within the subframe to get the point relative to the main frame.
- selectionFocusRect.move(-elementFrame->view()->scrollPosition().x(), -elementFrame->view()->scrollPosition().y());
-
- // Adjust the selection rect based on the frame offset in relation to the main frame if it's a subframe.
- if (elementFrame->ownerRenderer()) {
- WebCore::IntPoint frameOffset = elementFrame->ownerRenderer()->absoluteContentBox().location();
- selectionFocusRect.move(frameOffset.x(), frameOffset.y());
- }
- }
-
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->m_webkitThreadViewportAccessor;
- if (scrollType == EdgeIfNeeded
- && (viewportAccessor->documentViewportRect().contains(selectionFocusRect))
- && zoomScaleRequired == m_webPage->currentScale()) {
- // Already in view and no zoom is required, return early.
- return;
- }
-
- bool shouldConstrainScrollingToContentEdge = true;
- Position start = elementFrame->selection()->start();
- if (start.anchorNode() && start.anchorNode()->renderer()) {
- if (RenderLayer* layer = start.anchorNode()->renderer()->enclosingLayer()) {
- // Screen rect after the required zoom.
- WebCore::IntRect actualScreenRect = WebCore::IntRect(destinationScrollLocation.x(), destinationScrollLocation.y(), m_webPage->actualVisibleSize().width() / inverseScale, m_webPage->actualVisibleSize().height() / inverseScale);
-
- ScrollAlignment horizontalScrollAlignment = ScrollAlignment::alignToEdgeIfNeeded;
- ScrollAlignment verticalScrollAlignment = ScrollAlignment::alignToEdgeIfNeeded;
-
- if (scrollType != EdgeIfNeeded) {
- // Align the selection rect if possible so that we show the field's
- // outline if the caret is at the edge of the field.
- if (RenderObject* focusedRenderer = m_currentFocusElement->renderer()) {
- WebCore::IntRect nodeOutlineBounds = focusedRenderer->absoluteOutlineBounds();
- WebCore::IntRect caretAtEdgeRect = rectForCaret(0);
- int paddingX = abs(caretAtEdgeRect.x() - nodeOutlineBounds.x());
- int paddingY = abs(caretAtEdgeRect.y() - nodeOutlineBounds.y());
-
- if (selectionFocusRect.x() - paddingX == nodeOutlineBounds.x())
- selectionFocusRect.setX(nodeOutlineBounds.x());
- else if (selectionFocusRect.maxX() + paddingX == nodeOutlineBounds.maxX())
- selectionFocusRect.setX(nodeOutlineBounds.maxX() - selectionFocusRect.width());
- if (selectionFocusRect.y() - paddingY == nodeOutlineBounds.y())
- selectionFocusRect.setY(nodeOutlineBounds.y() - selectionFocusRect.height());
- else if (selectionFocusRect.maxY() + paddingY == nodeOutlineBounds.maxY())
- selectionFocusRect.setY(nodeOutlineBounds.maxY() - selectionFocusRect.height());
-
- // If the editing point is on the left hand side of the screen when the node's
- // rect is edge aligned, edge align the node rect.
- if (selectionFocusRect.x() - caretAtEdgeRect.x() < actualScreenRect.width() / 2)
- selectionFocusRect.setX(nodeOutlineBounds.x());
- else
- horizontalScrollAlignment = ScrollAlignment::alignCenterIfNeeded;
-
- }
- verticalScrollAlignment = (scrollType == CenterAlways) ? ScrollAlignment::alignCenterAlways : ScrollAlignment::alignCenterIfNeeded;
- }
-
- // Pad the rect to improve the visual appearance.
- // Convert the padding back from transformed to ensure a consistent padding regardless of
- // zoom level as controls do not zoom.
- static const int s_focusRectPaddingSize = Graphics::Screen::primaryScreen()->heightInMMToPixels(12);
- selectionFocusRect.inflate(std::ceilf(viewportAccessor->documentFromPixelContents(Platform::FloatSize(0, s_focusRectPaddingSize)).height()));
-
- WebCore::IntRect revealRect(layer->getRectToExpose(actualScreenRect, selectionFocusRect, horizontalScrollAlignment, verticalScrollAlignment));
-
- // Don't constrain scroll position when animation finishes.
- shouldConstrainScrollingToContentEdge = false;
-
- // In order to adjust the scroll position to ensure the focused input field is visible,
- // we allow overscrolling. However this overscroll has to be strictly allowed towards the
- // bottom of the page on the y axis only, where the virtual keyboard pops up from.
- destinationScrollLocation = revealRect.location();
- destinationScrollLocation.clampNegativeToZero();
- WebCore::IntPoint maximumScrollPosition = WebCore::IntPoint(mainFrameView->contentsWidth() - actualScreenRect.width(), mainFrameView->contentsHeight() - actualScreenRect.height());
- destinationScrollLocation = destinationScrollLocation.shrunkTo(maximumScrollPosition);
- }
- }
-
- InputLog(Platform::LogLevelInfo,
- "InputHandler::ensureFocusTextElementVisible zooming in to %f from %f and scrolling to point %s from %s",
- zoomScaleRequired, m_webPage->currentScale(),
- Platform::IntPoint(destinationScrollLocation).toString().c_str(),
- Platform::IntPoint(mainFrameView->scrollPosition()).toString().c_str());
-
- m_webPage->animateToScaleAndDocumentScrollPosition(zoomScaleRequired, WebCore::FloatPoint(destinationScrollLocation), shouldConstrainScrollingToContentEdge);
-}
-
-void InputHandler::ensureFocusPluginElementVisible()
-{
- if (!isActivePlugin() || !m_currentFocusElement->document())
- return;
-
- Frame* elementFrame = m_currentFocusElement->document()->frame();
- if (!elementFrame)
- return;
-
- Frame* mainFrame = m_webPage->mainFrame();
- if (!mainFrame)
- return;
-
- FrameView* mainFrameView = mainFrame->view();
- if (!mainFrameView)
- return;
-
- WebCore::IntRect selectionFocusRect;
-
- RenderWidget* renderWidget = static_cast<RenderWidget*>(m_currentFocusElement->renderer());
- if (renderWidget) {
- PluginView* pluginView = toPluginView(renderWidget->widget());
-
- if (pluginView)
- selectionFocusRect = pluginView->ensureVisibleRect();
- }
-
- if (selectionFocusRect.isEmpty())
- return;
-
- // FIXME: We may need to scroll the subframe (recursively) in the future. Revisit this...
- if (elementFrame != mainFrame) { // Element is in a subframe.
- // Remove any scroll offset within the subframe to get the point relative to the main frame.
- selectionFocusRect.move(-elementFrame->view()->scrollPosition().x(), -elementFrame->view()->scrollPosition().y());
-
- // Adjust the selection rect based on the frame offset in relation to the main frame if it's a subframe.
- if (elementFrame->ownerRenderer()) {
- WebCore::IntPoint frameOffset = elementFrame->ownerRenderer()->absoluteContentBox().location();
- selectionFocusRect.move(frameOffset.x(), frameOffset.y());
- }
- }
-
- WebCore::IntRect actualScreenRect = WebCore::IntRect(mainFrameView->scrollPosition(), m_webPage->actualVisibleSize());
- if (actualScreenRect.contains(selectionFocusRect))
- return;
-
- // Calculate a point such that the center of the requested rectangle
- // is at the center of the screen. FIXME: If the element was partially on screen
- // we might want to just bring the offscreen portion into view, someone needs
- // to decide if that's the behavior we want or not.
- WebCore::IntPoint pos(selectionFocusRect.center());
- pos.move(-actualScreenRect.width() / 2, -actualScreenRect.height() / 2);
-
- mainFrameView->setScrollPosition(pos);
-}
-
-void InputHandler::ensureFocusElementVisible(bool centerInView)
-{
- if (isActivePlugin())
- ensureFocusPluginElementVisible();
- else
- ensureFocusTextElementVisible(centerInView ? CenterAlways : CenterIfNeeded);
-}
-
-void InputHandler::frameUnloaded(const Frame* frame)
-{
- if (!isActiveTextEdit())
- return;
-
- if (m_currentFocusElement->document()->frame() != frame)
- return;
-
- FocusLog(Platform::LogLevelInfo, "InputHandler::frameUnloaded");
-
- setElementUnfocused(false /*refocusOccuring*/);
-}
-
-void InputHandler::setDelayKeyboardVisibilityChange(bool value)
-{
- m_delayKeyboardVisibilityChange = value;
- m_pendingKeyboardVisibilityChange = NoChange;
-}
-
-void InputHandler::processPendingKeyboardVisibilityChange()
-{
- if (!m_delayKeyboardVisibilityChange) {
- ASSERT(m_pendingKeyboardVisibilityChange == NoChange);
- return;
- }
-
- m_delayKeyboardVisibilityChange = false;
-
- if (m_pendingKeyboardVisibilityChange == NoChange)
- return;
-
- notifyClientOfKeyboardVisibilityChange(m_pendingKeyboardVisibilityChange == Visible);
- m_pendingKeyboardVisibilityChange = NoChange;
-}
-
-void InputHandler::notifyClientOfKeyboardVisibilityChange(bool visible, bool triggeredByFocusChange)
-{
- // If we aren't ready for input, keyboard changes should be ignored.
- if (!isInputModeEnabled() && visible)
- return;
-
- // If we are processing a change assume the keyboard is visbile to avoid
- // flooding the VKB with show requests.
- if (!triggeredByFocusChange && processingChange() && visible)
- return;
-
- if (!m_delayKeyboardVisibilityChange) {
- if (m_sendFormStateOnNextKeyboardRequest) {
- m_webPage->m_client->showFormControls(m_hasSubmitButton /* visible */, m_previousFocusableTextElement, m_nextFocusableTextElement);
- m_sendFormStateOnNextKeyboardRequest = false;
- }
- m_webPage->showVirtualKeyboard(visible);
- return;
- }
-
- m_pendingKeyboardVisibilityChange = visible ? Visible : NotVisible;
-}
-
-bool InputHandler::selectionAtStartOfElement()
-{
- if (!isActiveTextEdit())
- return false;
-
- ASSERT(m_currentFocusElement->document() && m_currentFocusElement->document()->frame());
-
- if (!selectionStart())
- return true;
-
- return false;
-}
-
-bool InputHandler::selectionAtEndOfElement()
-{
- if (!isActiveTextEdit())
- return false;
-
- ASSERT(m_currentFocusElement->document() && m_currentFocusElement->document()->frame());
-
- return selectionStart() == static_cast<int>(elementText().length());
-}
-
-int InputHandler::selectionStart() const
-{
- return selectionPosition(true);
-}
-
-int InputHandler::selectionEnd() const
-{
- return selectionPosition(false);
-}
-
-int InputHandler::selectionPosition(bool start) const
-{
- if (!m_currentFocusElement->document() || !m_currentFocusElement->document()->frame())
- return 0;
-
- if (HTMLTextFormControlElement* controlElement = DOMSupport::toTextControlElement(m_currentFocusElement.get()))
- return start ? controlElement->selectionStart() : controlElement->selectionEnd();
-
- FrameSelection caretSelection;
- caretSelection.setSelection(m_currentFocusElement->document()->frame()->selection()->selection());
- RefPtr<Range> rangeSelection = caretSelection.selection().toNormalizedRange();
- if (!rangeSelection)
- return 0;
-
- int selectionPointInNode = start ? rangeSelection->startOffset() : rangeSelection->endOffset();
- Node* containerNode = start ? rangeSelection->startContainer() : rangeSelection->endContainer();
-
- ExceptionCode ec;
- RefPtr<Range> rangeForNode = rangeOfContents(m_currentFocusElement.get());
- rangeForNode->setEnd(containerNode, selectionPointInNode, ec);
- ASSERT(!ec);
-
- return TextIterator::rangeLength(rangeForNode.get());
-}
-
-void InputHandler::selectionChanged()
-{
- // This method can get called during WebPage shutdown process.
- // If that is the case, just bail out since the client is not
- // in a safe state of trust to request anything else from it.
- if (!m_webPage->m_mainFrame)
- return;
-
- if (!isActiveTextEdit())
- return;
-
- if (processingChange()) {
- m_webPage->m_client->suppressCaretChangeNotification(true /*shouldClearState*/);
- return;
- }
-
- // Scroll the field if necessary. This must be done even if we are processing
- // a change as the text change may have moved the caret. IMF doesn't require
- // the update, but the user needs to see the caret.
- if (m_shouldEnsureFocusTextElementVisibleOnSelectionChanged) {
- ensureFocusTextElementVisible(EdgeIfNeeded);
- m_shouldEnsureFocusTextElementVisibleOnSelectionChanged = false;
- }
-
- ASSERT(m_currentFocusElement->document() && m_currentFocusElement->document()->frame());
-
- if (!m_shouldNotifyWebView)
- return;
-
- int newSelectionStart = selectionStart();
- int newSelectionEnd = selectionEnd();
-
- InputLog(Platform::LogLevelInfo,
- "InputHandler::selectionChanged selectionStart=%u, selectionEnd=%u",
- newSelectionStart, newSelectionEnd);
-
- m_webPage->m_client->inputSelectionChanged(newSelectionStart, newSelectionEnd);
-
- // Remove the attributed text markers as the previous call triggered an end to
- // the composition.
- removeAttributedTextMarker();
-}
-
-bool InputHandler::setCursorPosition(int location)
-{
- return setSelection(location, location);
-}
-
-bool InputHandler::setSelection(int start, int end, bool changeIsPartOfComposition)
-{
- if (!isActiveTextEdit())
- return false;
-
- ASSERT(m_currentFocusElement->document() && m_currentFocusElement->document()->frame());
-
- ProcessingChangeGuard guard(this);
-
- VisibleSelection newSelection = DOMSupport::visibleSelectionForRangeInputElement(m_currentFocusElement.get(), start, end);
- m_currentFocusElement->document()->frame()->selection()->setSelection(newSelection, changeIsPartOfComposition ? 0 : FrameSelection::CloseTyping | FrameSelection::ClearTypingStyle);
-
- InputLog(Platform::LogLevelInfo,
- "InputHandler::setSelection selectionStart=%u, selectionEnd=%u",
- start, end);
-
- return start == selectionStart() && end == selectionEnd();
-}
-
-WebCore::IntRect InputHandler::rectForCaret(int index)
-{
- if (!isActiveTextEdit())
- return WebCore::IntRect();
-
- ASSERT(m_currentFocusElement->document() && m_currentFocusElement->document()->frame());
-
- if (index < 0 || index > static_cast<int>(elementText().length())) {
- // Invalid request.
- return WebCore::IntRect();
- }
-
- FrameSelection caretSelection;
- caretSelection.setSelection(DOMSupport::visibleSelectionForRangeInputElement(m_currentFocusElement.get(), index, index).visibleStart());
- caretSelection.modify(FrameSelection::AlterationExtend, DirectionForward, CharacterGranularity);
- return caretSelection.selection().visibleStart().absoluteCaretBounds();
-}
-
-void InputHandler::cancelSelection()
-{
- if (!isActiveTextEdit())
- return;
-
- ASSERT(m_currentFocusElement->document() && m_currentFocusElement->document()->frame());
-
- int selectionStartPosition = selectionStart();
- ProcessingChangeGuard guard(this);
- setCursorPosition(selectionStartPosition);
-}
-
-bool InputHandler::isNavigationKey(unsigned character) const
-{
- return character == KEYCODE_UP
- || character == KEYCODE_DOWN
- || character == KEYCODE_LEFT
- || character == KEYCODE_RIGHT;
-}
-
-bool InputHandler::handleKeyboardInput(const Platform::KeyboardEvent& keyboardEvent, bool changeIsPartOfComposition)
-{
- InputLog(Platform::LogLevelInfo,
- "InputHandler::handleKeyboardInput received character='%c', type=%d",
- keyboardEvent.character(), keyboardEvent.type());
-
- // Clearing the m_shouldNotifyWebView state on any KeyboardEvent.
- m_shouldNotifyWebView = true;
-
- // Enable input mode if we are processing a key event.
- setInputModeEnabled();
-
- Platform::KeyboardEvent::Type type = keyboardEvent.type();
- /*
- * IMF sends us an unadultered KeyUp for all key presses. This key event should be allowed to be processed at all times.
- * We bypass the check because the state of composition has no implication on this key event.
- * In order to ensure we allow the correct key event through, we keep track of key down events with m_expectedKeyUpChar.
- */
- if (type == Platform::KeyboardEvent::KeyUp) {
- // When IMF auto-capitalizes a KeyDown, say the first letter of a new sentence, our KeyUp will still be in lowercase.
- if (m_expectedKeyUpChar == keyboardEvent.character() || (isASCIIUpper(m_expectedKeyUpChar) && m_expectedKeyUpChar == toASCIIUpper(keyboardEvent.character()))) {
- m_expectedKeyUpChar = 0;
- changeIsPartOfComposition = true;
- }
- }
-
- // If we aren't specifically part of a composition, fail, IMF should never send key input
- // while composing text. If IMF has failed, we should have already finished the
- // composition manually. There is a caveat for KeyUp which is explained above.
- if (!changeIsPartOfComposition && compositionActive()) {
- if (type == Platform::KeyboardEvent::KeyDown && isNavigationKey(keyboardEvent.character()))
- removeAttributedTextMarker();
- else
- return false;
- }
-
- ProcessingChangeGuard guard(this);
-
- unsigned adjustedModifiers = keyboardEvent.modifiers();
- if (WTF::isASCIIUpper(keyboardEvent.character()))
- adjustedModifiers |= KEYMOD_SHIFT;
-
- ASSERT(m_webPage->m_page->focusController());
- bool keyboardEventHandled = false;
- if (Frame* focusedFrame = m_webPage->m_page->focusController()->focusedFrame()) {
- bool isKeyChar = type == Platform::KeyboardEvent::KeyChar;
-
- // If this is a KeyChar type then we handle it as a keydown followed by a key up.
- if (isKeyChar)
- type = Platform::KeyboardEvent::KeyDown;
- else if (type == Platform::KeyboardEvent::KeyDown) {
- m_expectedKeyUpChar = keyboardEvent.character();
-
- m_shouldNotifyWebView = shouldNotifyWebView(keyboardEvent);
- }
-
- Platform::KeyboardEvent adjustedKeyboardEvent(keyboardEvent.character(), type, adjustedModifiers, keyboardEvent.keycode(), keyboardEvent.alternateCharacter(), keyboardEvent.sourceDevice());
- keyboardEventHandled = focusedFrame->eventHandler()->keyEvent(PlatformKeyboardEvent(adjustedKeyboardEvent));
-
- m_shouldNotifyWebView = true;
-
- if (isKeyChar) {
- type = Platform::KeyboardEvent::KeyUp;
- adjustedKeyboardEvent = Platform::KeyboardEvent(keyboardEvent.character(), type, adjustedModifiers, keyboardEvent.keycode(), keyboardEvent.alternateCharacter(), keyboardEvent.sourceDevice());
- keyboardEventHandled = focusedFrame->eventHandler()->keyEvent(PlatformKeyboardEvent(adjustedKeyboardEvent)) || keyboardEventHandled;
- }
-
- if (!changeIsPartOfComposition && type == Platform::KeyboardEvent::KeyUp)
- ensureFocusTextElementVisible(EdgeIfNeeded);
- }
-
- if (m_currentFocusElement && keyboardEventHandled)
- showTextInputTypeSuggestionBox();
-
- return keyboardEventHandled;
-}
-
-bool InputHandler::shouldNotifyWebView(const Platform::KeyboardEvent& keyboardEvent)
-{
- // If we receive the KeyDown of a Backspace or Enter key, set this flag to prevent sending unnecessary selection and caret changes to IMF.
- return !(keyboardEvent.character() == KEYCODE_BACKSPACE || keyboardEvent.character() == KEYCODE_RETURN || keyboardEvent.character() == KEYCODE_KP_ENTER);
-}
-
-bool InputHandler::deleteSelection()
-{
- if (!isActiveTextEdit())
- return false;
-
- ASSERT(m_currentFocusElement->document() && m_currentFocusElement->document()->frame());
- Frame* frame = m_currentFocusElement->document()->frame();
-
- if (frame->selection()->selectionType() != VisibleSelection::RangeSelection)
- return false;
-
- ASSERT(frame->editor());
- if (!handleKeyboardInput(Platform::KeyboardEvent(KEYCODE_BACKSPACE, Platform::KeyboardEvent::KeyDown, 0), false /* changeIsPartOfComposition */))
- return false;
-
- selectionChanged();
- return true;
-}
-
-void InputHandler::insertText(const WTF::String& string)
-{
- if (!isActiveTextEdit())
- return;
-
- ASSERT(m_currentFocusElement->document() && m_currentFocusElement->document()->frame() && m_currentFocusElement->document()->frame()->editor());
- Editor* editor = m_currentFocusElement->document()->frame()->editor();
- editor->command("InsertText").execute(string);
-}
-
-void InputHandler::clearField()
-{
- if (!isActiveTextEdit())
- return;
-
- ASSERT(m_currentFocusElement->document() && m_currentFocusElement->document()->frame() && m_currentFocusElement->document()->frame()->editor());
- Editor* editor = m_currentFocusElement->document()->frame()->editor();
-
- editor->command("SelectAll").execute();
- editor->command("DeleteBackward").execute();
-}
-
-bool InputHandler::executeTextEditCommand(const WTF::String& commandName)
-{
- ASSERT(m_webPage->focusedOrMainFrame() && m_webPage->focusedOrMainFrame()->editor());
- Editor* editor = m_webPage->focusedOrMainFrame()->editor();
-
- return editor->command(commandName).execute();
-}
-
-void InputHandler::cut()
-{
- executeTextEditCommand("Cut");
-}
-
-void InputHandler::copy()
-{
- executeTextEditCommand("Copy");
-}
-
-void InputHandler::paste()
-{
- executeTextEditCommand("Paste");
-}
-
-void InputHandler::selectAll()
-{
- executeTextEditCommand("SelectAll");
-}
-
-void InputHandler::addAttributedTextMarker(int start, int end, const AttributeTextStyle& style)
-{
- if ((end - start) < 1 || end > static_cast<int>(elementText().length()))
- return;
-
- RefPtr<Range> markerRange = DOMSupport::visibleSelectionForRangeInputElement(m_currentFocusElement.get(), start, end).toNormalizedRange();
- m_currentFocusElement->document()->markers()->addMarker(markerRange.get(), DocumentMarker::AttributeText, WTF::String("Input Marker"), style);
-}
-
-void InputHandler::removeAttributedTextMarker()
-{
- // Remove all attribute text markers.
- if (m_currentFocusElement && m_currentFocusElement->document())
- m_currentFocusElement->document()->markers()->removeMarkers(DocumentMarker::AttributeText);
-
- m_composingTextStart = 0;
- m_composingTextEnd = 0;
-}
-
-void InputHandler::clearCurrentFocusElement()
-{
- if (m_currentFocusElement)
- m_currentFocusElement->blur();
-}
-
-bool InputHandler::willOpenPopupForNode(Node* node)
-{
- // This method must be kept synchronized with InputHandler::didNodeOpenPopup.
- if (!node)
- return false;
-
- ASSERT(!node->isInShadowTree());
-
- if (node->hasTagName(HTMLNames::selectTag) || isHTMLOptionElement(node)) {
- // We open list popups for options and selects.
- return true;
- }
-
- if (node->isElementNode()) {
- Element* element = toElement(node);
- if (DOMSupport::isPopupInputField(element))
- return true;
- }
-
- return false;
-}
-
-bool InputHandler::didNodeOpenPopup(Node* node)
-{
- // This method must be kept synchronized with InputHandler::willOpenPopupForNode.
- if (!node)
- return false;
-
- ASSERT(!node->isInShadowTree());
-
- if (node->hasTagName(HTMLNames::selectTag))
- return openSelectPopup(toHTMLSelectElement(node));
-
- if (isHTMLOptionElement(node)) {
- HTMLOptionElement* optionElement = toHTMLOptionElement(node);
- return openSelectPopup(optionElement->ownerSelectElement());
- }
-
- if (HTMLInputElement* element = node->toInputElement()) {
- if (DOMSupport::isDateTimeInputField(element))
- return openDatePopup(element, elementType(element));
-
- if (DOMSupport::isColorInputField(element))
- return openColorPopup(element);
- }
- return false;
-}
-
-bool InputHandler::openSelectPopup(HTMLSelectElement* select)
-{
- if (!select || select->isDisabledFormControl())
- return false;
-
- // If there's no view, do nothing and return.
- if (!select->document()->view())
- return false;
-
- if (isActiveTextEdit())
- clearCurrentFocusElement();
-
- m_currentFocusElement = select;
- m_currentFocusElementType = SelectPopup;
-
- const WTF::Vector<HTMLElement*>& listItems = select->listItems();
- int size = listItems.size();
-
- bool multiple = select->multiple();
- ScopeArray<BlackBerry::Platform::String> labels;
- labels.reset(new BlackBerry::Platform::String[size]);
-
- bool* enableds = 0;
- int* itemTypes = 0;
- bool* selecteds = 0;
-
- if (size) {
- enableds = new bool[size];
- itemTypes = new int[size];
- selecteds = new bool[size];
- for (int i = 0; i < size; i++) {
- if (isHTMLOptionElement(listItems[i])) {
- HTMLOptionElement* option = toHTMLOptionElement(listItems[i]);
- labels[i] = option->textIndentedToRespectGroupLabel();
- enableds[i] = option->isDisabledFormControl() ? 0 : 1;
- selecteds[i] = option->selected();
- itemTypes[i] = option->parentNode() && isHTMLOptGroupElement(option->parentNode()) ? TypeOptionInGroup : TypeOption;
- } else if (isHTMLOptGroupElement(listItems[i])) {
- HTMLOptGroupElement* optGroup = toHTMLOptGroupElement(listItems[i]);
- labels[i] = optGroup->groupLabelText();
- enableds[i] = optGroup->isDisabledFormControl() ? 0 : 1;
- selecteds[i] = false;
- itemTypes[i] = TypeGroup;
- } else if (listItems[i]->hasTagName(HTMLNames::hrTag)) {
- enableds[i] = false;
- selecteds[i] = false;
- itemTypes[i] = TypeSeparator;
- }
- }
- }
-
- SelectPopupClient* selectClient = new SelectPopupClient(multiple, size, labels, enableds, itemTypes, selecteds, m_webPage, select);
- WebCore::IntRect elementRectInRootView = select->document()->view()->contentsToRootView(enclosingIntRect(select->getRect()));
- // Fail to create HTML popup, use the old path
- if (!m_webPage->openPagePopup(selectClient, elementRectInRootView))
- m_webPage->m_client->openPopupList(multiple, size, labels, enableds, itemTypes, selecteds);
- delete[] enableds;
- delete[] itemTypes;
- delete[] selecteds;
- return true;
-}
-
-void InputHandler::setPopupListIndex(int index)
-{
- if (index == -2) // Abandon
- return clearCurrentFocusElement();
-
- if (!isActiveSelectPopup())
- return clearCurrentFocusElement();
-
- RenderObject* renderer = m_currentFocusElement->renderer();
- if (renderer && renderer->isMenuList()) {
- RenderMenuList* renderMenu = toRenderMenuList(renderer);
- renderMenu->hidePopup();
- }
-
- HTMLSelectElement* selectElement = toHTMLSelectElement(m_currentFocusElement.get());
- int optionIndex = selectElement->listToOptionIndex(index);
- selectElement->optionSelectedByUser(optionIndex, true /* deselect = true */, true /* fireOnChangeNow = false */);
- clearCurrentFocusElement();
-}
-
-void InputHandler::setPopupListIndexes(int size, const bool* selecteds)
-{
- if (!isActiveSelectPopup())
- return clearCurrentFocusElement();
-
- if (size < 0)
- return;
-
- HTMLSelectElement* selectElement = toHTMLSelectElement(m_currentFocusElement.get());
- const WTF::Vector<HTMLElement*>& items = selectElement->listItems();
- if (items.size() != static_cast<unsigned>(size))
- return;
-
- HTMLOptionElement* option;
- for (int i = 0; i < size; i++) {
- if (isHTMLOptionElement(items[i])) {
- option = toHTMLOptionElement(items[i]);
- option->setSelectedState(selecteds[i]);
- }
- }
-
- // Force repaint because we do not send mouse events to the select element
- // and the element doesn't automatically repaint itself.
- selectElement->dispatchFormControlChangeEvent();
- selectElement->renderer()->repaint();
- clearCurrentFocusElement();
-}
-
-bool InputHandler::setBatchEditingActive(bool active)
-{
- if (!isActiveTextEdit())
- return false;
-
- ASSERT(m_currentFocusElement->document());
- ASSERT(m_currentFocusElement->document()->frame());
-
- // FIXME switch this to m_currentFocusElement->document()->frame() when we have separate
- // backingstore for each frame.
- BackingStoreClient* backingStoreClient = m_webPage->backingStoreClient();
- ASSERT(backingStoreClient);
-
- // Enable / Disable the backingstore to prevent visual updates.
- // FIXME: Do we really need to suspend/resume both backingstore and screen here?
- if (!active) {
- backingStoreClient->backingStore()->resumeBackingStoreUpdates();
- backingStoreClient->backingStore()->resumeScreenUpdates(BackingStore::RenderAndBlit);
- } else {
- backingStoreClient->backingStore()->suspendBackingStoreUpdates();
- backingStoreClient->backingStore()->suspendScreenUpdates();
- }
-
- return true;
-}
-
-bool InputHandler::isCaretAtEndOfText()
-{
- return caretPosition() == static_cast<int>(elementText().length());
-}
-
-int InputHandler::caretPosition() const
-{
- if (!isActiveTextEdit())
- return -1;
-
- // NOTE: This function is expected to return the start of the selection if
- // a selection is applied.
- return selectionStart();
-}
-
-int relativeLeftOffset(int caretPosition, int leftOffset)
-{
- ASSERT(caretPosition >= 0);
-
- return std::max(0, caretPosition - leftOffset);
-}
-
-int relativeRightOffset(int caretPosition, unsigned totalLengthOfText, int rightOffset)
-{
- ASSERT(caretPosition >= 0);
- ASSERT(totalLengthOfText < INT_MAX);
-
- return std::min(caretPosition + rightOffset, static_cast<int>(totalLengthOfText));
-}
-
-bool InputHandler::deleteTextRelativeToCursor(int leftOffset, int rightOffset)
-{
- if (!isActiveTextEdit() || compositionActive())
- return false;
-
- InputLog(Platform::LogLevelInfo,
- "InputHandler::deleteTextRelativeToCursor left %d right %d",
- leftOffset, rightOffset);
-
- int caretOffset = caretPosition();
- int start = relativeLeftOffset(caretOffset, leftOffset);
- int end = relativeRightOffset(caretOffset, elementText().length(), rightOffset);
-
- // If we have backspace in a single character, send this to webkit as a KeyboardEvent. Otherwise, call deleteText.
- if (leftOffset == 1 && !rightOffset) {
- if (selectionActive())
- return deleteSelection();
-
- if (!handleKeyboardInput(Platform::KeyboardEvent(KEYCODE_BACKSPACE, Platform::KeyboardEvent::KeyDown, 0), true /* changeIsPartOfComposition */))
- return false;
- } else if (!deleteText(start, end))
- return false;
-
- ProcessingChangeGuard guard(this);
-
- // Scroll the field if necessary. The automatic update is suppressed
- // by the processing change guard.
- ensureFocusTextElementVisible(EdgeIfNeeded);
-
- return true;
-}
-
-bool InputHandler::deleteText(int start, int end)
-{
- if (!isActiveTextEdit())
- return false;
-
- {
- ProcessingChangeGuard guard(this);
-
- if (end - start == 1)
- return handleKeyboardInput(Platform::KeyboardEvent(KEYCODE_BACKSPACE, Platform::KeyboardEvent::KeyDown, 0), true /* changeIsPartOfComposition */);
-
- if (!setSelection(start, end, true /*changeIsPartOfComposition*/))
- return false;
- }
-
- InputLog(Platform::LogLevelInfo, "InputHandler::deleteText start %d end %d", start, end);
-
- return deleteSelection();
-}
-
-spannable_string_t* InputHandler::spannableTextInRange(int start, int end, int32_t)
-{
- if (!isActiveTextEdit())
- return 0;
-
- if (start >= end)
- return 0;
-
- int length = end - start;
-
- WTF::String textString = elementText().substring(start, length);
-
- spannable_string_t* pst = (spannable_string_t*)fastMalloc(sizeof(spannable_string_t));
-
- // Don't use fastMalloc in case the string is unreasonably long. fastMalloc will
- // crash immediately on failure.
- pst->str = (wchar_t*)malloc(sizeof(wchar_t) * (length + 1));
- if (!pst->str) {
- Platform::logAlways(Platform::LogLevelCritical, "InputHandler::spannableTextInRange Cannot allocate memory for string.");
- free(pst);
- return 0;
- }
-
- int stringLength = 0;
- if (!convertStringToWchar(textString, pst->str, length + 1, &stringLength)) {
- Platform::logAlways(Platform::LogLevelCritical, "InputHandler::spannableTextInRange failed to convert string.");
- free(pst->str);
- free(pst);
- return 0;
- }
-
- pst->length = stringLength;
- pst->spans_count = 0;
- pst->spans = 0;
-
- return pst;
-}
-
-spannable_string_t* InputHandler::selectedText(int32_t flags)
-{
- if (!isActiveTextEdit())
- return 0;
-
- return spannableTextInRange(selectionStart(), selectionEnd(), flags);
-}
-
-spannable_string_t* InputHandler::textBeforeCursor(int32_t length, int32_t flags)
-{
- if (!isActiveTextEdit())
- return 0;
-
- int caretOffset = caretPosition();
- int start = relativeLeftOffset(caretOffset, length);
- int end = caretOffset;
-
- return spannableTextInRange(start, end, flags);
-}
-
-spannable_string_t* InputHandler::textAfterCursor(int32_t length, int32_t flags)
-{
- if (!isActiveTextEdit())
- return 0;
-
- int caretOffset = caretPosition();
- int start = caretOffset;
- int end = relativeRightOffset(caretOffset, elementText().length(), length);
-
- return spannableTextInRange(start, end, flags);
-}
-
-extracted_text_t* InputHandler::extractedTextRequest(extracted_text_request_t*, int32_t flags)
-{
- if (!isActiveTextEdit())
- return 0;
-
- extracted_text_t* extractedText = (extracted_text_t *)fastMalloc(sizeof(extracted_text_t));
-
- // 'flags' indicates whether the text is being monitored. This is not currently used.
-
- // FIXME add smart limiting based on the hint sizes. Currently return all text.
-
- extractedText->text = spannableTextInRange(0, elementText().length(), flags);
-
- // FIXME confirm these should be 0 on this requested. Text changes will likely require
- // the end be the length.
- extractedText->partial_start_offset = 0;
- extractedText->partial_end_offset = 0;
- extractedText->start_offset = 0;
-
- // Adjust selection values relative to the start offset, which may be a subset
- // of the text in the field.
- extractedText->selection_start = selectionStart() - extractedText->start_offset;
- extractedText->selection_end = selectionEnd() - extractedText->start_offset;
-
- // selectionActive is not limited to inside the extracted text.
- bool selectionActive = extractedText->selection_start != extractedText->selection_end;
- bool singleLine = isHTMLInputElement(m_currentFocusElement);
-
- // FIXME flags has two values in doc, enum not in header yet.
- extractedText->flags = selectionActive & singleLine;
-
- return extractedText;
-}
-
-static void addCompositionTextStyleToAttributeTextStyle(AttributeTextStyle& style)
-{
- style.setUnderline(AttributeTextStyle::StandardUnderline);
-}
-
-static void addActiveTextStyleToAttributeTextStyle(AttributeTextStyle& style)
-{
- style.setBackgroundColor(Color("blue"));
- style.setTextColor(Color("white"));
-}
-
-static AttributeTextStyle compositionTextStyle()
-{
- AttributeTextStyle style;
- addCompositionTextStyleToAttributeTextStyle(style);
- return style;
-}
-
-static AttributeTextStyle textStyleFromMask(int64_t mask)
-{
- AttributeTextStyle style;
- if (mask & COMPOSED_TEXT_ATTRIB)
- addCompositionTextStyleToAttributeTextStyle(style);
-
- if (mask & ACTIVE_REGION_ATTRIB)
- addActiveTextStyleToAttributeTextStyle(style);
-
- return style;
-}
-
-bool InputHandler::removeComposedText()
-{
- if (compositionActive()) {
- if (!deleteText(m_composingTextStart, m_composingTextEnd)) {
- // Could not remove the existing composition region.
- return false;
- }
- removeAttributedTextMarker();
- }
-
- return true;
-}
-
-int32_t InputHandler::setComposingRegion(int32_t start, int32_t end)
-{
- if (!isActiveTextEdit())
- return -1;
-
- if (!removeComposedText()) {
- // Could not remove the existing composition region.
- return -1;
- }
-
- m_composingTextStart = start;
- m_composingTextEnd = end;
-
- if (compositionActive())
- addAttributedTextMarker(start, end, compositionTextStyle());
-
- InputLog(Platform::LogLevelInfo, "InputHandler::setComposingRegion start %d end %d", start, end);
-
- return 0;
-}
-
-int32_t InputHandler::finishComposition()
-{
- if (!isActiveTextEdit())
- return -1;
-
- // FIXME if no composition is active, should we return failure -1?
- if (!compositionActive())
- return 0;
-
- // Remove all markers.
- removeAttributedTextMarker();
-
- InputLog(Platform::LogLevelInfo, "InputHandler::finishComposition completed");
-
- return 0;
-}
-
-span_t* InputHandler::firstSpanInString(spannable_string_t* spannableString, SpannableStringAttribute attrib)
-{
- span_t* span = spannableString->spans;
- for (unsigned i = 0; i < spannableString->spans_count; i++) {
- if (span->attributes_mask & attrib)
- return span;
- span++;
- }
-
- return 0;
-}
-
-bool InputHandler::isTrailingSingleCharacter(span_t* span, unsigned stringLength, unsigned composingTextLength)
-{
- // Make sure the new string is one character larger than the old.
- if (composingTextLength != stringLength - 1)
- return false;
-
- if (!span)
- return false;
-
- // Has only 1 character changed?
- if (span->start == span->end) {
- // Is this character the last character in the string?
- if (span->start == stringLength - 1)
- return true;
- }
- // Return after the first changed_attrib is found.
- return false;
-}
-
-bool InputHandler::setText(spannable_string_t* spannableString)
-{
- if (!isActiveTextEdit() || !spannableString)
- return false;
-
- ASSERT(m_currentFocusElement->document() && m_currentFocusElement->document()->frame());
- Frame* frame = m_currentFocusElement->document()->frame();
-
- Editor* editor = frame->editor();
- ASSERT(editor);
-
- // Disable selectionHandler's active selection as we will be resetting and these
- // changes should not be handled as notification event.
- m_webPage->m_selectionHandler->setSelectionActive(false);
-
- WTF::String textToInsert = convertSpannableStringToString(spannableString);
- int textLength = textToInsert.length();
-
- InputLog(Platform::LogLevelInfo,
- "InputHandler::setText spannableString is '%s', of length %d",
- textToInsert.latin1().data(), textLength);
-
- span_t* changedSpan = firstSpanInString(spannableString, CHANGED_ATTRIB);
- int composingTextStart = m_composingTextStart;
- int composingTextEnd = m_composingTextEnd;
- int composingTextLength = compositionLength();
- removeAttributedTextMarker();
-
- if (isTrailingSingleCharacter(changedSpan, textLength, composingTextLength)) {
- // If the text is unconverted, do not allow JS processing as it is not a "real"
- // character in the field.
- if (firstSpanInString(spannableString, UNCONVERTED_TEXT_ATTRIB)) {
- InputLog(Platform::LogLevelInfo, "InputHandler::setText Single trailing character detected. Text is unconverted.");
- return editor->command("InsertText").execute(textToInsert.right(1));
- }
- InputLog(Platform::LogLevelInfo, "InputHandler::setText Single trailing character detected.");
- return handleKeyboardInput(Platform::KeyboardEvent(textToInsert[textLength - 1], Platform::KeyboardEvent::KeyDown, 0), false /* changeIsPartOfComposition */);
- }
-
- // If no spans have changed, treat it as a delete operation.
- if (!changedSpan) {
- // If the composition length is the same as our string length, then we don't need to do anything.
- if (composingTextLength == textLength) {
- InputLog(Platform::LogLevelInfo, "InputHandler::setText No spans have changed. New text is the same length as the old. Nothing to do.");
- return true;
- }
-
- if (composingTextLength - textLength == 1) {
- InputLog(Platform::LogLevelInfo, "InputHandler::setText No spans have changed. New text is one character shorter than the old. Treating as 'delete'.");
- return handleKeyboardInput(Platform::KeyboardEvent(KEYCODE_BACKSPACE, Platform::KeyboardEvent::KeyDown, 0), true /* changeIsPartOfComposition */);
- }
- }
-
- if (composingTextLength && !setSelection(composingTextStart, composingTextEnd, true /* changeIsPartOfComposition */))
- return false;
-
- // If there is no text to add just delete.
- if (!textLength) {
- if (selectionActive())
- return handleKeyboardInput(Platform::KeyboardEvent(KEYCODE_BACKSPACE, Platform::KeyboardEvent::KeyDown, 0), true /* changeIsPartOfComposition */);
-
- // Nothing to do.
- return true;
- }
-
- // Triggering an insert of the text with a space character trailing
- // causes new text to adopt the previous text style.
- // Remove it and apply it as a keypress later.
- // Upstream Webkit bug created https://bugs.webkit.org/show_bug.cgi?id=70823
- bool requiresSpaceKeyPress = false;
- if (textLength > 0 && textToInsert[textLength - 1] == KEYCODE_SPACE) {
- requiresSpaceKeyPress = true;
- textLength--;
- textToInsert.remove(textLength, 1);
- }
-
- InputLog(Platform::LogLevelInfo,
- "InputHandler::setText Request being processed. Text before processing: '%s'",
- elementText().latin1().data());
-
- if (textLength == 1 && !spannableString->spans_count) {
- // Handle single key non-attributed entry as key press rather than insert to allow
- // triggering of javascript events.
- InputLog(Platform::LogLevelInfo, "InputHandler::setText Single character entry treated as key-press in the absense of spans.");
- return handleKeyboardInput(Platform::KeyboardEvent(textToInsert[0], Platform::KeyboardEvent::KeyDown, 0), true /* changeIsPartOfComposition */);
- }
-
- // Perform the text change as a single command if there is one.
- if (!textToInsert.isEmpty() && !editor->command("InsertText").execute(textToInsert)) {
- InputLog(Platform::LogLevelWarn,
- "InputHandler::setText Failed to insert text '%s'",
- textToInsert.latin1().data());
- return false;
- }
-
- if (requiresSpaceKeyPress)
- handleKeyboardInput(Platform::KeyboardEvent(KEYCODE_SPACE, Platform::KeyboardEvent::KeyDown, 0), true /* changeIsPartOfComposition */);
-
- InputLog(Platform::LogLevelInfo,
- "InputHandler::setText Request being processed. Text after processing '%s'",
- elementText().latin1().data());
-
- return true;
-}
-
-bool InputHandler::setTextAttributes(int insertionPoint, spannable_string_t* spannableString)
-{
- // Apply the attributes to the field.
- span_t* span = spannableString->spans;
- for (unsigned i = 0; i < spannableString->spans_count; i++) {
- unsigned startPosition = insertionPoint + span->start;
- // The end point includes the character that it is before. Ie, 0, 0
- // applies to the first character as the end point includes the character
- // at the position. This means the endPosition is always +1.
- unsigned endPosition = insertionPoint + span->end + 1;
- if (endPosition < startPosition || endPosition > elementText().length())
- return false;
-
- if (!span->attributes_mask)
- continue; // Nothing to do.
-
- // MISSPELLED_WORD_ATTRIB is present as an option, but it is not currently
- // used by IMF. When they add support for on the fly spell checking we can
- // use it to apply spelling markers and disable continuous spell checking.
-
- InputLog(Platform::LogLevelInfo,
- "InputHandler::setTextAttributes adding marker %d to %d - %llu",
- startPosition, endPosition, span->attributes_mask);
- addAttributedTextMarker(startPosition, endPosition, textStyleFromMask(span->attributes_mask));
-
- span++;
- }
-
- InputLog(Platform::LogLevelInfo, "InputHandler::setTextAttributes attribute count %d", spannableString->spans_count);
-
- return true;
-}
-
-bool InputHandler::setRelativeCursorPosition(int insertionPoint, int relativeCursorPosition)
-{
- if (!isActiveTextEdit())
- return false;
-
- // 1 place cursor at end of insertion text.
- if (relativeCursorPosition == 1) {
- m_currentFocusElement->document()->frame()->selection()->revealSelection(ScrollAlignment::alignToEdgeIfNeeded);
- return true;
- }
-
- int cursorPosition = 0;
- if (relativeCursorPosition <= 0) {
- // Zero = insertionPoint
- // Negative value, move the cursor the requested number of characters before
- // the start of the inserted text.
- cursorPosition = insertionPoint + relativeCursorPosition;
- } else {
- // Positive value, move the cursor the requested number of characters after
- // the end of the inserted text minus 1.
- cursorPosition = caretPosition() + relativeCursorPosition - 1;
- }
-
- if (cursorPosition < 0 || cursorPosition > (int)elementText().length())
- return false;
-
- InputLog(Platform::LogLevelInfo,
- "InputHandler::setRelativeCursorPosition cursor position %d",
- cursorPosition);
-
- return setCursorPosition(cursorPosition);
-}
-
-bool InputHandler::setSpannableTextAndRelativeCursor(spannable_string_t* spannableString, int relativeCursorPosition, bool markTextAsComposing)
-{
- InputLog(Platform::LogLevelInfo,
- "InputHandler::setSpannableTextAndRelativeCursor(%d, %d, %d)",
- spannableString->length, relativeCursorPosition, markTextAsComposing);
-
- int insertionPoint = compositionActive() ? m_composingTextStart : selectionStart();
-
- ProcessingChangeGuard guard(this);
-
- if (!setText(spannableString))
- return false;
-
- if (!setTextAttributes(insertionPoint, spannableString))
- return false;
-
- if (!setRelativeCursorPosition(insertionPoint, relativeCursorPosition))
- return false;
-
- if (markTextAsComposing) {
- m_composingTextStart = insertionPoint;
- m_composingTextEnd = insertionPoint + spannableString->length;
- }
-
- return true;
-}
-
-int32_t InputHandler::setComposingText(spannable_string_t* spannableString, int32_t relativeCursorPosition)
-{
- if (!isActiveTextEdit())
- return -1;
-
- if (!spannableString)
- return -1;
-
- InputLog(Platform::LogLevelInfo,
- "InputHandler::setComposingText at relativeCursorPosition: %d",
- relativeCursorPosition);
-
- // Enable input mode if we are processing a key event.
- setInputModeEnabled();
-
- return setSpannableTextAndRelativeCursor(spannableString, relativeCursorPosition, true /* markTextAsComposing */) ? 0 : -1;
-}
-
-int32_t InputHandler::commitText(spannable_string_t* spannableString, int32_t relativeCursorPosition)
-{
- if (!isActiveTextEdit())
- return -1;
-
- if (!spannableString)
- return -1;
-
- InputLog(Platform::LogLevelInfo, "InputHandler::commitText");
-
- return setSpannableTextAndRelativeCursor(spannableString, relativeCursorPosition, false /* markTextAsComposing */) ? 0 : -1;
-}
-
-void InputHandler::restoreViewState()
-{
- setInputModeEnabled();
-
- // Make sure we reset the selection / FCC state.
- m_webPage->m_selectionHandler->selectionPositionChanged();
-}
-
-void InputHandler::showTextInputTypeSuggestionBox(bool allowEmptyPrefix)
-{
- if (!isActiveTextEdit())
- return;
-
- HTMLInputElement* focusedInputElement = toHTMLInputElement(m_currentFocusElement->toInputElement());
- if (!focusedInputElement)
- return;
-
- if (!m_suggestionDropdownBoxHandler)
- m_suggestionDropdownBoxHandler = SuggestionBoxHandler::create(focusedInputElement);
-
- // If the focused input element isn't the same as the one inside the handler, reset and display.
- // If the focused element is the same, display the suggestions.
- if ((m_suggestionDropdownBoxHandler->focusedElement()) && m_suggestionDropdownBoxHandler->focusedElement() != focusedInputElement)
- m_suggestionDropdownBoxHandler->setInputElementAndUpdateDisplay(focusedInputElement);
- else
- m_suggestionDropdownBoxHandler->showDropdownBox(allowEmptyPrefix);
-}
-
-void InputHandler::hideTextInputTypeSuggestionBox()
-{
- if (m_suggestionDropdownBoxHandler)
- m_suggestionDropdownBoxHandler->hideDropdownBox();
-}
-
-void InputHandler::elementTouched(WebCore::Element* nonShadowElementUnderFatFinger)
-{
- // Attempt to show all suggestions when the input field is empty and a tap is registered when the element is focused.
- if (isActiveTextEdit() && nonShadowElementUnderFatFinger == m_currentFocusElement)
- showTextInputTypeSuggestionBox(true /* allowEmptyPrefix */);
-
- m_elementTouchedIsCrossFrame = nonShadowElementUnderFatFinger
- && nonShadowElementUnderFatFinger->document()
- && nonShadowElementUnderFatFinger->document()->frame() != m_webPage->focusedOrMainFrame();
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/InputHandler.h b/Source/WebKit/blackberry/WebKitSupport/InputHandler.h
deleted file mode 100644
index b74bcc479..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/InputHandler.h
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 InputHandler_h
-#define InputHandler_h
-
-#include "FloatPoint.h"
-#include "TextChecking.h"
-
-#include <BlackBerryPlatformInputEvents.h>
-#include <BlackBerryPlatformMisc.h>
-#include <BlackBerryPlatformSettings.h>
-
-#include <imf/events.h>
-#include <imf/input_data.h>
-#include <map>
-#include <pthread.h>
-#include <wtf/RefPtr.h>
-
-namespace WTF {
-class String;
-}
-
-namespace WebCore {
-class AttributeTextStyle;
-class Element;
-class Frame;
-class HTMLInputElement;
-class HTMLSelectElement;
-class IntRect;
-class Node;
-class Range;
-class SpellChecker;
-class SpellCheckRequest;
-class TextCheckingRequest;
-class VisiblePosition;
-class VisibleSelection;
-class SuggestionBoxHandler;
-}
-
-namespace BlackBerry {
-
-namespace Platform {
-class IntPoint;
-class KeyboardEvent;
-}
-
-namespace WebKit {
-
-class SpellingHandler;
-class WebPagePrivate;
-
-class InputHandler {
-public:
- InputHandler(WebPagePrivate*);
- ~InputHandler();
-
- enum FocusElementType { TextEdit, TextPopup /* Date/Time & Color */, SelectPopup, Plugin };
- enum CaretScrollType {
- CenterAlways = BlackBerry::Platform::Settings::ScrollAdjustmentCenterAlways,
- CenterIfNeeded = BlackBerry::Platform::Settings::ScrollAdjustmentCenterIfNeeded,
- EdgeIfNeeded = BlackBerry::Platform::Settings::ScrollAdjustmentEdgeIfNeeded
- };
-
- bool isInputModeEnabled() const;
- void setInputModeEnabled(bool active = true);
-
- void focusedNodeChanged();
- void nodeTextChanged(const WebCore::Node*);
- void selectionChanged();
- void frameUnloaded(const WebCore::Frame*);
-
- bool handleKeyboardInput(const BlackBerry::Platform::KeyboardEvent&, bool changeIsPartOfComposition = false);
-
- bool deleteSelection();
- void insertText(const WTF::String&);
- void clearField();
-
- void cut();
- void copy();
- void paste();
- void selectAll();
-
- void cancelSelection();
-
- void setInputValue(const WTF::String&);
-
- void focusNextField();
- void focusPreviousField();
- void submitForm();
-
- void setDelayKeyboardVisibilityChange(bool value);
- void processPendingKeyboardVisibilityChange();
-
- void notifyClientOfKeyboardVisibilityChange(bool visible, bool triggeredByFocusChange = false);
-
- bool isInputMode() const { return isActiveTextEdit(); }
- bool isMultilineInputMode() const { return isActiveTextEdit() && elementType(m_currentFocusElement.get()) == BlackBerry::Platform::InputTypeTextArea; }
- PassRefPtr<WebCore::Element> currentFocusElement() const { return m_currentFocusElement; }
-
- void ensureFocusElementVisible(bool centerFieldInDisplay = true);
-
- // PopupMenu methods.
- bool willOpenPopupForNode(WebCore::Node*);
- bool didNodeOpenPopup(WebCore::Node*);
- bool openLineInputPopup(WebCore::HTMLInputElement*);
- bool openSelectPopup(WebCore::HTMLSelectElement*);
- void setPopupListIndex(int);
- void setPopupListIndexes(int size, const bool* selecteds);
-
- bool processingChange() const { return m_processingChange; }
- void setProcessingChange(bool);
-
- WTF::String elementText();
-
- WebCore::IntRect boundingBoxForInputField();
-
- bool isCaretAtEndOfText();
-
- // IMF driven calls.
- bool setBatchEditingActive(bool);
- bool setSelection(int start, int end, bool changeIsPartOfComposition = false);
- int caretPosition() const;
- bool deleteTextRelativeToCursor(int leftOffset, int rightOffset);
-
- spannable_string_t* selectedText(int32_t flags);
- spannable_string_t* textBeforeCursor(int32_t length, int32_t flags);
- spannable_string_t* textAfterCursor(int32_t length, int32_t flags);
- extracted_text_t* extractedTextRequest(extracted_text_request_t*, int32_t flags);
-
- int32_t setComposingRegion(int32_t start, int32_t end);
- int32_t finishComposition();
- int32_t setComposingText(spannable_string_t*, int32_t relativeCursorPosition);
- int32_t commitText(spannable_string_t*, int32_t relativeCursorPosition);
-
- void requestCheckingOfString(PassRefPtr<WebCore::SpellCheckRequest>);
- void spellCheckingRequestProcessed(int32_t transactionId, spannable_string_t*);
- void stopPendingSpellCheckRequests(bool isRestartRequired = false);
- void spellCheckTextBlock(WebCore::Element* = 0);
-
- bool shouldRequestSpellCheckingOptionsForPoint(const Platform::IntPoint& documentContentPosition, const WebCore::Element*, imf_sp_text_t&);
- void requestSpellingCheckingOptions(imf_sp_text_t&, WebCore::IntSize& screenOffset, const bool shouldMoveDialog = false);
- void clearDidSpellCheckState() { m_didSpellCheckWord = false; }
- void redrawSpellCheckDialogIfRequired(const bool shouldMoveDialog = true);
-
- void callRequestCheckingFor(PassRefPtr<WebCore::SpellCheckRequest>);
- void setSystemSpellCheckStatus(bool enabled) { m_spellCheckStatusConfirmed = true; m_globalSpellCheckStatus = enabled; }
-
- void elementTouched(WebCore::Element*);
- void restoreViewState();
-
-private:
- enum PendingKeyboardStateChange { NoChange, Visible, NotVisible };
-
- void setElementFocused(WebCore::Element*);
- void setPluginFocused(WebCore::Element*);
- void setElementUnfocused(bool refocusOccuring = false);
-
- void ensureFocusTextElementVisible(CaretScrollType = CenterAlways);
- void ensureFocusPluginElementVisible();
-
- void clearCurrentFocusElement();
-
- bool selectionAtStartOfElement();
- bool selectionAtEndOfElement();
-
- WebCore::IntRect rectForCaret(int index);
-
- bool isActiveTextEdit() const { return m_currentFocusElement && m_currentFocusElementType == TextEdit; }
- bool isActiveTextPopup() const { return m_currentFocusElement && m_currentFocusElementType == TextPopup; }
- bool isActiveSelectPopup() const { return m_currentFocusElement && m_currentFocusElementType == SelectPopup; }
- bool isActivePlugin() const { return m_currentFocusElement && m_currentFocusElementType == Plugin; }
-
- bool openDatePopup(WebCore::HTMLInputElement*, BlackBerry::Platform::BlackBerryInputType);
- bool openColorPopup(WebCore::HTMLInputElement*);
-
- bool executeTextEditCommand(const WTF::String&);
-
- BlackBerry::Platform::BlackBerryInputType elementType(WebCore::Element*) const;
-
- int selectionStart() const;
- int selectionEnd() const;
- int selectionPosition(bool start) const;
- bool selectionActive() const { return selectionStart() != selectionEnd(); }
-
- bool compositionActive() const { return compositionLength(); }
- unsigned compositionLength() const { return m_composingTextEnd - m_composingTextStart; }
-
- spannable_string_t* spannableTextInRange(int start, int end, int32_t flags);
-
- void addAttributedTextMarker(int start, int end, const WebCore::AttributeTextStyle&);
- void removeAttributedTextMarker();
-
- bool deleteText(int start, int end);
- bool setTextAttributes(int insertionPoint, spannable_string_t*);
- bool setText(spannable_string_t*);
- bool setSpannableTextAndRelativeCursor(spannable_string_t*, int relativeCursorPosition, bool markTextAsComposing);
- bool removeComposedText();
- bool setRelativeCursorPosition(int insertionPoint, int relativeCursorPosition);
- bool setCursorPosition(int location);
-
- span_t* firstSpanInString(spannable_string_t*, SpannableStringAttribute);
- bool isTrailingSingleCharacter(span_t*, unsigned, unsigned);
-
- void learnText();
- void sendLearnTextDetails(const WTF::String&);
- WebCore::SpellChecker* getSpellChecker();
- bool shouldSpellCheckElement(const WebCore::Element*) const;
- bool didSpellCheckWord() const { return m_didSpellCheckWord; }
-
- void updateFormState();
-
- bool shouldNotifyWebView(const Platform::KeyboardEvent&);
-
- void showTextInputTypeSuggestionBox(bool allowEmptyPrefix = false);
- void hideTextInputTypeSuggestionBox();
-
- bool isNavigationKey(unsigned character) const;
-
- WebPagePrivate* m_webPage;
-
- RefPtr<WebCore::Element> m_currentFocusElement;
- RefPtr<WebCore::Element> m_previousFocusableTextElement;
- RefPtr<WebCore::Element> m_nextFocusableTextElement;
-
- bool m_hasSubmitButton;
- bool m_inputModeEnabled;
-
- bool m_processingChange;
- bool m_shouldEnsureFocusTextElementVisibleOnSelectionChanged;
-
- FocusElementType m_currentFocusElementType;
- int64_t m_currentFocusElementTextEditMask;
-
- int m_composingTextStart;
- int m_composingTextEnd;
-
- PendingKeyboardStateChange m_pendingKeyboardVisibilityChange;
- bool m_delayKeyboardVisibilityChange;
-
- RefPtr<WebCore::SpellCheckRequest> m_request;
- int32_t m_processingTransactionId;
-
- bool m_shouldNotifyWebView;
- unsigned m_expectedKeyUpChar;
-
- imf_sp_text_t m_spellCheckingOptionsRequest;
- WebCore::IntSize m_screenOffset;
- bool m_didSpellCheckWord;
- SpellingHandler* m_spellingHandler;
- bool m_spellCheckStatusConfirmed;
- bool m_globalSpellCheckStatus;
- int m_minimumSpellCheckingRequestSequence;
-
- OwnPtr<WebCore::SuggestionBoxHandler> m_suggestionDropdownBoxHandler;
- bool m_elementTouchedIsCrossFrame;
-
- DISABLE_COPY(InputHandler);
-};
-
-}
-}
-
-#endif // InputHandler_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/InspectorOverlayBlackBerry.cpp b/Source/WebKit/blackberry/WebKitSupport/InspectorOverlayBlackBerry.cpp
deleted file mode 100644
index b8bcb85c5..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/InspectorOverlayBlackBerry.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. 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
- * 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 "InspectorOverlayBlackBerry.h"
-
-#include "Frame.h"
-#include "FrameView.h"
-#include "GraphicsContext.h"
-#include "GraphicsLayer.h"
-#include "WebPage_p.h"
-
-
-namespace BlackBerry {
-namespace WebKit {
-
-PassOwnPtr<InspectorOverlay> InspectorOverlay::create(WebPagePrivate* page, InspectorOverlayClient* client)
-{
- return adoptPtr(new InspectorOverlay(page, client));
-}
-
-InspectorOverlay::InspectorOverlay(WebPagePrivate* page, InspectorOverlayClient* client)
- : m_webPage(page)
- , m_client(client)
-{
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-void InspectorOverlay::notifyFlushRequired(const WebCore::GraphicsLayer* layer)
-{
- m_webPage->notifyFlushRequired(layer);
-}
-
-void InspectorOverlay::paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext& context, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect&)
-{
- context.save();
- WebCore::IntPoint scrollPosition = m_webPage->focusedOrMainFrame()->view()->scrollPosition();
- context.translate(scrollPosition.x(), scrollPosition.y());
- m_client->paintInspectorOverlay(context);
- context.restore();
-}
-
-#endif
-
-InspectorOverlay::~InspectorOverlay() { }
-
-void InspectorOverlay::clear()
-{
-#if USE(ACCELERATED_COMPOSITING)
- if (m_overlay) {
- m_overlay->removeFromParent();
- m_overlay = nullptr;
- }
-#endif
-}
-
-void InspectorOverlay::update()
-{
-#if USE(ACCELERATED_COMPOSITING)
- if (!m_overlay) {
- m_overlay = adoptPtr(new WebOverlay(this));
- const WebCore::IntSize size = m_webPage->contentsSize();
- m_overlay->setSize(WebCore::FloatSize(size.width(), size.height()));
- m_webPage->m_webPage->addOverlay(m_overlay.get());
- }
-
- m_overlay->setDrawsContent(true);
- m_overlay->setOpacity(1.0);
- m_overlay->invalidate();
-#endif
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/InspectorOverlayBlackBerry.h b/Source/WebKit/blackberry/WebKitSupport/InspectorOverlayBlackBerry.h
deleted file mode 100644
index d9c6b6562..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/InspectorOverlayBlackBerry.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. 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
- * 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 InspectorOverlayBlackBerry_h
-#define InspectorOverlayBlackBerry_h
-
-#include "WebOverlay.h"
-#include <GraphicsLayerClient.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-
-namespace WebCore {
-class GraphicsContext;
-class GraphicsLayer;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-
-class InspectorOverlay : public WebCore::GraphicsLayerClient {
-public:
- class InspectorOverlayClient {
- public:
- virtual void paintInspectorOverlay(WebCore::GraphicsContext&) = 0;
- };
-
- static PassOwnPtr<InspectorOverlay> create(WebPagePrivate*, InspectorOverlayClient*);
-
- ~InspectorOverlay();
-
- void setClient(InspectorOverlayClient* client) { m_client = client; }
-
- void clear();
- void update();
- void paintWebFrame(WebCore::GraphicsContext&);
-
-#if USE(ACCELERATED_COMPOSITING)
- virtual void notifyAnimationStarted(const WebCore::GraphicsLayer*, double) { }
- virtual void notifyFlushRequired(const WebCore::GraphicsLayer*);
- virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect&);
-#endif
-
-private:
- InspectorOverlay(WebPagePrivate*, InspectorOverlayClient*);
- void invalidateWebFrame();
-
- WebPagePrivate* m_webPage;
- InspectorOverlayClient* m_client;
- OwnPtr<WebOverlay> m_overlay;
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif /* InspectorOverlayBlackBerry_h */
diff --git a/Source/WebKit/blackberry/WebKitSupport/NotificationManager.cpp b/Source/WebKit/blackberry/WebKitSupport/NotificationManager.cpp
deleted file mode 100644
index 24e7b2c92..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/NotificationManager.cpp
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Apple Inc. All rights reserved.
- * Copyright (C) 2012 Research In Motion Limited. 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 INC. 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 INC. 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 "NotificationManager.h"
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#include "UUID.h"
-#include "UserGestureIndicator.h"
-#include "WebPage_p.h"
-
-#include <BlackBerryPlatformString.h>
-
-#include <vector>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-NotificationManager::NotificationManager(WebPagePrivate* webPagePrivate)
- : m_webPagePrivate(webPagePrivate)
-{
-}
-
-NotificationManager::~NotificationManager()
-{
-}
-
-bool NotificationManager::show(Notification* notification)
-{
- String notificationID = createCanonicalUUIDString();
- m_notificationMap.set(notification, notificationID);
- m_notificationIDMap.set(notificationID, notification);
-
- NotificationContextMap::iterator it = m_notificationContextMap.add(notification->scriptExecutionContext(), Vector<String>()).iterator;
- it->value.append(notificationID);
-
- m_webPagePrivate->client()->showNotification(notificationID, notification->title(), notification->body(), notification->iconURL().string(), notification->tag(), notification->scriptExecutionContext()->securityOrigin()->toString());
- return true;
-}
-
-void NotificationManager::cancel(Notification* notification)
-{
- String notificationID = m_notificationMap.get(notification);
- if (!notificationID)
- return;
-
- m_webPagePrivate->client()->cancelNotification(notificationID);
-}
-
-void NotificationManager::clearNotifications(ScriptExecutionContext* context)
-{
- NotificationContextMap::iterator it = m_notificationContextMap.find(context);
- if (it == m_notificationContextMap.end())
- return;
-
- Vector<String>& notificationIDs = it->value;
- std::vector<BlackBerry::Platform::String> ids;
- size_t count = notificationIDs.size();
- for (size_t i = 0; i < count; ++i) {
- ids.push_back(notificationIDs[i]);
- RefPtr<Notification> notification = m_notificationIDMap.take(notificationIDs[i]);
- if (!notification)
- continue;
-
- notification->finalize();
- m_notificationMap.remove(notification);
- }
-
- m_webPagePrivate->client()->clearNotifications(ids);
- m_notificationContextMap.remove(it);
-}
-
-void NotificationManager::notificationObjectDestroyed(Notification* notification)
-{
- String notificationID = m_notificationMap.take(notification);
- if (!notificationID)
- return;
-
- m_notificationIDMap.remove(notificationID);
- removeNotificationFromContextMap(notificationID, notification);
- m_webPagePrivate->client()->notificationDestroyed(notificationID);
-}
-
-#if ENABLE(LEGACY_NOTIFICATIONS)
-void NotificationManager::requestPermission(ScriptExecutionContext* context, PassRefPtr<VoidCallback> callback)
-{
- SecurityOrigin* origin = context->securityOrigin();
- String requestID = createCanonicalUUIDString();
- m_originToIDMap.set(origin, requestID);
- m_idToOriginMap.set(requestID, origin);
- m_idToVoidCallbackMap.set(requestID, callback);
- m_webPagePrivate->client()->requestNotificationPermission(requestID, origin->toString());
-}
-#endif
-
-#if ENABLE(NOTIFICATIONS)
-void NotificationManager::requestPermission(ScriptExecutionContext* context, PassRefPtr<NotificationPermissionCallback> callback)
-{
- SecurityOrigin* origin = context->securityOrigin();
- String requestID = createCanonicalUUIDString();
- m_originToIDMap.set(origin, requestID);
- m_idToOriginMap.set(requestID, origin);
- m_idToCallbackMap.set(requestID, callback);
- m_webPagePrivate->client()->requestNotificationPermission(requestID, origin->toString());
-}
-#endif
-
-void NotificationManager::cancelRequestsForPermission(ScriptExecutionContext* context)
-{
- SecurityOrigin* origin = context->securityOrigin();
- String requestID = m_originToIDMap.take(origin);
- if (!requestID)
- return;
-
- m_idToOriginMap.remove(requestID);
-#if ENABLE(LEGACY_NOTIFICATIONS)
- m_idToVoidCallbackMap.remove(requestID);
-#endif
-#if ENABLE(NOTIFICATIONS)
- m_idToCallbackMap.remove(requestID);
-#endif
-}
-
-NotificationClient::Permission NotificationManager::checkPermission(ScriptExecutionContext* context)
-{
- return static_cast<NotificationClient::Permission>(m_webPagePrivate->client()->checkNotificationPermission(context->securityOrigin()->toString()));
-}
-
-void NotificationManager::updatePermission(const String& requestID, bool allowed)
-{
- RefPtr<WebCore::SecurityOrigin> origin = m_idToOriginMap.take(requestID);
- m_originToIDMap.remove(origin);
-
-#if ENABLE(LEGACY_NOTIFICATIONS)
- RefPtr<VoidCallback> voidCallback = m_idToVoidCallbackMap.take(requestID);
- if (voidCallback) {
- voidCallback->handleEvent();
- return;
- }
-#endif
-
-#if ENABLE(NOTIFICATIONS)
- RefPtr<NotificationPermissionCallback> callback = m_idToCallbackMap.take(requestID);
- if (!callback)
- return;
-
- callback->handleEvent(Notification::permissionString(allowed ? NotificationClient::PermissionAllowed : NotificationClient::PermissionDenied));
-#endif
-}
-
-void NotificationManager::notificationClicked(const String& notificationID)
-{
- RefPtr<Notification> notification = m_notificationIDMap.get(notificationID);
- if (!notification)
- return;
-
- // Indicate that this event is being dispatched in reaction to a user's interaction with a platform notification.
- UserGestureIndicator indicator(DefinitelyProcessingUserGesture);
- notification->dispatchClickEvent();
-}
-
-void NotificationManager::notificationClosed(const String& notificationID)
-{
- RefPtr<Notification> notification = m_notificationIDMap.take(notificationID);
- if (!notification)
- return;
-
- m_notificationMap.remove(notification);
- removeNotificationFromContextMap(notificationID, notification.get());
- notification->dispatchCloseEvent();
-}
-
-void NotificationManager::notificationError(const String& notificationID)
-{
- RefPtr<Notification> notification = m_notificationIDMap.take(notificationID);
- if (!notification)
- return;
-
- notification->dispatchErrorEvent();
-}
-
-void NotificationManager::notificationShown(const String& notificationID)
-{
- RefPtr<Notification> notification = m_notificationIDMap.get(notificationID);
- if (!notification)
- return;
-
- notification->dispatchShowEvent();
-}
-
-void NotificationManager::removeNotificationFromContextMap(const String& notificationID, Notification* notification)
-{
- // This is a helper function for managing the hash maps.
- NotificationContextMap::iterator it = m_notificationContextMap.find(notification->scriptExecutionContext());
- ASSERT(it != m_notificationContextMap.end());
- size_t index = it->value.find(notificationID);
- ASSERT(index != notFound);
- it->value.remove(index);
- if (it->value.isEmpty())
- m_notificationContextMap.remove(it);
-}
-
-}
-}
-
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
diff --git a/Source/WebKit/blackberry/WebKitSupport/NotificationManager.h b/Source/WebKit/blackberry/WebKitSupport/NotificationManager.h
deleted file mode 100644
index 76d0eb697..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/NotificationManager.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Apple Inc. All rights reserved.
- * Copyright (C) 2012 Research In Motion Limited. 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 INC. 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 INC. 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 NotificationManager_h
-#define NotificationManager_h
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#include "Notification.h"
-#include "NotificationClient.h"
-#include "NotificationPermissionCallback.h"
-#include "ScriptExecutionContext.h"
-#include "SecurityOrigin.h"
-#include "VoidCallback.h"
-#include <wtf/HashMap.h>
-#include <wtf/RefPtr.h>
-#include <wtf/Vector.h>
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-
-class NotificationManager {
-public:
- NotificationManager(WebPagePrivate*);
- ~NotificationManager();
-
- bool show(WebCore::Notification*);
- void cancel(WebCore::Notification*);
- void clearNotifications(WebCore::ScriptExecutionContext*);
- void notificationObjectDestroyed(WebCore::Notification*);
-#if ENABLE(LEGACY_NOTIFICATIONS)
- void requestPermission(WebCore::ScriptExecutionContext*, PassRefPtr<WebCore::VoidCallback>);
-#endif
-#if ENABLE(NOTIFICATIONS)
- void requestPermission(WebCore::ScriptExecutionContext*, PassRefPtr<WebCore::NotificationPermissionCallback>);
-#endif
- void cancelRequestsForPermission(WebCore::ScriptExecutionContext*);
- WebCore::NotificationClient::Permission checkPermission(WebCore::ScriptExecutionContext*);
-
- void updatePermission(const String& requestID, bool allowed);
-
- void notificationClicked(const String& notificationID);
- void notificationClosed(const String& notificationID);
- void notificationError(const String& notificationID);
- void notificationShown(const String& notificationID);
-
-private:
- void removeNotificationFromContextMap(const String& notificationID, WebCore::Notification*);
-
- WebPagePrivate* m_webPagePrivate;
- typedef HashMap<RefPtr<WebCore::Notification>, String> NotificationMap;
- NotificationMap m_notificationMap;
-
- typedef HashMap<String, RefPtr<WebCore::Notification> > NotificationIdMap;
- NotificationIdMap m_notificationIDMap;
-
- typedef HashMap<RefPtr<WebCore::ScriptExecutionContext>, Vector<String> > NotificationContextMap;
- NotificationContextMap m_notificationContextMap;
-
-#if ENABLE(NOTIFICATIONS)
- typedef HashMap<String, RefPtr<WebCore::NotificationPermissionCallback> > PermissionCallbackMap;
- PermissionCallbackMap m_idToCallbackMap;
-#endif
-#if ENABLE(LEGACY_NOTIFICATIONS)
- typedef HashMap<String, RefPtr<WebCore::VoidCallback> > VoidCallbackMap;
- VoidCallbackMap m_idToVoidCallbackMap;
-#endif
- typedef HashMap<RefPtr<WebCore::SecurityOrigin>, String> OriginMap;
- OriginMap m_originToIDMap;
-
- typedef HashMap<String, RefPtr<WebCore::SecurityOrigin> > OriginIdMap;
- OriginIdMap m_idToOriginMap;
-};
-
-}
-}
-
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#endif // NotificationManager_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/PagePopup.cpp b/Source/WebKit/blackberry/WebKitSupport/PagePopup.cpp
deleted file mode 100644
index 80b7b146a..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/PagePopup.cpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. 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
- * 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 "PagePopup.h"
-
-#include "DocumentLoader.h"
-#include "DocumentWriter.h"
-#include "EmptyClients.h"
-#include "FrameView.h"
-#include "JSDOMBinding.h"
-#include "JSDOMWindowBase.h"
-#include "JSObject.h"
-#include "JSRetainPtr.h"
-#include "KURL.h"
-#include "PagePopupClient.h"
-#include "Settings.h"
-#include "WebPage.h"
-#include "WebPage_p.h"
-#include <JavaScriptCore/API/JSCallbackObject.h>
-#include <JavaScriptCore/JSObjectRef.h>
-#include <JavaScriptCore/JSStringRef.h>
-#include <JavaScriptCore/JSValueRef.h>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-PagePopup::PagePopup(WebPagePrivate* webPage, PagePopupClient* client)
- : m_webPagePrivate(webPage)
- , m_client(adoptPtr(client))
-{
-}
-
-PagePopup::~PagePopup()
-{
-}
-
-void PagePopup::initialize(WebPage* webPage)
-{
- // Don't use backing store for the pop-up web page.
- webPage->settings()->setBackingStoreEnabled(false);
-
- webPage->d->setLoadState(WebPagePrivate::Committed);
-
- writeDocument(webPage->d->mainFrame()->loader()->activeDocumentLoader()->writer());
- installDOMFunction(webPage->d->mainFrame());
-
- webPage->d->setLoadState(WebPagePrivate::Finished);
- webPage->client()->notifyLoadFinished(0);
-}
-
-void PagePopup::writeDocument(DocumentWriter* writer)
-{
- ASSERT(writer);
- writer->setMIMEType("text/html");
- writer->begin(KURL());
-
- // All the popups have the same html head and the page content should be non-zoomable.
- StringBuilder source;
- // FIXME: the hardcoding padding will be removed soon.
- source.appendLiteral("<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\n");
- source.appendLiteral("<meta name=\"viewport\" content=\"user-scalable=no, width=device-width\" />\n");
- CString utf8Data = source.toString().utf8();
- writer->addData(utf8Data.data(), utf8Data.length());
-
- m_client->writeDocument(*writer);
- writer->end();
-}
-
-JSValueRef PagePopup::setValueAndClosePopupCallback(JSContextRef context, JSObjectRef, JSObjectRef, size_t argumentCount, const JSValueRef arguments[], JSValueRef*)
-{
- JSValueRef jsRetVal = JSValueMakeUndefined(context);
- if (argumentCount <= 0)
- return jsRetVal;
-
- JSRetainPtr<JSStringRef> string(Adopt, JSValueToStringCopy(context, arguments[0], 0));
- size_t sizeUTF8 = JSStringGetMaximumUTF8CStringSize(string.get());
- Vector<char> utf8String(sizeUTF8 + 1);
- utf8String[sizeUTF8] = 0;
- JSStringGetUTF8CString(string.get(), utf8String.data(), sizeUTF8);
- JSObjectRef popUpObject = JSValueToObject(context, arguments[argumentCount - 1], 0);
- PagePopup* pagePopup = static_cast<PagePopup*>(JSObjectGetPrivate(popUpObject));
- pagePopup->m_client->setValueAndClosePopup(String::fromUTF8(utf8String.data()));
-
- return jsRetVal;
-}
-
-static void popUpExtensionInitialize(JSContextRef context, JSObjectRef object)
-{
- UNUSED_PARAM(context);
- PagePopup* pagePopup = static_cast<PagePopup*>(JSObjectGetPrivate(object));
- pagePopup->ref();
-}
-
-static void popUpExtensionFinalize(JSObjectRef object)
-{
- PagePopup* pagePopup = static_cast<PagePopup*>(JSObjectGetPrivate(object));
- pagePopup->deref();
-}
-
-static JSStaticFunction popUpExtensionStaticFunctions[] =
-{
-{ 0, 0, 0 },
-{ 0, 0, 0 }
-};
-
-static JSStaticValue popUpExtensionStaticValues[] =
-{
-{ 0, 0, 0, 0 }
-};
-
-void PagePopup::installDOMFunction(Frame* frame)
-{
- JSDOMWindow* window = toJSDOMWindow(frame, mainThreadNormalWorld());
- ASSERT(window);
-
- JSC::ExecState* exec = window->globalExec();
- ASSERT(exec);
- JSC::JSLockHolder lock(exec);
-
- JSContextRef context = ::toRef(exec);
- JSObjectRef globalObject = JSContextGetGlobalObject(context);
- JSStringRef functionName = JSStringCreateWithUTF8CString("setValueAndClosePopup");
- JSObjectRef function = JSObjectMakeFunctionWithCallback(context, functionName, setValueAndClosePopupCallback);
- JSObjectSetProperty(context, globalObject, functionName, function, kJSPropertyAttributeDontDelete | kJSPropertyAttributeReadOnly, 0);
-
- // Register client into DOM
- JSClassDefinition definition = kJSClassDefinitionEmpty;
- definition.staticValues = popUpExtensionStaticValues;
- definition.staticFunctions = popUpExtensionStaticFunctions;
- definition.initialize = popUpExtensionInitialize;
- definition.finalize = popUpExtensionFinalize;
- JSClassRef clientClass = JSClassCreate(&definition);
-
- JSObjectRef clientClassObject = JSObjectMake(context, clientClass, this);
-
- String name("popUp");
-
- JSC::PutPropertySlot slot;
- window->put(window, exec, JSC::Identifier(exec, name), toJS(clientClassObject), slot);
-
- JSClassRelease(clientClass);
-}
-
-void PagePopup::close()
-{
- m_client->didClosePopup();
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/PagePopup.h b/Source/WebKit/blackberry/WebKitSupport/PagePopup.h
deleted file mode 100644
index 2a86f6a47..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/PagePopup.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. 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
- * 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 PagePopup_h
-#define PagePopup_h
-
-#include "IntRect.h"
-#include <wtf/RefCounted.h>
-#include <wtf/RefPtr.h>
-
-typedef const struct OpaqueJSContext* JSContextRef;
-typedef struct OpaqueJSValue* JSObjectRef;
-typedef const struct OpaqueJSValue* JSValueRef;
-
-namespace WebCore {
-class DocumentWriter;
-class Frame;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPage;
-class WebPagePrivate;
-class PagePopupClient;
-
-class PagePopup : public RefCounted<PagePopup> {
-public:
- static PassRefPtr<PagePopup> create(WebPagePrivate* webPagePrivate, PagePopupClient* client)
- {
- return adoptRef(new PagePopup(webPagePrivate, client));
- }
- ~PagePopup();
-
- void initialize(WebPage*);
- void close();
-
-private:
- PagePopup(WebPagePrivate*, PagePopupClient*);
-
- void writeDocument(WebCore::DocumentWriter*);
- void installDOMFunction(WebCore::Frame*);
-
- static JSValueRef setValueAndClosePopupCallback(JSContextRef, JSObjectRef, JSObjectRef, size_t argumentCount, const JSValueRef arguments[], JSValueRef*);
-
- WebPagePrivate* m_webPagePrivate;
- OwnPtr<PagePopupClient> m_client;
-};
-
-}
-}
-
-#endif // PagePopup_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/PagePopupClient.cpp b/Source/WebKit/blackberry/WebKitSupport/PagePopupClient.cpp
deleted file mode 100644
index 296b3669e..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/PagePopupClient.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2013 Research In Motion Limited. 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
- * 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 "PagePopupClient.h"
-
-#include "DocumentWriter.h"
-#include "IntRect.h"
-#include "WebPage_p.h"
-#include <BlackBerryPlatformString.h>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-PagePopupClient::PagePopupClient(WebPagePrivate* webPagePrivate)
- : m_webPagePrivate(webPagePrivate)
-{
-}
-
-void PagePopupClient::closePopup()
-{
- ASSERT(m_webPagePrivate);
- m_webPagePrivate->closePagePopup();
-}
-
-void PagePopupClient::didClosePopup()
-{
- m_webPagePrivate = 0;
-}
-
-IntSize PagePopupClient::contentSize()
-{
- // FIXME: will generate content size dynamically.
- return IntSize(320, 256);
-}
-
-void PagePopupClient::writeDocument(DocumentWriter& writer)
-{
- writer.addData(m_source.utf8().data(), m_source.utf8().length());
-}
-
-}
-}
-
diff --git a/Source/WebKit/blackberry/WebKitSupport/PagePopupClient.h b/Source/WebKit/blackberry/WebKitSupport/PagePopupClient.h
deleted file mode 100644
index 845c5f8da..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/PagePopupClient.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2013 Research In Motion Limited. 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
- * 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 PagePopupClient_h
-#define PagePopupClient_h
-
-#include "DocumentWriter.h"
-#include "IntRect.h"
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-class DocumentWriter;
-class HTMLInputElement;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-class WebPagePrivate;
-
-class PagePopupClient {
-public:
- virtual WebCore::IntSize contentSize();
-
- // Provide an HTML source through the specified DocumentWriter. The HTML
- // source is rendered in a PagePopup.
- // The content HTML supports:
- // - No <select> popups
- // - window.setValueAndClosePopup(number, string).
- virtual void writeDocument(WebCore::DocumentWriter&);
-
- // This is called by the content HTML of a PagePopup.
- // An implementation of this function should call closePopup().
- virtual void setValueAndClosePopup(const String& stringValue) = 0;
-
- // This is called whenever a PagePopup was closed.
- virtual void didClosePopup();
-
- virtual ~PagePopupClient() { }
-
-protected:
- PagePopupClient(WebPagePrivate*);
-
- // This is called by the content HTML of a PagePopup.
- virtual void closePopup();
-
- WebPagePrivate* m_webPagePrivate;
- String m_source;
-};
-
-}
-}
-
-#endif
diff --git a/Source/WebKit/blackberry/WebKitSupport/ProximityDetector.cpp b/Source/WebKit/blackberry/WebKitSupport/ProximityDetector.cpp
deleted file mode 100644
index b92be4e7b..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/ProximityDetector.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. All rights reserved.
- */
-
-#include "config.h"
-#include "ProximityDetector.h"
-
-#include "Document.h"
-#include "Element.h"
-#include "ExceptionCode.h"
-#include "HTMLNames.h"
-#include "HitTestResult.h"
-#include "RenderLayer.h"
-#include "RenderObject.h"
-#include "RenderView.h"
-#include "WebPage_p.h"
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-static int getPriorityLevel(Node* node)
-{
- // Priority level is ascending with zero being the lowest.
- if (node->isTextNode())
- return 1;
-
- if (!node->isElementNode())
- return 0;
-
- Element* element = toElement(node);
- ASSERT(element);
- ExceptionCode ec = 0;
-
- if (element->webkitMatchesSelector("img,obj", ec))
- return 1;
-
- if (element->hasTagName(HTMLNames::pTag))
- return 2;
-
- if (element->webkitMatchesSelector("h1,h2,h3,h4,h5,h6", ec))
- return 3;
-
- return 0;
-}
-
-ProximityDetector::ProximityDetector(WebPagePrivate* webPage)
- : m_webPage(webPage)
-{
-}
-
-ProximityDetector::~ProximityDetector()
-{
-}
-
-IntPoint ProximityDetector::findBestPoint(const IntPoint& documentPos, const IntRect& documentPaddingRect)
-{
- ASSERT(m_webPage);
-
- if (!m_webPage->m_mainFrame)
- return documentPos;
-
- Document* document = m_webPage->m_mainFrame->document();
-
- if (!document || !document->frame()->view())
- return documentPos;
-
- unsigned left = -documentPaddingRect.x();
- unsigned top = -documentPaddingRect.y();
- unsigned right = documentPaddingRect.maxX();
- unsigned bottom = documentPaddingRect.maxY();
-
- // Adjust hit point to frame
- IntPoint frameContentPos(document->frame()->view()->windowToContents(m_webPage->m_mainFrame->view()->contentsToWindow(documentPos)));
- HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::IgnoreClipping | HitTestRequest::DisallowShadowContent);
- HitTestResult result(frameContentPos, top, right, bottom, left);
- document->renderView()->layer()->hitTest(request, result);
-
- IntPoint bestPoint = documentPos;
- int bestPriority = 0;
-
- // Iterate over the list of nodes checking both priority and location
- ListHashSet<RefPtr<Node> > intersectedNodes = result.rectBasedTestResult();
- ListHashSet<RefPtr<Node> >::const_iterator it = intersectedNodes.begin();
- ListHashSet<RefPtr<Node> >::const_iterator end = intersectedNodes.end();
- for ( ; it != end; ++it) {
-
- Node* curNode = (*it).get();
- if (!curNode || !curNode->renderer())
- continue;
-
- IntRect curRect = curNode->renderer()->absoluteBoundingBoxRect(true /*use transforms*/);
- IntRect hitTestRect = HitTestLocation::rectForPoint(documentPos, top, right, bottom, left);
-
- // Check that top corner does not exceed padding
- if (!hitTestRect.contains(curRect.location()))
- continue;
-
- int priority = getPriorityLevel(curNode);
- if (!priority)
- continue;
-
- bool equalPriorityAndCloser = (priority == bestPriority) && (documentPos.distanceSquaredToPoint(bestPoint) > documentPos.distanceSquaredToPoint(curRect.location()));
- if (priority > bestPriority || equalPriorityAndCloser) {
- bestPoint = curRect.location(); // use top left
- bestPriority = priority;
- }
- }
-
- return bestPoint;
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/ProximityDetector.h b/Source/WebKit/blackberry/WebKitSupport/ProximityDetector.h
deleted file mode 100644
index 601de2052..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/ProximityDetector.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. All rights reserved.
- */
-
-#ifndef ProximityDetector_h
-#define ProximityDetector_h
-
-namespace WebCore {
-class IntPoint;
-class IntRect;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebPagePrivate;
-
-class ProximityDetector {
-public:
- ProximityDetector(WebPagePrivate* webpage);
- ~ProximityDetector();
-
- WebCore::IntPoint findBestPoint(const WebCore::IntPoint& documentPos, const WebCore::IntRect& documentPaddingRect);
-
-private:
- WebPagePrivate* m_webPage;
-};
-
-}
-}
-
-#endif // ProximityDetector_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp b/Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp
deleted file mode 100644
index 16b771809..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp
+++ /dev/null
@@ -1,894 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 "RenderQueue.h"
-
-#include "BackingStore_p.h"
-#include "SurfacePool.h"
-#include "WebPageClient.h"
-#include "WebPage_p.h"
-
-#include <wtf/NonCopyingSort.h>
-
-#define DEBUG_RENDER_QUEUE 0
-#define DEBUG_RENDER_QUEUE_SORT 0
-
-#if DEBUG_RENDER_QUEUE
-#include <BlackBerryPlatformLog.h>
-#include <wtf/CurrentTime.h>
-#endif
-
-namespace BlackBerry {
-namespace WebKit {
-
-template<SortDirection sortDirection>
-static inline int compareRectOneDirection(const TileIndex& t1, const TileIndex& t2)
-{
- switch (sortDirection) {
- case LeftToRight:
- return t1.i() - t2.i();
- case RightToLeft:
- return t2.i() - t1.i();
- case TopToBottom:
- return t1.j() - t2.j();
- case BottomToTop:
- return t2.j() - t1.j();
- default:
- break;
- }
- ASSERT_NOT_REACHED();
- return 0;
-}
-
-template<SortDirection primarySortDirection, SortDirection secondarySortDirection>
-static bool tileIndexIsLessThan(const TileIndex& t1, const TileIndex& t2)
-{
- int primaryResult = compareRectOneDirection<primarySortDirection>(t1, t2);
- if (primaryResult || secondarySortDirection == primarySortDirection)
- return primaryResult < 0;
- return compareRectOneDirection<secondarySortDirection>(t1, t2) < 0;
-}
-
-typedef bool (*FuncTileIndexLessThan)(const TileIndex& t1, const TileIndex& t2);
-static FuncTileIndexLessThan tileIndexLessThanFunction(SortDirection primary, SortDirection secondary)
-{
- static FuncTileIndexLessThan s_tileIndexLessThanFunctions[NumSortDirections][NumSortDirections] = { { 0 } };
- static bool s_initialized = false;
- if (!s_initialized) {
-#define ADD_COMPARE_FUNCTION(_primary, _secondary) \
- s_tileIndexLessThanFunctions[_primary][_secondary] = tileIndexIsLessThan<_primary, _secondary>
-
- ADD_COMPARE_FUNCTION(LeftToRight, LeftToRight);
- ADD_COMPARE_FUNCTION(LeftToRight, RightToLeft);
- ADD_COMPARE_FUNCTION(LeftToRight, TopToBottom);
- ADD_COMPARE_FUNCTION(LeftToRight, BottomToTop);
-
- ADD_COMPARE_FUNCTION(RightToLeft, LeftToRight);
- ADD_COMPARE_FUNCTION(RightToLeft, RightToLeft);
- ADD_COMPARE_FUNCTION(RightToLeft, TopToBottom);
- ADD_COMPARE_FUNCTION(RightToLeft, BottomToTop);
-
- ADD_COMPARE_FUNCTION(TopToBottom, LeftToRight);
- ADD_COMPARE_FUNCTION(TopToBottom, RightToLeft);
- ADD_COMPARE_FUNCTION(TopToBottom, TopToBottom);
- ADD_COMPARE_FUNCTION(TopToBottom, BottomToTop);
-
- ADD_COMPARE_FUNCTION(BottomToTop, LeftToRight);
- ADD_COMPARE_FUNCTION(BottomToTop, RightToLeft);
- ADD_COMPARE_FUNCTION(BottomToTop, TopToBottom);
- ADD_COMPARE_FUNCTION(BottomToTop, BottomToTop);
-#undef ADD_COMPARE_FUNCTION
-
- s_initialized = true;
- }
-
- return s_tileIndexLessThanFunctions[primary][secondary];
-}
-
-class TileIndexLessThan {
-public:
- TileIndexLessThan(SortDirection primarySortDirection, SortDirection secondarySortDirection)
- : m_tileIndexIsLessThan(tileIndexLessThanFunction(primarySortDirection, secondarySortDirection))
- {
- }
-
- bool operator()(const TileIndex& t1, const TileIndex& t2)
- {
- return m_tileIndexIsLessThan(t1, t2);
- }
-
-private:
- FuncTileIndexLessThan m_tileIndexIsLessThan;
-};
-
-RenderQueue::RenderQueue(BackingStorePrivate* parent)
- : m_parent(parent)
- , m_rectsAddedToRegularRenderJobsInCurrentCycle(false)
- , m_currentRegularRenderJobsBatchUnderPressure(false)
- , m_primarySortDirection(TopToBottom)
- , m_secondarySortDirection(LeftToRight)
-{
-}
-
-void RenderQueue::reset()
-{
- m_rectsAddedToRegularRenderJobsInCurrentCycle = false;
- m_currentRegularRenderJobsBatchUnderPressure = false;
- m_primarySortDirection = TopToBottom;
- m_secondarySortDirection = LeftToRight;
- m_visibleZoomJobs.clear();
- m_visibleZoomJobsCompleted.clear();
- m_visibleScrollJobs.clear();
- m_visibleScrollJobsCompleted.clear();
- m_nonVisibleScrollJobs.clear();
- m_nonVisibleScrollJobsCompleted.clear();
- m_regularRenderJobsRegion = Platform::IntRectRegion();
- m_currentRegularRenderJobsBatch.clear();
- m_currentRegularRenderJobsBatchRegion = Platform::IntRectRegion();
- m_regularRenderJobsNotRenderedRegion = Platform::IntRectRegion();
- ASSERT(isEmpty());
-}
-
-bool RenderQueue::isEmpty(bool shouldPerformRegularRenderJobs) const
-{
- return m_visibleZoomJobs.isEmpty() && m_visibleScrollJobs.isEmpty()
- && (!shouldPerformRegularRenderJobs || m_currentRegularRenderJobsBatch.isEmpty())
- && (!shouldPerformRegularRenderJobs || m_regularRenderJobsRegion.isEmpty())
- && m_nonVisibleScrollJobs.isEmpty();
-}
-
-bool RenderQueue::hasCurrentRegularRenderJob() const
-{
- return !m_currentRegularRenderJobsBatch.isEmpty() || !m_regularRenderJobsRegion.isEmpty();
-}
-
-bool RenderQueue::hasCurrentVisibleZoomJob() const
-{
- return !m_visibleZoomJobs.isEmpty();
-}
-
-bool RenderQueue::hasCurrentVisibleScrollJob() const
-{
- return !m_visibleScrollJobs.isEmpty();
-}
-
-bool RenderQueue::isCurrentVisibleZoomJob(const TileIndex& index) const
-{
- return m_visibleZoomJobs.contains(index);
-}
-
-bool RenderQueue::isCurrentVisibleZoomJobCompleted(const TileIndex& index) const
-{
- return m_visibleZoomJobsCompleted.contains(index);
-}
-
-bool RenderQueue::isCurrentVisibleScrollJob(const TileIndex& index) const
-{
- return m_visibleScrollJobs.contains(index);
-}
-
-bool RenderQueue::isCurrentVisibleScrollJobCompleted(const TileIndex& index) const
-{
- return m_visibleScrollJobsCompleted.contains(index);
-}
-
-bool RenderQueue::isCurrentRegularRenderJob(const TileIndex& index, BackingStoreGeometry* geometry) const
-{
- Platform::IntRect tileRect(geometry->originOfTile(index), m_parent->tileSize());
- Platform::IntRectRegion::IntersectionState regularJobsState = m_regularRenderJobsRegion.isRectInRegion(tileRect);
- Platform::IntRectRegion::IntersectionState currentRegularJobsState = m_currentRegularRenderJobsBatchRegion.isRectInRegion(tileRect);
-
- return regularJobsState == Platform::IntRectRegion::ContainedInRegion
- || regularJobsState == Platform::IntRectRegion::PartiallyContainedInRegion
- || currentRegularJobsState == Platform::IntRectRegion::ContainedInRegion
- || currentRegularJobsState == Platform::IntRectRegion::PartiallyContainedInRegion;
-}
-
-bool RenderQueue::currentRegularRenderJobBatchUnderPressure() const
-{
- return m_currentRegularRenderJobsBatchUnderPressure;
-}
-
-void RenderQueue::setCurrentRegularRenderJobBatchUnderPressure(bool currentRegularRenderJobsBatchUnderPressure)
-{
- m_currentRegularRenderJobsBatchUnderPressure = currentRegularRenderJobsBatchUnderPressure;
-}
-
-void RenderQueue::eventQueueCycled()
-{
- // Called by the backing store when the event queue has cycled to allow the
- // render queue to determine if the regular render jobs are under pressure.
- if (m_rectsAddedToRegularRenderJobsInCurrentCycle && m_currentRegularRenderJobsBatchRegion.isEmpty())
- m_currentRegularRenderJobsBatchUnderPressure = true;
- m_rectsAddedToRegularRenderJobsInCurrentCycle = false;
-}
-
-TileIndexList RenderQueue::tileIndexesIntersectingRegion(const Platform::IntRectRegion& region, BackingStoreGeometry* geometry) const
-{
- TileIndexList indexes;
- TileIndexList allIndexes = m_parent->indexesForBackingStoreRect(geometry->backingStoreRect());
-
- for (size_t i = 0; i < allIndexes.size(); ++i) {
- Platform::IntRect tileRect(geometry->originOfTile(allIndexes[i]), m_parent->tileSize());
- Platform::IntRectRegion::IntersectionState state = region.isRectInRegion(tileRect);
- if (state == Platform::IntRectRegion::ContainedInRegion || state == Platform::IntRectRegion::PartiallyContainedInRegion)
- indexes.append(allIndexes[i]);
- }
- return indexes;
-}
-
-TileIndexList RenderQueue::tileIndexesFullyContainedInRegion(const Platform::IntRectRegion& region, BackingStoreGeometry* geometry) const
-{
- TileIndexList indexes;
- TileIndexList allIndexes = m_parent->indexesForBackingStoreRect(geometry->backingStoreRect());
-
- for (size_t i = 0; i < allIndexes.size(); ++i) {
- Platform::IntRect tileRect(geometry->originOfTile(allIndexes[i]), m_parent->tileSize());
- Platform::IntRectRegion::IntersectionState state = region.isRectInRegion(tileRect);
- if (state == Platform::IntRectRegion::ContainedInRegion)
- indexes.append(allIndexes[i]);
- }
- return indexes;
-}
-
-Platform::IntRectRegion RenderQueue::tileRegion(const TileIndexList& indexes, BackingStoreGeometry* geometry) const
-{
- Platform::IntRectRegion region;
-
- // Chances are the tiles comprise a perfect rectangle. If we add rectangles
- // row by row or column by column, IntRectRegion should have an easier time
- // merging them as the individual rows or columns will merge into another
- // plain rectangle.
- Platform::IntRectRegion currentRowOrColumnRegion;
- size_t lastI = 0;
- size_t lastJ = 0;
-
- for (size_t i = 0; i < indexes.size(); ++i) {
- Platform::IntRect tileRect(geometry->originOfTile(indexes[i]), m_parent->tileSize());
- bool extendsCurrentRowOrColumn = i && (lastI == indexes[i].i() || lastJ == indexes[i].j());
-
- if (extendsCurrentRowOrColumn)
- currentRowOrColumnRegion = Platform::IntRectRegion::unionRegions(currentRowOrColumnRegion, tileRect);
- else {
- region = Platform::IntRectRegion::unionRegions(region, currentRowOrColumnRegion);
- currentRowOrColumnRegion = tileRect;
- }
- lastI = indexes[i].i();
- lastJ = indexes[i].j();
- }
-
- return Platform::IntRectRegion::unionRegions(region, currentRowOrColumnRegion);
-}
-
-void RenderQueue::addToQueue(JobType type, const Platform::IntRectRegion& region)
-{
- if (type == RegularRender) {
- // Flag that we added rects in the current event queue cycle.
- m_rectsAddedToRegularRenderJobsInCurrentCycle = true;
-
- // We try and detect if this newly added region intersects or is contained in the currently running
- // batch of render jobs. If so, then we have to start the batch over since we decompose individual
- // rects into subrects and might have already rendered one of them. If the web page's content has
- // changed state then this can lead to artifacts. We mark this by noting the batch is now under pressure
- // and the backingstore will attempt to clear it at the next available opportunity.
- std::vector<Platform::IntRect> rectsInRegion = region.rects();
- for (size_t i = 0; i < rectsInRegion.size(); ++i) {
- Platform::IntRectRegion::IntersectionState state = m_currentRegularRenderJobsBatchRegion.isRectInRegion(rectsInRegion[i]);
- if (state == Platform::IntRectRegion::ContainedInRegion || state == Platform::IntRectRegion::PartiallyContainedInRegion) {
- m_regularRenderJobsRegion = Platform::IntRectRegion::unionRegions(m_regularRenderJobsRegion, m_currentRegularRenderJobsBatchRegion);
- m_currentRegularRenderJobsBatch.clear();
- m_currentRegularRenderJobsBatchRegion = Platform::IntRectRegion();
- m_currentRegularRenderJobsBatchUnderPressure = true;
- }
- }
- addToRegularQueue(region);
- return;
- }
-
- TileIndexList indexes = tileIndexesIntersectingRegion(region, m_parent->frontState());
-
- switch (type) {
- case VisibleZoom:
- addToScrollZoomQueue(indexes, &m_visibleZoomJobs);
- return;
- case VisibleScroll:
- addToScrollZoomQueue(indexes, &m_visibleScrollJobs);
- return;
- case NonVisibleScroll:
- addToScrollZoomQueue(indexes, &m_nonVisibleScrollJobs);
- return;
- default:
- ASSERT_NOT_REACHED();
- }
-}
-
-void RenderQueue::addToRegularQueue(const Platform::IntRectRegion& region)
-{
-#if DEBUG_RENDER_QUEUE
- std::vector<Platform::IntRect> rectsInRegion = region.rects();
- for (size_t i = 0; i < rectsInRegion.size(); ++i) {
- if (m_regularRenderJobsRegion.isRectInRegion(rectsInRegion[i]) != Platform::IntRectRegion::ContainedInRegion) {
- Platform::logAlways(Platform::LogLevelCritical,
- "RenderQueue::addToRegularQueue region within %s",
- region.extents().toString().c_str());
- break;
- }
- }
-#endif
-
- m_regularRenderJobsRegion = Platform::IntRectRegion::unionRegions(m_regularRenderJobsRegion, region);
-
- // Do not let the regular render queue grow past a maximum of 3 disjoint rects.
- if (m_regularRenderJobsRegion.numRects() > 2)
- m_regularRenderJobsRegion = m_regularRenderJobsRegion.extents();
-
- if (!isEmpty())
- m_parent->dispatchRenderJob();
-}
-
-void RenderQueue::addToScrollZoomQueue(const TileIndexList& addedTiles, TileIndexList* alreadyQueuedTiles)
-{
- Platform::IntRect contentsRect = m_parent->expandedContentsRect();
- for (size_t i = 0; i < addedTiles.size(); ++i) {
- if (alreadyQueuedTiles->contains(addedTiles[i]))
- continue;
-
- Platform::IntRect tileRect(m_parent->frontState()->originOfTile(addedTiles[i]), m_parent->tileSize());
- if (!contentsRect.intersects(tileRect)) {
-#if DEBUG_RENDER_QUEUE
- Platform::logAlways(Platform::LogLevelCritical,
- "RenderQueue::addToScrollZoomQueue tile at %s outside of expanded contents rect %s, ignoring.",
- tileRect.toString().c_str(),
- contentsRect.toString().c_str());
-#endif
- continue;
- }
-
-#if DEBUG_RENDER_QUEUE
- Platform::logAlways(Platform::LogLevelCritical,
- "RenderQueue::addToScrollZoomQueue tile at %s",
- m_parent->frontState()->originOfTile(addedTiles[i]).toString().c_str());
-#endif
- alreadyQueuedTiles->append(addedTiles[i]);
- }
-
- if (!isEmpty())
- m_parent->dispatchRenderJob();
-}
-
-void RenderQueue::quickSort(TileIndexList* queue)
-{
- size_t length = queue->size();
- if (!length)
- return;
-
- WTF::nonCopyingSort(queue->begin(), queue->end(), TileIndexLessThan(m_primarySortDirection, m_secondarySortDirection));
-}
-
-void RenderQueue::updateSortDirection(int lastDeltaX, int lastDeltaY)
-{
- bool primaryIsHorizontal = abs(lastDeltaX) >= abs(lastDeltaY);
- if (primaryIsHorizontal) {
- m_primarySortDirection = lastDeltaX <= 0 ? LeftToRight : RightToLeft;
- m_secondarySortDirection = lastDeltaY <= 0 ? TopToBottom : BottomToTop;
- } else {
- m_primarySortDirection = lastDeltaY <= 0 ? TopToBottom : BottomToTop;
- m_secondarySortDirection = lastDeltaX <= 0 ? LeftToRight : RightToLeft;
- }
-}
-
-void RenderQueue::visibleContentChanged(const Platform::IntRect& visibleContent)
-{
- if (m_visibleScrollJobs.isEmpty() && m_nonVisibleScrollJobs.isEmpty()) {
- ASSERT(m_visibleScrollJobsCompleted.isEmpty() && m_nonVisibleScrollJobsCompleted.isEmpty());
- return;
- }
-
- TileIndexList visibleTiles = tileIndexesIntersectingRegion(visibleContent, m_parent->frontState());
-
- // Move visibleScrollJobs to nonVisibleScrollJobs if they do not intersect
- // the visible content rect.
- for (size_t i = 0; i < m_visibleScrollJobs.size(); ++i) {
- if (!visibleTiles.contains(m_visibleScrollJobs[i])) {
- ASSERT(!m_nonVisibleScrollJobs.contains(m_visibleScrollJobs[i]));
- m_nonVisibleScrollJobs.append(m_visibleScrollJobs[i]);
- m_visibleScrollJobs.remove(i);
- --i;
- }
- }
-
- // Do the same for the completed list.
- for (size_t i = 0; i < m_visibleScrollJobsCompleted.size(); ++i) {
- if (!visibleTiles.contains(m_visibleScrollJobsCompleted[i])) {
- ASSERT(!m_nonVisibleScrollJobsCompleted.contains(m_visibleScrollJobsCompleted[i]));
- m_nonVisibleScrollJobsCompleted.append(m_visibleScrollJobsCompleted[i]);
- m_visibleScrollJobsCompleted.remove(i);
- --i;
- }
- }
-
- // Move nonVisibleScrollJobs to visibleScrollJobs if they do intersect
- // the visible content rect.
- for (size_t i = 0; i < m_nonVisibleScrollJobs.size(); ++i) {
- if (visibleTiles.contains(m_nonVisibleScrollJobs[i])) {
- ASSERT(!m_visibleScrollJobs.contains(m_nonVisibleScrollJobs[i]));
- m_visibleScrollJobs.append(m_nonVisibleScrollJobs[i]);
- m_nonVisibleScrollJobs.remove(i);
- --i;
- }
- }
-
- // Do the same for the completed list.
- for (size_t i = 0; i < m_nonVisibleScrollJobsCompleted.size(); ++i) {
- if (visibleTiles.contains(m_nonVisibleScrollJobsCompleted[i])) {
- ASSERT(!m_visibleScrollJobsCompleted.contains(m_nonVisibleScrollJobsCompleted[i]));
- m_visibleScrollJobsCompleted.append(m_nonVisibleScrollJobsCompleted[i]);
- m_nonVisibleScrollJobsCompleted.remove(i);
- --i;
- }
- }
-
- if (m_visibleScrollJobs.isEmpty() && !m_visibleScrollJobsCompleted.isEmpty())
- scrollZoomJobsCompleted(m_visibleScrollJobs, &m_visibleScrollJobsCompleted, false /*shouldBlit*/);
-
- if (m_nonVisibleScrollJobs.isEmpty() && !m_nonVisibleScrollJobsCompleted.isEmpty())
- scrollZoomJobsCompleted(m_nonVisibleScrollJobs, &m_nonVisibleScrollJobsCompleted, false /*shouldBlit*/);
-
- // We shouldn't be empty because the early return above and the fact that this
- // method just shuffles rects from queue to queue hence the total number of
- // rects in the various queues should be conserved.
- ASSERT(!isEmpty());
-}
-
-void RenderQueue::backingStoreRectChanging(const Platform::IntRect&, const Platform::IntRect&)
-{
- // We could empty them here instead of in BackingStorePrivate::setBackingStoreRect(),
- // but it seems cleaner to do it there and still avoid code to manually move them.
- ASSERT(m_visibleZoomJobs.isEmpty());
- ASSERT(m_visibleZoomJobsCompleted.isEmpty());
- ASSERT(m_visibleScrollJobs.isEmpty());
- ASSERT(m_visibleScrollJobsCompleted.isEmpty());
- ASSERT(m_nonVisibleScrollJobs.isEmpty());
- ASSERT(m_nonVisibleScrollJobsCompleted.isEmpty());
-
- // Empty the tile-based current batch and merge its remaining region with
- // the one from other upcoming regular render jobs. We'll pick all of them
- // up next time renderRegularRenderJobs() is called.
- m_regularRenderJobsRegion = Platform::IntRectRegion::unionRegions(m_regularRenderJobsRegion, m_currentRegularRenderJobsBatchRegion);
- m_currentRegularRenderJobsBatchRegion = Platform::IntRectRegion();
- m_currentRegularRenderJobsBatch.clear();
-}
-
-void RenderQueue::clear(const Platform::IntRectRegion& region, ClearJobsFlags clearJobsFlags)
-{
- clearRegions(region, clearJobsFlags);
- clearTileIndexes(tileIndexesFullyContainedInRegion(region, m_parent->frontState()), clearJobsFlags);
-}
-
-void RenderQueue::clear(const TileIndexList& indexes, BackingStoreGeometry* geometry, ClearJobsFlags clearJobsFlags)
-{
- clearRegions(tileRegion(indexes, geometry), clearJobsFlags);
- clearTileIndexes(indexes, clearJobsFlags);
-}
-
-void RenderQueue::clearRegions(const Platform::IntRectRegion& region, ClearJobsFlags clearJobsFlags)
-{
- if (clearJobsFlags & ClearRegularRenderJobs) {
- m_regularRenderJobsRegion = Platform::IntRectRegion::subtractRegions(m_regularRenderJobsRegion, region);
- m_currentRegularRenderJobsBatchRegion = Platform::IntRectRegion::subtractRegions(m_currentRegularRenderJobsBatchRegion, region);
- m_regularRenderJobsNotRenderedRegion = Platform::IntRectRegion::subtractRegions(m_regularRenderJobsNotRenderedRegion, region);
- }
-}
-
-void RenderQueue::clearTileIndexes(const TileIndexList& indexes, ClearJobsFlags clearJobsFlags)
-{
- if (m_visibleScrollJobs.isEmpty() && m_nonVisibleScrollJobs.isEmpty())
- ASSERT(m_visibleScrollJobsCompleted.isEmpty() && m_nonVisibleScrollJobsCompleted.isEmpty());
-
- // Remove all indexes from all queues that are being marked as cleared.
- if (clearJobsFlags & ClearIncompleteZoomJobs) {
- for (size_t i = 0; i < m_visibleZoomJobs.size(); ++i) {
- if (indexes.contains(m_visibleZoomJobs.at(i))) {
- m_visibleZoomJobs.remove(i);
- --i;
- }
- }
- }
-
- if (clearJobsFlags & ClearIncompleteScrollJobs) {
- for (size_t i = 0; i < m_visibleScrollJobs.size(); ++i) {
- if (indexes.contains(m_visibleScrollJobs.at(i))) {
- m_visibleScrollJobs.remove(i);
- --i;
- }
- }
-
- for (size_t i = 0; i < m_nonVisibleScrollJobs.size(); ++i) {
- if (indexes.contains(m_nonVisibleScrollJobs.at(i))) {
- m_nonVisibleScrollJobs.remove(i);
- --i;
- }
- }
- }
-
- if (clearJobsFlags & ClearCompletedJobs) {
- for (size_t i = 0; i < m_visibleZoomJobsCompleted.size(); ++i) {
- if (indexes.contains(m_visibleZoomJobsCompleted.at(i))) {
- m_visibleZoomJobsCompleted.remove(i);
- --i;
- }
- }
-
- for (size_t i = 0; i < m_visibleScrollJobsCompleted.size(); ++i) {
- if (indexes.contains(m_visibleScrollJobsCompleted.at(i))) {
- m_visibleScrollJobsCompleted.remove(i);
- --i;
- }
- }
-
- for (size_t i = 0; i < m_nonVisibleScrollJobsCompleted.size(); ++i) {
- if (indexes.contains(m_nonVisibleScrollJobsCompleted.at(i))) {
- m_nonVisibleScrollJobsCompleted.remove(i);
- --i;
- }
- }
- }
-
- if (clearJobsFlags & ClearRegularRenderJobs) {
- for (size_t i = 0; i < m_currentRegularRenderJobsBatch.size(); ++i) {
- if (indexes.contains(m_currentRegularRenderJobsBatch.at(i))) {
- m_currentRegularRenderJobsBatch.remove(i);
- --i;
- }
- }
- }
-
- if (m_visibleZoomJobs.isEmpty() && !m_visibleZoomJobsCompleted.isEmpty())
- scrollZoomJobsCompleted(m_visibleZoomJobs, &m_visibleZoomJobsCompleted, false /*shouldBlit*/);
-
- if (m_visibleScrollJobs.isEmpty() && !m_visibleScrollJobsCompleted.isEmpty())
- scrollZoomJobsCompleted(m_visibleScrollJobs, &m_visibleScrollJobsCompleted, false /*shouldBlit*/);
-
- if (m_nonVisibleScrollJobs.isEmpty() && !m_nonVisibleScrollJobsCompleted.isEmpty())
- scrollZoomJobsCompleted(m_nonVisibleScrollJobs, &m_nonVisibleScrollJobsCompleted, false /*shouldBlit*/);
-}
-
-bool RenderQueue::regularRenderJobsPreviouslyAttemptedButNotRendered(const Platform::IntRect& rect)
-{
- return m_regularRenderJobsNotRenderedRegion.isRectInRegion(rect) != Platform::IntRectRegion::NotInRegion;
-}
-
-void RenderQueue::render(bool shouldPerformRegularRenderJobs)
-{
- // We request a layout here to ensure that we're executing jobs in the correct
- // order. If we didn't request a layout here then the jobs below could result
- // in a layout and that layout can alter this queue. So request layout if needed
- // to ensure that the queues below are in constant state before performing the
- // next rendering job.
-
-#if DEBUG_RENDER_QUEUE
- // Start the time measurement.
- double time = WTF::currentTime();
-#endif
-
- m_parent->requestLayoutIfNeeded();
- m_parent->updateTileMatrixIfNeeded();
-
-#if DEBUG_RENDER_QUEUE
- double elapsed = WTF::currentTime() - time;
- if (elapsed)
- Platform::logAlways(Platform::LogLevelCritical, "RenderQueue::render layout elapsed=%f", elapsed);
-#endif
-
- // Empty the queues in a precise order of priority.
- if (!m_visibleZoomJobs.isEmpty())
- renderScrollZoomJobs(&m_visibleZoomJobs, &m_visibleZoomJobsCompleted, true /*allAtOnceIfPossible*/, true /*shouldBlitWhenCompleted*/);
- else if (!m_visibleScrollJobs.isEmpty())
- renderScrollZoomJobs(&m_visibleScrollJobs, &m_visibleScrollJobsCompleted, false /*allAtOnceIfPossible*/, true /*shouldBlitWhenCompleted*/);
- else if (shouldPerformRegularRenderJobs && (!m_currentRegularRenderJobsBatch.isEmpty() || !m_regularRenderJobsRegion.isEmpty())) {
- bool allAtOnceIfPossible = currentRegularRenderJobBatchUnderPressure();
- renderRegularRenderJobs(allAtOnceIfPossible);
- } else if (!m_nonVisibleScrollJobs.isEmpty())
- renderScrollZoomJobs(&m_nonVisibleScrollJobs, &m_nonVisibleScrollJobsCompleted, false /*allAtOnceIfPossible*/, false /*shouldBlitWhenCompleted*/);
-}
-
-void RenderQueue::renderRegularRenderJobs(bool allAtOnceIfPossible)
-{
-#if DEBUG_RENDER_QUEUE
- // Start the time measurement.
- double time = WTF::currentTime();
-#endif
-
- ASSERT(!m_currentRegularRenderJobsBatch.isEmpty() || !m_regularRenderJobsRegion.isEmpty());
-
- if (allAtOnceIfPossible && !m_currentRegularRenderJobsBatchRegion.isEmpty()) {
- // If there is a current batch of jobs already, merge it back into the
- // whole area so that we will pick up all of it for the next run.
- m_regularRenderJobsRegion = Platform::IntRectRegion::unionRegions(m_regularRenderJobsRegion, m_currentRegularRenderJobsBatchRegion);
-
- // Clear this since we're about to render everything.
- m_currentRegularRenderJobsBatchRegion = Platform::IntRectRegion();
- m_currentRegularRenderJobsBatch.clear();
- }
-
- Platform::IntRect contentsRect = m_parent->expandedContentsRect();
-
- // Start new batch if needed.
- if (m_currentRegularRenderJobsBatchRegion.isEmpty()) {
- // Don't try to render anything outside the whole contents rectangle.
- m_regularRenderJobsRegion = Platform::IntRectRegion::intersectRegions(m_regularRenderJobsRegion, contentsRect);
-
- // Split the current regular render job region into tiles.
- // Discard regions outside of the region covered by these tiles.
- // They'll be rendered when the geometry changes.
- m_regularRenderJobsRegion = Platform::IntRectRegion::intersectRegions(m_regularRenderJobsRegion, m_parent->frontState()->backingStoreRect());
- m_currentRegularRenderJobsBatch = tileIndexesIntersectingRegion(m_regularRenderJobsRegion, m_parent->frontState());
-
- // Create a region object that will be checked when adding new rects before
- // this batch has been completed.
- m_currentRegularRenderJobsBatchRegion = m_regularRenderJobsRegion;
-
- // Clear the former region since it is now part of this batch.
- m_regularRenderJobsRegion = Platform::IntRectRegion();
-
-#if DEBUG_RENDER_QUEUE
- Platform::logAlways(Platform::LogLevelCritical,
- "RenderQueue::renderRegularRenderJobs batch size is %d!",
- m_currentRegularRenderJobsBatch.size());
-#endif
- }
-
- Platform::IntRectRegion changingRegion = m_currentRegularRenderJobsBatchRegion;
- Platform::IntRectRegion changingRegionScheduledForLater = m_regularRenderJobsRegion;
- Platform::IntRectRegion regionNotRenderedThisTime;
-
- TileIndexList* outstandingJobs = &m_currentRegularRenderJobsBatch;
- TileIndexList completedJobs;
- TileIndexList tilesToRender;
-
- unsigned numberOfAvailableBackBuffers = SurfacePool::globalSurfacePool()->numberOfAvailableBackBuffers();
-
- while (!outstandingJobs->isEmpty() && numberOfAvailableBackBuffers) {
- // Render as many tiles at once as we can handle.
- for (size_t i = 0; i < outstandingJobs->size() && numberOfAvailableBackBuffers; ++i) {
- TileIndex index = (*outstandingJobs)[i];
-
- BackingStoreGeometry* geometry = m_parent->frontState();
- Platform::IntRect tileRect(geometry->originOfTile(index), m_parent->tileSize());
-
- if (!contentsRect.intersects(tileRect)) {
- // This is a safety fallback, at this point we should only
- // encounter tiles outside of the contents rect if we're in
- // a second run of the same batch and the contents size has
- // changed since the last run. Otherwise, see the cropping above.
-#if DEBUG_RENDER_QUEUE
- Platform::logAlways(Platform::LogLevelCritical,
- "RenderQueue::renderRegularRenderJobs tile at %s outside of expanded contents rect %s, ignoring.",
- tileRect.toString().c_str(),
- contentsRect.toString().c_str());
-#endif
- outstandingJobs->remove(i);
- --i;
- m_currentRegularRenderJobsBatchRegion = Platform::IntRectRegion::intersectRegions(m_currentRegularRenderJobsBatchRegion, contentsRect);
- continue;
- }
-
- if (m_parent->shouldSuppressNonVisibleRegularRenderJobs()) {
- // If a tile is not visible, remember it as not rendered to be
- // picked up later by updateTilesForScrollOrNotRenderedRegion()
- // or updateTilesAfterBackingStoreRectChange().
- Platform::IntRectRegion tileRegionNotRendered;
-
- if (!m_parent->isTileVisible(index, geometry)) {
- tileRegionNotRendered = Platform::IntRectRegion::intersectRegions(tileRect, m_currentRegularRenderJobsBatchRegion);
- regionNotRenderedThisTime = Platform::IntRectRegion::unionRegions(regionNotRenderedThisTime, tileRegionNotRendered);
- }
-
- if (!tileRegionNotRendered.isEmpty()) {
-#if DEBUG_RENDER_QUEUE
- Platform::logAlways(Platform::LogLevelCritical,
- "RenderQueue::renderRegularRenderJobs region within %s not completely rendered!",
- tileRegionNotRendered.extents().toString().c_str());
-#endif
- outstandingJobs->remove(i);
- --i;
- continue;
- }
- }
-
- tilesToRender.append(index);
- --numberOfAvailableBackBuffers;
- }
-
- if (tilesToRender.isEmpty())
- break;
-
- // This will also clear the rendered tiles in outstandingJobs.
- TileIndexList renderedTiles = m_parent->render(tilesToRender);
-
- // Update number of available back buffers now that we've used them.
- numberOfAvailableBackBuffers = SurfacePool::globalSurfacePool()->numberOfAvailableBackBuffers();
-
- ASSERT(!renderedTiles.isEmpty());
- if (renderedTiles.isEmpty()) {
-#if DEBUG_RENDER_QUEUE
- Platform::logAlways(Platform::LogLevelCritical,
- "RenderQueue::renderRegularRenderJobs no tiles rendered (%d attempted), available back buffers: %d",
- tilesToRender.size(),
- numberOfAvailableBackBuffers);
-#endif
- break; // Something bad happened, make sure not to try again for now.
- }
-
- for (size_t i = 0; i < renderedTiles.size(); ++i) {
- if (!completedJobs.contains(renderedTiles[i]))
- completedJobs.append(renderedTiles[i]);
- }
-
- if (!allAtOnceIfPossible)
- break; // We can do the rest next time.
- }
-
- const Platform::IntRectRegion renderedRegion = tileRegion(completedJobs, m_parent->frontState());
-
- m_regularRenderJobsNotRenderedRegion = Platform::IntRectRegion::unionRegions(m_regularRenderJobsNotRenderedRegion, regionNotRenderedThisTime);
- m_currentRegularRenderJobsBatchRegion = Platform::IntRectRegion::subtractRegions(m_currentRegularRenderJobsBatchRegion, regionNotRenderedThisTime);
-
-#if DEBUG_RENDER_QUEUE
- // Stop the time measurement.
- double elapsed = WTF::currentTime() - time;
- Platform::logAlways(Platform::LogLevelCritical,
- "RenderQueue::renderRegularRenderJobs within %s: completed = %d, outstanding = %d, elapsed=%f",
- changingRegion.extents().toString().c_str(),
- completedJobs.size(),
- outstandingJobs->size(),
- elapsed);
-#endif
-
- // Make sure we didn't alter state of the queues that should have been empty
- // before this method was called.
- ASSERT(m_visibleZoomJobs.isEmpty());
- ASSERT(m_visibleScrollJobs.isEmpty());
-
- if (m_currentRegularRenderJobsBatchRegion.isEmpty()) {
- // If the whole scheduled area has been rendered, all outstanding jobs
- // should have been cleared as well.
- ASSERT(outstandingJobs->isEmpty());
- m_currentRegularRenderJobsBatchUnderPressure = false;
-
- // Notify about the newly rendered content.
- // In case we picked up an unfinished batch from before, because we
- // paint a larger area it's possible that we also rendered other
- // regions that were originally scheduled for later.
- Platform::IntRectRegion wholeScheduledRegion = Platform::IntRectRegion::unionRegions(changingRegion, changingRegionScheduledForLater);
- Platform::IntRectRegion renderedChangedRegion = Platform::IntRectRegion::intersectRegions(wholeScheduledRegion, renderedRegion);
-
- // Blit since this batch is now complete.
- m_parent->didRenderContent(renderedChangedRegion);
- }
-
- if (m_parent->shouldSuppressNonVisibleRegularRenderJobs() && !regionNotRenderedThisTime.isEmpty())
- m_parent->updateTilesForScrollOrNotRenderedRegion(false /*checkLoading*/);
-}
-
-void RenderQueue::renderScrollZoomJobs(TileIndexList* outstandingJobs, TileIndexList* completedJobs, bool allAtOnceIfPossible, bool shouldBlitWhenCompleted)
-{
- ASSERT(!outstandingJobs->isEmpty());
-
-#if DEBUG_RENDER_QUEUE || DEBUG_RENDER_QUEUE_SORT
- // Start the time measurement.
- double time = WTF::currentTime();
- double elapsed;
-#endif
-
- Platform::IntRect contentsRect = m_parent->expandedContentsRect();
-
- unsigned numberOfAvailableBackBuffers = SurfacePool::globalSurfacePool()->numberOfAvailableBackBuffers();
-
- // If we take multiple turns to render, we sort to make them appear in the right order.
- if (!allAtOnceIfPossible && outstandingJobs->size() > numberOfAvailableBackBuffers)
- quickSort(outstandingJobs);
-
-#if DEBUG_RENDER_QUEUE_SORT
- // Stop the time measurement
- elapsed = WTF::currentTime() - time;
- Platform::logAlways(Platform::LogLevelCritical, "RenderQueue::renderScrollZoomJobs sort elapsed=%f", elapsed);
-#endif
-
- TileIndexList tilesToRender;
-
- while (!outstandingJobs->isEmpty() && numberOfAvailableBackBuffers) {
- // Render as many tiles at once as we can handle.
- for (size_t i = 0; i < outstandingJobs->size() && numberOfAvailableBackBuffers; ++i) {
- TileIndex index = (*outstandingJobs)[i];
- Platform::IntRect tileRect(m_parent->frontState()->originOfTile(index), m_parent->tileSize());
-
- // Make sure we only try to render tiles containing contents.
- if (!contentsRect.intersects(tileRect)) {
-#if DEBUG_RENDER_QUEUE
- Platform::logAlways(Platform::LogLevelCritical,
- "RenderQueue::renderScrollZoomJobs tile at %s outside of expanded contents rect %s, ignoring.",
- tileRect.toString().c_str(),
- contentsRect.toString().c_str());
-#endif
- outstandingJobs->remove(i);
- --i;
- continue;
- }
-
- tilesToRender.append((*outstandingJobs)[i]);
- --numberOfAvailableBackBuffers;
- }
-
- if (tilesToRender.isEmpty())
- break;
-
- // This will clear the rendered tiles in outstandingJobs.
- TileIndexList renderedTiles = m_parent->render(tilesToRender);
-
- // Update number of available back buffers now that we've used them.
- numberOfAvailableBackBuffers = SurfacePool::globalSurfacePool()->numberOfAvailableBackBuffers();
-
- ASSERT(!renderedTiles.isEmpty());
- if (renderedTiles.isEmpty()) {
-#if DEBUG_RENDER_QUEUE
- Platform::logAlways(Platform::LogLevelCritical,
- "RenderQueue::renderScrollZoomJobs no tiles rendered (%d attempted, available back buffers: %d)",
- tilesToRender.size(),
- numberOfAvailableBackBuffers);
-#endif
- break; // Something bad happened, make sure not to try again for now.
- }
-
- for (size_t i = 0; i < renderedTiles.size(); ++i) {
- if (!completedJobs->contains(renderedTiles[i]))
- completedJobs->append(renderedTiles[i]);
- }
-
- if (!allAtOnceIfPossible)
- break; // We can do the rest next time.
- }
-
-#if DEBUG_RENDER_QUEUE
- // Stop the time measurement.
- elapsed = WTF::currentTime() - time;
- Platform::logAlways(Platform::LogLevelCritical,
- "RenderQueue::renderScrollZoomJobs completed=%d, outstanding=%d, elapsed=%f",
- completedJobs->size(),
- outstandingJobs->size(),
- elapsed);
-#endif
-
- if (outstandingJobs->isEmpty())
- scrollZoomJobsCompleted(*outstandingJobs, completedJobs, shouldBlitWhenCompleted);
-}
-
-void RenderQueue::scrollZoomJobsCompleted(const TileIndexList& outstandingJobs, TileIndexList* completedJobs, bool shouldBlit)
-{
- // Get rid of the completed list!
- ASSERT(outstandingJobs.isEmpty());
- completedJobs->clear();
-
- // Now blit to the screen if we are done!
- if (shouldBlit)
- m_parent->didRenderContent(m_parent->visibleContentsRect());
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
diff --git a/Source/WebKit/blackberry/WebKitSupport/RenderQueue.h b/Source/WebKit/blackberry/WebKitSupport/RenderQueue.h
deleted file mode 100644
index 209e4c331..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/RenderQueue.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 RenderQueue_h
-#define RenderQueue_h
-
-#include "TileIndex.h"
-
-#include <BlackBerryPlatformIntRectRegion.h>
-#include <BlackBerryPlatformPrimitives.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class BackingStorePrivate;
-class BackingStoreGeometry;
-
-enum SortDirection {
- LeftToRight = 0,
- RightToLeft,
- TopToBottom,
- BottomToTop,
- NumSortDirections
-};
-
-class RenderQueue {
-public:
- enum JobType { VisibleZoom, VisibleScroll, RegularRender, NonVisibleScroll };
-
- enum ClearJobsFlags {
- ClearRegularRenderJobs = 1 << 0,
- ClearIncompleteScrollJobs = 1 << 1,
- ClearIncompleteZoomJobs = 1 << 2,
- ClearCompletedJobs = 1 << 3,
-
- ClearAnyJobs = 0xFFFFFFFF,
-
- DontClearRegularRenderJobs = ClearAnyJobs & ~ClearRegularRenderJobs,
- DontClearCompletedJobs = ClearAnyJobs & ~ClearCompletedJobs,
- };
-
- RenderQueue(BackingStorePrivate*);
-
- void reset();
-
- bool isEmpty(bool shouldPerformRegularRenderJobs = true) const;
-
- bool hasCurrentRegularRenderJob() const;
- bool hasCurrentVisibleZoomJob() const;
- bool hasCurrentVisibleScrollJob() const;
- bool isCurrentVisibleZoomJob(const TileIndex&) const;
- bool isCurrentVisibleZoomJobCompleted(const TileIndex&) const;
- bool isCurrentVisibleScrollJob(const TileIndex&) const;
- bool isCurrentVisibleScrollJobCompleted(const TileIndex&) const;
- bool isCurrentRegularRenderJob(const TileIndex&, BackingStoreGeometry*) const;
-
- bool currentRegularRenderJobBatchUnderPressure() const;
- void setCurrentRegularRenderJobBatchUnderPressure(bool);
-
- void eventQueueCycled();
-
- void addToQueue(JobType, const Platform::IntRectRegion&);
-
- void updateSortDirection(int lastDeltaX, int lastDeltaY);
- void visibleContentChanged(const Platform::IntRect&);
- void backingStoreRectChanging(const Platform::IntRect& oldRect, const Platform::IntRect& newRect);
- void clear(const TileIndexList&, BackingStoreGeometry*, ClearJobsFlags);
- void clear(const Platform::IntRectRegion&, ClearJobsFlags);
- bool regularRenderJobsPreviouslyAttemptedButNotRendered(const Platform::IntRect&);
- Platform::IntRectRegion regularRenderJobsNotRenderedRegion() const { return m_regularRenderJobsNotRenderedRegion; }
-
- void render(bool shouldPerformRegularRenderJobs = true);
-
-private:
- TileIndexList tileIndexesIntersectingRegion(const Platform::IntRectRegion&, BackingStoreGeometry*) const;
- TileIndexList tileIndexesFullyContainedInRegion(const Platform::IntRectRegion&, BackingStoreGeometry*) const;
- Platform::IntRectRegion tileRegion(const TileIndexList&, BackingStoreGeometry*) const;
-
- void clearRegions(const Platform::IntRectRegion&, ClearJobsFlags);
- void clearTileIndexes(const TileIndexList&, ClearJobsFlags);
-
- // Render items from the queue.
- void renderRegularRenderJobs(bool allAtOnceIfPossible);
- void renderScrollZoomJobs(TileIndexList* outstandingJobs, TileIndexList* completedJobs, bool allAtOnceIfPossible, bool shouldBlitWhenCompleted);
- void scrollZoomJobsCompleted(const TileIndexList& outstandingJobs, TileIndexList* completedJobs, bool shouldBlit);
-
- // Internal method to add to the various queues.
- void addToRegularQueue(const Platform::IntRectRegion&);
- void addToScrollZoomQueue(const TileIndexList&, TileIndexList* queue);
- void quickSort(TileIndexList*);
-
- BackingStorePrivate* m_parent;
-
- // The highest priority queue.
- TileIndexList m_visibleZoomJobs;
- TileIndexList m_visibleZoomJobsCompleted;
- TileIndexList m_visibleScrollJobs;
- TileIndexList m_visibleScrollJobsCompleted;
- // The lowest priority queue.
- TileIndexList m_nonVisibleScrollJobs;
- TileIndexList m_nonVisibleScrollJobsCompleted;
- // The regular render jobs are in the middle.
- Platform::IntRectRegion m_regularRenderJobsRegion;
- TileIndexList m_currentRegularRenderJobsBatch;
- Platform::IntRectRegion m_currentRegularRenderJobsBatchRegion;
- bool m_rectsAddedToRegularRenderJobsInCurrentCycle;
- bool m_currentRegularRenderJobsBatchUnderPressure;
-
- // Holds the region of the page that we attempt to render, but the
- // backingstore was not in the right place at the time. This will
- // be checked before we try to restore a tile to it's last rendered
- // place.
- Platform::IntRectRegion m_regularRenderJobsNotRenderedRegion;
-
- SortDirection m_primarySortDirection;
- SortDirection m_secondarySortDirection;
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // RenderQueue_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/SelectPopupClient.cpp b/Source/WebKit/blackberry/WebKitSupport/SelectPopupClient.cpp
deleted file mode 100644
index f413b2481..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/SelectPopupClient.cpp
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 "SelectPopupClient.h"
-
-#include "HTMLOptionElement.h"
-#include "HTMLSelectElement.h"
-#include "PopupPicker.h"
-#include "RenderObject.h"
-#include "WebPage_p.h"
-
-#include <BlackBerryPlatformString.h>
-#include <LocaleHandler.h>
-#include <LocalizeResource.h>
-#include <wtf/text/StringBuilder.h>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-DEFINE_STATIC_LOCAL(BlackBerry::Platform::LocalizeResource, s_resource, ());
-
-SelectPopupClient::SelectPopupClient(bool multiple, int size, const ScopeArray<BlackBerry::Platform::String>& labels, bool* enableds, const int* itemType, bool* selecteds, WebPagePrivate* webPagePrivate, HTMLSelectElement* element)
- : PagePopupClient(webPagePrivate)
- , m_multiple(multiple)
- , m_size(size)
- , m_element(element)
- , m_notifyChangeTimer(this, &SelectPopupClient::notifySelectionChange)
-{
- generateHTML(multiple, size, labels, enableds, itemType, selecteds);
-}
-
-SelectPopupClient::~SelectPopupClient()
-{
-}
-
-void SelectPopupClient::generateHTML(bool, int size, const ScopeArray<BlackBerry::Platform::String>& labels, bool* enableds,
- const int* itemType, bool* selecteds)
-{
- StringBuilder source;
- source.appendLiteral("<style>\n");
- // Include CSS file.
- source.append(popupControlBlackBerryCss, sizeof(popupControlBlackBerryCss));
- source.appendLiteral("</style>\n<style>");
- source.append(selectControlBlackBerryCss, sizeof(selectControlBlackBerryCss));
- source.appendLiteral("</style></head><body>\n");
- source.appendLiteral("<script>\n");
- source.appendLiteral("window.addEventListener('load', function showIt() {");
- source.appendLiteral("window.select.show({");
- // Indicate if it is a multiselect.
- source.appendLiteral("isMultiSelect:");
- if (m_multiple)
- source.appendLiteral("true,");
- else
- source.appendLiteral("false,");
- // Add labels.
- source.appendLiteral("labels: [");
- for (int i = 0; i < size; i++) {
- source.append("'" + String(labels[i]).replaceWithLiteral('\\', "\\\\").replaceWithLiteral('\'', "\\'") + "'");
- // Don't append ',' to last element.
- if (i != size - 1)
- source.appendLiteral(", ");
- }
- source.appendLiteral("], ");
- // Add enables.
- source.append("enableds: [");
- for (int i = 0; i < size; i++) {
- if (enableds[i])
- source.appendLiteral("true");
- else
- source.appendLiteral("false");
- // Don't append ',' to last element.
- if (i != size - 1)
- source.appendLiteral(", ");
- }
- source.appendLiteral("], ");
- // Add itemType.
- source.appendLiteral("itemTypes: [");
- for (int i = 0; i < size; i++) {
- source.appendNumber(itemType[i]);
- // Don't append ',' to last element.
- if (i != size - 1)
- source.appendLiteral(", ");
- }
- source.appendLiteral("], ");
- // Add selecteds
- source.appendLiteral("selecteds: [");
- for (int i = 0; i < size; i++) {
- if (selecteds[i])
- source.appendLiteral("true");
- else
- source.appendLiteral("false");
- // Don't append ',' to last element.
- if (i != size - 1)
- source.appendLiteral(", ");
- }
- source.appendLiteral("], ");
- // Add UI text
- source.appendLiteral("uiText: {");
- source.append("title:'" + String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_SELECT_TITLE)) + "',");
- source.append("doneButtonLabel:'" + String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_DONE_BUTTON_LABEL)) + "',");
- source.append("cancelButtonLabel:'" + String::fromUTF8(s_resource.getString(BlackBerry::Platform::PICKER_CANCEL_BUTTON_LABEL)) + "',");
- source.appendLiteral("},");
- // Add directionality
- bool isRtl = BlackBerry::Platform::LocaleHandler::instance()->isRtlLocale();
- source.append("direction:'" + String(isRtl ? "rtl" : "ltr") + "',");
- source.appendLiteral("});\n");
- source.appendLiteral(" window.removeEventListener('load', showIt); }); \n");
- source.append(selectControlBlackBerryJs, sizeof(selectControlBlackBerryJs));
- source.appendLiteral("</script>\n</body> </html>\n");
- m_source = source.toString();
-}
-
-void SelectPopupClient::setValueAndClosePopup(const String& stringValue)
-{
- // Popup closed.
- if (!m_element)
- return;
-
- static const char* cancelValue = "-1";
- if (stringValue == cancelValue) {
- closePopup();
- return;
- }
-
- if (m_size > 0) {
- bool selecteds[m_size];
- for (unsigned i = 0; i < m_size; i++)
- selecteds[i] = stringValue[i] - '0';
-
- const Vector<HTMLElement*>& items = m_element->listItems();
-
- // If element changed after select UI showed, do nothing but closePopup().
- if (items.size() != static_cast<unsigned>(m_size)) {
- closePopup();
- return;
- }
-
- HTMLOptionElement* option;
- for (unsigned i = 0; i < m_size; i++) {
- if (isHTMLOptionElement(items[i])) {
- option = toHTMLOptionElement(items[i]);
- option->setSelectedState(selecteds[i]);
- }
- }
- }
- // Force repaint because we do not send mouse events to the select element
- // and the element doesn't automatically repaint itself.
- if (m_element->renderer())
- m_element->renderer()->repaint();
-
- m_notifyChangeTimer.startOneShot(0);
-}
-
-void SelectPopupClient::didClosePopup()
-{
- PagePopupClient::didClosePopup();
- m_element = 0;
-}
-
-void SelectPopupClient::notifySelectionChange(WebCore::Timer<SelectPopupClient>*)
-{
- if (m_element)
- m_element->dispatchFormControlChangeEvent();
- closePopup();
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/SelectPopupClient.h b/Source/WebKit/blackberry/WebKitSupport/SelectPopupClient.h
deleted file mode 100644
index a629b513b..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/SelectPopupClient.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 SelectPopupClient_h
-#define SelectPopupClient_h
-
-#include "IntSize.h"
-#include "PagePopupClient.h"
-#include "ScopePointer.h"
-#include "Timer.h"
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-class HTMLSelectElement;
-}
-
-namespace BlackBerry {
-namespace Platform {
-class String;
-}
-
-namespace WebKit {
-
-class SelectPopupClient : public PagePopupClient {
-public:
- SelectPopupClient(bool multiple, int size, const ScopeArray<BlackBerry::Platform::String>& labels, bool* enableds, const int* itemType, bool* selecteds, WebPagePrivate*, WebCore::HTMLSelectElement*);
- ~SelectPopupClient();
-
- virtual void setValueAndClosePopup(const String&);
- virtual void didClosePopup();
-
-private:
- void generateHTML(bool multiple, int size, const ScopeArray<BlackBerry::Platform::String>& labels, bool* enableds, const int* itemType, bool* selecteds);
- void notifySelectionChange(WebCore::Timer<SelectPopupClient> *);
-
- bool m_multiple;
- unsigned m_size;
- RefPtr<WebCore::HTMLSelectElement> m_element;
- WebCore::Timer<SelectPopupClient> m_notifyChangeTimer;
-};
-
-}
-}
-#endif
diff --git a/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp b/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp
deleted file mode 100644
index d2242410f..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp
+++ /dev/null
@@ -1,1331 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 "SelectionHandler.h"
-
-#include "DOMSupport.h"
-#include "Document.h"
-#include "FatFingers.h"
-#include "FloatQuad.h"
-#include "FocusController.h"
-#include "Frame.h"
-#include "FrameSelection.h"
-#include "FrameView.h"
-#include "HitTestResult.h"
-#include "InputHandler.h"
-#include "IntRect.h"
-#include "Page.h"
-#include "RenderLayer.h"
-#include "SelectionOverlay.h"
-#include "TouchEventHandler.h"
-#include "VisibleUnits.h"
-#include "WebPageClient.h"
-#include "WebPage_p.h"
-
-#include "htmlediting.h"
-
-#include <BlackBerryPlatformKeyboardEvent.h>
-#include <BlackBerryPlatformLog.h>
-#include <BlackBerryPlatformViewportAccessor.h>
-
-#include <sys/keycodes.h>
-
-// Note: This generates a lot of logs when dumping rects lists. It will seriously
-// impact performance. Do not enable this during performance tests.
-#define SHOWDEBUG_SELECTIONHANDLER 0
-#define SHOWDEBUG_SELECTIONHANDLER_TIMING 0
-
-using namespace BlackBerry::Platform;
-using namespace WebCore;
-
-#if SHOWDEBUG_SELECTIONHANDLER
-#define SelectionLog(severity, format, ...) Platform::logAlways(severity, format, ## __VA_ARGS__)
-#else
-#define SelectionLog(severity, format, ...)
-#endif // SHOWDEBUG_SELECTIONHANDLER
-
-#if SHOWDEBUG_SELECTIONHANDLER_TIMING
-#define SelectionTimingLog(severity, format, ...) Platform::logAlways(severity, format, ## __VA_ARGS__)
-#else
-#define SelectionTimingLog(severity, format, ...)
-#endif // SHOWDEBUG_SELECTIONHANDLER_TIMING
-
-namespace BlackBerry {
-namespace WebKit {
-
-SelectionHandler::SelectionHandler(WebPagePrivate* page)
- : m_webPage(page)
- , m_selectionActive(false)
- , m_caretActive(false)
- , m_lastUpdatedEndPointIsValid(false)
- , m_didSuppressCaretPositionChangedNotification(false)
-{
-}
-
-SelectionHandler::~SelectionHandler()
-{
-}
-
-void SelectionHandler::cancelSelection()
-{
- m_selectionActive = false;
- m_lastSelectionRegion = IntRectRegion();
-
- if (m_webPage->m_selectionOverlay)
- m_webPage->m_selectionOverlay->hide();
- // Notify client with empty selection to ensure the handles are removed if
- // rendering happened prior to processing on webkit thread
- m_webPage->m_client->notifySelectionDetailsChanged(SelectionDetails());
-
- m_webPage->updateSelectionScrollView(0);
-
- SelectionLog(Platform::LogLevelInfo, "SelectionHandler::cancelSelection");
-
- if (m_webPage->m_inputHandler->isInputMode())
- m_webPage->m_inputHandler->cancelSelection();
- else
- m_webPage->focusedOrMainFrame()->selection()->clear();
-}
-
-BlackBerry::Platform::String SelectionHandler::selectedText() const
-{
- return m_webPage->focusedOrMainFrame()->editor().selectedText();
-}
-
-WebCore::IntRect SelectionHandler::clippingRectForVisibleContent() const
-{
- // Get the containing content rect for the frame.
- Frame* frame = m_webPage->focusedOrMainFrame();
- WebCore::IntRect clipRect = WebCore::IntRect(WebCore::IntPoint(0, 0), frame->view()->contentsSize());
- if (frame != m_webPage->mainFrame()) {
- clipRect = m_webPage->getRecursiveVisibleWindowRect(frame->view(), true /* no clip to main frame window */);
- clipRect = m_webPage->m_mainFrame->view()->windowToContents(clipRect);
- }
-
- // Get the input field containing box.
- WebCore::IntRect inputBoundingBox = m_webPage->m_inputHandler->boundingBoxForInputField();
- if (!inputBoundingBox.isEmpty()) {
- // Adjust the bounding box to the frame offset.
- inputBoundingBox = m_webPage->mainFrame()->view()->windowToContents(frame->view()->contentsToWindow(inputBoundingBox));
- clipRect.intersect(inputBoundingBox);
- }
- return clipRect;
-}
-
-void SelectionHandler::regionForTextQuads(Vector<FloatQuad> &quadList, IntRectRegion& region, bool shouldClipToVisibleContent) const
-{
- ASSERT(region.isEmpty());
-
- if (!quadList.isEmpty()) {
- FrameView* frameView = m_webPage->focusedOrMainFrame()->view();
-
- // frameRect is in frame coordinates.
- WebCore::IntRect frameRect(WebCore::IntPoint(0, 0), frameView->contentsSize());
-
- // framePosition is in main frame coordinates.
- WebCore::IntPoint framePosition = m_webPage->frameOffset(m_webPage->focusedOrMainFrame());
-
- // Get the visibile content rect.
- WebCore::IntRect clippingRect = shouldClipToVisibleContent ? clippingRectForVisibleContent() : WebCore::IntRect(-1, -1, 0, 0);
-
- // Convert the text quads into a more platform friendy
- // IntRectRegion and adjust for subframes.
- Platform::IntRect selectionBoundingBox;
- std::vector<Platform::IntRect> adjustedIntRects;
- for (unsigned i = 0; i < quadList.size(); i++) {
- WebCore::IntRect enclosingRect = quadList[i].enclosingBoundingBox();
- enclosingRect.intersect(frameRect);
- enclosingRect.move(framePosition.x(), framePosition.y());
-
- // Clip to the visible content.
- if (clippingRect.location() != DOMSupport::InvalidPoint)
- enclosingRect.intersect(clippingRect);
-
- adjustedIntRects.push_back(enclosingRect);
- selectionBoundingBox.unite(enclosingRect);
- }
- region = IntRectRegion(selectionBoundingBox, adjustedIntRects.size(), adjustedIntRects);
- }
-}
-
-static VisiblePosition visiblePositionForPointIgnoringClipping(const Frame& frame, const WebCore::IntPoint& framePoint)
-{
- // Frame::visiblePositionAtPoint hard-codes ignoreClipping=false in the
- // call to hitTestResultAtPoint. This has a bug where some pages (such as
- // metafilter) will return the wrong VisiblePosition for points that are
- // outside the visible rect. To work around the bug, this is a copy of
- // visiblePositionAtPoint which which passes ignoreClipping=true.
- // See RIM Bug #4315.
- HitTestResult result = frame.eventHandler()->hitTestResultAtPoint(framePoint, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::IgnoreClipping);
-
- Node* node = result.innerNode();
- if (!node || node->document() != frame.document())
- return VisiblePosition();
-
- RenderObject* renderer = node->renderer();
- if (!renderer)
- return VisiblePosition();
-
- VisiblePosition visiblePos = renderer->positionForPoint(result.localPoint());
- if (visiblePos.isNull())
- visiblePos = VisiblePosition(Position(createLegacyEditingPosition(node, 0)));
-
- return visiblePos;
-}
-
-static unsigned directionOfPointRelativeToRect(const WebCore::IntPoint& point, const WebCore::IntRect& rect, const bool useTopPadding = true, const bool useBottomPadding = true)
-{
- ASSERT(!rect.contains(point));
-
- // Padding to prevent accidental trigger of up/down when intending to do horizontal movement.
- const int verticalPadding = 5;
-
- // Do height movement check first but add padding. We may be off on both x & y axis and only
- // want to move in one direction at a time.
- if (point.y() - (useTopPadding ? verticalPadding : 0) < rect.y())
- return KEYCODE_UP;
- if (point.y() > rect.maxY() + (useBottomPadding ? verticalPadding : 0))
- return KEYCODE_DOWN;
- if (point.x() < rect.location().x())
- return KEYCODE_LEFT;
- if (point.x() > rect.maxX())
- return KEYCODE_RIGHT;
-
- return 0;
-}
-
-bool SelectionHandler::shouldUpdateSelectionOrCaretForPoint(const WebCore::IntPoint& point, const WebCore::IntRect& caretRect, bool startCaret) const
-{
- ASSERT(m_webPage->m_inputHandler->isInputMode());
-
- // If the point isn't valid don't block change as it is not actually changing.
- if (point == DOMSupport::InvalidPoint)
- return true;
-
- VisibleSelection currentSelection = m_webPage->focusedOrMainFrame()->selection()->selection();
-
- // If the input field is single line or we are on the first or last
- // line of a multiline input field only horizontal movement is supported.
- bool aboveCaret = point.y() < caretRect.y();
- bool belowCaret = point.y() >= caretRect.maxY();
-
- SelectionLog(Platform::LogLevelInfo,
- "SelectionHandler::shouldUpdateSelectionOrCaretForPoint multiline = %s above = %s below = %s first line = %s last line = %s start = %s",
- m_webPage->m_inputHandler->isMultilineInputMode() ? "true" : "false",
- aboveCaret ? "true" : "false",
- belowCaret ? "true" : "false",
- inSameLine(currentSelection.visibleStart(), startOfEditableContent(currentSelection.visibleStart())) ? "true" : "false",
- inSameLine(currentSelection.visibleEnd(), endOfEditableContent(currentSelection.visibleEnd())) ? "true" : "false",
- startCaret ? "true" : "false");
-
- if (!m_webPage->m_inputHandler->isMultilineInputMode() && (aboveCaret || belowCaret))
- return false;
- if (startCaret && inSameLine(currentSelection.visibleStart(), startOfEditableContent(currentSelection.visibleStart())) && aboveCaret)
- return false;
- if (!startCaret && inSameLine(currentSelection.visibleEnd(), endOfEditableContent(currentSelection.visibleEnd())) && belowCaret)
- return false;
-
- return true;
-}
-
-void SelectionHandler::setCaretPosition(const WebCore::IntPoint& position)
-{
- if (!m_webPage->m_inputHandler->isInputMode() || !m_webPage->focusedOrMainFrame()->document()->focusedElement())
- return;
-
- m_caretActive = true;
-
- SelectionLog(Platform::LogLevelInfo,
- "SelectionHandler::setCaretPosition requested point %s",
- Platform::IntPoint(position).toString().c_str());
-
- Frame* focusedFrame = m_webPage->focusedOrMainFrame();
- FrameSelection* controller = focusedFrame->selection();
- WebCore::IntPoint relativePoint = DOMSupport::convertPointToFrame(m_webPage->mainFrame(), focusedFrame, position);
- WebCore::IntRect currentCaretRect = controller->selection().visibleStart().absoluteCaretBounds();
-
- if (relativePoint == DOMSupport::InvalidPoint || !shouldUpdateSelectionOrCaretForPoint(relativePoint, currentCaretRect)) {
- selectionPositionChanged(true /* forceUpdateWithoutChange */);
- return;
- }
-
- WebCore::IntRect nodeOutlineBounds(m_webPage->m_inputHandler->boundingBoxForInputField());
- if (!nodeOutlineBounds.isEmpty() && !nodeOutlineBounds.contains(relativePoint)) {
- if (unsigned character = directionOfPointRelativeToRect(relativePoint, currentCaretRect))
- m_webPage->m_inputHandler->handleKeyboardInput(Platform::KeyboardEvent(character));
-
- // Send the selection changed in case this does not trigger a selection change to
- // ensure the caret position is accurate. This may be a duplicate event.
- selectionPositionChanged(true /* forceUpdateWithoutChange */);
- return;
- }
-
- VisibleSelection newSelection(focusedFrame->visiblePositionForPoint(relativePoint));
- if (controller->selection() == newSelection) {
- selectionPositionChanged(true /* forceUpdateWithoutChange */);
- return;
- }
-
- controller->setSelection(newSelection);
-
- SelectionLog(Platform::LogLevelInfo, "SelectionHandler::setCaretPosition point valid, cursor updated");
-}
-
-void SelectionHandler::inputHandlerDidFinishProcessingChange()
-{
- if (m_didSuppressCaretPositionChangedNotification)
- notifyCaretPositionChangedIfNeeded(false);
-}
-
-// This function makes sure we are not reducing the selection to a caret selection.
-static bool shouldExtendSelectionInDirection(const VisibleSelection& selection, unsigned character)
-{
- FrameSelection tempSelection;
- tempSelection.setSelection(selection);
- switch (character) {
- case KEYCODE_LEFT:
- tempSelection.modify(FrameSelection::AlterationExtend, DirectionLeft, CharacterGranularity);
- break;
- case KEYCODE_RIGHT:
- tempSelection.modify(FrameSelection::AlterationExtend, DirectionRight, CharacterGranularity);
- break;
- case KEYCODE_UP:
- tempSelection.modify(FrameSelection::AlterationExtend, DirectionBackward, LineGranularity);
- break;
- case KEYCODE_DOWN:
- tempSelection.modify(FrameSelection::AlterationExtend, DirectionForward, LineGranularity);
- break;
- default:
- break;
- }
-
- if ((character == KEYCODE_LEFT || character == KEYCODE_RIGHT)
- && (!inSameLine(selection.visibleStart(), tempSelection.selection().visibleStart())
- || !inSameLine(selection.visibleEnd(), tempSelection.selection().visibleEnd())))
- return false;
-
- return tempSelection.selection().selectionType() == VisibleSelection::RangeSelection;
-}
-
-static int clamp(const int min, const int value, const int max)
-{
- return value < min ? min : std::min(value, max);
-}
-
-static VisiblePosition directionalVisiblePositionAtExtentOfBox(Frame* frame, const WebCore::IntRect& boundingBox, unsigned direction, const WebCore::IntPoint& basePoint)
-{
- ASSERT(frame);
-
- if (!frame)
- return VisiblePosition();
-
- switch (direction) {
- case KEYCODE_LEFT:
- // Extend x to start and clamp y to the edge of bounding box.
- return frame->visiblePositionForPoint(WebCore::IntPoint(boundingBox.x(), clamp(boundingBox.y(), basePoint.y(), boundingBox.maxY())));
- case KEYCODE_RIGHT:
- // Extend x to end and clamp y to the edge of bounding box.
- return frame->visiblePositionForPoint(WebCore::IntPoint(boundingBox.maxX(), clamp(boundingBox.y(), basePoint.y(), boundingBox.maxY())));
- case KEYCODE_UP:
- // Extend y to top and clamp x to the edge of bounding box.
- return frame->visiblePositionForPoint(WebCore::IntPoint(clamp(boundingBox.x(), basePoint.x(), boundingBox.maxX()), boundingBox.y()));
- case KEYCODE_DOWN:
- // Extend y to bottom and clamp x to the edge of bounding box.
- return frame->visiblePositionForPoint(WebCore::IntPoint(clamp(boundingBox.x(), basePoint.x(), boundingBox.maxX()), boundingBox.maxY()));
- default:
- break;
- }
-
- return frame->visiblePositionForPoint(WebCore::IntPoint(basePoint.x(), basePoint.y()));
-}
-
-static bool pointIsOutsideOfBoundingBoxInDirection(unsigned direction, const WebCore::IntPoint& selectionPoint, const WebCore::IntRect& boundingBox)
-{
- if ((direction == KEYCODE_LEFT && selectionPoint.x() < boundingBox.x())
- || (direction == KEYCODE_UP && selectionPoint.y() < boundingBox.y())
- || (direction == KEYCODE_RIGHT && selectionPoint.x() > boundingBox.maxX())
- || (direction == KEYCODE_DOWN && selectionPoint.y() > boundingBox.maxY()))
- return true;
-
- return false;
-}
-
-unsigned SelectionHandler::extendSelectionToFieldBoundary(bool isStartHandle, const WebCore::IntPoint& selectionPoint, VisibleSelection& newSelection)
-{
- Frame* focusedFrame = m_webPage->focusedOrMainFrame();
- if (!focusedFrame->document()->focusedElement() || !focusedFrame->document()->focusedElement()->renderer())
- return 0;
-
- VisibleSelection activeSelection = focusedFrame->selection()->selection();
-
- WebCore::IntRect caretRect = isStartHandle ? activeSelection.visibleStart().absoluteCaretBounds() : activeSelection.visibleEnd().absoluteCaretBounds();
-
- WebCore::IntRect nodeBoundingBox = focusedFrame->document()->focusedElement()->renderer()->absoluteBoundingBoxRect();
- nodeBoundingBox.inflate(-1);
-
- // Start handle is outside of the field. Treat it as the changed handle and move
- // relative to the start caret rect.
- unsigned character = directionOfPointRelativeToRect(selectionPoint, caretRect, isStartHandle /* useTopPadding */, !isStartHandle /* useBottomPadding */);
-
- // Prevent incorrect movement, handles can only extend the selection this way
- // to prevent inversion of the handles.
- if ((isStartHandle && (character == KEYCODE_RIGHT || character == KEYCODE_DOWN))
- || (!isStartHandle && (character == KEYCODE_LEFT || character == KEYCODE_UP)))
- character = 0;
-
- VisiblePosition newVisiblePosition = isStartHandle ? activeSelection.extent() : activeSelection.base();
- // Extend the selection to the bounds of the box before doing incremental scroll if the point is outside the node.
- // Don't extend selection and handle the character at the same time.
- if (pointIsOutsideOfBoundingBoxInDirection(character, selectionPoint, nodeBoundingBox))
- newVisiblePosition = directionalVisiblePositionAtExtentOfBox(focusedFrame, nodeBoundingBox, character, selectionPoint);
-
- if (isStartHandle)
- newSelection = VisibleSelection(newVisiblePosition, newSelection.extent(), true /* isDirectional */);
- else
- newSelection = VisibleSelection(newSelection.base(), newVisiblePosition, true /* isDirectional */);
-
- // If no selection will be changed, return the character to extend using navigation.
- if (activeSelection == newSelection)
- return character;
-
- // Selection has been updated.
- return 0;
-}
-
-// Returns true if handled.
-bool SelectionHandler::updateOrHandleInputSelection(VisibleSelection& newSelection, const WebCore::IntPoint& relativeStart, const WebCore::IntPoint& relativeEnd)
-{
- ASSERT(m_webPage->m_inputHandler->isInputMode());
-
- Frame* focusedFrame = m_webPage->focusedOrMainFrame();
- Node* focusedNode = focusedFrame->document()->focusedElement();
- if (!focusedNode || !focusedNode->renderer())
- return false;
-
- FrameSelection* controller = focusedFrame->selection();
-
- WebCore::IntRect currentStartCaretRect = controller->selection().visibleStart().absoluteCaretBounds();
- WebCore::IntRect currentEndCaretRect = controller->selection().visibleEnd().absoluteCaretBounds();
-
- // Check if the handle movement is valid.
- if (!shouldUpdateSelectionOrCaretForPoint(relativeStart, currentStartCaretRect, true /* startCaret */)
- || !shouldUpdateSelectionOrCaretForPoint(relativeEnd, currentEndCaretRect, false /* startCaret */)) {
- selectionPositionChanged(true /* forceUpdateWithoutChange */);
- return true;
- }
-
- WebCore::IntRect nodeBoundingBox = focusedNode->renderer()->absoluteBoundingBoxRect();
-
- // Only do special handling if one handle is outside of the node.
- bool startIsOutsideOfField = relativeStart != DOMSupport::InvalidPoint && !nodeBoundingBox.contains(relativeStart);
- bool endIsOutsideOfField = relativeEnd != DOMSupport::InvalidPoint && !nodeBoundingBox.contains(relativeEnd);
- if (startIsOutsideOfField && endIsOutsideOfField)
- return false;
-
- unsigned character = 0;
- bool needToInvertDirection = false;
- if (startIsOutsideOfField) {
- character = extendSelectionToFieldBoundary(true /* isStartHandle */, relativeStart, newSelection);
- if (character && controller->selection().isBaseFirst()) {
- // Invert the selection so that the cursor point is at the beginning.
- controller->setSelection(VisibleSelection(controller->selection().end(), controller->selection().start(), true /* isDirectional */));
- needToInvertDirection = true;
- }
- } else if (endIsOutsideOfField) {
- character = extendSelectionToFieldBoundary(false /* isStartHandle */, relativeEnd, newSelection);
- if (character && !controller->selection().isBaseFirst()) {
- // Reset the selection so that the end is the edit point.
- controller->setSelection(VisibleSelection(controller->selection().start(), controller->selection().end(), true /* isDirectional */));
- }
- }
-
- if (!character)
- return false;
-
- SelectionLog(Platform::LogLevelInfo,
- "SelectionHandler::updateOrHandleInputSelection making selection change attempt using key event %d",
- character);
-
- if (shouldExtendSelectionInDirection(controller->selection(), character))
- m_webPage->m_inputHandler->handleKeyboardInput(Platform::KeyboardEvent(character, Platform::KeyboardEvent::KeyDown, KEYMOD_SHIFT));
-
- if (needToInvertDirection)
- controller->setSelection(VisibleSelection(controller->selection().extent(), controller->selection().base(), true /* isDirectional */));
-
- // Send the selection changed in case this does not trigger a selection change to
- // ensure the caret position is accurate. This may be a duplicate event.
- selectionPositionChanged(true /* forceUpdateWithoutChange */);
- return true;
-}
-
-void SelectionHandler::setSelection(WebCore::IntPoint start, WebCore::IntPoint end)
-{
- m_selectionActive = true;
-
- ASSERT(m_webPage);
- ASSERT(m_webPage->focusedOrMainFrame());
- ASSERT(m_webPage->focusedOrMainFrame()->selection());
-
- Frame* focusedFrame = m_webPage->focusedOrMainFrame();
- FrameSelection* controller = focusedFrame->selection();
-
-#if SHOWDEBUG_SELECTIONHANDLER_TIMING
- m_timer.start();
-#endif
-
- SelectionLog(Platform::LogLevelInfo,
- "SelectionHandler::setSelection adjusted points %s, %s",
- Platform::IntPoint(start).toString().c_str(),
- Platform::IntPoint(end).toString().c_str());
-
- // Note that IntPoint(-1, -1) is being our sentinel so far for
- // clipped out selection starting or ending location.
- bool startIsValid = start != DOMSupport::InvalidPoint;
- m_lastUpdatedEndPointIsValid = end != DOMSupport::InvalidPoint;
-
- // At least one of the locations must be valid.
- ASSERT(startIsValid || m_lastUpdatedEndPointIsValid);
-
- if (m_webPage->m_inputHandler->isInputMode() && !m_webPage->m_inputHandler->isMultilineInputMode()) {
- WebCore::IntRect caret(startCaretViewportRect(m_webPage->frameOffset(focusedFrame)));
- if (!caret.isEmpty()) {
- int centerOfCaretY = caret.center().y();
- if (startIsValid)
- start.setY(centerOfCaretY);
- if (m_lastUpdatedEndPointIsValid)
- end.setY(centerOfCaretY);
- }
- }
-
- WebCore::IntPoint relativeStart = start;
- WebCore::IntPoint relativeEnd = end;
-
- // Initialize the new start and end of our selection at the current positions.
- VisiblePosition newStart = controller->selection().visibleStart();
- VisiblePosition newEnd = controller->selection().visibleEnd();
-
- // We don't return early in the following, so that we can do input field scrolling if the
- // handle is outside the bounds of the field. This can be extended to handle sub-region
- // scrolling as well
- if (startIsValid) {
- relativeStart = DOMSupport::convertPointToFrame(m_webPage->mainFrame(), focusedFrame, start);
- VisiblePosition base = visiblePositionForPointIgnoringClipping(*focusedFrame, clipPointToVisibleContainer(start));
- if (base.isNotNull())
- newStart = base;
- }
-
- if (m_lastUpdatedEndPointIsValid) {
- relativeEnd = DOMSupport::convertPointToFrame(m_webPage->mainFrame(), focusedFrame, end);
- VisiblePosition extent = visiblePositionForPointIgnoringClipping(*focusedFrame, clipPointToVisibleContainer(end));
- if (extent.isNotNull())
- newEnd = extent;
- }
-
- VisibleSelection newSelection(newStart, newEnd, true /* isDirectional */);
-
- if (!controller->selection().isRange())
- m_webPage->updateSelectionScrollView(newSelection.visibleEnd().deepEquivalent().anchorNode());
-
- if (m_webPage->m_inputHandler->isInputMode()) {
- if (updateOrHandleInputSelection(newSelection, relativeStart, relativeEnd))
- return;
- }
-
- if (controller->selection() == newSelection) {
- selectionPositionChanged(true /* forceUpdateWithoutChange */);
- return;
- }
-
- // If the selection size is reduce to less than a character, selection type becomes
- // Caret. As long as it is still a range, it's a valid selection. Selection cannot
- // be cancelled through this function.
- Vector<FloatQuad> quads;
- DOMSupport::visibleTextQuads(newSelection, quads);
-
- IntRectRegion unclippedRegion;
- regionForTextQuads(quads, unclippedRegion, false /* shouldClipToVisibleContent */);
-
- if (unclippedRegion.isEmpty()) {
- // Requested selection results in an empty selection, skip this change.
- selectionPositionChanged(true /* forceUpdateWithoutChange */);
-
- SelectionLog(Platform::LogLevelWarn, "SelectionHandler::setSelection selection points invalid, selection not updated.");
- return;
- }
-
- // Check if the handles reversed position.
- if (m_selectionActive && !newSelection.isBaseFirst()) {
- m_webPage->m_client->notifySelectionHandlesReversed();
- newSelection = VisibleSelection(newSelection.extent(), newSelection.base());
- }
-
- controller->setSelection(newSelection);
- SelectionLog(Platform::LogLevelInfo, "SelectionHandler::setSelection selection points valid, selection updated.");
-}
-
-// FIXME re-use this in context. Must be updated to include an option to return the href.
-// This function should be moved to a new unit file. Names suggetions include DOMQueries
-// and NodeTypes. Functions currently in InputHandler.cpp, SelectionHandler.cpp and WebPage.cpp
-// can all be moved in.
-static Node* enclosingLinkEventParentForNode(Node* node)
-{
- if (!node)
- return 0;
-
- Node* linkNode = node->enclosingLinkEventParentOrSelf();
- return linkNode && linkNode->isLink() ? linkNode : 0;
-}
-
-TextGranularity textGranularityFromSelectionExpansionType(SelectionExpansionType selectionExpansionType)
-{
- TextGranularity granularity;
- switch (selectionExpansionType) {
- case Word:
- default:
- granularity = WordGranularity;
- break;
- case Sentence:
- granularity = SentenceGranularity;
- break;
- case Paragraph:
- granularity = ParagraphGranularity;
- break;
- }
- return granularity;
-}
-
-
-bool SelectionHandler::selectNodeIfFatFingersResultIsLink(FatFingersResult fatFingersResult)
-{
- if (!fatFingersResult.isValid())
- return false;
- Node* targetNode = fatFingersResult.node(FatFingersResult::ShadowContentNotAllowed);
- ASSERT(targetNode);
- // If the node at the point is a link, focus on the entire link, not a word.
- if (Node* link = enclosingLinkEventParentForNode(targetNode)) {
- Element* element = fatFingersResult.nodeAsElementIfApplicable();
- if (!element)
- return false;
- m_animationHighlightColor = element->renderStyle()->initialTapHighlightColor();
-
- selectObject(link);
- // If selected object is a link, no need to wait for further expansion.
- m_webPage->m_client->stopExpandingSelection();
- return true;
- }
- return false;
-}
-
-WebCore::IntRect SelectionHandler::startCaretViewportRect(const WebCore::IntPoint& frameOffset) const
-{
- WebCore::IntRect caretRect;
- Frame* frame = m_webPage->focusedOrMainFrame();
- if (!frame)
- return caretRect;
-
- if (frame->selection()->selectionType() != VisibleSelection::NoSelection) {
- caretRect = frame->selection()->selection().visibleStart().absoluteCaretBounds();
- caretRect.moveBy(frameOffset);
- }
-
- return caretRect;
-}
-
-void SelectionHandler::selectAtPoint(const WebCore::IntPoint& location, SelectionExpansionType selectionExpansionType)
-{
- if (selectionExpansionType == Word) {
- m_animationOverlayStartPos = VisiblePosition();
- m_animationOverlayEndPos = VisiblePosition();
- m_currentAnimationOverlayRegion = IntRectRegion();
- m_nextAnimationOverlayRegion = IntRectRegion();
- m_selectionSubframeViewportRect = WebCore::IntRect();
- }
-
- // If point is invalid trigger selection based expansion.
- if (location == DOMSupport::InvalidPoint) {
- selectObject(WordGranularity);
- return;
- }
-
- WebCore::IntPoint targetPosition;
-
- FatFingersResult fatFingersResult = m_webPage->m_touchEventHandler->lastFatFingersResult();
- if (selectNodeIfFatFingersResultIsLink(fatFingersResult))
- return;
- if (!fatFingersResult.resultMatches(location, FatFingers::Text) || !fatFingersResult.positionWasAdjusted() || !fatFingersResult.nodeAsElementIfApplicable()) {
- // Cache text result for later use.
- fatFingersResult = FatFingers(m_webPage, location, FatFingers::Text).findBestPoint();
- m_webPage->m_touchEventHandler->cacheTextResult(fatFingersResult);
- }
-
- if (!fatFingersResult.positionWasAdjusted()) {
- if (isSelectionActive())
- cancelSelection();
- m_webPage->m_client->notifySelectionDetailsChanged(SelectionDetails());
- m_webPage->m_touchEventHandler->sendClickAtFatFingersPoint();
- return;
- }
-
- targetPosition = fatFingersResult.adjustedPosition();
- if (selectNodeIfFatFingersResultIsLink(fatFingersResult))
- return;
-
- selectObject(targetPosition, textGranularityFromSelectionExpansionType(selectionExpansionType));
-}
-
-static bool isInvalidParagraph(const VisiblePosition& pos)
-{
- return endOfParagraph(pos).isNull() || pos == endOfParagraph(pos);
-}
-
-void SelectionHandler::selectNextParagraph()
-{
- FrameSelection* controller = m_webPage->focusedOrMainFrame()->selection();
-
- VisiblePosition startPos = VisiblePosition(controller->start(), controller->affinity());
- if (isStartOfLine(startPos) && isEndOfDocument(startPos))
- startPos = startPos.previous(CannotCrossEditingBoundary);
-
- // Find next paragraph end position.
- VisiblePosition endPos(controller->end(), controller->affinity()); // endPos here indicates the end of current paragraph
- endPos = endPos.next(CannotCrossEditingBoundary); // find the start of next paragraph
- while (!isEndOfDocument(endPos) && endPos.isNotNull() && isInvalidParagraph(endPos))
- endPos = endPos.next(CannotCrossEditingBoundary); // go to next position
- endPos = endOfParagraph(endPos); // find the end of paragraph
-
- // Set selection if the paragraph is covered by overlay and endPos is not null.
- if (m_currentAnimationOverlayRegion.extents().bottom() >= endPos.absoluteCaretBounds().maxY() && endPos.isNotNull()) {
- VisibleSelection selection = VisibleSelection(startPos, endPos);
- selection.setAffinity(controller->affinity());
- controller->setSelection(selection);
-
- // Stop expansion if reaching the end of page.
- if (isEndOfDocument(endPos))
- m_webPage->m_client->stopExpandingSelection();
- }
-}
-
-void SelectionHandler::drawAnimationOverlay(IntRectRegion overlayRegion, bool isExpandingOverlayAtConstantRate, bool isStartOfSelection)
-{
- if (isExpandingOverlayAtConstantRate) {
- // When overlay expands at a constant rate, the current overlay height increases
- // m_overlayExpansionHeight each time and the width is always same as next overlay region.
- WebCore::IntRect currentOverlayRect = m_currentAnimationOverlayRegion.extents();
- WebCore::IntRect nextOverlayRect = m_nextAnimationOverlayRegion.extents();
- WebCore::IntRect overlayRect(WebCore::IntRect(nextOverlayRect.location(), WebCore::IntSize(nextOverlayRect.width(), currentOverlayRect.height() + m_overlayExpansionHeight)));
- overlayRegion = IntRectRegion(overlayRect);
- }
-
- m_webPage->m_selectionHighlight->draw(overlayRegion,
- m_animationHighlightColor.red(), m_animationHighlightColor.green(), m_animationHighlightColor.blue(), m_animationHighlightColor.alpha(),
- false /* do not hide after scroll */,
- isStartOfSelection);
- m_currentAnimationOverlayRegion = overlayRegion;
-}
-
-IntRectRegion SelectionHandler::regionForSelectionQuads(VisibleSelection selection)
-{
- Vector<FloatQuad> quads;
- DOMSupport::visibleTextQuads(selection, quads);
- IntRectRegion region;
- regionForTextQuads(quads, region);
- return region;
-}
-
-bool SelectionHandler::findNextAnimationOverlayRegion()
-{
- // If overlay is at the end of document, stop overlay expansion.
- if (isEndOfDocument(m_animationOverlayEndPos) || m_animationOverlayEndPos.isNull())
- return false;
-
- m_animationOverlayEndPos = m_animationOverlayEndPos.next(CannotCrossEditingBoundary);
- while (!isEndOfDocument(m_animationOverlayEndPos) && m_animationOverlayEndPos.isNotNull() && isInvalidParagraph(m_animationOverlayEndPos))
- m_animationOverlayEndPos = m_animationOverlayEndPos.next(CannotCrossEditingBoundary); // go to next position
- m_animationOverlayEndPos = endOfParagraph(m_animationOverlayEndPos); // find end of paragraph
-
- VisibleSelection selection(m_animationOverlayStartPos, m_animationOverlayEndPos);
- m_nextAnimationOverlayRegion = regionForSelectionQuads(selection);
- return true;
-}
-
-void SelectionHandler::expandSelection(bool isScrollStarted)
-{
- if (m_currentAnimationOverlayRegion.isEmpty() || m_nextAnimationOverlayRegion.isEmpty())
- return;
- WebCore::IntPoint nextOverlayBottomRightPoint = WebCore::IntPoint(m_currentAnimationOverlayRegion.extents().bottomRight()) + WebCore::IntPoint(0, m_overlayExpansionHeight);
- if (nextOverlayBottomRightPoint.y() > m_nextAnimationOverlayRegion.extents().bottom())
- // Find next overlay region so that we can update overlay region's width while expanding.
- if (!findNextAnimationOverlayRegion()) {
- drawAnimationOverlay(m_nextAnimationOverlayRegion, false);
- selectNextParagraph();
- return;
- }
-
- // Draw overlay if the position is in the viewport and is not null.
- // Otherwise, start scrolling if it hasn't started.
- if (ensureSelectedTextVisible(nextOverlayBottomRightPoint, false /* do not scroll */) && m_animationOverlayEndPos.isNotNull())
- drawAnimationOverlay(IntRectRegion(), true /* isExpandingOverlayAtConstantRate */);
- else if (!isScrollStarted) {
- m_webPage->m_client->startSelectionScroll();
- return;
- }
-
- selectNextParagraph();
-}
-
-bool SelectionHandler::ensureSelectedTextVisible(const WebCore::IntPoint& point, bool scrollIfNeeded)
-{
- WebCore::IntRect viewportRect = selectionViewportRect();
- if (!scrollIfNeeded)
- // If reaching the bottom of content, ignore scroll margin so the text on the bottom can be selected.
- return viewportRect.maxY() >= m_webPage->contentsSize().height() ? viewportRect.maxY() >= point.y() : viewportRect.maxY() >= point.y() + m_scrollMargin.height();
-
- // Scroll position adjustment here is based on main frame. If selecting in a subframe, don't do animation.
- if (!m_selectionSubframeViewportRect.isEmpty())
- return false;
-
- WebCore::IntRect endLocation = m_animationOverlayEndPos.absoluteCaretBounds();
-
- Frame* focusedFrame = m_webPage->focusedOrMainFrame();
- Frame* mainFrame = m_webPage->mainFrame();
- // If we are selecting within an iframe, translate coordinates to main frame.
- if (focusedFrame && focusedFrame->view() && mainFrame && mainFrame->view() && focusedFrame != mainFrame)
- endLocation = mainFrame->view()->windowToContents(focusedFrame->view()->contentsToWindow(endLocation));
-
- Node* anchorNode = m_animationOverlayEndPos.deepEquivalent().anchorNode();
- if (!anchorNode || !anchorNode->renderer())
- return false;
-
- RenderLayer* layer = anchorNode->renderer()->enclosingLayer();
- if (!layer)
- return false;
-
- endLocation.inflateX(m_scrollMargin.width());
- endLocation.inflateY(m_scrollMargin.height());
-
- WebCore::IntRect revealRect(layer->getRectToExpose(viewportRect, endLocation, ScrollAlignment::alignToEdgeIfNeeded, ScrollAlignment::alignToEdgeIfNeeded));
- revealRect.setX(std::min(std::max(revealRect.x(), 0), m_webPage->maximumScrollPosition().x()));
- revealRect.setY(std::min(std::max(revealRect.y(), 0), m_webPage->maximumScrollPosition().y()));
-
- // Animate scroll position to revealRect.
- m_webPage->animateToScaleAndDocumentScrollPosition(m_webPage->currentScale() /* Don't zoom */, WebCore::FloatPoint(revealRect.x(), revealRect.y()));
- return true;
-}
-
-WebCore::IntRect SelectionHandler::selectionViewportRect() const
-{
- if (m_selectionSubframeViewportRect.isEmpty())
- return WebCore::IntRect(m_webPage->scrollPosition(), m_selectionViewportSize);
- return m_selectionSubframeViewportRect;
-}
-
-void SelectionHandler::setParagraphExpansionScrollMargin(const WebCore::IntSize& scrollMargin)
-{
- m_scrollMargin.setWidth(scrollMargin.width());
- m_scrollMargin.setHeight(scrollMargin.height());
-}
-
-bool SelectionHandler::expandSelectionToGranularity(Frame* frame, VisibleSelection selection, TextGranularity granularity, bool isInputMode)
-{
- ASSERT(frame);
- ASSERT(frame->selection());
-
- if (!(selection.start().anchorNode() && selection.start().anchorNode()->isTextNode()))
- return false;
-
- if (granularity == WordGranularity)
- selection = DOMSupport::visibleSelectionForClosestActualWordStart(selection);
-
- selection.expandUsingGranularity(granularity);
- selection.setAffinity(frame->selection()->affinity());
-
- if (isInputMode && !frame->selection()->shouldChangeSelection(selection))
- return false;
-
- m_animationOverlayStartPos = selection.visibleStart();
- m_animationOverlayEndPos = selection.visibleEnd();
-
- if (granularity == WordGranularity) {
- m_webPage->updateSelectionScrollView(selection.visibleEnd().deepEquivalent().anchorNode());
-
- Element* element = m_animationOverlayStartPos.deepEquivalent().element();
- if (!element)
- return false;
- m_animationHighlightColor = element->renderStyle()->initialTapHighlightColor();
- }
-
- ensureSelectedTextVisible(WebCore::IntPoint(), true /* scroll if needed */);
- drawAnimationOverlay(regionForSelectionQuads(selection), false /* isExpandingOverlayAtConstantRate */, granularity == WordGranularity /* isStartOfSelection */);
- frame->selection()->setSelection(selection);
- if (granularity == ParagraphGranularity)
- findNextAnimationOverlayRegion();
- return true;
-}
-
-void SelectionHandler::selectObject(const WebCore::IntPoint& location, TextGranularity granularity)
-{
- ASSERT(location.x() >= 0 && location.y() >= 0);
- ASSERT(m_webPage && m_webPage->focusedOrMainFrame() && m_webPage->focusedOrMainFrame()->selection());
- Frame* focusedFrame = m_webPage->focusedOrMainFrame();
-
- SelectionLog(Platform::LogLevelInfo,
- "SelectionHandler::selectObject adjusted points %s",
- Platform::IntPoint(location).toString().c_str());
-
- WebCore::IntPoint relativePoint = DOMSupport::convertPointToFrame(m_webPage->mainFrame(), focusedFrame, location);
-
- VisiblePosition pointLocation(focusedFrame->visiblePositionForPoint(relativePoint));
- VisibleSelection selection = VisibleSelection(pointLocation, pointLocation);
-
- // Move focus to the new node if we're not selecting in old input field.
- if (!m_webPage->m_inputHandler->boundingBoxForInputField().contains(relativePoint)) {
- Node* anchorNode = selection.start().anchorNode();
- if (!anchorNode || anchorNode->isElementNode())
- m_webPage->m_page->focusController()->setFocusedElement(toElement(anchorNode), focusedFrame);
- }
-
- m_selectionActive = expandSelectionToGranularity(focusedFrame, selection, granularity, m_webPage->m_inputHandler->isInputMode());
-}
-
-void SelectionHandler::selectObject(TextGranularity granularity)
-{
- ASSERT(m_webPage && m_webPage->m_inputHandler);
- // Using caret location, must be inside an input field.
- if (!m_webPage->m_inputHandler->isInputMode())
- return;
-
- ASSERT(m_webPage->focusedOrMainFrame() && m_webPage->focusedOrMainFrame()->selection());
- Frame* focusedFrame = m_webPage->focusedOrMainFrame();
-
- SelectionLog(Platform::LogLevelInfo, "SelectionHandler::selectObject using current selection");
-
- ASSERT(focusedFrame->selection()->selectionType() != VisibleSelection::NoSelection);
-
- // Use the current selection as the selection point.
- VisibleSelection selectionOrigin = focusedFrame->selection()->selection();
-
- // If this is the end of the input field, make sure we select the last word.
- if (m_webPage->m_inputHandler->isCaretAtEndOfText())
- selectionOrigin = previousWordPosition(selectionOrigin.start());
-
- m_selectionActive = expandSelectionToGranularity(focusedFrame, selectionOrigin, granularity, true /* isInputMode */);
-}
-
-void SelectionHandler::selectObject(Node* node)
-{
- if (!node)
- return;
-
- // Clear input focus if we're not selecting text there.
- if (node != m_webPage->m_inputHandler->currentFocusElement().get())
- m_webPage->clearFocusNode();
-
- m_selectionActive = true;
-
- ASSERT(m_webPage && m_webPage->focusedOrMainFrame() && m_webPage->focusedOrMainFrame()->selection());
- Frame* focusedFrame = m_webPage->focusedOrMainFrame();
-
- SelectionLog(Platform::LogLevelInfo, "SelectionHandler::selectNode");
-
- VisibleSelection selection = VisibleSelection::selectionFromContentsOfNode(node);
- drawAnimationOverlay(regionForSelectionQuads(selection), false /* isExpandingOverlayAtConstantRate */, true /* isStartOfSelection */);
- focusedFrame->selection()->setSelection(selection);
- m_webPage->updateSelectionScrollView(node);
-}
-
-static TextDirection directionOfEnclosingBlock(FrameSelection* selection)
-{
- Node* enclosingBlockNode = enclosingBlock(selection->selection().extent().deprecatedNode());
- if (!enclosingBlockNode)
- return LTR;
-
- if (RenderObject* renderer = enclosingBlockNode->renderer())
- return renderer->style()->direction();
-
- return LTR;
-}
-
-// Returns > 0 if p1 is "closer" to referencePoint, < 0 if p2 is "closer", 0 if they are equidistant.
-// Because text is usually arranged in horizontal rows, distance is measured along the y-axis, with x-axis used only to break ties.
-// If rightGravity is true, the right-most x-coordinate is chosen, otherwise teh left-most coordinate is chosen.
-static inline int comparePointsToReferencePoint(const WebCore::IntPoint& p1, const WebCore::IntPoint& p2, const WebCore::IntPoint& referencePoint, bool rightGravity)
-{
- int dy1 = abs(referencePoint.y() - p1.y());
- int dy2 = abs(referencePoint.y() - p2.y());
- if (dy1 != dy2)
- return dy2 - dy1;
-
- // Same y-coordinate, choose the farthest right (or left) point.
- if (p1.x() == p2.x())
- return 0;
-
- if (p1.x() > p2.x())
- return rightGravity ? 1 : -1;
-
- return rightGravity ? -1 : 1;
-}
-
-// NOTE/FIXME: Due to r77286, we are getting off-by-one results in the IntRect class counterpart implementation of the
-// methods below. As done in r89803, r77928 and a few others, lets use local method to fix it.
-// We should keep our eyes very open on it, since it can affect BackingStore very badly.
-static WebCore::IntPoint minXMinYCorner(const WebCore::IntRect& rect) { return rect.location(); } // typically topLeft
-static WebCore::IntPoint maxXMinYCorner(const WebCore::IntRect& rect) { return WebCore::IntPoint(rect.x() + rect.width() - 1, rect.y()); } // typically topRight
-static WebCore::IntPoint minXMaxYCorner(const WebCore::IntRect& rect) { return WebCore::IntPoint(rect.x(), rect.y() + rect.height() - 1); } // typically bottomLeft
-static WebCore::IntPoint maxXMaxYCorner(const WebCore::IntRect& rect) { return WebCore::IntPoint(rect.x() + rect.width() - 1, rect.y() + rect.height() - 1); } // typically bottomRight
-
-// The caret is a one-pixel wide line down either the right or left edge of a
-// rect, depending on the text direction.
-static inline bool caretIsOnLeft(bool isStartCaret, bool isRTL)
-{
- if (isStartCaret)
- return !isRTL;
-
- return isRTL;
-}
-
-static inline WebCore::IntPoint caretLocationForRect(const WebCore::IntRect& rect, bool isStartCaret, bool isRTL)
-{
- return caretIsOnLeft(isStartCaret, isRTL) ? minXMinYCorner(rect) : maxXMinYCorner(rect);
-}
-
-static inline WebCore::IntPoint caretComparisonPointForRect(const WebCore::IntRect& rect, bool isStartCaret, bool isRTL)
-{
- if (isStartCaret)
- return caretIsOnLeft(isStartCaret, isRTL) ? minXMinYCorner(rect) : maxXMinYCorner(rect);
-
- return caretIsOnLeft(isStartCaret, isRTL) ? minXMaxYCorner(rect) : maxXMaxYCorner(rect);
-}
-
-static void adjustCaretRects(WebCore::IntRect& startCaret, bool isStartCaretClippedOut, WebCore::IntRect& endCaret, bool isEndCaretClippedOut,
- const std::vector<Platform::IntRect> rectList, const WebCore::IntPoint& startReferencePoint, const WebCore::IntPoint& endReferencePoint, bool isRTL)
-{
- // startReferencePoint is the best guess at the top left of the selection; endReferencePoint is the best guess at the bottom right.
- if (isStartCaretClippedOut)
- startCaret.setLocation(DOMSupport::InvalidPoint);
- else {
- startCaret = rectList[0];
- startCaret.setLocation(caretLocationForRect(startCaret, true, isRTL));
- // Reset width to 1 as we are strictly interested in caret location.
- startCaret.setWidth(1);
- }
-
- if (isEndCaretClippedOut)
- endCaret.setLocation(DOMSupport::InvalidPoint);
- else {
- endCaret = rectList[0];
- endCaret.setLocation(caretLocationForRect(endCaret, false, isRTL));
- // Reset width to 1 as we are strictly interested in caret location.
- endCaret.setWidth(1);
- }
-
- if (isStartCaretClippedOut && isEndCaretClippedOut)
- return;
-
- for (unsigned i = 1; i < rectList.size(); i++) {
- WebCore::IntRect currentRect(rectList[i]);
-
- // Compare and update the start and end carets with their respective reference points.
- if (!isStartCaretClippedOut && comparePointsToReferencePoint(
- caretComparisonPointForRect(currentRect, true, isRTL),
- caretComparisonPointForRect(startCaret, true, isRTL),
- startReferencePoint, isRTL) > 0) {
- startCaret.setLocation(caretLocationForRect(currentRect, true, isRTL));
- startCaret.setHeight(currentRect.height());
- }
-
- if (!isEndCaretClippedOut && comparePointsToReferencePoint(
- caretComparisonPointForRect(currentRect, false, isRTL),
- caretComparisonPointForRect(endCaret, false, isRTL),
- endReferencePoint, !isRTL) > 0) {
- endCaret.setLocation(caretLocationForRect(currentRect, false, isRTL));
- endCaret.setHeight(currentRect.height());
- }
- }
-}
-
-WebCore::IntPoint SelectionHandler::clipPointToVisibleContainer(const WebCore::IntPoint& point) const
-{
- ASSERT(m_webPage->m_mainFrame && m_webPage->m_mainFrame->view());
-
- Frame* frame = m_webPage->focusedOrMainFrame();
- WebCore::IntPoint clippedPoint = DOMSupport::convertPointToFrame(m_webPage->mainFrame(), frame, point, true /* clampToTargetFrame */);
-
- if (m_webPage->m_inputHandler->isInputMode()
- && frame->document()->focusedElement()
- && frame->document()->focusedElement()->renderer()) {
- WebCore::IntRect boundingBox(frame->document()->focusedElement()->renderer()->absoluteBoundingBoxRect());
- boundingBox.inflate(-1);
- clippedPoint = WebCore::IntPoint(clamp(boundingBox.x(), clippedPoint.x(), boundingBox.maxX()), clamp(boundingBox.y(), clippedPoint.y(), boundingBox.maxY()));
- }
-
- return clippedPoint;
-}
-
-static WebCore::IntPoint referencePoint(const VisiblePosition& position, const WebCore::IntRect& boundingRect, const WebCore::IntPoint& framePosition, bool isStartCaret, bool isRTL)
-{
- // If one of the carets is invalid (this happens, for instance, if the
- // selection ends in an empty div) fall back to using the corner of the
- // entire region (which is already in frame coordinates so doesn't need
- // adjusting).
- WebCore::IntRect startCaretBounds(position.absoluteCaretBounds());
- startCaretBounds.move(framePosition.x(), framePosition.y());
- if (startCaretBounds.isEmpty() || !boundingRect.contains(startCaretBounds))
- startCaretBounds = boundingRect;
-
- return caretComparisonPointForRect(startCaretBounds, isStartCaret, isRTL);
-}
-
-// Check all rects in the region for a point match. The region is non-banded
-// and non-sorted so all must be checked.
-static bool regionRectListContainsPoint(const IntRectRegion& region, const WebCore::IntPoint& point)
-{
- if (!region.extents().contains(point))
- return false;
-
- std::vector<Platform::IntRect> rectList = region.rects();
- for (unsigned i = 0; i < rectList.size(); i++) {
- if (rectList[i].contains(point))
- return true;
- }
- return false;
-}
-
-bool SelectionHandler::inputNodeOverridesTouch() const
-{
- if (!m_webPage->m_inputHandler->isInputMode())
- return false;
-
- Node* focusedNode = m_webPage->focusedOrMainFrame()->document()->focusedElement();
- if (!focusedNode || !focusedNode->isElementNode())
- return false;
-
- // TODO consider caching this in InputHandler so it is only calculated once per focus.
- DEFINE_STATIC_LOCAL(QualifiedName, selectionTouchOverrideAttr, (nullAtom, "data-blackberry-end-selection-on-touch", nullAtom));
- Element* element = toElement(focusedNode);
- return DOMSupport::elementAttributeState(element, selectionTouchOverrideAttr) == DOMSupport::On;
-}
-
-RequestedHandlePosition SelectionHandler::requestedSelectionHandlePosition(const VisibleSelection& selection) const
-{
- Element* element = DOMSupport::selectionContainerElement(selection);
- return DOMSupport::elementHandlePositionAttribute(element);
-}
-
-// Note: This is the only function in SelectionHandler in which the coordinate
-// system is not entirely WebKit.
-void SelectionHandler::selectionPositionChanged(bool forceUpdateWithoutChange)
-{
- SelectionLog(Platform::LogLevelInfo,
- "SelectionHandler::selectionPositionChanged forceUpdateWithoutChange = %s",
- forceUpdateWithoutChange ? "true" : "false");
-
- // This method can get called during WebPage shutdown process.
- // If that is the case, just bail out since the client is not
- // in a safe state of trust to request anything else from it.
- if (!m_webPage->m_mainFrame)
- return;
-
- if (m_webPage->m_inputHandler->isInputMode() && m_webPage->m_inputHandler->processingChange()) {
- if (m_webPage->m_selectionOverlay)
- m_webPage->m_selectionOverlay->hide();
- m_webPage->m_client->cancelSelectionVisuals();
-
- // Since we're not calling notifyCaretPositionChangedIfNeeded now, we have to do so at the end of processing
- // to avoid dropping a notification.
- m_didSuppressCaretPositionChangedNotification = true;
- return;
- }
-
- notifyCaretPositionChangedIfNeeded(m_webPage->m_touchEventHandler->m_userTriggeredTouchPressOnTextInput);
-
- // Enter selection mode if selection type is RangeSelection, and disable selection if
- // selection is active and becomes caret selection.
- Frame* frame = m_webPage->focusedOrMainFrame();
-
- if (frame->view()->needsLayout())
- return;
-
- WebCore::IntPoint framePos = m_webPage->frameOffset(frame);
- if (m_selectionActive && (m_caretActive || frame->selection()->isNone()))
- m_selectionActive = false;
- else if (frame->selection()->isRange())
- m_selectionActive = true;
- else if (!m_selectionActive)
- return;
-
- if (Node* focusedNode = frame->document()->focusedElement()) {
- if (focusedNode->hasTagName(HTMLNames::selectTag) || (focusedNode->isElementNode() && DOMSupport::isPopupInputField(toElement(focusedNode)))) {
- SelectionLog(Platform::LogLevelInfo, "SelectionHandler::selectionPositionChanged selection is on a popup control, skipping rendering.");
- return;
- }
- }
-
- SelectionTimingLog(Platform::LogLevelInfo,
- "SelectionHandler::selectionPositionChanged starting at %f",
- m_timer.elapsed());
-
- WebCore::IntRect startCaret(DOMSupport::InvalidPoint, WebCore::IntSize());
- WebCore::IntRect endCaret(DOMSupport::InvalidPoint, WebCore::IntSize());
-
- // Get the text rects from the selections range.
- Vector<FloatQuad> quads;
- DOMSupport::visibleTextQuads(frame->selection()->selection(), quads);
-
- IntRectRegion unclippedRegion;
- regionForTextQuads(quads, unclippedRegion, false /* shouldClipToVisibleContent */);
-
- // If there is no change in selected text and the visual rects
- // have not changed then don't bother notifying anything.
- if (!forceUpdateWithoutChange && m_lastSelectionRegion.isEqual(unclippedRegion))
- return;
-
- m_lastSelectionRegion = unclippedRegion;
- bool isRTL = directionOfEnclosingBlock(frame->selection()) == RTL;
-
- IntRectRegion visibleSelectionRegion;
- if (!unclippedRegion.isEmpty()) {
- WebCore::IntRect unclippedStartCaret;
- WebCore::IntRect unclippedEndCaret;
-
- WebCore::IntPoint startCaretReferencePoint = referencePoint(frame->selection()->selection().visibleStart(), unclippedRegion.extents(), framePos, true /* isStartCaret */, isRTL);
- WebCore::IntPoint endCaretReferencePoint = referencePoint(frame->selection()->selection().visibleEnd(), unclippedRegion.extents(), framePos, false /* isStartCaret */, isRTL);
-
- adjustCaretRects(unclippedStartCaret, false /* unclipped */, unclippedEndCaret, false /* unclipped */, unclippedRegion.rects(), startCaretReferencePoint, endCaretReferencePoint, isRTL);
-
- regionForTextQuads(quads, visibleSelectionRegion);
-
-#if SHOWDEBUG_SELECTIONHANDLER // Don't rely just on SelectionLog to avoid loop.
- for (unsigned i = 0; i < unclippedRegion.numRects(); i++) {
- SelectionLog(Platform::LogLevelInfo,
- "Rect list - Unmodified #%d, %s",
- i,
- unclippedRegion.rects()[i].toString().c_str());
- }
- for (unsigned i = 0; i < visibleSelectionRegion.numRects(); i++) {
- SelectionLog(Platform::LogLevelInfo,
- "Rect list - Clipped to Visible #%d, %s",
- i,
- visibleSelectionRegion.rects()[i].toString().c_str());
- }
-#endif
-
- bool shouldCareAboutPossibleClippedOutSelection = frame != m_webPage->mainFrame() || m_webPage->m_inputHandler->isInputMode();
-
- if (!visibleSelectionRegion.isEmpty() || shouldCareAboutPossibleClippedOutSelection) {
- // Adjust the handle markers to be at the end of the painted rect. When selecting links
- // and other elements that may have a larger visible area than needs to be rendered a gap
- // can exist between the handle and overlay region.
-
- bool shouldClipStartCaret = !regionRectListContainsPoint(visibleSelectionRegion, unclippedStartCaret.location());
- bool shouldClipEndCaret = !regionRectListContainsPoint(visibleSelectionRegion, unclippedEndCaret.location());
-
- // Find the top corner and bottom corner.
- adjustCaretRects(startCaret, shouldClipStartCaret, endCaret, shouldClipEndCaret, visibleSelectionRegion.rects(), startCaretReferencePoint, endCaretReferencePoint, isRTL);
- }
- }
-
- SelectionLog(Platform::LogLevelInfo,
- "SelectionHandler::selectionPositionChanged Start Rect=%s End Rect=%s",
- Platform::IntRect(startCaret).toString().c_str(),
- Platform::IntRect(endCaret).toString().c_str());
-
- if (m_webPage->m_selectionOverlay)
- m_webPage->m_selectionOverlay->draw(visibleSelectionRegion);
-
- VisibleSelection currentSelection = frame->selection()->selection();
- SelectionDetails details(startCaret, endCaret, visibleSelectionRegion, inputNodeOverridesTouch(),
- m_lastSelection != currentSelection, requestedSelectionHandlePosition(frame->selection()->selection()), isRTL);
-
- m_webPage->m_client->notifySelectionDetailsChanged(details);
- m_lastSelection = currentSelection;
- SelectionTimingLog(Platform::LogLevelInfo,
- "SelectionHandler::selectionPositionChanged completed at %f",
- m_timer.elapsed());
-}
-
-
-void SelectionHandler::notifyCaretPositionChangedIfNeeded(bool userTouchTriggeredOnTextField)
-{
- m_didSuppressCaretPositionChangedNotification = false;
-
- if (m_caretActive || (m_webPage->m_inputHandler->isInputMode() && m_webPage->focusedOrMainFrame()->selection()->isCaret())) {
- // This may update the caret to no longer be active.
- caretPositionChanged(userTouchTriggeredOnTextField);
- }
-}
-
-void SelectionHandler::caretPositionChanged(bool userTouchTriggeredOnTextField)
-{
- SelectionLog(Platform::LogLevelInfo, "SelectionHandler::caretPositionChanged");
-
- WebCore::IntRect caretLocation;
- // If the input field is not active, we must be turning off the caret.
- if (!m_webPage->m_inputHandler->isInputMode() && m_caretActive) {
- m_caretActive = false;
- // Send an empty caret change to turn off the caret.
- m_webPage->m_client->notifyCaretChanged(caretLocation, userTouchTriggeredOnTextField);
- return;
- }
-
- ASSERT(m_webPage && m_webPage->focusedOrMainFrame() && m_webPage->focusedOrMainFrame()->selection());
-
- // This function should only reach this point if input mode is active.
- ASSERT(m_webPage->m_inputHandler->isInputMode());
-
- WebCore::IntRect clippingRectForContent(clippingRectForVisibleContent());
- WebCore::IntPoint frameOffset(m_webPage->frameOffset(m_webPage->focusedOrMainFrame()));
- if (m_webPage->focusedOrMainFrame()->selection()->selectionType() == VisibleSelection::CaretSelection) {
- caretLocation = startCaretViewportRect(frameOffset);
- if (!caretLocation.isEmpty())
- caretLocation.intersect(clippingRectForContent); // Clip against the containing frame and node boundaries.
- }
-
- m_caretActive = !caretLocation.isEmpty();
-
- SelectionLog(Platform::LogLevelInfo,
- "SelectionHandler::caretPositionChanged caret Rect %s",
- Platform::IntRect(caretLocation).toString().c_str());
-
- bool isSingleLineInput = m_caretActive && !m_webPage->m_inputHandler->isMultilineInputMode();
- WebCore::IntRect nodeBoundingBox = isSingleLineInput ? m_webPage->m_inputHandler->boundingBoxForInputField() : WebCore::IntRect();
-
- if (!nodeBoundingBox.isEmpty()) {
- nodeBoundingBox.moveBy(frameOffset);
-
- // Clip against the containing frame and node boundaries.
- nodeBoundingBox.intersect(clippingRectForContent);
- }
-
- SelectionLog(Platform::LogLevelInfo,
- "SelectionHandler::caretPositionChanged: %s line input, single line bounding box %s%s",
- isSingleLineInput ? "single" : "multi",
- Platform::IntRect(nodeBoundingBox).toString().c_str(),
- m_webPage->m_inputHandler->elementText().isEmpty() ? ", empty text field" : "");
-
- m_webPage->m_client->notifyCaretChanged(caretLocation, userTouchTriggeredOnTextField, isSingleLineInput, nodeBoundingBox, m_webPage->m_inputHandler->elementText().isEmpty());
-}
-
-bool SelectionHandler::selectionContains(const WebCore::IntPoint& point)
-{
- ASSERT(m_webPage && m_webPage->focusedOrMainFrame() && m_webPage->focusedOrMainFrame()->selection());
- return m_webPage->focusedOrMainFrame()->selection()->contains(point);
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.h b/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.h
deleted file mode 100644
index 536a0a27e..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 SelectionHandler_h
-#define SelectionHandler_h
-
-#include "BlackBerryPlatformIntRectRegion.h"
-#include "BlackBerryPlatformPrimitives.h"
-#include "BlackBerryPlatformStopWatch.h"
-#include "Color.h"
-#include "TextGranularity.h"
-
-#include <wtf/Vector.h>
-
-namespace WTF {
-class String;
-}
-
-namespace WebCore {
-class FloatQuad;
-class IntPoint;
-class IntRect;
-class Node;
-class VisiblePosition;
-class VisibleSelection;
-}
-
-namespace BlackBerry {
-namespace Platform {
-class String;
-}
-
-namespace WebKit {
-
-class FatFingersResult;
-class WebPagePrivate;
-
-class SelectionHandler {
-public:
- SelectionHandler(WebPagePrivate*);
- ~SelectionHandler();
-
- bool isSelectionActive() { return m_selectionActive; }
- void setSelectionActive(bool active) { m_selectionActive = active; }
-
- void cancelSelection();
- BlackBerry::Platform::String selectedText() const;
-
- bool selectionContains(const WebCore::IntPoint&);
-
- void setSelection(WebCore::IntPoint start, WebCore::IntPoint end);
- void selectAtPoint(const WebCore::IntPoint&, SelectionExpansionType);
- void selectObject(const WebCore::IntPoint&, WebCore::TextGranularity);
- void selectObject(WebCore::TextGranularity);
- void selectObject(WebCore::Node*);
-
- void selectionPositionChanged(bool forceUpdateWithoutChange = false);
-
- void setCaretPosition(const WebCore::IntPoint&);
-
- bool lastUpdatedEndPointIsValid() const { return m_lastUpdatedEndPointIsValid; }
-
- void inputHandlerDidFinishProcessingChange();
-
- void expandSelection(bool isScrollStarted);
- void setOverlayExpansionHeight(int dy) { m_overlayExpansionHeight = dy; }
- void setParagraphExpansionScrollMargin(const WebCore::IntSize&);
- void setSelectionViewportSize(const WebCore::IntSize& selectionViewportSize) { m_selectionViewportSize = selectionViewportSize; }
- void setSelectionSubframeViewportRect(const WebCore::IntRect& selectionSubframeViewportRect) { m_selectionSubframeViewportRect = selectionSubframeViewportRect; }
- WebCore::IntRect selectionViewportRect() const;
-
-private:
- void notifyCaretPositionChangedIfNeeded(bool userTouchTriggeredOnTextField);
- void caretPositionChanged(bool userTouchTriggered);
- void regionForTextQuads(WTF::Vector<WebCore::FloatQuad>&, BlackBerry::Platform::IntRectRegion&, bool shouldClipToVisibleContent = true) const;
- WebCore::IntRect clippingRectForVisibleContent() const;
- bool updateOrHandleInputSelection(WebCore::VisibleSelection& newSelection, const WebCore::IntPoint& relativeStart, const WebCore::IntPoint& relativeEnd);
- WebCore::Node* DOMContainerNodeForVisiblePosition(const WebCore::VisiblePosition&) const;
- bool shouldUpdateSelectionOrCaretForPoint(const WebCore::IntPoint&, const WebCore::IntRect&, bool startCaret = true) const;
- unsigned extendSelectionToFieldBoundary(bool isStartHandle, const WebCore::IntPoint& selectionPoint, WebCore::VisibleSelection& newSelection);
- WebCore::IntPoint clipPointToVisibleContainer(const WebCore::IntPoint&) const;
-
- void selectNextParagraph();
- void drawAnimationOverlay(BlackBerry::Platform::IntRectRegion, bool isExpandingOverlayAtConstantRate, bool isStartOfSelection = false);
- Platform::IntRectRegion regionForSelectionQuads(WebCore::VisibleSelection);
- bool findNextAnimationOverlayRegion();
- bool ensureSelectedTextVisible(const WebCore::IntPoint&, bool scrollIfNeeded);
- bool expandSelectionToGranularity(WebCore::Frame*, WebCore::VisibleSelection, WebCore::TextGranularity, bool isInputMode);
-
- bool inputNodeOverridesTouch() const;
- BlackBerry::Platform::RequestedHandlePosition requestedSelectionHandlePosition(const WebCore::VisibleSelection&) const;
-
- bool selectNodeIfFatFingersResultIsLink(FatFingersResult);
-
- WebCore::IntRect startCaretViewportRect(const WebCore::IntPoint& frameOffset) const;
-
- WebPagePrivate* m_webPage;
-
- bool m_selectionActive;
- bool m_caretActive;
- bool m_lastUpdatedEndPointIsValid;
- bool m_didSuppressCaretPositionChangedNotification;
- BlackBerry::Platform::IntRectRegion m_lastSelectionRegion;
- WebCore::VisiblePosition m_animationOverlayStartPos;
- WebCore::VisiblePosition m_animationOverlayEndPos;
- BlackBerry::Platform::IntRectRegion m_currentAnimationOverlayRegion;
- BlackBerry::Platform::IntRectRegion m_nextAnimationOverlayRegion;
- int m_overlayExpansionHeight;
- WebCore::Color m_animationHighlightColor;
-
- BlackBerry::Platform::StopWatch m_timer;
-
- WebCore::IntSize m_scrollMargin;
- WebCore::IntSize m_selectionViewportSize;
- WebCore::IntRect m_selectionSubframeViewportRect;
- WebCore::VisibleSelection m_lastSelection;
-};
-
-}
-}
-
-#endif // SelectionHandler_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/SelectionOverlay.cpp b/Source/WebKit/blackberry/WebKitSupport/SelectionOverlay.cpp
deleted file mode 100644
index 5eab6eaaf..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/SelectionOverlay.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. 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
- * 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"
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "SelectionOverlay.h"
-
-#include "Frame.h"
-#include "GraphicsContext.h"
-#include "LayerMessage.h"
-#include "LayerWebKitThread.h"
-#include "Path.h"
-#include "RenderTheme.h"
-#include "RenderView.h"
-#include "WebPage_p.h"
-
-#include <BlackBerryPlatformMessageClient.h>
-
-using namespace WebCore;
-
-namespace BlackBerry {
-namespace WebKit {
-
-SelectionOverlay::SelectionOverlay(WebPagePrivate* page)
- : m_page(page)
-{
-}
-
-SelectionOverlay::~SelectionOverlay()
-{
-}
-
-void SelectionOverlay::draw(const Selection& selection)
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
- m_selection = selection;
-
- while (m_layers.size() < static_cast<size_t>(m_selection.size()))
- m_layers.append(GraphicsLayer::create(this));
-
- m_layers.resize(m_selection.size());
-
- size_t i = 0;
- for (Selection::iterator it = m_selection.begin(); it != m_selection.end(); ++it, ++i) {
- GraphicsLayer* parent = it->key;
- GraphicsLayer* overlay = m_layers[i].get();
-
- parent->platformLayer()->addOverlay(overlay->platformLayer());
- overlay->setPosition(FloatPoint::zero());
- if (parent == m_page->m_overlayLayer)
- overlay->setSize(m_page->contentsSize());
- else
- overlay->setSize(parent->size());
- overlay->setAnchorPoint(FloatPoint3D(0, 0, 0));
- overlay->setDrawsContent(true);
- overlay->setNeedsDisplay();
- }
-}
-
-void SelectionOverlay::hide()
-{
- ASSERT(BlackBerry::Platform::webKitThreadMessageClient()->isCurrentThread());
-
- for (size_t i = 0; i < m_layers.size(); ++i)
- m_layers[i]->platformLayer()->removeFromSuperlayer();
- m_selection.clear();
-}
-
-void SelectionOverlay::notifyFlushRequired(const GraphicsLayer* layer)
-{
- m_page->notifyFlushRequired(layer);
-}
-
-void SelectionOverlay::paintContents(const GraphicsLayer* layer, GraphicsContext& c, GraphicsLayerPaintingPhase, const IntRect& inClip)
-{
- if (!layer->platformLayer()->superlayer())
- return;
-
- Selection::iterator it = m_selection.find(layer->platformLayer()->superlayer()->owner());
- if (it == m_selection.end())
- return;
-
- const Vector<WebCore::FloatQuad>& quads = it->value;
- GraphicsLayer* parent = it->key;
-
- IntRect clip(inClip);
- clip.move(parent->offsetFromRenderer().width(), parent->offsetFromRenderer().height());
-
- c.save();
-
- c.translate(-parent->offsetFromRenderer().width(), -parent->offsetFromRenderer().height());
-
- Color color = RenderTheme::defaultTheme()->activeSelectionBackgroundColor();
- c.setFillColor(color, ColorSpaceDeviceRGB);
-
- for (unsigned i = 0; i < quads.size(); ++i) {
- FloatRect rectToPaint = quads[i].boundingBox();
-
- // Selection on non-composited sub-frames need to be adjusted.
- if (!m_page->focusedOrMainFrame()->contentRenderer()->isComposited()) {
- WebCore::IntPoint framePosition = m_page->frameOffset(m_page->focusedOrMainFrame());
- rectToPaint.move(framePosition.x(), framePosition.y());
- }
-
- rectToPaint.intersect(clip);
- if (rectToPaint.isEmpty())
- continue;
-
- c.fillRect(rectToPaint);
- }
-
- c.restore();
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // USE(ACCELERATED_COMPOSITING)
diff --git a/Source/WebKit/blackberry/WebKitSupport/SelectionOverlay.h b/Source/WebKit/blackberry/WebKitSupport/SelectionOverlay.h
deleted file mode 100644
index 79f077ae8..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/SelectionOverlay.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. 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
- * 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 SelectionOverlay_h
-#define SelectionOverlay_h
-
-#include "BlackBerryGlobal.h"
-
-#if USE(ACCELERATED_COMPOSITING)
-
-#include "Color.h"
-#include "FloatQuad.h"
-#include "GraphicsLayerClient.h"
-#include "IntRect.h"
-
-#include <BlackBerryPlatformIntRectRegion.h>
-#include <wtf/HashMap.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/Vector.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebPagePrivate;
-
-class SelectionOverlay : public WebCore::GraphicsLayerClient {
-public:
- typedef HashMap<WebCore::GraphicsLayer*, Vector<WebCore::FloatQuad> > Selection;
-
- static PassOwnPtr<SelectionOverlay> create(WebPagePrivate* page)
- {
- return adoptPtr(new SelectionOverlay(page));
- }
-
- ~SelectionOverlay();
-
- void draw(const Selection&);
- void hide();
-
- // GraphicsLayerClient
- virtual void notifyAnimationStarted(const WebCore::GraphicsLayer*, double) { }
- virtual void notifyFlushRequired(const WebCore::GraphicsLayer*);
- virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect&);
-
-private:
- SelectionOverlay(WebPagePrivate*);
-
- WebPagePrivate* m_page;
- Selection m_selection;
- Vector<OwnPtr<WebCore::GraphicsLayer> > m_layers;
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif // USE(ACCELERATED_COMPOSITING)
-
-#endif // SelectionOverlay_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/SpellingHandler.cpp b/Source/WebKit/blackberry/WebKitSupport/SpellingHandler.cpp
deleted file mode 100644
index d1f59c08e..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/SpellingHandler.cpp
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (C) Research In Motion Limited 2013. All rights reserved.
- */
-
-#include "config.h"
-#include "SpellingHandler.h"
-
-#include "DOMSupport.h"
-#include "Frame.h"
-#include "InputHandler.h"
-#include "Range.h"
-#include "SpellChecker.h"
-#include "VisibleUnits.h"
-
-#include <BlackBerryPlatformIMF.h>
-#include <BlackBerryPlatformLog.h>
-#include <BlackBerryPlatformStopWatch.h>
-
-#define ENABLE_SPELLING_LOG 0
-
-using namespace BlackBerry::Platform;
-using namespace WebCore;
-
-#if ENABLE_SPELLING_LOG
-#define SpellingLog(severity, format, ...) Platform::logAlways(severity, format, ## __VA_ARGS__)
-#else
-#define SpellingLog(severity, format, ...)
-#endif // ENABLE_SPELLING_LOG
-
-static const double s_timeout = 0.05;
-
-namespace BlackBerry {
-namespace WebKit {
-
-SpellingHandler::SpellingHandler(InputHandler* inputHandler)
- : m_inputHandler(inputHandler)
- , m_iterationDelayTimer(this, &SpellingHandler::parseBlockForSpellChecking)
- , m_isSpellCheckActive(false)
-{
-}
-
-SpellingHandler::~SpellingHandler()
-{
-}
-
-void SpellingHandler::spellCheckTextBlock(const WebCore::Element* element, WebCore::TextCheckingProcessType textCheckingProcessType)
-{
- SpellingLog(Platform::LogLevelInfo, "SpellingHandler::spellCheckTextBlock received request of type %s",
- textCheckingProcessType == TextCheckingProcessBatch ? "Batch" : "Incremental");
-
- if (!(element->document() && element->document()->frame() && element->document()->frame()->selection()))
- return;
-
- VisiblePosition caretPosition = element->document()->frame()->selection()->start();
- // Expand the range to include the previous line. This should handle cases when the user hits enter to finish composing a word and create a new line.
- // Account for word wrapping by jumping to the start of the previous line, then moving to the start of any word which might be there.
- VisibleSelection visibleSelection = VisibleSelection(
- startOfWord(startOfLine(previousLinePosition(caretPosition, caretPosition.lineDirectionPointForBlockDirectionNavigation()))),
- endOfWord(endOfLine(caretPosition)));
-
- // Check if this request can be sent off in one message, or if it needs to be broken down.
- RefPtr<Range> rangeForSpellChecking = visibleSelection.toNormalizedRange();
- if (!rangeForSpellChecking || !rangeForSpellChecking->text() || !rangeForSpellChecking->text().length())
- return;
-
- m_textCheckingProcessType = textCheckingProcessType;
-
- // Spellcheck Batch requests are used when focusing an element. During this time, we might have a lingering request
- // from a previously focused element.
- if (m_textCheckingProcessType == TextCheckingProcessBatch) {
- // If a previous request is being processed, stop it before continueing.
- if (m_iterationDelayTimer.isActive())
- m_iterationDelayTimer.stop();
- }
-
- m_isSpellCheckActive = true;
-
- // If we have a batch request, try to send off the entire block.
- if (m_textCheckingProcessType == TextCheckingProcessBatch) {
- // If total block text is under the limited amount, send the entire chunk.
- if (rangeForSpellChecking->text().length() < MaxSpellCheckingStringLength) {
- SpellingLog(Platform::LogLevelInfo, "SpellingHandler::spellCheckTextBlock creating single batch request");
- createSpellCheckRequest(rangeForSpellChecking);
- return;
- }
- }
-
- // Since we couldn't check the entire block at once, set up starting and ending markers to fire incrementally.
- // Find the start and end of the region we're intending on checking
- m_startPosition = visibleSelection.visibleStart();
- m_endPosition = endOfWord(m_startPosition);
- m_endOfRange = visibleSelection.visibleEnd();
- m_cachedEndPosition = m_endOfRange;
-
- SpellingLog(Platform::LogLevelInfo, "SpellingHandler::spellCheckTextBlock starting first iteration");
- m_iterationDelayTimer.startOneShot(0);
-}
-
-void SpellingHandler::createSpellCheckRequest(const PassRefPtr<WebCore::Range> rangeForSpellCheckingPtr)
-{
- RefPtr<WebCore::Range> rangeForSpellChecking = rangeForSpellCheckingPtr;
- rangeForSpellChecking = DOMSupport::trimWhitespaceFromRange(rangeForSpellChecking);
- if (!rangeForSpellChecking)
- return;
-
- if (rangeForSpellChecking->text().length() >= MinSpellCheckingStringLength) {
- SpellingLog(Platform::LogLevelInfo, "SpellingHandler::createSpellCheckRequest Substring text is '%s', of size %d"
- , rangeForSpellChecking->text().latin1().data()
- , rangeForSpellChecking->text().length());
- m_inputHandler->callRequestCheckingFor(SpellCheckRequest::create(TextCheckingTypeSpelling, m_textCheckingProcessType, rangeForSpellChecking, rangeForSpellChecking));
- }
-}
-
-void SpellingHandler::parseBlockForSpellChecking(WebCore::Timer<SpellingHandler>*)
-{
-#if ENABLE_SPELLING_LOG
- BlackBerry::Platform::StopWatch timer;
- timer.start();
-#endif
- SpellingLog(Platform::LogLevelInfo, "SpellingHandler::parseBlockForSpellChecking m_startPosition = %d, m_endPosition = %d, m_cachedEndPosition = %d, m_endOfRange = %d"
- , DOMSupport::offsetFromStartOfBlock(m_startPosition)
- , DOMSupport::offsetFromStartOfBlock(m_endPosition)
- , DOMSupport::offsetFromStartOfBlock(m_cachedEndPosition)
- , DOMSupport::offsetFromStartOfBlock(m_endOfRange));
-
- if (m_startPosition == m_endOfRange)
- return;
-
- RefPtr<Range> rangeForSpellChecking = makeRange(m_startPosition, m_endPosition);
- if (!rangeForSpellChecking) {
- SpellingLog(Platform::LogLevelInfo, "SpellingHandler::parseBlockForSpellChecking Failed to set text range for spellchecking.");
- return;
- }
-
- if (rangeForSpellChecking->text().length() < MaxSpellCheckingStringLength) {
- if (m_endPosition == m_endOfRange || m_cachedEndPosition == m_endPosition) {
- createSpellCheckRequest(rangeForSpellChecking);
- m_isSpellCheckActive = false;
- return;
- }
-
- incrementSentinels(false /* shouldIncrementStartPosition */);
-#if ENABLE_SPELLING_LOG
- SpellingLog(Platform::LogLevelInfo, "SpellingHandler::parseBlockForSpellChecking spellcheck iteration took %lf seconds", timer.elapsed());
-#endif
- m_iterationDelayTimer.startOneShot(s_timeout);
- return;
- }
-
- // Create a spellcheck request with the substring if we have a range that is of size less than MaxSpellCheckingStringLength
- if (rangeForSpellChecking = handleOversizedRange())
- createSpellCheckRequest(rangeForSpellChecking);
-
- if (isSpellCheckActive()) {
-#if ENABLE_SPELLING_LOG
- SpellingLog(Platform::LogLevelInfo, "SpellingHandler::parseBlockForSpellChecking spellcheck iteration took %lf seconds", timer.elapsed());
-#endif
- m_iterationDelayTimer.startOneShot(s_timeout);
- }
-}
-
-PassRefPtr<Range> SpellingHandler::handleOversizedRange()
-{
- SpellingLog(Platform::LogLevelInfo, "SpellingHandler::handleOversizedRange");
-
- if (m_startPosition == m_cachedEndPosition || m_startPosition == startOfWord(m_endPosition, LeftWordIfOnBoundary)) {
- // Our first word has gone over the character limit. Increment the starting position past an uncheckable word.
- incrementSentinels(true /* shouldIncrementStartPosition */);
- return 0;
- }
-
- // If this is not the first word, return a Range with end boundary set to the previous word.
- RefPtr<Range> rangeToStartOfOversizedWord = makeRange(m_startPosition, m_cachedEndPosition);
- // We've created the range using the cached end position. Now increment the sentinals forward.
- // FIXME Incrementing the start/end positions outside of incrementSentinels
- m_startPosition = m_cachedEndPosition;
- m_endPosition = endOfWord(m_startPosition);
- return rangeToStartOfOversizedWord;
-}
-
-void SpellingHandler::incrementSentinels(bool shouldIncrementStartPosition)
-{
- SpellingLog(Platform::LogLevelInfo, "SpellingHandler::incrementSentinels shouldIncrementStartPosition %s", shouldIncrementStartPosition ? "true" : "false");
-
- if (shouldIncrementStartPosition)
- m_startPosition = m_endPosition;
-
- VisiblePosition nextWord = nextWordPosition(m_endPosition);
- VisiblePosition startOfNextWord = startOfWord(nextWord, LeftWordIfOnBoundary);
- if (DOMSupport::isRangeTextAllWhitespace(m_endPosition, startOfNextWord)) {
- m_cachedEndPosition = startOfNextWord;
- m_endPosition = endOfWord(startOfNextWord);
- return;
- }
-
- m_cachedEndPosition = m_endPosition;
- m_endPosition = endOfWord(nextWord);
-}
-
-} // WebKit
-} // BlackBerry
diff --git a/Source/WebKit/blackberry/WebKitSupport/SpellingHandler.h b/Source/WebKit/blackberry/WebKitSupport/SpellingHandler.h
deleted file mode 100644
index 15f0c72cc..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/SpellingHandler.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) Research In Motion Limited 2013. All rights reserved.
- */
-
-#ifndef SpellingHandler_h
-#define SpellingHandler_h
-
-#include "TextCheckerClient.h"
-#include "Timer.h"
-#include "VisiblePosition.h"
-#include "VisibleSelection.h"
-
-#include <wtf/RefPtr.h>
-
-/**
- * SpellingHandler
- */
-
-namespace WebCore {
-class Range;
-}
-
-namespace BlackBerry {
-namespace WebKit {
-
-class InputHandler;
-
-class SpellingHandler {
-public:
- SpellingHandler(InputHandler*);
- ~SpellingHandler();
-
- void spellCheckTextBlock(const WebCore::Element*, const WebCore::TextCheckingProcessType);
- bool isSpellCheckActive() { return m_isSpellCheckActive; }
- void setSpellCheckActive(bool active) { m_isSpellCheckActive = active; }
-
-private:
- void createSpellCheckRequest(PassRefPtr<WebCore::Range> rangeForSpellCheckingPtr);
- void parseBlockForSpellChecking(WebCore::Timer<SpellingHandler>*);
- void incrementSentinels(bool shouldIncrementStartPosition);
- PassRefPtr<WebCore::Range> handleOversizedRange();
-
- InputHandler* m_inputHandler;
-
- WebCore::Timer<SpellingHandler> m_iterationDelayTimer;
- WebCore::VisiblePosition m_startPosition;
- WebCore::VisiblePosition m_endPosition;
- WebCore::VisiblePosition m_cachedEndPosition;
- WebCore::VisiblePosition m_endOfRange;
- WebCore::TextCheckingProcessType m_textCheckingProcessType;
- bool m_isSpellCheckActive;
-};
-
-} // WebKit
-} // BlackBerry
-
-#endif // SpellingHandler_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp b/Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp
deleted file mode 100644
index 51df0a599..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 "SurfacePool.h"
-
-#include <BlackBerryPlatformExecutableMessage.h>
-#include <BlackBerryPlatformGraphics.h>
-#include <BlackBerryPlatformLog.h>
-#include <BlackBerryPlatformMessageClient.h>
-#include <BlackBerryPlatformMisc.h>
-#include <BlackBerryPlatformScreen.h>
-#include <BlackBerryPlatformSettings.h>
-#include <BlackBerryPlatformThreading.h>
-#include <errno.h>
-
-#if BLACKBERRY_PLATFORM_GRAPHICS_EGL
-#include <EGL/eglext.h>
-#endif
-
-namespace BlackBerry {
-namespace WebKit {
-
-#if BLACKBERRY_PLATFORM_GRAPHICS_EGL
-static PFNEGLCREATESYNCKHRPROC eglCreateSyncKHR;
-static PFNEGLDESTROYSYNCKHRPROC eglDestroySyncKHR;
-static PFNEGLCLIENTWAITSYNCKHRPROC eglClientWaitSyncKHR;
-#endif
-
-SurfacePool* SurfacePool::globalSurfacePool()
-{
- static SurfacePool* s_instance = 0;
- if (!s_instance)
- s_instance = new SurfacePool;
- return s_instance;
-}
-
-SurfacePool::SurfacePool()
- : m_numberOfFrontBuffers(0)
- , m_initialized(false)
- , m_buffersSuspended(false)
- , m_hasFenceExtension(false)
-{
-}
-
-int SurfacePool::numberOfBackingStoreFrontBuffers() const
-{
- return m_numberOfFrontBuffers;
-}
-
-void SurfacePool::initialize(const Platform::IntSize& tileSize)
-{
- if (m_initialized)
- return;
- m_initialized = true;
-
- m_numberOfFrontBuffers = Platform::Settings::instance()->numberOfBackingStoreFrontBuffers();
-
- if (!m_numberOfFrontBuffers)
- return; // We completely disable tile rendering when 0 tiles are specified.
-
- const unsigned numberOfBackBuffers = Platform::Settings::instance()->numberOfBackingStoreBackBuffers();
- const unsigned numberOfPoolTiles = m_numberOfFrontBuffers + numberOfBackBuffers; // back buffer
-
- for (size_t i = 0; i < numberOfPoolTiles; ++i)
- m_tileBufferPool.append(new TileBuffer(tileSize));
-
- // All buffers not used as front buffers are used as back buffers.
- // Initially, that's all of them.
- m_availableBackBufferPool = m_tileBufferPool;
-
-#if BLACKBERRY_PLATFORM_GRAPHICS_EGL
- const char* extensions = eglQueryString(Platform::Graphics::eglDisplay(), EGL_EXTENSIONS);
- if (strstr(extensions, "EGL_KHR_fence_sync")) {
- // We assume GL_OES_EGL_sync is present, but we don't check for it because
- // no GL context is current at this point.
- // TODO: check for it
- eglCreateSyncKHR = (PFNEGLCREATESYNCKHRPROC) eglGetProcAddress("eglCreateSyncKHR");
- eglDestroySyncKHR = (PFNEGLDESTROYSYNCKHRPROC) eglGetProcAddress("eglDestroySyncKHR");
- eglClientWaitSyncKHR = (PFNEGLCLIENTWAITSYNCKHRPROC) eglGetProcAddress("eglClientWaitSyncKHR");
- m_hasFenceExtension = eglCreateSyncKHR && eglDestroySyncKHR && eglClientWaitSyncKHR;
- }
-#endif
-
- // m_mutex must be recursive because destroyPlatformSync may be called indirectly
- // from notifyBuffersComposited
- pthread_mutexattr_t attr;
- pthread_mutexattr_init(&attr);
- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
- pthread_mutex_init(&m_mutex, &attr);
- pthread_mutexattr_destroy(&attr);
-}
-
-PlatformGraphicsContext* SurfacePool::createPlatformGraphicsContext(Platform::Graphics::Drawable* drawable) const
-{
- return drawable;
-}
-
-void SurfacePool::destroyPlatformGraphicsContext(PlatformGraphicsContext*) const
-{
-}
-
-unsigned SurfacePool::numberOfAvailableBackBuffers() const
-{
- return m_availableBackBufferPool.size();
-}
-
-TileBuffer* SurfacePool::takeBackBuffer()
-{
- ASSERT(!m_availableBackBufferPool.isEmpty());
- if (m_availableBackBufferPool.isEmpty())
- return 0;
-
- TileBuffer* buffer = m_availableBackBufferPool.first();
-
- // Reorder so we get FIFO semantics. Should minimize fence waiting times.
- for (unsigned i = 0; i < m_availableBackBufferPool.size() - 1; ++i)
- m_availableBackBufferPool[i] = m_availableBackBufferPool[i + 1];
- m_availableBackBufferPool.removeLast();
-
- ASSERT(buffer);
- return buffer;
-}
-
-void SurfacePool::addBackBuffer(TileBuffer* tileBuffer)
-{
- ASSERT(tileBuffer);
- tileBuffer->clearRenderedRegion();
- m_availableBackBufferPool.append(tileBuffer);
-}
-
-void SurfacePool::createBuffers()
-{
- if (!m_initialized || m_tileBufferPool.isEmpty() || !m_buffersSuspended)
- return;
-
- // Create the tile pool.
- for (size_t i = 0; i < m_tileBufferPool.size(); ++i) {
- if (m_tileBufferPool[i]->wasNativeBufferCreated())
- Platform::Graphics::createPixmapBuffer(m_tileBufferPool[i]->nativeBuffer());
- }
-
- m_buffersSuspended = false;
-}
-
-void SurfacePool::releaseBuffers()
-{
- if (!m_initialized || m_tileBufferPool.isEmpty() || m_buffersSuspended)
- return;
-
- m_buffersSuspended = true;
-
- // Release the tile pool.
- for (size_t i = 0; i < m_tileBufferPool.size(); ++i) {
- if (!m_tileBufferPool[i]->wasNativeBufferCreated())
- continue;
- m_tileBufferPool[i]->clearRenderedRegion();
- // Clear the buffer to prevent accidental leakage of (possibly sensitive) pixel data.
- Platform::Graphics::clearBuffer(m_tileBufferPool[i]->nativeBuffer(), 0, 0, 0, 0);
- Platform::Graphics::destroyPixmapBuffer(m_tileBufferPool[i]->nativeBuffer());
- }
-
- Platform::userInterfaceThreadMessageClient()->dispatchSyncMessage(
- Platform::createFunctionCallMessage(&Platform::Graphics::collectThreadSpecificGarbage));
-}
-
-void SurfacePool::waitForBuffer(TileBuffer*)
-{
- if (!m_hasFenceExtension)
- return;
-}
-
-void SurfacePool::notifyBuffersComposited(const TileBufferList&)
-{
- if (!m_hasFenceExtension)
- return;
-}
-
-void SurfacePool::destroyPlatformSync(void*)
-{
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/SurfacePool.h b/Source/WebKit/blackberry/WebKitSupport/SurfacePool.h
deleted file mode 100644
index 3c03bb316..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/SurfacePool.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 SurfacePool_h
-#define SurfacePool_h
-
-#include "BackingStoreTile.h"
-#include "GraphicsContext.h"
-
-#include <BlackBerryPlatformGraphics.h>
-#include <BlackBerryPlatformPrimitives.h>
-#include <pthread.h>
-#include <set>
-#include <wtf/Vector.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class SurfacePool {
-public:
- static SurfacePool* globalSurfacePool();
-
- void initialize(const BlackBerry::Platform::IntSize&);
-
- int isActive() const { return !m_tileBufferPool.isEmpty() && !m_buffersSuspended; }
- int isEmpty() const { return m_tileBufferPool.isEmpty(); }
- int numberOfBackingStoreFrontBuffers() const;
-
- PlatformGraphicsContext* createPlatformGraphicsContext(BlackBerry::Platform::Graphics::Drawable*) const;
- void destroyPlatformGraphicsContext(PlatformGraphicsContext*) const;
-
- // The surface pool will allocate as many back buffers as specified by
- // Platform::Settings::instance()->numberOfBackingStoreBackBuffers() which
- // allows for at least one back buffer to be available for drawing before
- // swapping buffers/geometry to the front.
- unsigned numberOfAvailableBackBuffers() const;
- TileBuffer* takeBackBuffer();
- void addBackBuffer(TileBuffer*);
-
- void releaseBuffers();
- void createBuffers();
-
- // EGLImage synchronization between WebKit and compositing threads
- // TODO: Figure out how to improve the BlackBerry::Platform::Graphics with API that can encapsulate
- // this kind of synchronisation mechanism.
-
- // WebKit thread must waitForBuffer() before rendering to EGLImage
- void waitForBuffer(TileBuffer*);
-
- // Compositing thread must notify the SurfacePool when EGLImages are composited
- void notifyBuffersComposited(const WTF::Vector<TileBuffer*>& buffers);
-
- void destroyPlatformSync(void* platformSync);
-
-private:
- SurfacePool();
-
- typedef WTF::Vector<TileBuffer*> TileBufferList;
- TileBufferList m_tileBufferPool;
- TileBufferList m_availableBackBufferPool;
- unsigned m_numberOfFrontBuffers;
- bool m_initialized; // SurfacePool has been set up, with or without buffers.
- bool m_buffersSuspended; // Buffer objects exist, but pixel memory has been freed.
-
- std::set<void*> m_garbage;
- bool m_hasFenceExtension;
- mutable pthread_mutex_t m_mutex;
-};
-}
-}
-
-#endif // SurfacePool_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/TileIndex.h b/Source/WebKit/blackberry/WebKitSupport/TileIndex.h
deleted file mode 100644
index 328adf541..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/TileIndex.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 TileIndex_h
-#define TileIndex_h
-
-#include <limits>
-#include <wtf/Vector.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class TileIndex {
-public:
- TileIndex()
- : m_i(std::numeric_limits<unsigned>::max())
- , m_j(std::numeric_limits<unsigned>::max()) { }
- TileIndex(unsigned i, unsigned j)
- : m_i(i)
- , m_j(j) { }
- ~TileIndex() { }
-
- unsigned i() const { return m_i; }
- unsigned j() const { return m_j; }
- void setIndex(unsigned i, unsigned j)
- {
- m_i = i;
- m_j = j;
- }
-
- bool isValid() const
- {
- return m_i != std::numeric_limits<unsigned>::max()
- && m_j != std::numeric_limits<unsigned>::max();
- }
-
-private:
- unsigned m_i;
- unsigned m_j;
-};
-
-inline bool operator==(const BlackBerry::WebKit::TileIndex& a, const BlackBerry::WebKit::TileIndex& b)
-{
- return a.i() == b.i() && a.j() == b.j();
-}
-
-inline bool operator!=(const BlackBerry::WebKit::TileIndex& a, const BlackBerry::WebKit::TileIndex& b)
-{
- return a.i() != b.i() || a.j() != b.j();
-}
-
-typedef WTF::Vector<TileIndex> TileIndexList;
-
-}
-}
-
-#endif // TileIndex_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/TileIndexHash.h b/Source/WebKit/blackberry/WebKitSupport/TileIndexHash.h
deleted file mode 100644
index e7601000a..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/TileIndexHash.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 TileIndexHash_h
-#define TileIndexHash_h
-
-#include "TileIndex.h"
-#include <limits>
-#include <wtf/HashMap.h>
-
-using BlackBerry::WebKit::TileIndex;
-
-namespace WTF {
-
-template<> struct IntHash<TileIndex> {
- static unsigned hash(const TileIndex& key) { return pairIntHash(key.i(), key.j()); }
- static bool equal(const TileIndex& a, const TileIndex& b) { return a == b; }
- static const bool safeToCompareToEmptyOrDeleted = true;
-};
-template<> struct DefaultHash<TileIndex> {
- typedef IntHash<TileIndex> Hash;
-};
-
-template<> struct HashTraits<TileIndex> : GenericHashTraits<TileIndex> {
- static const bool emptyValueIsZero = false;
- static const bool needsDestruction = false;
- static TileIndex emptyValue() { return TileIndex(); }
- static void constructDeletedValue(TileIndex& slot)
- {
- new (&slot) TileIndex(std::numeric_limits<unsigned>::max() - 1, std::numeric_limits<unsigned>::max() - 1);
- }
- static bool isDeletedValue(const TileIndex& value)
- {
- return value.i() == (std::numeric_limits<unsigned>::max() - 1) && value.j() == (std::numeric_limits<unsigned>::max() - 1);
- }
-};
-} // namespace WTF
-
-#endif // TileIndexHash_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp b/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp
deleted file mode 100644
index f1f4eab97..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp
+++ /dev/null
@@ -1,305 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012, 2013 Research In Motion Limited. 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
- * 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 "TouchEventHandler.h"
-
-#include "BlackBerryPlatformSystemSound.h"
-#include "DOMSupport.h"
-#include "Document.h"
-#include "DocumentMarkerController.h"
-#include "FocusController.h"
-#include "Frame.h"
-#include "FrameView.h"
-#include "HTMLAnchorElement.h"
-#include "HTMLAreaElement.h"
-#include "HTMLImageElement.h"
-#include "HTMLInputElement.h"
-#include "HTMLNames.h"
-#include "HTMLPlugInElement.h"
-#include "InRegionScroller_p.h"
-#include "InputHandler.h"
-#include "IntRect.h"
-#include "IntSize.h"
-#include "Node.h"
-#include "Page.h"
-#include "PlatformMouseEvent.h"
-#include "PlatformTouchEvent.h"
-#include "RenderLayer.h"
-#include "RenderTheme.h"
-#include "RenderView.h"
-#include "SelectionHandler.h"
-#include "WebKitThreadViewportAccessor.h"
-#include "WebPage_p.h"
-#include "WebTapHighlight.h"
-
-#include <BlackBerryPlatformViewportAccessor.h>
-#include <wtf/MathExtras.h>
-
-using namespace WebCore;
-using namespace WTF;
-
-namespace BlackBerry {
-namespace WebKit {
-
-TouchEventHandler::TouchEventHandler(WebPagePrivate* webpage)
- : m_webPage(webpage)
- , m_existingTouchMode(ProcessedTouchEvents)
- , m_shouldRequestSpellCheckOptions(false)
-{
-}
-
-TouchEventHandler::~TouchEventHandler()
-{
-}
-
-void TouchEventHandler::doFatFingers(const Platform::TouchPoint& point)
-{
- m_lastScreenPoint = point.screenPosition();
- m_lastFatFingersResult.reset(); // Theoretically this shouldn't be required. Keep it just in case states get mangled.
- m_webPage->postponeDocumentStyleRecalc();
- m_lastFatFingersResult = FatFingers(m_webPage, point.documentContentPosition(), FatFingers::ClickableElement).findBestPoint();
- m_webPage->resumeDocumentStyleRecalc();
-}
-
-void TouchEventHandler::sendClickAtFatFingersPoint(unsigned modifiers)
-{
- bool shiftActive = modifiers & KEYMOD_SHIFT;
- bool altActive = modifiers & KEYMOD_ALT;
- bool ctrlActive = modifiers & KEYMOD_CTRL;
-
- handleFatFingerPressed(shiftActive, altActive, ctrlActive);
-
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->m_webkitThreadViewportAccessor;
- IntPoint documentViewportAdjustedPosition = viewportAccessor->documentViewportFromContents(m_lastFatFingersResult.adjustedPosition());
- PlatformMouseEvent mouseRelease(documentViewportAdjustedPosition, m_lastScreenPoint, PlatformEvent::MouseReleased, 1, LeftButton, shiftActive, ctrlActive, altActive, TouchScreen);
-
- m_webPage->handleMouseEvent(mouseRelease);
-}
-
-void TouchEventHandler::handleTouchHold()
-{
- // Clear and reset focus if the user touch-holds on a different frame.
- // Special case for highlighting text on a frame not currently under focus [PR 285211].
- Node* nodeUnderFatFinger = m_lastFatFingersResult.node();
- if (nodeUnderFatFinger && nodeUnderFatFinger->document()->frame() != m_webPage->focusedOrMainFrame()) {
- m_webPage->clearFocusNode();
- m_webPage->m_selectionHandler->cancelSelection();
- m_webPage->m_page->focusController()->setFocusedFrame(nodeUnderFatFinger->document()->frame());
- }
-}
-
-void TouchEventHandler::handleTouchPoint(const Platform::TouchPoint& point, unsigned modifiers)
-{
- // Enable input mode on any touch event.
- m_webPage->m_inputHandler->setInputModeEnabled();
-
- bool shiftActive = modifiers & KEYMOD_SHIFT;
- bool altActive = modifiers & KEYMOD_ALT;
- bool ctrlActive = modifiers & KEYMOD_CTRL;
-
- switch (point.state()) {
- case Platform::TouchPoint::TouchPressed:
- {
- // Clear spellcheck state on any touch event
- m_webPage->m_inputHandler->clearDidSpellCheckState();
-
- if (!m_lastFatFingersResult.isValid())
- doFatFingers(point);
-
- // Check for text selection
- if (m_lastFatFingersResult.isTextInput()) {
- Element* elementUnderFatFinger = m_lastFatFingersResult.nodeAsElementIfApplicable(FatFingersResult::ShadowContentNotAllowed, true /* shouldUseRootEditableElement */);
- m_shouldRequestSpellCheckOptions = m_webPage->m_inputHandler->shouldRequestSpellCheckingOptionsForPoint(m_lastFatFingersResult.adjustedPosition(), elementUnderFatFinger, m_spellCheckOptionRequest);
- }
-
- m_webPage->m_inputHandler->elementTouched(lastFatFingersResult().nodeAsElementIfApplicable(FatFingersResult::ShadowContentNotAllowed));
-
- handleFatFingerPressed(shiftActive, altActive, ctrlActive);
- break;
- }
- case Platform::TouchPoint::TouchReleased:
- {
-
- if (!m_shouldRequestSpellCheckOptions)
- m_webPage->m_inputHandler->processPendingKeyboardVisibilityChange();
-
- // The rebase has eliminated a necessary event when the mouse does not
- // trigger an actual selection change preventing re-showing of the
- // keyboard. If input mode is active, call showVirtualKeyboard which
- // will update the state and display keyboard if needed.
- if (m_webPage->m_inputHandler->isInputMode())
- m_webPage->m_inputHandler->notifyClientOfKeyboardVisibilityChange(true);
-
- m_webPage->m_tapHighlight->hide();
- m_webPage->m_selectionHighlight->hide();
-
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->m_webkitThreadViewportAccessor;
- IntPoint documentViewportAdjustedPosition = viewportAccessor->documentViewportFromContents(m_lastFatFingersResult.adjustedPosition());
- PlatformMouseEvent mouseEvent(documentViewportAdjustedPosition, m_lastScreenPoint, PlatformEvent::MouseReleased, 1, LeftButton, shiftActive, ctrlActive, altActive, TouchScreen);
-
- m_webPage->handleMouseEvent(mouseEvent);
-
- if (m_shouldRequestSpellCheckOptions) {
- IntPoint pixelPositionRelativeToViewport = viewportAccessor->pixelViewportFromContents(
- viewportAccessor->roundToPixelFromDocumentContents(WebCore::FloatPoint(m_lastFatFingersResult.adjustedPosition())));
- IntSize screenOffset(m_lastScreenPoint - pixelPositionRelativeToViewport);
- m_webPage->m_inputHandler->requestSpellingCheckingOptions(m_spellCheckOptionRequest, screenOffset);
- m_shouldRequestSpellCheckOptions = false;
- }
-
- m_lastFatFingersResult.reset(); // Reset the fat finger result as its no longer valid when a user's finger is not on the screen.
- break;
- }
- case Platform::TouchPoint::TouchMoved:
- {
- // Clear spellcheck state on any touch event
- m_webPage->m_inputHandler->clearDidSpellCheckState();
-
- // You can still send mouse move events
- PlatformMouseEvent mouseEvent(point.documentViewportPosition(), m_lastScreenPoint, PlatformEvent::MouseMoved, 1, LeftButton, shiftActive, ctrlActive, altActive, TouchScreen);
- m_lastScreenPoint = point.screenPosition();
- m_webPage->handleMouseEvent(mouseEvent);
- break;
- }
- default:
- break;
- }
-}
-
-void TouchEventHandler::handleFatFingerPressed(bool shiftActive, bool altActive, bool ctrlActive)
-{
- const Platform::ViewportAccessor* viewportAccessor = m_webPage->m_webkitThreadViewportAccessor;
- IntPoint documentViewportAdjustedPosition = viewportAccessor->documentViewportFromContents(m_lastFatFingersResult.adjustedPosition());
-
- // First update the mouse position with a MouseMoved event.
- PlatformMouseEvent mouseMoveEvent(documentViewportAdjustedPosition, m_lastScreenPoint, PlatformEvent::MouseMoved, 0, LeftButton, shiftActive, ctrlActive, altActive, TouchScreen);
- m_webPage->handleMouseEvent(mouseMoveEvent);
-
- // Then send the MousePressed event.
- PlatformMouseEvent mousePressedEvent(documentViewportAdjustedPosition, m_lastScreenPoint, PlatformEvent::MousePressed, 1, LeftButton, shiftActive, ctrlActive, altActive, TouchScreen);
- m_webPage->handleMouseEvent(mousePressedEvent);
-}
-
-// This method filters what element will get tap-highlight'ed or not. To start with,
-// we are going to highlight links (anchors with a valid href element), and elements
-// whose tap highlight color value is different than the default value.
-static Element* elementForTapHighlight(Element* elementUnderFatFinger)
-{
- // Do not bail out right way here if there element does not have a renderer.
- // It is the casefor <map> (descendent of <area>) elements. The associated <image>
- // element actually has the renderer.
- if (elementUnderFatFinger->renderer()) {
- Color tapHighlightColor = elementUnderFatFinger->renderStyle()->tapHighlightColor();
- if (tapHighlightColor != RenderTheme::defaultTheme()->platformTapHighlightColor())
- return elementUnderFatFinger;
- }
-
- bool isArea = isHTMLAreaElement(elementUnderFatFinger);
- Node* linkNode = elementUnderFatFinger->isLink() ? elementUnderFatFinger : 0;
- if (!linkNode || !linkNode->isHTMLElement() || (!linkNode->renderer() && !isArea))
- return 0;
-
- ASSERT(linkNode->isLink());
-
- // FatFingers class selector ensure only anchor with valid href attr value get here.
- // It includes empty hrefs.
- Element* highlightCandidateElement = toElement(linkNode);
-
- if (!isArea)
- return highlightCandidateElement;
-
- HTMLAreaElement* area = toHTMLAreaElement(highlightCandidateElement);
- HTMLImageElement* image = area->imageElement();
- if (image && image->renderer())
- return image;
-
- return 0;
-}
-
-void TouchEventHandler::drawTapHighlight()
-{
- Element* elementUnderFatFinger = m_lastFatFingersResult.nodeAsElementIfApplicable();
- if (!elementUnderFatFinger)
- return;
-
- Element* element = elementForTapHighlight(elementUnderFatFinger);
- if (!element)
- return;
-
- // Get the element bounding rect in transformed coordinates so we can extract
- // the focus ring relative position each rect.
- RenderObject* renderer = element->renderer();
- ASSERT(renderer);
-
- Frame* elementFrame = element->document()->frame();
- ASSERT(elementFrame);
-
- FrameView* elementFrameView = elementFrame->view();
- if (!elementFrameView)
- return;
-
- // Tell the client if the element is either in a scrollable container or in a fixed positioned container.
- // On the client side, this info is being used to hide the tap highlight window on scroll.
- RenderLayer* layer = m_webPage->enclosingFixedPositionedAncestorOrSelfIfFixedPositioned(renderer->enclosingLayer());
- bool shouldHideTapHighlightRightAfterScrolling = !layer->renderer()->isRenderView();
- shouldHideTapHighlightRightAfterScrolling |= !!m_webPage->m_inRegionScroller->d->isActive();
-
- IntPoint framePos(m_webPage->frameOffset(elementFrame));
-
- // FIXME: We can get more precise on the <map> case by calculating the rect with HTMLAreaElement::computeRect().
- IntRect absoluteRect(renderer->absoluteClippedOverflowRect());
- absoluteRect.move(framePos.x(), framePos.y());
-
- IntRect clippingRect;
- if (elementFrame == m_webPage->mainFrame())
- clippingRect = IntRect(IntPoint(0, 0), elementFrameView->contentsSize());
- else
- clippingRect = m_webPage->mainFrame()->view()->windowToContents(m_webPage->getRecursiveVisibleWindowRect(elementFrameView, true /*noClipToMainFrame*/));
- clippingRect = intersection(absoluteRect, clippingRect);
-
- Vector<FloatQuad> focusRingQuads;
- renderer->absoluteFocusRingQuads(focusRingQuads);
-
- Platform::IntRectRegion region;
- for (size_t i = 0; i < focusRingQuads.size(); ++i) {
- IntRect rect = focusRingQuads[i].enclosingBoundingBox();
- rect.move(framePos.x(), framePos.y());
- IntRect clippedRect = intersection(clippingRect, rect);
- // FIXME we shouldn't have any empty rects here PR 246960
- if (clippedRect.isEmpty())
- continue;
- clippedRect.inflate(2);
- region = unionRegions(region, Platform::IntRect(clippedRect));
- }
-
- Color highlightColor = element->renderStyle()->tapHighlightColor();
-
- m_webPage->m_tapHighlight->draw(region,
- highlightColor.red(), highlightColor.green(), highlightColor.blue(), highlightColor.alpha(),
- shouldHideTapHighlightRightAfterScrolling);
-}
-
-void TouchEventHandler::playSoundIfAnchorIsTarget() const
-{
- if (m_lastFatFingersResult.node() && m_lastFatFingersResult.node()->isLink())
- BlackBerry::Platform::SystemSound::instance()->playSound(BlackBerry::Platform::SystemSoundType::InputKeypress);
-}
-
-}
-}
diff --git a/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.h b/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.h
deleted file mode 100644
index 3d8192b98..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Research In Motion Limited. 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
- * 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 TouchEventHandler_h
-#define TouchEventHandler_h
-
-#include "ChromeClient.h"
-#include "FatFingers.h"
-#include "IntPoint.h"
-
-#include <BlackBerryPlatformTouchEvent.h>
-
-namespace BlackBerry {
-namespace WebKit {
-
-class WebPagePrivate;
-
-class TouchEventHandler {
-public:
- TouchEventHandler(WebPagePrivate* webpage);
- ~TouchEventHandler();
-
- void doFatFingers(const Platform::TouchPoint&);
- void handleTouchHold();
- void handleTouchPoint(const Platform::TouchPoint&, unsigned modifiers);
- void sendClickAtFatFingersPoint(unsigned modifiers = 0);
-
- const FatFingersResult& lastFatFingersResult() const { return m_lastFatFingersResult; }
- void cacheTextResult(FatFingersResult result) { m_lastTextResult = result; }
- void resetLastFatFingersResult() { m_lastFatFingersResult.reset(); }
-
- void playSoundIfAnchorIsTarget() const;
-
- void drawTapHighlight();
-
- // This value should reset to false on MouseReleased
- bool m_userTriggeredTouchPressOnTextInput;
-
-private:
- void handleFatFingerPressed(bool shiftActive = false, bool altActive = false, bool ctrlActive = false);
-
-private:
- WebPagePrivate* m_webPage;
-
- WebCore::TouchEventMode m_existingTouchMode;
- WebCore::IntPoint m_lastScreenPoint; // Screen Position
- FatFingersResult m_lastFatFingersResult;
- FatFingersResult m_lastTextResult;
- imf_sp_text_t m_spellCheckOptionRequest;
- bool m_shouldRequestSpellCheckOptions;
-
-};
-
-}
-}
-
-#endif // TouchEventHandler_h
diff --git a/Source/WebKit/blackberry/WebKitSupport/WebKitThreadViewportAccessor.cpp b/Source/WebKit/blackberry/WebKitSupport/WebKitThreadViewportAccessor.cpp
deleted file mode 100644
index d7c01d45c..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/WebKitThreadViewportAccessor.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (C) 2012, 2013 Research In Motion Limited. All rights reserved.
- */
-
-#include "config.h"
-
-#include "WebKitThreadViewportAccessor.h"
-
-#include "WebPage_p.h"
-
-#include <BlackBerryPlatformMessageClient.h>
-#include <BlackBerryPlatformPrimitives.h>
-
-using BlackBerry::Platform::IntPoint;
-using BlackBerry::Platform::IntSize;
-using BlackBerry::Platform::ViewportAccessor;
-
-namespace BlackBerry {
-namespace WebKit {
-
-WebKitThreadViewportAccessor::WebKitThreadViewportAccessor(WebPagePrivate* webPagePrivate)
- : m_webPagePrivate(webPagePrivate)
-{
-}
-
-IntSize WebKitThreadViewportAccessor::pixelContentsSize() const
-{
- ASSERT(Platform::webKitThreadMessageClient()->isCurrentThread());
-
- double scaleFactor = scale();
-
- if (scaleFactor != 1.0) {
- // Round down to avoid showing partially rendered pixels.
- IntSize size = documentContentsSize();
- return IntSize(
- floorf(size.width() * scaleFactor),
- floorf(size.height() * scaleFactor));
- }
-
- return documentContentsSize();
-}
-
-IntSize WebKitThreadViewportAccessor::documentContentsSize() const
-{
- ASSERT(Platform::webKitThreadMessageClient()->isCurrentThread());
-
- return m_webPagePrivate->contentsSize();
-}
-
-IntPoint WebKitThreadViewportAccessor::pixelScrollPosition() const
-{
- ASSERT(Platform::webKitThreadMessageClient()->isCurrentThread());
-
- return roundToPixelFromDocumentContents(documentScrollPosition());
-}
-
-IntPoint WebKitThreadViewportAccessor::documentScrollPosition() const
-{
- ASSERT(Platform::webKitThreadMessageClient()->isCurrentThread());
-
- return m_webPagePrivate->scrollPosition();
-}
-
-IntSize WebKitThreadViewportAccessor::pixelViewportSize() const
-{
- ASSERT(Platform::webKitThreadMessageClient()->isCurrentThread());
-
- return m_webPagePrivate->transformedActualVisibleSize();
-}
-
-IntSize WebKitThreadViewportAccessor::documentViewportSize() const
-{
- ASSERT(Platform::webKitThreadMessageClient()->isCurrentThread());
-
- return roundToDocumentFromPixelContents(pixelViewportRect()).size();
-}
-
-IntPoint WebKitThreadViewportAccessor::destinationSurfaceOffset() const
-{
- // FIXME: This should somehow get its offset from a reliable source.
- return IntPoint(0, 0);
-}
-
-double WebKitThreadViewportAccessor::scale() const
-{
- ASSERT(Platform::webKitThreadMessageClient()->isCurrentThread());
-
- return m_webPagePrivate->currentScale();
-}
-
-} // namespace WebKit
-} // namespace BlackBerry
diff --git a/Source/WebKit/blackberry/WebKitSupport/WebKitThreadViewportAccessor.h b/Source/WebKit/blackberry/WebKitSupport/WebKitThreadViewportAccessor.h
deleted file mode 100644
index da5493fd3..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/WebKitThreadViewportAccessor.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. All rights reserved.
- */
-
-#ifndef WebKitThreadViewportAccessor_h
-#define WebKitThreadViewportAccessor_h
-
-#include <BlackBerryPlatformViewportAccessor.h>
-
-namespace BlackBerry {
-
-namespace Platform {
-class IntPoint;
-class IntSize;
-}
-
-namespace WebKit {
-
-class WebPagePrivate;
-
-class WebKitThreadViewportAccessor : public Platform::ViewportAccessor {
-public:
- WebKitThreadViewportAccessor(WebPagePrivate*);
- virtual ~WebKitThreadViewportAccessor() { }
-
- virtual BlackBerry::Platform::IntSize documentContentsSize() const;
- virtual BlackBerry::Platform::IntSize pixelContentsSize() const;
-
- virtual BlackBerry::Platform::IntPoint documentScrollPosition() const;
- virtual BlackBerry::Platform::IntPoint pixelScrollPosition() const;
-
- virtual BlackBerry::Platform::IntSize documentViewportSize() const;
- virtual BlackBerry::Platform::IntSize pixelViewportSize() const;
-
- virtual BlackBerry::Platform::IntPoint destinationSurfaceOffset() const;
-
- virtual double scale() const;
-
-private:
- Platform::ViewportAccessor* m_originalAccessor;
- WebPagePrivate* m_webPagePrivate;
-};
-
-} // namespace WebKit
-} // namespace BlackBerry
-
-#endif
diff --git a/Source/WebKit/blackberry/WebKitSupport/WebPopupType.h b/Source/WebKit/blackberry/WebKitSupport/WebPopupType.h
deleted file mode 100644
index 5577e877d..000000000
--- a/Source/WebKit/blackberry/WebKitSupport/WebPopupType.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2012 Research In Motion Limited. 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
- * 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 WebPopupType_h
-#define WebPopupType_h
-
-namespace BlackBerry {
-
-namespace WebKit {
-
-enum WebPopupType {
- WebPopupTypeNone, // Not a popup.
- WebPopupTypeSelect, // Select Control
- WebPopupTypeDate, // Date control
-};
-
-}
-}
-
-#endif // WebPopupType_h
diff --git a/Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp b/Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
deleted file mode 100644
index 120e1fd3d..000000000
--- a/Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-// FIXME: On Windows, we require all WebKit source files to include config.h
-// before including any other files. Failing to include config.h will leave
-// WTF_USE_CF undefined, causing build failures in this
-// file. But Mac doesn't have a config.h for WebKit, so we can't include the
-// Windows one here. For now we can just define WTF_USE_CF and
-// WTF_USE_CFNETWORK manually, but we need a better long-term solution.
-#ifndef WTF_USE_CF
-#define WTF_USE_CF 1
-#endif
-
-#include <wtf/Platform.h>
-
-#if PLATFORM(WIN) && !OS(WINCE)
-#ifndef WTF_USE_CG
-#define WTF_USE_CG 1
-#endif
-#endif
-
-// NOTE: These need to appear up top, as they declare macros
-// used in the JS and WTF headers.
-#include <runtime/JSExportMacros.h>
-#include <wtf/ExportMacros.h>
-
-#include "WebInspectorClient.h"
-
-#include <CoreFoundation/CoreFoundation.h>
-
-#include <WebCore/Frame.h>
-#include <WebCore/InspectorFrontendClientLocal.h>
-#include <WebCore/Page.h>
-
-#include <wtf/PassOwnPtr.h>
-#include <wtf/RetainPtr.h>
-#include <wtf/Vector.h>
-#include <wtf/text/WTFString.h>
-
-using namespace WebCore;
-
-static const char* inspectorStartsAttachedSetting = "inspectorStartsAttached";
-static const char* inspectorAttachDisabledSetting = "inspectorAttachDisabled";
-
-static inline RetainPtr<CFStringRef> createKeyForPreferences(const String& key)
-{
- return adoptCF(CFStringCreateWithFormat(0, 0, CFSTR("WebKit Web Inspector Setting - %@"), key.createCFString().get()));
-}
-
-static void populateSetting(const String& key, String* setting)
-{
- RetainPtr<CFStringRef> preferencesKey = createKeyForPreferences(key);
- RetainPtr<CFPropertyListRef> value = adoptCF(CFPreferencesCopyAppValue(preferencesKey.get(), kCFPreferencesCurrentApplication));
-
- if (!value)
- return;
-
- CFTypeID type = CFGetTypeID(value.get());
- if (type == CFStringGetTypeID())
- *setting = static_cast<String>(static_cast<CFStringRef>(value.get()));
- else if (type == CFBooleanGetTypeID())
- *setting = static_cast<bool>(CFBooleanGetValue(static_cast<CFBooleanRef>(value.get()))) ? "true" : "false";
- else
- *setting = "";
-}
-
-static void storeSetting(const String& key, const String& setting)
-{
- CFPreferencesSetAppValue(createKeyForPreferences(key).get(), setting.createCFString().get(), kCFPreferencesCurrentApplication);
-}
-
-bool WebInspectorClient::sendMessageToFrontend(const String& message)
-{
- return doDispatchMessageOnFrontendPage(m_frontendPage, message);
-}
-
-bool WebInspectorClient::inspectorAttachDisabled()
-{
- String value;
- populateSetting(inspectorAttachDisabledSetting, &value);
- if (value.isEmpty())
- return false;
- return value == "true";
-}
-
-void WebInspectorClient::setInspectorAttachDisabled(bool disabled)
-{
- storeSetting(inspectorAttachDisabledSetting, disabled ? "true" : "false");
-}
-
-bool WebInspectorClient::inspectorStartsAttached()
-{
- String value;
- populateSetting(inspectorStartsAttachedSetting, &value);
- if (value.isEmpty())
- return true;
- return value == "true";
-}
-
-void WebInspectorClient::setInspectorStartsAttached(bool attached)
-{
- storeSetting(inspectorStartsAttachedSetting, attached ? "true" : "false");
-}
-
-PassOwnPtr<WebCore::InspectorFrontendClientLocal::Settings> WebInspectorClient::createFrontendSettings()
-{
- class InspectorFrontendSettingsCF : public WebCore::InspectorFrontendClientLocal::Settings {
- public:
- virtual ~InspectorFrontendSettingsCF() { }
- virtual String getProperty(const String& name)
- {
- String value;
- populateSetting(name, &value);
- return value;
- }
-
- virtual void setProperty(const String& name, const String& value)
- {
- storeSetting(name, value);
- }
- };
- return adoptPtr<WebCore::InspectorFrontendClientLocal::Settings>(new InspectorFrontendSettingsCF());
-}
diff --git a/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp b/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp
deleted file mode 100644
index 99692622a..000000000
--- a/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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"
-
-#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL)
-
-#include "AcceleratedCompositingContextEfl.h"
-
-#include "FrameView.h"
-#include "GraphicsContext3D.h"
-#include "GraphicsLayerTextureMapper.h"
-#include "HostWindow.h"
-#include "PageClientEfl.h"
-#include "TextureMapperGL.h"
-#include "TextureMapperLayer.h"
-#include "ewk_view_private.h"
-
-namespace WebCore {
-
-PassOwnPtr<AcceleratedCompositingContext> AcceleratedCompositingContext::create(HostWindow* hostWindow)
-{
- OwnPtr<AcceleratedCompositingContext> context = adoptPtr(new AcceleratedCompositingContext);
- if (!context->initialize(hostWindow))
- return nullptr;
-
- return context.release();
-}
-
-AcceleratedCompositingContext::AcceleratedCompositingContext()
- : m_view(0)
- , m_rootTextureMapperLayer(0)
-{
-}
-
-AcceleratedCompositingContext::~AcceleratedCompositingContext()
-{
-}
-
-bool AcceleratedCompositingContext::initialize(HostWindow* hostWindow)
-{
- m_view = hostWindow->platformPageClient()->view();
- if (!m_view)
- return false;
-
- m_context3D = GraphicsContext3D::create(GraphicsContext3D::Attributes(), hostWindow, WebCore::GraphicsContext3D::RenderDirectlyToHostWindow);
- if (!m_context3D)
- return false;
-
- return true;
-}
-
-void AcceleratedCompositingContext::syncLayersNow()
-{
- if (m_rootGraphicsLayer)
- m_rootGraphicsLayer->flushCompositingStateForThisLayerOnly();
-
- EWKPrivate::corePage(m_view)->mainFrame()->view()->flushCompositingStateIncludingSubframes();
-}
-
-void AcceleratedCompositingContext::renderLayers()
-{
- if (!m_rootGraphicsLayer)
- return;
-
- if (!m_context3D->makeContextCurrent())
- return;
-
- int width = 0;
- int height = 0;
- evas_object_geometry_get(m_view, 0, 0, &width, &height);
- m_context3D->viewport(0, 0, width, height);
-
- m_textureMapper->beginPainting();
- m_rootTextureMapperLayer->paint();
- m_fpsCounter.updateFPSAndDisplay(m_textureMapper.get());
- m_textureMapper->endPainting();
-}
-
-void AcceleratedCompositingContext::attachRootGraphicsLayer(GraphicsLayer* rootLayer)
-{
- if (!rootLayer) {
- m_rootGraphicsLayer.clear();
- m_rootTextureMapperLayer = 0;
- return;
- }
-
- m_rootGraphicsLayer = WebCore::GraphicsLayer::create(0);
- m_rootTextureMapperLayer = toTextureMapperLayer(m_rootGraphicsLayer.get());
- m_rootGraphicsLayer->addChild(rootLayer);
- m_rootGraphicsLayer->setDrawsContent(false);
- m_rootGraphicsLayer->setMasksToBounds(false);
- m_rootGraphicsLayer->setSize(WebCore::IntSize(1, 1));
-
- m_textureMapper = TextureMapperGL::create();
- m_rootTextureMapperLayer->setTextureMapper(m_textureMapper.get());
-
- m_rootGraphicsLayer->flushCompositingStateForThisLayerOnly();
-}
-
-GraphicsContext3D* AcceleratedCompositingContext::context()
-{
- return m_context3D.get();
-}
-
-} // namespace WebCore
-
-#endif // USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL)
diff --git a/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.h b/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.h
deleted file mode 100644
index d2869a48d..000000000
--- a/Source/WebKit/efl/WebCoreSupport/AcceleratedCompositingContextEfl.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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 AcceleratedCompositingContextEfl_h
-#define AcceleratedCompositingContextEfl_h
-
-#include <wtf/Noncopyable.h>
-#include <wtf/PassOwnPtr.h>
-
-#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL)
-
-#include "TextureMapperFPSCounter.h"
-#include "ewk_private.h"
-
-namespace WebCore {
-
-class HostWindow;
-class TextureMapper;
-class TextureMapperLayer;
-
-class AcceleratedCompositingContext {
- WTF_MAKE_NONCOPYABLE(AcceleratedCompositingContext);
-public:
- static PassOwnPtr<AcceleratedCompositingContext> create(HostWindow*);
- virtual ~AcceleratedCompositingContext();
-
- virtual void syncLayersNow();
- virtual void renderLayers();
- virtual void attachRootGraphicsLayer(GraphicsLayer* rootLayer);
- virtual GraphicsContext3D* context();
-
-private:
- AcceleratedCompositingContext();
-
- virtual bool initialize(HostWindow*);
-
- Evas_Object* m_view;
-
- OwnPtr<TextureMapper> m_textureMapper;
- OwnPtr<GraphicsLayer> m_rootGraphicsLayer;
- TextureMapperLayer* m_rootTextureMapperLayer;
-
- RefPtr<GraphicsContext3D> m_context3D;
- TextureMapperFPSCounter m_fpsCounter;
-};
-
-} // namespace WebCore
-
-#endif // USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL)
-#endif // AcceleratedCompositingContextEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp b/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp
deleted file mode 100644
index c2edd8698..000000000
--- a/Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (C) 2011 Samsung Electronics
- *
- * 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.
- *
- */
-
-// Use this file to assert that various WebKit API enum values continue
-// matching WebCore defined enum values.
-
-#include "config.h"
-
-#include "ContextMenuItem.h"
-#include "FrameLoaderTypes.h"
-#include "Page.h"
-#include "VisibleSelection.h"
-#include "WritingDirection.h"
-#include "ewk_contextmenu.h"
-#include "ewk_frame.h"
-#include "ewk_view.h"
-#include <wtf/Assertions.h>
-
-#if ENABLE(TOUCH_EVENTS)
-#include "PlatformTouchEvent.h"
-#include "PlatformTouchPoint.h"
-#endif
-
-#define COMPILE_ASSERT_MATCHING_ENUM(webkit_name, webcore_name) \
- COMPILE_ASSERT(static_cast<int>(webkit_name) == static_cast<int>(WebCore::webcore_name), mismatching_enums)
-
-// These constants are not namespaced, bring them into WebCore so the ASSERT still works for them.
-namespace WebCore {
-using ::NaturalWritingDirection;
-using ::LeftToRightWritingDirection;
-using ::RightToLeftWritingDirection;
-};
-
-#if ENABLE(PAGE_VISIBILITY_API)
-COMPILE_ASSERT_MATCHING_ENUM(EWK_PAGE_VISIBILITY_STATE_VISIBLE, PageVisibilityStateVisible);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_PAGE_VISIBILITY_STATE_HIDDEN, PageVisibilityStateHidden);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_PAGE_VISIBILITY_STATE_PRERENDER, PageVisibilityStatePrerender);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_PAGE_VISIBILITY_STATE_UNLOADED, PageVisibilityStateUnloaded);
-#endif
-
-COMPILE_ASSERT_MATCHING_ENUM(EWK_TEXT_SELECTION_NONE, VisibleSelection::NoSelection);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_TEXT_SELECTION_CARET, VisibleSelection::CaretSelection);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_TEXT_SELECTION_RANGE, VisibleSelection::RangeSelection);
-
-COMPILE_ASSERT_MATCHING_ENUM(EWK_NAVIGATION_TYPE_LINK_CLICKED, NavigationTypeLinkClicked);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_NAVIGATION_TYPE_FORM_SUBMITTED, NavigationTypeFormSubmitted);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_NAVIGATION_TYPE_BACK_FORWARD, NavigationTypeBackForward);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_NAVIGATION_TYPE_RELOAD, NavigationTypeReload);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_NAVIGATION_TYPE_FORM_RESUBMITTED, NavigationTypeFormResubmitted);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_NAVIGATION_TYPE_OTHER, NavigationTypeOther);
-
-#if ENABLE(TOUCH_EVENTS)
-COMPILE_ASSERT_MATCHING_ENUM(EWK_TOUCH_POINT_RELEASED, PlatformTouchPoint::TouchReleased);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_TOUCH_POINT_PRESSED, PlatformTouchPoint::TouchPressed);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_TOUCH_POINT_MOVED, PlatformTouchPoint::TouchMoved);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_TOUCH_POINT_STATIONARY, PlatformTouchPoint::TouchStationary);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_TOUCH_POINT_CANCELLED, PlatformTouchPoint::TouchCancelled);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_TOUCH_POINT_END, PlatformTouchPoint::TouchStateEnd);
-#endif
-
-#if ENABLE(VIEW_MODE_CSS_MEDIA)
-COMPILE_ASSERT_MATCHING_ENUM(EWK_VIEW_MODE_INVALID, Page::ViewModeInvalid);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_VIEW_MODE_WINDOWED, Page::ViewModeWindowed);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_VIEW_MODE_FLOATING, Page::ViewModeFloating);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_VIEW_MODE_FULLSCREEN, Page::ViewModeFullscreen);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_VIEW_MODE_MAXIMIZED, Page::ViewModeMaximized);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_VIEW_MODE_MINIMIZED, Page::ViewModeMinimized);
-#endif
-
-COMPILE_ASSERT_MATCHING_ENUM(EWK_TEXT_DIRECTION_DEFAULT, NaturalWritingDirection);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_TEXT_DIRECTION_LEFT_TO_RIGHT, LeftToRightWritingDirection);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_TEXT_DIRECTION_RIGHT_TO_LEFT, RightToLeftWritingDirection);
-
-#if ENABLE(CONTEXT_MENUS)
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_NO_ACTION, ContextMenuItemTagNoAction);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK_IN_NEW_WINDOW, ContextMenuItemTagOpenLinkInNewWindow);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_LINK_TO_DISK, ContextMenuItemTagDownloadLinkToDisk);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_COPY_LINK_TO_CLIPBOARD, ContextMenuItemTagCopyLinkToClipboard);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_OPEN_IMAGE_IN_NEW_WINDOW, ContextMenuItemTagOpenImageInNewWindow);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_IMAGE_TO_DISK, ContextMenuItemTagDownloadImageToDisk);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_COPY_IMAGE_TO_CLIPBOARD, ContextMenuItemTagCopyImageToClipboard);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_COPY_IMAGE_URL_TO_CLIPBOARD, ContextMenuItemTagCopyImageUrlToClipboard);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_OPEN_FRAME_IN_NEW_WINDOW, ContextMenuItemTagOpenFrameInNewWindow);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_COPY, ContextMenuItemTagCopy);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_GO_BACK, ContextMenuItemTagGoBack);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_GO_FORWARD, ContextMenuItemTagGoForward);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_STOP, ContextMenuItemTagStop);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_RELOAD, ContextMenuItemTagReload);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_CUT, ContextMenuItemTagCut);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_PASTE, ContextMenuItemTagPaste);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_SELECT_ALL, ContextMenuItemTagSelectAll);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_SPELLING_GUESS, ContextMenuItemTagSpellingGuess);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_NO_GUESSES_FOUND, ContextMenuItemTagNoGuessesFound);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_IGNORE_SPELLING, ContextMenuItemTagIgnoreSpelling);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_LEARN_SPELLING, ContextMenuItemTagLearnSpelling);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_OTHER, ContextMenuItemTagOther);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_IN_SPOTLIGHT, ContextMenuItemTagSearchInSpotlight);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_WEB, ContextMenuItemTagSearchWeb);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_LOOK_UP_IN_DICTIONARY, ContextMenuItemTagLookUpInDictionary);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_OPEN_WITH_DEFAULT_APPLICATION, ContextMenuItemTagOpenWithDefaultApplication);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_PDFACTUAL_SIZE, ContextMenuItemPDFActualSize);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_PDFZOOM_IN, ContextMenuItemPDFZoomIn);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_PDFZOOM_OUT, ContextMenuItemPDFZoomOut);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_PDFAUTO_SIZE, ContextMenuItemPDFAutoSize);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_PDFSINGLE_PAGE, ContextMenuItemPDFSinglePage);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_PDFFACING_PAGES, ContextMenuItemPDFFacingPages);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_PDFCONTINUOUS, ContextMenuItemPDFContinuous);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_PDFNEXT_PAGE, ContextMenuItemPDFNextPage);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_PDFPREVIOUS_PAGE, ContextMenuItemPDFPreviousPage);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK, ContextMenuItemTagOpenLink);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_IGNORE_GRAMMAR, ContextMenuItemTagIgnoreGrammar);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_SPELLING_MENU, ContextMenuItemTagSpellingMenu);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_SHOW_SPELLING_PANEL, ContextMenuItemTagShowSpellingPanel);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_CHECK_SPELLING, ContextMenuItemTagCheckSpelling);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_CHECK_SPELLING_WHILE_TYPING, ContextMenuItemTagCheckSpellingWhileTyping);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_CHECK_GRAMMAR_WITH_SPELLING, ContextMenuItemTagCheckGrammarWithSpelling);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_FONT_MENU, ContextMenuItemTagFontMenu);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_SHOW_FONTS, ContextMenuItemTagShowFonts);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_BOLD, ContextMenuItemTagBold);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_ITALIC, ContextMenuItemTagItalic);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_UNDERLINE, ContextMenuItemTagUnderline);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_OUTLINE, ContextMenuItemTagOutline);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_STYLES, ContextMenuItemTagStyles);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_SHOW_COLORS, ContextMenuItemTagShowColors);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_SPEECH_MENU, ContextMenuItemTagSpeechMenu);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_START_SPEAKING, ContextMenuItemTagStartSpeaking);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_STOP_SPEAKING, ContextMenuItemTagStopSpeaking);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_WRITING_DIRECTION_MENU, ContextMenuItemTagWritingDirectionMenu);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_DEFAULT_DIRECTION, ContextMenuItemTagDefaultDirection);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_LEFT_TO_RIGHT, ContextMenuItemTagLeftToRight);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_RIGHT_TO_LEFT, ContextMenuItemTagRightToLeft);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_PDFSINGLE_PAGE_SCROLLING, ContextMenuItemTagPDFSinglePageScrolling);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_PDFFACING_PAGES_SCROLLING, ContextMenuItemTagPDFFacingPagesScrolling);
-#if ENABLE(INSPECTOR)
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_INSPECT_ELEMENT, ContextMenuItemTagInspectElement);
-#endif
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_MENU, ContextMenuItemTagTextDirectionMenu);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_DEFAULT, ContextMenuItemTagTextDirectionDefault);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_LEFT_TO_RIGHT, ContextMenuItemTagTextDirectionLeftToRight);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_RIGHT_TO_LEFT, ContextMenuItemTagTextDirectionRightToLeft);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_OPEN_MEDIA_IN_NEW_WINDOW, ContextMenuItemTagOpenMediaInNewWindow);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_MEDIA_TO_DISK, ContextMenuItemTagDownloadMediaToDisk);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_COPY_MEDIA_LINK_TO_CLIPBOARD, ContextMenuItemTagCopyMediaLinkToClipboard);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_TOGGLE_MEDIA_CONTROLS, ContextMenuItemTagToggleMediaControls);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_TOGGLE_MEDIA_LOOP, ContextMenuItemTagToggleMediaLoop);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_ENTER_VIDEO_FULLSCREEN, ContextMenuItemTagEnterVideoFullscreen);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_MEDIA_PLAY_PAUSE, ContextMenuItemTagMediaPlayPause);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_TAG_MEDIA_MUTE, ContextMenuItemTagMediaMute);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_BASE_CUSTOM_TAG, ContextMenuItemBaseCustomTag);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_CUSTOM_TAG_NO_ACTION, ContextMenuItemCustomTagNoAction);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_LAST_CUSTOM_TAG, ContextMenuItemLastCustomTag);
-COMPILE_ASSERT_MATCHING_ENUM(EWK_CONTEXT_MENU_ITEM_BASE_APPLICATION_TAG, ContextMenuItemBaseApplicationTag);
-#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp
deleted file mode 100644
index ca2025e76..000000000
--- a/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics. All rights reserved.
- * Copyright (C) 2012 Intel Corporation. All rights reserved.
- *
- * 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 "BatteryClientEfl.h"
-
-#if ENABLE(BATTERY_STATUS)
-
-#include "BatteryController.h"
-#include "ewk_view_private.h"
-
-BatteryClientEfl::BatteryClientEfl(Evas_Object* view)
- : m_view(view)
- , m_provider(this)
-{
-}
-
-BatteryClientEfl::~BatteryClientEfl()
-{
- m_provider.stopUpdating();
-}
-
-void BatteryClientEfl::startUpdating()
-{
- m_provider.startUpdating();
-}
-
-void BatteryClientEfl::stopUpdating()
-{
- m_provider.stopUpdating();
-}
-
-void BatteryClientEfl::batteryControllerDestroyed()
-{
- delete this;
-}
-
-void BatteryClientEfl::didChangeBatteryStatus(const AtomicString& eventType, PassRefPtr<WebCore::BatteryStatus> status)
-{
- WebCore::BatteryController::from(EWKPrivate::corePage(m_view))->didChangeBatteryStatus(eventType, status);
-}
-
-#endif // ENABLE(BATTERY_STATUS)
diff --git a/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h b/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h
deleted file mode 100644
index d11acc9ca..000000000
--- a/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics. All rights reserved.
- * Copyright (C) 2012 Intel Corporation. All rights reserved.
- *
- * 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 BatteryClientEfl_h
-#define BatteryClientEfl_h
-
-#if ENABLE(BATTERY_STATUS)
-
-#include "BatteryClient.h"
-#include "BatteryProviderEfl.h"
-#include "BatteryProviderEflClient.h"
-#include "BatteryStatus.h"
-#include <wtf/PassRefPtr.h>
-
-namespace WebCore {
-class BatteryController;
-}
-
-class BatteryClientEfl : public WebCore::BatteryClient, public WebCore::BatteryProviderEflClient {
-public:
- explicit BatteryClientEfl(Evas_Object* view);
- virtual ~BatteryClientEfl();
-
- // BatteryClient interface.
- virtual void startUpdating();
- virtual void stopUpdating();
- virtual void batteryControllerDestroyed();
-
-private:
- // BatteryProviderEflClient interface.
- virtual void didChangeBatteryStatus(const AtomicString& eventType, PassRefPtr<WebCore::BatteryStatus>);
-
- Evas_Object* m_view;
- WebCore::BatteryProviderEfl m_provider;
-};
-
-#endif // ENABLE(BATTERY_STATUS)
-
-#endif // BatteryClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
deleted file mode 100644
index af61167c2..000000000
--- a/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
+++ /dev/null
@@ -1,685 +0,0 @@
-/*
- * Copyright (C) 2006 Zack Rusin <zack@kde.org>
- * Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
- * Copyright (C) 2008 Kenneth Rohde Christiansen
- * Copyright (C) 2008 Diego Gonzalez
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-2012 Samsung Electronics
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
- *
- * 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 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 "ChromeClientEfl.h"
-
-#include "ApplicationCacheStorage.h"
-#include "FileChooser.h"
-#include "FileIconLoader.h"
-#include "FloatRect.h"
-#include "Frame.h"
-#include "FrameLoader.h"
-#include "FrameLoaderClientEfl.h"
-#include "HitTestResult.h"
-#include "IntRect.h"
-#include "KURL.h"
-#include "NavigationAction.h"
-#include "NotImplemented.h"
-#include "PopupMenuEfl.h"
-#include "SearchPopupMenuEfl.h"
-#include "SecurityOrigin.h"
-#include "ViewportArguments.h"
-#include "WindowFeatures.h"
-#include "ewk_custom_handler_private.h"
-#include "ewk_file_chooser_private.h"
-#include "ewk_frame_private.h"
-#include "ewk_private.h"
-#include "ewk_security_origin_private.h"
-#include "ewk_view_private.h"
-#include <Ecore_Evas.h>
-#include <Evas.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#include "NotificationPresenterClientEfl.h"
-#endif
-
-#if ENABLE(SQL_DATABASE)
-#include "DatabaseDetails.h"
-#include "DatabaseManager.h"
-#endif
-
-#if ENABLE(INPUT_TYPE_COLOR)
-#include "ColorChooserEfl.h"
-#endif
-
-#if ENABLE(FULLSCREEN_API)
-#include "Settings.h"
-#endif
-
-using namespace WebCore;
-
-static inline Evas_Object* kit(Frame* frame)
-{
- if (!frame)
- return 0;
-
- FrameLoaderClientEfl* client = static_cast<FrameLoaderClientEfl*>(frame->loader()->client());
- return client ? client->webFrame() : 0;
-}
-
-namespace WebCore {
-
-ChromeClientEfl::ChromeClientEfl(Evas_Object* view)
- : m_view(view)
-{
- ASSERT(m_view);
-}
-
-ChromeClientEfl::~ChromeClientEfl()
-{
-}
-
-void ChromeClientEfl::chromeDestroyed()
-{
- delete this;
-}
-
-void ChromeClientEfl::focusedNodeChanged(Node*)
-{
- notImplemented();
-}
-
-void ChromeClientEfl::focusedFrameChanged(Frame*)
-{
-}
-
-FloatRect ChromeClientEfl::windowRect()
-{
- int x, y, width, height;
-
- Ecore_Evas* ee = ecore_evas_ecore_evas_get(evas_object_evas_get(m_view));
- ecore_evas_request_geometry_get(ee, &x, &y, &width, &height);
-
- return FloatRect(x, y, width, height);
-}
-
-void ChromeClientEfl::setWindowRect(const FloatRect& rect)
-{
- if (!ewk_view_setting_enable_auto_resize_window_get(m_view) || rect.isEmpty())
- return;
-
- Ecore_Evas* ee = ecore_evas_ecore_evas_get(evas_object_evas_get(m_view));
- ecore_evas_move_resize(ee, rect.x(), rect.y(), rect.width(), rect.height());
-}
-
-FloatRect ChromeClientEfl::pageRect()
-{
- return ewk_view_page_rect_get(m_view);
-}
-
-void ChromeClientEfl::focus()
-{
- evas_object_focus_set(m_view, EINA_TRUE);
-}
-
-void ChromeClientEfl::unfocus()
-{
- evas_object_focus_set(m_view, EINA_FALSE);
-}
-
-Page* ChromeClientEfl::createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures& features, const NavigationAction&)
-{
- Evas_Object* newView = ewk_view_window_create(m_view, EINA_TRUE, &features);
- if (!newView)
- return 0;
-
- return EWKPrivate::corePage(newView);
-}
-
-void ChromeClientEfl::show()
-{
- ewk_view_ready(m_view);
-}
-
-bool ChromeClientEfl::canRunModal()
-{
- notImplemented();
- return false;
-}
-
-void ChromeClientEfl::runModal()
-{
- notImplemented();
-}
-
-void ChromeClientEfl::setToolbarsVisible(bool visible)
-{
- ewk_view_toolbars_visible_set(m_view, visible);
-}
-
-bool ChromeClientEfl::toolbarsVisible()
-{
- bool visible;
-
- ewk_view_toolbars_visible_get(m_view, &visible);
- return visible;
-}
-
-void ChromeClientEfl::setStatusbarVisible(bool visible)
-{
- ewk_view_statusbar_visible_set(m_view, visible);
-}
-
-bool ChromeClientEfl::statusbarVisible()
-{
- bool visible;
-
- ewk_view_statusbar_visible_get(m_view, &visible);
- return visible;
-}
-
-void ChromeClientEfl::setScrollbarsVisible(bool visible)
-{
- ewk_view_scrollbars_visible_set(m_view, visible);
-}
-
-bool ChromeClientEfl::scrollbarsVisible()
-{
- bool visible;
-
- ewk_view_scrollbars_visible_get(m_view, &visible);
- return visible;
-}
-
-void ChromeClientEfl::setMenubarVisible(bool visible)
-{
- ewk_view_menubar_visible_set(m_view, visible);
-}
-
-bool ChromeClientEfl::menubarVisible()
-{
- bool visible;
-
- ewk_view_menubar_visible_get(m_view, &visible);
- return visible;
-}
-
-void ChromeClientEfl::createSelectPopup(PopupMenuClient* client, int selected, const IntRect& rect)
-{
- ewk_view_popup_new(m_view, client, selected, rect);
-}
-
-bool ChromeClientEfl::destroySelectPopup()
-{
- return ewk_view_popup_destroy(m_view);
-}
-
-void ChromeClientEfl::setResizable(bool)
-{
- notImplemented();
-}
-
-void ChromeClientEfl::closeWindowSoon()
-{
- ewk_view_window_close(m_view);
-}
-
-bool ChromeClientEfl::canTakeFocus(FocusDirection coreDirection)
-{
- // This is called when cycling through links/focusable objects and we
- // reach the last focusable object.
- ASSERT(coreDirection == FocusDirectionForward || coreDirection == FocusDirectionBackward);
-
- Ewk_Focus_Direction direction = static_cast<Ewk_Focus_Direction>(coreDirection);
-
- return !ewk_view_focus_can_cycle(m_view, direction);
-}
-
-void ChromeClientEfl::takeFocus(FocusDirection)
-{
- unfocus();
-}
-
-bool ChromeClientEfl::canRunBeforeUnloadConfirmPanel()
-{
- return true;
-}
-
-bool ChromeClientEfl::runBeforeUnloadConfirmPanel(const String& message, Frame* frame)
-{
- return ewk_view_run_before_unload_confirm(m_view, kit(frame), message.utf8().data());
-}
-
-void ChromeClientEfl::addMessageToConsole(MessageSource, MessageLevel, const String& message,
- unsigned lineNumber, unsigned columnNumber, const String& sourceID)
-{
- UNUSED_PARAM(columnNumber);
- ewk_view_add_console_message(m_view, message.utf8().data(), lineNumber, sourceID.utf8().data());
-}
-
-void ChromeClientEfl::runJavaScriptAlert(Frame* frame, const String& message)
-{
- ewk_view_run_javascript_alert(m_view, kit(frame), message.utf8().data());
-}
-
-bool ChromeClientEfl::runJavaScriptConfirm(Frame* frame, const String& message)
-{
- return ewk_view_run_javascript_confirm(m_view, kit(frame), message.utf8().data());
-}
-
-bool ChromeClientEfl::runJavaScriptPrompt(Frame* frame, const String& message, const String& defaultValue, String& result)
-{
- const char* value = 0;
- ewk_view_run_javascript_prompt(m_view, kit(frame), message.utf8().data(), defaultValue.utf8().data(), &value);
- if (value) {
- result = String::fromUTF8(value);
- eina_stringshare_del(value);
- return true;
- }
- return false;
-}
-
-void ChromeClientEfl::setStatusbarText(const String& string)
-{
- ewk_view_statusbar_text_set(m_view, string.utf8().data());
-}
-
-bool ChromeClientEfl::shouldInterruptJavaScript()
-{
- return ewk_view_should_interrupt_javascript(m_view);
-}
-
-KeyboardUIMode ChromeClientEfl::keyboardUIMode()
-{
- return ewk_view_setting_include_links_in_focus_chain_get(m_view) ? KeyboardAccessTabsToLinks : KeyboardAccessDefault;
-}
-
-IntRect ChromeClientEfl::windowResizerRect() const
-{
- notImplemented();
- // Implementing this function will make repaint being
- // called during resize, but as this will be done with
- // a minor delay it adds a weird "filling" effect due
- // to us using an evas image for showing the cairo
- // context. So instead of implementing this function
- // we call paint directly during resize with
- // the new object size as its argument.
- return IntRect();
-}
-
-void ChromeClientEfl::contentsSizeChanged(Frame* frame, const IntSize& size) const
-{
- ewk_frame_contents_size_changed(kit(frame), size.width(), size.height());
- if (ewk_view_frame_main_get(m_view) == kit(frame))
- ewk_view_contents_size_changed(m_view, size.width(), size.height());
-}
-
-IntRect ChromeClientEfl::rootViewToScreen(const IntRect& rect) const
-{
- notImplemented();
- return rect;
-}
-
-IntPoint ChromeClientEfl::screenToRootView(const IntPoint& point) const
-{
- notImplemented();
- return point;
-}
-
-PlatformPageClient ChromeClientEfl::platformPageClient() const
-{
- return EWKPrivate::corePageClient(m_view);
-}
-
-void ChromeClientEfl::scrollbarsModeDidChange() const
-{
-}
-
-void ChromeClientEfl::mouseDidMoveOverElement(const HitTestResult& hit, unsigned /*modifierFlags*/)
-{
- // FIXME, compare with old link, look at Qt impl.
- bool isLink = hit.isLiveLink();
- if (isLink) {
- KURL url = hit.absoluteLinkURL();
- if (!url.isEmpty() && url != m_hoveredLinkURL) {
- const char* link[2];
- TextDirection dir;
- CString urlStr = url.string().utf8();
- CString titleStr = hit.title(dir).utf8();
- link[0] = urlStr.data();
- link[1] = titleStr.data();
- ewk_view_mouse_link_hover_in(m_view, link);
- m_hoveredLinkURL = url;
- }
- } else if (!isLink && !m_hoveredLinkURL.isEmpty()) {
- ewk_view_mouse_link_hover_out(m_view);
- m_hoveredLinkURL = KURL();
- }
-}
-
-void ChromeClientEfl::setToolTip(const String& toolTip, TextDirection)
-{
- ewk_view_tooltip_text_set(m_view, toolTip.utf8().data());
-}
-
-void ChromeClientEfl::print(Frame*)
-{
- notImplemented();
-}
-
-void ChromeClientEfl::reachedMaxAppCacheSize(int64_t /*spaceNeeded*/)
-{
- // FIXME: Free some space.
- notImplemented();
-}
-
-void ChromeClientEfl::reachedApplicationCacheOriginQuota(SecurityOrigin* origin, int64_t totalSpaceNeeded)
-{
- Ewk_Security_Origin* ewkOrigin = ewk_security_origin_new(origin);
- int64_t defaultOriginQuota = WebCore::cacheStorage().defaultOriginQuota();
-
- int64_t newQuota = ewk_view_exceeded_application_cache_quota(m_view, ewkOrigin, defaultOriginQuota, totalSpaceNeeded);
- if (newQuota)
- ewk_security_origin_application_cache_quota_set(ewkOrigin, newQuota);
-
- ewk_security_origin_free(ewkOrigin);
-}
-
-void ChromeClientEfl::populateVisitedLinks()
-{
- evas_object_smart_callback_call(m_view, "populate,visited,links", 0);
-}
-
-#if ENABLE(TOUCH_EVENTS)
-void ChromeClientEfl::needTouchEvents(bool needed)
-{
- ewk_view_need_touch_events_set(m_view, needed);
-}
-#endif
-
-#if ENABLE(SQL_DATABASE)
-void ChromeClientEfl::exceededDatabaseQuota(Frame* frame, const String& databaseName, DatabaseDetails details)
-{
- uint64_t quota;
- SecurityOrigin* origin = frame->document()->securityOrigin();
-
- quota = ewk_view_exceeded_database_quota(m_view,
- kit(frame), databaseName.utf8().data(),
- details.currentUsage(), details.expectedUsage());
-
- /* if client did not set quota, and database is being created now, the
- * default quota is applied
- */
- if (!quota && !DatabaseManager::manager().hasEntryForOrigin(origin))
- quota = ewk_settings_web_database_default_quota_get();
-
- DatabaseManager::manager().setQuota(origin, quota);
-}
-#endif
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-NotificationClient* ChromeClientEfl::notificationPresenter() const
-{
- notImplemented();
- return 0;
-}
-#endif
-
-#if ENABLE(INPUT_TYPE_COLOR)
-PassOwnPtr<ColorChooser> ChromeClientEfl::createColorChooser(ColorChooserClient* colorChooserClient, const Color& initialColor)
-{
- ewk_view_color_chooser_new(m_view, colorChooserClient, initialColor);
-
- return adoptPtr(new ColorChooserEfl(this));
-}
-
-void ChromeClientEfl::removeColorChooser()
-{
- ewk_view_color_chooser_destroy(m_view);
-}
-
-void ChromeClientEfl::updateColorChooser(const Color& color)
-{
- ewk_view_color_chooser_changed(m_view, color);
-}
-#endif
-
-void ChromeClientEfl::runOpenPanel(Frame* frame, PassRefPtr<FileChooser> prpFileChooser)
-{
- RefPtr<FileChooser> chooser = prpFileChooser;
- Eina_List* selectedFilenames = 0;
- Ewk_File_Chooser* fileChooser = ewk_file_chooser_new(chooser.get());
- bool confirm = ewk_view_run_open_panel(m_view, kit(frame), fileChooser, &selectedFilenames);
- ewk_file_chooser_free(fileChooser);
- if (!confirm)
- return;
-
- void* filename;
- Vector<String> filenames;
- EINA_LIST_FREE(selectedFilenames, filename) {
- filenames.append(String::fromUTF8(static_cast<char*>(filename)));
- free(filename);
- }
-
- if (chooser->settings().allowsMultipleFiles)
- chooser->chooseFiles(filenames);
- else
- chooser->chooseFile(filenames[0]);
-}
-
-void ChromeClientEfl::formStateDidChange(const Node*)
-{
- notImplemented();
-}
-
-void ChromeClientEfl::setCursor(const Cursor& cursor)
-{
- ewk_view_cursor_set(m_view, cursor);
-}
-
-void ChromeClientEfl::setCursorHiddenUntilMouseMoves(bool)
-{
- notImplemented();
-}
-
-#if ENABLE(REQUEST_ANIMATION_FRAME) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
-void ChromeClientEfl::scheduleAnimation()
-{
- notImplemented();
-}
-
-void ChromeClientEfl::serviceScriptedAnimations()
-{
- notImplemented();
-}
-#endif
-
-void ChromeClientEfl::cancelGeolocationPermissionForFrame(Frame*, Geolocation*)
-{
- notImplemented();
-}
-
-void ChromeClientEfl::invalidateContents(const IntRect& /*updateRect*/, bool /*immediate*/)
-{
- notImplemented();
-}
-
-void ChromeClientEfl::invalidateRootView(const IntRect& updateRect, bool /*immediate*/)
-{
-#if USE(TILED_BACKING_STORE)
- ewk_view_tiled_backing_store_invalidate(m_view, updateRect);
-#else
- UNUSED_PARAM(updateRect);
- notImplemented();
-#endif
-}
-
-void ChromeClientEfl::invalidateContentsAndRootView(const IntRect& updateRect, bool /*immediate*/)
-{
- if (updateRect.isEmpty())
- return;
-
- Evas_Coord x, y, w, h;
-
- x = updateRect.x();
- y = updateRect.y();
- w = updateRect.width();
- h = updateRect.height();
- ewk_view_repaint(m_view, x, y, w, h);
-}
-
-void ChromeClientEfl::invalidateContentsForSlowScroll(const IntRect& updateRect, bool immediate)
-{
- invalidateContentsAndRootView(updateRect, immediate);
-}
-
-void ChromeClientEfl::scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect)
-{
- ewk_view_scroll(m_view, scrollDelta, rectToScroll, clipRect);
-}
-
-void ChromeClientEfl::cancelGeolocationPermissionRequestForFrame(Frame*)
-{
- notImplemented();
-}
-
-void ChromeClientEfl::iconForFiles(const Vector<String, 0u>&, PassRefPtr<FileChooser>)
-{
- notImplemented();
-}
-
-void ChromeClientEfl::loadIconForFiles(const Vector<String>&, FileIconLoader*)
-{
- notImplemented();
-}
-
-void ChromeClientEfl::dispatchViewportPropertiesDidChange(const ViewportArguments& arguments) const
-{
- ewk_view_viewport_attributes_set(m_view, arguments);
-}
-
-bool ChromeClientEfl::selectItemWritingDirectionIsNatural()
-{
- return true;
-}
-
-bool ChromeClientEfl::selectItemAlignmentFollowsMenuWritingDirection()
-{
- return false;
-}
-
-bool ChromeClientEfl::hasOpenedPopup() const
-{
- notImplemented();
- return false;
-}
-
-PassRefPtr<PopupMenu> ChromeClientEfl::createPopupMenu(PopupMenuClient* client) const
-{
- return adoptRef(new PopupMenuEfl(client));
-}
-
-PassRefPtr<SearchPopupMenu> ChromeClientEfl::createSearchPopupMenu(PopupMenuClient* client) const
-{
- return adoptRef(new SearchPopupMenuEfl(client));
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-void ChromeClientEfl::attachRootGraphicsLayer(Frame*, GraphicsLayer* rootLayer)
-{
- ewk_view_root_graphics_layer_set(m_view, rootLayer);
-}
-
-void ChromeClientEfl::setNeedsOneShotDrawingSynchronization()
-{
- ewk_view_mark_for_sync(m_view);
-}
-
-void ChromeClientEfl::scheduleCompositingLayerFlush()
-{
- ewk_view_mark_for_sync(m_view);
-}
-
-ChromeClient::CompositingTriggerFlags ChromeClientEfl::allowedCompositingTriggers() const
-{
- return AllTriggers;
-}
-#endif
-
-#if ENABLE(FULLSCREEN_API)
-bool ChromeClientEfl::supportsFullScreenForElement(const WebCore::Element* element, bool withKeyboard)
-{
- UNUSED_PARAM(withKeyboard);
-
- if (!element->document()->page())
- return false;
- return element->document()->page()->settings()->fullScreenEnabled();
-}
-
-void ChromeClientEfl::enterFullScreenForElement(WebCore::Element* element)
-{
- // Keep a reference to the element to use it later in
- // exitFullScreenForElement().
- m_fullScreenElement = element;
-
- element->document()->webkitWillEnterFullScreenForElement(element);
- ewk_view_fullscreen_enter(m_view);
- element->document()->webkitDidEnterFullScreenForElement(element);
-}
-
-void ChromeClientEfl::exitFullScreenForElement(WebCore::Element*)
-{
- // The element passed into this function is not reliable, i.e. it could
- // be null. In addition the parameter may be disappearing in the future.
- // So we use the reference to the element we saved above.
- ASSERT(m_fullScreenElement);
-
- m_fullScreenElement->document()->webkitWillExitFullScreenForElement(m_fullScreenElement.get());
- ewk_view_fullscreen_exit(m_view);
- m_fullScreenElement->document()->webkitDidExitFullScreenForElement(m_fullScreenElement.get());
-
- m_fullScreenElement.clear();
-}
-#endif
-
-#if USE(TILED_BACKING_STORE)
-void ChromeClientEfl::delegatedScrollRequested(const IntPoint&)
-{
- notImplemented();
-}
-
-IntRect ChromeClientEfl::visibleRectForTiledBackingStore() const
-{
- WebCore::FloatRect rect = ewk_view_page_rect_get(m_view);
- const Evas_Object* frame = ewk_view_frame_main_get(m_view);
-
- int x, y;
- ewk_frame_scroll_pos_get(frame, &x, &y);
- return IntRect(x, y, rect.width(), rect.height());
-}
-#endif
-
-}
diff --git a/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.h b/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
deleted file mode 100644
index 257a9874d..000000000
--- a/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.h
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright (C) 2007 Holger Hans Peter Freyther
- * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-2010 Samsung Electronics
- * 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 ChromeClientEfl_h
-#define ChromeClientEfl_h
-
-#include "ChromeClient.h"
-#include "KURL.h"
-#include "PopupMenu.h"
-
-#if ENABLE(INPUT_TYPE_COLOR)
-#include "ColorChooser.h"
-#endif
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#include "NotificationClient.h"
-#endif
-
-namespace WebCore {
-
-class ChromeClientEfl : public ChromeClient {
-public:
- explicit ChromeClientEfl(Evas_Object* view);
- virtual ~ChromeClientEfl();
-
- virtual void chromeDestroyed();
-
- virtual void setWindowRect(const FloatRect&);
- virtual FloatRect windowRect();
-
- virtual FloatRect pageRect();
-
- virtual void focus();
- virtual void unfocus();
-
- virtual bool canTakeFocus(FocusDirection);
- virtual void takeFocus(FocusDirection);
-
- virtual void focusedNodeChanged(Node*);
- virtual void focusedFrameChanged(Frame*);
-
- virtual Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&, const NavigationAction&);
- virtual void show();
-
- virtual bool canRunModal();
- virtual void runModal();
-
- virtual void setToolbarsVisible(bool);
- virtual bool toolbarsVisible();
-
- virtual void setStatusbarVisible(bool);
- virtual bool statusbarVisible();
-
- virtual void setScrollbarsVisible(bool);
- virtual bool scrollbarsVisible();
-
- virtual void setMenubarVisible(bool);
- virtual bool menubarVisible();
-
- virtual void createSelectPopup(PopupMenuClient*, int selected, const IntRect&);
- virtual bool destroySelectPopup();
-
- virtual void setResizable(bool);
-
- virtual void addMessageToConsole(MessageSource, MessageLevel, const String& message,
- unsigned lineNumber, unsigned columnNumber, const String& sourceID);
-
- virtual bool canRunBeforeUnloadConfirmPanel();
- virtual bool runBeforeUnloadConfirmPanel(const String& message, Frame*);
-
- virtual void closeWindowSoon();
-
- virtual void runJavaScriptAlert(Frame*, const String&);
- virtual bool runJavaScriptConfirm(Frame*, const String&);
- virtual bool runJavaScriptPrompt(Frame*, const String& message, const String& defaultValue, String& result);
- virtual void setStatusbarText(const String&);
- virtual bool shouldInterruptJavaScript();
- virtual WebCore::KeyboardUIMode keyboardUIMode();
-
- virtual IntRect windowResizerRect() const;
-
- virtual void contentsSizeChanged(Frame*, const IntSize&) const;
- virtual IntPoint screenToRootView(const IntPoint&) const;
- virtual IntRect rootViewToScreen(const IntRect&) const;
- virtual PlatformPageClient platformPageClient() const;
-
- virtual void scrollbarsModeDidChange() const;
- virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags);
-
- virtual void setToolTip(const String&, TextDirection);
-
- virtual void print(Frame*);
-
-#if ENABLE(SQL_DATABASE)
- virtual void exceededDatabaseQuota(Frame*, const String&, DatabaseDetails);
-#endif
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- virtual WebCore::NotificationClient* notificationPresenter() const;
-#endif
-
- virtual void reachedMaxAppCacheSize(int64_t spaceNeeded);
- virtual void reachedApplicationCacheOriginQuota(SecurityOrigin*, int64_t totalSpaceNeeded);
-
- virtual void populateVisitedLinks();
-
-#if ENABLE(TOUCH_EVENTS)
- virtual void needTouchEvents(bool);
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
- virtual void attachRootGraphicsLayer(Frame*, GraphicsLayer*);
- virtual void setNeedsOneShotDrawingSynchronization();
- virtual void scheduleCompositingLayerFlush();
- virtual CompositingTriggerFlags allowedCompositingTriggers() const;
-#endif
-
-#if ENABLE(FULLSCREEN_API)
- virtual bool supportsFullScreenForElement(const WebCore::Element*, bool withKeyboard);
- virtual void enterFullScreenForElement(WebCore::Element*);
- virtual void exitFullScreenForElement(WebCore::Element*);
-#endif
-
-#if ENABLE(INPUT_TYPE_COLOR)
- virtual PassOwnPtr<ColorChooser> createColorChooser(ColorChooserClient*, const Color&);
- virtual void removeColorChooser();
- virtual void updateColorChooser(const Color&);
-#endif
-
- virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>);
- virtual void loadIconForFiles(const Vector<String>&, FileIconLoader*);
- virtual void formStateDidChange(const Node*);
-
- virtual void setCursor(const Cursor&);
- virtual void setCursorHiddenUntilMouseMoves(bool);
-
-#if ENABLE(REQUEST_ANIMATION_FRAME) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
- virtual void scheduleAnimation();
- virtual void serviceScriptedAnimations();
-#endif
-
- virtual void scrollRectIntoView(const IntRect&) const { }
-
- virtual void cancelGeolocationPermissionForFrame(Frame*, Geolocation*);
-
- virtual void invalidateContents(const IntRect&, bool);
- virtual void invalidateRootView(const IntRect&, bool);
- virtual void invalidateContentsAndRootView(const IntRect&, bool);
- virtual void invalidateContentsForSlowScroll(const IntRect&, bool);
- virtual void scroll(const IntSize&, const IntRect&, const IntRect&);
- virtual void cancelGeolocationPermissionRequestForFrame(Frame*);
- virtual void iconForFiles(const Vector<String, 0u>&, PassRefPtr<FileChooser>);
-
- virtual void dispatchViewportPropertiesDidChange(const ViewportArguments&) const;
-
- virtual bool selectItemWritingDirectionIsNatural();
- virtual bool selectItemAlignmentFollowsMenuWritingDirection();
- virtual bool hasOpenedPopup() const;
- virtual PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const;
- virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const;
-
- virtual bool shouldRubberBandInDirection(WebCore::ScrollDirection) const { return true; }
- virtual void numWheelEventHandlersChanged(unsigned) { }
-
-#if USE(TILED_BACKING_STORE)
- virtual void delegatedScrollRequested(const IntPoint& scrollPoint);
- virtual IntRect visibleRectForTiledBackingStore() const;
-#endif
-
- Evas_Object* m_view;
- KURL m_hoveredLinkURL;
-#if ENABLE(FULLSCREEN_API)
- RefPtr<Element> m_fullScreenElement;
-#endif
-};
-}
-
-#endif // ChromeClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.cpp b/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.cpp
deleted file mode 100644
index 8003be1e5..000000000
--- a/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2012, Intel Corporation
- *
- * 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 Intel Corporation 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"
-
-#if ENABLE(INPUT_TYPE_COLOR)
-
-#include "ColorChooserEfl.h"
-
-#include "ChromeClientEfl.h"
-
-namespace WebCore {
-
-ColorChooserEfl::ColorChooserEfl(ChromeClientEfl* chromeClient)
- : m_chromeClient(chromeClient)
-{
- ASSERT(m_chromeClient);
-}
-
-ColorChooserEfl::~ColorChooserEfl()
-{
-}
-
-void ColorChooserEfl::setSelectedColor(const Color& color)
-{
- m_chromeClient->updateColorChooser(color);
-}
-
-void ColorChooserEfl::endChooser()
-{
- m_chromeClient->removeColorChooser();
-}
-
-}
-
-#endif // ENABLE(INPUT_TYPE_COLOR)
diff --git a/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.h b/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.h
deleted file mode 100644
index 57ee37d5b..000000000
--- a/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2012, Intel Corporation
- *
- * 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 Intel Corporation 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.
- */
-
-#ifndef ColorChooserEfl_h
-#define ColorChooserEfl_h
-
-#include "Color.h"
-#include "ColorChooser.h"
-
-#include <Evas.h>
-
-namespace WebCore {
-
-class ChromeClientEfl;
-
-class ColorChooserEfl : public ColorChooser {
-public:
- explicit ColorChooserEfl(ChromeClientEfl*);
- ~ColorChooserEfl();
-
- // ColorChooser implementation.
- virtual void setSelectedColor(const Color&);
- virtual void endChooser();
-
-private:
- ChromeClientEfl* m_chromeClient;
-};
-
-}
-
-#endif // ColorChooserEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp
deleted file mode 100644
index cdea3e490..000000000
--- a/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2008 Apple Computer, Inc. All rights reserved.
- * Copyright (C) 2009 Igalia S.L.
- * Copyright (C) 2010 ProFUSION embedded systems
- * Copyright (C) 2012 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"
-
-#if ENABLE(CONTEXT_MENUS)
-
-#include "ContextMenu.h"
-#include "HitTestResult.h"
-#include "KURL.h"
-#include "NotImplemented.h"
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-void ContextMenuClientEfl::contextMenuDestroyed()
-{
- delete this;
-}
-
-PassOwnPtr<ContextMenu> ContextMenuClientEfl::customizeMenu(PassOwnPtr<ContextMenu> menu)
-{
- // We ignore this client callback and do context menu customization when we are told to show the menu.
- return menu;
-}
-
-void ContextMenuClientEfl::contextMenuItemSelected(ContextMenuItem*, const ContextMenu*)
-{
- notImplemented();
-}
-
-void ContextMenuClientEfl::downloadURL(const KURL&)
-{
- notImplemented();
-}
-
-void ContextMenuClientEfl::lookUpInDictionary(Frame*)
-{
- notImplemented();
-}
-
-void ContextMenuClientEfl::speak(const String&)
-{
- notImplemented();
-}
-
-bool ContextMenuClientEfl::isSpeaking()
-{
- notImplemented();
- return false;
-}
-
-void ContextMenuClientEfl::stopSpeaking()
-{
- notImplemented();
-}
-
-void ContextMenuClientEfl::searchWithGoogle(const Frame*)
-{
- notImplemented();
-}
-
-}
-
-#endif // ENABLE(CONTEXT_MENUS)
diff --git a/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h b/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h
deleted file mode 100644
index 708377fc0..000000000
--- a/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2008 Apple Computer, Inc. All rights reserved.
- * Copyright (C) 2009 Igalia S.L.
- * Copyright (C) 2010 ProFUSION embedded systems
- * Copyright (C) 2012 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
-
-#if ENABLE(CONTEXT_MENUS)
-
-#include "ContextMenuClient.h"
-
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-class ContextMenu;
-
-class ContextMenuClientEfl : public ContextMenuClient {
-public:
- virtual void contextMenuDestroyed();
-
- virtual PassOwnPtr<ContextMenu> customizeMenu(PassOwnPtr<ContextMenu>);
- virtual void contextMenuItemSelected(ContextMenuItem*, const ContextMenu*);
-
- virtual void downloadURL(const KURL&);
- virtual void lookUpInDictionary(Frame*);
- virtual void speak(const String&);
- virtual bool isSpeaking();
- virtual void stopSpeaking();
- virtual void searchWithGoogle(const Frame*);
-};
-}
-
-#endif // ENABLE(CONTEXT_MENUS)
-#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/DeviceMotionClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/DeviceMotionClientEfl.cpp
deleted file mode 100644
index caed707f9..000000000
--- a/Source/WebKit/efl/WebCoreSupport/DeviceMotionClientEfl.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2011 Samsung Electronics
- *
- * 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 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"
-
-#if ENABLE(DEVICE_ORIENTATION)
-#include "DeviceMotionClientEfl.h"
-
-#include "NotImplemented.h"
-
-namespace WebCore {
-
-DeviceMotionClientEfl::DeviceMotionClientEfl()
-{
-}
-
-DeviceMotionClientEfl::~DeviceMotionClientEfl()
-{
-}
-
-void DeviceMotionClientEfl::deviceMotionControllerDestroyed()
-{
- delete this;
-}
-
-void DeviceMotionClientEfl::setController(DeviceMotionController* controller)
-{
- m_controller = controller;
-}
-
-void DeviceMotionClientEfl::startUpdating()
-{
- notImplemented();
-}
-
-void DeviceMotionClientEfl::stopUpdating()
-{
- notImplemented();
-}
-
-DeviceMotionData* DeviceMotionClientEfl::lastMotion() const
-{
- notImplemented();
- return 0;
-}
-
-}
-#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/DeviceMotionClientEfl.h b/Source/WebKit/efl/WebCoreSupport/DeviceMotionClientEfl.h
deleted file mode 100644
index 103dbbdcf..000000000
--- a/Source/WebKit/efl/WebCoreSupport/DeviceMotionClientEfl.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2011 Samsung Electronics
- *
- * 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 DeviceMotionClientEfl_h
-#define DeviceMotionClientEfl_h
-
-#if ENABLE(DEVICE_ORIENTATION)
-
-#include "DeviceMotionClient.h"
-#include "DeviceMotionData.h"
-
-namespace WebCore {
-
-class DeviceMotionClientEfl : public DeviceMotionClient {
-public:
- DeviceMotionClientEfl();
- virtual ~DeviceMotionClientEfl();
-
- virtual void setController(DeviceMotionController*);
- virtual void startUpdating();
- virtual void stopUpdating();
- virtual DeviceMotionData* lastMotion() const;
- virtual void deviceMotionControllerDestroyed();
-
-private:
- DeviceMotionController* m_controller;
-};
-
-} // namespece WebCore
-
-#endif
-#endif // DeviceMotionClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/DeviceOrientationClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/DeviceOrientationClientEfl.cpp
deleted file mode 100644
index 639a823c1..000000000
--- a/Source/WebKit/efl/WebCoreSupport/DeviceOrientationClientEfl.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2011 Samsung Electronics
- *
- * 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 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"
-
-#if ENABLE(DEVICE_ORIENTATION)
-#include "DeviceOrientationClientEfl.h"
-
-#include "NotImplemented.h"
-
-namespace WebCore {
-
-DeviceOrientationClientEfl::DeviceOrientationClientEfl()
-{
-}
-
-DeviceOrientationClientEfl::~DeviceOrientationClientEfl()
-{
-}
-
-void DeviceOrientationClientEfl::deviceOrientationControllerDestroyed()
-{
- delete this;
-}
-
-void DeviceOrientationClientEfl::setController(DeviceOrientationController* controller)
-{
- m_controller = controller;
-}
-
-void DeviceOrientationClientEfl::startUpdating()
-{
- notImplemented();
-}
-
-void DeviceOrientationClientEfl::stopUpdating()
-{
- notImplemented();
-}
-
-DeviceOrientationData* DeviceOrientationClientEfl::lastOrientation() const
-{
- notImplemented();
- return 0;
-}
-
-}
-#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/DeviceOrientationClientEfl.h b/Source/WebKit/efl/WebCoreSupport/DeviceOrientationClientEfl.h
deleted file mode 100644
index 0bb197cb7..000000000
--- a/Source/WebKit/efl/WebCoreSupport/DeviceOrientationClientEfl.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2011 Samsung Electronics
- *
- * 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 DeviceOrientationClientEfl_h
-#define DeviceOrientationClientEfl_h
-
-#include "DeviceOrientationClient.h"
-#include "DeviceOrientationData.h"
-
-namespace WebCore {
-
-class DeviceOrientationClientEfl : public DeviceOrientationClient {
-public:
- DeviceOrientationClientEfl();
- virtual ~DeviceOrientationClientEfl();
-
- virtual void setController(DeviceOrientationController*);
- virtual void startUpdating();
- virtual void stopUpdating();
- virtual DeviceOrientationData* lastOrientation() const;
- virtual void deviceOrientationControllerDestroyed();
-
-private:
- DeviceOrientationController* m_controller;
-};
-
-} // namespace WebCore
-
-#endif // DeviceOrientationClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/DragClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/DragClientEfl.cpp
deleted file mode 100644
index b1f68e046..000000000
--- a/Source/WebKit/efl/WebCoreSupport/DragClientEfl.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2007 Apple Inc. All rights reserved.
- * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-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 "DragClientEfl.h"
-
-#include "NotImplemented.h"
-
-using namespace WebCore;
-
-namespace WebCore {
-
-void DragClientEfl::willPerformDragDestinationAction(DragDestinationAction, DragData*)
-{
- notImplemented();
-}
-
-void DragClientEfl::willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*)
-{
- notImplemented();
-}
-
-DragDestinationAction DragClientEfl::actionMaskForDrag(DragData*)
-{
- return DragDestinationActionAny;
-}
-
-DragSourceAction DragClientEfl::dragSourceActionMaskForPoint(const IntPoint&)
-{
- return DragSourceActionAny;
-}
-
-void DragClientEfl::startDrag(DragImageRef, const IntPoint&, const IntPoint&, Clipboard*, Frame*, bool)
-{
- notImplemented();
-}
-
-void DragClientEfl::dragControllerDestroyed()
-{
- delete this;
-}
-
-}
diff --git a/Source/WebKit/efl/WebCoreSupport/DragClientEfl.h b/Source/WebKit/efl/WebCoreSupport/DragClientEfl.h
deleted file mode 100644
index 3f7e5d132..000000000
--- a/Source/WebKit/efl/WebCoreSupport/DragClientEfl.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2007 Apple Inc. All rights reserved.
- * Copyright (C) 2007 Holger Hans Peter Freyther
- * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-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.
- * 3. Neither the name of Apple, Inc. ("Apple") 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 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 DragClientEfl_h
-#define DragClientEfl_h
-
-#include "DragClient.h"
-
-namespace WebCore {
-class DragClientEfl : public WebCore::DragClient {
-public:
- virtual void willPerformDragDestinationAction(WebCore::DragDestinationAction, WebCore::DragData*);
- virtual void willPerformDragSourceAction(WebCore::DragSourceAction, const WebCore::IntPoint&, WebCore::Clipboard*);
- virtual WebCore::DragDestinationAction actionMaskForDrag(WebCore::DragData*);
-
- virtual WebCore::DragSourceAction dragSourceActionMaskForPoint(const WebCore::IntPoint& windowPoint);
-
- virtual void startDrag(WebCore::DragImageRef, const WebCore::IntPoint& dragImageOrigin, const WebCore::IntPoint& eventPos, WebCore::Clipboard*, WebCore::Frame*, bool linkDrag = false);
-
- virtual void dragControllerDestroyed();
-};
-}
-
-#endif // DragClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
deleted file mode 100644
index 8c360695f..000000000
--- a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
+++ /dev/null
@@ -1,788 +0,0 @@
-/*
- Copyright (C) 2011 ProFUSION embedded systems
- Copyright (C) 2011 Samsung Electronics
- Copyright (C) 2012 Intel Corporation. All rights reserved.
-
- 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 "DumpRenderTreeSupportEfl.h"
-
-#include "FrameLoaderClientEfl.h"
-#include "ewk_frame_private.h"
-#include "ewk_history_private.h"
-#include "ewk_private.h"
-#include "ewk_view_private.h"
-
-#include <APICast.h>
-#include <AnimationController.h>
-#include <DOMWindow.h>
-#include <DocumentLoader.h>
-#include <Editor.h>
-#include <EditorClientEfl.h>
-#include <Eina.h>
-#include <Evas.h>
-#include <FindOptions.h>
-#include <FloatSize.h>
-#include <FocusController.h>
-#include <FrameLoader.h>
-#include <FrameSelection.h>
-#include <FrameView.h>
-#include <HTMLInputElement.h>
-#include <InspectorController.h>
-#include <IntRect.h>
-#include <JSCSSStyleDeclaration.h>
-#include <JSDOMWindow.h>
-#include <JSElement.h>
-#include <JavaScriptCore/OpaqueJSString.h>
-#include <MemoryCache.h>
-#include <MutationObserver.h>
-#include <PageGroup.h>
-#include <PrintContext.h>
-#include <RenderTreeAsText.h>
-#include <ResourceLoadScheduler.h>
-#include <RuntimeEnabledFeatures.h>
-#include <SchemeRegistry.h>
-#include <ScriptController.h>
-#include <ScriptValue.h>
-#include <Settings.h>
-#include <TextIterator.h>
-#include <bindings/js/GCController.h>
-#include <history/HistoryItem.h>
-#include <wtf/HashMap.h>
-
-#if ENABLE(GEOLOCATION)
-#include <GeolocationClientMock.h>
-#include <GeolocationController.h>
-#include <GeolocationError.h>
-#include <GeolocationPosition.h>
-#include <wtf/CurrentTime.h>
-#endif
-
-#if HAVE(ACCESSIBILITY)
-#include "AXObjectCache.h"
-#include "AccessibilityObject.h"
-#include "WebKitAccessibleWrapperAtk.h"
-#endif
-
-#define DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, ...) \
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame); \
- if (!frame) \
- return __VA_ARGS__;
-
-#define DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, ...) \
- WebCore::Page* page = EWKPrivate::corePage(ewkView); \
- if (!page) \
- return __VA_ARGS__;
-
-bool DumpRenderTreeSupportEfl::s_drtRun = false;
-
-void DumpRenderTreeSupportEfl::setDumpRenderTreeModeEnabled(bool enabled)
-{
- s_drtRun = enabled;
-}
-
-bool DumpRenderTreeSupportEfl::dumpRenderTreeModeEnabled()
-{
- return s_drtRun;
-}
-
-bool DumpRenderTreeSupportEfl::callShouldCloseOnWebView(Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, false);
-
- return frame->loader()->shouldClose();
-}
-
-void DumpRenderTreeSupportEfl::clearFrameName(Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
-
- frame->tree()->clearName();
-}
-
-void DumpRenderTreeSupportEfl::clearOpener(Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
-
- frame->loader()->setOpener(0);
-}
-
-String DumpRenderTreeSupportEfl::layerTreeAsText(const Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, String());
-
- return frame->layerTreeAsText();
-}
-
-Eina_List* DumpRenderTreeSupportEfl::frameChildren(const Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
-
- Eina_List* childFrames = 0;
-
- for (unsigned index = 0; index < frame->tree()->childCount(); index++) {
- WebCore::Frame *childFrame = frame->tree()->child(index);
- WebCore::FrameLoaderClientEfl *client = static_cast<WebCore::FrameLoaderClientEfl*>(childFrame->loader()->client());
-
- if (!client)
- continue;
-
- childFrames = eina_list_append(childFrames, client->webFrame());
- }
-
- return childFrames;
-}
-
-WebCore::Frame* DumpRenderTreeSupportEfl::frameParent(const Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
-
- return frame->tree()->parent();
-}
-
-void DumpRenderTreeSupportEfl::layoutFrame(Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
-
- if (!frame->view())
- return;
-
- frame->view()->layout();
-}
-
-unsigned DumpRenderTreeSupportEfl::pendingUnloadEventCount(const Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
-
- return frame->document()->domWindow()->pendingUnloadEventListeners();
-}
-
-String DumpRenderTreeSupportEfl::renderTreeDump(Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, String());
-
- WebCore::FrameView *frameView = frame->view();
-
- if (frameView && frameView->layoutPending())
- frameView->layout();
-
- return WebCore::externalRepresentation(frame);
-}
-
-String DumpRenderTreeSupportEfl::responseMimeType(const Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, String());
-
- WebCore::DocumentLoader *documentLoader = frame->loader()->documentLoader();
-
- if (!documentLoader)
- return String();
-
- return documentLoader->responseMIMEType();
-}
-
-WebCore::IntRect DumpRenderTreeSupportEfl::selectionRectangle(const Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, WebCore::IntRect());
-
- return enclosingIntRect(frame->selection()->bounds());
-}
-
-// Compare with "WebKit/Tools/DumpRenderTree/mac/FrameLoadDelegate.mm
-String DumpRenderTreeSupportEfl::suitableDRTFrameName(const Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, String());
-
- const String frameName(ewk_frame_name_get(ewkFrame));
-
- if (ewkFrame == ewk_view_frame_main_get(ewk_frame_view_get(ewkFrame))) {
- if (!frameName.isEmpty())
- return String("main frame \"") + frameName + String("\"");
-
- return String("main frame");
- }
-
- if (!frameName.isEmpty())
- return String("frame \"") + frameName + String("\"");
-
- return String("frame (anonymous)");
-}
-
-void DumpRenderTreeSupportEfl::setValueForUser(JSContextRef context, JSValueRef nodeObject, const String& value)
-{
- JSC::ExecState* exec = toJS(context);
- WebCore::Element* element = WebCore::toElement(toJS(exec, nodeObject));
- if (!element)
- return;
- WebCore::HTMLInputElement* inputElement = element->toInputElement();
- if (!inputElement)
- return;
-
- inputElement->setValueForUser(value);
-}
-
-void DumpRenderTreeSupportEfl::setDefersLoading(Evas_Object* ewkView, bool defers)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- page->setDefersLoading(defers);
-}
-
-void DumpRenderTreeSupportEfl::setLoadsSiteIconsIgnoringImageLoadingSetting(Evas_Object* ewkView, bool loadsSiteIconsIgnoringImageLoadingPreferences)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- page->settings()->setLoadsSiteIconsIgnoringImageLoadingSetting(loadsSiteIconsIgnoringImageLoadingPreferences);
-}
-
-void DumpRenderTreeSupportEfl::setMinimumLogicalFontSize(Evas_Object* ewkView, int size)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- page->settings()->setMinimumLogicalFontSize(size);
-}
-
-void DumpRenderTreeSupportEfl::addUserScript(const Evas_Object* ewkView, const String& sourceCode, bool runAtStart, bool allFrames)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- page->group().addUserScriptToWorld(WebCore::mainThreadNormalWorld(), sourceCode, WebCore::KURL(),
- Vector<String>(), Vector<String>(), runAtStart ? WebCore::InjectAtDocumentStart : WebCore::InjectAtDocumentEnd,
- allFrames ? WebCore::InjectInAllFrames : WebCore::InjectInTopFrameOnly);
-}
-
-void DumpRenderTreeSupportEfl::clearUserScripts(const Evas_Object* ewkView)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- page->group().removeUserScriptsFromWorld(WebCore::mainThreadNormalWorld());
-}
-
-void DumpRenderTreeSupportEfl::addUserStyleSheet(const Evas_Object* ewkView, const String& sourceCode, bool allFrames)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- page->group().addUserStyleSheetToWorld(WebCore::mainThreadNormalWorld(), sourceCode, WebCore::KURL(), Vector<String>(), Vector<String>(), allFrames ? WebCore::InjectInAllFrames : WebCore::InjectInTopFrameOnly);
-}
-
-void DumpRenderTreeSupportEfl::clearUserStyleSheets(const Evas_Object* ewkView)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- page->group().removeUserStyleSheetsFromWorld(WebCore::mainThreadNormalWorld());
-}
-
-void DumpRenderTreeSupportEfl::executeCoreCommandByName(const Evas_Object* ewkView, const char* name, const char* value)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- page->focusController()->focusedOrMainFrame()->editor().command(name).execute(value);
-}
-
-bool DumpRenderTreeSupportEfl::findString(const Evas_Object* ewkView, const String& text, WebCore::FindOptions options)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
-
- return page->findString(text, options);
-}
-
-void DumpRenderTreeSupportEfl::setCSSGridLayoutEnabled(const Evas_Object* ewkView, bool enabled)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- page->settings()->setCSSGridLayoutEnabled(enabled);
-}
-
-void DumpRenderTreeSupportEfl::setCSSRegionsEnabled(const Evas_Object* ewkView, bool enabled)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- WebCore::RuntimeEnabledFeatures::setCSSRegionsEnabled(enabled);
-}
-
-void DumpRenderTreeSupportEfl::setSeamlessIFramesEnabled(bool enabled)
-{
-#if ENABLE(IFRAME_SEAMLESS)
- WebCore::RuntimeEnabledFeatures::setSeamlessIFramesEnabled(enabled);
-#else
- UNUSED_PARAM(enabled);
-#endif
-}
-
-void DumpRenderTreeSupportEfl::setWebAudioEnabled(Evas_Object* ewkView, bool enabled)
-{
-#if ENABLE(WEB_AUDIO)
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- page->settings()->setWebAudioEnabled(enabled);
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(enabled);
-#endif
-}
-
-bool DumpRenderTreeSupportEfl::isCommandEnabled(const Evas_Object* ewkView, const char* name)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
-
- return page->focusController()->focusedOrMainFrame()->editor().command(name).isEnabled();
-}
-
-void DumpRenderTreeSupportEfl::forceLayout(Evas_Object* ewkFrame)
-{
- ewk_frame_force_layout(ewkFrame);
-}
-
-void DumpRenderTreeSupportEfl::setTracksRepaints(Evas_Object* ewkFrame, bool enabled)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
-
- if (frame->view())
- frame->view()->setTracksRepaints(enabled);
-}
-
-void DumpRenderTreeSupportEfl::resetTrackedRepaints(Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
-
- if (frame->view())
- frame->view()->resetTrackedRepaints();
-}
-
-bool DumpRenderTreeSupportEfl::isTrackingRepaints(const Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, false);
-
- if (!frame->view())
- return false;
-
- return frame->view()->isTrackingRepaints();
-}
-
-Eina_List* DumpRenderTreeSupportEfl::trackedRepaintRects(const Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
-
- if (!frame->view())
- return 0;
-
- const Vector<WebCore::IntRect>& repaintRects = frame->view()->trackedRepaintRects();
- size_t count = repaintRects.size();
- Eina_List* rectList = 0;
-
- for (size_t i = 0; i < count; ++i) {
- Eina_Rectangle* rect = eina_rectangle_new(repaintRects[i].x(), repaintRects[i].y(), repaintRects[i].width(), repaintRects[i].height());
- rectList = eina_list_append(rectList, rect);
- }
-
- return rectList;
-}
-
-void DumpRenderTreeSupportEfl::garbageCollectorCollect()
-{
- WebCore::gcController().garbageCollectNow();
-}
-
-void DumpRenderTreeSupportEfl::garbageCollectorCollectOnAlternateThread(bool waitUntilDone)
-{
- WebCore::gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
-}
-
-size_t DumpRenderTreeSupportEfl::javaScriptObjectsCount()
-{
- return WebCore::JSDOMWindow::commonVM()->heap.objectCount();
-}
-
-void DumpRenderTreeSupportEfl::setDeadDecodedDataDeletionInterval(double interval)
-{
- WebCore::memoryCache()->setDeadDecodedDataDeletionInterval(interval);
-}
-
-HistoryItemChildrenVector DumpRenderTreeSupportEfl::childHistoryItems(const Ewk_History_Item* ewkHistoryItem)
-{
- WebCore::HistoryItem* historyItem = EWKPrivate::coreHistoryItem(ewkHistoryItem);
- HistoryItemChildrenVector kids;
-
- if (!historyItem)
- return kids;
-
- const WebCore::HistoryItemVector& children = historyItem->children();
- const unsigned size = children.size();
-
- for (unsigned i = 0; i < size; ++i) {
- Ewk_History_Item* kid = ewk_history_item_new_from_core(children[i].get());
- kids.append(kid);
- }
-
- return kids;
-}
-
-String DumpRenderTreeSupportEfl::historyItemTarget(const Ewk_History_Item* ewkHistoryItem)
-{
- WebCore::HistoryItem* historyItem = EWKPrivate::coreHistoryItem(ewkHistoryItem);
-
- if (!historyItem)
- return String();
-
- return historyItem->target();
-}
-
-bool DumpRenderTreeSupportEfl::isTargetItem(const Ewk_History_Item* ewkHistoryItem)
-{
- WebCore::HistoryItem* historyItem = EWKPrivate::coreHistoryItem(ewkHistoryItem);
-
- if (!historyItem)
- return false;
-
- return historyItem->isTargetItem();
-}
-
-void DumpRenderTreeSupportEfl::evaluateInWebInspector(const Evas_Object* ewkView, long callId, const String& script)
-{
-#if ENABLE(INSPECTOR)
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- if (page->inspectorController())
- page->inspectorController()->evaluateForTestInFrontend(callId, script);
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(callId);
- UNUSED_PARAM(script);
-#endif
-}
-
-void DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld(const Evas_Object* ewkFrame, int worldID, JSObjectRef globalObject, const String& script)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
-
- // Comment from mac: Start off with some guess at a frame and a global object, we'll try to do better...!
- WebCore::JSDOMWindow* anyWorldGlobalObject = frame->script()->globalObject(WebCore::mainThreadNormalWorld());
-
- // Comment from mac: The global object is probably a shell object? - if so, we know how to use this!
- JSC::JSObject* globalObjectObj = toJS(globalObject);
- if (!strcmp(globalObjectObj->classInfo()->className, "JSDOMWindowShell"))
- anyWorldGlobalObject = static_cast<WebCore::JSDOMWindowShell*>(globalObjectObj)->window();
-
- // Comment from mac: Get the frame from the global object we've settled on.
- WebCore::Frame* globalFrame = anyWorldGlobalObject->impl()->frame();
- if (!globalFrame)
- return;
-
- WebCore::ScriptController* proxy = globalFrame->script();
- if (!proxy)
- return;
-
- static WTF::HashMap<int, WTF::RefPtr<WebCore::DOMWrapperWorld > > worldMap;
-
- WTF::RefPtr<WebCore::DOMWrapperWorld> scriptWorld;
- if (!worldID)
- scriptWorld = WebCore::ScriptController::createWorld();
- else {
- WTF::HashMap<int, RefPtr<WebCore::DOMWrapperWorld > >::const_iterator it = worldMap.find(worldID);
- if (it != worldMap.end())
- scriptWorld = (*it).value;
- else {
- scriptWorld = WebCore::ScriptController::createWorld();
- worldMap.set(worldID, scriptWorld);
- }
- }
-
- // The code below is only valid for JSC, V8 specific code is to be added
- // when V8 will be supported in EFL port. See Qt implemenation.
- proxy->executeScriptInWorld(scriptWorld.get(), script, true);
-}
-
-JSGlobalContextRef DumpRenderTreeSupportEfl::globalContextRefForFrame(const Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
-
- return toGlobalRef(frame->script()->globalObject(WebCore::mainThreadNormalWorld())->globalExec());
-}
-
-void DumpRenderTreeSupportEfl::setMockScrollbarsEnabled(bool enable)
-{
- WebCore::Settings::setMockScrollbarsEnabled(enable);
-}
-
-void DumpRenderTreeSupportEfl::deliverAllMutationsIfNecessary()
-{
- WebCore::MutationObserver::deliverAllMutations();
-}
-
-void DumpRenderTreeSupportEfl::setInteractiveFormValidationEnabled(Evas_Object* ewkView, bool enabled)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- page->settings()->setInteractiveFormValidationEnabled(enabled);
-}
-
-void DumpRenderTreeSupportEfl::setValidationMessageTimerMagnification(Evas_Object* ewkView, int value)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- page->settings()->setValidationMessageTimerMagnification(value);
-}
-
-void DumpRenderTreeSupportEfl::setAuthorAndUserStylesEnabled(Evas_Object* ewkView, bool enabled)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- page->settings()->setAuthorAndUserStylesEnabled(enabled);
-}
-
-void DumpRenderTreeSupportEfl::setSerializeHTTPLoads(bool enabled)
-{
- WebCore::resourceLoadScheduler()->setSerialLoadingEnabled(enabled);
-}
-
-void DumpRenderTreeSupportEfl::setShouldTrackVisitedLinks(bool shouldTrack)
-{
- WebCore::PageGroup::setShouldTrackVisitedLinks(shouldTrack);
-}
-
-void DumpRenderTreeSupportEfl::setComposition(Evas_Object* ewkView, const char* text, int start, int length)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
- return;
-
- WebCore::Editor& editor = page->focusController()->focusedOrMainFrame()->editor();
- if (!editor.canEdit() && !editor.hasComposition())
- return;
-
- const String compositionString = String::fromUTF8(text);
- Vector<WebCore::CompositionUnderline> underlines;
- underlines.append(WebCore::CompositionUnderline(0, compositionString.length(), WebCore::Color(0, 0, 0), false));
- editor.setComposition(compositionString, underlines, start, start + length);
-}
-
-bool DumpRenderTreeSupportEfl::hasComposition(const Evas_Object* ewkView)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
-
- if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
- return false;
-
- return page->focusController()->focusedOrMainFrame()->editor().hasComposition();
-}
-
-bool DumpRenderTreeSupportEfl::compositionRange(Evas_Object* ewkView, int* start, int* length)
-{
- *start = *length = 0;
-
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
-
- if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
- return false;
-
- WebCore::Editor& editor = page->focusController()->focusedOrMainFrame()->editor();
- if (!editor.hasComposition())
- return false;
-
- *start = editor.compositionStart();
- *length = editor.compositionEnd() - *start;
- return true;
-}
-
-void DumpRenderTreeSupportEfl::confirmComposition(Evas_Object* ewkView, const char* text)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
- return;
-
- WebCore::Editor& editor = page->focusController()->focusedOrMainFrame()->editor();
-
- if (!editor.hasComposition()) {
- editor.insertText(String::fromUTF8(text), 0);
- return;
- }
-
- if (text) {
- editor.confirmComposition(String::fromUTF8(text));
- return;
- }
- editor.confirmComposition();
-}
-
-WebCore::IntRect DumpRenderTreeSupportEfl::firstRectForCharacterRange(Evas_Object* ewkView, int location, int length)
-{
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, WebCore::IntRect());
-
- if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
- return WebCore::IntRect();
-
- if ((location + length < location) && (location + length))
- length = 0;
-
- WebCore::Frame* frame = page->focusController()->focusedOrMainFrame();
-
- RefPtr<WebCore::Range> range = WebCore::TextIterator::rangeFromLocationAndLength(frame->selection()->rootEditableElementOrDocumentElement(), location, length);
- if (!range)
- return WebCore::IntRect();
-
- return frame->editor().firstRectForRange(range.get());
-}
-
-bool DumpRenderTreeSupportEfl::selectedRange(Evas_Object* ewkView, int* start, int* length)
-{
- if (!(start && length))
- return false;
-
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
-
- if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
- return false;
-
- WebCore::Frame* frame = page->focusController()->focusedOrMainFrame();
- RefPtr<WebCore::Range> range = frame->selection()->toNormalizedRange().get();
- if (!range)
- return false;
-
- WebCore::Element* selectionRoot = frame->selection()->rootEditableElement();
- WebCore::Element* scope = selectionRoot ? selectionRoot : frame->document()->documentElement();
-
- RefPtr<WebCore::Range> testRange = WebCore::Range::create(scope->document(), scope, 0, range->startContainer(), range->startOffset());
- *start = WebCore::TextIterator::rangeLength(testRange.get());
-
- WebCore::ExceptionCode ec;
- testRange->setEnd(range->endContainer(), range->endOffset(), ec);
- *length = WebCore::TextIterator::rangeLength(testRange.get());
-
- return true;
-}
-
-void DumpRenderTreeSupportEfl::setDomainRelaxationForbiddenForURLScheme(bool forbidden, const String& scheme)
-{
- WebCore::SchemeRegistry::setDomainRelaxationForbiddenForURLScheme(forbidden, scheme);
-}
-
-void DumpRenderTreeSupportEfl::resetGeolocationClientMock(const Evas_Object* ewkView)
-{
-#if ENABLE(GEOLOCATION)
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- WebCore::GeolocationClientMock* mock = static_cast<WebCore::GeolocationClientMock*>(WebCore::GeolocationController::from(page)->client());
- mock->reset();
-#else
- UNUSED_PARAM(ewkView);
-#endif
-}
-
-void DumpRenderTreeSupportEfl::setMockGeolocationPermission(const Evas_Object* ewkView, bool allowed)
-{
-#if ENABLE(GEOLOCATION)
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- WebCore::GeolocationClientMock* mock = static_cast<WebCore::GeolocationClientMock*>(WebCore::GeolocationController::from(page)->client());
- mock->setPermission(allowed);
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(allowed);
-#endif
-}
-
-void DumpRenderTreeSupportEfl::setMockGeolocationPosition(const Evas_Object* ewkView, double latitude, double longitude, double accuracy, bool canProvideAltitude, double altitude, bool canProvideAltitudeAccuracy, double altitudeAccuracy, bool canProvideHeading, double heading, bool canProvideSpeed, double speed)
-{
-#if ENABLE(GEOLOCATION)
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- WebCore::GeolocationClientMock* mock = static_cast<WebCore::GeolocationClientMock*>(WebCore::GeolocationController::from(page)->client());
- mock->setPosition(WebCore::GeolocationPosition::create(currentTime(), latitude, longitude, accuracy, canProvideAltitude, altitude, canProvideAltitudeAccuracy, altitudeAccuracy, canProvideHeading, heading, canProvideSpeed, speed));
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(latitude);
- UNUSED_PARAM(longitude);
- UNUSED_PARAM(accuracy);
- UNUSED_PARAM(canProvideAltitude);
- UNUSED_PARAM(altitude);
- UNUSED_PARAM(canProvideAltitudeAccuracy);
- UNUSED_PARAM(altitudeAccuracy);
- UNUSED_PARAM(canProvideHeading);
- UNUSED_PARAM(heading);
- UNUSED_PARAM(canProvideSpeed);
- UNUSED_PARAM(speed);
-#endif
-}
-
-void DumpRenderTreeSupportEfl::setMockGeolocationPositionUnavailableError(const Evas_Object* ewkView, const char* errorMessage)
-{
-#if ENABLE(GEOLOCATION)
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
-
- WebCore::GeolocationClientMock* mock = static_cast<WebCore::GeolocationClientMock*>(WebCore::GeolocationController::from(page)->client());
- mock->setPositionUnavailableError(errorMessage);
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(errorMessage);
-#endif
-}
-
-int DumpRenderTreeSupportEfl::numberOfPendingGeolocationPermissionRequests(const Evas_Object* ewkView)
-{
-#if ENABLE(GEOLOCATION)
- DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, -1);
-
- WebCore::GeolocationClientMock* mock = static_cast<WebCore::GeolocationClientMock*>(WebCore::GeolocationController::from(page)->client());
- return mock->numberOfPendingPermissionRequests();
-#else
- UNUSED_PARAM(ewkView);
- return 0;
-#endif
-}
-
-#if HAVE(ACCESSIBILITY)
-String DumpRenderTreeSupportEfl::accessibilityHelpText(const AtkObject* axObject)
-{
- if (!axObject || !WEBKIT_IS_ACCESSIBLE(axObject))
- return String();
-
- WebCore::AccessibilityObject* coreObject = webkitAccessibleGetAccessibilityObject(WEBKIT_ACCESSIBLE(axObject));
- if (!coreObject)
- return String();
-
- return coreObject->helpText();
-}
-
-AtkObject* DumpRenderTreeSupportEfl::rootAccessibleElement(const Evas_Object* ewkFrame)
-{
- DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
-
- if (!WebCore::AXObjectCache::accessibilityEnabled())
- WebCore::AXObjectCache::enableAccessibility();
-
- if (!frame->document())
- return 0;
-
- AtkObject* wrapper = frame->document()->axObjectCache()->rootObject()->wrapper();
- if (!wrapper)
- return 0;
-
- return wrapper;
-}
-
-AtkObject* DumpRenderTreeSupportEfl::focusedAccessibleElement(const Evas_Object* ewkFrame)
-{
- AtkObject* wrapper = rootAccessibleElement(ewkFrame);
- if (!wrapper)
- return 0;
-
- return webkitAccessibleGetFocusedElement(WEBKIT_ACCESSIBLE(wrapper));
-}
-#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h
deleted file mode 100644
index 3bc2b4ffe..000000000
--- a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- Copyright (C) 2011 ProFUSION embedded systems
- Copyright (C) 2011 Samsung Electronics
- Copyright (C) 2012 Intel Corporation. All rights reserved.
-
- 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 DumpRenderTreeSupportEfl_h
-#define DumpRenderTreeSupportEfl_h
-
-#include <Eina.h>
-#include <FindOptions.h>
-#include <IntRect.h>
-#include <JavaScriptCore/APICast.h>
-#include <JavaScriptCore/JSStringRef.h>
-#include <wtf/Vector.h>
-#include <wtf/text/WTFString.h>
-
-#if HAVE(ACCESSIBILITY)
-#include <atk/atk.h>
-#endif
-
-typedef struct _Ewk_History_Item Ewk_History_Item;
-
-typedef Vector<Ewk_History_Item*> HistoryItemChildrenVector;
-
-namespace WebCore {
-class Frame;
-class MessagePortChannel;
-typedef Vector<OwnPtr<MessagePortChannel>, 1> MessagePortChannelArray;
-}
-
-class EAPI DumpRenderTreeSupportEfl {
-public:
- DumpRenderTreeSupportEfl() { }
-
- ~DumpRenderTreeSupportEfl() { }
-
- static void setDumpRenderTreeModeEnabled(bool);
- static bool dumpRenderTreeModeEnabled();
-
- static bool callShouldCloseOnWebView(Evas_Object* ewkFrame);
- static void clearFrameName(Evas_Object* ewkFrame);
- static void clearOpener(Evas_Object* ewkFrame);
- static String counterValueByElementId(const Evas_Object* ewkFrame, const char* elementId);
- static Eina_List* frameChildren(const Evas_Object* ewkFrame);
- static WebCore::Frame* frameParent(const Evas_Object* ewkFrame);
- static void layoutFrame(Evas_Object* ewkFrame);
- static unsigned pendingUnloadEventCount(const Evas_Object* ewkFrame);
- static String renderTreeDump(Evas_Object* ewkFrame);
- static String responseMimeType(const Evas_Object* ewkFrame);
- static WebCore::IntRect selectionRectangle(const Evas_Object* ewkFrame);
- static String suitableDRTFrameName(const Evas_Object* ewkFrame);
- static String layerTreeAsText(const Evas_Object* ewkFrame);
- static void setValueForUser(JSContextRef, JSValueRef nodeObject, const String& value);
- static void setDefersLoading(Evas_Object* ewkView, bool defers);
- static void setLoadsSiteIconsIgnoringImageLoadingSetting(Evas_Object* ewkView, bool loadsSiteIconsIgnoringImageLoadingPreferences);
- static void setMinimumLogicalFontSize(Evas_Object* ewkView, int size);
-
- static void addUserScript(const Evas_Object* ewkView, const String& sourceCode, bool runAtStart, bool allFrames);
- static void clearUserScripts(const Evas_Object* ewkView);
- static void addUserStyleSheet(const Evas_Object* ewkView, const String& sourceCode, bool allFrames);
- static void clearUserStyleSheets(const Evas_Object* ewkView);
- static void executeCoreCommandByName(const Evas_Object* ewkView, const char* name, const char* value);
- static bool findString(const Evas_Object* ewkView, const String& text, WebCore::FindOptions);
- static bool isCommandEnabled(const Evas_Object* ewkView, const char* name);
- static void setCSSGridLayoutEnabled(const Evas_Object* ewkView, bool enabled);
- static void setCSSRegionsEnabled(const Evas_Object* ewkView, bool enabled);
- static void setSeamlessIFramesEnabled(bool);
- static void setWebAudioEnabled(Evas_Object* ewkView, bool);
-
- static void forceLayout(Evas_Object* ewkFrame);
- static void setTracksRepaints(Evas_Object* ewkFrame, bool enabled);
- static void resetTrackedRepaints(Evas_Object* ewkFrame);
- static bool isTrackingRepaints(const Evas_Object* ewkFrame);
- static Eina_List* trackedRepaintRects(const Evas_Object* ewkFrame);
-
- static void garbageCollectorCollect();
- static void garbageCollectorCollectOnAlternateThread(bool waitUntilDone);
- static size_t javaScriptObjectsCount();
-
- static void setDeadDecodedDataDeletionInterval(double);
-
- static HistoryItemChildrenVector childHistoryItems(const Ewk_History_Item*);
- static String historyItemTarget(const Ewk_History_Item*);
- static bool isTargetItem(const Ewk_History_Item*);
- static void evaluateInWebInspector(const Evas_Object* ewkView, long callId, const String& script);
- static void evaluateScriptInIsolatedWorld(const Evas_Object* ewkFrame, int worldID, JSObjectRef globalObject, const String& script);
- static JSGlobalContextRef globalContextRefForFrame(const Evas_Object* ewkFrame);
-
- static void setMockScrollbarsEnabled(bool);
-
- static void deliverAllMutationsIfNecessary();
- static void setInteractiveFormValidationEnabled(Evas_Object* ewkView, bool enabled);
- static void setValidationMessageTimerMagnification(Evas_Object* ewkView, int value);
- static void setAuthorAndUserStylesEnabled(Evas_Object* ewkView, bool);
- static void setDomainRelaxationForbiddenForURLScheme(bool forbidden, const String& scheme);
- static void setSerializeHTTPLoads(bool);
- static void setShouldTrackVisitedLinks(bool);
-
- // TextInputController
- static void setComposition(Evas_Object*, const char*, int, int);
- static bool hasComposition(const Evas_Object*);
- static bool compositionRange(Evas_Object*, int*, int*);
- static void confirmComposition(Evas_Object*, const char*);
- static WebCore::IntRect firstRectForCharacterRange(Evas_Object*, int, int);
- static bool selectedRange(Evas_Object*, int*, int*);
-
- // Geolocation
- static void resetGeolocationClientMock(const Evas_Object*);
- static void setMockGeolocationPermission(const Evas_Object*, bool allowed);
- static void setMockGeolocationPosition(const Evas_Object*, double latitude, double longitude, double accuracy, bool canProvideAltitude, double altitude, bool canProvideAltitudeAccuracy, double altitudeAccuracy, bool canProvideHeading, double heading, bool canProvideSpeed, double speed);
- static void setMockGeolocationPositionUnavailableError(const Evas_Object*, const char* errorMessage);
- static int numberOfPendingGeolocationPermissionRequests(const Evas_Object*);
-
-#if HAVE(ACCESSIBILITY)
- static String accessibilityHelpText(const AtkObject* axObject);
- static AtkObject* focusedAccessibleElement(const Evas_Object*);
- static AtkObject* rootAccessibleElement(const Evas_Object*);
-#endif
-
-private:
- static bool s_drtRun;
-};
-
-#endif // DumpRenderTreeSupportEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
deleted file mode 100644
index 24da51dd6..000000000
--- a/Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp
+++ /dev/null
@@ -1,462 +0,0 @@
-/*
- * Copyright (C) 2007 Alp Toker <alp@atoker.com>
- * Copyright (C) 2008 Nuanti Ltd.
- * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-2010 Samsung Electronics
- *
- * 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 "EditorClientEfl.h"
-
-#include "Document.h"
-#include "DumpRenderTreeSupportEfl.h"
-#include "Editor.h"
-#include "EflKeyboardUtilities.h"
-#include "EventNames.h"
-#include "FocusController.h"
-#include "Frame.h"
-#include "KeyboardEvent.h"
-#include "NotImplemented.h"
-#include "Page.h"
-#include "PlatformKeyboardEvent.h"
-#include "Settings.h"
-#include "UndoStep.h"
-#include "WindowsKeyboardCodes.h"
-#include "ewk_frame_private.h"
-#include "ewk_private.h"
-#include "ewk_view_private.h"
-
-using namespace WebCore;
-
-namespace WebCore {
-
-void EditorClientEfl::willSetInputMethodState()
-{
- notImplemented();
-}
-
-void EditorClientEfl::setInputMethodState(bool active)
-{
- ewk_view_input_method_state_set(m_view, active);
-}
-
-bool EditorClientEfl::shouldDeleteRange(Range* range)
-{
- evas_object_smart_callback_call(m_view, "editorclient,range,delete", range);
- return true;
-}
-
-bool EditorClientEfl::isContinuousSpellCheckingEnabled()
-{
- notImplemented();
- return false;
-}
-
-bool EditorClientEfl::isGrammarCheckingEnabled()
-{
- notImplemented();
- return false;
-}
-
-int EditorClientEfl::spellCheckerDocumentTag()
-{
- notImplemented();
- return 0;
-}
-
-bool EditorClientEfl::shouldBeginEditing(Range* range)
-{
- evas_object_smart_callback_call(m_view, "editorclient,editing,begin", range);
- return true;
-}
-
-bool EditorClientEfl::shouldEndEditing(Range* range)
-{
- evas_object_smart_callback_call(m_view, "editorclient,editing,end", range);
- return true;
-}
-
-bool EditorClientEfl::shouldInsertText(const String& text, Range* range, EditorInsertAction action)
-{
- CString protectedText = text.utf8();
- Ewk_Should_Insert_Text_Event shouldInsertTextEvent = { protectedText.data(), range, action };
- evas_object_smart_callback_call(m_view, "editorclient,text,insert", &shouldInsertTextEvent);
- return true;
-}
-
-bool EditorClientEfl::shouldChangeSelectedRange(Range* fromRange, Range* toRange, EAffinity affinity, bool stillSelecting)
-{
- Ewk_Should_Change_Selected_Range_Event shouldChangeSelectedRangeEvent = { fromRange, toRange, affinity, stillSelecting };
- evas_object_smart_callback_call(m_view, "editorclient,selected,range,change", &shouldChangeSelectedRangeEvent);
- return true;
-}
-
-bool EditorClientEfl::shouldApplyStyle(StylePropertySet* style, Range* range)
-{
- Ewk_Should_Apply_Style_Event shouldApplyStyleEvent = { style, range };
- evas_object_smart_callback_call(m_view, "editorclient,style,apply", &shouldApplyStyleEvent);
- return true;
-}
-
-bool EditorClientEfl::shouldMoveRangeAfterDelete(Range*, Range*)
-{
- notImplemented();
- return true;
-}
-
-void EditorClientEfl::didBeginEditing()
-{
- evas_object_smart_callback_call(m_view, "editorclient,editing,began", 0);
-}
-
-void EditorClientEfl::respondToChangedContents()
-{
- Evas_Object* frame = ewk_view_frame_focused_get(m_view);
-
- if (!frame)
- frame = ewk_view_frame_main_get(m_view);
-
- if (!frame)
- return;
-
- ewk_frame_editor_client_contents_changed(frame);
-}
-
-void EditorClientEfl::respondToChangedSelection(Frame* coreFrame)
-{
- if (!coreFrame)
- return;
-
- if (coreFrame->editor().ignoreCompositionSelectionChange())
- return;
-
- Evas_Object* webFrame = EWKPrivate::kitFrame(coreFrame);
- ewk_frame_editor_client_selection_changed(webFrame);
-
- coreFrame->editor().cancelCompositionIfSelectionIsInvalid();
-}
-
-void EditorClientEfl::didEndEditing()
-{
- evas_object_smart_callback_call(m_view, "editorclient,editing,ended", 0);
-}
-
-void EditorClientEfl::didWriteSelectionToPasteboard()
-{
- notImplemented();
-}
-
-void EditorClientEfl::willWriteSelectionToPasteboard(WebCore::Range*)
-{
-}
-
-void EditorClientEfl::getClientPasteboardDataForRange(WebCore::Range*, Vector<String>&, Vector<RefPtr<WebCore::SharedBuffer> >&)
-{
-}
-
-void EditorClientEfl::didSetSelectionTypesForPasteboard()
-{
- notImplemented();
-}
-
-void EditorClientEfl::registerUndoStep(WTF::PassRefPtr<UndoStep> step)
-{
- if (!m_isInRedo)
- redoStack.clear();
- undoStack.prepend(step);
-}
-
-void EditorClientEfl::registerRedoStep(WTF::PassRefPtr<UndoStep> step)
-{
- redoStack.prepend(step);
-}
-
-void EditorClientEfl::clearUndoRedoOperations()
-{
- undoStack.clear();
- redoStack.clear();
-}
-
-bool EditorClientEfl::canCopyCut(Frame*, bool defaultValue) const
-{
- return defaultValue;
-}
-
-bool EditorClientEfl::canPaste(Frame*, bool defaultValue) const
-{
- return defaultValue;
-}
-
-bool EditorClientEfl::canUndo() const
-{
- return !undoStack.isEmpty();
-}
-
-bool EditorClientEfl::canRedo() const
-{
- return !redoStack.isEmpty();
-}
-
-void EditorClientEfl::undo()
-{
- if (canUndo()) {
- RefPtr<WebCore::UndoStep> step = undoStack.takeFirst();
- step->unapply();
- }
-}
-
-void EditorClientEfl::redo()
-{
- if (canRedo()) {
- RefPtr<WebCore::UndoStep> step = redoStack.takeFirst();
-
- ASSERT(!m_isInRedo);
- m_isInRedo = true;
- step->reapply();
- m_isInRedo = false;
- }
-}
-
-bool EditorClientEfl::shouldInsertNode(Node* node, Range* range, EditorInsertAction action)
-{
- Ewk_Should_Insert_Node_Event insertNodeEvent = { node, range, action };
- evas_object_smart_callback_call(m_view, "editorclient,node,insert", &insertNodeEvent);
- return true;
-}
-
-void EditorClientEfl::pageDestroyed()
-{
- delete this;
-}
-
-bool EditorClientEfl::smartInsertDeleteEnabled()
-{
- WebCore::Page* corePage = EWKPrivate::corePage(m_view);
- if (!corePage)
- return false;
- return corePage->settings()->smartInsertDeleteEnabled();
-}
-
-bool EditorClientEfl::isSelectTrailingWhitespaceEnabled()
-{
- WebCore::Page* corePage = EWKPrivate::corePage(m_view);
- if (!corePage)
- return false;
- return corePage->settings()->selectTrailingWhitespaceEnabled();
-}
-
-void EditorClientEfl::toggleContinuousSpellChecking()
-{
- notImplemented();
-}
-
-void EditorClientEfl::toggleGrammarChecking()
-{
- notImplemented();
-}
-
-const char* EditorClientEfl::interpretKeyEvent(const KeyboardEvent* event)
-{
- ASSERT(event->type() == eventNames().keydownEvent || event->type() == eventNames().keypressEvent);
-
- if (event->type() == eventNames().keydownEvent)
- return getKeyDownCommandName(event);
-
- return getKeyPressCommandName(event);
-}
-
-bool EditorClientEfl::handleEditingKeyboardEvent(KeyboardEvent* event)
-{
- Node* node = event->target()->toNode();
- ASSERT(node);
- Frame* frame = node->document()->frame();
- ASSERT(frame);
-
- const PlatformKeyboardEvent* keyEvent = event->keyEvent();
- if (!keyEvent)
- return false;
-
- if (!frame->settings())
- return false;
-
- bool caretBrowsing = frame->settings()->caretBrowsingEnabled();
- if (caretBrowsing) {
- switch (keyEvent->windowsVirtualKeyCode()) {
- case VK_LEFT:
- frame->selection()->modify(keyEvent->shiftKey() ? FrameSelection::AlterationExtend : FrameSelection::AlterationMove,
- DirectionLeft,
- keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
- UserTriggered);
- return true;
- case VK_RIGHT:
- frame->selection()->modify(keyEvent->shiftKey() ? FrameSelection::AlterationExtend : FrameSelection::AlterationMove,
- DirectionRight,
- keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
- UserTriggered);
- return true;
- case VK_UP:
- frame->selection()->modify(keyEvent->shiftKey() ? FrameSelection::AlterationExtend : FrameSelection::AlterationMove,
- DirectionBackward,
- keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
- UserTriggered);
- return true;
- case VK_DOWN:
- frame->selection()->modify(keyEvent->shiftKey() ? FrameSelection::AlterationExtend : FrameSelection::AlterationMove,
- DirectionForward,
- keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
- UserTriggered);
- return true;
- }
- }
-
- Editor::Command command = frame->editor().command(interpretKeyEvent(event));
-
- if (keyEvent->type() == PlatformEvent::RawKeyDown) {
- // WebKit doesn't have enough information about mode to decide how commands that just insert text if executed via Editor should be treated,
- // so we leave it upon WebCore to either handle them immediately (e.g. Tab that changes focus) or let a keypress event be generated
- // (e.g. Tab that inserts a Tab character, or Enter).
- return !command.isTextInsertion() && command.execute(event);
- }
-
- if (command.execute(event))
- return true;
-
- // Don't allow text insertion for nodes that cannot edit.
- if (!frame->editor().canEdit())
- return false;
-
- // Don't insert null or control characters as they can result in unexpected behaviour
- if (event->charCode() < ' ')
- return false;
-
- // Don't insert anything if a modifier is pressed
- if (keyEvent->ctrlKey() || keyEvent->altKey())
- return false;
-
- return frame->editor().insertText(event->keyEvent()->text(), event);
-}
-
-void EditorClientEfl::handleKeyboardEvent(KeyboardEvent* event)
-{
- if (handleEditingKeyboardEvent(event))
- event->setDefaultHandled();
-}
-
-void EditorClientEfl::handleInputMethodKeydown(KeyboardEvent*)
-{
-}
-
-EditorClientEfl::EditorClientEfl(Evas_Object* view)
- : m_isInRedo(false)
- , m_view(view)
-{
- notImplemented();
-}
-
-EditorClientEfl::~EditorClientEfl()
-{
- notImplemented();
-}
-
-void EditorClientEfl::textFieldDidBeginEditing(Element*)
-{
-}
-
-void EditorClientEfl::textFieldDidEndEditing(Element*)
-{
- notImplemented();
-}
-
-void EditorClientEfl::textDidChangeInTextField(Element*)
-{
- notImplemented();
-}
-
-bool EditorClientEfl::doTextFieldCommandFromEvent(Element*, KeyboardEvent*)
-{
- return false;
-}
-
-void EditorClientEfl::textWillBeDeletedInTextField(Element*)
-{
- notImplemented();
-}
-
-void EditorClientEfl::textDidChangeInTextArea(Element*)
-{
- notImplemented();
-}
-
-bool EditorClientEfl::shouldEraseMarkersAfterChangeSelection(TextCheckingType) const
-{
- return true;
-}
-
-void EditorClientEfl::ignoreWordInSpellDocument(const String&)
-{
- notImplemented();
-}
-
-void EditorClientEfl::learnWord(const String&)
-{
- notImplemented();
-}
-
-void EditorClientEfl::checkSpellingOfString(const UChar*, int, int*, int*)
-{
- notImplemented();
-}
-
-String EditorClientEfl::getAutoCorrectSuggestionForMisspelledWord(const String&)
-{
- notImplemented();
- return String();
-}
-
-void EditorClientEfl::checkGrammarOfString(const UChar*, int, Vector<GrammarDetail>&, int*, int*)
-{
- notImplemented();
-}
-
-void EditorClientEfl::updateSpellingUIWithGrammarString(const String&, const GrammarDetail&)
-{
- notImplemented();
-}
-
-void EditorClientEfl::updateSpellingUIWithMisspelledWord(const String&)
-{
- notImplemented();
-}
-
-void EditorClientEfl::showSpellingUI(bool)
-{
- notImplemented();
-}
-
-bool EditorClientEfl::spellingUIIsShowing()
-{
- notImplemented();
- return false;
-}
-
-void EditorClientEfl::getGuessesForWord(const String& /*word*/, const String& /*context*/, Vector<String>& /*guesses*/)
-{
- notImplemented();
-}
-
-}
diff --git a/Source/WebKit/efl/WebCoreSupport/EditorClientEfl.h b/Source/WebKit/efl/WebCoreSupport/EditorClientEfl.h
deleted file mode 100644
index d0d5d3081..000000000
--- a/Source/WebKit/efl/WebCoreSupport/EditorClientEfl.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
- * Copyright (C) 2006 Zack Rusin <zack@kde.org>
- * Copyright (C) 2006 Apple Computer, Inc.
- * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-2010 Samsung Electronics
- *
- * 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 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 EditorClientEfl_h
-#define EditorClientEfl_h
-
-#include "EditorClient.h"
-
-#include "EditorInsertAction.h"
-#include "TextAffinity.h"
-#include "TextCheckerClient.h"
-#include <wtf/Deque.h>
-#include <wtf/Forward.h>
-
-struct Ewk_Should_Insert_Node_Event {
- WebCore::Node* node;
- WebCore::Range* range;
- WebCore::EditorInsertAction action;
-};
-
-struct Ewk_Should_Insert_Text_Event {
- const char* text;
- WebCore::Range* range;
- WebCore::EditorInsertAction action;
-};
-
-struct Ewk_Should_Change_Selected_Range_Event {
- WebCore::Range* fromRange;
- WebCore::Range* toRange;
- WebCore::EAffinity affinity;
- bool stillSelecting;
-};
-
-struct Ewk_Should_Apply_Style_Event {
- WebCore::StylePropertySet* style;
- WebCore::Range* range;
-};
-
-namespace WebCore {
-class Page;
-
-class EditorClientEfl : public EditorClient, public TextCheckerClient {
-protected:
- bool m_isInRedo;
- WTF::Deque<WTF::RefPtr<WebCore::UndoStep> > undoStack;
- WTF::Deque<WTF::RefPtr<WebCore::UndoStep> > redoStack;
-
-public:
- explicit EditorClientEfl(Evas_Object* view);
- ~EditorClientEfl();
-
- // from EditorClient
- virtual void pageDestroyed();
- virtual void frameWillDetachPage(Frame*) { }
-
- virtual bool shouldDeleteRange(Range*);
- virtual bool smartInsertDeleteEnabled();
- virtual bool isSelectTrailingWhitespaceEnabled();
- virtual bool isContinuousSpellCheckingEnabled();
- virtual void toggleContinuousSpellChecking();
- virtual bool isGrammarCheckingEnabled();
- virtual void toggleGrammarChecking();
- virtual int spellCheckerDocumentTag();
-
- virtual bool shouldBeginEditing(Range*);
- virtual bool shouldEndEditing(Range*);
- virtual bool shouldInsertNode(Node*, Range*, EditorInsertAction);
- virtual bool shouldInsertText(const String&, Range*, EditorInsertAction);
- virtual bool shouldChangeSelectedRange(Range* fromRange, Range* toRange, EAffinity, bool stillSelecting);
-
- virtual bool shouldApplyStyle(StylePropertySet*, Range*);
-
- virtual bool shouldMoveRangeAfterDelete(Range*, Range*);
-
- virtual void didBeginEditing();
- virtual void respondToChangedContents();
- virtual void respondToChangedSelection(Frame*);
- virtual void didEndEditing();
- virtual void willWriteSelectionToPasteboard(WebCore::Range*);
- virtual void didWriteSelectionToPasteboard();
- virtual void getClientPasteboardDataForRange(WebCore::Range*, Vector<String>& pasteboardTypes, Vector<RefPtr<WebCore::SharedBuffer> >& pasteboardData);
- virtual void didSetSelectionTypesForPasteboard();
-
- virtual void registerUndoStep(WTF::PassRefPtr<UndoStep>);
- virtual void registerRedoStep(WTF::PassRefPtr<UndoStep>);
- virtual void clearUndoRedoOperations();
-
- virtual bool canCopyCut(Frame*, bool defaultValue) const;
- virtual bool canPaste(Frame*, bool defaultValue) const;
- virtual bool canUndo() const;
- virtual bool canRedo() const;
-
- virtual void undo();
- virtual void redo();
-
- virtual const char* interpretKeyEvent(const KeyboardEvent*);
- virtual bool handleEditingKeyboardEvent(KeyboardEvent*);
- virtual void handleKeyboardEvent(KeyboardEvent*);
- virtual void handleInputMethodKeydown(KeyboardEvent*);
-
- virtual void textFieldDidBeginEditing(Element*);
- virtual void textFieldDidEndEditing(Element*);
- virtual void textDidChangeInTextField(Element*);
- virtual bool doTextFieldCommandFromEvent(Element*, KeyboardEvent*);
- virtual void textWillBeDeletedInTextField(Element*);
- virtual void textDidChangeInTextArea(Element*);
-
- virtual bool shouldEraseMarkersAfterChangeSelection(TextCheckingType) const;
- virtual void ignoreWordInSpellDocument(const String&);
- virtual void learnWord(const String&);
- virtual void checkSpellingOfString(const UChar*, int length, int* misspellingLocation, int* misspellingLength);
- virtual String getAutoCorrectSuggestionForMisspelledWord(const String& misspelledWord);
- virtual void checkGrammarOfString(const UChar*, int length, WTF::Vector<GrammarDetail>&, int* badGrammarLocation, int* badGrammarLength);
- virtual void updateSpellingUIWithGrammarString(const String&, const GrammarDetail&);
- virtual void updateSpellingUIWithMisspelledWord(const String&);
- virtual void showSpellingUI(bool show);
- virtual bool spellingUIIsShowing();
- virtual void getGuessesForWord(const String& word, const String& context, WTF::Vector<String>& guesses);
- virtual void willSetInputMethodState();
- virtual void setInputMethodState(bool enabled);
- virtual void requestCheckingOfString(WTF::PassRefPtr<WebCore::TextCheckingRequest>) { }
-#if USE(UNIFIED_TEXT_CHECKING)
- virtual void checkTextOfParagraph(const UChar*, int, TextCheckingTypeMask, Vector<TextCheckingResult>&) { }
-#endif
- virtual TextCheckerClient* textChecker() { return this; }
-
-private:
- Evas_Object *m_view;
-};
-}
-
-#endif // EditorClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
deleted file mode 100644
index 9984721b5..000000000
--- a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
+++ /dev/null
@@ -1,1029 +0,0 @@
-/*
- * Copyright (C) 2006 Zack Rusin <zack@kde.org>
- * Copyright (C) 2006, 2011 Apple Inc. All rights reserved.
- * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
- * Copyright (C) 2008 Collabora Ltd. All rights reserved.
- * Copyright (C) 2008 Holger Hans Peter Freyther
- * Copyright (C) 2008 Kenneth Rohde Christiansen
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-2010 Samsung Electronics
- * Copyright (C) 2012 Intel Corporation
- *
- * 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 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 "FrameLoaderClientEfl.h"
-
-#include "APICast.h"
-#include "DocumentLoader.h"
-#include "ErrorsEfl.h"
-#include "FormState.h"
-#include "FrameLoader.h"
-#include "FrameNetworkingContextEfl.h"
-#include "FrameTree.h"
-#include "FrameView.h"
-#include "HTMLFormElement.h"
-#include "HTTPStatusCodes.h"
-#include "MIMETypeRegistry.h"
-#include "NotImplemented.h"
-#include "Page.h"
-#include "PluginDatabase.h"
-#include "ProgressTracker.h"
-#include "RenderPart.h"
-#include "ResourceRequest.h"
-#include "ResourceResponse.h"
-#include "ScriptController.h"
-#include "Settings.h"
-#include "WebKitVersion.h"
-#include "ewk_frame_private.h"
-#include "ewk_private.h"
-#include "ewk_settings.h"
-#include "ewk_settings_private.h"
-#include "ewk_view_private.h"
-#include <Ecore_Evas.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/StringConcatenate.h>
-
-namespace WebCore {
-
-FrameLoaderClientEfl::FrameLoaderClientEfl(Evas_Object* view)
- : m_view(view)
- , m_frame(0)
- , m_userAgent("")
- , m_customUserAgent("")
- , m_pluginView(0)
- , m_hasSentResponseToPlugin(false)
-{
-}
-
-static String composeUserAgent()
-{
- return String(ewk_settings_default_user_agent_get());
-}
-
-void FrameLoaderClientEfl::setCustomUserAgent(const String& agent)
-{
- m_customUserAgent = agent;
-}
-
-const String& FrameLoaderClientEfl::customUserAgent() const
-{
- return m_customUserAgent;
-}
-
-String FrameLoaderClientEfl::userAgent(const KURL&)
-{
- if (!m_customUserAgent.isEmpty())
- return m_customUserAgent;
-
- if (m_userAgent.isEmpty())
- m_userAgent = composeUserAgent();
- return m_userAgent;
-}
-
-void FrameLoaderClientEfl::callPolicyFunction(FramePolicyFunction function, PolicyAction action)
-{
- Frame* f = EWKPrivate::coreFrame(m_frame);
- ASSERT(f);
- (f->loader()->policyChecker()->*function)(action);
-}
-
-WTF::PassRefPtr<DocumentLoader> FrameLoaderClientEfl::createDocumentLoader(const ResourceRequest& request, const SubstituteData& substituteData)
-{
- RefPtr<DocumentLoader> loader = DocumentLoader::create(request, substituteData);
- if (substituteData.isValid())
- loader->setDeferMainResourceDataLoad(false);
- return loader.release();
-}
-
-void FrameLoaderClientEfl::dispatchWillSubmitForm(FramePolicyFunction function, PassRefPtr<FormState>)
-{
- // FIXME: This is surely too simple
- ASSERT(function);
- callPolicyFunction(function, PolicyUse);
-}
-
-void FrameLoaderClientEfl::committedLoad(DocumentLoader* loader, const char* data, int length)
-{
- if (!m_pluginView) {
- loader->commitData(data, length);
-
- // Let the media document handle the rest of loading itself, cancel here.
- Frame* coreFrame = loader->frame();
- if (coreFrame && coreFrame->document()->isMediaDocument())
- loader->cancelMainResourceLoad(pluginWillHandleLoadError(loader->response()));
- }
-
- // We re-check here as the plugin can have been created
- if (m_pluginView) {
- if (!m_hasSentResponseToPlugin) {
- m_pluginView->didReceiveResponse(loader->response());
- m_hasSentResponseToPlugin = true;
- }
- m_pluginView->didReceiveData(data, length);
- }
-}
-
-void FrameLoaderClientEfl::dispatchDidReplaceStateWithinPage()
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::dispatchDidPushStateWithinPage()
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::dispatchDidPopStateWithinPage()
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long /*identifier*/, const AuthenticationChallenge&)
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::dispatchDidCancelAuthenticationChallenge(DocumentLoader*, unsigned long /*identifier*/, const AuthenticationChallenge&)
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::dispatchWillSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest& coreRequest, const ResourceResponse& coreResponse)
-{
- CString url = coreRequest.url().string().utf8();
- CString firstParty = coreRequest.firstPartyForCookies().string().utf8();
- CString httpMethod = coreRequest.httpMethod().utf8();
- DBG("Resource url=%s, first_party=%s, http_method=%s", url.data(), firstParty.data(), httpMethod.data());
-
- // We want to distinguish between a request for a document to be loaded into
- // the main frame, a sub-frame, or the sub-objects in that document.
- bool isMainFrameRequest = false;
- if (loader) {
- const FrameLoader* frameLoader = loader->frameLoader();
- isMainFrameRequest = (loader == frameLoader->provisionalDocumentLoader() && frameLoader->isLoadingMainFrame());
- }
-
- Ewk_Frame_Resource_Request request = { 0, firstParty.data(), httpMethod.data(), identifier, m_frame, isMainFrameRequest };
- Ewk_Frame_Resource_Request orig = request; /* Initialize const fields. */
-
- orig.url = request.url = url.data();
-
- Ewk_Frame_Resource_Response* redirectResponse;
- Ewk_Frame_Resource_Response responseBuffer;
- CString redirectUrl, mimeType;
-
- if (coreResponse.isNull())
- redirectResponse = 0;
- else {
- redirectUrl = coreResponse.url().string().utf8();
- mimeType = coreResponse.mimeType().utf8();
- responseBuffer.url = redirectUrl.data();
- responseBuffer.status_code = coreResponse.httpStatusCode();
- responseBuffer.identifier = identifier;
- responseBuffer.mime_type = mimeType.data();
- redirectResponse = &responseBuffer;
- }
-
- Ewk_Frame_Resource_Messages messages = { &request, redirectResponse };
- ewk_frame_request_will_send(m_frame, &messages);
- evas_object_smart_callback_call(m_view, "resource,request,willsend", &messages);
-
- if (request.url != orig.url) {
- coreRequest.setURL(KURL(KURL(), request.url));
-
- // Calling client might have changed our url pointer.
- // Free the new allocated string.
- free(const_cast<char*>(request.url));
- }
-}
-
-bool FrameLoaderClientEfl::shouldUseCredentialStorage(DocumentLoader*, unsigned long)
-{
- notImplemented();
- return false;
-}
-
-void FrameLoaderClientEfl::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& coreRequest)
-{
- CString url = coreRequest.url().string().utf8();
- CString firstParty = coreRequest.firstPartyForCookies().string().utf8();
- CString httpMethod = coreRequest.httpMethod().utf8();
- DBG("Resource url=%s, First party=%s, HTTP method=%s", url.data(), firstParty.data(), httpMethod.data());
-
- bool isMainFrameRequest = false;
- if (loader) {
- const FrameLoader* frameLoader = loader->frameLoader();
- isMainFrameRequest = (loader == frameLoader->provisionalDocumentLoader() && frameLoader->isLoadingMainFrame());
- }
-
- Ewk_Frame_Resource_Request request = { url.data(), firstParty.data(), httpMethod.data(), identifier, m_frame, isMainFrameRequest };
- ewk_frame_request_assign_identifier(m_frame, &request);
- evas_object_smart_callback_call(m_view, "resource,request,new", &request);
-}
-
-void FrameLoaderClientEfl::postProgressStartedNotification()
-{
- ewk_frame_load_started(m_frame);
- postProgressEstimateChangedNotification();
-}
-
-void FrameLoaderClientEfl::postProgressEstimateChangedNotification()
-{
- ewk_frame_load_progress_changed(m_frame);
-}
-
-void FrameLoaderClientEfl::postProgressFinishedNotification()
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::frameLoaderDestroyed()
-{
- if (m_frame)
- ewk_frame_core_gone(m_frame);
- m_frame = 0;
-
- delete this;
-}
-
-void FrameLoaderClientEfl::dispatchDidReceiveResponse(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& coreResponse)
-{
- // Update our knowledge of request soup flags - some are only set
- // after the request is done.
- loader->request().setSoupMessageFlags(coreResponse.soupMessageFlags());
-
- m_response = coreResponse;
-
- CString mimeType = coreResponse.mimeType().utf8();
- Ewk_Frame_Resource_Response response = { 0, coreResponse.httpStatusCode(), identifier, mimeType.data() };
- CString url = coreResponse.url().string().utf8();
- response.url = url.data();
-
- ewk_frame_response_received(m_frame, &response);
- evas_object_smart_callback_call(m_view, "resource,response,received", &response);
-}
-
-void FrameLoaderClientEfl::dispatchDecidePolicyForResponse(FramePolicyFunction function, const ResourceResponse& response, const ResourceRequest& resourceRequest)
-{
- // we need to call directly here (currently callPolicyFunction does that!)
- ASSERT(function);
-
- if (resourceRequest.isNull()) {
- callPolicyFunction(function, PolicyIgnore);
- return;
- }
-
- // Ignore responses with an HTTP status code of 204 (No Content)
- if (response.httpStatusCode() == HTTPNoContent) {
- callPolicyFunction(function, PolicyIgnore);
- return;
- }
-
- if (canShowMIMEType(response.mimeType()))
- callPolicyFunction(function, PolicyUse);
- else
- callPolicyFunction(function, PolicyDownload);
-}
-
-void FrameLoaderClientEfl::dispatchDecidePolicyForNewWindowAction(FramePolicyFunction function, const NavigationAction&, const ResourceRequest& resourceRequest, PassRefPtr<FormState>, const String&)
-{
- ASSERT(function);
- ASSERT(m_frame);
-
- if (resourceRequest.isNull()) {
- callPolicyFunction(function, PolicyIgnore);
- return;
- }
-
- // if not acceptNavigationRequest - look at Qt -> PolicyIgnore;
- // FIXME: do proper check and only reset forms when on PolicyIgnore
- Frame* f = EWKPrivate::coreFrame(m_frame);
- f->loader()->resetMultipleFormSubmissionProtection();
- callPolicyFunction(function, PolicyUse);
-}
-
-void FrameLoaderClientEfl::dispatchDecidePolicyForNavigationAction(FramePolicyFunction function, const NavigationAction& action, const ResourceRequest& resourceRequest, PassRefPtr<FormState>)
-{
- ASSERT(function);
- ASSERT(m_frame);
-
- if (resourceRequest.isNull()) {
- callPolicyFunction(function, PolicyIgnore);
- return;
- }
-
- // if not acceptNavigationRequest - look at Qt -> PolicyIgnore;
- // FIXME: do proper check and only reset forms when on PolicyIgnore
- CString url = resourceRequest.url().string().utf8();
- CString firstParty = resourceRequest.firstPartyForCookies().string().utf8();
- CString httpMethod = resourceRequest.httpMethod().utf8();
- Ewk_Frame_Resource_Request request = { url.data(), firstParty.data(), httpMethod.data(), 0, m_frame, false };
- bool ret = ewk_view_navigation_policy_decision(m_view, &request, static_cast<Ewk_Navigation_Type>(action.type()));
-
- PolicyAction policy;
- if (!ret)
- policy = PolicyIgnore;
- else {
- if (action.type() == NavigationTypeFormSubmitted || action.type() == NavigationTypeFormResubmitted) {
- Frame* f = EWKPrivate::coreFrame(m_frame);
- f->loader()->resetMultipleFormSubmissionProtection();
- }
- policy = PolicyUse;
- }
- callPolicyFunction(function, policy);
-}
-
-PassRefPtr<Widget> FrameLoaderClientEfl::createPlugin(const IntSize& pluginSize, HTMLPlugInElement* element, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
-{
- ASSERT(m_frame);
- ASSERT(m_view);
-
- return ewk_view_plugin_create(m_view, m_frame, pluginSize,
- element, url, paramNames, paramValues,
- mimeType, loadManually);
-}
-
-PassRefPtr<Frame> FrameLoaderClientEfl::createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement, const String& referrer, bool /*allowsScrolling*/, int /*marginWidth*/, int /*marginHeight*/)
-{
- ASSERT(m_frame);
- ASSERT(m_view);
-
- return ewk_view_frame_create(m_view, m_frame, name, ownerElement, url, referrer);
-}
-
-void FrameLoaderClientEfl::redirectDataToPlugin(Widget* pluginWidget)
-{
- m_pluginView = toPluginView(pluginWidget);
- if (pluginWidget)
- m_hasSentResponseToPlugin = false;
-}
-
-PassRefPtr<Widget> FrameLoaderClientEfl::createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL&,
- const Vector<String>& /*paramNames*/, const Vector<String>& /*paramValues*/)
-{
- notImplemented();
- return 0;
-}
-
-ObjectContentType FrameLoaderClientEfl::objectContentType(const KURL& url, const String& mimeType, bool shouldPreferPlugInsForImages)
-{
- // FIXME: once plugin support is enabled, this method needs to correctly handle the 'shouldPreferPlugInsForImages' flag. See
- // WebCore::FrameLoader::defaultObjectContentType() for an example.
- UNUSED_PARAM(shouldPreferPlugInsForImages);
-
- if (url.isEmpty() && mimeType.isEmpty())
- return ObjectContentNone;
-
- // We don't use MIMETypeRegistry::getMIMETypeForPath() because it returns "application/octet-stream" upon failure
- String type = mimeType;
- if (type.isEmpty())
- type = MIMETypeRegistry::getMIMETypeForExtension(url.path().substring(url.path().reverseFind('.') + 1));
-
- if (type.isEmpty())
- return ObjectContentFrame;
-
- if (MIMETypeRegistry::isSupportedImageMIMEType(type))
- return ObjectContentImage;
-
-#if 0 // PluginDatabase is disabled until we have Plugin system done.
- if (PluginDatabase::installedPlugins()->isMIMETypeRegistered(mimeType))
- return ObjectContentNetscapePlugin;
-#endif
-
- if (MIMETypeRegistry::isSupportedNonImageMIMEType(type))
- return ObjectContentFrame;
-
- if (url.protocol() == "about")
- return ObjectContentFrame;
-
- return ObjectContentNone;
-}
-
-String FrameLoaderClientEfl::overrideMediaType() const
-{
- return String::fromUTF8(ewk_settings_css_media_type_get());
-}
-
-void FrameLoaderClientEfl::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld* world)
-{
- if (world != mainThreadNormalWorld())
- return;
-
- Frame* coreFrame = EWKPrivate::coreFrame(m_frame);
- ASSERT(coreFrame);
-
- Settings* settings = coreFrame->settings();
- if (!settings || !settings->isScriptEnabled())
- return;
-
- Ewk_Window_Object_Cleared_Event event;
- event.context = toGlobalRef(coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec());
- event.windowObject = toRef(coreFrame->script()->globalObject(mainThreadNormalWorld()));
- event.frame = m_frame;
-
- evas_object_smart_callback_call(m_view, "window,object,cleared", &event);
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
- ewk_view_js_window_object_clear(m_view, m_frame);
-#endif
-}
-
-void FrameLoaderClientEfl::documentElementAvailable()
-{
- return;
-}
-
-void FrameLoaderClientEfl::didPerformFirstNavigation() const
-{
- ewk_frame_did_perform_first_navigation(m_frame);
-}
-
-void FrameLoaderClientEfl::registerForIconNotification(bool)
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::setMainFrameDocumentReady(bool)
-{
- // this is only interesting once we provide an external API for the DOM
-}
-
-bool FrameLoaderClientEfl::hasWebView() const
-{
- if (!m_view)
- return false;
-
- return true;
-}
-
-bool FrameLoaderClientEfl::hasFrameView() const
-{
- notImplemented();
- return true;
-}
-
-void FrameLoaderClientEfl::dispatchDidFinishLoad()
-{
- ewk_frame_load_finished(m_frame, 0, 0, 0, 0, 0);
-}
-
-void FrameLoaderClientEfl::frameLoadCompleted()
-{
- // Note: Can be called multiple times.
-}
-
-void FrameLoaderClientEfl::saveViewStateToItem(HistoryItem* item)
-{
- ewk_frame_view_state_save(m_frame, item);
-}
-
-void FrameLoaderClientEfl::restoreViewState()
-{
- ASSERT(m_frame);
- ASSERT(m_view);
-
- ewk_view_restore_state(m_view, m_frame);
-}
-
-void FrameLoaderClientEfl::updateGlobalHistoryRedirectLinks()
-{
- WebCore::Frame* frame = EWKPrivate::coreFrame(m_frame);
- if (!frame)
- return;
-
- WebCore::DocumentLoader* loader = frame->loader()->documentLoader();
- if (!loader)
- return;
-
- if (!loader->clientRedirectSourceForHistory().isNull()) {
- const CString& sourceURL = loader->clientRedirectSourceForHistory().utf8();
- const CString& destinationURL = loader->clientRedirectDestinationForHistory().utf8();
- Ewk_View_Redirection_Data data = { sourceURL.data(), destinationURL.data() };
- evas_object_smart_callback_call(m_view, "perform,client,redirect", &data);
- }
-
- if (!loader->serverRedirectSourceForHistory().isNull()) {
- const CString& sourceURL = loader->serverRedirectSourceForHistory().utf8();
- const CString& destinationURL = loader->serverRedirectDestinationForHistory().utf8();
- Ewk_View_Redirection_Data data = { sourceURL.data(), destinationURL.data() };
- evas_object_smart_callback_call(m_view, "perform,server,redirect", &data);
- }
-}
-
-bool FrameLoaderClientEfl::shouldGoToHistoryItem(HistoryItem* item) const
-{
- // FIXME: This is a very simple implementation. More sophisticated
- // implementation would delegate the decision to a PolicyDelegate.
- // See mac implementation for example.
- return item;
-}
-
-bool FrameLoaderClientEfl::shouldStopLoadingForHistoryItem(HistoryItem*) const
-{
- return true;
-}
-
-void FrameLoaderClientEfl::didDisplayInsecureContent()
-{
- ewk_frame_mixed_content_displayed_set(m_frame, true);
-}
-
-void FrameLoaderClientEfl::didRunInsecureContent(SecurityOrigin*, const KURL&)
-{
- ewk_frame_mixed_content_run_set(m_frame, true);
-}
-
-void FrameLoaderClientEfl::didDetectXSS(const KURL& insecureURL, bool didBlockEntirePage)
-{
- CString cs = insecureURL.string().utf8();
- Ewk_Frame_Xss_Notification xssInfo = { cs.data(), didBlockEntirePage };
-
- ewk_frame_xss_detected(m_frame, &xssInfo);
-}
-
-void FrameLoaderClientEfl::forceLayout()
-{
- ewk_frame_force_layout(m_frame);
-}
-
-void FrameLoaderClientEfl::forceLayoutForNonHTML()
-{
-}
-
-void FrameLoaderClientEfl::setCopiesOnScroll()
-{
- // apparently mac specific (Qt comment)
-}
-
-void FrameLoaderClientEfl::detachedFromParent2()
-{
-}
-
-void FrameLoaderClientEfl::detachedFromParent3()
-{
-}
-
-void FrameLoaderClientEfl::loadedFromCachedPage()
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::dispatchDidHandleOnloadEvents()
-{
- ewk_view_onload_event(m_view, m_frame);
-}
-
-void FrameLoaderClientEfl::dispatchDidReceiveServerRedirectForProvisionalLoad()
-{
- ewk_frame_redirect_provisional_load(m_frame);
-}
-
-void FrameLoaderClientEfl::dispatchDidCancelClientRedirect()
-{
- ewk_frame_redirect_cancelled(m_frame);
-}
-
-void FrameLoaderClientEfl::dispatchWillPerformClientRedirect(const KURL& url, double, double)
-{
- ewk_frame_redirect_requested(m_frame, url.string().utf8().data());
-}
-
-void FrameLoaderClientEfl::dispatchDidChangeLocationWithinPage()
-{
- ewk_frame_uri_changed(m_frame);
-
- if (!isLoadingMainFrame())
- return;
- ewk_view_uri_changed(m_view);
-}
-
-void FrameLoaderClientEfl::dispatchWillClose()
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::dispatchDidReceiveIcon()
-{
- // IconController loads icons only for the main frame.
- ASSERT(isLoadingMainFrame());
-
- ewk_view_frame_main_icon_received(m_view);
-}
-
-void FrameLoaderClientEfl::dispatchDidStartProvisionalLoad()
-{
- ewk_frame_load_provisional(m_frame);
- if (isLoadingMainFrame())
- ewk_view_load_provisional(m_view);
-}
-
-void FrameLoaderClientEfl::dispatchDidReceiveTitle(const StringWithDirection& title)
-{
- Ewk_Text_With_Direction ewkTitle;
- CString cs = title.string().utf8();
- ewkTitle.string = cs.data();
- ewkTitle.direction = (title.direction() == LTR) ? EWK_TEXT_DIRECTION_LEFT_TO_RIGHT : EWK_TEXT_DIRECTION_RIGHT_TO_LEFT;
- ewk_frame_title_set(m_frame, &ewkTitle);
-
- if (!isLoadingMainFrame())
- return;
- ewk_view_title_set(m_view, &ewkTitle);
-}
-
-void FrameLoaderClientEfl::dispatchDidChangeIcons(WebCore::IconType iconType)
-{
- // Other touch types are apple-specific
- ASSERT_UNUSED(iconType, iconType == WebCore::Favicon);
- ewk_frame_icon_changed(m_frame);
-}
-
-void FrameLoaderClientEfl::dispatchDidCommitLoad()
-{
- ewk_frame_uri_changed(m_frame);
- ewk_frame_load_committed(m_frame);
- if (!isLoadingMainFrame())
- return;
- ewk_view_title_set(m_view, 0);
- ewk_view_uri_changed(m_view);
-}
-
-void FrameLoaderClientEfl::dispatchDidFinishDocumentLoad()
-{
- ewk_frame_load_document_finished(m_frame);
-}
-
-void FrameLoaderClientEfl::dispatchDidLayout(LayoutMilestones milestones)
-{
- if (milestones & DidFirstLayout)
- ewk_frame_load_firstlayout_finished(m_frame);
- if (milestones & DidFirstVisuallyNonEmptyLayout)
- ewk_frame_load_firstlayout_nonempty_finished(m_frame);
-}
-
-void FrameLoaderClientEfl::dispatchShow()
-{
- ewk_view_load_show(m_view);
-}
-
-void FrameLoaderClientEfl::cancelPolicyCheck()
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::willChangeTitle(DocumentLoader*)
-{
- // no need for, dispatchDidReceiveTitle is the right callback
-}
-
-void FrameLoaderClientEfl::didChangeTitle(DocumentLoader*)
-{
- // no need for, dispatchDidReceiveTitle is the right callback
-}
-
-bool FrameLoaderClientEfl::canHandleRequest(const ResourceRequest&) const
-{
- notImplemented();
- return true;
-}
-
-bool FrameLoaderClientEfl::canShowMIMETypeAsHTML(const String& /*MIMEType*/) const
-{
- notImplemented();
- return false;
-}
-
-bool FrameLoaderClientEfl::canShowMIMEType(const String& MIMEType) const
-{
- if (MIMETypeRegistry::canShowMIMEType(MIMEType))
- return true;
-
-#if 0 // PluginDatabase is disabled until we have Plugin system done.
- if (PluginDatabase::installedPlugins()->isMIMETypeRegistered(MIMEType))
- return true;
-#endif
-
- return false;
-}
-
-bool FrameLoaderClientEfl::representationExistsForURLScheme(const String&) const
-{
- return false;
-}
-
-String FrameLoaderClientEfl::generatedMIMETypeForURLScheme(const String&) const
-{
- notImplemented();
- return String();
-}
-
-void FrameLoaderClientEfl::finishedLoading(DocumentLoader*)
-{
- if (!m_pluginView)
- return;
- m_pluginView->didFinishLoading();
- m_pluginView = 0;
- m_hasSentResponseToPlugin = false;
-}
-
-
-void FrameLoaderClientEfl::provisionalLoadStarted()
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::didFinishLoad()
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::prepareForDataSourceReplacement()
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::setTitle(const StringWithDirection&, const KURL&)
-{
- // no need for, dispatchDidReceiveTitle is the right callback
-}
-
-void FrameLoaderClientEfl::dispatchDidReceiveContentLength(DocumentLoader*, unsigned long /*identifier*/, int /*dataLength*/)
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier)
-{
- ewk_frame_load_resource_finished(m_frame, identifier);
- evas_object_smart_callback_call(m_view, "load,resource,finished", &identifier);
-}
-
-void FrameLoaderClientEfl::dispatchDidFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError& err)
-{
- Ewk_Frame_Load_Error error;
- CString errorDomain = err.domain().utf8();
- CString errorDescription = err.localizedDescription().utf8();
- CString failingUrl = err.failingURL().utf8();
-
- DBG("ewkFrame=%p, resource=%ld, error=%s (%d, cancellation=%hhu) \"%s\", url=%s",
- m_frame, identifier, errorDomain.data(), err.errorCode(), err.isCancellation(),
- errorDescription.data(), failingUrl.data());
-
- error.code = err.errorCode();
- error.is_cancellation = err.isCancellation();
- error.domain = errorDomain.data();
- error.description = errorDescription.data();
- error.failing_url = failingUrl.data();
- error.resource_identifier = identifier;
- error.frame = m_frame;
-
- ewk_frame_load_resource_failed(m_frame, &error);
- evas_object_smart_callback_call(m_view, "load,resource,failed", &error);
-}
-
-bool FrameLoaderClientEfl::dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int /*length*/)
-{
- notImplemented();
- return false;
-}
-
-void FrameLoaderClientEfl::dispatchDidLoadResourceByXMLHttpRequest(unsigned long, const String&)
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::dispatchDidFailProvisionalLoad(const ResourceError& err)
-{
- Ewk_Frame_Load_Error error;
- CString errorDomain = err.domain().utf8();
- CString errorDescription = err.localizedDescription().utf8();
- CString failingUrl = err.failingURL().utf8();
-
- DBG("ewkFrame=%p, error=%s (%d, cancellation=%hhu) \"%s\", url=%s",
- m_frame, errorDomain.data(), err.errorCode(), err.isCancellation(),
- errorDescription.data(), failingUrl.data());
-
- error.code = err.errorCode();
- error.is_cancellation = err.isCancellation();
- error.domain = errorDomain.data();
- error.description = errorDescription.data();
- error.failing_url = failingUrl.data();
- error.resource_identifier = 0;
- error.frame = m_frame;
-
- ewk_frame_load_provisional_failed(m_frame, &error);
- if (isLoadingMainFrame())
- ewk_view_load_provisional_failed(m_view, &error);
-
- dispatchDidFailLoad(err);
-}
-
-void FrameLoaderClientEfl::dispatchDidFailLoad(const ResourceError& err)
-{
- ewk_frame_load_error(m_frame,
- err.domain().utf8().data(),
- err.errorCode(), err.isCancellation(),
- err.localizedDescription().utf8().data(),
- err.failingURL().utf8().data());
-
- ewk_frame_load_finished(m_frame,
- err.domain().utf8().data(),
- err.errorCode(),
- err.isCancellation(),
- err.localizedDescription().utf8().data(),
- err.failingURL().utf8().data());
-}
-
-void FrameLoaderClientEfl::convertMainResourceLoadToDownload(DocumentLoader*, const ResourceRequest& request, const ResourceResponse&)
-{
- if (!m_view)
- return;
-
- CString url = request.url().string().utf8();
- Ewk_Download download;
-
- download.url = url.data();
- download.suggested_name = 0;
- ewk_view_download_request(m_view, &download);
-}
-
-ResourceError FrameLoaderClientEfl::cancelledError(const ResourceRequest& request)
-{
- return WebCore::cancelledError(request);
-}
-
-ResourceError FrameLoaderClientEfl::blockedError(const ResourceRequest& request)
-{
- return WebCore::blockedError(request);
-}
-
-ResourceError FrameLoaderClientEfl::cannotShowURLError(const ResourceRequest& request)
-{
- return WebCore::cannotShowURLError(request);
-}
-
-ResourceError FrameLoaderClientEfl::interruptedForPolicyChangeError(const ResourceRequest& request)
-{
- return WebCore::interruptedForPolicyChangeError(request);
-}
-
-ResourceError FrameLoaderClientEfl::cannotShowMIMETypeError(const ResourceResponse& response)
-{
- return WebCore::cannotShowMIMETypeError(response);
-}
-
-ResourceError FrameLoaderClientEfl::fileDoesNotExistError(const ResourceResponse& response)
-{
- return WebCore::fileDoesNotExistError(response);
-}
-
-ResourceError FrameLoaderClientEfl::pluginWillHandleLoadError(const ResourceResponse& response)
-{
- return WebCore::pluginWillHandleLoadError(response);
-}
-
-bool FrameLoaderClientEfl::shouldFallBack(const ResourceError& error)
-{
- return !(error.isCancellation() || error.errorCode() == PolicyErrorFrameLoadInterruptedByPolicyChange || error.errorCode() == PluginErrorWillHandleLoad);
-}
-
-bool FrameLoaderClientEfl::canCachePage() const
-{
- return true;
-}
-
-Frame* FrameLoaderClientEfl::dispatchCreatePage(const NavigationAction&)
-{
- if (!m_view)
- return 0;
-
- Evas_Object* newView = ewk_view_window_create(m_view, EINA_FALSE, 0);
- Evas_Object* mainFrame;
- if (!newView)
- mainFrame = m_frame;
- else
- mainFrame = ewk_view_frame_main_get(newView);
-
- return EWKPrivate::coreFrame(mainFrame);
-}
-
-void FrameLoaderClientEfl::dispatchUnableToImplementPolicy(const ResourceError&)
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::setMainDocumentError(DocumentLoader*, const ResourceError& error)
-{
- if (!m_pluginView)
- return;
- m_pluginView->didFail(error);
- m_pluginView = 0;
- m_hasSentResponseToPlugin = false;
-}
-
-void FrameLoaderClientEfl::startDownload(const ResourceRequest& request, const String& suggestedName)
-{
- if (!m_view)
- return;
-
- CString url = request.url().string().utf8();
- CString suggestedNameString = suggestedName.utf8();
- Ewk_Download download;
-
- download.url = url.data();
- download.suggested_name = suggestedNameString.data();
- ewk_view_download_request(m_view, &download);
-}
-
-void FrameLoaderClientEfl::updateGlobalHistory()
-{
- WebCore::Frame* frame = EWKPrivate::coreFrame(m_frame);
- if (!frame)
- return;
-
- WebCore::DocumentLoader* loader = frame->loader()->documentLoader();
- if (!loader)
- return;
-
- const FrameLoader* frameLoader = loader->frameLoader();
- const bool isMainFrameRequest = frameLoader && (loader == frameLoader->provisionalDocumentLoader()) && frameLoader->isLoadingMainFrame();
- const CString& urlForHistory = loader->urlForHistory().string().utf8();
- const CString& title = loader->title().string().utf8();
- const CString& firstParty = loader->request().firstPartyForCookies().string().utf8();
- const CString& clientRedirectSource = loader->clientRedirectSourceForHistory().utf8();
- const CString& originalURL = loader->originalURL().string().utf8();
- const CString& httpMethod = loader->request().httpMethod().utf8();
- const CString& responseURL = loader->responseURL().string().utf8();
- const CString& mimeType = loader->response().mimeType().utf8();
-
- Ewk_Frame_Resource_Request request = { originalURL.data(), firstParty.data(), httpMethod.data(), 0, m_frame, isMainFrameRequest };
- Ewk_Frame_Resource_Response response = { responseURL.data(), loader->response().httpStatusCode(), 0, mimeType.data() };
- bool hasSubstituteData = loader->substituteData().isValid();
-
- Ewk_View_Navigation_Data data = { urlForHistory.data(), title.data(), &request, &response, hasSubstituteData, clientRedirectSource.data() };
-
- evas_object_smart_callback_call(m_view, "navigate,with,data", &data);
-}
-
-void FrameLoaderClientEfl::savePlatformDataToCachedFrame(CachedFrame*)
-{
- notImplemented();
-}
-
-void FrameLoaderClientEfl::transitionToCommittedFromCachedFrame(CachedFrame*)
-{
-}
-
-void FrameLoaderClientEfl::transitionToCommittedForNewPage()
-{
- ASSERT(m_frame);
- ASSERT(m_view);
-
- ewk_frame_view_create_for_view(m_frame, m_view);
-
- if (isLoadingMainFrame()) {
- ewk_view_frame_view_creation_notify(m_view);
- ewk_view_frame_main_cleared(m_view);
- }
-}
-
-void FrameLoaderClientEfl::didSaveToPageCache()
-{
-}
-
-void FrameLoaderClientEfl::didRestoreFromPageCache()
-{
-}
-
-void FrameLoaderClientEfl::dispatchDidBecomeFrameset(bool)
-{
-}
-
-PassRefPtr<FrameNetworkingContext> FrameLoaderClientEfl::createNetworkingContext()
-{
- return FrameNetworkingContextEfl::create(EWKPrivate::coreFrame(m_frame), m_frame);
-}
-
-}
diff --git a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h b/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
deleted file mode 100644
index 227129487..000000000
--- a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Copyright (C) 2006 Zack Rusin <zack@kde.org>
- * Copyright (C) 2006, 2011 Apple Inc. All rights reserved.
- * Copyright (C) 2008 Collabora Ltd. All rights reserved.
- * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-2010 Samsung Electronics
- *
- * 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 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 FrameLoaderClientEfl_h
-#define FrameLoaderClientEfl_h
-
-#include "EWebKit.h"
-#include "FrameLoaderClient.h"
-#include "PluginView.h"
-#include "ResourceError.h"
-#include "ResourceResponse.h"
-
-namespace WebCore {
-
-class FormState;
-
-class FrameLoaderClientEfl : public FrameLoaderClient {
- public:
- explicit FrameLoaderClientEfl(Evas_Object *view);
- virtual ~FrameLoaderClientEfl() { }
- virtual void frameLoaderDestroyed();
-
- void setWebFrame(Evas_Object *frame) { m_frame = frame; }
- Evas_Object* webFrame() const { return m_frame; }
- Evas_Object* webView() const { return m_view; }
-
- void setCustomUserAgent(const String&);
- const String& customUserAgent() const;
-
- virtual bool hasWebView() const;
- virtual bool hasFrameView() const;
-
- void callPolicyFunction(FramePolicyFunction, PolicyAction);
-
- virtual void makeRepresentation(DocumentLoader*) { }
- virtual void forceLayout();
- virtual void forceLayoutForNonHTML();
-
- virtual void setCopiesOnScroll();
-
- virtual void detachedFromParent2();
- virtual void detachedFromParent3();
-
- virtual void loadedFromCachedPage();
-
- virtual void assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader*, const ResourceRequest&);
-
- virtual void dispatchWillSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest&, const ResourceResponse& redirectResponse);
- virtual bool shouldUseCredentialStorage(DocumentLoader*, unsigned long identifier);
- virtual void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&);
-
- virtual void dispatchDidPushStateWithinPage();
- virtual void dispatchDidPopStateWithinPage();
- virtual void dispatchDidReplaceStateWithinPage();
- virtual void dispatchDidClearWindowObjectInWorld(WebCore::DOMWrapperWorld*);
-
- virtual void dispatchDidCancelAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&);
- virtual void dispatchDidReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&);
- virtual void dispatchDidReceiveContentLength(DocumentLoader*, unsigned long identifier, int dataLength);
- virtual void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier);
- virtual void dispatchDidFailLoading(DocumentLoader*, unsigned long identifier, const ResourceError&);
- virtual bool dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int length);
- virtual void dispatchDidLoadResourceByXMLHttpRequest(unsigned long identifier, const String& sourceString);
-
- virtual void dispatchDidHandleOnloadEvents();
- virtual void dispatchDidReceiveServerRedirectForProvisionalLoad();
- virtual void dispatchDidCancelClientRedirect();
- virtual void dispatchWillPerformClientRedirect(const KURL&, double, double);
- virtual void dispatchDidChangeLocationWithinPage();
- virtual void dispatchWillClose();
- virtual void dispatchDidReceiveIcon();
- virtual void dispatchDidStartProvisionalLoad();
- virtual void dispatchDidReceiveTitle(const StringWithDirection&);
- virtual void dispatchDidChangeIcons(WebCore::IconType);
- virtual void dispatchDidCommitLoad();
- virtual void dispatchDidFailProvisionalLoad(const ResourceError&);
- virtual void dispatchDidFailLoad(const ResourceError&);
- virtual void dispatchDidFinishDocumentLoad();
- virtual void dispatchDidFinishLoad();
- virtual void dispatchDidLayout(LayoutMilestones);
-
- virtual Frame* dispatchCreatePage(const WebCore::NavigationAction&);
- virtual void dispatchShow();
-
- virtual void dispatchDecidePolicyForResponse(FramePolicyFunction, const ResourceResponse&, const ResourceRequest&);
- virtual void dispatchDecidePolicyForNewWindowAction(FramePolicyFunction, const NavigationAction&, const ResourceRequest&, WTF::PassRefPtr<FormState>, const String& frameName);
- virtual void dispatchDecidePolicyForNavigationAction(FramePolicyFunction, const NavigationAction&, const ResourceRequest&, WTF::PassRefPtr<FormState>);
- virtual void cancelPolicyCheck();
-
- virtual void dispatchUnableToImplementPolicy(const ResourceError&);
-
- virtual void dispatchWillSendSubmitEvent(WTF::PassRefPtr<FormState>) { }
- virtual void dispatchWillSubmitForm(FramePolicyFunction, WTF::PassRefPtr<FormState>);
-
- virtual void revertToProvisionalState(DocumentLoader*) { }
- virtual void setMainDocumentError(DocumentLoader*, const ResourceError&);
-
- virtual void postProgressStartedNotification();
- virtual void postProgressEstimateChangedNotification();
- virtual void postProgressFinishedNotification();
-
- virtual PassRefPtr<Frame> createFrame(const KURL&, const String& name, HTMLFrameOwnerElement*,
- const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
-
- virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const WTF::Vector<String>&, const WTF::Vector<String>&, const String&, bool);
- virtual void recreatePlugin(Widget*) { }
- virtual void redirectDataToPlugin(Widget* pluginWidget);
- virtual PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL& baseURL, const WTF::Vector<String>& paramNames, const WTF::Vector<String>& paramValues);
- virtual String overrideMediaType() const;
- virtual void documentElementAvailable();
-
- virtual void didPerformFirstNavigation() const;
-
- virtual void registerForIconNotification(bool);
-
- virtual ObjectContentType objectContentType(const KURL&, const String& mimeType, bool shouldPreferPlugInsForImages);
-
- virtual void setMainFrameDocumentReady(bool);
-
- virtual void startDownload(const ResourceRequest&, const String& suggestedName = String());
-
- virtual void willChangeTitle(DocumentLoader*);
- virtual void didChangeTitle(DocumentLoader*);
-
- virtual void committedLoad(DocumentLoader*, const char*, int);
- virtual void finishedLoading(DocumentLoader*);
-
- virtual void updateGlobalHistory();
- virtual void updateGlobalHistoryRedirectLinks();
- virtual bool shouldGoToHistoryItem(HistoryItem*) const;
- virtual bool shouldStopLoadingForHistoryItem(HistoryItem*) const;
- virtual void didDisplayInsecureContent();
- virtual void didRunInsecureContent(SecurityOrigin*, const KURL&);
- virtual void didDetectXSS(const KURL&, bool didBlockEntirePage);
-
- virtual ResourceError cancelledError(const ResourceRequest&);
- virtual ResourceError blockedError(const ResourceRequest&);
- virtual ResourceError cannotShowURLError(const ResourceRequest&);
- virtual ResourceError interruptedForPolicyChangeError(const ResourceRequest&);
-
- virtual ResourceError cannotShowMIMETypeError(const ResourceResponse&);
- virtual ResourceError fileDoesNotExistError(const ResourceResponse&);
- virtual ResourceError pluginWillHandleLoadError(const ResourceResponse&);
-
- virtual bool shouldFallBack(const ResourceError&);
-
- virtual bool canHandleRequest(const ResourceRequest&) const;
- virtual bool canShowMIMEType(const String&) const;
- virtual bool canShowMIMETypeAsHTML(const String& MIMEType) const;
- virtual bool representationExistsForURLScheme(const String&) const;
- virtual String generatedMIMETypeForURLScheme(const String&) const;
-
- virtual void frameLoadCompleted();
- virtual void saveViewStateToItem(HistoryItem*);
- virtual void restoreViewState();
- virtual void provisionalLoadStarted();
- virtual void didFinishLoad();
- virtual void prepareForDataSourceReplacement();
-
- virtual WTF::PassRefPtr<DocumentLoader> createDocumentLoader(const ResourceRequest&, const SubstituteData&);
- virtual void setTitle(const StringWithDirection& title, const KURL&);
-
- virtual String userAgent(const KURL&);
-
- virtual void savePlatformDataToCachedFrame(CachedFrame*);
- virtual void transitionToCommittedFromCachedFrame(CachedFrame*);
- virtual void transitionToCommittedForNewPage();
-
- virtual void didSaveToPageCache();
- virtual void didRestoreFromPageCache();
-
- virtual void dispatchDidBecomeFrameset(bool);
-
- virtual bool canCachePage() const;
- virtual void convertMainResourceLoadToDownload(DocumentLoader*, const ResourceRequest&, const ResourceResponse&);
-
- virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
- private:
- bool isLoadingMainFrame() const { return m_frame == ewk_view_frame_main_get(m_view); }
-
- Evas_Object *m_view;
- Evas_Object *m_frame;
-
- ResourceResponse m_response;
- String m_userAgent;
- String m_customUserAgent;
-
- ResourceError m_loadError;
-
- // Plugin view to redirect data to
- PluginView* m_pluginView;
- bool m_hasSentResponseToPlugin;
-};
-
-}
-
-#endif // FrameLoaderClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/FrameNetworkingContextEfl.cpp b/Source/WebKit/efl/WebCoreSupport/FrameNetworkingContextEfl.cpp
deleted file mode 100644
index 3ca6c11d4..000000000
--- a/Source/WebKit/efl/WebCoreSupport/FrameNetworkingContextEfl.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
- * Copyright (C) 2010 Samsung Electronics
- * Copyright (C) 2012 ProFUSION embedded systems
- *
- * 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 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 "FrameNetworkingContextEfl.h"
-
-#include "NotImplemented.h"
-#include "ResourceHandle.h"
-#include "ewk_frame.h"
-#include "ewk_view.h"
-#include "ewk_view_private.h"
-
-#include <Evas.h>
-
-namespace WebCore {
-
-PassRefPtr<FrameNetworkingContextEfl> FrameNetworkingContextEfl::create(Frame* frame, Evas_Object* ewkFrame)
-{
- return adoptRef(new FrameNetworkingContextEfl(frame, ewkFrame));
-}
-
-FrameNetworkingContextEfl::FrameNetworkingContextEfl(Frame* frame, Evas_Object* ewkFrame)
- : FrameNetworkingContext(frame)
- , m_ewkFrame(ewkFrame)
-{
-}
-
-NetworkStorageSession& FrameNetworkingContextEfl::storageSession() const
-{
- if (NetworkStorageSession* session = EWKPrivate::storageSession(ewk_frame_view_get(m_ewkFrame)))
- return *session;
- return NetworkStorageSession::defaultStorageSession();
-}
-
-uint64_t FrameNetworkingContextEfl::initiatingPageID() const
-{
- notImplemented();
- return 0;
-}
-
-}
diff --git a/Source/WebKit/efl/WebCoreSupport/FrameNetworkingContextEfl.h b/Source/WebKit/efl/WebCoreSupport/FrameNetworkingContextEfl.h
deleted file mode 100644
index 6b1347fd6..000000000
--- a/Source/WebKit/efl/WebCoreSupport/FrameNetworkingContextEfl.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
- * Copyright (C) 2010 Samsung Electronics
- *
- * 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 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 FrameNetworkingContextEfl_h
-#define FrameNetworkingContextEfl_h
-
-#include "FrameNetworkingContext.h"
-
-namespace WebCore {
-
-class FrameNetworkingContextEfl : public WebCore::FrameNetworkingContext {
-public:
- static PassRefPtr<FrameNetworkingContextEfl> create(Frame*, Evas_Object*);
-
- WebCore::Frame* coreFrame() const { return frame(); }
- virtual uint64_t initiatingPageID() const;
-
-private:
- virtual WebCore::NetworkStorageSession& storageSession() const;
-
- FrameNetworkingContextEfl(Frame*, Evas_Object*);
-
- Evas_Object* m_ewkFrame;
-};
-
-}
-
-#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.cpp b/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.cpp
deleted file mode 100644
index 8dc2552e0..000000000
--- a/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.cpp
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (C) 2010 Igalia S.L
- * Copyright (C) 2010 Samsung Electronics
- *
- * 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"
-
-#if ENABLE(VIDEO) && !defined(GST_API_VERSION_1)
-
-#include "FullscreenVideoControllerEfl.h"
-
-#include "MediaPlayer.h"
-#include "NotImplemented.h"
-
-#include <gst/gst.h>
-
-using namespace std;
-using namespace WebCore;
-
-FullscreenVideoController::FullscreenVideoController()
- : m_hudTimeoutId(0)
- , m_progressBarUpdateId(0)
- , m_seekLock(false)
- , m_window(0)
- , m_hudWindow(0)
-{
-}
-
-FullscreenVideoController::~FullscreenVideoController()
-{
- exitFullscreen();
-}
-
-void FullscreenVideoController::setMediaElement(HTMLMediaElement* mediaElement)
-{
- if (mediaElement == m_mediaElement)
- return;
-
- m_mediaElement = mediaElement;
- if (!m_mediaElement) {
- // Can't do full-screen, just get out
- exitFullscreen();
- }
-}
-
-void FullscreenVideoController::showHud(bool /*autoHide*/)
-{
- notImplemented();
-}
-
-void FullscreenVideoController::hideHud()
-{
- notImplemented();
-}
-
-void FullscreenVideoController::enterFullscreen()
-{
- notImplemented();
-}
-
-void FullscreenVideoController::updateHudPosition()
-{
- notImplemented();
-}
-
-void FullscreenVideoController::exitOnUserRequest()
-{
- notImplemented();
-}
-
-void FullscreenVideoController::exitFullscreen()
-{
- notImplemented();
-}
-
-bool FullscreenVideoController::canPlay() const
-{
- notImplemented();
- return false;
-}
-
-void FullscreenVideoController::play()
-{
- notImplemented();
-}
-
-void FullscreenVideoController::pause()
-{
- notImplemented();
-}
-
-void FullscreenVideoController::playStateChanged()
-{
- notImplemented();
-}
-
-void FullscreenVideoController::togglePlay()
-{
- notImplemented();
-}
-
-float FullscreenVideoController::volume() const
-{
- notImplemented();
- return 0;
-}
-
-bool FullscreenVideoController::muted() const
-{
- notImplemented();
- return false;
-}
-
-void FullscreenVideoController::setVolume(float /*volume*/)
-{
- notImplemented();
-}
-
-void FullscreenVideoController::volumeChanged()
-{
- notImplemented();
-}
-
-void FullscreenVideoController::muteChanged()
-{
- notImplemented();
-}
-
-float FullscreenVideoController::currentTime() const
-{
- notImplemented();
- return 0;
-}
-
-void FullscreenVideoController::setCurrentTime(float /*value*/)
-{
- notImplemented();
-}
-
-float FullscreenVideoController::duration() const
-{
- notImplemented();
- return 0;
-}
-
-float FullscreenVideoController::percentLoaded() const
-{
- notImplemented();
- return 0;
-}
-
-void FullscreenVideoController::beginSeek()
-{
- notImplemented();
-}
-
-void FullscreenVideoController::doSeek()
-{
- notImplemented();
-}
-
-void FullscreenVideoController::endSeek()
-{
- notImplemented();
-}
-
-bool FullscreenVideoController::updateHudProgressBar()
-{
- notImplemented();
- return false;
-}
-
-void FullscreenVideoController::createHud()
-{
- notImplemented();
-}
-
-#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.h b/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.h
deleted file mode 100644
index 28c510ecb..000000000
--- a/Source/WebKit/efl/WebCoreSupport/FullscreenVideoControllerEfl.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (C) 2010 Igalia S.L
- * Copyright (C) 2010 Samsung Electronics
- *
- * 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 FullscreenVideoControllerEfl_h
-#define FullscreenVideoControllerEfl_h
-
-#if ENABLE(VIDEO) && !defined(GST_API_VERSION_1)
-
-#include "GStreamerGWorld.h"
-#include "HTMLMediaElement.h"
-#include <wtf/RefPtr.h>
-
-class FullscreenVideoController {
- WTF_MAKE_NONCOPYABLE(FullscreenVideoController);
-public:
- FullscreenVideoController();
- virtual ~FullscreenVideoController();
-
- void setMediaElement(WebCore::HTMLMediaElement*);
- WebCore::HTMLMediaElement* mediaElement() const { return m_mediaElement.get(); }
-
- void enterFullscreen();
- void exitFullscreen();
-
- void exitOnUserRequest();
- void togglePlay();
- void beginSeek();
- void doSeek();
- void endSeek();
-
- void hideHud();
- void showHud(bool);
- bool updateHudProgressBar();
-
- float volume() const;
- void setVolume(float);
- void volumeChanged();
- void muteChanged();
-
-private:
- bool canPlay() const;
- void play();
- void pause();
- void playStateChanged();
-
- bool muted() const;
-
- float currentTime() const;
- void setCurrentTime(float);
-
- float duration() const;
- float percentLoaded() const;
-
- void createHud();
- void updateHudPosition();
-
- RefPtr<WebCore::HTMLMediaElement> m_mediaElement;
- RefPtr<WebCore::GStreamerGWorld> m_gstreamerGWorld;
-
- uint m_hudTimeoutId;
- uint m_progressBarUpdateId;
- uint m_progressBarFillUpdateId;
- uint m_hscaleUpdateId;
- uint m_volumeUpdateId;
- bool m_seekLock;
- PlatformWidget* m_window;
- PlatformWidget* m_hudWindow;
- PlatformWidget* m_timeHScale;
- PlatformWidget* m_timeLabel;
- PlatformWidget* m_volumeButton;
-};
-
-#endif
-
-#endif // FullscreenVideoControllerEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/IconDatabaseClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/IconDatabaseClientEfl.cpp
deleted file mode 100644
index 4e35137d0..000000000
--- a/Source/WebKit/efl/WebCoreSupport/IconDatabaseClientEfl.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2011 Samsung Electronics
- *
- * 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 "IconDatabaseClientEfl.h"
-
-#if ENABLE(ICONDATABASE)
-#include "NotImplemented.h"
-
-namespace WebCore {
-
-void IconDatabaseClientEfl::didRemoveAllIcons()
-{
- notImplemented();
-}
-
-void IconDatabaseClientEfl::didImportIconURLForPageURL(const String&)
-{
- notImplemented();
-}
-
-void IconDatabaseClientEfl::didImportIconDataForPageURL(const String&)
-{
- notImplemented();
-}
-
-void IconDatabaseClientEfl::didChangeIconForPageURL(const String&)
-{
- notImplemented();
-}
-
-void IconDatabaseClientEfl::didFinishURLImport()
-{
- notImplemented();
-}
-
-}
-
-#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/IconDatabaseClientEfl.h b/Source/WebKit/efl/WebCoreSupport/IconDatabaseClientEfl.h
deleted file mode 100644
index c14cdba95..000000000
--- a/Source/WebKit/efl/WebCoreSupport/IconDatabaseClientEfl.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2011 Samsung Electronics
- *
- * 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 IconDatabaseClientEfl_h
-#define IconDatabaseClientEfl_h
-
-#if ENABLE(ICONDATABASE)
-
-#include "IconDatabaseClient.h"
-
-namespace WebCore {
-
-class IconDatabaseClientEfl : public IconDatabaseClient {
-public:
- virtual void didRemoveAllIcons();
- virtual void didImportIconURLForPageURL(const String&);
- virtual void didImportIconDataForPageURL(const String&);
- virtual void didChangeIconForPageURL(const String&);
- virtual void didFinishURLImport();
-};
-
-}
-
-#endif
-#endif // IconDatabaseClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp
deleted file mode 100644
index 84e29d7bc..000000000
--- a/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-2010 Samsung Electronics
- *
- * 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 "InspectorClientEfl.h"
-
-#if ENABLE(INSPECTOR)
-#include "EflInspectorUtilities.h"
-#include "InspectorController.h"
-#include "NotImplemented.h"
-#include "ewk_view_private.h"
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-static void notifyInspectorDestroy(void* userData, Evas_Object* /*webview*/, void* /*eventInfo*/)
-{
- InspectorFrontendClientEfl* inspectorFrontendClient = static_cast<InspectorFrontendClientEfl*>(userData);
- if (inspectorFrontendClient)
- inspectorFrontendClient->destroyInspectorWindow(true);
-}
-
-static void invalidateView(Evas_Object* webView)
-{
- Evas_Coord width, height;
- Evas_Object* mainFrame = ewk_view_frame_main_get(webView);
- if (mainFrame && ewk_frame_contents_size_get(mainFrame, &width, &height)) {
- WebCore::Page* page = EWKPrivate::corePage(webView);
- if (page)
- page->mainFrame()->view()->invalidateRect(WebCore::IntRect(0, 0, width, height));
- }
-}
-
-class InspectorFrontendSettingsEfl : public InspectorFrontendClientLocal::Settings {
-public:
- virtual String getProperty(const String& /*name*/)
- {
- notImplemented();
- return String();
- }
-
- virtual void setProperty(const String& /*name*/, const String& /*value*/)
- {
- notImplemented();
- }
-};
-
-InspectorClientEfl::InspectorClientEfl(Evas_Object* webView)
- : m_inspectedView(webView)
- , m_inspectorView(0)
- , m_frontendClient(0)
-{
-}
-
-InspectorClientEfl::~InspectorClientEfl()
-{
- if (m_frontendClient) {
- m_frontendClient->disconnectInspectorClient();
- m_frontendClient = 0;
- }
-}
-
-void InspectorClientEfl::inspectorDestroyed()
-{
- closeInspectorFrontend();
- delete this;
-}
-
-InspectorFrontendChannel* InspectorClientEfl::openInspectorFrontend(InspectorController*)
-{
- evas_object_smart_callback_call(m_inspectedView, "inspector,view,create", 0);
-
- Evas_Object* inspectorView = ewk_view_inspector_view_get(m_inspectedView);
- if (!inspectorView)
- return 0;
-
- m_inspectorView = inspectorView;
-
- String inspectorUri = inspectorFilesPath() + "/inspector.html";
- ewk_view_uri_set(m_inspectorView, inspectorUri.utf8().data());
-
- OwnPtr<InspectorFrontendClientEfl> frontendClient = adoptPtr(new InspectorFrontendClientEfl(m_inspectedView, m_inspectorView, this));
- m_frontendClient = frontendClient.get();
-
- InspectorController* controller = EWKPrivate::corePage(m_inspectorView)->inspectorController();
- controller->setInspectorFrontendClient(frontendClient.release());
-
- return this;
-}
-
-void InspectorClientEfl::closeInspectorFrontend()
-{
- if (m_frontendClient)
- m_frontendClient->destroyInspectorWindow(false);
-}
-
-void InspectorClientEfl::bringFrontendToFront()
-{
- m_frontendClient->bringToFront();
-}
-
-void InspectorClientEfl::highlight()
-{
- invalidateView(m_inspectedView);
-}
-
-void InspectorClientEfl::hideHighlight()
-{
- invalidateView(m_inspectedView);
-}
-
-bool InspectorClientEfl::sendMessageToFrontend(const String& message)
-{
- Page* frontendPage = EWKPrivate::corePage(m_inspectorView);
- return doDispatchMessageOnFrontendPage(frontendPage, message);
-}
-
-void InspectorClientEfl::releaseFrontendPage()
-{
- m_inspectorView = 0;
- m_frontendClient = 0;
-}
-
-String InspectorClientEfl::inspectorFilesPath()
-{
- return "file://" + inspectorResourcePath();
-}
-
-InspectorFrontendClientEfl::InspectorFrontendClientEfl(Evas_Object* inspectedView, Evas_Object* inspectorView, InspectorClientEfl* inspectorClient)
- : InspectorFrontendClientLocal(EWKPrivate::corePage(inspectedView)->inspectorController(), EWKPrivate::corePage(inspectorView), adoptPtr(new InspectorFrontendSettingsEfl()))
- , m_inspectedView(inspectedView)
- , m_inspectorView(inspectorView)
- , m_inspectorClient(inspectorClient)
-{
- evas_object_smart_callback_add(m_inspectorView, "inspector,view,destroy", notifyInspectorDestroy, this);
-}
-
-InspectorFrontendClientEfl::~InspectorFrontendClientEfl()
-{
- evas_object_smart_callback_del(m_inspectorView, "inspector,view,destroy", notifyInspectorDestroy);
-
- if (m_inspectorClient) {
- m_inspectorClient->releaseFrontendPage();
- m_inspectorClient = 0;
- }
-}
-
-String InspectorFrontendClientEfl::localizedStringsURL()
-{
- return m_inspectorClient->inspectorFilesPath() + "/localizedStrings.js";
-}
-
-void InspectorFrontendClientEfl::bringToFront()
-{
- evas_object_focus_set(m_inspectorView, true);
-}
-
-void InspectorFrontendClientEfl::closeWindow()
-{
- destroyInspectorWindow(true);
-}
-
-void InspectorFrontendClientEfl::inspectedURLChanged(const String&)
-{
- notImplemented();
-}
-
-void InspectorFrontendClientEfl::attachWindow(DockSide)
-{
- notImplemented();
-}
-
-void InspectorFrontendClientEfl::detachWindow()
-{
- notImplemented();
-}
-
-void InspectorFrontendClientEfl::setAttachedWindowHeight(unsigned)
-{
- notImplemented();
-}
-
-void InspectorFrontendClientEfl::setAttachedWindowWidth(unsigned)
-{
- notImplemented();
-}
-
-void InspectorFrontendClientEfl::setToolbarHeight(unsigned)
-{
- notImplemented();
-}
-
-void InspectorFrontendClientEfl::destroyInspectorWindow(bool notifyInspectorController)
-{
- if (notifyInspectorController)
- EWKPrivate::corePage(m_inspectedView)->inspectorController()->disconnectFrontend();
-
- if (m_inspectorClient)
- m_inspectorClient->releaseFrontendPage();
-
- evas_object_smart_callback_call(m_inspectedView, "inspector,view,close", m_inspectorView);
-}
-
-}
-#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.h b/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.h
deleted file mode 100644
index 8bfeb2dba..000000000
--- a/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2007 Apple Inc. All rights reserved.
- * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-2012 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 InspectorClientEfl_h
-#define InspectorClientEfl_h
-
-#if ENABLE(INSPECTOR)
-
-#include "InspectorClient.h"
-#include "InspectorFrontendChannel.h"
-#include "InspectorFrontendClientLocal.h"
-#include <Evas.h>
-#include <wtf/Forward.h>
-
-namespace WebCore {
-class InspectorFrontendClientEfl;
-
-class InspectorClientEfl : public InspectorClient, public InspectorFrontendChannel {
-public:
- explicit InspectorClientEfl(Evas_Object*);
- ~InspectorClientEfl();
-
- virtual void inspectorDestroyed();
-
- virtual InspectorFrontendChannel* openInspectorFrontend(InspectorController*);
- virtual void closeInspectorFrontend();
- virtual void bringFrontendToFront();
-
- virtual void highlight();
- virtual void hideHighlight();
-
- virtual bool sendMessageToFrontend(const String&);
-
- void releaseFrontendPage();
- String inspectorFilesPath();
-
-private:
- Evas_Object* m_inspectedView;
- Evas_Object* m_inspectorView;
- InspectorFrontendClientEfl* m_frontendClient;
-};
-
-class InspectorFrontendClientEfl : public InspectorFrontendClientLocal {
-public:
- InspectorFrontendClientEfl(Evas_Object*, Evas_Object*, InspectorClientEfl*);
- ~InspectorFrontendClientEfl();
-
- virtual String localizedStringsURL();
-
- virtual void bringToFront();
- virtual void closeWindow();
-
- virtual void inspectedURLChanged(const String&);
-
- virtual void attachWindow(DockSide);
- virtual void detachWindow();
-
- virtual void setAttachedWindowHeight(unsigned);
- virtual void setAttachedWindowWidth(unsigned);
- virtual void setToolbarHeight(unsigned) OVERRIDE;
-
- void disconnectInspectorClient() { m_inspectorClient = 0; }
- void destroyInspectorWindow(bool notifyInspectorController);
-
-private:
- Evas_Object* m_inspectedView;
- Evas_Object* m_inspectorView;
- InspectorClientEfl* m_inspectorClient;
-
-};
-}
-
-#endif
-#endif // InspectorClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp
deleted file mode 100644
index a5b612fc0..000000000
--- a/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics
- *
- * 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 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 "NavigatorContentUtilsClientEfl.h"
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
-
-#include "ewk_custom_handler_private.h"
-#include <wtf/text/CString.h>
-
-namespace WebCore {
-
-static Ewk_Custom_Handler_Data* customHandlerDataCreate(Evas_Object* ewkView, const char* scheme, const char* baseURL, const char* url)
-{
- Ewk_Custom_Handler_Data* data = new Ewk_Custom_Handler_Data;
- data->ewkView = ewkView;
- data->scheme = eina_stringshare_add(scheme);
- data->base_url = eina_stringshare_add(baseURL);
- data->url = eina_stringshare_add(url);
- return data;
-}
-
-static void customHandlerDataDelete(Ewk_Custom_Handler_Data* data)
-{
- eina_stringshare_del(data->scheme);
- eina_stringshare_del(data->base_url);
- eina_stringshare_del(data->url);
- delete data;
-}
-
-PassOwnPtr<NavigatorContentUtilsClientEfl> NavigatorContentUtilsClientEfl::create(Evas_Object* view)
-{
- return adoptPtr(new NavigatorContentUtilsClientEfl(view));
-}
-
-NavigatorContentUtilsClientEfl::NavigatorContentUtilsClientEfl(Evas_Object* view)
- : m_view(view)
-{
-}
-
-void NavigatorContentUtilsClientEfl::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
-{
- Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data());
- data->title = eina_stringshare_add(title.utf8().data());
- ewk_custom_handler_register_protocol_handler(data);
- eina_stringshare_del(data->title);
- customHandlerDataDelete(data);
-}
-
-#if ENABLE(CUSTOM_SCHEME_HANDLER)
-NavigatorContentUtilsClient::CustomHandlersState NavigatorContentUtilsClientEfl::isProtocolHandlerRegistered(const String& scheme, const String& baseURL, const String& url)
-{
- Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data());
- NavigatorContentUtilsClient::CustomHandlersState result = static_cast<CustomHandlersState>(ewk_custom_handler_register_protocol_handler(data));
- customHandlerDataDelete(data);
-
- return result;
-}
-
-void NavigatorContentUtilsClientEfl::unregisterProtocolHandler(const String& scheme, const String& baseURL, const String& url)
-{
- Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data());
- ewk_custom_handler_register_protocol_handler(data);
- customHandlerDataDelete(data);
-}
-#endif
-
-}
-
-#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
diff --git a/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.h b/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.h
deleted file mode 100644
index 2fe488f47..000000000
--- a/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics
- *
- * 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 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 NavigatorContentUtilsClientEfl_h
-#define NavigatorContentUtilsClientEfl_h
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
-#include "NavigatorContentUtilsClient.h"
-
-#include <wtf/PassOwnPtr.h>
-
-namespace WebCore {
-class NavigatorContentUtilsClientEfl : public WebCore::NavigatorContentUtilsClient {
-public:
- static PassOwnPtr<NavigatorContentUtilsClientEfl> create(Evas_Object* view);
-
- ~NavigatorContentUtilsClientEfl() { }
- virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title);
-
-#if ENABLE(CUSTOM_SCHEME_HANDLER)
- virtual CustomHandlersState isProtocolHandlerRegistered(const String& scheme, const String& baseURL, const String& url);
- virtual void unregisterProtocolHandler(const String& scheme, const String& baseURL, const String& url);
-#endif
-
-private:
- Evas_Object* m_view;
-
- NavigatorContentUtilsClientEfl(Evas_Object* view);
-};
-}
-
-#endif
-#endif // NavigatorContentUtilsClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/NetworkInfoClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/NetworkInfoClientEfl.cpp
deleted file mode 100644
index 37be35d88..000000000
--- a/Source/WebKit/efl/WebCoreSupport/NetworkInfoClientEfl.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics
- *
- * 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 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 "NetworkInfoClientEfl.h"
-
-#if ENABLE(NETWORK_INFO)
-
-#include "NotImplemented.h"
-
-namespace WebCore {
-
-NetworkInfoClientEfl::NetworkInfoClientEfl()
-{
-}
-
-NetworkInfoClientEfl::~NetworkInfoClientEfl()
-{
-}
-
-void NetworkInfoClientEfl::networkInfoControllerDestroyed()
-{
- delete this;
-}
-
-void NetworkInfoClientEfl::startUpdating()
-{
- m_provider.startUpdating();
-}
-
-void NetworkInfoClientEfl::stopUpdating()
-{
- m_provider.stopUpdating();
-}
-
-double NetworkInfoClientEfl::bandwidth() const
-{
- return m_provider.bandwidth();
-}
-
-bool NetworkInfoClientEfl::metered() const
-{
- notImplemented();
-
- return false;
-}
-
-} // namespace WebCore
-
-#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/NetworkInfoClientEfl.h b/Source/WebKit/efl/WebCoreSupport/NetworkInfoClientEfl.h
deleted file mode 100644
index 73d5ec8d3..000000000
--- a/Source/WebKit/efl/WebCoreSupport/NetworkInfoClientEfl.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2012 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.
- * 3. Neither the name of Apple, Inc. ("Apple") 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 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 NetworkInfoClientEfl_h
-#define NetworkInfoClientEfl_h
-
-#if ENABLE(NETWORK_INFO)
-
-#include <NetworkInfoClient.h>
-#include <NetworkInfoProviderEfl.h>
-
-namespace WebCore {
-
-class NetworkInfoClientEfl : public WebCore::NetworkInfoClient {
-public:
- NetworkInfoClientEfl();
- ~NetworkInfoClientEfl();
-
- virtual void networkInfoControllerDestroyed();
-
- virtual void startUpdating();
- virtual void stopUpdating();
-
- virtual double bandwidth() const;
- virtual bool metered() const;
-
-private:
- WebCore::NetworkInfoProviderEfl m_provider;
-};
-
-} // namespace WebCore
-
-#endif
-#endif // NetworkInfoClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/NotificationPresenterClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/NotificationPresenterClientEfl.cpp
deleted file mode 100644
index c4e5ca8da..000000000
--- a/Source/WebKit/efl/WebCoreSupport/NotificationPresenterClientEfl.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2011 Samsung Electronics
- *
- * 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 "NotificationPresenterClientEfl.h"
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#include "NotImplemented.h"
-
-namespace WebCore {
-
-NotificationPresenterClientEfl::NotificationPresenterClientEfl()
-{
-}
-
-NotificationPresenterClientEfl::~NotificationPresenterClientEfl()
-{
-}
-
-bool NotificationPresenterClientEfl::show(Notification* notification)
-{
- notImplemented();
- return false;
-}
-
-void NotificationPresenterClientEfl::cancel(Notification* notification)
-{
- notImplemented();
-}
-
-void NotificationPresenterClientEfl::notificationObjectDestroyed(Notification* notification)
-{
- notImplemented();
-}
-
-void NotificationPresenterClientEfl::notificationControllerDestroyed()
-{
- notImplemented();
-}
-
-void NotificationPresenterClientEfl::requestPermission(ScriptExecutionContext* context, PassRefPtr<VoidCallback> callback)
-{
- notImplemented();
-}
-
-NotificationClient::Permission NotificationPresenterClientEfl::checkPermission(ScriptExecutionContext* context)
-{
- notImplemented();
- return PermissionDenied;
-}
-
-void NotificationPresenterClientEfl::cancelRequestsForPermission(ScriptExecutionContext* context)
-{
- notImplemented();
-}
-
-}
-#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/NotificationPresenterClientEfl.h b/Source/WebKit/efl/WebCoreSupport/NotificationPresenterClientEfl.h
deleted file mode 100644
index ece5ccfe4..000000000
--- a/Source/WebKit/efl/WebCoreSupport/NotificationPresenterClientEfl.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2011 Samsung Electronics
- *
- * 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 NotificationPresenterClientEfl_h
-#define NotificationPresenterClientEfl_h
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#include "Notification.h"
-#include "NotificationClient.h"
-
-namespace WebCore {
-
-class NotificationPresenterClientEfl : public NotificationClient {
-
-public:
- NotificationPresenterClientEfl();
- ~NotificationPresenterClientEfl();
-
- virtual bool show(Notification*);
- virtual void cancel(Notification*);
- virtual void notificationObjectDestroyed(Notification*);
- virtual void notificationControllerDestroyed();
- virtual void requestPermission(ScriptExecutionContext*, PassRefPtr<VoidCallback>);
- virtual NotificationClient::Permission checkPermission(ScriptExecutionContext*);
- virtual void cancelRequestsForPermission(ScriptExecutionContext*);
-};
-
-}
-#endif
-#endif // NotificationPresenterClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/PageClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/PageClientEfl.cpp
deleted file mode 100644
index 6d409c073..000000000
--- a/Source/WebKit/efl/WebCoreSupport/PageClientEfl.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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.1 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 "PageClientEfl.h"
-
-#include "ewk_view_private.h"
-
-namespace WebCore {
-class IntRect;
-}
-
-PageClientEfl::PageClientEfl(Evas_Object* view)
- : m_view(view)
-{
- ASSERT(m_view);
-}
-
-PageClientEfl::~PageClientEfl()
-{
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-bool PageClientEfl::createEvasObjectForAcceleratedCompositing(Evas_Native_Surface* nativeSurface, const WebCore::IntRect& rect)
-{
- return ewk_view_accelerated_compositing_object_create(m_view, nativeSurface, rect);
-}
-
-WebCore::GraphicsContext3D* PageClientEfl::acceleratedCompositingContext()
-{
- return ewk_view_accelerated_compositing_context_get(m_view);
-}
-#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/PageClientEfl.h b/Source/WebKit/efl/WebCoreSupport/PageClientEfl.h
deleted file mode 100644
index 4516d46bb..000000000
--- a/Source/WebKit/efl/WebCoreSupport/PageClientEfl.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics
- *
- * 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.1 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 PageClientEfl_h
-#define PageClientEfl_h
-
-#include "IntRect.h"
-
-typedef struct _Evas_Native_Surface Evas_Native_Surface;
-
-namespace WebCore {
-class GraphicsContext3D;
-} // namespace WebCore
-
-class PageClientEfl {
-public:
- explicit PageClientEfl(Evas_Object* view);
- virtual ~PageClientEfl();
-
-#if USE(ACCELERATED_COMPOSITING)
- bool createEvasObjectForAcceleratedCompositing(Evas_Native_Surface*, const WebCore::IntRect&);
- WebCore::GraphicsContext3D* acceleratedCompositingContext();
-#endif
-
- Evas_Object* view() { return m_view; }
-
-protected:
- Evas_Object* m_view;
-};
-
-#endif // PageClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/PlatformStrategiesEfl.cpp b/Source/WebKit/efl/WebCoreSupport/PlatformStrategiesEfl.cpp
deleted file mode 100644
index 49aa3571b..000000000
--- a/Source/WebKit/efl/WebCoreSupport/PlatformStrategiesEfl.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
- Copyright (C) 2008 Trolltech ASA
- Copyright (C) 2008 Collabora Ltd. All rights reserved.
- Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2011 Samsung Electronics
- Copyright (C) 2012 Intel Corporation
-
- 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 "PlatformStrategiesEfl.h"
-
-#include "NotImplemented.h"
-#include "Page.h"
-#include "PageGroup.h"
-#include "PlatformCookieJar.h"
-#include "PluginDatabase.h"
-#include "PluginPackage.h"
-
-using namespace WebCore;
-
-void PlatformStrategiesEfl::initialize()
-{
- DEFINE_STATIC_LOCAL(PlatformStrategiesEfl, platformStrategies, ());
- setPlatformStrategies(&platformStrategies);
-}
-
-PlatformStrategiesEfl::PlatformStrategiesEfl()
-{
-}
-
-CookiesStrategy* PlatformStrategiesEfl::createCookiesStrategy()
-{
- return this;
-}
-
-DatabaseStrategy* PlatformStrategiesEfl::createDatabaseStrategy()
-{
- return this;
-}
-
-LoaderStrategy* PlatformStrategiesEfl::createLoaderStrategy()
-{
- return this;
-}
-
-PasteboardStrategy* PlatformStrategiesEfl::createPasteboardStrategy()
-{
- notImplemented();
- return 0;
-}
-
-PluginStrategy* PlatformStrategiesEfl::createPluginStrategy()
-{
- return this;
-}
-
-SharedWorkerStrategy* PlatformStrategiesEfl::createSharedWorkerStrategy()
-{
- return this;
-}
-
-VisitedLinkStrategy* PlatformStrategiesEfl::createVisitedLinkStrategy()
-{
- return this;
-}
-
-StorageStrategy* PlatformStrategiesEfl::createStorageStrategy()
-{
- return this;
-}
-
-// CookiesStrategy
-String PlatformStrategiesEfl::cookiesForDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookiesForDOM(session, firstParty, url);
-}
-
-void PlatformStrategiesEfl::setCookiesFromDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, const String& cookieString)
-{
- WebCore::setCookiesFromDOM(session, firstParty, url, cookieString);
-}
-
-bool PlatformStrategiesEfl::cookiesEnabled(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookiesEnabled(session, firstParty, url);
-}
-
-String PlatformStrategiesEfl::cookieRequestHeaderFieldValue(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookieRequestHeaderFieldValue(session, firstParty, url);
-}
-
-bool PlatformStrategiesEfl::getRawCookies(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, Vector<Cookie>& rawCookies)
-{
- return WebCore::getRawCookies(session, firstParty, url, rawCookies);
-}
-
-void PlatformStrategiesEfl::deleteCookie(const NetworkStorageSession& session, const KURL& url, const String& cookieName)
-{
- WebCore::deleteCookie(session, url, cookieName);
-}
-
-void PlatformStrategiesEfl::refreshPlugins()
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- PluginDatabase::installedPlugins()->refresh();
-#endif
-}
-
-void PlatformStrategiesEfl::getPluginInfo(const Page*, Vector<PluginInfo>& outPlugins)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- PluginDatabase::installedPlugins()->refresh();
- const Vector<PluginPackage*>& plugins = PluginDatabase::installedPlugins()->plugins();
- outPlugins.resize(plugins.size());
-
- for (size_t i = 0; i < plugins.size(); ++i) {
- PluginPackage* package = plugins[i];
-
- PluginInfo pluginInfo;
- pluginInfo.name = package->name();
- pluginInfo.file = package->fileName();
- pluginInfo.desc = package->description();
-
- const MIMEToDescriptionsMap& mimeToDescriptions = package->mimeToDescriptions();
- MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end();
- for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) {
- MimeClassInfo mime;
-
- mime.type = it->key;
- mime.desc = it->value;
- mime.extensions = package->mimeToExtensions().get(mime.type);
- pluginInfo.mimes.append(mime);
- }
-
- outPlugins.append(pluginInfo);
- }
-#else
- UNUSED_PARAM(outPlugins);
-#endif
-}
-
-// VisitedLinkStrategy
-bool PlatformStrategiesEfl::isLinkVisited(Page* page, LinkHash hash, const KURL&, const AtomicString&)
-{
- return page->group().isLinkVisited(hash);
-}
-
-void PlatformStrategiesEfl::addVisitedLink(Page* page, LinkHash hash)
-{
- page->group().addVisitedLinkHash(hash);
-}
diff --git a/Source/WebKit/efl/WebCoreSupport/PlatformStrategiesEfl.h b/Source/WebKit/efl/WebCoreSupport/PlatformStrategiesEfl.h
deleted file mode 100644
index 7470c2ca6..000000000
--- a/Source/WebKit/efl/WebCoreSupport/PlatformStrategiesEfl.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- Copyright (C) 2012 Intel Corporation
-
- 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 PlatformStrategiesEfl_h
-#define PlatformStrategiesEfl_h
-
-#include "CookiesStrategy.h"
-#include "DatabaseStrategy.h"
-#include "LoaderStrategy.h"
-#include "PasteboardStrategy.h"
-#include "PlatformStrategies.h"
-#include "PluginStrategy.h"
-#include "SharedWorkerStrategy.h"
-#include "StorageStrategy.h"
-#include "VisitedLinkStrategy.h"
-
-class PlatformStrategiesEfl : public WebCore::PlatformStrategies, private WebCore::CookiesStrategy, private WebCore::DatabaseStrategy, private WebCore::LoaderStrategy, private WebCore::PluginStrategy, private WebCore::SharedWorkerStrategy, private WebCore::StorageStrategy, private WebCore::VisitedLinkStrategy {
-public:
- static void initialize();
-
-private:
- PlatformStrategiesEfl();
-
- // WebCore::PlatformStrategies
- virtual WebCore::CookiesStrategy* createCookiesStrategy();
- virtual WebCore::DatabaseStrategy* createDatabaseStrategy();
- virtual WebCore::LoaderStrategy* createLoaderStrategy();
- virtual WebCore::PasteboardStrategy* createPasteboardStrategy();
- virtual WebCore::PluginStrategy* createPluginStrategy();
- virtual WebCore::SharedWorkerStrategy* createSharedWorkerStrategy();
- virtual WebCore::StorageStrategy* createStorageStrategy();
- virtual WebCore::VisitedLinkStrategy* createVisitedLinkStrategy();
-
- // WebCore::CookiesStrategy
- virtual String cookiesForDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual void setCookiesFromDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, const String&);
- virtual bool cookiesEnabled(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual String cookieRequestHeaderFieldValue(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual bool getRawCookies(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, Vector<WebCore::Cookie>&);
- virtual void deleteCookie(const WebCore::NetworkStorageSession&, const WebCore::KURL&, const String&);
-
- // WebCore::DatabaseStrategy
- // - Using default implementation.
-
- // WebCore::PluginStrategy
- virtual void refreshPlugins();
- virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&);
-
- // WebCore::VisitedLinkStrategy
- virtual bool isLinkVisited(WebCore::Page*, WebCore::LinkHash, const WebCore::KURL& baseURL, const WTF::AtomicString& attributeURL);
- virtual void addVisitedLink(WebCore::Page*, WebCore::LinkHash);
-};
-
-#endif // PlatformStrategiesEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.cpp b/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.cpp
deleted file mode 100644
index f70345774..000000000
--- a/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
- * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-2010 Samsung Electronics
- * 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 "PopupMenuEfl.h"
-
-#include "Chrome.h"
-#include "ChromeClientEfl.h"
-#include "Frame.h"
-#include "FrameView.h"
-#include "Page.h"
-#include "PopupMenuClient.h"
-
-namespace WebCore {
-
-PopupMenuEfl::PopupMenuEfl(PopupMenuClient* client)
- : m_popupClient(client)
- , m_view(0)
-{
-}
-
-PopupMenuEfl::~PopupMenuEfl()
-{
- // Tell client to destroy data related to this popup since this object is
- // going away.
- if (m_view)
- hide();
-}
-
-void PopupMenuEfl::show(const IntRect& rect, FrameView* view, int index)
-{
- ASSERT(m_popupClient);
- ChromeClientEfl* chromeClient = static_cast<ChromeClientEfl*>(view->frame()->page()->chrome().client());
- ASSERT(chromeClient);
-
- m_view = view;
- chromeClient->createSelectPopup(m_popupClient, index, rect);
-}
-
-void PopupMenuEfl::hide()
-{
- ASSERT(m_view);
- ChromeClientEfl* chromeClient = static_cast<ChromeClientEfl*>(m_view->frame()->page()->chrome().client());
- ASSERT(chromeClient);
-
- chromeClient->destroySelectPopup();
-}
-
-void PopupMenuEfl::updateFromElement()
-{
- client()->setTextFromItem(client()->selectedIndex());
-}
-
-void PopupMenuEfl::disconnectClient()
-{
- m_popupClient = 0;
-}
-
-}
diff --git a/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.h b/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.h
deleted file mode 100644
index aab9d5636..000000000
--- a/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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 PopupMenuEfl_h
-#define PopupMenuEfl_h
-
-#include "IntRect.h"
-#include "PopupMenu.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-
-namespace WebCore {
-
-class FrameView;
-class Scrollbar;
-class PopupMenuClient;
-
-class PopupMenuEfl : public PopupMenu {
-public:
- explicit PopupMenuEfl(PopupMenuClient*);
- ~PopupMenuEfl();
-
- virtual void show(const IntRect&, FrameView*, int index);
- virtual void hide();
- virtual void updateFromElement();
- virtual void disconnectClient();
-
-private:
- PopupMenuClient* client() const { return m_popupClient; }
-
- PopupMenuClient* m_popupClient;
- FrameView* m_view;
-};
-
-}
-
-#endif // PopupMenuEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.cpp b/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.cpp
deleted file mode 100644
index 20ecb092d..000000000
--- a/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-2010 Samsung Electronics
- * 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 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 "SearchPopupMenuEfl.h"
-
-#include "NotImplemented.h"
-
-namespace WebCore {
-
-SearchPopupMenuEfl::SearchPopupMenuEfl(PopupMenuClient* client)
- : m_popup(adoptRef(new PopupMenuEfl(client)))
-{
- notImplemented();
-}
-
-PopupMenu* SearchPopupMenuEfl::popupMenu()
-{
- return m_popup.get();
-}
-
-void SearchPopupMenuEfl::saveRecentSearches(const AtomicString&, const Vector<String>&)
-{
- notImplemented();
-}
-
-void SearchPopupMenuEfl::loadRecentSearches(const AtomicString&, Vector<String>&)
-{
- notImplemented();
-}
-
-bool SearchPopupMenuEfl::enabled()
-{
- notImplemented();
- return true;
-}
-
-}
diff --git a/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.h b/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.h
deleted file mode 100644
index 7eec84ed2..000000000
--- a/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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 SearchPopupMenuEfl_h
-#define SearchPopupMenuEfl_h
-
-#include "PopupMenuEfl.h"
-#include "SearchPopupMenu.h"
-
-namespace WebCore {
-
-class SearchPopupMenuEfl : public SearchPopupMenu {
-public:
- explicit SearchPopupMenuEfl(PopupMenuClient*);
-
- virtual PopupMenu* popupMenu();
- virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
- virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
- virtual bool enabled();
-
-private:
- RefPtr<PopupMenuEfl> m_popup;
-};
-
-}
-
-#endif // SearchPopupMenuEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/StorageTrackerClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/StorageTrackerClientEfl.cpp
deleted file mode 100644
index 9d9d26918..000000000
--- a/Source/WebKit/efl/WebCoreSupport/StorageTrackerClientEfl.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2012 ProFUSION Embedded Systems
- *
- * 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 "StorageTrackerClientEfl.h"
-
-#include "NotImplemented.h"
-
-namespace WebCore {
-
-void StorageTrackerClientEfl::dispatchDidModifyOrigin(const String&)
-{
- notImplemented();
-}
-
-void StorageTrackerClientEfl::didFinishLoadingOrigins()
-{
- notImplemented();
-}
-
-}
diff --git a/Source/WebKit/efl/WebCoreSupport/StorageTrackerClientEfl.h b/Source/WebKit/efl/WebCoreSupport/StorageTrackerClientEfl.h
deleted file mode 100644
index 62eae20ee..000000000
--- a/Source/WebKit/efl/WebCoreSupport/StorageTrackerClientEfl.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2012 ProFUSION Embedded Systems
- *
- * 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 StorageTrackerClientEfl_h
-#define StorageTrackerClientEfl_h
-
-#include "StorageTrackerClient.h"
-
-namespace WebCore {
-
-class StorageTrackerClientEfl : public StorageTrackerClient {
-public:
- virtual void dispatchDidModifyOrigin(const String&);
- virtual void didFinishLoadingOrigins();
-};
-
-}
-
-#endif // StorageTrackerClientEfl_h
diff --git a/Source/WebKit/efl/WebCoreSupport/VibrationClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/VibrationClientEfl.cpp
deleted file mode 100644
index 6289cc55b..000000000
--- a/Source/WebKit/efl/WebCoreSupport/VibrationClientEfl.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics
- *
- * 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 "VibrationClientEfl.h"
-
-#if ENABLE(VIBRATION)
-
-namespace WebCore {
-
-VibrationClientEfl::VibrationClientEfl(Evas_Object* view)
- : m_view(view)
-{
-}
-
-void VibrationClientEfl::vibrate(const unsigned& time)
-{
- evas_object_smart_callback_call(m_view, "vibration,vibrate", (void*)&time);
-}
-
-void VibrationClientEfl::cancelVibration()
-{
- evas_object_smart_callback_call(m_view, "vibration,cancel", 0);
-}
-
-void VibrationClientEfl::vibrationDestroyed()
-{
- delete this;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(VIBRATION)
-
diff --git a/Source/WebKit/efl/WebCoreSupport/VibrationClientEfl.h b/Source/WebKit/efl/WebCoreSupport/VibrationClientEfl.h
deleted file mode 100644
index ebc4270b9..000000000
--- a/Source/WebKit/efl/WebCoreSupport/VibrationClientEfl.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics
- *
- * 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 VibrationClientEfl_h
-#define VibrationClientEfl_h
-
-#if ENABLE(VIBRATION)
-
-#include "VibrationClient.h"
-#include <Evas.h>
-
-namespace WebCore {
-
-class VibrationClientEfl : public VibrationClient {
-public:
- explicit VibrationClientEfl(Evas_Object* view);
- virtual ~VibrationClientEfl() { }
-
- virtual void vibrate(const unsigned& time);
- virtual void cancelVibration();
-
- virtual void vibrationDestroyed();
-
-private:
- Evas_Object* m_view;
-};
-
-} // namespace WebCore
-
-#endif
-#endif // VibrationClientEfl_h
-
diff --git a/Source/WebKit/efl/ewebkit.pc.in b/Source/WebKit/efl/ewebkit.pc.in
deleted file mode 100644
index 1cba8d936..000000000
--- a/Source/WebKit/efl/ewebkit.pc.in
+++ /dev/null
@@ -1,13 +0,0 @@
-prefix=@CMAKE_INSTALL_PREFIX@
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-datadir=${prefix}/@DATA_INSTALL_DIR@
-
-Name: WebKit-EFL
-Description: Web content engine for EFL applications
-Version: @PROJECT_VERSION@
-Requires: cairo evas ecore harfbuzz libsoup-2.4 ecore-input
-Libs: -L${libdir} -lewebkit @EXTRA_EWEBKIT_LINK@
-Libs.private: @LIBS_PRIVATE@
-Cflags: -I${includedir}/@WebKit_OUTPUT_NAME@-@PROJECT_VERSION_MAJOR@
diff --git a/Source/WebKit/efl/ewk/EWebKit.h b/Source/WebKit/efl/ewk/EWebKit.h
deleted file mode 100644
index 682411ff6..000000000
--- a/Source/WebKit/efl/ewk/EWebKit.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- Copyright (C) 2008-2009 INdT - Instituto Nokia de Tecnologia
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2010 Samsung Electronics
-
- 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.
-*/
-
-/**
- * @file EWebKit.h
- * @brief Contains the header files that are required by WebKit-EFL.
- *
- * It includes the all header files that are exported to public API and Evas header.
- */
-
-#ifndef EWebKit_h
-#define EWebKit_h
-
-#include "ewk_auth.h"
-#include "ewk_contextmenu.h"
-#include "ewk_cookies.h"
-#include "ewk_file_chooser.h"
-#include "ewk_frame.h"
-#include "ewk_history.h"
-#include "ewk_js.h"
-#include "ewk_main.h"
-#include "ewk_network.h"
-#include "ewk_security_origin.h"
-#include "ewk_security_policy.h"
-#include "ewk_settings.h"
-#include "ewk_view.h"
-#include "ewk_web_database.h"
-#include "ewk_window_features.h"
-
-#include <Evas.h>
-
-#endif // EWebKit_h
diff --git a/Source/WebKit/efl/ewk/ewk_auth.cpp b/Source/WebKit/efl/ewk/ewk_auth.cpp
deleted file mode 100644
index 150b8b68c..000000000
--- a/Source/WebKit/efl/ewk/ewk_auth.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- Copyright (C) 2011 Samsung Electronics
-
- 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 "ewk_auth.h"
-
-#include "ewk_auth_soup_private.h"
-
-void ewk_auth_show_dialog_callback_set(Ewk_Auth_Show_Dialog_Callback callback)
-{
- ewk_auth_soup_show_dialog_callback_set(callback);
-}
-
-void ewk_auth_credentials_set(char* username, char* password, void* data)
-{
- ewk_auth_soup_credentials_set(username, password, data);
-}
diff --git a/Source/WebKit/efl/ewk/ewk_auth.h b/Source/WebKit/efl/ewk/ewk_auth.h
deleted file mode 100644
index 2fd200074..000000000
--- a/Source/WebKit/efl/ewk/ewk_auth.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- Copyright (C) 2011 Samsung Electronics
-
- 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.
-*/
-
-/**
- * @file ewk_auth.h
- * @brief Describes the authentication API.
- */
-
-#ifndef ewk_auth_h
-#define ewk_auth_h
-
-#include <Eina.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Callback to be called when authentication is required.
- *
- * @param realm auth's realm
- * @param uri uri
- * @param data points to WebKitAuthData
- */
-typedef void (*Ewk_Auth_Show_Dialog_Callback)(const char *realm, const char *uri, void *data);
-
-/**
- * Sets callback to be called when authentication is required.
- *
- * @param callback callback to be called
- */
-EAPI void ewk_auth_show_dialog_callback_set(Ewk_Auth_Show_Dialog_Callback);
-
-/**
- * Calls authentication method for setting credentials.
- *
- * @param username username
- * @param password user password
- * @param data soup authentication data
- */
-EAPI void ewk_auth_credentials_set(char *username, char *password, void *data);
-
-#ifdef __cplusplus
-}
-#endif
-#endif // ewk_auth_h
diff --git a/Source/WebKit/efl/ewk/ewk_auth_soup.cpp b/Source/WebKit/efl/ewk/ewk_auth_soup.cpp
deleted file mode 100644
index 3d3e93f99..000000000
--- a/Source/WebKit/efl/ewk/ewk_auth_soup.cpp
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- Copyright (C) 2009 Igalia S.L.
- Copyright (C) 2011 Samsung Electronics
-
- 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 "ewk_auth_soup_private.h"
-
-#include "ewk_auth.h"
-#include <glib-object.h>
-#include <glib.h>
-#include <libsoup/soup.h>
-
-/**
- * #Ewk_Soup_Auth_Dialog is a #SoupSessionFeature that you can attach to your
- * #SoupSession to provide a simple authentication dialog while
- * handling HTTP basic auth. It is built as a simple C-only module
- * to ease reuse.
- */
-
-typedef struct _Ewk_Auth_Data {
- SoupMessage* message;
- SoupAuth* auth;
- SoupSession* session;
-} Ewk_Auth_Data;
-
-static Ewk_Auth_Show_Dialog_Callback ewk_auth_show_dialog_callback = 0;
-
-static void ewk_auth_soup_dialog_session_feature_init(SoupSessionFeatureInterface*, gpointer);
-static void attach(SoupSessionFeature*, SoupSession*);
-static void detach(SoupSessionFeature*, SoupSession*);
-static void free_auth_data(Ewk_Auth_Data*);
-
-G_DEFINE_TYPE_WITH_CODE(Ewk_Soup_Auth_Dialog, ewk_auth_soup_dialog, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE(SOUP_TYPE_SESSION_FEATURE, ewk_auth_soup_dialog_session_feature_init))
-
-static void ewk_auth_soup_dialog_class_init(Ewk_Soup_Auth_DialogClass*)
-{
-}
-
-static void ewk_auth_soup_dialog_init(Ewk_Soup_Auth_Dialog*)
-{
-}
-
-static void ewk_auth_soup_dialog_session_feature_init(SoupSessionFeatureInterface* featureInterface, gpointer /*interfaceData*/)
-{
- featureInterface->attach = attach;
- featureInterface->detach = detach;
-}
-
-/**
- * @internal
- * Sets callback to be called when authentication is required.
- */
-void ewk_auth_soup_show_dialog_callback_set(Ewk_Auth_Show_Dialog_Callback callback)
-{
- ewk_auth_show_dialog_callback = callback;
-}
-
-/**
- * @internal
- * Method for setting credentials
- *
- * @param username username
- * @param password password
- * @param data soup authentication data
- */
-void ewk_auth_soup_credentials_set(const char* username, const char* password, void* data)
-{
- if (!data)
- return;
-
- Ewk_Auth_Data* authenticationData = static_cast<Ewk_Auth_Data*>(data);
- soup_auth_authenticate(authenticationData->auth, username, password);
- soup_session_unpause_message(authenticationData->session, authenticationData->message);
- free_auth_data(authenticationData);
-}
-
-static void session_authenticate(SoupSession* session, SoupMessage* message, SoupAuth* auth, gboolean /*retrying*/, gpointer /*user_data*/)
-{
- SoupURI* uri;
- Ewk_Auth_Data* authenticationData;
- const char* realm;
-
- if (!ewk_auth_show_dialog_callback)
- return;
-
- soup_session_pause_message(session, message);
- // We need to make sure the message sticks around when pausing it.
- g_object_ref(message);
- g_object_ref(session);
- g_object_ref(auth);
-
- authenticationData = new Ewk_Auth_Data;
- authenticationData->message = message;
- authenticationData->auth = auth;
- authenticationData->session = session;
-
- uri = soup_message_get_uri(authenticationData->message);
- realm = soup_auth_get_realm(authenticationData->auth);
-
- // Call application method responsible for showing authentication dialog and sending back authorization data.
- ewk_auth_show_dialog_callback(realm, soup_uri_to_string(uri, TRUE), authenticationData);
-}
-
-static void free_auth_data(Ewk_Auth_Data* authData)
-{
- g_object_unref(authData->message);
- g_object_unref(authData->session);
- g_object_unref(authData->auth);
- delete authData;
-}
-
-static void attach(SoupSessionFeature* manager, SoupSession* session)
-{
- g_signal_connect(session, "authenticate", G_CALLBACK(session_authenticate), manager);
-}
-
-static void detach(SoupSessionFeature* manager, SoupSession* session)
-{
- g_signal_handlers_disconnect_by_func(session, (void*)session_authenticate, manager);
-}
diff --git a/Source/WebKit/efl/ewk/ewk_auth_soup_private.h b/Source/WebKit/efl/ewk/ewk_auth_soup_private.h
deleted file mode 100644
index c364f6145..000000000
--- a/Source/WebKit/efl/ewk/ewk_auth_soup_private.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- Copyright (C) 2009 Igalia S.L.
- Copyright (C) 2011 Samsung Electronics
-
- 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 ewk_auth_soup_private_h
-#define ewk_auth_soup_private_h
-
-#include "ewk_auth.h"
-#include <glib-object.h>
-#include <glib.h>
-
-#define EWK_TYPE_SOUP_AUTH_DIALOG (ewk_auth_soup_dialog_get_type())
-#define EWK_SOUP_AUTH_DIALOG(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EWK_TYPE_SOUP_AUTH_DIALOG, Ewk_Soup_Auth_Dialog))
-#define EWK_SOUP_AUTH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), EWK_TYPE_SOUP_AUTH_DIALOG, Ewk_Soup_Auth_Dialog))
-#define EWK_IS_SOUP_AUTH_DIALOG(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EWK_TYPE_SOUP_AUTH_DIALOG))
-#define EWK_IS_SOUP_AUTH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EWK_TYPE_SOUP_AUTH_DIALOG))
-#define EWK_SOUP_AUTH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), EWK_TYPE_SOUP_AUTH_DIALOG, Ewk_Soup_Auth_Dialog))
-
-typedef struct {
- GObject parent_instance;
-} Ewk_Soup_Auth_Dialog;
-
-typedef struct {
- GObjectClass parent_class;
-} Ewk_Soup_Auth_DialogClass;
-
-GType ewk_auth_soup_dialog_get_type(void);
-
-/**
- * Sets callback to be called when authentication is required.
- */
-void ewk_auth_soup_show_dialog_callback_set(Ewk_Auth_Show_Dialog_Callback callback);
-
-void ewk_auth_soup_credentials_set(const char *username, const char *password, void *data);
-
-#endif // ewk_auth_soup_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_contextmenu.cpp b/Source/WebKit/efl/ewk/ewk_contextmenu.cpp
deleted file mode 100644
index b7ae8874c..000000000
--- a/Source/WebKit/efl/ewk/ewk_contextmenu.cpp
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- Copyright (C) 2010 ProFUSION embedded systems
- Copyright (C) 2010 Samsung Electronics
-
- 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 "ewk_contextmenu.h"
-
-#include "ContextMenu.h"
-#include "ContextMenuController.h"
-#include "ContextMenuItem.h"
-#include "ewk_contextmenu_private.h"
-#include <Eina.h>
-#include <eina_safety_checks.h>
-#include <wtf/text/CString.h>
-
-/**
- * \struct _Ewk_Context_Menu
- * @brief Contains the context menu data.
- */
-struct _Ewk_Context_Menu {
- unsigned int __ref; /**< the reference count of the object */
-#if ENABLE(CONTEXT_MENUS)
- WebCore::ContextMenuController* controller; /**< the WebCore's object which is responsible for the context menu */
-#endif
- Evas_Object* view; /**< the view object */
-
- Eina_List* items; /**< the list of items */
-};
-
-/**
- * \struct _Ewk_Context_Menu_Item
- * @brief Represents one item of the context menu object.
- */
-struct _Ewk_Context_Menu_Item {
- Ewk_Context_Menu_Item_Type type; /**< contains the type of the item */
- Ewk_Context_Menu_Action action; /**< contains the action of the item */
-
- const char* title; /**< contains the title of the item */
- Ewk_Context_Menu* submenu; /**< contains the pointer to the submenu of the item */
- Ewk_Context_Menu* parentMenu; /**< contains the pointer to parent menu of the item */
-
- bool checked : 1;
- bool enabled : 1;
-};
-
-void ewk_context_menu_ref(Ewk_Context_Menu* menu)
-{
- EINA_SAFETY_ON_NULL_RETURN(menu);
- menu->__ref++;
-}
-
-void ewk_context_menu_unref(Ewk_Context_Menu* menu)
-{
- EINA_SAFETY_ON_NULL_RETURN(menu);
- void* item;
-
- if (--menu->__ref)
- return;
-
- EINA_LIST_FREE(menu->items, item)
- ewk_context_menu_item_free(static_cast<Ewk_Context_Menu_Item*>(item));
-
- delete menu;
-}
-
-Eina_Bool ewk_context_menu_destroy(Ewk_Context_Menu* menu)
-{
-#if ENABLE(CONTEXT_MENUS)
- EINA_SAFETY_ON_NULL_RETURN_VAL(menu, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(menu->controller, false);
- menu->controller->clearContextMenu();
- ewk_context_menu_free(menu);
- return true;
-#else
- UNUSED_PARAM(menu);
- return false;
-#endif
-}
-
-const Eina_List* ewk_context_menu_item_list_get(const Ewk_Context_Menu* menu)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(menu, 0);
-
- return menu->items;
-}
-
-Ewk_Context_Menu_Item* ewk_context_menu_item_new(Ewk_Context_Menu_Item_Type type, Ewk_Context_Menu_Action action, Ewk_Context_Menu* parentMenu,
- Ewk_Context_Menu* submenu, const char* title, Eina_Bool checked, Eina_Bool enabled)
-{
- Ewk_Context_Menu_Item* item = new Ewk_Context_Menu_Item;
- item->type = type;
- item->action = action;
- item->title = eina_stringshare_add(title);
- item->parentMenu = parentMenu;
- item->submenu = submenu;
- item->checked = checked;
- item->enabled = enabled;
-
- return item;
-}
-
-Eina_Bool ewk_context_menu_item_select(Ewk_Context_Menu* menu, Ewk_Context_Menu_Item* item)
-{
-#if ENABLE(CONTEXT_MENUS)
- EINA_SAFETY_ON_NULL_RETURN_VAL(menu, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(item, false);
- WebCore::ContextMenuAction action = static_cast<WebCore::ContextMenuAction>(item->action);
- WebCore::ContextMenuItemType type = static_cast<WebCore::ContextMenuItemType>(item->type);
-
- // Don't care about title and submenu as they're not used after this point.
- WebCore::ContextMenuItem core(type, action, WTF::String());
- menu->controller->contextMenuItemSelected(&core);
- return true;
-#else
- UNUSED_PARAM(menu);
- UNUSED_PARAM(item);
- return false;
-#endif
-}
-
-void ewk_context_menu_item_free(Ewk_Context_Menu_Item* item)
-{
- EINA_SAFETY_ON_NULL_RETURN(item);
-
- eina_stringshare_del(item->title);
- delete item;
-}
-
-Ewk_Context_Menu_Item_Type ewk_context_menu_item_type_get(const Ewk_Context_Menu_Item* item)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(item, EWK_ACTION_TYPE);
- return item->type;
-}
-
-Eina_Bool ewk_context_menu_item_type_set(Ewk_Context_Menu_Item* item, Ewk_Context_Menu_Item_Type type)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(item, false);
- item->type = type;
- return true;
-}
-
-Ewk_Context_Menu_Action ewk_context_menu_item_action_get(const Ewk_Context_Menu_Item* item)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(item, EWK_CONTEXT_MENU_ITEM_TAG_NO_ACTION);
- return item->action;
-}
-
-Eina_Bool ewk_context_menu_item_action_set(Ewk_Context_Menu_Item* item, Ewk_Context_Menu_Action action)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(item, false);
- item->action = action;
- return true;
-}
-
-const char* ewk_context_menu_item_title_get(const Ewk_Context_Menu_Item* item)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(item, 0);
- return item->title;
-}
-
-const char* ewk_context_menu_item_title_set(Ewk_Context_Menu_Item* item, const char* title)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(item, 0);
- eina_stringshare_replace(&item->title, title);
- return item->title;
-}
-
-Eina_Bool ewk_context_menu_item_checked_get(const Ewk_Context_Menu_Item* item)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(item, false);
- return item->checked;
-}
-
-Eina_Bool ewk_context_menu_item_checked_set(Ewk_Context_Menu_Item* item, Eina_Bool checked)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(item, false);
- item->checked = checked;
- return true;
-}
-
-Eina_Bool ewk_context_menu_item_enabled_get(const Ewk_Context_Menu_Item* item)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(item, false);
- return item->enabled;
-}
-
-Eina_Bool ewk_context_menu_item_enabled_set(Ewk_Context_Menu_Item* item, Eina_Bool enabled)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(item, false);
- item->enabled = enabled;
- return true;
-}
-
-Ewk_Context_Menu* ewk_context_menu_item_parent_get(const Ewk_Context_Menu_Item* item)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(item, 0);
-
- return item->parentMenu;
-}
-
-/* internal methods ****************************************************/
-
-#if ENABLE(CONTEXT_MENUS)
-/**
- * @internal
- *
- * Creates an empty context menu on view.
- *
- * @param view the view object
- * @param controller the WebCore's context menu controller
- * @return newly allocated the context menu on success or @c 0 on errors
- *
- * @note emits a signal "contextmenu,new"
- */
-Ewk_Context_Menu* ewk_context_menu_new(Evas_Object* view, WebCore::ContextMenuController* controller, WebCore::ContextMenu* coreMenu)
-{
- Ewk_Context_Menu* menu;
- EINA_SAFETY_ON_NULL_RETURN_VAL(view, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(controller, 0);
-
- menu = new Ewk_Context_Menu;
-
- menu->__ref = 1;
- menu->view = view;
- menu->controller = controller;
- menu->items = 0;
- evas_object_smart_callback_call(menu->view, "contextmenu,new", menu);
-
- const Vector<WebCore::ContextMenuItem>& itemsList = coreMenu->items();
- for (Vector<WebCore::ContextMenuItem>::const_iterator iter = itemsList.begin(); iter != itemsList.end(); ++iter)
- ewk_context_menu_item_append(menu, *iter);
-
- return menu;
-}
-
-/**
- * @internal
- *
- * Frees the context menu.
- *
- * @param menu the view object
- * @return @c true on success, or @c false on failure
- *
- * @note emits a signal "contextmenu,free"
- *
- * @see ewk_context_menu_unref
- * @see ewk_context_menu_destroy
- */
-bool ewk_context_menu_free(Ewk_Context_Menu* menu)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(menu, false);
- evas_object_smart_callback_call(menu->view, "contextmenu,free", menu);
- ewk_context_menu_unref(menu);
- return true;
-}
-
-/**
- * @internal
- *
- * Appends the WebCore's item to the context menu object.
- *
- * @param menu the context menu object
- * @param core the WebCore's context menu item that will be added to the context menu
- * @note emits a signal "contextmenu,item,appended"
- *
- * @see ewk_context_menu_item_new
- */
-void ewk_context_menu_item_append(Ewk_Context_Menu* menu, const WebCore::ContextMenuItem& core)
-{
- 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_Item* menu_item = ewk_context_menu_item_new(type, action, menu, 0, core.title().utf8().data(), core.checked(), core.enabled());
- EINA_SAFETY_ON_NULL_RETURN(menu_item);
-
- menu->items = eina_list_append(menu->items, menu_item);
- evas_object_smart_callback_call(menu->view, "contextmenu,item,appended", menu);
-}
-
-/**
- * @internal
- *
- * Emits a signal "contextmenu,show"
- *
- * @param menu the context menu object
- */
-void ewk_context_menu_show(Ewk_Context_Menu* menu)
-{
- EINA_SAFETY_ON_NULL_RETURN(menu);
-
- evas_object_smart_callback_call(menu->view, "contextmenu,show", menu);
-}
-
-#endif
diff --git a/Source/WebKit/efl/ewk/ewk_contextmenu.h b/Source/WebKit/efl/ewk/ewk_contextmenu.h
deleted file mode 100644
index f1de10764..000000000
--- a/Source/WebKit/efl/ewk/ewk_contextmenu.h
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- Copyright (C) 2010 ProFUSION embedded systems
- Copyright (C) 2010 Samsung Electronics
-
- 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.
-*/
-
-/**
- * @file ewk_contextmenu.h
- * @brief Describes the context menu API.
- *
- * The following signals (see evas_object_smart_callback_add()) are emitted:
- *
- * - "contextmenu,customize", Eina_List *: customize context menu is taken
- * and it gives a list with items of context menu as an argument.
- * - "contextmenu,free", Ewk_Context_Menu *: a context menu is freed.
- * - "contextmenu,item,appended", Ewk_Context_Menu *: a new item was added to
- * the context menu.
- * - "contextmenu,new", Ewk_Context_Menu *: a new context menu was created
- * and it gives the context menu as an argument.
- * - "contextmenu,show", Ewk_Context_Menu *: a context menu is shown.
- */
-
-#ifndef ewk_contextmenu_h
-#define ewk_contextmenu_h
-
-#include <Eina.h>
-#include <Evas.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \enum _Ewk_Context_Menu_Action
- * @brief Provides the actions of items for the context menu.
- * @info Keep this in sync with ContextMenuItem.h
- */
-enum _Ewk_Context_Menu_Action {
- EWK_CONTEXT_MENU_ITEM_TAG_NO_ACTION = 0, // this item is not actually in web_uidelegate.h
- EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK_IN_NEW_WINDOW = 1,
- EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_LINK_TO_DISK,
- EWK_CONTEXT_MENU_ITEM_TAG_COPY_LINK_TO_CLIPBOARD,
- EWK_CONTEXT_MENU_ITEM_TAG_OPEN_IMAGE_IN_NEW_WINDOW,
- EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_IMAGE_TO_DISK,
- EWK_CONTEXT_MENU_ITEM_TAG_COPY_IMAGE_TO_CLIPBOARD,
- EWK_CONTEXT_MENU_ITEM_TAG_COPY_IMAGE_URL_TO_CLIPBOARD,
- EWK_CONTEXT_MENU_ITEM_TAG_OPEN_FRAME_IN_NEW_WINDOW,
- EWK_CONTEXT_MENU_ITEM_TAG_COPY,
- EWK_CONTEXT_MENU_ITEM_TAG_GO_BACK,
- EWK_CONTEXT_MENU_ITEM_TAG_GO_FORWARD,
- EWK_CONTEXT_MENU_ITEM_TAG_STOP,
- EWK_CONTEXT_MENU_ITEM_TAG_RELOAD,
- EWK_CONTEXT_MENU_ITEM_TAG_CUT,
- EWK_CONTEXT_MENU_ITEM_TAG_PASTE,
- EWK_CONTEXT_MENU_ITEM_TAG_SELECT_ALL,
- EWK_CONTEXT_MENU_ITEM_TAG_SPELLING_GUESS,
- EWK_CONTEXT_MENU_ITEM_TAG_NO_GUESSES_FOUND,
- EWK_CONTEXT_MENU_ITEM_TAG_IGNORE_SPELLING,
- EWK_CONTEXT_MENU_ITEM_TAG_LEARN_SPELLING,
- EWK_CONTEXT_MENU_ITEM_TAG_OTHER,
- EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_IN_SPOTLIGHT,
- EWK_CONTEXT_MENU_ITEM_TAG_SEARCH_WEB,
- EWK_CONTEXT_MENU_ITEM_TAG_LOOK_UP_IN_DICTIONARY,
- EWK_CONTEXT_MENU_ITEM_TAG_OPEN_WITH_DEFAULT_APPLICATION,
- EWK_CONTEXT_MENU_ITEM_PDFACTUAL_SIZE,
- EWK_CONTEXT_MENU_ITEM_PDFZOOM_IN,
- EWK_CONTEXT_MENU_ITEM_PDFZOOM_OUT,
- EWK_CONTEXT_MENU_ITEM_PDFAUTO_SIZE,
- EWK_CONTEXT_MENU_ITEM_PDFSINGLE_PAGE,
- EWK_CONTEXT_MENU_ITEM_PDFFACING_PAGES,
- EWK_CONTEXT_MENU_ITEM_PDFCONTINUOUS,
- EWK_CONTEXT_MENU_ITEM_PDFNEXT_PAGE,
- EWK_CONTEXT_MENU_ITEM_PDFPREVIOUS_PAGE,
- EWK_CONTEXT_MENU_ITEM_TAG_OPEN_LINK = 2000,
- EWK_CONTEXT_MENU_ITEM_TAG_IGNORE_GRAMMAR,
- EWK_CONTEXT_MENU_ITEM_TAG_SPELLING_MENU, /**< spelling or spelling/grammar sub-menu */
- EWK_CONTEXT_MENU_ITEM_TAG_SHOW_SPELLING_PANEL,
- EWK_CONTEXT_MENU_ITEM_TAG_CHECK_SPELLING,
- EWK_CONTEXT_MENU_ITEM_TAG_CHECK_SPELLING_WHILE_TYPING,
- EWK_CONTEXT_MENU_ITEM_TAG_CHECK_GRAMMAR_WITH_SPELLING,
- EWK_CONTEXT_MENU_ITEM_TAG_FONT_MENU, /**< font sub-menu */
- EWK_CONTEXT_MENU_ITEM_TAG_SHOW_FONTS,
- EWK_CONTEXT_MENU_ITEM_TAG_BOLD,
- EWK_CONTEXT_MENU_ITEM_TAG_ITALIC,
- EWK_CONTEXT_MENU_ITEM_TAG_UNDERLINE,
- EWK_CONTEXT_MENU_ITEM_TAG_OUTLINE,
- EWK_CONTEXT_MENU_ITEM_TAG_STYLES,
- EWK_CONTEXT_MENU_ITEM_TAG_SHOW_COLORS,
- EWK_CONTEXT_MENU_ITEM_TAG_SPEECH_MENU, /**< speech sub-menu */
- EWK_CONTEXT_MENU_ITEM_TAG_START_SPEAKING,
- EWK_CONTEXT_MENU_ITEM_TAG_STOP_SPEAKING,
- EWK_CONTEXT_MENU_ITEM_TAG_WRITING_DIRECTION_MENU, /**< writing direction sub-menu */
- EWK_CONTEXT_MENU_ITEM_TAG_DEFAULT_DIRECTION,
- EWK_CONTEXT_MENU_ITEM_TAG_LEFT_TO_RIGHT,
- EWK_CONTEXT_MENU_ITEM_TAG_RIGHT_TO_LEFT,
- EWK_CONTEXT_MENU_ITEM_TAG_PDFSINGLE_PAGE_SCROLLING,
- EWK_CONTEXT_MENU_ITEM_TAG_PDFFACING_PAGES_SCROLLING,
- EWK_CONTEXT_MENU_ITEM_TAG_INSPECT_ELEMENT,
- EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_MENU, /**< text direction sub-menu */
- EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_DEFAULT,
- EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_LEFT_TO_RIGHT,
- EWK_CONTEXT_MENU_ITEM_TAG_TEXT_DIRECTION_RIGHT_TO_LEFT,
- EWK_CONTEXT_MENU_ITEM_OPEN_MEDIA_IN_NEW_WINDOW,
- EWK_CONTEXT_MENU_ITEM_TAG_DOWNLOAD_MEDIA_TO_DISK,
- EWK_CONTEXT_MENU_ITEM_TAG_COPY_MEDIA_LINK_TO_CLIPBOARD,
- EWK_CONTEXT_MENU_ITEM_TAG_TOGGLE_MEDIA_CONTROLS,
- EWK_CONTEXT_MENU_ITEM_TAG_TOGGLE_MEDIA_LOOP,
- EWK_CONTEXT_MENU_ITEM_TAG_ENTER_VIDEO_FULLSCREEN,
- EWK_CONTEXT_MENU_ITEM_TAG_MEDIA_PLAY_PAUSE,
- EWK_CONTEXT_MENU_ITEM_TAG_MEDIA_MUTE,
- EWK_CONTEXT_MENU_ITEM_BASE_CUSTOM_TAG = 5000,
- EWK_CONTEXT_MENU_ITEM_CUSTOM_TAG_NO_ACTION = 5998,
- EWK_CONTEXT_MENU_ITEM_LAST_CUSTOM_TAG = 5999,
- EWK_CONTEXT_MENU_ITEM_BASE_APPLICATION_TAG = 10000
-};
-/** Creates a type name for _Ewk_Context_Menu_Action */
-typedef enum _Ewk_Context_Menu_Action Ewk_Context_Menu_Action;
-
-/**
- * \enum _Ewk_Context_Menu_Item_Type
- * @brief Defines the types of the items for the context menu.
- * @info Keep this in sync with ContextMenuItem.h
- */
-enum _Ewk_Context_Menu_Item_Type {
- EWK_ACTION_TYPE,
- EWK_CHECKABLE_ACTION_TYPE,
- EWK_SEPARATOR_TYPE,
- EWK_SUBMENU_TYPE
-};
-/** Creates a type name for _Ewk_Context_Menu_Item_Type */
-typedef enum _Ewk_Context_Menu_Item_Type Ewk_Context_Menu_Item_Type;
-
-/** Creates a type name for _Ewk_Context_Menu */
-typedef struct _Ewk_Context_Menu Ewk_Context_Menu;
-
-/** Creates a type name for _Ewk_Context_Menu_Item */
-typedef struct _Ewk_Context_Menu_Item Ewk_Context_Menu_Item;
-
-
-
-/************************** Exported functions ***********************/
-
-/**
- * Increases the reference count of the given object.
- *
- * @param menu the context menu object to increase the reference count
- */
-EAPI void ewk_context_menu_ref(Ewk_Context_Menu *menu);
-
-/**
- * Decreases the reference count of the given object, possibly freeing it.
- *
- * When the reference count reaches 0, the menu with all its items are freed.
- *
- * @param menu the context menu object to decrease the reference count
- */
-EAPI void ewk_context_menu_unref(Ewk_Context_Menu *menu);
-
-/**
- * Destroys the context menu object.
- *
- * @param menu the context menu object to destroy
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
- *
- * @see ewk_context_menu_item_free
- */
-EAPI Eina_Bool ewk_context_menu_destroy(Ewk_Context_Menu *menu);
-
-/**
- * Gets the list of items.
- *
- * @param o the context menu object to get list of the items
- * @return the list of the items on success or @c NULL on failure
- */
-EAPI const Eina_List *ewk_context_menu_item_list_get(const Ewk_Context_Menu *o);
-
-/**
- * Creates a new item of the context menu.
- *
- * @param type specifies a type of the item
- * @param action specifies a action of the item
- * @param parent_menu specifies a parent menu of the item
- * @param submenu specifies a submenu of the item
- * @param title specifies a title of the item
- * @param checked @c EINA_TRUE if the item should be toggled or @c EINA_FALSE if not
- * @param enabled @c EINA_TRUE to enable the item or @c EINA_FALSE to disable
- * @return the pointer to the new item on success or @c NULL on failure
- *
- * @note The return value @b should @b be freed after use.
- */
-EAPI Ewk_Context_Menu_Item *ewk_context_menu_item_new(Ewk_Context_Menu_Item_Type type, Ewk_Context_Menu_Action action, Ewk_Context_Menu *parent_menu, Ewk_Context_Menu *submenu, const char *title, Eina_Bool checked, Eina_Bool enabled);
-
-/**
- * Destroys the item of the context menu object.
- *
- * @param item the item to destroy
- *
- * @see ewk_context_menu_destroy
- * @see ewk_context_menu_unref
- */
-EAPI void ewk_context_menu_item_free(Ewk_Context_Menu_Item *item);
-
-/**
- * Selects the item from the context menu object.
- *
- * @param menu the context menu object
- * @param item the item is selected
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_context_menu_item_select(Ewk_Context_Menu *menu, Ewk_Context_Menu_Item *item);
-
-/**
- * Gets type of the item.
- *
- * @param o the item to get the type
- * @return type of the item on success or @c EWK_ACTION_TYPE on failure
- *
- * @see ewk_context_menu_item_type_set
- */
-EAPI Ewk_Context_Menu_Item_Type ewk_context_menu_item_type_get(const Ewk_Context_Menu_Item *o);
-
-/**
- * Sets the type of item.
- *
- * @param o the item to set the type
- * @param type a new type for the item object
- * @return @c EINA_TRUE on success, or @c EINA_FALSE on failure
- *
- * @see ewk_context_menu_item_type_get
- */
-EAPI Eina_Bool ewk_context_menu_item_type_set(Ewk_Context_Menu_Item *o, Ewk_Context_Menu_Item_Type type);
-
-/**
- * Gets an action of the item.
- *
- * @param o the item to get the action
- * @return an action of the item on success or @c EWK_CONTEXT_MENU_ITEM_TAG_NO_ACTION on failure
- *
- * @see ewk_context_menu_item_action_set
- */
-EAPI Ewk_Context_Menu_Action ewk_context_menu_item_action_get(const Ewk_Context_Menu_Item *o);
-
-/**
- * Sets an action of the item.
- *
- * @param o the item to set the action
- * @param action a new action for the item object
- * @return @c EINA_TRUE on success, or @c EINA_FALSE on failure
- *
- * @see ewk_context_menu_item_action_get
- */
-EAPI Eina_Bool ewk_context_menu_item_action_set(Ewk_Context_Menu_Item *o, Ewk_Context_Menu_Action action);
-
-/**
- * Gets a title of the item.
- *
- * @param o the item to get the title
- * @return a title of the item on success, or @c NULL on failure
- *
- * @see ewk_context_menu_item_title_set
- */
-EAPI const char *ewk_context_menu_item_title_get(const Ewk_Context_Menu_Item *o);
-
-/**
- * Sets a title of the item.
- *
- * @param o the item to set the title
- * @param title a new title for the item object
- * @return a new title of the item on success or @c NULL on failure
- *
- * @see ewk_context_menu_item_title_get
- */
-EAPI const char *ewk_context_menu_item_title_set(Ewk_Context_Menu_Item *o, const char *title);
-
-/**
- * Queries if the item is toggled.
- *
- * @param o the item to query if the item is toggled
- * @return @c EINA_TRUE if the item is toggled or @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_context_menu_item_checked_get(const Ewk_Context_Menu_Item *o);
-
-/**
- * Sets if the item should be toggled.
- *
- * @param o the item to be toggled
- * @param checked @c EINA_TRUE if the item should be toggled or @c EINA_FALSE if not
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_context_menu_item_checked_set(Ewk_Context_Menu_Item *o, Eina_Bool checked);
-
-/**
- * Gets if the item is enabled.
- *
- * @param o the item to get enabled state
- * @return @c EINA_TRUE if it's enabled, @c EINA_FALSE if not or on failure
- *
- * @see ewk_context_menu_item_enabled_set
- */
-EAPI Eina_Bool ewk_context_menu_item_enabled_get(const Ewk_Context_Menu_Item *o);
-
-/**
- * Enables/disables the item.
- *
- * @param o the item to enable/disable
- * @param enabled @c EINA_TRUE to enable the item or @c EINA_FALSE to disable
- * @return @c EINA_TRUE on success, or @c EINA_FALSE on failure
- *
- * @see ewk_context_menu_item_enabled_get
- */
-EAPI Eina_Bool ewk_context_menu_item_enabled_set(Ewk_Context_Menu_Item *o, Eina_Bool enabled);
-
-/**
- * Gets the parent menu for context menu item.
- *
- * @param o the context menu item object
- * @return a context menu object on success or @c NULL on failure
- */
-EAPI Ewk_Context_Menu *ewk_context_menu_item_parent_get(const Ewk_Context_Menu_Item *o);
-
-#ifdef __cplusplus
-}
-#endif
-#endif // ewk_contextmenu_h
diff --git a/Source/WebKit/efl/ewk/ewk_contextmenu_private.h b/Source/WebKit/efl/ewk/ewk_contextmenu_private.h
deleted file mode 100644
index 95dcdaa37..000000000
--- a/Source/WebKit/efl/ewk/ewk_contextmenu_private.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2012 Samsung Electronics
-
- 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 ewk_contextmenu_private_h
-#define ewk_contextmenu_private_h
-
-#include "ewk_contextmenu.h"
-
-// forward declarations
-namespace WebCore {
-struct ContextMenu;
-struct ContextMenuItem;
-}
-
-#if ENABLE(CONTEXT_MENUS)
-Ewk_Context_Menu* ewk_context_menu_new(Evas_Object* view, WebCore::ContextMenuController* controller, WebCore::ContextMenu* coreMenu);
-bool ewk_context_menu_free(Ewk_Context_Menu* menu);
-void ewk_context_menu_item_append(Ewk_Context_Menu* menu, const WebCore::ContextMenuItem& core);
-void ewk_context_menu_show(Ewk_Context_Menu* menu);
-#endif
-
-#endif // ewk_context_menu_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_cookies.cpp b/Source/WebKit/efl/ewk/ewk_cookies.cpp
deleted file mode 100644
index bbee8e49d..000000000
--- a/Source/WebKit/efl/ewk/ewk_cookies.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- Copyright (C) 2010 ProFUSION embedded systems
- Copyright (C) 2010 Samsung Electronics
-
- 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 "ewk_cookies.h"
-
-#include "CookieJarSoup.h"
-#include "ResourceHandle.h"
-#include <Eina.h>
-#include <eina_safety_checks.h>
-#include <glib.h>
-#include <libsoup/soup.h>
-#include <wtf/text/CString.h>
-
-Eina_Bool ewk_cookies_file_set(const char* filename)
-{
- SoupCookieJar* cookieJar = 0;
- if (filename)
- cookieJar = soup_cookie_jar_text_new(filename, FALSE);
- else
- cookieJar = soup_cookie_jar_new();
-
- if (!cookieJar)
- return false;
-
- soup_cookie_jar_set_accept_policy(cookieJar, SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY);
-
- SoupSession* session = WebCore::ResourceHandle::defaultSession();
- SoupSessionFeature* oldjar = soup_session_get_feature(session, SOUP_TYPE_COOKIE_JAR);
- if (oldjar)
- soup_session_remove_feature(session, oldjar);
-
- WebCore::setSoupCookieJar(cookieJar);
- soup_session_add_feature(session, SOUP_SESSION_FEATURE(cookieJar));
-
- return true;
-}
-
-void ewk_cookies_clear(void)
-{
- GSList* list;
- GSList* p;
- SoupCookieJar* cookieJar = WebCore::soupCookieJar();
-
- list = soup_cookie_jar_all_cookies(cookieJar);
- for (p = list; p; p = p->next)
- soup_cookie_jar_delete_cookie(cookieJar, (SoupCookie*)p->data);
-
- soup_cookies_free(list);
-}
-
-Eina_List* ewk_cookies_get_all(void)
-{
- Eina_List* result = 0;
- GSList* list;
- GSList* p;
- SoupCookieJar* cookieJar = WebCore::soupCookieJar();
-
- list = soup_cookie_jar_all_cookies(cookieJar);
- for (p = list; p; p = p->next) {
- SoupCookie* cookie = static_cast<SoupCookie*>(p->data);
- Ewk_Cookie* ewkCookie = new Ewk_Cookie;
- ewkCookie->name = eina_stringshare_add(cookie->name);
- ewkCookie->value = eina_stringshare_add(cookie->value);
- ewkCookie->domain = eina_stringshare_add(cookie->domain);
- ewkCookie->path = eina_stringshare_add(cookie->path);
- ewkCookie->expires = soup_date_to_time_t(cookie->expires);
- ewkCookie->secure = static_cast<Eina_Bool>(cookie->secure);
- ewkCookie->http_only = static_cast<Eina_Bool>(cookie->http_only);
- result = eina_list_append(result, ewkCookie);
- }
-
- soup_cookies_free(list);
-
- return result;
-}
-
-void ewk_cookies_cookie_del(Ewk_Cookie* cookie)
-{
- EINA_SAFETY_ON_NULL_RETURN(cookie);
- GSList* list;
- GSList* p;
- SoupCookieJar* cookieJar = WebCore::soupCookieJar();
- SoupCookie* cookie1 = soup_cookie_new(
- cookie->name, cookie->value, cookie->domain, cookie->path, -1);
-
- list = soup_cookie_jar_all_cookies(cookieJar);
- for (p = list; p; p = p->next) {
- SoupCookie* cookie2 = static_cast<SoupCookie*>(p->data);
- if (soup_cookie_equal(cookie1, cookie2)) {
- soup_cookie_jar_delete_cookie(cookieJar, cookie2);
- break;
- }
- }
-
- soup_cookie_free(cookie1);
- soup_cookies_free(list);
-}
-
-void ewk_cookies_cookie_free(Ewk_Cookie* cookie)
-{
- EINA_SAFETY_ON_NULL_RETURN(cookie);
- eina_stringshare_del(cookie->name);
- eina_stringshare_del(cookie->value);
- eina_stringshare_del(cookie->domain);
- eina_stringshare_del(cookie->path);
- delete cookie;
-}
-
-void ewk_cookies_policy_set(Ewk_Cookie_Policy cookiePolicy)
-{
- SoupCookieJar* cookieJar = WebCore::soupCookieJar();
- SoupCookieJarAcceptPolicy policy;
-
- policy = SOUP_COOKIE_JAR_ACCEPT_ALWAYS;
- switch (cookiePolicy) {
- case EWK_COOKIE_JAR_ACCEPT_NEVER:
- policy = SOUP_COOKIE_JAR_ACCEPT_NEVER;
- break;
- case EWK_COOKIE_JAR_ACCEPT_ALWAYS:
- policy = SOUP_COOKIE_JAR_ACCEPT_ALWAYS;
- break;
- case EWK_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY:
- policy = SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY;
- break;
- }
-
- soup_cookie_jar_set_accept_policy(cookieJar, policy);
-}
-
-Ewk_Cookie_Policy ewk_cookies_policy_get(void)
-{
- Ewk_Cookie_Policy ewkPolicy = EWK_COOKIE_JAR_ACCEPT_ALWAYS;
- SoupCookieJar* cookieJar = WebCore::soupCookieJar();
- SoupCookieJarAcceptPolicy policy;
-
- policy = soup_cookie_jar_get_accept_policy(cookieJar);
- switch (policy) {
- case SOUP_COOKIE_JAR_ACCEPT_NEVER:
- ewkPolicy = EWK_COOKIE_JAR_ACCEPT_NEVER;
- break;
- case SOUP_COOKIE_JAR_ACCEPT_ALWAYS:
- ewkPolicy = EWK_COOKIE_JAR_ACCEPT_ALWAYS;
- break;
- case SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY:
- ewkPolicy = EWK_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY;
- break;
- }
-
- return ewkPolicy;
-}
diff --git a/Source/WebKit/efl/ewk/ewk_cookies.h b/Source/WebKit/efl/ewk/ewk_cookies.h
deleted file mode 100644
index dba0ebe13..000000000
--- a/Source/WebKit/efl/ewk/ewk_cookies.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- Copyright (C) 2010 ProFUSION embedded systems
- Copyright (C) 2010 Samsung Electronics
-
- 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.
-*/
-
-/**
- * @file ewk_cookies.h
- * @brief The Ewk cookies API.
- *
- * @note If the libsoup network backend is being used the functions here will
- * only work with the @b default SoupSession, which can be retrieved with
- * ewk_network_defaul_soup_session_get(). If a different SoupSession is used
- * and associated with a view with ewk_view_soup_session_set(), all cookie
- * management will have to be done manually.
- */
-
-#ifndef ewk_cookies_h
-#define ewk_cookies_h
-
-#include <Eina.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \struct _Ewk_Cookie
- *
- * @brief Describes properties of an HTTP cookie.
- *
- * All the strings are guaranteed to be stringshared, so use eina_stringshare_ref()
- * instead of eina_stringshare_add() or strdup().
- */
-struct _Ewk_Cookie {
- /// the cookie name
- const char *name;
- /// the cookie value
- const char *value;
- /// the "domain" attribute, or else the hostname that the cookie came from
- const char *domain;
- /// the "path" attribute, or @c NULL
- const char *path;
- /// the cookie expiration time, or @c 0 for a session cookie
- time_t expires;
- /// @c EINA_TRUE if the cookie should only be tranferred over SSL
- Eina_Bool secure;
- /// @c EINA_TRUE if the cookie should not be exposed to scripts
- Eina_Bool http_only;
-};
-/// Creates a type name for the _Ewk_Cookie.
-typedef struct _Ewk_Cookie Ewk_Cookie;
-
-/**
- * \enum _Ewk_Cookie_Policy
- *
- * @brief Contains a policy for the cookies.
- */
-enum _Ewk_Cookie_Policy {
- /// Rejects all cookies.
- EWK_COOKIE_JAR_ACCEPT_NEVER,
- /// Accepts every cookie sent from any page.
- EWK_COOKIE_JAR_ACCEPT_ALWAYS,
- /// Accepts cookies only from the main page.
- EWK_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY
-};
-/// Creates a type name for the _Ewk_Cookie_Policy.
-typedef enum _Ewk_Cookie_Policy Ewk_Cookie_Policy;
-
-/************************** Exported functions ***********************/
-
-/**
- * Sets the path where the cookies are going to be stored.
- *
- * @param filename path to the cookies.txt file, use @c NULL for keep
- * cookies just in memory.
- *
- * @return @c EINA_FALSE if it wasn't possible to create the cookie jar,
- * @c EINA_TRUE otherwise.
- */
-EAPI Eina_Bool ewk_cookies_file_set(const char *filename);
-
-/**
- * Clears all the cookies from the cookie jar.
- */
-EAPI void ewk_cookies_clear(void);
-
-/**
- * Returns a list of cookies in the cookie jar.
- *
- * @return an @c Eina_List with all the cookies in the cookie jar
- */
-EAPI Eina_List *ewk_cookies_get_all(void);
-
-/**
- * Deletes a cookie from the cookie jar.
- *
- * Note that the fields name, value, domain and path are used to match this
- * cookie in the cookie jar.
- *
- * @param cookie an @c Ewk_Cookie that has the info relative to that cookie
- */
-EAPI void ewk_cookies_cookie_del(Ewk_Cookie *cookie);
-
-/**
- * Frees the memory used by a cookie.
- *
- * @param cookie the Ewk_Cookie struct that will be freed
- */
-EAPI void ewk_cookies_cookie_free(Ewk_Cookie *cookie);
-
-/**
- * Sets accept policy for the cookies.
- *
- * @param p the acceptance policy
- *
- * @see Ewk_Cookie_Policy
- */
-EAPI void ewk_cookies_policy_set(Ewk_Cookie_Policy p);
-
-/**
- * Gets the acceptance policy used in the current cookie jar.
- *
- * @return the current acceptance policy
- * @see Ewk_Cookie_Policy
- */
-EAPI Ewk_Cookie_Policy ewk_cookies_policy_get(void);
-
-#ifdef __cplusplus
-}
-#endif
-#endif // ewk_cookies_h
diff --git a/Source/WebKit/efl/ewk/ewk_custom_handler.cpp b/Source/WebKit/efl/ewk/ewk_custom_handler.cpp
deleted file mode 100644
index 3c40716bb..000000000
--- a/Source/WebKit/efl/ewk/ewk_custom_handler.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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.1 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 "ewk_custom_handler_private.h"
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
-/**
- * @internal
- * Register a scheme handler.
- *
- * @param data Data of the handler including the protocol and the handler url.
- *
- * Emits signal: "protocolhandler,registration,requested" on View with a pointer to Ewk_Custom_Handler_Data.
- */
-bool ewk_custom_handler_register_protocol_handler(Ewk_Custom_Handler_Data* data)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(data->ewkView, false);
- evas_object_smart_callback_call(data->ewkView, "protocolhandler,registration,requested", data);
- return true;
-}
-
-#if ENABLE(CUSTOM_SCHEME_HANDLER)
-/**
- * @internal
- * Query whether the handler is registered or not.
- *
- * @param data Data of the handler including the protocol and the handler url.
- *
- * Emits signal: "protocolhandler,isregistered" on View with a pointer to Ewk_Custom_Handler_Data.
- */
-Ewk_Custom_Handlers_State ewk_custom_handler_is_protocol_handler_registered(Ewk_Custom_Handler_Data* data)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(data->ewkView, EWK_CUSTOM_HANDLERS_DECLINED);
- evas_object_smart_callback_call(data->ewkView, "protocolhandler,isregistered", data);
- Ewk_Custom_Handlers_State result = data->result;
- return result;
-}
-
-/**
- * @internal
- * Remove the registered scheme handler.
- *
- * @param data Data of the handler including the protocol and the handler url.
- *
- * Emits signal: "protocolhandler,unregistration,requested" on View with a pointer to Ewk_Custom_Handler_Data.
- */
-bool ewk_custom_handler_unregister_protocol_handler(Ewk_Custom_Handler_Data* data)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(data->ewkView, false);
- evas_object_smart_callback_call(data->ewkView, "protocolhandler,unregistration,requested", data);
- return true;
-}
-
-#endif // ENABLE(CUSTOM_SCHEME_HANDLER)
-#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
diff --git a/Source/WebKit/efl/ewk/ewk_custom_handler_private.h b/Source/WebKit/efl/ewk/ewk_custom_handler_private.h
deleted file mode 100644
index 73f97e0f6..000000000
--- a/Source/WebKit/efl/ewk/ewk_custom_handler_private.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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 ewk_custom_handler_private_h
-#define ewk_custom_handler_private_h
-
-#include "ewk_view.h"
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
-bool ewk_custom_handler_register_protocol_handler(Ewk_Custom_Handler_Data* data);
-
-#if ENABLE(CUSTOM_SCHEME_HANDLER)
-Ewk_Custom_Handlers_State ewk_custom_handler_is_protocol_handler_registered(Ewk_Custom_Handler_Data* data);
-bool ewk_custom_handler_unregister_protocol_handler(Ewk_Custom_Handler_Data* data);
-
-#endif // ENABLE(CUSTOM_SCHEME_HANDLER)
-#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
-#endif // ewk_custom_handler_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_file_chooser.cpp b/Source/WebKit/efl/ewk/ewk_file_chooser.cpp
deleted file mode 100644
index 476d2a17f..000000000
--- a/Source/WebKit/efl/ewk/ewk_file_chooser.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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 "ewk_file_chooser.h"
-
-#include "FileChooser.h"
-#include "ewk_file_chooser_private.h"
-#include <wtf/text/CString.h>
-
-struct _Ewk_File_Chooser {
- RefPtr<WebCore::FileChooser> fileChooser;
-};
-
-Eina_Bool ewk_file_chooser_allows_multiple_files_get(const Ewk_File_Chooser* chooser)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(chooser, false);
- return chooser->fileChooser->settings().allowsMultipleFiles;
-}
-
-Eina_Bool ewk_file_chooser_allows_directory_upload_get(const Ewk_File_Chooser* chooser)
-{
-#if ENABLE(DIRECTORY_UPLOAD)
- EINA_SAFETY_ON_NULL_RETURN_VAL(chooser, false);
- return chooser->fileChooser->settings().allowsDirectoryUpload;
-#else
- UNUSED_PARAM(chooser);
- return false;
-#endif
-}
-
-Eina_List* ewk_file_chooser_accept_mimetypes_get(const Ewk_File_Chooser* chooser)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(chooser, 0);
-
- Eina_List* mimetypes = 0;
- size_t count = chooser->fileChooser->settings().acceptMIMETypes.size();
- for (size_t i = 0; i < count; ++i)
- mimetypes = eina_list_append(mimetypes, eina_stringshare_add(chooser->fileChooser->settings().acceptMIMETypes[i].utf8().data()));
-
- return mimetypes;
-}
-
-Eina_List* ewk_file_chooser_accept_file_extentions_get(const Ewk_File_Chooser* chooser)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(chooser, 0);
-
- Eina_List* fileExtentions = 0;
- size_t count = chooser->fileChooser->settings().acceptFileExtensions.size();
- for (size_t i = 0; i < count; ++i)
- fileExtentions = eina_list_append(fileExtentions, eina_stringshare_add(chooser->fileChooser->settings().acceptFileExtensions[i].utf8().data()));
-
- return fileExtentions;
-}
-
-Eina_List* ewk_file_chooser_selected_files_get(const Ewk_File_Chooser* chooser)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(chooser, 0);
-
- Eina_List* files = 0;
- size_t count = chooser->fileChooser->settings().selectedFiles.size();
- for (size_t i = 0; i < count; ++i)
- files = eina_list_append(files, eina_stringshare_add(chooser->fileChooser->settings().selectedFiles[i].utf8().data()));
-
- return files;
-}
-
-Ewk_File_Chooser_Capture_Type ewk_file_chooser_capture_get(const Ewk_File_Chooser* chooser)
-{
-#if ENABLE(MEDIA_CAPTURE)
- EINA_SAFETY_ON_NULL_RETURN_VAL(chooser, EWK_FILE_CHOOSER_CAPTURE_TYPE_INVALID);
-
- String capture = chooser->fileChooser->settings().capture;
-
- if (capture == "camera")
- return EWK_FILE_CHOOSER_CAPTURE_TYPE_CAMERA;
-
- if (capture == "camcorder")
- return EWK_FILE_CHOOSER_CAPTURE_TYPE_CAMCORDER;
-
- if (capture == "microphone")
- return EWK_FILE_CHOOSER_CAPTURE_TYPE_MICROPHONE;
-
- return EWK_FILE_CHOOSER_CAPTURE_TYPE_FILESYSTEM;
-#else
- UNUSED_PARAM(chooser);
- return EWK_FILE_CHOOSER_CAPTURE_TYPE_INVALID;
-#endif
-}
-
-Ewk_File_Chooser* ewk_file_chooser_new(WebCore::FileChooser* fileChooser)
-{
- Ewk_File_Chooser* ewkFileChooser = new Ewk_File_Chooser;
- ewkFileChooser->fileChooser = fileChooser;
- return ewkFileChooser;
-}
-
-void ewk_file_chooser_free(Ewk_File_Chooser* chooser)
-{
- chooser->fileChooser = 0;
- delete chooser;
-}
-
diff --git a/Source/WebKit/efl/ewk/ewk_file_chooser.h b/Source/WebKit/efl/ewk/ewk_file_chooser.h
deleted file mode 100644
index c4590d4dd..000000000
--- a/Source/WebKit/efl/ewk/ewk_file_chooser.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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.
-*/
-
-/**
- * @file ewk_file_chooser.h
- * @brief File Chooser API.
- *
- * File Chooser supports APIs for file selection dialog.
- * This support attributes of file chooser regarding:
- * - allowance of multiple files selection
- * - allowance of upload directory
- * - list of accepted mime types
- * - list of accepted file extensions
- * - list of initial selected file names
- * - capture attribute for HTML media capture
- */
-
-#ifndef ewk_file_chooser_h
-#define ewk_file_chooser_h
-
-#include <Eina.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct _Ewk_File_Chooser Ewk_File_Chooser;
-
-/**
- * \enum _Ewk_File_Chooser_Capture_Type
- * @brief Types of capture attribute of file chooser to support the HTML media capture.
- */
-enum _Ewk_File_Chooser_Capture_Type {
- EWK_FILE_CHOOSER_CAPTURE_TYPE_INVALID,
- EWK_FILE_CHOOSER_CAPTURE_TYPE_FILESYSTEM,
- EWK_FILE_CHOOSER_CAPTURE_TYPE_CAMERA,
- EWK_FILE_CHOOSER_CAPTURE_TYPE_CAMCORDER,
- EWK_FILE_CHOOSER_CAPTURE_TYPE_MICROPHONE
-};
-typedef enum _Ewk_File_Chooser_Capture_Type Ewk_File_Chooser_Capture_Type;
-
-/**
- * Query if multiple files are supported by file chooser.
- *
- * @param f file chooser object.
- *
- * It returns a boolean value which indicates if multiple file is supported or not.
- *
- * @return @c EINA_TRUE on support multiple files or @c EINA_FALSE otherwise.
- */
-EAPI Eina_Bool ewk_file_chooser_allows_multiple_files_get(const Ewk_File_Chooser *f);
-
-/**
- * Query if directory upload is supported by file chooser.
- *
- * @param f file chooser object.
- *
- * It returns a boolean value which indicates if directory upload is supported or not.
- *
- * @return @c EINA_TRUE on support directory upload or @c EINA_FALSE otherwise.
- */
-EAPI Eina_Bool ewk_file_chooser_allows_directory_upload_get(const Ewk_File_Chooser *f);
-
-/**
- * Returns the list of accepted mimetypes of the file chooser.
- *
- * @param f file chooser object.
- *
- * @return Eina_List of accepted mimetypes on success, or @c NULL on failure,
- * the Eina_List and its items should be freed after use. Use eina_stringshare_del()
- * to free the items.
- */
-EAPI Eina_List *ewk_file_chooser_accept_mimetypes_get(const Ewk_File_Chooser *f);
-
-/**
- * Returns the list of accepted file extensions of the file chooser.
- *
- * @param f file chooser object.
- *
- * @return @c Eina_List of accepted file extensions on success, or @c NULL on failure,
- * the Eina_List and its items should be freed after use. Use eina_stringshare_del()
- * to free the items.
- */
-EAPI Eina_List *ewk_file_chooser_accept_file_extentions_get(const Ewk_File_Chooser *f);
-
-/**
- * Returns the list of selected file names of the file chooser.
- *
- * This list indicates previously selected file names of the file chooser.
- * These can be used by initial values of the file dialog.
- *
- * @param f file chooser object.
- *
- * @return @c Eina_List of selected file names on success, or @c NULL on failure,
- * the Eina_List and its items should be freed after use. Use eina_stringshare_del()
- * to free the items.
- */
-EAPI Eina_List *ewk_file_chooser_selected_files_get(const Ewk_File_Chooser *f);
-
-/**
- * Returns the capture attribute of the file chooser to support HTML media capture.
- *
- * @see http://www.w3.org/TR/html-media-capture/ for the semantics of the capture attribute.
- *
- * @param f file chooser object.
- *
- * @return @c Ewk_File_Chooser_Capture_Type on supporting HTML media capture or
- * @c EWK_FILE_CHOOSER_CAPTURE_TYPE_INVALID on failure.
- */
-EAPI Ewk_File_Chooser_Capture_Type ewk_file_chooser_capture_get(const Ewk_File_Chooser *f);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // ewk_file_chooser_h
diff --git a/Source/WebKit/efl/ewk/ewk_file_chooser_private.h b/Source/WebKit/efl/ewk/ewk_file_chooser_private.h
deleted file mode 100644
index 519e54ae1..000000000
--- a/Source/WebKit/efl/ewk/ewk_file_chooser_private.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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 ewk_file_chooser_private_h
-#define ewk_file_chooser_private_h
-
-namespace WebCore {
-class FileChooser;
-}
-
-Ewk_File_Chooser* ewk_file_chooser_new(WebCore::FileChooser* fileChooser);
-void ewk_file_chooser_free(Ewk_File_Chooser* chooser);
-
-#endif // ewk_file_chooser_private_h
-
diff --git a/Source/WebKit/efl/ewk/ewk_frame.cpp b/Source/WebKit/efl/ewk/ewk_frame.cpp
deleted file mode 100644
index bd981aaee..000000000
--- a/Source/WebKit/efl/ewk/ewk_frame.cpp
+++ /dev/null
@@ -1,1926 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2010 Samsung Electronics
-
- 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.
-*/
-
-// Uncomment to view frame regions and debug messages
-// #define EWK_FRAME_DEBUG
-
-#include "config.h"
-#include "ewk_frame.h"
-
-#include "DocumentLoader.h"
-#include "DocumentMarkerController.h"
-#include "Editor.h"
-#include "EventHandler.h"
-#include "FocusController.h"
-#include "FrameLoadRequest.h"
-#include "FrameLoader.h"
-#include "FrameLoaderClientEfl.h"
-#include "FrameSelection.h"
-#include "FrameView.h"
-#include "HTMLCollection.h"
-#include "HTMLHeadElement.h"
-#include "HTMLImageElement.h"
-#include "HTMLNames.h"
-#include "HTMLPlugInElement.h"
-#include "HistoryItem.h"
-#include "HitTestRequest.h"
-#include "HitTestResult.h"
-#include "IntSize.h"
-#include "KURL.h"
-#include "PlatformEvent.h"
-#include "PlatformKeyboardEvent.h"
-#include "PlatformMessagePortChannel.h"
-#include "PlatformMouseEvent.h"
-#include "PlatformTouchEvent.h"
-#include "PlatformWheelEvent.h"
-#include "ProgressTracker.h"
-#include "ResourceRequest.h"
-#include "ScriptController.h"
-#include "ScriptValue.h"
-#include "SharedBuffer.h"
-#include "SubstituteData.h"
-#include "WindowsKeyboardCodes.h"
-#include "ewk_frame_private.h"
-#include "ewk_private.h"
-#include "ewk_security_origin_private.h"
-#include "ewk_touch_event_private.h"
-#include "ewk_view_private.h"
-#include <Ecore_Input.h>
-#include <Eina.h>
-#include <Evas.h>
-#include <eina_safety_checks.h>
-#include <wtf/Assertions.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefPtr.h>
-#include <wtf/Vector.h>
-#include <wtf/text/CString.h>
-
-static const char EWK_FRAME_TYPE_STR[] = "EWK_Frame";
-
-struct Ewk_Frame_Smart_Data {
- Evas_Object_Smart_Clipped_Data base;
- Evas_Object* self;
- Evas_Object* view;
-#ifdef EWK_FRAME_DEBUG
- Evas_Object* region;
-#endif
- WebCore::Frame* frame;
- Ewk_Text_With_Direction title;
- const char* uri;
- const char* name;
- bool editable : 1;
- bool hasDisplayedMixedContent : 1;
- bool hasRunMixedContent : 1;
-};
-
-struct Eina_Iterator_Ewk_Frame {
- Eina_Iterator base;
- Evas_Object* object;
- unsigned currentIndex;
-};
-
-#ifndef EWK_TYPE_CHECK
-#define EWK_FRAME_TYPE_CHECK(ewkFrame, ...) do { } while (0)
-#else
-#define EWK_FRAME_TYPE_CHECK(ewkFrame, ...) \
- do { \
- const char* _tmp_otype = evas_object_type_get(ewkFrame); \
- if (EINA_UNLIKELY(_tmp_otype != EWK_FRAME_TYPE_STR)) { \
- EINA_LOG_CRIT \
- ("%p (%s) is not of an ewk_frame!", ewkFrame, \
- _tmp_otype ? _tmp_otype : "(null)"); \
- return __VA_ARGS__; \
- } \
- } while (0)
-#endif
-
-#define EWK_FRAME_SD_GET(ewkFrame, pointer) \
- Ewk_Frame_Smart_Data* pointer = static_cast<Ewk_Frame_Smart_Data*>(evas_object_smart_data_get(ewkFrame))
-
-#define EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, pointer, ...) \
- EWK_FRAME_TYPE_CHECK(ewkFrame, __VA_ARGS__); \
- EWK_FRAME_SD_GET(ewkFrame, pointer); \
- if (!pointer) { \
- CRITICAL("no smart data for object %p (%s)", \
- ewkFrame, evas_object_type_get(ewkFrame)); \
- return __VA_ARGS__; \
- }
-
-static Evas_Smart_Class _parent_sc = EVAS_SMART_CLASS_INIT_NULL;
-
-#ifdef EWK_FRAME_DEBUG
-static inline void _ewk_frame_debug(Evas_Object* ewkFrame)
-{
- Evas_Object* clip, * parent;
- Evas_Coord x, y, width, height, contentX, contentY, contentWidth, contentHeight;
- int red, green, blue, alpha, contentRed, contentGreen, contentBlue, contentAlpha;
-
- evas_object_color_get(ewkFrame, &red, &green, &blue, &alpha);
- evas_object_geometry_get(ewkFrame, &x, &y, &width, &height);
-
- clip = evas_object_clip_get(ewkFrame);
- evas_object_color_get(clip, &contentRed, &contentGreen, &contentBlue, &contentAlpha);
- evas_object_geometry_get(clip, &contentX, &contentY, &contentWidth, &contentHeight);
-
- EINA_LOG_DBG("%p: type=%s name=%s, visible=%d, color=%02x%02x%02x%02x, %d,%d+%dx%d, clipper=%p (%d, %02x%02x%02x%02x, %d,%d+%dx%d)\n",
- ewkFrame, evas_object_type_get(ewkFrame), evas_object_name_get(ewkFrame), evas_object_visible_get(ewkFrame),
- red, green, blue, alpha, x, y, width, height,
- clip, evas_object_visible_get(clip), contentRed, contentGreen, contentBlue, contentAlpha, contentX, contentY, contentWidth, contentHeight);
- parent = evas_object_smart_parent_get(ewkFrame);
- if (!parent)
- EINA_LOG_ERR("could not get parent object.\n");
- else
- _ewk_frame_debug(parent);
-}
-#endif
-
-static WebCore::FrameLoaderClientEfl* _ewk_frame_loader_efl_get(const WebCore::Frame* frame)
-{
- return static_cast<WebCore::FrameLoaderClientEfl*>(frame->loader()->client());
-}
-
-static Eina_Bool _ewk_frame_children_iterator_next(Eina_Iterator_Ewk_Frame* iterator, Evas_Object** data)
-{
- EWK_FRAME_SD_GET_OR_RETURN(iterator->object, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
-
- WebCore::FrameTree* tree = smartData->frame->tree(); // check if it's still valid
- EINA_SAFETY_ON_NULL_RETURN_VAL(tree, false);
-
- if (iterator->currentIndex < tree->childCount()) {
- *data = EWKPrivate::kitFrame(tree->child(iterator->currentIndex++));
- return true;
- }
-
- return false;
-}
-
-static Evas_Object* _ewk_frame_children_iterator_get_container(Eina_Iterator_Ewk_Frame* iterator)
-{
- return iterator->object;
-}
-
-static void _ewk_frame_smart_add(Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET(ewkFrame, smartData);
-
- if (!smartData) {
- smartData = static_cast<Ewk_Frame_Smart_Data*>(calloc(1, sizeof(Ewk_Frame_Smart_Data)));
- if (!smartData) {
- CRITICAL("could not allocate Ewk_Frame_Smart_Data");
- return;
- }
- evas_object_smart_data_set(ewkFrame, smartData);
- }
-
- smartData->self = ewkFrame;
-
- _parent_sc.add(ewkFrame);
- evas_object_static_clip_set(smartData->base.clipper, false);
- evas_object_move(smartData->base.clipper, 0, 0);
- evas_object_resize(smartData->base.clipper, 0, 0);
-
-#ifdef EWK_FRAME_DEBUG
- smartData->region = evas_object_rectangle_add(smartData->base.evas);
- static int i = 0;
- switch (i) {
- case 0:
- evas_object_color_set(smartData->region, 128, 0, 0, 128);
- break;
- case 1:
- evas_object_color_set(smartData->region, 0, 128, 0, 128);
- break;
- case 2:
- evas_object_color_set(smartData->region, 0, 0, 128, 128);
- break;
- case 3:
- evas_object_color_set(smartData->region, 128, 0, 0, 128);
- break;
- case 4:
- evas_object_color_set(smartData->region, 128, 128, 0, 128);
- break;
- case 5:
- evas_object_color_set(smartData->region, 128, 0, 128, 128);
- break;
- case 6:
- evas_object_color_set(smartData->region, 0, 128, 128, 128);
- break;
- default:
- break;
- }
- i++;
- if (i > 6)
- i = 0;
-
- evas_object_smart_member_add(smartData->region, ewkFrame);
- evas_object_hide(smartData->region);
-#endif
-}
-
-static void _ewk_frame_smart_del(Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET(ewkFrame, smartData);
-
- if (smartData) {
- if (smartData->frame) {
- WebCore::FrameLoaderClientEfl* flc = _ewk_frame_loader_efl_get(smartData->frame);
- flc->setWebFrame(0);
- EWK_FRAME_SD_GET(ewk_view_frame_main_get(smartData->view), mainSmartData);
- if (mainSmartData->frame == smartData->frame) // applying only for main frame is enough (will traverse through frame tree)
- smartData->frame->loader()->detachFromParent();
- smartData->frame = 0;
- }
-
- eina_stringshare_del(smartData->title.string);
- eina_stringshare_del(smartData->uri);
- eina_stringshare_del(smartData->name);
- }
-
- _parent_sc.del(ewkFrame);
-}
-
-static void _ewk_frame_smart_resize(Evas_Object* ewkFrame, Evas_Coord width, Evas_Coord height)
-{
- EWK_FRAME_SD_GET(ewkFrame, smartData);
- evas_object_resize(smartData->base.clipper, width, height);
-
-#ifdef EWK_FRAME_DEBUG
- evas_object_resize(smartData->region, width, height);
- Evas_Coord x, y;
- evas_object_geometry_get(smartData->region, &x, &y, &width, &height);
- INFO("region=%p, visible=%d, geo=%d,%d + %dx%d",
- smartData->region, evas_object_visible_get(smartData->region), x, y, width, height);
- _ewk_frame_debug(ewkFrame);
-#endif
-}
-
-static void _ewk_frame_smart_set(Evas_Smart_Class* api)
-{
- evas_object_smart_clipped_smart_set(api);
- api->add = _ewk_frame_smart_add;
- api->del = _ewk_frame_smart_del;
- api->resize = _ewk_frame_smart_resize;
-}
-
-static inline Evas_Smart* _ewk_frame_smart_class_new(void)
-{
- static Evas_Smart_Class smartClass = EVAS_SMART_CLASS_INIT_NAME_VERSION(EWK_FRAME_TYPE_STR);
- static Evas_Smart* smart = 0;
-
- if (EINA_UNLIKELY(!smart)) {
- evas_object_smart_clipped_smart_set(&_parent_sc);
- _ewk_frame_smart_set(&smartClass);
- smart = evas_smart_class_new(&smartClass);
- }
-
- return smart;
-}
-
-Evas_Object* ewk_frame_view_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- return smartData->view;
-}
-
-Ewk_Security_Origin* ewk_frame_security_origin_get(const Evas_Object *ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->document(), 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->document()->securityOrigin(), 0);
-
- return ewk_security_origin_new(smartData->frame->document()->securityOrigin());
-}
-
-Eina_Iterator* ewk_frame_children_iterator_new(Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- Eina_Iterator_Ewk_Frame* iterator = static_cast<Eina_Iterator_Ewk_Frame*>
- (calloc(1, sizeof(Eina_Iterator_Ewk_Frame)));
- if (!iterator)
- return 0;
-
- EINA_MAGIC_SET(&iterator->base, EINA_MAGIC_ITERATOR);
- iterator->base.next = FUNC_ITERATOR_NEXT(_ewk_frame_children_iterator_next);
- iterator->base.get_container = FUNC_ITERATOR_GET_CONTAINER(_ewk_frame_children_iterator_get_container);
- iterator->base.free = FUNC_ITERATOR_FREE(free);
- iterator->object = ewkFrame;
- iterator->currentIndex = 0;
- return &iterator->base;
-}
-
-Evas_Object* ewk_frame_child_find(Evas_Object* ewkFrame, const char* name)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(name, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, 0);
- WTF::String frameName = WTF::String::fromUTF8(name);
- return EWKPrivate::kitFrame(smartData->frame->tree()->find(WTF::AtomicString(frameName)));
-}
-
-Eina_Bool ewk_frame_uri_set(Evas_Object* ewkFrame, const char* uri)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- WebCore::KURL kurl(WebCore::KURL(), WTF::String::fromUTF8(uri));
- WebCore::ResourceRequest req(kurl);
- WebCore::FrameLoader* loader = smartData->frame->loader();
- loader->load(WebCore::FrameLoadRequest(smartData->frame, req));
- return true;
-}
-
-const char* ewk_frame_uri_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- return smartData->uri;
-}
-
-const Ewk_Text_With_Direction* ewk_frame_title_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- return &smartData->title;
-}
-
-const char* ewk_frame_name_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
-
- if (!smartData->frame) {
- ERR("could not get name of uninitialized frame.");
- return 0;
- }
-
- const WTF::String frameName = smartData->frame->tree()->uniqueName();
-
- if ((smartData->name) && (smartData->name == frameName))
- return smartData->name;
-
- eina_stringshare_replace_length(&(smartData->name), frameName.utf8().data(), frameName.length());
-
- return smartData->name;
-}
-
-Eina_Bool ewk_frame_contents_size_get(const Evas_Object* ewkFrame, Evas_Coord* width, Evas_Coord* height)
-{
- if (width)
- *width = 0;
- if (height)
- *height = 0;
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- if (!smartData->frame || !smartData->frame->view())
- return false;
- if (width)
- *width = smartData->frame->view()->contentsWidth();
- if (height)
- *height = smartData->frame->view()->contentsHeight();
- return true;
-}
-
-static Eina_Bool _ewk_frame_contents_set_internal(Ewk_Frame_Smart_Data* smartData, const char* contents, size_t contentsSize, const char* mimeType, const char* encoding, const char* baseUri, const char* unreachableUri)
-{
- size_t length = strlen(contents);
- if (contentsSize < 1 || contentsSize > length)
- contentsSize = length;
- if (!mimeType)
- mimeType = "text/html";
- if (!encoding)
- encoding = "UTF-8";
- if (!baseUri)
- baseUri = "about:blank";
-
- WebCore::KURL baseKURL(WebCore::KURL(), WTF::String::fromUTF8(baseUri));
- WebCore::KURL unreachableKURL;
- if (unreachableUri)
- unreachableKURL = WebCore::KURL(WebCore::KURL(), WTF::String::fromUTF8(unreachableUri));
- else
- unreachableKURL = WebCore::KURL();
-
- WTF::RefPtr<WebCore::SharedBuffer> buffer = WebCore::SharedBuffer::create(contents, contentsSize);
- WebCore::SubstituteData substituteData
- (buffer.release(),
- WTF::String::fromUTF8(mimeType),
- WTF::String::fromUTF8(encoding),
- baseKURL, unreachableKURL);
- WebCore::ResourceRequest request(baseKURL);
-
- smartData->frame->loader()->load(WebCore::FrameLoadRequest(smartData->frame, request, substituteData));
- return true;
-}
-
-Eina_Bool ewk_frame_contents_set(Evas_Object* ewkFrame, const char* contents, size_t contentsSize, const char* mimeType, const char* encoding, const char* baseUri)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(contents, false);
- return _ewk_frame_contents_set_internal
- (smartData, contents, contentsSize, mimeType, encoding, baseUri, 0);
-}
-
-Eina_Bool ewk_frame_contents_alternate_set(Evas_Object* ewkFrame, const char* contents, size_t contentsSize, const char* mimeType, const char* encoding, const char* baseUri, const char* unreachableUri)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(contents, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(unreachableUri, false);
- return _ewk_frame_contents_set_internal
- (smartData, contents, contentsSize, mimeType, encoding, baseUri,
- unreachableUri);
-}
-
-const char* ewk_frame_script_execute(Evas_Object* ewkFrame, const char* script)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(script, 0);
-
- WTF::String resultString;
- JSC::JSValue result = smartData->frame->script()->executeScript(WTF::String::fromUTF8(script), true).jsValue();
-
- if (!smartData->frame) // In case the script removed our frame from the page.
- return 0;
-
- if (!result || (!result.isBoolean() && !result.isString() && !result.isNumber()))
- return 0;
-
- JSC::ExecState* exec = smartData->frame->script()->globalObject(WebCore::mainThreadNormalWorld())->globalExec();
- JSC::JSLockHolder lock(exec);
- resultString = result.toString(exec)->value(exec);
- return eina_stringshare_add(resultString.utf8().data());
-}
-
-Eina_Bool ewk_frame_editable_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- return smartData->editable;
-}
-
-Eina_Bool ewk_frame_editable_set(Evas_Object* ewkFrame, Eina_Bool editable)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- editable = !!editable;
- if (smartData->editable == editable)
- return true;
- smartData->editable = editable;
- if (editable)
- smartData->frame->editor().applyEditingStyleToBodyElement();
- return true;
-}
-
-const char* ewk_frame_selection_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, 0);
- WTF::CString selectedText = smartData->frame->editor().selectedText().utf8();
- if (selectedText.isNull())
- return 0;
- return eina_stringshare_add(selectedText.data());
-}
-
-Eina_Bool ewk_frame_text_search(const Evas_Object* ewkFrame, const char* text, Eina_Bool caseSensitive, Eina_Bool forward, Eina_Bool wrap)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(text, false);
-
- return smartData->frame->editor().findString(WTF::String::fromUTF8(text), forward, caseSensitive, wrap, true);
-}
-
-unsigned int ewk_frame_text_matches_mark(Evas_Object* ewkFrame, const char* string, Eina_Bool caseSensitive, Eina_Bool highlight, unsigned int limit)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(string, 0);
-
- smartData->frame->editor().setMarkedTextMatchesAreHighlighted(highlight);
- return smartData->frame->editor().countMatchesForText(WTF::String::fromUTF8(string), 0, caseSensitive, limit, true, 0);
-}
-
-Eina_Bool ewk_frame_text_matches_unmark_all(Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
-
- smartData->frame->document()->markers()->removeMarkers(WebCore::DocumentMarker::TextMatch);
- return true;
-}
-
-Eina_Bool ewk_frame_text_matches_highlight_set(Evas_Object* ewkFrame, Eina_Bool highlight)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- smartData->frame->editor().setMarkedTextMatchesAreHighlighted(highlight);
- return true;
-}
-
-Eina_Bool ewk_frame_text_matches_highlight_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- return smartData->frame->editor().markedTextMatchesAreHighlighted();
-}
-
-/**
- * Comparison function used by ewk_frame_text_matches_nth_pos_get
- */
-static bool _ewk_frame_rect_cmp_less_than(const WebCore::IntRect& begin, const WebCore::IntRect& end)
-{
- return (begin.y() < end.y() || (begin.y() == end.y() && begin.x() < end.x()));
-}
-
-/**
- * Predicate used by ewk_frame_text_matches_nth_pos_get
- */
-static bool _ewk_frame_rect_is_negative_value(const WebCore::IntRect& rect)
-{
- return (rect.x() < 0 || rect.y() < 0);
-}
-
-Eina_Bool ewk_frame_text_matches_nth_pos_get(const Evas_Object* ewkFrame, size_t number, int* x, int* y)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
-
- Vector<WebCore::IntRect> intRects = smartData->frame->document()->markers()->renderedRectsForMarkers(WebCore::DocumentMarker::TextMatch);
-
- /* remove useless values */
- std::remove_if(intRects.begin(), intRects.end(), _ewk_frame_rect_is_negative_value);
-
- if (intRects.isEmpty() || number > intRects.size())
- return false;
-
- std::sort(intRects.begin(), intRects.end(), _ewk_frame_rect_cmp_less_than);
-
- if (x)
- *x = intRects[number - 1].x();
- if (y)
- *y = intRects[number - 1].y();
- return true;
-}
-
-Eina_Bool ewk_frame_stop(Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- smartData->frame->loader()->stopAllLoaders();
- return true;
-}
-
-Eina_Bool ewk_frame_reload(Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- smartData->frame->loader()->reload();
- return true;
-}
-
-Eina_Bool ewk_frame_reload_full(Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- smartData->frame->loader()->reload(true);
- return true;
-}
-
-Eina_Bool ewk_frame_back(Evas_Object* ewkFrame)
-{
- return ewk_frame_navigate(ewkFrame, -1);
-}
-
-Eina_Bool ewk_frame_forward(Evas_Object* ewkFrame)
-{
- return ewk_frame_navigate(ewkFrame, 1);
-}
-
-Eina_Bool ewk_frame_navigate(Evas_Object* ewkFrame, int steps)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- WebCore::Page* page = smartData->frame->page();
- if (!page->canGoBackOrForward(steps))
- return false;
- page->goBackOrForward(steps);
- return true;
-}
-
-Eina_Bool ewk_frame_back_possible(Evas_Object* ewkFrame)
-{
- return ewk_frame_navigate_possible(ewkFrame, -1);
-}
-
-Eina_Bool ewk_frame_forward_possible(Evas_Object* ewkFrame)
-{
- return ewk_frame_navigate_possible(ewkFrame, 1);
-}
-
-Eina_Bool ewk_frame_navigate_possible(Evas_Object* ewkFrame, int steps)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- WebCore::Page* page = smartData->frame->page();
- return page->canGoBackOrForward(steps);
-}
-
-float ewk_frame_page_zoom_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, -1.0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, -1.0);
- return smartData->frame->pageZoomFactor();
-}
-
-Eina_Bool ewk_frame_page_zoom_set(Evas_Object* ewkFrame, float pageZoomFactor)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- smartData->frame->setPageZoomFactor(pageZoomFactor);
- return true;
-}
-
-float ewk_frame_text_zoom_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, -1.0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, -1.0);
- return smartData->frame->textZoomFactor();
-}
-
-Eina_Bool ewk_frame_text_zoom_set(Evas_Object* ewkFrame, float textZoomFactor)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- smartData->frame->setTextZoomFactor(textZoomFactor);
- return true;
-}
-
-void ewk_frame_hit_test_free(Ewk_Hit_Test* hitTest)
-{
- EINA_SAFETY_ON_NULL_RETURN(hitTest);
- eina_stringshare_del(hitTest->title.string);
- eina_stringshare_del(hitTest->alternate_text);
- eina_stringshare_del(hitTest->link.text);
- eina_stringshare_del(hitTest->link.url);
- eina_stringshare_del(hitTest->link.title);
- eina_stringshare_del(hitTest->image_uri);
- eina_stringshare_del(hitTest->media_uri);
- delete hitTest;
-}
-
-Ewk_Hit_Test* ewk_frame_hit_test_new(const Evas_Object* ewkFrame, int x, int y)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, 0);
-
- WebCore::FrameView* view = smartData->frame->view();
- EINA_SAFETY_ON_NULL_RETURN_VAL(view, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->contentRenderer(), 0);
-
- WebCore::HitTestResult result = smartData->frame->eventHandler()->hitTestResultAtPoint
- (view->windowToContents(WebCore::IntPoint(x, y)),
- WebCore::HitTestRequest::ReadOnly | WebCore::HitTestRequest::Active | WebCore::HitTestRequest::IgnoreClipping | WebCore::HitTestRequest::DisallowShadowContent);
-
- if (result.scrollbar())
- return 0;
- if (!result.innerNode())
- return 0;
-
- Ewk_Hit_Test* hitTest = new Ewk_Hit_Test;
- // FIXME: This should probably use pointInMainFrame, if it is to match the documentation of ewk_hit_test.
- hitTest->x = result.pointInInnerNodeFrame().x();
- hitTest->y = result.pointInInnerNodeFrame().y();
-#if 0
- // FIXME
- hitTest->bounding_box.x = result.boundingBox().x();
- hitTest->bounding_box.y = result.boundingBox().y();
- hitTest->bounding_box.width = result.boundingBox().width();
- hitTest->bounding_box.height = result.boundingBox().height();
-#else
- hitTest->bounding_box.x = 0;
- hitTest->bounding_box.y = 0;
- hitTest->bounding_box.w = 0;
- hitTest->bounding_box.h = 0;
-#endif
-
- WebCore::TextDirection direction;
- hitTest->title.string = eina_stringshare_add(result.title(direction).utf8().data());
- hitTest->title.direction = (direction == WebCore::LTR) ? EWK_TEXT_DIRECTION_LEFT_TO_RIGHT : EWK_TEXT_DIRECTION_RIGHT_TO_LEFT;
- hitTest->alternate_text = eina_stringshare_add(result.altDisplayString().utf8().data());
- if (result.innerNonSharedNode() && result.innerNonSharedNode()->document()
- && result.innerNonSharedNode()->document()->frame())
- hitTest->frame = EWKPrivate::kitFrame(result.innerNonSharedNode()->document()->frame());
-
- hitTest->link.text = eina_stringshare_add(result.textContent().utf8().data());
- hitTest->link.url = eina_stringshare_add(result.absoluteLinkURL().string().utf8().data());
- hitTest->link.title = eina_stringshare_add(result.titleDisplayString().utf8().data());
- hitTest->link.target_frame = EWKPrivate::kitFrame(result.targetFrame());
-
- hitTest->image_uri = eina_stringshare_add(result.absoluteImageURL().string().utf8().data());
- hitTest->media_uri = eina_stringshare_add(result.absoluteMediaURL().string().utf8().data());
-
- int context = EWK_HIT_TEST_RESULT_CONTEXT_DOCUMENT;
-
- if (!result.absoluteLinkURL().isEmpty())
- context |= EWK_HIT_TEST_RESULT_CONTEXT_LINK;
- if (!result.absoluteImageURL().isEmpty())
- context |= EWK_HIT_TEST_RESULT_CONTEXT_IMAGE;
- if (!result.absoluteMediaURL().isEmpty())
- context |= EWK_HIT_TEST_RESULT_CONTEXT_MEDIA;
- if (result.isSelected())
- context |= EWK_HIT_TEST_RESULT_CONTEXT_SELECTION;
- if (result.isContentEditable())
- context |= EWK_HIT_TEST_RESULT_CONTEXT_EDITABLE;
-
- hitTest->context = static_cast<Ewk_Hit_Test_Result_Context>(context);
-
- return hitTest;
-}
-
-Eina_Bool
-ewk_frame_scroll_add(Evas_Object* ewkFrame, int deltaX, int deltaY)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->view(), false);
- smartData->frame->view()->scrollBy(WebCore::IntSize(deltaX, deltaY));
- return true;
-}
-
-Eina_Bool
-ewk_frame_scroll_set(Evas_Object* ewkFrame, int x, int y)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->view(), false);
- smartData->frame->view()->setScrollPosition(WebCore::IntPoint(x, y));
- return true;
-}
-
-Eina_Bool
-ewk_frame_scroll_size_get(const Evas_Object* ewkFrame, int* width, int* height)
-{
- if (width)
- *width = 0;
- if (height)
- *height = 0;
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->view(), false);
- WebCore::IntPoint point = smartData->frame->view()->maximumScrollPosition();
- if (width)
- *width = point.x();
- if (height)
- *height = point.y();
- return true;
-}
-
-Eina_Bool
-ewk_frame_scroll_pos_get(const Evas_Object* ewkFrame, int* x, int* y)
-{
- if (x)
- *x = 0;
- if (y)
- *y = 0;
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->view(), false);
- WebCore::IntPoint pos = smartData->frame->view()->scrollPosition();
- if (x)
- *x = pos.x();
- if (y)
- *y = pos.y();
- return true;
-}
-
-Eina_Bool ewk_frame_visible_content_geometry_get(const Evas_Object* ewkFrame, Eina_Bool includeScrollbars, int* x, int* y, int* width, int* height)
-{
- if (x)
- *x = 0;
- if (y)
- *y = 0;
- if (width)
- *width = 0;
- if (height)
- *height = 0;
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->view(), false);
- WebCore::IntRect rect = smartData->frame->view()->visibleContentRect(includeScrollbars ? WebCore::ScrollableArea::IncludeScrollbars : WebCore::ScrollableArea::ExcludeScrollbars);
- if (x)
- *x = rect.x();
- if (y)
- *y = rect.y();
- if (width)
- *width = rect.width();
- if (height)
- *height = rect.height();
- return true;
-}
-
-Eina_Bool ewk_frame_paint_full_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->view(), false);
- return smartData->frame->view()->paintsEntireContents();
-}
-
-void ewk_frame_paint_full_set(Evas_Object* ewkFrame, Eina_Bool flag)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- EINA_SAFETY_ON_NULL_RETURN(smartData->frame);
- EINA_SAFETY_ON_NULL_RETURN(smartData->frame->view());
- smartData->frame->view()->setPaintsEntireContents(flag);
-}
-
-Eina_Bool ewk_frame_feed_focus_in(Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- WebCore::FocusController* focusController = smartData->frame->page()->focusController();
- focusController->setFocusedFrame(smartData->frame);
- return true;
-}
-
-Eina_Bool ewk_frame_feed_focus_out(Evas_Object*)
-{
- // TODO: what to do on focus out?
- ERR("what to do?");
- return false;
-}
-
-Eina_Bool ewk_frame_focused_element_geometry_get(const Evas_Object *ewkFrame, int *x, int *y, int *w, int *h)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- WebCore::Document* document = smartData->frame->document();
- if (!document)
- return false;
- WebCore::Node* focusedNode = document->focusedElement();
- if (!focusedNode)
- return false;
- WebCore::IntRect nodeRect = focusedNode->pixelSnappedBoundingBox();
- if (x)
- *x = nodeRect.x();
- if (y)
- *y = nodeRect.y();
- if (w)
- *w = nodeRect.width();
- if (h)
- *h = nodeRect.height();
- return true;
-}
-
-Eina_Bool ewk_frame_feed_mouse_wheel(Evas_Object* ewkFrame, const Evas_Event_Mouse_Wheel* wheelEvent)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(wheelEvent, false);
-
- WebCore::FrameView* view = smartData->frame->view();
- DBG("ewkFrame=%p, view=%p, direction=%d, z=%d, pos=%d,%d",
- ewkFrame, view, wheelEvent->direction, wheelEvent->z, wheelEvent->canvas.x, wheelEvent->canvas.y);
- EINA_SAFETY_ON_NULL_RETURN_VAL(view, false);
-
- WebCore::PlatformWheelEvent event(wheelEvent);
- return smartData->frame->eventHandler()->handleWheelEvent(event);
-}
-
-Eina_Bool ewk_frame_feed_mouse_down(Evas_Object* ewkFrame, const Evas_Event_Mouse_Down* downEvent)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(downEvent, false);
-
- WebCore::FrameView* view = smartData->frame->view();
- DBG("ewkFrame=%p, view=%p, button=%d, pos=%d,%d",
- ewkFrame, view, downEvent->button, downEvent->canvas.x, downEvent->canvas.y);
- EINA_SAFETY_ON_NULL_RETURN_VAL(view, false);
-
- Evas_Coord x, y;
- evas_object_geometry_get(smartData->view, &x, &y, 0, 0);
-
- WebCore::PlatformMouseEvent event(downEvent, WebCore::IntPoint(x, y));
- return smartData->frame->eventHandler()->handleMousePressEvent(event);
-}
-
-Eina_Bool ewk_frame_feed_mouse_up(Evas_Object* ewkFrame, const Evas_Event_Mouse_Up* upEvent)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(upEvent, false);
-
- WebCore::FrameView* view = smartData->frame->view();
- DBG("ewkFrame=%p, view=%p, button=%d, pos=%d,%d",
- ewkFrame, view, upEvent->button, upEvent->canvas.x, upEvent->canvas.y);
- EINA_SAFETY_ON_NULL_RETURN_VAL(view, false);
-
- Evas_Coord x, y;
- evas_object_geometry_get(smartData->view, &x, &y, 0, 0);
-
- WebCore::PlatformMouseEvent event(upEvent, WebCore::IntPoint(x, y));
- return smartData->frame->eventHandler()->handleMouseReleaseEvent(event);
-}
-
-Eina_Bool ewk_frame_feed_mouse_move(Evas_Object* ewkFrame, const Evas_Event_Mouse_Move* moveEvent)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(moveEvent, false);
-
- WebCore::FrameView* view = smartData->frame->view();
- DBG("ewkFrame=%p, view=%p, pos: old=%d,%d, new=%d,%d, buttons=%d",
- ewkFrame, view, moveEvent->cur.canvas.x, moveEvent->cur.canvas.y,
- moveEvent->prev.canvas.x, moveEvent->prev.canvas.y, moveEvent->buttons);
- EINA_SAFETY_ON_NULL_RETURN_VAL(view, false);
-
- Evas_Coord x, y;
- evas_object_geometry_get(smartData->view, &x, &y, 0, 0);
-
- WebCore::PlatformMouseEvent event(moveEvent, WebCore::IntPoint(x, y));
- return smartData->frame->eventHandler()->mouseMoved(event);
-}
-
-Eina_Bool ewk_frame_feed_touch_event(Evas_Object* ewkFrame, Ewk_Touch_Event_Type action, Eina_List* points, unsigned modifiers)
-{
-#if ENABLE(TOUCH_EVENTS)
- EINA_SAFETY_ON_NULL_RETURN_VAL(points, false);
- EWK_FRAME_SD_GET(ewkFrame, smartData);
-
- if (!smartData || !smartData->frame || !ewk_view_need_touch_events_get(smartData->view))
- return false;
-
- Evas_Coord x, y;
- evas_object_geometry_get(smartData->view, &x, &y, 0, 0);
-
- return smartData->frame->eventHandler()->handleTouchEvent(EWKPrivate::platformTouchEvent(x, y, points, action, modifiers));
-#else
- UNUSED_PARAM(ewkFrame);
- UNUSED_PARAM(action);
- UNUSED_PARAM(points);
- UNUSED_PARAM(modifiers);
- return false;
-#endif
-}
-
-static inline Eina_Bool _ewk_frame_handle_key_scrolling(WebCore::Frame* frame, const WebCore::PlatformKeyboardEvent& keyEvent)
-{
- WebCore::ScrollDirection direction;
- WebCore::ScrollGranularity granularity;
-
- int keyCode = keyEvent.windowsVirtualKeyCode();
-
- switch (keyCode) {
- case VK_SPACE:
- granularity = WebCore::ScrollByPage;
- if (keyEvent.shiftKey())
- direction = WebCore::ScrollUp;
- else
- direction = WebCore::ScrollDown;
- break;
- case VK_NEXT:
- granularity = WebCore::ScrollByPage;
- direction = WebCore::ScrollDown;
- break;
- case VK_PRIOR:
- granularity = WebCore::ScrollByPage;
- direction = WebCore::ScrollUp;
- break;
- case VK_HOME:
- granularity = WebCore::ScrollByDocument;
- direction = WebCore::ScrollUp;
- break;
- case VK_END:
- granularity = WebCore::ScrollByDocument;
- direction = WebCore::ScrollDown;
- break;
- case VK_LEFT:
- granularity = WebCore::ScrollByLine;
- direction = WebCore::ScrollLeft;
- break;
- case VK_RIGHT:
- granularity = WebCore::ScrollByLine;
- direction = WebCore::ScrollRight;
- break;
- case VK_UP:
- direction = WebCore::ScrollUp;
- if (keyEvent.ctrlKey())
- granularity = WebCore::ScrollByDocument;
- else
- granularity = WebCore::ScrollByLine;
- break;
- case VK_DOWN:
- direction = WebCore::ScrollDown;
- if (keyEvent.ctrlKey())
- granularity = WebCore::ScrollByDocument;
- else
- granularity = WebCore::ScrollByLine;
- break;
- default:
- return false;
- }
-
- if (frame->eventHandler()->scrollOverflow(direction, granularity))
- return false;
-
- frame->view()->scroll(direction, granularity);
- return true;
-}
-
-Eina_Bool ewk_frame_feed_key_down(Evas_Object* ewkFrame, const Evas_Event_Key_Down* downEvent)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(downEvent, false);
-
- DBG("ewkFrame=%p keyname=%s (key=%s, string=%s)",
- ewkFrame, downEvent->keyname, downEvent->key ? downEvent->key : "", downEvent->string ? downEvent->string : "");
-
- WebCore::PlatformKeyboardEvent event(downEvent);
- if (smartData->frame->eventHandler()->keyEvent(event))
- return true;
-
- return _ewk_frame_handle_key_scrolling(smartData->frame, event);
-}
-
-Eina_Bool ewk_frame_feed_key_up(Evas_Object* ewkFrame, const Evas_Event_Key_Up* upEvent)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(upEvent, false);
-
- DBG("ewkFrame=%p keyname=%s (key=%s, string=%s)",
- ewkFrame, upEvent->keyname, upEvent->key ? upEvent->key : "", upEvent->string ? upEvent->string : "");
-
- WebCore::PlatformKeyboardEvent event(upEvent);
- return smartData->frame->eventHandler()->keyEvent(event);
-}
-
-Ewk_Text_Selection_Type ewk_frame_text_selection_type_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, EWK_TEXT_SELECTION_NONE);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, EWK_TEXT_SELECTION_NONE);
-
- WebCore::FrameSelection* controller = smartData->frame->selection();
- if (!controller)
- return EWK_TEXT_SELECTION_NONE;
-
- return static_cast<Ewk_Text_Selection_Type>(controller->selectionType());
-}
-
-/* internal methods ****************************************************/
-
-/**
- * @internal
- *
- * Creates a new EFL WebKit Frame object.
- *
- * Frames are low level entries contained in a page that is contained
- * by a view. Usually one operates on the view and not directly on the
- * frame.
- *
- * @param canvas canvas where to create the frame object
- *
- * @return a new frame object or @c 0 on failure
- */
-Evas_Object* ewk_frame_add(Evas* canvas)
-{
- return evas_object_smart_add(canvas, _ewk_frame_smart_class_new());
-}
-
-/**
- * @internal
- *
- * Initialize frame based on actual WebKit frame.
- *
- * This is internal and should never be called by external users.
- */
-bool ewk_frame_init(Evas_Object* ewkFrame, Evas_Object* view, WebCore::Frame* frame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- if (!smartData->frame) {
- WebCore::FrameLoaderClientEfl* frameLoaderClient = _ewk_frame_loader_efl_get(frame);
- frameLoaderClient->setWebFrame(ewkFrame);
- smartData->frame = frame;
- smartData->view = view;
- frame->init();
- return true;
- }
-
- ERR("frame %p already set for %p, ignored new %p",
- smartData->frame, ewkFrame, frame);
- return false;
-}
-
-/**
- * @internal
- *
- * Adds child to the frame.
- */
-bool ewk_frame_child_add(Evas_Object* ewkFrame, WTF::PassRefPtr<WebCore::Frame> child, const WTF::String& name, const WebCore::KURL& url, const WTF::String& referrer)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- char buffer[256];
- Evas_Object* frame;
- WebCore::Frame* coreFrame;
-
- frame = ewk_frame_add(smartData->base.evas);
- if (!frame) {
- ERR("Could not create ewk_frame object.");
- return false;
- }
-
- coreFrame = child.get();
- if (coreFrame->tree())
- coreFrame->tree()->setName(name);
- else
- ERR("no tree for child object");
- smartData->frame->tree()->appendChild(child);
-
- if (!ewk_frame_init(frame, smartData->view, coreFrame)) {
- evas_object_del(frame);
- return false;
- }
- snprintf(buffer, sizeof(buffer), "EWK_Frame:child/%s", name.utf8().data());
- evas_object_name_set(frame, buffer);
- evas_object_smart_member_add(frame, ewkFrame);
- evas_object_show(frame);
-
- // The creation of the frame may have run arbitrary JavaScript that removed it from the page already.
- if (!coreFrame->page()) {
- evas_object_del(frame);
- return true;
- }
-
- evas_object_smart_callback_call(smartData->view, "frame,created", frame);
- smartData->frame->loader()->loadURLIntoChildFrame(url, referrer, coreFrame);
-
- // The frame's onload handler may have removed it from the document.
- // See fast/dom/null-page-show-modal-dialog-crash.html for an example.
- if (!coreFrame->tree()->parent()) {
- evas_object_del(frame);
- return true;
- }
-
- return true;
-}
-
-/**
- * @internal
- * Change the ewk view this frame is associated with.
- *
- * @param ewkFrame The ewk frame to act upon.
- * @param newParent The new view that will be set as the parent of the frame.
- */
-void ewk_frame_view_set(Evas_Object* ewkFrame, Evas_Object* newParent)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
-
- evas_object_smart_member_del(ewkFrame);
- evas_object_smart_member_add(ewkFrame, newParent);
-
- smartData->view = newParent;
-}
-
-/**
- * @internal
- * Frame was destroyed by loader, remove internal reference.
- */
-void ewk_frame_core_gone(Evas_Object* ewkFrame)
-{
- DBG("ewkFrame=%p", ewkFrame);
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- smartData->frame = 0;
-}
-
-/**
- * @internal
- * Reports cancellation of a client redirect.
- *
- * @param ewkFrame Frame.
- *
- * Emits signal: "redirect,cancelled"
- */
-void ewk_frame_redirect_cancelled(Evas_Object* ewkFrame)
-{
- evas_object_smart_callback_call(ewkFrame, "redirect,cancelled", 0);
-}
-
-/**
- * @internal
- * Reports receipt of server redirect for provisional load.
- *
- * @param ewkFrame Frame.
- *
- * Emits signal: "redirect,load,provisional"
- */
-void ewk_frame_redirect_provisional_load(Evas_Object* ewkFrame)
-{
- evas_object_smart_callback_call(ewkFrame, "redirect,load,provisional", 0);
-}
-
-/**
- * @internal
- * Reports that a client redirect will be performed.
- *
- * @param ewkFrame Frame.
- * @param url Redirection URL.
- *
- * Emits signal: "redirect,requested"
- */
-void ewk_frame_redirect_requested(Evas_Object* ewkFrame, const char* url)
-{
- evas_object_smart_callback_call(ewkFrame, "redirect,requested", (void*)url);
-}
-
-/**
- * @internal
- * Reports a resource will be requested. User may override behavior of webkit by
- * changing values in @param request.
- *
- * @param ewkFrame Frame.
- * @param messages Messages containing the request details that user may override and a
- * possible redirect reponse. Whenever values on this struct changes, it must be properly
- * malloc'd as it will be freed afterwards.
- *
- * Emits signal: "resource,request,willsend"
- */
-void ewk_frame_request_will_send(Evas_Object* ewkFrame, Ewk_Frame_Resource_Messages* messages)
-{
- evas_object_smart_callback_call(ewkFrame, "resource,request,willsend", messages);
-}
-
-/**
- * @internal
- * Reports that there's a new resource.
- *
- * @param ewkFrame Frame.
- * @param request New request details. No changes are allowed to fields.
- *
- * Emits signal: "resource,request,new"
- */
-void ewk_frame_request_assign_identifier(Evas_Object* ewkFrame, const Ewk_Frame_Resource_Request* request)
-{
- evas_object_smart_callback_call(ewkFrame, "resource,request,new", (void*)request);
-}
-
-/**
- * @internal
- * Reports that a response to a resource request was received.
- *
- * @param ewkFrame Frame.
- * @param request Response details. No changes are allowed to fields.
- *
- * Emits signal: "resource,response,received"
- */
-void ewk_frame_response_received(Evas_Object* ewkFrame, Ewk_Frame_Resource_Response* response)
-{
- evas_object_smart_callback_call(ewkFrame, "resource,response,received", response);
-}
-
-/**
- * @internal
- * Reports that first navigation occurred
- *
- * @param ewkFrame Frame.
- *
- * Emits signal: "navigation,first"
- */
-void ewk_frame_did_perform_first_navigation(Evas_Object* ewkFrame)
-{
- evas_object_smart_callback_call(ewkFrame, "navigation,first", 0);
-}
-
-/**
- * @internal
- * Reports frame will be saved to current state
- *
- * @param ewkFrame Frame.
- * @param item History item to save details to.
- *
- * Emits signal: "state,save"
- */
-void ewk_frame_view_state_save(Evas_Object* ewkFrame, WebCore::HistoryItem*)
-{
- evas_object_smart_callback_call(ewkFrame, "state,save", 0);
-}
-
-/**
- * @internal
- * Reports the frame committed load.
- *
- * Emits signal: "load,committed" with no parameters.
- */
-void ewk_frame_load_committed(Evas_Object* ewkFrame)
-{
- evas_object_smart_callback_call(ewkFrame, "load,committed", 0);
-}
-
-/**
- * @internal
- * Reports the frame started loading something.
- *
- * Emits signal: "load,started" with no parameters.
- */
-void ewk_frame_load_started(Evas_Object* ewkFrame)
-{
- Evas_Object* mainFrame;
- DBG("ewkFrame=%p", ewkFrame);
- evas_object_smart_callback_call(ewkFrame, "load,started", 0);
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- ewk_view_load_started(smartData->view, ewkFrame);
-
- mainFrame = ewk_view_frame_main_get(smartData->view);
- if (mainFrame == ewkFrame)
- ewk_view_frame_main_load_started(smartData->view);
-}
-
-/**
- * @internal
- * Reports the frame started provisional load.
- *
- * @param ewkFrame Frame.
- *
- * Emits signal: "load,provisional" with no parameters.
- */
-void ewk_frame_load_provisional(Evas_Object* ewkFrame)
-{
- evas_object_smart_callback_call(ewkFrame, "load,provisional", 0);
-}
-
-/**
- * @internal
- * Reports the frame provisional load failed.
- *
- * @param ewkFrame Frame.
- * @param error Load error.
- *
- * Emits signal: "load,provisional,failed" with pointer to Ewk_Frame_Load_Error.
- */
-void ewk_frame_load_provisional_failed(Evas_Object* ewkFrame, const Ewk_Frame_Load_Error* error)
-{
- evas_object_smart_callback_call(ewkFrame, "load,provisional,failed", const_cast<Ewk_Frame_Load_Error*>(error));
-}
-
-/**
- * @internal
- * Reports the frame finished first layout.
- *
- * @param ewkFrame Frame.
- *
- * Emits signal: "load,firstlayout,finished" with no parameters.
- */
-void ewk_frame_load_firstlayout_finished(Evas_Object* ewkFrame)
-{
- evas_object_smart_callback_call(ewkFrame, "load,firstlayout,finished", 0);
-}
-
-/**
- * @internal
- * Reports the frame finished first non empty layout.
- *
- * @param ewkFrame Frame.
- *
- * Emits signal: "load,nonemptylayout,finished" with no parameters.
- */
-void ewk_frame_load_firstlayout_nonempty_finished(Evas_Object* ewkFrame)
-{
- evas_object_smart_callback_call(ewkFrame, "load,nonemptylayout,finished", 0);
-}
-
-/**
- * @internal
- * Reports the loading of a document has finished on frame.
- *
- * @param ewkFrame Frame.
- *
- * Emits signal: "load,document,finished" with no parameters.
- */
-void ewk_frame_load_document_finished(Evas_Object* ewkFrame)
-{
- evas_object_smart_callback_call(ewkFrame, "load,document,finished", 0);
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- ewk_view_load_document_finished(smartData->view, ewkFrame);
-}
-
-/**
- * @internal
- * Reports load finished, optionally with error information.
- *
- * Emits signal: "load,finished" with pointer to Ewk_Frame_Load_Error
- * if any error, or @c NULL if successful load.
- *
- * @note there should notbe any error stuff here, but trying to be
- * compatible with previous WebKit.
- */
-void ewk_frame_load_finished(Evas_Object* ewkFrame, const char* errorDomain, int errorCode, bool isCancellation, const char* errorDescription, const char* failingUrl)
-{
- Ewk_Frame_Load_Error buffer, *error;
- if (!errorDomain) {
- DBG("ewkFrame=%p, success.", ewkFrame);
- error = 0;
- } else {
- DBG("ewkFrame=%p, error=%s (%d, cancellation=%hhu) \"%s\", url=%s",
- ewkFrame, errorDomain, errorCode, isCancellation,
- errorDescription, failingUrl);
-
- buffer.domain = errorDomain;
- buffer.code = errorCode;
- buffer.is_cancellation = isCancellation;
- buffer.description = errorDescription;
- buffer.failing_url = failingUrl;
- buffer.resource_identifier = 0;
- buffer.frame = ewkFrame;
- error = &buffer;
- }
- evas_object_smart_callback_call(ewkFrame, "load,finished", error);
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- ewk_view_load_finished(smartData->view, error);
-}
-
-/**
- * @internal
- * Reports resource load finished.
- *
- * Emits signal: "load,resource,finished" with the resource
- * request identifier.
- */
-void ewk_frame_load_resource_finished(Evas_Object* ewkFrame, unsigned long identifier)
-{
- evas_object_smart_callback_call(ewkFrame, "load,resource,finished", &identifier);
-}
-
-/**
- * @internal
- * Reports resource load failure, with error information.
- *
- * Emits signal: "load,resource,failed" with the error information.
- */
-void ewk_frame_load_resource_failed(Evas_Object* ewkFrame, Ewk_Frame_Load_Error* error)
-{
- evas_object_smart_callback_call(ewkFrame, "load,resource,failed", error);
-}
-
-/**
- * @internal
- * Reports load failed with error information.
- *
- * Emits signal: "load,error" with pointer to Ewk_Frame_Load_Error.
- */
-void ewk_frame_load_error(Evas_Object* ewkFrame, const char* errorDomain, int errorCode, bool isCancellation, const char* errorDescription, const char* failingUrl)
-{
- Ewk_Frame_Load_Error error;
-
- DBG("ewkFrame=%p, error=%s (%d, cancellation=%hhu) \"%s\", url=%s",
- ewkFrame, errorDomain, errorCode, isCancellation,
- errorDescription, failingUrl);
-
- EINA_SAFETY_ON_NULL_RETURN(errorDomain);
-
- error.code = errorCode;
- error.is_cancellation = isCancellation;
- error.domain = errorDomain;
- error.description = errorDescription;
- error.failing_url = failingUrl;
- error.resource_identifier = 0;
- error.frame = ewkFrame;
- evas_object_smart_callback_call(ewkFrame, "load,error", &error);
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- ewk_view_load_error(smartData->view, &error);
-}
-
-/**
- * @internal
- * Reports load progress changed.
- *
- * Emits signal: "load,progress" with pointer to a double from 0.0 to 1.0.
- */
-void ewk_frame_load_progress_changed(Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- EINA_SAFETY_ON_NULL_RETURN(smartData->frame);
-
- // TODO: this is per page, there should be a way to have per-frame.
- double progress = smartData->frame->page()->progress()->estimatedProgress();
-
- DBG("ewkFrame=%p (p=%0.3f)", ewkFrame, progress);
-
- evas_object_smart_callback_call(ewkFrame, "load,progress", &progress);
- ewk_view_load_progress_changed(smartData->view);
-}
-
-/**
- * @internal
- *
- * Reports contents size changed.
- */
-void ewk_frame_contents_size_changed(Evas_Object* ewkFrame, Evas_Coord width, Evas_Coord height)
-{
- Evas_Coord size[2] = {width, height};
- evas_object_smart_callback_call(ewkFrame, "contents,size,changed", size);
-}
-
-/**
- * @internal
- *
- * Reports title changed.
- */
-void ewk_frame_title_set(Evas_Object* ewkFrame, const Ewk_Text_With_Direction* title)
-{
- DBG("ewkFrame=%p, title=%s, direction=%s", ewkFrame, title->string ? title->string : "(null)", title->direction == EWK_TEXT_DIRECTION_LEFT_TO_RIGHT ? "ltr" : "rtl");
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- if (!eina_stringshare_replace(&smartData->title.string, title->string) && (smartData->title.direction == title->direction))
- return;
- smartData->title.direction = title->direction;
- evas_object_smart_callback_call(ewkFrame, "title,changed", (void*)title);
-}
-
-/**
- * @internal
- *
- * Creates a view.
- */
-void ewk_frame_view_create_for_view(Evas_Object* ewkFrame, Evas_Object* view)
-{
- DBG("ewkFrame=%p, view=%p", ewkFrame, view);
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- EINA_SAFETY_ON_NULL_RETURN(smartData->frame);
- Evas_Coord width, height;
-
- evas_object_geometry_get(view, 0, 0, &width, &height);
-
- WebCore::IntSize size(width, height);
- int red, green, blue, alpha;
- WebCore::Color background;
-
- ewk_view_bg_color_get(view, &red, &green, &blue, &alpha);
- if (!alpha)
- background = WebCore::Color(0, 0, 0, 0);
- else if (alpha == 255)
- background = WebCore::Color(red, green, blue, alpha);
- else
- background = WebCore::Color(red * 255 / alpha, green * 255 / alpha, blue * 255 / alpha, alpha);
-
- smartData->frame->createView(size, background, !alpha);
- if (!smartData->frame->view())
- return;
-
- smartData->frame->view()->setEvasObject(ewkFrame);
-
- ewk_frame_mixed_content_displayed_set(ewkFrame, false);
- ewk_frame_mixed_content_run_set(ewkFrame, false);
-}
-
-ssize_t ewk_frame_source_get(const Evas_Object* ewkFrame, char** frameSource)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, -1);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, -1);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->document(), -1);
- EINA_SAFETY_ON_NULL_RETURN_VAL(frameSource, -1);
-
- StringBuilder builder;
- *frameSource = 0; // Saves 0 to pointer until it's not allocated.
-
- if (!ewk_frame_uri_get(ewkFrame))
- return -1;
-
- if (!smartData->frame->document()->isHTMLDocument()) {
- // FIXME: Support others documents.
- WARN("Only HTML documents are supported");
- return -1;
- }
-
- // Look for <html> tag. If it exists, the node contatins all document's source.
- WebCore::Node* documentNode = smartData->frame->document()->documentElement();
- if (documentNode)
- for (WebCore::Node* node = documentNode->firstChild(); node; node = node->parentElement()) {
- if (node->hasTagName(WebCore::HTMLNames::htmlTag)) {
- WebCore::HTMLElement* element = static_cast<WebCore::HTMLElement*>(node);
- if (element)
- builder.append(element->outerHTML());
- break;
- }
- }
-
- CString utf8String = builder.toString().utf8();
- size_t sourceLength = utf8String.length();
- *frameSource = static_cast<char*>(malloc(sourceLength + 1));
- if (!*frameSource) {
- CRITICAL("Could not allocate memory.");
- return -1;
- }
-
- strncpy(*frameSource, utf8String.data(), sourceLength);
- (*frameSource)[sourceLength] = '\0';
-
- return sourceLength;
-}
-
-Eina_List* ewk_frame_resources_location_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->document(), 0);
-
- Eina_List* listOfImagesLocation = 0;
-
- // Get src attibute of images and saves them to the Eina_List.
- RefPtr<WebCore::HTMLCollection> images = smartData->frame->document()->images();
- for (size_t index = 0; index < images->length(); ++index) {
- WebCore::HTMLImageElement* imageElement = static_cast<WebCore::HTMLImageElement*>(images->item(index));
- if (!imageElement || imageElement->src().isNull() || imageElement->src().isEmpty())
- continue;
-
- WTF::String imageLocation = WebCore::decodeURLEscapeSequences(imageElement->src().string());
- // Look for duplicated location.
- Eina_List* listIterator = 0;
- void* data = 0;
- Eina_Bool found = false;
- EINA_LIST_FOREACH(listOfImagesLocation, listIterator, data)
- if ((found = !strcmp(static_cast<char*>(data), imageLocation.utf8().data())))
- break;
- if (found)
- continue;
-
- const char* imageLocationCopy = eina_stringshare_add(imageLocation.utf8().data());
- if (!imageLocationCopy)
- goto out_of_memory_handler;
- listOfImagesLocation = eina_list_append(listOfImagesLocation, imageLocationCopy);
- if (eina_error_get())
- goto out_of_memory_handler;
- }
- // FIXME: Get URL others resources (plugins, css, media files).
- return listOfImagesLocation;
-
-out_of_memory_handler:
- CRITICAL("Could not allocate memory.");
- void* data;
- EINA_LIST_FREE(listOfImagesLocation, data)
- free(data);
- return 0;
-}
-
-const char* ewk_frame_plain_text_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, 0);
-
- if (!smartData->frame->document())
- return 0;
-
- WebCore::Element* documentElement = smartData->frame->document()->documentElement();
-
- if (!documentElement)
- return 0;
-
- return eina_stringshare_add(documentElement->innerText().utf8().data());
-}
-
-Eina_Bool ewk_frame_mixed_content_displayed_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- return smartData->hasDisplayedMixedContent;
-}
-
-Eina_Bool ewk_frame_mixed_content_run_get(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- return smartData->hasRunMixedContent;
-}
-
-Ewk_Certificate_Status ewk_frame_certificate_status_get(Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, EWK_CERTIFICATE_STATUS_NO_CERTIFICATE);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, EWK_CERTIFICATE_STATUS_NO_CERTIFICATE);
-
- const WebCore::FrameLoader* frameLoader = smartData->frame->loader();
- const WebCore::DocumentLoader* documentLoader = frameLoader->documentLoader();
- const WebCore::KURL documentURL = documentLoader->requestURL();
-
- if (!documentURL.protocolIs("https"))
- return EWK_CERTIFICATE_STATUS_NO_CERTIFICATE;
-
- if (frameLoader->subframeIsLoading())
- return EWK_CERTIFICATE_STATUS_NO_CERTIFICATE;
-
- SoupMessage* soupMessage = documentLoader->request().toSoupMessage();
-
- if (soupMessage && (soup_message_get_flags(soupMessage) & SOUP_MESSAGE_CERTIFICATE_TRUSTED))
- return EWK_CERTIFICATE_STATUS_TRUSTED;
-
- return EWK_CERTIFICATE_STATUS_UNTRUSTED;
-}
-
-/**
- * @internal
- * Reports frame favicon changed.
- *
- * @param ewkFrame Frame.
- *
- * Emits signal: "icon,changed" with no parameters.
- */
-void ewk_frame_icon_changed(Evas_Object* ewkFrame)
-{
- DBG("ewkFrame=%p", ewkFrame);
- evas_object_smart_callback_call(ewkFrame, "icon,changed", 0);
-}
-
-/**
- * @internal
- * Reports uri changed and swap internal string reference.
- *
- * Emits signal: "uri,changed" with new uri as parameter.
- */
-bool ewk_frame_uri_changed(Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame, false);
- WTF::CString uri(smartData->frame->document()->url().string().utf8());
-
- INFO("uri=%s", uri.data());
- if (!uri.data()) {
- ERR("no uri");
- return false;
- }
-
- eina_stringshare_replace(&smartData->uri, uri.data());
- evas_object_smart_callback_call(ewkFrame, "uri,changed", (void*)smartData->uri);
- return true;
-}
-
-/**
- * @internal
- *
- * Forces layout for frame.
- */
-void ewk_frame_force_layout(Evas_Object* ewkFrame)
-{
- DBG("ewkFrame=%p", ewkFrame);
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- EINA_SAFETY_ON_NULL_RETURN(smartData->frame);
- WebCore::FrameView* view = smartData->frame->view();
- if (view)
- view->forceLayout(true);
-}
-
-/**
- * @internal
- *
- * Creates plugin.
- */
-WTF::PassRefPtr<WebCore::Widget> ewk_frame_plugin_create(Evas_Object* ewkFrame, const WebCore::IntSize& pluginSize, WebCore::HTMLPlugInElement* element, const WebCore::KURL& url, const WTF::Vector<WTF::String>& paramNames, const WTF::Vector<WTF::String>& paramValues, const WTF::String& mimeType, bool loadManually)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- DBG("ewkFrame=%p, size=%dx%d, element=%p, url=%s, mimeType=%s",
- ewkFrame, pluginSize.width(), pluginSize.height(), element,
- url.string().utf8().data(), mimeType.utf8().data());
-
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, sd, 0);
-
- // TODO: emit signal and ask webkit users if something else should be done.
- // like creating another x window (see gtk, it allows users to create
- // GtkPluginWidget.
-
- WTF::RefPtr<WebCore::PluginView> pluginView = WebCore::PluginView::create
- (sd->frame, pluginSize, element, url, paramNames, paramValues,
- mimeType, loadManually);
-
- if (pluginView->status() == WebCore::PluginStatusLoadedSuccessfully)
- return pluginView.release();
-#else
- UNUSED_PARAM(ewkFrame);
- UNUSED_PARAM(pluginSize);
- UNUSED_PARAM(element);
- UNUSED_PARAM(url);
- UNUSED_PARAM(paramNames);
- UNUSED_PARAM(paramValues);
- UNUSED_PARAM(mimeType);
- UNUSED_PARAM(loadManually);
-#endif // #if ENABLE(NETSCAPE_PLUGIN_API)
- return 0;
-}
-
-/**
- * @internal
- * Reports that editor client selection was changed.
- *
- * @param ewkFrame Frame
- *
- * Emits signal: "editorclientselection,changed" with no parameters.
- */
-void ewk_frame_editor_client_selection_changed(Evas_Object* ewkFrame)
-{
- evas_object_smart_callback_call(ewkFrame, "editorclient,selection,changed", 0);
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- ewk_view_editor_client_selection_changed(smartData->view);
-}
-
-/**
- * @internal
- * Reports that editor client's contents were changed.
- *
- * @param o Frame
- *
- * Emits signal: "editorclient,contents,changed" with no parameters.
- */
-void ewk_frame_editor_client_contents_changed(Evas_Object* ewkFrame)
-{
- evas_object_smart_callback_call(ewkFrame, "editorclient,contents,changed", 0);
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- ewk_view_editor_client_contents_changed(smartData->view);
-}
-
-/**
- * @internal
- * Defines whether the frame has displayed mixed content.
- *
- * When a frame has displayed mixed content, the currently loaded URI is secure (HTTPS) but it has
- * loaded and displayed a resource, such as an image, from an insecure (HTTP) source.
- *
- * @param hasDisplayed Do or do not clear the flag from the frame. If @c true, the container view
- * is also notified and it then emits the "mixedcontent,displayed" signal.
- *
- * Emits signal: "mixedcontent,displayed" with no parameters when @p hasDisplayed is @c true.
- */
-void ewk_frame_mixed_content_displayed_set(Evas_Object* ewkFrame, bool hasDisplayed)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- smartData->hasDisplayedMixedContent = hasDisplayed;
-
- if (hasDisplayed) {
- ewk_view_mixed_content_displayed_set(smartData->view, true);
- evas_object_smart_callback_call(ewkFrame, "mixedcontent,displayed", 0);
- }
-}
-
-/**
- * @internal
- * Defines whether the frame has run mixed content.
- *
- * When a frame has run mixed content, the currently loaded URI is secure (HTTPS) but it has
- * loaded and run a resource, such as a script, from an insecure (HTTP) source.
- *
- * @param hasDisplayed Do or do not clear the flag from the frame. If @c true, the container view
- * is also notified and it then emits the "mixedcontent,run" signal.
- *
- * Emits signal: "mixedcontent,run" with no parameters when @p hasRun is @c true.
- */
-void ewk_frame_mixed_content_run_set(Evas_Object* ewkFrame, bool hasRun)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData);
- smartData->hasRunMixedContent = hasRun;
-
- if (hasRun) {
- ewk_view_mixed_content_run_set(smartData->view, true);
- evas_object_smart_callback_call(ewkFrame, "mixedcontent,run", 0);
- }
-}
-
-/**
- * @internal
- * Reports that reflected XSS is encountered in the page and suppressed.
- *
- * @param xssInfo Information received from the XSSAuditor when XSS is
- * encountered in the page.
- *
- * Emits signal: "xss,detected" with pointer to Ewk_Frame_Xss_Notification.
- */
-void ewk_frame_xss_detected(Evas_Object* ewkFrame, const Ewk_Frame_Xss_Notification* xssInfo)
-{
- evas_object_smart_callback_call(ewkFrame, "xss,detected", (void*)xssInfo);
-}
-
-namespace EWKPrivate {
-
-WebCore::Frame* coreFrame(const Evas_Object* ewkFrame)
-{
- EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, 0);
- return smartData->frame;
-}
-
-Evas_Object* kitFrame(const WebCore::Frame* coreFrame)
-{
- if (!coreFrame)
- return 0;
-
- WebCore::FrameLoaderClientEfl* frameLoaderClient = _ewk_frame_loader_efl_get(coreFrame);
- if (!frameLoaderClient)
- return 0;
-
- return frameLoaderClient->webFrame();
-}
-
-} // namespace EWKPrivate
diff --git a/Source/WebKit/efl/ewk/ewk_frame.h b/Source/WebKit/efl/ewk/ewk_frame.h
deleted file mode 100644
index fd061cdfb..000000000
--- a/Source/WebKit/efl/ewk/ewk_frame.h
+++ /dev/null
@@ -1,996 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2010 Samsung Electronics
-
- 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.
-*/
-
-/**
- * @file ewk_frame.h
- * @brief WebKit frame smart object.
- *
- * This object is the low level access to WebKit-EFL browser
- * component. It represents both the main and internal frames that
- * HTML pages contain.
- *
- * Every ewk_view has at least one frame, called "main frame" and
- * retrieved with ewk_view_frame_main_get(). One can retrieve frame's
- * owner view with ewk_frame_view_get(). Parent frame can be retrieved
- * with standard smart object's evas_object_smart_parent_get().
- * Children can be accessed with ewk_frame_children_iterator_new() or
- * ewk_frame_child_find().
- *
- * The following signals (see evas_object_smart_callback_add()) are emitted:
- *
- * - "contents,size,changed", Evas_Coord[2]: reports contents size
- * were changed due new layout, script actions or any other events.
- * - "editorclient,contents,changed", void: reports that editor client's
- * contents were changed
- * - "icon,changed", void: frame favicon changed.
- * - "load,committed", void: reports load committed.
- * - "load,document,finished", void: frame finished loading the document.
- * - "load,error", const Ewk_Frame_Load_Error*: reports load failed
- * and it gives a pointer to structure defining the error as an argument.
- * - "load,finished", const Ewk_Frame_Load_Error*: reports load
- * finished and it gives @c NULL on success or pointer to
- * structure defining the error.
- * - "load,resource,finished", unsigned long*: reports resource load finished and it gives
- * a pointer to its identifier.
- * - "load,resource,failed", Ewk_Frame_Load_Error*: reports resource load failure and it
- * gives a pointer to structure defining the error as an argument.
- * - "load,firstlayout,finished", void: frame finished first layout.
- * - "load,nonemptylayout,finished", void: frame finished first
- * non-empty layout.
- * - "load,progress", double*: load progress is changed (overall value
- * from 0.0 to 1.0, connect to individual frames for fine grained).
- * - "load,provisional", void: frame started provisional load.
- * - "load,provisional,failed", Ewk_Frame_Load_Error*: frame provisional load failed.
- * - "load,started", void: frame started loading the document.
- * - "mixedcontent,displayed", void: frame has loaded and displayed mixed content.
- * - "mixedcontent,run", void: frame has loaded and run mixed content.
- * - "navigation,first", void: first navigation was occurred.
- * - "redirect,cancelled", void: client redirect was cancelled.
- * - "redirect,load,provisional", void: received server redirect for provisional load.
- * - "redirect,requested", const char*: url of the client redirect that will be performed.
- * - "resource,request,new", Ewk_Frame_Resource_Request*: reports that
- * there's a new resource request.
- * - "resource,request,willsend", Ewk_Frame_Resource_Messages*: a resource will be requested.
- * and the possible redirect response.
- * - "resource,response,received", Ewk_Frame_Resource_Response*: reports that a response
- * to a resource request was received.
- * - "state,save", void: frame's state will be saved as a history item.
- * - "title,changed", Ewk_Text_With_Direction*: title of the main frame was changed.
- * - "uri,changed", const char*: uri of the main frame was changed.
- * - "xss,detected", Ewk_Frame_Xss_Notification*: reflected XSS is encountered in the page and suppressed.
- */
-
-#ifndef ewk_frame_h
-#define ewk_frame_h
-
-#include "ewk_security_origin.h"
-
-#include <Evas.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/// Creates a type name for _Ewk_Frame_Load_Error.
-typedef struct _Ewk_Frame_Load_Error Ewk_Frame_Load_Error;
-/**
- * @brief Structure used to report load errors.
- *
- * Load errors are reported as signal by ewk_view. All the strings are
- * temporary references and should @b not be used after the signal
- * callback returns. If it's required, make copies with strdup() or
- * eina_stringshare_add() (they are not even guaranteed to be
- * stringshared, so must use eina_stringshare_add() and not
- * eina_stringshare_ref()).
- */
-struct _Ewk_Frame_Load_Error {
- int code; /**< numeric error code */
- Eina_Bool is_cancellation; /**< if load failed because it was canceled */
- const char *domain; /**< error domain name */
- const char *description; /**< error description already localized */
- const char *failing_url; /**< the url that failed to load */
- unsigned long resource_identifier; /**< identifier of resource */
- Evas_Object *frame; /**< frame where the failure happened */
-};
-
-/// Creates a type name for _Ewk_Frame_Resource_Request.
-typedef struct _Ewk_Frame_Resource_Request Ewk_Frame_Resource_Request;
-/**
- * @brief Structure containing details about a resource request.
- *
- * Details given before a resource is loaded on a given frame. It's used in
- * Ewk_Frame_Resource_Messages to inform about the details of a resource request.
- */
-struct _Ewk_Frame_Resource_Request {
- const char *url; /**< url of the resource */
- const char *first_party; /**< first party for cookies, can not be changed */
- const char *http_method; /**< http method, can not be changed */
- const unsigned long identifier; /**< identifier of resource, can not be changed */
- Evas_Object *frame; /**< frame where the resource is requested */
- Eina_Bool is_main_frame_request; /** < indicates if the request is for the main frame */
-};
-
-/// Creates a type name for _Ewk_Frame_Resource_Response.
-typedef struct _Ewk_Frame_Resource_Response Ewk_Frame_Resource_Response;
-
-/**
- * @brief Structure containing details about a response to a resource request.
- *
- * Details given in the response to a resource request. It's used by
- * ewk_frame_response_received() to inform about the details of a response.
- */
-struct _Ewk_Frame_Resource_Response {
- const char *url; /**< url of the resource */
- int status_code; /**< http status code */
- unsigned long identifier; /**< identifier of resource */
- const char *mime_type; /**< MIME type of the resource */
-};
-
-/// Creates a type name for _Ewk_Frame_Resource_Messages.
-typedef struct _Ewk_Frame_Resource_Messages Ewk_Frame_Resource_Messages;
-
-struct _Ewk_Frame_Resource_Messages {
- Ewk_Frame_Resource_Request *request; /**< resource request */
- Ewk_Frame_Resource_Response *redirect_response; /**< redirect response, can not be changed */
-};
-
-/// Enum containing text directionality values.
-typedef enum {
- EWK_TEXT_DIRECTION_DEFAULT, /**< Natural writing direction ("inherit") */
- EWK_TEXT_DIRECTION_LEFT_TO_RIGHT,
- EWK_TEXT_DIRECTION_RIGHT_TO_LEFT
-} Ewk_Text_Direction;
-
-/// Creates a type name for Ewk_Text_With_Direction.
-typedef struct _Ewk_Text_With_Direction Ewk_Text_With_Direction;
-
-struct _Ewk_Text_With_Direction {
- const char *string;
- Ewk_Text_Direction direction;
-};
-
-/// Creates a type name for Ewk_Frame_Xss_Notification.
-typedef struct _Ewk_Frame_Xss_Notification Ewk_Frame_Xss_Notification;
-
-/**
- * @brief Structure used to report reflected XSS is encountered in the page.
- *
- * This structure contains information received from the XSSAuditor when reflected XSS
- * is encountered in the page. The string is temporary reference and should @b not
- * be used after the signal callback returns. If it's required, make a copy of it.
- */
-struct _Ewk_Frame_Xss_Notification {
- const char *insecure_url; /**< insecure url of the document */
- Eina_Bool is_entire_page_blocked; /** < indicates if the entire page was blocked by XSSAuditor */
-};
-
-/// Enum containing hit test data types
-typedef enum {
- EWK_HIT_TEST_RESULT_CONTEXT_DOCUMENT = 1 << 1,
- EWK_HIT_TEST_RESULT_CONTEXT_LINK = 1 << 2,
- EWK_HIT_TEST_RESULT_CONTEXT_IMAGE = 1 << 3,
- EWK_HIT_TEST_RESULT_CONTEXT_MEDIA = 1 << 4,
- EWK_HIT_TEST_RESULT_CONTEXT_SELECTION = 1 << 5,
- EWK_HIT_TEST_RESULT_CONTEXT_EDITABLE = 1 << 6
-} Ewk_Hit_Test_Result_Context;
-
-/// Enum containing navigation types
-typedef enum {
- EWK_NAVIGATION_TYPE_LINK_CLICKED,
- EWK_NAVIGATION_TYPE_FORM_SUBMITTED,
- EWK_NAVIGATION_TYPE_BACK_FORWARD,
- EWK_NAVIGATION_TYPE_RELOAD,
- EWK_NAVIGATION_TYPE_FORM_RESUBMITTED,
- EWK_NAVIGATION_TYPE_OTHER
-} Ewk_Navigation_Type;
-
-/// Creates a type name for _Ewk_Hit_Test.
-typedef struct _Ewk_Hit_Test Ewk_Hit_Test;
-/// Structure used to report hit test result.
-struct _Ewk_Hit_Test {
- int x; /**< the horizontal position of the hit test */
- int y; /**< the vertical position of the hit test */
- struct {
- int x, y, w, h;
- } bounding_box; /**< DEPRECATED, see ewk_frame_hit_test_new() */
- Ewk_Text_With_Direction title; /**< title of the element */
- const char *alternate_text; /**< the alternate text for image, area, input and applet */
- Evas_Object *frame; /**< the pointer to frame where hit test was requested */
- struct {
- const char *text; /**< the text of the link */
- const char *url; /**< URL of the link */
- const char *title; /**< the title of link */
- Evas_Object *target_frame;
- } link;
- const char *image_uri;
- const char *media_uri;
-
- Ewk_Hit_Test_Result_Context context;
-};
-
-/// Represents actions of touch events.
-typedef enum {
- EWK_TOUCH_START,
- EWK_TOUCH_MOVE,
- EWK_TOUCH_END,
- EWK_TOUCH_CANCEL
-} Ewk_Touch_Event_Type;
-
-/// Represents states of touch events.
-typedef enum {
- EWK_TOUCH_POINT_RELEASED,
- EWK_TOUCH_POINT_PRESSED,
- EWK_TOUCH_POINT_MOVED,
- EWK_TOUCH_POINT_STATIONARY,
- EWK_TOUCH_POINT_CANCELLED,
- EWK_TOUCH_POINT_END
-} Ewk_Touch_Point_Type;
-
-/// Creates a type name for _Ewk_Touch_Point.
-typedef struct _Ewk_Touch_Point Ewk_Touch_Point;
-/// Represents a touch point.
-struct _Ewk_Touch_Point {
- unsigned int id; /**< identifier of the touch event */
- int x; /**< the horizontal position of the touch event */
- int y; /**< the horizontal position of the touch event */
- Ewk_Touch_Point_Type state; /**< state of the touch event */
-};
-
-typedef enum {
- EWK_TEXT_SELECTION_NONE,
- EWK_TEXT_SELECTION_CARET,
- EWK_TEXT_SELECTION_RANGE
-} Ewk_Text_Selection_Type;
-
-/**
- * Represents the validity of a X.509 certificate related to the current frame.
- *
- * A certificate is considered untrusted when any problem is found in it: it may have
- * expired, the certificate's Common Name does not match the current host, the certificate
- * does not validate against the current set of root CA certificates etc.
- *
- * @sa ewk_frame_certificate_status_get, ewk_network_tls_ca_certificates_path_set
- */
-typedef enum {
- EWK_CERTIFICATE_STATUS_NO_CERTIFICATE = 1 << 1, /**< No certificate provided (non-HTTPS connection). */
- EWK_CERTIFICATE_STATUS_UNTRUSTED = 1 << 2, /**< The certificate provided is not trusted. */
- EWK_CERTIFICATE_STATUS_TRUSTED = 1 << 3 /**< The certificate is valid and fully trusted. */
-} Ewk_Certificate_Status;
-
-/**
- * Retrieves the ewk_view object that owns this frame.
- *
- * @param o frame object to get view object
- *
- * @return view object or @c NULL on failure
- */
-EAPI Evas_Object *ewk_frame_view_get(const Evas_Object *o);
-
-/**
- * Retrieves the Ewk_Security_Origin of this frame.
- *
- * The returned object should be freed by ewk_security_origin_free().
- *
- * @param o frame object to get the security origin
- *
- * @return security origin object
- */
-EAPI Ewk_Security_Origin *ewk_frame_security_origin_get(const Evas_Object *o);
-
-/**
- * Returns a new iterator over all direct children frames.
- *
- * Keep frame object intact while iteration happens otherwise frame
- * may be destroyed while iterated.
- *
- * Iteration results are Evas_Object*, so give eina_iterator_next() a
- * pointer to it.
- *
- * Returned iterator should be freed by eina_iterator_free().
- *
- * @param o frame object to create the iterator
- *
- * @return a newly allocated iterator on sucess, or @c NULL if not possible to
- * create the iterator
- */
-EAPI Eina_Iterator *ewk_frame_children_iterator_new(Evas_Object *o);
-
-/**
- * Finds a child frame by its name, recursively.
- *
- * For pre-defined names, returns @a o if @a name is "_self" or
- * "_current", returns @a o's parent frame if @a name is "_parent",
- * and returns the main frame if @a name is "_top". Also returns @a o
- * if it is the main frame and @a name is either "_parent" or
- * "_top". For other names, this function returns the first frame that
- * matches @a name. This function searches @a o and its descendents
- * first, then @a o's parent and its children moving up the hierarchy
- * until a match is found. If no match is found in @a o's hierarchy,
- * this function will search for a matching frame in other main frame
- * hierarchies.
- *
- * @param o frame object to find a child frame
- * @param name child frame name
- *
- * @return child frame of the given frame, or @c NULL if the the child wasn't found
- */
-EAPI Evas_Object *ewk_frame_child_find(Evas_Object *o, const char *name);
-
-/**
- * Asks the main frame to load the given URI.
- *
- * @param o frame object to load uri
- * @param uri uniform resource identifier to load
- *
- * @return @c EINA_TRUE on success, or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_frame_uri_set(Evas_Object *o, const char *uri);
-
-/**
- * Gets the uri of this frame.
- *
- * It returns an internal string and should not
- * be modified. The string is guaranteed to be stringshared.
- *
- * @param o frame object to get uri
- *
- * @return frame uri on success or @c NULL on failure
- */
-EAPI const char *ewk_frame_uri_get(const Evas_Object *o);
-
-/**
- * Gets the title of this frame.
- *
- * It returns an internal string and should not
- * be modified. The string is guaranteed to be stringshared.
- *
- * @param o frame object to get title
- *
- * @return frame title on success or @c NULL on failure
- */
-EAPI const Ewk_Text_With_Direction *ewk_frame_title_get(const Evas_Object *o);
-
-/**
- * Gets the name of this frame.
- *
- * It returns an internal string and should not
- * be modified. The string is guaranteed to be stringshared.
- *
- * @param o frame object to get name
- *
- * @return frame name on success or @c NULL on failure
- */
-EAPI const char *ewk_frame_name_get(const Evas_Object *o);
-
-/**
- * Gets last known contents size.
- *
- * @param o frame object to get contents size
- * @param w pointer to store contents size width, may be @c NULL
- * @param h pointer to store contents size height, may be @c NULL
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure and
- * @a w and @a h will be zeroed
- */
-EAPI Eina_Bool ewk_frame_contents_size_get(const Evas_Object *o, Evas_Coord *w, Evas_Coord *h);
-
-/**
- * Requests loading the given contents in this frame.
- *
- * @param o frame object to load document
- * @param contents what to load into frame
- * @param contents_size size of @a contents (in bytes),
- * if @c 0 is given, length of @a contents is used
- * @param mime_type type of @a contents data, if @c NULL is given "text/html" is assumed
- * @param encoding encoding for @a contents data, if @c NULL is given "UTF-8" is assumed
- * @param base_uri base uri to use for relative resources, may be @c NULL,
- * if provided @b must be an absolute uri
- *
- * @return @c EINA_TRUE on successful request, @c EINA_FALSE on errors
- */
-EAPI Eina_Bool ewk_frame_contents_set(Evas_Object *o, const char *contents, size_t contents_size, const char *mime_type, const char *encoding, const char *base_uri);
-
-/**
- * Requests loading alternative contents for unreachable URI in this frame.
- *
- * This is similar to ewk_frame_contents_set(), but is used when some
- * URI was failed to load, using the provided content instead. The main
- * difference is that back-forward navigation list is not changed.
- *
- * @param o frame object to load alternative content
- * @param contents what to load into frame, must @b not be @c NULL
- * @param contents_size size of @a contents (in bytes),
- * if @c 0 is given, length of @a contents is used
- * @param mime_type type of @a contents data, if @c NULL is given "text/html" is assumed
- * @param encoding encoding used for @a contents data, if @c NULL is given "UTF-8" is assumed
- * @param base_uri base URI to use for relative resources, may be @c NULL,
- * if provided must be an absolute uri
- * @param unreachable_uri the URI that failed to load and is getting the
- * alternative representation, must @b not be @c NULL
- *
- * @return @c EINA_TRUE on successful request, @c EINA_FALSE on errors
- */
-EAPI Eina_Bool ewk_frame_contents_alternate_set(Evas_Object *o, const char *contents, size_t contents_size, const char *mime_type, const char *encoding, const char *base_uri, const char *unreachable_uri);
-
-/**
- * Requests execution of the given script.
- *
- * The returned string @b should be freed by eina_stringshare_del() after use.
- *
- * @param o frame object to execute script
- * @param script Java Script to execute
- *
- * @return newly allocated string for result or @c NULL if the result cannot be converted to string or failure
- */
-EAPI const char *ewk_frame_script_execute(Evas_Object *o, const char *script);
-
-/**
- * Queries if the frame is editable.
- *
- * @param o the frame object to query editable state
- *
- * @return @c EINA_TRUE if the frame is editable, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_editable_get(const Evas_Object *o);
-
-/**
- * Sets editable state for frame.
- *
- * @param o the frame object to set editable state
- * @param editable a new state to set
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_editable_set(Evas_Object *o, Eina_Bool editable);
-
-/**
- * Gets the copy of the selected text.
- *
- * The returned string @b should be freed by eina_stringshare_del() after use.
- *
- * @param o the frame object to get selected text
- *
- * @return a newly allocated string or @c NULL if nothing is selected or on failure
- */
-EAPI const char *ewk_frame_selection_get(const Evas_Object *o);
-
-/**
- * Searches the given string in a document.
- *
- * @param o frame object where to search the text
- * @param string reference string to search
- * @param case_sensitive if search should be case sensitive or not
- * @param forward if search is from cursor and on or backwards
- * @param wrap if search should wrap at the end
- *
- * @return @c EINA_TRUE if the given string was found, @c EINA_FALSE if not or failure
- */
-EAPI Eina_Bool ewk_frame_text_search(const Evas_Object *o, const char *string, Eina_Bool case_sensitive, Eina_Bool forward, Eina_Bool wrap);
-
-/**
- * Marks matches the given string in a document.
- *
- * @param o frame object where to search text
- * @param string reference string to match
- * @param case_sensitive if match should be case sensitive or not
- * @param highlight if matches should be highlighted
- * @param limit maximum amount of matches, or zero to unlimited
- *
- * @return number of matched @a string
- */
-EAPI unsigned int ewk_frame_text_matches_mark(Evas_Object *o, const char *string, Eina_Bool case_sensitive, Eina_Bool highlight, unsigned int limit);
-
-/**
- * Unmarks all marked matches in a document.
- * Reverses the effect of ewk_frame_text_matches_mark().
- *
- * @param o frame object where to unmark matches
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_frame_text_matches_unmark_all(Evas_Object *o);
-
-/**
- * Sets whether matches marked with ewk_frame_text_matches_mark() should be highlighted.
- *
- * @param o frame object where to set if matches are highlighted or not
- * @param highlight @c EINA_TRUE if matches are highlighted, @c EINA_FALSE if not
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_frame_text_matches_highlight_set(Evas_Object *o, Eina_Bool highlight);
-
-/**
- * Returns whether matches marked with ewk_frame_text_matches_mark() are highlighted.
- *
- * @param o frame object to query if matches are highlighted or not
- *
- * @return @c EINA_TRUE if matches are highlighted, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_text_matches_highlight_get(const Evas_Object *o);
-
-/**
- * Returns the position of the n-th matched text in the frame.
- *
- * @param o frame object where matches are marked
- * @param n index of element
- * @param x the pointer to store the horizontal position of @a n matched text, may be @c NULL
- * @param y the pointer to store the vertical position of @a n matched text, may be @c NULL
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE when no matches were found or
- * @a n is bigger than search results or on failure
- */
-EAPI Eina_Bool ewk_frame_text_matches_nth_pos_get(const Evas_Object *o, size_t n, int *x, int *y);
-
-/**
- * Asks frame to stop loading.
- *
- * @param o frame object to stop loading
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_stop(Evas_Object *o);
-
-/**
- * Asks frame to reload current document.
- *
- * @param o frame object to reload current document
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
- *
- * @see ewk_frame_reload_full()
- */
-EAPI Eina_Bool ewk_frame_reload(Evas_Object *o);
-
-/**
- * Asks frame to fully reload current document, using no previous caches.
- *
- * @param o frame object to reload current document
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_reload_full(Evas_Object *o);
-
-/**
- * Asks the frame to navigate back in the history.
- *
- * @param o frame object to navigate back
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
- *
- * @see ewk_frame_navigate()
- */
-EAPI Eina_Bool ewk_frame_back(Evas_Object *o);
-
-/**
- * Asks frame to navigate forward in the history.
- *
- * @param o frame object to navigate forward
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
- *
- * @see ewk_frame_navigate()
- */
-EAPI Eina_Bool ewk_frame_forward(Evas_Object *o);
-
-/**
- * Navigates back or forward in the history.
- *
- * @param o frame object to navigate
- * @param steps if positive navigates that amount forwards, if negative
- * does backwards
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_navigate(Evas_Object *o, int steps);
-
-/**
- * Queries if it's possible to navigate backwards one item in the history.
- *
- * @param o frame object to query if backward navigation is possible
- *
- * @return @c EINA_TRUE if it's possible to navigate backwards one item in the history, @c EINA_FALSE otherwise
- *
- * @see ewk_frame_navigate_possible()
- */
-EAPI Eina_Bool ewk_frame_back_possible(Evas_Object *o);
-
-/**
- * Queries if it's possible to navigate forwards one item in the history.
- *
- * @param o frame object to query if forward navigation is possible
- *
- * @return @c EINA_TRUE if it's possible to navigate forwards in the history, @c EINA_FALSE otherwise
- *
- * @see ewk_frame_navigate_possible()
- */
-EAPI Eina_Bool ewk_frame_forward_possible(Evas_Object *o);
-
-/**
- * Queries if it's possible to navigate given @a steps in the history.
- *
- * @param o frame object to query if is possible to navigate @a steps in the history
- * @param steps positive value navigates that amount forwards, negative value
- * does backwards
- *
- * @return @c EINA_TRUE if it's possible to navigate @a steps in the history, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_navigate_possible(Evas_Object *o, int steps);
-
-/**
- * Gets the current page zoom level used by this frame.
- *
- * @param o frame object to get zoom level
- *
- * @return page zoom level for the frame or @c -1.0 on failure
- *
- * @see ewk_frame_text_zoom_get()
- */
-EAPI float ewk_frame_page_zoom_get(const Evas_Object *o);
-
-/**
- * Sets the current page zoom level used by this frame.
- *
- * @param o frame object to change zoom level
- * @param page_zoom_factor a new zoom level
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- *
- * @see ewk_frame_text_zoom_set()
- */
-EAPI Eina_Bool ewk_frame_page_zoom_set(Evas_Object *o, float page_zoom_factor);
-
-/**
- * Gets the current text zoom level used by this frame.
- *
- * @param o frame object to get zoom level
- *
- * @return text zoom level for the frame or @c -1.0 on failure
- *
- * @see ewk_frame_page_zoom_get()
- */
-EAPI float ewk_frame_text_zoom_get(const Evas_Object *o);
-
-/**
- * Sets the current text zoom level used by this frame.
- *
- * @param o frame object to change zoom level
- * @param textZoomFactor a new zoom level
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- *
- * @see ewk_frame_page_zoom_set()
- */
-EAPI Eina_Bool ewk_frame_text_zoom_set(Evas_Object *o, float text_zoom_factor);
-
-/**
- * Frees hit test instance created by ewk_frame_hit_test_new().
- *
- * @param hit_test instance
- */
-EAPI void ewk_frame_hit_test_free(Ewk_Hit_Test *hit_test);
-
-/**
- * Creates a new hit test for the given frame and point.
- *
- * The returned object should be freed by ewk_frame_hit_test_free().
- *
- * @param o frame object to do hit test on
- * @param x the horizontal position to query
- * @param y the vertical position to query
- *
- * @return a newly allocated hit test on success, @c NULL otherwise
- */
-EAPI Ewk_Hit_Test *ewk_frame_hit_test_new(const Evas_Object *o, int x, int y);
-
-/**
- * Sets a relative scroll of the given frame.
- *
- * This function does scroll @a dx and @a dy pixels
- * from the current position of scroll.
- *
- * @param o frame object to scroll
- * @param dx horizontal offset to scroll
- * @param dy vertical offset to scroll
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_scroll_add(Evas_Object *o, int dx, int dy);
-
-/**
- * Sets an absolute scroll of the given frame.
- *
- * Both values are from zero to the contents size minus the viewport
- * size. See ewk_frame_scroll_size_get().
- *
- * @param o frame object to scroll
- * @param x horizontal position to scroll
- * @param y vertical position to scroll
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_scroll_set(Evas_Object *o, int x, int y);
-
-/**
- * Gets the possible scroll size of the given frame.
- *
- * Possible scroll size is contents size minus the viewport
- * size. It's the last allowed value for ewk_frame_scroll_set()
- *
- * @param o frame object to get scroll size
- * @param w the pointer to store the horizontal size that is possible to scroll,
- * may be @c NULL
- * @param h the pointer to store the vertical size that is possible to scroll,
- * may be @c NULL
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise and
- * values are zeroed
- */
-EAPI Eina_Bool ewk_frame_scroll_size_get(const Evas_Object *o, int *w, int *h);
-
-/**
- * Gets the current scroll position of given frame.
- *
- * @param o frame object to get the current scroll position
- * @param x the pointer to store the horizontal position, may be @c NULL
- * @param y the pointer to store the vertical position. may be @c NULL
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise and
- * values are zeroed.
- */
-EAPI Eina_Bool ewk_frame_scroll_pos_get(const Evas_Object *o, int *x, int *y);
-
-/**
- * Gets the visible content geometry of the frame.
- *
- * @param o frame object to query visible content geometry
- * @param include_scrollbars whenever to include scrollbars size
- * @param x the pointer to store the horizontal position, may be @c NULL
- * @param y the pointer to store the vertical position, may be @c NULL
- * @param w the pointer to store width, may be @c NULL
- * @param h the pointer to store height, may be @c NULL
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise and
- * values are zeroed
- */
-EAPI Eina_Bool ewk_frame_visible_content_geometry_get(const Evas_Object *o, Eina_Bool include_scrollbars, int *x, int *y, int *w, int *h);
-
-/**
- * Queries if the frame should be repainted completely.
- *
- * Function tells if dirty areas should be repainted
- * even if they are out of the screen.
- *
- * @param o frame object to query if the frame should be repainted completely
- *
- * @return @c EINA_TRUE if any dirty areas should be repainted, @c EINA_FALSE
- * otherwise
- */
-EAPI Eina_Bool ewk_frame_paint_full_get(const Evas_Object *o);
-
-/**
- * Sets if the frame should be repainted completely.
- *
- * Function sets if dirty areas should be repainted
- * even if they are out of the screen.
- *
- * @param o frame object to set if the frame should be repainted completely
- * @param flag @c EINA_TRUE to repaint the frame completely,
- * @c EINA_FALSE if not
- */
-EAPI void ewk_frame_paint_full_set(Evas_Object *o, Eina_Bool flag);
-
-/**
- * Feeds the focus in event to the frame.
- *
- * @param o frame object to feed focus
- *
- * @return @c EINA_TRUE if the focus was handled, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_feed_focus_in(Evas_Object *o);
-
-/**
- * Feeds the focus out event to the frame.
- *
- * @param o frame object to remove focus
- *
- * @return @c EINA_FALSE since the feature is not implemented
- */
-EAPI Eina_Bool ewk_frame_feed_focus_out(Evas_Object *o);
-
-/**
- * Gets the geometry, relative to the frame, of the focused element in the
- * document.
- *
- * @param o frame object containing the focused element
- * @param x pointer where to store the X value of the geometry, may be @c NULL
- * @param x pointer where to store the Y value of the geometry, may be @c NULL
- * @param x pointer where to store width of the geometry, may be @c NULL
- * @param x pointer where to store height of the geometry, may be @c NULL
- *
- * @return @c EINA_TRUE if the frame contains the currently focused element and
- * its geometry was correctly fetched, @c EINA_FALSE in any other case
- */
-EAPI Eina_Bool ewk_frame_focused_element_geometry_get(const Evas_Object *o, int *x, int *y, int *w, int *h);
-
-/**
- * Feeds the mouse wheel event to the frame.
- *
- * @param o frame object to feed the mouse wheel event
- * @param ev the mouse wheel event
- *
- * @return @c EINA_TRUE if the mouse wheel event was handled, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_feed_mouse_wheel(Evas_Object *o, const Evas_Event_Mouse_Wheel *ev);
-
-/**
- * Feeds the mouse down event to the frame.
- *
- * @param o frame object to feed the mouse down event
- * @param ev the mouse down event
- *
- * @return @c EINA_TRUE if the mouse down event was handled, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_feed_mouse_down(Evas_Object *o, const Evas_Event_Mouse_Down *ev);
-
-/**
- * Feeds the mouse up event to the frame.
- *
- * @param o frame object to feed the mouse up event
- * @param ev the mouse up event
- *
- * @return @c EINA_TRUE if the mouse up event was handled, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_feed_mouse_up(Evas_Object *o, const Evas_Event_Mouse_Up *ev);
-
-/**
- * Feeds the mouse move event to the frame.
- *
- * @param o frame object to feed the mouse move event
- * @param ev the mouse move event
- *
- * @return @c EINA_TRUE if the mouse move event was handled, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_feed_mouse_move(Evas_Object *o, const Evas_Event_Mouse_Move *ev);
-
-/**
- * Feeds the touch event to the frame.
- *
- * @param o frame object to feed touch event
- * @param action the action of touch event
- * @param points a list of points (Ewk_Touch_Point) to process
- * @param metaState modifiers state of touch event. Users are expected to pass ORed values of the ECORE_EVENT_MODIFIER macros in Ecore_Input.h, such as ECORE_EVENT_MODIFIER_ALT or ECORE_EVENT_MODIFIER_SHIFT
- *
- * @return @c EINA_TRUE if touch event was handled, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_feed_touch_event(Evas_Object *o, Ewk_Touch_Event_Type action, Eina_List *points, unsigned modifiers);
-
-/**
- * Feeds the keyboard key down event to the frame.
- *
- * @param o frame object to feed event
- * @param ev keyboard key down event
- *
- * @return @c EINA_TRUE if the key down event was handled, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_feed_key_down(Evas_Object *o, const Evas_Event_Key_Down *ev);
-
-/**
- * Feeds the keyboard key up event to the frame.
- *
- * @param o frame object to feed event
- * @param ev keyboard key up event
- *
- * @return @c EINA_TRUE if the key up event was handled, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_frame_feed_key_up(Evas_Object *o, const Evas_Event_Key_Up *ev);
-
-/**
- * Returns current text selection type.
- *
- * @param o a frame object to check selection type
- * @return current text selection type on success or no selection otherwise
- */
-EAPI Ewk_Text_Selection_Type ewk_frame_text_selection_type_get(const Evas_Object *o);
-
-/**
- * Gets the frame source.
- *
- * It's part of HTML saving feature. Currently only HTML documents are supported.
- *
- * @param o frame smart object to get the frame source
- * @param frame_source a pointer to store the source of frame,
- * must @b not be @c NULL, this value @b should be freed after use
- *
- * @return @c length of @a frame_source on success, or @c -1 on failure
- *
- * @see ewk_frame_resources_location_get()
- */
-EAPI ssize_t ewk_frame_source_get(const Evas_Object *o, char **frame_source);
-
-/**
- * Gets the resource list of this frame.
- *
- * It's part of HTML saving feature. Currently only locations of images are supported.
- * An application might find these values in frame source and
- * replace them to the local paths. Values are not duplicated and they are decoded.
- *
- * @param o frame smart object to get the resources list
- * @return @c Eina_List with location of resources on success, or @c NULL on failure,
- * the Eina_List should be freed after use
- *
- * @see ewk_frame_source_get()
- */
-EAPI Eina_List *ewk_frame_resources_location_get(const Evas_Object *o);
-
-/**
- * Retrieve the frame's contents in plain text.
- *
- * This function returns the contents of the given frame converted to plain text,
- * removing all the HTML formatting.
- *
- * The returned string @b should be freed by eina_stringshare_del() after use.
- *
- * @param ewkFrame Frame object whose contents to retrieve.
- *
- * @return A newly allocated string (which must be freed by the caller with @c free())
- * or @c NULL in case of failure.
- */
-EAPI const char *ewk_frame_plain_text_get(const Evas_Object *o);
-
-/**
- * Returns whether the frame has displayed mixed content.
- *
- * When a frame has displayed mixed content, its current URI is an HTTPS one, but it has
- * loaded and displayed a resource (such as an image) from an insecure (non-HTTPS) URI.
- * Both the frame and the container view send a "mixedcontent,displayed" signal in this case.
- *
- * The status is reset only when a load event occurs (eg. the page is reloaded or a new page is loaded).
- *
- * @param o The frame to query.
- *
- * @sa ewk_view_mixed_content_displayed_get
- */
-EAPI Eina_Bool ewk_frame_mixed_content_displayed_get(const Evas_Object *o);
-
-/**
- * Returns whether the frame has run mixed content.
- *
- * When a frame has run mixed content, its current URI is an HTTPS one, but it has
- * loaded and run a resource (such as an image) from an insecure (non-HTTPS) URI.
- * Both the frame and the container view send a "mixedcontent,run" signal in this case.
- *
- * The status is reset only when a load event occurs (eg. the page is reloaded or a new page is loaded).
- *
- * @param o The frame to query.
- *
- * @sa ewk_view_mixed_content_run_get
- */
-EAPI Eina_Bool ewk_frame_mixed_content_run_get(const Evas_Object *o);
-
-/**
- * Returns the validity of the X.509 certificate related to the current frame.
- */
-EAPI Ewk_Certificate_Status ewk_frame_certificate_status_get(Evas_Object *o);
-
-#ifdef __cplusplus
-}
-#endif
-#endif // ewk_frame_h
diff --git a/Source/WebKit/efl/ewk/ewk_frame_private.h b/Source/WebKit/efl/ewk/ewk_frame_private.h
deleted file mode 100644
index fb50518d2..000000000
--- a/Source/WebKit/efl/ewk/ewk_frame_private.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2012 Samsung Electronics
-
- 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 ewk_frame_private_h
-#define ewk_frame_private_h
-
-#include "ewk_frame.h"
-#include <Evas.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/Vector.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-class HistoryItem;
-class HTMLPlugInElement;
-class KURL;
-class Frame;
-class IntSize;
-class Widget;
-}
-
-Evas_Object* ewk_frame_add(Evas* canvas);
-bool ewk_frame_init(Evas_Object* ewkFrame, Evas_Object* view, WebCore::Frame* frame);
-bool ewk_frame_child_add(Evas_Object* ewkFrame, WTF::PassRefPtr<WebCore::Frame> child, const WTF::String& name, const WebCore::KURL& url, const WTF::String& referrer);
-void ewk_frame_view_set(Evas_Object* ewkFrame, Evas_Object* newParent);
-
-void ewk_frame_core_gone(Evas_Object* ewkFrame);
-
-void ewk_frame_load_committed(Evas_Object* ewkFrame);
-void ewk_frame_load_started(Evas_Object* ewkFrame);
-void ewk_frame_load_provisional(Evas_Object* ewkFrame);
-void ewk_frame_load_provisional_failed(Evas_Object* ewkFrame, const Ewk_Frame_Load_Error* error);
-void ewk_frame_load_firstlayout_finished(Evas_Object* ewkFrame);
-void ewk_frame_load_firstlayout_nonempty_finished(Evas_Object* ewkFrame);
-void ewk_frame_load_document_finished(Evas_Object* ewkFrame);
-void ewk_frame_load_finished(Evas_Object* ewkFrame, const char* errorDomain, int errorCode, bool isCancellation, const char* errorDescription, const char* failingUrl);
-void ewk_frame_load_resource_finished(Evas_Object* ewkFrame, unsigned long identifier);
-void ewk_frame_load_resource_failed(Evas_Object* ewkFrame, Ewk_Frame_Load_Error* error);
-void ewk_frame_load_error(Evas_Object* ewkFrame, const char* errorDomain, int errorCode, bool isCancellation, const char* errorDescription, const char* failingUrl);
-void ewk_frame_load_progress_changed(Evas_Object* ewkFrame);
-
-void ewk_frame_redirect_cancelled(Evas_Object* ewkFrame);
-void ewk_frame_redirect_provisional_load(Evas_Object* ewkFrame);
-void ewk_frame_redirect_requested(Evas_Object* ewkFrame, const char* url);
-void ewk_frame_request_will_send(Evas_Object* ewkFrame, Ewk_Frame_Resource_Messages* messages);
-void ewk_frame_request_assign_identifier(Evas_Object* ewkFrame, const Ewk_Frame_Resource_Request* request);
-void ewk_frame_response_received(Evas_Object* ewkFrame, Ewk_Frame_Resource_Response* response);
-void ewk_frame_view_state_save(Evas_Object* ewkFrame, WebCore::HistoryItem* item);
-
-void ewk_frame_did_perform_first_navigation(Evas_Object* ewkFrame);
-
-void ewk_frame_contents_size_changed(Evas_Object* ewkFrame, Evas_Coord width, Evas_Coord height);
-void ewk_frame_title_set(Evas_Object* ewkFrame, const Ewk_Text_With_Direction* title);
-
-void ewk_frame_view_create_for_view(Evas_Object* ewkFrame, Evas_Object* view);
-bool ewk_frame_uri_changed(Evas_Object* ewkFrame);
-void ewk_frame_force_layout(Evas_Object* ewkFrame);
-void ewk_frame_icon_changed(Evas_Object* ewkFrame);
-
-WTF::PassRefPtr<WebCore::Widget> ewk_frame_plugin_create(Evas_Object* ewkFrame, const WebCore::IntSize& pluginSize, WebCore::HTMLPlugInElement* element, const WebCore::KURL& url, const WTF::Vector<WTF::String>& paramNames, const WTF::Vector<WTF::String>& paramValues, const WTF::String& mimeType, bool loadManually);
-
-void ewk_frame_editor_client_contents_changed(Evas_Object* ewkFrame);
-void ewk_frame_editor_client_selection_changed(Evas_Object* ewkFrame);
-
-void ewk_frame_mixed_content_displayed_set(Evas_Object* ewkFrame, bool hasDisplayed);
-void ewk_frame_mixed_content_run_set(Evas_Object* ewkFrame, bool hasRun);
-
-void ewk_frame_xss_detected(Evas_Object* ewkFrame, const Ewk_Frame_Xss_Notification* xssInfo);
-
-namespace EWKPrivate {
-WebCore::Frame *coreFrame(const Evas_Object *ewkFrame);
-Evas_Object* kitFrame(const WebCore::Frame* coreFrame);
-} // namespace EWKPrivate
-
-#endif // ewk_frame_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_history.cpp b/Source/WebKit/efl/ewk/ewk_history.cpp
deleted file mode 100644
index 91729979b..000000000
--- a/Source/WebKit/efl/ewk/ewk_history.cpp
+++ /dev/null
@@ -1,426 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2010 Samsung Electronics
-
- 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 "ewk_history.h"
-
-#include "BackForwardListImpl.h"
-#include "CairoUtilitiesEfl.h"
-#include "HistoryItem.h"
-#include "IconDatabaseBase.h"
-#include "Image.h"
-#include "IntSize.h"
-#include "Page.h"
-#include "PageGroup.h"
-#include "ewk_history_private.h"
-#include "ewk_private.h"
-#include <Eina.h>
-#include <eina_safety_checks.h>
-#include <wtf/text/CString.h>
-
-struct _Ewk_History {
- WebCore::BackForwardListImpl* core;
-};
-
-#define EWK_HISTORY_CORE_GET_OR_RETURN(history, core_, ...) \
- if (!(history)) { \
- CRITICAL("history is NULL."); \
- return __VA_ARGS__; \
- } \
- if (!(history)->core) { \
- CRITICAL("history->core is NULL."); \
- return __VA_ARGS__; \
- } \
- if (!(history)->core->enabled()) { \
- ERR("history->core is disabled!."); \
- return __VA_ARGS__; \
- } \
- WebCore::BackForwardListImpl* core_ = (history)->core
-
-
-struct _Ewk_History_Item {
- WebCore::HistoryItem* core;
-
- const char* title;
- const char* alternateTitle;
- const char* uri;
- const char* originalUri;
-};
-
-#define EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core_, ...) \
- if (!(item)) { \
- CRITICAL("item is NULL."); \
- return __VA_ARGS__; \
- } \
- if (!(item)->core) { \
- CRITICAL("item->core is NULL."); \
- return __VA_ARGS__; \
- } \
- WebCore::HistoryItem* core_ = (item)->core
-
-static inline Eina_List* _ewk_history_item_list_get(const WebCore::HistoryItemVector& coreItems)
-{
- Eina_List* result = 0;
- unsigned int size;
-
- size = coreItems.size();
- for (unsigned int i = 0; i < size; i++) {
- Ewk_History_Item* item = ewk_history_item_new_from_core(coreItems[i].get());
- if (item)
- result = eina_list_append(result, item);
- }
-
- return result;
-}
-
-Eina_Bool ewk_history_clear(Ewk_History* history)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, false);
-
- WebCore::Page* page = core->page();
- if (page && page->groupPtr())
- page->groupPtr()->removeVisitedLinks();
-
- const int limit = ewk_history_limit_get(history);
- ewk_history_limit_set(history, 0);
- ewk_history_limit_set(history, limit);
-
- return true;
-}
-
-Eina_Bool ewk_history_forward(Ewk_History* history)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, false);
- if (core->forwardListCount() < 1)
- return false;
- core->goForward();
- return true;
-}
-
-Eina_Bool ewk_history_back(Ewk_History* history)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, false);
- if (core->backListCount() < 1)
- return false;
- core->goBack();
- return true;
-}
-
-Eina_Bool ewk_history_history_item_add(Ewk_History* history, const Ewk_History_Item* item)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, history_core, false);
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, item_core, false);
- history_core->addItem(item_core);
- return true;
-}
-
-Eina_Bool ewk_history_history_item_set(Ewk_History* history, const Ewk_History_Item* item)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, history_core, false);
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, item_core, false);
- history_core->goToItem(item_core);
- return true;
-}
-
-Ewk_History_Item* ewk_history_history_item_back_get(const Ewk_History* history)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, 0);
- return ewk_history_item_new_from_core(core->backItem());
-}
-
-Ewk_History_Item* ewk_history_history_item_current_get(const Ewk_History* history)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, 0);
- WebCore::HistoryItem* currentItem = core->currentItem();
- if (currentItem)
- return ewk_history_item_new_from_core(currentItem);
- return 0;
-}
-
-Ewk_History_Item* ewk_history_history_item_forward_get(const Ewk_History* history)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, 0);
- return ewk_history_item_new_from_core(core->forwardItem());
-}
-
-Ewk_History_Item* ewk_history_history_item_nth_get(const Ewk_History* history, int index)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, 0);
- return ewk_history_item_new_from_core(core->itemAtIndex(index));
-}
-
-Eina_Bool ewk_history_history_item_contains(const Ewk_History* history, const Ewk_History_Item* item)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, history_core, false);
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, item_core, false);
- return history_core->containsItem(item_core);
-}
-
-Eina_List* ewk_history_forward_list_get(const Ewk_History* history)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, 0);
- WebCore::HistoryItemVector items;
- int limit = core->forwardListCount();
- core->forwardListWithLimit(limit, items);
- return _ewk_history_item_list_get(items);
-}
-
-Eina_List* ewk_history_forward_list_get_with_limit(const Ewk_History* history, int limit)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, 0);
- WebCore::HistoryItemVector items;
- core->forwardListWithLimit(limit, items);
- return _ewk_history_item_list_get(items);
-}
-
-int ewk_history_forward_list_length(const Ewk_History* history)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, 0);
- return core->forwardListCount();
-}
-
-Eina_List* ewk_history_back_list_get(const Ewk_History* history)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, 0);
- WebCore::HistoryItemVector items;
- int limit = core->backListCount();
- core->backListWithLimit(limit, items);
- return _ewk_history_item_list_get(items);
-}
-
-Eina_List* ewk_history_back_list_get_with_limit(const Ewk_History* history, int limit)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, 0);
- WebCore::HistoryItemVector items;
- core->backListWithLimit(limit, items);
- return _ewk_history_item_list_get(items);
-}
-
-int ewk_history_back_list_length(const Ewk_History* history)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, 0);
- return core->backListCount();
-}
-
-int ewk_history_limit_get(Ewk_History* history)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, 0);
- return core->capacity();
-}
-
-Eina_Bool ewk_history_limit_set(const Ewk_History* history, int limit)
-{
- EWK_HISTORY_CORE_GET_OR_RETURN(history, core, false);
- core->setCapacity(limit);
- return true;
-}
-
-Ewk_History_Item* ewk_history_item_new_from_core(WebCore::HistoryItem* core)
-{
- Ewk_History_Item* item;
-
- if (!core) {
- ERR("WebCore::HistoryItem is NULL.");
- return 0;
- }
-
- core->ref();
-
- item = new Ewk_History_Item;
- memset(item, 0, sizeof(*item));
- item->core = core;
-
- return item;
-}
-
-Ewk_History_Item* ewk_history_item_new(const char* uri, const char* title)
-{
- WTF::String historyUri = WTF::String::fromUTF8(uri);
- WTF::String historyTitle = WTF::String::fromUTF8(title);
- WTF::RefPtr<WebCore::HistoryItem> core = WebCore::HistoryItem::create(historyUri, historyTitle, 0);
- Ewk_History_Item* item = ewk_history_item_new_from_core(core.release().leakRef());
- return item;
-}
-
-static inline void _ewk_history_item_free(Ewk_History_Item* item, WebCore::HistoryItem* core)
-{
- core->deref();
- delete item;
-}
-
-void ewk_history_item_free(Ewk_History_Item* item)
-{
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core);
- _ewk_history_item_free(item, core);
-}
-
-void ewk_history_item_list_free(Eina_List* history_items)
-{
- void* deleteItem;
- EINA_LIST_FREE(history_items, deleteItem) {
- Ewk_History_Item* item = (Ewk_History_Item*)deleteItem;
- _ewk_history_item_free(item, item->core);
- }
-}
-
-const char* ewk_history_item_title_get(const Ewk_History_Item* item)
-{
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core, 0);
- // hide the following optimzation from outside
- Ewk_History_Item* historyItem = const_cast<Ewk_History_Item*>(item);
- eina_stringshare_replace(&historyItem->title, core->title().utf8().data());
- return historyItem->title;
-}
-
-const char* ewk_history_item_title_alternate_get(const Ewk_History_Item* item)
-{
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core, 0);
- // hide the following optimzation from outside
- Ewk_History_Item* historyItem = const_cast<Ewk_History_Item*>(item);
- eina_stringshare_replace(&historyItem->alternateTitle,
- core->alternateTitle().utf8().data());
- return historyItem->alternateTitle;
-}
-
-void ewk_history_item_title_alternate_set(Ewk_History_Item* item, const char* title)
-{
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core);
- if (!eina_stringshare_replace(&item->alternateTitle, title))
- return;
- core->setAlternateTitle(WTF::String::fromUTF8(title));
-}
-
-const char* ewk_history_item_uri_get(const Ewk_History_Item* item)
-{
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core, 0);
- // hide the following optimzation from outside
- Ewk_History_Item* historyItem = const_cast<Ewk_History_Item*>((item));
- eina_stringshare_replace(&historyItem->uri, core->urlString().utf8().data());
- return historyItem->uri;
-}
-
-const char* ewk_history_item_uri_original_get(const Ewk_History_Item* item)
-{
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core, 0);
- // hide the following optimzation from outside
- Ewk_History_Item* historyItem = const_cast<Ewk_History_Item*>(item);
- eina_stringshare_replace(&historyItem->originalUri,
- core->originalURLString().utf8().data());
- return historyItem->originalUri;
-}
-
-double ewk_history_item_time_last_visited_get(const Ewk_History_Item* item)
-{
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core, 0.0);
- return core->lastVisitedTime();
-}
-
-cairo_surface_t* ewk_history_item_icon_surface_get(const Ewk_History_Item* item)
-{
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core, 0);
-
- RefPtr<cairo_surface_t> icon = WebCore::iconDatabase().synchronousNativeIconForPageURL(core->url(), WebCore::IntSize(16, 16));
- if (!icon)
- ERR("icon is NULL.");
-
- return icon.get();
-}
-
-Evas_Object* ewk_history_item_icon_object_add(const Ewk_History_Item* item, Evas* canvas)
-{
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(canvas, 0);
-
- RefPtr<cairo_surface_t> surface = WebCore::iconDatabase().synchronousNativeIconForPageURL(core->url(), WebCore::IntSize(16, 16));
- if (!surface) {
- ERR("icon is NULL.");
- return 0;
- }
-
- return surface ? WebCore::evasObjectFromCairoImageSurface(canvas, surface.get()).leakRef() : 0;
-}
-
-Eina_Bool ewk_history_item_page_cache_exists(const Ewk_History_Item* item)
-{
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core, false);
- return core->isInPageCache();
-}
-
-int ewk_history_item_visit_count(const Ewk_History_Item* item)
-{
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core, 0);
- return core->visitCount();
-}
-
-Eina_Bool ewk_history_item_visit_last_failed(const Ewk_History_Item* item)
-{
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core, true);
- return core->lastVisitWasFailure();
-}
-
-
-/* internal methods ****************************************************/
-/**
- * @internal
- *
- * Creates history for given view. Called internally by ewk_view and
- * should never be called from outside.
- *
- * @param core WebCore::BackForwardListImpl instance to use internally.
- *
- * @return newly allocated history instance or @c NULL on errors.
- */
-Ewk_History* ewk_history_new(WebCore::BackForwardListImpl* core)
-{
- Ewk_History* history;
- EINA_SAFETY_ON_NULL_RETURN_VAL(core, 0);
- DBG("core=%p", core);
-
- history = new Ewk_History;
- history->core = core;
- core->ref();
-
- return history;
-}
-
-/**
- * @internal
- *
- * Destroys previously allocated history instance. This is called
- * automatically by ewk_view and should never be called from outside.
- *
- * @param history instance to free
- */
-void ewk_history_free(Ewk_History* history)
-{
- DBG("history=%p", history);
- history->core->deref();
- delete history;
-}
-
-namespace EWKPrivate {
-
-WebCore::HistoryItem* coreHistoryItem(const Ewk_History_Item* ewkHistoryItem)
-{
- EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(ewkHistoryItem, core, 0);
- return core;
-}
-
-} // namespace EWKPrivate
diff --git a/Source/WebKit/efl/ewk/ewk_history.h b/Source/WebKit/efl/ewk/ewk_history.h
deleted file mode 100644
index 5b0412816..000000000
--- a/Source/WebKit/efl/ewk/ewk_history.h
+++ /dev/null
@@ -1,425 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2010 Samsung Electronics
-
- 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 ewk_history_h
-#define ewk_history_h
-
-#include <Eina.h>
-#include <Evas.h>
-#include <cairo.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file ewk_history.h
- * @brief The history (back-forward list) associated with a given ewk_view.
- *
- * Changing the history affects immediately the view, changing the
- * current uri, for example.
- *
- * When ewk_view is navigated or uris are set, history automatically
- * updates. That's why no direct access to history structure is
- * allowed.
- */
-typedef struct _Ewk_History Ewk_History;
-
-/**
- * Represents one item from Ewk_History.
- */
-typedef struct _Ewk_History_Item Ewk_History_Item;
-
-
-
-/**
- * Clear the current history, if there is any.
- *
- * @param history which history instance to modify.
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure.
- */
-EAPI Eina_Bool ewk_history_clear(Ewk_History *history);
-
-/**
- * Go forward in history one item, if possible.
- *
- * @param history which history instance to modify.
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure.
- */
-EAPI Eina_Bool ewk_history_forward(Ewk_History *history);
-
-/**
- * Go back in history one item, if possible.
- *
- * @param history which history instance to modify.
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure.
- */
-EAPI Eina_Bool ewk_history_back(Ewk_History *history);
-
-/**
- * Adds the given item to history.
- *
- * Memory handling: This will not modify or even take references to
- * given item (Ewk_History_Item), so you should still handle it with
- * ewk_history_item_free().
- *
- * @param history which history instance to modify.
- * @param item reference to add to history. Unmodified. Must @b not be @c NULL.
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure.
- */
-EAPI Eina_Bool ewk_history_history_item_add(Ewk_History *history, const Ewk_History_Item *item);
-
-/**
- * Sets the given item as current in history (go to item).
- *
- * Memory handling: This will not modify or even take references to
- * given item (Ewk_History_Item), so you should still handle it with
- * ewk_history_item_free().
- *
- * @param history which history instance to modify.
- * @param item reference to go to history. Unmodified. Must @b not be @c NULL.
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure.
- */
-EAPI Eina_Bool ewk_history_history_item_set(Ewk_History *history, const Ewk_History_Item *item);
-
-/**
- * Get the first item from back list, if any.
- *
- * @param history which history instance to query.
- *
- * @return the @b newly allocated item instance. This memory must be
- * released with ewk_history_item_free() after use.
- */
-EAPI Ewk_History_Item *ewk_history_history_item_back_get(const Ewk_History *history);
-
-/**
- * Get the current item in history, if any.
- *
- * @param history which history instance to query.
- *
- * @return the @b newly allocated item instance or @c NULL on error. This memory
- * must be released with ewk_history_item_free() after use.
- */
-EAPI Ewk_History_Item *ewk_history_history_item_current_get(const Ewk_History *history);
-
-/**
- * Get the first item from forward list, if any.
- *
- * @param history which history instance to query.
- *
- * @return the @b newly allocated item instance. This memory must be
- * released with ewk_history_item_free() after use.
- */
-EAPI Ewk_History_Item *ewk_history_history_item_forward_get(const Ewk_History *history);
-
-/**
- * Get item at given position, if any at that index.
- *
- * @param history which history instance to query.
- * @param index position of item to get.
- *
- * @return the @b newly allocated item instance. This memory must be
- * released with ewk_history_item_free() after use.
- */
-EAPI Ewk_History_Item *ewk_history_history_item_nth_get(const Ewk_History *history, int index);
-
-/**
- * Queries if given item is in history.
- *
- * Memory handling: This will not modify or even take references to
- * given item (Ewk_History_Item), so you should still handle it with
- * ewk_history_item_free().
- *
- * @param history which history instance to modify.
- * @param item reference to check in history. Must @b not be @c NULL.
- *
- * @return @c EINA_TRUE if in history, @c EINA_FALSE if not or failure.
- */
-EAPI Eina_Bool ewk_history_history_item_contains(const Ewk_History *history, const Ewk_History_Item *item);
-
-/**
- * Get the whole forward list.
- *
- * @param history which history instance to query.
- *
- * @return a newly allocated list of @b newly allocated item
- * instance. This memory of each item must be released with
- * ewk_history_item_free() after use. use
- * ewk_history_item_list_free() for convenience.
- *
- * @see ewk_history_item_list_free()
- * @see ewk_history_forward_list_get_with_limit()
- */
-EAPI Eina_List *ewk_history_forward_list_get(const Ewk_History *history);
-
-/**
- * Get the forward list within the given limit.
- *
- * @param history which history instance to query.
- * @param limit the maximum number of items to return.
- *
- * @return a newly allocated list of @b newly allocated item
- * instance. This memory of each item must be released with
- * ewk_history_item_free() after use. use
- * ewk_history_item_list_free() for convenience.
- *
- * @see ewk_history_item_list_free()
- * @see ewk_history_forward_list_length()
- * @see ewk_history_forward_list_get()
- */
-EAPI Eina_List *ewk_history_forward_list_get_with_limit(const Ewk_History *history, int limit);
-
-/**
- * Get the whole size of forward list.
- *
- * @param history which history instance to query.
- *
- * @return number of elements in whole list.
- *
- * @see ewk_history_forward_list_get_with_limit()
- */
-EAPI int ewk_history_forward_list_length(const Ewk_History *history);
-
-/**
- * Get the whole back list.
- *
- * @param history which history instance to query.
- *
- * @return a newly allocated list of @b newly allocated item
- * instance. This memory of each item must be released with
- * ewk_history_item_free() after use. use
- * ewk_history_item_list_free() for convenience.
- *
- * @see ewk_history_item_list_free()
- * @see ewk_history_back_list_get_with_limit()
- */
-EAPI Eina_List *ewk_history_back_list_get(const Ewk_History *history);
-
-/**
- * Get the back list within the given limit.
- *
- * @param history which history instance to query.
- * @param limit the maximum number of items to return.
- *
- * @return a newly allocated list of @b newly allocated item
- * instance. This memory of each item must be released with
- * ewk_history_item_free() after use. use
- * ewk_history_item_list_free() for convenience.
- *
- * @see ewk_history_item_list_free()
- * @see ewk_history_back_list_length()
- * @see ewk_history_back_list_get()
- */
-EAPI Eina_List *ewk_history_back_list_get_with_limit(const Ewk_History *history, int limit);
-
-/**
- * Get the whole size of back list.
- *
- * @param history which history instance to query.
- *
- * @return number of elements in whole list.
- *
- * @see ewk_history_back_list_get_with_limit()
- */
-EAPI int ewk_history_back_list_length(const Ewk_History *history);
-
-/**
- * Get maximum capacity of given history.
- *
- * @param history which history instance to query.
- *
- * @return maximum number of entries this history will hold.
- */
-EAPI int ewk_history_limit_get(Ewk_History *history);
-
-/**
- * Set maximum capacity of given history.
- *
- * @param history which history instance to modify.
- * @param limit maximum size to allow.
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE otherwise.
- */
-EAPI Eina_Bool ewk_history_limit_set(const Ewk_History *history, int limit);
-
-/**
- * Create a new history item with given URI and title.
- *
- * @param uri where this resource is located.
- * @param title resource title.
- *
- * @return newly allocated history item or @c NULL on errors. You must
- * free this item with ewk_history_item_free().
- */
-EAPI Ewk_History_Item *ewk_history_item_new(const char *uri, const char *title);
-
-/**
- * Free given history item instance.
- *
- * @param item what to free.
- */
-EAPI void ewk_history_item_free(Ewk_History_Item *item);
-
-/**
- * Free given list and associated history items instances.
- *
- * @param history_items list of items to free (both list nodes and
- * item instances).
- */
-EAPI void ewk_history_item_list_free(Eina_List *history_items);
-
-/**
- * Query title for given history item.
- *
- * @param item history item to query.
- *
- * @return the title pointer, that may be @c NULL. This pointer is
- * guaranteed to be eina_stringshare, so whenever possible
- * save yourself some cpu cycles and use
- * eina_stringshare_ref() instead of eina_stringshare_add() or
- * strdup().
- */
-EAPI const char *ewk_history_item_title_get(const Ewk_History_Item *item);
-
-/**
- * Query alternate title for given history item.
- *
- * @param item history item to query.
- *
- * @return the alternate title pointer, that may be @c NULL. This
- * pointer is guaranteed to be eina_stringshare, so whenever
- * possible save yourself some cpu cycles and use
- * eina_stringshare_ref() instead of eina_stringshare_add() or
- * strdup().
- */
-EAPI const char *ewk_history_item_title_alternate_get(const Ewk_History_Item *item);
-
-/**
- * Set alternate title for given history item.
- *
- * @param item history item to query.
- * @param title new alternate title to use for given item. No
- * references are kept after this function returns.
- */
-EAPI void ewk_history_item_title_alternate_set(Ewk_History_Item *item, const char *title);
-
-/**
- * Query URI for given history item.
- *
- * @param item history item to query.
- *
- * @return the URI pointer, that may be @c NULL. This pointer is
- * guaranteed to be eina_stringshare, so whenever possible
- * save yourself some cpu cycles and use
- * eina_stringshare_ref() instead of eina_stringshare_add() or
- * strdup().
- */
-EAPI const char *ewk_history_item_uri_get(const Ewk_History_Item *item);
-
-/**
- * Query original URI for given history item.
- *
- * @param item history item to query.
- *
- * @return the original URI pointer, that may be @c NULL. This pointer
- * is guaranteed to be eina_stringshare, so whenever possible
- * save yourself some cpu cycles and use
- * eina_stringshare_ref() instead of eina_stringshare_add() or
- * strdup().
- */
-EAPI const char *ewk_history_item_uri_original_get(const Ewk_History_Item *item);
-
-/**
- * Query last visited time for given history item.
- *
- * @param item history item to query.
- *
- * @return the time in seconds this item was visited.
- */
-EAPI double ewk_history_item_time_last_visited_get(const Ewk_History_Item *item);
-
-/**
- * Get the icon (aka favicon) associated with this history item.
- *
- * @note in order to have this working, one must open icon database
- * with ewk_settings_icon_database_path_set().
- *
- * @param item history item to query.
- *
- * @return the surface reference or @c NULL on errors. Note that the
- * reference may be to a standard fallback icon.
- */
-EAPI cairo_surface_t *ewk_history_item_icon_surface_get(const Ewk_History_Item *item);
-
-/**
- * Add an Evas_Object of type 'image' to given canvas with history item icon.
- *
- * This is an utility function that creates an Evas_Object of type
- * image set to have fill always match object size
- * (evas_object_image_filled_add()), saving some code to use it from Evas.
- *
- * @note in order to have this working, one must open icon database
- * with ewk_settings_icon_database_path_set().
- *
- * @param item history item to query.
- * @param canvas evas instance where to add resulting object.
- *
- * @return newly allocated Evas_Object instance or @c NULL on
- * errors. Delete the object with evas_object_del().
- */
-EAPI Evas_Object *ewk_history_item_icon_object_add(const Ewk_History_Item *item, Evas *canvas);
-
-/**
- * Query if given item is still in page cache.
- *
- * @param item history item to query.
- *
- * @return @c EINA_TRUE if in cache, @c EINA_FALSE otherwise.
- */
-EAPI Eina_Bool ewk_history_item_page_cache_exists(const Ewk_History_Item *item);
-
-/**
- * Query number of times item was visited.
- *
- * @param item history item to query.
- *
- * @return number of visits.
- */
-EAPI int ewk_history_item_visit_count(const Ewk_History_Item *item);
-
-/**
- * Query if last visit to item was failure or not.
- *
- * @param item history item to query.
- *
- * @return @c EINA_TRUE if last visit was failure, @c EINA_FALSE if it
- * was fine.
- */
-EAPI Eina_Bool ewk_history_item_visit_last_failed(const Ewk_History_Item *item);
-
-#ifdef __cplusplus
-}
-#endif
-#endif // ewk_history_h
diff --git a/Source/WebKit/efl/ewk/ewk_history_private.h b/Source/WebKit/efl/ewk/ewk_history_private.h
deleted file mode 100644
index 44547bed8..000000000
--- a/Source/WebKit/efl/ewk/ewk_history_private.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2012 Samsung Electronics
-
- 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 ewk_history_private_h
-#define ewk_history_private_h
-
-#include "BackForwardListImpl.h"
-
-namespace WebCore {
-class HistoryItem;
-class BackForwardListImpl;
-}
-
-Ewk_History_Item *ewk_history_item_new_from_core(WebCore::HistoryItem *core);
-Ewk_History* ewk_history_new(WebCore::BackForwardListImpl* history);
-void ewk_history_free(Ewk_History* history);
-
-namespace EWKPrivate {
-WebCore::HistoryItem *coreHistoryItem(const Ewk_History_Item *ewkHistoryItem);
-} // namespace EWKPrivate
-
-#endif // ewk_history_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_js.cpp b/Source/WebKit/efl/ewk/ewk_js.cpp
deleted file mode 100644
index fb8215c8f..000000000
--- a/Source/WebKit/efl/ewk/ewk_js.cpp
+++ /dev/null
@@ -1,751 +0,0 @@
-/*
- Copyright (C) 2011 ProFUSION embedded systems
-
- 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 "ewk_js.h"
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-#include "NP_jsobject.h"
-#include "Operations.h"
-#include "ewk_js_private.h"
-#include "ewk_private.h"
-#include "npruntime.h"
-#include "npruntime_impl.h"
-#include <string.h>
-
-#define EINA_MAGIC_CHECK_OR_RETURN(o, ...) \
- if (!EINA_MAGIC_CHECK(o, EWK_JS_OBJECT_MAGIC)) { \
- EINA_MAGIC_FAIL(o, EWK_JS_OBJECT_MAGIC); \
- return __VA_ARGS__; \
- }
-
-struct _Ewk_JS_Class {
- const Ewk_JS_Class_Meta* meta;
- Eina_Hash* methods; // Key=NPIdentifier(name), value=pointer to meta->methods.
- Eina_Hash* properties; // Key=NPIdentifier(name), value=pointer to meta->properties.
- Ewk_JS_Default default_prop;
-};
-
-static Eina_Bool ewk_js_npvariant_to_variant(Ewk_JS_Variant* data, const NPVariant* result);
-
-static Eina_Bool ewk_js_variant_to_npvariant(const Ewk_JS_Variant* data, NPVariant* result)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(data, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(result, false);
- const char* string_value;
-
- switch (data->type) {
- case EWK_JS_VARIANT_VOID:
- VOID_TO_NPVARIANT(*result);
- break;
- case EWK_JS_VARIANT_NULL:
- NULL_TO_NPVARIANT(*result);
- break;
- case EWK_JS_VARIANT_INT32:
- INT32_TO_NPVARIANT(data->value.i, *result);
- break;
- case EWK_JS_VARIANT_DOUBLE:
- DOUBLE_TO_NPVARIANT(data->value.d, *result);
- break;
- case EWK_JS_VARIANT_STRING:
- string_value = eina_stringshare_add(data->value.s);
- if (string_value)
- STRINGZ_TO_NPVARIANT(string_value, *result);
- else
- return false;
- break;
- case EWK_JS_VARIANT_BOOL:
- BOOLEAN_TO_NPVARIANT(data->value.b, *result);
- break;
- case EWK_JS_VARIANT_OBJECT:
- OBJECT_TO_NPVARIANT(reinterpret_cast<NPObject*>(data->value.o), *result);
- break;
- default:
- return false;
- }
-
- return true;
-}
-
-// These methods are used by NPAI, thats the reason to use bool instead of Eina_Bool.
-static bool ewk_js_property_has(NPObject* npObject, NPIdentifier name)
-{
- Ewk_JS_Object* object = reinterpret_cast<Ewk_JS_Object*>(npObject);
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(npObject, false);
- EINA_MAGIC_CHECK_OR_RETURN(object, false);
-
- if (!_NPN_IdentifierIsString(name)) {
- ERR("int NPIdentifier is not supported.");
- return false;
- }
-
- char* prop_name = _NPN_UTF8FromIdentifier(name);
- bool fail = eina_hash_find(object->properties, prop_name); // FIXME: should search methods too?
- free(prop_name);
-
- return fail;
-}
-
-static bool ewk_js_property_get(NPObject* npObject, NPIdentifier name, NPVariant* result)
-{
- Ewk_JS_Object* object = reinterpret_cast<Ewk_JS_Object*>(npObject);
- Ewk_JS_Variant* value;
- Ewk_JS_Property* prop;
- bool fail = false;
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(npObject, false);
- EINA_MAGIC_CHECK_OR_RETURN(object, false);
-
- if (!_NPN_IdentifierIsString(name)) {
- ERR("int NPIdentifier is not supported.");
- return false;
- }
-
- value = static_cast<Ewk_JS_Variant*>(malloc(sizeof(Ewk_JS_Variant)));
- if (!value) {
- ERR("Could not allocate memory for ewk_js_variant");
- return false;
- }
-
- prop = static_cast<Ewk_JS_Property*>(eina_hash_find(object->cls->properties, name));
- if (prop && prop->get) { // Class has property and property has getter.
- fail = prop->get(object, prop->name, value);
- if (!fail)
- fail = ewk_js_variant_to_npvariant(value, result);
- } else if (object->cls->default_prop.get) { // Default getter exists.
- fail = object->cls->default_prop.get(object, prop->name, value);
- if (!fail)
- fail = ewk_js_variant_to_npvariant(value, result);
- } else { // Fallback to objects hash map.
- char* prop_name = _NPN_UTF8FromIdentifier(name);
- free(value);
- value = static_cast<Ewk_JS_Variant*>(eina_hash_find(object->properties, prop_name));
- free(prop_name);
- if (value)
- return ewk_js_variant_to_npvariant(value, result);
- }
-
- free(value);
- return fail;
-}
-
-static bool ewk_js_property_set(NPObject* npObject, NPIdentifier name, const NPVariant* npValue)
-{
- Ewk_JS_Object* object = reinterpret_cast<Ewk_JS_Object*>(npObject);
- Ewk_JS_Variant* value;
- Ewk_JS_Property* prop;
- bool fail = false;
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(npObject, false);
- EINA_MAGIC_CHECK_OR_RETURN(object, false);
-
- if (!_NPN_IdentifierIsString(name)) {
- ERR("int NPIdentifier is not supported.");
- return fail;
- }
-
- value = static_cast<Ewk_JS_Variant*>(malloc(sizeof(Ewk_JS_Variant)));
- if (!value) {
- ERR("Could not allocate memory for ewk_js_variant");
- return false;
- }
-
- ewk_js_npvariant_to_variant(value, npValue);
- char* prop_name = _NPN_UTF8FromIdentifier(name);
- prop = static_cast<Ewk_JS_Property*>(eina_hash_find(object->cls->properties, prop_name));
- if (prop && prop->set)
- fail = prop->set(object, prop->name, value); // Class has property and property has setter.
- else if (object->cls->default_prop.set)
- fail = object->cls->default_prop.set(object, prop_name, value); // Default getter exists.
- else { // Fallback to objects hash map.
- void* old = eina_hash_set(object->properties, prop_name, value);
- free(old);
- fail = true;
- }
-
- free(prop_name);
- return fail;
-}
-
-static bool ewk_js_property_remove(NPObject* npObject, NPIdentifier name)
-{
- Ewk_JS_Object* object = reinterpret_cast<Ewk_JS_Object*>(npObject);
- Ewk_JS_Property* prop;
- bool fail = false;
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(npObject, false);
- EINA_MAGIC_CHECK_OR_RETURN(object, false);
-
- if (!_NPN_IdentifierIsString(name)) {
- ERR("int NPIdentifier is not supported.");
- return fail;
- }
-
- char* prop_name = _NPN_UTF8FromIdentifier(name);
- prop = static_cast<Ewk_JS_Property*>(eina_hash_find(object->cls->properties, prop_name));
- if (prop && prop->del)
- fail = prop->del(object, prop->name); // Class has property and property has getter.
- else if (object->cls->default_prop.del)
- fail = object->cls->default_prop.del(object, prop_name);
- else
- fail = eina_hash_del(object->properties, prop_name, 0);
-
- free(prop_name);
- return fail;
-}
-
-static bool ewk_js_properties_enumerate(NPObject* npObject, NPIdentifier** value, uint32_t* count)
-{
- Ewk_JS_Object* object = reinterpret_cast<Ewk_JS_Object*>(npObject);
- Eina_Iterator* it;
- char* key;
- int i = 0;
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(npObject, false);
- EINA_MAGIC_CHECK_OR_RETURN(object, false);
-
- *count = eina_hash_population(object->properties);
- *value = static_cast<NPIdentifier*>(malloc(sizeof(NPIdentifier) * *count));
- if (!*value) {
- ERR("Could not allocate memory for NPIdentifier");
- return false;
- }
-
- it = eina_hash_iterator_key_new(object->properties);
- EINA_ITERATOR_FOREACH(it, key)
- (*value)[i++] = _NPN_GetStringIdentifier(key);
-
- eina_iterator_free(it);
- return true;
-}
-
-static bool ewk_js_method_has(NPObject* npObject, NPIdentifier name)
-{
- Ewk_JS_Object* object = reinterpret_cast<Ewk_JS_Object*>(npObject);
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(npObject, false);
- EINA_MAGIC_CHECK_OR_RETURN(object, false);
-
- if (!_NPN_IdentifierIsString(name)) {
- ERR("int NPIdentifier is not supported.");
- return false;
- }
- return eina_hash_find(object->cls->methods, name); // Returns pointer if found(true), 0(false) otherwise.
-}
-
-static bool ewk_js_method_invoke(NPObject* npObject, NPIdentifier name, const NPVariant* npArgs, uint32_t npArgCount, NPVariant* result)
-{
- Ewk_JS_Object* object = reinterpret_cast<Ewk_JS_Object*>(npObject);
- Ewk_JS_Method* method;
- Ewk_JS_Variant* args;
- Ewk_JS_Variant* ret_val;
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(npObject, false);
- EINA_MAGIC_CHECK_OR_RETURN(object, false);
-
- if (!_NPN_IdentifierIsString(name)) {
- ERR("int NPIdentifier is not supported.");
- return false;
- }
-
- method = static_cast<Ewk_JS_Method*>(eina_hash_find(object->cls->methods, name));
- if (!method)
- return false;
-
- args = static_cast<Ewk_JS_Variant*>(malloc(sizeof(Ewk_JS_Variant) *npArgCount));
- if (!args) {
- ERR("Could not allocate memory for ewk_js_variant");
- return false;
- }
-
- for (uint32_t i = 0; i < npArgCount; i++)
- ewk_js_npvariant_to_variant(&args[i], &npArgs[i]);
- ret_val = method->invoke(object, args, npArgCount);
- ewk_js_variant_to_npvariant(ret_val, result);
-
- ewk_js_variant_free(ret_val);
-
- return true;
-}
-
-static Eina_Bool ewk_js_npobject_property_get(Ewk_JS_Object* jsObject, const char* name, Ewk_JS_Variant* value)
-{
- NPIdentifier id = _NPN_GetStringIdentifier(name);
- NPVariant var;
- bool fail = _NPN_GetProperty(0, reinterpret_cast<NPObject*>(jsObject), id, &var);
- if (!fail)
- fail = ewk_js_npvariant_to_variant(value, &var);
- return fail;
-}
-
-static Eina_Bool ewk_js_npobject_property_set(Ewk_JS_Object* jsObject, const char* name, const Ewk_JS_Variant* value)
-{
- NPIdentifier id = _NPN_GetStringIdentifier(name);
- NPVariant var;
- bool fail = ewk_js_variant_to_npvariant(value, &var);
- if (fail)
- fail = _NPN_SetProperty(0, reinterpret_cast<NPObject*>(jsObject), id, &var);
- return fail;
-}
-
-static Eina_Bool ewk_js_npobject_property_del(Ewk_JS_Object* jsObject, const char* name)
-{
- NPIdentifier id = _NPN_GetStringIdentifier(name);
- return _NPN_RemoveProperty(0, reinterpret_cast<NPObject*>(jsObject), id);
-}
-
-static void ewk_js_property_free(Ewk_JS_Property* prop)
-{
- free(const_cast<char*>(prop->name));
- if (prop->value.type == EWK_JS_VARIANT_STRING)
- eina_stringshare_del(prop->value.value.s);
- else if (prop->value.type == EWK_JS_VARIANT_OBJECT)
- ewk_js_object_free(prop->value.value.o);
- free(prop);
-}
-
-/**
- * Create a Ewk_JS_Class to be used in @a ewk_js_object_new.
- *
- * @param meta @a Ewk_JS_Class_Meta that describes the class to be created.
- *
- * @return The Ewk_JS_Class created.
- */
-Ewk_JS_Class* ewk_js_class_new(const Ewk_JS_Class_Meta* jsMetaClass)
-{
- Ewk_JS_Class* cls;
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(jsMetaClass, 0);
-
- cls = static_cast<Ewk_JS_Class*>(malloc(sizeof(Ewk_JS_Class)));
- if (!cls) {
- ERR("Could not allocate memory for ewk_js_class");
- return 0;
- }
-
- cls->meta = jsMetaClass;
- cls->default_prop = cls->meta->default_prop;
-
- // Don't free methods since they point to meta class methods(will be freed when meta class is freed).
- cls->methods = eina_hash_pointer_new(0);
- for (int i = 0; cls->meta->methods && cls->meta->methods[i].name; i++) {
- NPIdentifier id = _NPN_GetStringIdentifier(cls->meta->methods[i].name);
- eina_hash_add(cls->methods, id, &cls->meta->methods[i]);
- }
-
- // Don't free properties since they point to cls->meta class properties(will be freed when cls->meta class is freed).
- cls->properties = eina_hash_pointer_new(0);
- for (int i = 0; cls->meta->properties && cls->meta->properties[i].name; i++) {
- NPIdentifier id = _NPN_GetStringIdentifier(cls->meta->properties[i].name);
- eina_hash_add(cls->properties, id, &cls->meta->properties[i]);
- }
-
- return cls;
-}
-
-/**
- * Release resources allocated by @a cls.
- *
- * @param cls @a Ewk_JS_Class to be released.
- */
-void ewk_js_class_free(Ewk_JS_Class* jsClass)
-{
- EINA_SAFETY_ON_NULL_RETURN(jsClass);
- eina_hash_free(jsClass->methods);
- eina_hash_free(jsClass->properties);
- free(jsClass);
-}
-
-static NPClass EWK_NPCLASS = {
- NP_CLASS_STRUCT_VERSION,
- 0, // NPAllocateFunctionPtr
- 0, // NPDeallocateFunctionPtr
- 0, // NPInvalidateFunctionPtr
- ewk_js_method_has, // NPHasMethodFunctionPtr
- ewk_js_method_invoke, // NPInvokeFunctionPtr
- 0, // NPInvokeDefaultFunctionPtr
- ewk_js_property_has, // NPHasPropertyFunctionPtr
- ewk_js_property_get, // NPGetPropertyFunctionPtr
- ewk_js_property_set, // NPSetPropertyFunctionPtr
- ewk_js_property_remove, // NPRemovePropertyFunctionPtr
- ewk_js_properties_enumerate, // NPEnumerationFunctionPtr
- 0 // NPConstructFunction
-};
-
-static Ewk_JS_Object* ewk_js_npobject_to_object(NPObject* npObject)
-{
- NPIdentifier* values;
- uint32_t np_props_count;
- Ewk_JS_Class* cls;
- Ewk_JS_Object* object;
- Eina_Iterator* it;
- Ewk_JS_Property* prop;
- JavaScriptObject* jso;
-
- if (EINA_MAGIC_CHECK(reinterpret_cast<Ewk_JS_Object*>(npObject), EWK_JS_OBJECT_MAGIC))
- return reinterpret_cast<Ewk_JS_Object*>(npObject);
-
- if (!_NPN_Enumerate(0, npObject, &values, &np_props_count))
- return 0;
-
- cls = static_cast<Ewk_JS_Class*>(malloc(sizeof(Ewk_JS_Class)));
- if (!cls) {
- ERR("Could not allocate memory for ewk_js_class");
- return 0;
- }
-
- cls->meta = 0;
- Ewk_JS_Default def = {
- ewk_js_npobject_property_set,
- ewk_js_npobject_property_get,
- ewk_js_npobject_property_del
- };
- cls->default_prop = def;
- cls->methods = eina_hash_pointer_new(0);
- cls->properties = eina_hash_pointer_new(reinterpret_cast<Eina_Free_Cb>(ewk_js_property_free));
- for (uint32_t i = 0; i < np_props_count; i++) {
- if (_NPN_HasProperty(0, npObject, values[i])) {
- NPVariant var;
- Ewk_JS_Property* prop = static_cast<Ewk_JS_Property*>(calloc(sizeof(Ewk_JS_Property), 1));
- if (!prop) {
- ERR("Could not allocate memory for ewk_js_property");
- goto error;
- }
-
- _NPN_GetProperty(0, npObject, values[i], &var);
- ewk_js_npvariant_to_variant(&(prop->value), &var);
- prop->name = _NPN_UTF8FromIdentifier(values[i]);
- eina_hash_add(cls->properties, values[i], prop);
- }
- }
-
- // Can't use ewk_js_object_new(cls) because it expects cls->meta to exist.
- object = static_cast<Ewk_JS_Object*>(malloc(sizeof(Ewk_JS_Object)));
- if (!object) {
- ERR("Could not allocate memory for ewk_js_object");
- goto error;
- }
-
- free(values);
- EINA_MAGIC_SET(object, EWK_JS_OBJECT_MAGIC);
- object->name = 0;
- object->cls = cls;
- object->view = 0;
-
- jso = reinterpret_cast<JavaScriptObject*>(npObject);
- if (!strcmp("Array", jso->imp->methodTable()->className(jso->imp).ascii().data()))
- object->type = EWK_JS_OBJECT_ARRAY;
- else if (!strcmp("Function", jso->imp->methodTable()->className(jso->imp).ascii().data()))
- object->type = EWK_JS_OBJECT_FUNCTION;
- else
- object->type = EWK_JS_OBJECT_OBJECT;
-
- if (eina_hash_population(cls->properties) < 25)
- object->properties = eina_hash_string_small_new(0);
- else
- object->properties = eina_hash_string_superfast_new(0);
-
- it = eina_hash_iterator_data_new(cls->properties);
- EINA_ITERATOR_FOREACH(it, prop) {
- const char* key = prop->name;
- Ewk_JS_Variant* value = &prop->value;
- eina_hash_add(object->properties, key, value);
- }
-
- eina_iterator_free(it);
- object->base = *reinterpret_cast<JavaScriptObject*>(npObject);
-
- return object;
-
-error:
- ewk_js_class_free(cls);
- free(values);
- return 0;
-}
-
-static Eina_Bool ewk_js_npvariant_to_variant(Ewk_JS_Variant* data, const NPVariant* result)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(data, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(result, false);
- switch (result->type) {
- case NPVariantType_Void:
- data->type = EWK_JS_VARIANT_VOID;
- data->value.o = 0;
- break;
- case NPVariantType_Null:
- data->type = EWK_JS_VARIANT_NULL;
- data->value.o = 0;
- break;
- case NPVariantType_Int32:
- data->type = EWK_JS_VARIANT_INT32;
- data->value.i = NPVARIANT_TO_INT32(*result);
- break;
- case NPVariantType_Double:
- data->type = EWK_JS_VARIANT_DOUBLE;
- data->value.d = NPVARIANT_TO_DOUBLE(*result);
- break;
- case NPVariantType_String:
- data->value.s = eina_stringshare_add_length(NPVARIANT_TO_STRING(*result).UTF8Characters, NPVARIANT_TO_STRING(*result).UTF8Length);
- data->type = EWK_JS_VARIANT_STRING;
- break;
- case NPVariantType_Bool:
- data->type = EWK_JS_VARIANT_BOOL;
- data->value.b = NPVARIANT_TO_BOOLEAN(*result);
- break;
- case NPVariantType_Object:
- data->type = EWK_JS_VARIANT_OBJECT;
- data->value.o = ewk_js_npobject_to_object(NPVARIANT_TO_OBJECT(*result));
- break;
- default:
- return false;
- }
-
- return true;
-}
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
-
-Ewk_JS_Object* ewk_js_object_new(const Ewk_JS_Class_Meta* jsMetaClass)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- Ewk_JS_Object* object;
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(jsMetaClass, 0);
-
- object = static_cast<Ewk_JS_Object*>(malloc(sizeof(Ewk_JS_Object)));
- if (!object) {
- ERR("Could not allocate memory for ewk_js_object");
- return 0;
- }
-
- EINA_MAGIC_SET(object, EWK_JS_OBJECT_MAGIC);
- object->cls = ewk_js_class_new(jsMetaClass);
- object->view = 0;
- object->name = 0;
- object->type = EWK_JS_OBJECT_OBJECT;
-
- if (eina_hash_population(object->cls->properties) < 25)
- object->properties = eina_hash_string_small_new(reinterpret_cast<Eina_Free_Cb>(ewk_js_variant_free));
- else
- object->properties = eina_hash_string_superfast_new(reinterpret_cast<Eina_Free_Cb>(ewk_js_variant_free));
-
- for (int i = 0; object->cls->meta->properties && object->cls->meta->properties[i].name; i++) {
- Ewk_JS_Property prop = object->cls->meta->properties[i];
- const char* key = object->cls->meta->properties[i].name;
- Ewk_JS_Variant* value = static_cast<Ewk_JS_Variant*>(malloc(sizeof(Ewk_JS_Variant)));
- if (!value) {
- ERR("Could not allocate memory for ewk_js_variant");
- goto error;
- }
- if (prop.get)
- prop.get(object, key, value);
- else {
- value->type = prop.value.type;
- switch (value->type) {
- case EWK_JS_VARIANT_VOID:
- case EWK_JS_VARIANT_NULL:
- value->value.o = 0;
- break;
- case EWK_JS_VARIANT_STRING:
- value->value.s = eina_stringshare_add(prop.value.value.s);
- break;
- case EWK_JS_VARIANT_BOOL:
- value->value.b = prop.value.value.b;
- break;
- case EWK_JS_VARIANT_INT32:
- value->value.i = prop.value.value.i;
- break;
- case EWK_JS_VARIANT_DOUBLE:
- value->value.d = prop.value.value.d;
- break;
- case EWK_JS_VARIANT_OBJECT:
- value->value.o = prop.value.value.o;
- break;
- }
- }
- eina_hash_add(object->properties, key, value);
- }
-
- object->base.object.referenceCount = 1;
- object->base.object._class = &EWK_NPCLASS;
- return object;
-
-error:
- ewk_js_object_free(object);
- return 0;
-#else
- UNUSED_PARAM(jsMetaClass);
- return 0;
-#endif
-}
-
-void ewk_js_object_free(Ewk_JS_Object* jsObject)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- EINA_SAFETY_ON_NULL_RETURN(jsObject);
- EINA_MAGIC_CHECK_OR_RETURN(jsObject);
- Eina_Bool script_obj = !jsObject->cls->meta;
-
- eina_hash_free(jsObject->properties);
- eina_stringshare_del(jsObject->name);
-
- ewk_js_class_free(const_cast<Ewk_JS_Class*>(jsObject->cls));
-
- EINA_MAGIC_SET(jsObject, EINA_MAGIC_NONE);
-
- if (script_obj)
- free(jsObject);
-#else
- UNUSED_PARAM(jsObject);
-#endif
-}
-
-Evas_Object* ewk_js_object_view_get(const Ewk_JS_Object* jsObject)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- EINA_SAFETY_ON_NULL_RETURN_VAL(jsObject, 0);
- EINA_MAGIC_CHECK_OR_RETURN(jsObject, 0);
- return jsObject->view;
-#else
- UNUSED_PARAM(jsObject);
- return 0;
-#endif
-}
-
-Eina_Hash* ewk_js_object_properties_get(const Ewk_JS_Object* jsObject)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- EINA_SAFETY_ON_NULL_RETURN_VAL(jsObject, 0);
- EINA_MAGIC_CHECK_OR_RETURN(jsObject, 0);
- return jsObject->properties;
-#else
- UNUSED_PARAM(jsObject);
- return 0;
-#endif
-}
-
-const char* ewk_js_object_name_get(const Ewk_JS_Object* jsObject)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- EINA_SAFETY_ON_NULL_RETURN_VAL(jsObject, 0);
- EINA_MAGIC_CHECK_OR_RETURN(jsObject, 0);
- return jsObject->name;
-#else
- UNUSED_PARAM(jsObject);
- return 0;
-#endif
-}
-
-Eina_Bool ewk_js_object_invoke(Ewk_JS_Object* jsObject, Ewk_JS_Variant* args, int argCount, Ewk_JS_Variant* result)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- NPVariant* np_args;
- NPVariant np_result;
- bool fail = false;
-
- EINA_MAGIC_CHECK_OR_RETURN(jsObject, false);
- if (ewk_js_object_type_get(jsObject) != EWK_JS_OBJECT_FUNCTION)
- return false;
- if (argCount)
- EINA_SAFETY_ON_NULL_RETURN_VAL(args, false);
-
- np_args = static_cast<NPVariant*>(malloc(sizeof(NPVariant) *argCount));
- if (!np_args) {
- ERR("Could not allocate memory to method arguments");
- return false;
- }
-
- for (int i = 0; i < argCount; i++)
- if (!ewk_js_variant_to_npvariant(&args[i], &np_args[i]))
- goto end;
-
- if (!(fail = _NPN_InvokeDefault(0, reinterpret_cast<NPObject*>(jsObject), np_args, argCount, &np_result)))
- goto end;
- if (result)
- fail = ewk_js_npvariant_to_variant(result, &np_result);
-
-end:
- free(np_args);
- return fail;
-#else
- UNUSED_PARAM(jsObject);
- UNUSED_PARAM(args);
- UNUSED_PARAM(argCount);
- UNUSED_PARAM(result);
- return false;
-#endif
-}
-
-Ewk_JS_Object_Type ewk_js_object_type_get(Ewk_JS_Object* jsObject)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- EINA_SAFETY_ON_NULL_RETURN_VAL(jsObject, EWK_JS_OBJECT_OBJECT);
- EINA_MAGIC_CHECK_OR_RETURN(jsObject, EWK_JS_OBJECT_OBJECT);
-
- return jsObject->type;
-#else
- UNUSED_PARAM(jsObject);
- return EWK_JS_OBJECT_INVALID;
-#endif
-}
-
-void ewk_js_object_type_set(Ewk_JS_Object* jsObject, Ewk_JS_Object_Type type)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- EINA_SAFETY_ON_NULL_RETURN(jsObject);
- EINA_MAGIC_CHECK_OR_RETURN(jsObject);
-
- jsObject->type = type;
-#else
- UNUSED_PARAM(jsObject);
- UNUSED_PARAM(type);
-#endif
-}
-
-void ewk_js_variant_free(Ewk_JS_Variant* jsVariant)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- EINA_SAFETY_ON_NULL_RETURN(jsVariant);
- if (jsVariant->type == EWK_JS_VARIANT_STRING)
- eina_stringshare_del(jsVariant->value.s);
- else if (jsVariant->type == EWK_JS_VARIANT_OBJECT)
- ewk_js_object_free(jsVariant->value.o);
- free(jsVariant);
-#else
- UNUSED_PARAM(jsVariant);
-#endif
-}
-
-void ewk_js_variant_array_free(Ewk_JS_Variant* jsVariant, int count)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- EINA_SAFETY_ON_NULL_RETURN(jsVariant);
- for (int i = 0; i < count; i++) {
- if (jsVariant[i].type == EWK_JS_VARIANT_STRING)
- eina_stringshare_del(jsVariant[i].value.s);
- else if (jsVariant[i].type == EWK_JS_VARIANT_OBJECT)
- ewk_js_object_free(jsVariant[i].value.o);
- }
- free(jsVariant);
-#else
- UNUSED_PARAM(jsVariant);
- UNUSED_PARAM(count);
-#endif
-}
diff --git a/Source/WebKit/efl/ewk/ewk_js.h b/Source/WebKit/efl/ewk/ewk_js.h
deleted file mode 100644
index 283e6f774..000000000
--- a/Source/WebKit/efl/ewk/ewk_js.h
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- Copyright (C) 2011 ProFUSION embedded systems
-
- 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.
-*/
-
-/**
- * @file ewk_js.h
- * @brief Allows to export objects to JavaScript API.
- */
-
-#ifndef ewk_js_h
-#define ewk_js_h
-
-#include <Eina.h>
-#include <Evas.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define EWK_JS_CLASS_META_VERSION 0
-
-typedef struct _Ewk_JS_Object Ewk_JS_Object;
-typedef struct _Ewk_JS_Class_Meta Ewk_JS_Class_Meta;
-typedef struct _Ewk_JS_Variant Ewk_JS_Variant;
-typedef struct _Ewk_JS_Method Ewk_JS_Method;
-typedef struct _Ewk_JS_Property Ewk_JS_Property;
-typedef struct _Ewk_JS_Default Ewk_JS_Default;
-typedef Eina_Bool (*Ewk_JS_Set_Cb)(Ewk_JS_Object *obj, const char *name, const Ewk_JS_Variant *value);
-typedef Eina_Bool (*Ewk_JS_Get_Cb)(Ewk_JS_Object *obj, const char *name, Ewk_JS_Variant *value);
-typedef Eina_Bool (*Ewk_JS_Del_Cb)(Ewk_JS_Object *obj, const char *name);
-typedef Ewk_JS_Variant* (*Ewk_JS_Invoke_Cb)(Ewk_JS_Object *obj, Ewk_JS_Variant *args, int argCount);
-
-typedef enum {
- EWK_JS_VARIANT_VOID,
- EWK_JS_VARIANT_NULL,
- EWK_JS_VARIANT_BOOL,
- EWK_JS_VARIANT_INT32,
- EWK_JS_VARIANT_DOUBLE,
- EWK_JS_VARIANT_STRING,
- EWK_JS_VARIANT_OBJECT
-} Ewk_JS_Variant_Type;
-
-typedef enum {
- EWK_JS_OBJECT_OBJECT,
- EWK_JS_OBJECT_ARRAY,
- EWK_JS_OBJECT_FUNCTION,
- EWK_JS_OBJECT_INVALID
-} Ewk_JS_Object_Type;
-
-struct _Ewk_JS_Variant {
- Ewk_JS_Variant_Type type;
- union {
- Eina_Bool b;
- int i;
- double d;
- const char *s;
- Ewk_JS_Object *o;
- } value;
-};
-
-struct _Ewk_JS_Method {
- const char *name;
- Ewk_JS_Invoke_Cb invoke;
-};
-
-struct _Ewk_JS_Property {
- const char *name;
- Ewk_JS_Set_Cb set;
- Ewk_JS_Get_Cb get;
- Ewk_JS_Del_Cb del;
- Ewk_JS_Variant value;
-};
-
-struct _Ewk_JS_Default {
- Ewk_JS_Set_Cb set;
- Ewk_JS_Get_Cb get;
- Ewk_JS_Del_Cb del;
-};
-
-struct _Ewk_JS_Class_Meta {
- unsigned int version; // define
- const Ewk_JS_Method *methods; // null terminated array
- const Ewk_JS_Property *properties; // null terminated array
- Ewk_JS_Default default_prop;
-};
-
-/**
- * Gets Eina_Hash with object's properties.
- *
- * @param obj Object whose properties are wanted.
- *
- * @return object's properties.
- */
-EAPI Eina_Hash *ewk_js_object_properties_get(const Ewk_JS_Object *obj);
-
-/**
- * Gets name of the object.
- *
- * @param obj Object whose name is wanted.
- *
- * @return name of object.
- */
-
-EAPI const char *ewk_js_object_name_get(const Ewk_JS_Object *obj);
-
-/**
- * Returns the view associated with an Ewk_JS_Object.
- *
- * The returned view is the one passed to ewk_view_js_object_add. Right now,
- * the object is always added to the view's main frame.
- *
- * @param obj The object to be queried.
- *
- * @return The view whose main frame the object has been inserted into, or
- * @c NULL if the object has not been added to a view yet.
- *
- * @sa ewk_view_js_object_add, ewk_view_frame_main_get
- */
-EAPI Evas_Object *ewk_js_object_view_get(const Ewk_JS_Object *obj);
-
-/**
- * Release resources allocated by @a var.
- *
- * @param var @a Ewk_JS_Variant to be release
- */
-EAPI void ewk_js_variant_free(Ewk_JS_Variant *var);
-
-/**
- * Release resources allocated by @a var.
- *
- * @param var @a Ewk_JS_Variant to be release
- * @param count @a size of array
- */
-EAPI void ewk_js_variant_array_free(Ewk_JS_Variant *var, int count);
-
-/**
- * Create a Ewk_JS_Object to be used in @a ewk_view_js_object_add. The Meta class's
- * methods and properties are not modified but references to it are kept as long
- * as the object created from it lives. All properties created here
- * will be added to the object hash of properties. Properties using default_prop's
- * get/set/del methods should also be added to the objects hash(see:
- * @a ewk_js_object_properties_get). Methods must free the arguments they receive(see:
- * @a ewk_js_variang_array_free).
- *
- *
- * @param cls @a Ewk_JS_Class that describes the object to be created.
- *
- * @return The Ewk_JS_Object created.
- */
-EAPI Ewk_JS_Object *ewk_js_object_new(const Ewk_JS_Class_Meta *meta_cls);
-
-/**
- * Release resources allocated by @a obj.
- *
- * @param obj @a Ewk_JS_Object to be released.
- */
-EAPI void ewk_js_object_free(Ewk_JS_Object *obj);
-
-/**
- * Calls the function this object represents.
- *
- * @param obj Object that represents function.
- * @param args Arguments to be passed to function.
- * @param arg_count Number of arguments.
- * @param result Return value of the invoked function.
- *
- * @return @c EINA_TRUE if function was executed, @c EINA_FALSE if function was not executed.
- */
-EAPI Eina_Bool ewk_js_object_invoke(Ewk_JS_Object *obj, Ewk_JS_Variant *args, int arg_count, Ewk_JS_Variant *result);
-
-/**
- * Returns the type this object represents.
- *
- * @param obj Object
- *
- * @return @c EWK_JS_OBJECT if it is an object, @c EWK_JS_ARRAY if it is an array and
- * @c EWK_JS_FUNCTION if it is a function.
- */
-EAPI Ewk_JS_Object_Type ewk_js_object_type_get(Ewk_JS_Object *obj);
-
-/**
- * Sets the type this object represents.
- *
- * @param obj Object
- * @param type Type
- *
- */
-EAPI void ewk_js_object_type_set(Ewk_JS_Object *obj, Ewk_JS_Object_Type type);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // ewk_js_h
diff --git a/Source/WebKit/efl/ewk/ewk_js_private.h b/Source/WebKit/efl/ewk/ewk_js_private.h
deleted file mode 100644
index 17fc36629..000000000
--- a/Source/WebKit/efl/ewk/ewk_js_private.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
-
- 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 ewk_js_private_h
-#define ewk_js_private_h
-
-#include "NP_jsobject.h"
-#include "ewk_js.h"
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-#define EWK_JS_OBJECT_MAGIC 0x696969
-
-typedef struct _Ewk_JS_Class Ewk_JS_Class;
-struct _Ewk_JS_Object {
- JavaScriptObject base;
- const char* name;
- const Ewk_JS_Class* cls;
- Eina_Hash* properties;
- Evas_Object* view; // ewk_view: check if this object has already been added to another ewk_view
- Ewk_JS_Object_Type type;
- EINA_MAGIC;
-};
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
-
-#endif // ewk_js_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_main.cpp b/Source/WebKit/efl/ewk/ewk_main.cpp
deleted file mode 100644
index 3caa42534..000000000
--- a/Source/WebKit/efl/ewk/ewk_main.cpp
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2011 Samsung Electronics
-
- 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 "ewk_main.h"
-
-#include "FileSystem.h"
-#include "InitializeLogging.h"
-#include "PageCache.h"
-#include "PageGroup.h"
-#include "PlatformStrategiesEfl.h"
-#include "ResourceHandle.h"
-#include "ScriptController.h"
-#include "Settings.h"
-#include "StorageTracker.h"
-#include "StorageTrackerClientEfl.h"
-#include "ewk_auth_soup_private.h"
-#include "ewk_network.h"
-#include "ewk_private.h"
-#include "ewk_settings.h"
-#include "ewk_settings_private.h"
-#include "runtime/InitializeThreading.h"
-#include "runtime/Operations.h"
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-#include <Efreet.h>
-#include <Eina.h>
-#include <Evas.h>
-#include <glib-object.h>
-#include <glib.h>
-#include <libsoup/soup.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <wtf/Threading.h>
-
-#ifdef HAVE_ECORE_X
-#include <Ecore_X.h>
-#endif
-
-static int _ewkInitCount = 0;
-
-/**
- * \var _ewk_log_dom
- * @brief the log domain identifier that is used with EINA's macros
- */
-int _ewk_log_dom = -1;
-
-static Eina_Bool _ewk_init_body(void);
-
-int ewk_init(void)
-{
- if (_ewkInitCount)
- return ++_ewkInitCount;
-
- if (!eina_init())
- goto error_eina;
-
- _ewk_log_dom = eina_log_domain_register("ewebkit", EINA_COLOR_ORANGE);
- if (_ewk_log_dom < 0) {
- EINA_LOG_CRIT("could not register log domain 'ewebkit'");
- goto error_log_domain;
- }
-
- if (!evas_init()) {
- CRITICAL("could not init evas.");
- goto error_evas;
- }
-
- if (!ecore_init()) {
- CRITICAL("could not init ecore.");
- goto error_ecore;
- }
-
- if (!ecore_evas_init()) {
- CRITICAL("could not init ecore_evas.");
- goto error_ecore_evas;
- }
-
- if (!edje_init()) {
- CRITICAL("could not init edje.");
- goto error_edje;
- }
-
-#ifdef HAVE_ECORE_X
- if (!ecore_x_init(0)) {
- CRITICAL("could not init ecore_x.");
- goto error_ecore_x;
- }
-#endif
-
- if (!_ewk_init_body()) {
- CRITICAL("could not init body");
- goto error_edje;
- }
-
- return ++_ewkInitCount;
-
-#ifdef HAVE_ECORE_X
-error_ecore_x:
- edje_shutdown();
-#endif
-error_edje:
- ecore_evas_shutdown();
-error_ecore_evas:
- ecore_shutdown();
-error_ecore:
- evas_shutdown();
-error_evas:
- eina_log_domain_unregister(_ewk_log_dom);
- _ewk_log_dom = -1;
-error_log_domain:
- eina_shutdown();
-error_eina:
- return 0;
-}
-
-int ewk_shutdown(void)
-{
- _ewkInitCount--;
- if (_ewkInitCount)
- return _ewkInitCount;
-
-#ifdef HAVE_ECORE_X
- ecore_x_shutdown();
-#endif
- edje_shutdown();
- ecore_evas_shutdown();
- ecore_shutdown();
- evas_shutdown();
- eina_log_domain_unregister(_ewk_log_dom);
- _ewk_log_dom = -1;
- eina_shutdown();
-
- return 0;
-}
-
-static WebCore::StorageTrackerClientEfl* trackerClient()
-{
- DEFINE_STATIC_LOCAL(WebCore::StorageTrackerClientEfl, trackerClient, ());
- return &trackerClient;
-}
-
-Eina_Bool _ewk_init_body(void)
-{
-#if !GLIB_CHECK_VERSION(2, 35, 0)
- g_type_init();
-#endif
-
- if (!ecore_main_loop_glib_integrate())
- WARN("Ecore was not compiled with GLib support, some plugins will not "
- "work (ie: Adobe Flash)");
-
- WebCore::ScriptController::initializeThreading();
-#if !LOG_DISABLED
- WebCore::initializeLoggingChannelsIfNecessary();
-#endif // !LOG_DISABLED
- WebCore::Settings::setDefaultMinDOMTimerInterval(0.004);
-
- PlatformStrategiesEfl::initialize();
-
- // Page cache capacity (in pages). Comment from Mac port:
- // (Research indicates that value / page drops substantially after 3 pages.)
- // FIXME: Calculate based on available resources
- ewk_settings_page_cache_capacity_set(3);
- WebCore::PageGroup::setShouldTrackVisitedLinks(true);
-
- String localStorageDirectory = String::fromUTF8(efreet_data_home_get()) + "/WebKitEfl/LocalStorage";
- String webDatabaseDirectory = String::fromUTF8(efreet_cache_home_get()) + "/WebKitEfl/Databases";
- String applicationCacheDirectory = String::fromUTF8(efreet_cache_home_get()) + "/WebKitEfl/Applications";
- String fileSystemDirectory = String::fromUTF8(efreet_data_home_get()) + "/WebKitEfl/FileSystem";
-
- ewk_settings_local_storage_path_set(localStorageDirectory.utf8().data());
- ewk_settings_web_database_path_set(webDatabaseDirectory.utf8().data());
- ewk_settings_application_cache_path_set(applicationCacheDirectory.utf8().data());
- ewk_settings_file_system_path_set(fileSystemDirectory.utf8().data());
-
- ewk_network_tls_certificate_check_set(false);
-
- WebCore::StorageTracker::initializeTracker(localStorageDirectory.utf8().data(), trackerClient());
-
- SoupSession* session = WebCore::ResourceHandle::defaultSession();
- SoupSessionFeature* auth_dialog = static_cast<SoupSessionFeature*>(g_object_new(EWK_TYPE_SOUP_AUTH_DIALOG, 0));
- soup_session_add_feature(session, auth_dialog);
-
- WebCore::ResourceHandle::setIgnoreSSLErrors(true);
-
- return true;
-}
diff --git a/Source/WebKit/efl/ewk/ewk_main.h b/Source/WebKit/efl/ewk/ewk_main.h
deleted file mode 100644
index 058e29c16..000000000
--- a/Source/WebKit/efl/ewk/ewk_main.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2010 Samsung Electronics
-
- 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.
-*/
-
-/**
- * @file ewk_main.h
- * @brief The main file of WebKit-EFL, not tied to any view object.
- */
-
-#ifndef ewk_main_h
-#define ewk_main_h
-
-#include <Eina.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Initializes webkit's instance.
- *
- * - initializes components needed by Efl,
- * - sets web database location,
- * - sets page cache capacity,
- * - increases a reference count of webkit's instance.
- *
- * @return a reference count of webkit's instance on success or 0 on failure
- */
-EAPI int ewk_init(void);
-
-/**
- * Decreases a reference count of webkit's instance, possibly destroying it.
- *
- * If the reference count reaches 0 webkit's instance is destroyed.
- *
- * @return a reference count of webkit's instance
- */
-EAPI int ewk_shutdown(void);
-
-#ifdef __cplusplus
-}
-#endif
-#endif // ewk_main_h
diff --git a/Source/WebKit/efl/ewk/ewk_network.cpp b/Source/WebKit/efl/ewk/ewk_network.cpp
deleted file mode 100644
index 52d20aaad..000000000
--- a/Source/WebKit/efl/ewk/ewk_network.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- Copyright (C) 2011 Samsung Electronics
-
- 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 "ewk_network.h"
-
-#include "NetworkStateNotifier.h"
-#include "ProxyResolverSoup.h"
-#include "ResourceHandle.h"
-#include "ewk_private.h"
-#include <Eina.h>
-#include <libsoup/soup.h>
-#include <wtf/text/CString.h>
-
-void ewk_network_proxy_uri_set(const char* proxy)
-{
- SoupSession* session = WebCore::ResourceHandle::defaultSession();
-
- if (!proxy) {
- ERR("no proxy uri. remove proxy feature in soup.");
- soup_session_remove_feature_by_type(session, SOUP_TYPE_PROXY_URI_RESOLVER);
- return;
- }
-
- SoupProxyURIResolver* resolverEfl = soupProxyResolverWkNew(proxy, 0);
- soup_session_add_feature(session, SOUP_SESSION_FEATURE(resolverEfl));
- g_object_unref(resolverEfl);
-}
-
-const char* ewk_network_proxy_uri_get(void)
-{
- SoupURI* uri;
- SoupSession* session = WebCore::ResourceHandle::defaultSession();
- SoupProxyURIResolver* resolver = SOUP_PROXY_URI_RESOLVER(soup_session_get_feature(session, SOUP_TYPE_PROXY_URI_RESOLVER));
- if (!resolver)
- return 0;
-
- g_object_get(resolver, SOUP_PROXY_RESOLVER_WK_PROXY_URI, &uri, NULL);
-
- if (!uri) {
- ERR("no proxy uri");
- return 0;
- }
-
- WTF::String proxy = soup_uri_to_string(uri, false);
- return eina_stringshare_add(proxy.utf8().data());
-}
-
-Eina_Bool ewk_network_tls_certificate_check_get()
-{
- bool checkCertificates = false;
-
- SoupSession* defaultSession = WebCore::ResourceHandle::defaultSession();
- g_object_get(defaultSession, "ssl-strict", &checkCertificates, NULL);
-
- return checkCertificates;
-}
-
-void ewk_network_tls_certificate_check_set(Eina_Bool checkCertificates)
-{
- SoupSession* defaultSession = WebCore::ResourceHandle::defaultSession();
- g_object_set(defaultSession, "ssl-strict", checkCertificates, NULL);
-}
-
-const char* ewk_network_tls_ca_certificates_path_get()
-{
- const char* bundlePath = 0;
-
- SoupSession* defaultSession = WebCore::ResourceHandle::defaultSession();
- g_object_get(defaultSession, "ssl-ca-file", &bundlePath, NULL);
-
- return bundlePath;
-}
-
-void ewk_network_tls_ca_certificates_path_set(const char* bundlePath)
-{
- SoupSession* defaultSession = WebCore::ResourceHandle::defaultSession();
- g_object_set(defaultSession, "ssl-ca-file", bundlePath, NULL);
-}
-
-SoupSession* ewk_network_default_soup_session_get()
-{
- return WebCore::ResourceHandle::defaultSession();
-}
diff --git a/Source/WebKit/efl/ewk/ewk_network.h b/Source/WebKit/efl/ewk/ewk_network.h
deleted file mode 100644
index d5c5a9f83..000000000
--- a/Source/WebKit/efl/ewk/ewk_network.h
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- Copyright (C) 2011 Samsung Electronics
-
- 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.
-*/
-
-/**
- * @file ewk_network.h
- * @brief Describes the network API.
- */
-
-#ifndef ewk_network_h
-#define ewk_network_h
-
-#include <Eina.h>
-#include <libsoup/soup.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Sets the given proxy URI to network backend.
- *
- * @param proxy URI to set
- *
- * @note If the libsoup backend is being used, this function has effect on
- * the @b default SoupSession, returned by ewk_network_default_soup_session_get().
- * If a different SoupSession is used and passed to ewk_view_soup_session_set(),
- * this function will not have any effect on it.
- */
-EAPI void ewk_network_proxy_uri_set(const char *proxy);
-
-/**
- * Gets the proxy URI from the network backend.
- *
- * The returned string should be freed by eina_stringshare_del() after use.
- *
- * @return current proxy URI or @c NULL if it's not set
- *
- * @note If the libsoup backend is being used, this function has effect on
- * the @b default SoupSession, returned by ewk_network_default_soup_session_get().
- * If a different SoupSession is used and passed to ewk_view_soup_session_set(),
- * this function will not have any effect on it.
- */
-EAPI const char *ewk_network_proxy_uri_get(void);
-
-/**
- * Returns whether HTTPS connections should check the received certificate and error out if it is invalid.
- *
- * By default, HTTPS connections are performed regardless of the validity of the certificate provided.
- *
- * @sa ewk_network_tls_ca_certificates_path_set
- *
- * @note If the libsoup backend is being used, this function has effect on
- * the @b default SoupSession, returned by ewk_network_default_soup_session_get().
- * If a different SoupSession is used and passed to ewk_view_soup_session_set(),
- * this function will not have any effect on it.
- */
-EAPI Eina_Bool ewk_network_tls_certificate_check_get(void);
-
-/**
- * Sets whether HTTPS connections should check the received certificate and error out if it is invalid.
- *
- * By default, HTTPS connections are performed regardless of the validity of the certificate provided.
- *
- * @param enable Whether to check the provided certificates or not.
- *
- * @sa ewk_network_tls_ca_certificates_path_set
- *
- * @note If the libsoup backend is being used, this function has effect on
- * the @b default SoupSession, returned by ewk_network_default_soup_session_get().
- * If a different SoupSession is used and passed to ewk_view_soup_session_set(),
- * this function will not have any effect on it.
- */
-EAPI void ewk_network_tls_certificate_check_set(Eina_Bool enable);
-
-/**
- * Returns the path to a file containing the platform's root X.509 CA certificates.
- *
- * The file is a list of concatenated PEM-format X.509 certificates used as root CA certificates.
- * They are used to validate all the certificates received when a TLS connection (such as an HTTPS one) is made.
- *
- * If @c ewk_network_tls_certificate_check_get() returns @c EINA_TRUE, the certificates set by this function
- * will be used to decide whether a certificate provided by a web site is invalid and the request should then
- * be cancelled.
- *
- * By default, the path is not set, so all certificates are considered as not signed by a trusted root CA.
- *
- * @sa ewk_network_tls_certificate_check_set
- *
- * @note If the libsoup backend is being used, this function has effect on
- * the @b default SoupSession, returned by ewk_network_default_soup_session_get().
- * If a different SoupSession is used and passed to ewk_view_soup_session_set(),
- * this function will not have any effect on it.
- */
-EAPI const char *ewk_network_tls_ca_certificates_path_get(void);
-
-/**
- * Sets the path to a file containing the platform's root X.509 CA certificates.
- *
- * The file is a list of concatenated PEM-format X.509 certificates used as root CA certificates.
- * They are used to validate all the certificates received when a TLS connection (such as an HTTPS one) is made.
- *
- * If @c ewk_network_tls_certificate_check_get() returns @c EINA_TRUE, the certificates set by this function
- * will be used to decide whether a certificate provided by a web site is invalid and the request should then
- * be cancelled.
- *
- * By default, the path is not set, so all certificates are considered as not signed by a trusted root CA.
- *
- * @param path The path to the certificate bundle.
- *
- * @sa ewk_network_tls_certificate_check_set
- *
- * @note If the libsoup backend is being used, this function has effect on
- * the @b default SoupSession, returned by ewk_network_default_soup_session_get().
- * If a different SoupSession is used and passed to ewk_view_soup_session_set(),
- * this function will not have any effect on it.
- */
-EAPI void ewk_network_tls_ca_certificates_path_set(const char *path);
-
-/**
- * Returns the default @c SoupSession used by all views.
- *
- * @return The default @c SoupSession in use.
- */
-EAPI SoupSession *ewk_network_default_soup_session_get(void);
-
-#ifdef __cplusplus
-}
-#endif
-#endif // ewk_network_h
diff --git a/Source/WebKit/efl/ewk/ewk_paint_context.cpp b/Source/WebKit/efl/ewk/ewk_paint_context.cpp
deleted file mode 100644
index c19d13811..000000000
--- a/Source/WebKit/efl/ewk/ewk_paint_context.cpp
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- Copyright (C) 2009-2012 Samsung Electronics
- Copyright (C) 2009-2010 ProFUSION embedded systems
-
- 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 "TiledBackingStore.h"
-#include "ewk_paint_context_private.h"
-#include "ewk_private.h"
-
-#if ENABLE(INSPECTOR)
-#include "InspectorController.h"
-#include "Page.h"
-#endif
-
-Ewk_Paint_Context* ewk_paint_context_new(cairo_t* cairo)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(cairo, 0);
-
- Ewk_Paint_Context* context = new Ewk_Paint_Context;
- context->graphicContext = adoptPtr(new WebCore::GraphicsContext(cairo));
- context->cairo = adoptRef(cairo_reference(cairo));
- context->image = 0;
- context->pixels = 0;
-
- return context;
-}
-
-Ewk_Paint_Context* ewk_paint_context_from_image_new(Evas_Object* image)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(image, 0);
-
- Evas_Coord width, height;
- uint8_t* pixels = static_cast<uint8_t*>(evas_object_image_data_get(image, true));
- evas_object_image_size_get(image, &width, &height);
-
- Ewk_Paint_Context* context = ewk_paint_context_from_image_data_new(pixels, width, height, EVAS_COLORSPACE_ARGB8888);
- if (context) {
- context->pixels = pixels;
- context->image = image;
- }
-
- return context;
-}
-
-Ewk_Paint_Context* ewk_paint_context_from_image_data_new(uint8_t* pixels, int width, int height, int colorSpace)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(pixels, 0);
-
- OwnPtr<Ewk_Paint_Context> context = adoptPtr(new Ewk_Paint_Context);
- context->pixels = pixels;
- context->image = 0;
-
- cairo_format_t format;
- int stride;
- switch (colorSpace) {
- case EVAS_COLORSPACE_ARGB8888:
- stride = width * 4;
- format = CAIRO_FORMAT_ARGB32;
- break;
- case EVAS_COLORSPACE_RGB565_A5P:
- stride = width * 2;
- format = CAIRO_FORMAT_RGB16_565;
- break;
- default:
- ERR("unknown color space: %d", colorSpace);
- return 0;
- }
-
- context->surface = adoptRef(cairo_image_surface_create_for_data(pixels, format, width, height, stride));
- cairo_status_t status = cairo_surface_status(context->surface.get());
- if (status != CAIRO_STATUS_SUCCESS) {
- ERR("could not create surface from data %dx%d: %s", width, height, cairo_status_to_string(status));
- return 0;
- }
-
- context->cairo = adoptRef(cairo_create(context->surface.get()));
- status = cairo_status(context->cairo.get());
- if (status != CAIRO_STATUS_SUCCESS) {
- ERR("could not create cairo from surface %dx%d: %s", width, height, cairo_status_to_string(status));
- return 0;
- }
-
- context->graphicContext = adoptPtr(new WebCore::GraphicsContext(context->cairo.get()));
-
- return context.release().leakPtr();
-}
-
-void ewk_paint_context_free(Ewk_Paint_Context* context)
-{
- EINA_SAFETY_ON_NULL_RETURN(context);
-
- if (context->image && context->pixels) {
- // Decrease refcount inside image object.
- evas_object_image_data_set(context->image, context->pixels);
- }
- delete context;
-}
-
-void ewk_paint_context_save(Ewk_Paint_Context* context)
-{
- EINA_SAFETY_ON_NULL_RETURN(context);
-
- cairo_save(context->cairo.get());
- context->graphicContext->save();
-}
-
-void ewk_paint_context_restore(Ewk_Paint_Context* context)
-{
- EINA_SAFETY_ON_NULL_RETURN(context);
-
- context->graphicContext->restore();
- cairo_restore(context->cairo.get());
-}
-
-void ewk_paint_context_clip(Ewk_Paint_Context* context, const Eina_Rectangle* area)
-{
- EINA_SAFETY_ON_NULL_RETURN(context);
- EINA_SAFETY_ON_NULL_RETURN(area);
-
- context->graphicContext->clip(WebCore::IntRect(*area));
-}
-
-void ewk_paint_context_scale(Ewk_Paint_Context* context, float scaleX, float scaleY)
-{
- EINA_SAFETY_ON_NULL_RETURN(context);
-
- context->graphicContext->scale(WebCore::FloatSize(scaleX, scaleY));
-}
-
-void ewk_paint_context_translate(Ewk_Paint_Context* context, float x, float y)
-{
- EINA_SAFETY_ON_NULL_RETURN(context);
-
- context->graphicContext->translate(x, y);
-}
-
-void ewk_paint_context_paint(Ewk_Paint_Context* context, WebCore::FrameView* view, const Eina_Rectangle* area)
-{
- EINA_SAFETY_ON_NULL_RETURN(context);
- EINA_SAFETY_ON_NULL_RETURN(view);
- EINA_SAFETY_ON_NULL_RETURN(area);
-
- WebCore::IntRect paintArea(*area);
-
-#if USE(TILED_BACKING_STORE)
- if (view->frame()->tiledBackingStore()) {
- int scrollX = view->scrollX();
- int scrollY = view->scrollY();
-
- context->graphicContext->translate(-scrollX, -scrollY);
-
- paintArea.move(scrollX, scrollY);
-
- view->frame()->tiledBackingStore()->paint(context->graphicContext.get(), paintArea);
- return;
- }
-#endif
-
- if (view->isTransparent())
- context->graphicContext->clearRect(paintArea);
- view->paint(context->graphicContext.get(), paintArea);
-}
-
-void ewk_paint_context_paint_contents(Ewk_Paint_Context* context, WebCore::FrameView* view, const Eina_Rectangle* area)
-{
- EINA_SAFETY_ON_NULL_RETURN(context);
- EINA_SAFETY_ON_NULL_RETURN(view);
- EINA_SAFETY_ON_NULL_RETURN(area);
-
- WebCore::IntRect paintArea(*area);
-
- if (view->isTransparent())
- context->graphicContext->clearRect(paintArea);
- view->paintContents(context->graphicContext.get(), paintArea);
-
-#if ENABLE(INSPECTOR)
- WebCore::Page* page = view->frame()->page();
- if (page) {
- WebCore::InspectorController* controller = page->inspectorController();
- if (controller->highlightedNode())
- controller->drawHighlight(*context->graphicContext);
- }
-#endif
-}
diff --git a/Source/WebKit/efl/ewk/ewk_paint_context_private.h b/Source/WebKit/efl/ewk/ewk_paint_context_private.h
deleted file mode 100644
index 5727b0737..000000000
--- a/Source/WebKit/efl/ewk/ewk_paint_context_private.h
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- Copyright (C) 2009-2012 Samsung Electronics
- Copyright (C) 2009-2010 ProFUSION embedded systems
-
- 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.
-*/
-
-/**
- * @file ewk_paint_context_private.h
- * @brief Describes the paint context API.
- */
-
-#ifndef ewk_paint_context_private_h
-#define ewk_paint_context_private_h
-
-#include "FrameView.h"
-#include "GraphicsContext.h"
-#include "RefPtrCairo.h"
-#include <Evas.h>
-#include <cairo.h>
-
-/// Creates a type name for @a _Ewk_Paint_Context.
-typedef struct _Ewk_Paint_Context Ewk_Paint_Context;
-
-/**
- * @brief Structure that keeps the paint context.
- *
- * @internal
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-struct _Ewk_Paint_Context {
- OwnPtr<WebCore::GraphicsContext> graphicContext;
- RefPtr<cairo_t> cairo;
- RefPtr<cairo_surface_t> surface; /**< surface used to create cairo object */
- Evas_Object* image; /**< image used to create cairo surface */
- unsigned char* pixels; /**< pixels form image */
-};
-
-/**
- * @internal
- * Creates a new paint context using a cairo as output.
- *
- * @param cairo context to use as paint destination, a new
- * reference is taken, so it's safe to call @c cairo_destroy()
- * after this function returns.
- *
- * @return a newly allocated instance of @c Ewk_Paint_Context on success,
- * or @c 0 on failure
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-Ewk_Paint_Context* ewk_paint_context_new(cairo_t* cairo);
-
-/**
- * @internal
- * Creates a new paint context using an image as output.
- *
- * @param image to use as paint destination
- *
- * @return a newly allocated instance of @c Ewk_Paint_Context on success,
- * or @c 0 on failure
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-Ewk_Paint_Context* ewk_paint_context_from_image_new(Evas_Object* image);
-
-/**
- * @internal
- * Creates a new paint context using an image as output.
- *
- * @param pixel pointer to pixel buffer
- * @param width size of pixel buffer
- * @param height size of pixel buffer
- * @param colorSpace Evas_Colorspace of pixel buffer
- *
- * @return a newly allocated instance of @c Ewk_Paint_Context on success,
- * or @c 0 on failure
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-Ewk_Paint_Context* ewk_paint_context_from_image_data_new(uint8_t* pixels, int width, int height, int colorSpace);
-
-/**
- * @internal
- * Destroys the previously created the paint context.
- *
- * @param context the paint context to destroy, must @b not be @c 0
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-void ewk_paint_context_free(Ewk_Paint_Context* context);
-
-/**
- * @internal
- * Saves (push to stack) the paint context status.
- *
- * @param context the paint context to save, must @b not be @c 0
- *
- * @see ewk_paint_context_restore()
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-void ewk_paint_context_save(Ewk_Paint_Context* context);
-
-/**
- * @internal
- * Restores (pop from stack) the paint context status.
- *
- * @param context the paint context to restore, must @b not be @c 0
- *
- * @see ewk_paint_context_save()
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-void ewk_paint_context_restore(Ewk_Paint_Context* context);
-
-/**
- * @internal
- * Clips the paint context drawings to the given area.
- *
- * @param context the paint context to clip, must @b not be @c 0
- * @param area clip area to use, must @b not be @c 0
- *
- * @see ewk_paint_context_save()
- * @see ewk_paint_context_restore()
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-void ewk_paint_context_clip(Ewk_Paint_Context* context, const Eina_Rectangle* area);
-
-/**
- * @internal
- * Scales the contents by the given factors.
- *
- * This function applies a scaling transformation using Cairo.
- *
- * @param context the paint context to scale, must @b not be @c 0
- * @param scale_x the scale factor for the X dimension
- * @param scale_y the scale factor for the Y dimension
- */
-void ewk_paint_context_scale(Ewk_Paint_Context* context, float scale_x, float scale_y);
-
-/**
- * @internal
- * Performs a translation of the origin coordinates.
- *
- * This function moves the origin coordinates by @a x and @a y pixels.
- *
- * @param context the paint context to translate, must @b not be @c 0
- * @param x amount of pixels to translate in the X dimension
- * @param y amount of pixels to translate in the Y dimension
- */
-void ewk_paint_context_translate(Ewk_Paint_Context* context, float x, float y);
-
-/**
- * @internal
- * Paints the context using given area.
- *
- * @param context the paint context to paint, must @b not be @c 0
- * @param view the view to paint
- * @param area the paint area to use, coordinates are relative to current viewport,
- * thus "scrolled", must @b not be @c 0
- *
- * @note One may use cairo functions on the cairo context to
- * translate, scale or any modification that may fit his desires.
- *
- * @see ewk_paint_context_clip()
- * @see ewk_paint_context_paint_contents()
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-void ewk_paint_context_paint(Ewk_Paint_Context* context, WebCore::FrameView* view, const Eina_Rectangle* area);
-
-/**
- * @internal
- * Paints just contents using context using given area.
- *
- * Unlike ewk_paint_context_paint(), this function paint just
- * bare contents and ignores any scrolling, scrollbars and extras. It
- * will walk the rendering tree and paint contents inside the given
- * area to the cairo context specified in @a context.
- *
- * @param context the paint context to paint, must @b not be @c 0.
- * @param view the view to paint
- * @param area the paint area to use, coordinates are absolute to page, must @b not be @c 0
- *
- * @note One may use cairo functions on the cairo context to
- * translate, scale or any modification that may fit his desires.
- *
- * @see ewk_paint_context_clip()
- * @see ewk_paint_context_paint()
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-void ewk_paint_context_paint_contents(Ewk_Paint_Context* context, WebCore::FrameView* view, const Eina_Rectangle* area);
-
-#endif // ewk_paint_context_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_private.h b/Source/WebKit/efl/ewk/ewk_private.h
deleted file mode 100644
index 11ec1af03..000000000
--- a/Source/WebKit/efl/ewk/ewk_private.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2012 Samsung Electronics
-
- 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 ewk_private_h
-#define ewk_private_h
-
-#include "APICast.h"
-#include <Evas.h>
-
-// If defined, ewk will do type checking to ensure objects are of correct type
-#define EWK_TYPE_CHECK 1
-#define EWK_ARGB_BYTES_SIZE 4
-
-// forward declarations
-namespace WebCore {
-#if USE(ACCELERATED_COMPOSITING)
-class GraphicsContext3D;
-class GraphicsLayer;
-#endif
-}
-
-struct Ewk_Window_Object_Cleared_Event {
- JSContextRef context;
- JSObjectRef windowObject;
- Evas_Object* frame;
-};
-
-extern int _ewk_log_dom;
-
-#define CRITICAL(...) EINA_LOG_DOM_CRIT(_ewk_log_dom, __VA_ARGS__)
-#define ERR(...) EINA_LOG_DOM_ERR(_ewk_log_dom, __VA_ARGS__)
-#define WARN(...) EINA_LOG_DOM_WARN(_ewk_log_dom, __VA_ARGS__)
-#define INFO(...) EINA_LOG_DOM_INFO(_ewk_log_dom, __VA_ARGS__)
-#define DBG(...) EINA_LOG_DOM_DBG(_ewk_log_dom, __VA_ARGS__)
-
-#endif // ewk_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_security_origin.cpp b/Source/WebKit/efl/ewk/ewk_security_origin.cpp
deleted file mode 100644
index eaad07176..000000000
--- a/Source/WebKit/efl/ewk/ewk_security_origin.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- Copyright (C) 2012 Intel Corporation
-
- 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 "ewk_security_origin.h"
-
-#include "ApplicationCache.h"
-#include "ApplicationCacheStorage.h"
-#include "DatabaseManager.h"
-#include "SecurityOrigin.h"
-#include "ewk_security_origin_private.h"
-#include "ewk_web_database.h"
-#include "ewk_web_database_private.h"
-#include <wtf/RefPtr.h>
-#include <wtf/text/CString.h>
-
-struct _Ewk_Security_Origin {
- RefPtr<WebCore::SecurityOrigin> securityOrigin;
- const char* protocol;
- const char* host;
- const char* originString;
-};
-
-const char* ewk_security_origin_protocol_get(const Ewk_Security_Origin* origin)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(origin, 0);
- return origin->protocol;
-}
-
-const char* ewk_security_origin_host_get(const Ewk_Security_Origin* origin)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(origin, 0);
- return origin->host;
-}
-
-const char* ewk_security_origin_string_get(const Ewk_Security_Origin* origin)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(origin, 0);
- return origin->originString;
-}
-
-uint32_t ewk_security_origin_port_get(const Ewk_Security_Origin* origin)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(origin, 0);
- return origin->securityOrigin->port();
-}
-
-uint64_t ewk_security_origin_web_database_usage_get(const Ewk_Security_Origin* origin)
-{
-#if ENABLE(SQL_DATABASE)
- EINA_SAFETY_ON_NULL_RETURN_VAL(origin, 0);
-
- return WebCore::DatabaseManager::manager().usageForOrigin(origin->securityOrigin.get());
-#else
- UNUSED_PARAM(origin);
- return 0;
-#endif
-}
-
-uint64_t ewk_security_origin_web_database_quota_get(const Ewk_Security_Origin* origin)
-{
-#if ENABLE(SQL_DATABASE)
- EINA_SAFETY_ON_NULL_RETURN_VAL(origin, 0);
-
- return WebCore::DatabaseManager::manager().quotaForOrigin(origin->securityOrigin.get());
-#else
- UNUSED_PARAM(origin);
- return 0;
-#endif
-}
-
-void ewk_security_origin_web_database_quota_set(const Ewk_Security_Origin* origin, uint64_t quota)
-{
- EINA_SAFETY_ON_NULL_RETURN(origin);
-
-#if ENABLE(SQL_DATABASE)
- WebCore::DatabaseManager::manager().setQuota(origin->securityOrigin.get(), quota);
-#endif
-}
-
-void ewk_security_origin_application_cache_quota_set(const Ewk_Security_Origin* origin, int64_t quota)
-{
- EINA_SAFETY_ON_NULL_RETURN(origin);
- WebCore::cacheStorage().storeUpdatedQuotaForOrigin(origin->securityOrigin.get(), quota);
-}
-
-void ewk_security_origin_application_cache_clear(const Ewk_Security_Origin* origin)
-{
- EINA_SAFETY_ON_NULL_RETURN(origin);
- WebCore::ApplicationCache::deleteCacheForOrigin(origin->securityOrigin.get());
-}
-
-Eina_List* ewk_security_origin_web_database_get_all(const Ewk_Security_Origin* origin)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(origin, 0);
-
- Eina_List* databases = 0;
-#if ENABLE(SQL_DATABASE)
- Vector<WTF::String> names;
-
- if (!WebCore::DatabaseManager::manager().databaseNamesForOrigin(origin->securityOrigin.get(), names))
- return 0;
-
- for (unsigned i = 0; i < names.size(); i++) {
- Ewk_Web_Database* database = ewk_web_database_new(origin->securityOrigin.get(), names[i].utf8().data());
- databases = eina_list_append(databases, database);
- }
-#else
- UNUSED_PARAM(origin);
-#endif
- return databases;
-}
-
-void ewk_security_origin_free(Ewk_Security_Origin* origin)
-{
- EINA_SAFETY_ON_NULL_RETURN(origin);
-
- origin->securityOrigin = 0;
- eina_stringshare_del(origin->host);
- eina_stringshare_del(origin->protocol);
- eina_stringshare_del(origin->originString);
-
- delete origin;
-}
-
-Ewk_Security_Origin* ewk_security_origin_new_from_string(const char* url)
-{
- return ewk_security_origin_new(WebCore::SecurityOrigin::createFromString(String::fromUTF8(url)).get());
-}
-
-/**
- * @internal
- * Creates a EWK wrapper for WebCore Security Origin object.
- *
- * @param coreOrigin WebCore Security Origin object
- *
- * @return a EWK wrapper of WebCore Security Origin object which should be
- * freed by ewk_security_origin_free()
- */
-Ewk_Security_Origin* ewk_security_origin_new(WebCore::SecurityOrigin* coreOrigin)
-{
- Ewk_Security_Origin* origin = new Ewk_Security_Origin;
-
- origin->securityOrigin = coreOrigin;
- origin->protocol = eina_stringshare_add(coreOrigin->protocol().utf8().data());
- origin->host = eina_stringshare_add(coreOrigin->host().utf8().data());
- origin->originString = eina_stringshare_add(origin->securityOrigin->toString().utf8().data());
-
- return origin;
-}
diff --git a/Source/WebKit/efl/ewk/ewk_security_origin.h b/Source/WebKit/efl/ewk/ewk_security_origin.h
deleted file mode 100644
index 9996972d7..000000000
--- a/Source/WebKit/efl/ewk/ewk_security_origin.h
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- Copyright (C) 2012 Intel Corporation
-
- 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.
-*/
-
-/**
- * @file ewk_security_origin.h
- * @brief Security Origin API.
- *
- * Security Origin is the mechanism that defines the access limits of a website.
- * Based on information such as domain, protocol and port, you can grant or not
- * authorization for accessing data and performing certain tasks. Database quota
- * can also be defined based on the security origin.
- *
- * The database related functions will do nothing if WebKit is built without Web
- * SQL Database support.
- */
-
-#ifndef ewk_security_origin_h
-#define ewk_security_origin_h
-
-#include <Eina.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct _Ewk_Security_Origin Ewk_Security_Origin;
-
-/**
- * Returns the protocol of the security origin.
- *
- * @param o security origin object
- *
- * It returns a internal string which should not
- * be modified. The string is guaranteed to be stringshared.
- *
- * @return the protocol scheme or @c NULL if there is not a protocol scheme
- */
-EAPI const char *ewk_security_origin_protocol_get(const Ewk_Security_Origin *o);
-
-/**
- * Returns the host of the security origin.
- *
- * It returns a internal string which should not
- * be modified. The string is guaranteed to be stringshared.
- *
- * @param o security origin object
- *
- * @return the host domain or @c NULL if there is not a host scheme
- */
-EAPI const char *ewk_security_origin_host_get(const Ewk_Security_Origin *o);
-
-/**
- * Convert this Ewk_Security_Origin into a string.
- * The string representation of a security origin is similar to a URL, except it lacks a path component.
- * The string representation does not encode the value of the security origin's domain property.
- *
- * @param o security origin object
- *
- * @return the string representation of security origin or @c NULL if there is not a proper security origin scheme
- */
-EAPI const char *ewk_security_origin_string_get(const Ewk_Security_Origin *o);
-
-/**
- * Returns the port of the security origin.
- *
- * @param o security origin object
- *
- * @return the port or @c 0 if there is not a proper security origin scheme
- */
-EAPI uint32_t ewk_security_origin_port_get(const Ewk_Security_Origin *o);
-
-/**
- * Retrieves the usage of a database for a security origin.
- *
- * This function won't work if Web SQL Database was not enabled when
- * building WebKit and will just return 0.
- *
- * @param o security origin object or @c 0 if there is not a proper security origin scheme
- *
- * @return the usage in bytes
- */
-EAPI uint64_t ewk_security_origin_web_database_usage_get(const Ewk_Security_Origin *o);
-
-/**
- * Retrieves the quota of a database for a security origin.
- *
- * This function won't work if Web SQL Database was not enabled when
- * building WebKit and will just return 0.
- *
- * @param o security origin object
- *
- * @return the quota in bytes or @c 0 if there is not a proper security origin scheme
- */
-EAPI uint64_t ewk_security_origin_web_database_quota_get(const Ewk_Security_Origin *o);
-
-/**
- * Sets the database usage quota for a security origin.
- *
- * This function won't work if Web SQL Database was not enabled when
- * building WebKit.
- *
- * @param o security origin object
- * @param quota the usage quota in bytes
- */
-EAPI void ewk_security_origin_web_database_quota_set(const Ewk_Security_Origin *o, uint64_t quota);
-
-/**
- * Sets the application cache usage quota for a security origin.
- *
- * @param o security origin object
- * @param quota the usage quota in bytes
- */
-EAPI void ewk_security_origin_application_cache_quota_set(const Ewk_Security_Origin *o, int64_t quota);
-
-/**
- * Clears the application cache for a security origin.
- *
- * @param o security origin object.
- */
-EAPI void ewk_security_origin_application_cache_clear(const Ewk_Security_Origin *o);
-
-/**
- * Return the list of web databases in the security origin.
- *
- * Each item of the list should be release using ewk_web_database_free() or
- * use ewk_web_database_list_free() as convenience.
- *
- * This function won't work if Web SQL Database was not enabled when
- * building WebKit and will just return @c NULL.
- *
- * @param o security origin object
- *
- * @return list of web databases in the security origin or @c NULL if there is not a proper security origin scheme
- *
- * @see ewk_web_database_free()
- * @see ewk_web_database_list_free()
- */
-EAPI Eina_List *ewk_security_origin_web_database_get_all(const Ewk_Security_Origin *o);
-
-/**
- * Release all resources allocated by a security origin object.
- *
- * @param o security origin object
- */
-EAPI void ewk_security_origin_free(Ewk_Security_Origin *o);
-
-/**
- * Creates a security origin for a url.
- *
- * @param url the url for the security origin.
- *
- * @return the security origin object
- */
-EAPI Ewk_Security_Origin *ewk_security_origin_new_from_string(const char *url);
-
-#ifdef __cplusplus
-}
-#endif
-#endif // ewk_security_origin_h
diff --git a/Source/WebKit/efl/ewk/ewk_security_origin_private.h b/Source/WebKit/efl/ewk/ewk_security_origin_private.h
deleted file mode 100644
index 5686b4a33..000000000
--- a/Source/WebKit/efl/ewk/ewk_security_origin_private.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- Copyright (C) 2012 Intel Corporation
-
- 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 ewk_security_origin_private_h
-#define ewk_security_origin_private_h
-
-// forward declarations
-namespace WebCore {
-class SecurityOrigin;
-}
-
-Ewk_Security_Origin* ewk_security_origin_new(WebCore::SecurityOrigin* origin);
-
-#endif // ewk_security_origin_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_security_policy.cpp b/Source/WebKit/efl/ewk/ewk_security_policy.cpp
deleted file mode 100644
index dd3ba9fa9..000000000
--- a/Source/WebKit/efl/ewk/ewk_security_policy.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- Copyright (C) 2012 ProFUSION embedded systems
-
- 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 "ewk_security_policy.h"
-
-#include "KURL.h"
-#include "SecurityOrigin.h"
-#include "SecurityPolicy.h"
-
-using namespace WebCore;
-
-void ewk_security_policy_whitelist_origin_add(const char* sourceUrl, const char* destinationUrl, Eina_Bool allowSubdomains)
-{
- const RefPtr<SecurityOrigin> source = SecurityOrigin::createFromString(sourceUrl);
- const KURL destination(KURL(), destinationUrl);
-
- SecurityPolicy::addOriginAccessWhitelistEntry(*source, destination.protocol(), destination.host(), allowSubdomains);
-}
-
-void ewk_security_policy_whitelist_origin_del(const char* sourceUrl, const char* destinationUrl, Eina_Bool allowSubdomains)
-{
- const RefPtr<SecurityOrigin> source = SecurityOrigin::createFromString(sourceUrl);
- const KURL destination(KURL(), destinationUrl);
-
- SecurityPolicy::removeOriginAccessWhitelistEntry(*source, destination.protocol(), destination.host(), allowSubdomains);
-}
-
-void ewk_security_policy_whitelist_origin_reset()
-{
- SecurityPolicy::resetOriginAccessWhitelists();
-}
diff --git a/Source/WebKit/efl/ewk/ewk_security_policy.h b/Source/WebKit/efl/ewk/ewk_security_policy.h
deleted file mode 100644
index 339f148b3..000000000
--- a/Source/WebKit/efl/ewk/ewk_security_policy.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- Copyright (C) 2012 ProFUSION embedded systems
-
- 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 ewk_security_policy_h
-#define ewk_security_policy_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <Eina.h>
-
-/**
- * Allows a page from @p source_url to request a resource from @p destination_url.
- *
- * @param source_url Source URL; protocol and domain only (e.g. app://clock.zip)
- * @param destination_url Destination URL; protocol and domain only (e.g. http://api.example.com)
- * @param allow_subdomains EINA_TRUE if subdomains of destination URLs should be whitelisted
- */
-EAPI void ewk_security_policy_whitelist_origin_add(const char *source_url,
- const char *destination_url,
- Eina_Bool allow_subdomains);
-
-/**
- * Remove a whitelist item added with ewk_security_policy_whitelist_origin_del().
- *
- * @param source_url Source URL; protocol and domain only (e.g. app://clock.zip)
- * @param destination_url Destination URL; protocol and domain only (e.g. http://api.example.com)
- * @param allow_subdomains EINA_TRUE if subdomains of destination URLs should be whitelisted
- */
-EAPI void ewk_security_policy_whitelist_origin_del(const char *source_url,
- const char *destination_url,
- Eina_Bool allow_subdomains);
-
-/**
- * Resets the whitelist to EWebKit's default, empty list.
- */
-EAPI void ewk_security_policy_whitelist_origin_reset();
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // ewk_security_policy_h
diff --git a/Source/WebKit/efl/ewk/ewk_settings.cpp b/Source/WebKit/efl/ewk/ewk_settings.cpp
deleted file mode 100644
index ad0ecc71f..000000000
--- a/Source/WebKit/efl/ewk/ewk_settings.cpp
+++ /dev/null
@@ -1,401 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2010 Samsung Electronics
- Copyright (C) 2012 Intel Corporation
-
- 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 "ewk_settings.h"
-
-#include "ApplicationCacheStorage.h"
-#include "CairoUtilitiesEfl.h"
-#include "CrossOriginPreflightResultCache.h"
-#include "DatabaseManager.h"
-#include "FontCache.h"
-#include "FrameView.h"
-#include "GCController.h"
-#include "IconDatabase.h"
-#include "Image.h"
-#include "IntSize.h"
-#include "KURL.h"
-#include "LocalFileSystem.h"
-#include "MemoryCache.h"
-#include "PageCache.h"
-#include "RuntimeEnabledFeatures.h"
-#include "Settings.h"
-#include "StorageThread.h"
-#include "StorageTracker.h"
-#include "WebKitVersion.h"
-#include "WorkerThread.h"
-#include "ewk_private.h"
-#include <Eina.h>
-#include <eina_safety_checks.h>
-#include <errno.h>
-#include <string.h>
-#include <unistd.h>
-#include <wtf/FastMalloc.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/StringConcatenate.h>
-
-#if OS(UNIX)
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <sys/utsname.h>
-#elif OS(WINDOWS)
-#include "SystemInfo.h"
-#endif
-
-static const char* s_offlineAppCachePath = 0;
-
-static const char* _ewk_icon_database_path = 0;
-
-static const char* s_webDatabasePath = 0;
-static const char* s_localStoragePath = 0;
-static const char* s_cssMediaType = 0;
-static uint64_t s_webDatabaseQuota = 1 * 1024 * 1024; // 1MB.
-
-static WTF::String _ewk_settings_webkit_platform_get()
-{
- WTF::String uaPlatform;
-#if PLATFORM(X11)
- uaPlatform = "X11";
-#else
- uaPlatform = "Unknown";
-#endif
- return uaPlatform;
-}
-
-static WTF::String _ewk_settings_webkit_os_version_get()
-{
- WTF::String uaOsVersion;
-#if OS(DARWIN)
-#if CPU(X86) || CPU(X86_64)
- uaOsVersion = "Intel Mac OS X";
-#else
- uaOsVersion = "PPC Mac OS X";
-#endif
-#elif OS(UNIX)
- struct utsname name;
-
- if (uname(&name) != -1)
- uaOsVersion = makeString(name.sysname, ' ', name.machine);
- else
- uaOsVersion = "Unknown";
-#elif OS(WINDOWS)
- uaOsVersion = windowsVersionFroUAString();
-#else
- uaOsVersion = "Unknown";
-#endif
- return uaOsVersion;
-}
-
-uint64_t ewk_settings_web_database_default_quota_get()
-{
- return s_webDatabaseQuota;
-}
-
-void ewk_settings_web_database_default_quota_set(uint64_t maximumSize)
-{
- s_webDatabaseQuota = maximumSize;
-}
-
-void ewk_settings_local_storage_path_set(const char* path)
-{
- WebCore::StorageTracker::tracker().setDatabaseDirectoryPath(WTF::String::fromUTF8(path));
- eina_stringshare_replace(&s_localStoragePath, path);
-}
-
-const char* ewk_settings_local_storage_path_get(void)
-{
- return s_localStoragePath;
-}
-
-void ewk_settings_local_storage_database_clear()
-{
- WebCore::StorageTracker::tracker().deleteAllOrigins();
-}
-
-void ewk_settings_local_storage_database_origin_clear(const char* url)
-{
- EINA_SAFETY_ON_NULL_RETURN(url);
-
- const WebCore::KURL kurl(WebCore::KURL(), WTF::String::fromUTF8(url));
- WebCore::StorageTracker::tracker().deleteOrigin(WebCore::SecurityOrigin::create(kurl).get());
-}
-
-void ewk_settings_web_database_path_set(const char* path)
-{
-#if ENABLE(SQL_DATABASE)
- WebCore::DatabaseManager::manager().setDatabaseDirectoryPath(WTF::String::fromUTF8(path));
- eina_stringshare_replace(&s_webDatabasePath, path);
-#endif
-}
-
-const char* ewk_settings_web_database_path_get(void)
-{
- return s_webDatabasePath;
-}
-
-Eina_Bool ewk_settings_icon_database_path_set(const char* directory)
-{
- WebCore::IconDatabase::delayDatabaseCleanup();
-
- if (directory) {
- if (WebCore::iconDatabase().isEnabled()) {
- ERR("IconDatabase is already open: %s", _ewk_icon_database_path);
- return false;
- }
-
- struct stat st;
-
- if (stat(directory, &st)) {
- ERR("could not stat(%s): %s", directory, strerror(errno));
- return false;
- }
-
- if (!S_ISDIR(st.st_mode)) {
- ERR("not a directory: %s", directory);
- return false;
- }
-
- if (access(directory, R_OK | W_OK)) {
- ERR("could not access directory '%s' for read and write: %s",
- directory, strerror(errno));
- return false;
- }
-
- WebCore::iconDatabase().setEnabled(true);
- WebCore::iconDatabase().open(WTF::String::fromUTF8(directory), WebCore::IconDatabase::defaultDatabaseFilename());
-
- eina_stringshare_replace(&_ewk_icon_database_path, directory);
- } else {
- WebCore::iconDatabase().setEnabled(false);
- WebCore::iconDatabase().close();
-
- eina_stringshare_del(_ewk_icon_database_path);
- _ewk_icon_database_path = 0;
- }
- return true;
-}
-
-const char* ewk_settings_icon_database_path_get(void)
-{
- return _ewk_icon_database_path;
-}
-
-Eina_Bool ewk_settings_icon_database_clear(void)
-{
- if (!WebCore::iconDatabase().isEnabled())
- return false;
- if (!WebCore::iconDatabase().isOpen())
- return false;
-
- WebCore::iconDatabase().removeAllIcons();
- return true;
-}
-
-cairo_surface_t* ewk_settings_icon_database_icon_surface_get(const char* url)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(url, 0);
-
- WebCore::KURL kurl(WebCore::KURL(), WTF::String::fromUTF8(url));
- RefPtr<cairo_surface_t> icon = WebCore::iconDatabase().synchronousNativeIconForPageURL(kurl.string(), WebCore::IntSize(16, 16));
- if (!icon)
- ERR("no icon for url %s", url);
-
- return icon.get();
-}
-
-Evas_Object* ewk_settings_icon_database_icon_object_get(const char* url, Evas* canvas)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(url, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(canvas, 0);
-
- WebCore::KURL kurl(WebCore::KURL(), WTF::String::fromUTF8(url));
- RefPtr<cairo_surface_t> surface = WebCore::iconDatabase().synchronousNativeIconForPageURL(kurl.string(), WebCore::IntSize(16, 16));
-
- if (!surface) {
- ERR("no icon for url %s", url);
- return 0;
- }
-
- return surface ? WebCore::evasObjectFromCairoImageSurface(canvas, surface.get()).leakRef() : 0;
-}
-
-void ewk_settings_object_cache_capacity_set(unsigned minDeadCapacity, unsigned maxDeadCapacity, unsigned totalCapacity)
-{
- WebCore::memoryCache()->setCapacities(minDeadCapacity, maxDeadCapacity, totalCapacity);
-}
-
-Eina_Bool ewk_settings_object_cache_enable_get()
-{
- return !WebCore::memoryCache()->disabled();
-}
-
-void ewk_settings_object_cache_enable_set(Eina_Bool enable)
-{
- WebCore::memoryCache()->setDisabled(!enable);
-}
-
-Eina_Bool ewk_settings_shadow_dom_enable_get()
-{
-#if ENABLE(SHADOW_DOM)
- return WebCore::RuntimeEnabledFeatures::shadowDOMEnabled();
-#else
- return false;
-#endif
-}
-
-Eina_Bool ewk_settings_shadow_dom_enable_set(Eina_Bool enable)
-{
-#if ENABLE(SHADOW_DOM)
- enable = !!enable;
- WebCore::RuntimeEnabledFeatures::setShadowDOMEnabled(enable);
- return true;
-#else
- UNUSED_PARAM(enable);
- return false;
-#endif
-}
-
-unsigned ewk_settings_page_cache_capacity_get()
-{
- return WebCore::pageCache()->capacity();
-}
-
-void ewk_settings_page_cache_capacity_set(unsigned pages)
-{
- WebCore::pageCache()->setCapacity(pages);
-}
-
-void ewk_settings_memory_cache_clear()
-{
- // Turn the cache on and off. Disabling the object cache will remove all
- // resources from the cache. They may still live on if they are referenced
- // by some Web page though.
- if (!WebCore::memoryCache()->disabled()) {
- WebCore::memoryCache()->setDisabled(true);
- WebCore::memoryCache()->setDisabled(false);
- }
-
- int pageCapacity = WebCore::pageCache()->capacity();
- // Setting size to 0, makes all pages be released.
- WebCore::pageCache()->setCapacity(0);
- WebCore::pageCache()->setCapacity(pageCapacity);
-
- // Invalidating the font cache and freeing all inactive font data.
- WebCore::fontCache()->invalidate();
-
- // Empty the Cross-Origin Preflight cache
- WebCore::CrossOriginPreflightResultCache::shared().empty();
-
- // Drop JIT compiled code from ExecutableAllocator.
- WebCore::gcController().discardAllCompiledCode();
- // Garbage Collect to release the references of CachedResource from dead objects.
- WebCore::gcController().garbageCollectNow();
-
- // FastMalloc has lock-free thread specific caches that can only be cleared from the thread itself.
- WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads();
-#if ENABLE(WORKERS)
- WebCore::WorkerThread::releaseFastMallocFreeMemoryInAllThreads();
-#endif
- WTF::releaseFastMallocFreeMemory();
-}
-
-void ewk_settings_repaint_throttling_set(double deferredRepaintDelay, double initialDeferredRepaintDelayDuringLoading, double maxDeferredRepaintDelayDuringLoading, double deferredRepaintDelayIncrementDuringLoading)
-{
- WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay(deferredRepaintDelay);
- WebCore::FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading(initialDeferredRepaintDelayDuringLoading);
- WebCore::FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading(maxDeferredRepaintDelayDuringLoading);
- WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading(deferredRepaintDelayIncrementDuringLoading);
-}
-
-/**
- * @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 uaVersion = String::number(WEBKIT_MAJOR_VERSION) + '.' + String::number(WEBKIT_MINOR_VERSION) + '+';
- WTF::String staticUa = "Mozilla/5.0 (" + _ewk_settings_webkit_platform_get() + "; " + _ewk_settings_webkit_os_version_get() + ") AppleWebKit/" + uaVersion + " (KHTML, like Gecko) Version/5.0 Safari/" + uaVersion;
-
- return eina_stringshare_add(staticUa.utf8().data());
-}
-
-/**
- * @internal
- *
- * Sets the given path to the directory where WebKit will write for
- * the HTML5 file system API.
- *
- * @param path the new file system directory path
- */
-void ewk_settings_file_system_path_set(const char* path)
-{
-#if ENABLE(FILE_SYSTEM)
- WebCore::LocalFileSystem::initializeLocalFileSystem(String::fromUTF8(path));
-#else
- UNUSED_PARAM(path);
-#endif
-}
-
-void ewk_settings_application_cache_path_set(const char* path)
-{
- WebCore::cacheStorage().setCacheDirectory(WTF::String::fromUTF8(path));
- eina_stringshare_replace(&s_offlineAppCachePath, path);
-}
-
-const char* ewk_settings_application_cache_path_get()
-{
- return s_offlineAppCachePath;
-}
-
-int64_t ewk_settings_application_cache_max_quota_get()
-{
- return WebCore::cacheStorage().maximumSize();
-}
-
-void ewk_settings_application_cache_max_quota_set(int64_t maximumSize)
-{
- ewk_settings_application_cache_clear();
-
- WebCore::cacheStorage().setMaximumSize(maximumSize);
-}
-
-void ewk_settings_application_cache_clear()
-{
- WebCore::cacheStorage().deleteAllEntries();
-}
-
-double ewk_settings_default_timer_interval_get(void)
-{
- return WebCore::Settings::defaultMinDOMTimerInterval();
-}
-
-void ewk_settings_css_media_type_set(const char* type)
-{
- eina_stringshare_replace(&s_cssMediaType, type);
-}
-
-const char* ewk_settings_css_media_type_get()
-{
- return s_cssMediaType;
-}
diff --git a/Source/WebKit/efl/ewk/ewk_settings.h b/Source/WebKit/efl/ewk/ewk_settings.h
deleted file mode 100644
index f290a0698..000000000
--- a/Source/WebKit/efl/ewk/ewk_settings.h
+++ /dev/null
@@ -1,421 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2010 Samsung Electronics
- Copyright (C) 2012 Intel Corporation
-
- 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 ewk_settings_h
-#define ewk_settings_h
-
-#include <Eina.h>
-#include <Evas.h>
-#include <cairo.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file ewk_settings.h
- *
- * @brief General purpose settings, not tied to any view object.
- */
-
-/**
- * Returns the default quota for Web Database databases. By default
- * this value is 1MB.
- *
- * @return the current default database quota in bytes
- */
-EAPI uint64_t ewk_settings_web_database_default_quota_get(void);
-
-/**
- * Sets the default maximum size (in bytes) an HTML5 Web Database database can have.
- *
- * By default, this value is 1MB.
- *
- * @param maximum_size the new maximum size a database is allowed
- */
-EAPI void ewk_settings_web_database_default_quota_set(uint64_t maximum_size);
-
-/**
- * Sets the current path to the directory WebKit will write Web
- * Database databases.
- *
- * By default, the value is @c ~/.cache/WebKitEfl/Databases
- *
- * @param path the new database directory path
- */
-EAPI void ewk_settings_web_database_path_set(const char *path);
-
-/**
- * Sets the current path to the directory where WebKit will write the
- * HTML5 local storage indexing database (the one keeping track of
- * individual views' local storage databases).
- *
- * By default, the value is @c ~/.local/share/WebKitEfl/LocalStorage
- *
- * @param path the new local storage database directory path
- *
- * @note You may want to call
- * ewk_view_setting_local_storage_database_path_set() on the same @p
- * path, here, for your views.
- */
-EAPI void ewk_settings_local_storage_path_set(const char* path);
-
-/**
- * Returns directory's path where the HTML5 local storage indexing
- * database is stored.
- *
- * This is guaranteed to be eina-stringshared, so whenever possible
- * save yourself some cpu cycles and use eina_stringshare_ref()
- * instead of eina_stringshare_add() or strdup().
- *
- * By default, the value is @c ~/.local/share/WebKitEfl/LocalStorage
- *
- * @return database path or @c NULL, on errors.
- *
- * @see ewk_settings_local_storage_path_set()
- */
-EAPI const char* ewk_settings_local_storage_path_get(void);
-
-/**
- * Removes @b all HTML 5 local storage databases.
- */
-EAPI void ewk_settings_local_storage_database_clear();
-
-/**
- * Clears the HTML 5 local storage database for the given URL
- * (origin).
- *
- * @param url which URL to clear local storage to.
- *
- * After this call, the file holding the local storage database for
- * that origin will be deleted, along with its entry on the local
- * storage files database (a file stored under the path returned by
- * ewk_settings_local_storage_path_get()).
- */
-EAPI void ewk_settings_local_storage_database_origin_clear(const char *url);
-
-/**
- * Returns directory path where web database is stored.
- *
- * By default, the value is @c ~/.cache/WebKitEfl/Databases
- *
- * This is guaranteed to be eina_stringshare, so whenever possible
- * save yourself some cpu cycles and use eina_stringshare_ref()
- * instead of eina_stringshare_add() or strdup().
- *
- * @return database path or @c NULL if none or web database is not supported
- */
-EAPI const char *ewk_settings_web_database_path_get(void);
-
-/**
- * Sets directory where to store icon database, opening or closing database.
- *
- * Icon database must be opened only once. If you try to set a path when the icon
- * database is already open, this function returns @c EINA_FALSE.
- *
- * @param directory where to store icon database, must be
- * write-able, if @c NULL is given, then database is closed
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on errors
- */
-EAPI Eina_Bool ewk_settings_icon_database_path_set(const char *path);
-
-/**
- * Returns directory path where icon database is stored.
- *
- * This is guaranteed to be eina_stringshare, so whenever possible
- * save yourself some cpu cycles and use eina_stringshare_ref()
- * instead of eina_stringshare_add() or strdup().
- *
- * @return database path or @c NULL if none is set
- */
-EAPI const char *ewk_settings_icon_database_path_get(void);
-
-/**
- * Removes all known icons from database.
- *
- * Database must be opened with ewk_settings_icon_database_path_set()
- * in order to work.
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise, like
- * closed database.
- */
-EAPI Eina_Bool ewk_settings_icon_database_clear(void);
-
-/**
- * Queries icon for given URL, returning associated cairo surface.
- *
- * @note In order to have this working, one must open icon database
- * with ewk_settings_icon_database_path_set().
- *
- * @param url which url to query icon
- *
- * @return cairo surface if any, or @c NULL on failure
- */
-EAPI cairo_surface_t *ewk_settings_icon_database_icon_surface_get(const char *url);
-
-/**
- * Gets image representing the given URL.
- *
- * This is an utility function that creates an Evas_Object of type
- * image set to have fill always match object size
- * (evas_object_image_filled_add()), saving some code to use it from Evas.
- *
- * @note In order to have this working, one must open icon database
- * with ewk_settings_icon_database_path_set().
- *
- * @note The "load,finished" signal doesn't guarantee that icons are completely loaded and
- * saved to database. Icon can be taken after the "icon,received" signal.
- *
- * @param url which url to query icon
- * @param canvas evas instance where to add resulting object
- *
- * @return newly allocated Evas_Object instance or @c NULL on
- * errors. Delete the object with evas_object_del().
- */
-EAPI Evas_Object *ewk_settings_icon_database_icon_object_get(const char *url, Evas *canvas);
-
-/**
- * Sets the path where the application cache will be stored.
- *
- * The Offline Application Caching APIs are part of HTML5 and allow applications to store data locally that is accessed
- * when the network cannot be reached.
- *
- * By default, the path is @c ~/.cache/WebKitEfl/Applications
- * Once the path is set, the feature is enabled and the path cannot be changed.
- *
- * @param path where to store cache, must be write-able.
- *
- * @sa ewk_view_setting_application_cache_set
- */
-EAPI void ewk_settings_application_cache_path_set(const char *path);
-
-/**
- * Returns the path where the HTML5 application cache is stored.
- *
- * The Offline Application Caching APIs are part of HTML5 and allow applications to store data locally that is accessed
- * when the network cannot be reached.
- *
- * By default, the path is @c ~/.cache/WebKitEfl/Applications
- *
- * @return eina_stringshare'd path value.
- *
- * @sa ewk_view_setting_application_cache_set
- */
-EAPI const char *ewk_settings_application_cache_path_get(void);
-
-/**
- * Returns the maximum size, in bytes, of the application cache for HTML5 Offline Web Applications.
- *
- * By default, applications are allowed unlimited storage space.
- *
- * @sa ewk_view_setting_offine_app_cache_set
- */
-EAPI int64_t ewk_settings_application_cache_max_quota_get(void);
-
-/**
- * Sets the maximum size, in bytes, of the application cache for HTML5 Offline Web Applications.
- *
- * By default, applications are allowed unlimited storage space.
- *
- * Note that calling this function will delete all the entries currently in the app cache.
- *
- * @param maximum_size the new maximum size, in bytes.
- *
- * @sa ewk_view_setting_application_cache_enabled_set
- */
-EAPI void ewk_settings_application_cache_max_quota_set(int64_t maximum_size);
-
-/**
- * Removes all entries from the HTML5 application cache.
- *
- * @sa ewk_view_setting_application_cache_enabled_set, ewk_settings_application_cache_path_set
- */
-EAPI void ewk_settings_application_cache_clear(void);
-
-/**
- * Returns whether the in-memory object cache is enabled.
- *
- * The object cache is responsible for holding resources such as scripts, stylesheets
- * and images in memory.
- *
- * By default, the cache is enabled.
- *
- * @return @c EINA_TRUE if the cache is enabled or @c EINA_FALSE if not
- *
- * @sa ewk_settings_object_cache_capacity_set
- */
-EAPI Eina_Bool ewk_settings_object_cache_enable_get(void);
-
-/**
- * Enables/disables the in-memory object cache of WebCore, possibly clearing it.
- *
- * The object cache is responsible for holding resources such as scripts, stylesheets
- * and images in memory.
- *
- * By default, the cache is enabled.
- *
- * Disabling the cache will remove all resources from the cache.
- * They may still live on if they are referenced by some Web page though.
- *
- * @param set @c EINA_TRUE to enable memory cache, @c EINA_FALSE to disable
- */
-EAPI void ewk_settings_object_cache_enable_set(Eina_Bool set);
-
-/**
- * Returns whether Shadow DOM is enabled.
- *
- * Shadow DOM is a method of establishing and maintaining functional boundaries between
- * DOM subtrees and how these subtrees interact with each other within a document tree,
- * thus enabling better functional encapsulation within DOM.
- *
- * By default, Shadow DOM is disabled.
- *
- * @return @c EINA_TRUE if Shadow DOM is enabled or @c EINA_FALSE if not
- *
- * @sa ewk_settings_shadow_dom_enable_set
- */
-EAPI Eina_Bool ewk_settings_shadow_dom_enable_get(void);
-
-/**
- * Enables/disables Shadow DOM functionality.
- *
- * Shadow DOM is a method of establishing and maintaining functional boundaries between
- * DOM subtrees and how these subtrees interact with each other within a document tree,
- * thus enabling better functional encapsulation within DOM.
- *
- * By default, Shadow DOM is disabled.
- *
- * @param set @c EINA_TRUE to enable Shadow DOM, @c EINA_FALSE to disable
- */
-EAPI Eina_Bool ewk_settings_shadow_dom_enable_set(Eina_Bool enable);
-
-/**
- * Defines the capacities for the in-memory object cache.
- *
- * The object cache is responsible for holding resources such as scripts, stylesheets
- * and images in memory.
- *
- * By default, @p min_dead_bytes is 0 and both @p max_dead_bytes and @p total_bytes are 8MB.
- *
- * @param min_dead_bytes The maximum number of bytes that dead resources should consume when
- * the cache is under pressure.
- * @param max_dead_bytes The maximum number of bytes that dead resources should consume when
- * the cache is not under pressure.
- * @param total_bytes The maximum number of bytes that the cache should consume overall.
- *
- * @param capacity the maximum number of bytes that the cache should consume overall
- */
-EAPI void ewk_settings_object_cache_capacity_set(unsigned min_dead_bytes, unsigned max_dead_bytes, unsigned total_bytes);
-
-/**
- * Returns the maximum number of pages in the memory page cache.
- *
- * By default, maximum number of pages is 3.
- *
- * @return The maximum number of pages in the memory page cache.
- *
- * @sa ewk_settings_page_cache_capacity_set
- */
-EAPI unsigned ewk_settings_page_cache_capacity_get(void);
-
-/**
- * Defines the capacity for the memory page cache.
- *
- * The page cache is responsible for holding visited web pages in memory. So it improves user experience when navigating forth or back
- * to pages in the forward/back history as the cached pages do not require to be loaded from server.
- *
- * By default, @p pages is 3.
- *
- * @param pages The maximum number of pages to keep in the memory page cache.
- */
-EAPI void ewk_settings_page_cache_capacity_set(unsigned pages);
-
-/**
- * Clears all memory caches.
- *
- * This function clears all memory caches, which include the object cache (for resources such as
- * images, scripts and stylesheets), the page cache, the font cache and the Cross-Origin Preflight
- * cache.
- */
-EAPI void ewk_settings_memory_cache_clear(void);
-
-/**
- * Sets values for repaint throttling.
- *
- * It allows to slow down page loading and
- * should ensure displaying a content with many css/gif animations.
- *
- * These values can be used as a example for repaints throttling.
- * 0, 0, 0, 0 - default WebCore's values, these do not delay any repaints
- * 0.025, 0, 2.5, 0.5 - recommended values for dynamic content
- * 0.01, 0, 1, 0.2 - minimal level
- * 0.025, 1, 5, 0.5 - medium level
- * 0.1, 2, 10, 1 - heavy level
- *
- * @param deferred_repaint_delay a normal delay
- * @param initial_deferred_repaint_delay_during_loading negative value would mean that first few repaints happen without a delay
- * @param max_deferred_repaint_delay_during_loading the delay grows on each repaint to this maximum value
- * @param deferred_repaint_delay_increment_during_loading on each repaint the delay increses by this amount
- */
-EAPI void ewk_settings_repaint_throttling_set(double deferred_repaint_delay, double initial_deferred_repaint_delay_during_loading, double max_deferred_repaint_delay_during_loading, double deferred_repaint_delay_increment_during_loading);
-
-/**
- * Gets the default interval for DOMTimers on all pages.
- *
- * DOMTimer processes javascript function registered by setInterval() based on interval value.
- *
- * @return default minimum interval for DOMTimers
- */
-EAPI double ewk_settings_default_timer_interval_get(void);
-
-/**
- * Sets the CSS media type.
- *
- * Setting this will override the normal value of the CSS media property.
- *
- * Setting the value to @c NULL will restore the internal default value.
- *
- * @param type css media type to be set, must be write-able
- *
- * @sa ewk_settings_css_media_type_get
- */
-EAPI void ewk_settings_css_media_type_set(const char *type);
-
-/**
- * Returns the current CSS media type.
- *
- * It will only return the value set through ewk_settings_css_media_type_set and not the one used internally.
- *
- * This is guaranteed to be eina_stringshare, so whenever possible
- * save yourself some cpu cycles and use eina_stringshare_ref()
- * instead of eina_stringshare_add() or strdup().
- *
- * @return css media type set by user or @c NULL if none is set
- *
- * @sa ewk_settings_css_media_type_set
- */
-EAPI const char *ewk_settings_css_media_type_get(void);
-
-#ifdef __cplusplus
-}
-#endif
-#endif // ewk_settings_h
diff --git a/Source/WebKit/efl/ewk/ewk_settings_private.h b/Source/WebKit/efl/ewk/ewk_settings_private.h
deleted file mode 100644
index 558f7b803..000000000
--- a/Source/WebKit/efl/ewk/ewk_settings_private.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2012 Samsung Electronics
-
- 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 ewk_settings_private_h
-#define ewk_settings_private_h
-
-const char* ewk_settings_default_user_agent_get();
-
-void ewk_settings_file_system_path_set(const char *path);
-
-#endif // ewk_settings_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp b/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp
deleted file mode 100644
index 3c3f1d796..000000000
--- a/Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp
+++ /dev/null
@@ -1,1936 +0,0 @@
-/*
- Copyright (C) 2009-2010 Samsung Electronics
- Copyright (C) 2009-2010 ProFUSION embedded systems
-
- 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 "ewk_private.h"
-#include "ewk_tiled_backing_store_private.h"
-#include "ewk_tiled_matrix_private.h"
-#include "ewk_tiled_model_private.h"
-#include <Ecore.h>
-#include <Eina.h>
-#include <algorithm>
-#include <errno.h>
-#include <math.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-
-typedef struct _Ewk_Tiled_Backing_Store_Data Ewk_Tiled_Backing_Store_Data;
-typedef struct _Ewk_Tiled_Backing_Store_Item Ewk_Tiled_Backing_Store_Item;
-typedef struct _Ewk_Tiled_Backing_Store_Pre_Render_Request Ewk_Tiled_Backing_Store_Pre_Render_Request;
-
-struct _Ewk_Tiled_Backing_Store_Item {
- EINA_INLIST;
- Ewk_Tile* tile;
- Evas_Coord_Rectangle geometry;
- bool smoothScale;
-};
-
-struct _Ewk_Tiled_Backing_Store_Pre_Render_Request {
- EINA_INLIST;
- unsigned long column, row;
- float zoom;
-};
-
-struct _Ewk_Tiled_Backing_Store_Data {
- Evas_Object_Smart_Clipped_Data base;
- Evas_Object* self;
- Evas_Object* contentsClipper;
- struct {
- Eina_Inlist** items;
- Evas_Coord x, y, width, height;
- unsigned long columns, rows;
- struct {
- Evas_Coord width, height;
- float zoom;
- bool zoomWeakSmoothScale : 1;
- bool hasAlpha : 1;
- } tile;
- struct {
- struct {
- Evas_Coord x, y;
- } current, old, base, zoomCenter;
- } offset;
- bool visible : 1;
- } view;
- Evas_Colorspace colorSpace;
- struct {
- Ewk_Tile_Matrix* matrix;
- struct {
- unsigned long column, row;
- } base;
- struct {
- unsigned long columns, rows;
- } current, old;
- Evas_Coord width, height;
- } model;
- struct {
- bool (*callback)(void* data, Ewk_Tile* tile, const Eina_Rectangle* area);
- void* data;
- Eina_Inlist* preRenderRequests;
- Ecore_Idler* idler;
- bool disabled;
- bool suspend : 1;
- } render;
- struct {
- void* (*preCallback)(void* data, Evas_Object* ewkBackingStore);
- void* preData;
- void* (*postCallback)(void* data, void* preData, Evas_Object* ewkBackingStore);
- void* postData;
- } process;
- struct {
- bool any : 1;
- bool position : 1;
- bool size : 1;
- bool model : 1;
- bool offset : 1;
- bool contentsSize : 1;
- } changed;
-#ifdef DEBUG_MEM_LEAKS
- Ecore_Event_Handler* signalUser;
-#endif
-};
-
-static Evas_Smart_Class _parent_sc = EVAS_SMART_CLASS_INIT_NULL;
-
-#define PRIV_DATA_GET_OR_RETURN(obj, ptr, ...) \
- Ewk_Tiled_Backing_Store_Data* ptr = static_cast<Ewk_Tiled_Backing_Store_Data*>(evas_object_smart_data_get(obj)); \
- if (!ptr) { \
- CRITICAL("no private data in obj=%p", obj); \
- return __VA_ARGS__; \
- }
-
-static void _ewk_tiled_backing_store_fill_renderers(Ewk_Tiled_Backing_Store_Data* priv);
-static inline void _ewk_tiled_backing_store_changed(Ewk_Tiled_Backing_Store_Data* priv);
-
-#ifdef DEBUG_MEM_LEAKS
-static inline void _ewk_tiled_backing_store_view_dbg(const Ewk_Tiled_Backing_Store_Data* priv);
-#endif
-
-static inline void _ewk_tiled_backing_store_updates_process(Ewk_Tiled_Backing_Store_Data* priv)
-{
- /* Do not process updates. Note that we still want to get updates requests
- * in the queue in order to not miss any updates after the render is
- * resumed.
- */
- if (priv->render.suspend || !priv->view.visible)
- return;
-
- void* data = priv->process.preCallback ? priv->process.preCallback(priv->process.preData, priv->self) : 0;
-
- ewk_tile_matrix_updates_process(priv->model.matrix);
-
- if (priv->process.postCallback)
- priv->process.postCallback(priv->process.postData, data, priv->self);
-}
-
-static void _ewk_tiled_backing_store_flush(void* data)
-{
- Ewk_Tiled_Backing_Store_Data* priv = static_cast<Ewk_Tiled_Backing_Store_Data*>(data);
- Ewk_Tile_Unused_Cache* tiledUnusedCache = ewk_tile_matrix_unused_cache_get(priv->model.matrix);
-
- if (tiledUnusedCache) {
- DBG("flush unused tile cache.");
- ewk_tile_unused_cache_auto_flush(tiledUnusedCache);
- } else
- ERR("no cache?!");
-}
-
-static Ewk_Tile* _ewk_tiled_backing_store_tile_new(Ewk_Tiled_Backing_Store_Data* priv, unsigned long column, unsigned long row, float zoom)
-{
- Evas* evas = evas_object_evas_get(priv->self);
- if (!evas) {
- CRITICAL("evas_object_evas_get failed!");
- return 0;
- }
-
- Ewk_Tile* tile = ewk_tile_matrix_tile_new(priv->model.matrix, evas, column, row, zoom);
- if (!tile) {
- CRITICAL("ewk_tile_matrix_tile_new failed!");
- return 0;
- }
-
- return tile;
-}
-
-static void _ewk_tiled_backing_store_item_move(Ewk_Tiled_Backing_Store_Item* item, Evas_Coord x, Evas_Coord y)
-{
- item->geometry.x = x;
- item->geometry.y = y;
-
- if (item->tile)
- evas_object_move(item->tile->image, x, y);
-}
-
-static void _ewk_tiled_backing_store_item_resize(Ewk_Tiled_Backing_Store_Item* item, Evas_Coord width, Evas_Coord height)
-{
- item->geometry.w = width;
- item->geometry.h = height;
-
- if (!item->tile)
- return;
-
- evas_object_resize(item->tile->image, width, height);
- evas_object_image_fill_set(item->tile->image, 0, 0, width, height);
-}
-
-static void _ewk_tiled_backing_store_tile_associate(Ewk_Tiled_Backing_Store_Data* priv, Ewk_Tile* tile, Ewk_Tiled_Backing_Store_Item* item)
-{
- if (item->tile)
- CRITICAL("item->tile=%p, but it should be 0!", item->tile);
-
- item->tile = tile;
- evas_object_move(item->tile->image, item->geometry.x, item->geometry.y);
- evas_object_resize(item->tile->image, item->geometry.w, item->geometry.h);
- evas_object_image_fill_set(item->tile->image, 0, 0, item->geometry.w, item->geometry.h);
- evas_object_image_smooth_scale_set(item->tile->image, item->smoothScale);
- evas_object_image_alpha_set(item->tile->image, priv->view.tile.hasAlpha);
-
- if (!ewk_tile_visible_get(tile))
- evas_object_smart_member_add(tile->image, priv->self);
-
- ewk_tile_show(tile);
-}
-
-static void _ewk_tiled_backing_store_tile_dissociate(Ewk_Tiled_Backing_Store_Data* priv, Ewk_Tiled_Backing_Store_Item* item, double lastUsed)
-{
- ewk_tile_hide(item->tile);
- if (!ewk_tile_visible_get(item->tile))
- evas_object_smart_member_del(item->tile->image);
-
- ewk_tile_matrix_tile_put(priv->model.matrix, item->tile, lastUsed);
- Ewk_Tile_Unused_Cache* tileUnusedCache = ewk_tile_matrix_unused_cache_get(priv->model.matrix);
- ewk_tile_unused_cache_auto_flush(tileUnusedCache);
-
- item->tile = 0;
-}
-
-static void _ewk_tiled_backing_store_tile_dissociate_all(Ewk_Tiled_Backing_Store_Data* priv)
-{
- double last_used = ecore_loop_time_get();
-
- for (unsigned long i = 0; i < priv->view.rows; ++i) {
- Ewk_Tiled_Backing_Store_Item* item;
- Eina_Inlist* list = priv->view.items[i];
- EINA_INLIST_FOREACH(list, item) {
- if (item->tile)
- _ewk_tiled_backing_store_tile_dissociate(priv, item, last_used);
- }
- }
-}
-
-static inline bool _ewk_tiled_backing_store_pre_render_request_add(Ewk_Tiled_Backing_Store_Data* priv, unsigned long column, unsigned long row, float zoom)
-{
- Ewk_Tiled_Backing_Store_Pre_Render_Request* request = new Ewk_Tiled_Backing_Store_Pre_Render_Request;
-
- priv->render.preRenderRequests = eina_inlist_append(priv->render.preRenderRequests, EINA_INLIST_GET(request));
-
- request->column = column;
- request->row = row;
- request->zoom = zoom;
-
- return true;
-}
-
-static inline void _ewk_tiled_backing_store_pre_render_request_del(Ewk_Tiled_Backing_Store_Data* priv, Ewk_Tiled_Backing_Store_Pre_Render_Request* request)
-{
- priv->render.preRenderRequests = eina_inlist_remove(priv->render.preRenderRequests, EINA_INLIST_GET(request));
- delete request;
-}
-
-static inline Ewk_Tiled_Backing_Store_Pre_Render_Request* _ewk_tiled_backing_store_pre_render_request_first(const Ewk_Tiled_Backing_Store_Data* priv)
-{
- return EINA_INLIST_CONTAINER_GET(priv->render.preRenderRequests, Ewk_Tiled_Backing_Store_Pre_Render_Request);
-}
-
-static void _ewk_tiled_backing_store_pre_render_request_flush(Ewk_Tiled_Backing_Store_Data* priv)
-{
- Eina_Inlist** preRenderList = &priv->render.preRenderRequests;
- while (*preRenderList) {
- Ewk_Tiled_Backing_Store_Pre_Render_Request* request;
- request = _ewk_tiled_backing_store_pre_render_request_first(priv);
- *preRenderList = eina_inlist_remove(*preRenderList, *preRenderList);
- delete request;
- }
-}
-
-static void _ewk_tiled_backing_store_pre_render_request_clear(Ewk_Tiled_Backing_Store_Data* priv)
-{
- Eina_Inlist** preRenderList = &priv->render.preRenderRequests;
- Eina_Inlist* iter = *preRenderList;
- while (iter) {
- Ewk_Tiled_Backing_Store_Pre_Render_Request* request = EINA_INLIST_CONTAINER_GET(iter, Ewk_Tiled_Backing_Store_Pre_Render_Request);
- Eina_Inlist* next = iter->next;
- *preRenderList = eina_inlist_remove(*preRenderList, iter);
- iter = next;
- delete request;
- }
-}
-
-/* assumes priv->process.preCallback was called if required! */
-static void _ewk_tiled_backing_store_pre_render_request_process_single(Ewk_Tiled_Backing_Store_Data* priv)
-{
- Ewk_Tile_Matrix* tileMatrix = priv->model.matrix;
- double last_used = ecore_loop_time_get();
-
- Ewk_Tiled_Backing_Store_Pre_Render_Request* request = _ewk_tiled_backing_store_pre_render_request_first(priv);
- if (!request)
- return;
-
- unsigned long column = request->column;
- unsigned long row = request->row;
- float zoom = request->zoom;
-
- if (ewk_tile_matrix_tile_exact_exists(tileMatrix, column, row, zoom)) {
- DBG("no pre-render required for tile %lu,%lu @ %f.", column, row, zoom);
- _ewk_tiled_backing_store_pre_render_request_del(priv, request);
- ewk_tile_unused_cache_auto_flush(ewk_tile_matrix_unused_cache_get(priv->model.matrix));
- return;
- }
-
- Ewk_Tile* tile = _ewk_tiled_backing_store_tile_new(priv, column, row, zoom);
- if (!tile) {
- _ewk_tiled_backing_store_pre_render_request_del(priv, request);
- ewk_tile_unused_cache_auto_flush(ewk_tile_matrix_unused_cache_get(priv->model.matrix));
- return;
- }
-
- Eina_Rectangle area;
- EINA_RECTANGLE_SET(&area, 0, 0, priv->view.tile.width, priv->view.tile.height);
-
- priv->render.callback(priv->render.data, tile, &area);
- evas_object_image_data_update_add(tile->image, area.x, area.y, area.w, area.h);
- ewk_tile_matrix_tile_updates_clear(tileMatrix, tile);
-
- ewk_tile_matrix_tile_put(tileMatrix, tile, last_used);
-}
-
-static Eina_Bool _ewk_tiled_backing_store_item_process_idler_cb(void* data)
-{
- Ewk_Tiled_Backing_Store_Data* priv = static_cast<Ewk_Tiled_Backing_Store_Data*>(data);
-
- if (priv->process.preCallback)
- data = priv->process.preCallback(priv->process.preData, priv->self);
-
- _ewk_tiled_backing_store_pre_render_request_process_single(priv);
-
- if (priv->process.postCallback)
- priv->process.postCallback(priv->process.postData, data, priv->self);
-
- if (!priv->render.preRenderRequests) {
- priv->render.idler = 0;
- return false;
- }
-
- return true;
-}
-
-static inline void _ewk_tiled_backing_store_item_process_idler_stop(Ewk_Tiled_Backing_Store_Data* priv)
-{
- if (!priv->render.idler)
- return;
-
- ecore_idler_del(priv->render.idler);
- priv->render.idler = 0;
-}
-
-static inline void _ewk_tiled_backing_store_item_process_idler_start(Ewk_Tiled_Backing_Store_Data* priv)
-{
- if (priv->render.idler || !priv->view.visible)
- return;
-
- priv->render.idler = ecore_idler_add(_ewk_tiled_backing_store_item_process_idler_cb, priv);
-}
-
-static bool _ewk_tiled_backing_store_disable_render(Ewk_Tiled_Backing_Store_Data* priv)
-{
- if (priv->render.suspend)
- return true;
-
- priv->render.suspend = true;
- _ewk_tiled_backing_store_item_process_idler_stop(priv);
- return true;
-}
-
-static bool _ewk_tiled_backing_store_enable_render(Ewk_Tiled_Backing_Store_Data* priv)
-{
- if (!priv->render.suspend)
- return true;
-
- priv->render.suspend = false;
-
- _ewk_tiled_backing_store_fill_renderers(priv);
- _ewk_tiled_backing_store_item_process_idler_start(priv);
-
- return true;
-}
-
-static inline bool _ewk_tiled_backing_store_item_fill(Ewk_Tiled_Backing_Store_Data* priv, Ewk_Tiled_Backing_Store_Item* item, unsigned long column, unsigned long row)
-{
- if (!priv->view.visible)
- return false;
-
- unsigned long currentColumn = priv->model.base.column + column;
- unsigned long currentRow = priv->model.base.row + row;
- double lastUsed = ecore_loop_time_get();
-
- if (currentColumn >= priv->model.current.columns || currentRow >= priv->model.current.rows) {
- if (item->tile)
- _ewk_tiled_backing_store_tile_dissociate(priv, item, lastUsed);
- } else {
- const float zoom = priv->view.tile.zoom;
-
- if (item->tile) {
- Ewk_Tile* old = item->tile;
- if (old->row != currentRow || old->column != currentColumn || old->zoom != zoom)
- _ewk_tiled_backing_store_tile_dissociate(priv, item, lastUsed);
- else if (old->row == currentRow && old->column == currentColumn && old->zoom == zoom)
- return true;
- }
-
- Ewk_Tile* tile = ewk_tile_matrix_tile_exact_get(priv->model.matrix, currentColumn, currentRow, zoom);
- if (!tile) {
- /* NOTE: it never returns 0 if item->tile was set! */
- if (item->tile) {
- CRITICAL("item->tile=%p, but it should be 0!", item->tile);
- _ewk_tiled_backing_store_tile_dissociate(priv, item,
- lastUsed);
- }
-
- /* Do not add new requests to the render queue */
- if (!priv->render.suspend) {
- tile = _ewk_tiled_backing_store_tile_new(priv, currentColumn, currentRow, zoom);
- if (!tile)
- return false;
- _ewk_tiled_backing_store_tile_associate(priv, tile, item);
- }
- } else if (tile != item->tile) {
- if (item->tile)
- _ewk_tiled_backing_store_tile_dissociate(priv,
- item, lastUsed);
- _ewk_tiled_backing_store_tile_associate(priv, tile, item);
- }
- }
-
- return true;
-}
-
-static Ewk_Tiled_Backing_Store_Item* _ewk_tiled_backing_store_item_add(Ewk_Tiled_Backing_Store_Data* priv, unsigned long column, unsigned long row)
-{
- DBG("ewkBackingStore=%p", priv->self);
-
- Evas_Coord tileWidth = priv->view.tile.width;
- Evas_Coord tileHeight = priv->view.tile.height;
- Evas_Coord x = priv->view.offset.base.x + priv->view.x + tileWidth * column;
- Evas_Coord y = priv->view.offset.base.y + priv->view.y + tileHeight * row;
-
- OwnPtr<Ewk_Tiled_Backing_Store_Item> item = adoptPtr(new Ewk_Tiled_Backing_Store_Item);
- item->tile = 0;
- item->smoothScale = priv->view.tile.zoomWeakSmoothScale;
-
- _ewk_tiled_backing_store_item_move(item.get(), x, y);
- _ewk_tiled_backing_store_item_resize(item.get(), tileWidth, tileHeight);
- if (!_ewk_tiled_backing_store_item_fill(priv, item.get(), column, row))
- return 0;
-
- return item.leakPtr();
-}
-
-static void _ewk_tiled_backing_store_item_del(Ewk_Tiled_Backing_Store_Data* priv, Ewk_Tiled_Backing_Store_Item* item)
-{
- if (item->tile) {
- double last_used = ecore_loop_time_get();
- _ewk_tiled_backing_store_tile_dissociate(priv, item, last_used);
- }
-
- delete item;
-}
-
-static void _ewk_tiled_backing_store_item_smooth_scale_set(Ewk_Tiled_Backing_Store_Item* item, bool smoothScale)
-{
- if (item->smoothScale == smoothScale)
- return;
-
- if (item->tile)
- evas_object_image_smooth_scale_set(item->tile->image, smoothScale);
-}
-
-static inline void _ewk_tiled_backing_store_changed(Ewk_Tiled_Backing_Store_Data* priv)
-{
- if (priv->changed.any)
- return;
-
- evas_object_smart_changed(priv->self);
- priv->changed.any = true;
-}
-
-static void _ewk_tiled_backing_store_view_cols_end_del(Ewk_Tiled_Backing_Store_Data* priv, Eina_Inlist** rowList, unsigned long count)
-{
- if (!count)
- return;
-
- Eina_Inlist* nextItem = (*rowList)->last;
- for (unsigned long i = 0; i < count; ++i) {
- Ewk_Tiled_Backing_Store_Item* item;
- item = EINA_INLIST_CONTAINER_GET(nextItem, Ewk_Tiled_Backing_Store_Item);
- nextItem = nextItem->prev;
- *rowList = eina_inlist_remove(*rowList, EINA_INLIST_GET(item));
- _ewk_tiled_backing_store_item_del(priv, item);
- }
-}
-
-static bool _ewk_tiled_backing_store_view_cols_end_add(Ewk_Tiled_Backing_Store_Data* priv, Eina_Inlist** rowList, unsigned long baseColumn, unsigned long count)
-{
- const unsigned long row = rowList - priv->view.items;
-
- for (unsigned long i = 0; i < count; ++i, ++baseColumn) {
- Ewk_Tiled_Backing_Store_Item* item = _ewk_tiled_backing_store_item_add(priv, baseColumn, row);
- if (!item) {
- CRITICAL("failed to add column %lu of %lu in row %lu.", i, count, row);
- _ewk_tiled_backing_store_view_cols_end_del(priv, rowList, i);
- return false;
- }
-
- *rowList = eina_inlist_append(*rowList, EINA_INLIST_GET(item));
- }
- return true;
-}
-
-static void _ewk_tiled_backing_store_view_row_del(Ewk_Tiled_Backing_Store_Data* priv, Eina_Inlist* row)
-{
- while (row) {
- Ewk_Tiled_Backing_Store_Item* item = EINA_INLIST_CONTAINER_GET(row, Ewk_Tiled_Backing_Store_Item);
- row = row->next;
- _ewk_tiled_backing_store_item_del(priv, item);
- }
-}
-
-static void _ewk_tiled_backing_store_view_rows_range_del(Ewk_Tiled_Backing_Store_Data* priv, Eina_Inlist** start, Eina_Inlist** end)
-{
- for (; start < end; ++start) {
- _ewk_tiled_backing_store_view_row_del(priv, *start);
- *start = 0;
- }
-}
-
-static void _ewk_tiled_backing_store_view_rows_all_del(Ewk_Tiled_Backing_Store_Data* priv)
-{
- Eina_Inlist** start = priv->view.items;
- Eina_Inlist** end = priv->view.items + priv->view.rows;
- _ewk_tiled_backing_store_view_rows_range_del(priv, start, end);
-
- free(priv->view.items);
- priv->view.items = 0;
- priv->view.columns = 0;
- priv->view.rows = 0;
-}
-
-static void _ewk_tiled_backing_store_render(void* data, Ewk_Tile* tile, const Eina_Rectangle* area)
-{
- Ewk_Tiled_Backing_Store_Data* priv = static_cast<Ewk_Tiled_Backing_Store_Data*>(data);
-
- INFO("TODO %p (visible? %d) [%lu,%lu] %d,%d + %dx%d",
- tile, tile->visible, tile->column, tile->row, area->x, area->y, area->w, area->h);
-
- if (!tile->visible)
- return;
-
- if (priv->view.tile.width != tile->width || priv->view.tile.height != tile->height)
- return; // todo: remove me later, don't even flag as dirty!
-
- EINA_SAFETY_ON_NULL_RETURN(priv->render.callback);
- if (!priv->render.callback(priv->render.data, tile, area))
- return;
-
- evas_object_image_data_update_add(tile->image, area->x, area->y, area->w, area->h);
-}
-
-static inline void _ewk_tiled_backing_store_model_matrix_create(Ewk_Tiled_Backing_Store_Data* priv, Ewk_Tile_Unused_Cache* tileUnusedCache)
-{
- if (priv->model.matrix) {
- _ewk_tiled_backing_store_view_rows_all_del(priv);
-
- priv->changed.offset = false;
- priv->changed.size = true;
-
- ewk_tile_matrix_free(priv->model.matrix);
- }
-
- priv->model.matrix = ewk_tile_matrix_new(tileUnusedCache, priv->model.current.columns, priv->model.current.rows, priv->view.tile.zoom, priv->colorSpace, _ewk_tiled_backing_store_render, priv);
-}
-
-static void _ewk_tiled_backing_store_smart_member_del(Evas_Object* ewkBackingStore, Evas_Object* member)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
- if (!priv->contentsClipper)
- return;
-
- evas_object_clip_unset(member);
- if (!evas_object_clipees_get(priv->contentsClipper))
- evas_object_hide(priv->contentsClipper);
-}
-
-static void _ewk_tiled_backing_store_smart_member_add(Evas_Object* ewkBackingStore, Evas_Object* member)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
- if (!priv->contentsClipper)
- return;
-
- evas_object_clip_set(member, priv->contentsClipper);
- if (priv->view.visible)
- evas_object_show(priv->contentsClipper);
-}
-
-#ifdef DEBUG_MEM_LEAKS
-static void _ewk_tiled_backing_store_mem_dbg(Ewk_Tiled_Backing_Store_Data* priv)
-{
- static unsigned run = 0;
-
- ++run;
-
- printf("\n--- BEGIN DEBUG TILED BACKING STORE MEMORY [%d] --\n"
- "tile=%0.2f, obj=%p, priv=%p, view.items=%p, matrix=%p\n",
- run, ecore_loop_time_get(),
- priv->self, priv, priv->view.items, priv->model.matrix);
-
- ewk_tile_matrix_dbg(priv->model.matrix);
- ewk_tile_accounting_dbg();
-
- printf("--- END DEBUG TILED BACKING STORE MEMORY [%d] --\n\n", run);
-}
-
-static bool _ewk_tiled_backing_store_sig_usr(void* data, int type, void* event)
-{
- Ecore_Event_Signal_User* signalUser = static_cast<Ecore_Event_Signal_User*>(event);
- Ewk_Tiled_Backing_Store_Data* priv = static_cast<Ewk_Tiled_Backing_Store_Data*>(data);
-
- if (signalUser->number == 2) {
- Ewk_Tile_Unused_Cache* tileUnusedCache = ewk_tile_matrix_unused_cache_get(priv->model.matrix);
- ewk_tile_unused_cache_auto_flush(tileUnusedCache);
- }
-
- _ewk_tiled_backing_store_view_dbg(priv);
- _ewk_tiled_backing_store_mem_dbg(priv);
-
- return true;
-}
-#endif
-
-static void _ewk_tiled_backing_store_smart_add(Evas_Object* ewkBackingStore)
-{
- DBG("ewkBackingStore=%p", ewkBackingStore);
-
- Ewk_Tiled_Backing_Store_Data* priv = static_cast<Ewk_Tiled_Backing_Store_Data*>(calloc(1, sizeof(*priv)));
- if (!priv)
- return;
-
- priv->self = ewkBackingStore;
- priv->view.tile.zoom = 1.0;
- priv->view.tile.width = defaultTileWidth;
- priv->view.tile.height = defaultTileHeigth;
- priv->view.offset.current.x = 0;
- priv->view.offset.current.y = 0;
- priv->view.offset.old.x = 0;
- priv->view.offset.old.y = 0;
- priv->view.offset.base.x = 0;
- priv->view.offset.base.y = 0;
-
- priv->model.base.column = 0;
- priv->model.base.row = 0;
- priv->model.current.columns = 1;
- priv->model.current.rows = 1;
- priv->model.old.columns = 0;
- priv->model.old.rows = 0;
- priv->model.width = 0;
- priv->model.height = 0;
- priv->render.suspend = false;
- priv->colorSpace = EVAS_COLORSPACE_ARGB8888; // TODO: detect it.
-
- evas_object_smart_data_set(ewkBackingStore, priv);
- _parent_sc.add(ewkBackingStore);
-
- priv->contentsClipper = evas_object_rectangle_add(
- evas_object_evas_get(ewkBackingStore));
- evas_object_move(priv->contentsClipper, 0, 0);
- evas_object_resize(priv->contentsClipper,
- priv->model.width, priv->model.height);
- evas_object_color_set(priv->contentsClipper, 255, 255, 255, 255);
- evas_object_show(priv->contentsClipper);
- evas_object_smart_member_add(priv->contentsClipper, ewkBackingStore);
-
- _ewk_tiled_backing_store_model_matrix_create(priv, 0);
- evas_object_move(priv->base.clipper, 0, 0);
- evas_object_resize(priv->base.clipper, 0, 0);
- evas_object_clip_set(priv->contentsClipper, priv->base.clipper);
-
-#ifdef DEBUG_MEM_LEAKS
- priv->signalUser = ecore_event_handler_add
- (ECORE_EVENT_SIGNAL_USER, _ewk_tiled_backing_store_sig_usr, priv);
-#endif
-}
-
-static void _ewk_tiled_backing_store_smart_del(Evas_Object* ewkBackingStore)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
- DBG("ewkBackingStore=%p", ewkBackingStore);
-
- Ewk_Tile_Unused_Cache* tileUnusedCache = ewk_tile_matrix_unused_cache_get(priv->model.matrix);
- ewk_tile_unused_cache_unlock_area(tileUnusedCache);
-
- _ewk_tiled_backing_store_flush(priv);
-
- _ewk_tiled_backing_store_pre_render_request_flush(priv);
- _ewk_tiled_backing_store_item_process_idler_stop(priv);
- _ewk_tiled_backing_store_view_rows_all_del(priv);
-
-#ifdef DEBUG_MEM_LEAKS
- _ewk_tiled_backing_store_mem_dbg(priv);
- if (priv->sig_usr)
- ecore_event_handler_del(priv->sig_usr);
-#endif
-
- ewk_tile_matrix_free(priv->model.matrix);
- evas_object_smart_member_del(priv->contentsClipper);
- evas_object_del(priv->contentsClipper);
-
- _parent_sc.del(ewkBackingStore);
-
-#ifdef DEBUG_MEM_LEAKS
- printf("\nIMPORTANT: TILED BACKING STORE DELETED (may be real leaks)\n");
- ewk_tile_accounting_dbg();
-#endif
-}
-
-static void _ewk_tiled_backing_store_smart_move(Evas_Object* ewkBackingStore, Evas_Coord x, Evas_Coord y)
-{
- DBG("ewkBackingStore=%p, new pos: %dx%d", ewkBackingStore, x, y);
-
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- if (priv->changed.position)
- return;
-
- if (priv->view.x == x && priv->view.y == y)
- return;
-
- priv->changed.position = true;
- _ewk_tiled_backing_store_changed(priv);
-}
-
-static void _ewk_tiled_backing_store_smart_resize(Evas_Object* ewkBackingStore, Evas_Coord width, Evas_Coord height)
-{
- DBG("ewkBackingStore=%p, new size: %dx%d", ewkBackingStore, width, height);
-
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- if (priv->changed.size)
- return;
-
- if (priv->view.width == width && priv->view.height == height)
- return;
-
- priv->changed.size = true;
- _ewk_tiled_backing_store_changed(priv);
-}
-
-static void _ewk_tiled_backing_store_smart_show(Evas_Object* ewkBackingStore)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- priv->view.visible = true;
- ewk_tiled_backing_store_enable_render(ewkBackingStore);
- _parent_sc.show(ewkBackingStore);
-}
-
-static void _ewk_tiled_backing_store_smart_hide(Evas_Object* ewkBackingStore)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- priv->view.visible = false;
- ewk_tiled_backing_store_disable_render(ewkBackingStore);
- _ewk_tiled_backing_store_tile_dissociate_all(priv);
- _parent_sc.hide(ewkBackingStore);
-}
-
-static void _ewk_tiled_backing_store_recalc_renderers(Ewk_Tiled_Backing_Store_Data* priv, Evas_Coord width, Evas_Coord height, Evas_Coord tileWidth, Evas_Coord tileHeight)
-{
- INFO("ewkBackingStore=%p, new size: %dx%d", priv->self, width, height);
-
- unsigned long columns = 1 + static_cast<unsigned long>(ceil(width / static_cast<float>(tileWidth)));
- unsigned long rows = 1 + static_cast<unsigned long>(ceil(height / static_cast<float>(tileHeight)));
-
- INFO("ewkBackingStore=%p new grid size columns: %lu, rows: %lu, was %lu, %lu", priv->self, columns, rows, priv->view.columns, priv->view.rows);
-
- if (priv->view.columns == columns && priv->view.rows == rows)
- return;
-
- unsigned long oldCols = priv->view.columns;
- unsigned long oldRows = priv->view.rows;
-
- if (rows < oldRows) {
- Eina_Inlist** start = priv->view.items + rows;
- Eina_Inlist** end = priv->view.items + oldRows;
- _ewk_tiled_backing_store_view_rows_range_del(priv, start, end);
- }
-
- void* newItems = realloc(priv->view.items, sizeof(Eina_Inlist*) * rows);
- if (!newItems)
- return;
-
- priv->view.items = static_cast<Eina_Inlist**>(newItems);
- priv->view.rows = rows;
- priv->view.columns = columns;
- if (rows > oldRows) {
- Eina_Inlist** start = priv->view.items + oldRows;
- Eina_Inlist** end = priv->view.items + rows;
- for (; start < end; ++start) {
- *start = 0;
- bool result = _ewk_tiled_backing_store_view_cols_end_add(priv, start, 0, columns);
- if (!result) {
- CRITICAL("failed to allocate %ld columns", columns);
- _ewk_tiled_backing_store_view_rows_range_del(priv, priv->view.items + oldRows, start);
- priv->view.rows = oldRows;
- return;
- }
- }
- }
-
- if (columns != oldCols) {
- long todo = columns - oldCols;
- Eina_Inlist** start = priv->view.items;
- Eina_Inlist** end = start + std::min(oldRows, rows);
- if (todo > 0) {
- for (; start < end; ++start) {
- bool result = _ewk_tiled_backing_store_view_cols_end_add(priv, start, oldCols, todo);
- if (!result) {
- CRITICAL("failed to allocate %ld columns!", todo);
-
- for (start--; start >= priv->view.items; --start)
- _ewk_tiled_backing_store_view_cols_end_del(priv, start, todo);
- if (rows > oldRows) {
- start = priv->view.items + oldRows;
- end = priv->view.items + rows;
- for (; start < end; start++)
- _ewk_tiled_backing_store_view_cols_end_del(priv, start, todo);
- }
- return;
- }
- }
- } else if (todo < 0) {
- todo = -todo;
- for (; start < end; ++start)
- _ewk_tiled_backing_store_view_cols_end_del(priv, start, todo);
- }
- }
-
- _ewk_tiled_backing_store_fill_renderers(priv);
-}
-
-static void _ewk_tiled_backing_store_smart_calculate_size(Ewk_Tiled_Backing_Store_Data* priv, Evas_Coord width, Evas_Coord height)
-{
- evas_object_resize(priv->base.clipper, width, height);
-
- priv->view.width = width;
- priv->view.height = height;
-
- _ewk_tiled_backing_store_recalc_renderers(priv, width, height, priv->view.tile.width, priv->view.tile.height);
-}
-
-#ifdef DEBUG_MEM_LEAKS
-// TODO: remove me later.
-static inline void _ewk_tiled_backing_store_view_dbg(const Ewk_Tiled_Backing_Store_Data* priv)
-{
- printf("tiles=%2ld,%2ld model=%2ld,%2ld [%dx%d] base=%+3ld,%+4ld offset=%+4d,%+4d old=%+4d,%+4d base=%+3d,%+3d\n",
- priv->view.columns, priv->view.rows,
- priv->model.current.columns, priv->model.current.rows,
- priv->model.width, priv->model.height,
- priv->model.base.column, priv->model.base.row,
- priv->view.offset.current.x, priv->view.offset.current.y,
- priv->view.offset.old.x, priv->view.offset.old.y,
- priv->view.offset.base.x, priv->view.offset.base.y);
-
- Eina_Inlist** start = priv->view.items;
- Eina_Inlist** end = priv->view.items + priv->view.rows;
- for (; start < end; ++start) {
- const Ewk_Tiled_Backing_Store_Item* item;
-
- EINA_INLIST_FOREACH(*start, item) {
- printf(" %+4d,%+4d ", item->geometry.x, item->geometry.y);
-
- if (!item->tile)
- printf(" ;");
- else
- printf("%8p %lu,%lu;", item->tile, item->tile->column, item->tile->row);
- }
- printf("\n");
- }
- printf("---\n");
-}
-#endif
-
-/**
- * @internal
- * Move top row down as last.
- *
- * The final result is visually the same, but logically the top that
- * went out of screen is now at bottom and filled with new model items.
- *
- * This is worth just when @a count is smaller than @c
- * priv->view.rows, after that one is refilling the whole matrix so it
- * is better to trigger full refill.
- *
- * @param count the number of times to repeat the process.
- */
-static void _ewk_tiled_backing_store_view_wrap_up(Ewk_Tiled_Backing_Store_Data* priv, Evas_Coord x, Evas_Coord y, unsigned long count)
-{
- unsigned long lastRow = priv->view.rows - 1;
- Evas_Coord tileWidth = priv->view.tile.width;
- Evas_Coord tileHeight = priv->view.tile.height;
- Evas_Coord offsetY = priv->view.offset.base.y + count * tileHeight;
- Evas_Coord tilePositionY = y + (lastRow - count + 1) * tileHeight + offsetY;
- Evas_Coord originX = x + priv->view.offset.base.x;
-
- Eina_Inlist** start = priv->view.items;
- Eina_Inlist** end = start + lastRow;
-
- for (; count > 0; --count) {
- Eina_Inlist** it;
- Eina_Inlist* temp = *start;
-
- for (it = start; it < end; ++it)
- *it = *(it + 1);
- *it = temp;
-
- ++priv->model.base.row;
-
- Evas_Coord tilePositionX = originX;
- unsigned long column = 0;
- Ewk_Tiled_Backing_Store_Item* item;
- EINA_INLIST_FOREACH(temp, item) {
- _ewk_tiled_backing_store_item_move(item, tilePositionX, tilePositionY);
- tilePositionX += tileWidth;
- _ewk_tiled_backing_store_item_fill(priv, item, column, lastRow);
- ++column;
- }
- tilePositionY += tileHeight;
- }
- priv->view.offset.base.y = offsetY;
-}
-
-/**
- * @internal
- * Move bottom row up as first.
- *
- * The final result is visually the same, but logically the bottom that
- * went out of screen is now at top and filled with new model items.
- *
- * This is worth just when @a count is smaller than @c
- * priv->view.rows, after that one is refilling the whole matrix so it
- * is better to trigger full refill.
- *
- * @param count the number of times to repeat the process.
- */
-static void _ewk_tiled_backing_store_view_wrap_down(Ewk_Tiled_Backing_Store_Data* priv, Evas_Coord x, Evas_Coord y, unsigned long count)
-{
- Evas_Coord tileWidth = priv->view.tile.width;
- Evas_Coord tileHeight = priv->view.tile.height;
- Evas_Coord offsetY = priv->view.offset.base.y - count * tileHeight;
- Evas_Coord tilePositionY = y + offsetY + (count - 1) * tileHeight;
- Evas_Coord originX = x + priv->view.offset.base.x;
-
- Eina_Inlist** start = priv->view.items + priv->view.rows - 1;
- Eina_Inlist** end = priv->view.items;
-
- for (; count > 0; --count) {
- Eina_Inlist** it;
- Eina_Inlist* temp = *start;
- Evas_Coord tilePositionX = originX;
-
- for (it = start; it > end; --it)
- *it = *(it - 1);
- *it = temp;
-
- --priv->model.base.row;
-
- unsigned long column = 0;
- Ewk_Tiled_Backing_Store_Item* item;
- EINA_INLIST_FOREACH(temp, item) {
- _ewk_tiled_backing_store_item_move(item, tilePositionX, tilePositionY);
- tilePositionX += tileWidth;
- _ewk_tiled_backing_store_item_fill(priv, item, column, 0);
- ++column;
- }
- tilePositionY -= tileHeight;
- }
- priv->view.offset.base.y = offsetY;
-}
-
-/**
- * @internal
- * Move left-most (first) column right as last (right-most).
- *
- * The final result is visually the same, but logically the first column that
- * went out of screen is now at last and filled with new model items.
- *
- * This is worth just when @a count is smaller than @c
- * priv->view.columns, after that one is refilling the whole matrix so it
- * is better to trigger full refill.
- *
- * @param count the number of times to repeat the process.
- */
-static void _ewk_tiled_backing_store_view_wrap_left(Ewk_Tiled_Backing_Store_Data* priv, Evas_Coord x, Evas_Coord y, unsigned long count)
-{
- unsigned long lastColumn = priv->view.columns - 1;
- Evas_Coord tileWidth = priv->view.tile.width;
- Evas_Coord tileHeight = priv->view.tile.height;
- Evas_Coord offsetX = priv->view.offset.base.x + count * tileWidth;
- Evas_Coord offsetY = y + priv->view.offset.base.y;
-
- unsigned long baseColumn = lastColumn - count + 1;
- Evas_Coord originX = x + baseColumn * tileWidth + offsetX;
-
- Eina_Inlist** it = priv->view.items;
- Eina_Inlist** end = it + priv->view.rows;
-
- priv->model.base.column += count;
-
- for (unsigned long row = 0; it < end; ++it, ++row) {
- Evas_Coord tilePositionX = originX;
- unsigned long column = baseColumn;
-
- for (unsigned long i = 0; i < count; ++i, ++column, tilePositionX += tileWidth) {
- Ewk_Tiled_Backing_Store_Item* item = EINA_INLIST_CONTAINER_GET(*it, Ewk_Tiled_Backing_Store_Item);
- *it = eina_inlist_demote(*it, *it);
-
- _ewk_tiled_backing_store_item_move(item, tilePositionX, offsetY);
- _ewk_tiled_backing_store_item_fill(priv, item, column, row);
- }
- offsetY += tileHeight;
- }
-
- priv->view.offset.base.x = offsetX;
-}
-
-/**
- * @internal
- * Move right-most (last) column left as first (left-most).
- *
- * The final result is visually the same, but logically the last column that
- * went out of screen is now at first and filled with new model items.
- *
- * This is worth just when @a count is smaller than @c
- * priv->view.columns, after that one is refilling the whole matrix so it
- * is better to trigger full refill.
- *
- * @param count the number of times to repeat the process.
- */
-static void _ewk_tiled_backing_store_view_wrap_right(Ewk_Tiled_Backing_Store_Data* priv, Evas_Coord x, Evas_Coord y, unsigned long count)
-{
- Evas_Coord tileWidth = priv->view.tile.width;
- Evas_Coord tileHeight = priv->view.tile.height;
- Evas_Coord offsetX = priv->view.offset.base.x - count * tileWidth;
- Evas_Coord tilePositionY = y + priv->view.offset.base.y;
-
- unsigned long baseColumn = count - 1;
- Evas_Coord originX = x + baseColumn * tileWidth + offsetX;
-
- Eina_Inlist** it = priv->view.items;
- Eina_Inlist** end = it + priv->view.rows;
-
- priv->model.base.column -= count;
-
- for (unsigned long row = 0; it < end; ++it, ++row) {
- Evas_Coord tilePositionX = originX;
- unsigned long column = baseColumn;
-
- for (unsigned long i = 0; i < count; ++i, --column, tilePositionX -= tileWidth) {
- Ewk_Tiled_Backing_Store_Item* item = EINA_INLIST_CONTAINER_GET((*it)->last, Ewk_Tiled_Backing_Store_Item);
- *it = eina_inlist_promote(*it, (*it)->last);
-
- _ewk_tiled_backing_store_item_move(item, tilePositionX, tilePositionY);
- _ewk_tiled_backing_store_item_fill(priv, item, column, row);
- }
- tilePositionY += tileHeight;
- }
-
- priv->view.offset.base.x = offsetX;
-}
-
-static void _ewk_tiled_backing_store_view_refill(Ewk_Tiled_Backing_Store_Data* priv, Evas_Coord x, Evas_Coord y, int stepX, int stepY)
-{
- evas_object_move(priv->base.clipper, x, y);
-
- Evas_Coord tileWidth = priv->view.tile.width;
- Evas_Coord tileHeight = priv->view.tile.height;
-
- Evas_Coord baseTilePositionX = x + priv->view.offset.base.x;
- Evas_Coord tilePositionY = y + priv->view.offset.base.y;
-
- Eina_Inlist** it = priv->view.items;
- Eina_Inlist** end = it + priv->view.rows;
-
- priv->model.base.column -= stepX;
- priv->model.base.row -= stepY;
-
- for (unsigned long row = 0; it < end; ++it, ++row) {
- Ewk_Tiled_Backing_Store_Item* item;
- Evas_Coord newTilePositionX = baseTilePositionX;
- unsigned long column = 0;
- EINA_INLIST_FOREACH(*it, item) {
- _ewk_tiled_backing_store_item_fill(priv, item, column, row);
- _ewk_tiled_backing_store_item_move(item, newTilePositionX, tilePositionY);
- ++column;
- newTilePositionX += tileWidth;
- }
- tilePositionY += tileHeight;
- }
-}
-
-static void _ewk_tiled_backing_store_view_pos_apply(Ewk_Tiled_Backing_Store_Data* priv, Evas_Coord x, Evas_Coord y)
-{
- evas_object_move(priv->base.clipper, x, y);
-
- Evas_Coord tileWidth = priv->view.tile.width;
- Evas_Coord tileHeight = priv->view.tile.height;
-
- Evas_Coord baseTilePositionX = x + priv->view.offset.base.x;
- Evas_Coord baseTilePositionY = y + priv->view.offset.base.y;
-
- Eina_Inlist** it = priv->view.items;
- Eina_Inlist** end = it + priv->view.rows;
- for (; it < end; ++it) {
- Ewk_Tiled_Backing_Store_Item* item;
- Evas_Coord offsetX = baseTilePositionX;
- EINA_INLIST_FOREACH(*it, item) {
- _ewk_tiled_backing_store_item_move(item, offsetX, baseTilePositionY);
- offsetX += tileWidth;
- }
- baseTilePositionY += tileHeight;
- }
-}
-
-static void _ewk_tiled_backing_store_smart_calculate_offset_force(Ewk_Tiled_Backing_Store_Data* priv)
-{
- Evas_Coord deltaX = priv->view.offset.current.x - priv->view.offset.old.x;
- Evas_Coord deltaY = priv->view.offset.current.y - priv->view.offset.old.y;
-
- INFO("ewkBackingStore=%p, offset: %+4d, %+4d (%+4d, %+4d)",
- priv->self, deltaX, deltaY, priv->view.offset.current.x, priv->view.offset.current.y);
-
- Evas_Coord tileWidth = priv->view.tile.width;
- Evas_Coord tileHeight = priv->view.tile.height;
-
- unsigned long newColumn = -priv->view.offset.current.x / tileWidth;
- int stepX = priv->model.base.column - newColumn;
- unsigned long newRow = -priv->view.offset.current.y / tileHeight;
- int stepY = priv->model.base.row - newRow;
-
- priv->view.offset.old.x = priv->view.offset.current.x;
- priv->view.offset.old.y = priv->view.offset.current.y;
- evas_object_move(priv->contentsClipper, priv->view.offset.current.x + priv->view.x, priv->view.offset.current.y + priv->view.y);
-
- priv->view.offset.base.x += deltaX - stepX * tileWidth;
- priv->view.offset.base.y += deltaY - stepY * tileHeight;
-
- _ewk_tiled_backing_store_view_refill(priv, priv->view.x, priv->view.y, stepX, stepY);
-}
-
-static void _ewk_tiled_backing_store_smart_calculate_offset(Ewk_Tiled_Backing_Store_Data* priv, Evas_Coord x, Evas_Coord y)
-{
- Evas_Coord deltaX = priv->view.offset.current.x - priv->view.offset.old.x;
- Evas_Coord deltaY = priv->view.offset.current.y - priv->view.offset.old.y;
-
- INFO("ewkBackingStore=%p, offset: %+4d, %+4d (%+4d, %+4d)", priv->self, deltaX, deltaY, priv->view.offset.current.x, priv->view.offset.current.y);
-
- if (!deltaX && !deltaY)
- return;
-
- Evas_Coord tileWidth = priv->view.tile.width;
- Evas_Coord tileHeight = priv->view.tile.height;
-
- long newCol = -priv->view.offset.current.x / tileWidth;
- long stepX = priv->model.base.column - newCol;
- long newRow = -priv->view.offset.current.y / tileHeight;
- long stepY = priv->model.base.row - newRow;
-
- priv->view.offset.old.x = priv->view.offset.current.x;
- priv->view.offset.old.y = priv->view.offset.current.y;
- evas_object_move(priv->contentsClipper, priv->view.offset.current.x + priv->view.x, priv->view.offset.current.y + priv->view.y);
-
- if ((stepX < 0 && stepX <= -static_cast<long>(priv->view.columns))
- || (stepX > 0 && stepX >= static_cast<long>(priv->view.columns))
- || (stepY < 0 && stepY <= -static_cast<long>(priv->view.rows))
- || (stepY > 0 && stepY >= static_cast<long>(priv->view.rows))) {
-
- priv->view.offset.base.x += deltaX - stepX * tileWidth;
- priv->view.offset.base.y += deltaY - stepY * tileHeight;
-
- _ewk_tiled_backing_store_view_refill(priv, priv->view.x, priv->view.y, stepX, stepY);
- return;
- }
-
- priv->view.offset.base.x += deltaX;
- priv->view.offset.base.y += deltaY;
-
- if (stepY < 0)
- _ewk_tiled_backing_store_view_wrap_up(priv, x, y, -stepY);
- else if (stepY > 0)
- _ewk_tiled_backing_store_view_wrap_down(priv, x, y, stepY);
-
- if (stepX < 0)
- _ewk_tiled_backing_store_view_wrap_left(priv, x, y, -stepX);
- else if (stepX > 0)
- _ewk_tiled_backing_store_view_wrap_right(priv, x, y, stepX);
-
- _ewk_tiled_backing_store_view_pos_apply(priv, x, y);
-}
-
-static void _ewk_tiled_backing_store_smart_calculate_pos(Ewk_Tiled_Backing_Store_Data* priv, Evas_Coord x, Evas_Coord y)
-{
- _ewk_tiled_backing_store_view_pos_apply(priv, x, y);
- priv->view.x = x;
- priv->view.y = y;
- evas_object_move(priv->contentsClipper, priv->view.offset.current.x + priv->view.x, priv->view.offset.current.y + priv->view.y);
-}
-
-static void _ewk_tiled_backing_store_fill_renderers(Ewk_Tiled_Backing_Store_Data* priv)
-{
- for (unsigned long i = 0; i < priv->view.rows; ++i) {
- Eina_Inlist* list = priv->view.items[i];
-
- unsigned long j = 0;
- Ewk_Tiled_Backing_Store_Item* item;
- EINA_INLIST_FOREACH(list, item)
- _ewk_tiled_backing_store_item_fill(priv, item, j++, i);
- }
-}
-
-static void _ewk_tiled_backing_store_smart_calculate(Evas_Object* ewkBackingStore)
-{
- Evas_Coord x, y, width, height;
-
- evas_object_geometry_get(ewkBackingStore, &x, &y, &width, &height);
- DBG("ewkBackingStore=%p at %d,%d + %dx%d", ewkBackingStore, x, y, width, height);
-
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- priv->changed.any = false;
-
- ewk_tile_matrix_freeze(priv->model.matrix);
-
- if (priv->changed.contentsSize)
- ewk_tile_matrix_invalidate(priv->model.matrix);
-
- if (!priv->render.suspend && (priv->changed.model || priv->changed.contentsSize)) {
- unsigned long columns = priv->model.width / priv->view.tile.width + 1;
- unsigned long rows = priv->model.height / priv->view.tile.height + 1;
-
- priv->model.old.columns = priv->model.current.columns;
- priv->model.old.rows = priv->model.current.rows;
- priv->model.current.columns = columns;
- priv->model.current.rows = rows;
- if (priv->model.old.columns > columns)
- columns = priv->model.old.columns;
- if (priv->model.old.rows > rows)
- rows = priv->model.old.rows;
- ewk_tile_matrix_resize(priv->model.matrix, columns, rows);
- }
-
- if (priv->changed.position && (priv->view.x != x || priv->view.y != y)) {
- _ewk_tiled_backing_store_smart_calculate_pos(priv, x, y);
- priv->changed.position = false;
- }
- if (priv->changed.offset) {
- _ewk_tiled_backing_store_smart_calculate_offset(priv, x, y);
- priv->changed.offset = false;
- }
-
- if (priv->changed.size) {
- _ewk_tiled_backing_store_smart_calculate_size(priv, width, height);
- priv->changed.size = false;
- }
-
- if (!priv->render.suspend && (priv->changed.model || priv->changed.contentsSize)) {
- _ewk_tiled_backing_store_fill_renderers(priv);
- ewk_tile_matrix_resize(priv->model.matrix,
- priv->model.current.columns,
- priv->model.current.rows);
- priv->changed.model = false;
- evas_object_resize(priv->contentsClipper, priv->model.width, priv->model.height);
- _ewk_tiled_backing_store_smart_calculate_offset_force(priv);
-
- /* Make sure we do not miss any important repaint by
- * repainting the whole viewport */
- const Eina_Rectangle rect = { 0, 0, priv->model.width, priv->model.height };
- ewk_tile_matrix_update(priv->model.matrix, &rect, priv->view.tile.zoom);
-
- priv->changed.contentsSize = false;
- }
-
- ewk_tile_matrix_thaw(priv->model.matrix);
-
- _ewk_tiled_backing_store_updates_process(priv);
-
- if (priv->view.offset.base.x > 0
- || priv->view.offset.base.x <= - priv->view.tile.width
- || priv->view.offset.base.y > 0
- || priv->view.offset.base.y <= - priv->view.tile.height) {
- ERR("incorrect base offset %+4d,%+4d, tile=%dx%d, current=%+4d,%+4d\n",
- priv->view.offset.base.x, priv->view.offset.base.y,
- priv->view.tile.width, priv->view.tile.height,
- priv->view.offset.current.x, priv->view.offset.current.y);
- }
-}
-
-Evas_Object* ewk_tiled_backing_store_add(Evas* canvas)
-{
- static Evas_Smart* smart = 0;
-
- if (!smart) {
- static Evas_Smart_Class sc =
- EVAS_SMART_CLASS_INIT_NAME_VERSION("Ewk_Tiled_Backing_Store");
-
- evas_object_smart_clipped_smart_set(&sc);
- _parent_sc = sc;
-
- sc.add = _ewk_tiled_backing_store_smart_add;
- sc.del = _ewk_tiled_backing_store_smart_del;
- sc.resize = _ewk_tiled_backing_store_smart_resize;
- sc.move = _ewk_tiled_backing_store_smart_move;
- sc.show = _ewk_tiled_backing_store_smart_show;
- sc.hide = _ewk_tiled_backing_store_smart_hide;
- sc.calculate = _ewk_tiled_backing_store_smart_calculate;
- sc.member_add = _ewk_tiled_backing_store_smart_member_add;
- sc.member_del = _ewk_tiled_backing_store_smart_member_del;
-
- smart = evas_smart_class_new(&sc);
- }
-
- return evas_object_smart_add(canvas, smart);
-}
-
-void ewk_tiled_backing_store_render_cb_set(Evas_Object* ewkBackingStore, bool (*callback)(void* data, Ewk_Tile* tile, const Eina_Rectangle* area), const void* data)
-{
- EINA_SAFETY_ON_NULL_RETURN(callback);
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- priv->render.callback = callback;
- priv->render.data = const_cast<void*>(data);
-}
-
-Ewk_Tile_Unused_Cache* ewk_tiled_backing_store_tile_unused_cache_get(const Evas_Object* ewkBackingStore)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, 0);
-
- return ewk_tile_matrix_unused_cache_get(priv->model.matrix);
-}
-
-void ewk_tiled_backing_store_tile_unused_cache_set(Evas_Object* ewkBackingStore, Ewk_Tile_Unused_Cache* tileUnusedCache)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- if (ewk_tile_matrix_unused_cache_get(priv->model.matrix) == tileUnusedCache)
- return;
-
- _ewk_tiled_backing_store_model_matrix_create(priv, tileUnusedCache);
-}
-
-static bool _ewk_tiled_backing_store_scroll_full_offset_set_internal(Ewk_Tiled_Backing_Store_Data* priv, Evas_Coord x, Evas_Coord y)
-{
- /* TODO: check offset go out of bounds, clamp */
- if (priv->render.disabled)
- return false;
-
- priv->view.offset.current.x = x;
- priv->view.offset.current.y = y;
-
- priv->changed.offset = true;
- _ewk_tiled_backing_store_changed(priv);
-
- return true;
-}
-
-bool ewk_tiled_backing_store_scroll_full_offset_set(Evas_Object* ewkBackingStore, Evas_Coord x, Evas_Coord y)
-{
- DBG("ewkBackingStore=%p, x=%d, y=%d", ewkBackingStore, x, y);
-
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, false);
- if (x == priv->view.offset.current.x && y == priv->view.offset.current.y)
- return true;
-
- return _ewk_tiled_backing_store_scroll_full_offset_set_internal(priv, x, y);
-}
-
-bool ewk_tiled_backing_store_scroll_full_offset_add(Evas_Object* ewkBackingStore, Evas_Coord deltaX, Evas_Coord deltaY)
-{
- DBG("ewkBackingStore=%p, deltaX=%d, deltaY=%d", ewkBackingStore, deltaX, deltaY);
-
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, false);
- if (!deltaX && !deltaY)
- return true;
-
- return _ewk_tiled_backing_store_scroll_full_offset_set_internal(priv, priv->view.offset.current.x + deltaX, priv->view.offset.current.y + deltaY);
-}
-
-static bool _ewk_tiled_backing_store_zoom_set_internal(Ewk_Tiled_Backing_Store_Data* priv, float* zoom, Evas_Coord currentX, Evas_Coord currentY, Evas_Coord* offsetX, Evas_Coord* offsetY)
-{
- *offsetX = priv->view.offset.current.x;
- *offsetY = priv->view.offset.current.y;
-
- if (fabsf(priv->view.tile.zoom - *zoom) < zoomStepMinimum) {
- DBG("ignored as zoom difference is < %f: %f",
- (double)zoomStepMinimum, fabsf(priv->view.tile.zoom - *zoom));
-
- return true;
- }
-
- _ewk_tiled_backing_store_pre_render_request_flush(priv);
-
- *zoom = ROUNDED_ZOOM(priv->view.tile.width, *zoom);
-
- Evas_Coord tileWidth = priv->view.tile.width;
- Evas_Coord tileHeight = priv->view.tile.height;
-
- float scale = *zoom / priv->view.tile.zoom;
-
- priv->view.tile.zoom = *zoom;
- // todo: check currentX [0, w]...
- priv->view.offset.zoomCenter.x = currentX;
- priv->view.offset.zoomCenter.y = currentY;
-
- unsigned long columns, rows;
- ewk_tile_matrix_size_get(priv->model.matrix, &columns, &rows);
- if (!ewk_tile_matrix_zoom_level_set(priv->model.matrix, *zoom))
- ewk_tile_matrix_entry_new(priv->model.matrix, *zoom);
- ewk_tile_matrix_resize(priv->model.matrix, columns, rows);
-
- if (!priv->view.width || !priv->view.height) {
- priv->view.offset.base.x = 0;
- priv->view.offset.base.y = 0;
- return true;
- }
-
- Evas_Coord newX = currentX + (priv->view.offset.current.x - currentX) * scale;
- Evas_Coord newY = currentY + (priv->view.offset.current.y - currentY) * scale;
-
- Evas_Coord modelWidth = priv->model.width * scale;
- Evas_Coord modelHeight = priv->model.height * scale;
-
- if (modelWidth < priv->view.width || newX >= 0)
- newX = 0;
- else if (-newX + priv->view.width >= modelWidth)
- newX = -modelWidth + priv->view.width;
-
- if (modelHeight < priv->view.height || newY >= 0)
- newY = 0;
- else if (-newY + priv->view.height >= modelHeight)
- newY = -modelHeight + priv->view.height;
-
- Evas_Coord baseX = newX % tileWidth;
- Evas_Coord baseY = newY % tileHeight;
- priv->model.base.column = -newX / tileWidth;
- priv->model.base.row = -newY / tileHeight;
-
- priv->changed.size = true;
- priv->changed.model = true;
- _ewk_tiled_backing_store_changed(priv);
-
- priv->view.offset.current.x = newX;
- priv->view.offset.current.y = newY;
- priv->view.offset.base.x = baseX;
- priv->view.offset.base.y = baseY;
-
- priv->view.offset.old.x = priv->view.offset.current.x;
- priv->view.offset.old.y = priv->view.offset.current.y;
- *offsetX = priv->view.offset.current.x;
- *offsetY = priv->view.offset.current.y;
-
- evas_object_move(priv->contentsClipper, newX + priv->view.x, newY + priv->view.y);
-
- _ewk_tiled_backing_store_fill_renderers(priv);
-
- Evas_Coord tilePositionY = priv->view.offset.base.y + priv->view.y;
- Evas_Coord baseTilePositionX = priv->view.x + priv->view.offset.base.x;
-
- Eina_Inlist** it = priv->view.items;
- Eina_Inlist** end = it + priv->view.rows;
- for (; it < end; ++it) {
- Evas_Coord tilePositionX = baseTilePositionX;
- Eina_Inlist* lst = *it;
- Ewk_Tiled_Backing_Store_Item* item;
- EINA_INLIST_FOREACH(lst, item) {
- _ewk_tiled_backing_store_item_move(item, tilePositionX, tilePositionY);
- _ewk_tiled_backing_store_item_resize(item, tileWidth, tileHeight);
- tilePositionX += tileWidth;
- }
- tilePositionY += tileHeight;
- }
-
- return true;
-}
-
-bool ewk_tiled_backing_store_zoom_set(Evas_Object* ewkBackingStore, float* zoom, Evas_Coord currentX, Evas_Coord currentY, Evas_Coord* offsetX, Evas_Coord* offsetY)
-{
- DBG("ewkBackingStore=%p, zoom=%f", ewkBackingStore, *zoom);
-
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, false);
-
- return _ewk_tiled_backing_store_zoom_set_internal(priv, zoom, currentX, currentY, offsetX, offsetY);
-}
-
-bool ewk_tiled_backing_store_zoom_weak_set(Evas_Object* ewkBackingStore, float zoom, Evas_Coord currentX, Evas_Coord currentY)
-{
- DBG("ewkBackingStore=%p, zoom=%f", ewkBackingStore, zoom);
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, false);
- if (!priv->view.width || !priv->view.height)
- return false;
-
- bool reCalculate = false;
-
- float scale = zoom / priv->view.tile.zoom;
-
- Evas_Coord tileWidth = TILE_SIZE_AT_ZOOM(priv->view.tile.width, scale);
- scale = TILE_ZOOM_AT_SIZE(tileWidth, priv->view.tile.width);
- Evas_Coord tileHeight = TILE_SIZE_AT_ZOOM(priv->view.tile.height, scale);
- zoom = scale * priv->view.tile.zoom;
-
- Evas_Coord modelWidth = priv->model.width * scale;
- Evas_Coord modelHeight = priv->model.height * scale;
-
- evas_object_resize(priv->contentsClipper, modelWidth, modelHeight);
-
- unsigned long vrows = static_cast<unsigned long>(ceil(priv->view.height /static_cast<float>(tileHeight)) + 1);
- unsigned long vcols = static_cast<unsigned long>(ceil(priv->view.width / static_cast<float>(tileWidth)) + 1);
- Evas_Coord newX = currentX + (priv->view.offset.current.x - currentX) * scale;
- Evas_Coord newY = currentY + (priv->view.offset.current.y - currentY) * scale;
- Evas_Coord baseX = newX % tileWidth;
- Evas_Coord baseY = newY % tileHeight;
- unsigned long baseRow = -newY / tileHeight;
- unsigned long baseColumn = -newX / tileWidth;
-
- if (baseRow != priv->model.base.row || baseColumn != priv->model.base.column) {
- priv->model.base.row = baseRow;
- priv->model.base.column = baseColumn;
- reCalculate = true;
- }
-
- if (vrows > priv->view.rows || vcols > priv->view.columns)
- reCalculate = true;
-
- if (reCalculate) {
- Evas_Coord width, height;
- evas_object_geometry_get(ewkBackingStore, 0, 0, &width, &height);
- _ewk_tiled_backing_store_recalc_renderers(priv, width, height, tileWidth, tileHeight);
- _ewk_tiled_backing_store_fill_renderers(priv);
- _ewk_tiled_backing_store_updates_process(priv);
- }
-
- Evas_Coord baseTilePositionX = baseX + priv->view.x;
- Evas_Coord tilePositionY = baseY + priv->view.y;
-
- evas_object_move(priv->contentsClipper, newX + priv->view.x, newY + priv->view.y);
-
- Eina_Inlist** it = priv->view.items;
- Eina_Inlist** end = it + priv->view.rows;
- for (; it < end; ++it) {
- Evas_Coord tilePositionX = baseTilePositionX;
- Eina_Inlist* list = *it;
- Ewk_Tiled_Backing_Store_Item* item;
- EINA_INLIST_FOREACH(list, item) {
- _ewk_tiled_backing_store_item_move(item, tilePositionX, tilePositionY);
- _ewk_tiled_backing_store_item_resize(item, tileWidth, tileHeight);
- tilePositionX += tileWidth;
- }
- tilePositionY += tileHeight;
- }
-
- return true;
-}
-
-void ewk_tiled_backing_store_fix_offsets(Evas_Object* ewkBackingStore, Evas_Coord width, Evas_Coord height)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- Evas_Coord newX = priv->view.offset.current.x;
- Evas_Coord newY = priv->view.offset.current.y;
- Evas_Coord baseX = priv->view.offset.base.x;
- Evas_Coord baseY = priv->view.offset.base.y;
- Evas_Coord tileWidth = priv->view.tile.width;
- Evas_Coord tileHeight = priv->view.tile.height;
-
- if (-newX > width) {
- newX = -width;
- baseX = newX % tileWidth;
- priv->model.base.column = -newX / tileWidth;
- }
-
- if (-newY > height) {
- newY = -height;
- baseY = newY % tileHeight;
- priv->model.base.row = -newY / tileHeight;
- }
-
- if (baseX >= 0 || baseX <= -2 * priv->view.tile.width) {
- baseX = newX % tileWidth;
- priv->model.base.column = -newX / tileWidth;
- }
-
- if (baseY >= 0 || baseY <= -2 * priv->view.tile.height) {
- baseY = newY % tileHeight;
- priv->model.base.row = -newY / tileHeight;
- }
-
- priv->view.offset.current.x = newX;
- priv->view.offset.current.y = newY;
- priv->view.offset.old.x = newX;
- priv->view.offset.old.y = newY;
- priv->view.offset.base.x = baseX;
- priv->view.offset.base.y = baseY;
- evas_object_move(priv->contentsClipper, newX + priv->view.x, newY + priv->view.y);
-
- Evas_Coord tilePositionY = priv->view.offset.base.y + priv->view.y;
- Evas_Coord baseTilePositionX = priv->view.x + priv->view.offset.base.x;
-
- Eina_Inlist** it = priv->view.items;
- Eina_Inlist** end = it + priv->view.rows;
- for (; it < end; ++it) {
- Evas_Coord tilePositionX = baseTilePositionX;
- Eina_Inlist* lst = *it;
- Ewk_Tiled_Backing_Store_Item* item;
- EINA_INLIST_FOREACH(lst, item) {
- _ewk_tiled_backing_store_item_move(item, tilePositionX, tilePositionY);
- _ewk_tiled_backing_store_item_resize(item, tileWidth, tileHeight);
- tilePositionX += tileWidth;
- }
- tilePositionY += tileHeight;
- }
-}
-
-void ewk_tiled_backing_store_zoom_weak_smooth_scale_set(Evas_Object* ewkBackingStore, bool smoothScale)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- Eina_Inlist** it = priv->view.items;
- Eina_Inlist** end = it + priv->view.rows;
- priv->view.tile.zoomWeakSmoothScale = smoothScale;
-
- for (; it< end; ++it) {
- Ewk_Tiled_Backing_Store_Item* item;
- EINA_INLIST_FOREACH(*it, item)
- if (item->tile)
- _ewk_tiled_backing_store_item_smooth_scale_set(item, smoothScale);
- }
-}
-
-void ewk_tiled_backing_store_alpha_set(Evas_Object* ewkBackingStore, bool hasAlpha)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
- priv->view.tile.hasAlpha = hasAlpha;
-}
-
-bool ewk_tiled_backing_store_update(Evas_Object* ewkBackingStore, const Eina_Rectangle* update)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, false);
-
- if (priv->render.disabled)
- return false;
-
- return ewk_tile_matrix_update(priv->model.matrix, update, priv->view.tile.zoom);
-}
-
-void ewk_tiled_backing_store_updates_process_pre_set(Evas_Object* ewkBackingStore, void* (*callback)(void* data, Evas_Object *ewkBackingStore), const void* data)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
- priv->process.preCallback = callback;
- priv->process.preData = const_cast<void*>(data);
-}
-
-void ewk_tiled_backing_store_updates_process_post_set(Evas_Object* ewkBackingStore, void* (*callback)(void* data, void* preData, Evas_Object *ewkBackingStore), const void* data)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
- priv->process.postCallback = callback;
- priv->process.postData = const_cast<void*>(data);
-}
-
-void ewk_tiled_backing_store_updates_process(Evas_Object* ewkBackingStore)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
- _ewk_tiled_backing_store_updates_process(priv);
-}
-
-void ewk_tiled_backing_store_updates_clear(Evas_Object* ewkBackingStore)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- ewk_tile_matrix_updates_clear(priv->model.matrix);
-}
-
-void ewk_tiled_backing_store_contents_resize(Evas_Object* ewkBackingStore, Evas_Coord width, Evas_Coord height)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- if (width == priv->model.width && height == priv->model.height)
- return;
-
- priv->model.width = width;
- priv->model.height = height;
- priv->changed.contentsSize = true;
-
- DBG("w,h=%d, %d", width, height);
- _ewk_tiled_backing_store_changed(priv);
-}
-
-void ewk_tiled_backing_store_disabled_update_set(Evas_Object* ewkBackingStore, bool value)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- if (value != priv->render.disabled)
- priv->render.disabled = value;
-}
-
-void ewk_tiled_backing_store_flush(Evas_Object* ewkBackingStore)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- priv->view.offset.current.x = 0;
- priv->view.offset.current.y = 0;
- priv->view.offset.old.x = 0;
- priv->view.offset.old.y = 0;
- priv->view.offset.base.x = 0;
- priv->view.offset.base.y = 0;
- priv->model.base.column = 0;
- priv->model.base.row = 0;
- priv->model.current.columns = 1;
- priv->model.current.rows = 1;
- priv->model.old.columns = 0;
- priv->model.old.rows = 0;
- priv->model.width = 0;
- priv->model.height = 0;
- priv->changed.size = true;
-
-#ifdef DEBUG_MEM_LEAKS
- printf("\nFLUSHED BACKING STORE, STATUS BEFORE DELETING TILE MATRIX:\n");
- _ewk_tiled_backing_store_mem_dbg(priv);
-#endif
-
- _ewk_tiled_backing_store_pre_render_request_flush(priv);
- _ewk_tiled_backing_store_tile_dissociate_all(priv);
- Ewk_Tile_Unused_Cache* tileUnusedCache = ewk_tile_matrix_unused_cache_get(priv->model.matrix);
- ewk_tile_unused_cache_clear(tileUnusedCache);
-
-#ifdef DEBUG_MEM_LEAKS
- printf("\nFLUSHED BACKING STORE, STATUS AFTER RECREATING TILE MATRIX:\n");
- _ewk_tiled_backing_store_mem_dbg(priv);
-#endif
-}
-
-bool ewk_tiled_backing_store_pre_render_tile_add(Evas_Object* ewkBackingStore, unsigned long column, unsigned long row, float zoom)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, false);
-
- if (ewk_tile_matrix_tile_exact_exists(priv->model.matrix, column, row, zoom))
- return false;
-
- if (!_ewk_tiled_backing_store_pre_render_request_add(priv, column, row, zoom))
- return false;
-
- return true;
-}
-
-bool ewk_tiled_backing_store_pre_render_spiral_queue(Evas_Object* ewkBackingStore, Eina_Rectangle* viewRect, Eina_Rectangle* renderRect, int maxMemory, float zoom)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(viewRect, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(renderRect, false);
-
- const int tileWidth = priv->view.tile.width;
- const int tileHeight = priv->view.tile.height;
-
- Eina_Tile_Grid_Slicer viewSlicer;
- if (!eina_tile_grid_slicer_setup(&viewSlicer, viewRect->x, viewRect->y, viewRect->w, viewRect->h, tileWidth, tileHeight)) {
- ERR("could not setup grid viewSlicer for %d,%d+%dx%d tile=%dx%d", viewRect->x, viewRect->y, viewRect->w, viewRect->h, tileWidth, tileHeight);
- return false;
- }
-
- Eina_Tile_Grid_Slicer renderSlicer;
- if (!eina_tile_grid_slicer_setup(&renderSlicer, renderRect->x, renderRect->y, renderRect->w, renderRect->h, tileWidth, tileHeight)) {
- ERR("could not setup grid RenderSlicer for %d,%d+%dx%d tile=%dx%d", renderRect->y, renderRect->y, renderRect->w, renderRect->h, tileWidth, tileHeight);
- return false;
- }
-
- // set limits of the loop.
- int memoryLimits = maxMemory / (EWK_ARGB_BYTES_SIZE * tileWidth * tileHeight);
- const unsigned long maxViewSideLength = std::max(viewSlicer.col2 - viewSlicer.col1, viewSlicer.row2 - viewSlicer.row1);
- const unsigned long maxRenderSideLength = std::max(renderSlicer.col2 - renderSlicer.col1, renderSlicer.row2 - renderSlicer.row1);
- const unsigned long maxLoopCount = maxViewSideLength + maxRenderSideLength;
-
- // spire starts from the center of the view area.
- unsigned long centerColumn = (viewSlicer.col1 + viewSlicer.col2) / 2;
- unsigned long centerRow = (viewSlicer.row1 + viewSlicer.row2) / 2;
-
- unsigned long step = 1;
- const unsigned squareSide = 4;
- for (unsigned loop = 0; loop < maxLoopCount; ++loop) {
- for (unsigned long i = 1; i < step * squareSide + 1; ++i) {
- if (memoryLimits <= 0)
- goto memoryLimitsReached;
- /*
- this code means the loop runs like spiral. (i.g. left->down->right->up)
- when it moves back to original place and then walk 1 tile left and up.
- the loop keeps on doing this until it reaches max memory to draw tiles.
- e.g. )
- 333333
- 322223
- 321123
- 321123
- 322223
- 333333
- */
- if (i > 0 && i <= step)
- ++centerColumn; // move left.
- else if (i > step && i <= step * 2)
- ++centerRow; // move down.
- else if (i > step * 2 && i <= step * 3)
- --centerColumn; // move right.
- else if (i > step * 3 && i <= step * 4)
- --centerRow; // move up.
- else
- ERR("ERROR : out of bounds\r\n");
-
- // skip in view port area.
- if (viewSlicer.col1 < centerColumn
- && viewSlicer.col2 > centerColumn
- && viewSlicer.row1 < centerRow
- && viewSlicer.row2 > centerRow)
- continue;
-
- if (renderSlicer.col1 <= centerColumn
- && renderSlicer.col2 >= centerColumn
- && renderSlicer.row1 <= centerRow
- && renderSlicer.row2 >= centerRow) {
-
- if (!ewk_tiled_backing_store_pre_render_tile_add(ewkBackingStore, centerColumn, centerRow, zoom))
- continue;
- DBG("R>[%lu %lu] ", centerColumn, centerRow);
- --memoryLimits;
- }
- }
- --centerRow;
- --centerColumn;
- step += 2;
- }
-
-memoryLimitsReached:
- _ewk_tiled_backing_store_item_process_idler_start(priv);
-
- return true;
-}
-
-bool ewk_tiled_backing_store_pre_render_region(Evas_Object* ewkBackingStore, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height, float zoom)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, false);
-
- Evas_Coord tileWidth = priv->view.tile.width;
- Evas_Coord tileHeight = priv->view.tile.height;
- zoom = ROUNDED_ZOOM(priv->view.tile.width, zoom);
-
- Eina_Tile_Grid_Slicer slicer;
- memset(&slicer, 0, sizeof(Eina_Tile_Grid_Slicer));
-
- if (!eina_tile_grid_slicer_setup(&slicer, x, y, width, height, tileWidth, tileHeight)) {
- ERR("could not setup grid slicer for %d,%d+%dx%d tile=%dx%d",
- x, y, width, height, tileWidth, tileHeight);
- return false;
- }
-
- const Eina_Tile_Grid_Info* gridInfo;
- while (eina_tile_grid_slicer_next(&slicer, &gridInfo)) {
- const unsigned long column = gridInfo->col;
- const unsigned long row = gridInfo->row;
- if (!_ewk_tiled_backing_store_pre_render_request_add(priv, column, row, zoom))
- break;
- }
-
- _ewk_tiled_backing_store_item_process_idler_start(priv);
-
- Ewk_Tile_Unused_Cache* tileUnusedCache = ewk_tile_matrix_unused_cache_get(priv->model.matrix);
- ewk_tile_unused_cache_lock_area(tileUnusedCache, x, y, width, height, zoom);
-
- return true;
-}
-
-bool ewk_tiled_backing_store_pre_render_relative_radius(Evas_Object* ewkBackingStore, unsigned int n, float zoom)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, false);
-
- INFO("priv->model.base.row =%ld, n=%u priv->view.rows=%lu", priv->model.base.row, n, priv->view.rows);
- unsigned long startRow = priv->model.base.row - n;
- unsigned long startCol = priv->model.base.column - n;
- unsigned long endRow = std::min(priv->model.current.rows - 1, priv->model.base.row + priv->view.rows + n - 1);
- unsigned long endCol = std::min(priv->model.current.columns - 1, priv->model.base.column + priv->view.columns + n - 1);
-
- INFO("startRow=%lu, endRow=%lu, startCol=%lu, endCol=%lu", startRow, endRow, startCol, endCol);
-
- zoom = ROUNDED_ZOOM(priv->view.tile.width, zoom);
-
- for (unsigned long i = startRow; i <= endRow; ++i)
- for (unsigned long j = startCol; j <= endCol; ++j)
- if (!_ewk_tiled_backing_store_pre_render_request_add(priv, j, i, zoom))
- goto start_processing;
-
-start_processing:
- _ewk_tiled_backing_store_item_process_idler_start(priv);
-
- Ewk_Tile_Unused_Cache* tileUnusedCache = ewk_tile_matrix_unused_cache_get(priv->model.matrix);
- unsigned long height = (endRow - startRow + 1) * TILE_SIZE_AT_ZOOM(priv->view.tile.height, zoom);
- unsigned long width = (endCol - startCol + 1) * TILE_SIZE_AT_ZOOM(priv->view.tile.width, zoom);
- ewk_tile_unused_cache_lock_area(tileUnusedCache,
- startCol * TILE_SIZE_AT_ZOOM(priv->view.tile.width, zoom),
- startRow * TILE_SIZE_AT_ZOOM(priv->view.tile.height, zoom), width, height, zoom);
-
- return true;
-}
-
-void ewk_tiled_backing_store_pre_render_cancel(Evas_Object* ewkBackingStore)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv);
-
- _ewk_tiled_backing_store_pre_render_request_clear(priv);
-
- Ewk_Tile_Unused_Cache* tileUnusedCache = ewk_tile_matrix_unused_cache_get(priv->model.matrix);
- ewk_tile_unused_cache_unlock_area(tileUnusedCache);
-}
-
-bool ewk_tiled_backing_store_disable_render(Evas_Object* ewkBackingStore)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, false);
-
- return _ewk_tiled_backing_store_disable_render(priv);
-}
-
-bool ewk_tiled_backing_store_enable_render(Evas_Object* ewkBackingStore)
-{
- PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, false);
- _ewk_tiled_backing_store_changed(priv);
-
- return _ewk_tiled_backing_store_enable_render(priv);
-}
diff --git a/Source/WebKit/efl/ewk/ewk_tiled_backing_store_private.h b/Source/WebKit/efl/ewk/ewk_tiled_backing_store_private.h
deleted file mode 100644
index 15362d00d..000000000
--- a/Source/WebKit/efl/ewk/ewk_tiled_backing_store_private.h
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- Copyright (C) 2009-2010 Samsung Electronics
- Copyright (C) 2009-2010 ProFUSION embedded systems
-
- 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 ewk_tiled_backing_store_private_h
-#define ewk_tiled_backing_store_private_h
-
-#include "EWebKit.h"
-#include <Evas.h>
-
-/* Enable accounting of render time in tile statistics */
-// #define TILE_STATS_ACCOUNT_RENDER_TIME
-
-/* If define ewk will do more accounting to check for memory leaks
- * try "kill -USR1 $PID" to get instantaneous debug
- * try "kill -USR2 $PID" to get instantaneous debug and force flush of cache
- */
-#undef DEBUG_MEM_LEAKS
-
-static const int defaultTileWidth = 256;
-static const int defaultTileHeigth = 256;
-
-static const float zoomStepMinimum = 0.01;
-
-#define TILE_SIZE_AT_ZOOM(SIZE, ZOOM) ((int)roundf((SIZE) * (ZOOM)))
-#define TILE_ZOOM_AT_SIZE(SIZE, ORIG_TILE) ((float)(SIZE) / (float)(ORIG_TILE))
-#define ROUNDED_ZOOM(SIZE, ZOOM) ((float)(SIZE) / (float)(((int)roundf((SIZE) / (ZOOM)))))
-
-typedef struct _Ewk_Tile Ewk_Tile;
-typedef struct _Ewk_Tile_Stats Ewk_Tile_Stats;
-typedef struct _Ewk_Tile_Matrix Ewk_Tile_Matrix;
-
-struct _Ewk_Tile_Stats {
- double last_used; /**< time of last use */
-#ifdef TILE_STATS_ACCOUNT_RENDER_TIME
- double render_time; /**< amount of time this tile took to render */
-#endif
- unsigned int area; /**< cache for (w * h) */
- unsigned int misses; /**< number of times it became dirty but not
- * repainted at all since it was not visible.
- */
- bool full_update : 1; /**< tile requires full size update */
-};
-
-struct _Ewk_Tile {
- Eina_Tiler* updates; /**< updated/dirty areas */
- Ewk_Tile_Stats stats; /**< tile usage statistics */
- unsigned long column, row; /**< tile tile position */
- Evas_Coord x, y; /**< tile coordinate position */
-
- /** Never ever change those after tile is created (respect const!) */
- const Evas_Coord width, height; /**< tile size (see TILE_SIZE_AT_ZOOM()) */
- const Evas_Colorspace cspace; /**< colorspace */
- const float zoom; /**< zoom level contents were rendered at */
- const size_t bytes; /**< bytes used in pixels. keep
- * before pixels to guarantee
- * alignement!
- */
- int visible; /**< visibility counter of this tile */
- Evas_Object* image; /**< Evas Image, the tile to be rendered */
-};
-
-/* view */
-Evas_Object* ewk_tiled_backing_store_add(Evas* e);
-
-void ewk_tiled_backing_store_render_cb_set(Evas_Object* o, bool (*cb)(void* data, Ewk_Tile* t, const Eina_Rectangle* area), const void* data);
-
-bool ewk_tiled_backing_store_scroll_full_offset_set(Evas_Object* o, Evas_Coord x, Evas_Coord y);
-bool ewk_tiled_backing_store_scroll_full_offset_add(Evas_Object* o, Evas_Coord dx, Evas_Coord dy);
-bool ewk_tiled_backing_store_scroll_inner_offset_add(Evas_Object* o, Evas_Coord dx, Evas_Coord dy, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
-
-bool ewk_tiled_backing_store_zoom_set(Evas_Object* o, float* zoom, Evas_Coord cx, Evas_Coord cy, Evas_Coord* offx, Evas_Coord* offy);
-bool ewk_tiled_backing_store_zoom_weak_set(Evas_Object* o, float zoom, Evas_Coord cx, Evas_Coord cy);
-void ewk_tiled_backing_store_fix_offsets(Evas_Object* o, Evas_Coord w, Evas_Coord h);
-void ewk_tiled_backing_store_zoom_weak_smooth_scale_set(Evas_Object* o, bool smooth_scale);
-void ewk_tiled_backing_store_alpha_set(Evas_Object* o, bool has_alpha);
-bool ewk_tiled_backing_store_update(Evas_Object* o, const Eina_Rectangle* update);
-void ewk_tiled_backing_store_updates_process_pre_set(Evas_Object* o, void* (*cb)(void* data, Evas_Object* o), const void* data);
-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);
-void ewk_tiled_backing_store_updates_process(Evas_Object* o);
-void ewk_tiled_backing_store_updates_clear(Evas_Object* o);
-void ewk_tiled_backing_store_contents_resize(Evas_Object* o, Evas_Coord width, Evas_Coord height);
-void ewk_tiled_backing_store_disabled_update_set(Evas_Object* o, bool value);
-void ewk_tiled_backing_store_flush(Evas_Object* o);
-void ewk_tiled_backing_store_enable_scale_set(Evas_Object* o, bool value);
-
-Ewk_Tile_Unused_Cache* ewk_tiled_backing_store_tile_unused_cache_get(const Evas_Object* o);
-void ewk_tiled_backing_store_tile_unused_cache_set(Evas_Object* o, Ewk_Tile_Unused_Cache* tuc);
-
-bool ewk_tiled_backing_store_pre_render_region(Evas_Object* o, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, float zoom);
-bool ewk_tiled_backing_store_pre_render_relative_radius(Evas_Object* o, unsigned int n, float zoom);
-bool ewk_tiled_backing_store_pre_render_spiral_queue(Evas_Object* o, Eina_Rectangle* view_rect, Eina_Rectangle* render_rect, int max_memory, float zoom);
-void ewk_tiled_backing_store_pre_render_cancel(Evas_Object* o);
-
-bool ewk_tiled_backing_store_disable_render(Evas_Object* o);
-bool ewk_tiled_backing_store_enable_render(Evas_Object* o);
-
-#endif // ewk_tiled_backing_store_h
diff --git a/Source/WebKit/efl/ewk/ewk_tiled_matrix.cpp b/Source/WebKit/efl/ewk/ewk_tiled_matrix.cpp
deleted file mode 100644
index 6fabf78f8..000000000
--- a/Source/WebKit/efl/ewk/ewk_tiled_matrix.cpp
+++ /dev/null
@@ -1,697 +0,0 @@
-/*
- Copyright (C) 2009-2010 Samsung Electronics
- Copyright (C) 2009-2010 ProFUSION embedded systems
-
- 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.
-*/
-
-#define __STDC_FORMAT_MACROS
-#include "config.h"
-
-#include "ewk_private.h"
-#include "ewk_tiled_backing_store_private.h"
-#include "ewk_tiled_matrix_private.h"
-#include "ewk_tiled_model_private.h"
-#include <Eina.h>
-#include <errno.h>
-#include <inttypes.h>
-#include <math.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-
-struct Ewk_Tile_Matrix_Entry {
- EINA_INLIST;
- float zoom;
- unsigned long count;
- Eina_Matrixsparse* matrix;
-};
-
-struct _Ewk_Tile_Matrix {
- Eina_Matrixsparse* matrix;
- Eina_Inlist* matrices;
- Ewk_Tile_Unused_Cache* tileUnusedCache;
- Evas_Colorspace cspace;
- struct {
- void (*callback)(void* data, Ewk_Tile* tile, const Eina_Rectangle* update);
- void* data;
- } render;
- unsigned int frozen;
- Eina_List* updates;
- struct {
- Evas_Coord width, height;
- } tile;
-#ifdef DEBUG_MEM_LEAKS
- struct {
- struct {
- uint64_t allocated, freed;
- } tiles, bytes;
- } stats;
-#endif
-};
-
-// Default 40 MB size of newly created cache
-static const size_t DEFAULT_CACHE_SIZE = 40 * 1024 * 1024;
-
-#ifdef DEBUG_MEM_LEAKS
-static uint64_t tiles_leaked = 0;
-static uint64_t bytes_leaked = 0;
-#endif
-
-static Ewk_Tile_Matrix_Entry* ewk_tile_matrix_entry_get(Ewk_Tile_Matrix* tileMatrix, float zoom)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(tileMatrix, 0);
-
- Ewk_Tile_Matrix_Entry* it;
- EINA_INLIST_FOREACH(tileMatrix->matrices, it) {
- if (it->zoom == zoom)
- return it;
- }
-
- return 0;
-}
-
-/* called when matrixsparse is resized or freed */
-static void _ewk_tile_matrix_cell_free(void* userData, void* cellData)
-{
- Ewk_Tile_Matrix* tileMatrix = static_cast<Ewk_Tile_Matrix*>(userData);
- Ewk_Tile* tile = static_cast<Ewk_Tile*>(cellData);
-
- if (!tile)
- return;
-
- ewk_tile_unused_cache_freeze(tileMatrix->tileUnusedCache);
-
- if (tile->updates || tile->stats.full_update)
- tileMatrix->updates = eina_list_remove(tileMatrix->updates, tile);
-
- if (tile->visible)
- ERR("freeing cell that is visible, leaking tile %p", tile);
- else {
- if (ewk_tile_unused_cache_tile_get(tileMatrix->tileUnusedCache, tile)) {
- DBG("tile cell does not exist anymore, free it %p", tile);
-#ifdef DEBUG_MEM_LEAKS
- tileMatrix->stats.bytes.freed += tile->bytes;
- tileMatrix->stats.tiles.freed++;
-#endif
- Ewk_Tile_Matrix_Entry* entry = ewk_tile_matrix_entry_get(tileMatrix, tile->zoom);
- if (!entry)
- ERR("can't find matrix for zoom %0.3f", tile->zoom);
- else
- --entry->count;
-
- ewk_tile_free(tile);
- } else
- ERR("tile %p was not in cache %p? leaking...", tile, tileMatrix->tileUnusedCache);
- }
-
- ewk_tile_unused_cache_thaw(tileMatrix->tileUnusedCache);
-}
-
-/* called when cache of unused tile is flushed */
-static void _ewk_tile_matrix_tile_free(void* data, Ewk_Tile* tile)
-{
- Ewk_Tile_Matrix* tileMatrix = static_cast<Ewk_Tile_Matrix*>(data);
-
- Ewk_Tile_Matrix_Entry* entry = ewk_tile_matrix_entry_get(tileMatrix, tile->zoom);
- if (!entry) {
- ERR("removing tile %p that was not in any matrix? Leaking...", tile);
- return;
- }
-
- Eina_Matrixsparse_Cell* cell;
- if (!eina_matrixsparse_cell_idx_get(entry->matrix, tile->row, tile->column, &cell)) {
- ERR("removing tile %p that was not in the matrix? Leaking...", tile);
- return;
- }
-
- if (!cell) {
- ERR("removing tile %p that was not in the matrix? Leaking...", tile);
- return;
- }
-
- if (tile->updates || tile->stats.full_update)
- tileMatrix->updates = eina_list_remove(tileMatrix->updates, tile);
-
- /* set to null to avoid double free */
- eina_matrixsparse_cell_data_replace(cell, 0, 0);
- eina_matrixsparse_cell_clear(cell);
-
- if (EINA_UNLIKELY(!!tile->visible)) {
- ERR("cache of unused tiles requesting deletion of used tile %p? "
- "Leaking...", tile);
- return;
- }
-
-#ifdef DEBUG_MEM_LEAKS
- tileMatrix->stats.bytes.freed += tile->bytes;
- tileMatrix->stats.tiles.freed++;
-#endif
-
- --entry->count;
- if (!entry->count && entry->matrix != tileMatrix->matrix) {
- eina_matrixsparse_free(entry->matrix);
- tileMatrix->matrices = eina_inlist_remove(tileMatrix->matrices, EINA_INLIST_GET(entry));
- delete entry;
- }
-
- ewk_tile_free(tile);
-}
-
-/**
- * Creates a new matrix of tiles.
- *
- * The tile matrix is responsible for keeping tiles around and
- * providing fast access to them. One can use it to retrieve new or
- * existing tiles and give them back, allowing them to be
- * freed/replaced by the cache.
- *
- * @param tileUnusedCache cache of unused tiles or @c 0 to create one
- * automatically.
- * @param columns number of columns in the matrix.
- * @param rows number of rows in the matrix.
- * @param zoomLevel zoom level for the matrix.
- * @param cspace the color space used to create tiles in this matrix.
- * @param render_cb function used to render given tile update.
- * @param render_data context to give back to @a render_cb.
- *
- * @return newly allocated instance on success, @c 0 on failure.
- */
-Ewk_Tile_Matrix* ewk_tile_matrix_new(Ewk_Tile_Unused_Cache* tileUnusedCache, unsigned long columns, unsigned long rows, float zoomLevel, Evas_Colorspace colorSpace, void (*renderCallback)(void* data, Ewk_Tile* tile, const Eina_Rectangle* update), const void* renderData)
-{
- OwnPtr<Ewk_Tile_Matrix> tileMatrix = adoptPtr(new Ewk_Tile_Matrix);
-
- tileMatrix->matrices = 0;
- if (!ewk_tile_matrix_zoom_level_set(tileMatrix.get(), zoomLevel))
- ewk_tile_matrix_entry_new(tileMatrix.get(), zoomLevel);
- ewk_tile_matrix_resize(tileMatrix.get(), columns, rows);
-
- if (tileUnusedCache)
- tileMatrix->tileUnusedCache = ewk_tile_unused_cache_ref(tileUnusedCache);
- else {
- tileMatrix->tileUnusedCache = ewk_tile_unused_cache_new(DEFAULT_CACHE_SIZE);
- if (!tileMatrix->tileUnusedCache) {
- ERR("no cache of unused tile!");
- eina_matrixsparse_free(tileMatrix->matrix);
- return 0;
- }
- }
-
- tileMatrix->cspace = colorSpace;
- tileMatrix->render.callback = renderCallback;
- tileMatrix->render.data = (void*)renderData;
- tileMatrix->tile.width = defaultTileWidth;
- tileMatrix->tile.height = defaultTileHeigth;
- tileMatrix->frozen = 0;
- tileMatrix->updates = 0;
-
-#ifdef DEBUG_MEM_LEAKS
- tileMatrix->stats.tiles.allocated = 0;
- tileMatrix->stats.tiles.freed = 0;
- tileMatrix->stats.bytes.allocated = 0;
- tileMatrix->stats.bytes.freed = 0;
-#endif
- return tileMatrix.leakPtr();
-}
-
-/**
- * Find the matrix with the same zoom and set it as current matrix.
- *
- * @param tileMatrix tile matrix to search the matrix in.
- * @param zoom zoom factor to find the same matrix with it in matrices.
- *
- * @return @c true if found, @c false otherwise.
- */
-bool ewk_tile_matrix_zoom_level_set(Ewk_Tile_Matrix* tileMatrix, float zoom)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(tileMatrix, false);
-
- Ewk_Tile_Matrix_Entry* it;
- EINA_INLIST_FOREACH(tileMatrix->matrices, it) {
- if (it->zoom == zoom) {
- tileMatrix->matrices = eina_inlist_promote(tileMatrix->matrices, EINA_INLIST_GET(it));
- tileMatrix->matrix = it->matrix;
-
- return true;
- }
- }
- return false;
-}
-
-void ewk_tile_matrix_entry_new(Ewk_Tile_Matrix* tileMatrix, float zoom)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileMatrix);
-
- OwnPtr<Ewk_Tile_Matrix_Entry> entry = adoptPtr(new Ewk_Tile_Matrix_Entry);
- entry->zoom = zoom;
- entry->count = 0;
- entry->matrix = eina_matrixsparse_new(1, 1, _ewk_tile_matrix_cell_free, tileMatrix);
- if (!entry->matrix) {
- ERR("could not create sparse matrix.");
- return;
- }
- tileMatrix->matrix = entry->matrix;
- tileMatrix->matrices = eina_inlist_prepend(tileMatrix->matrices, EINA_INLIST_GET(entry.leakPtr()));
-}
-
-void ewk_tile_matrix_invalidate(Ewk_Tile_Matrix* tileMatrix)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileMatrix);
-
- Eina_Inlist* matrixList = tileMatrix->matrices;
- while (matrixList) {
- Ewk_Tile_Matrix_Entry* it = EINA_INLIST_CONTAINER_GET(matrixList, Ewk_Tile_Matrix_Entry);
- Eina_Inlist* next = matrixList->next;
-
- if (it->matrix != tileMatrix->matrix) {
- eina_matrixsparse_free(it->matrix);
- tileMatrix->matrices = eina_inlist_remove(tileMatrix->matrices, matrixList);
- delete it;
- }
-
- matrixList = next;
- }
-}
-
-/**
- * Destroys tiles matrix, releasing its resources.
- *
- * The cache instance is unreferenced, possibly freeing it.
- */
-void ewk_tile_matrix_free(Ewk_Tile_Matrix* tileMatrix)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileMatrix);
-
- ewk_tile_unused_cache_freeze(tileMatrix->tileUnusedCache);
- ewk_tile_matrix_invalidate(tileMatrix);
- Ewk_Tile_Matrix_Entry* entry = EINA_INLIST_CONTAINER_GET(tileMatrix->matrices, Ewk_Tile_Matrix_Entry);
- eina_matrixsparse_free(entry->matrix);
- tileMatrix->matrices = eina_inlist_remove(tileMatrix->matrices, reinterpret_cast<Eina_Inlist*>(entry));
- tileMatrix->matrices = 0;
- delete entry;
-
- ewk_tile_unused_cache_thaw(tileMatrix->tileUnusedCache);
- ewk_tile_unused_cache_unref(tileMatrix->tileUnusedCache);
-
-#ifdef DEBUG_MEM_LEAKS
- uint64_t tiles = tileMatrix->stats.tiles.allocated - tileMatrix->stats.tiles.freed;
- uint64_t bytes = tileMatrix->stats.bytes.allocated - tileMatrix->stats.bytes.freed;
-
- tiles_leaked += tiles;
- bytes_leaked += bytes;
-
- if (tiles || bytes)
- ERR("tiled matrix leaked: tiles[+%" PRIu64 ",-%" PRIu64 ":%" PRIu64 "] "
- "bytes[+%" PRIu64 ",-%" PRIu64 ":%" PRIu64 "]",
- tileMatrix->stats.tiles.allocated, tileMatrix->stats.tiles.freed, tiles,
- tileMatrix->stats.bytes.allocated, tileMatrix->stats.bytes.freed, bytes);
- else if (tiles_leaked || bytes_leaked)
- WARN("tiled matrix had no leaks: tiles[+%" PRIu64 ",-%" PRIu64 "] "
- "bytes[+%" PRIu64 ",-%" PRIu64 "], but some other leaked "
- "%" PRIu64 " tiles (%" PRIu64 " bytes)",
- tileMatrix->stats.tiles.allocated, tileMatrix->stats.tiles.freed,
- tileMatrix->stats.bytes.allocated, tileMatrix->stats.bytes.freed,
- tiles_leaked, bytes_leaked);
- else
- INFO("tiled matrix had no leaks: tiles[+%" PRIu64 ",-%" PRIu64 "] "
- "bytes[+%" PRIu64 ",-%" PRIu64 "]",
- tileMatrix->stats.tiles.allocated, tileMatrix->stats.tiles.freed,
- tileMatrix->stats.bytes.allocated, tileMatrix->stats.bytes.freed);
-#endif
-
- delete tileMatrix;
-}
-
-/**
- * Resize matrix to given number of rows and columns.
- */
-void ewk_tile_matrix_resize(Ewk_Tile_Matrix* tileMatrix, unsigned long cols, unsigned long rows)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileMatrix);
-
- eina_matrixsparse_size_set(tileMatrix->matrix, rows, cols);
-}
-
-void ewk_tile_matrix_size_get(Ewk_Tile_Matrix* tileMatrix, unsigned long* columns, unsigned long* rows)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileMatrix);
-
- eina_matrixsparse_size_get(tileMatrix->matrix, rows, columns);
-}
-
-/**
- * Get the cache of unused tiles in use by given matrix.
- *
- * No reference is taken to the cache.
- */
-Ewk_Tile_Unused_Cache* ewk_tile_matrix_unused_cache_get(const Ewk_Tile_Matrix* tileMatrix)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(tileMatrix, 0);
-
- return tileMatrix->tileUnusedCache;
-}
-
-/**
- * Get the exact tile for the given position and zoom.
- *
- * If the tile.widthas unused then it's removed from the cache.
- *
- * After usage, please give it back using
- * ewk_tile_matrix_tile_put(). If you just want to check if it exists,
- * then use ewk_tile_matrix_tile_exact_exists().
- *
- * @param tileMatrix the tile matrix to get tile from.
- * @param column the column number.
- * @param row the row number.
- * @param zoom the exact zoom to use.
- *
- * @return The tile instance or @c 0 if none is found. If the tile
- * was in the unused cache it will be @b removed (thus
- * considered used) and one should give it back with
- * ewk_tile_matrix_tile_put() afterwards.
- *
- * @see ewk_tile_matrix_tile_exact_get()
- */
-Ewk_Tile* ewk_tile_matrix_tile_exact_get(Ewk_Tile_Matrix* tileMatrix, unsigned long column, unsigned long row, float zoom)
-{
- Ewk_Tile* tile = static_cast<Ewk_Tile*>(eina_matrixsparse_data_idx_get(tileMatrix->matrix, row, column));
- if (!tile)
- return 0;
-
- if (tile->zoom != zoom)
- return 0;
-
-#ifndef NDEBUG
- if (!tile->visible) {
- if (!ewk_tile_unused_cache_tile_get(tileMatrix->tileUnusedCache, tile))
- WARN("Ewk_Tile was unused but not in cache? bug!");
- }
-#endif
-
- return tile;
-}
-
-/**
- * Checks if tile of given zoom exists in matrix.
- *
- * @param tileMatrix the tile matrix to check tile existence.
- * @param column the column number.
- * @param row the row number.
- * @param zoom the exact zoom to query.
- *
- * @return @c true if found, @c false otherwise.
- *
- * @see ewk_tile_matrix_tile_exact_get()
- */
-bool ewk_tile_matrix_tile_exact_exists(Ewk_Tile_Matrix* tileMatrix, unsigned long column, unsigned long row, float zoom)
-{
- return ewk_tile_matrix_tile_exact_get(tileMatrix, column, row, zoom);
-}
-
-/**
- * Create a new tile at given position and zoom level in the matrix.
- *
- * The newly created tile is considered in use and not put into cache
- * of unused tiles. After it is used one should call
- * ewk_tile_matrix_tile_put() to give it back to matrix.
- *
- * @param tileMatrix the tile matrix to create tile on.
- * @param column the column number.
- * @param row the row number.
- * @param zoom the level to create tile, used to determine tile size.
- */
-Ewk_Tile* ewk_tile_matrix_tile_new(Ewk_Tile_Matrix* tileMatrix, Evas* canvas, unsigned long column, unsigned long row, float zoom)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(tileMatrix, 0);
- EINA_SAFETY_ON_FALSE_RETURN_VAL(zoom > 0.0, 0);
-
- Ewk_Tile_Matrix_Entry* entry = ewk_tile_matrix_entry_get(tileMatrix, zoom);
- if (!entry) {
- ERR("could not get matrix at zoom %f for tile", zoom);
- return 0;
- }
- ++entry->count;
-
- Evas_Coord tileWidth = tileMatrix->tile.width;
- Evas_Coord tileHeight = tileMatrix->tile.height;
-
- Ewk_Tile* tile = ewk_tile_new(canvas, tileWidth, tileHeight, zoom, tileMatrix->cspace);
- if (!tile) {
- ERR("could not create tile %dx%d at %f, cspace=%d", tileWidth, tileHeight, (double)zoom, tileMatrix->cspace);
- return 0;
- }
-
- if (!eina_matrixsparse_data_idx_set(tileMatrix->matrix, row, column, tile)) {
- ERR("could not set matrix cell, row/col outside matrix dimensions!");
- ewk_tile_free(tile);
- return 0;
- }
-
- tile->column = column;
- tile->row = row;
- tile->x = column * tileWidth;
- tile->y = row * tileHeight;
- tile->stats.full_update = true;
- tileMatrix->updates = eina_list_append(tileMatrix->updates, tile);
-
-#ifdef DEBUG_MEM_LEAKS
- tileMatrix->stats.bytes.allocated += tile->bytes;
- tileMatrix->stats.tiles.allocated++;
-#endif
-
- return tile;
-}
-
-/**
- * Gives back the tile to the tile matrix.
- *
- * This will report the tile is no longer in use by the one that got
- * it with ewk_tile_matrix_tile_exact_get().
- *
- * Any previous reference to tile should be released
- * (ewk_tile.heightide()) before calling this function, so it will
- * be known if it is not visibile anymore and thus can be put into the
- * unused cache.
- *
- * @param tileMatrix the tile matrix to return tile to.
- * @param tile the tile instance to return, must @b not be @c 0.
- * @param last_used time in which tile.widthas last used.
- *
- * @return #true on success or #false on failure.
- */
-bool ewk_tile_matrix_tile_put(Ewk_Tile_Matrix* tileMatrix, Ewk_Tile* tile, double lastUsed)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(tileMatrix, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(tile, false);
-
- if (tile->visible)
- return true;
-
- tile->stats.last_used = lastUsed;
- return ewk_tile_unused_cache_tile_put(tileMatrix->tileUnusedCache, tile, _ewk_tile_matrix_tile_free, tileMatrix);
-}
-
-void ewk_tile_matrix_tile_updates_clear(Ewk_Tile_Matrix* tileMatrix, Ewk_Tile* tile)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileMatrix);
-
- if (!tile->updates && !tile->stats.full_update)
- return;
-
- ewk_tile_updates_clear(tile);
- tileMatrix->updates = eina_list_remove(tileMatrix->updates, tile);
-}
-
-static bool _ewk_tile_matrix_slicer_setup(Ewk_Tile_Matrix* tileMatrix, const Eina_Rectangle* area, float zoom, Eina_Tile_Grid_Slicer* slicer)
-{
- UNUSED_PARAM(zoom);
- if (area->w <= 0 || area->h <= 0) {
- WARN("invalid area region: %d,%d+%dx%d.", area->x, area->y, area->w, area->h);
- return false;
- }
-
- Evas_Coord x = area->x;
- Evas_Coord y = area->y;
- Evas_Coord width = area->w;
- Evas_Coord height = area->h;
-
- Evas_Coord tileWidth = tileMatrix->tile.width;
- Evas_Coord tileHeight = tileMatrix->tile.height;
-
- // cropping area region to fit matrix
- unsigned long rows, cols;
- eina_matrixsparse_size_get(tileMatrix->matrix, &rows, &cols);
- if (x < 0) {
- width += x;
- x = 0;
- }
- if (y < 0) {
- height += y;
- y = 0;
- }
-
- if (y + height - 1 > static_cast<long>(rows * tileHeight))
- height = rows * tileHeight - y;
- if (x + width - 1 > static_cast<long>(cols * tileWidth))
- width = cols * tileWidth - x;
-
- return eina_tile_grid_slicer_setup(slicer, x, y, width, height, tileWidth, tileHeight);
-}
-
-
-bool ewk_tile_matrix_update(Ewk_Tile_Matrix* tileMatrix, const Eina_Rectangle* update, float zoom)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(tileMatrix, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(update, false);
-
- if (update->w < 1 || update->h < 1) {
- DBG("Why we get updates with empty areas? %d,%d+%dx%d at zoom %f", update->x, update->y, update->w, update->h, zoom);
- return true;
- }
-
- Eina_Tile_Grid_Slicer slicer;
- if (!_ewk_tile_matrix_slicer_setup(tileMatrix, update, zoom, &slicer)) {
- ERR("Could not setup slicer for update %d,%d+%dx%d at zoom %f", update->x, update->y, update->w, update->h, zoom);
- return false;
- }
-
- const Eina_Tile_Grid_Info* info;
- while (eina_tile_grid_slicer_next(&slicer, &info)) {
- Ewk_Tile* tile = static_cast<Ewk_Tile*>(eina_matrixsparse_data_idx_get(tileMatrix->matrix, info->row, info->col));
- if (!tile)
- continue;
-
- if (!tile->updates && !tile->stats.full_update)
- tileMatrix->updates = eina_list_append(tileMatrix->updates, tile);
- if (info->full)
- ewk_tile_update_full(tile);
- else
- ewk_tile_update_area(tile, &info->rect);
- }
-
-
- return true;
-}
-
-void ewk_tile_matrix_updates_process(Ewk_Tile_Matrix* tileMatrix)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileMatrix);
-
- // process updates, unflag tiles
- Eina_List* list, *listNext;
- void* item;
- EINA_LIST_FOREACH_SAFE(tileMatrix->updates, list, listNext, item) {
- Ewk_Tile* tile = static_cast<Ewk_Tile*>(item);
- ewk_tile_updates_process(tile, tileMatrix->render.callback, tileMatrix->render.data);
- if (tile->visible) {
- ewk_tile_updates_clear(tile);
- tileMatrix->updates = eina_list_remove_list(tileMatrix->updates, list);
- }
- }
-}
-
-void ewk_tile_matrix_updates_clear(Ewk_Tile_Matrix* tileMatrix)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileMatrix);
-
- void* item;
- EINA_LIST_FREE(tileMatrix->updates, item)
- ewk_tile_updates_clear(static_cast<Ewk_Tile*>(item));
- tileMatrix->updates = 0;
-}
-
-#ifdef DEBUG_MEM_LEAKS
-// remove me later!
-void ewk_tile_matrix_dbg(const Ewk_Tile_Matrix* tileMatrix)
-{
- Eina_Iterator* it = eina_matrixsparse_iterator_complete_new(tileMatrix->matrix);
- Eina_Matrixsparse_Cell* cell;
- bool wasPreviousEmpty = false;
-
- printf("Ewk_Tile Matrix: tiles[+%" PRIu64 ",-%" PRIu64 ":%" PRIu64 "] "
- "bytes[+%" PRIu64 ",-%" PRIu64 ":%" PRIu64 "]\n",
- tileMatrix->stats.tiles.allocated, tileMatrix->stats.tiles.freed,
- tileMatrix->stats.tiles.allocated - tileMatrix->stats.tiles.freed,
- tileMatrix->stats.bytes.allocated, tileMatrix->stats.bytes.freed,
- tileMatrix->stats.bytes.allocated - tileMatrix->stats.bytes.freed);
-
- EINA_ITERATOR_FOREACH(it, cell) {
- unsigned long row, column;
- eina_matrixsparse_cell_position_get(cell, &row, &column);
-
- Ewk_Tile* tile = static_cast<Ewk_Tile*>(eina_matrixsparse_cell_data_get(cell));
- if (!tile) {
- if (!wasPreviousEmpty) {
- wasPreviousEmpty = true;
- printf("Empty:");
- }
- printf(" [%lu,%lu]", column, row);
- } else {
- if (wasPreviousEmpty) {
- wasPreviousEmpty = false;
- printf("\n");
- }
- printf("%3lu,%3lu %10p:", column, row, tile);
- printf(" [%3lu,%3lu + %dx%d @ %0.3f]%c", tile->column, tile->row, tile->width, tile->height, tile->zoom, tile->visible ? '*' : ' ');
- printf("\n");
- }
- }
- if (wasPreviousEmpty)
- printf("\n");
- eina_iterator_free(it);
-
- ewk_tile_unused_cache_dbg(tileMatrix->tileUnusedCache);
-}
-#endif
-
-/**
- * Freeze matrix to not do maintenance tasks.
- *
- * Maintenance tasks optimize usage, but maybe we know we should hold
- * on them until we do the last operation, in this case we freeze
- * while operating and then thaw when we're done.
- *
- * @see ewk_tile_matrix_thaw()
- */
-void ewk_tile_matrix_freeze(Ewk_Tile_Matrix* tileMatrix)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileMatrix);
-
- if (!tileMatrix->frozen)
- ewk_tile_unused_cache_freeze(tileMatrix->tileUnusedCache);
- ++tileMatrix->frozen;
-}
-
-/**
- * Unfreezes maintenance tasks.
- *
- * If this is the last counterpart of freeze, then maintenance tasks
- * will run immediately.
- */
-void ewk_tile_matrix_thaw(Ewk_Tile_Matrix* tileMatrix)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileMatrix);
-
- if (!tileMatrix->frozen) {
- ERR("thawing more than freezing!");
- return;
- }
-
- --tileMatrix->frozen;
- if (!tileMatrix->frozen)
- ewk_tile_unused_cache_thaw(tileMatrix->tileUnusedCache);
-}
diff --git a/Source/WebKit/efl/ewk/ewk_tiled_matrix_private.h b/Source/WebKit/efl/ewk/ewk_tiled_matrix_private.h
deleted file mode 100644
index 99a95d4e9..000000000
--- a/Source/WebKit/efl/ewk/ewk_tiled_matrix_private.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- Copyright (C) 2009-2010 Samsung Electronics
- Copyright (C) 2009-2010 ProFUSION embedded systems
-
- 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 ewk_tiled_matrix_private_h
-#define ewk_tiled_matrix_private_h
-
-#include "ewk_tiled_backing_store_private.h"
-#include "ewk_tiled_matrix_private.h"
-
-#include <Evas.h>
-
-/* matrix of tiles */
-Ewk_Tile_Matrix* ewk_tile_matrix_new(Ewk_Tile_Unused_Cache* tuc, unsigned long cols, unsigned long rows, float zoom_level, Evas_Colorspace color_space, void (*render_callback)(void* data, Ewk_Tile* t, const Eina_Rectangle* update), const void* render_data);
-void ewk_tile_matrix_entry_new(Ewk_Tile_Matrix* tm, float zoom);
-void ewk_tile_matrix_free(Ewk_Tile_Matrix* tm);
-
-void ewk_tile_matrix_resize(Ewk_Tile_Matrix* tm, unsigned long cols, unsigned long rows);
-void ewk_tile_matrix_size_get(Ewk_Tile_Matrix* tm, unsigned long* cols, unsigned long* rows);
-bool ewk_tile_matrix_zoom_level_set(Ewk_Tile_Matrix* tm, float zoom);
-void ewk_tile_matrix_invalidate(Ewk_Tile_Matrix* tm);
-
-Ewk_Tile_Unused_Cache* ewk_tile_matrix_unused_cache_get(const Ewk_Tile_Matrix* tm);
-
-Ewk_Tile* ewk_tile_matrix_tile_exact_get(Ewk_Tile_Matrix* tm, unsigned long col, unsigned long row, float zoom);
-bool ewk_tile_matrix_tile_exact_exists(Ewk_Tile_Matrix* tm, unsigned long col, unsigned long row, float zoom);
-Ewk_Tile* ewk_tile_matrix_tile_nearest_get(Ewk_Tile_Matrix* tm, unsigned long col, unsigned long row, float zoom);
-Ewk_Tile* ewk_tile_matrix_tile_new(Ewk_Tile_Matrix* tm, Evas* evas, unsigned long col, unsigned long row, float zoom);
-bool ewk_tile_matrix_tile_put(Ewk_Tile_Matrix* tm, Ewk_Tile* t, double last_used);
-
-void ewk_tile_matrix_tile_updates_clear(Ewk_Tile_Matrix* tm, Ewk_Tile* t);
-
-bool ewk_tile_matrix_update(Ewk_Tile_Matrix* tm, const Eina_Rectangle* update, float zoom);
-void ewk_tile_matrix_updates_process(Ewk_Tile_Matrix* tm);
-void ewk_tile_matrix_updates_clear(Ewk_Tile_Matrix* tm);
-void ewk_tile_matrix_freeze(Ewk_Tile_Matrix* tm);
-void ewk_tile_matrix_thaw(Ewk_Tile_Matrix* tm);
-
-// remove me!
-void ewk_tile_matrix_dbg(const Ewk_Tile_Matrix* tm);
-void ewk_tile_unused_cache_dbg(const Ewk_Tile_Unused_Cache* tuc);
-void ewk_tile_accounting_dbg();
-
-#endif // ewk_tiled_matrix_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_tiled_model.cpp b/Source/WebKit/efl/ewk/ewk_tiled_model.cpp
deleted file mode 100644
index 7fdf63ff4..000000000
--- a/Source/WebKit/efl/ewk/ewk_tiled_model.cpp
+++ /dev/null
@@ -1,759 +0,0 @@
-/*
- Copyright (C) 2009-2010 Samsung Electronics
- Copyright (C) 2009-2010 ProFUSION embedded systems
-
- 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.
-*/
-
-#define __STDC_FORMAT_MACROS
-#include "config.h"
-
-#include "ewk_private.h"
-#include "ewk_tiled_backing_store_private.h"
-#include "ewk_tiled_model_private.h"
-#include <Ecore_Evas.h>
-#include <Eina.h>
-#include <eina_safety_checks.h>
-#include <errno.h>
-#include <inttypes.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifdef TILE_STATS_ACCOUNT_RENDER_TIME
-#include <sys/time.h>
-#endif
-
-#define IDX(col, row, rowspan) (col + (rowidth * rowspan))
-
-#ifdef DEBUG_MEM_LEAKS
-static uint64_t tiles_allocated = 0;
-static uint64_t tiles_freed = 0;
-static uint64_t bytes_allocated = 0;
-static uint64_t bytes_freed = 0;
-
-struct tile_account {
- Evas_Coord size;
- struct {
- uint64_t allocated;
- uint64_t freed;
- } tiles, bytes;
-};
-
-static size_t accounting_len = 0;
-static struct tile_account* accounting = 0;
-
-static inline struct tile_account* _ewk_tile_account_get(const Ewk_Tile* tile)
-{
- struct tile_account* acc;
-
- for (size_t i = 0; i < accounting_len; i++) {
- if (accounting[i].size == tile->width)
- return accounting + i;
- }
-
- accounting = static_cast<struct tile_account*>(realloc(accounting, sizeof(struct tile_account) * (accounting_len + 1)));
-
- acc = accounting + accounting_len;
- acc->size = tile->width;
- acc->tiles.allocated = 0;
- acc->tiles.freed = 0;
- acc->bytes.allocated = 0;
- acc->bytes.freed = 0;
-
- accounting_len++;
-
- return acc;
-}
-
-static inline void _ewk_tile_account_allocated(const Ewk_Tile* tile)
-{
- struct tile_account* acc = _ewk_tile_account_get(tile);
- if (!acc)
- return;
- acc->bytes.allocated += tile->bytes;
- acc->tiles.allocated++;
-
- bytes_allocated += tile->bytes;
- tiles_allocated++;
-}
-
-static inline void _ewk_tile_account_freed(const Ewk_Tile* tile)
-{
- struct tile_account* acc = _ewk_tile_account_get(tile);
- if (!acc)
- return;
-
- acc->bytes.freed += tile->bytes;
- acc->tiles.freed++;
-
- bytes_freed += tile->bytes;
- tiles_freed++;
-}
-
-void ewk_tile_accounting_dbg()
-{
- struct tile_account* acc;
- struct tile_account* acc_end;
-
- printf("TILE BALANCE: tiles[+%" PRIu64 ",-%" PRIu64 ":%" PRIu64 "] "
- "bytes[+%" PRIu64 ",-%" PRIu64 ":%" PRIu64 "]\n",
- tiles_allocated, tiles_freed, tiles_allocated - tiles_freed,
- bytes_allocated, bytes_freed, bytes_allocated - bytes_freed);
-
- if (!accounting_len)
- return;
-
- acc = accounting;
- acc_end = acc + accounting_len;
- printf("BEGIN: TILE BALANCE DETAILS (TO THIS MOMENT!):\n");
- for (; acc < acc_end; acc++) {
- uint64_t tiles, bytes;
-
- tiles = acc->tiles.allocated - acc->tiles.freed;
- bytes = acc->bytes.allocated - acc->bytes.freed;
-
- printf(" %4d: tiles[+%4" PRIu64 ",-%4" PRIu64 ":%4" PRIu64 "] "
- "bytes[+%8" PRIu64 ",-%8" PRIu64 ":%8" PRIu64 "]%s\n",
- acc->size,
- acc->tiles.allocated, acc->tiles.freed, tiles,
- acc->bytes.allocated, acc->bytes.freed, bytes,
- (bytes || tiles) ? " POSSIBLE LEAK" : "");
- }
- printf("END: TILE BALANCE DETAILS (TO THIS MOMENT!):\n");
-}
-#else
-
-static inline void _ewk_tile_account_allocated(const Ewk_Tile*) { }
-static inline void _ewk_tile_account_freed(const Ewk_Tile*) { }
-
-void ewk_tile_accounting_dbg()
-{
- printf("compile webkit with DEBUG_MEM_LEAKS defined!\n");
-}
-#endif
-
-/**
- * Create a new tile of given size, zoom level and colorspace.
- *
- * After created these properties are immutable as they're the basic
- * characteristic of the tile and any change will lead to invalid
- * memory access.
- *
- * Other members are of free-access and no getters/setters are
- * provided in orderr to avoid expensive operations on those, however
- * some are better manipulated with provided functions, such as
- * ewk_tile_show() and ewk_tile_hide() to change
- * @c visible or ewk_tile_update_full(), ewk_tile_update_area(),
- * ewk_tile_updates_clear() to change @c stats.misses,
- * @c stats.full_update and @c updates.
- */
-Ewk_Tile* ewk_tile_new(Evas* evas, Evas_Coord width, Evas_Coord height, float zoom, Evas_Colorspace colorSpace)
-{
- Evas_Coord* evasCoord;
- Evas_Colorspace* evasColorSpace;
- float* tileZoom;
- size_t* tileSize;
- Ewk_Tile* tile;
- unsigned int area;
- size_t bytes;
- Ecore_Evas* ecoreEvas;
- const char* engine;
-
- area = width * height;
-
- if (colorSpace == EVAS_COLORSPACE_ARGB8888)
- bytes = area * 4;
- else if (colorSpace == EVAS_COLORSPACE_RGB565_A5P)
- bytes = area * 2;
- else {
- ERR("unknown color space: %d", colorSpace);
- return 0;
- }
-
- DBG("size: %dx%d (%d), zoom: %f, cspace=%d", width, height, area, (double)zoom, colorSpace);
-
- tile = static_cast<Ewk_Tile*>(malloc(sizeof(Ewk_Tile)));
- if (!tile)
- return 0;
-
- tile->image = evas_object_image_add(evas);
-
- ecoreEvas = ecore_evas_ecore_evas_get(evas);
- engine = ecore_evas_engine_name_get(ecoreEvas);
- if (engine && !strcmp(engine, "opengl_x11"))
- evas_object_image_content_hint_set(tile->image, EVAS_IMAGE_CONTENT_HINT_DYNAMIC);
-
- tile->visible = 0;
- tile->updates = 0;
-
- memset(&tile->stats, 0, sizeof(Ewk_Tile_Stats));
- tile->stats.area = area;
-
- /* ugly, but let's avoid at all costs having users to modify those */
- evasCoord = (Evas_Coord*)&tile->width;
- *evasCoord = width;
-
- evasCoord = (Evas_Coord*)&tile->height;
- *evasCoord = height;
-
- evasColorSpace = (Evas_Colorspace*)&tile->cspace;
- *evasColorSpace = colorSpace;
-
- tileZoom = (float*)&tile->zoom;
- *tileZoom = zoom;
-
- tileSize = (size_t*)&tile->bytes;
- *tileSize = bytes;
-
- evas_object_image_size_set(tile->image, tile->width, tile->height);
- evas_object_image_colorspace_set(tile->image, tile->cspace);
- _ewk_tile_account_allocated(tile);
-
- return tile;
-}
-
-/**
- * Free tile memory.
- */
-void ewk_tile_free(Ewk_Tile* tile)
-{
- _ewk_tile_account_freed(tile);
-
- if (tile->updates)
- eina_tiler_free(tile->updates);
-
- evas_object_del(tile->image);
- free(tile);
-}
-
-/**
- * @internal
- * Returns memory size used by given tile
- *
- * @param t tile to size check
- * @return Returns used memory or zero if object is NULL.
- */
-size_t ewk_tile_memory_size_get(const Ewk_Tile* tile)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(tile, 0);
- return sizeof(Ewk_Tile) + tile->bytes;
-}
-
-/**
- * Make the tile visible, incrementing its counter.
- */
-void ewk_tile_show(Ewk_Tile* tile)
-{
- tile->visible++;
- evas_object_show(tile->image);
-}
-
-/**
- * Decrement the visibility counter, making it invisible if necessary.
- */
-void ewk_tile_hide(Ewk_Tile* tile)
-{
- tile->visible--;
- if (!tile->visible)
- evas_object_hide(tile->image);
-}
-
-/**
- * Returns true if the tile is visible, false otherwise.
- */
-Eina_Bool ewk_tile_visible_get(Ewk_Tile* tile)
-{
- return !!tile->visible;
-}
-
-/**
- * Mark whole tile as dirty and requiring update.
- */
-void ewk_tile_update_full(Ewk_Tile* tile)
-{
- /* TODO: list of tiles pending updates? */
- tile->stats.misses++;
-
- if (!tile->stats.full_update) {
- tile->stats.full_update = true;
- if (tile->updates) {
- eina_tiler_free(tile->updates);
- tile->updates = 0;
- }
- }
-}
-
-/**
- * Mark the specific subarea as dirty and requiring update.
- */
-void ewk_tile_update_area(Ewk_Tile* tile, const Eina_Rectangle* rect)
-{
- /* TODO: list of tiles pending updates? */
- tile->stats.misses++;
-
- if (tile->stats.full_update)
- return;
-
- if (!rect->x && !rect->y && rect->w == tile->width && rect->h == tile->height) {
- tile->stats.full_update = true;
- if (tile->updates) {
- eina_tiler_free(tile->updates);
- tile->updates = 0;
- }
- return;
- }
-
- if (!tile->updates) {
- tile->updates = eina_tiler_new(tile->width, tile->height);
- if (!tile->updates) {
- CRITICAL("could not create eina_tiler %dx%d.", tile->width, tile->height);
- return;
- }
- }
-
- eina_tiler_rect_add(tile->updates, rect);
-}
-
-/**
- * For each updated region, call the given function.
- *
- * This will not change the tile statistics or clear the processed
- * updates, use ewk_tile_updates_clear() for that.
- */
-void ewk_tile_updates_process(Ewk_Tile* tile, void (*callback)(void* data, Ewk_Tile* tile, const Eina_Rectangle* update), const void* data)
-{
- if (tile->stats.full_update) {
- Eina_Rectangle rect;
- rect.x = 0;
- rect.y = 0;
- rect.w = tile->width;
- rect.h = tile->height;
-#ifdef TILE_STATS_ACCOUNT_RENDER_TIME
- struct timeval timev;
- double renderStartTime;
- gettimeofday(&timev, 0);
- renderStartTime = (double)timev.tv_sec +
- (((double)timev.tv_usec) / 1000000);
-#endif
- callback((void*)data, tile, &rect);
-#ifdef TILE_STATS_ACCOUNT_RENDER_TIME
- gettimeofday(&timev, 0);
- tile->stats.render_time = (double)timev.tv_sec +
- (((double)timev.tv_usec) / 1000000) - renderStartTime;
-#endif
- } else if (tile->updates) {
- Eina_Iterator* itr = eina_tiler_iterator_new(tile->updates);
- Eina_Rectangle* rect;
- if (!itr) {
- CRITICAL("could not create tiler iterator!");
- return;
- }
- EINA_ITERATOR_FOREACH(itr, rect)
- callback((void*)data, tile, rect);
- eina_iterator_free(itr);
- }
-}
-
-/**
- * Clear all updates in region, if any.
- *
- * This will change the tile statistics, specially zero stat.misses
- * and unset stats.full_update. If tile->updates existed, then it will be
- * destroyed.
- *
- * This function is usually called after ewk_tile_updates_process() is
- * called.
- */
-void ewk_tile_updates_clear(Ewk_Tile* tile)
-{
- /* TODO: remove from list of pending updates? */
- tile->stats.misses = 0;
-
- if (tile->stats.full_update)
- tile->stats.full_update = 0;
- else if (tile->updates) {
- eina_tiler_free(tile->updates);
- tile->updates = 0;
- }
-}
-
-typedef struct _Ewk_Tile_Unused_Cache_Entry Ewk_Tile_Unused_Cache_Entry;
-struct _Ewk_Tile_Unused_Cache_Entry {
- Ewk_Tile* tile;
- int weight;
- struct {
- void (*callback)(void* data, Ewk_Tile* tile);
- void* data;
- } tile_free;
-};
-
-struct _Ewk_Tile_Unused_Cache {
- struct {
- Eina_List* list;
- size_t count;
- size_t allocated;
- } entries;
- struct {
- size_t max; /**< watermark (in bytes) to start freeing tiles */
- size_t used; /**< in bytes, maybe more than max. */
- } memory;
- struct {
- Evas_Coord x, y, width, height;
- float zoom;
- Eina_Bool locked;
- } locked;
- int references;
- unsigned int frozen;
-};
-
-static const size_t TILE_UNUSED_CACHE_ALLOCATE_INITIAL = 128;
-static const size_t TILE_UNUSED_CACHE_ALLOCATE_STEP = 16;
-static const size_t TILE_UNUSED_CACHE_MAX_FREE = 32;
-
-/**
- * Cache of unused tiles (those that are not visible).
- *
- * The cache of unused tiles.
- *
- * @param max cache size in bytes.
- *
- * @return newly allocated cache of unused tiles, use
- * ewk_tile_unused_cache_free() to release resources. If not
- * possible to allocate memory, @c 0 is returned.
- */
-Ewk_Tile_Unused_Cache* ewk_tile_unused_cache_new(size_t max)
-{
- Ewk_Tile_Unused_Cache* tileUnusedCache;
-
- tileUnusedCache = new Ewk_Tile_Unused_Cache;
- memset(tileUnusedCache, 0, sizeof(Ewk_Tile_Unused_Cache));
-
- DBG("tileUnusedCache=%p", tileUnusedCache);
- tileUnusedCache->memory.max = max;
- tileUnusedCache->references = 1;
- return tileUnusedCache;
-}
-
-void ewk_tile_unused_cache_lock_area(Ewk_Tile_Unused_Cache* tileUnusedCache, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height, float zoom)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileUnusedCache);
-
- tileUnusedCache->locked.locked = true;
- tileUnusedCache->locked.x = x;
- tileUnusedCache->locked.y = y;
- tileUnusedCache->locked.width = width;
- tileUnusedCache->locked.height = height;
- tileUnusedCache->locked.zoom = zoom;
-}
-
-void ewk_tile_unused_cache_unlock_area(Ewk_Tile_Unused_Cache* tileUnusedCache)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileUnusedCache);
-
- tileUnusedCache->locked.locked = false;
-}
-
-/**
- * Free cache of unused tiles.
- *
- * This function should be only called by ewk_tile_unused_cache_unref
- * function. Calling this function without considering reference counting
- * may lead to unknown results.
- *
- * Those tiles that are still visible will remain live. The unused
- * tiles will be freed.
- *
- * @see ewk_tile_unused_cache_unref()
- */
-static void _ewk_tile_unused_cache_free(Ewk_Tile_Unused_Cache* tileUnusedCache)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileUnusedCache);
-
- DBG("tileUnusedCache=%p, "
- "entries=(count:%zd, allocated:%zd), "
- "memory=(max:%zd, used:%zd)",
- tileUnusedCache, tileUnusedCache->entries.count, tileUnusedCache->entries.allocated,
- tileUnusedCache->memory.max, tileUnusedCache->memory.used);
-
- ewk_tile_unused_cache_clear(tileUnusedCache);
- delete tileUnusedCache;
-}
-
-/**
- * Clear cache of unused tiles.
- *
- * Any tiles that are in the cache are freed. The only tiles that are
- * kept are those that aren't in the cache (i.e. that are visible).
- */
-void ewk_tile_unused_cache_clear(Ewk_Tile_Unused_Cache* tileUnusedCache)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileUnusedCache);
-
- if (!tileUnusedCache->entries.count)
- return;
-
- void* item;
- EINA_LIST_FREE(tileUnusedCache->entries.list, item) {
- Ewk_Tile_Unused_Cache_Entry* itr = static_cast<Ewk_Tile_Unused_Cache_Entry*>(item);
- itr->tile_free.callback(itr->tile_free.data, itr->tile);
- delete itr;
- }
-
- tileUnusedCache->memory.used = 0;
- tileUnusedCache->entries.count = 0;
-}
-
-/**
- * Hold reference to cache.
- *
- * @return same pointer as taken.
- *
- * @see ewk_tile_unused_cache_unref()
- */
-Ewk_Tile_Unused_Cache* ewk_tile_unused_cache_ref(Ewk_Tile_Unused_Cache* tileUnusedCache)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(tileUnusedCache, 0);
- tileUnusedCache->references++;
- return tileUnusedCache;
-}
-
-/**
- * Release cache reference, freeing it if it drops to zero.
- *
- * @see ewk_tile_unused_cache_ref()
- * @see ewk_tile_unused_cache_free()
- */
-void ewk_tile_unused_cache_unref(Ewk_Tile_Unused_Cache* tileUnusedCache)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileUnusedCache);
- tileUnusedCache->references--;
- if (!tileUnusedCache->references)
- _ewk_tile_unused_cache_free(tileUnusedCache);
-}
-
-void ewk_tile_unused_cache_max_set(Ewk_Tile_Unused_Cache* tileUnusedCache, size_t max)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileUnusedCache);
- size_t oldMax = tileUnusedCache->memory.max;
- tileUnusedCache->memory.max = max;
- /* Cache flush when new max is lower then old one */
- if (oldMax > max)
- ewk_tile_unused_cache_auto_flush(tileUnusedCache);
-}
-
-size_t ewk_tile_unused_cache_max_get(const Ewk_Tile_Unused_Cache* tileUnusedCache)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(tileUnusedCache, 0);
- return tileUnusedCache->memory.max;
-}
-
-size_t ewk_tile_unused_cache_used_get(const Ewk_Tile_Unused_Cache* tileUnusedCache)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(tileUnusedCache, 0);
- return tileUnusedCache->memory.used;
-}
-
-size_t ewk_tile_unused_cache_flush(Ewk_Tile_Unused_Cache* tileUnusedCache, size_t bytes)
-{
- Eina_List* list, * listNext;
- EINA_SAFETY_ON_NULL_RETURN_VAL(tileUnusedCache, 0);
- size_t done;
- unsigned int count;
-
- if (!tileUnusedCache->entries.count)
- return 0;
- if (bytes < 1)
- return 0;
-
- /*
- * NOTE: the cache is a FIFO queue currently.
- * Don't need to sort any more.
- */
-
- void* item;
- done = 0;
- count = 0;
- EINA_LIST_FOREACH_SAFE(tileUnusedCache->entries.list, list, listNext, item) {
- Ewk_Tile_Unused_Cache_Entry* itr = static_cast<Ewk_Tile_Unused_Cache_Entry*>(item);
- Ewk_Tile* tile = itr->tile;
- if (done > bytes)
- break;
- if (tileUnusedCache->locked.locked
- && tile->x + tile->width > tileUnusedCache->locked.x
- && tile->y + tile->height > tileUnusedCache->locked.y
- && tile->x < tileUnusedCache->locked.x + tileUnusedCache->locked.width
- && tile->y < tileUnusedCache->locked.y + tileUnusedCache->locked.height
- && tile->zoom == tileUnusedCache->locked.zoom) {
- continue;
- }
- done += ewk_tile_memory_size_get(itr->tile);
- itr->tile_free.callback(itr->tile_free.data, itr->tile);
- tileUnusedCache->entries.list = eina_list_remove_list(tileUnusedCache->entries.list, list);
- delete itr;
- count++;
- }
-
- tileUnusedCache->memory.used -= done;
- tileUnusedCache->entries.count -= count;
-
- return done;
-}
-
-void ewk_tile_unused_cache_auto_flush(Ewk_Tile_Unused_Cache* tileUnusedCache)
-{
- EINA_SAFETY_ON_NULL_RETURN(tileUnusedCache);
- if (tileUnusedCache->memory.used <= tileUnusedCache->memory.max)
- return;
- ewk_tile_unused_cache_flush(tileUnusedCache, tileUnusedCache->memory.used - tileUnusedCache->memory.max);
- if (tileUnusedCache->memory.used > tileUnusedCache->memory.max)
- CRITICAL("Cache still using too much memory: %zd KB; max: %zd KB",
- tileUnusedCache->memory.used, tileUnusedCache->memory.max);
-}
-
-/**
- * Freeze cache to not do maintenance tasks.
- *
- * Maintenance tasks optimize cache usage, but maybe we know we should
- * hold on them until we do the last operation, in this case we freeze
- * while operating and then thaw when we're done.
- *
- * @see ewk_tile_unused_cache_thaw()
- */
-void ewk_tile_unused_cache_freeze(Ewk_Tile_Unused_Cache* tileUnusedCache)
-{
- tileUnusedCache->frozen++;
-}
-
-/**
- * Unfreezes maintenance tasks.
- *
- * If this is the last counterpart of freeze, then maintenance tasks
- * will run immediately.
- */
-void ewk_tile_unused_cache_thaw(Ewk_Tile_Unused_Cache* tileUnusedCache)
-{
- if (!tileUnusedCache->frozen) {
- ERR("thawing more than freezing!");
- return;
- }
-
- tileUnusedCache->frozen--;
-}
-
-/**
- * Get tile from cache of unused tiles, removing it from the cache.
- *
- * If the tile is used, then it's not in cache of unused tiles, so it
- * is removed from the cache and may be given back with
- * ewk_tile_unused_cache_tile_put().
- *
- * @param tileUnusedCache cache of unused tiles
- * @param tile the tile to be removed from Ewk_Tile_Unused_Cache.
- *
- * @return #true on success, #false otherwise.
- */
-Eina_Bool ewk_tile_unused_cache_tile_get(Ewk_Tile_Unused_Cache* tileUnusedCache, Ewk_Tile* tile)
-{
- Eina_List* iterateEntry;
- void* item;
-
- EINA_LIST_FOREACH(tileUnusedCache->entries.list, iterateEntry, item) {
- Ewk_Tile_Unused_Cache_Entry* entry = static_cast<Ewk_Tile_Unused_Cache_Entry*>(item);
- if (entry->tile == tile) {
- tileUnusedCache->entries.count--;
- tileUnusedCache->memory.used -= ewk_tile_memory_size_get(tile);
- tileUnusedCache->entries.list = eina_list_remove_list(tileUnusedCache->entries.list, iterateEntry);
- delete entry;
-
- return true;
- }
- }
-
- ERR("tile %p not found in cache %p", tile, tileUnusedCache);
- return false;
-}
-
-/**
- * Put tile into cache of unused tiles, adding it to the cache.
- *
- * This should be called when @c tile->visible is @c 0 and no objects are
- * using the tile anymore, making it available to be expired and have
- * its memory replaced.
- *
- * Note that tiles are not automatically deleted if cache is full,
- * instead the cache will have more bytes used than maximum and one
- * can call ewk_tile_unused_cache_auto_flush() to free them. This is done
- * because usually we want a lazy operation for better performance.
- *
- * @param tileUnusedCache cache of unused tiles
- * @param tile tile to be added to cache.
- * @param tileFreeCallback function used to free tiles.
- * @param data context to give back to @a tile_free_cb as first argument.
- *
- * @return #true on success, #false otherwise. If @c tile->visible
- * is not #false, then it will return #false.
- *
- * @see ewk_tile_unused_cache_auto_flush()
- */
-Eina_Bool ewk_tile_unused_cache_tile_put(Ewk_Tile_Unused_Cache* tileUnusedCache, Ewk_Tile* tile, void (* tileFreeCallback)(void* data, Ewk_Tile* tile), const void* data)
-{
- Ewk_Tile_Unused_Cache_Entry* unusedCacheEntry;
-
- if (tile->visible) {
- ERR("tile=%p is not unused (visible=%d)", tile, tile->visible);
- return false;
- }
-
- unusedCacheEntry = new Ewk_Tile_Unused_Cache_Entry;
-
- tileUnusedCache->entries.list = eina_list_append(tileUnusedCache->entries.list, unusedCacheEntry);
- if (eina_error_get()) {
- ERR("List allocation failed");
- return false;
- }
-
- unusedCacheEntry->tile = tile;
- unusedCacheEntry->weight = 0; /* calculated just before sort */
- unusedCacheEntry->tile_free.callback = tileFreeCallback;
- unusedCacheEntry->tile_free.data = (void*)data;
-
- tileUnusedCache->entries.count++;
- tileUnusedCache->memory.used += ewk_tile_memory_size_get(tile);
-
- return true;
-}
-
-void ewk_tile_unused_cache_dbg(const Ewk_Tile_Unused_Cache* tileUnusedCache)
-{
- void* item;
- Eina_List* list;
- int count = 0;
- printf("Cache of unused tiles: entries: %zu/%zu, memory: %zu/%zu\n",
- tileUnusedCache->entries.count, tileUnusedCache->entries.allocated,
- tileUnusedCache->memory.used, tileUnusedCache->memory.max);
-
- EINA_LIST_FOREACH(tileUnusedCache->entries.list, list, item) {
- const Ewk_Tile* tile = static_cast<Ewk_Tile_Unused_Cache_Entry*>(item)->tile;
- printf(" [%3lu,%3lu + %dx%d @ %0.3f]%c",
- tile->column, tile->row, tile->width, tile->height, tile->zoom,
- tile->visible ? '*' : ' ');
-
- if (!(count % 4))
- printf("\n");
- }
-
- printf("\n");
-}
diff --git a/Source/WebKit/efl/ewk/ewk_tiled_model_private.h b/Source/WebKit/efl/ewk/ewk_tiled_model_private.h
deleted file mode 100644
index c5f6d7266..000000000
--- a/Source/WebKit/efl/ewk/ewk_tiled_model_private.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- Copyright (C) 2009-2010 Samsung Electronics
- Copyright (C) 2009-2010 ProFUSION embedded systems
-
- 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 ewk_tiled_model_private_h
-#define ewk_tiled_model_private_h
-
-#include "ewk_tiled_backing_store_private.h"
-
-#include <Evas.h>
-
-/* model */
-Ewk_Tile *ewk_tile_new(Evas *evas, Evas_Coord w, Evas_Coord h, float zoom, Evas_Colorspace cspace);
-void ewk_tile_free(Ewk_Tile *t);
-void ewk_tile_unused_cache_clear(Ewk_Tile_Unused_Cache *tuc);
-void ewk_tile_show(Ewk_Tile *t);
-void ewk_tile_hide(Ewk_Tile *t);
-size_t ewk_tile_memory_size_get(const Ewk_Tile *t);
-Eina_Bool ewk_tile_visible_get(Ewk_Tile *t);
-void ewk_tile_update_full(Ewk_Tile *t);
-void ewk_tile_update_area(Ewk_Tile *t, const Eina_Rectangle *r);
-void ewk_tile_updates_process(Ewk_Tile *t, void (*cb)(void *data, Ewk_Tile *t, const Eina_Rectangle *update), const void *data);
-void ewk_tile_updates_clear(Ewk_Tile *t);
-
-/* cache of unused tiles */
-Ewk_Tile_Unused_Cache *ewk_tile_unused_cache_new(size_t max);
-void ewk_tile_unused_cache_lock_area(Ewk_Tile_Unused_Cache *tuc, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, float zoom);
-void ewk_tile_unused_cache_unlock_area(Ewk_Tile_Unused_Cache *tuc);
-Ewk_Tile_Unused_Cache *ewk_tile_unused_cache_ref(Ewk_Tile_Unused_Cache *tuc);
-void ewk_tile_unused_cache_unref(Ewk_Tile_Unused_Cache *tuc);
-
-void ewk_tile_unused_cache_dirty(Ewk_Tile_Unused_Cache *tuc);
-
-void ewk_tile_unused_cache_freeze(Ewk_Tile_Unused_Cache *tuc);
-void ewk_tile_unused_cache_thaw(Ewk_Tile_Unused_Cache *tuc);
-
-Eina_Bool ewk_tile_unused_cache_tile_get(Ewk_Tile_Unused_Cache *tuc, Ewk_Tile *t);
-Eina_Bool ewk_tile_unused_cache_tile_put(Ewk_Tile_Unused_Cache *tuc, Ewk_Tile *t, void (* tile_free_cb)(void *data, Ewk_Tile *t), const void *data);
-
-#endif // ewk_tiled_model_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_touch_event.cpp b/Source/WebKit/efl/ewk/ewk_touch_event.cpp
deleted file mode 100644
index 290fa58a7..000000000
--- a/Source/WebKit/efl/ewk/ewk_touch_event.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``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"
-
-#if ENABLE(TOUCH_EVENTS)
-
-#include "PlatformTouchPoint.h"
-#include "ewk_touch_event_private.h"
-#include <Ecore_Input.h>
-#include <wtf/CurrentTime.h>
-
-class WebKitPlatformTouchPoint : public WebCore::PlatformTouchPoint {
-public:
- WebKitPlatformTouchPoint(unsigned id, const WebCore::IntPoint& windowPos, WebCore::PlatformTouchPoint::State state)
- {
- m_id = id;
- m_state = state;
- m_screenPos = windowPos;
- m_pos = windowPos;
- }
-};
-
-class WebKitPlatformTouchEvent : public WebCore::PlatformTouchEvent {
-public:
- WebKitPlatformTouchEvent(const Eina_List* points, const WebCore::IntPoint& pos, Ewk_Touch_Event_Type action, unsigned modifiers)
- {
- switch (action) {
- case EWK_TOUCH_START:
- m_type = WebCore::PlatformEvent::TouchStart;
- break;
- case EWK_TOUCH_MOVE:
- m_type = WebCore::PlatformEvent::TouchMove;
- break;
- case EWK_TOUCH_END:
- m_type = WebCore::PlatformEvent::TouchEnd;
- break;
- case EWK_TOUCH_CANCEL:
- m_type = WebCore::PlatformEvent::TouchCancel;
- break;
- default:
- ASSERT_NOT_REACHED();
- break;
- }
-
- if (modifiers & ECORE_EVENT_MODIFIER_ALT)
- m_modifiers |= WebCore::PlatformEvent::AltKey;
- if (modifiers & ECORE_EVENT_MODIFIER_CTRL)
- m_modifiers |= WebCore::PlatformEvent::CtrlKey;
- if (modifiers & ECORE_EVENT_MODIFIER_SHIFT)
- m_modifiers |= WebCore::PlatformEvent::ShiftKey;
- if (modifiers & ECORE_EVENT_MODIFIER_WIN)
- m_modifiers |= WebCore::PlatformEvent::MetaKey;
-
- m_timestamp = currentTime();
-
- const Eina_List* list;
- void* item;
- EINA_LIST_FOREACH(points, list, item) {
- Ewk_Touch_Point* point = static_cast<Ewk_Touch_Point*>(item);
- WebCore::IntPoint pnt = WebCore::IntPoint(point->x - pos.x(), point->y - pos.y());
- m_touchPoints.append(WebKitPlatformTouchPoint(point->id, pnt, static_cast<WebCore::PlatformTouchPoint::State>(point->state)));
- }
- }
-};
-
-namespace EWKPrivate {
-
-WebCore::PlatformTouchEvent platformTouchEvent(Evas_Coord x, Evas_Coord y, Eina_List* points, Ewk_Touch_Event_Type action, unsigned modifiers)
-{
- return WebKitPlatformTouchEvent(points, WebCore::IntPoint(x, y), action, modifiers);
-}
-
-}
-
-#endif // ENABLE(TOUCH_EVENTS)
diff --git a/Source/WebKit/efl/ewk/ewk_touch_event_private.h b/Source/WebKit/efl/ewk/ewk_touch_event_private.h
deleted file mode 100644
index 07778bf84..000000000
--- a/Source/WebKit/efl/ewk/ewk_touch_event_private.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics
- *
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``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.
- */
-
-#ifndef ewk_touch_event_private_h
-#define ewk_touch_event_private_h
-
-#if ENABLE(TOUCH_EVENTS)
-
-#include "PlatformTouchEvent.h"
-#include "ewk_frame.h"
-
-namespace EWKPrivate {
-WebCore::PlatformTouchEvent platformTouchEvent(Evas_Coord x, Evas_Coord y, Eina_List* points, Ewk_Touch_Event_Type action, unsigned modifiers);
-} // namespace EWKPrivate
-
-#endif // ENABLE(TOUCH_EVENTS)
-
-#endif // ewk_touch_event_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_view.cpp b/Source/WebKit/efl/ewk/ewk_view.cpp
deleted file mode 100644
index b5d62ed39..000000000
--- a/Source/WebKit/efl/ewk/ewk_view.cpp
+++ /dev/null
@@ -1,4778 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2012 Samsung Electronics
- Copyright (C) 2012 Intel Corporation
-
- 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.
-*/
-
-#define __STDC_FORMAT_MACROS
-#include "config.h"
-#include "ewk_view.h"
-
-#include "BackForwardListImpl.h"
-#include "Bridge.h"
-#include "Chrome.h"
-#include "ChromeClientEfl.h"
-#include "ContextMenuClientEfl.h"
-#include "ContextMenuController.h"
-#include "DocumentLoader.h"
-#include "DragClientEfl.h"
-#include "DumpRenderTreeSupportEfl.h"
-#include "Editor.h"
-#include "EditorClientEfl.h"
-#include "EflScreenUtilities.h"
-#include "EventHandler.h"
-#include "FocusController.h"
-#include "Frame.h"
-#include "FrameLoaderClientEfl.h"
-#include "FrameSelection.h"
-#include "FrameView.h"
-#include "GraphicsContext.h"
-#include "HTMLElement.h"
-#include "HTMLInputElement.h"
-#include "HTMLNames.h"
-#include "InspectorClientEfl.h"
-#include "InspectorController.h"
-#include "IntSize.h"
-#include "JSDOMBinding.h"
-#include "JSDOMWindow.h"
-#include "JSLock.h"
-#include "NetworkStorageSession.h"
-#include "Operations.h"
-#include "PageClientEfl.h"
-#include "PageGroup.h"
-#include "PlatformMouseEvent.h"
-#include "PopupMenuClient.h"
-#include "ProgressTracker.h"
-#include "RefPtrCairo.h"
-#include "RenderThemeEfl.h"
-#include "ResourceHandle.h"
-#include "RuntimeEnabledFeatures.h"
-#include "ScriptController.h"
-#include "Settings.h"
-#include "TiledBackingStore.h"
-#include "c_instance.h"
-#include "ewk_contextmenu_private.h"
-#include "ewk_frame.h"
-#include "ewk_frame_private.h"
-#include "ewk_history_private.h"
-#include "ewk_js_private.h"
-#include "ewk_paint_context_private.h"
-#include "ewk_private.h"
-#include "ewk_settings_private.h"
-#include "ewk_view_private.h"
-#include "ewk_window_features_private.h"
-#include <Ecore.h>
-#include <Ecore_Evas.h>
-#include <Edje.h>
-#include <Eina.h>
-#include <Evas.h>
-#include <eina_safety_checks.h>
-#include <inttypes.h>
-#include <libsoup/soup.h>
-#include <limits>
-#include <math.h>
-#include <sys/time.h>
-
-#if ENABLE(DEVICE_ORIENTATION)
-#include "DeviceMotionClientEfl.h"
-#include "DeviceOrientationClientEfl.h"
-#endif
-
-#if ENABLE(GEOLOCATION)
-#include "GeolocationClientMock.h"
-#include "GeolocationController.h"
-#endif
-
-#if ENABLE(VIBRATION)
-#include "VibrationClientEfl.h"
-#endif
-
-#if ENABLE(BATTERY_STATUS)
-#include "BatteryClientEfl.h"
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
-#include "AcceleratedCompositingContextEfl.h"
-#endif
-
-#if ENABLE(NETWORK_INFO)
-#include "NetworkInfoClientEfl.h"
-#endif
-
-#if ENABLE(INPUT_TYPE_COLOR)
-#include "ColorChooserClient.h"
-#endif
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
-#include "NavigatorContentUtilsClientEfl.h"
-#endif
-
-static const float zoomMinimum = 0.05;
-static const float zoomMaximum = 4.0;
-
-static const char ewkViewTypeString[] = "EWK_View";
-
-static const size_t ewkViewRepaintsSizeInitial = 32;
-static const size_t ewkViewRepaintsSizeStep = 8;
-static const size_t ewkViewRepaintsSizeMaximumFree = 64;
-
-static const Evas_Smart_Cb_Description _ewk_view_callback_names[] = {
- { "colorchooser,create", "(yyyy)" },
- { "colorchooser,willdelete", "" },
- { "colorchooser,color,changed", "(yyyy)" },
- { "download,request", "p" },
- { "editorclient,contents,changed", "" },
- { "editorclient,selection,changed", "" },
- { "frame,created", "p" },
- { "icon,received", "" },
- { "inputmethod,changed", "b" },
- { "js,windowobject,clear", "" },
- { "link,hover,in", "p" },
- { "link,hover,out", "" },
- { "load,document,finished", "p" },
- { "load,error", "p" },
- { "load,finished", "p" },
- { "load,newwindow,show", "" },
- { "load,progress", "d" },
- { "load,provisional", "" },
- { "load,started", "" },
- { "menubar,visible,get", "b" },
- { "menubar,visible,set", "b" },
- { "popup,created", "p" },
- { "popup,willdelete", "p" },
- { "ready", "" },
- { "scrollbars,visible,get", "b" },
- { "scrollbars,visible,set", "b" },
- { "statusbar,text,set", "s" },
- { "statusbar,visible,get", "b" },
- { "statusbar,visible,set", "b" },
- { "title,changed", "s" },
- { "toolbars,visible,get", "b" },
- { "toolbars,visible,set", "b" },
- { "tooltip,text,set", "s" },
- { "tooltip,text,unset", "s" },
- { "uri,changed", "s" },
- { "view,resized", "" },
- { "zoom,animated,end", "" },
- { 0, 0 }
-};
-
-struct EditorCommand {
- Ewk_Editor_Command ewkEditorCommand;
- const char* editorCommandString;
-};
-
-/**
- * @brief A table grouping Ewk_Editor_Command enums with corresponding command
- * strings used by WebCore::EditorCommand, keeping both in sync.
- *
- * @internal
- */
-static const EditorCommand editorCommands[] = {
- { EWK_EDITOR_COMMAND_UNDO, "Undo" },
- { EWK_EDITOR_COMMAND_REDO, "Redo" },
- { EWK_EDITOR_COMMAND_TOGGLE_BOLD, "ToggleBold" },
- { EWK_EDITOR_COMMAND_TOGGLE_ITALIC, "ToggleItalic" },
- { EWK_EDITOR_COMMAND_TOGGLE_UNDERLINE, "ToggleUnderline" },
- { EWK_EDITOR_COMMAND_TOGGLE_STRIKETHROUGH, "Strikethrough" },
- { EWK_EDITOR_COMMAND_TOGGLE_SUBSCRIPT, "SubScript" },
- { EWK_EDITOR_COMMAND_TOGGLE_SUPERSCRIPT, "SuperScript" },
- { EWK_EDITOR_COMMAND_INDENT, "Indent" },
- { EWK_EDITOR_COMMAND_OUTDENT, "Outdent" },
- { EWK_EDITOR_COMMAND_INSERT_ORDEREDLIST, "InsertOrderedList" },
- { EWK_EDITOR_COMMAND_INSERT_UNORDEREDLIST, "InsertUnorderedList" },
- { EWK_EDITOR_COMMAND_INSERT_IMAGE, "InsertImage" },
- { EWK_EDITOR_COMMAND_INSERT_TEXT, "InsertText" },
- { EWK_EDITOR_COMMAND_INSERT_HTML, "InsertHTML" },
- { EWK_EDITOR_COMMAND_INSERT_PARAGRAPH, "InsertParagraph" },
- { EWK_EDITOR_COMMAND_INSERT_PARAGRAPH_SEPARATOR, "InsertNewLine" },
- { EWK_EDITOR_COMMAND_INSERT_LINE_SEPARATOR, "InsertLineBreak" },
- { EWK_EDITOR_COMMAND_BACK_COLOR, "BackColor" },
- { EWK_EDITOR_COMMAND_FORE_COLOR, "ForeColor" },
- { EWK_EDITOR_COMMAND_HILITE_COLOR, "HiliteColor" },
- { EWK_EDITOR_COMMAND_FONT_SIZE, "FontSize" },
- { EWK_EDITOR_COMMAND_ALIGN_CENTER, "AlignCenter" },
- { EWK_EDITOR_COMMAND_ALIGN_JUSTIFIED, "AlignJustified" },
- { EWK_EDITOR_COMMAND_ALIGN_LEFT, "AlignLeft" },
- { EWK_EDITOR_COMMAND_ALIGN_RIGHT, "AlignRight" },
- { EWK_EDITOR_COMMAND_MOVE_TO_NEXT_CHAR, "MoveForward" },
- { EWK_EDITOR_COMMAND_MOVE_TO_PREVIOUS_CHAR, "MoveBackward" },
- { EWK_EDITOR_COMMAND_MOVE_TO_NEXT_WORD, "MoveWordForward" },
- { EWK_EDITOR_COMMAND_MOVE_TO_PREVIOUS_WORD, "MoveWordBackward" },
- { EWK_EDITOR_COMMAND_MOVE_TO_NEXT_LINE, "MoveDown" },
- { EWK_EDITOR_COMMAND_MOVE_TO_PREVIOUS_LINE, "MoveUp" },
- { EWK_EDITOR_COMMAND_MOVE_TO_BEGINNING_OF_LINE, "MoveToBeginningOfLine" },
- { EWK_EDITOR_COMMAND_MOVE_TO_END_OF_LINE, "MoveToEndOfLine" },
- { EWK_EDITOR_COMMAND_MOVE_TO_BEGINNING_OF_PARAGRAPH, "MoveToBeginningOfParagraph" },
- { EWK_EDITOR_COMMAND_MOVE_TO_END_OF_PARAGRAPH, "MoveToEndOfParagraph" },
- { EWK_EDITOR_COMMAND_MOVE_TO_BEGINNING_OF_DOCUMENT, "MoveToBeginningOfDocument" },
- { EWK_EDITOR_COMMAND_MOVE_TO_END_OF_DOCUMENT, "MoveToEndOfDocument" },
- { EWK_EDITOR_COMMAND_SELECT_NONE, "SelectNone" },
- { EWK_EDITOR_COMMAND_SELECT_ALL, "SelectAll" },
- { EWK_EDITOR_COMMAND_SELECT_PARAGRAPH, "SelectParagraph" },
- { EWK_EDITOR_COMMAND_SELECT_SENTENCE, "SelectSentence" },
- { EWK_EDITOR_COMMAND_SELECT_LINE, "SelectLine" },
- { EWK_EDITOR_COMMAND_SELECT_WORD, "SelectWord" },
- { EWK_EDITOR_COMMAND_SELECT_NEXT_CHAR, "MoveForwardAndModifySelection" },
- { EWK_EDITOR_COMMAND_SELECT_PREVIOUS_CHAR, "MoveBackwardAndModifySelection" },
- { EWK_EDITOR_COMMAND_SELECT_NEXT_WORD, "MoveWordForwardAndModifySelection" },
- { EWK_EDITOR_COMMAND_SELECT_PREVIOUS_WORD, "MoveWordBackwardAndModifySelection" },
- { EWK_EDITOR_COMMAND_SELECT_NEXT_LINE, "MoveDownAndModifySelection" },
- { EWK_EDITOR_COMMAND_SELECT_PREVIOUS_LINE, "MoveUpAndModifySelection" },
- { EWK_EDITOR_COMMAND_SELECT_START_OF_LINE, "MoveToBeginningOfLineAndModifySelection" },
- { EWK_EDITOR_COMMAND_SELECT_END_OF_LINE, "MoveToEndOfLineAndModifySelection" },
- { EWK_EDITOR_COMMAND_SELECT_START_OF_PARAGRAPH, "MoveToBeginningOfParagraphAndModifySelection" },
- { EWK_EDITOR_COMMAND_SELECT_END_OF_PARAGRAPH, "MoveToEndOfParagraphAndModifySelection" },
- { EWK_EDITOR_COMMAND_SELECT_START_OF_DOCUMENT, "MoveToBeginningOfDocumentAndModifySelection" },
- { EWK_EDITOR_COMMAND_SELECT_END_OF_DOCUMENT, "MoveToEndOfDocumentAndModifySelection" },
- { EWK_EDITOR_COMMAND_DELETE_WORD_BACKWARD, "DeleteWordBackward" },
- { EWK_EDITOR_COMMAND_DELETE_WORD_FORWARD, "DeleteWordForward" },
- { EWK_EDITOR_COMMAND_NONE, 0 } // EWK_EDITOR_COMMAND_NONE must be the last element.
-};
-
-/**
- * @brief Private data that is used internally by EFL WebKit
- * and should never be modified from outside.
- *
- * @internal
- */
-struct _Ewk_View_Private_Data {
- OwnPtr<WebCore::Page> page;
- WebCore::Settings* pageSettings;
- WebCore::Frame* mainFrame;
- WebCore::ViewportArguments viewportArguments;
- Ewk_History* history;
- OwnPtr<PageClientEfl> pageClient;
-#if USE(ACCELERATED_COMPOSITING)
- OwnPtr<WebCore::AcceleratedCompositingContext> acceleratedCompositingContext;
- bool isCompositingActive;
- RefPtr<Evas_Object> compositingObject;
-#endif
-#if ENABLE(INPUT_TYPE_COLOR)
- WebCore::ColorChooserClient* colorChooserClient;
-#endif
-#if ENABLE(NAVIGATOR_CONTENT_UTILS) || ENABLE(CUSTOM_SCHEME_HANDLER)
- OwnPtr<WebCore::NavigatorContentUtilsClientEfl> navigatorContentUtilsClient;
-#endif
- WebCore::NetworkStorageSession* storageSession;
- struct {
- Ewk_Menu menu;
- WebCore::PopupMenuClient* menuClient;
- } popup;
- struct {
- Eina_Rectangle* array;
- size_t count;
- size_t allocated;
- } repaints;
- WTF::Vector<WebCore::IntRect> m_rectsToScroll;
- WTF::Vector<WebCore::IntSize> m_scrollOffsets;
- unsigned int imh; /**< input method hints */
- struct {
- bool viewCleared : 1;
- bool needTouchEvents : 1;
- bool hasDisplayedMixedContent : 1;
- bool hasRunMixedContent : 1;
- } flags;
- struct {
- const char* userAgent;
- const char* userStylesheet;
- const char* encodingDefault;
- const char* encodingCustom;
- const char* theme;
- const char* localStorageDatabasePath;
- int fontMinimumSize;
- int fontMinimumLogicalSize;
- int fontDefaultSize;
- int fontMonospaceSize;
- const char* fontStandard;
- const char* fontCursive;
- const char* fontMonospace;
- const char* fontFantasy;
- const char* fontSerif;
- const char* fontSansSerif;
- bool autoLoadImages : 1;
- bool autoShrinkImages : 1;
- bool enableAutoResizeWindow : 1;
- bool enableDeveloperExtras : 1;
- bool enableScripts : 1;
- bool enablePlugins : 1;
- bool enableFrameFlattening : 1;
-#if ENABLE(FULLSCREEN_API)
- bool enableFullscreen : 1;
-#endif
- bool encodingDetector : 1;
- bool hyperlinkAuditingEnabled : 1;
- bool scriptsCanOpenWindows : 1;
- bool scriptsCanCloseWindows : 1;
-#if ENABLE(VIDEO_TRACK)
- bool shouldDisplayCaptions : 1;
- bool shouldDisplaySubtitles : 1;
- bool shouldDisplayTextDescriptions: 1;
-#endif
- bool scriptsCanAccessClipboard : 1;
- bool resizableTextareas : 1;
- bool privateBrowsing : 1;
- bool caretBrowsing : 1;
- bool spatialNavigation : 1;
- bool localStorage : 1;
- bool offlineAppCache : 1;
- bool pageCache : 1;
- bool enableXSSAuditor : 1;
- bool webGLEnabled : 1;
- bool tabsToLinks : 1;
- struct {
- float minScale;
- float maxScale;
- Eina_Bool userScalable : 1;
- } zoomRange;
- double domTimerInterval;
- bool allowUniversalAccessFromFileURLs : 1;
- bool allowFileAccessFromFileURLs : 1;
- } settings;
- struct {
- struct {
- double start;
- double end;
- double duration;
- } time;
- struct {
- float start;
- float end;
- float range;
- } zoom;
- struct {
- Evas_Coord x, y;
- } center;
- Ecore_Animator* animator;
- } animatedZoom;
- const char* cursorGroup;
- Evas_Object* cursorObject;
-#if ENABLE(INSPECTOR)
- Evas_Object* inspectorView;
-#endif
-#ifdef HAVE_ECORE_X
- bool isUsingEcoreX;
-#endif
-#if ENABLE(CONTEXT_MENUS)
- Ewk_Context_Menu* contextMenu;
-#endif
-};
-
-#ifndef EWK_TYPE_CHECK
-#define EWK_VIEW_TYPE_CHECK(ewkView, ...) do { } while (0)
-#else
-#define EWK_VIEW_TYPE_CHECK(ewkView, ...) \
- do { \
- const char* _tmp_otype = evas_object_type_get(ewkView); \
- const Evas_Smart* _tmp_s = evas_object_smart_smart_get(ewkView); \
- if (EINA_UNLIKELY(!_tmp_s)) { \
- EINA_LOG_CRIT \
- ("%p (%s) is not a smart object!", ewkView, \
- _tmp_otype ? _tmp_otype : "(null)"); \
- return __VA_ARGS__; \
- } \
- const Evas_Smart_Class* _tmp_sc = evas_smart_class_get(_tmp_s); \
- if (EINA_UNLIKELY(!_tmp_sc)) { \
- EINA_LOG_CRIT \
- ("%p (%s) is not a smart object!", ewkView, \
- _tmp_otype ? _tmp_otype : "(null)"); \
- return __VA_ARGS__; \
- } \
- if (EINA_UNLIKELY(_tmp_sc->data != ewkViewTypeString)) { \
- EINA_LOG_CRIT \
- ("%p (%s) is not of an ewk_view (need %p, got %p)!", \
- ewkView, _tmp_otype ? _tmp_otype : "(null)", \
- ewkViewTypeString, _tmp_sc->data); \
- return __VA_ARGS__; \
- } \
- } while (0)
-#endif
-
-#define EWK_VIEW_SD_GET(ewkView, pointer) \
- Ewk_View_Smart_Data* pointer = static_cast<Ewk_View_Smart_Data*>(evas_object_smart_data_get(ewkView))
-
-#define EWK_VIEW_SD_GET_OR_RETURN(ewkView, pointer, ...) \
- EWK_VIEW_TYPE_CHECK(ewkView, __VA_ARGS__); \
- EWK_VIEW_SD_GET(ewkView, pointer); \
- if (!pointer) { \
- CRITICAL("no smart data for object %p (%s)", \
- ewkView, evas_object_type_get(ewkView)); \
- return __VA_ARGS__; \
- }
-
-#define EWK_VIEW_PRIV_GET(smartData, pointer) \
- Ewk_View_Private_Data* pointer = smartData->_priv
-
-#define EWK_VIEW_PRIV_GET_OR_RETURN(smartData, pointer, ...) \
- EWK_VIEW_PRIV_GET(smartData, pointer); \
- if (!pointer) { \
- CRITICAL("no private data for object %p (%s)", \
- smartData->self, evas_object_type_get(smartData->self)); \
- return __VA_ARGS__; \
- }
-
-static void _ewk_view_smart_changed(Ewk_View_Smart_Data* smartData)
-{
- if (smartData->changed.any)
- return;
- smartData->changed.any = true;
- evas_object_smart_changed(smartData->self);
-}
-
-static Eina_Bool _ewk_view_repaints_resize(Ewk_View_Private_Data* priv, size_t size)
-{
- void* tmp = realloc(priv->repaints.array, size * sizeof(Eina_Rectangle));
- if (!tmp) {
- CRITICAL("could not realloc repaints array to %zu elements.", size);
- return false;
- }
- priv->repaints.allocated = size;
- priv->repaints.array = static_cast<Eina_Rectangle*>(tmp);
- return true;
-}
-
-static void _ewk_view_repaint_add(Ewk_View_Private_Data* priv, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height)
-{
- size_t newSize = 0;
-
- if (priv->repaints.allocated == priv->repaints.count)
- newSize = priv->repaints.allocated + ewkViewRepaintsSizeStep;
- else if (!priv->repaints.count && priv->repaints.allocated > ewkViewRepaintsSizeInitial)
- newSize = ewkViewRepaintsSizeInitial;
-
- if (newSize) {
- if (!_ewk_view_repaints_resize(priv, newSize))
- return;
- }
-
- Eina_Rectangle* rect = priv->repaints.array + priv->repaints.count;
- priv->repaints.count++;
-
- rect->x = x;
- rect->y = y;
- rect->w = width;
- rect->h = height;
-
- DBG("add repaint %d, %d+%dx%d", x, y, width, height);
-}
-
-static void _ewk_view_repaints_flush(Ewk_View_Private_Data* priv)
-{
- priv->repaints.count = 0;
- if (priv->repaints.allocated <= ewkViewRepaintsSizeMaximumFree)
- return;
- _ewk_view_repaints_resize(priv, ewkViewRepaintsSizeMaximumFree);
-}
-
-static void _ewk_view_scrolls_flush(Ewk_View_Private_Data* priv)
-{
- priv->m_scrollOffsets.clear();
- priv->m_rectsToScroll.clear();
-}
-
-// Default Event Handling //////////////////////////////////////////////
-static Eina_Bool _ewk_view_smart_focus_in(Ewk_View_Smart_Data* smartData)
-{
- EWK_VIEW_PRIV_GET(smartData, priv);
- WebCore::FocusController* focusController = priv->page->focusController();
- DBG("ewkView=%p, focusController=%p", smartData->self, focusController);
- EINA_SAFETY_ON_NULL_RETURN_VAL(focusController, false);
-
- focusController->setActive(true);
- focusController->setFocused(true);
- return true;
-}
-
-static Eina_Bool _ewk_view_smart_focus_out(Ewk_View_Smart_Data* smartData)
-{
- EWK_VIEW_PRIV_GET(smartData, priv);
- WebCore::FocusController* focusController = priv->page->focusController();
- DBG("ewkView=%p, fc=%p", smartData->self, focusController);
- EINA_SAFETY_ON_NULL_RETURN_VAL(focusController, false);
-
- focusController->setActive(false);
- focusController->setFocused(false);
- return true;
-}
-
-static Eina_Bool _ewk_view_smart_mouse_wheel(Ewk_View_Smart_Data* smartData, const Evas_Event_Mouse_Wheel* wheelEvent)
-{
- return ewk_frame_feed_mouse_wheel(smartData->main_frame, wheelEvent);
-}
-
-static Eina_Bool _ewk_view_smart_mouse_down(Ewk_View_Smart_Data* smartData, const Evas_Event_Mouse_Down* downEvent)
-{
- return ewk_frame_feed_mouse_down(smartData->main_frame, downEvent);
-}
-
-static Eina_Bool _ewk_view_smart_mouse_up(Ewk_View_Smart_Data* smartData, const Evas_Event_Mouse_Up* upEvent)
-{
- return ewk_frame_feed_mouse_up(smartData->main_frame, upEvent);
-}
-
-static Eina_Bool _ewk_view_smart_mouse_move(Ewk_View_Smart_Data* smartData, const Evas_Event_Mouse_Move* moveEvent)
-{
- return ewk_frame_feed_mouse_move(smartData->main_frame, moveEvent);
-}
-
-static Eina_Bool _ewk_view_smart_key_down(Ewk_View_Smart_Data* smartData, const Evas_Event_Key_Down* downEvent)
-{
- Evas_Object* frame = ewk_view_frame_focused_get(smartData->self);
-
- if (!frame)
- frame = smartData->main_frame;
-
- return ewk_frame_feed_key_down(frame, downEvent);
-}
-
-static Eina_Bool _ewk_view_smart_key_up(Ewk_View_Smart_Data* smartData, const Evas_Event_Key_Up* upEvent)
-{
- Evas_Object* frame = ewk_view_frame_focused_get(smartData->self);
-
- if (!frame)
- frame = smartData->main_frame;
-
- return ewk_frame_feed_key_up(frame, upEvent);
-}
-
-static void _ewk_view_smart_add_console_message(Ewk_View_Smart_Data*, const char* message, unsigned int lineNumber, const char* sourceID)
-{
- INFO("console message: %s @%d: %s\n", sourceID, lineNumber, message);
-}
-
-static void _ewk_view_smart_run_javascript_alert(Ewk_View_Smart_Data*, Evas_Object* /*frame*/, const char* message)
-{
- INFO("javascript alert: %s\n", message);
-}
-
-static Eina_Bool _ewk_view_smart_run_javascript_confirm(Ewk_View_Smart_Data*, Evas_Object* /*frame*/, const char* message)
-{
- INFO("javascript confirm: %s", message);
- INFO("javascript confirm (HARD CODED)? YES");
- return true;
-}
-
-static Eina_Bool _ewk_view_smart_run_before_unload_confirm(Ewk_View_Smart_Data*, Evas_Object* /*frame*/, const char* message)
-{
- INFO("before unload confirm: %s", message);
- return true;
-}
-
-static Eina_Bool _ewk_view_smart_should_interrupt_javascript(Ewk_View_Smart_Data*)
-{
- INFO("should interrupt javascript?\n"
- "\t(HARD CODED) NO");
- return false;
-}
-
-static Eina_Bool _ewk_view_smart_run_javascript_prompt(Ewk_View_Smart_Data*, Evas_Object* /*frame*/, const char* message, const char* defaultValue, const char** value)
-{
- *value = eina_stringshare_add("test");
- Eina_Bool result = true;
- INFO("javascript prompt:\n"
- "\t message: %s\n"
- "\tdefault value: %s\n"
- "\tgiving answer: %s\n"
- "\t button: %s", message, defaultValue, *value, result ? "ok" : "cancel");
-
- return result;
-}
-
-// Event Handling //////////////////////////////////////////////////////
-static void _ewk_view_on_focus_in(void* data, Evas*, Evas_Object*, void*)
-{
- Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(data);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->focus_in);
- smartData->api->focus_in(smartData);
-}
-
-static void _ewk_view_on_focus_out(void* data, Evas*, Evas_Object*, void*)
-{
- Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(data);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->focus_out);
- smartData->api->focus_out(smartData);
-}
-
-static void _ewk_view_on_mouse_wheel(void* data, Evas*, Evas_Object*, void* eventInfo)
-{
- Evas_Event_Mouse_Wheel* wheelEvent = static_cast<Evas_Event_Mouse_Wheel*>(eventInfo);
- Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(data);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->mouse_wheel);
- smartData->api->mouse_wheel(smartData, wheelEvent);
-}
-
-static void _ewk_view_on_mouse_down(void* data, Evas*, Evas_Object*, void* eventInfo)
-{
- Evas_Event_Mouse_Down* downEvent = static_cast<Evas_Event_Mouse_Down*>(eventInfo);
- Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(data);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->mouse_down);
- smartData->api->mouse_down(smartData, downEvent);
-}
-
-static void _ewk_view_on_mouse_up(void* data, Evas*, Evas_Object*, void* eventInfo)
-{
- Evas_Event_Mouse_Up* upEvent = static_cast<Evas_Event_Mouse_Up*>(eventInfo);
- Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(data);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->mouse_up);
- smartData->api->mouse_up(smartData, upEvent);
-}
-
-static void _ewk_view_on_mouse_move(void* data, Evas*, Evas_Object*, void* eventInfo)
-{
- Evas_Event_Mouse_Move* moveEvent = static_cast<Evas_Event_Mouse_Move*>(eventInfo);
- Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(data);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->mouse_move);
- smartData->api->mouse_move(smartData, moveEvent);
-}
-
-static void _ewk_view_on_key_down(void* data, Evas*, Evas_Object*, void* eventInfo)
-{
- Evas_Event_Key_Down* downEvent = static_cast<Evas_Event_Key_Down*>(eventInfo);
- Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(data);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->key_down);
- smartData->api->key_down(smartData, downEvent);
-}
-
-static void _ewk_view_on_key_up(void* data, Evas*, Evas_Object*, void* eventInfo)
-{
- Evas_Event_Key_Up* upEvent = static_cast<Evas_Event_Key_Up*>(eventInfo);
- Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(data);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->key_up);
- smartData->api->key_up(smartData, upEvent);
-}
-
-static WTF::PassRefPtr<WebCore::Frame> _ewk_view_core_frame_new(Ewk_View_Smart_Data* smartData, Ewk_View_Private_Data* priv, WebCore::HTMLFrameOwnerElement* owner)
-{
- WebCore::FrameLoaderClientEfl* frameLoaderClient = new WebCore::FrameLoaderClientEfl(smartData->self);
- frameLoaderClient->setCustomUserAgent(String::fromUTF8(priv->settings.userAgent));
-
- return WebCore::Frame::create(priv->page.get(), owner, frameLoaderClient);
-}
-
-static Evas_Smart_Class _parent_sc = EVAS_SMART_CLASS_INIT_NULL;
-
-static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* smartData)
-{
- Ewk_View_Private_Data* priv = new Ewk_View_Private_Data;
- memset(priv, 0, sizeof(Ewk_View_Private_Data));
- AtomicString string;
- WebCore::KURL url;
-
- WebCore::Page::PageClients pageClients;
- pageClients.chromeClient = new WebCore::ChromeClientEfl(smartData->self);
-#if ENABLE(CONTEXT_MENUS)
- pageClients.contextMenuClient = new WebCore::ContextMenuClientEfl;
-#endif
- pageClients.editorClient = new WebCore::EditorClientEfl(smartData->self);
- pageClients.dragClient = new WebCore::DragClientEfl;
-#if ENABLE(INSPECTOR)
- pageClients.inspectorClient = new WebCore::InspectorClientEfl(smartData->self);
-#endif
- priv->page = adoptPtr(new WebCore::Page(pageClients));
-
-#if ENABLE(DEVICE_ORIENTATION)
- WebCore::provideDeviceMotionTo(priv->page.get(), new WebCore::DeviceMotionClientEfl);
- WebCore::provideDeviceOrientationTo(priv->page.get(), new WebCore::DeviceOrientationClientEfl);
-#endif
-
-#if ENABLE(NETWORK_INFO)
- WebCore::provideNetworkInfoTo(priv->page.get(), new WebCore::NetworkInfoClientEfl);
-#endif
-
-#if ENABLE(VIBRATION)
- WebCore::provideVibrationTo(priv->page.get(), new WebCore::VibrationClientEfl(smartData->self));
-#endif
-
-#if ENABLE(BATTERY_STATUS)
- WebCore::provideBatteryTo(priv->page.get(), new BatteryClientEfl(smartData->self));
-#endif
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
- priv->navigatorContentUtilsClient = WebCore::NavigatorContentUtilsClientEfl::create(smartData->self);
- WebCore::provideNavigatorContentUtilsTo(priv->page.get(), priv->navigatorContentUtilsClient.get());
-#endif
-
-#if ENABLE(GEOLOCATION)
- if (DumpRenderTreeSupportEfl::dumpRenderTreeModeEnabled()) {
- WebCore::GeolocationClientMock* mock = new WebCore::GeolocationClientMock;
- WebCore::provideGeolocationTo(priv->page.get(), mock);
- mock->setController(WebCore::GeolocationController::from(priv->page.get()));
- }
-#endif
-
- priv->pageSettings = priv->page->settings();
-
- WebCore::LayoutMilestones layoutMilestones = WebCore::DidFirstLayout | WebCore::DidFirstVisuallyNonEmptyLayout;
- priv->page->addLayoutMilestones(layoutMilestones);
-
- // FIXME: Noone is supposed to do this manually.
- priv->viewportArguments.width = WebCore::ViewportArguments::ValueAuto;
- priv->viewportArguments.height = WebCore::ViewportArguments::ValueAuto;
- priv->viewportArguments.zoom = WebCore::ViewportArguments::ValueAuto;
- priv->viewportArguments.minZoom = WebCore::ViewportArguments::ValueAuto;
- priv->viewportArguments.maxZoom = WebCore::ViewportArguments::ValueAuto;
- priv->viewportArguments.userZoom = true;
-
- priv->pageSettings->setLoadsImagesAutomatically(true);
- priv->pageSettings->setDefaultTextEncodingName("iso-8859-1");
- priv->pageSettings->setDefaultFixedFontSize(12);
- priv->pageSettings->setDefaultFontSize(16);
- priv->pageSettings->setSerifFontFamily("serif");
- priv->pageSettings->setFixedFontFamily("monotype");
- priv->pageSettings->setSansSerifFontFamily("sans");
- priv->pageSettings->setStandardFontFamily("sans");
- priv->pageSettings->setHyperlinkAuditingEnabled(false);
- WebCore::RuntimeEnabledFeatures::setCSSRegionsEnabled(true);
-#if ENABLE(IFRAME_SEAMLESS)
- WebCore::RuntimeEnabledFeatures::setSeamlessIFramesEnabled(true);
-#endif
- priv->pageSettings->setScriptEnabled(true);
- priv->pageSettings->setPluginsEnabled(true);
- priv->pageSettings->setLocalStorageEnabled(true);
- priv->pageSettings->setOfflineWebApplicationCacheEnabled(true);
- priv->pageSettings->setUsesPageCache(true);
- priv->pageSettings->setUsesEncodingDetector(false);
-#if ENABLE(WEB_AUDIO)
- priv->pageSettings->setWebAudioEnabled(false);
-#endif
- priv->pageSettings->setWebGLEnabled(true);
- priv->pageSettings->setXSSAuditorEnabled(true);
-#if ENABLE(FULLSCREEN_API)
- priv->pageSettings->setFullScreenEnabled(true);
-#endif
- priv->pageSettings->setInteractiveFormValidationEnabled(true);
-#if USE(ACCELERATED_COMPOSITING)
- priv->pageSettings->setAcceleratedCompositingEnabled(false);
- char* debugVisualsEnvironment = getenv("WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS");
- bool showDebugVisuals = debugVisualsEnvironment && !strcmp(debugVisualsEnvironment, "1");
- priv->pageSettings->setShowDebugBorders(showDebugVisuals);
- priv->pageSettings->setShowRepaintCounter(showDebugVisuals);
-#endif
-
- url = priv->pageSettings->userStyleSheetLocation();
- priv->settings.userStylesheet = eina_stringshare_add(url.string().utf8().data());
-
- priv->settings.encodingDefault = eina_stringshare_add
- (priv->pageSettings->defaultTextEncodingName().utf8().data());
- priv->settings.encodingCustom = 0;
-
- string = priv->pageSettings->localStorageDatabasePath();
- priv->settings.localStorageDatabasePath = eina_stringshare_add(string.string().utf8().data());
-
- priv->settings.fontMinimumSize = priv->pageSettings->minimumFontSize();
- priv->settings.fontMinimumLogicalSize = priv->pageSettings->minimumLogicalFontSize();
- priv->settings.fontDefaultSize = priv->pageSettings->defaultFontSize();
- priv->settings.fontMonospaceSize = priv->pageSettings->defaultFixedFontSize();
-
- string = priv->pageSettings->standardFontFamily();
- priv->settings.fontStandard = eina_stringshare_add(string.string().utf8().data());
- string = priv->pageSettings->cursiveFontFamily();
- priv->settings.fontCursive = eina_stringshare_add(string.string().utf8().data());
- string = priv->pageSettings->fixedFontFamily();
- priv->settings.fontMonospace = eina_stringshare_add(string.string().utf8().data());
- string = priv->pageSettings->fantasyFontFamily();
- priv->settings.fontFantasy = eina_stringshare_add(string.string().utf8().data());
- string = priv->pageSettings->serifFontFamily();
- priv->settings.fontSerif = eina_stringshare_add(string.string().utf8().data());
- string = priv->pageSettings->sansSerifFontFamily();
- priv->settings.fontSansSerif = eina_stringshare_add(string.string().utf8().data());
-
- priv->settings.autoLoadImages = priv->pageSettings->loadsImagesAutomatically();
- priv->settings.autoShrinkImages = priv->pageSettings->shrinksStandaloneImagesToFit();
- priv->settings.enableAutoResizeWindow = true;
- priv->settings.enableDeveloperExtras = priv->pageSettings->developerExtrasEnabled();
- priv->settings.enableScripts = priv->pageSettings->isScriptEnabled();
- priv->settings.enablePlugins = priv->pageSettings->arePluginsEnabled();
- priv->settings.enableFrameFlattening = priv->pageSettings->frameFlatteningEnabled();
-#if ENABLE(FULLSCREEN_API)
- priv->settings.enableFullscreen = priv->pageSettings->fullScreenEnabled();
-#endif
- priv->settings.enableXSSAuditor = priv->pageSettings->xssAuditorEnabled();
- priv->settings.hyperlinkAuditingEnabled = priv->pageSettings->hyperlinkAuditingEnabled();
- priv->settings.scriptsCanOpenWindows = priv->pageSettings->javaScriptCanOpenWindowsAutomatically();
- priv->settings.scriptsCanCloseWindows = priv->pageSettings->allowScriptsToCloseWindows();
-#if ENABLE(VIDEO_TRACK)
- priv->settings.shouldDisplayCaptions = priv->pageSettings->shouldDisplayCaptions();
- priv->settings.shouldDisplaySubtitles = priv->pageSettings->shouldDisplaySubtitles();
- priv->settings.shouldDisplayTextDescriptions = priv->pageSettings->shouldDisplayTextDescriptions();
-#endif
- priv->settings.scriptsCanAccessClipboard = priv->pageSettings->javaScriptCanAccessClipboard() && priv->pageSettings->DOMPasteAllowed();
- priv->settings.resizableTextareas = priv->pageSettings->textAreasAreResizable();
- priv->settings.privateBrowsing = priv->pageSettings->privateBrowsingEnabled();
- priv->settings.caretBrowsing = priv->pageSettings->caretBrowsingEnabled();
- priv->settings.spatialNavigation = priv->pageSettings->spatialNavigationEnabled();
- priv->settings.localStorage = priv->pageSettings->localStorageEnabled();
- priv->settings.offlineAppCache = true; // XXX no function to read setting; this keeps the original setting
- priv->settings.pageCache = priv->pageSettings->usesPageCache();
- priv->settings.encodingDetector = priv->pageSettings->usesEncodingDetector();
- priv->settings.webGLEnabled = priv->pageSettings->webGLEnabled();
- priv->settings.tabsToLinks = true;
-
- priv->settings.userAgent = 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.
- priv->settings.zoomRange.minScale = zoomMinimum;
- priv->settings.zoomRange.maxScale = zoomMaximum;
- priv->settings.zoomRange.userScalable = true;
-
- priv->settings.domTimerInterval = priv->pageSettings->defaultMinDOMTimerInterval();
-
- priv->settings.allowUniversalAccessFromFileURLs = priv->pageSettings->allowUniversalAccessFromFileURLs();
- priv->settings.allowFileAccessFromFileURLs = priv->pageSettings->allowFileAccessFromFileURLs();
-
- priv->mainFrame = _ewk_view_core_frame_new(smartData, priv, 0).get();
-
- priv->history = ewk_history_new(static_cast<WebCore::BackForwardListImpl*>(priv->page->backForwardList()));
-
- priv->storageSession = &WebCore::NetworkStorageSession::defaultStorageSession();
-
- priv->pageClient = adoptPtr(new PageClientEfl(smartData->self));
-
-#ifdef HAVE_ECORE_X
- priv->isUsingEcoreX = WebCore::isUsingEcoreX(smartData->base.evas);
-#endif
-
-#if ENABLE(CONTEXT_MENUS)
- priv->contextMenu = 0;
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
- priv->isCompositingActive = false;
-#endif
-
- return priv;
-}
-
-static void _ewk_view_priv_del(Ewk_View_Private_Data* priv)
-{
- if (!priv)
- return;
-
- /* do not delete priv->main_frame */
-
- free(priv->repaints.array);
-
- eina_stringshare_del(priv->settings.userAgent);
- eina_stringshare_del(priv->settings.userStylesheet);
- eina_stringshare_del(priv->settings.encodingDefault);
- eina_stringshare_del(priv->settings.encodingCustom);
- eina_stringshare_del(priv->settings.fontStandard);
- eina_stringshare_del(priv->settings.fontCursive);
- eina_stringshare_del(priv->settings.fontMonospace);
- eina_stringshare_del(priv->settings.fontFantasy);
- eina_stringshare_del(priv->settings.fontSerif);
- eina_stringshare_del(priv->settings.fontSansSerif);
- eina_stringshare_del(priv->settings.localStorageDatabasePath);
-
- if (priv->animatedZoom.animator)
- ecore_animator_del(priv->animatedZoom.animator);
-
- ewk_history_free(priv->history);
-
- if (priv->cursorObject)
- evas_object_del(priv->cursorObject);
-
-#if ENABLE(CONTEXT_MENUS)
- if (priv->contextMenu)
- ewk_context_menu_free(priv->contextMenu);
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
- priv->acceleratedCompositingContext = nullptr;
-#endif
-
- delete priv;
-}
-
-static void _ewk_view_smart_add(Evas_Object* ewkView)
-{
- const Evas_Smart* smart = evas_object_smart_smart_get(ewkView);
- const Evas_Smart_Class* smartClass = evas_smart_class_get(smart);
- const Ewk_View_Smart_Class* api = reinterpret_cast<const Ewk_View_Smart_Class*>(smartClass);
- EINA_SAFETY_ON_NULL_RETURN(api->backing_store_add);
- EWK_VIEW_SD_GET(ewkView, smartData);
-
- if (!smartData) {
- smartData = static_cast<Ewk_View_Smart_Data*>(calloc(1, sizeof(Ewk_View_Smart_Data)));
- if (!smartData) {
- CRITICAL("could not allocate Ewk_View_Smart_Data");
- return;
- }
- evas_object_smart_data_set(ewkView, smartData);
- }
-
- smartData->bg_color.r = 255;
- smartData->bg_color.g = 255;
- smartData->bg_color.b = 255;
- smartData->bg_color.a = 255;
-
- smartData->self = ewkView;
- smartData->api = api;
-
- _parent_sc.add(ewkView);
-
- smartData->_priv = _ewk_view_priv_new(smartData);
- if (!smartData->_priv)
- return;
-
- EWK_VIEW_PRIV_GET(smartData, priv);
-
- smartData->backing_store = api->backing_store_add(smartData);
- if (!smartData->backing_store) {
- ERR("Could not create backing store object.");
- return;
- }
-
- evas_object_smart_member_add(smartData->backing_store, ewkView);
- evas_object_show(smartData->backing_store);
- evas_object_pass_events_set(smartData->backing_store, true);
-
- smartData->events_rect = evas_object_rectangle_add(smartData->base.evas);
- evas_object_color_set(smartData->events_rect, 0, 0, 0, 0);
- evas_object_smart_member_add(smartData->events_rect, ewkView);
- evas_object_show(smartData->events_rect);
-
- smartData->main_frame = ewk_frame_add(smartData->base.evas);
- if (!smartData->main_frame) {
- ERR("Could not create main frame object.");
- return;
- }
-
- if (!ewk_frame_init(smartData->main_frame, ewkView, priv->mainFrame)) {
- ERR("Could not initialize main frme object.");
- evas_object_del(smartData->main_frame);
- smartData->main_frame = 0;
-
- delete priv->mainFrame;
- priv->mainFrame = 0;
- return;
- }
-
- evas_object_name_set(smartData->main_frame, "EWK_Frame:main");
- evas_object_smart_member_add(smartData->main_frame, ewkView);
- evas_object_show(smartData->main_frame);
-
-#define CONNECT(s, c) evas_object_event_callback_add(ewkView, s, c, smartData)
- CONNECT(EVAS_CALLBACK_FOCUS_IN, _ewk_view_on_focus_in);
- CONNECT(EVAS_CALLBACK_FOCUS_OUT, _ewk_view_on_focus_out);
- CONNECT(EVAS_CALLBACK_MOUSE_WHEEL, _ewk_view_on_mouse_wheel);
- CONNECT(EVAS_CALLBACK_MOUSE_DOWN, _ewk_view_on_mouse_down);
- CONNECT(EVAS_CALLBACK_MOUSE_UP, _ewk_view_on_mouse_up);
- CONNECT(EVAS_CALLBACK_MOUSE_MOVE, _ewk_view_on_mouse_move);
- CONNECT(EVAS_CALLBACK_KEY_DOWN, _ewk_view_on_key_down);
- CONNECT(EVAS_CALLBACK_KEY_UP, _ewk_view_on_key_up);
-#undef CONNECT
-}
-
-static void _ewk_view_smart_del(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET(ewkView, smartData);
- Ewk_View_Private_Data* priv = smartData ? smartData->_priv : 0;
-
- ewk_view_stop(ewkView);
- _parent_sc.del(ewkView);
- _ewk_view_priv_del(priv);
-}
-
-static void _ewk_view_smart_resize(Evas_Object* ewkView, Evas_Coord w, Evas_Coord h)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
-
- // these should be queued and processed in calculate as well!
- evas_object_resize(smartData->backing_store, w, h);
-
- smartData->changed.size = true;
- _ewk_view_smart_changed(smartData);
-}
-
-static void _ewk_view_smart_move(Evas_Object* ewkView, Evas_Coord /*x*/, Evas_Coord /*y*/)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- smartData->changed.position = true;
- _ewk_view_smart_changed(smartData);
-}
-
-static void _ewk_view_smart_calculate(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET(ewkView, smartData);
- EWK_VIEW_PRIV_GET(smartData, priv);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->contents_resize);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->scrolls_process);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->repaints_process);
- Evas_Coord x, y, width, height;
-
- smartData->changed.any = false;
-
- if (!smartData->main_frame || !priv->mainFrame)
- return;
-
- evas_object_geometry_get(ewkView, &x, &y, &width, &height);
-
- DBG("ewkView=%p geo=[%d, %d + %dx%d], changed: size=%huu",
- ewkView, x, y, width, height, smartData->changed.size);
-
- if (smartData->changed.size && ((width != smartData->view.w) || (height != smartData->view.h))) {
- WebCore::FrameView* view = priv->mainFrame->view();
- if (view) {
- view->resize(width, height);
- view->forceLayout();
- view->adjustViewSize();
- }
- evas_object_resize(smartData->main_frame, width, height);
- evas_object_resize(smartData->events_rect, width, height);
- smartData->changed.frame_rect = true;
- smartData->view.w = width;
- smartData->view.h = height;
-
- _ewk_view_repaint_add(priv, 0, 0, width, height);
-
- // This callback is a good place e.g. to change fixed layout size (ewk_view_fixed_layout_size_set).
- evas_object_smart_callback_call(ewkView, "view,resized", 0);
- }
- smartData->changed.size = false;
-
- if (smartData->changed.position && ((x != smartData->view.x) || (y != smartData->view.y))) {
- evas_object_move(smartData->main_frame, x, y);
- evas_object_move(smartData->backing_store, x, y);
- evas_object_move(smartData->events_rect, x, y);
- smartData->changed.frame_rect = true;
- smartData->view.x = x;
- smartData->view.y = y;
- }
- smartData->changed.position = false;
-
- if (!smartData->api->scrolls_process(smartData))
- ERR("failed to process scrolls.");
- _ewk_view_scrolls_flush(priv);
-
- if (!smartData->api->repaints_process(smartData))
- ERR("failed to process repaints.");
-
- if (smartData->changed.frame_rect) {
- WebCore::FrameView* view = priv->mainFrame->view();
- view->frameRectsChanged(); /* force tree to get position from root */
- smartData->changed.frame_rect = false;
- }
-}
-
-static void _ewk_view_smart_show(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
-
- if (evas_object_clipees_get(smartData->base.clipper))
- evas_object_show(smartData->base.clipper);
- evas_object_show(smartData->backing_store);
-}
-
-static void _ewk_view_smart_hide(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
-
- evas_object_hide(smartData->base.clipper);
- evas_object_hide(smartData->backing_store);
-}
-
-static Eina_Bool _ewk_view_smart_contents_resize(Ewk_View_Smart_Data*, int /*width*/, int /*height*/)
-{
- return true;
-}
-
-static Eina_Bool _ewk_view_smart_zoom_set(Ewk_View_Smart_Data* smartData, float zoom, Evas_Coord centerX, Evas_Coord centerY)
-{
- double px, py;
- Evas_Coord x, y, width, height;
- Eina_Bool result;
-
- ewk_frame_scroll_size_get(smartData->main_frame, &width, &height);
- ewk_frame_scroll_pos_get(smartData->main_frame, &x, &y);
-
- if (width + smartData->view.w > 0)
- px = static_cast<double>(x + centerX) / (width + smartData->view.w);
- else
- px = 0.0;
-
- if (height + smartData->view.h > 0)
- py = static_cast<double>(y + centerY) / (height + smartData->view.h);
- else
- py = 0.0;
-
- result = ewk_frame_page_zoom_set(smartData->main_frame, zoom);
-
- ewk_frame_scroll_size_get(smartData->main_frame, &width, &height);
- x = (width + smartData->view.w) * px - centerX;
- y = (height + smartData->view.h) * py - centerY;
- ewk_frame_scroll_set(smartData->main_frame, x, y);
- return result;
-}
-
-static void _ewk_view_smart_flush(Ewk_View_Smart_Data* smartData)
-{
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
- _ewk_view_repaints_flush(priv);
- _ewk_view_scrolls_flush(priv);
-}
-
-static Eina_Bool _ewk_view_smart_pre_render_region(Ewk_View_Smart_Data* smartData, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height, float zoom)
-{
- WARN("not supported by engine. smartData=%p area=%d,%d+%dx%d, zoom=%f",
- smartData, x, y, width, height, zoom);
- return false;
-}
-
-static Eina_Bool _ewk_view_smart_pre_render_relative_radius(Ewk_View_Smart_Data* smartData, unsigned int number, float zoom)
-{
- WARN("not supported by engine. smartData=%p, n=%u zoom=%f",
- smartData, number, zoom);
- return false;
-}
-
-static Eina_Bool _ewk_view_smart_pre_render_start(Ewk_View_Smart_Data* smartData)
-{
- WARN("not supported by engine. smartData=%p", smartData);
- return false;
-}
-
-static void _ewk_view_smart_pre_render_cancel(Ewk_View_Smart_Data* smartData)
-{
- WARN("not supported by engine. smartData=%p", smartData);
-}
-
-static void _ewk_view_zoom_animated_mark_stop(Ewk_View_Smart_Data* smartData)
-{
- smartData->animated_zoom.zoom.start = 0.0;
- smartData->animated_zoom.zoom.end = 0.0;
- smartData->animated_zoom.zoom.current = 0.0;
-}
-
-static void _ewk_view_zoom_animated_finish(Ewk_View_Smart_Data* smartData)
-{
- EWK_VIEW_PRIV_GET(smartData, priv);
- ecore_animator_del(priv->animatedZoom.animator);
- priv->animatedZoom.animator = 0;
- _ewk_view_zoom_animated_mark_stop(smartData);
- evas_object_smart_callback_call(smartData->self, "zoom,animated,end", 0);
-}
-
-static float _ewk_view_zoom_animated_current(Ewk_View_Private_Data* priv)
-{
- double now = ecore_loop_time_get();
- double delta = now - priv->animatedZoom.time.start;
-
- if (delta > priv->animatedZoom.time.duration)
- delta = priv->animatedZoom.time.duration;
- if (delta < 0.0) // time went back, clock adjusted?
- delta = 0.0;
-
- delta /= priv->animatedZoom.time.duration;
-
- return ((priv->animatedZoom.zoom.range * delta)
- + priv->animatedZoom.zoom.start);
-}
-
-static Eina_Bool _ewk_view_zoom_animator_cb(void* data)
-{
- Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(data);
- Evas_Coord centerX, centerY;
- EWK_VIEW_PRIV_GET(smartData, priv);
- double now = ecore_loop_time_get();
-
- centerX = priv->animatedZoom.center.x;
- centerY = priv->animatedZoom.center.y;
-
- // TODO: progressively center (cx, cy) -> (view.x + view.h/2, view.y + view.h/2)
- if (centerX >= smartData->view.w)
- centerX = smartData->view.w - 1;
- if (centerY >= smartData->view.h)
- centerY = smartData->view.h - 1;
-
- if ((now >= priv->animatedZoom.time.end)
- || (now < priv->animatedZoom.time.start)) {
- _ewk_view_zoom_animated_finish(smartData);
- ewk_view_zoom_set(smartData->self, priv->animatedZoom.zoom.end, centerX, centerY);
- smartData->api->sc.calculate(smartData->self);
- return false;
- }
-
- smartData->animated_zoom.zoom.current = _ewk_view_zoom_animated_current(priv);
- smartData->api->zoom_weak_set(smartData, smartData->animated_zoom.zoom.current, centerX, centerY);
- return true;
-}
-
-static void _ewk_view_zoom_animation_start(Ewk_View_Smart_Data* smartData)
-{
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
- if (priv->animatedZoom.animator)
- return;
- priv->animatedZoom.animator = ecore_animator_add
- (_ewk_view_zoom_animator_cb, smartData);
-}
-
-static WebCore::ViewportAttributes _ewk_view_viewport_attributes_compute(Ewk_View_Private_Data* priv)
-{
- int desktopWidth = 980;
- WebCore::IntRect availableRect = enclosingIntRect(priv->page->chrome().client()->pageRect());
- WebCore::IntRect deviceRect = enclosingIntRect(priv->page->chrome().client()->windowRect());
-
- WebCore::ViewportAttributes attributes = WebCore::computeViewportAttributes(priv->viewportArguments, desktopWidth, deviceRect.width(), deviceRect.height(), priv->page->deviceScaleFactor(), availableRect.size());
- WebCore::restrictMinimumScaleFactorToViewportSize(attributes, availableRect.size(), priv->page->deviceScaleFactor());
- WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable(attributes);
-
- return attributes;
-}
-
-static Eina_Bool _ewk_view_smart_disable_render(Ewk_View_Smart_Data* smartData)
-{
- WARN("not supported by engine. smartData=%p", smartData);
- return false;
-}
-
-static Eina_Bool _ewk_view_smart_enable_render(Ewk_View_Smart_Data* smartData)
-{
- WARN("not supported by engine. smartData=%p", smartData);
- return false;
-}
-
-static const char* _ewk_view_editor_command_string_get(Ewk_View_Private_Data*, Ewk_Editor_Command ewkCommand)
-{
- static OwnPtr<Eina_Hash> editorCommandHash;
-
- if (!editorCommandHash) {
- editorCommandHash = adoptPtr(eina_hash_int32_new(0));
- for (int i = 0; editorCommands[i].ewkEditorCommand != EWK_EDITOR_COMMAND_NONE; i++)
- eina_hash_add(editorCommandHash.get(), &editorCommands[i].ewkEditorCommand, editorCommands[i].editorCommandString);
- }
- return reinterpret_cast<const char*>(eina_hash_find(editorCommandHash.get(), &ewkCommand));
-}
-
-Eina_Bool ewk_view_base_smart_set(Ewk_View_Smart_Class* api)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(api, false);
-
- if (api->version != EWK_VIEW_SMART_CLASS_VERSION) {
- EINA_LOG_CRIT
- ("Ewk_View_Smart_Class %p is version %lu while %lu was expected.",
- api, api->version, EWK_VIEW_SMART_CLASS_VERSION);
- return false;
- }
-
- if (EINA_UNLIKELY(!_parent_sc.add))
- evas_object_smart_clipped_smart_set(&_parent_sc);
-
- evas_object_smart_clipped_smart_set(&api->sc);
- api->sc.add = _ewk_view_smart_add;
- api->sc.del = _ewk_view_smart_del;
- api->sc.resize = _ewk_view_smart_resize;
- api->sc.move = _ewk_view_smart_move;
- api->sc.calculate = _ewk_view_smart_calculate;
- api->sc.show = _ewk_view_smart_show;
- api->sc.hide = _ewk_view_smart_hide;
- api->sc.data = ewkViewTypeString; /* used by type checking */
- api->sc.callbacks = _ewk_view_callback_names;
-
- api->contents_resize = _ewk_view_smart_contents_resize;
- api->zoom_set = _ewk_view_smart_zoom_set;
- api->flush = _ewk_view_smart_flush;
- api->pre_render_region = _ewk_view_smart_pre_render_region;
- api->pre_render_relative_radius = _ewk_view_smart_pre_render_relative_radius;
- api->pre_render_start = _ewk_view_smart_pre_render_start;
- api->pre_render_cancel = _ewk_view_smart_pre_render_cancel;
- api->disable_render = _ewk_view_smart_disable_render;
- api->enable_render = _ewk_view_smart_enable_render;
-
- api->focus_in = _ewk_view_smart_focus_in;
- api->focus_out = _ewk_view_smart_focus_out;
- api->mouse_wheel = _ewk_view_smart_mouse_wheel;
- api->mouse_down = _ewk_view_smart_mouse_down;
- api->mouse_up = _ewk_view_smart_mouse_up;
- api->mouse_move = _ewk_view_smart_mouse_move;
- api->key_down = _ewk_view_smart_key_down;
- api->key_up = _ewk_view_smart_key_up;
-
- api->add_console_message = _ewk_view_smart_add_console_message;
- api->run_javascript_alert = _ewk_view_smart_run_javascript_alert;
- api->run_javascript_confirm = _ewk_view_smart_run_javascript_confirm;
- api->run_before_unload_confirm = _ewk_view_smart_run_before_unload_confirm;
- api->run_javascript_prompt = _ewk_view_smart_run_javascript_prompt;
- api->should_interrupt_javascript = _ewk_view_smart_should_interrupt_javascript;
-
- return true;
-}
-
-void ewk_view_fixed_layout_size_set(Evas_Object* ewkView, Evas_Coord width, Evas_Coord height)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- WebCore::FrameView* view = priv->mainFrame->view();
- if (!view)
- return;
-
- WebCore::IntSize layoutSize(width, height);
- if (layoutSize.width() <= 0 && layoutSize.height() <= 0) {
- if (!view->useFixedLayout())
- return;
- view->setUseFixedLayout(false);
- } else {
- WebCore::IntSize fixedLayoutSize = view->fixedLayoutSize();
- if (fixedLayoutSize == layoutSize)
- return;
- view->setFixedLayoutSize(layoutSize);
- view->setUseFixedLayout(true);
- }
-
- view->setNeedsLayout();
-}
-
-void ewk_view_fixed_layout_size_get(const Evas_Object* ewkView, Evas_Coord* width, Evas_Coord* height)
-{
- if (width)
- *width = 0;
- if (height)
- *height = 0;
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
- WebCore::FrameView* view = priv->mainFrame->view();
- if (view->useFixedLayout()) {
- WebCore::IntSize size = view->fixedLayoutSize();
- if (width)
- *width = size.width();
- if (height)
- *height = size.height();
- }
-}
-
-void ewk_view_theme_set(Evas_Object* ewkView, const char* path)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
- if (!eina_stringshare_replace(&priv->settings.theme, path))
- return;
-
- WebCore::RenderThemeEfl* theme = static_cast<WebCore::RenderThemeEfl*>(priv->page->theme());
- theme->setThemePath(path);
-}
-
-const char* ewk_view_theme_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->settings.theme;
-}
-
-Evas_Object* ewk_view_frame_main_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- return smartData->main_frame;
-}
-
-Evas_Object* ewk_view_frame_focused_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
-
- WebCore::Frame* core = priv->page->focusController()->focusedFrame();
- if (!core)
- return 0;
-
- WebCore::FrameLoaderClientEfl* client = static_cast<WebCore::FrameLoaderClientEfl*>(core->loader()->client());
- if (!client)
- return 0;
- return client->webFrame();
-}
-
-Eina_Bool ewk_view_uri_set(Evas_Object* ewkView, const char* uri)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_uri_set(smartData->main_frame, uri);
-}
-
-const char* ewk_view_uri_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- return ewk_frame_uri_get(smartData->main_frame);
-}
-
-const Ewk_Text_With_Direction* ewk_view_title_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- return ewk_frame_title_get(smartData->main_frame);
-}
-
-Eina_Bool ewk_view_editable_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_editable_get(smartData->main_frame);
-}
-
-void ewk_view_bg_color_set(Evas_Object* ewkView, int red, int green, int blue, int alpha)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->bg_color_set);
-
- if (alpha < 0) {
- WARN("Alpha less than zero (%d).", alpha);
- alpha = 0;
- } else if (alpha > 255) {
- WARN("Alpha is larger than 255 (%d).", alpha);
- alpha = 255;
- }
-
-#define CHECK_PREMUL_COLOR(color, alpha) \
- if (color < 0) { \
- WARN("Color component " #color " is less than zero (%d).", color); \
- color = 0; \
- } else if (color > alpha) { \
- WARN("Color component " #color " is greater than alpha (%d, alpha=%d).", \
- color, alpha); \
- color = alpha; \
- }
- CHECK_PREMUL_COLOR(red, alpha);
- CHECK_PREMUL_COLOR(green, alpha);
- CHECK_PREMUL_COLOR(blue, alpha);
-#undef CHECK_PREMUL_COLOR
-
- smartData->bg_color.r = red;
- smartData->bg_color.g = green;
- smartData->bg_color.b = blue;
- smartData->bg_color.a = alpha;
-
- smartData->api->bg_color_set(smartData, red, green, blue, alpha);
-
- WebCore::FrameView* view = smartData->_priv->mainFrame->view();
- if (view) {
- WebCore::Color color;
-
- if (!alpha)
- color = WebCore::Color(0, 0, 0, 0);
- else if (alpha == 255)
- color = WebCore::Color(red, green, blue, alpha);
- else
- color = WebCore::Color(red * 255 / alpha, green * 255 / alpha, blue * 255 / alpha, alpha);
-
- view->updateBackgroundRecursively(color, !alpha);
- }
-}
-
-void ewk_view_bg_color_get(const Evas_Object* ewkView, int* red, int* green, int* blue, int* alpha)
-{
- if (red)
- *red = 0;
- if (green)
- *green = 0;
- if (blue)
- *blue = 0;
- if (alpha)
- *alpha = 0;
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- if (red)
- *red = smartData->bg_color.r;
- if (green)
- *green = smartData->bg_color.g;
- if (blue)
- *blue = smartData->bg_color.b;
- if (alpha)
- *alpha = smartData->bg_color.a;
-}
-
-Eina_Bool ewk_view_text_search(const Evas_Object* ewkView, const char* string, Eina_Bool caseSensitive, Eina_Bool forward, Eina_Bool wrap)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(string, false);
- WTF::TextCaseSensitivity sensitive;
- WebCore::FindDirection direction;
-
- if (caseSensitive)
- sensitive = WTF::TextCaseSensitive;
- else
- sensitive = WTF::TextCaseInsensitive;
-
- if (forward)
- direction = WebCore::FindDirectionForward;
- else
- direction = WebCore::FindDirectionBackward;
-
- return priv->page->findString(String::fromUTF8(string), sensitive, direction, wrap);
-}
-
-/**
- * Mark matches the given text string in document.
- *
- * @param ewkView view object where to search text.
- * @param string reference string to match.
- * @param caseSensitive if match should be case sensitive or not.
- * @param heightighlight if matches should be highlighted.
- * @param limit maximum amount of matches, or zero to unlimited.
- *
- * @return number of matches.
- */
-unsigned int ewk_view_text_matches_mark(Evas_Object* ewkView, const char* string, Eina_Bool caseSensitive, Eina_Bool highlight, unsigned int limit)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(string, 0);
- WTF::TextCaseSensitivity sensitive;
-
- if (caseSensitive)
- sensitive = WTF::TextCaseSensitive;
- else
- sensitive = WTF::TextCaseInsensitive;
-
- return priv->page->markAllMatchesForText(String::fromUTF8(string), sensitive, highlight, limit);
-}
-
-Eina_Bool ewk_view_text_matches_unmark_all(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->page->unmarkAllTextMatches();
- return true;
-}
-
-Eina_Bool ewk_view_text_matches_highlight_set(Evas_Object* ewkView, Eina_Bool highlight)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_text_matches_highlight_set(smartData->main_frame, highlight);
-}
-
-Eina_Bool ewk_view_text_matches_highlight_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_text_matches_highlight_get(smartData->main_frame);
-}
-
-Eina_Bool ewk_view_editable_set(Evas_Object* ewkView, Eina_Bool editable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_editable_set(smartData->main_frame, editable);
-}
-
-const char* ewk_view_selection_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- CString selectedString = priv->page->focusController()->focusedOrMainFrame()->editor().selectedText().utf8();
- if (selectedString.isNull())
- return 0;
- return eina_stringshare_add(selectedString.data());
-}
-
-Eina_Bool ewk_view_editor_command_execute(const Evas_Object* ewkView, const Ewk_Editor_Command command, const char* value)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- const char* commandString = _ewk_view_editor_command_string_get(priv, command);
- if (!commandString)
- return false;
-
- return priv->page->focusController()->focusedOrMainFrame()->editor().command(commandString).execute(WTF::String::fromUTF8(value));
-}
-
-Eina_Bool ewk_view_context_menu_forward_event(Evas_Object* ewkView, const Evas_Event_Mouse_Down* downEvent)
-{
-#if ENABLE(CONTEXT_MENUS)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- Eina_Bool mouse_press_handled = false;
-
- priv->page->contextMenuController()->clearContextMenu();
- if (priv->contextMenu)
- ewk_context_menu_free(priv->contextMenu);
-
- WebCore::Frame* mainFrame = priv->page->mainFrame();
- Evas_Coord x, y;
- evas_object_geometry_get(smartData->self, &x, &y, 0, 0);
-
- WebCore::PlatformMouseEvent event(downEvent, WebCore::IntPoint(x, y));
-
- if (mainFrame->view()) {
- mouse_press_handled =
- mainFrame->eventHandler()->handleMousePressEvent(event);
- }
-
- if (!mainFrame->eventHandler()->sendContextMenuEvent(event))
- return false;
-
- WebCore::ContextMenu* coreMenu =
- priv->page->contextMenuController()->contextMenu();
- if (!coreMenu) {
- // WebCore decided not to create a context menu, return true if event
- // was handled by handleMouseReleaseEvent
- return mouse_press_handled;
- }
-
- priv->contextMenu = ewk_context_menu_new(ewkView, priv->page->contextMenuController(), coreMenu);
- if (!priv->contextMenu)
- return false;
-
- ewk_context_menu_show(priv->contextMenu);
-
- return true;
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(downEvent);
- return false;
-#endif
-}
-
-double ewk_view_load_progress_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1.0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, -1.0);
- return priv->page->progress()->estimatedProgress();
-}
-
-Eina_Bool ewk_view_stop(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_stop(smartData->main_frame);
-}
-
-Eina_Bool ewk_view_reload(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_reload(smartData->main_frame);
-}
-
-Eina_Bool ewk_view_reload_full(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_reload_full(smartData->main_frame);
-}
-
-Eina_Bool ewk_view_back(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_back(smartData->main_frame);
-}
-
-Eina_Bool ewk_view_forward(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_forward(smartData->main_frame);
-}
-
-Eina_Bool ewk_view_navigate(Evas_Object* ewkView, int steps)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_navigate(smartData->main_frame, steps);
-}
-
-Eina_Bool ewk_view_back_possible(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_back_possible(smartData->main_frame);
-}
-
-Eina_Bool ewk_view_forward_possible(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_forward_possible(smartData->main_frame);
-}
-
-Eina_Bool ewk_view_navigate_possible(Evas_Object* ewkView, int steps)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_navigate_possible(smartData->main_frame, steps);
-}
-
-Eina_Bool ewk_view_history_enable_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return static_cast<WebCore::BackForwardListImpl*>(priv->page->backForwardList())->enabled();
-}
-
-Eina_Bool ewk_view_history_enable_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- static_cast<WebCore::BackForwardListImpl*>(priv->page->backForwardList())->setEnabled(enable);
- return true;
-}
-
-Ewk_History* ewk_view_history_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- if (!static_cast<WebCore::BackForwardListImpl*>(priv->page->backForwardList())->enabled()) {
- ERR("asked history, but it's disabled! Returning 0!");
- return 0;
- }
- return priv->history;
-}
-
-Eina_Bool ewk_view_visited_link_add(Evas_Object* ewkView, const char* visitedUrl)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(priv->page, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(priv->page->groupPtr(), false);
-
- WebCore::KURL kurl(WebCore::KURL(), WTF::String::fromUTF8(visitedUrl));
- priv->page->groupPtr()->addVisitedLink(kurl);
- return true;
-}
-
-float ewk_view_zoom_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1.0);
- return ewk_frame_page_zoom_get(smartData->main_frame);
-}
-
-Eina_Bool ewk_view_zoom_set(Evas_Object* ewkView, float zoom, Evas_Coord centerX, Evas_Coord centerY)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET(smartData, priv);
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api->zoom_set, false);
-
- if (!priv->settings.zoomRange.userScalable) {
- WARN("userScalable is false");
- return false;
- }
-
- if (zoom < priv->settings.zoomRange.minScale) {
- WARN("zoom level is < %f : %f", priv->settings.zoomRange.minScale, zoom);
- return false;
- }
- if (zoom > priv->settings.zoomRange.maxScale) {
- WARN("zoom level is > %f : %f", priv->settings.zoomRange.maxScale, zoom);
- return false;
- }
-
- _ewk_view_zoom_animated_mark_stop(smartData);
- return smartData->api->zoom_set(smartData, zoom, centerX, centerY);
-}
-
-float ewk_view_page_zoom_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1.0);
- return ewk_frame_page_zoom_get(smartData->main_frame);
-}
-
-Eina_Bool ewk_view_page_zoom_set(Evas_Object* ewkView, float pageZoomFactor)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_page_zoom_set(smartData->main_frame, pageZoomFactor);
-}
-
-float ewk_view_scale_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1.0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, -1.0);
- return priv->page->pageScaleFactor();
-}
-
-Eina_Bool ewk_view_scale_set(Evas_Object* ewkView, float scaleFactor, Evas_Coord scrollX, Evas_Coord scrollY)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- float currentScaleFactor = ewk_view_scale_get(ewkView);
- if (currentScaleFactor == -1)
- return false;
-
- priv->page->setPageScaleFactor(scaleFactor, WebCore::IntPoint(scrollX, scrollY));
- return true;
-}
-
-float ewk_view_text_zoom_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1.0);
- return ewk_frame_text_zoom_get(smartData->main_frame);
-}
-
-Eina_Bool ewk_view_text_zoom_set(Evas_Object* ewkView, float textZoomFactor)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return ewk_frame_text_zoom_set(smartData->main_frame, textZoomFactor);
-}
-
-Eina_Bool ewk_view_zoom_weak_smooth_scale_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- return smartData->zoom_weak_smooth_scale;
-}
-
-void ewk_view_zoom_weak_smooth_scale_set(Evas_Object* ewkView, Eina_Bool smoothScale)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- smoothScale = !!smoothScale;
- if (smartData->zoom_weak_smooth_scale == smoothScale)
- return;
- smartData->zoom_weak_smooth_scale = smoothScale;
- EINA_SAFETY_ON_NULL_RETURN(smartData->api);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->zoom_weak_smooth_scale_set);
- smartData->api->zoom_weak_smooth_scale_set(smartData, smoothScale);
-}
-
-Eina_Bool ewk_view_zoom_weak_set(Evas_Object* ewkView, float zoom, Evas_Coord centerX, Evas_Coord centerY)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET(smartData, priv);
-
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api->zoom_weak_set, false);
-
- if (!priv->settings.zoomRange.userScalable) {
- WARN("userScalable is false");
- return false;
- }
-
- if (zoom < priv->settings.zoomRange.minScale) {
- WARN("zoom level is < %f : %f", priv->settings.zoomRange.minScale, zoom);
- return false;
- }
- if (zoom > priv->settings.zoomRange.maxScale) {
- WARN("zoom level is > %f : %f", priv->settings.zoomRange.maxScale, zoom);
- return false;
- }
-
- smartData->animated_zoom.zoom.start = ewk_frame_page_zoom_get(smartData->main_frame);
- smartData->animated_zoom.zoom.end = zoom;
- smartData->animated_zoom.zoom.current = zoom;
- return smartData->api->zoom_weak_set(smartData, zoom, centerX, centerY);
-}
-
-Eina_Bool ewk_view_zoom_animated_mark_start(Evas_Object* ewkView, float zoom)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- smartData->animated_zoom.zoom.start = zoom;
- return true;
-}
-
-Eina_Bool ewk_view_zoom_animated_mark_end(Evas_Object* ewkView, float zoom)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- smartData->animated_zoom.zoom.end = zoom;
- return true;
-}
-
-Eina_Bool ewk_view_zoom_animated_mark_current(Evas_Object* ewkView, float zoom)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- smartData->animated_zoom.zoom.current = zoom;
- return true;
-}
-
-Eina_Bool ewk_view_zoom_animated_mark_stop(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- _ewk_view_zoom_animated_mark_stop(smartData);
- return true;
-}
-
-Eina_Bool ewk_view_zoom_animated_set(Evas_Object* ewkView, float zoom, float duration, Evas_Coord centerX, Evas_Coord centerY)
-{
- double now;
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api->zoom_weak_set, false);
-
- if (!priv->settings.zoomRange.userScalable) {
- WARN("userScalable is false");
- return false;
- }
-
- if (zoom < priv->settings.zoomRange.minScale) {
- WARN("zoom level is < %f : %f", priv->settings.zoomRange.minScale, zoom);
- return false;
- }
- if (zoom > priv->settings.zoomRange.maxScale) {
- WARN("zoom level is > %f : %f", priv->settings.zoomRange.maxScale, zoom);
- return false;
- }
-
- if (priv->animatedZoom.animator)
- priv->animatedZoom.zoom.start = _ewk_view_zoom_animated_current(priv);
- else {
- priv->animatedZoom.zoom.start = ewk_frame_page_zoom_get(smartData->main_frame);
- _ewk_view_zoom_animation_start(smartData);
- }
-
- if (centerX < 0)
- centerX = 0;
- if (centerY < 0)
- centerY = 0;
-
- now = ecore_loop_time_get();
- priv->animatedZoom.time.start = now;
- priv->animatedZoom.time.end = now + duration;
- priv->animatedZoom.time.duration = duration;
- priv->animatedZoom.zoom.end = zoom;
- priv->animatedZoom.zoom.range = (priv->animatedZoom.zoom.end - priv->animatedZoom.zoom.start);
- priv->animatedZoom.center.x = centerX;
- priv->animatedZoom.center.y = centerY;
- smartData->animated_zoom.zoom.current = priv->animatedZoom.zoom.start;
- smartData->animated_zoom.zoom.start = priv->animatedZoom.zoom.start;
- smartData->animated_zoom.zoom.end = priv->animatedZoom.zoom.end;
-
- return true;
-}
-
-Eina_Bool ewk_view_pre_render_region(Evas_Object* ewkView, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height, float zoom)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api->pre_render_region, false);
- float currentZoom;
- Evas_Coord contentsWidth, contentsHeight;
-
- /* When doing animated zoom it's not possible to call pre-render since it
- * would screw up parameters that animation is currently using
- */
- if (priv->animatedZoom.animator)
- return false;
-
- currentZoom = ewk_frame_page_zoom_get(smartData->main_frame);
-
- if (currentZoom < 0.00001)
- return false;
- if (!ewk_frame_contents_size_get(smartData->main_frame, &contentsWidth, &contentsHeight))
- return false;
-
- contentsWidth *= zoom / currentZoom;
- contentsHeight *= zoom / currentZoom;
- DBG("region %d,%d+%dx%d @ %f contents=%dx%d", x, y, width, height, zoom, contentsWidth, contentsHeight);
-
- if (x + width > contentsWidth)
- width = contentsWidth - x;
-
- if (y + height > contentsHeight)
- height = contentsHeight - y;
-
- if (x < 0) {
- width += x;
- x = 0;
- }
- if (y < 0) {
- height += y;
- y = 0;
- }
-
- return smartData->api->pre_render_region(smartData, x, y, width, height, zoom);
-}
-
-Eina_Bool ewk_view_pre_render_relative_radius(Evas_Object* ewkView, unsigned int number)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api->pre_render_relative_radius, false);
- float currentZoom;
-
- if (priv->animatedZoom.animator)
- return false;
-
- currentZoom = ewk_frame_page_zoom_get(smartData->main_frame);
- return smartData->api->pre_render_relative_radius(smartData, number, currentZoom);
-}
-
-Eina_Bool ewk_view_pre_render_start(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api->pre_render_start, false);
-
- return smartData->api->pre_render_start(smartData);
-}
-
-unsigned int ewk_view_imh_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->imh;
-}
-
-void ewk_view_pre_render_cancel(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->pre_render_cancel);
- smartData->api->pre_render_cancel(smartData);
-}
-
-Eina_Bool ewk_view_enable_render(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api->enable_render, false);
- return smartData->api->enable_render(smartData);
-}
-
-Eina_Bool ewk_view_disable_render(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api->disable_render, false);
- return smartData->api->disable_render(smartData);
-}
-
-const char* ewk_view_setting_user_agent_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->settings.userAgent;
-}
-
-Eina_Bool ewk_view_setting_user_agent_set(Evas_Object* ewkView, const char* userAgent)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- if (eina_stringshare_replace(&priv->settings.userAgent, userAgent)) {
- WebCore::FrameLoaderClientEfl* client = static_cast<WebCore::FrameLoaderClientEfl*>(priv->mainFrame->loader()->client());
- client->setCustomUserAgent(String::fromUTF8(userAgent));
- }
- return true;
-}
-
-const char* ewk_view_setting_user_stylesheet_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->settings.userStylesheet;
-}
-
-Eina_Bool ewk_view_setting_user_stylesheet_set(Evas_Object* ewkView, const char* uri)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- if (eina_stringshare_replace(&priv->settings.userStylesheet, uri)) {
- WebCore::KURL kurl(WebCore::KURL(), String::fromUTF8(uri));
- priv->pageSettings->setUserStyleSheetLocation(kurl);
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_auto_load_images_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.autoLoadImages;
-}
-
-Eina_Bool ewk_view_setting_auto_load_images_set(Evas_Object* ewkView, Eina_Bool automatic)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- automatic = !!automatic;
- if (priv->settings.autoLoadImages != automatic) {
- priv->pageSettings->setLoadsImagesAutomatically(automatic);
- priv->settings.autoLoadImages = automatic;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_auto_shrink_images_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.autoShrinkImages;
-}
-
-Eina_Bool ewk_view_setting_auto_shrink_images_set(Evas_Object* ewkView, Eina_Bool automatic)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- automatic = !!automatic;
- if (priv->settings.autoShrinkImages != automatic) {
- priv->pageSettings->setShrinksStandaloneImagesToFit(automatic);
- priv->settings.autoShrinkImages = automatic;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_enable_auto_resize_window_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.enableAutoResizeWindow;
-}
-
-Eina_Bool ewk_view_setting_enable_auto_resize_window_set(Evas_Object* ewkView, Eina_Bool resizable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->settings.enableAutoResizeWindow = resizable;
- return true;
-}
-
-Eina_Bool ewk_view_setting_enable_scripts_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.enableScripts;
-}
-
-Eina_Bool ewk_view_setting_enable_scripts_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.enableScripts != enable) {
- priv->pageSettings->setScriptEnabled(enable);
- priv->settings.enableScripts = enable;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_enable_plugins_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.enablePlugins;
-}
-
-Eina_Bool ewk_view_setting_enable_plugins_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.enablePlugins != enable) {
- priv->pageSettings->setPluginsEnabled(enable);
- priv->settings.enablePlugins = enable;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_enable_frame_flattening_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.enableFrameFlattening;
-}
-
-Eina_Bool ewk_view_setting_enable_frame_flattening_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.enableFrameFlattening != enable) {
- priv->pageSettings->setFrameFlatteningEnabled(enable);
- priv->settings.enableFrameFlattening = enable;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_scripts_can_open_windows_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.scriptsCanOpenWindows;
-}
-
-Eina_Bool ewk_view_setting_scripts_can_open_windows_set(Evas_Object* ewkView, Eina_Bool allow)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- allow = !!allow;
- if (priv->settings.scriptsCanOpenWindows != allow) {
- priv->pageSettings->setJavaScriptCanOpenWindowsAutomatically(allow);
- priv->settings.scriptsCanOpenWindows = allow;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_scripts_can_close_windows_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.scriptsCanCloseWindows;
-}
-
-Eina_Bool ewk_view_setting_scripts_can_close_windows_set(Evas_Object* ewkView, Eina_Bool allow)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- allow = !!allow;
- if (priv->settings.scriptsCanCloseWindows != allow) {
- priv->pageSettings->setAllowScriptsToCloseWindows(allow);
- priv->settings.scriptsCanCloseWindows = allow;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_scripts_can_access_clipboard_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.scriptsCanAccessClipboard;
-}
-
-Eina_Bool ewk_view_setting_scripts_can_access_clipboard_set(Evas_Object* ewkView, Eina_Bool allow)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- allow = !!allow;
- if (priv->settings.scriptsCanAccessClipboard != allow) {
- priv->pageSettings->setJavaScriptCanAccessClipboard(allow);
- priv->pageSettings->setDOMPasteAllowed(allow);
- priv->settings.scriptsCanAccessClipboard = allow;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_resizable_textareas_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.resizableTextareas;
-}
-
-Eina_Bool ewk_view_setting_resizable_textareas_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.resizableTextareas != enable) {
- priv->pageSettings->setTextAreasAreResizable(enable);
- priv->settings.resizableTextareas = enable;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_private_browsing_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.privateBrowsing;
-}
-
-Eina_Bool ewk_view_setting_private_browsing_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.privateBrowsing != enable) {
- priv->pageSettings->setPrivateBrowsingEnabled(enable);
- priv->settings.privateBrowsing = enable;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_application_cache_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.offlineAppCache;
-}
-
-Eina_Bool ewk_view_setting_application_cache_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.offlineAppCache != enable) {
- priv->pageSettings->setOfflineWebApplicationCacheEnabled(enable);
- priv->settings.offlineAppCache = enable;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_caret_browsing_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.caretBrowsing;
-}
-
-Eina_Bool ewk_view_setting_caret_browsing_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.caretBrowsing != enable) {
- priv->pageSettings->setCaretBrowsingEnabled(enable);
- priv->settings.caretBrowsing = enable;
- }
- return true;
-}
-
-const char* ewk_view_setting_encoding_custom_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- Evas_Object* main_frame = ewk_view_frame_main_get(ewkView);
- WebCore::Frame* core_frame = EWKPrivate::coreFrame(main_frame);
-
- String overrideEncoding = core_frame->loader()->documentLoader()->overrideEncoding();
-
- if (overrideEncoding.isEmpty())
- return 0;
-
- eina_stringshare_replace(&priv->settings.encodingCustom, overrideEncoding.utf8().data());
- return priv->settings.encodingCustom;
-}
-
-Eina_Bool ewk_view_setting_encoding_custom_set(Evas_Object* ewkView, const char* encoding)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- Evas_Object* main_frame = ewk_view_frame_main_get(ewkView);
- WebCore::Frame* coreFrame = EWKPrivate::coreFrame(main_frame);
- DBG("%s", encoding);
- if (eina_stringshare_replace(&priv->settings.encodingCustom, encoding))
- coreFrame->loader()->reloadWithOverrideEncoding(String::fromUTF8(encoding));
- return true;
-}
-
-const char* ewk_view_setting_encoding_default_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->settings.encodingDefault;
-}
-
-Eina_Bool ewk_view_setting_encoding_default_set(Evas_Object* ewkView, const char* encoding)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- if (eina_stringshare_replace(&priv->settings.encodingDefault, encoding))
- priv->pageSettings->setDefaultTextEncodingName(String::fromUTF8(encoding));
- return true;
-}
-
-Eina_Bool ewk_view_setting_encoding_detector_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.encodingDetector != enable) {
- priv->pageSettings->setUsesEncodingDetector(enable);
- priv->settings.encodingDetector = enable;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_encoding_detector_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.encodingDetector;
-}
-
-Eina_Bool ewk_view_setting_enable_developer_extras_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.enableDeveloperExtras;
-}
-
-Eina_Bool ewk_view_setting_enable_developer_extras_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.enableDeveloperExtras != enable) {
- priv->pageSettings->setDeveloperExtrasEnabled(enable);
- priv->settings.enableDeveloperExtras = enable;
- }
- return true;
-}
-
-int ewk_view_setting_font_minimum_size_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->settings.fontMinimumSize;
-}
-
-Eina_Bool ewk_view_setting_font_minimum_size_set(Evas_Object* ewkView, int size)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- if (priv->settings.fontMinimumSize != size) {
- priv->pageSettings->setMinimumFontSize(size);
- priv->settings.fontMinimumSize = size;
- }
- return true;
-}
-
-int ewk_view_setting_font_minimum_logical_size_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->settings.fontMinimumLogicalSize;
-}
-
-Eina_Bool ewk_view_setting_font_minimum_logical_size_set(Evas_Object* ewkView, int size)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- if (priv->settings.fontMinimumLogicalSize != size) {
- priv->pageSettings->setMinimumLogicalFontSize(size);
- priv->settings.fontMinimumLogicalSize = size;
- }
- return true;
-}
-
-int ewk_view_setting_font_default_size_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->settings.fontDefaultSize;
-}
-
-Eina_Bool ewk_view_setting_font_default_size_set(Evas_Object* ewkView, int size)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- if (priv->settings.fontDefaultSize != size) {
- priv->pageSettings->setDefaultFontSize(size);
- priv->settings.fontDefaultSize = size;
- }
- return true;
-}
-
-int ewk_view_setting_font_monospace_size_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->settings.fontMonospaceSize;
-}
-
-Eina_Bool ewk_view_setting_font_monospace_size_set(Evas_Object* ewkView, int size)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- if (priv->settings.fontMonospaceSize != size) {
- priv->pageSettings->setDefaultFixedFontSize(size);
- priv->settings.fontMonospaceSize = size;
- }
- return true;
-}
-
-const char* ewk_view_font_family_name_get(const Evas_Object* ewkView, Ewk_Font_Family fontFamily)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
-
- switch (fontFamily) {
- case EWK_FONT_FAMILY_STANDARD:
- return priv->settings.fontStandard;
- case EWK_FONT_FAMILY_CURSIVE:
- return priv->settings.fontCursive;
- case EWK_FONT_FAMILY_FANTASY:
- return priv->settings.fontFantasy;
- case EWK_FONT_FAMILY_MONOSPACE:
- return priv->settings.fontMonospace;
- case EWK_FONT_FAMILY_SERIF:
- return priv->settings.fontSerif;
- case EWK_FONT_FAMILY_SANS_SERIF:
- return priv->settings.fontSansSerif;
- }
- return 0;
-}
-
-Eina_Bool ewk_view_font_family_name_set(Evas_Object* ewkView, Ewk_Font_Family fontFamily, const char* name)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- switch (fontFamily) {
- case EWK_FONT_FAMILY_STANDARD:
- eina_stringshare_replace(&priv->settings.fontStandard, name);
- priv->pageSettings->setStandardFontFamily(AtomicString::fromUTF8(name));
- break;
- case EWK_FONT_FAMILY_CURSIVE:
- eina_stringshare_replace(&priv->settings.fontCursive, name);
- priv->pageSettings->setCursiveFontFamily(AtomicString::fromUTF8(name));
- break;
- case EWK_FONT_FAMILY_FANTASY:
- eina_stringshare_replace(&priv->settings.fontFantasy, name);
- priv->pageSettings->setFantasyFontFamily(AtomicString::fromUTF8(name));
- break;
- case EWK_FONT_FAMILY_MONOSPACE:
- eina_stringshare_replace(&priv->settings.fontMonospace, name);
- priv->pageSettings->setFixedFontFamily(AtomicString::fromUTF8(name));
- break;
- case EWK_FONT_FAMILY_SERIF:
- eina_stringshare_replace(&priv->settings.fontSerif, name);
- priv->pageSettings->setSerifFontFamily(AtomicString::fromUTF8(name));
- break;
- case EWK_FONT_FAMILY_SANS_SERIF:
- eina_stringshare_replace(&priv->settings.fontSansSerif, name);
- priv->pageSettings->setSansSerifFontFamily(AtomicString::fromUTF8(name));
- break;
- default:
- return false;
- }
-
- return true;
-}
-
-Eina_Bool ewk_view_setting_spatial_navigation_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.spatialNavigation;
-}
-
-Eina_Bool ewk_view_setting_spatial_navigation_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.spatialNavigation != enable) {
- priv->pageSettings->setSpatialNavigationEnabled(enable);
- priv->settings.spatialNavigation = enable;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_local_storage_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.localStorage;
-}
-
-Eina_Bool ewk_view_setting_local_storage_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.localStorage != enable) {
- priv->pageSettings->setLocalStorageEnabled(enable);
- priv->settings.localStorage = enable;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_page_cache_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.pageCache;
-}
-
-Eina_Bool ewk_view_setting_page_cache_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.pageCache != enable) {
- priv->pageSettings->setUsesPageCache(enable);
- priv->settings.pageCache = enable;
- }
- return true;
-}
-
-const char* ewk_view_setting_local_storage_database_path_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->settings.localStorageDatabasePath;
-}
-
-Eina_Bool ewk_view_setting_local_storage_database_path_set(Evas_Object* ewkView, const char* path)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- if (eina_stringshare_replace(&priv->settings.localStorageDatabasePath, path))
- priv->pageSettings->setLocalStorageDatabasePath(String::fromUTF8(path));
- return true;
-}
-
-Eina_Bool ewk_view_setting_minimum_timer_interval_set(Evas_Object* ewkView, double interval)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- if (fabs(priv->settings.domTimerInterval - interval) >= std::numeric_limits<double>::epsilon()) {
- priv->pageSettings->setMinDOMTimerInterval(interval);
- priv->settings.domTimerInterval = interval;
- }
- return true;
-}
-
-double ewk_view_setting_minimum_timer_interval_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1.0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, -1.0);
- return priv->settings.domTimerInterval;
-}
-
-Eina_Bool ewk_view_setting_enable_webgl_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.webGLEnabled;
-}
-
-Eina_Bool ewk_view_setting_enable_webgl_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.webGLEnabled != enable) {
- priv->pageSettings->setWebGLEnabled(enable);
- priv->settings.webGLEnabled = enable;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_include_links_in_focus_chain_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.tabsToLinks;
-}
-
-Eina_Bool ewk_view_setting_include_links_in_focus_chain_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- priv->settings.tabsToLinks = enable;
- return true;
-}
-
-Eina_Bool ewk_view_setting_enable_hyperlink_auditing_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.hyperlinkAuditingEnabled;
-}
-
-Eina_Bool ewk_view_setting_enable_hyperlink_auditing_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.hyperlinkAuditingEnabled != enable) {
- priv->pageSettings->setHyperlinkAuditingEnabled(enable);
- priv->settings.hyperlinkAuditingEnabled = enable;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_allow_universal_access_from_file_urls_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.allowUniversalAccessFromFileURLs != enable) {
- priv->pageSettings->setAllowUniversalAccessFromFileURLs(enable);
- priv->settings.allowUniversalAccessFromFileURLs = enable;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_allow_universal_access_from_file_urls_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.allowUniversalAccessFromFileURLs;
-}
-
-Eina_Bool ewk_view_setting_allow_file_access_from_file_urls_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.allowFileAccessFromFileURLs != enable) {
- priv->pageSettings->setAllowFileAccessFromFileURLs(enable);
- priv->settings.allowFileAccessFromFileURLs = enable;
- }
- return true;
-}
-
-Eina_Bool ewk_view_setting_allow_file_access_from_file_urls_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.allowFileAccessFromFileURLs;
-}
-
-Ewk_View_Smart_Data* ewk_view_smart_data_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- return smartData;
-}
-
-/**
- * Gets the internal array of repaint requests.
- *
- * This array should not be modified anyhow. It should be processed
- * immediately as any further ewk_view call might change it, like
- * those that add repaints or flush them, so be sure that your code
- * does not call any of those while you process the repaints,
- * otherwise copy the array.
- *
- * @param priv private handle pointer of the view to get repaints.
- * @param count where to return the number of elements of returned array, may be @c 0.
- *
- * @return reference to array of requested repaints.
- *
- * @note this is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-const Eina_Rectangle* ewk_view_repaints_pop(Ewk_View_Private_Data* priv, size_t* count)
-{
- if (count)
- *count = 0;
- EINA_SAFETY_ON_NULL_RETURN_VAL(priv, 0);
- if (count)
- *count = priv->repaints.count;
-
- priv->repaints.count = 0;
-
- return priv->repaints.array;
-}
-
-const Vector<WebCore::IntSize>& ewk_view_scroll_offsets_get(const Ewk_View_Private_Data* priv)
-{
- ASSERT(priv);
- return priv->m_scrollOffsets;
-}
-
-const Vector<WebCore::IntRect>& ewk_view_scroll_rects_get(const Ewk_View_Private_Data* priv)
-{
- ASSERT(priv);
- return priv->m_rectsToScroll;
-}
-
-/**
- * Add a new repaint request to queue.
- *
- * The repaints are assumed to be relative to current viewport.
- *
- * @param priv private handle pointer of the view to add repaint request.
- * @param x horizontal position relative to current view port (scrolled).
- * @param y vertical position relative to current view port (scrolled).
- * @param width width of area to be repainted
- * @param height height of area to be repainted
- *
- * @note this is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-void ewk_view_repaint_add(Ewk_View_Private_Data* priv, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height)
-{
- EINA_SAFETY_ON_NULL_RETURN(priv);
- _ewk_view_repaint_add(priv, x, y, width, height);
-}
-
-/**
- * Do layout if required, applied recursively.
- *
- * @param priv private handle pointer of the view to layout.
- *
- * @note this is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-void ewk_view_layout_if_needed_recursive(Ewk_View_Private_Data* priv)
-{
- EINA_SAFETY_ON_NULL_RETURN(priv);
-
- WebCore::FrameView* view = priv->mainFrame->view();
- if (!view) {
- ERR("no main frame view");
- return;
- }
- view->updateLayoutAndStyleIfNeededRecursive();
-}
-
-void ewk_view_scrolls_process(Ewk_View_Smart_Data* smartData)
-{
- EINA_SAFETY_ON_NULL_RETURN(smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
- if (!smartData->api->scrolls_process(smartData))
- ERR("failed to process scrolls.");
- _ewk_view_scrolls_flush(priv);
-}
-
-Eina_Bool ewk_view_paint(Ewk_View_Private_Data* priv, cairo_t* cr, const Eina_Rectangle* area)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(priv, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(cr, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(area, false);
-
- WebCore::FrameView* view = priv->mainFrame->view();
- EINA_SAFETY_ON_NULL_RETURN_VAL(view, false);
-
- view->updateLayoutAndStyleIfNeededRecursive();
-
- Ewk_Paint_Context* context = ewk_paint_context_new(cr);
- bool result = ewk_view_paint(priv, context, area);
- ewk_paint_context_free(context);
-
- return result;
-}
-
-Eina_Bool ewk_view_paint_contents(Ewk_View_Private_Data* priv, cairo_t* cr, const Eina_Rectangle* area)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(cr, false);
-
- Ewk_Paint_Context* context = ewk_paint_context_new(cr);
- bool result = ewk_view_paint_contents(priv, context, area);
- ewk_paint_context_free(context);
-
- return result;
-}
-
-/* internal methods ****************************************************/
-/**
- * @internal
- * Paints using given graphics context the given area.
- *
- * This uses viewport relative area and will also handle scrollbars
- * and other extra elements. See ewk_view_paint_contents() for the
- * alternative function.
- *
- * @param priv the pointer to the private data of the view to use as paint source
- * @param cr the cairo context to use as paint destination, its state will
- * be saved before operation and restored afterwards
- * @param area viewport relative geometry to paint
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- *
- * @note This is an easy to use version, but internal structures are
- * always created, then graphics context is clipped, then
- * painted, restored and destroyed. This might not be optimum,
- * so using @a Ewk_Paint_Context may be a better solutions
- * for large number of operations.
- *
- * @see ewk_view_paint_contents()
- * @see ewk_paint_context_paint()
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
-*/
-Eina_Bool ewk_view_paint(Ewk_View_Private_Data* priv, Ewk_Paint_Context* context, const Eina_Rectangle* area)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(priv, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(context, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(area, false);
- WebCore::FrameView* view = priv->mainFrame->view();
- EINA_SAFETY_ON_NULL_RETURN_VAL(view, false);
-
- ewk_paint_context_save(context);
- ewk_paint_context_clip(context, area);
- ewk_paint_context_paint(context, view, area);
- ewk_paint_context_restore(context);
-
- return true;
-}
-
-/**
- * @internal
- * Paints just contents using given graphics context the given area.
- *
- * This uses absolute coordinates for area and will just handle
- * contents, no scrollbars or extras. See ewk_view_paint() for the
- * alternative solution.
- *
- * @param priv the pointer to the private data of the view to use as paint source
- * @param cr the cairo context to use as paint destination, its state will
- * be saved before operation and restored afterwards
- * @param area absolute geometry to paint
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- *
- * @note This is an easy to use version, but internal structures are
- * always created, then graphics context is clipped, then
- * painted, restored and destroyed. This might not be optimum,
- * so using @a Ewk_Paint_Context may be a better solutions
- * for large number of operations.
- *
- * @see ewk_view_paint()
- * @see ewk_paint_context_paint_contents()
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-Eina_Bool ewk_view_paint_contents(Ewk_View_Private_Data* priv, Ewk_Paint_Context* context, const Eina_Rectangle* area)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(priv, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(context, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(area, false);
- WebCore::FrameView* view = priv->mainFrame->view();
- EINA_SAFETY_ON_NULL_RETURN_VAL(view, false);
-
- view->updateLayoutAndStyleIfNeededRecursive();
-
- ewk_paint_context_save(context);
- ewk_paint_context_clip(context, area);
- ewk_paint_context_paint_contents(context, view, area);
- ewk_paint_context_restore(context);
-
- return true;
-}
-
-/**
- * @internal
- * Reports the view is ready to be displayed as all elements are aready.
- *
- * Emits signal: "ready" with no parameters.
- */
-void ewk_view_ready(Evas_Object* ewkView)
-{
- DBG("ewkView=%p", ewkView);
- evas_object_smart_callback_call(ewkView, "ready", 0);
-}
-
-/**
- * @internal
- * Reports the state of input method changed. This is triggered, for example
- * when a input field received/lost focus
- *
- * Emits signal: "inputmethod,changed" with a boolean indicating whether it's
- * enabled or not.
- */
-void ewk_view_input_method_state_set(Evas_Object* ewkView, bool active)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET(smartData, priv);
- WebCore::Frame* focusedFrame = priv->page->focusController()->focusedOrMainFrame();
-
- priv->imh = 0;
- if (focusedFrame
- && focusedFrame->document()
- && focusedFrame->document()->focusedElement()
- && isHTMLInputElement(focusedFrame->document()->focusedElement())) {
- WebCore::HTMLInputElement* inputElement;
-
- inputElement = static_cast<WebCore::HTMLInputElement*>(focusedFrame->document()->focusedElement());
- if (inputElement) {
- // for password fields, active == false
- if (!active) {
- active = inputElement->isPasswordField();
- priv->imh = inputElement->isPasswordField() * EWK_IMH_PASSWORD;
- } else {
- // Set input method hints for "number", "tel", "email", and "url" input elements.
- priv->imh |= inputElement->isTelephoneField() * EWK_IMH_TELEPHONE;
- priv->imh |= inputElement->isNumberField() * EWK_IMH_NUMBER;
- priv->imh |= inputElement->isEmailField() * EWK_IMH_EMAIL;
- priv->imh |= inputElement->isURLField() * EWK_IMH_URL;
- }
- }
- }
-
- evas_object_smart_callback_call(ewkView, "inputmethod,changed", (void*)active);
-}
-
-/**
- * @internal
- * The view title was changed by the frame loader.
- *
- * Emits signal: "title,changed" with pointer to new title string.
- */
-void ewk_view_title_set(Evas_Object* ewkView, const Ewk_Text_With_Direction* title)
-{
- DBG("ewkView=%p, title=%s", ewkView, (title && title->string) ? title->string : "(null)");
- evas_object_smart_callback_call(ewkView, "title,changed", (void*)title);
-}
-
-/**
- * @internal
- * Reports that main frame's uri changed.
- *
- * Emits signal: "uri,changed" with pointer to the new uri string.
- */
-void ewk_view_uri_changed(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- const char* uri = ewk_frame_uri_get(smartData->main_frame);
- DBG("ewkView=%p, uri=%s", ewkView, uri ? uri : "(null)");
- evas_object_smart_callback_call(ewkView, "uri,changed", (void*)uri);
-}
-
-/**
- * @internal
- * Reports that a DOM document object has finished loading for @p frame.
- *
- * @param ewkView View which contains the frame.
- * @param frame The frame whose load has triggered the event.
- *
- * Emits signal: "load,document,finished" with @p frame as the parameter.
- */
-void ewk_view_load_document_finished(Evas_Object* ewkView, Evas_Object* frame)
-{
- evas_object_smart_callback_call(ewkView, "load,document,finished", frame);
-}
-
-/**
- * @internal
- * Reports the view started loading something.
- *
- * @param ewkView View.
- * @param ewkFrame Frame being loaded.
- *
- * Emits signal: "load,started" with no parameters.
- */
-void ewk_view_load_started(Evas_Object* ewkView, Evas_Object* ewkFrame)
-{
- DBG("ewkView=%p, ewkFrame=%p", ewkView, ewkFrame);
- evas_object_smart_callback_call(ewkView, "load,started", ewkFrame);
-}
-
-/**
- * Reports the frame started loading something.
- *
- * @param ewkView View.
- *
- * Emits signal: "load,started" on main frame with no parameters.
- */
-void ewk_view_frame_main_load_started(Evas_Object* ewkView)
-{
- DBG("ewkView=%p", ewkView);
- Evas_Object* frame = ewk_view_frame_main_get(ewkView);
- evas_object_smart_callback_call(frame, "load,started", 0);
-}
-
-/**
- * @internal
- * Reports the main frame started provisional load.
- *
- * @param ewkView View.
- *
- * Emits signal: "load,provisional" on View with no parameters.
- */
-void ewk_view_load_provisional(Evas_Object* ewkView)
-{
- DBG("ewkView=%p", ewkView);
- evas_object_smart_callback_call(ewkView, "load,provisional", 0);
-}
-
-/**
- * @internal
- * Reports the main frame provisional load failed.
- *
- * @param ewkView View.
- * @param error Load error.
- *
- * Emits signal: "load,provisional" on View with pointer to Ewk_Frame_Load_Error.
- */
-void ewk_view_load_provisional_failed(Evas_Object* ewkView, const Ewk_Frame_Load_Error* error)
-{
- DBG("ewkView=%p, error=%p", ewkView, error);
- evas_object_smart_callback_call(ewkView, "load,provisional,failed", const_cast<Ewk_Frame_Load_Error*>(error));
-}
-
-/**
- * @internal
- * Reports view can be shown after a new window is created.
- *
- * @param ewkView Frame.
- *
- * Emits signal: "load,newwindow,show" on view with no parameters.
- */
-void ewk_view_load_show(Evas_Object* ewkView)
-{
- DBG("ewkView=%p", ewkView);
- evas_object_smart_callback_call(ewkView, "load,newwindow,show", 0);
-}
-
-/**
- * @internal
- * Reports an onload event for @p frame.
- *
- * @param ewkView View which contains the frame.
- * @param frame The frame whose onload event was received.
- *
- * Emits signal: "onload,event" with @p frame as the parameter.
- */
-void ewk_view_onload_event(Evas_Object* ewkView, Evas_Object* frame)
-{
- evas_object_smart_callback_call(ewkView, "onload,event", frame);
-}
-
-/**
- * @internal
- * Reports the main frame was cleared.
- *
- * @param ewkView View.
- */
-void ewk_view_frame_main_cleared(Evas_Object* ewkView)
-{
- DBG("ewkView=%p", ewkView);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->flush);
- smartData->api->flush(smartData);
-
- ewk_view_mixed_content_displayed_set(ewkView, false);
- ewk_view_mixed_content_run_set(ewkView, false);
-}
-
-/**
- * @internal
- * Reports the main frame received an icon.
- *
- * @param ewkView View.
- *
- * Emits signal: "icon,received" with no parameters.
- */
-void ewk_view_frame_main_icon_received(Evas_Object* ewkView)
-{
- DBG("ewkView=%p", ewkView);
- Evas_Object* frame = ewk_view_frame_main_get(ewkView);
- evas_object_smart_callback_call(frame, "icon,received", 0);
-}
-
-/**
- * @internal
- * Reports load finished, optionally with error information.
- *
- * Emits signal: "load,finished" with pointer to #Ewk_Frame_Load_Error
- * if any error, or @c 0 if successful load.
- *
- * @note there should not be any error stuff here, but trying to be
- * compatible with previous WebKit.
- */
-void ewk_view_load_finished(Evas_Object* ewkView, const Ewk_Frame_Load_Error* error)
-{
- DBG("ewkView=%p, error=%p", ewkView, error);
- evas_object_smart_callback_call(ewkView, "load,finished", (void*)error);
-}
-
-/**
- * @internal
- * Reports load failed with error information.
- *
- * Emits signal: "load,error" with pointer to Ewk_Frame_Load_Error.
- */
-void ewk_view_load_error(Evas_Object* ewkView, const Ewk_Frame_Load_Error* error)
-{
- DBG("ewkView=%p, error=%p", ewkView, error);
- evas_object_smart_callback_call(ewkView, "load,error", (void*)error);
-}
-
-/**
- * @internal
- * Reports load progress changed.
- *
- * Emits signal: "load,progress" with pointer to a double from 0.0 to 1.0.
- */
-void ewk_view_load_progress_changed(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- // Evas_Coord width, height;
- double progress = priv->page->progress()->estimatedProgress();
-
- DBG("ewkView=%p (p=%0.3f)", ewkView, progress);
-
- evas_object_smart_callback_call(ewkView, "load,progress", &progress);
-}
-
-/**
- * @internal
- * Reports view @param ewkView should be restored to default conditions
- *
- * @param ewkView View.
- * @param frame Frame that originated restore.
- *
- * Emits signal: "restore" with frame.
- */
-void ewk_view_restore_state(Evas_Object* ewkView, Evas_Object* frame)
-{
- evas_object_smart_callback_call(ewkView, "restore", frame);
-}
-
-/**
- * @internal
- * Delegates to browser the creation of a new window. If it is not implemented,
- * current view is returned, so navigation might continue in same window. If
- * browser supports the creation of new windows, a new Ewk_Window_Features is
- * created and passed to browser. If it intends to keep the request for opening
- * the window later it must increments the Ewk_Winwdow_Features ref count by
- * calling ewk_window_features_ref(window_features). Otherwise this struct will
- * be freed after returning to this function.
- *
- * @param ewkView Current view.
- * @param javascript @c true if the new window is originated from javascript,
- * @c false otherwise
- * @param window_features Features of the new window being created. If it's @c
- * 0, it will be created a window with default features.
- *
- * @return New view, in case smart class implements the creation of new windows;
- * else, current view @param ewkView or @c 0 on failure.
- *
- * @see ewk_window_features_ref().
- */
-Evas_Object* ewk_view_window_create(Evas_Object* ewkView, bool javascript, const WebCore::WindowFeatures* coreFeatures)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
-
- if (!smartData->api->window_create)
- return ewkView;
-
- Ewk_Window_Features* windowFeatures = ewk_window_features_new_from_core(coreFeatures);
- if (!windowFeatures)
- return 0;
-
- Evas_Object* view = smartData->api->window_create(smartData, javascript, windowFeatures);
- ewk_window_features_unref(windowFeatures);
-
- return view;
-}
-
-/**
- * @internal
- * Reports a window should be closed. It's client responsibility to decide if
- * the window should in fact be closed. So, if only windows created by javascript
- * are allowed to be closed by this call, browser needs to save the javascript
- * flag when the window is created. Since a window can close itself (for example
- * with a 'self.close()' in Javascript) browser must postpone the deletion to an
- * idler.
- *
- * @param ewkView View to be closed.
- */
-void ewk_view_window_close(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
-
- ewk_view_stop(ewkView);
- if (!smartData->api->window_close)
- return;
- smartData->api->window_close(smartData);
-}
-
-/**
- * @internal
- * Reports mouse has moved over a link.
- *
- * Emits signal: "link,hover,in"
- */
-void ewk_view_mouse_link_hover_in(Evas_Object* ewkView, void* data)
-{
- evas_object_smart_callback_call(ewkView, "link,hover,in", data);
-}
-
-/**
- * @internal
- * Reports mouse is not over a link anymore.
- *
- * Emits signal: "link,hover,out"
- */
-void ewk_view_mouse_link_hover_out(Evas_Object* ewkView)
-{
- evas_object_smart_callback_call(ewkView, "link,hover,out", 0);
-}
-
-/**
- * @internal
- * Set toolbar visible.
- *
- * Emits signal: "toolbars,visible,set" with a pointer to a boolean.
- */
-void ewk_view_toolbars_visible_set(Evas_Object* ewkView, bool visible)
-{
- DBG("ewkView=%p (visible=%d)", ewkView, !!visible);
- evas_object_smart_callback_call(ewkView, "toolbars,visible,set", &visible);
-}
-
-/**
- * @internal
- * Get toolbar visibility.
- *
- * @param ewkView View.
- * @param visible boolean pointer in which to save the result. It defaults
- * to @c FALSE, i.e. if browser does no listen to emitted signal, it means
- * there are no toolbars and therefore they are not visible.
- *
- * Emits signal: "toolbars,visible,get" with a pointer to a boolean.
- */
-void ewk_view_toolbars_visible_get(Evas_Object* ewkView, bool* visible)
-{
- DBG("%s, ewkView=%p", __func__, ewkView);
- *visible = false;
- evas_object_smart_callback_call(ewkView, "toolbars,visible,get", visible);
-}
-
-/**
- * @internal
- * Set statusbar visible.
- *
- * @param ewkView View.
- * @param visible @c TRUE if statusbar are visible, @c FALSE otherwise.
- *
- * Emits signal: "statusbar,visible,set" with a pointer to a boolean.
- */
-void ewk_view_statusbar_visible_set(Evas_Object* ewkView, bool visible)
-{
- DBG("ewkView=%p (visible=%d)", ewkView, !!visible);
- evas_object_smart_callback_call(ewkView, "statusbar,visible,set", &visible);
-}
-
-/**
- * @internal
- * Get statusbar visibility.
- *
- * @param ewkView View.
- * @param visible boolean pointer in which to save the result. It defaults
- * to @c FALSE, i.e. if browser does no listen to emitted signal, it means
- * there is no statusbar and therefore it is not visible.
- *
- * Emits signal: "statusbar,visible,get" with a pointer to a boolean.
- */
-void ewk_view_statusbar_visible_get(Evas_Object* ewkView, bool* visible)
-{
- DBG("%s, ewkView=%p", __func__, ewkView);
- *visible = false;
- evas_object_smart_callback_call(ewkView, "statusbar,visible,get", visible);
-}
-
-/**
- * @internal
- * Set text of statusbar
- *
- * @param ewkView View.
- * @param text New text to put on statusbar.
- *
- * Emits signal: "statusbar,text,set" with a string.
- */
-void ewk_view_statusbar_text_set(Evas_Object* ewkView, const char* text)
-{
- DBG("ewkView=%p (text=%s)", ewkView, text);
- INFO("status bar text set: %s", text);
- evas_object_smart_callback_call(ewkView, "statusbar,text,set", (void*)text);
-}
-
-/**
- * @internal
- * Set scrollbars visible.
- *
- * @param ewkView View.
- * @param visible @c TRUE if scrollbars are visible, @c FALSE otherwise.
- *
- * Emits signal: "scrollbars,visible,set" with a pointer to a boolean.
- */
-void ewk_view_scrollbars_visible_set(Evas_Object* ewkView, bool visible)
-{
- DBG("ewkView=%p (visible=%d)", ewkView, !!visible);
- evas_object_smart_callback_call(ewkView, "scrollbars,visible,set", &visible);
-}
-
-/**
- * @internal
- * Get scrollbars visibility.
- *
- * @param ewkView View.
- * @param visible boolean pointer in which to save the result. It defaults
- * to @c FALSE, i.e. if browser does no listen to emitted signal, it means
- * there are no scrollbars and therefore they are not visible.
- *
- * Emits signal: "scrollbars,visible,get" with a pointer to a boolean.
- */
-void ewk_view_scrollbars_visible_get(Evas_Object* ewkView, bool* visible)
-{
- DBG("%s, ewkView=%p", __func__, ewkView);
- *visible = false;
- evas_object_smart_callback_call(ewkView, "scrollbars,visible,get", visible);
-}
-
-/**
- * @internal
- * Set menubar visible.
- *
- * @param ewkView View.
- * @param visible @c TRUE if menubar is visible, @c FALSE otherwise.
- *
- * Emits signal: "menubar,visible,set" with a pointer to a boolean.
- */
-void ewk_view_menubar_visible_set(Evas_Object* ewkView, bool visible)
-{
- DBG("ewkView=%p (visible=%d)", ewkView, !!visible);
- evas_object_smart_callback_call(ewkView, "menubar,visible,set", &visible);
-}
-
-/**
- * @internal
- * Get menubar visibility.
- *
- * @param ewkView View.
- * @param visible boolean pointer in which to save the result. It defaults
- * to @c FALSE, i.e. if browser does no listen to emitted signal, it means
- * there is no menubar and therefore it is not visible.
- *
- * Emits signal: "menubar,visible,get" with a pointer to a boolean.
- */
-void ewk_view_menubar_visible_get(Evas_Object* ewkView, bool* visible)
-{
- DBG("%s, ewkView=%p", __func__, ewkView);
- *visible = false;
- evas_object_smart_callback_call(ewkView, "menubar,visible,get", visible);
-}
-
-/**
- * @internal
- */
-void ewk_view_tooltip_text_set(Evas_Object* ewkView, const char* text)
-{
- DBG("ewkView=%p text=%s", ewkView, text);
- if (text && *text)
- evas_object_smart_callback_call(ewkView, "tooltip,text,set", (void*)text);
- else
- evas_object_smart_callback_call(ewkView, "tooltip,text,unset", 0);
-}
-
-/**
- * @internal
- *
- * @param ewkView View.
- * @param message String to show on console.
- * @param lineNumber Line number.
- * @sourceID Source id.
- *
- */
-void ewk_view_add_console_message(Evas_Object* ewkView, const char* message, unsigned int lineNumber, const char* sourceID)
-{
- DBG("ewkView=%p message=%s lineNumber=%u sourceID=%s", ewkView, message, lineNumber, sourceID);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->add_console_message);
- smartData->api->add_console_message(smartData, message, lineNumber, sourceID);
-}
-
-/**
- * @internal
- *
- * Reports that FrameView object has been created.
- * Allows to repaint the frame completely even if the areas are out of the screen
- * when @ewkView is an instance of ewk_view_tiled.
- *
- * @param ewkView view object
- */
-void ewk_view_frame_view_creation_notify(Evas_Object* ewkView)
-{
- EWK_VIEW_TYPE_CHECK_OR_RETURN(ewkView, ewkViewTiledName);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- ewk_frame_paint_full_set(smartData->main_frame, true);
-}
-
-bool ewk_view_focus_can_cycle(Evas_Object* ewkView, Ewk_Focus_Direction direction)
-{
- DBG("ewkView=%p direction=%d", ewkView, direction);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api, false);
-
- if (!smartData->api->focus_can_cycle)
- return false;
-
- return smartData->api->focus_can_cycle(smartData, direction);
-}
-
-void ewk_view_run_javascript_alert(Evas_Object* ewkView, Evas_Object* frame, const char* message)
-{
- DBG("ewkView=%p frame=%p message=%s", ewkView, frame, message);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api);
-
- if (!smartData->api->run_javascript_alert)
- return;
-
- smartData->api->run_javascript_alert(smartData, frame, message);
-}
-
-bool ewk_view_run_javascript_confirm(Evas_Object* ewkView, Evas_Object* frame, const char* message)
-{
- DBG("ewkView=%p frame=%p message=%s", ewkView, frame, message);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api, false);
-
- if (!smartData->api->run_javascript_confirm)
- return false;
-
- return smartData->api->run_javascript_confirm(smartData, frame, message);
-}
-
-bool ewk_view_run_before_unload_confirm(Evas_Object* ewkView, Evas_Object* frame, const char* message)
-{
- DBG("ewkView=%p frame=%p message=%s", ewkView, frame, message);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api, false);
-
- if (!smartData->api->run_before_unload_confirm)
- return false;
-
- return smartData->api->run_before_unload_confirm(smartData, frame, message);
-}
-
-bool ewk_view_run_javascript_prompt(Evas_Object* ewkView, Evas_Object* frame, const char* message, const char* defaultValue, const char** value)
-{
- DBG("ewkView=%p frame=%p message=%s", ewkView, frame, message);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api, false);
-
- if (!smartData->api->run_javascript_prompt)
- return false;
-
- return smartData->api->run_javascript_prompt(smartData, frame, message, defaultValue, value);
-}
-
-/**
- * @internal
- * Delegates to client to decide whether a script must be stopped because it's
- * running for too long. If client does not implement it, it goes to default
- * implementation, which logs and returns false. Client may remove log by
- * setting this function 0, which will just return false.
- *
- * @param ewkView View.
- *
- * @return @c true if script should be stopped; @c false otherwise
- */
-bool ewk_view_should_interrupt_javascript(Evas_Object* ewkView)
-{
- DBG("ewkView=%p", ewkView);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api, false);
-
- if (!smartData->api->should_interrupt_javascript)
- return false;
-
- return smartData->api->should_interrupt_javascript(smartData);
-}
-
-/**
- * @internal
- * This is called whenever the application is asking to store data to the cache and the
- * quota allocated to that application is exceeded. Browser may use this to increase the
- * size of quota before the originating operation fails.
- *
- * @param ewkView View.
- * @param origin Security origin.
- * @param defaultOriginQuota Default quota for origin.
- * @param totalSpaceNeeded The total space needed in the cache in order to fulfill
- * application's requirement.
- */
-int64_t ewk_view_exceeded_application_cache_quota(Evas_Object* ewkView, Ewk_Security_Origin *origin, int64_t defaultOriginQuota, int64_t totalSpaceNeeded)
-{
- DBG("ewkView=%p", ewkView);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api, 0);
- if (!smartData->api->exceeded_application_cache_quota)
- return 0;
-
- INFO("defaultOriginQuota=%" PRIu64 " totalSpaceNeeded=%" PRIu64, defaultOriginQuota, totalSpaceNeeded);
- return smartData->api->exceeded_application_cache_quota(smartData, origin, defaultOriginQuota, totalSpaceNeeded);
-}
-
-/**
- * @internal
- * This is called whenever the web site shown in @param frame is asking to store data
- * to the database @param databaseName and the quota allocated to that web site
- * is exceeded. Browser may use this to increase the size of quota before the
- * originating operationa fails.
- *
- * @param ewkView View.
- * @param frame The frame whose web page exceeded its database quota.
- * @param databaseName Database name.
- * @param currentSize Current size of this database
- * @param expectedSize The expected size of this database in order to fulfill
- * site's requirement.
- */
-uint64_t ewk_view_exceeded_database_quota(Evas_Object* ewkView, Evas_Object* frame, const char* databaseName, uint64_t currentSize, uint64_t expectedSize)
-{
- DBG("ewkView=%p", ewkView);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api, 0);
- if (!smartData->api->exceeded_database_quota)
- return 0;
-
- INFO("currentSize=%" PRIu64 " expectedSize=%" PRIu64, currentSize, expectedSize);
- return smartData->api->exceeded_database_quota(smartData, frame, databaseName, currentSize, expectedSize);
-}
-
-/**
- * @internal
- * Open panel to choose a file.
- *
- * @param ewkView View.
- * @param frame Frame in which operation is required.
- * @param allowsMultipleFiles @c true when more than one file may be selected, @c false otherwise.
- * @param acceptMIMETypes List of accepted mime types. It is passed to child objects as an Eina_List of char pointers that is freed automatically.
- * @param selectedFilenames List of files selected.
- *
- * @return @false if user canceled file selection; @true if confirmed.
- */
-bool ewk_view_run_open_panel(Evas_Object* ewkView, Evas_Object* frame, Ewk_File_Chooser* fileChooser, Eina_List** selectedFilenames)
-{
- DBG("ewkView=%p frame=%p allows_multiple_files=%d", ewkView, frame, ewk_file_chooser_allows_multiple_files_get(fileChooser));
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api, false);
-
- if (!smartData->api->run_open_panel)
- return false;
-
- *selectedFilenames = 0;
- bool confirm = smartData->api->run_open_panel(smartData, frame, fileChooser, selectedFilenames);
- if (!confirm && *selectedFilenames)
- ERR("Canceled file selection, but selected filenames != 0. Free names before return.");
-
- return confirm;
-}
-
-void ewk_view_repaint(Evas_Object* ewkView, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height)
-{
- DBG("ewkView=%p, region=%d,%d + %dx%d", ewkView, x, y, width, height);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- _ewk_view_repaint_add(priv, x, y, width, height);
- _ewk_view_smart_changed(smartData);
-}
-
-void ewk_view_scroll(Evas_Object* ewkView, const WebCore::IntSize& delta, const WebCore::IntRect& rectToScroll, const WebCore::IntRect&)
-{
- ASSERT(!rectToScroll.isEmpty());
- ASSERT(delta.width() || delta.height());
-
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- priv->m_rectsToScroll.append(rectToScroll);
- priv->m_scrollOffsets.append(delta);
-
- for (size_t i = 0; i < priv->repaints.count; ++i) {
- priv->repaints.array[i].x = delta.width();
- priv->repaints.array[i].y = delta.height();
- }
-
- _ewk_view_smart_changed(smartData);
-}
-
-/**
- * Creates a new frame for given url and owner element.
- *
- * Emits "frame,created" with the new frame object on success.
- */
-WTF::PassRefPtr<WebCore::Frame> ewk_view_frame_create(Evas_Object* ewkView, Evas_Object* frame, const WTF::String& name, WebCore::HTMLFrameOwnerElement* ownerElement, const WebCore::KURL& url, const WTF::String& referrer)
-{
- DBG("ewkView=%p, frame=%p, name=%s, ownerElement=%p, url=%s, referrer=%s",
- ewkView, frame, name.utf8().data(), ownerElement,
- url.string().utf8().data(), referrer.utf8().data());
-
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
-
- WTF::RefPtr<WebCore::Frame> coreFrame = _ewk_view_core_frame_new
- (smartData, priv, ownerElement);
- if (!coreFrame) {
- ERR("Could not create child core frame '%s'", name.utf8().data());
- return 0;
- }
-
- if (!ewk_frame_child_add(frame, coreFrame, name, url, referrer)) {
- ERR("Could not create child frame object '%s'", name.utf8().data());
- return 0;
- }
-
- // The creation of the frame may have removed itself already.
- if (!coreFrame->page() || !coreFrame->tree() || !coreFrame->tree()->parent())
- return 0;
-
- smartData->changed.frame_rect = true;
- _ewk_view_smart_changed(smartData);
-
- return coreFrame.release();
-}
-
-WTF::PassRefPtr<WebCore::Widget> ewk_view_plugin_create(Evas_Object* ewkView, Evas_Object* frame, const WebCore::IntSize& pluginSize, WebCore::HTMLPlugInElement* element, const WebCore::KURL& url, const WTF::Vector<WTF::String>& paramNames, const WTF::Vector<WTF::String>& paramValues, const WTF::String& mimeType, bool loadManually)
-{
- DBG("ewkView=%p, frame=%p, size=%dx%d, element=%p, url=%s, mimeType=%s",
- ewkView, frame, pluginSize.width(), pluginSize.height(), element,
- url.string().utf8().data(), mimeType.utf8().data());
-
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- smartData->changed.frame_rect = true;
- _ewk_view_smart_changed(smartData);
-
- return ewk_frame_plugin_create
- (frame, pluginSize, element, url, paramNames, paramValues,
- mimeType, loadManually);
-}
-
-/**
- * @internal
- *
- * Creates a new popup with options when a select widget was clicked.
- *
- * @param client PopupMenuClient instance that allows communication with webkit.
- * @param selected Selected item.
- * @param rect Menu's position.
- *
- * Emits: "popup,create" with a list of Ewk_Menu containing each item's data
- */
-void ewk_view_popup_new(Evas_Object* ewkView, WebCore::PopupMenuClient* client, int /*selected*/, const WebCore::IntRect& rect)
-{
- INFO("ewkView=%p", ewkView);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- if (priv->popup.menuClient)
- ewk_view_popup_destroy(ewkView);
-
- priv->popup.menuClient = client;
-
- // populate items
- const int size = client->listSize();
- for (int i = 0; i < size; ++i) {
- Ewk_Menu_Item* item = new Ewk_Menu_Item;
- if (client->itemIsSeparator(i))
- item->type = EWK_MENU_SEPARATOR;
- else if (client->itemIsLabel(i))
- item->type = EWK_MENU_GROUP;
- else
- item->type = EWK_MENU_OPTION;
- item->text = eina_stringshare_add(client->itemText(i).utf8().data());
-
- priv->popup.menu.items = eina_list_append(priv->popup.menu.items, item);
- }
-
- priv->popup.menu.x = rect.x();
- priv->popup.menu.y = rect.y();
- priv->popup.menu.width = rect.width();
- priv->popup.menu.height = rect.height();
- evas_object_smart_callback_call(ewkView, "popup,create", &priv->popup.menu);
-}
-
-Eina_Bool ewk_view_popup_destroy(Evas_Object* ewkView)
-{
- INFO("ewkView=%p", ewkView);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- if (!priv->popup.menuClient)
- return false;
-
- evas_object_smart_callback_call(ewkView, "popup,willdelete", &priv->popup.menu);
-
- void* itemv;
- EINA_LIST_FREE(priv->popup.menu.items, itemv) {
- Ewk_Menu_Item* item = static_cast<Ewk_Menu_Item*>(itemv);
- eina_stringshare_del(item->text);
- delete item;
- }
- priv->popup.menuClient->popupDidHide();
- priv->popup.menuClient = 0;
-
- return true;
-}
-
-void ewk_view_popup_selected_set(Evas_Object* ewkView, int index)
-{
- INFO("ewkView=%p", ewkView);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
- EINA_SAFETY_ON_NULL_RETURN(priv->popup.menuClient);
-
- priv->popup.menuClient->valueChanged(index);
-}
-
-#if ENABLE(INPUT_TYPE_COLOR)
-/**
- * @internal
- *
- * Creates a new color chooser with an initial selected color.
- *
- * @param client ColorChooserClient instance that allows communication with webkit.
- * @param initialColor The initial selected color.
- *
- */
-void ewk_view_color_chooser_new(Evas_Object* ewkView, WebCore::ColorChooserClient* client, const WebCore::Color& initialColor)
-{
- INFO("ewkView=%p", ewkView);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- if (priv->colorChooserClient)
- ewk_view_color_chooser_destroy(ewkView);
-
- priv->colorChooserClient = client;
-
- Ewk_Color color;
- color.r = initialColor.red();
- color.g = initialColor.green();
- color.b = initialColor.blue();
- color.a = initialColor.alpha();
-
- evas_object_smart_callback_call(ewkView, "colorchooser,create", &color);
-}
-
-Eina_Bool ewk_view_color_chooser_destroy(Evas_Object* ewkView)
-{
- INFO("ewkView=%p", ewkView);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- if (!priv->colorChooserClient)
- return false;
-
- evas_object_smart_callback_call(ewkView, "colorchooser,willdelete", 0);
-
- priv->colorChooserClient->didEndChooser();
- priv->colorChooserClient = 0;
-
- return true;
-}
-
-void ewk_view_color_chooser_color_set(Evas_Object *ewkView, int r, int g, int b)
-{
- INFO("ewkView=%p", ewkView);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
- EINA_SAFETY_ON_NULL_RETURN(priv->colorChooserClient);
-
- // Alpha channel is not allowed, see ColorInputType::sanitizeValue().
- priv->colorChooserClient->didChooseColor(WebCore::Color(r, g, b));
-}
-
-/**
- * @internal
- *
- * The selected color of the color input associated with the color chooser has
- * changed. Usually the browser should updated the current selected value on the
- * color picker if the user is not interacting.
- *
- * @param newColor The new selected color.
- *
- */
-void ewk_view_color_chooser_changed(Evas_Object* ewkView, const WebCore::Color& newColor)
-{
- INFO("ewkView=%p", ewkView);
-
- Ewk_Color color;
- color.r = newColor.red();
- color.g = newColor.green();
- color.b = newColor.blue();
- color.a = newColor.alpha();
-
- evas_object_smart_callback_call(ewkView, "colorchooser,color,changed", &color);
-}
-#endif
-
-/**
- * @internal
- * Request a download to user.
- *
- * @param ewkView View.
- * @oaram download Ewk_Download struct to be sent.
- *
- * Emits: "download,request" with an Ewk_Download containing the details of the
- * requested download. The download per se must be handled outside of webkit.
- */
-void ewk_view_download_request(Evas_Object* ewkView, Ewk_Download* download)
-{
- DBG("ewkView=%p", ewkView);
- evas_object_smart_callback_call(ewkView, "download,request", download);
-}
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-/**
- * @internal
- * Reports the JS window object was cleared.
- *
- * @param ewkView view.
- * @param frame the frame.
- */
-void ewk_view_js_window_object_clear(Evas_Object* ewkView, Evas_Object* frame)
-{
- evas_object_smart_callback_call(ewkView, "js,windowobject,clear", frame);
-}
-#endif
-
-/**
- * @internal
- * Reports the viewport has changed.
- *
- * @param arguments viewport argument.
- *
- * Emits signal: "viewport,changed" with no parameters.
- */
-void ewk_view_viewport_attributes_set(Evas_Object* ewkView, const WebCore::ViewportArguments& arguments)
-{
- EWK_VIEW_SD_GET(ewkView, smartData);
- EWK_VIEW_PRIV_GET(smartData, priv);
-
- priv->viewportArguments = arguments;
- evas_object_smart_callback_call(ewkView, "viewport,changed", 0);
-}
-
-void ewk_view_viewport_attributes_get(const Evas_Object* ewkView, int* width, int* height, float* initScale, float* maxScale, float* minScale, float* devicePixelRatio, Eina_Bool* userScalable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
- WebCore::ViewportAttributes attributes = _ewk_view_viewport_attributes_compute(priv);
-
- if (width)
- *width = attributes.layoutSize.width();
- if (height)
- *height = attributes.layoutSize.height();
- if (initScale)
- *initScale = attributes.initialScale;
- if (maxScale)
- *maxScale = attributes.maximumScale;
- if (minScale)
- *minScale = attributes.minimumScale;
- if (devicePixelRatio)
- *devicePixelRatio = priv->page->deviceScaleFactor();
- if (userScalable)
- *userScalable = static_cast<bool>(attributes.userScalable);
-}
-
-Eina_Bool ewk_view_zoom_range_set(Evas_Object* ewkView, float minScale, float maxScale)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- if (maxScale < minScale) {
- WARN("minScale is larger than maxScale");
- return false;
- }
-
- priv->settings.zoomRange.minScale = minScale;
- priv->settings.zoomRange.maxScale = maxScale;
-
- return true;
-}
-
-float ewk_view_zoom_range_min_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1.0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, -1.0);
-
- return priv->settings.zoomRange.minScale;
-}
-
-float ewk_view_zoom_range_max_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1.0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, -1.0);
-
- return priv->settings.zoomRange.maxScale;
-}
-
-Eina_Bool ewk_view_user_scalable_set(Evas_Object* ewkView, Eina_Bool userScalable)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- priv->settings.zoomRange.userScalable = userScalable;
-
- return true;
-}
-
-Eina_Bool ewk_view_user_scalable_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- return priv->settings.zoomRange.userScalable;
-}
-
-Eina_Bool ewk_view_device_pixel_ratio_set(Evas_Object* ewkView, float ratio)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- priv->page->setDeviceScaleFactor(ratio);
-
- return true;
-}
-
-float ewk_view_device_pixel_ratio_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1.0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, -1.0);
-
- return priv->page->deviceScaleFactor();
-}
-
-void ewk_view_text_direction_set(Evas_Object* ewkView, Ewk_Text_Direction direction)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- // The Editor::setBaseWritingDirection() function checks if we can change
- // the text direction of the selected node and updates its DOM "dir"
- // attribute and its CSS "direction" property.
- // So, we just call the function as Safari does.
- WebCore::Frame* focusedFrame = priv->page->focusController()->focusedOrMainFrame();
- if (!focusedFrame)
- return;
-
- WebCore::Editor& editor = focusedFrame->editor();
- if (!editor.canEdit())
- return;
-
- editor.setBaseWritingDirection(static_cast<WritingDirection>(direction));
-}
-
-void ewk_view_did_first_visually_nonempty_layout(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
- if (!priv->flags.viewCleared) {
- ewk_view_frame_main_cleared(ewkView);
- ewk_view_enable_render(ewkView);
- priv->flags.viewCleared = true;
- }
-}
-
-/**
- * @internal
- * Dispatch finished loading.
- *
- * @param ewkView view.
- */
-void ewk_view_dispatch_did_finish_loading(Evas_Object* ewkView)
-{
- /* If we reach this point and rendering is still disabled, WebCore will not
- * trigger the didFirstVisuallyNonEmptyLayout signal anymore. So, we
- * forcefully re-enable the rendering.
- */
- ewk_view_did_first_visually_nonempty_layout(ewkView);
-}
-
-void ewk_view_transition_to_commited_for_newpage(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- ewk_view_disable_render(ewkView);
- priv->flags.viewCleared = false;
-}
-
-
-/**
- * @internal
- * Reports that a navigation policy decision should be taken. If @return
- * is true, the navigation request will be accepted, otherwise it will be
- * ignored.
- *
- * @param ewkView View to load
- * @param request Request which contain url to navigate
- * @param navigationType navigation type
- *
- * @return true if the client accepted the navigation request, false otherwise. If the
- * client did not make a decision, we return true by default since the default policy
- * is to accept.
- */
-bool ewk_view_navigation_policy_decision(Evas_Object* ewkView, Ewk_Frame_Resource_Request* request, Ewk_Navigation_Type navigationType)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api, false);
-
- if (!smartData->api->navigation_policy_decision)
- return true;
-
- return smartData->api->navigation_policy_decision(smartData, request, navigationType);
-}
-
-Eina_Bool ewk_view_js_object_add(Evas_Object* ewkView, Ewk_JS_Object* object, const char* objectName)
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- if (object->view) // object has already been added to another ewk_view
- return false;
- object->name = eina_stringshare_add(objectName);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- WebCore::JSDOMWindow* window = toJSDOMWindow(priv->mainFrame, WebCore::mainThreadNormalWorld());
- JSC::JSLockHolder lock(window->globalExec());
- JSC::Bindings::RootObject* root;
- root = priv->mainFrame->script()->bindingRootObject();
-
- if (!window) {
- ERR("Warning: couldn't get window object");
- return false;
- }
-
- JSC::ExecState* executeState = window->globalExec();
-
- object->view = ewkView;
- JSC::JSObject* runtimeObject = (JSC::JSObject*)JSC::Bindings::CInstance::create((NPObject*)object, root)->createRuntimeObject(executeState);
- JSC::Identifier id = JSC::Identifier(executeState, objectName);
-
- JSC::PutPropertySlot slot;
- window->methodTable()->put(window, executeState, id, runtimeObject, slot);
- return true;
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(object);
- UNUSED_PARAM(objectName);
- return false;
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
-}
-
-/**
- * @internal
- * Reports that the contents have resized. The ewk_view calls contents_resize,
- * which can be reimplemented as needed.
- *
- * @param ewkView view.
- * @param width new content width.
- * @param height new content height.
- */
-void ewk_view_contents_size_changed(Evas_Object* ewkView, int width, int height)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api);
- EINA_SAFETY_ON_NULL_RETURN(smartData->api->contents_resize);
-
- if (!smartData->api->contents_resize(smartData, width, height))
- ERR("failed to resize contents to %dx%d", width, height);
-}
-
-/**
- * @internal
- * Gets page size from frameview.
- *
- * @param ewkView view.
- *
- * @return page size, or -1.0 size on failure
- */
-WebCore::FloatRect ewk_view_page_rect_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, WebCore::FloatRect(-1.0, -1.0, -1.0, -1.0));
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, WebCore::FloatRect(-1.0, -1.0, -1.0, -1.0));
-
- WebCore::Frame* main_frame = priv->page->mainFrame();
- return main_frame->view()->frameRect();
-}
-
-#if ENABLE(TOUCH_EVENTS)
-void ewk_view_need_touch_events_set(Evas_Object* ewkView, bool needed)
-{
- EWK_VIEW_SD_GET(ewkView, smartData);
- EWK_VIEW_PRIV_GET(smartData, priv);
-
- priv->flags.needTouchEvents = needed;
-}
-
-bool ewk_view_need_touch_events_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->flags.needTouchEvents;
-}
-#endif
-
-Eina_Bool ewk_view_mode_set(Evas_Object* ewkView, Ewk_View_Mode viewMode)
-{
-#if ENABLE(VIEW_MODE_CSS_MEDIA)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- priv->page->setViewMode(static_cast<WebCore::Page::ViewMode>(viewMode));
- return true;
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(viewMode);
- return false;
-#endif
-}
-
-Ewk_View_Mode ewk_view_mode_get(const Evas_Object* ewkView)
-{
-#if ENABLE(VIEW_MODE_CSS_MEDIA)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, EWK_VIEW_MODE_INVALID);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, EWK_VIEW_MODE_INVALID);
-
- return static_cast<Ewk_View_Mode>(priv->page->viewMode());
-#else
- UNUSED_PARAM(ewkView);
- return EWK_VIEW_MODE_INVALID;
-#endif
-}
-
-Eina_Bool ewk_view_mixed_content_displayed_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->flags.hasDisplayedMixedContent;
-}
-
-Eina_Bool ewk_view_mixed_content_run_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->flags.hasRunMixedContent;
-}
-
-/**
- * @internal
- * Reports the view that editor client selection has changed.
- *
- * @param ewkView View.
- *
- * Emits signal: "editorclientselection,changed" with no parameters.
- */
-void ewk_view_editor_client_selection_changed(Evas_Object* ewkView)
-{
- evas_object_smart_callback_call(ewkView, "editorclient,selection,changed", 0);
-}
-
-/**
- * @internal
- * Reports to the view that editor client's contents were changed.
- *
- * @param ewkView View.
- *
- * Emits signal: "editorclient,contents,changed" with no parameters.
- */
-void ewk_view_editor_client_contents_changed(Evas_Object* ewkView)
-{
- evas_object_smart_callback_call(ewkView, "editorclient,contents,changed", 0);
-}
-
-/**
- * @internal
- * Defines whether the view has displayed mixed content.
- *
- * When a view has displayed mixed content, any of its frames has loaded an HTTPS URI
- * which has itself loaded and displayed a resource (such as an image) from an insecure,
- * that is, non-HTTPS, URI.
- *
- * @param hasDisplayed Do or do not clear the flag from the view.
- *
- * Emits signal: "mixedcontent,displayed" with no parameters when @p hasDisplayed is @c true.
- */
-void ewk_view_mixed_content_displayed_set(Evas_Object* ewkView, bool hasDisplayed)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- priv->flags.hasDisplayedMixedContent = hasDisplayed;
-
- if (hasDisplayed)
- evas_object_smart_callback_call(ewkView, "mixedcontent,displayed", 0);
-}
-
-/**
- * @internal
- * Defines whether the view has run mixed content.
- *
- * When a view has run mixed content, any of its frames has loaded an HTTPS URI
- * which has itself loaded and run a resource (such as a script) from an insecure,
- * that is, non-HTTPS, URI.
- *
- * @param hasRun Do or do not clear the flag from the view.
- *
- * Emits signal: "mixedcontent,run" with no parameters when @p hasRun is @c true.
- */
-void ewk_view_mixed_content_run_set(Evas_Object* ewkView, bool hasRun)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- priv->flags.hasRunMixedContent = hasRun;
-
- if (hasRun)
- evas_object_smart_callback_call(ewkView, "mixedcontent,run", 0);
-}
-
-Eina_Bool ewk_view_visibility_state_set(Evas_Object* ewkView, Ewk_Page_Visibility_State pageVisibilityState, Eina_Bool initialState)
-{
-#if ENABLE(PAGE_VISIBILITY_API)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- priv->page->setVisibilityState(static_cast<WebCore::PageVisibilityState>(pageVisibilityState), initialState);
-
- return true;
-#else
- DBG("PAGE_VISIBILITY_API is disabled.");
- return false;
-#endif
-}
-
-Ewk_Page_Visibility_State ewk_view_visibility_state_get(const Evas_Object* ewkView)
-{
-#if ENABLE(PAGE_VISIBILITY_API)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, EWK_PAGE_VISIBILITY_STATE_VISIBLE);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, EWK_PAGE_VISIBILITY_STATE_VISIBLE);
-
- return static_cast<Ewk_Page_Visibility_State>(priv->page->visibilityState());
-#else
- DBG("PAGE_VISIBILITY_API is disabled.");
- return EWK_PAGE_VISIBILITY_STATE_VISIBLE;
-#endif
-}
-
-SoupSession* ewk_view_soup_session_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->storageSession->soupSession();
-}
-
-void ewk_view_soup_session_set(Evas_Object* ewkView, SoupSession* session)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
- if (!SOUP_IS_SESSION_ASYNC(session)) {
- ERR("WebKit requires an SoupSessionAsync to work properly, but "
- "a SoupSessionSync was provided.");
- return;
- }
- priv->storageSession->setSoupSession(session);
-}
-
-Eina_Bool ewk_view_setting_enable_xss_auditor_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.enableXSSAuditor;
-}
-
-void ewk_view_setting_enable_xss_auditor_set(Evas_Object* ewkView, Eina_Bool enable)
-{
- EWK_VIEW_SD_GET(ewkView, smartData);
- EWK_VIEW_PRIV_GET(smartData, priv);
- enable = !!enable;
- if (priv->settings.enableXSSAuditor != enable) {
- priv->pageSettings->setXSSAuditorEnabled(enable);
- priv->settings.enableXSSAuditor = enable;
- }
-}
-
-Eina_Bool ewk_view_setting_should_display_subtitles_get(const Evas_Object *ewkView)
-{
-#if ENABLE(VIDEO_TRACK)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.shouldDisplaySubtitles;
-#else
- UNUSED_PARAM(ewkView);
- return false;
-#endif
-}
-
-Eina_Bool ewk_view_setting_should_display_captions_get(const Evas_Object *ewkView)
-{
-#if ENABLE(VIDEO_TRACK)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.shouldDisplayCaptions;
-#else
- UNUSED_PARAM(ewkView);
- return false;
-#endif
-}
-
-void ewk_view_setting_should_display_captions_set(Evas_Object *ewkView, Eina_Bool enable)
-{
-#if ENABLE(VIDEO_TRACK)
- EWK_VIEW_SD_GET(ewkView, smartData);
- EWK_VIEW_PRIV_GET(smartData, priv);
- enable = !!enable;
- if (priv->settings.shouldDisplayCaptions != enable) {
- priv->pageSettings->setShouldDisplayCaptions(enable);
- priv->settings.shouldDisplayCaptions = enable;
- }
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(enable);
-#endif
-}
-
-void ewk_view_setting_should_display_subtitles_set(Evas_Object *ewkView, Eina_Bool enable)
-{
-#if ENABLE(VIDEO_TRACK)
- EWK_VIEW_SD_GET(ewkView, smartData);
- EWK_VIEW_PRIV_GET(smartData, priv);
- enable = !!enable;
- if (priv->settings.shouldDisplaySubtitles != enable) {
- priv->pageSettings->setShouldDisplaySubtitles(enable);
- priv->settings.shouldDisplaySubtitles = enable;
- }
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(enable);
-#endif
-}
-
-Eina_Bool ewk_view_setting_should_display_text_descriptions_get(const Evas_Object *ewkView)
-{
-#if ENABLE(VIDEO_TRACK)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.shouldDisplayTextDescriptions;
-#else
- UNUSED_PARAM(ewkView);
- return false;
-#endif
-}
-
-void ewk_view_setting_should_display_text_descriptions_set(Evas_Object *ewkView, Eina_Bool enable)
-{
-#if ENABLE(VIDEO_TRACK)
- EWK_VIEW_SD_GET(ewkView, smartData);
- EWK_VIEW_PRIV_GET(smartData, priv);
- enable = !!enable;
- if (priv->settings.shouldDisplayTextDescriptions != enable) {
- priv->pageSettings->setShouldDisplayTextDescriptions(enable);
- priv->settings.shouldDisplayTextDescriptions = enable;
- }
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(enable);
-#endif
-}
-
-void ewk_view_inspector_show(const Evas_Object* ewkView)
-{
-#if ENABLE(INSPECTOR)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- priv->page->inspectorController()->show();
-#else
- UNUSED_PARAM(ewkView);
-#endif
-}
-
-void ewk_view_inspector_close(const Evas_Object* ewkView)
-{
-#if ENABLE(INSPECTOR)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- priv->page->inspectorController()->close();
-#else
- UNUSED_PARAM(ewkView);
-#endif
-}
-
-Evas_Object* ewk_view_inspector_view_get(const Evas_Object* ewkView)
-{
-#if ENABLE(INSPECTOR)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
-
- return priv->inspectorView;
-#else
- UNUSED_PARAM(ewkView);
- return 0;
-#endif
-}
-
-void ewk_view_inspector_view_set(Evas_Object* ewkView, Evas_Object* inspectorView)
-{
-#if ENABLE(INSPECTOR)
- EWK_VIEW_SD_GET(ewkView, smartData);
- EWK_VIEW_PRIV_GET(smartData, priv);
-
- priv->inspectorView = inspectorView;
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(inspectorView);
-#endif
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-void _ewk_view_accelerated_compositing_cb(void* data, Evas_Object*)
-{
- Ewk_View_Private_Data* priv = static_cast<Ewk_View_Private_Data*>(data);
-
- if (priv->isCompositingActive) {
- priv->acceleratedCompositingContext->syncLayersNow();
- priv->acceleratedCompositingContext->renderLayers();
- }
-}
-
-void _ewk_view_accelerated_compositing_context_create_if_needed(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- if (!priv->acceleratedCompositingContext)
- priv->acceleratedCompositingContext = WebCore::AcceleratedCompositingContext::create(&priv->page->chrome());
-}
-
-bool ewk_view_accelerated_compositing_object_create(Evas_Object* ewkView, Evas_Native_Surface* nativeSurface, const WebCore::IntRect& rect)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- if (!priv->compositingObject) {
- priv->compositingObject = evas_object_image_add(smartData->base.evas);
-
- evas_object_pass_events_set(priv->compositingObject.get(), true); // Just for rendering, ignore events.
- evas_object_image_alpha_set(priv->compositingObject.get(), true);
- evas_object_image_content_hint_set(priv->compositingObject.get(), EVAS_IMAGE_CONTENT_HINT_DYNAMIC);
-
- // Set the pixel get callback.
- evas_object_image_pixels_get_callback_set(priv->compositingObject.get(), _ewk_view_accelerated_compositing_cb, priv);
-
- evas_object_smart_member_add(priv->compositingObject.get(), ewkView);
- }
-
- evas_object_image_size_set(priv->compositingObject.get(), rect.width(), rect.height());
- evas_object_image_fill_set(priv->compositingObject.get(), 0, 0, rect.width(), rect.height());
-
- evas_object_move(priv->compositingObject.get(), rect.x(), rect.y());
- evas_object_resize(priv->compositingObject.get(), rect.width(), rect.height());
- evas_object_hide(priv->compositingObject.get());
-
- // Set up the native surface info to use the context and surface created in GC3DPrivate.
- evas_object_image_native_surface_set(priv->compositingObject.get(), nativeSurface);
- return true;
-}
-
-WebCore::GraphicsContext3D* ewk_view_accelerated_compositing_context_get(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
-
- _ewk_view_accelerated_compositing_context_create_if_needed(ewkView);
- return priv->acceleratedCompositingContext->context();
-}
-
-void ewk_view_root_graphics_layer_set(Evas_Object* ewkView, WebCore::GraphicsLayer* rootLayer)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- bool active = !!rootLayer;
- if (priv->isCompositingActive == active)
- return;
-
- priv->isCompositingActive = active;
-
- if (priv->isCompositingActive) {
- _ewk_view_accelerated_compositing_context_create_if_needed(ewkView);
- evas_object_show(priv->compositingObject.get());
- } else
- evas_object_hide(priv->compositingObject.get());
-
- priv->acceleratedCompositingContext->attachRootGraphicsLayer(rootLayer);
-}
-
-void ewk_view_mark_for_sync(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- // Mark the image as "dirty" meaning it needs an update next time evas renders.
- // It will call the pixel get callback then.
- evas_object_image_pixels_dirty_set(priv->compositingObject.get(), true);
-}
-#endif
-
-void ewk_view_cursor_set(Evas_Object* ewkView, const WebCore::Cursor& cursor)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- const char* group = cursor.platformCursor();
- if (!group || group == priv->cursorGroup)
- return;
-
- priv->cursorGroup = group;
-
- if (priv->cursorObject)
- evas_object_del(priv->cursorObject);
- priv->cursorObject = edje_object_add(smartData->base.evas);
-
- Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(smartData->base.evas);
- if (!priv->settings.theme || !edje_object_file_set(priv->cursorObject, priv->settings.theme, group)) {
- evas_object_del(priv->cursorObject);
- priv->cursorObject = 0;
-
- ecore_evas_object_cursor_set(ecoreEvas, 0, 0, 0, 0);
-#ifdef HAVE_ECORE_X
- if (priv->isUsingEcoreX)
- WebCore::applyFallbackCursor(ecoreEvas, group);
-#endif
- } else {
- Evas_Coord width, height;
- edje_object_size_min_get(priv->cursorObject, &width, &height);
- if (width <= 0 || height <= 0)
- edje_object_size_min_calc(priv->cursorObject, &width, &height);
- if (width <= 0 || height <= 0) {
- width = 16;
- height = 16;
- }
- evas_object_resize(priv->cursorObject, width, height);
-
- const char* data;
- int hotspotX = 0;
- data = edje_object_data_get(priv->cursorObject, "hot.x");
- if (data)
- hotspotX = atoi(data);
-
- int hotspotY = 0;
- data = edje_object_data_get(priv->cursorObject, "hot.y");
- if (data)
- hotspotY = atoi(data);
-
- ecore_evas_object_cursor_set(ecoreEvas, priv->cursorObject, EVAS_LAYER_MAX, hotspotX, hotspotY);
- }
-}
-
-Eina_Bool ewk_view_setting_enable_fullscreen_get(const Evas_Object* ewkView)
-{
-#if ENABLE(FULLSCREEN_API)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->settings.enableFullscreen;
-#else
- UNUSED_PARAM(ewkView);
- return false;
-#endif
-}
-
-Eina_Bool ewk_view_setting_enable_fullscreen_set(Evas_Object* ewkView, Eina_Bool enable)
-{
-#if ENABLE(FULLSCREEN_API)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- enable = !!enable;
- if (priv->settings.enableFullscreen != enable) {
- priv->pageSettings->setFullScreenEnabled(enable);
- priv->settings.enableFullscreen = enable;
- }
- return true;
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(enable);
- return false;
-#endif
-}
-
-#if ENABLE(FULLSCREEN_API)
-/**
- * @internal
- * Calls fullscreen_enter callback or falls back to default behavior and enables fullscreen mode.
- */
-void ewk_view_fullscreen_enter(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
-
- if (!smartData->api->fullscreen_enter || !smartData->api->fullscreen_enter(smartData)) {
- Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(smartData->base.evas);
- ecore_evas_fullscreen_set(ecoreEvas, true);
- }
-}
-
-/**
- * @internal
- * Calls fullscreen_exit callback or falls back to default behavior and disables fullscreen mode.
- */
-void ewk_view_fullscreen_exit(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
-
- if (!smartData->api->fullscreen_exit || !smartData->api->fullscreen_exit(smartData)) {
- Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(smartData->base.evas);
- ecore_evas_fullscreen_set(ecoreEvas, false);
- }
-}
-#endif
-
-Ewk_Context_Menu* ewk_view_context_menu_get(const Evas_Object* ewkView)
-{
-#if ENABLE(CONTEXT_MENUS)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
-
- return priv->contextMenu;
-#else
- UNUSED_PARAM(ewkView);
- return 0;
-#endif
-}
-
-Eina_Bool ewk_view_setting_tiled_backing_store_enabled_set(Evas_Object* ewkView, Eina_Bool enable)
-{
-#if USE(TILED_BACKING_STORE)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- priv->pageSettings->setTiledBackingStoreEnabled(enable);
-
- return true;
-#else
- UNUSED_PARAM(ewkView);
- UNUSED_PARAM(enable);
- return false;
-#endif
-}
-
-Eina_Bool ewk_view_setting_tiled_backing_store_enabled_get(Evas_Object* ewkView)
-{
-#if USE(TILED_BACKING_STORE)
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
-
- return priv->pageSettings->tiledBackingStoreEnabled();
-#else
- UNUSED_PARAM(ewkView);
- return false;
-#endif
-}
-
-#if USE(TILED_BACKING_STORE)
-/**
- * @internal
- * Invalidate given area to repaint. The backing store will mark tiles that are
- * in the area as dirty.
- *
- * @param ewkView View.
- * @param area Area to invalidate
- */
-void ewk_view_tiled_backing_store_invalidate(Evas_Object* ewkView, const WebCore::IntRect& area)
-{
- EINA_SAFETY_ON_NULL_RETURN(ewkView);
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
-
- if (priv->mainFrame->tiledBackingStore())
- priv->mainFrame->tiledBackingStore()->invalidate(area);
-}
-#endif
-
-namespace EWKPrivate {
-
-WebCore::Page* corePage(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->page.get();
-}
-
-PlatformPageClient corePageClient(Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->pageClient.get();
-}
-
-WebCore::NetworkStorageSession* storageSession(const Evas_Object* ewkView)
-{
- EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->storageSession;
-}
-
-} // namespace EWKPrivate
diff --git a/Source/WebKit/efl/ewk/ewk_view.h b/Source/WebKit/efl/ewk/ewk_view.h
deleted file mode 100644
index eb3c74eaf..000000000
--- a/Source/WebKit/efl/ewk/ewk_view.h
+++ /dev/null
@@ -1,2825 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2012 Samsung Electronics
- Copyright (C) 2012 Intel Corporation
-
- 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.
-*/
-
-/**
- * @file ewk_view.h
- * @brief WebKit main smart object.
- *
- * This object allows the high level access to WebKit-EFL component.
- * It is responsible for managing the main frame and other
- * critical resources.
- *
- * Every ewk_view has at least one frame, called "main frame" and
- * retrieved with ewk_view_frame_main_get(). Direct frame access is
- * often discouraged, it is recommended to use ewk_view functions
- * instead.
- *
- * The following signals (see evas_object_smart_callback_add()) are emitted:
- *
- * - "colorchooser,create", Ewk_Color: a new color chooser should be created.
- * - "colorchooser,willdelete", void: reports that a previously created color
- * chooser will be deleted.
- * - "colorchooser,color,changed", Ewk_Color: the value at the color input widget
- * corresponding to the color chooser has changed.
- * - "download,request", Ewk_Download: reports a download is being requested
- * - "editorclient,contents,changed", void: reports to the view that editor
- * client's contents were changed
- * - "frame,created", Evas_Object*: a new frame is created.
- * - "icon,received", void: main frame received an icon.
- * - "inputmethod,changed", Eina_Bool: reports that input method was changed and
- * it gives a boolean value whether it's enabled or not as an argument.
- * - "inspector,view,close", Evas_Object*: request to close the view for inspector.
- * - "inspector,view,create", void: request to create the new view for inspector.
- * - "js,windowobject,clear", void: Report that the JS window object has been cleared.
- * - "link,hover,in", const char *link[2]: reports mouse is over a link.
- * It gives the url in link[0] and link's title in link[1] as an argument.
- * - "link,hover,out", void: reports mouse moved out from a link.
- * - "load,document,finished", Evas_Object*: a DOM document object in a frame has finished loading.
- * - "load,error", const Ewk_Frame_Load_Error*: reports load failed
- * - "load,finished", const Ewk_Frame_Load_Error*: reports load
- * finished and it gives @c NULL on success or pointer to
- * structure defining the error.
- * - "load,newwindow,show", void: reports that a new window was created and can be shown.
- * and it gives a pointer to structure defining the error as an argument.
- * - "load,progress", double*: load progress is changed (overall value
- * from 0.0 to 1.0, connect to individual frames for fine grained).
- * - "load,provisional", void: view started provisional load.
- * - "load,provisional,failed", Ewk_Frame_Load_Error*: view provisional load failed.
- * - "load,resource,finished", unsigned long*: reports resource load finished and it gives
- * a pointer to its identifier.
- * - "load,resource,failed", Ewk_Frame_Load_Error*: reports resource load failure and it
- * gives a pointer to structure defining the error as an argument.
- * - "load,started", Evas_Object*: frame started loading the document.
- * - "menubar,visible,get", Eina_Bool *: expects a @c EINA_TRUE if menubar is
- * visible; @c EINA_FALSE, otherwise.
- * - "menubar,visible,set", Eina_Bool: sets menubar visibility.
- * - "mixedcontent,displayed", void: any of the containing frames has loaded and displayed mixed content.
- * - "mixedcontent,run", void: any of the containing frames has loaded and run mixed content.
- * - "navigate,with,data", Ewk_View_Navigation_Data*: reports that view did navigation and gives the navigation details.
- * - "perform,client,redirect", Ewk_View_Redirection_Data*: reports that view performed a client redirect and gives the redirection details.
- * - "perform,server,redirect", Ewk_View_Redirection_Data*: reports that view performed a server redirect and gives the redirection details.
- * - "protocolhandler,registration,requested", Ewk_Custom_Handler_Data: add a handler url for the given protocol.
- * - "protocolhandler,isregistered", Ewk_Custom_Handler_Data: query whether the handler is registered or not.
- * - "protocolhandler,unregistration,requested", Ewk_Custom_Handler_Data: remove a handler url for the given protocol.
- * - "onload,event", Evas_Object*: a frame onload event has been received.
- * - "populate,visited,links": tells the client to fill the visited links set.
- * - "ready", void: page is fully loaded.
- * - "resource,request,new", Ewk_Frame_Resource_Request*: reports that
- * there's a new resource request.
- * - "resource,request,willsend", Ewk_Frame_Resource_Messages*: a resource will be requested.
- * and the possible redirect response.
- * - "resource,response,received", Ewk_Frame_Resource_Response*: the network response for a resource.
- * - "scrollbars,visible,get", Eina_Bool *: expects a @c EINA_TRUE if scrollbars
- * are visible; @c EINA_FALSE, otherwise.
- * - "scrollbars,visible,set", Eina_Bool: sets scrollbars visibility.
- * - "statusbar,text,set", const char *: sets statusbar text.
- * - "statusbar,visible,get", Eina_Bool *: expects a @c EINA_TRUE if statusbar is
- * visible; @c EINA_FALSE, otherwise.
- * - "statusbar,visible,set", Eina_Bool: sets statusbar visibility.
- * - "title,changed", Ewk_Text_With_Direction*: title of the main frame was changed.
- * - "toolbars,visible,get", Eina_Bool *: expects a @c EINA_TRUE if toolbar
- * is visible; @c EINA_FALSE, otherwise.
- * - "toolbars,visible,set", Eina_Bool: sets toolbar visibility.
- * - "popup,create", Ewk_Menu: reports that a new menu was created.
- * - "popup,willdeleted", Ewk_Menu: reports that a previously created menu
- * will be deleted.
- * - "restore", Evas_Object *: reports that view should be restored to default conditions
- * and it gives a frame that originated restore as an argument.
- * - "tooltip,text,set", const char*: tooltip was set.
- * - "tooltip,text,unset", void: tooltip was unset.
- * - "uri,changed", const char*: uri of the main frame was changed.
- * - "view,resized", void: view object's size was changed.
- * - "viewport,changed", void: reports that viewport was changed.
- * - "zoom,animated,end", void: requested animated zoom is finished.
- */
-
-#ifndef ewk_view_h
-#define ewk_view_h
-
-#include "ewk_contextmenu.h"
-#include "ewk_file_chooser.h"
-#include "ewk_frame.h"
-#include "ewk_history.h"
-#include "ewk_js.h"
-#include "ewk_window_features.h"
-
-#include <Evas.h>
-#include <cairo.h>
-#include <libsoup/soup.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/// Creates a type name for @a _Ewk_View_Smart_Data.
-typedef struct _Ewk_View_Smart_Data Ewk_View_Smart_Data;
-
-/// Creates a type name for a Resource Handler Callback
-typedef void* (*Ewk_View_Resource_Handler_Cb)(const char *, size_t *, char **, void *);
-
-/// Creates a type name for @a _Ewk_View_Smart_Class.
-typedef struct _Ewk_View_Smart_Class Ewk_View_Smart_Class;
-
-// Defines the direction of focus change. Keep in sync with
-// WebCore::FocusDirection.
-enum _Ewk_Focus_Direction {
- EWK_FOCUS_DIRECTION_FORWARD = 1,
- EWK_FOCUS_DIRECTION_BACKWARD,
-};
-typedef enum _Ewk_Focus_Direction Ewk_Focus_Direction;
-
-/// Ewk view's class, to be overridden by sub-classes.
-struct _Ewk_View_Smart_Class {
- Evas_Smart_Class sc; /**< All but 'data' is free to be changed. */
- unsigned long version;
-
- Evas_Object *(*window_create)(Ewk_View_Smart_Data *sd, Eina_Bool javascript, const Ewk_Window_Features *window_features); /**< creates a new window, requested by webkit */
- void (*window_close)(Ewk_View_Smart_Data *sd); /**< closes a window */
- // hooks to allow different backing stores
- Evas_Object *(*backing_store_add)(Ewk_View_Smart_Data *sd); /**< must be defined */
- Eina_Bool (*scrolls_process)(Ewk_View_Smart_Data *sd); /**< must be defined */
- Eina_Bool (*repaints_process)(Ewk_View_Smart_Data *sd); /**< must be defined */
- Eina_Bool (*contents_resize)(Ewk_View_Smart_Data *sd, int w, int h);
- Eina_Bool (*zoom_set)(Ewk_View_Smart_Data *sd, float zoom, Evas_Coord cx, Evas_Coord cy);
- Eina_Bool (*zoom_weak_set)(Ewk_View_Smart_Data *sd, float zoom, Evas_Coord cx, Evas_Coord cy);
- void (*zoom_weak_smooth_scale_set)(Ewk_View_Smart_Data *sd, Eina_Bool smooth_scale);
- void (*bg_color_set)(Ewk_View_Smart_Data *sd, unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha);
- void (*flush)(Ewk_View_Smart_Data *sd);
- Eina_Bool (*pre_render_region)(Ewk_View_Smart_Data *sd, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, float zoom);
- Eina_Bool (*pre_render_relative_radius)(Ewk_View_Smart_Data *sd, unsigned int n, float zoom);
- Eina_Bool (*pre_render_start)(Ewk_View_Smart_Data *sd);
- void (*pre_render_cancel)(Ewk_View_Smart_Data *sd);
- Eina_Bool (*disable_render)(Ewk_View_Smart_Data *sd);
- Eina_Bool (*enable_render)(Ewk_View_Smart_Data *sd);
-
- // event handling:
- // - returns true if handled
- // - if overridden, have to call parent method if desired
- Eina_Bool (*focus_in)(Ewk_View_Smart_Data *sd);
- Eina_Bool (*focus_out)(Ewk_View_Smart_Data *sd);
- Eina_Bool (*fullscreen_enter)(Ewk_View_Smart_Data *sd);
- Eina_Bool (*fullscreen_exit)(Ewk_View_Smart_Data *sd);
- Eina_Bool (*mouse_wheel)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Wheel *ev);
- Eina_Bool (*mouse_down)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Down *ev);
- Eina_Bool (*mouse_up)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Up *ev);
- Eina_Bool (*mouse_move)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Move *ev);
- Eina_Bool (*key_down)(Ewk_View_Smart_Data *sd, const Evas_Event_Key_Down *ev);
- Eina_Bool (*key_up)(Ewk_View_Smart_Data *sd, const Evas_Event_Key_Up *ev);
-
- void (*add_console_message)(Ewk_View_Smart_Data *sd, const char *message, unsigned int lineNumber, const char *sourceID);
- void (*run_javascript_alert)(Ewk_View_Smart_Data *sd, Evas_Object *frame, const char *message);
- Eina_Bool (*run_javascript_confirm)(Ewk_View_Smart_Data *sd, Evas_Object *frame, const char *message);
- Eina_Bool (*run_before_unload_confirm)(Ewk_View_Smart_Data *sd, Evas_Object *frame, const char *message);
- Eina_Bool (*run_javascript_prompt)(Ewk_View_Smart_Data *sd, Evas_Object *frame, const char *message, const char *defaultValue, const char **value);
- Eina_Bool (*should_interrupt_javascript)(Ewk_View_Smart_Data *sd);
- int64_t (*exceeded_application_cache_quota)(Ewk_View_Smart_Data *sd, Ewk_Security_Origin* origin, int64_t defaultOriginQuota, int64_t totalSpaceNeeded);
- uint64_t (*exceeded_database_quota)(Ewk_View_Smart_Data *sd, Evas_Object *frame, const char *databaseName, uint64_t current_size, uint64_t expected_size);
-
- Eina_Bool (*run_open_panel)(Ewk_View_Smart_Data *sd, Evas_Object *frame, Ewk_File_Chooser *file_chooser, Eina_List **selected_filenames);
-
- Eina_Bool (*navigation_policy_decision)(Ewk_View_Smart_Data *sd, Ewk_Frame_Resource_Request *request, Ewk_Navigation_Type navigation_type);
- Eina_Bool (*focus_can_cycle)(Ewk_View_Smart_Data *sd, Ewk_Focus_Direction direction);
-};
-
-/**
- * The version you have to put into the version field
- * in the @a Ewk_View_Smart_Class structure.
- */
-#define EWK_VIEW_SMART_CLASS_VERSION 7UL
-
-/**
- * Initializes a whole @a Ewk_View_Smart_Class structure.
- *
- * @param smart_class_init initializer to use for the "base" field
- * @a Evas_Smart_Class
- *
- * @see EWK_VIEW_SMART_CLASS_INIT_NULL
- * @see EWK_VIEW_SMART_CLASS_INIT_VERSION
- * @see EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION
- */
-#define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
-
-/**
- * Initializes to zero a whole @a Ewk_View_Smart_Class structure.
- *
- * @see EWK_VIEW_SMART_CLASS_INIT_VERSION
- * @see EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION
- * @see EWK_VIEW_SMART_CLASS_INIT
- */
-#define EWK_VIEW_SMART_CLASS_INIT_NULL EWK_VIEW_SMART_CLASS_INIT(EVAS_SMART_CLASS_INIT_NULL)
-
-/**
- * Initializes to zero a whole @a Ewk_View_Smart_Class structure
- * and sets the version.
- *
- * Similar to @a EWK_VIEW_SMART_CLASS_INIT_NULL, but it sets the version field of
- * @a Evas_Smart_Class (base field) to latest @a EVAS_SMART_CLASS_VERSION.
- *
- * @see EWK_VIEW_SMART_CLASS_INIT_NULL
- * @see EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION
- * @see EWK_VIEW_SMART_CLASS_INIT
- */
-#define EWK_VIEW_SMART_CLASS_INIT_VERSION EWK_VIEW_SMART_CLASS_INIT(EVAS_SMART_CLASS_INIT_VERSION)
-
-/**
- * Initializes to zero a whole @a Ewk_View_Smart_Class structure
- * and sets the name and version.
- *
- * Similar to @a EWK_VIEW_SMART_CLASS_INIT_NULL, but it sets the version field of
- * @a Evas_Smart_Class (base field) to latest @a EVAS_SMART_CLASS_VERSION
- * and the name to the specific value.
- *
- * It will keep a reference to the name field as a "const char *", that is,
- * name must be available while the structure is used (hint: static or global!)
- * and it will not be modified.
- *
- * @see EWK_VIEW_SMART_CLASS_INIT_NULL
- * @see EWK_VIEW_SMART_CLASS_INIT_VERSION
- * @see EWK_VIEW_SMART_CLASS_INIT
- */
-#define EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION(name) EWK_VIEW_SMART_CLASS_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))
-
-/// Defines the input method hints.
-enum _Ewk_Imh {
- EWK_IMH_TELEPHONE = (1 << 0),
- EWK_IMH_NUMBER = (1 << 1),
- EWK_IMH_EMAIL = (1 << 2),
- EWK_IMH_URL = (1 << 3),
- EWK_IMH_PASSWORD = (1 << 4)
-};
-/// Creates a type name for @a _Ewk_Imh.
-typedef enum _Ewk_Imh Ewk_Imh;
-
-/// Creates a type name for @a _Ewk_View_Private_Data.
-typedef struct _Ewk_View_Private_Data Ewk_View_Private_Data;
-
-/// Defines the types of the items for the context menu.
-enum _Ewk_Menu_Item_Type {
- EWK_MENU_SEPARATOR,
- EWK_MENU_GROUP,
- EWK_MENU_OPTION
-};
-/// Creates a type name for @a _Ewk_Menu_Item_Type.
-typedef enum _Ewk_Menu_Item_Type Ewk_Menu_Item_Type;
-
-/// Creates a type name for @a _Ewk_Menu_Item.
-typedef struct _Ewk_Menu_Item Ewk_Menu_Item;
-/// Contains data of each menu item.
-struct _Ewk_Menu_Item {
- const char *text; /**< Text of the item. */
- Ewk_Menu_Item_Type type; /** Type of the item. */
-};
-
-/// Creates a type name for @a _Ewk_Menu.
-typedef struct _Ewk_Menu Ewk_Menu;
-/// Contains Popup menu data.
-struct _Ewk_Menu {
- Eina_List *items; /**< List of items. */
- int x; /**< The horizontal position of Popup menu. */
- int y; /**< The vertical position of Popup menu. */
- int width; /**< Popup menu width. */
- int height; /**< Popup menu height. */
-};
-
-/// Creates a type name for @a _Ewk_Download.
-typedef struct _Ewk_Download Ewk_Download;
-/// Contains Download data.
-struct _Ewk_Download {
- const char *url; /**< URL of resource. */
- const char *suggested_name; /**< suggested name from download attributes */
- /* to be extended */
-};
-
-/// Creates a type name for @a _Ewk_View_Navigation_Data.
-typedef struct _Ewk_View_Navigation_Data Ewk_View_Navigation_Data;
-
-/**
- * @brief Structure containing details about a view navigation.
- *
- * Details of a view navigation. It is used in "navigate,with,data" signal.
- */
-struct _Ewk_View_Navigation_Data {
- const char *url; /**< URL for the history. */
- const char *title; /**< Title of the navigated page. */
- Ewk_Frame_Resource_Request *request; /**< Navigation request. */
- Ewk_Frame_Resource_Response *response; /**< Navigation response. */
- Eina_Bool has_substitute_data; /**< Data substitution flag. */
- const char *client_redirect_source; /**< Client redirect source URL. */
-};
-
-
-/// Creates a type name for @a _Ewk_View_Redirection_Data.
-typedef struct _Ewk_View_Redirection_Data Ewk_View_Redirection_Data;
-
-/**
- * @brief Structure containing details about a view redirection.
- *
- * Details of a client or server redirection. It is used in "perform,client,redirect" and "perform,server,redirect" signals.
- */
-struct _Ewk_View_Redirection_Data {
- const char *source_url; /**< Redirect source URL. */
- const char *destination_url; /**< Redirect destination URL. */
-};
-
-/// Creates a type name for @a _Ewk_Color.
-typedef struct _Ewk_Color Ewk_Color;
-/// Represents a color using the RGBA format.
-struct _Ewk_Color {
- unsigned char r; /**< Red channel. */
- unsigned char g; /**< Green channel. */
- unsigned char b; /**< Blue channel. */
- unsigned char a; /**< Alpha channel. */
-};
-
-/// Defines the handler states.
-enum _Ewk_Custom_Handlers_State {
- EWK_CUSTOM_HANDLERS_NEW,
- EWK_CUSTOM_HANDLERS_REGISTERED,
- EWK_CUSTOM_HANDLERS_DECLINED
-};
-/// Creates a type name for @a _Ewk_Custom_Handlers_State.
-typedef enum _Ewk_Custom_Handlers_State Ewk_Custom_Handlers_State;
-
-/// Creates a type name for @a _Ewk_Custom_Handler_Data.
-typedef struct _Ewk_Custom_Handler_Data Ewk_Custom_Handler_Data;
-/// Contains the target scheme and the url which take care of the target.
-struct _Ewk_Custom_Handler_Data {
- Evas_Object *ewkView; /**< Reference to the view object. */
- const char *scheme; /**< Reference to the scheme that will be handled. (eg. "application/x-soup") */
- const char *base_url; /**< Reference to the resolved url if the url is relative url. (eg. "https://www.example.com/") */
- const char *url; /**< Reference to the url which will handle the given protocol. (eg. "soup?url=%s") */
- const char *title; /**< Reference to the descriptive title of the handler. (eg. "SoupWeb") */
- Ewk_Custom_Handlers_State result; /**< Result of the query that the protocol handler is registered or not. */
-};
-
-/**
- * @brief Contains an internal View data.
- *
- * It is to be considered private by users, but may be extended or
- * changed by sub-classes (that's why it's in the public header file).
- */
-struct _Ewk_View_Smart_Data {
- Evas_Object_Smart_Clipped_Data base;
- const Ewk_View_Smart_Class *api; /**< Reference to casted class instance. */
- Evas_Object *self; /**< Reference to owner object. */
- Evas_Object *main_frame; /**< Reference to main frame object. */
- Evas_Object *backing_store; /**< Reference to backing store. */
- Evas_Object *events_rect; /**< The rectangle that receives mouse events. */
- Ewk_View_Private_Data *_priv; /**< Should @b never be accessed, c++ stuff. */
- struct {
- Evas_Coord x, y, w, h;
- } view; /**< Contains the position and size of last used viewport. */
- struct {
- struct {
- float start;
- float end;
- float current; /**< if > 0.0, then doing animated zoom. */
- } zoom;
- } animated_zoom;
- struct {
- unsigned char r, g, b, a;
- } bg_color; /**< Keeps the background color. */
- Eina_Bool zoom_weak_smooth_scale:1;
- struct {
- Eina_Bool any:1;
- Eina_Bool size:1;
- Eina_Bool position:1;
- Eina_Bool frame_rect:1;
- } changed; /**< Keeps what changed since last smart_calculate. */
- struct {
- Evas_Coord x, y;
- float zoom;
- } previousView;
-};
-
-/// Defines the modes of view.
-enum _Ewk_View_Mode {
- EWK_VIEW_MODE_INVALID,
- EWK_VIEW_MODE_WINDOWED,
- EWK_VIEW_MODE_FLOATING,
- EWK_VIEW_MODE_FULLSCREEN,
- EWK_VIEW_MODE_MAXIMIZED,
- EWK_VIEW_MODE_MINIMIZED
-};
-/// Creates a type name for @a _Ewk_View_Mode.
-typedef enum _Ewk_View_Mode Ewk_View_Mode;
-
-/// Defines the font families.
-enum _Ewk_Font_Family {
- EWK_FONT_FAMILY_STANDARD = 0,
- EWK_FONT_FAMILY_CURSIVE,
- EWK_FONT_FAMILY_FANTASY,
- EWK_FONT_FAMILY_MONOSPACE,
- EWK_FONT_FAMILY_SERIF,
- EWK_FONT_FAMILY_SANS_SERIF
-};
-/// Creates a type name for @a _Ewk_Font_Family.
-typedef enum _Ewk_Font_Family Ewk_Font_Family;
-
-/// Contains commands to execute.
-enum _Ewk_Editor_Command {
- EWK_EDITOR_COMMAND_NONE = -1,
- EWK_EDITOR_COMMAND_UNDO = 0,
- EWK_EDITOR_COMMAND_REDO,
- EWK_EDITOR_COMMAND_TOGGLE_BOLD,
- EWK_EDITOR_COMMAND_TOGGLE_ITALIC,
- EWK_EDITOR_COMMAND_TOGGLE_UNDERLINE,
- EWK_EDITOR_COMMAND_TOGGLE_STRIKETHROUGH,
- EWK_EDITOR_COMMAND_TOGGLE_SUBSCRIPT,
- EWK_EDITOR_COMMAND_TOGGLE_SUPERSCRIPT,
- EWK_EDITOR_COMMAND_INDENT,
- EWK_EDITOR_COMMAND_OUTDENT,
- EWK_EDITOR_COMMAND_INSERT_ORDEREDLIST,
- EWK_EDITOR_COMMAND_INSERT_UNORDEREDLIST,
- EWK_EDITOR_COMMAND_INSERT_IMAGE,
- EWK_EDITOR_COMMAND_INSERT_TEXT,
- EWK_EDITOR_COMMAND_INSERT_HTML,
- EWK_EDITOR_COMMAND_INSERT_PARAGRAPH,
- EWK_EDITOR_COMMAND_INSERT_PARAGRAPH_SEPARATOR,
- EWK_EDITOR_COMMAND_INSERT_LINE_SEPARATOR,
- EWK_EDITOR_COMMAND_BACK_COLOR,
- EWK_EDITOR_COMMAND_FORE_COLOR,
- EWK_EDITOR_COMMAND_HILITE_COLOR,
- EWK_EDITOR_COMMAND_FONT_SIZE,
- EWK_EDITOR_COMMAND_ALIGN_CENTER,
- EWK_EDITOR_COMMAND_ALIGN_JUSTIFIED,
- EWK_EDITOR_COMMAND_ALIGN_LEFT,
- EWK_EDITOR_COMMAND_ALIGN_RIGHT,
- EWK_EDITOR_COMMAND_MOVE_TO_NEXT_CHAR,
- EWK_EDITOR_COMMAND_MOVE_TO_PREVIOUS_CHAR,
- EWK_EDITOR_COMMAND_MOVE_TO_NEXT_WORD,
- EWK_EDITOR_COMMAND_MOVE_TO_PREVIOUS_WORD,
- EWK_EDITOR_COMMAND_MOVE_TO_NEXT_LINE,
- EWK_EDITOR_COMMAND_MOVE_TO_PREVIOUS_LINE,
- EWK_EDITOR_COMMAND_MOVE_TO_BEGINNING_OF_LINE,
- EWK_EDITOR_COMMAND_MOVE_TO_END_OF_LINE,
- EWK_EDITOR_COMMAND_MOVE_TO_BEGINNING_OF_PARAGRAPH,
- EWK_EDITOR_COMMAND_MOVE_TO_END_OF_PARAGRAPH,
- EWK_EDITOR_COMMAND_MOVE_TO_BEGINNING_OF_DOCUMENT,
- EWK_EDITOR_COMMAND_MOVE_TO_END_OF_DOCUMENT,
- EWK_EDITOR_COMMAND_SELECT_NONE,
- EWK_EDITOR_COMMAND_SELECT_ALL,
- EWK_EDITOR_COMMAND_SELECT_PARAGRAPH,
- EWK_EDITOR_COMMAND_SELECT_SENTENCE,
- EWK_EDITOR_COMMAND_SELECT_LINE,
- EWK_EDITOR_COMMAND_SELECT_WORD,
- EWK_EDITOR_COMMAND_SELECT_NEXT_CHAR,
- EWK_EDITOR_COMMAND_SELECT_PREVIOUS_CHAR,
- EWK_EDITOR_COMMAND_SELECT_NEXT_WORD,
- EWK_EDITOR_COMMAND_SELECT_PREVIOUS_WORD,
- EWK_EDITOR_COMMAND_SELECT_NEXT_LINE,
- EWK_EDITOR_COMMAND_SELECT_PREVIOUS_LINE,
- EWK_EDITOR_COMMAND_SELECT_START_OF_LINE,
- EWK_EDITOR_COMMAND_SELECT_END_OF_LINE,
- EWK_EDITOR_COMMAND_SELECT_START_OF_PARAGRAPH,
- EWK_EDITOR_COMMAND_SELECT_END_OF_PARAGRAPH,
- EWK_EDITOR_COMMAND_SELECT_START_OF_DOCUMENT,
- EWK_EDITOR_COMMAND_SELECT_END_OF_DOCUMENT,
- EWK_EDITOR_COMMAND_DELETE_WORD_BACKWARD,
- EWK_EDITOR_COMMAND_DELETE_WORD_FORWARD
-};
-
-/// Creates a type name for @a _Ewk_Editor_Command.
-typedef enum _Ewk_Editor_Command Ewk_Editor_Command;
-
-/**
- * @brief Creates a type name for @a _Ewk_Tile_Unused_Cache.
- *
- * Cache (pool) that contains unused tiles for ewk_view_tiled.
- *
- * This cache will maintain unused tiles and flush them when the total
- * memory exceeds the set amount when
- * ewk_tile_unused_cache_auto_flush() or explicitly set value when
- * ewk_tile_unused_cache_flush() is called.
- *
- * The tile may be shared among different ewk_view_tiled instances to
- * group maximum unused memory resident in the system.
- */
-typedef struct _Ewk_Tile_Unused_Cache Ewk_Tile_Unused_Cache;
-
-/**
- * Changes cache capacity of unused tiles.
- *
- * @param tuc cache of unused tiles to set a new capacity of unused tiles
- *
- * @param max a new capacity of cache, in bytes
- *
- * @note This will not flush cache, use ewk_tile_unused_cache_flush() or
- * ewk_tile_unused_cache_auto_flush() to do so.
- */
-EAPI void ewk_tile_unused_cache_max_set(Ewk_Tile_Unused_Cache *tuc, size_t max);
-
-/**
- * Retrieves maximum cache capacity of unused tiles.
- *
- * @param tuc cache of unused tiles to get maximum cache capacity of unused tiles
- *
- * @return maximum cache capacity, in bytes on success or @c 0 on failure
- */
-EAPI size_t ewk_tile_unused_cache_max_get(const Ewk_Tile_Unused_Cache *tuc);
-
-/**
- * Retrieves the used cache capacity of unused tiles.
- *
- * @param tuc cache of unused tiles to get used cache capacity of unused tiles
- *
- * @return used cache capacity, in bytes on success or @c 0 on failure
- */
-EAPI size_t ewk_tile_unused_cache_used_get(const Ewk_Tile_Unused_Cache *tuc);
-
-/**
- * Flushes given amount of bytes from cache of unused tiles.
- *
- * After calling this function, near @a bytes are freed from cache. It
- * may be less if cache did not contain that amount of bytes (ie: an
- * empty cache has nothing to free!) or more if the cache just
- * contained objects that were larger than the requested amount (this
- * is usually the case).
- *
- * @param tuc cache of unused tiles to flush @bytes from cache
- * @param bytes amount bytes to free
- *
- * @return amount really freed bytes
- *
- * @see ewk_tile_unused_cache_used_get()
- */
-EAPI size_t ewk_tile_unused_cache_flush(Ewk_Tile_Unused_Cache *tuc, size_t bytes);
-
-/**
- * Flushes enough bytes to make cache of unused tiles usage lower than maximum.
- *
- * Just like ewk_tile_unused_cache_flush(), but this will make the cache
- * free enough tiles to respect maximum cache size as defined with
- * ewk_tile_unused_cache_max_set().
- *
- * This function is usually called when system becomes idle. This way
- * we keep memory low but do not impact performance when
- * creating/deleting tiles.
- *
- * @param tuc cache of unused tiles to flush cache of unused tiles
- */
-EAPI void ewk_tile_unused_cache_auto_flush(Ewk_Tile_Unused_Cache *tuc);
-
-/**
- * Sets the smart class api without any backing store, enabling view
- * to be inherited.
- *
- * @param api class definition to set, all members with the
- * exception of @a Evas_Smart_Class->data may be overridden, must
- * @b not be @c NULL
- *
- * @note @a Evas_Smart_Class->data is used to implement type checking and
- * is not supposed to be changed/overridden. If you need extra
- * data for your smart class to work, just extend
- * Ewk_View_Smart_Class instead.
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (probably
- * version mismatch)
- *
- * @see ewk_view_single_smart_set()
- * @see ewk_view_tiled_smart_set()
- */
-EAPI Eina_Bool ewk_view_base_smart_set(Ewk_View_Smart_Class *api);
-
-/**
- * Sets the smart class api using single backing store, enabling view
- * to be inherited.
- *
- * @param api class definition to set, all members with the
- * exception of @a Evas_Smart_Class->data may be overridden, must
- * @b not be @c NULL
- *
- * @note @a Evas_Smart_Class->data is used to implement type checking and
- * is not supposed to be changed/overridden. If you need extra
- * data for your smart class to work, just extend
- * @a Ewk_View_Smart_Class instead.
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (probably
- * version mismatch)
- *
- * @see ewk_view_base_smart_set()
- */
-EAPI Eina_Bool ewk_view_single_smart_set(Ewk_View_Smart_Class *api);
-
-/**
- * Sets the smart class api using tiled backing store, enabling view
- * to be inherited.
- *
- * @param api class definition to set, all members with the
- * exception of @a Evas_Smart_Class->data may be overridden, must
- * @b not be @c NULL
- *
- * @note @a Evas_Smart_Class->data is used to implement type checking and
- * is not supposed to be changed/overridden. If you need extra
- * data for your smart class to work, just extend
- * Ewk_View_Smart_Class instead.
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (probably
- * version mismatch)
- *
- * @see ewk_view_base_smart_set()
- */
-EAPI Eina_Bool ewk_view_tiled_smart_set(Ewk_View_Smart_Class *api);
-
-/**
- * Creates a new EFL WebKit View object.
- *
- * View objects are the recommended way to deal with EFL WebKit as it
- * abstracts the complex pieces of the process.
- *
- * Each view is composed by a set of frames. The set has at least one
- * frame, called 'main_frame'. See ewk_view_frame_main_get() and
- * ewk_view_frame_focused_get().
- *
- * @param e canvas object where to create the view object
- *
- * @return view object on success or @c NULL on failure
- *
- * @see ewk_view_uri_set()
- */
-EAPI Evas_Object *ewk_view_single_add(Evas *e);
-
-/**
- * Creates a new EFL WebKit View object using tiled backing store.
- *
- * View objects are the recommended way to deal with EFL WebKit as it
- * abstracts the complex pieces of the process.
- *
- * This object is almost the same as the one returned by the ewk_view_single_add()
- * function, but it uses the tiled backing store instead of the default
- * backing store.
- *
- * @param e canvas object where to create the view object
- *
- * @return the view object on success or @c NULL on failure
- *
- * @see ewk_view_uri_set()
- */
-EAPI Evas_Object *ewk_view_tiled_add(Evas *e);
-
-/**
- * Gets the cache object of unused tiles used by this view.
- *
- * @param o the view object to get the cache object
- *
- * @return the cache object of unused tiles or @c NULL on failure
- */
-EAPI Ewk_Tile_Unused_Cache *ewk_view_tiled_unused_cache_get(const Evas_Object *o);
-
-/**
- * Sets the cache object of unused tiles used by this view.
- *
- * It can be used to share a single cache amongst different views.
- * The tiles from one view will not be used by the other!
- * This is just to limit the group with amount of unused memory.
- *
- * @note If @c NULL is provided as a @a cache, then a new one is created.
- *
- * @param o the view object to set the cache object
- * @param the cache object of unused tiles
- */
-EAPI void ewk_view_tiled_unused_cache_set(Evas_Object *o, Ewk_Tile_Unused_Cache *cache);
-
-/**
- * Sets a fixed layout size to be used, dissociating it from viewport size.
- *
- * Setting a width different than zero enables fixed layout on that
- * size. It's automatically scaled based on zoom, but will not change
- * if viewport changes.
- *
- * Setting both @a w and @a h to zero will disable fixed layout.
- *
- * @param o view object to change fixed layout
- * @param w fixed width to use, this size will be automatically scaled
- * based on zoom level
- * @param h fixed height to use, this size will be automatically scaled
- * based on zoom level
- */
-EAPI void ewk_view_fixed_layout_size_set(Evas_Object *o, Evas_Coord w, Evas_Coord h);
-
-/**
- * Gets fixed layout size.
- *
- * @param o view object to get fixed layout size
- * @param w the pointer to store fixed width, returns @c NULL on failure or if there is no
- * fixed layout in use
- * @param h the pointer to store fixed height, returns @c NULL on failure or if there is no
- * fixed layout in use
- */
-EAPI void ewk_view_fixed_layout_size_get(const Evas_Object *o, Evas_Coord *w, Evas_Coord *h);
-
-/**
- * Sets the theme path that will be used by this view.
- *
- * This also sets the theme on the main frame. As frames inherit theme
- * from their parent, this will have all frames with unset theme to
- * use this one.
- *
- * @param o view object to change theme
- * @param path theme path
- */
-EAPI void ewk_view_theme_set(Evas_Object *o, const char *path);
-
-/**
- * Gets the theme set on this view.
- *
- * This returns the value set by ewk_view_theme_set().
- *
- * @param o view object to get theme path
- *
- * @return the theme path, may be @c NULL if not set
- */
-EAPI const char *ewk_view_theme_get(const Evas_Object *o);
-
-/**
- * Gets the object that represents the main frame.
- *
- * @param o view object to get main frame
- *
- * @return frame smart object or @c NULL if none yet
- */
-EAPI Evas_Object *ewk_view_frame_main_get(const Evas_Object *o);
-
-/**
- * Gets the currently focused frame object.
- *
- * @param o view object to get focused frame
- *
- * @return frame smart object or @c NULL if none yet
- */
-EAPI Evas_Object *ewk_view_frame_focused_get(const Evas_Object *o);
-
-/**
- * Asks the main frame to load the given URI.
- *
- * @param o view object to load @a uri
- * @param uri uniform resource identifier to load
- *
- * @return @c EINA_TRUE on successful request or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_uri_set(Evas_Object *o, const char *uri);
-
-/**
- * Gets the current uri loaded by main frame.
- *
- * It returns a internal string and should not
- * be modified. The string is guaranteed to be stringshared.
- *
- * @param o view object to get current uri.
- *
- * @return current uri on success or @c NULL on failure
- */
-EAPI const char *ewk_view_uri_get(const Evas_Object *o);
-
-/**
- * Gets the current title of the main frame.
- *
- * It returns a internal string and should not
- * be modified. The string is guaranteed to be stringshared.
- *
- * @param o view object to get current title
- *
- * @return current title on success or @c NULL on failure
- */
-EAPI const Ewk_Text_With_Direction *ewk_view_title_get(const Evas_Object *o);
-
-/**
- * Queries if the main frame is editable.
- *
- * @param o view object to query editable state
- *
- * @return @c EINA_TRUE if the main frame is editable, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_editable_get(const Evas_Object *o);
-
-/**
- * Sets if main frame is editable.
- *
- * @param o view object to set editable state
- * @param editable a new state to set
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_editable_set(Evas_Object *o, Eina_Bool editable);
-
-/**
- * Sets the background color and transparency of the view.
- *
- * Just as in Evas, colors are pre-multiplied, so 50% red is
- * (128, 0, 0, 128) and not (255, 0, 0, 128)!
- *
- * @warning Watch out performance issues with transparency! Object
- * will be handled as transparent image by evas even if the
- * webpage specifies a background color. That mean you'll pay
- * a price even if it's not really transparent, thus
- * scrolling/panning and zooming will be likely slower than
- * if transparency is off.
- *
- * @param o view object to change the background color
- * @param r red color component
- * @param g green color component
- * @param b blue color component
- * @param a transparency
- */
-EAPI void ewk_view_bg_color_set(Evas_Object *o, int r, int g, int b, int a);
-
-/**
- * Gets the background color of the view.
- *
- * Just as in Evas, colors are pre-multiplied, so 50% red is
- * (128, 0, 0, 128) and not (255, 0, 0, 128)!
- *
- * @param o view object to get the background color
- * @param r the pointer to store red color component
- * @param g the pointer to store green color component
- * @param b the pointer to store blue color component
- * @param a the pointer to store alpha value
- */
-EAPI void ewk_view_bg_color_get(const Evas_Object *o, int *r, int *g, int *b, int *a);
-
-/**
- * Gets the copy of the selected text.
- *
- * The returned string @b should be freed by eina_stringshare_del() after use.
- *
- * @param o view object to get selected text
- *
- * @return a newly allocated string or @c NULL if nothing is selected or on failure
- */
-EAPI const char *ewk_view_selection_get(const Evas_Object *o);
-
-/**
- * Forwards a request of a new Context Menu to WebCore.
- *
- * @param o view object to forward a request of a new Context Menu
- * @param ev mouse down event data
- *
- * @return @c EINA_TRUE if operation was executed, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_context_menu_forward_event(Evas_Object *o, const Evas_Event_Mouse_Down *ev);
-
-/**
- * Executes editor command.
- *
- * @param o view object to execute command
- * @param command editor command to execute
- * @param value the value to be passed into command
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_editor_command_execute(const Evas_Object *o, const Ewk_Editor_Command command, const char *value);
-
-/**
- * Destroys a previously created color chooser.
- *
- * Before destroying, it informs client that color chooser's data is ready to be
- * destroyed by sending a "colorchooser,willdelete". Then it removes any reference
- * to the color chooser inside webkit. It's safe to call this function either from
- * inside webkit or from browser.
- *
- * @param o view object
- *
- * @return @c EINA_TRUE in case color chooser was successfully destroyed or @c EINA_TRUE in
- * case there wasn't any color chooser to be destroyed
- */
-EAPI Eina_Bool ewk_view_color_chooser_destroy(Evas_Object* o);
-
-/**
- * Changes the selected color.
- *
- * Changes the color selected in the color input widget. The browser should call
- * this when the user chooses a new color. It's likely that ewk_view_color_chooser_destroy
- * will be called afterwards.
- *
- * @param o view object
- * @param r red color component
- * @param g green color component
- * @param b blue color component
- */
-EAPI void ewk_view_color_chooser_color_set(Evas_Object* o, int r, int g, int b);
-
-/**
- * Changes currently selected item.
- *
- * Changes the option selected in select widget. This is called by browser
- * whenever user has chosen a different item. Most likely after calling this, a
- * call to ewk_view_popup_destroy might be made in order to close the popup.
- *
- * @param o view object to change currently selected item
- * @index index a new index to set
- */
-EAPI void ewk_view_popup_selected_set(Evas_Object *o, int index);
-
-/**
- * Destroys a previously created menu.
- *
- * Before destroying, it informs client that menu's data is ready to be
- * destroyed by sending a "popup,willdelete" with a list of menu items. Then it
- * removes any reference to menu inside webkit. It's safe to call this
- * function either from inside webkit or from browser.
- *
- * @param o view object
- *
- * @return @c EINA_TRUE in case menu was successfully destroyed or @c EINA_TRUE in
- * case there wasn't any menu to be destroyed
- */
-EAPI Eina_Bool ewk_view_popup_destroy(Evas_Object *o);
-
-/**
- * Searches the given string in a document.
- *
- * @param o view object where to search the text
- * @param string reference string to search
- * @param case_sensitive if search should be case sensitive or not
- * @param forward if search is from cursor and on or backwards
- * @param wrap if search should wrap at the end
- *
- * @return @c EINA_TRUE if the given string was found, @c EINA_FALSE if not or failure
- */
-EAPI Eina_Bool ewk_view_text_search(const Evas_Object *o, const char *string, Eina_Bool case_sensitive, Eina_Bool forward, Eina_Bool wrap);
-
-/**
- * Marks matches the given string in a document.
- *
- * @param o view object where to search text
- * @param string reference string to match
- * @param case_sensitive if match should be case sensitive or not
- * @param highlight if matches should be highlighted
- * @param limit maximum amount of matches, or zero to unlimited
- *
- * @return number of matched @a string
- */
-EAPI unsigned int ewk_view_text_matches_mark(Evas_Object *o, const char *string, Eina_Bool case_sensitive, Eina_Bool highlight, unsigned int limit);
-
-/**
- * Unmarks all marked matches in a document.
- *
- * Reverses the effect of ewk_frame_text_matches_mark().
- *
- * @param o view object where to unmark matches
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_text_matches_unmark_all(Evas_Object *o);
-
-/**
- * Sets if should highlight matches marked with ewk_frame_text_matches_mark().
- *
- * @param o view object where to set if matches are highlighted or not
- * @param highlight @c EINA_TRUE if matches are highlighted, @c EINA_FALSE if not
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_text_matches_highlight_set(Evas_Object *o, Eina_Bool highlight);
-
-/**
- * Gets if should highlight matches marked with ewk_frame_text_matches_mark().
- *
- * @param o view object to query if matches are highlighted or not
- *
- * @return @c EINA_TRUE if matches are highlighted, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_text_matches_highlight_get(const Evas_Object *o);
-
-/**
- * Gets the current load progress of page.
- *
- * The progress estimates from 0.0 to 1.0.
- *
- * @param o view object to get the current progress
- *
- * @return the load progres of page, value from 0.0 to 1.0 on success
- * or -1.0 on failure
- */
-EAPI double ewk_view_load_progress_get(const Evas_Object *o);
-
-/**
- * Asks the main frame to stop loading.
- *
- * @param o view object to stop loading
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise.
- */
-EAPI Eina_Bool ewk_view_stop(Evas_Object *o);
-
-/**
- * Asks the main frame to reload the current document.
- *
- * @param o view object to reload current document
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- *
- * @see ewk_view_reload_full()
- */
-EAPI Eina_Bool ewk_view_reload(Evas_Object *o);
-
-/**
- * Asks the main frame to fully reload the current document, using no caches.
- *
- * @param o view object to reload current document
- *
- * @return @c EINA_TRUE on success o r@c EINA_FALSE otherwise
- *
- * @see ewk_view_reload()
- */
-EAPI Eina_Bool ewk_view_reload_full(Evas_Object *o);
-
-/**
- * Asks the frame to navigate back in the history.
- *
- * @param o view object to navigate back
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- *
- * @see ewk_frame_back()
- */
-EAPI Eina_Bool ewk_view_back(Evas_Object *o);
-
-/**
- * Asks frame to navigate forward in the history.
- *
- * @param o view object to navigate forward
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- *
- * @see ewk_frame_forward()
- */
-EAPI Eina_Bool ewk_view_forward(Evas_Object *o);
-
-/**
- * Navigates back or forward in the history.
- *
- * @param o view object to navigate in the history
- * @param steps if positive navigates that amount forwards, if negative
- * does backwards
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- *
- * @see ewk_frame_navigate()
- */
-EAPI Eina_Bool ewk_view_navigate(Evas_Object *o, int steps);
-
-/**
- * Queries if it's possible to navigate backwards one item in the history.
- *
- * @param o view object to query if backward navigation is possible
- *
- * @return @c EINA_TRUE if it's possible to navigate backward one item in the history, @c EINA_FALSE otherwise
- * @see ewk_view_navigate_possible()
- */
-EAPI Eina_Bool ewk_view_back_possible(Evas_Object *o);
-
-/**
- * Queries if it's possible to navigate forwards one item in the history.
- *
- * @param o view object to query if forward navigation is possible
- *
- * @return @c EINA_TRUE if it's possible to navigate forwards in the history, @c EINA_FALSE otherwise
- *
- * @see ewk_view_navigate_possible()
- */
-EAPI Eina_Bool ewk_view_forward_possible(Evas_Object *o);
-
-/**
- * Queries if it's possible to navigate given @a steps in the history.
- *
- * @param o view object to query if it's possible to navigate @a steps in the history
- * @param steps if positive navigates that amount forwards, if negative
- * does backwards
- *
- * @return @c EINA_TRUE if it's possible to navigate @a steps in the history, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_navigate_possible(Evas_Object *o, int steps);
-
-/**
- * Queries if navigation in the history (back-forward lists) is enabled.
- *
- * @param o view object to query if navigation history is enabled
- *
- * @return @c EINA_TRUE if view keeps history, @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_history_enable_get(const Evas_Object *o);
-
-/**
- * Enables/disables navigation in the history (back-forward lists).
- *
- * @param o view object to enable/disable navigation in the history
- * @param enable @c EINA_TRUE to enable navigation in the history,
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_history_enable_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Gets the history (back-forward list) associated with this view.
- *
- * The returned instance is unique for this view and thus multiple calls
- * to this function with the same view as parameter returns the same
- * handle. This handle is alive while view is alive, thus one
- * might want to listen for EVAS_CALLBACK_DEL on given view
- * (@a o) to know when to stop using returned handle.
- *
- * @param o view object to get navigation history
- *
- * @return the history instance handle associated with this
- * view on succes or @c NULL on failure (including when the history
- * navigation is not enabled with ewk_view_history_enable_set())
- *
- * @see ewk_view_history_enable_set()
- */
-EAPI Ewk_History *ewk_view_history_get(const Evas_Object *o);
-
-/**
- * Adds @a visited_url to the view's visited links cache.
- *
- * This function is to be invoked by the client managing persistent history storage
- * when "populate,visited,links" signal is received.
- *
- * @param o view object to add visited links data.
- * @param visited_url visited url.
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure.
- */
-EAPI Eina_Bool ewk_view_visited_link_add(Evas_Object *o, const char *visited_url);
-
-/**
- * Gets the current page zoom level of the main frame.
- *
- * @param o view object to get the zoom level
- *
- * @return current zoom level in use on success or @c -1.0 on failure
- */
-EAPI float ewk_view_page_zoom_get(const Evas_Object *o);
-
-/**
- * Sets the current page zoom level of the main frame.
- *
- * @param o view object to set the zoom level
- * @param page_zoom_factor a new level to set
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_page_zoom_set(Evas_Object *o, float page_zoom_factor);
-
-/**
- * Gets the current scale factor of the page.
- *
- * @param o view object to get the scale factor
- *
- * @return current scale factor in use on success or @c -1.0 on failure
- */
-EAPI float ewk_view_scale_get(const Evas_Object *o);
-
-/**
- * Scales the current page, centered at the given point.
- *
- * @param o view object to set the zoom level
- * @param scale_factor a new level to set
- * @param cx x of center coordinate
- * @param cy y of center coordinate
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_scale_set(Evas_Object *o, float scale_factor, Evas_Coord cx, Evas_Coord cy);
-
-/**
- * Gets the current text zoom level of the main frame.
- *
- * @param o view object to get the zoom level
- *
- * @return current zoom level in use on success or @c -1.0 on failure
- */
-EAPI float ewk_view_text_zoom_get(const Evas_Object *o);
-
-/**
- * Sets the current text zoom level of the main frame.
- *
- * @param o view object to set the zoom level
- * @param textZoomFactor a new level to set
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_text_zoom_set(Evas_Object *o, float text_zoom_factor);
-
-/**
- * Gets the current zoom level of the main frame.
- *
- * @param o view object to get the zoom level
- *
- * @return current zoom level in use on success or @c -1.0 on failure
- */
-EAPI float ewk_view_zoom_get(const Evas_Object *o);
-
-/**
- * Sets the current zoom level of the main frame, centered at the given point.
- *
- * @param o view object to set the zoom level
- * @param zoom a new level to set
- * @param cx x of center coordinate
- * @param cy y of center coordinate
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_zoom_set(Evas_Object *o, float zoom, Evas_Coord cx, Evas_Coord cy);
-
-/**
- * Queries if the smooth scale is enabled while the weak zoom.
- *
- * @param o view object to query if the smooth scale is enabled while the weak zoom
- *
- * @return @c EINA_TRUE if the smooth scale is enabled while the weak zoom, or
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_zoom_weak_smooth_scale_get(const Evas_Object *o);
-
-/**
- * Enables/disables the smooth scale while the weak zoom.
- *
- * @param o view object to set the smooth scale while the weak zoom
- * @param smooth_scale @c EINA_TRUE to enable the smooth scale
- * @c EINA_FALSE to disable
- */
-EAPI void ewk_view_zoom_weak_smooth_scale_set(Evas_Object *o, Eina_Bool smooth_scale);
-
-/**
- * Sets the current zoom level of backing store, centered at given point.
- *
- * Unlike ewk_view_zoom_set(), this call do not ask WebKit to render
- * at new size, but scale what is already rendered, being much faster
- * but worse quality.
- *
- * Often one should use ewk_view_zoom_animated_set(), it will call the
- * same machinery internally.
- *
- * @note this will set variables used by ewk_view_zoom_animated_set()
- * so sub-classes will not reset internal state on their
- * "calculate" phase. To unset those and enable sub-classes to
- * reset their internal state, call
- * ewk_view_zoom_animated_mark_stop(). Namely, this call will
- * set ewk_view_zoom_animated_mark_start() to actual webkit zoom
- * level, ewk_view_zoom_animated_mark_end() and
- * ewk_view_zoom_animated_mark_current() to given zoom level.
- *
- * @param o view object to set the weak zoom level
- * @param zoom a new level to scale backing store
- * @param cx horizontal center offset, relative to object (w/2 is middle)
- * @param cy vertical center offset, relative to object (h/2 is middle)
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_zoom_weak_set(Evas_Object *o, float zoom, Evas_Coord cx, Evas_Coord cy);
-
-/**
- * Sets start of an internal zoom animation state to the given zoom.
- *
- * This does not modify any actual zoom in WebKit or backing store,
- * just set needed flag so sub-classes knows they should not reset
- * their an internal state.
- *
- * @param o view object to set start of an internal zoom animation
- * @param zoom a new start value
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- *
- * @see ewk_view_zoom_animated_set()
- * @see ewk_view_zoom_weak_set()
- * @see ewk_view_zoom_animated_mark_stop()
- * @see ewk_view_zoom_animated_mark_end()
- * @see ewk_view_zoom_animated_mark_current()
- */
-EAPI Eina_Bool ewk_view_zoom_animated_mark_start(Evas_Object *o, float zoom);
-
-/**
- * Sets end of an internal zoom animation state to given zoom.
- *
- * This does not modify any actual zoom in WebKit or backing store,
- * just set needed flag so sub-classes knows they should not reset
- * their an internal state.
- *
- * @param o view object to set end of an internal zoom animation
- * @param zoom a new end value
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- *
- * @see ewk_view_zoom_animated_set()
- * @see ewk_view_zoom_weak_set()
- * @see ewk_view_zoom_animated_mark_stop()
- * @see ewk_view_zoom_animated_mark_start()
- * @see ewk_view_zoom_animated_mark_current()
- */
-EAPI Eina_Bool ewk_view_zoom_animated_mark_end(Evas_Object *o, float zoom);
-
-/**
- * Sets an internal current zoom animation state to given zoom.
- *
- * This does not modify any actual zoom in WebKit or backing store,
- * just set needed flag so sub-classes knows they should not reset
- * their an internal state.
- *
- * @param o view object to set an internal current zoom animation
- * @param zoom a new current value
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- *
- * @see ewk_view_zoom_animated_set()
- * @see ewk_view_zoom_weak_set()
- * @see ewk_view_zoom_animated_mark_stop()
- * @see ewk_view_zoom_animated_mark_start()
- * @see ewk_view_zoom_animated_mark_end()
- */
-EAPI Eina_Bool ewk_view_zoom_animated_mark_current(Evas_Object *o, float zoom);
-
-/**
- * Unmarks an internal zoom animation state.
- *
- * The start, end and current values of an internal zoom animation are zeroed.
- *
- * @param o view object to unmark an internal zoom animation state
- *
- * @see ewk_view_zoom_animated_mark_start()
- * @see ewk_view_zoom_animated_mark_end()
- * @see ewk_view_zoom_animated_mark_current()
- * @see ewk_view_zoom_weak_set()
- */
-EAPI Eina_Bool ewk_view_zoom_animated_mark_stop(Evas_Object *o);
-
-/**
- * Sets the current zoom level while animating.
- *
- * If the view was already animating to another zoom, it will start
- * from current point to the next provided zoom (@a zoom parameter)
- * and duration (@a duration parameter).
- *
- * This is the recommended way to do transitions from one level to
- * another. However, one may wish to do those from outside, in that
- * case use ewk_view_zoom_weak_set() and later control intermediate
- * states with ewk_view_zoom_animated_mark_current(),
- * ewk_view_zoom_animated_mark_end() and
- * ewk_view_zoom_animated_mark_stop().
- *
- * @param o view object to animate
- * @param zoom final zoom level to use
- * @param duration time in seconds the animation should take.
- * @param cx offset inside object that defines zoom center. 0 is left side
- * @param cy offset inside object that defines zoom center. 0 is top side
- * @return @c EINA_TRUE if animation will be started, @c EINA_FALSE if not
- * because zoom is too small/big
- */
-EAPI Eina_Bool ewk_view_zoom_animated_set(Evas_Object *o, float zoom, float duration, Evas_Coord cx, Evas_Coord cy);
-
-/**
- * Asks engine to pre-render region.
- *
- * Engines and backing store might be able to pre-render regions in
- * order to speed up zooming or scrolling to that region. Not all
- * engines might implement that and they will return @c EINA_FALSE
- * in that case.
- *
- * The given region is a hint. Engines might do bigger or smaller area
- * that covers that region. Pre-render might not be immediate, it may
- * be postponed to a thread, operated cooperatively in the main loop
- * and may be even ignored or cancelled afterwards.
- *
- * Multiple requests might be queued by engines. One can clear/forget
- * about them with ewk_view_pre_render_cancel().
- *
- * @param o view to ask pre-render of given region
- * @param x absolute coordinate (0=left) to pre-render at zoom
- * @param y absolute coordinate (0=top) to pre-render at zoom
- * @param w width to pre-render starting from @a x at zoom
- * @param h height to pre-render starting from @a y at zoom
- * @param zoom desired zoom
- *
- * @return @c EINA_TRUE if request was accepted, @c EINA_FALSE
- * otherwise (errors, pre-render feature not supported, etc)
- *
- * @see ewk_view_pre_render_cancel()
- */
-EAPI Eina_Bool ewk_view_pre_render_region(Evas_Object *o, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, float zoom);
-
-/**
- * Asks engine to pre-render region, given @a n extra cols/rows.
- *
- * This is an alternative method to ewk_view_pre_render_region(). It does not
- * make sense in all engines and therefore it might not be implemented at all.
- *
- * It's only useful if engine divide the area being rendered in smaller tiles,
- * forming a grid. Then, browser could call this function to pre-render @a n
- * rows/cols involving the current viewport.
- *
- * @param o view to ask pre-render
- * @param n number of cols/rows that must be part of the region pre-rendered
- *
- * @return @c EINA_TRUE if request was accepted, @c EINA_FALSE
- * otherwise (errors, pre-render feature not supported, etc)
- *
- * @see ewk_view_pre_render_region()
- */
-EAPI Eina_Bool ewk_view_pre_render_relative_radius(Evas_Object *o, unsigned int n);
-
-/**
- * Asks engine to start pre-rendering.
- *
- * This is an alternative method to pre-render around the view area.
- * The first step is to find the center view area where to start pre-rendering.
- * And then from the center of the view area the backing store append the render request
- * outward in spiral order. So that the tiles which are close to view area are displayed
- * sooner than outside.
- *
- * @param o view to ask pre-render
- *
- * @return @c EINA_TRUE if request was accepted, @c EINA_FALSE
- * otherwise (errors, pre-render feature not supported, etc)
- *
- */
-EAPI Eina_Bool ewk_view_pre_render_start(Evas_Object *o);
-
-/**
- * Cancels and clears previous the pre-render requests.
- *
- * @param o view to clear pre-render requests
- */
-EAPI void ewk_view_pre_render_cancel(Evas_Object *o);
-
-/**
- * Enables (resumes) rendering.
- *
- * @param o view object to enable rendering
- *
- * @return @c EINA_TRUE if rendering was enabled, @c EINA_FALSE
- * otherwise (errors, rendering suspension feature not supported)
- *
- * @see ewk_view_disable_render()
- */
-EAPI Eina_Bool ewk_view_enable_render(const Evas_Object *o);
-
-/**
- * Disables (suspends) rendering.
- *
- * @param o view object to disable rendering
- *
- * @return @c EINA_TRUE if rendering was disabled, @c EINA_FALSE
- * otherwise (errors, rendering suspension not supported)
- */
-EAPI Eina_Bool ewk_view_disable_render(const Evas_Object *o);
-
-/**
- * Gets the input method hints.
- *
- * @param o view object to get the input method hints
- *
- * @see Ewk_Imh
- *
- * @return the input method hints as @a Ewk_Imh bits-field
- */
-EAPI unsigned int ewk_view_imh_get(const Evas_Object *o);
-
-/**
- * Gets the user agent string.
- *
- * @param o view object to get the user agent string
- *
- * @return the user agent string
- */
-EAPI const char *ewk_view_setting_user_agent_get(const Evas_Object *o);
-
-/**
- * Sets the user agent string.
- *
- * @param o view object to set the user agent string
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_user_agent_set(Evas_Object *o, const char *user_agent);
-
-/**
- * Queries if the images are loaded automatically.
- *
- * @param o view object to query if the images are loaded automatically
- *
- * @return @c EINA_TRUE if the images are loaded automatically,
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_auto_load_images_get(const Evas_Object *o);
-
-/**
- * Enables/disables auto loading of the images.
- *
- * @param o view object to set auto loading of the images
- * @param automatic @c EINA_TRUE to enable auto loading of the images,
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_auto_load_images_set(Evas_Object *o, Eina_Bool automatic);
-
-/**
- * Queries if the images are shrinked automatically
- *
- * @param o view object to query if the images are shrinked automatically
- *
- * @return @c EINA_TRUE if the images are shrinked automatically,
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_auto_shrink_images_get(const Evas_Object *o);
-
-/**
- * Enables/disables auto shrinking of the images.
- *
- * @param o view object to set auto shrinking of the images
- * @param automatic @c EINA_TRUE to enable auto shrinking of the images,
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_auto_shrink_images_set(Evas_Object *o, Eina_Bool automatic);
-
-/**
- * Queries if the view can be resized automatically.
- *
- * @param o view object to query if the view can be resized automatically
- *
- * @return @c EINA_TRUE if view can be resized automatically,
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_auto_resize_window_get(const Evas_Object *o);
-
-/**
- * Enables/disables if the view can be resized automatically.
- *
- * @param o view object to set if the view can be resized automatically
- * @param resizable @c EINA_TRUE if view can be resizable automatically,
- * @c EINA_TRUE if not
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_auto_resize_window_set(Evas_Object *o, Eina_Bool resizable);
-
-/**
- * Queries if the scripts can be executed.
- *
- * @param o view object to query if the scripts can be executed
- *
- * @return @c EINA_TRUE if the scripts can be executed
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_scripts_get(const Evas_Object *o);
-
-/**
- * Enables/disables scripts executing.
- *
- * @param o view object to set script executing
- * @param enable @c EINA_TRUE to enable scripts executing
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_scripts_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Queries if the plug-ins are enabled.
- *
- * @param o view object to query if the plug-ins are enabled
- *
- * @return @c EINA_TRUE if the plugins are enabled
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_plugins_get(const Evas_Object *o);
-
-/**
- * Enables/disables the plug-ins.
- *
- * @param o view object to set the plug-ins
- * @param enable @c EINA_TRUE to enable the plug-ins
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_plugins_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Queries if the frame flattening feature is enabled.
- *
- * @param o view object to query if the frame flattening feature is enabled
- *
- * @return @c EINA_TRUE if the frame flattening feature is enabled,
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_frame_flattening_get(const Evas_Object *o);
-
-/**
- * Enables/disables the frame flattening feature.
- *
- * @param o view object to set the frame flattening feature
- * @param enable @c EINA_TRUE to enable the frame flattening feature
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_frame_flattening_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Queries if the scripts can open the new windows.
- *
- * @param o view object to query if the scripts can open the new windows
- *
- * @return @c EINA_TRUE if the scripts can open the new windows
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_scripts_can_open_windows_get(const Evas_Object *o);
-
-/**
- * Enables/disables if the scripts can open the new windows.
- *
- * @param o view object to set if the scripts can open the new windows
- * @param allow @c EINA_TRUE if the scripts can open the new windows
- * @c EINA_FALSE if not
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure (scripts are disabled)
- *
- * @see ewk_view_setting_enable_scripts_set
- */
-EAPI Eina_Bool ewk_view_setting_scripts_can_open_windows_set(Evas_Object *o, Eina_Bool allow);
-
-/**
- * Returns whether scripts can close windows automatically.
- *
- * @param o View whose settings to check.
- *
- * @return @c EINA_TRUE if scripts can close windows, @c EINA_FALSE otherwise.
- */
-EAPI Eina_Bool ewk_view_setting_scripts_can_close_windows_get(const Evas_Object *o);
-
-/**
- * Sets whether scripts are allowed to close windows automatically.
- *
- * @param o View whose settings to change.
- * @param allow @c EINA_TRUE to allow scripts to close windows,
- * @c EINA_FALSE otherwise.
- *
- * @return @c EINA_TRUE if the setting could be changed successfully,
- * @c EINA_FALSE in case an error occurred.
- */
-EAPI Eina_Bool ewk_view_setting_scripts_can_close_windows_set(Evas_Object *o, Eina_Bool allow);
-
-/**
- * Returns whether scripts can access clipboard.
- *
- * @param o View whose settings to check.
- *
- * @return @c EINA_TRUE if scripts can access clipboard, @c EINA_FALSE otherwise.
- */
-EAPI Eina_Bool ewk_view_setting_scripts_can_access_clipboard_get(const Evas_Object *o);
-
-/**
- * Sets whether scripts are allowed to access clipboard.
- *
- * The default value is @c EINA_FALSE. If set to @c EINA_TRUE, document.execCommand()
- * allows cut, copy and paste commands.
- *
- * @param o View whose settings to change.
- * @param allow @c EINA_TRUE to allow scripts access clipboard,
- * @c EINA_FALSE otherwise.
- *
- * @return @c EINA_TRUE if the setting could be changed successfully,
- * @c EINA_FALSE in case an error occurred.
- */
-EAPI Eina_Bool ewk_view_setting_scripts_can_access_clipboard_set(Evas_Object *o, Eina_Bool allow);
-
-/**
- * Queries if HTML elements @c textarea can be resizable.
- *
- * @param o view object to query if the textarea elements can be resizable
- *
- * @return @c EINA_TRUE if the textarea elements can be resizable
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_resizable_textareas_get(const Evas_Object *o);
-
-/**
- * Enables/disables if HTML elements @c textarea can be resizable.
- *
- * @param o view object to set if the textarea elements can be resizable
- * @param enable @c EINA_TRUE if the textarea elements can be resizable
- * @c EINA_FALSE if not
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_resizable_textareas_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Gets the user style sheet.
- *
- * @param o view object to get the user style sheet
- *
- * @return the user style sheet
- */
-EAPI const char *ewk_view_setting_user_stylesheet_get(const Evas_Object *o);
-
-/**
- * Sets the user style sheet.
- *
- * @param o view object to set the user style sheet
- * @param uri uniform resource identifier to user style sheet
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_user_stylesheet_set(Evas_Object *o, const char *uri);
-
-/**
- * Queries if the private browsing feature is enabled.
- *
- * @param o view object to query if the private browsing feature is enabled
- *
- * @return @c EINA_TRUE if the private browsing feature is enabled, or
- * @c EINA_FALSE if not or on failure
- *
- * @see ewk_view_setting_private_browsing_set
- */
-EAPI Eina_Bool ewk_view_setting_private_browsing_get(const Evas_Object *o);
-
-/**
- * Enables/disables the private browsing feature.
- *
- * When this option is set, WebCore will avoid storing any record of browsing
- * activity that may persist on disk or remain displayed when the
- * option is reset.
- *
- * This option does not affect the storage of such information in RAM.
- *
- * The following functions respect this setting:
- * - HTML5/DOM Storage
- * - Icon Database
- * - Console Messages
- * - MemoryCache
- * - Application Cache
- * - Back/Forward Page History
- * - Page Search Results
- * - HTTP Cookies
- * - Plug-ins (that support NPNVprivateModeBool)
- *
- * @param o view object to set the private browsing feature
- * @param enable @c EINA_TRUE to enable the private browsing feature
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_private_browsing_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Returns whether HTML5 application cache support is enabled for this view.
- *
- * The Offline Application Caching APIs are part of HTML5 and allow applications to store data locally that is accessed
- * when the network cannot be reached.
- *
- * Application cache support is enabled by default.
- *
- * @param o view object whose settings to query
- *
- * @return @c EINA_TRUE if the application cache is enabled,
- * @c EINA_FALSE if not or on failure
- *
- * @sa ewk_settings_application_cache_path_set
- */
-EAPI Eina_Bool ewk_view_setting_application_cache_get(const Evas_Object *o);
-
-/**
- * Enables/disables the HTML5 application cache for this view.
- *
- * The Offline Application Caching APIs are part of HTML5 and allow applications to store data locally that is accessed
- * when the network cannot be reached.
- *
- * Application cache support is enabled by default.
- *
- * @param o view object whose settings to change
- * @param enable @c EINA_TRUE to enable the application cache,
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- *
- * @sa ewk_settings_application_cache_path_set
- */
-EAPI Eina_Bool ewk_view_setting_application_cache_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Queries if the caret browsing feature is enabled.
- *
- * @param o view object to query if the caret browsing feature is enabled
- *
- * @return @c EINA_TRUE if the caret browsing feature is enabled,
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_caret_browsing_get(const Evas_Object *o);
-
-/**
- * Enables/disables the caret browsing feature.
- *
- * @param o view object to set caret browsing feature
- * @param enable @c EINA_TRUE to enable the caret browsing feature
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_caret_browsing_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Gets the current encoding.
- *
- * @param o view object to get the current encoding
- *
- * @return @c eina_strinshare containing the current encoding, or
- * @c NULL if it's not set
- */
-EAPI const char *ewk_view_setting_encoding_custom_get(const Evas_Object *o);
-
-/**
- * Sets the encoding and reloads the page.
- *
- * @param o view to set the encoding
- * @param encoding the new encoding to set or @c NULL to restore the default one
- *
- * @return @c EINA_TRUE on success @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_setting_encoding_custom_set(Evas_Object *o, const char *encoding);
-
-/**
- * Gets the default encoding.
- *
- * @param o view object to get the default encoding
- *
- * @return @c eina_strinshare containing the default encoding, or
- * @c NULL if it's not set
- */
-EAPI const char *ewk_view_setting_encoding_default_get(const Evas_Object *o);
-
-/**
- * Sets the default encoding.
- *
- * @param o view to set the default encoding
- * @param encoding the new encoding to set
- *
- * @return @c EINA_TRUE on success @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_setting_encoding_default_set(Evas_Object *o, const char *encoding);
-
-/**
- * Gets the minimum font size.
- *
- * @param o view object to get the minimum font size
- *
- * @return the minimum font size, or @c 0 on failure
- */
-EAPI int ewk_view_setting_font_minimum_size_get(const Evas_Object *o);
-
-/**
- * Sets the minimum font size.
- *
- * @param o view object to set the minimum font size
- * @param size a new minimum font size to set
- *
- * @return @c EINA_TRUE on success @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_setting_font_minimum_size_set(Evas_Object *o, int size);
-
-/**
- * Gets the minimum logical font size.
- *
- * @param o view object to get the minimum logical font size
- *
- * @return the minimum logical font size, or @c 0 on failure
- */
-EAPI int ewk_view_setting_font_minimum_logical_size_get(const Evas_Object *o);
-
-/**
- * Sets the minimum logical font size.
- *
- * @param o view object to set the minimum font size
- * @param size a new minimum logical font size to set
- *
- * @return @c EINA_TRUE on success @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_setting_font_minimum_logical_size_set(Evas_Object *o, int size);
-
-/**
- * Gets the default font size.
- *
- * @param o view object to get the default font size
- *
- * @return the default font size, or @c 0 on failure
- */
-EAPI int ewk_view_setting_font_default_size_get(const Evas_Object *o);
-
-/**
- * Sets the default font size.
- *
- * @param o view object to set the default font size
- * @param size a new default font size to set
- *
- * @return @c EINA_TRUE on success @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_setting_font_default_size_set(Evas_Object *o, int size);
-
-/**
- * Gets the Monospace font size.
- *
- * @param o view object to get the Monospace font size
- *
- * @return the Monospace font size, or @c 0 on failure
- */
-EAPI int ewk_view_setting_font_monospace_size_get(const Evas_Object *o);
-
-/**
- * Sets the Monospace font size.
- *
- * @param o view object to set the Monospace font size
- * @param size a new Monospace font size to set
- *
- * @return @c EINA_TRUE on success @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_setting_font_monospace_size_set(Evas_Object *o, int size);
-
-/**
- * Gets the name of font for the given font family.
- *
- * @param o view object to get name of font the for font family
- * @param font_family the font family as @a Ewk_Font_Family enum to get font name
- *
- * @return the name of font family
- */
-EAPI const char *ewk_view_font_family_name_get(const Evas_Object *o, Ewk_Font_Family font_family);
-
-/**
- * Sets the font for the given family.
- *
- * @param o view object to set font for the given family
- * @param font_family the font family as @a Ewk_Font_Family enum
- * @param name the font name to set
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_font_family_name_set(Evas_Object *o, Ewk_Font_Family font_family, const char *name);
-
-/**
- * Queries if the spatial naviagtion feature is enabled.
- *
- * @param o view object to query if spatial navigation feature is enabled
- *
- * @return @c EINA_TRUE if spatial navigation is enabled,
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_spatial_navigation_get(const Evas_Object *o);
-
-/**
- * Enables/disables the spatial navigation feature.
- *
- * @param o view object to set spatial navigation feature
- * @param enable @c EINA_TRUE to enable the spatial navigation feature,
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_spatial_navigation_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Queries if the local storage feature of HTML5 is enabled.
- *
- * @param o view object to query if the local storage feature is enabled
- *
- * @return @c EINA_TRUE if local storage is enabled,
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_local_storage_get(const Evas_Object *o);
-
-/**
- * Enables/disables the local storage feature of HTML5.
- *
- * Please notice that by default there is no storage path specified for the database.
- * This means that the contents of @c window.localStorage will not be saved to disk and
- * will be lost when the view is removed.
- * To set the path where the storage database will be stored, use
- * ewk_view_setting_local_storage_database_path_set.
- *
- * @param o view object to set if local storage is enabled
- * @param enable @c EINA_TRUE to enable the local storage feature,
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- *
- * @sa ewk_view_setting_local_storage_database_path_set
- */
-EAPI Eina_Bool ewk_view_setting_local_storage_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Returns the path where the HTML5 local storage database is stored on disk.
- *
- * By default, there is no path set, which means changes to @c window.localStorage will not
- * be saved to disk whatsoever.
- *
- * @param o view object to get the database path to the local storage feature
- *
- * @return @c eina_stringshare containing the database path to the local storage feature, or
- * @c NULL if it's not set
- *
- * @sa ewk_view_setting_local_storage_database_path_set
- */
-EAPI const char *ewk_view_setting_local_storage_database_path_get(const Evas_Object *o);
-
-/**
- * Sets the path where the HTML5 local storage database is stored on disk.
- *
- * By default, there is no path set, which means changes to @c window.localStorage will not
- * be saved to disk whatsoever.
- *
- * @param o view object to set the database path to the local storage feature
- * @param path a new database path to the local storage feature
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- *
- * @sa ewk_view_setting_local_storage_set
- */
-EAPI Eina_Bool ewk_view_setting_local_storage_database_path_set(Evas_Object *o, const char *path);
-
-/**
- * Queries if the page cache feature is enabled.
- *
- * @param o view object to query if page cache feature is enabled
- *
- * @return @c EINA_TRUE if page cache is enabled,
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_page_cache_get(const Evas_Object *o);
-
-/**
- * Enables/disables the page cache feature.
- *
- * @param o view object to set page cache feature
- * @param enable @c EINA_TRUE to enable the page cache feature,
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_page_cache_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Queries if the encoding detector is enabled.
- *
- * @param o view object to query if the encoding detector is enabled
- *
- * @return @c EINA_TRUE if the encoding feature is enabled,
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_encoding_detector_get(const Evas_Object *o);
-
-/**
- * Enables/disables the encoding detector.
- *
- * @param o view object to set the encoding detector
- * @param enable @c EINA_TRUE to enable the encoding detector,
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_setting_encoding_detector_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Queries if developer extensions are enabled.
- *
- * Currently, this is used to know whether the Web Inspector is enabled for a
- * given view.
- *
- * @param o view object to query if developer extensions are enabled
- *
- * @return @c EINA_TRUE if developer extensions are enabled, @c EINA_FALSE
- * otherwise
- */
-EAPI Eina_Bool ewk_view_setting_enable_developer_extras_get(const Evas_Object *o);
-
-/**
- * Enables/disables developer extensions.
- *
- * This currently controls whether the Web Inspector should be enabled.
- *
- * @param o view object to set developer extensions
- * @param enable @c EINA_TRUE to enable developer extras, @c EINA_FALSE to
- * disable
- *
- * @return @c EINA_TRUE on success or @EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_developer_extras_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Sets the minimum interval for DOMTimers on current page.
- *
- * @param o view object to set the minimum interval
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_minimum_timer_interval_set(Evas_Object *o, double interval);
-
-/**
- * Gets the minimum interval for DOMTimers on current page.
- *
- * @param o view object to get the minimum interval
- *
- * @return the minimum interval on success or @c -1.0 on failure
- */
-EAPI double ewk_view_setting_minimum_timer_interval_get(const Evas_Object *o);
-
-/**
- * Queries whether WebGL support is enabled.
- *
- * WebGL support is enabled by default.
- *
- * @param o view object to query whether WebGL support is enabled
- *
- * @return @c EINA_TRUE if WebGL support enabled,
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_webgl_get(const Evas_Object *o);
-
-/**
- * Enables/disables WebGL support.
- *
- * WebGL support is enabled by default.
- *
- * @param o view object to set WebGL
- * @param enable @c EINA_TRUE to enable WebGL support,
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_webgl_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Queries if tab key focusing of page elements is enabled.
- *
- * When this setting is enabled, the elements in the page (links and form controls) will be cycled through by pressing the tab key.
- * Tab key focusing of page elements is enabled by default.
- *
- * @param o view object to query if tab key focusing of page elements is enabled
- *
- * @return @c EINA_TRUE if tab key focusing of page elements is enabled, @c EINA_FALSE
- * otherwise
- */
-EAPI Eina_Bool ewk_view_setting_include_links_in_focus_chain_get(const Evas_Object *o);
-
-/**
- * Enables/disables tab key focusing of page elements.
- *
- * When this setting is enabled, the elements in the page (links and form controls) will be cycled through by pressing the tab key.
- * Tab key focusing of page elements is enabled by default.
- *
- * @param o view object to set tab key focusing of page elements
- * @param enable @c EINA_TRUE to enable tab key focusing of page elements, @c EINA_FALSE to
- * disable
- *
- * @return @c EINA_TRUE on success or @EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_include_links_in_focus_chain_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Queries if hyperlink auditing is enabled.
- *
- * Hyperlink auditing is used if a hyperlink created by an @c a or @c area element has a @c ping attribute.
- * Please refer to the hyperlink auditing specification at http://www.whatwg.org/specs/web-apps/current-work/#hyperlink-auditing.
- * Hyperlink auditing is disabled by default.
- *
- * @param o view object to query if hyperlink auditing is enabled
- *
- * @return @c EINA_TRUE if hyperlink auditing is enabled, @c EINA_FALSE
- * otherwise
- */
-EAPI Eina_Bool ewk_view_setting_enable_hyperlink_auditing_get(const Evas_Object *o);
-
-/**
- * Enables/disables hyperlink auditing.
- *
- * Hyperlink auditing is used if a hyperlink created by an @c a or @c area element has a @c ping attribute.
- * Please refer to the hyperlink auditing specification at http://www.whatwg.org/specs/web-apps/current-work/#hyperlink-auditing.
- * Hyperlink auditing is disabled by default.
- *
- * @param o view object to set hyperlink auditing
- * @param enable @c EINA_TRUE to enable hyperlink auditing, @c EINA_FALSE to
- * disable
- *
- * @return @c EINA_TRUE on success or @EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_hyperlink_auditing_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Enables/disables allowing universal access from file URLs.
- *
- * This setting specifies whether locally loaded documents are allowed to access remote urls.
- * By default this setting is enabled.
- *
- * @param o view object to set allowing universal access from file URLs
- * @param enable @c EINA_TRUE to enable universal access from file URLs,
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_allow_universal_access_from_file_urls_set(Evas_Object *o, Eina_Bool flag);
-
-/**
- * Gets if allowing universal access from file URLs is enabled.
- *
- * @param o view object to query if allowing universal access from file URLs is enabled.
- *
- * @return @c EINA_TRUE if allowing universal access from file URLs is enabled, @c EINA_FALSE
- * otherwise
- *
- * @see ewk_view_setting_allow_universal_access_from_file_urls_set()
- */
-EAPI Eina_Bool ewk_view_setting_allow_universal_access_from_file_urls_get(const Evas_Object *o);
-
-/**
- * Enables/disables allowing file access from file URLs.
- *
- * This setting specifies whether locally loaded documents are allowed to access other local urls.
- * By default this setting is enabled.
- *
- * @param o view object to set allowing file access from file URLs
- * @param enable @c EINA_TRUE to enable file access from file URLs,
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_allow_file_access_from_file_urls_set(Evas_Object *o, Eina_Bool flag);
-
-/**
- * Gets if allowing file access from file URLs is enabled.
- *
- * @param o view object to query if allowing file access from file URLs is enabled.
- *
- * @return @c EINA_TRUE if allowing file access from file URLs is enabled, @c EINA_FALSE
- * otherwise
- *
- * @see ewk_view_setting_allow_file_access_from_file_urls_set()
- */
-EAPI Eina_Bool ewk_view_setting_allow_file_access_from_file_urls_get(const Evas_Object *o);
-
-/**
- * Gets the internal data of @a o.
- *
- * This is similar to evas_object_smart_data_get(), but additionally does type checking.
- *
- * @param o view object to get the internal data
- *
- * @return the internal data of @a o, or @c NULL on failure
- */
-EAPI Ewk_View_Smart_Data *ewk_view_smart_data_get(const Evas_Object *o);
-
-/**
- * Process scrolls.
- *
- * @param priv the pointer to the private data of the view to process scrolls
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-EAPI void ewk_view_scrolls_process(Ewk_View_Smart_Data *sd);
-
-/**
- * Paints using given graphics context the given area.
- *
- * This uses viewport relative area and will also handle scrollbars
- * and other extra elements. See ewk_view_paint_contents() for the
- * alternative function.
- *
- * @param priv the pointer to the private data of the view to use as paint source
- * @param cr the cairo context to use as paint destination, its state will
- * be saved before operation and restored afterwards
- * @param area viewport relative geometry to paint
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- *
- * @note This is an easy to use version, but internal structures are
- * always created, then graphics context is clipped, then
- * painted, restored and destroyed. This might not be optimum,
- * so using @a Ewk_View_Paint_Context may be a better solutions
- * for large number of operations.
- *
- * @see ewk_view_paint_contents()
- * @see ewk_view_paint_context_paint()
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-EAPI Eina_Bool ewk_view_paint(Ewk_View_Private_Data *priv, cairo_t *cr, const Eina_Rectangle *area);
-
-/**
- * Paints just contents using given graphics context the given area.
- *
- * This uses absolute coordinates for area and will just handle
- * contents, no scrollbars or extras. See ewk_view_paint() for the
- * alternative solution.
- *
- * @param priv the pointer to the private data of the view to use as paint source
- * @param cr the cairo context to use as paint destination, its state will
- * be saved before operation and restored afterwards
- * @param area absolute geometry to paint
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- *
- * @note This is an easy to use version, but internal structures are
- * always created, then graphics context is clipped, then
- * painted, restored and destroyed. This might not be optimum,
- * so using @a Ewk_View_Paint_Context may be a better solutions
- * for large number of operations.
- *
- * @see ewk_view_paint()
- * @see ewk_view_paint_context_paint_contents()
- *
- * @note This is not for general use but just for subclasses that want
- * to define their own backing store.
- */
-EAPI Eina_Bool ewk_view_paint_contents(Ewk_View_Private_Data *priv, cairo_t *cr, const Eina_Rectangle *area);
-
-/**
- * Gets the attributes of the viewport meta tag.
- *
- * Properties are returned in the respective pointers. Passing @c NULL to any of
- * these pointers will make that property to not be returned.
- *
- * @param o view object to get the viewport attributes
- * @param w the pointer to store the width of the viewport
- * @param h the pointer to store the height of the viewport
- * @param init_scale the pointer to store the initial scale value
- * @param max_scale the pointer to store the maximum scale value
- * @param min_scale the pointer to store the minimum scale value
- * @param device_pixel_ratio the pointer to store the device pixel ratio value
- * @param user_scalable the pointer to store if user can scale viewport
- */
-EAPI void ewk_view_viewport_attributes_get(const Evas_Object *o, int *w, int *h, float *init_scale, float *max_scale, float *min_scale, float *device_pixel_ratio , Eina_Bool *user_scalable);
-
-/**
- * Sets the zoom range.
- *
- * @param o view object to set the zoom range
- * @param min_scale the minimum value of the zoom range
- * @param max_scale the maximum value of the zoom range
- *
- * @return @c EINA_TRUE on success, @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_zoom_range_set(Evas_Object *o, float min_scale, float max_scale);
-
-/**
- * Gets the minimum value of the zoom range.
- *
- * @param o view object to get the minimum value of the zoom range
- *
- * @return the minimum value of the zoom range on success, or
- * @c -1 on failure
- */
-EAPI float ewk_view_zoom_range_min_get(const Evas_Object *o);
-
-/**
- * Gets the maximum value of the zoom range.
- *
- * @param o view object to get the maximum value of the zoom range
- *
- * @return the maximum value of the zoom range on success, or
- * @c -1.0 on failure
- */
-EAPI float ewk_view_zoom_range_max_get(const Evas_Object *o);
-
-/**
- * Enables/disables the zoom.
- *
- * @param o view to set zoom
- * @param user_scalable @c EINA_TRUE to enable zoom, @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_user_scalable_set(Evas_Object *o, Eina_Bool user_scalable);
-
-/**
- * Queries if the zoom is enabled.
- *
- * @param o view to query if zoom is enabled
- *
- * @return @c EINA_TRUE if the zoom is enabled, @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_user_scalable_get(const Evas_Object *o);
-
-/**
- * Queries the ratio between the CSS units and device pixels when the content is unscaled.
- *
- * When designing touch-friendly contents, knowing the approximated target size on a device
- * is important for contents providers in order to get the intented layout and element
- * sizes.
- *
- * As most first generation touch devices had a PPI of approximately 160, this became a
- * de-facto value, when used in conjunction with the viewport meta tag.
- *
- * Devices with a higher PPI learning towards 240 or 320, applies a pre-scaling on all
- * content, of either 1.5 or 2.0, not affecting the CSS scale or pinch zooming.
- *
- * This value can be set using this property and it is exposed to CSS media queries using
- * the -webkit-device-pixel-ratio query.
- *
- * For instance, if you want to load an image without having it upscaled on a web view
- * using a device pixel ratio of 2.0 it can be done by loading an image of say 100x100
- * pixels but showing it at half the size.
- *
- * @media (-webkit-min-device-pixel-ratio: 1.5) {
- * .icon {
- * width: 50px;
- * height: 50px;
- * url: "/images/icon@2x.png"; // This is actually a 100x100 image
- * }
- * }
- *
- * If the above is used on a device with device pixel ratio of 1.5, it will be scaled
- * down but still provide a better looking image.
- *
- * @param o view object to get device pixel ratio
- *
- * @return the ratio between the CSS units and device pixels,
- * or @c -1.0 on failure
- */
-EAPI float ewk_view_device_pixel_ratio_get(const Evas_Object *o);
-
-/**
- * Sets the ratio between the CSS units and device pixels when the content is unscaled.
- *
- * @param o view object to set device pixel ratio
- *
- * @return @c EINA_TRUE if the device pixel ratio was set, @c EINA_FALSE otherwise
- *
- * @see ewk_view_device_pixel_ratio_get()
- */
-EAPI Eina_Bool ewk_view_device_pixel_ratio_set(Evas_Object *o, float ratio);
-
-/**
- * Changes the text direction of the selected input node.
- *
- * @param o view object to set text direction.
- * @param direction text direction.
- */
-EAPI void ewk_view_text_direction_set(Evas_Object *o, Ewk_Text_Direction direction);
-
-/**
- * Sets the view mode.
- *
- * The view-mode media feature describes the mode in which the
- * Web application is being shown as a running application.
- *
- * @param o view object to change the view mode
- * @param view_mode page view mode to set
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
- */
-EAPI Eina_Bool ewk_view_mode_set(Evas_Object *o, Ewk_View_Mode view_mode);
-
-/**
- * Gets the view mode.
- *
- * @param o view object to get the view mode
- *
- * @return enum value of @a Ewk_View_Mode that indicates current view mode on success or
- * EWK_VIEW_MODE_INVALID otherwise
- *
- * @see ewk_view_mode_set()
- */
-EAPI Ewk_View_Mode ewk_view_mode_get(const Evas_Object *o);
-
-/**
- * Creates a JS object named @a obj_name as property of the window object. This should be called on a callback connectedto the
- * js,windowobject,clear signal.
- *
- * @param o view.
- * @param obj object that will be added(see: @a ewk_js_object_new).
- * @param obj_name name of the object.
- *
- * @return @c EINA_TRUE if object was added, @c EINA_FALSE if not.
- */
-EAPI Eina_Bool ewk_view_js_object_add(Evas_Object *o, Ewk_JS_Object *obj, const char *obj_name);
-
-/// Defines the page visibility status.
-enum _Ewk_Page_Visibility_State {
- EWK_PAGE_VISIBILITY_STATE_VISIBLE,
- EWK_PAGE_VISIBILITY_STATE_HIDDEN,
- EWK_PAGE_VISIBILITY_STATE_PRERENDER,
- EWK_PAGE_VISIBILITY_STATE_UNLOADED
-};
-/// Creates a type name for @a _Ewk_Page_Visibility_State.
-typedef enum _Ewk_Page_Visibility_State Ewk_Page_Visibility_State;
-
-/**
- * Sets the visibility state of the page.
- *
- * This function let WebKit knows the visibility status of the page.
- * WebKit will save the current status, and fire a "visibilitychange"
- * event which web application can listen. Web application could slow
- * down or stop itself when it gets a "visibilitychange" event and its
- * visibility state is hidden. If its visibility state is visible, then
- * the web application could use more resources.
- *
- * This feature makes that web application could use the resources efficiently,
- * such as power, CPU, and etc.
- *
- * If more detailed description is needed, please see the specification.
- * (http://www.w3.org/TR/page-visibility)
- *
- * @param o view object to set the visibility state.
- * @param page_visible_state the visible state of the page to set.
- * @param initial_state @c EINA_TRUE if this function is called at page initialization time,
- * @c EINA_FALSE otherwise.
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure.
- */
-EAPI Eina_Bool ewk_view_visibility_state_set(Evas_Object *o, Ewk_Page_Visibility_State page_visible_state, Eina_Bool initial_state);
-
-/**
- * Gets the visibility state of the page.
- *
- * @param o view object
- *
- * @return enum value of @a Ewk_Page_Visibility_State that indicates current visibility status of the page.
- *
- * @see ewk_view_visibility_state_set()
- */
-EAPI Ewk_Page_Visibility_State ewk_view_visibility_state_get(const Evas_Object *o);
-
-/**
- * Returns whether the view has displayed mixed content.
- *
- * When a view has displayed mixed content, any of its frames has loaded an HTTPS URI
- * which has itself loaded and displayed a resource (such as an image) from an insecure,
- * that is, non-HTTPS, URI.
- *
- * The status is reset only when a load event occurs (eg. the page is reloaded or a new page is loaded).
- *
- * When one of the containing frames displays mixed content, the view emits the "mixedcontent,displayed" signal.
- *
- * @param o The view to query.
- *
- * @sa ewk_frame_mixed_content_displayed_get
- */
-EAPI Eina_Bool ewk_view_mixed_content_displayed_get(const Evas_Object *o);
-
-/**
- * Returns whether the view has run mixed content.
- *
- * When a view has run mixed content, any of its frames has loaded an HTTPS URI
- * which has itself loaded and run a resource (such as an image) from an insecure,
- * that is, non-HTTPS, URI.
- *
- * The status is reset only when a load event occurs (eg. the page is reloaded or a new page is loaded).
- *
- * When one of the containing frames runs mixed content, the view emits the "mixedcontent,run" signal.
- *
- * @param o The view to query.
- *
- * @sa ewk_frame_mixed_content_run_get
- */
-EAPI Eina_Bool ewk_view_mixed_content_run_get(const Evas_Object *o);
-
-/**
- * Returns the SoupSession associated with this view.
- *
- * By default, all views share the same, default soup session also available
- * by calling ewk_network_default_soup_session_get.
- *
- * @param o The view to query.
- *
- * @sa ewk_view_soup_session_set, ewk_network_default_soup_session_get
- */
-EAPI SoupSession* ewk_view_soup_session_get(const Evas_Object *o);
-
-/**
- * Associates a new SoupSession with this view.
- *
- * Only sessions of type SoupSessionAsync are supported.
- *
- * @note Changing the SoupSession should not be needed in most cases. If
- * a different SoupSession is used, the cookie management and some
- * network functions in ewk will not have any effect on it.
- *
- * @param o The view to change.
- * @param session The new SoupSession.
- *
- * @sa ewk_view_soup_session_get, ewk_network_default_soup_session_get
- */
-EAPI void ewk_view_soup_session_set(Evas_Object *o, SoupSession *session);
-
-/**
- * Returns whether XSSAuditor feature is enabled.
- *
- * @param o view object to query whether XSSAuditor feature is enabled.
- *
- * @return @c EINA_TRUE if the XSSAuditor feature is enabled,
- * @c EINA_FALSE if not or on failure.
- */
-EAPI Eina_Bool ewk_view_setting_enable_xss_auditor_get(const Evas_Object *o);
-
-/**
- * Enables/disables the XSSAuditor feature.
- *
- * The XSSAuditor (cross-site scripting protection) feature provides protection
- * from reflected XSS attacks on vulnerable web sites. When XSS is encountered
- * in the page, frame sends a signal "xss,detected" with additional information
- * on whether the entire page was blocked or only injected scripts were removed.
- * This feature is enabled by default.
- *
- * @param o view object to set the XSSAuditor feature.
- * @param enable @c EINA_TRUE to enable the XSSAuditor feature,
- * @c EINA_FALSE to disable.
- */
-EAPI void ewk_view_setting_enable_xss_auditor_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Returns whether video captions display feature is enabled.
- *
- * Video captions display is disabled by default.
- *
- * @param o view object to query whether video captions display feature is enabled.
- *
- * @return @c EINA_TRUE if the video captions display feature is enabled,
- * @c EINA_FALSE if not or on failure.
- */
-EAPI Eina_Bool ewk_view_setting_should_display_captions_get(const Evas_Object *o);
-
-/**
- * Enables/disables the video captions display feature.
- *
- * The video captions display feature is part of track support for HTML5 video.
- *
- * @param o view object to set the video captions display feature.
- * @param enable @c EINA_TRUE to enable the video captions display feature,
- * @c EINA_FALSE to disable.
- */
-EAPI void ewk_view_setting_should_display_captions_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Returns whether video subtitles display feature is enabled.
- *
- * Video subtitles display is disabled by default.
- *
- * @param o view object to query whether video subtitles display feature is enabled.
- *
- * @return @c EINA_TRUE if the video subtitles display feature is enabled,
- * @c EINA_FALSE if not or on failure.
- */
-EAPI Eina_Bool ewk_view_setting_should_display_subtitles_get(const Evas_Object *o);
-
-/**
- * Enables/disables the video subtitles display feature.
- *
- * The video subtitles display feature is part of track support for HTML5 video.
- *
- * @param o view object to set the video subtitles display feature.
- * @param enable @c EINA_TRUE to enable the video subtitles display feature,
- * @c EINA_FALSE to disable.
- */
-EAPI void ewk_view_setting_should_display_subtitles_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Returns whether video text descriptions display feature is enabled.
- *
- * Video text descriptions display is disabled by default.
- *
- * @param o view object to query whether video text descriptions display feature is enabled.
- *
- * @return @c EINA_TRUE if the video text descriptions display feature is enabled,
- * @c EINA_FALSE if not or on failure.
- */
-EAPI Eina_Bool ewk_view_setting_should_display_text_descriptions_get(const Evas_Object *o);
-
-/**
- * Enables/disables the video text descriptions display feature.
- *
- * The video text descriptions display feature is part of track support for HTML5 video.
- *
- * @param o view object to set the video text descriptions display feature.
- * @param enable @c EINA_TRUE to enable the video text descriptions display feature,
- * @c EINA_FALSE to disable.
- */
-EAPI void ewk_view_setting_should_display_text_descriptions_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Show the inspector to debug a web page.
- *
- * The following signals are emiited.
- * "inspector,view,create" and "inspector,view,close"
- * The first one will be called to request the view for inspector on view that will be inspected.
- * This callback should create the view for inspector and set the view with ewk_view_inspector_view_set().
- * The second one will be called to close the view for inspector on view having the inspector after disconnecting frontend
- * This callback should remove the view for inspector.
- *
- * When the view having the inspector is removed,
- * please emit the "inspector,view,destroy" signal on view for inspector.
- *
- * @param o The view to show the inspector.
- *
- * @see ewk_view_inspector_close()
- * @see ewk_view_inspector_view_set()
- */
-EAPI void ewk_view_inspector_show(const Evas_Object *o);
-
-/**
- * Close the inspector view
- *
- * @param o The view to close the inspector.
- *
- * @see ewk_view_inspector_show()
- * @see ewk_view_inspector_view_get()
- */
-EAPI void ewk_view_inspector_close(const Evas_Object *o);
-
-/**
- * Get the view of inspector.
- *
- * @param o The view that is inspected.
- *
- * @return view object on success or @c NULL on failure
- */
-EAPI Evas_Object* ewk_view_inspector_view_get(const Evas_Object *o);
-
-/**
- * Set the view of inspector.
- *
- * @param o The view that is inspected.
- * @param inspector_view The view of inspector.
- */
-EAPI void ewk_view_inspector_view_set(Evas_Object *o, Evas_Object *inspector_view);
-
-/**
- * Enables/disables the fullscreen mode by javascript fullscreen API.
- * The javascript API allows to request full screen mode, for more information see:
- * http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
- *
- * Default value for javascript fullscreen API setting is @c EINA_TRUE.
- *
- * @param o view object to enable javascript fullscreen API
- * @param enable @c EINA_TRUE to enable javascript fullscreen API or
- * @c EINA_FALSE to disable
- *
- * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_fullscreen_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Queries if the fullscreen mode is enabled.
- *
- * @param o view object to query whether javascript fullscreen API is enabled
- *
- * @return @c EINA_TRUE if the javascript fullscreen API is enabled
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_enable_fullscreen_get(const Evas_Object *o);
-
-/**
- * Enables/disables the WebCore's tiled backing store.
- *
- * @param o view object
- * @oaram enable Enable or Disable WebCore's tiled backing store for given View
- *
- * @return true on success, or false on failure
- *
- * @note this is not for general use. It should be used for single view only.
- */
-EAPI Eina_Bool ewk_view_setting_tiled_backing_store_enabled_set(Evas_Object *o, Eina_Bool enable);
-
-/**
- * Queries if the WebCore's tiled backing store is enabled.
- *
- * @param o view object to query
- *
- * @return @c EINA_TRUE if the WebCore's tiled backing store is enabled
- * @c EINA_FALSE if not or on failure
- */
-EAPI Eina_Bool ewk_view_setting_tiled_backing_store_enabled_get(Evas_Object *o);
-
-/**
- * Gets the context menu object.
- * @param o The view that contains context menu.
- *
- * @return context menu structure on success or @c NULL on failure
- */
-EAPI Ewk_Context_Menu *ewk_view_context_menu_get(const Evas_Object *o);
-
-#ifdef __cplusplus
-}
-#endif
-#endif // ewk_view_h
diff --git a/Source/WebKit/efl/ewk/ewk_view_private.h b/Source/WebKit/efl/ewk/ewk_view_private.h
deleted file mode 100644
index 031f53cfd..000000000
--- a/Source/WebKit/efl/ewk/ewk_view_private.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2012 Samsung Electronics
- Copyright (C) 2012 Intel Corporation
-
- 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 ewk_view_private_h
-#define ewk_view_private_h
-
-#include "Frame.h"
-#include "NetworkStorageSession.h"
-#include "Page.h"
-#include "Widget.h"
-#include "ewk_paint_context_private.h"
-#include "ewk_view.h"
-
-namespace WebCore {
-#if ENABLE(INPUT_TYPE_COLOR)
-class Color;
-class ColorChooserClient;
-#endif
-
-class Cursor;
-#if USE(ACCELERATED_COMPOSITING)
-class GraphicsContext3D;
-class GraphicsLayer;
-#endif
-class HTMLPlugInElement;
-class IntRect;
-class IntSize;
-class PopupMenuClient;
-}
-
-// Defines the names for initializing ewk_view_smart_class
-const char ewkViewTiledName[] = "Ewk_View_Tiled";
-const char ewkViewSingleName[] = "Ewk_View_Single";
-
-// Define to prevent an application using different view type from calling the function.
-#define EWK_VIEW_TYPE_CHECK_OR_RETURN(ewkView, viewName, ...) \
- if (!evas_object_smart_type_check(ewkView, viewName)) { \
- INFO("ewkView isn't an instance of %s", viewName); \
- return __VA_ARGS__; \
- }
-
-void ewk_view_cursor_set(Evas_Object* ewkView, const WebCore::Cursor& cursor);
-void ewk_view_ready(Evas_Object* ewkView);
-void ewk_view_input_method_state_set(Evas_Object* ewkView, bool active);
-void ewk_view_title_set(Evas_Object* ewkView, const Ewk_Text_With_Direction* title);
-void ewk_view_uri_changed(Evas_Object* ewkView);
-void ewk_view_load_document_finished(Evas_Object* ewkView, Evas_Object* frame);
-void ewk_view_load_started(Evas_Object* ewkView, Evas_Object* ewkFrame);
-void ewk_view_load_provisional(Evas_Object* ewkView);
-void ewk_view_load_provisional_failed(Evas_Object* ewkView, const Ewk_Frame_Load_Error* error);
-void ewk_view_frame_main_load_started(Evas_Object* ewkView);
-void ewk_view_frame_main_cleared(Evas_Object* ewkView);
-void ewk_view_frame_main_icon_received(Evas_Object* ewkView);
-void ewk_view_load_finished(Evas_Object* ewkView, const Ewk_Frame_Load_Error* error);
-void ewk_view_load_error(Evas_Object* ewkView, const Ewk_Frame_Load_Error* error);
-void ewk_view_load_progress_changed(Evas_Object* ewkView);
-void ewk_view_load_show(Evas_Object* ewkView);
-void ewk_view_onload_event(Evas_Object* ewkView, Evas_Object* frame);
-void ewk_view_restore_state(Evas_Object* ewkView, Evas_Object* frame);
-Evas_Object* ewk_view_window_create(Evas_Object* ewkView, bool javascript, const WebCore::WindowFeatures* coreFeatures);
-void ewk_view_window_close(Evas_Object* ewkView);
-
-void ewk_view_mouse_link_hover_in(Evas_Object* ewkView, void* data);
-void ewk_view_mouse_link_hover_out(Evas_Object* ewkView);
-
-void ewk_view_toolbars_visible_set(Evas_Object* ewkView, bool visible);
-void ewk_view_toolbars_visible_get(Evas_Object* ewkView, bool* visible);
-
-void ewk_view_statusbar_visible_set(Evas_Object* ewkView, bool visible);
-void ewk_view_statusbar_visible_get(Evas_Object* ewkView, bool* visible);
-void ewk_view_statusbar_text_set(Evas_Object* ewkView, const char* text);
-
-void ewk_view_scrollbars_visible_set(Evas_Object* ewkView, bool visible);
-void ewk_view_scrollbars_visible_get(Evas_Object* ewkView, bool* visible);
-
-void ewk_view_menubar_visible_set(Evas_Object* ewkView, bool visible);
-void ewk_view_menubar_visible_get(Evas_Object* ewkView, bool* visible);
-
-void ewk_view_tooltip_text_set(Evas_Object* ewkView, const char* text);
-
-void ewk_view_add_console_message(Evas_Object* ewkView, const char* message, unsigned int lineNumber, const char* sourceID);
-
-void ewk_view_run_javascript_alert(Evas_Object* ewkView, Evas_Object* frame, const char* message);
-bool ewk_view_run_javascript_confirm(Evas_Object* ewkView, Evas_Object* frame, const char* message);
-bool ewk_view_run_before_unload_confirm(Evas_Object* ewkView, Evas_Object* frame, const char* message);
-bool ewk_view_run_javascript_prompt(Evas_Object* ewkView, Evas_Object* frame, const char* message, const char* defaultValue, const char** value);
-bool ewk_view_should_interrupt_javascript(Evas_Object* ewkView);
-int64_t ewk_view_exceeded_application_cache_quota(Evas_Object* ewkView, Ewk_Security_Origin *origin, int64_t defaultOriginQuota, int64_t totalSpaceNeeded);
-uint64_t ewk_view_exceeded_database_quota(Evas_Object* ewkView, Evas_Object* frame, const char* databaseName, uint64_t currentSize, uint64_t expectedSize);
-
-bool ewk_view_run_open_panel(Evas_Object* ewkView, Evas_Object* frame, Ewk_File_Chooser* fileChooser, Eina_List** selectedFilenames);
-
-void ewk_view_repaint(Evas_Object* ewkView, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height);
-void ewk_view_scroll(Evas_Object*, const WebCore::IntSize& delta, const WebCore::IntRect& rectToScroll, const WebCore::IntRect& clipRect);
-WebCore::Page* ewk_view_core_page_get(const Evas_Object* ewkView);
-
-WTF::PassRefPtr<WebCore::Frame> ewk_view_frame_create(Evas_Object* ewkView, Evas_Object* frame, const WTF::String& name, WebCore::HTMLFrameOwnerElement* ownerElement, const WebCore::KURL& url, const WTF::String& referrer);
-
-WTF::PassRefPtr<WebCore::Widget> ewk_view_plugin_create(Evas_Object* ewkView, Evas_Object* frame, const WebCore::IntSize& pluginSize, WebCore::HTMLPlugInElement* element, const WebCore::KURL& url, const WTF::Vector<WTF::String>& paramNames, const WTF::Vector<WTF::String>& paramValues, const WTF::String& mimeType, bool loadManually);
-
-#if ENABLE(INPUT_TYPE_COLOR)
-void ewk_view_color_chooser_new(Evas_Object* ewkView, WebCore::ColorChooserClient* client, const WebCore::Color& initialColor);
-void ewk_view_color_chooser_changed(Evas_Object* ewkView, const WebCore::Color& newColor);
-#endif
-
-void ewk_view_popup_new(Evas_Object* ewkView, WebCore::PopupMenuClient* client, int selected, const WebCore::IntRect& rect);
-void ewk_view_viewport_attributes_set(Evas_Object* ewkView, const WebCore::ViewportArguments& arguments);
-
-void ewk_view_download_request(Evas_Object* ewkView, Ewk_Download* download);
-
-void ewk_view_editor_client_contents_changed(Evas_Object* ewkView);
-void ewk_view_editor_client_selection_changed(Evas_Object* ewkView);
-
-bool ewk_view_focus_can_cycle(Evas_Object* ewkView, Ewk_Focus_Direction direction);
-void ewk_view_frame_view_creation_notify(Evas_Object* ewkView);
-
-Eina_Bool ewk_view_paint(Ewk_View_Private_Data* priv, Ewk_Paint_Context* context, const Eina_Rectangle* area);
-Eina_Bool ewk_view_paint_contents(Ewk_View_Private_Data* priv, Ewk_Paint_Context* context, const Eina_Rectangle* area);
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-void ewk_view_js_window_object_clear(Evas_Object* ewkView, Evas_Object* frame);
-#endif
-
-#if USE(TILED_BACKING_STORE)
-void ewk_view_tiled_backing_store_invalidate(Evas_Object* ewkView, const WebCore::IntRect& area);
-#endif
-
-#if ENABLE(TOUCH_EVENTS)
-void ewk_view_need_touch_events_set(Evas_Object*, bool needed);
-bool ewk_view_need_touch_events_get(const Evas_Object*);
-#endif
-
-const Eina_Rectangle* ewk_view_repaints_pop(Ewk_View_Private_Data* priv, size_t* count);
-const Vector<WebCore::IntSize>& ewk_view_scroll_offsets_get(const Ewk_View_Private_Data*);
-const Vector<WebCore::IntRect>& ewk_view_scroll_rects_get(const Ewk_View_Private_Data*);
-
-void ewk_view_repaint_add(Ewk_View_Private_Data* priv, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height);
-
-void ewk_view_layout_if_needed_recursive(Ewk_View_Private_Data* priv);
-
-bool ewk_view_navigation_policy_decision(Evas_Object* ewkView, Ewk_Frame_Resource_Request* request, Ewk_Navigation_Type navigationType);
-
-void ewk_view_contents_size_changed(Evas_Object* ewkView, Evas_Coord width, Evas_Coord height);
-
-WebCore::FloatRect ewk_view_page_rect_get(const Evas_Object* ewkView);
-
-void ewk_view_mixed_content_displayed_set(Evas_Object* ewkView, bool hasDisplayed);
-void ewk_view_mixed_content_run_set(Evas_Object* ewkView, bool hasRun);
-
-#if USE(ACCELERATED_COMPOSITING)
-bool ewk_view_accelerated_compositing_object_create(Evas_Object* ewkView, Evas_Native_Surface* nativeSurface, const WebCore::IntRect& rect);
-WebCore::GraphicsContext3D* ewk_view_accelerated_compositing_context_get(Evas_Object* ewkView);
-void ewk_view_root_graphics_layer_set(Evas_Object* ewkView, WebCore::GraphicsLayer* rootLayer);
-void ewk_view_mark_for_sync(Evas_Object* ewkView);
-#endif
-
-#if ENABLE(FULLSCREEN_API)
-void ewk_view_fullscreen_enter(const Evas_Object* ewkView);
-void ewk_view_fullscreen_exit(const Evas_Object* ewkView);
-#endif
-
-namespace EWKPrivate {
-WebCore::Page *corePage(const Evas_Object *ewkView);
-PlatformPageClient corePageClient(Evas_Object* ewkView);
-WebCore::NetworkStorageSession* storageSession(const Evas_Object* ewkView);
-} // namespace EWKPrivate
-
-#endif // ewk_view_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_view_single.cpp b/Source/WebKit/efl/ewk/ewk_view_single.cpp
deleted file mode 100644
index 0b8317b03..000000000
--- a/Source/WebKit/efl/ewk/ewk_view_single.cpp
+++ /dev/null
@@ -1,372 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2010 Samsung Electronics
-
- 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 "ewk_view.h"
-
-#include "TiledBackingStore.h"
-#include "ewk_frame_private.h"
-#include "ewk_private.h"
-#include "ewk_view_private.h"
-
-#include <Ecore_Evas.h>
-#include <Evas.h>
-#include <eina_safety_checks.h>
-#include <string.h>
-
-#if ENABLE(INSPECTOR)
-#include "InspectorController.h"
-#include "Page.h"
-#endif
-
-static Ewk_View_Smart_Class _parent_sc = EWK_VIEW_SMART_CLASS_INIT_NULL;
-
-static void _ewk_view_single_on_del(void* data, Evas*, Evas_Object*, void*)
-{
- Evas_Object* clip = (Evas_Object*)data;
- evas_object_del(clip);
-}
-
-static void _ewk_view_single_smart_add(Evas_Object* ewkView)
-{
- Ewk_View_Smart_Data* smartData;
-
- _parent_sc.sc.add(ewkView);
-
- smartData = static_cast<Ewk_View_Smart_Data*>(evas_object_smart_data_get(ewkView));
- if (!smartData)
- return;
-
- Evas_Object* clip = evas_object_rectangle_add(smartData->base.evas);
- evas_object_show(clip);
-
- evas_object_event_callback_add
- (smartData->backing_store, EVAS_CALLBACK_DEL, _ewk_view_single_on_del, clip);
-}
-
-static Evas_Object* _ewk_view_single_smart_backing_store_add(Ewk_View_Smart_Data* smartData)
-{
- Evas_Object* bs = evas_object_image_add(smartData->base.evas);
- EINA_SAFETY_ON_NULL_RETURN_VAL(bs, 0);
- const Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(smartData->base.evas);
- const char* engine = ecore_evas_engine_name_get(ecoreEvas);
- if (!strncmp(engine, "opengl_x11", strlen("opengl_x11")))
- evas_object_image_content_hint_set(bs, EVAS_IMAGE_CONTENT_HINT_DYNAMIC);
-
- evas_object_image_alpha_set(bs, false);
- evas_object_image_smooth_scale_set(bs, smartData->zoom_weak_smooth_scale);
-
- return bs;
-}
-
-static void _ewk_view_single_smart_resize(Evas_Object* ewkView, Evas_Coord width, Evas_Coord height)
-{
- Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(evas_object_smart_data_get(ewkView));
- _parent_sc.sc.resize(ewkView, width, height);
-
- if (!smartData)
- return;
-
- // these should be queued and processed in calculate as well!
- evas_object_image_size_set(smartData->backing_store, width, height);
- if (smartData->animated_zoom.zoom.current < 0.00001) {
- Evas_Object* clip = evas_object_clip_get(smartData->backing_store);
- Evas_Coord x, y, cw, ch;
- evas_object_image_fill_set(smartData->backing_store, 0, 0, width, height);
- evas_object_geometry_get(smartData->backing_store, &x, &y, 0, 0);
- evas_object_move(clip, x, y);
- ewk_frame_contents_size_get(smartData->main_frame, &cw, &ch);
- if (width > cw)
- width = cw;
- if (height > ch)
- height = ch;
- evas_object_resize(clip, width, height);
- }
-}
-
-static inline void _ewk_view_screen_move(uint32_t* image, size_t destinationX, size_t destinationY, size_t sourceX, size_t sourceY, size_t copyWidth, size_t copyHeight, size_t imageWidth)
-{
- uint32_t* sourceBegin = image + (imageWidth * sourceY) + sourceX;
- uint32_t* destinationBegin = image + (imageWidth * destinationY) + destinationX;
-
- size_t copyLength = copyWidth * 4;
- const int moveLineUpDown = sourceY >= destinationY ? 1 : -1;
- int startHeight = sourceY >= destinationY ? 0 : copyHeight - 1;
-
- uint32_t* source, * destination;
- if ((destinationX > sourceX && destinationX < sourceX + copyWidth)
- || (destinationX < sourceX && destinationX + copyWidth > sourceX)) {
- for (size_t i = 0; i < copyHeight; i++) {
- source = sourceBegin + (imageWidth * startHeight);
- destination = destinationBegin + (imageWidth * startHeight);
- startHeight = startHeight + moveLineUpDown;
- memmove(destination, source, copyLength);
- }
- } else {
- for (size_t i = 0; i < copyHeight; i++) {
- source = sourceBegin + (imageWidth * startHeight);
- destination = destinationBegin + (imageWidth * startHeight);
- startHeight = startHeight + moveLineUpDown;
- memcpy(destination, source, copyLength);
- }
- }
-}
-
-static inline void _ewk_view_single_scroll_process_single(Ewk_View_Smart_Data* smartData, void* pixels, Evas_Coord width, Evas_Coord height, const WebCore::IntSize& scrollOffset, const WebCore::IntRect& rectToScroll)
-{
- int scrollX = rectToScroll.x();
- int scrollY = rectToScroll.y();
- int scrollWidth = rectToScroll.width();
- int scrollHeight = rectToScroll.height();
-
- DBG("%d,%d + %d,%d %+03d,%+03d, store: %p %dx%d",
- scrollX, scrollY, scrollWidth, scrollHeight, scrollOffset.width(), scrollOffset.height(), pixels, width, height);
-
- if (abs(scrollOffset.width()) >= scrollWidth || abs(scrollOffset.height()) >= scrollHeight) {
- ewk_view_repaint_add(smartData->_priv, scrollX, scrollY, scrollWidth, scrollHeight);
- return;
- }
-
- if (scrollX < 0) {
- scrollWidth += scrollX;
- scrollX = 0;
- }
- if (scrollY < 0) {
- scrollHeight += scrollY;
- scrollY = 0;
- }
-
- if (scrollX + scrollWidth > width)
- scrollWidth = width - scrollX;
- if (scrollY + scrollHeight > height)
- scrollHeight = height - scrollY;
-
- if (scrollWidth <= 0 || scrollHeight <= 0)
- return;
-
- int sourceX = scrollOffset.width() < 0 ? abs(scrollOffset.width()) : 0;
- int sourceY = scrollOffset.height() < 0 ? abs(scrollOffset.height()) : 0;
- int destinationX = scrollOffset.width() < 0 ? 0 : scrollOffset.width();
- int destinationY = scrollOffset.height() < 0 ? 0 : scrollOffset.height();
- int copyWidth = scrollWidth - abs(scrollOffset.width());
- int copyHeight = scrollHeight - abs(scrollOffset.height());
- if (scrollOffset.width() || scrollOffset.height()) {
- _ewk_view_screen_move(static_cast<uint32_t*>(pixels), destinationX, destinationY, sourceX, sourceY, copyWidth, copyHeight, width);
- evas_object_image_data_update_add(smartData->backing_store, destinationX, destinationY, copyWidth, copyHeight);
- }
-
- Eina_Rectangle verticalUpdate;
- verticalUpdate.x = destinationX ? 0 : copyWidth - 1;
- verticalUpdate.y = 0;
- verticalUpdate.w = abs(scrollOffset.width());
- verticalUpdate.h = scrollHeight;
- if (verticalUpdate.w && verticalUpdate.h)
- ewk_view_repaint_add(smartData->_priv, verticalUpdate.x, verticalUpdate.y, verticalUpdate.w, verticalUpdate.h);
-
- Eina_Rectangle horizontalUpdate;
- horizontalUpdate.x = destinationX;
- horizontalUpdate.y = destinationY ? 0 : copyHeight - 1;
- horizontalUpdate.w = copyWidth;
- horizontalUpdate.h = abs(scrollOffset.height());
- if (horizontalUpdate.w && horizontalUpdate.h)
- ewk_view_repaint_add(smartData->_priv, horizontalUpdate.x, horizontalUpdate.y, horizontalUpdate.w, horizontalUpdate.h);
-}
-
-static Eina_Bool _ewk_view_single_smart_scrolls_process(Ewk_View_Smart_Data* smartData)
-{
- Evas_Coord imageWidth, imageHeight;
- void* pixels = evas_object_image_data_get(smartData->backing_store, 1);
- evas_object_image_size_get(smartData->backing_store, &imageWidth, &imageHeight);
-
- const WTF::Vector<WebCore::IntSize>& scrollOffset = ewk_view_scroll_offsets_get(smartData->_priv);
- const WTF::Vector<WebCore::IntRect>& rectsToScroll = ewk_view_scroll_rects_get(smartData->_priv);
- for (size_t i = 0; i < scrollOffset.size(); ++i)
- _ewk_view_single_scroll_process_single(smartData, pixels, imageWidth, imageHeight, scrollOffset[i], rectsToScroll[i]);
-
- evas_object_image_data_set(smartData->backing_store, pixels);
-
- return true;
-}
-
-static Eina_Bool _ewk_view_single_smart_repaints_process(Ewk_View_Smart_Data* smartData)
-{
- if (smartData->animated_zoom.zoom.current < 0.00001) {
- Evas_Object* clip = evas_object_clip_get(smartData->backing_store);
-
- // reset effects of zoom_weak_set()
- evas_object_image_fill_set(smartData->backing_store, 0, 0, smartData->view.w, smartData->view.h);
- evas_object_move(clip, smartData->view.x, smartData->view.y);
-
- Evas_Coord width = smartData->view.w;
- Evas_Coord height = smartData->view.h;
-
- Evas_Coord centerWidth, centerHeight;
- ewk_frame_contents_size_get(smartData->main_frame, &centerWidth, &centerHeight);
- if (width > centerWidth)
- width = centerWidth;
-
- if (height > centerHeight)
- height = centerHeight;
-
- evas_object_resize(clip, width, height);
- }
-
- Evas_Coord imageWidth, imageHeight;
- evas_object_image_size_get(smartData->backing_store, &imageWidth, &imageHeight);
-
- Eina_Tiler* tiler = eina_tiler_new(imageWidth, imageHeight);
- if (!tiler) {
- ERR("could not create tiler %dx%d", imageWidth, imageHeight);
- return false;
- }
-
- ewk_view_layout_if_needed_recursive(smartData->_priv);
-
- size_t count;
- const Eina_Rectangle* paintRequest = ewk_view_repaints_pop(smartData->_priv, &count);
- const Eina_Rectangle* paintRequestEnd = paintRequest + count;
- for (; paintRequest < paintRequestEnd; paintRequest++)
- eina_tiler_rect_add(tiler, paintRequest);
-
- Eina_Iterator* iterator = eina_tiler_iterator_new(tiler);
- if (!iterator) {
- ERR("could not get iterator for tiler");
- eina_tiler_free(tiler);
- return false;
- }
-
-#if USE(TILED_BACKING_STORE)
- WebCore::Frame* mainFrame = EWKPrivate::coreFrame(smartData->main_frame);
- if (mainFrame && mainFrame->tiledBackingStore())
- mainFrame->tiledBackingStore()->coverWithTilesIfNeeded();
-#endif
-
- Ewk_Paint_Context* context = ewk_paint_context_from_image_new(smartData->backing_store);
- ewk_paint_context_save(context);
-
- Eina_Rectangle* rect;
- EINA_ITERATOR_FOREACH(iterator, rect) {
- ewk_view_paint(smartData->_priv, context, rect);
- evas_object_image_data_update_add(smartData->backing_store, rect->x, rect->y, rect->w, rect->h);
- }
-
-#if ENABLE(INSPECTOR)
- WebCore::Page* page = EWKPrivate::corePage(smartData->self);
- if (page) {
- WebCore::InspectorController* controller = page->inspectorController();
- if (controller->highlightedNode())
- controller->drawHighlight(*context->graphicContext);
- }
-#endif
-
- ewk_paint_context_restore(context);
- ewk_paint_context_free(context);
-
- eina_tiler_free(tiler);
- eina_iterator_free(iterator);
-
- return true;
-}
-
-static Eina_Bool _ewk_view_single_smart_zoom_weak_set(Ewk_View_Smart_Data* smartData, float zoom, Evas_Coord centerX, Evas_Coord centerY)
-{
- // TODO: review
- float scale = zoom / smartData->animated_zoom.zoom.start;
- Evas_Coord w = smartData->view.w * scale;
- Evas_Coord h = smartData->view.h * scale;
- Evas_Coord dx, dy, cw, ch;
- Evas_Object* clip = evas_object_clip_get(smartData->backing_store);
-
- ewk_frame_contents_size_get(smartData->main_frame, &cw, &ch);
- if (smartData->view.w > 0 && smartData->view.h > 0) {
- dx = (w * (smartData->view.w - centerX)) / smartData->view.w;
- dy = (h * (smartData->view.h - centerY)) / smartData->view.h;
- } else {
- dx = 0;
- dy = 0;
- }
-
- evas_object_image_fill_set(smartData->backing_store, centerX + dx, centerY + dy, w, h);
-
- if (smartData->view.w > 0 && smartData->view.h > 0) {
- dx = ((smartData->view.w - w) * centerX) / smartData->view.w;
- dy = ((smartData->view.h - h) * centerY) / smartData->view.h;
- } else {
- dx = 0;
- dy = 0;
- }
- evas_object_move(clip, smartData->view.x + dx, smartData->view.y + dy);
-
- if (cw < smartData->view.w)
- w = cw * scale;
- if (ch < smartData->view.h)
- h = ch * scale;
- evas_object_resize(clip, w, h);
- return true;
-}
-
-static void _ewk_view_single_smart_zoom_weak_smooth_scale_set(Ewk_View_Smart_Data* smartData, Eina_Bool smooth_scale)
-{
- evas_object_image_smooth_scale_set(smartData->backing_store, smooth_scale);
-}
-
-static void _ewk_view_single_smart_bg_color_set(Ewk_View_Smart_Data* smartData, unsigned char /*red*/, unsigned char /*green*/, unsigned char /*blue*/, unsigned char alpha)
-{
- evas_object_image_alpha_set(smartData->backing_store, alpha < 255);
-}
-
-Eina_Bool ewk_view_single_smart_set(Ewk_View_Smart_Class* api)
-{
- if (!ewk_view_base_smart_set(api))
- return false;
-
- if (EINA_UNLIKELY(!_parent_sc.sc.add))
- ewk_view_base_smart_set(&_parent_sc);
-
- api->sc.add = _ewk_view_single_smart_add;
- api->sc.resize = _ewk_view_single_smart_resize;
-
- api->backing_store_add = _ewk_view_single_smart_backing_store_add;
- api->scrolls_process = _ewk_view_single_smart_scrolls_process;
- api->repaints_process = _ewk_view_single_smart_repaints_process;
- api->zoom_weak_set = _ewk_view_single_smart_zoom_weak_set;
- api->zoom_weak_smooth_scale_set = _ewk_view_single_smart_zoom_weak_smooth_scale_set;
- api->bg_color_set = _ewk_view_single_smart_bg_color_set;
-
- return true;
-}
-
-static inline Evas_Smart* _ewk_view_single_smart_class_new(void)
-{
- static Ewk_View_Smart_Class api = EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION(ewkViewSingleName);
- static Evas_Smart* smart = 0;
-
- if (EINA_UNLIKELY(!smart)) {
- ewk_view_single_smart_set(&api);
- smart = evas_smart_class_new(&api.sc);
- }
-
- return smart;
-}
-
-Evas_Object* ewk_view_single_add(Evas* canvas)
-{
- return evas_object_smart_add(canvas, _ewk_view_single_smart_class_new());
-}
diff --git a/Source/WebKit/efl/ewk/ewk_view_tiled.cpp b/Source/WebKit/efl/ewk/ewk_view_tiled.cpp
deleted file mode 100644
index 43a1ddf28..000000000
--- a/Source/WebKit/efl/ewk/ewk_view_tiled.cpp
+++ /dev/null
@@ -1,376 +0,0 @@
-/*
- Copyright (C) 2009-2010 Samsung Electronics
- Copyright (C) 2009-2010 ProFUSION embedded systems
-
- 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 "ewk_view.h"
-
-#include "ewk_private.h"
-#include "ewk_tiled_backing_store_private.h"
-#include "ewk_view_private.h"
-#include <Evas.h>
-#include <eina_safety_checks.h>
-
-static Ewk_View_Smart_Class _parent_sc = EWK_VIEW_SMART_CLASS_INIT_NULL;
-
-static bool _ewk_view_tiled_render_cb(void* data, Ewk_Tile* tile, const Eina_Rectangle* area)
-{
- Ewk_View_Private_Data* priv = static_cast<Ewk_View_Private_Data*>(data);
- Eina_Rectangle rect = {area->x + tile->x, area->y + tile->y, area->w, area->h};
-
- uint8_t* pixels = static_cast<uint8_t*>(evas_object_image_data_get(tile->image, true));
- Ewk_Paint_Context* context = ewk_paint_context_from_image_data_new(pixels, tile->width, tile->height, tile->cspace);
-
- ewk_paint_context_translate(context, -tile->x, -tile->y);
- bool result = ewk_view_paint_contents(priv, context, &rect);
- ewk_paint_context_free(context);
-
- evas_object_image_data_set(tile->image, pixels);
-
- return result;
-}
-
-static void* _ewk_view_tiled_updates_process_pre(void* data, Evas_Object*)
-{
- Ewk_View_Private_Data* priv = static_cast<Ewk_View_Private_Data*>(data);
- ewk_view_layout_if_needed_recursive(priv);
- return 0;
-}
-
-static Evas_Object* _ewk_view_tiled_smart_backing_store_add(Ewk_View_Smart_Data* smartData)
-{
- Evas_Object* backingStore = ewk_tiled_backing_store_add(smartData->base.evas);
- ewk_tiled_backing_store_render_cb_set(backingStore, _ewk_view_tiled_render_cb, smartData->_priv);
- ewk_tiled_backing_store_updates_process_pre_set
- (backingStore, _ewk_view_tiled_updates_process_pre, smartData->_priv);
- return backingStore;
-}
-
-static void
-_ewk_view_tiled_contents_size_changed_cb(void* data, Evas_Object*, void* eventInfo)
-{
- Evas_Coord* size = static_cast<Evas_Coord*>(eventInfo);
- Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(data);
-
- ewk_tiled_backing_store_contents_resize
- (smartData->backing_store, size[0], size[1]);
-}
-
-static void _ewk_view_tiled_smart_add(Evas_Object* ewkView)
-{
- Ewk_View_Smart_Data* smartData;
-
- _parent_sc.sc.add(ewkView);
-
- smartData = static_cast<Ewk_View_Smart_Data*>(evas_object_smart_data_get(ewkView));
- if (!smartData)
- return;
-
- evas_object_smart_callback_add(
- smartData->main_frame, "contents,size,changed",
- _ewk_view_tiled_contents_size_changed_cb, smartData);
-}
-
-static Eina_Bool _ewk_view_tiled_smart_scrolls_process(Ewk_View_Smart_Data* smartData)
-{
- const WTF::Vector<WebCore::IntSize>& scrollOffset = ewk_view_scroll_offsets_get(smartData->_priv);
- for (size_t i = 0; i < scrollOffset.size(); ++i)
- ewk_tiled_backing_store_scroll_full_offset_add(smartData->backing_store, scrollOffset[i].width(), scrollOffset[i].height());
-
- return true;
-}
-
-static Eina_Bool _ewk_view_tiled_smart_repaints_process(Ewk_View_Smart_Data* smartData)
-{
- const Eina_Rectangle* paintRect, * endOfpaintRect;
- size_t count;
- int scrollX, scrollY;
-
- ewk_frame_scroll_pos_get(smartData->main_frame, &scrollX, &scrollY);
-
- paintRect = ewk_view_repaints_pop(smartData->_priv, &count);
- endOfpaintRect = paintRect + count;
- for (; paintRect < endOfpaintRect; paintRect++) {
- Eina_Rectangle rect;
- rect.x = paintRect->x + scrollX;
- rect.y = paintRect->y + scrollY;
- rect.w = paintRect->w;
- rect.h = paintRect->h;
- ewk_tiled_backing_store_update(smartData->backing_store, &rect);
- }
- ewk_tiled_backing_store_updates_process(smartData->backing_store);
-
- return true;
-}
-
-static Eina_Bool _ewk_view_tiled_smart_contents_resize(Ewk_View_Smart_Data* smartData, int width, int height)
-{
- ewk_tiled_backing_store_contents_resize(smartData->backing_store, width, height);
- return true;
-}
-
-static Eina_Bool _ewk_view_tiled_smart_zoom_set(Ewk_View_Smart_Data* smartData, float zoom, Evas_Coord centerX, Evas_Coord centerY)
-{
- Evas_Coord x, y, width, height;
- Eina_Bool result;
- result = ewk_tiled_backing_store_zoom_set(smartData->backing_store,
- &zoom, centerX, centerY, &x, &y);
- if (!result)
- return result;
- ewk_tiled_backing_store_disabled_update_set(smartData->backing_store, true);
- result = _parent_sc.zoom_set(smartData, zoom, centerX, centerY);
- ewk_frame_scroll_set(smartData->main_frame, -x, -y);
- ewk_frame_scroll_size_get(smartData->main_frame, &width, &height);
- ewk_tiled_backing_store_fix_offsets(smartData->backing_store, width, height);
- ewk_view_scrolls_process(smartData);
- evas_object_smart_calculate(smartData->backing_store);
- evas_object_smart_calculate(smartData->self);
- ewk_tiled_backing_store_disabled_update_set(smartData->backing_store, false);
- return result;
-}
-
-static Eina_Bool _ewk_view_tiled_smart_zoom_weak_set(Ewk_View_Smart_Data* smartData, float zoom, Evas_Coord centerX, Evas_Coord centerY)
-{
- return ewk_tiled_backing_store_zoom_weak_set(smartData->backing_store, zoom, centerX, centerY);
-}
-
-static void _ewk_view_tiled_smart_zoom_weak_smooth_scale_set(Ewk_View_Smart_Data* smartData, Eina_Bool smoothScale)
-{
- ewk_tiled_backing_store_zoom_weak_smooth_scale_set(smartData->backing_store, smoothScale);
-}
-
-static void _ewk_view_tiled_smart_bg_color_set(Ewk_View_Smart_Data* smartData, unsigned char /*red*/, unsigned char /*green*/, unsigned char /*blue*/, unsigned char alpha)
-{
- ewk_tiled_backing_store_alpha_set(smartData->backing_store, alpha < 255);
-}
-
-static void _ewk_view_tiled_smart_flush(Ewk_View_Smart_Data* smartData)
-{
- ewk_tiled_backing_store_flush(smartData->backing_store);
- _parent_sc.flush(smartData);
-}
-
-static Eina_Bool _ewk_view_tiled_smart_pre_render_region(Ewk_View_Smart_Data* smartData, Evas_Coord x, Evas_Coord y, Evas_Coord width, Evas_Coord height, float zoom)
-{
- return ewk_tiled_backing_store_pre_render_region
- (smartData->backing_store, x, y, width, height, zoom);
-}
-
-static Eina_Bool _ewk_view_tiled_smart_pre_render_relative_radius(Ewk_View_Smart_Data* smartData, unsigned int n, float zoom)
-{
- return ewk_tiled_backing_store_pre_render_relative_radius
- (smartData->backing_store, n, zoom);
-}
-
-static inline int _ewk_view_tiled_rect_collision_check(Eina_Rectangle destination, Eina_Rectangle source)
-{
- int direction = 0;
- if (destination.x < source.x)
- direction = direction | (1 << 0); // 0 bit shift, left
- if (destination.y < source.y)
- direction = direction | (1 << 1); // 1 bit shift, top
- if (destination.x + destination.w > source.x + source.w)
- direction = direction | (1 << 2); // 2 bit shift, right
- if (destination.y + destination.h > source.y + source.h)
- direction = direction | (1 << 3); // 3 bit shift, bottom
- DBG("check collision %d\r\n", direction);
- return direction;
-}
-
-static inline void _ewk_view_tiled_rect_collision_resolve(int direction, Eina_Rectangle* destination, Eina_Rectangle source)
-{
- if (direction & (1 << 0)) // 0 bit shift, left
- destination->x = source.x;
- if (direction & (1 << 1)) // 1 bit shift, top
- destination->y = source.y;
- if (direction & (1 << 2)) // 2 bit shift, right
- destination->x = destination->x - ((destination->x + destination->w) - (source.x + source.w));
- if (direction & (1 << 3)) // 3 bit shift, bottom
- destination->y = destination->y - ((destination->y + destination->h) - (source.y + source.h));
-}
-
-static Eina_Bool _ewk_view_tiled_smart_pre_render_start(Ewk_View_Smart_Data* smartData)
-{
- int contentWidth, contentHeight;
- ewk_frame_contents_size_get(smartData->main_frame, &contentWidth, &contentHeight);
-
- int viewX, viewY, viewWidth, viewHeight;
- ewk_frame_visible_content_geometry_get(smartData->main_frame, false, &viewX, &viewY, &viewWidth, &viewHeight);
-
- if (viewWidth <= 0 || viewHeight <= 0 || contentWidth <= 0 || contentHeight <= 0)
- return false;
-
- if (viewWidth >= contentWidth && viewHeight >= contentHeight)
- return false;
-
- int previousViewX, previousViewY;
- previousViewX = smartData->previousView.x;
- previousViewY = smartData->previousView.y;
-
- if (previousViewX < 0 || previousViewX > contentWidth || previousViewY < 0 || previousViewY > contentHeight)
- previousViewX = previousViewY = 0;
-
- float currentViewZoom = ewk_view_zoom_get(smartData->self);
-
- // pre-render works when two conditions are met.
- // zoom has been changed.
- // and the view has been moved more than tile size.
- if (abs(previousViewX - viewX) < defaultTileWidth
- && abs(previousViewY - viewY) < defaultTileHeigth
- && smartData->previousView.zoom == currentViewZoom) {
- return false;
- }
-
- // store previous view position and zoom.
- smartData->previousView.x = viewX;
- smartData->previousView.y = viewY;
- smartData->previousView.zoom = currentViewZoom;
-
- // cancelling previous pre-rendering list if exists.
- ewk_view_pre_render_cancel(smartData->self);
-
- Ewk_Tile_Unused_Cache* tileUnusedCache = ewk_view_tiled_unused_cache_get(smartData->self);
- int maxMemory = ewk_tile_unused_cache_max_get(tileUnusedCache);
- if (maxMemory <= viewWidth * viewHeight * EWK_ARGB_BYTES_SIZE)
- return false;
-
- Eina_Rectangle viewRect = {viewX, viewY, viewWidth, viewHeight};
- Eina_Rectangle contentRect = {0, 0, contentWidth, contentHeight};
-
- // get a base render rect.
- const int contentMemory = contentWidth * contentHeight * EWK_ARGB_BYTES_SIZE;
-
- // get render rect's width and height.
- Eina_Rectangle renderRect;
- if (maxMemory > contentMemory)
- renderRect = contentRect;
- else {
- // Make a base rectangle as big as possible with using maxMemory.
- // and then reshape the base rectangle to fit to contents.
- const int baseSize = static_cast<int>(sqrt(maxMemory / 4.0f));
- const float widthRate = (viewRect.w + (defaultTileWidth * 2)) / static_cast<float>(baseSize);
- const float heightRate = baseSize / static_cast<float>(contentHeight);
- const float rectRate = std::max(widthRate, heightRate);
-
- renderRect.w = static_cast<int>(baseSize * rectRate);
- renderRect.h = static_cast<int>(baseSize / rectRate);
- renderRect.x = viewRect.x + (viewRect.w / 2) - (renderRect.w / 2);
- renderRect.y = viewRect.y + (viewRect.h / 2) - (renderRect.h / 2);
-
- // reposition of renderRect, if the renderRect overlapped the content rect, this code moves the renderRect inside the content rect.
- int collisionSide = _ewk_view_tiled_rect_collision_check(renderRect, contentRect);
- if (collisionSide > 0)
- _ewk_view_tiled_rect_collision_resolve(collisionSide, &renderRect, contentRect);
-
- // check abnormal render rect
- if (renderRect.x < 0)
- renderRect.x = 0;
- if (renderRect.y < 0)
- renderRect.y = 0;
- if (renderRect.w > contentWidth)
- renderRect.w = contentWidth;
- if (renderRect.h > contentHeight)
- renderRect.h = contentHeight;
- }
-
- // enqueue tiles into tiled backing store in spiral order.
- ewk_tiled_backing_store_pre_render_spiral_queue(smartData->backing_store, &viewRect, &renderRect, maxMemory, currentViewZoom);
-
- return true;
-}
-
-static void _ewk_view_tiled_smart_pre_render_cancel(Ewk_View_Smart_Data* smartData)
-{
- ewk_tiled_backing_store_pre_render_cancel(smartData->backing_store);
-}
-
-static Eina_Bool _ewk_view_tiled_smart_disable_render(Ewk_View_Smart_Data* smartData)
-{
- return ewk_tiled_backing_store_disable_render(smartData->backing_store);
-}
-
-static Eina_Bool _ewk_view_tiled_smart_enable_render(Ewk_View_Smart_Data* smartData)
-{
- return ewk_tiled_backing_store_enable_render(smartData->backing_store);
-}
-
-Eina_Bool ewk_view_tiled_smart_set(Ewk_View_Smart_Class* api)
-{
- if (!ewk_view_base_smart_set(api))
- return false;
-
- if (EINA_UNLIKELY(!_parent_sc.sc.add)) {
- _parent_sc.sc.name = ewkViewTiledName;
- ewk_view_base_smart_set(&_parent_sc);
- api->sc.parent = reinterpret_cast<Evas_Smart_Class*>(&_parent_sc);
- }
-
- api->sc.add = _ewk_view_tiled_smart_add;
-
- api->backing_store_add = _ewk_view_tiled_smart_backing_store_add;
- api->scrolls_process = _ewk_view_tiled_smart_scrolls_process;
- api->repaints_process = _ewk_view_tiled_smart_repaints_process;
- api->contents_resize = _ewk_view_tiled_smart_contents_resize;
- api->zoom_set = _ewk_view_tiled_smart_zoom_set;
- api->zoom_weak_set = _ewk_view_tiled_smart_zoom_weak_set;
- api->zoom_weak_smooth_scale_set = _ewk_view_tiled_smart_zoom_weak_smooth_scale_set;
- api->bg_color_set = _ewk_view_tiled_smart_bg_color_set;
- api->flush = _ewk_view_tiled_smart_flush;
- api->pre_render_region = _ewk_view_tiled_smart_pre_render_region;
- api->pre_render_relative_radius = _ewk_view_tiled_smart_pre_render_relative_radius;
- api->pre_render_start = _ewk_view_tiled_smart_pre_render_start;
- api->pre_render_cancel = _ewk_view_tiled_smart_pre_render_cancel;
- api->disable_render = _ewk_view_tiled_smart_disable_render;
- api->enable_render = _ewk_view_tiled_smart_enable_render;
- return true;
-}
-
-static inline Evas_Smart* _ewk_view_tiled_smart_class_new(void)
-{
- static Ewk_View_Smart_Class api = EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION(ewkViewTiledName);
- static Evas_Smart* smart = 0;
-
- if (EINA_UNLIKELY(!smart)) {
- ewk_view_tiled_smart_set(&api);
- smart = evas_smart_class_new(&api.sc);
- }
-
- return smart;
-}
-
-Evas_Object* ewk_view_tiled_add(Evas* canvas)
-{
- return evas_object_smart_add(canvas, _ewk_view_tiled_smart_class_new());
-}
-
-Ewk_Tile_Unused_Cache* ewk_view_tiled_unused_cache_get(const Evas_Object* ewkView)
-{
- EWK_VIEW_TYPE_CHECK_OR_RETURN(ewkView, ewkViewTiledName, 0);
- Ewk_View_Smart_Data* smartData = ewk_view_smart_data_get(ewkView);
- EINA_SAFETY_ON_NULL_RETURN_VAL(smartData, 0);
- return ewk_tiled_backing_store_tile_unused_cache_get(smartData->backing_store);
-}
-
-void ewk_view_tiled_unused_cache_set(Evas_Object* ewkView, Ewk_Tile_Unused_Cache* cache)
-{
- EWK_VIEW_TYPE_CHECK_OR_RETURN(ewkView, ewkViewTiledName);
- Ewk_View_Smart_Data* smartData = ewk_view_smart_data_get(ewkView);
- EINA_SAFETY_ON_NULL_RETURN(smartData);
- ewk_tiled_backing_store_tile_unused_cache_set(smartData->backing_store, cache);
-}
diff --git a/Source/WebKit/efl/ewk/ewk_web_database.cpp b/Source/WebKit/efl/ewk/ewk_web_database.cpp
deleted file mode 100644
index 71a80b7a1..000000000
--- a/Source/WebKit/efl/ewk/ewk_web_database.cpp
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- Copyright (C) 2012 Intel Corporation
-
- 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 "ewk_web_database.h"
-
-#include "DatabaseManager.h"
-#include "SecurityOrigin.h"
-#include "ewk_security_origin.h"
-#include "ewk_security_origin_private.h"
-#include "ewk_web_database_private.h"
-#include <Eina.h>
-#include <wtf/RefPtr.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
-
-struct _Ewk_Web_Database {
- WTF::RefPtr<WebCore::SecurityOrigin> securityOrigin;
- WTF::String coreName;
- const char* displayName;
- const char* filename;
- const char* name;
-};
-
-const char* ewk_web_database_display_name_get(Ewk_Web_Database* database)
-{
-#if ENABLE(SQL_DATABASE)
- if (database->displayName)
- return database->displayName;
-
- WebCore::SecurityOrigin* origin = database->securityOrigin.get();
- WebCore::DatabaseDetails details = WebCore::DatabaseManager::manager().detailsForNameAndOrigin(database->name, origin);
- database->displayName = eina_stringshare_add(details.displayName().utf8().data());
-
- return database->displayName;
-#else
- UNUSED_PARAM(database);
- return 0;
-#endif
-}
-
-uint64_t ewk_web_database_expected_size_get(const Ewk_Web_Database* database)
-{
-#if ENABLE(SQL_DATABASE)
- WebCore::SecurityOrigin* origin = database->securityOrigin.get();
- WebCore::DatabaseDetails details = WebCore::DatabaseManager::manager().detailsForNameAndOrigin(database->name, origin);
- return details.expectedUsage();
-#else
- UNUSED_PARAM(database);
- return 0;
-#endif
-}
-
-const char* ewk_web_database_filename_get(Ewk_Web_Database* database)
-{
-#if ENABLE(SQL_DATABASE)
- if (database->filename)
- return database->filename;
-
- WebCore::SecurityOrigin* origin = database->securityOrigin.get();
- WTF::String path = WebCore::DatabaseManager::manager().fullPathForDatabase(origin, database->coreName);
- database->filename = eina_stringshare_add(path.utf8().data());
-
- return database->filename;
-#else
- UNUSED_PARAM(database);
- return 0;
-#endif
-}
-
-const char* ewk_web_database_name_get(Ewk_Web_Database* database)
-{
-#if ENABLE(SQL_DATABASE)
- if (database->name)
- return database->name;
-
- database->name = eina_stringshare_add(database->coreName.utf8().data());
-
- return database->name;
-#else
- UNUSED_PARAM(database);
- return 0;
-#endif
-}
-
-Ewk_Security_Origin* ewk_web_database_security_origin_get(const Ewk_Web_Database* database)
-{
- return ewk_security_origin_new(database->securityOrigin.get());
-}
-
-uint64_t ewk_web_database_size_get(const Ewk_Web_Database* database)
-{
-#if ENABLE(SQL_DATABASE)
- WebCore::SecurityOrigin* origin = database->securityOrigin.get();
- WebCore::DatabaseDetails details = WebCore::DatabaseManager::manager().detailsForNameAndOrigin(database->name, origin);
- return details.currentUsage();
-#else
- UNUSED_PARAM(database);
- return 0;
-#endif
-}
-
-void ewk_web_database_remove(Ewk_Web_Database* database)
-{
-#if ENABLE(SQL_DATABASE)
- WebCore::DatabaseManager::manager().deleteDatabase(database->securityOrigin.get(), database->coreName);
-#else
- UNUSED_PARAM(database);
-#endif
-}
-
-void ewk_web_database_remove_all(void)
-{
-#if ENABLE(SQL_DATABASE)
- WebCore::DatabaseManager::manager().deleteAllDatabases();
-#endif
-}
-
-void ewk_web_database_free(Ewk_Web_Database* database)
-{
-#if ENABLE(SQL_DATABASE)
- eina_stringshare_del(database->displayName);
- eina_stringshare_del(database->filename);
- eina_stringshare_del(database->name);
-
- delete database;
-#else
- UNUSED_PARAM(database);
-#endif
-}
-
-void ewk_web_database_list_free(Eina_List* databaseList)
-{
- void* database;
- EINA_LIST_FREE(databaseList, database)
- ewk_web_database_free(static_cast<Ewk_Web_Database*>(database));
-}
-
-/**
- * @internal
- * Creates a wrapper representing a Web Database.
- *
- * @param coreOrigin WebCore Security Origin object
- * @param coreName Web Database name
- *
- * @return a wrapper for manipulating a Web Database. It should be freed
- * by ewk_web_database_free().
- */
-Ewk_Web_Database* ewk_web_database_new(WebCore::SecurityOrigin* coreOrigin, const WTF::String& coreName)
-{
-#if ENABLE(SQL_DATABASE)
- Ewk_Web_Database* database = new Ewk_Web_Database;
-
- database->securityOrigin = coreOrigin;
- database->coreName = coreName;
- database->displayName = 0;
- database->filename = 0;
- database->name = 0;
-
- return database;
-#else
- UNUSED_PARAM(coreOrigin);
- UNUSED_PARAM(coreName);
- return 0;
-#endif
-}
diff --git a/Source/WebKit/efl/ewk/ewk_web_database.h b/Source/WebKit/efl/ewk/ewk_web_database.h
deleted file mode 100644
index 7baa54f34..000000000
--- a/Source/WebKit/efl/ewk/ewk_web_database.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- Copyright (C) 2012 Intel Corporation
-
- 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.
-*/
-
-/**
- * @file ewk_web_database.h
- * @brief Web Database API.
- *
- * This API provides functions for managing Web Database created for a security
- * origin. WebKit needs to be compiled with Web Database support in order to use
- * this API.
- */
-
-#ifndef ewk_web_database_h
-#define ewk_web_database_h
-
-#include "ewk_security_origin.h"
-
-#include <Evas.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct _Ewk_Web_Database Ewk_Web_Database;
-
-/**
- * Returns the user friendly name of the database.
- *
- * It returns a internal string which should not
- * be modified. The string is guaranteed to be stringshared.
- *
- * @param o web database object
- *
- * @return the database name
- */
-EAPI const char *ewk_web_database_display_name_get(Ewk_Web_Database *o);
-
-/**
- * Returns the size of the database expected by the web author.
- *
- * @param o web database object
- *
- * @return expected size
- */
-EAPI uint64_t ewk_web_database_expected_size_get(const Ewk_Web_Database *o);
-
-/**
- * Returns the absolute path to the database file.
- *
- * It returns a internal string which should not
- * be modified. The string is guaranteed to be stringshared.
- *
- * @param o web database object
- *
- * @return the database path
- */
-EAPI const char *ewk_web_database_filename_get(Ewk_Web_Database *o);
-
-/**
- * Returns the name of the database.
- *
- * It returns a internal string which should not
- * be modified. The string is guaranteed to be stringshared.
- *
- * @param o web database object
- *
- * @return the database name
- */
-EAPI const char *ewk_web_database_name_get(Ewk_Web_Database *o);
-
-/**
- * Retrieves the security origin of the database.
- *
- * The returned value should be freed by ewk_security_origin_free().
- *
- * @param o web database object
- *
- * @return the security origin
- */
-EAPI Ewk_Security_Origin *ewk_web_database_security_origin_get(const Ewk_Web_Database *o);
-
-/**
- * Returns the size of the database.
- *
- * @param o web database object
- *
- * @return the current size of the database
- */
-EAPI uint64_t ewk_web_database_size_get(const Ewk_Web_Database *o);
-
-/**
- * Remove the database from the security origin and destroy all data.
- *
- * @param o web database object
- */
-EAPI void ewk_web_database_remove(Ewk_Web_Database *o);
-
-/**
- * Remove all the databases in the current default path.
- */
-EAPI void ewk_web_database_remove_all(void);
-
-/**
- * Release all resources allocated by a web database object.
- *
- * @param o web database object
- */
-EAPI void ewk_web_database_free(Ewk_Web_Database *o);
-
-/**
- * Convenience function for releasing all web database objects from a list.
- *
- * @param database_list list of web database objects to be freed
- */
-EAPI void ewk_web_database_list_free(Eina_List *database_list);
-
-#ifdef __cplusplus
-}
-#endif
-#endif // ewk_web_database_h
diff --git a/Source/WebKit/efl/ewk/ewk_web_database_private.h b/Source/WebKit/efl/ewk/ewk_web_database_private.h
deleted file mode 100644
index 72405fe17..000000000
--- a/Source/WebKit/efl/ewk/ewk_web_database_private.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- Copyright (C) 2012 Intel Corporation
-
- 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 ewk_web_database_private_h
-#define ewk_web_database_private_h
-
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-class SecurityOrigin;
-}
-
-Ewk_Web_Database* ewk_web_database_new(WebCore::SecurityOrigin* coreOrigin, const WTF::String& coreName);
-
-#endif // ewk_web_database_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_window_features.cpp b/Source/WebKit/efl/ewk/ewk_window_features.cpp
deleted file mode 100644
index 300028b29..000000000
--- a/Source/WebKit/efl/ewk/ewk_window_features.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- Copyright (C) 2010 ProFUSION embedded systems
- Copyright (C) 2010 Samsung Electronics
-
- 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 "ewk_window_features.h"
-
-#include "WindowFeatures.h"
-#include "ewk_private.h"
-#include <Eina.h>
-
-/**
- * \struct _Ewk_Window_Features
- * @brief Contains the window features data.
- */
-struct _Ewk_Window_Features {
- unsigned int __ref;
- WebCore::WindowFeatures* core;
-};
-
-void ewk_window_features_unref(Ewk_Window_Features* windowFeatures)
-{
- EINA_SAFETY_ON_NULL_RETURN(windowFeatures);
- EINA_SAFETY_ON_FALSE_RETURN(windowFeatures->__ref > 0);
-
- if (--windowFeatures->__ref)
- return;
-
- delete windowFeatures->core;
- windowFeatures->core = 0;
- delete windowFeatures;
-}
-
-void ewk_window_features_ref(Ewk_Window_Features* windowFeatures)
-{
- EINA_SAFETY_ON_NULL_RETURN(windowFeatures);
- windowFeatures->__ref++;
-}
-
-void ewk_window_features_bool_property_get(const Ewk_Window_Features* windowFeatures, Eina_Bool* toolbarVisible, Eina_Bool* statusbarVisible, Eina_Bool* scrollbarsVisible, Eina_Bool* menubarVisible, Eina_Bool* locationbarVisible, Eina_Bool* fullScreen)
-{
- EINA_SAFETY_ON_NULL_RETURN(windowFeatures);
- EINA_SAFETY_ON_NULL_RETURN(windowFeatures->core);
-
- if (toolbarVisible)
- *toolbarVisible = windowFeatures->core->toolBarVisible;
-
- if (statusbarVisible)
- *statusbarVisible = windowFeatures->core->statusBarVisible;
-
- if (scrollbarsVisible)
- *scrollbarsVisible = windowFeatures->core->scrollbarsVisible;
-
- if (menubarVisible)
- *menubarVisible = windowFeatures->core->menuBarVisible;
-
- if (locationbarVisible)
- *locationbarVisible = windowFeatures->core->locationBarVisible;
-
- if (fullScreen)
- *fullScreen = windowFeatures->core->fullscreen;
-}
-
-void ewk_window_features_int_property_get(const Ewk_Window_Features* windowFeatures, int* x, int* y, int* width, int* height)
-{
- EINA_SAFETY_ON_NULL_RETURN(windowFeatures);
- EINA_SAFETY_ON_NULL_RETURN(windowFeatures->core);
-
- if (x)
- *x = windowFeatures->core->xSet ? static_cast<int>(windowFeatures->core->x) : -1;
-
- if (y)
- *y = windowFeatures->core->ySet ? static_cast<int>(windowFeatures->core->y) : -1;
-
- if (width)
- *width = windowFeatures->core->widthSet ? static_cast<int>(windowFeatures->core->width) : -1;
-
- if (height)
- *height = windowFeatures->core->heightSet ? static_cast<int>(windowFeatures->core->height) : -1;
-}
-
-/* internal methods ****************************************************/
-
-/**
- * @internal
- *
- * Creates a new Ewk_Window_Features object.
- *
- * @param core if not @c 0 a new WebCore::WindowFeatures is allocated copying core features and
- * it is embedded inside the Ewk_Window_Features whose ref count is initialized, if core is @c 0 a new one is created with the default features.
- * @return a new allocated the Ewk_Window_Features object on sucess or @c 0 on failure
- */
-Ewk_Window_Features* ewk_window_features_new_from_core(const WebCore::WindowFeatures* core)
-{
- Ewk_Window_Features* window_features = new Ewk_Window_Features;
-
- if (core)
- window_features->core = new WebCore::WindowFeatures(*core);
- else
- window_features->core = new WebCore::WindowFeatures();
-
- window_features->__ref = 1;
-
- return window_features;
-}
diff --git a/Source/WebKit/efl/ewk/ewk_window_features.h b/Source/WebKit/efl/ewk/ewk_window_features.h
deleted file mode 100644
index d67a45e29..000000000
--- a/Source/WebKit/efl/ewk/ewk_window_features.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- Copyright (C) 2010 ProFUSION embedded systems
- Copyright (C) 2010 Samsung Electronics
-
- 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.
-*/
-
-/**
- * @file ewk_window_features.h
- * @brief Access to the features of window.
- */
-
-#ifndef ewk_window_features_h
-#define ewk_window_features_h
-
-#include <Eina.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** Creates a type name for _Ewk_Window_Features. */
-typedef struct _Ewk_Window_Features Ewk_Window_Features;
-
-/**
- * Decreases the referece count of an Ewk_Window_Features, possibly freeing it.
- *
- * When the reference count of the object reaches 0, it is freed.
- *
- * @param window_features the object to decrease reference count
- */
-EAPI void ewk_window_features_unref(Ewk_Window_Features *window_features);
-
-/**
- * Increases the reference count of an Ewk_Window_Features.
- *
- * @param window_features the object to increase reference count
- */
-EAPI void ewk_window_features_ref(Ewk_Window_Features *window_features);
-
-/**
- * Gets boolean properties of an Ewk_Window_Features.
- *
- * Properties are returned in the respective pointers. Passing @c NULL to any of
- * these pointers will cause that property to not be returned.
- *
- * @param window_features the object to get boolean properties
- * @param toolbar_visible the pointer to store if toolbar is visible
- * @param statusbar_visible the pointer to store if statusbar is visible
- * @param scrollbars_visible the pointer to store if scrollbars is visible
- * @param menubar_visible the pointer to store if menubar is visible
- * @param locationbar_visible the pointer to store if locationbar is visible
- * @param fullscreen the pointer to store if fullscreen is enabled
- *
- * @see ewk_window_features_int_property_get
- */
-EAPI void ewk_window_features_bool_property_get(const Ewk_Window_Features *window_features, Eina_Bool *toolbar_visible, Eina_Bool *statusbar_visible, Eina_Bool *scrollbars_visible, Eina_Bool *menubar_visible, Eina_Bool *locationbar_visible, Eina_Bool *fullscreen);
-
-/**
- * Gets int properties of an Ewk_Window_Features.
- *
- * Properties are returned in the respective pointers. Passing @c NULL to any of
- * these pointers will cause that property to not be returned.
- *
- * Make sure to check if the value returned is less than 0 before using it, since in
- * that case it means that property was not set in window_features object.
- *
- * @param window_features the window's features
- * @param x the pointer to store x position
- * @param y the pointer to store y position
- * @param w the pointer to store width
- * @param h the pointer to store height
- *
- * @see ewk_window_features_bool_property_get
- */
-EAPI void ewk_window_features_int_property_get(const Ewk_Window_Features *window_features, int *x, int *y, int *w, int *h);
-
-#ifdef __cplusplus
-}
-#endif
-#endif // ewk_window_features_h
diff --git a/Source/WebKit/efl/ewk/ewk_window_features_private.h b/Source/WebKit/efl/ewk/ewk_window_features_private.h
deleted file mode 100644
index 06585923e..000000000
--- a/Source/WebKit/efl/ewk/ewk_window_features_private.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- Copyright (C) 2009-2010 ProFUSION embedded systems
- Copyright (C) 2009-2012 Samsung Electronics
-
- 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 ewk_window_features_private_h
-#define ewk_window_features_private_h
-
-Ewk_Window_Features* ewk_window_features_new_from_core(const WebCore::WindowFeatures* core);
-
-#endif // ewk_window_features_private_h
diff --git a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestBase.cpp b/Source/WebKit/efl/tests/UnitTestUtils/EWKTestBase.cpp
deleted file mode 100644
index 7dff49f20..000000000
--- a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestBase.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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.1 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#include "config.h"
-#include "EWKTestBase.h"
-
-#include "EWKTestEnvironment.h"
-#include <EWebKit.h>
-#include <Ecore.h>
-#include <Edje.h>
-
-extern EWKUnitTests::EWKTestEnvironment* environment;
-
-namespace EWKUnitTests {
-
-EWKTestBase::EWKTestBase()
-{
-}
-
-Evas_Object* EWKTestBase::webView()
-{
- return m_ewkTestView.webView();
-}
-
-void EWKTestBase::SetUp()
-{
- ASSERT_TRUE(m_ewkTestView.init());
-}
-
-void EWKTestBase::onLoadFinished(void* data, Evas_Object* webView, void* eventInfo)
-{
- ecore_main_loop_quit();
-}
-
-void EWKTestBase::waitUntilLoadFinished()
-{
- evas_object_smart_callback_add(webView(), "load,finished", onLoadFinished, 0);
- ecore_main_loop_begin();
- evas_object_smart_callback_del(webView(), "load,finished", onLoadFinished);
-}
-
-void EWKTestBase::loadUrl(const char* url)
-{
- ASSERT_TRUE(ewk_view_uri_set(webView(), url));
- waitUntilLoadFinished();
-}
-
-}
diff --git a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestBase.h b/Source/WebKit/efl/tests/UnitTestUtils/EWKTestBase.h
deleted file mode 100644
index 0e22351cb..000000000
--- a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestBase.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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.1 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#ifndef EWKTestBase_h
-#define EWKTestBase_h
-
-#include "EWKTestConfig.h"
-#include "EWKTestView.h"
-#include <gtest/gtest.h>
-
-namespace EWKUnitTests {
-
-class EWKTestBase: public ::testing::Test {
-public:
- static void onLoadFinished(void* data, Evas_Object* webView, void* eventInfo);
-
- Evas_Object* webView();
- virtual void SetUp();
-protected:
- EWKTestBase();
-
- void loadUrl(const char* url = Config::defaultTestPage);
- void waitUntilLoadFinished();
-
- EWKTestView m_ewkTestView;
-};
-
-}
-
-#endif
diff --git a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestConfig.h b/Source/WebKit/efl/tests/UnitTestUtils/EWKTestConfig.h
deleted file mode 100644
index a1cf6ea83..000000000
--- a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestConfig.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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.1 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#ifndef EWKTestConfig_h
-#define EWKTestConfig_h
-
-namespace EWKUnitTests {
-namespace Config {
-static const int defaultViewWidth = 600;
-static const int defaultViewHeight = 800;
-static const char* const defaultThemePath = DEFAULT_THEME_PATH"/default.edj";
-static const char* const defaultTestPage = "file://"DEFAULT_TEST_PAGE_DIR"/default_test_page.html";
-}
-}
-
-#endif
diff --git a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestEnvironment.cpp b/Source/WebKit/efl/tests/UnitTestUtils/EWKTestEnvironment.cpp
deleted file mode 100644
index 6a1fea45b..000000000
--- a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestEnvironment.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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.1 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#include "config.h"
-#include "EWKTestEnvironment.h"
-
-#include <EWebKit.h>
-#include <Ecore.h>
-#include <Edje.h>
-
-namespace EWKUnitTests {
-
-EWKTestEnvironment::EWKTestEnvironment(bool useX11Window)
- : m_useX11Window(useX11Window)
-{
-}
-
-void EWKTestEnvironment::SetUp()
-{
- ASSERT_GT(ewk_init(), 0);
-
- const char* proxyUrl = getenv("http_proxy");
- if (proxyUrl)
- ewk_network_proxy_uri_set(proxyUrl);
-}
-
-void EWKTestEnvironment::TearDown()
-{
- ewk_shutdown();
-}
-
-}
diff --git a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestEnvironment.h b/Source/WebKit/efl/tests/UnitTestUtils/EWKTestEnvironment.h
deleted file mode 100644
index 7ca6966ab..000000000
--- a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestEnvironment.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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.1 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#ifndef EWKTestEnvironment_h
-#define EWKTestEnvironment_h
-
-#include <gtest/gtest.h>
-
-namespace EWKUnitTests {
-
-class EWKTestEnvironment : public ::testing::Environment {
-public:
- explicit EWKTestEnvironment(bool useX11Window);
-
- virtual void SetUp();
- virtual void TearDown();
-private:
- bool m_useX11Window;
-};
-
-}
-
-#endif
diff --git a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestView.cpp b/Source/WebKit/efl/tests/UnitTestUtils/EWKTestView.cpp
deleted file mode 100644
index ce43e33f4..000000000
--- a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestView.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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.1 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#include "config.h"
-#include "EWKTestView.h"
-
-#include <EWebKit.h>
-#include <wtf/NullPtr.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/RefPtr.h>
-
-namespace EWKUnitTests {
-
-EWKTestView::EWKTestView()
-{
-}
-
-bool EWKTestView::init(EwkViewType testViewType, int width, int height)
-{
- m_webView = nullptr;
-
- m_ecoreEvas = adoptPtr(ecore_evas_new(0, 0, 0, width, height, 0));
- if (!m_ecoreEvas)
- return false;
-
- ecore_evas_show(m_ecoreEvas.get());
- Evas* evas = ecore_evas_get(m_ecoreEvas.get());
- if (!evas)
- return false;
-
- switch (testViewType) {
- case SingleView:
- m_webView = adoptRef(ewk_view_single_add(evas));
- break;
-
- case TiledView:
- m_webView = adoptRef(ewk_view_tiled_add(evas));
- break;
- }
-
- if (!m_webView)
- return false;
-
- ewk_view_theme_set(m_webView.get(), Config::defaultThemePath);
-
- evas_object_resize(m_webView.get(), width, height);
- evas_object_show(m_webView.get());
- evas_object_focus_set(m_webView.get(), EINA_TRUE);
- return true;
-}
-
-}
diff --git a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestView.h b/Source/WebKit/efl/tests/UnitTestUtils/EWKTestView.h
deleted file mode 100644
index f792a3894..000000000
--- a/Source/WebKit/efl/tests/UnitTestUtils/EWKTestView.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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.1 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#ifndef EWKTestView_h
-#define EWKTestView_h
-
-#include "EWKTestConfig.h"
-#include <Ecore_Evas.h>
-#include <Evas.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/efl/RefPtrEfl.h>
-
-namespace EWKUnitTests {
-
-class EWKTestView {
-public:
- enum EwkViewType {
- SingleView = 0,
- TiledView
- };
-
- EWKTestView();
-
- Evas_Object* webView() { return m_webView.get(); }
-
- bool init(EwkViewType testViewType = TiledView, int width = Config::defaultViewWidth, int height = Config::defaultViewHeight);
-private:
- EWKTestView(const EWKTestView&);
- EWKTestView& operator=(const EWKTestView&);
-
- OwnPtr<Ecore_Evas> m_ecoreEvas;
- RefPtr<Evas_Object> m_webView;
-};
-
-}
-
-#endif
diff --git a/Source/WebKit/efl/tests/resources/default_test_page.html b/Source/WebKit/efl/tests/resources/default_test_page.html
deleted file mode 100644
index edd81e732..000000000
--- a/Source/WebKit/efl/tests/resources/default_test_page.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<HTML>
-<BODY>
-<H2 align="center">EFL Unit Tests</H2>
-<H2 align="center">Default Testing Web Page</H2>
-</BODY>
-</HTML>
diff --git a/Source/WebKit/efl/tests/test_ewk_contextmenu.cpp b/Source/WebKit/efl/tests/test_ewk_contextmenu.cpp
deleted file mode 100644
index 02940e192..000000000
--- a/Source/WebKit/efl/tests/test_ewk_contextmenu.cpp
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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.1 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#include "config.h"
-
-#include "UnitTestUtils/EWKTestBase.h"
-#include "UnitTestUtils/EWKTestConfig.h"
-#include <EWebKit.h>
-#include <Ecore.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-
-using namespace EWKUnitTests;
-
-/**
- * @brief Checking whether function creates proper menu item.
- *
- * This test creates a menu item and checks if all menu item's attributes are
- * the same as passed to tested function.
- */
-TEST_F(EWKTestBase, ewk_context_menu_item_new)
-{
- loadUrl();
-
- Evas* evas = evas_object_evas_get(webView());
- ASSERT_TRUE(evas);
-
- Evas_Event_Mouse_Down mouseDown;
- mouseDown.button = 3;
- mouseDown.output.x = 0;
- mouseDown.output.y = 0;
- mouseDown.canvas.x = 0;
- mouseDown.canvas.y = 0;
- mouseDown.data = 0;
- mouseDown.modifiers = const_cast<Evas_Modifier*>(evas_key_modifier_get(evas));
- mouseDown.locks = const_cast<Evas_Lock*>(evas_key_lock_get(evas));
- mouseDown.flags = EVAS_BUTTON_NONE;
- mouseDown.timestamp = ecore_loop_time_get();
- mouseDown.event_flags = EVAS_EVENT_FLAG_NONE;
- mouseDown.dev = 0;
-
- ASSERT_TRUE(ewk_view_context_menu_forward_event(webView(), &mouseDown));
-
- Ewk_Context_Menu* contextMenu = ewk_view_context_menu_get(webView());
-
- ASSERT_TRUE(contextMenu);
-
- Ewk_Context_Menu_Item_Type itemType = EWK_ACTION_TYPE;
- Ewk_Context_Menu_Action itemAction = EWK_CONTEXT_MENU_ITEM_CUSTOM_TAG_NO_ACTION;
- const char* itemTitle = "Test Item";
- bool itemChecked = false;
- bool itemEnabled = false;
-
- Ewk_Context_Menu_Item* contextMenuItem = ewk_context_menu_item_new(itemType, itemAction, contextMenu, 0, itemTitle, itemChecked, itemEnabled);
-
- ASSERT_TRUE(contextMenuItem);
-
- EXPECT_EQ(itemType, ewk_context_menu_item_type_get(contextMenuItem));
- EXPECT_EQ(itemAction, ewk_context_menu_item_action_get(contextMenuItem));
- EXPECT_EQ(contextMenu, ewk_context_menu_item_parent_get(contextMenuItem));
- EXPECT_STREQ(itemTitle, ewk_context_menu_item_title_get(contextMenuItem));
- EXPECT_EQ(itemChecked, ewk_context_menu_item_checked_get(contextMenuItem));
- EXPECT_EQ(itemEnabled, ewk_context_menu_item_enabled_get(contextMenuItem));
-
- ewk_context_menu_item_free(contextMenuItem);
-}
-
-/**
- * @brief Checking whether function returns proper parent menu.
- *
- * This test creates a context menus, and checks if created context menu's
- * parent is the same for each of menu items.
- */
-TEST_F(EWKTestBase, ewk_context_menu_item_parent_get)
-{
- loadUrl();
-
- Evas* evas = evas_object_evas_get(webView());
- ASSERT_TRUE(evas);
-
- Evas_Event_Mouse_Down mouseDown;
- mouseDown.button = 3;
- mouseDown.output.x = 0;
- mouseDown.output.y = 0;
- mouseDown.canvas.x = 0;
- mouseDown.canvas.y = 0;
- mouseDown.data = 0;
- mouseDown.modifiers = const_cast<Evas_Modifier*>(evas_key_modifier_get(evas));
- mouseDown.locks = const_cast<Evas_Lock*>(evas_key_lock_get(evas));
- mouseDown.flags = EVAS_BUTTON_NONE;
- mouseDown.timestamp = ecore_loop_time_get();
- mouseDown.event_flags = EVAS_EVENT_FLAG_NONE;
- mouseDown.dev = 0;
-
- ASSERT_TRUE(ewk_view_context_menu_forward_event(webView(), &mouseDown));
-
- Ewk_Context_Menu* contextMenu = ewk_view_context_menu_get(webView());
-
- ASSERT_TRUE(contextMenu);
-
- const Eina_List* contextMenuItems = ewk_context_menu_item_list_get(contextMenu);
-
- ASSERT_TRUE(contextMenuItems);
-
- const Eina_List* listIterator;
- void* data;
- EINA_LIST_FOREACH(contextMenuItems, listIterator, data)
- EXPECT_EQ(contextMenu, ewk_context_menu_item_parent_get(static_cast<Ewk_Context_Menu_Item*>(data)));
-}
diff --git a/Source/WebKit/efl/tests/test_ewk_frame.cpp b/Source/WebKit/efl/tests/test_ewk_frame.cpp
deleted file mode 100644
index a2701c627..000000000
--- a/Source/WebKit/efl/tests/test_ewk_frame.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2012 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. Red istributions 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 THE COPYRIGHT HOLDERS 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 THE COPYRIGHT
- * HOLDERS 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 "UnitTestUtils/EWKTestBase.h"
-#include "UnitTestUtils/EWKTestConfig.h"
-#include <EWebKit.h>
-
-using namespace EWKUnitTests;
-
-static void initBuffer(char** buffer)
-{
- free(*buffer);
- *buffer = 0;
-}
-
-/**
- * @brief Unit test for ewk_frame_source_get.
- */
-TEST_F(EWKTestBase, ewk_frame_source_get)
-{
- char* buffer = 0;
- ssize_t failed = -1;
-
- // Checking if function works properly without loading url.
- ssize_t read = ewk_frame_source_get(ewk_view_frame_main_get(webView()), &buffer);
- ASSERT_EQ(read, failed);
- initBuffer(&buffer);
-
- // FIXME: BUG 49246 has changed load behavior when malformed url is inputed. Timer operation might be needed to sync with WK2.
- // See https://bugs.webkit.org/show_bug.cgi?id=105620 for more details.
- // Checking if function works properly when loading non-existing url.
- // loadUrl("http://www.abcdefg^^.com");
- // read = ewk_frame_source_get(ewk_view_frame_main_get(webView()), &buffer);
- // ASSERT_EQ(read, failed);
- // initBuffer(&buffer);
-
- // Checking if function works properly when finishing load url.
- loadUrl();
- read = ewk_frame_source_get(ewk_view_frame_main_get(webView()), &buffer);
- ASSERT_GT(read, 0);
- initBuffer(&buffer);
-}
diff --git a/Source/WebKit/efl/tests/test_ewk_setting.cpp b/Source/WebKit/efl/tests/test_ewk_setting.cpp
deleted file mode 100644
index 5398964dd..000000000
--- a/Source/WebKit/efl/tests/test_ewk_setting.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (C) 2013 Cisco Systems, Inc.
- *
- * 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. Red istributions 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 THE COPYRIGHT HOLDERS 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 THE COPYRIGHT
- * HOLDERS 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 "UnitTestUtils/EWKTestBase.h"
-#include "UnitTestUtils/EWKTestConfig.h"
-#include <EWebKit.h>
-
-using namespace EWKUnitTests;
-
-/**
- * @brief Unit test for checking set/get of default quota for Web Database databases by ewk settings API.
- */
-TEST_F(EWKTestBase, ewk_settings_web_database_default_quota)
-{
- ASSERT_EQ(1 * 1024 * 1024, ewk_settings_web_database_default_quota_get());
-
- ewk_settings_web_database_default_quota_set(2 * 1024 * 1024);
- ASSERT_EQ(2 * 1024 * 1024, ewk_settings_web_database_default_quota_get());
-
- ewk_settings_web_database_default_quota_set(3 * 1024 * 1024);
- ASSERT_EQ(3 * 1024 * 1024, ewk_settings_web_database_default_quota_get());
-}
-
-/**
- * @brief Unit test for checking set/get of directory path where Web Database databases is stored by ewk settings API.
- */
-TEST_F(EWKTestBase, ewk_settings_web_database_path)
-{
- char* homePath = getenv("HOME");
- char* defaultPath = reinterpret_cast<char*>(malloc(strlen(homePath) + strlen("/.cache/WebKitEfl/Databases") + 1));
-
-#if ENABLE(SQL_DATABASE)
- strncpy(defaultPath, homePath, strlen(homePath) + 1);
- ASSERT_STREQ(strcat(defaultPath, "/.cache/WebKitEfl/Databases"), ewk_settings_web_database_path_get());
-#else
- ASSERT_STREQ(0, ewk_settings_web_database_path_get());
-#endif
- free(defaultPath);
-
- ewk_settings_web_database_path_set("~/data/webkitDB");
-#if ENABLE(SQL_DATABASE)
- ASSERT_STREQ("~/data/webkitDB", ewk_settings_web_database_path_get());
-#else
- ASSERT_STREQ(0, ewk_settings_web_database_path_get());
-#endif
-
- ewk_settings_web_database_path_set("~/tmp/webkit");
-#if ENABLE(SQL_DATABASE)
- ASSERT_STREQ("~/tmp/webkit", ewk_settings_web_database_path_get());
-#else
- ASSERT_STREQ(0, ewk_settings_web_database_path_get());
-#endif
-}
-
-/**
- * @brief Unit test for checking set/get of directory path where the HTML5 local storage indexing database is stored by ewk settings API.
- */
-TEST_F(EWKTestBase, ewk_settings_local_storage_path)
-{
- char* homePath = getenv("HOME");
- char* defaultPath = reinterpret_cast<char*>(malloc(strlen(homePath) + strlen("/.local/share/WebKitEfl/LocalStorage") + 1));
-
- strncpy(defaultPath, homePath, strlen(homePath) + 1);
- ASSERT_STREQ(strcat(defaultPath, "/.local/share/WebKitEfl/LocalStorage"), ewk_settings_local_storage_path_get());
- free(defaultPath);
-
- ewk_settings_local_storage_path_set("~/data/webkitDB");
- ASSERT_STREQ("~/data/webkitDB", ewk_settings_local_storage_path_get());
-
- ewk_settings_local_storage_path_set("~/tmp/webkit");
- ASSERT_STREQ("~/tmp/webkit", ewk_settings_local_storage_path_get());
-}
-
-/**
- * @brief Unit test for checking set/get of directory path where icon database is stored by ewk settings API.
- */
-TEST_F(EWKTestBase, ewk_settings_icon_database_path)
-{
- ASSERT_STREQ(0, ewk_settings_icon_database_path_get());
-
- ASSERT_TRUE(ewk_settings_icon_database_path_set("/tmp"));
- ASSERT_STREQ("/tmp", ewk_settings_icon_database_path_get());
-
- ASSERT_TRUE(ewk_settings_icon_database_path_set(0));
- ASSERT_STREQ(0, ewk_settings_icon_database_path_get());
-}
-
-/**
- * @brief Unit test for checking set/get of path where the HTML5 application cache is stored by ewk settings API.
- */
-TEST_F(EWKTestBase, ewk_settings_application_cache_path)
-{
- char* homePath = getenv("HOME");
- char* defaultPath = reinterpret_cast<char*>(malloc(strlen(homePath) + strlen("/.cache/WebKitEfl/Applications") + 1));
-
- strncpy(defaultPath, homePath, strlen(homePath) + 1);
- ASSERT_STREQ(strcat(defaultPath, "/.cache/WebKitEfl/Applications"), ewk_settings_application_cache_path_get());
- free(defaultPath);
-
- ewk_settings_application_cache_path_set("~/data/webkitApp");
- ASSERT_STREQ("~/data/webkitApp", ewk_settings_application_cache_path_get());
-
- ewk_settings_application_cache_path_set("~/tmp/webkitApp");
- ASSERT_STREQ("~/tmp/webkitApp", ewk_settings_application_cache_path_get());
-}
-
-/**
- * @brief Unit test for checking set/get of maximum size of the application cache for HTML5 Offline Web Applications by ewk settings API.
- */
-TEST_F(EWKTestBase, ewk_settings_application_cache_max_quota)
-{
- ASSERT_EQ(std::numeric_limits<int64_t>::max(), ewk_settings_application_cache_max_quota_get());
-
- ewk_settings_application_cache_max_quota_set(3 * 1024 * 1024);
- ASSERT_EQ(3 * 1024 * 1024, ewk_settings_application_cache_max_quota_get());
-
- ewk_settings_application_cache_max_quota_set(5 * 1024 * 1024);
- ASSERT_EQ(5 * 1024 * 1024, ewk_settings_application_cache_max_quota_get());
-}
-
-/**
- * @brief Unit test for checking set/get of in-memory object cache Enables/Disables status by ewk settings API.
- */
-TEST_F(EWKTestBase, ewk_settings_object_cache_enable)
-{
- ASSERT_TRUE(ewk_settings_object_cache_enable_get());
-
- ewk_settings_object_cache_enable_set(false);
- ASSERT_FALSE(ewk_settings_object_cache_enable_get());
-
- ewk_settings_object_cache_enable_set(true);
- ASSERT_TRUE(ewk_settings_object_cache_enable_get());
-}
-
-/**
- * @brief Unit test for checking set/get of maximum number of pages in the memory page cache by ewk settings API.
- */
-TEST_F(EWKTestBase, ewk_settings_page_cache_capacity)
-{
- ASSERT_EQ(3, ewk_settings_page_cache_capacity_get());
-
- ewk_settings_page_cache_capacity_set(5);
- ASSERT_EQ(5, ewk_settings_page_cache_capacity_get());
-}
-
-/**
- * @brief Unit test for checking set/get of css media type by ewk settings API.
- */
-TEST_F(EWKTestBase, ewk_settings_css_media_type)
-{
- ASSERT_STREQ(0, ewk_settings_css_media_type_get());
-
- ewk_settings_css_media_type_set("handheld");
- ASSERT_STREQ("handheld", ewk_settings_css_media_type_get());
-
- ewk_settings_css_media_type_set("tv");
- ASSERT_STREQ("tv", ewk_settings_css_media_type_get());
-
- ewk_settings_css_media_type_set("screen");
- ASSERT_STREQ("screen", ewk_settings_css_media_type_get());
-
- ewk_settings_css_media_type_set(0);
- ASSERT_STREQ(0, ewk_settings_css_media_type_get());
-}
diff --git a/Source/WebKit/efl/tests/test_ewk_view.cpp b/Source/WebKit/efl/tests/test_ewk_view.cpp
deleted file mode 100644
index a3d73af42..000000000
--- a/Source/WebKit/efl/tests/test_ewk_view.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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.1 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#include "config.h"
-
-#include "UnitTestUtils/EWKTestBase.h"
-#include "UnitTestUtils/EWKTestConfig.h"
-#include <EWebKit.h>
-#include <Ecore.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-
-using namespace EWKUnitTests;
-
-/**
-* @brief Checking whether function properly returns correct value.
-*/
-TEST_F(EWKTestBase, ewk_view_editable_get)
-{
- loadUrl();
- ewk_view_editable_set(webView(), true);
- ASSERT_TRUE(ewk_view_editable_get(webView()));
-}
-
-/**
-* @brief Checking whether function returns correct uri string.
-*/
-TEST_F(EWKTestBase, ewk_view_uri_get)
-{
- loadUrl();
- ASSERT_STREQ(Config::defaultTestPage, ewk_view_uri_get(webView()));
-}
-
-/**
-* @brief Checking whether function properly get/set fullscreen setting value.
-*/
-TEST_F(EWKTestBase, ewk_view_setting_enable_fullscreen)
-{
- loadUrl();
-#if ENABLE(FULLSCREEN_API)
- ASSERT_TRUE(ewk_view_setting_enable_fullscreen_get(webView()));
-
- ASSERT_TRUE(ewk_view_setting_enable_fullscreen_set(webView(), true));
- ASSERT_TRUE(ewk_view_setting_enable_fullscreen_get(webView()));
-
- ASSERT_TRUE(ewk_view_setting_enable_fullscreen_set(webView(), false));
- ASSERT_FALSE(ewk_view_setting_enable_fullscreen_get(webView()));
-#else
- ASSERT_FALSE(ewk_view_setting_enable_fullscreen_get(webView()));
-
- ASSERT_FALSE(ewk_view_setting_enable_fullscreen_set(webView(), true));
- ASSERT_FALSE(ewk_view_setting_enable_fullscreen_get(webView()));
-
- ASSERT_FALSE(ewk_view_setting_enable_fullscreen_set(webView(), false));
- ASSERT_FALSE(ewk_view_setting_enable_fullscreen_get(webView()));
-#endif
-}
-
-/**
-* @brief Checking whether function properly get/set fullscreen setting value.
-*/
-TEST_F(EWKTestBase, ewk_view_setting_tiled_backing_store)
-{
- loadUrl();
- ASSERT_FALSE(ewk_view_setting_tiled_backing_store_enabled_get(webView()));
-
-#if USE(TILED_BACKING_STORE)
- ASSERT_TRUE(ewk_view_setting_tiled_backing_store_enabled_set(webView(), true));
- ASSERT_TRUE(ewk_view_setting_tiled_backing_store_enabled_get(webView()));
-
- ASSERT_TRUE(ewk_view_setting_tiled_backing_store_enabled_set(webView(), false));
- ASSERT_FALSE(ewk_view_setting_tiled_backing_store_enabled_get(webView()));
-#else
- ASSERT_FALSE(ewk_view_setting_tiled_backing_store_enabled_set(webView(), true));
- ASSERT_FALSE(ewk_view_setting_tiled_backing_store_enabled_get(webView()));
-
- ASSERT_FALSE(ewk_view_setting_tiled_backing_store_enabled_set(webView(), false));
- ASSERT_FALSE(ewk_view_setting_tiled_backing_store_enabled_get(webView()));
-#endif
-}
-
-/**
- * @brief Checking whether function returns proper context menu structure.
- *
- * This test creates a context menu and checks if context menu structure
- * is not NULL;
- */
-TEST_F(EWKTestBase, ewk_view_context_menu_get)
-{
- loadUrl();
-
- Evas* evas = evas_object_evas_get(webView());
- ASSERT_TRUE(evas);
-
- Evas_Event_Mouse_Down mouseDown;
- mouseDown.button = 3;
- mouseDown.output.x = 0;
- mouseDown.output.y = 0;
- mouseDown.canvas.x = 0;
- mouseDown.canvas.y = 0;
- mouseDown.data = 0;
- mouseDown.modifiers = const_cast<Evas_Modifier*>(evas_key_modifier_get(evas));
- mouseDown.locks = const_cast<Evas_Lock*>(evas_key_lock_get(evas));
- mouseDown.flags = EVAS_BUTTON_NONE;
- mouseDown.timestamp = ecore_loop_time_get();
- mouseDown.event_flags = EVAS_EVENT_FLAG_NONE;
- mouseDown.dev = 0;
-
- ASSERT_TRUE(ewk_view_context_menu_forward_event(webView(), &mouseDown));
-
- ASSERT_TRUE(ewk_view_context_menu_get(webView()));
-}
diff --git a/Source/WebKit/efl/tests/test_runner.cpp b/Source/WebKit/efl/tests/test_runner.cpp
deleted file mode 100644
index e8f3c087d..000000000
--- a/Source/WebKit/efl/tests/test_runner.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- Copyright (C) 2012 Samsung Electronics
-
- 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.1 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-#include "config.h"
-
-#include "UnitTestUtils/EWKTestBase.h"
-#include "UnitTestUtils/EWKTestEnvironment.h"
-#include <getopt.h>
-#include <gtest/gtest.h>
-
-using namespace EWKUnitTests;
-
-EWKTestEnvironment* environment = 0;
-
-static int parseCustomArguments(int argc, char** argv)
-{
- int useX11Window = 0;
- static const option options[] = {
- {"useX11Window", no_argument, &useX11Window, true},
- {0, 0, 0, 0}
- };
-
- int option;
- while ((option = getopt_long(argc, argv, "", options, 0)) != -1) { }
-
- return useX11Window;
-}
-
-int main(int argc, char** argv)
-{
- int useX11Window = parseCustomArguments(argc, argv);
- environment = new EWKTestEnvironment(useX11Window);
- testing::AddGlobalTestEnvironment(environment);
- ::testing::InitGoogleTest(&argc, argv);
-
- return RUN_ALL_TESTS();
-}
diff --git a/Source/WebKit/gtk/ChangeLog-2012-05-22 b/Source/WebKit/gtk/ChangeLog-2012-05-22
deleted file mode 100644
index 1bde28157..000000000
--- a/Source/WebKit/gtk/ChangeLog-2012-05-22
+++ /dev/null
@@ -1,23357 +0,0 @@
-2012-05-22 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] REGRESSION(r116135): Keys that confirm composition trigger a default action
- https://bugs.webkit.org/show_bug.cgi?id=86925
-
- Reviewed by Gustavo Noronha Silva.
-
- Instead of sending composition results with a keydown event, simply send whether
- or not the event had results. Activate the results after processing the event. This
- allows for input methods to modify the DOM after the keydown event and to still
- prevent the default action during handleInputMethodKeydown.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::respondToChangedSelection): This patch removes the m_updatingComposition
- so we no longer have to check it here.
- (WebKit::EditorClient::keyboardEventHadCompositionResults): Added.
- (WebKit::EditorClient::handleInputMethodKeydown): Now prevent the default action when
- the keyboard event had composition results.
- (WebKit::EditorClient::EditorClient):
- * WebCoreSupport/EditorClientGtk.h: Remove the m_updatingComposition member, as it's no
- longer used.
- * WebCoreSupport/WebViewInputMethodFilter.cpp:
- (WebKit::WebViewInputMethodFilter::sendKeyEventWithCompositionResults): Now send the
- composition results after the key event.
-
-2012-05-22 Zan Dobersek <zandobersek@gmail.com>
-
- [Gtk][LayoutTests] Repaint the complete WebKitWebView before dumping pixel results
- https://bugs.webkit.org/show_bug.cgi?id=86284
-
- Reviewed by Martin Robinson.
-
- Add an additional method to the ChromeClient through which it is
- possible to bypass the painting timer and force an immediate repaint of
- the current dirty regions.
-
- Add a new method to DumpRenderTreeSupportGtk class that calls that
- method, making it possible to force an instant paint from
- DumpRenderTree.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::ChromeClient):
- (WebKit::ChromeClient::paint): Only delay the painting if the paint is
- not forced.
- (WebKit::ChromeClient::forcePaint):
- (WebKit):
- * WebCoreSupport/ChromeClientGtk.h:
- (ChromeClient):
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::getFrameChildren): Refactor getFrameChildren
- to use the kit() function on the core child frames rather than using
- the FrameLoaderClient of that frame, which is what the kit() function does in the first
- place. This makes it possible to remove the inclusion of the FrameLoaderClientGtk.h
- header which causes symbol name conflicts when included along with ChromeClientGtk.h
- that originate in the Xlib headers included through the former header.
- (DumpRenderTreeSupportGtk::forceWebViewPaint):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-05-21 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
-
- [GTK] DRT support for layoutTestController.setSerializeHTTPLoads
- https://bugs.webkit.org/show_bug.cgi?id=86653
-
- Reviewed by Gustavo Noronha Silva.
-
- Add support for setSerializeHTTPLoads in DumpRenderTreeSupportGtk
- to allow testing resource load order.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setSerializeHTTPLoads):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-05-18 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r117628.
- http://trac.webkit.org/changeset/117628
- https://bugs.webkit.org/show_bug.cgi?id=86936
-
- triggers 20+ timeouts in the editing test suite (Requested by
- philn on #webkit).
-
- * WebCoreSupport/TextCheckerClientGtk.cpp:
- (WebKit::TextCheckerClientGtk::checkSpellingOfString):
- * webkit/webkitspellcheckerenchant.cpp:
- (checkSpellingOfString):
-
-2012-05-18 Martin Robinson <mrobinson@igalia.com>
-
- Spell checker doesn't recognize contractions (apostrophes)
- https://bugs.webkit.org/show_bug.cgi?id=86118
-
- Reviewed by Gustavo Noronha Silva.
-
- The Enchant spell checker was breaking words on apostrophes, because
- apparently they were always being detected as Pango word-end
- characters. In reality, to know whether or not the apostrophe is a
- word end character requires looking at a string with a larger
- granularity than one character. In reality, WebCore has already
- ensured that any apostrophes in the string belong to contractions by
- using the WordBreakIterator.
-
- Simplify the way the we break strings, by just manually trimming off
- all non-graphable characters from the string and then finding the end
- of the first word by looking for the next non-graphable character.
- This has the side effect of removing the dependency on Pango and
- eliminating one copy.
-
- This change also cleans up some misbehavior on the part of the
- WebCoreSupport layer which was not converting from Unicode character
- offsets to UTF-16. These offsets can be different if any of the
- characters in the UTF-16 string are surrogate pairs (non BMP
- characters).
-
- * WebCoreSupport/TextCheckerClientGtk.cpp:
- (WebKit::TextCheckerClientGtk::checkSpellingOfString): Properly
- convert from Unicode offsets to UTF-16 offsets.
- * webkit/webkitspellcheckerenchant.cpp:
- (findByteOffsetToFirstNonGraphableCharacter): Added this helper.
- (checkSpellingOfString): Don't split words on apostrophes.
-
-2012-05-18 Martin Robinson <mrobinson@igalia.com>
-
- OOM running webgl/sdk/tests/conformance/context/context-creation-and-destruction.html
- https://bugs.webkit.org/show_bug.cgi?id=80509
-
- Reviewed by Alejandro G. Castro.
-
- AcceleratedCompositingContext context now fully owns the GLContext for its
- window. This simplifies this quite a bit. We also properly clean it up when
- destroying the layer tree, to go more easily on resources.
-
- * WebCoreSupport/AcceleratedCompositingContext.h:
- (AcceleratedCompositingContext):
- * WebCoreSupport/AcceleratedCompositingContextGL.cpp:
- (WebKit::AcceleratedCompositingContext::glContext):
- (WebKit::AcceleratedCompositingContext::attachRootGraphicsLayer):
-
-2012-05-18 MORITA Hajime <morrita@google.com>
-
- Another unreviewed attempt to fix build breakage on r117572.
-
- * WebCoreSupport/EditorClientGtk.h:
- (WebKit::EditorClient::frameWillDetachPage):
-
-2012-05-18 MORITA Hajime <morrita@google.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=85515
- Stale frame in WebCore::SpellChecker::didCheckSucceeded
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/EditorClientGtk.h:
- (WebKit::EditorClient::frameWillDetachPage):
-
-2012-05-17 Hironori Bono <hbono@chromium.org>
-
- [Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer
- https://bugs.webkit.org/show_bug.cgi?id=86591
-
- Reviewed by Ryosuke Niwa.
-
- This change adds a TextCheckerClient::shouldEraseMarkersAfterChangeSelection
- function to remove platform-specific code from Editor::respondToChangedSelection
- function.
-
- No new tests, no change in behavior.
-
- * WebCoreSupport/TextCheckerClientGtk.cpp:
- (WebKit::TextCheckerClientGtk::shouldEraseMarkersAfterChangeSelection):
- (WebKit):
- * WebCoreSupport/TextCheckerClientGtk.h:
- (TextCheckerClientGtk):
-
-2012-05-17 Dan Bernstein <mitz@apple.com>
-
- REGRESSION (r117428): WebKit API/SPI was removed
- https://bugs.webkit.org/show_bug.cgi?id=86748
-
- Reverted r117428.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setDomainRelaxationForbiddenForURLScheme):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-05-17 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- Convert setDomainRelaxationForbiddenForURLScheme to use InternalSettings interface
- https://bugs.webkit.org/show_bug.cgi?id=86704
-
- Reviewed by Eric Seidel.
-
- Remove setDomainRelaxationForbiddenForURLScheme functions, because it is able to work in the
- cross-port way through the InternalSettings interface.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::deliverAllMutationsIfNecessary):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-05-14 Thiago Marcos P. Santos <thiago.santos@intel.com>
-
- [GTK] Wrong documentation for Web Database
- https://bugs.webkit.org/show_bug.cgi?id=86362
-
- Reviewed by Martin Robinson.
-
- Fixed docs for webkit_set_default_web_database_quota().
-
- * webkit/webkitwebdatabase.cpp:
-
-2012-05-11 Gustavo Noronha Silva <gns@gnome.org>
-
- REGRESSION(r116205): [GTK]: build no longer supports thin archives
- https://bugs.webkit.org/show_bug.cgi?id=86207
-
- * GNUmakefile.am: link libWebCoreModules into the webkitgtk shared
- library.
-
-2012-05-10 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- Move resumeAnimations to use Internals interface
- https://bugs.webkit.org/show_bug.cgi?id=86063
-
- Reviewed by Alexey Proskuryakov.
-
- Remove resumeAnimations functions, because it is able to work in the
- cross-port way through the Internals interface.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-05-09 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- Move suspendAnimations to use Internals interface.
- https://bugs.webkit.org/show_bug.cgi?id=85986
-
- Reviewed by Ryosuke Niwa.
-
- Remove suspendAnimations functions, because it is able to work in the
- cross-port way through the Internals interface.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-05-09 Simon Pena <spena@igalia.com>
-
- [GTK] Missing WebPreferences for media playback requiring user gestures and inline playback
- https://bugs.webkit.org/show_bug.cgi?id=85194
-
- Reviewed by Martin Robinson.
-
- Expose WebPreferences for media playback requires user gesture and
- media playback allows inline to GTK side.
-
- This adds two properties (mediaPlaybackRequiresUserGesture and
- mediaPlaybackAllowsInline) to GTK WebKit WebSettings, and connects
- them to the WebKit WebView, so clients can programmatically modify
- them.
-
- * webkit/webkitwebsettings.cpp: install new properties and update
- setter and getter
- (webkit_web_settings_class_init):
- (webkit_web_settings_set_property):
- (webkit_web_settings_get_property):
- * webkit/webkitwebsettingsprivate.h: add media playback related
- properties
- * webkit/webkitwebview.cpp: connect newly added properties
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
-
-2012-05-09 Dan Winship <danw@gnome.org>
-
- [GTK] don't use soup_session_pause_message in webkitdownload
- https://bugs.webkit.org/show_bug.cgi?id=85931
-
- Reviewed by Martin Robinson.
-
- * webkit/webkitdownload.cpp:
- (webkit_download_new_with_handle):
- (webkit_download_start):
-
-2012-05-06 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- Convert isPageBoxVisible to use Internals interface.
- https://bugs.webkit.org/show_bug.cgi?id=85692
-
- Reviewed by Darin Adler.
-
- Remove isPageBoxVisible functions, because it is able to work in the
- cross-port way through the Internals interface.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-05-05 Martin Robinson <mrobinson@igalia.com>
-
- Fix the GTK+ TextureMapper accelerated compositing build.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_realize): Properly access the private data
- structure of the WebKitWebView.
-
-2012-05-05 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] WebKit should properly set the input method context window location
- https://bugs.webkit.org/show_bug.cgi?id=84981
-
- Reviewed by Gustavo Noronha Silva.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::paint): During painting, update the cursor rectangle
- if possible.
-
-2012-05-05 Gustavo Noronha Silva <gns@gnome.org>
-
- Unreviewed preparation for 1.9.2.
-
- * NEWS: changes from 1.9.1.
-
-2012-05-04 Gustavo Noronha Silva <gns@gnome.org>
-
- [GTK] Simplify how libWebCoreModules is linked in, and fix WebKit2 build
- https://bugs.webkit.org/show_bug.cgi?id=85691
-
- * GNUmakefile.am: no longer link libwebkitgtk to libWebCoreModules.
-
-2012-05-04 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
-
- [GTK] DRT needs an implementation of LayoutTestController::setDefersLoading and ::goBack
- https://bugs.webkit.org/show_bug.cgi?id=85134
-
- Reviewed by Martin Robinson.
-
- Add support for setDefersLoading in DumpRenderTreeSupportGtk.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setDefersLoading):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-05-04 Martin Robinson <mrobinson@igalia.com>
-
- Fix the GTK+ debug build after the r116114.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleInputMethodKeyboardEvent): Update an
- assertion to reflect a real method name in PlatformKeyboardEvent
- and remove an unnecessary call to preventDefault() which triggered
- an assertion failure higher in the call stack.
-
-2012-05-04 Nate Chapin <japhet@chromium.org>
-
- Don't require FrameLoaderClient to manufacture a commitData() call for empty documents.
- https://bugs.webkit.org/show_bug.cgi?id=85533
-
- Reviewed by Alexey Proskuryakov.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::FrameLoaderClient):
- (WebKit):
- (WebKit::FrameLoaderClient::finishedLoading):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- (WebKit::FrameLoaderClient::makeRepresentation):
- (WebKit::FrameLoaderClient::revertToProvisionalState):
- (FrameLoaderClient):
-
-2012-05-03 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] Rework IME handling to fix bugs and prepare for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=84556
-
- Reviewed by Gustavo Noronha Silva.
-
- Rework input method handling logic into a class called GtkInputMethodFilter.
- This filter now runs before WebCore event handling, allowing the code to more
- easily fake simple compositions that should be seen as keystrokes. We can also
- filter keypresses that should not go to web content at all, such as key up events
- related to key down events that were filtered.
-
- Also added is a WebViewInputMethodFilter which is a concrete implementation of
- GtkInputMethodFilter. This class contains logic for actually sending events to
- WebCore. In WebKit2 an implementation of GtkInputMethodFilter will send events
- across the IPC channel.
-
- * GNUmakefile.am: Add new files to the source list.
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- (WebKit::inputMethodsMenuItem): Access the input method context via the filter.
- * WebCoreSupport/EditorClientGtk.cpp: Remove the tricky logic of input method
- events from this class, because it's now in the GtkInputMethodFilter.
- (WebKit::EditorClient::setInputMethodState): Call into the filter.
- (WebKit::EditorClient::shouldBeginEditing): We no longer need to update the composition here.
- This is handled by the focus in and focus out logic in the filter.
- (WebKit::EditorClient::shouldEndEditing): Ditto.
- (WebKit::EditorClient::respondToChangedSelection): Call into the filter now.
- (WebKit::EditorClient::handleInputMethodKeyboardEvent): Added this helper which executes
- any pending composition confirmation or preedit update actions as the default action of
- the keydown event.
- (WebKit::EditorClient::handleKeyboardEvent): Call handleInputMethodKeyboardEvent to do
- any pending composition action.
- (WebKit::EditorClient::handleInputMethodKeydown): Remove all the logic from this method.
- Keys are filtered before they are sent to WebCore now and the actual action of input method
- events happens in the keydown default action to increase compatibility with other browsers.
- (WebKit::EditorClient::EditorClient): Remove context signal management.
- (WebKit::EditorClient::~EditorClient): Ditto.
- * WebCoreSupport/EditorClientGtk.h:
- (EditorClient): No longer has some members that tracked IME status.
- * WebCoreSupport/WebViewInputMethodFilter.cpp: Added.
- * WebCoreSupport/WebViewInputMethodFilter.h: Added.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_property): Get the context from the filter now.
- (webkit_web_view_key_press_event): Just send events straight to the filter.
- The filter will decide whether or not to send them to WebCore.
- (webkit_web_view_key_release_event): Ditto.
- (webkit_web_view_button_press_event): Use the filter to handle button press
- events related to IME.
- (webkit_web_view_focus_in_event): Notify the filter now.
- (webkit_web_view_focus_out_event): Ditto.
- (webkit_web_view_realize): The filter takes care of listening for realize now.
- (webkit_web_view_init): Set the WebView widget on the filter.
- * webkit/webkitwebviewprivate.h: Change the GtkIMContext member to be a GtkInputMethodFilter member.
-
-2012-05-03 Fady Samuel <fsamuel@chromium.org>
-
- Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
- https://bugs.webkit.org/show_bug.cgi?id=70609
-
- Reviewed by Kenneth Rohde Christiansen.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::dumpConfigurationForViewport):
-
-2012-04-18 Jon Honeycutt <jhoneycutt@apple.com>
-
- FrameLoaderClient::dispatchWillSendSubmitEvent() should be given more
- information about the form being submitted
- https://bugs.webkit.org/show_bug.cgi?id=84297
-
- Reviewed by Andy Estes.
-
- * WebCoreSupport/FrameLoaderClientGtk.h:
- (WebKit::FrameLoaderClient::dispatchWillSendSubmitEvent):
- Updated method declaration.
-
-2012-05-01 Ryosuke Niwa <rniwa@webkit.org>
-
- *Command.h files shouldn't be exported to WebKit layer
- https://bugs.webkit.org/show_bug.cgi?id=74778
-
- Reviewed by Eric Seidel.
-
- * webkit/webkitwebframe.cpp:
-
-2012-04-30 Emil A Eklund <eae@chromium.org>
-
- [gtk, qt, chromium, win] Fix usage of LayoutUnits and rounding in platform code
- https://bugs.webkit.org/show_bug.cgi?id=85222
-
- Reviewed by Eric Seidel.
-
- Update platform code to use the pixel snapped values for painting rects
- to line up with device pixels and change platform specific hit testing
- code to use roundedPoint as hit testing is still mostly done on integer
- bounds.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::mouseDidMoveOverElement):
- * webkit/webkithittestresult.cpp:
- (WebKit::kit):
- * webkit/webkitwebview.cpp:
- (getLocationForKeyboardGeneratedContextMenu):
- (webkit_web_view_query_tooltip):
-
-2012-04-30 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Update NEWS and configure.ac for 1.9.1 release
- https://bugs.webkit.org/show_bug.cgi?id=85175
-
- Reviewed by Philippe Normand.
-
- * NEWS: Added release notes for 1.9.1.
-
-2012-04-30 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
-
- [GTK] DRT support for layoutTestController.removeOriginAccessWhitelistEntry
- https://bugs.webkit.org/show_bug.cgi?id=85156
-
- Reviewed by Martin Robinson.
-
- Add support for removeOriginAccessWhitelistEntry which allow
- layout tests to remove origins whitelisting.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::removeWhiteListAccessFromOrigin):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-04-29 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
-
- [GTK] DRT needs an implementation of layoutTestController.setDomainRelaxationForbiddenForURLScheme
- https://bugs.webkit.org/show_bug.cgi?id=85131
-
- Reviewed by Martin Robinson.
-
- Add support for setDomainRelaxationForbiddenForURLScheme which allow
- disabling domain relaxation.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setDomainRelaxationForbiddenForURLScheme):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-04-22 Adrian Bunk <bunk@stusta.de>
-
- [GTK] Remove the obsolete Hildon UI extensions
- https://bugs.webkit.org/show_bug.cgi?id=83420
-
- Reviewed by Martin Robinson.
-
- * GNUmakefile.am:
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::setInputMethodState):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_button_release_event):
-
-2012-04-20 Zan Dobersek <zandobersek@gmail.com>
-
- [Gtk][WK1] Use mock scrollbars when testing
- https://bugs.webkit.org/show_bug.cgi?id=79577
-
- Reviewed by Daniel Bates.
-
- Enable mock scrollbars if running DumpRenderTree.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
-
-2012-04-18 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r114506.
- http://trac.webkit.org/changeset/114506
- https://bugs.webkit.org/show_bug.cgi?id=84254
-
- Seems to be making gtk's DumpRenderTree crash occasionally
- (Requested by tomz on #webkit).
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- (webkit_web_settings_set_property):
- (webkit_web_settings_get_property):
- * webkit/webkitwebsettingsprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
-
-2012-04-18 Simon Pena <spena@igalia.com>
-
- [GTK] r114021 triggered media flakyness
- https://bugs.webkit.org/show_bug.cgi?id=83874
-
- Reviewed by Philippe Normand.
-
- When the MediaPlaybackRequiresUserGesture setting was added, no gtk
- API was implemented to access it.
-
- This adds a property to gtk WebKit WebSettings, and connects it to
- WebKit WebView, thus allowing clients to programmatically modify it.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- (webkit_web_settings_set_property):
- (webkit_web_settings_get_property):
- * webkit/webkitwebsettingsprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
-
-2012-04-17 Carlos Garnacho <carlos@lanedo.com>
-
- [GTK] Enable back double buffering on WebKitWebView to fix flickering
- https://bugs.webkit.org/show_bug.cgi?id=84149
-
- Reviewed by Martin Robinson.
-
- Despite having WebKitWebView its own backing buffer, calling
- gtk_widget_set_double_buffered(...,FALSE) may still pose side
- effects, such as ensuring that all drawing operations are
- flushed to the X server before rendering a non-double buffered
- widget, which may translate into flickering of the parent
- GdkWindow before the WebKitWebView itself is rendered.
-
- Enabling back double buffering solves this as all contents are
- first composited together before getting to the front buffer,
- but effectively acts as 3rd buffer. This is sort of unavoidable
- unless GTK+ gains a "let me take ownership of the backing buffer
- for this widget", which currently lacks.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init): Remove call to gtk_widget_set_double_buffered(..., FALSE)
-
-2012-04-06 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] Accelerated compositing is broken after recent TextureMapper reorganizations
- https://bugs.webkit.org/show_bug.cgi?id=83393
-
- Reviewed by Noam Rosenthal.
-
- Ensure that the layer tree is synced when the root layer is resized.
-
- * WebCoreSupport/AcceleratedCompositingContextGL.cpp:
- (WebKit::AcceleratedCompositingContext::resizeRootLayer): Ensure that the layer
- tree is synced when the root layer resizes and remove a call to recomposite
- the tree, as it happens anyway.
-
-2012-04-05 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] Scrolling some iframes that are partially out of the viewport leads to repaint errors
- https://bugs.webkit.org/show_bug.cgi?id=83309
-
- Reviewed by Gustavo Noronha Silva.
-
- Instead of only updating scrollRect - preservedRegion, update
- scrollRect - (preservedRegion - offscreenPreservedRegion). This ensures that
- when part of the scroll rect is moved onscreen from offscreen that part is
- queued for a redraw.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::scroll): Properly calculate the area to repaint.
-
-2012-04-04 Mariusz Grzegorczyk <mariusz.g@samsung.com>
-
- Fix build break when CONTEXT_MENUS is disabled.
- https://bugs.webkit.org/show_bug.cgi?id=82342
-
- Reviewed by Andreas Kling.
-
- Fixes build break in WebKit-Gtk, and WebKit-EFL ports when CONTEXT_MENUS macro is disabled.
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- * WebCoreSupport/ContextMenuClientGtk.h:
- * webkit/webkitglobals.cpp:
- (webkit_context_menu_item_get_action):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_button_press_event):
- (webkit_web_view_class_init):
- (webkit_web_view_init):
-
-2012-04-03 Simon Pena <spena@igalia.com>
-
- [GTK] DRT missing didRunInsecureContent notification
- https://bugs.webkit.org/show_bug.cgi?id=59367
-
- Reviewed by Philippe Normand.
-
- Add a new signal "insecure-content-run" to the WebFrame to notify
- when insecure HTTP content (such as CSS, an iframe or a script) is
- run from a secure HTTPS WebFrame. Implement didRunInsecureContent
- in gtk's FrameLoaderClient by means of emitting that signal.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp: Implement
- didRunInsecureContent by emitting WebFrame's
- "insecure-content-run" signal
- (WebKit::FrameLoaderClient::didRunInsecureContent):
- * webkit/webkitwebframe.cpp: Add "insecure-content-run" signal
- (webkit_web_frame_class_init):
-
-2012-03-30 Mark Pilgrim <pilgrim@chromium.org>
-
- GEOLOCATION should be implemented as Page Supplement
- https://bugs.webkit.org/show_bug.cgi?id=82228
-
- Reviewed by Adam Barth.
-
- Geolocation is now a Supplement in Page so the interface
- has changed for setting up the page's geolocation client
- initially and accessing the controller later.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::resetGeolocationClientMock):
- (DumpRenderTreeSupportGtk::setMockGeolocationPermission):
- (DumpRenderTreeSupportGtk::setMockGeolocationPosition):
- (DumpRenderTreeSupportGtk::setMockGeolocationError):
- (DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests):
- * WebCoreSupport/GeolocationClientGtk.cpp:
- (WebKit::GeolocationClient::updatePosition):
- (WebKit::GeolocationClient::errorOccured):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2012-03-29 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r112553.
- http://trac.webkit.org/changeset/112553
- https://bugs.webkit.org/show_bug.cgi?id=82638
-
- It made all tests crash on Qt WK2 (Requested by Ossy_away on
- #webkit).
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::resetGeolocationClientMock):
- (DumpRenderTreeSupportGtk::setMockGeolocationPermission):
- (DumpRenderTreeSupportGtk::setMockGeolocationPosition):
- (DumpRenderTreeSupportGtk::setMockGeolocationError):
- (DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests):
- * WebCoreSupport/GeolocationClientGtk.cpp:
- (WebKit::GeolocationClient::updatePosition):
- (WebKit::GeolocationClient::errorOccured):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2012-03-29 Mark Pilgrim <pilgrim@chromium.org>
-
- GEOLOCATION should be implemented as Page Supplement
- https://bugs.webkit.org/show_bug.cgi?id=82228
-
- Reviewed by Adam Barth.
-
- Geolocation is now a Supplement in Page so the interface
- has changed for setting up the page's geolocation client
- initially and accessing the controller later.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::resetGeolocationClientMock):
- (DumpRenderTreeSupportGtk::setMockGeolocationPermission):
- (DumpRenderTreeSupportGtk::setMockGeolocationPosition):
- (DumpRenderTreeSupportGtk::setMockGeolocationError):
- (DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests):
- * WebCoreSupport/GeolocationClientGtk.cpp:
- (WebKit::GeolocationClient::updatePosition):
- (WebKit::GeolocationClient::errorOccured):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2012-03-28 Nate Chapin <japhet@chromium.org>
-
- Remove dispatchDidLoadMainResource callback, since no
- port implements it.
- https://bugs.webkit.org/show_bug.cgi?id=82539
-
- Reviewed by Alexey Proskuryakov.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- (FrameLoaderClient):
-
-2012-03-28 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Implement PlatformStrategies
- https://bugs.webkit.org/show_bug.cgi?id=82454
-
- Reviewed by Xan Lopez.
-
- * GNUmakefile.am: Add new files to compilation.
- * WebCoreSupport/PlatformStrategiesGtk.cpp: Added.
- (PlatformStrategiesGtk::initialize): Initialize platform
- strategies.
- (PlatformStrategiesGtk::PlatformStrategiesGtk):
- (PlatformStrategiesGtk::createCookiesStrategy): Return this.
- (PlatformStrategiesGtk::createPluginStrategy): Ditto.
- (PlatformStrategiesGtk::createVisitedLinkStrategy): Ditto.
- (PlatformStrategiesGtk::createPasteboardStrategy): Return 0, since
- PasteboardStrategy is only used by mac code for now.
- (PlatformStrategiesGtk::notifyCookiesChanged):
- (PlatformStrategiesGtk::refreshPlugins): Refresh the plugin
- database.
- (PlatformStrategiesGtk::getPluginInfo): Initialize plugins and
- populate the given vector with plugins information.
- (PlatformStrategiesGtk::isLinkVisited): Return whether the given
- hash is a visited link of the page group.
- (PlatformStrategiesGtk::addVisitedLink): Add the given hash to the
- page group visited links.
- * WebCoreSupport/PlatformStrategiesGtk.h: Added.
- * webkit/webkitglobals.cpp:
- (webkitInit): Initialize PlatformStrategiesGtk.
-
-2012-03-26 Joone Hur <joone.hur@collabora.co.uk>
-
- [GTK] Build fix for Accelerated Compositing with Clutter
- https://bugs.webkit.org/show_bug.cgi?id=81785
-
- Reviewed by Martin Robinson.
-
- AcceleratedCompositingContext was introduced to isolate different accelerated
- compositing implementations(r104194), but the Clutter implementation doesn't
- build with it. This fixes the build error.
-
- * WebCoreSupport/AcceleratedCompositingContext.h:
- (AcceleratedCompositingContext):
- * WebCoreSupport/AcceleratedCompositingContextClutter.cpp:
- (WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
- (WebKit::AcceleratedCompositingContext::renderLayersToWindow):
- (WebKit::AcceleratedCompositingContext::resizeRootLayer):
- (WebKit::AcceleratedCompositingContext::syncLayersNow):
- (WebKit::AcceleratedCompositingContext::syncLayersTimeout):
- (WebKit):
-
-2012-03-26 Gary Kramlich <grim@reaperworld.com>
-
- WebKitWebView signals with GError parameters cause crashes when using GObject Introspection
- https://bugs.webkit.org/show_bug.cgi?id=81977
-
- Reviewed by Martin Robinson.
-
- Added marshalers for BOOLEAN:OBJECT,STRING,BOXED and VOID:OBJECT,OBJECT,BOXED
- and changed the signal signatures for WebKitWebView::load-fail and
- WebKitWebView::resource-load-failed to use the new marshalers since
- GError has been a GBoxed type since Gtk 2.26. This fixes these signals
- for the gobject-introspection bindings.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
- * webkitmarshal.list:
-
-2012-03-24 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] Replace occurrences of "uri" in the documentation with "URI"
- https://bugs.webkit.org/show_bug.cgi?id=82025
-
- Reviewed by Gustavo Noronha Silva.
-
- In documentation "uri" should really be written as "URI" so
- we should fix all existing strings.
-
- * webkit/webkitdownload.cpp: Replace "uri" with "URI."
- * webkit/webkitnetworkrequest.cpp: Ditto.
- * webkit/webkitnetworkresponse.cpp: Ditto.
- * webkit/webkitwebhistoryitem.cpp: Ditto.
- * webkit/webkitwebresource.cpp: Ditto.
- (webkit_web_resource_class_init):
-
-2012-03-23 Zan Dobersek <zandobersek@gmail.com>
-
- [Gtk] Webkit fails to build with --disable-geolocation
- https://bugs.webkit.org/show_bug.cgi?id=81451
-
- Reviewed by Benjamin Poulain.
-
- Wrap uses of WebCore::Geolocation in WebKitGeolocationPolicyDecision
- and WebKitWebView in ifdefs, removing compilation errors when compiling
- with geolocation support disabled. Affected public API methods are then
- stubs, throwing a warning that feature was not enabled at compile-time.
-
- * webkit/webkitgeolocationpolicydecision.cpp:
- (_WebKitGeolocationPolicyDecisionPrivate):
- (webkit_geolocation_policy_decision_new):
- (webkit_geolocation_policy_allow):
- (webkit_geolocation_policy_deny):
- * webkit/webkitgeolocationpolicydecisionprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2012-03-23 Zan Dobersek <zandobersek@gmail.com>
-
- [GObject bindings] Supplemental interfaces are not disabled with the "Conditional" attribute
- https://bugs.webkit.org/show_bug.cgi?id=80030
-
- Reviewed by Martin Robinson.
-
- Add a private macro that can be used when necessary to throw a warning
- about a future not enabled at compile-time.
-
- * webkit/webkitglobalsprivate.h:
-
-2012-03-23 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Add a way to expose well known names for items in the default context menu
- https://bugs.webkit.org/show_bug.cgi?id=67660
-
- Reviewed by Martin Robinson.
-
- Add WebKitContextMenuAction enum containing all possible context
- menu item actions.
-
- * GNUmakefile.am: Add new files to compilation.
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- (WebKit::inputMethodsMenuItem): Use WebCore context menu classes
- to create the context menu and its items to make sure all items
- have a GtkAction associated.
- (WebKit::insertControlCharacter):
- (WebKit::unicodeMenuItem): Ditto.
- * tests/testcontextmenu.c: Added.
- (testInfoNew):
- (testInfoDestroy):
- (contextMenuFixtureSetup):
- (contextMenuFixtureTeardown):
- (checkAction):
- (checkActionWithSubmenu):
- (checkSeparator):
- (contextMenuCallback):
- (pushEvent):
- (loadStatusCallback):
- (mapEventCallback):
- (testContextMenu):
- (contextMenuCustomItemCallback):
- (testContextMenuCustomItem):
- (main):
- * webkit/webkitglobals.cpp:
- (webkit_context_menu_item_get_action): Return the
- WebKitContextMenuAction for the given context menu item.
- * webkit/webkitglobals.h:
-
-2012-03-23 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Unreviewed. Rename a variable name in API documentation.
-
- Rename keyboard_mode to triggered_with_keyboard in
- WebKitWebView::context-menu signal documentation as suggested by
- Martin and Gustavo. I forgot to make this change before landing
- previous patch.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
-
-2012-03-23 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Add a signal to allow applications to handle its own context menu
- https://bugs.webkit.org/show_bug.cgi?id=49904
-
- Reviewed by Gustavo Noronha Silva.
-
- * tests/testhittestresult.c:
- (load_status_cb): Test x, y properties of WebKitHitTestResult.
- * webkit/webkithittestresult.cpp:
- (webkit_hit_test_result_get_property):
- (webkit_hit_test_result_set_property):
- (webkit_hit_test_result_class_init): Add x and y construct only
- properties to keep the coordinates of the event relative to view's
- widget.
- (WebKit::kit):
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init): Mark enable-default-context-menu
- property as deprecated.
- * webkit/webkitwebview.cpp:
- (prepareMouseEventForFrame):
- (defaultContextMenuEnabled): Helper function to check whether
- default context menu setting is enabled or not.
- (webkit_web_view_forward_context_menu_event): Emit the new
- context-menu signal.
- (webkit_web_view_popup_menu_handler):
- (webkit_web_view_button_press_event):
- (webkit_web_view_class_init): Add new context-menu signal and mark
- populate-popup as deprecated.
- * webkitmarshal.list:
-
-2012-03-23 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Unreviewed. Fix GTK+ build after r111707.
-
- * WebCoreSupport/UserMediaClientGtk.h:
-
-2012-03-22 Mao Yujie <yujie.mao@intel.com>
-
- [GTK] Add MediaStream feature to avoid MediaStream test failure
- https://bugs.webkit.org/show_bug.cgi?id=81727
-
- Reviewed by Martin Robinson.
-
- * GNUmakefile.am:
- * WebCoreSupport/UserMediaClientGtk.cpp: Added.
- (WebKit):
- (WebKit::UserMediaClientGtk::UserMediaClientGtk):
- (WebKit::UserMediaClientGtk::~UserMediaClientGtk):
- (WebKit::UserMediaClientGtk::pageDestroyed):
- (WebKit::UserMediaClientGtk::requestUserMedia):
- (WebKit::UserMediaClientGtk::cancelUserMediaRequest):
- * WebCoreSupport/UserMediaClientGtk.h: Added.
- (WebKit):
- (UserMediaClientGtk):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2012-03-22 Sergio Villar Senin <svillar@igalia.com>
-
- [GTK] icon database requests not dispatched until new data arrives
- https://bugs.webkit.org/show_bug.cgi?id=81665
-
- Reviewed by Martin Robinson.
-
- Wait for the import to finish before reporting that the favicon
- cache does not have a pixbuf for an URL.
-
- Changes already covered by the favicon database unit tests.
-
- * webkit/webkitfavicondatabase.cpp:
- (webkit_favicon_database_get_favicon_pixbuf):
-
-2012-03-22 Carlos Garcia Campos <cgarcia@bb-webkit-rel-64.local.igalia.com>
-
- [GTK] Use the angle-bracket form to include wtf headers
- https://bugs.webkit.org/show_bug.cgi?id=81884
-
- Reviewed by Eric Seidel.
-
- Use #include <wtf/foo> instead of #include "foo".
-
- * WebCoreSupport/DocumentLoaderGtk.cpp:
- * WebCoreSupport/DragClientGtk.h:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- * WebCoreSupport/FullscreenVideoController.h:
- * WebCoreSupport/GeolocationClientGtk.h:
- * WebCoreSupport/InspectorClientGtk.h:
- * WebCoreSupport/TextCheckerClientGtk.cpp:
- * WebCoreSupport/TextCheckerClientGtk.h:
- * webkit/webkitdownload.cpp:
- * webkit/webkitfavicondatabase.cpp:
- * webkit/webkitglobals.cpp:
- * webkit/webkithittestresult.cpp:
- * webkit/webkitnetworkrequest.cpp:
- * webkit/webkitnetworkresponse.cpp:
- * webkit/webkitspellcheckerenchant.cpp:
- * webkit/webkitwebdatasourceprivate.h:
- * webkit/webkitwebsettings.cpp:
- * webkit/webkitwebsettingsprivate.h:
- * webkit/webkitwebviewprivate.h:
-
-2012-03-20 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- Convert hasSpellingMarker to use Internals interface.
- https://bugs.webkit.org/show_bug.cgi?id=81300
-
- Reviewed by Ryosuke Niwa.
-
- Remove DumpRenderTreeSupportGtk::webkitWebFrameSelectionHasSpellingMarker support,
- since it can support in the cross-port way through the Internals interface.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-03-19 Adam Barth <abarth@webkit.org>
-
- Remove support for "magic" iframe
- https://bugs.webkit.org/show_bug.cgi?id=81590
-
- Reviewed by Eric Seidel.
-
- Remove FrameLoaderClient methods that no longer exist.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- (FrameLoaderClient):
-
-2012-03-19 Gustavo Noronha Silva <gns@gnome.org>
-
- [GTK] libWebCore.la has become too big for make
- https://bugs.webkit.org/show_bug.cgi?id=81582
-
- Unreviewed build fix.
-
- * GNUmakefile.am: link-in the new libDerivedWebCore.la
-
-2012-03-16 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] Allow running run-gtk-tests during 'make dist'
- https://bugs.webkit.org/show_bug.cgi?id=81415
-
- Reviewed by Philippe Normand.
-
- * GNUmakefile.am: Remove 'make check' rules from the makefile
- Instead this functionality is now in the Tools makefile.
-
-2012-03-16 Victor Lucero <victor.lucero@ipartner.cl>
-
- [GTK] WebKitWebResource::load-failed uses the wrong marshaller
- https://bugs.webkit.org/show_bug.cgi?id=81229
-
- Reviewed by Philippe Normand.
-
- * webkit/webkitwebresource.cpp:
- (webkit_web_resource_class_init): load-failed signal in WebkitWebResource was using the wrong marshaller
-
-2012-03-14 Landry Breuil <landry@openbsd.org>
-
- WebKit/gtk/resources/error.html font-size error
- https://bugs.webkit.org/show_bug.cgi?id=39232
-
- Reviewed by Martin Robinson.
-
- Fix font-size in the 404 error page. Apparently the % is filtered out,
- so 120% becomes 120 and the error message is huge. Experienced in epiphany.
-
- * resources/error.html: Double the % so it doesn't get filtered
-
-2012-03-16 Carlos Garcia Campos <cgarcia@igalia.com> and Sergio Villar Senin <svillar@igalia.com>
-
- [GTK] WebKitIconDatabase doesn't keep icons cached
- https://bugs.webkit.org/show_bug.cgi?id=56200
-
- Reviewed by Martin Robinson.
-
- * GNUmakefile.am: Added new files to compilation.
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::registerForIconNotification): instruct
- the WebView to listen to IconDatabase's notifications.
- (WebKit::FrameLoaderClient::dispatchDidReceiveIcon): ask both
- WebView and IconDatabase to issue notifications for a new icon.
- * docs/webkitgtk-docs.sgml: updated docs.
- * docs/webkitgtk-sections.txt: ditto.
- * docs/webkitgtk.types: ditto.
- * tests/testicondatabase.c: Added.
- (server_callback):
- (deleteDatabaseFileIfExists):
- (testWebkitIconDatabaseSetPath):
- (iconDatabaseGetIconValidCallback):
- (iconDatabaseGetIconInvalidCallback):
- (iconDatabaseGetIconCancelledCallback):
- (mainLoopQuitIfLoadCompleted):
- (idleQuitLoopCallback):
- (webkitWebViewIconLoaded):
- (loadURI):
- (faviconDatabaseGetFaviconValidIdle):
- (faviconDatabaseGetFaviconInvalidIdle):
- (faviconDatabaseGetFaviconCancelledIdle):
- (testWebKitFaviconDatabaseGetFavicon):
- (testWebKitFaviconDatabaseGetFaviconURI):
- (testWebKitFaviconDatabaseRemoveAll):
- (testWebKitFaviconDatabaseCloseDatabase):
- (main):
- * webkit/webkit.h: added new API.
- * webkit/webkitdefines.h: added WebKitFaviconDatabase.
- * webkit/webkitfavicondatabase.cpp:
- (IconDatabaseClientGtk): IconDatabaseClient implementation.
- (IconDatabaseClientGtk::performImport):
- (IconDatabaseClientGtk::didRemoveAllIcons):
- (IconDatabaseClientGtk::didImportIconURLForPageURL):
- (IconDatabaseClientGtk::didImportIconDataForPageURL):
- (IconDatabaseClientGtk::didChangeIconForPageURL):
- (IconDatabaseClientGtk::didFinishURLImport):
- (PendingIconRequest): machinery for asynchronous calls.
- (PendingIconRequest::PendingIconRequest):
- (PendingIconRequest::~PendingIconRequest):
- (PendingIconRequest::pageURI):
- (PendingIconRequest::asyncResult):
- (PendingIconRequest::asyncResultCancel):
- (PendingIconRequest::asyncResultCompleteInIdle):
- (PendingIconRequest::asyncResultComplete):
- (_WebKitIconDatabasePrivate):
- (webkit_favicon_database_dispose): GObject stuff.
- (webkit_favicon_database_set_property): ditto.
- (webkit_favicon_database_get_property): ditto.
- (webkit_favicon_database_class_init): ditto.
- (webkit_favicon_database_init): ditto.
- (webkitFaviconDatabaseNotifyAndUpdateExpiration): notify about new
- icons and update expiration times.
- (webkitFaviconDatabaseDispatchDidReceiveIcon): "protected" method
- called by the FrameLoaderClient to inform about new icons.
- (webkit_favicon_database_get_path): retrieves database path.
- (selectQueryCallback): releases expired icons to let IconDatabase
- prune them.
- (webkitFaviconDatabasePruneExpiredIcons): selects the icons to be
- pruned by the IconDatabase.
- (webkitFaviconDatabaseClose): close the database.
- (createExpirationTimesDatabaseTableIfNotExists): creates the
- database used to control expiration times.
- (webkit_favicon_database_set_path): opens the database delaying the
- cleanup of icons until the import is complete.
- (webkit_favicon_database_get_favicon_uri): returns the uri of the
- favicon.
- (getIconPixbufSynchronously): helper function to call
- IconDatabase::synchronousIconURLForPageURL().
- (webkit_favicon_database_try_get_favicon_pixbuf): returns the
- favicon if exists and is loaded from disk.
- (webkitFaviconDatabaseGetOrCreateRequests): helper function to get
- the vector of pending requests for the given uri.
- (webkitfavicondatabaseDeleteRequests): helper function to remove the
- vector of pending requests for the given uri.
- (getIconPixbufCancelled):
- (webkitFaviconDatabaseGetIconPixbufCancelled):
- (webkit_favicon_database_get_favicon_pixbuf): asynchronously
- retrieve icons from the database.
- (webkit_favicon_database_get_favicon_pixbuf_finish): finishes an
- operation started with webkit_icon_database_get_icon_pixbuf().
- (webkitFaviconDatabaseProcessPendingIconsForURI): process pending
- requests once the import is finished.
- (webkitFaviconDatabaseImportFinished): check pending requests and
- delete those that ask for icons that do not exist in the database.
- (webkit_favicon_database_clear): clears the database.
- * webkit/webkitfavicondatabase.h: added.
- (_WebKitFaviconDatabase):
- (_WebKitFaviconDatabaseClass):
- * webkit/webkitfavicondatabaseprivate.h: Added.
- * webkit/webkitglobals.cpp:
- (webkit_get_favicon_database): retrieves the new
- WebKitFaviconDatabase.
- (webkitExit): unref icon database on exit.
- * webkit/webkitglobals.h: added new API.
- * webkit/webkiticondatabase.cpp: added deprecation documentation.
- (webkit_icon_database_class_init):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_try_get_icon_pixbuf): new API that uses the new
- WebKitFaviconDatabase API.
- (webkitWebViewIconLoaded): dispatch the icon-loaded signal when
- requested by the FrameLoaderClient.
- (webkitWebViewRegisterForIconNotification): starts/stops listening
- to icon database notifications.
- * webkit/webkitwebview.h: added new API.
- * webkit/webkitwebviewprivate.h: added some protected methods.
-
-2012-03-16 Zan Dobersek <zandobersek@gmail.com>
-
- [Gtk] Add computedStyleIncludingVisitedInfo to DumpRenderTreeSupport
- https://bugs.webkit.org/show_bug.cgi?id=81232
-
- Reviewed by Philippe Normand.
-
- Add computedStyleIncludingVisitedInfo helper method to
- DumpRenderTreeSupportGtk.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::computedStyleIncludingVisitedInfo):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-03-16 Zan Dobersek <zandobersek@gmail.com>
-
- [Gtk] Properly set forms tests-specific settings
- https://bugs.webkit.org/show_bug.cgi?id=81237
-
- Reviewed by Philippe Normand.
-
- Call Settings::setInteractiveFormValidationEnabled and
- Settings::setValidationMessageTimerMagnification with
- proper values when in testing mode.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2012-03-15 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Implement unicode submenu items
- https://bugs.webkit.org/show_bug.cgi?id=81117
-
- Reviewed by Martin Robinson.
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- (WebKit::getUnicodeMenuItemPosition): Helper function to get the
- position of the unicode menu item in the default context menu.
- (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems): Remove
- code to build the unicode menu, since it's now built by WebCore.
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::shouldShowUnicodeMenu): Check whether
- unicode menu should be shown based on gtk-show-unicode-menu GtkSetting.
- * WebCoreSupport/EditorClientGtk.h:
-
-2012-03-13 Adam Barth <abarth@webkit.org> && Benjamin Poulain <bpoulain@apple.com>
-
- Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
- https://bugs.webkit.org/show_bug.cgi?id=78853
-
- Reviewed by Adam Barth.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit):
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::scrollRectIntoView):
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::resetGeolocationClientMock):
- (DumpRenderTreeSupportGtk::setMockGeolocationPermission):
- (DumpRenderTreeSupportGtk::setMockGeolocationPosition):
- (DumpRenderTreeSupportGtk::setMockGeolocationError):
- (DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests):
- * WebCoreSupport/GeolocationClientGtk.cpp:
- (WebKit::GeolocationClient::requestPermission):
- (WebKit::GeolocationClient::cancelPermissionRequest):
- * WebCoreSupport/GeolocationClientGtk.h:
- (WebKit):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2012-03-12 Antonio Gomes <agomes@rim.com>
-
- Convert nodesFromRect tests to use Internals interface
- https://bugs.webkit.org/show_bug.cgi?id=80886
-
- Reviewed by Ryosuke Niwa.
-
- Removed DRTSupportGtk::nodesFromRect support, since
- it can work in the cross-port way through the
- Internals interface.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-03-07 Kangil Han <kangil.han@samsung.com>
-
- [DRT] Remove PlainTextController implementations.
- https://bugs.webkit.org/show_bug.cgi?id=79959
-
- Reviewed by Hajime Morita.
-
- PlainTextController usages in existing tests have been
- replaced by internals API by bug 78570.
- So this patch will remove PlainTextController implementations
- to avoid further usage in new tests.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-03-06 Martin Robinson <mrobinson@igalia.com>
-
- Fix a compilation warning encountered during the GTK+ build.
-
- Reviewed by Gustavo Noronha Silva.
-
- * tests/testcopyandpaste.c:
- (test_copy_and_paste): Cast the WebKitWebView to a GtkWidget.
-
-2012-03-06 Philippe Normand <pnormand@igalia.com>
-
- [GTK] FrameLoader signals: gtk-doc fixes
- https://bugs.webkit.org/show_bug.cgi?id=79495
-
- Reviewed by Martin Robinson.
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_class_init):
- * webkit/webkitwebresource.cpp:
- (webkit_web_resource_class_init):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
-
-2012-01-26 Philippe Normand <pnormand@igalia.com>
-
- [GStreamer] disable GStreamerGWorld when building against 0.11
- https://bugs.webkit.org/show_bug.cgi?id=77088
-
- Disable the FullscreenVideoController if we build against
- GStreamer 0.11. This code depends on GStreamerGWorld which wasn't
- ported to 0.11 because it will soon be removed anyway.
-
- Reviewed by Martin Robinson.
-
- * WebCoreSupport/FullscreenVideoController.cpp:
- * WebCoreSupport/FullscreenVideoController.h:
- * webkit/webkitwebview.cpp:
- (webViewEnterFullscreen):
- (webViewExitFullscreen):
- * webkit/webkitwebviewprivate.h:
- (_WebKitWebViewPrivate):
-
-2012-03-05 Zan Dobersek <zandobersek@gmail.com>
-
- [GTK] plugins/netscape-plugin-page-cache-works.html fails
- https://bugs.webkit.org/show_bug.cgi?id=74409
-
- Reviewed by Martin Robinson.
-
- Add a method to override page-cache-for-plugins preference.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setPageCacheSupportsPlugins):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-03-04 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] "Console: undefined @0: ReferenceError: Can't find variable: WebInspector" during testwebinspector
- https://bugs.webkit.org/show_bug.cgi?id=80235
-
- Reviewed by Philippe Normand.
-
- Wait to inspect the WebView until the page has finished loading. Also
- clean up some minor style errors.
-
- * tests/testwebinspector.c:
- (closeInspector): Small style fixes.
- (showInspector): Ditto.
- (loadFinished): Ditto.
- (test_webkit_web_inspector_close_and_inspect): Wait to inspect until the page has loaded.
- (test_webkit_web_inspector_destroy_inspected_web_view): Ditto.
- (main): Small style fixes.
-
-2012-03-04 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] REGRESSION: r108278 broke some tests that expect focus
- https://bugs.webkit.org/show_bug.cgi?id=79084
-
- Reviewed by Philippe Normand.
-
- Grab focus before running the test. This ensures that if the
- WebView lost focus, it has it before sending events.
-
- * tests/testcopyandpaste.c:
- (test_copy_and_paste): Grab focus.
-
-2012-02-18 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] [AC] Generalize WindowContextGL
- https://bugs.webkit.org/show_bug.cgi?id=78969
-
- Reviewed by Gustavo Noronha Silva.
-
- Use GLContext instead of WindowContextGL. Remove a few unnecessary
- namespace specifiers in the implementation of AcceleratedCompositingContext.
-
- * WebCoreSupport/AcceleratedCompositingContext.h: Now we find the GLContext
- of our widget, which is cached in WebCore. Remove m_initialized as it isn't needed.
- (AcceleratedCompositingContext):
- * WebCoreSupport/AcceleratedCompositingContextGL.cpp:
- (WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext): No longer initialize
- m_initialized.
- (WebKit::AcceleratedCompositingContext::glContext): Added.
- (WebKit::AcceleratedCompositingContext::renderLayersToWindow): Use glContext() now.
- (WebKit::AcceleratedCompositingContext::attachRootGraphicsLayer): Ditto.
- (WebKit::AcceleratedCompositingContext::notifyAnimationStarted): Remove unnecessary namespace specifier.
- (WebKit::AcceleratedCompositingContext::notifySyncRequired): Ditto.
- (WebKit::AcceleratedCompositingContext::paintContents): Ditto.
- (WebKit::AcceleratedCompositingContext::showDebugBorders): Ditto.
- (WebKit::AcceleratedCompositingContext::showRepaintCounter): Ditto.
-
-2012-03-02 Zan Dobersek <zandobersek@gmail.com>
-
- [GTK] Smooth scrolling support
- https://bugs.webkit.org/show_bug.cgi?id=16123
-
- Reviewed by Martin Robinson.
-
- Add a new settings option to enable smooth scrolling.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- (webkit_web_settings_set_property):
- (webkit_web_settings_get_property):
- * webkit/webkitwebsettingsprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
-
-2012-03-01 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Simplify the code to adjust font sizes depending on screen DPI
- https://bugs.webkit.org/show_bug.cgi?id=80032
-
- Reviewed by Martin Robinson.
-
- * webkit/webkitwebview.cpp:
- (screenDPI): Helper function to get the DPI of a given
- GdkScreen. Added also fallback code when gdk_screen_resolution
- returns -1.
- (webViewGetDPI): Use screenDPI() from WebCore.
- (webViewConvertFontSizeToPixels): This is the existing
- pixelsFromSize(), renamed and moved to be used also in
- webkit_web_view_screen_changed().
- (webkit_web_view_screen_changed): Use
- webViewConvertFontSizeToPixels() instead of duplicating the code.
- (webkit_web_view_settings_notify): Use
- webViewConvertFontSizeToPixels() instead of pixelsFromSize().
-
-2012-02-27 Vincent Untz <vuntz@gnome.org>> and Gustavo Noronha Silva <gns@gnome.org>
-
- Build fix for building with GTK+ 2.x.
-
- * tests/testwebview.c:
-
-2012-02-26 Hajime Morrita <morrita@chromium.org>
-
- Move ChromeClient::showContextMenu() to ContextMenuClient
- https://bugs.webkit.org/show_bug.cgi?id=79427
-
- Reviewed by Adam Barth.
-
- * WebCoreSupport/ChromeClientGtk.h:
- (ChromeClient):
-
-2012-02-24 Shinya Kawanaka <shinyak@chromium.org>
-
- SpellCheckRequest needs to know the context where the spellcheck happened.
- https://bugs.webkit.org/show_bug.cgi?id=79320
-
- Reviewed by Hajime Morita.
-
- * WebCoreSupport/TextCheckerClientGtk.h:
- (WebKit::TextCheckerClientGtk::requestCheckingOfString):
-
-2012-02-23 ChangSeok Oh <shivamidow@gmail.com>
-
- [GTK] DRT doesn't support scheduleAsynchronousKeyDown.
- https://bugs.webkit.org/show_bug.cgi?id=78481
-
- Reviewed by Gustavo Noronha Silva.
-
- Added a new API to deliver all mutations explicitly.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::deliverAllMutationsIfNecessary):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-02-23 Philippe Normand <pnormand@igalia.com>
-
- [GTK] FullScreen signals
- https://bugs.webkit.org/show_bug.cgi?id=76181
-
- Reviewed by Martin Robinson.
-
- Added entering-fullscreen and leaving-fullscreen signals, meant to
- be used by the user agent to be notified when an element requests
- full screen display and when the full screen display is to be
- disabled.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::supportsFullScreenForElement):
- (WebKit::onFullscreenGtkKeyPressEvent):
- (WebKit::ChromeClient::cancelFullScreen):
- (WebKit::ChromeClient::enterFullScreenForElement):
- (WebKit::ChromeClient::exitFullScreenForElement):
- * WebCoreSupport/ChromeClientGtk.h:
- * tests/testwebview.c:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_real_entering_fullscreen):
- (webkit_web_view_real_leaving_fullscreen):
- (webkit_web_view_class_init):
- * webkit/webkitwebview.h:
-
-2012-02-21 Ryosuke Niwa <rniwa@webkit.org>
-
- Remove the remaining uses of CSSStyleDeclaration in Editor
- https://bugs.webkit.org/show_bug.cgi?id=78939
-
- Reviewed by Enrica Casucci.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::shouldApplyStyle):
- * WebCoreSupport/EditorClientGtk.h:
- (EditorClient):
-
-2012-02-22 Philippe Normand <pnormand@igalia.com>
-
- Unreviewed, rolling out r108522.
- http://trac.webkit.org/changeset/108522
- https://bugs.webkit.org/show_bug.cgi?id=76181
-
- Broke 4 fullscreen tests on GTK.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::supportsFullScreenForElement):
- (WebKit::ChromeClient::enterFullScreenForElement):
- (WebKit::ChromeClient::exitFullScreenForElement):
- * WebCoreSupport/ChromeClientGtk.h:
- (ChromeClient):
- * tests/testwebview.c:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
- * webkit/webkitwebview.h:
- (_WebKitWebViewClass):
-
-2012-02-20 Philippe Normand <pnormand@igalia.com>
-
- [GTK] FullScreen signals
- https://bugs.webkit.org/show_bug.cgi?id=76181
-
- Reviewed by Martin Robinson.
-
- Added entering-fullscreen and leaving-fullscreen signals, meant to
- be used by the user agent to be notified when an element requests
- full screen display and when the full screen display is to be
- disabled.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::supportsFullScreenForElement):
- (WebKit::onFullscreenGtkKeyPressEvent):
- (WebKit::ChromeClient::cancelFullScreen):
- (WebKit::ChromeClient::enterFullScreenForElement):
- (WebKit::ChromeClient::exitFullScreenForElement):
- * WebCoreSupport/ChromeClientGtk.h:
- * tests/testwebview.c:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_real_entering_fullscreen):
- (webkit_web_view_real_leaving_fullscreen):
- (webkit_web_view_class_init):
- * webkit/webkitwebview.h:
-
-2012-02-22 Ryosuke Niwa <rniwa@webkit.org>
-
- Remove the remaining uses of CSSStyleDeclaration in Editor
- https://bugs.webkit.org/show_bug.cgi?id=78939
-
- Reviewed by Enrica Casucci.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::shouldApplyStyle):
- * WebCoreSupport/EditorClientGtk.h:
- (EditorClient):
-
-2012-02-22 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Unreviewed, rolling out r107351.
- http://trac.webkit.org/changeset/107351
- https://bugs.webkit.org/show_bug.cgi?id=53600
-
- Several issues introduced in WebKitGTK+ API
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::ChromeClient):
- (WebKit::ChromeClient::chromeDestroyed):
- (WebKit::ChromeClient::canRunModal):
- (WebKit::ChromeClient::runModal):
- * WebCoreSupport/ChromeClientGtk.h:
- (ChromeClient):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
-
-2012-02-21 Philippe Normand <pnormand@igalia.com>
-
- Fix one more GTK+ unit test after r108278.
-
- Reviewed by Alejandro G. Castro.
-
- * tests/testkeyevents.c:
- (map_event_cb): No longer grab focus here.
- (setup_keyevent_test): Grabbing focus here seems to be late enough in the process.
-
-2012-02-20 Martin Robinson <mrobinson@igalia.com>
-
- Fix GTK+ unit tests after r108281.
-
- Reviewed by Alejandro G. Castro.
-
- * tests/testwebplugindatabase.c:
- (test_webkit_web_plugin_database_get_plugins): Update the description used
- in the test.
-
-2012-02-20 Martin Robinson <mrobinson@igalia.com>
-
- Fix GTK+ unit tests after r108278.
-
- Reviewed by Alejandro G. Castro.
-
- Now that WebCore is no longer stealing focus, we need to
- adjust where we grab focus to ensure that it actually succeeds.
-
- * tests/testcopyandpaste.c:
- (map_event_cb): No longer grab focus here.
- (runPasteTestCallback): Grabbing focus here seems to be late enough in the process.
-
-2012-02-20 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] Web content oftens steals focus from other widgets
- https://bugs.webkit.org/show_bug.cgi?id=77791
-
- Reviewed by Gustavo Noronha Silva.
-
- * tests/testwebview.c: Added a WebKit1 test to verify this behavior.
-
-2012-02-20 Gustavo Noronha Silva <gns@gnome.org>
-
- [GTK] Needs to claim being a more up-to-date Chrome
- https://bugs.webkit.org/show_bug.cgi?id=79044
-
- Reviewed by Martin Robinson.
-
- * webkit/webkitwebsettings.cpp:
- (chromeUserAgent): update the version of Chrome we claim to be
- to avoid warnings from sites such as Wordpress saying that our
- browser is outdated.
-
-2012-02-19 Paweł Forysiuk <tuxator@o2.pl>
- [GTK] Can't find webinspector and error page redirection on Windows
- https://bugs.webkit.org/show_bug.cgi?id=51616
-
- Use an abstraction for finding shared resources on Windows.
-
- Reviewed by Martin Robinson.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFailLoad):
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::inspectorFilesPath):
-
-2012-02-19 Gustavo Noronha Silva <gns@gnome.org>
-
- Unreviewed. Remove gsettings schema from EXTRA_DIST.
-
- * GNUmakefile.am:
-
-2012-02-19 Gustavo Noronha Silva <gns@gnome.org>
-
- [GTK] Remove unused GSettings stuff
- https://bugs.webkit.org/show_bug.cgi?id=78995
-
- Reviewed by Martin Robinson.
-
- * GNUmakefile.am: remove GSettings-related stuff.
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit): Remove unused code.
- * org.webkitgtk.gschema.xml.in: Removed.
- * webkit/webkitwebinspector.cpp:
- (webkit_web_inspector_execute_script): remove gsettings-related helper.
- * webkit/webkitwebinspectorprivate.h: Ditto.
-
-2012-02-17 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- [GTK] change the way of registering DeviceOrientation clients.
- https://bugs.webkit.org/show_bug.cgi?id=78680
-
- Reviewed by Gustavo Noronha Silva.
-
- Bug 78085 removed deviceOrientationClient and deviceMotionClient from PageClients. Instead,
- DeviceOrientationClient and DeviceMotionClient should be registered by PageSupplement class.
- Chromium, mac and qt ports are already changed by Bug 78085.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2012-02-16 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] [AC] Events can starve accelerated compositing updates
- https://bugs.webkit.org/show_bug.cgi?id=78826
-
- Reviewed by Gustavo Noronha Silva.
-
- Instead of using a WebCore timer, which can be starved by GdkEvents,
- use a raw GLib timer with GDK_PRIORITY_EVENTS to drive AC updates.
- This prevents dragging from blocking rendering.
-
- * WebCoreSupport/AcceleratedCompositingContext.h:
- (AcceleratedCompositingContext): Store a GLib source tag instead of a WebCore timer.
- * WebCoreSupport/AcceleratedCompositingContextClutter.cpp:
- (WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
- (WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
- Remove the timer upon destruction.
- (WebKit::syncLayersTimeoutCallback): Added this callback for the GLib timer.
- (WebKit::AcceleratedCompositingContext::markForSync): Use a GLib timer.
- (WebKit::AcceleratedCompositingContext::syncLayersTimeout): Ditto.
- * WebCoreSupport/AcceleratedCompositingContextGL.cpp:
- (WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
- (WebKit::AcceleratedCompositingContext::~AcceleratedCompositingContext):
- Remove the timer upon destruction.
- (WebKit::syncLayersTimeoutCallback): Added this callback for the GLib timer.
- (WebKit::AcceleratedCompositingContext::markForSync): Use a GLib timer.
- (WebKit::AcceleratedCompositingContext::syncLayersTimeout): Ditto.
-
-2012-02-16 Adam Barth <abarth@webkit.org>
-
- Attempt to fix the GTK build.
-
- * WebCoreSupport/GeolocationClientGtk.cpp:
- (WebKit::GeolocationClient::requestPermission):
- (WebKit::GeolocationClient::cancelPermissionRequest):
-
-2012-02-16 Sergio Villar Senin <svillar@igalia.com>
-
- [soup] Move important SoupSession feature initialization to WebCore
- https://bugs.webkit.org/show_bug.cgi?id=68602
-
- Reviewed by Martin Robinson.
-
- Moved content sniffer and decoder initialization from WebKit to
- WebCore because network stuff will not work as expected without
- them.
-
- No new tests required as we're just moving stuff from WebKit to
- WebCore.
-
- * webkit/webkitglobals.cpp:
- (webkitInit):
-
-2012-02-16 Philippe Normand <pnormand@igalia.com>
-
- Unreviewed, rolling out r107941.
- http://trac.webkit.org/changeset/107941
- https://bugs.webkit.org/show_bug.cgi?id=68602
-
- Broke 23 http tests on GTK
-
- * webkit/webkitglobals.cpp:
- (webkitInit):
-
-2012-02-16 Sergio Villar Senin <svillar@igalia.com>
-
- [soup] Move important SoupSession feature initialization to WebCore
- https://bugs.webkit.org/show_bug.cgi?id=68602
-
- Reviewed by Martin Robinson.
-
- Moved content sniffer and decoder initialization from WebKit to
- WebCore because network stuff will not work as expected without
- them.
-
- No new tests required as we're just moving stuff from WebKit to
- WebCore.
-
- * webkit/webkitglobals.cpp:
- (webkitInit):
-
-2012-01-31 Raphael Kubo da Costa <kubo@profusion.mobi>
-
- [soup] Add support for multiple SoupSessions.
- https://bugs.webkit.org/show_bug.cgi?id=77341
-
- Reviewed by Gustavo Noronha Silva.
-
- Adapt to the changes to FrameNetworkingContext in WebCore.
-
- * GNUmakefile.am:
- * WebCoreSupport/FrameNetworkingContextGtk.cpp: Copied from Source/WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.h.
- (WebKit):
- (WebKit::FrameNetworkingContextGtk::soupSession): Always return ResourceHandle::defaultSession().
- * WebCoreSupport/FrameNetworkingContextGtk.h:
- (FrameNetworkingContextGtk):
-
-2012-02-15 Sadrul Habib Chowdhury <sadrul@chromium.org>
-
- Notify ChromeClient when touch-event handlers are installed/removed.
- https://bugs.webkit.org/show_bug.cgi?id=77440
-
- Reviewed by Darin Fisher and Ryosuke Niwa.
-
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::numTouchEventHandlersChanged):
-
-2012-02-15 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- [Texmap] Divide TextureMapperNode.cpp to 3 files.
- https://bugs.webkit.org/show_bug.cgi?id=76660
-
- Rename TextureMapperNode to TextureMapperLayer.
-
- Reviewed by Kenneth Rohde Christiansen.
-
- * WebCoreSupport/AcceleratedCompositingContext.h:
- (AcceleratedCompositingContext):
- * WebCoreSupport/AcceleratedCompositingContextGL.cpp:
- (WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
- (WebKit::AcceleratedCompositingContext::enabled):
- (WebKit::AcceleratedCompositingContext::renderLayersToWindow):
- (WebKit::AcceleratedCompositingContext::attachRootGraphicsLayer):
- (WebKit::AcceleratedCompositingContext::syncLayersTimeout):
-
-2012-02-11 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Convert svg/animations to use SMIL methods for driving the timeline
- https://bugs.webkit.org/show_bug.cgi?id=78422
-
- Reviewed by Dirk Schulze.
-
- Remove SVG animation sampling functionality provided for DRT, which no longer uses it.
- Instead we switched the svg/animations tests to use SVGSVGElement.setCurrentTime.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-02-13 Mario Sanchez Prada <msanchez@igalia.com>
-
- [GTK] Add GSList to the list of GObject types in GOwnPtr
- https://bugs.webkit.org/show_bug.cgi?id=78487
-
- Reviewed by Philippe Normand.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::runOpenPanel): Use GOwnPtr<GSList> for the
- list of filenames returned by gtk_file_chooser_get_filenames().
-
-2012-02-09 Zan Dobersek <zandobersek@gmail.com>
-
- [GTK] Add DRT support for modal dialogs
- https://bugs.webkit.org/show_bug.cgi?id=53600
-
- Reviewed by Martin Robinson.
-
- Add support for running modal dialogs.
-
- A new signal is added to the WebKitWebView. When emitted, the web view
- is requesting to be displayed as a modal dialog. If accepted, the
- ChromeClient then establishes a loop that is run until the chrome is destroyed.
- If denied, nothing is done.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::ChromeClient):
- (WebKit::ChromeClient::chromeDestroyed):
- (WebKit::ChromeClient::canRunModal):
- (WebKit::ChromeClient::runModal):
- * WebCoreSupport/ChromeClientGtk.h:
- (ChromeClient):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
-
-2012-02-09 Zan Dobersek <zandobersek@gmail.com>
-
- [Gtk] security/set-form-autocomplete-attribute.html fails
- https://bugs.webkit.org/show_bug.cgi?id=78261
-
- Reviewed by Martin Robinson.
-
- Add a helper function to DumpRenderTreeSupportGtk, returning
- whether or not an element does perform autocompletion.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::elementDoesAutoCompleteForElementWithId):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- (DumpRenderTreeSupportGtk):
-
-2012-02-09 Martin Robinson <mrobinson@igalia.com>
-
- Build fix for GTK+ 2.x after my previous commit.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_expose_event): The name of the event is expose_event and not expose.
-
-2012-02-08 Dan Vrátil <dvratil@redhat.com>, Milan Crha <mcrha@redhat.com>
-
- [GTK] Embedded GtkWidgets are not drawn
- https://bugs.webkit.org/show_bug.cgi?id=63451
-
- Insert plugin widgets to WebKitWebView container as it's children.
- Chain up to parent in webkit_web_view_draw() to ensure the child widgets are drawn.
-
- Reviewed by Martin Robinson.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createPlugin):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_draw):
-
-2012-02-08 Mario Sanchez Prada <msanchez@igalia.com>
-
- [Gtk] atk_text_get_text_at_offset() fails to provide the correct line for list items whose text wraps
- https://bugs.webkit.org/show_bug.cgi?id=73431
-
- Reviewed by Chris Fleizach.
-
- Updated unit test to check text wrapping accross different lines
- inside list items with bullet markers.
-
- * tests/testatk.c:
- (testWebkitAtkGetTextAtOffsetWithSpecialCharacters): Updated test.
-
-2012-02-06 Martin Robinson <mrobinson@igalia.com> and Nayan Kumar K <nayankk@motorola.com>
-
- [GTK] Add TextureMapperGL implementation
- https://bugs.webkit.org/show_bug.cgi?id=75308
-
- Reviewed by Alejandro G. Castro.
-
- * GNUmakefile.am: Add AcceleratedCompositingContextGL to the list.
- * WebCoreSupport/AcceleratedCompositingContext.h:
- (AcceleratedCompositingContext): Added some members for AcceleratedCompositingContextGL.
- * WebCoreSupport/AcceleratedCompositingContextClutter.cpp: Added empty implementations
- for GraphicsLayerClient. This is only used for the GL variant.
- * WebCoreSupport/AcceleratedCompositingContextGL.cpp: Added.
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::performAllPendingScrolls): Update the root layer while scrolling.
- (WebKit::ChromeClient::paint): Update the root layer after painting.
- * webkit/webkitwebsettings.cpp: Added an enable-accelerated-compositing setting.
- * webkit/webkitwebsettingsprivate.h: Ditto.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_draw): Call into TextureMapper now.
- (webkit_web_view_realize): Use gdk_window_ensure_native here.
- (webkit_web_view_update_settings): Support the new enable-accelerated-compositing setting.
- (webkit_web_view_settings_notify): Ditto.
-
-2012-02-06 Gustavo Noronha Silva <gns@gnome.org>
-
- Do not try to chdir to the directory where the executable is in
- only if the path is absolute. This makes tests runnable from
- anywhere.
-
- Reviewed by Martin Robinson.
-
- * tests/test_utils.c:
- (testutils_relative_chdir):
-
-2012-02-06 Gustavo Noronha Silva <gns@gnome.org>
-
- Unreviewed fix for the new API test that is failing -
- WEBKIT_INSPECTOR_PATH needs to be set, since we do not install our
- builds.
-
- * tests/testwebinspector.c:
- (main):
-
-2012-02-05 Gustavo Noronha Silva <gns@gnome.org>
-
- [GTK] Insta-crash when closing browser with inspector window opened
- https://bugs.webkit.org/show_bug.cgi?id=50744
-
- Reviewed by Martin Robinson.
-
- * GNUmakefile.am:
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::releaseFrontendPage): also let go of the
- frontend client when releasing the frontend page;
- (WebKit::InspectorFrontendClient::~InspectorFrontendClient(): Call releaseFrontendPage()
- like other ports do instead of just disconnectFrontendClient().
- (WebKit::InspectorFrontendClient::destroyInspectorWindow): Use GRefPtr for the
- inspector ref.
- (WebKit::InspectorFrontendClient::bringToFront): Adjust for GRefPtr usage.
- (WebKit::InspectorFrontendClient::attachWindow): Ditto.
- (WebKit::InspectorFrontendClient::detachWindow): Ditto.
- (WebKit::InspectorFrontendClient::inspectedURLChanged): Ditto.
- * WebCoreSupport/InspectorClientGtk.h:
- (InspectorFrontendClient): Use GRefPtr for inspector member.
- * tests/testwebinspector.c: Added. Test that killing a WebView with the inspector
- open does not crash, and that closing and reinspecting works.
- (quitLoop):
- (consoleMessageCallback):
- (inspectElementCallback):
- (closeInspector):
- (showInspector):
- (test_webkit_web_inspector_close_and_inspect):
- (test_webkit_web_inspector_destroy_inspected_web_view):
- (main):
-
-2012-02-06 Gustavo Noronha Silva <gns@gnome.org>
-
- Add a null check for the gdkwindow, that will happen if the window
- is not mapped.
-
- Reviewed by Martin Robinson.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::setCursor):
-
-2012-02-06 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] WebKitWebView does a lot of work during size_allocate when not mapped
- https://bugs.webkit.org/show_bug.cgi?id=77743
-
- Reviewed by Gustavo Noronha Silva.
-
- Instead of resizing the guts of a WebView when it's not mapped, wait
- until it's mapped and do one resize. This prevents unmapped WebViews
- from adding to a container's resize cost.
-
- * webkit/webkitwebview.cpp:
- (resizeWebViewFromAllocation): Abstracted out this helper.
- (webkit_web_view_size_allocate): Wait until map to resize umapped widgets.
- (webkitWebViewMap): Added this vmethod implementation.
- (webkit_web_view_class_init): Added vmethod.
- * webkit/webkitwebviewprivate.h: Added new needsResizeOnMap member.
-
-2012-02-06 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Update NEWS and configure.ac for 1.7.5 release
- https://bugs.webkit.org/show_bug.cgi?id=77859
-
- Reviewed by Philippe Normand.
-
- * NEWS: Added release notes for 1.7.5.
-
-2012-02-06 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Fix several gtkdoc-fixxref warnings
- https://bugs.webkit.org/show_bug.cgi?id=77613
-
- Reviewed by Martin Robinson.
-
- * docs/webkitgtk-docs.sgml: Remove webkitspellcheckerenchant
- section.
- * docs/webkitgtk-sections.txt: Remove webkitspellcheckerenchant
- symbols and move WebKitWebNavigationReason from the private
- section to the global section.
- * webkit/webkitwebnavigationaction.h: Document
- WebKitWebNavigationReason enum.
-
-2012-02-02 Kalev Lember <kalevlember@gmail.com>
-
- [GTK] Don't use uint
- https://bugs.webkit.org/show_bug.cgi?id=77678
-
- Reviewed by Martin Robinson.
-
- With the MingGW cross compiler toolchain in Fedora, uint wasn't
- defined, so use unsigned int instead.
-
- * WebCoreSupport/ChromeClientGtk.h:
- (ChromeClient): Use unsigned int instead of uint
-
-2012-02-02 Claudio Saavedra <csaavedra@igalia.com> and Martin Robinson <mrobinson@igalia.com>
-
- [GTK] WebKitWebView won't work in a GtkOffscreenWindow
- https://bugs.webkit.org/show_bug.cgi?id=76911
-
- Reviewed by Philippe Normand.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::windowRect): Use the new widgetIsOnscreenToplevelWindow helper.
- (WebKit::ChromeClient::setWindowRect): Ditto.
- (WebKit::ChromeClient::unfocus): Ditto.
- (WebKit::ChromeClient::runOpenPanel): Ditto.
- * tests/testwebview.c: Added a test to ensure that loading a page in an offscreen window does not crash.
- * webkit/webkitglobals.cpp:
- (currentToplevelCallback):
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_print_full):
- (webkit_web_frame_print):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_focus_in_event):
- (webkit_web_view_script_dialog):
-
-2012-02-02 Mario Sanchez Prada <msanchez@igalia.com>
-
- [Gtk] atk_text_get_text_at_offset() sometimes fails to provide the correct line
- https://bugs.webkit.org/show_bug.cgi?id=72382
-
- Reviewed by Martin Robinson.
-
- New unit test to ensure the right line is retrieved for the first
- position of each line in a multiline preformatted portion of text.
-
- * tests/testatk.c:
- (testWebkitAtkGetTextAtOffsetWithPreformattedText): New unit test.
- (main): Add the new unit test.
-
-2012-02-01 Philippe Normand <pnormand@igalia.com>
-
- [GStreamer] FFTFrame implementation
- https://bugs.webkit.org/show_bug.cgi?id=73545
-
- Reviewed by Chris Rogers.
-
- * GNUmakefile.am: Remove libfftw compilation flags.
-
-2012-02-01 Philippe Normand <pnormand@igalia.com>
-
- [GTK] unittests/testloading crashes
- https://bugs.webkit.org/show_bug.cgi?id=77544
-
- Reviewed by Xan Lopez.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFailLoading): Bail out
- early from dispatchDidFailLoading if the error is the result of an
- interrupted load.
-
-2012-02-01 Philippe Normand <pnormand@igalia.com> and Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Improve FrameLoader signals. Resource loading
- https://bugs.webkit.org/show_bug.cgi?id=49543
-
- New signals:
- WebKitWebFrame::resource-request-starting
- WebKitWebFrame::resource-response-received
- WebKitWebFrame::resource-load-finished
- WebKitWebFrame::resource-content-length-received
- WebKitWebFrame::resource-load-failed
- WebKitWebResource::response-received
- WebKitWebResource::load-failed
- WebKitWebResource::load-finished
- WebKitWebResource::content-length-received
- WebKitWebView::resource-response-received
- WebKitWebView::resource-load-finished
- WebKitWebView::resource-content-length-received
- WebKitWebView::resource-load-failed
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchWillSendRequest):
- (WebKit::FrameLoaderClient::dispatchDidReceiveResponse):
- (WebKit::FrameLoaderClient::dispatchDidReceiveContentLength):
- (WebKit::FrameLoaderClient::dispatchDidFinishLoading):
- (WebKit::FrameLoaderClient::dispatchDidFailLoading):
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_class_init):
- * webkit/webkitwebresource.cpp:
- (webkit_web_resource_class_init):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
- * webkitmarshal.list:
-
-2012-01-23 Mario Sanchez Prada <msanchez@igalia.com>
-
- [GTK] Refactor GTK's accessibilitity code to be more modular
- https://bugs.webkit.org/show_bug.cgi?id=76783
-
- Reviewed by Martin Robinson.
-
- Update callers to WebKitAccessible's public functions.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::getFocusedAccessibleElement):
- (modifyAccessibilityValue):
- (DumpRenderTreeSupportGtk::accessibilityHelpText):
-
-2012-01-22 Mario Sanchez Prada <msanchez@igalia.com>
-
- [GTK] Refactor GTK's accessibilitity code to be more modular
- https://bugs.webkit.org/show_bug.cgi?id=76783
-
- Reviewed by Martin Robinson.
-
- Update the include for the AccessibilityObject wrapper header.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: Update include.
- * webkit/webkitwebframe.cpp: Ditto.
-
-2012-01-22 Mario Sanchez Prada <msanchez@igalia.com>
-
- [GTK] ATK text-caret-moved and text-selection-changed events not being emitted
- https://bugs.webkit.org/show_bug.cgi?id=76069
-
- Reviewed by Martin Robinson.
-
- Update caret browsing related unit tests to check emissions of
- 'text-caret-moved' and 'text-selection-changed' signals.
-
- * tests/testatk.c:
- (textCaretMovedCallback): New callback for 'text-caret-moved'.
- (testWebkitAtkCaretOffsets): Check emissions of 'text-caret-moved'.
- (textSelectionChangedCallback): New callback for 'text-selection-changed'.
- (testWebkitAtkTextSelections): Check emissions of 'text-selection-changed'.
-
-2012-01-18 Evan Nemerson <evan@coeus-group.com>
-
- [GTK] WebKit-3.0.gir does not include information about C includes or exported packages
- https://bugs.webkit.org/show_bug.cgi?id=49875
-
- Reviewed by Martin Robinson.
-
- * GNUmakefile.am: Add some information to the GIR generator to fix
- Vala binding generation.
-
-2012-01-18 Carlos Garnacho <carlosg@gnome.org>
-
- [GTK] Listen to GDK_SCROLL_MASK
- https://bugs.webkit.org/show_bug.cgi?id=76529
-
- Set GDK_SCROLL_MASK explicitly, as WebKitWebView does handle
- scroll events, scrolling currently works because GTK+ happens
- to send such events to widgets listening to GDK_BUTTON_PRESS_MASK,
- but this isn't the intended behavior, so it's subject to change.
-
- Reviewed by Martin Robinson.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_realize):
-
-2012-01-17 Martin Robinson <mrobinson@igalia.com>
-
- [Gtk] Input text field not repainted when value is changed
- https://bugs.webkit.org/show_bug.cgi?id=76279
-
- Reviewed by Gustavo Noronha Silva.
-
- Force pending relayouts before freezing the dirty region in a temporary.
- This prevents the following code from throwing the dirty updates away
- after the original paint is finished.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::paintWebView): Remove the relayout.
- (WebKit::ChromeClient::paint): Move the relayout here, before the
- dirty region is frozen.
-
-2012-01-16 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Update NEWS and configure.ac for 1.7.4 release
- https://bugs.webkit.org/show_bug.cgi?id=76375
-
- Reviewed by Philippe Normand.
-
- * NEWS: Added release notes for 1.7.4.
-
-2012-01-13 Mario Sanchez Prada <msanchez@igalia.com>
-
- Unreviewed, rolling out r104905.
- http://trac.webkit.org/changeset/104905
- https://bugs.webkit.org/show_bug.cgi?id=76267
-
- This patch broke tests in the GTK 64bit Debug bot (Requested
- by msanchez on #webkit).
-
- * tests/testatk.c:
- (testWebkitAtkCaretOffsets):
- (testWebkitAtkTextSelections):
-
-2012-01-13 Mario Sanchez Prada <msanchez@igalia.com>
-
- [GTK] ATK text-caret-moved and text-selection-changed events not being emitted
- https://bugs.webkit.org/show_bug.cgi?id=76069
-
- Reviewed by Martin Robinson.
-
- Update caret browsing related unit tests to check emissions of
- 'text-caret-moved' and 'text-selection-changed' signals.
-
- * tests/testatk.c:
- (textCaretMovedCallback): New callback for 'text-caret-moved'.
- (testWebkitAtkCaretOffsets): Check emissions of 'text-caret-moved'.
- (textSelectionChangedCallback): New callback for 'text-selection-changed'.
- (testWebkitAtkTextSelections): Check emissions of 'text-selection-changed'.
-
-2012-01-12 Mario Sanchez Prada <msanchez@igalia.com>
-
- [Gtk] Removed duplicated unit test.
-
- The unit test testWebkitAtkGetTextAtOffsetForms is exactly the
- same test case than testWebkitAtkGetTextAtOffset, so it makes no
- sense to have it duplicated.
-
- Rubber-stamped by Martin Robinson.
-
- * tests/testatk.c:
- (main): Removed testWebkitAtkGetTextAtOffsetForms.
-
-2012-01-10 Mario Sanchez Prada <msanchez@igalia.com>
-
- AX: support helpText() in DumpRenderTree
- https://bugs.webkit.org/show_bug.cgi?id=40193
-
- Reviewed by Chris Fleizach.
-
- Add support for retrieving WebCore's AccessibilityObject's
- helpText from the GTK DumpRenderTree.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::accessibilityHelpText): Returns result
- of calling to helpText() over the core accessibility object's.
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2012-01-09 Mario Sanchez Prada <msanchez@igalia.com>
-
- [Gtk] Regression: text-inserted events lack text inserted and current line
- https://bugs.webkit.org/show_bug.cgi?id=72830
-
- Reviewed by Martin Robinson.
-
- Updated unit tests to check that both getting the current position
- for the caret and the exposed text at, before or after a given
- offset for an accessible object works as expected.
-
- * tests/testatk.c:
- (runGetTextTests): For objects implementing AtkEditableText, try
- to change the exposed text and retrieve it again as a full line.
- (testWebkitAtkCaretOffsets): For a text control (a text entry),
- set the caret offset to a value greater than 1 and retrieve it.
-
-2012-01-05 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] [AC] Introduce AcceleratedCompositingContext to isolate different accelerated compositing implementations
- https://bugs.webkit.org/show_bug.cgi?id=75519
-
- Reviewed by Alejandro G. Castro.
-
- Add an AcceleratedCompositingContext which will isolate all the different accelerated compositing
- implementations from one another. For right now this just includes the Clutter version.
-
- * GNUmakefile.am: Add the new files to the source list.
- * WebCoreSupport/AcceleratedCompositingContext.h: Added.
- * WebCoreSupport/AcceleratedCompositingContextClutter.cpp: Added. Existing
- clutter AC code has moved here.
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::attachRootGraphicsLayer): Use the new AccleratedCompositingContext now
- instead of calling into the WebView.
- (WebKit::ChromeClient::setNeedsOneShotDrawingSynchronization):Ditto.
- (WebKit::ChromeClient::scheduleCompositingLayerSync): Ditto.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_size_allocate): Call in the ACContext.
- (webkit_web_view_init): Initialize the ACContext.
- * webkit/webkitwebviewprivate.h: Add the ACContext as a private member.
-
-2012-01-03 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Use gdk_screen_get_monitor_workarea() when available for screenAvailableRect()
- https://bugs.webkit.org/show_bug.cgi?id=75435
-
- Reviewed by Martin Robinson.
-
- * GNUmakefile.am: Make sure unit tests link to X11.
-
-2011-12-20 Yuta Kitamura <yutak@chromium.org>
-
- [GTK] Change default WebSocket protocol to the latest one
- https://bugs.webkit.org/show_bug.cgi?id=74064
-
- Reviewed by Martin Robinson.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
- Use hybi WebSocket protocol by default.
-
-2011-12-19 Sam Weinig <sam@webkit.org>
-
- More PlatformEvent cleanup
- https://bugs.webkit.org/show_bug.cgi?id=74831
-
- Reviewed by Dan Bernstein.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_forward_context_menu_event):
- (webkit_web_view_get_hit_test_result):
- Update to use new names, access style.
-
-2011-12-16 Ryosuke Niwa <rniwa@webkit.org>
-
- Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
- https://bugs.webkit.org/show_bug.cgi?id=74748
-
- Reviewed by Eric Seidel.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::registerUndoStep):
- (WebKit::EditorClient::registerRedoStep):
- * WebCoreSupport/EditorClientGtk.h:
-
-2011-12-16 Sam Weinig <sam@webkit.org>
-
- Give PlatformEvents a base class
- https://bugs.webkit.org/show_bug.cgi?id=74685
-
- Reviewed by Anders Carlsson.
-
- Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent
- and PlatformGestureEvent and move Type enumeration and modifiers down to it.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleKeyboardEvent):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_popup_menu_handler):
-
-2011-12-16 Ryosuke Niwa <rniwa@webkit.org>
-
- Only EditCommandComposition should implement unapply and reapply
- https://bugs.webkit.org/show_bug.cgi?id=74490
-
- Reviewed by Eric Seidel.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::registerCommandForUndo):
- (WebKit::EditorClient::registerCommandForRedo):
- (WebKit::EditorClient::undo):
- (WebKit::EditorClient::redo):
- * WebCoreSupport/EditorClientGtk.h:
-
-2011-12-16 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Update NEWS and configure.ac for 1.7.3 release
- https://bugs.webkit.org/show_bug.cgi?id=74699
-
- Reviewed by Philippe Normand.
-
- * NEWS: Added release notes for 1.7.3.
-
-2011-12-14 Jing Zhao <jingzhao@chromium.org>
-
- Opening two popup menus by dispatchEvent() makes problems.
- https://bugs.webkit.org/show_bug.cgi?id=73304
-
- Reviewed by Kent Tamura.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::hasOpenedPopup): Not implemented.
- * WebCoreSupport/ChromeClientGtk.h: Overrides hasOpenedPopup().
-
-2011-12-12 Ryosuke Niwa <rniwa@webkit.org>
-
- WebKit code shouldn't be calling applyCommand directly
- https://bugs.webkit.org/show_bug.cgi?id=74337
-
- Reviewed by Darin Adler.
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_replace_selection):
-
-2011-12-12 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] gtk_widget_size_allocate for plugin widgets should happen in the WebView size-allocate method
- https://bugs.webkit.org/show_bug.cgi?id=72805
-
- Reviewed by Gustavo Noronha Silva.
-
- Instead of immediately calling gtk_widget_size during painting, defer
- this until the size-allocate method of the WebView.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::paint): If any child widgets have a pending allocation
- call gtk_widget_size_allocate.
- * webkit/webkitwebview.cpp:
- (updateChildAllocationFromPendingAllocation): Added this helper.
- (webkit_web_view_size_allocate): Call the helper on all child widgets.
-
-2011-12-09 Joone Hur <joone.hur@collabora.co.uk>
-
- [GTK] Initial implementation of Accelerated Compositing using Clutter
- https://bugs.webkit.org/show_bug.cgi?id=73319
-
- This patch allows to add a GtkClutterEmbed to embed Clutter Actors in WebKitWebView and
- set the root GraphicsLayer to WebKitWebView when Accelerated Compositing needs to be enabled.
-
- Reviewed by Gustavo Noronha Silva.
-
- * GNUmakefile.am:
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::attachRootGraphicsLayer): Set the root GraphicsLayer to WebKitWebView.
- (WebKit::ChromeClient::allowedCompositingTriggers): Allow to support CSS 3D Transforms only.
- * webkit/webkitglobals.cpp:
- (webkitInit): Call gtk_clutter_init().
- * webkit/webkitwebview.cpp:
- (webkit_web_view_size_allocate): Set the size of GtkClutterEmbed when the view is changed.
- (webkit_web_view_init)
- (webViewSetRootGraphicsLayer): Add the GtkClutterEmbed to the WebKitWebView as a child.
- (webViewDetachRootGraphicsLayer): Remove the GtkClutterEmbed from the WebKitWebView.
- (webViewSyncLayers): Commit layer changes.
- (webViewMarkForSync): Set to call webViewSyncLayers using g_timeout_add.
- * webkit/webkitwebviewprivate.h:
-
-2011-12-07 Mary Wu <mary.wu@torchmobile.com.cn>
-
- Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline
- https://bugs.webkit.org/show_bug.cgi?id=73986
-
- Reviewed by Kenneth Rohde Christiansen.
-
- * webkit/webkitglobals.cpp:
- (webkitInit):
-
-2011-12-05 Mario Sanchez Prada <msanchez@igalia.com>
-
- [GTK] Move emissions of AtkDocument signals down to WebCore
- https://bugs.webkit.org/show_bug.cgi?id=73750
-
- Reviewed by Chris Fleizach.
-
- Removed code for emission of AtkDocument signals.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::notifyStatus): Removed no longer used code.
-
-2011-12-04 Mario Sanchez Prada <msanchez@igalia.com>
-
- [Gtk] Check for the load-complete event only in the unit tests.
-
- There is currently a known issue happening in debug builds when
- reloading the webview if it was loaded before through the function
- webkit_web_view_load_string, resulting in a ASSERT failing (see
- bug 50331) so we can't check for the reload event here, since it
- makes the test to fail. Fortunately, checking for load-complete
- event is a good enough test, so this small patch is about that.
-
- Rubber-stamped by Philippe Normand.
-
- * tests/testatk.c:
- (testWebkitAtkDocumentLoadingEvents): Don't load and then reload
- to check events, just load once and check whether the
- 'load-complete' event has happened.
-
-2011-12-03 Mario Sanchez Prada <msanchez@igalia.com>
-
- Removing document related events from DRT
-
- [GTK] Don't log document events in DRT
- https://bugs.webkit.org/show_bug.cgi?id=73746
-
- Reviewed by Martin Robinson.
-
- New unit test to check events when reloading a document. This
- replaces the former document-reload-events.html layout test.
-
- * tests/testatk.c:
- (updateLoadingEventsResult): New, updates a global variable to
- allow checking later on that the right signals were emmitted.
- (documentLoadingEventCallback): New, global listener for load-complete
- and reload signals over the document object (the web area).
- (testWebkitAtkDocumentLoadingEvents): New unit test, globally
- connects to document-related signals and check they are properly
- emitted when reloading the web view.
- (main): Added new test.
-
-2011-12-03 Xan Lopez <xlopez@igalia.com>
-
- [GTK] Implement History API FrameLoaderClient methods
- https://bugs.webkit.org/show_bug.cgi?id=59017
-
- Reviewed by Gustavo Noronha Silva.
-
- Fake the load process when the new HTML5 History APIs are
- used. Otherwise the UA does not have a chance of updating the URL
- entry, back/forward buttons, etc.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidNavigateWithinPage): fake a
- load process.
- (WebKit::FrameLoaderClient::dispatchDidPushStateWithinPage): call
- dispatchDidNavigateWithinPage.
- (WebKit::FrameLoaderClient::dispatchDidReplaceStateWithinPage):
- ditto.
- (WebKit::FrameLoaderClient::dispatchDidPopStateWithinPage): do
- nothing, because push was already called, but note this in a
- comment.
- * WebCoreSupport/FrameLoaderClientGtk.h: add the new method.
-
-2011-12-02 Philippe Normand <pnormand@igalia.com>
-
- [GStreamer] Fullscreen controller support for the new WebKit Fullscreen API
- https://bugs.webkit.org/show_bug.cgi?id=66968
-
- Reviewed by Martin Robinson.
-
- If the element being fullscreened is a video use the native
- fullscreen controls.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::enterFullScreenForElement):
- (WebKit::ChromeClient::exitFullScreenForElement):
-
-2011-12-01 Philippe Normand <pnormand@igalia.com>
-
- [GTK] scrollbars interfering with fullscreen (in-window) video rendering
- https://bugs.webkit.org/show_bug.cgi?id=73577
-
- Reviewed by Martin Robinson.
-
- Disable scrollbars when switching to fullscreen.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::contentsSizeChanged): Ignore size changes
- when an element is being displayed fullscreen.
- (WebKit::ChromeClient::enterFullScreenForElement): Disable
- scrollbars when entering fullscreen.
- * WebCoreSupport/GtkAdjustmentWatcher.cpp: Added 2 methods to
- enable/disable scrollbars and one method to know whether they are
- enabled or not.
- (WebKit::GtkAdjustmentWatcher::GtkAdjustmentWatcher):
- (WebKit::updateAdjustmentFromScrollbar):
- (WebKit::GtkAdjustmentWatcher::updateAdjustmentsFromScrollbars):
- (WebKit::GtkAdjustmentWatcher::updateAdjustmentsFromScrollbarsLater):
- (WebKit::GtkAdjustmentWatcher::disableAllScrollbars):
- (WebKit::GtkAdjustmentWatcher::enableAllScrollbars):
- * WebCoreSupport/GtkAdjustmentWatcher.h:
- (WebKit::GtkAdjustmentWatcher::scrollbarsDisabled):
-
-2011-11-21 Philippe Normand <pnormand@igalia.com>
-
- [GTK] enable-webaudio websetting
- https://bugs.webkit.org/show_bug.cgi?id=69836
-
- Reviewed by Martin Robinson.
-
- * webkit/webkitwebsettings.cpp: New enable-webaudio boolean
- setting, set to FALSE by default.
- (webkit_web_settings_class_init):
- (webkit_web_settings_set_property):
- (webkit_web_settings_get_property):
- * webkit/webkitwebsettingsprivate.h: Ditto.
- * webkit/webkitwebview.cpp: Update WebCore settings when
- enable-webaudio value changes.
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
-
-2011-11-30 Alexey Proskuryakov <ap@apple.com>
-
- Remove an unneeded argument from FrameLoaderClient::download
- https://bugs.webkit.org/show_bug.cgi?id=73486
-
- Reviewed by Andreas Kling.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::download):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- Updated for the change.
-
-2011-11-30 Alejandro G. Castro <alex@igalia.com>
-
- [GTK] Add TextureMapperCairo boilerplate implementation
- https://bugs.webkit.org/show_bug.cgi?id=73440
-
- Add texture mapper glue to the widget and chrome client.
-
- Reviewed by Martin Robinson.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::attachRootGraphicsLayer):
- (WebKit::ChromeClient::setNeedsOneShotDrawingSynchronization):
- (WebKit::ChromeClient::scheduleCompositingLayerSync):
- (WebKit::ChromeClient::allowedCompositingTriggers):
- * webkit/webkitwebview.cpp:
- (webViewSetRootGraphicsLayer):
- (webViewMarkForSync):
- * webkit/webkitwebviewprivate.h:
-
-2011-11-30 Philippe Normand <pnormand@igalia.com>
-
- [GTK] HTML5 Youtube video fullscreen button doesn't work
- https://bugs.webkit.org/show_bug.cgi?id=73456
-
- Reviewed by Martin Robinson.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::supportsFullScreenForElement): Ignore
- withKeyboard argument value, like Chrome's implementation.
-
-2011-11-29 Sergio Villar Senin <svillar@igalia.com>
-
- [GTK] SIGSEV when a WebKitDownload fails
- https://bugs.webkit.org/show_bug.cgi?id=72883
-
- Reviewed by Xan Lopez.
-
- After r100769 http status codes >= 400 trigger download
- failures. We must ensure that the download is properly cancelled
- before clearing the ResourceHandle client to avoid crashes.
-
- * webkit/webkitdownload.cpp:
- (DownloadClient::didReceiveResponse):
-
-2011-11-29 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] Custom fonts on surlybikes.com and boingboing.net do not load
- https://bugs.webkit.org/show_bug.cgi?id=69115
-
- Reviewed by Gustavo Noronha Silva.
-
- Instead of pretending to be Safari/Linux, pretend to be a Linux Chrome.
- This fixes pages that assume that if a browser is Safari, but not OS X, it is
- the iOS version of Safari.
-
- * tests/testwebsettings.c:
- (test_webkit_web_settings_user_agent): Update the test to reflect that the
- user agent does not change.
- * webkit/webkitwebsettings.cpp:
- (chromeUserAgent): Renamed this from webkitUserAgent to more accurately
- describe what it is.
- (webkit_web_settings_class_init): Just use an empty string when initializing
- the user agent to reduce code duplication.
- (webkit_web_settings_set_property): Updated to reflect new method name.
- (userAgentForURL): We don't need to special case Google Calendar any longer.
-
-2011-11-29 Mario Sanchez Prada <msanchez@igalia.com>
-
- [Gtk] Regression: text-inserted events lack text inserted and current line
- https://bugs.webkit.org/show_bug.cgi?id=72830
-
- Reviewed by Chris Fleizach.
-
- Updated unit test to handle the new 'text-insert' and
- 'text-remove' signals, instead of the 'text-changed' one.
-
- * tests/testatk.c:
- (textChangedCb): Update a global variable with the result of the
- text change, so we can check its value later.
- (testWebkitAtkTextChangedNotifications): Connect to the
- 'text-insert' and 'text-remove' signals and check, in a way more
- carefully way than it was done before, that the signals are being
- properly emitted, and that the information attached to them is the
- right one for each case (insert/remove, offset, count and text).
-
-2011-11-28 Stefan Zwanenburg <stefanhetzwaantje@gmail.com>
-
- WebKitGTK+-1.7.2 build error due to a reference to gdk_disable_multidevice()
- https://bugs.webkit.org/show_bug.cgi?id=73206
-
- Reviewed by Martin Robinson.
-
- * tests/testatk.c:
- (initializeTestingFramework): Don't use gdk_disable_multidevice()
- when using GTK2.
-
-2011-11-26 Pavel Feldman <pfeldman@google.com>
-
- Web Inspector: remove disconnectFromBackend from the protocol.
- https://bugs.webkit.org/show_bug.cgi?id=73127
-
- Reviewed by Yury Semikhatsky.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::inspectorDestroyed):
- (WebKit::InspectorClient::closeInspectorFrontend):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2011-11-26 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r101193.
- http://trac.webkit.org/changeset/101193
- https://bugs.webkit.org/show_bug.cgi?id=73158
-
- Breaks Windows and Qt minimal. (Requested by pfeldman on
- #webkit).
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::inspectorDestroyed):
- (WebKit::InspectorFrontendClient::disconnectFromBackend):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2011-11-26 Pavel Feldman <pfeldman@google.com>
-
- Web Inspector: remove disconnectFromBackend from the protocol.
- https://bugs.webkit.org/show_bug.cgi?id=73127
-
- Reviewed by Yury Semikhatsky.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::inspectorDestroyed):
- (WebKit::InspectorClient::closeInspectorFrontend):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2011-11-17 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] Integrate build-gtkdoc into build-webkit and make
- https://bugs.webkit.org/show_bug.cgi?id=72626
-
- Reviewed by Philippe Normand.
-
- * docs/GNUmakefile.am: Removed.
- * docs/version.xml.in: Removed.
-
-2011-11-23 Kaustubh Atrawalkar <kaustubh@motorola.com>
-
- Documentation fix for load-committed in webkitwebframe
- https://bugs.webkit.org/show_bug.cgi?id=72927
-
- Reviewed by Martin Robinson.
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_class_init):
-
-2011-11-22 Pavel Feldman <pfeldman@google.com>
-
- Web Inspector: remove Inspector::bringToFront from the protocol.
- https://bugs.webkit.org/show_bug.cgi?id=72937
-
- Reviewed by Yury Semikhatsky.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::bringFrontendToFront):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2011-11-22 Pavel Feldman <pfeldman@google.com>
-
- Web Inspector: strip unused InspectorController methods.
- https://bugs.webkit.org/show_bug.cgi?id=72886
-
- Reviewed by Yury Semikhatsky.
-
- * webkit/webkitwebinspector.cpp:
- (webkit_web_inspector_set_property):
- (webkit_web_inspector_get_property):
-
-2011-11-21 Yuta Kitamura <yutak@chromium.org>
-
- [GTK] Enable WebSocket hybi tests
- https://bugs.webkit.org/show_bug.cgi?id=72870
-
- Reviewed by Xan Lopez.
-
- Change the settings value through DumpRenderTreeSupportGtk, because we do not
- want to expose this as a public API.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setHixie76WebSocketProtocolEnabled):
- Change the value of a flag in WebCore::Settings.
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-11-21 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Update NEWS and configure.ac for 1.7.2 release
- https://bugs.webkit.org/show_bug.cgi?id=72868
-
- Reviewed by Xan Lopez.
-
- * NEWS: Added release notes for 1.7.2.
-
-2011-10-17 Antonio Gomes <agomes@rim.com>
-
- Pass a Frame* parameter in EditorClient::respondToChangedSelection
- https://bugs.webkit.org/show_bug.cgi?id=70248
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/EditorClientGtk.cpp: Make use of the newly added Frame* parameter.
- (WebKit::EditorClient::respondToChangedSelection):
- * WebCoreSupport/EditorClientGtk.h:
-
-2011-11-18 Martin Robinson <mrobinson@igalia.com>
-
- REGRESSION (r99924): broke 2 pasteboard tests on GTK
- https://bugs.webkit.org/show_bug.cgi?id=72131
-
- Reviewed by Tony Chang.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::setSelectionPrimaryClipboardIfNeeded): Use the new clearAll method.
-
-2011-11-18 Mario Sanchez Prada <msanchez@igalia.com>
-
- [GTK] Accessibility API tests not loading Gtk's accessibility implementation
- https://bugs.webkit.org/show_bug.cgi?id=72732
-
- Reviewed by Philippe Normand.
-
- Ensure that the GAIL module is being loaded by avoiding using
- gtk_test_init() directly, but a modified version of it.
-
- * tests/testatk.c:
- (testWebkitAtkParentForRootObject): Use a normal GtkWidget (a
- GtkWindow) as the parent container for the webView, instead of
- using a dummy webView for that, which was hackish.
- (testWebkitAtkSetParentForObject): Use normal GtkWidgets instead
- of dummy webViews (a GtkWindow and a GtkButton).
- (initializeTestingFramework): New function, identical to
- gtk_test_init(), but loading GAIL as the only GTK module.
- (main): Use initializeTestingFramework().
-
-2011-11-18 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Downloads not started by WebView only fail for transport errors
- https://bugs.webkit.org/show_bug.cgi?id=72718
-
- Reviewed by Martin Robinson.
-
- Abort the download with an error if the response contains an
- error code. It adds a new test case to the download unit tests.
-
- * tests/testdownload.c:
- (notifyDownloadStatusCallback):
- (serverCallback):
- (test_webkit_download_not_found):
- (main):
- * webkit/webkitdownload.cpp:
- (DownloadClient::didReceiveResponse): Check whether http status of
- the response is an error code and emit error signal in such case.
-
-2011-11-18 Mario Sanchez Prada <msanchez@igalia.com>
-
- [GTK] Accessibility API tests failing because of using non-WebKit GtkWidgets
- https://bugs.webkit.org/show_bug.cgi?id=72708
-
- Reviewed by Xan Lopez.
-
- Do not use non-WebKit GtkWidget's in unit tests, to avoid problems
- when GTK's accessibility implementation is not being loaded.
-
- * tests/testatk.c:
- (testWebkitAtkParentForRootObject): Use a dummy WebKitWebView
- widget as the parent container needed for this unit test.
- (testWebkitAtkSetParentForObject): Ditto.
-
-2011-11-17 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] Remove the last remaining WebKit1 gtkdoc warnings
- https://bugs.webkit.org/show_bug.cgi?id=72627
-
- Reviewed by Philippe Normand.
-
- * webkit/webkitdownload.h: Add missing enum documentation.
- * webkit/webkiterror.h: Ditto.
- * webkit/webkitwebview.h: Ditto.
-
-2011-11-17 Mario Sanchez Prada <msanchez@igalia.com>
-
- [Gtk] Ensure the parent for the webView's a11y object is set.
-
- This should fix some accessibility related GTK API tests.
-
- Rubber-stamped by Philippe Normand.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_accessible): Always set the parent to make
- navigation across GTK and WebKit worlds work properly.
-
-2011-11-17 Mario Sanchez Prada <msanchez@igalia.com>
-
- [GTK] Consider parent AtkObject in webkit_accessible_get_parent(), if already set
- https://bugs.webkit.org/show_bug.cgi?id=72525
-
- Reviewed by Xan Lopez.
-
- * tests/testatk.c:
- (testWebkitAtkSetParentForObject): New unit test to check that
- calls to atk_object_get_parent() over a WebKitGTK's accessibility
- wrapper object returns its parent AtkObject if previously set.
- (main): Added new test.
-
-2011-11-17 Mario Sanchez Prada <msanchez@igalia.com>
-
- [GTK] ATK API tests failing because of patch for bug 72390
- https://bugs.webkit.org/show_bug.cgi?id=72592
-
- Reviewed by Philippe Normand.
-
- * tests/testatk.c:
- (testWebkitAtkParentForRootObject): Remove the offending line in
- the unit test, which is not actually required to test the new
- functionality and causes problems in some scenarios, due to the
- lazy creation mechanism of AtkObjects.
-
- * tests/testatkroles.c:
- (finish_loading): Reflect that the document frame object is no
- longer the root accessibility object (a scroll pane from now on),
- but the only child of that one. Thus, skip that root object.
-
-2011-11-16 Mario Sanchez Prada <msanchez@igalia.com>
-
- [GTK] Do not hide accessibility root object from AT's
- https://bugs.webkit.org/show_bug.cgi?id=72390
-
- Reviewed by Martin Robinson.
-
- * tests/testatk.c:
- (getWebAreaObject): New helper function, to bypass the new root
- object in the accessibility hierarchy, since it's not usually
- needed for the unit tests.
- (testWebkitAtkCaretOffsets): Use getWebAreaObject().
- (testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces): Ditto.
- (testWebkitAtkComboBox): Ditto.
- (testWebkitAtkEmbeddedObjects): Ditto.
- (testWebkitAtkGetTextAtOffsetForms): Ditto.
- (testWebkitAtkGetTextAtOffset): Ditto.
- (testWebkitAtkGetTextAtOffsetNewlines): Ditto.
- (testWebkitAtkGetTextAtOffsetTextarea): Ditto.
- (testWebkitAtkGetTextAtOffsetTextInput): Ditto.
- (testWebkitAtkGetTextAtOffsetWithSpecialCharacters): Ditto.
- (testWebkitAtkGetTextInParagraphAndBodySimple): Ditto.
- (testWebkitAtkGetTextInParagraphAndBodyModerate): Ditto.
- (testWebkitAtkGetTextInTable): Ditto.
- (testWebkitAtkGetHeadersInTable): Ditto.
- (testWebkitAtkTextAttributes): Ditto.
- (testWebkitAtkTextSelections): Ditto.
- (testWebkitAtkGetExtents): Ditto.
- (testWebkitAtkLayoutAndDataTables): Ditto.
- (testWebkitAtkLinksWithInlineImages): Ditto.
- (testWebkitAtkHypertextAndHyperlinks): Ditto.
- (testWebkitAtkListsOfItems): Ditto.
- (testWebkitAtkTextChangedNotifications): Ditto.
- (testWebkitAtkParentForRootObject): New test, to make sure that
- both top-down and bottom-up navigation among GTK and WebKit worlds
- matches accordingly.
- (main): Added new test.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_accessible): Remove the hack introduced
- because of bug 51932, to bypass the root object here.
-
-2011-11-15 Anders Carlsson <andersca@apple.com>
-
- HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen
- https://bugs.webkit.org/show_bug.cgi?id=72397
-
- Reviewed by Dan Bernstein.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::rootViewToScreen):
- (WebKit::ChromeClient::screenToRootView):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2011-11-14 Anders Carlsson <andersca@apple.com>
-
- HostWindow invalidation functions should use root view coordinates
- https://bugs.webkit.org/show_bug.cgi?id=72338
-
- Reviewed by Dan Bernstein.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::invalidateRootView):
- (WebKit::ChromeClient::invalidateContentsAndRootView):
- (WebKit::ChromeClient::invalidateContentsForSlowScroll):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2011-11-15 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Implement download support in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=72258
-
- Reviewed by Martin Robinson.
-
- Use errors from WebCore to emit the error signals.
-
- * webkit/webkitdownload.cpp:
- (webkitDownloadEmitError): Helper function that emits the error
- signal for the given ResourceError.
- (webkit_download_open_stream_for_uri): Use webkitDownloadEmitError().
- (webkit_download_cancel): Ditto.
- (webkit_download_set_destination_uri): Ditto.
- (webkit_download_received_data): Ditto.
- (webkit_download_error): Ditto.
-
-2011-11-14 Ryuan Choi <ryuan.choi@samsung.com>
-
- [GTK] Possible crash when destroying after called widgetSizeChanged.
- https://bugs.webkit.org/show_bug.cgi?id=72237
-
- Reviewed by Martin Robinson.
-
- Crash can occur when ChromeclientGtk is removed before calling repaintEverythingSoonTimeout
- registered by widgetSizeChanged.
- This patch remove the m_repaintSoonSourceId glib source before destruction
- of the ChromeClientGtk to prevent the above crash.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::chromeDestroyed):
-
-2011-11-09 Philippe Normand <pnormand@igalia.com>
-
- [GTK][DRT] window internals object is not reset after each test
- https://bugs.webkit.org/show_bug.cgi?id=71890
-
- Reviewed by Martin Robinson.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: Remove problematic
- calls to WebCoreSupport which belongs to libWebCoreInternals, not libwebkitgtk.
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-11-09 Philippe Normand <pnormand@igalia.com>
-
- [GTK][DRT] window internals object is not reset after each test
- https://bugs.webkit.org/show_bug.cgi?id=71890
-
- Reviewed by Xan Lopez.
-
- DRTSupport infrastructure to reset the Internals object, like in Qt.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::resetInternalsObject):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-11-07 Adam Barth <abarth@webkit.org>
-
- Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
- https://bugs.webkit.org/show_bug.cgi?id=71755
-
- Reviewed by Eric Seidel.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::whiteListAccessFromOrigin):
- (DumpRenderTreeSupportGtk::resetOriginAccessWhiteLists):
-
-2011-11-08 Zan Dobersek <zandobersek@gmail.com>
-
- [WK][GTK] Application cache directory is incorrectly set
- https://bugs.webkit.org/show_bug.cgi?id=71769
-
- Reviewed by Martin Robinson.
-
- Set the application cache directory to be placed in current user's
- cache directory and update documentation for
- webkit_application_cache_get_database_directory_path after these
- changes and changes in r80715;
-
- * webkit/webkitapplicationcache.cpp:
- * webkit/webkitglobals.cpp:
- (webkitInit): Switch one string formation to use GOwnPtr<gchar>.
-
-2011-11-03 Darin Adler <darin@apple.com>
-
- Change remaining callers of releaseRef to call leakRef
- https://bugs.webkit.org/show_bug.cgi?id=71422
-
- Reviewed by Darin Fisher.
-
- * webkit/webkitwebdatasource.cpp:
- (WebKit::kitNew):
- * webkit/webkitwebhistoryitem.cpp:
- (webkit_web_history_item_new):
- (webkit_web_history_item_new_with_data):
- (webkit_web_history_item_copy):
- (WebKit::kit):
- * webkit/webkitwebresource.cpp:
- (webkit_web_resource_new_with_core_resource):
- (webkit_web_resource_init_with_core_resource):
- Use leakRef.
-
-2011-11-02 Darin Adler <darin@apple.com>
-
- Change remaining callers of releaseRef to call leakRef
- https://bugs.webkit.org/show_bug.cgi?id=71422
-
- Reviewed by Darin Fisher.
-
- * webkit/webkitwebdatasource.cpp:
- (WebKit::kitNew):
- * webkit/webkitwebhistoryitem.cpp:
- (webkit_web_history_item_new):
- (webkit_web_history_item_new_with_data):
- (webkit_web_history_item_copy):
- (WebKit::kit):
- * webkit/webkitwebresource.cpp:
- (webkit_web_resource_new_with_core_resource):
- (webkit_web_resource_init_with_core_resource):
- Use leakRef.
-
-2011-11-03 Fady Samuel <fsamuel@chromium.org>
-
- Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
- https://bugs.webkit.org/show_bug.cgi?id=70609
-
- Reviewed by Kenneth Rohde Christiansen.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::dumpConfigurationForViewport):
- * webkit/webkitviewportattributes.cpp:
- (webkitViewportAttributesRecompute):
-
-2011-11-02 Jon Lee <jonlee@apple.com>
-
- Expand DragController to provide more information about the dragging session
- https://bugs.webkit.org/show_bug.cgi?id=71324
- <rdar://problem/10379175>
-
- Reviewed by Darin Adler.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_drag_motion): Minor refactoring.
- (webkit_web_view_drag_data_received): Minor refactoring.
-
-2011-11-02 Tom Sepez <tsepez@chromium.org>
-
- XSSAuditor is silent
- https://bugs.webkit.org/show_bug.cgi?id=70973
-
- Reviewed by Adam Barth.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::didDetectXSS):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2011-11-02 Zan Dobersek <zandobersek@gmail.com>
-
- [GTK] Visited links of a page group should be removed when clearing back/forward list
- https://bugs.webkit.org/show_bug.cgi?id=71052
-
- Reviewed by Martin Robinson.
-
- When clearing back-forward list, also remove the visited links from page's page group.
-
- * webkit/webkitwebbackforwardlist.cpp:
- (webkit_web_back_forward_list_clear):
-
-2011-10-31 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Install html and tmpl dirs in a $(DOC_MODULE) dir in tarball
- https://bugs.webkit.org/show_bug.cgi?id=71224
-
- Reviewed by Martin Robinson.
-
- * GNUmakefile.gtk-doc.am: Copy html and tmpl dirs to
- $(distdir)/$(DOC_MODULE).
-
-2011-10-29 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] Switch to a backing store approach for painting WebKitWebView
- https://bugs.webkit.org/show_bug.cgi?id=70213
-
- Reviewed by Gustavo Noronha Silva.
-
- Paint the WebView into a backing store. This prevents expose events from
- triggering a layout, making scrolling and resizing much smoother.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::ChromeClient): Initialize new members.
- (WebKit::repaintEverythingSoonTimeout): Added this helper which repaints
- the WebView more quickly during resize events.
- (WebKit::clipOutOldWidgetArea): Clips out the old widget area, so that we
- can clear out invalid pixels when growing the widget into a pre-existing
- backing store.
- (WebKit::clearEverywhereInBackingStore): Clear out the entire backing store.
- (WebKit::ChromeClient::widgetSizeChanged): Handle widget size changes by
- intelligently resizing or reusing the existing backing store.
- (WebKit::coalesceRectsIfPossible): Moved this method from webkitwebview.cpp.
- (WebKit::paintWebView): Moved this method from webkitwebview.cpp.
- (WebKit::ChromeClient::performAllPendingScrolls): If there are any pending
- scrolling operations, perform them by scrolling the backing store.
- (WebKit::ChromeClient::paint): Added this timer callback, which paints the
- WebView after a short timeout.
- (WebKit::ChromeClient::invalidateWindow): No need to do anything here any longer.
- (WebKit::ChromeClient::invalidateContentsAndWindow): Now unite the rect with
- the existing dirty region and queue the paint timeout.
- (WebKit::ChromeClient::scroll): Now just queue a scroll event in the repaint timeout.
- Intelligently calculate the area to move and the dirty area using code derived
- from WebKit2.
- * WebCoreSupport/ChromeClientGtk.h: Added new method definitions and also use
- the WebCore namespace to avoid lots of uses of "WebCore::".
- * webkit/webkitwebview.cpp:
- (webkit_web_view_draw): Now just blit the backing store into the widget.
- (webkit_web_view_expose): Ditto.
- (webkit_web_view_size_allocate): Let the ChromeClient know the widget size changed.
- (webkit_web_view_init): Turn off GDK double buffering as we have our own double
- buffer.
- * webkit/webkitwebviewprivate.h: Add the backing store member.
-
-2011-10-28 Jochen Eisinger <jochen@chromium.org>
-
- Rename a number of methods mentioning JavaScript to just Script instead
- https://bugs.webkit.org/show_bug.cgi?id=71105
-
- Reviewed by Adam Barth.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
-
-2011-10-27 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] Remove most of the documentation errors from WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=70670
-
- Reviewed by Gustavo Noronha Silva.
-
- Fix most of the documentation errors for WebKit and make many
- missing symbols show up in the documentation.
-
- * webkit/webkitglobals.h: Doc fixes.
- * webkit/webkitspellchecker.h: Ditto.
- * webkit/webkitspellcheckerenchant.cpp: Ditto.
- * webkit/webkitwebbackforwardlist.h: Ditto.
- * webkit/webkitwebdatasource.cpp: Ditto.
- * webkit/webkitwebframe.cpp: Ditto.
- * webkit/webkitwebinspector.cpp: Ditto.
- * webkit/webkitwebinspector.h: Ditto.
- * webkit/webkitwebplugin.h: Ditto.
- * webkit/webkitwebplugindatabase.cpp: Ditto.
- * webkit/webkitwebplugindatabase.h: Ditto.
- * webkit/webkitwebsettings.h: Ditto.
- * webkit/webkitwebview.cpp: Ditto.
- (webkit_web_view_class_init): Ditto.
- * webkit/webkitwebview.h: Ditto.
-
-2011-10-27 Philippe Normand <pnormand@igalia.com>
-
- [GStreamer] WebAudio AudioFileReader implementation
- https://bugs.webkit.org/show_bug.cgi?id=69834
-
- Reviewed by Martin Robinson.
-
- * GNUmakefile.am: Link against libfftw.
-
-2011-10-26 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Update NEWS and configure.ac for 1.7.1 release
- https://bugs.webkit.org/show_bug.cgi?id=70932
-
- Reviewed by Martin Robinson.
-
- * NEWS: Added release notes.
-
-2011-10-26 Alejandro G. Castro <alex@igalia.com>
-
- [GTK] Fix distcheck compilation
- https://bugs.webkit.org/show_bug.cgi?id=70921
-
- Add new files required by doc compilation to the clean process.
-
- Reviewed by Martin Robinson.
-
- * docs/GNUmakefile.am:
-
-2011-10-26 Zalan Bujtas <zbujtas@gmail.com>
-
- Name viewport change event consistently.
- https://bugs.webkit.org/show_bug.cgi?id=70901
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Use ViewportPropertiesDidChange term consistently throughout WebKit.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::dispatchViewportPropertiesDidChange):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2011-10-26 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Remove g_thread_init() calls from gtk-doc scanner too
- https://bugs.webkit.org/show_bug.cgi?id=70908
-
- Reviewed by Gustavo Noronha Silva.
-
- * docs/GNUmakefile.am:
-
-2011-10-25 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] GtkAdjustment watcher updates adjustments too lazily
- https://bugs.webkit.org/show_bug.cgi?id=70180
-
- Reviewed by Gustavo Noronha Silva.
-
- Increase the priority of the GtkAdjustments update in GtkAdjustmentWatcher. This
- means that adjustments will more quickly represent the state of the WebKitWebView
- when it scrolls. This fixes out-of-sync scrollbars and some visual artifacts.
-
- * WebCoreSupport/GtkAdjustmentWatcher.cpp:
- (WebKit::GtkAdjustmentWatcher::updateAdjustmentsFromScrollbarsLater): Use a timeout
- with the default priority.
-
-2011-10-24 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Remove g_thread_init() calls
- https://bugs.webkit.org/show_bug.cgi?id=70717
-
- Reviewed by Xan Lopez.
-
- With newer glib it's not needed anymore and with previous versions
- it was already called by g_type_init().
-
- * tests/testapplicationcache.c:
- (main):
- * tests/testatk.c:
- (main):
- * tests/testatkroles.c:
- (main):
- * tests/testcopyandpaste.c:
- (main):
- * tests/testdomdocument.c:
- (main):
- * tests/testdomdomwindow.c:
- (main):
- * tests/testdomnode.c:
- (main):
- * tests/testdownload.c:
- (main):
- * tests/testglobals.c:
- (main):
- * tests/testhittestresult.c:
- (main):
- * tests/testhttpbackend.c:
- (main):
- * tests/testkeyevents.c:
- (main):
- * tests/testloading.c:
- (main):
- * tests/testmimehandling.c:
- (main):
- * tests/testnetworkrequest.c:
- (main):
- * tests/testnetworkresponse.c:
- (main):
- * tests/testwebbackforwardlist.c:
- (main):
- * tests/testwebdatasource.c:
- (main):
- * tests/testwebframe.c:
- (main):
- * tests/testwebhistoryitem.c:
- (main):
- * tests/testwebplugindatabase.c:
- (main):
- * tests/testwebresource.c:
- (main):
- * tests/testwebsettings.c:
- (main):
- * tests/testwebview.c:
- * tests/testwindow.c:
- (main):
-
-2011-10-20 Gustavo Noronha Silva <gns@gnome.org>
-
- [GTK] webkitgtk's pkgconfig file needs to require javascriptcoregtk
- https://bugs.webkit.org/show_bug.cgi?id=70500
-
- Reviewed by Philippe Normand.
-
- * webkit.pc.in: add javascriptcoregtk to Requires
-
-2011-10-19 Gustavo Noronha Silva <gns@gnome.org>
-
- GTK+ build fix. Rename the INCLUDES variable so it is not picked
- up by random bystanders. Also do some more cleanup on stuff we
- inherited from gtk-doc.make.
-
- * GNUmakefile.gtk-doc.am:
- * docs/GNUmakefile.am:
-
-2011-10-19 Gustavo Noronha Silva <gns@gnome.org>
-
- [GTK] Streamline wk1 documentation build
- https://bugs.webkit.org/show_bug.cgi?id=70447
-
- Reviewed by Martin Robinson.
-
- * GNUmakefile.am: move files pertaining to the docs build to the
- docs GNUmakefile.am;
- * GNUmakefile.gtk-doc.make: incorporate the gtk-doc makefile, and customize it
- to our non-recursive build;
- * docs/GNUmakefile.am: simplification and adaption to work with the
- rest of the build system.
-
-2011-10-19 Zan Dobersek <zandobersek@gmail.com>
-
- [Gtk][Geolocation] Build guards missing in geolocation clients
- https://bugs.webkit.org/show_bug.cgi?id=70420
-
- Reviewed by Gustavo Noronha Silva.
-
- Adds build guards that were forgotten when client-based
- geolocation was introduced in r97746. This should make builds
- without geolocation support succeed again.
-
- * WebCoreSupport/GeolocationClientGtk.cpp:
- * WebCoreSupport/GeolocationClientGtk.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2011-10-18 Zan Dobersek <zandobersek@gmail.com>
-
- [Gtk] Support for client-based geolocation
- https://bugs.webkit.org/show_bug.cgi?id=64970
-
- Reviewed by Martin Robinson.
-
- Add DumpRenderTree support functions for client-based geolocation tests
- and implement GeolocationClientGtk. The implementation is based on Zecke's
- implementation of GeolocationService class in WebCore, which is now redundant
- and subsequently removed.
-
- * GNUmakefile.am: Add GeolocationClientGtk.* files to compilation.
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: Add support functions to operate
- with GeolocationClientMock.
- (DumpRenderTreeSupportGtk::resetGeolocationClientMock):
- (DumpRenderTreeSupportGtk::setMockGeolocationPermission):
- (DumpRenderTreeSupportGtk::setMockGeolocationPosition):
- (DumpRenderTreeSupportGtk::setMockGeolocationError):
- (DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- * WebCoreSupport/GeolocationClientGtk.cpp: Added.
- (WebKit::getPositionCallback):
- (WebKit::positionChangedCallback):
- (WebKit::GeolocationClient::GeolocationClient):
- (WebKit::GeolocationClient::geolocationDestroyed):
- (WebKit::GeolocationClient::startUpdating):
- (WebKit::GeolocationClient::stopUpdating):
- (WebKit::GeolocationClient::setEnableHighAccuracy):
- (WebKit::GeolocationClient::lastPosition):
- (WebKit::GeolocationClient::requestPermission):
- (WebKit::GeolocationClient::cancelPermissionRequest):
- (WebKit::GeolocationClient::positionChanged):
- (WebKit::GeolocationClient::updatePosition):
- (WebKit::GeolocationClient::errorOccured):
- * WebCoreSupport/GeolocationClientGtk.h: Added.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init): Use GeolocationClientMock as geolocation client
- when running in DumpRenderTree.
-
-2011-10-12 Ryosuke Niwa <rniwa@webkit.org>
-
- Make the interface of locationAndLengthFromRange and rangeFromLocationAndLength consistent
- https://bugs.webkit.org/show_bug.cgi?id=69964
-
- Reviewed by Enrica Casucci.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::firstRectForCharacterRange):
-
-2011-09-28 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] Move drag-and-drop code which can be shared with WebKit2 to WebCore
- https://bugs.webkit.org/show_bug.cgi?id=66890
-
- Use the new GtkWidgetDragAndDropGlue class to hold the logic that will be
- common between WebKit1 and WebKit2. Modify WebKitWebView to use this class.
-
- Reviewed by Philippe Normand.
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::startDrag): Inform the drag-and-drop glue about the drag.
- * webkit/webkitwebview.cpp: Use GtkWidgetDragAndDropGlue wherever this class was
- maintaining drag-and-drop state itself.
- * webkit/webkitwebviewprivate.h: Swap out the drag-and-drop state for an instance
- of the glue class.
-
-2011-09-28 Kaustubh Atrawalkar <kaustubh@motorola.com>
-
- [Gtk] Implement textInputController.doCommand
- https://bugs.webkit.org/show_bug.cgi?id=66496
-
- Reviewed by Martin Robinson.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::doCommand): Function definition for doCommand
- callback. Converted Incoming command to match with WebCore::Editor CommandMap.
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-09-27 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Reorganize header files
- https://bugs.webkit.org/show_bug.cgi?id=65616
-
- Reviewed by Martin Robinson.
-
- Install header files under $libwebkitgtkincludedir/webkit.
-
- * GNUmakefile.am: Use $libwebkitgtkincludedir.
- * webkit.pc.in: Use webkitgtk-<api-version> as include dir.
-
-2011-09-26 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
-
- Fix documentation generation by specifying the sources
- directory with $(top_srcdir).
-
- Reviewed by Xan Lopez.
-
- * docs/GNUmakefile.am:
-
-2011-09-26 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
-
- REGRESSION: Empathy crashes when switching theme
- https://bugs.webkit.org/show_bug.cgi?id=68600
-
- Reviewed by Martin Robinson.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_set_scroll_adjustments): use the existing
- set{Horizontal,Vertical}Adjustment functions, so the code is not
- duplicated
- (webkit_web_view_dispose): unset the adjustments during dispose,
- to avoid late adjustment change notifications hitting the
- adjustment watcher
-
-2011-09-24 Adam Barth <abarth@webkit.org>
-
- Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
- https://bugs.webkit.org/show_bug.cgi?id=68767
-
- Reviewed by Eric Seidel.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::reachedApplicationCacheOriginQuota):
- * WebCoreSupport/ChromeClientGtk.h:
- * webkit/webkitapplicationcache.cpp:
- (webkit_application_cache_get_maximum_size):
- (webkit_application_cache_set_maximum_size):
- (webkit_application_cache_get_database_directory_path):
- * webkit/webkitglobals.cpp:
- (webkitInit):
-
-2011-09-22 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
-
- Remove useless empty WebKit namespace.
-
- Reviewed by Xan Lopez.
-
- * webkit/webkitglobals.cpp:
- (webkitInit):
-
-2011-09-20 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] WebProcess shouldn't use the GTK+ API
- https://bugs.webkit.org/show_bug.cgi?id=68062
-
- Reviewed by Martin Robinson.
-
- Use WebCore API to create errors in frame loader.
-
- * WebCoreSupport/AssertMatchingEnums.cpp:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::cancelledError):
- (WebKit::FrameLoaderClient::blockedError):
- (WebKit::FrameLoaderClient::cannotShowURLError):
- (WebKit::FrameLoaderClient::interruptedForPolicyChangeError):
- (WebKit::FrameLoaderClient::cannotShowMIMETypeError):
- (WebKit::FrameLoaderClient::fileDoesNotExistError):
- (WebKit::FrameLoaderClient::pluginWillHandleLoadError):
- * webkit/webkiterror.cpp:
- (webkit_network_error_quark):
- (webkit_policy_error_quark):
- (webkit_plugin_error_quark):
-
-2011-09-20 Philippe Normand <pnormand@igalia.com>
-
- [GTK] Update NEWS and configure.ac for 1.5.90 release
-
- Reviewed by Martin Robinson.
-
- * NEWS:
-
-2011-09-19 Leandro Pereira <leandro@profusion.mobi>
-
- GTK DRT leaks memory while comparing history items
- https://bugs.webkit.org/show_bug.cgi?id=68086
-
- Reviewed by Martin Robinson.
-
- webkit_web_history_item_get_target() function returns a g_strdup()'d
- string, so it should return "gchar*" instead of "const gchar*".
-
- * webkit/webkitwebhistoryitem.cpp:
- (webkit_web_history_item_get_target): Change return type to "gchar*".
- * webkit/webkitwebhistoryitemprivate.h: Ditto.
-
-2011-09-19 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Fix distcheck build
- https://bugs.webkit.org/show_bug.cgi?id=68346
-
- Reviewed by Philippe Normand.
-
- * tests/testmimehandling.c: Remove ogg tests, since the behavious
- has changed in libsoup (https://bugzilla.gnome.org/show_bug.cgi?id=648846#c8)
- (server_callback):
- (mime_type_policy_decision_requested_cb):
- (main):
- * webkit/webkitwebplugin.cpp: Fix introspection annotation.
-
-2011-09-17 Mihai Parparita <mihaip@chromium.org>
-
- FrameLoaderClient BackForwardList-related methods are unsued
- https://bugs.webkit.org/show_bug.cgi?id=68293
-
- Reviewed by Darin Adler.
-
- Remove FrameLoaderClient methods that were added by r51629, since only
- the old (since-deleted) Android port needed them.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2011-09-15 Adam Barth <abarth@webkit.org>
-
- Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
- https://bugs.webkit.org/show_bug.cgi?id=68205
-
- Reviewed by Eric Seidel.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ChromeClientGtk.h:
- * webkit/webkitsecurityorigin.cpp:
- (webkit_security_origin_get_web_database_usage):
- (webkit_security_origin_get_web_database_quota):
- (webkit_security_origin_set_web_database_quota):
- (webkit_security_origin_get_all_web_databases):
- * webkit/webkitwebdatabase.cpp:
- (webkit_web_database_get_display_name):
- (webkit_web_database_get_expected_size):
- (webkit_web_database_get_size):
- (webkit_web_database_get_filename):
- (webkit_web_database_remove):
- (webkit_remove_all_web_databases):
- (webkit_get_web_database_directory_path):
- (webkit_set_web_database_directory_path):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
-
-2011-09-10 Adam Barth <abarth@webkit.org>
-
- Fix build break.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_encoding):
-
-2011-09-09 Fady Samuel <fsamuel@chromium.org>
-
- Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
- https://bugs.webkit.org/show_bug.cgi?id=67250
-
- Reviewed by Simon Fraser.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::scalePageBy):
-
-2011-09-08 Daniel Bates <dbates@webkit.org>
-
- Fix the GTK build after <http://trac.webkit.org/changeset/94810>
- (https://bugs.webkit.org/show_bug.cgi?id=67807).
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_encoding): Substitute DocumentWriter::deprecatedFrameEncoding() for
- DocumentWriter::encoding().
-
-2011-09-06 Ryosuke Niwa <rniwa@webkit.org>
-
- Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
- https://bugs.webkit.org/show_bug.cgi?id=67569
-
- Reviewed by Antonio Gomes.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::respondToChangedSelection):
-
-2011-08-30 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r94142, r94144, r94145, and r94148.
- http://trac.webkit.org/changeset/94142
- http://trac.webkit.org/changeset/94144
- http://trac.webkit.org/changeset/94145
- http://trac.webkit.org/changeset/94148
- https://bugs.webkit.org/show_bug.cgi?id=67262
-
- Broke isindex element (Requested by rniwa on #webkit).
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setAutofilled):
- (DumpRenderTreeSupportGtk::setValueForUser):
-
-2011-08-30 Ryosuke Niwa <rniwa@webkit.org>
-
- GTK build fix after r94142.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setAutofilled):
- (DumpRenderTreeSupportGtk::setValueForUser):
-
-2011-08-30 Kaustubh Atrawalkar <kaustubh@motorola.com>
-
- The unused ScrollView* argument can and should be removed from
- scrollRectIntoView.
- https://bugs.webkit.org/show_bug.cgi?id=67117
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::scrollRectIntoView):
-
-2011-08-26 Gustavo Noronha Silva <gns@gnome.org>
-
- Minor style fix in the sample code for WebKitWebFrame.
-
- * webkit/webkitwebframe.cpp:
-
-2011-08-17 Alejandro G. Castro <alex@igalia.com>
-
- [GTK] Fix compilation problems with deprecations in gtk+
- https://bugs.webkit.org/show_bug.cgi?id=66073
-
- Reviewed by Martin Robinson.
-
- * WebCoreSupport/FullscreenVideoController.cpp:
- (FullscreenVideoController::createHud): Added gtk_box_new
- conditional compilation for gtk+-3.
-
-2011-08-18 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
-
- [GTK] Change webview API tests to use "load-status" signal instead of "load-progress"
- https://bugs.webkit.org/show_bug.cgi?id=66243
-
- Reviewed by Martin Robinson.
-
- The idle_quit_loop_cb() already checks the "load-status" flag, so it is enough to
- call it only when the "load-status" change.
-
- This change is important in the context of bug 28851, which aims to change the
- order in which "progress finished" and "load finished" callbacks are called. In
- this new scenario, at the progress callback the load will never be finished.
-
- * tests/testwebview.c:
- (test_webkit_web_view_grab_focus):
-
-2011-08-17 Adam Roben <aroben@apple.com>
-
- Make WebCore keep track of the current device scale factor
-
- Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
- device scale factor
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ChromeClientGtk.h:
- Removed deviceScaleFactor.
-
-2011-08-16 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
-
- Add javascriptcoregtk to the introspection build, to fix it.
-
- Reviewed by Xan Lopez.
-
- * GNUmakefile.am:
-
-2011-08-15 Dmitry Titov <dimich@chromium.org>
-
- FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
- https://bugs.webkit.org/show_bug.cgi?id=66165
-
- Reviewed by Darin Fisher.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::transferLoadingResourceFromPage):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2011-08-10 Adam Roben <aroben@apple.com>
-
- Clear up scale factor terminology
-
- WebKit by and large deals with two scale factors: one intrinsic to the device on which the
- software is running, and one that is per-Page and can be controlled via API calls. This
- patch names the former "deviceScaleFactor" and the latter "pageScaleFactor", and makes the
- code use those names. It should introduce no behavior changes.
-
- Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the
- device scale factor
-
- Reviewed by Simon Fraser.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ChromeClientGtk.h:
-
-2011-08-11 Gustavo Noronha Silva <gns@gnome.org>
-
- Add the javascript core dynamic library for gtk-doc's introspection helper.
-
- Reviewed by Xan Lopez.
-
- * docs/GNUmakefile.am:
-
-2011-08-11 Xan Lopez <xlopez@igalia.com>
-
- [GTK] Update NEWS and configure.ac for 1.5.2 release
-
- Reviewed by Gustavo Noronha.
-
- * NEWS: update for release.
-
-2011-08-10 Gustavo Noronha Silva <gns@gnome.org>
-
- [GTK] wrong annotation for the return value of webkit_web_view_get_hit_test_results()
- https://bugs.webkit.org/show_bug.cgi?id=65985
-
- Reviewed by Xan Lopez.
-
- * webkit/webkitwebview.cpp:
-
-2011-08-03 Pavel Feldman <pfeldman@google.com>
-
- Web Inspector: [Timeline] Hover on paint events and see rect outline around that area.
- https://bugs.webkit.org/show_bug.cgi?id=65510
-
- Reviewed by Yury Semikhatsky.
-
- * webkit/webkitwebview.cpp:
- (paintWebView):
-
-2011-08-03 Pavel Feldman <pfeldman@chromium.org>
-
- Web Inspector: remove Node parameter from the InspectorClient::highlight
- https://bugs.webkit.org/show_bug.cgi?id=65549
-
- Reviewed by Yury Semikhatsky.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::highlight):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2011-08-03 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Reorganize pkg-config files
- https://bugs.webkit.org/show_bug.cgi?id=65548
-
- Reviewed by Martin Robinson.
-
- * GNUmakefile.am: Remove javascriptcore pc file references.
-
-2011-07-30 Patrick Gansterer <paroga@webkit.org>
-
- Remove inclusion of MainThread.h from Threading.h
- https://bugs.webkit.org/show_bug.cgi?id=65081
-
- Reviewed by Darin Adler.
-
- Add missing include statements for MainThread.
-
- * webkit/webkitglobals.cpp:
-
-2011-07-26 Sadrul Habib Chowdhury <sadrul@chromium.org>
-
- Add support for download='filename' attribute in anchors.
- https://bugs.webkit.org/show_bug.cgi?id=64580
-
- Reviewed by Adam Barth.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::startDownload):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2011-07-26 Carlos Garcia Campos <cgarcia@igalia.com>
-
- [GTK] Remove header webkitwebviewcommon.h
- https://bugs.webkit.org/show_bug.cgi?id=65177
-
- Reviewed by Martin Robinson.
-
- Move webkitwebviewcommon.h contents back to webkitwebview.h.
-
- * GNUmakefile.am: Remove webkitwebviewcommon.h
- * webkit/webkitwebview.h:
- * webkit/webkitwebviewcommon.h: Removed.
-
-2011-06-07 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Use WebCore scrollbars for the DRT instead of GtkScrolledWindow
- https://bugs.webkit.org/show_bug.cgi?id=62252
-
- Added an undocumented self-scrolling property to WebKitWebView which
- communicates to WebCore whether or not this widget is expected to draw
- its own main frame scrollbars or not.
-
- * webkit/webkitwebview.cpp: Add the self-scrolling property.
- * webkit/webkitwebviewprivate.h: Add the selfScrolling private member.
-
-2011-07-11 Gustavo Noronha Silva <gns@gnome.org>
-
- [GTK] Google Calendar thinks we're mobile
- https://bugs.webkit.org/show_bug.cgi?id=63994
-
- Reviewed by Xan Lopez.
-
- Further special-case Google Calendar, for it thinks WebKit+Linux
- means mobile, so we also have to spoof the OS.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::userAgent): use the new WebKitGTK+
- private API that centralizes the logic now.
- * tests/testwebsettings.c: Add tests to make sure the Google
- special-cases only apply for the expected domains and when quirks
- special-casing is enabled.
- (test_non_quirky_user_agents):
- (test_webkit_web_settings_user_agent):
- * webkit/webkitwebsettings.cpp:
- (webkitUserAgent): make it static.
- (safariUserAgent): returns a fake Safari in Mac OS X User-Agent.
- (initializeDomainsList): moved from FrameLoaderClientGtk.
- (isGoogleDomain):ditto.
- (isGoogleCalendar): ditto.
- (userAgentForURL): ditto.
- (webkitWebSettingsUserAgentForUri): centralize the whole
- user agent spoofing logic in this new private API that can be used
- by the browser to know what's going to happen for a specific URI
- and also allows our API testing.
- * webkit/webkitwebsettingsprivate.h:
-
-2011-07-15 Dan Bernstein <mitz@apple.com>
-
- REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
- https://bugs.webkit.org/show_bug.cgi?id=64615
-
- Reviewed by Anders Carlsson.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::setCursorHiddenUntilMouseMoves): Added this stub.
- * WebCoreSupport/ChromeClientGtk.h:
-
-2011-07-15 Martin Robinson <mrobinson@igalia.com>
-
- Build fixes for WebKit2. Ensure that all generated sources are
- on nodist primaries, that they are on forward declared variables
- so that BUILT_SOURCES is calculated properly and that zlib is
- included during linking (for WOFF support).
-
- * GNUmakefile.am:
-
-2011-07-14 Lukasz Slachciak <l.slachciak@samsung.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Fix GTK unit tests failures when WebKit is build outside repository directory.
- https://bugs.webkit.org/show_bug.cgi?id=62935
-
- WebKit can be build with WEBKITOUTPUTDIR env variable set using build-webkit script.
- In this case WEBKITOUTPUDIR may be outside repository structure. This causes testmimehandling and testwebview
- to fail because they use external test files in WebKit Source directory.
- This bug fixes this issue introducing optional environment variable WEBKITREPODIR
- Also coding style in existing functions is fixed.
-
-
- * tests/test_utils.c: Coding style fixes.
- (testutils_relative_chdir): If WEBKITREPODIR is set, change current directory to it.
- * tests/test_utils.h: Coding style fixes.
-
-2011-07-12 Joseph Pecoraro <joepeck@webkit.org>
-
- ApplicationCache update should not immediately fail when reaching per-origin quota
- https://bugs.webkit.org/show_bug.cgi?id=64177
-
- Reviewed by Alexey Proskuryakov.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::reachedApplicationCacheOriginQuota):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2011-06-14 Mike Stegeman <mrstegeman@gmail.com>
-
- Add API to WebKit-GTK to allow setting localStorage database path
- https://bugs.webkit.org/show_bug.cgi?id=62091
-
- Reviewed by Martin Robinson and Gustavo Noronha.
-
- Expose the path of the localStorage databases through a setting
- to allow HTML5 localStorage to be persistent. New setting is:
- html5-local-storage-database-path
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- (webkit_web_settings_set_property):
- (webkit_web_settings_get_property):
- * webkit/webkitwebsettingsprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
-
-2011-07-08 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
-
- [GTK] testwebview API test fails after http://trac.webkit.org/changeset/90471
- https://bugs.webkit.org/show_bug.cgi?id=64159
-
- Rework the icon-uri change test so that the condition for quitting
- the mainloop is the icon-uri change itself, along with a timeout
- to avoid taking too long in case of failure. Since the conditions
- for considering a page loaded were changed we can't rely on that
- for this test anymore.
-
- Reviewed by Xan Lopez.
-
- * tests/testwebview.c:
- (timeout_cb): error out if it takes too long for the icon-uri
- change to happen.
- (icon_uri_changed_cb): quit the loop here instead of waiting on
- the page being loaded.
- (test_webkit_web_view_icon_uri):
-
-2011-07-01 Joone Hur <joone.hur@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [GTK] Add DeviceOrientation feature
- https://bugs.webkit.org/show_bug.cgi?id=63720
-
- Add empty implementation of DeviceMotionClient and DeviceOrientationClient callback methods.
-
- * GNUmakefile.am:
- * WebCoreSupport/DeviceMotionClientGtk.cpp: Added.
- (WebCore::DeviceMotionClientGtk::DeviceMotionClientGtk):
- (WebCore::DeviceMotionClientGtk::~DeviceMotionClientGtk):
- (WebCore::DeviceMotionClientGtk::deviceMotionControllerDestroyed):
- (WebCore::DeviceMotionClientGtk::setController):
- (WebCore::DeviceMotionClientGtk::startUpdating):
- (WebCore::DeviceMotionClientGtk::stopUpdating):
- (WebCore::DeviceMotionClientGtk::currentDeviceMotion):
- * WebCoreSupport/DeviceMotionClientGtk.h: Added.
- * WebCoreSupport/DeviceOrientationClientGtk.cpp: Added.
- (WebCore::DeviceOrientationClientGtk::DeviceOrientationClientGtk):
- (WebCore::DeviceOrientationClientGtk::~DeviceOrientationClientGtk):
- (WebCore::DeviceOrientationClientGtk::deviceOrientationControllerDestroyed):
- (WebCore::DeviceOrientationClientGtk::setController):
- (WebCore::DeviceOrientationClientGtk::startUpdating):
- (WebCore::DeviceOrientationClientGtk::stopUpdating):
- (WebCore::DeviceOrientationClientGtk::lastOrientation):
- * WebCoreSupport/DeviceOrientationClientGtk.h: Added.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2011-06-28 Joone Hur <joone.hur@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [GTK] Allow to build WebKitGtk+ with accelerated compositing
- https://bugs.webkit.org/show_bug.cgi?id=63404
-
- WebKitGtk+ needs to implement accelerated compositing for running CSS3 3D transforms
- and animation through GPU acceleration. We could implement GraphicsLayer using Clutter.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::attachRootGraphicsLayer): not implemented yet.
- (WebKit::ChromeClient::setNeedsOneShotDrawingSynchronization): Ditto.
- (WebKit::ChromeClient::scheduleCompositingLayerSync): Ditto.
- (WebKit::ChromeClient::allowedCompositingTriggers): Ditto.
- * WebCoreSupport/ChromeClientGtk.h:
-
-2011-06-27 ChangSeok Oh <shivamidow@gmail.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Fix build break to support webgl
- https://bugs.webkit.org/show_bug.cgi?id=63425
-
- A member variable enableWebGL in WebKitWebSettingsPrivate is changed to enableWebgl
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
-
-2011-06-24 Dominic Cooney <dominicc@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Convert shadow DOM-related tests to use window.internals
- https://bugs.webkit.org/show_bug.cgi?id=61671
-
- Remove shadow-DOM related methods from GTK DRT API. These are not
- required any more.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-06-20 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Kent Tamura.
-
- FileChooser should be only created when we need to choose files.
- https://bugs.webkit.org/show_bug.cgi?id=63039
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::runOpenPanel): Changed to use settings.
-
-2011-06-22 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Make sure libsoup password manager macro is defined before including libsoup in webkitsoupauthdialog
- https://bugs.webkit.org/show_bug.cgi?id=63124
-
- Fixes a crash when building with --enable-debug.
-
- * webkit/webkitsoupauthdialog.h: Define
- LIBSOUP_I_HAVE_READ_BUG_594377_AND_KNOW_SOUP_PASSWORD_MANAGER_MIGHT_GO_AWAY
- before including libsoup.h.
-
-2011-06-10 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] webkit_web_settings_copy does not copy all settings
- https://bugs.webkit.org/show_bug.cgi?id=62424
-
- Instead of trying to keep webkit_web_settings_copy up to date with
- property additions, create the object copy by dynamically initializing
- all webkit_web_settings properties at once.
-
- * tests/testwebsettings.c:
- (test_webkit_web_settings_copy): Create a test for webkit_web_settings copy.
- (main): Run the new test.
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_copy): Dynamically initialize all properties of the copy.
-
-2011-06-20 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [GTK] Clean up unecessary boilerplate from WebKitWebSettings and make private members meet WebKit style guidelines
- https://bugs.webkit.org/show_bug.cgi?id=61972
-
- Rename all private members of WebKitWebSettings to meet WebKit style guidelines and
- put the private struct definition in webkitwebsettingsprivate.h so it can be
- accessed from webkitwebview.cpp. This cuts down on the boilerplate immensely.
-
- * webkit/webkitwebsettings.cpp: Rename private members to meet WebKit style guidelines
- and allocate the private section with new/delete. This allows for using CString and removes
- the need for manual string memory management.
- * webkit/webkitwebsettingsprivate.h: Move the private struct definition here.
- * webkit/webkitwebview.cpp: Update to reflect new struct names. Remove boilerplate
- and other very small code cleanups.
-
-2011-06-20 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Split libWebCore into two libWebCore and libWebCoreGtk
- https://bugs.webkit.org/show_bug.cgi?id=60539
-
- * GNUmakefile.am: Link to libWebCoreGtk.la too.
-
-2011-06-18 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Darin Adler.
-
- Separate concerns of loading file icons and choosing files.
- https://bugs.webkit.org/show_bug.cgi?id=62931
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::loadIconForFiles): Renamed.
- * WebCoreSupport/ChromeClientGtk.h:
-
-2011-06-17 Joone Hur <joone.hur@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [GTK] Replace GdkRectangle by cairo_rectangle_int_t
- https://bugs.webkit.org/show_bug.cgi?id=60687
-
- Replace GdkRectangle by cairo_rectangle_int_t.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: Replace GdkRectangle by cairo_rectangle_int_t.
- (DumpRenderTreeSupportGtk::firstRectForCharacterRange):
- (DumpRenderTreeSupportGtk::rectangleForSelection):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h: Ditto.
-
-2011-06-16 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r89026.
- http://trac.webkit.org/changeset/89026
- https://bugs.webkit.org/show_bug.cgi?id=62804
-
- These patches were likely correct. I'll investigate the
- browser_test failures. (Requested by abarth on #webkit).
-
- * WebCoreSupport/FullscreenVideoController.cpp:
- (FullscreenVideoController::play):
- (FullscreenVideoController::pause):
-
-2011-06-16 Vitaly Repeshko <vitalyr@chromium.org>
-
- Unreviewed.
-
- Revert Adam's user gesture patch series r89002, r89005, r89007, r89018
- https://bugs.webkit.org/show_bug.cgi?id=62796
-
- The patches broke chromium browser tests.
-2011-06-16 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove HTMLVideoElement::processingUserGesture
- https://bugs.webkit.org/show_bug.cgi?id=62784
-
- * WebCoreSupport/FullscreenVideoController.cpp:
- (FullscreenVideoController::play):
- (FullscreenVideoController::pause):
-
-2011-06-15 Claudio Saavedra <csaavedra@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Fix the build with introspection enabled
- https://bugs.webkit.org/show_bug.cgi?id=62705
-
- * GNUmakefile.am: Remove include of *.c files, since
- there are no such files anymore.
-
-2011-06-14 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Remove G_CONST_RETURN usage
- https://bugs.webkit.org/show_bug.cgi?id=62673
-
- Change G_CONST_RETURN for a simple "const" throughout the
- codebase, since G_CONST_RETURN is deprecated now. This should be
- totally equivalent since for all practical purposes the macro is
- always expanded to const.
-
- * webkit/webkitapplicationcache.cpp:
- (webkit_application_cache_get_database_directory_path): use const
- instead of G_CONST_RETURN.
- * webkit/webkitapplicationcache.h:
- * webkit/webkiticondatabase.cpp:
- (webkit_icon_database_get_path): ditto.
- * webkit/webkiticondatabase.h:
- * webkit/webkitnetworkrequest.cpp:
- (webkit_network_request_get_uri): ditto.
- * webkit/webkitnetworkrequest.h:
- * webkit/webkitnetworkresponse.cpp:
- (webkit_network_response_get_uri): ditto.
- * webkit/webkitnetworkresponse.h:
- * webkit/webkitsecurityorigin.cpp:
- (webkit_security_origin_get_protocol): ditto.
- (webkit_security_origin_get_host): ditto.
- * webkit/webkitsecurityorigin.h:
- * webkit/webkitwebdatabase.cpp:
- (webkit_web_database_get_name): ditto.
- (webkit_web_database_get_display_name): ditto.
- (webkit_web_database_get_filename): ditto.
- (webkit_get_web_database_directory_path): ditto.
- * webkit/webkitwebdatabase.h:
- * webkit/webkitwebdatasource.cpp:
- (webkit_web_data_source_get_encoding): ditto.
- (webkit_web_data_source_get_unreachable_uri): ditto.
- * webkit/webkitwebdatasource.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_get_title): ditto.
- (webkit_web_frame_get_uri): ditto.
- (webkit_web_frame_get_name): ditto.
- * webkit/webkitwebframe.h:
- * webkit/webkitwebhistoryitem.cpp:
- (webkit_web_history_item_get_title): ditto.
- (webkit_web_history_item_get_alternate_title): ditto.
- (webkit_web_history_item_get_uri): ditto.
- (webkit_web_history_item_get_original_uri): ditto.
- (webkit_web_history_item_get_target): ditto.
- * webkit/webkitwebhistoryitem.h:
- * webkit/webkitwebhistoryitemprivate.h:
- * webkit/webkitwebnavigationaction.cpp:
- (webkit_web_navigation_action_get_target_frame): ditto.
- * webkit/webkitwebnavigationaction.h:
- * webkit/webkitwebresource.cpp:
- (webkit_web_resource_get_uri): ditto.
- (webkit_web_resource_get_mime_type): ditto.
- (webkit_web_resource_get_encoding): ditto.
- (webkit_web_resource_get_frame_name): ditto.
- * webkit/webkitwebresource.h:
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_get_user_agent): ditto.
- * webkit/webkitwebsettings.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_title): ditto.
- (webkit_web_view_get_uri): ditto.
- (webkit_web_view_get_icon_uri): ditto.
- * webkit/webkitwebview.h:
- * webkit/webkitwebviewcommon.h:
-
-2011-06-14 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Rename convertWidgetRectToScreenRect() to convertWidgetPointToScreenPoint()
- https://bugs.webkit.org/show_bug.cgi?id=62626
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::windowToScreen): Update to use
- convertWidgetPointToScreenPoint()
- (WebKit::ChromeClient::screenToWindow): Ditto.
- * webkit/webkitwebview.cpp: Remove globalPointForClientPoint()
- since it does the same than convertWidgetPointToScreenPoint().
- (webkit_web_view_popup_menu_handler): Use
- convertWidgetPointToScreenPoint() instead of globalPointForClientPoint().
- (doDragLeaveLater): Ditto.
- (webkit_web_view_drag_motion): Ditto.
- (webkit_web_view_drag_data_received): Ditto.
- (webkit_web_view_drag_drop): Ditto.
-
-2011-06-14 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Support authentication dialogs in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=62366
-
- Move the common code of webkitsoupauthdialog to a common C++ class
- in WebCore so that it can be used by WebKit2 too. The file has
- been converted into a C++ file.
-
- * GNUmakefile.am: Rename webkitsoupauthdialog.c to
- webkitsoupauthdialog.cpp.
- * webkit/webkitsoupauthdialog.c: Removed.
- * webkit/webkitsoupauthdialog.cpp: Added.
- (webkit_soup_auth_dialog_class_init):
- (webkit_soup_auth_dialog_init):
- (webkit_soup_auth_dialog_session_feature_init):
- (sessionAuthenticate): Use GtkAuthenticationDialog object from
- WebCore.
- (attach):
- (detach):
- * webkit/webkitsoupauthdialog.h:
-
-2011-06-13 Joone Hur <joone.hur@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [GTK] Add configure option to enable/disable register protocol handler
- https://bugs.webkit.org/show_bug.cgi?id=62534
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::registerProtocolHandler): Added.
- * WebCoreSupport/ChromeClientGtk.h: Add the registerProtocolHandler method defintion.
-
-2011-06-13 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- Update gtkdoc files and inline documentation to reduce gtkdoc errors
- and ensure complete documentation output.
-
- * docs/webkitgtk-sections.txt: Add missing sections to the list and remove
- unneeded sections.
- * docs/webkitgtk.types: Update the types list.
- * webkit/webkithittestresult.cpp: Fix inline documentation errors.
- (webkit_hit_test_result_class_init): Ditto.
- * webkit/webkiticondatabase.cpp: Ditto.
- * webkit/webkitwebsettings.cpp: Ditto.
- (webkit_web_settings_class_init): Ditto.
- * webkit/webkitwebview.cpp: Ditto.
- (webkit_web_view_class_init): Ditto.
-
-2011-06-13 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Update the list of ignored GTK+ header files for the documentation
- generation.
-
- * docs/GNUmakefile.am: Update ignored header list.
-
-2011-06-13 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- Update NEWS for 1.5.1 release.
-
- * NEWS: update.
-
-2011-06-13 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- Distcheck fixes.
-
- * GNUmakefile.am:
-
-2011-06-13 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Export an API similar to WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=57820
-
- * GNUmakefile.am: Add webkitwebviewcommon.h to public header list.
- * webkit/webkitwebview.h: Move declarations common to WebKit2 to
- webkitwebviewcommon.h.
- * webkit/webkitwebviewcommon.h: Added.
-
-2011-06-12 Adam Barth <abarth@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense
- https://bugs.webkit.org/show_bug.cgi?id=62516
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::interruptedForPolicyChangeError):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2011-06-12 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Remove webkit_web_view_get_selected_text
- https://bugs.webkit.org/show_bug.cgi?id=62512
-
- It's no longer used and it's a private method, so it can be
- removed.
-
- * webkit/webkitwebview.cpp: kill it.
- * webkit/webkitwebviewprivate.h: ditto.
-
-2011-06-12 Adam Barth <abarth@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Remove trival "forward-to-client" member functions from FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=62510
-
- Update to call the FrameLoaderClient directly. Also, remove cargo-cult
- code that checks whether FrameLoader is null.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_stop_loading):
- (webkit_web_view_can_show_mime_type):
-
-2011-06-09 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [GTK] Implement the next bit of the TextInputController (hasMarkedText and markedRange)
- https://bugs.webkit.org/show_bug.cgi?id=55603
-
- Added DumpRenderTreeSupport methods to support hasMarkedText and markedRange.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setComposition): Use start and length rather than start and
- end. This matches other ports. Only use GLib style early returns when checking the
- validity of GObjects.
- (DumpRenderTreeSupportGtk::hasComposition): Added.
- (DumpRenderTreeSupportGtk::compositionRange): Added.
- (DumpRenderTreeSupportGtk::confirmComposition): Cleanup as described above.
- (DumpRenderTreeSupportGtk::firstRectForCharacterRange): Cleanup as described above.
- (DumpRenderTreeSupportGtk::selectedRange): Cleanup as described above.
- * WebCoreSupport/DumpRenderTreeSupportGtk.h: Added new declarations.
-
-2011-06-08 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Add WebKitSpellChecker interface and implementations
- https://bugs.webkit.org/show_bug.cgi?id=61787
-
- Expose the spell checking functionality to the UAs through a
- generic interface, and provide a default Enchant-based
- implementation. On top of allowing UAs to use this functionality
- this makes it possible to change the spell checking backend at
- runtime.
-
- * GNUmakefile.am: add new files.
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::EditorClient): set the spell checker using
- the new classes.
- * WebCoreSupport/TextCheckerClientEnchant.cpp: Removed.
- * WebCoreSupport/TextCheckerClientGtk.cpp: Added
- (WebKit::TextCheckerClientGtk::TextCheckerClientGtk): just
- chain up to the WebKitSpellChecker.
- (WebKit::TextCheckerClientGtk::~TextCheckerClientGtk): ditto.
- (WebKit::TextCheckerClientGtk::ignoreWordInSpellDocument): ditto.
- (WebKit::TextCheckerClientGtk::learnWord): ditto.
- (WebKit::TextCheckerClientGtk::checkSpellingOfString): ditto.
- (WebKit::TextCheckerClientGtk::getAutoCorrectSuggestionForMisspelledWord): ditto.
- (WebKit::TextCheckerClientGtk::getGuessesForWord): ditto.
- (WebKit::TextCheckerClientGtk::updateSpellCheckingLanguage): ditto.
- * WebCoreSupport/TextCheckerClientGtk.h: store a reference to
- the WebKitSpellChecker.
- * webkit/webkit.h: the webkitspellchecker.h header is public.
- * webkit/webkitdefines.h: defines for spell checker interface.
- * webkit/webkitglobals.cpp: Add APIs to get and set the global
- spell checker.
- (webkit_get_spell_checker): get API.
- (webkit_set_spell_checker): set API.
- * webkit/webkitglobals.h:
- * webkit/webkitspellchecker.cpp: Added. Spell checking interface.
- * webkit/webkitspellchecker.h: Added.
- * webkit/webkitspellcheckerenchant.cpp: Added. Default
- implemention, uses Enchant library.
- * webkit/webkitspellcheckerenchant.h: Added.
-
-2011-06-07 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] "webkithittestresult.h" is malformed
- https://bugs.webkit.org/show_bug.cgi?id=62117
-
- * webkit/webkithittestresult.h: fix typo in GET_CLASS macro.
-
-2011-05-31 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Ryosuke Niwa.
-
- [GTK] Support smart replace for the pasteboard
- https://bugs.webkit.org/show_bug.cgi?id=61734
-
- Add the EditorClient and DumpRenderTreeSupportGtk hooks for enabling
- smart replace in the tests.
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::startDrag): targeListForDataObject now takes another
- parameter determining whether or not to add smart paste support. Add it here.
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setSmartInsertDeleteEnabled): Added.
- * WebCoreSupport/DumpRenderTreeSupportGtk.h: Add new method definition.
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::toggleSmartInsertDelete): Added implementation.
- (WebKit::EditorClient::smartInsertDeleteEnabled): Added.
- (WebKit::EditorClient::EditorClient):
- * WebCoreSupport/EditorClientGtk.h: Add new method definition.
-
-2011-06-03 Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Unref the SoupSession used by WebKitGtk+ at exit
- https://bugs.webkit.org/show_bug.cgi?id=60165
-
- WebKitGtk+ creates a SoupSession instance to handle network stuff
- that is never freed. We should unref that object at exit time.
-
- * webkit/webkitglobals.cpp:
- (webkitExit):
- (webkitInit):
-
-2011-05-28 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Remove PastboardHelperGtk
- https://bugs.webkit.org/show_bug.cgi?id=61690
-
- Remove PasteboardHelperGtk and talk directly to WebCore for pasteboard
- activity. This change moves the PasteboardHelper singleton from WebKit
- to WebCore.
-
- * GNUmakefile.am: Remove PasteboardHelperGtk from the source list.
- * WebCoreSupport/AssertMatchingEnums.cpp: Added assertions verifying that the
- WebCore versions of the GtkClipboard enums match those in the WebKit API.
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::startDrag): Access the pasteboard helper via a static method.
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::setSelectionPrimaryClipboardIfNeeded): Ditto. Call into the helper to specify
- that the current clipboard is selection primary now.
- * WebCoreSupport/PasteboardHelperGtk.cpp: Removed.
- * webkit/webkitglobals.cpp: Remove function to set and get the pasteboard helper.
- * webkit/webkitglobalsprivate.h: Ditto.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_button_press_event): Access the pasteboard helper via a static method.
- (webkit_web_view_drag_data_get): Ditto.
- (webkit_web_view_drag_motion): Ditto.
- (webkit_web_view_drag_data_received): Ditto.
- (webkit_web_view_init): Ditto.
- (webkit_web_view_get_copy_target_list): Ditto.
- (webkit_web_view_get_paste_target_list): Ditto.
- * webkit/webkitwebviewprivate.h: Ditto.
-
-2011-06-02 Joone Hur <joone.hur@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [GTK] Only load dictionaries if spell check is enabled
- https://bugs.webkit.org/show_bug.cgi?id=32879
-
- We don't need to call enchant if enable-spell-checking is false.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings): Skip loading dictionaries when enable-spell-checking is false.
- (webkit_web_view_settings_notify): Ditto.
-
-2011-06-01 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- Explictly request the size of a pointer in malloc. Otherwise this
- explodes in 64bit architectures, at least.
-
- * webkit/webkitwebplugin.cpp:
- (webkit_web_plugin_get_mimetypes): ditto.
-
-2011-06-01 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Utility methods for UA spellchecking
- https://bugs.webkit.org/show_bug.cgi?id=61788
-
- Adds a couple of utility methods needed to implement some aspects
- of spell checking support in a browser.
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_replace_selection): method to replace the current
- selection with a string of text.
- (webkit_web_frame_get_range_for_word_around_caret): returns the DOM
- range for the word where the caret/selection currently is.
- * webkit/webkitwebframe.h: declare new methods.
-
-2011-05-31 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] gtkdoc run produces many warnings about missing declarations
- https://bugs.webkit.org/show_bug.cgi?id=61797
-
- * docs/webkitgtk-sections.txt: Remove inexistent symbols from this file
- to reduce the number of gtkdoc warnings.
-
-2011-05-31 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Provide custom DOM bindings methods to check if input/textareas have been edited
- https://bugs.webkit.org/show_bug.cgi?id=61791
-
- * GNUmakefile.am: add new files.
-
-2011-05-27 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Data directory is webkitgtk-x.y not webkit-x.y
- https://bugs.webkit.org/show_bug.cgi?id=61642
-
- * GNUmakefile.am: updated data directory.
-
-2011-05-28 Adam Barth <abarth@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Audit all uses of KURL::prettyURL
- https://bugs.webkit.org/show_bug.cgi?id=61201
-
- Update callers of prettyURL to just call string.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::mouseDidMoveOverElement):
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebKit::FrameLoaderClient::dispatchDidCommitLoad):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_icon_uri):
-
-2011-05-26 Gustavo Noronha Silva <gustavo.noronha@collabora.com>
-
- Reviewed by Martin Robinson.
-
- Cleanup postCommitFrameViewSetup parameters which are no longer
- necessary after the adjustments handling refactoring.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::postCommitFrameViewSetup):
- (WebKit::FrameLoaderClient::transitionToCommittedFromCachedFrame):
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
-
-2011-05-22 Adam Barth <abarth@webkit.org>
-
- Build fix. More public destructors needed to play nice with OwnPtr.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
-
-2011-05-22 Adam Barth <abarth@webkit.org>
-
- Build fix. InspectorFrontendClient needs a public destructor so that
- we can properly track ownership using OwnPtr.
-
- * WebCoreSupport/InspectorClientGtk.h:
-
-2011-05-22 Adam Barth <abarth@webkit.org>
-
- Strict PassOwnPtr build fix.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::openInspectorFrontend):
- (WebKit::InspectorFrontendClient::InspectorFrontendClient):
-
-2011-05-22 Adam Barth <abarth@webkit.org>
-
- Strict PassOwnPtr build fix.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::addUserStyleSheet):
-
-2011-05-20 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Sam Weinig.
-
- numberOfActiveAnimations() can include animations from documents in the page cache
- https://bugs.webkit.org/show_bug.cgi?id=53641
-
- Pass the Frame's document as the one to count animations on.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::numberOfActiveAnimations):
-
-2011-05-16 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Scrolling in Twitter is broken after r86102
- https://bugs.webkit.org/show_bug.cgi?id=60922
-
- Fix adjustment handling for pages that trigger the slow scrolling path.
- The slow scrolling path is triggered by WebCore when it determines that
- doing a simple invalidation is quicker than doing a normal scroll. This
- typically happens when there are large elements with fixed positions.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::invalidateContentsForSlowScroll): Poke the adjustment
- watcher to update its adjustments when a page triggers the slow scrolling path.
-
-2011-05-13 Jon Lee <jonlee@apple.com>
-
- Reviewed by Simon Fraser.
-
- Can't horizontally scroll iframes and overflow because wheel events are always accepted
- https://bugs.webkit.org/show_bug.cgi?id=60779
-
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::shouldRubberBandInDirection): Default impl of new ChromeClient method
- (WebKit::ChromeClient::numWheelEventHandlersChanged): Default impl of new ChromeClient method
-
-2011-05-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Prune #includes from FrameView.h (Part 2)
- https://bugs.webkit.org/show_bug.cgi?id=60748
-
- - Update files that were depending on FrameView.h #including Frame.h or
- Page.h.
-
- * WebCoreSupport/GtkAdjustmentWatcher.cpp:
-
-2011-05-13 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [GTK] Share the GTK+ key binding code between WebKit1 and WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=59765
-
- Use the new KeyBindingTranslator class from WebCore/platform/gtk. With this utility
- class we can now share the code with WebKit2.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::executePendingEditorCommands): Updated to reflect the fact that
- the command vector now contains WTF::string.
- (WebKit::EditorClient::handleKeyboardEvent): Use the new helper utility class.
- (WebKit::EditorClient::EditorClient):
- * WebCoreSupport/EditorClientGtk.h: Remove unnecessary member. Add the utility class.
-
-2011-05-12 Martin Robinson <mrobinson@igalia.com>
-
- Attempt to fix the GTK+ unit test testwebview on the 32-bit Release
- bot which appears to be more sensitive to timing issues than the
- other bots.
-
- * tests/testwebview.c: Add another short pause waiting for adjustments to update.
-
-2011-05-09 Martin Robinson <mrobinson@igalia.com>
-
- Fix a test after r86102. Scrollbars update asynchronously, so we
- must check the adjustments after a short delay.
-
- * tests/testwebview.c:
- (quit_after_short_delay_cb): Add a short delay before checking adjustments.
- (test_webkit_web_view_grab_focus): Ditto.
-
-2011-05-09 Xan Lopez <xlopez@igalia.com>
-
- Unreviewed build fix.
-
- Fix build, for real.
-
- * webkit/webkitwebview.cpp:
- (getHorizontalAdjustment):
-
-2011-05-09 Xan Lopez <xlopez@igalia.com>
-
- Unreviewed build fix..
-
- Fix GTK+3.x build.
-
- * webkit/webkitwebview.cpp:
- (getHorizontalAdjustment): the adjustment is in
- adjustmentWatcher() now.
- (getVerticalAdjustment): ditto.
-
-2011-04-29 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Untangle GtkAdjustments from WebCore
- https://bugs.webkit.org/show_bug.cgi?id=59821
-
- Have ChromeClient manage the GtkAdjustments of the parent widget instead of passing
- them to WebCore to manage. This simplifies the code quite a bit and should be less
- crash prone in the future.
-
- * GNUmakefile.am: Added new GtkAdjustmentWatcher class to the sources list.
- * WebCoreSupport/ChromeClientGtk.cpp: Added new GtkAdjustmentWatcher member.
- (WebKit::ChromeClient::ChromeClient) Initialize the new member.
- (WebKit::ChromeClient::scroll): Poke the adjustment watcher to update the adjustments.
- (WebKit::ChromeClient::contentsSizeChanged): Ditto.
- (WebKit::ChromeClient::scrollbarsModeDidChange): This may now be called at a time when there
- is no main frame, so do an early return in that case.
- * WebCoreSupport/ChromeClientGtk.h: Add the new member.
- (WebKit::ChromeClient::adjustmentWatcher): Add this getter for WebKitWebView.
- * WebCoreSupport/FrameLoaderClientGtk.cpp: Remove calls which pushed the adjustments into
- WebCore.
- (WebKit::FrameLoaderClient::savePlatformDataToCachedFrame):
- (WebKit::postCommitFrameViewSetup):
- * WebCoreSupport/GtkAdjustmentWatcher.cpp: Added.
- (WebKit::GtkAdjustmentWatcher::GtkAdjustmentWatcher):
- (WebKit::updateAdjustmentFromScrollbar):
- (WebKit::GtkAdjustmentWatcher::updateAdjustmentsFromScrollbars):
- (WebKit::updateAdjustmentCallback):
- (WebKit::GtkAdjustmentWatcher::updateAdjustmentsFromScrollbarsLater):
- (WebKit::adjustmentValueChangedCallback):
- (WebKit::setAdjustment):
- (WebKit::GtkAdjustmentWatcher::setHorizontalAdjustment):
- (WebKit::GtkAdjustmentWatcher::setVerticalAdjustment):
- (WebKit::GtkAdjustmentWatcher::adjustmentValueChanged):
- * WebCoreSupport/GtkAdjustmentWatcher.h: Added.
- (WebKit::GtkAdjustmentWatcher::horizontalAdjustment):
- (WebKit::GtkAdjustmentWatcher::verticalAdjustment):
- * webkit/webkitwebview.cpp:
- (setHorizontalAdjustment):
- (setVerticalAdjustment): Remove the adjustment member. Call into the adjustment watcher.
- (getHorizontalAdjustment): Ditto.
- (getVerticalAdjustment): Ditto.
- (webkit_web_view_size_allocate): Ditto.
- (webkit_web_view_set_scroll_adjustments): Ditto.
- (webkit_web_view_dispose): Ditto.
- (webkit_web_view_init): Ditto.
- * webkit/webkitwebviewprivate.h: Ditto.
-
-2011-05-06 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Ryosuke Niwa.
-
- Eliminate WebCore/dom/InputElement.{cpp,h}
- https://bugs.webkit.org/show_bug.cgi?id=60262
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setAutofilled):
- Follow the return type change of Node::toInputElement().
- (DumpRenderTreeSupportGtk::setValueForUser): ditto.
-
-2011-05-06 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] [WebKit2] WebView::windowToScreen needs an implementation
- https://bugs.webkit.org/show_bug.cgi?id=55960
-
- Abstract the code to translate from widget space to screen space into
- a helper method in WebCore.
-
- * WebCoreSupport/ChromeClientGtk.cpp: Use the new helper method from GtkUtilities.
- (WebKit::ChromeClient::windowToScreen):
- (WebKit::ChromeClient::screenToWindow):
-
-2011-05-04 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Dimitri Glazkov.
-
- Implement LayoutTestController::pseudoShadowId()
- https://bugs.webkit.org/show_bug.cgi?id=60034
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::shadowPseudoId):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-05-05 Bharathwaaj Srinivasan <bharathwaaj.s@gmail.com>
-
- Reviewed by Holger Freyther.
-
- Fix build-webkit --minimal.
- https://bugs.webkit.org/show_bug.cgi?id=60257
-
- * webkit/webkitglobals.cpp:
- (webkitInit):
-
-2011-05-05 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Rename SelectionController to FrameSelection
- https://bugs.webkit.org/show_bug.cgi?id=60234
-
- * webkit/webkitwebview.cpp:
- (getLocationForKeyboardGeneratedContextMenu):
-
-2011-05-04 Ryosuke Niwa <rniwa@webkit.org>
-
- GTK build fix attempt after r85823
-
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::webView):
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::imContextCommitted):
- (WebKit::imContextPreeditChanged):
- * webkit/webkitwebview.cpp:
- (WebKit::kit):
-
-2011-05-04 Cris Neckar <cdn@chromium.org>
-
- Reviewed by Adam Barth.
-
- Expose WebView directly through ChromeClient.
- https://bugs.webkit.org/show_bug.cgi?id=49902
-
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::webView):
-
-2011-05-04 Tao Bai <michaelbai@chromium.org>
-
- Reviewed by David Kilzer.
-
- Populate touch-icon url to FrameLoaderClient
- https://bugs.webkit.org/show_bug.cgi?id=59143
-
- Respect the interface change in FrameLoaderClient.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidChangeIcons):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2011-05-03 Julien Chaffraix <jchaffraix@codeaurora.org>
-
- Reviewed by Dimitri Glazkov.
-
- Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot*
- https://bugs.webkit.org/show_bug.cgi?id=58703
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: Added #include for ShadowRoot.h.
-
-2011-04-29 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [Gtk+] Crash when navigating back
- https://bugs.webkit.org/show_bug.cgi?id=59799
-
- The innerNode management in WebKitHitTestResult was relying on the
- old DOM bindings behavior where every DOM objects had to be
- disposed by the caller. Now the objects are garbage collected by
- WebKit when either the parent frame or document dies, so this is
- not needed anymore. Update the code to simply take ownership of
- the node, which effectively correctly balances the reference
- count.
-
- * webkit/webkithittestresult.cpp:
- (webkit_hit_test_result_dispose): call C++ dtors in private data.
- (webkit_hit_test_result_get_property): adatp to GRefPtr API.
- (webkit_hit_test_result_init): call C++ ctors in private data.
-
-2011-04-28 Xan Lopez <xlopez@igalia.com>
-
- Unreviewed build fix.
-
- * GNUmakefile.am:
-
-2011-04-28 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [Gtk] Split JSC and WebCore builds
- https://bugs.webkit.org/show_bug.cgi?id=19428
-
- Add a pkg-config file for JavaScriptCoreGTK+.
-
- * GNUmakefile.am: take care of the pkg-config file.
- * javascriptcoregtk.pc.in: Added.
-
-2011-04-28 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [Gtk] Split JSC and WebCore builds
- https://bugs.webkit.org/show_bug.cgi?id=19428
-
- Build JavaScriptCore as a libtool shared library instead of a
- private convenience library.
-
- * GNUmakefile.am: adapt to new name for javascriptcore target.
-
-2011-04-28 ojab <ojab@ojab.ru>
-
- Reviewed by Martin Robinson.
-
- Webkit-gtk build failure, no type/member 'Page' in namespace 'WebCore'
- https://bugs.webkit.org/show_bug.cgi?id=59585
-
- * webkit/webkitwebviewprivate.h:
-
-2011-04-28 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Click counting logic should be shared between WebKit1 and WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=59715
-
- Switch WebKit1 to use the new GtkClickCounter for counting > 3 clicks in a row.
- This allows the code to be shared between WebKit1 and WebKit2.
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::startDrag): Call GtkClickCounter::reset instead of fiddling
- the WebView private data directly.
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::postCommitFrameViewSetup): Ditto.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_button_press_event): Call into GtkClickCounter now.
- (webkit_web_view_init): Remove private member intialization.
- * webkit/webkitwebviewprivate.h: Remove unneeded private members.
-
-2011-04-27 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [GTK] Menulists do not follow text direction when rendering options with right-to-left text
- https://bugs.webkit.org/show_bug.cgi?id=54038
-
- Fix rendering of menulists that contain right-to-left text. Text direction
- inside a menulist now follows the alignment of its contents.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::selectItemWritingDirectionIsNatural): Return false instead of true.
- (WebKit::ChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Return true instead of false.
-
-2011-04-27 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r84987.
- http://trac.webkit.org/changeset/84987
- https://bugs.webkit.org/show_bug.cgi?id=59618
-
- Caused crashes on the GTK+ debug bots. (Requested by mrobinson
- on #webkit).
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::exceededDatabaseQuota):
-
-2011-04-26 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] flaky crash storage/open-database-set-empty-version.html
- https://bugs.webkit.org/show_bug.cgi?id=58988
-
- Construct the security origin directly instead of getting it from the WebKitWebFrame object.
- This prevents failing to create the WebKitSecurityOrigin in cases where the frame is in
- some inconsistent state.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::exceededDatabaseQuota): Construct the origin directly.
-
-2011-04-22 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] fast/events/overflow-viewport-renderer-deleted.html crashes
- https://bugs.webkit.org/show_bug.cgi?id=58976
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::getInnerText): Guard against situations when the documentElement
- method of the document returns null.
-
-2011-04-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Remove remaining uses of deprecated version of toJS
- https://bugs.webkit.org/show_bug.cgi?id=59170
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::shadowRoot):
- (DumpRenderTreeSupportGtk::ensureShadowRoot):
- Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype.
-
-2011-04-22 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] DRT: implement eventSender.scalePageBy
- https://bugs.webkit.org/show_bug.cgi?id=59082
-
- Added support in DRT for webview scaling.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::scale):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-04-21 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Sam Weinig.
-
- Add Frame* to the argument lists of canCopyCut and canPaste
- https://bugs.webkit.org/show_bug.cgi?id=59153
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::canCopyCut):
- (WebKit::EditorClient::canPaste):
- * WebCoreSupport/EditorClientGtk.h:
-
-2011-04-21 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] DRT: implement eventSender.scalePageBy
- https://bugs.webkit.org/show_bug.cgi?id=59082
-
- Rolling out r84507 since it broke many GTK+ tests.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-04-21 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] missing LayoutTestController::callShouldCloseOnWebView()
- https://bugs.webkit.org/show_bug.cgi?id=59086
-
- DRT::shouldClose(), used by the LayoutController.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::shouldClose):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-04-21 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] DRT: implement eventSender.scalePageBy
- https://bugs.webkit.org/show_bug.cgi?id=59082
-
- Added support in DRT for webview scaling.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::scalePageBy):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-04-20 Dominic Cooney <dominicc@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- layoutTestController can create and destroy shadow DOM
- https://bugs.webkit.org/show_bug.cgi?id=59058
-
- Support for new methods in GTK DRT.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::ensureShadowRoot):
- (DumpRenderTreeSupportGtk::removeShadowRoot):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-04-20 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Build libWebCore with the gtk sources too
- https://bugs.webkit.org/show_bug.cgi?id=58968
-
- In some cases webcore files are compiled twice, so it improves the
- build time.
-
- * GNUmakefile.am: Remove webcore gtk sources from libwebkitgtk
- sources.
-
-2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
- https://bugs.webkit.org/show_bug.cgi?id=58883
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidReceiveContentLength):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- * webkit/webkitdownload.cpp:
- (DownloadClient::didReceiveData):
-
-2011-04-18 Zan Dobersek <zandobersek@gmail.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Need support for dumping focus rectangles in pixel results
- https://bugs.webkit.org/show_bug.cgi?id=53647
-
- Add a support function that returns the rectangle of the current
- selection in frame.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::rectangleForSelection):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-04-12 Xan Lopez <xlopez@igalia.com>
-
- Unreviewed build fix.
-
- * webkit/webkitwebhistoryitem.cpp:
-
-2011-04-12 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=58280
- <rdar://problem/9252824> javascript in an inconsistent state due to serialization returning an un-handled exception.
-
- Add a header include. Fallout from untangling some header files in WebCore.
-
- * webkit/webkitwebhistoryitem.cpp:
-
-2011-02-03 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [GTK] The GTK+ DRT needs an implementation of the PlainTextController
- https://bugs.webkit.org/show_bug.cgi?id=53605
-
- Added jsValueToDOMRange to DumpRenderTreeSupportGtk. This static method can convert
- a JSValueRef to a WebKitDOMRange. When it's possible to do this with the public
- API, we can remove this method.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::jsValueToDOMRange): Added.
- * WebCoreSupport/DumpRenderTreeSupportGtk.h: Added declaration.
-
-2011-04-11 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Chris Fleizach.
-
- [Gtk] Implement support for Embedded Objects
- https://bugs.webkit.org/show_bug.cgi?id=52148
-
- New accessibility unit test for embedded objects.
-
- * tests/testatk.c:
- (testWebkitAtkEmbeddedObjects): New unit test.
- (main): Added the new unit test.
-
-2011-04-08 Dominic Cooney <dominicc@google.com>
-
- Reviewed by Adam Roben.
-
- Make layoutTestController.shadowRoot return null, not undefined,
- when its argument is invalid.
- https://bugs.webkit.org/show_bug.cgi?id=58121
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::shadowRoot):
-
-2011-04-08 Dominic Cooney <dominicc@google.com>
-
- Reviewed by Kent Tamura.
-
- layoutTestController.shadowRoot should return undefined if its
- argument is not an element.
- https://bugs.webkit.org/show_bug.cgi?id=58119
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::shadowRoot):
-
-2011-04-08 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Implement increment() and decrement() functions in DRT's AccessibilityUIElement
- https://bugs.webkit.org/show_bug.cgi?id=58039
-
- Implemented missing functions in GTK's DRT.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (modifyAccessibilityValue): Helper function to increment or decrement
- the current value for an object through the AccessibilityObject's API.
- (DumpRenderTreeSupportGtk::incrementAccessibilityValue): New function,
- to be used from GTK's DRT.
- (DumpRenderTreeSupportGtk::decrementAccessibilityValue): Ditto.
-
-2011-04-06 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Martin Robinson.
-
- [GTK] Need a way to get the path to a WebKitWebPlugin
- https://bugs.webkit.org/show_bug.cgi?id=57968
-
- Expose the path of the plugin through the WebKitWebPlugin object.
-
- * webkit/webkitwebplugin.cpp:
- (webkit_web_plugin_get_path):
- * webkit/webkitwebplugin.h:
- * webkit/webkitwebpluginprivate.h:
-
-2011-04-07 Alice Boxhall <aboxhall@chromium.org>
-
- Reviewed by Ryosuke Niwa.
-
- Move the MouseEventWithHitTestResults::targetNode() method on to EventHandler.
- https://bugs.webkit.org/show_bug.cgi?id=57921
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_forward_context_menu_event):
- Call subframeForHitTestResult rather than subframeForTargetNode as the targetNode()
- method has moved on to EventHandler.
-
-2011-04-05 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [Cairo] Better separate the concerns of GraphicsContextCairo
- https://bugs.webkit.org/show_bug.cgi?id=55150
-
- Add a PlatformContextCairo which right now stores the cairo_t* for a
- GraphicsContextCairo. Later patches will move logic for tracking ContextShadow
- and image masking layers into this PlatformContextCairo class.
-
- * webkit/webkitwebframe.cpp:
- (draw_page_callback):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_expose_event):
- (webkit_web_view_draw):
-
-2011-04-04 MORITA Hajime <morrita@google.com>
-
- Reviewed by Ryosuke Niwa.
-
- [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult
- https://bugs.webkit.org/show_bug.cgi?id=56085
-
- * WebCoreSupport/TextCheckerClientEnchant.h:
- (WebKit::TextCheckerClientEnchant::requestCheckingOfString):
-
-2011-04-04 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] WebGL support
- https://bugs.webkit.org/show_bug.cgi?id=31517
-
- Add support for toggling WebGL at runtime when it's enabled.
-
- * webkit/webkitwebsettings.cpp: Add the enable-webgl property. When ENABLE_WEBGL
- is not enabled, it's a no-op.
- (webkit_web_settings_class_init): Update to support enable-webgl.
- (webkit_web_settings_set_property): Ditto.
- (webkit_web_settings_get_property): Ditto.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings): Ditto.
-
-2011-04-04 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=51230
- <rdar://problem/8780989>
-
- * webkit/webkitwebview.cpp: (webkit_web_view_key_release_event): Moved Caps Lock handling from
- WebKits to WebCore, because WebKit shouldn't be smart.
-
-2011-04-04 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] webkit_web_view_popup_menu_handler should call SelectionController::localCaretRect
- https://bugs.webkit.org/show_bug.cgi?id=54633
-
- Remove use of legacy editing positions when positioning keyboard-driven context
- menus. Simplify the code greatly.
-
- * webkit/webkitwebview.cpp:
- (getLocationForKeyboardGeneratedContextMenu): Added this helper which calculates
- the context menu position.
- (webkit_web_view_popup_menu_handler): Simplify code preventing the menu from bumping
- into the edges of the view. Remove (0,-1) hack as it no longer seems to be important.
-
-2011-04-02 Dominic Cooney <dominicc@google.com>
-
- Reviewed by Martin Robinson.
-
- Add layoutTestController.shadowRoot to GTK DumpRenderTree.
- https://bugs.webkit.org/show_bug.cgi?id=57551
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::shadowRoot):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-04-01 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r82721.
- http://trac.webkit.org/changeset/82721
- https://bugs.webkit.org/show_bug.cgi?id=57687
-
- This patch introduced assertion failures on the GTK+ bots.
- (Requested by mrobinson on #webkit).
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-04-01 Dominic Cooney <dominicc@google.com>
-
- Reviewed by Martin Robinson.
-
- Add layoutTestController.shadowRoot to GTK DumpRenderTree.
- https://bugs.webkit.org/show_bug.cgi?id=57551
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::shadowRoot):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-03-31 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Link explicitly with XRender on Linux/Unix
- https://bugs.webkit.org/show_bug.cgi?id=57558
-
- * GNUmakefile.am: add XRender LIBS.
-
-2011-03-31 Evan Martin <evan@chromium.org>
-
- Build fix from previous change.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidReceiveTitle):
-
-2011-03-31 Evan Martin <evan@chromium.org>
-
- Reviewed by Eric Seidel.
-
- <title> should support dir attribute
- https://bugs.webkit.org/show_bug.cgi?id=50961
-
- Update to new FrameLoaderClient interface.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidReceiveTitle):
- (WebKit::FrameLoaderClient::setTitle):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2011-03-29 Philippe Normand <pnormand@igalia.com>
-
- Unreviewed, disable an assert in testwebview due to
- https://bugs.webkit.org/show_bug.cgi?id=57315
-
- * tests/testwebview.c:
-
-2011-03-28 Adele Peterson <adele@apple.com>
-
- Build fix.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::webkitWebFrameSelectionHasSpellingMarker):
-
-2011-03-28 Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Fullscreen tests failing after r82084
- https://bugs.webkit.org/show_bug.cgi?id=57219
-
- Added the withKeyboard parameter to supportsFullScreenForElement
- method in ChromeClient. Fullscreen will be disabled for keyboard
- access by default.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::supportsFullScreenForElement):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2011-03-25 Andy Estes <aestes@apple.com>
-
- Reviewed by Adele Peterson.
-
- REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
- https://bugs.webkit.org/show_bug.cgi?id=49016
-
- Update objectContentType() implementation to handle the
- shouldPreferPlugInsForImages flag.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::objectContentType):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2011-03-25 Priit Laes <plaes@plaes.org>
-
- Reviewed by Martin Robinson.
-
- [GTK] [PATCH] Avoid critical warning when free-ing list of plugins
- https://bugs.webkit.org/show_bug.cgi?id=57025
-
- * webkit/webkitwebplugindatabase.cpp:
- (webkit_web_plugin_database_plugins_list_free):
- Use regular check and return instead of g_return_if_fail.
-
-2011-03-24 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r81916 and r81917.
- http://trac.webkit.org/changeset/81916
- http://trac.webkit.org/changeset/81917
- https://bugs.webkit.org/show_bug.cgi?id=57071
-
- broke a test on platforms that do not have QuickTime installed
- (Requested by estes on #webkit).
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::objectContentType):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2011-03-24 Andy Estes <aestes@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
- https://bugs.webkit.org/show_bug.cgi?id=49016
-
- Update objectContentType() implementation to handle the
- shouldPreferPlugInsForImages flag.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::objectContentType):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2011-03-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Change IconDatabase opening to allow for arbitrary filenames
- https://bugs.webkit.org/show_bug.cgi?id=56977
-
- * webkit/webkiticondatabase.cpp:
- (webkit_icon_database_set_path):
-
-2011-03-22 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Xan Lopez.
-
- Applications that include WebKit headers fail to build when using strict warnings
- because the signature for webkit_application_cache_get_maximum_size is missing a
- 'void' to make it explicit it takes no arguments.
-
- * webkit/webkitapplicationcache.h:
-
-2011-03-21 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] 1.3.13 release bump
- https://bugs.webkit.org/show_bug.cgi?id=56795
-
- Version bump for 1.3.13 and updated NEWS file with release notes.
-
- * NEWS:
-
-2011-03-21 Chang Shu <cshu@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- REGRESSION (r79953): Can't type in MS Outlook 2011
- https://bugs.webkit.org/show_bug.cgi?id=56665
-
- r79953 removed the WebView level editablity which is persistent no matter whether
- underlying document itself is changed and editability gets lost. The resolution is to
- set this WebView editable value to WebCore. This avoids the callback from WebCore to
- WebKit which was the main goal in r79953 to improve performance.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_editable):
- (webkit_web_view_set_editable):
-
-2011-03-21 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] [Stable] AtkHypertext exposes wrong offsets for links placed inside <span> nodes
- https://bugs.webkit.org/show_bug.cgi?id=56737
-
- * tests/testatk.c:
- (testWebkitAtkHypertextAndHyperlinks): Updated unit test to also
- check offsets for hyperlinks inside <span> nodes.
-
-2011-03-18 David Keijser <keijser@gmail.com> and Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] On-demand event-listeners for DOM event signals
- https://bugs.webkit.org/show_bug.cgi?id=49649
-
- * tests/testdomdomwindow.c: update unit tests for new APIs.
- (load_event_callback): ditto.
- (test_dom_domview_signals): ditto.
- (load_status_callback): ditto.
-
-2011-03-17 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=56425
- More groundwork for WebKit2 IconDatabase
-
- Update already-used function names:
- * webkit/webkiticondatabase.cpp:
- (webkit_icon_database_get_icon_uri):
- (webkit_icon_database_get_icon_pixbuf):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_icon_uri):
-
-2011-03-16 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Viewport no longer allows an auto value for "user-scalable"
- https://bugs.webkit.org/show_bug.cgi?id=55416
-
- Make the default value for userScalable be true.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::dumpConfigurationForViewport): update test output to include userScalable.
- * webkit/webkitviewportattributes.cpp:
- (webkitViewportAttributesRecompute):
-
-2011-03-15 Ilya Sherman <isherman@chromium.org>
-
- Reviewed by Tony Chang.
-
- Autofilled form elements are assigned fixed background color but not text color
- https://bugs.webkit.org/show_bug.cgi?id=48382
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setAutofilled): Added.
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-03-14 Ryuan Choi <ryuan.choi@samsung.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Possible leaks after splitting TextCheckerClientEnchant.
- https://bugs.webkit.org/show_bug.cgi?id=55989
-
- Convert gchar* to GOwnPtr<gchar> and refactor the code.
-
- * WebCoreSupport/TextCheckerClientEnchant.cpp:
- (WebKit::TextCheckerClientEnchant::checkSpellingOfString):
-
-2011-03-11 Marco Peereboom <marco@peereboom.us>
-
- Reviewed by Gustavo Noronha Silva.
-
- Provide a knob to enable/disable DNS prefetching.
- DNS prefetching is enabled by default.
- https://bugs.webkit.org/show_bug.cgi?id=55973
-
- * 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):
- (webkit_web_view_settings_notify):
-
-2011-03-08 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] close-web-view emitted on disposed WebView
- https://bugs.webkit.org/show_bug.cgi?id=55932
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (ChromeClient::chromeDestroyed): Remove the closeSoonTimer glib
- source before destruction of the ChromeClient.
-
-2011-03-11 Roland Steiner <rolandsteiner@chromium.org>
-
- Reviewed by Ryosuke Niwa.
-
- Bug 55570 - Remove dependency of dom/InputElement.cpp on html/ and wml/
- https://bugs.webkit.org/show_bug.cgi?id=55570
-
- Add a virtual function toInputElement() to Node that has a default
- implementation of returning 0.
- For HTMLInputElement and WMLInputElement (which derive from InputElement)
- override this to return the object.
- Change all calling sites of the old toInputElement to use the new member
- function. This also allows us to save some casts.
-
- No new tests (refactoring).
-
- * src/WebInputElement.cpp:
- (WebKit::toWebInputElement):
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setValueForUser):
-
-2011-03-10 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] unittests/testapplicationcache crashes
- https://bugs.webkit.org/show_bug.cgi?id=56083
-
- Removed the webkit_application_cache_get_database_directory_path
- API as the underlying ApplicationCacheStorage doesn't allow
- setting the cache path multiple times.
-
- * tests/testapplicationcache.c:
- (main):
- * webkit/webkitapplicationcache.cpp:
- (webkit_application_cache_get_database_directory_path):
- * webkit/webkitapplicationcache.h:
- * webkit/webkitglobals.cpp:
- (webkitInit):
-
-2011-03-09 Peter Kasting <pkasting@google.com>
-
- Reviewed by Mihai Parparita.
-
- Unify Windows version checks.
- https://bugs.webkit.org/show_bug.cgi?id=55979
-
- * webkit/webkitwebsettings.cpp:
- (webkitOSVersion):
-
-2011-03-08 Christian Dywan <christian@lanedo.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] provide an API to control the IconDatabase
- https://bugs.webkit.org/show_bug.cgi?id=32510
-
- * GNUmakefile.am:
- * WebCoreSupport/FrameLoaderClientGtk.cpp: Emit signals on
- the icon database for new icons.
- * webkit/webkit.h:
- * webkit/webkitdefines.h:
- * webkit/webkitglobals.cpp:
- * webkit/webkitglobals.h: Add a function to obtain the global
- icon database.
- * webkit/webkiticondatabase.cpp:
- * webkit/webkiticondatabase.h: Implement public icon database
- object with methods for obtaining icon URLs, pixbufs, clearing
- waiting for new icons.
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h: Add a method to obtain an icon pixbuf
- for the web view.
-2011-03-08 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Add layoutTestController.setValueForUser() after r80412
- https://bugs.webkit.org/show_bug.cgi?id=55862
-
- Add setValueForUser method to DumpRenderTreeSupportGTK.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setValueForUser):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-03-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse
- https://bugs.webkit.org/show_bug.cgi?id=55827
-
- Renamed FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse
- and pass the entire response, instead of just the MIMEType.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForResponse):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2011-03-01 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Windowless plugins override the view cursor
- https://bugs.webkit.org/show_bug.cgi?id=55531
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::setCursor): Moved the implementation of setCursor here
- which is more fitting since it sets the cursor for the entire window.
-
-2011-03-03 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=55721
- Global IconDatabase should be returned by reference, not as a pointer
-
- * webkit/webkitglobals.cpp:
- (closeIconDatabaseOnExit):
- (WebKit::setIconDatabaseEnabled):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_icon_uri):
-
-2011-03-03 Alexey Proskuryakov <ap@apple.com>
-
- Removing an include of WebCoreKeyboardUIMode.h that Ive just added. It's already included
- via ChromeClient.h
-
- * WebCoreSupport/ChromeClientGtk.h:
-
-2011-03-02 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access
- https://bugs.webkit.org/show_bug.cgi?id=55633
- <rdar://problem/8963023>
-
- * WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::keyboardUIMode):
- * WebCoreSupport/ChromeClientGtk.h:
- Implement keyboardUIMode() instead of tabsToLinks(). No change in functionality, since
- this platform doesn't observe or have full keyboard access state.
-
-2011-03-03 Lukasz Slachciak <l.slachciak@samsung.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Extended application cache database API and added unit tests file.
- https://bugs.webkit.org/show_bug.cgi?id=55335
-
- * GNUmakefile.am: Add testapplicationcache.c and remove webkitapplicationcacheprivate.h.
- * tests/testapplicationcache.c: Added.
- (test_applicationcache_maximum_size): Tests if application cache storage is set/get correctly.
- (test_applicationcache_database_directory_path): Tests if application cache directory path is set/get correctly.
- (main):
- * webkit/webkitapplicationcache.cpp:
- (webkit_application_cache_get_maximum_size): New API for getting application cache maximum storage size.
- * webkit/webkitapplicationcache.h: Declaration of API for getting/setting application cache maximum storage size.
- * webkit/webkitapplicationcacheprivate.h: Removed.
-2011-03-03 Peter Kasting <pkasting@google.com>
-
- Reviewed by James Robinson.
-
- Drop redundant "Windows; " from the Windows-specific User Agent string.
- https://bugs.webkit.org/show_bug.cgi?id=54567
-
- * webkit/webkitwebsettings.cpp:
- (webkitPlatform):
- (webkitUserAgent):
-
-2011-03-02 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Do a bit of cleanup in ChromeClientGtk. Instead of always fetching the
- WebKitWebView from the frame, simply get it from the member variable of
- the ChromeClientGtk instance itself.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::scrollbarsVisible):
- (WebKit::ChromeClient::exceededDatabaseQuota):
- (WebKit::ChromeClient::requestGeolocationPermissionForFrame):
- (WebKit::ChromeClient::cancelGeolocationPermissionRequestForFrame):
- (WebKit::ChromeClient::enterFullscreenForNode):
- (WebKit::ChromeClient::exitFullscreenForNode):
-
-2011-03-01 Joseph Pecoraro <joepeck@webkit.org>
-
- Unreviewed. Roll out r80068 and r80073 due to breaking WebKit2 Qt port.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::dumpConfigurationForViewport):
- * webkit/webkitviewportattributes.cpp:
- (webkitViewportAttributesRecompute):
-
-2011-03-01 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Viewport Warning/Error Messages Are Now Inaccurate
- https://bugs.webkit.org/show_bug.cgi?id=53707
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::dumpConfigurationForViewport): pass a Document into computeViewportAttributes for warnings to be reported to.
- * webkit/webkitviewportattributes.cpp:
- (webkitViewportAttributesRecompute): pass a Document into computeViewportAttributes for warnings to be reported to.
-
-2011-03-01 Kamil Blank <k.blank@samsung.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Fixing headers order in webkit.h.
- https://bugs.webkit.org/show_bug.cgi?id=55316
-
- * webkit/webkit.h: Style fix.
-
-2011-03-01 Joone Hur <joone.hur@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [GTK] Convert use of cairo_t to RefPtr<cairo_t> in webkitwebiew.cpp
- https://bugs.webkit.org/show_bug.cgi?id=55437
-
- * webkit/webkitwebview.cpp: Convert use of cairo_t to RefPtr<cairo_t>.
- (webkit_web_view_expose_event):
-
-2011-02-28 Chang Shu <cshu@webkit.org>
-
- Reviewed by Ryosuke Niwa.
-
- Remove the support of Frame::isContentEditable and its dependencies.
- https://bugs.webkit.org/show_bug.cgi?id=54292
-
- Remove the WebKit side implementation. Make WebKit support depend on Document::inDesignMode.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- * WebCoreSupport/EditorClientGtk.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
- (webkit_web_view_get_editable):
- (webkit_web_view_set_editable):
- * webkit/webkitwebviewprivate.h:
-
-2011-02-26 Lukasz Slachciak <l.slachciak@samsung.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Implemented API to set/get web application cache directory path database.
-
- * GNUmakefile.am: Add webkitapplicationcache.h file.
- * webkit/webkit.h: Add webkitapplicationcache.h file.
- * webkit/webkitapplicationcache.cpp: definition of API setting and getting
- web application cache directory path database.
- (webkit_application_cache_get_database_directory_path):
- (webkit_application_cache_set_database_directory_path):
- * webkit/webkitapplicationcache.h: Added new API file for setting and getting
- web application cache directory path database.
- * webkit/webkitglobals.cpp:
- (webkitInit): use webkit_application_cache_set_database_directory_path
- to set default web application cache directory path database.
-
-2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- DumpRenderTree should reset frame opener between tests.
- https://bugs.webkit.org/show_bug.cgi?id=54874
-
- Added clearOpener method to DumpRenderTreeSupportGTK.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::clearOpener):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-02-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- Make it possible to test the targetdensity-dpi support
- https://bugs.webkit.org/show_bug.cgi?id=55142
-
- Test the viewport meta tag feature targetdensity-dpi by
- adding extra arguments to dumpConfigurationForViewport
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::dumpConfigurationForViewport):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-02-26 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r79764.
- http://trac.webkit.org/changeset/79764
- https://bugs.webkit.org/show_bug.cgi?id=55295
-
- "broke Chromium builds" (Requested by rniwa on #webkit).
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- DumpRenderTree should reset frame opener between tests.
- https://bugs.webkit.org/show_bug.cgi?id=54874
-
- Added clearOpener method to DumpRenderTreeSupportGTK.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::clearOpener):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-02-24 Peter Kasting <pkasting@google.com>
-
- Reviewed by Eric Seidel.
-
- Drop the "U; " encryption level from the User Agent string.
- https://bugs.webkit.org/show_bug.cgi?id=54566
-
- * webkit/webkitwebsettings.cpp:
- (webkitUserAgent):
-
-2011-02-24 Andrew Wilson <atwilson@chromium.org>
-
- Unreviewed, rolling out r79570.
- http://trac.webkit.org/changeset/79570
- https://bugs.webkit.org/show_bug.cgi?id=54874
-
- Breaks chromium build because glue/mocks/mock_web_frame.h/cc
- was not updated
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-02-24 Vsevolod Vlasov <vsevik@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- DumpRenderTree should reset frame opener between tests.
- https://bugs.webkit.org/show_bug.cgi?id=54874
-
- Added clearOpener method to DumpRenderTreeSupportGTK.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::clearOpener):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Drop the language tag part from the User Agent string
- https://bugs.webkit.org/show_bug.cgi?id=54560
-
- * webkit/webkitwebsettings.cpp:
- (webkitUserAgent):
-
-2011-02-22 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] position:fixed elements flicker while scrolling after r74196
- https://bugs.webkit.org/show_bug.cgi?id=54981
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::ChromeClient): Initialize the new m_pendingScrollInvalidations
- boolean to false.
- (WebKit::ChromeClient::invalidateWindow): If this is an immediate invalidation and we
- having pending scrolling invalidations, instruct GDK to process updates now.
- (WebKit::ChromeClient::scroll): Remove the call to gdk_window_process_updates. Set
- m_pendingScrollInvalidations to true to force it to happen in invalidateWindow instead.
- * WebCoreSupport/ChromeClientGtk.h: Add new boolean member.
-
-2011-02-02 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] DRT needs an implementation of LayoutTestController.setSelectTrailingWhitespace
- https://bugs.webkit.org/show_bug.cgi?id=53603
-
- Add setSelectTrailingWhitespaceEnabled and selectTrailingWhitespaceEnabled which allow
- setting and querying the selectTrailingWhitespaceEnabled setting. EditorClient just
- listens to this value during DRT runs. Perhaps later we can expose this to the public
- API.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setSelectTrailingWhitespaceEnabled): Added
- (DumpRenderTreeSupportGtk::selectTrailingWhitespaceEnabled): Added
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::isSelectTrailingWhitespaceEnabled): Ask DRTSupportGtk
- for the appropriate return value.
-
-2011-02-21 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] [REGRESSION] After r79130, spell tests did not work
- https://bugs.webkit.org/show_bug.cgi?id=54860
-
- * WebCoreSupport/TextCheckerClientEnchant.cpp:
- (WebKit::TextCheckerClientEnchant::checkSpellingOfString): Avoided
- freeing the default PangoLanguage.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings): Initialized list of dictionaries.
-
-2011-02-17 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Kent Tamura.
-
- Rename Position::node() to Position::deprecatedNode()
- https://bugs.webkit.org/show_bug.cgi?id=54622
-
- Done the rename. All calls to node() are replaced by calls to deprecatedNode().
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_popup_menu_handler):
-
-2011-02-19 Ryuan Choi <ryuan.choi@samsung.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Remove mandatory Enchant dependency
- https://bugs.webkit.org/show_bug.cgi?id=51587
-
- Extract TextCheckerClientEnchant From EditorClientGtk and remove
- enchant dependency from other files.
-
- * GNUmakefile.am:
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::EditorClient):
- * WebCoreSupport/EditorClientGtk.h:
- (WebKit::EditorClient::textChecker):
- * WebCoreSupport/TextCheckerClientEnchant.cpp: Added.
- (WebKit::TextCheckerClientEnchant::TextCheckerClientEnchant):
- (WebKit::TextCheckerClientEnchant::~TextCheckerClientEnchant):
- (WebKit::TextCheckerClientEnchant::ignoreWordInSpellDocument):
- (WebKit::TextCheckerClientEnchant::learnWord):
- (WebKit::TextCheckerClientEnchant::checkSpellingOfString):
- (WebKit::TextCheckerClientEnchant::getAutoCorrectSuggestionForMisspelledWord):
- (WebKit::TextCheckerClientEnchant::checkGrammarOfString):
- (WebKit::TextCheckerClientEnchant::getGuessesForWord):
- (WebKit::getAvailableDictionariesCallback):
- (WebKit::TextCheckerClientEnchant::updateSpellCheckingLanguage):
- (WebKit::TextCheckerClientEnchant::freeSpellCheckingLanguage):
- * WebCoreSupport/TextCheckerClientEnchant.h: Added.
- (WebKit::TextCheckerClientEnchant::requestCheckingOfString):
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_finalize):
- (webkit_web_settings_set_property):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_settings_notify):
-
-2011-02-19 Charlie Reis <creis@chromium.org>
-
- Reviewed by Mihai Parparita.
-
- Ensure loading has stopped in HistoryController::goToItem
- https://bugs.webkit.org/show_bug.cgi?id=54517
-
- Add a FrameLoaderClient callback for whether to stop loading before goToItem.
-
- Test: http/tests/navigation/forward-to-fragment-fires-onload.html
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClientGtk::shouldStopLoadingForHistoryItem): Added.
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2011-02-18 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [Gtk] atk_text_get_selection/atk_text_set_selection fails for list items
- https://bugs.webkit.org/show_bug.cgi?id=53453
-
- Update unit test to check the fix for this bug.
-
- * tests/testatk.c:
- (testWebkitAtkTextSelections): Check that functions from AtkText
- interface to set and get text selections work with list items.
-
-2011-02-17 Robert Ancell <rober.ancell@gmail.com>
-
- Reviewed by Martin Robinson.
-
- [PATCH] GTK documentation fails to build due to changed paths
- https://bugs.webkit.org/show_bug.cgi?id=54600
-
- * docs/GNUmakefile.am: Update the paths that have now moved the Source
- directory.
-
-2011-02-16 Joone Hur <joone.hur@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] Match more various WebKit API enum values with WebCore enum values
- https://bugs.webkit.org/show_bug.cgi?id=54352
-
- AssertMatchingEnums.cpp was added to assert that various WebKit API enum values
- continue matching WebCore defined enum values in the following changeset.
- http://trac.webkit.org/changeset/77868
- However, there are already enum values that have been asserted in other files,
- so these assert macros defined need to be moved to AssertMatchingEnum.cpp.
-
- * WebCoreSupport/AssertMatchingEnums.cpp: Add more enum values to be asserted.
- * webkit/webkitwebnavigationaction.cpp:
- (webkit_web_navigation_action_class_init): Move the assert macros of
- WEBKIT_WEB_NAVIGATION_REASON_* to AssertMatchingEnums.cpp.
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init): Move the assert macros of WEBKIT_EDITING_BEHAVIOR_*
- to AssertMatchingEnums.cpp.
-
-2011-02-16 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] events missing when a document is (re)loaded
- https://bugs.webkit.org/show_bug.cgi?id=25831
-
- Emit the right signals when reloading a document.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::notifyAccessibilityStatus): New function, to make sure
- the signals involved in reloading a document are properly emitted.
- (WebKit::notifyStatus): Also notify accessibility if enabled.
-
-2011-02-15 Kenneth Russell <kbr@google.com>
-
- Reviewed by Darin Fisher.
-
- Allow controlling minimum DOMTimer interval on a per-page basis
- https://bugs.webkit.org/show_bug.cgi?id=54312
-
- Added needed methods to implement LayoutTestController's new
- setMinimumTimerInterval method.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::defaultMinimumTimerInterval):
- (DumpRenderTreeSupportGtk::setMinimumTimerInterval):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-02-15 Christian Dywan <christian@lanedo.com>
-
- Rubber-stamped by Gustavo Noronha Silva.
-
- * webkit/webkitwebsettings.cpp: Correct a typo, it is
- acces*s*ibility with two s.
-
-2011-01-26 MORITA Hajime <morrita@google.com>
-
- Reviewed by Ryosuke Niwa.
-
- Refactoring: Extract TextCheckerClient from EditorClient
- https://bugs.webkit.org/show_bug.cgi?id=53213
-
- * WebCoreSupport/EditorClientGtk.h:
- (WebKit::EditorClient::textChecker):
-
-2011-02-07 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard
- https://bugs.webkit.org/show_bug.cgi?id=52417
-
- Added two callback functions, canCopyCut and canPaste to EditorClient. They are currently
- not implemented.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::canCopyCut): Added.
- (WebKit::EditorClient::canPaste): Added.
- * WebCoreSupport/EditorClientGtk.h:
-
-2011-02-14 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] testwebdatasource test fails in the bots
- https://bugs.webkit.org/show_bug.cgi?id=54414
-
- Changed the uri we check, added www to avoid the rewrite that we
- get when we as the uri to the request in case it finishes.
-
- * tests/testwebdatasource.c:
- (notify_load_status_cb):
-
-2011-02-11 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r78331.
- http://trac.webkit.org/changeset/78331
- https://bugs.webkit.org/show_bug.cgi?id=54295
-
- This patch broke 11 tests in GTK bots (Requested by svillar on
- #webkit).
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::notifyStatus):
-
-2011-02-10 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::FrameLoaderClient):
- (WebKit::FrameLoaderClient::didRunInsecureContent):
- (WebKit::FrameLoaderClient::dispatchDidLoadMainResource):
- (WebKit::FrameLoaderClient::finishedLoading):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_encoding):
-
-2011-02-11 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] events missing when a document is (re)loaded
- https://bugs.webkit.org/show_bug.cgi?id=25831
-
- Emit the right signals when reloading a document.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::notifyAccessibilityStatus): New function, to make sure
- the signals involved in reloading a document are properly emitted.
- (WebKit::notifyStatus): Also notify accessibility if enabled.
-
-2011-02-08 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] DRT needs an implementation of LayoutTestController.setIconDatabaseEnabled
- https://bugs.webkit.org/show_bug.cgi?id=54033
-
- Add a DumpRenderTreeSupportGtk method for turning the icon database on and off.
- This is a likely candidate for a new API point.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setIconDatabaseEnabled): Added.
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
- * webkit/webkitglobals.cpp:
- (webkitInit): Call setIconDatabaseEnabled(true) on startup, instead
- of initializing the database manually.
- (WebKit::setIconDatabaseEnabled): Added.
- * webkit/webkitglobalsprivate.h: Added declarations.
-
-2011-02-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove orphan code from old parser
- https://bugs.webkit.org/show_bug.cgi?id=53984
-
- * WebCoreSupport/ChromeClientGtk.h:
-
-2011-02-02 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController.
-
- https://bugs.webkit.org/show_bug.cgi?id=53169
-
- Minor change enforced by major changes in WebCore/inspector/InspectorController.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- * webkit/webkitwebinspector.cpp:
- (webkit_web_inspector_get_property):
-
-2011-02-08 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] DRT's TextInputController is unimplemented on GTK
- https://bugs.webkit.org/show_bug.cgi?id=52997
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::setComposition):
- (DumpRenderTreeSupportGtk::confirmComposition):
- (DumpRenderTreeSupportGtk::firstRectForCharacterRange):
- (DumpRenderTreeSupportGtk::selectedRange): New methods needed by
- TextInputController.
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-02-07 Enrica Casucci <enrica@apple.com>
-
- Reviewed Adam Roben and Darin Adler.
-
- WebKit2: drag and drop support on Windows.
- https://bugs.webkit.org/show_bug.cgi?id=52775
-
- Removed createDragImageForLink from DragClient.
-
- * WebCoreSupport/DragClientGtk.cpp:
- * WebCoreSupport/DragClientGtk.h:
-
-2011-02-07 Joone Hur <joone.hur@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [Gtk] Implement layoutTestController.findString
- https://bugs.webkit.org/show_bug.cgi?id=50237
-
- * GNUmakefile.am: Add AssertMatchingEnums.cpp.
- * WebCoreSupport/AssertMatchingEnums.cpp: Add this file to assert that various
- WebKit API enum values continue matching WebCore defined enum values.
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::findString):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-02-07 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Daniel Bates.
-
- [GTK] fast/history/history-subframe-with-name.html fails with GTK DRT
- https://bugs.webkit.org/show_bug.cgi?id=44784
-
- Call FrameLoader::loadURLIntoChildFrame on the parent frame's loader, not the child's.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createFrame): Fix the call to FrameLoader::loadURLIntoChildFrame.
-
-2011-02-07 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] atk_text_get_caret_offset fails for list items
- https://bugs.webkit.org/show_bug.cgi?id=53436
-
- Update unit test to check the fix for this bug.
-
- * tests/testatk.c:
- (testWebkitAtkCaretOffsets): Check that the caret offset returned
- match the value previously set.
-
-2011-02-04 Joone Hur <joone.hur@collabora.co.uk>
-
- Unreviewed, Fix compilation warning.
-
- Constructor initialization list should follow the declaration order.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::FrameLoaderClient): m_hasRepresentation is moved to
- the last position in the initialization list.
-
-2011-02-04 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] WebKitWebFrame can return a stale frame name when calling webkit_web_frame_get_name
- https://bugs.webkit.org/show_bug.cgi?id=53797
-
- When the frame name changes between different calls to webkit_web_frame_get_name
- on the same frame, return the new frame name instead of the one valid during the
- previous call.
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_init): Initialize the frame name to 0.
- (webkit_web_frame_get_name): Check the current frame name first before
- returning the cached value.
-
-2011-02-04 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] fast/events/pagehide-timeout.html fails
- https://bugs.webkit.org/show_bug.cgi?id=53771
-
- Add the document browser cache model. This model is optimized for viewing
- a series of local files, while the document viewer is optimized for only
- viewing one local file. Improve the documentation on the mapping of these
- enum values to actual cache settings.
-
- * webkit/webkitglobals.cpp:
- (webkit_set_cache_model): Add support for the document browser cache model and
- improve comments in this section better explaining where the magic numbers come from.
- * webkit/webkitglobals.h: Added an enum value for the document browser cache model.
-
-2011-02-03 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: remove settings related methods from InspectorClient
- https://bugs.webkit.org/show_bug.cgi?id=53686
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorFrontendClient::InspectorFrontendClient):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2011-02-03 Adam Langley <agl@chromium.org>
-
- Reviewed by Adam Barth.
-
- Plumb mixed script URL to FrameLoaderClient
- https://bugs.webkit.org/show_bug.cgi?id=52384
-
- Regressions covered by http/tests/security/mixedContent/*
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::didRunInsecureContent):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2011-02-03 Joone Hur <joone.hur@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [Gtk] No need to set text encoding in the provisional phase
- https://bugs.webkit.org/show_bug.cgi?id=53487
-
- According to changeset 67253, setEncoding could be called multiple times from
- committedLoad, finishedLoading, dispatchDidFailLoading, and setMainDocumentError
- in FrameLoaderClient. To fix this, the relevant code was removed from
- FrameLoaderClient and moved to DocumentLoader::commitData. However, that
- code was not removed from FrameLoaderClient::finishedLoading in WebKitGtk+.
-
- Due to this reason, after loading a html document, other ports initialize the
- text encoding from FrameLoaderClient::finishedLoading, but WebKitGtk+ sets
- the same encoding again, even tries to set encoding in the provisional phase.
- This causes unnecessary encoding setting.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::FrameLoaderClient): Set m_hasRepresentation to false.
- (WebKit::FrameLoaderClient::makeRepresentation): Set m_hasRepresentation to true.
- (WebKit::FrameLoaderClient::revertToProvisionalState): Set m_hasRepresentation to true.
- (WebKit::FrameLoaderClient::finishedLoading): Skip the encoding setting when
- m_hasRepresentation is false.
- * WebCoreSupport/FrameLoaderClientGtk.h: Added m_hasRepresentation.
-
-2011-02-02 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- Update the NEWS file in preparation for the 1.3.11 release.
-
- * NEWS: Update the NEWS.
-
-2011-02-02 Dan Winship <danw@gnome.org>
-
- Reviewed by Martin Robinson.
-
- [GTK] drop soup cache stuff, which has been moved to libsoup
- https://bugs.webkit.org/show_bug.cgi?id=50747
-
- * GNUmakefile.am: Remove old cache files.
-
-2011-02-02 David Hyatt <hyatt@apple.com>
-
- Reviewed by Darin Adler.
-
- Removal of right()/bottom(), converting to maxX()/maxY().
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_popup_menu_handler):
-
-2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [Gtk] atk_text_set_caret_offset fails for list items
- https://bugs.webkit.org/show_bug.cgi?id=53388
-
- Update unit test to check the fix for this bug.
-
- * tests/testatk.c:
- (testWebkitAtkCaretOffsets): Ensure setting the caret in a list
- item through the AtkText interface is possible.
-
-2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] character range extents is off when the end of a wrapped line is included
- https://bugs.webkit.org/show_bug.cgi?id=53323
-
- Update unit test to check the fix for this bug.
-
- * tests/testatk.c:
- (testWebkitAtkGetExtents): Check that the extent for a full line
- are the same height than for a partial section of the same line.
-
-2011-02-01 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Caret Offset is one off at the end of wrapped lines
- https://bugs.webkit.org/show_bug.cgi?id=53300
-
- Update unit test to check the fix for this bug.
-
- * tests/testatk.c:
- (testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces): Set and get
- the caret offset at the edge of the line.
-
-2011-01-31 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [Gtk] atk_text_set_caret_offset returns True even when it is unsuccessful
- https://bugs.webkit.org/show_bug.cgi?id=53389
-
- New unit test to check the fix for this bug.
-
- * tests/testatk.c:
- (testWebkitAtkCaretOffsets): New.
- (main): Add new test.
-
-2011-01-29 Dan Winship <danw@gnome.org>
-
- Reviewed by Xan Lopez.
-
- [GTK] Remove HAVE_LIBSOUP_2_29_90 and HAVE_GSETTINGS conditionals;
- we depend on glib 2.27.4 and libsoup 2.33.1 now.
- https://bugs.webkit.org/show_bug.cgi?id=50675
-
- * GNUmakefile.am:
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::storeSetting):
- * webkit/webkitprivate.cpp:
- (inspectorGSettings):
- * webkit/webkitprivate.h:
-
-2011-01-28 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- <select> can't display right-to-left (rtl) languages
- https://bugs.webkit.org/show_bug.cgi?id=19785
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added.
- * WebCoreSupport/ChromeClientGtk.h:
-
-2011-01-28 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Fix compilation warning
- https://bugs.webkit.org/show_bug.cgi?id=53292
-
- * webkit/webkitwebframe.cpp:
- (draw_page_callback): Cast the pageCount from size_t to int, it
- should be safe considering page_nr is the number of pages,
- 0-based.
-
-2011-01-27 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Adam Barth.
-
- Use Document::url() instead of FrameLoader::url().
- https://bugs.webkit.org/show_bug.cgi?id=41165
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_icon_uri):
-
-2011-01-27 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Space characters in source document interfere with reported caret offset
- https://bugs.webkit.org/show_bug.cgi?id=53033
-
- New unit test to check the fix for this bug.
-
- * tests/testatk.c:
- (testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces): New.
- (main): Add new unit test.
-
-2011-01-26 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Reliable crash with getTextAtOffset()
- https://bugs.webkit.org/show_bug.cgi?id=53131
-
- New unit test to check the fix for this bug.
-
- * tests/testatk.c:
- (testWebkitAtkGetTextAtOffsetWithSpecialCharacters): New.
- (main): Add new unit test.
-
-2011-01-21 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Show caps lock indicator in password fields
- https://bugs.webkit.org/show_bug.cgi?id=52878
-
- Test: manual-tests/password-caps-lock.html
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_key_release_event): Call
- capsLockStateMayHaveChanged() when caps lock key is pressed.
-
-2011-01-19 Joone Hur <joone.hur@collabora.co.uk>
-
- Reviewed by Andreas Kling.
-
- [GTK] No need to invalidate empty areas in ChromeClient::invalidateContentsAndWindow
- https://bugs.webkit.org/show_bug.cgi?id=52702
-
- Don't call gdk_window_invalidate_rect if an updated rectangle is empty.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::invalidateContentsAndWindow):
-
-2011-01-17 Philippe Normand <pnormand@igalia.com>
-
- Unreviewed, build fix for 2 GTK tests html file paths.
-
- * tests/testmimehandling.c:
- (main):
- * tests/testwebview.c:
-
-2011-01-16 Adam Barth <abarth@webkit.org>
-
- Rubber-stamped by Eric Seidel.
-
- Move WebKit into Source
- https://bugs.webkit.org/show_bug.cgi?id=52530
-
- * GNUmakefile.am:
-
-2011-01-14 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Antti Koivisto.
-
- Rename cache() to memoryCache()
- https://bugs.webkit.org/show_bug.cgi?id=52433
-
- * webkit/webkitglobals.cpp:
- (webkit_set_cache_model):
-
-2011-01-14 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed: gtk build fix (2).
-
- * webkit/webkitwebview.cpp:
-
-2011-01-14 Pavel Feldman <pfeldman@chromium.org>
-
- Not reviewed: gtk build fix.
-
- * webkit/webkitwebinspector.cpp:
-
-2011-01-13 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [gtk] Zero-sized font does not yet work
- https://bugs.webkit.org/show_bug.cgi?id=49793
-
- Allow 0 as a minimum-font-size value for the settings.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
-
-2011-01-12 Philippe Normand <pnormand@igalia.com>
-
- Unreviewed build fix for 32-bits Release. Include GRefPtrGtk.h so
- the GdkCursor templates are found and used at runtime.
-
- * WebCoreSupport/FullscreenVideoController.cpp:
-
-2011-01-11 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] GRefPtr should not be used with Gtk widgets
- https://bugs.webkit.org/show_bug.cgi?id=51241
-
- GRefPtr breaks the widget life-cycle, the main problem is
- that GRefPtr calls g_object_unref() when it's destroyed,
- which is undesirable for widgets. In gtk+ widgets are created with
- a floating reference and when added to a container, the container
- takes the ownership of the widget consuming the floating
- reference. So you don't usually need to call g_object_ref/unref on
- widgets (only for some operations like reparent a widget) and
- toplevel widgets are destroyed with gtk_widget_destroy().
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::DragClient):
- (WebKit::DragClient::~DragClient):
- (WebKit::DragClient::startDrag):
- * WebCoreSupport/DragClientGtk.h:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::postCommitFrameViewSetup):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_dispose):
- * webkit/webkitwebviewprivate.h:
-
-2011-01-10 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Update the NEWS file in preparation for the 1.3.10 release.
-
- * NEWS: Update the NEWS.
-
-2011-01-10 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Remove use of deprecated GTK+ methods before the 1.3.10 release
- https://bugs.webkit.org/show_bug.cgi?id=52173
-
- * WebCoreSupport/FullscreenVideoController.cpp:
- (FullscreenVideoController::enterFullscreen): Use a GRefPtr here to avoid having to
- call either g_object_unref or gdk_cursor_unref.
- * webkit/webkitwebview.cpp: Guard use of deprecated methods.
- (webkit_web_view_realize): Ditto.
- (webkit_web_view_drag_end): Ditto.
-
-2011-01-10 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Fix gtk2 compilation for master
- https://bugs.webkit.org/show_bug.cgi?id=51885
-
- * webkit/webkitsoupauthdialog.c:
- (show_auth_dialog): Removed the call to
- gtk_dialog_set_has_separator API to remove a warning.
-
-2011-01-10 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Create intermediate libWebCore library
- https://bugs.webkit.org/show_bug.cgi?id=52116
-
- * GNUmakefile.am: add libWebCore.la to LIBADD and remove webcore
- sources from the libwebkit library SOURCES.
-
-2011-01-09 Xianzhu Wang <phnixwxz@gmail.com>
-
- Reviewed by Darin Fisher.
-
- https://bugs.webkit.org/show_bug.cgi?id=41441
- createWindow method should only do window-creating without URL navigation
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::createWindow):
-
-2011-01-08 Martin Robinson <mrobinson@igalia.com>
-
- GTK+ build fix. Adding missing headers to the source list, fixing make dist.
-
- * GNUmakefile.am: Fix make dist.
-
-2011-01-07 Adam Barth <abarth@webkit.org>
-
- Rubber-stamped by Eric Seidel.
-
- Move WebCore to Source
- https://bugs.webkit.org/show_bug.cgi?id=52050
-
- * GNUmakefile.am:
-
-2011-01-07 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Chris Fleizach.
-
- GTK: AX: atk tests need to be updated after recent changes
- https://bugs.webkit.org/show_bug.cgi?id=51932
-
- Fix gtk_widget_get_accessible() in WebKitWebView to keep returning
- the AtkObject of role ATK_ROLE_DOCUMENT_FRAME.
-
- With the change to support WK2 accessibility, the root object of
- the AX hierarchy is different from what GTK expects as the current
- hirarchy right now includes a new accessible object as the parent
- of the accessible web area (AXScrollView).
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_accessible): Return the first child of the
- wrapper associated to the root accessible object in the document,
- to keep everything in the GTK port working as it used to be.
-
- Re-enable skipped ATK unit tests now they are passing again.
-
- * tests/testatk.c:
- (main): Re-enable skipped tests.
- * tests/testatkroles.c:
- (main): Ditto.
-
-2011-01-06 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- GTK: AX: atk tests need to be updated after recent changes
- https://bugs.webkit.org/show_bug.cgi?id=51932
-
- Skip ATK unit tests until we can look into what is causing these failures.
-
- * tests/testatk.c:
- (main): Skip all tests.
- * tests/testatkroles.c:
- (main): Ditto.
-
-2011-01-06 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Include a new header in the static headers list. This is necessary
- so that "make install" installs the header.
-
- * GNUmakefile.am: Include webkitglobals.h in the header list.
-
-2011-01-05 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Build fix for GTK+ 3.x. Remove the call to gtk_range_set_update_policy.
- GTK+ 3.x has removed this method and the default in GTK+ 2.x is continuous,
- so this call is unnecessary.
-
- * WebCoreSupport/FullscreenVideoController.cpp:
- (FullscreenVideoController::createHud): Remove call to gtk_range_set_update_policy().
-
-2011-01-04 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Martin Robinson.
-
- GTK: AX: DRT needs to use correct root object method.
- https://bugs.webkit.org/show_bug.cgi?id=51911
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::getRootAccessibleElement):
- (DumpRenderTreeSupportGtk::getFocusedAccessibleElement):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2011-01-04 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Sam Weinig.
-
- WK2: Support Accessibility
- https://bugs.webkit.org/show_bug.cgi?id=51859
-
- Use rootObject() method to get top of ax tree.
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::getFocusedAccessibleElement):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_accessible):
-
-2011-01-03 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Darin Adler.
-
- Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr
- https://bugs.webkit.org/show_bug.cgi?id=51846
-
- Changed all references to PlatformRefPtr in GTK+ code to GRefPtr.
-
-2011-01-03 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
-
- Final patch, removing webkitprivate.{cpp,h}, and adding a
- webkitglobals module to hold non-object-specific functions and
- definitions that do not make sense on their own.
-
- * GNUmakefile.am:
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::createWindow):
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- * WebCoreSupport/DocumentLoaderGtk.cpp:
- (WebKit::DocumentLoader::attachToFrame):
- * WebCoreSupport/DragClientGtk.cpp:
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::ignoreWordInSpellDocument):
- (WebKit::EditorClient::learnWord):
- (WebKit::EditorClient::checkSpellingOfString):
- (WebKit::EditorClient::getGuessesForWord):
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createDocumentLoader):
- * WebCoreSupport/InspectorClientGtk.cpp:
- * webkit/webkit.h:
- * webkit/webkitapplicationcache.cpp:
- (webkit_application_cache_set_maximum_size):
- * webkit/webkitdownload.cpp:
- (webkit_download_class_init):
- * webkit/webkitgeolocationpolicydecision.cpp:
- * webkit/webkitglobals.cpp: Added.
- (webkit_get_default_session):
- (webkit_set_cache_model):
- (webkit_get_cache_model):
- (webkit_get_web_plugin_database):
- (currentToplevelCallback):
- (closeIconDatabaseOnExit):
- (webkitInit):
- (WebKit::pasteboardHelperInstance):
- * webkit/webkitglobals.h: Added.
- * webkit/webkitglobalsprivate.h: Copied from WebKit/gtk/webkit/webkitwebsettingsprivate.h.
- * webkit/webkithittestresult.cpp:
- (webkit_hit_test_result_class_init):
- * webkit/webkitnetworkrequest.cpp:
- (webkit_network_request_class_init):
- * webkit/webkitnetworkresponse.cpp:
- (webkit_network_response_class_init):
- * webkit/webkitprivate.cpp: Removed.
- * webkit/webkitprivate.h: Removed.
- * webkit/webkitsecurityorigin.cpp:
- * webkit/webkitviewportattributes.cpp:
- * webkit/webkitwebbackforwardlist.cpp:
- (webkit_web_back_forward_list_class_init):
- * webkit/webkitwebdatabase.cpp:
- * webkit/webkitwebdatasource.cpp:
- (webkit_web_data_source_class_init):
- (webkit_web_data_source_new_with_request):
- (WebKit::kitNew):
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_class_init):
- * webkit/webkitwebframeprivate.h:
- * webkit/webkitwebhistoryitem.cpp:
- (webkit_web_history_item_class_init):
- * webkit/webkitwebinspector.cpp:
- * webkit/webkitwebnavigationaction.cpp:
- * webkit/webkitwebplugin.cpp:
- (webkit_web_plugin_class_init):
- * webkit/webkitwebplugindatabase.cpp:
- (webkit_web_plugin_database_class_init):
- * webkit/webkitwebpluginprivate.h:
- * webkit/webkitwebpolicydecision.cpp:
- * webkit/webkitwebresource.cpp:
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- (webkitWebViewGetEnchantDicts):
- (WebKit::core):
- * webkit/webkitwebsettingsprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
- * webkit/webkitwebview.h:
- * webkit/webkitwebwindowfeatures.cpp:
- (webkit_web_window_features_class_init):
- (WebKit::kitNew):
-
-2011-01-02 Xan Lopez <xlopez@igalia.com>
-
- Fix GTK+ build.
-
- * GNUmakefile.am: tests do actually include JSC.
-
-2011-01-02 Xan Lopez <xlopez@igalia.com>
-
- Fix GTK+ build.
-
- * GNUmakefile.am: remove individual -I$(srcdir)/Source when we'll
- already get them from javascriptcore_cppflags, and add it for the
- introspection build (which is not tested in the bots).
-
-2011-01-02 Adam Barth <abarth@webkit.org>
-
- Speculative build fix for GTK. Add Source to the include paths.
-
- * GNUmakefile.am:
-
-2011-01-01 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move JavaScriptCore to Source
- https://bugs.webkit.org/show_bug.cgi?id=51604
-
- * GNUmakefile.am:
- * docs/GNUmakefile.am:
- - Point to JavaScriptCore in its new location.
-
-2010-12-29 Martin Robinson <mrobinson@igalia.com>
-
- Build fix for GTK+.
-
- * webkit/webkitwebinspector.cpp: Add missing DumpRenderTreeSupportGtk include.
-
-2010-12-29 Martin Robinson <mrobinson@igalia.com>
-
- [GTK] GSettings warning is concealing real warnings on the build bots
- https://bugs.webkit.org/show_bug.cgi?id=51691
-
- Reviewed by Xan Lopez.
-
- Do not print the GSettings warning message when running in DumpRenderTree.
-
- * webkit/webkitwebinspector.cpp:
- (inspectorGSettings): Do not print the GSettings warning if we are running
- in DumpRenderTree. This should clean up the test results page a great deal.
-
-2010-12-28 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Closing a window during an onload event can trigger serious GLib warnings
- https://bugs.webkit.org/show_bug.cgi?id=51686
-
- Don't emit the close-web-view signal immediately during execution of closeWindowSoon.
- The signal handler may choose to destroy the web view while handling that signal,
- which may remove the last reference to the web view. FrameLoaderClient depends on the
- view still existing though. Instead, let the caller finish executing and emit the signal
- after a 0 length timeout. This matches the behavior on the Windows and Mac ports.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::ChromeClient): Initialize the timer id.
- (WebKit::emitCloseWebViewSignalLater): Callback for the timer.
- (WebKit::ChromeClient::closeWindowSoon): Do the actual signal invocation after
- the caller finishes its tasks.
- * WebCoreSupport/ChromeClientGtk.h: Add a new member for the timer id. We
- can use this to prevent emitting the close-web-view signal twice.
-
-2010-12-28 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [GTK] Clean up usage of NULL in webkitwebframe.cpp
- https://bugs.webkit.org/show_bug.cgi?id=51685
-
- Replace occurrences of NULL with 0, in webkitwebframe.cpp. Not all
- uses of NULL have been changed, as certain GLib functions require
- an explicit NULL as a sentinel.
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_get_data_source_from_core_loader):
- (webkit_web_frame_class_init):
- (webkit_web_frame_new):
- (webkit_web_frame_get_title):
- (webkit_web_frame_get_uri):
- (webkit_web_frame_get_web_view):
- (webkit_web_frame_get_name):
- (webkit_web_frame_get_parent):
- (webkit_web_frame_load_string):
- (webkit_web_frame_load_alternate_string):
- (webkit_web_frame_find_frame):
- (webkit_web_frame_get_global_context):
- (webkit_web_frame_get_data_source):
- (webkit_web_frame_get_provisional_data_source):
- (webkit_web_frame_print_full):
- (webkit_web_frame_get_security_origin):
- (webkit_web_frame_get_network_response):
-
-2010-12-27 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Ryosuke Niwa.
-
- [GTK] EditorClient::generateEditorCommands queues up "null string" commands
- https://bugs.webkit.org/show_bug.cgi?id=51569
-
- Prevent adding "null string" editor commands by first checking whether or not
- the command string is null in generateEditorCommands before appending it to the
- list of pending editor command strings.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::generateEditorCommands): Check for the null string (no
- command for this key combination) before appending a command string to the list of
- pending editor commands.
- (WebKit::EditorClient::executePendingEditorCommands): Add an ASSERT which detects
- null command strings.
-
-2010-12-27 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- Remove unneeded includes from our headers.
-
- * WebCoreSupport/PasteboardHelperGtk.h: ditto.
- * webkit/webkitprivate.h: ditto.
- * webkit/webkitsoupauthdialog.h: ditto.
-
-2010-12-21 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [GTK] minimal build with --database fails
- https://bugs.webkit.org/show_bug.cgi?id=51394
-
- * webkit/webkitprivate.cpp:
- (webkit_init): Use cacheStorage() only if the
- OFFLINE_WEB_APPLICATIONS feature is enabled.
-
-2010-12-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- WebKit2 needs to mirror the frame tree in the UIProcess
- https://bugs.webkit.org/show_bug.cgi?id=51546
-
- - Add client functions to notify that a frame has been added or
- removed from the page cache.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::didSaveToPageCache):
- (WebKit::FrameLoaderClient::didRestoreFromPageCache):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-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.
-
- [Gtk] Tooltips should be fully keyboard accessible
- https://bugs.webkit.org/show_bug.cgi?id=25525
-
- Position the tooltip under the current focused element when the
- tooltip has been triggered using the keyboard.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_query_tooltip):
- (webkit_web_view_show_help):
- (webkit_web_view_class_init):
-
-2010-11-29 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Tooltips not shown when scrolling
- https://bugs.webkit.org/show_bug.cgi?id=50143
-
- Convert tooltip area to window coordinates so that tooltips are
- shown even after scrolling.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::mouseDidMoveOverElement):
-
-2010-11-26 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Inspector: add a way to inspect a WebKitDOMNode
- https://bugs.webkit.org/show_bug.cgi?id=49903
-
- * webkit/webkitwebinspector.cpp:
- (webkit_web_inspector_inspect_node):
- * webkit/webkitwebinspector.h:
-
-2010-11-26 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] events missing when a document is (re)loaded
- https://bugs.webkit.org/show_bug.cgi?id=25831
-
- Emit the right signals when reloading a document.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::notifyAccessibilityStatus): New function, to make sure
- the signals involved in reloading a document are properly emitted.
- (WebKit::notifyStatus): Also notify accessibility if enabled.
-
- New unit test to check the signals are being actually emitted.
-
- * tests/testatk.c:
- (stateChangedCb): Callback for 'state-change' signal emitted by
- the accessible object associated to the webView.
- (documentReloadCb): Callback for 'reload' signal.
- (documentLoadCompleteCb): Callback for 'load-complete' signal.
- (webviewLoadStatusChangedCb): Callback for 'notify::load-status'
- signal, emitted by the WebKitWebView object (not the AtkObject).
- (testWebkitAtkDocumentReloadEvents): New unit test.
- (main): Added the new unit test.
-
-2010-11-24 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Make kit() methods return the proper type instead of gpointer
- https://bugs.webkit.org/show_bug.cgi?id=50034
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::shouldDeleteRange): get rid of unneeded cast.
- (WebKit::EditorClient::shouldShowDeleteInterface): ditto.
- (WebKit::EditorClient::shouldBeginEditing): ditto.
- (WebKit::EditorClient::shouldEndEditing): ditto.
- (WebKit::EditorClient::shouldInsertText): ditto.
- (WebKit::EditorClient::shouldChangeSelectedRange): ditto.
- (WebKit::EditorClient::shouldApplyStyle): ditto.
- (WebKit::EditorClient::shouldInsertNode): ditto.
- * webkit/webkitprivate.cpp:
- (WebKit::kit): ditto.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_dom_document): ditto.
-
-2010-11-24 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- Fix crashes in GTK+ bots. Use kit() instead of wrapFoo, otherwise
- the DOM objects won't be in the cache and we'll ASSERT when
- unreffing them.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::shouldDeleteRange): use kit to get the
- GObject wrapper for the DOM object.
- (WebKit::EditorClient::shouldShowDeleteInterface): ditto.
- (WebKit::EditorClient::shouldBeginEditing): ditto.
- (WebKit::EditorClient::shouldEndEditing): ditto.
- (WebKit::EditorClient::shouldInsertText): ditto.
- (WebKit::EditorClient::shouldChangeSelectedRange): ditto.
- (WebKit::EditorClient::shouldApplyStyle): ditto.
- (WebKit::EditorClient::shouldInsertNode): ditto.
-
-2010-11-24 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] The WebKitWebView should expose a set of signals encapsulating the behavior of the EditorClient
- https://bugs.webkit.org/show_bug.cgi?id=49143
-
- Add signals that encapsulate the functionality of the Mac EditingDelegate. These signals
- are private for now, but DRT consumes them to produce proper output for editing tests.
- After some time, these may be part of the public API.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::shouldDeleteRange): Fire the appropriate editing signal.
- (WebKit::EditorClient::shouldShowDeleteInterface): Ditto.
- (WebKit::EditorClient::shouldBeginEditing): Ditto.
- (WebKit::EditorClient::shouldEndEditing): Ditto.
- (WebKit::kit): Added helper function.
- (WebKit::EditorClient::shouldInsertText): Fire the appropriate editing signal.
- (WebKit::EditorClient::shouldChangeSelectedRange): Ditto.
- (WebKit::EditorClient::shouldApplyStyle): Ditto.
- (WebKit::EditorClient::didBeginEditing): Ditto.
- (WebKit::EditorClient::respondToChangedContents): Ditto.
- (WebKit::EditorClient::respondToChangedSelection): Ditto.
- (WebKit::EditorClient::didEndEditing): Ditto.
- (WebKit::EditorClient::shouldInsertNode): Ditto.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_real_should_allow_editing_action): Added this default signal
- callback which explicitly allows cancellable editing actions.
- (webkit_web_view_class_init): Add new editing signal declarations to the view.
- * webkit/webkitwebview.h:
- * webkitmarshal.list: Added some new marshaling definitions.
-
-2010-11-24 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r72499.
- http://trac.webkit.org/changeset/72499
- https://bugs.webkit.org/show_bug.cgi?id=50022
-
- This change is causing crashes on the bots. (Requested by
- mrobinson on #webkit).
-
- * tests/testatk.c:
- (main):
-
-2010-11-23 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Fix IFrame DOM bindings API
- https://bugs.webkit.org/show_bug.cgi?id=49980
-
- * tests/testdomdocument.c:
- (test_dom_document_garbage_collection): change to use the fixed
- IFrame APIs.
-
-2010-11-23 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Martin Robinson.
-
- focus issue with links that have tooltips
- https://bugs.webkit.org/show_bug.cgi?id=49498
-
- Set the area of the widget where the tooltip should be shown when
- a new tooltip is set. Since the widget is the same (the view), if
- the tooltip area is not set and a new tooltip is triggered while
- the previous one is still visible, the text of the tooltip is
- updated but its position doesn't change.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::mouseDidMoveOverElement):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_query_tooltip):
-
-2010-11-21 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-20 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- Remove leftover code in unit test.
-
- * GNUmakefile.am: remove unneeded utils file in dependency list.
- * tests/testdomdocument.c:
- (main): do not change to the directory of a non existing resource
- list.
-
-2010-11-20 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Memory managament for DOM GObject wrappers
- https://bugs.webkit.org/show_bug.cgi?id=40302
-
- Initial attempt to have a kind of poor man's garbage collection
- for GObject DOM objects. We tie the object's lifecycle to their
- parent Frame and/or its document; that is, all objects will be
- collected when their parent frame is destroyed or when that frame
- transitions to a new document. Manual management (calling
- g_object_unref on them) is also allowed, and is required for
- objects that are not in the DOM tree (eg NodeLists).
-
- * GNUmakefile.am: add testutils file to testdomdocument.c
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::setMainFrameDocumentReady): collect
- DOM objects on document transition.
- * tests/testdomdocument.c:
- (dom_document_fixture_teardown): only destroy the view if it's not
- already destroyed, since the new test detroys it on its own.
- (test_dom_document_get_elements_by_tag_name): manually unref node list.
- (test_dom_document_get_elements_by_class_name): ditto.
- (test_dom_document_get_links): ditto.
- (test_dom_document_garbage_collection): test all possible
- scenarios for DOM object "garbage collection".
- (main): add new test.
- * tests/testdomnode.c:
- (test_dom_node_hierarchy_navigation): manually unref node list.
- (test_dom_node_insertion): ditto.
- * webkit/webkithittestresult.cpp:
- (webkit_hit_test_result_dispose): unref the inner node on dispose
- now that the memory management model is clarified.
- (webkit_hit_test_result_class_init): hook dispose.
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_core_frame_gone): clear DOM objects attached to this frame.
- (webkit_web_frame_finalize): ditto.
-
-2010-11-18 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- Fix introspection build, we were missing a -I flag.
-
- * GNUmakefile.am:
-
-2010-11-18 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [Gtk] atk_text_get_selection returns the wrong offsets after a link
- https://bugs.webkit.org/show_bug.cgi?id=49514
-
- Updated test case to also chech this specific subcase.
-
- We need to explicitly check the case of having a selection in a
- paragraph after an embedded object (i.e. a link) to make sure the
- right calculations are being done when the paragraph is composed
- of more than just one text object, and the current selection is
- made only in one of them.
-
- * tests/testatk.c:
- (testWebkitAtkTextSelections): Make sure that a selection after a
- link in a paragraph is working ok when asking for the text
- selection from the point of view of the paragraph.
-
-2010-11-17 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Changing any GNUmakefile.am in the source tree forces a rebuld of the DOM bindings and WebKit APi
- https://bugs.webkit.org/show_bug.cgi?id=49400
-
- Add GNUmakefile.am and include all WebKit API build rules. Make webkitenum.*
- depend on this new file, instead of the generated GNUmakefile.am.
-
- * GNUmakefile.am: Copied from GNUmakefile.am.
-
-2010-11-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- Fix a typo that leads to emitting the wrong signal if it is done
- by using the signals array.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
-
-2010-11-16 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Some key-press events can't be handled by WebView
- https://bugs.webkit.org/show_bug.cgi?id=48986
-
- The problem is that "popup-menu" and "show-help" signals are
- handled by GtkTextView, as they are added to the key bindings set
- of every widget in gtk_widget_class_init(). For all other bindings
- handled by GtkTextView we are stopping the signal emission in
- their callbacks, so we only need to do the same for "popup-menu"
- and "show-help" signals.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::toggleOverwriteCallback):
- (WebKit::popupMenuCallback):
- (WebKit::showHelpCallback):
- (WebKit::EditorClient::EditorClient):
-
-2010-11-16 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Show default context menu for the currently focused element when activated with keyboard
- https://bugs.webkit.org/show_bug.cgi?id=49376
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_popup_menu_handler):
-
-2010-11-11 Joone Hur <joone@kldp.org>
-
- Reviewed by Antonio Gomes.
-
- [GTK][DRT] Implement LayoutTestController::nodesFromRect
- https://bugs.webkit.org/show_bug.cgi?id=46598
-
- Support nodesFromRect in DRT
-
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
- (DumpRenderTreeSupportGtk::nodesFromRect): Added.
- * WebCoreSupport/DumpRenderTreeSupportGtk.h:
-
-2010-11-11 Chang Shu <chang.shu@nokia.com>
-
- Reviewed by Antonio Gomes.
-
- [GTK] Replace "MoveForward"/"MoveBackward" with "MoveRight"/"MoveLeft"
- to make spatial navigation work on input/textarea.
- https://bugs.webkit.org/show_bug.cgi?id=49056
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::moveCursorCallback):
-
-2010-11-08 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [GTK] Link with target name set does not work
- https://bugs.webkit.org/show_bug.cgi?id=48865
-
- When a new page is created with a name (target=myFrame), the new
- mainFrame could not be found because they where not stored in the
- same PageGroup. As PageGroup are not exposed externally so the
- simpliest solution is to use a global page group name. This also fixes
- issue with visited link coloration across pages. After this change the
- private function webkit_web_view_set_group_name() was no longer used
- so it was removed completly.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::closeWindowSoon):
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::openInspectorFrontend):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2010-11-08 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=48685
- Notify UI process about focused frame
-
- Added an empty implementation of the new ChromeClient method.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::focusedFrameChanged):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2010-11-08 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Andreas Kling.
-
- [GTK] Error page templates are not filled properly
- https://bugs.webkit.org/show_bug.cgi?id=49148
-
- Replace a call to makeString with String::format. This was mistakenly
- changed to makeString in an earlier commit.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFailLoad):
-
-2010-11-08 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- * NEWS: update for release.
-
-2010-11-08 Csaba Osztrogonac <ossy@webkit.org>
-
- Unreviewed, rolling out r71466.
- http://trac.webkit.org/changeset/71466
- https://bugs.webkit.org/show_bug.cgi?id=48865
-
- It broke layout tests on GTK bots.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::closeWindowSoon):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
- (webkit_web_view_set_group_name):
-
-2010-11-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Rename Cache to MemoryCache
- https://bugs.webkit.org/show_bug.cgi?id=49159
-
- * webkit/webkitwebview.cpp:
-
-2010-11-05 Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [GTK] Link with target name set does not work correctly
- https://bugs.webkit.org/show_bug.cgi?id=48865
-
- When a new page is created with a name (target=myFrame), the new
- mainFrame could not be found because they where not stored in the
- same PageGroup. As PageGroup are not exposed externally so the
- simpliest solution is to use a global page group name. This also fixes
- issue with visited link coloration across pages. After this change the
- private function webkit_web_view_set_group_name() was no longer used
- so it was removed completly.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::closeWindowSoon):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2010-11-05 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Move resumeAnimations/suspendAnimations from Frame to AnimationController.
- https://bugs.webkit.org/show_bug.cgi?id=49073
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_suspend_animations):
- (webkit_web_frame_resume_animations):
-
-2010-11-05 Chris Marrin <cmarrin@apple.com>
-
- Unreviewed.
-
- Small fix to GTK build
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_suspend_animations):
- (webkit_web_frame_resume_animations):
-
-2010-11-05 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Make suspendAnimations/resumeAnimations and setCSSAnimations traverse through subframes and remember state
- https://bugs.webkit.org/show_bug.cgi?id=46945
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_suspend_animations):
- (webkit_web_frame_resume_animations):
-
-2010-11-03 Daniel Bates <dbates@rim.com>
-
- For unnamed frames, window.name returns a generated name
- https://bugs.webkit.org/show_bug.cgi?id=6751
-
- Part 1 of 2.
-
- Substitute FrameTree::uniqueName() for FrameTree::name() in the GTK port.
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_get_name):
-
-2010-11-02 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Adam Barth.
-
- [Cairo] Remove PlatformRefPtrCairo
- https://bugs.webkit.org/show_bug.cgi?id=48192
-
- Replace instances of PlatformRefPtr smart pointers that wrap Cairo
- types with RefPtrs.
-
- * WebCoreSupport/DragClientGtk.cpp: Use RefPtr instead of PlatformRefPtr.
- (WebKit::dragIconWindowDrawEventCallback):
- * WebCoreSupport/DragClientGtk.h: Ditto.
-
-2010-11-02 Daniel Bates <dbates@rim.com>
-
- Reviewed by Martin Robinson.
-
- Set frame name before appending it to the frame tree in the Apple Windows,
- GTK, and EFL ports
- https://bugs.webkit.org/show_bug.cgi?id=48806
-
- Make the frame creation process in the GTK-port consistent with the
- Mac, Qt, and Haiku ports. In particular, set the name of the new
- frame before it's appended to the frame tree.
-
- At this time we cannot test this change since it is being masked by
- HTMLFrameElementBase::setName() <http://trac.webkit.org/browser/trunk/WebCore/html/HTMLFrameElementBase.cpp?rev=70976#L160>.
- We'll be able to test this once we fix bug #6751.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createFrame):
-
-2010-11-01 Jennifer Braithwaite <jennb@google.com>
-
- Reviewed by Martin Robinson.
-
- GTK: Update resource tracking when moving a frame between documents
- https://bugs.webkit.org/show_bug.cgi?id=48362
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::transferLoadingResourceFromPage):
- Assign resource id to current web view and remove from former web view.
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_remove_resource):
- Added.
-
-2010-11-01 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Cleanup needed in testatk.c file
- https://bugs.webkit.org/show_bug.cgi?id=48759
-
- Cleanup done in testatk.c, mainly addressing the following issues:
-
- - Removed any trace of extra main loops in tests, so now we just
- spin the original main loop in all of them to get the a11y
- objects.
-
- - As we no longer use the extra main loops, removed the bail_out
- function, used along with g_idle_add() to stop those extra loops.
-
- - As we now spin the loop in every test, created a new function
- waitForAccessibilityObjects() to write the loop just once.
-
- - Fixed name in incorrectly named test testWekitAtkTextSelections.
-
- - Alphabetically sorted the list of includes.
-
- - Renamed all identifiers to camel Case notation.
-
- - Declare variables when needed only (instead of declaring all of
- them at the beginning of the function).
-
- - Don't declare two variables of the same type in the same line.
-
- - No more short names like 'obj', 'textObj' or 'alloc'. Use names
- like 'object', 'textObject' and 'allocation' instead.
-
- - Fixed indentation.
-
- - Make sure all comments finish with '.'
-
- - Replace NULL's with 0's.
-
- * tests/testatk.c:
- (waitForAccessibleObjects): New, manually spins the main context
- to make sure accessible objects are created before continuing.
- (testGetTextFunction): Fixed this function to be compliant with
- the WebKit's coding style.
- (runGetTextTests): Ditto.
- (testWebkitAtkGetTextAtOffsetForms): Ditto.
- (testWebkitAtkGetTextAtOffset): Ditto.
- (testWebkitAtkGetTextAtOffsetNewlines): Ditto.
- (testWebkitAtkGetTextAtOffsetTextarea): Ditto.
- (testWebkitAtkGetTextAtOffsetTextInput): Ditto.
- (testWebkitAtkGetTextInParagraphAndBodySimple): Ditto.
- (testWebkitAtkGetTextInParagraphAndBodyModerate): Ditto.
- (testWebkitAtkGetTextInTable): Ditto.
- (testWebkitAtkGetHeadersInTable): Ditto.
- (compAtkAttribute): Ditto.
- (atkAttributeSetAttributeNameHasValue): Ditto.
- (testWebkitAtkTextAttributes): Ditto.
- (testWebkitAtkTextSelections): Ditto.
- (testWebkitAtkGetExtents): Ditto.
- (testWebkitAtkLayoutAndDataTables): Ditto.
- (testWebkitAtkLinksWithInlineImages): Ditto.
- (testWebkitAtkHypertextAndHyperlinks): Ditto.
- (testWebkitAtkListsOfItems): Ditto.
- (testWebkitAtkTextChangedNotifications): Ditto.
- (main): Ditto.
-
-2010-11-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
- Context menu support for WebKit 2.
-
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::showContextMenu):
-
-2010-11-01 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Pasting markup into Thunderbird compose window produces no text
- https://bugs.webkit.org/show_bug.cgi?id=43737
-
- Added a test verifying that the meta tag prefix on markup data exists.
-
- * tests/testcopyandpaste.c:
- (load_status_cb): Add a check for the meta tag prefix.
-
-2010-11-01 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [Gtk] AtkHyperlink needs to be implemented
- https://bugs.webkit.org/show_bug.cgi?id=33785
-
- New test to ensure the AtkHypertext/AtkHyperlink stuff works.
-
- * tests/testatk.c:
- (testWebkitAtkHypertextAndHyperlinks): New test, checking both the
- implementation of the AtkHypertext interface, the subclass of the
- AtkHyperlink abstract class, and the implementation of the
- AtkAction interface in that subclass.
- (main): Added the new unit test.
-
-2010-10-30 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Use new width for height APIs in GTK+ 3.x
- https://bugs.webkit.org/show_bug.cgi?id=48709
-
- Use the new width for height APIs in GTK+ 3.x, since size-request
- is deprecated.
-
- For now we just return the same value for preferred and minimum
- width/height, which should match the 2.x behavior. Probably we
- could do something smarter for the minimum values.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_preferred_width): return our preferred width.
- (webkit_web_view_get_preferred_height): return our preferred height.
- (webkit_web_view_class_init): hook the new default handlers.
-
-2010-10-29 Daniel Bates <dbates@rim.com>
-
- No review, rolling out 70971.
- http://trac.webkit.org/changeset/70971
- https://bugs.webkit.org/show_bug.cgi?id=6751
-
- Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
- it caused layout test failures on all bots. In particular, the
- child count in a generated frame name differs after this patch. We need
- to look into this further.
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_get_name):
-
-2010-10-28 Antonio Gomes <agomes@rim.com>
-
- Reviewed by Ojan Vafai.
-
- Needs a "LinuxEditingBehavior", perhaps with a better name
- https://bugs.webkit.org/show_bug.cgi?id=36627
-
- Added the corresponding GTK+ setting to WebCore's EditingUnixBehavior: WEBKIT_EDITING_BEHAVIOR_UNIX.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- * webkit/webkitwebsettings.h:
-
-2010-10-29 Daniel Bates <dbates@rim.com>
-
- Reviewed by Adam Barth.
-
- For unnamed frames, window.name returns a generated name
- https://bugs.webkit.org/show_bug.cgi?id=6751
-
- Modified GTK-port to use FrameTree::uniqueName().
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_get_name):
-
-2010-10-29 Martin Robinson <mrobinson@igalia.com>
-
- Build fix for GTK+ after BackForwardListImpl introduction.
-
- * webkit/webkitwebbackforwardlist.cpp:
- (webkit_web_back_forward_list_new_with_web_view):
-
-2010-10-29 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Change BackForwardList clients to use BackForwardListImpl to prepare for further refactoring
- https://bugs.webkit.org/show_bug.cgi?id=48574
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebbackforwardlist.cpp:
- (webkit_web_back_forward_list_dispose):
- (webkit_web_back_forward_list_new_with_web_view):
- (webkit_web_back_forward_list_go_forward):
- (webkit_web_back_forward_list_go_back):
- (webkit_web_back_forward_list_contains_item):
- (webkit_web_back_forward_list_go_to_item):
- (webkit_web_back_forward_list_get_forward_list_with_limit):
- (webkit_web_back_forward_list_get_back_list_with_limit):
- (webkit_web_back_forward_list_get_back_item):
- (webkit_web_back_forward_list_get_current_item):
- (webkit_web_back_forward_list_get_forward_item):
- (webkit_web_back_forward_list_get_nth_item):
- (webkit_web_back_forward_list_get_back_length):
- (webkit_web_back_forward_list_get_forward_length):
- (webkit_web_back_forward_list_get_limit):
- (webkit_web_back_forward_list_set_limit):
- (webkit_web_back_forward_list_add_item):
- (webkit_web_back_forward_list_clear):
- (WebKit::core):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_set_maintains_back_forward_list):
- (webkit_web_view_get_back_forward_list):
- Use BackForwardListImpl.
-
-2010-10-29 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=48576
- Let WebKit2 client know when a frame is a frameset
-
- Added a blank implementation of the new FrameLoaderClient method.
-
- * WebCoreSupport/FrameLoaderClientGtk.h:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidBecomeFrameset):
-
-2010-10-29 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Add the GtkScrollablePolicy property to the webview
- https://bugs.webkit.org/show_bug.cgi?id=48357
-
- Added the GtkScrollablePolicy properties to the webview widget, it
- is now required for GtkScrollable widgets in GTK+ 3.x.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (setHorizontalScrollPolicy): Added.
- (setVerticalScrollPolicy): Added.
- (getHorizontalScrollPolicy): Added.
- (getVerticalScrollPolicy): Added.
- (webkit_web_view_get_property):
- (webkit_web_view_set_property):
- (webkit_web_view_class_init):
-
-2010-10-28 Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] WebKitWebFrame's load-status is not properly notified to the tests
- https://bugs.webkit.org/show_bug.cgi?id=48048
-
- "frame-created" signal must be issued before loading any data,
- that way clients can correctly capture all the loading related
- signals for that frame.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createFrame):
-
-2010-10-27 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- getTextAtOffset returns incorrect results if a link includes text and an image
- https://bugs.webkit.org/show_bug.cgi?id=47365
-
- New test to make sure this bug is actually fixed.
-
- * tests/testatk.c:
- (testWebkitAtkLinksWithInlineImages): New test.
- (main): Added new test.
-
-2010-10-26 Antonio Gomes <agomes@rim.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Implement DumpRenderTreeSupportGtk (similarly to DumpRenderTreeSupportQt idea)
- https://bugs.webkit.org/show_bug.cgi?id=48199
-
- Implemented an initial version of the DumpRenderTreeSupportGtk class.
- The main idea is that it groups together the bodies of many LayoutTestController
- methods, so they can directly access WebCore features. This way we eliminate the
- need of adding APIs to WebKitGTK just to expand its test coverage through DRT.
-
- The DumpRenderTreeSupportGtk class so far includes a getter and setter for the WebKitTabToLinksPreferenceKey
- property as a sample implementation. Also it makes it possible to unskip fast/events/tab-focus-anchor.html and
- to fix stderr messages from all 22 spatial-navigation tests in fast/events/spatial-navigation.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::tabsToLinks):
- * WebCoreSupport/DumpRenderTreeSupportGtk.cpp: Added.
- (DumpRenderTreeSupportGtk::DumpRenderTreeSupportGtk):
- (DumpRenderTreeSupportGtk::~DumpRenderTreeSupportGtk):
- (DumpRenderTreeSupportGtk::setDumpRenderTreeModeEnabled):
- (DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled): Getter to the WebKitTabToLinksPreferenceKey property.
- (DumpRenderTreeSupportGtk::setLinksIncludedInFocusChain): Setter to the WebKitTabToLinksPreferenceKey property.
- (DumpRenderTreeSupportGtk::linksIncludedInFocusChain):
- * WebCoreSupport/DumpRenderTreeSupportGtk.h: Added.
-
-2010-10-26 Jenn Braithwaite <jennb@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Resource tracking failure when trying to move a frame between documents
- https://bugs.webkit.org/show_bug.cgi?id=44713
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::transferLoadingResourceFromPage):
- Empty method.
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2010-10-26 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Chris Fleizach.
-
- [Gtk] Layout tables should indicate that they are not data tables via an object attribute
- https://bugs.webkit.org/show_bug.cgi?id=35422
-
- New unit test to check the 'layout-guess' attribute in tables.
-
- * tests/testatk.c:
- (atkAttributeSetAttributeNameHasValue): New, looks for a attribute
- with a specific value, by the name of attribute.
- (atkAttributeSetContainsAttributeName): New, just checks whether
- an attribute with a specified name is present in the set.
- (atkAttributeSetAttributeHasValue): Modified to relay on the new
- function atkAttributeSetAttributeNameHasValue().
- (testWebkitAtkLayoutAndDataTables): New test.
- (main): Added the new test.
-
-2010-10-26 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Port to new GtkScrollable interface in GTK+ 3.x
- https://bugs.webkit.org/show_bug.cgi?id=48202
-
- Use the new GtkScrollable interface when compiling against GTK+
- 3.x.
-
- * webkit/webkitwebview.cpp:
- (setHorizontalAdjustment):
- (setVerticalAdjustment):
- (getHorizontalAdjustment):
- (getVerticalAdjustment):
- (webkit_web_view_get_property):
- (webkit_web_view_set_property):
- (webkit_web_view_class_init):
-
-2010-10-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WebKit2 needs to pass the current event modifier flags when requesting a new window
- https://bugs.webkit.org/show_bug.cgi?id=48140
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::createWindow):
- * WebCoreSupport/ChromeClientGtk.h:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchCreatePage):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- Add NavigationAction parameter.
-
-2010-10-20 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] use gtk_widget_hide instead of gtk_widget_hide_all in the fullscreen video conroller
- https://bugs.webkit.org/show_bug.cgi?id=47972
-
- * WebCoreSupport/FullscreenVideoController.cpp:
- (FullscreenVideoController::hideHud):
- (FullscreenVideoController::exitFullscreen):
-
-2010-10-19 Joone Hur <joone@kldp.org>
-
- Reviewed by Martin Robinson.
-
- [GTK] Needs fixing mistyped comments in the API documentation
- https://bugs.webkit.org/show_bug.cgi?id=47656
-
- Fixed mistyped comments in the API documenentation.
-
- * webkit/webkitwebsettings.cpp: Fixed a mistyped comment in the the section block.
- * webkit/webkitwebwindowfeatures.cpp: Fixed a mistyped comment in the section block.
-
-2010-10-18 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- * NEWS: update for 1.3.5 release.
- * docs/webkitgtk-sections.txt: add new APIs.
-
-2010-10-18 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Simon Fraser.
-
- Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
- https://bugs.webkit.org/show_bug.cgi?id=46224
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::sendMessageToFrontend):
-
-2010-10-14 Antonio Gomes <agomes@rim.com>
-
- Reviewed by Martin Robinson and Xan Lopez.
-
- [Gtk]: DRT does not support frame flattening testing
- https://bugs.webkit.org/show_bug.cgi?id=38650
-
- Implement enable-frame-flattening API for Gtk+.
-
- * 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):
- (webkit_web_view_settings_notify):
-
-2010-10-15 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- Replace some String::format() usages by StringConcatenate in WebKit
- https://bugs.webkit.org/show_bug.cgi?id=47714
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFailLoad):
- * webkit/webkitwebsettings.cpp:
- (webkitOSVersion):
- (webkitUserAgent):
-
-2010-10-14 Joone Hur <joone@kldp.org>
-
- Reviewed by Andreas Kling.
-
- [GTK] google.co.kr was missed when checking Google domains
- https://bugs.webkit.org/show_bug.cgi?id=47652
-
- WebKitGtk+ maintains a list of Google domains for working well with Google sites.
- Add google.co.kr also to the list to be checked with other Google domains.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::initializeDomainsList): Added google.co.kr.
-
-2010-10-13 Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Martin Robinson.
-
- WebKitGtk+ to use the new API from the imported SoupURILoader code
-
- [GTK] Add HTTP caching support
- https://bugs.webkit.org/show_bug.cgi?id=44261
-
- ResourceHandleInternal m_msg is now called m_soupMessage.
-
- * webkit/webkitdownload.cpp:
- (webkit_download_new_with_handle):
- (webkit_download_start):
-
-2010-10-13 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Remove more warnings from the g-i scanner run
- https://bugs.webkit.org/show_bug.cgi?id=47255
-
- Fixes almost all warnings coming from the g-i scanner.
-
- * webkit/webkitsecurityorigin.cpp: Rename parameter names in
- gtk-doc blurb to the actual name of the parameter.
- * webkit/webkitsoupauthdialog.c: ditto.
- (webkit_soup_auth_dialog_class_init): Write missing doc for the
- 'current-toplevel' signal.
- * webkit/webkitsoupauthdialog.h: Rename signal parameter to its
- actual name.
- * webkit/webkitwebdatabase.cpp: Rename parameter names in
- gtk-doc blurb to the actual name of the parameter.
- * webkit/webkitwebinspector.cpp: ditto.
- (webkit_web_inspector_class_init): ditto.
- * webkit/webkitwebview.cpp: ditto.
- (webkit_web_view_class_init): ditto.
- * webkit/webkitwebview.h: Rename the parameter names to be in sync
- with the ones we use in the function definition.
-
-2010-10-12 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r69589.
- http://trac.webkit.org/changeset/69589
- https://bugs.webkit.org/show_bug.cgi?id=47547
-
- Wrong patch landed from a bug with two patches (Requested by
- mrobinson on #webkit).
-
- * webkit/webkitdownload.cpp:
- (webkit_download_new_with_handle):
- (webkit_download_start):
-
-2010-10-12 Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Add HTTP caching support
- https://bugs.webkit.org/show_bug.cgi?id=44261
-
- ResourceHandle's m_msg renamed to m_soupMsg and it's also now a PlatformRefPtr
-
- * webkit/webkitdownload.cpp:
- (webkit_download_new_with_handle):
- (webkit_download_start):
-
-2010-10-09 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Removed unused callback in webkitwebview
- https://bugs.webkit.org/show_bug.cgi?id=47092
-
- In webkit_web_view_forward_context_menu_event() a callback is
- connected for the destroy signal of the popup menu, however we
- reuse the same menu always, holding a ref to it, so it's not
- destroyed when withdrawn by the user.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_forward_context_menu_event):
-
-2010-10-08 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Remove duplicate code in WebKit/gtk/WebCoreSupport/DragClientGtk.cpp
- https://bugs.webkit.org/show_bug.cgi?id=47367
-
- Remove as much duplicate code as possible from DragClientGtk. Most of this code
- is GTK2/GTK3 independent, so only the bits that aren't should be protected by
- #ifdefs.
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::dragIconWindowDrawEventCallback): Modified the name of this callback
- so that it is shared between build types.
- (WebKit::DragClient::DragClient): Updated the signal connectors to reflect the change above.
- (WebKit::DragClient::~DragClient): The build types share the callback name, so remove
- the #ifdef here.
- (WebKit::DragClient::drawDragIconWindow): Changed the name of this method and make it
- independent of the build type.
- * WebCoreSupport/DragClientGtk.h: Update method declaration and remove #ifdefs.
-
-2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Use draw instead of expose_event in WebView when building with gtk3
- https://bugs.webkit.org/show_bug.cgi?id=47338
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_expose_event):
- (webkit_web_view_draw):
- (webkit_web_view_class_init):
-
-2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Don't use GtkObject
- https://bugs.webkit.org/show_bug.cgi?id=47090
-
- GtkObject has been removed in gtk3.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::generateEditorCommands):
- * WebCoreSupport/FullscreenVideoController.cpp:
- (FullscreenVideoController::createHud):
-
-2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Fix the build for GTK+ 3
- https://bugs.webkit.org/show_bug.cgi?id=47249
-
- Use GdkVisual instead of GdkColormap. GdkColormap has been removed
- in gtk3
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_realize):
-
-2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Fix the build for GTK+ 3
- https://bugs.webkit.org/show_bug.cgi?id=47249
-
- Do not use GdkDrawable deprecated API. Some methods of GdkDrawable
- are deprecated in gtk2 and have been removed in gtk3. Equivalent
- API has been added to GdkWindow.
-
- * tests/testcopyandpaste.c:
- (runPasteTestCallback):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_button_press_event):
-
-2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Use draw signal instead of expose_event in DragClientGtk when building with gtk3
- https://bugs.webkit.org/show_bug.cgi?id=47326
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::dragIconWindowDrawCallback):
- (WebKit::DragClient::DragClient):
- (WebKit::DragClient::~DragClient):
- (WebKit::DragClient::startDrag):
- (WebKit::DragClient::dragIconWindowDraw):
- * WebCoreSupport/DragClientGtk.h:
-
-2010-10-07 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Fix the build for GTK+ 3
- https://bugs.webkit.org/show_bug.cgi?id=47249
-
- Don't use gtk_size_request_get_size(). It has been removed,
- gtk_widget_get_preferred_size() should be used instead
-
- * webkit/webkitwebview.cpp:
- (PopupMenuPositionFunc):
-
-2010-10-06 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r69201.
- http://trac.webkit.org/changeset/69201
- https://bugs.webkit.org/show_bug.cgi?id=47279
-
- This change broke the WebKitGTK+ build for GTK+ 2.0.
- (Requested by mrobinson on #webkit).
-
- * tests/testcopyandpaste.c:
- (runPasteTestCallback):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_button_press_event):
-
-2010-10-06 Carlos Garcia Campos <cgarcia@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Port to gtk+3 (2.91.0)
- https://bugs.webkit.org/show_bug.cgi?id=47249
-
- Do not use GdkDrawable deprecated API
-
- Some methods of GdkDrawable are deprecated in gtk2 and have been
- remmoved in gtk3. Equivalent API has been added to GdkWindow.
-
- * tests/testcopyandpaste.c:
- (runPasteTestCallback):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_button_press_event):
-
-2010-09-28 Jenn Braithwaite <jennb@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
- https://bugs.webkit.org/show_bug.cgi?id=46663
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::didTransferChildFrameToNewDocument):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2010-09-27 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Chris Fleizach.
-
- [Gtk] Adjust atk_text_get_text_at_offset to account for bullets/numbers in list items
- https://bugs.webkit.org/show_bug.cgi?id=45381
-
- Updated test to match the new exposure of list item markers.
-
- Also, added some extra assertions in that test to make sure the
- accessible objects associated to the items implement AtkText.
-
- * tests/testatk.c:
- (testWebkitAtkListsOfItems):
- (main):
-
-2010-09-27 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Doesn't build with gtk+ 2.14
- https://bugs.webkit.org/show_bug.cgi?id=46565
-
- Fixed the build for GTK+ 2.14. Don't use gdk_window_get_cursor()
- for that GTK+ version as I found no acceptable way to work-around
- its absence.
-
- * WebCoreSupport/FullscreenVideoController.cpp:
- (FullscreenVideoController::showHud):
- (FullscreenVideoController::hideHud):
- (FullscreenVideoController::enterFullscreen):
-
-2010-09-26 Jenn Braithwaite <jennb@chromium.org>
-
- Reviewed by Adam Barth.
-
- GTK client needs updating when live iframe element is moved
- between pages.
- https://bugs.webkit.org/show_bug.cgi?id=46300
-
- Test: fast/frames/iframe-reparenting-adopt-node.html
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::didTransferChildFrameToNewDocument):
- Update the webView for the frame to match the parent frame's
- webView.
-
-2010-09-24 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] opening local files on win32
- https://bugs.webkit.org/show_bug.cgi?id=31066
-
- Add tests that check the mime type returned by local files loaded via file URLs.
-
- * tests/testmimehandling.c:
- (testRemoteMimeType): Added.
- (testLocalMimeType): Added.
- (main): Run tests by using g_test_add_data_func with either
- testRemoteMimeType or testLocalMimeType.
-
-2010-09-23 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Nate Chapin.
-
- [GTK] Some tests from r68174 fail on the GTK+ bots
- https://bugs.webkit.org/show_bug.cgi?id=46396
-
- Fix since version number in this new WebKitWebSettings property.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init): Fix the since version number.
-
-2010-09-23 Nate Chapin <japhet@chromium.org>
-
- Unreviewed, build fix.
-
- Add a missing comma in webkitwebsettings.cpp.
-
- * webkit/webkitwebsettings.cpp:
-
-2010-09-23 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Add hyperlink auditing settings (i.e., <a ping>).
- https://bugs.webkit.org/show_bug.cgi?id=30458
-
- * 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):
- (webkit_web_view_settings_notify):
-
-2010-09-22 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Replace instances of g_timeout_add() with g_idle_add() in testatk.c
- https://bugs.webkit.org/show_bug.cgi?id=46284
-
- Use g_idle_add() whenever g_timeout_add() was being used.
-
- This is desired because it's better to rely on the main loop to
- decide when it's a good moment to execute the task (when idle)
- than manually setting a timeout, which also sets a minimum amount
- of time needed to get the function executed.
-
- * tests/testatk.c:
- (testWekitAtkTextSelections):
- (testWebkitAtkGetExtents):
- (testWebkitAtkListsOfItems):
- (main):
-
-2010-09-22 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [Gtk] object:text-changed events should be emitted for entries and password text
- https://bugs.webkit.org/show_bug.cgi?id=25898
-
- New unit test to make sure text-changed signals are emitted
-
- * tests/testatk.c:
- (textChangedCb): New. Signal handler for the
- text-changed::insert and text-changed::delete signals.
- (checkTextChangesAndBailOut): New. Source function to check
- the global result of the test and quit from the main loop.
- (testWebkitAtkTextChangedNotifications): New test.
- (main):
-
-2010-09-22 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Added information about drop shadow improvements to the NEWS file.
-
- * NEWS: Added information about drop shadow improvements.
-
-2010-09-21 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Fix transfer annotations for WebKitGTK+ static API
- https://bugs.webkit.org/show_bug.cgi?id=46244
-
- Deal with all the warnings related to transfer issues. Mostly the
- problem was the transfer being missing, but there were also typos
- in the function name or missing ':' at the end of the function
- name in the gtk-doc.
-
- * webkit/webkitdownload.cpp:
- * webkit/webkitnetworkrequest.cpp:
- * webkit/webkitnetworkresponse.cpp:
- * webkit/webkitsecurityorigin.cpp:
- * webkit/webkitwebdatabase.cpp:
- * webkit/webkitwebdatasource.cpp:
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebhistoryitem.cpp:
- * webkit/webkitwebinspector.cpp:
- * webkit/webkitwebresource.cpp:
- * webkit/webkitwebsettings.cpp:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
- (webkit_web_view_get_main_frame):
-
-2010-09-21 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Update for 1.3.4 release.
-
- * NEWS:
-
-2010-09-17 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
- https://bugs.webkit.org/show_bug.cgi?id=42863
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_zoom_level):
- (webkit_web_view_apply_zoom_level):
- (webkit_web_view_set_full_content_zoom):
- Call functions on Frame instead of FrameView.
-
-2010-09-16 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Implement dissolveDragImageToFraction
- https://bugs.webkit.org/show_bug.cgi?id=45826
-
- To support full alpha in the drag icon, changed the drag icon to be a
- GtkWindow with an RGBA colormap. Added logic to support painting the drag
- image to this window during the expose event.
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::dragIconWindowExposeEventCallback): Added.
- (WebKit::DragClient::DragClient): Initialize the new drag icon window.
- (WebKit::DragClient::~DragClient): Disconnect the expose event signal.
- (WebKit::DragClient::startDrag): Resize the drag icon window the appropriate size and
- if necessary, set its colormap.
- (WebKit::DragClient::dragIconWindowExposeEvent): Added.
- * WebCoreSupport/DragClientGtk.h: Added new member and method declarations.
-
-2010-09-14 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Carlson and Martin Robinson.
-
- [GTK] eventSender.contextClick() should return the contents of the context menu
- https://bugs.webkit.org/show_bug.cgi?id=39102
-
- New private WebView API to retrieve the context-menu widget. This
- is used by DRT only.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_context_menu):
-
-2010-09-16 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- GTK+ 3.x. updates, gtk_widget_size_request is deprecated and
- "activate-slider" style property for scrollbars is gone.
-
- * webkit/webkitwebview.cpp:
- (PopupMenuPositionFunc):
-
-2010-09-15 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by David Levin.
-
- [GTK] [REGRESSION] r67591 broke the testwebbackforwardlist API test and introduced a memory leak
- https://bugs.webkit.org/show_bug.cgi?id=45865
-
- When initializing the backForwardList private member of the WebView, do
- so with adoptPlatformRef to prevent a memory leak.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init): Initialize member with adoptPlatformRef.
-
-2010-09-15 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Eric Seidel.
-
- [Gtk] Use GOwnPtr for code that needs it
- https://bugs.webkit.org/show_bug.cgi?id=21594
-
- Convert as reference counted private members of WebKitWebView to
- smart pointers as possible. This removes a lot of unecessary manual
- memory management. Also convert some pointer members away from pointer
- types, now that we are sure their destructors are called.
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- (WebKit::inputMethodsMenuItem): Updated to reflect PlatformRefPtr changes.
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::startDrag): Ditto.
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::setInputMethodState): Ditto.
- (WebKit::EditorClient::respondToChangedSelection): Ditto.
- (WebKit::EditorClient::handleInputMethodKeydown): Ditto.
- (WebKit::EditorClient::handleInputMethodMousePress): Ditto.
- (WebKit::EditorClient::EditorClient): Ditto.
- (WebKit::EditorClient::~EditorClient): Ditto.
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::postCommitFrameViewSetup): Ditto.
- * webkit/webkitprivate.h: Ditto.
- * webkit/webkitwebview.cpp: Ditto.
- (destroy_menu_cb): Ditto.
- (webkit_web_view_forward_context_menu_event): Ditto.
- (webkit_web_view_key_release_event): Ditto.
- (webkit_web_view_button_press_event): Ditto.
- (webkit_web_view_button_release_event): Ditto.
- (webkit_web_view_focus_in_event): Ditto.
- (webkit_web_view_focus_out_event): Ditto.
- (webkit_web_view_realize): Ditto.
- (webkit_web_view_set_scroll_adjustments): Ditto.
- (webkit_web_view_dispose): Changed all g_object_unref calls to
- PlatformRefPtr.clear(). Although this will also be done by the manual
- call to the WebKitWebViewPrivate destructor, the order that these
- fields are zero'd in is still very sensitive.
- (webkit_web_view_finalize): Updated to reflect PlatformRefPtr changes.
- (webViewGetDPI): Ditto.
- (webkit_web_view_screen_changed): Ditto.
- (webkit_web_view_drag_end): Ditto.
- (webkit_web_view_drag_data_get): Ditto.
- (doDragLeaveLater): Ditto.
- (webkit_web_view_drag_leave): Ditto.
- (webkit_web_view_drag_motion): Ditto.
- (webkit_web_view_drag_data_received): Ditto.
- (webkit_web_view_drag_drop): Ditto.
- (webkit_web_view_get_im_context): Ditto.
- (webkit_web_view_update_settings): Ditto.
- (webkit_web_view_init): Ditto.
- (webkit_web_view_set_settings): Ditto.
- (webkit_web_view_get_settings): Ditto.
- (webkit_web_view_get_inspector): Ditto.
- (webkit_web_view_set_window_features): Ditto.
- (webkit_web_view_get_window_features): Ditto.
- (webkit_web_view_get_back_forward_list): Ditto.
- (webkit_web_view_zoom_in): Ditto.
- (webkit_web_view_zoom_out): Ditto.
- (webkit_web_view_add_resource): Ditto.
- (webkit_web_view_get_resource): Ditto.
- (webkit_web_view_get_main_resource): Ditto.
- (webkit_web_view_clear_resources): Ditto.
- (webkit_web_view_get_subresources): Ditto.
-
-2010-09-14 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] fast/events/keydown-numpad-keys.html produces many GLib warnings
- https://bugs.webkit.org/show_bug.cgi?id=45775
-
- Handle the toggle-overwrite signal on the GtkTextView used for generating editing
- commands. Ignore this signals, as the default handler assumes that the GtkTextView
- has a layout and this one does not.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::toggleOverwriteCallback): Added. Cancels the default handler.
- (WebKit::EditorClient::EditorClient): Attach a handler for toggle-overwrite.
-
-2010-09-14 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: Provide network-based load timing.
- Before this change, inspector used timers taken from
- within WebCore notifications (that are by definition
- synchronous and serialized). As a result, timing was
- affected by the routines running on the main thread
- (JavaScript and such).
- https://bugs.webkit.org/show_bug.cgi?id=45664
-
- * webkit/webkitdownload.cpp:
- (DownloadClient::didFinishLoading):
-
-2010-09-15 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r67551.
- http://trac.webkit.org/changeset/67551
- https://bugs.webkit.org/show_bug.cgi?id=45816
-
- "Plugin tests fail" (Requested by yurys on #webkit).
-
- * webkit/webkitdownload.cpp:
- (DownloadClient::didFinishLoading):
-
-2010-09-14 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: Provide network-based load timing.
- Before this change, inspector used timers taken from
- within WebCore notifications (that are by definition
- synchronous and serialized). As a result, timing was
- affected by the routines running on the main thread
- (JavaScript and such).
- https://bugs.webkit.org/show_bug.cgi?id=45664
-
- * webkit/webkitdownload.cpp:
- (DownloadClient::didFinishLoading):
-
-2010-09-13 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Sam Weinig.
-
- Paste should be implemented in WebCore like Copy and Cut for Mac also.
- https://bugs.webkit.org/show_bug.cgi?id=45494
- <rdar://problem/7660537>
-
- On the Mac platform, the implementation of the paste operation is all done
- at the WebKit level. In order to support it on WebKit2 it is necessary to
- refactor the code and move this functionality at the level of WebCore like
- we already have on Windows.
- The original code relies on some in AppKit functions that call back into
- WebKit causing problems in WebKit2. All this functionality has been moved
- at the level of the editor client where it can be dealt with appropriately.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::canShowMIMETypeAsHTML): Added stub.
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2010-09-13 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Provide unit tests for AtkText's text selection functions
- https://bugs.webkit.org/show_bug.cgi?id=43919
-
- New tests to check getting, setting and removing text selections
-
- * tests/testatk.c:
- (testWekitAtkTextSelections): New unit tests to check all the text
- selection related functions altogether through a single test
- function.
- (main):
-
- Make sure that code dependant on getting information from the
- clipboard gets executed only when there's a GDK window associated
- to the webview widget, as that's not the case when executing the
- unit tests (the wedbview is not inside of any toplevel window) and
- will make the tests crash if not taken into account.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::respondToChangedSelection):
-
-2010-09-11 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] Make introspection work with g-o-i 0.9.5
- https://bugs.webkit.org/show_bug.cgi?id=45590
-
- Use new type syntax and bump version number of the gir file.
-
- * JSCore.gir.in:
-
-2010-09-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Darin Adler.
-
- Add NetworkingContext to avoid layer violations
- https://bugs.webkit.org/show_bug.cgi?id=42292
-
- * webkit/webkitdownload.cpp:
- (webkit_download_start):
- * webkit/webkitprivate.cpp:
- (currentToplevelCallback):
-
-2010-09-10 Sam Weinig <sam@webkit.org>
-
- Fix GTK build.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_set_full_content_zoom):
-
-2010-09-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
- Precursor to <rdar://problem/7660657>
- https://bugs.webkit.org/show_bug.cgi?id=45522
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_zoom_level):
- (webkit_web_view_apply_zoom_level):
- (webkit_web_view_set_full_content_zoom):
-
-2010-09-10 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Fix warnings because of bad assignments in testatk.c
- https://bugs.webkit.org/show_bug.cgi?id=45538
-
- Use AtkObject and AtkText instances properly in the code.
-
- * tests/testatk.c:
- (testWebkitAtkListsOfItems):
-
-2010-09-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Fisher.
-
- Move code from WebKit-layer to DocumentLoader
- https://bugs.webkit.org/show_bug.cgi?id=45569
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::committedLoad):
-
-2010-09-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Main resource bytes shouldn't bounce through FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=45496
-
- Now return the bytes to the DocumentLoader.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::committedLoad):
-
-2010-09-10 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Placement new / manual destructor invocation should be used on private GObject memory
- https://bugs.webkit.org/show_bug.cgi?id=45550
-
- GLib allocates and deallocates GObject private data structs itself. When
- those structs contain C++ members, their constructors and destructors are not
- called. This is not only dangerous, it makes RefPtr-type smart pointers much
- less useful. We can fix this problem by calling placement new on the private
- data struct during instance initialization and calling the destructor during
- finalization.
-
- This patch takes that approach and switches plain char* members of
- WebKitWebView (with manual memory allocation) to use CString.
-
- * webkit/webkitprivate.h: Switch char* members to CString.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_finalize): Manually call the destructor on the private
- data. Remove manual deallocation of members which are now CString.
- (webkit_web_view_query_tooltip): Update to reflect CString change.
- (webkit_web_view_init): Use placement new to initialize C++ members of
- the private data section.
- (webkit_web_view_get_encoding): Update to reflect CString change.
- (webkit_web_view_get_custom_encoding): Ditto.
- (webkit_web_view_add_resource): Ditto.
- (webkit_web_view_get_resource): Ditto.
- (webkit_web_view_clear_resources): Ditto.
- (webkit_web_view_set_tooltip_text): Ditto.
- (webkit_web_view_get_icon_uri): Ditto.
-
-2010-09-10 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Martin Robinson.
-
- [GTK] Google sites do not like WebKitGTK+
- https://bugs.webkit.org/show_bug.cgi?id=39617
-
- Special-case Google domains, and spoof User-Agent when talking to
- them, to stop being treated as a second-class citizen.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::initializeDomainsList):
- (WebKit::isGoogleDomain):
- (WebKit::FrameLoaderClient::userAgent): If enable-site-specific-quirks
- is enabled, send the standard WebKit User-Agent string, disregarding the
- custom one set by the browser for Google domains.
- * webkit/webkitprivate.h:
- * webkit/webkitwebsettings.cpp:
- (webkitPlatform): Fix style, and simplify.
- (webkitOSVersion): Ditto.
- (webkitUserAgent): Add the Version/x.y string Safari has been
- using since Safari 2.2.
-
-2010-09-10 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- Fix compilation with GTK+ 3.x.
-
- GDK key macros were renamed from GDK_FOO to GDK_KEY_FOO, we need
- to include the compat header provided if we want to keep using the
- old names.
-
- * WebCoreSupport/FullscreenVideoController.cpp: include GtkVersioning.h
-
-2010-09-08 Darin Adler <darin@apple.com>
-
- Reviewed by Adam Barth.
-
- Move functions from Frame to Editor as planned
- https://bugs.webkit.org/show_bug.cgi?id=45218
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_set_highlight_text_matches):
- (webkit_web_view_get_selected_text):
- (webkit_web_view_set_editable):
- Changed call sites to use editor().
-
-2010-09-09 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [GTK] testmimehandling falsely succeeds testing Ogg mime type
- https://bugs.webkit.org/show_bug.cgi?id=45349
-
- Make this actually test an ogg file request instead of pdf and
- changed the expected result to match libsoup content-sniffing
- result in the case of ogg/vorbis file.
-
- * tests/testmimehandling.c:
- (mime_type_policy_decision_requested_cb):
- (test_mime_ogg):
-
-2010-09-08 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [Gtk] A list item's number/bullet should not be a child of that list item
- https://bugs.webkit.org/show_bug.cgi?id=45190
-
- New unit test added.
-
- * tests/testatk.c:
- (testWebkitAtkListsOfItems): New test to check ordered/unordered
- list of items are properly exposed to AT technologies.
- (main):
-
-2010-09-07 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Fix some feature guards
- https://bugs.webkit.org/show_bug.cgi?id=45302
-
- * webkit/webkitprivate.h: Add ENABLE(VIDEO) guards for video specific members.
-
-2010-09-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Darin Adler.
-
- Add NetworkingContext to avoid layer violations
- https://bugs.webkit.org/show_bug.cgi?id=42292
-
- Add GTK's specific implementation of FrameNetworkingContext.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createNetworkingContext):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2010-09-03 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Dialog separators are gone in GTK+ 3.x.
-
- * webkit/webkitsoupauthdialog.c:
- (show_auth_dialog):
-
-2010-09-02 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
- https://bugs.webkit.org/show_bug.cgi?id=44230
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::notifyWebViewDestroyed):
- (WebKit::InspectorFrontendClient::destroyInspectorWindow):
- (WebKit::InspectorFrontendClient::closeWindow):
- (WebKit::InspectorFrontendClient::disconnectFromBackend):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2010-08-31 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=44863, disentangle style recalc from layout, so that
- the former can occur in more places without having to do the latter.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_expose_event):
-
-2010-08-31 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Isolate all GTK+ typedefs into one file
- https://bugs.webkit.org/show_bug.cgi?id=44900
-
- * WebCoreSupport/EditorClientGtk.h: Remove GTK+ typedefs.
- * WebCoreSupport/FullscreenVideoController.h: Ditto.
-
-2010-08-31 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- Preparations for the 1.3.4 release.
-
- * NEWS:
- * docs/webkitgtk-docs.sgml:
-
-2010-08-31 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Minor documentation typo fix.
-
- * webkit/webkitwebview.cpp:
-
-2010-08-30 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Martin Robinson.
-
- [Gtk] gdk_display_get_core_pointer and gdk_device_get_core_pointer
- are deprecated
- https://bugs.webkit.org/show_bug.cgi?id=44787
-
- We have replaced GtkVersioning.cpp with GtkVersioning.c and
- created a function (getDefaultGDKPointerDevice) to get the pointer
- of the window with the new APIs. We added that function to DRT and
- copyandpaste unit test.
-
- * tests/testcopyandpaste.c:
- (runPasteTestCallback):
-
-2010-08-30 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r66198.
- http://trac.webkit.org/changeset/66198
- https://bugs.webkit.org/show_bug.cgi?id=44856
-
- It made tests crash on Qt bot (Requested by Ossy_ on #webkit).
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::notifyWebViewDestroyed):
- (WebKit::InspectorFrontendClient::destroyInspectorWindow):
- (WebKit::InspectorFrontendClient::closeWindow):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2010-08-27 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
- https://bugs.webkit.org/show_bug.cgi?id=44230
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::notifyWebViewDestroyed):
- (WebKit::InspectorFrontendClient::destroyInspectorWindow):
- (WebKit::InspectorFrontendClient::closeWindow):
- (WebKit::InspectorFrontendClient::disconnectFromBackend):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2010-08-26 Yury Semikhatsky <yurys@chromium.org>
-
- Unreviewed. Revert r66103 since Qt tests are failing.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::notifyWebViewDestroyed):
- (WebKit::InspectorFrontendClient::destroyInspectorWindow):
- (WebKit::InspectorFrontendClient::closeWindow):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2010-08-26 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
- https://bugs.webkit.org/show_bug.cgi?id=44230
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::notifyWebViewDestroyed):
- (WebKit::InspectorFrontendClient::destroyInspectorWindow):
- (WebKit::InspectorFrontendClient::closeWindow):
- (WebKit::InspectorFrontendClient::disconnectFromBackend):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2010-08-26 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Martin Robinson.
-
- [GTK] WebKitGTK+ needs proper introspection annotation for most types and methods
- https://bugs.webkit.org/show_bug.cgi?id=44565
-
- Add documentation and introspection specific information to a few
- getter and setter methods.
-
- * webkit/webkitwebview.cpp:
-
-2010-08-25 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- confirm dialog should show OK/Cancel instead of Yes/No for consistency
- https://bugs.webkit.org/show_bug.cgi?id=32877
-
- Change the button labels for the fallback confirmation dialog to be
- OK and Cancel.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_script_dialog):
-
-2010-08-25 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- Cairo and EFL port shouldn't depend on glib.
- https://bugs.webkit.org/show_bug.cgi?id=44354
-
- Replace occurrences of GRefPtr and adoptGRef with PlatformRefPtr and
- adoptPlatformRef.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::requestGeolocationPermissionForFrame):
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::startDrag):
- * WebCoreSupport/EditorClientGtk.h:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchWillSendRequest):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebKit::FrameLoaderClient::createPlugin):
- * WebCoreSupport/FullscreenVideoController.h:
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::populateSetting):
- (WebKit::InspectorClient::storeSetting):
- * webkit/webkitdownload.cpp:
- (webkit_download_error):
- * webkit/webkitnetworkrequest.cpp:
- (webkit_network_request_new_with_core_request):
- * webkit/webkitnetworkresponse.cpp:
- (webkit_network_response_new_with_core_response):
-
-2010-08-24 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Martin Robinson.
-
- Set a device to the event struct when building with GTK+ 3.x, it's
- mandatory.
-
- * tests/testcopyandpaste.c:
- (runPasteTestCallback):
-
-2010-08-24 Martin Robinson <mrobinson@igalia.com>
-
- Build fix for GTK+.
-
- * tests/testkeyevents.c:
- (key_press_event_cb):
- (key_release_event_cb):
-
-2010-08-24 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] GTK3: EventSender and API tests should use gdk_event_new when synthesizing events
- https://bugs.webkit.org/show_bug.cgi?id=44534
-
- Fix an issue where a GdkEvent* is treated like a GdkEvent.
-
- * tests/testkeyevents.c:
- (key_press_event_cb):
- (key_release_event_cb):
-
-2010-08-24 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] GTK3: EventSender and API tests should use gdk_event_new when synthesizing events
- https://bugs.webkit.org/show_bug.cgi?id=44534
-
- * tests/testcopyandpaste.c:
- (runPasteTestCallback): Switch to using gdk_event_new and also reference the GdkWindow.
- when setting it on the event. It is dereferenced by gdk_event_free(...).
- * tests/testhittestresult.c:
- (load_status_cb): Switch to using gdk_event_new.
-
-2010-08-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Xan Lopez.
-
- Do not initialize the GSettings object in webkit_init - the other
- call sites are always called in the main thread so this is
- unnecessary.
-
- * webkit/webkitprivate.cpp:
- (webkit_init):
-
-2010-08-20 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Inspector tests were disabled for GTK.
- https://bugs.webkit.org/show_bug.cgi?id=43977
-
- Allow setting the inspector resources path via an environment variables
- and add a method, inspectorFilesPath, to the WebKit InspectorClient that
- encapsulates this logic.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::openInspectorFrontend): Use the new inspectorFilesPath method to
- get the path to the resource.
- (WebKit::InspectorClient::inspectorFilesPath): Added.
- (WebKit::InspectorFrontendClient::localizedStringsURL): Use inspectorFilesPath method.
- * WebCoreSupport/InspectorClientGtk.h: Add method and member variables for caching the result.
-
-2010-08-19 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Gtk] Enable view mode media feature layout test
- https://bugs.webkit.org/show_bug.cgi?id=43278
-
- Add the view-mode property, to control the WebCore page's viewMode.
-
- * docs/webkitgtk-sections.txt:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_property):
- (webkit_web_view_set_property):
- (webkit_web_view_class_init):
- (webkit_web_view_set_view_mode):
- (webkit_web_view_get_view_mode):
- * webkit/webkitwebview.h:
-
-2010-08-19 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GStreamer] GTK XOverlay support in GStreamerGWorld
- https://bugs.webkit.org/show_bug.cgi?id=39474
-
- New FullscreenVideoController object, private in the webview. It
- is created when the user presses the fullscreen button of the
- video controls. Video is displayed in fullscreen, controls are
- displayed when the user moves the mouse and when the video is
- paused. There's also basic keyboard shortcuts support: F/f to
- leave fullscreen, space to toggle play/pause and up/down to
- control volume.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::supportsFullscreenForNode):
- (WebKit::ChromeClient::enterFullscreenForNode):
- (WebKit::ChromeClient::exitFullscreenForNode):
- * WebCoreSupport/ChromeClientGtk.h:
- * WebCoreSupport/FullscreenVideoController.cpp: Added.
- (hideHudCallback):
- (onFullscreenGtkMotionNotifyEvent):
- (onFullscreenGtkActiveNotification):
- (onFullscreenGtkConfigureEvent):
- (onFullscreenGtkDestroy):
- (togglePlayPauseActivated):
- (exitFullscreenActivated):
- (progressBarUpdateCallback):
- (timeScaleButtonPressed):
- (timeScaleButtonReleased):
- (timeScaleValueChanged):
- (volumeValueChanged):
- (playerVolumeChangedCallback):
- (playerMuteChangedCallback):
- (FullscreenVideoController::FullscreenVideoController):
- (FullscreenVideoController::~FullscreenVideoController):
- (FullscreenVideoController::setMediaElement):
- (FullscreenVideoController::gtkConfigure):
- (FullscreenVideoController::showHud):
- (FullscreenVideoController::hideHud):
- (onFullscreenGtkKeyPressEvent):
- (FullscreenVideoController::enterFullscreen):
- (FullscreenVideoController::updateHudPosition):
- (FullscreenVideoController::exitOnUserRequest):
- (FullscreenVideoController::exitFullscreen):
- (FullscreenVideoController::canPlay):
- (FullscreenVideoController::play):
- (FullscreenVideoController::pause):
- (FullscreenVideoController::playStateChanged):
- (FullscreenVideoController::togglePlay):
- (FullscreenVideoController::volume):
- (FullscreenVideoController::muted):
- (FullscreenVideoController::setVolume):
- (FullscreenVideoController::volumeChanged):
- (FullscreenVideoController::muteChanged):
- (FullscreenVideoController::currentTime):
- (FullscreenVideoController::setCurrentTime):
- (FullscreenVideoController::duration):
- (FullscreenVideoController::percentLoaded):
- (FullscreenVideoController::beginSeek):
- (FullscreenVideoController::doSeek):
- (FullscreenVideoController::endSeek):
- (timeToString):
- (FullscreenVideoController::updateHudProgressBar):
- (FullscreenVideoController::createHud):
- * WebCoreSupport/FullscreenVideoController.h: Added.
- (FullscreenVideoController::mediaElement):
- * webkit/webkitprivate.cpp:
- (webkit_web_view_enter_fullscreen):
- (webkit_web_view_exit_fullscreen):
- * webkit/webkitprivate.h:
-
-2010-08-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [GTK] WebBackForwardList's new_with_web_view should not be public
- https://bugs.webkit.org/show_bug.cgi?id=43802
-
- Deprecate the constructor. The introspection annotation has been
- fixed in a previous commit.
-
- * webkit/webkitwebbackforwardlist.cpp:
-
-2010-08-17 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: replace hand written InspectorBackendStub.js with generated one.
- https://bugs.webkit.org/show_bug.cgi?id=43791
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::openInspectorFrontend):
-
-2010-08-18 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r65595.
- http://trac.webkit.org/changeset/65595
- https://bugs.webkit.org/show_bug.cgi?id=44161
-
- qt build failed (Requested by loislo on #webkit).
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::openInspectorFrontend):
-
-2010-08-17 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: replace hand written InspectorBackendStub.js by generated one.
- https://bugs.webkit.org/show_bug.cgi?id=43791
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::openInspectorFrontend):
-
-2010-08-17 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Fix the builds when HAVE_GSETTINGS is defined.
-
- * webkit/webkitprivate.cpp:
- (isSchemaAvailable):
- (inspectorGSettings):
-
-2010-08-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Darin Adler.
-
- Add NetworkingContext to avoid layer violations
- https://bugs.webkit.org/show_bug.cgi?id=42292
-
- Preparation: Just add the files to the build system.
-
- * WebCoreSupport/FrameNetworkingContextGtk.h: Added.
- Placeholder with tentative code that might be changed when landing
- the rest of it.
-
-2010-08-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- WebBackForwardList.get_{back|forward}_list_with_limit not introspectable
- https://bugs.webkit.org/show_bug.cgi?id=43054
-
- Annotate WebKitWebBackForwardList and the function that is used to fetch it from
- the WebKitWebView. More will follow.
-
- * webkit/webkitwebbackforwardlist.cpp: Annotations, and small
- improvements to the docs.
- * webkit/webkitwebbackforwardlist.h: Couple empty lines missing.
- * webkit/webkitwebview.cpp:
-
-2010-08-17 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Clean up WebCore/platform/graphics/gtk/ImageGtk.cpp
- https://bugs.webkit.org/show_bug.cgi?id=44069
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::openInspectorFrontend): Switched to using the new WEBKITGTK_API_VERSION_STRING define.
- * webkit/webkitprivate.cpp:
- (inspectorGSettings): Ditto.
-
-2010-08-17 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r65500.
- http://trac.webkit.org/changeset/65500
- https://bugs.webkit.org/show_bug.cgi?id=44108
-
- Qt bots failed to compile. (Requested by loislo on #webkit).
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::openInspectorFrontend):
-
-2010-08-17 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: replace hand written InspectorBackendStub.js by generated one.
- https://bugs.webkit.org/show_bug.cgi?id=43791
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::openInspectorFrontend):
-
-2010-08-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [GTK] GSettings support adds annoying warnings on systems with older glib versions
- https://bugs.webkit.org/show_bug.cgi?id=44056
-
- Use #ifdef instead of #if for HAVE_GSETTINGS to avoid warnings
- when it is not defined.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- * webkit/webkitprivate.cpp:
- (webkit_init):
- * webkit/webkitprivate.h:
-
-2010-08-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Really add a missing file. I wish I would remember running git add
- on them after applying a patch =(.
-
- * org.webkitgtk.gschema.xml.in: Added.
-
-2010-08-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [GTK] Use GSettings to save/restore Web Inspector settings
- https://bugs.webkit.org/show_bug.cgi?id=43512
-
- Use GSettings to save/restore settings used by the Web Inspector.
- A few helper functions were added to have settings that use
- boolean values be actual booleans, and also to conform with the
- GSettings naming requirements for keys.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::toGSettingName):
- (WebKit::truthStringFromVariant):
- (WebKit::variantFromTruthString):
- (WebKit::InspectorClient::populateSetting):
- (WebKit::InspectorClient::storeSetting):
- * org.webkit.gtk.gschema.xml: Added.
- * webkit/webkitprivate.cpp:
- (inspectorGSettings):
- (webkit_init):
- * webkit/webkitprivate.h:
-
-2010-08-11 Joone Hur <joone@kldp.org>
-
- Reviewed by Martin Robinson.
-
- [GTK] Last Hangul letter is typed again when a composition is finished with mouse press
- https://bugs.webkit.org/show_bug.cgi?id=40518
-
- When a mouse press fires during a IME composition, the current composition character
- can be entered twice at the previous editing position and a new editing position.
- Because the IME commit signal is emitted after the mouse press event.
- This patch allows to prevent the commit signal during a composition when a mouse press fires.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::imContextCommitted):
- (WebKit::EditorClient::handleInputMethodKeydown): Allow to accept the next composition commit.
- (WebKit::EditorClient::handleInputMethodMousePress): Added for handling IME when a mouse press fires.
- (WebKit::EditorClient::EditorClient): Initialize m_preventNextCompositionCommit
- * WebCoreSupport/EditorClientGtk.h:
- (WebKit::EditorClient::preventNextCompositionCommit): Added for checking whether skipping a commit.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_button_press_event): Call handleInputMethodMousePress()
-
-2010-08-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- Small improvement to the documentation of the geolocation-policy-decision-requested
- signal, stating more clearly what is expected from the handler.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
-
-2010-08-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Martin Robinson.
-
- [GTK] Geolocation policy decision object leaking
- https://bugs.webkit.org/show_bug.cgi?id=43884
-
- Use GRefPtr on the policy decision object to fix the leak.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::requestGeolocationPermissionForFrame):
-
-2010-08-10 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Add suspendAnimations/resumeAnimation API to DRT
- https://bugs.webkit.org/show_bug.cgi?id=43733
-
- Gtk specific API.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_suspend_animations):
- (webkit_web_frame_resume_animations):
-
-2010-08-10 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig.
-
- Bug 43786 - Move AtomicStringHash from WebCore to WTF
- Also remove deprecated string headers from WebCore/platform/text.
-
- * gdom/ConvertToGCharPrivate.h:
-
-2010-08-06 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig
-
- Bug 43594 - Add string forwards to Forward.h
- This allows us to remove forward declarations for these classes from
- WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
-
- * WebCoreSupport/InspectorClientGtk.h:
-
-2010-08-09 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [gtk] gtk_im_context_focus_in() should only be called when an input-able element has focus
- https://bugs.webkit.org/show_bug.cgi?id=43602
-
- Only call gtk_im_context_focus_in() when we focus a frame which is currently in
- an editable node.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_focus_in_event): Conditionalize call to gtk_im_context_focus_in().
-
-2010-08-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Use the new paths, and also fix the path for localizedStrings.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::openInspectorFrontend):
- (WebKit::InspectorFrontendClient::localizedStringsURL):
-
-2010-08-06 Jessie Berlin <jberlin@apple.com>
-
- Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
- Unreviewed.
-
- * WebCoreSupport/InspectorClientGtk.h:
-
-2010-08-05 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Use correct path for Inspector data files in GTK+3.x builds
- https://bugs.webkit.org/show_bug.cgi?id=43445
-
- Use the right data path for inspector files when building with
- GTK+ 3.x.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::openInspectorFrontend):
-
-2010-08-03 Daniel Bates <dbates@rim.com>
-
- Fix misspelled word 'teh' in the description of the XSS Auditor setting.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
-
-2010-08-03 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Fix DOM event dispatch
- https://bugs.webkit.org/show_bug.cgi?id=40847
-
- Test DOM event dispatch.
-
- * tests/testdomdomwindow.c:
- (load_event_callback):
- (test_dom_domview_signals):
- (clicked_cb):
- (load_status_callback):
- (test_dom_domview_dispatch_event):
- (main):
-
-2010-08-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] Does not paint the node highlight used by the inspector
- https://bugs.webkit.org/show_bug.cgi?id=43429
-
- Implement highlighting the nodes when using the inspector.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::highlight):
- (WebKit::InspectorClient::hideHighlight):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_expose_event):
-
-2010-08-03 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Update unit tests now that string parameters are 'const char*'.
-
- * tests/testdomdocument.c:
- (test_dom_document_title):
- (test_dom_document_get_elements_by_tag_name):
- (test_dom_document_get_elements_by_class_name):
- (test_dom_document_get_element_by_id):
- * tests/testdomnode.c:
- (test_dom_node_insertion):
-
-2010-08-02 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] DRT implement execCommand()
- https://bugs.webkit.org/show_bug.cgi?id=35351
-
- * webkit/webkitprivate.h: Add some private methods for the DRT which enable
- LayoutTestController.execCommand and LayoutTestController.isCommandEnabled:
- webkit_web_view_execute_core_command_by_name and webkit_web_view_is_command_enabled.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_execute_core_command_by_name): added.
- (webkit_web_view_is_command_enabled): Added.
-
-2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Darin Fisher.
-
- PopupMenu refactoring in preparation to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42592
-
- As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
- instances, concrete classes that inherit from ChromeClient needed to be changed to
- implement the new methods.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::selectItemWritingDirectionIsNatural):
- (WebKit::ChromeClient::createPopupMenu):
- (WebKit::ChromeClient::createSearchPopupMenu):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2010-08-02 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Create a frame-created signal
- https://bugs.webkit.org/show_bug.cgi?id=43284
-
- Add a frame-created signal, which will allow developers to track
- the beginning of a frame lifecycle and attach signal handlers to
- all new frames.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createFrame): Emit the frame-created signal.
- * tests/testwebframe.c: Add a test which verifies that the correct number of
- frame-created signals is fired when a page with iframes loads.
- (createFrameSignalTestFrameCreatedCallback): Added.
- (createFrameSignalTestTimeout): Added.
- (test_webkit_web_frame_created_signal): Added.
- (main): Add a reference to the new test.
- * webkit/webkitprivate.h: De-normalize webkit_web_frame_init_with_web_view into
- the one place that it is used, so that the frame-created signal may be fired there.
- * webkit/webkitwebframe.cpp: Remove webkit_web_frame_init_with_web_view.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init): Add the frame-created signal declaration.
-
-2010-08-02 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Chris Fleizach.
-
- [GTK] Implement support for get_character_extents and get_range_extents
- https://bugs.webkit.org/show_bug.cgi?id=25677
-
- Added new unit tests to check get_character_extents and
- get_range_extents functions for the ATK_TEXT interface
-
- Based on a previous patch by Joanmarie Diggs.
-
- * tests/testatk.c:
- (test_webkit_atk_get_extents):
- (main):
-
-2010-08-02 Jeremy Orlow <jorlow@chromium.org>
-
- Speculative revert of 64425 due to Chromium instability
- https://bugs.webkit.org/show_bug.cgi?id=43347
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ChromeClientGtk.h:
-
-2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Darin Fisher.
-
- PopupMenu refactoring in preparation to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42592
-
- As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
- instances, concrete classes that inherit from ChromeClient needed to be changed to
- implement the new methods.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::selectItemWritingDirectionIsNatural):
- (WebKit::ChromeClient::createPopupMenu):
- (WebKit::ChromeClient::createSearchPopupMenu):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2010-07-31 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r64422.
- http://trac.webkit.org/changeset/64422
- https://bugs.webkit.org/show_bug.cgi?id=43304
-
- Build fixes are needed for Snow Leopard and Windows.
- (Requested by lca on #webkit).
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ChromeClientGtk.h:
-
-2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Darin Fisher.
-
- PopupMenu refactoring in preparation to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42592
-
- As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
- instances, concrete classes that inherit from ChromeClient needed to be changed to
- implement the new methods.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::selectItemWritingDirectionIsNatural):
- (WebKit::ChromeClient::createPopupMenu):
- (WebKit::ChromeClient::createSearchPopupMenu):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
- https://bugs.webkit.org/show_bug.cgi?id=40627
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::reachedApplicationCacheOriginQuota):
- * WebCoreSupport/ChromeClientGtk.h:
-2010-07-26 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Page clients should be passed to Page constructor via structure of pointers
- https://bugs.webkit.org/show_bug.cgi?id=42834
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2010-07-16 Zhe Su <suzhe@chromium.org>
-
- Reviewed by Darin Adler.
-
- REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
- https://bugs.webkit.org/show_bug.cgi?id=42253
-
- Dummy implementation of EditorClient::willSetInputMethodState.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::willSetInputMethodState):
- * WebCoreSupport/EditorClientGtk.h:
-
-2010-07-16 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Uncomment an assert that broke due to r63100.
-
- https://bugs.webkit.org/show_bug.cgi?id=42298
-
- * tests/testwebview.c:
-
-2010-07-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
- Make changing Cursors work in WebKit2.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::setCursor):
- * WebCoreSupport/ChromeClientGtk.h:
- Change prototype to match new one.
-
-2010-07-12 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] r63100 broke the testwebview test
- https://bugs.webkit.org/show_bug.cgi?id=42114
-
- * tests/testwebview.c: Disable a failing assertion in test_webkit_web_view_adjustments
- until we can get to the bottom of the failure.
-
-2010-07-12 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Update for 1.3.3
-
- * NEWS:
-
-2010-07-12 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Fix compilation with sealed GTK+.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_drag_motion):
- (webkit_web_view_drag_data_received):
- (webkit_web_view_drag_drop):
-
-2010-07-11 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] WebKitWebView should support drops
- https://bugs.webkit.org/show_bug.cgi?id=39843
-
- Add support for dropping content onto GTK+ WebViews.
-
- * webkit/webkitprivate.h:
- Add a DroppingContext struct to keep track of drop data while the drop is
- in progress. Have WebKitWebView keep a map of GdkDragContexts to DroppingContexts.
- * webkit/webkitwebview.cpp: Add necessary includes and globalPointForClientPoint helper.
- (webkit_web_view_popup_menu_handler): Use globalPointForClientPoint helper.
- (webkit_web_view_dispose): Properly clean up droppingContexts member.
- (webkit_web_view_finalize): Delete droppingContext member.
- (globalPointForClientPoint): Added.
- (doDragLeaveLater): Added.
- (webkit_web_view_drag_leave): Added.
- (webkit_web_view_drag_motion): Added.
- (webkit_web_view_drag_data_received): Added.
- (webkit_web_view_drag_drop): Added.
- (webkit_web_view_class_init): Connect new drop signal handlers to the widget definition.
- (webkit_web_view_init): Set up the widget as a drop destination and initialize droppingContexts.
-
-2010-07-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
- Add basic piping for BackForwardControllerClient.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2010-06-19 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- WebInspector: js function name was fixed.
- dispatchMessageToFrontend -> dispatchMessageFromBackend.
- https://bugs.webkit.org/show_bug.cgi?id=40675
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::sendMessageToFrontend):
-
-2010-06-23 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Separate DerivedSources per-project
- https://bugs.webkit.org/show_bug.cgi?id=41109
-
- Separate WebKitGTK+ DerivedSources into per-project subdirectories to prepare
- for properly building WebKit2.
-
- * webkitmarshal.list: Touch this file to force a rebuild of the marshaling code.
-
-2010-07-01 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Stop using GdkRegion in 3.x mode
- https://bugs.webkit.org/show_bug.cgi?id=41463
-
- Make us compile without using GdkRegion, since it's gone from GTK+
- 3.x.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::scroll):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_expose_event):
-
-2010-07-01 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Convert WebKitWebView's private draggingDataObjects member to a pointer
- https://bugs.webkit.org/show_bug.cgi?id=40333
-
- Convert draggingDataObjects to a pointer. The constructor and destructor of the
- HashMap should be called explicitly. GObject memory allocation does not do this.
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::startDrag):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_dispose):
- (webkit_web_view_drag_end):
- (webkit_web_view_drag_data_get):
- (webkit_web_view_init):
-
-2010-06-30 Martin Robinson <mrobinson@igalia.com>
-
- Unreviewed, rolling out r62226.
- http://trac.webkit.org/changeset/62226
- https://bugs.webkit.org/show_bug.cgi?id=40333
-
- This change caused 13 new crashers.
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::startDrag):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_dispose):
- (webkit_web_view_drag_end):
- (webkit_web_view_drag_data_get):
- (webkit_web_view_init):
-
-2010-06-30 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Convert WebKitWebView's private draggingDataObjects member to a pointer
- https://bugs.webkit.org/show_bug.cgi?id=40333
-
- Convert draggingDataObjects to a pointer. The constructor and destructor of the
- HashMap should be called explicitly. GObject memory allocation does not do this.
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::startDrag):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_dispose):
- (webkit_web_view_drag_end):
- (webkit_web_view_drag_data_get):
- (webkit_web_view_init):
-
-2010-06-30 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Unit test for DOM insertion methods
- https://bugs.webkit.org/show_bug.cgi?id=40495
-
- Add unit test for webkit_dom_node_remove_child.
-
- * tests/testdomnode.c:
- (test_dom_node_insertion):
-
-2010-06-30 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Unit test for DOM insertion methods
- https://bugs.webkit.org/show_bug.cgi?id=40495
-
- Add unit tests for node insertion and replacement methods.
-
- * tests/testdomnode.c:
- (test_dom_node_insertion):
- (main):
-
-2010-06-30 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Random failure on 'testdownload' unit test
- https://bugs.webkit.org/show_bug.cgi?id=38256
-
- Make sure the set_filename function is called after handling the
- 'download-requested' signal for the asynchronous test. This change
- is needed because it could happen, with the current code, that the
- set_filename () function got called too early in the mainloop,
- therefore screwing the tests because the 'theDownload' global
- variable wouldn't be properly set yet.
-
- With this modification we ensure the set_filename() function gets
- called always after handling the download-requested signal,
- therefore avoiding potentialproblems.
-
- * tests/testdownload.c:
- (set_filename):
- (handle_download_requested_cb):
- (download_requested_cb):
- (download_requested_asynch_cb):
- (test_webkit_download_perform):
-
-2010-06-30 José Millán Soto <jmillan@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Text attributes not exposed
- https://bugs.webkit.org/show_bug.cgi?id=25528
-
- Added new tests for accessible text attributes
-
- * tests/testatk.c:
- (compAtkAttribute):
- (compAtkAttributeName):
- (atkAttributeSetAttributeHasValue):
- (atkAttributeSetAreEqual):
- (testWebkitAtkTextAttributes):
- (main):
-
-2010-06-28 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Update for 1.3.2.
-
- * NEWS:
-
-2010-06-28 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Does not compile with -DGSEAL_ENABLE
- https://bugs.webkit.org/show_bug.cgi?id=37851
-
- Fix build with GSEAL enabled.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
- * webkit/webkitsoupauthdialog.c:
- (show_auth_dialog):
-
-2010-06-28 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Add support for GTK+3
- https://bugs.webkit.org/show_bug.cgi?id=41253
-
- Adapt build system to 3.x support, allow the JSCore gir and webkit
- pc files to be configurable at build time for different API
- versions.
-
- * JSCore-1.0.gir: Removed.
- * JSCore.gir.in: Added.
- * docs/GNUmakefile.am:
- * webkit.pc.in:
-
-2010-06-25 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Implement atk_table_get_column_header
- https://bugs.webkit.org/show_bug.cgi?id=30896
-
- Replace g_timeout_add() with g_idle_add().
-
- * tests/testatk.c:
- (test_webkit_atk_get_text_at_offset_forms):
- (test_webkit_atk_get_text_at_offset):
- (test_webkit_atk_get_text_at_offset_newlines):
- (test_webkit_atk_get_text_at_offset_textarea):
- (test_webkit_atk_get_text_at_offset_text_input):
- (testWebkitAtkGetTextInParagraphAndBodySimple):
- (testWebkitAtkGetTextInParagraphAndBodyModerate):
- (testWebkitAtkGetTextInTable):
- (testWebkitAtkGetHeadersInTable):
-
-2010-06-25 Mario Sanchez Prada <msanchez@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Implement atk_table_get_column_header
- https://bugs.webkit.org/show_bug.cgi?id=30896
-
- Added new test to check whether the implementation of
- get_column_headers() and get_row_headers() works ok.
-
- * tests/testatk.c:
- (testWebkitAtkGetHeadersInTable):
- (main):
-
-2010-06-25 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Pasteboard code does not take into account the nil character when getting and setting markup/netscape-url data
- https://bugs.webkit.org/show_bug.cgi?id=41221
-
- Add a test for this issue which simulates a paste keyboard event into an editable
- body. The pasteboard should contain a markup portion containing a null terminator.
-
- * tests/testcopyandpaste.c:
- (test_info_new):
- (test_info_destroy):
- (load_status_cb):
- (runPasteTestCallback):
- (window_object_cleared_callback):
- (pasting_test_get_data_callback):
- (pasting_test_clear_data_callback):
- (test_pasting_markup):
- (main):
-
-2010-06-24 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Cannot change the selection via the keyboard
- https://bugs.webkit.org/show_bug.cgi?id=41162
-
- Fix issue where the selection could not be extended via the keyboard by
- adjusting the logic guarding against inserting text in non-editable nodes.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleKeyboardEvent):
- Allow editor commands that do not insert text in non-editable nodes. This
- fixes keyboard selection extension in non-editable nodes. Move the existing
- check to after the execution of any editor commands.
-
-2010-06-15 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Barth.
-
- Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
- https://bugs.webkit.org/show_bug.cgi?id=39041
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
- (webkit_get_cache_model):
-
-2010-06-16 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Remove the abuse of GDK_CURRENT_TIME in the DRT
- https://bugs.webkit.org/show_bug.cgi?id=40600
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::startDrag): Reset the click count after a drag starts.
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::postCommitFrameViewSetup): Reset the click count after a load is committed.
- * webkit/webkitprivate.h: Move static click counting variables to be per-view.
- * webkit/webkitwebview.cpp:
- (getEventTime): Added.
- (webkit_web_view_button_press_event): If the event time is zero, use the current time.
- (webkit_web_view_finalize): Clean up click counting member.
- (webkit_web_view_init): Initialize click counting member.
-
-2010-06-15 Xan Lopez <xlopez@igalia.com>
-
- Fix compilation with older GTK+.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::pageRect):
-
-2010-06-15 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Does not compile with -DGSEAL_ENABLE
- https://bugs.webkit.org/show_bug.cgi?id=37851
-
- Fix compilation with GSEAL_ENABLE.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::pageRect):
- (WebKit::ChromeClient::contentsSizeChanged):
- * tests/testdomnode.c:
- (test_dom_node_insertion):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_realize):
- (webkit_web_view_script_dialog):
- (webkit_web_view_drag_end):
- (webkit_web_view_init):
-
-2010-06-14 Ilya Tikhonovsky <loislo@chromium.org>
-
- Unreviewed build fix.
-
- This is a fix for flaky inspector tests at gtk-debug bots.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorFrontendClient::destroyInspectorWindow):
-
-2010-06-14 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
- data from inspected page to WebInspector as JSON string via http. The native
- serialization to JSON string is supported by InspectorValue's classes. This patch
- has the implementation of sendMessageToFrontend function. WebKit version of it still
- uses ScriptFunctionCall and will be switched to another transport a little bit later.
- https://bugs.webkit.org/show_bug.cgi?id=40134
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::releaseFrontendPage):
- (WebKit::InspectorClient::sendMessageToFrontend):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2010-06-10 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Reduce FrameView.h includes to speed up build times
- https://bugs.webkit.org/show_bug.cgi?id=40408
-
- * webkit/webkitwebinspector.cpp:
- - Include RenderLayer.h
-
-2010-06-09 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r60889.
- http://trac.webkit.org/changeset/60889
- https://bugs.webkit.org/show_bug.cgi?id=40365
-
- gtk bot has some kind of memory corruption (Requested by
- loislo on #webkit).
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::InspectorClient):
- (WebKit::InspectorClient::openInspectorFrontend):
- (WebKit::InspectorFrontendClient::InspectorFrontendClient):
- (WebKit::InspectorFrontendClient::destroyInspectorWindow):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2010-06-07 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
- data from inspected page to WebInspector as JSON string via http. The native
- serialization to JSON string is supported by InspectorValue's classes. This patch
- has the implementation of sendMessageToFrontend function. WebKit version of it still
- uses ScriptFunctionCall and will be switched to another transport a little bit later.
- https://bugs.webkit.org/show_bug.cgi?id=40134
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::releaseFrontendPage):
- (WebKit::InspectorClient::sendMessageToFrontend):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2010-06-08 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Unit testing for WebKitDOMNode hierarchy walk
- https://bugs.webkit.org/show_bug.cgi?id=40171
-
- Add some DOM node unit testing.
-
- * tests/testdomnode.c: Added.
- (finish_loading):
- (dom_node_fixture_setup):
- (dom_node_fixture_teardown):
- (test_dom_node_hierarchy_navigation):
- (main):
-
-2010-06-08 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Ojan Vafai and Darin Adler.
-
- Refactor platform dependent editing behavior code out of Settings
- https://bugs.webkit.org/show_bug.cgi?id=39854
-
- EditingBehavior enum was renamed to EditingBehaviorTypes and moved out from Settings.h to
- EditingBehaviorTypes.h . Call sites in WebKit/ adjusted accordingly.
-
- * webkit/webkitprivate.cpp:
- (WebKit::core):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
-
-2010-06-08 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Add inner-node property to WebKitHitTestResult
- https://bugs.webkit.org/show_bug.cgi?id=40131
-
- Add a 'inner-node' property to WebKitHitTestResult, carrying the
- DOM node where the hit test happened.
-
- * tests/testhittestresult.c:
- (load_status_cb):
- * webkit/webkithittestresult.cpp:
- (webkit_hit_test_result_get_property):
- (webkit_hit_test_result_set_property):
- (webkit_hit_test_result_class_init):
- * webkit/webkitprivate.cpp:
- (WebKit::kit):
-
-2010-06-07 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] gtk_widget_get_window should replace widget->window
- https://bugs.webkit.org/show_bug.cgi?id=40180
-
- Replace uses of widget->window with gtk_widget_get_window.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::invalidateContentsAndWindow): Replace widget->window uses.
- (WebKit::ChromeClient::scroll): Ditto.
- (WebKit::widgetScreenPosition): Ditto.
- * WebCoreSupport/DragClientGtk.cpp: Move gtk_widget_get_window define to GtkVersioning.h.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_popup_menu_handler): Replace widget->window uses.
- (webkit_web_view_button_press_event): Ditto.
-
-2010-06-04 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Drag gesture can take mouse grab indefinitely
- https://bugs.webkit.org/show_bug.cgi?id=32840
-
- Initiate drag events with the current GTK+ event instead of synthesizing
- an event. Something about synthesized events is causing a drag freeze in
- certain situations.
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::startDrag): Start the drag with the current GTK+ event.
-
-2010-06-03 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r60632.
- http://trac.webkit.org/changeset/60632
- https://bugs.webkit.org/show_bug.cgi?id=40143
-
- This change broke the 64-bit bots. (Requested by mrobinson on
- #webkit).
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::DragClient):
- (WebKit::DragClient::startDrag):
- * WebCoreSupport/DragClientGtk.h:
-
-2010-06-03 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Drag gesture can take mouse grab indefinitely
- https://bugs.webkit.org/show_bug.cgi?id=32840
-
- Start GTK+ drags with the previous mouse button down event instead of
- synthesizing the event. The synthesized event was not completely valid
- and froze some drags indefinitely.
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::buttonPressEvent): Added.
- (WebKit::DragClient::DragClient):
- Connect to the 'button-press-event' signal of the WebView.
- (WebKit::DragClient::startDrag):
- Instead of synthesizing a button press event use the last real one.
- * WebCoreSupport/DragClientGtk.h:
- (WebKit::DragClient::setLastButtonPressEvent): Added.
-
-2010-06-01 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Memory Leak: The main resource of page is not free.
- https://bugs.webkit.org/show_bug.cgi?id=39973
-
- Fix refcount tracking of the main resource. Patch by Genhua Liu.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFinishLoading):
-
-2010-06-01 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Fix-up for previous leak fix, the identifier was not always duped.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_add_resource):
-
-2010-06-01 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Plug a small leak.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest):
-
-2010-06-01 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Double clicks cause three button press events
- https://bugs.webkit.org/show_bug.cgi?id=38853
-
- Handle click counting much like the Windows port. GTK+ only
- counts triple-clicks natively, so use GTK+ double-click settings
- to count clicks with even larger click counts. Also filter the
- extra GDK_BUTTON_PRESS before GDK_{2,3}BUTTON_PRESS events using
- gdk_event_peek().
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_button_press_event): Count clicks manually. Filter extra events.
-
-2010-05-31 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] Missing links to documentation of general functions
- https://bugs.webkit.org/show_bug.cgi?id=39964
-
- Add global functions section, and move those functions that are
- currently in WebKitWebView's source file to the bottom, along with
- the description.
-
- * docs/webkitgtk-docs.sgml:
- * docs/webkitgtk-sections.txt:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_dom_document):
- (webkit_get_default_session):
-
-2010-05-31 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Text copied from a WebView cannot be pasted into gnome-terminal
- https://bugs.webkit.org/show_bug.cgi?id=39827
-
- Add a test to prevent regressions for this issue.
-
- * tests/testcopyandpaste.c: Added.
- (test_info_new):
- (test_info_destroy):
- (copy_and_paste_fixture_setup):
- (copy_and_paste_fixture_teardown):
- (load_status_cb):
- (map_event_cb):
- (test_copy_and_paste):
- (main):
-
-2010-05-27 Gustavo Noronha Silva <gns@gnome.org>
-
- Update documentation control files, and fix Since tags for 1.3.1.
-
- * docs/webkitgtk-docs.sgml:
- * docs/webkitgtk-sections.txt:
- * webkit/webkitwebbackforwardlist.cpp:
- * webkit/webkitwebview.cpp:
-
-2010-05-27 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Update for 1.3.1 release.
-
- * NEWS:
-
-2010-05-27 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Dragging onto the desktop causes a critical GLib warning
- https://bugs.webkit.org/show_bug.cgi?id=39718
-
- Only increment the window reference count if it is not null during drag-end
- signal processing.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_drag_end): Guard against null window values.
-
-2010-05-26 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Add support for DOM events in the GObject DOM bindings
- https://bugs.webkit.org/show_bug.cgi?id=38844
-
- Test DOMWindow signals.
-
- * tests/testdomdomwindow.c: Added.
- (finish_loading):
- (dom_domview_fixture_setup):
- (dom_domview_fixture_teardown):
- (loadedCallback):
- (clickedCallback):
- (map_event_cb):
- (load_event_callback):
- (test_dom_domview_signals):
- (main):
-
-2010-05-24 Darin Adler <darin@apple.com>
-
- Reviewed by Eric Seidel.
-
- Move view-related functions from Frame to FrameView
- https://bugs.webkit.org/show_bug.cgi?id=39366
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_set_editable): Remove call to empty function
- removeEditngStyleFromBodyElement.
- (webkit_web_view_get_zoom_level): Call functions on FrameView.
- (webkit_web_view_apply_zoom_level): Ditto.
-
-2010-05-22 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] webkit_web_view_drag_end should call EventHandler::dragSourceEndedAt
- https://bugs.webkit.org/show_bug.cgi?id=39465
-
- Properly call EventHandler::dragSourceEndedAt so that dragEnd events are processed in the DOM.
- dragSourceEndedAt is responsible for calling the dragEnd DOM event as well as cleaning up assets
- (such as the Clipboard) associated with the drag source.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_drag_end): Remember to call dragSourceEndedAt here.
-
-2010-05-22 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] WebKit/gtk/WebCoreSupport/DragClientGtk::startDrag should use the Clipboard::sourceOperation
- https://bugs.webkit.org/show_bug.cgi?id=39459
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::startDrag):
- Use Clipboard::sourceOperation instead of trying to figure out the GdkDragAction
- manually. The DOM may have changed the appropriate list of actions anyhow.
-
-2010-05-21 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Add DeviceOrientation and DeviceOrientationClient
- https://bugs.webkit.org/show_bug.cgi?id=39479
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2010-05-19 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59240.
- http://trac.webkit.org/changeset/59240
- https://bugs.webkit.org/show_bug.cgi?id=39377
-
- "Might cause crashes in GTK+ bots" (Requested by xan_ on
- #webkit).
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- (WebKit::inputMethodsMenuItem):
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::setInputMethodState):
- (WebKit::EditorClient::respondToChangedSelection):
- (WebKit::EditorClient::handleInputMethodKeydown):
- (WebKit::EditorClient::EditorClient):
- (WebKit::EditorClient::~EditorClient):
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::postCommitFrameViewSetup):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (destroy_menu_cb):
- (webkit_web_view_forward_context_menu_event):
- (webkit_web_view_key_release_event):
- (webkit_web_view_button_release_event):
- (webkit_web_view_focus_in_event):
- (webkit_web_view_focus_out_event):
- (webkit_web_view_realize):
- (webkit_web_view_set_scroll_adjustments):
- (webkit_web_view_dispose):
- (webkit_web_view_finalize):
- (webViewGetDPI):
- (webkit_web_view_screen_changed):
- (webkit_web_view_query_tooltip):
- (webkit_web_view_get_im_context):
- (webkit_web_view_update_settings):
- (webkit_web_view_init):
- (webkit_web_view_set_settings):
- (webkit_web_view_get_settings):
- (webkit_web_view_get_inspector):
- (webkit_web_view_set_window_features):
- (webkit_web_view_get_window_features):
- (webkit_web_view_get_back_forward_list):
- (webkit_web_view_zoom_in):
- (webkit_web_view_zoom_out):
- (webkit_web_view_get_encoding):
- (webkit_web_view_get_custom_encoding):
- (webkit_web_view_add_resource):
- (webkit_web_view_get_resource):
- (webkit_web_view_get_main_resource):
- (webkit_web_view_clear_resources):
- (webkit_web_view_get_subresources):
- (webkit_web_view_set_tooltip_text):
- (webkit_web_view_get_icon_uri):
-
-2010-05-18 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] DragClientGtk::startDrag leaks GdkEvents
- https://bugs.webkit.org/show_bug.cgi?id=39322
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::startDrag): Properly clean up allocated GdkEvent.
-
-2010-05-12 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Use GOwnPtr for code that needs it
- https://bugs.webkit.org/show_bug.cgi?id=21594
-
- Convert many uses of raw pointers to GRefPtr and GOwnPtr in WebKitWebView.
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- (WebKit::inputMethodsMenuItem):
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::setInputMethodState):
- (WebKit::EditorClient::respondToChangedSelection):
- (WebKit::EditorClient::handleInputMethodKeydown):
- (WebKit::EditorClient::EditorClient):
- (WebKit::EditorClient::~EditorClient):
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::postCommitFrameViewSetup):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (destroy_menu_cb):
- (webkit_web_view_forward_context_menu_event):
- (webkit_web_view_key_release_event):
- (webkit_web_view_button_release_event):
- (webkit_web_view_focus_in_event):
- (webkit_web_view_focus_out_event):
- (webkit_web_view_realize):
- (webkit_web_view_set_scroll_adjustments):
- (webkit_web_view_dispose):
- (webkit_web_view_finalize):
- (webViewGetDPI):
- (webkit_web_view_screen_changed):
- (webkit_web_view_query_tooltip):
- (webkit_web_view_get_im_context):
- (webkit_web_view_update_settings):
- (webkit_web_view_init):
- (webkit_web_view_set_settings):
- (webkit_web_view_get_settings):
- (webkit_web_view_get_inspector):
- (webkit_web_view_set_window_features):
- (webkit_web_view_get_window_features):
- (webkit_web_view_get_back_forward_list):
- (webkit_web_view_zoom_in):
- (webkit_web_view_zoom_out):
- (webkit_web_view_get_encoding):
- (webkit_web_view_get_custom_encoding):
- (webkit_web_view_add_resource):
- (webkit_web_view_get_resource):
- (webkit_web_view_get_main_resource):
- (webkit_web_view_clear_resources):
- (webkit_web_view_get_subresources):
- (webkit_web_view_set_tooltip_text):
- (webkit_web_view_get_icon_uri):
-
-2010-05-11 Martin Robinson <mrobinson@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Doesn't support gtk-key-themes
- https://bugs.webkit.org/show_bug.cgi?id=28257
-
- Add support for GTK+ key themes.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::backspaceCallback): Added.
- (WebKit::cutClipboardCallback): Added.
- (WebKit::copyClipboardCallback): Added.
- (WebKit::pasteClipboardCallback): Added.
- (WebKit::selectAllCallback): Added.
- (WebKit::deleteFromCursorCallback): Added.
- (WebKit::moveCursorCallback): Added.
- (WebKit::EditorClient::generateEditorCommands): Added.
- (WebKit::EditorClient::executePendingEditorCommands): Added.
- (WebKit::EditorClient::handleKeyboardEvent): Derive editor commands both from internal text widget and a list of fallbacks.
- (WebKit::EditorClient::EditorClient): Add m_nativeWidget initializer.
- * WebCoreSupport/EditorClientGtk.h:
- (WebKit::EditorClient::addPendingEditorCommand): Add m_nativeWidget member.
-
-2010-05-06 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Xan Lopez.
-
- Remove use of GOwnPtr to hold GObject types.
- https://bugs.webkit.org/show_bug.cgi?id=38669
-
- Change use of GOwnPtr to GRefPtr to types which are natively reference-counted.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchWillSendRequest): Change GOwnPtr to GRefPtr in some places.
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForMIMEType): Ditto.
- * webkit/webkitnetworkrequest.cpp:
- (webkit_network_request_new_with_core_request): Ditto.
- * webkit/webkitnetworkresponse.cpp:
- (webkit_network_response_new_with_core_response): Ditto.
- * webkit/webkitprivate.cpp: Remove GOwnPtr reference counting template specialization.
- * webkit/webkitprivate.h: Ditto.
-
-2010-05-06 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Enable DOM clipboard and drag-and-drop access
- https://bugs.webkit.org/show_bug.cgi?id=30623
-
- Convert dragging portion of drag-and-drop to use DataObjectGtk.
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::willPerformDragDestinationAction): Remove the notImplemented. It is implemented, it's just a no-op.
- (WebKit::DragClient::startDrag): Start the drag context via the ClipboardGtk and PasteboardHelper now.
- * WebCoreSupport/DragClientGtk.h: Small style fix.
- * webkit/webkitprivate.h: Add a HashMap of contexts and DataObjects here to to represent all current drag operations.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_dispose): Clear all data objects during disposal.
- (webkit_web_view_drag_end): When a drag is over, just remove it from the map.
- (webkit_web_view_drag_data_get): To get the drag data, just grab it from the DataObject.
-
-2010-05-03 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add support for controlling clipboard access from javascript.
- Clipboard access from javascript is disabled by default.
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- * 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):
- (webkit_web_view_settings_notify):
-
-2010-05-03 Jens Alfke <snej@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
- https://bugs.webkit.org/show_bug.cgi?id=38397
-
- No tests (functionality is exposed only through native WebKit API.)
-
- * WebCoreSupport/FrameLoaderClientGtk.h:
- (WebKit::FrameLoaderClient::dispatchWillSendSubmitEvent):
-
-2010-05-01 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Oliver Hunt.
-
- [GTK] GObject DOM bindings
- https://bugs.webkit.org/show_bug.cgi?id=33590
-
- Test webkit_dom_document_get_links.
-
- * tests/testdomdocument.c:
- (test_dom_document_get_links):
- (main):
-
-2010-04-29 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] GObject DOM bindings
- https://bugs.webkit.org/show_bug.cgi?id=33590
-
- Test webkit_dom_document_get_element_by_id;
-
- * tests/testdomdocument.c:
- (test_dom_document_get_element_by_id):
- (main):
-
-2010-04-29 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] GObject DOM bindings
- https://bugs.webkit.org/show_bug.cgi?id=33590
-
- Test webkit_dom_document_get_elements_by_class_name.
-
- * tests/testdomdocument.c:
- (test_dom_document_get_elements_by_class_name):
- (main):
-
-2010-04-29 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] GObject DOM bindings
- https://bugs.webkit.org/show_bug.cgi?id=33590
-
- Test webkit_dom_document_get_elements_by_tag_name.
-
- * tests/testdomdocument.c:
- (test_dom_document_get_elements_by_tag_name):
- (main):
-
-2010-04-29 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] GObject DOM bindings
- https://bugs.webkit.org/show_bug.cgi?id=33590
-
- Move WebKitDOMDocument unit tests to their own file.
-
- * tests/testdomdocument.c: Added.
- (finish_loading):
- (dom_document_fixture_setup):
- (dom_document_fixture_teardown):
- (test_dom_document_title):
- (main):
- * tests/testwebview.c:
-
-2010-04-29 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] GObject DOM bindings
- https://bugs.webkit.org/show_bug.cgi?id=33590
-
- Include <webkit/webkitdom.h> in the main webkit.h header.
-
- * webkit/webkit.h:
-
-2010-04-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
- Disentangle initializing the main thread from initializing threading
-
- * webkit/webkitprivate.cpp:
- (webkit_init): Add call to initializeMainThread.
-
-2010-04-22 Dave Moore <davemoore@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Added notification when the favicons for a page are changed
- from a script.
- The Document object will notify the frame loader, which will
- notify the client. Implementations of FrameLoaderClient will
- have to add one method; dispatchDidChangeIcons().
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidChangeIcons):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2010-04-22 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] GObject DOM bindings
- https://bugs.webkit.org/show_bug.cgi?id=33590
-
- Add webkit_web_view_get_document to retrieve the WebKitDOMDocument
- from a WebKitWebView, and a very simple test for it.
-
- * tests/testwebview.c:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_document):
- * webkit/webkitwebview.h:
-
-2010-04-22 Diego Escalante Urrelo <descalante@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Evaluate and create tests for all the AtkRole's implemented by
- WebKitGtk
- https://bugs.webkit.org/show_bug.cgi?id=34449
-
- Expand testatkroles to test ATK_ROLE_COMBO_BOX.
-
- * tests/testatkroles.c:
- (test_webkit_atk_get_role_combobox):
- (main):
-
-2010-04-22 Diego Escalante Urrelo <descalante@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Evaluate and create tests for all the AtkRole's implemented by
- WebKitGtk
- https://bugs.webkit.org/show_bug.cgi?id=34449
-
- Expand testatkroles to test ATK_ROLE_SEPARATOR.
-
- * tests/testatkroles.c:
- (test_webkit_atk_get_role_separator):
- (main):
-
-2010-04-22 Adam Barth <abarth@webkit.org>
-
- Unreviewed, rolling out r58069.
- http://trac.webkit.org/changeset/58069
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- Broke compile on Windows.
-
- * 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):
- (webkit_web_view_settings_notify):
-
-2010-04-22 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add support for controlling clipboard access from javascript.
- Clipboard access from javascript is disabled by default.
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- * 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):
- (webkit_web_view_settings_notify):
-
-2010-04-21 Jakub Wieczorek <jwieczorek@webkit.org>
-
- Reviewed by Darin Adler.
-
- List item markers are not always updated after changes in the DOM.
- https://bugs.webkit.org/show_bug.cgi?id=37060
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_marker_text_for_list_item): Add a private API to get the marker text for a list item.
-
-2010-04-21 Diego Escalante Urrelo <descalante@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Evaluate and create tests for all the AtkRole's implemented by
- WebKitGtk
- https://bugs.webkit.org/show_bug.cgi?id=34449
-
- Expand testatkroles to test ATK_ROLE_FORM.
-
- * tests/testatkroles.c:
- (test_webkit_atk_get_role_form):
- (main):
-
-2010-04-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Factor DocumentWriter out of FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=37175
-
- Update these callsites because the method moved to DocumentWriter.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::committedLoad):
- (WebKit::FrameLoaderClient::finishedLoading):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_encoding):
-
-2010-04-20 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Change a parameter type of chooseIconForFiles()
- https://bugs.webkit.org/show_bug.cgi?id=37504
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::chooseIconForFiles):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2010-04-20 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Enable DOM clipboard and drag-and-drop access
- https://bugs.webkit.org/show_bug.cgi?id=30623
-
- Move most of the PasteboardHelper logic into WebCore. This helps
- prepare for WebKit2 and leads to a clearer separation of concerns
- between the WebKit and WebCore layers.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::collapseSelection): Converted this logic to a GClosure callback.
- (WebKit::EditorClient::respondToChangedSelection): Collapse selection via GClosure now.
- * WebCoreSupport/PasteboardHelperGtk.cpp: Moved most of the code to WebCore.
- (WebKit::PasteboardHelperGtk::PasteboardHelperGtk): This constructor just initializes the target list.
- (WebKit::PasteboardHelperGtk::~PasteboardHelperGtk): The destructor no longer needs to free the target list.
- (WebKit::PasteboardHelperGtk::getIdForTargetType): Added, virtual method for getting target ids.
- (WebKit::PasteboardHelperGtk::usePrimarySelectionClipboard): Added, virtual method for querying current clipboard.
- * WebCoreSupport/PasteboardHelperGtk.h: Update method list to reflect reduced functionality.
-
-2010-04-19 Diego Escalante Urrelo <descalante@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Evaluate and create tests for all the AtkRole's implemented by
- WebKitGtk
- https://bugs.webkit.org/show_bug.cgi?id=34449
-
- Expand testatkroles to test ATK form roles.
-
- * tests/testatkroles.c:
- (test_webkit_atk_get_role_check_box):
- (test_webkit_atk_get_role_entry):
- (test_webkit_atk_get_role_label):
- (test_webkit_atk_get_role_listbox):
- (test_webkit_atk_get_role_password_text):
- (test_webkit_atk_get_role_push_button):
- (test_webkit_atk_get_role_radio_button):
- (main):
-
-2010-04-19 Diego Escalante Urrelo <descalante@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Evaluate and create tests for all the AtkRole's implemented by
- WebKitGtk
- https://bugs.webkit.org/show_bug.cgi?id=34449
-
- Add testatkroles to test ATK non form roles.
-
- * tests/testatkroles.c: Added.
- (finish_loading):
- (atk_roles_fixture_setup):
- (atk_roles_fixture_teardown):
- (get_child_and_test_role):
- (test_webkit_atk_get_role_document_frame):
- (test_webkit_atk_get_role_heading):
- (test_webkit_atk_get_role_image):
- (test_webkit_atk_get_role_link):
- (test_webkit_atk_get_role_list_and_item):
- (test_webkit_atk_get_role_paragraph):
- (test_webkit_atk_get_role_section):
- (test_webkit_atk_get_role_table):
- (main):
-
-2010-04-17 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- We have to initialize the timer attribute after destroying it, not
- doing it was causing crashes in some situations.
-
- * webkit/webkitdownload.cpp:
- (webkit_download_finalize):
-
-2010-04-13 Timothy Hatcher <timothy@apple.com>
-
- Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
- And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
-
- SecurityOrigin needs a way to remove individual OriginAccessEntries
- https://bugs.webkit.org/show_bug.cgi?id=37449
-
- Reviewed by Dave Hyatt.
-
- * webkit/webkitprivate.cpp:
- (webkit_white_list_access_from_origin):
- (webkit_reset_origin_access_white_lists):
-
-2010-04-11 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57468.
- http://trac.webkit.org/changeset/57468
- https://bugs.webkit.org/show_bug.cgi?id=37433
-
- Broke the world... Must have applied the patch wrong
- (Requested by abarth on #webkit).
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::committedLoad):
- (WebKit::FrameLoaderClient::finishedLoading):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_encoding):
-
-2010-04-11 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Factor DocumentWriter out of FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=37175
-
- Update these callsites because the method moved to DocumentWriter.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::committedLoad):
- (WebKit::FrameLoaderClient::finishedLoading):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_encoding):
-
-2010-04-07 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
- https://bugs.webkit.org/show_bug.cgi?id=36949
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2010-04-01 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- [GTK] webkit_get_default_session() should make sure webkit_init() is called
- https://bugs.webkit.org/show_bug.cgi?id=36754
-
- Make sure global functions that do not require a WebKitWebView to
- be created call webkit_init() before doing their job. Also add an
- API test to check for that.
-
- * tests/testglobals.c: Added.
- (test_globals_default_session):
- (main):
- * webkit/webkitwebview.cpp:
- (webkit_get_default_session):
- (webkit_set_cache_model):
- (webkit_get_cache_model):
-
-2010-03-31 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Adds Geolocation param for cancelGeolocationPermissionRequestForFrame.
- https://bugs.webkit.org/show_bug.cgi?id=35031
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::cancelGeolocationPermissionRequestForFrame):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2010-03-30 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=36866
- Move CString to WTF
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- * WebCoreSupport/EditorClientGtk.cpp:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- * WebCoreSupport/InspectorClientGtk.cpp:
- * gdom/ConvertToGCharPrivate.h:
- * webkit/webkitdownload.cpp:
- * webkit/webkithittestresult.cpp:
- * webkit/webkitnetworkrequest.cpp:
- * webkit/webkitprivate.h:
- * webkit/webkitsecurityorigin.cpp:
- * webkit/webkitwebdatabase.cpp:
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebhistoryitem.cpp:
- (webkit_web_history_item_finalize):
- (webkit_web_history_item_get_target):
- * webkit/webkitwebresource.cpp:
- * webkit/webkitwebsettings.cpp:
- * webkit/webkitwebview.cpp:
-
-2010-03-28 Alexey Proskuryakov <ap@apple.com>
-
- Build fix. Include WindowsKeyboardCodes.h instead of KeyboardCodes.h.
-
- * WebCoreSupport/EditorClientGtk.cpp:
-
-2010-03-27 Sergio Villar Senin <svillar@igalia.com>
-
- Reviewed by Eric Seidel.
-
- FrameLoader emits onload-event when handling
- dispatchDidHandleOnloadEvents
-
- [GTK] Improve reporting of frame loader callbacks in DRT
- https://bugs.webkit.org/show_bug.cgi?id=36454
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidHandleOnloadEvents):
- implemented, now it emits onload-event signal
- * webkit/webkitwebview.cpp: added onload-event signal
-
-2010-03-25 Sergio Villar Senín <svillar@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Added new API webkit_web_back_forward_list_clear. This function
- clears the back forward list
-
- [GTK] http/history tests are failing
- https://bugs.webkit.org/show_bug.cgi?id=36173
-
- * tests/testwebbackforwardlist.c:
- (test_webkit_web_back_forward_list_clear):
- (main): added new unit test for the new API
- * webkit/webkitwebbackforwardlist.cpp:
- (webkit_web_back_forward_list_clear):
- * webkit/webkitwebbackforwardlist.h: new function that clears the
- back forward list
-
-2010-03-24 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Make Icon::createIconForFiles() optional.
- https://bugs.webkit.org/show_bug.cgi?id=35072
-
- - Rename iconForFiles() to chooseIconForFiles().
- - Call Icon::createIconForFiles() from chooseIconForFiles().
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ChromeClientGtk.h:
-
-2010-03-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- [GTK] Does not build with latest GTK+ development release
- https://bugs.webkit.org/show_bug.cgi?id=36398
-
- Fix building with newest GTK+ versions.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::windowRect):
- (WebKit::ChromeClient::setWindowRect):
- (WebKit::ChromeClient::unfocus):
- (WebKit::ChromeClient::canTakeFocus):
- (WebKit::ChromeClient::contentsSizeChanged):
- * webkit/webkitprivate.cpp:
- (currentToplevelCallback):
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_print_full):
- (webkit_web_frame_print):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_grab_focus):
- (webkit_web_view_focus_in_event):
- (webkit_web_view_script_dialog):
-
-2010-03-18 Philip Chimento <philip.chimento@gmail.com>
-
- Reviewed by Oliver Hunt.
-
- Setting the GObject WebKitWebView property 'window-features' to NULL
- causes a crash.
- https://bugs.webkit.org/show_bug.cgi?id=36144
-
- * tests/testwebview.c: Add unit test for this bug.
- * webkit/webkitwebview.cpp: Don't allow the 'window-features' property
- to be set to NULL.
- * webkit/webkitwebwindowfeatures.cpp:
- (webkit_web_window_features_equal): Don't examine the members of either
- web_window_features argument if either is NULL, just return that they
- are not equal. Additionally, if they are the same object, return that
- they are equal.
-
-2010-03-16 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Update for 1.1.90 release.
-
- * NEWS:
-
-2010-03-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Fix one too many empty lines in documentation of
- window-obejct-cleared signal, which caused the documentation to be
- rendered funny. Thanks to Martin Robinson for noticing.
-
- * webkit/webkitwebview.cpp:
-
-2010-03-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Add missing symbol to GeoLocation documentation
- section.
-
- * docs/webkitgtk-sections.txt:
-
-2010-03-16 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Xan Lopez.
-
- can't input korean into lower all input box except adress input box in webkit gtk launcher
- https://bugs.webkit.org/show_bug.cgi?id=32290
-
- Make the GTK+ EditorClient properly handle different types of input module
- behavior such as commit and preedit signals that happen outside of key event
- filtering and multiple times in a row. Filter keyup events as well as keydown
- events and call gtk_im_context_focus_{in/out} when the WebView focus changes.
-
- Added tests for this behavior to the GTK+ unit tests.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::imContextCommitted): Handle this signal properly when it happens outside of
- key event filtering.
- (WebKit::imContextPreeditChanged): Immediately update the preedit state and do not reject
- empty preedits, so that cancellation works properly.
- (WebKit::EditorClient::updatePendingComposition): Add this method, which handles the
- situation where a commit signal happens when there is still a pending commit.
- (WebKit::EditorClient::shouldBeginEditing): Clear pending composition state before editing
- starts.
- (WebKit::EditorClient::shouldEndEditing): Clear pending composition state before editing ends.
- (WebKit::EditorClient::handleKeyboardEvent): No longer special case preedits which happen during
- key event filtering. When confirming a pending composition use insertText instead of confirmComposition.
- (WebKit::EditorClient::handleInputMethodKeydown):
- * WebCoreSupport/EditorClientGtk.h: Make pendingComposition a member, so that multiple WebViews
- do not share state.
- (WebKit::EditorClient::webView): Added.
- (WebKit::EditorClient::treatContextCommitAsKeyEvent): Added.
- (WebKit::EditorClient::clearPendingComposition): Added.
- * tests/testkeyevents.c:
- (test_keypress_events_load_status_cb):
- (map_event_cb):
- (setup_keyevent_test):
- (test_keypress_events):
- (element_text_equal_to):
- (test_ime_load_status_cb):
- (test_ime):
- (main):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_key_release_event):
- (webkit_web_view_focus_in_event):
-
-2010-03-16 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost.
-
- Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
- https://bugs.webkit.org/show_bug.cgi?id=35036
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::notifyWebViewDestroyed):
- (WebKit::InspectorClient::InspectorClient):
- (WebKit::InspectorClient::inspectorDestroyed):
- (WebKit::InspectorClient::openInspectorFrontend):
- (WebKit::InspectorClient::highlight):
- (WebKit::InspectorClient::hideHighlight):
- (WebKit::InspectorClient::populateSetting):
- (WebKit::InspectorClient::storeSetting):
- (WebKit::InspectorFrontendClient::InspectorFrontendClient):
- (WebKit::InspectorFrontendClient::~InspectorFrontendClient):
- (WebKit::InspectorFrontendClient::destroyInspectorWindow):
- (WebKit::InspectorFrontendClient::localizedStringsURL):
- (WebKit::InspectorFrontendClient::hiddenPanels):
- (WebKit::InspectorFrontendClient::bringToFront):
- (WebKit::InspectorFrontendClient::closeWindow):
- (WebKit::InspectorFrontendClient::attachWindow):
- (WebKit::InspectorFrontendClient::detachWindow):
- (WebKit::InspectorFrontendClient::setAttachedWindowHeight):
- (WebKit::InspectorFrontendClient::inspectedURLChanged):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2010-03-15 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=35502
- [Gtk] Objects of ATK_ROLE_TABLE should not implement AtkText
-
- New test to be sure we do not accidentally implement AtkText for tables
-
- * tests/testatk.c
- (testWebkitAtkGetTextInTable):
- (main):
-
-2010-03-09 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Holger Freyther.
-
- [GTK] GTK_WIDGET_IS_SENSITIVE is deprecated in GTK+ 2.20
- https://bugs.webkit.org/show_bug.cgi?id=35909
-
- * webkit/webkitwebview.cpp: GTK_WIDGET_IS_SENSITIVE has been
- deprecated in gtk 2.20. Use gtk_widget_is_sensitive when available.
-
-2010-03-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Kenneth Rohde Christiansen.
-
- Misc documentation fixes. Fixes (almost) all warnings emitted by
- the documentation build process. Only the broken references to JSC
- objects remain.
-
- * webkit/webkitsecurityorigin.cpp:
- * webkit/webkitwebbackforwardlist.cpp:
- * webkit/webkitwebdatasource.cpp:
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebhistoryitem.cpp:
- * webkit/webkitwebinspector.cpp:
- (webkit_web_inspector_class_init):
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- * webkit/webkitwebview.cpp:
- (DNDContentsRequest::webkit_web_view_class_init):
-
-2010-03-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by David Hyatt.
-
- Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ChromeClientGtk.h:
-
-2010-03-09 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] testkeyevents doesn't stop if input event injection fails
- https://bugs.webkit.org/show_bug.cgi?id=35922
-
- * tests/testkeyevents.c:
- (load_status_cb): Added a safeguard to exit from the test if the
- input event injection failed.
-
-2010-03-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Documentation control files update for 1.1.23.
-
- * docs/webkitgtk-docs.sgml:
-
-2010-03-08 Csaba Osztrogonác <ossy@webkit.org>
-
- [GTK] Unreviewed buildfix after r55688.
-
- * webkit/webkitdownload.cpp:
- (webkit_download_start):
-
-2010-03-02 Adam Treat <atreat@rim.com>
-
- Reviewed by Dave Hyatt.
-
- Adapt the gtk port to the refactoring of repaint methods.
-
- https://bugs.webkit.org/show_bug.cgi?id=34214
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ChromeClientGtk.h:
-
-2010-03-08 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by David Levin.
-
- Remove the now-redundant Settings fields for the Database
- https://bugs.webkit.org/show_bug.cgi?id=35763
-
- No new tests; this code isn't called.
-
- * webkit/webkitwebview.cpp: Remove the calls into Settings.
- (DNDContentsRequest::webkit_web_view_update_settings):
- (DNDContentsRequest::webkit_web_view_settings_notify):
-
-2010-03-06 Arno Renevier <arno@renevier.net>
-
- Reviewed by Eric Seidel.
-
- [Gtk] GEOLOCATION_POLICY_DECISION_CANCELLED unused
- https://bugs.webkit.org/show_bug.cgi?id=35803
-
- * webkit/webkitwebview.cpp:
- (DNDContentsRequest::webkit_web_view_class_init):
-
-2010-03-03 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Gustavo Noronha.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- [Gtk] Add 'enable-spatial-navigation' setting for toggle Spatial Navigation on/off
- https://bugs.webkit.org/show_bug.cgi?id=35701
-
- * 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:
- (DNDContentsRequest::webkit_web_view_update_settings):
- (DNDContentsRequest::webkit_web_view_settings_notify):
-
-2010-03-03 Fridrich Strba <fridrich.strba@bluewin.ch>
-
- Reviewed by Xan Lopez.
-
- Miscellaneous little fixes for the windows build of webkit-gtk
- https://bugs.webkit.org/show_bug.cgi?id=35640
-
- * webkit/webkitdownload.cpp: Windows headers define ERROR
- which breaks the build. Undef ERROR if it is defined.
-
-2010-03-03 Philippe Normand <pnormand@igalia.com>
-
- Unreviewed, build fix after r55452.
-
- * webkit/webkitwebview.cpp:
- (DNDContentsRequest::webkit_web_view_settings_notify): added missing braces.
-
-2010-03-02 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by David Levin.
-
- Move database enable bit fully out of settings
- This is stage one of a three-stage commit [webkit, then chromium, then
- webkit again]. In this change I'm adding calls to
- Database::setIsAvailable inside Settings::setDatabaseEnabled and
- anywhere else that called it, and switching webkit fully over to using
- that flag [added in a previous checkin]. Phase two will remove
- Chromium's use of Settings for the Database, and phase three will remove
- the Setting for the Database enable entirely, leaving only
- Database::isAvailable/setIsAvailable.
-
- No new tests; tested by existing storage tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=35310
-
- * webkit/webkitwebview.cpp: Add calls to Database::setIsAvailable
- (DNDContentsRequest::webkit_web_view_update_settings):
- (DNDContentsRequest::webkit_web_view_settings_notify):
-
-2010-03-02 Arno Renevier <arno@renevier.net>
-
- Reviewed by Gustavo Noronha Silva.
-
- [Gtk] implements ChromeClient::requestGeolocationPermissionForFrame
- https://bugs.webkit.org/show_bug.cgi?id=35210
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ChromeClientGtk.h:
- * docs/webkitgtk-sections.txt:
- * webkit/webkit.h:
- * webkit/webkitdefines.h:
- * webkit/webkitgeolocationpolicydecision.cpp: Added.
- (webkit_geolocation_policy_decision_class_init):
- (webkit_geolocation_policy_decision_init):
- (webkit_geolocation_policy_decision_new):
- (webkit_geolocation_policy_allow):
- (webkit_geolocation_policy_deny):
- * webkit/webkitgeolocationpolicydecision.h: Added.
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (DNDContentsRequest::webkit_web_view_class_init):
- * webkitmarshal.list:
-
-2010-03-01 José Millán Soto <jmillan@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Right click does not activate text entry
- https://bugs.webkit.org/show_bug.cgi?id=29177
-
- Makes the frame handle the mouse click event before sending the
- context menu event.
-
- * webkit/webkitwebview.cpp:
- (PopupMenuPositionFunc):
- Function created to make the popup menu appear in the correct position, especially
- when invoked from the keyboard.
- (webkit_web_view_forward_context_menu_event):
- Mouse click event is sent to frame before creating context menu,
- PopupMenuPositionFunc used to determine the position where the menu should appear.
- (webkit_web_view_popup_menu_handler):
- Improved focused node position detection. Event button set to right button.
-
-2010-03-01 Jakob Petsovits <jpetsovits@rim.com>
-
- Reviewed by Adam Barth.
-
- Adapt to the new ZoomMode enum.
- https://bugs.webkit.org/show_bug.cgi?id=35347
-
- * webkit/webkitwebview.cpp:
- (DNDContentsRequest::webkit_web_view_apply_zoom_level):
-
-2010-03-01 Kalle Vahlman <zuh@iki.fi>
-
- Reviewed by Gustavo Noronha Silva.
-
- Queue a resize when either of the content dimensions change
- https://bugs.webkit.org/show_bug.cgi?id=35489
-
- The check for size changes only queued a resize if both of the content
- dimensions change, leaving the widget size out-of-sync if eg. only the
- width changes.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
-
-2009-12-04 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] Needs proper reporting of frame loader callbacks, in DRT
- https://bugs.webkit.org/show_bug.cgi?id=32170
-
- Add new signal to report when the document load is finished for a
- frame.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFinishDocumentLoad):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
-
-2010-02-26 Antonio Gomes <tonikitoo@webkit.org>
-
- Complementary commit of r55300. Missing "notify::" to signal name.
-
- * tests/testwebview.c:
- (test_webkit_web_view_grab_focus):
-
-2010-02-26 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Xan Lopez.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- [GTK] Make webkit_web_view_grab_focus to active focus controller.
- https://bugs.webkit.org/show_bug.cgi?id=35402
-
- When programatically setting focus to an element in an inner document,
- calling "hasFocus()" from this document returns FALSE, because
- document's FocusController is not activated. It does not happen
- if |document| is the main document.
-
- Making webkit_web_view_grab_focus to actually activate the FocusController,
- fixes the issue.
-
- * tests/testwebview.c:
- (server_callback):
- (test_webkit_web_view_grab_focus):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_grab_focus):
-
-2010-02-26 Alejandro G. Castro <alex@igalia.com>
-
- Unreviewed.
-
- Reverted last patch (r55295), it causes problems with the frames.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
-
-2010-02-19 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Some region checks in scroll are not required
- https://bugs.webkit.org/show_bug.cgi?id=35142
-
- Removes some of the operations checking the moved and invalidated
- regions when scrolling, it is done already in
- gdk_window_move_region.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
-
-2010-02-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [Gtk] crashed when destroying
- https://bugs.webkit.org/show_bug.cgi?id=31271
-
- NULL-check the page before relaying the focus out event, since
- this might happen when destroying the widget without destroying
- its parent, and we currently crash.
-
- * tests/testwebview.c:
- (delayed_destroy):
- (test_webkit_web_view_destroy):
- (main):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_focus_in_event):
-
-2010-02-24 Krzysztof Kotlenga <pocek@users.sf.net>
-
- Reviewed by Gustavo Noronha Silva.
-
- [Gtk] Creation of a WebkitWebView widget is very slow
- https://bugs.webkit.org/show_bug.cgi?id=30032
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::ignoreWordInSpellDocument): Change 'langs' to 'dicts'
- to reflect the fact that the list just holds Enchant dictionaries now.
- (WebKit::EditorClient::learnWord): Ditto.
- (WebKit::EditorClient::checkSpellingOfString): Ditto.
- (WebKit::EditorClient::getGuessesForWord): Ditto.
- * webkit/webkitprivate.h: Remove the now unused SpellLanguage struct.
- * webkit/webkitwebsettings.cpp: Change function call to reflect new
- webkit_web_settings_get_enchant_dicts name.
- (get_enchant_broker): Add this method which returns the enchant broker singleton.
- (free_spell_checking_language): The list contents have changed, so change
- the way each element is freed.
- (webkit_web_settings_finalize): Change to reflect 'spell_checking_languages_list'
- to 'enchant_dicts' member name change.
- (webkit_web_settings_set_property): Use the broker singleton here instead of making
- a new one for each language. The Enchant dictionary is now the list payload.
- (webkit_web_settings_copy): More name-change updates.
- (webkit_web_settings_get_enchant_dicts): Ditto.
-
-2010-02-23 Leandro Pereira <leandro@profusion.mobi>
-
- Reviewed by Gustavo Noronha Silva.
-
- Fixes references to GOwnPtr and GRefPtr so the GTK+ port builds
- again.
- http://webkit.org/b/35084
-
- * WebKit/gtk/webkit/webkitwebview.cpp:
-
-2010-02-23 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [Gtk] Implement layoutTestController.numberOfPages
- https://bugs.webkit.org/show_bug.cgi?id=35228
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_number_of_pages):
-
-2010-02-23 José Millán Soto <jmillan@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Server message not shown on http authentication
- https://bugs.webkit.org/show_bug.cgi?id=34219
-
- * webkit/webkitsoupauthdialog.c:
- (show_auth_dialog):
- Server message is displayed, messageLabel and message variables were
- renamed to avoid confusion.
-
-2010-02-23 Steve Block <steveblock@google.com>
-
- Reviewed by Darin Adler.
-
- Adds ChromeClient::cancelGeolocationPermissionRequestForFrame
- https://bugs.webkit.org/show_bug.cgi?id=34962
-
- This method is required so that a Geolocation object can cancel an
- asynchronous permission request. This allows the chrome client to cancel
- any UI it is showing for the permission request.
-
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::cancelGeolocationPermissionRequestForFrame):
-
-2010-02-23 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Do not do unnecessary work during size_allocate.
-
- FrameView::resize will already queue a layout, so there's no need
- to force one ourselves. On top of that, the layout function
- already adjusts the view size when needed, so there's no need to
- do that manually either. No change in the layout tests or unit
- tests after this.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_size_allocate):
-
-2010-02-22 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Update for release.
-
- * NEWS:
-
-2010-02-22 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [Soup] loses information related to message flags when converting from/to Resource{Request,Response}
- https://bugs.webkit.org/show_bug.cgi?id=35093
-
- Update the flags that are stored in the request, when the response
- is received.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidReceiveResponse):
-
-2010-02-20 Gustavo Noronha Silva <gns@gnome.org>
-
- Unreviewed. Trivial fix - unnecessary variable got added by
- mistake.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidReceiveResponse):
-
-2010-02-18 Diego Escalante Urrelo <descalante@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] WebKitDownload documentation is incomplete
- https://bugs.webkit.org/show_bug.cgi?id=35018
-
- Concretely the error signal was undocumented. Also two relevant enums
- were not included.
-
- * docs/webkitgtk-sections.txt:
- * docs/webkitgtk.types:
- * webkit/webkitdownload.cpp:
- (webkit_download_class_init):
-
-2010-02-17 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by David Levin, Darin Fisher, Simon Hausmann.
-
- When a live iframe element is moved between pages, it still depends on the old page.
- https://bugs.webkit.org/show_bug.cgi?id=34382
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::didTransferChildFrameToNewDocument):
- Added empty implementation of a new virtual method.
-
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2010-02-17 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Introduces new Icon loading interface in order to support
- asynchronous loading.
- https://bugs.webkit.org/show_bug.cgi?id=32054
-
- Add an empty implementation of ChromeClient::iconForFiles().
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::iconForFiles):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2010-02-17 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Rename 'enable-java' setting to 'enable-java-applet', since it
- only controls whether <applet> is supported or not instead of
- whether all Java content is supported or not.
-
- * 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:
- (DNDContentsRequest::webkit_web_view_update_settings):
- (DNDContentsRequest::webkit_web_view_settings_notify):
-
-2010-02-17 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [Linux] Webkit incompatible with Java plugins
- https://bugs.webkit.org/show_bug.cgi?id=24912
-
- Implement FrameLoaderClient::createJavaAppletWidget.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createJavaAppletWidget):
-
-2010-02-17 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [Linux] Webkit incompatible with Java plugins
- https://bugs.webkit.org/show_bug.cgi?id=24912
-
- Add a WebKitWebSetting to enable/disable the Java plugin support.
-
- * 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):
- (webkit_web_view_settings_notify):
-
-2010-02-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Test that data URIs that cause downloads to be started do not crash.
-
- * tests/testdownload.c:
- (mime_type_policy_decision_requested_cb):
- (idle_quit_loop_cb):
- (test_webkit_download_data):
- (main):
-
-2010-02-17 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Missing property warning after r54873
- https://bugs.webkit.org/show_bug.cgi?id=35023
-
- Add a new WebKitWebSettings setting, 'enable-file-access-from-file-uris', set to
- FALSE by default, that when enabled will assign each file:// URI
- their own security domain.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- (webkit_web_settings_set_property):
- (webkit_web_settings_get_property):
- (webkit_web_settings_copy):
-
-2010-02-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Check if the handle has a SoupMessage before trying to use
- it. This will be the case in non-HTTP(S) URLs.
-
- * webkit/webkitdownload.cpp:
- (webkit_download_new_with_handle):
- (webkit_download_start):
-
-2010-02-16 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Add a new WebKitWebSettings setting, 'auto-resize-window', set to
- FALSE by default, that when enabled will apply any resizes or
- moves done by a page through various DOM methods (moveTo,
- resizeTo, moveBy, resizeBy).
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- (webkit_web_settings_set_property):
- (webkit_web_settings_get_property):
- (webkit_web_settings_copy):
-
-2010-02-15 Emilio Pozuelo Monfort <pochu27@gmail.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Fails to build on GNU/Hurd because of PATH_MAX usage
- https://bugs.webkit.org/show_bug.cgi?id=34920
-
- Use dynamic allocation instead of fixed PATH_MAX size buffers to
- fix the build on GNU/Hurd, where PATH_MAX is undefined.
-
- * tests/testmimehandling.c:
- (main):
- * tests/testwebview.c:
- (main):
-
-2010-02-14 Diego Escalante Urrelo <descalante@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [gtk] WebKitDownload's currentSize property is guint, should be guint64
- https://bugs.webkit.org/show_bug.cgi?id=34829
-
- Actually use a guint64 for current-size property in WebKitDownload, we
- were using a guint which is likely the cause for wrong sizes for files
- over 4 Gb.
-
- * webkit/webkitdownload.cpp:
-
-2010-02-09 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- [GTK] Hits assertion on history back, with page cache enabled, in specific conditions
- https://bugs.webkit.org/show_bug.cgi?id=34773
-
- Make sure cached frames have their scrollbars disconnected from
- the WebView's adjustments.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::savePlatformDataToCachedFrame):
-
-2010-02-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] Set GtkAdjustments on our FrameView when loading a page in the PageCache
- https://bugs.webkit.org/show_bug.cgi?id=34754
-
- Test that lower, and upper bounds are kept when goibg back with
- page cache enabled, and disabled. Page cache behaviour is still a
- bit broken (see FIXME).
-
- * tests/testwebview.c:
- (server_callback):
- (map_event_cb):
- (do_test_webkit_web_view_adjustments):
- (test_webkit_web_view_adjustments):
- (main):
-
-2010-02-09 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Set GtkAdjustments on our FrameView when loading a page in the PageCache
- https://bugs.webkit.org/show_bug.cgi?id=34754
-
- Set the Gtk Adjustments of the FrameViews when they are restored
- from the PageCache too. Right we only do it for the newly created
- FrameViews in transitionToCommittedForNewPage, but we it also
- needs to be done in the equilavent transition method for cached
- pages.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::postCommitFrameViewSetup):
- (WebKit::FrameLoaderClient::transitionToCommittedFromCachedFrame):
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
-
-2010-02-08 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Implement FrameLoaderClient::hasWebView
- https://bugs.webkit.org/show_bug.cgi?id=34682
-
- Used for sanity-check ASSERTS in the FrameLoader code.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::hasWebView):
-
-2010-02-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- News about 1.1.21.
-
- * NEWS:
-
-2010-02-05 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Gustavo Noronha Silva.
-
- [Gtk] Implement layoutTestController.pageNumberForElementById
- https://bugs.webkit.org/show_bug.cgi?id=34572
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_page_number_for_element_by_id):
-
-2010-02-04 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Add and cleanup return values of signals in view and frame
- https://bugs.webkit.org/show_bug.cgi?id=33484
-
- Add missing and cleanup return values of web frame and web view signals.
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_class_init):
- * webkit/webkitwebview.cpp:
- (DNDContentsRequest::webkit_web_view_class_init):
-
-2010-02-02 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- Changes in 1.1.20, and documentation control files update.
-
- * NEWS:
- * docs/webkitgtk-docs.sgml:
-
-2010-02-02 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] When selection changes selections in other WebView are not collapsed
- https://bugs.webkit.org/show_bug.cgi?id=34043
-
- Collapse the selection of a WebView even when the new selection owner is
- a new WebView.
-
- * WebCoreSupport/PasteboardHelperGtk.cpp:
- (WebKit::clearClipboardContentsCallback): Only clear the DataObject we are setting
- is not the same as the one referenced in this callback. Use the same behavior for
- collapsing the selection.
- (WebKit::PasteboardHelperGtk::writeClipboardContents): Instead of recording a boolean
- record the actual data used while writing to the clipboard.
-
-2010-01-27 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Expose the IM context via the API
- https://bugs.webkit.org/show_bug.cgi?id=33327
-
- Expose the GtkIMMultiContext as a property of WebKitWebView. This will
- allow embedders to generate the input method context menu entries and
- make testing certain IM context behavior possible.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_property):
- (DNDContentsRequest::webkit_web_view_get_im_context):
- (DNDContentsRequest::webkit_web_view_class_init):
-
-2010-01-19 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=30883
- [Gtk] Implement AtkText for HTML elements which contain text
-
- Adds two news tests.
-
- * tests/testatk.c
- (testWebkitAtkGetTextInParagraphAndBodySimple):
- (testWebkitAtkGetTextInParagraphAndBodyModerate):
- (main):
-
-2010-01-19 Gustavo Noronha Silva <gns@gnome.org>
-
- Unreviewed. Changes to the test I forgot to make after a last
- minute change before landing 53294 - this causes make distcheck to
- fail.
-
- * tests/testloading.c:
- (load_error_status_changed_cb):
- (test_loading_error):
-
-2010-01-19 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- News items for 1.1.19.
-
- * NEWS:
-
-2010-01-19 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- [GTK] More crashes related to the clipboard management
- https://bugs.webkit.org/show_bug.cgi?id=33746
-
- Pass the WebKitWebView object (which is a GObject, thus
- ref-counted) to the clipboard functions instead of passing the
- Page - this allows us to explicitely protect the object inbetween
- the clipboard call and its callbacks, which fixes the crash.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::respondToChangedSelection):
- * WebCoreSupport/PasteboardHelperGtk.cpp:
- (WebKit::getClipboardContentsCallback):
- (WebKit::clearClipboardContentsCallback):
- (WebKit::PasteboardHelperGtk::writeClipboardContents):
-
-2010-01-15 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Original patch by David Ronis <david.ronis@mcgill.ca>
-
- Upgrade 1.1.17->1.1.18 fails: GTK_WIDGET_TOPLEVEL' was not declared in this scope
- https://bugs.webkit.org/show_bug.cgi?id=33486
-
- Deprecated symbols replaced for gtk+ versions over 2.18.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::windowRect):
- * webkit/webkitprivate.cpp:
- (currentToplevelCallback):
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_print_full):
- (webkit_web_frame_print):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_focus_in_event):
-
-2010-01-14 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Eric Seidel.
-
- [GTK] Crashes cleaning clipboard contents, with page cache enabled
- https://bugs.webkit.org/show_bug.cgi?id=32900
-
- Null-check the focus controller to avoid crashing. Could not find
- a way to reproduce this consistently, thus no test.
-
- * WebCoreSupport/PasteboardHelperGtk.cpp:
- (WebKit::clearClipboardContentsCallback):
-
-2010-01-14 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Oliver Hunter.
-
- [GTK] couple fixes for signal emissions, and property notifications
- https://bugs.webkit.org/show_bug.cgi?id=33428
-
- Do not emit signals and property notifications for error
- pages. The notifications are not really useful for anything, you
- can get them back by overriding the error pages, and it avoids a
- number of hacks.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::FrameLoaderClient):
- (WebKit::FrameLoaderClient::dispatchDidFinishLoad):
- (WebKit::FrameLoaderClient::dispatchDidReceiveIcon):
- (WebKit::FrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebKit::FrameLoaderClient::dispatchDidReceiveTitle):
- (WebKit::FrameLoaderClient::dispatchDidCommitLoad):
- (WebKit::FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
- (WebKit::FrameLoaderClient::dispatchDidFailLoad):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- * tests/testloading.c:
- (load_error_status_changed_cb):
- (test_loading_error):
-
-2010-01-14 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Enable DOM clipboard and drag-and-drop access
- https://bugs.webkit.org/show_bug.cgi?id=30623
-
- Use DataObjectGtk when setting and clearing pasteboard data on
- the GDK_SELECTION_PRIMARY clipboard.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::respondToChangedSelection):
- (WebKit::EditorClient::EditorClient):
- * WebCoreSupport/EditorClientGtk.h:
- * WebCoreSupport/PasteboardHelperGtk.cpp:
- (WebKit::fillSelectionData):
- (WebKit::targetListForDataObject):
- (WebKit::getClipboardContentsCallback):
- (WebKit::clearClipboardContentsCallback):
- (WebKit::PasteboardHelperGtk::writeClipboardContents):
- * WebCoreSupport/PasteboardHelperGtk.h:
-
-2010-01-14 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Review the tooltip implementation
- https://bugs.webkit.org/show_bug.cgi?id=32819
-
- Change the GTK tooltip implementation to avoid the workaround that
- we are currently using. Now we use a new private API to set the
- text and all the tooltip handling is done in the webview widget.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_set_tooltip_text): Added, new private API.
- (webkit_web_view_query_tooltip): Added
-
-2010-01-09 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- [GTK] couple fixes for signal emissions, and property notifications
- https://bugs.webkit.org/show_bug.cgi?id=33428
-
- Fix commitedLoad being called where it should not, causing it to
- be called one time too many in some cases. We now match Qt's and
- Mac's behavior here.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::finishedLoading):
- * tests/testloading.c:
- (load_error_status_changed_cb):
-
-2010-01-08 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- [GTK] loading test should use SoupServer instead of actual sites
- https://bugs.webkit.org/show_bug.cgi?id=33353
-
- Make all the loading tests use SoupServer, instead of fetching
- stuff from the Internet.
-
- * tests/testloading.c:
- (server_callback):
- (get_uri_for_path):
- (test_loading_status):
- (test_loading_error):
- (test_loading_cancelled):
- (load_wentback_status_changed_cb):
- (load_error_test):
- (test_loading_goback):
- (main):
-
-2010-01-06 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=30883
- [Gtk] Implement AtkText for HTML elements which contain text
-
- * tests/testatk.c
- (test_webkit_atk_get_text_at_offset):
- (test_webkit_atk_get_text_at_offset_forms):
- (test_webkit_atk_get_text_at_offset_newlines):
-
-2010-01-05 Gustavo Noronha Silva <gns@gnome.org>
-
- Updated docs for 1.1.18 release.
-
- * docs/webkitgtk-docs.sgml:
- * docs/webkitgtk-sections.txt:
-
-2010-01-05 Xan Lopez <xlopez@igalia.com>
-
- Update for 1.1.18 release.
-
- * NEWS:
-
-2010-01-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin Fisher.
-
- Reorganize, document and rename OS() platform macros.
- https://bugs.webkit.org/show_bug.cgi?id=33198
-
- Adapt to name changes.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_get_user_agent):
-
-2010-01-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam Barth.
-
- Reorganize, document and rename CPU() platform macros.
- https://bugs.webkit.org/show_bug.cgi?id=33145
-
- * webkit/webkitwebsettings.cpp:
- (webkit_get_user_agent):
-
-2009-12-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Remove emission of signal that does not exist.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::inspectorDestroyed):
- (WebKit::InspectorClient::webViewDestroyed):
-
-2009-12-20 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Unset the adjustments in our FrameView when detaching from
- parent. Fixes some crashers when transitioning to a new page from
- a scrolled page.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::detachedFromParent2):
-
-2009-12-20 Xan Lopez <xlopez@igalia.com>
-
- Rubber-stamped by Gustavo Noronha.
-
- Disable the page cache by default since:
-
- - It was previously off by default.
- - There are still some issues when enabling it.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
-
-2009-12-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Provides a new API to copy WebKitWebHistoryItem objects.
-
- * webkit/webkitwebhistoryitem.cpp:
- (webkit_web_history_item_copy):
- * webkit/webkitwebhistoryitem.h:
-
-2009-12-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Make sure we get the URI that is being loaded when updating
- WebKitWebFrame's knowledge of it. This was causing problems now
- that page cache is enabled.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidCommitLoad):
- * tests/testloading.c:
- (load_goback_status_changed_cb):
- (load_wentback_status_changed_cb):
- (test_loading_goback):
- (main):
-
-2009-12-20 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] Cache control APIs
- https://bugs.webkit.org/show_bug.cgi?id=24001
-
- Original patch by Bobby Powers <bobby@laptop.org>
-
- Added new API to specify cache models for GTK port.
-
- * webkit/webkitprivate.cpp:
- (webkit_init): set a default cache model.
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
- (webkit_set_cache_model): Added function.
- (webkit_get_cache_model): Added function.
-
-2009-12-20 Xan Lopez <xlopez@igalia.com>
-
- Revert the previous patch, it introduces some failures in the
- bots.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::committedLoad):
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
-
-2009-12-20 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] crash when loading new page
- https://bugs.webkit.org/show_bug.cgi?id=32752
-
- Wait until the document is attached to adjust our alignments,
- since we need to make sure the FrameView in the document content
- render object matches the newly created FrameView for the new
- page, otherwise we'll try to relayout the wrong view.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::committedLoad):
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
-
-2009-12-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Create a new WebKitDataSource object when attaching to a frame, if
- one does not exist. This may happen when we are fetching data from
- the page cache.
-
- * WebCoreSupport/DocumentLoaderGtk.cpp:
- (WebKit::DocumentLoader::attachToFrame):
- (WebKit::DocumentLoader::unrefDataSource):
-
-2009-12-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Xan Lopez.
-
- Make sure the text encoding machinery is initialized from the main
- frame, before opening the icon database.
-
- * webkit/webkitprivate.cpp:
- (webkit_init):
-
-2009-12-19 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- Fixed the problem when pasting in the same window with the
- middle-button, now we store a reference to the range instead of
- requesting it every time, and we do not release it until the
- clipboard is requested.
- https://bugs.webkit.org/show_bug.cgi?id=28153
-
- * WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp:
- * WebKit/gtk/WebCoreSupport/EditorClientGtk.h:
-
-2009-12-19 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Protect download objects when reporting errors, to make sure the
- download stays alive between the status change notification, and
- the error signal emission.
-
- * webkit/webkitdownload.cpp:
- (webkit_download_error):
-
-2009-12-18 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Fix gtk-doc of webkit_web_resource_new.
-
- * webkit/webkitwebresource.cpp:
-
-2009-12-18 Adam Roben <aroben@apple.com>
-
- GTK build fix
-
- * webkit/webkitprivate.cpp: Added #include.
-
-2009-12-18 Kalle Vahlman <kalle.vahlman@movial.com> and Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Add enable-page-cache property to WebSettings for disabling the Page Cache
-
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::):
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
- (_WebKitWebSettingsPrivate::webkit_web_settings_set_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_get_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_copy):
- * webkit/webkitwebview.cpp:
-
-2009-12-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- More make distcheck fixes. Use a more robust solution to making
- sure we are in the correct directory for running these tests.
-
- * tests/testmimehandling.c:
- (main):
- * tests/testwebview.c:
- (main):
-
-2009-12-17 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] Don't assume downloads are always synchronous
- http://bugs.webkit.org/show_bug.cgi?id=32359
-
- * tests/testdownload.c:
- (download_requested_cb):
- (set_filename):
- (test_webkit_download_perform):
- (test_webkit_download_synch):
- (test_webkit_download_asynch):
- (main): Test downloads synchronously and asynchronously.
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
- (webkit_web_view_request_download): Only try to start a requested
- download if the destination URI is set and clarify the documentation.
-
-2009-12-17 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Xan Lopez.
-
- Deprecate the title-changed signal of WebKitWebFrame.
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_class_init):
-
-2009-12-17 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] WebKit GTK needs a wrapper for ref counted glib/gobject structs
- https://bugs.webkit.org/show_bug.cgi?id=21599
-
- Convert a use of GOwnPtr for a reference counted type to GRefPtr.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createPlugin):
-
-2009-12-17 Evan Martin <evan@chromium.org>
-
- Reviewed by Xan Lopez.
-
- Expose the page workarounds ("quirks") setting to the GTK+ WebKit API.
-
- * 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):
-
-2009-12-16 Dan Winship <danw@gnome.org>
-
- Reviewed by Gustavo Noronha Silva.
-
- Content-Encoding support
-
- https://bugs.webkit.org/show_bug.cgi?id=522772
-
- * webkit/webkitprivate.cpp:
- (webkit_init): add a SoupContentDecoder feature to the session
-
-2009-12-16 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Gustavo Noronha Silva.
-
- Deprecate the old loading signals load-started, load-committed,
- load-finished, load-progress-changed and change unit tests to use
- load-status instead.
-
- * tests/testmimehandling.c:
- (idle_quit_loop_cb):
- (test_mime_type): use notify::load-status
- * tests/testwebdatasource.c:
- (notify_load_status_unreachable_cb):
- (notify_load_status_cb):
- (test_webkit_web_data_source):
- (test_webkit_web_data_source_unreachable_uri): Remove uses of
- g_main_loop_is_running. It's an error if the loop is wrongly terminated.
- * tests/testwebresource.c:
- (notify_load_status_cb):
- (test_web_resource_loading):
- (notify_load_status_sub_cb):
- (test_web_resource_sub_resource_loading): use notify::load-status
- * tests/testwebview.c:
- (idle_quit_loop_cb):
- (test_webkit_web_view_icon_uri):
- * tests/testwindow.c:
- (notify_load_status_cb):
- (test_webkit_window_scrollbar_policy): use notify::load-status
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_class_init):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init): Deprecate old load signals.
-
-2009-12-16 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Gustavo Noronha Silva.
-
- Take into account favicon.ico in the webresource test.
-
- * tests/testwebresource.c:
- (test_web_resource_sub_resource_loading):
-
-2009-12-16 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Xan Lopez.
-
- Add tab_key_cycles_through_elements to copies of
- WebKitWebSettings.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_copy):
-
-2009-12-16 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Gustavo Noronha Silva.
-
- [GTK] webkit_web_navigation_action_get_button() documentation
- https://bugs.webkit.org/show_bug.cgi?id=25555
-
- Small documentation improvement for webkit_web_navigation_action_get_button.
-
- * webkit/webkitwebnavigationaction.cpp:
-
-2009-12-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
- Add client based Geolocation provider
-
- Add first cut of a client based Geolocation provider. This is guarded by
- ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
- GeolocationControllerClient interface that no-one currently implements,
- but will in a subsequent patch.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
-
-2009-12-14 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- New setting to allow applications to completely suppress the
- default context menu that is generated by WebKit. This allows them
- to still pass the event to the default handler without needing to
- use ugly hacks such as handling populate-popup, and removing all
- the items from the default context menu.
-
- * 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_forward_context_menu_event):
-
-2009-12-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Also give the right click event to the frame's event handler, if
- there WebCore decides to not generate the default context
- menu. This fixes some pages that handle right-button clicks for
- things other than context menu creation.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_forward_context_menu_event):
-
-2009-12-13 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Holger Freyther.
-
- http://bugs.webkit.org/show_bug.cgi?id=31014
- [Gtk] Build fails with gtk+-2.10 (no tested with older releases)
-
- Guard GTK+ 2.12 specific tooltip code with #ifdef.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::mouseDidMoveOverElement):
-
-2009-12-11 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Eric Seidel.
-
- [GTK] Build with --disable-svg is broken
- http://bugs.webkit.org/show_bug.cgi?id=32361
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_pause_svg_animation): Fix ENABLE(SVG) guards.
-
-2009-12-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Add a missing null-check, that is causing some crash reports.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::committedLoad):
-
-2009-12-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] Should provide an API to control the IconDatabase
- https://bugs.webkit.org/show_bug.cgi?id=32334
-
- First step towards a full IconDatabase API. This provides
- notification for pages with favicons, and lets clients handle
- them.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::registerForIconNotification):
- (WebKit::FrameLoaderClient::dispatchDidReceiveIcon):
- * tests/resources/blank.ico: Added.
- * tests/testwebview.c: Added.
- (server_callback):
- (idle_quit_loop_cb):
- (icon_uri_changed_cb):
- (icon_loaded_cb):
- (test_webkit_web_view_icon_uri):
- (main):
- * webkit/webkitprivate.cpp:
- (closeIconDatabaseOnExit):
- (webkit_init):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_property):
- (webkit_web_view_finalize):
- (webkit_web_view_class_init):
- (webkit_web_view_get_icon_uri):
- * webkit/webkitwebview.h:
-
-2009-12-08 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Gustavo Noronha Silva.
-
- Point out the meaning of "Content-Disposition" when implementing the
- mime-type-policy-decision-requested signal.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
-
-2009-12-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] Doesn't respect Content-Disposition for downloads, and provides no way for apps to do that
- https://bugs.webkit.org/show_bug.cgi?id=32247
-
- Provide a way for applications to respect Content-Disposition, by
- fetching the WebKitNetworkResponse from the frame during
- mime-type-policy-decision-requested.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForMIMEType): Download
- content when Content-Disposition is attachment.
- * tests/testmimehandling.c:
- (server_callback):
- (mime_type_policy_decision_requested_cb):
- * tests/testwebframe.c:
- (test_webkit_web_frame_response):
- (main):
- * webkit/webkitprivate.cpp:
- (WebKit::core):
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_get_network_response):
- * webkit/webkitwebframe.h:
-
-2009-12-07 Gyuyoung Kim <gyuyoung@gmail.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=32024
- [GTK] WebKit does not compile without JAVASCRIPT_DEBUGGER
-
- Fix build errors when javascript-debugger is disabled on GTK
-
- * webkit/webkitwebinspector.cpp:
- (webkit_web_inspector_set_property):
- (webkit_web_inspector_get_property):
-
-2009-12-07 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=25415
- [GTK][ATK] Please implement support for get_text_at_offset
-
- Eliminate the segfaults which occur when accessing the text interface now
- implemented by text controls.
-
- * tests/testatk.c
- (test_webkit_atk_get_text_at_offset_textarea):
- (test_webkit_atk_get_text_at_offset_text_input):
- (main):
-
-2009-12-06 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- New test to make sure we do not regress this feature anymore. All
- test files were created by me.
-
- [GTK] REGRESSION: webkit thinks it can render PDFs
- https://bugs.webkit.org/show_bug.cgi?id=32183
-
- * tests/resources/test.html: Added.
- * tests/resources/test.ogg: Added.
- * tests/resources/test.pdf: Added.
- * tests/resources/test.txt: Added.
- * tests/testmimehandling.c: Added.
- (server_callback):
- (idle_quit_loop_cb):
- (mime_type_policy_decision_requested_cb):
- (test_mime_type):
- (test_mime_pdf):
- (test_mime_html):
- (test_mime_text):
- (test_mime_ogg):
- (main):
-
-2009-12-05 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Use a better URI for the unreachable test. localhost:80 is very
- likely to be open.
-
- * tests/testwebdatasource.c:
- (load_finished_unreachable_cb):
- (test_webkit_web_data_source_unreachable_uri):
-
-2009-12-03 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidPushStateWithinPage):
- (WebKit::FrameLoaderClient::dispatchDidReplaceStateWithinPage):
- (WebKit::FrameLoaderClient::dispatchDidPopStateWithinPage):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2009-12-03 Pavel Feldman <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Simplify the settings support in inspector controller.
-
- https://bugs.webkit.org/show_bug.cgi?id=32076
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::populateSetting):
- (WebKit::InspectorClient::storeSetting):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2009-12-03 Ben Murdoch <benm@google.com>
-
- Reviewed by Brady Eidson.
-
- [Android] The FrameLoaderClient is unaware of BackForwardList changes.
- https://bugs.webkit.org/show_bug.cgi?id=31914
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
- (WebKit::FrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
- (WebKit::FrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Simon Fraser.
-
- Add SVG animation test framework with 'snapshot' functionality
- https://bugs.webkit.org/show_bug.cgi?id=31897
-
- Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method,
- forwarding the call to SVGDocumentExtensions, if SVG is enabled.
-
- Implemented just like the existing pauseAnimation* methods for CSS animations.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_pause_svg_animation):
-
-2009-11-30 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Prepare for 1.1.17 release.
-
- * NEWS:
- * docs/webkitgtk-docs.sgml:
- * docs/webkitgtk-sections.txt:
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
-
-2009-11-26 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Oliver Hunt.
-
- Move GOwnPtr* from wtf to wtf/gtk
- https://bugs.webkit.org/show_bug.cgi?id=31793
-
- * webkit/webkitwebview.cpp: Change the path for GOwnPtr.h.
-
-2009-11-24 Joanmarie Diggs <joanmarie.diggs@gmail.com>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=25415
- [GTK][ATK] Please implement support for get_text_at_offset
-
- When building up the pango layout from text boxes, only append a
- newline char after verifying there are no more boxes on this line.
-
- * tests/testatk.c
- (test_webkit_atk_get_text_at_offset_newlines):
- (main):
-
-2009-11-19 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Gustavo Noronha Silva.
-
- Web Inspector: Implement "show inspector" in WebKit GTK
- API and enable console tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=31669
-
- * webkit/webkitwebinspector.cpp:
- (webkit_web_inspector_show):
- * webkit/webkitwebinspector.h:
-
-2009-11-18 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Tab key does not cycle through elements by default
- https://bugs.webkit.org/show_bug.cgi?id=31505
-
- Properly localize documentation strings for the
- tab-key-cycles-through-elements property.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
-
-2009-11-17 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Tab key does not cycle through elements by default
- https://bugs.webkit.org/show_bug.cgi?id=31505
-
- Ensure that WebKitWebSettings tab-key-cycles-through-elements
- property is true by default with the G_PARAM_CONSTRUCT_FLAG.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
-
-2009-11-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] Failing test media/video-document-types.html
- https://bugs.webkit.org/show_bug.cgi?id=31352
-
- Match what Mac has been doing since r36001: cancel the main load,
- and handle failures caused by 'will be handled by plugin' errors.
-
- Covered by test media/video-document-types.html
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::committedLoad):
- (WebKit::FrameLoaderClient::shouldFallBack):
-
-2009-11-17 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
- - Updated DRT to show/close inspector for all tests under /inspector
- - Introduced LayoutTestController::setTimelineProfilingEnabled and
- WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
- - Removed reload on each inspector test
- - Renamed fast/inspector to fast/inspector-support in order not to trigger
- inspector for those.
- - Reimplemented timeline tests in order to get rid of reload there.
- - Moved tests that don't require harness into the fast group.
-
- https://bugs.webkit.org/show_bug.cgi?id=31472
-
- * webkit/webkitwebinspector.cpp:
- (webkit_web_inspector_class_init):
- (webkit_web_inspector_set_property):
- (webkit_web_inspector_get_property):
-
-2009-11-13 Adam Roben <aroben@apple.com>
-
- Update for changes to FrameLoaderClient
-
- Fixes <http://webkit.org/b/31124> Tell the WebFrameLoadDelegate when
- window objects in isolated worlds are cleared
-
- Reviewed by Dave Hyatt.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- Replaced windowObjectCleared with this function. Does nothing if the
- passed-in world is not the mainThreadNormalWorld().
-
-2009-11-12 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- externalRepresentation should take Frame as the argument
- https://bugs.webkit.org/show_bug.cgi?id=31393
-
- No new tests as this is just a refactoring.
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_dump_render_tree):
-
-2009-11-11 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- Should not print javascript console messages to stdout
- https://bugs.webkit.org/show_bug.cgi?id=31346
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_real_console_message): Print console messages to
- stderr instead, using the recommended method (a g_log variant).
-
-2009-11-11 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=30221
- [GTK] fails to load media embedded in iframe element
-
- The FrameLoader can show Media if the audio/video support is
- enabled at compile time.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::canShowMIMEType):
-
-2009-11-10 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Jan Alonzo.
-
- [GTK] Remove WebSocket configuration from WebKitWebSettings
- https://bugs.webkit.org/show_bug.cgi?id=31244
-
- Remove non-functional enable-web-sockets property from WebKitWebSettings.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- (webkit_web_settings_set_property):
- (webkit_web_settings_get_property):
- (webkit_web_settings_copy):
-
-2009-11-09 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Jan Alonzo.
-
- [GTK] Expose Page::tabKeyCyclesThroughElements in the API
- https://bugs.webkit.org/show_bug.cgi?id=30482
-
- Expose Page::tabKeyCyclesThroughElements as a property of
- WebKitWebSettings.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- (webkit_web_settings_set_property):
- (webkit_web_settings_get_property):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
-
-2009-11-04 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Jan Alonzo.
-
- [GTK] Enable DOM clipboard and drag-and-drop access
- https://bugs.webkit.org/show_bug.cgi?id=30623
-
- Move handling of target list to PasteboardHelperGtk.
-
- * WebCoreSupport/PasteboardHelperGtk.cpp:
- (WebKit::PasteboardHelperGtk::PasteboardHelperGtk):
- (WebKit::PasteboardHelperGtk::~PasteboardHelperGtk):
- (WebKit::PasteboardHelperGtk::fullTargetList):
- * WebCoreSupport/PasteboardHelperGtk.h:
- * webkit/webkitprivate.cpp:
- (WebKit::pasteboardHelperInstance):
- (webkit_init):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_dispose):
- (webkit_web_view_init):
- (webkit_web_view_get_copy_target_list):
- (webkit_web_view_get_paste_target_list):
-
-2009-10-30 Evan Stade <estade@chromium.org>
-
- Reviewed by David Levin.
-
- Notify the chrome when the focused node has changed.
- https://bugs.webkit.org/show_bug.cgi?id=30832
-
- Added stub implementation for new ChromeClient function.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::focusedNodeChanged):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2009-10-29 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Trivial fix - move public API declaration into the
- public subsection of the doc.
-
- * docs/webkitgtk-sections.txt:
-
-2009-10-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Jan Alonzo.
-
- [GTK] API to start inspector for a WebView
- https://bugs.webkit.org/show_bug.cgi?id=22551
-
- Provide a simple, coordinates-based API to start the inspector.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::createPage): Use files from the source
- tree when running from the top of the source directory.
- (WebKit::InspectorClient::localizedStringsURL): Ditto.
- * webkit/webkitprivate.h:
- * webkit/webkitwebinspector.cpp:
- (webkit_web_inspector_inspect_coordinates):
- (webkit_web_inspector_close):
- (webkit_web_inspector_execute_script):
- * webkit/webkitwebinspector.h:
-
-2009-10-27 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Provide a way to get counter values with layoutTestContoller
- https://bugs.webkit.org/show_bug.cgi?id=30555
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_counter_value_for_element_by_id):
-
-2009-10-28 Joe Mason <jmason@rim.com>
-
- Reviewed by Adam Treat.
-
- Call the shared FrameLoader::defaultObjectContentType instead of
- copying code into FrameLoaderClient::objectContentType. This causes no
- behavioural change.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::objectContentType):
-
-2009-10-28 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
- https://bugs.webkit.org/show_bug.cgi?id=25897
-
- Update test to also check that entries implement the AtkText
- interface.
-
- * tests/testatk.c:
- (run_get_text_tests):
- (test_webkit_atk_get_text_at_offset_forms):
- (test_webkit_atk_get_text_at_offset):
- (main):
-
-2009-10-26 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Update documentation control files for 1.1.16.
-
- * docs/webkitgtk-docs.sgml:
- * docs/webkitgtk-sections.txt:
-
-2009-10-26 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=30759
- [GTK] Should use WebKitNetworkResponse, and expose it
-
- WebKitDownload now uses our WebKitNetworkResponse instead of using
- ResourceResponse directly. By exposing the response, like we do
- with the request, we give our users the ability to look at the
- response headers, status code, and so on, through the SoupMessage
- object.
-
- * webkit/webkitdownload.cpp:
- (webkit_download_dispose):
- (webkit_download_finalize):
- (webkit_download_get_property):
- (webkit_download_set_property):
- (webkit_download_class_init):
- (webkit_download_get_network_response):
- (webkit_download_set_response):
- (webkit_download_get_total_size):
- (webkit_download_get_progress):
- (webkit_download_received_data):
- * webkit/webkitdownload.h:
-
-2009-10-26 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Update for 1.1.16 release.
-
- * NEWS:
-
-2009-10-22 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
- Build fix following bug #30696.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::windowObjectCleared):
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_get_global_context):
-
-2009-10-22 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- m_webView should be private attribute of the EditorClientGtk.
- https://bugs.webkit.org/show_bug.cgi?id=30664
-
- * WebKit/gtk/WebCoreSupport/EditorClientGtk.h:
-
-2009-10-20 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by David Levin.
-
- Removed WebSocket runtime settings.
- https://bugs.webkit.org/show_bug.cgi?id=29896
-
- WebSocket runtime configuration is supported by chromium/v8 only.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
-
-2009-10-19 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- [Gtk] ApplicationCacheStorage error while compiling WebKit/gtk/webkit/webkitapplicationcache.cpp
- https://bugs.webkit.org/show_bug.cgi?id=30358
-
- Guard calls to cacheStorage() with ENABLE(OFFLINE_WEB_APPLICATIONS).
-
- * webkit/webkitapplicationcache.cpp:
-
-2009-10-19 Zan Dobersek <zandobersek@gmail.com>
-
- Reviewed by Gustavo Noronha.
-
- Add a settings to allow DOM pastes to be performed.
-
- * 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):
- (webkit_web_view_settings_notify):
-
-2009-10-19 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Make WebKitHitTestResult actually appear in the
- documentation index.
-
- * docs/webkitgtk-docs.sgml:
-
-2009-10-15 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Protect WebSocket calls in case the feature is not compiled in.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
-
-2009-10-15 Zan Dobersek <zandobersek@gmail.com>
-
- Reviewed by Gustavo Noronha.
-
- Add a settings to enable support for experimental Web Sockets.
- Currently this comes in handy in layout tests.
-
- * 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):
- (webkit_web_view_settings_notify):
-
-2009-10-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- page transition may crash webkit
- https://bugs.webkit.org/show_bug.cgi?id=29890
-
- There are actually cases in which a resource may be asked using
- webkit_web_view_get_resource after a new load has already been
- started, so protect ourselves from crashes in this case.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFinishLoading):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_resource):
-
-2009-10-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Xan Lopez.
-
- Remove unnecessary self-include.
-
- * webkit/webkitsecurityorigin.h:
-
-2009-10-12 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Crash when right-clicking misspelled word
- https://bugs.webkit.org/show_bug.cgi?id=29772
-
- Make sure the dictionary exist before adding it to the list of
- dictionaries.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::checkSpellingOfString):
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_set_property):
-
-2009-10-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move executeScript from FrameLoader to ScriptController
- https://bugs.webkit.org/show_bug.cgi?id=30200
-
- Update API call.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_execute_script):
-
-2009-10-07 Xan Lopez <xlopez@igalia.com>
-
- Fix the GTK+ build.
-
- * webkit/webkitwebpolicydecision.cpp:
- (webkit_web_policy_decision_use):
- (webkit_web_policy_decision_ignore):
- (webkit_web_policy_decision_download):
-
-2009-10-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Factor PolicyChecker out of FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=30155
-
- Move the policy callback to the policy object.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchWillSubmitForm):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
-
-2009-10-07 Martin Robinson <martin.james.robinson@gmail.com>
-
- [GTK] Segfault while testing fast/events/keydown-keypress-preventDefault.html
- https://bugs.webkit.org/show_bug.cgi?id=30121
-
- Clear previous preedit or pending composition before storing new ones.
- This can happen when a WebView receives a native keydown event without
- a matching keyup event or when preventDefault() is called on DOM keydown
- events.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::setPendingComposition):
- (WebKit::setPendingPreedit):
- (WebKit::clearPendingIMData):
- (WebKit::imContextCommitted):
- (WebKit::imContextPreeditChanged):
-
-2009-10-06 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=25526
- [Gtk] Additional support is needed for caret browsing
-
- Remove special cases for caret browsing, they are now handled in
- cross-platform code.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleKeyboardEvent):
-
-2009-10-06 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: close inspector client view on
- InspectorController::close API call.
-
- In order to run batch web inspector layout tests (and not affect
- subsequent tests) we should close inspector client's view upon
- InspectorController::close API call.
-
- https://bugs.webkit.org/show_bug.cgi?id=30009
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::createPage):
-
-2009-10-06 Alejandro G. Castro <alex@igalia.com>
-
- Reviewed by Xan Lopez.
-
- ASSERT executing the webhistory unittest in a debug build
- https://bugs.webkit.org/show_bug.cgi?id=28947
-
- We have to call g_object_new first to initialize webkit threading
- before creating the KURL.
-
- * WebKit/gtk/webkit/webkitwebhistoryitem.cpp:
-
-2009-10-06 José Millán Soto <fid@gpul.org>
-
- Reviewed by Xan Lopez.
-
- Header files of WebKitGTK do not comply with WebKit coding style (Patch attached)
- https://bugs.webkit.org/show_bug.cgi?id=30076
-
- Solves various issues in header files.
-
- * WebCoreSupport/DocumentLoaderGtk.h: Added "headed guards"
- * webkit/webkitdefines.h:
- * webkit/webkitdownload.h:
- * webkit/webkiterror.h:
- * webkit/webkithittestresult.h:
- * webkit/webkitnetworkrequest.h:
- * webkit/webkitnetworkresponse.h:
- * webkit/webkitprivate.h:
- * webkit/webkitsecurityorigin.h:
- * webkit/webkitsoupauthdialog.h:
- * webkit/webkitversion.h.in:
- * webkit/webkitwebbackforwardlist.h:
- * webkit/webkitwebdatabase.h:
- * webkit/webkitwebdatasource.h:
- * webkit/webkitwebframe.h:
- * webkit/webkitwebhistoryitem.h:
- * webkit/webkitwebinspector.h:
- * webkit/webkitwebnavigationaction.h:
- * webkit/webkitwebpolicydecision.h:
- * webkit/webkitwebresource.h:
- * webkit/webkitwebsettings.h:
- * webkit/webkitwebview.h:
- * webkit/webkitwebwindowfeatures.h:
-
-2009-10-03 Adam Barth <abarth@webkit.org>
-
- More build fixing.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_go_back_or_forward):
- (webkit_web_view_can_go_back_or_forward):
-
-2009-10-03 Adam Barth <abarth@webkit.org>
-
- Unreviewed build fix.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_go_back_or_forward):
-
-2009-10-03 Adam Barth <abarth@webkit.org>
-
- Reviewed by Sam Weinig.
-
- Factor PageController out of FrameLoader and Page
- https://bugs.webkit.org/show_bug.cgi?id=30037
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_can_go_back_or_forward):
-
-2009-10-01 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Set the type for the fake event, otherwise the test ASSERTs in
- debug builds.
-
- * tests/testhittestresult.c:
- (load_status_cb):
-
-2009-10-01 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] GtkIMContext filtering interferes with DOM key events
- https://bugs.webkit.org/show_bug.cgi?id=28733
-
- Ensure that keyboard events filtered by the GtkIMContext still create
- the proper DOM events.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::clearPendingIMData):
- (WebKit::imContextCommitted):
- (WebKit::imContextPreeditChanged):
- (WebKit::EditorClient::shouldBeginEditing):
- (WebKit::EditorClient::shouldEndEditing):
- (WebKit::interpretEditorCommandKeyEvent):
- (WebKit::handleCaretBrowsingKeyboardEvent):
- (WebKit::EditorClient::handleKeyboardEvent):
- (WebKit::EditorClient::handleInputMethodKeydown):
- * tests/testkeyevents.c: Added.
- (test_info_new):
- (test_info_destroy):
- (key_event_fixture_setup):
- (key_event_fixture_teardown):
- (key_press_event_cb):
- (key_release_event_cb):
- (load_status_cb):
- (map_event_cb):
- (test_keypress):
- (main):
-
-2009-09-29 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Do not set a non-default parent window for child widgets. We are
- just doing the same than the default path does, and on top of that
- if the widget's window changes (for example, during DnD widgets
- are usually unrealized/realized) the child widget will we left
- pointing to a dead window.
-
- For examples of crashers caused by this see
- https://bugzilla.gnome.org/show_bug.cgi?id=596397 and
- https://bugzilla.gnome.org/show_bug.cgi?id=596398
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_container_add):
-
-2009-09-29 Xan Lopez <xlopez@igalia.com>
-
- Rubber-stamped by Eric Seidel.
-
- [Gtk] Crash when saving a password
- https://bugs.webkit.org/show_bug.cgi?id=28070
-
- Disconnect the 'got-headers' callback when we are done with
- it. The signal can be emitted more than once if the message is
- retransmitted, but each time that happens authData is created
- again and a new callback connected, so we have to get rid of the
- old one (which will crash because we free authData).
-
- * webkit/webkitsoupauthdialog.c:
- (save_password_callback):
-
-2009-09-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Pop down the context menu when the page transitions to committed,
- to avoid keeping a context menu out of context.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (destroy_menu_cb):
- (webkit_web_view_forward_context_menu_event):
-
-2009-09-24 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Alice Liu.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_init):
- Pass 0 for new Page constructor argument.
-
-2009-09-24 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha and Jan Alonzo.
- [GTK] Add WEBKIT_LOAD_ERROR status
- https://bugs.webkit.org/show_bug.cgi?id=29644
-
- Add a new load-status enum value, WEBKIT_LOAD_FAILED, emitted when
- there's an error during the load process. This is needed if we
- want notify::load-status to be able to handle all situations,
- since WEBKIT_LOAD_FINISHED is not emitted when there's an error
- and we are lacking a notification of the load being stopped.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFailLoad):
- * tests/testloading.c:
- (web_loading_fixture_setup):
- (load_error_status_changed_cb):
- (load_error_cb):
- (test_loading_error):
- (load_cancelled_cb):
- (stop_load):
- (load_cancelled_status_changed_cb):
- (test_loading_cancelled):
- (main):
- * webkit/webkitwebframe.h:
-
-2009-09-24 Xan Lopez <xlopez@igalia.com>
-
- Revert r48697, since it broke key handling notification to GTK+.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::imContextCommitted):
- (WebKit::imContextPreeditChanged):
- (WebKit::EditorClient::shouldBeginEditing):
- (WebKit::EditorClient::shouldEndEditing):
- (WebKit::interpretKeyEvent):
- (WebKit::handleEditingKeyboardEvent):
- (WebKit::EditorClient::handleKeyboardEvent):
- (WebKit::EditorClient::handleInputMethodKeydown):
-
-2009-09-23 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Xan Lopez.
-
- [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
- https://bugs.webkit.org/show_bug.cgi?id=29654
-
- Ensure that even when GTKSimpleIMContext filters non-IME keystrokes,
- keyboard events are fired properly.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::clearPendingIMData):
- (WebKit::imContextCommitted):
- (WebKit::imContextPreeditChanged):
- (WebKit::EditorClient::shouldBeginEditing):
- (WebKit::EditorClient::shouldEndEditing):
- (WebKit::interpretEditorCommandKeyEvent):
- (WebKit::handleCaretBrowsingKeyboardEvent):
- (WebKit::EditorClient::handleKeyboardEvent):
- (WebKit::EditorClient::handleInputMethodKeydown):
-
-2009-09-23 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- [GTK] need to dump number of pending unload handlers
- https://bugs.webkit.org/show_bug.cgi?id=29685
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_get_pending_unload_event_count): New function to
- satisfy DRT needs.
-
-2009-09-23 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Xan Lopez.
-
- Minor reorganization to the patch landed in
- http://trac.webkit.org/changeset/48670. Also move JSCore-1.0.gir
- in the gtk directory as that's only useful to the Gtk port at the
- moment.
-
- * JSCore-1.0.gir: Renamed from JSCore-1.0.gir.
-
-2009-09-22 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- Hardcode element positions at 0,0 so that we know where to
- generate events to test WebKitHitTestResult.
-
- * tests/testhittestresult.c:
- (load_status_cb):
- (test_webkit_hit_test_result):
- (main):
-
-2009-09-22 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- [GTK] WebKitHitTestResult is completely broken in gmail
- https://bugs.webkit.org/show_bug.cgi?id=29527
-
- We need to use the main or focused frame when doing the coordinate
- transformation instead of always using the main frame.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_hit_test_result):
-
-2009-09-21 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Update documentation control files to 1.1.15.
-
- * docs/webkitgtk-docs.sgml:
- * docs/webkitgtk-sections.txt:
-
-2009-09-21 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed docs build fix. Current CFLAGS and LIBS variables no
- longer bring gthread in.
-
- * docs/GNUmakefile.am:
-
-2009-09-21 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Update for release.
-
- * NEWS:
-
-2009-09-20 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Small documentation fix.
-
- * webkit/webkithittestresult.cpp:
-
-2009-09-18 Xan Lopez <xlopez@igalia.com>
-
- Build fix.
-
- Add missing file to the repository.
-
- * tests/testhittestresult.c: Added.
- (test_info_new):
- (test_info_destroy):
- (hit_test_result_fixture_setup):
- (hit_test_result_fixture_teardown):
- (load_status_cb):
- (test_webkit_hit_test_result):
- (main):
-
-2009-09-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- [Gtk] Unreviewed build fix.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::platformPageClient):
-
-2009-09-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Make PlatformWindow return something else than PlatformWidget
- https://bugs.webkit.org/show_bug.cgi?id=29085
-
- Reflect the rename of platformWindow and it's return type.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::platformPageClient):
- (WebKit::ChromeClient::runOpenPanel):
- * WebCoreSupport/ChromeClientGtk.h:
- * webkit/webkitprivate.cpp:
- (currentToplevelCallback):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_popup_menu_handler):
-
-2009-09-18 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- Document webkit_web_view_stop_loading.
-
- * webkit/webkitwebview.cpp:
-
-2009-09-18 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha and Jan Alonzo.
-
- [GTK] context menu overriding API is very limited
- https://bugs.webkit.org/show_bug.cgi?id=27546
-
- Add webkit_web_view_get_hit_test_result, a function to get a hit
- test result from a GdkEventButton. Useful to let applications
- decide between several actions on button press depending on what
- is being pressed.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_stop_loading):
- (documentPointForWindowPoint):
- (webkit_web_view_get_hit_test_result):
- * webkit/webkitwebview.h:
-
-2009-09-18 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha and Jan Alonzo.
-
- [GTK] context menu overriding API is very limited
- https://bugs.webkit.org/show_bug.cgi?id=27546
-
- Add WebKitHitTestResult, a wrapper over HitTestResult. It contains
- context information about a point in the web page.
-
- * webkit/webkit.h:
- * webkit/webkitdefines.h:
- * webkit/webkithittestresult.cpp: Added.
- (webkit_hit_test_result_finalize):
- (webkit_hit_test_result_get_property):
- (webkit_hit_test_result_set_property):
- (webkit_hit_test_result_class_init):
- (webkit_hit_test_result_init):
- * webkit/webkithittestresult.h: Added.
- * webkit/webkitprivate.cpp:
- (WebKit::kit):
- * webkit/webkitprivate.h:
-
-2009-09-14 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez and Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=29134
- [GTK] Add API to access sub resources
-
- Implement getting subresources, and improve testing of
- main, and sub resources loading.
-
-2009-09-11 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- [GTK] Use gtk_style_set_background instead of gdk_window_set_background
- https://bugs.webkit.org/show_bug.cgi?id=29173
-
- Use gtk_style_set_background instead of gdk_window_set_background,
- as suggested by the documentation. Also, use GTK_STATE_NORMAL
- directly, since that's the default state of a GtkWidget.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_realize):
-
-2009-09-09 Zan Dobersek <zandobersek@gmail.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] DumpRenderTree needs eventSender object and implementation
- https://bugs.webkit.org/show_bug.cgi?id=25990
-
- Creates a function that is accessible from the DumpRenderTree tool
- and calls the layout method on the frame view.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_layout):
-
-2009-09-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=29044
- [GTK] Should update suggested-filename when the response is received
-
- Set suggested filename also when the response only comes after the
- download has started.
-
- * webkit/webkitdownload.cpp:
- (webkit_download_set_response):
- (webkit_download_set_suggested_filename):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_request_download):
-
-2009-09-08 Priit Laes <plaes@plaes.org>
-
- Reviewed by Gustavo Noronha.
-
- Fix up erroneus 'Since: @version@' tags in documentation.
-
- * webkit/webkitwebdatasource.cpp:
- * webkit/webkitwebresource.cpp:
- (webkit_web_resource_class_init):
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
- * webkit/webkitwebwindowfeatures.cpp:
-
-2009-09-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Link new objects documents in the main document.
-
- * docs/webkitgtk-docs.sgml:
-
-2009-09-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Documentation control files updated for 1.1.14.
-
- * docs/webkitgtk-docs.sgml:
- * docs/webkitgtk-sections.txt:
-
-2009-09-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- What's new for 1.1.14.
-
- * NEWS:
-
-2009-09-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Xan Lopez.
-
- Use g_return_if_fail to check for the SoupURI creation, instead of
- printing a custom warning.
-
- * webkit/webkitnetworkrequest.cpp:
- (webkit_network_request_set_uri):
-
-2009-09-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=26854
- [GTK] Needs API to allow more control over outgoing requests
-
- Map the willSendRequest delegate to the 'resource-request-starting'
- signal, allowing more control of the resources that are fetched.
-
- Mapping willSendRequest properly requires an appropriate Response
- object, so we are introducing WebKitNetworkResponse, which works in a
- way similar to WebKitNetworkRequest.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchWillSendRequest):
- (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest):
- (WebKit::FrameLoaderClient::dispatchDidFinishLoading):
- (WebKit::FrameLoaderClient::dispatchDidFailLoading):
- * tests/testnetworkresponse.c: Added.
- (test_network_response_create_destroy):
- (test_network_response_properties):
- (main):
- * tests/testwebresource.c:
- (resource_request_starting_cb):
- (load_finished_cb):
- (test_web_resource_loading):
- (main):
- * webkit/webkit.h:
- * webkit/webkitdefines.h:
- * webkit/webkitnetworkrequest.cpp:
- * webkit/webkitnetworkresponse.cpp: Added.
- (webkit_network_response_dispose):
- (webkit_network_response_finalize):
- (webkit_network_response_get_property):
- (webkit_network_response_set_property):
- (webkit_network_response_class_init):
- (webkit_network_response_init):
- (webkit_network_response_new_with_core_response):
- (webkit_network_response_new):
- (webkit_network_response_set_uri):
- (webkit_network_response_get_uri):
- (webkit_network_response_get_message):
- * webkit/webkitnetworkresponse.h: Added.
- * webkit/webkitprivate.cpp:
- (WTF::SoupMessage):
- (WTF::WebKitNetworkRequest):
- (WTF::WebKitNetworkResponse):
- (WTF::WebKitWebResource):
- * webkit/webkitprivate.h:
- * webkit/webkitwebresource.cpp:
- (webkit_web_resource_cleanup):
- (webkit_web_resource_finalize):
- (webkit_web_resource_class_init):
- (webkit_web_resource_set_property):
- (webkit_web_resource_get_uri):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
- * webkitmarshal.list:
-
-2009-09-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=28979
- [GTK] Misc improvments to NetworkRequest
-
- Unref message in dispose, as it should be, not in finalize.
-
- * webkit/webkitnetworkrequest.cpp:
- (webkit_network_request_dispose):
- (webkit_network_request_finalize):
- (webkit_network_request_class_init):
-
-2009-09-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=28979
- [GTK] Misc improvments to NetworkRequest
-
- Bring documentation up-to-date with reality regarding NetworkRequest.
-
- * webkit/webkitnetworkrequest.cpp:
-
-2009-09-07 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Make the auth dialog usable when libsoup does not have a
- SoupPasswordManager, since it might go away in the next
- development cycle.
-
- * webkit/webkitsoupauthdialog.c:
- (response_callback):
- (session_can_save_passwords):
- (session_authenticate):
-2009-09-06 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Update the unitests to latest changes wrt scrollbar policy.
-
- * tests/testwindow.c:
- (test_webkit_window_scrollbar_policy):
-
-2009-09-06 Martin Robinson <martin.james.robinson@gmail.com>
-
- Reviewed by Gustavo Noronha, Jan Alonzo and Xan Lopez.
-
- [Gtk] Expose a database API
- https://bugs.webkit.org/show_bug.cgi?id=27899
-
- Expose an HTML5 database API for GTK+.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::print):
- * webkit/webkit.h:
- * webkit/webkitdefines.h:
- * webkit/webkitprivate.cpp:
- (webkit_init):
- * webkit/webkitprivate.h:
- * webkit/webkitsecurityorigin.cpp: Added.
- (webkit_security_origin_finalize):
- (webkit_security_origin_dispose):
- (webkit_security_origin_set_property):
- (webkit_security_origin_get_property):
- (webkit_security_origins):
- (webkit_security_origin_class_init):
- (webkit_security_origin_init):
- (webkit_security_origin_get_protocol):
- (webkit_security_origin_get_host):
- (webkit_security_origin_get_port):
- (webkit_security_origin_get_web_database_usage):
- (webkit_security_origin_get_web_database_quota):
- (webkit_security_origin_set_web_database_quota):
- (webkit_security_origin_get_all_web_databases):
- (WebKit::kit):
- (WebKit::core):
- (webkit_security_origin_get_web_database):
- * webkit/webkitsecurityorigin.h: Added.
- * webkit/webkitwebdatabase.cpp: Added.
- (webkit_web_database_finalize):
- (webkit_web_database_dispose):
- (webkit_web_database_set_property):
- (webkit_web_database_get_property):
- (webkit_web_database_class_init):
- (webkit_web_database_init):
- (webkit_web_database_set_security_origin):
- (webkit_web_database_set_name):
- (webkit_web_database_get_security_origin):
- (webkit_web_database_get_name):
- (webkit_web_database_get_display_name):
- (webkit_web_database_get_expected_size):
- (webkit_web_database_get_size):
- (webkit_web_database_get_filename):
- (webkit_web_database_remove):
- (webkit_remove_all_web_databases):
- (webkit_get_web_database_directory_path):
- (webkit_set_web_database_directory_path):
- (webkit_get_default_web_database_quota):
- * webkit/webkitwebdatabase.h: Added.
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_new):
- (webkit_web_frame_get_focused_accessible_element):
- (webkit_web_frame_get_horizontal_scrollbar_policy):
- * webkit/webkitwebframe.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
-
-2009-09-03 Adam Barth <abarth@webkit.org>
-
- Reviewed by eric@webkit.org.
-
- https://bugs.webkit.org/show_bug.cgi?id=24696
-
- Stub implementations of mixed content methods of FrameLoaderClient.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::didDisplayInsecureContent):
- (WebKit::FrameLoaderClient::didRunInsecureContent):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2009-09-03 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Access private member variables directly instead of using the
- accessor.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createFrame):
- (WebKit::FrameLoaderClient::windowObjectCleared):
-
-2009-09-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Remove bogus asserts that break Debug builds at runtime.
-
- * WebCoreSupport/DocumentLoaderGtk.cpp:
- (WebKit::DocumentLoader::detachFromFrame):
- (WebKit::DocumentLoader::decreaseLoadCount):
-
-2009-09-02 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Xan Lopez and Gustavo Noronha.
-
- [Gtk] Implement a WebDataSource for the gtk port
- https://bugs.webkit.org/show_bug.cgi?id=24758
-
- Add data source API getters to WebKitWebFrame.
- Also add WebKitWebDataSource unit test.
-
- * tests/testwebdatasource.c: Added.
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebframe.h:
-
-2009-09-02 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Xan Lopez and Gustavo Noronha.
-
- [Gtk] Implement a WebDataSource for the gtk port
- https://bugs.webkit.org/show_bug.cgi?id=24758
-
- Subclass DocumentLoader for Gtk and implement it under the WebKit
- namespace. Add WebKitWebDataSource implementation that closely
- follows the mac implementation of the API.
-
- * WebCoreSupport/DocumentLoaderGtk.cpp: Added.
- * WebCoreSupport/DocumentLoaderGtk.h: Added.
- * webkit/webkitwebdatasource.cpp: Added.
- * webkit/webkitwebdatasource.h: Added.
-
-2009-09-01 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Avoid causing unexpected issues with window sizing when sites
- disable scrollbars completely.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::scrollbarsModeDidChange):
- * tests/testwindow.c:
- (test_webkit_window_scrollbar_policy):
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_class_init):
-
-2009-09-01 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Xan Lopez and Gustavo Noronha.
-
- [Gtk] Implement a WebDataSource for the gtk port
- https://bugs.webkit.org/show_bug.cgi?id=24758
-
- Implement WebKitWebResource for the resource-related API for
- WebKitWebDataSource.
-
- * GNUmakefile.am:
-
-2009-09-01 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=28842
- [GTK] Do not emit extra FINISHED load-status signals
-
- Do not emit FINISHED load-status signals on our own, just rely on
- WebCore for that. Avoids emitting FINISHED several times when we
- fail to load a URI.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebKit::FrameLoaderClient::dispatchDidFailLoad):
- * tests/testloading.c:
- (web_loading_fixture_setup):
- (web_loading_fixture_teardown):
- (load_finished_cb):
- (status_changed_cb):
- (test_loading_status):
- (load_error_status_changed_cb):
- (load_error_cb):
- (test_loading_error):
- (main):
- * webkit/webkitwebframe.h:
-
-2009-08-31 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=28466
- When downloading a file, two GET requests are sent to the HTTP server
-
- Support reusing a connection that is already ongoing, instead of
- cancelling the connection and creating another.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::download):
- * webkit/webkitdownload.cpp:
- (webkit_download_new_with_handle):
- (webkit_download_start):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_request_download):
-
-2009-08-31 Alexey Proskuryakov <ap@apple.com>
-
- Gtk build fix.
-
- This is also a behavior fix, at least on debug builds - a caller of
- webkit_web_history_item_new_with_data() could pass an URL that could cause an assertion
- failure in KURL.
-
- * webkit/webkitwebhistoryitem.cpp: (webkit_web_history_item_new_with_data): Pass a null
- KURL as base to parse properly.
-
-2009-08-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=25889
- [GTK] scrollbar policy for main frame is not implementable
-
- Add properties and a signal to report scrollbar policy changes to
- client code, and a default handler that does the right thing when
- using GtkScrolledWindow.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::scrollbarsModeDidChange):
- * WebCoreSupport/ChromeClientGtk.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_get_property):
- (webkit_web_frame_class_init):
- (webkit_web_frame_get_horizontal_scrollbar_policy):
- (webkit_web_frame_get_vertical_scrollbar_policy):
- * webkit/webkitwebframe.h:
- * tests/testwindow.c: Added.
- (load_finished_cb):
- (test_webkit_window_scrollbar_policy):
- (main):
-
-2009-08-28 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Gustavo Noronha and Xan Lopez.
-
- [Gtk] Add view source mode API
- https://bugs.webkit.org/show_bug.cgi?id=28805
-
- Implement setter and getter for "view source" mode.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_set_view_source_mode):
- (webkit_web_frame_get_view_source_mode):
- * webkit/webkitwebview.h:
-
-2009-08-26 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=28738
- Expose undo/redo functionality in WebKitWebView
-
- Expose undo/redo functionality in WebKitWebView, keeping the
- default bindings as they were.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_real_undo):
- (webkit_web_view_real_redo):
- (webkit_web_view_class_init):
- (webkit_web_view_can_undo):
- (webkit_web_view_undo):
- (webkit_web_view_can_redo):
- (webkit_web_view_redo):
- * webkit/webkitwebview.h:
-
-2009-08-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- News about the 1.1.13 release.
-
- * NEWS:
-
-2009-08-24 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Add new symbols, and an index of new symbols for the 1.1.13
- release.
-
- * docs/webkitgtk-docs.sgml:
- * docs/webkitgtk-sections.txt:
-
-2009-08-23 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Fix a couple of typos.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
-
-2009-08-23 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Update editing-behavior property here too.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_settings_notify):
-
-2009-08-23 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Rubberstamped by Gustavo Noronha.
-
- Fix regressions introduced by http://trac.webkit.org/changeset/47690.
-
- Update the setting whenever the property gets set.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_settings_notify):
-
-2009-08-23 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Xan Lopez.
-
- [Gtk] API for disabling local file access to web URLs
- https://bugs.webkit.org/show_bug.cgi?id=28663
-
- Add a setting to enable or disable file access to web URLs. It's
- disabled by default for security reasons.
-
- * 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):
-
-2009-08-22 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=28154
- clicking below end of text in a textarea moves cursor to wrong position
-
- Expose the EditingBehavior setting and set it by default to Mac,
- since that what matches the GTK+ default behavior.
-
- * webkit/webkitprivate.cpp:
- (WebKit::core):
- * webkit/webkitprivate.h:
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- (webkit_web_settings_set_property):
- (webkit_web_settings_get_property):
- (webkit_web_settings_copy):
- * webkit/webkitwebsettings.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_update_settings):
-
-2009-08-20 Aaron Boodman <aa@chromium.org>
-
- Hopefully the last speculative build for gtk.
-
- * webkit/webkitprivate.cpp:
- (webkit_white_list_access_from_origin):
- * webkit/webkitprivate.h:
-
-2009-08-20 David Levin <levin@chromium.org>
-
- Another speculative build for gtk.
-
- * webkit/webkitprivate.cpp:
- (webkit_white_list_access_to_origin):
-
-2009-08-20 David Levin <levin@chromium.org>
-
- Speculative build for gtk.
-
- * webkit/webkitprivate.cpp:
- (webkit_white_list_access_to_origin):
-
-2009-08-19 Aaron Boodman <aa@chromium.org>
-
- Fix build break.
-
- * webkit/webkitprivate.h: "WEBKIT API" -> "WEBKIT_API"
-
-2009-08-19 Aaron Boodman <aa@chromium.org>
-
- Reviewed by David Levin.
-
- https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
- specify a more granular policy for cross-origin XHR access.
-
- * webkit/webkitprivate.cpp:
- (webkit_white_list_access_to_origin): Add API to manipulate origin access whitelists.
- (webkit_reset_origin_access_white_lists): Ditto.
- * webkit/webkitprivate.h: Ditto.
-
-2009-08-18 Xan Lopez <xlopez@igalia.com>
-
- Rubber-stamped by Holger Freyther.
-
- Remove an unneeded include.
-
- * WebCoreSupport/DragClientGtk.cpp:
-
-2009-08-18 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=28443
- Fix build break with gtk older than 2.14.
-
- WebKit gtk port requires gtk 2.10 or later, but DragClientGtk.cpp
- uses gtk_widget_get_window that is introduced in 2.14.
-
- * WebCoreSupport/DragClientGtk.cpp:
- define gtk_widget_get_window for gtk older than 2.14.
-
-2009-08-18 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- [Gtk] crash when closing page from javascript
- https://bugs.webkit.org/show_bug.cgi?id=27439
-
- Do not unref the WebView in ChromeClientGtk::closeWindowSoon
- because (1) a create-web-view handler can return a NULL WebView,
- (2) the created WebView is owned by its containing widget, and (3)
- clients may not handle the close-web-view signal so this avoids
- unreffing a WebView more than once.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::closeWindowSoon):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
-
-2009-08-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=19360
- Frags on current page don't generate "navigation-requested" events
-
- Fix order of parameters for the creation of SubstituteData object,
- so that normal data loads do not have an unreachable URL. Also
- remove a confusion about the purpose of the last parameter.
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_load_data):
-
-2009-08-18 Drew Wilson <atwilson@google.com>
-
- Reviewed by Eric Seidel.
-
- Need to extend DumpRenderTree to expose number of worker threads
- https://bugs.webkit.org/show_bug.cgi?id=28292
-
- * webkit/webkitprivate.h:
- * webkit/webkitworkers.cpp: Added.
- (webkit_worker_thread_count):
- Exposed WebCore::WorkerThread::workerThreadCount() for the gtk version of DumpRenderTree.
-
-2009-08-18 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Fix the ATK unit test.
-
- We now support line boundaries in the get_text functions, so we
- need to make sure the test has the layout we expect by giving it
- enough space to fit in one line.
-
- * tests/testatk.c:
- (test_webkit_atk_get_text_at_offset):
-
-2009-08-15 Zan Dobersek <zandobersek@gmail.com>
-
- Reviewed by Xan Lopez.
-
- Fix compiler warnings.
-
- * webkit/webkitwebview.cpp:
- (clipboard_contents_received):
- (webkit_web_view_drag_data_get):
-
-2009-08-14 Jiahua Huang <jhuangjiahua@gmail.com>
-
- Reviewed by Jan Alonzo.
-
- [gtk] Pasteboard/GtkClipboard can't handle the "text/html" target.
- https://bugs.webkit.org/show_bug.cgi?id=27028
-
- Add a function in WebKit::PasteboardHelperGtk that will return the
- value of WEBKIT_WEB_VIEW_TARGET_INFO_HTML,
- and WebCore::clipboard_get_contents_cb will use that.
-
- * WebCoreSupport/PasteboardHelperGtk.cpp:
- (WebKit::PasteboardHelperGtk::getWebViewTargetInfoHtml):
- * WebCoreSupport/PasteboardHelperGtk.h:
-
-2009-08-14 Benjamin Otte <otte@gnome.org>
-
- Reviewed by Gustavo Noronha.
-
- Fix webkit_web_view_set_highlight_text_matches() so that highlighting
- works properly in documents with frames.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_set_highlight_text_matches):
-
-2009-08-13 Zan Dobersek <zandobersek@gmail.com>
-
- Reviewed by Gustavo Noronha.
-
- [GTK] Drag and drop support
- https://bugs.webkit.org/show_bug.cgi?id=23642
-
- Adds support for drag actions in WebKitWebView and DragClient.
-
- Defines a support structure that can hold additional drag and drop data,
- such as selection data or target IDs (infos) and can be passed through
- clipboard requests.
-
- Implements DragClient functions that gather start position of the drag
- and start the GTK drag.
-
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::DragClient):
- (WebKit::DragClient::willPerformDragSourceAction):
- (WebKit::DragClient::startDrag):
- (WebKit::DragClient::createDragImageForLink): A small style fix.
- * WebCoreSupport/DragClientGtk.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_drag_end):
- (clipboard_contents_received): GtkClipboard callback.
- (webkit_web_view_drag_data_get):
- (webkit_web_view_class_init):
- (webkit_web_view_init):
- * webkit/webkitwebview.h: Add GTK selection targets.
-
-2009-08-12 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed build fix.
-
- Last-minute change on the new soup API to use the keyring was not
- reflected in our usage - the documentation says we should use
- g_slist_free, and soup_auth_free_saved_users doesn't exist.
-
- * webkit/webkitsoupauthdialog.c:
- (session_authenticate):
-
-2009-08-12 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- [GTK] Remove keyring optional features
- https://bugs.webkit.org/show_bug.cgi?id=28173
-
- Remove keyring support from our code and rely on libsoup to store
- the authentication data if the user requests that support in their
- application/library.
-
- * webkit/webkitsoupauthdialog.c:
- (response_callback):
- (show_auth_dialog):
- (session_authenticate):
-
-2009-08-11 Benjamin Otte <otte@gnome.org>
-
- Reviewed by Xan Lopez.
-
- When instructed to print an out-of-range page, print an empty page
- instead of crashing.
-
- * webkit/webkitwebframe.cpp:
- (draw_page_callback):
-
-2009-08-10 Brady Eidson <beidson@apple.com>
-
- GTK build fix.
-
- * webkit/webkitdownload.cpp:
- (webkit_download_get_suggested_filename):
-
-2009-08-08 Xan Lopez <xlopez@igalia.com>
-
- Roll out r46928, since it wasn't done in accordance with the
- agreed naming.
-
- * ChangeLog:
-
- Remove the ChangeLog entry, since it was added at the bottom of
- the file.
-
- * gdom/GdomDOMObject.h: Removed.
- * gdom/GdomDOMObjectPrivate.h: Removed.
-
-2009-08-08 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Enable accessibility in Gtk DRT
- https://bugs.webkit.org/show_bug.cgi?id=25989
-
- Add SPI to get the focused accessible element to be used by DRT.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_get_focused_accessible_element):
-
-2009-07-30 Martin Robinson <mrobinson@appcelerator.com>
-
- Reviewed by Xan Lopez, Gustavo Noronha and Jan Alonzo.
-
- [GTK] new-window-policy-decision-requested provides no information about the target frame
- https://bugs.webkit.org/show_bug.cgi?id=27792
-
- Add frameName property to the WebKitWebNavigation object.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::getNavigationAction):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- * webkit/webkitwebnavigationaction.cpp:
- (webkit_web_navigation_action_get_property):
- (webkit_web_navigation_action_set_property):
- (webkit_web_navigation_action_class_init):
- (webkit_web_navigation_action_get_target_frame):
- (webkit_web_navigation_action_set_target_frame):
- * webkit/webkitwebnavigationaction.h:
-
-2009-07-29 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Darin Adler.
-
- Added foundation work to allow a testing infrastructure for the Web
- Inspector.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::inspectorWindowObjectCleared):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2009-07-29 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Eric Seidel and Xan Lopez.
-
- [Gtk] Enable http/tests/appcache tests
- https://bugs.webkit.org/show_bug.cgi?id=27674
-
- Add 'enable-offline-web-application-cache' WebSetting to enable
- or disable the appcache. Also, Add appcache SPI for DRT to use.
-
- * webkit/webkitapplicationcache.cpp: Added.
- (webkit_application_cache_set_maximum_size):
- * webkit/webkitprivate.cpp:
- (webkit_init):
- * webkit/webkitprivate.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):
- (webkit_web_view_settings_notify):
-
-2009-07-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Add information about the regression fix for WEBKIT_DEBUG.
-
- * NEWS:
-
-2009-07-28 Priit Laes <plaes@plaes.org>
-
- Reviewed by Xan Lopez.
-
- Fix mnemonics in the soup authentication dialog.
-
- * webkit/webkitsoupauthdialog.c:
- (show_auth_dialog):
-
-2009-07-28 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- * NEWS: update for 1.1.12 release.
-
-2009-07-27 Alexey Proskuryakov <ap@webkit.org>
-
- Build fix.
-
- * webkit/webkitwebframe.cpp: (webkit_gc_count_javascript_objects): Added a namespace to
- SilenceAssertionsOnly.
-
-2009-07-27 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=27735
- Give a helpful name to JSLock constructor argument
-
- * webkit/webkitwebframe.cpp:
- (webkit_gc_count_javascript_objects):
-
-2009-07-24 Priit Laes <plaes@plaes.org>
-
- Reviewed by Xan Lopez.
-
- [Gtk] Password is saved into gnome-keyring even if auth. fails
- https://bugs.webkit.org/show_bug.cgi?id=27560
-
- Check authentication result and save password only when authentication
- succeeds.
-
- * webkit/webkitsoupauthdialog.c:
- (free_authData):
- (response_callback):
- (save_password_callback):
-
-2009-07-24 Andrei Popescu <andreip@google.com>
-
- Reviewed by Anders Carlsson.
-
- ApplicationCache should have size limit
- https://bugs.webkit.org/show_bug.cgi?id=22700
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::reachedMaxAppCacheSize):
- Adds empty implementation of reachedMaxAppCacheSize.
- * WebCoreSupport/ChromeClientGtk.h:
-
-2009-07-23 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [Gtk] Add implementation of GCController for DRT
- https://bugs.webkit.org/show_bug.cgi?id=27636
-
- Add SPI for GCController to use.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- (webkit_gc_collect_javascript_objects):
- (webkit_gc_collect_javascript_objects_on_alternate_thread):
- (webkit_gc_count_javascript_objects):
-
-2009-07-22 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Mark Rowe.
-
- Fix compiler warning.
-
- * tests/testwebsettings.c:
- (test_webkit_web_settings_user_agent):
-
-2009-07-22 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Remove unused variables.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_grab_focus):
- (webkit_web_view_focus_in_event):
-
-2009-07-21 Priit Laes <plaes@plaes.org>
-
- Reviewed by Holger Freyther.
-
- [GTK+] Missing accelerator in authentication dialog
- https://bugs.webkit.org/show_bug.cgi?id=25509
-
- Add accelerator to checkbox text.
-
- * WebKit/gtk/webkit/webkitsoupauthdialog.c:
- (show_auth_dialog):
-
-2009-07-21 Priit Laes <plaes@plaes.org>
-
- Reviewed by Holger Freyther.
-
- [GTK] http auth dialog pops up twice after a cancelled atempt
- https://bugs.webkit.org/show_bug.cgi?id=24818
-
- Remove workaround required for libsoup versions <=2.26.2 as we depend
- on 2.27.4 now.
-
- * webkit/webkitsoupauthdialog.c:
- (session_authenticate):
-
-2009-07-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- [GTK] Widget size negotiation
- https://bugs.webkit.org/show_bug.cgi?id=17154
-
- Implement proper size request for the WebView widget.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::contentsSizeChanged):
- * webkit/webkitwebview.cpp:
- (webkit_web_view_size_request):
- (webkit_web_view_class_init):
-
-2009-07-16 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Jan Alonzo.
-
- [GTK+] Update the focus handling code.
-
- Change focus-in to always call setActive(true), call
- FocusController::setFocusedFrame when no focused frame exists
- other SelectionController::setActive. This is matching Windows
- and Qt.
-
- On focus-out call FocusController::setActive(false) and
- SelectionController::setFocued(false). This is matching Windows
- and Qt as well.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_focus_in_event):
- (webkit_web_view_focus_out_event):
-
-2009-07-16 Xiaomei Ji <xji@chromium.org>
-
- Reviewed by Dan Bernstein.
-
- This is the 2nd part of fixing "RTL: tooltip does not get its directionlity from its element's."
- https://bugs.webkit.org/show_bug.cgi?id=24187
-
- Add one extra parameter to the callee of HitTestResult::title() due to the signature change.
-
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::mouseDidMoveOverElement): Add direction as a parameter to the callee of HitTestResult::title().
-
-2009-07-16 Xiaomei Ji <xji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fix tooltip does not get its directionality from its element's directionality.
- https://bugs.webkit.org/show_bug.cgi?id=24187
-
- Per mitz's suggestion in comment #6, while getting the plain-text
- title, we also get the directionality of the title. How to handle
- the directionality is up to clients. Clients could ignore it,
- or use attribute or unicode control characters to display the title
- as what they want.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::setToolTip): Add directionality as 2nd parameter to setToopTip() (without handling it yet).
- * WebCoreSupport/ChromeClientGtk.h: Add directionality as 2nd parameter to setToolTip().
-
-2009-07-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Jan Alonzo.
-
- Fix enable-xss-auditor property documentation, and default value
- to match the fact that it is now enabled by default.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
-
-2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu>
-
- Reviewed by Darin Adler.
-
- Change all Noncopyable inheriting visibility to public.
- https://bugs.webkit.org/show_bug.cgi?id=27225
-
- Change all Noncopyable inheriting visibility to public because
- it is needed to the custom allocation framework (bug #20422).
-
- * webkit/webkitdownload.cpp:
-
-2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Late NEWS file for 1.1.11.
-
- * NEWS:
-
-2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Changes to the doc control files for 1.1.11.
-
- * docs/webkitgtk-docs.sgml:
- * docs/webkitgtk-sections.txt:
-
-2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Holger Freyther.
-
- Fix unit test to use the correct assumption that the SoupMessage
- will be NULL when WebKitNetworkRequest is created from an URI.
-
- * tests/testnetworkrequest.c:
- (test_network_request_create_destroy):
-
-2009-07-13 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- <https://bugs.webkit.org/show_bug.cgi?id=27171> [Gtk]
- REGRESSION (r45440): fails at fast/events/frame-programmatic-focus.html
-
- Reviewed by Gustavo Noronha.
-
- focus-in and focus-out events only get triggered when there's user
- interaction, hence setFocused(bool) never gets called when
- focusEvent is triggered when running the layout tests. The
- solution seems to be to implement grab-focus too so we can call
- setFocused(bool) when a widget has focus.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_grab_focus):
- (webkit_web_view_focus_in_event):
- (webkit_web_view_class_init):
-
-2009-07-13 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- https://bugs.webkit.org/show_bug.cgi?id=26718 [Gtk] Add support for javascript windows for DRT
-
- Reviewed by Gustavo Noronha and Xan Lopez.
-
- Add API to support opening and closing of JavaScript windows automatically.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::closeWindowSoon):
- * webkit/webkitprivate.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_real_close_web_view):
- (webkit_web_view_class_init):
- (webkit_web_view_update_settings):
- (webkit_web_view_settings_notify):
- (webkit_web_view_set_group_name):
- * webkit/webkitwebview.h:
-
-2009-07-12 Brent Fulgham <bfulgham@gmail.com>
-
- Speculative build fix after http://trac.webkit.org/changeset/45786.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::addMessageToConsole):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Make Widget RefCounted to fix:
-
- <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
- at WebCore::Widget::afterMouseDown() after clicking To Do's close
- box
- <rdar://problem/6978804> WER #16: Repro Access Violation in
- WebCore::PluginView::bindingInstance (1310178023)
- -and-
- <rdar://problem/6991251> WER #13: Crash in WebKit!
- WebCore::PluginView::performRequest+203 (1311461169)
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createPlugin):
- (WebKit::FrameLoaderClient::createJavaAppletWidget):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2009-07-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Jan Alonzo.
-
- Use soup's content sniffing
- https://bugs.webkit.org/show_bug.cgi?id=26982
-
- Add the new Content Sniffing feature provided by libsoup.
-
- * webkit/webkitprivate.cpp:
- (webkit_init):
-
-2009-07-05 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Xan Lopez.
-
- Always initialize WebCore.
-
- It is possible that WebKitWebSettings and other classes get
- constructed before the WebKitWebView. In this case WebCore is
- not yet properly initialized. Add webkit_init to every class
- that can be constructed by API users.
-
- * webkit/webkitdownload.cpp:
- (webkit_download_class_init):
- * webkit/webkitnetworkrequest.cpp:
- (webkit_network_request_class_init):
- * webkit/webkitwebbackforwardlist.cpp:
- (webkit_web_back_forward_list_class_init):
- * webkit/webkitwebhistoryitem.cpp:
- (webkit_web_history_item_class_init):
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_class_init):
- * webkit/webkitwebwindowfeatures.cpp:
- (webkit_web_window_features_class_init):
-
-2009-07-03 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Xan Lopez and Gustavo Noronha.
-
- Set user-agent from application
- https://bugs.webkit.org/show_bug.cgi?id=17375
-
- Add 'user-agent' setter/getter API to WebSettings.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::FrameLoaderClient):
- (WebKit::FrameLoaderClient::userAgent):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- * webkit/webkitprivate.h:
- * webkit/webkitversion.h.in:
- * webkit/webkitwebsettings.cpp:
- (webkit_get_user_agent):
- (webkit_web_settings_class_init):
- (webkit_web_settings_finalize):
- (webkit_web_settings_set_property):
- (webkit_web_settings_get_property):
- (webkit_web_settings_copy):
- (webkit_web_settings_get_user_agent):
- * webkit/webkitwebsettings.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_dispose):
-
-2009-07-02 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Holger Freyther.
-
- Update the new boolean property in FocusController that keeps
- track of whether or not the Page is focused.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_focus_in_event):
- (webkit_web_view_focus_out_event):
-
-2009-06-29 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- Fix a couple of compiler warnings.
-
- * webkit/webkitwebnavigationaction.cpp:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_real_move_cursor):
-
-2009-06-28 Xan Lopez <xlopez@igalia.com>
-
- Fix the GTK+ build.
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- (WebKit::ContextMenuClient::isSpeaking):
- * WebCoreSupport/ContextMenuClientGtk.h:
-
-2009-06-24 Jiahua Huang <jhuangjiahua@gmail.com>
-
- Reviewed by Holger Freyther.
-
- [Gtk] Add Undo/Redo support to WebKitGtk
- https://bugs.webkit.org/show_bug.cgi?id=26573
-
- Implement EditorClient::undo and other interested funcs.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::registerCommandForUndo):
- (WebKit::EditorClient::registerCommandForRedo):
- (WebKit::EditorClient::clearUndoRedoOperations):
- (WebKit::EditorClient::canUndo):
- (WebKit::EditorClient::canRedo):
- (WebKit::EditorClient::undo):
- (WebKit::EditorClient::redo):
- (WebKit::EditorClient::EditorClient):
- * WebCoreSupport/EditorClientGtk.h:
-
-2009-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Gustavo Noronha and Xan Lopez.
-
- [Gtk] Implement DRT XSS auditor support
- https://bugs.webkit.org/show_bug.cgi?id=26571
-
- Add a setting "enable-xss-auditor" to enable this feature.
-
- * 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):
- (webkit_web_view_settings_notify):
-
-2009-06-20 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Gustavo Noronha and Xan Lopez.
-
- webkit_web_back_forward_list_add_item() should add a ref for the history item
- https://bugs.webkit.org/show_bug.cgi?id=26517
-
- Add a ref to the WebHistoryItem when it's added to the back
- forward list through webkit_web_back_forward_list_add_item.
- This keeps the history item alive and prevents pywebkitgtk from
- crashing
-
- * tests/testwebbackforwardlist.c:
- (test_webkit_web_history_item_lifetime):
- (test_webkit_web_back_forward_list_order):
- (test_webkit_web_back_forward_list_add_item):
- * webkit/webkitwebbackforwardlist.cpp:
- (webkit_web_back_forward_list_add_item):
-
-2009-06-20 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Jan Alonzo.
-
- Initial test case for loading statuses.
-
- * tests/testloading.c: Added.
- (load_finished_cb):
- (status_changed_cb):
- (test_loading_status):
- (main):
-
-2009-06-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Jan Alonzo.
-
- Fix the ordering in which the new load status goes into the enum
- to avoid ABI breakage.
-
- * webkit/webkitwebframe.h:
-
-2009-06-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez and Christian Dywan.
-
- Add a new load status to report that the first visually non-empty
- layout has been done.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
- * webkit/webkitwebframe.h:
-
-2009-06-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Fix parameters of navigation-policy-decision-requested callback,
- to be correct in number and type
-
- * tests/testhttpbackend.c:
- (navigation_policy_decision_requested_cb):
-
-2009-06-18 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Gustavo Noronha.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::loadDone):
- (WebKit::FrameLoaderClient::dispatchDidFinishLoad):
- (WebKit::FrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebKit::FrameLoaderClient::dispatchDidFailLoad): Introduce the static
- function loadDone to emit "load-done" and update the status and update
- the relevent places. We missed some status notifications before.
-
-2009-06-18 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Xan Lopez.
-
- Be consistent in always using the term URI instead of URL in the
- documentation of WebKitWebView signals.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
-
-2009-06-16 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Do not use g_assert_cmpint to test for NULL pointer, just
- g_assert.
-
- * tests/testnetworkrequest.c:
- (test_network_request_create_destroy):
-
-2009-06-15 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=26377
- [GTK] Confusion about range of 'progress' property
-
- Range for the progress property is 0.0 .. 1.0, don't multiply it
- by 100 to make it a percentage.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_progress):
-
-2009-06-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Add new symbols list for 1.1.10 release.
-
- * docs/webkitgtk-docs.sgml:
-
-2009-06-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Xan Lopez.
-
- Fix Since tags for the new uri and message properties.
-
- * webkit/webkitnetworkrequest.cpp:
- (webkit_network_request_class_init):
-
-2009-06-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Adding new documented API to the generated
- documentation.
-
- * docs/webkitgtk-sections.txt:
-
-2009-06-15 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Update NEWS for 1.1.10 release.
-
- * NEWS:
-
-2009-06-11 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- Add a test to perform an actual download.
-
- * tests/testdownload.c:
- (navigation_policy_decision_requested_cb):
- (notify_status_cb):
- (download_requested_cb):
- (test_webkit_download_perform):
- (main):
-
-2009-06-11 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- Fix crash when downloading, caused by assuming SoupMessage would
- be there. This change factors the logic required to create a
- ResourceRequest from a WebKitNetworkRequest into a core()
- function, like we have for some other classes.
-
- * webkit/webkitdownload.cpp:
- (webkit_download_start):
- * webkit/webkitprivate.cpp:
- (WebKit::core):
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_load_request):
-
-2009-06-10 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- Make WebKitNetworkRequest a proper GObject, making URI and
- SoupMessage properties. Also adding unit tests for creation and
- destruction.
-
- * tests/testnetworkrequest.c: Added.
- (test_network_request_create_destroy):
- (test_network_request_properties):
- (main):
- * webkit/webkitnetworkrequest.cpp:
- (webkit_network_request_get_property):
- (webkit_network_request_set_property):
- (webkit_network_request_class_init):
- (webkit_network_request_init):
- (webkit_network_request_constructor):
- (webkit_network_request_new_with_core_request):
- (webkit_network_request_new):
- (webkit_network_request_set_uri):
- (webkit_network_request_get_uri):
- * webkit/webkitnetworkrequest.h:
-
-2009-06-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- News for 1.1.9.
-
- * NEWS:
-
-2009-06-09 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Gustavo Noronha.
-
- Clear the frame name before we run each tests so we don't get
- "someFloaString" or "3" in the target frame name.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_clear_main_frame_name):
-
-
-2009-06-10 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=25415
- [GTK][ATK] Please implement support for get_text_at_offset
-
- Update test for new implementation (it fixes two bugs and adds
- actual implementations for LINE boundaries).
-
- * tests/testatk.c:
- (test_webkit_atk_get_text_at_offset):
-
-2009-06-09 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=26104
- [GTK] Make NetworkRequest a proper GObject and expose SoupMessage
-
- Refactor how SoupMessage is handled, so that our ResourceRequest
- object doesn't have to store it as a member, which complicates
- managing ResourceRequest's lifetvime.
-
- * tests/testhttpbackend.c:
- (navigation_policy_decision_requested_cb):
- (test_soup_message_lifetime):
- * webkit/webkitnetworkrequest.cpp:
- (WTF::SoupMessage):
- (webkit_network_request_new_with_core_request):
-
-2009-06-08 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=26240
- [GTK] Try again button loses query strings
-
- Only trigger reload, when try again is clicked, this way we do not
- lose the query strings, like we did when also triggering a form
- submission.
-
- * resources/error.html:
-
-2009-06-06 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=26175
- [GTK] Download progress notification should be throttled, for the benefit of download managers
-
- Throttle notifications for the 'progress' property of the Download
- object, and update documentation to note the fact that this is
- being done, and how to get all notifications if you really care
- about them.
-
- * webkit/webkitdownload.cpp:
- (webkit_download_class_init):
- (webkit_download_received_data):
-
-2009-05-29 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Gustavo Noronha.
-
- Fixed compile warning when comparing the different navigation types
-
- * webkit/webkitwebnavigationaction.cpp:
- (webkit_web_navigation_action_class_init):
-
-2009-05-29 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=26075
- [GTK] Refactor key scrolling code
-
- After the scrolling changes in r44177 we can now use the
- FrameView::scroll method like the other ports, keeping the magic
- constants for the scrolling amounts inside WebCore proper.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_real_move_cursor):
-
-2009-05-29 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Jan Alonzo.
-
- Make NetworkRequest carry a reference of the SoupMessage used by
- ResourceRequest, and use that to create new ResourceRequests where
- needed, so that no information is lost while passing around
- NetworkRequest objects.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- (WebKit::FrameLoaderClient::startDownload):
- * webkit/webkitdownload.cpp:
- (webkit_download_start):
- * webkit/webkitnetworkrequest.cpp:
- (webkit_network_request_finalize):
- (webkit_network_request_new_with_core_request):
- (webkit_network_request_new):
- (webkit_network_request_get_message):
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_load_request):
-
-2009-05-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=26048
- navigation-policy-decision-requested documentation incomplete
-
- Fix documentation for all policy decision request signals, to
- mention that an actual decision is expected when you return TRUE,
- meaning that you handled the signal.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
-
-2009-05-28 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Mention the implementation of the new AtkText methods.
-
- * NEWS:
-
-2009-05-19 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo and Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=25415
- [GTK][ATK] Please implement support for get_text_at_offset
-
- New test file for ATK functionality.
-
- * tests/testatk.c: Added.
- (bail_out):
- (test_get_text_function):
- (test_webkit_atk_get_text_at_offset):
- (main):
-
-2009-05-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Document changes worth noting for 1.1.8.
-
- * NEWS:
-
-2009-05-27 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=26039
- [GTK] WebKitWebHistoryItem lifetime fixes
-
- Modify the management of history items by the BackForward list.
-
- Having the objects add themselves to a hash table with an extra
- reference made impossible for the cleanup code in the dispose
- method to be ever called in normal conditions, since dispose is
- called before getting rid of the last reference, which the objects
- were making to themselves. Get rid of this extra reference and
- move the responsibility of the cleanup to the BackForward list
- itself, which effectively owns the WebKitWebHistoryItems now.
-
- Also, update the tests to reflect this change.
-
- * tests/testwebbackforwardlist.c:
- (test_webkit_web_history_item_lifetime):
- (test_webkit_web_back_forward_list_order):
- (test_webkit_web_back_forward_list_add_item):
- * tests/testwebhistoryitem.c:
- (web_history_item_fixture_setup):
- (web_history_item_fixture_teardown):
- * webkit/webkitprivate.h:
- * webkit/webkitwebbackforwardlist.cpp:
- (webkit_web_back_forward_list_dispose):
- (webkit_web_back_forward_list_class_init):
- * webkit/webkitwebhistoryitem.cpp:
- (webkit_history_items):
- (webkit_history_item_add):
- (webkit_web_history_item_dispose):
- (WebKit::kit):
-
-2009-05-26 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=26039
- [GTK] WebKitWebHistoryItem lifetime fixes
-
- Delete the BackForwardList before the Page, otherwise the references
- to the WebKitWebHistoryItems will be gone.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_dispose):
-
-2009-05-27 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- Add comment to clarify why scrolling is done as it is and not with
- gdk_window_scroll.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::scroll):
-
-2009-05-27 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Adding new symbols index for 1.1.8.
-
- * docs/webkitgtk-docs.sgml:
-
-2009-05-26 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Xan Lopez.
-
- Add a new signal called "create-plugin-widget" and emit it from
- within the FrameLoaderClientGtk::createPlugin method. If a
- GtkWidget gets returned it will be embedded as a WebCore::Widget
- using the new GtkPluginWidget.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createPlugin):
- * webkit/webkitwebview.cpp:
- (webkit_signal_accumulator_object_handled):
- (webkit_web_view_class_init):
- * webkitmarshal.list:
-
-2009-05-24 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=25987
- [GTK] Clarify WebKitWebView::download-requested documentation
-
- Explain a bit why this signal is not emitted by default and offer
- a common solution/setup for that issue.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_class_init):
-
-2009-05-23 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Rubber-stamped by Gustavo Noronha.
-
- Break the switch once private browsing is selected.
-
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_set_property):
- (webkit_web_settings_get_property):
-
-2009-05-23 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Gustavo Noronha and Xan Lopez.
-
- [Gtk] Enable database and localStorage support
- https://bugs.webkit.org/show_bug.cgi?id=25629
-
- Add settings to enable or disable database and localStorage
- support and enable them by default. This allows databases to be
- shown in the WebInspector as well as allow us to run the storage
- layout tests.
-
- * 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):
- (webkit_web_view_settings_notify):
-
-2009-05-23 David Kilzer <ddkilzer@apple.com>
-
- Part 2 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
-
- <https://bugs.webkit.org/show_bug.cgi?id=25495>
-
- Reviewed by Oliver Hunt.
-
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::createHTMLParserQuirks): Return a
- PassOwnPtr<> instead of a raw HTMLParserQuirks pointer.
-
-2009-05-22 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Jan Alonzo.
-
- Improve NetworkRequest documentation.
-
- * webkit/webkitnetworkrequest.cpp:
- (webkit_network_request_class_init):
- (webkit_network_request_init):
-
-2009-05-21 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=24818
- [GTK] http auth dialog pops up twice after a cancelled atempt
-
- Workaround libsoup bug
- http://bugzilla.gnome.org/show_bug.cgi?id=583462, which made
- libsoup emit the 'authenticate' signal more often than it was
- expected.
-
- We'll be able to remove this when we depend on libsoup > 2.26.2.
-
- * webkit/webkitsoupauthdialog.c:
- (session_authenticate):
-
-2009-05-21 Darin Fisher <darin@chromium.org>
-
- Fix build bustage.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::getAutoCorrectSuggestionForMisspelledWord): Add stub for method.
- * WebCoreSupport/EditorClientGtk.h:
-
-2009-05-20 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=25834
-
- Make ChromeClient a interface again
-
- With recent additions to ChromeClient.h empty defaults were
- added. This is bad for porters as these changes go unnoticed
- and at runtime no notImplemented warning is logged and grepping
- for notImplemented will not show anything. Change this Client
- to be like the other Clients again and always have pure virtuals
- (but for stuff inside #ifdef PLATFORM(MAC)).
-
- Update the various WebKit/* implementations to compile again.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::setCursor):
- (WebKit::ChromeClient::requestGeolocationPermissionForFrame):
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::scrollRectIntoView):
-
-2009-05-19 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Jan Alonzo.
-
- Do not try to free enchant broker and dictionary if they do not
- exist, those functions aren't NULL-safe.
-
- * webkit/webkitwebsettings.cpp:
- (free_spell_checking_language):
-
-2009-05-15 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Jan Alonzo.
-
- Plug memory leak.
-
- * webkit/webkitwebsettings.cpp:
- (free_spell_checking_language):
- (webkit_web_settings_finalize):
- (webkit_web_settings_set_property):
-
-2009-05-15 Fridrich Strba <fridrich.strba@bluewin.ch>
-
- Reviewed by Jan Alonzo.
-
- Converting filename to uri by concatenating strings is broken
- on Windows. Use proper glib conversion functions.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_open):
- * tests/testdownload.c:
- (test_webkit_download_create):
-
-2009-05-13 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Do not handle KeyEvents with Ctrl or Alt modifiers that we
- otherwise know nothing about. Otherwise shortcuts defined in the
- WebView will never be executed.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::handleEditingKeyboardEvent):
-
-2009-05-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Add information about the SVG index bounds check committed in
- r43590.
-
- * NEWS:
-
-2009-05-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Note changes since 1.1.6.
-
- * NEWS:
-
-2009-05-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Updated control file, and main file for the 1.1.7
- release.
-
- * docs/webkitgtk-docs.sgml:
- * docs/webkitgtk-sections.txt:
-
-2009-05-11 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=25685
- [GTK] Middle click paste form the pasteboard
-
- For paste from middle button (button==2) we want to use
- the GDK_PRIMARY_SELECTION. Implement the new getCurrentTarget
- method in PasteboardHelperGtk by asking the WebView which
- clipboard to use.
-
- * WebCoreSupport/PasteboardHelperGtk.cpp:
- (WebKit::PasteboardHelperGtk::getCurrentTarget):
- * WebCoreSupport/PasteboardHelperGtk.h:
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_button_press_event):
- (webkit_web_view_use_primary_for_paste):
-
-2009-05-12 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [Gtk] Various autotools build refactoring and fixes
- https://bugs.webkit.org/show_bug.cgi?id=25286
-
- Add glib-2.0 to the list of required package.
-
- * webkit.pc.in:
-
-2009-05-11 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=25697
- [GTK] Warnings building WebKit/gtk/tests/testwebframe.c
-
- * tests/testwebframe.c:
- (test_webkit_web_frame_create_destroy): Declare webView as a GtkWidget*
- to fix pointer type incompatibility warnings.
-
-2009-05-08 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Make the scan program call g_thread_init(NULL) in addition to
- g_type_init(), so that it actually works.
-
- * docs/GNUmakefile.am:
-
-2009-05-08 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Unify scrolling code via adjustments and keys. Use the WebCore
- defined constants, since that's what people are most used to at
- this point.
-
- * ChangeLog:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_real_move_cursor):
-
-2009-05-07 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Gustavo Noronha.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebKit::FrameLoaderClient::dispatchDidCommitLoad): Add missing
- call to notifyStatus in the committed case and a missing property notify.
-
-2009-05-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=24786
- WebKitDownload sometimes suggests peculiar filenames
-
- When a download is requested by an ongoing request, use the already
- provided response to set the suggested filename for the WebKitDownload
- object, if available.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::download):
- * webkit/webkitdownload.cpp:
- (_WebKitDownloadPrivate::webkit_download_set_property):
- (_WebKitDownloadPrivate::webkit_download_get_suggested_filename):
- (_WebKitDownloadPrivate::webkit_download_set_suggested_filename):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
-
-2009-05-06 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- GTK+ API implementation files have bogus extern "C" entries
- https://bugs.webkit.org/show_bug.cgi?id=24322
-
- Remove bogus extern "C" from the source files.
-
- * webkit/webkitdownload.cpp:
- (DownloadClient::cannotShowURL):
- * webkit/webkiterror.cpp:
- (webkit_plugin_error_quark):
- * webkit/webkitnetworkrequest.cpp:
- (webkit_network_request_get_uri):
- * webkit/webkitprivate.cpp:
- (webkit_init):
- * webkit/webkitversion.cpp:
- (webkit_micro_version):
- * webkit/webkitwebbackforwardlist.cpp:
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_get_load_status):
- * webkit/webkitwebhistoryitem.cpp:
- * webkit/webkitwebinspector.cpp:
- (webkit_web_inspector_set_inspector_client):
- * webkit/webkitwebnavigationaction.cpp:
- (webkit_web_navigation_action_get_modifier_state):
- * webkit/webkitwebpolicydecision.cpp:
- (webkit_web_policy_decision_cancel):
- * webkit/webkitwebsettings.cpp:
- (webkit_web_settings_get_spell_languages):
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebwindowfeatures.cpp:
- (webkit_web_window_features_equal):
-
-2009-05-06 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- Misc fixes to InspectorClientGtk.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::createPage): use g_filename_to_uri to
- get the URI and use web_view_load_uri instead of the deprecated
- web_view_open method for loading the URI.
- (WebKit::InspectorClient::localizedStringsURL): implement.
-
-2009-05-05 Ben Murdoch <benm@google.com>
-
- Reviewed by Eric Seidel.
-
- Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds.
- https://bugs.webkit.org/show_bug.cgi?id=24776
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::exceededDatabaseQuota):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2009-05-06 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Gustavo Noronha.
-
- http://bugs.webkit.org/show_bug.cgi?id=17066
- [GTK] Improve frameloader signals
-
- Implement load-status and progress properties on the view, as well as
- load-status on the frame. This supersedes the different load signals
- load-progress-changed, load-committed, load-done, load-started and
- load-finished which are not only misnamed but broken by design.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::notifyStatus):
- (WebKit::FrameLoaderClient::postProgressStartedNotification):
- (WebKit::FrameLoaderClient::postProgressEstimateChangedNotification):
- (WebKit::FrameLoaderClient::dispatchDidFinishLoad):
- (WebKit::FrameLoaderClient::dispatchDidStartProvisionalLoad):
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebframe.h:
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2009-05-05 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Holger Freyther.
-
- Fix memory leaks.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::checkSpellingOfString):
-
-2009-05-02 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=25466
- WebKitGtk+ 1.1.6 prints weird error messages in Liferea
-
- Use strlen instead of g_utf8_strlen when calculating the size of
- the data that is being given to webkit_web_frame_load_string to be
- loaded, so that we don't miss any of the content.
-
- * webkit/webkitwebframe.cpp:
-
-2009-05-01 Dimitri Glazkov <dglazkov@chromium.org>
-
- Unreviewed, bulid fix.
-
- Fix mis-applied patch.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
-
-2009-05-01 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest.
-
- https://bugs.webkit.org/show_bug.cgi?id=25347
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2009-04-30 David Kilzer <ddkilzer@apple.com>
-
- Provide a mechanism to create a quirks delegate for HTMLParser
-
- Reviewed by David Hyatt.
-
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::createHTMLParserQuirks): Added. The
- default implementation of this factory method returns 0.
-
-2009-04-30 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- https://bugs.webkit.org/show_bug.cgi?id=25342
- Add MessageSource and MessageLevel parameters to the ChromeClient::addMessageToConsole.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::addMessageToConsole):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2009-04-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Update gtk-doc control and base sgml files for 1.1.6.
-
- * docs/webkitgtk-docs.sgml:
- * docs/webkitgtk-sections.txt:
-
-2009-04-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Updated with news for the 1.1.6 release.
-
- * NEWS:
-
-2009-04-28 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Leave a bit of space from the previous page when advacing a whole
- page. This matches the behavior of our scrollbar scrolling code
- and is just nicer in general.
-
- * webkit/webkitwebview.cpp:
-
-2009-04-28 Xan Lopez <xlopez@igalia.com>
-
- Unreviewed: committed a few bits by mistake, remove them.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::handleEditingKeyboardEvent):
-
-2009-04-28 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=16135
- [GTK] Support caret browsing
-
- Refactor keyboard event handling to work properly under caret
- browsing mode. Most of the code comes from the Windows port.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::):
- (WebKit::interpretKeyEvent):
- (WebKit::handleEditingKeyboardEvent):
- (WebKit::EditorClient::handleKeyboardEvent):
-
-2009-04-28 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=16135
- [GTK] Support caret browsing
-
- Based on a patch by Alp Toker.
-
- Add enable-caret-browsing setting to WebKitWebView.
-
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::):
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
- (_WebKitWebSettingsPrivate::webkit_web_settings_set_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_get_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_copy):
- * webkit/webkitwebview.cpp:
-
-2009-04-27 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=25409
- [GTK] incorrectly fallsback on cancellation
-
- Check whether we should fallback also on didFailLoad, so that we
- don't get error pages showing up in parts of the content of some
- sites because of, for instance, location changes.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFailLoad):
-
-2009-04-27 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=25409
- [GTK] incorrectly fallsback on cancellation
-
- Correctly handle cancellation and frame loading interruption
- caused by policy change. This also fixes
- fast/frames/location-change.html.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::shouldFallBack):
-
-2009-04-26 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Mark Rowe.
-
- Plug memory leak.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFailLoad):
-
-2009-04-26 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=25391
- G_SIGNAL_ACTION flag in WebKitWebView signals
-
- Most of the signals in WebKitGTK+ have the G_SIGNAL_ACTION flag,
- but I don't think this makes sense. The flag is meant for those
- signals that can be emitted by the user to trigger some action in
- the view, as if it were a normal API, which is not the case for
- most of them.
-
- * webkit/webkitdownload.cpp:
- (_WebKitDownloadPrivate::webkit_download_class_init):
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebinspector.cpp:
- (_WebKitWebInspectorPrivate::webkit_web_inspector_class_init):
- * webkit/webkitwebview.cpp:
-
-2009-04-26 Xan Lopez <xlopez@igalia.com>
-
- Unreviewed, actually apply the right patch.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_move_cursor):
-
-2009-04-26 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- Pass a variable to hold the return value of the 'move-cursor'
- signal, otherwise a crash can happen.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_move_cursor):
-
-2009-04-25 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=24786
- WebKitDownload sometimes suggests peculiar filenames
-
- Refactor the emission of the download-requested signal so that we
- have less code duplication.
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- (WebKit::ContextMenuClient::downloadURL):
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::startDownload):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
-
-2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Xan Lopez.
-
- [GTK] Error reporting
- https://bugs.webkit.org/show_bug.cgi?id=18344
-
- Update FrameLoad errors to use WebKitErrors.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::cancelledError):
- (WebKit::FrameLoaderClient::blockedError):
- (WebKit::FrameLoaderClient::cannotShowURLError):
- (WebKit::FrameLoaderClient::interruptForPolicyChangeError):
- (WebKit::FrameLoaderClient::cannotShowMIMETypeError):
- (WebKit::FrameLoaderClient::fileDoesNotExistError):
- (WebKit::FrameLoaderClient::pluginWillHandleLoadError):
- (WebKit::FrameLoaderClient::shouldFallBack):
- * webkit/webkiterror.h: Added.
- * webkit/webkiterror.cpp: Added.
-
-2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Xan Lopez.
-
- [GTK] Error reporting
- https://bugs.webkit.org/show_bug.cgi?id=18344
-
- Display a default error page for load errors.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFailLoad):
- * resources/error.html: Added.
-
-2009-04-25 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Xan Lopez.
-
- [GTK] Error reporting
- https://bugs.webkit.org/show_bug.cgi?id=18344
-
- Add a WebKitWebFrame API to load alternate content for unreachable URLs.
- Also add a new signal "load-error" for handling load errors.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::postProgressFinishedNotification):
- (WebKit::FrameLoaderClient::dispatchDidFailLoading):
- (WebKit::FrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebKit::FrameLoaderClient::dispatchDidFailLoad):
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebframe.h:
- * webkit/webkitwebview.cpp:
-
-2009-04-24 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Rubber-stamped by Gustavo Noronha.
-
- Fix braces to comply with style guidelines.
-
- * WebCoreSupport/PasteboardHelperGtk.cpp:
- (WebKit::PasteboardHelperGtk::getClipboard):
- (WebKit::PasteboardHelperGtk::getCopyTargetList):
- (WebKit::PasteboardHelperGtk::getPasteTargetList):
-
-2009-04-24 Sergio García-Cuevas <sergio_gcg@telefonica.net>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=17267
- [GTK] Primary selection/clipboard support
-
- Add a method for getting the primary selection.
-
- * WebCoreSupport/PasteboardHelperGtk.cpp:
- (WebKit::PasteboardHelperGtk::getPrimary):
- * WebCoreSupport/PasteboardHelperGtk.h:
-
-2009-04-24 Johan Bilien <jobi@via.ecp.fr>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=25373
- Popup menu has the wrong size when popped up near the edge
- of the screen
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_forward_context_menu_event): Let GTK place
- the popup menu instead of trying to do better and failing
-
-2009-04-24 Christian Dywan <christian@twotoasts.de>
-
- Rubber-stamped by Gustavo Noronha.
-
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init): Reword the
- description of the enable-spell-checking property and correct the
- mentioning of the default language used.
-
-2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=15616
- [GTK] Add spell checking
-
- Implement EditorClient::ignoreWordInSpellDocument,
- EditorClient::learnWord and EditorClient::getGuessesForWord. This
- enables the corresponding user actions.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::ignoreWordInSpellDocument):
- (WebKit::EditorClient::learnWord):
- (WebKit::EditorClient::getGuessesForWord):
-
-2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=15616
- [GTK] Add spell checking
-
- Implement EditorClient::checkSpellingOfString; enabling spell checking
- to actually happen, this is the basis for other spelling functions.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::checkSpellingOfString):
-
-2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=15616
- [GTK] Add spell checking
-
- Add spell-checking-languages property to WebKitWebSettings.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::):
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
- (_WebKitWebSettingsPrivate::webkit_web_settings_init):
- (_WebKitWebSettingsPrivate::webkit_web_settings_finalize):
- (_WebKitWebSettingsPrivate::webkit_web_settings_set_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_get_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_copy):
- (_WebKitWebSettingsPrivate::webkit_web_settings_get_spell_languages):
-
-2009-04-24 Diego Escalante Urrelo <diegoe@gnome.org>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=15616
- [GTK] Add spell checking
-
- Add enable-spell-checking property to WebKitWebSettings and implement
- EditorClient::isContinuousSpellCheckingEnabled and
- EditorClient::toggleContinuousSpellChecking to allow the UI to
- enable check as you type spell checking.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::isContinuousSpellCheckingEnabled):
- (WebKit::EditorClient::toggleContinuousSpellChecking):
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::):
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
- (_WebKitWebSettingsPrivate::webkit_web_settings_set_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_get_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_copy):
-
-2009-04-21 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Gustavo Noronha.
-
- https://bugs.webkit.org/show_bug.cgi?id=21546
- [GTK] ATK accessibility enhancements
-
- Implement window<->screen coordinate transformation functions.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::widgetScreenPosition):
- (WebKit::ChromeClient::windowToScreen):
- (WebKit::ChromeClient::screenToWindow):
-
-2009-04-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- https://bugs.webkit.org/show_bug.cgi?id=24786
- WebKitDownload sometimes suggests peculiar filenames
-
- Remove query and ref from the URI that is to be downloaded when
- using it to provide a file name suggestion.
-
- * webkit/webkitdownload.cpp:
- (_WebKitDownloadPrivate::webkit_download_set_property):
-
-2009-04-20 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Xan Lopez.
-
- Handle the case when the plugin view is destroyed during
- didReceiveResponse, to avoid crashing.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::committedLoad):
-
-2009-04-17 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=25251
- Crash when frame creation removes it from the parent
-
- This brings us up-to-date with the expectations of sub-frame
- creation, following what Mac has done. It fixes crashes when
- calling init on the child frame removes it from the page.
-
- This makes the following test pass instead of crash:
-
- fast/loader/frame-creation-removal.html
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createFrame):
-
-2009-04-16 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Holger Freyther.
-
- http://bugs.webkit.org/show_bug.cgi?id=25042
- destroying webview widget directly causes crash.
-
- * tests/testwebframe.c:
- (test_webkit_web_frame_create_destroy): Add a test case for destroying
- a web view shortly after packing it in a window.
-
-2009-04-16 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=25241
- Remove superfluous NotImplemented.h includes.
-
- * webkit/webkitprivate.cpp:
-
-2009-04-14 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Update gtk-doc control and base sgml files for 1.1.5.
-
- * docs/webkitgtk-docs.sgml:
- * docs/webkitgtk-sections.txt:
-
-2009-04-14 Xan Lopez <xlopez@igalia.com>
-
- * NEWS: updated for 1.1.5 release.
-
-2009-04-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=22898
- [GTK] need proper API for printing
-
- Added simple printing unit tests.
-
- * tests/testwebframe.c:
- (print_requested_cb):
- (print_timeout):
- (test_webkit_web_frame_printing):
- (main):
-
-2009-04-13 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=22898
- [GTK] need proper API for printing
-
- Implement proper printing API, using the GTK+ printing API.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::print):
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebframe.h:
- * webkit/webkitwebview.cpp:
-
-2009-04-10 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=25124
- [GTK] many strings still missing translation calls
-
- Mark the missing strings for translation.
-
- * webkit/webkitdownload.cpp:
- (_WebKitDownloadPrivate::webkit_download_cancel):
- * webkit/webkitsoupauthdialog.c:
- (show_auth_dialog):
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_class_init):
- * webkit/webkitwebinspector.cpp:
- (_WebKitWebInspectorPrivate::webkit_web_inspector_class_init):
- * webkit/webkitwebnavigationaction.cpp:
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_class_init):
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
- * webkit/webkitwebview.cpp:
-
-2009-04-08 Alejandro Piñeiro <apinheiro@igalia.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=21546
- [GTK] ATK accessibility enhancements
-
- Use getOrCreate instead of just get, as we need to actually create
- the wrapper object the first time this function is called.
-
- * webkit/webkitwebview.cpp:
-
-2009-04-06 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Rubber-stamped by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=20575
- No localization in WebKitGtk
-
- Implemented localization support for WebKitGTK+.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- * po/POTFILES: Added.
- * po/README: Added.
- * po/webkit.pot: Added.
- * webkit/webkitdownload.cpp:
- (_WebKitDownloadPrivate::webkit_download_class_init):
- * webkit/webkitprivate.cpp:
- (webkit_init):
- * webkit/webkitwebframe.cpp:
-
-2009-04-05 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=25042
- destroying webview widget directly causes crash.
-
- Do not connect the WebView to its own screen-changed signal, set a
- default handler instead.
-
- * webkit/webkitwebview.cpp:
-
-2009-04-05 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=25042
- destroying webview widget directly causes crash.
-
- GtkWidget::screen-changed can be emitted when a widget is being
- destroyed, protect against it.
-
- * webkit/webkitwebview.cpp:
-
-2009-04-05 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [Gtk] Implement LayoutTestControllerGtk::setPrivateBrowsingEnabled
- https://bugs.webkit.org/show_bug.cgi?id=24487
-
- Updated documentation and put more information about the
- private-browsing setting for WebKitGtk.
-
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
-
-2009-04-03 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- Remove pre-processor checks for GTK+ >= 2.10, since we now require
- at least that version.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::clipboard_clear_contents_cb):
- (WebKit::EditorClient::respondToChangedSelection):
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebview.cpp:
-
-2009-04-02 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=24844
- Unit test WebKitDownload
-
- Extra checks to avoid crashing and a critical message when
- property accessor functions are called before the download is
- started.
-
- * webkit/webkitdownload.cpp:
- (_WebKitDownloadPrivate::webkit_download_get_progress):
- (_WebKitDownloadPrivate::webkit_download_get_elapsed_time):
-
-2009-04-01 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Holger Freyther.
-
- * tests/testdownload.c: Added.
- (test_webkit_download_create):
- (main): Add an initial unit test for downloading.
-
-2009-04-01 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed typo fixes, and naming normalization in the
- documentation.
-
- * docs/webkitenvironment.xml:
- * webkit/webkitwebview.cpp:
-
-2009-03-31 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- Updated gtk-doc configuration files for the 1.1.1, 1.1.2, 1.1.3,
- and 1.1.4 versions of WebKitGTK+.
-
- * docs/webkitgtk-docs.sgml:
- * docs/webkitgtk-sections.txt:
-
-2009-03-31 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=17045
- [GTK] Documentation
-
- Added header documentation for WebKitWebNavigationAction and
- WebKitWebPolicyDecision.
-
- Added missing documentation pieces for WebKitSoupAuthDialog,
- WebKitDownload and WebKitWebPolicyDecision.
-
- Wrote a section about using the WEBKIT_DEBUG environment variable.
-
- * docs/GNUmakefile.am:
- * docs/webkitenvironment.xml: Added.
- * docs/webkitgtk-docs.sgml:
- * webkit/webkitdownload.cpp:
- * webkit/webkitsoupauthdialog.c:
- * webkit/webkitwebnavigationaction.cpp:
- * webkit/webkitwebpolicydecision.cpp:
-
-2009-03-30 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- Integrate gtk-doc into the Gtk+ buildsystem.
-
- Based on original work by Holger Freyther.
-
- Integrate gtk-doc into our buildsystem. We are forced to
- use recursive make for gtk-doc itself as the to be installed
- gtk-doc.make (done by gtkdocize) is not working in a non
- recursive environment.
-
- The documentation can only be generated when srcdir == builddir.
- In all other cases the generated files will not be found. This
- limitation can be found in pango and gtk+ as well. There is no
- easy way around. The resulting html documentation will be saved
- in the srcdir as well.
-
- * docs/GNUmakefile.am: Added.
- * docs/version.xml.in: Added.
- * docs/webkitgtk-docs.sgml:
-
-2009-03-30 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Documenting what changed since the 1.1.3 release, in
- the GTK+ port.
-
- * NEWS:
-
-2009-03-30 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Unreviewed. Add information on the bug-fix-only 1.1.3 release.
-
- * NEWS:
-
-2009-03-30 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=24878
- [GTK] Use GtkBinding system to handle key events in WebView
-
- Use GtkBinding system for key events in WebKitWebView. Allows the
- user to reconfigure the bindings and fixes a bunch of bugs along
- the way (we were not checking modifier keys in most actions).
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_move_cursor):
- * webkit/webkitwebview.h:
- * webkitmarshal.list:
-
-2009-03-28 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=24790
- [GTK] webkitsoupauthdialog.h lacks WEBKIT_API before function
-
- Set the right visibility to the WebKitSoupAuthDialog get_type
- function.
-
- * webkit/webkitsoupauthdialog.h:
-
-2009-03-28 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Gtk build fix. Not reviewed.
-
- FrameLoader::loadURL and FrameLoader::detachChildren went private
- per changes in http://trac.webkit.org/changeset/42055. Follow
- Mac's behaviour and use FrameLoader::loadURLIntoChildFrame for
- loadURL and FrameLoader::detachParent for detachChildrem.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createFrame):
- * webkit/webkitwebview.cpp:
-
-2009-03-25 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=15793
- [GTK] tooltip position doesn't update when hovering consecutive links
-
- Work-around tooltips not updating their location when the elements
- are consecutive, by clearing the tooltip when handling
- mouseDidMoveOverElement.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::mouseDidMoveOverElement):
-
-2009-03-23 Alejandro Garcia Castro <alex@igalia.com>
-
- Reviewed by Holger Freyther.
-
- [Gtk] Current API does not allow us to open target="_blank" links
- in new tabs instead of windows
- https://bugs.webkit.org/show_bug.cgi?id=23932
-
- Added a signal to the API (new-window-policy-decision-requested)
- that allows the browser to decide the policy for the new window
- request, if the signal is not handled we open the new window as
- usual.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::getNavigationAction):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- * webkit/webkitwebview.cpp:
-
-2009-03-20 Jan Michael Alonzo <jmalonzo@gmail.com>
-
- Not reviewed. Fix style issues with my previous commit (r41866) as
- suggested by Holger in https://bugs.webkit.org/show_bug.cgi?id=24493
-
- * tests/testwebhistoryitem.c:
- (test_webkit_web_history_item_get_data):
- (test_webkit_web_history_item_alternate_title):
-
-2009-03-20 Jan Michael Alonzo <jmalonzo@gmail.com>
-
- Reviewed by Holger Freyther.
-
- [GTK] Misc patches for WebKitWebHistoryItem
- https://bugs.webkit.org/show_bug.cgi?id=24493
-
- Add unit test for WebKitWebHistoryItem
-
- * tests/testwebhistoryitem.c: Added.
- (web_history_item_fixture_setup):
- (web_history_item_fixture_teardown):
- (test_webkit_web_history_item_get_data):
- (test_webkit_web_history_item_alternate_title):
- (main):
-
-2009-03-20 Jan Michael Alonzo <jmalonzo@gmail.com>
-
- Reviewed by Holger Freyther.
-
- Separate gtk unit tests
- https://bugs.webkit.org/show_bug.cgi?id=24039
-
- Split the current single-file unit test to make it more
- modularized and manageable in the future as more unit tests are
- written.
-
- * tests/main.c: Removed.
- * tests/testwebbackforwardlist.c: Copied from WebKit/gtk/tests/main.c.
- (main):
- * tests/testwebframe.c: Copied from WebKit/gtk/tests/main.c.
- (main):
-
-2009-03-16 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Adam Roben.
-
- [gtk] API implementation: url and title
- http://bugs.webkit.org/show_bug.cgi?id=14807
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebKit::FrameLoaderClient::dispatchDidReceiveTitle):
- (WebKit::FrameLoaderClient::dispatchDidCommitLoad):
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h: Implement "title" and "uri" properties as well
- as according functions. "uri" always reflects the current location
- including navigation inside the same page. title-changed is deprecated.
-
-2009-03-15 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Anders Carlsson.
-
- Fix default policy decision to be ignore, on MIME checks, if
- WebKit doesn't know how to handle the MIME type. The documentation
- is already correct, and this was an oversight when the policy
- decision code was first committed. Since 1.1.2 will be the first
- release to support download, there is no practical change in
- behavior.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForMIMEType):
-
-2009-03-15 Xan Lopez <xlopez@igalia.com>
-
- * NEWS: update for 1.1.2.
-
-2009-03-14 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [GTK] use of confirm dialog (yes/no) causes segfault
- https://bugs.webkit.org/show_bug.cgi?id=20940
-
- Change the script-confirm marshaller from OBJECT,STRING,BOOLEAN to
- OBJECT,STRING,POINTER
-
- * webkit/webkitwebview.cpp:
- * webkitmarshal.list:
-
-2009-03-12 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=24553
- [GTK] Improvements to WebKitDownload
-
- Rename 'state' to 'status' to match the naming in the frame
- loader rework that we plan to land soonish, and make it a
- property, for the same reason.
-
- * webkit/webkitdownload.cpp:
- (_WebKitDownloadPrivate::):
- (_WebKitDownloadPrivate::webkit_download_finalize):
- (_WebKitDownloadPrivate::webkit_download_get_property):
- (_WebKitDownloadPrivate::webkit_download_set_property):
- (_WebKitDownloadPrivate::webkit_download_class_init):
- (_WebKitDownloadPrivate::webkit_download_init):
- (_WebKitDownloadPrivate::webkit_download_start):
- (_WebKitDownloadPrivate::webkit_download_cancel):
- (_WebKitDownloadPrivate::webkit_download_set_destination_uri):
- (_WebKitDownloadPrivate::webkit_download_get_status):
- (_WebKitDownloadPrivate::webkit_download_set_status):
- (_WebKitDownloadPrivate::webkit_download_received_data):
- (_WebKitDownloadPrivate::webkit_download_finished_loading):
- (_WebKitDownloadPrivate::webkit_download_error):
- * webkit/webkitdownload.h:
-
-2009-03-12 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=24553
- [GTK] Improvements to WebKitDownload
-
- Improved documentation for the download-requested signal, to make
- its usage clear.
-
- * webkit/webkitwebview.cpp:
-
-2009-03-12 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Alp Toker.
-
- https://bugs.webkit.org/show_bug.cgi?id=24541
- Scrolling with home and end keys not always works
-
- Also make page up and page down keys be handled by the webview key
- event code, so that they also work in cases where the GTK+
- scrollbars don't handle them directly, like in the bugzill's patch
- review page.
-
- * webkit/webkitwebview.cpp:
-
-2009-03-12 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Alp Toker.
-
- https://bugs.webkit.org/show_bug.cgi?id=24541
- Scrolling with home and end keys not always works
-
- Make home and end keys behave more consistently for scrolling the
- view.
-
- * webkit/webkitwebview.cpp:
-
-2009-03-12 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Alp Toker.
-
- https://bugs.webkit.org/show_bug.cgi?id=24254
- [GTK] spacebar doesn't scroll down
-
- Make spacebar and shift+spacebar scroll like page up and down
- respectively would.
-
- * webkit/webkitwebview.cpp:
-
-2009-03-10 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=24493
- [GTK] Misc patches for WebKitWebHistoryItem
-
- Only run code in dispose once per instance.
-
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_dispose):
-
-2009-03-10 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=24493
- [GTK] Misc patches for WebKitWebHistoryItem
-
- Call deref() on our internal HistoryItem on dispose, as we always
- acquire it with a releaseRef() call to a PassRefPtr, which passes
- ownership.
-
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_dispose):
-
-2009-03-10 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=24493
- [GTK] Misc patches for WebKitWebHistoryItem
-
- return foo? foo : NULL == return foo
-
- * webkit/webkitwebhistoryitem.cpp:
- (WebKit::core):
-
-2009-03-11 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- Gtk] Implement LayoutTestControllerGtk::setPrivateBrowsingEnabled
- https://bugs.webkit.org/show_bug.cgi?id=24487
-
- Add private browsing option "enable-private-browsing" to WebKitWebSettings.
-
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::):
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
- (_WebKitWebSettingsPrivate::webkit_web_settings_set_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_get_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_copy):
- * webkit/webkitwebview.cpp:
-
-2009-03-11 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [GTK] BackForward history leak?
- https://bugs.webkit.org/show_bug.cgi?id=19528
-
- Don't ref the history items when returning the back/forward list
- Added test_webkit_web_history_item_lifetime test case for this.
-
- * tests/main.c:
- (test_webkit_web_history_item_lifetime):
- (test_webkit_web_back_forward_list_order): Style fix.
- (test_webkit_web_back_forward_list_add_item): Style fix.
- (main):
- * webkit/webkitwebbackforwardlist.cpp:
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit):
-
-2009-03-10 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=24493
- [GTK] Misc patches for WebKitWebHistoryItem
-
- Use g_hash_table_new_full so we can save the manual unref on the
- values when removing them from the table.
-
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_dispose):
-
-2009-03-10 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=24493
- [GTK] Misc patches for WebKitWebHistoryItem
-
- Use 'if (foo)' instead of 'if (foo != NULL)', per coding style
- guidelines.
-
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::webkit_history_item_remove):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_uri):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_last_visited_time):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_target):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_is_target_item):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_children):
-
-2009-03-10 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Correct return value to false instead of NULL.
-
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_is_target_item):
-
-2009-03-08 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Mark Rowe.
-
- Add javascript-profiling-enabled property and implement it. This
- will enable/disable the profiler on the InstpectorController.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebinspector.cpp:
- (_WebKitWebInspectorPrivate::webkit_web_inspector_class_init):
- (_WebKitWebInspectorPrivate::webkit_web_inspector_set_property):
- (_WebKitWebInspectorPrivate::webkit_web_inspector_get_property):
- (_WebKitWebInspectorPrivate::webkit_web_inspector_set_inspector_client):
- * webkit/webkitwebview.cpp:
-
-2009-03-05 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Olliej.
-
- https://bugs.webkit.org/show_bug.cgi?id=24295
- webkit_web_back_forward_list_add_item needs a Since tag
-
- Add missing Since tag to webkit_web_back_forward_list_add_item
- documentation.
-
- * webkit/webkitwebbackforwardlist.cpp:
-
-2009-03-05 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=24417
- [GTK] WebKitDownload's _cancel and _dispose methods may emit warnings
-
- NULL-check for timer on _cancel and _dispose, to avoid bad
- warnings.
-
- * webkit/webkitdownload.cpp:
- (_WebKitDownloadPrivate::webkit_download_finalize):
- (_WebKitDownloadPrivate::webkit_download_cancel):
-
-2009-03-02 Xan Lopez <xan@gnome.org>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=24287
- [GTK] Move auth dialog feature to WebKit/
-
- Add WebKitSoupAuthDialog and add it to the session in webkit_init.
-
- * webkit/webkitprivate.cpp:
- (currentToplevelCallback):
- (webkit_init):
- * webkit/webkitsoupauthdialog.c: Added.
- (webkit_soup_auth_dialog_class_init):
- (webkit_soup_auth_dialog_init):
- (webkit_soup_auth_dialog_session_feature_init):
- (free_authData):
- (set_password_callback):
- (response_callback):
- (table_add_entry):
- (show_auth_dialog):
- (find_password_callback):
- (session_authenticate):
- (attach):
- * webkit/webkitsoupauthdialog.h: Added.
-
-2009-03-03 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=16826
- [Gtk] Implement WebKitDownload
-
- Implement download, and provide a nice object wrapping the
- download process. Initial work done by Marco Barisione and
- Pierre-Luc Beaudoin for Collabora.
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- (WebKit::ContextMenuClient::downloadURL):
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::download):
- (WebKit::FrameLoaderClient::startDownload):
- * webkit/webkit.h:
- * webkit/webkitdefines.h:
- * webkit/webkitdownload.cpp: Added.
- (_WebKitDownloadPrivate::):
- (_WebKitDownloadPrivate::webkit_download_dispose):
- (_WebKitDownloadPrivate::webkit_download_finalize):
- (_WebKitDownloadPrivate::webkit_download_get_property):
- (_WebKitDownloadPrivate::webkit_download_set_property):
- (_WebKitDownloadPrivate::webkit_download_class_init):
- (_WebKitDownloadPrivate::webkit_download_init):
- (_WebKitDownloadPrivate::webkit_download_new):
- (_WebKitDownloadPrivate::webkit_download_open_stream_for_uri):
- (_WebKitDownloadPrivate::webkit_download_close_stream):
- (_WebKitDownloadPrivate::webkit_download_start):
- (_WebKitDownloadPrivate::webkit_download_cancel):
- (_WebKitDownloadPrivate::webkit_download_get_uri):
- (_WebKitDownloadPrivate::webkit_download_get_network_request):
- (_WebKitDownloadPrivate::webkit_download_set_response):
- (_WebKitDownloadPrivate::webkit_download_get_suggested_filename):
- (_WebKitDownloadPrivate::webkit_download_get_destination_uri):
- (_WebKitDownloadPrivate::webkit_download_set_destination_uri):
- (_WebKitDownloadPrivate::webkit_download_get_state):
- (_WebKitDownloadPrivate::webkit_download_get_total_size):
- (_WebKitDownloadPrivate::webkit_download_get_current_size):
- (_WebKitDownloadPrivate::webkit_download_get_progress):
- (_WebKitDownloadPrivate::webkit_download_get_elapsed_time):
- (_WebKitDownloadPrivate::webkit_download_received_data):
- (_WebKitDownloadPrivate::webkit_download_finished_loading):
- (_WebKitDownloadPrivate::webkit_download_error):
- (_WebKitDownloadPrivate::DownloadClient::DownloadClient):
- (_WebKitDownloadPrivate::DownloadClient::didReceiveResponse):
- (_WebKitDownloadPrivate::DownloadClient::didReceiveData):
- (_WebKitDownloadPrivate::DownloadClient::didFinishLoading):
- (_WebKitDownloadPrivate::DownloadClient::didFail):
- (_WebKitDownloadPrivate::DownloadClient::wasBlocked):
- (_WebKitDownloadPrivate::DownloadClient::cannotShowURL):
- * webkit/webkitdownload.h: Added.
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- * webkitmarshal.list:
-
-2009-03-01 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [Gtk] get the HTTP layout tests going
- https://bugs.webkit.org/show_bug.cgi?id=24259
-
- Added API to get the response mime type from a frame. We need this
- so we can decide if we need to dump the frame as text or its
- render tree
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
-
-2009-03-01 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [Gtk] get the HTTP layout tests going
- https://bugs.webkit.org/show_bug.cgi?id=24259
-
- Create a WebKitWebHistoryItem for each WebCore::HistoryItem when
- necessary.
- Add necessary API additions for us to be able to dump a WebKitWebHistoryItem
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebbackforwardlist.cpp:
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit):
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_target):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_is_target_item):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_children):
- (WebKit::core):
- (WebKit::kit):
-
-2009-03-01 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Holger Freyther.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_get_encoding):
- * webkit/webkitwebview.h: Implement 'encoding' and 'custom-encoding'
- properties as well as webkit_web_view_get_encoding.
-
-2009-03-01 Gustavo Noronha Silva <gns@gnome.org>
-
- Unreviewed simple wording fix for the NEWS file.
-
- * NEWS:
-
-2009-03-01 Xan Lopez <xan@gnome.org>
-
- Add NEWS file to track progress between releases.
-
- * NEWS: Added.
-
-2009-02-28 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Holger Freyther.
-
- * webkit/webkitwebview.cpp: Let webkit_web_view_open add file:// if a
- locale path is passed for compatibility, since we used to support that.
-
-2009-02-27 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by David Hyatt.
-
- Automatically ignore empty requests to avoid crashing. This fixes
- the crash in fast/loader/empty-embed-src-attribute.html.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
-
-2009-02-27 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=24221
- [GTK] Do not emit load-finished when being disposed
-
- webkit_web_view_stop_load() is called from dispose() on
- WebKitWebView. This eventually calls postProgressFinishedNotification
- in FrameLoaderClientGtk, which emits load-finished. Add
- a 'disposing' flag to WebView that we can check here, so
- we avoid emitting signals on objects on their way to be
- destroyed. This fixes a bunch of critical warnings when
- closing a loading WebView.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::postProgressFinishedNotification):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
-
-2009-02-27 Xan Lopez <xan@gnome.org>
-
- Rubber-stamped by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=24222
- [GTK] Remove checks for old glib versions
-
- libsoup, which is a hard dependency, needs at least glib 2.15.3,
- so remove all glib checks for versions older than that.
-
- * webkit/webkitwebview.cpp:
-
-2009-02-26 Xan Lopez <xan@gnome.org>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=16947
- [GTK] Missing HTTP Auth challenge
-
- Add new marshalers list.
-
- * webkitmarshal.list: Added.
-
-2009-02-26 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=24193
- [GTK] Checkbuttons not activated with space
-
- Do not swallow key events with GtkIMContext for non-editable
- content.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleInputMethodKeydown):
-
-2009-02-26 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=24103
- [GTK] Use correct return value for WebView button-release handler
-
- We are returning whatever the core code tells us it did, but this
- does not play well with the GTK+ model. GTK+ in general expects it
- will see a button-release if it saw a button-press and no
- motion/leave/etc events in between. EventHandler.cpp will, in some
- cases, not handle press but handle release, confusing the parent
- container of the WebView.
-
- As a workaround return always FALSE for button-release (this is
- the same than the Windows port does).
-
- * webkit/webkitwebview.cpp:
-
-2009-02-26 Xan Lopez <xan@gnome.org>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=17585
- [gtk] get|set encoding api
-
- Add functions to get and set a custom encoding an a view.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- (webkit_web_view_set_custom_encoding):
- (webkit_web_view_get_custom_encoding):
- * webkit/webkitwebview.h:
-
-2009-02-23 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=22624
- [SOUP][GTK] Need API to get SoupSession from WebKit.
-
- Add API to get the default soup session.
-
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2009-02-23 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=22624
- [SOUP][GTK] Need API to get SoupSession from WebKit.
-
- Add soup dependency to pc file.
-
- * webkit.pc.in:
-
-2009-02-23 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Mark Rowe.
-
- [GTK] Back / Forward history menus are flipped
- https://bugs.webkit.org/show_bug.cgi?id=22694
-
- Don't call g_list_reverse when returning the back or forward list.
-
- * tests/main.c:
- (test_webkit_web_back_forward_list_order):
- (main):
- * webkit/webkitwebbackforwardlist.cpp:
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit):
-
-2009-02-17 Xan Lopez <xan@gnome.org>
-
- Rubber-stamped by Alexey Proskuryakov.
-
- Restoring change landed in r40715, which was accidentally undone
- by r40918.
-
- * webkit/webkitwebframe.cpp:
-
-2009-02-12 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Holger Freyther.
-
- http://bugs.webkit.org/show_bug.cgi?id=17176
- [GTK] API: hovering-over-link and webkit_web_view_open /_load_foo
-
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebframe.h:
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h: Introduce webkit_web_frame_load_uri,
- webkit_web_frame_load_string, webkit_web_view_load_uri and
- webkit_web_view_load_request and unify implementations.
-
-2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>
-
- Stub out InspectorClient::hiddenPanels.
-
- Reviewed by Timothy Hatcher.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::hiddenPanels):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2009-02-07 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Unreviewed build fix Use toNormalizedRange().
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::clipboard_get_contents_cb):
-
-2009-02-06 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::updateGlobalHistoryRedirectLinks):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2009-02-06 Xan Lopez <xan@gnome.org>
-
- Reviewed by Holger Freyther.
-
- Reported by Daniel Macks.
-
- https://bugs.webkit.org/show_bug.cgi?id=20412
-
- Use positive numbers for the target info IDs, gtk_target_list_add
- casts them to 'guint'. Also just start them from 0, since the
- values are not relevant or magic in any way, they are just used as
- tokens for the user of the API.
-
- * webkit/webkitwebview.h:
-
-2009-02-06 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=23769
-
- Do not use empty ResourceError errors.
-
- Rather create bogus but non-null errors, since some codepaths
- expect these. For example, see DocumentLoader::mainReceivedError.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::cancelledError):
- (WebKit::FrameLoaderClient::blockedError):
- (WebKit::FrameLoaderClient::cannotShowURLError):
- (WebKit::FrameLoaderClient::interruptForPolicyChangeError):
- (WebKit::FrameLoaderClient::cannotShowMIMETypeError):
- (WebKit::FrameLoaderClient::fileDoesNotExistError):
- (WebKit::FrameLoaderClient::pluginWillHandleLoadError):
-
-2009-02-06 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=23761
-
- Use two-arg KURL ctor.
-
- We are using the one-arg ctor currently, but:
-
- - It assumes the strings are already encoded, which is not
- necesarily the case for us.
-
- - The single-argument KURL ctors expect their input to already be
- the output of a previous KURL::parse call, so for the general
- case (ie, random user input) we need to use the two-arg ctor
- anyway.
-
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebview.cpp:
-
-2009-02-05 Aaron Boodman <aa@chromium.org>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=23708
- Adds documentElementAvailable() callback to FrameLoaderClient.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::documentElementAvailable):
- Stub out documentElementAvailable()
- * WebCoreSupport/FrameLoaderClientGtk.h:
- Ditto.
-
-2009-02-03 Hiroyuki Ikezoe <poincare@ikezoe.net>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=22988
- [GTK] Need a public method to add a WebKitWebHistoryItem to
- WebKitWebBackForwardList.
-
- Wrap WebCore::BackForwardList::addItem.
-
- * tests/main.c:
- (test_webkit_web_back_forward_list_add_item):
- (main):
- * webkit/webkitwebbackforwardlist.cpp:
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_add_item):
- * webkit/webkitwebbackforwardlist.h:
-
-2009-02-02 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * webkit/webkitwebview.cpp:
-
-2009-02-02 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * webkit/webkitwebframe.cpp:
-
-2009-02-02 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createFrame):
-
-2009-02-02 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Track redirects in global history.
-
- Keep GTK building.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createFrame):
- (WebKit::FrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2009-02-02 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2009-02-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Update for changes to WebCore.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createPlugin):
- (WebKit::FrameLoaderClient::createJavaAppletWidget):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
-
- https://bugs.webkit.org/show_bug.cgi?id=23428
-
- FrameView::forceLayout could be killed but the comment might
- contain a value over the the plain FrameView::layout...
-
- Adjust the WebCore/WebKit consumers of these methods.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::forceLayout):
- * webkit/webkitwebview.cpp:
-
-2009-01-30 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createFrame):
-
-2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=22056
-
- Kill FrameLoaderClient.cpp, move the code over to Frame::createView
-
- FrameLoaderClient is supposed to be an interface, move the
- to be shared code to Frame which is a controller and is
- allowed to create a FrameView.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
-
-2009-01-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein
-
- Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::savePlatformDataToCachedFrame):
- (WebKit::FrameLoaderClient::transitionToCommittedFromCachedFrame):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2009-01-25 Darin Adler <darin@apple.com>
-
- Try to fix GTK build.
-
- * webkit/webkitwebview.cpp: Added include of FloatQuad.h.
-
-2009-01-13 Alexander V. Butenko <alex@digiqube.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=23279
-
- Fix crash on WebView dispose stage.
-
- Add null checks to webkit_web_view_set_scroll_adjustments and
- webkit_web_view_get_accessible as they get called from within
- the dispose.
-
- * webkit/webkitwebview.cpp:
-
-2009-01-11 Xan Lopez <xan@gnome.org>
-
- Reviewed by Holger Freyther.
-
- Use NULL instead of 0 when dealing with pointers, as agreed for
- the coding style of the WebKit GTK port for its GTK+ specific
- files.
-
- * webkit/webkitwebview.cpp:
-
-2009-01-11 Xan Lopez <xan@gnome.org>
-
- Reviewed by Holger Freyther.
-
- Add padding to the class structs to avoid breaking ABI each time
- we add stuff there.
-
- * webkit/webkitnetworkrequest.h:
- * webkit/webkitwebbackforwardlist.h:
- * webkit/webkitwebhistoryitem.h:
- * webkit/webkitwebnavigationaction.h:
- * webkit/webkitwebpolicydecision.h:
- * webkit/webkitwebview.h:
-
-2009-01-09 Benjamin Otte <otte@gnome.org>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=23194
-
- make the finalize function the dispose function. Not releasing held
- objects in dispose can cause crashers later.
-
- * webkit/webkitwebview.cpp:
-
-2009-01-09 Benjamin Otte <otte@gnome.org>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=23194
-
- Remove broken code that uses a fallback. The previous code did 2
- policy decisions which caused crashes.
- Download is still notImplemented();
-
- * webkit/webkitwebpolicydecision.cpp:
- (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_download):
-
-2009-01-03 Xan Lopez <xan@gnome.org>
-
- Reviewed by Holger Freyther.
-
- [GTK] Need a public method to reload view bypassing cache
- https://bugs.webkit.org/show_bug.cgi?id=19815
-
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
- Add webkit_web_view_reload_bypass_cache.
-
-2009-01-07 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Maciej Stachowiak.
-
- Add private API to get the number of active animations of
- a frame. This is required by the DumpRenderTree utility.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
-
-2009-01-05 Adam Treat <adam.treat@torchmobile.com>
-
- Fix build
-
- * WebCoreSupport/ChromeClientGtk.h:
-
-2009-01-05 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Build fix for contentsSizeChanged
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::contentsSizeChanged):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2009-01-04 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Make the gtk port build with the new fixedLayoutSize feature
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
-
-2009-01-03 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- [GTK] Fix the reference counting of WebKitWebFrames
-
- The ownership is the following: WebKitWebView owns a WebCore::Page.
- WebKitWebView is creating one WebKitWebFrame which will be the
- mainFrame of the WebCore::Page (having the reference on the Frame).
-
- The FrameLoaderClient has the reference of the WebKitWebFrame for
- the main frame and also any other frame. This means when the
- WebCore::Frame goes away the FrameLoaderClient will go away which
- will normally remove the last reference of the WebKitWebFrame. Because
- an API user might have g_object_ref'ed the WebKitWebFrame null
- checks had to be added to WebKitWebFrame.
-
- For WebCore::Frames created by the FrameLoaderClient the ownership
- will be passed down to the FrameTree, the WebKitWebFrame is not holding
- a reference to the WebCore::Frame.
-
- Do not g_object_unref the mainFrame in the destructor of the
- WebKitWebFrame as this will happen from within the WebCore::Page
- destruction. Do not hold a reference to the WebCore::Frame (circle) in
- WebKitWebFrame, add null checks as the WebCore::Frame might have gone
- away. Do not keep track of the FrameLoaderClient in the private
- structures as it was mostly unusued.
-
- https://bugs.webkit.org/show_bug.cgi?id=21837
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::frameLoaderDestroyed):
- (WebKit::FrameLoaderClient::createFrame):
- * tests/main.c: Add test case.
- (test_webkit_web_frame_create_destroy):
- (test_webkit_web_frame_lifetime):
- (main):
- * webkit/webkitprivate.cpp:
- (WebKit::core):
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebview.cpp:
-
-2009-01-02 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Unreviewed build fix.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
-
-2008-12-31 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Nikolas Zimmermann.
-
- https://bugs.webkit.org/show_bug.cgi?id=17045
-
- Add section information for View, Frame, Settings, HistoryItem, BackForwardList, WindowFeatures and Inspector
-
- Add section information and informal examples for WebKitWebView,
- WebKitWebFrame, WebKitWebSettings, WebKitWebNetworkRequest,
- WebKitWebWindowFeatures, WebKitWebHistoryItem,
- WebKitWebBackForwardList and WebKitWebInspector.
-
- * docs/webkitgtk-sections.txt: Decide to not document some bits
- * webkit/webkitnetworkrequest.cpp:
- * webkit/webkitwebbackforwardlist.cpp:
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebhistoryitem.cpp:
- * webkit/webkitwebhistoryitem.h:
- * webkit/webkitwebinspector.cpp:
- * webkit/webkitwebsettings.cpp:
- * webkit/webkitwebsettings.h:
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebwindowfeatures.cpp:
-
-2008-12-21 Xan Lopez <xan@gnome.org>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=16092
- [GTK] Middle-mouse click should allow opening a URL in a new tab
-
- Add mouse button and keyboard state modifiers info to navigation action.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- * webkit/webkitwebnavigationaction.cpp:
- (_WebKitWebNavigationActionPrivate::):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_get_property):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_set_property):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_class_init):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_get_button):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_get_modifier_state):
- * webkit/webkitwebnavigationaction.h:
-
-2008-12-19 Marco Barisione <marco.barisione@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- http://bugs.webkit.org/show_bug.cgi?id=16562
- [gtk] Implement WebPolicyDelegate methods
-
- Original work by Pierre-Luc Beaudoin. Final touches by Gustavo
- Noronha.
-
- This implements the delegates methods of WebPolicyDelegate.
- Since Gtk+/C doesn't have delegate methods, they are replaced with
- signals.
-
- A new object WebKitWebPolicyDecision allows the browser to delay its
- response in certain cases. WebKitWebNavigationAction contains the
- information about what caused a navigation request.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::FrameLoaderClient):
- (WebKit::FrameLoaderClient::~FrameLoaderClient):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- (WebKit::FrameLoaderClient::cancelPolicyCheck):
- (WebKit::FrameLoaderClient::canShowMIMEType):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- * webkit/webkit.h:
- * webkit/webkitdefines.h:
- * webkit/webkitprivate.cpp:
- (WebKit::kit):
- (WebKit::core):
- * webkit/webkitprivate.h:
- * webkit/webkitwebnavigationaction.cpp: Added.
- (_WebKitWebNavigationActionPrivate::):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_get_property):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_set_property):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_init):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_finalize):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_class_init):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_get_reason):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_set_reason):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_get_original_uri):
- (_WebKitWebNavigationActionPrivate::webkit_web_navigation_action_set_original_uri):
- * webkit/webkitwebnavigationaction.h: Added.
- * webkit/webkitwebpolicydecision.cpp: Added.
- (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_class_init):
- (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_init):
- (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_new):
- (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_use):
- (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_ignore):
- (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_download):
- (_WebKitWebPolicyDecisionPrivate::webkit_web_policy_decision_cancel):
- * webkit/webkitwebpolicydecision.h: Added.
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2008-12-18 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- - stub out FrameLoaderClient::shouldUseCredentialStorage().
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::shouldUseCredentialStorage):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2008-12-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by John Sullivan.
-
- Stub out FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout()
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2008-12-13 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Cameron Zwarich.
-
- [GTK] Fix crash with LayoutTests/fast/loader/frame-creation-removal.html
-
- Call WebCore::Frame::init after the frame has been given
- a name and been added to the FrameTree of the parent.
-
- Removing the call to init is fine as FrameLoaderClientGtk::createFrame
- is the only user of webkit_web_frame_init_with_web_view and is already
- calling WebCore::Frame::init.
-
- * webkit/webkitwebframe.cpp:
-
-2008-12-13 Adam Bergkvist <adam.bergkvist@ericsson.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=22779
-
- Check for GTK version >= 2.14.0 before using gtk_test_init.
-
- * tests/main.c:
- (main):
-
-2008-12-13 Zan Dobersek <zandobersek@gmail.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=22039
-
- Implement animation and transition pausing as needed by DumpRenderTree.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
-
-2008-11-29 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Rubber-stamped by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=22574
-
- Make webkit_web_view_set_window_features internal
-
- Calling this method will not result in a notify::window-features
- signal being emitted. This would allow replacing a
- WebKitWebWindowFeature on a WebKitWebView without anyone noticing
- and the client code would monitor the wrong object.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::createWindow):
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2008-12-09 Brett Wilson <brettw@chromium.org>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=22177
-
- Add a callback on ChromeClient that the state of form elements on
- the page has changed. This is to allow clients implementing session
- saving to know when the current state is dirty.
-
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::formStateDidChange):
-
-2008-12-07 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Eric Seidel.
-
- [Gtk+] Use glib's unit test facilities to test the WebKit/Gtk+ API
-
- https://bugs.webkit.org/show_bug.cgi?id=22491
-
- Add the skeleton to WebKit/gtk/tests and integrate that into the
- buildsystem. Testing support was added in glib 2.16. For versions
- using glib < 2.16 we compile an empty application.
-
- * tests/main.c: Added. https://bugs.webkit.org/show_bug.cgi?id=21837
- will be the first consumer.
- (main):
-
-2008-12-06 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dave Hyatt
-
- https://bugs.webkit.org/show_bug.cgi?id=15671
-
- Renderer::caretRect() is now localCaretRect(), which needs
- converting to absolute coordinates (taking transforms into account).
-
- * webkit/webkitwebview.cpp:
-
-2008-12-01 Xan Lopez <xan@gnome.org>
-
- Reviewed by Holger Freyther.
-
- http://bugs.webkit.org/show_bug.cgi?id=22553
- Remove unneeded GObject casts.
-
- Remove unneeded casts to GObject in functions that take a gpointer
- argument.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::setWindowRect):
- (WebKit::ChromeClient::createWindow):
- (WebKit::ChromeClient::setToolbarsVisible):
- (WebKit::ChromeClient::toolbarsVisible):
- (WebKit::ChromeClient::setStatusbarVisible):
- (WebKit::ChromeClient::statusbarVisible):
- (WebKit::ChromeClient::setScrollbarsVisible):
- (WebKit::ChromeClient::scrollbarsVisible):
- (WebKit::ChromeClient::setMenubarVisible):
- (WebKit::ChromeClient::menubarVisible):
- (WebKit::ChromeClient::setToolTip):
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::createPage):
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebwindowfeatures.cpp:
- (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_new_from_core_features):
-
-2008-11-29 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Holger Freyther.
-
- http://bugs.webkit.org/show_bug.cgi?id=17122
- [GTK] Bad font default settings
-
- Implement a property "enforce-96-dpi" in WebKitWebSettings
- that can be enabled to force the view to assume 96 DPI.
-
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::):
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
- (_WebKitWebSettingsPrivate::webkit_web_settings_set_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_get_property):
- * webkit/webkitwebview.cpp:
-
-2008-11-28 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Simplify the code. There is no reason to have code like
- if (true) return false; which is using temporary variables.
-
- * webkit/webkitwebview.cpp:
-
-2008-11-28 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Remove bogus null checks. The WebKitWebView own's a WebCore::Page
- which is owning a WebCore::ChromeClient. There is no way that a
- WebCore::ChromeClient is still around when the WebKitWebView is gone.
-
- m_webView can only be null when a ChromeClient gets constructed with
- a null WebKitWebView which is not allowed.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::ChromeClient):
- (WebKit::ChromeClient::windowRect):
- (WebKit::ChromeClient::setWindowRect):
- (WebKit::ChromeClient::pageRect):
- (WebKit::ChromeClient::focus):
- (WebKit::ChromeClient::unfocus):
- (WebKit::ChromeClient::show):
- (WebKit::ChromeClient::setToolbarsVisible):
- (WebKit::ChromeClient::toolbarsVisible):
- (WebKit::ChromeClient::setStatusbarVisible):
- (WebKit::ChromeClient::statusbarVisible):
- (WebKit::ChromeClient::setScrollbarsVisible):
- (WebKit::ChromeClient::setMenubarVisible):
- (WebKit::ChromeClient::menubarVisible):
- (WebKit::ChromeClient::canTakeFocus):
- (WebKit::ChromeClient::repaint):
- (WebKit::ChromeClient::scroll):
- (WebKit::ChromeClient::platformWindow):
-
-2008-11-28 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed and slightly modified by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=19130
-
- ChromeClient::createWindow and friends need to be implemented
-
- Code from Gustavo Noronha and Marco Barisione
- <marco.barisione@collabora.co.uk> in this change set.
-
- Implemented all the ChromeClient interfaces needed to have new
- window creation functioning and exposed to client code. We
- implemented a mirror GObject to the WindowFeatures object provided
- by WebCore.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::windowRect):
- (WebKit::ChromeClient::setWindowRect):
- (WebKit::ChromeClient::unfocus):
- (WebKit::ChromeClient::createWindow):
- (WebKit::ChromeClient::show):
- (WebKit::ChromeClient::setToolbarsVisible):
- (WebKit::ChromeClient::toolbarsVisible):
- (WebKit::ChromeClient::setStatusbarVisible):
- (WebKit::ChromeClient::statusbarVisible):
- (WebKit::ChromeClient::setScrollbarsVisible):
- (WebKit::ChromeClient::scrollbarsVisible):
- (WebKit::ChromeClient::setMenubarVisible):
- (WebKit::ChromeClient::menubarVisible):
- (WebKit::ChromeClient::setResizable):
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::FrameLoaderClient::dispatchShow):
- (WebKit::FrameLoaderClient::dispatchCreatePage):
- * webkit/webkit.h:
- * webkit/webkitdefines.h:
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
- * webkit/webkitwebwindowfeatures.cpp: Added.
- (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_class_init):
- (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_init):
- (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_finalize):
- (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_set_property):
- (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_get_property):
- (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_new):
- (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_new_from_core_features):
- (_WebKitWebWindowFeaturesPrivate::webkit_web_window_features_equal):
- * webkit/webkitwebwindowfeatures.h: Added.
-
-2008-11-24 Darin Fisher <darin@chromium.org>
-
- Fix bustage.
-
- http://bugs.webkit.org/show_bug.cgi?id=15643
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::isSelectTrailingWhitespaceEnabled):
- * WebCoreSupport/EditorClientGtk.h:
-
-2008-11-24 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - https://bugs.webkit.org/show_bug.cgi?id=22470
- remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::updateGlobalHistory): Remove argument.
- * WebCoreSupport/FrameLoaderClientGtk.h: Ditto.
-
-2008-11-24 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Holger Freyther.
-
- http://bugs.webkit.org/show_bug.cgi?id=17122
- [GTK] Bad font default settings
-
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
- Use default font size 12 instead of 10
-
-2008-11-24 Zan Dobersek <zandobersek@gmail.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=22039
-
- Implement a semi-private function for adding a directory to
- PluginDatabase's paths.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::webkit_web_settings_add_extra_plugin_directory):
-
-2008-11-23 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Rubber-stamped by Sam Weinig.
-
- Add gtk-doc configuration/source for the WebKit/Gtk+ Reference Manual
-
- These files will be used by gtk-doc to generate the documentation. They
- contain information how to group the symbols of our API, which objects
- to inspect during the generation of the manual and how to display the
- manual.
-
- * docs/webkitgtk-docs.sgml: Added.
- * docs/webkitgtk-overrides.txt: Added.
- * docs/webkitgtk-sections.txt: Added.
- * docs/webkitgtk.types: Added.
-
-2008-11-23 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Sam Weinig.
-
- Make gtk-doc happy with the existing API documentation
-
- - Mark the *Private pointers in the struct private
- - Use Returns: where gtk-doc wants us to
- - Fix the parameters to make gtk-doc happy
- - Fix signal references
-
- * webkit/webkitnetworkrequest.h:
- * webkit/webkitwebbackforwardlist.cpp:
- * webkit/webkitwebbackforwardlist.h:
- * webkit/webkitwebframe.h:
- * webkit/webkitwebhistoryitem.cpp:
- * webkit/webkitwebinspector.cpp:
- (_WebKitWebInspectorPrivate::webkit_web_inspector_class_init):
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2008-11-19 Darin Fisher <darin@chromium.org>
-
- Bustage fix.
-
- https://bugs.webkit.org/show_bug.cgi?id=22373
- Ports busted by addition of ScriptValue.{h,cpp}
-
- * webkit/webkitwebview.cpp:
-
-2008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports
-
- After Hyatt's work on Widget and ScrollView there is little difference
- between the implementation of Qt, Gtk+ and Win. In fact any kind of
- difference is mostly a bug. Alp has fixed two of such errors for the Gtk+
- port and the Qt port has at least one of them left.
-
- The only difference between the implementations is in getting the the
- IntSize for the new FrameView, the background color to be applied and
- eventually some post processing.
-
- Unify the implementations by providing a static helper function that
- takes a Frame, IntSize, color and transparency bit and calling it from
- the Gtk+, the Qt and the Windows port.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
-
-2008-11-16 Christian Dywan <christian@twoasts.de>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=22207
- [Gtk] Font sizes are not handled properly when updated at runtime
-
- * webkit/webkitwebview.cpp: Move the DPI/ conversion into a
- helper function and apply the logic in the notification callback.
-
-2008-11-06 Alp Toker <alp@nuanti.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=22047
- GTK: Add support for multiple file selection in the file upload control
-
- Implemented with GtkFileChooser.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::runOpenPanel):
-
-2008-11-03 Cameron Zwarich <zwarich@apple.com>
-
- Rubber-stamped by Maciej Stachowiak.
-
- Move more files into the runtime subdirectory of JavaScriptCore.
-
- * webkit/webkitprivate.cpp:
-
-2008-11-03 Alp Toker <alp@nuanti.com>
-
- Reviewed by Holger Freyther.
-
- Deprecate flawed webkit_web_frame_new() function. This would never
- have worked properly when used outside WebCore since Frame::create()
- can only be called without an owner element once in the lifetime of a
- Page and would result in assertions, leaks and an unusable WebView
- instance.
-
- Frame creation may be exposed in API some time later via the DOM
- binding but probably not in the WebKit GTK+ core API.
-
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebframe.h:
-
-2008-11-03 Alp Toker <alp@nuanti.com>
-
- Reviewed by Holger Freyther.
-
- Redundant scrollbars appear in frames where they shouldn't be visible
- eg. embedded Google adverts.
-
- Call setCanHaveScrollbars() when necessary. The Mac and Win ports
- already have this but it was missing in FrameLoaderClientGtk.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
-
-2008-11-03 Alp Toker <alp@nuanti.com>
-
- Rubber-stamped by Holger Freyther.
-
- Sync WebKit GTK+ default UA version string to 528.5+. (We're still
- doing this manually!)
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::composeUserAgent):
-
-2008-10-31 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Mark Rowe.
-
- http://bugs.webkit.org/show_bug.cgi?id=22018
- enable-developer-extras doesn't toggle WebInspector
-
- * webkit/webkitwebview.cpp:
- Add missing 'if' in notification for 'enable-developer-extras'.
-
-2008-10-30 Alp Toker <alp@nuanti.com>
-
- Reviewed by Dave Hyatt.
-
- Fix GIF animations. WebCore will not update animated GIFs if
- the WebView is marked offscreen so we need to call
- frameView->setParentVisible() when necessary like the Mac and Win
- ports do. Regression was introduced around r37155 during the
- HostWindow refactor.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
-
-2008-10-30 Alp Toker <alp@nuanti.com>
-
- Rubber-stamped by Holger Freyther.
-
- Fix typo in recently added web inspector signal. dettach -> detach.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::detachWindow):
- * webkit/webkitwebinspector.cpp:
- (_WebKitWebInspectorPrivate::webkit_web_inspector_class_init):
-
-2008-10-30 Alp Toker <alp@nuanti.com>
-
- Fix version comments for the web inspector added in r37982. Available
- since 1.0.3, not 1.0.2.
-
- * webkit/webkitwebinspector.cpp:
- (_WebKitWebInspectorPrivate::webkit_web_inspector_class_init):
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
- * webkit/webkitwebview.cpp:
-
-2008-10-29 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed and slightly changed by Holger Freyther.
-
- Implemented a new WebKitWebInspector class to provide a GObject
- API for the Web Inspector. Also implemented InspectorClient.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::notifyWebViewDestroyed):
- (WebKit::InspectorClient::InspectorClient):
- (WebKit::InspectorClient::inspectorDestroyed):
- (WebKit::InspectorClient::webViewDestroyed):
- (WebKit::InspectorClient::createPage):
- (WebKit::InspectorClient::showWindow):
- (WebKit::InspectorClient::closeWindow):
- (WebKit::InspectorClient::attachWindow):
- (WebKit::InspectorClient::detachWindow):
- (WebKit::InspectorClient::inspectedURLChanged):
- * WebCoreSupport/InspectorClientGtk.h:
- * webkit/webkit.h:
- * webkit/webkit-marshal.list:
- * webkit/webkitdefines.h:
- * webkit/webkitprivate.h:
- * webkit/webkitwebinspector.cpp: Added.
- (_WebKitWebInspectorPrivate::webkit_inspect_web_view_request_handled):
- (_WebKitWebInspectorPrivate::webkit_web_inspector_class_init):
- (_WebKitWebInspectorPrivate::webkit_web_inspector_init):
- (_WebKitWebInspectorPrivate::webkit_web_inspector_finalize):
- (_WebKitWebInspectorPrivate::webkit_web_inspector_set_property):
- (_WebKitWebInspectorPrivate::webkit_web_inspector_get_property):
- (_WebKitWebInspectorPrivate::webkit_web_inspector_set_web_view):
- * webkit/webkitwebinspector.h: Added.
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::):
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
- (_WebKitWebSettingsPrivate::webkit_web_settings_set_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_get_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_copy):
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2008-10-27 Michael Tross <michael@tross.org>
-
- Reviewed by Alp Toker. Landed by Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=21827
- [GTK] Fix memory leak in webkit_web_view_load_string
-
- * webkit/webkitwebview.cpp:
-
-2008-10-24 Sam Weinig <sam@webkit.org>
-
- Fix the Gtk build.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
-
-2008-10-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Fix https://bugs.webkit.org/show_bug.cgi?id=21759
- Layering violation: FileChooser should not depend on Document/Frame/Page
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::runOpenPanel):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2008-10-24 Timothy Hatcher <timothy@apple.com>
-
- Stub out new InspectorClient methods.
-
- https://bugs.webkit.org/show_bug.cgi?id=21856
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::populateSetting): Not implemented.
- (WebKit::InspectorClient::storeSetting): Ditto.
- (WebKit::InspectorClient::removeSetting): Ditto.
- * WebCoreSupport/InspectorClientGtk.h:
-
-2008-10-22 Alp Toker <alp@nuanti.com>
-
- Build fix for older GTK+ versions where GTK_TYPE_TARGET_LIST isn't
- defined.
-
- * webkit/webkitwebview.cpp:
-
-2008-10-22 Alp Toker <alp@nuanti.com>
-
- Reviewed by Adam Roben.
-
- Avoid critical warnings on older GTK+ versions (2.8) by not checking
- for GTK+ setting properties when we know they don't exist.
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- (WebKit::inputMethodsMenuItem):
- (WebKit::unicodeMenuItem):
-
-2008-10-20 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2008-10-20 Alp Toker <alp@nuanti.com>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=21303
- [GTK] Scrolling glitches
-
- Implement a buffering scheme to avoid full repaints when scrolling
- views or subframes significantly improving scrolling performance.
-
- Improve rendering performance by coalescing large numbers of small
- repaints.
-
- Also fixes long-running issues with scrollbar positioning and frame
- invalidation.
-
- Rendering in the GTK+ port should be more similar to other ports after
- these changes.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::repaint):
- (WebKit::ChromeClient::scroll):
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::forceLayout):
- * webkit/webkitwebview.cpp:
-
-2008-10-17 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
-
- Reviewed by Mark Rowe. Landed by Jan Alonzo.
-
- https://bugs.webkit.org/show_bug.cgi?id=20403
- [Gtk] Segfault after a table with an iframe is attempted to be added twice to DOM model with javascript
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::frameLoaderDestroyed):
- (WebKit::FrameLoaderClient::detachedFromParent4):
-
-2008-10-06 David Hyatt <hyatt@apple.com>
-
- Enable viewless Mac WebKit to paint some basic pages.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2008-10-03 David Hyatt <hyatt@apple.com>
-
- Fix Gtk bustage from use of containingWindow() over on the WebKit side. Replace with HostWindow use.
-
- * webkit/webkitwebview.cpp:
-
-2008-10-03 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21340
-
- Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
-
- Reviewed by Dan Bernstein & Darin Adler
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
-
-2008-10-03 Alp Toker <alp@nuanti.com>
-
- Remove some left-over GTK+ includes. No change in functionality.
-
- * webkit/webkitwebhistoryitem.h:
-
-2008-10-03 Alp Toker <alp@nuanti.com>
-
- Build fix following r37234. Remove addToDirtyRegion from the header
- too.
-
- * WebCoreSupport/ChromeClientGtk.h:
-
-2008-10-03 David Hyatt <hyatt@apple.com>
-
- Remove addToDirtyRegion.
-
- Reviewed by Oliver Hunt
-
- * WebCoreSupport/ChromeClientGtk.cpp:
-
-2008-10-02 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21314
-
- Make scrollBackingStore cross-platform.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::repaint):
- (WebKit::ChromeClient::scroll):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2008-10-01 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21282
-
- Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
-
- Reviewed by Adam Roben
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::windowToScreen):
- (WebKit::ChromeClient::screenToWindow):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2008-09-30 Dave Hyatt <hyatt@apple.com>
-
- http://bugs.webkit.org/show_bug.cgi?id=21250
-
- Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
- repaints up through the ChromeClient.
-
- Reviewed by Darin Adler
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::repaint):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2008-09-16 Alp Toker <alp@nuanti.com>
-
- Suggested by Dave Hyatt.
-
- Build fix and cleanup. Rename ScrollBar to Scrollbar.
-
- * webkit/webkitwebview.cpp:
-
-2008-09-13 Adrien Nader <camaradetux@gmail.com>
-
- Gtk build fix, not reviewed.
-
- * webkit/webkitwebview.cpp:
-
-2008-09-10 Alp Toker <alp@nuanti.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=17267
- [GTK] Primary selection/clipboard support
-
- Implement primary selection support (copying only, no paste yet).
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::clipboard_get_contents_cb):
- (WebKit::clipboard_clear_contents_cb):
- (WebKit::EditorClient::respondToChangedSelection):
-
-2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
-
- Reviewed by Maciej Stachowiak.
-
- Bug 20704: Replace the KJS namespace
- <https://bugs.webkit.org/show_bug.cgi?id=20704>
-
- Rename the KJS namespace to JSC.
-
- * webkit/webkitprivate.cpp:
- (webkit_init):
-
-2008-09-05 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Alp Toker.
-
- https://bugs.webkit.org/show_bug.cgi?id=18346
- [GTK] Remove build warnings
-
- Removed/commented code that is not (yet) used, and reordered
- member variables initialization for FrameLoaderClient, so that the
- compiler is happy and prints less warnings when building.
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::FrameLoaderClient):
-
-2008-09-03 Alp Toker <alp@nuanti.com>
-
- Build fix following r36073. Include config.h where necessary.
-
- * WebCoreSupport/PasteboardHelperGtk.cpp:
- * webkit/webkitversion.cpp:
-
-2008-09-01 Alp Toker <alp@nuanti.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=19939
- [GTK] webkit_web_history_item_get_title() fails with assertion
-
- Make sure newly constructed WebHistoryItem objects wrap a WebCore
- history item when necessary. Avoid G_PARAM_CONSTRUCT since it destroys
- history data -- use WEBKIT_PARAM flags instead as they do the right
- thing. This restores history functionality.
-
- Also use CString to simplify UTF-8 string management.
-
- * webkit/webkitwebbackforwardlist.cpp:
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit):
- No need to initialize the vector with a size since it's cleared by the
- callee.
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_finalize):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_class_init):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_uri):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri):
-
-2008-08-27 Adrien Nader <camaradetux@gmail.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=20099
- [GTK] SHIFT+PAGE_UP/DOWN doesn't extend selection
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleKeyboardEvent):
-
-2008-08-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- <rdar://problem/6134133> - Crash when loading large movie as a standalone document
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::pluginWillHandleLoadError): Stubbed for now
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2008-08-18 Alp Toker <alp@nuanti.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=20350
- [GTK] Get DumpRenderTree working
-
- Add a private function to WebFrame to dump the render tree as required
- for the DumpRenderTree testing tool.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
-
-2008-08-12 Timothy Hatcher <timothy@apple.com>
-
- Add a stub for InspectorClient::setAttachedWindowHeight.
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::setAttachedWindowHeight):
- Call notImplemented().
- * WebCoreSupport/InspectorClientGtk.h:
-
-2008-08-10 Alp Toker <alp@nuanti.com>
-
- Remove leftover qmake/GTK+ build files.
-
- * webkit/headers.pri: Removed.
-
-2008-08-02 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Eric Seidel.
-
- Remove webkit-marshal.list, which was made obsolete in #19742
-
- * webkit/webkit-marshal.list: Removed.
-
-2008-08-01 Wouter Bolsterlee <uws@xs4all.nl>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=20035
- [GTK] Fix return value for webkit_web_view_go_to_back_forward_item()
-
- * webkit/webkitwebview.cpp:
-
-2008-07-30 Marco Barisione <marco.barisione@collabora.co.uk>
-
- Reviewed by Holger.
-
- http://bugs.webkit.org/show_bug.cgi?id=19742
- [GTK] Auto generate webkitmarshal.list
-
- Auto generate webkitmarshal.list from source files to reduce the
- number of conflicts when merging git branches or when applying
- patches.
- Also rename webkit-marshal.* to webkitmarshal.* for consistency.
-
- * webkit/webkitwebframe.cpp: Include webkitmarshal.h instead of
- webkit-marshal.h.
- * webkit/webkitwebview.cpp: Ditto.
-
-2008-07-30 Gustavo Noronha Silva <gns@gnome.org>
-
- Reviewed by Sam.
-
- https://bugs.webkit.org/show_bug.cgi?id=20205
- Typo in comment for bracer ending block
-
- * webkit/webkitprivate.cpp: Typo fix in comment for the brace
- that ends the WebKit namespace; WebCore -> WebKit
-
-2008-07-26 Mark Rowe <mrowe@apple.com>
-
- Build fix. Changes to accommodate newly named/signatured loading methods in WebCore.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createFrame):
-
-2008-07-17 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=19813
- [GTK] WebKit crashes on invalid settings notify callback
-
- * webkit/webkitwebview.cpp: Disconnect in webkit_web_view_finalize
-
-2008-07-08 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Reviewed by Christian Dywan.
-
- Replace 'const' with G_CONST_RETURN macro to make it flexible to
- disable constness
-
- * webkit/webkitnetworkrequest.cpp:
- * webkit/webkitnetworkrequest.h:
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebframe.h:
- * webkit/webkitwebhistoryitem.cpp:
- * webkit/webkitwebhistoryitem.h:
-
-2008-06-18 Marco Barisione <marco.barisione@collabora.co.uk>
-
- Reviewed by Alp Toker.
-
- https://bugs.webkit.org/show_bug.cgi?id=19171
- [GTK] GTypes for enumerations
-
- Generate GTypes for public enumerations so they can be used as
- properties.
-
- * GNUmakefile.am: Generate webkit-enum-types.cpp and
- webkit-enum-types.h.
-
-2008-06-17 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp.
-
- [GTK] WebKitWebHistoryItem needs properties
- https://bugs.webkit.org/show_bug.cgi?id=19558
-
- Implement properties matching the existing accessors.
-
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_class_init):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_property):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_property):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title):
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- - give Frame object functions shorter names: scriptProxy() -> script(),
- selectionController() -> selection(), animationController() -> animation()
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleKeyboardEvent):
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::windowObjectCleared):
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebview.cpp:
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- - undo bogus renaming done by the script
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- * webkit/webkitnetworkrequest.h:
- * webkit/webkitwebbackforwardlist.h:
- * webkit/webkitwebframe.h:
- * webkit/webkitwebhistoryitem.h:
- * webkit/webkitwebsettings.h:
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- - new names for a few key JavaScriptCore files
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- * webkit/webkitnetworkrequest.h:
- * webkit/webkitwebbackforwardlist.h:
- * webkit/webkitwebframe.h:
- * webkit/webkitwebhistoryitem.h:
- * webkit/webkitwebsettings.h:
-
-2008-06-15 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp Toker.
-
- [GTK] Property setters do not call g_object_notify()
- https://bugs.webkit.org/show_bug.cgi?id=18405
-
- * webkit/webkitwebview.cpp:
-
-2008-06-15 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp Toker.
-
- Tiny documentation fix, s/capacity/limit
-
- * webkit/webkitwebbackforwardlist.cpp:
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- Rubber stamped by Sam.
-
- - new names for kjs_binding.h and kjs_proxy.h
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- * webkit/webkitwebframe.cpp:
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- - fix build
-
- * webkit/webkitwebframe.cpp: Remove a bogus release() call.
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - more https://bugs.webkit.org/show_bug.cgi?id=17257
- start ref counts at 1 instead of 0 for speed
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createDocumentLoader): Use create instead of new.
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_new): Ditto.
- (webkit_web_frame_init_with_web_view): Ditto.
-
-2008-06-13 Darin Adler <darin@apple.com>
-
- - try to fix build
-
- * WebCoreSupport/FrameLoaderClientGtk.h: Add missing argument.
-
-2008-06-13 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - updated for addition of FormState argument to action policy functions
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
-
-2008-06-10 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp Toker and Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=16676
- Apply GTK coding style to WebKit Gtk public headers
-
- * webkit/webkitnetworkrequest.h:
- * webkit/webkitwebbackforwardlist.h:
- * webkit/webkitwebframe.h:
- * webkit/webkitwebhistoryitem.h:
- * webkit/webkitwebsettings.h:
- * webkit/webkitwebview.h:
-
-2008-06-07 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Confirmed by Christian Dywan.
-
- Gtk build fix for r34432
-
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::webkit_history_item_add):
- (_WebKitWebHistoryItemPrivate::webkit_history_item_remove):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_dispose):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data):
- (WebKit::core):
-
-2008-06-07 Darin Adler <darin@apple.com>
-
- - try to fix build after HistoryItem changes
-
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new): Use HistoryItem::create.
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data): Ditto. I also
- believe this fixes a memory leak in the old version.
-
-2008-06-07 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp Toker.
-
- https://bugs.webkit.org/show_bug.cgi?id=17324
- Remove PLATFORM ifdefs from ContextMenu.cpp
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- (WebKit::ContextMenuClient::ContextMenuClient):
- (WebKit::ContextMenuClient::contextMenuDestroyed):
- (WebKit::inputMethodsMenuItem):
- (WebKit::):
- (WebKit::insertControlCharacter):
- (WebKit::unicodeMenuItem):
- (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems):
- * WebCoreSupport/ContextMenuClientGtk.h:
- * webkit/webkitwebview.cpp:
-
-2008-06-05 Alp Toker <alp@nuanti.com>
-
- Add 'Since' documentation for API versioning functions.
-
- * webkit/webkitversion.cpp:
-
-2008-06-05 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp Toker.
-
- https://bugs.webkit.org/show_bug.cgi?id=14141
- Please add a version to the Gtk port
-
- * webkit/webkit.h:
- * webkit/webkitversion.cpp: Added.
- * webkit/webkitversion.h.in: Added.
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
- * webkit/webkitwebview.cpp:
-
-2008-06-01 Alp Toker <alp@nuanti.com>
-
- Suggested by Christian Dywan.
-
- Use float literals for zoom values and improve documentation wording.
-
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
- * webkit/webkitwebview.cpp:
-
-2008-06-01 Alp Toker <alp@nuanti.com>
-
- Reviewed by Oliver.
-
- Remove webkit_web_view_go_backward(),
- webkit_web_view_can_go_backward(). These have been obsoleted by
- the back() versions for quite a while.
-
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2008-05-31 Alp Toker <alp@nuanti.com>
-
- Fix inconsistent zoom docs and enum name landed in r34249. Issue
- noticed by Marco Barisione.
-
- * webkit/webkitwebview.cpp:
-
-2008-05-30 Carlos Martín Nieto <carlos@cmartin.tk>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=18383
- [GTK] The "hovering-over-link" signal arguments aren't documented.
-
- * webkit/webkitwebview.cpp:
-
-2008-05-29 Marco Barisione <marco@collabora.co.uk>
-
- Reviewed (and tweaked) by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=18281
- [GTK] add functions to set/get the zoom level
-
- * webkit/webkitwebsettings.cpp:
- (_WebKitWebSettingsPrivate::):
- (_WebKitWebSettingsPrivate::webkit_web_settings_class_init):
- (_WebKitWebSettingsPrivate::webkit_web_settings_set_property):
- (_WebKitWebSettingsPrivate::webkit_web_settings_get_property):
- * webkit/webkitwebview.cpp: Add functions to get and set the zoom
- level.
- * webkit/webkitwebview.h: Ditto.
- * webkit/webkitprivate.h:
-
-2008-05-28 Alp Toker <alp@nuanti.com>
-
- Reviewed by Alexey Proskuryakov.
-
- http://bugs.webkit.org/show_bug.cgi?id=18704
- [gtk] cannot type letters with dead keys in textarea
-
- http://bugs.webkit.org/show_bug.cgi?id=14120
- [GDK] Support input methods
-
- Add support for input method composition.
-
- Remove some old hacks so we handle input method events more
- consistently.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::imContextCommitted):
- (WebKit::imContextPreeditChanged):
- (WebKit::EditorClient::setInputMethodState):
- (WebKit::EditorClient::respondToChangedSelection):
- (WebKit::EditorClient::handleInputMethodKeydown):
- (WebKit::EditorClient::EditorClient):
- (WebKit::EditorClient::~EditorClient):
- (WebKit::EditorClient::textFieldDidBeginEditing):
- (WebKit::EditorClient::textFieldDidEndEditing):
- (WebKit::EditorClient::textDidChangeInTextField):
- (WebKit::EditorClient::doTextFieldCommandFromEvent):
- * webkit/webkitwebview.cpp:
-
-2008-05-25 Alp Toker <alp@nuanti.com>
-
- Reviewed by Niko.
-
- Drop WebView focus when the widget is focused out.
-
- * webkit/webkitwebview.cpp:
-
-2008-05-25 Sriram Neelakandan <sriram.neelakandan@gmail.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=18935
- [Gtk] Plugin Load crashes with NP_FULL mode
-
- Fix crash due to uninitialized variable.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::FrameLoaderClient):
-
-2008-05-24 Alp Toker <alp@nuanti.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=18825
- webkitgtk fails to build from source: "Database Tracker" has not been declared
-
- GTK+ fix for building without database support.
- exceededDatabaseQuota() still needs to be present, just a no-op.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::exceededDatabaseQuota):
-
-2008-05-23 Alp Toker <alp@nuanti.com>
-
- GTK+ fixes for building without database support.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
-
-2008-05-19 Alp Toker <alp@nuanti.com>
-
- Reviewed by Anders and Beth.
-
- http://bugs.webkit.org/show_bug.cgi?id=16495
- [GTK] Accessibility support with ATK/AT-SPI
-
- Initial ATK/AT-SPI accessibility support for the GTK+ port.
-
- * webkit/webkitwebview.cpp:
-
-2008-05-06 Christian Dywan <christian@twotoasts.de>
-
- Rubber stamped by Alp.
-
- Back out 17626. It wasn't ready for commit.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2008-05-01 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>
-
- Reviewed by Alp Toker.
-
- https://bugs.webkit.org/show_bug.cgi?id=14750
- Added support for NPAPI plugins on Gtk and Qt-x11 ports.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::FrameLoaderClient):
- (WebKit::FrameLoaderClient::committedLoad):
- (WebKit::FrameLoaderClient::createPlugin):
- (WebKit::FrameLoaderClient::redirectDataToPlugin):
- (WebKit::FrameLoaderClient::finishedLoading):
- (WebKit::FrameLoaderClient::setMainDocumentError):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2008-04-30 Sean Egan <seanegan@gmail.com>
-
- Reviewed and modified by Holger.
-
- https://bugs.webkit.org/show_bug.cgi?id=17626
- Support setting background color and a 16-bit alpha channel.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2008-04-24 Dan Bernstein <mitz@apple.com>
-
- - build fix
-
- * webkit/webkitwebview.cpp:
-
-2008-04-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam.
-
- Change some String arguments to be const references instead.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::shouldInsertText):
- * WebCoreSupport/EditorClientGtk.h:
-
-2008-04-23 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp Toker.
-
- Emit a warning about an unknown setting only if it is
- not a valid property. Otherwise applications can't
- subclass WebKitWebSettings to add new properties.
-
- * webkit/webkitwebview.cpp:
-
-2008-04-20 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=18578
- Share the printing code between the Gtk and the Qt port
-
- Share the printing code between the Gtk and the Qt port
- and added printing to the Qt WebKit API.
-
- * webkit/webkitwebframe.cpp: Removed PrintContext in favour of
- page/Printcontext.cpp/h
-
-2008-04-19 Alp Toker <alp@nuanti.com>
-
- Reviewed by Maciej.
-
- Enable visited link tracking by default at startup.
-
- With this patch, the GTK+ port rendering of Acid3 now matches the
- reference page.
-
- * webkit/webkitprivate.cpp:
- (WebKit::core):
- (webkit_init):
-
-2008-04-11 Mark Rowe <mrowe@apple.com>
-
- Gtk build fix after r32231.
-
- * webkit/webkitwebview.cpp: Update to use contentRenderer.
-
-2008-04-18 Alp Toker <alp@atoker.com>
-
- Rubber-stamped by Holger Freyther.
-
- http://bugs.webkit.org/show_bug.cgi?id=18218
- [Gtk] segfault when clicking on a disabled button
-
- Always use the main frame for mouse events (not the focused frame)
- since it knows best how to get the event through to the right target.
-
- This also fixes a null crasher.
-
- * webkit/webkitwebview.cpp:
-
-2008-04-17 Alp Toker <alp@atoker.com>
-
- Rubber-stamped by Holger Freyther.
-
- Reduce hard-coded page-cache count to 3 based on research done for the
- Mac port on value / page.
-
- We will need to make this more dynamic or configurable at some point
- but for now it's best to keep closer to the behaviour before page
- caching was enabled.
-
- Issue spotted by Mark Rowe.
-
- * webkit/webkitprivate.cpp:
- (webkit_init):
-
-2008-04-17 Daniele Metilli <daniele.metilli@gmail.com>
-
- Reviewed by Eric.
-
- Fixed a typo in the copyright header.
-
- * webkit/webkitprivate.h:
-
-2008-04-14 Holger Freyther <zecke@selfish.org>
-
- Reviewed by Alp Toker.
-
- https://bugs.webkit.org/show_bug.cgi?id=18411
- Enable Page caching and create FrameViews on the fly
-
- Create the FrameView on the fly and cache pages
-
- - Keep a copy of the GtkAdjustment to be able to reuse it for the
- FrameViews
- - Do not initially create a FrameView and update the WebKit code to
- cope with not having a view.
- - Cache seven pages by default.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createFrame):
- (WebKit::FrameLoaderClient::canCachePage):
- (WebKit::FrameLoaderClient::savePlatformDataToCachedPage):
- (WebKit::FrameLoaderClient::transitionToCommittedFromCachedPage):
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
- * webkit/webkitprivate.cpp:
- (webkit_init):
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebview.cpp:
-
-2008-04-10 Mario Bensi <mbensi@pleyo.com>
-
- Reviewed by Alp Toker.
-
- https://bugs.webkit.org/show_bug.cgi?id=18400
- Database example doesn't work on Gtk port
-
- Fix quota in ChromeClient
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::exceededDatabaseQuota):
-
-2008-04-08 Adam Roben <aroben@apple.com>
-
- Move callOnMainThread to WTF
-
- Reviewed by Alexey Proskuryakov.
-
- * webkit/webkitprivate.cpp: Updated #include.
- (webkit_init): Changed to call KJS::initializeThreading.
-
-2008-04-06 Luca Bruno <lethalman88@gmail.com>
-
- Reviewed by Alp Toker.
-
- Fix webkit_web_view_get_transparent() return value.
-
- * webkit/webkitwebview.cpp:
-
-2008-03-31 Jasper Bryant-Greene <jasper@unix.geek.nz>
-
- Reviewed by Darin Adler.
-
- Resolves http://bugs.webkit.org/show_bug.cgi?id=18010
- "WebKitNetworkRequestPrivate is defined in two places unnecessarily"
-
- Removed unnecessary definition of WebKitNetworkRequestPrivate in
- webkitprivate.h
-
- * webkit/webkitprivate.h:
-
-2008-03-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- Remove newly obsolete FrameLoaderClient methods
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2008-03-20 Alp Toker <alp@atoker.com>
-
- GTK+ build fix. Back out r31183. This patch also introduced API style
- issues.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- * webkit/headers.pri:
- * webkit/webkit-marshal.list:
- * webkit/webkitdefines.h:
- * webkit/webkitnavigationaction.cpp: Removed.
- * webkit/webkitnavigationaction.h: Removed.
- * webkit/webkitprivate.cpp:
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2008-03-20 Jasper Bryant-Greene <jasper@unix.geek.nz>
-
- Reviewed and tweaked by Anders.
-
- Resolves http://bugs.webkit.org/show_bug.cgi?id=16092
- "[GTK] Middle-mouse click should allow opening a URL in a new tab"
-
- Created WebKitNavigationAction object exported through the API. The
- navigation-requested signal provides this object as context for the
- requested navigation, allowing the application to decide what to do
- with the navigation based on which mouse button was used, which
- modifier keys were held down, etc. This allows, for example, the
- application to open links in a new tab when either middle-click or
- control-click are used to initiate the navigation.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- * webkit/headers.pri:
- * webkit/webkit-marshal.list:
- * webkit/webkitdefines.h:
- * webkit/webkitnavigationaction.cpp: Added.
- (webkit_navigation_action_finalize):
- (webkit_navigation_action_class_init):
- (webkit_navigation_action_init):
- (webkit_navigation_action_get_button):
- (webkit_navigation_action_get_modifier_flags):
- (webkit_navigation_action_get_navigation_type):
- (webkit_navigation_action_get_original_url):
- * webkit/webkitnavigationaction.h: Added.
- * webkit/webkitprivate.cpp:
- (WebKit::kit):
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
-
- Reviewed and landed by jhoneycutt.
-
- Update to check if the MIME type is supported by a plugin.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (FrameLoaderClient::objectContentType):
-
-2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
-
- Reviewed by Jon Honeycutt.
-
- Update setContainingWindow() calls to pass a GtkWidget.
-
- * webkit/webkitwebframe.cpp:
- (webkit_web_frame_new):
- (webkit_web_frame_init_with_web_view):
-
-2008-03-13 Rodney Dawes <dobey@wayofthemonkey.com>
-
- Fix GTK+ build for SharedBuffer changes.
-
- * webkit/webkitwebview.cpp:
- (webkit_web_view_load_string):
-
-2008-03-12 Tommi Komulainen <tommi.komulainen@iki.fi>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=17799
- WebView signals should use more specific types
-
- * webkit/webkitwebview.cpp: Use WEBKIT_TYPE_WEB_FRAME argument
- type in "script-alert", "script-confirm", "script-script-prompt"
- signals so that it gets more clearly documented rather than just
- plain GObject.
-
-2008-03-10 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alp Toker.
-
- Fix "missing braces" compiler warning.
-
- * webkit/webkitwebview.cpp:
-
-2008-03-04 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including
- JSDOMWindow.h
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- * webkit/webkitwebframe.cpp:
-
-2008-03-03 Sam Weinig <sam@webkit.org>
-
- GTK+ build fix.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::windowObjectCleared):
-
-2008-03-03 Alp Toker <alp@atoker.com>
-
- Fix the GTK+ build following breakage introduced in r30712.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::imContextCommitted):
-
-2008-03-02 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- Split the WebKit GTK+ build out of the WebCore build and change the
- shared object name to match the package name.
-
- * webkit.pc.in:
-
-2008-02-27 Adam Roben <aroben@apple.com>
-
- Attempt to fix the GTK+ build
-
- * webkit/webkitwebframe.cpp:
-
-2008-02-24 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - remove separate client calls for "standard" and "reload' history
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::updateGlobalHistory):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2008-02-23 Alexey Proskuryakov <ap@webkit.org>
-
- Build fix.
-
- * webkit/webkitprivate.cpp:
- (webkit_init): Renamed initializeThreading to initializeThreadingAndMainThread.
-
-2008-02-18 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- http://bugs.webkit.org/show_bug.cgi?id=17312
- [GTK] Webview Transparent Background
-
- Add support for WebView background transparency.
-
- * webkit/webkitprivate.h:
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2008-02-18 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- Implement webkit_web_view_get_focused_frame()
-
- Equivalent to selectedFrame in the Mac API.
-
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2008-02-17 Jan Michael Alonzo <jmalonzo@unpluggable.com>
-
- Reviewed by Mark Rowe.
-
- Fix a crash introduced in changeset #29985 by moving the dereference to after
- the null check.
-
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item):
-
-2008-02-15 Alp Toker <alp@atoker.com>
-
- Fix the GTK+ build following breakage introduced in r30243.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::mouseDidMoveOverElement):
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::objectContentType):
-
-2008-02-15 Darin Adler <darin@apple.com>
-
- - another try at fixing the build
-
- * webkit/webkitwebview.cpp: Added some explicit conversions to KURL.
-
-2008-02-14 Darin Adler <darin@apple.com>
-
- * webkit/webkitwebframe.cpp: Removed DeprecatedString use to try to keep it building.
- * webkit/webkitwebview.cpp: Ditto.
-
-2008-02-14 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Alp.
-
- * Make the handling of the coreFrame consistent. We construct the coreFrame
- at the beginning and it will live until the end. Change the g_return_(val_)if
- to ASSERTs as having a 0 coreFrame can never happen.
-
- * webkit/webkitwebframe.cpp:
- (PrintContext::webkit_web_frame_print):
-
-2008-02-14 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Alp.
-
- * Make sure that the WebCore::Frame is living as long as the WebKitWebFrame
- wrapped around it. All current calls to WebCore::Frame from within the
- WebKitWebFrame are safe, even in the case where the WebCore::Frame is already
- detached from the WebCore::Page.
- * For the mainFrame the WebKitWebView is holding the initial reference and
- will unref on destruction.
- * For sub-frames the FramerLoaderClientGtk.cpp will do the unrefing when the
- frame gets detached from the parent.
- * Make sure FrameLoader::detachFromParent gets called by calling FrameLoader::detachChildren
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::detachedFromParent4):
- * webkit/webkitprivate.cpp:
- (WebKit::core):
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebview.cpp:
-
-2008-02-14 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Alp.
-
- WebCore::Frame is RefCounted, do not manually delete it!
-
- * webkit/webkitwebframe.cpp:
-
-2008-02-14 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Alp.
-
- * Plug a leak
-
- * webkit/webkitwebframe.cpp:
-
-2008-02-14 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Alp.
-
- * Update the Copyright Information
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- * webkit/webkitprivate.h:
- * webkit/webkitwebframe.cpp:
-
-2008-02-13 Alp Toker <alp@atoker.com>
-
- Reviewed by Adam Roben.
-
- Fix very small, upside down, inside out text on GTK+/DirectFB.
-
- Based on an initial patch by Sriram Neelakandan <sriram.neelakandan@gmail.com>
-
- Test the result of gdk_screen_get_resolution() and use a default
- fallback in case of failure.
-
- Also remove an unhelpful runtime warning.
-
- * webkit/webkitwebview.cpp:
-
-2008-02-08 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=17009
- [Gtk] Webkit strips accents from some dead-key combinations
-
- KeyEvents have to go through the gtk input method.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::imContextCommitted):
- (WebKit::EditorClient::doTextFieldCommandFromEvent):
-
-2008-02-05 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Alp Toker.
-
- Fix warnings seen on the Gtk port by declaring variables and using constants of the correct types.
-
- * webkit/webkitwebbackforwardlist.cpp:
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_contains_item):
- * webkit/webkitwebhistoryitem.cpp:
- * webkit/webkitwebview.cpp:
-
-2008-02-04 Christian Dywan <christian@imendio.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=17065
- [GTK] Use a consistent coding style
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::imContextCommitted):
- (WebKit::EditorClient::EditorClient):
- (WebKit::EditorClient::~EditorClient):
- (WebKit::EditorClient::textFieldDidEndEditing):
- * webkit/webkitdefines.h:
- * webkit/webkitnetworkrequest.cpp:
- (_WebKitNetworkRequestPrivate::webkit_network_request_finalize):
- (_WebKitNetworkRequestPrivate::webkit_network_request_class_init):
- (_WebKitNetworkRequestPrivate::webkit_network_request_init):
- (_WebKitNetworkRequestPrivate::webkit_network_request_new):
- (_WebKitNetworkRequestPrivate::webkit_network_request_set_uri):
- (_WebKitNetworkRequestPrivate::webkit_network_request_get_uri):
- * webkit/webkitnetworkrequest.h:
- * webkit/webkitprivate.cpp:
- (WebKit::getViewFromFrame):
- (WebKit::core):
- * webkit/webkitprivate.h:
- * webkit/webkitwebbackforwardlist.cpp:
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_new_with_web_view):
- * webkit/webkitwebbackforwardlist.h:
- * webkit/webkitwebframe.cpp:
- * webkit/webkitwebframe.h:
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_dispose):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_finalize):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_uri):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri):
- (WebKit::core):
- * webkit/webkitwebhistoryitem.h:
- * webkit/webkitwebsettings.h:
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2008-02-04 Alp Toker <alp@atoker.com>
-
- Rubber-stamped by Mark Rowe.
-
- Remove all trailing whitespace in the GTK+ port and related
- components.
-
- * WebCoreSupport/DragClientGtk.h:
- * WebCoreSupport/FrameLoaderClientGtk.h:
- * WebCoreSupport/InspectorClientGtk.h:
- * WebCoreSupport/PasteboardHelperGtk.h:
- * webkit/webkitprivate.h:
- * webkit/webkitwebbackforwardlist.cpp:
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_contains_item):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_item):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_length):
- * webkit/webkitwebhistoryitem.cpp:
- (_WebKitWebHistoryItemPrivate::webkit_history_items):
- (_WebKitWebHistoryItemPrivate::webkit_history_item_add):
- (_WebKitWebHistoryItemPrivate::webkit_history_item_remove):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_dispose):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_last_visited_time):
- (WebKit::kit):
- * webkit/webkitwebhistoryitem.h:
- * webkit/webkitwebview.cpp:
- * webkit/webkitwebview.h:
-
-2008-02-03 Christian Dywan <christian@imendio.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=17046
- [GTK] Context menu fixes and customisation suport
-
- * webkit/webkitwebview.cpp:
-
-2008-01-31 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- Fix the pkg-config file to follow GTK+ package naming and versioning
- conventions.
-
- Remove unneeded dependency listings.
-
- * WebKitGtk.pc.in: Removed.
- * webkit.pc.in: Copied from WebKit/gtk/WebKitGtk.pc.in.
-
-2008-01-31 Alp Toker <alp@atoker.com>
-
- Rubber-stamped by Adam Roben.
-
- http://bugs.webkit.org/show_bug.cgi?id=17006
- [GTK] Header path should be webkit/webkit.h
-
- Move the GTK+ API sources as needed and update the build systems.
-
- * WebView: Removed.
- * WebView/headers.pri: Removed.
- * WebView/webkit-marshal.list: Removed.
- * WebView/webkit.h: Removed.
- * WebView/webkitdefines.h: Removed.
- * WebView/webkitnetworkrequest.cpp: Removed.
- * WebView/webkitnetworkrequest.h: Removed.
- * WebView/webkitprivate.cpp: Removed.
- * WebView/webkitprivate.h: Removed.
- * WebView/webkitwebbackforwardlist.cpp: Removed.
- * WebView/webkitwebbackforwardlist.h: Removed.
- * WebView/webkitwebframe.cpp: Removed.
- * WebView/webkitwebframe.h: Removed.
- * WebView/webkitwebhistoryitem.cpp: Removed.
- * WebView/webkitwebhistoryitem.h: Removed.
- * WebView/webkitwebsettings.cpp: Removed.
- * WebView/webkitwebsettings.h: Removed.
- * WebView/webkitwebview.cpp: Removed.
- * WebView/webkitwebview.h: Removed.
- * webkit: Copied from WebKit/gtk/WebView.
- * webkit/webkit.h:
- * webkit/webkitnetworkrequest.h:
- * webkit/webkitprivate.h:
- * webkit/webkitwebbackforwardlist.h:
- * webkit/webkitwebframe.h:
- * webkit/webkitwebhistoryitem.h:
- * webkit/webkitwebsettings.h:
- * webkit/webkitwebview.h:
-
-2008-01-27 Jan Michael Alonzo <jmalonzo@unpluggable.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=14811
- [gtk] [request] add a webkit_gtk_page_go_to_history_item function
-
- implement back/forward list and history item
-
- * WebView/headers.pri:
- * WebView/webkit.h:
- * WebView/webkitprivate.cpp:
- * WebView/webkitprivate.h:
- * WebView/webkitwebbackforwardlist.cpp: Added.
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_dispose):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_class_init):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_init):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_new_with_web_view):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_go_forward):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_go_back):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_contains_item):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_go_to_item):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_item):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_current_item):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_item):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_nth_item):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_length):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_length):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_limit):
- (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_set_limit):
- * WebView/webkitwebbackforwardlist.h: Added.
- * WebView/webkitwebhistoryitem.cpp: Added.
- (_WebKitWebHistoryItemPrivate::webkit_history_items):
- (_WebKitWebHistoryItemPrivate::webkit_history_item_add):
- (_WebKitWebHistoryItemPrivate::webkit_history_item_remove):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_dispose):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_finalize):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_class_init):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_init):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_core_item):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_new_with_data):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_alternate_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_set_alternate_title):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_uri):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_original_uri):
- (_WebKitWebHistoryItemPrivate::webkit_web_history_item_get_last_visited_time):
- (WebKit::core):
- (WebKit::kit):
- * WebView/webkitwebhistoryitem.h: Added.
- * WebView/webkitwebview.cpp:
- * WebView/webkitwebview.h:
-
-2008-01-25 Ori Bernstein <ori@eigenstate.org>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16795
- WebKitGtk crashes when there is no focused Frame
-
- Add a null check. focusedFrame() isn't used directly anywhere else so
- this is the only case that needs to be fixed.
-
- * WebView/webkitwebview.cpp:
-
-2008-01-22 Christian Dywan <christian@imendio.com>
-
- Reviewed by Alp Toker.
-
- [GTK] API: WebKitWebSettings is not usable
- http://bugs.webkit.org/show_bug.cgi?id=16219
-
- Implement WebKitWebSettings.
-
- * WebView/headers.pri:
- * WebView/webkit.h:
- * WebView/webkitprivate.cpp:
- * WebView/webkitprivate.h:
- * WebView/webkitsettings.cpp: Removed.
- * WebView/webkitsettings.h: Removed.
- * WebView/webkitwebsettings.cpp: Added.
- * WebView/webkitwebsettings.h: Added.
- * WebView/webkitwebview.cpp:
- * WebView/webkitwebview.h:
-
-2008-01-21 Alp Toker <alp@atoker.com>
-
- GTK+ build fix for breakage introduced in r29698.
-
- * WebCoreSupport/ChromeClientGtk.h:
-
-2008-01-21 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - updated for changes to database functions
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::exceededDatabaseQuota):
- * WebCoreSupport/ChromeClientGtk.h:
- * WebView/webkitprivate.cpp:
- (webkit_init):
-
-2008-01-20 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- Attach the widget's style to its window and set the background to the
- base background to avoid black flicker when repainting. This is
- similar to what GtkTextView does.
-
- * WebView/webkitwebview.cpp:
-
-2008-01-19 Christian Dywan <christian@imendio.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16882
- [GTK] ChromeClientGtk is incompete
-
- Implement these functions.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::windowRect):
- (WebKit::ChromeClient::pageRect):
- (WebKit::ChromeClient::scaleFactor):
- (WebKit::ChromeClient::focus):
- (WebKit::ChromeClient::unfocus):
- (WebKit::ChromeClient::canTakeFocus):
- (WebKit::ChromeClient::takeFocus):
- (WebKit::ChromeClient::canRunBeforeUnloadConfirmPanel):
-
-2008-01-18 Luca Bruno <lethalman88@gmail.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16910
- [GTK] REGRESSION: keyboard cursor doesn't blink
-
- http://bugs.webkit.org/show_bug.cgi?id=16863
- [GTK] REGRESSION: tab focusing doesn't work
-
- * WebView/webkitwebview.cpp:
- (webkit_web_view_focus_in_event): Added. Set the active frame.
- (webkit_web_view_class_init):
-
-2008-01-16 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- http://bugs.webkit.org/show_bug.cgi?id=16218
- [GTK] API: Should this entry point be called go_back rather than go_backward?
-
- Obsolete 'backward' terminology in API in favour of 'back'. Introduce
- step-based back/forward functions.
-
- Document more functions.
-
- * WebView/webkitdefines.h:
- * WebView/webkitwebview.cpp:
- * WebView/webkitwebview.h:
-
-2008-01-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Sam.
-
- - remove SecurityOriginData and fold its functionality into SecurityOrigin
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::requestQuotaIncreaseForNewDatabase):
- (WebKit::ChromeClient::requestQuotaIncreaseForDatabaseOperation):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2008-01-09 Luca Bruno <lethalman88@gmail.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16802
- [GTK] Missing gtk properties
-
- Add missing properties to WebKitViewFrame and WebKitWebView.
-
- * WebView/webkitprivate.h: add some useful defines for param specs
- * WebView/webkitwebframe.cpp:
- (webkit_web_frame_get_property): added
- (webkit_web_frame_class_init): add name, title and uri read-only properties
- * WebView/webkitwebview.cpp:
- (webkit_web_view_get_property): add editable property read
- (webkit_web_view_set_property): added for editable property write
- (webkit_web_view_class_init): add read-write editable property
-
-2008-01-03 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16654
- [GTK] Signal "navigation-requested" does not react correctly on
- return TRUE from callbacks
-
- * WebView/webkitwebview.cpp: use our own accumulator for signals
- returning WebKitNavigationResponse. The emission will be stopped
- when any callback returns anything but
- WEBKIT_NAVIGATION_RESPONSE_ACCEPT.
-
-2008-01-02 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Rubber stamped by Darin Adler.
-
- Coding Style fix. Do not use an else because we use a return in the
- if branch.
-
- * WebView/webkitwebview.cpp:
-
-2008-01-02 Luca Bruno <lethalman88@gmail.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16115
- [GTK] ContextMenu and ContextMenuItem lacks an implementation
-
- Add context menu support.
-
- Based on a patch by Holger Freyther.
-
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems):
- * WebView/webkitprivate.h:
- * WebView/webkitwebview.cpp:
-
-2007-12-29 Jan Michael Alonzo <jmalonzo@unpluggable.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16669
- autotools update and fixes
-
- pkgconfig file and icon database inclusion fix
-
- * WebKitGtk.pc.in: Remove ICU_FLAGS from Cflags
- * WebView/webkitprivate.cpp: Guard ICONDATABASE inclusions
-
-2007-12-28 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16642
- [GTK] webkit_web_view_has_selection returns the opposite result
-
- Invert the return value.
-
- * WebView/webkitwebview.cpp:
-
-2007-12-26 Jan Michael Alonzo <jmalonzo@unpluggable.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16390
- Use autotools or GNU make as the build system for the GTK port
-
- * WebKitGtk.pc.in: Added.
-
-2007-12-24 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/attachment.cgi?id=18099
- There are no NULL checks for strings in public api
-
- Add missing NULL checks for string parameters.
-
- Provide sensible defaults when NULL is passed for the optional
- parameters in webkit_web_view_load_string(). UTF-8 is the default
- encoding used by GLib and text/html is a reasonable default content
- type.
-
- * WebView/webkitnetworkrequest.cpp:
- * WebView/webkitwebview.cpp:
-
-2007-12-22 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alp Toker.
-
- Use webView, web_view, etc for variable names instead of page, which
- was left over from the old API.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::imContextCommitted):
- (WebKit::EditorClient::EditorClient):
- (WebKit::EditorClient::~EditorClient):
- (WebKit::EditorClient::textFieldDidBeginEditing):
- (WebKit::EditorClient::textFieldDidEndEditing):
- * WebCoreSupport/EditorClientGtk.h:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::postProgressStartedNotification):
- (WebKit::FrameLoaderClient::postProgressEstimateChangedNotification):
- (WebKit::FrameLoaderClient::postProgressFinishedNotification):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- (WebKit::FrameLoaderClient::windowObjectCleared):
- (WebKit::FrameLoaderClient::dispatchDidReceiveIcon):
- (WebKit::FrameLoaderClient::dispatchDidReceiveTitle):
- (WebKit::FrameLoaderClient::dispatchDidCommitLoad):
-
-2007-12-22 Alp Toker <alp@atoker.com>
-
- GTK+ build fix
-
- GTK_TARGET_OTHER_APP is not available in older GTK+ versions. Pass
- empty target flags for now.
-
- Check GTK+, not GLib versions, since they are different.
-
- * WebView/webkitwebview.cpp:
-
-2007-12-22 Luca Bruno <lethalman88@gmail.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16311
- [Gtk] Copy rich text to clipboard as text/plain and text/html.
-
- Add copy and paste targets for WebView and implement
- WebCore::PasteboardHelper.
-
- * WebCoreSupport/PasteboardHelperGtk.cpp: Added.
- (WebKit::PasteboardHelperGtk::getClipboard):
- (WebKit::PasteboardHelperGtk::getCopyTargetList):
- (WebKit::PasteboardHelperGtk::getPasteTargetList):
- * WebCoreSupport/PasteboardHelperGtk.h: Added.
- * WebView/webkitprivate.cpp:
- (webkit_init): set the PasteboardHelperGtk as WebCore::Pasteboard helper
- * WebView/webkitprivate.h:
- (_WebKitWebViewPrivate::copy_target_list): added
- (_WebKitWebViewPrivate::paste_target_list): added
- * WebView/webkitwebview.cpp:
- (webkit_web_view_get_property): added
- (webkit_web_view_finalize):
- (webkit_web_view_class_init): create properties for COPY_TARGET and PASTE_TARGET and create the copy and paste target lists
- (webkit_web_view_get_copy_target_list): added
- (webkit_web_view_get_paste_target_list): added
- * WebView/webkitwebview.h:
- (webkit_web_view_get_copy_target_list): added
- (webkit_web_view_get_paste_target_list): added
-
-2007-12-22 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alp Toker.
-
- Follow up to http://bugs.webkit.org/show_bug.cgi?id=16144
-
- * WebView/webkitwebview.cpp:
- Fix signal id arguments for g_signal_emit in
- clipboard functions.
-
-2007-12-21 Alp Toker <alp@atoker.com>
-
- Documentation typo fix: s/wether/whether
-
- * WebView/webkitwebview.cpp:
-
-2007-12-21 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16144
- [GTK] Clipboard/ selection handling functions
-
- * WebView/webkitprivate.h:
- * WebView/webkitwebview.cpp:
- * WebView/webkitwebview.h:
-
-2007-12-19 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16222
- [GTK] Implement inline search and highlighting of matching strings.
-
- * WebView/webkitwebview.cpp:
- * WebView/webkitwebview.h:
-
-2007-12-19 Alp Toker <alp@atoker.com>
-
- Reviewed by Holger Freyther.
-
- Delete when Destroy functions are called to avoid leaks
-
- This matches the Mac port.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- * WebCoreSupport/InspectorClientGtk.cpp:
-
-2007-12-14 Juan A. Suarez Romero <jasuarez@igalia.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16042
- [GTK] Eliminate webkit_init()
-
- Move webkit initialization to WebView class init.
-
- * WebView/headers.pri:
- * WebView/webkit.h:
- * WebView/webkitglobal.cpp: Removed.
- * WebView/webkitglobal.h: Removed.
- * WebView/webkitprivate.cpp:
- (WebKit::webkit_init):
- * WebView/webkitprivate.h:
- * WebView/webkitwebframe.cpp:
- * WebView/webkitwebview.cpp:
-
-2007-12-17 Luca Bruno <lethalman88@gmail.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=13542
- gdklauncher doesnt change URL in adress GTKEntry.
-
- Let DOMDocument observers do their work before emitting title-changed.
- The load-committed signal has been added for both the view and the frame.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDidReceiveTitle): emit title-changed
- (WebKit::FrameLoaderClient::setTitle): set private title
- (WebKit::FrameLoaderClient::dispatchDidCommitLoad): update the frame uri and emit load-committed
- * WebView/webkit-marshal.list:
- * WebView/webkitprivate.h:
- (_WebKitWebFramePrivate): rename location to uri
- * WebView/webkitwebframe.cpp:
- (webkit_web_frame_get_location): renamed to *_get_uri
- (webkit_web_frame_get_uri):
- (webkit_web_frame_real_title_changed): removed (see FrameLoaderClient::setTitle)
- (webkit_web_frame_class_init): pass the frame and the title in title-changed, not the uri
- (webkit_web_frame_finalize):
- * WebView/webkitwebframe.h:
- (_WebKitWebFrameClass): removed title_changed
- * WebView/webkitwebview.cpp:
- (webkit_web_view_class_init): pass only the title in title-changed
-
-2007-12-14 Alp Toker <alp@atoker.com>
-
- Fix inconsistent indentation in the license header. Maciej was right!
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
-
-2007-12-14 Alp Toker <alp@atoker.com>
-
- Reviewed by Maciej.
-
- http://bugs.webkit.org/show_bug.cgi?id=16432
- [GTK] Update license headers
-
- Consent has been given by the authors of these files to change license
- to the LGPL as outlined in the bug report.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- * WebCoreSupport/DragClientGtk.cpp:
- * WebCoreSupport/EditorClientGtk.cpp:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::makeRepresentation):
- (WebKit::FrameLoaderClient::forceLayout):
- (WebKit::FrameLoaderClient::forceLayoutForNonHTML):
- (WebKit::FrameLoaderClient::setCopiesOnScroll):
- (WebKit::FrameLoaderClient::detachedFromParent1):
- (WebKit::FrameLoaderClient::detachedFromParent2):
- (WebKit::FrameLoaderClient::detachedFromParent3):
- (WebKit::FrameLoaderClient::detachedFromParent4):
- (WebKit::FrameLoaderClient::loadedFromCachedPage):
- (WebKit::FrameLoaderClient::dispatchDidHandleOnloadEvents):
- (WebKit::FrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebKit::FrameLoaderClient::dispatchDidCancelClientRedirect):
- (WebKit::FrameLoaderClient::dispatchWillPerformClientRedirect):
- (WebKit::FrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebKit::FrameLoaderClient::dispatchWillClose):
- (WebKit::FrameLoaderClient::dispatchDidCommitLoad):
- (WebKit::FrameLoaderClient::dispatchDidFinishDocumentLoad):
- (WebKit::FrameLoaderClient::dispatchDidFirstLayout):
- (WebKit::FrameLoaderClient::dispatchShow):
- (WebKit::FrameLoaderClient::cancelPolicyCheck):
- (WebKit::FrameLoaderClient::dispatchDidLoadMainResource):
- (WebKit::FrameLoaderClient::revertToProvisionalState):
- (WebKit::FrameLoaderClient::clearUnarchivingState):
- (WebKit::FrameLoaderClient::willChangeTitle):
- (WebKit::FrameLoaderClient::didChangeTitle):
- (WebKit::FrameLoaderClient::finalSetupForReplace):
- (WebKit::FrameLoaderClient::setDefersLoading):
- (WebKit::FrameLoaderClient::isArchiveLoadPending):
- (WebKit::FrameLoaderClient::cancelPendingArchiveLoad):
- (WebKit::FrameLoaderClient::clearArchivedResources):
- (WebKit::FrameLoaderClient::canHandleRequest):
- (WebKit::FrameLoaderClient::canShowMIMEType):
- (WebKit::FrameLoaderClient::representationExistsForURLScheme):
- (WebKit::FrameLoaderClient::generatedMIMETypeForURLScheme):
- (WebKit::FrameLoaderClient::dispatchDidReceiveContentLength):
- (WebKit::FrameLoaderClient::dispatchDidFinishLoading):
- (WebKit::FrameLoaderClient::dispatchDidFailLoading):
- (WebKit::FrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
- (WebKit::FrameLoaderClient::download):
- (WebKit::FrameLoaderClient::cancelledError):
- (WebKit::FrameLoaderClient::blockedError):
- (WebKit::FrameLoaderClient::cannotShowURLError):
- (WebKit::FrameLoaderClient::interruptForPolicyChangeError):
- (WebKit::FrameLoaderClient::cannotShowMIMETypeError):
- (WebKit::FrameLoaderClient::fileDoesNotExistError):
- (WebKit::FrameLoaderClient::shouldFallBack):
- (WebKit::FrameLoaderClient::willUseArchive):
- (WebKit::FrameLoaderClient::canCachePage):
- (WebKit::FrameLoaderClient::dispatchCreatePage):
- (WebKit::FrameLoaderClient::dispatchUnableToImplementPolicy):
- (WebKit::FrameLoaderClient::setMainDocumentError):
- (WebKit::FrameLoaderClient::startDownload):
- (WebKit::FrameLoaderClient::updateGlobalHistoryForStandardLoad):
- (WebKit::FrameLoaderClient::updateGlobalHistoryForReload):
- (WebKit::FrameLoaderClient::savePlatformDataToCachedPage):
- (WebKit::FrameLoaderClient::transitionToCommittedFromCachedPage):
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
- * WebCoreSupport/InspectorClientGtk.cpp:
- * WebView/webkitwebview.cpp:
-
-2007-12-14 Darin Adler <darin@apple.com>
-
- Reviewed by Alexey.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleKeyboardEvent): Changed to use Editor::command
- instead of Editor::execCommand.
- * WebView/webkitwebview.cpp: Ditto.
-
-2007-12-12 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- As part of doing some CachedPage and client cleanup, keep GTK building
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::savePlatformDataToCachedPage):
- (WebKit::FrameLoaderClient::transitionToCommittedFromCachedPage):
- (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2007-12-12 Alp Toker <alp@atoker.com>
-
- Reviewed by Holger Freyther.
-
- http://bugs.webkit.org/show_bug.cgi?id=15576
- [GTK] Printing support
-
- Add printing support.
-
- The API will be kept internal for the time being, but printing can now
- be triggered by Web pages or the JSC API using JavaScript.
-
- The print spooler and pagination code is fairly abstract and could be
- shared by other ports including Win and Qt once complete. It doesn't
- have header/footer support yet.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::print):
- * WebView/webkitprivate.h:
- * WebView/webkitwebframe.cpp:
- (PrintContext::begin_print):
- (PrintContext::draw_page):
- (PrintContext::end_print):
- (PrintContext::webkit_web_frame_print):
-
-2007-12-12 Sam Weinig <sam@webkit.org>
-
- Build fix.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::didChangeTitle):
-
-2007-12-12 Sam Weinig <sam@webkit.org>
-
- Build fix.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
-
-2007-12-11 George Wright <george.wright@collabora.co.uk>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=14120
- [GDK] Support input methods
-
- This patch adds infrastructure for input method support.
-
- It also adds Hildon features for the Maemo mobile platform sufficient
- to support the virtual keyboard.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::imContextCommitted):
- (WebKit::EditorClient::EditorClient):
- (WebKit::EditorClient::~EditorClient):
- (WebKit::EditorClient::textFieldDidBeginEditing):
- (WebKit::EditorClient::textFieldDidEndEditing):
- * WebCoreSupport/EditorClientGtk.h:
- * WebView/webkitprivate.h:
- * WebView/webkitwebview.cpp:
-
-2007-12-07 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5535636>
- Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
-
- http://bugs.webkit.org/show_bug.cgi?id=13916
- JavaScript detects Tab as a character input on a textfield validation
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleKeyboardEvent):
- (WebKit::EditorClient::handleInputMethodKeydown):
- * WebCoreSupport/EditorClientGtk.h:
- Updated for cross-platform changes as much as it was possible without a gtk build environment.
-
-2007-12-08 Luca Bruno <lethalman88@gmail.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16346
- [GTK] Some webview parts must use the focused frame.
-
- Also update some old code.
-
- * WebView/webkitprivate.cpp:
- (getFrameFromView): removed
-
- * WebView/webkitprivate.h:
- (getFrameFromView): removed
-
- * WebView/webkitwebview.cpp:
- (webkit_web_view_expose_event):
- (webkit_web_view_key_press_event): use focused frame
- (webkit_web_view_key_release_event): use focused frame
- (webkit_web_view_button_press_event):
- (webkit_web_view_button_release_event):
- (webkit_web_view_motion_event):
- (webkit_web_view_scroll_event):
- (webkit_web_view_size_allocate):
- (webkit_web_view_set_scroll_adjustments):
- (webkit_web_view_execute_script):
- (webkit_web_view_stop_loading):
- (webkit_web_view_load_string):
- (webkit_web_view_reload):
- (webkit_web_view_open):
- (webkit_web_view_can_go_forward):
- (webkit_web_view_can_go_backward):
- (webkit_web_view_go_forward):
- (webkit_web_view_go_backward):
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleKeypress): fix for page up and page down keys for editable contents
-
-2007-12-07 Luca Bruno <lethalman88@gmail.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16333
- [GTK] Key bindings must work with focused frames.
-
- There are still more cases where getFrameFromView() is mis-used that
- need to be fixed, but this is a good start.
-
- * WebView/webkitwebview.cpp:
- (webkit_web_view_real_select_all):
- (webkit_web_view_real_cut_clipboard):
- (webkit_web_view_real_copy_clipboard):
- (webkit_web_view_real_paste_clipboard):
-
-2007-12-06 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16329
- [GTK] Two small cleanups
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::createWindow):
- (WebKit::ChromeClient::addMessageToConsole):
- (WebKit::ChromeClient::runJavaScriptAlert):
- (WebKit::ChromeClient::runJavaScriptConfirm):
- (WebKit::ChromeClient::runJavaScriptPrompt):
- (WebKit::ChromeClient::setStatusbarText):
- (WebKit::ChromeClient::mouseDidMoveOverElement):
- (WebKit::ChromeClient::setToolTip):
- * WebCoreSupport/ChromeClientGtk.h:
- * WebView/webkitprivate.cpp:
- (WebKit::kit):
- s/m_webPage/m_webView/
- * WebView/webkitwebview.cpp:
- Chain up to the parent class to activate bindings instead
- of doing it explicitely.
-
-2007-12-06 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=16173
- Licensing change
-
- Change license from BSD to LGPL.
-
- * WebCoreSupport/ChromeClientGtk.h:
- * WebView/webkitdefines.h:
- * WebView/webkitglobal.cpp:
- * WebView/webkitglobal.h:
- * WebView/webkitnetworkrequest.cpp:
- * WebView/webkitnetworkrequest.h:
- * WebView/webkitprivate.cpp:
- * WebView/webkitprivate.h:
- * WebView/webkitsettings.cpp:
- * WebView/webkitsettings.h:
- * WebView/webkitwebframe.cpp:
- * WebView/webkitwebframe.h:
- * WebView/webkitwebview.h:
-
-2007-12-05 Michael Natterer <mitch@imendio.com>
-
- Reviewed by Alp Toker.
-
- * WebView/webkitwebview.cpp: split key and button event handlers
- into separate press and release functions.
-
-2007-12-05 Luca Bruno <lethalman88@gmail.com>
-
- Reviewed by Alp Toker.
-
- Handle events for Home and End keys.
-
- * WebView/webkitwebview.cpp:
- (webkit_web_view_key_event):
- * WebCoreSupport/EditorClientGtk.cpp:
- (EditorClient::handleKeypress):
-
-2007-12-05 Michael Natterer <mitch@imendio.com>
-
- Reviewed by Alp Toker.
-
- * WebView/webkitwebview.cpp
- * WebCoreSupport/ChromeClientGtk.cpp
- * WebCoreSupport/FrameLoaderClientGtk.cpp: canonicalize signal names.
-
-2007-12-04 Darin Adler <darin@apple.com>
-
- Reviewed by Kevin Decker.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp: Removed obsolete privateBrowsingEnabled.
- * WebCoreSupport/FrameLoaderClientGtk.h: Ditto.
-
-2007-12-04 Michael Natterer <mitch@imendio.com>
-
- Reviewed by Alp Toker.
-
- * WebView/webkitwebframe.cpp: don't redeclare the marshaller
- prototype but simply include "webkit-marshal.h" now that its build
- is fixed.
-
-2007-12-04 Luca Bruno <lethalman88@gmail.com>
-
- Reviewed by Alp Toker.
-
- Fix a regression in key press propagation in r28386.
-
- Fix indentation (was off by two spaces).
-
- * WebView/webkitwebview.cpp:
-
-2007-12-04 Luca Bruno <lethalman88@gmail.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=15911
- [GTK] Use GtkBindingSet to make key bindings user-configurable
-
- This patch doesn't cover the full range of bindings, only the ones
- that seem obviously correct and have clear public API.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleKeypress): do not handle clipboard operations and select-all
- * WebView/webkitwebview.cpp: add cut, copy, paste and select-all signals and allow binding sets (issue #15911 and #16144)
- * WebView/webkitwebview.h:
-
-2007-12-04 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=15561
- GTK port needs DumpRenderTree implementation
-
- Start work on the GTK+ DRT.
-
- Add a couple of proposed new API entry points. They are currently for
- internal use only by DRT and not in the public headers.
-
- * WebView/webkitprivate.h:
- * WebView/webkitwebframe.cpp:
-
-2007-12-03 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
-
- * WebView/webkitwebview.cpp: Remove the call to sendResizeEvent() since
- FrameView sends it now.
-
-2007-12-03 Alp Toker <alp@atoker.com>
-
- globalObject() GTK+ build fix.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::windowObjectCleared):
-
-2007-12-03 Geoffrey Garen <ggaren@apple.com>
-
- GTK Build fix: get globalExec from the right place.
-
- * WebView/webkitwebframe.cpp:
-
-2007-12-01 Alp Toker <alp@atoker.com>
-
- Reviewed by Adam Roben.
-
- Wrap type definitions in webkitdefines.h with G_BEGIN_DECLS, which
- takes care of extern "C".
-
- Introduce a webkit.h convenience header.
-
- Remove another left-over from the old API.
-
- * WebView/headers.pri:
- * WebView/webkit.h: Added.
- * WebView/webkitdefines.h:
-
-2007-12-01 Alp Toker <alp@atoker.com>
-
- Reviewed by Adam Roben.
-
- http://bugs.webkit.org/show_bug.cgi?id=15687
- [Gtk] Allow API clients to interact with JavaScript in web pages
-
- Include the necessary JavaScriptCore headers directly in the public
- API headers.
-
- This is the last of a series of changes needed to allow GTK+
- applications to access the JS API.
-
- Until http://bugs.webkit.org/show_bug.cgi?id=16029 is resolved,
- developers will still have to include the individual JS API headers
- individually if they want to use it in their applications.
-
- Patch also removes some old legacy use of GDK that was in
- WebKitWebFrame. No ABI change.
-
- * WebView/webkitdefines.h:
- * WebView/webkitwebframe.h:
- * WebView/webkitwebview.h:
-
-2007-11-30 Jan Michael Alonzo <jmalonzo@unpluggable.com>
-
- Fix for GTK+ Debug build breakage introduced in r28273.
-
- * WebView/webkitprivate.cpp:
- (WebKit::kit):
-
-2007-11-30 Alp Toker <alp@atoker.com>
-
- Reviewed by Adam Roben.
-
- http://bugs.webkit.org/show_bug.cgi?id=15691
- [GTK] Public API does not follow GTK+ conventions
-
- Refactor the WebKit/GTK+ public API. Changes:
- WebKitPage -> WebKitWebView
- WebKitFrame -> WebKitWebFrame
-
- Public API source and header names have been updated to mirror the API
- changes.
-
- The API is now kept in WebKit/gtk/WebView to match other ports in the
- same class such as Mac and Win.
-
- API/ABI-breaking change.
-
- * Api: Removed.
- * Api/headers.pri: Removed.
- * Api/webkitgtk-marshal.list: Removed.
- * Api/webkitgtkdefines.h: Removed.
- * Api/webkitgtkframe.cpp: Removed.
- * Api/webkitgtkframe.h: Removed.
- * Api/webkitgtkglobal.cpp: Removed.
- * Api/webkitgtkglobal.h: Removed.
- * Api/webkitgtknetworkrequest.cpp: Removed.
- * Api/webkitgtknetworkrequest.h: Removed.
- * Api/webkitgtkpage.cpp: Removed.
- * Api/webkitgtkpage.h: Removed.
- * Api/webkitgtkprivate.cpp: Removed.
- * Api/webkitgtkprivate.h: Removed.
- * Api/webkitgtksettings.cpp: Removed.
- * Api/webkitgtksettings.h: Removed.
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::ChromeClient):
- (WebKit::ChromeClient::createWindow):
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::webPage):
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::isEditable):
- (WebKit::EditorClient::EditorClient):
- * WebCoreSupport/EditorClientGtk.h:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::FrameLoaderClient):
- (WebKit::FrameLoaderClient::postProgressStartedNotification):
- (WebKit::FrameLoaderClient::postProgressEstimateChangedNotification):
- (WebKit::FrameLoaderClient::postProgressFinishedNotification):
- (WebKit::FrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- (WebKit::FrameLoaderClient::createFrame):
- (WebKit::FrameLoaderClient::windowObjectCleared):
- (WebKit::FrameLoaderClient::dispatchDidReceiveIcon):
- (WebKit::FrameLoaderClient::setTitle):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- (WebKit::FrameLoaderClient::webFrame):
- * WebView: Added.
- * WebView/headers.pri: Added.
- * WebView/webkit-marshal.list: Added.
- * WebView/webkitdefines.h: Added.
- * WebView/webkitglobal.cpp: Added.
- * WebView/webkitglobal.h: Added.
- * WebView/webkitnetworkrequest.cpp: Added.
- * WebView/webkitnetworkrequest.h: Added.
- * WebView/webkitprivate.cpp: Added.
- (WebKit::apply):
- (WebKit::create):
- (WebKit::getFrameFromView):
- (WebKit::getViewFromFrame):
- (WebKit::core):
- (WebKit::kit):
- * WebView/webkitprivate.h: Added.
- * WebView/webkitsettings.cpp: Added.
- * WebView/webkitsettings.h: Added.
- * WebView/webkitwebframe.cpp: Added.
- * WebView/webkitwebframe.h: Added.
- * WebView/webkitwebview.cpp: Added.
- * WebView/webkitwebview.h: Added.
-
-2007-11-28 Alp Toker <alp@atoker.com>
-
- Reviewed by Timothy Hatcher.
-
- http://bugs.webkit.org/show_bug.cgi?id=16174
- [GTK] Use "URI" not "URL" in public API
-
- Replace use of the term "URL" with "URI" in public headers,
- documentation and some internal code to match GLib/GTK+ convention.
-
- This is now mentioned in the API guidelines:
- http://trac.webkit.org/projects/webkit/wiki/HackingGtk
-
- API/ABI-breaking change.
-
- * Api/webkitgtkframe.cpp:
- * Api/webkitgtknetworkrequest.cpp:
- * Api/webkitgtknetworkrequest.h:
- * Api/webkitgtkpage.cpp:
- * Api/webkitgtkpage.h:
- * Api/webkitgtkprivate.h:
- * Api/webkitgtksettings.h:
-
-2007-11-29 Brady Eidson <beidson@apple.com>
-
- Better build fix for Gtk
-
- * WebCoreSupport/ChromeClientGtk.h:
-
-2007-11-29 Brady Eidson <beidson@apple.com>
-
- Keep it building with new client method
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::requestQuotaIncreaseForNewDatabase):
- (WebKit::ChromeClient::requestQuotaIncreaseForDatabaseOperation):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2007-11-26 Alp Toker <alp@atoker.com>
-
- Reviewed by Adam Roben.
-
- http://bugs.webkit.org/show_bug.cgi?id=16149
- Implement the window-object-cleared signal
-
- This implementation provides the JSGlobalContextRef and JSObjectRef
- directly rather than using an intermediate JS wrapper object, similar
- to the approach taken by the Win port.
-
- * Api/webkitgtk-marshal.list:
- * Api/webkitgtkframe.h:
- * Api/webkitgtkpage.cpp:
- * Api/webkitgtkpage.h:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::windowObjectCleared):
-
-2007-11-24 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- http://bugs.webkit.org/show_bug.cgi?id=15691
- [GTK] Public API does not follow GTK+ conventions
-
- Public API enhancements:
-
- Implement webkit_page_get_editable() and webkit_page_set_editable().
-
- Implement webkit_frame_get_name().
-
- Remove definitions for functions that are unusable or not implemented.
- This has caused much confusion for application developers.
-
- Improve documentation.
-
- Correct/constify some return types.
-
- Add parameter checks.
-
- Make the default fixed font "Courier New" to match the other Web
- font names.
-
- * Api/webkitgtkframe.cpp:
- * Api/webkitgtkframe.h:
- * Api/webkitgtkpage.cpp:
- * Api/webkitgtkpage.h:
- * Api/webkitgtkprivate.h:
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::isEditable):
-
-2007-11-24 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- http://bugs.webkit.org/show_bug.cgi?id=16125
- [GTK] Up key doesn't work properly when content is editable
-
- Add a missing 'break' to avoid falling through to the next case when
- handling VK_UP keystrokes. This was noticed when working on editing
- support in the GTK+ port.
-
- I've checked the other cases for similar typos and they seem fine.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleKeypress):
-
-2007-11-24 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=15745
- [GTK] Arrow keys do not Scroll
-
- * Api/webkitgtkpage.cpp:
-
- Support Up/Down/Right/Left keys to scroll. Slight hack, see FIXME for
- details.
-
-2007-11-24 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=15891
- [GTK] Javascript console and dialogs are not implemented
-
- Fix call to gtk_message_dialog_new() which expects a format string.
-
- * Api/webkitgtkpage.cpp:
-
-2007-11-24 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=15793
- [GTK] Webkit doesn't show title attribute tooltip when hovering over an image
-
- Implement tooltip support using the new Tooltip API.
-
- Support for older versions of GTK+ is still lacking.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::setToolTip):
-
-2007-11-22 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- Implement and document several WebKitFrame functions, some of which
- are necessary to support DRT.
-
- Correct NULL handling and improve run-time checks.
-
- * Api/webkitgtkframe.cpp:
- * Api/webkitgtkframe.h:
- * Api/webkitgtkprivate.cpp:
-
-2007-11-22 Alp Toker <alp@atoker.com>
-
- Whitespace fixes only.
-
- * Api/webkitgtkframe.cpp:
- * Api/webkitgtkpage.cpp:
- * Api/webkitgtkpage.h:
- * Api/webkitgtkprivate.h:
- * WebCoreSupport/ChromeClientGtk.cpp:
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- * WebCoreSupport/ContextMenuClientGtk.h:
- * WebCoreSupport/DragClientGtk.h:
- * WebCoreSupport/EditorClientGtk.h:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::dispatchWillSendRequest):
- (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest):
- (WebKit::FrameLoaderClient::postProgressEstimateChangedNotification):
- (WebKit::FrameLoaderClient::createFrame):
- (WebKit::FrameLoaderClient::createJavaAppletWidget):
- (WebKit::FrameLoaderClient::registerForIconNotification):
- (WebKit::FrameLoaderClient::setMainFrameDocumentReady):
- (WebKit::FrameLoaderClient::dispatchDidFinishLoad):
- (WebKit::FrameLoaderClient::frameLoadCompleted):
- (WebKit::FrameLoaderClient::saveViewStateToItem):
- (WebKit::FrameLoaderClient::restoreViewState):
- (WebKit::FrameLoaderClient::shouldGoToHistoryItem):
- (WebKit::FrameLoaderClient::setTitle):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2007-11-22 Michael Natterer <mitch@imendio.com>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=15984
- Implement "navigation-requested" signal for WebKit Gtk
-
- * Api/webkitgtknetworkrequest.h: fix parent class member.
-
- * Api/webkitgtknetworkrequest.cpp
- * Api/webkitgtkprivate.h: basic implementation featuring an
- "url" member and API.
-
- * Api/webkitgtkdefines.h: added network request typedefs.
-
- * Api/webkitgtkpage.h: fix enum name:
- s/WEBKIT_NAVIGATION_REQUEST_RESPONSE/WebKitNavigationRequestResponse/
- and sanitized enum values.
-
- * Api/webkitgtkpage.cpp: made "navigation-requested" a signal.
-
- * Api/webkitgtk-marshal.list: added INT:OBJECT,OBJECT
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp: emit the new signal in
- dispatchDecidePolicyForNavigationAction().
-
-2007-11-18 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp.
-
- http://bugs.webkit.org/show_bug.cgi?id=15891
- [GTK] Javascript console and dialogs are not implemented
-
- Correct script-prompt to return NULL when cancelled.
-
- Small changes to avoid compiler warnings.
-
- * Api/webkitgtkpage.cpp:
-
-2007-11-17 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mark Rowe.
-
- Bug 13470: i18n: The Web Inspector is not localizable
- http://bugs.webkit.org/show_bug.cgi?id=13470
-
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::localizedStringsURL): Empty stub.
- * WebCoreSupport/InspectorClientGtk.h: Add localizedStringsURL.
-
-2007-11-13 Mark Rowe <mrowe@apple.com>
-
- Gtk build fix. Replace incorrect use of the LOG macro with g_print.
-
- * Api/webkitgtkpage.cpp:
-
-2007-11-13 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Alp.
-
- http://bugs.webkit.org/show_bug.cgi?id=15891
- [GTK] Javascript console and dialogs are not implemented
-
- Implement signals for script dialogs and console messages.
-
- * Api/webkitgtk-marshal.list:
- * Api/webkitgtkpage.cpp:
- * Api/webkitgtkpage.h:
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::addMessageToConsole):
- (WebKit::ChromeClient::runJavaScriptAlert):
- (WebKit::ChromeClient::runJavaScriptConfirm):
- (WebKit::ChromeClient::runJavaScriptPrompt):
-
-2007-11-11 Alp Toker <alp@atoker.com>
-
- Reviewed by Anders.
-
- Initialize m_userAgent.
-
- Fix typos in GDK_WINDOWING conditionals.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::FrameLoaderClient):
- (WebKit::agentPlatform):
-
-2007-11-11 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- Mention Safari in the UserAgent string to improve site compatibility.
-
- Also bump the hard-coded AppleWebKit version number.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::composeUserAgent):
-
-2007-11-09 Xan Lopez <xan@gnome.org>
-
- Reviewed by Alp.
-
- Fix http://bugs.webkit.org/show_bug.cgi?id=15926
- [GTK] WebKitPage map handler is redundant.
-
- * Api/webkitgtkpage.cpp:
- The map handler for WebKitPage is redundant, GtkContainer does
- the same (and more correctly).
-
-2007-11-08 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- http://bugs.webkit.org/show_bug.cgi?id=15653
- [GTK] Text editor does not handle common keystrokes
-
- Handle more keystrokes in EditorClientGtk. Note that this is a
- temporary measure pending a proper solution using GtkBindingSet (see
- http://bugs.webkit.org/show_bug.cgi?id=15911).
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleKeypress):
-
-2007-11-08 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Sam.
-
- - windowObjectCleared() is no longer const. It needs to setup the
- script debugger and cannot be const to do so.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::windowObjectCleared):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2007-11-06 Rodney Dawes <dobey@wayofthemonkey.com>
-
- Fix http://bugs.webkit.org/attachment.cgi?id=17043&action=view
- Bug 15766: [GTK] WebKit sometimes spews binary data as text/plain into iframes
-
- FrameLoaderClient::objectContentType needs to check with the MIMETypeRegistry
- to determine whether the given MIME type is displayable as an image or non-image.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (FrameLoaderClient::objectContentType): Change logic to match that in
- the Windows and Mac ports.
-
-2007-11-05 Christian Dywan <christian@twotoasts.de>
-
- Reviewed by Maciej.
-
- http://bugs.webkit.org/show_bug.cgi?id=15409
- FrameLoaderClientGtk hardcodes data, including platform to Linux i686
-
- Compute a proper user agent string.
-
- Patch includes fixes by Alp.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::agentPlatform):
- (WebKit::agentOS):
- (WebKit::composeUserAgent):
- (WebKit::FrameLoaderClient::userAgent):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2007-11-05 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Alp Toker.
-
- Remove unused m_firstData member from FrameLoaderClientGtk.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2007-11-05 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Alp Toker.
-
- Fix http://bugs.webkit.org/show_bug.cgi?id=15842
- Bug 15842: [Gtk] about:blank doesn't work
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::finishedLoading): Set the encoding on the frame loader to
- get work done that is normally done when the first bit of data is received, even in the
- case of a document with no data (like about:blank).
-
-2007-11-03 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- Restore correct double and triple click behaviour
-
- We ended up ignoring GDK_2BUTTON_PRESS and GDK_3BUTTON_PRESS after
- recent refactoring.
-
- * Api/webkitgtkpage.cpp:
-
-2007-11-03 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- Frame scrolling and invalidation fixes
-
- Make upward scroll events have a positive delta to match other ports.
-
- Fix the invalidation rect offset for frames so that scrolling works properly.
-
- Avoid allocating negative sizes to widgets to avoid GTK+ warnings.
-
- Allow tabbing to all widgets and links.
-
- Fix event returns, improving the focus situation and correcting scroll wheel
- behavior.
-
- * Api/webkitgtkpage.cpp:
- * WebCoreSupport/ChromeClientGtk.cpp:
-
-2007-10-29 Alp Toker <alp@atoker.com>
-
- Reviewed by Maciej.
-
- Do not allow control to reach end of non-void functions
-
- * Api/webkitgtksettings.cpp:
-
-2007-10-28 Lars Lindner <lars.lindner@gmail.com>
-
- Reviewed by Alp.
-
- http://bugs.webkit.org/show_bug.cgi?id=15466
- [gtk] widget does not take focus on mouse click
-
- Grab widget focus in mouse press callback.
-
- * Api/webkitgtkpage.cpp:
-
-2007-10-25 Alp Toker <alp@atoker.com>
-
- Reviewed by Brady.
-
- http://bugs.webkit.org/show_bug.cgi?id=15686
- GtkLauncher aborts on launch due to uninitialized threading subsystem
-
- Re-enable database support in the GTK+ port, with a fix.
-
- Initialize GLib threading as early as possible.
-
- * Api/webkitgtkglobal.cpp:
-
-2007-10-25 Alp Toker <alp@atoker.com>
-
- Unreviewed fix to make the GTK+ port run.
-
- http://bugs.webkit.org/show_bug.cgi?id=15686
- GtkLauncher aborts on launch due to uninitialized threading subsystem
-
- http://bugs.webkit.org/show_bug.cgi?id=15688
- [GTK] Make it possible to disable database support
-
- Make database path initialization conditional on database support
- being enabled.
-
- * Api/webkitgtkglobal.cpp:
-
-2007-10-24 Mark Rowe <mrowe@apple.com>
-
- Gtk build fix. Track WebCore changes in r27004.
-
- * Api/webkitgtkglobal.cpp:
-
-2007-10-22 Alp Toker <alp@atoker.com>
-
- Reviewed by Mark Rowe.
-
- http://bugs.webkit.org/show_bug.cgi?id=15611
- [GTK] Text selection behaviour different in Debug and Release builds
-
- http://bugs.webkit.org/show_bug.cgi?id=15578
- [GTK] Text editor caret does not blink
-
- Never allow control to reach the end of non-void functions.
-
- Return more sensible values, or in some cases, nulls.
-
- * Api/webkitgtksettings.cpp:
- * Api/webkitgtksettings.h:
- * WebCoreSupport/DragClientGtk.cpp:
- (WebKit::DragClient::actionMaskForDrag):
- (WebKit::DragClient::dragSourceActionMaskForPoint):
- (WebKit::DragClient::createDragImageForLink):
-
-2007-10-20 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Alp.
-
- Gtk changes needed to enable HTML 5 client-side database storage.
-
- * Api/webkitgtkglobal.cpp: Set a default database path based on the user data directory.
- This should become configurable by client applications in the future.
-
-2007-10-20 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Eric.
-
- Don't allow control characters to be inserted into editable regions.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::handleKeypress):
-
-2007-10-19 Alp Toker <alp@atoker.com>
-
- Reviewed by Oliver.
-
- GTK+ build fix enabling the new local database storage feature.
- There is also a prospective Qt build fix.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::runDatabaseSizeLimitPrompt):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2007-10-14 Jan Michael Alonzo <jmalonzo@unpluggable.com>
-
- Reviewed by Adam.
-
- http://bugs.webkit.org/show_bug.cgi?id=15299
- Fix "hovering_over_link" signal not emitted when consecutive links
- are hovered.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::mouseDidMoveOverElement):
- * WebCoreSupport/ChromeClientGtk.h:
- - Remove m_didSendLinkSignal as it is superseded by m_hoveredLinkURL
-
-2007-10-10 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Geoff Garen.
-
- changes to keep the build from breaking
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createFrame):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2007-10-03 Alp Toker <alp@atoker.com>
-
- Reviewed by Adam.
-
- http://bugs.webkit.org/show_bug.cgi?id=14726
- [gtk] API design. Mapping the WebView delegates to signals.
-
- Change the API namespace of the Gtk+ port from 'WebKitGtk' to 'WebKit'.
-
- * Api/webkitgtkdefines.h:
- * Api/webkitgtkframe.cpp:
- * Api/webkitgtkframe.h:
- * Api/webkitgtkglobal.cpp:
- * Api/webkitgtkglobal.h:
- * Api/webkitgtknetworkrequest.h:
- * Api/webkitgtkpage.cpp:
- * Api/webkitgtkpage.h:
- * Api/webkitgtkprivate.cpp:
- (WebKit::apply):
- (WebKit::create):
- (WebKit::getFrameFromPage):
- (WebKit::getPageFromFrame):
- (WebKit::core):
- (WebKit::kit):
- * Api/webkitgtkprivate.h:
- * Api/webkitgtksettings.cpp:
- * Api/webkitgtksettings.h:
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::ChromeClient):
- (WebKit::ChromeClient::createWindow):
- (WebKit::ChromeClient::addMessageToConsole):
- (WebKit::ChromeClient::runJavaScriptAlert):
- (WebKit::ChromeClient::runJavaScriptConfirm):
- (WebKit::ChromeClient::runJavaScriptPrompt):
- * WebCoreSupport/ChromeClientGtk.h:
- (WebKit::ChromeClient::webPage):
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::EditorClient):
- * WebCoreSupport/EditorClientGtk.h:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::FrameLoaderClient):
- (WebKit::FrameLoaderClient::postProgressStartedNotification):
- (WebKit::FrameLoaderClient::postProgressEstimateChangedNotification):
- (WebKit::FrameLoaderClient::postProgressFinishedNotification):
- (WebKit::FrameLoaderClient::createFrame):
- (WebKit::FrameLoaderClient::dispatchDidReceiveIcon):
- (WebKit::FrameLoaderClient::setTitle):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- (WebKit::FrameLoaderClient::webFrame):
-
-2007-10-02 Cosimo Cecchi <cosimoc@svn.gnome.org>
-
- Reviewed by Mark.
-
- http://bugs.webkit.org/show_bug.cgi?id=15299
- Fix "hovering_over_link" signal being fired every time mouse moves.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::ChromeClient):
- (WebKit::ChromeClient::mouseDidMoveOverElement):
- * WebCoreSupport/ChromeClientGtk.h:
-
-2007-09-21 Sean Egan <seanegan@gmail.com>
-
- Reviewed by Alp.
-
- Add an "execute_script" method to programmatically call Javascript
- http://bugs.webkit.org/show_bug.cgi?id=15255
-
- * Api/webkitgtkpage.cpp:
- * Api/webkitgtkpage.h:
-
-2007-09-29 Lars Lindner <lars.lindner@gmail.com>
-
- Reviewed by Adam.
-
- ChromeClientGtk.cpp does not implement mouseDidMoveOverElement()
- http://bugs.webkit.org/show_bug.cgi?id=15299
-
- Implementing "hovering_over_link" signal.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::mouseDidMoveOverElement):
-
-2007-09-26 Mark Rowe <mrowe@apple.com>
-
- Gtk build fix.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp: Check for empty URL instead of invalid URL.
-
-2007-09-17 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Adam.
-
- WebKitGtkPage and WebKitGtkFrame have a dependency on each other. To
- allow client code to include both headers the typedef's for
- WebKitGtkFrame, WebKitGtkPage, WebKitGtkFrameData and WebKitGtkNetworkRequest
- are moved into webkitgtkdefines.h and included by both webkitgtkpage.h and
- webkitgtkframe.h
-
- * Api/webkitgtkdefines.h:
- * Api/webkitgtkframe.h:
- * Api/webkitgtkpage.h:
-
-2007-09-17 Cyril Brulebois <cyril.brulebois@enst-bretagne.fr>
-
- Reviewed by Mark, some Coding Style changes by Holger.
-
- This is from http://bugs.webkit.org/show_bug.cgi?id=14812.
-
- Add title and location to WebKitGtkFramePrivate, add
- webkit_gtk_frame_get_location to the WebKitGtkFrame API as well
- as a title_changed callback, implement
- webkit_gtk_frame_get_title and webkit_gtk_frame_get_location.
-
- Initial patch by Diego Escalante Urrelo.
-
- * Api/webkitgtkframe.cpp:
- * Api/webkitgtkframe.h:
- * Api/webkitgtkprivate.h:
-
-2007-09-15 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Mark.
-
- Use the new WebCore::String::fromUTF8 function to convert
- from the Gtk+ representation of a string to WebCore::String.
-
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::runJavaScriptPrompt):
-
-2007-09-10 Nigel Tao <nigeltao@gnome.org>
-
- Reviewed by Mark Rowe.
-
- Fix a typo where webkit_gtk_page_can_copy was declared twice,
- rather than webkit_gtk_page_can_paste.
-
- * Api/webkitgtkpage.h:
-
-2007-09-08 Brady Eidson <beidson@apple.com>
-
- Better build fix
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::registerForIconNotification):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2007-09-08 Brady Eidson <beidson@apple.com>
-
- Build fix
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::registerForIconNotification):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2007-09-05 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher.
-
- Fixed <rdar://problem/5326009> Make non-browser WebKit clients have no
- memory cache, or a very tiny one
-
- Keep the GTK build working with an empty stub.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::didPerformFirstNavigation):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2007-09-01 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Sam.
-
- <rdar://problem/5344848> IME is incorrectly used for key events when on non-editable regions
-
- EditorClient::setInputMethodState stub
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::setInputMethodState):
- * WebCoreSupport/EditorClientGtk.h:
-
-2007-08-18 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Build fix. Add const to the first parameter of createPlugin
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
-
-2007-08-17 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::createPlugin):
- * WebCoreSupport/FrameLoaderClientGtk.h:
-
-2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Adam.
-
- To not hit the needsLayout() assert of Frame::paint for subframes we need to
- make sure they are layed out. Use the newly created FrameView::layoutIfNeededRecursive
- method to do this.
-
- * Api/webkitgtkpage.cpp:
-
-2007-08-11 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Adam.
-
- Fix text selection by setting a DragClient when creating the Page. Now
- that we have a DragClient we can free the Page when WebKitGtkPage gets
- destructed.
-
- * Api/webkitgtkpage.cpp:
- * WebCoreSupport/DragClientGtk.cpp: Added.
- (WebKit::DragClient::willPerformDragDestinationAction):
- (WebKit::DragClient::willPerformDragSourceAction):
- (WebKit::DragClient::actionMaskForDrag):
- (WebKit::DragClient::dragSourceActionMaskForPoint):
- (WebKit::DragClient::startDrag):
- (WebKit::DragClient::createDragImageForLink):
- * WebCoreSupport/DragClientGtk.h: Added.
-
-2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Anders.
-
- Make WebKitGtkPage a GtkContainer to avoid a size_allocate
- race of GtkScrollBar and GtkLayout.
-
- * Api/webkitgtk-marshal.list:
- * Api/webkitgtkframe.cpp:
- * Api/webkitgtkpage.cpp:
- * Api/webkitgtkpage.h:
- * Api/webkitgtkprivate.h:
-
-2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Niko.
-
- Minor changes to the WebKit::EditorClient to allow removing
- of text from TextFields. Remove the selectWordBeforeMenuEvent method
- which is not used and not within WebCore::EditorClient.
-
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::shouldDeleteRange):
- (WebKit::EditorClient::shouldBeginEditing):
- (WebKit::EditorClient::shouldEndEditing):
- (WebKit::EditorClient::shouldApplyStyle):
- (WebKit::EditorClient::shouldInsertNode):
- * WebCoreSupport/EditorClientGtk.h:
-
-2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Mark.
-
- Rename the namespace from WebKitGtk to WebKit. Move the various *Client
- classes into the WebKit namespace. Change the class names to not contain Gtk.
- The file names have to contain the Gtk suffix to not clash with files in WebCore (e.g.
- bridge/EditorClient.h).
-
-
- * Api/webkitgtkframe.cpp:
- * Api/webkitgtkpage.cpp:
- * Api/webkitgtkprivate.cpp:
- * Api/webkitgtkprivate.h:
- * ChangeLog:
- * WebCoreSupport/ChromeClientGtk.cpp:
- (WebKit::ChromeClient::ChromeClient):
- (WebKit::ChromeClient::chromeDestroyed):
- (WebKit::ChromeClient::windowRect):
- (WebKit::ChromeClient::setWindowRect):
- (WebKit::ChromeClient::pageRect):
- (WebKit::ChromeClient::scaleFactor):
- (WebKit::ChromeClient::focus):
- (WebKit::ChromeClient::unfocus):
- (WebKit::ChromeClient::createWindow):
- (WebKit::ChromeClient::createModalDialog):
- (WebKit::ChromeClient::show):
- (WebKit::ChromeClient::canRunModal):
- (WebKit::ChromeClient::runModal):
- (WebKit::ChromeClient::setToolbarsVisible):
- (WebKit::ChromeClient::toolbarsVisible):
- (WebKit::ChromeClient::setStatusbarVisible):
- (WebKit::ChromeClient::statusbarVisible):
- (WebKit::ChromeClient::setScrollbarsVisible):
- (WebKit::ChromeClient::scrollbarsVisible):
- (WebKit::ChromeClient::setMenubarVisible):
- (WebKit::ChromeClient::menubarVisible):
- (WebKit::ChromeClient::setResizable):
- (WebKit::ChromeClient::closeWindowSoon):
- (WebKit::ChromeClient::canTakeFocus):
- (WebKit::ChromeClient::takeFocus):
- (WebKit::ChromeClient::canRunBeforeUnloadConfirmPanel):
- (WebKit::ChromeClient::runBeforeUnloadConfirmPanel):
- (WebKit::ChromeClient::runJavaScriptAlert):
- (WebKit::ChromeClient::runJavaScriptConfirm):
- (WebKit::ChromeClient::setStatusbarText):
- (WebKit::ChromeClient::shouldInterruptJavaScript):
- (WebKit::ChromeClient::tabsToLinks):
- (WebKit::ChromeClient::windowResizerRect):
- (WebKit::ChromeClient::addToDirtyRegion):
- (WebKit::ChromeClient::scrollBackingStore):
- (WebKit::ChromeClient::updateBackingStore):
- (WebKit::ChromeClient::mouseDidMoveOverElement):
- (WebKit::ChromeClient::setToolTip):
- * WebCoreSupport/ChromeClientGtk.h:
- * WebCoreSupport/ContextMenuClientGtk.cpp:
- (WebKit::ContextMenuClient::contextMenuDestroyed):
- (WebKit::ContextMenuClient::getCustomMenuFromDefaultItems):
- (WebKit::ContextMenuClient::contextMenuItemSelected):
- (WebKit::ContextMenuClient::downloadURL):
- (WebKit::ContextMenuClient::copyImageToClipboard):
- (WebKit::ContextMenuClient::searchWithGoogle):
- (WebKit::ContextMenuClient::lookUpInDictionary):
- (WebKit::ContextMenuClient::speak):
- * WebCoreSupport/ContextMenuClientGtk.h:
- * WebCoreSupport/EditorClientGtk.cpp:
- (WebKit::EditorClient::shouldDeleteRange):
- (WebKit::EditorClient::shouldShowDeleteInterface):
- (WebKit::EditorClient::isContinuousSpellCheckingEnabled):
- (WebKit::EditorClient::isGrammarCheckingEnabled):
- (WebKit::EditorClient::spellCheckerDocumentTag):
- (WebKit::EditorClient::shouldBeginEditing):
- (WebKit::EditorClient::shouldEndEditing):
- (WebKit::EditorClient::shouldInsertText):
- (WebKit::EditorClient::shouldChangeSelectedRange):
- (WebKit::EditorClient::shouldApplyStyle):
- (WebKit::EditorClient::shouldMoveRangeAfterDelete):
- (WebKit::EditorClient::didBeginEditing):
- (WebKit::EditorClient::respondToChangedContents):
- (WebKit::EditorClient::respondToChangedSelection):
- (WebKit::EditorClient::didEndEditing):
- (WebKit::EditorClient::didWriteSelectionToPasteboard):
- (WebKit::EditorClient::didSetSelectionTypesForPasteboard):
- (WebKit::EditorClient::selectWordBeforeMenuEvent):
- (WebKit::EditorClient::isEditable):
- (WebKit::EditorClient::registerCommandForUndo):
- (WebKit::EditorClient::registerCommandForRedo):
- (WebKit::EditorClient::clearUndoRedoOperations):
- (WebKit::EditorClient::canUndo):
- (WebKit::EditorClient::canRedo):
- (WebKit::EditorClient::undo):
- (WebKit::EditorClient::redo):
- (WebKit::EditorClient::shouldInsertNode):
- (WebKit::EditorClient::pageDestroyed):
- (WebKit::EditorClient::smartInsertDeleteEnabled):
- (WebKit::EditorClient::toggleContinuousSpellChecking):
- (WebKit::EditorClient::toggleGrammarChecking):
- (WebKit::EditorClient::handleInputMethodKeypress):
- (WebKit::EditorClient::EditorClient):
- (WebKit::EditorClient::textFieldDidBeginEditing):
- (WebKit::EditorClient::textFieldDidEndEditing):
- (WebKit::EditorClient::textDidChangeInTextField):
- (WebKit::EditorClient::doTextFieldCommandFromEvent):
- (WebKit::EditorClient::textWillBeDeletedInTextField):
- (WebKit::EditorClient::textDidChangeInTextArea):
- (WebKit::EditorClient::ignoreWordInSpellDocument):
- (WebKit::EditorClient::learnWord):
- (WebKit::EditorClient::checkSpellingOfString):
- (WebKit::EditorClient::checkGrammarOfString):
- (WebKit::EditorClient::updateSpellingUIWithGrammarString):
- (WebKit::EditorClient::updateSpellingUIWithMisspelledWord):
- (WebKit::EditorClient::showSpellingUI):
- (WebKit::EditorClient::spellingUIIsShowing):
- * WebCoreSupport/EditorClientGtk.h:
- * WebCoreSupport/FrameLoaderClientGtk.cpp:
- (WebKit::FrameLoaderClient::FrameLoaderClient):
- (WebKit::FrameLoaderClient::userAgent):
- (WebKit::FrameLoaderClient::createDocumentLoader):
- (WebKit::FrameLoaderClient::committedLoad):
- (WebKit::FrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
- (WebKit::FrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
- (WebKit::FrameLoaderClient::dispatchWillSendRequest):
- (WebKit::FrameLoaderClient::assignIdentifierToInitialRequest):
- (WebKit::FrameLoaderClient::postProgressStartedNotification):
- (WebKit::FrameLoaderClient::postProgressFinishedNotification):
- (WebKit::FrameLoaderClient::frameLoaderDestroyed):
- (WebKit::FrameLoaderClient::dispatchDidReceiveResponse):
- (WebKit::FrameLoaderClient::createPlugin):
- (WebKit::FrameLoaderClient::redirectDataToPlugin):
- (WebKit::FrameLoaderClient::createJavaAppletWidget):
- (WebKit::FrameLoaderClient::overrideMediaType):
- (WebKit::FrameLoaderClient::windowObjectCleared):
- (WebKit::FrameLoaderClient::setMainFrameDocumentReady):
- (WebKit::FrameLoaderClient::hasWebView):
- (WebKit::FrameLoaderClient::hasFrameView):
- (WebKit::FrameLoaderClient::dispatchDidFinishLoad):
- (WebKit::FrameLoaderClient::frameLoadCompleted):
- (WebKit::FrameLoaderClient::saveViewStateToItem):
- (WebKit::FrameLoaderClient::restoreViewState):
- (WebKit::FrameLoaderClient::privateBrowsingEnabled):
- (WebKit::FrameLoaderClient::makeDocumentView):
- (WebKit::FrameLoaderClient::makeRepresentation):
- (WebKit::FrameLoaderClient::forceLayout):
- (WebKit::FrameLoaderClient::forceLayoutForNonHTML):
- (WebKit::FrameLoaderClient::setCopiesOnScroll):
- (WebKit::FrameLoaderClient::detachedFromParent1):
- (WebKit::FrameLoaderClient::detachedFromParent2):
- (WebKit::FrameLoaderClient::detachedFromParent3):
- (WebKit::FrameLoaderClient::detachedFromParent4):
- (WebKit::FrameLoaderClient::loadedFromCachedPage):
- (WebKit::FrameLoaderClient::dispatchDidHandleOnloadEvents):
- (WebKit::FrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebKit::FrameLoaderClient::dispatchDidCancelClientRedirect):
- (WebKit::FrameLoaderClient::dispatchWillPerformClientRedirect):
- (WebKit::FrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebKit::FrameLoaderClient::dispatchWillClose):
- (WebKit::FrameLoaderClient::dispatchDidReceiveIcon):
- (WebKit::FrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebKit::FrameLoaderClient::dispatchDidReceiveTitle):
- (WebKit::FrameLoaderClient::dispatchDidCommitLoad):
- (WebKit::FrameLoaderClient::dispatchDidFinishDocumentLoad):
- (WebKit::FrameLoaderClient::dispatchDidFirstLayout):
- (WebKit::FrameLoaderClient::dispatchShow):
- (WebKit::FrameLoaderClient::cancelPolicyCheck):
- (WebKit::FrameLoaderClient::dispatchDidLoadMainResource):
- (WebKit::FrameLoaderClient::revertToProvisionalState):
- (WebKit::FrameLoaderClient::clearUnarchivingState):
- (WebKit::FrameLoaderClient::willChangeTitle):
- (WebKit::FrameLoaderClient::didChangeTitle):
- (WebKit::FrameLoaderClient::finishedLoading):
- (WebKit::FrameLoaderClient::finalSetupForReplace):
- (WebKit::FrameLoaderClient::setDefersLoading):
- (WebKit::FrameLoaderClient::isArchiveLoadPending):
- (WebKit::FrameLoaderClient::cancelPendingArchiveLoad):
- (WebKit::FrameLoaderClient::clearArchivedResources):
- (WebKit::FrameLoaderClient::canHandleRequest):
- (WebKit::FrameLoaderClient::canShowMIMEType):
- (WebKit::FrameLoaderClient::representationExistsForURLScheme):
- (WebKit::FrameLoaderClient::generatedMIMETypeForURLScheme):
- (WebKit::FrameLoaderClient::provisionalLoadStarted):
- (WebKit::FrameLoaderClient::didFinishLoad):
- (WebKit::FrameLoaderClient::setDocumentViewFromCachedPage):
- (WebKit::FrameLoaderClient::dispatchDidReceiveContentLength):
- (WebKit::FrameLoaderClient::dispatchDidFinishLoading):
- (WebKit::FrameLoaderClient::dispatchDidFailLoading):
- (WebKit::FrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
- (WebKit::FrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebKit::FrameLoaderClient::dispatchDidFailLoad):
- (WebKit::FrameLoaderClient::download):
- (WebKit::FrameLoaderClient::cancelledError):
- (WebKit::FrameLoaderClient::blockedError):
- (WebKit::FrameLoaderClient::cannotShowURLError):
- (WebKit::FrameLoaderClient::interruptForPolicyChangeError):
- (WebKit::FrameLoaderClient::cannotShowMIMETypeError):
- (WebKit::FrameLoaderClient::fileDoesNotExistError):
- (WebKit::FrameLoaderClient::shouldFallBack):
- (WebKit::FrameLoaderClient::willUseArchive):
- (WebKit::FrameLoaderClient::saveDocumentViewToCachedPage):
- (WebKit::FrameLoaderClient::canCachePage):
- (WebKit::FrameLoaderClient::dispatchCreatePage):
- (WebKit::FrameLoaderClient::dispatchUnableToImplementPolicy):
- * WebCoreSupport/FrameLoaderClientGtk.h:
- * WebCoreSupport/InspectorClientGtk.cpp:
- (WebKit::InspectorClient::inspectorDestroyed):
- (WebKit::InspectorClient::createPage):
- (WebKit::InspectorClient::showWindow):
- (WebKit::InspectorClient::closeWindow):
- (WebKit::InspectorClient::attachWindow):
- (WebKit::InspectorClient::detachWindow):
- (WebKit::InspectorClient::highlight):
- (WebKit::InspectorClient::hideHighlight):
- * WebCoreSupport/InspectorClientGtk.h:
-
-2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Adam.
-
- As of http://bugs.webkit.org/show_bug.cgi?id=14727 move the
- various *ClientGdk.{cpp,h} files from WebCore to WebKit/gtk/WebCoreSupport and
- rename it from Gdk to Gtk.
-
- * Api/webkitgtkdefines.h:
- * Api/webkitgtkframe.cpp:
- * Api/webkitgtkframe.h:
- * Api/webkitgtkglobal.cpp:
- * Api/webkitgtkglobal.h:
- * Api/webkitgtknetworkrequest.cpp:
- * Api/webkitgtknetworkrequest.h:
- * Api/webkitgtkpage.cpp:
- * Api/webkitgtkpage.h:
- * Api/webkitgtkprivate.cpp:
- * Api/webkitgtkprivate.h:
- * Api/webkitgtksettings.cpp:
- * Api/webkitgtksettings.h:
- * WebCoreSupport/ChromeClientGtk.cpp: Renamed from WebKit/gtk/WebCoreSupport/ChromeClientGdk.cpp.
- (WebKitGtk::ChromeClientGtk::ChromeClientGtk):
- (WebKitGtk::ChromeClientGtk::chromeDestroyed):
- (WebKitGtk::ChromeClientGtk::windowRect):
- (WebKitGtk::ChromeClientGtk::setWindowRect):
- (WebKitGtk::ChromeClientGtk::pageRect):
- (WebKitGtk::ChromeClientGtk::scaleFactor):
- (WebKitGtk::ChromeClientGtk::focus):
- (WebKitGtk::ChromeClientGtk::unfocus):
- (WebKitGtk::ChromeClientGtk::createWindow):
- (WebKitGtk::ChromeClientGtk::createModalDialog):
- (WebKitGtk::ChromeClientGtk::show):
- (WebKitGtk::ChromeClientGtk::canRunModal):
- (WebKitGtk::ChromeClientGtk::runModal):
- (WebKitGtk::ChromeClientGtk::setToolbarsVisible):
- (WebKitGtk::ChromeClientGtk::toolbarsVisible):
- (WebKitGtk::ChromeClientGtk::setStatusbarVisible):
- (WebKitGtk::ChromeClientGtk::statusbarVisible):
- (WebKitGtk::ChromeClientGtk::setScrollbarsVisible):
- (WebKitGtk::ChromeClientGtk::scrollbarsVisible):
- (WebKitGtk::ChromeClientGtk::setMenubarVisible):
- (WebKitGtk::ChromeClientGtk::menubarVisible):
- (WebKitGtk::ChromeClientGtk::setResizable):
- (WebKitGtk::ChromeClientGtk::closeWindowSoon):
- (WebKitGtk::ChromeClientGtk::canTakeFocus):
- (WebKitGtk::ChromeClientGtk::takeFocus):
- (WebKitGtk::ChromeClientGtk::canRunBeforeUnloadConfirmPanel):
- (WebKitGtk::ChromeClientGtk::runBeforeUnloadConfirmPanel):
- (WebKitGtk::ChromeClientGtk::addMessageToConsole):
- (WebKitGtk::ChromeClientGtk::runJavaScriptAlert):
- (WebKitGtk::ChromeClientGtk::runJavaScriptConfirm):
- (WebKitGtk::ChromeClientGtk::runJavaScriptPrompt):
- (WebKitGtk::ChromeClientGtk::setStatusbarText):
- (WebKitGtk::ChromeClientGtk::shouldInterruptJavaScript):
- (WebKitGtk::ChromeClientGtk::tabsToLinks):
- (WebKitGtk::ChromeClientGtk::windowResizerRect):
- (WebKitGtk::ChromeClientGtk::addToDirtyRegion):
- (WebKitGtk::ChromeClientGtk::scrollBackingStore):
- (WebKitGtk::ChromeClientGtk::updateBackingStore):
- (WebKitGtk::ChromeClientGtk::mouseDidMoveOverElement):
- (WebKitGtk::ChromeClientGtk::setToolTip):
- * WebCoreSupport/ChromeClientGtk.h: Renamed from WebKit/gtk/WebCoreSupport/ChromeClientGdk.h.
- (WebKitGtk::ChromeClientGtk::webPage):
- * WebCoreSupport/ContextMenuClientGtk.cpp: Renamed from WebCore/page/gdk/ContextMenuClientGdk.cpp.
- (WebCore::ContextMenuClientGtk::contextMenuDestroyed):
- (WebCore::ContextMenuClientGtk::getCustomMenuFromDefaultItems):
- (WebCore::ContextMenuClientGtk::contextMenuItemSelected):
- (WebCore::ContextMenuClientGtk::downloadURL):
- (WebCore::ContextMenuClientGtk::copyImageToClipboard):
- (WebCore::ContextMenuClientGtk::searchWithGoogle):
- (WebCore::ContextMenuClientGtk::lookUpInDictionary):
- (WebCore::ContextMenuClientGtk::speak):
- (WebCore::ContextMenuClientGtk::stopSpeaking):
- * WebCoreSupport/ContextMenuClientGtk.h: Renamed from WebCore/page/gdk/ContextMenuClientGdk.h.
- * WebCoreSupport/EditorClientGtk.cpp: Renamed from WebCore/platform/gdk/EditorClientGdk.cpp.
- (WebCore::EditorClientGtk::shouldDeleteRange):
- (WebCore::EditorClientGtk::shouldShowDeleteInterface):
- (WebCore::EditorClientGtk::isContinuousSpellCheckingEnabled):
- (WebCore::EditorClientGtk::isGrammarCheckingEnabled):
- (WebCore::EditorClientGtk::spellCheckerDocumentTag):
- (WebCore::EditorClientGtk::shouldBeginEditing):
- (WebCore::EditorClientGtk::shouldEndEditing):
- (WebCore::EditorClientGtk::shouldInsertText):
- (WebCore::EditorClientGtk::shouldChangeSelectedRange):
- (WebCore::EditorClientGtk::shouldApplyStyle):
- (WebCore::EditorClientGtk::shouldMoveRangeAfterDelete):
- (WebCore::EditorClientGtk::didBeginEditing):
- (WebCore::EditorClientGtk::respondToChangedContents):
- (WebCore::EditorClientGtk::respondToChangedSelection):
- (WebCore::EditorClientGtk::didEndEditing):
- (WebCore::EditorClientGtk::didWriteSelectionToPasteboard):
- (WebCore::EditorClientGtk::didSetSelectionTypesForPasteboard):
- (WebCore::EditorClientGtk::selectWordBeforeMenuEvent):
- (WebCore::EditorClientGtk::isEditable):
- (WebCore::EditorClientGtk::registerCommandForUndo):
- (WebCore::EditorClientGtk::registerCommandForRedo):
- (WebCore::EditorClientGtk::clearUndoRedoOperations):
- (WebCore::EditorClientGtk::canUndo):
- (WebCore::EditorClientGtk::canRedo):
- (WebCore::EditorClientGtk::undo):
- (WebCore::EditorClientGtk::redo):
- (WebCore::EditorClientGtk::shouldInsertNode):
- (WebCore::EditorClientGtk::pageDestroyed):
- (WebCore::EditorClientGtk::smartInsertDeleteEnabled):
- (WebCore::EditorClientGtk::toggleContinuousSpellChecking):
- (WebCore::EditorClientGtk::toggleGrammarChecking):
- (WebCore::EditorClientGtk::handleKeypress):
- (WebCore::EditorClientGtk::handleInputMethodKeypress):
- (WebCore::EditorClientGtk::EditorClientGtk):
- (WebCore::EditorClientGtk::textFieldDidBeginEditing):
- (WebCore::EditorClientGtk::textFieldDidEndEditing):
- (WebCore::EditorClientGtk::textDidChangeInTextField):
- (WebCore::EditorClientGtk::doTextFieldCommandFromEvent):
- (WebCore::EditorClientGtk::textWillBeDeletedInTextField):
- (WebCore::EditorClientGtk::textDidChangeInTextArea):
- (WebCore::EditorClientGtk::ignoreWordInSpellDocument):
- (WebCore::EditorClientGtk::learnWord):
- (WebCore::EditorClientGtk::checkSpellingOfString):
- (WebCore::EditorClientGtk::checkGrammarOfString):
- (WebCore::EditorClientGtk::updateSpellingUIWithGrammarString):
- (WebCore::EditorClientGtk::updateSpellingUIWithMisspelledWord):
- (WebCore::EditorClientGtk::showSpellingUI):
- (WebCore::EditorClientGtk::spellingUIIsShowing):
- (WebCore::EditorClientGtk::getGuessesForWord):
- * WebCoreSupport/EditorClientGtk.h: Renamed from WebCore/platform/gdk/EditorClientGdk.h.
- * WebCoreSupport/FrameLoaderClientGtk.cpp: Renamed from WebCore/loader/gdk/FrameLoaderClientGdk.cpp.
- (WebCore::FrameLoaderClientGtk::FrameLoaderClientGtk):
- (WebCore::FrameLoaderClientGtk::userAgent):
- (WebCore::FrameLoaderClientGtk::createDocumentLoader):
- (WebCore::FrameLoaderClientGtk::dispatchWillSubmitForm):
- (WebCore::FrameLoaderClientGtk::committedLoad):
- (WebCore::FrameLoaderClientGtk::dispatchDidReceiveAuthenticationChallenge):
- (WebCore::FrameLoaderClientGtk::dispatchDidCancelAuthenticationChallenge):
- (WebCore::FrameLoaderClientGtk::dispatchWillSendRequest):
- (WebCore::FrameLoaderClientGtk::assignIdentifierToInitialRequest):
- (WebCore::FrameLoaderClientGtk::postProgressStartedNotification):
- (WebCore::FrameLoaderClientGtk::postProgressEstimateChangedNotification):
- (WebCore::FrameLoaderClientGtk::postProgressFinishedNotification):
- (WebCore::FrameLoaderClientGtk::frameLoaderDestroyed):
- (WebCore::FrameLoaderClientGtk::dispatchDidReceiveResponse):
- (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForMIMEType):
- (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForNewWindowAction):
- (WebCore::FrameLoaderClientGtk::dispatchDecidePolicyForNavigationAction):
- (WebCore::FrameLoaderClientGtk::createPlugin):
- (WebCore::FrameLoaderClientGtk::createFrame):
- (WebCore::FrameLoaderClientGtk::redirectDataToPlugin):
- (WebCore::FrameLoaderClientGtk::createJavaAppletWidget):
- (WebCore::FrameLoaderClientGtk::objectContentType):
- (WebCore::FrameLoaderClientGtk::overrideMediaType):
- (WebCore::FrameLoaderClientGtk::windowObjectCleared):
- (WebCore::FrameLoaderClientGtk::setMainFrameDocumentReady):
- (WebCore::FrameLoaderClientGtk::hasWebView):
- (WebCore::FrameLoaderClientGtk::hasFrameView):
- (WebCore::FrameLoaderClientGtk::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientGtk::frameLoadCompleted):
- (WebCore::FrameLoaderClientGtk::saveViewStateToItem):
- (WebCore::FrameLoaderClientGtk::restoreViewState):
- (WebCore::FrameLoaderClientGtk::shouldGoToHistoryItem):
- (WebCore::FrameLoaderClientGtk::privateBrowsingEnabled):
- (WebCore::FrameLoaderClientGtk::makeDocumentView):
- (WebCore::FrameLoaderClientGtk::makeRepresentation):
- (WebCore::FrameLoaderClientGtk::forceLayout):
- (WebCore::FrameLoaderClientGtk::forceLayoutForNonHTML):
- (WebCore::FrameLoaderClientGtk::setCopiesOnScroll):
- (WebCore::FrameLoaderClientGtk::detachedFromParent1):
- (WebCore::FrameLoaderClientGtk::detachedFromParent2):
- (WebCore::FrameLoaderClientGtk::detachedFromParent3):
- (WebCore::FrameLoaderClientGtk::detachedFromParent4):
- (WebCore::FrameLoaderClientGtk::loadedFromCachedPage):
- (WebCore::FrameLoaderClientGtk::dispatchDidHandleOnloadEvents):
- (WebCore::FrameLoaderClientGtk::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebCore::FrameLoaderClientGtk::dispatchDidCancelClientRedirect):
- (WebCore::FrameLoaderClientGtk::dispatchWillPerformClientRedirect):
- (WebCore::FrameLoaderClientGtk::dispatchDidChangeLocationWithinPage):
- (WebCore::FrameLoaderClientGtk::dispatchWillClose):
- (WebCore::FrameLoaderClientGtk::dispatchDidReceiveIcon):
- (WebCore::FrameLoaderClientGtk::dispatchDidStartProvisionalLoad):
- (WebCore::FrameLoaderClientGtk::dispatchDidReceiveTitle):
- (WebCore::FrameLoaderClientGtk::dispatchDidCommitLoad):
- (WebCore::FrameLoaderClientGtk::dispatchDidFinishDocumentLoad):
- (WebCore::FrameLoaderClientGtk::dispatchDidFirstLayout):
- (WebCore::FrameLoaderClientGtk::dispatchShow):
- (WebCore::FrameLoaderClientGtk::cancelPolicyCheck):
- (WebCore::FrameLoaderClientGtk::dispatchDidLoadMainResource):
- (WebCore::FrameLoaderClientGtk::revertToProvisionalState):
- (WebCore::FrameLoaderClientGtk::clearUnarchivingState):
- (WebCore::FrameLoaderClientGtk::willChangeTitle):
- (WebCore::FrameLoaderClientGtk::didChangeTitle):
- (WebCore::FrameLoaderClientGtk::finishedLoading):
- (WebCore::FrameLoaderClientGtk::finalSetupForReplace):
- (WebCore::FrameLoaderClientGtk::setDefersLoading):
- (WebCore::FrameLoaderClientGtk::isArchiveLoadPending):
- (WebCore::FrameLoaderClientGtk::cancelPendingArchiveLoad):
- (WebCore::FrameLoaderClientGtk::clearArchivedResources):
- (WebCore::FrameLoaderClientGtk::canHandleRequest):
- (WebCore::FrameLoaderClientGtk::canShowMIMEType):
- (WebCore::FrameLoaderClientGtk::representationExistsForURLScheme):
- (WebCore::FrameLoaderClientGtk::generatedMIMETypeForURLScheme):
- (WebCore::FrameLoaderClientGtk::provisionalLoadStarted):
- (WebCore::FrameLoaderClientGtk::didFinishLoad):
- (WebCore::FrameLoaderClientGtk::prepareForDataSourceReplacement):
- (WebCore::FrameLoaderClientGtk::setTitle):
- (WebCore::FrameLoaderClientGtk::setDocumentViewFromCachedPage):
- (WebCore::FrameLoaderClientGtk::dispatchDidReceiveContentLength):
- (WebCore::FrameLoaderClientGtk::dispatchDidFinishLoading):
- (WebCore::FrameLoaderClientGtk::dispatchDidFailLoading):
- (WebCore::FrameLoaderClientGtk::dispatchDidLoadResourceFromMemoryCache):
- (WebCore::FrameLoaderClientGtk::dispatchDidFailProvisionalLoad):
- (WebCore::FrameLoaderClientGtk::dispatchDidFailLoad):
- (WebCore::FrameLoaderClientGtk::download):
- (WebCore::FrameLoaderClientGtk::cancelledError):
- (WebCore::FrameLoaderClientGtk::blockedError):
- (WebCore::FrameLoaderClientGtk::cannotShowURLError):
- (WebCore::FrameLoaderClientGtk::interruptForPolicyChangeError):
- (WebCore::FrameLoaderClientGtk::cannotShowMIMETypeError):
- (WebCore::FrameLoaderClientGtk::fileDoesNotExistError):
- (WebCore::FrameLoaderClientGtk::shouldFallBack):
- (WebCore::FrameLoaderClientGtk::willUseArchive):
- (WebCore::FrameLoaderClientGtk::saveDocumentViewToCachedPage):
- (WebCore::FrameLoaderClientGtk::canCachePage):
- (WebCore::FrameLoaderClientGtk::dispatchCreatePage):
- (WebCore::FrameLoaderClientGtk::dispatchUnableToImplementPolicy):
- * WebCoreSupport/FrameLoaderClientGtk.h: Renamed from WebCore/loader/gdk/FrameLoaderClientGdk.h.
- (WebCore::FrameLoaderClientGtk::~FrameLoaderClientGtk):
- (WebCore::FrameLoaderClientGtk::webFrame):
- * WebCoreSupport/InspectorClientGtk.cpp: Renamed from WebCore/page/gdk/InspectorClientGdk.cpp.
- (WebCore::InspectorClientGtk::inspectorDestroyed):
- (WebCore::InspectorClientGtk::createPage):
- (WebCore::InspectorClientGtk::showWindow):
- (WebCore::InspectorClientGtk::closeWindow):
- (WebCore::InspectorClientGtk::attachWindow):
- (WebCore::InspectorClientGtk::detachWindow):
- (WebCore::InspectorClientGtk::highlight):
- (WebCore::InspectorClientGtk::hideHighlight):
- (WebCore::InspectorClientGtk::inspectedURLChanged):
- * WebCoreSupport/InspectorClientGtk.h: Renamed from WebCore/page/gdk/InspectorClientGdk.h.
-
-2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Build fix.
-
- * Api/webkitgtkframe.cpp:
-
-2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Adam.
-
- Remove the create_frame virtual method of WebKitGtkPage. This method was inspired
- by the Qt port but to be useful for reimplementations WebKitGtkFrameData would need
- to export/expose WebCore types. WebView doesn't offer such a method so I decided to
- remove it.
- Add a internal constructor to WebKitGtkFrame to be used for constructing Sub-Frames. This
- is currently used by FrameLoaderClientGdk::createFrame.
-
- * Api/webkitgtkframe.cpp:
- * Api/webkitgtkframedata.cpp: Removed.
- * Api/webkitgtkframedata.h: Removed.
- * Api/webkitgtkpage.cpp:
- * Api/webkitgtkpage.h:
- * Api/webkitgtkprivate.h:
-
-2007-08-10 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Adam.
-
- Follow the changes of ScrollView in WebCore and call setContainingWindow, set the
- GtkAdjustment of the GtkLayout and reimplement the set_scroll_adjustments method and pass
- the GtkAdjustments to ScrollView.
- This makes having one GdkWindow for the complete FrameTree possible.
-
-
- * gtk/Api/webkitgtkframe.cpp:
- * gtk/Api/webkitgtkpage.cpp:
-
-2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Niko.
-
- We only need to set the Settings of the Page once so do it in
- WebKitGtkPage instead of WebKitGtkFrame.
-
- * gtk/Api/webkitgtkframe.cpp:
- * gtk/Api/webkitgtkpage.cpp:
-
-2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Niko.
-
- Instead of reimplementing the general event method, reimplement
- the specific mouse, expose, keyboard event methods.
-
- Call the finalize implementation of the base class from WebKitGtkPage
- and WebKitGtkFrame.
-
- * gtk/Api/webkitgtkframe.cpp:
- * gtk/Api/webkitgtkpage.cpp:
-
-2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Niko.
-
- Remove the custom painting in favor of the Widget::paint
- implementation.
-
- * gtk/Api/webkitgtkpage.cpp:
-
-2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Adam.
-
- Moved code from class FrameGdk into WebKitGtkFrame. Update the
- webkitgrkprivate.h header file to not include FrameGdk.h.
-
- * gtk/Api/webkitgtkframe.cpp:
- * gtk/Api/webkitgtkprivate.h:
-
-2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Adam.
-
- Change variable names to follow the Coding-Style. Replace occurences
- of a_b with aB and place the '*' correctly.
-
- * gtk/Api/webkitgtkframe.cpp:
- * gtk/Api/webkitgtkpage.cpp:
- * gtk/Api/webkitgtkprivate.h:
-
-2007-08-08 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Adam.
-
- Reimplement GtkWidget::event and handle the keyboard and mouse
- events inside WebKitGtkPage.
-
- * gtk/Api/webkitgtkpage.cpp:
- (FrameGdkExposeData::frame_gdk_expose_child):
- (FrameGdkExposeData::webkit_gtk_page_rendering_area_handle_gdk_event):
- (FrameGdkExposeData::webkit_gtk_page_register_rendering_area_events):
- (FrameGdkExposeData::webkit_gtk_page_class_init):
-
-2007-08-07 Xan Lopez <xan@gnome.org>
-
- Reviewed by Mark Rowe.
-
- http://bugs.webkit.org/show_bug.cgi?id=14815
- [gtk] API implementation: reload
-
- * gtk/Api/webkitgtkpage.cpp: Implement the webkit_gtk_page_reload()
- function.
-
-2007-07-30 Diego Escalante Urrelo <diegoe@gnome.org>
-
- Reviewed by Adam.
-
- http://bugs.webkit.org/show_bug.cgi?id=14806
- Implement can_go_backward and can_go_forward in webkitgtkpage.cpp
-
- * gtk/Api/webkitgtkpage.cpp: Implement webkit_gtk_page_can_go_backward() and
- webkit_gtk_page_can_go_forward() functions.
-
-2007-07-30 Diego Escalante Urrelo <diegoe@gnome.org>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=14810
- Bad n_params on load_finished's g_signal_new in webkitgtkpage.cpp
-
- This is the proper fix for #14810.
-
- * gtk/Api/webkitgtkframe.cpp:
- * gtk/Api/webkitgtkpage.cpp: Fix the marshaller type of the "load_finished" signal and
- correct the class_offset parameters.
-
-2007-07-29 Diego Escalante Urrelo <diegoe@gnome.org>
-
- Reviewed by Alp Toker.
-
- http://bugs.webkit.org/show_bug.cgi?id=14810
- Bad n_params on load_finished's g_signal_new in webkitgtkpage.cpp
-
- * gtk/Api/webkitgtkpage.cpp: Use a correct n_params value and the corresponding types for
- them in the "load_finished" signal.
-
-2007-07-22 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Adam.
-
- Add the first API and partial implementation of the WebKit/Gtk port as
- of http://bugs.webkit.org/show_bug.cgi?id=14678.
-
- The delegates of WebView will be modeled as signals. Delegates like the
- WebPolicyDelegate will be implemented as signals with default handlers.
-
- Start moving files to WebKit/gtk/WebCoreSupport.
-
- * gtk: Added.
- * gtk/Api: Added.
- * gtk/Api/headers.pri: Added.
- * gtk/Api/webkitgtk-marshal.list: Added.
- * gtk/Api/webkitgtkdefines.h: Added.
- * gtk/Api/webkitgtkframe.cpp: Added.
- * gtk/Api/webkitgtkframe.h: Added.
- * gtk/Api/webkitgtkframedata.cpp: Added.
- * gtk/Api/webkitgtkframedata.h: Added.
- * gtk/Api/webkitgtkglobal.cpp: Added.
- * gtk/Api/webkitgtkglobal.h: Added.
- * gtk/Api/webkitgtknetworkrequest.cpp: Added.
- * gtk/Api/webkitgtknetworkrequest.h: Added.
- * gtk/Api/webkitgtkpage.cpp: Added.
- * gtk/Api/webkitgtkpage.h: Added.
- * gtk/Api/webkitgtkprivate.cpp: Added.
- * gtk/Api/webkitgtkprivate.h: Added.
- * gtk/Api/webkitgtksettings.cpp: Added.
- * gtk/Api/webkitgtksettings.h: Added.
- * gtk/WebCoreSupport: Added.
- * gtk/WebCoreSupport/ChromeClientGdk.cpp: Added.
- (WebCore::ChromeClientGdk::ChromeClientGdk):
- (WebCore::ChromeClientGdk::chromeDestroyed):
- (WebCore::ChromeClientGdk::windowRect):
- (WebCore::ChromeClientGdk::setWindowRect):
- (WebCore::ChromeClientGdk::pageRect):
- (WebCore::ChromeClientGdk::scaleFactor):
- (WebCore::ChromeClientGdk::focus):
- (WebCore::ChromeClientGdk::unfocus):
- (WebCore::ChromeClientGdk::createWindow):
- (WebCore::ChromeClientGdk::createModalDialog):
- (WebCore::ChromeClientGdk::show):
- (WebCore::ChromeClientGdk::canRunModal):
- (WebCore::ChromeClientGdk::runModal):
- (WebCore::ChromeClientGdk::setToolbarsVisible):
- (WebCore::ChromeClientGdk::toolbarsVisible):
- (WebCore::ChromeClientGdk::setStatusbarVisible):
- (WebCore::ChromeClientGdk::statusbarVisible):
- (WebCore::ChromeClientGdk::setScrollbarsVisible):
- (WebCore::ChromeClientGdk::scrollbarsVisible):
- (WebCore::ChromeClientGdk::setMenubarVisible):
- (WebCore::ChromeClientGdk::menubarVisible):
- (WebCore::ChromeClientGdk::setResizable):
- (WebCore::ChromeClientGdk::closeWindowSoon):
- (WebCore::ChromeClientGdk::canTakeFocus):
- (WebCore::ChromeClientGdk::takeFocus):
- (WebCore::ChromeClientGdk::canRunBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientGdk::runBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientGdk::addMessageToConsole):
- (WebCore::ChromeClientGdk::runJavaScriptAlert):
- (WebCore::ChromeClientGdk::runJavaScriptConfirm):
- (WebCore::ChromeClientGdk::runJavaScriptPrompt):
- (WebCore::ChromeClientGdk::setStatusbarText):
- (WebCore::ChromeClientGdk::shouldInterruptJavaScript):
- (WebCore::ChromeClientGdk::tabsToLinks):
- (WebCore::ChromeClientGdk::windowResizerRect):
- (WebCore::ChromeClientGdk::addToDirtyRegion):
- (WebCore::ChromeClientGdk::scrollBackingStore):
- (WebCore::ChromeClientGdk::updateBackingStore):
- (WebCore::ChromeClientGdk::mouseDidMoveOverElement):
- (WebCore::ChromeClientGdk::setToolTip):
- (WebCore::ChromeClientGdk::print):
- * gtk/WebCoreSupport/ChromeClientGdk.h: Added.
-
diff --git a/Source/WebKit/gtk/GNUmakefile.am b/Source/WebKit/gtk/GNUmakefile.am
deleted file mode 100644
index 520c84cd3..000000000
--- a/Source/WebKit/gtk/GNUmakefile.am
+++ /dev/null
@@ -1,637 +0,0 @@
-if ENABLE_WEBKIT1
-lib_LTLIBRARIES += \
- libwebkitgtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la
-endif
-
-nodist_libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
- $(webkitgtk_built_sources)
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_ladir = $(libwebkitgtkincludedir)/webkit
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_HEADERS = \
- $(webkitgtk_static_h_api)
-
-nodist_libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_HEADERS = \
- $(webkitgtk_built_h_api) \
- $(GENSOURCES_WEBKIT)/webkitenumtypes.h
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
- $(webkitgtk_sources)
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CXXFLAGS = \
- -fvisibility-inlines-hidden \
- $(global_cxxflags)
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CFLAGS = \
- -fvisibility=hidden \
- $(global_cflags)
-
-if ENABLE_SPELLCHECK
-webkitgtk_sources += \
- Source/WebKit/gtk/WebCoreSupport/TextCheckerClientGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/TextCheckerClientGtk.h
-endif
-
-# When building WebCore/WebKit, we want WebCore/config.h and NOT JavaScriptCore/config.h,
-# hence, it's important that WebCore/ should come first before JavaScriptCore in the
-# include path.
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_CPPFLAGS = \
- -DBUILDING_WEBKIT \
- -DPACKAGE_LOCALE_DIR=\"$(localedir)\" \
- -DDATA_DIR=\"${datadir}\" \
- -I$(WebCore)/bindings \
- -I$(WebCore)/bindings/gobject \
- -I$(WebKit) \
- -I$(WebKit)/WebCoreSupport \
- -I$(WebKit)/webkit \
- -I$(GENSOURCES_WEBKIT) \
- -I$(GENSOURCES_WEBKITDOM) \
- -ISource/WebKit/gtk/webkit \
- $(global_cppflags) \
- $(platform_cppflags) \
- $(platformgtk_cppflags) \
- $(platform_webcore_cppflags) \
- $(webcore_cppflags) \
- $(webcoregtk_cppflags) \
- $(javascriptcore_cppflags) \
- $(webkitgtk_cppflags) \
- -fno-strict-aliasing \
- $(COVERAGE_CFLAGS) \
- $(ENCHANT_CFLAGS) \
- $(FREETYPE_CFLAGS) \
- $(GAIL_CFLAGS) \
- $(GEOCLUE_CFLAGS) \
- $(GLIB_CFLAGS) \
- $(GSTREAMER_CFLAGS) \
- $(GTK_CFLAGS) \
- $(LIBSOUP_CFLAGS) \
- $(LIBXML_CFLAGS) \
- $(LIBXSLT_CFLAGS) \
- $(SQLITE3_CFLAGS) \
- $(UNICODE_CFLAGS) \
- $(XCOMPOSITE_CFLAGS) \
- $(XDAMAGE_CFLAGS) \
- $(XT_CFLAGS) \
- $(ZLIB_CFLAGS)
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LDFLAGS = \
- -version-info @LIBWEBKITGTK_VERSION@ \
- $(version_script) \
- $(no_undefined)
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LIBADD := \
- -lpthread \
- libPlatform.la \
- libPlatformGtk.la \
- libWebCore.la \
- libWebCorePlatform.la \
- libWebCoreModules.la \
- libWebCoreDOM.la \
- libWebCoreGtk.la
-
-if ENABLE_INDEXED_DATABASE
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LIBADD += \
- libLevelDB.la
-endif
-
-if USE_OPENGL
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LIBADD += \
- libANGLE.la
-endif
-
-if ENABLE_SVG
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LIBADD += \
- libWebCoreSVG.la
-endif
-
-libwebkitgtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_LIBADD += \
- libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
- $(CAIRO_LIBS) \
- $(COVERAGE_LDFLAGS) \
- $(ENCHANT_LIBS) \
- $(FREETYPE_LIBS) \
- $(GAIL_LIBS) \
- $(GAMEPAD_LIBS) \
- $(GEOCLUE_LIBS) \
- $(GLIB_LIBS) \
- $(GSTREAMER_LIBS) \
- $(GTK_LIBS) \
- $(JPEG_LIBS) \
- $(LIBSECRET_LIBS) \
- $(LIBSOUP_LIBS) \
- $(LIBXML_LIBS) \
- $(LIBXSLT_LIBS) \
- $(OPENGL_LIBS) \
- $(PANGO_LIBS) \
- $(PNG_LIBS) \
- $(SQLITE3_LIBS) \
- $(UNICODE_LIBS) \
- $(WEBP_LIBS) \
- $(XCOMPOSITE_LIBS) \
- $(XDAMAGE_LIBS) \
- $(XRENDER_LIBS) \
- $(XT_LIBS) \
- $(WINMM_LIBS) \
- $(SHLWAPI_LIBS) \
- $(OLE32_LIBS) \
- $(ZLIB_LIBS)
-
-webkitgtk_static_h_api += \
- $(srcdir)/Source/WebKit/gtk/webkit/webkit.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitapplicationcache.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitdefines.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitdom.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitdownload.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkiterror.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitfavicondatabase.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitfilechooserrequest.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecision.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitglobals.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkithittestresult.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkiticondatabase.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitnetworkrequest.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitnetworkresponse.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitsecurityorigin.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitsoupauthdialog.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitspellchecker.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitviewportattributes.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebbackforwardlist.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebdatabase.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebdatasource.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebframe.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebhistoryitem.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebinspector.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebnavigationaction.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebplugin.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebplugindatabase.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebpolicydecision.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebresource.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebsettings.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebwindowfeatures.h \
- $(srcdir)/Source/WebKit/gtk/webkit/webkitwebview.h
-
-webkitgtk_built_h_api += \
- Source/WebKit/gtk/webkit/webkitversion.h
-
-webkitgtk_h_api += \
- $(webkitgtk_built_h_api) \
- $(webkitgtk_static_h_api)
-
-# webkitenumtypes.{h,cpp} cannot be in webkitgtk_built_h_api, because
-# the rule that builds it depends on webkitgtk_built_h_api (circular dependency).
-webkitgtk_built_sources += \
- DerivedSources/webkit/webkitenumtypes.cpp \
- DerivedSources/webkit/webkitenumtypes.h \
- DerivedSources/webkit/webkitmarshal.cpp \
- DerivedSources/webkit/webkitmarshal.h \
- $(webkitgtk_built_h_api)
-
-BUILT_SOURCES += $(webkitgtk_built_sources)
-
-webkitgtk_sources += \
- Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContext.h \
- Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp \
- Source/WebKit/gtk/WebCoreSupport/AssertMatchingEnums.cpp \
- Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h \
- Source/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h \
- Source/WebKit/gtk/WebCoreSupport/DeviceMotionClientGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/DeviceMotionClientGtk.h \
- Source/WebKit/gtk/WebCoreSupport/DeviceOrientationClientGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/DeviceOrientationClientGtk.h \
- Source/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.h \
- Source/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/DragClientGtk.h \
- Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h \
- Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.h \
- Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h \
- Source/WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.h \
- Source/WebKit/gtk/WebCoreSupport/GeolocationClientGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/GeolocationClientGtk.h \
- Source/WebKit/gtk/WebCoreSupport/GtkAdjustmentWatcher.cpp \
- Source/WebKit/gtk/WebCoreSupport/GtkAdjustmentWatcher.h \
- Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.h \
- Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h \
- Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h \
- Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.h \
- Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.h \
- Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.cpp \
- Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.h \
- Source/WebKit/gtk/webkit/webkitapplicationcache.cpp \
- Source/WebKit/gtk/webkit/webkitauthenticationdialog.cpp \
- Source/WebKit/gtk/webkit/webkitauthenticationdialog.h \
- Source/WebKit/gtk/webkit/webkitdownload.cpp \
- Source/WebKit/gtk/webkit/webkitdownloadprivate.h \
- Source/WebKit/gtk/webkit/webkiterror.cpp \
- Source/WebKit/gtk/webkit/webkitfavicondatabase.cpp \
- Source/WebKit/gtk/webkit/webkitfavicondatabaseprivate.h \
- Source/WebKit/gtk/webkit/webkitfilechooserrequest.cpp \
- Source/WebKit/gtk/webkit/webkitfilechooserrequest.h \
- Source/WebKit/gtk/webkit/webkitfilechooserrequestprivate.h \
- Source/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp \
- Source/WebKit/gtk/webkit/webkitgeolocationpolicydecisionprivate.h \
- Source/WebKit/gtk/webkit/webkitglobals.cpp \
- Source/WebKit/gtk/webkit/webkitglobals.h \
- Source/WebKit/gtk/webkit/webkitglobalsprivate.h \
- Source/WebKit/gtk/webkit/webkithittestresult.cpp \
- Source/WebKit/gtk/webkit/webkithittestresultprivate.h \
- Source/WebKit/gtk/webkit/webkiticondatabase.cpp \
- Source/WebKit/gtk/webkit/webkitnetworkrequest.cpp \
- Source/WebKit/gtk/webkit/webkitnetworkrequestprivate.h \
- Source/WebKit/gtk/webkit/webkitnetworkresponse.cpp \
- Source/WebKit/gtk/webkit/webkitnetworkresponseprivate.h \
- Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp \
- Source/WebKit/gtk/webkit/webkitsecurityoriginprivate.h \
- Source/WebKit/gtk/webkit/webkitsoupauthdialog.cpp \
- Source/WebKit/gtk/webkit/webkitspellchecker.cpp \
- Source/WebKit/gtk/webkit/webkitspellcheckerenchant.cpp \
- Source/WebKit/gtk/webkit/webkitspellcheckerenchant.h \
- Source/WebKit/gtk/webkit/webkitversion.cpp \
- Source/WebKit/gtk/webkit/webkitviewportattributes.cpp \
- Source/WebKit/gtk/webkit/webkitviewportattributesprivate.h \
- Source/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp \
- Source/WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h \
- Source/WebKit/gtk/webkit/webkitwebdatabase.cpp \
- Source/WebKit/gtk/webkit/webkitwebdatasource.cpp \
- Source/WebKit/gtk/webkit/webkitwebdatasourceprivate.h \
- Source/WebKit/gtk/webkit/webkitwebframe.cpp \
- Source/WebKit/gtk/webkit/webkitwebframeprivate.h \
- Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp \
- Source/WebKit/gtk/webkit/webkitwebhistoryitemprivate.h \
- Source/WebKit/gtk/webkit/webkitwebinspector.cpp \
- Source/WebKit/gtk/webkit/webkitwebinspectorprivate.h \
- Source/WebKit/gtk/webkit/webkitwebnavigationaction.cpp \
- Source/WebKit/gtk/webkit/webkitwebnavigationactionprivate.h \
- Source/WebKit/gtk/webkit/webkitwebpolicydecision.cpp \
- Source/WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h \
- Source/WebKit/gtk/webkit/webkitwebresource.cpp \
- Source/WebKit/gtk/webkit/webkitwebresourceprivate.h \
- Source/WebKit/gtk/webkit/webkitwebplugin.cpp \
- Source/WebKit/gtk/webkit/webkitwebpluginprivate.h \
- Source/WebKit/gtk/webkit/webkitwebplugindatabase.cpp \
- Source/WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h \
- Source/WebKit/gtk/webkit/webkitwebsettings.cpp \
- Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h \
- Source/WebKit/gtk/webkit/webkitwebview.cpp \
- Source/WebKit/gtk/webkit/webkitwebviewprivate.h \
- Source/WebKit/gtk/webkit/webkitwebwindowfeatures.cpp \
- Source/WebKit/gtk/webkit/webkitwebwindowfeaturesprivate.h
-
-if ENABLE_WEBKIT1
-pkgconfig_DATA += Source/WebKit/gtk/@WEBKITGTK_PC_NAME@-@WEBKITGTK_API_VERSION@.pc
-
-if ENABLE_INTROSPECTION
-WebKit-@WEBKITGTK_API_VERSION@.gir: $(G_IR_SCANNER) JavaScriptCore-@WEBKITGTK_API_VERSION@.gir libwebkitgtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la
- $(AM_V_GEN) \
- CFLAGS="$(CFLAGS) -Wno-deprecated-declarations" \
- $(G_IR_SCANNER) \
- --quiet \
- --warn-all \
- --symbol-prefix=webkit \
- --identifier-prefix=WebKit \
- --namespace=WebKit \
- --nsversion=@WEBKITGTK_API_VERSION@ \
- --include=GObject-2.0 \
- --include=Gtk-@GTK_API_VERSION@ \
- --include=JavaScriptCore-@WEBKITGTK_API_VERSION@ \
- --include=Soup-2.4 \
- --library=webkitgtk-@WEBKITGTK_API_VERSION@ \
- --library=javascriptcoregtk-@WEBKITGTK_API_VERSION@ \
- --libtool="$(LIBTOOL)" \
- --pkg=gobject-2.0 \
- --pkg=gtk+-@GTK_API_VERSION@ \
- --pkg=libsoup-2.4 \
- --pkg-export=webkitgtk-@WEBKITGTK_API_VERSION@ \
- --output=$@ \
- --add-include-path=$(WebKit) \
- --add-include-path=$(top_builddir) \
- --c-include="webkit/webkit.h" \
- -DBUILDING_WEBKIT \
- -I$(srcdir)/Source \
- -I$(WebKit) \
- -I$(GENSOURCES) \
- -I$(GENSOURCES_WEBKITDOM) \
- -I$(GENSOURCES_WEBKIT) \
- -I$(top_builddir)/Source/WebKit/gtk \
- -I$(top_srcdir)/Source/JavaScriptCore/ForwardingHeaders \
- -I$(top_srcdir) \
- $(GENSOURCES_WEBKIT)/webkitenumtypes.h \
- $(webkitgtk_h_api) \
- $(webkitgtk_gdom_built_h_api) \
- $(WebKit)/webkit/*.cpp
-
-WebKit-@WEBKITGTK_API_VERSION@.typelib: WebKit-@WEBKITGTK_API_VERSION@.gir $(G_IR_COMPILER)
- $(AM_V_GEN)$(G_IR_COMPILER) --includedir $(WebKit) --includedir $(top_builddir) $< -o $@
-
-gir_DATA += WebKit-@WEBKITGTK_API_VERSION@.gir
-typelibs_DATA += WebKit-@WEBKITGTK_API_VERSION@.typelib
-CLEANFILES += WebKit-@WEBKITGTK_API_VERSION@.gir WebKit-@WEBKITGTK_API_VERSION@.typelib
-endif
-endif
-
-WEBKIT_MARSHAL_LIST = $(WebKit)/webkitmarshal.list
-$(GENSOURCES_WEBKIT)/webkitmarshal.cpp: stamp-webkitmarshal.cpp
- @true
-$(GENSOURCES_WEBKIT)/webkitmarshal.h: stamp-webkitmarshal.h
- @true
-
-stamp-webkitmarshal.cpp: $(WEBKIT_MARSHAL_LIST)
- $(AM_V_GEN) echo "extern \"C\" {" > $(GENSOURCES_WEBKIT)/webkitmarshal.cpp && \
- $(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT_MARSHAL_LIST) --body >> $(GENSOURCES_WEBKIT)/webkitmarshal.cpp && \
- echo '}' >> $(GENSOURCES_WEBKIT)/webkitmarshal.cpp && \
- echo timestamp > $(@F)
-
-stamp-webkitmarshal.h: $(WEBKIT_MARSHAL_LIST)
- $(AM_V_GEN)$(GLIB_GENMARSHAL) --prefix=webkit_marshal $(WEBKIT_MARSHAL_LIST) --header > $(GENSOURCES_WEBKIT)/webkitmarshal.h && \
- echo timestamp > $(@F)
-
-$(GENSOURCES_WEBKIT)/webkitenumtypes.h: stamp-webkitenumtypes.h
- @true
-stamp-webkitenumtypes.h: $(webkitgtk_h_api) $(WebKit)/GNUmakefile.am
- $(AM_V_GEN)glib-mkenums \
- --fhead "#ifndef WEBKIT_ENUM_TYPES_H\n" \
- --fhead "#define WEBKIT_ENUM_TYPES_H\n\n" \
- --fhead "#include <glib-object.h>\n\n" \
- --fhead "#include <webkit/webkitdefines.h>\n\n" \
- --fhead "G_BEGIN_DECLS\n\n" \
- --ftail "G_END_DECLS\n\n" \
- --ftail "#endif\n" \
- --fprod "#include <webkit/@basename@>\n\n" \
- --eprod "#define WEBKIT_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n\n" \
- --eprod "WEBKIT_API GType\n@enum_name@_get_type(void);\n\n" \
- $(webkitgtk_h_api) | \
- sed 's,web_kit,webkit,' | \
- sed 's,WEBKIT_TYPE_KIT,WEBKIT_TYPE,' \
- > xgen-gth \
- && (cmp -s xgen-gth $(GENSOURCES_WEBKIT)/webkitenumtypes.h || cp xgen-gth $(GENSOURCES_WEBKIT)/webkitenumtypes.h) \
- && rm -f xgen-gth \
- && echo timestamp > $(@F)
-
-$(GENSOURCES_WEBKIT)/webkitenumtypes.cpp: $(webkitgtk_h_api) $(WebKit)/GNUmakefile.am
- $(AM_V_GEN)glib-mkenums \
- --fhead "#include <config.h>\n" \
- --fhead "#include <glib-object.h>\n" \
- --fhead "#include \"$(GENSOURCES_WEBKIT)/webkitenumtypes.h\"\n\n" \
- --fhead "extern \"C\" {\n\n" \
- --fprod "\n/* enumerations from \"@filename@\" */" \
- --vhead "static const G@Type@Value _@enum_name@_values[] = {" \
- --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
- --vtail " { 0, NULL, NULL }\n};\n\n" \
- --vtail "GType @enum_name@_get_type(void)\n{\n" \
- --vtail " static GType type = 0;\n\n" \
- --vtail " if (!type)\n" \
- --vtail " type = g_@type@_register_static(\"@EnumName@\", _@enum_name@_values);\n\n" \
- --vtail " return type;\n}\n\n" \
- --ftail "}\n" \
- $(webkitgtk_h_api) | \
- sed 's,web_kit,webkit,' \
- > xgen-gtc \
- && cp xgen-gtc $@ \
- && rm -f xgen-gtc
-
-EXTRA_DIST += \
- $(WebKit)/ChangeLog \
- $(WebKit)/NEWS \
- $(WebKit)/docs/webkitgtk-docs.sgml \
- $(WebKit)/docs/webkitgtk-sections.txt \
- $(WebKit)/docs/webkitgtk.types \
- $(WebKit)/docs/webkitenvironment.xml \
- $(WebKit)/docs/webkitgtk-overrides.txt \
- $(WebKit)/webkitmarshal.list \
- $(WebKit)/resources/* \
- $(WebKit)/tests/resources/* \
- $(WebKit)/tests/test_utils.h
-
-# extra resource files
-resourcesdir = ${datadir}/webkitgtk-@WEBKITGTK_API_VERSION@/resources
-dist_resources_DATA = \
- $(shell ls $(srcdir)/Source/WebKit/gtk/resources/*.html)
-
-# Build unit tests
-webkit_tests_cflags = \
- -fno-strict-aliasing \
- -I$(srcdir)/Source/JavaScriptCore/ForwardingHeaders \
- -I$(WebKit) \
- -I$(GENSOURCES) \
- -I$(top_builddir)/Source/WebKit/gtk \
- -I$(top_srcdir)/Source/WebCore/bindings \
- -I$(top_srcdir)/Source/WebCore/bindings/gobject \
- $(global_cppflags) \
- $(global_cflags) \
- $(javascriptcore_cppflags) \
- $(FREETYPE_CFLAGS) \
- $(GLIB_CFLAGS) \
- $(GTK_CFLAGS) \
- $(LIBSOUP_CFLAGS) \
- $(XRENDER_CFLAGS) \
- $(XT_CFLAGS)
-
-webkit_tests_ldadd = \
- libjavascriptcoregtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
- libwebkitgtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la \
- $(FREETYPE_LIBS) \
- $(GTK_LIBS) \
- $(GLIB_LIBS) \
- $(LIBSOUP_LIBS) \
- $(XRENDER_LIBS)
-
-webkit_tests_ldflags = \
- -no-install \
- -no-fast-install
-
-if ENABLE_WEBKIT1
-noinst_PROGRAMS += \
- Programs/unittests/testapplicationcache \
- Programs/unittests/testcontextmenu \
- Programs/unittests/testdomdocument \
- Programs/unittests/testdomdomwindow \
- Programs/unittests/testdomnode \
- Programs/unittests/testhttpbackend \
- Programs/unittests/testfavicondatabase \
- Programs/unittests/testloading \
- Programs/unittests/testglobals \
- Programs/unittests/testmimehandling \
- Programs/unittests/testnetworkrequest \
- Programs/unittests/testnetworkresponse \
- Programs/unittests/testwebframe \
- Programs/unittests/testwebbackforwardlist \
- Programs/unittests/testwebhistoryitem \
- Programs/unittests/testwindow \
- Programs/unittests/testdownload \
- Programs/unittests/testatk \
- Programs/unittests/testatkroles \
- Programs/unittests/testhittestresult \
- Programs/unittests/testwebinspector \
- Programs/unittests/testwebsettings \
- Programs/unittests/testwebresource \
- Programs/unittests/testwebdatasource \
- Programs/unittests/testwebplugindatabase \
- Programs/unittests/testwebview \
- Programs/unittests/testkeyevents \
- Programs/unittests/testcopyandpaste
-endif
-
-# Add additional tests here
-Programs_unittests_testapplicationcache_SOURCES = Source/WebKit/gtk/tests/testapplicationcache.c
-Programs_unittests_testapplicationcache_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testapplicationcache_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testapplicationcache_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testcontextmenu_SOURCES = Source/WebKit/gtk/tests/testcontextmenu.c
-Programs_unittests_testcontextmenu_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testcontextmenu_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testcontextmenu_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testdomdocument_SOURCES = Source/WebKit/gtk/tests/testdomdocument.c
-Programs_unittests_testdomdocument_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testdomdocument_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testdomdocument_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testdomdomwindow_SOURCES = Source/WebKit/gtk/tests/testdomdomwindow.c
-Programs_unittests_testdomdomwindow_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testdomdomwindow_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testdomdomwindow_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testdomnode_SOURCES = Source/WebKit/gtk/tests/testdomnode.c
-Programs_unittests_testdomnode_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testdomnode_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testdomnode_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testhttpbackend_SOURCES = Source/WebKit/gtk/tests/testhttpbackend.c
-Programs_unittests_testhttpbackend_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testhttpbackend_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testhttpbackend_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testfavicondatabase_SOURCES = Source/WebKit/gtk/tests/testfavicondatabase.c Source/WebKit/gtk/tests/test_utils.c
-Programs_unittests_testfavicondatabase_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testfavicondatabase_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testfavicondatabase_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testglobals_SOURCES = Source/WebKit/gtk/tests/testglobals.c
-Programs_unittests_testglobals_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testglobals_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testglobals_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testloading_SOURCES = Source/WebKit/gtk/tests/testloading.c
-Programs_unittests_testloading_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testloading_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testloading_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testmimehandling_SOURCES = Source/WebKit/gtk/tests/testmimehandling.c Source/WebKit/gtk/tests/test_utils.c
-Programs_unittests_testmimehandling_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testmimehandling_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testmimehandling_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testnetworkrequest_SOURCES = Source/WebKit/gtk/tests/testnetworkrequest.c
-Programs_unittests_testnetworkrequest_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testnetworkrequest_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testnetworkrequest_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testnetworkresponse_SOURCES = Source/WebKit/gtk/tests/testnetworkresponse.c
-Programs_unittests_testnetworkresponse_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testnetworkresponse_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testnetworkresponse_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testwebframe_SOURCES = Source/WebKit/gtk/tests/testwebframe.c
-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 = Source/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 = Source/WebKit/gtk/tests/testwebbackforwardlist.c
-Programs_unittests_testwebbackforwardlist_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebbackforwardlist_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testwebbackforwardlist_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testwebhistoryitem_SOURCES = Source/WebKit/gtk/tests/testwebhistoryitem.c
-Programs_unittests_testwebhistoryitem_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebhistoryitem_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testwebhistoryitem_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testwindow_SOURCES = Source/WebKit/gtk/tests/testwindow.c
-Programs_unittests_testwindow_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwindow_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testwindow_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testdownload_SOURCES = Source/WebKit/gtk/tests/testdownload.c
-Programs_unittests_testdownload_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testdownload_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testdownload_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testatk_SOURCES = Source/WebKit/gtk/tests/testatk.c
-Programs_unittests_testatk_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testatk_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testatk_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testatkroles_SOURCES = Source/WebKit/gtk/tests/testatkroles.c
-Programs_unittests_testatkroles_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testatkroles_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testatkroles_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testwebinspector_SOURCES = Source/WebKit/gtk/tests/testwebinspector.c Source/WebKit/gtk/tests/test_utils.c
-Programs_unittests_testwebinspector_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebinspector_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testwebinspector_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testwebsettings_SOURCES = Source/WebKit/gtk/tests/testwebsettings.c
-Programs_unittests_testwebsettings_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebsettings_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testwebsettings_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testwebresource_SOURCES = Source/WebKit/gtk/tests/testwebresource.c
-Programs_unittests_testwebresource_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebresource_LDADD = $(webkit_tests_ldadd)
-
-Programs_unittests_testwebdatasource_SOURCES = Source/WebKit/gtk/tests/testwebdatasource.c
-Programs_unittests_testwebdatasource_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebdatasource_LDADD = $(webkit_tests_ldadd)
-
-Programs_unittests_testwebview_SOURCES = Source/WebKit/gtk/tests/testwebview.c Source/WebKit/gtk/tests/test_utils.c
-Programs_unittests_testwebview_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testwebview_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testwebview_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testhittestresult_SOURCES = Source/WebKit/gtk/tests/testhittestresult.c
-Programs_unittests_testhittestresult_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testhittestresult_LDADD = $(webkit_tests_ldadd)
-
-Programs_unittests_testkeyevents_SOURCES = Source/WebKit/gtk/tests/testkeyevents.c
-Programs_unittests_testkeyevents_CFLAGS = $(webkit_tests_cflags)
-Programs_unittests_testkeyevents_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testkeyevents_LDFLAGS = $(webkit_tests_ldflags)
-
-Programs_unittests_testcopyandpaste_SOURCES = Source/WebKit/gtk/tests/testcopyandpaste.c \
- Source/WebCore/platform/gtk/GtkVersioning.c
-Programs_unittests_testcopyandpaste_CFLAGS = $(webkit_tests_cflags) \
- -I$(srcdir)/Source/WebCore/platform/gtk \
- -I$(srcdir)/Source/WebCore
-Programs_unittests_testcopyandpaste_LDADD = $(webkit_tests_ldadd)
-Programs_unittests_testcopyandpaste_LDFLAGS = $(webkit_tests_ldflags)
-
-# Project-wide clean rules
-# Files that will be cleaned
-CLEANFILES += \
- $(BUILT_SOURCES) \
- $(top_builddir)/stamp-webkitmarshal.cpp \
- $(top_builddir)/stamp-webkitmarshal.h \
- $(top_builddir)/stamp-webkitenumtypes.cpp \
- $(top_builddir)/stamp-webkitenumtypes.h \
- $(top_builddir)/Programs/GtkLauncher
-
-DISTCLEANFILES += \
- $(top_builddir)/Source/WebKit/gtk/@WEBKITGTK_PC_NAME@-@WEBKITGTK_API_VERSION@.pc \
- $(top_builddir)/Source/WebKit/gtk/org.webkitgtk-@WEBKITGTK_API_VERSION@.gschema.xml \
- $(top_builddir)/Source/WebKit/gtk/webkit/webkitversion.h
diff --git a/Source/WebKit/gtk/NEWS b/Source/WebKit/gtk/NEWS
deleted file mode 100644
index bc2ea8b64..000000000
--- a/Source/WebKit/gtk/NEWS
+++ /dev/null
@@ -1,1435 +0,0 @@
-=================
-WebKitGTK+ 2.1.3
-=================
-
-What's new in WebKitGTK+ 2.1.3?
-
- - Add support for preload="metadata" to GStreamer media backend.
- - Do not expose '\n' for wrapped lines with ATK_TEXT_BOUNDARY_CHAR.
- - Fix potential race condition in GStreamer media backend when
- getting the video sink caps.
- - Fix performance issues rendering a page with animations.
- - Several fixes and improvements in GStreamer video accelerated
- compositing support.
- - Adjust internal size on GStreamer HTTP source element when
- receiving data if necessary.
- - Actually disable the memory cache when DOCUMENT_VIEWER cache model
- is used in WebKit1.
- - Fix runtime critical warning in WebKit2 when unloading a module
- that failed to load.
- - Fix several memory leaks.
-
-=================
-WebKitGTK+ 2.1.2
-=================
-
-What's new in WebKitGTK+ 2.1.2?
-
- - Set the subresources load priority using new libsoup API available
- in 2.43.
- - Do not use X11 WidgetBackingStore implementation in Wayland.
- - Support using GLContext from multiple threads.
- - Make sure gstreamer source element is thread-safe.
- - Prevent race condition when pad caps is set on gstreamer player.
- - Invalidate the ProcessLauncher when the process is terminated
- before it has finished launching
- - Use custom cairo code instead of Pango API for highlighting
- misspelled words.
- - Respect PKG_CONFIG env variable when generating gtk-doc.
- - Fix a crash due to an assert in gstreamer backend when seeking.
- - Fix memory leak when web process is terminated.
- - Translation updates: Telugu, Hindi, Kannada, Odia.
-
-=================
-WebKitGTK+ 2.1.1
-=================
-
-What's new in WebKitGTK+ 2.1.1?
-
- - Add webkit_uri_scheme_request_finish_error to WebKit2 GTK+ API.
- - Add a setting to control whether or not accelerated 2D canvas is
- enabled in WebKit2.
- - Add a setting to WebKit2 to allow sending console log messages to
- stdout.
- - Always use EGL to create the GL context when running on Wayland.
- - Fix rendering of WebKitWebView child widgets with recent GTK+.
- - Notify the web process in WebKitURISchemeRequest when we fail to read
- from the user InputStream.
- - Fixed race conditions closing the socket descriptor when the web
- process crashes.
- - Add video accelerated compositing support to the GStreamer backend.
- - Add support for audio/speex MIME type to the GStreamer backend.
- - Fix seek after video finished in GStreamer backend.
- - Initialize WebKitWebPlugin path to prevent double-free in WebKit1.
- - Fix several GObject instrospection warnings.
- - Fixed several memory leaks.
-
-=================
-WebKitGTK+ 1.11.5
-=================
-
-What's new in WebKitGTK+ 1.11.5?
-
- - Fix crashes related to libsoup, gstreamer, and accessibility.
- - Implement the WebKit2 resources API using the injected bundle.
- - Add API to prefetch DNS of a given hostname to the WebKit2 API.
- - Move Authentication and Downloads from WebProcess to Shared in
- WebKit2.
- - Many improvements to the GStreamer backend including the resurrection of
- the native fullscreen mode for increased performance, support for
- setPreservesPitch, bug fixes, support for Opus files, and
- some other performance improvements.
- - New features enabled: CSS Image Resolution, CSS Image Orientation,
- and the performance timeline in the Web Inspector via resource timing
- and navigation timing.
- - Add support for blend modes to the Cairo backend.
- - Fix for checkSpellingOfString erroneously treating multiple words
- as spelled correctly.
- - Characters outside the BMP are now properly rendered.
- - Synthetic bold is now applied to fallback fonts properly.
- - Better drag and drop icons during drags on non-composited desktops.
- - The page title is now preserved in WebKit when disappearing when clicking on
- an anchor link.
- - The web database path setting in WebKit1 now also controls where IndexedDB
- databases are stored.
- - Fix various issues in the build tools, testing tools, Web Inspector, and
- MiniBrowser.
-
-
-=================
-WebKitGTK+ 1.11.4
-=================
-
-What's new in WebKitGTK+ 1.11.4?
-
- - Add support for loading web process extensions to WebKit2 GTK+.
- - Embed the HTTP authentication dialog into the WebView in WebKit2.
- - Add support for IME Composition to WebKit2.
- - Add API to notify about display/execution of insecure content to
- WebKit2 GTK+ API.
- - Add GTK+ API to set a WebKitWebView in view source mode to WebKit2.
- - Add API to set a TLS errors policy to WebKit2 GTK+ API.
- - Add WEBKIT_HIT_TEST_RESULT_CONTEXT_SCROLLBAR to WebKit2 GTK+ API.
- - Add support for remote Web Inspector to WebKit2.
- - Complete the documentation od sections in WebKit2 GTK+ API.
- - Fix cookies and custom URI requests when the web process is
- re-launched after a crash.
- - Fix a crash in WebKit2 when running inside Xvfb.
- - Fix a crash in WebKit2 when the WebView is resized with the
- inspector attached.
- - Use Harfbuzz instead of Pango in GTK+ port.
- - Add support for WebP image.
- - Port WebAudio backend to GStreamer 1.0 API.
- - Fix the buffering ranges reported with GStreamer 1.0.
- - Implement multipart/x-mixed-replace in the soup network backend.
- - Fix invalid entries for plugins in navigator.plugins.
- - Add implementation for AccessibilityUIElementGtk::isSelectable()
- and AccessibilityUIElementGtk::isMultiSelectable().
- - Expose ARIA roles for tab, tabpanel and tablist.
- - Fixed several memory leaks.
-
-=================
-WebKitGTK+ 1.11.2
-=================
-
-What's new in WebKitGTK+ 1.11.2?
-
- - Implement inspector server on Linux for remote debugging.
- - Add support for password remembering to HTTP authentication
- dialog in WebKit2 using libsecret.
- - Add API to get favicons to WebKit2 GTK+ API.
- - Add API to get the WebKitWebView associated to a WebKitDownload to
- WebKit2 GTK+.
- - Add GObject introspection support to WebKit2 GTK+ API.
-
-=================
-WebKitGTK+ 1.11.1
-=================
-
-What's new in WebKitGTK+ 1.11.1?
-
- - Make WebKitWebView work again inside a GtkOverlay by not using a
- native window for Accelerated Compositing implementation.
- - Use XDamage to improve accelerated compositing performance.
- - Enable the edge distance anti-aliasing for accelerated compositing
- layers.
- - Add support to build with EGL OpenGL backend.
- - Add support for WebAudio.
- - Fix several API breaks in DOM bindings introduced in 1.9.6.
- - Save the original URI for downloaded files as GIO metadata of the
- destination file.
- - Add API for controlling the user agent to WebKit2.
- - Add API to WebKit2 to allow running JavaScripts from a
- WebKitWebView using a GResource containing the script.
- - Add Undo/Redo and SelectAll predefined editing commands to WebKit2
- GTK+ API.
- - Add a setting to enable/disable smooth scrolling to WebKit2 GTK+
- API.
- - Add API to get the web view that initiated a custom URI request to
- WebKit2 GTK+.
- - Implement ViewState methods of WebKitWebView in WebKit2.
- - Add API to get/set the security policy of a given URI scheme to
- WebKit2 GTK+.
- - Add WebKitWebView:is-loading property to WebKit2 GTK+ API.
- - Change spellchecker languages API in WebKit2 to use a GStrv for
- the list of languages to make the API more consistent and
- convenient to use.
- - Add destroy notify parameter to
- webkit_web_context_register_uri_scheme in WebKit2 GTK+ API.
- - Replace webkit_web_view_replace_content with
- webkit_web_view_load_alternate_html in WebKit2 GTK+ API.
- - Rename WebKitWebView "print-requested" signal to "print" in
- WebKit2 GTK+ API for consistenty.
- - Add API to set preferred languages to WebKit2 GTK+.
- - Add webkit_uri_response_get_suggested_filename to WebKit2 GTK+
- API.
- - Add API to save a web page in MHTML format to WebKit2 GTK+.
- - Implement smart separators for context menu in WebKit2 GTK+.
- - Sanitize the suggested filename when building the download
- destination URI in WebKit2.
- - Fix disk cache in WebKit2 to actually dump the contents to disk.
- - Fix a crash in WebKit2 when navigating between pages in the
- history cache.
- - Fix a crash in WebKit2 when a download initiated by the policy
- checker fails.
- - Fix a crash in network backend with non-UTF8 HTTP header names.
- - Properly close audio device after playing sound.
- - Purge unused favicons from IconDatabase after 30 days.
- - Properly expose <legend> elements to ATs.
- - The new accessibility CanvasRole is now mapped to ATK_ROLE_CANVAS.
- - Fix an infinite loop in accessibility code.
- - Fix a crash in
- AccessibilityObject::accessibilityPlatformIncludesObject().
- - Fix a crash in WebCore::HTMLSelectElement::selectedIndex().
- - Fix caret-moved events not emitted for certain content.
- - Fix incorrect/unexpected characters in the text of certain
- accessibles.
- - Implement AccessibilityUIElement::titleUIElement() and
- AccessibilityUIElement::stringValue().
- - Expose ROLE_TOGGLE_BUTTON instead of ROLE_PUSH_BUTTON when
- aria-pressed is present.
- - Fix LLint build with -g -02.
- - Properly process GDK_SMOOTH_SCROLL events.
- - Fix several memory leaks.
-
-=================
-WebKitGTK+ 1.9.6
-=================
-
-What's new in WebKitGTK+ 1.9.6?
-
- - Add spell checker API to WebKit2 GTK+ API.
- - Add WebKitWebView::submit-form signal to WebKit2 GTK+ API.
- - Add API to get the suggested filename from a
- WebKitNetworkResponse.
- - Add webkit_web_view_get_snapshot() to WebKit1 API.
- - Paste primary selection when middle clicking in X11 WebKit2.
- - Make sure WebKitWebView always has a main resource and it has
- already been set when the load has been committed, even for pages
- loaded from the history cache in WebKit2.
- - Fix a run time critical warning when gdk_window_get_cursor() is
- called before WebKitWebView has been realized in WebKit2.
- - Fix continuous insertion of newlines in Etherpad.
- - Fix several memory leaks.
-
-=================
-WebKitGTK+ 1.9.5
-=================
-
-What's new in WebKitGTK+ 1.9.5?
-
- - Add API to get HTTPS status to WebKit2 GTK+.
- - Add API to clear the cache to WebKit2 GTK+.
- - Add webkit_cookie_manager_set_persistent_storage() to WebKit2 GTK+
- API.
- - Improve performance of searching in WebKit2.
- - Implement disk cache in WebKit2.
- - Add site specific quirks setting to WebKit2 GTK+ API.
- - Add a setting to enable/disable page cache to WebKit2 GTK+ API.
- - Add WebKitWebView::context-menu-dismissed signal to WebKit2 GTK+
- API.
- - Add webkit_web_frame_get_dom_document() to WebKit GTK+ API.
- - Use soup_cookie_jar_is_persistent() to set whether cookie is a
- session one or not.
- - Fix recognition of contractions (apostrophes) in spell checker.
- - Fix a crash when showing the context menu in the Web Inspector.
- - WebKitWebView::mouse-target-changed is not emitted when moved
- to/from editable content.
- - Fix inspector detach when inspector was attached by the client in
- WebKit2.
- - Don't show accel labels in WebKit2 context menu items.
- - Cache the video dimensions to not query the video-sink sink-pad
- caps every time.
- - Fix several memory leaks.
-
-=================
-WebKitGTK+ 1.9.4
-=================
-
-What's new in WebKitGTK+ 1.9.4?
-
- - Add an accelerated compositing implementation for WebKit2.
- - Add API to register custom URI schemes to WebKit2 GTK+ API.
- - Add support for window.showModalDialog in WebKit2 GTK+ API.
- - Add webkit_download_get_received_data_length to WebKit2 GTK+ API.
- - Add ContextMenu API to WebKit2 GTK+.
- - Add Geolocation permission requests API to WebKit2 GTK.
- - Add API to get the library version to WebKit2 GTK+.
- - Add WebKitWebView::run-file-chooser signal to WebKit1 API.
- - Port the video sink to GStreamer 0.11 API.
- - Add TextureMapper ImageBuffer support as a fallback from the
- hardware accelerated path
- - Add input methods submenu item to the default context menu for
- editable content.
- - Unmark highlighted text matches when find operation finishes.
- - Honor the device scale factor property when drawing.
- - Prevent setting or editing httpOnly cookies from JavaScript.
- - Fix several memory leaks.
-
-=================
-WebKitGTK+ 1.9.3
-=================
-
-What's new in WebKitGTK+ 1.9.3?
-
- - Add webkit_download_get_request to WebKit2 GTK+ API.
- - Add API to get the list of plugins to WebKit2 GTK+.
- - Add webkit_web_view_can_show_mime_type() to WebKit2 GTK+ API.
- - Add GCancellable parameter to all methods using gio async pattern
- in WebKit2 GTK+ API.
- - Add settings to enable and disable composited layer indicators to
- WebKit2 GTK+ API.
- - Add generic permission requests API to WebKit2 GTK+ API.
- - Add initial inspector API to WebKit2 GTK+.
- - Allow to attach/detach the inspector in WebKit2.
- - Add media-playback-requires-user-gesture and
- media-playback-allows-inline settings to WebKit1 and WebKit2 GTK+.
- - Use defers loading instead of pausing the soup message in
- WebKitDownload.
- - Properly set the input method context window location.
- - Fix a crash in the WebProcess when a download is started from
- an existing ResourceHandle.
- - Fix cursor used for ne-resize.
- - Fix contractions recognition by the spell checker.
- - Fix a crash rendering scrollbars on GTK wxWebkit.
- - Fix KURL::fileSystemPath() implementation to strip the query part
- of the uri.
- - Check for GTK2/GTK3 symbol mismatch earlier to fix plugins run
- with nspluginwrapper.
- - Fix thin archives support while building GTK+ port.
- - Fix several memory leaks.
- - Fix several compilation warnings.
-
-=================
-WebKitGTK+ 1.9.2
-=================
-
-What's new in WebKitGTK+ 1.9.2?
-
- - Fix exceeding arguments list build problem, by splitting more
- files off libWebCore into the new libWebCoreModules convenience
- library.
- - Remove left over soup_session_pause_message() and properly handle
- that case for defersLoading.
- - Fix response being the new one instead of the one that caused the
- redirect when emitting WebKitWebView::resource-request-starting.
- - Refactor of IME handling to fix bugs and prepare for sharing with
- WebKit2.
- - Add file chooser API to WebKit2.
-
-=================
-WebKitGTK+ 1.9.1
-=================
-
-What's new in WebKitGTK+ 1.9.1?
-
- - Geolocation support is built by default now. Use
- --disable-geolocation during build to disable it.
- - LINGUAS environment variable is honored now.
- - Throttle DNS prefetching to avoid overloading the resolver.
- - Remove defunct WebInspector GSettings mapping.
- - Fix a crash when emitting signals with a GError parameter when
- using GObject Introspection.
- - Fix flickering during scrolling and resizing in newer versions of
- GTK+.
- - Fix a bug where the Content-Length header was not sent for certain
- XMLHttpRequests.
- - Fix a WebProcess segmentation fault related to clipboard handling.
- - Fix a repainting error that occurred during interior frame
- scrolling.
- - Fix a crash when WebKitWebView is created without a WebContext.
- - Fix a crash that could occur during synchronous XMLHttpRequests.
- - Fix rendering of combobox / menulist buttons that do not have
- separators.
- - Fix the rendering of toggle buttons with larger-than-default
- widths and heights with the Adwaita theme.
- - Fix misrendering of text shadow extents in some situations.
- - Fix a crash when closing browser with inspector window opened.
- - Now interpret plugin metadata as UTF-8.
- - Fix rendering of GtkWidgets embedded on WebKitWebView.
- - Web content (except plugins) should no longer steal focus from
- other GTK+ widgets.
- - WebKit will try to use the default libsoup proxy resolver
- automatically.
- - Performance improvements in WebKitWebView by avoiding doing a lot
- of work in size_allocate when the view is not mapped.
- - Web Timing is now enabled.
- - Add support for smooth scrolling.
- - Implement unicode submenu items.
- - FFTFrame implementation in GStreamer backend.
- - More work on GStreamer 0.11 support.
- - Add support for windowed plugins in WebKit2.
- - Add full printing support to WebKit2.
- - Add a new favicon database API that corrects the problems of the
- old one.
- - Add WebKitWebView::context-menu signal to allow applications to
- handle its own context menu. WebKitWebView::populate-popup signal
- and default-context setting are now deprecated.
- - Well known names for menu items in the default context menu are
- now exposed in an enumeration.
- - Add entering/leaving fullscreen signals to WebKit API.
- - Add enable-webaudio setting to WebKit2 GTK+ API.
- - Add support for registering custom uri schemes in WebKit2.
- - Add WebKitWebView::mouse-target-changed signal to WebKit2 GTK+
- API.
- - Add enter/leave fullscreen signals to WebKit2 GTK+ API.
- - Add find API to WebKit2 GTK+ API.
- - Use a single signal for script dialogs in WebKit2 GTK+ API.
- - Add cookies API to WebKit2 GTK+ API.
- - Add webkit_print_operation_print() to WebKit2 GTK+ API.
- - Add resources API to WebKit2 GTK+ API.
- - Add support for Response policy decisions to WebKit2 GTK+ API.
- - Add javascript clipboard functionality settings to WebKit2 GTK+
- API.
- - Add cut, copy and paste methods to WebKit2 GTK+ API.
- - Add zoom-text-only setting to WebKit2 GTK+ API.
- - Add webkit_web_view_run_javascript() to WebKit2 GTK+ API.
-
-=================
-WebKitGTK+ 1.7.5
-=================
-
-What's new in WebKitGTK+ 1.7.5?
-
- - Add new signals to track resources loading.
- - Add --no-timeout command line option to DumpRenderTree.
- - Expose accessibility hierarchy in WebKit2 to ATK/AT-SPI based ATs.
- - Allow to build using extra jhbuild modulesets.
- - Fix emission of ATK text-caret-moved and text-selection-changed
- events.
- - Update primary clipboard with the current selection in X11
- platforms in WebKit2.
- - Implement the policy client in WebKit2 GTK+ API.
- - Add basic printing support to WebKit2.
- - Do not add unnecessary blanks at the end of a line of text to fix.
- the line returned by atk_text_get_text_at_offset().
- - Make sure input text field is repainted when value is changed.
- - Add print-backgrounds setting to WebKit2 GTK+ API.
- - Respect the has-backward-stepper and has-forward-stepper
- properties when drawing scrollbars.
- - WebKit-3.0.gir now includes information about C includes or
- exported packages.
- - WebKit1 API documentation was not generated when building with
- gtk-2.0.
- - Make WebKitWebView work inside a GtkOffscreenWindow.
- - Implement DownloadClient and add downloads API to WebKit2 GTK+
- API.
-
-=================
-WebKitGTK+ 1.7.4
-=================
-
-What's new in WebKitGTK+ 1.7.4?
-
- - Fix a11y regression: text-inserted events lack text inserted and
- current line.
- - Fix scrollbars in WebKit2 that were drawn behind the window resize
- grip.
- - Fix a memory leak in WebKitWebSourceGStreamer.
- - Slider thumb is not centered on the track with the unico theme.
- - Fix context menu in WebKit2 to not dissapear right after it's shown.
- - Use GtkOrientable style class in GTK+ 3 theming code.
- - Change default WebSocket protocol to the latest one (hybi-17).
- - Fix scrollbars size with GTK+ 3.x to follow the current theme.
- - Use gdk_screen_get_monitor_workarea() when available for
- screenAvailableRect().
- - Rename webkit_web_view_load_alternate_html as
- webkit_web_view_replace_content in WebKit2 GTK+.
- - Fix emission of ATK text-caret-moved and text-selection-changed events.
- - Add methods to get/set the WebView zoom level to WebKit2 GTK+ API.
- - Make WebProcess and PluginProcess use the same locale as the UI process.
- - Simplify WebKit2 loader client API.
-
-=================
-WebKitGTK+ 1.7.3
-=================
-
-What's new in WebKitGTK+ 1.7.3?
-
- - WebGL is now enabled by default.
- - Initial support for accelerated compositing has been added.
- - Add fullscreen setting to WebKit2 GTK+ API.
- - Fix regression of Push buttons that didn't expose their displayed
- text/name to accessibility toolkit.
- - Initial UI client implementation for WebKit2 GTK+ API.
- - Implement HTML5 History APIs.
- - Implement cookies management in WebKit2.
- - Fix a crash when a download fails.
- - Add support for javascript dialogs in WebKit2 GTK+ API.
- - Add 'enable-dns-prefetching' setting to WebKit2 GTK+ API.
- - Initial support for WebAudio data playback.
- - Add enable-webaudio setting.
- - Links are now focused with Tab by default in WebKit2.
- - Fix HTML5 Youtube video fullscreen button.
- - Improve description of WebSocket errors.
- - Add WebKitWindowProperties to WebKit2 GTK+ API.
- - Fullscreen controller support for the new WebKit Fullscreen API.
- - Add WebKitURIResponse to WebKit2 GTK+ API.
- - Fix random crash in pages containing plugins.
- - Fix loading of custom fonts in some web sites like surlybikes.com
- or boingboing.net.
-
-=================
-WebKitGTK+ 1.7.2
-=================
-
-What's new in WebKitGTK+ 1.7.2?
-
- - Fix process freeze when right-clicking on windowless Flash.
- - Performance improvements by avoiding unnecessary clips while
- painting.
- - Notify errors happening on downloads not started by a web view.
- - Allow building with GLib >= 2.31.
- - Significant JavaScript performance improvements on x86 and x86-64.
- - Fix application cache directory in WebKit2.
- - Add initial support for cookies in WebKit2.
- - Implement support for downloads in WebKit2.
- - Add methods to load HTML and plain text to WebKit2 GTK+ API.
- - Add webkit_web_view_get_uri() to WebKit2 GTK+ API.
- - Don't show items in option elements with display:none.
- - Add webkit_web_view_load_request() to WebKit2 GTK+ API.
- - Add support for WebAudio AudioFileReader.
- - Port MiniBrowser to use WebKit2 GTK+ API instead of the C API.
- - Add more settings to WebKitSettings in WebKit2 GTK+ API: Private
- browsing, developer extras, resizable text areas, tabs to links,
- caret mode, font settings, default charset.
- - Fix windowless plugins drawing in WebKit2.
- - Fix memory leak when fullscreening a video.
- - Remove visited links from page's page group when clearing back
- forward list.
- - Switch to a backing store approach for painting WebKitWebView. It
- improves scrolling performance.
- - Add methods to get/set the settings of a web view to WebKit2 GTK+
- API.
- - Add webkit_settings_new_with_settings() to WebKit2 GTK+ API.
- - Add title property to WebKitWebView in WebKit2 GTK+ API.
-
-=================
-WebKitGTK+ 1.7.1
-=================
-
-What's new in WebKitGTK+ 1.7.1?
-
- - Fix a problem with scroll adjustments tha made scrollbars become
- out of sync with the page contents.
- - Show title of option control items in a tooltip.
- - Improve scrolling performance for pages containing windowed
- plugins.
- - Use GtkGrid instead of GtkTable in authentication dialogs.
- - Fix compatibility issues with DOM bindings.
- - Fix video pause/play in fullscreen.
- - Add support for pseudo-italics on freetype fonts when italic font
- is requested but Fontconfig gives one that is neither oblique
- nor italic.
- - Fix test rendering issues due to custom fonts which use synthetic
- oblique rendering.
- - Support for client-based geolocation.
- - Add support for sending encoded blob data during network requests.
- - Use SOCK_SEQPACKET when available for sockets used to communicate
- processes in WebKit2.
- - Add gtk-doc support to generate WebKit2 GTK+ API documentation.
- - Implement default error pages in WebKit2.
- - Initial implementation of WebInspector for WebKit2.
- - Implement drag and drop support in WebKit2.
- - TextChecker implementation for WebKit2.
- - Initial implementation of back forward list for WebKit2 GTK+ API.
- - Initial implementation of view settings for WebKit2 GTK+ API.
- - Initial implementation of loader client for WebKit2 GTK+ API.
- - Implement cache model for WebKit2
- - Initial implementation of web context for WebKit2 GTK+ API.
- - Add methods to get/set a custom text enconding to WebKit2 GTK+
- API.
- - Add WebKitError to WebKit2 GTK+ API.
-
-This is the first release providing a minimal working WebKit2 GTK+
-API. This API is still under design and development, so use it
-carefully and take into account that it might change.
-
-=================
-WebKitGTK+ 1.5.90
-=================
-
-What's new in WebKitGTK+ 1.5.90?
-
- - Bumped GStreamer requirement to 0.10.30.
- - Switch to GTK+3 by default. GTK+2 is still required for the
- WebKit2 plugin process though.
- - Create pot files in builddir.
- - Improvements in the WebKit2GTK+ port.
- - Lots of bugfixes.
-
-================
-WebKitGTK+ 1.5.2
-================
-
-What's new in WebKitGTK+ 1.5.2?
-
- - Remove G_CONST_RETURN usage througout WebKit, it's deprecated in
- glib.
- - Add plugin process support in WebKit2. Now (GTK+2) plugins can
- work again with a GTK+3 build.
- - Add API to set local storage database path.
- - Further UA spoofing for Google Calendar, since it assumes
- Linux+WebKit means mobile (ugh).
- - Lots of bugfixes.
-
-================
-WebKitGTK+ 1.5.1
-================
-
-What's new in WebKitGTK+ 1.5.1?
-
- - The JSC library is now available independently. It's called
- "libjavascriptcoregtk", and it comes with its own pkg-config file.
- - New spellchecking APIs, useful to implement spellchecking features
- in the UAs.
- - New DOM methods to check if editable areas have been modified by
- the user (webkit_dom_html_{input,text_area}_is_edited).
- - Lots of improvements in the WebKit2GTK+ port.
- - Lots of bugfixes.
-
-=================
-WebKitGTK+ 1.3.13
-=================
-
-What's new in WebKitGTK+ 1.3.13?
-
-In this release the GObject DOM Bindings contain a major change. Explicit
-invocation of DOM objects' addEventListener methods has replaced the GObject
-signal method of DOM event handling. For intance, where before a developer
-would connect to the "click-event" signal, a developer must now call:
-webkit_dom_event_target_add_event_listener. For a more illustrative example see:
-http://trac.webkit.org/changeset/81486/trunk/Source/WebKit/gtk/tests/testdomdomwindow.c
-
-Added API to control the IconDatabase and the cache database APIs.
-
-WebKit bugs mostly relevant with the GTK+ port fixed since 1.3.12:
-
-Bug 23526 - [CAIRO] Support ImageBuffers clip operation on all Cairo ports (Martin Robinson)
-Bug 56180 - [GTK] JSC crashes in 32bit Release bots after r80743 (Martin Robinson)
-Bug 56180 - [GTK] JSC crashes in 32bit Release bots after r80743 (Geoffrey Garen)
-Bug 49649 - [GTK] On-demand event-listeners for DOM event signals (David Keijser)
-Bug 56333 - [GTK] [WebKit2] The UIProcess never changes the mouse cursor (Martin Robinson)
-Bug 55989 - [GTK] Possible leaks after splitting TextCheckerClientEnchant. (Ryuan Choi)
-Bug 50497 - Add all web audio auto-generated files to GTK make system (Chris Rogers)
-Bug 56180 - [GTK] JSC crashes in 32bit Release bots after r80743 (Sergio Villar Senin)
-Bug 55932 - [GTK] close-web-view emitted on disposed WebView (Philippe Normand)
-Bug 53098 - [GTK] Implement spin buttons for GTK+ 2.x (Martin Robinson)
-Bug 56125 - [GTK] [Webkit2] There are no scrollbars visible in the MiniBrowser (Martin Robinson)
-Bug 41903 - [GTK] plugins/return-negative-one-from-write.html crashes (Martin Robinson)
-Bug 32510 - [GTK] provide an API to control the IconDatabase (Christian Dywan)
-Bug 55868 - [GTK] Do not set juntion sides on scrollbar stepper buttons (Carlos Garcia Campos)
-Bug 55866 - [GTK] Use doubles instead of integers for coordinates when rendering arrows (Carlos Garcia Campos)
-Bug 55878 - [Gtk] toDataURL uses incorrect quality value when saving GdkPixbuf to buffer (Zan Dobersek)
-Bug 55531 - [GTK] Windowless plugins override the view cursor (Martin Robinson)
-Bug 55136 - Enable Copy Image Address context menu item in the Gtk port (Christian Dywan)
-Bug 53960 - [GTK] DRT needs implementation of EventSender.scheduleAsynchronousClick (Carlos Garcia Campos)
-Bug 55335 - [GTK] Extended application cache database API and added unit tests file. (Lukasz Slachciak)
-Bug 53146 - [GTK] Combo boxes should emit object:selection-changed even when collapsed (Mario Sanchez Prada)
-Bug 55473 - [GTK] Add support for external protocol handlers (Sergio Villar Senin)
-Bug 53228 - [Gtk] Resource size is incorrectly reported to WebCore (Sergio Villar Senin)
-Bug 48510 - [GTK] Implement WebContext and NativeKeyboardEvent classes for WebKit2 (Amruth Raj)
-Bug 48509 - [GTK] Implement WebView and WebKitWebView classes for WebKit2 (Amruth Raj)
-Bug 48510 - [GTK] Implement WebEventFactory, WebErrors classes for WebKit2 ( Amruth Raj)
-Bug 54658 - [gtk] Failing collinear arcTo canvas tests (Zan Dobersek)
-Bug 37769 - [Gtk] Flash item placed on wrong location right after load (Martin Robinson)
-Bug 54981 - [GTK] position:fixed elements flicker while scrolling after r74196 (Martin Robinson)
-Bug 56180 - [GTK] JSC crashes in 32bit Release bots after r80743 (Oliver Hunt)
-Bug 56737 - [GTK] [Stable] AtkHypertext exposes wrong offsets for links placed inside <span> nodes (Mario Sanchez Prada)
-Bug 56201 - WebKitIconDatabase may trigger crash in cairoImageSurfaceToGdkPixbuf (Christian Dywan)
-Bug 56690 - Stop inserting when the parent is removed (Justin Schuh)
-
-=================
-WebKitGTK+ 1.3.12
-=================
-
-What's new in WebKitGTK+ 1.3.12?
-
- - Removed mandatory Enchant dependency.
- - Libsoup required version bumped to 2.33.6.
- - HTML5 media volume managment improvements.
- - Updated translations.
- - A11y bugfixes.
- - Many other bugfixes.
-
-
-WebKit bugs mostly relevant with the GTK+ port fixed since 1.3.11:
-
-Bug 42496 - Update Simplified Chinese (zh_CN) translation of WebKitGtk (Christian Dywan)
-Bug 53771 - [GTK] fast/events/pagehide-timeout.html fails (Martin Robinson)
-Bug 13343 - getComputedStyle returns wrong value for margin-right (Jarred Nicholls)
-Bug 53797 - [GTK] WebKitWebFrame can return a stale frame name when calling webkit_web_frame_get_name (Martin Robinson)
-Bug 52775 - WebKit2: add support for drag and drop on Windows (Enrica Casucci)
-Bug 54312 - Allow controlling minimum DOMTimer interval on a per-page basis (Kenneth Russell)
-Bug 54323 - [Freetype] Better map CSS font weight to Fontconfig font weight (Martin Robinson)
-Bug 50237 - [Gtk] Implement layoutTestController.findString (Joone Hur)
-Bug 53686 - Web Inspector: remove settings related methods from InspectorClient (Yury Semikhatsky)
-Bug 53833 - [GTK] plugins/plugin-document-back-forward.html fails (Martin Robinson, Adam Barth)
-Bug 54860 - [GTK] [REGRESSION] After r79130, spell tests did not work (Alejandro G. Castro)
-Bug 54352 - [GTK] Match more various WebKit API enum values with WebCore enum values (Joone Hur)
-Bug 54116 - [GTK] Add support in DRT to log "accessibility events" (Mario Sanchez Prada)
-Bug 52836 - [GTK] Move scrollbar rendering out of gtk2drawing.c (Martin Robinson)
-Bug 39022 - [GTK] Some test results are one pixel different between the x86_64 and i386 bots (Alejandro G. Castro)
-Bug 54895 - [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails (Martin Robinson, Alejandro G. Castro)
-Bug 54389 - [GTK] http/tests/misc/generated-content-inside-table.html does not work in the bots (Alejandro G. Castro)
-Bug 54410 - SVG animation doesn't support attribute value 'inherit' (Dirk Schulze)
-Bug 54414 - [GTK] testwebdatasource test fails in the bots (Alejandro G. Castro)
-Bug 52880 - [GTK] Implement PlatformKeyboardEvent::getCurrentModifierState() (Carlos Garcia Campos)
-Bug 54418 - r78499 causes assertion failure in http/tests/xmlhttprequest/cache-override.html (Mario Sanchez Prada)
-Bug 54427 - [Chromium] Rendering error of spin buttons on layers (Kent Tamura)
-Bug 52384 - Plumb mixed script URL to FrameLoaderClient (Adam Langley)
-Bug 53104 - Intermittent crash in fast/files/read-blob-async.html on the GTK+ debug bots (Jian Li)
-Bug 54437 - Web Inspector: move rest of the tests off old harness. (Pavel Feldman)
-Bug 54449 - notImplemented() should behave identical in WebCore and WebKit2 (Balazs Kelemen)
-Bug 34482 - Please add Greek translation of WebkitGTK+ (Christian Dywan)
-Bug 51379 - Convert <keygen> option elements to a shadow DOM (Dominic Cooney)
-Bug 52919 - Stop instantiating legacy editing Positions in VisiblePosition (Levi Weintraub)
-Bug 54458 - [Gtk] Cleanup in the canvas tests (Zan Dobersek)
-Bug 53436 - [Gtk] atk_text_get_caret_offset fails for list items (Mario Sanchez Prada)
-Bug 53962 - [GTK] EventSender.keyDown does not support non-array modifier arguments (Martin Robinson)
-Bug 52417 - Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard (Ryosuke Niwa)
-Bug 53954 - Move the sputnik test suite out of fast/js/ (James Robinson)
-Bug 54470 - [GTK] svg/text/select-textLength-spacing-squeeze-1.svg crashes due to ASSERT failing (Mario Sanchez Prada)
-Bug 54474 - Pixel tests differences on 10.6.6 32bit vs. 64bit (Nikolas Zimmermann)
-Bug 53453 - [Gtk] atk_text_get_selection/atk_text_set_selection fails for list items (Mario Sanchez Prada)
-Bug 54491 - [cairo][canvas] Drawing from/into float rectangles with width or height in range 0 to 1 fails (Zan Dobersek)
-Bug 54495 - Crash in EventHandler::sendContextMenuEventForKey (Emil A Eklund)
-Bug 53984 - Remove orphan code from old parser (Adam Barth)
-Bug 3812 - XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET (Sergio Villar Senin)
-Bug 53989 - svg/custom/use-multiple-on-nested-disallowed-font.html sometimes fails an assertion in StyleSelectorParentPusher (Mario Sanchez Prada)
-Bug 50918 - [GStreamer] media/video-zoom-controls.html fails (Philippe Normand)
-Bug 25831 - [GTK] events missing when a document is (re)loaded (Mario Sanchez Prada)
-Bug 53992 - fast/loader/onload-willSendRequest-null-for-frame.html times out in GTK 32-bit debug bot (Mario Sanchez Prada)
-Bug 53995 - editing/selection/end-of-document.html is failing in the GTK 64-bit debug bot (Mario Sanchez Prada)
-Bug 34543 - [Gtk] Please add Hungarian translation (Christian Dywan)
-Bug 44784 - [GTK] fast/history/history-subframe-with-name.html fails with GTK DRT (Martin Robinson)
-Bug 54517 - Ensure loading has stopped in HistoryController::goToItem (Charlie Reis)
-Bug 54011 - [GTK] Fix after r77874, m_isConnected is initialized before the socket is opened (Alejandro G. Castro)
-Bug 54014 - [GTK] Incorrect assertion in WorkQueueGtk, we need to register more than one handle (Alejandro G. Castro)
-Bug 54015 - [GTK] Avoid WebProcessMain compilation, we are used a gtk specific main (Alejandro G. Castro)
-Bug 39168 - Canvas: 2d.fillStyle.parse.system.html fails (Andreas Kling)
-Bug 52997 - [GTK] DRT's TextInputController is unimplemented on GTK (Carlos Garcia Campos)
-Bug 49414 - Implement ECMAScript I18N APIs (proposed) (Nebojsa Ciric)
-Bug 54537 - [Gtk] Add support for layoutTestController.setWillSendRequestClearHeader (Sergio Villar Senin)
-Bug 54033 - [GTK] DRT needs an implementation of LayoutTestController.setIconDatabaseEnabled (Martin Robinson)
-Bug 54035 - [GTK] Remove the last remnants of the Mozilla theme drawing code (Martin Robinson)
-Bug 53529 - [fileapi] Add support for filesystem: URI handling (Adam Klein)
-Bug 54557 - [GTK] libsoup critical warnings (Philippe Normand)
-Bug 54057 - [GTK] Build break with 2.18.3 (Ryuan Choi)
-Bug 50489 - Move DocumentWriter to DocumentLoader (Nate Chapin)
-Bug 53898 - Add built-in decoder for UTF-8 for improved performance (Darin Adler)
-Bug 54078 - [GTK] Add WebGraphicsContext stub to the compilation (Alejandro G. Castro)
-Bug 54080 - [GTK] Implement UpdateChunk, ChunkedUpdateDrawingArea/Proxy classes for WebKit2 (Chandra Vallala <chandra.vallala@motorola.com> and Alejandro G. Castro)
-Bug 54081 - [GTK] Implement WKBaseGtk API for Webkit2 (Chandra Vallala <chandra.vallala@motorola.com> and Alejandro G. Castro)
-Bug 54600 - [PATCH] GTK documentation fails to build due to changed paths (Robert Ancell)
-Bug 42833 - Brazilian Portuguese Translation Update (Christian Dywan)
-Bug 50518 - [GTK] media/controls-without-preload.html is flacky on 32-bits Debug (Philippe Normand)
-Bug 54106 - frames/flattening/iframe-flattening-crash.html fails on GTK. (Yael Aharon)
-Bug 54622 - Rename Position::node() to Position::deprecatedNode() (Ryosuke Niwa)
-Bug 54626 - [GTK] accessibility/canvas-fallback-content.html is failing on GTK bots (Mario Sanchez Prada)
-Bug 54627 - [GStreamer] URI queries support in webkitwebsrc (Andoni Morales Alastruey)
-Bug 54628 - [GStreamer] Add 'location' property in webkitwebsrc (Andoni Morales Alastruey)
-Bug 54117 - Replace static_cast<HTMLElement*> with toHTMLElement (Yael Aharon)
-Bug 54631 - [GTK] media/video-controls-in-media-document.html potentially flaky (Philippe Normand)
-Bug 53991 - fast/frames/sandboxed-iframe-storage.html is flaky (Mario Sanchez Prada)
-Bug 54637 - [GTK] media/video-display-toggle.html is flaky on debug bots (Philippe Normand)
-Bug 44400 - Attached is the Bulgarian translation of WebKit Gtk (Christian Dywan)
-Bug 30580 - [GTK] Failing canvas security tests (Sergio Villar Senin)
-Bug 46455 - [l10n] Indonesian translation (Christian Dywan)
-Bug 52090 - [Soup] ResourceHandleSoup does not ever call didSendData for file uploads (Martin Robinson)
-Bug 54140 - [GStreamer] Video player sets system volume to 100% (Philippe Normand)
-Bug 48510 - [GTK] Implement WebEventFactory, WebErrors classes for WebKit2 (Amruth Raj <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla)
-Bug 54592 - [GTK] r78718 introduced some assertion failures in some HTTP tests (Martin Robinson)
-Bug 51587 - [GTK] Remove mandatory Enchant dependency (Ryuan Choi)
-Bug 53125 - [GTK] LayoutTests/media/audio-mpeg4-supported.html fails (Philippe Normand)
-Bug 54157 - [GTK] Default error page is interfering with tests which require failed loads (Martin Robinson)
-Bug 51602 - [GStreamer] wrong media duration report in media/controls-after-reload.html (Philippe Normand)
-Bug 53146 - [GTK] Combo boxes should emit object:selection-changed even when collapsed (Philippe Normand, Mario Sanchez Prada)
-Bug 53487 - [Gtk] No need to set text encoding in the provisional phase (Joone Hur)
-Bug 53667 - [GTK] fast/history/timed-refresh-in-cached-frame.html fails after r77355 (Philippe Normand)
-Bug 54185 - [GTK] Reset GTK' DRT's AccessibilityController to consistent value before every test (Mario Sanchez Prada)
-Bug 53680 - [GTK] fast/frames/sandboxed-iframe-scripting.html is flaky (Philippe Normand)
-Bug 53169 - Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController (Ilya Tikhonovsky)
-Bug 53683 - [GTK] Flaky websocket tests on 32-bits Release (Philippe Normand)
-Bug 54198 - [GTK] Log signals from AtkDocument interface also in AccessibilityController (Mario Sanchez Prada)
-Bug 36340 - Arabic translation (Christian Dywan)
-Bug 54210 - [GTK] fast/text/atsui* tests failing on 32-bit Debug (Philippe Normand)
-Bug 54212 - [GTK] fast/text/international/hindi-whitespace.html fails (Philippe Normand)
-Bug 50126 - Fallback content in canvas element not focusable (Dominic Mazzoni)
-Bug 53716 - JSC::Bindings m_rootObject->isValid() assert fails when running layout tests (Michael Saboff, Martin Robinson)
-Bug 54231 - [GDOM] Video element needs proper wrapping (Gustavo Noronha Silva)
-Bug 53213 - Refactoring: Extract TextCheckerClient from EditorClient (MORITA Hajime)
-Bug 54244 - Convert the line box tree to floating point and eliminate font rounding hacks (David Hyatt)
-Bug 53733 - Timers can fire after a frame has been put into the page cache (Sergio Villar Senin)
-Bug 46567 - [l10n] Polish translation of WebKitGTK+ (Christian Dywan)
-Bug 54260 - HTML5 <details> and <summary>: localized text (Luiz Agostini)
-Bug 53673 - [GTK] fast/files/workers/worker-read-blob-async.html is flaky (Philippe Normand)
-Bug 26108 - French translation for Webkit/GTK (Christian Dywan)
-Bug 53247 - [GTK] media/audio-delete-while-slider-thumb-clicked.html is flaky (Philippe Normand)
-
-
-
-=================
-WebKitGTK+ 1.3.11
-=================
-
-What's new in WebKitGTK+ 1.3.11?
-
- - Add a beginDragWithFiles implementation for the GTK+ event sender.
- - ResourceHandleSoup do not wait for streams to close to issue
- didFinishLoading.
- - Move the request/cache code to libsoup.
- - A11y bugfixes.
- - Many other bugfixes.
-
-=================
-WebKitGTK+ 1.3.10
-=================
-
-What's new in WebKitGTK+ 1.3.10?
-
- - Port form control theming code to GtkStyleContext.
- - Add a new 'make jsc' target to build only JavaScriptCore and the jsc binary.
- - Initial support for drag-and-drop file uploads.
- - WOFF font face support.
- - Many other bugfixes.
-
-================
-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
-================
-
-What's new in WebKitGTK+ 1.3.6?
-
- - Update to compile with GTK+ 3.x 2.91.4.
- - Many, many other bugfixes.
-
-================
-WebKitGTK+ 1.3.5
-================
-
-What's new in WebKitGTK+ 1.3.5?
-
- - Add a HTTP cache implementation. This will be eventually
- integrated in libsoup itself, but for now it can be accessed from
- WebKit through the WebKitSoupCache APIs.
- - Updated to work with GTK+ 3.x 2.91.1.
- - Add frame-flattening support, used by some mobile browser sto
- merge all frames in a page into a continuous view.
- - Many other bugfixes.
-
-================
-WebKitGTK+ 1.3.4
-================
-
-What's new in WebKitGTK+ 1.3.4?
-
- - File reader/writer APIs are now enabled.
- - The javascript JIT is now enabled by default on ARM.
- - Clipboard data is no longer lost when the process exists.
- - Image DnD support.
- - GSettings support to save/restore Web Inspector settings.
- - Add WebSocket support, now enabled by default.
- - Added WebKitWebView::frame-created signal, emitted when a frame
- other than the main frame is created in a view.
- - Added WebKitWebView::view-mode, holding information about how the
- view is being presented. See the property documentation and
- http://www.w3.org/TR/view-mode/ for details.
- - Fullscreen support for HTML5 media player.
- - Identify as WebKit/Safari in Google domains when
- enable-site-specific-quirks is activated. Otherwise we'll get a
- degraded user experience due to their poor UA detection
- algorihtms.
- - Added simple media playback options in the context menu for the
- media elements.
- - Update (and require) to work with gobjet-introspection 0.9.5.
- - Updated to work with GTK+ 3.x 2.90.7 when in GTK+ 3.x mode.
- - Make --disable-jit actually work.
- - Add --enable-opcode-stats configure flag. When enabled, statistics
- about opcode generation will be printed by JSC.
- - Many a11y fixes, particularly in the AtkText interface.
- - CSS box shadows render much faster in many cases.
- - Many other bugfixes.
-
-================
-WebKitGTK+ 1.3.3
-================
-
-What's new in WebKitGTK+ 1.3.3?
-
- - Fixes to compile with latest GTK+ 2.90.x.
- - Add support for dropping content in WebKitWebViews.
- - Many other bugfixes.
-
-================
-WebKitGTK+ 1.3.2
-================
-
-What's new in WebKitGTK+ 1.3.2?
-
-*** This release is an ABI break ***
-
-The library has been renamed to libwebkitgtk, so you'll need to
-recompile your applications when upgrading to 1.3.2.
-
- - Add support for GTK+ 3.x. A new configure flag, --with-gtk, has
- been added, which allows to control which GTK+ version you want to
- build against. The default value is '2.0', for GTK+ 2.x
- support. With '3.0' the library will be compiled against GTK+ 3.x
- (2.90.4 or newer required). In the 3.x mode the .pc file has been
- renamed from webkit-X.X.pc to webkitgtk-X.X.pc, so you'll need to
- update your autotools setup accordingly.
- - Many fixes for the DOM bindings, including support to dispatch
- events to any Node through webkit_event_target_dispatch_event.
- - Added a 'inner-node' property to WebKitHitTestResult, carrying the
- DOM node where the hit test happened.
- - Many DnD fixes, including a fix for the infamous hang-of-death
- while dragging the mouse.
- - Support for <input type="range">.
- - Many other bugfixes.
-
-================
-WebKitGTK+ 1.3.1
-================
-
-What's new in WebKitGTK+ 1.3.1?
-
- - Initial support for GObject DOM bindings. Present in this release
- is a substantial subset of the basic DOM APIs (Document, HTML
- elements, Node, etc) including access to the DOM events through
- GObject signals. Keep in mind that all the APIs are still
- unstable, and will probably be subject to changes before the next
- stable release.
- - Add webkit_web_back_forward_list_clear, to completely clear the
- BackForward list.
- - Lots of improvements in DOM clipboard and drag-drop access.
- - Add support for GTK+ key themes.
- - Significant improvements in a11y, including improved role support
- and many bugfixes.
-
-=================
-WebKitGTK+ 1.1.90
-=================
-
-What's new in WebKitGTK+ 1.1.90?
-
- - Display server side messages during HTTP auth, since they
- sometimes contain important information for the authentication
- process.
- - Reduce creation time for WebKitWebView widgets by reusing
- dictionary structs used for spell-checking instead of creating a
- new one for each instance.
- - Implement WebKitWebView::geolocation-policy-decision-requested,
- emitted when a frame inside the WebView wants to get its position
- through geolocation.
- - Add WebKitWebSettings::enable-spatial-navigation to control
- whether Spatial Navigation is enabled or not. Spatial Navigation
- allows the user to move through the elements in a page using only
- the keyboard; this is similar to caret browsing, but with less
- focus on accessibility since instead of presenting the exact
- layout of the page to the user a more "logical" way of browsing
- through its contents is allowed. A specification of this feature
- can be seen at
- http://www.w3.org/TR/WICD/#current-focus-point-algorithm
- - Add a new build option, --enable-fast-mobile-scrolling. At the
- moment this only disables fixed backgrounds when there are no
- other fixed elements in a page, since they generally make
- scrolling very slow and thus are a big burden in some mobile
- environments.
- - GTK+ Input Method support has received a big overhaul, and most of
- them should work pretty well now.
- - All known redraw issues in the plugin support (especially with the
- Java plugin) have been fixed.
- - Various fixes to the MediaPlayer code to improve responsiveness
- and avoid lagging on position reporting.
- - Lots of bugfixes and other improvements.
-
-=================
-WebKitGTK+ 1.1.22
-=================
-
-What's new in WebKitGTK+ 1.1.22?
-
- - Preliminary support for Java plugins. Basic functionality is
- there, but there are still a few rough edges. Also newly
- introduced is a new WebKitWebSetting, 'enable-java-applet', which
- controls whether WebKit will recognize the non-standard <applet>
- tag.
- - Add WebKitWebSettings::auto-resize-window; when enabled, WebKit
- will act upon the DOM methods that change the size and/or position
- of the window containing a WebView (window.{moveTo, resizeTo,
- moveBy, resizeBy}).
- - Add WebKitWebSettings::enable-file-access-from-file-uris; when
- enabled, each file:// URI will be assigned its own security
- domain.
- - Lots of bugfixes, especially in the PageCache support.
-
-=================
-WebKitGTK+ 1.1.21
-=================
-
-What's new in WebKitGTK+ 1.1.21?
-
- - New custom-made GStreamer source element that uses the WebCore
- network layer to download media data; this makes sure any headers
- and cookies will automatically get added when making requests.
- - WebKit will now let libsoup know who the first party for a given
- message is, making it possible to implement accept/deny policies in
- Soup.
- - The usual stream of fixes, and improvements
-
-=================
-WebKitGTK+ 1.1.20
-=================
-
-What's new in WebKitGTK+ 1.1.20?
-
- - Fixes to the HTML5 Media Player infrastructure to satisfy sites
- that require cookies, and Referer to be sent; this makes
- WebKitGTK+ able to support the new HTML5 support added to Youtube,
- and Vimeo, for instance.
- - Windowless plugin support is finally here, making it possible to
- get plugins to behave on various web pages.
- - The usual stream of fixes, and improvements
-
-=================
-WebKitGTK+ 1.1.19
-=================
-
-What's new in WebKitGTK+ 1.1.19?
-
- - Improvements to AtkText implementation
- - RGBA colormap support has been added
- - Improvements to the HTML5 media player
- - Crashes related to clipboard handling, which were hitting many
- users and seemed to be random have been fixed
-
-=================
-WebKitGTK+ 1.1.18
-=================
-
-What's new in WebKitGTK+ 1.1.18?
-
- - Add methods to set and get a cache model in WebKitGTK+. We offer
- two possibilites: document viewer (no caches are used) and browser
- (similar to the previous defaults).
- - Add WebKitWebSettings::enable-page-cache. Controls whether the
- Page Cache is enabled or not. For details about what the page
- cache is and does see
- http://webkit.org/blog/427/webkit-page-cache-i-the-basics/
- The page cache is disabled by default, since the gtk+ port still
- presents some small bugs when it's enabled.
- - Add WebKitWebSettings::enable-site-specific-quirks. Controls
- whether a series of page-specific workarounds are used by WebKit.
- - Use Content-Encoding support available in libsoup 2.28.2 and
- newer.
- - Add WebKitWebSettings::enable-default-context-menu. Controls
- whether webkitgtk+ will show a default context menu on right click
- in the view. Note that even with the property set to FALSE right
- clicks can be handled by the page, either by actions or by
- ad-hoc in-page context menus.
- - Make the WebKitWebView::icon-loaded signal carry a string with the
- favicon's URI. This is an API break, but the signal already had a
- broken signature and was useless anyway, so it's extremely
- unlikely that anybody was using it. Also, add the 'icon-uri'
- property to the view, holding the URI for its current favicon.
- - Respect Content-Disposition header in downloads (fixes downloads
- in gmail).
- - Various accessibility improvements.
- - Many bugfixes.
-
-=================
-WebKitGTK+ 1.1.17
-=================
-
-What's new in WebKitGTK+ 1.1.17?
-
- - New APIs to show and close the web inspector and to inspect an
- element at the given coordinates.
- - New property, WebKitWebSettings::tab-key-cycles-through-elements,
- controls whether TAB is simply interpreted as another keystroke or
- is used to cycle through the elements in a page.
- - Many a11y improvements.
- - The usual amount of random bugfixes.
-
-=================
-WebKitGTK+ 1.1.16
-=================
-
-What's new in WebKitGTK+ 1.1.16?
-
- - Add optional support to generate the gobject-introspection
- gir/typelib files. Enable with --enable-introspection, it's off by
- default.
- - Add a new load status value, WEBKIT_LOAD_FAILED, emitted when
- there's an error during the load process. This is the natural
- companion to WEBKIT_LOAD_FINISHED, which is only emitted when the
- load finished succesfuly.
- - Ensure that keyboard events filtered by GtkIMContext still create
- the proper DOM events.
- - Many a11y improvements: caret browsing fixes, expose heading
- levels, more accessible roles supported, more work in correctly
- showing the element's ancestry list, improved support for lists,
- etc.
- - Many improvements to our media support.
- - Add a new setting to control DOM pastes
- (document.execCommand("Paste"))
- - Many, many bugfixes all over the place.
-
-=================
-WebKitGTK+ 1.1.15
-=================
-
-What's new in WebKitGTK+ 1.1.15?
-
- - New API to get the subresources from a WebKitWebDataSource. This
- provides a way of accessing all the resources that compose the
- view to which the data source is attached.
- - A new function, webkit_web_view_get_hit_test_result, which allows
- to do a 'hit test' on the coordinates specified by a mouse
- event. A hit test provides context information about that point in
- the document, like whether it's an image, a link, an input box,
- etc.
- - Our DumpRenderTree implementation now supports eventSender, which
- allows us to run many more LayoutTests and make WebKitGTK+ more
- stable and feature-complete.
- - JSNES runs 6x faster: http://trac.webkit.org/changeset/48573
- - The usual small improvements and bugfixes.
-
-=================
-WebKitGTK+ 1.1.14
-=================
-
-What's new in WebKitGTK+ 1.1.14?
-
- - New API has been added to WebKitWebFrame to allow applying
- scrollbars policy as requested by web applications to the main
- frame; if the parent of the WebKitWebView widget is a
- GtkScrolledWindow, policy is applied by the default handler.
- - A new API has been added to help dealing with the various
- resources that are downloaded to compose the final rendering; you
- can now obtain the source code for a page that is loaded, for
- instance.
- - A new property has been added to WebKitWebView to allow setting it
- to "View Source" mode.
- - HTML5 database has gained API to manage the individual databases,
- including usage and quota.
- - A new signal `resource-request-starting' has been added to the
- WebKitWebView to allow modification of outgoing requests for every
- resource.
- - Connection limit has been increased to 60 total connections, 6
- per-host, matching other browsers more closely; this seems to have
- improved loading time of some sites.
- - Undo/redo support has been added to editable texts.
- - The usual stream of small improvements and bug fixes.
-
-=================
-WebKitGTK+ 1.1.13
-=================
-
-What's new in WebKitGTK+ 1.1.13?
-
- - GNOME Keyring support was removed in favor of the new Password
- Manager soup feature; to get exactly the same behavior,
- applications should use SoupPasswordManagerGNOME. This requires
- libsoup 2.27.91 or newer.
- - Several accessibility improvements, including support for testing
- the a11y infrastructure in our layout tests.
- - You can now enable/disable HTML5 offline application cache using a
- new setting added to WebKitWebSettings.
- - Drag support has landed, meaning you can start playing with HTML5
- drag and drop support; drop support is still missing.
- - A crash with scripts closing windows has been fixed.
- - Image cursors support has been added.
- - The usual stream of small improvements and bug fixes.
-
-=================
-WebKitGTK+ 1.1.12
-=================
-
-What's new in WebKitGTK+ 1.1.12?
-
- - Fix WebKitSoupAuthDialog to only save passwords in gnome-keyring
- (if enabled) when authentication succeeds.
- - Implement a proper size_request method for WebKitWebView. The
- widget will request the size of the whole page as its size
- requisition.
- - Many a11y improvements.
- - The usual amount of other misc fixes.
- - WEBKIT_DEBUG variable now accepts channel names in any case
- again.
-
-=================
-WebKitGTK+ 1.1.11
-=================
-
-What's new in WebKitGTK+ 1.1.11?
-
- - WebKit has got a new feature - a XSS auditor, that should improve
- security; this feature is still experimental, and disabled by
- default, but applications can enable it using the setting.
- - The hackish content sniffing code that was beig used to avoid
- pages requesting downloads instead of displaying content has been
- replaced by usage of a new Soup feature, which implements proper
- content sniffing.
- - More accessibility work, including fixes for problems which were
- critical for a possible GNOME 2.28 release.
- - Pasting rich text from other browsers should now work as expected.
- - The usual amount of misc fixes.
-
-=================
-WebKitGTK+ 1.1.10
-=================
-
-What's new in WebKitGTK+ 1.1.10?
-
- - WebKitNetworkRequest has now GObject properties for its URI and
- the SoupMessage that backs it up.
- - Fix AtkText methods get_selection and get_n_selections to not use
- the global selection but only the selection that belongs to the
- object being used.
- - Fix a crasher when emitting the a11y signal 'text-caret-moved' in
- some situations with debug builds.
-
-================
-WebKitGTK+ 1.1.9
-================
-
-What's new in WebKitGTK+ 1.1.9?
-
- - Scrolling once again received a lot of love, and many subtle
- problems and bugs were killed, and we now get correct behavior in
- acid2; a number of smaller improvements are in the queue.
- - Accessibility keeps gaining better support. On this release a lot
- of work was done on the AtkText interface implementation.
- - WebKitNetworkRequest now carries with it all the information
- regarding the request, not only the URI. This means you will no
- longer miss headers such as Referer when passing NetworkRequest
- objects from a callback to webkit_web_frame_load_request.
-
-================
-WebKitGTK+ 1.1.8
-================
-
-What's new in WebKitGTK+ 1.1.8?
-
- - We found out that WebKitWebHistoryItems were being kept with a
- reference count of 2 instead of 1 as they should; nobody should be
- relying on that, but if you hit reference counting problems with
- items you were creating yourself, this is for you.
- - You can now copy images from the web page to the clipboard.
- - Improvements were made to the Plugin handling code.
- - Scroll events will now be correctly reported to web applications.
- - You can now embed arbitrary widgets as if it was a plugin, with
- the new "create-plugin-widget" signal.
- - The atk_text_get_text_{at,after,before}_offset methods are now
- implemented for all boundary types except LINE_AFTER and
- LINE_BEFORE.
- - The usual stream of minor fixes and improvements, as always.
-
-================
-WebKitGTK+ 1.1.7
-================
-
-What's new in WebKitGTK+ 1.1.7?
-
- - This release includes a security fix:
- SVGList::insertItemBefore would not perform a bounds check on the
- index it was provided, potentially leading to a buffer overflow.
- - New frame loading properties supersede various load-* signals, and
- are also accessible in the WebView, for convenience, making this
- API saner.
- - JIT is now supported for X86-64 on Linux, and enabled by default!
- - A regression on webkit_web_view_load_string has been fixed, making
- it work correctly again when the document uses encodings which may
- use more than 1 byte per character.
- - Yet more work has been done to the ATK support, caret browsing
- support improvements in particular.
- - Filenames suggested by the Download functionality now correctly
- use the filename given by the host, if available.
- - Build fixes for IA64, and AMD64
- - gtk-doc support has also improved, and you should now be able to
- cd WebKit/gtk/docs and type make docs, if you --enable-gtk-doc on
- configure, as long as you build with srcdir == builddir.
- - More crashes and other bugs fixed, and small improvements made
- under the hood.
-
-================
-WebKitGTK+ 1.1.6
-================
-
-What's new in WebKitGTK+ 1.1.6?
-
- - Several ATK support additions and fixes got landed, with many
- roles being now implemented, providing better accessibility.
- - Caret browsing is now available.
- - Spelling check has been implemented using Enchant; the API is
- still lacking, and some of the functionality still needs to be
- improved, though.
- - Error reporting is now available, with default error pages, and
- API that allows the application to override the default behavior;
- localization of those pages is still not supported, but planned.
- - More crashes and other bugs fixed.
-
-================
-WebKitGTK+ 1.1.5
-================
-
-What's new in WebKitGTK+ 1.1.5?
-
- - Added gtk-doc support to the build system. It is not fully
- integrated yet, so some manual tweaking is still needed.
- - Minimum required GTK+ version is now 2.10.
- - Added l10n support with gettext. Translations are stored in
- WebKit/gtk/po/.
- - Many improvements to the ATK support. It's good enough to provide
- a basic user experience with Accerciser now, but we'll keep
- improving it in further releases.
- - New printing API that allows applications to control and monitor
- the printing process, when requested by javascript or started by
- the user.
- - Many bugfixes.
-
-================
-WebKitGTK+ 1.1.4
-================
-
-What's new in WebKitGTK+ 1.1.4?
-
- - WebKitWebView gained uri and title properties, deprecating the
- usage of the title-changed signal.
- - Basic functionality for HTML5 media tags has been achieved; there
- are many unimplented methods, and rough edges still, though.
- - Font rendering received quite some love, with layouting, and
- memory handling fixes, and at least one less crash.
- - A new signal, new-window-policy-decision-requested, has been added
- to WebKitWebView, that makes it possible for the application to
- correctly decide what to do when new windows are requested.
- - A bug that made tooltips for consecutive links not update their
- location was fixed.
- - Several improvements were made to the HTTP backend, including
- making it more robust when talking to servers which send bad
- Content-Type headers.
- - WebKitWebView now uses the GtkBinding system to handle key events,
- which means that the user is now able to customize the keys used
- for various operations, and that many subtle bugs have been fixed.
-
-================
-WebKitGTK+ 1.1.3
-================
-
-The 1.1.3 release was just a quick bug fix release, because we made a
-mistake in library versioning.
-
-================
-WebKitGTK+ 1.1.2
-================
-
-What's new in WebKitGTK+ 1.1.2?
-
- - Added support for downloads: a new signal, 'download-requested',
- will be emitted by WebKit when a dowload is requested. On top of
- that, the download process has been encapsulated in a new object,
- WebKitDownload, which allows the user to control it or to start
- new downloads from the client side.
- - Added webkit_web_view_get_encoding to get the automatic encoding
- of the current page.
- - Added GObject properties for 'encoding' and 'custom-encoding'.
- - Added 'javascript-profiling-enabled' property to the WebInspector,
- which allows to enable and disable the profiling functionality.
- - Added API to create and add history items to WebKit's history.
- - Improved debugging support with WEBKIT_DEBUG environment
- variable. Most of the settings will only give useful output for
- debug builds, but WEBKIT_DEBUG=Network will log all HTTP traffic
- form libsoup to console. See WebCore/platform/gtk/LoggingGtk.cpp
- for all the options available.
- - Lots of bugfixes.
-
-================
-WebKitGTK+ 1.1.1
-================
-
-What's new in WebKitGTK+ 1.1.1?
-
- - ABI compatibility with 1.0.3 was broken, so you will need to
- recompile your application against 1.1.1
- - Support for the CURL backend was dropped, libsoup is the only HTTP
- backend now.
- - webkit_get_default_session, to get the SoupSession used internally
- by WebKit.
- - 'create-web-view' signal, emitted when the creation of a new
- window is requested.
- - 'navigation-policy-decision-requested' signal, emitted when a
- navigation to another page is requested.
- - 'mime-type-policy-decision-requested' signal, emitted each time
- WebKit is about to show a URI with a given MIME type.
- - Support for the Web Inspector
- (see http://webkit.org/blog/197/web-inspector-redesign/)
- - HTTP authentication support, with optional gnome-keyring storage.
- - New load functions: webkit_web_view_open, webkit_web_view_load_uri
- and webkit_web_view_load_request. The old
- webkit_web_view_load_string and webkit_web_view_load_html_string
- are now deprecated.
- - webkit_web_view_reload_bypass_cache
- - webkit_web_view_{get,set}_custom_encoding, to override the
- encoding of the current page.
- - Improved stability and lots of bugfixes.
-
diff --git a/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContext.h b/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContext.h
deleted file mode 100644
index bd673554b..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContext.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2011 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 AcceleratedCompositingContext_h
-#define AcceleratedCompositingContext_h
-
-#include "GraphicsLayer.h"
-#include "GraphicsLayerClient.h"
-#include "IntRect.h"
-#include "IntSize.h"
-#include "Timer.h"
-#include "webkitwebview.h"
-#include <wtf/PassOwnPtr.h>
-
-#if USE(TEXTURE_MAPPER)
-#include "TextureMapperLayer.h"
-#endif
-
-#if USE(TEXTURE_MAPPER_GL)
-#include "GLContext.h"
-#include "RedirectedXCompositeWindow.h"
-#include "TextureMapperFPSCounter.h"
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
-
-namespace WebKit {
-
-class AcceleratedCompositingContext : public WebCore::GraphicsLayerClient {
- WTF_MAKE_NONCOPYABLE(AcceleratedCompositingContext);
-public:
- static PassOwnPtr<AcceleratedCompositingContext> create(WebKitWebView* webView)
- {
- return adoptPtr(new AcceleratedCompositingContext(webView));
- }
-
- virtual ~AcceleratedCompositingContext();
- void setRootCompositingLayer(WebCore::GraphicsLayer*);
- void setNonCompositedContentsNeedDisplay(const WebCore::IntRect&);
- void scheduleLayerFlush();
- void resizeRootLayer(const WebCore::IntSize&);
- bool renderLayersToWindow(cairo_t*, const WebCore::IntRect& clipRect);
- bool enabled();
-
- // GraphicsLayerClient
- virtual void notifyAnimationStarted(const WebCore::GraphicsLayer*, double time);
- virtual void notifyFlushRequired(const WebCore::GraphicsLayer*);
- virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect& rectToPaint);
-
- void initialize();
-
- enum CompositePurpose { ForResize, NotForResize };
- void compositeLayersToContext(CompositePurpose = NotForResize);
-
- void flushAndRenderLayers();
- bool flushPendingLayerChanges();
- void scrollNonCompositedContents(const WebCore::IntRect& scrollRect, const WebCore::IntSize& scrollOffset);
-
-private:
- WebKitWebView* m_webView;
- unsigned int m_layerFlushTimerCallbackId;
-
-#if USE(TEXTURE_MAPPER_GL)
- OwnPtr<WebCore::RedirectedXCompositeWindow> m_redirectedWindow;
- OwnPtr<WebCore::GraphicsLayer> m_rootLayer;
- OwnPtr<WebCore::GraphicsLayer> m_nonCompositedContentLayer;
- OwnPtr<WebCore::TextureMapper> m_textureMapper;
- double m_lastFlushTime;
- double m_redrawPendingTime;
- bool m_needsExtraFlush;
- WebCore::TextureMapperFPSCounter m_fpsCounter;
-
- void layerFlushTimerFired();
- void stopAnyPendingLayerFlush();
- static gboolean layerFlushTimerFiredCallback(AcceleratedCompositingContext*);
- WebCore::GLContext* prepareForRendering();
- void clearEverywhere();
-#elif USE(TEXTURE_MAPPER)
- WebCore::TextureMapperLayer* m_rootTextureMapperLayer;
- OwnPtr<WebCore::GraphicsLayer> m_rootGraphicsLayer;
- OwnPtr<WebCore::TextureMapper> m_textureMapper;
-#endif
-
- AcceleratedCompositingContext(WebKitWebView*);
-};
-
-} // namespace WebKit
-
-#endif // USE(ACCELERATED_COMPOSITING)
-#endif // AcceleratedCompositingContext_h
diff --git a/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp b/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp
deleted file mode 100644
index 1ac385615..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * Copyright (C) 2012 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 "AcceleratedCompositingContext.h"
-
-#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL)
-
-#include "CairoUtilities.h"
-#include "Chrome.h"
-#include "ChromeClientGtk.h"
-#include "Frame.h"
-#include "FrameView.h"
-#include "GraphicsLayerTextureMapper.h"
-#include "PlatformContextCairo.h"
-#include "Settings.h"
-#include "TextureMapperGL.h"
-#include "TextureMapperLayer.h"
-#include "webkitwebviewprivate.h"
-#include <wtf/CurrentTime.h>
-
-#if USE(OPENGL_ES_2)
-#include <GLES2/gl2.h>
-#else
-#include <GL/gl.h>
-#endif
-
-#include <cairo.h>
-#include <gdk/gdk.h>
-#include <gtk/gtk.h>
-
-const double gFramesPerSecond = 60;
-
-// There seems to be a delicate balance between the main loop being flooded
-// with motion events (that force flushes) and starving the main loop of events
-// with flush callbacks. This delay is entirely empirical.
-const double gScheduleDelay = (1.0 / (gFramesPerSecond / 3.0));
-
-using namespace WebCore;
-
-namespace WebKit {
-
-AcceleratedCompositingContext::AcceleratedCompositingContext(WebKitWebView* webView)
- : m_webView(webView)
- , m_layerFlushTimerCallbackId(0)
- , m_lastFlushTime(0)
- , m_redrawPendingTime(0)
- , m_needsExtraFlush(false)
-{
-}
-
-static IntSize getWebViewSize(WebKitWebView* webView)
-{
- GtkAllocation allocation;
- gtk_widget_get_allocation(GTK_WIDGET(webView), &allocation);
- return IntSize(allocation.width, allocation.height);
-}
-
-void redirectedWindowDamagedCallback(void* data)
-{
- gtk_widget_queue_draw(GTK_WIDGET(data));
-}
-
-void AcceleratedCompositingContext::initialize()
-{
- if (m_rootLayer)
- return;
-
- IntSize pageSize = getWebViewSize(m_webView);
- if (!m_redirectedWindow) {
- if (m_redirectedWindow = RedirectedXCompositeWindow::create(pageSize))
- m_redirectedWindow->setDamageNotifyCallback(redirectedWindowDamagedCallback, m_webView);
- } else
- m_redirectedWindow->resize(pageSize);
-
- if (!m_redirectedWindow)
- return;
-
- m_rootLayer = GraphicsLayer::create(0, this);
- m_rootLayer->setDrawsContent(false);
- m_rootLayer->setSize(pageSize);
-
- // The non-composited contents are a child of the root layer.
- m_nonCompositedContentLayer = GraphicsLayer::create(0, this);
- m_nonCompositedContentLayer->setDrawsContent(true);
- m_nonCompositedContentLayer->setContentsOpaque(!m_webView->priv->transparent);
- m_nonCompositedContentLayer->setSize(pageSize);
- if (core(m_webView)->settings()->acceleratedDrawingEnabled())
- m_nonCompositedContentLayer->setAcceleratesDrawing(true);
-
-#ifndef NDEBUG
- m_rootLayer->setName("Root layer");
- m_nonCompositedContentLayer->setName("Non-composited content");
-#endif
-
- m_rootLayer->addChild(m_nonCompositedContentLayer.get());
- m_nonCompositedContentLayer->setNeedsDisplay();
-
- // The creation of the TextureMapper needs an active OpenGL context.
- GLContext* context = m_redirectedWindow->context();
- context->makeContextCurrent();
-
- m_textureMapper = TextureMapperGL::create();
- static_cast<TextureMapperGL*>(m_textureMapper.get())->setEnableEdgeDistanceAntialiasing(true);
- toTextureMapperLayer(m_rootLayer.get())->setTextureMapper(m_textureMapper.get());
-
- scheduleLayerFlush();
-}
-
-AcceleratedCompositingContext::~AcceleratedCompositingContext()
-{
- stopAnyPendingLayerFlush();
-}
-
-void AcceleratedCompositingContext::stopAnyPendingLayerFlush()
-{
- if (!m_layerFlushTimerCallbackId)
- return;
- g_source_remove(m_layerFlushTimerCallbackId);
- m_layerFlushTimerCallbackId = 0;
-}
-
-bool AcceleratedCompositingContext::enabled()
-{
- return m_redirectedWindow && m_rootLayer && m_textureMapper;
-}
-
-bool AcceleratedCompositingContext::renderLayersToWindow(cairo_t* cr, const IntRect& clipRect)
-{
- m_redrawPendingTime = 0;
-
- if (!enabled())
- return false;
-
- cairo_surface_t* windowSurface = m_redirectedWindow->cairoSurfaceForWidget(GTK_WIDGET(m_webView));
- if (!windowSurface)
- return true;
-
- cairo_rectangle(cr, clipRect.x(), clipRect.y(), clipRect.width(), clipRect.height());
- cairo_set_source_surface(cr, windowSurface, 0, 0);
- cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
- cairo_fill(cr);
-
- if (!m_layerFlushTimerCallbackId && (toTextureMapperLayer(m_rootLayer.get())->descendantsOrSelfHaveRunningAnimations() || m_needsExtraFlush)) {
- m_needsExtraFlush = false;
- double nextFlush = max((1 / gFramesPerSecond) - (currentTime() - m_lastFlushTime), 0.0);
- m_layerFlushTimerCallbackId = g_timeout_add_full(GDK_PRIORITY_EVENTS, 1000 * nextFlush, reinterpret_cast<GSourceFunc>(layerFlushTimerFiredCallback), this, 0);
- }
-
- return true;
-}
-
-GLContext* AcceleratedCompositingContext::prepareForRendering()
-{
- if (!enabled())
- return 0;
-
- GLContext* context = m_redirectedWindow->context();
- if (!context)
- return 0;
-
- if (!context->makeContextCurrent())
- return 0;
-
- return context;
-}
-
-void AcceleratedCompositingContext::compositeLayersToContext(CompositePurpose purpose)
-{
- GLContext* context = prepareForRendering();
- if (!context)
- return;
-
- const IntSize& windowSize = m_redirectedWindow->size();
- glViewport(0, 0, windowSize.width(), windowSize.height());
-
- if (purpose == ForResize) {
- glClearColor(1, 1, 1, 0);
- glClear(GL_COLOR_BUFFER_BIT);
- }
-
- m_textureMapper->beginPainting();
- toTextureMapperLayer(m_rootLayer.get())->paint();
- m_fpsCounter.updateFPSAndDisplay(m_textureMapper.get());
- m_textureMapper->endPainting();
-
- context->swapBuffers();
-}
-
-void AcceleratedCompositingContext::clearEverywhere()
-{
- GLContext* context = prepareForRendering();
- if (!context)
- return;
-
- const IntSize& windowSize = m_redirectedWindow->size();
- glViewport(0, 0, windowSize.width(), windowSize.height());
- glClearColor(1, 1, 1, 1);
- glClear(GL_COLOR_BUFFER_BIT);
-
- context->swapBuffers();
-
- // FIXME: It seems that when using double-buffering (and on some drivers single-buffering)
- // and XComposite window redirection, two swap buffers are required to force the pixmap
- // to update. This isn't a problem during animations, because swapBuffer is continuously
- // called. For non-animation situations we use this terrible hack until we can get to the
- // bottom of the issue.
- if (!toTextureMapperLayer(m_rootLayer.get())->descendantsOrSelfHaveRunningAnimations()) {
- context->swapBuffers();
- context->swapBuffers();
- }
-}
-
-void AcceleratedCompositingContext::setRootCompositingLayer(GraphicsLayer* graphicsLayer)
-{
- // Clearing everywhere when turning on or off the layer tree prevents us from flashing
- // old content before the first flush.
- clearEverywhere();
-
- if (!graphicsLayer) {
- stopAnyPendingLayerFlush();
-
- // Shrink the offscreen window to save memory while accelerated compositing is turned off.
- if (m_redirectedWindow)
- m_redirectedWindow->resize(IntSize(1, 1));
- m_rootLayer = nullptr;
- m_nonCompositedContentLayer = nullptr;
- m_textureMapper = nullptr;
- return;
- }
-
- // Add the accelerated layer tree hierarchy.
- initialize();
- if (!m_redirectedWindow)
- return;
-
- m_nonCompositedContentLayer->removeAllChildren();
- m_nonCompositedContentLayer->addChild(graphicsLayer);
-
- stopAnyPendingLayerFlush();
-
- // FIXME: Two flushes seem necessary to get the proper rendering in some cases. It's unclear
- // if this is a bug with the RedirectedXComposite window or with this class.
- m_needsExtraFlush = true;
- scheduleLayerFlush();
-
- m_layerFlushTimerCallbackId = g_timeout_add_full(GDK_PRIORITY_EVENTS, 500, reinterpret_cast<GSourceFunc>(layerFlushTimerFiredCallback), this, 0);
-}
-
-void AcceleratedCompositingContext::setNonCompositedContentsNeedDisplay(const IntRect& rect)
-{
- if (!m_rootLayer)
- return;
- if (rect.isEmpty()) {
- m_rootLayer->setNeedsDisplay();
- return;
- }
- m_nonCompositedContentLayer->setNeedsDisplayInRect(rect);
- scheduleLayerFlush();
-}
-
-void AcceleratedCompositingContext::resizeRootLayer(const IntSize& newSize)
-{
- if (!enabled())
- return;
-
- if (m_rootLayer->size() == newSize)
- return;
-
- m_redirectedWindow->resize(newSize);
- m_rootLayer->setSize(newSize);
-
- // If the newSize exposes new areas of the non-composited content a setNeedsDisplay is needed
- // for those newly exposed areas.
- FloatSize oldSize = m_nonCompositedContentLayer->size();
- m_nonCompositedContentLayer->setSize(newSize);
-
- if (newSize.width() > oldSize.width()) {
- float height = std::min(static_cast<float>(newSize.height()), oldSize.height());
- m_nonCompositedContentLayer->setNeedsDisplayInRect(FloatRect(oldSize.width(), 0, newSize.width() - oldSize.width(), height));
- }
-
- if (newSize.height() > oldSize.height())
- m_nonCompositedContentLayer->setNeedsDisplayInRect(FloatRect(0, oldSize.height(), newSize.width(), newSize.height() - oldSize.height()));
-
- m_nonCompositedContentLayer->setNeedsDisplayInRect(IntRect(IntPoint(), newSize));
- compositeLayersToContext(ForResize);
- scheduleLayerFlush();
-}
-
-void AcceleratedCompositingContext::scrollNonCompositedContents(const IntRect& scrollRect, const IntSize& scrollOffset)
-{
- m_nonCompositedContentLayer->setNeedsDisplayInRect(scrollRect);
- scheduleLayerFlush();
-}
-
-gboolean AcceleratedCompositingContext::layerFlushTimerFiredCallback(AcceleratedCompositingContext* context)
-{
- context->layerFlushTimerFired();
- return FALSE;
-}
-
-void AcceleratedCompositingContext::scheduleLayerFlush()
-{
- if (!enabled())
- return;
-
- if (m_layerFlushTimerCallbackId)
- return;
-
- // We use a GLib timer because otherwise GTK+ event handling during dragging can
- // starve WebCore timers, which have a lower priority.
- double nextFlush = max(gScheduleDelay - (currentTime() - m_lastFlushTime), 0.0);
- m_layerFlushTimerCallbackId = g_timeout_add_full(GDK_PRIORITY_EVENTS, nextFlush * 1000, reinterpret_cast<GSourceFunc>(layerFlushTimerFiredCallback), this, 0);
-}
-
-bool AcceleratedCompositingContext::flushPendingLayerChanges()
-{
- m_rootLayer->flushCompositingStateForThisLayerOnly();
- m_nonCompositedContentLayer->flushCompositingStateForThisLayerOnly();
- return core(m_webView)->mainFrame()->view()->flushCompositingStateIncludingSubframes();
-}
-
-void AcceleratedCompositingContext::flushAndRenderLayers()
-{
- if (!enabled())
- return;
-
- Frame* frame = core(m_webView)->mainFrame();
- if (!frame || !frame->contentRenderer() || !frame->view())
- return;
- frame->view()->updateLayoutAndStyleIfNeededRecursive();
-
- if (!enabled())
- return;
-
- GLContext* context = m_redirectedWindow->context();
- if (context && !context->makeContextCurrent())
- return;
-
- if (!flushPendingLayerChanges())
- return;
-
- m_lastFlushTime = currentTime();
- compositeLayersToContext();
-
- // If it's been a long time since we've actually painted, which means that events might
- // be starving the main loop, we should force a draw now. This seems to prevent display
- // lag on http://2012.beercamp.com.
- if (m_redrawPendingTime && currentTime() - m_redrawPendingTime > gScheduleDelay) {
- gtk_widget_queue_draw(GTK_WIDGET(m_webView));
- gdk_window_process_updates(gtk_widget_get_window(GTK_WIDGET(m_webView)), FALSE);
- } else if (!m_redrawPendingTime)
- m_redrawPendingTime = currentTime();
-}
-
-void AcceleratedCompositingContext::layerFlushTimerFired()
-{
- m_layerFlushTimerCallbackId = 0;
- flushAndRenderLayers();
-}
-
-void AcceleratedCompositingContext::notifyAnimationStarted(const GraphicsLayer*, double time)
-{
-
-}
-void AcceleratedCompositingContext::notifyFlushRequired(const GraphicsLayer*)
-{
-
-}
-
-void AcceleratedCompositingContext::paintContents(const GraphicsLayer*, GraphicsContext& context, GraphicsLayerPaintingPhase, const IntRect& rectToPaint)
-{
- context.save();
- context.clip(rectToPaint);
- core(m_webView)->mainFrame()->view()->paint(&context, rectToPaint);
- context.restore();
-}
-
-} // namespace WebKit
-
-#endif // USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL)
diff --git a/Source/WebKit/gtk/WebCoreSupport/AssertMatchingEnums.cpp b/Source/WebKit/gtk/WebCoreSupport/AssertMatchingEnums.cpp
deleted file mode 100644
index c2fe809ed..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/AssertMatchingEnums.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2011 Collabora Ltd.
- *
- * 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
- */
-
-// Use this file to assert that various WebKit API enum values continue
-// matching WebCore defined enum values.
-
-#include "config.h"
-
-#include "DumpRenderTreeSupportGtk.h"
-#include "EditingBehaviorTypes.h"
-#include "ErrorsGtk.h"
-#include "FindOptions.h"
-#include "FrameLoaderTypes.h"
-#include "PasteboardHelper.h"
-#include "webkiterror.h"
-#include "webkitwebnavigationaction.h"
-#include "webkitwebsettings.h"
-#include "webkitwebview.h"
-#include <wtf/Assertions.h>
-
-#define COMPILE_ASSERT_MATCHING_ENUM(webkit_name, webcore_name) \
- COMPILE_ASSERT(int(webkit_name) == int(WebCore::webcore_name), mismatching_enums)
-
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_EDITING_BEHAVIOR_MAC, EditingMacBehavior);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_EDITING_BEHAVIOR_WINDOWS, EditingWindowsBehavior);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_EDITING_BEHAVIOR_UNIX, EditingUnixBehavior);
-
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_WEB_NAVIGATION_REASON_LINK_CLICKED, NavigationTypeLinkClicked);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_WEB_NAVIGATION_REASON_FORM_SUBMITTED, NavigationTypeFormSubmitted);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_WEB_NAVIGATION_REASON_BACK_FORWARD, NavigationTypeBackForward);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_WEB_NAVIGATION_REASON_RELOAD, NavigationTypeReload);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_WEB_NAVIGATION_REASON_FORM_RESUBMITTED, NavigationTypeFormResubmitted);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_WEB_NAVIGATION_REASON_OTHER, NavigationTypeOther);
-
-COMPILE_ASSERT_MATCHING_ENUM(WebKit::WebFindOptionsAtWordStarts, AtWordStarts);
-COMPILE_ASSERT_MATCHING_ENUM(WebKit::WebFindOptionsTreatMedialCapitalAsWordStart, TreatMedialCapitalAsWordStart);
-COMPILE_ASSERT_MATCHING_ENUM(WebKit::WebFindOptionsBackwards, Backwards);
-COMPILE_ASSERT_MATCHING_ENUM(WebKit::WebFindOptionsWrapAround, WrapAround);
-COMPILE_ASSERT_MATCHING_ENUM(WebKit::WebFindOptionsStartInSelection, StartInSelection);
-
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_WEB_VIEW_TARGET_INFO_HTML, PasteboardHelper::TargetTypeMarkup);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_WEB_VIEW_TARGET_INFO_TEXT, PasteboardHelper::TargetTypeText);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_WEB_VIEW_TARGET_INFO_IMAGE, PasteboardHelper::TargetTypeImage);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_WEB_VIEW_TARGET_INFO_URI_LIST, PasteboardHelper::TargetTypeURIList);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_WEB_VIEW_TARGET_INFO_NETSCAPE_URL, PasteboardHelper::TargetTypeNetscapeURL);
-
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NETWORK_ERROR_FAILED, NetworkErrorFailed);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NETWORK_ERROR_TRANSPORT, NetworkErrorTransport);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NETWORK_ERROR_UNKNOWN_PROTOCOL, NetworkErrorUnknownProtocol);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NETWORK_ERROR_CANCELLED, NetworkErrorCancelled);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_NETWORK_ERROR_FILE_DOES_NOT_EXIST, NetworkErrorFileDoesNotExist);
-
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_POLICY_ERROR_FAILED, PolicyErrorFailed);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_POLICY_ERROR_CANNOT_SHOW_MIME_TYPE, PolicyErrorCannotShowMimeType);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_POLICY_ERROR_CANNOT_SHOW_URL, PolicyErrorCannotShowURL);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_POLICY_ERROR_FRAME_LOAD_INTERRUPTED_BY_POLICY_CHANGE, PolicyErrorFrameLoadInterruptedByPolicyChange);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_POLICY_ERROR_CANNOT_USE_RESTRICTED_PORT, PolicyErrorCannotUseRestrictedPort);
-
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_PLUGIN_ERROR_FAILED, PluginErrorFailed);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_PLUGIN_ERROR_CANNOT_FIND_PLUGIN, PluginErrorCannotFindPlugin);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_PLUGIN_ERROR_CANNOT_LOAD_PLUGIN, PluginErrorCannotLoadPlugin);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_PLUGIN_ERROR_JAVA_UNAVAILABLE, PluginErrorJavaUnavailable);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_PLUGIN_ERROR_CONNECTION_CANCELLED, PluginErrorConnectionCancelled);
-COMPILE_ASSERT_MATCHING_ENUM(WEBKIT_PLUGIN_ERROR_WILL_HANDLE_LOAD, PluginErrorWillHandleLoad);
diff --git a/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
deleted file mode 100644
index 90e76363a..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
+++ /dev/null
@@ -1,1105 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Holger Hans Peter Freyther
- * Copyright (C) 2007, 2008 Christian Dywan <christian@imendio.com>
- * Copyright (C) 2008 Nuanti Ltd.
- * Copyright (C) 2008 Alp Toker <alp@atoker.com>
- * Copyright (C) 2008 Gustavo Noronha Silva <gns@gnome.org>
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * Copyright (C) 2012 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 "ChromeClientGtk.h"
-
-#include "Chrome.h"
-#include "Console.h"
-#include "DumpRenderTreeSupportGtk.h"
-#include "Editor.h"
-#include "Element.h"
-#include "FileChooser.h"
-#include "FileIconLoader.h"
-#include "FileSystem.h"
-#include "FloatRect.h"
-#include "FocusController.h"
-#include "FrameLoadRequest.h"
-#include "FrameSelection.h"
-#include "FrameView.h"
-#include "GtkUtilities.h"
-#include "GtkVersioning.h"
-#include "HTMLNames.h"
-#include "HitTestResult.h"
-#include "Icon.h"
-#include "InspectorController.h"
-#include "IntRect.h"
-#include "KURL.h"
-#include "NavigationAction.h"
-#include "NotImplemented.h"
-#include "PopupMenuClient.h"
-#include "PopupMenuGtk.h"
-#include "RefPtrCairo.h"
-#include "SearchPopupMenuGtk.h"
-#include "SecurityOrigin.h"
-#include "WebKitDOMHTMLElementPrivate.h"
-#include "WindowFeatures.h"
-#include "webkitfilechooserrequestprivate.h"
-#include "webkitgeolocationpolicydecision.h"
-#include "webkitgeolocationpolicydecisionprivate.h"
-#include "webkitnetworkrequest.h"
-#include "webkitsecurityoriginprivate.h"
-#include "webkitviewportattributesprivate.h"
-#include "webkitwebframeprivate.h"
-#include "webkitwebview.h"
-#include "webkitwebviewprivate.h"
-#include "webkitwebwindowfeaturesprivate.h"
-#include <gdk/gdk.h>
-#include <gdk/gdkkeysyms.h>
-#include <glib.h>
-#include <glib/gi18n-lib.h>
-#include <gtk/gtk.h>
-#include <wtf/CurrentTime.h>
-#include <wtf/MathExtras.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
-
-#ifdef GDK_WINDOWING_X11
-#define Font XFont
-#define Cursor XCursor
-#define Region XRegion
-#include <gdk/gdkx.h>
-#undef Font
-#undef Cursor
-#undef Region
-#undef None
-#undef Status
-#endif
-
-#if ENABLE(SQL_DATABASE)
-#include "DatabaseManager.h"
-#endif
-
-#if ENABLE(VIDEO) && USE(NATIVE_FULLSCREEN_VIDEO)
-#include "HTMLMediaElement.h"
-#endif
-
-#ifdef GDK_WINDOWING_X11
-#include "WidgetBackingStoreGtkX11.h"
-#endif
-#include "WidgetBackingStoreCairo.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-static PassOwnPtr<WidgetBackingStore> createBackingStore(GtkWidget* widget, const IntSize& size)
-{
-#ifdef GDK_WINDOWING_X11
- GdkDisplay* display = gdk_display_manager_get_default_display(gdk_display_manager_get());
- if (GDK_IS_X11_DISPLAY(display))
- return WebCore::WidgetBackingStoreGtkX11::create(widget, size);
-#endif
- return WebCore::WidgetBackingStoreCairo::create(widget, size);
-}
-
-ChromeClient::ChromeClient(WebKitWebView* webView)
- : m_webView(webView)
- , m_adjustmentWatcher(webView)
- , m_closeSoonTimer(0)
- , m_displayTimer(this, &ChromeClient::paint)
- , m_forcePaint(false)
- , m_lastDisplayTime(0)
- , m_repaintSoonSourceId(0)
-{
- ASSERT(m_webView);
-}
-
-void ChromeClient::chromeDestroyed()
-{
- if (m_closeSoonTimer)
- g_source_remove(m_closeSoonTimer);
-
- if (m_repaintSoonSourceId)
- g_source_remove(m_repaintSoonSourceId);
-
- delete this;
-}
-
-FloatRect ChromeClient::windowRect()
-{
- GtkWidget* window = gtk_widget_get_toplevel(GTK_WIDGET(m_webView));
- if (widgetIsOnscreenToplevelWindow(window)) {
- gint left, top, width, height;
- gtk_window_get_position(GTK_WINDOW(window), &left, &top);
- gtk_window_get_size(GTK_WINDOW(window), &width, &height);
- return IntRect(left, top, width, height);
- }
- return FloatRect();
-}
-
-void ChromeClient::setWindowRect(const FloatRect& rect)
-{
- IntRect intrect = IntRect(rect);
- WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView);
-
- g_object_set(webWindowFeatures,
- "x", intrect.x(),
- "y", intrect.y(),
- "width", intrect.width(),
- "height", intrect.height(),
- NULL);
-
- gboolean autoResizeWindow;
- WebKitWebSettings* settings = webkit_web_view_get_settings(m_webView);
- g_object_get(settings, "auto-resize-window", &autoResizeWindow, NULL);
-
- if (!autoResizeWindow)
- return;
-
- GtkWidget* window = gtk_widget_get_toplevel(GTK_WIDGET(m_webView));
- if (widgetIsOnscreenToplevelWindow(window)) {
- gtk_window_move(GTK_WINDOW(window), intrect.x(), intrect.y());
- if (!intrect.isEmpty())
- gtk_window_resize(GTK_WINDOW(window), intrect.width(), intrect.height());
- }
-}
-
-static IntRect getWebViewRect(WebKitWebView* webView)
-{
- GtkAllocation allocation;
- gtk_widget_get_allocation(GTK_WIDGET(webView), &allocation);
- return IntRect(allocation.x, allocation.y, allocation.width, allocation.height);
-}
-
-FloatRect ChromeClient::pageRect()
-{
- return getWebViewRect(m_webView);
-}
-
-void ChromeClient::focus()
-{
- gtk_widget_grab_focus(GTK_WIDGET(m_webView));
-}
-
-void ChromeClient::unfocus()
-{
- GtkWidget* window = gtk_widget_get_toplevel(GTK_WIDGET(m_webView));
- if (widgetIsOnscreenToplevelWindow(window))
- gtk_window_set_focus(GTK_WINDOW(window), NULL);
-}
-
-Page* ChromeClient::createWindow(Frame* frame, const FrameLoadRequest& frameLoadRequest, const WindowFeatures& coreFeatures, const NavigationAction&)
-{
- WebKitWebView* webView = 0;
-
- g_signal_emit_by_name(m_webView, "create-web-view", kit(frame), &webView);
-
- if (!webView)
- return 0;
-
- GRefPtr<WebKitWebWindowFeatures> webWindowFeatures(adoptGRef(kitNew(coreFeatures)));
- g_object_set(webView, "window-features", webWindowFeatures.get(), NULL);
-
- return core(webView);
-}
-
-void ChromeClient::show()
-{
- webkit_web_view_notify_ready(m_webView);
-}
-
-bool ChromeClient::canRunModal()
-{
- notImplemented();
- return false;
-}
-
-void ChromeClient::runModal()
-{
- notImplemented();
-}
-
-void ChromeClient::setToolbarsVisible(bool visible)
-{
- WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView);
-
- g_object_set(webWindowFeatures, "toolbar-visible", visible, NULL);
-}
-
-bool ChromeClient::toolbarsVisible()
-{
- WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView);
- gboolean visible;
-
- g_object_get(webWindowFeatures, "toolbar-visible", &visible, NULL);
- return visible;
-}
-
-void ChromeClient::setStatusbarVisible(bool visible)
-{
- WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView);
-
- g_object_set(webWindowFeatures, "statusbar-visible", visible, NULL);
-}
-
-bool ChromeClient::statusbarVisible()
-{
- WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView);
- gboolean visible;
-
- g_object_get(webWindowFeatures, "statusbar-visible", &visible, NULL);
- return visible;
-}
-
-void ChromeClient::setScrollbarsVisible(bool visible)
-{
- WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView);
-
- g_object_set(webWindowFeatures, "scrollbar-visible", visible, NULL);
-}
-
-bool ChromeClient::scrollbarsVisible()
-{
- WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView);
- gboolean visible;
-
- g_object_get(webWindowFeatures, "scrollbar-visible", &visible, NULL);
- return visible;
-}
-
-void ChromeClient::setMenubarVisible(bool visible)
-{
- WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView);
-
- g_object_set(webWindowFeatures, "menubar-visible", visible, NULL);
-}
-
-bool ChromeClient::menubarVisible()
-{
- WebKitWebWindowFeatures* webWindowFeatures = webkit_web_view_get_window_features(m_webView);
- gboolean visible;
-
- g_object_get(webWindowFeatures, "menubar-visible", &visible, NULL);
- return visible;
-}
-
-void ChromeClient::setResizable(bool)
-{
- // Ignored for now
-}
-
-static gboolean emitCloseWebViewSignalLater(WebKitWebView* view)
-{
- gboolean isHandled;
- g_signal_emit_by_name(view, "close-web-view", &isHandled);
- return FALSE;
-}
-
-void ChromeClient::closeWindowSoon()
-{
- // We may not have a WebView as create-web-view can return NULL.
- if (!m_webView)
- return;
- if (m_closeSoonTimer) // Don't call close-web-view more than once.
- return;
-
- // We need to remove the parent WebView from WebViewSets here, before it actually
- // closes, to make sure that JavaScript code that executes before it closes
- // can't find it. Otherwise, window.open will select a closed WebView instead of
- // opening a new one <rdar://problem/3572585>.
- m_webView->priv->corePage->setGroupName("");
-
- // We also need to stop the load to prevent further parsing or JavaScript execution
- // after the window has torn down <rdar://problem/4161660>.
- webkit_web_view_stop_loading(m_webView);
-
- // Clients commonly destroy the web view during the close-web-view signal, but our caller
- // may need to send more signals to the web view. For instance, if this happened in the
- // onload handler, it will need to call FrameLoaderClient::dispatchDidHandleOnloadEvents.
- // Instead of firing the close-web-view signal now, fire it after the caller finishes.
- // This seems to match the Mac/Windows port behavior.
- m_closeSoonTimer = g_timeout_add(0, reinterpret_cast<GSourceFunc>(emitCloseWebViewSignalLater), m_webView);
-}
-
-bool ChromeClient::canTakeFocus(FocusDirection)
-{
- return gtk_widget_get_can_focus(GTK_WIDGET(m_webView));
-}
-
-void ChromeClient::takeFocus(FocusDirection)
-{
- unfocus();
-}
-
-void ChromeClient::focusedNodeChanged(Node*)
-{
-}
-
-void ChromeClient::focusedFrameChanged(Frame*)
-{
-}
-
-bool ChromeClient::canRunBeforeUnloadConfirmPanel()
-{
- return true;
-}
-
-bool ChromeClient::runBeforeUnloadConfirmPanel(const WTF::String& message, WebCore::Frame* frame)
-{
- return runJavaScriptConfirm(frame, message);
-}
-
-void ChromeClient::addMessageToConsole(WebCore::MessageSource source, WebCore::MessageLevel level, const WTF::String& message, unsigned lineNumber, unsigned columnNumber, const WTF::String& sourceId)
-{
- gboolean retval;
- g_signal_emit_by_name(m_webView, "console-message", message.utf8().data(), lineNumber, sourceId.utf8().data(), &retval);
-}
-
-void ChromeClient::runJavaScriptAlert(Frame* frame, const String& message)
-{
- gboolean retval;
- g_signal_emit_by_name(m_webView, "script-alert", kit(frame), message.utf8().data(), &retval);
-}
-
-bool ChromeClient::runJavaScriptConfirm(Frame* frame, const String& message)
-{
- gboolean retval;
- gboolean didConfirm;
- g_signal_emit_by_name(m_webView, "script-confirm", kit(frame), message.utf8().data(), &didConfirm, &retval);
- return didConfirm == TRUE;
-}
-
-bool ChromeClient::runJavaScriptPrompt(Frame* frame, const String& message, const String& defaultValue, String& result)
-{
- gboolean retval;
- gchar* value = 0;
- g_signal_emit_by_name(m_webView, "script-prompt", kit(frame), message.utf8().data(), defaultValue.utf8().data(), &value, &retval);
- if (value) {
- result = String::fromUTF8(value);
- g_free(value);
- return true;
- }
- return false;
-}
-
-void ChromeClient::setStatusbarText(const String& string)
-{
- CString stringMessage = string.utf8();
- g_signal_emit_by_name(m_webView, "status-bar-text-changed", stringMessage.data());
-}
-
-bool ChromeClient::shouldInterruptJavaScript()
-{
- notImplemented();
- return false;
-}
-
-KeyboardUIMode ChromeClient::keyboardUIMode()
-{
- bool tabsToLinks = true;
- if (DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled())
- tabsToLinks = DumpRenderTreeSupportGtk::linksIncludedInFocusChain();
-
- return tabsToLinks ? KeyboardAccessTabsToLinks : KeyboardAccessDefault;
-}
-
-IntRect ChromeClient::windowResizerRect() const
-{
- notImplemented();
- return IntRect();
-}
-
-static gboolean repaintEverythingSoonTimeout(ChromeClient* client)
-{
- client->paint(0);
- return FALSE;
-}
-
-static void clipOutOldWidgetArea(cairo_t* cr, const IntSize& oldSize, const IntSize& newSize)
-{
- cairo_move_to(cr, oldSize.width(), 0);
- cairo_line_to(cr, newSize.width(), 0);
- cairo_line_to(cr, newSize.width(), newSize.height());
- cairo_line_to(cr, 0, newSize.height());
- cairo_line_to(cr, 0, oldSize.height());
- cairo_line_to(cr, oldSize.width(), oldSize.height());
- cairo_close_path(cr);
- cairo_clip(cr);
-}
-
-static void clearEverywhereInBackingStore(WebKitWebView* webView, cairo_t* cr)
-{
- // The strategy here is to quickly draw white into this new canvas, so that
- // when a user quickly resizes the WebView in an environment that has opaque
- // resizing (like Gnome Shell), there are no drawing artifacts.
- if (!webView->priv->transparent) {
- cairo_set_source_rgb(cr, 1, 1, 1);
- cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
- } else
- cairo_set_operator(cr, CAIRO_OPERATOR_CLEAR);
- cairo_paint(cr);
-}
-
-void ChromeClient::widgetSizeChanged(const IntSize& oldWidgetSize, IntSize newSize)
-{
-#if USE(ACCELERATED_COMPOSITING)
- AcceleratedCompositingContext* compositingContext = m_webView->priv->acceleratedCompositingContext.get();
- if (compositingContext->enabled()) {
- m_webView->priv->acceleratedCompositingContext->resizeRootLayer(newSize);
- return;
- }
-#endif
-
- // Grow the backing store by at least 1.5 times the current size. This prevents
- // lots of unnecessary allocations during an opaque resize.
- WidgetBackingStore* backingStore = m_webView->priv->backingStore.get();
- if (backingStore && oldWidgetSize == newSize)
- return;
-
- if (backingStore) {
- const IntSize& oldSize = backingStore->size();
- if (newSize.width() > oldSize.width())
- newSize.setWidth(std::max(newSize.width(), static_cast<int>(oldSize.width() * 1.5)));
- if (newSize.height() > oldSize.height())
- newSize.setHeight(std::max(newSize.height(), static_cast<int>(oldSize.height() * 1.5)));
- }
-
- // If we did not have a backing store before or if the backing store is growing, we need
- // to reallocate a new one and set it up so that we don't see artifacts while resizing.
- if (!backingStore
- || newSize.width() > backingStore->size().width()
- || newSize.height() > backingStore->size().height()) {
-
- OwnPtr<WidgetBackingStore> newBackingStore = createBackingStore(GTK_WIDGET(m_webView), newSize);
- RefPtr<cairo_t> cr = adoptRef(cairo_create(newBackingStore->cairoSurface()));
-
- clearEverywhereInBackingStore(m_webView, cr.get());
-
- // Now we copy the old backing store image over the new cleared surface to prevent
- // annoying flashing as the widget grows. We do the "real" paint in a timeout
- // since we don't want to block resizing too long.
- if (backingStore) {
- cairo_set_source_surface(cr.get(), backingStore->cairoSurface(), 0, 0);
- cairo_rectangle(cr.get(), 0, 0, backingStore->size().width(), backingStore->size().height());
- cairo_fill(cr.get());
- }
-
- m_webView->priv->backingStore = newBackingStore.release();
- backingStore = m_webView->priv->backingStore.get();
-
- } else if (oldWidgetSize.width() < newSize.width() || oldWidgetSize.height() < newSize.height()) {
- // The widget is growing, but we did not need to create a new backing store.
- // We should clear any old data outside of the old widget region.
- RefPtr<cairo_t> cr = adoptRef(cairo_create(backingStore->cairoSurface()));
- clipOutOldWidgetArea(cr.get(), oldWidgetSize, newSize);
- clearEverywhereInBackingStore(m_webView, cr.get());
- }
-
- // We need to force a redraw and ignore the framerate cap.
- m_lastDisplayTime = 0;
- m_dirtyRegion.unite(IntRect(IntPoint(), backingStore->size()));
-
- // WebCore timers by default have a lower priority which leads to more artifacts when opaque
- // resize is on, thus we use g_timeout_add here to force a higher timeout priority.
- if (!m_repaintSoonSourceId)
- m_repaintSoonSourceId = g_timeout_add(0, reinterpret_cast<GSourceFunc>(repaintEverythingSoonTimeout), this);
-}
-
-static void coalesceRectsIfPossible(const IntRect& clipRect, Vector<IntRect>& rects)
-{
- const unsigned int cRectThreshold = 10;
- const float cWastedSpaceThreshold = 0.75f;
- bool useUnionedRect = (rects.size() <= 1) || (rects.size() > cRectThreshold);
- if (!useUnionedRect) {
- // Attempt to guess whether or not we should use the unioned rect or the individual rects.
- // We do this by computing the percentage of "wasted space" in the union. If that wasted space
- // is too large, then we will do individual rect painting instead.
- float unionPixels = (clipRect.width() * clipRect.height());
- float singlePixels = 0;
- for (size_t i = 0; i < rects.size(); ++i)
- singlePixels += rects[i].width() * rects[i].height();
- float wastedSpace = 1 - (singlePixels / unionPixels);
- if (wastedSpace <= cWastedSpaceThreshold)
- useUnionedRect = true;
- }
-
- if (!useUnionedRect)
- return;
-
- rects.clear();
- rects.append(clipRect);
-}
-
-static void paintWebView(WebKitWebView* webView, Frame* frame, const Region& dirtyRegion)
-{
- if (!webView->priv->backingStore)
- return;
-
- Vector<IntRect> rects = dirtyRegion.rects();
- coalesceRectsIfPossible(dirtyRegion.bounds(), rects);
-
- RefPtr<cairo_t> backingStoreContext = adoptRef(cairo_create(webView->priv->backingStore->cairoSurface()));
- GraphicsContext gc(backingStoreContext.get());
- gc.applyDeviceScaleFactor(frame->page()->deviceScaleFactor());
- for (size_t i = 0; i < rects.size(); i++) {
- const IntRect& rect = rects[i];
-
- gc.save();
- gc.clip(rect);
- if (webView->priv->transparent)
- gc.clearRect(rect);
- frame->view()->paint(&gc, rect);
- gc.restore();
- }
-
- gc.save();
- gc.clip(dirtyRegion.bounds());
- frame->page()->inspectorController()->drawHighlight(gc);
- gc.restore();
-}
-
-void ChromeClient::performAllPendingScrolls()
-{
- if (!m_webView->priv->backingStore)
- return;
-
- // Scroll all pending scroll rects and invalidate those parts of the widget.
- for (size_t i = 0; i < m_rectsToScroll.size(); i++) {
- IntRect& scrollRect = m_rectsToScroll[i];
- m_webView->priv->backingStore->scroll(scrollRect, m_scrollOffsets[i]);
- gtk_widget_queue_draw_area(GTK_WIDGET(m_webView), scrollRect.x(), scrollRect.y(), scrollRect.width(), scrollRect.height());
- }
-
- m_rectsToScroll.clear();
- m_scrollOffsets.clear();
-}
-
-void ChromeClient::paint(WebCore::Timer<ChromeClient>*)
-{
- static const double minimumFrameInterval = 1.0 / 60.0; // No more than 60 frames a second.
- double timeSinceLastDisplay = currentTime() - m_lastDisplayTime;
- double timeUntilNextDisplay = minimumFrameInterval - timeSinceLastDisplay;
-
- if (timeUntilNextDisplay > 0 && !m_forcePaint) {
- m_displayTimer.startOneShot(timeUntilNextDisplay);
- return;
- }
-
- Frame* frame = core(m_webView)->mainFrame();
- if (!frame || !frame->contentRenderer() || !frame->view())
- return;
-
- frame->view()->updateLayoutAndStyleIfNeededRecursive();
- performAllPendingScrolls();
- paintWebView(m_webView, frame, m_dirtyRegion);
-
- HashSet<GtkWidget*> children = m_webView->priv->children;
- HashSet<GtkWidget*>::const_iterator end = children.end();
- for (HashSet<GtkWidget*>::const_iterator current = children.begin(); current != end; ++current) {
- if (static_cast<GtkAllocation*>(g_object_get_data(G_OBJECT(*current), "delayed-allocation"))) {
- gtk_widget_queue_resize_no_redraw(GTK_WIDGET(m_webView));
- break;
- }
- }
-
- const IntRect& rect = m_dirtyRegion.bounds();
- gtk_widget_queue_draw_area(GTK_WIDGET(m_webView), rect.x(), rect.y(), rect.width(), rect.height());
-
- m_dirtyRegion = Region();
- m_lastDisplayTime = currentTime();
- m_repaintSoonSourceId = 0;
-
- // We update the IM context window location here, because we want it to be
- // synced with cursor movement. For instance, a text field can move without
- // the selection changing.
- Frame* focusedFrame = core(m_webView)->focusController()->focusedOrMainFrame();
- if (focusedFrame && focusedFrame->editor().canEdit())
- m_webView->priv->imFilter.setCursorRect(frame->selection()->absoluteCaretBounds());
-}
-
-void ChromeClient::forcePaint()
-{
-#if USE(ACCELERATED_COMPOSITING)
- if (m_webView->priv->acceleratedCompositingContext->enabled())
- return;
-#endif
-
- m_forcePaint = true;
- paint(0);
- m_forcePaint = false;
-}
-
-void ChromeClient::invalidateRootView(const IntRect&, bool immediate)
-{
-}
-
-void ChromeClient::invalidateContentsAndRootView(const IntRect& updateRect, bool immediate)
-{
-#if USE(ACCELERATED_COMPOSITING)
- AcceleratedCompositingContext* acContext = m_webView->priv->acceleratedCompositingContext.get();
- if (acContext->enabled()) {
- acContext->setNonCompositedContentsNeedDisplay(updateRect);
- return;
- }
-#endif
-
- if (updateRect.isEmpty())
- return;
- m_dirtyRegion.unite(updateRect);
- m_displayTimer.startOneShot(0);
-}
-
-void ChromeClient::invalidateContentsForSlowScroll(const IntRect& updateRect, bool immediate)
-{
- m_adjustmentWatcher.updateAdjustmentsFromScrollbarsLater();
-
-#if USE(ACCELERATED_COMPOSITING)
- AcceleratedCompositingContext* acContext = m_webView->priv->acceleratedCompositingContext.get();
- if (acContext->enabled()) {
- acContext->setNonCompositedContentsNeedDisplay(updateRect);
- return;
- }
-#endif
-
- invalidateContentsAndRootView(updateRect, immediate);
-}
-
-void ChromeClient::scroll(const IntSize& delta, const IntRect& rectToScroll, const IntRect& clipRect)
-{
- m_adjustmentWatcher.updateAdjustmentsFromScrollbarsLater();
-
-#if USE(ACCELERATED_COMPOSITING)
- AcceleratedCompositingContext* compositingContext = m_webView->priv->acceleratedCompositingContext.get();
- if (compositingContext->enabled()) {
- ASSERT(!rectToScroll.isEmpty());
- ASSERT(delta.width() || delta.height());
-
- compositingContext->scrollNonCompositedContents(rectToScroll, delta);
- return;
- }
-#endif
-
- m_rectsToScroll.append(rectToScroll);
- m_scrollOffsets.append(delta);
-
- // The code to calculate the scroll repaint region is originally from WebKit2.
- // Get the part of the dirty region that is in the scroll rect.
- Region dirtyRegionInScrollRect = intersect(rectToScroll, m_dirtyRegion);
- if (!dirtyRegionInScrollRect.isEmpty()) {
- // There are parts of the dirty region that are inside the scroll rect.
- // We need to subtract them from the region, move them and re-add them.
- m_dirtyRegion.subtract(rectToScroll);
-
- // Move the dirty parts.
- Region movedDirtyRegionInScrollRect = intersect(translate(dirtyRegionInScrollRect, delta), rectToScroll);
-
- // And add them back.
- m_dirtyRegion.unite(movedDirtyRegionInScrollRect);
- }
-
- // Compute the scroll repaint region. We ensure that we are not subtracting areas
- // that we've scrolled from outside the viewport from the repaint region.
- IntRect onScreenScrollRect = rectToScroll;
- onScreenScrollRect.intersect(IntRect(IntPoint(), enclosingIntRect(pageRect()).size()));
- Region scrollRepaintRegion = subtract(rectToScroll, translate(onScreenScrollRect, delta));
-
- m_dirtyRegion.unite(scrollRepaintRegion);
- m_displayTimer.startOneShot(0);
-}
-
-IntRect ChromeClient::rootViewToScreen(const IntRect& rect) const
-{
- return IntRect(convertWidgetPointToScreenPoint(GTK_WIDGET(m_webView), rect.location()), rect.size());
-}
-
-IntPoint ChromeClient::screenToRootView(const IntPoint& point) const
-{
- IntPoint widgetPositionOnScreen = convertWidgetPointToScreenPoint(GTK_WIDGET(m_webView), IntPoint());
- IntPoint result(point);
- result.move(-widgetPositionOnScreen.x(), -widgetPositionOnScreen.y());
- return result;
-}
-
-PlatformPageClient ChromeClient::platformPageClient() const
-{
- return GTK_WIDGET(m_webView);
-}
-
-void ChromeClient::contentsSizeChanged(Frame* frame, const IntSize& size) const
-{
- if (m_adjustmentWatcher.scrollbarsDisabled())
- return;
-
- // We need to queue a resize request only if the size changed,
- // otherwise we get into an infinite loop!
- GtkWidget* widget = GTK_WIDGET(m_webView);
- GtkRequisition requisition;
- gtk_widget_get_preferred_size(widget, &requisition, 0);
- if (gtk_widget_get_realized(widget)
- && (requisition.height != size.height()
- || requisition.width != size.width()))
- gtk_widget_queue_resize_no_redraw(widget);
-
- // If this was a main frame size change, update the scrollbars.
- if (frame != frame->page()->mainFrame())
- return;
- m_adjustmentWatcher.updateAdjustmentsFromScrollbarsLater();
-}
-
-void ChromeClient::scrollbarsModeDidChange() const
-{
- WebKitWebFrame* webFrame = webkit_web_view_get_main_frame(m_webView);
- if (!webFrame)
- return;
-
- g_object_notify(G_OBJECT(webFrame), "horizontal-scrollbar-policy");
- g_object_notify(G_OBJECT(webFrame), "vertical-scrollbar-policy");
-
- gboolean isHandled;
- g_signal_emit_by_name(webFrame, "scrollbars-policy-changed", &isHandled);
-
- if (isHandled)
- return;
-
- GtkWidget* parent = gtk_widget_get_parent(GTK_WIDGET(m_webView));
- if (!parent || !GTK_IS_SCROLLED_WINDOW(parent))
- return;
-
- GtkPolicyType horizontalPolicy = webkit_web_frame_get_horizontal_scrollbar_policy(webFrame);
- GtkPolicyType verticalPolicy = webkit_web_frame_get_vertical_scrollbar_policy(webFrame);
-
- // ScrolledWindow doesn't like to display only part of a widget if
- // the scrollbars are completely disabled; We have a disparity
- // here on what the policy requested by the web app is and what we
- // can represent; the idea is not to show scrollbars, only.
- if (horizontalPolicy == GTK_POLICY_NEVER)
- horizontalPolicy = GTK_POLICY_AUTOMATIC;
-
- if (verticalPolicy == GTK_POLICY_NEVER)
- verticalPolicy = GTK_POLICY_AUTOMATIC;
-
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(parent),
- horizontalPolicy, verticalPolicy);
-}
-
-void ChromeClient::mouseDidMoveOverElement(const HitTestResult& hit, unsigned modifierFlags)
-{
- // check if the element is a link...
- bool isLink = hit.isLiveLink();
- if (isLink) {
- KURL url = hit.absoluteLinkURL();
- if (!url.isEmpty() && url != m_hoveredLinkURL) {
- TextDirection dir;
- CString titleString = hit.title(dir).utf8();
- CString urlString = url.string().utf8();
- g_signal_emit_by_name(m_webView, "hovering-over-link", titleString.data(), urlString.data());
- m_hoveredLinkURL = url;
- }
- } else if (!isLink && !m_hoveredLinkURL.isEmpty()) {
- g_signal_emit_by_name(m_webView, "hovering-over-link", 0, 0);
- m_hoveredLinkURL = KURL();
- }
-
- if (Node* node = hit.innerNonSharedNode()) {
- Frame* frame = node->document()->frame();
- FrameView* view = frame ? frame->view() : 0;
- m_webView->priv->tooltipArea = view ? view->contentsToWindow(node->pixelSnappedBoundingBox()) : IntRect();
- } else
- m_webView->priv->tooltipArea = IntRect();
-}
-
-void ChromeClient::setToolTip(const String& toolTip, TextDirection)
-{
- webkit_web_view_set_tooltip_text(m_webView, toolTip.utf8().data());
-}
-
-void ChromeClient::print(Frame* frame)
-{
- WebKitWebFrame* webFrame = kit(frame);
- gboolean isHandled = false;
- g_signal_emit_by_name(m_webView, "print-requested", webFrame, &isHandled);
-
- if (isHandled)
- return;
-
- webkit_web_frame_print(webFrame);
-}
-
-#if ENABLE(SQL_DATABASE)
-void ChromeClient::exceededDatabaseQuota(Frame* frame, const String& databaseName, DatabaseDetails)
-{
- guint64 defaultQuota = webkit_get_default_web_database_quota();
- DatabaseManager::manager().setQuota(frame->document()->securityOrigin(), defaultQuota);
-
- WebKitWebFrame* webFrame = kit(frame);
- WebKitSecurityOrigin* origin = webkit_web_frame_get_security_origin(webFrame);
- WebKitWebDatabase* webDatabase = webkit_security_origin_get_web_database(origin, databaseName.utf8().data());
- g_signal_emit_by_name(m_webView, "database-quota-exceeded", webFrame, webDatabase);
-}
-#endif
-
-void ChromeClient::reachedMaxAppCacheSize(int64_t spaceNeeded)
-{
- // FIXME: Free some space.
- notImplemented();
-}
-
-void ChromeClient::reachedApplicationCacheOriginQuota(SecurityOrigin*, int64_t)
-{
- notImplemented();
-}
-
-void ChromeClient::runOpenPanel(Frame*, PassRefPtr<FileChooser> prpFileChooser)
-{
- GRefPtr<WebKitFileChooserRequest> request = adoptGRef(webkit_file_chooser_request_create(prpFileChooser));
- webkitWebViewRunFileChooserRequest(m_webView, request.get());
-}
-
-void ChromeClient::loadIconForFiles(const Vector<WTF::String>& filenames, WebCore::FileIconLoader* loader)
-{
- loader->notifyFinished(Icon::createIconForFiles(filenames));
-}
-
-void ChromeClient::dispatchViewportPropertiesDidChange(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& cursor)
-{
- // [GTK] Widget::setCursor() gets called frequently
- // http://bugs.webkit.org/show_bug.cgi?id=16388
- // Setting the cursor may be an expensive operation in some backends,
- // so don't re-set the cursor if it's already set to the target value.
- GdkWindow* window = gtk_widget_get_window(platformPageClient());
- if (!window)
- return;
-
- GdkCursor* currentCursor = gdk_window_get_cursor(window);
- GdkCursor* newCursor = cursor.platformCursor().get();
- if (currentCursor != newCursor)
- gdk_window_set_cursor(window, newCursor);
-}
-
-void ChromeClient::setCursorHiddenUntilMouseMoves(bool)
-{
- notImplemented();
-}
-
-bool ChromeClient::selectItemWritingDirectionIsNatural()
-{
- return false;
-}
-
-bool ChromeClient::selectItemAlignmentFollowsMenuWritingDirection()
-{
- return true;
-}
-
-bool ChromeClient::hasOpenedPopup() const
-{
- notImplemented();
- return false;
-}
-
-PassRefPtr<WebCore::PopupMenu> ChromeClient::createPopupMenu(WebCore::PopupMenuClient* client) const
-{
- return adoptRef(new PopupMenuGtk(client));
-}
-
-PassRefPtr<WebCore::SearchPopupMenu> ChromeClient::createSearchPopupMenu(WebCore::PopupMenuClient* client) const
-{
- return adoptRef(new SearchPopupMenuGtk(client));
-}
-
-#if ENABLE(VIDEO) && USE(NATIVE_FULLSCREEN_VIDEO)
-bool ChromeClient::supportsFullscreenForNode(const Node* node)
-{
- return node->hasTagName(HTMLNames::videoTag);
-}
-
-void ChromeClient::enterFullscreenForNode(Node* node)
-{
- if (!node)
- return;
-
- HTMLElement* element = static_cast<HTMLElement*>(node);
- if (element && element->isMediaElement()) {
- HTMLMediaElement* mediaElement = toHTMLMediaElement(element);
- if (mediaElement->player() && mediaElement->player()->canEnterFullscreen())
- mediaElement->player()->enterFullscreen();
- }
-}
-
-void ChromeClient::exitFullscreenForNode(Node* node)
-{
- if (!node)
- return;
-
- HTMLElement* element = static_cast<HTMLElement*>(node);
- if (element && element->isMediaElement()) {
- HTMLMediaElement* mediaElement = toHTMLMediaElement(element);
- if (mediaElement->player())
- mediaElement->player()->exitFullscreen();
- }
-}
-#endif
-
-#if ENABLE(FULLSCREEN_API)
-bool ChromeClient::supportsFullScreenForElement(const WebCore::Element* element, bool withKeyboard)
-{
- return !withKeyboard;
-}
-
-static gboolean onFullscreenGtkKeyPressEvent(GtkWidget* widget, GdkEventKey* event, ChromeClient* chromeClient)
-{
- switch (event->keyval) {
- case GDK_KEY_Escape:
- case GDK_KEY_f:
- case GDK_KEY_F:
- chromeClient->cancelFullScreen();
- return TRUE;
- default:
- break;
- }
-
- return FALSE;
-}
-
-void ChromeClient::cancelFullScreen()
-{
- ASSERT(m_fullScreenElement);
- m_fullScreenElement->document()->webkitCancelFullScreen();
-}
-
-void ChromeClient::enterFullScreenForElement(WebCore::Element* element)
-{
- gboolean returnValue;
- GRefPtr<WebKitDOMHTMLElement> kitElement(adoptGRef(kit(reinterpret_cast<HTMLElement*>(element))));
- g_signal_emit_by_name(m_webView, "entering-fullscreen", kitElement.get(), &returnValue);
- if (returnValue)
- return;
-
-#if ENABLE(VIDEO) && USE(NATIVE_FULLSCREEN_VIDEO)
- if (element && element->isMediaElement()) {
- HTMLMediaElement* mediaElement = toHTMLMediaElement(element);
- if (mediaElement->player() && mediaElement->player()->canEnterFullscreen()) {
- element->document()->webkitWillEnterFullScreenForElement(element);
- mediaElement->player()->enterFullscreen();
- m_fullScreenElement = element;
- element->document()->webkitDidEnterFullScreenForElement(element);
- }
- return;
- }
-#endif
-
- GtkWidget* window = gtk_widget_get_toplevel(GTK_WIDGET(m_webView));
- if (!widgetIsOnscreenToplevelWindow(window))
- return;
-
- g_signal_connect(window, "key-press-event", G_CALLBACK(onFullscreenGtkKeyPressEvent), this);
-
- m_fullScreenElement = element;
-
- element->document()->webkitWillEnterFullScreenForElement(element);
- m_adjustmentWatcher.disableAllScrollbars();
- gtk_window_fullscreen(GTK_WINDOW(window));
- element->document()->webkitDidEnterFullScreenForElement(element);
-}
-
-void ChromeClient::exitFullScreenForElement(WebCore::Element*)
-{
- // The element passed into this function is not reliable, i.e. it could
- // be null. In addition the parameter may be disappearing in the future.
- // So we use the reference to the element we saved above.
- ASSERT(m_fullScreenElement);
-
- gboolean returnValue;
- GRefPtr<WebKitDOMHTMLElement> kitElement(adoptGRef(kit(reinterpret_cast<HTMLElement*>(m_fullScreenElement.get()))));
- g_signal_emit_by_name(m_webView, "leaving-fullscreen", kitElement.get(), &returnValue);
- if (returnValue)
- return;
-
-#if ENABLE(VIDEO) && USE(NATIVE_FULLSCREEN_VIDEO)
- if (m_fullScreenElement && m_fullScreenElement->isMediaElement()) {
- m_fullScreenElement->document()->webkitWillExitFullScreenForElement(m_fullScreenElement.get());
- HTMLMediaElement* mediaElement = toHTMLMediaElement(m_fullScreenElement.get());
- if (mediaElement->player()) {
- mediaElement->player()->exitFullscreen();
- m_fullScreenElement->document()->webkitDidExitFullScreenForElement(m_fullScreenElement.get());
- m_fullScreenElement.clear();
- }
- return;
- }
-#endif
-
- GtkWidget* window = gtk_widget_get_toplevel(GTK_WIDGET(m_webView));
- ASSERT(widgetIsOnscreenToplevelWindow(window));
- g_signal_handlers_disconnect_by_func(window, reinterpret_cast<void*>(onFullscreenGtkKeyPressEvent), this);
-
- m_fullScreenElement->document()->webkitWillExitFullScreenForElement(m_fullScreenElement.get());
- gtk_window_unfullscreen(GTK_WINDOW(window));
- m_adjustmentWatcher.enableAllScrollbars();
- m_fullScreenElement->document()->webkitDidExitFullScreenForElement(m_fullScreenElement.get());
- m_fullScreenElement.clear();
-}
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
-void ChromeClient::attachRootGraphicsLayer(Frame* frame, GraphicsLayer* rootLayer)
-{
- AcceleratedCompositingContext* context = m_webView->priv->acceleratedCompositingContext.get();
- bool turningOffCompositing = !rootLayer && context->enabled();
- bool turningOnCompositing = rootLayer && !context->enabled();
-
- context->setRootCompositingLayer(rootLayer);
-
- if (turningOnCompositing) {
- m_displayTimer.stop();
- m_webView->priv->backingStore = createBackingStore(GTK_WIDGET(m_webView), IntSize(1, 1));
- }
-
- if (turningOffCompositing) {
- m_webView->priv->backingStore = createBackingStore(GTK_WIDGET(m_webView), getWebViewRect(m_webView).size());
- RefPtr<cairo_t> cr = adoptRef(cairo_create(m_webView->priv->backingStore->cairoSurface()));
- clearEverywhereInBackingStore(m_webView, cr.get());
- }
-}
-
-void ChromeClient::setNeedsOneShotDrawingSynchronization()
-{
- m_webView->priv->acceleratedCompositingContext->scheduleLayerFlush();
-}
-
-void ChromeClient::scheduleCompositingLayerFlush()
-{
- m_webView->priv->acceleratedCompositingContext->scheduleLayerFlush();
-}
-
-ChromeClient::CompositingTriggerFlags ChromeClient::allowedCompositingTriggers() const
-{
- if (!platformPageClient())
- return false;
-#if USE(CLUTTER)
- // Currently, we only support CSS 3D Transforms.
- return ThreeDTransformTrigger | AnimationTrigger;
-#else
- return AllTriggers;
-#endif
-}
-#endif
-
-}
diff --git a/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h b/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
deleted file mode 100644
index 38fc1466f..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright (C) 2007 Holger Hans Peter Freyther
- * 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 ChromeClientGtk_h
-#define ChromeClientGtk_h
-
-#include "ChromeClient.h"
-#include "GtkAdjustmentWatcher.h"
-#include "IntRect.h"
-#include "IntSize.h"
-#include "KURL.h"
-#include "PopupMenu.h"
-#include "Region.h"
-#include "SearchPopupMenu.h"
-#include "Timer.h"
-
-using namespace WebCore;
-typedef struct _WebKitWebView WebKitWebView;
-
-namespace WebCore {
-class PopupMenuClient;
-}
-
-namespace WebKit {
-
- class ChromeClient : public WebCore::ChromeClient {
- public:
- ChromeClient(WebKitWebView*);
- GtkAdjustmentWatcher* adjustmentWatcher() { return &m_adjustmentWatcher; }
-
- virtual void chromeDestroyed();
-
- virtual void setWindowRect(const FloatRect&);
- virtual FloatRect windowRect();
-
- virtual FloatRect pageRect();
-
- virtual void focus();
- virtual void unfocus();
-
- virtual bool canTakeFocus(FocusDirection);
- virtual void takeFocus(FocusDirection);
-
- virtual void focusedNodeChanged(Node*);
- virtual void focusedFrameChanged(Frame*);
-
- virtual Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&, const NavigationAction&);
- virtual void show();
-
- virtual bool canRunModal();
- virtual void runModal();
-
- virtual void setToolbarsVisible(bool);
- virtual bool toolbarsVisible();
-
- virtual void setStatusbarVisible(bool);
- virtual bool statusbarVisible();
-
- virtual void setScrollbarsVisible(bool);
- virtual bool scrollbarsVisible();
-
- virtual void setMenubarVisible(bool);
- virtual bool menubarVisible();
-
- virtual void setResizable(bool);
-
- virtual void addMessageToConsole(MessageSource, MessageLevel, const WTF::String& message, unsigned lineNumber, unsigned columnNumber, const WTF::String& sourceID);
-
- virtual bool canRunBeforeUnloadConfirmPanel();
- virtual bool runBeforeUnloadConfirmPanel(const WTF::String& message, Frame* frame);
-
- virtual void closeWindowSoon();
-
- virtual void runJavaScriptAlert(Frame*, const WTF::String&);
- virtual bool runJavaScriptConfirm(Frame*, const WTF::String&);
- virtual bool runJavaScriptPrompt(Frame*, const WTF::String& message, const WTF::String& defaultValue, WTF::String& result);
- virtual void setStatusbarText(const WTF::String&);
- virtual bool shouldInterruptJavaScript();
- virtual KeyboardUIMode keyboardUIMode();
-
- virtual IntRect windowResizerRect() const;
- virtual void invalidateRootView(const IntRect&, bool);
- virtual void invalidateContentsAndRootView(const IntRect&, bool);
- virtual void invalidateContentsForSlowScroll(const IntRect&, bool);
- virtual void scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect);
-
- virtual IntPoint screenToRootView(const IntPoint&) const;
- virtual IntRect rootViewToScreen(const IntRect&) const;
- virtual PlatformPageClient platformPageClient() const;
- virtual void contentsSizeChanged(Frame*, const IntSize&) const;
-
- virtual void scrollbarsModeDidChange() const;
- virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags);
-
- virtual void setToolTip(const WTF::String&, TextDirection);
-
- virtual void dispatchViewportPropertiesDidChange(const ViewportArguments&) const;
-
- virtual void print(Frame*);
-#if ENABLE(SQL_DATABASE)
- virtual void exceededDatabaseQuota(Frame*, const WTF::String&, DatabaseDetails);
-#endif
- virtual void reachedMaxAppCacheSize(int64_t spaceNeeded);
- virtual void reachedApplicationCacheOriginQuota(SecurityOrigin*, int64_t totalSpaceNeeded);
- virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>);
- virtual void loadIconForFiles(const Vector<WTF::String>&, FileIconLoader*);
-
- virtual void formStateDidChange(const Node*) { }
-
- virtual void setCursor(const Cursor&);
- virtual void setCursorHiddenUntilMouseMoves(bool);
-
- virtual void scrollRectIntoView(const IntRect&) const { }
-
- virtual bool selectItemWritingDirectionIsNatural();
- virtual bool selectItemAlignmentFollowsMenuWritingDirection();
- virtual bool hasOpenedPopup() const;
- virtual PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const;
- virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const;
-#if ENABLE(VIDEO) && USE(NATIVE_FULLSCREEN_VIDEO)
- virtual bool supportsFullscreenForNode(const Node*);
- virtual void enterFullscreenForNode(Node*);
- virtual void exitFullscreenForNode(Node*);
-#endif
-
-#if ENABLE(FULLSCREEN_API)
- virtual bool supportsFullScreenForElement(const Element*, bool withKeyboard);
- virtual void enterFullScreenForElement(Element*);
- virtual void exitFullScreenForElement(Element*);
- void cancelFullScreen();
-#endif
-
- virtual bool shouldRubberBandInDirection(ScrollDirection) const { return true; }
- virtual void numWheelEventHandlersChanged(unsigned) { }
-
-#if USE(ACCELERATED_COMPOSITING)
- virtual void attachRootGraphicsLayer(Frame*, GraphicsLayer*);
- virtual void setNeedsOneShotDrawingSynchronization();
- virtual void scheduleCompositingLayerFlush();
- virtual CompositingTriggerFlags allowedCompositingTriggers() const;
-#endif
-
- void performAllPendingScrolls();
- void paint(Timer<ChromeClient>*);
- void forcePaint();
- void widgetSizeChanged(const IntSize& oldWidgetSize, IntSize newSize);
-
- WebKitWebView* webView() { return m_webView; }
-
- private:
- WebKitWebView* m_webView;
- GtkAdjustmentWatcher m_adjustmentWatcher;
- KURL m_hoveredLinkURL;
- unsigned int m_closeSoonTimer;
-
- Timer <ChromeClient> m_displayTimer;
- bool m_forcePaint;
- Region m_dirtyRegion;
- Vector<IntRect> m_rectsToScroll;
- Vector<IntSize> m_scrollOffsets;
- double m_lastDisplayTime;
- unsigned int m_repaintSoonSourceId;
-
-#if ENABLE(FULLSCREEN_API)
- RefPtr<Element> m_fullScreenElement;
-#endif
- };
-}
-
-#endif // ChromeClient_h
diff --git a/Source/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp
deleted file mode 100644
index e0c3ed9d1..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (C) 2008 Nuanti Ltd.
- * Copyright (C) 2009 Gustavo Noronha Silva <gns@gnome.org>
- *
- * 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"
-
-#if ENABLE(CONTEXT_MENUS)
-
-#include "ContextMenuClientGtk.h"
-
-#include "ContextMenu.h"
-#include "ContextMenuController.h"
-#include "HitTestResult.h"
-#include "KURL.h"
-#include "LocalizedStrings.h"
-#include "NotImplemented.h"
-#include "Page.h"
-#include "webkitwebviewprivate.h"
-#include <glib-object.h>
-#include <glib/gi18n-lib.h>
-#include <gtk/gtk.h>
-#include <wtf/text/CString.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-ContextMenuClient::ContextMenuClient(WebKitWebView *webView)
- : m_webView(webView)
-{
-}
-
-void ContextMenuClient::contextMenuDestroyed()
-{
- delete this;
-}
-
-static GtkWidget* inputMethodsMenuItem (WebKitWebView* webView)
-{
- if (gtk_major_version > 2 || (gtk_major_version == 2 && gtk_minor_version >= 10)) {
- GtkSettings* settings = webView ? gtk_widget_get_settings(GTK_WIDGET(webView)) : gtk_settings_get_default();
-
- gboolean showMenu = TRUE;
- if (settings)
- g_object_get(settings, "gtk-show-input-method-menu", &showMenu, NULL);
- if (!showMenu)
- return 0;
- }
-
- WebKitWebViewPrivate* priv = webView->priv;
- ContextMenu imContextMenu;
- gtk_im_multicontext_append_menuitems(GTK_IM_MULTICONTEXT(priv->imFilter.context()), GTK_MENU_SHELL(imContextMenu.platformDescription()));
-
- ContextMenuItem menuItem(ActionType, ContextMenuItemTagInputMethods, contextMenuItemTagInputMethods(), &imContextMenu);
- imContextMenu.releasePlatformDescription();
-
- return GTK_WIDGET(menuItem.releasePlatformDescription());
-}
-
-static int getUnicodeMenuItemPosition(GtkMenu* menu)
-{
- GOwnPtr<GList> items(gtk_container_get_children(GTK_CONTAINER(menu)));
- int unicodeMenuItemPosition = -1;
- GList* iter;
- int i = 0;
- for (iter = items.get(), i = 0; iter; iter = g_list_next(iter), ++i) {
- GtkMenuItem* item = GTK_MENU_ITEM(iter->data);
- if (GTK_IS_SEPARATOR_MENU_ITEM(item))
- continue;
- if (String::fromUTF8(gtk_menu_item_get_label(item)) == contextMenuItemTagUnicode()) {
- unicodeMenuItemPosition = i;
- break;
- }
- }
- return unicodeMenuItemPosition;
-}
-
-PlatformMenuDescription ContextMenuClient::getCustomMenuFromDefaultItems(ContextMenu* menu)
-{
- GtkMenu* gtkmenu = menu->releasePlatformDescription();
-
- WebKitWebView* webView = m_webView;
- HitTestResult result = core(webView)->contextMenuController()->hitTestResult();
-
- if (result.isContentEditable()) {
- GtkWidget* imContextMenu = inputMethodsMenuItem(webView);
- if (!imContextMenu)
- return gtkmenu;
-
- // Place the im context menu item right before the unicode menu item
- // if it's present.
- int unicodeMenuItemPosition = getUnicodeMenuItemPosition(gtkmenu);
- if (unicodeMenuItemPosition == -1) {
- GtkWidget* separator = gtk_separator_menu_item_new();
- gtk_menu_shell_append(GTK_MENU_SHELL(gtkmenu), separator);
- gtk_widget_show(separator);
- }
-
- gtk_menu_shell_insert(GTK_MENU_SHELL(gtkmenu), imContextMenu, unicodeMenuItemPosition);
- gtk_widget_show(imContextMenu);
- }
-
- return gtkmenu;
-}
-
-void ContextMenuClient::contextMenuItemSelected(ContextMenuItem*, const ContextMenu*)
-{
- notImplemented();
-}
-
-void ContextMenuClient::downloadURL(const KURL& url)
-{
- WebKitNetworkRequest* networkRequest = webkit_network_request_new(url.string().utf8().data());
-
- webkit_web_view_request_download(m_webView, networkRequest);
- g_object_unref(networkRequest);
-}
-
-void ContextMenuClient::copyImageToClipboard(const HitTestResult&)
-{
- notImplemented();
-}
-
-void ContextMenuClient::searchWithGoogle(const Frame*)
-{
- notImplemented();
-}
-
-void ContextMenuClient::lookUpInDictionary(Frame*)
-{
- notImplemented();
-}
-
-void ContextMenuClient::speak(const String&)
-{
- notImplemented();
-}
-
-void ContextMenuClient::stopSpeaking()
-{
- notImplemented();
-}
-
-bool ContextMenuClient::isSpeaking()
-{
- notImplemented();
- return false;
-}
-
-}
-
-#endif // ENABLE(CONTEXT_MENUS)
-
diff --git a/Source/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h b/Source/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h
deleted file mode 100644
index d6774b583..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2006 Zack Rusin <zack@kde.org>
- *
- * 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 ContextMenuClientGtk_h
-#define ContextMenuClientGtk_h
-
-#if ENABLE(CONTEXT_MENUS)
-
-#include "ContextMenuClient.h"
-
-typedef struct _WebKitWebView WebKitWebView;
-
-namespace WebCore {
- class ContextMenu;
-}
-
-namespace WebKit {
-
- class ContextMenuClient : public WebCore::ContextMenuClient
- {
- public:
- ContextMenuClient(WebKitWebView*);
-
- virtual void contextMenuDestroyed();
-
- virtual WebCore::PlatformMenuDescription getCustomMenuFromDefaultItems(WebCore::ContextMenu*);
- virtual void contextMenuItemSelected(WebCore::ContextMenuItem*, const WebCore::ContextMenu*);
-
- virtual void downloadURL(const WebCore::KURL& url);
- virtual void copyImageToClipboard(const WebCore::HitTestResult&);
- virtual void searchWithGoogle(const WebCore::Frame*);
- virtual void lookUpInDictionary(WebCore::Frame*);
- virtual void speak(const WTF::String&);
- virtual void stopSpeaking();
- virtual bool isSpeaking();
-
- private:
- WebKitWebView* m_webView;
- };
-}
-
-#endif // ENABLE(CONTEXT_MENUS)
-#endif
diff --git a/Source/WebKit/gtk/WebCoreSupport/DeviceMotionClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/DeviceMotionClientGtk.cpp
deleted file mode 100644
index 4ad927eff..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/DeviceMotionClientGtk.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
- * Copyright (C) 2011 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"
-
-#if ENABLE(DEVICE_ORIENTATION)
-#include "DeviceMotionClientGtk.h"
-
-#include "NotImplemented.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-DeviceMotionClientGtk::DeviceMotionClientGtk()
-{
-}
-
-DeviceMotionClientGtk::~DeviceMotionClientGtk()
-{
-}
-
-void DeviceMotionClientGtk::deviceMotionControllerDestroyed()
-{
- delete this;
-}
-
-void DeviceMotionClientGtk::setController(DeviceMotionController* controller)
-{
- m_controller = controller;
-}
-
-void DeviceMotionClientGtk::startUpdating()
-{
- notImplemented();
-}
-
-void DeviceMotionClientGtk::stopUpdating()
-{
- notImplemented();
-}
-
-DeviceMotionData* DeviceMotionClientGtk::lastMotion() const
-{
- notImplemented();
- return 0;
-}
-
-} // namespece WebKit
-
-#endif
diff --git a/Source/WebKit/gtk/WebCoreSupport/DeviceOrientationClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/DeviceOrientationClientGtk.cpp
deleted file mode 100644
index 36d303b27..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/DeviceOrientationClientGtk.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
- * Copyright (C) 2011 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"
-
-#if ENABLE(DEVICE_ORIENTATION)
-#include "DeviceOrientationClientGtk.h"
-
-#include "NotImplemented.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-DeviceOrientationClientGtk::DeviceOrientationClientGtk()
-{
-}
-
-DeviceOrientationClientGtk::~DeviceOrientationClientGtk()
-{
-}
-
-void DeviceOrientationClientGtk::deviceOrientationControllerDestroyed()
-{
- delete this;
-}
-
-void DeviceOrientationClientGtk::setController(DeviceOrientationController* controller)
-{
- m_controller = controller;
-}
-
-void DeviceOrientationClientGtk::startUpdating()
-{
- notImplemented();
-}
-
-void DeviceOrientationClientGtk::stopUpdating()
-{
- notImplemented();
-}
-
-WebCore::DeviceOrientationData* DeviceOrientationClientGtk::lastOrientation() const
-{
- notImplemented();
- return 0;
-}
-
-} // namespace WebKit
-#endif
diff --git a/Source/WebKit/gtk/WebCoreSupport/DeviceOrientationClientGtk.h b/Source/WebKit/gtk/WebCoreSupport/DeviceOrientationClientGtk.h
deleted file mode 100644
index fcaa2d2e8..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/DeviceOrientationClientGtk.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
- * Copyright (C) 2011 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.
- *
- */
-#ifndef DeviceOrientationClientGtk_h
-#define DeviceOrientationClientGtk_h
-
-#include "DeviceOrientationClient.h"
-#include "DeviceOrientationData.h"
-
-namespace WebKit {
-
-class DeviceOrientationClientGtk : public WebCore::DeviceOrientationClient {
-public:
- DeviceOrientationClientGtk();
- virtual ~DeviceOrientationClientGtk();
-
- virtual void setController(WebCore::DeviceOrientationController*);
- virtual void startUpdating();
- virtual void stopUpdating();
- virtual WebCore::DeviceOrientationData* lastOrientation() const;
- virtual void deviceOrientationControllerDestroyed();
-
-private:
- WebCore::DeviceOrientationController* m_controller;
-};
-
-} // namespace WebKit
-
-#endif // DeviceOrientationClientGtk_h
diff --git a/Source/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp
deleted file mode 100644
index 1edc71260..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
- * Copyright (C) 2009 Jan Michael Alonzo
- *
- * 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "DocumentLoaderGtk.h"
-
-#include "webkitwebdatasource.h"
-#include "webkitwebdatasourceprivate.h"
-#include <wtf/gobject/GRefPtr.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-DocumentLoader::DocumentLoader(const ResourceRequest& request, const SubstituteData& substituteData)
- : WebCore::DocumentLoader(request, substituteData)
- , m_isDataSourceReffed(false)
- , m_dataSource(0)
-{
-}
-
-void DocumentLoader::setDataSource(WebKitWebDataSource* dataSource)
-{
- ASSERT(!m_dataSource);
-
- m_dataSource = dataSource;
- refDataSource();
-}
-
-void DocumentLoader::detachDataSource()
-{
- unrefDataSource();
-}
-
-void DocumentLoader::attachToFrame()
-{
- WebCore::DocumentLoader::attachToFrame();
-
- if (m_dataSource) {
- refDataSource();
- return;
- }
-
- // We may get to here without having a datasource, when the data
- // is coming from the page cache.
- GRefPtr<WebKitWebDataSource> dataSource(adoptGRef(kitNew(this)));
- setDataSource(dataSource.get());
-}
-
-void DocumentLoader::detachFromFrame()
-{
- WebCore::DocumentLoader::detachFromFrame();
-
- if (m_loadingResources.isEmpty())
- unrefDataSource();
-}
-
-void DocumentLoader::increaseLoadCount(unsigned long identifier)
-{
- ASSERT(m_dataSource);
-
- if (m_loadingResources.contains(identifier))
- return;
- m_loadingResources.add(identifier);
- refDataSource();
-}
-
-void DocumentLoader::decreaseLoadCount(unsigned long identifier)
-{
- HashSet<unsigned long>::iterator it = m_loadingResources.find(identifier);
-
- // It is valid for a load to be cancelled before it's started.
- if (it == m_loadingResources.end())
- return;
-
- m_loadingResources.remove(it);
-
- if (m_loadingResources.isEmpty() && !frame())
- unrefDataSource();
-}
-
-// helper methos to avoid ref count churn
-void DocumentLoader::refDataSource()
-{
- if (!m_dataSource || m_isDataSourceReffed)
- return;
- m_isDataSourceReffed = true;
- g_object_ref(m_dataSource);
-}
-void DocumentLoader::unrefDataSource()
-{
- if (!m_isDataSourceReffed)
- return;
- ASSERT(m_dataSource);
- m_isDataSourceReffed = false;
- g_object_unref(m_dataSource);
- m_dataSource = 0;
-}
-
-} // end namespace WebKit
diff --git a/Source/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.h b/Source/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.h
deleted file mode 100644
index c601bc50a..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/DocumentLoaderGtk.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
- * Copyright (C) 2009 Jan Michael Alonzo
- *
- * 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 DocumentLoaderGtk_h
-#define DocumentLoaderGtk_h
-
-#include "DocumentLoader.h"
-#include "webkitdefines.h"
-#include "wtf/HashSet.h"
-
-namespace WebCore {
- class ResourceRequest;
- class SubstituteData;
-}
-
-namespace WebKit {
-
-class DocumentLoader : public WebCore::DocumentLoader {
-public:
- static PassRefPtr<WebKit::DocumentLoader> create(const WebCore::ResourceRequest& request, const WebCore::SubstituteData& data)
- {
- return adoptRef(new DocumentLoader(request, data));
- }
-
- void setDataSource(WebKitWebDataSource*);
- void detachDataSource();
- WebKitWebDataSource* dataSource() const { return m_dataSource; }
-
- void increaseLoadCount(unsigned long identifier);
- void decreaseLoadCount(unsigned long identifier);
-
-private:
- DocumentLoader(const WebCore::ResourceRequest&, const WebCore::SubstituteData&);
-
- virtual void attachToFrame();
- virtual void detachFromFrame();
-
- void refDataSource();
- void unrefDataSource();
-
- bool m_isDataSourceReffed;
- WebKitWebDataSource* m_dataSource;
- HashSet<unsigned long> m_loadingResources;
-};
-
-} // end namespace WebKit
-
-#endif
diff --git a/Source/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp
deleted file mode 100644
index e39b470e2..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/DragClientGtk.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2009, 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 "DragClientGtk.h"
-
-#include "Clipboard.h"
-#include "ClipboardUtilitiesGtk.h"
-#include "DataObjectGtk.h"
-#include "Document.h"
-#include "DragController.h"
-#include "Element.h"
-#include "Frame.h"
-#include "GOwnPtrGtk.h"
-#include "GRefPtrGtk.h"
-#include "GtkVersioning.h"
-#include "NotImplemented.h"
-#include "Pasteboard.h"
-#include "PasteboardHelper.h"
-#include "RenderObject.h"
-#include "webkitwebframeprivate.h"
-#include "webkitwebviewprivate.h"
-#include "webkitwebview.h"
-#include <gdk/gdk.h>
-#include <gtk/gtk.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-DragClient::DragClient(WebKitWebView* webView)
- : m_webView(webView)
- , m_startPos(0, 0)
-{
-}
-
-DragClient::~DragClient()
-{
-}
-
-void DragClient::willPerformDragDestinationAction(DragDestinationAction, DragData*)
-{
-}
-
-void DragClient::willPerformDragSourceAction(DragSourceAction, const IntPoint& startPos, Clipboard*)
-{
- m_startPos = startPos;
-}
-
-DragDestinationAction DragClient::actionMaskForDrag(DragData*)
-{
- notImplemented();
- return DragDestinationActionAny;
-}
-
-DragSourceAction DragClient::dragSourceActionMaskForPoint(const IntPoint&)
-{
- notImplemented();
- return DragSourceActionAny;
-}
-
-void DragClient::startDrag(DragImageRef image, const IntPoint& dragImageOrigin, const IntPoint& eventPos, Clipboard* clipboard, Frame* frame, bool linkDrag)
-{
- WebKitWebView* webView = webkit_web_frame_get_web_view(kit(frame));
- RefPtr<DataObjectGtk> dataObject = clipboard->pasteboard().dataObject();
- GRefPtr<GtkTargetList> targetList = adoptGRef(PasteboardHelper::defaultPasteboardHelper()->targetListForDataObject(dataObject.get()));
- GOwnPtr<GdkEvent> currentEvent(gtk_get_current_event());
-
- GdkDragContext* context = gtk_drag_begin(GTK_WIDGET(m_webView), targetList.get(), dragOperationToGdkDragActions(clipboard->sourceOperation()), 1, currentEvent.get());
- webView->priv->dragAndDropHelper.startedDrag(context, dataObject.get());
-
- // A drag starting should prevent a double-click from happening. This might
- // happen if a drag is followed very quickly by another click (like in the DRT).
- webView->priv->clickCounter.reset();
-
- if (image) {
- m_dragIcon.setImage(image);
- m_dragIcon.useForDrag(context, IntPoint(eventPos - dragImageOrigin));
- } else
- gtk_drag_set_icon_default(context);
-}
-
-void DragClient::dragControllerDestroyed()
-{
- delete this;
-}
-}
diff --git a/Source/WebKit/gtk/WebCoreSupport/DragClientGtk.h b/Source/WebKit/gtk/WebCoreSupport/DragClientGtk.h
deleted file mode 100644
index 76c759601..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/DragClientGtk.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2007 Apple Inc. All rights reserved.
- * Copyright (C) 2007 Holger Hans Peter Freyther
- *
- * 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.
- * 3. Neither the name of Apple, Inc. ("Apple") 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 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 DragClientGtk_h
-#define DragClientGtk_h
-
-#include "DragClient.h"
-#include "DragIcon.h"
-#include <wtf/gobject/GRefPtr.h>
-
-typedef struct _WebKitWebView WebKitWebView;
-
-namespace WebKit {
-
- class DragClient : public WebCore::DragClient {
- public:
- DragClient(WebKitWebView*);
- ~DragClient();
-
- virtual void willPerformDragDestinationAction(WebCore::DragDestinationAction, WebCore::DragData*);
- virtual void willPerformDragSourceAction(WebCore::DragSourceAction, const WebCore::IntPoint&, WebCore::Clipboard*);
- virtual WebCore::DragDestinationAction actionMaskForDrag(WebCore::DragData*);
-
- virtual WebCore::DragSourceAction dragSourceActionMaskForPoint(const WebCore::IntPoint& windowPoint);
-
- virtual void startDrag(WebCore::DragImageRef dragImage, const WebCore::IntPoint& dragImageOrigin, const WebCore::IntPoint& eventPos, WebCore::Clipboard*, WebCore::Frame*, bool linkDrag = false);
-
- virtual void dragControllerDestroyed();
-
- private:
- WebKitWebView* m_webView;
- WebCore::IntPoint m_startPos;
- WebCore::DragIcon m_dragIcon;
- };
-}
-
-#endif
diff --git a/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
deleted file mode 100644
index 4174a1eb1..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
+++ /dev/null
@@ -1,744 +0,0 @@
-/*
- * 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.
- * Copyright (C) 2011 Igalia S.L.
- * Copyright (C) 2012 Apple 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
- * 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 "DumpRenderTreeSupportGtk.h"
-
-#include "APICast.h"
-#include "AXObjectCache.h"
-#include "AccessibilityObject.h"
-#include "AnimationController.h"
-#include "ApplicationCacheStorage.h"
-#include "Chrome.h"
-#include "ChromeClientGtk.h"
-#include "DOMWrapperWorld.h"
-#include "Document.h"
-#include "Editor.h"
-#include "EditorClientGtk.h"
-#include "Element.h"
-#include "FocusController.h"
-#include "FrameTree.h"
-#include "FrameView.h"
-#include "GCController.h"
-#include "GeolocationClientMock.h"
-#include "GeolocationController.h"
-#include "GeolocationError.h"
-#include "GeolocationPosition.h"
-#include "GraphicsContext.h"
-#include "HTMLInputElement.h"
-#include "JSCJSValue.h"
-#include "JSCSSStyleDeclaration.h"
-#include "JSDOMWindow.h"
-#include "JSDocument.h"
-#include "JSElement.h"
-#include "JSLock.h"
-#include "JSNodeList.h"
-#include "MemoryCache.h"
-#include "MutationObserver.h"
-#include "NodeList.h"
-#include "PageGroup.h"
-#include "PrintContext.h"
-#include "RenderListItem.h"
-#include "RenderTreeAsText.h"
-#include "RenderView.h"
-#include "ResourceLoadScheduler.h"
-#include "RuntimeEnabledFeatures.h"
-#include "SchemeRegistry.h"
-#include "SecurityOrigin.h"
-#include "SecurityPolicy.h"
-#include "Settings.h"
-#include "TextIterator.h"
-#include "WebKitAccessibleWrapperAtk.h"
-#include "webkitglobalsprivate.h"
-#include "webkitwebframe.h"
-#include "webkitwebframeprivate.h"
-#include "webkitwebview.h"
-#include "webkitwebviewprivate.h"
-#include <JavaScriptCore/APICast.h>
-#include <wtf/text/WTFString.h>
-
-using namespace JSC;
-using namespace WebCore;
-using namespace WebKit;
-
-bool DumpRenderTreeSupportGtk::s_drtRun = false;
-bool DumpRenderTreeSupportGtk::s_linksIncludedInTabChain = true;
-DumpRenderTreeSupportGtk::FrameLoadEventCallback DumpRenderTreeSupportGtk::s_frameLoadEventCallback = 0;
-DumpRenderTreeSupportGtk::AuthenticationCallback DumpRenderTreeSupportGtk::s_authenticationCallback = 0;
-
-DumpRenderTreeSupportGtk::DumpRenderTreeSupportGtk()
-{
-}
-
-DumpRenderTreeSupportGtk::~DumpRenderTreeSupportGtk()
-{
-}
-
-void DumpRenderTreeSupportGtk::setDumpRenderTreeModeEnabled(bool enabled)
-{
- s_drtRun = enabled;
-}
-
-bool DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled()
-{
- return s_drtRun;
-}
-void DumpRenderTreeSupportGtk::setLinksIncludedInFocusChain(bool enabled)
-{
- s_linksIncludedInTabChain = enabled;
-}
-
-bool DumpRenderTreeSupportGtk::linksIncludedInFocusChain()
-{
- return s_linksIncludedInTabChain;
-}
-
-/**
- * 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()) {
- WebKitWebFrame* kitFrame = kit(child);
- if (kitFrame)
- children = g_slist_append(children, kitFrame);
- }
-
- 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();
- if (!documentElement)
- return CString("");
- 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();
-}
-
-void DumpRenderTreeSupportGtk::addUserScript(WebKitWebFrame* frame, const char* sourceCode, bool runAtStart, 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().addUserScriptToWorld(mainThreadNormalWorld(), sourceCode, KURL(), Vector<String>(), Vector<String>(),
- runAtStart ? InjectAtDocumentStart : InjectAtDocumentEnd, allFrames ? InjectInAllFrames : InjectInTopFrameOnly);
-}
-
-/**
- * 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(), Vector<String>(), Vector<String>(), 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)->document()->domWindow()->pendingUnloadEventListeners();
-}
-
-void DumpRenderTreeSupportGtk::clearMainFrameName(WebKitWebFrame* frame)
-{
- g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
-
- core(frame)->tree()->clearName();
-}
-
-AtkObject* DumpRenderTreeSupportGtk::getRootAccessibleElement(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;
-
- AtkObject* wrapper = priv->coreFrame->document()->axObjectCache()->rootObject()->wrapper();
- if (!wrapper)
- return 0;
-
- return wrapper;
-#else
- return 0;
-#endif
-}
-
-AtkObject* DumpRenderTreeSupportGtk::getFocusedAccessibleElement(WebKitWebFrame* frame)
-{
-#if HAVE(ACCESSIBILITY)
- AtkObject* wrapper = getRootAccessibleElement(frame);
- if (!wrapper)
- return 0;
-
- return webkitAccessibleGetFocusedElement(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::setComposition(WebKitWebView* webView, const char* text, int start, int length)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
- g_return_if_fail(text);
-
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- if (!frame)
- return;
-
- Editor& editor = frame->editor();
- if (!editor.canEdit() && !editor.hasComposition())
- return;
-
- String compositionString = String::fromUTF8(text);
- Vector<CompositionUnderline> underlines;
- underlines.append(CompositionUnderline(0, compositionString.length(), Color(0, 0, 0), false));
- editor.setComposition(compositionString, underlines, start, start + length);
-}
-
-bool DumpRenderTreeSupportGtk::hasComposition(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), false);
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- if (!frame)
- return false;
-
- return frame->editor().hasComposition();
-}
-
-bool DumpRenderTreeSupportGtk::compositionRange(WebKitWebView* webView, int* start, int* length)
-{
- g_return_val_if_fail(start && length, false);
- *start = *length = 0;
-
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), false);
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- if (!frame)
- return false;
-
- Editor& editor = frame->editor();
- if (!editor.hasComposition())
- return false;
-
- *start = editor.compositionStart();
- *length = editor.compositionEnd() - *start;
- return true;
-}
-
-void DumpRenderTreeSupportGtk::confirmComposition(WebKitWebView* webView, const char* text)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- if (!frame)
- return;
-
- Editor& editor = frame->editor();
-
- if (!editor.hasComposition()) {
- editor.insertText(String::fromUTF8(text), 0);
- return;
- }
- if (text) {
- editor.confirmComposition(String::fromUTF8(text));
- return;
- }
- editor.confirmComposition();
-}
-
-void DumpRenderTreeSupportGtk::doCommand(WebKitWebView* webView, const char* command)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- if (!frame)
- return;
-
- Editor& editor = frame->editor();
-
- String commandString(command);
- // Remove ending : here.
- if (commandString.endsWith(":", true))
- commandString = commandString.left(commandString.length() - 1);
-
- // Make the first char in upper case.
- String firstChar = commandString.left(1);
- commandString = commandString.right(commandString.length() - 1);
- firstChar.makeUpper();
- commandString.insert(firstChar, 0);
-
- editor.command(commandString).execute();
-}
-
-bool DumpRenderTreeSupportGtk::firstRectForCharacterRange(WebKitWebView* webView, int location, int length, cairo_rectangle_int_t* rect)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), false);
- g_return_val_if_fail(rect, false);
-
- if ((location + length < location) && (location + length))
- length = 0;
-
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- if (!frame)
- return false;
-
- Editor& editor = frame->editor();
-
- RefPtr<Range> range = TextIterator::rangeFromLocationAndLength(frame->selection()->rootEditableElementOrDocumentElement(), location, length);
- if (!range)
- return false;
-
- *rect = editor.firstRectForRange(range.get());
- return true;
-}
-
-bool DumpRenderTreeSupportGtk::selectedRange(WebKitWebView* webView, int* start, int* length)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), false);
- g_return_val_if_fail(start && length, false);
-
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- if (!frame)
- return false;
-
- RefPtr<Range> range = frame->selection()->toNormalizedRange().get();
- if (!range)
- return false;
-
- Element* selectionRoot = frame->selection()->rootEditableElement();
- Element* scope = selectionRoot ? selectionRoot : frame->document()->documentElement();
-
- RefPtr<Range> testRange = Range::create(scope->document(), scope, 0, range->startContainer(), range->startOffset());
- ASSERT(testRange->startContainer() == scope);
- *start = TextIterator::rangeLength(testRange.get());
-
- ExceptionCode ec;
- testRange->setEnd(range->endContainer(), range->endOffset(), ec);
- ASSERT(testRange->startContainer() == scope);
- *length = TextIterator::rangeLength(testRange.get());
-
- return true;
-}
-
-void DumpRenderTreeSupportGtk::setDefersLoading(WebKitWebView* webView, bool defers)
-{
- core(webView)->setDefersLoading(defers);
-}
-
-void DumpRenderTreeSupportGtk::forceWebViewPaint(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- static_cast<WebKit::ChromeClient*>(core(webView)->chrome().client())->forcePaint();
-}
-
-void DumpRenderTreeSupportGtk::whiteListAccessFromOrigin(const gchar* sourceOrigin, const gchar* destinationProtocol, const gchar* destinationHost, bool allowDestinationSubdomains)
-{
- SecurityPolicy::addOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
-}
-
-void DumpRenderTreeSupportGtk::removeWhiteListAccessFromOrigin(const char* sourceOrigin, const char* destinationProtocol, const char* destinationHost, bool allowDestinationSubdomains)
-{
- SecurityPolicy::removeOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
-}
-
-void DumpRenderTreeSupportGtk::resetOriginAccessWhiteLists()
-{
- SecurityPolicy::resetOriginAccessWhitelists();
-}
-
-void DumpRenderTreeSupportGtk::gcCollectJavascriptObjects()
-{
- gcController().garbageCollectNow();
-}
-
-void DumpRenderTreeSupportGtk::gcCollectJavascriptObjectsOnAlternateThread(bool waitUntilDone)
-{
- gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
-}
-
-unsigned long DumpRenderTreeSupportGtk::gcCountJavascriptObjects()
-{
- JSC::JSLockHolder lock(JSDOMWindow::commonVM());
- return JSDOMWindow::commonVM()->heap.objectCount();
-}
-
-void DumpRenderTreeSupportGtk::layoutFrame(WebKitWebFrame* frame)
-{
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return;
-
- view->layout();
-}
-
-void DumpRenderTreeSupportGtk::clearOpener(WebKitWebFrame* frame)
-{
- Frame* coreFrame = core(frame);
- if (coreFrame)
- coreFrame->loader()->setOpener(0);
-}
-
-bool DumpRenderTreeSupportGtk::findString(WebKitWebView* webView, const gchar* targetString, WebKitFindOptions findOptions)
-{
- return core(webView)->findString(String::fromUTF8(targetString), findOptions);
-}
-
-CString DumpRenderTreeSupportGtk::accessibilityHelpText(AtkObject* axObject)
-{
- if (!axObject || !WEBKIT_IS_ACCESSIBLE(axObject))
- return CString();
-
- AccessibilityObject* coreObject = webkitAccessibleGetAccessibilityObject(WEBKIT_ACCESSIBLE(axObject));
- if (!coreObject)
- return CString();
-
- return coreObject->helpText().utf8();
-}
-
-void DumpRenderTreeSupportGtk::setValueForUser(JSContextRef context, JSValueRef nodeObject, JSStringRef value)
-{
- JSC::ExecState* exec = toJS(context);
- Element* element = toElement(toJS(exec, nodeObject));
- if (!element)
- return;
- HTMLInputElement* inputElement = element->toInputElement();
- if (!inputElement)
- return;
-
- size_t bufferSize = JSStringGetMaximumUTF8CStringSize(value);
- GOwnPtr<gchar> valueBuffer(static_cast<gchar*>(g_malloc(bufferSize)));
- JSStringGetUTF8CString(value, valueBuffer.get(), bufferSize);
- inputElement->setValueForUser(String::fromUTF8(valueBuffer.get()));
-}
-
-void DumpRenderTreeSupportGtk::rectangleForSelection(WebKitWebFrame* frame, cairo_rectangle_int_t* rectangle)
-{
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return;
-
- IntRect bounds = enclosingIntRect(coreFrame->selection()->bounds());
- rectangle->x = bounds.x();
- rectangle->y = bounds.y();
- rectangle->width = bounds.width();
- rectangle->height = bounds.height();
-}
-
-bool DumpRenderTreeSupportGtk::shouldClose(WebKitWebFrame* frame)
-{
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return true;
- return coreFrame->loader()->shouldClose();
-}
-
-void DumpRenderTreeSupportGtk::scalePageBy(WebKitWebView* webView, float scaleFactor, float x, float y)
-{
- core(webView)->setPageScaleFactor(scaleFactor, IntPoint(x, y));
-}
-
-void DumpRenderTreeSupportGtk::resetGeolocationClientMock(WebKitWebView* webView)
-{
-#if ENABLE(GEOLOCATION)
- GeolocationClientMock* mock = static_cast<GeolocationClientMock*>(GeolocationController::from(core(webView))->client());
- mock->reset();
-#endif
-}
-
-void DumpRenderTreeSupportGtk::setMockGeolocationPermission(WebKitWebView* webView, bool allowed)
-{
-#if ENABLE(GEOLOCATION)
- GeolocationClientMock* mock = static_cast<GeolocationClientMock*>(GeolocationController::from(core(webView))->client());
- mock->setPermission(allowed);
-#endif
-}
-
-void DumpRenderTreeSupportGtk::setMockGeolocationPosition(WebKitWebView* webView, double latitude, double longitude, double accuracy)
-{
-#if ENABLE(GEOLOCATION)
- GeolocationClientMock* mock = static_cast<GeolocationClientMock*>(GeolocationController::from(core(webView))->client());
-
- double timestamp = g_get_real_time() / 1000000.0;
- mock->setPosition(GeolocationPosition::create(timestamp, latitude, longitude, accuracy));
-#endif
-}
-
-void DumpRenderTreeSupportGtk::setMockGeolocationPositionUnavailableError(WebKitWebView* webView, const gchar* errorMessage)
-{
-#if ENABLE(GEOLOCATION)
- GeolocationClientMock* mock = static_cast<GeolocationClientMock*>(GeolocationController::from(core(webView))->client());
- mock->setPositionUnavailableError(errorMessage);
-#endif
-}
-
-int DumpRenderTreeSupportGtk::numberOfPendingGeolocationPermissionRequests(WebKitWebView* webView)
-{
-#if ENABLE(GEOLOCATION)
- GeolocationClientMock* mock = static_cast<GeolocationClientMock*>(GeolocationController::from(core(webView))->client());
- return mock->numberOfPendingPermissionRequests();
-#else
- return 0;
-#endif
-}
-
-void DumpRenderTreeSupportGtk::setPageCacheSupportsPlugins(WebKitWebView* webView, bool enabled)
-{
- core(webView)->settings()->setPageCacheSupportsPlugins(enabled);
-}
-
-void DumpRenderTreeSupportGtk::setCSSGridLayoutEnabled(WebKitWebView* webView, bool enabled)
-{
- core(webView)->settings()->setCSSGridLayoutEnabled(enabled);
-}
-
-void DumpRenderTreeSupportGtk::setCSSRegionsEnabled(WebKitWebView* webView, bool enabled)
-{
- RuntimeEnabledFeatures::setCSSRegionsEnabled(enabled);
-}
-
-void DumpRenderTreeSupportGtk::setCSSCustomFilterEnabled(WebKitWebView* webView, bool enabled)
-{
-#if ENABLE(CSS_SHADERS)
- core(webView)->settings()->setCSSCustomFilterEnabled(enabled);
-#endif
-}
-
-void DumpRenderTreeSupportGtk::setExperimentalContentSecurityPolicyFeaturesEnabled(bool enabled)
-{
-#if ENABLE(CSP_NEXT)
- RuntimeEnabledFeatures::setExperimentalContentSecurityPolicyFeaturesEnabled(enabled);
-#endif
-}
-
-void DumpRenderTreeSupportGtk::setSeamlessIFramesEnabled(bool enabled)
-{
-#if ENABLE(IFRAME_SEAMLESS)
- RuntimeEnabledFeatures::setSeamlessIFramesEnabled(enabled);
-#endif
-}
-
-void DumpRenderTreeSupportGtk::setShadowDOMEnabled(bool enabled)
-{
-#if ENABLE(SHADOW_DOM)
- RuntimeEnabledFeatures::setShadowDOMEnabled(enabled);
-#endif
-}
-
-void DumpRenderTreeSupportGtk::setStyleScopedEnabled(bool enabled)
-{
-#if ENABLE(STYLE_SCOPED)
- RuntimeEnabledFeatures::setStyleScopedEnabled(enabled);
-#endif
-}
-
-void DumpRenderTreeSupportGtk::deliverAllMutationsIfNecessary()
-{
- MutationObserver::deliverAllMutations();
-}
-
-void DumpRenderTreeSupportGtk::setDomainRelaxationForbiddenForURLScheme(bool forbidden, const char* urlScheme)
-{
- SchemeRegistry::setDomainRelaxationForbiddenForURLScheme(forbidden, String::fromUTF8(urlScheme));
-}
-
-void DumpRenderTreeSupportGtk::setSerializeHTTPLoads(bool enabled)
-{
- resourceLoadScheduler()->setSerialLoadingEnabled(enabled);
-}
-
-void DumpRenderTreeSupportGtk::setTracksRepaints(WebKitWebFrame* frame, bool tracks)
-{
- g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
-
- Frame* coreFrame = core(frame);
- if (coreFrame && coreFrame->view())
- coreFrame->view()->setTracksRepaints(tracks);
-}
-
-bool DumpRenderTreeSupportGtk::isTrackingRepaints(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), false);
-
- Frame* coreFrame = core(frame);
- if (coreFrame && coreFrame->view())
- return coreFrame->view()->isTrackingRepaints();
-
- return false;
-}
-
-GSList* DumpRenderTreeSupportGtk::trackedRepaintRects(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame || !coreFrame->view())
- return 0;
-
- GSList* rects = 0;
- const Vector<IntRect>& repaintRects = coreFrame->view()->trackedRepaintRects();
- for (unsigned i = 0; i < repaintRects.size(); i++) {
- GdkRectangle* rect = g_new0(GdkRectangle, 1);
- rect->x = repaintRects[i].x();
- rect->y = repaintRects[i].y();
- rect->width = repaintRects[i].width();
- rect->height = repaintRects[i].height();
- rects = g_slist_append(rects, rect);
- }
-
- return rects;
-}
-
-void DumpRenderTreeSupportGtk::resetTrackedRepaints(WebKitWebFrame* frame)
-{
- g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
-
- Frame* coreFrame = core(frame);
- if (coreFrame && coreFrame->view())
- coreFrame->view()->resetTrackedRepaints();
-}
-
-void DumpRenderTreeSupportGtk::clearMemoryCache()
-{
- memoryCache()->evictResources();
-}
-
-void DumpRenderTreeSupportGtk::clearApplicationCache()
-{
- cacheStorage().empty();
- cacheStorage().vacuumDatabaseFile();
-}
-
-void DumpRenderTreeSupportGtk::setFrameLoadEventCallback(FrameLoadEventCallback frameLoadEventCallback)
-{
- s_frameLoadEventCallback = frameLoadEventCallback;
-}
-
-void DumpRenderTreeSupportGtk::setAuthenticationCallback(AuthenticationCallback authenticationCallback)
-{
- s_authenticationCallback = authenticationCallback;
-}
-
-void DumpRenderTreeSupportGtk::setPageVisibility(WebKitWebView* webView, WebCore::PageVisibilityState visibilityState, bool isInitialState)
-{
-#if ENABLE(PAGE_VISIBILITY_API)
- Page* page = core(webView);
- if (!page)
- return;
-
- page->setVisibilityState(visibilityState, isInitialState);
-#endif
-}
diff --git a/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h b/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h
deleted file mode 100644
index 649e6a799..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (C) Research In Motion Limited 2010. All rights reserved.
- * Copyright (C) 2012 Apple 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
- * 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 DumpRenderTreeSupportGtk_h
-#define DumpRenderTreeSupportGtk_h
-
-#include "JSStringRef.h"
-#include "PageVisibilityState.h"
-#include <atk/atk.h>
-#include <glib.h>
-#include <webkit/webkitdefines.h>
-#include <wtf/text/CString.h>
-
-namespace WebKit {
-
-enum {
- WebFindOptionsCaseInsensitive = 1 << 0,
- WebFindOptionsAtWordStarts = 1 << 1,
- WebFindOptionsTreatMedialCapitalAsWordStart = 1 << 2,
- WebFindOptionsBackwards = 1 << 3,
- WebFindOptionsWrapAround = 1 << 4,
- WebFindOptionsStartInSelection = 1 << 5
-};
-
-}
-typedef unsigned WebKitFindOptions;
-
-class DumpRenderTreeSupportGtk {
-
-public:
- DumpRenderTreeSupportGtk();
- ~DumpRenderTreeSupportGtk();
-
- static void setDumpRenderTreeModeEnabled(bool);
- static bool dumpRenderTreeModeEnabled();
-
- static void setLinksIncludedInFocusChain(bool);
- static bool linksIncludedInFocusChain();
-
- static void clearOpener(WebKitWebFrame*);
-
- // 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 void addUserScript(WebKitWebFrame*, const char*, bool, bool);
- static void addUserStyleSheet(WebKitWebFrame*, const char* sourceCode, bool allFrames);
- static guint getPendingUnloadEventCount(WebKitWebFrame*);
- static void clearMainFrameName(WebKitWebFrame*);
- static AtkObject* getFocusedAccessibleElement(WebKitWebFrame*);
- static AtkObject* getRootAccessibleElement(WebKitWebFrame*);
- static void layoutFrame(WebKitWebFrame*);
- static void setValueForUser(JSContextRef, JSValueRef, JSStringRef);
- static bool shouldClose(WebKitWebFrame*);
-
- // WebKitWebView
- static void executeCoreCommandByName(WebKitWebView*, const gchar* name, const gchar* value);
- static bool isCommandEnabled(WebKitWebView*, const gchar* name);
- static bool findString(WebKitWebView*, const gchar*, WebKitFindOptions);
- static void rectangleForSelection(WebKitWebFrame*, cairo_rectangle_int_t*);
- static void scalePageBy(WebKitWebView*, float, float, float);
- static void setDefersLoading(WebKitWebView*, bool);
- static void forceWebViewPaint(WebKitWebView*);
-
- // Accessibility
- static WTF::CString accessibilityHelpText(AtkObject*);
-
- // TextInputController
- static void setComposition(WebKitWebView*, const char*, int start, int length);
- static bool hasComposition(WebKitWebView*);
- static bool compositionRange(WebKitWebView*, int* start, int* length);
- static void confirmComposition(WebKitWebView*, const char*);
- static bool firstRectForCharacterRange(WebKitWebView*, int location, int length, cairo_rectangle_int_t*);
- static bool selectedRange(WebKitWebView*, int* start, int* length);
- static void doCommand(WebKitWebView*, const char*);
- // 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 removeWhiteListAccessFromOrigin(const char* sourceOrigin, const char* destinationProtocol, const char* destinationHost, bool allowDestinationSubdomains);
- static void resetOriginAccessWhiteLists();
-
- static void resetGeolocationClientMock(WebKitWebView*);
- static void setMockGeolocationPermission(WebKitWebView*, bool allowed);
- static void setMockGeolocationPosition(WebKitWebView*, double latitude, double longitude, double accuracy);
- static void setMockGeolocationPositionUnavailableError(WebKitWebView*, const gchar* errorMessage);
- static int numberOfPendingGeolocationPermissionRequests(WebKitWebView*);
-
- static void setPageCacheSupportsPlugins(WebKitWebView*, bool enabled);
- static void setCSSGridLayoutEnabled(WebKitWebView*, bool enabled);
- static void setCSSRegionsEnabled(WebKitWebView*, bool enabled);
- static void setCSSCustomFilterEnabled(WebKitWebView*, bool enabled);
- static void setExperimentalContentSecurityPolicyFeaturesEnabled(bool);
- static void setSeamlessIFramesEnabled(bool);
- static void setShadowDOMEnabled(bool);
- static void setStyleScopedEnabled(bool);
-
- static void deliverAllMutationsIfNecessary();
- static void setDomainRelaxationForbiddenForURLScheme(bool forbidden, const char* urlScheme);
- static void setSerializeHTTPLoads(bool enabled);
-
- static void setTracksRepaints(WebKitWebFrame*, bool tracks);
- static bool isTrackingRepaints(WebKitWebFrame*);
- static GSList* trackedRepaintRects(WebKitWebFrame*);
- static void resetTrackedRepaints(WebKitWebFrame*);
-
- static void clearMemoryCache();
- static void clearApplicationCache();
-
- enum FrameLoadEvent {
- WillPerformClientRedirectToURL,
- DidCancelClientRedirect,
- DidReceiveServerRedirectForProvisionalLoad,
- DidDisplayInsecureContent,
- DidDetectXSS,
- };
- typedef void (*FrameLoadEventCallback)(WebKitWebFrame*, FrameLoadEvent, const char* url);
- static void setFrameLoadEventCallback(FrameLoadEventCallback);
- static FrameLoadEventCallback s_frameLoadEventCallback;
-
- typedef bool (*AuthenticationCallback) (CString& username, CString& password);
- static void setAuthenticationCallback(AuthenticationCallback);
- static AuthenticationCallback s_authenticationCallback;
- static void setPageVisibility(WebKitWebView*, WebCore::PageVisibilityState, bool);
-
-private:
- static bool s_drtRun;
- static bool s_linksIncludedInTabChain;
-};
-
-#endif
diff --git a/Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp
deleted file mode 100644
index 509090473..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp
+++ /dev/null
@@ -1,567 +0,0 @@
-/*
- * Copyright (C) 2007 Alp Toker <alp@atoker.com>
- * Copyright (C) 2008 Nuanti Ltd.
- * Copyright (C) 2009 Diego Escalante Urrelo <diegoe@gnome.org>
- * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
- * Copyright (C) 2009, 2010 Igalia S.L.
- * Copyright (C) 2010, Martin Robinson <mrobinson@webkit.org>
- *
- * 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 "EditorClientGtk.h"
-
-#include "DataObjectGtk.h"
-#include "DumpRenderTreeSupportGtk.h"
-#include "Editor.h"
-#include "EventNames.h"
-#include "FocusController.h"
-#include "Frame.h"
-#include <glib.h>
-#include "KeyboardEvent.h"
-#include "markup.h"
-#include "NotImplemented.h"
-#include "Page.h"
-#include "PasteboardHelper.h"
-#include "PlatformKeyboardEvent.h"
-#include "Settings.h"
-#include "StylePropertySet.h"
-#include "UndoStep.h"
-#include "WebKitDOMCSSStyleDeclarationPrivate.h"
-#include "WebKitDOMHTMLElementPrivate.h"
-#include "WebKitDOMNodePrivate.h"
-#include "WebKitDOMRangePrivate.h"
-#include "WindowsKeyboardCodes.h"
-#include "webkitglobals.h"
-#include "webkitglobalsprivate.h"
-#include "webkitmarshal.h"
-#include "webkitspellchecker.h"
-#include "webkitwebsettingsprivate.h"
-#include "webkitwebviewprivate.h"
-#include <wtf/text/CString.h>
-
-// Arbitrary depth limit for the undo stack, to keep it from using
-// unbounded memory. This is the maximum number of distinct undoable
-// actions -- unbroken stretches of typed characters are coalesced
-// into a single action.
-#define maximumUndoStackDepth 1000
-
-using namespace WebCore;
-
-namespace WebKit {
-
-void EditorClient::willSetInputMethodState()
-{
-}
-
-void EditorClient::setInputMethodState(bool active)
-{
- m_webView->priv->imFilter.setEnabled(active);
-}
-
-bool EditorClient::shouldShowUnicodeMenu()
-{
- if (gtk_major_version > 2 || (gtk_major_version == 2 && gtk_minor_version >= 10)) {
- GtkSettings* settings = gtk_widget_get_settings(GTK_WIDGET(m_webView));
- if (!settings)
- return true;
-
- gboolean enabled;
- g_object_get(settings, "gtk-show-unicode-menu", &enabled, NULL);
- return enabled;
- }
-
- return true;
-}
-
-bool EditorClient::shouldDeleteRange(Range* range)
-{
- gboolean accept = TRUE;
- GRefPtr<WebKitDOMRange> kitRange(adoptGRef(kit(range)));
- g_signal_emit_by_name(m_webView, "should-delete-range", kitRange.get(), &accept);
- return accept;
-}
-
-bool EditorClient::isContinuousSpellCheckingEnabled()
-{
- WebKitWebSettings* settings = webkit_web_view_get_settings(m_webView);
-
- gboolean enabled;
- g_object_get(settings, "enable-spell-checking", &enabled, NULL);
-
- return enabled;
-}
-
-bool EditorClient::isGrammarCheckingEnabled()
-{
- notImplemented();
- return false;
-}
-
-int EditorClient::spellCheckerDocumentTag()
-{
- notImplemented();
- return 0;
-}
-
-bool EditorClient::shouldBeginEditing(WebCore::Range* range)
-{
- gboolean accept = TRUE;
- GRefPtr<WebKitDOMRange> kitRange(adoptGRef(kit(range)));
- g_signal_emit_by_name(m_webView, "should-begin-editing", kitRange.get(), &accept);
- return accept;
-}
-
-bool EditorClient::shouldEndEditing(WebCore::Range* range)
-{
- gboolean accept = TRUE;
- GRefPtr<WebKitDOMRange> kitRange(adoptGRef(kit(range)));
- g_signal_emit_by_name(m_webView, "should-end-editing", kitRange.get(), &accept);
- return accept;
-}
-
-static WebKitInsertAction kit(EditorInsertAction action)
-{
- switch (action) {
- case EditorInsertActionTyped:
- return WEBKIT_INSERT_ACTION_TYPED;
- case EditorInsertActionPasted:
- return WEBKIT_INSERT_ACTION_PASTED;
- case EditorInsertActionDropped:
- return WEBKIT_INSERT_ACTION_DROPPED;
- }
- ASSERT_NOT_REACHED();
- return WEBKIT_INSERT_ACTION_TYPED;
-}
-
-bool EditorClient::shouldInsertText(const String& string, Range* range, EditorInsertAction action)
-{
- gboolean accept = TRUE;
- GRefPtr<WebKitDOMRange> kitRange(adoptGRef(kit(range)));
- g_signal_emit_by_name(m_webView, "should-insert-text", string.utf8().data(), kitRange.get(), kit(action), &accept);
- return accept;
-}
-
-static WebKitSelectionAffinity kit(EAffinity affinity)
-{
- switch (affinity) {
- case UPSTREAM:
- return WEBKIT_SELECTION_AFFINITY_UPSTREAM;
- case DOWNSTREAM:
- return WEBKIT_SELECTION_AFFINITY_DOWNSTREAM;
- }
- ASSERT_NOT_REACHED();
- return WEBKIT_SELECTION_AFFINITY_UPSTREAM;
-}
-
-bool EditorClient::shouldChangeSelectedRange(Range* fromRange, Range* toRange, EAffinity affinity, bool stillSelecting)
-{
- gboolean accept = TRUE;
- GRefPtr<WebKitDOMRange> kitFromRange(fromRange ? adoptGRef(kit(fromRange)) : 0);
- GRefPtr<WebKitDOMRange> kitToRange(toRange ? adoptGRef(kit(toRange)) : 0);
- g_signal_emit_by_name(m_webView, "should-change-selected-range", kitFromRange.get(), kitToRange.get(),
- kit(affinity), stillSelecting, &accept);
- return accept;
-}
-
-bool EditorClient::shouldApplyStyle(WebCore::StylePropertySet* set, WebCore::Range* range)
-{
- gboolean accept = TRUE;
- GRefPtr<WebKitDOMCSSStyleDeclaration> kitDeclaration(kit(set->mutableCopy()->ensureCSSStyleDeclaration()));
- GRefPtr<WebKitDOMRange> kitRange(adoptGRef(kit(range)));
- g_signal_emit_by_name(m_webView, "should-apply-style", kitDeclaration.get(), kitRange.get(), &accept);
- return accept;
-}
-
-bool EditorClient::shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range*)
-{
- notImplemented();
- return true;
-}
-
-void EditorClient::didBeginEditing()
-{
- g_signal_emit_by_name(m_webView, "editing-began");
-}
-
-void EditorClient::respondToChangedContents()
-{
- g_signal_emit_by_name(m_webView, "user-changed-contents");
-}
-
-static WebKitWebView* viewSettingClipboard = 0;
-static void collapseSelection(GtkClipboard* clipboard, WebKitWebView* webView)
-{
- if (viewSettingClipboard && viewSettingClipboard == webView)
- return;
-
- WebCore::Page* corePage = core(webView);
- if (!corePage || !corePage->focusController())
- return;
-
- Frame* frame = corePage->focusController()->focusedOrMainFrame();
-
- // Collapse the selection without clearing it
- ASSERT(frame);
- frame->selection()->setBase(frame->selection()->extent(), frame->selection()->affinity());
-}
-
-#if PLATFORM(X11)
-static void setSelectionPrimaryClipboardIfNeeded(WebKitWebView* webView)
-{
- if (!gtk_widget_has_screen(GTK_WIDGET(webView)))
- return;
-
- GtkClipboard* clipboard = gtk_widget_get_clipboard(GTK_WIDGET(webView), GDK_SELECTION_PRIMARY);
- DataObjectGtk* dataObject = DataObjectGtk::forClipboard(clipboard);
- WebCore::Page* corePage = core(webView);
- Frame* targetFrame = corePage->focusController()->focusedOrMainFrame();
-
- if (!targetFrame->selection()->isRange())
- return;
-
- dataObject->clearAll();
- dataObject->setRange(targetFrame->selection()->toNormalizedRange());
-
- viewSettingClipboard = webView;
- GClosure* callback = g_cclosure_new_object(G_CALLBACK(collapseSelection), G_OBJECT(webView));
- g_closure_set_marshal(callback, g_cclosure_marshal_VOID__VOID);
- PasteboardHelper::defaultPasteboardHelper()->writeClipboardContents(clipboard, PasteboardHelper::DoNotIncludeSmartPaste, callback);
- viewSettingClipboard = 0;
-}
-#endif
-
-void EditorClient::respondToChangedSelection(Frame* frame)
-{
- g_signal_emit_by_name(m_webView, "selection-changed");
-
- if (!frame)
- return;
-
-#if PLATFORM(X11)
- setSelectionPrimaryClipboardIfNeeded(m_webView);
-#endif
-
- if (frame->editor().cancelCompositionIfSelectionIsInvalid())
- m_webView->priv->imFilter.resetContext();
-}
-
-void EditorClient::didEndEditing()
-{
- g_signal_emit_by_name(m_webView, "editing-ended");
-}
-
-void EditorClient::didWriteSelectionToPasteboard()
-{
- notImplemented();
-}
-
-void EditorClient::willWriteSelectionToPasteboard(WebCore::Range*)
-{
-}
-
-void EditorClient::getClientPasteboardDataForRange(WebCore::Range*, Vector<String>&, Vector<RefPtr<WebCore::SharedBuffer> >&)
-{
-}
-
-void EditorClient::didSetSelectionTypesForPasteboard()
-{
- notImplemented();
-}
-
-void EditorClient::registerUndoStep(WTF::PassRefPtr<WebCore::UndoStep> step)
-{
- if (undoStack.size() == maximumUndoStackDepth)
- undoStack.removeFirst();
- if (!m_isInRedo)
- redoStack.clear();
- undoStack.append(step);
-}
-
-void EditorClient::registerRedoStep(WTF::PassRefPtr<WebCore::UndoStep> step)
-{
- redoStack.append(step);
-}
-
-void EditorClient::clearUndoRedoOperations()
-{
- undoStack.clear();
- redoStack.clear();
-}
-
-bool EditorClient::canCopyCut(WebCore::Frame*, bool defaultValue) const
-{
- return defaultValue;
-}
-
-bool EditorClient::canPaste(WebCore::Frame*, bool defaultValue) const
-{
- return defaultValue;
-}
-
-bool EditorClient::canUndo() const
-{
- return !undoStack.isEmpty();
-}
-
-bool EditorClient::canRedo() const
-{
- return !redoStack.isEmpty();
-}
-
-void EditorClient::undo()
-{
- if (canUndo()) {
- RefPtr<WebCore::UndoStep> step(*(--undoStack.end()));
- undoStack.remove(--undoStack.end());
- // unapply will call us back to push this command onto the redo stack.
- step->unapply();
- }
-}
-
-void EditorClient::redo()
-{
- if (canRedo()) {
- RefPtr<WebCore::UndoStep> step(*(--redoStack.end()));
- redoStack.remove(--redoStack.end());
-
- ASSERT(!m_isInRedo);
- m_isInRedo = true;
- // reapply will call us back to push this command onto the undo stack.
- step->reapply();
- m_isInRedo = false;
- }
-}
-
-bool EditorClient::shouldInsertNode(Node* node, Range* range, EditorInsertAction action)
-{
- gboolean accept = TRUE;
- GRefPtr<WebKitDOMRange> kitRange(adoptGRef(kit(range)));
- GRefPtr<WebKitDOMNode> kitNode(adoptGRef(kit(node)));
- g_signal_emit_by_name(m_webView, "should-insert-node", kitNode.get(), kitRange.get(), kit(action), &accept);
- return accept;
-}
-
-void EditorClient::pageDestroyed()
-{
- delete this;
-}
-
-bool EditorClient::smartInsertDeleteEnabled()
-{
- WebCore::Page* corePage = core(m_webView);
- if (!corePage)
- return false;
- return corePage->settings()->smartInsertDeleteEnabled();
-}
-
-bool EditorClient::isSelectTrailingWhitespaceEnabled()
-{
- WebCore::Page* corePage = core(m_webView);
- if (!corePage)
- return false;
- return corePage->settings()->selectTrailingWhitespaceEnabled();
-}
-
-void EditorClient::toggleContinuousSpellChecking()
-{
- WebKitWebSettings* settings = webkit_web_view_get_settings(m_webView);
-
- gboolean enabled;
- g_object_get(settings, "enable-spell-checking", &enabled, NULL);
-
- g_object_set(settings, "enable-spell-checking", !enabled, NULL);
-}
-
-void EditorClient::toggleGrammarChecking()
-{
-}
-
-bool EditorClient::executePendingEditorCommands(Frame* frame, bool allowTextInsertion)
-{
- Vector<Editor::Command> commands;
- for (size_t i = 0; i < m_pendingEditorCommands.size(); i++) {
- Editor::Command command = frame->editor().command(m_pendingEditorCommands.at(i).utf8().data());
- if (command.isTextInsertion() && !allowTextInsertion)
- return false;
-
- commands.append(command);
- }
-
- bool success = true;
- for (size_t i = 0; i < commands.size(); i++) {
- if (!commands.at(i).execute()) {
- success = false;
- break;
- }
- }
-
- m_pendingEditorCommands.clear();
- return success;
-}
-
-static bool keyboardEventHadCompositionResults(KeyboardEvent* event)
-{
- if (event->type() != eventNames().keydownEvent)
- return false;
-
- const PlatformKeyboardEvent* platformEvent = event->keyEvent();
- if (!platformEvent)
- return false;
-
- return platformEvent->compositionResults().compositionUpdated();
-}
-
-void EditorClient::handleKeyboardEvent(KeyboardEvent* event)
-{
- Node* node = event->target()->toNode();
- ASSERT(node);
- Frame* frame = node->document()->frame();
- ASSERT(frame);
-
- const PlatformKeyboardEvent* platformEvent = event->keyEvent();
- if (!platformEvent)
- return;
-
- if (keyboardEventHadCompositionResults(event))
- return;
-
- KeyBindingTranslator::EventType type = event->type() == eventNames().keydownEvent ?
- KeyBindingTranslator::KeyDown : KeyBindingTranslator::KeyPress;
- m_keyBindingTranslator.getEditorCommandsForKeyEvent(platformEvent->gdkEventKey(), type, m_pendingEditorCommands);
- if (m_pendingEditorCommands.size() > 0) {
-
- // During RawKeyDown events if an editor command will insert text, defer
- // the insertion until the keypress event. We want keydown to bubble up
- // through the DOM first.
- if (platformEvent->type() == PlatformEvent::RawKeyDown) {
- if (executePendingEditorCommands(frame, false))
- event->setDefaultHandled();
-
- return;
- }
-
- // Only allow text insertion commands if the current node is editable.
- if (executePendingEditorCommands(frame, frame->editor().canEdit())) {
- event->setDefaultHandled();
- return;
- }
- m_pendingEditorCommands.clear();
- }
-
- // Don't allow text insertion for nodes that cannot edit.
- if (!frame->editor().canEdit())
- return;
-
- // This is just a normal text insertion, so wait to execute the insertion
- // until a keypress event happens. This will ensure that the insertion will not
- // be reflected in the contents of the field until the keyup DOM event.
- if (event->type() != eventNames().keypressEvent)
- return;
-
- // Don't insert null or control characters as they can result in unexpected behaviour
- if (event->charCode() < ' ')
- return;
-
- // Don't insert anything if a modifier is pressed
- if (platformEvent->ctrlKey() || platformEvent->altKey())
- return;
-
- if (frame->editor().insertText(platformEvent->text(), event))
- event->setDefaultHandled();
-}
-
-void EditorClient::handleInputMethodKeydown(KeyboardEvent* event)
-{
- // Input method results are handled in handleKeyboardEvent, so that we can wait
- // to trigger composition updates until after the keydown event handler. This better
- // matches other browsers.
- const PlatformKeyboardEvent* platformEvent = event->keyEvent();
- if (platformEvent && platformEvent->compositionResults().compositionUpdated())
- event->preventDefault();
-}
-
-EditorClient::EditorClient(WebKitWebView* webView)
- : m_isInRedo(false)
-#if ENABLE(SPELLCHECK)
- , m_textCheckerClient(WEBKIT_SPELL_CHECKER(webkit_get_text_checker()))
-#endif
- , m_webView(webView)
-{
-}
-
-EditorClient::~EditorClient()
-{
-}
-
-void EditorClient::textFieldDidBeginEditing(Element*)
-{
-}
-
-void EditorClient::textFieldDidEndEditing(Element*)
-{
-}
-
-void EditorClient::textDidChangeInTextField(Element*)
-{
-}
-
-bool EditorClient::doTextFieldCommandFromEvent(Element*, KeyboardEvent*)
-{
- return false;
-}
-
-void EditorClient::textWillBeDeletedInTextField(Element*)
-{
- notImplemented();
-}
-
-void EditorClient::textDidChangeInTextArea(Element*)
-{
- notImplemented();
-}
-
-void EditorClient::updateSpellingUIWithGrammarString(const String&, const GrammarDetail&)
-{
- notImplemented();
-}
-
-void EditorClient::updateSpellingUIWithMisspelledWord(const String&)
-{
- notImplemented();
-}
-
-void EditorClient::showSpellingUI(bool)
-{
- notImplemented();
-}
-
-bool EditorClient::spellingUIIsShowing()
-{
- notImplemented();
- return false;
-}
-
-bool EditorClient::supportsGlobalSelection()
-{
-#if PLATFORM(X11)
- return true;
-#else
- return false;
-#endif
-}
-
-}
diff --git a/Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.h b/Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.h
deleted file mode 100644
index c99f71eb6..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
- * Copyright (C) 2006 Zack Rusin <zack@kde.org>
- * Copyright (C) 2006 Apple Computer, Inc.
- * Copyright (C) 2010 Martin Robinson <mrobinson@webkit.org>
- *
- * 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 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 EditorClientGtk_h
-#define EditorClientGtk_h
-
-#include "EditorClient.h"
-#include "KeyBindingTranslator.h"
-#include "TextCheckerClient.h"
-#include <wtf/Deque.h>
-#include <wtf/Forward.h>
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/gobject/GRefPtr.h>
-
-#if ENABLE(SPELLCHECK)
-#include "TextCheckerClientGtk.h"
-#else
-#include "EmptyClients.h"
-#endif
-
-typedef struct _WebKitWebView WebKitWebView;
-
-namespace WebCore {
-class Frame;
-class KeyboardEvent;
-}
-
-namespace WebKit {
-
-class EditorClient : public WebCore::EditorClient {
- protected:
- bool m_isInRedo;
-
- WTF::Deque<WTF::RefPtr<WebCore::UndoStep> > undoStack;
- WTF::Deque<WTF::RefPtr<WebCore::UndoStep> > redoStack;
-
- public:
- EditorClient(WebKitWebView*);
- ~EditorClient();
- WebKitWebView* webView() { return m_webView; }
- void addPendingEditorCommand(const char* command) { m_pendingEditorCommands.append(command); }
- void generateEditorCommands(const WebCore::KeyboardEvent*);
- bool executePendingEditorCommands(WebCore::Frame*, bool);
-
- // from EditorClient
- virtual void pageDestroyed();
- virtual void frameWillDetachPage(WebCore::Frame*) { }
-
- virtual bool shouldDeleteRange(WebCore::Range*);
- virtual bool smartInsertDeleteEnabled();
- virtual bool isSelectTrailingWhitespaceEnabled();
- virtual bool isContinuousSpellCheckingEnabled();
- virtual void toggleContinuousSpellChecking();
- virtual bool isGrammarCheckingEnabled();
- virtual void toggleGrammarChecking();
- virtual int spellCheckerDocumentTag();
-
- virtual bool shouldBeginEditing(WebCore::Range*);
- virtual bool shouldEndEditing(WebCore::Range*);
- virtual bool shouldInsertNode(WebCore::Node*, WebCore::Range*, WebCore::EditorInsertAction);
- virtual bool shouldInsertText(const WTF::String&, WebCore::Range*, WebCore::EditorInsertAction);
- virtual bool shouldChangeSelectedRange(WebCore::Range* fromRange, WebCore::Range* toRange, WebCore::EAffinity, bool stillSelecting);
-
- virtual bool shouldApplyStyle(WebCore::StylePropertySet*, WebCore::Range*);
-
- virtual bool shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range*);
-
- virtual void didBeginEditing();
- virtual void respondToChangedContents();
- virtual void respondToChangedSelection(WebCore::Frame*);
- virtual void didEndEditing();
- virtual void willWriteSelectionToPasteboard(WebCore::Range*);
- virtual void didWriteSelectionToPasteboard();
- virtual void getClientPasteboardDataForRange(WebCore::Range*, Vector<String>& pasteboardTypes, Vector<RefPtr<WebCore::SharedBuffer> >& pasteboardData);
- virtual void didSetSelectionTypesForPasteboard();
-
- virtual void registerUndoStep(WTF::PassRefPtr<WebCore::UndoStep>);
- virtual void registerRedoStep(WTF::PassRefPtr<WebCore::UndoStep>);
- virtual void clearUndoRedoOperations();
-
- virtual bool canCopyCut(WebCore::Frame*, bool defaultValue) const;
- virtual bool canPaste(WebCore::Frame*, bool defaultValue) const;
- virtual bool canUndo() const;
- virtual bool canRedo() const;
-
- virtual void undo();
- virtual void redo();
-
- virtual void handleKeyboardEvent(WebCore::KeyboardEvent*);
- virtual void handleInputMethodKeydown(WebCore::KeyboardEvent*);
-
- virtual void textFieldDidBeginEditing(WebCore::Element*);
- virtual void textFieldDidEndEditing(WebCore::Element*);
- virtual void textDidChangeInTextField(WebCore::Element*);
- virtual bool doTextFieldCommandFromEvent(WebCore::Element*, WebCore::KeyboardEvent*);
- virtual void textWillBeDeletedInTextField(WebCore::Element*);
- virtual void textDidChangeInTextArea(WebCore::Element*);
-
- virtual WebCore::TextCheckerClient* textChecker() { return &m_textCheckerClient; }
-
- virtual void updateSpellingUIWithGrammarString(const WTF::String&, const WebCore::GrammarDetail&);
- virtual void updateSpellingUIWithMisspelledWord(const WTF::String&);
- virtual void showSpellingUI(bool show);
- virtual bool spellingUIIsShowing();
- virtual void willSetInputMethodState();
- virtual void setInputMethodState(bool enabled);
-
- virtual bool shouldShowUnicodeMenu();
-
- virtual bool supportsGlobalSelection() OVERRIDE;
-
- private:
-#if ENABLE(SPELLCHECK)
- TextCheckerClientGtk m_textCheckerClient;
-#else
- WebCore::EmptyTextCheckerClient m_textCheckerClient;
-#endif
- WebKitWebView* m_webView;
- WebCore::KeyBindingTranslator m_keyBindingTranslator;
- Vector<WTF::String> m_pendingEditorCommands;
- };
-}
-
-#endif
-
-// vim: ts=4 sw=4 et
diff --git a/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
deleted file mode 100644
index 4cac20606..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
+++ /dev/null
@@ -1,1269 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Alp Toker <alp@atoker.com>
- * Copyright (C) 2007, 2008, 2009 Holger Hans Peter Freyther
- * Copyright (C) 2007 Christian Dywan <christian@twotoasts.de>
- * Copyright (C) 2008, 2009 Collabora Ltd. All rights reserved.
- * Copyright (C) 2009, 2010 Gustavo Noronha Silva <gns@gnome.org>
- * Copyright (C) Research In Motion Limited 2009. All rights reserved.
- * Copyright (C) 2010 Igalia S.L.
- * Copyright (C) 2011 Apple 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
- * 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 "FrameLoaderClientGtk.h"
-
-#include "ArchiveResource.h"
-#include "CachedFrame.h"
-#include "Color.h"
-#include "DOMObjectCache.h"
-#include "DocumentLoader.h"
-#include "DocumentLoaderGtk.h"
-#include "DumpRenderTreeSupportGtk.h"
-#include "ErrorsGtk.h"
-#include "FileSystem.h"
-#include "FormState.h"
-#include "FrameLoader.h"
-#include "FrameNetworkingContextGtk.h"
-#include "FrameTree.h"
-#include "FrameView.h"
-#include "GtkPluginWidget.h"
-#include "GtkUtilities.h"
-#include "HTMLAppletElement.h"
-#include "HTMLFormElement.h"
-#include "HTMLFrameElement.h"
-#include "HTMLFrameOwnerElement.h"
-#include "HTMLNames.h"
-#include "HTMLPlugInElement.h"
-#include "JSDOMBinding.h"
-#include "JSDOMWindow.h"
-#include "Language.h"
-#include "MIMETypeRegistry.h"
-#include "MouseEvent.h"
-#include "NotImplemented.h"
-#include "Page.h"
-#include "PluginDatabase.h"
-#include "ProgressTracker.h"
-#include "RenderPart.h"
-#include "RenderView.h"
-#include "ResourceHandle.h"
-#include "ResourceLoader.h"
-#include "ResourceRequest.h"
-#include "ScriptController.h"
-#include "Settings.h"
-#include "webkitauthenticationdialog.h"
-#include "webkiterror.h"
-#include "webkitfavicondatabase.h"
-#include "webkitfavicondatabaseprivate.h"
-#include "webkitglobals.h"
-#include "webkitglobalsprivate.h"
-#include "webkitnetworkrequest.h"
-#include "webkitnetworkrequestprivate.h"
-#include "webkitnetworkresponse.h"
-#include "webkitnetworkresponseprivate.h"
-#include "webkitsecurityoriginprivate.h"
-#include "webkitviewportattributes.h"
-#include "webkitviewportattributesprivate.h"
-#include "webkitwebdatasourceprivate.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 "webkitwebsettingsprivate.h"
-#include "webkitwebview.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/gobject/GOwnPtr.h>
-#include <wtf/gobject/GRefPtr.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/StringConcatenate.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-FrameLoaderClient::FrameLoaderClient(WebKitWebFrame* frame)
- : m_frame(frame)
- , m_policyDecision(0)
- , m_loadingErrorPage(false)
- , m_pluginView(0)
- , m_hasSentResponseToPlugin(false)
-{
- ASSERT(m_frame);
-}
-
-FrameLoaderClient::~FrameLoaderClient()
-{
- if (m_policyDecision)
- g_object_unref(m_policyDecision);
-}
-
-
-String FrameLoaderClient::userAgent(const KURL& url)
-{
- WebKitWebSettings* settings = webkit_web_view_get_settings(getViewFromFrame(m_frame));
- GOwnPtr<gchar> userAgentString(webkitWebSettingsUserAgentForURI(settings, url.string().utf8().data()));
- return String::fromUTF8(userAgentString.get());
-}
-
-static void notifyStatus(WebKitWebFrame* frame, WebKitLoadStatus loadStatus)
-{
- frame->priv->loadStatus = loadStatus;
- g_object_notify(G_OBJECT(frame), "load-status");
-
- WebKitWebView* webView = getViewFromFrame(frame);
- if (frame == webkit_web_view_get_main_frame(webView)) {
- webView->priv->loadStatus = loadStatus;
- g_object_notify(G_OBJECT(webView), "load-status");
- }
-}
-
-WTF::PassRefPtr<WebCore::DocumentLoader> FrameLoaderClient::createDocumentLoader(const WebCore::ResourceRequest& request, const SubstituteData& substituteData)
-{
- RefPtr<WebKit::DocumentLoader> loader = WebKit::DocumentLoader::create(request, substituteData);
-
- GRefPtr<WebKitWebDataSource> webDataSource(adoptGRef(kitNew(loader.get())));
- loader->setDataSource(webDataSource.get());
-
- return loader.release();
-}
-
-void FrameLoaderClient::dispatchWillSubmitForm(FramePolicyFunction policyFunction, PassRefPtr<FormState>)
-{
- // FIXME: This is surely too simple
- ASSERT(policyFunction);
- if (!policyFunction)
- return;
- (core(m_frame)->loader()->policyChecker()->*policyFunction)(PolicyUse);
-}
-
-void FrameLoaderClient::committedLoad(WebCore::DocumentLoader* loader, const char* data, int length)
-{
- if (!m_pluginView) {
- ASSERT(loader->frame());
- loader->commitData(data, length);
-
- Frame* coreFrame = loader->frame();
- if (coreFrame && coreFrame->document()->isMediaDocument())
- loader->cancelMainResourceLoad(coreFrame->loader()->client()->pluginWillHandleLoadError(loader->response()));
- }
-
- if (m_pluginView) {
- if (!m_hasSentResponseToPlugin) {
- m_pluginView->didReceiveResponse(loader->response());
- m_hasSentResponseToPlugin = true;
- }
-
- // FIXME: We may want to investigate refactoring our plugin loading
- // code to be similar to mac's.
- // Also, see http://trac.webkit.org/changeset/24118.
- if (!m_pluginView)
- return;
-
- m_pluginView->didReceiveData(data, length);
- }
-}
-
-bool FrameLoaderClient::shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long identifier)
-{
- return true;
-}
-
-void FrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const AuthenticationChallenge& challenge)
-{
- if (DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled()) {
- CString username;
- CString password;
- if (!DumpRenderTreeSupportGtk::s_authenticationCallback || !DumpRenderTreeSupportGtk::s_authenticationCallback(username, password)) {
- challenge.authenticationClient()->receivedRequestToContinueWithoutCredential(challenge);
- return;
- }
-
- challenge.authenticationClient()->receivedCredential(challenge, Credential(String::fromUTF8(username.data()), String::fromUTF8(password.data()), CredentialPersistenceForSession));
- return;
- }
-
- WebKitWebView* view = webkit_web_frame_get_web_view(m_frame);
-
- CredentialStorageMode credentialStorageMode;
- if (core(view)->settings()->privateBrowsingEnabled())
- credentialStorageMode = DisallowPersistentStorage;
- else
- credentialStorageMode = AllowPersistentStorage;
-
- GtkWidget* toplevel = gtk_widget_get_toplevel(GTK_WIDGET(view));
- GtkWidget* authDialog = createAuthenticationDialog(widgetIsOnscreenToplevelWindow(toplevel) ? GTK_WINDOW(toplevel) : 0, challenge, credentialStorageMode);
- gtk_widget_show(authDialog);
-}
-
-void FrameLoaderClient::dispatchDidCancelAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&)
-{
- notImplemented();
-}
-
-// We convert this to string because it's easier to use strings as
-// keys in a GHashTable.
-static char* toString(unsigned long identifier)
-{
- return g_strdup_printf("%ld", identifier);
-}
-
-void FrameLoaderClient::dispatchWillSendRequest(WebCore::DocumentLoader* loader, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
-{
- GRefPtr<WebKitNetworkResponse> networkResponse(0);
-
- // We are adding one more resource to the load, or maybe we are
- // just redirecting a load.
- if (redirectResponse.isNull())
- static_cast<WebKit::DocumentLoader*>(loader)->increaseLoadCount(identifier);
- else
- networkResponse = adoptGRef(kitNew(redirectResponse));
-
- WebKitWebView* webView = getViewFromFrame(m_frame);
- GOwnPtr<gchar> identifierString(toString(identifier));
- WebKitWebResource* webResource = webkit_web_view_get_resource(webView, identifierString.get());
- GRefPtr<WebKitNetworkRequest> networkRequest(adoptGRef(kitNew(request)));
-
- if (!redirectResponse.isNull()) {
- // This is a redirect, so we need to update the WebResource's knowledge
- // of the URI.
- g_free(webResource->priv->uri);
- webResource->priv->uri = g_strdup(request.url().string().utf8().data());
- }
-
- g_signal_emit_by_name(webView, "resource-request-starting", m_frame, webResource, networkRequest.get(), networkResponse.get());
- g_signal_emit_by_name(m_frame, "resource-request-starting", webResource, networkRequest.get(), networkResponse.get());
-
- // Feed any changes back into the ResourceRequest object.
- SoupMessage* message = webkit_network_request_get_message(networkRequest.get());
- if (!message) {
- request.setURL(KURL(KURL(), String::fromUTF8(webkit_network_request_get_uri(networkRequest.get()))));
- return;
- }
-
- request.updateFromSoupMessage(message);
-}
-
-void FrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader* loader, const ResourceRequest& request)
-{
- GOwnPtr<gchar> identifierString(toString(identifier));
-
- 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()
-{
- WebKitWebView* webView = getViewFromFrame(m_frame);
- g_signal_emit_by_name(webView, "load-started", m_frame);
-
- g_object_notify(G_OBJECT(webView), "progress");
-}
-
-void FrameLoaderClient::postProgressEstimateChangedNotification()
-{
- WebKitWebView* webView = getViewFromFrame(m_frame);
- Page* corePage = core(webView);
-
- g_signal_emit_by_name(webView, "load-progress-changed", lround(corePage->progress()->estimatedProgress()*100));
-
- g_object_notify(G_OBJECT(webView), "progress");
-}
-
-void FrameLoaderClient::postProgressFinishedNotification()
-{
- WebKitWebView* webView = getViewFromFrame(m_frame);
- 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.
- if (!privateData->disposing)
- g_signal_emit_by_name(webView, "load-finished", m_frame);
-}
-
-void FrameLoaderClient::frameLoaderDestroyed()
-{
- webkit_web_frame_core_frame_gone(m_frame);
- g_object_unref(m_frame);
- m_frame = 0;
- delete this;
-}
-
-void FrameLoaderClient::dispatchDidReceiveResponse(WebCore::DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response)
-{
- // Update our knowledge of request soup flags - some are only set
- // after the request is done.
- loader->request().setSoupMessageFlags(response.soupMessageFlags());
-
- m_response = response;
-
- WebKitWebView* webView = getViewFromFrame(m_frame);
- GOwnPtr<gchar> identifierString(toString(identifier));
- WebKitWebResource* webResource = webkit_web_view_get_resource(webView, identifierString.get());
- GRefPtr<WebKitNetworkResponse> networkResponse(adoptGRef(kitNew(response)));
-
- g_signal_emit_by_name(webResource, "response-received", networkResponse.get());
- g_signal_emit_by_name(m_frame, "resource-response-received", webResource, networkResponse.get());
- g_signal_emit_by_name(webView, "resource-response-received", m_frame, webResource, networkResponse.get());
-}
-
-void FrameLoaderClient::dispatchDecidePolicyForResponse(FramePolicyFunction policyFunction, const ResourceResponse& response, const ResourceRequest& resourceRequest)
-{
- ASSERT(policyFunction);
- if (!policyFunction)
- return;
-
- if (resourceRequest.isNull()) {
- (core(m_frame)->loader()->policyChecker()->*policyFunction)(PolicyIgnore);
- return;
- }
-
- WebKitWebView* page = getViewFromFrame(m_frame);
- GRefPtr<WebKitNetworkRequest> request(adoptGRef(kitNew(resourceRequest)));
-
- WebKitWebPolicyDecision* policyDecision = webkit_web_policy_decision_new(m_frame, policyFunction);
- if (m_policyDecision)
- g_object_unref(m_policyDecision);
- m_policyDecision = policyDecision;
-
- String mimeType = response.mimeType();
-
- gboolean isHandled = false;
- g_signal_emit_by_name(page, "mime-type-policy-decision-requested", m_frame, request.get(), mimeType.utf8().data(), policyDecision, &isHandled);
-
- if (isHandled)
- return;
-
- GRefPtr<WebKitNetworkResponse> networkResponse(adoptGRef(webkit_web_frame_get_network_response(m_frame)));
- if (networkResponse) {
- ResourceResponse response = core(networkResponse.get());
- if (response.isAttachment()) {
- webkit_web_policy_decision_download(policyDecision);
- return;
- }
- }
-
- if (canShowMIMEType(mimeType))
- webkit_web_policy_decision_use(policyDecision);
- else
- webkit_web_policy_decision_ignore(policyDecision);
-}
-
-static WebKitWebNavigationAction* getNavigationAction(const NavigationAction& action, const char* targetFrame)
-{
- gint button = -1;
-
- const Event* event = action.event();
- if (event && event->isMouseEvent()) {
- const MouseEvent* mouseEvent = static_cast<const MouseEvent*>(event);
- // DOM button values are 0, 1 and 2 for left, middle and right buttons.
- // GTK+ uses 1, 2 and 3, so let's add 1 to remain consistent.
- button = mouseEvent->button() + 1;
- }
-
- gint modifierFlags = 0;
- UIEventWithKeyState* keyStateEvent = findEventWithKeyState(const_cast<Event*>(event));
- if (keyStateEvent) {
- if (keyStateEvent->shiftKey())
- modifierFlags |= GDK_SHIFT_MASK;
- if (keyStateEvent->ctrlKey())
- modifierFlags |= GDK_CONTROL_MASK;
- if (keyStateEvent->altKey())
- modifierFlags |= GDK_MOD1_MASK;
- if (keyStateEvent->metaKey())
- modifierFlags |= GDK_MOD2_MASK;
- }
-
- return WEBKIT_WEB_NAVIGATION_ACTION(g_object_new(WEBKIT_TYPE_WEB_NAVIGATION_ACTION,
- "reason", kit(action.type()),
- "original-uri", action.url().string().utf8().data(),
- "button", button,
- "modifier-state", modifierFlags,
- "target-frame", targetFrame,
- NULL));
-}
-
-void FrameLoaderClient::dispatchDecidePolicyForNewWindowAction(FramePolicyFunction policyFunction, const NavigationAction& action, const ResourceRequest& resourceRequest, PassRefPtr<FormState>, const String& frameName)
-{
- ASSERT(policyFunction);
- if (!policyFunction)
- return;
-
- if (resourceRequest.isNull()) {
- (core(m_frame)->loader()->policyChecker()->*policyFunction)(PolicyIgnore);
- return;
- }
-
- WebKitWebPolicyDecision* policyDecision = webkit_web_policy_decision_new(m_frame, policyFunction);
-
- if (m_policyDecision)
- g_object_unref(m_policyDecision);
- m_policyDecision = policyDecision;
-
- WebKitWebView* webView = getViewFromFrame(m_frame);
- GRefPtr<WebKitNetworkRequest> request(adoptGRef(webkit_network_request_new(resourceRequest.url().string().utf8().data())));
- GRefPtr<WebKitWebNavigationAction> navigationAction(adoptGRef(getNavigationAction(action, frameName.utf8().data())));
- gboolean isHandled = false;
-
- 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
- if (!isHandled)
- (core(m_frame)->loader()->policyChecker()->*policyFunction)(PolicyUse);
-}
-
-void FrameLoaderClient::dispatchDecidePolicyForNavigationAction(FramePolicyFunction policyFunction, const NavigationAction& action, const ResourceRequest& resourceRequest, PassRefPtr<FormState>)
-{
- ASSERT(policyFunction);
- if (!policyFunction)
- return;
-
- if (resourceRequest.isNull()) {
- (core(m_frame)->loader()->policyChecker()->*policyFunction)(PolicyIgnore);
- return;
- }
-
- WebKitWebView* webView = getViewFromFrame(m_frame);
- GRefPtr<WebKitNetworkRequest> request(adoptGRef(kitNew(resourceRequest)));
- WebKitNavigationResponse response;
- /*
- * We still support the deprecated navigation-requested signal, if the
- * application doesn't ignore the navigation then the new signal is
- * emitted.
- * 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.get(), &response);
-
- if (response == WEBKIT_NAVIGATION_RESPONSE_IGNORE) {
- (core(m_frame)->loader()->policyChecker()->*policyFunction)(PolicyIgnore);
- return;
- }
-
- WebKitWebPolicyDecision* policyDecision = webkit_web_policy_decision_new(m_frame, policyFunction);
- if (m_policyDecision)
- g_object_unref(m_policyDecision);
- m_policyDecision = policyDecision;
-
- GRefPtr<WebKitWebNavigationAction> navigationAction(adoptGRef(getNavigationAction(action, 0)));
- gboolean isHandled = false;
- 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)
- webkit_web_policy_decision_use(m_policyDecision);
-}
-
-PassRefPtr<Widget> FrameLoaderClient::createPlugin(const IntSize& pluginSize, HTMLPlugInElement* element, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
-{
- /* Check if we want to embed a GtkWidget, fallback to plugins later */
- CString urlString = url.string().utf8();
- CString mimeTypeString = mimeType.utf8();
-
- ASSERT(paramNames.size() == paramValues.size());
- GRefPtr<GHashTable> hash = adoptGRef(g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free));
- for (unsigned i = 0; i < paramNames.size(); ++i) {
- g_hash_table_insert(hash.get(),
- g_strdup(paramNames[i].utf8().data()),
- g_strdup(paramValues[i].utf8().data()));
- }
-
- GtkWidget* gtkWidget = 0;
- g_signal_emit_by_name(getViewFromFrame(m_frame), "create-plugin-widget",
- mimeTypeString.data(), urlString.data(), hash.get(), &gtkWidget);
- if (gtkWidget) {
- gtk_container_add(GTK_CONTAINER(getViewFromFrame(m_frame)), gtkWidget);
- return adoptRef(new GtkPluginWidget(gtkWidget));
- }
-
- RefPtr<PluginView> pluginView = PluginView::create(core(m_frame), pluginSize, element, url, paramNames, paramValues, mimeType, loadManually);
-
- if (pluginView->status() == PluginStatusLoadedSuccessfully)
- return pluginView;
-
- return 0;
-}
-
-PassRefPtr<Frame> FrameLoaderClient::createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
- const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight)
-{
- ASSERT(m_frame);
- Frame* parentFrame = core(m_frame);
- WebKitWebView* webView = getViewFromFrame(m_frame);
- WebCore::Page* page = core(webView);
- ASSERT(page == parentFrame->page());
-
- WebKitWebFrame* kitFrame = WEBKIT_WEB_FRAME(g_object_new(WEBKIT_TYPE_WEB_FRAME, NULL));
- WebKitWebFramePrivate* framePrivate = kitFrame->priv;
- framePrivate->webView = webView;
-
- RefPtr<Frame> childFrame = Frame::create(page, ownerElement, new FrameLoaderClient(kitFrame));
- framePrivate->coreFrame = childFrame.get();
-
- childFrame->tree()->setName(name);
- parentFrame->tree()->appendChild(childFrame);
- childFrame->init();
-
- // The creation of the frame may have run arbitrary JavaScript that removed it from the page already.
- if (!childFrame->page())
- return 0;
-
- g_signal_emit_by_name(webView, "frame-created", kitFrame);
-
- parentFrame->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 FrameLoaderClient::redirectDataToPlugin(Widget* pluginWidget)
-{
- m_pluginView = toPluginView(pluginWidget);
- if (pluginWidget)
- m_hasSentResponseToPlugin = false;
-}
-
-PassRefPtr<Widget> FrameLoaderClient::createJavaAppletWidget(const IntSize& pluginSize, HTMLAppletElement* element, const KURL& baseURL, const Vector<String>& paramNames, const Vector<String>& paramValues)
-{
- return FrameLoaderClient::createPlugin(pluginSize, element, baseURL, paramNames, paramValues, "application/x-java-applet", false);
-}
-
-ObjectContentType FrameLoaderClient::objectContentType(const KURL& url, const String& mimeType, bool shouldPreferPlugInsForImages)
-{
- return FrameLoader::defaultObjectContentType(url, mimeType, shouldPreferPlugInsForImages);
-}
-
-String FrameLoaderClient::overrideMediaType() const
-{
- notImplemented();
- return String();
-}
-
-void FrameLoaderClient::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld* world)
-{
- if (world != mainThreadNormalWorld())
- return;
-
- // Is this obsolete now?
- g_signal_emit_by_name(m_frame, "cleared");
-
- Frame* coreFrame = core(m_frame);
- ASSERT(coreFrame);
-
- Settings* settings = coreFrame->settings();
- if (!settings || !settings->isScriptEnabled())
- return;
-
- // TODO: Consider using g_signal_has_handler_pending() to avoid the overhead
- // when there are no handlers.
- JSGlobalContextRef context = toGlobalRef(coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec());
- JSObjectRef windowObject = toRef(coreFrame->script()->globalObject(mainThreadNormalWorld()));
- ASSERT(windowObject);
-
- WebKitWebView* webView = getViewFromFrame(m_frame);
- g_signal_emit_by_name(webView, "window-object-cleared", m_frame, context, windowObject);
-
- // TODO: Re-attach debug clients if present.
- // The Win port has an example of how we might do this.
-}
-
-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)
-{
- webkitWebViewRegisterForIconNotification(getViewFromFrame(m_frame), shouldRegister);
-}
-
-void FrameLoaderClient::setMainFrameDocumentReady(bool ready)
-{
- if (!ready)
- DOMObjectCache::clearByFrame(core(m_frame));
-}
-
-bool FrameLoaderClient::hasWebView() const
-{
- return getViewFromFrame(m_frame);
-}
-
-void FrameLoaderClient::dispatchDidFinishLoad()
-{
- if (m_loadingErrorPage) {
- m_loadingErrorPage = false;
- return;
- }
- notifyStatus(m_frame, WEBKIT_LOAD_FINISHED);
-}
-
-void FrameLoaderClient::frameLoadCompleted()
-{
- notImplemented();
-}
-
-void FrameLoaderClient::saveViewStateToItem(HistoryItem*)
-{
- notImplemented();
-}
-
-void FrameLoaderClient::restoreViewState()
-{
- notImplemented();
-}
-
-bool FrameLoaderClient::shouldGoToHistoryItem(HistoryItem* item) const
-{
- // FIXME: This is a very simple implementation. More sophisticated
- // implementation would delegate the decision to a PolicyDelegate.
- // See mac implementation for example.
- return item != 0;
-}
-
-bool FrameLoaderClient::shouldStopLoadingForHistoryItem(HistoryItem* item) const
-{
- return true;
-}
-
-void FrameLoaderClient::didDisplayInsecureContent()
-{
- if (!DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled() || !DumpRenderTreeSupportGtk::s_frameLoadEventCallback)
- return;
- DumpRenderTreeSupportGtk::s_frameLoadEventCallback(m_frame, DumpRenderTreeSupportGtk::DidDisplayInsecureContent, 0);
-}
-
-void FrameLoaderClient::didRunInsecureContent(SecurityOrigin* coreOrigin, const KURL& url)
-{
- g_signal_emit_by_name(m_frame, "insecure-content-run", kit(coreOrigin), url.string().utf8().data());
-}
-
-void FrameLoaderClient::didDetectXSS(const KURL&, bool)
-{
- if (!DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled() || !DumpRenderTreeSupportGtk::s_frameLoadEventCallback)
- return;
- DumpRenderTreeSupportGtk::s_frameLoadEventCallback(m_frame, DumpRenderTreeSupportGtk::DidDetectXSS, 0);
-}
-
-void FrameLoaderClient::forceLayout()
-{
- FrameView* view = core(m_frame)->view();
- if (view)
- view->forceLayout(true);
-}
-
-void FrameLoaderClient::forceLayoutForNonHTML()
-{
- notImplemented();
-}
-
-void FrameLoaderClient::setCopiesOnScroll()
-{
- notImplemented();
-}
-
-void FrameLoaderClient::detachedFromParent2()
-{
- notImplemented();
-}
-
-void FrameLoaderClient::detachedFromParent3()
-{
- notImplemented();
-}
-
-void FrameLoaderClient::dispatchDidHandleOnloadEvents()
-{
- g_signal_emit_by_name(getViewFromFrame(m_frame), "onload-event", m_frame);
-}
-
-void FrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
-{
- if (!DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled() || !DumpRenderTreeSupportGtk::s_frameLoadEventCallback)
- return;
- DumpRenderTreeSupportGtk::s_frameLoadEventCallback(m_frame, DumpRenderTreeSupportGtk::DidReceiveServerRedirectForProvisionalLoad, 0);
-}
-
-void FrameLoaderClient::dispatchDidCancelClientRedirect()
-{
- if (!DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled() || !DumpRenderTreeSupportGtk::s_frameLoadEventCallback)
- return;
- DumpRenderTreeSupportGtk::s_frameLoadEventCallback(m_frame, DumpRenderTreeSupportGtk::DidCancelClientRedirect, 0);
-}
-
-void FrameLoaderClient::dispatchWillPerformClientRedirect(const KURL& url, double, double)
-{
- if (!DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled() || !DumpRenderTreeSupportGtk::s_frameLoadEventCallback)
- return;
- DumpRenderTreeSupportGtk::s_frameLoadEventCallback(m_frame, DumpRenderTreeSupportGtk::WillPerformClientRedirectToURL, url.string().utf8().data());
-}
-
-void FrameLoaderClient::dispatchDidChangeLocationWithinPage()
-{
- WebKitWebFramePrivate* priv = m_frame->priv;
- g_free(priv->uri);
- priv->uri = g_strdup(core(m_frame)->document()->url().string().utf8().data());
- g_object_notify(G_OBJECT(m_frame), "uri");
- WebKitWebView* webView = getViewFromFrame(m_frame);
- if (m_frame == webkit_web_view_get_main_frame(webView))
- g_object_notify(G_OBJECT(webView), "uri");
-}
-
-void FrameLoaderClient::dispatchDidNavigateWithinPage()
-{
- WebKitWebView* webView = getViewFromFrame(m_frame);
- WebKitWebFrame* mainFrame = webView->priv->mainFrame;
- WebKitWebDataSource* dataSource = webkit_web_frame_get_data_source(mainFrame);
- bool loaderCompleted = !webkit_web_data_source_is_loading(dataSource);
-
- if (!loaderCompleted)
- return;
-
- // No provisional load started, because:
- // - It will break (no provisional data source at this point).
- // - There's no provisional load going on anyway, the URI is being
- // programatically changed.
- // FIXME: this is not ideal, but it seems safer than changing our
- // current contract with the clients about provisional data
- // sources not being '0' during the provisional load stage.
- dispatchDidCommitLoad(true);
- dispatchDidFinishLoad();
-}
-
-void FrameLoaderClient::dispatchDidPushStateWithinPage()
-{
- dispatchDidNavigateWithinPage();
-}
-
-void FrameLoaderClient::dispatchDidReplaceStateWithinPage()
-{
- dispatchDidNavigateWithinPage();
-}
-
-void FrameLoaderClient::dispatchDidPopStateWithinPage()
-{
- // No need to do anything, we already called
- // dispatchDidNavigateWithinPage() in PushStateWithinPage().
-}
-
-void FrameLoaderClient::dispatchWillClose()
-{
- notImplemented();
-}
-
-void FrameLoaderClient::dispatchDidReceiveIcon()
-{
- if (m_loadingErrorPage)
- return;
-
- // IconController loads icons only for the main frame.
- WebKitWebView* webView = getViewFromFrame(m_frame);
- ASSERT(m_frame == webkit_web_view_get_main_frame(webView));
-
- const char* frameURI = webkit_web_frame_get_uri(m_frame);
- WebKitFaviconDatabase* database = webkit_get_favicon_database();
- webkitFaviconDatabaseDispatchDidReceiveIcon(database, frameURI);
- webkitWebViewIconLoaded(database, frameURI, webView);
-}
-
-void FrameLoaderClient::dispatchDidStartProvisionalLoad()
-{
- if (m_loadingErrorPage)
- return;
-
- notifyStatus(m_frame, WEBKIT_LOAD_PROVISIONAL);
-}
-
-void FrameLoaderClient::dispatchDidReceiveTitle(const StringWithDirection& title)
-{
- if (m_loadingErrorPage)
- return;
-
- WebKitWebFramePrivate* priv = m_frame->priv;
- g_free(priv->title);
- // FIXME: use direction of title.
- priv->title = g_strdup(title.string().utf8().data());
-
- g_signal_emit_by_name(m_frame, "title-changed", priv->title);
- g_object_notify(G_OBJECT(m_frame), "title");
-
- WebKitWebView* webView = getViewFromFrame(m_frame);
- if (m_frame == webkit_web_view_get_main_frame(webView)) {
- g_signal_emit_by_name(webView, "title-changed", m_frame, title.string().utf8().data());
- g_object_notify(G_OBJECT(webView), "title");
- }
-}
-
-void FrameLoaderClient::dispatchDidChangeIcons(WebCore::IconType)
-{
- notImplemented();
-}
-
-void FrameLoaderClient::dispatchDidCommitLoad()
-{
- FrameLoaderClient::dispatchDidCommitLoad(false);
-}
-
-void FrameLoaderClient::dispatchDidCommitLoad(bool isNavigatingWithinPage)
-{
- if (m_loadingErrorPage)
- return;
-
- /* Update the URI once first data has been received.
- * This means the URI is valid and successfully identify the page that's going to be loaded.
- */
- g_object_freeze_notify(G_OBJECT(m_frame));
-
- WebKitWebFramePrivate* priv = m_frame->priv;
- g_free(priv->uri);
- priv->uri = g_strdup(core(m_frame)->loader()->activeDocumentLoader()->url().string().utf8().data());
- g_object_notify(G_OBJECT(m_frame), "uri");
- if (!isNavigatingWithinPage) {
- g_free(priv->title);
- priv->title = 0;
- g_object_notify(G_OBJECT(m_frame), "title");
- }
-
- g_signal_emit_by_name(m_frame, "load-committed");
- notifyStatus(m_frame, WEBKIT_LOAD_COMMITTED);
-
- WebKitWebView* webView = getViewFromFrame(m_frame);
- if (m_frame == webkit_web_view_get_main_frame(webView)) {
- g_object_freeze_notify(G_OBJECT(webView));
- g_object_notify(G_OBJECT(webView), "uri");
- g_object_thaw_notify(G_OBJECT(webView));
- if (!isNavigatingWithinPage)
- g_object_notify(G_OBJECT(webView), "title");
- g_signal_emit_by_name(webView, "load-committed", m_frame);
- }
-
- g_object_thaw_notify(G_OBJECT(m_frame));
-}
-
-void FrameLoaderClient::dispatchDidFinishDocumentLoad()
-{
- WebKitWebView* webView = getViewFromFrame(m_frame);
- g_signal_emit_by_name(webView, "document-load-finished", m_frame);
-}
-
-void FrameLoaderClient::dispatchDidLayout(LayoutMilestones milestones)
-{
- if (m_loadingErrorPage)
- return;
-
- if (milestones & DidFirstVisuallyNonEmptyLayout)
- notifyStatus(m_frame, WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT);
-}
-
-void FrameLoaderClient::dispatchShow()
-{
- WebKitWebView* webView = getViewFromFrame(m_frame);
- webkit_web_view_notify_ready(webView);
-}
-
-void FrameLoaderClient::cancelPolicyCheck()
-{
- //FIXME Add support for more than one policy decision at once
- if (m_policyDecision)
- webkit_web_policy_decision_cancel(m_policyDecision);
-}
-
-void FrameLoaderClient::willChangeTitle(WebCore::DocumentLoader*)
-{
- notImplemented();
-}
-
-void FrameLoaderClient::didChangeTitle(WebCore::DocumentLoader *l)
-{
- setTitle(l->title(), l->url());
-}
-
-bool FrameLoaderClient::canHandleRequest(const ResourceRequest&) const
-{
- notImplemented();
- return true;
-}
-
-bool FrameLoaderClient::canShowMIMETypeAsHTML(const String& MIMEType) const
-{
- notImplemented();
- return false;
-}
-
-bool FrameLoaderClient::canShowMIMEType(const String& type) const
-{
- return (MIMETypeRegistry::canShowMIMEType(type)
- || PluginDatabase::installedPlugins()->isMIMETypeRegistered(type));
-}
-
-bool FrameLoaderClient::representationExistsForURLScheme(const String&) const
-{
- notImplemented();
- return false;
-}
-
-String FrameLoaderClient::generatedMIMETypeForURLScheme(const String&) const
-{
- notImplemented();
- return String();
-}
-
-void FrameLoaderClient::finishedLoading(WebCore::DocumentLoader*)
-{
- if (m_pluginView) {
- m_pluginView->didFinishLoading();
- m_pluginView = 0;
- m_hasSentResponseToPlugin = false;
- }
-}
-
-
-void FrameLoaderClient::provisionalLoadStarted()
-{
- notImplemented();
-}
-
-void FrameLoaderClient::didFinishLoad() {
- notImplemented();
-}
-
-void FrameLoaderClient::prepareForDataSourceReplacement()
-{
- notImplemented();
-}
-
-void FrameLoaderClient::setTitle(const StringWithDirection& title, const KURL& url)
-{
- WebKitWebFramePrivate* frameData = m_frame->priv;
- g_free(frameData->title);
- // FIXME: use direction of title.
- frameData->title = g_strdup(title.string().utf8().data());
-}
-
-void FrameLoaderClient::dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int dataLength)
-{
- WebKitWebView* webView = getViewFromFrame(m_frame);
- GOwnPtr<gchar> identifierString(toString(identifier));
- WebKitWebResource* webResource = webkit_web_view_get_resource(webView, identifierString.get());
-
- g_signal_emit_by_name(webResource, "content-length-received", dataLength);
- g_signal_emit_by_name(m_frame, "resource-content-length-received", webResource, dataLength);
- g_signal_emit_by_name(webView, "resource-content-length-received", m_frame, webResource, dataLength);
-}
-
-void FrameLoaderClient::dispatchDidFinishLoading(WebCore::DocumentLoader* loader, unsigned long identifier)
-{
- static_cast<WebKit::DocumentLoader*>(loader)->decreaseLoadCount(identifier);
-
- WebKitWebView* webView = getViewFromFrame(m_frame);
- GOwnPtr<gchar> identifierString(toString(identifier));
- WebKitWebResource* webResource = webkit_web_view_get_resource(webView, identifierString.get());
-
- // A NULL WebResource means the load has been interrupted, and
- // replaced by another one while this resource was being loaded.
- if (!webResource)
- return;
-
- const char* uri = webkit_web_resource_get_uri(webResource);
- RefPtr<ArchiveResource> coreResource(loader->subresource(KURL(KURL(), uri)));
-
- // If coreResource is NULL here, the resource failed to load,
- // unless it's the main resource.
- if (!coreResource && webResource != webkit_web_view_get_main_resource(webView))
- return;
-
- if (!coreResource)
- coreResource = loader->mainResource();
-
- webkit_web_resource_init_with_core_resource(webResource, coreResource.get());
-
- g_signal_emit_by_name(webResource, "load-finished");
- g_signal_emit_by_name(m_frame, "resource-load-finished", webResource);
- g_signal_emit_by_name(webView, "resource-load-finished", m_frame, webResource);
-
- webkitWebViewRemoveSubresource(webView, identifierString.get());
-}
-
-void FrameLoaderClient::dispatchDidFailLoading(WebCore::DocumentLoader* loader, unsigned long identifier, const ResourceError& error)
-{
- static_cast<WebKit::DocumentLoader*>(loader)->decreaseLoadCount(identifier);
-
- WebKitWebView* webView = getViewFromFrame(m_frame);
- GOwnPtr<gchar> identifierString(toString(identifier));
- WebKitWebResource* webResource = webkit_web_view_get_resource(webView, identifierString.get());
-
- // A NULL WebResource means the load has been interrupted, and
- // replaced by another one while this resource was being loaded.
- if (!webResource)
- return;
-
- GOwnPtr<GError> webError(g_error_new_literal(g_quark_from_string(error.domain().utf8().data()),
- error.errorCode(),
- error.localizedDescription().utf8().data()));
-
- g_signal_emit_by_name(webResource, "load-failed", webError.get());
- g_signal_emit_by_name(m_frame, "resource-load-failed", webResource, webError.get());
- g_signal_emit_by_name(webView, "resource-load-failed", m_frame, webResource, webError.get());
-
- webkitWebViewRemoveSubresource(webView, identifierString.get());
-}
-
-bool FrameLoaderClient::dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int length)
-{
- notImplemented();
- return false;
-}
-
-void FrameLoaderClient::dispatchDidFailProvisionalLoad(const ResourceError& error)
-{
- dispatchDidFailLoad(error);
-}
-
-void FrameLoaderClient::dispatchDidFailLoad(const ResourceError& error)
-{
- if (m_loadingErrorPage)
- return;
-
- notifyStatus(m_frame, WEBKIT_LOAD_FAILED);
-
- WebKitWebView* webView = getViewFromFrame(m_frame);
- GOwnPtr<GError> webError(g_error_new_literal(
- g_quark_from_string(error.domain().utf8().data()),
- error.errorCode(),
- error.localizedDescription().utf8().data()));
- gboolean isHandled = false;
- g_signal_emit_by_name(webView, "load-error", m_frame, error.failingURL().utf8().data(), webError.get(), &isHandled);
-
- if (isHandled || !shouldFallBack(error))
- return;
-
- m_loadingErrorPage = true;
-
- String content;
- GOwnPtr<gchar> errorPath(g_build_filename(sharedResourcesPath().data(), "resources", "error.html", NULL));
- GRefPtr<GFile> errorFile = adoptGRef(g_file_new_for_path(errorPath.get()));
-
- if (!errorFile)
- content = makeString("<html><body>", webError->message, "</body></html>");
- else {
- GOwnPtr<gchar> fileContent;
- if (!g_file_load_contents(errorFile.get(), 0, &fileContent.outPtr(), 0, 0, 0))
- content = makeString("<html><body>", webError->message, "</body></html>");
- else
- content = String::format(fileContent.get(), error.failingURL().utf8().data(), webError->message);
- }
-
- webkit_web_frame_load_alternate_string(m_frame, content.utf8().data(), 0, error.failingURL().utf8().data());
-}
-
-void FrameLoaderClient::convertMainResourceLoadToDownload(WebCore::DocumentLoader* documentLoader, const ResourceRequest& request, const ResourceResponse& response)
-{
- GRefPtr<WebKitNetworkRequest> networkRequest(adoptGRef(kitNew(request)));
- WebKitWebView* view = getViewFromFrame(m_frame);
-
- webkit_web_view_request_download(view, networkRequest.get(), response, documentLoader->mainResourceLoader()->handle());
-}
-
-ResourceError FrameLoaderClient::cancelledError(const ResourceRequest& request)
-{
- return WebCore::cancelledError(request);
-}
-
-ResourceError FrameLoaderClient::blockedError(const ResourceRequest& request)
-{
- return WebCore::blockedError(request);
-}
-
-ResourceError FrameLoaderClient::cannotShowURLError(const ResourceRequest& request)
-{
- return WebCore::cannotShowURLError(request);
-}
-
-ResourceError FrameLoaderClient::interruptedForPolicyChangeError(const ResourceRequest& request)
-{
- return WebCore::interruptedForPolicyChangeError(request);
-}
-
-ResourceError FrameLoaderClient::cannotShowMIMETypeError(const ResourceResponse& response)
-{
- return WebCore::cannotShowMIMETypeError(response);
-}
-
-ResourceError FrameLoaderClient::fileDoesNotExistError(const ResourceResponse& response)
-{
- return WebCore::fileDoesNotExistError(response);
-}
-
-ResourceError FrameLoaderClient::pluginWillHandleLoadError(const ResourceResponse& response)
-{
- return WebCore::pluginWillHandleLoadError(response);
-}
-
-bool FrameLoaderClient::shouldFallBack(const ResourceError& error)
-{
- return !(error.isCancellation() || error.errorCode() == WEBKIT_POLICY_ERROR_FRAME_LOAD_INTERRUPTED_BY_POLICY_CHANGE || error.errorCode() == WEBKIT_PLUGIN_ERROR_WILL_HANDLE_LOAD);
-}
-
-bool FrameLoaderClient::canCachePage() const
-{
- return true;
-}
-
-Frame* FrameLoaderClient::dispatchCreatePage(const NavigationAction&)
-{
- WebKitWebView* webView = getViewFromFrame(m_frame);
- WebKitWebView* newWebView = 0;
-
- g_signal_emit_by_name(webView, "create-web-view", m_frame, &newWebView);
-
- if (!newWebView)
- return 0;
-
- WebKitWebViewPrivate* privateData = newWebView->priv;
- return core(privateData->mainFrame);
-}
-
-void FrameLoaderClient::dispatchUnableToImplementPolicy(const ResourceError&)
-{
- notImplemented();
-}
-
-void FrameLoaderClient::setMainDocumentError(WebCore::DocumentLoader*, const ResourceError& error)
-{
- if (m_pluginView) {
- m_pluginView->didFail(error);
- m_pluginView = 0;
- m_hasSentResponseToPlugin = false;
- }
-}
-
-void FrameLoaderClient::startDownload(const ResourceRequest& request, const String& /* suggestedName */)
-{
- GRefPtr<WebKitNetworkRequest> networkRequest(adoptGRef(kitNew(request)));
- WebKitWebView* view = getViewFromFrame(m_frame);
-
- webkit_web_view_request_download(view, networkRequest.get());
-}
-
-void FrameLoaderClient::updateGlobalHistory()
-{
- notImplemented();
-}
-
-void FrameLoaderClient::updateGlobalHistoryRedirectLinks()
-{
- notImplemented();
-}
-
-void FrameLoaderClient::savePlatformDataToCachedFrame(CachedFrame* cachedFrame)
-{
-}
-
-static void postCommitFrameViewSetup(WebKitWebFrame *frame)
-{
- WebKitWebView* containingWindow = getViewFromFrame(frame);
- webkit_web_view_clear_resources(containingWindow);
-
- // 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.
- WebKitWebViewPrivate* priv = containingWindow->priv;
- priv->viewportAttributes->priv->isValid = FALSE;
- g_object_notify(G_OBJECT(priv->viewportAttributes.get()), "valid");
-
- if (priv->currentMenu) {
- gtk_widget_destroy(GTK_WIDGET(priv->currentMenu));
- priv->currentMenu = 0;
- }
-
- // Do not allow click counting between main frame loads.
- priv->clickCounter.reset();
-}
-
-void FrameLoaderClient::transitionToCommittedFromCachedFrame(CachedFrame* cachedFrame)
-{
- ASSERT(cachedFrame->view());
-
- Frame* frame = core(m_frame);
- if (frame != frame->page()->mainFrame())
- return;
-
- postCommitFrameViewSetup(m_frame);
-}
-
-void FrameLoaderClient::transitionToCommittedForNewPage()
-{
- WebKitWebView* containingWindow = getViewFromFrame(m_frame);
- GtkAllocation allocation;
- gtk_widget_get_allocation(GTK_WIDGET(containingWindow), &allocation);
- IntSize size = IntSize(allocation.width, allocation.height);
- bool transparent = webkit_web_view_get_transparent(containingWindow);
- Color backgroundColor = transparent ? WebCore::Color::transparent : WebCore::Color::white;
- Frame* frame = core(m_frame);
- ASSERT(frame);
-
- frame->createView(size, backgroundColor, transparent);
-
- // We need to do further manipulation on the FrameView if it was the mainFrame
- if (frame != frame->page()->mainFrame())
- return;
-
- postCommitFrameViewSetup(m_frame);
-}
-
-void FrameLoaderClient::didSaveToPageCache()
-{
-}
-
-void FrameLoaderClient::didRestoreFromPageCache()
-{
-}
-
-void FrameLoaderClient::dispatchDidBecomeFrameset(bool)
-{
-}
-
-PassRefPtr<FrameNetworkingContext> FrameLoaderClient::createNetworkingContext()
-{
- return FrameNetworkingContextGtk::create(core(m_frame));
-}
-
-}
diff --git a/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h b/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h
deleted file mode 100644
index 655511deb..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Copyright (C) 2006 Zack Rusin <zack@kde.org>
- * Copyright (C) 2006, 2011 Apple Inc. All rights reserved.
- * Copyright (C) 2008 Collabora Ltd. All rights reserved.
- *
- * 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 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 FrameLoaderClientGtk_h
-#define FrameLoaderClientGtk_h
-
-#include "FrameLoaderClient.h"
-#include "ResourceResponse.h"
-#include "PluginView.h"
-#include "webkitwebpolicydecision.h"
-
-typedef struct _WebKitWebFrame WebKitWebFrame;
-
-namespace WebKit {
-
- class FrameLoaderClient : public WebCore::FrameLoaderClient {
- public:
- FrameLoaderClient(WebKitWebFrame*);
- virtual ~FrameLoaderClient();
- virtual void frameLoaderDestroyed();
-
- WebKitWebFrame* webFrame() const { return m_frame; }
-
- virtual bool hasWebView() const;
-
- virtual void makeRepresentation(WebCore::DocumentLoader*) { }
- virtual void forceLayout();
- virtual void forceLayoutForNonHTML();
-
- virtual void setCopiesOnScroll();
-
- virtual void detachedFromParent2();
- virtual void detachedFromParent3();
-
- virtual void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&);
-
- virtual void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse);
- virtual bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long identifier);
- virtual void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&);
- virtual void dispatchDidCancelAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&);
- virtual void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&);
- virtual void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int dataLength);
- virtual void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier);
- virtual void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&);
- virtual bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int length);
-
- virtual void dispatchDidHandleOnloadEvents();
- virtual void dispatchDidReceiveServerRedirectForProvisionalLoad();
- virtual void dispatchDidCancelClientRedirect();
- virtual void dispatchWillPerformClientRedirect(const WebCore::KURL&, double, double);
- virtual void dispatchDidChangeLocationWithinPage();
- virtual void dispatchDidNavigateWithinPage();
- virtual void dispatchDidPushStateWithinPage();
- virtual void dispatchDidReplaceStateWithinPage();
- virtual void dispatchDidPopStateWithinPage();
- virtual void dispatchWillClose();
- virtual void dispatchDidReceiveIcon();
- virtual void dispatchDidStartProvisionalLoad();
- virtual void dispatchDidReceiveTitle(const WebCore::StringWithDirection&);
- virtual void dispatchDidChangeIcons(WebCore::IconType);
- virtual void dispatchDidCommitLoad();
- virtual void dispatchDidFailProvisionalLoad(const WebCore::ResourceError&);
- virtual void dispatchDidFailLoad(const WebCore::ResourceError&);
- virtual void dispatchDidFinishDocumentLoad();
- virtual void dispatchDidFinishLoad();
- virtual void dispatchDidLayout(WebCore::LayoutMilestones);
-
- virtual WebCore::Frame* dispatchCreatePage(const WebCore::NavigationAction&);
- virtual void dispatchShow();
-
- virtual void dispatchDecidePolicyForResponse(WebCore::FramePolicyFunction, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&);
- virtual void dispatchDecidePolicyForNewWindowAction(WebCore::FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, WTF::PassRefPtr<WebCore::FormState>, const WTF::String& frameName);
- virtual void dispatchDecidePolicyForNavigationAction(WebCore::FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, WTF::PassRefPtr<WebCore::FormState>);
- virtual void cancelPolicyCheck();
-
- virtual void dispatchUnableToImplementPolicy(const WebCore::ResourceError&);
-
- virtual void dispatchWillSendSubmitEvent(WTF::PassRefPtr<WebCore::FormState>) { }
- virtual void dispatchWillSubmitForm(WebCore::FramePolicyFunction, WTF::PassRefPtr<WebCore::FormState>);
-
- virtual void revertToProvisionalState(WebCore::DocumentLoader*) { }
- virtual void setMainDocumentError(WebCore::DocumentLoader*, const WebCore::ResourceError&);
-
- virtual void postProgressStartedNotification();
- virtual void postProgressEstimateChangedNotification();
- virtual void postProgressFinishedNotification();
-
- virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement* ownerElement,
- const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
- virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const WTF::Vector<WTF::String>&, const WTF::Vector<WTF::String>&, const WTF::String&, bool);
- virtual void recreatePlugin(WebCore::Widget*) { }
- virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);
- virtual PassRefPtr<WebCore::Widget> createJavaAppletWidget(const WebCore::IntSize&, WebCore::HTMLAppletElement*, const WebCore::KURL& baseURL, const WTF::Vector<WTF::String>& paramNames, const WTF::Vector<WTF::String>& paramValues);
- virtual WTF::String overrideMediaType() const;
- virtual void dispatchDidClearWindowObjectInWorld(WebCore::DOMWrapperWorld*);
- virtual void documentElementAvailable();
- virtual void didPerformFirstNavigation() const;
-
- virtual void registerForIconNotification(bool);
-
- virtual WebCore::ObjectContentType objectContentType(const WebCore::KURL&, const WTF::String& mimeType, bool shouldPreferPlugInsForImages);
-
- virtual void setMainFrameDocumentReady(bool);
-
- virtual void startDownload(const WebCore::ResourceRequest&, const String& suggestedName = String());
-
- virtual void willChangeTitle(WebCore::DocumentLoader*);
- virtual void didChangeTitle(WebCore::DocumentLoader*);
-
- virtual void committedLoad(WebCore::DocumentLoader*, const char*, int);
- virtual void finishedLoading(WebCore::DocumentLoader*);
-
- virtual void updateGlobalHistory();
- virtual void updateGlobalHistoryRedirectLinks();
- virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const;
- virtual bool shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const;
-
- virtual void didDisplayInsecureContent();
- virtual void didRunInsecureContent(WebCore::SecurityOrigin*, const WebCore::KURL&);
- virtual void didDetectXSS(const WebCore::KURL&, bool didBlockEntirePage);
-
- virtual WebCore::ResourceError cancelledError(const WebCore::ResourceRequest&);
- virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&);
- virtual WebCore::ResourceError cannotShowURLError(const WebCore::ResourceRequest&);
- virtual WebCore::ResourceError interruptedForPolicyChangeError(const WebCore::ResourceRequest&);
-
- virtual WebCore::ResourceError cannotShowMIMETypeError(const WebCore::ResourceResponse&);
- virtual WebCore::ResourceError fileDoesNotExistError(const WebCore::ResourceResponse&);
- virtual WebCore::ResourceError pluginWillHandleLoadError(const WebCore::ResourceResponse&);
-
- virtual bool shouldFallBack(const WebCore::ResourceError&);
-
- virtual bool canHandleRequest(const WebCore::ResourceRequest&) const;
- virtual bool canShowMIMEType(const WTF::String&) const;
- virtual bool canShowMIMETypeAsHTML(const String& MIMEType) const;
- virtual bool representationExistsForURLScheme(const WTF::String&) const;
- virtual WTF::String generatedMIMETypeForURLScheme(const WTF::String&) const;
-
- virtual void frameLoadCompleted();
- virtual void saveViewStateToItem(WebCore::HistoryItem*);
- virtual void restoreViewState();
- virtual void provisionalLoadStarted();
- virtual void didFinishLoad();
- virtual void prepareForDataSourceReplacement();
-
- virtual WTF::PassRefPtr<WebCore::DocumentLoader> createDocumentLoader(const WebCore::ResourceRequest&, const WebCore::SubstituteData&);
- virtual void setTitle(const WebCore::StringWithDirection& title, const WebCore::KURL&);
-
- virtual WTF::String userAgent(const WebCore::KURL&);
-
- virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*);
- virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
- virtual void transitionToCommittedForNewPage();
-
- virtual void didSaveToPageCache();
- virtual void didRestoreFromPageCache();
-
- virtual void dispatchDidBecomeFrameset(bool);
-
- virtual bool canCachePage() const;
- virtual void convertMainResourceLoadToDownload(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&);
-
- virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
-
- private:
- WebKitWebFrame* m_frame;
- WebCore::ResourceResponse m_response;
- WebKitWebPolicyDecision* m_policyDecision;
-
- bool m_loadingErrorPage;
-
- // Plugin view to redirect data to
- WebCore::PluginView* m_pluginView;
- bool m_hasSentResponseToPlugin;
-
- virtual void dispatchDidCommitLoad(bool isNavigatingWithinPage);
- };
-
-}
-
-#endif
diff --git a/Source/WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.cpp
deleted file mode 100644
index fae137eac..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
- Copyright (C) 2012 ProFUSION embedded systems
-
- 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 "FrameNetworkingContextGtk.h"
-
-#include "NetworkStorageSession.h"
-#include "NotImplemented.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-NetworkStorageSession& FrameNetworkingContextGtk::storageSession() const
-{
- return NetworkStorageSession::defaultStorageSession();
-}
-
-uint64_t FrameNetworkingContextGtk::initiatingPageID() const
-{
- notImplemented();
- return 0;
-}
-
-}
diff --git a/Source/WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.h b/Source/WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.h
deleted file mode 100644
index 642dfb1b4..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/FrameNetworkingContextGtk.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- 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 FrameNetworkingContextGtk_h
-#define FrameNetworkingContextGtk_h
-
-#include "FrameNetworkingContext.h"
-
-namespace WebKit {
-
-class FrameNetworkingContextGtk : public WebCore::FrameNetworkingContext {
-public:
- static PassRefPtr<FrameNetworkingContextGtk> create(WebCore::Frame* frame)
- {
- return adoptRef(new FrameNetworkingContextGtk(frame));
- }
-
- WebCore::Frame* coreFrame() const { return frame(); }
- virtual uint64_t initiatingPageID() const;
-
-private:
- virtual WebCore::NetworkStorageSession& storageSession() const;
-
- FrameNetworkingContextGtk(WebCore::Frame* frame)
- : WebCore::FrameNetworkingContext(frame)
- {
- }
-};
-
-}
-
-#endif
diff --git a/Source/WebKit/gtk/WebCoreSupport/GeolocationClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/GeolocationClientGtk.cpp
deleted file mode 100644
index faf4ea91d..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/GeolocationClientGtk.cpp
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2008 Holger Hans Peter Freyther <zecke@selfish.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.
- *
- */
-
-#include "config.h"
-#include "GeolocationClientGtk.h"
-
-#if ENABLE(GEOLOCATION)
-
-#include "Chrome.h"
-#include "ChromeClient.h"
-#include "Geolocation.h"
-#include "GeolocationController.h"
-#include "GeolocationError.h"
-#include "GeolocationPosition.h"
-#include "webkitgeolocationpolicydecisionprivate.h"
-#include "webkitwebframeprivate.h"
-#include "webkitwebviewprivate.h"
-#include <glib/gi18n-lib.h>
-#include <wtf/gobject/GRefPtr.h>
-
-namespace WebKit {
-
-GeolocationClient::GeolocationClient(WebKitWebView* webView)
- : m_webView(webView)
- , m_provider(this)
-{
-}
-
-void GeolocationClient::geolocationDestroyed()
-{
- delete this;
-}
-
-void GeolocationClient::startUpdating()
-{
- m_provider.startUpdating();
-}
-
-void GeolocationClient::stopUpdating()
-{
- m_provider.stopUpdating();
-}
-
-void GeolocationClient::setEnableHighAccuracy(bool enable)
-{
- m_provider.setEnableHighAccuracy(enable);
-}
-
-WebCore::GeolocationPosition* GeolocationClient::lastPosition()
-{
- return m_lastPosition.get();
-}
-
-void GeolocationClient::requestPermission(WebCore::Geolocation* geolocation)
-{
- WebKitWebFrame* webFrame = kit(geolocation->frame());
- GRefPtr<WebKitGeolocationPolicyDecision> policyDecision(adoptGRef(webkit_geolocation_policy_decision_new(webFrame, geolocation)));
-
- gboolean isHandled = FALSE;
- g_signal_emit_by_name(m_webView, "geolocation-policy-decision-requested", webFrame, policyDecision.get(), &isHandled);
- if (!isHandled)
- webkit_geolocation_policy_deny(policyDecision.get());
-}
-
-void GeolocationClient::cancelPermissionRequest(WebCore::Geolocation* geolocation)
-{
- g_signal_emit_by_name(m_webView, "geolocation-policy-decision-cancelled", kit(geolocation->frame()));
-}
-
-void GeolocationClient::notifyPositionChanged(int timestamp, double latitude, double longitude, double altitude, double accuracy, double altitudeAccuracy)
-{
- m_lastPosition = WebCore::GeolocationPosition::create(static_cast<double>(timestamp), latitude, longitude, accuracy,
- true, altitude, true, altitudeAccuracy, false, 0, false, 0);
- WebCore::GeolocationController::from(core(m_webView))->positionChanged(m_lastPosition.get());
-}
-
-void GeolocationClient::notifyErrorOccurred(const char* message)
-{
- RefPtr<WebCore::GeolocationError> error = WebCore::GeolocationError::create(WebCore::GeolocationError::PositionUnavailable, message);
- WebCore::GeolocationController::from(core(m_webView))->errorOccurred(error.get());
-}
-
-}
-
-#endif // ENABLE(GEOLOCATION)
diff --git a/Source/WebKit/gtk/WebCoreSupport/GeolocationClientGtk.h b/Source/WebKit/gtk/WebCoreSupport/GeolocationClientGtk.h
deleted file mode 100644
index 937e69761..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/GeolocationClientGtk.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2008 Holger Hans Peter Freyther <zecke@selfish.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 GeolocationClientGtk_h
-#define GeolocationClientGtk_h
-
-#if ENABLE(GEOLOCATION)
-
-#include "GeolocationClient.h"
-#include "GeolocationPosition.h"
-#include "GeolocationProviderGeoclue.h"
-#include "GeolocationProviderGeoclueClient.h"
-#include <wtf/RefPtr.h>
-
-typedef struct _WebKitWebView WebKitWebView;
-
-namespace WebCore {
-class Geolocation;
-}
-
-namespace WebKit {
-
-class GeolocationClient : public WebCore::GeolocationClient, public WebCore::GeolocationProviderGeoclueClient {
-public:
- GeolocationClient(WebKitWebView*);
-
- void geolocationDestroyed();
-
- void startUpdating();
- void stopUpdating();
-
- void setEnableHighAccuracy(bool);
- WebCore::GeolocationPosition* lastPosition();
-
- void requestPermission(WebCore::Geolocation*);
- void cancelPermissionRequest(WebCore::Geolocation*);
-
-private:
- // GeolocationProviderGeoclueClient interface.
- virtual void notifyPositionChanged(int timestamp, double latitude, double longitude, double altitude, double accuracy, double altitudeAccuracy);
- virtual void notifyErrorOccurred(const char* message);
-
- WebKitWebView* m_webView;
-
- WebCore::GeolocationProviderGeoclue m_provider;
- RefPtr<WebCore::GeolocationPosition> m_lastPosition;
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(GEOLOCATION)
-
-#endif // GeolocationClientGtk_h
diff --git a/Source/WebKit/gtk/WebCoreSupport/GtkAdjustmentWatcher.cpp b/Source/WebKit/gtk/WebCoreSupport/GtkAdjustmentWatcher.cpp
deleted file mode 100644
index 24b040386..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/GtkAdjustmentWatcher.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (C) 2011 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 "GtkAdjustmentWatcher.h"
-
-#include "Frame.h"
-#include "FrameView.h"
-#include "Page.h"
-#include "Scrollbar.h"
-#include "webkitwebviewprivate.h"
-#include <gtk/gtk.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-GtkAdjustmentWatcher::GtkAdjustmentWatcher(WebKitWebView* webView)
- : m_webView(webView)
- , m_scrollbarsDisabled(false)
- , m_handlingGtkAdjustmentChange(false)
- , m_updateAdjustmentCallbackId(0)
-{
-}
-
-GtkAdjustmentWatcher::~GtkAdjustmentWatcher()
-{
- if (m_updateAdjustmentCallbackId)
- g_source_remove(m_updateAdjustmentCallbackId);
-}
-
-static void updateAdjustmentFromScrollbar(GtkAdjustment* adjustment, Scrollbar* scrollbar)
-{
- if (!adjustment)
- return;
- if (!scrollbar) {
- gtk_adjustment_configure(adjustment, 0, 0, 0, 0, 0, 0); // These are the settings which remove the scrollbar.
- return;
- }
- gtk_adjustment_configure(adjustment, scrollbar->value(), 0, scrollbar->totalSize(),
- scrollbar->lineStep(), scrollbar->pageStep(), scrollbar->visibleSize());
-}
-
-void GtkAdjustmentWatcher::updateAdjustmentsFromScrollbars()
-{
- if (m_scrollbarsDisabled)
- return;
- if (m_handlingGtkAdjustmentChange)
- return;
- if (!core(m_webView) || !core(m_webView)->mainFrame())
- return;
-
- FrameView* frameView = core(m_webView)->mainFrame()->view();
- updateAdjustmentFromScrollbar(m_horizontalAdjustment.get(), frameView->horizontalScrollbar());
- updateAdjustmentFromScrollbar(m_verticalAdjustment.get(), frameView->verticalScrollbar());
- if (m_updateAdjustmentCallbackId) {
- g_source_remove(m_updateAdjustmentCallbackId);
- m_updateAdjustmentCallbackId = 0;
- }
-}
-
-gboolean GtkAdjustmentWatcher::updateAdjustmentCallback(GtkAdjustmentWatcher* watcher)
-{
- watcher->m_updateAdjustmentCallbackId = 0;
- watcher->updateAdjustmentsFromScrollbars();
- return FALSE;
-}
-
-void GtkAdjustmentWatcher::updateAdjustmentsFromScrollbarsLater() const
-{
- // We've already scheduled an update. No need to schedule another.
- if (m_updateAdjustmentCallbackId || m_scrollbarsDisabled)
- return;
-
- // The fact that this method was called means that we need to update the scrollbars, but at the
- // time of invocation they are not updated to reflect the scroll yet. We set a short timeout
- // here, which means that they will be updated as soon as WebKit returns to the main loop.
- m_updateAdjustmentCallbackId = g_timeout_add(0, reinterpret_cast<GSourceFunc>(updateAdjustmentCallback),
- const_cast<void*>(static_cast<const void*>(this)));
-}
-
-static void adjustmentValueChangedCallback(GtkAdjustment* adjustment, GtkAdjustmentWatcher* watcher)
-{
- watcher->adjustmentValueChanged(adjustment);
-}
-
-static void setAdjustment(GtkAdjustmentWatcher* watcher, GRefPtr<GtkAdjustment>& adjustmentMember, GtkAdjustment* newAdjustment)
-{
- if (adjustmentMember) {
- g_signal_handlers_disconnect_by_func(adjustmentMember.get(),
- reinterpret_cast<void*>(adjustmentValueChangedCallback), watcher);
- }
-
- adjustmentMember = newAdjustment;
- if (newAdjustment)
- g_signal_connect(newAdjustment, "value-changed", G_CALLBACK(adjustmentValueChangedCallback), watcher);
-}
-
-void GtkAdjustmentWatcher::setHorizontalAdjustment(GtkAdjustment* newAdjustment)
-{
- setAdjustment(this, m_horizontalAdjustment, newAdjustment);
-}
-
-void GtkAdjustmentWatcher::setVerticalAdjustment(GtkAdjustment* newAdjustment)
-{
- setAdjustment(this, m_verticalAdjustment, newAdjustment);
-}
-
-void GtkAdjustmentWatcher::adjustmentValueChanged(GtkAdjustment* adjustment)
-{
- FrameView* frameView = core(m_webView)->mainFrame()->view();
- Scrollbar* scrollbar = (adjustment == m_horizontalAdjustment.get()) ?
- frameView->horizontalScrollbar() : frameView->verticalScrollbar();
- if (!scrollbar)
- return;
-
- int newValue = static_cast<int>(gtk_adjustment_get_value(adjustment));
- if (newValue != scrollbar->value()) {
- m_handlingGtkAdjustmentChange = true;
- frameView->scrollToOffsetWithoutAnimation(scrollbar->orientation(), newValue);
- m_handlingGtkAdjustmentChange = false;
- }
-}
-
-void GtkAdjustmentWatcher::disableAllScrollbars()
-{
- updateAdjustmentFromScrollbar(m_horizontalAdjustment.get(), 0);
- updateAdjustmentFromScrollbar(m_verticalAdjustment.get(), 0);
- m_scrollbarsDisabled = true;
-}
-
-void GtkAdjustmentWatcher::enableAllScrollbars()
-{
- m_scrollbarsDisabled = false;
- updateAdjustmentsFromScrollbars();
-}
-
-} // namespace WebKit
-
diff --git a/Source/WebKit/gtk/WebCoreSupport/GtkAdjustmentWatcher.h b/Source/WebKit/gtk/WebCoreSupport/GtkAdjustmentWatcher.h
deleted file mode 100644
index e569cdc24..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/GtkAdjustmentWatcher.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2011 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 GtkAdjustmentWatcher_h
-#define GtkAdjustmentWatcher_h
-
-#include "GRefPtrGtk.h"
-
-typedef struct _WebKitWebView WebKitWebView;
-
-namespace WebKit {
-
-class GtkAdjustmentWatcher {
-public:
- GtkAdjustmentWatcher(WebKitWebView*);
- ~GtkAdjustmentWatcher();
-
- void setHorizontalAdjustment(GtkAdjustment*);
- void setVerticalAdjustment(GtkAdjustment*);
- GtkAdjustment* horizontalAdjustment() { return m_horizontalAdjustment.get(); };
- GtkAdjustment* verticalAdjustment() { return m_verticalAdjustment.get(); };
- void adjustmentValueChanged(GtkAdjustment*);
- void updateAdjustmentsFromScrollbars();
- void updateAdjustmentsFromScrollbarsLater() const;
- void disableAllScrollbars();
- void enableAllScrollbars();
- bool scrollbarsDisabled() const { return m_scrollbarsDisabled; };
-
-private:
- static gboolean updateAdjustmentCallback(GtkAdjustmentWatcher*);
-
- WebKitWebView* m_webView;
- GRefPtr<GtkAdjustment> m_horizontalAdjustment;
- GRefPtr<GtkAdjustment> m_verticalAdjustment;
- bool m_scrollbarsDisabled;
- bool m_handlingGtkAdjustmentChange;
- mutable unsigned m_updateAdjustmentCallbackId;
-};
-
-}
-
-#endif // GtkAdjustmentWatcher_h
-
diff --git a/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
deleted file mode 100644
index fb60f035b..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Copyright (C) 2008, 2012 Gustavo Noronha Silva
- * Copyright (C) 2010 Collabora Ltd.
- *
- * 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 "InspectorClientGtk.h"
-
-#include "FileSystem.h"
-#include "Frame.h"
-#include "InspectorController.h"
-#include "NotImplemented.h"
-#include "Page.h"
-#include "webkitversion.h"
-#include "webkitwebinspector.h"
-#include "webkitwebinspectorprivate.h"
-#include "webkitwebview.h"
-#include "webkitwebviewprivate.h"
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-static void notifyWebViewDestroyed(WebKitWebView* webView, InspectorFrontendClient* inspectorFrontendClient)
-{
- inspectorFrontendClient->destroyInspectorWindow(true);
-}
-
-namespace {
-
-class InspectorFrontendSettingsGtk : public InspectorFrontendClientLocal::Settings {
-public:
- virtual ~InspectorFrontendSettingsGtk() { }
-
-private:
- virtual String getProperty(const String& name)
- {
- notImplemented();
- return String();
- }
-
- virtual void setProperty(const String& name, const String& value)
- {
- notImplemented();
- }
-};
-
-} // namespace
-
-InspectorClient::InspectorClient(WebKitWebView* webView)
- : m_inspectedWebView(webView)
- , m_frontendPage(0)
- , m_frontendClient(0)
-{}
-
-InspectorClient::~InspectorClient()
-{
- if (m_frontendClient) {
- m_frontendClient->disconnectInspectorClient();
- m_frontendClient = 0;
- }
-}
-
-void InspectorClient::inspectorDestroyed()
-{
- closeInspectorFrontend();
- delete this;
-}
-
-InspectorFrontendChannel* InspectorClient::openInspectorFrontend(InspectorController* controller)
-{
- // This g_object_get will ref the inspector. We're not doing an
- // unref if this method succeeds because the inspector object must
- // be alive even after the inspected WebView is destroyed - the
- // close-window and destroy signals still need to be
- // emitted.
- WebKitWebInspector* webInspector = 0;
- g_object_get(m_inspectedWebView, "web-inspector", &webInspector, NULL);
- ASSERT(webInspector);
-
- WebKitWebView* inspectorWebView = 0;
- g_signal_emit_by_name(webInspector, "inspect-web-view", m_inspectedWebView, &inspectorWebView);
-
- if (!inspectorWebView) {
- g_object_unref(webInspector);
- return 0;
- }
-
- webkit_web_inspector_set_web_view(webInspector, inspectorWebView);
-
- GOwnPtr<gchar> inspectorPath(g_build_filename(inspectorFilesPath(), "inspector.html", NULL));
- GOwnPtr<gchar> inspectorURI(g_filename_to_uri(inspectorPath.get(), 0, 0));
- webkit_web_view_load_uri(inspectorWebView, inspectorURI.get());
-
- gtk_widget_show(GTK_WIDGET(inspectorWebView));
-
- m_frontendPage = core(inspectorWebView);
- OwnPtr<InspectorFrontendClient> frontendClient = adoptPtr(new InspectorFrontendClient(m_inspectedWebView, inspectorWebView, webInspector, m_frontendPage, this));
- m_frontendClient = frontendClient.get();
- m_frontendPage->inspectorController()->setInspectorFrontendClient(frontendClient.release());
-
- // The inspector must be in it's own PageGroup to avoid deadlock while debugging.
- m_frontendPage->setGroupName("");
-
- return this;
-}
-
-void InspectorClient::closeInspectorFrontend()
-{
- if (m_frontendClient)
- m_frontendClient->destroyInspectorWindow(false);
-}
-
-void InspectorClient::bringFrontendToFront()
-{
- m_frontendClient->bringToFront();
-}
-
-void InspectorClient::releaseFrontendPage()
-{
- m_frontendPage = 0;
- m_frontendClient = 0;
-}
-
-void InspectorClient::highlight()
-{
- hideHighlight();
-}
-
-void InspectorClient::hideHighlight()
-{
- // FIXME: we should be able to only invalidate the actual rects of
- // the new and old nodes. We need to track the nodes, and take the
- // actual highlight size into account when calculating the damage
- // rect.
- gtk_widget_queue_draw(GTK_WIDGET(m_inspectedWebView));
-}
-
-bool InspectorClient::sendMessageToFrontend(const String& message)
-{
- return doDispatchMessageOnFrontendPage(m_frontendPage, message);
-}
-
-const char* InspectorClient::inspectorFilesPath()
-{
- if (m_inspectorFilesPath)
- return m_inspectorFilesPath.get();
-
- const char* environmentPath = getenv("WEBKIT_INSPECTOR_PATH");
- if (environmentPath && g_file_test(environmentPath, G_FILE_TEST_IS_DIR))
- m_inspectorFilesPath.set(g_strdup(environmentPath));
- else
- m_inspectorFilesPath.set(g_build_filename(sharedResourcesPath().data(), "webinspector", NULL));
-
- return m_inspectorFilesPath.get();
-}
-
-InspectorFrontendClient::InspectorFrontendClient(WebKitWebView* inspectedWebView, WebKitWebView* inspectorWebView, WebKitWebInspector* webInspector, Page* inspectorPage, InspectorClient* inspectorClient)
- : InspectorFrontendClientLocal(core(inspectedWebView)->inspectorController(), inspectorPage, adoptPtr(new InspectorFrontendSettingsGtk()))
- , m_inspectorWebView(inspectorWebView)
- , m_inspectedWebView(inspectedWebView)
- , m_webInspector(webInspector)
- , m_inspectorClient(inspectorClient)
-{
- g_signal_connect(m_inspectorWebView, "destroy",
- G_CALLBACK(notifyWebViewDestroyed), (gpointer)this);
-}
-
-InspectorFrontendClient::~InspectorFrontendClient()
-{
- if (m_inspectorClient) {
- m_inspectorClient->releaseFrontendPage();
- m_inspectorClient = 0;
- }
-
- ASSERT(!m_webInspector);
-}
-
-void InspectorFrontendClient::destroyInspectorWindow(bool notifyInspectorController)
-{
- if (!m_webInspector)
- return;
-
- GRefPtr<WebKitWebInspector> webInspector = adoptGRef(m_webInspector.leakRef());
-
- if (m_inspectorWebView) {
- g_signal_handlers_disconnect_by_func(m_inspectorWebView, reinterpret_cast<gpointer>(notifyWebViewDestroyed), this);
- m_inspectorWebView = 0;
- }
-
- if (notifyInspectorController)
- core(m_inspectedWebView)->inspectorController()->disconnectFrontend();
-
- if (m_inspectorClient)
- m_inspectorClient->releaseFrontendPage();
-
- gboolean handled = FALSE;
- g_signal_emit_by_name(webInspector.get(), "close-window", &handled);
- ASSERT(handled);
-
- // Please do not use member variables here because InspectorFrontendClient object pointed by 'this'
- // has been implicitly deleted by "close-window" function.
-}
-
-String InspectorFrontendClient::localizedStringsURL()
-{
- GOwnPtr<gchar> stringsPath(g_build_filename(m_inspectorClient->inspectorFilesPath(), "localizedStrings.js", NULL));
- GOwnPtr<gchar> stringsURI(g_filename_to_uri(stringsPath.get(), 0, 0));
-
- // FIXME: support l10n of localizedStrings.js
- return String::fromUTF8(stringsURI.get());
-}
-
-void InspectorFrontendClient::bringToFront()
-{
- if (!m_inspectorWebView)
- return;
-
- gboolean handled = FALSE;
- g_signal_emit_by_name(m_webInspector.get(), "show-window", &handled);
-}
-
-void InspectorFrontendClient::closeWindow()
-{
- destroyInspectorWindow(true);
-}
-
-void InspectorFrontendClient::attachWindow(DockSide)
-{
- if (!m_inspectorWebView)
- return;
-
- gboolean handled = FALSE;
- g_signal_emit_by_name(m_webInspector.get(), "attach-window", &handled);
-}
-
-void InspectorFrontendClient::detachWindow()
-{
- if (!m_inspectorWebView)
- return;
-
- gboolean handled = FALSE;
- g_signal_emit_by_name(m_webInspector.get(), "detach-window", &handled);
-}
-
-void InspectorFrontendClient::setAttachedWindowHeight(unsigned height)
-{
- notImplemented();
-}
-
-void InspectorFrontendClient::setAttachedWindowWidth(unsigned width)
-{
- notImplemented();
-}
-
-void InspectorFrontendClient::setToolbarHeight(unsigned height)
-{
- notImplemented();
-}
-
-void InspectorFrontendClient::inspectedURLChanged(const String& newURL)
-{
- if (!m_inspectorWebView)
- return;
-
- webkit_web_inspector_set_inspected_uri(m_webInspector.get(), newURL.utf8().data());
-}
-
-}
-
diff --git a/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.h b/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.h
deleted file mode 100644
index 31fde8059..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 InspectorClientGtk_h
-#define InspectorClientGtk_h
-
-#include "InspectorClient.h"
-#include "InspectorFrontendChannel.h"
-#include "InspectorFrontendClientLocal.h"
-#include "webkitwebinspector.h"
-#include "webkitwebview.h"
-#include <wtf/Forward.h>
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/gobject/GRefPtr.h>
-
-namespace WebCore {
-class Page;
-}
-
-namespace WebKit {
-
-class InspectorFrontendClient;
-
-class InspectorClient : public WebCore::InspectorClient, public WebCore::InspectorFrontendChannel {
-public:
- explicit InspectorClient(WebKitWebView*);
- ~InspectorClient();
-
- void disconnectFrontendClient() { m_frontendClient = 0; }
-
- virtual void inspectorDestroyed();
-
- virtual WebCore::InspectorFrontendChannel* openInspectorFrontend(WebCore::InspectorController*);
- virtual void closeInspectorFrontend();
- virtual void bringFrontendToFront();
-
- virtual void highlight();
- virtual void hideHighlight();
-
- virtual bool sendMessageToFrontend(const WTF::String&);
-
- void releaseFrontendPage();
- const char* inspectorFilesPath();
-
-private:
- WebKitWebView* m_inspectedWebView;
- WebCore::Page* m_frontendPage;
- InspectorFrontendClient* m_frontendClient;
- GOwnPtr<gchar> m_inspectorFilesPath;
-};
-
-class InspectorFrontendClient : public WebCore::InspectorFrontendClientLocal {
-public:
- InspectorFrontendClient(WebKitWebView* inspectedWebView, WebKitWebView* inspectorWebView, WebKitWebInspector*, WebCore::Page* inspectorPage, InspectorClient*);
- virtual ~InspectorFrontendClient();
-
- void disconnectInspectorClient() { m_inspectorClient = 0; }
-
- void destroyInspectorWindow(bool notifyInspectorController);
-
- virtual WTF::String localizedStringsURL();
-
- virtual void bringToFront();
- virtual void closeWindow();
-
- virtual void attachWindow(DockSide);
- virtual void detachWindow();
-
- virtual void setAttachedWindowHeight(unsigned);
- virtual void setAttachedWindowWidth(unsigned);
- virtual void setToolbarHeight(unsigned) OVERRIDE;
-
- virtual void inspectedURLChanged(const WTF::String& newURL);
-
-private:
- WebKitWebView* m_inspectorWebView;
- WebKitWebView* m_inspectedWebView;
- GRefPtr<WebKitWebInspector> m_webInspector;
- InspectorClient* m_inspectorClient;
-};
-}
-
-#endif
diff --git a/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp
deleted file mode 100644
index 905769c35..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics
- *
- * 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 "NavigatorContentUtilsClientGtk.h"
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
-
-#include "NotImplemented.h"
-#include <wtf/text/CString.h>
-
-namespace WebKit {
-
-PassOwnPtr<NavigatorContentUtilsClient> NavigatorContentUtilsClient::create()
-{
- return adoptPtr(new NavigatorContentUtilsClient);
-}
-
-NavigatorContentUtilsClient::NavigatorContentUtilsClient()
-{
-}
-
-void NavigatorContentUtilsClient::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
-{
- notImplemented();
-}
-
-}
-#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
diff --git a/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h b/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h
deleted file mode 100644
index a6f3e2361..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2012 Samsung Electronics
- *
- * 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 NavigatorContentUtilsClientGtk_h
-#define NavigatorContentUtilsClientGtk_h
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
-#include "NavigatorContentUtilsClient.h"
-
-#include <wtf/PassOwnPtr.h>
-
-namespace WebKit {
-
-class NavigatorContentUtilsClient : public WebCore::NavigatorContentUtilsClient {
-public:
- static PassOwnPtr<NavigatorContentUtilsClient> create();
-
- ~NavigatorContentUtilsClient() { }
-
- virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title);
-
-private:
- NavigatorContentUtilsClient();
-};
-
-}
-
-#endif
-#endif // NavigatorContentUtilsClientGtk_h
diff --git a/Source/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h b/Source/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h
deleted file mode 100644
index d00333ce6..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2007 Luca Bruno <lethalman88@gmail.com>
- * Copyright (C) 2009 Holger Hans Peter Freyther
- * Copyright (C) 2010 Martin Robinson <mrobinson@webkit.org>
- * All rights reserved.
- *
- * 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 PasteboardHelperGtk_h
-#define PasteboardHelperGtk_h
-
-/*
- * FIXME: this is for WebCore support and must be removed once
- * a better solution is found
- */
-
-#include "Frame.h"
-#include "PasteboardHelper.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-class PasteboardHelperGtk : public PasteboardHelper {
-public:
- PasteboardHelperGtk();
- ~PasteboardHelperGtk();
- virtual guint getIdForTargetType(PasteboardTargetType);
-
-protected:
- virtual bool usePrimarySelectionClipboard(GtkWidget*);
-};
-
-}
-
-#endif // PasteboardHelperGtk_h
diff --git a/Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.cpp
deleted file mode 100644
index f9ed5ad0d..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.cpp
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Copyright (C) 2012 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 "PlatformStrategiesGtk.h"
-
-#include "NotImplemented.h"
-#include "Page.h"
-#include "PageGroup.h"
-#include "PlatformCookieJar.h"
-#include "PluginDatabase.h"
-#include "PluginPackage.h"
-
-using namespace WebCore;
-
-void PlatformStrategiesGtk::initialize()
-{
- DEFINE_STATIC_LOCAL(PlatformStrategiesGtk, platformStrategies, ());
- setPlatformStrategies(&platformStrategies);
-}
-
-PlatformStrategiesGtk::PlatformStrategiesGtk()
-{
-}
-
-CookiesStrategy* PlatformStrategiesGtk::createCookiesStrategy()
-{
- return this;
-}
-
-DatabaseStrategy* PlatformStrategiesGtk::createDatabaseStrategy()
-{
- return this;
-}
-
-LoaderStrategy* PlatformStrategiesGtk::createLoaderStrategy()
-{
- return this;
-}
-
-PasteboardStrategy* PlatformStrategiesGtk::createPasteboardStrategy()
-{
- // This is currently used only by Mac code.
- notImplemented();
- return 0;
-}
-
-PluginStrategy* PlatformStrategiesGtk::createPluginStrategy()
-{
- return this;
-}
-
-SharedWorkerStrategy* PlatformStrategiesGtk::createSharedWorkerStrategy()
-{
- return this;
-}
-
-StorageStrategy* PlatformStrategiesGtk::createStorageStrategy()
-{
- return this;
-}
-
-VisitedLinkStrategy* PlatformStrategiesGtk::createVisitedLinkStrategy()
-{
- return this;
-}
-
-// CookiesStrategy
-String PlatformStrategiesGtk::cookiesForDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookiesForDOM(session, firstParty, url);
-}
-
-void PlatformStrategiesGtk::setCookiesFromDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, const String& cookieString)
-{
- WebCore::setCookiesFromDOM(session, firstParty, url, cookieString);
-}
-
-bool PlatformStrategiesGtk::cookiesEnabled(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookiesEnabled(session, firstParty, url);
-}
-
-String PlatformStrategiesGtk::cookieRequestHeaderFieldValue(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookieRequestHeaderFieldValue(session, firstParty, url);
-}
-
-bool PlatformStrategiesGtk::getRawCookies(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, Vector<Cookie>& rawCookies)
-{
- return WebCore::getRawCookies(session, firstParty, url, rawCookies);
-}
-
-void PlatformStrategiesGtk::deleteCookie(const NetworkStorageSession& session, const KURL& url, const String& cookieName)
-{
- WebCore::deleteCookie(session, url, cookieName);
-}
-
-// PluginStrategy
-void PlatformStrategiesGtk::refreshPlugins()
-{
- PluginDatabase::installedPlugins()->refresh();
-}
-
-void PlatformStrategiesGtk::getPluginInfo(const Page* page, Vector<PluginInfo>& outPlugins)
-{
- PluginDatabase* database = PluginDatabase::installedPlugins();
- const Vector<PluginPackage*> &plugins = database->plugins();
-
- for (size_t i = 0; i < plugins.size(); ++i) {
- PluginPackage* package = plugins[i];
-
- PluginInfo pluginInfo;
- pluginInfo.name = package->name();
- pluginInfo.file = package->fileName();
- pluginInfo.desc = package->description();
-
- const MIMEToDescriptionsMap& mimeToDescriptions = package->mimeToDescriptions();
- MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end();
- for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) {
- MimeClassInfo mime;
- mime.type = it->key;
- mime.desc = it->value;
- mime.extensions = package->mimeToExtensions().get(mime.type);
- pluginInfo.mimes.append(mime);
- }
-
- outPlugins.append(pluginInfo);
- }
-}
-
-// VisitedLinkStrategy
-bool PlatformStrategiesGtk::isLinkVisited(Page* page, LinkHash hash, const KURL&, const AtomicString&)
-{
- return page->group().isLinkVisited(hash);
-}
-
-void PlatformStrategiesGtk::addVisitedLink(Page* page, LinkHash hash)
-{
- page->group().addVisitedLinkHash(hash);
-}
diff --git a/Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.h b/Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.h
deleted file mode 100644
index b5f0762e5..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2012 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 PlatformStrategiesGtk_h
-#define PlatformStrategiesGtk_h
-
-#include "CookiesStrategy.h"
-#include "DatabaseStrategy.h"
-#include "LoaderStrategy.h"
-#include "PasteboardStrategy.h"
-#include "PlatformStrategies.h"
-#include "PluginStrategy.h"
-#include "SharedWorkerStrategy.h"
-#include "StorageStrategy.h"
-#include "VisitedLinkStrategy.h"
-
-class PlatformStrategiesGtk : public WebCore::PlatformStrategies, private WebCore::CookiesStrategy, private WebCore::DatabaseStrategy, private WebCore::LoaderStrategy, private WebCore::PluginStrategy, private WebCore::SharedWorkerStrategy, private WebCore::StorageStrategy, private WebCore::VisitedLinkStrategy {
-public:
- static void initialize();
-
-private:
- PlatformStrategiesGtk();
-
- // WebCore::PlatformStrategies
- virtual WebCore::CookiesStrategy* createCookiesStrategy();
- virtual WebCore::DatabaseStrategy* createDatabaseStrategy();
- virtual WebCore::LoaderStrategy* createLoaderStrategy();
- virtual WebCore::PasteboardStrategy* createPasteboardStrategy();
- virtual WebCore::PluginStrategy* createPluginStrategy();
- virtual WebCore::SharedWorkerStrategy* createSharedWorkerStrategy();
- virtual WebCore::StorageStrategy* createStorageStrategy();
- virtual WebCore::VisitedLinkStrategy* createVisitedLinkStrategy();
-
- // WebCore::CookiesStrategy
- virtual String cookiesForDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual void setCookiesFromDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, const String&);
- virtual bool cookiesEnabled(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual String cookieRequestHeaderFieldValue(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual bool getRawCookies(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, Vector<WebCore::Cookie>&);
- virtual void deleteCookie(const WebCore::NetworkStorageSession&, const WebCore::KURL&, const String&);
-
- // WebCore::DatabaseStrategy
- // - Using default implementation.
-
- // WebCore::PluginStrategy
- virtual void refreshPlugins();
- virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&);
-
- // WebCore::VisitedLinkStrategy
- virtual bool isLinkVisited(WebCore::Page*, WebCore::LinkHash, const WebCore::KURL& baseURL, const WTF::AtomicString& attributeURL);
- virtual void addVisitedLink(WebCore::Page*, WebCore::LinkHash);
-};
-
-#endif // PlatformStrategiesGtk_h
diff --git a/Source/WebKit/gtk/WebCoreSupport/TextCheckerClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/TextCheckerClientGtk.cpp
deleted file mode 100644
index 23238f485..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/TextCheckerClientGtk.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2007 Alp Toker <alp@atoker.com>
- * Copyright (C) 2008 Nuanti Ltd.
- * Copyright (C) 2009 Diego Escalante Urrelo <diegoe@gnome.org>
- * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
- * Copyright (C) 2009, 2010, 2011 Igalia S.L.
- * Copyright (C) 2010, Martin Robinson <mrobinson@webkit.org>
- *
- * 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 "TextCheckerClientGtk.h"
-
-#include "NotImplemented.h"
-#include "webkitspellchecker.h"
-#include "webkitwebsettingsprivate.h"
-#include <glib.h>
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/text/CString.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-TextCheckerClientGtk::TextCheckerClientGtk(WebKitSpellChecker* spellChecker)
- : m_spellChecker(spellChecker)
-{
-}
-
-TextCheckerClientGtk::~TextCheckerClientGtk()
-{
-}
-
-bool TextCheckerClientGtk::shouldEraseMarkersAfterChangeSelection(TextCheckingType) const
-{
- return true;
-}
-
-void TextCheckerClientGtk::ignoreWordInSpellDocument(const String& text)
-{
- webkit_spell_checker_ignore_word(m_spellChecker.get(), text.utf8().data());
-}
-
-void TextCheckerClientGtk::learnWord(const String& text)
-{
- webkit_spell_checker_learn_word(m_spellChecker.get(), text.utf8().data());
-}
-
-void TextCheckerClientGtk::checkSpellingOfString(const UChar* text, int length, int* misspellingLocation, int* misspellingLength)
-{
- String textAsString(text, length);
- webkit_spell_checker_check_spelling_of_string(m_spellChecker.get(), textAsString.utf8().data(), misspellingLocation, misspellingLength);
-}
-
-String TextCheckerClientGtk::getAutoCorrectSuggestionForMisspelledWord(const String& inputWord)
-{
- return webkit_spell_checker_get_autocorrect_suggestions_for_misspelled_word(m_spellChecker.get(), inputWord.utf8().data());
-}
-
-void TextCheckerClientGtk::checkGrammarOfString(const UChar*, int, Vector<GrammarDetail>&, int*, int*)
-{
- notImplemented();
-}
-
-void TextCheckerClientGtk::getGuessesForWord(const String& word, const String& context, WTF::Vector<String>& guesses)
-{
- char** suggestions = webkit_spell_checker_get_guesses_for_word(m_spellChecker.get(), word.utf8().data(), context.utf8().data());
- if (!suggestions)
- return;
-
- guesses.clear();
-
- for (int i = 0; suggestions[i]; i++)
- guesses.append(String::fromUTF8(suggestions[i]));
-
- g_strfreev(suggestions);
-}
-
-void TextCheckerClientGtk::updateSpellCheckingLanguage(const char* spellCheckingLanguages)
-{
- webkit_spell_checker_update_spell_checking_languages(m_spellChecker.get(), spellCheckingLanguages);
-}
-}
diff --git a/Source/WebKit/gtk/WebCoreSupport/TextCheckerClientGtk.h b/Source/WebKit/gtk/WebCoreSupport/TextCheckerClientGtk.h
deleted file mode 100644
index b4861df36..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/TextCheckerClientGtk.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
- * Copyright (C) 2006 Zack Rusin <zack@kde.org>
- * Copyright (C) 2006 Apple Computer, Inc.
- * Copyright (C) 2010 Martin Robinson <mrobinson@webkit.org>
- *
- * 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 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 TextCheckerClientGtk_h
-#define TextCheckerClientGtk_h
-
-#include "TextCheckerClient.h"
-#include <wtf/gobject/GRefPtr.h>
-
-typedef struct _WebKitSpellChecker WebKitSpellChecker;
-
-namespace WebKit {
-
-class TextCheckerClientGtk : public WebCore::TextCheckerClient {
- public:
- TextCheckerClientGtk(WebKitSpellChecker*);
- ~TextCheckerClientGtk();
- virtual bool shouldEraseMarkersAfterChangeSelection(WebCore::TextCheckingType) const;
- virtual void ignoreWordInSpellDocument(const WTF::String&);
- virtual void learnWord(const WTF::String&);
- virtual void checkSpellingOfString(const UChar*, int length, int* misspellingLocation, int* misspellingLength);
- virtual WTF::String getAutoCorrectSuggestionForMisspelledWord(const WTF::String&);
- virtual void checkGrammarOfString(const UChar*, int length, WTF::Vector<WebCore::GrammarDetail>&, int* badGrammarLocation, int* badGrammarLength);
- virtual void getGuessesForWord(const WTF::String& word, const WTF::String& context, WTF::Vector<WTF::String>& guesses);
- virtual void requestCheckingOfString(WTF::PassRefPtr<WebCore::TextCheckingRequest>) { }
-
- void updateSpellCheckingLanguage(const char*);
- private:
- GRefPtr<WebKitSpellChecker> m_spellChecker;
- };
-}
-#endif
-
diff --git a/Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.cpp
deleted file mode 100644
index 391676afb..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2012 Intel Inc. All rights reserved.
- *
- * 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 "UserMediaClientGtk.h"
-
-#if ENABLE(MEDIA_STREAM)
-#include "MediaStreamSource.h"
-#include "NotImplemented.h"
-#include "UserMediaRequest.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-UserMediaClientGtk::UserMediaClientGtk()
-{
-}
-
-UserMediaClientGtk::~UserMediaClientGtk()
-{
-}
-
-void UserMediaClientGtk::pageDestroyed()
-{
- notImplemented();
-}
-
-void UserMediaClientGtk::requestUserMedia(WTF::PassRefPtr<UserMediaRequest> prpRequest, const MediaStreamSourceVector& audioSource, const MediaStreamSourceVector& videoSource)
-{
- notImplemented();
-}
-
-void UserMediaClientGtk::cancelUserMediaRequest(UserMediaRequest* request)
-{
- notImplemented();
-}
-
-} // namespace WebKit;
-
-#endif // MEDIA_STREAM
diff --git a/Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.h b/Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.h
deleted file mode 100644
index 0362a4a3d..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2012 Intel Inc. All rights reserved.
- *
- * 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 UserMediaClientGtk_h
-#define UserMediaClientGtk_h
-
-#if ENABLE(MEDIA_STREAM)
-
-#include "UserMediaClient.h"
-
-namespace WebKit {
-
-class UserMediaClientGtk : public WebCore::UserMediaClient {
-public:
- UserMediaClientGtk();
- virtual ~UserMediaClientGtk();
-
- virtual void pageDestroyed();
- virtual void requestUserMedia(WTF::PassRefPtr<WebCore::UserMediaRequest>, const WebCore::MediaStreamSourceVector&, const WebCore::MediaStreamSourceVector&);
- virtual void cancelUserMediaRequest(WebCore::UserMediaRequest*);
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(MEDIA_STREAM)
-
-#endif // UserMediaClientGtk_h
diff --git a/Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.cpp b/Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.cpp
deleted file mode 100644
index 9877fca19..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (C) 2012 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 "config.h"
-#include "WebViewInputMethodFilter.h"
-
-#include "Editor.h"
-#include "EventHandler.h"
-#include "FocusController.h"
-#include "Frame.h"
-#include "PlatformKeyboardEvent.h"
-#include "webkitwebviewprivate.h"
-#include <wtf/text/CString.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-Frame* WebViewInputMethodFilter::focusedOrMainFrame()
-{
- ASSERT(m_webView);
- Page* page = core(m_webView);
- if (!page)
- return 0;
-
- return page->focusController()->focusedOrMainFrame();
-}
-
-void WebViewInputMethodFilter::setWebView(WebKitWebView* webView)
-{
- m_webView = webView;
- GtkInputMethodFilter::setWidget(GTK_WIDGET(webView));
-}
-
-bool WebViewInputMethodFilter::canEdit()
-{
- Frame* frame = focusedOrMainFrame();
- return frame && frame->editor().canEdit();
-}
-
-bool WebViewInputMethodFilter::sendSimpleKeyEvent(GdkEventKey* event, WTF::String simpleString, EventFakedForComposition)
-{
- PlatformKeyboardEvent platformEvent(event, CompositionResults(simpleString));
- return focusedOrMainFrame()->eventHandler()->keyEvent(platformEvent);
-}
-
-bool WebViewInputMethodFilter::sendKeyEventWithCompositionResults(GdkEventKey* event, ResultsToSend resultsToSend, EventFakedForComposition)
-{
- PlatformKeyboardEvent platformEvent(event, CompositionResults(CompositionResults::WillSendCompositionResultsSoon));
- if (!focusedOrMainFrame()->eventHandler()->keyEvent(platformEvent))
- return false;
-
- if (resultsToSend & Composition && !m_confirmedComposition.isNull())
- confirmCompositionText(m_confirmedComposition);
- if (resultsToSend & Preedit && !m_preedit.isNull())
- setPreedit(m_preedit, m_cursorOffset);
- return true;
-}
-
-void WebViewInputMethodFilter::confirmCompositionText(String text)
-{
- Frame* frame = focusedOrMainFrame();
- if (!frame || !frame->editor().canEdit())
- return;
-
- if (text.isNull()) {
- confirmCurrentComposition();
- return;
- }
- frame->editor().confirmComposition(m_confirmedComposition);
-}
-
-void WebViewInputMethodFilter::confirmCurrentComposition()
-{
- Frame* frame = focusedOrMainFrame();
- if (!frame || !frame->editor().canEdit())
- return;
- frame->editor().confirmComposition();
-}
-
-void WebViewInputMethodFilter::cancelCurrentComposition()
-{
- Frame* frame = focusedOrMainFrame();
- if (!frame || !frame->editor().canEdit())
- return;
- frame->editor().cancelComposition();
-}
-
-void WebViewInputMethodFilter::setPreedit(String newPreedit, int cursorOffset)
-{
- Frame* frame = focusedOrMainFrame();
- if (!frame || !frame->editor().canEdit())
- return;
-
- // TODO: We should parse the PangoAttrList that we get from the IM context here.
- Vector<CompositionUnderline> underlines;
- underlines.append(CompositionUnderline(0, newPreedit.length(), Color(1, 1, 1), false));
- frame->editor().setComposition(newPreedit, underlines, m_cursorOffset, m_cursorOffset);
-}
-
-} // namespace WebKit
diff --git a/Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.h b/Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.h
deleted file mode 100644
index b077ae005..000000000
--- a/Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2012 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 WebViewInputMethodFilter_h
-#define WebViewInputMethodFilter_h
-
-#include "GtkInputMethodFilter.h"
-
-namespace WebCore {
-class Frame;
-}
-
-typedef struct _WebKitWebView WebKitWebView;
-
-namespace WebKit {
-
-class WebViewInputMethodFilter : public WebCore::GtkInputMethodFilter {
-public:
- void setWebView(WebKitWebView*);
-
-protected:
- virtual bool sendSimpleKeyEvent(GdkEventKey*, WTF::String eventString, EventFakedForComposition);
- virtual bool sendKeyEventWithCompositionResults(GdkEventKey*, ResultsToSend, EventFakedForComposition);
- virtual bool canEdit();
- virtual void confirmCompositionText(String);
- virtual void confirmCurrentComposition();
- virtual void cancelCurrentComposition();
- virtual void setPreedit(String, int cursorOffset);
-
-private:
- WebCore::Frame* focusedOrMainFrame();
-
- WebKitWebView* m_webView;
-};
-
-} // namespace WebKit
-
-#endif // WebViewInputMethodFilter_h
diff --git a/Source/WebKit/gtk/docs/webkitenvironment.xml b/Source/WebKit/gtk/docs/webkitenvironment.xml
deleted file mode 100644
index 68e2a8ce4..000000000
--- a/Source/WebKit/gtk/docs/webkitenvironment.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
-<refentry id="webkit-environment">
-<refmeta>
-<refentrytitle>Environment</refentrytitle>
-<manvolnum>7</manvolnum>
-<refmiscinfo>WEBKITGTK Library</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-<refname>Environment</refname>
-<refpurpose>How does the environment affect applications that use WebKitGTK+</refpurpose>
-</refnamediv>
-
-<refsect2>
-<title>Logging</title>
-
-<para>
-You can make WebKitGTK+ log some of what it is doing internally by
-using the <literal>WEBKIT_DEBUG</literal> environment variable. It
-takes a space-separated list of names, representing the various
-aspects of the work the library performs. Notice that most of the
-logging is only done in debug builds (that you get when you pass
-<literal>--enable-debug</literal> to the <literal>configure</literal>
-script).
-</para>
-
-<para>
-A list of possible values for the environment variable follows:
-</para>
-
-<variablelist>
- <varlistentry><term>BackForward</term></varlistentry>
- <varlistentry><term>Editing</term></varlistentry>
- <varlistentry><term>Events</term></varlistentry>
- <varlistentry><term>Frames</term></varlistentry>
- <varlistentry><term>FTP</term></varlistentry>
- <varlistentry><term>History</term></varlistentry>
- <varlistentry><term>IconDatabase</term></varlistentry>
- <varlistentry><term>Loading</term></varlistentry>
- <varlistentry><term>Media</term></varlistentry>
- <varlistentry><term>Network</term></varlistentry>
- <varlistentry><term>NotYetImplemented</term></varlistentry>
- <varlistentry><term>PageCache</term></varlistentry>
- <varlistentry><term>PlatformLeaks</term></varlistentry>
- <varlistentry><term>ResourceLoading</term></varlistentry>
- <varlistentry><term>Animations</term></varlistentry>
- <varlistentry><term>Plugins</term></varlistentry>
- <varlistentry><term>PopupBlocking</term></varlistentry>
- <varlistentry><term>Progress</term></varlistentry>
- <varlistentry><term>SpellingAndGrammar</term></varlistentry>
- <varlistentry><term>SQLDatabase</term></varlistentry>
- <varlistentry><term>StorageAPI</term></varlistentry>
- <varlistentry><term>Threading</term></varlistentry>
- <varlistentry><term>FileAPI</term></varlistentry>
- <varlistentry><term>WebAudio</term></varlistentry>
- <varlistentry><term>Compositing</term></varlistentry>
- <varlistentry><term>Gamepad</term></varlistentry>
-</variablelist>
-
-</refsect2>
-
-</refentry>
diff --git a/Source/WebKit/gtk/docs/webkitgtk-docs.sgml b/Source/WebKit/gtk/docs/webkitgtk-docs.sgml
deleted file mode 100644
index 72106522f..000000000
--- a/Source/WebKit/gtk/docs/webkitgtk-docs.sgml
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
-<!ENTITY version SYSTEM "version.xml">
-]>
-<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
- <bookinfo>
- <title>WebKitGTK+ Reference Manual</title>
- <releaseinfo>for WebKitGTK+ &version;</releaseinfo>
- </bookinfo>
-
- <chapter>
- <title>Global functions</title>
- <xi:include href="xml/webkit.xml"/>
- </chapter>
-
- <chapter>
- <title>Class Overview</title>
- <xi:include href="xml/webkitwebview.xml"/>
- <xi:include href="xml/webkitwebframe.xml"/>
- <xi:include href="xml/webkitwebsettings.xml"/>
- <xi:include href="xml/webkitwebbackforwardlist.xml"/>
- <xi:include href="xml/webkitwebhistoryitem.xml"/>
- <xi:include href="xml/webkitwebnavigationaction.xml"/>
- <xi:include href="xml/webkitwebpolicydecision.xml"/>
- <xi:include href="xml/webkitgeolocationpolicydecision.xml"/>
- <xi:include href="xml/webkitnetworkrequest.xml"/>
- <xi:include href="xml/webkitnetworkresponse.xml"/>
- <xi:include href="xml/webkitwebinspector.xml"/>
- <xi:include href="xml/webkitwebdatabase.xml"/>
- <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"/>
- <xi:include href="xml/webkiticondatabase.xml"/>
- <xi:include href="xml/webkitspellchecker.xml"/>
- <xi:include href="xml/webkitfavicondatabase.xml"/>
- <xi:include href="xml/webkitfilechooserrequest.xml"/>
- </chapter>
-
- <chapter>
- <title>Running WebKitGTK+-based programs</title>
- <xi:include href="webkitenvironment.xml"/>
- </chapter>
-
- <index id="index-all">
- <title>Index</title>
- </index>
- <index id="index-deprecated" role="deprecated">
- <title>Index of deprecated symbols</title>
- </index>
- <index id="index-1.0.1" role="1.0.1">
- <title>Index of new symbols in 1.0.1</title>
- </index>
- <index id="index-1.0.2" role="1.0.2">
- <title>Index of new symbols in 1.0.2</title>
- </index>
- <index id="index-1.0.3" role="1.0.3">
- <title>Index of new symbols in 1.0.3</title>
- </index>
- <index id="index-1.1.1" role="1.1.1">
- <title>Index of new symbols in 1.1.1</title>
- </index>
- <index id="index-1.1.2" role="1.1.2">
- <title>Index of new symbols in 1.1.2</title>
- </index>
- <index id="index-1.1.3" role="1.1.3">
- <title>Index of new symbols in 1.1.3</title>
- </index>
- <index id="index-1.1.4" role="1.1.4">
- <title>Index of new symbols in 1.1.4</title>
- </index>
- <index id="index-1.1.5" role="1.1.5">
- <title>Index of new symbols in 1.1.5</title>
- </index>
- <index id="index-1.1.6" role="1.1.6">
- <title>Index of new symbols in 1.1.6</title>
- </index>
- <index id="index-1.1.7" role="1.1.7">
- <title>Index of new symbols in 1.1.7</title>
- </index>
- <index id="index-1.1.8" role="1.1.8">
- <title>Index of new symbols in 1.1.8</title>
- </index>
- <index id="index-1.1.10" role="1.1.10">
- <title>Index of new symbols in 1.1.10</title>
- </index>
- <index id="index-1.1.11" role="1.1.11">
- <title>Index of new symbols in 1.1.11</title>
- </index>
- <index id="index-1.1.13" role="1.1.13">
- <title>Index of new symbols in 1.1.13</title>
- </index>
- <index id="index-1.1.14" role="1.1.14">
- <title>Index of new symbols in 1.1.14</title>
- </index>
- <index id="index-1.1.15" role="1.1.15">
- <title>Index of new symbols in 1.1.15</title>
- </index>
- <index id="index-1.1.16" role="1.1.16">
- <title>Index of new symbols in 1.1.16</title>
- </index>
- <index id="index-1.1.17" role="1.1.17">
- <title>Index of new symbols in 1.1.17</title>
- </index>
- <index id="index-1.1.18" role="1.1.18">
- <title>Index of new symbols in 1.1.18</title>
- </index>
- <index id="index-1.1.20" role="1.1.20">
- <title>Index of new symbols in 1.1.20</title>
- </index>
- <index id="index-1.1.23" role="1.1.23">
- <title>Index of new symbols in 1.1.23</title>
- </index>
- <index id="index-1.3.1" role="1.3.1">
- <title>Index of new symbols in 1.3.1</title>
- </index>
- <index id="index-1.3.2" role="1.3.2">
- <title>Index of new symbols in 1.3.2</title>
- </index>
- <index id="index-1.3.3" role="1.3.3">
- <title>Index of new symbols in 1.3.3</title>
- </index>
- <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>
- <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
-</book>
diff --git a/Source/WebKit/gtk/docs/webkitgtk-overrides.txt b/Source/WebKit/gtk/docs/webkitgtk-overrides.txt
deleted file mode 100644
index e69de29bb..000000000
--- a/Source/WebKit/gtk/docs/webkitgtk-overrides.txt
+++ /dev/null
diff --git a/Source/WebKit/gtk/docs/webkitgtk-sections.txt b/Source/WebKit/gtk/docs/webkitgtk-sections.txt
deleted file mode 100644
index b707bf83d..000000000
--- a/Source/WebKit/gtk/docs/webkitgtk-sections.txt
+++ /dev/null
@@ -1,753 +0,0 @@
-<SECTION>
-<FILE>webkitwebsettings</FILE>
-<TITLE>WebKitWebSettings</TITLE>
-WebKitWebSettings
-WebKitEditingBehavior
-webkit_web_settings_copy
-webkit_web_settings_new
-webkit_web_settings_get_user_agent
-<SUBSECTION Standard>
-WEBKIT_WEB_SETTINGS
-WEBKIT_IS_WEB_SETTINGS
-WEBKIT_TYPE_WEB_SETTINGS
-WEBKIT_WEB_SETTINGS_CLASS
-WEBKIT_IS_WEB_SETTINGS_CLASS
-WEBKIT_WEB_SETTINGS_GET_CLASS
-<SUBSECTION Private>
-WebKitWebSettingsClass
-WebKitWebSettingsPrivate
-webkit_web_settings_get_type
-</SECTION>
-
-<SECTION>
-<FILE>webkitwebbackforwardlist</FILE>
-<TITLE>WebKitWebBackForwardList</TITLE>
-WebKitWebBackForwardList
-webkit_web_back_forward_list_add_item
-webkit_web_back_forward_list_clear
-webkit_web_back_forward_list_contains_item
-webkit_web_back_forward_list_get_back_item
-webkit_web_back_forward_list_get_back_length
-webkit_web_back_forward_list_get_back_list_with_limit
-webkit_web_back_forward_list_get_current_item
-webkit_web_back_forward_list_get_forward_item
-webkit_web_back_forward_list_get_forward_length
-webkit_web_back_forward_list_get_forward_list_with_limit
-webkit_web_back_forward_list_get_limit
-webkit_web_back_forward_list_get_nth_item
-webkit_web_back_forward_list_go_back
-webkit_web_back_forward_list_go_forward
-webkit_web_back_forward_list_go_to_item
-webkit_web_back_forward_list_new_with_web_view
-webkit_web_back_forward_list_set_limit
-<SUBSECTION Standard>
-WEBKIT_WEB_BACK_FORWARD_LIST
-WEBKIT_IS_WEB_BACK_FORWARD_LIST
-WEBKIT_TYPE_WEB_BACK_FORWARD_LIST
-WEBKIT_WEB_BACK_FORWARD_LIST_CLASS
-WEBKIT_IS_WEB_BACK_FORWARD_LIST_CLASS
-WEBKIT_WEB_BACK_FORWARD_LIST_GET_CLASS
-<SUBSECTION Private>
-WebKitWebBackForwardListPrivate
-webkit_web_back_forward_list_get_type
-WebKitWebBackForwardListClass
-</SECTION>
-
-<SECTION>
-<FILE>webkitwebhistoryitem</FILE>
-<TITLE>WebKitWebHistoryItem</TITLE>
-WebKitWebHistoryItem
-webkit_web_history_item_copy
-webkit_web_history_item_get_alternate_title
-webkit_web_history_item_get_last_visited_time
-webkit_web_history_item_get_original_uri
-webkit_web_history_item_get_title
-webkit_web_history_item_get_uri
-webkit_web_history_item_new
-webkit_web_history_item_new_with_data
-webkit_web_history_item_set_alternate_title
-<SUBSECTION Standard>
-WEBKIT_WEB_HISTORY_ITEM
-WEBKIT_IS_WEB_HISTORY_ITEM
-WEBKIT_TYPE_WEB_HISTORY_ITEM
-WEBKIT_WEB_HISTORY_ITEM_CLASS
-WEBKIT_IS_WEB_HISTORY_ITEM_CLASS
-WEBKIT_WEB_HISTORY_ITEM_GET_CLASS
-<SUBSECTION Private>
-webkit_web_history_item_get_type
-WebKitWebHistoryItemPrivate
-WebKitWebHistoryItemClass
-</SECTION>
-
-<SECTION>
-<FILE>webkitwebframe</FILE>
-<TITLE>WebKitWebFrame</TITLE>
-WebKitLoadStatus
-WebKitWebFrame
-webkit_web_frame_find_frame
-webkit_web_frame_get_data_source
-webkit_web_frame_get_dom_document
-webkit_web_frame_get_global_context
-webkit_web_frame_get_horizontal_scrollbar_policy
-webkit_web_frame_get_load_status
-webkit_web_frame_get_name
-webkit_web_frame_get_network_response
-webkit_web_frame_get_parent
-webkit_web_frame_get_provisional_data_source
-webkit_web_frame_get_security_origin
-webkit_web_frame_get_title
-webkit_web_frame_get_uri
-webkit_web_frame_get_vertical_scrollbar_policy
-webkit_web_frame_get_web_view
-webkit_web_frame_load_alternate_string
-webkit_web_frame_load_request
-webkit_web_frame_load_string
-webkit_web_frame_load_uri
-webkit_web_frame_new
-webkit_web_frame_print
-webkit_web_frame_print_full
-webkit_web_frame_reload
-webkit_web_frame_stop_loading
-<SUBSECTION Standard>
-WEBKIT_WEB_FRAME
-WEBKIT_IS_WEB_FRAME
-WEBKIT_TYPE_WEB_FRAME
-WEBKIT_WEB_FRAME_CLASS
-WEBKIT_IS_WEB_FRAME_CLASS
-WEBKIT_WEB_FRAME_GET_CLASS
-<SUBSECTION Private>
-WebKitWebFramePrivate
-WebKitWebFrameClass
-webkit_web_frame_get_type
-webkit_web_frame_get_range_for_word_around_caret
-webkit_web_frame_replace_selection
-</SECTION>
-
-<SECTION>
-<FILE>webkitdownload</FILE>
-WebKitDownloadError
-WebKitDownloadStatus
-<TITLE>WebKitDownload</TITLE>
-WebKitDownload
-webkit_download_cancel
-webkit_download_get_current_size
-webkit_download_get_destination_uri
-webkit_download_get_elapsed_time
-webkit_download_get_network_request
-webkit_download_get_network_response
-webkit_download_get_progress
-webkit_download_get_status
-webkit_download_get_suggested_filename
-webkit_download_get_total_size
-webkit_download_get_uri
-webkit_download_new
-webkit_download_set_destination_uri
-webkit_download_start
-<SUBSECTION Standard>
-WEBKIT_DOWNLOAD
-WEBKIT_DOWNLOAD_CLASS
-WEBKIT_DOWNLOAD_GET_CLASS
-WEBKIT_IS_DOWNLOAD
-WEBKIT_IS_DOWNLOAD_CLASS
-WEBKIT_TYPE_DOWNLOAD
-<SUBSECTION Private>
-webkit_download_get_type
-WebKitDownloadClass
-WebKitDownloadPrivate
-</SECTION>
-
-<SECTION>
-<FILE>webkitsecurityorigin</FILE>
-<TITLE>WebKitSecurityOrigin</TITLE>
-WebKitSecurityOrigin
-webkit_security_origin_get_all_web_databases
-webkit_security_origin_get_host
-webkit_security_origin_get_port
-webkit_security_origin_get_protocol
-webkit_security_origin_get_type
-webkit_security_origin_get_web_database_quota
-webkit_security_origin_get_web_database_usage
-webkit_security_origin_set_web_database_quota
-<SUBSECTION Standard>
-WEBKIT_SECURITY_ORIGIN
-WEBKIT_SECURITY_ORIGIN_CLASS
-WEBKIT_SECURITY_ORIGIN_GET_CLASS
-WEBKIT_IS_SECURITY_ORIGIN
-WEBKIT_IS_SECURITY_ORIGIN_CLASS
-WEBKIT_TYPE_SECURITY_ORIGIN
-<SUBSECTION Private>
-WebKitSecurityOriginClass
-WebKitSecurityOriginPrivate
-</SECTION>
-
-<SECTION>
-<FILE>webkithittestresult</FILE>
-<TITLE>WebKitHitTestResult</TITLE>
-WebKitHitTestResult
-WebKitHitTestResultContext
-<SUBSECTION Standard>
-WEBKIT_HIT_TEST_RESULT
-WEBKIT_HIT_TEST_RESULT_CLASS
-WEBKIT_HIT_TEST_RESULT_GET_CLASS
-WEBKIT_IS_HIT_TEST_RESULT
-WEBKIT_IS_HIT_TEST_RESULT_CLASS
-WEBKIT_TYPE_HIT_TEST_RESULT
-<SUBSECTION Private>
-WebKitHitTestResultClass
-WebKitHitTestResultPrivate
-webkit_hit_test_result_get_type
-</SECTION>
-
-<SECTION>
-<FILE>webkitwebdatasource</FILE>
-<TITLE>WebKitWebDataSource</TITLE>
-WebKitWebDataSource
-webkit_web_data_source_get_data
-webkit_web_data_source_get_encoding
-webkit_web_data_source_get_initial_request
-webkit_web_data_source_get_main_resource
-webkit_web_data_source_get_request
-webkit_web_data_source_get_subresources
-webkit_web_data_source_get_unreachable_uri
-webkit_web_data_source_get_web_frame
-webkit_web_data_source_is_loading
-webkit_web_data_source_new
-<SUBSECTION Standard>
-WEBKIT_IS_WEB_DATA_SOURCE
-WEBKIT_IS_WEB_DATA_SOURCE_CLASS
-WEBKIT_TYPE_WEB_DATA_SOURCE
-WEBKIT_WEB_DATA_SOURCE
-WEBKIT_WEB_DATA_SOURCE_CLASS
-WEBKIT_WEB_DATA_SOURCE_GET_CLASS
-<SUBSECTION Private>
-WebKitWebDataSourceClass
-WebKitWebDataSourcePrivate
-webkit_web_data_source_new_with_request
-webkit_web_data_source_get_type
-</SECTION>
-
-<SECTION>
-<FILE>webkitwebdatabase</FILE>
-<TITLE>WebKitWebDatabase</TITLE>
-WebKitWebDatabase
-webkit_web_database_get_display_name
-webkit_web_database_get_expected_size
-webkit_web_database_get_filename
-webkit_web_database_get_name
-webkit_web_database_get_security_origin
-webkit_web_database_get_size
-webkit_web_database_remove
-<SUBSECTION Standard>
-WEBKIT_IS_WEB_DATABASE
-WEBKIT_IS_WEB_DATABASE_CLASS
-WEBKIT_TYPE_WEB_DATABASE
-WEBKIT_WEB_DATABASE
-WEBKIT_WEB_DATABASE_CLASS
-WEBKIT_WEB_DATABASE_GET_CLASS
-<SUBSECTION Private>
-WebKitWebDatabaseClass
-WebKitWebDatabasePrivate
-webkit_web_database_get_type
-</SECTION>
-
-<SECTION>
-<FILE>webkitsoupauthdialog</FILE>
-<TITLE>WebKitSoupAuthDialog</TITLE>
-WebKitSoupAuthDialog
-<SUBSECTION Standard>
-WEBKIT_IS_SOUP_AUTH_DIALOG
-WEBKIT_IS_SOUP_AUTH_DIALOG_CLASS
-WEBKIT_SOUP_AUTH_DIALOG
-WEBKIT_SOUP_AUTH_DIALOG_CLASS
-WEBKIT_SOUP_AUTH_DIALOG_GET_CLASS
-WEBKIT_TYPE_SOUP_AUTH_DIALOG
-<SUBSECTION Private>
-webkit_soup_auth_dialog_get_type
-WebKitSoupAuthDialogClass
-</SECTION>
-
-<SECTION>
-<FILE>webkitwebinspector</FILE>
-<TITLE>WebKitWebInspector</TITLE>
-WebKitWebInspector
-webkit_web_inspector_get_inspected_uri
-webkit_web_inspector_get_web_view
-webkit_web_inspector_inspect_coordinates
-webkit_web_inspector_show
-webkit_web_inspector_close
-webkit_web_inspector_inspect_node
-<SUBSECTION Standard>
-WEBKIT_WEB_INSPECTOR
-WEBKIT_IS_WEB_INSPECTOR
-WEBKIT_TYPE_WEB_INSPECTOR
-WEBKIT_WEB_INSPECTOR_CLASS
-WEBKIT_IS_WEB_INSPECTOR_CLASS
-WEBKIT_WEB_INSPECTOR_GET_CLASS
-<SUBSECTION Private>
-webkit_web_inspector_get_type
-WebKitWebInspectorPrivate
-WebKitWebInspectorClass
-</SECTION>
-
-<SECTION>
-<FILE>webkitwebnavigationaction</FILE>
-<TITLE>WebKitWebNavigationAction</TITLE>
-WebKitWebNavigationAction
-WebKitWebNavigationReason
-webkit_web_navigation_action_get_button
-webkit_web_navigation_action_get_modifier_state
-webkit_web_navigation_action_get_original_uri
-webkit_web_navigation_action_get_reason
-webkit_web_navigation_action_get_target_frame
-webkit_web_navigation_action_set_original_uri
-webkit_web_navigation_action_set_reason
-<SUBSECTION Standard>
-WEBKIT_IS_WEB_NAVIGATION_ACTION
-WEBKIT_IS_WEB_NAVIGATION_ACTION_CLASS
-WEBKIT_TYPE_WEB_NAVIGATION_ACTION
-WEBKIT_WEB_NAVIGATION_ACTION
-WEBKIT_WEB_NAVIGATION_ACTION_CLASS
-WEBKIT_WEB_NAVIGATION_ACTION_GET_CLASS
-<SUBSECTION Private>
-WebKitWebNavigationActionClass
-WebKitWebNavigationActionPrivate
-webkit_web_navigation_action_get_type
-</SECTION>
-
-<SECTION>
-<FILE>webkitwebpolicydecision</FILE>
-<TITLE>WebKitWebPolicyDecision</TITLE>
-WebKitWebPolicyDecision
-webkit_web_policy_decision_download
-webkit_web_policy_decision_ignore
-webkit_web_policy_decision_use
-<SUBSECTION Standard>
-WEBKIT_IS_WEB_POLICY_DECISION
-WEBKIT_IS_WEB_POLICY_DECISION_CLASS
-WEBKIT_TYPE_WEB_POLICY_DECISION
-WEBKIT_WEB_POLICY_DECISION
-WEBKIT_WEB_POLICY_DECISION_CLASS
-WEBKIT_WEB_POLICY_DECISION_GET_CLASS
-<SUBSECTION Private>
-WebKitWebPolicyDecisionClass
-WebKitWebPolicyDecisionPrivate
-webkit_web_policy_decision_get_type
-</SECTION>
-
-<SECTION>
-<FILE>webkitgeolocationpolicydecision</FILE>
-<TITLE>WebKitGeolocationPolicyDecision</TITLE>
-WebKitGeolocationPolicyDecision
-webkit_geolocation_policy_allow
-webkit_geolocation_policy_deny
-<SUBSECTION Standard>
-WEBKIT_IS_GEOLOCATION_POLICY_DECISION
-WEBKIT_IS_GEOLOCATION_POLICY_DECISION_CLASS
-WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION
-WEBKIT_GEOLOCATION_POLICY_DECISION
-WEBKIT_GEOLOCATION_POLICY_DECISION_CLASS
-WEBKIT_GEOLOCATION_POLICY_DECISION_GET_CLASS
-<SUBSECTION Private>
-WebKitGeolocationPolicyDecisionClass
-WebKitGeolocationPolicyDecisionPrivate
-webkit_geolocation_policy_decision_get_type
-</SECTION>
-
-<SECTION>
-<FILE>webkitnetworkrequest</FILE>
-<TITLE>WebKitNetworkRequest</TITLE>
-WebKitNetworkRequest
-webkit_network_request_new
-webkit_network_request_get_uri
-webkit_network_request_get_message
-webkit_network_request_set_uri
-<SUBSECTION Standard>
-WEBKIT_NETWORK_REQUEST
-WEBKIT_IS_NETWORK_REQUEST
-WEBKIT_TYPE_NETWORK_REQUEST
-WEBKIT_NETWORK_REQUEST_CLASS
-WEBKIT_IS_NETWORK_REQUEST_CLASS
-WEBKIT_NETWORK_REQUEST_GET_CLASS
-<SUBSECTION Private>
-WebKitNetworkRequestPrivate
-WebKitNetworkRequestClass
-webkit_network_request_get_type
-</SECTION>
-
-<SECTION>
-<FILE>webkitnetworkresponse</FILE>
-<TITLE>WebKitNetworkResponse</TITLE>
-WebKitNetworkResponse
-webkit_network_response_get_uri
-webkit_network_response_get_message
-webkit_network_response_get_suggested_filename
-webkit_network_response_set_uri
-<SUBSECTION Standard>
-WEBKIT_NETWORK_RESPONSE
-WEBKIT_IS_NETWORK_RESPONSE
-WEBKIT_TYPE_NETWORK_RESPONSE
-WEBKIT_NETWORK_RESPONSE_CLASS
-WEBKIT_IS_NETWORK_RESPONSE_CLASS
-WEBKIT_NETWORK_RESPONSE_GET_CLASS
-<SUBSECTION Private>
-WebKitNetworkResponsePrivate
-WebKitNetworkResponseClass
-webkit_network_response_new
-webkit_network_response_get_type
-</SECTION>
-
-<SECTION>
-<FILE>webkitwebview</FILE>
-WebKitNavigationResponse
-WebKitWebViewTargetInfo
-WebKitWebViewViewMode
-<TITLE>WebKitWebView</TITLE>
-WebKitWebView
-webkit_web_view_can_copy_clipboard
-webkit_web_view_can_cut_clipboard
-webkit_web_view_can_go_back
-webkit_web_view_can_go_back_or_forward
-webkit_web_view_can_go_forward
-webkit_web_view_can_paste_clipboard
-webkit_web_view_can_redo
-webkit_web_view_can_show_mime_type
-webkit_web_view_can_undo
-webkit_web_view_copy_clipboard
-webkit_web_view_cut_clipboard
-webkit_web_view_delete_selection
-webkit_web_view_execute_script
-webkit_web_view_get_back_forward_list
-webkit_web_view_get_copy_target_list
-webkit_web_view_get_custom_encoding
-webkit_web_view_get_dom_document
-webkit_web_view_get_editable
-webkit_web_view_get_encoding
-webkit_web_view_get_focused_frame
-webkit_web_view_get_full_content_zoom
-webkit_web_view_get_hit_test_result
-webkit_web_view_get_icon_pixbuf
-webkit_web_view_get_icon_uri
-webkit_web_view_get_inspector
-webkit_web_view_get_load_status
-webkit_web_view_get_main_frame
-webkit_web_view_get_paste_target_list
-webkit_web_view_get_progress
-webkit_web_view_get_settings
-webkit_web_view_get_title
-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
-webkit_web_view_go_forward
-webkit_web_view_go_to_back_forward_item
-webkit_web_view_has_selection
-webkit_web_view_load_html_string
-webkit_web_view_load_request
-webkit_web_view_load_string
-webkit_web_view_load_uri
-webkit_web_view_mark_text_matches
-webkit_web_view_move_cursor
-webkit_web_view_new
-webkit_web_view_open
-webkit_web_view_paste_clipboard
-webkit_web_view_redo
-webkit_web_view_reload
-webkit_web_view_reload_bypass_cache
-webkit_web_view_search_text
-webkit_web_view_select_all
-webkit_web_view_set_custom_encoding
-webkit_web_view_set_editable
-webkit_web_view_set_full_content_zoom
-webkit_web_view_set_highlight_text_matches
-webkit_web_view_set_maintains_back_forward_list
-webkit_web_view_set_settings
-webkit_web_view_set_transparent
-webkit_web_view_set_view_mode
-webkit_web_view_set_view_source_mode
-webkit_web_view_set_zoom_level
-webkit_web_view_stop_loading
-webkit_web_view_try_get_favicon_pixbuf
-webkit_web_view_undo
-webkit_web_view_unmark_text_matches
-webkit_web_view_zoom_in
-webkit_web_view_zoom_out
-webkit_web_view_get_window_features
-webkit_web_view_get_snapshot
-<SUBSECTION Standard>
-WEBKIT_WEB_VIEW
-WEBKIT_IS_WEB_VIEW
-WEBKIT_TYPE_WEB_VIEW
-WEBKIT_WEB_VIEW_CLASS
-WEBKIT_IS_WEB_VIEW_CLASS
-WEBKIT_WEB_VIEW_GET_CLASS
-<SUBSECTION Private>
-webkit_web_view_get_type
-WebKitWebViewPrivate
-WebKitWebViewClass
-WebKitInsertAction
-WebKitSelectionAffinity
-</SECTION>
-
-<SECTION>
-<FILE>webkitwebwindowfeatures</FILE>
-<TITLE>WebKitWebWindowFeatures</TITLE>
-WebKitWebWindowFeatures
-webkit_web_window_features_equal
-webkit_web_window_features_new
-<SUBSECTION Standard>
-WEBKIT_IS_WEB_WINDOW_FEATURES
-WEBKIT_IS_WEB_WINDOW_FEATURES_CLASS
-WEBKIT_TYPE_WEB_WINDOW_FEATURES
-WEBKIT_WEB_WINDOW_FEATURES
-WEBKIT_WEB_WINDOW_FEATURES_CLASS
-WEBKIT_WEB_WINDOW_FEATURES_GET_CLASS
-<SUBSECTION Private>
-webkit_web_window_features_get_type
-WebKitWebWindowFeaturesClass
-WebKitWebWindowFeaturesPrivate
-</SECTION>
-
-<SECTION>
-<FILE>webkit</FILE>
-<TITLE>Global functions</TITLE>
-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
-webkit_get_favicon_database
-webkit_get_icon_database
-webkit_get_text_checker
-webkit_set_text_checker
-<SUBSECTION ApplicationCache>
-webkit_application_cache_get_database_directory_path
-webkit_application_cache_get_maximum_size
-webkit_application_cache_set_maximum_size
-<SUBSECTION CacheModel>
-WebKitCacheModel
-webkit_get_cache_model
-webkit_set_cache_model
-<SUBSECTION ContextMenuItem>
-WebKitContextMenuAction
-webkit_context_menu_item_get_action
-<SUBSECTION SecurityPolicy>
-WebKitSecurityPolicy
-webkit_set_security_policy_for_uri_scheme
-webkit_get_security_policy_for_uri_scheme
-<SUBSECTION Private>
-WEBKITGTK_API_VERSION
-</SECTION>
-
-<SECTION>
-<FILE>webkitwebresource</FILE>
-<TITLE>WebKitWebResource</TITLE>
-WebKitWebResource
-webkit_web_resource_get_data
-webkit_web_resource_get_encoding
-webkit_web_resource_get_frame_name
-webkit_web_resource_get_mime_type
-webkit_web_resource_get_uri
-webkit_web_resource_new
-<SUBSECTION Standard>
-WEBKIT_WEB_RESOURCE
-WEBKIT_IS_WEB_RESOURCE
-WEBKIT_TYPE_WEB_RESOURCE
-WEBKIT_WEB_RESOURCE_CLASS
-WEBKIT_IS_WEB_RESOURCE_CLASS
-WEBKIT_WEB_RESOURCE_GET_CLASS
-<SUBSECTION Private>
-webkit_web_resource_get_type
-WebKitWebResourcePrivate
-WebKitWebResourceClass
-</SECTION>
-
-<SECTION>
-<FILE>webkitviewportattributes</FILE>
-<TITLE>WebKitViewportAttributes</TITLE>
-WebKitViewportAttributes
-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
-WebKitViewportAttributesClass
-WebKitViewportAttributesPrivate
-</SECTION>
-
-<SECTION>
-<FILE>webkitwebplugin</FILE>
-<TITLE>WebKitWebPlugin</TITLE>
-WebKitWebPlugin
-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
-webkit_web_plugin_get_path
-<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>
-WebKitWebPluginClass
-WebKitWebPluginPrivate
-webkit_web_plugin_get_type
-</SECTION>
-
-<SECTION>
-<FILE>webkitwebplugindatabase</FILE>
-<TITLE>WebKitWebPluginDatabase</TITLE>
-WebKitWebPluginDatabase
-webkit_web_plugin_database_get_plugin_for_mimetype
-webkit_web_plugin_database_get_plugins
-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>
-WebKitWebPluginDatabaseClass
-WebKitWebPluginDatabasePrivate
-webkit_web_plugin_database_get_type
-</SECTION>
-
-<SECTION>
-<FILE>webkitspellchecker</FILE>
-<TITLE>WebKitSpellChecker</TITLE>
-WebKitSpellChecker
-webkit_spell_checker_check_spelling_of_string
-webkit_spell_checker_get_guesses_for_word
-webkit_spell_checker_update_spell_checking_languages
-webkit_spell_checker_get_autocorrect_suggestions_for_misspelled_word
-webkit_spell_checker_learn_word
-webkit_spell_checker_ignore_word
-<SUBSECTION Standard>
-WEBKIT_TYPE_SPELL_CHECKER
-WEBKIT_SPELL_CHECKER
-WEBKIT_IS_SPELL_CHECKER
-WEBKIT_SPELL_CHECKER_GET_IFACE
-<SUBSECTION Private>
-WebKitSpellCheckerInterface
-webkit_spell_checker_get_type
-</SECTION>
-
-<SECTION>
-<FILE>webkiterror</FILE>
-WEBKIT_NETWORK_ERROR
-WEBKIT_PLUGIN_ERROR
-WEBKIT_POLICY_ERROR
-WebKitNetworkError
-WebKitPluginError
-WebKitPolicyError
-webkit_network_error_quark
-webkit_plugin_error_quark
-webkit_policy_error_quark
-</SECTION>
-
-<SECTION>
-<FILE>webkiticondatabase</FILE>
-<TITLE>WebKitIconDatabase</TITLE>
-WebKitIconDatabase
-webkit_icon_database_clear
-webkit_icon_database_get_icon_pixbuf
-webkit_icon_database_get_icon_uri
-webkit_icon_database_get_path
-webkit_icon_database_get_type
-webkit_icon_database_set_path
-<SUBSECTION Standard>
-WEBKIT_TYPE_ICON_DATABASE
-WEBKIT_ICON_DATABASE
-WEBKIT_ICON_DATABASE_CLASS
-WEBKIT_ICON_DATABASE_GET_CLASS
-WEBKIT_IS_ICON_DATABASE
-WEBKIT_IS_ICON_DATABASE_CLASS
-<SUBSECTION Private>
-WebKitIconDatabaseClass
-WebKitIconDatabasePrivate
-</SECTION>
-
-<SECTION>
-<FILE>webkitfavicondatabase</FILE>
-<TITLE>WebKitFaviconDatabase</TITLE>
-WebKitFaviconDatabase
-webkit_favicon_database_clear
-webkit_favicon_database_get_favicon_pixbuf
-webkit_favicon_database_get_favicon_pixbuf_finish
-webkit_favicon_database_get_favicon_uri
-webkit_favicon_database_get_path
-webkit_favicon_database_get_type
-webkit_favicon_database_set_path
-webkit_favicon_database_try_get_favicon_pixbuf
-<SUBSECTION Standard>
-WEBKIT_TYPE_FAVICON_DATABASE
-WEBKIT_FAVICON_DATABASE
-WEBKIT_FAVICON_DATABASE_CLASS
-WEBKIT_FAVICON_DATABASE_GET_CLASS
-WEBKIT_IS_FAVICON_DATABASE
-WEBKIT_IS_FAVICON_DATABASE_CLASS
-<SUBSECTION Private>
-WebKitFaviconDatabaseClass
-WebKitFaviconDatabasePrivate
-</SECTION>
-
-<SECTION>
-<FILE>webkitfilechooserrequest</FILE>
-<TITLE>WebKitFileChooserRequest</TITLE>
-WebKitFileChooserRequest
-webkit_file_chooser_request_get_select_multiple
-webkit_file_chooser_request_get_mime_types
-webkit_file_chooser_request_get_mime_types_filter
-webkit_file_chooser_request_get_selected_files
-webkit_file_chooser_request_select_files
-
-<SUBSECTION Standard>
-WEBKIT_TYPE_FILE_CHOOSER_REQUEST
-WEBKIT_FILE_CHOOSER_REQUEST
-WEBKIT_IS_FILE_CHOOSER_REQUEST
-WEBKIT_FILE_CHOOSER_REQUEST_CLASS
-WEBKIT_IS_FILE_CHOOSER_REQUEST_CLASS
-WEBKIT_FILE_CHOOSER_REQUEST_GET_CLASS
-
-<SUBSECTION Private>
-WebKitFileChooserRequestClass
-WebKitFileChooserRequestPrivate
-webkit_file_chooser_request_get_type
-</SECTION>
-
-<SECTION>
-<FILE>webkitdefines</FILE>
-WEBKIT_API
-WEBKITGTK_API_VERSION
-WEBKIT_OBSOLETE_API
-WEBKIT_CHECK_VERSION
-WEBKIT_MAJOR_VERSION
-WEBKIT_MICRO_VERSION
-WEBKIT_MINOR_VERSION
-webkit_check_version
-webkit_major_version
-webkit_micro_version
-webkit_minor_version
-<SUBSECTION Private>
-LIBSOUP_I_HAVE_READ_BUG_594377_AND_KNOW_SOUP_PASSWORD_MANAGER_MIGHT_GO_AWAY
-WEBKIT_USER_AGENT_MAJOR_VERSION
-WEBKIT_USER_AGENT_MINOR_VERSION
-</SECTION>
diff --git a/Source/WebKit/gtk/docs/webkitgtk.types b/Source/WebKit/gtk/docs/webkitgtk.types
deleted file mode 100644
index 8049b5c04..000000000
--- a/Source/WebKit/gtk/docs/webkitgtk.types
+++ /dev/null
@@ -1,26 +0,0 @@
-#include <webkit/webkit.h>
-webkit_download_get_type
-webkit_favicon_database_get_type
-webkit_file_chooser_request_get_type
-webkit_geolocation_policy_decision_get_type
-webkit_hit_test_result_get_type
-webkit_icon_database_get_type
-webkit_network_request_get_type
-webkit_network_response_get_type
-webkit_security_origin_get_type
-webkit_soup_auth_dialog_get_type
-webkit_viewport_attributes_get_type
-webkit_web_back_forward_list_get_type
-webkit_web_database_get_type
-webkit_web_data_source_get_type
-webkit_web_frame_get_type
-webkit_web_history_item_get_type
-webkit_web_inspector_get_type
-webkit_web_navigation_action_get_type
-webkit_web_plugin_database_get_type
-webkit_web_plugin_get_type
-webkit_web_policy_decision_get_type
-webkit_web_resource_get_type
-webkit_web_settings_get_type
-webkit_web_view_get_type
-webkit_web_window_features_get_type
diff --git a/Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h b/Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h
deleted file mode 100644
index 2c32f2c9a..000000000
--- a/Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2008, 2009 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
- *
- * 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 ConvertToGCharPrivate_h
-#define ConvertToGCharPrivate_h
-
-#include "KURL.h"
-#include <wtf/text/CString.h>
-#include <wtf/text/AtomicString.h>
-#include <wtf/text/WTFString.h>
-
-inline gchar* copyAsGchar(WTF::String const& s)
-{
- return g_strdup(s.utf8().data());
-}
-
-inline gchar* copyAsGchar(WebCore::KURL const& s)
-{
- return copyAsGchar(s.string());
-}
-
-inline gchar* copyAsGchar(const String& s)
-{
- return g_strdup(s.UTF8String().c_str());
-}
-
-inline gchar* copyAsGchar(WTF::AtomicString const& s)
-{
- return g_strdup(s.string().utf8().data());
-}
-
-#endif /* ConvertToGCharPrivate_h*/
diff --git a/Source/WebKit/gtk/resources/error.html b/Source/WebKit/gtk/resources/error.html
deleted file mode 100644
index 229be2c42..000000000
--- a/Source/WebKit/gtk/resources/error.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-<head>
-<title>Error</title>
-<style type="text/css">
-body {
- background-color: #fff;
- margin: 0;
- padding: 0;
-}
-
-#errorContainer {
- background: #fff;
- min-width: 35em;
- max-width: 35em;
- position: absolute;
- top: 2em;
- left: 1em;
- padding: 10px;
- border: 2px solid #eee;
- -webkit-border-radius: 5px;
-}
-
-#errorTitleText {
- font-size: 120%%;
- font-weight: bold;
-}
-
-#errorMessageText {
- font-size: 80%%;
-}
-
-</style>
-<script type="text/javascript">
-
-function tryagain()
-{
- location.reload();
-}
-</script>
-</head>
-<body>
-<div id="errorContainer">
-
-<div id="errorTitle">
- <p id="errorTitleText">Unable to load page</p>
-</div>
-<div id="errorMessage">
- <p>Problem occurred while loading the URL %s</p>
- <p id="errorMessageText">%s</a>
-</p>
-</div>
-
-<form name="bl">
-<input type="button" value="Try again" onclick="javascript:tryagain()" />
-</form>
-
-</div>
-
-</body>
-</html>
diff --git a/Source/WebKit/gtk/tests/resources/blank.ico b/Source/WebKit/gtk/tests/resources/blank.ico
deleted file mode 100644
index ea848b991..000000000
--- a/Source/WebKit/gtk/tests/resources/blank.ico
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/gtk/tests/resources/test.html b/Source/WebKit/gtk/tests/resources/test.html
deleted file mode 100644
index 98f7d4fd9..000000000
--- a/Source/WebKit/gtk/tests/resources/test.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>
-<head><title>test</title></head>
-<body>test</body>
-</html>></head>
-<body>test</body>
-</html>
diff --git a/Source/WebKit/gtk/tests/resources/test.ogg b/Source/WebKit/gtk/tests/resources/test.ogg
deleted file mode 100644
index 7f3a3b9c5..000000000
--- a/Source/WebKit/gtk/tests/resources/test.ogg
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/gtk/tests/resources/test.pdf b/Source/WebKit/gtk/tests/resources/test.pdf
deleted file mode 100644
index 2424c19d9..000000000
--- a/Source/WebKit/gtk/tests/resources/test.pdf
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/gtk/tests/resources/test.txt b/Source/WebKit/gtk/tests/resources/test.txt
deleted file mode 100644
index 9daeafb98..000000000
--- a/Source/WebKit/gtk/tests/resources/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-test
diff --git a/Source/WebKit/gtk/tests/test_utils.c b/Source/WebKit/gtk/tests/test_utils.c
deleted file mode 100644
index 6bb645d0d..000000000
--- a/Source/WebKit/gtk/tests/test_utils.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2010 Arno Renevier
- *
- * 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 "test_utils.h"
-
-#include <glib.h>
-#include <glib/gstdio.h>
-
-int testutils_relative_chdir(const gchar *targetFilename, const gchar *executablePath)
-{
- /* user can set location of the webkit repository directory if it differs from build directory */
- const gchar *repoPath = g_getenv("WEBKITREPODIR");
- if (repoPath) {
- if (g_chdir(repoPath))
- return -1;
- } else if (g_chdir(g_path_get_dirname(executablePath)))
- return -1;
-
- while (!g_file_test(targetFilename, G_FILE_TEST_EXISTS)) {
- gchar *pathName;
- if (g_chdir(".."))
- return -1;
- g_assert(!g_str_equal((pathName = g_get_current_dir()), "/"));
- g_free(pathName);
- }
-
- gchar *dirName = g_path_get_dirname(targetFilename);
- if (g_chdir(dirName)) {
- g_free(dirName);
- return -1;
- }
-
- g_free(dirName);
- return 0;
-}
diff --git a/Source/WebKit/gtk/tests/test_utils.h b/Source/WebKit/gtk/tests/test_utils.h
deleted file mode 100644
index ec60da3f0..000000000
--- a/Source/WebKit/gtk/tests/test_utils.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#include <glib.h>
-
-int testutils_relative_chdir(const gchar *targetFilename, const gchar *executablePath);
diff --git a/Source/WebKit/gtk/tests/testapplicationcache.c b/Source/WebKit/gtk/tests/testapplicationcache.c
deleted file mode 100644
index 3a2909e26..000000000
--- a/Source/WebKit/gtk/tests/testapplicationcache.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2011 Lukasz Slachciak
- *
- * 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,1 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 "autotoolsconfig.h"
-#include <glib.h>
-#include <glib/gprintf.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-static void test_application_cache_maximum_size()
-{
- unsigned long long maxSize = 8192;
- webkit_application_cache_set_maximum_size(maxSize);
-
- // Creating a WebView - make sure that it didn't change anything
- WebKitWebView* webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(webView);
- g_object_unref(webView);
-
- g_assert(maxSize == webkit_application_cache_get_maximum_size());
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/application_cache/maximum_size",
- test_application_cache_maximum_size);
-
- return g_test_run();
-}
-
diff --git a/Source/WebKit/gtk/tests/testatk.c b/Source/WebKit/gtk/tests/testatk.c
deleted file mode 100644
index 242f1d78a..000000000
--- a/Source/WebKit/gtk/tests/testatk.c
+++ /dev/null
@@ -1,2117 +0,0 @@
-/*
- * Copyright (C) 2009 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 "autotoolsconfig.h"
-#include <errno.h>
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <gtk/gtk.h>
-#include <locale.h>
-#include <unistd.h>
-#include <webkit/webkit.h>
-
-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>";
-
-static const char* contents = "<html><body><p>This is a test. This is the second sentence. And this the third.</p></body></html>";
-
-static const char* contentsWithNewlines = "<html><body><p>This is a test. \n\nThis\n is the second sentence. And this the third.</p></body></html>";
-
-static const char* contentsWithPreformattedText = "<html><body><pre>\n\t\n\tfirst line\n\tsecond line\n</pre></body></html>";
-
-static const char* contentsWithSpecialChars = "<html><body><p>&laquo;&nbsp;This is a paragraph with &ldquo;special&rdquo; characters inside.&nbsp;&raquo;</p><ul><li style='max-width:100px;'>List item with some text that wraps across different lines.</li><li style='max-width:100px;'><p>List item with some text that wraps across different lines.</p></li></ul></body></html>";
-
-static const char* contentsInTextarea = "<html><body><textarea cols='80'>This is a test. This is the second sentence. And this the third.</textarea></body></html>";
-
-static const char* contentsInTextInput = "<html><body><input type='text' size='80' value='This is a test. This is the second sentence. And this the third.'/></body></html>";
-
-static const char* contentsInParagraphAndBodySimple = "<html><body><p>This is a test.</p>Hello world.</body></html>";
-
-static const char* contentsInParagraphAndBodyModerate = "<html><body><p>This is a test.</p>Hello world.<br /><font color='#00cc00'>This sentence is green.</font><br />This one is not.</body></html>";
-
-static const char* contentsInTable = "<html><body><table><tr><td>foo</td><td>bar</td></tr></table></body></html>";
-
-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* contentsWithExtraneousWhiteSpaces = "<html><head><body><p>This\n paragraph\n is\n borked!</p></body></html>";
-
-static const char* contentsWithWrappedLines = "<html><body><p style='max-width:150px;'>This is one line wrapped because of the maximum width of its container.</p><p>This is another line wrapped<br>because of one forced<br>line break in the middle.</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* embeddedObjects = "<html><body><p>Choose: <input value='foo' type='checkbox'/>foo <input value='bar' type='checkbox'/>bar (pick one)</p><p>Choose: <select name='foo'><option>bar</option><option>baz</option></select> (pick one)</p><p><input name='foobarbutton' value='foobar' type='button'/></p></body></html>";
-
-static const char* formWithTextInputs = "<html><body><form><input type='text' name='entry' /><input type='password' name='passwordEntry' /></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><ol><li>List item with a <span><a href='http://foo.bar.baz/'>link inside a span node</a></span></li></ol></body></html>";
-
-static const char* layoutAndDataTables = "<html><body><table><tr><th>Odd</th><th>Even</th></tr><tr><td>1</td><td>2</td></tr></table><table><tr><td>foo</td><td>bar</td></tr></table></body></html>";
-
-static const char* linksWithInlineImages = "<html><head><style>a.http:before {content: url(no-image.png);}</style><body><p><a class='http' href='foo'>foo</a> bar baz</p><p>foo <a class='http' href='bar'>bar</a> baz</p><p>foo bar <a class='http' href='baz'>baz</a></p></body></html>";
-
-static const char* listsOfItems = "<html><body><ul><li>text only</li><li><a href='foo'>link only</a></li><li>text and a <a href='bar'>link</a></li></ul><ol><li>text only</li><li><a href='foo'>link only</a></li><li>text and a <a href='bar'>link</a></li></ol></body></html>";
-
-static const char* textForCaretBrowsing = "<html><body><h1>A text header</h1><p>A paragraph <a href='http://foo.bar.baz/'>with a link</a> in the middle</p><ol><li>A list item</li><li><span style='display:block;'>Block span in a list item</span><span>Inline span in a list item</span></li><li><a href='foo'><span style='display:block;'>Block span in a link in a list item</span><span>Inline span in a link in a list item</span></a></li></ol><select><option selected value='foo'>An option in a combo box</option></select><input type='text' name='foo' value='foo bar baz' /><table><tr><td>a table cell</td><td></td><td><a href='foo'><span style='display:block;'>Block span in a link in a table cell</span><span>Inline span in a link in a table cell</span></a></td><td><span style='display:block;'>Block span in a table cell</span><span>Inline span in a table cell</span></td></tr></table><h4><a href='foo'><span style='display:block;'>Block span in a link in a heading</span><span>Inline span in a link in a heading</span></h4><h4><span style='display:block;'>Block span in a heading</span><span>Inline span in a heading</span></h4></body></html>";
-
-static const char* textForSelections = "<html><body><p>A paragraph with plain text</p><p>A paragraph with <a href='http://webkit.org'>a link</a> in the middle</p><ol><li>A list item</li></ol><select></body></html>";
-
-static const char* textWithAttributes = "<html><head><style>.st1 {font-family: monospace; color:rgb(120,121,122);} .st2 {text-decoration:underline; background-color:rgb(80,81,82);}</style></head><body><p style=\"font-size:14; text-align:right;\">This is the <i>first</i><b> sentence of this text.</b></p><p class=\"st1\">This sentence should have an style applied <span class=\"st2\">and this part should have another one</span>.</p><p>x<sub>1</sub><sup>2</sup>=x<sub>2</sub><sup>3</sup></p><p style=\"text-align:center;\">This sentence is the <strike>last</strike> one.</p></body></html>";
-
-static AtkObject* getWebAreaObject(WebKitWebView* webView)
-{
- /* Manually spin the main context to make sure the accessible
- objects are properly created before continuing. */
- while (g_main_context_pending(0))
- g_main_context_iteration(0, TRUE);
-
- AtkObject* rootObject = gtk_widget_get_accessible(GTK_WIDGET(webView));
- if (!rootObject)
- return NULL;
-
- AtkObject* webAreaObject = atk_object_ref_accessible_child(rootObject, 0);
- if (!webAreaObject)
- return NULL;
-
- /* We don't need the extra ref here. */
- g_object_unref(webAreaObject);
-
- return webAreaObject;
-}
-
-typedef gchar* (*AtkGetTextFunction) (AtkText*, gint, AtkTextBoundary, gint*, gint*);
-
-static void testGetTextFunction(AtkText* textObject, AtkGetTextFunction fn, AtkTextBoundary boundary, gint offset, const char* textResult, gint startOffsetResult, gint endOffsetResult)
-{
- gint startOffset;
- gint endOffset;
- char* text = fn(textObject, offset, boundary, &startOffset, &endOffset);
- g_assert_cmpstr(text, ==, textResult);
- g_assert_cmpint(startOffset, ==, startOffsetResult);
- g_assert_cmpint(endOffset, ==, endOffsetResult);
- g_free(text);
-}
-
-static void runGetTextTests(AtkText* textObject)
-{
- char* text = atk_text_get_text(textObject, 0, -1);
- g_assert_cmpstr(text, ==, "This is a test. This is the second sentence. And this the third.");
- g_free(text);
-
- /* ATK_TEXT_BOUNDARY_CHAR */
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_CHAR,
- 0, "T", 0, 1);
-
- testGetTextFunction(textObject, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_CHAR,
- 0, "h", 1, 2);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_CHAR,
- 0, "", 0, 0);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_CHAR,
- 1, "T", 0, 1);
-
- /* ATK_TEXT_BOUNDARY_WORD_START */
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_START,
- 0, "This ", 0, 5);
-
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_START,
- 4, "This ", 0, 5);
-
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_START,
- 10, "test. ", 10, 16);
-
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_START,
- 58, "third.", 58, 64);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_START,
- 5, "This ", 0, 5);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_START,
- 7, "This ", 0, 5);
-
- testGetTextFunction(textObject, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_START,
- 0, "is ", 5, 8);
-
- testGetTextFunction(textObject, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_START,
- 4, "is ", 5, 8);
-
- testGetTextFunction(textObject, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_START,
- 3, "is ", 5, 8);
-
- /* ATK_TEXT_BOUNDARY_WORD_END */
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_END,
- 0, "This", 0, 4);
-
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_END,
- 4, " is", 4, 7);
-
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_END,
- 5, " is", 4, 7);
-
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_END,
- 9, " test", 9, 14);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_END,
- 5, "This", 0, 4);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_END,
- 4, "This", 0, 4);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_END,
- 7, " is", 4, 7);
-
- testGetTextFunction(textObject, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_END,
- 5, " a", 7, 9);
-
- testGetTextFunction(textObject, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_END,
- 4, " a", 7, 9);
-
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_END,
- 58, " third", 57, 63);
-
- /* ATK_TEXT_BOUNDARY_SENTENCE_START */
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_SENTENCE_START,
- 0, "This is a test. ", 0, 16);
-
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_SENTENCE_START,
- 15, "This is a test. ", 0, 16);
-
- testGetTextFunction(textObject, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_SENTENCE_START,
- 0, "This is the second sentence. ", 16, 45);
-
- testGetTextFunction(textObject, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_SENTENCE_START,
- 15, "This is the second sentence. ", 16, 45);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_START,
- 16, "This is a test. ", 0, 16);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_START,
- 44, "This is a test. ", 0, 16);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_START,
- 15, "", 0, 0);
-
- /* ATK_TEXT_BOUNDARY_SENTENCE_END */
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_SENTENCE_END,
- 0, "This is a test.", 0, 15);
-
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_SENTENCE_END,
- 15, " This is the second sentence.", 15, 44);
-
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_SENTENCE_END,
- 16, " This is the second sentence.", 15, 44);
-
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_SENTENCE_END,
- 17, " This is the second sentence.", 15, 44);
-
- testGetTextFunction(textObject, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_SENTENCE_END,
- 0, " This is the second sentence.", 15, 44);
-
- testGetTextFunction(textObject, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_SENTENCE_END,
- 15, " And this the third.", 44, 64);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_END,
- 16, "This is a test.", 0, 15);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_END,
- 15, "This is a test.", 0, 15);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_END,
- 14, "", 0, 0);
-
- testGetTextFunction(textObject, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_SENTENCE_END,
- 44, " This is the second sentence.", 15, 44);
-
- /* It's tricky to test these properly right now, since our a11y
- implementation splits different lines in different a11y items. */
- /* ATK_TEXT_BOUNDARY_LINE_START */
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_START,
- 0, "This is a test. This is the second sentence. And this the third.", 0, 64);
-
- /* ATK_TEXT_BOUNDARY_LINE_END */
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_END,
- 0, "This is a test. This is the second sentence. And this the third.", 0, 64);
-
- /* For objects implementing AtkEditableText, try to change the
- exposed text and retrieve it again as a full line.
- (see https://bugs.webkit.org/show_bug.cgi?id=72830) */
- if (ATK_IS_EDITABLE_TEXT(textObject)) {
- atk_editable_text_set_text_contents(ATK_EDITABLE_TEXT(textObject), "foo bar baz");
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_START, 0, "foo bar baz", 0, 11);
- testGetTextFunction(textObject, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_END, 0, "foo bar baz", 0, 11);
- }
-}
-
-static gchar* textCaretMovedResult = 0;
-
-static void textCaretMovedCallback(AtkText* text, gint pos, gpointer data)
-{
- g_assert(ATK_IS_TEXT(text));
-
- g_free(textCaretMovedResult);
- AtkRole role = atk_object_get_role(ATK_OBJECT(text));
- textCaretMovedResult = g_strdup_printf("|%s|%d|", atk_role_get_name(role), pos);
-}
-
-static void testWebkitAtkCaretOffsets()
-{
- 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, textForCaretBrowsing, 0, 0, 0);
-
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- AtkObject* header = atk_object_ref_accessible_child(object, 0);
- g_assert(ATK_IS_TEXT(header));
- g_signal_connect(header, "text-caret-moved", G_CALLBACK(textCaretMovedCallback), 0);
-
- gchar* text = atk_text_get_text(ATK_TEXT(header), 0, -1);
- g_assert_cmpstr(text, ==, "A text header");
- g_free (text);
-
- /* It should be possible to place the caret inside a header. */
- gboolean result = atk_text_set_caret_offset(ATK_TEXT(header), 5);
- g_assert_cmpint(result, ==, TRUE);
- gint offset = atk_text_get_caret_offset(ATK_TEXT(header));
- g_assert_cmpint(offset, ==, 5);
- g_assert_cmpstr(textCaretMovedResult, ==, "|heading|5|");
-
- AtkObject* paragraph = atk_object_ref_accessible_child(object, 1);
- g_assert(ATK_IS_TEXT(paragraph));
- g_signal_connect(paragraph, "text-caret-moved", G_CALLBACK(textCaretMovedCallback), 0);
-
- text = atk_text_get_text(ATK_TEXT(paragraph), 0, -1);
- g_assert_cmpstr(text, ==, "A paragraph with a link in the middle");
- g_free (text);
-
- /* It should be possible to place the caret inside a paragraph and a link. */
- result = atk_text_set_caret_offset(ATK_TEXT(paragraph), 5);
- g_assert_cmpint(result, ==, TRUE);
- offset = atk_text_get_caret_offset(ATK_TEXT(paragraph));
- g_assert_cmpint(offset, ==, 5);
- g_assert_cmpstr(textCaretMovedResult, ==, "|paragraph|5|");
-
- result = atk_text_set_caret_offset(ATK_TEXT(paragraph), 20);
- g_assert_cmpint(result, ==, TRUE);
- offset = atk_text_get_caret_offset(ATK_TEXT(paragraph));
- g_assert_cmpint(offset, ==, 20);
- g_assert_cmpstr(textCaretMovedResult, ==, "|paragraph|20|");
-
- result = atk_text_set_caret_offset(ATK_TEXT(paragraph), 30);
- g_assert_cmpint(result, ==, TRUE);
- offset = atk_text_get_caret_offset(ATK_TEXT(paragraph));
- g_assert_cmpint(offset, ==, 30);
- g_assert_cmpstr(textCaretMovedResult, ==, "|paragraph|30|");
-
- AtkObject* link = atk_object_ref_accessible_child(paragraph, 0);
- g_assert(ATK_IS_TEXT(link));
- text = atk_text_get_text(ATK_TEXT(link), 0, -1);
- g_assert_cmpstr(text, ==, "with a link");
- g_free (text);
-
- result = atk_text_set_caret_offset(ATK_TEXT(link), 5);
- g_assert_cmpint(result, ==, TRUE);
- offset = atk_text_get_caret_offset(ATK_TEXT(link));
- g_assert_cmpint(offset, ==, 5);
- /* Positions inside links are reported relative to the paragraph. */
- g_assert_cmpstr(textCaretMovedResult, ==, "|paragraph|17|");
-
- AtkObject* list = atk_object_ref_accessible_child(object, 2);
- g_assert(ATK_OBJECT(list));
- g_assert(atk_object_get_role(list) == ATK_ROLE_LIST);
- g_assert_cmpint(atk_object_get_n_accessible_children(list), ==, 3);
-
- AtkObject* listItem = atk_object_ref_accessible_child(list, 0);
- g_assert(ATK_IS_TEXT(listItem));
- text = atk_text_get_text(ATK_TEXT(listItem), 0, -1);
- g_assert_cmpstr(text, ==, "1. A list item");
- g_free (text);
-
- listItem = atk_object_ref_accessible_child(list, 1);
- g_assert(ATK_IS_TEXT(listItem));
- text = atk_text_get_text(ATK_TEXT(listItem), 0, -1);
- g_assert_cmpstr(text, ==, "2. Block span in a list item\nInline span in a list item");
- g_free (text);
-
- listItem = atk_object_ref_accessible_child(list, 2);
- g_assert(ATK_IS_TEXT(listItem));
- text = atk_text_get_text(ATK_TEXT(listItem), 0, -1);
- g_assert_cmpstr(text, ==, "3. Block span in a link in a list item\nInline span in a link in a list item");
- g_free (text);
-
- /* It's not possible to place the caret inside an item's marker. */
- result = atk_text_set_caret_offset(ATK_TEXT(listItem), 1);
- g_assert_cmpint(result, ==, FALSE);
-
- /* It should be possible to place the caret inside an item's text. */
- result = atk_text_set_caret_offset(ATK_TEXT(listItem), 5);
- g_assert_cmpint(result, ==, TRUE);
- offset = atk_text_get_caret_offset(ATK_TEXT(listItem));
- g_assert_cmpint(offset, ==, 5);
-
- AtkObject* panel = atk_object_ref_accessible_child(object, 3);
- g_assert(ATK_IS_OBJECT(panel));
- g_assert(atk_object_get_role(panel) == ATK_ROLE_PANEL);
-
- AtkObject* comboBox = atk_object_ref_accessible_child(panel, 0);
- g_assert(ATK_IS_OBJECT(comboBox));
- g_assert(!ATK_IS_TEXT(comboBox));
- g_assert(atk_object_get_role(comboBox) == ATK_ROLE_COMBO_BOX);
-
- AtkObject* menuPopup = atk_object_ref_accessible_child(comboBox, 0);
- g_assert(ATK_IS_OBJECT(menuPopup));
- g_assert(!ATK_IS_TEXT(menuPopup));
- g_assert(atk_object_get_role(menuPopup) == ATK_ROLE_MENU);
-
- AtkObject* comboBoxOption = atk_object_ref_accessible_child(menuPopup, 0);
- g_assert(ATK_IS_OBJECT(comboBoxOption));
- g_assert(atk_object_get_role(comboBoxOption) == ATK_ROLE_MENU_ITEM);
- g_assert(ATK_IS_TEXT(comboBoxOption));
- text = atk_text_get_text(ATK_TEXT(comboBoxOption), 0, -1);
- g_assert_cmpstr(text, ==, "An option in a combo box");
- g_free(text);
-
- /* It's not possible to place the caret inside an option for a combobox. */
- result = atk_text_set_caret_offset(ATK_TEXT(comboBoxOption), 1);
- g_assert_cmpint(result, ==, FALSE);
-
- AtkObject* textEntry = atk_object_ref_accessible_child(panel, 1);
- g_assert(ATK_IS_OBJECT(textEntry));
- g_assert(atk_object_get_role(textEntry) == ATK_ROLE_ENTRY);
- g_assert(ATK_IS_TEXT(textEntry));
- text = atk_text_get_text(ATK_TEXT(textEntry), 0, -1);
- g_assert_cmpstr(text, ==, "foo bar baz");
- g_free(text);
-
- result = atk_text_set_caret_offset(ATK_TEXT(textEntry), 5);
- g_assert_cmpint(result, ==, TRUE);
- offset = atk_text_get_caret_offset(ATK_TEXT(textEntry));
- g_assert_cmpint(offset, ==, 5);
-
- AtkObject* table = atk_object_ref_accessible_child(object, 4);
- g_assert(ATK_IS_OBJECT(table));
- g_assert(!ATK_IS_TEXT(table));
- g_assert(atk_object_get_role(table) == ATK_ROLE_TABLE);
- g_assert_cmpint(atk_object_get_n_accessible_children(table), ==, 4);
-
- AtkObject* tableCell = atk_object_ref_accessible_child(table, 0);
- g_assert(ATK_IS_TEXT(tableCell));
- g_assert(atk_object_get_role(tableCell) == ATK_ROLE_TABLE_CELL);
- text = atk_text_get_text(ATK_TEXT(tableCell), 0, -1);
- g_assert_cmpstr(text, ==, "a table cell");
- g_free(text);
-
- result = atk_text_set_caret_offset(ATK_TEXT(tableCell), 2);
- g_assert_cmpint(result, ==, TRUE);
- offset = atk_text_get_caret_offset(ATK_TEXT(tableCell));
- g_assert_cmpint(offset, ==, 2);
-
- /* Even empty table cells should implement AtkText, but report an empty string */
- tableCell = atk_object_ref_accessible_child(table, 1);
- g_assert(ATK_IS_TEXT(tableCell));
- g_assert(atk_object_get_role(tableCell) == ATK_ROLE_TABLE_CELL);
- text = atk_text_get_text(ATK_TEXT(tableCell), 0, -1);
- g_assert_cmpstr(text, ==, "");
- g_free(text);
-
- tableCell = atk_object_ref_accessible_child(table, 2);
- g_assert(ATK_IS_TEXT(tableCell));
- g_assert(atk_object_get_role(tableCell) == ATK_ROLE_TABLE_CELL);
- text = atk_text_get_text(ATK_TEXT(tableCell), 0, -1);
- g_assert_cmpstr(text, ==, "Block span in a link in a table cell\nInline span in a link in a table cell");
- g_free(text);
-
- tableCell = atk_object_ref_accessible_child(table, 3);
- g_assert(ATK_IS_TEXT(tableCell));
- g_assert(atk_object_get_role(tableCell) == ATK_ROLE_TABLE_CELL);
- text = atk_text_get_text(ATK_TEXT(tableCell), 0, -1);
- g_assert_cmpstr(text, ==, "Block span in a table cell\nInline span in a table cell");
- g_free(text);
-
- header = atk_object_ref_accessible_child(object, 5);
- g_assert(ATK_IS_TEXT(header));
- g_assert(atk_object_get_role(header) == ATK_ROLE_HEADING);
- text = atk_text_get_text(ATK_TEXT(header), 0, -1);
- g_assert_cmpstr(text, ==, "Block span in a link in a heading\nInline span in a link in a heading");
- g_free(text);
-
- header = atk_object_ref_accessible_child(object, 6);
- g_assert(ATK_IS_TEXT(header));
- g_assert(atk_object_get_role(header) == ATK_ROLE_HEADING);
- text = atk_text_get_text(ATK_TEXT(header), 0, -1);
- g_assert_cmpstr(text, ==, "Block span in a heading\nInline span in a heading");
- g_free(text);
-
- g_free(textCaretMovedResult);
-
- g_object_unref(header);
- g_object_unref(paragraph);
- g_object_unref(link);
- g_object_unref(list);
- g_object_unref(listItem);
- g_object_unref(panel);
- g_object_unref(comboBox);
- g_object_unref(menuPopup);
- g_object_unref(comboBoxOption);
- g_object_unref(textEntry);
- g_object_unref(table);
- g_object_unref(tableCell);
- g_object_unref(webView);
-}
-
-static void testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces()
-{
- 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, contentsWithExtraneousWhiteSpaces, 0, 0, 0);
-
- /* Enable caret browsing. */
- WebKitWebSettings* settings = webkit_web_view_get_settings(webView);
- g_object_set(G_OBJECT(settings), "enable-caret-browsing", TRUE, NULL);
- webkit_web_view_set_settings(webView, settings);
-
- /* Get to the inner AtkText object. */
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
- object = atk_object_ref_accessible_child(object, 0);
- g_assert(object);
-
- AtkText* textObject = ATK_TEXT(object);
- g_assert(ATK_IS_TEXT(textObject));
-
- gchar* text = atk_text_get_text(textObject, 0, -1);
- g_assert_cmpstr(text, ==, "This paragraph is borked!");
- g_free(text);
-
- gint characterCount = atk_text_get_character_count(textObject);
- g_assert_cmpint(characterCount, ==, 25);
-
- gboolean result = atk_text_set_caret_offset(textObject, characterCount - 1);
- g_assert_cmpint(result, ==, TRUE);
-
- gint caretOffset = atk_text_get_caret_offset(textObject);
- g_assert_cmpint(caretOffset, ==, characterCount - 1);
-
- result = atk_text_set_caret_offset(textObject, characterCount);
- g_assert_cmpint(result, ==, TRUE);
-
- caretOffset = atk_text_get_caret_offset(textObject);
- g_assert_cmpint(caretOffset, ==, characterCount);
-
- g_object_unref(webView);
-}
-
-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, comboBoxSelector, 0, 0, 0);
-
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- 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 that the menu popup has 0 links and doesn't crash from checking. */
- gint nLinks = atk_hypertext_get_n_links(ATK_HYPERTEXT(menuPopup));
- g_assert_cmpint(nLinks, ==, 0);
-
- /* 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);
-
- 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 gchar* loadingEventsResult = 0;
-
-static void updateLoadingEventsResult(const gchar* signalName)
-{
- g_assert(signalName);
-
- gchar* previousResult = loadingEventsResult;
- loadingEventsResult = g_strdup_printf("%s|%s", previousResult, signalName);
- g_free(previousResult);
-}
-
-static gboolean documentLoadingEventCallback(GSignalInvocationHint *signalHint, guint numParamValues, const GValue *paramValues, gpointer data)
-{
- // At least we should receive the instance emitting the signal.
- if (numParamValues < 1)
- return TRUE;
-
- GSignalQuery signal_query;
- g_signal_query(signalHint->signal_id, &signal_query);
-
- updateLoadingEventsResult(signal_query.signal_name);
- return TRUE;
-}
-
-static void testWebkitAtkDocumentLoadingEvents()
-{
- 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);
-
- /* Connect globally to see those events during a future load. */
- guint loadCompleteListenerId = atk_add_global_event_listener(documentLoadingEventCallback, "ATK:AtkDocument:load-complete");
-
- /* Do the load, so we can see those events happening. */
- loadingEventsResult = g_strdup("");
- webkit_web_view_load_string(webView, contents, 0, 0, 0);
-
- /* Trigger the creation of the full accessibility hierarchy by
- asking for the webArea object, so we can listen to events. */
- getWebAreaObject(webView);
-
- atk_remove_global_event_listener(loadCompleteListenerId);
-
- g_assert_cmpstr(loadingEventsResult, ==, "|load-complete");
-
- g_free(loadingEventsResult);
- g_object_unref(webView);
-}
-
-static void testWebkitAtkEmbeddedObjects()
-{
- 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, embeddedObjects, 0, 0, 0);
-
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- AtkText* paragraph1 = ATK_TEXT(atk_object_ref_accessible_child(object, 0));
- g_assert(ATK_IS_TEXT(paragraph1));
- g_assert(ATK_IS_HYPERTEXT(paragraph1));
-
- const gchar* expectedText = "Choose: \357\277\274foo \357\277\274bar (pick one)";
- char* text = atk_text_get_text(paragraph1, 0, -1);
- g_assert_cmpstr(text, ==, expectedText);
- g_free(text);
-
- gint nLinks = atk_hypertext_get_n_links(ATK_HYPERTEXT(paragraph1));
- g_assert_cmpint(nLinks, ==, 2);
-
- AtkHyperlink* hLink = atk_hypertext_get_link(ATK_HYPERTEXT(paragraph1), 0);
- g_assert(ATK_HYPERLINK(hLink));
- AtkObject* hLinkObject = atk_hyperlink_get_object(hLink, 0);
- g_assert(ATK_OBJECT(hLinkObject));
- g_assert(atk_object_get_role(hLinkObject) == ATK_ROLE_CHECK_BOX);
- g_assert_cmpint(atk_hyperlink_get_start_index(hLink), ==, 8);
- g_assert_cmpint(atk_hyperlink_get_end_index(hLink), ==, 9);
- g_assert_cmpint(atk_hyperlink_get_n_anchors(hLink), ==, 1);
- g_assert_cmpstr(atk_hyperlink_get_uri(hLink, 0), ==, 0);
-
- AtkText* paragraph2 = ATK_TEXT(atk_object_ref_accessible_child(object, 1));
- g_assert(ATK_IS_TEXT(paragraph2));
- g_assert(ATK_IS_HYPERTEXT(paragraph2));
-
- expectedText = "Choose: \357\277\274 (pick one)";
- text = atk_text_get_text(paragraph2, 0, -1);
- g_assert_cmpstr(text, ==, expectedText);
- g_free(text);
-
- nLinks = atk_hypertext_get_n_links(ATK_HYPERTEXT(paragraph2));
- g_assert_cmpint(nLinks, ==, 1);
-
- hLink = atk_hypertext_get_link(ATK_HYPERTEXT(paragraph2), 0);
- g_assert(ATK_HYPERLINK(hLink));
- hLinkObject = atk_hyperlink_get_object(hLink, 0);
- g_assert(ATK_OBJECT(hLinkObject));
- g_assert(atk_object_get_role(hLinkObject) == ATK_ROLE_COMBO_BOX);
- g_assert_cmpint(atk_hyperlink_get_start_index(hLink), ==, 8);
- g_assert_cmpint(atk_hyperlink_get_end_index(hLink), ==, 9);
- g_assert_cmpint(atk_hyperlink_get_n_anchors(hLink), ==, 1);
- g_assert_cmpstr(atk_hyperlink_get_uri(hLink, 0), ==, 0);
-
- AtkText* paragraph3 = ATK_TEXT(atk_object_ref_accessible_child(object, 2));
- g_assert(ATK_IS_TEXT(paragraph3));
- g_assert(ATK_IS_HYPERTEXT(paragraph3));
-
- expectedText = "\357\277\274";
- text = atk_text_get_text(paragraph3, 0, -1);
- g_assert_cmpstr(text, ==, expectedText);
- g_free(text);
-
- nLinks = atk_hypertext_get_n_links(ATK_HYPERTEXT(paragraph3));
- g_assert_cmpint(nLinks, ==, 1);
-
- hLink = atk_hypertext_get_link(ATK_HYPERTEXT(paragraph3), 0);
- g_assert(ATK_HYPERLINK(hLink));
- hLinkObject = atk_hyperlink_get_object(hLink, 0);
- g_assert(ATK_OBJECT(hLinkObject));
- g_assert(atk_object_get_role(hLinkObject) == ATK_ROLE_PUSH_BUTTON);
- g_assert_cmpint(atk_hyperlink_get_start_index(hLink), ==, 0);
- g_assert_cmpint(atk_hyperlink_get_end_index(hLink), ==, 1);
- g_assert_cmpint(atk_hyperlink_get_n_anchors(hLink), ==, 1);
- g_assert_cmpstr(atk_hyperlink_get_uri(hLink, 0), ==, 0);
-
- g_object_unref(paragraph1);
- g_object_unref(paragraph2);
- g_object_unref(paragraph3);
- g_object_unref(webView);
-}
-
-static void testWebkitAtkGetTextAtOffset()
-{
- 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);
-
- /* Get to the inner AtkText object. */
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
- object = atk_object_ref_accessible_child(object, 0);
- g_assert(object);
-
- AtkText* textObject = ATK_TEXT(object);
- g_assert(ATK_IS_TEXT(textObject));
-
- runGetTextTests(textObject);
-
- g_object_unref(webView);
-}
-
-static void testWebkitAtkGetTextAtOffsetNewlines()
-{
- 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, contentsWithNewlines, 0, 0, 0);
-
- /* Get to the inner AtkText object. */
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
- object = atk_object_ref_accessible_child(object, 0);
- g_assert(object);
-
- AtkText* textObject = ATK_TEXT(object);
- g_assert(ATK_IS_TEXT(textObject));
-
- runGetTextTests(textObject);
-
- g_object_unref(webView);
-}
-
-static void testWebkitAtkGetTextAtOffsetTextarea()
-{
- 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, contentsInTextarea, 0, 0, 0);
-
- /* Get to the inner AtkText object. */
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
- object = atk_object_ref_accessible_child(object, 0);
- g_assert(object);
- object = atk_object_ref_accessible_child(object, 0);
- g_assert(object);
-
- AtkText* textObject = ATK_TEXT(object);
- g_assert(ATK_IS_TEXT(textObject));
-
- runGetTextTests(textObject);
-
- g_object_unref(webView);
-}
-
-static void testWebkitAtkGetTextAtOffsetTextInput()
-{
- 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, contentsInTextInput, 0, 0, 0);
-
- /* Get to the inner AtkText object. */
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
- object = atk_object_ref_accessible_child(object, 0);
- g_assert(object);
- object = atk_object_ref_accessible_child(object, 0);
- g_assert(object);
-
- AtkText* textObject = ATK_TEXT(object);
- g_assert(ATK_IS_TEXT(textObject));
-
- runGetTextTests(textObject);
-
- g_object_unref(webView);
-}
-
-static void testWebkitAtkGetTextAtOffsetWithPreformattedText()
-{
- 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, contentsWithPreformattedText, 0, 0, 0);
-
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- AtkObject* preformattedText = atk_object_ref_accessible_child(object, 0);
- g_assert(ATK_IS_OBJECT(preformattedText));
- g_assert(atk_object_get_role(preformattedText) == ATK_ROLE_PANEL);
- g_assert(ATK_IS_TEXT(preformattedText));
- char* text = atk_text_get_text(ATK_TEXT(preformattedText), 0, -1);
- g_assert_cmpstr(text, ==, "\t\n\tfirst line\n\tsecond line\n");
- g_free(text);
-
- /* Try retrieving all the lines indicating the position of the offsets at the beginning of each of them. */
- testGetTextFunction(ATK_TEXT(preformattedText), atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_START, 0, "\t\n", 0, 2);
- testGetTextFunction(ATK_TEXT(preformattedText), atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_START, 2, "\tfirst line\n", 2, 14);
- testGetTextFunction(ATK_TEXT(preformattedText), atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_START, 14, "\tsecond line\n", 14, 27);
-
- g_object_unref(preformattedText);
- g_object_unref(webView);
-}
-
-static void testWebkitAtkGetTextAtOffsetWithSpecialCharacters()
-{
- 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, contentsWithSpecialChars, 0, 0, 0);
-
- /* Get to the inner AtkText object. */
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- AtkObject* paragraph = atk_object_ref_accessible_child(object, 0);
- g_assert(ATK_IS_TEXT(paragraph));
-
- gchar* expectedText = g_strdup("\302\253\302\240This is a paragraph with \342\200\234special\342\200\235 characters inside.\302\240\302\273");
- char* text = atk_text_get_text(ATK_TEXT(paragraph), 0, -1);
- g_assert_cmpstr(text, ==, expectedText);
- g_free(text);
-
- /* Check that getting the text with ATK_TEXT_BOUNDARY_LINE_START
- and ATK_TEXT_BOUNDARY_LINE_END does not crash because of not
- properly handling characters inside the UTF-8 string. */
- testGetTextFunction(ATK_TEXT(paragraph), atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_START, 0, expectedText, 0, 57);
- testGetTextFunction(ATK_TEXT(paragraph), atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_END, 0, expectedText, 0, 57);
- g_free(expectedText);
-
- AtkObject* list = atk_object_ref_accessible_child(object, 1);
- g_assert(ATK_OBJECT(list));
-
- AtkText* listItem = ATK_TEXT(atk_object_ref_accessible_child(list, 0));
- g_assert(ATK_IS_TEXT(listItem));
-
- text = atk_text_get_text(ATK_TEXT(listItem), 0, -1);
- g_assert_cmpstr(text, ==, "\342\200\242 List item with some text that wraps across different lines.");
- g_free(text);
-
- /* Check that getting the text with ATK_TEXT_BOUNDARY_LINE_START
- and ATK_TEXT_BOUNDARY_LINE_END for line items with bullets
- (special character) and wrapped text always return the right
- piece of text for each line. */
- testGetTextFunction(ATK_TEXT(listItem), atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_START, 3, "\342\200\242 List item ", 0, 12);
- testGetTextFunction(ATK_TEXT(listItem), atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_START, 13, "with some ", 12, 22);
- testGetTextFunction(ATK_TEXT(listItem), atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_END, 0, "\342\200\242 List item", 0, 11);
- testGetTextFunction(ATK_TEXT(listItem), atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_END, 12, " with some", 11, 21);
-
- g_object_unref(listItem);
-
- listItem = ATK_TEXT(atk_object_ref_accessible_child(list, 1));
- g_assert(ATK_IS_TEXT(listItem));
-
- /* Check that placing the same text in a paragraph doesn't break things. */
- text = atk_text_get_text(ATK_TEXT(listItem), 0, -1);
- g_assert_cmpstr(text, ==, "\342\200\242 List item with some text that wraps across different lines.");
- g_free(text);
-
- testGetTextFunction(ATK_TEXT(listItem), atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_START, 3, "\342\200\242 List item ", 0, 12);
- testGetTextFunction(ATK_TEXT(listItem), atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_START, 13, "with some ", 12, 22);
- testGetTextFunction(ATK_TEXT(listItem), atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_END, 0, "\342\200\242 List item", 0, 11);
- testGetTextFunction(ATK_TEXT(listItem), atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_END, 12, " with some", 11, 21);
-
- g_object_unref(list);
- g_object_unref(listItem);
- g_object_unref(paragraph);
- g_object_unref(webView);
-}
-
-static void testWebkitAtkGetTextAtOffsetWithWrappedLines()
-{
- 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, contentsWithWrappedLines, 0, 0, 0);
-
- /* Enable caret browsing. */
- WebKitWebSettings* settings = webkit_web_view_get_settings(webView);
- g_object_set(settings, "enable-caret-browsing", TRUE, NULL);
- webkit_web_view_set_settings(webView, settings);
-
- /* Get to the inner AtkText object. */
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- /* Check the paragraph with the text wrapped because of max-width. */
- AtkText* paragraph1 = ATK_TEXT(atk_object_ref_accessible_child(object, 0));
- g_assert(ATK_IS_TEXT(paragraph1));
-
- gchar* text = atk_text_get_text(paragraph1, 0, -1);
- g_assert_cmpstr(text, ==, "This is one line wrapped because of the maximum width of its container.");
- g_free(text);
-
- testGetTextFunction(paragraph1, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_CHAR, 16, "e", 15, 16);
- testGetTextFunction(paragraph1, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_CHAR, 16, " ", 16, 17);
- testGetTextFunction(paragraph1, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_CHAR, 16, "w", 17, 18);
-
- testGetTextFunction(paragraph1, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_START, 16, "one ", 8, 12);
- testGetTextFunction(paragraph1, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_START, 16, "line ", 12, 17);
- testGetTextFunction(paragraph1, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_START, 16, "wrapped ", 17, 25);
-
- testGetTextFunction(paragraph1, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_END, 16, " line", 11, 16);
- testGetTextFunction(paragraph1, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_END, 16, " wrapped", 16, 24);
- testGetTextFunction(paragraph1, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_END, 16, " because", 24, 32);
-
- testGetTextFunction(paragraph1, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_LINE_START, 17, "This is one line ", 0, 17);
- testGetTextFunction(paragraph1, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_START, 17, "wrapped because ", 17, 33);
- testGetTextFunction(paragraph1, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_LINE_START, 17, "of the maximum ", 33, 48);
-
- /* The following line won't work at the moment because of a bug in GailTextUtil.
- see https://bugzilla.gnome.org/show_bug.cgi?id=703554
- testGetTextFunction(paragraph1, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_LINE_END, 17, "This is one line", 0, 16); */
- testGetTextFunction(paragraph1, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_END, 17, " wrapped because", 16, 32);
- testGetTextFunction(paragraph1, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_LINE_END, 17, " of the maximum", 32, 47);
-
- g_object_unref(paragraph1);
-
- /* Check the paragraph with the text wrapped because of <br> elements. */
- AtkText* paragraph2 = ATK_TEXT(atk_object_ref_accessible_child(object, 1));
- g_assert(ATK_IS_TEXT(paragraph2));
-
- text = atk_text_get_text(paragraph2, 0, -1);
- g_assert_cmpstr(text, ==, "This is another line wrapped\nbecause of one forced\nline break in the middle.");
- g_free(text);
-
- testGetTextFunction(paragraph2, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_CHAR, 28, "d", 27, 28);
- testGetTextFunction(paragraph2, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_CHAR, 28, "\n", 28, 29);
- testGetTextFunction(paragraph2, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_CHAR, 28, "b", 29, 30);
-
- testGetTextFunction(paragraph2, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_START, 28, "line ", 16, 21);
- testGetTextFunction(paragraph2, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_START, 28, "wrapped\n", 21, 29);
- testGetTextFunction(paragraph2, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_START, 28, "because ", 29, 37);
-
- testGetTextFunction(paragraph2, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_WORD_END, 28, " wrapped", 20, 28);
- testGetTextFunction(paragraph2, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_WORD_END, 28, "\nbecause", 28, 36);
- testGetTextFunction(paragraph2, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_WORD_END, 28, " of", 36, 39);
-
- testGetTextFunction(paragraph2, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_LINE_START, 30, "This is another line wrapped\n", 0, 29);
- testGetTextFunction(paragraph2, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_START, 30, "because of one forced\n", 29, 51);
- testGetTextFunction(paragraph2, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_LINE_START, 30, "line break in the middle.", 51, 76);
-
- /* The following line won't work at the moment because of a bug in GailTextUtil.
- see https://bugzilla.gnome.org/show_bug.cgi?id=703554
- testGetTextFunction(paragraph2, atk_text_get_text_before_offset, ATK_TEXT_BOUNDARY_LINE_END, 30, "This is another line wrapped", 0, 28); */
- testGetTextFunction(paragraph2, atk_text_get_text_at_offset, ATK_TEXT_BOUNDARY_LINE_END, 30, "\nbecause of one forced", 28, 50);
- testGetTextFunction(paragraph2, atk_text_get_text_after_offset, ATK_TEXT_BOUNDARY_LINE_END, 30, "\nline break in the middle.", 50, 76);
-
- g_object_unref(paragraph2);
-
- g_object_unref(webView);
-}
-
-static void testWebkitAtkGetTextInParagraphAndBodySimple()
-{
- 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, contentsInParagraphAndBodySimple, 0, 0, 0);
-
- /* Get to the inner AtkText object. */
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
- AtkObject* object1 = atk_object_ref_accessible_child(object, 0);
- g_assert(object1);
- AtkObject* object2 = atk_object_ref_accessible_child(object, 1);
- g_assert(object2);
-
- AtkText* textObject1 = ATK_TEXT(object1);
- g_assert(ATK_IS_TEXT(textObject1));
- AtkText* textObject2 = ATK_TEXT(object2);
- g_assert(ATK_IS_TEXT(textObject2));
-
- char *text = atk_text_get_text(textObject1, 0, -1);
- g_assert_cmpstr(text, ==, "This is a test.");
-
- text = atk_text_get_text(textObject2, 0, 12);
- g_assert_cmpstr(text, ==, "Hello world.");
-
- g_object_unref(object1);
- g_object_unref(object2);
- g_object_unref(webView);
-}
-
-static void testWebkitAtkGetTextInParagraphAndBodyModerate()
-{
- 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, contentsInParagraphAndBodyModerate, 0, 0, 0);
-
- /* Get to the inner AtkText object. */
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
- AtkObject* object1 = atk_object_ref_accessible_child(object, 0);
- g_assert(object1);
- AtkObject* object2 = atk_object_ref_accessible_child(object, 1);
- g_assert(object2);
-
- AtkText* textObject1 = ATK_TEXT(object1);
- g_assert(ATK_IS_TEXT(textObject1));
- AtkText* textObject2 = ATK_TEXT(object2);
- g_assert(ATK_IS_TEXT(textObject2));
-
- char *text = atk_text_get_text(textObject1, 0, -1);
- g_assert_cmpstr(text, ==, "This is a test.");
-
- text = atk_text_get_text(textObject2, 0, 53);
- g_assert_cmpstr(text, ==, "Hello world.\nThis sentence is green.\nThis one is not.");
-
- g_object_unref(object1);
- g_object_unref(object2);
- g_object_unref(webView);
-}
-
-static void testWebkitAtkGetTextInTable()
-{
- 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, contentsInTable, 0, 0, 0);
-
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
- object = atk_object_ref_accessible_child(object, 0);
- g_assert(object);
-
- /* Tables should not implement AtkText. */
- g_assert(!G_TYPE_INSTANCE_GET_INTERFACE(object, ATK_TYPE_TEXT, AtkTextIface));
-
- g_object_unref(object);
- g_object_unref(webView);
-}
-
-static void testWebkitAtkGetHeadersInTable()
-{
- 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, contentsInTableWithHeaders, 0, 0, 0);
-
- AtkObject* axWebView = getWebAreaObject(webView);
- g_assert(axWebView);
-
- /* Check table with both column and row headers. */
- AtkObject* table = atk_object_ref_accessible_child(axWebView, 0);
- g_assert(table);
- g_assert(atk_object_get_role(table) == ATK_ROLE_TABLE);
-
- AtkObject* colHeader = atk_table_get_column_header(ATK_TABLE(table), 0);
- g_assert(colHeader);
- g_assert(atk_object_get_role(colHeader) == ATK_ROLE_TABLE_CELL);
- g_assert(atk_object_get_index_in_parent(colHeader) == 0);
-
- colHeader = atk_table_get_column_header(ATK_TABLE(table), 1);
- g_assert(colHeader);
- g_assert(atk_object_get_role(colHeader) == ATK_ROLE_TABLE_CELL);
- g_assert(atk_object_get_index_in_parent(colHeader) == 1);
-
- colHeader = atk_table_get_column_header(ATK_TABLE(table), 2);
- g_assert(colHeader);
- g_assert(atk_object_get_role(colHeader) == ATK_ROLE_TABLE_CELL);
- g_assert(atk_object_get_index_in_parent(colHeader) == 2);
-
- colHeader = atk_table_get_column_header(ATK_TABLE(table), 3);
- g_assert(colHeader);
- g_assert(atk_object_get_role(colHeader) == ATK_ROLE_TABLE_CELL);
- g_assert(atk_object_get_index_in_parent(colHeader) == 2);
-
- AtkObject* rowHeader = atk_table_get_row_header(ATK_TABLE(table), 0);
- g_assert(rowHeader);
- g_assert(atk_object_get_role(rowHeader) == ATK_ROLE_TABLE_CELL);
- g_assert(atk_object_get_index_in_parent(rowHeader) == 0);
-
- rowHeader = atk_table_get_row_header(ATK_TABLE(table), 1);
- g_assert(rowHeader);
- g_assert(atk_object_get_role(rowHeader) == ATK_ROLE_TABLE_CELL);
- g_assert(atk_object_get_index_in_parent(rowHeader) == 3);
-
- rowHeader = atk_table_get_row_header(ATK_TABLE(table), 2);
- g_assert(rowHeader);
- g_assert(atk_object_get_role(rowHeader) == ATK_ROLE_TABLE_CELL);
- g_assert(atk_object_get_index_in_parent(rowHeader) == 7);
-
- rowHeader = atk_table_get_row_header(ATK_TABLE(table), 3);
- g_assert(rowHeader);
- g_assert(atk_object_get_role(rowHeader) == ATK_ROLE_TABLE_CELL);
- g_assert(atk_object_get_index_in_parent(rowHeader) == 7);
-
- g_object_unref(table);
-
- /* Check table with no headers at all. */
- table = atk_object_ref_accessible_child(axWebView, 1);
- g_assert(table);
- g_assert(atk_object_get_role(table) == ATK_ROLE_TABLE);
-
- colHeader = atk_table_get_column_header(ATK_TABLE(table), 0);
- g_assert(colHeader == 0);
-
- colHeader = atk_table_get_column_header(ATK_TABLE(table), 1);
- g_assert(colHeader == 0);
-
- rowHeader = atk_table_get_row_header(ATK_TABLE(table), 0);
- g_assert(rowHeader == 0);
-
- rowHeader = atk_table_get_row_header(ATK_TABLE(table), 1);
- g_assert(rowHeader == 0);
-
- g_object_unref(table);
- g_object_unref(webView);
-}
-
-static gint compAtkAttribute(AtkAttribute* a1, AtkAttribute* a2)
-{
- gint strcmpVal = g_strcmp0(a1->name, a2->name);
- if (strcmpVal)
- return strcmpVal;
- return g_strcmp0(a1->value, a2->value);
-}
-
-static gint compAtkAttributeName(AtkAttribute* a1, AtkAttribute* a2)
-{
- return g_strcmp0(a1->name, a2->name);
-}
-
-static gboolean atkAttributeSetAttributeNameHasValue(AtkAttributeSet* set, const gchar* attributeName, const gchar* value)
-{
- AtkAttribute at;
- at.name = (gchar*)attributeName;
- GSList* element = g_slist_find_custom(set, &at, (GCompareFunc)compAtkAttributeName);
- return element && !g_strcmp0(((AtkAttribute*)(element->data))->value, value);
-}
-
-static gboolean atkAttributeSetContainsAttributeName(AtkAttributeSet* set, const gchar* attributeName)
-{
- AtkAttribute at;
- at.name = (gchar*)attributeName;
- return g_slist_find_custom(set, &at, (GCompareFunc)compAtkAttributeName) ? true : false;
-}
-
-static gboolean atkAttributeSetAttributeHasValue(AtkAttributeSet* set, AtkTextAttribute attribute, const gchar* value)
-{
- return atkAttributeSetAttributeNameHasValue(set, atk_text_attribute_get_name(attribute), value);
-}
-
-static gboolean atkAttributeSetAreEqual(AtkAttributeSet* set1, AtkAttributeSet* set2)
-{
- if (!set1)
- return !set2;
-
- set1 = g_slist_sort(set1, (GCompareFunc)compAtkAttribute);
- set2 = g_slist_sort(set2, (GCompareFunc)compAtkAttribute);
-
- while (set1) {
- if (!set2 || compAtkAttribute(set1->data, set2->data))
- return FALSE;
-
- set1 = set1->next;
- set2 = set2->next;
- }
-
- return (!set2);
-}
-
-static void testWebkitAtkTextAttributes()
-{
- 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, textWithAttributes, 0, 0, 0);
-
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- AtkObject* child = atk_object_ref_accessible_child(object, 0);
- g_assert(child && ATK_IS_TEXT(child));
- AtkText* childText = ATK_TEXT(child);
-
- gint startOffset;
- gint endOffset;
- AtkAttributeSet* set1 = atk_text_get_run_attributes(childText, 0, &startOffset, &endOffset);
- g_assert_cmpint(startOffset, ==, 0);
- g_assert_cmpint(endOffset, ==, 12);
- g_assert(atkAttributeSetAreEqual(set1, 0));
-
- AtkAttributeSet* set2 = atk_text_get_run_attributes(childText, 15, &startOffset, &endOffset);
- g_assert_cmpint(startOffset, ==, 12);
- g_assert_cmpint(endOffset, ==, 17);
- g_assert(atkAttributeSetAttributeHasValue(set2, ATK_TEXT_ATTR_STYLE, "italic"));
-
- AtkAttributeSet* set3 = atk_text_get_run_attributes(childText, 17, &startOffset, &endOffset);
- g_assert_cmpint(startOffset, ==, 17);
- g_assert_cmpint(endOffset, ==, 40);
- g_assert(atkAttributeSetAttributeHasValue(set3, ATK_TEXT_ATTR_WEIGHT, "700"));
-
- AtkAttributeSet* set4 = atk_text_get_default_attributes(childText);
- g_assert(atkAttributeSetAttributeHasValue(set4, ATK_TEXT_ATTR_STYLE, "normal"));
- g_assert(atkAttributeSetAttributeHasValue(set4, ATK_TEXT_ATTR_JUSTIFICATION, "right"));
- g_assert(atkAttributeSetAttributeHasValue(set4, ATK_TEXT_ATTR_SIZE, "14"));
- atk_attribute_set_free(set1);
- atk_attribute_set_free(set2);
- atk_attribute_set_free(set3);
- atk_attribute_set_free(set4);
-
- child = atk_object_ref_accessible_child(object, 1);
- g_assert(child && ATK_IS_TEXT(child));
- childText = ATK_TEXT(child);
-
- set1 = atk_text_get_default_attributes(childText);
- g_assert(atkAttributeSetAttributeHasValue(set1, ATK_TEXT_ATTR_FAMILY_NAME, "monospace"));
- g_assert(atkAttributeSetAttributeHasValue(set1, ATK_TEXT_ATTR_STYLE, "normal"));
- g_assert(atkAttributeSetAttributeHasValue(set1, ATK_TEXT_ATTR_STRIKETHROUGH, "false"));
- g_assert(atkAttributeSetAttributeHasValue(set1, ATK_TEXT_ATTR_WEIGHT, "400"));
- g_assert(atkAttributeSetAttributeHasValue(set1, ATK_TEXT_ATTR_FG_COLOR, "120,121,122"));
-
- set2 = atk_text_get_run_attributes(childText, 43, &startOffset, &endOffset);
- g_assert_cmpint(startOffset, ==, 43);
- g_assert_cmpint(endOffset, ==, 80);
- /* Checks that default attributes of text are not returned when called to atk_text_get_run_attributes. */
- g_assert(!atkAttributeSetAttributeHasValue(set2, ATK_TEXT_ATTR_FG_COLOR, "120,121,122"));
- g_assert(atkAttributeSetAttributeHasValue(set2, ATK_TEXT_ATTR_UNDERLINE, "single"));
- g_assert(atkAttributeSetAttributeHasValue(set2, ATK_TEXT_ATTR_BG_COLOR, "80,81,82"));
- atk_attribute_set_free(set1);
- atk_attribute_set_free(set2);
-
- child = atk_object_ref_accessible_child(object, 2);
- g_assert(child && ATK_IS_TEXT(child));
- childText = ATK_TEXT(child);
-
- set1 = atk_text_get_run_attributes(childText, 0, &startOffset, &endOffset);
- set2 = atk_text_get_run_attributes(childText, 3, &startOffset, &endOffset);
- g_assert(atkAttributeSetAreEqual(set1, set2));
- atk_attribute_set_free(set2);
-
- set2 = atk_text_get_run_attributes(childText, 1, &startOffset, &endOffset);
- set3 = atk_text_get_run_attributes(childText, 5, &startOffset, &endOffset);
- g_assert(atkAttributeSetAreEqual(set2, set3));
- g_assert(!atkAttributeSetAreEqual(set1, set2));
- atk_attribute_set_free(set3);
-
- set3 = atk_text_get_run_attributes(childText, 2, &startOffset, &endOffset);
- set4 = atk_text_get_run_attributes(childText, 6, &startOffset, &endOffset);
- g_assert(atkAttributeSetAreEqual(set3, set4));
- g_assert(!atkAttributeSetAreEqual(set1, set3));
- g_assert(!atkAttributeSetAreEqual(set2, set3));
- atk_attribute_set_free(set1);
- atk_attribute_set_free(set2);
- atk_attribute_set_free(set3);
- atk_attribute_set_free(set4);
-
- child = atk_object_ref_accessible_child(object, 3);
- g_assert(child && ATK_IS_TEXT(child));
- childText = ATK_TEXT(child);
- set1 = atk_text_get_run_attributes(childText, 24, &startOffset, &endOffset);
- g_assert_cmpint(startOffset, ==, 21);
- g_assert_cmpint(endOffset, ==, 25);
- g_assert(atkAttributeSetAttributeHasValue(set1, ATK_TEXT_ATTR_STRIKETHROUGH, "true"));
-
- set2 = atk_text_get_run_attributes(childText, 25, &startOffset, &endOffset);
- g_assert_cmpint(startOffset, ==, 25);
- g_assert_cmpint(endOffset, ==, 30);
- g_assert(atkAttributeSetAreEqual(set2, 0));
-
- set3 = atk_text_get_default_attributes(childText);
- g_assert(atkAttributeSetAttributeHasValue(set3, ATK_TEXT_ATTR_JUSTIFICATION, "center"));
- atk_attribute_set_free(set1);
- atk_attribute_set_free(set2);
- atk_attribute_set_free(set3);
-}
-
-static gchar* textSelectionChangedResult = 0;
-
-static void textSelectionChangedCallback(AtkText* text, gpointer data)
-{
- g_assert(ATK_IS_TEXT(text));
-
- g_free(textSelectionChangedResult);
- AtkRole role = atk_object_get_role(ATK_OBJECT(text));
- int startOffset = 0;
- int endOffset = 0;
- atk_text_get_selection(ATK_TEXT(text), 0, &startOffset, &endOffset);
- textSelectionChangedResult = g_strdup_printf("|%s|%d|%d|", atk_role_get_name(role), startOffset, endOffset);
-}
-
-static void testWebkitAtkTextSelections()
-{
- 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, textForSelections, 0, 0, 0);
-
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- AtkText* paragraph1 = ATK_TEXT(atk_object_ref_accessible_child(object, 0));
- g_assert(ATK_IS_TEXT(paragraph1));
- g_signal_connect(paragraph1, "text-selection-changed", G_CALLBACK(textSelectionChangedCallback), 0);
-
- AtkText* paragraph2 = ATK_TEXT(atk_object_ref_accessible_child(object, 1));
- g_assert(ATK_IS_TEXT(paragraph2));
- g_signal_connect(paragraph2, "text-selection-changed", G_CALLBACK(textSelectionChangedCallback), 0);
-
- AtkText* link = ATK_TEXT(atk_object_ref_accessible_child(ATK_OBJECT(paragraph2), 0));
- g_assert(ATK_IS_TEXT(link));
-
- AtkObject* list = atk_object_ref_accessible_child(object, 2);
- g_assert(ATK_OBJECT(list));
-
- AtkText* listItem = ATK_TEXT(atk_object_ref_accessible_child(list, 0));
- g_assert(ATK_IS_TEXT(listItem));
-
- /* First paragraph (simple text). */
-
- /* Basic initial checks. */
- g_assert_cmpint(atk_text_get_n_selections(paragraph1), ==, 0);
-
- gint startOffset;
- gint endOffset;
- gchar* selectedText = atk_text_get_selection(paragraph1, 0, &startOffset, &endOffset);
- g_assert_cmpint(startOffset, ==, 0);
- g_assert_cmpint(endOffset, ==, 0);
- g_assert_cmpstr(selectedText, ==, 0);
- g_free (selectedText);
-
- /* Try removing a non existing (yet) selection. */
- gboolean result = atk_text_remove_selection(paragraph1, 0);
- g_assert(!result);
-
- /* Try setting a 0-char selection. */
- result = atk_text_set_selection(paragraph1, 0, 5, 5);
- g_assert(result);
-
- /* Make a selection and test it. */
- result = atk_text_set_selection(paragraph1, 0, 5, 25);
- g_assert(result);
- g_assert_cmpint(atk_text_get_n_selections(paragraph1), ==, 1);
- g_assert_cmpstr(textSelectionChangedResult, ==, "|paragraph|5|25|");
- selectedText = atk_text_get_selection(paragraph1, 0, &startOffset, &endOffset);
- g_assert_cmpint(startOffset, ==, 5);
- g_assert_cmpint(endOffset, ==, 25);
- g_assert_cmpstr(selectedText, ==, "agraph with plain te");
- g_free (selectedText);
-
- /* Try removing the selection from other AtkText object (should fail). */
- result = atk_text_remove_selection(paragraph2, 0);
- g_assert(!result);
-
- /* Remove the selection and test everything again. */
- result = atk_text_remove_selection(paragraph1, 0);
- g_assert(result);
- g_assert_cmpint(atk_text_get_n_selections(paragraph1), ==, 0);
- selectedText = atk_text_get_selection(paragraph1, 0, &startOffset, &endOffset);
- /* Now offsets should be the same, set to the last position of the caret. */
- g_assert_cmpint(startOffset, ==, endOffset);
- g_assert_cmpint(startOffset, ==, 25);
- g_assert_cmpint(endOffset, ==, 25);
- g_assert_cmpstr(selectedText, ==, 0);
- g_free (selectedText);
-
- /* Second paragraph (text + link + text). */
-
- /* Set a selection partially covering the link and test it. */
- result = atk_text_set_selection(paragraph2, 0, 7, 21);
- g_assert(result);
-
- /* Test the paragraph first. */
- g_assert_cmpint(atk_text_get_n_selections(paragraph2), ==, 1);
- selectedText = atk_text_get_selection(paragraph2, 0, &startOffset, &endOffset);
- g_assert_cmpint(startOffset, ==, 7);
- g_assert_cmpint(endOffset, ==, 21);
- g_assert_cmpstr(selectedText, ==, "raph with a li");
- g_free (selectedText);
-
- /* Now test just the link. */
- g_assert_cmpint(atk_text_get_n_selections(link), ==, 1);
- selectedText = atk_text_get_selection(link, 0, &startOffset, &endOffset);
- g_assert_cmpint(startOffset, ==, 0);
- g_assert_cmpint(endOffset, ==, 4);
- g_assert_cmpstr(selectedText, ==, "a li");
- g_free (selectedText);
-
- /* Make a selection after the link and check selection for the whole paragraph. */
- result = atk_text_set_selection(paragraph2, 0, 27, 37);
- g_assert(result);
- g_assert_cmpint(atk_text_get_n_selections(paragraph2), ==, 1);
- g_assert_cmpstr(textSelectionChangedResult, ==, "|paragraph|27|37|");
- selectedText = atk_text_get_selection(paragraph2, 0, &startOffset, &endOffset);
- g_assert_cmpint(startOffset, ==, 27);
- g_assert_cmpint(endOffset, ==, 37);
- g_assert_cmpstr(selectedText, ==, "the middle");
- g_free (selectedText);
-
- /* Remove selections and text everything again. */
- result = atk_text_remove_selection(paragraph2, 0);
- g_assert(result);
- g_assert_cmpint(atk_text_get_n_selections(paragraph2), ==, 0);
- selectedText = atk_text_get_selection(paragraph2, 0, &startOffset, &endOffset);
- /* Now offsets should be the same (no selection). */
- g_assert_cmpint(startOffset, ==, endOffset);
- g_assert_cmpstr(selectedText, ==, 0);
- g_free (selectedText);
-
- g_assert_cmpint(atk_text_get_n_selections(link), ==, 0);
- selectedText = atk_text_get_selection(link, 0, &startOffset, &endOffset);
- /* Now offsets should be the same (no selection). */
- g_assert_cmpint(startOffset, ==, endOffset);
- g_assert_cmpstr(selectedText, ==, 0);
- g_free (selectedText);
-
- /* List item */
-
- g_assert(atk_object_get_role(list) == ATK_ROLE_LIST);
- g_assert_cmpint(atk_object_get_n_accessible_children(list), ==, 1);
-
- gchar* text = atk_text_get_text(listItem, 0, -1);
- g_assert_cmpstr(text, ==, "1. A list item");
- g_free (text);
-
- /* It's not possible to select text inside an item's marker. */
- result = atk_text_set_selection (listItem, 0, 0, 9);
- g_assert(!result);
- result = atk_text_set_selection (listItem, 0, 9, 1);
- g_assert(!result);
-
- /* It should be possible to select text inside an item's text. */
- result = atk_text_set_selection (listItem, 0, 3, 9);
- g_assert(result);
-
- g_assert_cmpint(atk_text_get_n_selections(listItem), ==, 1);
- selectedText = atk_text_get_selection(listItem, 0, &startOffset, &endOffset);
- g_assert_cmpint(startOffset, ==, 3);
- g_assert_cmpint(endOffset, ==, 9);
- g_assert_cmpstr(selectedText, ==, "A list");
- g_free (selectedText);
-
- g_free(textSelectionChangedResult);
-
- g_object_unref(paragraph1);
- g_object_unref(paragraph2);
- g_object_unref(list);
- g_object_unref(listItem);
- g_object_unref(webView);
-}
-
-static void testWebkitAtkGetExtents()
-{
- 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, centeredContents, 0, 0, 0);
-
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- AtkText* shortText1 = ATK_TEXT(atk_object_ref_accessible_child(object, 0));
- g_assert(ATK_IS_TEXT(shortText1));
- AtkText* longText = ATK_TEXT(atk_object_ref_accessible_child(object, 1));
- g_assert(ATK_IS_TEXT(longText));
- AtkText* shortText2 = ATK_TEXT(atk_object_ref_accessible_child(object, 2));
- g_assert(ATK_IS_TEXT(shortText2));
- AtkText* multilineText = ATK_TEXT(atk_object_ref_accessible_child(object, 3));
- g_assert(ATK_IS_TEXT(multilineText));
-
- /* Start with window extents. */
- AtkTextRectangle sline_window1, sline_window2, lline_window, mline_window;
- atk_text_get_range_extents(shortText1, 0, 10, ATK_XY_WINDOW, &sline_window1);
- atk_text_get_range_extents(longText, 0, 44, ATK_XY_WINDOW, &lline_window);
- atk_text_get_range_extents(shortText2, 0, 10, ATK_XY_WINDOW, &sline_window2);
- atk_text_get_range_extents(multilineText, 0, 60, ATK_XY_WINDOW, &mline_window);
-
- /* Check vertical line position. */
- g_assert_cmpint(sline_window1.y + sline_window1.height, <=, lline_window.y);
- g_assert_cmpint(lline_window.y + lline_window.height + sline_window2.height, <=, mline_window.y);
-
- /* Paragraphs 1 and 3 have identical text and alignment. */
- g_assert_cmpint(sline_window1.x, ==, sline_window2.x);
- g_assert_cmpint(sline_window1.width, ==, sline_window2.width);
- g_assert_cmpint(sline_window1.height, ==, sline_window2.height);
-
- /* All lines should be the same height; line 2 is the widest line. */
- g_assert_cmpint(sline_window1.height, ==, lline_window.height);
- g_assert_cmpint(sline_window1.width, <, lline_window.width);
-
- /* Make sure the character extents jive with the range extents. */
- gint x;
- gint y;
- gint width;
- gint height;
-
- /* First paragraph (short text). */
- atk_text_get_character_extents(shortText1, 0, &x, &y, &width, &height, ATK_XY_WINDOW);
- g_assert_cmpint(x, ==, sline_window1.x);
- g_assert_cmpint(y, ==, sline_window1.y);
- g_assert_cmpint(height, ==, sline_window1.height);
-
- atk_text_get_character_extents(shortText1, 9, &x, &y, &width, &height, ATK_XY_WINDOW);
- g_assert_cmpint(x, ==, sline_window1.x + sline_window1.width - width);
- g_assert_cmpint(y, ==, sline_window1.y);
- g_assert_cmpint(height, ==, sline_window1.height);
-
- /* Second paragraph (long text). */
- atk_text_get_character_extents(longText, 0, &x, &y, &width, &height, ATK_XY_WINDOW);
- g_assert_cmpint(x, ==, lline_window.x);
- g_assert_cmpint(y, ==, lline_window.y);
- g_assert_cmpint(height, ==, lline_window.height);
-
- atk_text_get_character_extents(longText, 43, &x, &y, &width, &height, ATK_XY_WINDOW);
- g_assert_cmpint(x, ==, lline_window.x + lline_window.width - width);
- g_assert_cmpint(y, ==, lline_window.y);
- g_assert_cmpint(height, ==, lline_window.height);
-
- /* Third paragraph (short text). */
- atk_text_get_character_extents(shortText2, 0, &x, &y, &width, &height, ATK_XY_WINDOW);
- g_assert_cmpint(x, ==, sline_window2.x);
- g_assert_cmpint(y, ==, sline_window2.y);
- g_assert_cmpint(height, ==, sline_window2.height);
-
- atk_text_get_character_extents(shortText2, 9, &x, &y, &width, &height, ATK_XY_WINDOW);
- g_assert_cmpint(x, ==, sline_window2.x + sline_window2.width - width);
- g_assert_cmpint(y, ==, sline_window2.y);
- g_assert_cmpint(height, ==, sline_window2.height);
-
- /* Four paragraph (3 lines multi-line text). */
- atk_text_get_character_extents(multilineText, 0, &x, &y, &width, &height, ATK_XY_WINDOW);
- g_assert_cmpint(x, ==, mline_window.x);
- g_assert_cmpint(y, ==, mline_window.y);
- g_assert_cmpint(3 * height, ==, mline_window.height);
-
- atk_text_get_character_extents(multilineText, 59, &x, &y, &width, &height, ATK_XY_WINDOW);
- /* Last line won't fill the whole width of the rectangle. */
- g_assert_cmpint(x, <=, mline_window.x + mline_window.width - width);
- g_assert_cmpint(y, ==, mline_window.y + mline_window.height - height);
- g_assert_cmpint(height, <=, mline_window.height);
-
- /* Check that extent for a full line are the same height than for
- a partial section of the same line */
- gint startOffset;
- gint endOffset;
- gchar* text = atk_text_get_text_at_offset(multilineText, 0, ATK_TEXT_BOUNDARY_LINE_START, &startOffset, &endOffset);
- g_free(text);
-
- AtkTextRectangle fline_window;
- AtkTextRectangle afline_window;
- atk_text_get_range_extents(multilineText, startOffset, endOffset, ATK_XY_WINDOW, &fline_window);
- atk_text_get_range_extents(multilineText, startOffset, endOffset - 1, ATK_XY_WINDOW, &afline_window);
- g_assert_cmpint(fline_window.x, ==, afline_window.x);
- g_assert_cmpint(fline_window.y, ==, afline_window.y);
- g_assert_cmpint(fline_window.height, ==, afline_window.height);
-
- g_object_unref(shortText1);
- g_object_unref(shortText2);
- g_object_unref(longText);
- g_object_unref(multilineText);
- g_object_unref(webView);
-}
-
-static void testWebkitAtkLayoutAndDataTables()
-{
- 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, layoutAndDataTables, 0, 0, 0);
-
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- /* Check the non-layout table (data table). */
-
- AtkObject* table1 = atk_object_ref_accessible_child(object, 0);
- g_assert(ATK_IS_TABLE(table1));
- AtkAttributeSet* set1 = atk_object_get_attributes(table1);
- g_assert(set1);
- g_assert(!atkAttributeSetContainsAttributeName(set1, "layout-guess"));
- atk_attribute_set_free(set1);
-
- /* Check the layout table. */
-
- AtkObject* table2 = atk_object_ref_accessible_child(object, 1);
- g_assert(ATK_IS_TABLE(table2));
- AtkAttributeSet* set2 = atk_object_get_attributes(table2);
- g_assert(set2);
- g_assert(atkAttributeSetContainsAttributeName(set2, "layout-guess"));
- g_assert(atkAttributeSetAttributeNameHasValue(set2, "layout-guess", "true"));
- atk_attribute_set_free(set2);
-
- g_object_unref(table1);
- g_object_unref(table2);
- g_object_unref(webView);
-}
-
-static void testWebkitAtkLinksWithInlineImages()
-{
- 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, linksWithInlineImages, 0, 0, 0);
-
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- /* First paragraph (link at the beginning). */
- AtkObject* paragraph = atk_object_ref_accessible_child(object, 0);
- g_assert(ATK_IS_TEXT(paragraph));
- gint startOffset;
- gint endOffset;
- gchar* text = atk_text_get_text_at_offset(ATK_TEXT(paragraph), 0, ATK_TEXT_BOUNDARY_LINE_START, &startOffset, &endOffset);
- g_assert(text);
- g_assert_cmpstr(text, ==, "foo bar baz");
- g_assert_cmpint(startOffset, ==, 0);
- g_assert_cmpint(endOffset, ==, 11);
- g_free(text);
- g_object_unref(paragraph);
-
- /* Second paragraph (link in the middle). */
- paragraph = atk_object_ref_accessible_child(object, 1);
- g_assert(ATK_IS_TEXT(paragraph));
- text = atk_text_get_text_at_offset(ATK_TEXT(paragraph), 0, ATK_TEXT_BOUNDARY_LINE_START, &startOffset, &endOffset);
- g_assert(text);
- g_assert_cmpstr(text, ==, "foo bar baz");
- g_assert_cmpint(startOffset, ==, 0);
- g_assert_cmpint(endOffset, ==, 11);
- g_free(text);
- g_object_unref(paragraph);
-
- /* Third paragraph (link at the end). */
- paragraph = atk_object_ref_accessible_child(object, 2);
- g_assert(ATK_IS_TEXT(paragraph));
- text = atk_text_get_text_at_offset(ATK_TEXT(paragraph), 0, ATK_TEXT_BOUNDARY_LINE_START, &startOffset, &endOffset);
- g_assert(text);
- g_assert_cmpstr(text, ==, "foo bar baz");
- g_assert_cmpint(startOffset, ==, 0);
- g_assert_cmpint(endOffset, ==, 11);
- g_free(text);
- g_object_unref(paragraph);
-
- g_object_unref(webView);
-}
-
-static void testWebkitAtkHypertextAndHyperlinks()
-{
- 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, hypertextAndHyperlinks, 0, 0, 0);
-
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- AtkObject* paragraph1 = atk_object_ref_accessible_child(object, 0);
- g_assert(ATK_OBJECT(paragraph1));
- g_assert(atk_object_get_role(paragraph1) == ATK_ROLE_PARAGRAPH);
- g_assert(ATK_IS_HYPERTEXT(paragraph1));
-
- /* No links in the first paragraph. */
- gint nLinks = atk_hypertext_get_n_links(ATK_HYPERTEXT(paragraph1));
- g_assert_cmpint(nLinks, ==, 0);
-
- AtkObject* paragraph2 = atk_object_ref_accessible_child(object, 1);
- g_assert(ATK_OBJECT(paragraph2));
- g_assert(atk_object_get_role(paragraph2) == ATK_ROLE_PARAGRAPH);
- g_assert(ATK_IS_HYPERTEXT(paragraph2));
-
- /* Check links in the second paragraph.
- nLinks = atk_hypertext_get_n_links(ATK_HYPERTEXT(paragraph2));
- g_assert_cmpint(nLinks, ==, 3); */
-
- AtkHyperlink* hLink1 = atk_hypertext_get_link(ATK_HYPERTEXT(paragraph2), 0);
- g_assert(ATK_HYPERLINK(hLink1));
- AtkObject* hLinkObject1 = atk_hyperlink_get_object(hLink1, 0);
- g_assert(ATK_OBJECT(hLinkObject1));
- g_assert(atk_object_get_role(hLinkObject1) == ATK_ROLE_LINK);
- g_assert_cmpint(atk_hyperlink_get_start_index(hLink1), ==, 0);
- g_assert_cmpint(atk_hyperlink_get_end_index(hLink1), ==, 6);
- g_assert_cmpint(atk_hyperlink_get_n_anchors(hLink1), ==, 1);
- g_assert_cmpstr(atk_hyperlink_get_uri(hLink1, 0), ==, "http://foo.bar.baz/");
-
- AtkHyperlink* hLink2 = atk_hypertext_get_link(ATK_HYPERTEXT(paragraph2), 1);
- g_assert(ATK_HYPERLINK(hLink2));
- AtkObject* hLinkObject2 = atk_hyperlink_get_object(hLink2, 0);
- g_assert(ATK_OBJECT(hLinkObject2));
- g_assert(atk_object_get_role(hLinkObject2) == ATK_ROLE_LINK);
- g_assert_cmpint(atk_hyperlink_get_start_index(hLink2), ==, 12);
- g_assert_cmpint(atk_hyperlink_get_end_index(hLink2), ==, 32);
- g_assert_cmpint(atk_hyperlink_get_n_anchors(hLink2), ==, 1);
- g_assert_cmpstr(atk_hyperlink_get_uri(hLink2, 0), ==, "http://bar.baz.foo/");
-
- AtkHyperlink* hLink3 = atk_hypertext_get_link(ATK_HYPERTEXT(paragraph2), 2);
- g_assert(ATK_HYPERLINK(hLink3));
- AtkObject* hLinkObject3 = atk_hyperlink_get_object(hLink3, 0);
- g_assert(ATK_OBJECT(hLinkObject3));
- g_assert(atk_object_get_role(hLinkObject3) == ATK_ROLE_LINK);
- g_assert_cmpint(atk_hyperlink_get_start_index(hLink3), ==, 65);
- g_assert_cmpint(atk_hyperlink_get_end_index(hLink3), ==, 75);
- g_assert_cmpint(atk_hyperlink_get_n_anchors(hLink3), ==, 1);
- g_assert_cmpstr(atk_hyperlink_get_uri(hLink3, 0), ==, "http://baz.foo.bar/");
-
- AtkObject* list = atk_object_ref_accessible_child(object, 2);
- g_assert(ATK_OBJECT(list));
- g_assert(atk_object_get_role(list) == ATK_ROLE_LIST);
- g_assert_cmpint(atk_object_get_n_accessible_children(list), ==, 1);
-
- AtkObject* listItem = atk_object_ref_accessible_child(list, 0);
- g_assert(ATK_IS_TEXT(listItem));
- g_assert(ATK_IS_HYPERTEXT(listItem));
-
- AtkHyperlink* hLinkInListItem = atk_hypertext_get_link(ATK_HYPERTEXT(listItem), 0);
- g_assert(ATK_HYPERLINK(hLinkInListItem));
- AtkObject* hLinkObject = atk_hyperlink_get_object(hLinkInListItem, 0);
- g_assert(ATK_OBJECT(hLinkObject));
- g_assert(atk_object_get_role(hLinkObject) == ATK_ROLE_LINK);
- g_assert_cmpint(atk_hyperlink_get_start_index(hLinkInListItem), ==, 20);
- g_assert_cmpint(atk_hyperlink_get_end_index(hLinkInListItem), ==, 43);
- g_assert_cmpint(atk_hyperlink_get_n_anchors(hLinkInListItem), ==, 1);
- g_assert_cmpstr(atk_hyperlink_get_uri(hLinkInListItem, 0), ==, "http://foo.bar.baz/");
-
- /* Finally check the AtkAction interface for a given AtkHyperlink. */
- g_assert(ATK_IS_ACTION(hLink1));
- g_assert_cmpint(atk_action_get_n_actions(ATK_ACTION(hLink1)), ==, 1);
- g_assert_cmpstr(atk_action_get_keybinding(ATK_ACTION(hLink1), 0), ==, "");
- g_assert_cmpstr(atk_action_get_name(ATK_ACTION(hLink1), 0), ==, "jump");
- g_assert(atk_action_do_action(ATK_ACTION(hLink1), 0));
-
- g_object_unref(paragraph1);
- g_object_unref(paragraph2);
- g_object_unref(list);
- g_object_unref(listItem);
- g_object_unref(webView);
-}
-
-static void testWebkitAtkListsOfItems()
-{
- 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, listsOfItems, 0, 0, 0);
-
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- /* Unordered list. */
-
- AtkObject* uList = atk_object_ref_accessible_child(object, 0);
- g_assert(ATK_OBJECT(uList));
- g_assert(atk_object_get_role(uList) == ATK_ROLE_LIST);
- g_assert_cmpint(atk_object_get_n_accessible_children(uList), ==, 3);
-
- AtkObject* item1 = atk_object_ref_accessible_child(uList, 0);
- g_assert(ATK_IS_TEXT(item1));
- AtkObject* item2 = atk_object_ref_accessible_child(uList, 1);
- g_assert(ATK_IS_TEXT(item2));
- AtkObject* item3 = atk_object_ref_accessible_child(uList, 2);
- g_assert(ATK_IS_TEXT(item3));
-
- g_assert_cmpint(atk_object_get_n_accessible_children(item1), ==, 0);
- g_assert_cmpint(atk_object_get_n_accessible_children(item2), ==, 1);
- g_assert_cmpint(atk_object_get_n_accessible_children(item3), ==, 1);
-
- g_assert_cmpstr(atk_text_get_text(ATK_TEXT(item1), 0, -1), ==, "\342\200\242 text only");
- g_assert_cmpstr(atk_text_get_text(ATK_TEXT(item2), 0, -1), ==, "\342\200\242 link only");
- g_assert_cmpstr(atk_text_get_text(ATK_TEXT(item3), 0, -1), ==, "\342\200\242 text and a link");
-
- g_object_unref(item1);
- g_object_unref(item2);
- g_object_unref(item3);
-
- /* Ordered list. */
-
- AtkObject* oList = atk_object_ref_accessible_child(object, 1);
- g_assert(ATK_OBJECT(oList));
- g_assert(atk_object_get_role(oList) == ATK_ROLE_LIST);
- g_assert_cmpint(atk_object_get_n_accessible_children(oList), ==, 3);
-
- item1 = atk_object_ref_accessible_child(oList, 0);
- g_assert(ATK_IS_TEXT(item1));
- item2 = atk_object_ref_accessible_child(oList, 1);
- g_assert(ATK_IS_TEXT(item2));
- item3 = atk_object_ref_accessible_child(oList, 2);
- g_assert(ATK_IS_TEXT(item3));
-
- g_assert_cmpstr(atk_text_get_text(ATK_TEXT(item1), 0, -1), ==, "1. text only");
- g_assert_cmpstr(atk_text_get_text(ATK_TEXT(item2), 0, -1), ==, "2. link only");
- g_assert_cmpstr(atk_text_get_text(ATK_TEXT(item3), 0, -1), ==, "3. text and a link");
-
- g_assert_cmpint(atk_object_get_n_accessible_children(item1), ==, 0);
- g_assert_cmpint(atk_object_get_n_accessible_children(item2), ==, 1);
- g_assert_cmpint(atk_object_get_n_accessible_children(item3), ==, 1);
-
- g_object_unref(item1);
- g_object_unref(item2);
- g_object_unref(item3);
-
- g_object_unref(uList);
- g_object_unref(oList);
- g_object_unref(webView);
-}
-
-typedef enum {
- TEXT_CHANGE_INSERT = 1,
- TEXT_CHANGE_REMOVE = 2
-} TextChangeType;
-
-static gchar* textChangedResult = 0;
-
-static void textChangedCb(AtkText* text, gint pos, gint len, gchar* modifiedText, gpointer data)
-{
- g_assert(text && ATK_IS_OBJECT(text));
-
- TextChangeType type = GPOINTER_TO_INT(data);
- g_free(textChangedResult);
- textChangedResult = g_strdup_printf("|%d|%d|%d|'%s'|", type, pos, len, modifiedText);
-}
-
-static void testWebkitAtkTextChangedNotifications()
-{
- 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, formWithTextInputs, 0, 0, 0);
-
- AtkObject* object = getWebAreaObject(webView);
- g_assert(object);
-
- AtkObject* form = atk_object_ref_accessible_child(object, 0);
- g_assert(ATK_IS_OBJECT(form));
-
- /* First check normal text entries. */
- AtkObject* textEntry = atk_object_ref_accessible_child(form, 0);
- g_assert(ATK_IS_EDITABLE_TEXT(textEntry));
- g_assert(atk_object_get_role(ATK_OBJECT(textEntry)) == ATK_ROLE_ENTRY);
-
- g_signal_connect(textEntry, "text-insert",
- G_CALLBACK(textChangedCb),
- GINT_TO_POINTER(TEXT_CHANGE_INSERT));
- g_signal_connect(textEntry, "text-remove",
- G_CALLBACK(textChangedCb),
- GINT_TO_POINTER(TEXT_CHANGE_REMOVE));
-
- gint pos = 0;
- atk_editable_text_insert_text(ATK_EDITABLE_TEXT(textEntry), "foo bar baz", 11, &pos);
- char* text = atk_text_get_text(ATK_TEXT(textEntry), 0, -1);
- g_assert_cmpstr(text, ==, "foo bar baz");
- g_assert_cmpstr(textChangedResult, ==, "|1|0|11|'foo bar baz'|");
- g_free(text);
-
- atk_editable_text_delete_text(ATK_EDITABLE_TEXT(textEntry), 4, 7);
- text = atk_text_get_text(ATK_TEXT(textEntry), 0, -1);
- g_assert_cmpstr(text, ==, "foo baz");
- g_assert_cmpstr(textChangedResult, ==, "|2|4|3|'bar'|");
- g_free(text);
-
- pos = 4;
- atk_editable_text_insert_text(ATK_EDITABLE_TEXT(textEntry), "qux quux tobeignored", 8, &pos);
- text = atk_text_get_text(ATK_TEXT(textEntry), 0, -1);
- g_assert_cmpstr(text, ==, "foo qux quux baz");
- g_assert_cmpstr(textChangedResult, ==, "|1|4|8|'qux quux'|");
- g_free(text);
-
- /* Now check for password entries. */
- AtkObject* passwordEntry = atk_object_ref_accessible_child(form, 1);
- g_assert(ATK_IS_EDITABLE_TEXT(passwordEntry));
- g_assert(atk_object_get_role(ATK_OBJECT(passwordEntry)) == ATK_ROLE_PASSWORD_TEXT);
-
- g_signal_connect(passwordEntry, "text-insert",
- G_CALLBACK(textChangedCb),
- GINT_TO_POINTER(TEXT_CHANGE_INSERT));
- g_signal_connect(passwordEntry, "text-remove",
- G_CALLBACK(textChangedCb),
- GINT_TO_POINTER(TEXT_CHANGE_REMOVE));
-
- pos = 0;
- /* A single bullet character is '\342\200\242' */
- atk_editable_text_insert_text(ATK_EDITABLE_TEXT(passwordEntry), "foobar", 6, &pos);
- g_assert_cmpstr(textChangedResult, ==, "|1|0|6|'\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242'|");
- text = atk_text_get_text(ATK_TEXT(passwordEntry), 0, -1);
- g_assert_cmpstr(text, ==, "\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242");
- g_free(text);
-
- atk_editable_text_delete_text(ATK_EDITABLE_TEXT(passwordEntry), 2, 4);
- g_assert_cmpstr(textChangedResult, ==, "|2|2|2|'\342\200\242\342\200\242'|");
-
- text = atk_text_get_text(ATK_TEXT(passwordEntry), 0, -1);
- g_assert_cmpstr(text, ==, "\342\200\242\342\200\242\342\200\242\342\200\242");
- g_free(text);
-
- pos = 3;
- atk_editable_text_insert_text(ATK_EDITABLE_TEXT(passwordEntry), "qux tobeignored", 3, &pos);
- g_assert_cmpstr(textChangedResult, ==, "|1|3|3|'\342\200\242\342\200\242\342\200\242'|");
-
- text = atk_text_get_text(ATK_TEXT(passwordEntry), 0, -1);
- g_assert_cmpstr(text, ==, "\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242");
- g_free(text);
-
- g_free(textChangedResult);
-
- g_object_unref(form);
- g_object_unref(textEntry);
- g_object_unref(passwordEntry);
- g_object_unref(webView);
-}
-
-static void testWebkitAtkParentForRootObject()
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- GtkAllocation allocation = { 0, 0, 800, 600 };
- gtk_widget_size_allocate(GTK_WIDGET(webView), &allocation);
- webkit_web_view_load_string(webView, contents, 0, 0, 0);
-
- /* We need a parent container widget for the webview. */
- GtkWidget* parentContainer = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- g_object_ref_sink(parentContainer);
- gtk_container_add(GTK_CONTAINER(parentContainer), GTK_WIDGET(webView));
-
- AtkObject* axParent = gtk_widget_get_accessible(parentContainer);
- g_assert(ATK_IS_OBJECT(axParent));
-
- AtkObject* axRoot = gtk_widget_get_accessible(GTK_WIDGET(webView));
- g_assert(ATK_IS_OBJECT(axRoot));
-
- /* The child for the parent container's accessibility object
- should be the accessibility object for the WebView's root. */
- AtkObject* axParentChild = atk_object_ref_accessible_child(axParent, 0);
- g_assert(axParentChild == axRoot);
-
- /* Bottom-up navigation should match top-down one. */
- g_assert(atk_object_get_parent(axParentChild) == axParent);
-
- g_object_unref(axParentChild);
- g_object_unref(parentContainer);
-}
-
-static void testWebkitAtkSetParentForObject()
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- GtkAllocation allocation = { 0, 0, 800, 600 };
- gtk_widget_size_allocate(GTK_WIDGET(webView), &allocation);
- webkit_web_view_load_string(webView, contents, 0, 0, 0);
-
- /* Put the webview in a parent container widget to check that the
- normal behaviour keeps working as expected by default. */
- GtkWidget* parentContainer = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- g_object_ref_sink(parentContainer);
- gtk_container_add(GTK_CONTAINER(parentContainer), GTK_WIDGET(webView));
-
- AtkObject* axRoot = gtk_widget_get_accessible(GTK_WIDGET(webView));
- g_assert(ATK_IS_OBJECT(axRoot));
-
- AtkObject* axParent = gtk_widget_get_accessible(parentContainer);
- g_assert(ATK_IS_OBJECT(axParent));
-
- /* The parent of the root object is the parent container's a11y object. */
- g_assert(atk_object_get_parent(axRoot) == axParent);
-
- /* We now need to use something as a an alternative parent for
- the a11y object associated with the root of the DOM tree. */
- GtkWidget* alternativeParent = gtk_button_new();
- g_object_ref_sink(alternativeParent);
-
- AtkObject* axAlternativeParent = gtk_widget_get_accessible(alternativeParent);
- g_assert(ATK_IS_OBJECT(axAlternativeParent));
-
- /* Manually set the alternative parent's accessibility object as
- the parent for the WebKit accessibility root object and check. */
- atk_object_set_parent(axRoot, axAlternativeParent);
- g_assert(atk_object_get_parent(axRoot) == axAlternativeParent);
-
- g_object_unref(alternativeParent);
- g_object_unref(parentContainer);
-}
-
-/* FIXME: Please remove this function and replace its usage by
- gtk_test_init() when upgrading to GTK 3.2 or greater. */
-static void initializeTestingFramework(int argc, char** argv)
-{
- /* Ensure GAIL is the only module loaded. */
- g_setenv("GTK_MODULES", "gail", TRUE);
-
- /* Following lines were taken from gtk_test_init(). */
- g_test_init(&argc, &argv, 0);
- gtk_disable_setlocale();
- setlocale(LC_ALL, "C");
-
-#ifndef GTK_API_VERSION_2
- /* gdk_disable_multidevice() available since GTK+ 3.0 only. */
- gdk_disable_multidevice();
-#endif
-
- gtk_init(&argc, &argv);
-}
-
-int main(int argc, char** argv)
-{
- /* We can't just call to gtk_test_init() in this case because its
- implementation makes sure that no GTK+ module will be loaded, and
- we will need to load GAIL for tests that need to use AtkObjects
- from non-WebKit GtkWidgets (e.g parentForRootObject). However, it
- shouldn't be needed to do this in the future, as GAIL won't longer
- be a separate module (but part of GTK+) since GTK+ 3.2 on. */
- initializeTestingFramework(argc, argv);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/atk/caretOffsets", testWebkitAtkCaretOffsets);
- g_test_add_func("/webkit/atk/caretOffsetsAndExtranousWhiteSpaces", testWebkitAtkCaretOffsetsAndExtranousWhiteSpaces);
- g_test_add_func("/webkit/atk/comboBox", testWebkitAtkComboBox);
- g_test_add_func("/webkit/atk/documentLoadingEvents", testWebkitAtkDocumentLoadingEvents);
- g_test_add_func("/webkit/atk/embeddedObjects", testWebkitAtkEmbeddedObjects);
- g_test_add_func("/webkit/atk/getTextAtOffset", testWebkitAtkGetTextAtOffset);
- g_test_add_func("/webkit/atk/getTextAtOffsetNewlines", testWebkitAtkGetTextAtOffsetNewlines);
- g_test_add_func("/webkit/atk/getTextAtOffsetTextarea", testWebkitAtkGetTextAtOffsetTextarea);
- g_test_add_func("/webkit/atk/getTextAtOffsetTextInput", testWebkitAtkGetTextAtOffsetTextInput);
- g_test_add_func("/webkit/atk/getTextAtOffsetWithPreformattedText", testWebkitAtkGetTextAtOffsetWithPreformattedText);
- g_test_add_func("/webkit/atk/getTextAtOffsetWithSpecialCharacters", testWebkitAtkGetTextAtOffsetWithSpecialCharacters);
- g_test_add_func("/webkit/atk/getTextAtOffsetWithWrappedLines", testWebkitAtkGetTextAtOffsetWithWrappedLines);
- g_test_add_func("/webkit/atk/getTextInParagraphAndBodySimple", testWebkitAtkGetTextInParagraphAndBodySimple);
- g_test_add_func("/webkit/atk/getTextInParagraphAndBodyModerate", testWebkitAtkGetTextInParagraphAndBodyModerate);
- g_test_add_func("/webkit/atk/getTextInTable", testWebkitAtkGetTextInTable);
- g_test_add_func("/webkit/atk/getHeadersInTable", testWebkitAtkGetHeadersInTable);
- g_test_add_func("/webkit/atk/textAttributes", testWebkitAtkTextAttributes);
- g_test_add_func("/webkit/atk/textSelections", testWebkitAtkTextSelections);
- g_test_add_func("/webkit/atk/getExtents", testWebkitAtkGetExtents);
- g_test_add_func("/webkit/atk/hypertextAndHyperlinks", testWebkitAtkHypertextAndHyperlinks);
- g_test_add_func("/webkit/atk/layoutAndDataTables", testWebkitAtkLayoutAndDataTables);
- g_test_add_func("/webkit/atk/linksWithInlineImages", testWebkitAtkLinksWithInlineImages);
- g_test_add_func("/webkit/atk/listsOfItems", testWebkitAtkListsOfItems);
- g_test_add_func("/webkit/atk/textChangedNotifications", testWebkitAtkTextChangedNotifications);
- g_test_add_func("/webkit/atk/parentForRootObject", testWebkitAtkParentForRootObject);
- g_test_add_func("/webkit/atk/setParentForObject", testWebkitAtkSetParentForObject);
- return g_test_run ();
-}
-
diff --git a/Source/WebKit/gtk/tests/testatkroles.c b/Source/WebKit/gtk/tests/testatkroles.c
deleted file mode 100644
index da7833ea9..000000000
--- a/Source/WebKit/gtk/tests/testatkroles.c
+++ /dev/null
@@ -1,426 +0,0 @@
-/*
- * Copyright © 2010 Joanmarie Diggs
- * Copyright © 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 "autotoolsconfig.h"
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-/* Non form roles */
-#define HTML_DOCUMENT_FRAME "<html><body>This is a test.</body></html>"
-#define HTML_HEADING "<html><body><h1>1</h1><h2>2</h2><h3>3</h3><h4>4</h4><h5>5</h5><h6>6</h6></body></html>"
-#define HTML_IMAGE "<html><body><img src='foobar.png' alt='This is a test.'/></body></html>"
-#define HTML_LINK_TEXT "<html><body><a href='foobar.html'>This is a test.</a></body></html>"
-#define HTML_LIST "<html><body><ul><li>1</li><li>2</li></ul><ol><li>1</li><li>2</li></ol></body></html>"
-#define HTML_PARAGRAPH "<html><body><p>This is a test.</p></body></html>"
-#define HTML_SECTION "<html><body><div>This is a test.</div></body></html>"
-#define HTML_TABLE "<html><body><table border='1'><tr><td>This is</td><td>a test.</td></tr></table></body></html>"
-#define HTML_SEPARATOR "<html><body><hr/></body></html>"
-#define HTML_COMBOBOX "<html><body><select size='1'><option>one</option><option>two</option><option>three</option></select></body></html>"
-/* Form roles */
-#define HTML_FORM "<html><body><form>This is a test.</form></body></html>"
-#define HTML_CHECK_BOX "<html><body><input type='checkbox' />This is a test.</body></html>"
-#define HTML_LABELED_ENTRY "<html><body><label for='foo'>Name:</label><input type='text' id='foo' /></body></html>"
-#define HTML_LISTBOX "<html><body><select size='3'><option>one</option><option>two</option><option>three</option></select></body></html>"
-#define HTML_PASSWORD_TEXT "<html><body><input type='password' /></body></html>"
-#define HTML_PUSH_BUTTON "<html><body><input type='submit' value='ok' />This is a test.</body></html>"
-#define HTML_RADIO_BUTTON "<html><body><input type='radio' />This is a test.</body></html>"
-
-typedef struct {
- AtkObject* documentFrame;
- AtkObject* obj;
- AtkRole role;
- GtkWidget* webView;
- GtkAllocation alloc;
- GMainLoop* loop;
-} AtkRolesFixture;
-
-static gboolean finish_loading(AtkRolesFixture* fixture)
-{
- if (g_main_loop_is_running(fixture->loop))
- g_main_loop_quit(fixture->loop);
-
- // With the change to support WK2 accessibility, the root object
- // has changed and it's no longer the document frame, but a scroll
- // pane containing the document frame as its only child. See the
- // bug 72390 for more details on this change.
- // https://bugs.webkit.org/show_bug.cgi?id=72390
- AtkObject* rootObject = gtk_widget_get_accessible(fixture->webView);
- fixture->documentFrame = atk_object_ref_accessible_child(rootObject, 0);
- g_assert(fixture->documentFrame);
-
- // Remove the reference added by ref_accessible_child() and
- // return, since we don't need to keep that extra ref at all.
- g_object_unref(fixture->documentFrame);
- return FALSE;
-}
-
-static void atk_roles_fixture_setup(AtkRolesFixture* fixture, gconstpointer data)
-{
- fixture->loop = g_main_loop_new(NULL, TRUE);
- fixture->alloc = (GtkAllocation) { 0, 0, 800, 600 };
- fixture->webView = webkit_web_view_new();
- g_object_ref_sink(fixture->webView);
-
- gtk_widget_size_allocate(fixture->webView, &fixture->alloc);
-
- if (data != NULL)
- webkit_web_view_load_string(WEBKIT_WEB_VIEW (fixture->webView), (const char*) data, NULL, NULL, NULL);
-
- g_idle_add((GSourceFunc) finish_loading, fixture);
- g_main_loop_run(fixture->loop);
-}
-
-static void atk_roles_fixture_teardown(AtkRolesFixture* fixture, gconstpointer data)
-{
- g_object_unref(fixture->webView);
- g_main_loop_unref(fixture->loop);
-}
-
-static void get_child_and_test_role(AtkObject* obj, gint pos, AtkRole role)
-{
- AtkObject* child;
- AtkRole child_role;
-
- child = atk_object_ref_accessible_child(obj, pos);
- g_assert(child);
- child_role = atk_object_get_role(child);
- g_assert(child_role == role);
-
- g_object_unref(child);
-}
-
-static void test_webkit_atk_get_role_document_frame(AtkRolesFixture* fixture, gconstpointer data)
-{
- fixture->role = atk_object_get_role(fixture->documentFrame);
- g_assert(fixture->role == ATK_ROLE_DOCUMENT_FRAME);
-}
-
-static void test_webkit_atk_get_role_heading(AtkRolesFixture* fixture, gconstpointer data)
-{
- get_child_and_test_role(fixture->documentFrame, 0, ATK_ROLE_HEADING);
- get_child_and_test_role(fixture->documentFrame, 1, ATK_ROLE_HEADING);
- get_child_and_test_role(fixture->documentFrame, 2, ATK_ROLE_HEADING);
- get_child_and_test_role(fixture->documentFrame, 3, ATK_ROLE_HEADING);
- get_child_and_test_role(fixture->documentFrame, 4, ATK_ROLE_HEADING);
- get_child_and_test_role(fixture->documentFrame, 5, ATK_ROLE_HEADING);
-}
-
-static void test_webkit_atk_get_role_image(AtkRolesFixture* fixture, gconstpointer data)
-{
- // This is an extraneous object of ATK_ROLE_PANEL which we should get rid of.
- fixture->obj = atk_object_ref_accessible_child(fixture->documentFrame, 0);
- g_assert(fixture->obj);
-
- get_child_and_test_role(fixture->obj, 0, ATK_ROLE_IMAGE);
-
- g_object_unref(fixture->obj);
-}
-
-static void test_webkit_atk_get_role_link(AtkRolesFixture* fixture, gconstpointer data)
-{
- // This is an extraneous object of ATK_ROLE_PANEL which we should get rid of.
- fixture->obj = atk_object_ref_accessible_child(fixture->documentFrame, 0);
- g_assert(fixture->obj);
-
- get_child_and_test_role(fixture->obj, 0, ATK_ROLE_LINK);
-
- g_object_unref(fixture->obj);
-}
-
-static void test_webkit_atk_get_role_list_and_item(AtkRolesFixture* fixture, gconstpointer data)
-{
- AtkObject* listObj;
-
- listObj = atk_object_ref_accessible_child(fixture->documentFrame, 0);
- g_assert(listObj);
- fixture->role = atk_object_get_role(listObj);
- g_assert(fixture->role == ATK_ROLE_LIST);
-
- get_child_and_test_role(listObj, 0, ATK_ROLE_LIST_ITEM);
- get_child_and_test_role(listObj, 1, ATK_ROLE_LIST_ITEM);
- g_object_unref(listObj);
-
- listObj = atk_object_ref_accessible_child(fixture->documentFrame, 1);
- g_assert(listObj);
- fixture->role = atk_object_get_role(listObj);
- g_assert(fixture->role == ATK_ROLE_LIST);
-
- get_child_and_test_role(listObj, 0, ATK_ROLE_LIST_ITEM);
- get_child_and_test_role(listObj, 1, ATK_ROLE_LIST_ITEM);
- g_object_unref(listObj);
-}
-
-static void test_webkit_atk_get_role_paragraph(AtkRolesFixture* fixture, gconstpointer data)
-{
- get_child_and_test_role(fixture->documentFrame, 0, ATK_ROLE_PARAGRAPH);
-}
-
-static void test_webkit_atk_get_role_section(AtkRolesFixture* fixture, gconstpointer data)
-{
- get_child_and_test_role(fixture->documentFrame, 0, ATK_ROLE_SECTION);
-}
-
-// Does not yet test table cells because of bug 30895.
-static void test_webkit_atk_get_role_table(AtkRolesFixture* fixture, gconstpointer data)
-{
- get_child_and_test_role(fixture->documentFrame, 0, ATK_ROLE_TABLE);
-}
-
-static void test_webkit_atk_get_role_separator(AtkRolesFixture *fixture, gconstpointer data)
-{
- get_child_and_test_role(fixture->documentFrame, 0, ATK_ROLE_SEPARATOR);
-}
-
-static void test_webkit_atk_get_role_combobox(AtkRolesFixture *fixture, gconstpointer data)
-{
- AtkObject* comboboxMenu;
-
- // This is an extraneous object of ATK_ROLE_PANEL which we should get rid of.
- fixture->obj = atk_object_ref_accessible_child(fixture->documentFrame, 0);
- g_assert(fixture->obj);
-
- fixture->obj = atk_object_ref_accessible_child(fixture->obj, 0);
- g_assert(fixture->obj);
- fixture->role = atk_object_get_role(fixture->obj);
- g_assert(fixture->role == ATK_ROLE_COMBO_BOX);
-
- comboboxMenu = atk_object_ref_accessible_child(fixture->obj, 0);
- g_assert(comboboxMenu);
- fixture->role = atk_object_get_role(comboboxMenu);
- g_assert(fixture->role == ATK_ROLE_MENU);
-
- get_child_and_test_role(comboboxMenu, 0, ATK_ROLE_MENU_ITEM);
- get_child_and_test_role(comboboxMenu, 1, ATK_ROLE_MENU_ITEM);
- get_child_and_test_role(comboboxMenu, 2, ATK_ROLE_MENU_ITEM);
-
- g_object_unref(fixture->obj);
- g_object_unref(comboboxMenu);
-}
-
-/* Form roles */
-static void test_webkit_atk_get_role_form(AtkRolesFixture *fixture, gconstpointer data)
-{
- get_child_and_test_role(fixture->documentFrame, 0, ATK_ROLE_FORM);
-}
-
-static void test_webkit_atk_get_role_check_box(AtkRolesFixture* fixture, gconstpointer data)
-{
- // This is an extraneous object of ATK_ROLE_PANEL which we should get rid of.
- fixture->obj = atk_object_ref_accessible_child(fixture->documentFrame, 0);
- g_assert(fixture->obj);
-
- get_child_and_test_role(fixture->obj, 0, ATK_ROLE_CHECK_BOX);
-
- g_object_unref(fixture->obj);
-}
-
-static void test_webkit_atk_get_role_entry(AtkRolesFixture* fixture, gconstpointer data)
-{
- // This is an extraneous object of ATK_ROLE_PANEL which we should get rid of.
- fixture->obj = atk_object_ref_accessible_child(fixture->documentFrame, 0);
- g_assert(fixture->obj);
-
- get_child_and_test_role(fixture->obj, 1, ATK_ROLE_ENTRY);
-
- g_object_unref(fixture->obj);
-}
-
-static void test_webkit_atk_get_role_label(AtkRolesFixture* fixture, gconstpointer data)
-{
- // This is an extraneous object of ATK_ROLE_PANEL which we should get rid of.
- fixture->obj = atk_object_ref_accessible_child(fixture->documentFrame, 0);
- g_assert(fixture->obj);
-
- get_child_and_test_role(fixture->obj, 0, ATK_ROLE_LABEL);
-
- g_object_unref(fixture->obj);
-}
-
-static void test_webkit_atk_get_role_listbox(AtkRolesFixture* fixture, gconstpointer data)
-{
- AtkObject* listboxObj;
- // This is an extraneous object of ATK_ROLE_PANEL which we should get rid of.
- fixture->obj = atk_object_ref_accessible_child(fixture->documentFrame, 0);
- g_assert(fixture->obj);
-
- listboxObj = atk_object_ref_accessible_child(fixture->obj, 0);
- g_assert(listboxObj);
- fixture->role = atk_object_get_role(listboxObj);
- g_assert(fixture->role == ATK_ROLE_LIST);
-
- get_child_and_test_role(listboxObj, 0, ATK_ROLE_LIST_ITEM);
- get_child_and_test_role(listboxObj, 1, ATK_ROLE_LIST_ITEM);
- get_child_and_test_role(listboxObj, 2, ATK_ROLE_LIST_ITEM);
-
- g_object_unref(fixture->obj);
- g_object_unref(listboxObj);
-}
-
-static void test_webkit_atk_get_role_password_text(AtkRolesFixture* fixture, gconstpointer data)
-{
- // This is an extraneous object of ATK_ROLE_PANEL which we should get rid of.
- fixture->obj = atk_object_ref_accessible_child(fixture->documentFrame, 0);
- g_assert(fixture->obj);
-
- get_child_and_test_role(fixture->obj, 0, ATK_ROLE_PASSWORD_TEXT);
-
- g_object_unref(fixture->obj);
-}
-
-static void test_webkit_atk_get_role_push_button(AtkRolesFixture* fixture, gconstpointer data)
-{
- // This is an extraneous object of ATK_ROLE_PANEL which we should get rid of.
- fixture->obj = atk_object_ref_accessible_child(fixture->documentFrame, 0);
- g_assert(fixture->obj);
-
- get_child_and_test_role(fixture->obj, 0, ATK_ROLE_PUSH_BUTTON);
-
- g_object_unref(fixture->obj);
-}
-
-static void test_webkit_atk_get_role_radio_button(AtkRolesFixture* fixture, gconstpointer data)
-{
- // This is an extraneous object of ATK_ROLE_PANEL which we should get rid of.
- fixture->obj = atk_object_ref_accessible_child(fixture->documentFrame, 0);
- g_assert(fixture->obj);
-
- get_child_and_test_role(fixture->obj, 0, ATK_ROLE_RADIO_BUTTON);
-
- g_object_unref(fixture->obj);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_document_frame",
- AtkRolesFixture, HTML_DOCUMENT_FRAME,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_document_frame,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_heading",
- AtkRolesFixture, HTML_HEADING,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_heading,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_image",
- AtkRolesFixture, HTML_IMAGE,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_image,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_link",
- AtkRolesFixture, HTML_LINK_TEXT,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_link,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_list_and_item",
- AtkRolesFixture, HTML_LIST,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_list_and_item,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_paragraph",
- AtkRolesFixture, HTML_PARAGRAPH,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_paragraph,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_section",
- AtkRolesFixture, HTML_SECTION,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_section,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_table",
- AtkRolesFixture, HTML_TABLE,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_table,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_separator",
- AtkRolesFixture, HTML_SEPARATOR,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_separator,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_combobox",
- AtkRolesFixture, HTML_COMBOBOX,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_combobox,
- atk_roles_fixture_teardown);
-
- /* Form roles */
- g_test_add("/webkit/atk/test_webkit_atk_get_role_form",
- AtkRolesFixture, HTML_FORM,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_form,
- atk_roles_fixture_teardown);
- g_test_add("/webkit/atk/test_webkit_atk_get_role_check_box",
- AtkRolesFixture, HTML_CHECK_BOX,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_check_box,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_entry",
- AtkRolesFixture, HTML_LABELED_ENTRY,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_entry,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_label",
- AtkRolesFixture, HTML_LABELED_ENTRY,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_label,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_listbox",
- AtkRolesFixture, HTML_LISTBOX,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_listbox,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_password_text",
- AtkRolesFixture, HTML_PASSWORD_TEXT,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_password_text,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_push_button",
- AtkRolesFixture, HTML_PUSH_BUTTON,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_push_button,
- atk_roles_fixture_teardown);
-
- g_test_add("/webkit/atk/test_webkit_atk_get_role_radio_button",
- AtkRolesFixture, HTML_RADIO_BUTTON,
- atk_roles_fixture_setup,
- test_webkit_atk_get_role_radio_button,
- atk_roles_fixture_teardown);
-
- return g_test_run();
-}
diff --git a/Source/WebKit/gtk/tests/testcontextmenu.c b/Source/WebKit/gtk/tests/testcontextmenu.c
deleted file mode 100644
index fbf4ede5d..000000000
--- a/Source/WebKit/gtk/tests/testcontextmenu.c
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * Copyright (C) 2012 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,1 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 "autotoolsconfig.h"
-#include <webkit/webkit.h>
-
-typedef struct {
- char *data;
- guint flag;
-} TestInfo;
-
-static GMainLoop *loop;
-
-typedef struct {
- WebKitWebView *webView;
- TestInfo *info;
-} ContextMenuFixture;
-
-static TestInfo *testInfoNew(const char *data, guint flag)
-{
- TestInfo *info = g_slice_new(TestInfo);
- info->data = g_strdup(data);
- info->flag = flag;
-
- return info;
-}
-
-static void testInfoDestroy(TestInfo *info)
-{
- g_free(info->data);
- g_slice_free(TestInfo, info);
-}
-
-static void contextMenuFixtureSetup(ContextMenuFixture *fixture, gconstpointer data)
-{
- fixture->webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- loop = g_main_loop_new(NULL, TRUE);
- fixture->info = (TestInfo *)data;
-}
-
-static void contextMenuFixtureTeardown(ContextMenuFixture *fixture, gconstpointer data)
-{
- g_object_unref(fixture->webView);
- g_main_loop_unref(loop);
- testInfoDestroy(fixture->info);
-}
-
-static GList *checkAction(GList *iter, WebKitContextMenuAction action)
-{
- GtkMenuItem *item = (GtkMenuItem *)iter->data;
-
- g_assert(GTK_IS_MENU_ITEM(item));
- g_assert(webkit_context_menu_item_get_action(item) == action);
-
- return iter->next;
-}
-
-static GList *checkActionWithSubmenu(GList *iter, WebKitContextMenuAction action)
-{
- GtkMenuItem *item = (GtkMenuItem *)iter->data;
-
- g_assert(GTK_IS_MENU_ITEM(item));
- g_assert(webkit_context_menu_item_get_action(item) == action);
- g_assert(GTK_IS_MENU(gtk_menu_item_get_submenu(item)));
-
- return iter->next;
-}
-
-static GList *checkSeparator(GList *iter)
-{
- GtkMenuItem *item = (GtkMenuItem *)iter->data;
-
- g_assert(GTK_IS_SEPARATOR_MENU_ITEM(item));
-
- return iter->next;
-}
-
-static gboolean contextMenuCallback(WebKitWebView *webView, GtkWidget *defaultMenu, WebKitHitTestResult *hitTestResult, gboolean keyboardMode, gpointer userData)
-{
- TestInfo *info = (TestInfo *)userData;
- guint context;
- GList *items;
- GList *iter;
-
- /* Check signal parameters */
- g_assert(WEBKIT_IS_WEB_VIEW(webView));
- g_assert(GTK_IS_MENU(defaultMenu));
- g_assert(WEBKIT_IS_HIT_TEST_RESULT(hitTestResult));
- g_assert(!keyboardMode);
-
- g_object_get(hitTestResult, "context", &context, NULL);
- g_assert(context & info->flag);
-
- items = gtk_container_get_children(GTK_CONTAINER(defaultMenu));
- switch (info->flag) {
- case WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT:
- iter = items;
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_GO_BACK);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_GO_FORWARD);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_STOP);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_RELOAD);
- g_assert(!iter);
-
- break;
- case WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE:
- iter = items;
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_OPEN_IMAGE_IN_NEW_WINDOW);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_DOWNLOAD_IMAGE_TO_DISK);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_COPY_IMAGE_TO_CLIPBOARD);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_COPY_IMAGE_URL_TO_CLIPBOARD);
- g_assert(!iter);
-
- break;
- case WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE:
- iter = items;
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_CUT);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_COPY);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_PASTE);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_DELETE);
- iter = checkSeparator(iter);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_SELECT_ALL);
- iter = checkSeparator(iter);
- iter = checkActionWithSubmenu(iter, WEBKIT_CONTEXT_MENU_ACTION_INPUT_METHODS);
- iter = checkActionWithSubmenu(iter, WEBKIT_CONTEXT_MENU_ACTION_UNICODE);
- g_assert(!iter);
-
- break;
- case WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK:
- iter = items;
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK_IN_NEW_WINDOW);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_DOWNLOAD_LINK_TO_DISK);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_COPY_LINK_TO_CLIPBOARD);
- g_assert(!iter);
-
- break;
- default:
- g_assert_not_reached();
- }
-
- g_list_free(items);
- g_main_loop_quit(loop);
-
- return TRUE;
-}
-
-static void pushEvent(WebKitWebView *webView)
-{
- GdkEvent *event = gdk_event_new(GDK_BUTTON_PRESS);
-#if GTK_CHECK_VERSION(3, 0, 0)
- GdkDeviceManager *deviceManager;
-#endif
-
- event->any.window = g_object_ref(gtk_widget_get_window(GTK_WIDGET(webView)));
- event->any.send_event = FALSE;
- event->button.time = GDK_CURRENT_TIME;
- event->button.button = 3;
- event->button.x = event->button.y = 5;
- event->button.x_root = event->button.x;
- event->button.y_root = event->button.y;
-#if GTK_CHECK_VERSION(3, 0, 0)
- deviceManager = gdk_display_get_device_manager(gdk_display_get_default());
- event->button.device = gdk_device_manager_get_client_pointer(deviceManager);
-#endif
-
- gdk_event_put(event);
- gdk_event_free(event);
-}
-
-static void loadStatusCallback(WebKitWebView *webView, GParamSpec *spec, gpointer data)
-{
- WebKitLoadStatus status = webkit_web_view_get_load_status(webView);
- TestInfo *info = (TestInfo *)data;
-
- g_assert(status != WEBKIT_LOAD_FAILED);
-
- if (status != WEBKIT_LOAD_FINISHED)
- return;
-
- g_signal_connect(webView, "context-menu", G_CALLBACK(contextMenuCallback), info);
- pushEvent(webView);
-}
-
-static gboolean mapEventCallback(GtkWidget *widget, GdkEvent *event, gpointer data)
-{
- gtk_widget_grab_focus(widget);
- ContextMenuFixture *fixture = (ContextMenuFixture *)data;
- webkit_web_view_load_string(fixture->webView,
- fixture->info->data,
- "text/html",
- "utf-8",
- "file://");
- g_signal_connect(fixture->webView, "notify::load-status", G_CALLBACK(loadStatusCallback), fixture->info);
- return FALSE;
-}
-
-static void testContextMenu(ContextMenuFixture *fixture, gconstpointer data)
-{
- GtkAllocation allocation = { 0, 0, 50, 50 };
- GtkWidget *window = gtk_window_new(GTK_WINDOW_POPUP);
-
- gtk_window_resize(GTK_WINDOW(window), 50, 50);
- gtk_window_move(GTK_WINDOW(window), 0, 0);
- gtk_widget_size_allocate(GTK_WIDGET(fixture->webView), &allocation);
- gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(fixture->webView));
- g_signal_connect(window, "map-event", G_CALLBACK(mapEventCallback), fixture);
- gtk_widget_show_all(window);
-
- g_main_loop_run(loop);
-}
-
-static gboolean contextMenuCustomItemCallback(WebKitWebView *webView, GtkWidget *defaultMenu, WebKitHitTestResult *hitTestResult, gboolean keyboardMode, gpointer userData)
-{
- TestInfo *info = (TestInfo *)userData;
- guint context;
- GList *items;
- GList *iter;
- GtkWidget *menuItem;
- GtkAction *action;
-
- /* Check signal parameters */
- g_assert(WEBKIT_IS_WEB_VIEW(webView));
- g_assert(GTK_IS_MENU(defaultMenu));
- g_assert(WEBKIT_IS_HIT_TEST_RESULT(hitTestResult));
- g_assert(!keyboardMode);
-
- g_object_get(hitTestResult, "context", &context, NULL);
- g_assert(context & info->flag);
-
- action = gtk_action_new("TestAction", "Custom Action", "Custom Action Tooltip", NULL);
- menuItem = gtk_action_create_menu_item(action);
- g_object_unref(action);
-
- gtk_menu_shell_append(GTK_MENU_SHELL(defaultMenu), menuItem);
- gtk_widget_show(menuItem);
-
- items = gtk_container_get_children(GTK_CONTAINER(defaultMenu));
- iter = items;
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_GO_BACK);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_GO_FORWARD);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_STOP);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_RELOAD);
- iter = checkAction(iter, WEBKIT_CONTEXT_MENU_ACTION_NO_ACTION);
- g_assert(!iter);
-
- g_list_free(items);
- g_main_loop_quit(loop);
-
- return TRUE;
-}
-
-static void testContextMenuCustomItem(ContextMenuFixture *fixture, gconstpointer data)
-{
- GtkWidget *window = gtk_window_new(GTK_WINDOW_POPUP);
- gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(fixture->webView));
- gtk_widget_show_all(window);
- gtk_widget_grab_focus(GTK_WIDGET(fixture->webView));
-
- webkit_web_view_load_string(fixture->webView,
- fixture->info->data,
- "text/html",
- "utf-8",
- "file://");
- g_signal_connect(fixture->webView, "context-menu", G_CALLBACK(contextMenuCustomItemCallback), fixture->info);
- pushEvent(fixture->webView);
-}
-
-int main(int argc, char **argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
-
- g_test_add("/webkit/testcontextmenu/document", ContextMenuFixture,
- testInfoNew("<html><body><h1>WebKitGTK+!</h1></body></html>",
- WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT),
- contextMenuFixtureSetup, testContextMenu, contextMenuFixtureTeardown);
- /* We hardcode all elements to be at 0,0 so that we know where to generate the button events */
- g_test_add("/webkit/testcontextmenu/image", ContextMenuFixture,
- testInfoNew("<html><body><img style='position:absolute; left:0; top:0' src='0xdeadbeef' width=50 height=50></img></body></html>",
- WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE),
- contextMenuFixtureSetup, testContextMenu, contextMenuFixtureTeardown);
- g_test_add("/webkit/testcontextmenu/editable", ContextMenuFixture,
- testInfoNew("<html><body><input style='position:absolute; left:0; top:0' size='35'></input>></body></html>",
- WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE),
- contextMenuFixtureSetup, testContextMenu, contextMenuFixtureTeardown);
- g_test_add("/webkit/testcontextmenu/link", ContextMenuFixture,
- testInfoNew("<html><body><a style='position:absolute; left:0; top:0' href='http://www.example.com'>HELLO WORLD</a></body></html>",
- WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK),
- contextMenuFixtureSetup, testContextMenu, contextMenuFixtureTeardown);
- g_test_add("/webkit/testcontextmenu/customitem", ContextMenuFixture,
- testInfoNew("<html><body><h1>WebKitGTK+!</h1></body></html>",
- WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT),
- contextMenuFixtureSetup, testContextMenuCustomItem, contextMenuFixtureTeardown);
-
- return g_test_run();
-}
-
diff --git a/Source/WebKit/gtk/tests/testcopyandpaste.c b/Source/WebKit/gtk/tests/testcopyandpaste.c
deleted file mode 100644
index 5557ff875..000000000
--- a/Source/WebKit/gtk/tests/testcopyandpaste.c
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * 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,1 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 "autotoolsconfig.h"
-#include <errno.h>
-#include <unistd.h>
-#include <string.h>
-#include <glib/gstdio.h>
-#include <webkit/webkit.h>
-#include <JavaScriptCore/JSStringRef.h>
-#include <JavaScriptCore/JSContextRef.h>
-
-typedef struct {
- char* page;
- char* expectedContent;
-} TestInfo;
-
-typedef struct {
- GtkWidget* window;
- WebKitWebView* webView;
- GMainLoop* loop;
- TestInfo* info;
-} CopyAndPasteFixture;
-
-TestInfo*
-test_info_new(const char* page, const char* expectedContent)
-{
- TestInfo* info;
- info = g_slice_new0(TestInfo);
- info->page = g_strdup(page);
- if (expectedContent)
- info->expectedContent = g_strdup(expectedContent);
- return info;
-}
-
-void
-test_info_destroy(TestInfo* info)
-{
- g_free(info->page);
- g_free(info->expectedContent);
- g_slice_free(TestInfo, info);
-}
-
-static void copy_and_paste_fixture_setup(CopyAndPasteFixture* fixture, gconstpointer data)
-{
- fixture->loop = g_main_loop_new(NULL, TRUE);
-
- fixture->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- fixture->webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
-
- gtk_container_add(GTK_CONTAINER(fixture->window), GTK_WIDGET(fixture->webView));
-}
-
-static void copy_and_paste_fixture_teardown(CopyAndPasteFixture* fixture, gconstpointer data)
-{
- gtk_widget_destroy(fixture->window);
- g_main_loop_unref(fixture->loop);
- test_info_destroy(fixture->info);
-}
-
-static void load_status_cb(WebKitWebView* webView, GParamSpec* spec, gpointer data)
-{
- CopyAndPasteFixture* fixture = (CopyAndPasteFixture*)data;
- WebKitLoadStatus status = webkit_web_view_get_load_status(webView);
- if (status != WEBKIT_LOAD_FINISHED)
- return;
-
- GtkClipboard* clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
- gtk_clipboard_clear(clipboard);
-
- webkit_web_view_copy_clipboard(webView);
-
- gchar* text = gtk_clipboard_wait_for_text(clipboard);
- g_assert(text || !fixture->info->expectedContent);
- g_assert(!text || !strcmp(text, fixture->info->expectedContent));
- g_free(text);
-
- // Verify that the markup starts with the proper content-type meta tag prefix.
- GtkSelectionData* selectionData = gtk_clipboard_wait_for_contents(clipboard, gdk_atom_intern("text/html", FALSE));
- if (selectionData) {
- static const char* markupPrefix = "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">";
- char* markup = g_strndup((const char*) gtk_selection_data_get_data(selectionData),
- gtk_selection_data_get_length(selectionData));
- g_assert(strlen(markupPrefix) <= strlen(markup));
- g_assert(!strncmp(markupPrefix, markup, strlen(markupPrefix)));
- g_free(markup);
- }
-
- g_assert(!gtk_clipboard_wait_is_uris_available(clipboard));
- g_assert(!gtk_clipboard_wait_is_image_available(clipboard));
-
- g_main_loop_quit(fixture->loop);
-}
-
-gboolean map_event_cb(GtkWidget *widget, GdkEvent* event, gpointer data)
-{
- CopyAndPasteFixture* fixture = (CopyAndPasteFixture*)data;
- webkit_web_view_load_string(fixture->webView, fixture->info->page,
- "text/html", "utf-8", "file://");
- return FALSE;
-}
-
-static void test_copy_and_paste(CopyAndPasteFixture* fixture, gconstpointer data)
-{
- fixture->info = (TestInfo*)data;
- g_signal_connect(fixture->window, "map-event",
- G_CALLBACK(map_event_cb), fixture);
-
- gtk_widget_show(fixture->window);
- gtk_widget_show(GTK_WIDGET(fixture->webView));
- gtk_window_present(GTK_WINDOW(fixture->window));
- gtk_widget_grab_focus(GTK_WIDGET(fixture->webView));
-
- g_signal_connect(fixture->webView, "notify::load-status",
- G_CALLBACK(load_status_cb), fixture);
-
- g_main_loop_run(fixture->loop);
-}
-
-static CopyAndPasteFixture* currentFixture;
-static JSValueRef runPasteTestCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
-{
- gtk_widget_grab_focus(GTK_WIDGET(currentFixture->webView));
-
- // Simulate a paste keyboard sequence.
- GdkEvent* event = gdk_event_new(GDK_KEY_PRESS);
- event->key.keyval = gdk_unicode_to_keyval('v');
- event->key.state = GDK_CONTROL_MASK;
- event->key.window = gtk_widget_get_window(GTK_WIDGET(currentFixture->webView));
- g_object_ref(event->key.window);
-#ifndef GTK_API_VERSION_2
- GdkDeviceManager* manager = gdk_display_get_device_manager(gdk_window_get_display(event->key.window));
- gdk_event_set_device(event, gdk_device_manager_get_client_pointer(manager));
-#endif
-
- GdkKeymapKey* keys;
- gint n_keys;
- if (gdk_keymap_get_entries_for_keyval(gdk_keymap_get_default(), event->key.keyval, &keys, &n_keys)) {
- event->key.hardware_keycode = keys[0].keycode;
- g_free(keys);
- }
-
- gtk_main_do_event(event);
- event->key.type = GDK_KEY_RELEASE;
- gtk_main_do_event(event);
- gdk_event_free(event);
-
- JSStringRef scriptString = JSStringCreateWithUTF8CString("document.body.innerHTML;");
- JSValueRef value = JSEvaluateScript(context, scriptString, 0, 0, 0, 0);
- JSStringRelease(scriptString);
-
- g_assert(JSValueIsString(context, value));
- JSStringRef actual = JSValueToStringCopy(context, value, exception);
- g_assert(!exception || !*exception);
- g_assert(currentFixture->info->expectedContent);
- JSStringRef expected = JSStringCreateWithUTF8CString(currentFixture->info->expectedContent);
- g_assert(JSStringIsEqual(expected, actual));
-
- JSStringRelease(expected);
- JSStringRelease(actual);
- g_main_loop_quit(currentFixture->loop);
- return JSValueMakeUndefined(context);
-}
-
-static void window_object_cleared_callback(WebKitWebView* web_view, WebKitWebFrame* web_frame, JSGlobalContextRef context, JSObjectRef window_object, gpointer data)
-{
- JSStringRef name = JSStringCreateWithUTF8CString("runTest");
- JSObjectRef testComplete = JSObjectMakeFunctionWithCallback(context, name, runPasteTestCallback);
- JSObjectSetProperty(context, window_object, name, testComplete, kJSPropertyAttributeNone, 0);
- JSStringRelease(name);
-}
-
-static void pasting_test_get_data_callback(GtkClipboard* clipboard, GtkSelectionData* selection_data, guint info, gpointer data)
-{
- gtk_selection_data_set(selection_data, gdk_atom_intern("text/html", FALSE), 8, (const guchar*) data, strlen((char*)data) + 1);
-}
-
-static void pasting_test_clear_data_callback(GtkClipboard* clipboard, gpointer data)
-{
- g_free(data);
-}
-
-static void test_pasting_markup(CopyAndPasteFixture* fixture, gconstpointer data)
-{
- fixture->info = (TestInfo*)data;
- currentFixture = fixture;
-
- GtkTargetList* targetList = gtk_target_list_new(0, 0);
- gtk_target_list_add(targetList, gdk_atom_intern("text/html", FALSE), 0, 0);
-
- int numberOfTargets = 1;
- GtkTargetEntry* targetTable = gtk_target_table_new_from_list(targetList, &numberOfTargets);
- gtk_clipboard_set_with_data(gtk_clipboard_get(GDK_SELECTION_CLIPBOARD),
- targetTable, numberOfTargets,
- pasting_test_get_data_callback,
- pasting_test_clear_data_callback,
- g_strdup(fixture->info->expectedContent));
- gtk_target_list_unref(targetList);
- gtk_target_table_free(targetTable, numberOfTargets);
-
- g_signal_connect(fixture->window, "map-event",
- G_CALLBACK(map_event_cb), fixture);
- g_signal_connect(fixture->webView, "window-object-cleared",
- G_CALLBACK(window_object_cleared_callback), fixture);
-
- gtk_widget_show(fixture->window);
- gtk_widget_show(GTK_WIDGET(fixture->webView));
- gtk_window_present(GTK_WINDOW(fixture->window));
-
- g_main_loop_run(fixture->loop);
-}
-
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- const char* selected_span_html = "<html><body>"
- "<span id=\"mainspan\">All work and no play <span>make Jack a dull</span> boy.</span>"
- "<script>document.getSelection().collapse();\n"
- "document.getSelection().selectAllChildren(document.getElementById('mainspan'));\n"
- "</script></body></html>";
- const char* no_selection_html = "<html><body>"
- "<span id=\"mainspan\">All work and no play <span>make Jack a dull</span> boy</span>"
- "<script>document.getSelection().collapse();\n"
- "</script></body></html>";
-
- g_test_add("/webkit/copyandpaste/selection", CopyAndPasteFixture,
- test_info_new(selected_span_html, "All work and no play make Jack a dull boy."),
- copy_and_paste_fixture_setup,
- test_copy_and_paste,
- copy_and_paste_fixture_teardown);
- g_test_add("/webkit/copyandpaste/no-selection", CopyAndPasteFixture,
- test_info_new(no_selection_html, 0),
- copy_and_paste_fixture_setup,
- test_copy_and_paste,
- copy_and_paste_fixture_teardown);
-
- const char* paste_test_html = "<html>"
- "<body onLoad=\"document.body.focus(); runTest();\" contentEditable=\"true\">"
- "</body></html>";
- g_test_add("/webkit/copyandpaste/paste-markup", CopyAndPasteFixture,
- test_info_new(paste_test_html, "bobby"),
- copy_and_paste_fixture_setup,
- test_pasting_markup,
- copy_and_paste_fixture_teardown);
-
- return g_test_run();
-}
diff --git a/Source/WebKit/gtk/tests/testdomdocument.c b/Source/WebKit/gtk/tests/testdomdocument.c
deleted file mode 100644
index 573159316..000000000
--- a/Source/WebKit/gtk/tests/testdomdocument.c
+++ /dev/null
@@ -1,428 +0,0 @@
-/*
- * 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 "autotoolsconfig.h"
-#include "test_utils.h"
-
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-#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>"
-#define HTML_DOCUMENT_ELEMENTS_CLASS "<html><body><div class=\"test\"></div><div class=\"strange\"></div><div class=\"test\"></div></body></html>"
-#define HTML_DOCUMENT_ELEMENTS_ID "<html><body><div id=\"testok\"></div><div id=\"testbad\">first</div><div id=\"testbad\">second</div></body></html>"
-#define HTML_DOCUMENT_LINKS "<html><head><title>Title</title></head><body><a href=\"about:blank\">blank</a><a href=\"http://www.google.com\">google</a><a href=\"http://www.webkit.org\">webkit</a></body></html>"
-#define HTML_DOCUMENT_IFRAME "<html><head><title>IFrame</title></head><body><iframe id='iframe'></iframe><div id='test'></div></body></html>"
-#define HTML_DOCUMENT_TABLE "<html><body><table id=\"table\"></table></body></html>"
-#define HTML_DOCUMENT_EVALUATE "<html><head><title></title></head><body><div>First div</div><div>Second div</div></body></html>"
-
-typedef struct {
- GtkWidget* webView;
- GMainLoop* loop;
-} DomDocumentFixture;
-
-static gboolean finish_loading(DomDocumentFixture* fixture)
-{
- if (g_main_loop_is_running(fixture->loop))
- g_main_loop_quit(fixture->loop);
-
- return FALSE;
-}
-
-static void dom_document_fixture_setup(DomDocumentFixture* fixture, gconstpointer data)
-{
- fixture->loop = g_main_loop_new(NULL, TRUE);
- fixture->webView = webkit_web_view_new();
- g_object_ref_sink(fixture->webView);
-
- if (data != NULL)
- webkit_web_view_load_string(WEBKIT_WEB_VIEW (fixture->webView), (const char*) data, NULL, NULL, NULL);
-
- g_idle_add((GSourceFunc)finish_loading, fixture);
- g_main_loop_run(fixture->loop);
-}
-
-static void dom_document_fixture_teardown(DomDocumentFixture* fixture, gconstpointer data)
-{
- if (fixture->webView)
- g_object_unref(fixture->webView);
- g_main_loop_unref(fixture->loop);
-}
-
-static void test_dom_document_title(DomDocumentFixture* fixture, gconstpointer data)
-{
- g_assert(fixture);
- WebKitWebView* view = (WebKitWebView*)fixture->webView;
- g_assert(view);
- WebKitDOMDocument* document = webkit_web_view_get_dom_document(view);
- g_assert(document);
- gchar* title = webkit_dom_document_get_title(document);
- g_assert(title);
- g_assert_cmpstr(title, ==, "This is the title");
- g_free(title);
- webkit_dom_document_set_title(document, "This is the second title");
- title = webkit_dom_document_get_title(document);
- g_assert(title);
- g_assert_cmpstr(title, ==, "This is the second title");
- g_free(title);
-}
-
-static void test_dom_document_get_elements_by_tag_name(DomDocumentFixture* fixture, gconstpointer data)
-{
- g_assert(fixture);
- WebKitWebView* view = (WebKitWebView*)fixture->webView;
- g_assert(view);
- WebKitDOMDocument* document = webkit_web_view_get_dom_document(view);
- g_assert(document);
- WebKitDOMNodeList* list = webkit_dom_document_get_elements_by_tag_name(document, "li");
- g_assert(list);
- gulong length = webkit_dom_node_list_get_length(list);
- g_assert_cmpint(length, ==, 3);
-
- guint i;
-
- for (i = 0; i < length; i++) {
- WebKitDOMNode* item = webkit_dom_node_list_item(list, i);
- g_assert(item);
- WebKitDOMElement* element = (WebKitDOMElement*)item;
- g_assert(element);
- g_assert_cmpstr(webkit_dom_element_get_tag_name(element), ==, "LI");
- WebKitDOMHTMLElement* htmlElement = (WebKitDOMHTMLElement*)element;
- char* n = g_strdup_printf("%d", i+1);
- g_assert_cmpstr(webkit_dom_html_element_get_inner_text(htmlElement), ==, n);
- g_free(n);
- }
-
- g_object_unref(list);
-}
-
-static void test_dom_document_get_elements_by_class_name(DomDocumentFixture* fixture, gconstpointer data)
-{
- g_assert(fixture);
- WebKitWebView* view = (WebKitWebView*)fixture->webView;
- g_assert(view);
- WebKitDOMDocument* document = webkit_web_view_get_dom_document(view);
- g_assert(document);
- WebKitDOMNodeList* list = webkit_dom_document_get_elements_by_class_name(document, "test");
- g_assert(list);
- gulong length = webkit_dom_node_list_get_length(list);
- g_assert_cmpint(length, ==, 2);
-
- guint i;
-
- for (i = 0; i < length; i++) {
- WebKitDOMNode* item = webkit_dom_node_list_item(list, i);
- g_assert(item);
- WebKitDOMElement* element = (WebKitDOMElement*)item;
- g_assert(element);
- g_assert_cmpstr(webkit_dom_element_get_tag_name(element), ==, "DIV");
- }
-
- g_object_unref(list);
-}
-
-static void test_dom_document_get_element_by_id(DomDocumentFixture* fixture, gconstpointer data)
-{
- g_assert(fixture);
- WebKitWebView* view = (WebKitWebView*)fixture->webView;
- g_assert(view);
- WebKitDOMDocument* document = webkit_web_view_get_dom_document(view);
- g_assert(document);
- WebKitDOMElement* element = webkit_dom_document_get_element_by_id(document, "testok");
- g_assert(element);
- element = webkit_dom_document_get_element_by_id(document, "this-id-does-not-exist");
- g_assert(element == 0);
- /* The DOM spec says the return value is undefined when there's
- * more than one element with the same id; in our case the first
- * one will be returned */
- element = webkit_dom_document_get_element_by_id(document, "testbad");
- g_assert(element);
- WebKitDOMHTMLElement* htmlElement = (WebKitDOMHTMLElement*)element;
- g_assert_cmpstr(webkit_dom_html_element_get_inner_text(htmlElement), ==, "first");
-}
-
-static void test_dom_document_get_links(DomDocumentFixture* fixture, gconstpointer data)
-{
- g_assert(fixture);
- WebKitWebView* view = (WebKitWebView*)fixture->webView;
- g_assert(view);
- WebKitDOMDocument* document = webkit_web_view_get_dom_document(view);
- g_assert(document);
- WebKitDOMHTMLCollection *collection = webkit_dom_document_get_links(document);
- g_assert(collection);
- gulong length = webkit_dom_html_collection_get_length(collection);
- g_assert_cmpint(length, ==, 3);
-
- guint i;
-
- for (i = 0; i < length; i++) {
- static const char* names[] = { "blank", "google", "webkit" };
- static const char* uris[] = { "about:blank", "http://www.google.com/", "http://www.webkit.org/" };
- WebKitDOMNode *node = webkit_dom_html_collection_item(collection, i);
- g_assert(node);
- WebKitDOMElement* element = (WebKitDOMElement*)node;
- g_assert_cmpstr(webkit_dom_element_get_tag_name(element), ==, "A");
- WebKitDOMHTMLElement *htmlElement = (WebKitDOMHTMLElement*)element;
- g_assert_cmpstr(webkit_dom_html_element_get_inner_text(htmlElement), ==, names[i]);
- WebKitDOMHTMLAnchorElement *anchor = (WebKitDOMHTMLAnchorElement*)element;
- g_assert_cmpstr(webkit_dom_html_anchor_element_get_href(anchor), ==, uris[i]);
- }
- g_object_unref(collection);
-}
-
-static void test_dom_document_insert_row(DomDocumentFixture* fixture, gconstpointer data)
-{
- g_assert(fixture);
- WebKitWebView* view = (WebKitWebView*)fixture->webView;
- g_assert(view);
- WebKitDOMDocument* document = webkit_web_view_get_dom_document(view);
- g_assert(WEBKIT_DOM_IS_DOCUMENT(document));
- WebKitDOMElement* table = webkit_dom_document_get_element_by_id(document, "table");
- g_assert(WEBKIT_DOM_IS_HTML_ELEMENT(table));
- WebKitDOMHTMLCollection* rows = webkit_dom_html_table_element_get_rows(WEBKIT_DOM_HTML_TABLE_ELEMENT(table));
- g_assert(WEBKIT_DOM_IS_HTML_COLLECTION(rows));
-
- // Table is initially empty.
- g_assert_cmpint(webkit_dom_html_collection_get_length(rows), ==, 0);
- WebKitDOMHTMLElement* row = webkit_dom_html_table_element_insert_row(WEBKIT_DOM_HTML_TABLE_ELEMENT(table), -1, NULL);
- g_assert(WEBKIT_DOM_IS_HTML_TABLE_ROW_ELEMENT(row));
- rows = webkit_dom_html_table_element_get_rows(WEBKIT_DOM_HTML_TABLE_ELEMENT(table));
- g_assert(WEBKIT_DOM_IS_HTML_COLLECTION(rows));
- g_assert_cmpint(webkit_dom_html_collection_get_length(rows), ==, 1);
-}
-
-static void test_dom_document_evaluate(DomDocumentFixture* fixture, gconstpointer data)
-{
- g_assert(fixture);
- WebKitWebView* view = (WebKitWebView*)fixture->webView;
- g_assert(view);
- WebKitDOMDocument* document = webkit_web_view_get_dom_document(view);
- g_assert(WEBKIT_DOM_IS_DOCUMENT(document));
- WebKitDOMNodeList* list = webkit_dom_document_get_elements_by_tag_name(document, "html");
- g_assert(list);
- gulong length = webkit_dom_node_list_get_length(list);
- g_assert_cmpint(length, ==, 1);
- WebKitDOMNode* html = webkit_dom_node_list_item(list, 0);
- g_assert(WEBKIT_DOM_IS_NODE(html));
-
- WebKitDOMXPathResult* result = webkit_dom_document_evaluate(document, "//div", html, NULL, 0, NULL, NULL);
- g_assert(WEBKIT_DOM_IS_XPATH_RESULT(result));
-
- int i = 0;
- WebKitDOMNode* node;
- while ( (node = webkit_dom_xpath_result_iterate_next(result, NULL)) != NULL) {
- g_assert(node);
- WebKitDOMElement* element = (WebKitDOMElement*)node;
- g_assert_cmpstr(webkit_dom_element_get_tag_name(element), ==, "DIV");
- i++;
- }
- g_assert_cmpint(i, ==, 2);
-
- g_object_unref(list);
-}
-
-static void weak_notify(gpointer data, GObject* zombie)
-{
- guint* count = (guint*)data;
- (*count)++;
-}
-
-static void test_dom_document_garbage_collection(DomDocumentFixture* fixture, gconstpointer data)
-{
- guint count = 0;
- g_assert(fixture);
- WebKitWebView* view = (WebKitWebView*)fixture->webView;
- g_assert(view);
- WebKitDOMDocument* document = webkit_web_view_get_dom_document(view);
- g_assert(document);
- g_object_weak_ref(G_OBJECT(document), (GWeakNotify)weak_notify, &count);
- WebKitDOMHTMLHeadElement* head = webkit_dom_document_get_head(document);
- g_assert(head);
- g_object_weak_ref(G_OBJECT(head), (GWeakNotify)weak_notify, &count);
- WebKitDOMHTMLElement* body = webkit_dom_document_get_body(document);
- g_assert(body);
- g_object_weak_ref(G_OBJECT(body), (GWeakNotify)weak_notify, &count);
- WebKitDOMHTMLCollection *collection = webkit_dom_document_get_links(document);
- g_assert(collection);
- g_object_weak_ref(G_OBJECT(collection), (GWeakNotify)weak_notify, &count);
-
- webkit_web_view_load_string(WEBKIT_WEB_VIEW(view), HTML_DOCUMENT_LINKS, NULL, NULL, NULL);
-
- while (g_main_context_pending(NULL))
- g_main_context_iteration(NULL, FALSE);
-
- g_assert_cmpuint(count, ==, 3);
-
- g_object_unref(collection);
- g_assert_cmpuint(count, ==, 4);
-
- count = 0;
-
- document = webkit_web_view_get_dom_document(view);
- g_assert(document);
- g_object_weak_ref(G_OBJECT(document), (GWeakNotify)weak_notify, &count);
- head = webkit_dom_document_get_head(document);
- g_assert(head);
- g_object_weak_ref(G_OBJECT(head), (GWeakNotify)weak_notify, &count);
- body = webkit_dom_document_get_body(document);
- g_assert(body);
- g_object_weak_ref(G_OBJECT(body), (GWeakNotify)weak_notify, &count);
- collection = webkit_dom_document_get_links(document);
- g_assert(collection);
- g_object_weak_ref(G_OBJECT(collection), (GWeakNotify)weak_notify, &count);
- /* Ask twice for the same object */
- WebKitDOMHTMLCollection* collection2 = webkit_dom_document_get_links(document);
- g_assert(collection2);
- g_object_weak_ref(G_OBJECT(collection2), (GWeakNotify)weak_notify, &count);
-
- g_object_unref(document);
- g_object_unref(head);
- g_object_unref(body);
- g_object_unref(collection);
- g_object_unref(collection2);
-
- g_assert_cmpuint(count, ==, 5);
-
- webkit_web_view_load_string(WEBKIT_WEB_VIEW(view), HTML_DOCUMENT_IFRAME, NULL, NULL, NULL);
-
- while (g_main_context_pending(NULL))
- g_main_context_iteration(NULL, FALSE);
-
- count = 0;
-
- document = webkit_web_view_get_dom_document(view);
- WebKitDOMElement* div = webkit_dom_document_get_element_by_id(document, "test");
- g_assert(div);
- g_object_weak_ref(G_OBJECT(div), (GWeakNotify)weak_notify, &count);
- WebKitDOMElement* iframe = webkit_dom_document_get_element_by_id(document, "iframe");
- g_assert(iframe);
-
- webkit_dom_element_set_attribute(iframe, "src", "data:<html><head></head></html>", NULL);
-
- while (g_main_context_pending(NULL))
- g_main_context_iteration(NULL, FALSE);
-
- WebKitDOMDocument* iframeDocument = webkit_dom_html_iframe_element_get_content_document(WEBKIT_DOM_HTML_IFRAME_ELEMENT(iframe));
- g_assert(iframeDocument);
- head = webkit_dom_document_get_head(iframeDocument);
- g_assert(head);
- g_object_weak_ref(G_OBJECT(head), (GWeakNotify)weak_notify, &count);
-
- webkit_dom_element_set_attribute(iframe, "src", "about:blank", NULL);
-
- while (g_main_context_pending(NULL))
- g_main_context_iteration(NULL, FALSE);
-
- g_assert_cmpuint(count, ==, 1);
-
- webkit_web_view_load_string(WEBKIT_WEB_VIEW(view), HTML_DOCUMENT_LINKS, NULL, NULL, NULL);
-
- while (g_main_context_pending(NULL))
- g_main_context_iteration(NULL, FALSE);
-
- g_assert_cmpuint(count, ==, 2);
-
- count = 0;
-
- document = webkit_web_view_get_dom_document(view);
- g_assert(document);
- g_object_weak_ref(G_OBJECT(document), (GWeakNotify)weak_notify, &count);
- /* Ask twice for the Document */
- WebKitDOMDocument* document2 = webkit_web_view_get_dom_document(view);
- g_assert(document2);
- g_object_weak_ref(G_OBJECT(document2), (GWeakNotify)weak_notify, &count);
- head = webkit_dom_document_get_head(document);
- g_assert(head);
- g_object_weak_ref(G_OBJECT(head), (GWeakNotify)weak_notify, &count);
- body = webkit_dom_document_get_body(document);
- g_assert(body);
- g_object_weak_ref(G_OBJECT(body), (GWeakNotify)weak_notify, &count);
- collection = webkit_dom_document_get_links(document);
- g_assert(collection);
- g_object_weak_ref(G_OBJECT(collection), (GWeakNotify)weak_notify, &count);
-
- gtk_widget_destroy(fixture->webView);
- fixture->webView = NULL;
-
- g_assert_cmpuint(count, ==, 4);
-
- g_object_unref(collection);
-
- g_assert_cmpuint(count, ==, 5);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
-
- g_test_add("/webkit/domdocument/test_title",
- DomDocumentFixture, HTML_DOCUMENT_TITLE,
- dom_document_fixture_setup,
- test_dom_document_title,
- dom_document_fixture_teardown);
-
- g_test_add("/webkit/domdocument/test_get_elements_by_tag_name",
- DomDocumentFixture, HTML_DOCUMENT_ELEMENTS,
- dom_document_fixture_setup,
- test_dom_document_get_elements_by_tag_name,
- dom_document_fixture_teardown);
-
- g_test_add("/webkit/domdocument/test_get_elements_by_class_name",
- DomDocumentFixture, HTML_DOCUMENT_ELEMENTS_CLASS,
- dom_document_fixture_setup,
- test_dom_document_get_elements_by_class_name,
- dom_document_fixture_teardown);
-
- g_test_add("/webkit/domdocument/test_get_element_by_id",
- DomDocumentFixture, HTML_DOCUMENT_ELEMENTS_ID,
- dom_document_fixture_setup,
- test_dom_document_get_element_by_id,
- dom_document_fixture_teardown);
-
- g_test_add("/webkit/domdocument/test_get_links",
- DomDocumentFixture, HTML_DOCUMENT_LINKS,
- dom_document_fixture_setup,
- test_dom_document_get_links,
- dom_document_fixture_teardown);
-
- g_test_add("/webkit/domdocument/test_table_insert_row",
- DomDocumentFixture, HTML_DOCUMENT_TABLE,
- dom_document_fixture_setup,
- test_dom_document_insert_row,
- dom_document_fixture_teardown);
-
- g_test_add("/webkit/domdocument/test_document_evaluate",
- DomDocumentFixture, HTML_DOCUMENT_EVALUATE,
- dom_document_fixture_setup,
- test_dom_document_evaluate,
- dom_document_fixture_teardown);
-
- g_test_add("/webkit/domdocument/test_garbage_collection",
- DomDocumentFixture, HTML_DOCUMENT_LINKS,
- dom_document_fixture_setup,
- test_dom_document_garbage_collection,
- dom_document_fixture_teardown);
-
- return g_test_run();
-}
-
diff --git a/Source/WebKit/gtk/tests/testdomdomwindow.c b/Source/WebKit/gtk/tests/testdomdomwindow.c
deleted file mode 100644
index 701df4f17..000000000
--- a/Source/WebKit/gtk/tests/testdomdomwindow.c
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * 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 "autotoolsconfig.h"
-#include "test_utils.h"
-
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-#define HTML_DOCUMENT "<html><head><title></title></head><style type='text/css'>#test { font-size: 16px; }</style><body><p id='test'>test</p></body></html>"
-
-typedef struct {
- GtkWidget* webView;
- GtkWidget* window;
- WebKitDOMDOMWindow* domWindow;
- GMainLoop* loop;
-
- gboolean loaded;
- gboolean clicked;
- gconstpointer data;
-} DomDomviewFixture;
-
-static gboolean finish_loading(DomDomviewFixture* fixture)
-{
- if (g_main_loop_is_running(fixture->loop))
- g_main_loop_quit(fixture->loop);
-
- return FALSE;
-}
-
-static void dom_domview_fixture_setup(DomDomviewFixture* fixture, gconstpointer data)
-{
- fixture->loop = g_main_loop_new(NULL, TRUE);
- fixture->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- fixture->webView = webkit_web_view_new();
- fixture->data = data;
-
- gtk_container_add(GTK_CONTAINER(fixture->window), GTK_WIDGET(fixture->webView));
-}
-
-static void dom_domview_fixture_teardown(DomDomviewFixture* fixture, gconstpointer data)
-{
- gtk_widget_destroy(fixture->window);
- g_main_loop_unref(fixture->loop);
-}
-
-static void dom_dom_window_fixture_setup(DomDomviewFixture* fixture, gconstpointer data)
-{
- fixture->loop = g_main_loop_new(NULL, TRUE);
- fixture->webView = webkit_web_view_new();
- g_object_ref_sink(fixture->webView);
-
- if (data != NULL)
- webkit_web_view_load_string(WEBKIT_WEB_VIEW (fixture->webView), (const char*) data, NULL, NULL, NULL);
-
- g_idle_add((GSourceFunc)finish_loading, fixture);
- g_main_loop_run(fixture->loop);
-}
-
-static void dom_dom_window_fixture_teardown(DomDomviewFixture* fixture, gconstpointer data)
-{
- if (fixture->webView)
- g_object_unref(fixture->webView);
- g_main_loop_unref(fixture->loop);
-}
-
-static gboolean loadedCallback(WebKitDOMDOMWindow* view, WebKitDOMEvent* event, DomDomviewFixture* fixture)
-{
- g_assert(fixture->loaded == FALSE);
- fixture->loaded = TRUE;
-
- return FALSE;
-}
-
-static gboolean clickedCallback(WebKitDOMDOMWindow* view, WebKitDOMEvent* event, DomDomviewFixture* fixture)
-{
- WebKitDOMEventTarget* target;
- gushort phase;
-
- g_assert(event);
- g_assert(WEBKIT_DOM_IS_EVENT(event));
-
- // We should catch this in the bubbling up phase, since we are connecting to the toplevel object
- phase = webkit_dom_event_get_event_phase(event);
- g_assert_cmpint(phase, ==, 3);
-
- target = webkit_dom_event_get_current_target(event);
- g_assert(target == WEBKIT_DOM_EVENT_TARGET(view));
-
- g_assert(fixture->clicked == FALSE);
- fixture->clicked = TRUE;
-
- finish_loading(fixture);
-
- return FALSE;
-}
-
-gboolean map_event_cb(GtkWidget *widget, GdkEvent* event, DomDomviewFixture* fixture)
-{
- webkit_web_view_load_string(WEBKIT_WEB_VIEW (fixture->webView), (const char*)fixture->data, NULL, NULL, NULL);
-
- return FALSE;
-}
-
-static void load_event_callback(WebKitWebView* webView, GParamSpec* spec, DomDomviewFixture* fixture)
-{
- WebKitLoadStatus status = webkit_web_view_get_load_status(webView);
- if (status == WEBKIT_LOAD_FINISHED) {
- webkit_dom_event_target_add_event_listener(WEBKIT_DOM_EVENT_TARGET(fixture->domWindow), "click", G_CALLBACK(clickedCallback), false, fixture);
-
- g_assert(fixture->clicked == FALSE);
- gtk_test_widget_click(GTK_WIDGET(fixture->webView), 1, 0);
- }
-
-}
-
-static void test_dom_domview_signals(DomDomviewFixture* fixture, gconstpointer data)
-{
- g_assert(fixture);
- WebKitWebView* view = (WebKitWebView*)fixture->webView;
- g_assert(view);
- WebKitDOMDocument* document = webkit_web_view_get_dom_document(view);
- g_assert(document);
- WebKitDOMDOMWindow* domWindow = webkit_dom_document_get_default_view(document);
- g_assert(domWindow);
-
- fixture->domWindow = domWindow;
-
- webkit_dom_event_target_add_event_listener(WEBKIT_DOM_EVENT_TARGET(fixture->domWindow), "load", G_CALLBACK(loadedCallback), false, fixture);
- g_signal_connect(fixture->window, "map-event", G_CALLBACK(map_event_cb), fixture);
- g_signal_connect(fixture->webView, "notify::load-status", G_CALLBACK(load_event_callback), fixture);
-
- gtk_widget_show_all(fixture->window);
- gtk_window_present(GTK_WINDOW(fixture->window));
-
- g_main_loop_run(fixture->loop);
-
- g_assert(fixture->loaded);
- g_assert(fixture->clicked);
-}
-
-static gboolean
-clicked_cb(WebKitDOMEventTarget* target, WebKitDOMEvent* event, DomDomviewFixture* fixture)
-{
- g_assert(fixture->clicked == FALSE);
- fixture->clicked = TRUE;
- finish_loading(fixture);
- return FALSE;
-}
-
-static void load_status_callback(WebKitWebView* webView, GParamSpec* spec, DomDomviewFixture* fixture)
-{
- WebKitLoadStatus status = webkit_web_view_get_load_status(webView);
- if (status == WEBKIT_LOAD_FINISHED) {
- WebKitDOMDocument* document;
- WebKitDOMDOMWindow* domWindow;
- WebKitDOMElement* element;
- WebKitDOMEvent* event;
- glong clientX, clientY;
-
- document = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(fixture->webView));
- g_assert(document);
- domWindow = webkit_dom_document_get_default_view(document);
- g_assert(domWindow);
- fixture->domWindow = domWindow;
-
- element = webkit_dom_document_get_element_by_id(document, "test");
- g_assert(element);
- event = webkit_dom_document_create_event(document, "MouseEvent", NULL);
- g_assert(event);
- g_assert(WEBKIT_DOM_IS_EVENT(event));
- g_assert(WEBKIT_DOM_IS_MOUSE_EVENT(event));
- clientX = webkit_dom_element_get_client_left(element);
- clientY = webkit_dom_element_get_client_top(element);
- webkit_dom_mouse_event_init_mouse_event(WEBKIT_DOM_MOUSE_EVENT(event),
- "click", TRUE, TRUE,
- fixture->domWindow, 0, 0, 0, clientX, clientY,
- FALSE, FALSE, FALSE, FALSE,
- 1, WEBKIT_DOM_EVENT_TARGET(element));
- webkit_dom_event_target_add_event_listener(WEBKIT_DOM_EVENT_TARGET(element), "click", G_CALLBACK(clicked_cb), false, fixture);
- g_assert(fixture->clicked == FALSE);
- webkit_dom_event_target_dispatch_event(WEBKIT_DOM_EVENT_TARGET(element), event, NULL);
- }
-
-}
-
-static void test_dom_domview_dispatch_event(DomDomviewFixture* fixture, gconstpointer data)
-{
- g_signal_connect(fixture->window, "map-event", G_CALLBACK(map_event_cb), fixture);
- g_signal_connect(fixture->webView, "notify::load-status", G_CALLBACK(load_status_callback), fixture);
-
- gtk_widget_show_all(fixture->window);
- gtk_window_present(GTK_WINDOW(fixture->window));
-
- g_main_loop_run (fixture->loop);
- g_assert(fixture->clicked);
-}
-
-static void test_dom_dom_window_get_computed_style(DomDomviewFixture* fixture, gconstpointer data)
-{
- WebKitDOMDocument* document = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(fixture->webView));
- g_assert(document);
- WebKitDOMDOMWindow* domWindow = webkit_dom_document_get_default_view(document);
- g_assert(domWindow);
-
- WebKitDOMElement* element = webkit_dom_document_get_element_by_id(document, "test");
- g_assert(element);
- g_assert(WEBKIT_DOM_IS_ELEMENT(element));
- WebKitDOMCSSStyleDeclaration* cssStyle = webkit_dom_dom_window_get_computed_style(domWindow, element, NULL);
- gchar* fontSize = webkit_dom_css_style_declaration_get_property_value(cssStyle, "font-size");
- g_assert_cmpstr(fontSize, ==, "16px");
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
-
- g_test_add("/webkit/domdomview/signals",
- DomDomviewFixture, HTML_DOCUMENT,
- dom_domview_fixture_setup,
- test_dom_domview_signals,
- dom_domview_fixture_teardown);
-
- g_test_add("/webkit/domdomview/dispatch_event",
- DomDomviewFixture, HTML_DOCUMENT,
- dom_domview_fixture_setup,
- test_dom_domview_dispatch_event,
- dom_domview_fixture_teardown);
-
- g_test_add("/webkit/domdomwindow/get_computed_style",
- DomDomviewFixture, HTML_DOCUMENT,
- dom_dom_window_fixture_setup,
- test_dom_dom_window_get_computed_style,
- dom_dom_window_fixture_teardown);
-
- return g_test_run();
-}
-
diff --git a/Source/WebKit/gtk/tests/testdomnode.c b/Source/WebKit/gtk/tests/testdomnode.c
deleted file mode 100644
index 0521d1715..000000000
--- a/Source/WebKit/gtk/tests/testdomnode.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * 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 "autotoolsconfig.h"
-#include "test_utils.h"
-
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-#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>"
-
-typedef struct {
- GtkWidget* webView;
- GMainLoop* loop;
-} DomNodeFixture;
-
-static gboolean finish_loading(DomNodeFixture* fixture)
-{
- if (g_main_loop_is_running(fixture->loop))
- g_main_loop_quit(fixture->loop);
-
- return FALSE;
-}
-
-static void dom_node_fixture_setup(DomNodeFixture* fixture, gconstpointer data)
-{
- fixture->loop = g_main_loop_new(NULL, TRUE);
- fixture->webView = webkit_web_view_new();
- g_object_ref_sink(fixture->webView);
-
- if (data != NULL)
- webkit_web_view_load_string(WEBKIT_WEB_VIEW(fixture->webView), (const char*)data, NULL, NULL, NULL);
-
- g_idle_add((GSourceFunc)finish_loading, fixture);
- g_main_loop_run(fixture->loop);
-}
-
-static void dom_node_fixture_teardown(DomNodeFixture* fixture, gconstpointer data)
-{
- g_object_unref(fixture->webView);
- g_main_loop_unref(fixture->loop);
-}
-
-static void test_dom_node_hierarchy_navigation(DomNodeFixture* fixture, gconstpointer data)
-{
- WebKitDOMDocument* document;
- WebKitDOMHTMLHeadElement* head;
- WebKitDOMHTMLBodyElement* body;
- WebKitDOMNodeList* list;
- WebKitDOMNode* ptr;
- gulong i, length;
-
- document = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(fixture->webView));
- g_assert(document);
- g_assert(WEBKIT_DOM_IS_DOCUMENT(document));
- head = webkit_dom_document_get_head(document);
- g_assert(head);
- g_assert(WEBKIT_DOM_IS_HTML_HEAD_ELEMENT(head));
-
- /* Title, head's child */
- g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(head)));
- list = webkit_dom_node_get_child_nodes(WEBKIT_DOM_NODE(head));
- g_assert_cmpint(webkit_dom_node_list_get_length(list), ==, 1);
- ptr = webkit_dom_node_list_item(list, 0);
- g_assert(ptr);
- g_assert(WEBKIT_DOM_IS_HTML_TITLE_ELEMENT(ptr));
- g_object_unref(list);
-
- /* Body, Head sibling */
- ptr = webkit_dom_node_get_next_sibling(WEBKIT_DOM_NODE(head));
- g_assert(ptr);
- body = WEBKIT_DOM_HTML_BODY_ELEMENT(ptr);
- g_assert(WEBKIT_DOM_IS_HTML_BODY_ELEMENT(body));
-
- /* There is no third sibling */
- ptr = webkit_dom_node_get_next_sibling(ptr);
- g_assert(ptr == NULL);
-
- /* Body's previous sibling is Head */
- ptr = webkit_dom_node_get_previous_sibling(WEBKIT_DOM_NODE(body));
- g_assert(ptr);
- g_assert(WEBKIT_DOM_IS_HTML_HEAD_ELEMENT(ptr));
-
- /* Body has 3 children */
- g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(body)));
- list = webkit_dom_node_get_child_nodes(WEBKIT_DOM_NODE(body));
- length = webkit_dom_node_list_get_length(list);
- g_assert_cmpint(length, ==, 3);
-
- /* The three of them are P tags */
- for (i = 0; i < length; i++) {
- ptr = webkit_dom_node_list_item(list, i);
- g_assert(ptr);
- g_assert(WEBKIT_DOM_IS_HTML_PARAGRAPH_ELEMENT(ptr));
- }
-
- /* Go backwards */
- for (i = 0; ptr; ptr = webkit_dom_node_get_previous_sibling(ptr), i++)
- /* Nothing */;
-
- g_assert_cmpint(i, ==, 3);
- g_object_unref(list);
-}
-
-static void test_dom_node_insertion(DomNodeFixture* fixture, gconstpointer data)
-{
- WebKitDOMDocument* document;
- WebKitDOMHTMLElement* body;
- WebKitDOMElement* p, *div;
- WebKitDOMNodeList* list;
- WebKitDOMNode* node;
-
- document = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(fixture->webView));
- g_assert(document);
- body = webkit_dom_document_get_body(document);
- g_assert(body);
- g_assert(WEBKIT_DOM_IS_HTML_ELEMENT(body));
-
- /* Body shouldn't have any children at this point */
- g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(body)) == FALSE);
-
- /* Insert one P element */
- p = webkit_dom_document_create_element(document, "P", NULL);
- webkit_dom_node_append_child(WEBKIT_DOM_NODE(body), WEBKIT_DOM_NODE(p), NULL);
-
- /* Now it should have one, the same that we inserted */
- g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(body)));
- list = webkit_dom_node_get_child_nodes(WEBKIT_DOM_NODE(body));
- g_assert_cmpint(webkit_dom_node_list_get_length(list), ==, 1);
- node = webkit_dom_node_list_item(list, 0);
- g_assert(node);
- g_assert(webkit_dom_node_is_same_node(WEBKIT_DOM_NODE(p), node));
- g_object_unref(list);
-
- /* Replace the P tag with a DIV tag */
- div = webkit_dom_document_create_element(document, "DIV", NULL);
- webkit_dom_node_replace_child(WEBKIT_DOM_NODE(body), WEBKIT_DOM_NODE(div), WEBKIT_DOM_NODE(p), NULL);
- g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(body)));
- list = webkit_dom_node_get_child_nodes(WEBKIT_DOM_NODE(body));
- g_assert_cmpint(webkit_dom_node_list_get_length(list), ==, 1);
- node = webkit_dom_node_list_item(list, 0);
- g_assert(node);
- g_assert(webkit_dom_node_is_same_node(WEBKIT_DOM_NODE(div), node));
- g_object_unref(list);
-
- /* Now remove the tag */
- webkit_dom_node_remove_child(WEBKIT_DOM_NODE(body), node, NULL);
- list = webkit_dom_node_get_child_nodes(WEBKIT_DOM_NODE(body));
- g_assert_cmpint(webkit_dom_node_list_get_length(list), ==, 0);
- g_object_unref(list);
-
- /* Test insert_before */
-
- /* If refChild is null, insert newChild as last element of parent */
- div = webkit_dom_document_create_element(document, "DIV", NULL);
- webkit_dom_node_insert_before(WEBKIT_DOM_NODE(body), WEBKIT_DOM_NODE(div), NULL, NULL);
- g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(body)));
- list = webkit_dom_node_get_child_nodes(WEBKIT_DOM_NODE(body));
- g_assert_cmpint(webkit_dom_node_list_get_length(list), ==, 1);
- node = webkit_dom_node_list_item(list, 0);
- g_assert(node);
- g_assert(webkit_dom_node_is_same_node(WEBKIT_DOM_NODE(div), node));
- g_object_unref(list);
-
- /* Now insert a 'p' before 'div' */
- p = webkit_dom_document_create_element(document, "P", NULL);
- webkit_dom_node_insert_before(WEBKIT_DOM_NODE(body), WEBKIT_DOM_NODE(p), WEBKIT_DOM_NODE(div), NULL);
- g_assert(webkit_dom_node_has_child_nodes(WEBKIT_DOM_NODE(body)));
- list = webkit_dom_node_get_child_nodes(WEBKIT_DOM_NODE(body));
- g_assert_cmpint(webkit_dom_node_list_get_length(list), ==, 2);
- node = webkit_dom_node_list_item(list, 0);
- g_assert(node);
- g_assert(webkit_dom_node_is_same_node(WEBKIT_DOM_NODE(p), node));
- node = webkit_dom_node_list_item(list, 1);
- g_assert(node);
- g_assert(webkit_dom_node_is_same_node(WEBKIT_DOM_NODE(div), node));
- g_object_unref(list);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
-
- g_test_add("/webkit/domnode/test_hierarchy_navigation",
- DomNodeFixture, HTML_DOCUMENT_HIERARCHY_NAVIGATION,
- dom_node_fixture_setup,
- test_dom_node_hierarchy_navigation,
- dom_node_fixture_teardown);
-
- g_test_add("/webkit/domnode/test_insertion",
- DomNodeFixture, HTML_DOCUMENT_NODE_INSERTION,
- dom_node_fixture_setup,
- test_dom_node_insertion,
- dom_node_fixture_teardown);
-
- return g_test_run();
-}
-
diff --git a/Source/WebKit/gtk/tests/testdownload.c b/Source/WebKit/gtk/tests/testdownload.c
deleted file mode 100644
index 106c346ce..000000000
--- a/Source/WebKit/gtk/tests/testdownload.c
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * Copyright (C) 2009 Christian Dywan <christian@twotoasts.de>
- *
- * 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,1 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 "autotoolsconfig.h"
-#include <errno.h>
-#include <unistd.h>
-#include <glib/gstdio.h>
-#include <webkit/webkit.h>
-
-GMainLoop* loop;
-char* temporaryFilename = NULL;
-WebKitDownload* theDownload = NULL;
-
-static void
-test_webkit_download_create(void)
-{
- WebKitNetworkRequest* request;
- WebKitDownload* download;
- const gchar* uri = "http://example.com";
- gchar* tmpDir;
-
- request = webkit_network_request_new(uri);
- download = webkit_download_new(request);
- g_object_unref(request);
- g_assert_cmpstr(webkit_download_get_uri(download), ==, uri);
- g_assert(webkit_download_get_network_request(download) == request);
- g_assert(g_strrstr(uri, webkit_download_get_suggested_filename(download)));
- g_assert(webkit_download_get_status(download) == WEBKIT_DOWNLOAD_STATUS_CREATED);
- g_assert(!webkit_download_get_total_size(download));
- g_assert(!webkit_download_get_current_size(download));
- g_assert(!webkit_download_get_progress(download));
- g_assert(!webkit_download_get_elapsed_time(download));
- tmpDir = g_filename_to_uri(g_get_tmp_dir(), NULL, NULL);
- webkit_download_set_destination_uri(download, tmpDir);
- g_assert_cmpstr(tmpDir, ==, webkit_download_get_destination_uri(download));;
- g_free(tmpDir);
- g_object_unref(download);
-}
-
-static gboolean
-navigation_policy_decision_requested_cb(WebKitWebView* web_view,
- WebKitWebFrame* web_frame,
- WebKitNetworkRequest* request,
- WebKitWebNavigationAction* action,
- WebKitWebPolicyDecision* decision,
- gpointer data)
-{
- webkit_web_policy_decision_download(decision);
- return TRUE;
-}
-
-static void
-notify_status_cb(GObject* object, GParamSpec* pspec, gpointer data)
-{
- WebKitDownload* download = WEBKIT_DOWNLOAD(object);
- switch (webkit_download_get_status(download)) {
- case WEBKIT_DOWNLOAD_STATUS_FINISHED:
- case WEBKIT_DOWNLOAD_STATUS_ERROR:
- g_main_loop_quit(loop);
- break;
- case WEBKIT_DOWNLOAD_STATUS_CANCELLED:
- g_assert_not_reached();
- break;
- default:
- break;
- }
-}
-
-static gboolean
-set_filename(gchar* filename)
-{
- gchar *uri = g_filename_to_uri(filename, NULL, NULL);
-
- webkit_download_set_destination_uri(theDownload, uri);
- g_free(uri);
-
- webkit_download_start(theDownload);
- return FALSE;
-}
-
-static void
-handle_download_requested_cb(WebKitDownload* download,
- gboolean* beenThere,
- gboolean asynch)
-{
- theDownload = download;
- *beenThere = TRUE;
-
- if (temporaryFilename) {
- if (asynch) {
- g_idle_add((GSourceFunc)set_filename, temporaryFilename);
- } else {
- gchar *uri = g_filename_to_uri(temporaryFilename, NULL, NULL);
- if (uri)
- webkit_download_set_destination_uri(download, uri);
- g_free(uri);
- }
- }
-
- g_signal_connect(download, "notify::status",
- G_CALLBACK(notify_status_cb), NULL);
-}
-
-static gboolean
-download_requested_cb(WebKitWebView* web_view,
- WebKitDownload* download,
- gboolean* beenThere)
-{
- handle_download_requested_cb(download, beenThere, FALSE);
- return TRUE;
-}
-
-static gboolean
-download_requested_asynch_cb(WebKitWebView* web_view,
- WebKitDownload* download,
- gboolean* beenThere)
-{
- handle_download_requested_cb(download, beenThere, TRUE);
- return TRUE;
-}
-
-static void
-test_webkit_download_perform(gboolean asynch)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- GCallback downloadRequestCallback = NULL;
-
- g_object_ref_sink(G_OBJECT(webView));
-
- g_signal_connect(webView, "navigation-policy-decision-requested",
- G_CALLBACK(navigation_policy_decision_requested_cb),
- NULL);
-
- if (asynch)
- downloadRequestCallback = G_CALLBACK(download_requested_asynch_cb);
- else
- downloadRequestCallback = G_CALLBACK(download_requested_cb);
-
- gboolean beenThere = FALSE;
- g_signal_connect(webView, "download-requested",
- downloadRequestCallback, &beenThere);
-
- /* Preparation; FIXME: we should move this code to a test
- * utilities file, because we have a very similar one in
- * testwebframe.c */
- GError *error = NULL;
- gchar* filename;
- int fd = g_file_open_tmp("webkit-testwebdownload-XXXXXX", &filename, &error);
- close(fd);
-
- if (error)
- g_critical("Failed to open a temporary file for writing: %s.", error->message);
-
- if (g_unlink(filename) == -1)
- g_critical("Failed to delete the temporary file: %s.", g_strerror(errno));
-
- theDownload = NULL;
- temporaryFilename = filename;
-
- loop = g_main_loop_new(NULL, TRUE);
- webkit_web_view_load_uri(webView, "http://gnome.org/");
- g_main_loop_run(loop);
-
- g_assert_cmpint(beenThere, ==, TRUE);
-
- g_assert_cmpint(g_file_test(temporaryFilename, G_FILE_TEST_IS_REGULAR), ==, TRUE);
-
- g_unlink(temporaryFilename);
- g_free(temporaryFilename);
- temporaryFilename = NULL;
-
- g_main_loop_unref(loop);
- g_object_unref(webView);
-}
-
-static void
-test_webkit_download_synch(void)
-{
- test_webkit_download_perform(FALSE);
-}
-
-static void
-test_webkit_download_asynch(void)
-{
- test_webkit_download_perform(TRUE);
-}
-
-static gboolean mime_type_policy_decision_requested_cb(WebKitWebView* view, WebKitWebFrame* frame,
- WebKitNetworkRequest* request, const char* mime_type,
- WebKitWebPolicyDecision* decision, gpointer data)
-{
- webkit_web_policy_decision_download(decision);
- return TRUE;
-}
-
-static void idle_quit_loop_cb(WebKitWebView* web_view, GParamSpec* pspec, gpointer data)
-{
- if (webkit_web_view_get_load_status(web_view) == WEBKIT_LOAD_FINISHED ||
- webkit_web_view_get_load_status(web_view) == WEBKIT_LOAD_FAILED)
- g_main_loop_quit(loop);
-}
-
-static void
-test_webkit_download_data(void)
-{
- gboolean beenThere = FALSE;
- WebKitWebView* webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(webView);
-
- g_signal_connect(webView, "download-requested",
- G_CALLBACK(download_requested_cb),
- &beenThere);
-
- g_signal_connect(webView, "notify::load-status",
- G_CALLBACK(idle_quit_loop_cb),
- NULL);
-
- g_signal_connect(webView, "mime-type-policy-decision-requested",
- G_CALLBACK(mime_type_policy_decision_requested_cb),
- NULL);
-
- loop = g_main_loop_new(NULL, TRUE);
-
- /* We're testing for a crash, so just not crashing is a pass */
- webkit_web_view_load_uri(webView, "data:application/octect-stream,");
- g_main_loop_run(loop);
-
- g_assert_cmpint(beenThere, ==, TRUE);
-
- g_main_loop_unref(loop);
- g_object_unref(webView);
-}
-
-static void notifyDownloadStatusCallback(GObject *object, GParamSpec *pspec, gpointer data)
-{
- WebKitDownload *download = WEBKIT_DOWNLOAD(object);
- WebKitNetworkResponse *response = webkit_download_get_network_response(download);
- SoupMessage *message = webkit_network_response_get_message(response);
-
- switch (webkit_download_get_status(download)) {
- case WEBKIT_DOWNLOAD_STATUS_ERROR:
- g_assert_cmpint(message->status_code, ==, 404);
- g_main_loop_quit(loop);
- break;
- case WEBKIT_DOWNLOAD_STATUS_FINISHED:
- case WEBKIT_DOWNLOAD_STATUS_CANCELLED:
- g_assert_not_reached();
- break;
- default:
- break;
- }
-}
-
-static void serverCallback(SoupServer *server, SoupMessage *message, const char *path, GHashTable *query, SoupClientContext *context, gpointer userData)
-{
- if (message->method != SOUP_METHOD_GET) {
- soup_message_set_status(message, SOUP_STATUS_NOT_IMPLEMENTED);
- return;
- }
-
- soup_message_set_status(message, SOUP_STATUS_NOT_FOUND);
- soup_message_body_complete(message->response_body);
-}
-
-static void test_webkit_download_not_found(void)
-{
- SoupServer *server = soup_server_new(SOUP_SERVER_PORT, 0, NULL);
- soup_server_run_async(server);
- soup_server_add_handler(server, NULL, serverCallback, NULL, NULL);
- SoupURI *baseURI = soup_uri_new("http://127.0.0.1/");
- soup_uri_set_port(baseURI, soup_server_get_port(server));
-
- SoupURI *uri = soup_uri_new_with_base(baseURI, "/foo");
- char *uriString = soup_uri_to_string(uri, FALSE);
- soup_uri_free(uri);
-
- loop = g_main_loop_new(NULL, TRUE);
- WebKitNetworkRequest *request = webkit_network_request_new(uriString);
- g_free (uriString);
- WebKitDownload *download = webkit_download_new(request);
- g_object_unref(request);
-
- webkit_download_set_destination_uri(download, "file:///tmp/foo");
- g_signal_connect(download, "notify::status", G_CALLBACK(notifyDownloadStatusCallback), NULL);
-
- webkit_download_start(download);
- g_main_loop_run(loop);
-
- g_object_unref(download);
- g_main_loop_unref(loop);
- soup_uri_free(baseURI);
- g_object_unref(server);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/download/create", test_webkit_download_create);
- g_test_add_func("/webkit/download/synch", test_webkit_download_synch);
- g_test_add_func("/webkit/download/asynch", test_webkit_download_asynch);
- g_test_add_func("/webkit/download/data", test_webkit_download_data);
- g_test_add_func("/webkit/download/not-found", test_webkit_download_not_found);
- return g_test_run ();
-}
diff --git a/Source/WebKit/gtk/tests/testfavicondatabase.c b/Source/WebKit/gtk/tests/testfavicondatabase.c
deleted file mode 100644
index 971a7e734..000000000
--- a/Source/WebKit/gtk/tests/testfavicondatabase.c
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
- * Copyright (C) 2012 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 "autotoolsconfig.h"
-#include "test_utils.h"
-#include <glib/gstdio.h>
-#include <gtk/gtk.h>
-#include <string.h>
-#include <webkit/webkit.h>
-
-const int gIconSize = 16;
-
-GMainLoop *loop;
-char *baseURI;
-
-static void
-serverCallback(SoupServer *server, SoupMessage *message, const char *path, GHashTable *query, SoupClientContext *context, void *data)
-{
- if (message->method != SOUP_METHOD_GET) {
- soup_message_set_status(message, SOUP_STATUS_NOT_IMPLEMENTED);
- return;
- }
-
- soup_message_set_status(message, SOUP_STATUS_OK);
-
- char *contents;
- gsize length;
- if (g_str_equal(path, "/favicon.ico")) {
- GError *error = NULL;
-
- g_file_get_contents("blank.ico", &contents, &length, &error);
- g_assert(!error);
- } else {
- contents = g_strdup("<html><body>test</body></html>");
- length = strlen(contents);
- }
-
- soup_message_body_append(message->response_body, SOUP_MEMORY_TAKE, contents, length);
- soup_message_body_complete(message->response_body);
-}
-
-static void deleteDatabaseFileIfExists(const char *databasePath)
-{
- if (!g_file_test(databasePath, G_FILE_TEST_IS_DIR))
- return;
-
- char *databaseFilename = g_build_filename(databasePath, "WebpageIcons.db", NULL);
- if (g_unlink(databaseFilename) == -1) {
- g_free(databaseFilename);
- return;
- }
-
- g_free(databaseFilename);
- g_rmdir(databasePath);
-}
-
-static void testWebKitFaviconDatabaseSetPath()
-{
- char *databasePath = g_build_filename(g_get_tmp_dir(), "webkit-testfavicondatabase", NULL);
- deleteDatabaseFileIfExists(databasePath);
-
- WebKitFaviconDatabase *database = webkit_get_favicon_database();
- webkit_favicon_database_set_path(database, databasePath);
-
- g_assert_cmpstr(databasePath, ==, webkit_favicon_database_get_path(database));
-
- g_free(databasePath);
-}
-
-// See the comment in main() function that goes with this same guard.
-#ifdef NDEBUG
-
-static void faviconDatabaseGetValidFaviconCallback(GObject *sourceObject, GAsyncResult *result, void *userData)
-{
- gboolean *beenHere = (gboolean*)userData;
- GError *error = NULL;
- GdkPixbuf *icon = webkit_favicon_database_get_favicon_pixbuf_finish(WEBKIT_FAVICON_DATABASE(sourceObject), result, &error);
- g_assert(icon);
- g_object_unref(icon);
-
- *beenHere = TRUE;
-
- g_main_loop_quit(loop);
-}
-
-static void faviconDatabaseGetInvalidFaviconCallback(GObject *sourceObject, GAsyncResult *result, void *userData)
-{
- gboolean *beenHere = (gboolean*)userData;
- GError *error = NULL;
- GdkPixbuf *icon = webkit_favicon_database_get_favicon_pixbuf_finish(WEBKIT_FAVICON_DATABASE(sourceObject), result, &error);
- g_assert(!icon);
-
- *beenHere = TRUE;
-
- g_main_loop_quit(loop);
-}
-
-static void faviconDatabaseGetFaviconCancelledCallback(GObject *sourceObject, GAsyncResult *result, void *userData)
-{
- gboolean *beenHere = (gboolean*)userData;
- GError *error = NULL;
- GdkPixbuf *icon = webkit_favicon_database_get_favicon_pixbuf_finish(WEBKIT_FAVICON_DATABASE(sourceObject), result, &error);
- g_assert(!icon);
- g_assert(error && g_error_matches(error, G_IO_ERROR, G_IO_ERROR_CANCELLED));
-
- *beenHere = TRUE;
-
- g_main_loop_quit(loop);
-}
-
-static inline void quitMainLoopIfLoadCompleted(gboolean *iconOrPageLoaded)
-{
- if (*iconOrPageLoaded)
- g_main_loop_quit(loop);
- else
- *iconOrPageLoaded = TRUE;
-}
-
-static void idleQuitLoopCallback(WebKitWebView *webView, GParamSpec *paramSpec, gboolean *iconOrPageLoaded)
-{
- WebKitLoadStatus status = webkit_web_view_get_load_status(webView);
-
- if (status == WEBKIT_LOAD_FINISHED || status == WEBKIT_LOAD_FAILED)
- quitMainLoopIfLoadCompleted(iconOrPageLoaded);
-}
-
-static void webkitWebViewIconLoaded(WebKitFaviconDatabase *database, const char *frameURI, gboolean *iconOrPageLoaded)
-{
- quitMainLoopIfLoadCompleted(iconOrPageLoaded);
-}
-
-static void loadURI(const char *uri)
-{
- WebKitWebView *view = WEBKIT_WEB_VIEW(webkit_web_view_new());
- gboolean iconOrPageLoaded = FALSE;
-
- webkit_web_view_load_uri(view, uri);
-
- g_signal_connect(view, "notify::load-status", G_CALLBACK(idleQuitLoopCallback), &iconOrPageLoaded);
- g_signal_connect(view, "icon-loaded", G_CALLBACK(webkitWebViewIconLoaded), &iconOrPageLoaded);
-
- g_main_loop_run(loop);
-
- g_signal_handlers_disconnect_matched(view, G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, &iconOrPageLoaded);
-}
-
-static gboolean faviconDatabaseGetValidFaviconIdle(void *userData)
-{
- webkit_favicon_database_get_favicon_pixbuf(webkit_get_favicon_database(), baseURI,
- gIconSize, gIconSize, NULL,
- faviconDatabaseGetValidFaviconCallback, userData);
- return FALSE;
-}
-
-static gboolean faviconDatabaseGetInvalidFaviconIdle(void *userData)
-{
- webkit_favicon_database_get_favicon_pixbuf(webkit_get_favicon_database(), "http://www.webkitgtk.org/",
- gIconSize, gIconSize, NULL,
- faviconDatabaseGetInvalidFaviconCallback, userData);
- return FALSE;
-}
-
-static gboolean faviconDatabaseGetFaviconCancelledIdle(void *userData)
-{
- GCancellable *cancellable = g_cancellable_new();
- webkit_favicon_database_get_favicon_pixbuf(webkit_get_favicon_database(), baseURI,
- gIconSize, gIconSize, cancellable,
- faviconDatabaseGetFaviconCancelledCallback, userData);
- g_cancellable_cancel(cancellable);
- g_object_unref(cancellable);
- return FALSE;
-}
-
-static void testWebKitFaviconDatabaseGetFavicon()
-{
- gboolean beenToIconCallback;
-
- loop = g_main_loop_new(NULL, TRUE);
-
- /* Load uri to make sure favicon is added to database. */
- loadURI(baseURI);
-
- beenToIconCallback = FALSE;
- g_idle_add((GSourceFunc)faviconDatabaseGetValidFaviconIdle, &beenToIconCallback);
- g_main_loop_run(loop);
- g_assert(beenToIconCallback);
-
- beenToIconCallback = FALSE;
- g_idle_add((GSourceFunc)faviconDatabaseGetInvalidFaviconIdle, &beenToIconCallback);
- g_main_loop_run(loop);
- g_assert(beenToIconCallback);
-
- beenToIconCallback = FALSE;
- g_idle_add((GSourceFunc)faviconDatabaseGetFaviconCancelledIdle, &beenToIconCallback);
- g_main_loop_run(loop);
- g_assert(beenToIconCallback);
-}
-
-static void testWebKitFaviconDatabaseGetFaviconURI()
-{
- char *iconURI = webkit_favicon_database_get_favicon_uri(webkit_get_favicon_database(), baseURI);
- char *expectedURI = g_strdup_printf("%sfavicon.ico", baseURI);
- g_assert_cmpstr(iconURI, ==, expectedURI);
- g_free(expectedURI);
- g_free(iconURI);
-}
-
-#endif
-
-static void testWebKitFaviconDatabaseRemoveAll(void)
-{
- WebKitFaviconDatabase *database = webkit_get_favicon_database();
- webkit_favicon_database_clear(database);
- char *iconURI = webkit_favicon_database_get_favicon_uri(database, baseURI);
- g_assert(!iconURI);
- g_free(iconURI);
-}
-
-static void testWebKitFaviconDatabaseCloseDatabase(void)
-{
- WebKitFaviconDatabase *database = webkit_get_favicon_database();
- char *databasePath = g_strdup(webkit_favicon_database_get_path(database));
- webkit_favicon_database_set_path(database, 0);
- deleteDatabaseFileIfExists(databasePath);
- g_free(databasePath);
-}
-
-int main(int argc, char **argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- /* This hopefully makes the test independent of the path it's called from. */
- testutils_relative_chdir("Source/WebKit/gtk/tests/resources/test.html", argv[0]);
-
- SoupServer *server = soup_server_new(SOUP_SERVER_PORT, 0, NULL);
- soup_server_run_async(server);
-
- soup_server_add_handler(server, NULL, serverCallback, NULL, NULL);
-
- SoupURI *soupURI = soup_uri_new("http://127.0.0.1/");
- soup_uri_set_port(soupURI, soup_server_get_port(server));
-
- baseURI = soup_uri_to_string(soupURI, FALSE);
- soup_uri_free(soupURI);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/favicondatabase/set-path", testWebKitFaviconDatabaseSetPath);
-
- // These two tests will trigger an ASSERTION on debug builds due
- // to http://webkit.org/b/67582. Remove the guards once the bug is fixed.
-#ifdef NDEBUG
- g_test_add_func("/webkit/favicondatabase/get-favicon", testWebKitFaviconDatabaseGetFavicon);
- g_test_add_func("/webkit/favicondatabase/get-favicon-uri", testWebKitFaviconDatabaseGetFaviconURI);
-#endif
-
- g_test_add_func("/webkit/favicondatabase/remove-all", testWebKitFaviconDatabaseRemoveAll);
- g_test_add_func("/webkit/favicondatabase/close-db", testWebKitFaviconDatabaseCloseDatabase);
-
- return g_test_run();
-}
diff --git a/Source/WebKit/gtk/tests/testglobals.c b/Source/WebKit/gtk/tests/testglobals.c
deleted file mode 100644
index d7f316ccd..000000000
--- a/Source/WebKit/gtk/tests/testglobals.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * 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 "autotoolsconfig.h"
-#include <gtk/gtk.h>
-#include <libsoup/soup.h>
-#include <webkit/webkit.h>
-
-// Make sure the session is initialized properly when webkit_get_default_session() is called.
-static void test_globals_default_session()
-{
- g_test_bug("36754");
-
- SoupSession* session = webkit_get_default_session();
- soup_session_remove_feature_by_type(session, WEBKIT_TYPE_SOUP_AUTH_DIALOG);
-
- // This makes sure our initialization ran.
- g_assert(soup_session_get_feature(session, SOUP_TYPE_CONTENT_DECODER) != NULL);
-
- // Creating a WebView should make sure the session is
- // initialized, and not mess with our changes.
- WebKitWebView* web_view = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(web_view);
- g_object_unref(web_view);
-
- // These makes sure our modification was kept.
- g_assert(soup_session_get_feature(session, SOUP_TYPE_CONTENT_DECODER) != NULL);
- g_assert(soup_session_get_feature(session, WEBKIT_TYPE_SOUP_AUTH_DIALOG) == NULL);
-}
-
-static void test_globals_security_policy()
-{
- // Check default policy for well known schemes.
- WebKitSecurityPolicy policy = webkit_get_security_policy_for_uri_scheme("http");
- guint mask = WEBKIT_SECURITY_POLICY_CORS_ENABLED;
- g_assert_cmpuint(policy & mask, ==, mask);
-
- policy = webkit_get_security_policy_for_uri_scheme("https");
- mask = WEBKIT_SECURITY_POLICY_SECURE | WEBKIT_SECURITY_POLICY_CORS_ENABLED;
- g_assert_cmpuint(policy & mask, ==, mask);
-
- policy = webkit_get_security_policy_for_uri_scheme("file");
- mask = WEBKIT_SECURITY_POLICY_LOCAL;
- g_assert_cmpuint(policy & mask, ==, mask);
-
- policy = webkit_get_security_policy_for_uri_scheme("data");
- mask = WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME | WEBKIT_SECURITY_POLICY_SECURE;
- g_assert_cmpuint(policy & mask, ==, mask);
-
- policy = webkit_get_security_policy_for_uri_scheme("about");
- mask = WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME | WEBKIT_SECURITY_POLICY_SECURE | WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT;
- g_assert_cmpuint(policy & mask, ==, mask);
-
- // Custom scheme.
- policy = webkit_get_security_policy_for_uri_scheme("foo");
- g_assert(!policy);
-
- policy |= WEBKIT_SECURITY_POLICY_LOCAL;
- webkit_set_security_policy_for_uri_scheme("foo", policy);
- g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
-
- policy |= WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME;
- webkit_set_security_policy_for_uri_scheme("foo", policy);
- g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
-
- policy |= WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED;
- webkit_set_security_policy_for_uri_scheme("foo", policy);
- g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
-
- policy |= WEBKIT_SECURITY_POLICY_SECURE;
- webkit_set_security_policy_for_uri_scheme("foo", policy);
- g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
-
- policy |= WEBKIT_SECURITY_POLICY_CORS_ENABLED;
- webkit_set_security_policy_for_uri_scheme("foo", policy);
- g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
-
- policy |= WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT;
- webkit_set_security_policy_for_uri_scheme("foo", policy);
- g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/globals/default_session",
- test_globals_default_session);
- g_test_add_func("/webkit/globals/security-policy",
- test_globals_security_policy);
- return g_test_run();
-}
-
diff --git a/Source/WebKit/gtk/tests/testhittestresult.c b/Source/WebKit/gtk/tests/testhittestresult.c
deleted file mode 100644
index adbf98a8e..000000000
--- a/Source/WebKit/gtk/tests/testhittestresult.c
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (C) 2009 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,1 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 "autotoolsconfig.h"
-#include <errno.h>
-#include <unistd.h>
-#include <glib/gstdio.h>
-#include <webkit/webkit.h>
-
-typedef struct {
- char* data;
- guint flag;
-} TestInfo;
-
-static GMainLoop* loop;
-
-typedef struct {
- WebKitWebView* webView;
- TestInfo* info;
-} HitTestResultFixture;
-
-TestInfo*
-test_info_new(const char* data, guint flag)
-{
- TestInfo* info;
-
- info = g_slice_new(TestInfo);
- info->data = g_strdup(data);
- info->flag = flag;
-
- return info;
-}
-
-void
-test_info_destroy(TestInfo* info)
-{
- g_free(info->data);
- g_slice_free(TestInfo, info);
-}
-
-static void hit_test_result_fixture_setup(HitTestResultFixture* fixture, gconstpointer data)
-{
- fixture->webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(fixture->webView);
- loop = g_main_loop_new(NULL, TRUE);
- fixture->info = (TestInfo*)data;
-}
-
-static void hit_test_result_fixture_teardown(HitTestResultFixture* fixture, gconstpointer data)
-{
- g_object_unref(fixture->webView);
- g_main_loop_unref(loop);
- test_info_destroy(fixture->info);
-}
-
-static void
-load_status_cb(WebKitWebView* webView,
- GParamSpec* spec,
- gpointer data)
-{
- WebKitLoadStatus status = webkit_web_view_get_load_status(webView);
- TestInfo* info = (TestInfo*)data;
-
- if (status == WEBKIT_LOAD_FINISHED) {
- WebKitHitTestResult* result;
- guint context;
- GdkEvent* event = gdk_event_new(GDK_BUTTON_PRESS);
- WebKitDOMNode* node;
- gint x, y;
-
- /* Close enough to 0,0 */
- event->button.x = 5;
- event->button.y = 5;
-
- result = webkit_web_view_get_hit_test_result(webView, (GdkEventButton*) event);
- gdk_event_free(event);
- g_assert(result);
-
- g_object_get(result, "context", &context, NULL);
- g_assert(context & info->flag);
-
- g_object_get(result, "inner-node", &node, NULL);
- g_assert(node);
- g_assert(WEBKIT_DOM_IS_NODE(node));
-
- g_object_get(result, "x", &x, "y", &y, NULL);
- g_assert_cmpint(x, ==, 5);
- g_assert_cmpint(y, ==, 5);
-
- /* We can only test these node types at the moment. In the
- * input case there seems to be an extra layer with a DIV on
- * top of the input, which gets assigned to the inner-node.
- * tag */
- if (info->flag == WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT)
- g_assert(WEBKIT_DOM_IS_HTML_HTML_ELEMENT(node));
- else if (info->flag == WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE)
- g_assert(WEBKIT_DOM_IS_HTML_IMAGE_ELEMENT(node));
- else if (info->flag == WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK) {
- /* The hit test will give us the inner text node, we want
- * the A tag */
- WebKitDOMNode* parent = webkit_dom_node_get_parent_node(node);
- g_assert(WEBKIT_DOM_IS_HTML_ANCHOR_ELEMENT(parent));
- }
-
- g_object_unref(result);
- g_main_loop_quit(loop);
- }
-}
-
-static void
-test_webkit_hit_test_result(HitTestResultFixture* fixture, gconstpointer data)
-{
- TestInfo* info = (TestInfo*)data;
- GtkAllocation allocation = { 0, 0, 50, 50 };
-
- webkit_web_view_load_string(fixture->webView,
- info->data,
- "text/html",
- "utf-8",
- "file://");
- gtk_widget_size_allocate(GTK_WIDGET(fixture->webView), &allocation);
- g_signal_connect(fixture->webView, "notify::load-status", G_CALLBACK(load_status_cb), info);
- g_main_loop_run(loop);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
-
- g_test_add("/webkit/hittestresult/document", HitTestResultFixture,
- test_info_new("<html><body><h1>WebKitGTK+!</h1></body></html>",
- WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT),
- hit_test_result_fixture_setup, test_webkit_hit_test_result, hit_test_result_fixture_teardown);
- /* We hardcode all elements to be at 0,0 so that we know where to
- * generate the button events */
- g_test_add("/webkit/hittestresult/image", HitTestResultFixture,
- test_info_new("<html><body><img style='position:absolute; left:0; top:0'src='0xdeadbeef' width=50 height=50></img></body></html>",
- WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE),
- hit_test_result_fixture_setup, test_webkit_hit_test_result, hit_test_result_fixture_teardown);
- g_test_add("/webkit/hittestresult/editable", HitTestResultFixture,
- test_info_new("<html><body><input style='position:absolute; left:0; top:0' size='35'></input>></body></html>",
- WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE),
- hit_test_result_fixture_setup, test_webkit_hit_test_result, hit_test_result_fixture_teardown);
- g_test_add("/webkit/hittestresult/link", HitTestResultFixture,
- test_info_new("<html><body><a style='position:absolute; left:0; top:0' href='http://www.example.com'>HELLO WORLD</a></body></html>",
- WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK),
- hit_test_result_fixture_setup, test_webkit_hit_test_result, hit_test_result_fixture_teardown);
-
- return g_test_run ();
-}
-
diff --git a/Source/WebKit/gtk/tests/testhttpbackend.c b/Source/WebKit/gtk/tests/testhttpbackend.c
deleted file mode 100644
index d50be96c2..000000000
--- a/Source/WebKit/gtk/tests/testhttpbackend.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2009 Gustavo Noronha Silva
- *
- * 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 "autotoolsconfig.h"
-#include <errno.h>
-#include <unistd.h>
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-// Not yet public API
-SoupMessage* webkit_network_request_get_message(WebKitNetworkRequest* request);
-
-static gboolean navigation_policy_decision_requested_cb(WebKitWebView* web_view,
- WebKitWebFrame* web_frame,
- WebKitNetworkRequest* request,
- WebKitWebNavigationAction* action,
- WebKitWebPolicyDecision* decision,
- gpointer data)
-{
- SoupMessage* message = webkit_network_request_get_message(request);
-
- /* 1 -> webkit_network_request_with_core_request
- *
- * The SoupMessage is created exclusively for the emission of this
- * signal.
- */
- g_assert_cmpint(G_OBJECT(message)->ref_count, ==, 1);
-
- return FALSE;
-}
-
-static void test_soup_message_lifetime()
-{
- WebKitWebView* web_view = WEBKIT_WEB_VIEW(webkit_web_view_new());
-
- g_object_ref_sink(web_view);
-
- g_signal_connect(web_view, "navigation-policy-decision-requested",
- G_CALLBACK(navigation_policy_decision_requested_cb),
- NULL);
-
- /* load_uri will trigger the navigation-policy-decision-requested
- * signal emission;
- */
- webkit_web_view_load_uri(web_view, "http://127.0.0.1/");
-
- g_object_unref(web_view);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/soupmessage/lifetime", test_soup_message_lifetime);
- return g_test_run ();
-}
diff --git a/Source/WebKit/gtk/tests/testkeyevents.c b/Source/WebKit/gtk/tests/testkeyevents.c
deleted file mode 100644
index ad8e398cb..000000000
--- a/Source/WebKit/gtk/tests/testkeyevents.c
+++ /dev/null
@@ -1,390 +0,0 @@
-/*
- * Copyright (C) 2009, 2010 Martin Robinson <mrobinson@webkit.org>
- *
- * 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,1 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 "autotoolsconfig.h"
-#include <errno.h>
-#include <unistd.h>
-#include <string.h>
-#include <glib/gstdio.h>
-#include <webkit/webkit.h>
-#include <JavaScriptCore/JSStringRef.h>
-#include <JavaScriptCore/JSContextRef.h>
-
-typedef struct {
- char* page;
- char* text;
- gboolean shouldBeHandled;
-} TestInfo;
-
-typedef struct {
- GtkWidget* window;
- WebKitWebView* webView;
- GMainLoop* loop;
- TestInfo* info;
-} KeyEventFixture;
-
-TestInfo*
-test_info_new(const char* page, gboolean shouldBeHandled)
-{
- TestInfo* info;
-
- info = g_slice_new(TestInfo);
- info->page = g_strdup(page);
- info->shouldBeHandled = shouldBeHandled;
- info->text = 0;
-
- return info;
-}
-
-void
-test_info_destroy(TestInfo* info)
-{
- g_free(info->page);
- g_free(info->text);
- g_slice_free(TestInfo, info);
-}
-
-static void key_event_fixture_setup(KeyEventFixture* fixture, gconstpointer data)
-{
- fixture->loop = g_main_loop_new(NULL, TRUE);
-
- fixture->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- fixture->webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
-
- gtk_container_add(GTK_CONTAINER(fixture->window), GTK_WIDGET(fixture->webView));
-}
-
-static void key_event_fixture_teardown(KeyEventFixture* fixture, gconstpointer data)
-{
- gtk_widget_destroy(fixture->window);
- g_main_loop_unref(fixture->loop);
- test_info_destroy(fixture->info);
-}
-
-static gboolean key_press_event_cb(WebKitWebView* webView, GdkEvent* event, gpointer data)
-{
- KeyEventFixture* fixture = (KeyEventFixture*)data;
- gboolean handled = GTK_WIDGET_GET_CLASS(fixture->webView)->key_press_event(GTK_WIDGET(fixture->webView), &event->key);
- g_assert_cmpint(handled, ==, fixture->info->shouldBeHandled);
-
- return FALSE;
-}
-
-static gboolean key_release_event_cb(WebKitWebView* webView, GdkEvent* event, gpointer data)
-{
- // WebCore never seems to mark keyup events as handled.
- KeyEventFixture* fixture = (KeyEventFixture*)data;
- gboolean handled = GTK_WIDGET_GET_CLASS(fixture->webView)->key_press_event(GTK_WIDGET(fixture->webView), &event->key);
- g_assert(!handled);
-
- g_main_loop_quit(fixture->loop);
-
- return FALSE;
-}
-
-static void test_keypress_events_load_status_cb(WebKitWebView* webView, GParamSpec* spec, gpointer data)
-{
- KeyEventFixture* fixture = (KeyEventFixture*)data;
- WebKitLoadStatus status = webkit_web_view_get_load_status(webView);
- if (status == WEBKIT_LOAD_FINISHED) {
- g_signal_connect(fixture->webView, "key-press-event",
- G_CALLBACK(key_press_event_cb), fixture);
- g_signal_connect(fixture->webView, "key-release-event",
- G_CALLBACK(key_release_event_cb), fixture);
- if (!gtk_test_widget_send_key(GTK_WIDGET(fixture->webView),
- gdk_unicode_to_keyval('a'), 0))
- g_assert_not_reached();
- }
-
-}
-
-gboolean map_event_cb(GtkWidget *widget, GdkEvent* event, gpointer data)
-{
- KeyEventFixture* fixture = (KeyEventFixture*)data;
- webkit_web_view_load_string(fixture->webView, fixture->info->page,
- "text/html", "utf-8", "file://");
- return FALSE;
-}
-
-static void setup_keyevent_test(KeyEventFixture* fixture, gconstpointer data, GCallback load_event_callback)
-{
- fixture->info = (TestInfo*)data;
- g_signal_connect(fixture->window, "map-event",
- G_CALLBACK(map_event_cb), fixture);
-
- gtk_widget_grab_focus(GTK_WIDGET(fixture->webView));
- gtk_widget_show(fixture->window);
- gtk_widget_show(GTK_WIDGET(fixture->webView));
- gtk_window_present(GTK_WINDOW(fixture->window));
-
- g_signal_connect(fixture->webView, "notify::load-status",
- load_event_callback, fixture);
-
- g_main_loop_run(fixture->loop);
-}
-
-static void test_keypress_events(KeyEventFixture* fixture, gconstpointer data)
-{
- setup_keyevent_test(fixture, data, G_CALLBACK(test_keypress_events_load_status_cb));
-}
-
-static gboolean element_text_equal_to(JSContextRef context, const gchar* text)
-{
- JSStringRef scriptString = JSStringCreateWithUTF8CString(
- "window.document.getElementById(\"in\").value;");
- JSValueRef value = JSEvaluateScript(context, scriptString, 0, 0, 0, 0);
- JSStringRelease(scriptString);
-
- // If the value isn't a string, the element is probably a div
- // so grab the innerText instead.
- if (!JSValueIsString(context, value)) {
- JSStringRef scriptString = JSStringCreateWithUTF8CString(
- "window.document.getElementById(\"in\").innerText;");
- value = JSEvaluateScript(context, scriptString, 0, 0, 0, 0);
- JSStringRelease(scriptString);
- }
-
- g_assert(JSValueIsString(context, value));
- JSStringRef inputString = JSValueToStringCopy(context, value, 0);
- g_assert(inputString);
-
- gint size = JSStringGetMaximumUTF8CStringSize(inputString);
- gchar* cString = g_malloc(size);
- JSStringGetUTF8CString(inputString, cString, size);
- JSStringRelease(inputString);
-
- gboolean result = g_utf8_collate(cString, text) == 0;
- g_free(cString);
- return result;
-}
-
-static void test_ime_load_status_cb(WebKitWebView* webView, GParamSpec* spec, gpointer data)
-{
- KeyEventFixture* fixture = (KeyEventFixture*)data;
- WebKitLoadStatus status = webkit_web_view_get_load_status(webView);
- if (status != WEBKIT_LOAD_FINISHED)
- return;
-
- JSGlobalContextRef context = webkit_web_frame_get_global_context(
- webkit_web_view_get_main_frame(webView));
- g_assert(context);
-
- GtkIMContext* imContext = 0;
- g_object_get(webView, "im-context", &imContext, NULL);
- g_assert(imContext);
-
- // Test that commits that happen outside of key events
- // change the text field immediately. This closely replicates
- // the behavior of SCIM.
- g_assert(element_text_equal_to(context, ""));
- g_signal_emit_by_name(imContext, "commit", "a");
- g_assert(element_text_equal_to(context, "a"));
- g_signal_emit_by_name(imContext, "commit", "b");
- g_assert(element_text_equal_to(context, "ab"));
- g_signal_emit_by_name(imContext, "commit", "c");
- g_assert(element_text_equal_to(context, "abc"));
-
- g_object_unref(imContext);
- g_main_loop_quit(fixture->loop);
-}
-
-static void test_ime(KeyEventFixture* fixture, gconstpointer data)
-{
- setup_keyevent_test(fixture, data, G_CALLBACK(test_ime_load_status_cb));
-}
-
-static gboolean verify_contents(gpointer data)
-{
- KeyEventFixture* fixture = (KeyEventFixture*)data;
- JSGlobalContextRef context = webkit_web_frame_get_global_context(
- webkit_web_view_get_main_frame(fixture->webView));
- g_assert(context);
-
- g_assert(element_text_equal_to(context, fixture->info->text));
- g_main_loop_quit(fixture->loop);
- return FALSE;
-}
-
-static void test_blocking_load_status_cb(WebKitWebView* webView, GParamSpec* spec, gpointer data)
-{
- KeyEventFixture* fixture = (KeyEventFixture*)data;
- WebKitLoadStatus status = webkit_web_view_get_load_status(webView);
- if (status != WEBKIT_LOAD_FINISHED)
- return;
-
- // The first keypress event should not modify the field.
- fixture->info->text = g_strdup("bc");
- if (!gtk_test_widget_send_key(GTK_WIDGET(fixture->webView),
- gdk_unicode_to_keyval('a'), 0))
- g_assert_not_reached();
- if (!gtk_test_widget_send_key(GTK_WIDGET(fixture->webView),
- gdk_unicode_to_keyval('b'), 0))
- g_assert_not_reached();
- if (!gtk_test_widget_send_key(GTK_WIDGET(fixture->webView),
- gdk_unicode_to_keyval('c'), 0))
- g_assert_not_reached();
-
- g_idle_add(verify_contents, fixture);
-}
-
-static void test_blocking(KeyEventFixture* fixture, gconstpointer data)
-{
- setup_keyevent_test(fixture, data, G_CALLBACK(test_blocking_load_status_cb));
-}
-
-#if defined(GDK_WINDOWING_X11)
-static void test_xim_load_status_cb(WebKitWebView* webView, GParamSpec* spec, gpointer data)
-{
- KeyEventFixture* fixture = (KeyEventFixture*)data;
- WebKitLoadStatus status = webkit_web_view_get_load_status(webView);
- if (status != WEBKIT_LOAD_FINISHED)
- return;
-
- GtkIMContext* imContext = 0;
- g_object_get(webView, "im-context", &imContext, NULL);
- g_assert(imContext);
-
- gchar* originalId = g_strdup(gtk_im_multicontext_get_context_id(GTK_IM_MULTICONTEXT(imContext)));
- gtk_im_multicontext_set_context_id(GTK_IM_MULTICONTEXT(imContext), "xim");
-
- // Test that commits that happen outside of key events
- // change the text field immediately. This closely replicates
- // the behavior of SCIM.
- fixture->info->text = g_strdup("debian");
- if (!gtk_test_widget_send_key(GTK_WIDGET(fixture->webView),
- gdk_unicode_to_keyval('d'), 0))
- g_assert_not_reached();
- if (!gtk_test_widget_send_key(GTK_WIDGET(fixture->webView),
- gdk_unicode_to_keyval('e'), 0))
- g_assert_not_reached();
- if (!gtk_test_widget_send_key(GTK_WIDGET(fixture->webView),
- gdk_unicode_to_keyval('b'), 0))
- g_assert_not_reached();
- if (!gtk_test_widget_send_key(GTK_WIDGET(fixture->webView),
- gdk_unicode_to_keyval('i'), 0))
- g_assert_not_reached();
- if (!gtk_test_widget_send_key(GTK_WIDGET(fixture->webView),
- gdk_unicode_to_keyval('a'), 0))
- g_assert_not_reached();
- if (!gtk_test_widget_send_key(GTK_WIDGET(fixture->webView),
- gdk_unicode_to_keyval('n'), 0))
- g_assert_not_reached();
-
- gtk_im_multicontext_set_context_id(GTK_IM_MULTICONTEXT(imContext), originalId);
- g_free(originalId);
- g_object_unref(imContext);
-
- g_idle_add(verify_contents, fixture);
-}
-
-static void test_xim(KeyEventFixture* fixture, gconstpointer data)
-{
- setup_keyevent_test(fixture, data, G_CALLBACK(test_xim_load_status_cb));
-}
-#endif
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
-
-
- // We'll test input on a slew of different node types. Key events to
- // text inputs and editable divs should be marked as handled. Key events
- // to buttons and links should not.
- const char* textinput_html = "<html><body><input id=\"in\" type=\"text\">"
- "<script>document.getElementById('in').focus();</script></body></html>";
- const char* button_html = "<html><body><input id=\"in\" type=\"button\">"
- "<script>document.getElementById('in').focus();</script></body></html>";
- const char* link_html = "<html><body><a href=\"http://www.gnome.org\" id=\"in\">"
- "LINKY MCLINKERSON</a><script>document.getElementById('in').focus();</script>"
- "</body></html>";
- const char* div_html = "<html><body><div id=\"in\" contenteditable=\"true\">"
- "<script>document.getElementById('in').focus();</script></body></html>";
-
- // These are similar to the blocks above, but they should block the first
- // keypress modifying the editable node.
- const char* textinput_html_blocking = "<html><body>"
- "<input id=\"in\" type=\"text\" "
- "onkeypress=\"if (first) {event.preventDefault();first=false;}\">"
- "<script>first = true;\ndocument.getElementById('in').focus();</script>\n"
- "</script></body></html>";
- const char* div_html_blocking = "<html><body>"
- "<div id=\"in\" contenteditable=\"true\" "
- "onkeypress=\"if (first) {event.preventDefault();first=false;}\">"
- "<script>first = true; document.getElementById('in').focus();</script>\n"
- "</script></body></html>";
-
- g_test_add("/webkit/keyevents/event-textinput", KeyEventFixture,
- test_info_new(textinput_html, TRUE),
- key_event_fixture_setup,
- test_keypress_events,
- key_event_fixture_teardown);
- g_test_add("/webkit/keyevents/event-buttons", KeyEventFixture,
- test_info_new(button_html, FALSE),
- key_event_fixture_setup,
- test_keypress_events,
- key_event_fixture_teardown);
- g_test_add("/webkit/keyevents/event-link", KeyEventFixture,
- test_info_new(link_html, FALSE),
- key_event_fixture_setup,
- test_keypress_events,
- key_event_fixture_teardown);
- g_test_add("/webkit/keyevent/event-div", KeyEventFixture,
- test_info_new(div_html, TRUE),
- key_event_fixture_setup,
- test_keypress_events,
- key_event_fixture_teardown);
- g_test_add("/webkit/keyevent/ime-textinput", KeyEventFixture,
- test_info_new(textinput_html, TRUE),
- key_event_fixture_setup,
- test_ime,
- key_event_fixture_teardown);
- g_test_add("/webkit/keyevent/ime-div", KeyEventFixture,
- test_info_new(div_html, TRUE),
- key_event_fixture_setup,
- test_ime,
- key_event_fixture_teardown);
- g_test_add("/webkit/keyevent/block-textinput", KeyEventFixture,
- test_info_new(textinput_html_blocking, TRUE),
- key_event_fixture_setup,
- test_blocking,
- key_event_fixture_teardown);
- g_test_add("/webkit/keyevent/block-div", KeyEventFixture,
- test_info_new(div_html_blocking, TRUE),
- key_event_fixture_setup,
- test_blocking,
- key_event_fixture_teardown);
-#if defined(GDK_WINDOWING_X11)
- g_test_add("/webkit/keyevent/xim-textinput", KeyEventFixture,
- test_info_new(textinput_html, TRUE),
- key_event_fixture_setup,
- test_xim,
- key_event_fixture_teardown);
- g_test_add("/webkit/keyevent/xim-div", KeyEventFixture,
- test_info_new(div_html, TRUE),
- key_event_fixture_setup,
- test_xim,
- key_event_fixture_teardown);
-#endif
-
- return g_test_run();
-}
-
diff --git a/Source/WebKit/gtk/tests/testloading.c b/Source/WebKit/gtk/tests/testloading.c
deleted file mode 100644
index 7949951f7..000000000
--- a/Source/WebKit/gtk/tests/testloading.c
+++ /dev/null
@@ -1,435 +0,0 @@
-/*
- * Copyright (C) 2009, 2010 Gustavo Noronha Silva
- * Copyright (C) 2009 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 "autotoolsconfig.h"
-#include <gtk/gtk.h>
-#include <libsoup/soup.h>
-#include <string.h>
-#include <webkit/webkit.h>
-
-/* 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 */
-#define HTML_STRING "<html><body>Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!Testing!</body></html>"
-
-SoupURI* base_uri;
-
-/* For real request testing */
-static void
-server_callback(SoupServer* server, SoupMessage* msg,
- const char* path, GHashTable* query,
- SoupClientContext* context, gpointer data)
-{
- if (msg->method != SOUP_METHOD_GET) {
- soup_message_set_status(msg, SOUP_STATUS_NOT_IMPLEMENTED);
- return;
- }
-
- soup_message_set_status(msg, SOUP_STATUS_OK);
-
- if (g_str_equal(path, "/test_loading_status") || g_str_equal(path, "/test_loading_status2"))
- soup_message_body_append(msg->response_body, SOUP_MEMORY_STATIC, HTML_STRING, strlen(HTML_STRING));
- else if (g_str_equal(path, "/test_load_error")) {
- soup_message_set_status(msg, SOUP_STATUS_CANT_CONNECT);
- } else if (g_str_equal(path, "/test_loading_cancelled")) {
- soup_message_headers_set_encoding(msg->response_headers, SOUP_ENCODING_CHUNKED);
- soup_message_body_append(msg->response_body, SOUP_MEMORY_STATIC, HTML_STRING, strlen(HTML_STRING));
- soup_server_unpause_message(server, msg);
- return;
- }
-
- soup_message_body_complete(msg->response_body);
-}
-
-typedef struct {
- WebKitWebView* webView;
- GMainLoop *loop;
- gboolean has_been_provisional;
- gboolean has_been_committed;
- gboolean has_been_first_visually_non_empty_layout;
- gboolean has_been_finished;
- gboolean has_been_failed;
- gboolean has_been_load_error;
-} WebLoadingFixture;
-
-static void web_loading_fixture_setup(WebLoadingFixture* fixture, gconstpointer data)
-{
- fixture->webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- fixture->loop = g_main_loop_new(NULL, TRUE);
- g_object_ref_sink(fixture->webView);
- fixture->has_been_provisional = FALSE;
- fixture->has_been_committed = FALSE;
- fixture->has_been_first_visually_non_empty_layout = FALSE;
- fixture->has_been_finished = FALSE;
- fixture->has_been_failed = FALSE;
- fixture->has_been_load_error = FALSE;
-}
-
-static void web_loading_fixture_teardown(WebLoadingFixture* fixture, gconstpointer data)
-{
- g_object_unref(fixture->webView);
- g_main_loop_unref(fixture->loop);
-}
-
-static char* get_uri_for_path(const char* path)
-{
- SoupURI* uri;
- char* uri_string;
-
- uri = soup_uri_new_with_base(base_uri, path);
- uri_string = soup_uri_to_string(uri, FALSE);
- soup_uri_free (uri);
-
- return uri_string;
-}
-
-static void load_finished_cb(WebKitWebView* web_view, WebKitWebFrame* web_frame, WebLoadingFixture* fixture)
-{
- g_assert(fixture->has_been_provisional);
- g_assert(fixture->has_been_committed);
- g_assert(fixture->has_been_first_visually_non_empty_layout);
-
- g_main_loop_quit(fixture->loop);
-}
-
-
-static void status_changed_cb(GObject* object, GParamSpec* pspec, WebLoadingFixture* fixture)
-{
- WebKitLoadStatus status = webkit_web_view_get_load_status(WEBKIT_WEB_VIEW(object));
-
- switch (status) {
- case WEBKIT_LOAD_PROVISIONAL:
- g_assert(!fixture->has_been_provisional);
- g_assert(!fixture->has_been_committed);
- g_assert(!fixture->has_been_first_visually_non_empty_layout);
- fixture->has_been_provisional = TRUE;
- break;
- case WEBKIT_LOAD_COMMITTED:
- g_assert(fixture->has_been_provisional);
- g_assert(!fixture->has_been_committed);
- g_assert(!fixture->has_been_first_visually_non_empty_layout);
- fixture->has_been_committed = TRUE;
- break;
- case WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT:
- g_assert(fixture->has_been_provisional);
- g_assert(fixture->has_been_committed);
- g_assert(!fixture->has_been_first_visually_non_empty_layout);
- fixture->has_been_first_visually_non_empty_layout = TRUE;
- break;
- case WEBKIT_LOAD_FINISHED:
- g_assert(fixture->has_been_provisional);
- g_assert(fixture->has_been_committed);
- g_assert(fixture->has_been_first_visually_non_empty_layout);
- break;
- default:
- g_assert_not_reached();
- }
-}
-
-static void test_loading_status(WebLoadingFixture* fixture, gconstpointer data)
-{
- char* uri_string;
-
- g_assert_cmpint(webkit_web_view_get_load_status(fixture->webView), ==, WEBKIT_LOAD_PROVISIONAL);
-
- g_object_connect(G_OBJECT(fixture->webView),
- "signal::notify::load-status", G_CALLBACK(status_changed_cb), fixture,
- "signal::load-finished", G_CALLBACK(load_finished_cb), fixture,
- NULL);
-
- uri_string = get_uri_for_path("/test_loading_status");
-
- /* load_uri will trigger the navigation-policy-decision-requested
- * signal emission;
- */
- webkit_web_view_load_uri(fixture->webView, uri_string);
- g_free(uri_string);
-
- g_main_loop_run(fixture->loop);
-}
-
-static void load_error_status_changed_cb(GObject* object, GParamSpec* pspec, WebLoadingFixture* fixture)
-{
- WebKitLoadStatus status = webkit_web_view_get_load_status(WEBKIT_WEB_VIEW(object));
-
- switch(status) {
- case WEBKIT_LOAD_PROVISIONAL:
- g_assert(!fixture->has_been_provisional);
- fixture->has_been_provisional = TRUE;
- break;
- case WEBKIT_LOAD_COMMITTED:
- g_assert(!fixture->has_been_committed);
- fixture->has_been_committed = TRUE;
- break;
- case WEBKIT_LOAD_FINISHED:
- g_assert(fixture->has_been_provisional);
- g_assert(fixture->has_been_load_error);
- g_assert(fixture->has_been_failed);
- g_assert(!fixture->has_been_finished);
- fixture->has_been_finished = TRUE;
- break;
- case WEBKIT_LOAD_FAILED:
- g_assert(!fixture->has_been_failed);
- fixture->has_been_failed = TRUE;
- g_main_loop_quit(fixture->loop);
- break;
- default:
- break;
- }
-}
-
-static gboolean load_error_cb(WebKitWebView* webView, WebKitWebFrame* frame, const char* uri, GError *error, WebLoadingFixture* fixture)
-{
- g_assert(fixture->has_been_provisional);
- g_assert(!fixture->has_been_load_error);
- fixture->has_been_load_error = TRUE;
-
- return FALSE;
-}
-
-static void test_loading_error(WebLoadingFixture* fixture, gconstpointer data)
-{
- char* uri_string;
-
- g_test_bug("28842");
-
- g_signal_connect(fixture->webView, "load-error", G_CALLBACK(load_error_cb), fixture);
- g_signal_connect(fixture->webView, "notify::load-status", G_CALLBACK(load_error_status_changed_cb), fixture);
-
- uri_string = get_uri_for_path("/test_load_error");
- webkit_web_view_load_uri(fixture->webView, uri_string);
- g_free(uri_string);
-
- g_main_loop_run(fixture->loop);
-
- g_assert(fixture->has_been_provisional);
- g_assert(!fixture->has_been_committed);
- g_assert(fixture->has_been_load_error);
- g_assert(fixture->has_been_failed);
- g_assert(!fixture->has_been_finished);
-}
-
-/* Cancelled load */
-
-static gboolean load_cancelled_cb(WebKitWebView* webView, WebKitWebFrame* frame, const char* uri, GError *error, WebLoadingFixture* fixture)
-{
- g_assert(fixture->has_been_provisional);
- g_assert(fixture->has_been_failed);
- g_assert(!fixture->has_been_load_error);
- g_assert(error->code == WEBKIT_NETWORK_ERROR_CANCELLED);
- fixture->has_been_load_error = TRUE;
-
- return TRUE;
-}
-
-static gboolean stop_load (gpointer data)
-{
- webkit_web_view_stop_loading(WEBKIT_WEB_VIEW(data));
- return FALSE;
-}
-
-static void load_cancelled_status_changed_cb(GObject* object, GParamSpec* pspec, WebLoadingFixture* fixture)
-{
- WebKitLoadStatus status = webkit_web_view_get_load_status(WEBKIT_WEB_VIEW(object));
-
- switch(status) {
- case WEBKIT_LOAD_PROVISIONAL:
- g_assert(!fixture->has_been_provisional);
- g_assert(!fixture->has_been_failed);
- fixture->has_been_provisional = TRUE;
- break;
- case WEBKIT_LOAD_COMMITTED:
- g_idle_add (stop_load, object);
- break;
- case WEBKIT_LOAD_FAILED:
- g_assert(fixture->has_been_provisional);
- g_assert(!fixture->has_been_failed);
- g_assert(!fixture->has_been_load_error);
- fixture->has_been_failed = TRUE;
- g_main_loop_quit(fixture->loop);
- break;
- case WEBKIT_LOAD_FINISHED:
- g_assert_not_reached();
- break;
- default:
- break;
- }
-}
-
-static void test_loading_cancelled(WebLoadingFixture* fixture, gconstpointer data)
-{
- char* uri_string;
-
- g_test_bug("29644");
-
- g_signal_connect(fixture->webView, "load-error", G_CALLBACK(load_cancelled_cb), fixture);
- g_signal_connect(fixture->webView, "notify::load-status", G_CALLBACK(load_cancelled_status_changed_cb), fixture);
-
- uri_string = get_uri_for_path("/test_loading_cancelled");
- webkit_web_view_load_uri(fixture->webView, uri_string);
- g_free(uri_string);
-
- g_main_loop_run(fixture->loop);
-}
-
-static void load_goback_status_changed_cb(GObject* object, GParamSpec* pspec, WebLoadingFixture* fixture)
-{
- WebKitLoadStatus status = webkit_web_view_get_load_status(WEBKIT_WEB_VIEW(object));
-
- switch(status) {
- case WEBKIT_LOAD_PROVISIONAL:
- g_assert(!fixture->has_been_provisional);
- fixture->has_been_provisional = TRUE;
- break;
- case WEBKIT_LOAD_COMMITTED:
- g_assert(fixture->has_been_provisional);
- fixture->has_been_committed = TRUE;
- break;
- case WEBKIT_LOAD_FAILED:
- g_assert_not_reached();
- break;
- case WEBKIT_LOAD_FINISHED:
- g_assert(fixture->has_been_provisional);
- g_assert(fixture->has_been_committed);
- fixture->has_been_finished = TRUE;
- g_main_loop_quit(fixture->loop);
- break;
- default:
- break;
- }
-}
-
-static void load_wentback_status_changed_cb(GObject* object, GParamSpec* pspec, WebLoadingFixture* fixture)
-{
- WebKitLoadStatus status = webkit_web_view_get_load_status(WEBKIT_WEB_VIEW(object));
- char* uri_string;
- char* uri_string2;
-
- uri_string = get_uri_for_path("/test_loading_status");
- uri_string2 = get_uri_for_path("/test_loading_status2");
-
- switch(status) {
- case WEBKIT_LOAD_PROVISIONAL:
- g_assert_cmpstr(webkit_web_view_get_uri(fixture->webView), ==, uri_string2);
- break;
- case WEBKIT_LOAD_COMMITTED:
- g_assert_cmpstr(webkit_web_view_get_uri(fixture->webView), ==, uri_string);
- break;
- case WEBKIT_LOAD_FAILED:
- g_assert_not_reached();
- break;
- case WEBKIT_LOAD_FINISHED:
- g_assert_cmpstr(webkit_web_view_get_uri(fixture->webView), ==, uri_string);
- g_main_loop_quit(fixture->loop);
- break;
- default:
- break;
- }
-
- g_free(uri_string);
- g_free(uri_string2);
-}
-
-static void load_error_test(WebKitWebView* webview, WebKitWebFrame* frame, const char* uri, GError* error)
-{
- g_debug("Error: %s", error->message);
-}
-
-static void test_loading_goback(WebLoadingFixture* fixture, gconstpointer data)
-{
- char* uri_string;
-
- g_signal_connect(fixture->webView, "notify::load-status", G_CALLBACK(load_goback_status_changed_cb), fixture);
-
- g_signal_connect(fixture->webView, "load-error", G_CALLBACK(load_error_test), fixture);
-
- uri_string = get_uri_for_path("/test_loading_status");
- webkit_web_view_load_uri(fixture->webView, uri_string);
- g_free(uri_string);
-
- g_main_loop_run(fixture->loop);
-
- fixture->has_been_provisional = FALSE;
- fixture->has_been_committed = FALSE;
- fixture->has_been_first_visually_non_empty_layout = FALSE;
- fixture->has_been_finished = FALSE;
- fixture->has_been_failed = FALSE;
- fixture->has_been_load_error = FALSE;
-
- uri_string = get_uri_for_path("/test_loading_status2");
- webkit_web_view_load_uri(fixture->webView, uri_string);
- g_free(uri_string);
-
- g_main_loop_run(fixture->loop);
-
- g_signal_handlers_disconnect_by_func(fixture->webView, load_goback_status_changed_cb, fixture);
-
- fixture->has_been_provisional = FALSE;
- fixture->has_been_committed = FALSE;
- fixture->has_been_first_visually_non_empty_layout = FALSE;
- fixture->has_been_finished = FALSE;
- fixture->has_been_failed = FALSE;
- fixture->has_been_load_error = FALSE;
-
- g_signal_connect(fixture->webView, "notify::load-status", G_CALLBACK(load_wentback_status_changed_cb), fixture);
- webkit_web_view_go_back(fixture->webView);
-
- g_main_loop_run(fixture->loop);
-
- g_signal_handlers_disconnect_by_func(fixture->webView, load_wentback_status_changed_cb, fixture);
-}
-
-int main(int argc, char** argv)
-{
- SoupServer* server;
-
- gtk_test_init(&argc, &argv, NULL);
-
- server = soup_server_new(SOUP_SERVER_PORT, 0, NULL);
- soup_server_run_async(server);
-
- soup_server_add_handler(server, NULL, server_callback, NULL, NULL);
-
- base_uri = soup_uri_new("http://127.0.0.1/");
- soup_uri_set_port(base_uri, soup_server_get_port(server));
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add("/webkit/loading/status",
- WebLoadingFixture, NULL,
- web_loading_fixture_setup,
- test_loading_status,
- web_loading_fixture_teardown);
- g_test_add("/webkit/loading/error",
- WebLoadingFixture, NULL,
- web_loading_fixture_setup,
- test_loading_error,
- web_loading_fixture_teardown);
- g_test_add("/webkit/loading/cancelled",
- WebLoadingFixture, NULL,
- web_loading_fixture_setup,
- test_loading_cancelled,
- web_loading_fixture_teardown);
- g_test_add("/webkit/loading/goback",
- WebLoadingFixture, NULL,
- web_loading_fixture_setup,
- test_loading_goback,
- web_loading_fixture_teardown);
- return g_test_run();
-}
-
diff --git a/Source/WebKit/gtk/tests/testmimehandling.c b/Source/WebKit/gtk/tests/testmimehandling.c
deleted file mode 100644
index ffaa7032d..000000000
--- a/Source/WebKit/gtk/tests/testmimehandling.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright (C) 2009 Jan Michael Alonzo
- * Copyright (C) 2009 Gustavo Noronha Silva
- *
- * 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 "autotoolsconfig.h"
-#include "test_utils.h"
-
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <libsoup/soup.h>
-#include <string.h>
-#include <webkit/webkit.h>
-#include <unistd.h>
-
-GMainLoop* loop;
-SoupSession *session;
-char* base_uri;
-
-/* For real request testing */
-static void
-server_callback(SoupServer *server, SoupMessage *msg,
- const char *path, GHashTable *query,
- SoupClientContext *context, gpointer data)
-{
- if (msg->method != SOUP_METHOD_GET) {
- soup_message_set_status(msg, SOUP_STATUS_NOT_IMPLEMENTED);
- return;
- }
-
- soup_message_set_status(msg, SOUP_STATUS_OK);
-
- /* PDF */
- if (g_str_equal(path, "/pdf")) {
- char* contents;
- gsize length;
- GError* error = NULL;
-
- g_file_get_contents("test.pdf", &contents, &length, &error);
- g_assert(!error);
-
- soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, length);
- } else if (g_str_equal(path, "/html")) {
- char* contents;
- gsize length;
- GError* error = NULL;
-
- g_file_get_contents("test.html", &contents, &length, &error);
- g_assert(!error);
-
- soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, length);
- } else if (g_str_equal(path, "/text")) {
- char* contents;
- gsize length;
- GError* error = NULL;
-
- soup_message_headers_append(msg->response_headers, "Content-Disposition", "attachment; filename=test.txt");
-
- g_file_get_contents("test.txt", &contents, &length, &error);
- g_assert(!error);
-
- soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, length);
- }
-
- soup_message_body_complete(msg->response_body);
-}
-
-static void idle_quit_loop_cb(WebKitWebView* web_view, GParamSpec* pspec, gpointer data)
-{
- if (webkit_web_view_get_load_status(web_view) == WEBKIT_LOAD_FINISHED ||
- webkit_web_view_get_load_status(web_view) == WEBKIT_LOAD_FAILED)
- g_main_loop_quit(loop);
-}
-
-static gboolean mime_type_policy_decision_requested_cb(WebKitWebView* view, WebKitWebFrame* frame,
- WebKitNetworkRequest* request, const char* mime_type,
- WebKitWebPolicyDecision* decision, gpointer data)
-{
- char* type = (char*)data;
-
- if (g_str_equal(type, "pdf")) {
- g_assert_cmpstr(mime_type, ==, "application/pdf");
- g_assert(!webkit_web_view_can_show_mime_type(view, mime_type));
- } else if (g_str_equal(type, "html")) {
- g_assert_cmpstr(mime_type, ==, "text/html");
- g_assert(webkit_web_view_can_show_mime_type(view, mime_type));
- } else if (g_str_equal(type, "text")) {
- WebKitNetworkResponse* response = webkit_web_frame_get_network_response(frame);
- SoupMessage* message = webkit_network_response_get_message(response);
- char* disposition;
-
- g_assert(message);
- soup_message_headers_get_content_disposition(message->response_headers,
- &disposition, NULL);
- g_object_unref(response);
-
- g_assert_cmpstr(disposition, ==, "attachment");
- g_free(disposition);
-
- g_assert_cmpstr(mime_type, ==, "text/plain");
- g_assert(webkit_web_view_can_show_mime_type(view, mime_type));
- }
-
- g_free(type);
-
- return FALSE;
-}
-
-static void testRemoteMimeType(const void* data)
-{
- const char* name = (const char*) data;
- WebKitWebView* view = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(G_OBJECT(view));
-
- loop = g_main_loop_new(NULL, TRUE);
-
- g_object_connect(G_OBJECT(view),
- "signal::notify::load-status", idle_quit_loop_cb, NULL,
- "signal::mime-type-policy-decision-requested", mime_type_policy_decision_requested_cb, g_strdup(name),
- NULL);
-
- char* effective_uri = g_strdup_printf("%s%s", base_uri, name);
- webkit_web_view_load_uri(view, effective_uri);
- g_free(effective_uri);
-
- g_main_loop_run(loop);
-
- g_object_unref(view);
-}
-
-static void testLocalMimeType(const void* data)
-{
- const char* typeName = (const char*) data;
- WebKitWebView* view = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(G_OBJECT(view));
-
- loop = g_main_loop_new(NULL, TRUE);
-
- g_object_connect(G_OBJECT(view),
- "signal::notify::load-status", idle_quit_loop_cb, NULL,
- "signal::mime-type-policy-decision-requested", mime_type_policy_decision_requested_cb, g_strdup(typeName),
- NULL);
-
- gchar* filename = g_strdup_printf("test.%s", typeName);
- GFile* file = g_file_new_for_path(filename);
- g_free(filename);
-
- gchar* fileURI = g_file_get_uri(file);
- g_object_unref(file);
-
- webkit_web_view_load_uri(view, fileURI);
- g_free(fileURI);
-
- g_main_loop_run(loop);
- g_object_unref(view);
-}
-
-int main(int argc, char** argv)
-{
- SoupServer* server;
- SoupURI* soup_uri;
-
- gtk_test_init(&argc, &argv, NULL);
-
- /* Hopefully make test independent of the path it's called from. */
- testutils_relative_chdir("Source/WebKit/gtk/tests/resources/test.html", argv[0]);
-
- server = soup_server_new(SOUP_SERVER_PORT, 0, NULL);
- soup_server_run_async(server);
-
- soup_server_add_handler(server, NULL, server_callback, NULL, NULL);
-
- 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);
- soup_uri_free(soup_uri);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_data_func("/webkit/mime/remote-PDF", "pdf", testRemoteMimeType);
- g_test_add_data_func("/webkit/mime/remote-HTML", "html", testRemoteMimeType);
- g_test_add_data_func("/webkit/mime/remote-TEXT", "text", testRemoteMimeType);
- g_test_add_data_func("/webkit/mime/local-PDF", "pdf", testLocalMimeType);
- g_test_add_data_func("/webkit/mime/local-HTML", "html", testLocalMimeType);
- g_test_add_data_func("/webkit/mime/local-TEXT", "text", testLocalMimeType);
-
- return g_test_run();
-}
diff --git a/Source/WebKit/gtk/tests/testnetworkrequest.c b/Source/WebKit/gtk/tests/testnetworkrequest.c
deleted file mode 100644
index 2af471af9..000000000
--- a/Source/WebKit/gtk/tests/testnetworkrequest.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2009 Gustavo Noronha Silva
- *
- * 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 "autotoolsconfig.h"
-#include <errno.h>
-#include <unistd.h>
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <gtk/gtk.h>
-#include <stdlib.h>
-#include <webkit/webkit.h>
-
-static void test_network_request_create_destroy()
-{
- WebKitNetworkRequest* request;
- SoupMessage* message;
-
- /* Test creation with URI */
- request = WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, "uri", "http://debian.org/", NULL));
- g_assert(WEBKIT_IS_NETWORK_REQUEST(request));
- message = webkit_network_request_get_message(request);
- g_assert(!message);
- g_object_unref(request);
-
- /* Test creation with SoupMessage */
- message = soup_message_new("GET", "http://debian.org/");
- request = WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, "message", message, NULL));
- g_assert(WEBKIT_IS_NETWORK_REQUEST(request));
- g_assert_cmpint(G_OBJECT(message)->ref_count, ==, 2);
- g_object_unref(request);
- g_assert_cmpint(G_OBJECT(message)->ref_count, ==, 1);
- g_object_unref(message);
-
- /* Test creation with both SoupMessage and URI */
- message = soup_message_new("GET", "http://debian.org/");
- request = WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, "message", message, "uri", "http://gnome.org/", NULL));
- g_assert(WEBKIT_IS_NETWORK_REQUEST(request));
- g_assert_cmpint(G_OBJECT(message)->ref_count, ==, 2);
- g_assert_cmpstr(webkit_network_request_get_uri(request), ==, "http://gnome.org/");
- g_object_unref(request);
- g_assert_cmpint(G_OBJECT(message)->ref_count, ==, 1);
- g_object_unref(message);
-}
-
-static void test_network_request_properties()
-{
- WebKitNetworkRequest* request;
- SoupMessage* message;
- gchar* soupURI;
-
- /* Test URI is set correctly when creating with URI */
- request = webkit_network_request_new("http://debian.org/");
- g_assert(WEBKIT_IS_NETWORK_REQUEST(request));
- g_assert_cmpstr(webkit_network_request_get_uri(request), ==, "http://debian.org/");
- g_object_unref(request);
-
- /* Test URI is set correctly when creating with Message */
- message = soup_message_new("GET", "http://debian.org/");
- request = WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, "message", message, NULL));
- g_assert(WEBKIT_IS_NETWORK_REQUEST(request));
- g_object_unref(message);
-
- message = webkit_network_request_get_message(request);
- soupURI = soup_uri_to_string(soup_message_get_uri(message), FALSE);
- g_assert_cmpstr(soupURI, ==, "http://debian.org/");
- g_free(soupURI);
-
- g_assert_cmpstr(webkit_network_request_get_uri(request), ==, "http://debian.org/");
- g_object_unref(request);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/networkrequest/createdestroy", test_network_request_create_destroy);
- g_test_add_func("/webkit/networkrequest/properties", test_network_request_properties);
- return g_test_run ();
-}
diff --git a/Source/WebKit/gtk/tests/testnetworkresponse.c b/Source/WebKit/gtk/tests/testnetworkresponse.c
deleted file mode 100644
index 8b12f8208..000000000
--- a/Source/WebKit/gtk/tests/testnetworkresponse.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2009 Gustavo Noronha Silva
- * Copyright (C) 2009 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 "autotoolsconfig.h"
-#include <errno.h>
-#include <unistd.h>
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <gtk/gtk.h>
-#include <stdlib.h>
-#include <webkit/webkit.h>
-
-static void test_network_response_create_destroy()
-{
- WebKitNetworkResponse* response;
- SoupMessage* message;
-
- /* Test creation with URI */
- response = WEBKIT_NETWORK_RESPONSE(g_object_new(WEBKIT_TYPE_NETWORK_RESPONSE, "uri", "http://debian.org/", NULL));
- g_assert(WEBKIT_IS_NETWORK_RESPONSE(response));
- message = webkit_network_response_get_message(response);
- g_assert(!message);
- g_object_unref(response);
-
- /* Test creation with SoupMessage */
- message = soup_message_new("GET", "http://debian.org/");
- response = WEBKIT_NETWORK_RESPONSE(g_object_new(WEBKIT_TYPE_NETWORK_RESPONSE, "message", message, NULL));
- g_assert(WEBKIT_IS_NETWORK_RESPONSE(response));
- g_assert_cmpint(G_OBJECT(message)->ref_count, ==, 2);
- g_object_unref(response);
- g_assert_cmpint(G_OBJECT(message)->ref_count, ==, 1);
- g_object_unref(message);
-
- /* Test creation with both SoupMessage and URI */
- message = soup_message_new("GET", "http://debian.org/");
- response = WEBKIT_NETWORK_RESPONSE(g_object_new(WEBKIT_TYPE_NETWORK_RESPONSE, "message", message, "uri", "http://gnome.org/", NULL));
- g_assert(WEBKIT_IS_NETWORK_RESPONSE(response));
- g_assert_cmpint(G_OBJECT(message)->ref_count, ==, 2);
- g_assert_cmpstr(webkit_network_response_get_uri(response), ==, "http://gnome.org/");
- g_object_unref(response);
- g_assert_cmpint(G_OBJECT(message)->ref_count, ==, 1);
- g_object_unref(message);
-}
-
-static void test_network_response_properties()
-{
- WebKitNetworkResponse* response;
- SoupMessage* message;
- gchar* soupURI;
-
- /* Test URI is set correctly when creating with URI */
- response = webkit_network_response_new("http://debian.org/");
- g_assert(WEBKIT_IS_NETWORK_RESPONSE(response));
- g_assert_cmpstr(webkit_network_response_get_uri(response), ==, "http://debian.org/");
- g_object_unref(response);
-
- /* Test URI is set correctly when creating with Message */
- message = soup_message_new("GET", "http://debian.org/");
- response = WEBKIT_NETWORK_RESPONSE(g_object_new(WEBKIT_TYPE_NETWORK_RESPONSE, "message", message, NULL));
- g_assert(WEBKIT_IS_NETWORK_RESPONSE(response));
- g_object_unref(message);
-
- message = webkit_network_response_get_message(response);
- soupURI = soup_uri_to_string(soup_message_get_uri(message), FALSE);
- g_assert_cmpstr(soupURI, ==, "http://debian.org/");
- g_free(soupURI);
-
- g_assert_cmpstr(webkit_network_response_get_uri(response), ==, "http://debian.org/");
- g_object_unref(response);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/networkresponse/createdestroy", test_network_response_create_destroy);
- g_test_add_func("/webkit/networkresponse/properties", test_network_response_properties);
- return g_test_run ();
-}
diff --git a/Source/WebKit/gtk/tests/testwebbackforwardlist.c b/Source/WebKit/gtk/tests/testwebbackforwardlist.c
deleted file mode 100644
index 22acb45cb..000000000
--- a/Source/WebKit/gtk/tests/testwebbackforwardlist.c
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * Copyright (C) 2008 Holger Hans Peter Freyther
- *
- * 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 "autotoolsconfig.h"
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-static void test_webkit_web_history_item_lifetime(void)
-{
- WebKitWebView* webView;
- WebKitWebBackForwardList* backForwardList;
- WebKitWebHistoryItem* currentItem;
- WebKitWebHistoryItem* forwardItem;
- WebKitWebHistoryItem* backItem;
- WebKitWebHistoryItem* nthItem;
- WebKitWebHistoryItem* item1;
- WebKitWebHistoryItem* item2;
- WebKitWebHistoryItem* item3;
- WebKitWebHistoryItem* item4;
- GList* backList = NULL;
- GList* forwardList = NULL;
- g_test_bug("19898");
-
- webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(webView);
- backForwardList = webkit_web_view_get_back_forward_list(webView);
- g_assert_cmpint(G_OBJECT(backForwardList)->ref_count, ==, 1);
-
- /* add test items */
- item1 = webkit_web_history_item_new_with_data("http://example.com/1/", "Site 1");
- webkit_web_back_forward_list_add_item(backForwardList, item1);
- g_object_unref(item1);
-
- item2 = webkit_web_history_item_new_with_data("http://example.com/2/", "Site 2");
- webkit_web_back_forward_list_add_item(backForwardList, item2);
- g_object_unref(item2);
-
- item3 = webkit_web_history_item_new_with_data("http://example.com/3/", "Site 3");
- webkit_web_back_forward_list_add_item(backForwardList, item3);
- g_object_unref(item3);
-
- item4 = webkit_web_history_item_new_with_data("http://example.com/4/", "Site 4");
- webkit_web_back_forward_list_add_item(backForwardList, item4);
- g_object_unref(item4);
-
- /* make sure these functions don't add unnecessary ref to the history item */
- backItem = webkit_web_back_forward_list_get_back_item(backForwardList);
- g_object_ref(backItem);
- g_assert_cmpint(G_OBJECT(backItem)->ref_count, ==, 2);
- g_object_unref(backItem);
- g_assert_cmpint(G_OBJECT(backItem)->ref_count, ==, 1);
-
- currentItem = webkit_web_back_forward_list_get_current_item(backForwardList);
- g_object_ref(currentItem);
- g_assert_cmpint(G_OBJECT(currentItem)->ref_count, ==, 2);
- g_object_unref(currentItem);
- g_assert_cmpint(G_OBJECT(currentItem)->ref_count, ==, 1);
-
- webkit_web_back_forward_list_go_to_item(backForwardList, item2);
- forwardItem = webkit_web_back_forward_list_get_forward_item(backForwardList);
- g_object_ref(forwardItem);
- g_assert_cmpint(G_OBJECT(forwardItem)->ref_count, ==, 2);
- g_object_unref(forwardItem);
- g_assert_cmpint(G_OBJECT(forwardItem)->ref_count, ==, 1);
-
- nthItem = webkit_web_back_forward_list_get_nth_item(backForwardList, 1);
- g_object_ref(nthItem);
- g_assert_cmpint(G_OBJECT(nthItem)->ref_count, ==, 2);
- g_object_unref(nthItem);
- g_assert_cmpint(G_OBJECT(nthItem)->ref_count, ==, 1);
-
- backList = webkit_web_back_forward_list_get_back_list_with_limit(backForwardList, 5);
- for (; backList; backList = backList->next)
- g_assert_cmpint(G_OBJECT(backList->data)->ref_count, ==, 1);
-
- forwardList = webkit_web_back_forward_list_get_forward_list_with_limit(backForwardList, 5);
- for (; forwardList; forwardList = forwardList->next)
- g_assert_cmpint(G_OBJECT(forwardList->data)->ref_count, ==, 1);
-
- g_list_free(forwardList);
- g_list_free(backList);
- g_assert_cmpint(G_OBJECT(item1)->ref_count, ==, 1);
- g_assert_cmpint(G_OBJECT(item2)->ref_count, ==, 1);
- g_assert_cmpint(G_OBJECT(item3)->ref_count, ==, 1);
- g_assert_cmpint(G_OBJECT(item4)->ref_count, ==, 1);
- g_assert_cmpint(G_OBJECT(backForwardList)->ref_count, ==, 1);
- g_object_unref(webView);
-}
-
-static void test_webkit_web_back_forward_list_order(void)
-{
- WebKitWebView* webView;
- WebKitWebBackForwardList* webBackForwardList;
- WebKitWebHistoryItem* item1;
- WebKitWebHistoryItem* item2;
- WebKitWebHistoryItem* item3;
- WebKitWebHistoryItem* item4;
- WebKitWebHistoryItem* currentItem;
- GList* backList = NULL;
- GList* forwardList = NULL;
- g_test_bug("22694");
-
- webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(webView);
-
- webkit_web_view_set_maintains_back_forward_list(webView, TRUE);
- webBackForwardList = webkit_web_view_get_back_forward_list(webView);
- g_assert(webBackForwardList);
-
- // Check that there is no item.
- g_assert(!webkit_web_back_forward_list_get_current_item(webBackForwardList));
- g_assert_cmpint(webkit_web_back_forward_list_get_forward_length(webBackForwardList), ==, 0);
- g_assert_cmpint(webkit_web_back_forward_list_get_back_length(webBackForwardList), ==, 0);
- g_assert(!webkit_web_view_can_go_forward(webView));
- g_assert(!webkit_web_view_can_go_back(webView));
-
- // Add a new items
- item1 = webkit_web_history_item_new_with_data("http://example.com/1/", "Site 1");
- webkit_web_back_forward_list_add_item(webBackForwardList, item1);
- g_object_unref(item1);
- g_assert(webkit_web_back_forward_list_contains_item(webBackForwardList, item1));
-
- item2 = webkit_web_history_item_new_with_data("http://example.com/2/", "Site 2");
- webkit_web_back_forward_list_add_item(webBackForwardList, item2);
- g_object_unref(item2);
- g_assert(webkit_web_back_forward_list_contains_item(webBackForwardList, item2));
-
- item3 = webkit_web_history_item_new_with_data("http://example.com/3/", "Site 3");
- webkit_web_back_forward_list_add_item(webBackForwardList, item3);
- g_object_unref(item3);
- g_assert(webkit_web_back_forward_list_contains_item(webBackForwardList, item3));
-
- item4 = webkit_web_history_item_new_with_data("http://example.com/4/", "Site 4");
- webkit_web_back_forward_list_add_item(webBackForwardList, item4);
- g_object_unref(item4);
- g_assert(webkit_web_back_forward_list_contains_item(webBackForwardList, item4));
-
- // check the back list order
- backList = webkit_web_back_forward_list_get_back_list_with_limit(webBackForwardList, 5);
- g_assert(backList);
-
- currentItem = WEBKIT_WEB_HISTORY_ITEM(backList->data);
- g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/3/");
- g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Site 3");
- backList = backList->next;
-
- currentItem = WEBKIT_WEB_HISTORY_ITEM(backList->data);
- g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/2/");
- g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Site 2");
- backList = backList->next;
-
- currentItem = WEBKIT_WEB_HISTORY_ITEM(backList->data);
- g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/1/");
- g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Site 1");
- g_list_free(backList);
-
- // check the forward list order
- g_assert(webkit_web_view_go_to_back_forward_item(webView, item1));
- forwardList = webkit_web_back_forward_list_get_forward_list_with_limit(webBackForwardList,5);
- g_assert(forwardList);
-
- currentItem = WEBKIT_WEB_HISTORY_ITEM(forwardList->data);
- g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/4/");
- g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Site 4");
- forwardList = forwardList->next;
-
- currentItem = WEBKIT_WEB_HISTORY_ITEM(forwardList->data);
- g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/3/");
- g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Site 3");
- forwardList = forwardList->next;
-
- currentItem = WEBKIT_WEB_HISTORY_ITEM(forwardList->data);
- g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/2/");
- g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Site 2");
-
- g_list_free(forwardList);
- g_object_unref(webView);
-}
-
-static void test_webkit_web_back_forward_list_add_item(void)
-{
- WebKitWebView* webView;
- WebKitWebBackForwardList* webBackForwardList;
- WebKitWebHistoryItem* addItem1;
- WebKitWebHistoryItem* addItem2;
- WebKitWebHistoryItem* backItem;
- WebKitWebHistoryItem* currentItem;
- g_test_bug("22988");
-
- webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(webView);
-
- webkit_web_view_set_maintains_back_forward_list(webView, TRUE);
- webBackForwardList = webkit_web_view_get_back_forward_list(webView);
- g_assert(webBackForwardList);
-
- // Check that there is no item.
- g_assert(!webkit_web_back_forward_list_get_current_item(webBackForwardList));
- g_assert_cmpint(webkit_web_back_forward_list_get_forward_length(webBackForwardList), ==, 0);
- g_assert_cmpint(webkit_web_back_forward_list_get_back_length(webBackForwardList), ==, 0);
- g_assert(!webkit_web_view_can_go_forward(webView));
- g_assert(!webkit_web_view_can_go_back(webView));
-
- // Add a new item
- addItem1 = webkit_web_history_item_new_with_data("http://example.com/", "Added site");
- webkit_web_back_forward_list_add_item(webBackForwardList, addItem1);
- g_object_unref(addItem1);
- g_assert(webkit_web_back_forward_list_contains_item(webBackForwardList, addItem1));
-
- // Check that the added item is the current item.
- currentItem = webkit_web_back_forward_list_get_current_item(webBackForwardList);
- g_assert(currentItem);
- g_assert_cmpint(webkit_web_back_forward_list_get_forward_length(webBackForwardList), ==, 0);
- g_assert_cmpint(webkit_web_back_forward_list_get_back_length(webBackForwardList), ==, 0);
- g_assert(!webkit_web_view_can_go_forward(webView));
- g_assert(!webkit_web_view_can_go_back(webView));
- g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/");
- g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Added site");
-
- // Add another item.
- addItem2 = webkit_web_history_item_new_with_data("http://example.com/2/", "Added site 2");
- webkit_web_back_forward_list_add_item(webBackForwardList, addItem2);
- g_object_unref(addItem2);
- g_assert(webkit_web_back_forward_list_contains_item(webBackForwardList, addItem2));
-
- // Check that the added item is new current item.
- currentItem = webkit_web_back_forward_list_get_current_item(webBackForwardList);
- g_assert(currentItem);
- g_assert_cmpint(webkit_web_back_forward_list_get_forward_length(webBackForwardList), ==, 0);
- g_assert_cmpint(webkit_web_back_forward_list_get_back_length(webBackForwardList), ==, 1);
- g_assert(!webkit_web_view_can_go_forward(webView));
- g_assert(webkit_web_view_can_go_back(webView));
- g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/2/");
- g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Added site 2");
-
- backItem = webkit_web_back_forward_list_get_back_item(webBackForwardList);
- g_assert(backItem);
- g_assert_cmpstr(webkit_web_history_item_get_uri(backItem), ==, "http://example.com/");
- g_assert_cmpstr(webkit_web_history_item_get_title(backItem), ==, "Added site");
-
- // Go to the first added item.
- g_assert(webkit_web_view_go_to_back_forward_item(webView, addItem1));
- g_assert_cmpint(webkit_web_back_forward_list_get_forward_length(webBackForwardList), ==, 1);
- g_assert_cmpint(webkit_web_back_forward_list_get_back_length(webBackForwardList), ==, 0);
- g_assert(webkit_web_view_can_go_forward(webView));
- g_assert(!webkit_web_view_can_go_back(webView));
-
- g_object_unref(webView);
-}
-
-static void test_webkit_web_back_forward_list_clear(void)
-{
- WebKitWebView* webView;
- WebKitWebBackForwardList* webBackForwardList;
- WebKitWebHistoryItem* addItem;
- g_test_bug("36173");
-
- webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(webView);
-
- webBackForwardList = webkit_web_view_get_back_forward_list(webView);
- g_assert(webBackForwardList);
-
- // Check that there is no item.
- g_assert_cmpint(webkit_web_back_forward_list_get_forward_length(webBackForwardList), ==, 0);
- g_assert_cmpint(webkit_web_back_forward_list_get_back_length(webBackForwardList), ==, 0);
- g_assert(!webkit_web_back_forward_list_get_current_item(webBackForwardList));
- g_assert(!webkit_web_view_can_go_forward(webView));
- g_assert(!webkit_web_view_can_go_back(webView));
-
- // Check that clearing the empty list does not modify counters
- webkit_web_back_forward_list_clear(webBackForwardList);
- g_assert_cmpint(webkit_web_back_forward_list_get_forward_length(webBackForwardList), ==, 0);
- g_assert_cmpint(webkit_web_back_forward_list_get_back_length(webBackForwardList), ==, 0);
- g_assert(!webkit_web_back_forward_list_get_current_item(webBackForwardList));
- g_assert(!webkit_web_view_can_go_forward(webView));
- g_assert(!webkit_web_view_can_go_back(webView));
-
- // Add a new item
- addItem = webkit_web_history_item_new_with_data("http://example.com/", "Added site");
- webkit_web_back_forward_list_add_item(webBackForwardList, addItem);
- g_object_unref(addItem);
- g_assert(webkit_web_back_forward_list_contains_item(webBackForwardList, addItem));
-
- // Check that after clearing the list the added item is no longer in the list
- webkit_web_back_forward_list_clear(webBackForwardList);
- g_assert(!webkit_web_back_forward_list_contains_item(webBackForwardList, addItem));
-
- // Check that after clearing it, the list is empty
- g_assert_cmpint(webkit_web_back_forward_list_get_forward_length(webBackForwardList), ==, 0);
- g_assert_cmpint(webkit_web_back_forward_list_get_back_length(webBackForwardList), ==, 0);
- g_assert(!webkit_web_back_forward_list_get_current_item(webBackForwardList));
- g_assert(!webkit_web_view_can_go_forward(webView));
- g_assert(!webkit_web_view_can_go_back(webView));
-
- g_object_unref(webView);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/webbackforwardlist/add_item", test_webkit_web_back_forward_list_add_item);
- g_test_add_func("/webkit/webbackforwardlist/list_order", test_webkit_web_back_forward_list_order);
- g_test_add_func("/webkit/webhistoryitem/lifetime", test_webkit_web_history_item_lifetime);
- g_test_add_func("/webkit/webbackforwardlist/clear", test_webkit_web_back_forward_list_clear);
- return g_test_run ();
-}
diff --git a/Source/WebKit/gtk/tests/testwebdatasource.c b/Source/WebKit/gtk/tests/testwebdatasource.c
deleted file mode 100644
index ed73bdb09..000000000
--- a/Source/WebKit/gtk/tests/testwebdatasource.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Copyright (C) 2009 Jan Michael Alonzo
- *
- * 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 "autotoolsconfig.h"
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-static const gshort defaultTimeout = 10;
-guint waitTimer;
-gboolean shouldWait;
-
-typedef struct {
- WebKitWebView* webView;
- WebKitWebFrame* mainFrame;
-} WebDataSourceFixture;
-
-static void test_webkit_web_data_source_get_initial_request()
-{
- WebKitWebView* view;
- WebKitWebFrame* frame;
- WebKitWebDataSource* dataSource;
- WebKitNetworkRequest* initialRequest;
-
- view = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(view);
- frame = webkit_web_view_get_main_frame(view);
-
- WebKitNetworkRequest* request = webkit_network_request_new("http://www.google.com");
- webkit_web_frame_load_request(frame, request);
- g_object_unref(request);
-
- dataSource = webkit_web_frame_get_provisional_data_source(frame);
- g_assert(dataSource);
- initialRequest = webkit_web_data_source_get_initial_request(dataSource);
- g_assert_cmpstr(webkit_network_request_get_uri(initialRequest), ==, "http://www.google.com/");
-
- g_object_unref(view);
-}
-
-static void notify_load_status_unreachable_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);
-
- g_assert(status != WEBKIT_LOAD_FINISHED);
-
- if (status != WEBKIT_LOAD_FAILED)
- return;
-
- WebKitWebDataSource* datasource = webkit_web_frame_get_data_source(frame);
-
- g_assert_cmpstr("http://this.host.does.not.exist/doireallyexist.html", ==,
- webkit_web_data_source_get_unreachable_uri(datasource));
-
- g_main_loop_quit(loop);
-}
-
-static void notify_load_status_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;
-
- /* Test get_request */
- g_test_message("Testing webkit_web_data_source_get_request");
- WebKitNetworkRequest* request = webkit_web_data_source_get_request(dataSource);
- g_assert_cmpstr(webkit_network_request_get_uri(request), ==, "http://www.webkit.org/");
-
- /* Test get_main_resource */
- g_test_message("Testing webkit_web_data_source_get_main_resource");
- WebKitWebResource* resource = webkit_web_data_source_get_main_resource(dataSource);
- g_assert_cmpstr("text/html", ==, webkit_web_resource_get_mime_type(resource));
- g_assert_cmpstr("http://www.webkit.org/", ==, webkit_web_resource_get_uri(resource));
-
- /* Test get_data. We just test if data has certain size for the mean time */
- g_test_message("Testing webkit_web_data_source_get_data has certain size");
- GString* data = webkit_web_data_source_get_data(dataSource);
- g_assert(data->len > 100);
-
- /* FIXME: Add test for get_encoding */
-
- g_main_loop_quit(loop);
-}
-
-static gboolean wait_timer_fired(GMainLoop* loop)
-{
- waitTimer = 0;
- g_main_loop_quit(loop);
-
- return FALSE;
-}
-
-static void test_webkit_web_data_source()
-{
- 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_cb), loop);
- webkit_web_view_load_uri(view, "http://www.webkit.org");
-
- 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://www.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;
-
- 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_unreachable_cb), loop);
- webkit_web_view_load_uri(view, "http://this.host.does.not.exist/doireallyexist.html");
-
- 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);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_bug("24758");
- g_test_add_func("/webkit/webdatasource/get_initial_request",
- test_webkit_web_data_source_get_initial_request);
- g_test_add_func("/webkit/webdatasource/api",
- 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 ();
-}
diff --git a/Source/WebKit/gtk/tests/testwebframe.c b/Source/WebKit/gtk/tests/testwebframe.c
deleted file mode 100644
index 531fae281..000000000
--- a/Source/WebKit/gtk/tests/testwebframe.c
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Copyright (C) 2008 Holger Hans Peter Freyther
- * Copyright (C) 2009 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 "autotoolsconfig.h"
-#include <errno.h>
-#include <unistd.h>
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-static int numberOfFramesCreated = 0;
-
-static void createFrameSignalTestFrameCreatedCallback(WebKitWebView* webView, WebKitWebFrame* frame, gpointer data)
-{
- numberOfFramesCreated++;
-}
-
-static gboolean createFrameSignalTestTimeout(gpointer data)
-{
- g_assert_cmpint(numberOfFramesCreated, ==, 2);
- g_main_loop_quit((GMainLoop*) data);
- return FALSE;
-}
-
-static void test_webkit_web_frame_created_signal(void)
-{
- GtkWidget* webView;
- GtkWidget* window;
- GMainLoop* loop = g_main_loop_new(NULL, TRUE);
-
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-
- webView = webkit_web_view_new();
- g_signal_connect(webView, "frame-created", G_CALLBACK(createFrameSignalTestFrameCreatedCallback), loop);
-
- // We want to ensure that exactly two create-frame signals are
- // fired and no more, so we set a timeout here. There does not appear
- // to be a simple way via the API to figure out when all frames have
- // loaded.
- g_timeout_add(500, createFrameSignalTestTimeout, loop);
-
- gtk_container_add(GTK_CONTAINER(window), webView);
- gtk_widget_show(window);
- gtk_widget_show(webView);
-
- webkit_web_view_load_string(WEBKIT_WEB_VIEW(webView),
- "<html><body>Frames!"
- "<iframe></iframe>"
- "<iframe></iframe>"
- "</body></html>",
- "text/html", "utf-8", "file://");
- g_main_loop_run(loop);
-}
-
-static void test_webkit_web_frame_create_destroy(void)
-{
- GtkWidget *webView;
- GtkWidget *window;
-
- g_test_bug("21837");
- webView = webkit_web_view_new();
- g_object_ref_sink(webView);
- g_assert_cmpint(G_OBJECT(webView)->ref_count, ==, 1);
- // This crashed with the original version
- g_object_unref(webView);
-
- g_test_bug("25042");
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- webView = webkit_web_view_new();
- gtk_container_add(GTK_CONTAINER(window), webView);
- gtk_widget_show(window);
- gtk_widget_show(webView);
- gtk_widget_destroy(webView);
-}
-
-static void test_webkit_web_frame_lifetime(void)
-{
- WebKitWebView* webView;
- WebKitWebFrame* webFrame;
- g_test_bug("21837");
-
- webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(webView);
- g_assert_cmpint(G_OBJECT(webView)->ref_count, ==, 1);
- webFrame = webkit_web_view_get_main_frame(webView);
- g_assert_cmpint(G_OBJECT(webFrame)->ref_count, ==, 1);
-
- // Add dummy reference on the WebKitWebFrame to keep it alive
- g_object_ref(webFrame);
- g_assert_cmpint(G_OBJECT(webFrame)->ref_count, ==, 2);
-
- // This crashed with the original version
- g_object_unref(webView);
-
- // Make sure that the frame got deleted as well. We did this
- // by adding an extra ref on the WebKitWebFrame and we should
- // be the one holding the last reference.
- g_assert_cmpint(G_OBJECT(webFrame)->ref_count, ==, 1);
- g_object_unref(webFrame);
-}
-
-static gboolean print_requested_cb(WebKitWebView* webView, WebKitWebFrame* webFrame, GMainLoop* loop)
-{
- g_object_set_data(G_OBJECT(webView), "signal-handled", GINT_TO_POINTER(TRUE));
- g_main_loop_quit(loop);
- return TRUE;
-}
-
-static void print_timeout(GMainLoop* loop)
-{
- if (g_main_loop_is_running(loop))
- g_main_loop_quit(loop);
-}
-
-static void test_webkit_web_frame_printing(void)
-{
- WebKitWebView* webView;
-
- webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(webView);
- g_assert_cmpint(G_OBJECT(webView)->ref_count, ==, 1);
-
- webkit_web_view_load_string(webView,
- "<html><body><h1>WebKitGTK+!</h1></body></html>",
- "text/html",
- "utf-8",
- "file://");
-
- GMainLoop* loop = g_main_loop_new(NULL, TRUE);
-
- // Does javascript print() work correctly?
- g_signal_connect(webView, "print-requested",
- G_CALLBACK(print_requested_cb),
- loop);
-
- g_object_set_data(G_OBJECT(webView), "signal-handled", GINT_TO_POINTER(FALSE));
- webkit_web_view_execute_script (webView, "print();");
-
- // Give javascriptcore some time to process the print request, but
- // prepare a timeout to avoid it running forever in case the signal is
- // never emitted.
- g_timeout_add(1000, (GSourceFunc)print_timeout, loop);
- g_main_loop_run(loop);
-
- g_assert_cmpint(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(webView), "signal-handled")), ==, TRUE);
-
- // Does printing directly to a file?
- GError *error = NULL;
- gchar* temporaryFilename = NULL;
- gint fd = g_file_open_tmp ("webkit-testwebframe-XXXXXX", &temporaryFilename, &error);
- close(fd);
-
- if (error) {
- g_critical("Failed to open a temporary file for writing: %s.", error->message);
- g_error_free(error);
- goto cleanup;
- }
-
- // We delete the file, so that we can easily figure out that the
- // file got printed;
- if (g_unlink(temporaryFilename) == -1) {
- g_warning("Failed to delete the temporary file: %s.\nThis may cause the test to be bogus.", g_strerror(errno));
- }
-
- WebKitWebFrame* webFrame = webkit_web_view_get_main_frame(webView);
- GtkPrintOperation* operation = gtk_print_operation_new();
- GtkPrintOperationAction action = GTK_PRINT_OPERATION_ACTION_EXPORT;
- GtkPrintOperationResult result;
-
- gtk_print_operation_set_export_filename(operation, temporaryFilename);
- result = webkit_web_frame_print_full (webFrame, operation, action, NULL);
-
- g_assert_cmpint(result, ==, GTK_PRINT_OPERATION_RESULT_APPLY);
- g_assert_cmpint(g_file_test(temporaryFilename, G_FILE_TEST_IS_REGULAR), ==, TRUE);
-
- g_unlink(temporaryFilename);
- g_object_unref(operation);
-cleanup:
- g_object_unref(webView);
- g_free(temporaryFilename);
-}
-
-static void test_webkit_web_frame_response()
-{
- WebKitWebFrame* frame = g_object_new(WEBKIT_TYPE_WEB_FRAME, NULL);
- WebKitNetworkResponse* response = webkit_web_frame_get_network_response(frame);
- g_assert(!response);
- g_object_unref(frame);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/webview/create_destroy", test_webkit_web_frame_create_destroy);
- g_test_add_func("/webkit/webview/frame-created_signal", test_webkit_web_frame_created_signal);
- g_test_add_func("/webkit/webframe/lifetime", test_webkit_web_frame_lifetime);
- g_test_add_func("/webkit/webview/printing", test_webkit_web_frame_printing);
- g_test_add_func("/webkit/webview/response", test_webkit_web_frame_response);
- return g_test_run ();
-}
diff --git a/Source/WebKit/gtk/tests/testwebhistoryitem.c b/Source/WebKit/gtk/tests/testwebhistoryitem.c
deleted file mode 100644
index 40ced4c71..000000000
--- a/Source/WebKit/gtk/tests/testwebhistoryitem.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2009 Jan Michael Alonzo
- *
- * 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 "autotoolsconfig.h"
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-typedef struct {
- WebKitWebHistoryItem* item;
-} WebHistoryItemFixture;
-
-static void web_history_item_fixture_setup(WebHistoryItemFixture* fixture,
- gconstpointer data)
-{
- fixture->item = webkit_web_history_item_new_with_data("http://example.com/", "Example1");
- g_assert_cmpint(G_OBJECT(fixture->item)->ref_count, == , 1);
- g_assert(fixture->item != NULL);
-}
-
-static void web_history_item_fixture_teardown(WebHistoryItemFixture* fixture,
- gconstpointer data)
-{
- g_assert(fixture->item != NULL);
- g_assert_cmpint(G_OBJECT(fixture->item)->ref_count, ==, 1);
-}
-
-static void test_webkit_web_history_item_get_data(WebHistoryItemFixture* fixture,
- gconstpointer data)
-{
- g_assert_cmpstr(webkit_web_history_item_get_title(fixture->item), ==, "Example1");
- g_assert_cmpstr(webkit_web_history_item_get_uri(fixture->item), ==, "http://example.com/");
-}
-
-static void test_webkit_web_history_item_alternate_title(WebHistoryItemFixture* fixture,
- gconstpointer data)
-{
- webkit_web_history_item_set_alternate_title(fixture->item, "Alternate title");
- g_assert_cmpstr(webkit_web_history_item_get_alternate_title(fixture->item), ==, "Alternate title");
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add("/webkit/webhistoryitem/get_data",
- WebHistoryItemFixture, 0, web_history_item_fixture_setup,
- test_webkit_web_history_item_get_data, web_history_item_fixture_teardown);
- g_test_add("/webkit/webhistoryitem/alternate_title",
- WebHistoryItemFixture, 0, web_history_item_fixture_setup,
- test_webkit_web_history_item_alternate_title, web_history_item_fixture_teardown);
- return g_test_run ();
-}
diff --git a/Source/WebKit/gtk/tests/testwebinspector.c b/Source/WebKit/gtk/tests/testwebinspector.c
deleted file mode 100644
index 8de6904fd..000000000
--- a/Source/WebKit/gtk/tests/testwebinspector.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (C) 2012 Gustavo Noronha Silva <gns@gnome.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.
- */
-
-#include "autotoolsconfig.h"
-#include "test_utils.h"
-
-#include <string.h>
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-GMainLoop *loop;
-GtkWidget *window;
-
-static gboolean quitLoop(gpointer data)
-{
- g_main_loop_quit(loop);
- return TRUE;
-}
-
-/* Ignore simple translation-related messages and upgrade other
- * messages to warnings.
- */
-static gboolean consoleMessageCallback(WebKitWebView* webView, const char* message, unsigned int line, const char* sourceId)
-{
- if (strstr(message, "Localized string") || strstr(message, "Protocol Error: the message is for non-existing domain 'Profiler'"))
- return TRUE;
-
- g_warning("Console: %s @%d: %s\n", sourceId, line, message);
- return TRUE;
-}
-
-static WebKitWebView* inspectElementCallback(WebKitWebInspector *inspector, WebKitWebView *inspectedWebView, int *timesElementInspected)
-{
- *timesElementInspected = *timesElementInspected + 1;
-
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-
- GtkWidget *newWebView = webkit_web_view_new();
- gtk_container_add(GTK_CONTAINER(window), newWebView);
-
- g_signal_connect(newWebView, "console-message",
- G_CALLBACK(consoleMessageCallback), NULL);
-
- return WEBKIT_WEB_VIEW(newWebView);
-}
-
-static gboolean closeInspector(WebKitWebInspector *inspector, int *timesClosed)
-{
- *timesClosed = *timesClosed + 1;
-
- gtk_widget_destroy(window);
- return TRUE;
-}
-
-static gboolean showInspector(WebKitWebInspector *inspector, gpointer data)
-{
- g_idle_add(quitLoop, NULL);
- return TRUE;
-}
-
-static void loadFinished(WebKitWebView *webView, WebKitWebFrame *frame, gboolean *isLoadFinished)
-{
- *isLoadFinished = TRUE;
- if (g_main_loop_is_running(loop))
- g_main_loop_quit(loop);
-}
-
-static void test_webkit_web_inspector_close_and_inspect()
-{
- WebKitWebView *webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- loop = g_main_loop_new(NULL, TRUE);
-
- gboolean isLoadFinished = FALSE;
- g_signal_connect(webView, "load-finished", G_CALLBACK(loadFinished), &isLoadFinished);
- webkit_web_view_load_string(webView,
- "<html><body><p>woohoo</p></body></html>",
- "text/html", "UTF-8", "file://");
- if (!isLoadFinished)
- g_main_loop_run(loop);
-
- g_object_set(webkit_web_view_get_settings(webView), "enable-developer-extras", TRUE, NULL);
- WebKitWebInspector *inspector = webkit_web_view_get_inspector(webView);
-
- int timesElementInspected = 0;
- int timesClosed = 0;
- g_object_connect(inspector,
- "signal::inspect-web-view", G_CALLBACK(inspectElementCallback), &timesElementInspected,
- "signal::show-window", G_CALLBACK(showInspector), NULL,
- "signal::close-window", G_CALLBACK(closeInspector), &timesClosed,
- NULL);
-
- webkit_web_inspector_inspect_coordinates(inspector, 0.0, 0.0);
- g_assert_cmpint(timesElementInspected, ==, 1);
-
- g_main_loop_run(loop);
-
- webkit_web_inspector_close(inspector);
- g_assert_cmpint(timesClosed, ==, 1);
-
- webkit_web_inspector_inspect_coordinates(inspector, 0.0, 0.0);
- g_assert_cmpint(timesElementInspected, ==, 2);
-
- g_main_loop_run(loop);
-
- gtk_widget_destroy(GTK_WIDGET(webView));
- g_assert_cmpint(timesClosed, ==, 2);
-
- g_main_loop_unref(loop);
-}
-
-static void test_webkit_web_inspector_destroy_inspected_web_view()
-{
- WebKitWebView *webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- loop = g_main_loop_new(NULL, TRUE);
-
- gboolean isLoadFinished = FALSE;
- g_signal_connect(webView, "load-finished", G_CALLBACK(loadFinished), &isLoadFinished);
- webkit_web_view_load_string(webView,
- "<html><body><p>woohoo</p></body></html>",
- "text/html", "UTF-8", "file://");
- if (!isLoadFinished)
- g_main_loop_run(loop);
-
- g_object_set(webkit_web_view_get_settings(webView), "enable-developer-extras", TRUE, NULL);
- WebKitWebInspector *inspector = webkit_web_view_get_inspector(webView);
-
- int timesElementInspected = 0;
- int timesClosed = 0;
- g_object_connect(inspector,
- "signal::inspect-web-view", G_CALLBACK(inspectElementCallback), &timesElementInspected,
- "signal::show-window", G_CALLBACK(showInspector), NULL,
- "signal::close-window", G_CALLBACK(closeInspector), &timesClosed,
- NULL);
-
- webkit_web_inspector_inspect_coordinates(inspector, 0.0, 0.0);
- g_assert_cmpint(timesElementInspected, ==, 1);
-
- g_main_loop_run(loop);
-
- gtk_widget_destroy(GTK_WIDGET(webView));
- g_assert_cmpint(timesClosed, ==, 1);
-
- g_main_loop_unref(loop);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/webinspector/destroy-inspected-web-view", test_webkit_web_inspector_destroy_inspected_web_view);
- g_test_add_func("/webkit/webinspector/close-and-inspect", test_webkit_web_inspector_close_and_inspect);
-
- return g_test_run();
-}
diff --git a/Source/WebKit/gtk/tests/testwebplugindatabase.c b/Source/WebKit/gtk/tests/testwebplugindatabase.c
deleted file mode 100644
index 7a1f7ec0e..000000000
--- a/Source/WebKit/gtk/tests/testwebplugindatabase.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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 "autotoolsconfig.h"
-#include <errno.h>
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-/* 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)
-{
- 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 ();
-}
diff --git a/Source/WebKit/gtk/tests/testwebresource.c b/Source/WebKit/gtk/tests/testwebresource.c
deleted file mode 100644
index b91eb2c10..000000000
--- a/Source/WebKit/gtk/tests/testwebresource.c
+++ /dev/null
@@ -1,331 +0,0 @@
-/*
- * Copyright (C) 2009 Jan Michael Alonzo
- *
- * 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 "autotoolsconfig.h"
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <libsoup/soup.h>
-#include <string.h>
-#include <webkit/webkit.h>
-
-#define INDEX_HTML "<html></html>"
-#define MAIN_HTML "<html><head><script language=\"javascript\" src=\"/javascript.js\"></script></head><body><h1>hah</h1></html>"
-#define JAVASCRIPT "function blah () { var a = 1; }"
-
-GMainLoop* loop;
-SoupSession *session;
-char *base_uri;
-WebKitWebResource* main_resource;
-WebKitWebResource* sub_resource;
-
-typedef struct {
- WebKitWebResource* webResource;
- WebKitWebView* webView;
-} WebResourceFixture;
-
-/* For real request testing */
-static void
-server_callback (SoupServer *server, SoupMessage *msg,
- const char *path, GHashTable *query,
- SoupClientContext *context, gpointer data)
-{
- if (msg->method != SOUP_METHOD_GET) {
- soup_message_set_status (msg, SOUP_STATUS_NOT_IMPLEMENTED);
- return;
- }
-
- soup_message_set_status (msg, SOUP_STATUS_OK);
-
- /* Redirect */
- if (g_str_equal (path, "/")) {
- soup_message_set_status (msg, SOUP_STATUS_MOVED_PERMANENTLY);
-
- soup_message_headers_append (msg->response_headers,
- "Location", "/index.html");
- } else if (g_str_equal (path, "/index.html")) {
- soup_message_body_append (msg->response_body,
- SOUP_MEMORY_COPY,
- INDEX_HTML,
- strlen (INDEX_HTML));
- } else if (g_str_equal (path, "/main.html")) {
- soup_message_body_append (msg->response_body,
- SOUP_MEMORY_COPY,
- MAIN_HTML,
- strlen (MAIN_HTML));
- } else if (g_str_equal (path, "/javascript.js")) {
- soup_message_body_append (msg->response_body,
- SOUP_MEMORY_COPY,
- JAVASCRIPT,
- strlen (JAVASCRIPT));
- }
-
-
- soup_message_body_complete (msg->response_body);
-}
-
-static void web_resource_fixture_setup(WebResourceFixture* fixture, gconstpointer data)
-{
- fixture->webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(fixture->webView);
- const gchar* webData = "<html></html>";
- fixture->webResource = webkit_web_resource_new(webData, strlen(webData), "http://example.com/", "text/html", "utf8", "Example.com");
- g_assert(fixture->webResource);
-}
-
-static void web_resource_fixture_teardown(WebResourceFixture* fixture, gconstpointer data)
-{
- g_assert(fixture->webResource);
- g_object_unref(fixture->webResource);
- g_object_unref(fixture->webView);
-}
-
-static void test_webkit_web_resource_get_url(WebResourceFixture* fixture, gconstpointer data)
-{
- gchar* url;
- g_object_get(G_OBJECT(fixture->webResource), "uri", &url, NULL);
- g_assert_cmpstr(url, ==, "http://example.com/");
- g_assert_cmpstr(webkit_web_resource_get_uri(fixture->webResource) ,==,"http://example.com/");
- g_free(url);
-}
-
-static void test_webkit_web_resource_get_data(WebResourceFixture* fixture, gconstpointer data)
-{
- GString* charData = webkit_web_resource_get_data(fixture->webResource);
- g_assert_cmpstr(charData->str, ==, "<html></html>");
-}
-
-static void test_webkit_web_resource_get_mime_type(WebResourceFixture* fixture, gconstpointer data)
-{
- gchar* mime_type;
- g_object_get(G_OBJECT(fixture->webResource), "mime-type", &mime_type, NULL);
- g_assert_cmpstr(mime_type, ==, "text/html");
- g_assert_cmpstr(webkit_web_resource_get_mime_type(fixture->webResource),==,"text/html");
- g_free(mime_type);
-}
-
-static void test_webkit_web_resource_get_encoding(WebResourceFixture* fixture, gconstpointer data)
-{
- gchar* text_encoding;
- g_object_get(G_OBJECT(fixture->webResource), "encoding", &text_encoding, NULL);
- g_assert_cmpstr(text_encoding, ==, "utf8");
- g_assert_cmpstr(webkit_web_resource_get_encoding(fixture->webResource),==,"utf8");
- g_free(text_encoding);
-}
-
-static void test_webkit_web_resource_get_frame_name(WebResourceFixture* fixture, gconstpointer data)
-{
- gchar* frame_name;
- g_object_get(G_OBJECT(fixture->webResource), "frame-name", &frame_name, NULL);
- g_assert_cmpstr(frame_name, ==, "Example.com");
- g_assert_cmpstr(webkit_web_resource_get_frame_name(fixture->webResource),==,"Example.com");
- g_free(frame_name);
-}
-
-static void resource_request_starting_cb(WebKitWebView* web_view, WebKitWebFrame* web_frame, WebKitWebResource* web_resource, WebKitNetworkRequest* request, WebKitNetworkResponse* response, gpointer data)
-{
- gint* been_there = data;
- *been_there = *been_there + 1;
-
- if (*been_there == 1) {
- g_assert(!main_resource);
- main_resource = g_object_ref(web_resource);
-
- g_assert_cmpstr(webkit_web_resource_get_uri(web_resource), ==, base_uri);
-
- /* This should be a redirect, so the response must be NULL */
- g_assert(!response);
- } else if (*been_there == 2) {
- char* uri = g_strdup_printf("%sindex.html", base_uri);
-
- g_assert_cmpstr(webkit_web_resource_get_uri(web_resource), ==, uri);
-
- /* Cancel the request. */
- webkit_network_request_set_uri(request, "about:blank");
-
- g_free(uri);
- }
-}
-
-static void notify_load_status_cb(WebKitWebView* web_view, GParamSpec* pspec, gpointer data)
-{
- if (webkit_web_view_get_load_status(web_view) == WEBKIT_LOAD_FINISHED) {
- gboolean* been_there = data;
- *been_there = TRUE;
-
- g_assert_cmpstr(webkit_web_view_get_uri(web_view), ==, "about:blank");
-
- g_main_loop_quit(loop);
- }
-}
-
-static void test_web_resource_loading()
-{
- WebKitWebView* web_view = WEBKIT_WEB_VIEW(webkit_web_view_new());
- gint been_to_resource_request_starting = 0;
- gboolean been_to_load_finished = FALSE;
- WebKitWebFrame* web_frame;
- WebKitWebDataSource* data_source;
-
- loop = g_main_loop_new(NULL, TRUE);
-
- g_object_ref_sink(web_view);
-
- g_signal_connect(web_view, "resource-request-starting",
- G_CALLBACK(resource_request_starting_cb),
- &been_to_resource_request_starting);
-
- g_signal_connect(web_view, "notify::load-status",
- G_CALLBACK(notify_load_status_cb),
- &been_to_load_finished);
-
- webkit_web_view_load_uri(web_view, base_uri);
-
- /* We won't get finished immediately, because of the redirect */
- g_main_loop_run(loop);
-
- web_frame = webkit_web_view_get_main_frame(web_view);
- data_source = webkit_web_frame_get_data_source(web_frame);
-
- g_assert(main_resource);
- g_assert(webkit_web_data_source_get_main_resource(data_source) == main_resource);
- g_object_unref(main_resource);
-
- g_assert_cmpint(been_to_resource_request_starting, ==, 2);
- g_assert_cmpint(been_to_load_finished, ==, TRUE);
-
- g_object_unref(web_view);
- g_main_loop_unref(loop);
-}
-
-static void resource_request_starting_sub_cb(WebKitWebView* web_view, WebKitWebFrame* web_frame, WebKitWebResource* web_resource, WebKitNetworkRequest* request, WebKitNetworkResponse* response, gpointer data)
-{
- if (!main_resource)
- main_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)
-{
- if (webkit_web_view_get_load_status(web_view) == WEBKIT_LOAD_FINISHED)
- g_main_loop_quit(loop);
-}
-
-static gboolean idle_quit_loop_cb(gpointer data)
-{
- g_main_loop_quit(loop);
- return FALSE;
-}
-
-static void test_web_resource_sub_resource_loading()
-{
- WebKitWebView* web_view = WEBKIT_WEB_VIEW(webkit_web_view_new());
- WebKitWebFrame* web_frame;
- WebKitWebDataSource* data_source;
- GList* sub_resources;
- char* uri = g_strdup_printf("%smain.html", base_uri);
-
- main_resource = NULL;
-
- loop = g_main_loop_new(NULL, TRUE);
-
- g_object_ref_sink(web_view);
-
- g_signal_connect(web_view, "resource-request-starting",
- G_CALLBACK(resource_request_starting_sub_cb),
- NULL);
-
- g_signal_connect(web_view, "notify::load-status",
- G_CALLBACK(notify_load_status_sub_cb),
- NULL);
-
- webkit_web_view_load_uri(web_view, uri);
-
- g_main_loop_run(loop);
-
- /* The main resource should be loaded; now let's wait for the sub-resource to load */
- g_idle_add(idle_quit_loop_cb, NULL);
- g_main_loop_run(loop);
-
- g_assert(main_resource && sub_resource);
- g_assert(main_resource != sub_resource);
-
- web_frame = webkit_web_view_get_main_frame(web_view);
- data_source = webkit_web_frame_get_data_source(web_frame);
-
- g_assert(webkit_web_data_source_get_main_resource(data_source) == main_resource);
- g_object_unref(main_resource);
-
- sub_resources = webkit_web_data_source_get_subresources(data_source);
- // Expected resources: javascripts.js, favicon.ico
- g_assert(sub_resources);
- g_assert(sub_resources->next);
- g_assert(!sub_resources->next->next);
-
- // 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);
-}
-
-int main(int argc, char** argv)
-{
- SoupServer* server;
- SoupURI* soup_uri;
-
- gtk_test_init(&argc, &argv, NULL);
-
- server = soup_server_new(SOUP_SERVER_PORT, 0, NULL);
- soup_server_run_async(server);
-
- soup_server_add_handler(server, NULL, server_callback, NULL, NULL);
-
- 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);
- soup_uri_free(soup_uri);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add("/webkit/webresource/get_url",
- WebResourceFixture, 0, web_resource_fixture_setup,
- test_webkit_web_resource_get_url, web_resource_fixture_teardown);
- g_test_add("/webkit/webresource/get_mime_type",
- WebResourceFixture, 0, web_resource_fixture_setup,
- test_webkit_web_resource_get_mime_type, web_resource_fixture_teardown);
- g_test_add("/webkit/webresource/get_text_encoding_name",
- WebResourceFixture, 0, web_resource_fixture_setup,
- test_webkit_web_resource_get_encoding, web_resource_fixture_teardown);
- g_test_add("/webkit/webresource/get_frame_name",
- WebResourceFixture, 0, web_resource_fixture_setup,
- test_webkit_web_resource_get_frame_name, web_resource_fixture_teardown);
- g_test_add("/webkit/webresource/get_data",
- WebResourceFixture, 0, web_resource_fixture_setup,
- test_webkit_web_resource_get_data, web_resource_fixture_teardown);
-
- g_test_add_func("/webkit/webresource/loading", test_web_resource_loading);
- g_test_add_func("/webkit/webresource/sub_resource_loading", test_web_resource_sub_resource_loading);
-
- return g_test_run ();
-}
diff --git a/Source/WebKit/gtk/tests/testwebsettings.c b/Source/WebKit/gtk/tests/testwebsettings.c
deleted file mode 100644
index 5ed5b185a..000000000
--- a/Source/WebKit/gtk/tests/testwebsettings.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2009 Jan Michael Alonzo
- *
- * 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 "autotoolsconfig.h"
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-/* Private API */
-char* webkitWebSettingsUserAgentForURI(WebKitWebSettings *settings, const char *uri);
-
-static void test_webkit_web_settings_copy(void)
-{
- WebKitWebSettings *settings = webkit_web_settings_new();
-
- // Set some non-default settings to verify that settings are properly copied.
- g_object_set(settings,
- "enable-webgl", TRUE,
- "enable-fullscreen", TRUE,
- "auto-load-images", FALSE,
- "default-encoding", "utf-8", NULL);
-
- WebKitWebSettings *copy = webkit_web_settings_copy(settings);
-
- gboolean enableWebGL = FALSE;
- gboolean enableFullscreen = FALSE;
- gboolean autoLoadImages = FALSE;
- char *defaultEncoding = 0;
- g_object_get(copy,
- "enable-fullscreen", &enableFullscreen,
- "enable-webgl", &enableWebGL,
- "auto-load-images", &autoLoadImages,
- "default-encoding", &defaultEncoding, NULL);
-
- g_assert(enableWebGL);
- g_assert(enableFullscreen);
- g_assert(!autoLoadImages);
- g_assert_cmpstr(defaultEncoding, ==, "utf-8");
- g_free(defaultEncoding);
-}
-
-static void test_non_quirky_user_agents(WebKitWebSettings *settings, const char *defaultUserAgent)
-{
- char *userAgent = 0;
-
- // test a custom UA string
- userAgent = 0;
- g_object_set(settings, "user-agent", "testwebsettings/0.1", NULL);
- g_object_get(settings,"user-agent", &userAgent, NULL);
- g_assert_cmpstr(userAgent, ==, "testwebsettings/0.1");
- g_free(userAgent);
-
- // setting it to NULL or an empty value should give us the default UA string
- userAgent = 0;
- g_object_set(settings, "user-agent", 0, NULL);
- g_object_get(settings,"user-agent", &userAgent, NULL);
- g_assert_cmpstr(userAgent, ==, defaultUserAgent);
- g_free(userAgent);
-
- userAgent = 0;
- g_object_set(settings, "user-agent", "", NULL);
- g_object_get(settings,"user-agent", &userAgent, NULL);
- g_assert_cmpstr(userAgent, ==, defaultUserAgent);
- g_free(userAgent);
-}
-
-static void test_webkit_web_settings_user_agent(void)
-{
- WebKitWebSettings *settings;
- GtkWidget *webView;
- char *defaultUserAgent;
- char *userAgent = 0;
- g_test_bug("17375");
-
- webView = webkit_web_view_new();
- g_object_ref_sink(webView);
-
- settings = webkit_web_view_get_settings(WEBKIT_WEB_VIEW(webView));
- defaultUserAgent = g_strdup(webkit_web_settings_get_user_agent(settings));
-
- test_non_quirky_user_agents(settings, defaultUserAgent);
-
- /* Test quirky google domains */
- g_object_set(settings, "user-agent", "testwebsettings/0.1", NULL);
-
- userAgent = webkitWebSettingsUserAgentForURI(settings, "http://www.google.com/");
- g_assert_cmpstr(userAgent, ==, "testwebsettings/0.1");
- g_free(userAgent);
-
- userAgent = webkitWebSettingsUserAgentForURI(settings, "http://gmail.com/");
- g_assert_cmpstr(userAgent, ==, "testwebsettings/0.1");
- g_free(userAgent);
-
- userAgent = webkitWebSettingsUserAgentForURI(settings, "http://www.google.com.br/");
- g_assert_cmpstr(userAgent, ==, "testwebsettings/0.1");
- g_free(userAgent);
-
- userAgent = webkitWebSettingsUserAgentForURI(settings, "http://calendar.google.com/");
- g_assert_cmpstr(userAgent, ==, "testwebsettings/0.1");
- g_free(userAgent);
-
- /* Now enable quirks handling */
- g_object_set(settings, "enable-site-specific-quirks", TRUE, NULL);
-
- test_non_quirky_user_agents(settings, defaultUserAgent);
-
- g_object_set(settings, "user-agent", "testwebsettings/0.1", NULL);
-
- userAgent = webkitWebSettingsUserAgentForURI(settings, "http://www.google.com/");
- g_assert_cmpstr(userAgent, ==, defaultUserAgent);
- g_free(userAgent);
-
- userAgent = webkitWebSettingsUserAgentForURI(settings, "http://gmail.com/");
- g_assert_cmpstr(userAgent, ==, defaultUserAgent);
- g_free(userAgent);
-
- userAgent = webkitWebSettingsUserAgentForURI(settings, "http://www.google.com.br/");
- g_assert_cmpstr(userAgent, ==, defaultUserAgent);
- g_free(userAgent);
-
- userAgent = webkitWebSettingsUserAgentForURI(settings, "http://www.google.uk.not.com.br/");
- g_assert_cmpstr(userAgent, ==, "testwebsettings/0.1");
- g_free(userAgent);
-
- g_free(defaultUserAgent);
- g_object_unref(webView);
-}
-
-int main(int argc, char **argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/websettings/user_agent", test_webkit_web_settings_user_agent);
- g_test_add_func("/webkit/websettings/copy", test_webkit_web_settings_copy);
- return g_test_run ();
-}
diff --git a/Source/WebKit/gtk/tests/testwebview.c b/Source/WebKit/gtk/tests/testwebview.c
deleted file mode 100644
index 90e6cc36a..000000000
--- a/Source/WebKit/gtk/tests/testwebview.c
+++ /dev/null
@@ -1,724 +0,0 @@
-/*
- * Copyright (C) 2008 Holger Hans Peter Freyther
- * Copyright (C) 2009, 2010 Collabora Ltd.
- * Copyright (C) 2012 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 "autotoolsconfig.h"
-#include "test_utils.h"
-
-#include <errno.h>
-#include <unistd.h>
-#include <string.h>
-
-#include <glib.h>
-#include <glib/gstdio.h>
-#include <gdk/gdk.h>
-#include <gdk/gdkkeysyms.h>
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-GMainLoop* loop;
-SoupSession *session;
-char* base_uri;
-
-/* For real request testing */
-static void
-server_callback(SoupServer* server, SoupMessage* msg,
- const char* path, GHashTable* query,
- SoupClientContext* context, gpointer data)
-{
- if (msg->method != SOUP_METHOD_GET) {
- soup_message_set_status(msg, SOUP_STATUS_NOT_IMPLEMENTED);
- return;
- }
-
- soup_message_set_status(msg, SOUP_STATUS_OK);
-
- if (g_str_equal(path, "/favicon.ico")) {
- char* contents;
- gsize length;
- GError* error = NULL;
-
- g_file_get_contents("blank.ico", &contents, &length, &error);
- g_assert(!error);
-
- soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, length);
- } else if (g_str_equal(path, "/bigdiv.html")) {
- char* contents = g_strdup("<html><body><a id=\"link\" href=\"http://abc.def\">test</a><div style=\"background-color: green; height: 1200px;\"></div></body></html>");
- soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, strlen(contents));
- } else if (g_str_equal(path, "/iframe.html")) {
- char* contents = g_strdup("<html><body id=\"some-content\"><div style=\"background-color: green; height: 50px;\"></div><iframe src=\"bigdiv.html\"></iframe></body></html>");
- soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, strlen(contents));
- } else {
- char* contents = g_strdup("<html><body>test</body></html>");
- soup_message_body_append(msg->response_body, SOUP_MEMORY_TAKE, contents, strlen(contents));
- }
-
- soup_message_body_complete(msg->response_body);
-}
-
-static void idle_quit_loop_cb(WebKitWebView* web_view, GParamSpec* pspec, gpointer data)
-{
- if (webkit_web_view_get_load_status(web_view) == WEBKIT_LOAD_FINISHED ||
- webkit_web_view_get_load_status(web_view) == WEBKIT_LOAD_FAILED)
- g_main_loop_quit(loop);
-}
-
-static gboolean timeout_cb(gpointer data)
-{
- g_error("Didn't get icon-uri before timing out.");
- return FALSE;
-}
-
-static void icon_uri_changed_cb(WebKitWebView* web_view, GParamSpec* pspec, gpointer data)
-{
- char* expected_uri;
-
- g_assert_cmpstr(g_param_spec_get_name(pspec), ==, "icon-uri");
-
- expected_uri = g_strdup_printf("%sfavicon.ico", base_uri);
- g_assert_cmpstr(webkit_web_view_get_icon_uri(web_view), ==, expected_uri);
- g_free(expected_uri);
-
- g_main_loop_quit(loop);
-}
-
-static void icon_loaded_cb(WebKitWebView* web_view, char* icon_uri, gpointer data)
-{
- gboolean* been_here = (gboolean*)data;
- char* expected_uri = g_strdup_printf("%sfavicon.ico", base_uri);
- g_assert_cmpstr(icon_uri, ==, expected_uri);
- g_free(expected_uri);
-
- g_assert_cmpstr(icon_uri, ==, webkit_web_view_get_icon_uri(web_view));
-
- *been_here = TRUE;
-}
-
-static void test_webkit_web_view_icon_uri()
-{
- gboolean been_to_icon_loaded = FALSE;
- WebKitWebView* view = WEBKIT_WEB_VIEW(webkit_web_view_new());
- g_object_ref_sink(G_OBJECT(view));
-
- loop = g_main_loop_new(NULL, TRUE);
-
- g_object_connect(G_OBJECT(view),
- "signal::notify::icon-uri", icon_uri_changed_cb, NULL,
- "signal::icon-loaded", icon_loaded_cb, &been_to_icon_loaded,
- NULL);
-
- webkit_web_view_load_uri(view, base_uri);
-
- guint timeout_id = g_timeout_add(500, timeout_cb, 0);
-
- g_main_loop_run(loop);
-
- g_source_remove(timeout_id);
-
- g_assert(been_to_icon_loaded);
-
- g_object_unref(view);
-}
-
-static gboolean map_event_cb(GtkWidget *widget, GdkEvent* event, gpointer data)
-{
- GMainLoop* loop = (GMainLoop*)data;
- g_main_loop_quit(loop);
-
- return FALSE;
-}
-
-static gboolean quit_after_short_delay_cb(gpointer data)
-{
- g_main_loop_quit((GMainLoop*)data);
- return FALSE;
-}
-
-static void test_webkit_web_view_grab_focus()
-{
- char* uri = g_strconcat(base_uri, "iframe.html", NULL);
- GtkWidget* window = gtk_window_new(GTK_WINDOW_POPUP);
- GtkWidget* scrolled_window = gtk_scrolled_window_new(NULL, NULL);
- WebKitWebView* view = WEBKIT_WEB_VIEW(webkit_web_view_new());
- GtkAdjustment* adjustment;
-
- gtk_window_set_default_size(GTK_WINDOW(window), 400, 200);
-
- gtk_container_add(GTK_CONTAINER(window), scrolled_window);
- gtk_container_add(GTK_CONTAINER(scrolled_window), GTK_WIDGET(view));
-
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
- loop = g_main_loop_new(NULL, TRUE);
-
- g_signal_connect(view, "notify::load-status", G_CALLBACK(idle_quit_loop_cb), NULL);
-
- /* Wait for window to show up */
- gtk_widget_show_all(window);
- g_signal_connect(window, "map-event",
- G_CALLBACK(map_event_cb), loop);
- g_main_loop_run(loop);
-
- /* Load a page with a big div that will cause scrollbars to appear */
- webkit_web_view_load_uri(view, uri);
- g_main_loop_run(loop);
-
- adjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(scrolled_window));
- g_assert_cmpfloat(gtk_adjustment_get_value(adjustment), ==, 0.0);
-
- /* Since webkit_web_view_execute_script does not return a value,
- it is impossible to know if an inner document has focus after
- a node of it was focused via .focus() method.
- The code below is an workaround: if the node has focus, a scroll
- action is performed and afterward it is checked if the adjustment
- has to be different from 0.
- */
- char script[] = "var innerDoc = document.defaultView.frames[0].document; \
- innerDoc.getElementById(\"link\").focus(); \
- if (innerDoc.hasFocus()) \
- window.scrollBy(0, 100);";
-
- /* Focus an element using JavaScript */
- webkit_web_view_execute_script(view, script);
-
- /* Adjustments update asynchronously, so we must wait a bit. */
- g_timeout_add(100, quit_after_short_delay_cb, loop);
- g_main_loop_run(loop);
-
- /* Make sure the ScrolledWindow noticed the scroll */
- g_assert_cmpfloat(gtk_adjustment_get_value(adjustment), !=, 0.0);
-
- g_free(uri);
- gtk_widget_destroy(window);
-}
-
-static void do_test_webkit_web_view_adjustments(gboolean with_page_cache)
-{
- char* effective_uri = g_strconcat(base_uri, "bigdiv.html", NULL);
- char* second_uri = g_strconcat(base_uri, "iframe.html", NULL);
- GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- GtkWidget* scrolled_window = gtk_scrolled_window_new(NULL, NULL);
- WebKitWebView* view = WEBKIT_WEB_VIEW(webkit_web_view_new());
- GtkAdjustment* adjustment;
- double lower;
- double upper;
-
- if (with_page_cache) {
- WebKitWebSettings* settings = webkit_web_view_get_settings(view);
- g_object_set(settings, "enable-page-cache", TRUE, NULL);
- }
-
- gtk_window_set_default_size(GTK_WINDOW(window), 400, 200);
-
- gtk_container_add(GTK_CONTAINER(window), scrolled_window);
- gtk_container_add(GTK_CONTAINER(scrolled_window), GTK_WIDGET(view));
-
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
- loop = g_main_loop_new(NULL, TRUE);
-
- g_object_connect(G_OBJECT(view),
- "signal::notify::load-status", idle_quit_loop_cb, NULL,
- NULL);
-
- /* Wait for window to show up */
- gtk_widget_show_all(window);
- g_signal_connect(window, "map-event",
- G_CALLBACK(map_event_cb), loop);
- g_main_loop_run(loop);
-
- /* Load a page with a big div that will cause scrollbars to appear */
- webkit_web_view_load_uri(view, effective_uri);
- g_main_loop_run(loop);
-
- /* Adjustments update asynchronously, so we must wait a bit. */
- g_timeout_add(100, quit_after_short_delay_cb, loop);
- g_main_loop_run(loop);
-
- adjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(scrolled_window));
- g_assert_cmpfloat(gtk_adjustment_get_value(adjustment), ==, 0.0);
-
- lower = gtk_adjustment_get_lower(adjustment);
- upper = gtk_adjustment_get_upper(adjustment);
-
- /* Scroll the view using JavaScript */
- webkit_web_view_execute_script(view, "window.scrollBy(0, 100)");
-
- /* Adjustments update asynchronously, so we must wait a bit. */
- g_timeout_add(100, quit_after_short_delay_cb, loop);
- g_main_loop_run(loop);
-
- /* Make sure the ScrolledWindow noticed the scroll */
- g_assert_cmpfloat(gtk_adjustment_get_value(adjustment), ==, 100.0);
-
- /* Load a second URI */
- webkit_web_view_load_uri(view, second_uri);
- g_main_loop_run(loop);
-
- /* The page loaded but the adjustments may not be updated yet. Wait a bit. */
- g_timeout_add(100, quit_after_short_delay_cb, loop);
- g_main_loop_run(loop);
-
- /* Make sure the scrollbar has been reset */
- g_assert_cmpfloat(gtk_adjustment_get_value(adjustment), ==, 0.0);
-
- /* Go back */
- webkit_web_view_go_back(view);
-
- /* When using page cache, go_back will return syncronously */
- if (!with_page_cache)
- g_main_loop_run(loop);
-
- /* Make sure GTK+ has time to process the changes in size, for the adjusments */
- while (gtk_events_pending())
- gtk_main_iteration();
-
- /* Make sure upper and lower bounds have been restored correctly */
- g_assert_cmpfloat(lower, ==, gtk_adjustment_get_lower(adjustment));
- g_assert_cmpfloat(upper, ==, gtk_adjustment_get_upper(adjustment));
- g_assert_cmpfloat(gtk_adjustment_get_value(adjustment), ==, 100.0);
-
- g_free(effective_uri);
- g_free(second_uri);
-
- gtk_widget_destroy(window);
-}
-
-static void test_webkit_web_view_adjustments()
-{
- /* Test this with page cache disabled, and enabled. */
- do_test_webkit_web_view_adjustments(FALSE);
- do_test_webkit_web_view_adjustments(TRUE);
-}
-
-gboolean delayed_destroy(gpointer data)
-{
- gtk_widget_destroy(GTK_WIDGET(data));
- g_main_loop_quit(loop);
- return FALSE;
-}
-
-static void test_webkit_web_view_destroy()
-{
- GtkWidget* window;
- GtkWidget* web_view;
-
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- web_view = webkit_web_view_new();
-
- gtk_container_add(GTK_CONTAINER(window), web_view);
-
- gtk_widget_show_all(window);
-
- loop = g_main_loop_new(NULL, TRUE);
-
- g_signal_connect(window, "map-event",
- G_CALLBACK(map_event_cb), loop);
- g_main_loop_run(loop);
-
- g_idle_add(delayed_destroy, web_view);
- g_main_loop_run(loop);
-
- gtk_widget_destroy(window);
-}
-
-static void test_webkit_web_view_window_features()
-{
- GtkWidget* window;
- GtkWidget* web_view;
-
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- web_view = webkit_web_view_new();
-
- gtk_container_add(GTK_CONTAINER(window), web_view);
-
- gtk_widget_show_all(window);
-
- loop = g_main_loop_new(NULL, TRUE);
-
- g_signal_connect(window, "map-event",
- G_CALLBACK(map_event_cb), loop);
- g_main_loop_run(loop);
-
- /* Bug #36144 */
- g_object_set(G_OBJECT(web_view), "window-features", NULL, NULL);
-
- gtk_widget_destroy(window);
-}
-
-static void test_webkit_web_view_in_offscreen_window_does_not_crash()
-{
- loop = g_main_loop_new(NULL, TRUE);
-
- GtkWidget *window = gtk_offscreen_window_new();
- GtkWidget *web_view = webkit_web_view_new();
-
- gtk_container_add(GTK_CONTAINER(window), web_view);
- gtk_widget_show_all(window);
- g_signal_connect(web_view, "notify::load-status", G_CALLBACK(idle_quit_loop_cb), NULL);
- webkit_web_view_load_uri(WEBKIT_WEB_VIEW(web_view), base_uri);
-
- g_main_loop_run(loop);
-
- gtk_widget_destroy(window);
- g_main_loop_unref(loop);
-}
-
-static void test_webkit_web_view_does_not_steal_focus()
-{
- loop = g_main_loop_new(NULL, TRUE);
-
- GtkWidget *window = gtk_offscreen_window_new();
- GtkWidget *webView = webkit_web_view_new();
- GtkWidget *entry = gtk_entry_new();
-
-#ifdef GTK_API_VERSION_2
- GtkWidget *box = gtk_hbox_new(FALSE, 0);
-#else
- GtkWidget *box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
-#endif
-
- gtk_container_add(GTK_CONTAINER(box), webView);
- gtk_container_add(GTK_CONTAINER(box), entry);
- gtk_container_add(GTK_CONTAINER(window), box);
- gtk_widget_show_all(window);
-
- gtk_widget_grab_focus(entry);
- g_assert(gtk_widget_is_focus(entry));
-
- g_signal_connect(webView, "notify::load-status", G_CALLBACK(idle_quit_loop_cb), NULL);
- webkit_web_view_load_html_string(WEBKIT_WEB_VIEW(webView),
- "<html><body>"
- " <input id=\"entry\" type=\"text\"/>"
- " <script>"
- " document.getElementById(\"entry\").focus();"
- " </script>"
- "</body></html>", "file://");
-
- g_main_loop_run(loop);
-
- g_assert(gtk_widget_is_focus(entry));
-
- gtk_widget_destroy(window);
- g_main_loop_unref(loop);
-}
-
-static gboolean emitKeyStroke(WebKitWebView* webView)
-{
- GdkEvent* pressEvent = gdk_event_new(GDK_KEY_PRESS);
- pressEvent->key.keyval = GDK_KEY_f;
- GdkWindow* window = gtk_widget_get_window(GTK_WIDGET(webView));
- pressEvent->key.window = window;
- g_object_ref(pressEvent->key.window);
-
-#ifndef GTK_API_VERSION_2
- GdkDeviceManager* manager = gdk_display_get_device_manager(gdk_window_get_display(window));
- gdk_event_set_device(pressEvent, gdk_device_manager_get_client_pointer(manager));
-#endif
-
- // When synthesizing an event, an invalid hardware_keycode value
- // can cause it to be badly processed by Gtk+.
- GdkKeymapKey* keys;
- gint n_keys;
- if (gdk_keymap_get_entries_for_keyval(gdk_keymap_get_default(), GDK_KEY_f, &keys, &n_keys)) {
- pressEvent->key.hardware_keycode = keys[0].keycode;
- g_free(keys);
- }
-
- GdkEvent* releaseEvent = gdk_event_copy(pressEvent);
- gtk_main_do_event(pressEvent);
- gdk_event_free(pressEvent);
- releaseEvent->key.type = GDK_KEY_RELEASE;
- gtk_main_do_event(releaseEvent);
- gdk_event_free(releaseEvent);
-
- return FALSE;
-}
-
-static gboolean entering_fullscreen_cb(WebKitWebView* webView, GObject* element, gboolean blocked)
-{
- if (blocked)
- g_main_loop_quit(loop);
- else
- g_timeout_add(200, (GSourceFunc) emitKeyStroke, webView);
- return blocked;
-}
-
-static gboolean leaving_fullscreen_cb(WebKitWebView* webView, GObject* element, gpointer data)
-{
- g_main_loop_quit(loop);
- return FALSE;
-}
-
-static void test_webkit_web_view_fullscreen(gconstpointer blocked)
-{
- GtkWidget* window;
- GtkWidget* web_view;
- WebKitWebSettings *settings;
-
- window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- web_view = webkit_web_view_new();
-
- settings = webkit_web_view_get_settings(WEBKIT_WEB_VIEW(web_view));
- g_object_set(settings, "enable-fullscreen", TRUE, NULL);
- webkit_web_view_set_settings(WEBKIT_WEB_VIEW(web_view), settings);
-
- gtk_container_add(GTK_CONTAINER(window), web_view);
-
- gtk_widget_show_all(window);
-
- loop = g_main_loop_new(NULL, TRUE);
-
- g_signal_connect(web_view, "entering-fullscreen", G_CALLBACK(entering_fullscreen_cb), (gpointer) blocked);
- g_signal_connect(web_view, "leaving-fullscreen", G_CALLBACK(leaving_fullscreen_cb), NULL);
-
- webkit_web_view_load_string(WEBKIT_WEB_VIEW(web_view), "<html><body>"
- "<script>"
- "var eventName = 'keypress';"
- "document.addEventListener(eventName, function () {"
- " document.documentElement.webkitRequestFullScreen();"
- "}, false);"
- "</script></body></html>", NULL, NULL, NULL);
-
- g_timeout_add(100, (GSourceFunc) emitKeyStroke, WEBKIT_WEB_VIEW(web_view));
- g_main_loop_run(loop);
-
- gtk_widget_destroy(window);
-}
-
-static gboolean checkMimeTypeForFilter(GtkFileFilter* filter, const gchar* mimeType)
-{
- GtkFileFilterInfo filter_info;
- filter_info.contains = GTK_FILE_FILTER_MIME_TYPE;
- filter_info.mime_type = mimeType;
- return gtk_file_filter_filter(filter, &filter_info);
-}
-
-static gboolean runFileChooserCbNoMultiselNoMime(WebKitWebView* webview, WebKitFileChooserRequest* request, gpointer data)
-{
- g_assert(!webkit_file_chooser_request_get_select_multiple(request));
-
- const gchar* const* mimeTypes = webkit_file_chooser_request_get_mime_types(request);
- g_assert(!mimeTypes);
- GtkFileFilter* filter = webkit_file_chooser_request_get_mime_types_filter(request);
- g_assert(!filter);
-
- const gchar* const* selectedFiles = webkit_file_chooser_request_get_selected_files(request);
- g_assert(!selectedFiles);
-
- g_main_loop_quit(loop);
- return TRUE;
-}
-
-static gboolean runFileChooserCbMultiselNoMime(WebKitWebView* webview, WebKitFileChooserRequest* request, gpointer data)
-{
- g_assert(webkit_file_chooser_request_get_select_multiple(request));
-
- const gchar* const* mimeTypes = webkit_file_chooser_request_get_mime_types(request);
- g_assert(!mimeTypes);
- GtkFileFilter* filter = webkit_file_chooser_request_get_mime_types_filter(request);
- g_assert(!filter);
- const gchar* const* selectedFiles = webkit_file_chooser_request_get_selected_files(request);
- g_assert(!selectedFiles);
-
- // Select some files.
- const gchar* filesToSelect[4] = { "/foo", "/foo/bar", "/foo/bar/baz", 0 };
- webkit_file_chooser_request_select_files(request, filesToSelect);
-
- // Check the files that have been just selected.
- selectedFiles = webkit_file_chooser_request_get_selected_files(request);
- g_assert(selectedFiles);
- g_assert_cmpstr(selectedFiles[0], ==, "/foo");
- g_assert_cmpstr(selectedFiles[1], ==, "/foo/bar");
- g_assert_cmpstr(selectedFiles[2], ==, "/foo/bar/baz");
- g_assert(!selectedFiles[3]);
-
- g_main_loop_quit(loop);
- return TRUE;
-}
-
-static gboolean runFileChooserCbSelectionRetained(WebKitWebView* webview, WebKitFileChooserRequest* request, gpointer data)
-{
- const gchar* const* selectedFiles = webkit_file_chooser_request_get_selected_files(request);
- g_assert(selectedFiles);
- g_assert_cmpstr(selectedFiles[0], ==, "/foo");
- g_assert_cmpstr(selectedFiles[1], ==, "/foo/bar");
- g_assert_cmpstr(selectedFiles[2], ==, "/foo/bar/baz");
- g_assert(!selectedFiles[3]);
-
- g_main_loop_quit(loop);
- return TRUE;
-}
-
-static gboolean runFileChooserCbNoMultiselAcceptTypes(WebKitWebView* webview, WebKitFileChooserRequest* request, gpointer data)
-{
- g_assert(!webkit_file_chooser_request_get_select_multiple(request));
-
- const gchar* const* mimeTypes = webkit_file_chooser_request_get_mime_types(request);
- g_assert(mimeTypes);
- g_assert_cmpstr(mimeTypes[0], ==, "audio/*");
- g_assert_cmpstr(mimeTypes[1], ==, "video/*");
- g_assert_cmpstr(mimeTypes[2], ==, "image/*");
- g_assert(!mimeTypes[3]);
-
- GtkFileFilter* filter = webkit_file_chooser_request_get_mime_types_filter(request);
- g_assert(GTK_IS_FILE_FILTER(filter));
- g_assert(checkMimeTypeForFilter(filter, "audio/*"));
- g_assert(checkMimeTypeForFilter(filter, "video/*"));
- g_assert(checkMimeTypeForFilter(filter, "image/*"));
-
- const gchar* const* selectedFiles = webkit_file_chooser_request_get_selected_files(request);
- g_assert(!selectedFiles);
-
- g_main_loop_quit(loop);
- return TRUE;
-}
-
-void doMouseButtonEvent(GtkWidget* widget, GdkEventType eventType, int x, int y, unsigned int button, unsigned int modifiers)
-{
- g_assert(gtk_widget_get_realized(widget));
-
- GdkEvent* event = gdk_event_new(eventType);
- event->button.window = gtk_widget_get_window(widget);
- g_object_ref(event->button.window);
-
- event->button.time = GDK_CURRENT_TIME;
- event->button.x = x;
- event->button.y = y;
- event->button.axes = 0;
- event->button.state = modifiers;
- event->button.button = button;
-
-#ifndef GTK_API_VERSION_2
- event->button.device = gdk_device_manager_get_client_pointer(gdk_display_get_device_manager(gtk_widget_get_display(widget)));
-#endif
-
- int xRoot, yRoot;
- gdk_window_get_root_coords(gtk_widget_get_window(widget), x, y, &xRoot, &yRoot);
- event->button.x_root = xRoot;
- event->button.y_root = yRoot;
- gtk_main_do_event(event);
-}
-
-static void clickMouseButton(GtkWidget* widget, int x, int y, unsigned int button, unsigned int modifiers)
-{
- doMouseButtonEvent(widget, GDK_BUTTON_PRESS, x, y, button, modifiers);
- doMouseButtonEvent(widget, GDK_BUTTON_RELEASE, x, y, button, modifiers);
-}
-
-static gboolean clickMouseButtonAndWaitForFileChooserRequest(WebKitWebView* webView)
-{
- clickMouseButton(GTK_WIDGET(webView), 5, 5, 1, 0);
- return TRUE;
-}
-
-static void test_webkit_web_view_file_chooser()
-{
- const gchar* htmlFormatBase = "<html><body>"
- "<input style='position:absolute;left:0;top:0;margin:0;padding:0' type='file' %s/>"
- "</body></html>";
-
- GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- GtkWidget* webView = webkit_web_view_new();
- gtk_container_add(GTK_CONTAINER(window), webView);
- gtk_widget_show_all(window);
-
- loop = g_main_loop_new(NULL, TRUE);
-
- // Multiple selections not allowed, no MIME filtering.
- gulong handler = g_signal_connect(webView, "run-file-chooser", G_CALLBACK(runFileChooserCbNoMultiselNoMime), NULL);
- gchar* htmlFormat = g_strdup_printf(htmlFormatBase, "");
- webkit_web_view_load_string(WEBKIT_WEB_VIEW(webView), htmlFormat, NULL, NULL, NULL);
- g_free(htmlFormat);
-
- g_timeout_add(100, (GSourceFunc) clickMouseButtonAndWaitForFileChooserRequest, WEBKIT_WEB_VIEW(webView));
- g_main_loop_run(loop);
-
- g_signal_handler_disconnect(webView, handler);
-
- // Multiple selections allowed, no MIME filtering, some pre-selected files.
- handler = g_signal_connect(webView, "run-file-chooser", G_CALLBACK(runFileChooserCbMultiselNoMime), NULL);
- htmlFormat = g_strdup_printf(htmlFormatBase, "multiple");
- webkit_web_view_load_string(WEBKIT_WEB_VIEW(webView), htmlFormat, NULL, NULL, NULL);
- g_free(htmlFormat);
-
- g_timeout_add(100, (GSourceFunc) clickMouseButtonAndWaitForFileChooserRequest, WEBKIT_WEB_VIEW(webView));
- g_main_loop_run(loop);
-
- g_signal_handler_disconnect(webView, handler);
-
- // Perform another request to check if the list of files selected
- // in the previous step appears now as part of the new request.
- handler = g_signal_connect(webView, "run-file-chooser", G_CALLBACK(runFileChooserCbSelectionRetained), NULL);
- g_timeout_add(100, (GSourceFunc) clickMouseButtonAndWaitForFileChooserRequest, WEBKIT_WEB_VIEW(webView));
- g_main_loop_run(loop);
-
- g_signal_handler_disconnect(webView, handler);
-
- // Multiple selections not allowed, only accept images, audio and video files.
- handler = g_signal_connect(webView, "run-file-chooser", G_CALLBACK(runFileChooserCbNoMultiselAcceptTypes), NULL);
- htmlFormat = g_strdup_printf(htmlFormatBase, "accept='audio/*,video/*,image/*'");
- webkit_web_view_load_string(WEBKIT_WEB_VIEW(webView), htmlFormat, NULL, NULL, NULL);
- g_free(htmlFormat);
-
- g_timeout_add(100, (GSourceFunc) clickMouseButtonAndWaitForFileChooserRequest, WEBKIT_WEB_VIEW(webView));
- g_main_loop_run(loop);
-
- g_signal_handler_disconnect(webView, handler);
- gtk_widget_destroy(window);
-}
-
-int main(int argc, char** argv)
-{
- SoupServer* server;
- SoupURI* soup_uri;
-
- gtk_test_init(&argc, &argv, NULL);
-
- /* Hopefully make test independent of the path it's called from. */
- testutils_relative_chdir("Source/WebKit/gtk/tests/resources/test.html", argv[0]);
-
- server = soup_server_new(SOUP_SERVER_PORT, 0, NULL);
- soup_server_run_async(server);
-
- soup_server_add_handler(server, NULL, server_callback, NULL, NULL);
-
- 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);
- soup_uri_free(soup_uri);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/webview/icon-uri", test_webkit_web_view_icon_uri);
- g_test_add_func("/webkit/webview/adjustments", test_webkit_web_view_adjustments);
- g_test_add_func("/webkit/webview/destroy", test_webkit_web_view_destroy);
- g_test_add_func("/webkit/webview/grab_focus", test_webkit_web_view_grab_focus);
- g_test_add_func("/webkit/webview/window-features", test_webkit_web_view_window_features);
- g_test_add_func("/webkit/webview/webview-in-offscreen-window-does-not-crash", test_webkit_web_view_in_offscreen_window_does_not_crash);
- g_test_add_func("/webkit/webview/webview-does-not-steal-focus", test_webkit_web_view_does_not_steal_focus);
- g_test_add_data_func("/webkit/webview/fullscreen", GINT_TO_POINTER(FALSE), test_webkit_web_view_fullscreen);
- g_test_add_data_func("/webkit/webview/fullscreen-blocked", GINT_TO_POINTER(TRUE), test_webkit_web_view_fullscreen);
- g_test_add_func("/webkit/webview/file-chooser", test_webkit_web_view_file_chooser);
-
- return g_test_run ();
-}
diff --git a/Source/WebKit/gtk/tests/testwindow.c b/Source/WebKit/gtk/tests/testwindow.c
deleted file mode 100644
index ce66d4661..000000000
--- a/Source/WebKit/gtk/tests/testwindow.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2009 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 "autotoolsconfig.h"
-#include <gtk/gtk.h>
-#include <webkit/webkit.h>
-
-static void notify_load_status_cb(WebKitWebView* web_view, GParamSpec* pspec, gpointer data)
-{
- if (webkit_web_view_get_load_status(web_view) == WEBKIT_LOAD_FINISHED) {
- GMainLoop* loop = (GMainLoop*)data;
-
- g_main_loop_quit(loop);
- }
-}
-
-static void test_webkit_window_scrollbar_policy(void)
-{
- GMainLoop* loop;
- GtkWidget* scrolledWindow;
- GtkWidget* webView;
- WebKitWebFrame* mainFrame;
- GtkPolicyType horizontalPolicy;
- GtkPolicyType verticalPolicy;
-
- loop = g_main_loop_new(NULL, TRUE);
-
- scrolledWindow = gtk_scrolled_window_new(NULL, NULL);
- gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledWindow),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
-
- webView = webkit_web_view_new();
- g_object_ref_sink(webView);
-
- g_signal_connect(webView, "notify::load-status",
- G_CALLBACK(notify_load_status_cb), loop);
-
- gtk_container_add(GTK_CONTAINER(scrolledWindow), webView);
-
- mainFrame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(webView));
-
- /* Test we correctly apply policy for not having scrollbars; This
- * case is special, because we turn the policy from NEVER to
- * AUTOMATIC, since we cannot easily represent the same thing
- * using GtkScrolledWindow */
- webkit_web_view_load_html_string(WEBKIT_WEB_VIEW(webView),
- "<html><body>WebKit!</body><script>document.getElementsByTagName('body')[0].style.overflow = 'hidden';</script></html>",
- "file://");
-
- g_main_loop_run(loop);
-
- gtk_scrolled_window_get_policy(GTK_SCROLLED_WINDOW(scrolledWindow),
- &horizontalPolicy, &verticalPolicy);
-
- g_assert(horizontalPolicy == GTK_POLICY_AUTOMATIC);
- g_assert(verticalPolicy == GTK_POLICY_AUTOMATIC);
-
- g_assert(GTK_POLICY_NEVER == webkit_web_frame_get_horizontal_scrollbar_policy(mainFrame));
- g_assert(GTK_POLICY_NEVER == webkit_web_frame_get_vertical_scrollbar_policy(mainFrame));
-
- /* Test we correctly apply policy for always having scrollbars */
- webkit_web_view_load_html_string(WEBKIT_WEB_VIEW(webView),
- "<html><body>WebKit!</body><script>document.getElementsByTagName('body')[0].style.overflow = 'scroll';</script></html>",
- "file://");
-
- g_main_loop_run(loop);
-
- gtk_scrolled_window_get_policy(GTK_SCROLLED_WINDOW(scrolledWindow),
- &horizontalPolicy, &verticalPolicy);
-
- g_assert(horizontalPolicy == GTK_POLICY_ALWAYS);
- g_assert(verticalPolicy == GTK_POLICY_ALWAYS);
-
- g_assert(horizontalPolicy == webkit_web_frame_get_horizontal_scrollbar_policy(mainFrame));
- g_assert(verticalPolicy == webkit_web_frame_get_vertical_scrollbar_policy(mainFrame));
-
- /* Test we correctly apply policy for having scrollbars when needed */
- webkit_web_view_load_html_string(WEBKIT_WEB_VIEW(webView),
- "<html><body>WebKit!</body><script>document.getElementsByTagName('body')[0].style.overflow = 'auto';</script></html>",
- "file://");
-
- g_main_loop_run(loop);
-
- gtk_scrolled_window_get_policy(GTK_SCROLLED_WINDOW(scrolledWindow),
- &horizontalPolicy, &verticalPolicy);
-
- g_assert(horizontalPolicy == GTK_POLICY_AUTOMATIC);
- g_assert(verticalPolicy == GTK_POLICY_AUTOMATIC);
-
- g_assert(horizontalPolicy == webkit_web_frame_get_horizontal_scrollbar_policy(mainFrame));
- g_assert(verticalPolicy == webkit_web_frame_get_vertical_scrollbar_policy(mainFrame));
-
- g_object_unref(webView);
-}
-
-int main(int argc, char** argv)
-{
- gtk_test_init(&argc, &argv, NULL);
-
- g_test_bug_base("https://bugs.webkit.org/");
- g_test_add_func("/webkit/window/scrollbar_policy", test_webkit_window_scrollbar_policy);
- return g_test_run ();
-}
diff --git a/Source/WebKit/gtk/webkit.pc.in b/Source/WebKit/gtk/webkit.pc.in
deleted file mode 100644
index 1d0c4e9bb..000000000
--- a/Source/WebKit/gtk/webkit.pc.in
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: WebKit
-Description: Web content engine for GTK+
-Version: @VERSION@
-Requires: glib-2.0 gtk+-@GTK_API_VERSION@ libsoup-2.4 javascriptcoregtk-@WEBKITGTK_API_VERSION@
-Libs: -L${libdir} -lwebkitgtk-@WEBKITGTK_API_VERSION@
-Cflags: -I${includedir}/webkitgtk-@WEBKITGTK_API_VERSION@
diff --git a/Source/WebKit/gtk/webkit/webkit.h b/Source/WebKit/gtk/webkit/webkit.h
deleted file mode 100644
index aa7b93dbd..000000000
--- a/Source/WebKit/gtk/webkit/webkit.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2007 Alp Toker <alp@atoker.com>
- * Copyright (C) 2008 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.
- */
-
-#ifndef __WEBKIT_H__
-#define __WEBKIT_H__
-
-#include <webkit/webkitversion.h>
-#include <webkit/webkitapplicationcache.h>
-#include <webkit/webkitdefines.h>
-#include <webkit/webkitdom.h>
-#include <webkit/webkitdownload.h>
-#include <webkit/webkitenumtypes.h>
-#include <webkit/webkitfavicondatabase.h>
-#include <webkit/webkitfilechooserrequest.h>
-#include <webkit/webkitgeolocationpolicydecision.h>
-#include <webkit/webkitglobals.h>
-#include <webkit/webkithittestresult.h>
-#include <webkit/webkiticondatabase.h>
-#include <webkit/webkitnetworkrequest.h>
-#include <webkit/webkitnetworkresponse.h>
-#include <webkit/webkitsecurityorigin.h>
-#include <webkit/webkitsoupauthdialog.h>
-#include <webkit/webkitspellchecker.h>
-#include <webkit/webkitviewportattributes.h>
-#include <webkit/webkitwebbackforwardlist.h>
-#include <webkit/webkitwebdatabase.h>
-#include <webkit/webkitwebdatasource.h>
-#include <webkit/webkitwebframe.h>
-#include <webkit/webkitwebhistoryitem.h>
-#include <webkit/webkitwebinspector.h>
-#include <webkit/webkitwebnavigationaction.h>
-#include <webkit/webkitwebplugin.h>
-#include <webkit/webkitwebplugindatabase.h>
-#include <webkit/webkitwebpolicydecision.h>
-#include <webkit/webkitwebresource.h>
-#include <webkit/webkitwebsettings.h>
-#include <webkit/webkitwebview.h>
-#include <webkit/webkitwebwindowfeatures.h>
-
-#endif /* __WEBKIT_H__ */
diff --git a/Source/WebKit/gtk/webkit/webkitapplicationcache.cpp b/Source/WebKit/gtk/webkit/webkitapplicationcache.cpp
deleted file mode 100644
index df3635b5d..000000000
--- a/Source/WebKit/gtk/webkit/webkitapplicationcache.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2009 Jan Michael Alonzo <jmalonzo@gmail.com>
- * Copyright (C) 2011 Lukasz Slachciak
- *
- * 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 "webkitapplicationcache.h"
-
-#include "ApplicationCacheStorage.h"
-#include "FileSystem.h"
-#include <wtf/text/CString.h>
-
-// web application cache maximum storage size
-static unsigned long long cacheMaxSize = UINT_MAX;
-
-/**
- * webkit_application_cache_get_maximum_size:
- *
- * Returns the maximum size of the cache storage.
- * By default it is set to UINT_MAX i.e. no quota.
- *
- * Returns: the current application cache maximum storage size
- *
- * Since: 1.3.13
- **/
-unsigned long long webkit_application_cache_get_maximum_size()
-{
- return (cacheMaxSize = WebCore::cacheStorage().maximumSize());
-}
-
-/**
- * webkit_application_cache_set_maximum_size:
- * @size: the new web application cache maximum storage size
- *
- * Sets new application cache maximum storage size.
- * Changing the application cache storage size will clear the cache
- * and rebuild cache storage.
- *
- * Since: 1.3.13
- **/
-void webkit_application_cache_set_maximum_size(unsigned long long size)
-{
- if (size != cacheMaxSize) {
- WebCore::cacheStorage().empty();
- WebCore::cacheStorage().vacuumDatabaseFile();
- WebCore::cacheStorage().setMaximumSize(size);
- cacheMaxSize = size;
- }
-}
-
-/**
- * webkit_application_cache_get_database_directory_path:
- *
- * Returns the path to the directory WebKit will write web application
- * cache databases to. By default this path is set to
- * $XDG_CACHE_HOME/webkitgtk/applications and cannot be modified.
- *
- * Returns: the application cache database directory path
- *
- * Since: 1.3.13
- **/
-const gchar* webkit_application_cache_get_database_directory_path()
-{
- CString path = WebCore::fileSystemRepresentation(WebCore::cacheStorage().cacheDirectory());
- return path.data();
-}
-
diff --git a/Source/WebKit/gtk/webkit/webkitapplicationcache.h b/Source/WebKit/gtk/webkit/webkitapplicationcache.h
deleted file mode 100644
index 4fec1692b..000000000
--- a/Source/WebKit/gtk/webkit/webkitapplicationcache.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2011 Lukasz Slachciak
- *
- * 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,1 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 webkitapplicationcache_h
-#define webkitapplicationcache_h
-
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-WEBKIT_API unsigned long long
-webkit_application_cache_get_maximum_size(void);
-
-WEBKIT_API void
-webkit_application_cache_set_maximum_size(unsigned long long size);
-
-WEBKIT_API const gchar*
-webkit_application_cache_get_database_directory_path(void);
-
-G_END_DECLS
-
-#endif /* webkitapplicationcache_h */
diff --git a/Source/WebKit/gtk/webkit/webkitauthenticationdialog.cpp b/Source/WebKit/gtk/webkit/webkitauthenticationdialog.cpp
deleted file mode 100644
index e26defa70..000000000
--- a/Source/WebKit/gtk/webkit/webkitauthenticationdialog.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2013 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 "webkitauthenticationdialog.h"
-
-static void authenticationDialogResponseCallback(GtkWidget* authDialog, gint responseID, WebKitAuthenticationWidget* authWidget)
-{
- WebCore::AuthenticationChallenge challenge = webkitAuthenticationWidgetGetChallenge(authWidget);
- if (responseID == GTK_RESPONSE_OK) {
- WebCore::Credential credential = webkitAuthenticationWidgetCreateCredential(authWidget);
- challenge.authenticationClient()->receivedCredential(challenge, credential);
- } else
- challenge.authenticationClient()->receivedRequestToContinueWithoutCredential(challenge);
-
- gtk_widget_destroy(authDialog);
-}
-
-GtkWidget* createAuthenticationDialog(GtkWindow* parentWindow, const WebCore::AuthenticationChallenge& challenge, CredentialStorageMode mode)
-{
- GtkDialog* dialog = GTK_DIALOG(gtk_dialog_new());
- gtk_dialog_add_buttons(dialog, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL);
- gtk_dialog_set_default_response(dialog, GTK_RESPONSE_OK);
-
- GtkWidget* contentArea = gtk_dialog_get_content_area(dialog);
- gtk_container_set_border_width(GTK_CONTAINER(dialog), 5);
- gtk_box_set_spacing(GTK_BOX(contentArea), 2); /* 2 * 5 + 2 = 12 */
-
- GtkWidget* authWidget = webkitAuthenticationWidgetNew(challenge, mode);
- gtk_box_pack_start(GTK_BOX(contentArea), authWidget, TRUE, TRUE, 0);
- gtk_widget_show(authWidget);
-
- GtkWidget* actionArea = gtk_dialog_get_action_area(dialog);
- gtk_container_set_border_width(GTK_CONTAINER(actionArea), 5);
- gtk_box_set_spacing(GTK_BOX(actionArea), 6);
-
- GtkWindow* window = GTK_WINDOW(dialog);
- gtk_window_set_resizable(window, FALSE);
- gtk_window_set_title(window, "");
- gtk_window_set_icon_name(window, GTK_STOCK_DIALOG_AUTHENTICATION);
- gtk_window_set_destroy_with_parent (window, TRUE);
- if (parentWindow)
- gtk_window_set_transient_for(window, parentWindow);
-
- g_signal_connect(dialog, "response", G_CALLBACK(authenticationDialogResponseCallback), authWidget);
-
- return GTK_WIDGET(dialog);
-}
diff --git a/Source/WebKit/gtk/webkit/webkitauthenticationdialog.h b/Source/WebKit/gtk/webkit/webkitauthenticationdialog.h
deleted file mode 100644
index 393ac8411..000000000
--- a/Source/WebKit/gtk/webkit/webkitauthenticationdialog.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2013 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 webkitauthenticationdialog_h
-#define webkitauthenticationdialog_h
-
-#include "WebKitAuthenticationWidget.h"
-
-GtkWidget* createAuthenticationDialog(GtkWindow* parentWindow, const WebCore::AuthenticationChallenge&, CredentialStorageMode);
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitdefines.h b/Source/WebKit/gtk/webkit/webkitdefines.h
deleted file mode 100644
index 89099b9b9..000000000
--- a/Source/WebKit/gtk/webkit/webkitdefines.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2007 Holger Hans Peter Freyther
- * Copyright (C) 2008 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.
- */
-
-#ifndef webkitdefines_h
-#define webkitdefines_h
-
-#include <glib.h>
-
-#ifdef G_OS_WIN32
- #ifdef BUILDING_WEBKIT
- #define WEBKIT_API __declspec(dllexport)
- #else
- #define WEBKIT_API __declspec(dllimport)
- #endif
- #define WEBKIT_OBSOLETE_API WEBKIT_API
-#else
- #define WEBKIT_API __attribute__((visibility("default")))
- #define WEBKIT_OBSOLETE_API WEBKIT_API __attribute__((deprecated))
-#endif
-
-#ifndef WEBKIT_API
- #define WEBKIT_API
-#endif
-
-G_BEGIN_DECLS
-
-typedef struct _WebKitIconDatabase WebKitIconDatabase;
-typedef struct _WebKitIconDatabaseClass WebKitIconDatabaseClass;
-
-typedef struct _WebKitNetworkRequest WebKitNetworkRequest;
-typedef struct _WebKitNetworkRequestClass WebKitNetworkRequestClass;
-
-typedef struct _WebKitNetworkResponse WebKitNetworkResponse;
-typedef struct _WebKitNetworkResponseClass WebKitNetworkResponseClass;
-
-typedef struct _WebKitWebBackForwardList WebKitWebBackForwardList;
-typedef struct _WebKitWebBackForwardListClass WebKitWebBackForwardListClass;
-
-typedef struct _WebKitWebHistoryItem WebKitWebHistoryItem;
-typedef struct _WebKitWebHistoryItemClass WebKitWebHistoryItemClass;
-
-typedef struct _WebKitWebFrame WebKitWebFrame;
-typedef struct _WebKitWebFrameClass WebKitWebFrameClass;
-
-typedef struct _WebKitWebPolicyDecision WebKitWebPolicyDecision;
-typedef struct _WebKitWebPolicyDecisionClass WebKitWebPolicyDecisionClass;
-
-typedef struct _WebKitWebSettings WebKitWebSettings;
-typedef struct _WebKitWebSettingsClass WebKitWebSettingsClass;
-
-typedef struct _WebKitWebInspector WebKitWebInspector;
-typedef struct _WebKitWebInspectorClass WebKitWebInspectorClass;
-
-typedef struct _WebKitWebWindowFeatures WebKitWebWindowFeatures;
-typedef struct _WebKitWebWindowFeaturesClass WebKitWebWindowFeaturesClass;
-
-typedef struct _WebKitWebView WebKitWebView;
-typedef struct _WebKitWebViewClass WebKitWebViewClass;
-
-typedef struct _WebKitDownload WebKitDownload;
-typedef struct _WebKitDownloadClass WebKitDownloadClass;
-
-typedef struct _WebKitWebResource WebKitWebResource;
-typedef struct _WebKitWebResourceClass WebKitWebResourceClass;
-
-typedef struct _WebKitWebDataSource WebKitWebDataSource;
-typedef struct _WebKitWebDataSourceClass WebKitWebDataSourceClass;
-
-typedef struct _WebKitWebDatabase WebKitWebDatabase;
-typedef struct _WebKitWebDatabaseClass WebKitWebDatabaseClass;
-
-typedef struct _WebKitSecurityOrigin WebKitSecurityOrigin;
-typedef struct _WebKitSecurityOriginClass WebKitSecurityOriginClass;
-
-typedef struct _WebKitHitTestResult WebKitHitTestResult;
-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;
-
-typedef struct _WebKitSpellChecker WebKitSpellChecker; /* dummy typedef */
-typedef struct _WebKitSpellCheckerInterface WebKitSpellCheckerInterface;
-
-typedef struct _WebKitFaviconDatabase WebKitFaviconDatabase;
-typedef struct _WebKitFaviconDatabaseClass WebKitFaviconDatabaseClass;
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitdownload.cpp b/Source/WebKit/gtk/webkit/webkitdownload.cpp
deleted file mode 100644
index d2d5597a5..000000000
--- a/Source/WebKit/gtk/webkit/webkitdownload.cpp
+++ /dev/null
@@ -1,968 +0,0 @@
-/*
- * Copyright (C) 2008 Collabora Ltd.
- * Copyright (C) 2009 Gustavo Noronha Silva <gns@gnome.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.
- */
-
-#include "config.h"
-#include "webkitdownload.h"
-
-#include "ErrorsGtk.h"
-#include "NotImplemented.h"
-#include "ResourceHandleClient.h"
-#include "ResourceHandleInternal.h"
-#include "ResourceRequest.h"
-#include "ResourceResponse.h"
-#include "webkitdownloadprivate.h"
-#include "webkitenumtypes.h"
-#include "webkitglobals.h"
-#include "webkitglobalsprivate.h"
-#include "webkitmarshal.h"
-#include "webkitnetworkrequestprivate.h"
-#include "webkitnetworkresponse.h"
-#include "webkitnetworkresponseprivate.h"
-#include <glib/gi18n-lib.h>
-#include <glib/gstdio.h>
-#include <wtf/Noncopyable.h>
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/gobject/GRefPtr.h>
-#include <wtf/text/CString.h>
-
-#ifdef ERROR
-#undef ERROR
-#endif
-
-using namespace WebKit;
-using namespace WebCore;
-
-/**
- * SECTION:webkitdownload
- * @short_description: Object used to communicate with the application when downloading.
- *
- * #WebKitDownload carries information about a download request,
- * including a #WebKitNetworkRequest object. The application may use
- * this object to control the download process, or to simply figure
- * out what is to be downloaded, and do it itself.
- */
-
-class DownloadClient : public ResourceHandleClient {
- WTF_MAKE_NONCOPYABLE(DownloadClient);
- public:
- DownloadClient(WebKitDownload*);
-
- virtual void didReceiveResponse(ResourceHandle*, const ResourceResponse&);
- virtual void didReceiveData(ResourceHandle*, const char*, int, int);
- virtual void didFinishLoading(ResourceHandle*, double);
- virtual void didFail(ResourceHandle*, const ResourceError&);
- virtual void wasBlocked(ResourceHandle*);
- virtual void cannotShowURL(ResourceHandle*);
-
- private:
- WebKitDownload* m_download;
-};
-
-struct _WebKitDownloadPrivate {
- gchar* destinationURI;
- gchar* suggestedFilename;
- guint64 currentSize;
- GTimer* timer;
- WebKitDownloadStatus status;
- GFileOutputStream* outputStream;
- DownloadClient* downloadClient;
- WebKitNetworkRequest* networkRequest;
- WebKitNetworkResponse* networkResponse;
- RefPtr<ResourceHandle> resourceHandle;
-};
-
-enum {
- // Normal signals.
- ERROR,
- LAST_SIGNAL
-};
-
-static guint webkit_download_signals[LAST_SIGNAL] = { 0 };
-
-enum {
- PROP_0,
-
- PROP_NETWORK_REQUEST,
- PROP_DESTINATION_URI,
- PROP_SUGGESTED_FILENAME,
- PROP_PROGRESS,
- PROP_STATUS,
- PROP_CURRENT_SIZE,
- PROP_TOTAL_SIZE,
- PROP_NETWORK_RESPONSE
-};
-
-G_DEFINE_TYPE(WebKitDownload, webkit_download, G_TYPE_OBJECT);
-
-
-static void webkit_download_set_response(WebKitDownload* download, const ResourceResponse& response);
-static void webkit_download_set_status(WebKitDownload* download, WebKitDownloadStatus status);
-
-static void webkit_download_dispose(GObject* object)
-{
- WebKitDownload* download = WEBKIT_DOWNLOAD(object);
- WebKitDownloadPrivate* priv = download->priv;
-
- if (priv->outputStream) {
- g_object_unref(priv->outputStream);
- priv->outputStream = NULL;
- }
-
- if (priv->networkRequest) {
- g_object_unref(priv->networkRequest);
- priv->networkRequest = NULL;
- }
-
- if (priv->networkResponse) {
- g_object_unref(priv->networkResponse);
- priv->networkResponse = NULL;
- }
-
- G_OBJECT_CLASS(webkit_download_parent_class)->dispose(object);
-}
-
-static void webkit_download_finalize(GObject* object)
-{
- WebKitDownload* download = WEBKIT_DOWNLOAD(object);
- WebKitDownloadPrivate* priv = download->priv;
-
- // We don't call webkit_download_cancel() because we don't want to emit
- // signals when finalizing an object.
- if (priv->resourceHandle) {
- if (priv->status == WEBKIT_DOWNLOAD_STATUS_STARTED) {
- priv->resourceHandle->setClient(0);
- priv->resourceHandle->cancel();
- }
- priv->resourceHandle.release();
- }
-
- delete priv->downloadClient;
-
- // The download object may never have _start called on it, so we
- // need to make sure timer is non-NULL.
- if (priv->timer) {
- g_timer_destroy(priv->timer);
- priv->timer = NULL;
- }
-
- g_free(priv->destinationURI);
- g_free(priv->suggestedFilename);
-
- G_OBJECT_CLASS(webkit_download_parent_class)->finalize(object);
-}
-
-static void webkit_download_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec)
-{
- WebKitDownload* download = WEBKIT_DOWNLOAD(object);
-
- switch(prop_id) {
- case PROP_NETWORK_REQUEST:
- g_value_set_object(value, webkit_download_get_network_request(download));
- break;
- case PROP_NETWORK_RESPONSE:
- g_value_set_object(value, webkit_download_get_network_response(download));
- break;
- case PROP_DESTINATION_URI:
- g_value_set_string(value, webkit_download_get_destination_uri(download));
- break;
- case PROP_SUGGESTED_FILENAME:
- g_value_set_string(value, webkit_download_get_suggested_filename(download));
- break;
- case PROP_PROGRESS:
- g_value_set_double(value, webkit_download_get_progress(download));
- break;
- case PROP_STATUS:
- g_value_set_enum(value, webkit_download_get_status(download));
- break;
- case PROP_CURRENT_SIZE:
- g_value_set_uint64(value, webkit_download_get_current_size(download));
- break;
- case PROP_TOTAL_SIZE:
- g_value_set_uint64(value, webkit_download_get_total_size(download));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- }
-}
-
-static void webkit_download_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec *pspec)
-{
- WebKitDownload* download = WEBKIT_DOWNLOAD(object);
- WebKitDownloadPrivate* priv = download->priv;
-
- switch(prop_id) {
- case PROP_NETWORK_REQUEST:
- priv->networkRequest = WEBKIT_NETWORK_REQUEST(g_value_dup_object(value));
- break;
- case PROP_NETWORK_RESPONSE:
- priv->networkResponse = WEBKIT_NETWORK_RESPONSE(g_value_dup_object(value));
- break;
- case PROP_DESTINATION_URI:
- webkit_download_set_destination_uri(download, g_value_get_string(value));
- break;
- case PROP_STATUS:
- webkit_download_set_status(download, static_cast<WebKitDownloadStatus>(g_value_get_enum(value)));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- }
-}
-
-static void webkit_download_class_init(WebKitDownloadClass* downloadClass)
-{
- GObjectClass* objectClass = G_OBJECT_CLASS(downloadClass);
- objectClass->dispose = webkit_download_dispose;
- objectClass->finalize = webkit_download_finalize;
- objectClass->get_property = webkit_download_get_property;
- objectClass->set_property = webkit_download_set_property;
-
- webkitInit();
-
- /**
- * WebKitDownload::error:
- * @download: the object on which the signal is emitted
- * @error_code: the corresponding error code
- * @error_detail: detailed error code for the error, see
- * #WebKitDownloadError
- * @reason: a string describing the error
- *
- * Emitted when @download is interrupted either by user action or by
- * network errors, @error_detail will take any value of
- * #WebKitDownloadError.
- *
- * Since: 1.1.2
- */
- webkit_download_signals[ERROR] = g_signal_new("error",
- G_TYPE_FROM_CLASS(downloadClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__INT_INT_STRING,
- G_TYPE_BOOLEAN, 3,
- G_TYPE_INT,
- G_TYPE_INT,
- G_TYPE_STRING);
-
- // Properties.
-
- /**
- * WebKitDownload:network-request:
- *
- * The #WebKitNetworkRequest instance associated with the download.
- *
- * Since: 1.1.2
- */
- g_object_class_install_property(objectClass,
- PROP_NETWORK_REQUEST,
- g_param_spec_object("network-request",
- _("Network Request"),
- _("The network request for the URI that should be downloaded"),
- WEBKIT_TYPE_NETWORK_REQUEST,
- (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
-
- /**
- * WebKitDownload:network-response:
- *
- * The #WebKitNetworkResponse instance associated with the download.
- *
- * Since: 1.1.16
- */
- g_object_class_install_property(objectClass,
- PROP_NETWORK_RESPONSE,
- g_param_spec_object("network-response",
- _("Network Response"),
- _("The network response for the URI that should be downloaded"),
- WEBKIT_TYPE_NETWORK_RESPONSE,
- (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
-
- /**
- * WebKitDownload:destination-uri:
- *
- * The URI of the save location for this download.
- *
- * Since: 1.1.2
- */
- g_object_class_install_property(objectClass,
- PROP_DESTINATION_URI,
- g_param_spec_string("destination-uri",
- _("Destination URI"),
- _("The destination URI where to save the file"),
- "",
- WEBKIT_PARAM_READWRITE));
-
- /**
- * WebKitDownload:suggested-filename:
- *
- * The file name suggested as default when saving
- *
- * Since: 1.1.2
- */
- g_object_class_install_property(objectClass,
- PROP_SUGGESTED_FILENAME,
- g_param_spec_string("suggested-filename",
- _("Suggested Filename"),
- _("The filename suggested as default when saving"),
- "",
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitDownload:progress:
- *
- * Determines the current progress of the download. Notice that,
- * although the progress changes are reported as soon as possible,
- * the emission of the notify signal for this property is
- * throttled, for the benefit of download managers. If you care
- * about every update, use WebKitDownload:current-size.
- *
- * Since: 1.1.2
- */
- g_object_class_install_property(objectClass, PROP_PROGRESS,
- g_param_spec_double("progress",
- _("Progress"),
- _("Determines the current progress of the download"),
- 0.0, 1.0, 1.0,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitDownload:status:
- *
- * Determines the current status of the download.
- *
- * Since: 1.1.2
- */
- g_object_class_install_property(objectClass, PROP_STATUS,
- g_param_spec_enum("status",
- _("Status"),
- _("Determines the current status of the download"),
- WEBKIT_TYPE_DOWNLOAD_STATUS,
- WEBKIT_DOWNLOAD_STATUS_CREATED,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitDownload:current-size:
- *
- * The length of the data already downloaded
- *
- * Since: 1.1.2
- */
- g_object_class_install_property(objectClass,
- PROP_CURRENT_SIZE,
- g_param_spec_uint64("current-size",
- _("Current Size"),
- _("The length of the data already downloaded"),
- 0, G_MAXUINT64, 0,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitDownload:total-size:
- *
- * The total size of the file
- *
- * Since: 1.1.2
- */
- g_object_class_install_property(objectClass,
- PROP_CURRENT_SIZE,
- g_param_spec_uint64("total-size",
- _("Total Size"),
- _("The total size of the file"),
- 0, G_MAXUINT64, 0,
- WEBKIT_PARAM_READABLE));
-
- g_type_class_add_private(downloadClass, sizeof(WebKitDownloadPrivate));
-}
-
-static void webkit_download_init(WebKitDownload* download)
-{
- WebKitDownloadPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(download, WEBKIT_TYPE_DOWNLOAD, WebKitDownloadPrivate);
- download->priv = priv;
-
- priv->downloadClient = new DownloadClient(download);
- priv->currentSize = 0;
- priv->status = WEBKIT_DOWNLOAD_STATUS_CREATED;
-}
-
-/**
- * webkit_download_new:
- * @request: a #WebKitNetworkRequest
- *
- * Creates a new #WebKitDownload object for the given
- * #WebKitNetworkRequest object.
- *
- * Returns: the new #WebKitDownload
- *
- * Since: 1.1.2
- */
-WebKitDownload* webkit_download_new(WebKitNetworkRequest* request)
-{
- g_return_val_if_fail(request, NULL);
-
- return WEBKIT_DOWNLOAD(g_object_new(WEBKIT_TYPE_DOWNLOAD, "network-request", request, NULL));
-}
-
-// Internal usage only
-WebKitDownload* webkit_download_new_with_handle(WebKitNetworkRequest* request, WebCore::ResourceHandle* handle, const WebCore::ResourceResponse& response)
-{
- g_return_val_if_fail(request, NULL);
-
- WebKitDownload* download = WEBKIT_DOWNLOAD(g_object_new(WEBKIT_TYPE_DOWNLOAD, "network-request", request, NULL));
- WebKitDownloadPrivate* priv = download->priv;
-
- handle->ref();
- handle->setDefersLoading(true);
- priv->resourceHandle = handle;
-
- webkit_download_set_response(download, response);
-
- return download;
-}
-
-static void webkitDownloadEmitError(WebKitDownload* download, const ResourceError& error)
-{
- WebKitDownloadError errorCode;
- switch (error.errorCode()) {
- case DownloadErrorNetwork:
- errorCode = WEBKIT_DOWNLOAD_ERROR_NETWORK;
- break;
- case DownloadErrorCancelledByUser:
- errorCode = WEBKIT_DOWNLOAD_ERROR_CANCELLED_BY_USER;
- break;
- case DownloadErrorDestination:
- errorCode = WEBKIT_DOWNLOAD_ERROR_DESTINATION;
- break;
- default:
- g_assert_not_reached();
- }
-
- gboolean handled;
- g_signal_emit_by_name(download, "error", 0, errorCode, error.localizedDescription().utf8().data(), &handled);
-}
-
-static gboolean webkit_download_open_stream_for_uri(WebKitDownload* download, const gchar* uri, gboolean append=FALSE)
-{
- g_return_val_if_fail(uri, FALSE);
-
- WebKitDownloadPrivate* priv = download->priv;
- GRefPtr<GFile> file = adoptGRef(g_file_new_for_uri(uri));
- GOwnPtr<GError> error;
-
- if (append)
- priv->outputStream = g_file_append_to(file.get(), G_FILE_CREATE_NONE, NULL, &error.outPtr());
- else
- priv->outputStream = g_file_replace(file.get(), NULL, TRUE, G_FILE_CREATE_NONE, NULL, &error.outPtr());
-
- if (error) {
- webkitDownloadEmitError(download, downloadDestinationError(core(priv->networkResponse), error->message));
- return FALSE;
- }
-
- GRefPtr<GFileInfo> info = adoptGRef(g_file_info_new());
- g_file_info_set_attribute_string(info.get(), "metadata::download-uri", webkit_download_get_uri(download));
- g_file_set_attributes_async(file.get(), info.get(), G_FILE_QUERY_INFO_NONE, G_PRIORITY_DEFAULT, 0, 0, 0);
-
- return TRUE;
-}
-
-static void webkit_download_close_stream(WebKitDownload* download)
-{
- WebKitDownloadPrivate* priv = download->priv;
- if (priv->outputStream) {
- g_object_unref(priv->outputStream);
- priv->outputStream = NULL;
- }
-}
-
-/**
- * webkit_download_start:
- * @download: the #WebKitDownload
- *
- * Initiates the download. Notice that you must have set the
- * destination-uri property before calling this method.
- *
- * Since: 1.1.2
- */
-void webkit_download_start(WebKitDownload* download)
-{
- g_return_if_fail(WEBKIT_IS_DOWNLOAD(download));
-
- WebKitDownloadPrivate* priv = download->priv;
- g_return_if_fail(priv->destinationURI);
- g_return_if_fail(priv->status == WEBKIT_DOWNLOAD_STATUS_CREATED);
- g_return_if_fail(priv->timer == NULL);
-
- // For GTK, when downloading a file NetworkingContext is null
- if (!priv->resourceHandle)
- priv->resourceHandle = ResourceHandle::create(/* Null NetworkingContext */ NULL, core(priv->networkRequest), priv->downloadClient, false, false);
- else {
- priv->resourceHandle->setClient(priv->downloadClient);
- priv->resourceHandle->setDefersLoading(false);
- }
-
- priv->timer = g_timer_new();
- webkit_download_open_stream_for_uri(download, priv->destinationURI);
-}
-
-/**
- * webkit_download_cancel:
- * @download: the #WebKitDownload
- *
- * Cancels the download. Calling this will not free the
- * #WebKitDownload object, so you still need to call
- * g_object_unref() on it, if you are the owner of a reference. Notice
- * that cancelling the download provokes the emission of the
- * WebKitDownload::error signal, reporting that the download was
- * cancelled.
- *
- * Since: 1.1.2
- */
-void webkit_download_cancel(WebKitDownload* download)
-{
- g_return_if_fail(WEBKIT_IS_DOWNLOAD(download));
-
- WebKitDownloadPrivate* priv = download->priv;
-
- // Cancel may be called even if start was not called, so we need
- // to make sure timer is non-NULL.
- if (priv->timer)
- g_timer_stop(priv->timer);
-
- if (priv->resourceHandle)
- priv->resourceHandle->cancel();
-
- webkit_download_set_status(download, WEBKIT_DOWNLOAD_STATUS_CANCELLED);
- webkitDownloadEmitError(download, downloadCancelledByUserError(core(priv->networkResponse)));
-}
-
-/**
- * webkit_download_get_uri:
- * @download: the #WebKitDownload
- *
- * Convenience method to retrieve the URI from the
- * #WebKitNetworkRequest which is being downloaded.
- *
- * Returns: the URI
- *
- * Since: 1.1.2
- */
-const gchar* webkit_download_get_uri(WebKitDownload* download)
-{
- g_return_val_if_fail(WEBKIT_IS_DOWNLOAD(download), NULL);
-
- WebKitDownloadPrivate* priv = download->priv;
- return webkit_network_request_get_uri(priv->networkRequest);
-}
-
-/**
- * webkit_download_get_network_request:
- * @download: the #WebKitDownload
- *
- * Retrieves the #WebKitNetworkRequest object that backs the download
- * process.
- *
- * Returns: (transfer none): the #WebKitNetworkRequest instance
- *
- * Since: 1.1.2
- */
-WebKitNetworkRequest* webkit_download_get_network_request(WebKitDownload* download)
-{
- g_return_val_if_fail(WEBKIT_IS_DOWNLOAD(download), NULL);
-
- WebKitDownloadPrivate* priv = download->priv;
- return priv->networkRequest;
-}
-
-/**
- * webkit_download_get_network_response:
- * @download: the #WebKitDownload
- *
- * Retrieves the #WebKitNetworkResponse object that backs the download
- * process.
- *
- * Returns: (transfer none): the #WebKitNetworkResponse instance
- *
- * Since: 1.1.16
- */
-WebKitNetworkResponse* webkit_download_get_network_response(WebKitDownload* download)
-{
- g_return_val_if_fail(WEBKIT_IS_DOWNLOAD(download), NULL);
-
- WebKitDownloadPrivate* priv = download->priv;
- return priv->networkResponse;
-}
-
-static void webkit_download_set_response(WebKitDownload* download, const ResourceResponse& response)
-{
- WebKitDownloadPrivate* priv = download->priv;
- priv->networkResponse = kitNew(response);
-
- if (!response.isNull() && !response.suggestedFilename().isEmpty())
- webkit_download_set_suggested_filename(download, response.suggestedFilename().utf8().data());
-}
-
-/**
- * webkit_download_get_suggested_filename:
- * @download: the #WebKitDownload
- *
- * Retrieves the filename that was suggested by the server, or the one
- * derived by WebKit from the URI.
- *
- * Returns: the suggested filename
- *
- * Since: 1.1.2
- */
-const gchar* webkit_download_get_suggested_filename(WebKitDownload* download)
-{
- g_return_val_if_fail(WEBKIT_IS_DOWNLOAD(download), NULL);
-
- WebKitDownloadPrivate* priv = download->priv;
- if (priv->suggestedFilename)
- return priv->suggestedFilename;
-
- KURL url = KURL(KURL(), webkit_network_request_get_uri(priv->networkRequest));
- url.setQuery(String());
- url.removeFragmentIdentifier();
- priv->suggestedFilename = g_strdup(decodeURLEscapeSequences(url.lastPathComponent()).utf8().data());
- return priv->suggestedFilename;
-}
-
-// for internal use only
-void webkit_download_set_suggested_filename(WebKitDownload* download, const gchar* suggestedFilename)
-{
- WebKitDownloadPrivate* priv = download->priv;
- g_free(priv->suggestedFilename);
- priv->suggestedFilename = g_strdup(suggestedFilename);
-
- g_object_notify(G_OBJECT(download), "suggested-filename");
-}
-
-
-/**
- * webkit_download_get_destination_uri:
- * @download: the #WebKitDownload
- *
- * Obtains the URI to which the downloaded file will be written. This
- * must have been set by the application before calling
- * webkit_download_start(), and may be %NULL.
- *
- * Returns: the destination URI or %NULL
- *
- * Since: 1.1.2
- */
-const gchar* webkit_download_get_destination_uri(WebKitDownload* download)
-{
- g_return_val_if_fail(WEBKIT_IS_DOWNLOAD(download), NULL);
-
- WebKitDownloadPrivate* priv = download->priv;
- return priv->destinationURI;
-}
-
-/**
- * webkit_download_set_destination_uri:
- * @download: the #WebKitDownload
- * @destination_uri: the destination URI
- *
- * Defines the URI that should be used to save the downloaded file to.
- *
- * Since: 1.1.2
- */
-void webkit_download_set_destination_uri(WebKitDownload* download, const gchar* destination_uri)
-{
- g_return_if_fail(WEBKIT_IS_DOWNLOAD(download));
- g_return_if_fail(destination_uri);
-
- WebKitDownloadPrivate* priv = download->priv;
- if (priv->destinationURI && !strcmp(priv->destinationURI, destination_uri))
- return;
-
- if (priv->status != WEBKIT_DOWNLOAD_STATUS_CREATED && priv->status != WEBKIT_DOWNLOAD_STATUS_CANCELLED) {
- ASSERT(priv->destinationURI);
-
- gboolean downloading = priv->outputStream != NULL;
- if (downloading)
- webkit_download_close_stream(download);
-
- GRefPtr<GFile> src = adoptGRef(g_file_new_for_uri(priv->destinationURI));
- GRefPtr<GFile> dest = adoptGRef(g_file_new_for_uri(destination_uri));
- GOwnPtr<GError> error;
-
- g_file_move(src.get(), dest.get(), G_FILE_COPY_BACKUP, 0, 0, 0, &error.outPtr());
-
- g_free(priv->destinationURI);
- priv->destinationURI = g_strdup(destination_uri);
-
- if (error) {
- webkitDownloadEmitError(download, downloadDestinationError(core(priv->networkResponse), error->message));
- return;
- }
-
- if (downloading) {
- if (!webkit_download_open_stream_for_uri(download, destination_uri, TRUE)) {
- webkit_download_cancel(download);
- return;
- }
- }
- } else {
- g_free(priv->destinationURI);
- priv->destinationURI = g_strdup(destination_uri);
- }
-
- // Only notify change if everything went fine.
- g_object_notify(G_OBJECT(download), "destination-uri");
-}
-
-/**
- * webkit_download_get_status:
- * @download: the #WebKitDownload
- *
- * Obtains the current status of the download, as a
- * #WebKitDownloadStatus.
- *
- * Returns: the current #WebKitDownloadStatus
- *
- * Since: 1.1.2
- */
-WebKitDownloadStatus webkit_download_get_status(WebKitDownload* download)
-{
- g_return_val_if_fail(WEBKIT_IS_DOWNLOAD(download), WEBKIT_DOWNLOAD_STATUS_ERROR);
-
- WebKitDownloadPrivate* priv = download->priv;
- return priv->status;
-}
-
-static void webkit_download_set_status(WebKitDownload* download, WebKitDownloadStatus status)
-{
- g_return_if_fail(WEBKIT_IS_DOWNLOAD(download));
-
- WebKitDownloadPrivate* priv = download->priv;
- priv->status = status;
-
- g_object_notify(G_OBJECT(download), "status");
-}
-
-/**
- * webkit_download_get_total_size:
- * @download: the #WebKitDownload
- *
- * Returns the expected total size of the download. This is expected
- * because the server may provide incorrect or missing
- * Content-Length. Notice that this may grow over time, as it will be
- * always the same as current_size in the cases where current size
- * surpasses it.
- *
- * Returns: the expected total size of the downloaded file
- *
- * Since: 1.1.2
- */
-guint64 webkit_download_get_total_size(WebKitDownload* download)
-{
- g_return_val_if_fail(WEBKIT_IS_DOWNLOAD(download), 0);
-
- WebKitDownloadPrivate* priv = download->priv;
- SoupMessage* message = priv->networkResponse ? webkit_network_response_get_message(priv->networkResponse) : NULL;
-
- if (!message)
- return 0;
-
- return MAX(priv->currentSize, static_cast<guint64>(soup_message_headers_get_content_length(message->response_headers)));
-}
-
-/**
- * webkit_download_get_current_size:
- * @download: the #WebKitDownload
- *
- * Current already downloaded size.
- *
- * Returns: the already downloaded size
- *
- * Since: 1.1.2
- */
-guint64 webkit_download_get_current_size(WebKitDownload* download)
-{
- g_return_val_if_fail(WEBKIT_IS_DOWNLOAD(download), 0);
-
- WebKitDownloadPrivate* priv = download->priv;
- return priv->currentSize;
-}
-
-/**
- * webkit_download_get_progress:
- * @download: a #WebKitDownload
- *
- * Determines the current progress of the download.
- *
- * Returns: a #gdouble ranging from 0.0 to 1.0.
- *
- * Since: 1.1.2
- */
-gdouble webkit_download_get_progress(WebKitDownload* download)
-{
- g_return_val_if_fail(WEBKIT_IS_DOWNLOAD(download), 1.0);
-
- WebKitDownloadPrivate* priv = download->priv;
- if (!priv->networkResponse)
- return 0.0;
-
- gdouble total_size = static_cast<gdouble>(webkit_download_get_total_size(download));
-
- if (total_size == 0)
- return 1.0;
-
- return ((gdouble)priv->currentSize) / total_size;
-}
-
-/**
- * webkit_download_get_elapsed_time:
- * @download: a #WebKitDownload
- *
- * Elapsed time for the download in seconds, including any fractional
- * part. If the download is finished, had an error or was cancelled
- * this is the time between its start and the event.
- *
- * Returns: seconds since the download was started, as a #gdouble
- *
- * Since: 1.1.2
- */
-gdouble webkit_download_get_elapsed_time(WebKitDownload* download)
-{
- g_return_val_if_fail(WEBKIT_IS_DOWNLOAD(download), 0.0);
-
- WebKitDownloadPrivate* priv = download->priv;
- if (!priv->timer)
- return 0;
-
- return g_timer_elapsed(priv->timer, NULL);
-}
-
-static void webkit_download_received_data(WebKitDownload* download, const gchar* data, int length)
-{
- WebKitDownloadPrivate* priv = download->priv;
-
- if (priv->currentSize == 0)
- webkit_download_set_status(download, WEBKIT_DOWNLOAD_STATUS_STARTED);
-
- ASSERT(priv->outputStream);
-
- gsize bytes_written;
- GOwnPtr<GError> error;
-
- g_output_stream_write_all(G_OUTPUT_STREAM(priv->outputStream),
- data, length, &bytes_written, NULL, &error.outPtr());
-
- if (error) {
- webkitDownloadEmitError(download, downloadDestinationError(core(priv->networkResponse), error->message));
- return;
- }
-
- priv->currentSize += length;
- g_object_notify(G_OBJECT(download), "current-size");
-
- ASSERT(priv->networkResponse);
- if (priv->currentSize > webkit_download_get_total_size(download))
- g_object_notify(G_OBJECT(download), "total-size");
-
- // Throttle progress notification to not consume high amounts of
- // CPU on fast links, except when the last notification occured
- // in more then 0.7 secs from now, or the last notified progress
- // is passed in 1% or we reached the end.
- static gdouble lastProgress = 0;
- static gdouble lastElapsed = 0;
- gdouble currentElapsed = g_timer_elapsed(priv->timer, NULL);
- gdouble currentProgress = webkit_download_get_progress(download);
-
- if (lastElapsed
- && lastProgress
- && (currentElapsed - lastElapsed) < 0.7
- && (currentProgress - lastProgress) < 0.01
- && currentProgress < 1.0) {
- return;
- }
- lastElapsed = currentElapsed;
- lastProgress = currentProgress;
-
- g_object_notify(G_OBJECT(download), "progress");
-}
-
-static void webkit_download_finished_loading(WebKitDownload* download)
-{
- webkit_download_close_stream(download);
-
- WebKitDownloadPrivate* priv = download->priv;
-
- g_timer_stop(priv->timer);
-
- g_object_notify(G_OBJECT(download), "progress");
- webkit_download_set_status(download, WEBKIT_DOWNLOAD_STATUS_FINISHED);
-}
-
-static void webkit_download_error(WebKitDownload* download, const ResourceError& error)
-{
- webkit_download_close_stream(download);
-
- WebKitDownloadPrivate* priv = download->priv;
- GRefPtr<WebKitDownload> protect(download);
-
- g_timer_stop(priv->timer);
- webkit_download_set_status(download, WEBKIT_DOWNLOAD_STATUS_ERROR);
- webkitDownloadEmitError(download, downloadNetworkError(error));
-}
-
-DownloadClient::DownloadClient(WebKitDownload* download)
- : m_download(download)
-{
-}
-
-void DownloadClient::didReceiveResponse(ResourceHandle*, const ResourceResponse& response)
-{
- webkit_download_set_response(m_download, response);
- if (response.httpStatusCode() >= 400) {
- m_download->priv->resourceHandle->cancel();
- webkit_download_error(m_download, ResourceError(errorDomainDownload, response.httpStatusCode(),
- response.url().string(), response.httpStatusText()));
- }
-}
-
-void DownloadClient::didReceiveData(ResourceHandle*, const char* data, int length, int encodedDataLength)
-{
- webkit_download_received_data(m_download, data, length);
-}
-
-void DownloadClient::didFinishLoading(ResourceHandle*, double)
-{
- webkit_download_finished_loading(m_download);
-}
-
-void DownloadClient::didFail(ResourceHandle*, const ResourceError& error)
-{
- webkit_download_error(m_download, error);
-}
-
-void DownloadClient::wasBlocked(ResourceHandle*)
-{
- // FIXME: Implement this when we have the new frame loader signals
- // and error handling.
- notImplemented();
-}
-
-void DownloadClient::cannotShowURL(ResourceHandle*)
-{
- // FIXME: Implement this when we have the new frame loader signals
- // and error handling.
- notImplemented();
-}
diff --git a/Source/WebKit/gtk/webkit/webkitdownload.h b/Source/WebKit/gtk/webkit/webkitdownload.h
deleted file mode 100644
index 820e08335..000000000
--- a/Source/WebKit/gtk/webkit/webkitdownload.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (C) 2008 Collabora Ltd.
- * Copyright (C) 2009 Gustavo Noronha Silva <gns@gnome.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 webkitdownload_h
-#define webkitdownload_h
-
-#include <webkit/webkitdefines.h>
-
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_DOWNLOAD (webkit_download_get_type())
-#define WEBKIT_DOWNLOAD(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_DOWNLOAD, WebKitDownload))
-#define WEBKIT_DOWNLOAD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_DOWNLOAD, WebKitDownloadClass))
-#define WEBKIT_IS_DOWNLOAD(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_DOWNLOAD))
-#define WEBKIT_IS_DOWNLOAD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_DOWNLOAD))
-#define WEBKIT_DOWNLOAD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOWNLOAD, WebKitDownloadClass))
-
-/**
- * WebKitDownloadStatus:
- * @WEBKIT_DOWNLOAD_STATUS_ERROR: The download failed because of an error other than user cancellation.
- * @WEBKIT_DOWNLOAD_STATUS_CREATED: The download has not started yet.
- * @WEBKIT_DOWNLOAD_STATUS_STARTED: The download has started, but has not completed yet.
- * @WEBKIT_DOWNLOAD_STATUS_CANCELLED: The user canceled the download.
- * @WEBKIT_DOWNLOAD_STATUS_FINISHED: The download completed successfully.
- *
- * Enum values used to denote the various states of a download.
- **/
-typedef enum {
- WEBKIT_DOWNLOAD_STATUS_ERROR = -1,
- WEBKIT_DOWNLOAD_STATUS_CREATED = 0,
- WEBKIT_DOWNLOAD_STATUS_STARTED,
- WEBKIT_DOWNLOAD_STATUS_CANCELLED,
- WEBKIT_DOWNLOAD_STATUS_FINISHED
-} WebKitDownloadStatus;
-
-/**
- * WebKitDownloadError:
- * @WEBKIT_DOWNLOAD_ERROR_CANCELLED_BY_USER: The download failed due to user cancellation.
- * @WEBKIT_DOWNLOAD_ERROR_DESTINATION: The download failed due to disk write failure.
- * @WEBKIT_DOWNLOAD_ERROR_NETWORK: The download failed due to a network error.
- *
- * Enum values used to denote the various download errors.
- **/
-typedef enum {
- WEBKIT_DOWNLOAD_ERROR_CANCELLED_BY_USER,
- WEBKIT_DOWNLOAD_ERROR_DESTINATION,
- WEBKIT_DOWNLOAD_ERROR_NETWORK
-} WebKitDownloadError;
-
-typedef struct _WebKitDownloadPrivate WebKitDownloadPrivate;
-
-struct _WebKitDownload {
- GObject parent_instance;
-
- WebKitDownloadPrivate *priv;
-};
-
-struct _WebKitDownloadClass {
- 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_download_get_type (void);
-
-WEBKIT_API WebKitDownload*
-webkit_download_new (WebKitNetworkRequest *request);
-
-WEBKIT_API void
-webkit_download_start (WebKitDownload *download);
-
-WEBKIT_API void
-webkit_download_cancel (WebKitDownload *download);
-
-WEBKIT_API const gchar*
-webkit_download_get_uri (WebKitDownload *download);
-
-WEBKIT_API WebKitNetworkRequest*
-webkit_download_get_network_request (WebKitDownload *download);
-
-WEBKIT_API WebKitNetworkResponse*
-webkit_download_get_network_response (WebKitDownload *download);
-
-WEBKIT_API const gchar*
-webkit_download_get_suggested_filename (WebKitDownload *download);
-
-WEBKIT_API const gchar*
-webkit_download_get_destination_uri (WebKitDownload *download);
-
-WEBKIT_API void
-webkit_download_set_destination_uri (WebKitDownload *download,
- const gchar *destination_uri);
-
-WEBKIT_API gdouble
-webkit_download_get_progress (WebKitDownload *download);
-
-WEBKIT_API gdouble
-webkit_download_get_elapsed_time (WebKitDownload *download);
-
-WEBKIT_API guint64
-webkit_download_get_total_size (WebKitDownload *download);
-
-WEBKIT_API guint64
-webkit_download_get_current_size (WebKitDownload *download);
-
-WEBKIT_API WebKitDownloadStatus
-webkit_download_get_status (WebKitDownload *download);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitdownloadprivate.h b/Source/WebKit/gtk/webkit/webkitdownloadprivate.h
deleted file mode 100644
index 13cc2a49e..000000000
--- a/Source/WebKit/gtk/webkit/webkitdownloadprivate.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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/Source/WebKit/gtk/webkit/webkiterror.cpp b/Source/WebKit/gtk/webkit/webkiterror.cpp
deleted file mode 100644
index 9e2afd346..000000000
--- a/Source/WebKit/gtk/webkit/webkiterror.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2008 Luca Bruno <lethalman88@gmail.com>
- *
- * 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 "webkiterror.h"
-
-#include "ErrorsGtk.h"
-
-GQuark webkit_network_error_quark(void)
-{
- return g_quark_from_static_string(WebCore::errorDomainNetwork);
-}
-
-GQuark webkit_policy_error_quark(void)
-{
- return g_quark_from_static_string(WebCore::errorDomainPolicy);
-}
-
-GQuark webkit_plugin_error_quark(void)
-{
- return g_quark_from_static_string(WebCore::errorDomainPlugin);
-}
diff --git a/Source/WebKit/gtk/webkit/webkiterror.h b/Source/WebKit/gtk/webkit/webkiterror.h
deleted file mode 100644
index 48fc2c31c..000000000
--- a/Source/WebKit/gtk/webkit/webkiterror.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (C) 2008 Luca Bruno <lethalman88@gmail.com>
- *
- * 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 webkiterror_h
-#define webkiterror_h
-
-#include <glib.h>
-
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_NETWORK_ERROR webkit_network_error_quark ()
-#define WEBKIT_POLICY_ERROR webkit_policy_error_quark ()
-#define WEBKIT_PLUGIN_ERROR webkit_plugin_error_quark ()
-
-/* The enum values are synchronized with Mac's WebKit error values. */
-
-/**
- * WebKitNetworkError:
- * @WEBKIT_NETWORK_ERROR_FAILED: Generic load failure
- * @WEBKIT_NETWORK_ERROR_TRANSPORT: Load failure due to transport error
- * @WEBKIT_NETWORK_ERROR_UNKNOWN_PROTOCOL: Load failure due to unknown protocol
- * @WEBKIT_NETWORK_ERROR_CANCELLED: Load failure due to cancellation
- * @WEBKIT_NETWORK_ERROR_FILE_DOES_NOT_EXIST: Load failure due to missing file
- *
- * Enum values used to denote the various network errors.
- **/
-typedef enum {
- WEBKIT_NETWORK_ERROR_FAILED = 399,
- WEBKIT_NETWORK_ERROR_TRANSPORT = 300,
- WEBKIT_NETWORK_ERROR_UNKNOWN_PROTOCOL = 301,
- WEBKIT_NETWORK_ERROR_CANCELLED = 302,
- WEBKIT_NETWORK_ERROR_FILE_DOES_NOT_EXIST = 303,
-} WebKitNetworkError;
-
-/**
- * WebKitPolicyError:
- * @WEBKIT_POLICY_ERROR_FAILED: Generic load failure due to policy error
- * @WEBKIT_POLICY_ERROR_CANNOT_SHOW_MIME_TYPE: Load failure due to unsupported mime type
- * @WEBKIT_POLICY_ERROR_CANNOT_SHOW_URL: Load failure due to URI that can not be shown
- * @WEBKIT_POLICY_ERROR_FRAME_LOAD_INTERRUPTED_BY_POLICY_CHANGE: Load failure due to frame load interruption by policy change
- * @WEBKIT_POLICY_ERROR_CANNOT_USE_RESTRICTED_PORT: Load failure due to port restriction
- *
- * Enum values used to denote the various policy errors.
- **/
-typedef enum {
- WEBKIT_POLICY_ERROR_FAILED = 199,
- WEBKIT_POLICY_ERROR_CANNOT_SHOW_MIME_TYPE = 100,
- WEBKIT_POLICY_ERROR_CANNOT_SHOW_URL = 101,
- WEBKIT_POLICY_ERROR_FRAME_LOAD_INTERRUPTED_BY_POLICY_CHANGE = 102,
- WEBKIT_POLICY_ERROR_CANNOT_USE_RESTRICTED_PORT = 103,
-} WebKitPolicyError;
-
-/**
- * WebKitPluginError:
- * @WEBKIT_PLUGIN_ERROR_FAILED: Generic plugin load failure
- * @WEBKIT_PLUGIN_ERROR_CANNOT_FIND_PLUGIN: Load failure due to missing plugin
- * @WEBKIT_PLUGIN_ERROR_CANNOT_LOAD_PLUGIN: Load failure due to inability to load plugin
- * @WEBKIT_PLUGIN_ERROR_JAVA_UNAVAILABLE: Load failue due to missing Java support that is required to load plugin
- * @WEBKIT_PLUGIN_ERROR_CONNECTION_CANCELLED: Load failure due to connection cancellation
- * @WEBKIT_PLUGIN_ERROR_WILL_HANDLE_LOAD: Load failure since plugin handles the load
- *
- * Enum values used to denote the various plugin errors.
- **/
-typedef enum {
- WEBKIT_PLUGIN_ERROR_FAILED = 299,
- WEBKIT_PLUGIN_ERROR_CANNOT_FIND_PLUGIN = 200,
- WEBKIT_PLUGIN_ERROR_CANNOT_LOAD_PLUGIN = 201,
- WEBKIT_PLUGIN_ERROR_JAVA_UNAVAILABLE = 202,
- WEBKIT_PLUGIN_ERROR_CONNECTION_CANCELLED = 203,
- WEBKIT_PLUGIN_ERROR_WILL_HANDLE_LOAD = 204,
-} WebKitPluginError;
-
-
-WEBKIT_API GQuark
-webkit_network_error_quark (void);
-
-WEBKIT_API GQuark
-webkit_policy_error_quark (void);
-
-WEBKIT_API GQuark
-webkit_plugin_error_quark (void);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitfavicondatabase.cpp b/Source/WebKit/gtk/webkit/webkitfavicondatabase.cpp
deleted file mode 100644
index 654ef2b30..000000000
--- a/Source/WebKit/gtk/webkit/webkitfavicondatabase.cpp
+++ /dev/null
@@ -1,645 +0,0 @@
-/*
- * Copyright (C) 2011 Christian Dywan <christian@lanedo.com>
- * Copyright (C) 2012 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 "config.h"
-#include "webkitfavicondatabase.h"
-
-#include "FileSystem.h"
-#include "GdkCairoUtilities.h"
-#include "IconDatabase.h"
-#include "IconDatabaseClient.h"
-#include "Image.h"
-#include "IntSize.h"
-#include "webkitfavicondatabaseprivate.h"
-#include "webkitglobals.h"
-#include "webkitglobalsprivate.h"
-#include "webkitmarshal.h"
-#include "webkitsecurityoriginprivate.h"
-#include "webkitwebframe.h"
-#include <glib/gi18n-lib.h>
-#include <wtf/MainThread.h>
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/gobject/GRefPtr.h>
-#include <wtf/text/CString.h>
-
-/**
- * SECTION:webkitfavicondatabase
- * @short_description: A WebKit favicon database
- * @Title: WebKitFaviconDatabase
- *
- * #WebKitFaviconDatabase provides access to the icons associated with
- * web sites.
- *
- * WebKit will automatically look for available icons in link elements
- * on opened pages as well as an existing favicon.ico and load the
- * images found into a memory cache if possible. That cache is frozen
- * to an on-disk database for persistence.
- *
- * The database is disabled by default. In order for icons to be
- * stored and accessed, you will need to set an icon database path
- * using webkit_favicon_database_set_path(). Disable the database
- * again passing %NULL to the previous call.
- *
- * If WebKitWebSettings::enable-private-browsing is %TRUE new icons
- * won't be added to the on-disk database and no existing icons will
- * be deleted from it. Nevertheless, WebKit will still store them in
- * the in-memory cache during the current execution.
- *
- * Since: 1.8
- */
-
-using namespace WebKit;
-using namespace WebCore;
-
-class PendingIconRequest;
-
-static void webkitFaviconDatabaseProcessPendingIconsForURI(WebKitFaviconDatabase*, const String& pageURI);
-static void webkitFaviconDatabaseImportFinished(WebKitFaviconDatabase*);
-static void webkitFaviconDatabaseGetIconPixbufCancelled(GCancellable*, PendingIconRequest*);
-static void webkitFaviconDatabaseClose(WebKitFaviconDatabase* database);
-
-class IconDatabaseClientGtk : public IconDatabaseClient {
-public:
- // IconDatabaseClient interface
- virtual void didRemoveAllIcons() { };
-
- // Called when an icon is requested while the initial import is
- // going on.
- virtual void didImportIconURLForPageURL(const String& URL) { };
-
- // Called whenever a retained icon is read from database.
- virtual void didImportIconDataForPageURL(const String& URL)
- {
- WebKitFaviconDatabase* database = webkit_get_favicon_database();
- // We need to emit this here because webkitFaviconDatabaseDispatchDidReceiveIcon()
- // is only called for icons that have just being downloaded, and this is called
- // when icon data is imported from the database.
- g_signal_emit_by_name(database, "icon-loaded", URL.utf8().data());
-
- webkitFaviconDatabaseProcessPendingIconsForURI(database, URL);
- }
-
- virtual void didChangeIconForPageURL(const String& URL)
- {
- // Called when the the favicon for a particular URL changes.
- // It does not mean that the new icon data is available yet.
- }
-
- virtual void didFinishURLImport()
- {
- webkitFaviconDatabaseImportFinished(webkit_get_favicon_database());
-
- // Now that everything is imported enable pruning of old
- // icons. No icon will be removed during the import process
- // because we disable cleanups before opening the database.
- IconDatabase::allowDatabaseCleanup();
- }
-};
-
-class PendingIconRequest {
-public:
- PendingIconRequest(const String& pageURL, GSimpleAsyncResult* result, GCancellable* cancellable, IntSize iconSize)
- : m_pageURL(pageURL)
- , m_asyncResult(result)
- , m_cancellable(cancellable)
- , m_cancelledId(0)
- , m_iconSize(iconSize)
- {
- if (cancellable) {
- m_cancelledId = g_cancellable_connect(cancellable, G_CALLBACK(webkitFaviconDatabaseGetIconPixbufCancelled), this, 0);
- g_object_set_data_full(G_OBJECT(result), "cancellable", g_object_ref(cancellable), static_cast<GDestroyNotify>(g_object_unref));
- }
- }
-
- ~PendingIconRequest()
- {
- if (m_cancelledId > 0)
- g_cancellable_disconnect(m_cancellable.get(), m_cancelledId);
- }
-
- const String& pageURL() { return m_pageURL; }
- GSimpleAsyncResult* asyncResult() { return m_asyncResult.get(); }
- const IntSize& iconSize() { return m_iconSize; }
-
- void asyncResultCancel()
- {
- ASSERT(m_asyncResult);
- g_simple_async_result_set_error(m_asyncResult.get(), G_IO_ERROR, G_IO_ERROR_CANCELLED, "%s", _("Operation was cancelled"));
- g_simple_async_result_complete(m_asyncResult.get());
- }
-
- void asyncResultCompleteInIdle(GdkPixbuf* icon)
- {
- ASSERT(m_asyncResult);
- g_simple_async_result_set_op_res_gpointer(m_asyncResult.get(), icon, 0);
- g_simple_async_result_complete_in_idle(m_asyncResult.get());
- }
-
- void asyncResultComplete(GdkPixbuf* icon)
- {
- ASSERT(m_asyncResult);
- g_simple_async_result_set_op_res_gpointer(m_asyncResult.get(), icon, 0);
- g_simple_async_result_complete(m_asyncResult.get());
- }
-
-private:
- String m_pageURL;
- GRefPtr<GSimpleAsyncResult> m_asyncResult;
- GRefPtr<GCancellable> m_cancellable;
- gulong m_cancelledId;
- IntSize m_iconSize;
-};
-
-
-enum {
- PROP_0,
-
- PROP_PATH,
-};
-
-enum {
- ICON_LOADED,
-
- LAST_SIGNAL
-};
-
-static guint webkit_favicon_database_signals[LAST_SIGNAL] = { 0, };
-
-G_DEFINE_TYPE(WebKitFaviconDatabase, webkit_favicon_database, G_TYPE_OBJECT)
-
-typedef Vector<OwnPtr<PendingIconRequest> > PendingIconRequestVector;
-typedef HashMap<String, PendingIconRequestVector*> PendingIconRequestMap;
-
-struct _WebKitFaviconDatabasePrivate {
- GOwnPtr<gchar> path;
- IconDatabaseClientGtk iconDatabaseClient;
- PendingIconRequestMap pendingIconRequests;
- bool importFinished;
-};
-
-static void webkit_favicon_database_finalize(GObject* object)
-{
- WebKitFaviconDatabase* database = WEBKIT_FAVICON_DATABASE(object);
-
- webkitFaviconDatabaseClose(database);
- database->priv->~WebKitFaviconDatabasePrivate();
-
- G_OBJECT_CLASS(webkit_favicon_database_parent_class)->finalize(object);
-}
-
-static void webkit_favicon_database_set_property(GObject* object, guint propId, const GValue* value, GParamSpec* pspec)
-{
- WebKitFaviconDatabase* database = WEBKIT_FAVICON_DATABASE(object);
-
- switch (propId) {
- case PROP_PATH:
- webkit_favicon_database_set_path(database, g_value_get_string(value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, pspec);
- break;
- }
-}
-
-static void webkit_favicon_database_get_property(GObject* object, guint propId, GValue* value, GParamSpec* pspec)
-{
- WebKitFaviconDatabase* database = WEBKIT_FAVICON_DATABASE(object);
-
- switch (propId) {
- case PROP_PATH:
- g_value_set_string(value, webkit_favicon_database_get_path(database));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, pspec);
- break;
- }
-}
-
-static void webkit_favicon_database_class_init(WebKitFaviconDatabaseClass* klass)
-{
- webkitInit();
-
- GObjectClass* gobjectClass = G_OBJECT_CLASS(klass);
- gobjectClass->finalize = webkit_favicon_database_finalize;
- gobjectClass->set_property = webkit_favicon_database_set_property;
- gobjectClass->get_property = webkit_favicon_database_get_property;
-
- /**
- * WebKitFaviconDatabase:path:
- *
- * The absolute path of the icon database folder.
- *
- * Since: 1.8
- */
- g_object_class_install_property(gobjectClass, PROP_PATH,
- g_param_spec_string("path",
- _("Path"),
- _("The absolute path of the icon database folder"),
- NULL,
- WEBKIT_PARAM_READWRITE));
-
-
- /**
- * WebKitFaviconDatabase::icon-loaded:
- * @database: the object on which the signal is emitted
- * @frame_uri: the URI of the main frame of a Web page containing
- * the icon
- *
- * This signal is fired if an icon is loaded on any
- * #WebKitWebView. If you are only interested in a particular
- * #WebKitWebView see #WebKitWebView::icon-loaded.
- *
- * Note that this signal carries the URI of the frame that loads
- * the icon, while #WebKitWebView::icon-loaded provides the URI
- * of the favicon.
- *
- * Since: 1.8
- */
- webkit_favicon_database_signals[ICON_LOADED] = g_signal_new("icon-loaded",
- G_TYPE_FROM_CLASS(klass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0, 0, 0,
- webkit_marshal_VOID__STRING,
- G_TYPE_NONE, 1,
- G_TYPE_STRING);
-
- g_type_class_add_private(klass, sizeof(WebKitFaviconDatabasePrivate));
-}
-
-static void webkit_favicon_database_init(WebKitFaviconDatabase* database)
-{
- database->priv = G_TYPE_INSTANCE_GET_PRIVATE(database, WEBKIT_TYPE_FAVICON_DATABASE, WebKitFaviconDatabasePrivate);
- new (database->priv) WebKitFaviconDatabasePrivate();
-}
-
-// Called from FrameLoaderClient::dispatchDidReceiveIcon()
-void webkitFaviconDatabaseDispatchDidReceiveIcon(WebKitFaviconDatabase* database, const char* frameURI)
-{
- g_signal_emit(database, webkit_favicon_database_signals[ICON_LOADED], 0, frameURI);
-
- // Retain the new icon.
- iconDatabase().retainIconForPageURL(String::fromUTF8(frameURI));
-}
-
-/**
- * webkit_favicon_database_get_path:
- * @database: a #WebKitFaviconDatabase
- *
- * Determines the absolute path to the database folder on disk.
- *
- * Returns: the absolute path of the database folder, or %NULL
- *
- * Since: 1.8
- */
-const gchar* webkit_favicon_database_get_path(WebKitFaviconDatabase* database)
-{
- g_return_val_if_fail(WEBKIT_IS_FAVICON_DATABASE(database), 0);
-
- return database->priv->path.get();
-}
-
-static void webkitFaviconDatabaseClose(WebKitFaviconDatabase* database)
-{
- if (iconDatabase().isEnabled()) {
- iconDatabase().setEnabled(false);
- iconDatabase().close();
- }
-}
-
-/**
- * webkit_favicon_database_set_path:
- * @database: a #WebKitFaviconDatabase
- * @path: (allow-none): an absolute path to the icon database folder
- * or %NULL to disable the database
- *
- * Specifies the absolute path to the database folder on disk. The
- * icon database will only be enabled after a call to this method.
- *
- * Passing %NULL or "" as path disables the icon database.
- *
- * Since: 1.8
- */
-void webkit_favicon_database_set_path(WebKitFaviconDatabase* database, const gchar* path)
-{
- g_return_if_fail(WEBKIT_IS_FAVICON_DATABASE(database));
-
- // Always try to close because the deprecated icondatabase is opened by default.
- webkitFaviconDatabaseClose(database);
-
- database->priv->importFinished = false;
- if (!path || !path[0]) {
- database->priv->path.set(0);
- iconDatabase().setEnabled(false);
- return;
- }
-
- iconDatabase().setClient(&database->priv->iconDatabaseClient);
- IconDatabase::delayDatabaseCleanup();
- iconDatabase().setEnabled(true);
- if (!iconDatabase().open(filenameToString(path), IconDatabase::defaultDatabaseFilename())) {
- IconDatabase::allowDatabaseCleanup();
- return;
- }
-
- database->priv->path.set(g_strdup(path));
-}
-
-/**
- * webkit_favicon_database_get_favicon_uri:
- * @database: a #WebKitFaviconDatabase
- * @page_uri: URI of the page containing the icon
- *
- * Obtains the URI for the favicon for the given page URI.
- * See also webkit_web_view_get_icon_uri().
- *
- * Returns: a newly allocated URI for the favicon, or %NULL
- *
- * Since: 1.8
- */
-gchar* webkit_favicon_database_get_favicon_uri(WebKitFaviconDatabase* database, const gchar* pageURI)
-{
- g_return_val_if_fail(WEBKIT_IS_FAVICON_DATABASE(database), 0);
- g_return_val_if_fail(pageURI, 0);
- ASSERT(isMainThread());
-
- String iconURI = iconDatabase().synchronousIconURLForPageURL(String::fromUTF8(pageURI));
- if (iconURI.isEmpty())
- return 0;
-
- return g_strdup(iconURI.utf8().data());
-}
-
-static GdkPixbuf* getIconPixbufSynchronously(WebKitFaviconDatabase* database, const String& pageURL, const IntSize& iconSize)
-{
- ASSERT(isMainThread());
-
- // The exact size we pass is irrelevant to the iconDatabase code.
- // We must pass something greater than 0x0 to get a pixbuf.
- RefPtr<cairo_surface_t> surface = iconDatabase().synchronousNativeIconForPageURL(pageURL, !iconSize.isZero() ? iconSize : IntSize(1, 1));
- if (!surface)
- return 0;
-
- GRefPtr<GdkPixbuf> pixbuf = adoptGRef(cairoImageSurfaceToGdkPixbuf(surface.get()));
- if (!pixbuf)
- return 0;
-
- // A size of (0, 0) means the maximum available size.
- int pixbufWidth = gdk_pixbuf_get_width(pixbuf.get());
- int pixbufHeight = gdk_pixbuf_get_height(pixbuf.get());
- if (!iconSize.isZero() && (pixbufWidth != iconSize.width() || pixbufHeight != iconSize.height()))
- pixbuf = adoptGRef(gdk_pixbuf_scale_simple(pixbuf.get(), iconSize.width(), iconSize.height(), GDK_INTERP_BILINEAR));
- return pixbuf.leakRef();
-}
-
-/**
- * webkit_favicon_database_try_get_favicon_pixbuf:
- * @database: a #WebKitFaviconDatabase
- * @page_uri: URI of the page containing the icon
- * @width: the desired width for the icon
- * @height: the desired height for the icon
- *
- * Obtains a #GdkPixbuf of the favicon for the given page URI, or
- * %NULL if there is no icon for the given page or it hasn't been
- * loaded from disk yet. Use webkit_favicon_database_get_favicon_uri()
- * if you need to distinguish these cases. To make sure this method
- * will return a valid icon when the given URI has one, you should
- * connect to #WebKitFaviconDatabase::icon-loaded and use this function
- * in the callback.
- *
- * If @width and @height ar both 0 then this method will return the
- * maximum available size for the icon. Note that if you specify a
- * different size the icon will be scaled each time you call this
- * function.
- *
- * Returns: (transfer full): a new reference to a #GdkPixbuf, or %NULL
- * if the given URI doesn't have an icon or it hasn't been loaded yet.
- *
- * Since: 1.8
- */
-GdkPixbuf* webkit_favicon_database_try_get_favicon_pixbuf(WebKitFaviconDatabase* database, const gchar* pageURI, guint width, guint height)
-{
- g_return_val_if_fail(WEBKIT_IS_FAVICON_DATABASE(database), 0);
- g_return_val_if_fail(pageURI, 0);
- g_return_val_if_fail((width && height) || (!width && !height), 0);
-
- return getIconPixbufSynchronously(database, String::fromUTF8(pageURI), IntSize(width, height));
-}
-
-static PendingIconRequestVector* webkitFaviconDatabaseGetOrCreateRequests(WebKitFaviconDatabase* database, const String& pageURL)
-{
- PendingIconRequestVector* icons = database->priv->pendingIconRequests.get(pageURL);
- if (!icons) {
- icons = new PendingIconRequestVector;
- database->priv->pendingIconRequests.set(pageURL, icons);
- }
-
- return icons;
-}
-
-static void webkitfavicondatabaseDeleteRequests(WebKitFaviconDatabase* database, PendingIconRequestVector* requests, const String& pageURL)
-{
- database->priv->pendingIconRequests.remove(pageURL);
- delete requests;
-}
-
-static void getIconPixbufCancelled(void* userData)
-{
- PendingIconRequest* request = static_cast<PendingIconRequest*>(userData);
- request->asyncResultCancel();
-
- const String& pageURL = request->pageURL();
- WebKitFaviconDatabase* database = webkit_get_favicon_database();
- PendingIconRequestVector* icons = database->priv->pendingIconRequests.get(pageURL);
- if (!icons)
- return;
-
- size_t itemIndex = icons->find(request);
- if (itemIndex != notFound)
- icons->remove(itemIndex);
- if (icons->isEmpty())
- webkitfavicondatabaseDeleteRequests(database, icons, pageURL);
-}
-
-static void webkitFaviconDatabaseGetIconPixbufCancelled(GCancellable* cancellable, PendingIconRequest* request)
-{
- // Handle cancelled in a in idle since it might be called from any thread.
- callOnMainThread(getIconPixbufCancelled, request);
-}
-
-/**
- * webkit_favicon_database_get_favicon_pixbuf:
- * @database: a #WebKitFaviconDatabase
- * @page_uri: URI of the page containing the icon
- * @width: the desired width for the icon
- * @height: the desired height for the icon
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: (allow-none): A #GAsyncReadyCallback to call when the request is
- * satisfied or %NULL if you don't care about the result.
- * @user_data: The data to pass to @callback.
- *
- * Asynchronously obtains a #GdkPixbuf of the favicon for the given
- * page URI. The advantage of this method over
- * webkit_favicon_database_try_get_favicon_pixbuf() is that it always returns the
- * cached icon if it's in the database asynchronously waiting for the
- * icon to be read from the database.
- *
- * This is an asynchronous method. When the operation is finished, callback will
- * be invoked. You can then call webkit_favicon_database_get_favicon_pixbuf_finish()
- * to get the result of the operation.
- * See also webkit_favicon_database_try_get_favicon_pixbuf().
- *
- * If @width and @height are both 0 then this method will return the
- * maximum available size for the icon. Note that if you specify a
- * different size the icon will be scaled each time you call this
- * function.
- *
- * Since: 1.8
- */
-void webkit_favicon_database_get_favicon_pixbuf(WebKitFaviconDatabase* database, const gchar* pageURI, guint width, guint height, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer userData)
-{
- g_return_if_fail(WEBKIT_IS_FAVICON_DATABASE(database));
- g_return_if_fail(pageURI);
- g_return_if_fail((width && height) || (!width && !height));
-
- GRefPtr<GSimpleAsyncResult> result = adoptGRef(g_simple_async_result_new(G_OBJECT(database), callback, userData,
- reinterpret_cast<gpointer>(webkit_favicon_database_get_favicon_pixbuf)));
-
- // If we don't have an icon for the given URI or the database is not opened then return ASAP. We have to check that
- // because if the database is not opened it will skip (and not notify about) every single icon load request
- if ((database->priv->importFinished && iconDatabase().synchronousIconURLForPageURL(String::fromUTF8(pageURI)).isEmpty())
- || !iconDatabase().isOpen()) {
- g_simple_async_result_set_op_res_gpointer(result.get(), 0, 0);
- g_simple_async_result_complete_in_idle(result.get());
- return;
- }
-
- String pageURL = String::fromUTF8(pageURI);
- PendingIconRequest* request = new PendingIconRequest(pageURL, result.get(), cancellable, IntSize(width, height));
-
- // Register icon request before asking for the icon to avoid race conditions.
- PendingIconRequestVector* icons = webkitFaviconDatabaseGetOrCreateRequests(database, pageURL);
- ASSERT(icons);
- icons->append(adoptPtr(request));
-
- // We ask for the icon directly. If we don't get the icon data now,
- // we'll be notified later (even if the database is still importing icons).
- GdkPixbuf* pixbuf = getIconPixbufSynchronously(database, pageURL, IntSize(width, height));
- if (!pixbuf)
- return;
-
- request->asyncResultCompleteInIdle(pixbuf);
-
- // Remove the request we have just created as it isn't pending
- // anymore because we already have the pixbuf.
- ASSERT(icons->last().get() == request);
- icons->removeLast();
- if (icons->isEmpty())
- webkitfavicondatabaseDeleteRequests(database, icons, pageURL);
-}
-
-/**
- * webkit_favicon_database_get_favicon_pixbuf_finish:
- * @database: a #WebKitFaviconDatabase
- * @result: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to webkit_favicon_database_get_favicon_pixbuf()
- * @error: (allow-none): Return location for error or %NULL.
- *
- * Finishes an operation started with webkit_favicon_database_get_favicon_pixbuf().
- *
- * Returns: (transfer full): a new reference to a #GdkPixbuf, or %NULL.
- *
- * Since: 1.8
- */
-GdkPixbuf* webkit_favicon_database_get_favicon_pixbuf_finish(WebKitFaviconDatabase* database, GAsyncResult* result, GError** error)
-{
- GSimpleAsyncResult* simpleResult = G_SIMPLE_ASYNC_RESULT(result);
- g_return_val_if_fail(g_simple_async_result_get_source_tag(simpleResult) == webkit_favicon_database_get_favicon_pixbuf, 0);
-
- if (g_simple_async_result_propagate_error(simpleResult, error))
- return 0;
-
- GCancellable* cancellable = static_cast<GCancellable*>(g_object_get_data(G_OBJECT(simpleResult), "cancellable"));
- if (cancellable && g_cancellable_is_cancelled(cancellable)) {
- g_set_error_literal(error, G_IO_ERROR, G_IO_ERROR_CANCELLED, _("Operation was cancelled"));
- return 0;
- }
-
- GdkPixbuf* icon = static_cast<GdkPixbuf*>(g_simple_async_result_get_op_res_gpointer(simpleResult));
- if (!icon)
- return 0;
-
- return static_cast<GdkPixbuf*>(icon);
-}
-
-static void webkitFaviconDatabaseProcessPendingIconsForURI(WebKitFaviconDatabase* database, const String& pageURL)
-{
- PendingIconRequestVector* icons = database->priv->pendingIconRequests.get(pageURL);
- if (!icons)
- return;
-
- for (size_t i = 0; i < icons->size(); ++i) {
- PendingIconRequest* request = icons->at(i).get();
- if (request->asyncResult())
- request->asyncResultComplete(getIconPixbufSynchronously(database, pageURL, request->iconSize()));
- }
- webkitfavicondatabaseDeleteRequests(database, icons, pageURL);
-}
-
-static void webkitFaviconDatabaseImportFinished(WebKitFaviconDatabase* database)
-{
- ASSERT(isMainThread());
- database->priv->importFinished = true;
-
- // Import is complete, process pending requests for pages that are not in the database,
- // since didImportIconDataForPageURL() will never be called for them.
- Vector<String> toDeleteURLs;
- PendingIconRequestMap::const_iterator end = database->priv->pendingIconRequests.end();
- for (PendingIconRequestMap::const_iterator iter = database->priv->pendingIconRequests.begin(); iter != end; ++iter) {
- String iconURL = iconDatabase().synchronousIconURLForPageURL(iter->key);
- if (!iconURL.isEmpty())
- continue;
-
- PendingIconRequestVector* icons = iter->value;
- for (size_t i = 0; i < icons->size(); ++i) {
- PendingIconRequest* request = icons->at(i).get();
- if (request->asyncResult())
- request->asyncResultComplete(0);
- }
-
- toDeleteURLs.append(iter->key);
- }
-
- for (size_t i = 0; i < toDeleteURLs.size(); ++i)
- webkitfavicondatabaseDeleteRequests(database, database->priv->pendingIconRequests.get(toDeleteURLs[i]), toDeleteURLs[i]);
-}
-
-/**
- * webkit_favicon_database_clear:
- * @database: a #WebKitFaviconDatabase
- *
- * Clears all icons from the database.
- *
- * Since: 1.8
- */
-void webkit_favicon_database_clear(WebKitFaviconDatabase* database)
-{
- g_return_if_fail(WEBKIT_IS_FAVICON_DATABASE(database));
-
- iconDatabase().removeAllIcons();
-}
diff --git a/Source/WebKit/gtk/webkit/webkitfavicondatabase.h b/Source/WebKit/gtk/webkit/webkitfavicondatabase.h
deleted file mode 100644
index 95d6b8442..000000000
--- a/Source/WebKit/gtk/webkit/webkitfavicondatabase.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2011 Christian Dywan <christian@lanedo.com>
- * Copyright (C) 2012 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 webkitfavicondatabase_h
-#define webkitfavicondatabase_h
-
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <glib-object.h>
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_FAVICON_DATABASE (webkit_favicon_database_get_type())
-#define WEBKIT_FAVICON_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_FAVICON_DATABASE, WebKitFaviconDatabase))
-#define WEBKIT_FAVICON_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_FAVICON_DATABASE, WebKitFaviconDatabaseClass))
-#define WEBKIT_IS_FAVICON_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_FAVICON_DATABASE))
-#define WEBKIT_IS_FAVICON_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_FAVICON_DATABASE))
-#define WEBKIT_FAVICON_DATABASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_FAVICON_DATABASE, WebKitFaviconDatabaseClass))
-
-typedef struct _WebKitFaviconDatabasePrivate WebKitFaviconDatabasePrivate;
-
-struct _WebKitFaviconDatabase {
- GObject parent_instance;
-
- /*< private >*/
- WebKitFaviconDatabasePrivate* priv;
-};
-
-struct _WebKitFaviconDatabaseClass {
- GObjectClass parent_class;
-
- /* Padding for future expansion */
- void (*_webkit_reserved1) (void);
- void (*_webkit_reserved2) (void);
- void (*_webkit_reserved3) (void);
- void (*_webkit_reserved4) (void);
-};
-
-WEBKIT_API GType
-webkit_favicon_database_get_type (void);
-
-WEBKIT_API const gchar*
-webkit_favicon_database_get_path (WebKitFaviconDatabase* database);
-
-WEBKIT_API void
-webkit_favicon_database_set_path (WebKitFaviconDatabase* database,
- const gchar* path);
-
-WEBKIT_API gchar*
-webkit_favicon_database_get_favicon_uri (WebKitFaviconDatabase* database,
- const gchar* page_uri);
-
-WEBKIT_API GdkPixbuf*
-webkit_favicon_database_try_get_favicon_pixbuf (WebKitFaviconDatabase* database,
- const gchar* page_uri,
- guint width,
- guint height);
-
-WEBKIT_API void
-webkit_favicon_database_get_favicon_pixbuf (WebKitFaviconDatabase* database,
- const gchar* page_uri,
- guint width,
- guint height,
- GCancellable* cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-WEBKIT_API GdkPixbuf*
-webkit_favicon_database_get_favicon_pixbuf_finish (WebKitFaviconDatabase* database,
- GAsyncResult* result,
- GError** error);
-
-WEBKIT_API void
-webkit_favicon_database_clear (WebKitFaviconDatabase* database);
-
-G_END_DECLS
-
-#endif /* webkitfavicondatabase_h */
diff --git a/Source/WebKit/gtk/webkit/webkitfavicondatabaseprivate.h b/Source/WebKit/gtk/webkit/webkitfavicondatabaseprivate.h
deleted file mode 100644
index b7679a0f0..000000000
--- a/Source/WebKit/gtk/webkit/webkitfavicondatabaseprivate.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (C) 2012 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 webkitfavicondatabaseprivate_h
-#define webkitfavicondatabaseprivate_h
-
-void webkitFaviconDatabaseDispatchDidReceiveIcon(WebKitFaviconDatabase*, const char* frameURI);
-
-#endif // webkitfavicondatabaseprivate_h
diff --git a/Source/WebKit/gtk/webkit/webkitfilechooserrequest.cpp b/Source/WebKit/gtk/webkit/webkitfilechooserrequest.cpp
deleted file mode 100644
index c1373ed49..000000000
--- a/Source/WebKit/gtk/webkit/webkitfilechooserrequest.cpp
+++ /dev/null
@@ -1,367 +0,0 @@
-/*
- * Copyright (C) 2012 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 "config.h"
-#include "webkitfilechooserrequest.h"
-
-#include "FileChooser.h"
-#include "FileSystem.h"
-#include "webkitfilechooserrequestprivate.h"
-#include "webkitglobalsprivate.h"
-#include <glib/gi18n-lib.h>
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/gobject/GRefPtr.h>
-#include <wtf/text/CString.h>
-
-using namespace WebCore;
-
-/**
- * SECTION:webkitfilechooserrequest
- * @Short_description: A request to open a file chooser
- * @Title: WebKitFileChooserRequest
- * @See_also: #WebKitWebView
- *
- * Whenever the user interacts with an &lt;input type='file' /&gt;
- * HTML element, WebKit will need to show a dialog to choose one or
- * more files to be uploaded to the server along with the rest of the
- * form data. For that to happen in a general way, instead of just
- * opening a #GtkFileChooserDialog (which might be not desirable in
- * some cases, such as when an embedding applications prefers to use
- * its own file chooser dialog), WebKit will fire the
- * #WebKitWebView::run-file-chooser signal with a
- * #WebKitFileChooserRequest object, which will allow the client
- * application to specify the files to be selected, to inspect the
- * details of the request (e.g. if multiple selection should be
- * allowed) and to cancel the request, in case nothing was selected.
- *
- * In case the client application does not wish to handle this signal,
- * WebKit will provide a default handler which will asynchronously run
- * a regular #GtkFileChooserDialog for the user to interact with.
- */
-G_DEFINE_TYPE(WebKitFileChooserRequest, webkit_file_chooser_request, G_TYPE_OBJECT)
-
-struct _WebKitFileChooserRequestPrivate {
- RefPtr<FileChooser> chooser;
- GRefPtr<GtkFileFilter> filter;
- GRefPtr<GPtrArray> mimeTypes;
- GRefPtr<GPtrArray> selectedFiles;
-};
-
-enum {
- PROP_0,
- PROP_FILTER,
- PROP_MIME_TYPES,
- PROP_SELECT_MULTIPLE,
- PROP_SELECTED_FILES,
-};
-
-static void webkit_file_chooser_request_init(WebKitFileChooserRequest* request)
-{
- request->priv = G_TYPE_INSTANCE_GET_PRIVATE(request, WEBKIT_TYPE_FILE_CHOOSER_REQUEST, WebKitFileChooserRequestPrivate);
- new (request->priv) WebKitFileChooserRequestPrivate();
-}
-
-static void webkit_file_chooser_request_finalize(GObject* object)
-{
- WebKitFileChooserRequest* request = WEBKIT_FILE_CHOOSER_REQUEST(object);
-
- request->priv->~WebKitFileChooserRequestPrivate();
- G_OBJECT_CLASS(webkit_file_chooser_request_parent_class)->finalize(object);
-}
-
-static void webkit_file_chooser_request_get_property(GObject* object, guint propId, GValue* value, GParamSpec* paramSpec)
-{
- WebKitFileChooserRequest* request = WEBKIT_FILE_CHOOSER_REQUEST(object);
- switch (propId) {
- case PROP_FILTER:
- g_value_set_object(value, webkit_file_chooser_request_get_mime_types_filter(request));
- break;
- case PROP_MIME_TYPES:
- g_value_set_boxed(value, webkit_file_chooser_request_get_mime_types(request));
- break;
- case PROP_SELECT_MULTIPLE:
- g_value_set_boolean(value, webkit_file_chooser_request_get_select_multiple(request));
- break;
- case PROP_SELECTED_FILES:
- g_value_set_boxed(value, webkit_file_chooser_request_get_selected_files(request));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, paramSpec);
- break;
- }
-}
-
-static void webkit_file_chooser_request_class_init(WebKitFileChooserRequestClass* requestClass)
-{
- GObjectClass* objectClass = G_OBJECT_CLASS(requestClass);
- objectClass->finalize = webkit_file_chooser_request_finalize;
- objectClass->get_property = webkit_file_chooser_request_get_property;
- g_type_class_add_private(requestClass, sizeof(WebKitFileChooserRequestPrivate));
-
- /**
- * WebKitFileChooserRequest:filter:
- *
- * The filter currently associated with the request. See
- * webkit_file_chooser_request_get_mime_types_filter() for more
- * details.
- *
- * Since: 1.10
- */
- g_object_class_install_property(objectClass,
- PROP_FILTER,
- g_param_spec_object("filter",
- _("MIME types filter"),
- _("The filter currently associated with the request"),
- GTK_TYPE_FILE_FILTER,
- WEBKIT_PARAM_READABLE));
- /**
- * WebKitFileChooserRequest:mime-types:
- *
- * A %NULL-terminated array of strings containing the list of MIME
- * types the file chooser dialog should handle. See
- * webkit_file_chooser_request_get_mime_types() for more details.
- *
- * Since: 1.10
- */
- g_object_class_install_property(objectClass,
- PROP_MIME_TYPES,
- g_param_spec_boxed("mime-types",
- _("MIME types"),
- _("The list of MIME types associated with the request"),
- G_TYPE_STRV,
- WEBKIT_PARAM_READABLE)); /**
- * WebKitFileChooserRequest:select-multiple:
- *
- * Whether the file chooser should allow selecting multiple
- * files. See
- * webkit_file_chooser_request_get_select_multiple() for
- * more details.
- *
- * Since: 1.10
- */
- g_object_class_install_property(objectClass,
- PROP_SELECT_MULTIPLE,
- g_param_spec_boolean("select-multiple",
- _("Select multiple files"),
- _("Whether the file chooser should allow selecting multiple files"),
- FALSE,
- WEBKIT_PARAM_READABLE));
- /**
- * WebKitFileChooserRequest:selected-files:
- *
- * A %NULL-terminated array of strings containing the list of
- * selected files associated to the current request. See
- * webkit_file_chooser_request_get_selected_files() for more details.
- *
- * Since: 1.10
- */
- g_object_class_install_property(objectClass,
- PROP_SELECTED_FILES,
- g_param_spec_boxed("selected-files",
- _("Selected files"),
- _("The list of selected files associated with the request"),
- G_TYPE_STRV,
- WEBKIT_PARAM_READABLE));
-}
-
-WebKitFileChooserRequest* webkit_file_chooser_request_create(PassRefPtr<FileChooser> chooser)
-{
- WebKitFileChooserRequest* request = WEBKIT_FILE_CHOOSER_REQUEST(g_object_new(WEBKIT_TYPE_FILE_CHOOSER_REQUEST, NULL));
- request->priv->chooser = chooser;
- return request;
-}
-
-/**
- * webkit_file_chooser_request_get_mime_types:
- * @request: a #WebKitFileChooserRequest
- *
- * Get the list of MIME types the file chooser dialog should handle,
- * in the format specified in RFC 2046 for "media types". Its contents
- * depend on the value of the 'accept' attribute for HTML input
- * elements. This function should normally be called before presenting
- * the file chooser dialog to the user, to decide whether to allow the
- * user to select multiple files at once or only one.
- *
- * Returns: (array zero-terminated=1) (transfer none): a
- * %NULL-terminated array of strings if a list of accepted MIME types
- * is defined or %NULL otherwise, meaning that any MIME type should be
- * accepted. This array and its contents are owned by WebKitGTK+ and
- * should not be modified or freed.
- *
- * Since: 1.10
- */
-const gchar* const* webkit_file_chooser_request_get_mime_types(WebKitFileChooserRequest* request)
-{
- g_return_val_if_fail(WEBKIT_IS_FILE_CHOOSER_REQUEST(request), 0);
- if (request->priv->mimeTypes)
- return reinterpret_cast<gchar**>(request->priv->mimeTypes->pdata);
-
- FileChooserSettings settings = request->priv->chooser->settings();
- size_t numOfMimeTypes = settings.acceptMIMETypes.size();
- if (!numOfMimeTypes)
- return 0;
-
- request->priv->mimeTypes = adoptGRef(g_ptr_array_new_with_free_func(g_free));
- for (size_t i = 0; i < numOfMimeTypes; ++i) {
- String mimeTypeString = settings.acceptMIMETypes[i];
- if (mimeTypeString.isEmpty())
- continue;
- g_ptr_array_add(request->priv->mimeTypes.get(), g_strdup(mimeTypeString.utf8().data()));
- }
- g_ptr_array_add(request->priv->mimeTypes.get(), 0);
-
- return reinterpret_cast<gchar**>(request->priv->mimeTypes->pdata);
-}
-
-/**
- * webkit_file_chooser_request_get_mime_types_filter:
- * @request: a #WebKitFileChooserRequest
- *
- * Get the filter currently associated with the request, ready to be
- * used by #GtkFileChooser. This function should normally be called
- * before presenting the file chooser dialog to the user, to decide
- * whether to apply a filter so the user would not be allowed to
- * select files with other MIME types.
- *
- * See webkit_file_chooser_request_get_mime_types() if you are
- * interested in getting the list of accepted MIME types.
- *
- * Returns: (transfer none): a #GtkFileFilter if a list of accepted
- * MIME types is defined or %NULL otherwise. The returned object is
- * owned by WebKitGTK+ should not be modified or freed.
- *
- * Since: 1.10
- */
-GtkFileFilter* webkit_file_chooser_request_get_mime_types_filter(WebKitFileChooserRequest* request)
-{
- g_return_val_if_fail(WEBKIT_IS_FILE_CHOOSER_REQUEST(request), 0);
- if (request->priv->filter)
- return request->priv->filter.get();
-
- FileChooserSettings settings = request->priv->chooser->settings();
- size_t numOfMimeTypes = settings.acceptMIMETypes.size();
- if (!numOfMimeTypes)
- return 0;
-
- // Do not use adoptGRef here, since we want to sink the floating
- // reference for the new instance of GtkFileFilter, so we make
- // sure we keep the ownership during the lifetime of the request.
- request->priv->filter = gtk_file_filter_new();
- for (size_t i = 0; i < numOfMimeTypes; ++i) {
- String mimeTypeString = settings.acceptMIMETypes[i];
- if (mimeTypeString.isEmpty())
- continue;
- gtk_file_filter_add_mime_type(request->priv->filter.get(), mimeTypeString.utf8().data());
- }
-
- return request->priv->filter.get();
-}
-
-/**
- * webkit_file_chooser_request_get_select_multiple:
- * @request: a #WebKitFileChooserRequest
- *
- * Determine whether the file chooser associated to this
- * #WebKitFileChooserRequest should allow selecting multiple files,
- * which depends on the HTML input element having a 'multiple'
- * attribute defined.
- *
- * Returns: %TRUE if the file chooser should allow selecting multiple files or %FALSE otherwise.
- *
- * Since: 1.10
- */
-gboolean webkit_file_chooser_request_get_select_multiple(WebKitFileChooserRequest* request)
-{
- g_return_val_if_fail(WEBKIT_IS_FILE_CHOOSER_REQUEST(request), FALSE);
- return request->priv->chooser->settings().allowsMultipleFiles;
-}
-
-/**
- * webkit_file_chooser_request_select_files:
- * @request: a #WebKitFileChooserRequest
- * @files: (array zero-terminated=1) (transfer none): a
- * %NULL-terminated array of strings, containing paths to local files.
- *
- * Ask WebKit to select local files for upload and complete the
- * request.
- *
- * Since: 1.10
- */
-void webkit_file_chooser_request_select_files(WebKitFileChooserRequest* request, const gchar* const* files)
-{
- g_return_if_fail(WEBKIT_IS_FILE_CHOOSER_REQUEST(request));
- g_return_if_fail(files);
-
- Vector<String> names;
- GRefPtr<GPtrArray> selectedFiles = adoptGRef(g_ptr_array_new_with_free_func(g_free));
-
- for (int i = 0; files[i]; i++) {
- names.append(filenameToString(files[i]));
- g_ptr_array_add(selectedFiles.get(), g_strdup(files[i]));
- }
-
- g_ptr_array_add(selectedFiles.get(), 0);
- request->priv->chooser->chooseFiles(names);
- request->priv->selectedFiles = selectedFiles;
-}
-
-/**
- * webkit_file_chooser_request_get_selected_files:
- * @request: a #WebKitFileChooserRequest
- *
- * Get the list of selected files currently associated to the
- * request. Initially, the return value of this method contains any
- * files selected in previous file chooser requests for this HTML
- * input element. Once webkit_file_chooser_request_select_files, the
- * value will reflect whatever files are given.
- *
- * This function should normally be called only before presenting the
- * file chooser dialog to the user, to decide whether to perform some
- * extra action, like pre-selecting the files from a previous request.
- *
- * Returns: (array zero-terminated=1) (transfer none): a
- * %NULL-terminated array of strings if there are selected files
- * associated with the request or %NULL otherwise. This array and its
- * contents are owned by WebKitGTK+ and should not be modified or
- * freed.
- *
- * Since: 1.10
- */
-const gchar* const* webkit_file_chooser_request_get_selected_files(WebKitFileChooserRequest* request)
-{
- g_return_val_if_fail(WEBKIT_IS_FILE_CHOOSER_REQUEST(request), 0);
- if (request->priv->selectedFiles)
- return reinterpret_cast<gchar**>(request->priv->selectedFiles->pdata);
-
- FileChooserSettings settings = request->priv->chooser->settings();
- size_t numOfFiles = settings.selectedFiles.size();
- if (!numOfFiles)
- return 0;
-
- request->priv->selectedFiles = adoptGRef(g_ptr_array_new_with_free_func(g_free));
- for (size_t i = 0; i < numOfFiles; ++i) {
- if (settings.selectedFiles[i].isEmpty())
- continue;
- CString filename = fileSystemRepresentation(settings.selectedFiles[i]);
- g_ptr_array_add(request->priv->selectedFiles.get(), g_strdup(filename.data()));
- }
- g_ptr_array_add(request->priv->selectedFiles.get(), 0);
-
- return reinterpret_cast<gchar**>(request->priv->selectedFiles->pdata);
-}
diff --git a/Source/WebKit/gtk/webkit/webkitfilechooserrequest.h b/Source/WebKit/gtk/webkit/webkitfilechooserrequest.h
deleted file mode 100644
index dea94c860..000000000
--- a/Source/WebKit/gtk/webkit/webkitfilechooserrequest.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2012 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 webkitfilechooserrequest_h
-#define webkitfilechooserrequest_h
-
-#include <gtk/gtk.h>
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_FILE_CHOOSER_REQUEST (webkit_file_chooser_request_get_type())
-#define WEBKIT_FILE_CHOOSER_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_FILE_CHOOSER_REQUEST, WebKitFileChooserRequest))
-#define WEBKIT_FILE_CHOOSER_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_FILE_CHOOSER_REQUEST, WebKitFileChooserRequestClass))
-#define WEBKIT_IS_FILE_CHOOSER_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_FILE_CHOOSER_REQUEST))
-#define WEBKIT_IS_FILE_CHOOSER_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_FILE_CHOOSER_REQUEST))
-#define WEBKIT_FILE_CHOOSER_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_FILE_CHOOSER_REQUEST, WebKitFileChooserRequestClass))
-
-typedef struct _WebKitFileChooserRequest WebKitFileChooserRequest;
-typedef struct _WebKitFileChooserRequestClass WebKitFileChooserRequestClass;
-typedef struct _WebKitFileChooserRequestPrivate WebKitFileChooserRequestPrivate;
-
-struct _WebKitFileChooserRequest {
- GObject parent;
-
- /*< private >*/
- WebKitFileChooserRequestPrivate *priv;
-};
-
-struct _WebKitFileChooserRequestClass {
- GObjectClass parent_class;
-};
-
-WEBKIT_API GType
-webkit_file_chooser_request_get_type (void);
-
-WEBKIT_API const gchar * const *
-webkit_file_chooser_request_get_mime_types (WebKitFileChooserRequest *request);
-
-WEBKIT_API GtkFileFilter *
-webkit_file_chooser_request_get_mime_types_filter (WebKitFileChooserRequest *request);
-
-WEBKIT_API gboolean
-webkit_file_chooser_request_get_select_multiple (WebKitFileChooserRequest *request);
-
-WEBKIT_API void
-webkit_file_chooser_request_select_files (WebKitFileChooserRequest *request,
- const gchar * const *files);
-
-WEBKIT_API const gchar * const *
-webkit_file_chooser_request_get_selected_files (WebKitFileChooserRequest *request);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitfilechooserrequestprivate.h b/Source/WebKit/gtk/webkit/webkitfilechooserrequestprivate.h
deleted file mode 100644
index a41cc79f6..000000000
--- a/Source/WebKit/gtk/webkit/webkitfilechooserrequestprivate.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2012 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 webkitfilechooserrequestprivate_h
-#define webkitfilechooserrequestprivate_h
-
-#include "FileChooser.h"
-#include "webkitfilechooserrequest.h"
-
-using namespace WebCore;
-
-WebKitFileChooserRequest* webkit_file_chooser_request_create(PassRefPtr<FileChooser> chooser);
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp b/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp
deleted file mode 100644
index 51465850b..000000000
--- a/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecision.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2010 Arno Renevier
- *
- * 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 "webkitgeolocationpolicydecision.h"
-
-#include "Geolocation.h"
-#include "webkitgeolocationpolicydecisionprivate.h"
-#include "webkitglobalsprivate.h"
-
-/**
- * SECTION:webkitgeolocationpolicydecision
- * @short_description: Liaison between WebKit and the application regarding asynchronous geolocation policy decisions
- *
- * #WebKitGeolocationPolicyDecision objects are given to the application when
- * geolocation-policy-decision-requested signal is emitted. The application
- * uses it to tell the engine whether it wants to allow or deny geolocation for
- * a given frame.
- */
-
-G_DEFINE_TYPE(WebKitGeolocationPolicyDecision, webkit_geolocation_policy_decision, G_TYPE_OBJECT);
-
-struct _WebKitGeolocationPolicyDecisionPrivate {
- WebKitWebFrame* frame;
-#if ENABLE(GEOLOCATION)
- WebCore::Geolocation* geolocation;
-#endif
-};
-
-static void webkit_geolocation_policy_decision_class_init(WebKitGeolocationPolicyDecisionClass* decisionClass)
-{
- g_type_class_add_private(decisionClass, sizeof(WebKitGeolocationPolicyDecisionPrivate));
-}
-
-static void webkit_geolocation_policy_decision_init(WebKitGeolocationPolicyDecision* decision)
-{
- decision->priv = G_TYPE_INSTANCE_GET_PRIVATE(decision, WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION, WebKitGeolocationPolicyDecisionPrivate);
-}
-
-#if ENABLE(GEOLOCATION)
-WebKitGeolocationPolicyDecision* webkit_geolocation_policy_decision_new(WebKitWebFrame* frame, WebCore::Geolocation* geolocation)
-{
- g_return_val_if_fail(frame, NULL);
- WebKitGeolocationPolicyDecision* decision = WEBKIT_GEOLOCATION_POLICY_DECISION(g_object_new(WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION, NULL));
- WebKitGeolocationPolicyDecisionPrivate* priv = decision->priv;
-
- priv->frame = frame;
- priv->geolocation = geolocation;
- return decision;
-}
-#endif
-
-/**
- * webkit_geolocation_policy_allow:
- * @decision: a #WebKitGeolocationPolicyDecision
- *
- * Will send the allow decision to the policy implementer.
- *
- * Since: 1.1.23
- */
-void webkit_geolocation_policy_allow(WebKitGeolocationPolicyDecision* decision)
-{
-#if ENABLE(GEOLOCATION)
- g_return_if_fail(WEBKIT_IS_GEOLOCATION_POLICY_DECISION(decision));
-
- WebKitGeolocationPolicyDecisionPrivate* priv = decision->priv;
- priv->geolocation->setIsAllowed(TRUE);
-#else
- WEBKIT_WARN_FEATURE_NOT_PRESENT("Geolocation")
-#endif
-}
-
-/**
- * webkit_geolocation_policy_deny:
- * @decision: a #WebKitGeolocationPolicyDecision
- *
- * Will send the deny decision to the policy implementer.
- *
- * Since: 1.1.23
- */
-void webkit_geolocation_policy_deny(WebKitGeolocationPolicyDecision* decision)
-{
-#if ENABLE(GEOLOCATION)
- g_return_if_fail(WEBKIT_IS_GEOLOCATION_POLICY_DECISION(decision));
-
- WebKitGeolocationPolicyDecisionPrivate* priv = decision->priv;
- priv->geolocation->setIsAllowed(FALSE);
-#else
- WEBKIT_WARN_FEATURE_NOT_PRESENT("Geolocation")
-#endif
-}
-
diff --git a/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecision.h b/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecision.h
deleted file mode 100644
index 27e0ef2d8..000000000
--- a/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecision.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2010 Arno Renevier
- *
- * 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 webkitgeolocationpolicydecision_h
-#define webkitgeolocationpolicydecision_h
-
-#include <glib-object.h>
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION (webkit_geolocation_policy_decision_get_type())
-#define WEBKIT_GEOLOCATION_POLICY_DECISION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION, WebKitGeolocationPolicyDecision))
-#define WEBKIT_GEOLOCATION_POLICY_DECISION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION, WebKitGeolocationPolicyDecisionClass))
-#define WEBKIT_IS_GEOLOCATION_POLICY_DECISION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION))
-#define WEBKIT_IS_GEOLOCATION_POLICY_DECISION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION))
-#define WEBKIT_GEOLOCATION_POLICY_DECISION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION, WebKitGeolocationPolicyDecisionClass))
-
-typedef struct _WebKitGeolocationPolicyDecisionPrivate WebKitGeolocationPolicyDecisionPrivate;
-struct _WebKitGeolocationPolicyDecision {
- GObject parent_instance;
-
- /*< private >*/
- WebKitGeolocationPolicyDecisionPrivate* priv;
-};
-
-struct _WebKitGeolocationPolicyDecisionClass {
- 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_geolocation_policy_decision_get_type (void);
-
-WEBKIT_API void
-webkit_geolocation_policy_allow (WebKitGeolocationPolicyDecision* decision);
-
-WEBKIT_API void
-webkit_geolocation_policy_deny (WebKitGeolocationPolicyDecision* decision);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecisionprivate.h b/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecisionprivate.h
deleted file mode 100644
index 177154cd2..000000000
--- a/Source/WebKit/gtk/webkit/webkitgeolocationpolicydecisionprivate.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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 webkitgeolocationpolicydecisionprivate_h
-#define webkitgeolocationpolicydecisionprivate_h
-
-#include "webkitgeolocationpolicydecision.h"
-
-#if ENABLE(GEOLOCATION)
-
-extern "C" {
-
-WebKitGeolocationPolicyDecision* webkit_geolocation_policy_decision_new(WebKitWebFrame*, WebCore::Geolocation*);
-
-}
-
-#endif // ENABLE(GEOLOCATION)
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitglobals.cpp b/Source/WebKit/gtk/webkit/webkitglobals.cpp
deleted file mode 100644
index c9c67d1cc..000000000
--- a/Source/WebKit/gtk/webkit/webkitglobals.cpp
+++ /dev/null
@@ -1,571 +0,0 @@
-/*
- * Copyright (C) 2007 Holger Hans Peter Freyther
- * Copyright (C) 2008, 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 "webkitglobals.h"
-
-#include "ApplicationCacheStorage.h"
-#include "Chrome.h"
-#include "ContextMenuItem.h"
-#include "FrameNetworkingContextGtk.h"
-#include "IconDatabase.h"
-#include "InitializeLogging.h"
-#include "MemoryCache.h"
-#include "Page.h"
-#include "PageCache.h"
-#include "PageGroup.h"
-#include "PlatformStrategiesGtk.h"
-#include "TextEncodingRegistry.h"
-#include "Pasteboard.h"
-#include "PasteboardHelperGtk.h"
-#include "ResourceHandle.h"
-#include "ResourceHandleClient.h"
-#include "ResourceHandleInternal.h"
-#include "ResourceResponse.h"
-#include "SchemeRegistry.h"
-#include "webkitapplicationcache.h"
-#include "webkitfavicondatabase.h"
-#include "webkitglobalsprivate.h"
-#include "webkiticondatabase.h"
-#include "webkitspellchecker.h"
-#include "webkitspellcheckerenchant.h"
-#include "webkitwebdatabase.h"
-#include "webkitwebplugindatabaseprivate.h"
-#include <libintl.h>
-#include <runtime/InitializeThreading.h>
-#include <stdlib.h>
-#include <wtf/MainThread.h>
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/gobject/GRefPtr.h>
-
-static WebKitCacheModel cacheModel = WEBKIT_CACHE_MODEL_DEFAULT;
-
-using namespace WebCore;
-
-/**
- * SECTION:webkit
- * @short_description: Global functions controlling WebKit
- *
- * WebKit manages many resources which are not related to specific
- * views. These functions relate to cross-view limits, such as cache
- * sizes, database quotas, and the HTTP session management.
- */
-
-/**
- * webkit_get_default_session:
- *
- * Retrieves the default #SoupSession used by all web views.
- * Note that the session features are added by WebKit on demand,
- * so if you insert your own #SoupCookieJar before any network
- * traffic occurs, WebKit will use it instead of the default.
- *
- * Return value: (transfer none): the default #SoupSession
- *
- * Since: 1.1.1
- */
-SoupSession* webkit_get_default_session ()
-{
- webkitInit();
- return ResourceHandle::defaultSession();
-}
-
-/**
- * webkit_set_cache_model:
- * @cache_model: a #WebKitCacheModel
- *
- * Specifies a usage model for WebViews, which WebKit will use to
- * determine its caching behavior. All web views follow the cache
- * model. This cache model determines the RAM and disk space to use
- * for caching previously viewed content .
- *
- * Research indicates that users tend to browse within clusters of
- * documents that hold resources in common, and to revisit previously
- * visited documents. WebKit and the frameworks below it include
- * built-in caches that take advantage of these patterns,
- * substantially improving document load speed in browsing
- * situations. The WebKit cache model controls the behaviors of all of
- * these caches, including various WebCore caches.
- *
- * Browsers can improve document load speed substantially by
- * specifying WEBKIT_CACHE_MODEL_WEB_BROWSER. Applications without a
- * browsing interface can reduce memory usage substantially by
- * specifying WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER. Default value is
- * WEBKIT_CACHE_MODEL_WEB_BROWSER.
- *
- * Since: 1.1.18
- */
-void webkit_set_cache_model(WebKitCacheModel model)
-{
- webkitInit();
-
- if (cacheModel == model)
- return;
-
- // FIXME: Add disk cache handling when soup has the API
- guint cacheTotalCapacity;
- guint cacheMinDeadCapacity;
- guint cacheMaxDeadCapacity;
- gdouble deadDecodedDataDeletionInterval;
- guint pageCacheCapacity;
-
- // FIXME: The Mac port calculates these values based on the amount of physical memory that's
- // installed on the system. Currently these values match the Mac port for users with more than
- // 512 MB and less than 1024 MB of physical memory.
- switch (model) {
- case WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER:
- pageCacheCapacity = 0;
- cacheTotalCapacity = 0; // FIXME: The Mac port actually sets this to larger than 0.
- cacheMinDeadCapacity = 0;
- cacheMaxDeadCapacity = 0;
- deadDecodedDataDeletionInterval = 0;
- break;
- case WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER:
- pageCacheCapacity = 2;
- cacheTotalCapacity = 16 * 1024 * 1024;
- cacheMinDeadCapacity = cacheTotalCapacity / 8;
- cacheMaxDeadCapacity = cacheTotalCapacity / 4;
- 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;
- cacheMaxDeadCapacity = cacheTotalCapacity / 2;
- deadDecodedDataDeletionInterval = 60;
- break;
- default:
- g_return_if_reached();
- }
-
- bool disableCache = !cacheMinDeadCapacity && !cacheMaxDeadCapacity && !cacheTotalCapacity;
- memoryCache()->setDisabled(disableCache);
- memoryCache()->setCapacities(cacheMinDeadCapacity, cacheMaxDeadCapacity, cacheTotalCapacity);
- memoryCache()->setDeadDecodedDataDeletionInterval(deadDecodedDataDeletionInterval);
- pageCache()->setCapacity(pageCacheCapacity);
- cacheModel = model;
-}
-
-/**
- * webkit_get_cache_model:
- *
- * Returns the current cache model. For more information about this
- * value check the documentation of the function
- * webkit_set_cache_model().
- *
- * Return value: the current #WebKitCacheModel
- *
- * Since: 1.1.18
- */
-WebKitCacheModel webkit_get_cache_model()
-{
- webkitInit();
- return cacheModel;
-}
-
-/**
- * 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()
-{
- static WebKitWebPluginDatabase* database = 0;
-
- webkitInit();
-
- if (!database)
- database = webkit_web_plugin_database_new();
-
- return database;
-}
-
-/**
- * webkit_get_icon_database:
- *
- * Returns the #WebKitIconDatabase providing access to website icons.
- *
- * Return value: (transfer none): the current #WebKitIconDatabase
- *
- * Since: 1.3.13
- *
- * Deprecated: 1.8: Use webkit_get_favicon_database() instead
- */
-WebKitIconDatabase* webkit_get_icon_database()
-{
- webkitInit();
-
- static WebKitIconDatabase* database = 0;
- if (!database)
- database = WEBKIT_ICON_DATABASE(g_object_new(WEBKIT_TYPE_ICON_DATABASE, NULL));
-
- return database;
-}
-
-/**
- * webkit_get_favicon_database:
- *
- * Returns the #WebKitFaviconDatabase providing access to website
- * icons.
- *
- * Return value: (transfer none): the current #WebKitFaviconDatabase
- *
- * Since: 1.8
- */
-WebKitFaviconDatabase* webkit_get_favicon_database()
-{
- webkitInit();
-
- static WebKitFaviconDatabase* database = 0;
- if (!database)
- database = WEBKIT_FAVICON_DATABASE(g_object_new(WEBKIT_TYPE_FAVICON_DATABASE, NULL));
-
- return database;
-}
-
-static GRefPtr<WebKitSpellChecker> textChecker = 0;
-
-static void webkitExit()
-{
- g_object_unref(webkit_get_default_session());
-#if ENABLE(ICONDATABASE)
- g_object_unref(webkit_get_favicon_database());
-#endif
- textChecker = 0;
-}
-
-/**
- * webkit_get_text_checker:
- *
- * Returns: (transfer none): the #WebKitSpellChecker used by WebKit, or %NULL if spell
- * checking is not enabled
- *
- * Since: 1.5.1
- **/
-GObject* webkit_get_text_checker()
-{
- webkitInit();
-
-#if ENABLE(SPELLCHECK)
- if (!textChecker)
- textChecker = adoptGRef(WEBKIT_SPELL_CHECKER(g_object_new(WEBKIT_TYPE_SPELL_CHECKER_ENCHANT, NULL)));
-#endif
-
- return G_OBJECT(textChecker.get());
-}
-
-/**
- * webkit_set_text_checker:
- * @checker: a #WebKitSpellChecker or %NULL
- *
- * Sets @checker as the spell checker to be used by WebKit. The API
- * accepts GObject since in the future we might accept objects
- * implementing multiple interfaces (for example, spell checking and
- * grammar checking).
- *
- * Since: 1.5.1
- **/
-void webkit_set_text_checker(GObject* checker)
-{
- g_return_if_fail(!checker || WEBKIT_IS_SPELL_CHECKER(checker));
-
- webkitInit();
-
- // We need to do this because we need the cast, and casting NULL
- // is not kosher.
- textChecker = checker ? WEBKIT_SPELL_CHECKER(checker) : 0;
-}
-
-/**
- * webkit_context_menu_item_get_action:
- * @item: a #GtkMenuItem of the default context menu
- *
- * Returns the #WebKitContextMenuAction of the given @item. This function
- * can be used to determine the items present in the default context menu.
- * In order to inspect the default context menu, you should connect to
- * #WebKitWebView::context-menu signal.
- *
- * <example>
- * <title>Inspecting the default context menu</title>
- * <programlisting>
- * static gboolean context_menu_cb (WebKitWebView *webView,
- * GtkWidget *default_menu,
- * WebKitHitTestResult *hit_test_result,
- * gboolean triggered_with_keyboard,
- * gpointer user_data)
- * {
- * GList *items = gtk_container_get_children (GTK_CONTAINER (default_menu));
- * GList *l;
- * GtkAction *action;
- * GtkWidget *sub_menu;
- *
- * for (l = items; l; l = g_list_next (l)) {
- * GtkMenuItem *item = (GtkMenuItem *)l->data;
- *
- * if (GTK_IS_SEPARATOR_MENU_ITEM (item)) {
- * /&ast; It's separator, do nothing &ast;/
- * continue;
- * }
- *
- * switch (webkit_context_menu_item_get_action (item)) {
- * case WEBKIT_CONTEXT_MENU_ACTION_NO_ACTION:
- * /&ast; No action for this item &ast;/
- * break;
- * /&ast; Don't allow to ope links from context menu &ast;/
- * case WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK:
- * case WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK_IN_NEW_WINDOW:
- * action = gtk_activatable_get_related_action (GTK_ACTIVATABLE (item));
- * gtk_action_set_sensitive (action, FALSE);
- * break;
- * default:
- * break;
- * }
- *
- * sub_menu = gtk_menu_item_get_submenu (item);
- * if (sub_menu) {
- * GtkWidget *menu_item;
- *
- * /&ast; Add custom action to submenu &ast;/
- * action = gtk_action_new ("CustomItemName", "Custom Action", NULL, NULL);
- * g_signal_connect (action, "activate", G_CALLBACK (custom_menu_item_activated), NULL);
- *
- * menu_item = gtk_action_create_menu_item (action);
- * g_object_unref (action);
- * gtk_menu_shell_append (GTK_MENU_SHELL (sub_menu), menu_item);
- * gtk_widget_show (menu_item);
- * }
- * }
- *
- * g_list_free(items);
- * }
- * </programlisting>
- * </example>
- *
- * Note that you can get the #GtkAction of any item in the default context menu with
- * gtk_activatable_get_related_action().
- *
- * Returns: the #WebKitContextMenuAction of the given @item
- *
- * Since: 1.10
- */
-WebKitContextMenuAction webkit_context_menu_item_get_action(GtkMenuItem* item)
-{
-#if ENABLE(CONTEXT_MENUS)
- g_return_val_if_fail(GTK_IS_MENU_ITEM(item), WEBKIT_CONTEXT_MENU_ACTION_NO_ACTION);
-
- ContextMenuItem menuItem(item);
- switch (menuItem.action()) {
- case ContextMenuItemTagNoAction:
- return WEBKIT_CONTEXT_MENU_ACTION_NO_ACTION;
- case ContextMenuItemTagOpenLink:
- return WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK;
- case ContextMenuItemTagOpenLinkInNewWindow:
- return WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK_IN_NEW_WINDOW;
- case ContextMenuItemTagDownloadLinkToDisk:
- return WEBKIT_CONTEXT_MENU_ACTION_DOWNLOAD_LINK_TO_DISK;
- case ContextMenuItemTagCopyLinkToClipboard:
- return WEBKIT_CONTEXT_MENU_ACTION_COPY_LINK_TO_CLIPBOARD;
- case ContextMenuItemTagOpenImageInNewWindow:
- return WEBKIT_CONTEXT_MENU_ACTION_OPEN_IMAGE_IN_NEW_WINDOW;
- case ContextMenuItemTagDownloadImageToDisk:
- return WEBKIT_CONTEXT_MENU_ACTION_DOWNLOAD_IMAGE_TO_DISK;
- case ContextMenuItemTagCopyImageToClipboard:
- return WEBKIT_CONTEXT_MENU_ACTION_COPY_IMAGE_TO_CLIPBOARD;
- case ContextMenuItemTagCopyImageUrlToClipboard:
- return WEBKIT_CONTEXT_MENU_ACTION_COPY_IMAGE_URL_TO_CLIPBOARD;
- case ContextMenuItemTagOpenFrameInNewWindow:
- return WEBKIT_CONTEXT_MENU_ACTION_OPEN_FRAME_IN_NEW_WINDOW;
- case ContextMenuItemTagGoBack:
- return WEBKIT_CONTEXT_MENU_ACTION_GO_BACK;
- case ContextMenuItemTagGoForward:
- return WEBKIT_CONTEXT_MENU_ACTION_GO_FORWARD;
- case ContextMenuItemTagStop:
- return WEBKIT_CONTEXT_MENU_ACTION_STOP;
- case ContextMenuItemTagReload:
- return WEBKIT_CONTEXT_MENU_ACTION_RELOAD;
- case ContextMenuItemTagCopy:
- return WEBKIT_CONTEXT_MENU_ACTION_COPY;
- case ContextMenuItemTagCut:
- return WEBKIT_CONTEXT_MENU_ACTION_CUT;
- case ContextMenuItemTagPaste:
- return WEBKIT_CONTEXT_MENU_ACTION_PASTE;
- case ContextMenuItemTagDelete:
- return WEBKIT_CONTEXT_MENU_ACTION_DELETE;
- case ContextMenuItemTagSelectAll:
- return WEBKIT_CONTEXT_MENU_ACTION_SELECT_ALL;
- case ContextMenuItemTagInputMethods:
- return WEBKIT_CONTEXT_MENU_ACTION_INPUT_METHODS;
- case ContextMenuItemTagUnicode:
- return WEBKIT_CONTEXT_MENU_ACTION_UNICODE;
- case ContextMenuItemTagSpellingGuess:
- return WEBKIT_CONTEXT_MENU_ACTION_SPELLING_GUESS;
- case ContextMenuItemTagIgnoreSpelling:
- return WEBKIT_CONTEXT_MENU_ACTION_IGNORE_SPELLING;
- case ContextMenuItemTagLearnSpelling:
- return WEBKIT_CONTEXT_MENU_ACTION_LEARN_SPELLING;
- case ContextMenuItemTagIgnoreGrammar:
- return WEBKIT_CONTEXT_MENU_ACTION_IGNORE_GRAMMAR;
- case ContextMenuItemTagFontMenu:
- return WEBKIT_CONTEXT_MENU_ACTION_FONT_MENU;
- case ContextMenuItemTagBold:
- return WEBKIT_CONTEXT_MENU_ACTION_BOLD;
- case ContextMenuItemTagItalic:
- return WEBKIT_CONTEXT_MENU_ACTION_ITALIC;
- case ContextMenuItemTagUnderline:
- return WEBKIT_CONTEXT_MENU_ACTION_UNDERLINE;
- case ContextMenuItemTagOutline:
- return WEBKIT_CONTEXT_MENU_ACTION_OUTLINE;
- case ContextMenuItemTagInspectElement:
- return WEBKIT_CONTEXT_MENU_ACTION_INSPECT_ELEMENT;
- case ContextMenuItemTagOpenMediaInNewWindow:
- return WEBKIT_CONTEXT_MENU_ACTION_OPEN_MEDIA_IN_NEW_WINDOW;
- case ContextMenuItemTagCopyMediaLinkToClipboard:
- return WEBKIT_CONTEXT_MENU_ACTION_COPY_MEDIA_LINK_TO_CLIPBOARD;
- case ContextMenuItemTagToggleMediaControls:
- return WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_MEDIA_CONTROLS;
- case ContextMenuItemTagToggleMediaLoop:
- return WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_MEDIA_LOOP;
- case ContextMenuItemTagEnterVideoFullscreen:
- return WEBKIT_CONTEXT_MENU_ACTION_ENTER_VIDEO_FULLSCREEN;
- case ContextMenuItemTagMediaPlayPause:
- return WEBKIT_CONTEXT_MENU_ACTION_MEDIA_PLAY_PAUSE;
- case ContextMenuItemTagMediaMute:
- return WEBKIT_CONTEXT_MENU_ACTION_MEDIA_MUTE;
- default:
- g_assert_not_reached();
- }
-#else
- return WEBKIT_CONTEXT_MENU_ACTION_NO_ACTION;
-#endif
-}
-
-/**
- * webkit_set_security_policy_for_uri_scheme:
- * @scheme: a URI scheme
- * @policy: a #WebKitSecurityPolicy
- *
- * Set the security policy for the given URI scheme.
- *
- * Since: 2.0
- */
-void webkit_set_security_policy_for_uri_scheme(const char *scheme, WebKitSecurityPolicy policy)
-{
- g_return_if_fail(scheme);
-
- if (!policy)
- return;
-
- String urlScheme = String::fromUTF8(scheme);
-
- if (policy & WEBKIT_SECURITY_POLICY_LOCAL)
- SchemeRegistry::registerURLSchemeAsLocal(urlScheme);
- if (policy & WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME)
- SchemeRegistry::registerURLSchemeAsNoAccess(urlScheme);
- if (policy & WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED)
- SchemeRegistry::registerURLSchemeAsDisplayIsolated(urlScheme);
- if (policy & WEBKIT_SECURITY_POLICY_SECURE)
- SchemeRegistry::registerURLSchemeAsSecure(urlScheme);
- if (policy & WEBKIT_SECURITY_POLICY_CORS_ENABLED)
- SchemeRegistry::registerURLSchemeAsCORSEnabled(urlScheme);
- if (policy & WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT)
- SchemeRegistry::registerURLSchemeAsEmptyDocument(urlScheme);
-}
-
-/**
- * webkit_get_security_policy_for_uri_scheme:
- * @scheme: a URI scheme
- *
- * Get the security policy for the given URI scheme.
- *
- * Returns: a #WebKitSecurityPolicy
- *
- * Since: 2.0
- */
-WebKitSecurityPolicy webkit_get_security_policy_for_uri_scheme(const char *scheme)
-{
- g_return_val_if_fail(scheme, static_cast<WebKitSecurityPolicy>(0));
-
- guint policy = 0;
- String urlScheme = String::fromUTF8(scheme);
-
- if (SchemeRegistry::shouldTreatURLSchemeAsLocal(urlScheme))
- policy |= WEBKIT_SECURITY_POLICY_LOCAL;
- if (SchemeRegistry::shouldTreatURLSchemeAsNoAccess(urlScheme))
- policy |= WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME;
- if (SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated(urlScheme))
- policy |= WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED;
- if (SchemeRegistry::shouldTreatURLSchemeAsSecure(urlScheme))
- policy |= WEBKIT_SECURITY_POLICY_SECURE;
- if (SchemeRegistry::shouldTreatURLSchemeAsCORSEnabled(urlScheme))
- policy |= WEBKIT_SECURITY_POLICY_CORS_ENABLED;
- if (SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument(urlScheme))
- policy |= WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT;
-
- return static_cast<WebKitSecurityPolicy>(policy);
-}
-
-void webkitInit()
-{
- static bool isInitialized = false;
- if (isInitialized)
- return;
- isInitialized = true;
-
- bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
- bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
-
- JSC::initializeThreading();
- WTF::initializeMainThread();
-
-#if !LOG_DISABLED
- WebCore::initializeLoggingChannelsIfNecessary();
-#endif // !LOG_DISABLED
- PlatformStrategiesGtk::initialize();
-
- // We make sure the text codecs have been initialized, because
- // that may only be done by the main thread.
- atomicCanonicalTextEncodingName("UTF-8");
-
- GOwnPtr<gchar> databaseDirectory(g_build_filename(g_get_user_data_dir(), "webkit", "databases", NULL));
- webkit_set_web_database_directory_path(databaseDirectory.get());
-
- GOwnPtr<gchar> cacheDirectory(g_build_filename(g_get_user_cache_dir(), "webkitgtk", "applications", NULL));
- WebCore::cacheStorage().setCacheDirectory(cacheDirectory.get());
-
- PageGroup::setShouldTrackVisitedLinks(true);
-
- GOwnPtr<gchar> iconDatabasePath(g_build_filename(g_get_user_data_dir(), "webkit", "icondatabase", NULL));
- webkit_icon_database_set_path(webkit_get_icon_database(), iconDatabasePath.get());
-
- WebCore::ResourceHandle::setIgnoreSSLErrors(true);
-
- atexit(webkitExit);
-}
-
-const char* webkitPageGroupName()
-{
- return "org.webkit.gtk.WebKitGTK";
-}
diff --git a/Source/WebKit/gtk/webkit/webkitglobals.h b/Source/WebKit/gtk/webkit/webkitglobals.h
deleted file mode 100644
index f002d6db8..000000000
--- a/Source/WebKit/gtk/webkit/webkitglobals.h
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * 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 webkitglobals_h
-#define webkitglobals_h
-
-#include "webkitdefines.h"
-#include <glib.h>
-#include <gtk/gtk.h>
-#include <libsoup/soup.h>
-
-G_BEGIN_DECLS
-
-/**
- * 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 a single local file, with no navigation to other pages. No remote
- * resources will be cached.
- * @WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER: A cache model optimized for viewing
- * a series of local files -- for example, a documentation viewer or a website
- * designer. WebKit will cache a moderate number of resources.
- * @WEBKIT_CACHE_MODEL_WEB_BROWSER: Improve document load speed substantially
- * by caching a very large number of resources and previously viewed content.
- *
- * Enum values used for determining the webview cache model.
- *
- **/
-typedef enum {
- WEBKIT_CACHE_MODEL_DEFAULT,
- WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER,
- WEBKIT_CACHE_MODEL_WEB_BROWSER,
- WEBKIT_CACHE_MODEL_DOCUMENT_BROWSER,
-} WebKitCacheModel;
-
-/**
- * WebKitContextMenuAction:
- * @WEBKIT_CONTEXT_MENU_ACTION_NO_ACTION: No action, used by separator menu items.
- * @WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK: Open current link.
- * @WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK_IN_NEW_WINDOW: Open current link in a new window.
- * @WEBKIT_CONTEXT_MENU_ACTION_DOWNLOAD_LINK_TO_DISK: Download link destination.
- * @WEBKIT_CONTEXT_MENU_ACTION_COPY_LINK_TO_CLIPBOARD: Copy link location to the clipboard.
- * @WEBKIT_CONTEXT_MENU_ACTION_OPEN_IMAGE_IN_NEW_WINDOW: Open current image in a new window.
- * @WEBKIT_CONTEXT_MENU_ACTION_DOWNLOAD_IMAGE_TO_DISK: Download current image.
- * @WEBKIT_CONTEXT_MENU_ACTION_COPY_IMAGE_TO_CLIPBOARD: Copy current image to the clipboard.
- * @WEBKIT_CONTEXT_MENU_ACTION_COPY_IMAGE_URL_TO_CLIPBOARD: Copy curent image location to the clipboard.
- * @WEBKIT_CONTEXT_MENU_ACTION_OPEN_FRAME_IN_NEW_WINDOW: Open current frame in a new window.
- * @WEBKIT_CONTEXT_MENU_ACTION_GO_BACK: Load the previous history item.
- * @WEBKIT_CONTEXT_MENU_ACTION_GO_FORWARD: Load the next history item.
- * @WEBKIT_CONTEXT_MENU_ACTION_STOP: Stop any ongoing loading operation.
- * @WEBKIT_CONTEXT_MENU_ACTION_RELOAD: Reload the conents of current view.
- * @WEBKIT_CONTEXT_MENU_ACTION_COPY: Copy current selection the clipboard.
- * @WEBKIT_CONTEXT_MENU_ACTION_CUT: Cut current selection to the clipboard.
- * @WEBKIT_CONTEXT_MENU_ACTION_PASTE: Paste clipboard contents.
- * @WEBKIT_CONTEXT_MENU_ACTION_DELETE: Delete current selection.
- * @WEBKIT_CONTEXT_MENU_ACTION_SELECT_ALL: Select all text.
- * @WEBKIT_CONTEXT_MENU_ACTION_INPUT_METHODS: Input methods menu.
- * @WEBKIT_CONTEXT_MENU_ACTION_UNICODE: Unicode menu.
- * @WEBKIT_CONTEXT_MENU_ACTION_SPELLING_GUESS: Guess spelling.
- * @WEBKIT_CONTEXT_MENU_ACTION_NO_GUESSES_FOUND: No guesses found.
- * @WEBKIT_CONTEXT_MENU_ACTION_IGNORE_SPELLING: Ignore spelling.
- * @WEBKIT_CONTEXT_MENU_ACTION_LEARN_SPELLING: Learn spelling.
- * @WEBKIT_CONTEXT_MENU_ACTION_IGNORE_GRAMMAR: Ignore grammar.
- * @WEBKIT_CONTEXT_MENU_ACTION_FONT_MENU: Font menu.
- * @WEBKIT_CONTEXT_MENU_ACTION_BOLD: Bold.
- * @WEBKIT_CONTEXT_MENU_ACTION_ITALIC: Italic.
- * @WEBKIT_CONTEXT_MENU_ACTION_UNDERLINE: Underline.
- * @WEBKIT_CONTEXT_MENU_ACTION_OUTLINE: Outline.
- * @WEBKIT_CONTEXT_MENU_ACTION_INSPECT_ELEMENT: Open current element in the inspector.
- * @WEBKIT_CONTEXT_MENU_ACTION_OPEN_MEDIA_IN_NEW_WINDOW: Open current media element in a new window.
- * @WEBKIT_CONTEXT_MENU_ACTION_COPY_MEDIA_LINK_TO_CLIPBOARD: Copy media link location in to the clipboard.
- * @WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_MEDIA_CONTROLS: Enable or disable media controls.
- * @WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_MEDIA_LOOP: Enable or disable media loop.
- * @WEBKIT_CONTEXT_MENU_ACTION_ENTER_VIDEO_FULLSCREEN: Show current video element in fullscreen mode.
- * @WEBKIT_CONTEXT_MENU_ACTION_MEDIA_PLAY_PAUSE: Play or pause current media element.
- * @WEBKIT_CONTEXT_MENU_ACTION_MEDIA_MUTE: Mute current media element.
- *
- * Enum values used to denote actions of items in the default context menu.
- *
- * Since: 1.10
- */
-typedef enum {
- WEBKIT_CONTEXT_MENU_ACTION_NO_ACTION = 0,
- WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK,
- WEBKIT_CONTEXT_MENU_ACTION_OPEN_LINK_IN_NEW_WINDOW,
- WEBKIT_CONTEXT_MENU_ACTION_DOWNLOAD_LINK_TO_DISK,
- WEBKIT_CONTEXT_MENU_ACTION_COPY_LINK_TO_CLIPBOARD,
- WEBKIT_CONTEXT_MENU_ACTION_OPEN_IMAGE_IN_NEW_WINDOW,
- WEBKIT_CONTEXT_MENU_ACTION_DOWNLOAD_IMAGE_TO_DISK,
- WEBKIT_CONTEXT_MENU_ACTION_COPY_IMAGE_TO_CLIPBOARD,
- WEBKIT_CONTEXT_MENU_ACTION_COPY_IMAGE_URL_TO_CLIPBOARD,
- WEBKIT_CONTEXT_MENU_ACTION_OPEN_FRAME_IN_NEW_WINDOW,
- WEBKIT_CONTEXT_MENU_ACTION_GO_BACK,
- WEBKIT_CONTEXT_MENU_ACTION_GO_FORWARD,
- WEBKIT_CONTEXT_MENU_ACTION_STOP,
- WEBKIT_CONTEXT_MENU_ACTION_RELOAD,
- WEBKIT_CONTEXT_MENU_ACTION_COPY,
- WEBKIT_CONTEXT_MENU_ACTION_CUT,
- WEBKIT_CONTEXT_MENU_ACTION_PASTE,
- WEBKIT_CONTEXT_MENU_ACTION_DELETE,
- WEBKIT_CONTEXT_MENU_ACTION_SELECT_ALL,
- WEBKIT_CONTEXT_MENU_ACTION_INPUT_METHODS,
- WEBKIT_CONTEXT_MENU_ACTION_UNICODE,
- WEBKIT_CONTEXT_MENU_ACTION_SPELLING_GUESS,
- WEBKIT_CONTEXT_MENU_ACTION_NO_GUESSES_FOUND,
- WEBKIT_CONTEXT_MENU_ACTION_IGNORE_SPELLING,
- WEBKIT_CONTEXT_MENU_ACTION_LEARN_SPELLING,
- WEBKIT_CONTEXT_MENU_ACTION_IGNORE_GRAMMAR,
- WEBKIT_CONTEXT_MENU_ACTION_FONT_MENU,
- WEBKIT_CONTEXT_MENU_ACTION_BOLD,
- WEBKIT_CONTEXT_MENU_ACTION_ITALIC,
- WEBKIT_CONTEXT_MENU_ACTION_UNDERLINE,
- WEBKIT_CONTEXT_MENU_ACTION_OUTLINE,
- WEBKIT_CONTEXT_MENU_ACTION_INSPECT_ELEMENT,
- WEBKIT_CONTEXT_MENU_ACTION_OPEN_MEDIA_IN_NEW_WINDOW,
- WEBKIT_CONTEXT_MENU_ACTION_COPY_MEDIA_LINK_TO_CLIPBOARD,
- WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_MEDIA_CONTROLS,
- WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_MEDIA_LOOP,
- WEBKIT_CONTEXT_MENU_ACTION_ENTER_VIDEO_FULLSCREEN,
- WEBKIT_CONTEXT_MENU_ACTION_MEDIA_PLAY_PAUSE,
- WEBKIT_CONTEXT_MENU_ACTION_MEDIA_MUTE
-} WebKitContextMenuAction;
-
-/**
- * WebKitSecurityPolicy:
- * @WEBKIT_SECURITY_POLICY_LOCAL: Local URI scheme, other non-local pages
- * cannot link to or access URIs of this scheme.
- * @WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME: Pages loaded with this URI scheme
- * cannot access pages loaded with any other URI scheme.
- * @WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED: Pages cannot display these URIs
- * unless they are from the same scheme.
- * @WEBKIT_SECURITY_POLICY_SECURE: Secure URI scheme, doesn't generate mixed
- * content warnings when included by an HTTPS page.
- * @WEBKIT_SECURITY_POLICY_CORS_ENABLED: URI scheme that can be sent
- * CORS (Cross-origin resource sharing) requests. See W3C CORS specification
- * http://www.w3.org/TR/cors/.
- * @WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT: Strictly empty documents allowed
- * to commit synchronously.
- *
- * Flags used to represent the security policy of a URI scheme.
- *
- * Since: 2.0
- */
-typedef enum {
- WEBKIT_SECURITY_POLICY_LOCAL = 1 << 1,
- WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME = 1 << 2,
- WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED = 1 << 3,
- WEBKIT_SECURITY_POLICY_SECURE = 1 << 4,
- WEBKIT_SECURITY_POLICY_CORS_ENABLED = 1 << 5,
- WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT = 1 << 6
-} WebKitSecurityPolicy;
-
-WEBKIT_API SoupSession*
-webkit_get_default_session (void);
-
-WEBKIT_API WebKitWebPluginDatabase *
-webkit_get_web_plugin_database (void);
-
-#if !defined(WEBKIT_DISABLE_DEPRECATED)
-WEBKIT_API WebKitIconDatabase *
-webkit_get_icon_database (void);
-#endif
-
-WEBKIT_API WebKitFaviconDatabase *
-webkit_get_favicon_database (void);
-
-WEBKIT_API void
-webkit_set_cache_model (WebKitCacheModel cache_model);
-
-WEBKIT_API WebKitCacheModel
-webkit_get_cache_model (void);
-
-WEBKIT_API GObject*
-webkit_get_text_checker (void);
-
-WEBKIT_API void
-webkit_set_text_checker (GObject* checker);
-
-WEBKIT_API WebKitContextMenuAction
-webkit_context_menu_item_get_action (GtkMenuItem* item);
-
-WEBKIT_API void
-webkit_set_security_policy_for_uri_scheme (const gchar *scheme,
- WebKitSecurityPolicy policy);
-
-WEBKIT_API WebKitSecurityPolicy
-webkit_get_security_policy_for_uri_scheme (const gchar *scheme);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitglobalsprivate.h b/Source/WebKit/gtk/webkit/webkitglobalsprivate.h
deleted file mode 100644
index 440ba32a0..000000000
--- a/Source/WebKit/gtk/webkit/webkitglobalsprivate.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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 webkitglobalsprivate_h
-#define webkitglobalsprivate_h
-
-#include <glib.h>
-
-#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_WARN_FEATURE_NOT_PRESENT(Feature) g_warning("WebKitGTK+ was not compiled with support for " Feature);
-
-extern "C" {
-
-void webkitInit();
-const char* webkitPageGroupName();
-
-}
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkithittestresult.cpp b/Source/WebKit/gtk/webkit/webkithittestresult.cpp
deleted file mode 100644
index 794379e16..000000000
--- a/Source/WebKit/gtk/webkit/webkithittestresult.cpp
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * Copyright (C) 2009 Collabora Ltd.
- * Copyright (C) 2009 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 "config.h"
-#include "webkithittestresult.h"
-
-#include "Frame.h"
-#include "FrameView.h"
-#include "HitTestResult.h"
-#include "KURL.h"
-#include "WebKitDOMNodePrivate.h"
-#include "webkitenumtypes.h"
-#include "webkitglobals.h"
-#include "webkitglobalsprivate.h"
-#include <glib/gi18n-lib.h>
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/gobject/GRefPtr.h>
-#include <wtf/text/CString.h>
-
-/**
- * SECTION:webkithittestresult
- * @short_description: The target of a mouse event
- *
- * This class holds context information about the coordinates
- * specified by a GDK event.
- */
-
-G_DEFINE_TYPE(WebKitHitTestResult, webkit_hit_test_result, G_TYPE_OBJECT)
-
-struct _WebKitHitTestResultPrivate {
- guint context;
- char* linkURI;
- char* imageURI;
- char* mediaURI;
- GRefPtr<WebKitDOMNode> innerNode;
- WebCore::IntPoint position;
-};
-
-enum {
- PROP_0,
-
- PROP_CONTEXT,
- PROP_LINK_URI,
- PROP_IMAGE_URI,
- PROP_MEDIA_URI,
- PROP_INNER_NODE,
- PROP_X,
- PROP_Y
-};
-
-static void webkit_hit_test_result_finalize(GObject* object)
-{
- WebKitHitTestResult* web_hit_test_result = WEBKIT_HIT_TEST_RESULT(object);
- WebKitHitTestResultPrivate* priv = web_hit_test_result->priv;
-
- g_free(priv->linkURI);
- g_free(priv->imageURI);
- g_free(priv->mediaURI);
-
- G_OBJECT_CLASS(webkit_hit_test_result_parent_class)->finalize(object);
-}
-
-static void webkit_hit_test_result_dispose(GObject* object)
-{
- WEBKIT_HIT_TEST_RESULT(object)->priv->~WebKitHitTestResultPrivate();
-
- G_OBJECT_CLASS(webkit_hit_test_result_parent_class)->dispose(object);
-}
-
-static void webkit_hit_test_result_get_property(GObject* object, guint propertyID, GValue* value, GParamSpec* pspec)
-{
- WebKitHitTestResult* web_hit_test_result = WEBKIT_HIT_TEST_RESULT(object);
- WebKitHitTestResultPrivate* priv = web_hit_test_result->priv;
-
- switch(propertyID) {
- case PROP_CONTEXT:
- g_value_set_flags(value, priv->context);
- break;
- case PROP_LINK_URI:
- g_value_set_string(value, priv->linkURI);
- break;
- case PROP_IMAGE_URI:
- g_value_set_string(value, priv->imageURI);
- break;
- case PROP_MEDIA_URI:
- g_value_set_string(value, priv->mediaURI);
- break;
- case PROP_INNER_NODE:
- g_value_set_object(value, priv->innerNode.get());
- break;
- case PROP_X:
- g_value_set_int(value, priv->position.x());
- break;
- case PROP_Y:
- g_value_set_int(value, priv->position.y());
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyID, pspec);
- }
-}
-
-static void webkit_hit_test_result_set_property(GObject* object, guint propertyID, const GValue* value, GParamSpec* pspec)
-{
- WebKitHitTestResult* web_hit_test_result = WEBKIT_HIT_TEST_RESULT(object);
- WebKitHitTestResultPrivate* priv = web_hit_test_result->priv;
-
- switch(propertyID) {
- case PROP_CONTEXT:
- priv->context = g_value_get_flags(value);
- break;
- case PROP_LINK_URI:
- g_free (priv->linkURI);
- priv->linkURI = g_value_dup_string(value);
- break;
- case PROP_IMAGE_URI:
- g_free (priv->imageURI);
- priv->imageURI = g_value_dup_string(value);
- break;
- case PROP_MEDIA_URI:
- g_free (priv->mediaURI);
- priv->mediaURI = g_value_dup_string(value);
- break;
- case PROP_INNER_NODE:
- priv->innerNode = static_cast<WebKitDOMNode*>(g_value_get_object(value));
- break;
- case PROP_X:
- priv->position.setX(g_value_get_int(value));
- break;
- case PROP_Y:
- priv->position.setY(g_value_get_int(value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyID, pspec);
- }
-}
-
-static void webkit_hit_test_result_class_init(WebKitHitTestResultClass* webHitTestResultClass)
-{
- GObjectClass* objectClass = G_OBJECT_CLASS(webHitTestResultClass);
-
- objectClass->finalize = webkit_hit_test_result_finalize;
- objectClass->dispose = webkit_hit_test_result_dispose;
- objectClass->get_property = webkit_hit_test_result_get_property;
- objectClass->set_property = webkit_hit_test_result_set_property;
-
- webkitInit();
-
- /**
- * WebKitHitTestResult:context:
- *
- * Flags indicating the kind of target that received the event.
- *
- * Since: 1.1.15
- */
- g_object_class_install_property(objectClass, PROP_CONTEXT,
- g_param_spec_flags("context",
- _("Context"),
- _("Flags indicating the kind of target that received the event."),
- WEBKIT_TYPE_HIT_TEST_RESULT_CONTEXT,
- WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT,
- static_cast<GParamFlags>((WEBKIT_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY))));
-
- /**
- * WebKitHitTestResult:link-uri:
- *
- * The URI to which the target that received the event points, if any.
- *
- * Since: 1.1.15
- */
- g_object_class_install_property(objectClass, PROP_LINK_URI,
- g_param_spec_string("link-uri",
- _("Link URI"),
- _("The URI to which the target that received the event points, if any."),
- NULL,
- static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY)));
-
- /**
- * WebKitHitTestResult:image-uri:
- *
- * The URI of the image that is part of the target that received the event, if any.
- *
- * Since: 1.1.15
- */
- g_object_class_install_property(objectClass, PROP_IMAGE_URI,
- g_param_spec_string("image-uri",
- _("Image URI"),
- _("The URI of the image that is part of the target that received the event, if any."),
- NULL,
- static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY)));
-
- /**
- * WebKitHitTestResult:media-uri:
- *
- * The URI of the media that is part of the target that received the event, if any.
- *
- * Since: 1.1.15
- */
- g_object_class_install_property(objectClass, PROP_MEDIA_URI,
- g_param_spec_string("media-uri",
- _("Media URI"),
- _("The URI of the media that is part of the target that received the event, if any."),
- NULL,
- static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY)));
-
- /**
- * WebKitHitTestResult:inner-node:
- *
- * The DOM node at the coordinates where the hit test
- * happened. Keep in mind that the node might not be
- * representative of the information given in the context
- * property, since WebKit uses a series of heuristics to figure
- * out that information. One common example is inner-node having
- * the text node inside the anchor (&lt;a&gt;) tag; WebKit knows the
- * whole context and will put WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK
- * in the 'context' property, but the user might be confused by
- * the lack of any link tag in 'inner-node'.
- *
- * Since: 1.3.2
- */
- g_object_class_install_property(objectClass, PROP_INNER_NODE,
- g_param_spec_object("inner-node",
- _("Inner node"),
- _("The inner DOM node associated with the hit test result."),
- WEBKIT_TYPE_DOM_NODE,
- static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
-
- /**
- * WebKitHitTestResult:x:
- *
- * The x coordinate of the event relative to the view's window.
- *
- * Since: 1.10
- */
- g_object_class_install_property(objectClass, PROP_X,
- g_param_spec_int("x",
- _("X coordinate"),
- _("The x coordinate of the event relative to the view's window."),
- G_MININT, G_MAXINT, 0,
- static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
-
- /**
- * WebKitHitTestResult:y:
- *
- * The x coordinate of the event relative to the view's window.
- *
- * Since: 1.10
- */
- g_object_class_install_property(objectClass, PROP_Y,
- g_param_spec_int("y",
- _("Y coordinate"),
- _("The y coordinate of the event relative to the view's window."),
- G_MININT, G_MAXINT, 0,
- static_cast<GParamFlags>(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
-
- g_type_class_add_private(webHitTestResultClass, sizeof(WebKitHitTestResultPrivate));
-}
-
-static void webkit_hit_test_result_init(WebKitHitTestResult* web_hit_test_result)
-{
- web_hit_test_result->priv = G_TYPE_INSTANCE_GET_PRIVATE(web_hit_test_result, WEBKIT_TYPE_HIT_TEST_RESULT, WebKitHitTestResultPrivate);
- new (web_hit_test_result->priv) 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;
- WebCore::Frame* innerNodeFrame;
- WebCore::IntPoint point;
-
- 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());
-
- innerNodeFrame = result.innerNodeFrame();
- if (innerNodeFrame && innerNodeFrame->view()) {
- // Convert document coords to widget coords.
- point = innerNodeFrame->view()->contentsToWindow(result.roundedPointInInnerNodeFrame());
- } else {
- // FIXME: Main frame coords is not the same as window coords,
- // but we do not have pointer to mainframe view here.
- point = result.roundedPointInMainFrame();
- }
-
- 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,
- "x", point.x(),
- "y", point.y(),
- NULL));
-}
-
-}
diff --git a/Source/WebKit/gtk/webkit/webkithittestresult.h b/Source/WebKit/gtk/webkit/webkithittestresult.h
deleted file mode 100644
index 2a6a64e48..000000000
--- a/Source/WebKit/gtk/webkit/webkithittestresult.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2009 Collabora Ltd.
- * Copyright (C) 2009 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 webkithittestresult_h
-#define webkithittestresult_h
-
-#include <glib-object.h>
-
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_HIT_TEST_RESULT (webkit_hit_test_result_get_type())
-#define WEBKIT_HIT_TEST_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_HIT_TEST_RESULT, WebKitHitTestResult))
-#define WEBKIT_HIT_TEST_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_HIT_TEST_RESULT, WebKitHitTestResultClass))
-#define WEBKIT_IS_HIT_TEST_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_HIT_TEST_RESULT))
-#define WEBKIT_IS_HIT_TEST_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_HIT_TEST_RESULT))
-#define WEBKIT_HIT_TEST_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_HIT_TEST_RESULT, WebKitHitTestResultClass))
-
-typedef struct _WebKitHitTestResultPrivate WebKitHitTestResultPrivate;
-
-struct _WebKitHitTestResult {
- GObject parent_instance;
-
- /*< private >*/
- WebKitHitTestResultPrivate *priv;
-};
-
-struct _WebKitHitTestResultClass {
- GObjectClass parent_class;
-
- /* Padding for future expansion */
- void (*_webkit_reserved0) (void);
- void (*_webkit_reserved1) (void);
- void (*_webkit_reserved2) (void);
- void (*_webkit_reserved3) (void);
-};
-
-/**
- * WebKitHitTestResultContext:
- * @WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT: anywhere in the document.
- * @WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK: a hyperlink element.
- * @WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE: an image element.
- * @WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA: a video or audio element.
- * @WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION: the area is selected by
- * the user.
- * @WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE: the area is
- * editable by the user.
- */
-typedef enum
-{
- WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT = 1 << 1,
- WEBKIT_HIT_TEST_RESULT_CONTEXT_LINK = 1 << 2,
- WEBKIT_HIT_TEST_RESULT_CONTEXT_IMAGE = 1 << 3,
- WEBKIT_HIT_TEST_RESULT_CONTEXT_MEDIA = 1 << 4,
- WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION = 1 << 5,
- WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE = 1 << 6,
-} WebKitHitTestResultContext;
-
-WEBKIT_API GType
-webkit_hit_test_result_get_type (void);
-
-G_END_DECLS
-
-#endif
-
diff --git a/Source/WebKit/gtk/webkit/webkithittestresultprivate.h b/Source/WebKit/gtk/webkit/webkithittestresultprivate.h
deleted file mode 100644
index 237ac27c6..000000000
--- a/Source/WebKit/gtk/webkit/webkithittestresultprivate.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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/Source/WebKit/gtk/webkit/webkiticondatabase.cpp b/Source/WebKit/gtk/webkit/webkiticondatabase.cpp
deleted file mode 100644
index 70b5114e5..000000000
--- a/Source/WebKit/gtk/webkit/webkiticondatabase.cpp
+++ /dev/null
@@ -1,331 +0,0 @@
-/*
- * Copyright (C) 2011 Christian Dywan <christian@lanedo.com>
- *
- * 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 "webkiticondatabase.h"
-
-#include "FileSystem.h"
-#include "IconDatabase.h"
-#include "Image.h"
-#include "IntSize.h"
-#include "webkitglobalsprivate.h"
-#include "webkitmarshal.h"
-#include "webkitsecurityoriginprivate.h"
-#include "webkitwebframe.h"
-#include <glib/gi18n-lib.h>
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/text/CString.h>
-
-/**
- * SECTION:webkiticondatabase
- * @short_description: A WebKit web application database
- *
- * #WebKitIconDatabase provides access to website icons, as shown
- * in tab labels, window captions or bookmarks. All views share
- * the same icon database.
- *
- * The icon database is enabled by default and stored in
- * ~/.local/share/webkit/icondatabase, depending on XDG_DATA_HOME.
- *
- * WebKit will automatically look for available icons in link elements
- * on opened pages as well as an existing favicon.ico and load the
- * images found into the memory cache if possible. The signal "icon-loaded"
- * will be emitted when any icon is found and loaded.
- * Old Icons are automatically cleaned up after 4 days.
- *
- * webkit_icon_database_set_path() can be used to change the location
- * of the database and also to disable it by passing %NULL.
- *
- * If WebKitWebSettings::enable-private-browsing is %TRUE new icons
- * won't be added to the database on disk and no existing icons will
- * be deleted from it.
- *
- * Since: 1.3.13
- *
- * Deprecated: 1.8: Use WebKitFaviconDatabase instead.
- */
-
-using namespace WebKit;
-
-enum {
- PROP_0,
-
- PROP_PATH,
-};
-
-enum {
- ICON_LOADED,
-
- LAST_SIGNAL
-};
-
-static guint webkit_icon_database_signals[LAST_SIGNAL] = { 0, };
-
-G_DEFINE_TYPE(WebKitIconDatabase, webkit_icon_database, G_TYPE_OBJECT);
-
-struct _WebKitIconDatabasePrivate {
- GOwnPtr<gchar> path;
-};
-
-static void webkit_icon_database_finalize(GObject* object)
-{
- // Call C++ destructors, the reverse of 'placement new syntax'
- WEBKIT_ICON_DATABASE(object)->priv->~WebKitIconDatabasePrivate();
-
- G_OBJECT_CLASS(webkit_icon_database_parent_class)->finalize(object);
-}
-
-static void webkit_icon_database_dispose(GObject* object)
-{
- G_OBJECT_CLASS(webkit_icon_database_parent_class)->dispose(object);
-}
-
-static void webkit_icon_database_set_property(GObject* object, guint propId, const GValue* value, GParamSpec* pspec)
-{
- WebKitIconDatabase* database = WEBKIT_ICON_DATABASE(object);
-
- switch (propId) {
- case PROP_PATH:
- webkit_icon_database_set_path(database, g_value_get_string(value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, pspec);
- break;
- }
-}
-
-static void webkit_icon_database_get_property(GObject* object, guint propId, GValue* value, GParamSpec* pspec)
-{
- WebKitIconDatabase* database = WEBKIT_ICON_DATABASE(object);
-
- switch (propId) {
- case PROP_PATH:
- g_value_set_string(value, webkit_icon_database_get_path(database));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, pspec);
- break;
- }
-}
-
-static void webkit_icon_database_class_init(WebKitIconDatabaseClass* klass)
-{
- webkitInit();
-
- GObjectClass* gobjectClass = G_OBJECT_CLASS(klass);
- gobjectClass->dispose = webkit_icon_database_dispose;
- gobjectClass->finalize = webkit_icon_database_finalize;
- gobjectClass->set_property = webkit_icon_database_set_property;
- gobjectClass->get_property = webkit_icon_database_get_property;
-
- /**
- * WebKitIconDatabase:path:
- *
- * The absolute path of the icon database folder.
- *
- * Since: 1.3.13
- *
- * Deprecated: 1.8: Use WebKitFaviconDatabase::path instead.
- */
- g_object_class_install_property(gobjectClass, PROP_PATH,
- g_param_spec_string("path",
- _("Path"),
- _("The absolute path of the icon database folder"),
- NULL,
- WEBKIT_PARAM_READWRITE));
-
- /**
- * WebKitIconDatabase::icon-loaded:
- * @database: the object on which the signal is emitted
- * @frame: the frame containing the icon
- * @frame_uri: the URI of the frame containing the icon
- *
- * This signal is emitted when a favicon is available for a page,
- * or a child frame.
- * See WebKitWebView::icon-loaded if you only need the favicon for
- * the main frame of a particular #WebKitWebView.
- *
- * Since: 1.3.13
- *
- * Deprecated: 1.8: Use WebKitFaviconDatabase::icon-loaded instead.
- */
- webkit_icon_database_signals[ICON_LOADED] = g_signal_new("icon-loaded",
- G_TYPE_FROM_CLASS(klass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- webkit_marshal_VOID__OBJECT_STRING,
- G_TYPE_NONE, 2,
- WEBKIT_TYPE_WEB_FRAME,
- G_TYPE_STRING);
-
- g_type_class_add_private(klass, sizeof(WebKitIconDatabasePrivate));
-}
-
-static void webkit_icon_database_init(WebKitIconDatabase* database)
-{
- database->priv = G_TYPE_INSTANCE_GET_PRIVATE(database, WEBKIT_TYPE_ICON_DATABASE, WebKitIconDatabasePrivate);
- // 'placement new syntax', see webkitwebview.cpp
- new (database->priv) WebKitIconDatabasePrivate();
-}
-
-/**
- * webkit_icon_database_get_path:
- * @database: a #WebKitIconDatabase
- *
- * Determines the absolute path to the database folder on disk.
- *
- * Returns: the absolute path of the database folder, or %NULL
- *
- * Since: 1.3.13
- *
- * Deprecated: 1.8: Use webkit_favicon_database_get_path() instead.
- **/
-const gchar* webkit_icon_database_get_path(WebKitIconDatabase* database)
-{
- g_return_val_if_fail(WEBKIT_IS_ICON_DATABASE(database), 0);
-
- return database->priv->path.get();
-}
-
-static void closeIconDatabaseOnExit()
-{
- if (WebCore::iconDatabase().isEnabled()) {
- WebCore::iconDatabase().setEnabled(false);
- WebCore::iconDatabase().close();
- }
-}
-
-/**
- * webkit_icon_database_set_path:
- * @database: a #WebKitIconDatabase
- * @path: an absolute path to the icon database folder
- *
- * Specifies the absolute path to the database folder on disk.
- *
- * Passing %NULL or "" disables the icon database.
- *
- * Since: 1.3.13
- *
- * Deprecated: 1.8: Use webkit_favicon_database_set_path() instead.
- **/
-void webkit_icon_database_set_path(WebKitIconDatabase* database, const gchar* path)
-{
- g_return_if_fail(WEBKIT_IS_ICON_DATABASE(database));
-
- if (database->priv->path.get())
- WebCore::iconDatabase().close();
-
- if (!(path && path[0])) {
- database->priv->path.set(0);
- WebCore::iconDatabase().setEnabled(false);
- return;
- }
-
- database->priv->path.set(g_strdup(path));
-
- WebCore::iconDatabase().setEnabled(true);
- WebCore::iconDatabase().open(WebCore::filenameToString(database->priv->path.get()), WebCore::IconDatabase::defaultDatabaseFilename());
-
- static bool initialized = false;
- if (!initialized) {
- atexit(closeIconDatabaseOnExit);
- initialized = true;
- }
-}
-
-/**
- * webkit_icon_database_get_icon_uri:
- * @database: a #WebKitIconDatabase
- * @page_uri: URI of the page containing the icon
- *
- * Obtains the URI for the favicon for the given page URI.
- * See also webkit_web_view_get_icon_uri().
- *
- * Returns: a newly allocated URI for the favicon, or %NULL
- *
- * Since: 1.3.13
- *
- * Deprecated: 1.8: Use webkit_favicon_database_get_favicon_uri() instead.
- **/
-gchar* webkit_icon_database_get_icon_uri(WebKitIconDatabase* database, const gchar* pageURI)
-{
- g_return_val_if_fail(WEBKIT_IS_ICON_DATABASE(database), 0);
- g_return_val_if_fail(pageURI, 0);
-
- String pageURL = String::fromUTF8(pageURI);
- return g_strdup(WebCore::iconDatabase().synchronousIconURLForPageURL(pageURL).utf8().data());
-}
-
-/**
- * webkit_icon_database_get_icon_pixbuf:
- * @database: a #WebKitIconDatabase
- * @page_uri: URI of the page containing the icon
- *
- * Obtains a #GdkPixbuf of the favicon for the given page URI, or
- * a default icon if there is no icon for the given page. Use
- * webkit_icon_database_get_icon_uri() if you need to distinguish these cases.
- * Usually you want to connect to WebKitIconDatabase::icon-loaded and call this
- * method in the callback.
- *
- * The pixbuf will have the largest size provided by the server and should
- * be resized before it is displayed.
- * See also webkit_web_view_get_icon_pixbuf().
- *
- * Returns: (transfer full): a new reference to a #GdkPixbuf, or %NULL
- *
- * Since: 1.3.13
- *
- * Deprecated: 1.8: Use webkit_favicon_database_try_get_favicon_pixbuf() instead.
- **/
-GdkPixbuf* webkit_icon_database_get_icon_pixbuf(WebKitIconDatabase* database, const gchar* pageURI)
-{
- g_return_val_if_fail(WEBKIT_IS_ICON_DATABASE(database), 0);
- g_return_val_if_fail(pageURI, 0);
-
- String pageURL = String::fromUTF8(pageURI);
- // The exact size we pass is irrelevant to the WebCore::iconDatabase code.
- // We must pass something greater than 0, 0 to get a pixbuf.
- WebCore::Image* icon = WebCore::iconDatabase().synchronousIconForPageURL(pageURL, WebCore::IntSize(16, 16));
- if (!icon)
- return 0;
- GdkPixbuf* pixbuf = icon->getGdkPixbuf();
- if (!pixbuf)
- return 0;
- return static_cast<GdkPixbuf*>(g_object_ref(pixbuf));
-}
-
-/**
- * webkit_icon_database_clear:
- * @database: a #WebKitIconDatabase
- *
- * Clears all icons from the database.
- *
- * Since: 1.3.13
- *
- * Deprecated: 1.8: Use webkit_favicon_database_clear() instead.
- **/
-void webkit_icon_database_clear(WebKitIconDatabase* database)
-{
- g_return_if_fail(WEBKIT_IS_ICON_DATABASE(database));
-
- WebCore::iconDatabase().removeAllIcons();
-}
-
diff --git a/Source/WebKit/gtk/webkit/webkiticondatabase.h b/Source/WebKit/gtk/webkit/webkiticondatabase.h
deleted file mode 100644
index f8168d549..000000000
--- a/Source/WebKit/gtk/webkit/webkiticondatabase.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2011 Christian Dywan <christian@lanedo.com>
- *
- * 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 webkiticondatabase_h
-#define webkiticondatabase_h
-
-#include <gdk-pixbuf/gdk-pixbuf.h>
-#include <glib-object.h>
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_ICON_DATABASE (webkit_icon_database_get_type())
-#define WEBKIT_ICON_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_ICON_DATABASE, WebKitIconDatabase))
-#define WEBKIT_ICON_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_ICON_DATABASE, WebKitIconDatabaseClass))
-#define WEBKIT_IS_ICON_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_ICON_DATABASE))
-#define WEBKIT_IS_ICON_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_ICON_DATABASE))
-#define WEBKIT_ICON_DATABASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_ICON_DATABASE, WebKitIconDatabaseClass))
-
-typedef struct _WebKitIconDatabasePrivate WebKitIconDatabasePrivate;
-
-struct _WebKitIconDatabase {
- GObject parent_instance;
-
- /*< private >*/
- WebKitIconDatabasePrivate* priv;
-};
-
-struct _WebKitIconDatabaseClass {
- GObjectClass parent_class;
-
- /* Padding for future expansion */
- void (*_webkit_reserved1) (void);
- void (*_webkit_reserved2) (void);
- void (*_webkit_reserved3) (void);
- void (*_webkit_reserved4) (void);
-};
-
-WEBKIT_API GType
-webkit_icon_database_get_type (void);
-
-#if !defined(WEBKIT_DISABLE_DEPRECATED)
-WEBKIT_API const gchar*
-webkit_icon_database_get_path (WebKitIconDatabase* database);
-
-WEBKIT_API void
-webkit_icon_database_set_path (WebKitIconDatabase* database,
- const gchar* path);
-
-WEBKIT_API gchar*
-webkit_icon_database_get_icon_uri (WebKitIconDatabase* database,
- const gchar* page_uri);
-
-WEBKIT_API GdkPixbuf*
-webkit_icon_database_get_icon_pixbuf (WebKitIconDatabase* database,
- const gchar* page_uri);
-
-WEBKIT_API void
-webkit_icon_database_clear (WebKitIconDatabase* database);
-#endif
-
-G_END_DECLS
-
-#endif /* webkiticondatabase_h */
diff --git a/Source/WebKit/gtk/webkit/webkitnetworkrequest.cpp b/Source/WebKit/gtk/webkit/webkitnetworkrequest.cpp
deleted file mode 100644
index 4996dd981..000000000
--- a/Source/WebKit/gtk/webkit/webkitnetworkrequest.cpp
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Holger Hans Peter Freyther
- * Copyright (C) 2009 Gustavo Noronha Silva
- *
- * 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 "webkitnetworkrequest.h"
-
-#include "ResourceRequest.h"
-#include "webkitglobalsprivate.h"
-#include <glib/gi18n-lib.h>
-#include <wtf/gobject/GRefPtr.h>
-#include <wtf/text/CString.h>
-
-/**
- * SECTION:webkitnetworkrequest
- * @short_description: The target of a navigation request
- * @see_also: #WebKitWebView::navigation-policy-decision-requested
- *
- * This class represents the network related aspects of a navigation
- * request. It is used whenever WebKit wants to provide information
- * about a request that will be sent, or has been sent. Inside it you
- * can find the URI of the request, and, for valid URIs, a
- * #SoupMessage object, which provides access to further information
- * such as headers.
- *
- */
-
-G_DEFINE_TYPE(WebKitNetworkRequest, webkit_network_request, G_TYPE_OBJECT);
-
-struct _WebKitNetworkRequestPrivate {
- gchar* uri;
- SoupMessage* message;
-};
-
-enum {
- PROP_0,
-
- PROP_URI,
- PROP_MESSAGE,
-};
-
-static void webkit_network_request_dispose(GObject* object)
-{
- WebKitNetworkRequest* request = WEBKIT_NETWORK_REQUEST(object);
- WebKitNetworkRequestPrivate* priv = request->priv;
-
- if (priv->message) {
- g_object_unref(priv->message);
- priv->message = NULL;
- }
-
- G_OBJECT_CLASS(webkit_network_request_parent_class)->dispose(object);
-}
-
-static void webkit_network_request_finalize(GObject* object)
-{
- WebKitNetworkRequest* request = WEBKIT_NETWORK_REQUEST(object);
- WebKitNetworkRequestPrivate* priv = request->priv;
-
- g_free(priv->uri);
-
- G_OBJECT_CLASS(webkit_network_request_parent_class)->finalize(object);
-}
-
-static void webkit_network_request_get_property(GObject* object, guint propertyID, GValue* value, GParamSpec* pspec)
-{
- WebKitNetworkRequest* request = WEBKIT_NETWORK_REQUEST(object);
-
- switch(propertyID) {
- case PROP_URI:
- g_value_set_string(value, webkit_network_request_get_uri(request));
- break;
- case PROP_MESSAGE:
- g_value_set_object(value, webkit_network_request_get_message(request));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyID, pspec);
- }
-}
-
-static void webkit_network_request_set_property(GObject* object, guint propertyID, const GValue* value, GParamSpec* pspec)
-{
- WebKitNetworkRequest* request = WEBKIT_NETWORK_REQUEST(object);
- WebKitNetworkRequestPrivate* priv = request->priv;
-
- switch(propertyID) {
- case PROP_URI:
- webkit_network_request_set_uri(request, g_value_get_string(value));
- break;
- case PROP_MESSAGE:
- priv->message = SOUP_MESSAGE(g_value_dup_object(value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyID, pspec);
- }
-}
-
-static void webkit_network_request_class_init(WebKitNetworkRequestClass* requestClass)
-{
- GObjectClass* objectClass = G_OBJECT_CLASS(requestClass);
-
- objectClass->dispose = webkit_network_request_dispose;
- objectClass->finalize = webkit_network_request_finalize;
- objectClass->get_property = webkit_network_request_get_property;
- objectClass->set_property = webkit_network_request_set_property;
-
- webkitInit();
-
- /**
- * WebKitNetworkRequest:uri:
- *
- * The URI to which the request will be made.
- *
- * Since: 1.1.10
- */
- g_object_class_install_property(objectClass, PROP_URI,
- g_param_spec_string("uri",
- _("URI"),
- _("The URI to which the request will be made."),
- NULL,
- (GParamFlags)(WEBKIT_PARAM_READWRITE)));
-
- /**
- * WebKitNetworkRequest:message:
- *
- * The #SoupMessage that backs the request.
- *
- * Since: 1.1.10
- */
- g_object_class_install_property(objectClass, PROP_MESSAGE,
- g_param_spec_object("message",
- _("Message"),
- _("The SoupMessage that backs the request."),
- SOUP_TYPE_MESSAGE,
- (GParamFlags)(WEBKIT_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY)));
-
- g_type_class_add_private(requestClass, sizeof(WebKitNetworkRequestPrivate));
-}
-
-static void webkit_network_request_init(WebKitNetworkRequest* request)
-{
- WebKitNetworkRequestPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(request, WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequestPrivate);
- request->priv = priv;
-}
-
-/**
- * webkit_network_request_new:
- * @uri: an URI
- *
- * Creates a new #WebKitNetworkRequest initialized with an URI.
- *
- * Returns: a new #WebKitNetworkRequest, or %NULL if the URI is
- * invalid.
- */
-WebKitNetworkRequest* webkit_network_request_new(const gchar* uri)
-{
- g_return_val_if_fail(uri, NULL);
-
- return WEBKIT_NETWORK_REQUEST(g_object_new(WEBKIT_TYPE_NETWORK_REQUEST, "uri", uri, NULL));
-}
-
-/**
- * webkit_network_request_set_uri:
- * @request: a #WebKitNetworkRequest
- * @uri: an URI
- *
- * Sets the URI held and used by the given request. When the request
- * has an associated #SoupMessage, its URI will also be set by this
- * call.
- *
- */
-void webkit_network_request_set_uri(WebKitNetworkRequest* request, const gchar* uri)
-{
- g_return_if_fail(WEBKIT_IS_NETWORK_REQUEST(request));
- g_return_if_fail(uri);
-
- WebKitNetworkRequestPrivate* priv = request->priv;
-
- if (priv->uri)
- g_free(priv->uri);
- priv->uri = g_strdup(uri);
-
- if (!priv->message)
- return;
-
- SoupURI* soupURI = soup_uri_new(uri);
- g_return_if_fail(soupURI);
-
- soup_message_set_uri(priv->message, soupURI);
- soup_uri_free(soupURI);
-}
-
-/**
- * webkit_network_request_get_uri:
- * @request: a #WebKitNetworkRequest
- *
- * Returns: the URI of the #WebKitNetworkRequest
- *
- * Since: 1.0.0
- */
-const gchar* webkit_network_request_get_uri(WebKitNetworkRequest* request)
-{
- g_return_val_if_fail(WEBKIT_IS_NETWORK_REQUEST(request), NULL);
-
- WebKitNetworkRequestPrivate* priv = request->priv;
-
- if (priv->uri)
- return priv->uri;
-
- SoupURI* soupURI = soup_message_get_uri(priv->message);
- priv->uri = soup_uri_to_string(soupURI, FALSE);
- return priv->uri;
-}
-
-/**
- * webkit_network_request_get_message:
- * @request: a #WebKitNetworkRequest
- *
- * Obtains the #SoupMessage held and used by the given request. Notice
- * that modification of the SoupMessage of a request by signal
- * handlers is only supported (as in, will only affect what is
- * actually sent to the server) where explicitly documented.
- *
- * Returns: (transfer none): the #SoupMessage
- * Since: 1.1.9
- */
-SoupMessage* webkit_network_request_get_message(WebKitNetworkRequest* request)
-{
- g_return_val_if_fail(WEBKIT_IS_NETWORK_REQUEST(request), NULL);
-
- WebKitNetworkRequestPrivate* priv = request->priv;
-
- return priv->message;
-}
-
-namespace WebKit {
-
-WebKitNetworkRequest* kitNew(const WebCore::ResourceRequest& resourceRequest)
-{
- GRefPtr<SoupMessage> soupMessage(adoptGRef(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/Source/WebKit/gtk/webkit/webkitnetworkrequest.h b/Source/WebKit/gtk/webkit/webkitnetworkrequest.h
deleted file mode 100644
index b4e796673..000000000
--- a/Source/WebKit/gtk/webkit/webkitnetworkrequest.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2007 Holger Hans Peter Freyther
- *
- * 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 webkitnetworkrequest_h
-#define webkitnetworkrequest_h
-
-#include <glib-object.h>
-#include <libsoup/soup.h>
-
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_NETWORK_REQUEST (webkit_network_request_get_type())
-#define WEBKIT_NETWORK_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequest))
-#define WEBKIT_NETWORK_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequestClass))
-#define WEBKIT_IS_NETWORK_REQUEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_NETWORK_REQUEST))
-#define WEBKIT_IS_NETWORK_REQUEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_NETWORK_REQUEST))
-#define WEBKIT_NETWORK_REQUEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_NETWORK_REQUEST, WebKitNetworkRequestClass))
-
-typedef struct _WebKitNetworkRequestPrivate WebKitNetworkRequestPrivate;
-
-struct _WebKitNetworkRequest {
- GObject parent_instance;
-
- /*< private >*/
- WebKitNetworkRequestPrivate *priv;
-};
-
-struct _WebKitNetworkRequestClass {
- 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_network_request_get_type (void);
-
-WEBKIT_API WebKitNetworkRequest *
-webkit_network_request_new (const gchar *uri);
-
-WEBKIT_API void
-webkit_network_request_set_uri (WebKitNetworkRequest *request,
- const gchar* uri);
-
-WEBKIT_API const gchar *
-webkit_network_request_get_uri (WebKitNetworkRequest *request);
-
-WEBKIT_API SoupMessage *
-webkit_network_request_get_message(WebKitNetworkRequest* request);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitnetworkrequestprivate.h b/Source/WebKit/gtk/webkit/webkitnetworkrequestprivate.h
deleted file mode 100644
index 84b45930c..000000000
--- a/Source/WebKit/gtk/webkit/webkitnetworkrequestprivate.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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/Source/WebKit/gtk/webkit/webkitnetworkresponse.cpp b/Source/WebKit/gtk/webkit/webkitnetworkresponse.cpp
deleted file mode 100644
index 5eb855673..000000000
--- a/Source/WebKit/gtk/webkit/webkitnetworkresponse.cpp
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Holger Hans Peter Freyther
- * Copyright (C) 2009 Gustavo Noronha Silva
- * Copyright (C) 2009 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 "webkitnetworkresponse.h"
-
-#include "ResourceResponse.h"
-#include "webkitglobalsprivate.h"
-#include "webkitnetworkresponseprivate.h"
-#include <glib/gi18n-lib.h>
-#include <wtf/gobject/GRefPtr.h>
-#include <wtf/text/CString.h>
-
-using namespace WebKit;
-
-/**
- * SECTION:webkitnetworkresponse
- * @short_description: the response given to a network request
- * @see_also: #WebKitNetworkRequest
- *
- * This class represents the network related aspects of a navigation
- * response.
- *
- * Since: 1.1.14
- */
-
-G_DEFINE_TYPE(WebKitNetworkResponse, webkit_network_response, G_TYPE_OBJECT);
-
-struct _WebKitNetworkResponsePrivate {
- gchar* uri;
- gchar* suggestedFilename;
- SoupMessage* message;
-};
-
-#define WEBKIT_NETWORK_RESPONSE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_NETWORK_RESPONSE, WebKitNetworkResponsePrivate))
-
-enum {
- PROP_0,
-
- PROP_URI,
- PROP_MESSAGE,
- PROP_SUGGESTED_FILENAME,
-};
-
-static void webkit_network_response_dispose(GObject* object)
-{
- WebKitNetworkResponse* response = WEBKIT_NETWORK_RESPONSE(object);
- WebKitNetworkResponsePrivate* priv = response->priv;
-
- if (priv->message) {
- g_object_unref(priv->message);
- priv->message = NULL;
- }
-
- G_OBJECT_CLASS(webkit_network_response_parent_class)->dispose(object);
-}
-
-static void webkit_network_response_finalize(GObject* object)
-{
- WebKitNetworkResponse* response = WEBKIT_NETWORK_RESPONSE(object);
- WebKitNetworkResponsePrivate* priv = response->priv;
-
- g_free(priv->uri);
- g_free(priv->suggestedFilename);
-
- G_OBJECT_CLASS(webkit_network_response_parent_class)->finalize(object);
-}
-
-static void webkit_network_response_get_property(GObject* object, guint propertyID, GValue* value, GParamSpec* pspec)
-{
- WebKitNetworkResponse* response = WEBKIT_NETWORK_RESPONSE(object);
-
- switch(propertyID) {
- case PROP_URI:
- g_value_set_string(value, webkit_network_response_get_uri(response));
- break;
- case PROP_MESSAGE:
- g_value_set_object(value, webkit_network_response_get_message(response));
- break;
- case PROP_SUGGESTED_FILENAME:
- g_value_set_string(value, webkit_network_response_get_suggested_filename(response));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyID, pspec);
- }
-}
-
-static void webkit_network_response_set_property(GObject* object, guint propertyID, const GValue* value, GParamSpec* pspec)
-{
- WebKitNetworkResponse* response = WEBKIT_NETWORK_RESPONSE(object);
- WebKitNetworkResponsePrivate* priv = response->priv;
-
- switch(propertyID) {
- case PROP_URI:
- webkit_network_response_set_uri(response, g_value_get_string(value));
- break;
- case PROP_MESSAGE:
- priv->message = SOUP_MESSAGE(g_value_dup_object(value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyID, pspec);
- }
-}
-
-static void webkit_network_response_class_init(WebKitNetworkResponseClass* responseClass)
-{
- GObjectClass* objectClass = G_OBJECT_CLASS(responseClass);
-
- objectClass->dispose = webkit_network_response_dispose;
- objectClass->finalize = webkit_network_response_finalize;
- objectClass->get_property = webkit_network_response_get_property;
- objectClass->set_property = webkit_network_response_set_property;
-
- webkitInit();
-
- /**
- * WebKitNetworkResponse:uri:
- *
- * The URI to which the response will be made.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(objectClass, PROP_URI,
- g_param_spec_string("uri",
- _("URI"),
- _("The URI to which the response will be made."),
- NULL,
- (GParamFlags)(WEBKIT_PARAM_READWRITE)));
-
- /**
- * WebKitNetworkResponse:message:
- *
- * The #SoupMessage that backs the response.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(objectClass, PROP_MESSAGE,
- g_param_spec_object("message",
- _("Message"),
- _("The SoupMessage that backs the response."),
- SOUP_TYPE_MESSAGE,
- (GParamFlags)(WEBKIT_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY)));
-
- /**
- * WebKitNetworkResponse:suggested-filename:
- *
- * The suggested filename for the response.
- *
- * Since: 1.10
- */
- g_object_class_install_property(objectClass, PROP_SUGGESTED_FILENAME,
- g_param_spec_string("suggested-filename",
- _("Suggested filename"),
- _("The suggested filename for the response."),
- 0,
- WEBKIT_PARAM_READABLE));
-
- g_type_class_add_private(responseClass, sizeof(WebKitNetworkResponsePrivate));
-}
-
-static void webkit_network_response_init(WebKitNetworkResponse* response)
-{
- response->priv = WEBKIT_NETWORK_RESPONSE_GET_PRIVATE(response);
-}
-
-/**
- * webkit_network_response_new:
- * @uri: an URI
- *
- * Creates a new #WebKitNetworkResponse initialized with an URI.
- *
- * Returns: a new #WebKitNetworkResponse, or %NULL if the URI is
- * invalid.
- *
- * Since: 1.1.14
- */
-WebKitNetworkResponse* webkit_network_response_new(const gchar* uri)
-{
- g_return_val_if_fail(uri, NULL);
-
- return WEBKIT_NETWORK_RESPONSE(g_object_new(WEBKIT_TYPE_NETWORK_RESPONSE, "uri", uri, NULL));
-}
-
-/**
- * webkit_network_response_set_uri:
- * @response: a #WebKitNetworkResponse
- * @uri: an URI
- *
- * Sets the URI held and used by the given response. When the response
- * has an associated #SoupMessage, its URI will also be set by this
- * call.
- *
- * Since: 1.1.14
- */
-void webkit_network_response_set_uri(WebKitNetworkResponse* response, const gchar* uri)
-{
- g_return_if_fail(WEBKIT_IS_NETWORK_RESPONSE(response));
- g_return_if_fail(uri);
-
- WebKitNetworkResponsePrivate* priv = response->priv;
-
- if (priv->uri)
- g_free(priv->uri);
- priv->uri = g_strdup(uri);
-
- if (!priv->message)
- return;
-
- SoupURI* soupURI = soup_uri_new(uri);
- g_return_if_fail(soupURI);
-
- soup_message_set_uri(priv->message, soupURI);
- soup_uri_free(soupURI);
-}
-
-/**
- * webkit_network_response_get_uri:
- * @response: a #WebKitNetworkResponse
- *
- * Returns: the URI of the #WebKitNetworkResponse
- *
- * Since: 1.1.14
- */
-const gchar* webkit_network_response_get_uri(WebKitNetworkResponse* response)
-{
- g_return_val_if_fail(WEBKIT_IS_NETWORK_RESPONSE(response), NULL);
-
- WebKitNetworkResponsePrivate* priv = response->priv;
-
- if (priv->uri)
- return priv->uri;
-
- SoupURI* soupURI = soup_message_get_uri(priv->message);
- priv->uri = soup_uri_to_string(soupURI, FALSE);
- return priv->uri;
-}
-
-/**
- * webkit_network_response_get_message:
- * @response: a #WebKitNetworkResponse
- *
- * Obtains the #SoupMessage that represents the given response. Notice
- * that only the response side of the HTTP conversation is
- * represented.
- *
- * Returns: (transfer none): the #SoupMessage
- * Since: 1.1.14
- */
-SoupMessage* webkit_network_response_get_message(WebKitNetworkResponse* response)
-{
- g_return_val_if_fail(WEBKIT_IS_NETWORK_RESPONSE(response), NULL);
-
- WebKitNetworkResponsePrivate* priv = response->priv;
-
- return priv->message;
-}
-
-/**
- * webkit_network_response_get_suggested_filename:
- * @response: a #WebKitNetworkResponse
- *
- * Obtains the suggested filename for the given network response. The
- * suggested filename is taken from the 'Content-Disposition' HTTP
- * header, but this is not always present, and this method will return
- * %NULL in such case.
- *
- * Returns: (transfer none): the suggested filename or %NULL if not present
- * Since: 1.10
- **/
-const gchar* webkit_network_response_get_suggested_filename(WebKitNetworkResponse* response)
-{
- g_return_val_if_fail(WEBKIT_IS_NETWORK_RESPONSE(response), 0);
-
- WebKitNetworkResponsePrivate* priv = response->priv;
-
- if (priv->suggestedFilename)
- return priv->suggestedFilename;
-
- WebCore::ResourceResponse coreResponse = core(response);
- priv->suggestedFilename = g_strdup(coreResponse.suggestedFilename().utf8().data());
- return priv->suggestedFilename;
-}
-
-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)
-{
- GRefPtr<SoupMessage> soupMessage(adoptGRef(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/Source/WebKit/gtk/webkit/webkitnetworkresponse.h b/Source/WebKit/gtk/webkit/webkitnetworkresponse.h
deleted file mode 100644
index 359b3322a..000000000
--- a/Source/WebKit/gtk/webkit/webkitnetworkresponse.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-#ifndef webkitnewtorkresponse_h
-#define webkitnewtorkresponse_h
-
-#include <glib-object.h>
-#include <libsoup/soup.h>
-
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_NETWORK_RESPONSE (webkit_network_response_get_type())
-#define WEBKIT_NETWORK_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_NETWORK_RESPONSE, WebKitNetworkResponse))
-#define WEBKIT_NETWORK_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_NETWORK_RESPONSE, WebKitNetworkResponseClass))
-#define WEBKIT_IS_NETWORK_RESPONSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_NETWORK_RESPONSE))
-#define WEBKIT_IS_NETWORK_RESPONSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_NETWORK_RESPONSE))
-#define WEBKIT_NETWORK_RESPONSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_NETWORK_RESPONSE, WebKitNetworkResponseClass))
-
-typedef struct _WebKitNetworkResponsePrivate WebKitNetworkResponsePrivate;
-
-struct _WebKitNetworkResponse {
- GObject parent_instance;
-
- /*< private >*/
- WebKitNetworkResponsePrivate *priv;
-};
-
-struct _WebKitNetworkResponseClass {
- 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_network_response_get_type (void);
-
-WEBKIT_API WebKitNetworkResponse *
-webkit_network_response_new (const gchar *uri);
-
-WEBKIT_API void
-webkit_network_response_set_uri (WebKitNetworkResponse *response,
- const gchar* uri);
-
-WEBKIT_API const gchar *
-webkit_network_response_get_uri (WebKitNetworkResponse *response);
-
-WEBKIT_API SoupMessage *
-webkit_network_response_get_message(WebKitNetworkResponse* response);
-
-WEBKIT_API const char *
-webkit_network_response_get_suggested_filename(WebKitNetworkResponse *response);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitnetworkresponseprivate.h b/Source/WebKit/gtk/webkit/webkitnetworkresponseprivate.h
deleted file mode 100644
index ab38a5083..000000000
--- a/Source/WebKit/gtk/webkit/webkitnetworkresponseprivate.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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/Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp b/Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp
deleted file mode 100644
index f174ba548..000000000
--- a/Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp
+++ /dev/null
@@ -1,425 +0,0 @@
-/*
- * Copyright (C) 2009 Martin Robinson, Jan Michael C. Alonzo
- *
- * 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 "webkitsecurityorigin.h"
-
-#include "DatabaseManager.h"
-#include "webkitglobalsprivate.h"
-#include "webkitsecurityoriginprivate.h"
-#include <glib/gi18n-lib.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
-
-/**
- * SECTION:webkitsecurityorigin
- * @short_description: A security boundary for web sites
- *
- * #WebKitSecurityOrigin is a representation of a security domain defined
- * by web sites. An origin consists of a host name, a protocol, and a port
- * number. Web sites with the same security origin can access each other's
- * resources for client-side scripting or database access.
- *
- * Use #webkit_web_frame_get_security_origin to get the security origin of a
- * #WebKitWebFrame.
- *
- * Database quotas and usages are also defined per security origin. The
- * cumulative disk usage of an origin's databases may be retrieved with
- * #webkit_security_origin_get_web_database_usage. An origin's quota can be
- * adjusted with #webkit_security_origin_set_web_database_quota.
- */
-
-using namespace WebKit;
-
-enum {
- PROP_0,
-
- PROP_PROTOCOL,
- PROP_HOST,
- PROP_PORT,
- PROP_DATABASE_USAGE,
- PROP_DATABASE_QUOTA
-};
-
-G_DEFINE_TYPE(WebKitSecurityOrigin, webkit_security_origin, G_TYPE_OBJECT)
-
-static void webkit_security_origin_finalize(GObject* object)
-{
- WebKitSecurityOrigin* securityOrigin = WEBKIT_SECURITY_ORIGIN(object);
- WebKitSecurityOriginPrivate* priv = securityOrigin->priv;
-
- g_free(priv->protocol);
- g_free(priv->host);
-
- G_OBJECT_CLASS(webkit_security_origin_parent_class)->finalize(object);
-}
-
-static void webkit_security_origin_dispose(GObject* object)
-{
- WebKitSecurityOrigin* securityOrigin = WEBKIT_SECURITY_ORIGIN(object);
- WebKitSecurityOriginPrivate* priv = securityOrigin->priv;
-
- if (!priv->disposed) {
- priv->coreOrigin->deref();
- g_hash_table_destroy(priv->webDatabases);
- priv->disposed = true;
- }
-
- G_OBJECT_CLASS(webkit_security_origin_parent_class)->dispose(object);
-}
-
-static void webkit_security_origin_set_property(GObject* object, guint propId, const GValue* value, GParamSpec* pspec)
-{
- WebKitSecurityOrigin* securityOrigin = WEBKIT_SECURITY_ORIGIN(object);
-
- switch (propId) {
- case PROP_DATABASE_QUOTA:
- webkit_security_origin_set_web_database_quota(securityOrigin, g_value_get_uint64(value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, pspec);
- break;
- }
-}
-
-static void webkit_security_origin_get_property(GObject* object, guint propId, GValue* value, GParamSpec* pspec)
-{
- WebKitSecurityOrigin* securityOrigin = WEBKIT_SECURITY_ORIGIN(object);
-
- switch (propId) {
- case PROP_PROTOCOL:
- g_value_set_string(value, webkit_security_origin_get_protocol(securityOrigin));
- break;
- case PROP_HOST:
- g_value_set_string(value, webkit_security_origin_get_host(securityOrigin));
- break;
- case PROP_PORT:
- g_value_set_uint(value, webkit_security_origin_get_port(securityOrigin));
- break;
- case PROP_DATABASE_USAGE:
- g_value_set_uint64(value, webkit_security_origin_get_web_database_usage(securityOrigin));
- break;
- case PROP_DATABASE_QUOTA:
- g_value_set_uint64(value, webkit_security_origin_get_web_database_quota(securityOrigin));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, pspec);
- break;
- }
-}
-
-static GHashTable* webkit_security_origins()
-{
- static GHashTable* securityOrigins = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, g_object_unref);
- return securityOrigins;
-}
-
-static void webkit_security_origin_class_init(WebKitSecurityOriginClass* klass)
-{
- GObjectClass* gobjectClass = G_OBJECT_CLASS(klass);
- gobjectClass->dispose = webkit_security_origin_dispose;
- gobjectClass->finalize = webkit_security_origin_finalize;
- gobjectClass->set_property = webkit_security_origin_set_property;
- gobjectClass->get_property = webkit_security_origin_get_property;
-
- /**
- * WebKitSecurityOrigin:protocol:
- *
- * The protocol of the security origin.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobjectClass, PROP_PROTOCOL,
- g_param_spec_string("protocol",
- _("Protocol"),
- _("The protocol of the security origin"),
- NULL,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitSecurityOrigin:host:
- *
- * The host of the security origin.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobjectClass, PROP_HOST,
- g_param_spec_string("host",
- _("Host"),
- _("The host of the security origin"),
- NULL,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitSecurityOrigin:port:
- *
- * The port of the security origin.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobjectClass, PROP_PORT,
- g_param_spec_uint("port",
- _("Port"),
- _("The port of the security origin"),
- 0, G_MAXUSHORT, 0,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitSecurityOrigin:web-database-usage:
- *
- * The cumulative size of all web databases in the security origin in bytes.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobjectClass, PROP_DATABASE_USAGE,
- g_param_spec_uint64("web-database-usage",
- _("Web Database Usage"),
- _("The cumulative size of all web databases in the security origin"),
- 0, G_MAXUINT64, 0,
- WEBKIT_PARAM_READABLE));
- /**
- * WebKitSecurityOrigin:web-database-quota:
- *
- * The web database qouta of the security origin in bytes.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobjectClass, PROP_DATABASE_QUOTA,
- g_param_spec_uint64("web-database-quota",
- _("Web Database Quota"),
- _("The web database quota of the security origin in bytes"),
- 0, G_MAXUINT64, 0,
- WEBKIT_PARAM_READWRITE));
-
- g_type_class_add_private(klass, sizeof(WebKitSecurityOriginPrivate));
-}
-
-static void webkit_security_origin_init(WebKitSecurityOrigin* 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;
-}
-
-/**
- * webkit_security_origin_get_protocol:
- * @securityOrigin: a #WebKitSecurityOrigin
- *
- * Returns the protocol for the security origin.
- *
- * Returns: the protocol for the security origin
- *
- * Since: 1.1.14
- **/
-const gchar* webkit_security_origin_get_protocol(WebKitSecurityOrigin* securityOrigin)
-{
- g_return_val_if_fail(WEBKIT_IS_SECURITY_ORIGIN(securityOrigin), NULL);
-
- WebKitSecurityOriginPrivate* priv = securityOrigin->priv;
- WTF::String protocol = priv->coreOrigin->protocol();
-
- if (!priv->protocol)
- priv->protocol = g_strdup(protocol.utf8().data());
-
- return priv->protocol;
-}
-
-/**
- * webkit_security_origin_get_host:
- * @securityOrigin: a #WebKitSecurityOrigin
- *
- * Returns the hostname for the security origin.
- *
- * Returns: the hostname for the security origin
- *
- * Since: 1.1.14
- **/
-const gchar* webkit_security_origin_get_host(WebKitSecurityOrigin* securityOrigin)
-{
- g_return_val_if_fail(WEBKIT_IS_SECURITY_ORIGIN(securityOrigin), NULL);
-
- WebKitSecurityOriginPrivate* priv = securityOrigin->priv;
- WTF::String host = priv->coreOrigin->host();
-
- if (!priv->host)
- priv->host = g_strdup(host.utf8().data());
-
- return priv->host;
-}
-
-/**
- * webkit_security_origin_get_port:
- * @securityOrigin: a #WebKitSecurityOrigin
- *
- * Returns the port for the security origin.
- *
- * Returns: the port for the security origin
- *
- * Since: 1.1.14
- **/
-guint webkit_security_origin_get_port(WebKitSecurityOrigin* securityOrigin)
-{
- g_return_val_if_fail(WEBKIT_IS_SECURITY_ORIGIN(securityOrigin), 0);
-
- WebCore::SecurityOrigin* coreOrigin = core(securityOrigin);
- return coreOrigin->port();
-}
-
-/**
- * webkit_security_origin_get_web_database_usage:
- * @securityOrigin: a #WebKitSecurityOrigin
- *
- * Returns the cumulative size of all Web Database database's in the origin
- * in bytes.
- *
- * Returns: the cumulative size of all databases
- *
- * Since: 1.1.14
- **/
-guint64 webkit_security_origin_get_web_database_usage(WebKitSecurityOrigin* securityOrigin)
-{
- g_return_val_if_fail(WEBKIT_IS_SECURITY_ORIGIN(securityOrigin), 0);
-
-#if ENABLE(SQL_DATABASE)
- WebCore::SecurityOrigin* coreOrigin = core(securityOrigin);
- return WebCore::DatabaseManager::manager().usageForOrigin(coreOrigin);
-#else
- return 0;
-#endif
-}
-
-/**
- * webkit_security_origin_get_web_database_quota:
- * @securityOrigin: a #WebKitSecurityOrigin
- *
- * Returns the quota for Web Database storage of the security origin
- * in bytes.
- *
- * Returns: the Web Database quota
- *
- * Since: 1.1.14
- **/
-guint64 webkit_security_origin_get_web_database_quota(WebKitSecurityOrigin* securityOrigin)
-{
- g_return_val_if_fail(WEBKIT_IS_SECURITY_ORIGIN(securityOrigin), 0);
-
-#if ENABLE(SQL_DATABASE)
- WebCore::SecurityOrigin* coreOrigin = core(securityOrigin);
- return WebCore::DatabaseManager::manager().quotaForOrigin(coreOrigin);
-#else
- return 0;
-#endif
-}
-
-/**
- * webkit_security_origin_set_web_database_quota:
- * @securityOrigin: a #WebKitSecurityOrigin
- * @quota: a new Web Database quota in bytes
- *
- * Adjust the quota for Web Database storage of the security origin
- *
- * Since: 1.1.14
- **/
-void webkit_security_origin_set_web_database_quota(WebKitSecurityOrigin* securityOrigin, guint64 quota)
-{
- g_return_if_fail(WEBKIT_IS_SECURITY_ORIGIN(securityOrigin));
-
-#if ENABLE(SQL_DATABASE)
- WebCore::SecurityOrigin* coreOrigin = core(securityOrigin);
- WebCore::DatabaseManager::manager().setQuota(coreOrigin, quota);
-#endif
-}
-
-/**
- * webkit_security_origin_get_all_web_databases:
- * @securityOrigin: a #WebKitSecurityOrigin
- *
- * Returns a list of all Web Databases in the security origin.
- *
- * Returns: (transfer container) (element-type WebKitWebDatabase): a
- * #GList of databases in the security origin.
- *
- * Since: 1.1.14
- **/
-GList* webkit_security_origin_get_all_web_databases(WebKitSecurityOrigin* securityOrigin)
-{
- g_return_val_if_fail(WEBKIT_IS_SECURITY_ORIGIN(securityOrigin), NULL);
- GList* databases = NULL;
-
-#if ENABLE(SQL_DATABASE)
- WebCore::SecurityOrigin* coreOrigin = core(securityOrigin);
- Vector<WTF::String> databaseNames;
-
- if (!WebCore::DatabaseManager::manager().databaseNamesForOrigin(coreOrigin, databaseNames))
- return NULL;
-
- for (unsigned i = 0; i < databaseNames.size(); ++i) {
- WebKitWebDatabase* database = webkit_security_origin_get_web_database(securityOrigin, databaseNames[i].utf8().data());
- databases = g_list_append(databases, database);
- }
-#endif
-
- return databases;
-}
-
-WebKitWebDatabase* webkit_security_origin_get_web_database(WebKitSecurityOrigin* securityOrigin, const gchar* databaseName)
-{
- g_return_val_if_fail(WEBKIT_IS_SECURITY_ORIGIN(securityOrigin), NULL);
-
- WebKitSecurityOriginPrivate* priv = securityOrigin->priv;
- GHashTable* databaseHash = priv->webDatabases;
- WebKitWebDatabase* database = (WebKitWebDatabase*) g_hash_table_lookup(databaseHash, databaseName);
-
- 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 database;
-}
-
-namespace WebKit {
-
-WebCore::SecurityOrigin* core(WebKitSecurityOrigin* securityOrigin)
-{
- ASSERT(securityOrigin);
-
- return securityOrigin->priv->coreOrigin.get();
-}
-
-WebKitSecurityOrigin* kit(WebCore::SecurityOrigin* coreOrigin)
-{
- ASSERT(coreOrigin);
-
- GHashTable* table = webkit_security_origins();
- WebKitSecurityOrigin* origin = (WebKitSecurityOrigin*) g_hash_table_lookup(table, coreOrigin);
-
- 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 origin;
-}
-
-}
diff --git a/Source/WebKit/gtk/webkit/webkitsecurityorigin.h b/Source/WebKit/gtk/webkit/webkitsecurityorigin.h
deleted file mode 100644
index 032790995..000000000
--- a/Source/WebKit/gtk/webkit/webkitsecurityorigin.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2009 Martin Robinson, Jan Michael C. Alonzo
- *
- * 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 webkitsecurityorigin_h
-#define webkitsecurityorigin_h
-
-#include "webkitwebdatabase.h"
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_SECURITY_ORIGIN (webkit_security_origin_get_type())
-#define WEBKIT_SECURITY_ORIGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_SECURITY_ORIGIN, WebKitSecurityOrigin))
-#define WEBKIT_SECURITY_ORIGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_SECURITY_ORIGIN, WebKitSecurityOriginClass))
-#define WEBKIT_IS_SECURITY_ORIGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_SECURITY_ORIGIN))
-#define WEBKIT_IS_SECURITY_ORIGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_SECURITY_ORIGIN))
-#define WEBKIT_SECURITY_ORIGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_SECURITY_ORIGIN, WebKitSecurityOriginClass))
-
-typedef struct _WebKitSecurityOriginPrivate WebKitSecurityOriginPrivate;
-
-struct _WebKitSecurityOrigin {
- GObject parent_instance;
-
- /*< private >*/
- WebKitSecurityOriginPrivate* priv;
-};
-
-struct _WebKitSecurityOriginClass {
- GObjectClass parent_class;
-
- /* Padding for future expansion */
- void (*_webkit_reserved1) (void);
- void (*_webkit_reserved2) (void);
- void (*_webkit_reserved3) (void);
- void (*_webkit_reserved4) (void);
-};
-
-WEBKIT_API GType
-webkit_security_origin_get_type (void);
-
-WEBKIT_API const gchar*
-webkit_security_origin_get_protocol (WebKitSecurityOrigin* securityOrigin);
-
-WEBKIT_API const gchar*
-webkit_security_origin_get_host (WebKitSecurityOrigin* securityOrigin);
-
-WEBKIT_API guint
-webkit_security_origin_get_port (WebKitSecurityOrigin* securityOrigin);
-
-WEBKIT_API guint64
-webkit_security_origin_get_web_database_usage (WebKitSecurityOrigin* securityOrigin);
-
-WEBKIT_API guint64
-webkit_security_origin_get_web_database_quota (WebKitSecurityOrigin* securityOrigin);
-
-WEBKIT_API void
-webkit_security_origin_set_web_database_quota (WebKitSecurityOrigin* securityOrigin, guint64 quota);
-
-WEBKIT_API GList *
-webkit_security_origin_get_all_web_databases (WebKitSecurityOrigin* securityOrigin);
-
-G_END_DECLS
-
-#endif /* __WEBKIT_SECURITY_ORIGIN_H__ */
diff --git a/Source/WebKit/gtk/webkit/webkitsecurityoriginprivate.h b/Source/WebKit/gtk/webkit/webkitsecurityoriginprivate.h
deleted file mode 100644
index 5a4a87b89..000000000
--- a/Source/WebKit/gtk/webkit/webkitsecurityoriginprivate.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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/Source/WebKit/gtk/webkit/webkitsoupauthdialog.cpp b/Source/WebKit/gtk/webkit/webkitsoupauthdialog.cpp
deleted file mode 100644
index afe16bd50..000000000
--- a/Source/WebKit/gtk/webkit/webkitsoupauthdialog.cpp
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright (C) 2009 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 "config.h"
-#include "webkitsoupauthdialog.h"
-
-#include "AuthenticationClient.h"
-#include "ResourceHandle.h"
-#include "webkitauthenticationdialog.h"
-#include "webkitmarshal.h"
-#include <wtf/text/CString.h>
-
-using namespace WebCore;
-
-/**
- * SECTION:webkitsoupauthdialog
- * @short_description: A #SoupSessionFeature to provide a simple
- * authentication dialog for HTTP basic auth support.
- *
- * #WebKitSoupAuthDialog is a #SoupSessionFeature that you can attach to your
- * #SoupSession to provide a simple authentication dialog while
- * handling HTTP basic auth.
- */
-
-
-// This class exists only for API compatibility reasons. WebKitSoupAuthDialog was exposed
-// in the public API, so we must provide this "fake" AuthenticationClient in order to
-// continue using GtkAuthenticationDialog with the new authentication architecture.
-class WebKitSoupAuthDialogAuthenticationClient : public WebCore::AuthenticationClient, public RefCounted<WebKitSoupAuthDialogAuthenticationClient> {
-using RefCounted<WebKitSoupAuthDialogAuthenticationClient>::ref;
-using RefCounted<WebKitSoupAuthDialogAuthenticationClient>::deref;
-public:
- virtual void didReceiveAuthenticationChallenge(const AuthenticationChallenge& challenge)
- {
- }
-
- virtual void receivedRequestToContinueWithoutCredential(const AuthenticationChallenge& challenge)
- {
- soup_session_unpause_message(challenge.soupSession(), challenge.soupMessage());
- }
-
- virtual void receivedCredential(const AuthenticationChallenge& challenge, const Credential& credential)
- {
- soup_auth_authenticate(challenge.soupAuth(), credential.user().utf8().data(), credential.password().utf8().data());
- soup_session_unpause_message(challenge.soupSession(), challenge.soupMessage());
- }
-
- virtual void receivedCancellation(const AuthenticationChallenge& challenge)
- {
- soup_session_unpause_message(challenge.soupSession(), challenge.soupMessage());
- }
-
- // This seems necessary to make the compiler happy. Both AuthenticationClient and
- // RefCounted<T> expose a ref/deref method, which interferes with the use of a RefPtr.
- void derefWebKitSoupAuthDialogAuthenticationClient()
- {
- deref();
- }
-
-private:
- virtual void refAuthenticationClient() { ref(); }
- virtual void derefAuthenticationClient() { deref(); }
-};
-
-static void webkit_soup_auth_dialog_session_feature_init(SoupSessionFeatureInterface*, gpointer);
-static void attach(SoupSessionFeature*, SoupSession*);
-static void detach(SoupSessionFeature*, SoupSession*);
-
-enum {
- CURRENT_TOPLEVEL,
- LAST_SIGNAL
-};
-
-static guint signals[LAST_SIGNAL] = { 0 };
-
-G_DEFINE_TYPE_WITH_CODE(WebKitSoupAuthDialog, webkit_soup_auth_dialog, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE(SOUP_TYPE_SESSION_FEATURE,
- webkit_soup_auth_dialog_session_feature_init))
-
-static void webkit_soup_auth_dialog_class_init(WebKitSoupAuthDialogClass* klass)
-{
- GObjectClass* objectClass = G_OBJECT_CLASS(klass);
-
- /**
- * WebKitSoupAuthDialog::current-toplevel:
- * @authDialog: the object on which the signal is emitted
- * @message: the #SoupMessage being used in the authentication process
- *
- * This signal is emitted by the @authDialog when it needs to know
- * the current toplevel widget in order to correctly set the
- * transiency for the authentication dialog.
- *
- * Return value: (transfer none): the current toplevel #GtkWidget or %NULL if there's none
- *
- * Since: 1.1.1
- */
- signals[CURRENT_TOPLEVEL] = g_signal_new("current-toplevel",
- G_OBJECT_CLASS_TYPE(objectClass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(WebKitSoupAuthDialogClass, current_toplevel),
- 0, 0,
- webkit_marshal_OBJECT__OBJECT,
- GTK_TYPE_WIDGET, 1,
- SOUP_TYPE_MESSAGE);
-}
-
-static void webkit_soup_auth_dialog_init(WebKitSoupAuthDialog*)
-{
-}
-
-static void webkit_soup_auth_dialog_session_feature_init(SoupSessionFeatureInterface *featureInterface, gpointer)
-{
- featureInterface->attach = attach;
- featureInterface->detach = detach;
-}
-
-static void sessionAuthenticate(SoupSession* session, SoupMessage* message, SoupAuth* auth, gboolean retrying, SoupSessionFeature* manager)
-{
- GtkWindow* toplevel = 0;
- g_signal_emit(manager, signals[CURRENT_TOPLEVEL], 0, message, &toplevel);
-
- WebKitSoupAuthDialogAuthenticationClient* client = new WebKitSoupAuthDialogAuthenticationClient();
- AuthenticationChallenge challenge(session, message, auth, retrying, client);
- soup_session_unpause_message(session, message);
-
- // A RefPtr would be better here, but it seems that accessing RefCounted::deref from this context is
- // impossible with gcc, due to WebKitSoupAuthDialogAuthenticationClient's two superclasses.
- client->derefWebKitSoupAuthDialogAuthenticationClient();
-
- GtkWidget* authDialog = createAuthenticationDialog(toplevel, challenge, DisallowPersistentStorage);
- gtk_widget_show(authDialog);
-}
-
-static void attach(SoupSessionFeature* manager, SoupSession* session)
-{
- g_signal_connect(session, "authenticate", G_CALLBACK(sessionAuthenticate), manager);
-}
-
-static void detach(SoupSessionFeature* manager, SoupSession* session)
-{
- g_signal_handlers_disconnect_by_func(session, reinterpret_cast<gpointer>(sessionAuthenticate), manager);
-}
-
-
diff --git a/Source/WebKit/gtk/webkit/webkitsoupauthdialog.h b/Source/WebKit/gtk/webkit/webkitsoupauthdialog.h
deleted file mode 100644
index 56f972a74..000000000
--- a/Source/WebKit/gtk/webkit/webkitsoupauthdialog.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2009 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 webkitsoupauthdialog_h
-#define webkitsoupauthdialog_h
-
-#include <gtk/gtk.h>
-#define LIBSOUP_I_HAVE_READ_BUG_594377_AND_KNOW_SOUP_PASSWORD_MANAGER_MIGHT_GO_AWAY
-#include <libsoup/soup.h>
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_SOUP_AUTH_DIALOG (webkit_soup_auth_dialog_get_type ())
-#define WEBKIT_SOUP_AUTH_DIALOG(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), WEBKIT_TYPE_SOUP_AUTH_DIALOG, WebKitSoupAuthDialog))
-#define WEBKIT_SOUP_AUTH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), WEBKIT_TYPE_SOUP_AUTH_DIALOG, WebKitSoupAuthDialog))
-#define WEBKIT_IS_SOUP_AUTH_DIALOG(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), WEBKIT_TYPE_SOUP_AUTH_DIALOG))
-#define WEBKIT_IS_SOUP_AUTH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), WEBKIT_TYPE_SOUP_AUTH_DIALOG))
-#define WEBKIT_SOUP_AUTH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), WEBKIT_TYPE_SOUP_AUTH_DIALOG, WebKitSoupAuthDialog))
-
-typedef struct {
- GObject parent_instance;
-} WebKitSoupAuthDialog;
-
-typedef struct {
- GObjectClass parent_class;
-
- GtkWidget* (*current_toplevel) (WebKitSoupAuthDialog* authDialog, SoupMessage* message);
-} WebKitSoupAuthDialogClass;
-
-WEBKIT_API GType
-webkit_soup_auth_dialog_get_type (void);
-
-G_END_DECLS
-
-#endif /* webkitsoupauthdialog_h */
diff --git a/Source/WebKit/gtk/webkit/webkitspellchecker.cpp b/Source/WebKit/gtk/webkit/webkitspellchecker.cpp
deleted file mode 100644
index 829fd54e7..000000000
--- a/Source/WebKit/gtk/webkit/webkitspellchecker.cpp
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (C) 2011 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 "webkitspellchecker.h"
-
-/**
- * SECTION:webkitspellchecker
- * @short_description: the spell checking API for WebKit
- *
- * #WebKitSpellChecker provides APIs for the spell checking
- * functionality used internally by WebKit to perform spell checking
- * in editable areas. This can be used, for example, by browsers to
- * implement custom spell checking context menus or sophisticated
- * auto-correct features.
- */
-
-G_DEFINE_INTERFACE(WebKitSpellChecker, webkit_spell_checker, G_TYPE_OBJECT);
-
-static void webkit_spell_checker_default_init(WebKitSpellCheckerInterface* interface)
-{
-}
-
-/**
- * webkit_spell_checker_check_spelling_of_string:
- * @checker: a #WebKitSpellChecker
- * @string: the string to check for misspellings
- * @misspelling_location: (out) (allow-none) a pointer to an integer to store the location of the first misspelling
- * @misspelling_length: (out) (allow-none) a pointer to an integer to store the length of the first misspelling
- *
- * Checks @string for misspellings using @checker, storing the
- * location and length of the first misspelling in
- * @misspelling_location and @misspelling_length respectively.
- *
- * Since: 1.5.1
- **/
-void webkit_spell_checker_check_spelling_of_string(WebKitSpellChecker* checker, const char* string, int* misspelling_location, int* misspelling_length)
-{
- g_return_if_fail(WEBKIT_IS_SPELL_CHECKER(checker));
- g_return_if_fail(string);
-
- WebKitSpellCheckerInterface* interface = WEBKIT_SPELL_CHECKER_GET_IFACE(checker);
- if (interface->check_spelling_of_string)
- interface->check_spelling_of_string(checker, string, misspelling_location, misspelling_length);
-}
-
-/**
- * webkit_spell_checker_get_guesses_for_word:
- * @checker: a #WebKitSpellChecker
- * @word: the misspelled word
- * @context: (allow-none) the surrounding context of the misspelled word
- *
- * Returns a %NULL-terminated array of guesses for corrections of the
- * misspelled word @word.
- *
- * Returns: (transfer full): a newly allocated %NULL-terminated array
- * of suggested corrections for a misspelled word @word. Free it with
- * %g_strfreev when done with it.
- *
- * Since: 1.5.1
- **/
-char** webkit_spell_checker_get_guesses_for_word(WebKitSpellChecker* checker, const char* word, const char* context)
-{
- g_return_val_if_fail(WEBKIT_IS_SPELL_CHECKER(checker), 0);
- g_return_val_if_fail(word, 0);
-
- WebKitSpellCheckerInterface* interface = WEBKIT_SPELL_CHECKER_GET_IFACE(checker);
- if (interface->get_guesses_for_word)
- return interface->get_guesses_for_word(checker, word, context);
-
- return 0;
-}
-
-/**
- * webkit_spell_checker_update_spell_checking_languages:
- * @checker: a #WebKitSpellChecker
- * @languages: (allow-none) a string of languages to use for @checker
- *
- * Sets @languages as the list of languages to use by @checker. The
- * accepted format is a list of comma (',') separated language codes
- * of the form 'en_US', ie, language_VARIANT.
- *
- * Since: 1.5.1
- **/
-void webkit_spell_checker_update_spell_checking_languages(WebKitSpellChecker* checker, const char* languages)
-{
- g_return_if_fail(WEBKIT_IS_SPELL_CHECKER(checker));
-
- WebKitSpellCheckerInterface* interface = WEBKIT_SPELL_CHECKER_GET_IFACE(checker);
- if (interface->update_spell_checking_languages)
- interface->update_spell_checking_languages(checker, languages);
-}
-
-/**
- * webkit_spell_checker_get_autocorrect_suggestions_for_misspelled_word:
- * @checker: a #WebKitSpellChecker
- * @word: a misspelled word
- *
- * Returns a suggestion for a word to use in an "autocorrect" feature.
- *
- * Returns: (transfer full) the suggestion for the autocorrection of
- * @word
- *
- * Since: 1.5.1
- **/
-char* webkit_spell_checker_get_autocorrect_suggestions_for_misspelled_word(WebKitSpellChecker* checker, const char* word)
-{
- g_return_val_if_fail(WEBKIT_IS_SPELL_CHECKER(checker), 0);
- g_return_val_if_fail(word, 0);
-
- WebKitSpellCheckerInterface* interface = WEBKIT_SPELL_CHECKER_GET_IFACE(checker);
- if (interface->get_autocorrect_suggestions_for_misspelled_word)
- return interface->get_autocorrect_suggestions_for_misspelled_word(checker, word);
-
- return 0;
-}
-
-/**
- * webkit_spell_checker_learn_word:
- * @checker: a #WebKitSpellChecker
- * @word: the word to learn
- *
- * Instructs the @checker to add @word to its dictionary as a properly
- * spelled word. The word will be learned permanently in the user's
- * personal dictionary.
- *
- * Since: 1.5.1
- **/
-void webkit_spell_checker_learn_word(WebKitSpellChecker* checker, const char* word)
-{
- g_return_if_fail(WEBKIT_IS_SPELL_CHECKER(checker));
- g_return_if_fail(word);
-
- WebKitSpellCheckerInterface* interface = WEBKIT_SPELL_CHECKER_GET_IFACE(checker);
- if (interface->learn_word)
- interface->learn_word(checker, word);
-}
-
-/**
- * webkit_spell_checker_ignore_word:
- * @checker: a #WebKitSpellChecker
- * @word: the word to ignore
- *
- * Instructs the @checker to ignore @word as a misspelling for this
- * session.
- *
- * Since: 1.5.1
- **/
-void webkit_spell_checker_ignore_word(WebKitSpellChecker* checker, const char* word)
-{
- g_return_if_fail(WEBKIT_IS_SPELL_CHECKER(checker));
- g_return_if_fail(word);
-
- WebKitSpellCheckerInterface* interface = WEBKIT_SPELL_CHECKER_GET_IFACE(checker);
- if (interface->ignore_word)
- interface->ignore_word(checker, word);
-}
diff --git a/Source/WebKit/gtk/webkit/webkitspellchecker.h b/Source/WebKit/gtk/webkit/webkitspellchecker.h
deleted file mode 100644
index 3df9561d5..000000000
--- a/Source/WebKit/gtk/webkit/webkitspellchecker.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2011 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 webkitspellchecker_h
-#define webkitspellchecker_h
-
-#include "webkitdefines.h"
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_SPELL_CHECKER (webkit_spell_checker_get_type())
-#define WEBKIT_SPELL_CHECKER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_SPELL_CHECKER, WebKitSpellChecker))
-#define WEBKIT_IS_SPELL_CHECKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), WEBKIT_TYPE_SPELL_CHECKER))
-#define WEBKIT_SPELL_CHECKER_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), WEBKIT_TYPE_SPELL_CHECKER, WebKitSpellCheckerInterface))
-
-struct _WebKitSpellCheckerInterface {
- GTypeInterface g_iface;
-
- void (*check_spelling_of_string) (WebKitSpellChecker* checker, const char* string, int* misspelling_location, int* misspelling_length);
- char** (*get_guesses_for_word) (WebKitSpellChecker* checker, const char* word, const char* context);
- void (*update_spell_checking_languages) (WebKitSpellChecker* checker, const char* languages);
- char* (*get_autocorrect_suggestions_for_misspelled_word) (WebKitSpellChecker* checker, const char* word);
- void (*learn_word) (WebKitSpellChecker* checker, const char* word);
- void (*ignore_word) (WebKitSpellChecker* checker, const char* word);
-};
-
-WEBKIT_API GType webkit_spell_checker_get_type (void) G_GNUC_CONST;
-
-WEBKIT_API void webkit_spell_checker_check_spelling_of_string (WebKitSpellChecker *checker,
- const char *string,
- int *misspelling_location,
- int *misspelling_length);
-
-WEBKIT_API char** webkit_spell_checker_get_guesses_for_word (WebKitSpellChecker *checker,
- const char *word,
- const char *context);
-
-WEBKIT_API void webkit_spell_checker_update_spell_checking_languages (WebKitSpellChecker *checker,
- const char *languages);
-
-WEBKIT_API char* webkit_spell_checker_get_autocorrect_suggestions_for_misspelled_word (WebKitSpellChecker *checker,
- const char *word);
-
-WEBKIT_API void webkit_spell_checker_learn_word (WebKitSpellChecker *checker,
- const char *word);
-
-WEBKIT_API void webkit_spell_checker_ignore_word (WebKitSpellChecker *checker,
- const char *word);
-
-G_END_DECLS
-
-#endif
-
diff --git a/Source/WebKit/gtk/webkit/webkitspellcheckerenchant.cpp b/Source/WebKit/gtk/webkit/webkitspellcheckerenchant.cpp
deleted file mode 100644
index e46140846..000000000
--- a/Source/WebKit/gtk/webkit/webkitspellcheckerenchant.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (C) 2011 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 "webkitspellcheckerenchant.h"
-
-#if ENABLE(SPELLCHECK)
-
-#include "TextCheckerEnchant.h"
-#include "webkitspellchecker.h"
-#include <gtk/gtk.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/text/CString.h>
-
-using namespace WebCore;
-
-/**
- * SECTION:webkitspellcheckerenchant
- * @short_description: the default spell checking implementation for WebKitGTK+.
- *
- * #WebKitSpellCheckerEnchant is the default spell checking implementation for
- * WebKitGTK+. It uses the Enchant dictionaries installed on the system to
- * correct spelling.
- */
-
-struct _WebKitSpellCheckerEnchantPrivate {
- OwnPtr<TextCheckerEnchant> textCheckerEnchant;
-};
-
-static void webkit_spell_checker_enchant_spell_checker_interface_init(WebKitSpellCheckerInterface* checkerInterface);
-
-G_DEFINE_TYPE_WITH_CODE(WebKitSpellCheckerEnchant, webkit_spell_checker_enchant, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE(WEBKIT_TYPE_SPELL_CHECKER,
- webkit_spell_checker_enchant_spell_checker_interface_init))
-
-static void webkit_spell_checker_enchant_finalize(GObject* object)
-{
- WebKitSpellCheckerEnchantPrivate* priv = WEBKIT_SPELL_CHECKER_ENCHANT(object)->priv;
- priv->~WebKitSpellCheckerEnchantPrivate();
-}
-
-static void webkit_spell_checker_enchant_class_init(WebKitSpellCheckerEnchantClass* klass)
-{
- GObjectClass* objectClass = G_OBJECT_CLASS(klass);
- objectClass->finalize = webkit_spell_checker_enchant_finalize;
- g_type_class_add_private(klass, sizeof(WebKitSpellCheckerEnchantPrivate));
-}
-
-static void webkit_spell_checker_enchant_init(WebKitSpellCheckerEnchant* checker)
-{
- WebKitSpellCheckerEnchantPrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(checker, WEBKIT_TYPE_SPELL_CHECKER_ENCHANT, WebKitSpellCheckerEnchantPrivate);
- checker->priv = priv;
- new (priv) WebKitSpellCheckerEnchantPrivate();
-
- priv->textCheckerEnchant = TextCheckerEnchant::create();
-}
-
-static void checkSpellingOfString(WebKitSpellChecker* checker, const char* string, int* misspellingLocation, int* misspellingLength)
-{
- WebKitSpellCheckerEnchantPrivate* priv = WEBKIT_SPELL_CHECKER_ENCHANT(checker)->priv;
- priv->textCheckerEnchant->checkSpellingOfString(String::fromUTF8(string), *misspellingLocation, *misspellingLength);
-}
-
-static char** getGuessesForWord(WebKitSpellChecker* checker, const char* word, const char* context)
-{
- WebKitSpellCheckerEnchantPrivate* priv = WEBKIT_SPELL_CHECKER_ENCHANT(checker)->priv;
-
- Vector<String> guesses = priv->textCheckerEnchant->getGuessesForWord(String::fromUTF8(word));
-
- if (guesses.isEmpty())
- return 0;
-
- int i = 0;
- int numberOfGuesses = guesses.size();
- char** guessesArray = static_cast<char**>(g_malloc0((numberOfGuesses + 1) * sizeof(char*)));
- for (Vector<String>::const_iterator iter = guesses.begin(); iter != guesses.end(); ++iter)
- guessesArray[i++] = g_strdup(iter->utf8().data());
- guessesArray[i] = 0;
-
- return guessesArray;
-}
-
-static void updateSpellCheckingLanguages(WebKitSpellChecker* checker, const char* languages)
-{
- WebKitSpellCheckerEnchantPrivate* priv = WEBKIT_SPELL_CHECKER_ENCHANT(checker)->priv;
-
- Vector<String> languagesVector;
- String::fromUTF8(languages).split(static_cast<UChar>(','), languagesVector);
- priv->textCheckerEnchant->updateSpellCheckingLanguages(languagesVector);
-}
-
-static char* getAutocorrectSuggestionsForMisspelledWord(WebKitSpellChecker* checker, const char* word)
-{
- return 0;
-}
-
-static void learnWord(WebKitSpellChecker* checker, const char* word)
-{
- WebKitSpellCheckerEnchantPrivate* priv = WEBKIT_SPELL_CHECKER_ENCHANT(checker)->priv;
- priv->textCheckerEnchant->learnWord(String::fromUTF8(word));
-}
-
-static void ignoreWord(WebKitSpellChecker* checker, const char* word)
-{
- WebKitSpellCheckerEnchantPrivate* priv = WEBKIT_SPELL_CHECKER_ENCHANT(checker)->priv;
- priv->textCheckerEnchant->ignoreWord(String::fromUTF8(word));
-}
-
-static void webkit_spell_checker_enchant_spell_checker_interface_init(WebKitSpellCheckerInterface* checkerInterface)
-{
- checkerInterface->check_spelling_of_string = checkSpellingOfString;
- checkerInterface->get_guesses_for_word = getGuessesForWord;
- checkerInterface->update_spell_checking_languages = updateSpellCheckingLanguages;
- checkerInterface->get_autocorrect_suggestions_for_misspelled_word = getAutocorrectSuggestionsForMisspelledWord;
- checkerInterface->learn_word = learnWord;
- checkerInterface->ignore_word = ignoreWord;
-}
-
-#endif /* ENABLE(SPELLCHECK) */
-
diff --git a/Source/WebKit/gtk/webkit/webkitspellcheckerenchant.h b/Source/WebKit/gtk/webkit/webkitspellcheckerenchant.h
deleted file mode 100644
index 52e1bcac7..000000000
--- a/Source/WebKit/gtk/webkit/webkitspellcheckerenchant.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2011 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 webkitspellcheckerenchant_h
-#define webkitspellcheckerenchant_h
-
-#if ENABLE(SPELLCHECK)
-
-#include <glib-object.h>
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_SPELL_CHECKER_ENCHANT (webkit_spell_checker_enchant_get_type())
-#define WEBKIT_SPELL_CHECKER_ENCHANT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_SPELL_CHECKER_ENCHANT, WebKitSpellCheckerEnchant))
-#define WEBKIT_SPELL_CHECKER_ENCHANT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_SPELL_CHECKER_ENCHANT, WebKitSpellCheckerEnchantClass))
-#define WEBKIT_IS_SPELL_CHECKER_ENCHANT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_SPELL_CHECKER_ENCHANT))
-#define WEBKIT_IS_SPELL_CHECKER_ENCHANT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_SPELL_CHECKER_ENCHANT))
-#define WEBKIT_SPELL_CHECKER_ENCHANT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_SPELL_CHECKER_ENCHANT, WebKitSpellCheckerEnchantClass))
-
-typedef struct _WebKitSpellCheckerEnchant WebKitSpellCheckerEnchant;
-typedef struct _WebKitSpellCheckerEnchantClass WebKitSpellCheckerEnchantClass;
-typedef struct _WebKitSpellCheckerEnchantPrivate WebKitSpellCheckerEnchantPrivate;
-
-struct _WebKitSpellCheckerEnchant {
- GObject parent_instance;
-
- /*< private >*/
- WebKitSpellCheckerEnchantPrivate *priv;
-};
-
-struct _WebKitSpellCheckerEnchantClass {
- GObjectClass parent_class;
-};
-
-WEBKIT_API GType webkit_spell_checker_enchant_get_type(void);
-
-G_END_DECLS
-
-#endif /* ENABLE(SPELLCHECK) */
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitversion.cpp b/Source/WebKit/gtk/webkit/webkitversion.cpp
deleted file mode 100644
index 62750f515..000000000
--- a/Source/WebKit/gtk/webkit/webkitversion.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2008 Christian Dywan <christian@imendio.com>
- *
- * 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 "webkitversion.h"
-
-/**
- * webkit_major_version:
- *
- * The major version number of the WebKit that is linked against.
- *
- * Return value: The major version
- *
- * Since: 1.0.1
- */
-guint webkit_major_version()
-{
- return WEBKIT_MAJOR_VERSION;
-}
-
-/**
- * webkit_minor_version:
- *
- * The minor version number of the WebKit that is linked against.
- *
- * Return value: The minor version
- *
- * Since: 1.0.1
- */
-guint webkit_minor_version()
-{
- return WEBKIT_MINOR_VERSION;
-}
-
-/**
- * webkit_micro_version:
- *
- * The micro version number of the WebKit that is linked against.
- *
- * Return value: The micro version
- *
- * Since: 1.0.1
- */
-guint webkit_micro_version()
-{
- return WEBKIT_MICRO_VERSION;
-}
diff --git a/Source/WebKit/gtk/webkit/webkitversion.h.in b/Source/WebKit/gtk/webkit/webkitversion.h.in
deleted file mode 100644
index 4d63655c3..000000000
--- a/Source/WebKit/gtk/webkit/webkitversion.h.in
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2008 Christian Dywan <christian@imendio.com>
- *
- * 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 webkitversion_h
-#define webkitversion_h
-
-#include <glib.h>
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_MAJOR_VERSION (@WEBKIT_MAJOR_VERSION@)
-#define WEBKIT_MINOR_VERSION (@WEBKIT_MINOR_VERSION@)
-#define WEBKIT_MICRO_VERSION (@WEBKIT_MICRO_VERSION@)
-#define WEBKIT_USER_AGENT_MAJOR_VERSION (@WEBKIT_USER_AGENT_MAJOR_VERSION@)
-#define WEBKIT_USER_AGENT_MINOR_VERSION (@WEBKIT_USER_AGENT_MINOR_VERSION@)
-
-/**
- * WEBKITGTK_API_VERSION: (skip)
- */
-#define WEBKITGTK_API_VERSION (@WEBKITGTK_API_VERSION@)
-
-#define WEBKIT_CHECK_VERSION(major, minor, micro) \
- (WEBKIT_MAJOR_VERSION > (major) || \
- (WEBKIT_MAJOR_VERSION == (major) && WEBKIT_MINOR_VERSION > (minor)) || \
- (WEBKIT_MAJOR_VERSION == (major) && WEBKIT_MINOR_VERSION == (minor) && \
- WEBKIT_MICRO_VERSION >= (micro)))
-
-WEBKIT_API guint
-webkit_major_version (void);
-
-WEBKIT_API guint
-webkit_minor_version (void);
-
-WEBKIT_API guint
-webkit_micro_version (void);
-
-WEBKIT_API gboolean
-webkit_check_version (guint major, guint minor, guint micro);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitviewportattributes.cpp b/Source/WebKit/gtk/webkit/webkitviewportattributes.cpp
deleted file mode 100644
index 97724668c..000000000
--- a/Source/WebKit/gtk/webkit/webkitviewportattributes.cpp
+++ /dev/null
@@ -1,574 +0,0 @@
-/*
- * 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 "Document.h"
-#include "Frame.h"
-#include "Page.h"
-#include "webkitglobalsprivate.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, #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();
-
- float devicePixelRatio = priv->deviceDPI / ViewportArguments::deprecatedTargetDPI;
- ViewportAttributes attributes = computeViewportAttributes(arguments, priv->desktopWidth, priv->deviceWidth, priv->deviceHeight, devicePixelRatio, IntSize(priv->availableWidth, priv->availableHeight));
- restrictMinimumScaleFactorToViewportSize(attributes, IntSize(priv->availableWidth, priv->availableHeight), devicePixelRatio);
- restrictScaleFactorToInitialScaleIfNotUserScalable(attributes);
-
- priv->width = attributes.layoutSize.width();
- priv->height = attributes.layoutSize.height();
- priv->initialScaleFactor = attributes.initialScale;
- priv->minimumScaleFactor = attributes.minimumScale;
- priv->maximumScaleFactor = attributes.maximumScale;
- priv->devicePixelRatio = devicePixelRatio;
- priv->userScalable = static_cast<bool>(arguments.userZoom);
-
- 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/Source/WebKit/gtk/webkit/webkitviewportattributes.h b/Source/WebKit/gtk/webkit/webkitviewportattributes.h
deleted file mode 100644
index 7d90c1b6f..000000000
--- a/Source/WebKit/gtk/webkit/webkitviewportattributes.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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/Source/WebKit/gtk/webkit/webkitviewportattributesprivate.h b/Source/WebKit/gtk/webkit/webkitviewportattributesprivate.h
deleted file mode 100644
index 11cb66885..000000000
--- a/Source/WebKit/gtk/webkit/webkitviewportattributesprivate.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * 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/Source/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp b/Source/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp
deleted file mode 100644
index d836f6001..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp
+++ /dev/null
@@ -1,482 +0,0 @@
-/*
- * Copyright (C) 2008 Jan Michael C. Alonzo
- * Copyright (C) 2009 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 "config.h"
-#include "webkitwebbackforwardlist.h"
-
-#include "BackForwardListImpl.h"
-#include "HistoryItem.h"
-#include "Page.h"
-#include "PageGroup.h"
-#include "webkitglobalsprivate.h"
-#include "webkitwebbackforwardlistprivate.h"
-#include "webkitwebhistoryitem.h"
-#include "webkitwebhistoryitemprivate.h"
-#include "webkitwebview.h"
-#include "webkitwebviewprivate.h"
-#include <glib.h>
-
-/**
- * SECTION:webkitwebbackforwardlist
- * @short_description: The history of a #WebKitWebView
- * @see_also: #WebKitWebView, #WebKitWebHistoryItem
- *
- * <informalexample><programlisting>
- * /<!-- -->* Get the WebKitWebBackForwardList from the WebKitWebView *<!-- -->/
- * WebKitWebBackForwardList *back_forward_list = webkit_web_view_get_back_forward_list (my_web_view);
- * WebKitWebHistoryItem *item = webkit_web_back_forward_list_get_current_item (back_forward_list);
- *
- * /<!-- -->* Do something with a WebKitWebHistoryItem *<!-- -->/
- * g_print("%p", item);
- *
- * /<!-- -->* Control some parameters *<!-- -->/
- * WebKitWebBackForwardList *back_forward_list = webkit_web_view_get_back_forward_list (my_web_view);
- * webkit_web_back_forward_list_set_limit (back_forward_list, 30);
- * </programlisting></informalexample>
- *
- */
-
-using namespace WebKit;
-
-struct _WebKitWebBackForwardListPrivate {
- WebCore::BackForwardListImpl* backForwardList;
- gboolean disposed;
-};
-
-G_DEFINE_TYPE(WebKitWebBackForwardList, webkit_web_back_forward_list, G_TYPE_OBJECT);
-
-static void webkit_web_back_forward_list_dispose(GObject* object)
-{
- WebKitWebBackForwardList* list = WEBKIT_WEB_BACK_FORWARD_LIST(object);
- WebCore::BackForwardListImpl* backForwardList = core(list);
- WebKitWebBackForwardListPrivate* priv = list->priv;
-
- if (!priv->disposed) {
- priv->disposed = true;
-
- WebCore::HistoryItemVector items = backForwardList->entries();
- GHashTable* table = webkit_history_items();
- for (unsigned i = 0; i < items.size(); i++)
- g_hash_table_remove(table, items[i].get());
- }
-
- G_OBJECT_CLASS(webkit_web_back_forward_list_parent_class)->dispose(object);
-}
-
-static void webkit_web_back_forward_list_class_init(WebKitWebBackForwardListClass* klass)
-{
- GObjectClass* object_class = G_OBJECT_CLASS(klass);
-
- object_class->dispose = webkit_web_back_forward_list_dispose;
-
- webkitInit();
-
- g_type_class_add_private(klass, sizeof(WebKitWebBackForwardListPrivate));
-}
-
-static void webkit_web_back_forward_list_init(WebKitWebBackForwardList* webBackForwardList)
-{
- webBackForwardList->priv = G_TYPE_INSTANCE_GET_PRIVATE(webBackForwardList, WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, WebKitWebBackForwardListPrivate);
-}
-
-/**
- * webkit_web_back_forward_list_new_with_web_view: (skip)
- * @web_view: the back forward list's #WebKitWebView
- *
- * Creates an instance of the back forward list with a controlling #WebKitWebView
- *
- * Return value: a #WebKitWebBackForwardList
- *
- * Deprecated: 1.3.4: Instances of #WebKitWebBackForwardList are
- * created and owned by #WebKitWebView instances only.
- */
-WebKitWebBackForwardList* webkit_web_back_forward_list_new_with_web_view(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL);
-
- WebKitWebBackForwardList* webBackForwardList;
-
- webBackForwardList = WEBKIT_WEB_BACK_FORWARD_LIST(g_object_new(WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, NULL));
- WebKitWebBackForwardListPrivate* priv = webBackForwardList->priv;
-
- priv->backForwardList = static_cast<WebCore::BackForwardListImpl*>(core(webView)->backForwardList());
- priv->backForwardList->setEnabled(TRUE);
-
- return webBackForwardList;
-}
-
-/**
- * webkit_web_back_forward_list_go_forward:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- *
- * Steps forward in the back forward list
- */
-void webkit_web_back_forward_list_go_forward(WebKitWebBackForwardList* webBackForwardList)
-{
- g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList));
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- if (backForwardList->enabled())
- backForwardList->goForward();
-}
-
-/**
- * webkit_web_back_forward_list_go_back:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- *
- * Steps backward in the back forward list
- */
-void webkit_web_back_forward_list_go_back(WebKitWebBackForwardList* webBackForwardList)
-{
- g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList));
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- if (backForwardList->enabled())
- backForwardList->goBack();
-}
-
-/**
- * webkit_web_back_forward_list_contains_item:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- * @history_item: (type WebKit.WebHistoryItem) (transfer none): the #WebKitWebHistoryItem to check
- *
- * Checks if @web_history_item is in the back forward list
- *
- * Return value: %TRUE if @web_history_item is in the back forward list, %FALSE if it doesn't
- */
-gboolean webkit_web_back_forward_list_contains_item(WebKitWebBackForwardList* webBackForwardList, WebKitWebHistoryItem* webHistoryItem)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), FALSE);
- g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), FALSE);
-
- WebCore::HistoryItem* historyItem = core(webHistoryItem);
-
- g_return_val_if_fail(historyItem != NULL, FALSE);
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
-
- return (backForwardList->enabled() ? backForwardList->containsItem(historyItem) : FALSE);
-}
-
-/**
- * webkit_web_back_forward_list_go_to_item:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- * @history_item: (type WebKit.WebHistoryItem) (transfer none): the #WebKitWebHistoryItem to go to
- *
- * Go to the specified @web_history_item in the back forward list
- */
-void webkit_web_back_forward_list_go_to_item(WebKitWebBackForwardList* webBackForwardList, WebKitWebHistoryItem* webHistoryItem)
-{
- g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList));
- g_return_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem));
-
- WebCore::HistoryItem* historyItem = core(webHistoryItem);
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
-
- if (backForwardList->enabled() && historyItem)
- backForwardList->goToItem(historyItem);
-}
-
-/**
- * webkit_web_back_forward_list_get_forward_list_with_limit:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- * @limit: the number of items to retrieve
- *
- * Returns a list of items that succeed the current item, limited by @limit
- *
- * Return value: (element-type WebKit.WebHistoryItem) (transfer container): a #GList of items succeeding the current item, limited by @limit
- */
-GList* webkit_web_back_forward_list_get_forward_list_with_limit(WebKitWebBackForwardList* webBackForwardList, gint limit)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL);
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- if (!backForwardList || !backForwardList->enabled())
- return NULL;
-
- WebCore::HistoryItemVector items;
- GList* forwardItems = { 0 };
-
- backForwardList->forwardListWithLimit(limit, items);
-
- for (unsigned i = 0; i < items.size(); i++) {
- WebKitWebHistoryItem* webHistoryItem = kit(items[i]);
- forwardItems = g_list_prepend(forwardItems, webHistoryItem);
- }
-
- return forwardItems;
-}
-
-/**
- * webkit_web_back_forward_list_get_back_list_with_limit:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- * @limit: the number of items to retrieve
- *
- * Returns a list of items that precede the current item, limited by @limit
- *
- * Return value: (element-type WebKit.WebHistoryItem) (transfer container): a #GList of items preceding the current item, limited by @limit
- */
-GList* webkit_web_back_forward_list_get_back_list_with_limit(WebKitWebBackForwardList* webBackForwardList, gint limit)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL);
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- if (!backForwardList || !backForwardList->enabled())
- return NULL;
-
- WebCore::HistoryItemVector items;
- GList* backItems = { 0 };
-
- backForwardList->backListWithLimit(limit, items);
-
- for (unsigned i = 0; i < items.size(); i++) {
- WebKitWebHistoryItem* webHistoryItem = kit(items[i]);
- backItems = g_list_prepend(backItems, webHistoryItem);
- }
-
- return backItems;
-}
-
-/**
- * webkit_web_back_forward_list_get_back_item:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- *
- * Returns the item that precedes the current item
- *
- * Return value: (type WebKit.WebHistoryItem) (transfer none): the #WebKitWebHistoryItem preceding the current item
- */
-WebKitWebHistoryItem* webkit_web_back_forward_list_get_back_item(WebKitWebBackForwardList* webBackForwardList)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL);
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- if (!backForwardList || !backForwardList->enabled())
- return NULL;
-
- WebCore::HistoryItem* historyItem = backForwardList->backItem();
-
- return (historyItem ? kit(historyItem) : NULL);
-}
-
-/**
- * webkit_web_back_forward_list_get_current_item:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- *
- * Returns the current item.
- *
- * Returns a NULL value if the back forward list is empty
- *
- * Return value: (type WebKit.WebHistoryItem) (transfer none): a #WebKitWebHistoryItem
- */
-WebKitWebHistoryItem* webkit_web_back_forward_list_get_current_item(WebKitWebBackForwardList* webBackForwardList)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL);
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- if (!backForwardList || !backForwardList->enabled())
- return NULL;
-
- WebCore::HistoryItem* historyItem = backForwardList->currentItem();
-
- return (historyItem ? kit(historyItem) : NULL);
-}
-
-/**
- * webkit_web_back_forward_list_get_forward_item:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- *
- * Returns the item that succeeds the current item.
- *
- * Returns a NULL value if there nothing that succeeds the current item
- *
- * Return value: (type WebKit.WebHistoryItem) (transfer none): a #WebKitWebHistoryItem
- */
-WebKitWebHistoryItem* webkit_web_back_forward_list_get_forward_item(WebKitWebBackForwardList* webBackForwardList)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL);
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- if (!backForwardList || !backForwardList->enabled())
- return NULL;
-
- WebCore::HistoryItem* historyItem = backForwardList->forwardItem();
-
- return (historyItem ? kit(historyItem) : NULL);
-}
-
-/**
- * webkit_web_back_forward_list_get_nth_item:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- * @index: the index of the item
- *
- * Returns the item at a given index relative to the current item.
- *
- * Return value: (type WebKit.WebHistoryItem) (transfer none): the #WebKitWebHistoryItem located at the specified index relative to the current item
- */
-WebKitWebHistoryItem* webkit_web_back_forward_list_get_nth_item(WebKitWebBackForwardList* webBackForwardList, gint index)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL);
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- if (!backForwardList)
- return NULL;
-
- WebCore::HistoryItem* historyItem = backForwardList->itemAtIndex(index);
-
- return (historyItem ? kit(historyItem) : NULL);
-}
-
-/**
- * webkit_web_back_forward_list_get_back_length:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- *
- * Returns the number of items that preced the current item.
- *
- * Return value: a #gint corresponding to the number of items preceding the current item
- */
-gint webkit_web_back_forward_list_get_back_length(WebKitWebBackForwardList* webBackForwardList)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), 0);
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- if (!backForwardList || !backForwardList->enabled())
- return 0;
-
- return backForwardList->backListCount();
-}
-
-/**
- * webkit_web_back_forward_list_get_forward_length:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- *
- * Returns the number of items that succeed the current item.
- *
- * Return value: a #gint corresponding to the nuber of items succeeding the current item
- */
-gint webkit_web_back_forward_list_get_forward_length(WebKitWebBackForwardList* webBackForwardList)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), 0);
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- if (!backForwardList || !backForwardList->enabled())
- return 0;
-
- return backForwardList->forwardListCount();
-}
-
-/**
- * webkit_web_back_forward_list_get_limit:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- *
- * Returns the maximum limit of the back forward list.
- *
- * Return value: a #gint indicating the number of #WebKitWebHistoryItem the back forward list can hold
- */
-gint webkit_web_back_forward_list_get_limit(WebKitWebBackForwardList* webBackForwardList)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), 0);
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- if (!backForwardList || !backForwardList->enabled())
- return 0;
-
- return backForwardList->capacity();
-}
-
-/**
- * webkit_web_back_forward_list_set_limit:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- * @limit: the limit to set the back forward list to
- *
- * Sets the maximum limit of the back forward list. If the back forward list
- * exceeds its capacity, items will be removed everytime a new item has been
- * added.
- */
-void webkit_web_back_forward_list_set_limit(WebKitWebBackForwardList* webBackForwardList, gint limit)
-{
- g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList));
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- if (backForwardList)
- backForwardList->setCapacity(limit);
-}
-
-/**
- * webkit_web_back_forward_list_add_item:
- * @web_back_forward_list: a #WebKitWebBackForwardList
- * @history_item: (type WebKit.WebHistoryItem) (transfer none): the #WebKitWebHistoryItem to add
- *
- * Adds the item to the #WebKitWebBackForwardList.
- *
- * The @webBackForwardList will add a reference to the @webHistoryItem, so you
- * don't need to keep a reference once you've added it to the list.
- *
- * Since: 1.1.1
- */
-void webkit_web_back_forward_list_add_item(WebKitWebBackForwardList *webBackForwardList, WebKitWebHistoryItem *webHistoryItem)
-{
- g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList));
-
- g_object_ref(webHistoryItem);
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- WebCore::HistoryItem* historyItem = core(webHistoryItem);
-
- backForwardList->addItem(historyItem);
-}
-
-/**
- * webkit_web_back_forward_list_clear:
- * @web_back_forward_list: the #WebKitWebBackForwardList to be cleared
- *
- * Clears the @webBackForwardList by removing all its elements. Note that not even
- * the current page is kept in list when cleared so you would have to add it later.
- * This method also clears the list of visited links which means that all links will
- * appear unvisited.
- *
- * Since: 1.3.1
- **/
-void webkit_web_back_forward_list_clear(WebKitWebBackForwardList* webBackForwardList)
-{
- g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList));
-
- WebCore::BackForwardListImpl* backForwardList = core(webBackForwardList);
- if (!backForwardList)
- return;
-
- WebCore::Page* page = backForwardList->page();
- if (page && page->groupPtr())
- page->groupPtr()->removeVisitedLinks();
-
- if (!backForwardList->enabled() || !backForwardList->entries().size())
- return;
-
- // Clear the current list by setting capacity to 0
- int capacity = backForwardList->capacity();
- backForwardList->setCapacity(0);
- backForwardList->setCapacity(capacity);
-}
-
-WebCore::BackForwardListImpl* WebKit::core(WebKitWebBackForwardList* webBackForwardList)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL);
-
- return webBackForwardList->priv ? webBackForwardList->priv->backForwardList : 0;
-}
diff --git a/Source/WebKit/gtk/webkit/webkitwebbackforwardlist.h b/Source/WebKit/gtk/webkit/webkitwebbackforwardlist.h
deleted file mode 100644
index c3e56c937..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebbackforwardlist.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (C) 2008 Jan Michael C. Alonzo <jmalonzo@unpluggable.com>
- *
- * 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 webkitwebbackforwardlist_h
-#define webkitwebbackforwardlist_h
-
-#include <glib.h>
-#include <glib-object.h>
-
-#include <webkit/webkitdefines.h>
-#include <webkit/webkitwebhistoryitem.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_WEB_BACK_FORWARD_LIST (webkit_web_back_forward_list_get_type())
-#define WEBKIT_WEB_BACK_FORWARD_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, WebKitWebBackForwardList))
-#define WEBKIT_WEB_BACK_FORWARD_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, WebKitWebBackForwardListClass))
-#define WEBKIT_IS_WEB_BACK_FORWARD_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_BACK_FORWARD_LIST))
-#define WEBKIT_IS_WEB_BACK_FORWARD_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_BACK_FORWARD_LIST))
-#define WEBKIT_WEB_BACK_FORWARD_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, WebKitWebBackForwardListClass))
-
-typedef struct _WebKitWebBackForwardListPrivate WebKitWebBackForwardListPrivate;
-
-struct _WebKitWebBackForwardList {
- GObject parent_instance;
-
- /*< private >*/
- WebKitWebBackForwardListPrivate *priv;
-};
-
-struct _WebKitWebBackForwardListClass {
- 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_web_back_forward_list_get_type (void);
-
-#if !defined(WEBKIT_DISABLE_DEPRECATED)
-WEBKIT_API WebKitWebBackForwardList *
-webkit_web_back_forward_list_new_with_web_view (WebKitWebView *web_view);
-#endif
-
-WEBKIT_API void
-webkit_web_back_forward_list_go_forward (WebKitWebBackForwardList *web_back_forward_list);
-
-WEBKIT_API void
-webkit_web_back_forward_list_go_back (WebKitWebBackForwardList *web_back_forward_list);
-
-WEBKIT_API gboolean
-webkit_web_back_forward_list_contains_item (WebKitWebBackForwardList *web_back_forward_list,
- WebKitWebHistoryItem *history_item);
-
-WEBKIT_API void
-webkit_web_back_forward_list_go_to_item (WebKitWebBackForwardList *web_back_forward_list,
- WebKitWebHistoryItem *history_item);
-
-WEBKIT_API GList *
-webkit_web_back_forward_list_get_forward_list_with_limit (WebKitWebBackForwardList *web_back_forward_list,
- gint limit);
-
-WEBKIT_API GList *
-webkit_web_back_forward_list_get_back_list_with_limit (WebKitWebBackForwardList *web_back_forward_list,
- gint limit);
-
-WEBKIT_API WebKitWebHistoryItem *
-webkit_web_back_forward_list_get_back_item (WebKitWebBackForwardList *web_back_forward_list);
-
-WEBKIT_API WebKitWebHistoryItem *
-webkit_web_back_forward_list_get_current_item (WebKitWebBackForwardList *web_back_forward_list);
-
-WEBKIT_API WebKitWebHistoryItem *
-webkit_web_back_forward_list_get_forward_item (WebKitWebBackForwardList *web_back_forward_list);
-
-WEBKIT_API WebKitWebHistoryItem *
-webkit_web_back_forward_list_get_nth_item (WebKitWebBackForwardList *web_back_forward_list,
- gint index);
-
-WEBKIT_API gint
-webkit_web_back_forward_list_get_back_length (WebKitWebBackForwardList *web_back_forward_list);
-
-WEBKIT_API gint
-webkit_web_back_forward_list_get_forward_length (WebKitWebBackForwardList *web_back_forward_list);
-
-WEBKIT_API gint
-webkit_web_back_forward_list_get_limit (WebKitWebBackForwardList *web_back_forward_list);
-
-WEBKIT_API void
-webkit_web_back_forward_list_set_limit (WebKitWebBackForwardList *web_back_forward_list,
- gint limit);
-
-WEBKIT_API void
-webkit_web_back_forward_list_add_item (WebKitWebBackForwardList *web_back_forward_list,
- WebKitWebHistoryItem *history_item);
-
-WEBKIT_API void
-webkit_web_back_forward_list_clear (WebKitWebBackForwardList *web_back_forward_list);
-
-G_END_DECLS
-
-
-#endif /* webkitwebbackforwardlist_h */
diff --git a/Source/WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h b/Source/WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h
deleted file mode 100644
index 79424c083..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebbackforwardlistprivate.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * 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/Source/WebKit/gtk/webkit/webkitwebdatabase.cpp b/Source/WebKit/gtk/webkit/webkitwebdatabase.cpp
deleted file mode 100644
index 8d2f17f05..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebdatabase.cpp
+++ /dev/null
@@ -1,525 +0,0 @@
-/*
- * Copyright (C) 2009 Martin Robinson
- *
- * 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 "webkitwebdatabase.h"
-
-#include "DatabaseDetails.h"
-#include "DatabaseManager.h"
-#include "FileSystem.h"
-#include "GroupSettings.h"
-#include "PageGroup.h"
-#include "webkitglobalsprivate.h"
-#include "webkitsecurityoriginprivate.h"
-#include <glib/gi18n-lib.h>
-#include <wtf/text/CString.h>
-
-/**
- * SECTION:webkitwebdatabase
- * @short_description: A WebKit web application database
- *
- * #WebKitWebDatabase is a representation of a Web Database database. The
- * proposed Web Database standard introduces support for SQL databases that web
- * sites can create and access on a local computer through JavaScript.
- *
- * To get access to all databases defined by a security origin, use
- * #webkit_security_origin_get_databases. Each database has a canonical
- * name, as well as a user-friendly display name.
- *
- * WebKit uses SQLite to create and access the local SQL databases. The location
- * of a #WebKitWebDatabase can be accessed wth #webkit_web_database_get_filename.
- * You can configure the location of all databases with
- * #webkit_set_database_directory_path.
- *
- * For each database the web site can define an estimated size which can be
- * accessed with #webkit_web_database_get_expected_size. The current size of the
- * database in bytes is returned by #webkit_web_database_get_size.
- *
- * For more information refer to the Web Database specification proposal at
- * http://dev.w3.org/html5/webdatabase
- */
-
-using namespace WebKit;
-
-enum {
- PROP_0,
-
- PROP_SECURITY_ORIGIN,
- PROP_NAME,
- PROP_DISPLAY_NAME,
- PROP_EXPECTED_SIZE,
- PROP_SIZE,
- PROP_PATH
-};
-
-G_DEFINE_TYPE(WebKitWebDatabase, webkit_web_database, G_TYPE_OBJECT)
-
-struct _WebKitWebDatabasePrivate {
- WebKitSecurityOrigin* origin;
- gchar* name;
- gchar* displayName;
- gchar* filename;
-};
-
-static CString gWebKitWebDatabasePath;
-static guint64 webkit_default_database_quota = 5 * 1024 * 1024;
-
-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);
-
-static void webkit_web_database_finalize(GObject* object)
-{
- WebKitWebDatabase* webDatabase = WEBKIT_WEB_DATABASE(object);
- WebKitWebDatabasePrivate* priv = webDatabase->priv;
-
- g_free(priv->name);
- g_free(priv->displayName);
- g_free(priv->filename);
-
- G_OBJECT_CLASS(webkit_web_database_parent_class)->finalize(object);
-}
-
-static void webkit_web_database_dispose(GObject* object)
-{
- WebKitWebDatabase* webDatabase = WEBKIT_WEB_DATABASE(object);
- WebKitWebDatabasePrivate* priv = webDatabase->priv;
-
- if (priv->origin) {
- g_object_unref(priv->origin);
- priv->origin = NULL;
- }
-
- G_OBJECT_CLASS(webkit_web_database_parent_class)->dispose(object);
-}
-
-static void webkit_web_database_set_property(GObject* object, guint propId, const GValue* value, GParamSpec* pspec)
-{
- WebKitWebDatabase* webDatabase = WEBKIT_WEB_DATABASE(object);
-
- switch (propId) {
- case PROP_SECURITY_ORIGIN:
- webkit_web_database_set_security_origin(webDatabase, WEBKIT_SECURITY_ORIGIN(g_value_get_object(value)));
- break;
- case PROP_NAME:
- webkit_web_database_set_name(webDatabase, g_value_get_string(value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, pspec);
- break;
- }
-}
-
-static void webkit_web_database_get_property(GObject* object, guint propId, GValue* value, GParamSpec* pspec)
-{
- WebKitWebDatabase* webDatabase = WEBKIT_WEB_DATABASE(object);
- WebKitWebDatabasePrivate* priv = webDatabase->priv;
-
- switch (propId) {
- case PROP_SECURITY_ORIGIN:
- g_value_set_object(value, priv->origin);
- break;
- case PROP_NAME:
- g_value_set_string(value, webkit_web_database_get_name(webDatabase));
- break;
- case PROP_DISPLAY_NAME:
- g_value_set_string(value, webkit_web_database_get_display_name(webDatabase));
- break;
- case PROP_EXPECTED_SIZE:
- g_value_set_uint64(value, webkit_web_database_get_expected_size(webDatabase));
- break;
- case PROP_SIZE:
- g_value_set_uint64(value, webkit_web_database_get_size(webDatabase));
- break;
- case PROP_PATH:
- g_value_set_string(value, webkit_web_database_get_filename(webDatabase));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propId, pspec);
- break;
- }
-}
-
-static void webkit_web_database_class_init(WebKitWebDatabaseClass* klass)
-{
- GObjectClass* gobjectClass = G_OBJECT_CLASS(klass);
- gobjectClass->dispose = webkit_web_database_dispose;
- gobjectClass->finalize = webkit_web_database_finalize;
- gobjectClass->set_property = webkit_web_database_set_property;
- gobjectClass->get_property = webkit_web_database_get_property;
-
- /**
- * WebKitWebDatabase:security-origin:
- *
- * The security origin of the database.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobjectClass, PROP_SECURITY_ORIGIN,
- g_param_spec_object("security-origin",
- _("Security Origin"),
- _("The security origin of the database"),
- WEBKIT_TYPE_SECURITY_ORIGIN,
- (GParamFlags) (G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
-
- /**
- * WebKitWebDatabase:name:
- *
- * The name of the Web Database database.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobjectClass, PROP_NAME,
- g_param_spec_string("name",
- _("Name"),
- _("The name of the Web Database database"),
- NULL,
- (GParamFlags) (G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
-
- /**
- * WebKitWebDatabase:display-name:
- *
- * The display name of the Web Database database.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobjectClass, PROP_DISPLAY_NAME,
- g_param_spec_string("display-name",
- _("Display Name"),
- _("The display name of the Web Storage database"),
- NULL,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebDatabase:expected-size:
- *
- * The expected size of the database in bytes as defined by the web author.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobjectClass, PROP_EXPECTED_SIZE,
- g_param_spec_uint64("expected-size",
- _("Expected Size"),
- _("The expected size of the Web Database database"),
- 0, G_MAXUINT64, 0,
- WEBKIT_PARAM_READABLE));
- /**
- * WebKitWebDatabase:size:
- *
- * The current size of the database in bytes.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobjectClass, PROP_SIZE,
- g_param_spec_uint64("size",
- _("Size"),
- _("The current size of the Web Database database"),
- 0, G_MAXUINT64, 0,
- WEBKIT_PARAM_READABLE));
- /**
- * WebKitWebDatabase:filename:
- *
- * The absolute filename of the Web Database database.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobjectClass, PROP_PATH,
- g_param_spec_string("filename",
- _("Filename"),
- _("The absolute filename of the Web Storage database"),
- NULL,
- WEBKIT_PARAM_READABLE));
-
- g_type_class_add_private(klass, sizeof(WebKitWebDatabasePrivate));
-}
-
-static void webkit_web_database_init(WebKitWebDatabase* webDatabase)
-{
- webDatabase->priv = G_TYPE_INSTANCE_GET_PRIVATE(webDatabase, WEBKIT_TYPE_WEB_DATABASE, WebKitWebDatabasePrivate);
-}
-
-// Internal use only
-static void webkit_web_database_set_security_origin(WebKitWebDatabase *webDatabase, WebKitSecurityOrigin *securityOrigin)
-{
- g_return_if_fail(WEBKIT_IS_WEB_DATABASE(webDatabase));
- g_return_if_fail(WEBKIT_IS_SECURITY_ORIGIN(securityOrigin));
-
- WebKitWebDatabasePrivate* priv = webDatabase->priv;
-
- if (priv->origin)
- g_object_unref(priv->origin);
-
- g_object_ref(securityOrigin);
- priv->origin = securityOrigin;
-}
-
-static void webkit_web_database_set_name(WebKitWebDatabase* webDatabase, const gchar* name)
-{
- g_return_if_fail(WEBKIT_IS_WEB_DATABASE(webDatabase));
-
- WebKitWebDatabasePrivate* priv = webDatabase->priv;
- g_free(priv->name);
- priv->name = g_strdup(name);
-}
-
-/**
- * webkit_web_database_get_security_origin:
- * @webDatabase: a #WebKitWebDatabase
- *
- * Returns the security origin of the #WebKitWebDatabase.
- *
- * Returns: (transfer none): the security origin of the database
- *
- * Since: 1.1.14
- **/
-WebKitSecurityOrigin* webkit_web_database_get_security_origin(WebKitWebDatabase* webDatabase)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATABASE(webDatabase), NULL);
- WebKitWebDatabasePrivate* priv = webDatabase->priv;
-
- return priv->origin;
-}
-
-/**
- * webkit_web_database_get_name:
- * @webDatabase: a #WebKitWebDatabase
- *
- * Returns the canonical name of the #WebKitWebDatabase.
- *
- * Returns: the name of the database
- *
- * Since: 1.1.14
- **/
-const gchar* webkit_web_database_get_name(WebKitWebDatabase* webDatabase)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATABASE(webDatabase), NULL);
- WebKitWebDatabasePrivate* priv = webDatabase->priv;
-
- return priv->name;
-}
-
-/**
- * webkit_web_database_get_display_name:
- * @webDatabase: a #WebKitWebDatabase
- *
- * Returns the name of the #WebKitWebDatabase as seen by the user.
- *
- * Returns: the name of the database as seen by the user.
- *
- * Since: 1.1.14
- **/
-const gchar* webkit_web_database_get_display_name(WebKitWebDatabase* webDatabase)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATABASE(webDatabase), NULL);
-
-#if ENABLE(SQL_DATABASE)
- WebKitWebDatabasePrivate* priv = webDatabase->priv;
- WebCore::DatabaseDetails details = WebCore::DatabaseManager::manager().detailsForNameAndOrigin(priv->name, core(priv->origin));
- WTF::String displayName = details.displayName();
-
- if (displayName.isEmpty())
- return "";
-
- g_free(priv->displayName);
- priv->displayName = g_strdup(displayName.utf8().data());
- return priv->displayName;
-#else
- return "";
-#endif
-}
-
-/**
- * webkit_web_database_get_expected_size:
- * @webDatabase: a #WebKitWebDatabase
- *
- * Returns the expected size of the #WebKitWebDatabase in bytes as defined by the
- * web author. The Web Database standard allows web authors to specify an expected
- * size of the database to optimize the user experience.
- *
- * Returns: the expected size of the database in bytes
- *
- * Since: 1.1.14
- **/
-guint64 webkit_web_database_get_expected_size(WebKitWebDatabase* webDatabase)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATABASE(webDatabase), 0);
-
-#if ENABLE(SQL_DATABASE)
- WebKitWebDatabasePrivate* priv = webDatabase->priv;
- WebCore::DatabaseDetails details = WebCore::DatabaseManager::manager().detailsForNameAndOrigin(priv->name, core(priv->origin));
- return details.expectedUsage();
-#else
- return 0;
-#endif
-}
-
-/**
- * webkit_web_database_get_size:
- * @webDatabase: a #WebKitWebDatabase
- *
- * Returns the actual size of the #WebKitWebDatabase space on disk in bytes.
- *
- * Returns: the actual size of the database in bytes
- *
- * Since: 1.1.14
- **/
-guint64 webkit_web_database_get_size(WebKitWebDatabase* webDatabase)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATABASE(webDatabase), 0);
-
-#if ENABLE(SQL_DATABASE)
- WebKitWebDatabasePrivate* priv = webDatabase->priv;
- WebCore::DatabaseDetails details = WebCore::DatabaseManager::manager().detailsForNameAndOrigin(priv->name, core(priv->origin));
- return details.currentUsage();
-#else
- return 0;
-#endif
-}
-
-/**
- * webkit_web_database_get_filename:
- * @webDatabase: a #WebKitWebDatabase
- *
- * Returns the absolute filename to the #WebKitWebDatabase file on disk.
- *
- * Returns: the absolute filename of the database
- *
- * Since: 1.1.14
- **/
-const gchar* webkit_web_database_get_filename(WebKitWebDatabase* webDatabase)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATABASE(webDatabase), NULL);
-
-#if ENABLE(SQL_DATABASE)
- WebKitWebDatabasePrivate* priv = webDatabase->priv;
- WTF::String coreName = WTF::String::fromUTF8(priv->name);
- WTF::String corePath = WebCore::DatabaseManager::manager().fullPathForDatabase(core(priv->origin), coreName);
-
- if (corePath.isEmpty())
- return"";
-
- g_free(priv->filename);
- priv->filename = g_strdup(corePath.utf8().data());
- return priv->filename;
-
-#else
- return "";
-#endif
-}
-
-/**
- * webkit_web_database_remove:
- * @webDatabase: a #WebKitWebDatabase
- *
- * Removes the #WebKitWebDatabase from its security origin and destroys all data
- * stored in the database.
- *
- * Since: 1.1.14
- **/
-void webkit_web_database_remove(WebKitWebDatabase* webDatabase)
-{
- g_return_if_fail(WEBKIT_IS_WEB_DATABASE(webDatabase));
-
-#if ENABLE(SQL_DATABASE)
- WebKitWebDatabasePrivate* priv = webDatabase->priv;
- WebCore::DatabaseManager::manager().deleteDatabase(core(priv->origin), priv->name);
-#endif
-}
-
-/**
- * webkit_remove_all_web_databases:
- *
- * Removes all web databases from the current database directory path.
- *
- * Since: 1.1.14
- **/
-void webkit_remove_all_web_databases()
-{
-#if ENABLE(SQL_DATABASE)
- WebCore::DatabaseManager::manager().deleteAllDatabases();
-#endif
-}
-
-/**
- * webkit_get_web_database_directory_path:
- *
- * Returns the current path to the directory WebKit will write Web
- * Database and Indexed Database databases. By default this path will
- * be in the user data directory.
- *
- * Returns: the current database directory path in the filesystem encoding
- *
- * Since: 1.1.14
- **/
-const gchar* webkit_get_web_database_directory_path()
-{
- return gWebKitWebDatabasePath.data();
-}
-
-/**
- * webkit_set_web_database_directory_path:
- * @path: the new database directory path in the filesystem encoding
- *
- * Sets the current path to the directory WebKit will write Web
- * Database and Indexed Database databases.
- *
- * Since: 1.1.14
- **/
-void webkit_set_web_database_directory_path(const gchar* path)
-{
- gWebKitWebDatabasePath = path;
-
- String pathString = WebCore::filenameToString(path);
-#if ENABLE(SQL_DATABASE)
- WebCore::DatabaseManager::manager().setDatabaseDirectoryPath(pathString);
-#endif
-
-#if ENABLE(INDEXED_DATABASE)
- WebCore::PageGroup::pageGroup(webkitPageGroupName())->groupSettings()->setIndexedDBDatabasePath(pathString);
-#endif
-
-}
-
-/**
- * webkit_get_default_web_database_quota:
- *
- * Returns the default quota for Web Database databases. By default
- * this value is 5MB.
- *
- * Returns: the current default database quota in bytes
- *
- * Since: 1.1.14
- **/
-guint64 webkit_get_default_web_database_quota()
-{
- return webkit_default_database_quota;
-}
-
-/**
- * webkit_set_default_web_database_quota:
- * @defaultQuota: the new default database quota
- *
- * Sets the default quota for Web Database databases.
- *
- * Since: 1.1.14
- **/
-void webkit_set_default_web_database_quota(guint64 defaultQuota)
-{
- webkit_default_database_quota = defaultQuota;
-}
diff --git a/Source/WebKit/gtk/webkit/webkitwebdatabase.h b/Source/WebKit/gtk/webkit/webkitwebdatabase.h
deleted file mode 100644
index 0a05d65cf..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebdatabase.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2009 Martin Robinson
- *
- * 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 webkitwebdatabase_h
-#define webkitwebdatabase_h
-
-#include <glib-object.h>
-
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_WEB_DATABASE (webkit_web_database_get_type())
-#define WEBKIT_WEB_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_DATABASE, WebKitWebDatabase))
-#define WEBKIT_WEB_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_DATABASE, WebKitWebDatabaseClass))
-#define WEBKIT_IS_WEB_DATABASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_DATABASE))
-#define WEBKIT_IS_WEB_DATABASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_DATABASE))
-#define WEBKIT_WEB_DATABASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_DATABASE, WebKitWebDatabaseClass))
-
-typedef struct _WebKitWebDatabasePrivate WebKitWebDatabasePrivate;
-
-struct _WebKitWebDatabase {
- GObject parent_instance;
-
- /*< private >*/
- WebKitWebDatabasePrivate* priv;
-};
-
-struct _WebKitWebDatabaseClass {
- GObjectClass parent_class;
-
- /* Padding for future expansion */
- void (*_webkit_reserved1) (void);
- void (*_webkit_reserved2) (void);
- void (*_webkit_reserved3) (void);
- void (*_webkit_reserved4) (void);
-};
-
-WEBKIT_API GType
-webkit_web_database_get_type (void);
-
-WEBKIT_API WebKitSecurityOrigin *
-webkit_web_database_get_security_origin (WebKitWebDatabase* webDatabase);
-
-WEBKIT_API const gchar*
-webkit_web_database_get_name (WebKitWebDatabase* webDatabase);
-
-WEBKIT_API const gchar*
-webkit_web_database_get_display_name (WebKitWebDatabase* webDatabase);
-
-WEBKIT_API guint64
-webkit_web_database_get_expected_size (WebKitWebDatabase* webDatabase);
-
-WEBKIT_API guint64
-webkit_web_database_get_size (WebKitWebDatabase* webDatabase);
-
-WEBKIT_API const gchar*
-webkit_web_database_get_filename (WebKitWebDatabase* webDatabase);
-
-WEBKIT_API void
-webkit_web_database_remove (WebKitWebDatabase* webDatabase);
-
-WEBKIT_API void
-webkit_remove_all_web_databases (void);
-
-WEBKIT_API const gchar*
-webkit_get_web_database_directory_path (void);
-
-WEBKIT_API void
-webkit_set_web_database_directory_path (const gchar* path);
-
-WEBKIT_API guint64
-webkit_get_default_web_database_quota (void);
-
-WEBKIT_API void
-webkit_set_default_web_database_quota (guint64 defaultQuota);
-
-G_END_DECLS
-
-#endif /* webkitwebdatabase_h */
diff --git a/Source/WebKit/gtk/webkit/webkitwebdatasource.cpp b/Source/WebKit/gtk/webkit/webkitwebdatasource.cpp
deleted file mode 100644
index b6fdc470f..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebdatasource.cpp
+++ /dev/null
@@ -1,443 +0,0 @@
-/*
- * Copyright (C) 2009 Jan Michael C. Alonzo
- *
- * 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 "webkitwebdatasource.h"
-
-#include "ArchiveResource.h"
-#include "DocumentLoaderGtk.h"
-#include "FrameLoader.h"
-#include "FrameLoaderClientGtk.h"
-#include "KURL.h"
-#include "ResourceBuffer.h"
-#include "ResourceRequest.h"
-#include "SharedBuffer.h"
-#include "SubstituteData.h"
-#include "runtime/InitializeThreading.h"
-#include "webkitglobalsprivate.h"
-#include "webkitnetworkrequestprivate.h"
-#include "webkitwebdatasourceprivate.h"
-#include "webkitwebframeprivate.h"
-#include "webkitwebresource.h"
-#include "webkitwebviewprivate.h"
-#include <glib.h>
-#include <wtf/Assertions.h>
-#include <wtf/text/WTFString.h>
-
-/**
- * SECTION:webkitwebdatasource
- * @short_description: Encapsulates the content to be displayed in a #WebKitWebFrame.
- * @see_also: #WebKitWebFrame
- *
- * Data source encapsulates the content of a #WebKitWebFrame. A
- * #WebKitWebFrame has a main resource and subresources and the data source
- * provides access to these resources. When a request gets loaded initially,
- * it is set to a provisional state. The application can request for the
- * request that initiated the load by asking for the provisional data source
- * and invoking the webkit_web_data_source_get_initial_request method of
- * #WebKitWebDataSource. This data source may not have enough data and some
- * methods may return empty values. To get a "full" data source with the data
- * and resources loaded, you need to get the non-provisional data source
- * through #WebKitWebFrame's webkit_web_frame_get_data_source method. This
- * data source will have the data after everything was loaded. Make sure that
- * the data source was finished loading before using any of its methods. You
- * can do this via webkit_web_data_source_is_loading.
- */
-
-using namespace WebCore;
-using namespace WebKit;
-
-struct _WebKitWebDataSourcePrivate {
- WebKit::DocumentLoader* loader;
-
- WebKitNetworkRequest* initialRequest;
- WebKitNetworkRequest* networkRequest;
- WebKitWebResource* mainresource;
-
- GString* data;
-
- gchar* textEncoding;
- gchar* unreachableURL;
-};
-
-G_DEFINE_TYPE(WebKitWebDataSource, webkit_web_data_source, G_TYPE_OBJECT);
-
-static void webkit_web_data_source_dispose(GObject* object)
-{
- WebKitWebDataSource* webDataSource = WEBKIT_WEB_DATA_SOURCE(object);
- WebKitWebDataSourcePrivate* priv = webDataSource->priv;
-
- ASSERT(priv->loader);
- ASSERT(!priv->loader->isLoading());
- priv->loader->detachDataSource();
- priv->loader->deref();
-
- if (priv->initialRequest) {
- g_object_unref(priv->initialRequest);
- priv->initialRequest = NULL;
- }
-
- if (priv->networkRequest) {
- g_object_unref(priv->networkRequest);
- priv->networkRequest = NULL;
- }
-
- if (priv->mainresource) {
- g_object_unref(priv->mainresource);
- priv->mainresource = NULL;
- }
-
- G_OBJECT_CLASS(webkit_web_data_source_parent_class)->dispose(object);
-}
-
-static void webkit_web_data_source_finalize(GObject* object)
-{
- WebKitWebDataSource* dataSource = WEBKIT_WEB_DATA_SOURCE(object);
- WebKitWebDataSourcePrivate* priv = dataSource->priv;
-
- g_free(priv->unreachableURL);
- g_free(priv->textEncoding);
-
- if (priv->data) {
- g_string_free(priv->data, TRUE);
- priv->data = NULL;
- }
-
- G_OBJECT_CLASS(webkit_web_data_source_parent_class)->finalize(object);
-}
-
-static void webkit_web_data_source_class_init(WebKitWebDataSourceClass* klass)
-{
- GObjectClass* gobject_class = G_OBJECT_CLASS(klass);
- gobject_class->dispose = webkit_web_data_source_dispose;
- gobject_class->finalize = webkit_web_data_source_finalize;
-
- webkitInit();
-
- g_type_class_add_private(gobject_class, sizeof(WebKitWebDataSourcePrivate));
-}
-
-static void webkit_web_data_source_init(WebKitWebDataSource* webDataSource)
-{
- webDataSource->priv = G_TYPE_INSTANCE_GET_PRIVATE(webDataSource, WEBKIT_TYPE_WEB_DATA_SOURCE, WebKitWebDataSourcePrivate);
-}
-
-/**
- * webkit_web_data_source_new:
- *
- * Creates a new #WebKitWebDataSource instance. The URL of the
- * #WebKitWebDataSource will be set to "about:blank".
- *
- * Returns: a new #WebKitWebDataSource.
- *
- * Since: 1.1.14
- */
-WebKitWebDataSource* webkit_web_data_source_new()
-{
- WebKitNetworkRequest* request = webkit_network_request_new("about:blank");
- WebKitWebDataSource* datasource = webkit_web_data_source_new_with_request(request);
- g_object_unref(request);
-
- return datasource;
-}
-
-/**
- * webkit_web_data_source_new_with_request:
- * @request: the #WebKitNetworkRequest to use to create this data source
- *
- * Creates a new #WebKitWebDataSource from a #WebKitNetworkRequest. Normally,
- * #WebKitWebFrame objects create their data sources so you will almost never
- * want to invoke this method directly.
- *
- * Returns: a new #WebKitWebDataSource
- *
- * Since: 1.1.14
- */
-WebKitWebDataSource* webkit_web_data_source_new_with_request(WebKitNetworkRequest* request)
-{
- ASSERT(request);
-
- const gchar* uri = webkit_network_request_get_uri(request);
-
- ResourceRequest resourceRequest(ResourceRequest(KURL(KURL(), String::fromUTF8(uri))));
- WebKitWebDataSource* datasource = kitNew(WebKit::DocumentLoader::create(resourceRequest, SubstituteData()));
-
- WebKitWebDataSourcePrivate* priv = datasource->priv;
- priv->initialRequest = request;
-
- return datasource;
-}
-
-/**
- * webkit_web_data_source_get_web_frame:
- * @data_source: a #WebKitWebDataSource
- *
- * Returns the #WebKitWebFrame that represents this data source
- *
- * Return value: (transfer none): the #WebKitWebFrame that represents
- * the @data_source. The #WebKitWebFrame is owned by WebKit and should
- * not be freed or destroyed. This will return %NULL if the
- * @data_source is not attached to a frame.
- *
- * Since: 1.1.14
- */
-WebKitWebFrame* webkit_web_data_source_get_web_frame(WebKitWebDataSource* webDataSource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATA_SOURCE(webDataSource), NULL);
-
- WebKitWebDataSourcePrivate* priv = webDataSource->priv;
- FrameLoader* frameLoader = priv->loader->frameLoader();
-
- if (!frameLoader)
- return NULL;
-
- return static_cast<WebKit::FrameLoaderClient*>(frameLoader->client())->webFrame();
-}
-
-/**
- * webkit_web_data_source_get_initial_request:
- * @data_source: a #WebKitWebDataSource
- *
- * Returns a reference to the original request that was used to load the web
- * content. The #WebKitNetworkRequest returned by this method is the request
- * prior to the "committed" load state. See webkit_web_data_source_get_request
- * for getting the "committed" request.
- *
- * Return value: (transfer none): the original #WebKitNetworkRequest
- *
- * Since: 1.1.14
- */
-WebKitNetworkRequest* webkit_web_data_source_get_initial_request(WebKitWebDataSource* webDataSource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATA_SOURCE(webDataSource), NULL);
-
- WebKitWebDataSourcePrivate* priv = webDataSource->priv;
- ResourceRequest request = priv->loader->originalRequest();
-
- if (priv->initialRequest)
- g_object_unref(priv->initialRequest);
-
- priv->initialRequest = kitNew(request);
- return priv->initialRequest;
-}
-
-/**
- * webkit_web_data_source_get_request:
- * @data_source: a #WebKitWebDataSource
- *
- * Returns a #WebKitNetworkRequest that was used to create this
- * #WebKitWebDataSource. The #WebKitNetworkRequest returned by this method is
- * the request that was "committed", and hence, different from the request you
- * get from the webkit_web_data_source_get_initial_request method.
- *
- * Return value: (transfer none): the #WebKitNetworkRequest that
- * created the @data_source or %NULL if the @data_source is not
- * attached to the frame or the frame hasn't been loaded.
- *
- * Since: 1.1.14
- */
-WebKitNetworkRequest* webkit_web_data_source_get_request(WebKitWebDataSource* webDataSource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATA_SOURCE(webDataSource), NULL);
-
- WebKitWebDataSourcePrivate* priv = webDataSource->priv;
- FrameLoader* frameLoader = priv->loader->frameLoader();
- if (!frameLoader || !frameLoader->frameHasLoaded())
- return NULL;
-
- ResourceRequest request = priv->loader->request();
-
- if (priv->networkRequest)
- g_object_unref(priv->networkRequest);
-
- priv->networkRequest = kitNew(request);
- return priv->networkRequest;
-}
-
-/**
- * webkit_web_data_source_get_encoding:
- * @data_source: a #WebKitWebDataSource
- *
- * Returns the text encoding name as set in the #WebKitWebView, or if not, the
- * text encoding of the response.
- *
- * Return value: the encoding name of the #WebKitWebView or of the response.
- *
- * Since: 1.1.14
- */
-const gchar* webkit_web_data_source_get_encoding(WebKitWebDataSource* webDataSource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATA_SOURCE(webDataSource), NULL);
-
- WebKitWebDataSourcePrivate* priv = webDataSource->priv;
- String textEncodingName = priv->loader->overrideEncoding();
-
- if (!textEncodingName)
- textEncodingName = priv->loader->response().textEncodingName();
-
- CString encoding = textEncodingName.utf8();
- g_free(priv->textEncoding);
- priv->textEncoding = g_strdup(encoding.data());
- return priv->textEncoding;
-}
-
-/**
- * webkit_web_data_source_is_loading:
- * @data_source: a #WebKitWebDataSource
- *
- * Determines whether the data source is in the process of loading its content.
- *
- * Return value: %TRUE if the @data_source is still loading, %FALSE otherwise
- *
- * Since: 1.1.14
- */
-gboolean webkit_web_data_source_is_loading(WebKitWebDataSource* webDataSource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATA_SOURCE(webDataSource), FALSE);
-
- WebKitWebDataSourcePrivate* priv = webDataSource->priv;
-
- return priv->loader->isLoadingInAPISense();
-}
-
-/**
- * webkit_web_data_source_get_data:
- * @data_source: a #WebKitWebDataSource
- *
- * Returns the raw data that represents the the frame's content.The data will
- * be incomplete until the data has finished loading. Returns %NULL if the web
- * frame hasn't loaded any data. Use webkit_web_data_source_is_loading to test
- * if data source is in the process of loading.
- *
- * Return value: (transfer none): a #GString which contains the raw
- * data that represents the @data_source or %NULL if the @data_source
- * hasn't loaded any data.
- *
- * Since: 1.1.14
- */
-GString* webkit_web_data_source_get_data(WebKitWebDataSource* webDataSource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATA_SOURCE(webDataSource), NULL);
-
- WebKitWebDataSourcePrivate* priv = webDataSource->priv;
-
- RefPtr<ResourceBuffer> mainResourceData = priv->loader->mainResourceData();
-
- if (!mainResourceData)
- return NULL;
-
- if (priv->data) {
- g_string_free(priv->data, TRUE);
- priv->data = NULL;
- }
-
- priv->data = g_string_new_len(mainResourceData->data(), mainResourceData->size());
- return priv->data;
-}
-
-/**
- * webkit_web_data_source_get_main_resource:
- * @data_source: a #WebKitWebDataSource
- *
- * Returns the main resource of the @data_source
- *
- * Return value: (transfer none): a new #WebKitWebResource
- * representing the main resource of the @data_source.
- *
- * Since: 1.1.14
- */
-WebKitWebResource* webkit_web_data_source_get_main_resource(WebKitWebDataSource* webDataSource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATA_SOURCE(webDataSource), NULL);
-
- WebKitWebDataSourcePrivate* priv = webDataSource->priv;
-
- if (priv->mainresource)
- return priv->mainresource;
-
- WebKitWebFrame* webFrame = webkit_web_data_source_get_web_frame(webDataSource);
- WebKitWebView* webView = getViewFromFrame(webFrame);
-
- priv->mainresource = WEBKIT_WEB_RESOURCE(g_object_ref(webkit_web_view_get_main_resource(webView)));
-
- return priv->mainresource;
-}
-
-/**
- * webkit_web_data_source_get_unreachable_uri:
- * @data_source: a #WebKitWebDataSource
- *
- * Return the unreachable URI of @data_source. The @data_source will have an
- * unreachable URL if it was created using #WebKitWebFrame's
- * webkit_web_frame_load_alternate_html_string method.
- *
- * Return value: the unreachable URL of @data_source or %NULL if there is no unreachable URL.
- *
- * Since: 1.1.14
- */
-const gchar* webkit_web_data_source_get_unreachable_uri(WebKitWebDataSource* webDataSource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATA_SOURCE(webDataSource), NULL);
-
- WebKitWebDataSourcePrivate* priv = webDataSource->priv;
- const KURL& unreachableURL = priv->loader->unreachableURL();
-
- if (unreachableURL.isEmpty())
- return NULL;
-
- g_free(priv->unreachableURL);
- priv->unreachableURL = g_strdup(unreachableURL.string().utf8().data());
- return priv->unreachableURL;
-}
-
-/**
- * webkit_web_data_source_get_subresources:
- * @data_source: a #WebKitWebDataSource
- *
- * Gives you a #GList of #WebKitWebResource objects that compose the
- * #WebKitWebView to which this #WebKitWebDataSource is attached.
- *
- * Return value: (element-type WebKitWebResource) (transfer container):
- * a #GList of #WebKitWebResource objects; the objects are owned by
- * WebKit, but the GList must be freed.
- *
- * Since: 1.1.15
- */
-GList* webkit_web_data_source_get_subresources(WebKitWebDataSource* webDataSource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_DATA_SOURCE(webDataSource), NULL);
-
- WebKitWebFrame* webFrame = webkit_web_data_source_get_web_frame(webDataSource);
- WebKitWebView* webView = getViewFromFrame(webFrame);
-
- return webkit_web_view_get_subresources(webView);
-}
-
-namespace WebKit {
-
-WebKitWebDataSource* kitNew(PassRefPtr<WebKit::DocumentLoader> loader)
-{
- WebKitWebDataSource* webDataSource = WEBKIT_WEB_DATA_SOURCE(g_object_new(WEBKIT_TYPE_WEB_DATA_SOURCE, NULL));
- WebKitWebDataSourcePrivate* priv = webDataSource->priv;
- priv->loader = loader.leakRef();
-
- return webDataSource;
-}
-
-}
diff --git a/Source/WebKit/gtk/webkit/webkitwebdatasource.h b/Source/WebKit/gtk/webkit/webkitwebdatasource.h
deleted file mode 100644
index d8430e084..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebdatasource.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2009 Jan Michael C. Alonzo
- *
- * 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 webkitwebdatasource_h
-#define webkitwebdatasource_h
-
-#include <glib.h>
-#include <glib-object.h>
-
-#include <webkit/webkitdefines.h>
-#include <webkit/webkitwebframe.h>
-#include <webkit/webkitnetworkrequest.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_WEB_DATA_SOURCE (webkit_web_data_source_get_type())
-#define WEBKIT_WEB_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_DATA_SOURCE, WebKitWebDataSource))
-#define WEBKIT_WEB_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_DATA_SOURCE, WebKitWebDataSourceClass))
-#define WEBKIT_IS_WEB_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_DATA_SOURCE))
-#define WEBKIT_IS_WEB_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_DATA_SOURCE))
-#define WEBKIT_WEB_DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_DATA_SOURCE, WebKitWebDataSourceClass))
-
-typedef struct _WebKitWebDataSourcePrivate WebKitWebDataSourcePrivate;
-
-struct _WebKitWebDataSource {
- GObject parent_instance;
-
- /*< private >*/
- WebKitWebDataSourcePrivate *priv;
-};
-
-struct _WebKitWebDataSourceClass {
- 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_web_data_source_get_type (void);
-
-WEBKIT_API WebKitWebDataSource *
-webkit_web_data_source_new (void);
-
-WEBKIT_API WebKitWebDataSource *
-webkit_web_data_source_new_with_request (WebKitNetworkRequest *request);
-
-WEBKIT_API WebKitWebFrame *
-webkit_web_data_source_get_web_frame (WebKitWebDataSource *data_source);
-
-WEBKIT_API WebKitNetworkRequest *
-webkit_web_data_source_get_initial_request (WebKitWebDataSource *data_source);
-
-WEBKIT_API WebKitNetworkRequest *
-webkit_web_data_source_get_request (WebKitWebDataSource *data_source);
-
-WEBKIT_API const gchar *
-webkit_web_data_source_get_encoding (WebKitWebDataSource *data_source);
-
-WEBKIT_API gboolean
-webkit_web_data_source_is_loading (WebKitWebDataSource *data_source);
-
-WEBKIT_API GString *
-webkit_web_data_source_get_data (WebKitWebDataSource *data_source);
-
-WEBKIT_API WebKitWebResource *
-webkit_web_data_source_get_main_resource (WebKitWebDataSource *data_source);
-
-WEBKIT_API const gchar *
-webkit_web_data_source_get_unreachable_uri (WebKitWebDataSource *data_source);
-
-WEBKIT_API GList*
-webkit_web_data_source_get_subresources (WebKitWebDataSource *data_source);
-
-G_END_DECLS
-
-#endif /* webkitwebdatasource_h */
diff --git a/Source/WebKit/gtk/webkit/webkitwebdatasourceprivate.h b/Source/WebKit/gtk/webkit/webkitwebdatasourceprivate.h
deleted file mode 100644
index 8e253fa76..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebdatasourceprivate.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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 webkitwebdatasourceprivate_h
-#define webkitwebdatasourceprivate_h
-
-#include "webkitwebdatasource.h"
-#include <wtf/RefPtr.h>
-
-namespace WebKit {
-
-WebKitWebDataSource* kitNew(PassRefPtr<WebKit::DocumentLoader>);
-
-}
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitwebframe.cpp b/Source/WebKit/gtk/webkit/webkitwebframe.cpp
deleted file mode 100644
index 163f6f0bc..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebframe.cpp
+++ /dev/null
@@ -1,1218 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Holger Hans Peter Freyther
- * Copyright (C) 2007 Alp Toker <alp@atoker.com>
- * Copyright (C) 2007 Apple Inc.
- * Copyright (C) 2008 Christian Dywan <christian@imendio.com>
- * Copyright (C) 2008 Collabora Ltd.
- * Copyright (C) 2008 Nuanti Ltd.
- * Copyright (C) 2009 Jan Alonzo <jmalonzo@gmail.com>
- * Copyright (C) 2009 Gustavo Noronha Silva <gns@gnome.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.
- */
-
-#include "config.h"
-#include "webkitwebframe.h"
-
-#include "AXObjectCache.h"
-#include "AnimationController.h"
-#include "DOMObjectCache.h"
-#include "DocumentFragment.h"
-#include "DocumentLoader.h"
-#include "DocumentLoaderGtk.h"
-#include "Editor.h"
-#include "FrameLoadRequest.h"
-#include "FrameLoader.h"
-#include "FrameLoaderClientGtk.h"
-#include "FrameSelection.h"
-#include "FrameTree.h"
-#include "FrameView.h"
-#include "GCController.h"
-#include "GraphicsContext.h"
-#include "GtkUtilities.h"
-#include "GtkVersioning.h"
-#include "HTMLFrameOwnerElement.h"
-#include "JSDOMBinding.h"
-#include "JSDOMWindow.h"
-#include "JSElement.h"
-#include "PlatformContextCairo.h"
-#include "PrintContext.h"
-#include "RenderListItem.h"
-#include "RenderTreeAsText.h"
-#include "RenderView.h"
-#include "ScriptController.h"
-#include "SubstituteData.h"
-#include "TextIterator.h"
-#include "WebKitAccessibleWrapperAtk.h"
-#include "WebKitDOMDocumentPrivate.h"
-#include "WebKitDOMRangePrivate.h"
-#include "markup.h"
-#include "webkitenumtypes.h"
-#include "webkitglobalsprivate.h"
-#include "webkitmarshal.h"
-#include "webkitnetworkresponse.h"
-#include "webkitnetworkrequestprivate.h"
-#include "webkitnetworkresponseprivate.h"
-#include "webkitsecurityoriginprivate.h"
-#include "webkitwebframeprivate.h"
-#include "webkitwebresource.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
-
-/**
- * SECTION:webkitwebframe
- * @short_description: The content of a #WebKitWebView
- *
- * A #WebKitWebView contains a main #WebKitWebFrame. A #WebKitWebFrame
- * contains the content of one URI. The URI and name of the frame can
- * be retrieved, the load status and progress can be observed using the
- * signals and can be controlled using the methods of the #WebKitWebFrame.
- * A #WebKitWebFrame can have any number of children and one child can
- * be found by using #webkit_web_frame_find_frame.
- *
- * <informalexample><programlisting>
- * /<!-- -->* Get the frame from the #WebKitWebView *<!-- -->/
- * WebKitWebFrame *frame = webkit_web_view_get_main_frame (WEBKIT_WEB_VIEW(my_view));
- * g_print ("The URI of this frame is '%s'", webkit_web_frame_get_uri (frame));
- * </programlisting></informalexample>
- */
-
-using namespace WebKit;
-using namespace WebCore;
-using namespace std;
-
-enum {
- CLEARED,
- LOAD_COMMITTED,
- LOAD_DONE,
- TITLE_CHANGED,
- HOVERING_OVER_LINK,
- SCROLLBARS_POLICY_CHANGED,
- // Resource loading signals
- RESOURCE_REQUEST_STARTING,
- RESOURCE_RESPONSE_RECEIVED,
- RESOURCE_LOAD_FINISHED,
- RESOURCE_CONTENT_LENGTH_RECEIVED,
- RESOURCE_LOAD_FAILED,
- INSECURE_CONTENT_RUN,
-
- LAST_SIGNAL
-};
-
-enum {
- PROP_0,
-
- PROP_NAME,
- PROP_TITLE,
- PROP_URI,
- PROP_LOAD_STATUS,
- PROP_HORIZONTAL_SCROLLBAR_POLICY,
- PROP_VERTICAL_SCROLLBAR_POLICY
-};
-
-static guint webkit_web_frame_signals[LAST_SIGNAL] = { 0, };
-
-G_DEFINE_TYPE(WebKitWebFrame, webkit_web_frame, G_TYPE_OBJECT)
-
-static void webkit_web_frame_get_property(GObject* object, guint propertyId, GValue* value, GParamSpec* paramSpec)
-{
- WebKitWebFrame* frame = WEBKIT_WEB_FRAME(object);
-
- switch (propertyId) {
- case PROP_NAME:
- g_value_set_string(value, webkit_web_frame_get_name(frame));
- break;
- case PROP_TITLE:
- g_value_set_string(value, webkit_web_frame_get_title(frame));
- break;
- case PROP_URI:
- g_value_set_string(value, webkit_web_frame_get_uri(frame));
- break;
- case PROP_LOAD_STATUS:
- g_value_set_enum(value, webkit_web_frame_get_load_status(frame));
- break;
- case PROP_HORIZONTAL_SCROLLBAR_POLICY:
- g_value_set_enum(value, webkit_web_frame_get_horizontal_scrollbar_policy(frame));
- break;
- case PROP_VERTICAL_SCROLLBAR_POLICY:
- g_value_set_enum(value, webkit_web_frame_get_vertical_scrollbar_policy(frame));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, paramSpec);
- break;
- }
-}
-
-// Called from the FrameLoaderClient when it is destroyed. Normally
-// the unref in the FrameLoaderClient is destroying this object as
-// well but due reference counting a user might have added a reference...
-void webkit_web_frame_core_frame_gone(WebKitWebFrame* frame)
-{
- ASSERT(WEBKIT_IS_WEB_FRAME(frame));
- WebKitWebFramePrivate* priv = frame->priv;
- if (priv->coreFrame)
- DOMObjectCache::clearByFrame(priv->coreFrame);
- priv->coreFrame = 0;
-}
-
-static WebKitWebDataSource* webkit_web_frame_get_data_source_from_core_loader(WebCore::DocumentLoader* loader)
-{
- return loader ? static_cast<WebKit::DocumentLoader*>(loader)->dataSource() : 0;
-}
-
-static void webkit_web_frame_finalize(GObject* object)
-{
- WebKitWebFrame* frame = WEBKIT_WEB_FRAME(object);
- WebKitWebFramePrivate* priv = frame->priv;
-
- if (priv->coreFrame) {
- DOMObjectCache::clearByFrame(priv->coreFrame);
- priv->coreFrame->loader()->cancelAndClear();
- priv->coreFrame = 0;
- }
-
- g_free(priv->name);
- g_free(priv->title);
- g_free(priv->uri);
-
- G_OBJECT_CLASS(webkit_web_frame_parent_class)->finalize(object);
-}
-
-static void webkit_web_frame_class_init(WebKitWebFrameClass* frameClass)
-{
- webkitInit();
-
- /*
- * signals
- */
- webkit_web_frame_signals[CLEARED] = g_signal_new("cleared",
- G_TYPE_FROM_CLASS(frameClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- 0,
- 0,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- /**
- * WebKitWebFrame::load-committed:
- * @web_frame: the object on which the signal is emitted
- *
- * Emitted when frame loading is done.
- *
- * Deprecated: Use the "load-status" property instead.
- */
- webkit_web_frame_signals[LOAD_COMMITTED] = g_signal_new("load-committed",
- G_TYPE_FROM_CLASS(frameClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- 0,
- 0,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- /**
- * WebKitWebFrame::title-changed:
- * @frame: the object on which the signal is emitted
- * @title: the new title
- *
- * When a #WebKitWebFrame changes the document title this signal is emitted.
- *
- * Deprecated: 1.1.18: Use "notify::title" instead.
- */
- webkit_web_frame_signals[TITLE_CHANGED] = g_signal_new("title-changed",
- G_TYPE_FROM_CLASS(frameClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- 0,
- 0,
- webkit_marshal_VOID__STRING,
- G_TYPE_NONE, 1,
- G_TYPE_STRING);
-
- webkit_web_frame_signals[HOVERING_OVER_LINK] = g_signal_new("hovering-over-link",
- G_TYPE_FROM_CLASS(frameClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- 0,
- 0,
- webkit_marshal_VOID__STRING_STRING,
- G_TYPE_NONE, 2,
- G_TYPE_STRING, G_TYPE_STRING);
-
- /**
- * WebKitWebFrame::scrollbars-policy-changed:
- * @web_view: the object which received the signal
- *
- * Signal emitted when policy for one or both of the scrollbars of
- * the view has changed. The default handler will apply the new
- * policy to the container that holds the #WebKitWebFrame if it is
- * a #GtkScrolledWindow and the frame is the main frame. If you do
- * not want this to be handled automatically, you need to handle
- * this signal.
- *
- * The exception to this rule is that policies to disable the
- * scrollbars are applied as %GTK_POLICY_AUTOMATIC instead, since
- * the size request of the widget would force browser windows to
- * not be resizable.
- *
- * You can obtain the new policies from the
- * WebKitWebFrame:horizontal-scrollbar-policy and
- * WebKitWebFrame:vertical-scrollbar-policy properties.
- *
- * Return value: %TRUE to stop other handlers from being invoked for the
- * event. %FALSE to propagate the event further.
- *
- * Since: 1.1.14
- */
- webkit_web_frame_signals[SCROLLBARS_POLICY_CHANGED] = g_signal_new("scrollbars-policy-changed",
- G_TYPE_FROM_CLASS(frameClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- 0,
- g_signal_accumulator_true_handled,
- 0,
- webkit_marshal_BOOLEAN__VOID,
- G_TYPE_BOOLEAN, 0);
-
-
- /**
- * WebKitWebFrame::resource-request-starting:
- * @web_frame: the #WebKitWebFrame whose load dispatched this request
- * @web_resource: an empty #WebKitWebResource object
- * @request: the #WebKitNetworkRequest that will be dispatched
- * @response: the #WebKitNetworkResponse representing the redirect
- * response, if any
- *
- * Emitted when a request is about to be sent. You can modify the
- * request while handling this signal. You can set the URI in the
- * #WebKitNetworkRequest object itself, and add/remove/replace
- * headers using the #SoupMessage object it carries, if it is
- * present. See webkit_network_request_get_message(). Setting the
- * request URI to "about:blank" will effectively cause the request
- * to load nothing, and can be used to disable the loading of
- * specific resources.
- *
- * Notice that information about an eventual redirect is available
- * in @response's #SoupMessage, not in the #SoupMessage carried by
- * the @request. If @response is %NULL, then this is not a
- * redirected request.
- *
- * The #WebKitWebResource object will be the same throughout all
- * the lifetime of the resource, but the contents may change
- * between signal emissions.
- *
- * Since: 1.7.5
- */
- webkit_web_frame_signals[RESOURCE_REQUEST_STARTING] = g_signal_new("resource-request-starting",
- G_TYPE_FROM_CLASS(frameClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- webkit_marshal_VOID__OBJECT_OBJECT_OBJECT,
- G_TYPE_NONE, 3,
- WEBKIT_TYPE_WEB_RESOURCE,
- WEBKIT_TYPE_NETWORK_REQUEST,
- WEBKIT_TYPE_NETWORK_RESPONSE);
-
- /**
- * WebKitWebFrame::resource-response-received:
- * @web_frame: the #WebKitWebFrame the response was received for
- * @web_resource: the #WebKitWebResource being loaded
- * @response: the #WebKitNetworkResponse that was received.
- *
- * Emitted when the response is received from the server.
- *
- * Since: 1.7.5
- */
- webkit_web_frame_signals[RESOURCE_RESPONSE_RECEIVED] = g_signal_new("resource-response-received",
- G_TYPE_FROM_CLASS(frameClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- webkit_marshal_VOID__OBJECT_OBJECT,
- G_TYPE_NONE, 2,
- WEBKIT_TYPE_WEB_RESOURCE,
- WEBKIT_TYPE_NETWORK_RESPONSE);
-
- /**
- * WebKitWebFrame::resource-load-finished:
- * @web_frame: the #WebKitWebFrame the response was received for
- * @web_resource: the #WebKitWebResource being loaded
- *
- * Emitted when all the data for the resource was loaded.
- *
- * Since: 1.7.5
- */
- webkit_web_frame_signals[RESOURCE_LOAD_FINISHED] = g_signal_new("resource-load-finished",
- G_TYPE_FROM_CLASS(frameClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1,
- WEBKIT_TYPE_WEB_RESOURCE);
-
- /**
- * WebKitWebFrame::resource-content-length-received:
- * @web_frame: the #WebKitWebFrame the response was received for
- * @web_resource: the #WebKitWebResource that was loaded
- * @length_received: the amount of data received since the last signal emission
- *
- * Emitted when new resource data has been received. The
- * @length_received variable stores the amount of bytes received
- * since the last time this signal was emitted. This is useful to
- * provide progress information about the resource load operation.
- *
- * Since: 1.7.5
- */
- webkit_web_frame_signals[RESOURCE_CONTENT_LENGTH_RECEIVED] = g_signal_new("resource-content-length-received",
- G_TYPE_FROM_CLASS(frameClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- webkit_marshal_VOID__OBJECT_INT,
- G_TYPE_NONE, 2,
- WEBKIT_TYPE_WEB_RESOURCE,
- G_TYPE_INT);
-
- /**
- * WebKitWebFrame::resource-load-failed:
- * @web_frame: the #WebKitWebFrame the response was received for
- * @web_resource: the #WebKitWebResource that was loaded
- * @error: the #GError that was triggered
- *
- * Invoked when a resource failed to load.
- *
- * Since: 1.7.5
- */
- webkit_web_frame_signals[RESOURCE_LOAD_FAILED] = g_signal_new("resource-load-failed",
- G_TYPE_FROM_CLASS(frameClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- webkit_marshal_VOID__OBJECT_POINTER,
- G_TYPE_NONE, 2,
- WEBKIT_TYPE_WEB_RESOURCE,
- G_TYPE_POINTER);
-
- /**
- * WebKitWebFrame::insecure-content-run:
- * @web_frame: the #WebKitWebFrame the response was received for.
- * @security_origin: the #WebKitSecurityOrigin.
- * @url: the url of the insecure content.
- *
- * Invoked when insecure content is run from a secure page. This happens
- * when a page loaded via HTTPS loads a stylesheet, script, image or
- * iframe from an unencrypted HTTP URL.
- *
- * Since: 1.10.0
- */
- webkit_web_frame_signals[INSECURE_CONTENT_RUN] = g_signal_new("insecure-content-run",
- G_TYPE_FROM_CLASS(frameClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- webkit_marshal_VOID__OBJECT_STRING,
- G_TYPE_NONE, 2,
- WEBKIT_TYPE_SECURITY_ORIGIN,
- G_TYPE_STRING);
-
- /*
- * implementations of virtual methods
- */
- GObjectClass* objectClass = G_OBJECT_CLASS(frameClass);
- objectClass->finalize = webkit_web_frame_finalize;
- objectClass->get_property = webkit_web_frame_get_property;
-
- /*
- * properties
- */
- g_object_class_install_property(objectClass, PROP_NAME,
- g_param_spec_string("name",
- _("Name"),
- _("The name of the frame"),
- 0,
- WEBKIT_PARAM_READABLE));
-
- g_object_class_install_property(objectClass, PROP_TITLE,
- g_param_spec_string("title",
- _("Title"),
- _("The document title of the frame"),
- 0,
- WEBKIT_PARAM_READABLE));
-
- g_object_class_install_property(objectClass, PROP_URI,
- g_param_spec_string("uri",
- _("URI"),
- _("The current URI of the contents displayed by the frame"),
- 0,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebFrame:load-status:
- *
- * Determines the current status of the load.
- *
- * Since: 1.1.7
- */
- g_object_class_install_property(objectClass, PROP_LOAD_STATUS,
- g_param_spec_enum("load-status",
- "Load Status",
- "Determines the current status of the load",
- WEBKIT_TYPE_LOAD_STATUS,
- WEBKIT_LOAD_FINISHED,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebFrame:horizontal-scrollbar-policy:
- *
- * Determines the current policy for the horizontal scrollbar of
- * the frame. For the main frame, make sure to set the same policy
- * on the scrollable widget containing the #WebKitWebView, unless
- * you know what you are doing.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(objectClass, PROP_HORIZONTAL_SCROLLBAR_POLICY,
- g_param_spec_enum("horizontal-scrollbar-policy",
- _("Horizontal Scrollbar Policy"),
- _("Determines the current policy for the horizontal scrollbar of the frame."),
- GTK_TYPE_POLICY_TYPE,
- GTK_POLICY_AUTOMATIC,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebFrame:vertical-scrollbar-policy:
- *
- * Determines the current policy for the vertical scrollbar of
- * the frame. For the main frame, make sure to set the same policy
- * on the scrollable widget containing the #WebKitWebView, unless
- * you know what you are doing.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(objectClass, PROP_VERTICAL_SCROLLBAR_POLICY,
- g_param_spec_enum("vertical-scrollbar-policy",
- _("Vertical Scrollbar Policy"),
- _("Determines the current policy for the vertical scrollbar of the frame."),
- GTK_TYPE_POLICY_TYPE,
- GTK_POLICY_AUTOMATIC,
- WEBKIT_PARAM_READABLE));
-
- g_type_class_add_private(frameClass, sizeof(WebKitWebFramePrivate));
-}
-
-static void webkit_web_frame_init(WebKitWebFrame* frame)
-{
- WebKitWebFramePrivate* priv = G_TYPE_INSTANCE_GET_PRIVATE(frame, WEBKIT_TYPE_WEB_FRAME, WebKitWebFramePrivate);
-
- // TODO: Move constructor code here.
- frame->priv = priv;
-}
-
-
-/**
- * webkit_web_frame_new:
- * @web_view: the controlling #WebKitWebView
- *
- * Creates a new #WebKitWebFrame initialized with a controlling #WebKitWebView.
- *
- * Returns: a new #WebKitWebFrame
- *
- * Deprecated: 1.0.2: #WebKitWebFrame can only be used to inspect existing
- * frames.
- **/
-WebKitWebFrame* webkit_web_frame_new(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
-
- WebKitWebFrame* frame = WEBKIT_WEB_FRAME(g_object_new(WEBKIT_TYPE_WEB_FRAME, NULL));
- WebKitWebFramePrivate* priv = frame->priv;
- WebKitWebViewPrivate* viewPriv = webView->priv;
-
- priv->webView = webView;
- WebKit::FrameLoaderClient* client = new WebKit::FrameLoaderClient(frame);
- priv->coreFrame = Frame::create(viewPriv->corePage, 0, client).get();
- priv->coreFrame->init();
-
- priv->origin = 0;
-
- return frame;
-}
-
-/**
- * webkit_web_frame_get_title:
- * @frame: a #WebKitWebFrame
- *
- * Returns the @frame's document title
- *
- * Return value: the title of @frame
- */
-const gchar* webkit_web_frame_get_title(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
-
- WebKitWebFramePrivate* priv = frame->priv;
- return priv->title;
-}
-
-/**
- * webkit_web_frame_get_uri:
- * @frame: a #WebKitWebFrame
- *
- * Returns the current URI of the contents displayed by the @frame
- *
- * Return value: the URI of @frame
- */
-const gchar* webkit_web_frame_get_uri(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
-
- WebKitWebFramePrivate* priv = frame->priv;
- return priv->uri;
-}
-
-/**
- * webkit_web_frame_get_web_view:
- * @frame: a #WebKitWebFrame
- *
- * Returns the #WebKitWebView that manages this #WebKitWebFrame.
- *
- * The #WebKitWebView returned manages the entire hierarchy of #WebKitWebFrame
- * objects that contains @frame.
- *
- * Return value: (transfer none): the #WebKitWebView that manages @frame
- */
-WebKitWebView* webkit_web_frame_get_web_view(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
-
- WebKitWebFramePrivate* priv = frame->priv;
- return priv->webView;
-}
-
-/**
- * webkit_web_frame_get_name:
- * @frame: a #WebKitWebFrame
- *
- * Returns the @frame's name
- *
- * Return value: the name of @frame. This method will return NULL if
- * the #WebKitWebFrame is invalid or an empty string if it is not backed
- * by a live WebCore frame.
- */
-const gchar* webkit_web_frame_get_name(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return "";
-
- WebKitWebFramePrivate* priv = frame->priv;
- CString frameName = coreFrame->tree()->uniqueName().string().utf8();
- if (!g_strcmp0(frameName.data(), priv->name))
- return priv->name;
-
- g_free(priv->name);
- priv->name = g_strdup(frameName.data());
- return priv->name;
-}
-
-/**
- * webkit_web_frame_get_parent:
- * @frame: a #WebKitWebFrame
- *
- * Returns the @frame's parent frame, or %NULL if it has none.
- *
- * Return value: (transfer none): the parent #WebKitWebFrame or %NULL in case there is none
- */
-WebKitWebFrame* webkit_web_frame_get_parent(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return 0;
-
- return kit(coreFrame->tree()->parent());
-}
-
-/**
- * webkit_web_frame_load_uri:
- * @frame: a #WebKitWebFrame
- * @uri: an URI string
- *
- * Requests loading of the specified URI string.
- *
- * Since: 1.1.1
- */
-void webkit_web_frame_load_uri(WebKitWebFrame* frame, const gchar* uri)
-{
- g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
- g_return_if_fail(uri);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return;
-
- coreFrame->loader()->load(FrameLoadRequest(coreFrame, ResourceRequest(KURL(KURL(), String::fromUTF8(uri)))));
-}
-
-static void webkit_web_frame_load_data(WebKitWebFrame* frame, const gchar* content, const gchar* mimeType, const gchar* encoding, const gchar* baseURL, const gchar* unreachableURL)
-{
- Frame* coreFrame = core(frame);
- ASSERT(coreFrame);
-
- KURL baseKURL = baseURL ? KURL(KURL(), String::fromUTF8(baseURL)) : blankURL();
-
- ResourceRequest request(baseKURL);
-
- RefPtr<SharedBuffer> sharedBuffer = SharedBuffer::create(content, strlen(content));
- SubstituteData substituteData(sharedBuffer.release(),
- mimeType ? String::fromUTF8(mimeType) : String::fromUTF8("text/html"),
- encoding ? String::fromUTF8(encoding) : String::fromUTF8("UTF-8"),
- KURL(KURL(), String::fromUTF8(unreachableURL)),
- KURL(KURL(), String::fromUTF8(unreachableURL)));
-
- coreFrame->loader()->load(FrameLoadRequest(coreFrame, request, substituteData));
-}
-
-/**
- * webkit_web_frame_load_string:
- * @frame: a #WebKitWebFrame
- * @content: an URI string
- * @mime_type: the MIME type, or %NULL
- * @encoding: the encoding, or %NULL
- * @base_uri: the base URI for relative locations
- *
- * Requests loading of the given @content with the specified @mime_type,
- * @encoding and @base_uri.
- *
- * If @mime_type is %NULL, "text/html" is assumed.
- *
- * If @encoding is %NULL, "UTF-8" is assumed.
- *
- * Since: 1.1.1
- */
-void webkit_web_frame_load_string(WebKitWebFrame* frame, const gchar* content, const gchar* contentMimeType, const gchar* contentEncoding, const gchar* baseUri)
-{
- g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
- g_return_if_fail(content);
-
- webkit_web_frame_load_data(frame, content, contentMimeType, contentEncoding, baseUri, 0);
-}
-
-/**
- * webkit_web_frame_load_alternate_string:
- * @frame: a #WebKitWebFrame
- * @content: the alternate content to display as the main page of the @frame
- * @base_url: the base URI for relative locations
- * @unreachable_url: the URL for the alternate page content
- *
- * Request loading of an alternate content for a URL that is unreachable.
- * Using this method will preserve the back-forward list. The URI passed in
- * @base_url has to be an absolute URI.
- *
- * Since: 1.1.6
- */
-void webkit_web_frame_load_alternate_string(WebKitWebFrame* frame, const gchar* content, const gchar* baseURL, const gchar* unreachableURL)
-{
- g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
- g_return_if_fail(content);
-
- webkit_web_frame_load_data(frame, content, 0, 0, baseURL, unreachableURL);
-}
-
-/**
- * webkit_web_frame_load_request:
- * @frame: a #WebKitWebFrame
- * @request: a #WebKitNetworkRequest
- *
- * Connects to a given URI by initiating an asynchronous client request.
- *
- * Creates a provisional data source that will transition to a committed data
- * source once any data has been received. Use webkit_web_frame_stop_loading() to
- * stop the load. This function is typically invoked on the main frame.
- */
-void webkit_web_frame_load_request(WebKitWebFrame* frame, WebKitNetworkRequest* request)
-{
- g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
- g_return_if_fail(WEBKIT_IS_NETWORK_REQUEST(request));
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return;
-
- coreFrame->loader()->load(FrameLoadRequest(coreFrame->document()->securityOrigin(), core(request)));
-}
-
-/**
- * webkit_web_frame_stop_loading:
- * @frame: a #WebKitWebFrame
- *
- * Stops any pending loads on @frame's data source, and those of its children.
- */
-void webkit_web_frame_stop_loading(WebKitWebFrame* frame)
-{
- g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return;
-
- coreFrame->loader()->stopAllLoaders();
-}
-
-/**
- * webkit_web_frame_reload:
- * @frame: a #WebKitWebFrame
- *
- * Reloads the initial request.
- */
-void webkit_web_frame_reload(WebKitWebFrame* frame)
-{
- g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return;
-
- coreFrame->loader()->reload();
-}
-
-/**
- * webkit_web_frame_find_frame:
- * @frame: a #WebKitWebFrame
- * @name: the name of the frame to be found
- *
- * For pre-defined names, returns @frame if @name is "_self" or "_current",
- * returns @frame's parent frame if @name is "_parent", and returns the main
- * frame if @name is "_top". Also returns @frame if it is the main frame and
- * @name is either "_parent" or "_top". For other names, this function returns
- * the first frame that matches @name. This function searches @frame and its
- * descendents first, then @frame's parent and its children moving up the
- * hierarchy until a match is found. If no match is found in @frame's
- * hierarchy, this function will search for a matching frame in other main
- * frame hierarchies. Returns %NULL if no match is found.
- *
- * Return value: (transfer none): the found #WebKitWebFrame or %NULL in case none is found
- */
-WebKitWebFrame* webkit_web_frame_find_frame(WebKitWebFrame* frame, const gchar* name)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
- g_return_val_if_fail(name, 0);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return 0;
-
- String nameString = String::fromUTF8(name);
- return kit(coreFrame->tree()->find(AtomicString(nameString)));
-}
-
-/**
- * webkit_web_frame_get_global_context:
- * @frame: a #WebKitWebFrame
- *
- * Gets the global JavaScript execution context. Use this function to bridge
- * between the WebKit and JavaScriptCore APIs.
- *
- * Return value: (transfer none): the global JavaScript context #JSGlobalContextRef
- */
-JSGlobalContextRef webkit_web_frame_get_global_context(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return 0;
-
- return toGlobalRef(coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec());
-}
-
-/**
- * webkit_web_frame_get_data_source:
- * @frame: a #WebKitWebFrame
- *
- * Returns the committed data source.
- *
- * Return value: (transfer none): the committed #WebKitWebDataSource.
- *
- * Since: 1.1.14
- */
-WebKitWebDataSource* webkit_web_frame_get_data_source(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
-
- Frame* coreFrame = core(frame);
- return webkit_web_frame_get_data_source_from_core_loader(coreFrame->loader()->documentLoader());
-}
-
-/**
- * webkit_web_frame_get_provisional_data_source:
- * @frame: a #WebKitWebFrame
- *
- * You use the webkit_web_frame_load_request method to initiate a request that
- * creates a provisional data source. The provisional data source will
- * transition to a committed data source once any data has been received. Use
- * webkit_web_frame_get_data_source to get the committed data source.
- *
- * Return value: (transfer none): the provisional #WebKitWebDataSource or %NULL if a load
- * request is not in progress.
- *
- * Since: 1.1.14
- */
-WebKitWebDataSource* webkit_web_frame_get_provisional_data_source(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
-
- Frame* coreFrame = core(frame);
- return webkit_web_frame_get_data_source_from_core_loader(coreFrame->loader()->provisionalDocumentLoader());
-}
-
-static void begin_print_callback(GtkPrintOperation* op, GtkPrintContext* context, gpointer user_data)
-{
- PrintContext* printContext = reinterpret_cast<PrintContext*>(user_data);
-
- float width = gtk_print_context_get_width(context);
- float height = gtk_print_context_get_height(context);
- FloatRect printRect = FloatRect(0, 0, width, height);
-
- printContext->begin(width);
-
- // TODO: Margin adjustments and header/footer support
- float headerHeight = 0;
- float footerHeight = 0;
- float pageHeight; // height of the page adjusted by margins
- printContext->computePageRects(printRect, headerHeight, footerHeight, 1.0, pageHeight);
- gtk_print_operation_set_n_pages(op, printContext->pageCount());
-}
-
-static void draw_page_callback(GtkPrintOperation*, GtkPrintContext* gtkPrintContext, gint pageNumber, PrintContext* corePrintContext)
-{
- if (pageNumber >= static_cast<gint>(corePrintContext->pageCount()))
- return;
-
- cairo_t* cr = gtk_print_context_get_cairo_context(gtkPrintContext);
- float pageWidth = gtk_print_context_get_width(gtkPrintContext);
-
- PlatformContextCairo platformContext(cr);
- GraphicsContext graphicsContext(&platformContext);
- corePrintContext->spoolPage(graphicsContext, pageNumber, pageWidth);
-}
-
-static void end_print_callback(GtkPrintOperation* op, GtkPrintContext* context, gpointer user_data)
-{
- PrintContext* printContext = reinterpret_cast<PrintContext*>(user_data);
- printContext->end();
-}
-
-/**
- * webkit_web_frame_print_full:
- * @frame: a #WebKitWebFrame to be printed
- * @operation: the #GtkPrintOperation to be carried
- * @action: the #GtkPrintOperationAction to be performed
- * @error: #GError for error return
- *
- * Prints the given #WebKitWebFrame, using the given #GtkPrintOperation
- * and #GtkPrintOperationAction. This function wraps a call to
- * gtk_print_operation_run() for printing the contents of the
- * #WebKitWebFrame.
- *
- * Returns: The #GtkPrintOperationResult specifying the result of this operation.
- *
- * Since: 1.1.5
- */
-GtkPrintOperationResult webkit_web_frame_print_full(WebKitWebFrame* frame, GtkPrintOperation* operation, GtkPrintOperationAction action, GError** error)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), GTK_PRINT_OPERATION_RESULT_ERROR);
- g_return_val_if_fail(GTK_IS_PRINT_OPERATION(operation), GTK_PRINT_OPERATION_RESULT_ERROR);
-
- GtkWidget* topLevel = gtk_widget_get_toplevel(GTK_WIDGET(webkit_web_frame_get_web_view(frame)));
- if (!widgetIsOnscreenToplevelWindow(topLevel))
- topLevel = 0;
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return GTK_PRINT_OPERATION_RESULT_ERROR;
-
- PrintContext printContext(coreFrame);
-
- g_signal_connect(operation, "begin-print", G_CALLBACK(begin_print_callback), &printContext);
- g_signal_connect(operation, "draw-page", G_CALLBACK(draw_page_callback), &printContext);
- g_signal_connect(operation, "end-print", G_CALLBACK(end_print_callback), &printContext);
-
- return gtk_print_operation_run(operation, action, GTK_WINDOW(topLevel), error);
-}
-
-/**
- * webkit_web_frame_print:
- * @frame: a #WebKitWebFrame
- *
- * Prints the given #WebKitWebFrame, by presenting a print dialog to the
- * user. If you need more control over the printing process, see
- * webkit_web_frame_print_full().
- *
- * Since: 1.1.5
- */
-void webkit_web_frame_print(WebKitWebFrame* frame)
-{
- g_return_if_fail(WEBKIT_IS_WEB_FRAME(frame));
-
- WebKitWebFramePrivate* priv = frame->priv;
- GtkPrintOperation* operation = gtk_print_operation_new();
- GError* error = 0;
-
- webkit_web_frame_print_full(frame, operation, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, &error);
- g_object_unref(operation);
-
- if (error) {
- GtkWidget* window = gtk_widget_get_toplevel(GTK_WIDGET(priv->webView));
- GtkWidget* dialog = gtk_message_dialog_new(widgetIsOnscreenToplevelWindow(window) ? GTK_WINDOW(window) : 0,
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_ERROR,
- GTK_BUTTONS_CLOSE,
- "%s", error->message);
-
- g_error_free(error);
-
- g_signal_connect(dialog, "response", G_CALLBACK(gtk_widget_destroy), NULL);
- gtk_widget_show(dialog);
- }
-}
-
-gchar* webkit_web_frame_get_response_mime_type(WebKitWebFrame* frame)
-{
- Frame* coreFrame = core(frame);
- WebCore::DocumentLoader* docLoader = coreFrame->loader()->documentLoader();
- String mimeType = docLoader->responseMIMEType();
- return g_strdup(mimeType.utf8().data());
-}
-
-/**
- * webkit_web_frame_get_load_status:
- * @frame: a #WebKitWebView
- *
- * Determines the current status of the load.
- *
- * Returns: The #WebKitLoadStatus specifying the status of the current load.
- *
- * Since: 1.1.7
- */
-WebKitLoadStatus webkit_web_frame_get_load_status(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), WEBKIT_LOAD_FINISHED);
-
- WebKitWebFramePrivate* priv = frame->priv;
- return priv->loadStatus;
-}
-
-GtkPolicyType webkit_web_frame_get_horizontal_scrollbar_policy(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), GTK_POLICY_AUTOMATIC);
-
- Frame* coreFrame = core(frame);
- FrameView* view = coreFrame->view();
- if (!view)
- return GTK_POLICY_AUTOMATIC;
-
- ScrollbarMode hMode = view->horizontalScrollbarMode();
-
- if (hMode == ScrollbarAlwaysOn)
- return GTK_POLICY_ALWAYS;
-
- if (hMode == ScrollbarAlwaysOff)
- return GTK_POLICY_NEVER;
-
- return GTK_POLICY_AUTOMATIC;
-}
-
-GtkPolicyType webkit_web_frame_get_vertical_scrollbar_policy(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), GTK_POLICY_AUTOMATIC);
-
- Frame* coreFrame = core(frame);
- FrameView* view = coreFrame->view();
- if (!view)
- return GTK_POLICY_AUTOMATIC;
-
- ScrollbarMode vMode = view->verticalScrollbarMode();
-
- if (vMode == ScrollbarAlwaysOn)
- return GTK_POLICY_ALWAYS;
-
- if (vMode == ScrollbarAlwaysOff)
- return GTK_POLICY_NEVER;
-
- return GTK_POLICY_AUTOMATIC;
-}
-
-/**
- * webkit_web_frame_get_security_origin:
- * @frame: a #WebKitWebFrame
- *
- * Returns the @frame's security origin.
- *
- * Return value: (transfer none): the security origin of @frame
- *
- * Since: 1.1.14
- */
-WebKitSecurityOrigin* webkit_web_frame_get_security_origin(WebKitWebFrame* frame)
-{
- WebKitWebFramePrivate* priv = frame->priv;
- if (!priv->coreFrame || !priv->coreFrame->document() || !priv->coreFrame->document()->securityOrigin())
- return 0;
-
- if (priv->origin && priv->origin->priv->coreOrigin.get() == priv->coreFrame->document()->securityOrigin())
- return priv->origin;
-
- if (priv->origin)
- g_object_unref(priv->origin);
-
- priv->origin = kit(priv->coreFrame->document()->securityOrigin());
- return priv->origin;
-}
-
-/**
- * webkit_web_frame_get_network_response:
- * @frame: a #WebKitWebFrame
- *
- * Returns a #WebKitNetworkResponse object representing the response
- * that was given to the request for the given frame, or NULL if the
- * frame was not created by a load. You must unref the object when you
- * are done with it.
- *
- * Return value: (transfer full): a #WebKitNetworkResponse object
- *
- * Since: 1.1.18
- */
-WebKitNetworkResponse* webkit_web_frame_get_network_response(WebKitWebFrame* frame)
-{
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return 0;
-
- WebCore::DocumentLoader* loader = coreFrame->loader()->activeDocumentLoader();
- if (!loader)
- return 0;
-
- return kitNew(loader->response());
-}
-
-/**
- * webkit_web_frame_replace_selection:
- * @frame: a #WebKitWeFrame
- * @text: the text to insert in place of the current selection
- *
- * Replaces the current selection in @frame, if any, with @text.
- *
- * Since: 1.5.1
- **/
-void webkit_web_frame_replace_selection(WebKitWebFrame* frame, const char* text)
-{
- Frame* coreFrame = core(frame);
- bool selectReplacement = false;
- bool smartReplace = true;
- coreFrame->editor().replaceSelectionWithText(text, selectReplacement, smartReplace);
-}
-
-/**
- * webkit_web_frame_get_range_for_word_around_caret:
- * @frame: a #WebKitWebFrame
- *
- * Returns a #WebKitDOMRange for the word where the caret is currently
- * positioned.
- *
- * Returns: (transfer none): a #WebKitDOMRange spanning the word where the caret
- * currently is positioned. If there is no caret %NULL will be
- * returned.
- *
- * Since: 1.5.1.
- **/
-WebKitDOMRange* webkit_web_frame_get_range_for_word_around_caret(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
-
- Frame* coreFrame = core(frame);
- FrameSelection* selection = coreFrame->selection();
- if (selection->isNone() || selection->isRange())
- return 0;
- VisibleSelection visibleSelection(selection->selection().visibleStart());
- visibleSelection.expandUsingGranularity(WordGranularity);
-
- return kit(visibleSelection.firstRange().get());
-}
-
-/**
- * webkit_web_frame_get_dom_document:
- * @frame: a #WebKitWebFrame
- *
- * Returns: (transfer none): the #WebKitDOMDocument currently loaded
- * in the @frame or %NULL if no document is loaded
- *
- * Since: 1.10
- **/
-WebKitDOMDocument* webkit_web_frame_get_dom_document(WebKitWebFrame* frame)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return 0;
-
- Document* doc = coreFrame->document();
- if (!doc)
- return 0;
-
- return kit(doc);
-}
-
-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/Source/WebKit/gtk/webkit/webkitwebframe.h b/Source/WebKit/gtk/webkit/webkitwebframe.h
deleted file mode 100644
index 404b29fdb..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebframe.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Copyright (C) 2007 Holger Hans Peter Freyther
- * Copyright (C) 2007 Alp Toker <alp@atoker.com>
- *
- * 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 webkitwebframe_h
-#define webkitwebframe_h
-
-#include <glib-object.h>
-#include <gtk/gtk.h>
-#include <JavaScriptCore/JSBase.h>
-#include <webkit/webkitdefines.h>
-#include <webkit/webkitnetworkrequest.h>
-#include <webkit/webkitwebdatasource.h>
-#include <webkitdom/webkitdom.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_WEB_FRAME (webkit_web_frame_get_type())
-#define WEBKIT_WEB_FRAME(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_FRAME, WebKitWebFrame))
-#define WEBKIT_WEB_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_FRAME, WebKitWebFrameClass))
-#define WEBKIT_IS_WEB_FRAME(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_FRAME))
-#define WEBKIT_IS_WEB_FRAME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_FRAME))
-#define WEBKIT_WEB_FRAME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_FRAME, WebKitWebFrameClass))
-
-typedef struct _WebKitWebFramePrivate WebKitWebFramePrivate;
-
-struct _WebKitWebFrame {
- GObject parent_instance;
-
- /*< private >*/
- WebKitWebFramePrivate *priv;
-};
-
-struct _WebKitWebFrameClass {
- GObjectClass parent_class;
-
- /*< public >*/
- void (*_webkit_reserved1) (void);
- void (*_webkit_reserved2) (void);
- void (*_webkit_reserved3) (void);
- void (*_webkit_reserved4) (void);
- void (*_webkit_reserved5) (void);
- void (*_webkit_reserved6) (void);
-};
-
-/**
- * WebKitLoadStatus:
- * @WEBKIT_LOAD_PROVISIONAL: No data has been received yet, empty
- * structures have been allocated to perform the load; the load may
- * still fail for transport issues such as not being able to resolve a
- * name, or connect to a port.
- * @WEBKIT_LOAD_COMMITTED: The first data chunk has arrived, meaning
- * that the necessary transport requirements are stabilished, and the
- * load is being performed.
- * @WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT: The first layout with
- * actual visible content happened; one or more layouts may have
- * happened before that caused nothing to be visible on the screen,
- * because the data available at the time was not significant enough.
- * @WEBKIT_LOAD_FINISHED: This state means that everything that was
- * required to display the page has been loaded.
- * @WEBKIT_LOAD_FAILED: This state means that some error occurred
- * during the page load that prevented it from being completed. You
- * can connect to the #WebKitWebView::load-error signal if you want to
- * know precisely what kind of error occurred.
- */
-typedef enum {
- WEBKIT_LOAD_PROVISIONAL,
- WEBKIT_LOAD_COMMITTED,
- WEBKIT_LOAD_FINISHED,
- WEBKIT_LOAD_FIRST_VISUALLY_NON_EMPTY_LAYOUT,
- WEBKIT_LOAD_FAILED
-} WebKitLoadStatus;
-
-WEBKIT_API GType
-webkit_web_frame_get_type (void);
-
-#ifndef WEBKIT_DISABLE_DEPRECATED
-WEBKIT_API WebKitWebFrame *
-webkit_web_frame_new (WebKitWebView *web_view);
-#endif
-
-WEBKIT_API WebKitWebView *
-webkit_web_frame_get_web_view (WebKitWebFrame *frame);
-
-WEBKIT_API const gchar *
-webkit_web_frame_get_name (WebKitWebFrame *frame);
-
-WEBKIT_API const gchar *
-webkit_web_frame_get_title (WebKitWebFrame *frame);
-
-WEBKIT_API const gchar *
-webkit_web_frame_get_uri (WebKitWebFrame *frame);
-
-WEBKIT_API WebKitWebFrame*
-webkit_web_frame_get_parent (WebKitWebFrame *frame);
-
-WEBKIT_API void
-webkit_web_frame_load_uri (WebKitWebFrame *frame,
- const gchar *uri);
-
-WEBKIT_API void
-webkit_web_frame_load_string (WebKitWebFrame *frame,
- const gchar *content,
- const gchar *mime_type,
- const gchar *encoding,
- const gchar *base_uri);
-
-WEBKIT_API void
-webkit_web_frame_load_alternate_string (WebKitWebFrame *frame,
- const gchar *content,
- const gchar *base_url,
- const gchar *unreachable_url);
-
-WEBKIT_API void
-webkit_web_frame_load_request (WebKitWebFrame *frame,
- WebKitNetworkRequest *request);
-
-WEBKIT_API void
-webkit_web_frame_stop_loading (WebKitWebFrame *frame);
-
-WEBKIT_API void
-webkit_web_frame_reload (WebKitWebFrame *frame);
-
-WEBKIT_API WebKitWebFrame *
-webkit_web_frame_find_frame (WebKitWebFrame *frame,
- const gchar *name);
-
-WEBKIT_API JSGlobalContextRef
-webkit_web_frame_get_global_context (WebKitWebFrame *frame);
-
-WEBKIT_API GtkPrintOperationResult
-webkit_web_frame_print_full (WebKitWebFrame *frame,
- GtkPrintOperation *operation,
- GtkPrintOperationAction action,
- GError **error);
-
-WEBKIT_API void
-webkit_web_frame_print (WebKitWebFrame *frame);
-
-WEBKIT_API WebKitLoadStatus
-webkit_web_frame_get_load_status (WebKitWebFrame *frame);
-
-WEBKIT_API GtkPolicyType
-webkit_web_frame_get_horizontal_scrollbar_policy (WebKitWebFrame *frame);
-
-WEBKIT_API GtkPolicyType
-webkit_web_frame_get_vertical_scrollbar_policy (WebKitWebFrame *frame);
-
-WEBKIT_API WebKitWebDataSource *
-webkit_web_frame_get_data_source (WebKitWebFrame *frame);
-
-WEBKIT_API WebKitWebDataSource *
-webkit_web_frame_get_provisional_data_source (WebKitWebFrame *frame);
-
-WEBKIT_API WebKitSecurityOrigin*
-webkit_web_frame_get_security_origin (WebKitWebFrame *frame);
-
-WEBKIT_API WebKitNetworkResponse*
-webkit_web_frame_get_network_response (WebKitWebFrame *frame);
-
-WEBKIT_API void
-webkit_web_frame_replace_selection (WebKitWebFrame *frame,
- const char *text);
-
-WEBKIT_API WebKitDOMRange*
-webkit_web_frame_get_range_for_word_around_caret (WebKitWebFrame *frame);
-
-WEBKIT_API WebKitDOMDocument*
-webkit_web_frame_get_dom_document (WebKitWebFrame *frame);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitwebframeprivate.h b/Source/WebKit/gtk/webkit/webkitwebframeprivate.h
deleted file mode 100644
index 80210d8ba..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebframeprivate.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * 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
-
-#include "Frame.h"
-#include "webkitwebframe.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/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp b/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp
deleted file mode 100644
index 5b7db2223..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp
+++ /dev/null
@@ -1,530 +0,0 @@
-/*
- * Copyright (C) 2008, 2009 Jan Michael C. Alonzo
- * Copyright (C) 2009 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 "config.h"
-#include "webkitwebhistoryitem.h"
-
-#include "HistoryItem.h"
-#include "KURL.h"
-#include "webkitglobalsprivate.h"
-#include "webkitwebhistoryitemprivate.h"
-#include <glib.h>
-#include <glib/gi18n-lib.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
-
-/**
- * SECTION:webkitwebhistoryitem
- * @short_description: One item of the #WebKitWebBackForwardList and or global history
- * @see_also: #WebKitWebBackForwardList
- *
- * A history item consists out of a title and a uri. It can be part of the
- * #WebKitWebBackForwardList and the global history. The global history is used
- * for coloring the links of visited sites. #WebKitWebHistoryItem's constructed with
- * #webkit_web_history_item_new and #webkit_web_history_item_new_with_data are
- * automatically added to the global history.
- *
- * <informalexample><programlisting>
- * /<!-- -->* Inject a visited page into the global history *<!-- -->/
- * webkit_web_history_item_new_with_data("http://www.gnome.org/", "GNOME: The Free Software Desktop Project");
- * webkit_web_history_item_new_with_data("http://www.webkit.org/", "The WebKit Open Source Project");
- * </programlisting></informalexample>
- *
- */
-
-using namespace WebKit;
-
-struct _WebKitWebHistoryItemPrivate {
- WebCore::HistoryItem* historyItem;
-
- WTF::CString title;
- WTF::CString alternateTitle;
- WTF::CString uri;
- WTF::CString originalUri;
-
- gboolean disposed;
-};
-
-enum {
- PROP_0,
-
- PROP_TITLE,
- PROP_ALTERNATE_TITLE,
- PROP_URI,
- PROP_ORIGINAL_URI,
- PROP_LAST_VISITED_TIME
-};
-
-G_DEFINE_TYPE(WebKitWebHistoryItem, webkit_web_history_item, G_TYPE_OBJECT);
-
-static void webkit_web_history_item_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec);
-
-static void webkit_web_history_item_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec);
-
-GHashTable* webkit_history_items()
-{
- static GHashTable* historyItems = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, g_object_unref);
- return historyItems;
-}
-
-void webkit_history_item_add(WebKitWebHistoryItem* webHistoryItem, WebCore::HistoryItem* historyItem)
-{
- g_return_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem));
-
- GHashTable* table = webkit_history_items();
- g_hash_table_insert(table, historyItem, webHistoryItem);
-}
-
-static void webkit_web_history_item_dispose(GObject* object)
-{
- WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(object);
- WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv;
-
- if (!priv->disposed) {
- WebCore::HistoryItem* item = core(webHistoryItem);
- item->deref();
- priv->disposed = true;
- }
-
- G_OBJECT_CLASS(webkit_web_history_item_parent_class)->dispose(object);
-}
-
-static void webkit_web_history_item_finalize(GObject* object)
-{
- WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(object);
- WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv;
-
- priv->title = WTF::CString();
- priv->alternateTitle = WTF::CString();
- priv->uri = WTF::CString();
- priv->originalUri = WTF::CString();
-
- G_OBJECT_CLASS(webkit_web_history_item_parent_class)->finalize(object);
-}
-
-static void webkit_web_history_item_class_init(WebKitWebHistoryItemClass* klass)
-{
- GObjectClass* gobject_class = G_OBJECT_CLASS(klass);
-
- gobject_class->dispose = webkit_web_history_item_dispose;
- gobject_class->finalize = webkit_web_history_item_finalize;
- gobject_class->set_property = webkit_web_history_item_set_property;
- gobject_class->get_property = webkit_web_history_item_get_property;
-
- webkitInit();
-
- /**
- * WebKitWebHistoryItem:title:
- *
- * The title of the history item.
- *
- * Since: 1.0.2
- */
- g_object_class_install_property(gobject_class,
- PROP_TITLE,
- g_param_spec_string(
- "title",
- _("Title"),
- _("The title of the history item"),
- NULL,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebHistoryItem:alternate-title:
- *
- * The alternate title of the history item.
- *
- * Since: 1.0.2
- */
- g_object_class_install_property(gobject_class,
- PROP_ALTERNATE_TITLE,
- g_param_spec_string(
- "alternate-title",
- _("Alternate Title"),
- _("The alternate title of the history item"),
- NULL,
- WEBKIT_PARAM_READWRITE));
-
- /**
- * WebKitWebHistoryItem:uri:
- *
- * The URI of the history item.
- *
- * Since: 1.0.2
- */
- g_object_class_install_property(gobject_class,
- PROP_URI,
- g_param_spec_string(
- "uri",
- _("URI"),
- _("The URI of the history item"),
- NULL,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebHistoryItem:original-uri:
- *
- * The original URI of the history item.
- *
- * Since: 1.0.2
- */
- g_object_class_install_property(gobject_class,
- PROP_ORIGINAL_URI,
- g_param_spec_string(
- "original-uri",
- _("Original URI"),
- _("The original URI of the history item"),
- NULL,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebHistoryItem:last-visited-time:
- *
- * The time at which the history item was last visited.
- *
- * Since: 1.0.2
- */
- g_object_class_install_property(gobject_class,
- PROP_LAST_VISITED_TIME,
- g_param_spec_double(
- "last-visited-time",
- _("Last visited Time"),
- _("The time at which the history item was last visited"),
- 0, G_MAXDOUBLE, 0,
- WEBKIT_PARAM_READABLE));
-
- g_type_class_add_private(gobject_class, sizeof(WebKitWebHistoryItemPrivate));
-}
-
-static void webkit_web_history_item_init(WebKitWebHistoryItem* 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)
-{
- WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(object);
-
- switch(prop_id) {
- case PROP_ALTERNATE_TITLE:
- webkit_web_history_item_set_alternate_title(webHistoryItem, g_value_get_string(value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- break;
- }
-}
-
-static void webkit_web_history_item_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec)
-{
- WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(object);
-
- switch (prop_id) {
- case PROP_TITLE:
- g_value_set_string(value, webkit_web_history_item_get_title(webHistoryItem));
- break;
- case PROP_ALTERNATE_TITLE:
- g_value_set_string(value, webkit_web_history_item_get_alternate_title(webHistoryItem));
- break;
- case PROP_URI:
- g_value_set_string(value, webkit_web_history_item_get_uri(webHistoryItem));
- break;
- case PROP_ORIGINAL_URI:
- g_value_set_string(value, webkit_web_history_item_get_original_uri(webHistoryItem));
- break;
- case PROP_LAST_VISITED_TIME:
- g_value_set_double(value, webkit_web_history_item_get_last_visited_time(webHistoryItem));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- break;
- }
-}
-
-/* Helper function to create a new WebHistoryItem instance when needed */
-WebKitWebHistoryItem* webkit_web_history_item_new_with_core_item(PassRefPtr<WebCore::HistoryItem> historyItem)
-{
- return kit(historyItem);
-}
-
-
-/**
- * webkit_web_history_item_new:
- *
- * Creates a new #WebKitWebHistoryItem instance
- *
- * Return value: the new #WebKitWebHistoryItem
- */
-WebKitWebHistoryItem* webkit_web_history_item_new()
-{
- WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(g_object_new(WEBKIT_TYPE_WEB_HISTORY_ITEM, NULL));
- WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv;
-
- RefPtr<WebCore::HistoryItem> item = WebCore::HistoryItem::create();
- priv->historyItem = item.release().leakRef();
- webkit_history_item_add(webHistoryItem, priv->historyItem);
-
- return webHistoryItem;
-}
-
-/**
- * webkit_web_history_item_new_with_data:
- * @uri: the URI of the page
- * @title: the title of the page
- *
- * Creates a new #WebKitWebHistoryItem with the given URI and title
- *
- * Return value: the new #WebKitWebHistoryItem
- */
-WebKitWebHistoryItem* webkit_web_history_item_new_with_data(const gchar* uri, const gchar* title)
-{
- WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(g_object_new(WEBKIT_TYPE_WEB_HISTORY_ITEM, NULL));
- WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv;
-
- WebCore::KURL historyUri(WebCore::KURL(), uri);
- WTF::String historyTitle = WTF::String::fromUTF8(title);
- RefPtr<WebCore::HistoryItem> item = WebCore::HistoryItem::create(historyUri, historyTitle, 0);
- priv->historyItem = item.release().leakRef();
- webkit_history_item_add(webHistoryItem, priv->historyItem);
-
- return webHistoryItem;
-}
-
-/**
- * webkit_web_history_item_get_title:
- * @web_history_item: a #WebKitWebHistoryItem
- *
- * Returns: the page title of @web_history_item
- */
-const gchar* webkit_web_history_item_get_title(WebKitWebHistoryItem* webHistoryItem)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL);
-
- WebCore::HistoryItem* item = core(webHistoryItem);
-
- g_return_val_if_fail(item, NULL);
-
- WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv;
- priv->title = item->title().utf8();
-
- return priv->title.data();
-}
-
-/**
- * webkit_web_history_item_get_alternate_title:
- * @web_history_item: a #WebKitWebHistoryItem
- *
- * Returns the alternate title of @web_history_item
- *
- * Return value: the alternate title of @web_history_item
- */
-const gchar* webkit_web_history_item_get_alternate_title(WebKitWebHistoryItem* webHistoryItem)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL);
-
- WebCore::HistoryItem* item = core(webHistoryItem);
-
- g_return_val_if_fail(item, NULL);
-
- WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv;
- priv->alternateTitle = item->alternateTitle().utf8();
-
- return priv->alternateTitle.data();
-}
-
-/**
- * webkit_web_history_item_set_alternate_title:
- * @web_history_item: a #WebKitWebHistoryItem
- * @title: the alternate title for @this history item
- *
- * Sets an alternate title for @web_history_item
- */
-void webkit_web_history_item_set_alternate_title(WebKitWebHistoryItem* webHistoryItem, const gchar* title)
-{
- g_return_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem));
- g_return_if_fail(title);
-
- WebCore::HistoryItem* item = core(webHistoryItem);
-
- item->setAlternateTitle(WTF::String::fromUTF8(title));
- g_object_notify(G_OBJECT(webHistoryItem), "alternate-title");
-}
-
-/**
- * webkit_web_history_item_get_uri:
- * @web_history_item: a #WebKitWebHistoryItem
- *
- * Returns the URI of @this
- *
- * Return value: the URI of @web_history_item
- */
-const gchar* webkit_web_history_item_get_uri(WebKitWebHistoryItem* webHistoryItem)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL);
-
- WebCore::HistoryItem* item = core(WEBKIT_WEB_HISTORY_ITEM(webHistoryItem));
-
- g_return_val_if_fail(item, NULL);
-
- WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv;
- priv->uri = item->urlString().utf8();
-
- return priv->uri.data();
-}
-
-/**
- * webkit_web_history_item_get_original_uri:
- * @web_history_item: a #WebKitWebHistoryItem
- *
- * Returns the original URI of @web_history_item.
- *
- * Return value: the original URI of @web_history_item
- */
-const gchar* webkit_web_history_item_get_original_uri(WebKitWebHistoryItem* webHistoryItem)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL);
-
- WebCore::HistoryItem* item = core(WEBKIT_WEB_HISTORY_ITEM(webHistoryItem));
-
- g_return_val_if_fail(item, NULL);
-
- WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv;
- priv->originalUri = item->originalURLString().utf8();
-
- return webHistoryItem->priv->originalUri.data();
-}
-
-/**
- * webkit_web_history_item_get_last_visisted_time :
- * @web_history_item: a #WebKitWebHistoryItem
- *
- * Returns the last time @web_history_item was visited
- *
- * Return value: the time in seconds this @web_history_item was last visited
- */
-gdouble webkit_web_history_item_get_last_visited_time(WebKitWebHistoryItem* webHistoryItem)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), 0);
-
- WebCore::HistoryItem* item = core(WEBKIT_WEB_HISTORY_ITEM(webHistoryItem));
-
- g_return_val_if_fail(item, 0);
-
- return item->lastVisitedTime();
-}
-
-/**
- * webkit_web_history_item_copy:
- * @web_history_item: a #WebKitWebHistoryItem
- *
- * Makes a copy of the item for use with other WebView objects.
- *
- * Since: 1.1.18
- *
- * Return value: (transfer full): the new #WebKitWebHistoryItem.
- */
-WebKitWebHistoryItem* webkit_web_history_item_copy(WebKitWebHistoryItem* self)
-{
- WebKitWebHistoryItemPrivate* selfPrivate = self->priv;
-
- WebKitWebHistoryItem* item = WEBKIT_WEB_HISTORY_ITEM(g_object_new(WEBKIT_TYPE_WEB_HISTORY_ITEM, 0));
- WebKitWebHistoryItemPrivate* priv = item->priv;
-
- priv->title = selfPrivate->title;
- priv->alternateTitle = selfPrivate->alternateTitle;
- priv->uri = selfPrivate->uri;
- priv->originalUri = selfPrivate->originalUri;
-
- priv->historyItem = selfPrivate->historyItem->copy().leakRef();
-
- return item;
-}
-
-/* private methods */
-
-gchar* webkit_web_history_item_get_target(WebKitWebHistoryItem* webHistoryItem)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL);
-
- WebCore::HistoryItem* item = core(webHistoryItem);
-
- g_return_val_if_fail(item, NULL);
-
- WTF::CString t = item->target().utf8();
- return g_strdup(t.data());
-}
-
-gboolean webkit_web_history_item_is_target_item(WebKitWebHistoryItem* webHistoryItem)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), false);
-
- WebCore::HistoryItem* item = core(webHistoryItem);
-
- g_return_val_if_fail(item, false);
-
- return item->isTargetItem();
-}
-
-GList* webkit_web_history_item_get_children(WebKitWebHistoryItem* webHistoryItem)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL);
-
- WebCore::HistoryItem* item = core(webHistoryItem);
-
- g_return_val_if_fail(item, NULL);
-
- const WebCore::HistoryItemVector& children = item->children();
- if (!children.size())
- return NULL;
-
- unsigned size = children.size();
- GList* kids = NULL;
- for (unsigned i = 0; i < size; ++i)
- kids = g_list_prepend(kids, kit(children[i].get()));
-
- return g_list_reverse(kids);
-}
-
-WebCore::HistoryItem* WebKit::core(WebKitWebHistoryItem* webHistoryItem)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), NULL);
-
- return webHistoryItem->priv->historyItem;
-}
-
-WebKitWebHistoryItem* WebKit::kit(PassRefPtr<WebCore::HistoryItem> historyItem)
-{
- g_return_val_if_fail(historyItem, NULL);
-
- RefPtr<WebCore::HistoryItem> item = historyItem;
- GHashTable* table = webkit_history_items();
- WebKitWebHistoryItem* webHistoryItem = (WebKitWebHistoryItem*) g_hash_table_lookup(table, item.get());
-
- if (!webHistoryItem) {
- webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(g_object_new(WEBKIT_TYPE_WEB_HISTORY_ITEM, NULL));
- WebKitWebHistoryItemPrivate* priv = webHistoryItem->priv;
-
- priv->historyItem = item.release().leakRef();
- webkit_history_item_add(webHistoryItem, priv->historyItem);
- }
-
- return webHistoryItem;
-}
-
diff --git a/Source/WebKit/gtk/webkit/webkitwebhistoryitem.h b/Source/WebKit/gtk/webkit/webkitwebhistoryitem.h
deleted file mode 100644
index 42c699e47..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebhistoryitem.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (C) 2008 Jan Michael C. Alonzo
- *
- * 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 webkitwebhistoryitem_h
-#define webkitwebhistoryitem_h
-
-#include <glib.h>
-#include <glib-object.h>
-
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_WEB_HISTORY_ITEM (webkit_web_history_item_get_type())
-#define WEBKIT_WEB_HISTORY_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_HISTORY_ITEM, WebKitWebHistoryItem))
-#define WEBKIT_WEB_HISTORY_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_HISTORY_ITEM, WebKitWebHistoryItemClass))
-#define WEBKIT_IS_WEB_HISTORY_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_HISTORY_ITEM))
-#define WEBKIT_IS_WEB_HISTORY_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_HISTORY_ITEM))
-#define WEBKIT_WEB_HISTORY_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_HISTORY_ITEM, WebKitWebHistoryItemClass))
-
-typedef struct _WebKitWebHistoryItemPrivate WebKitWebHistoryItemPrivate;
-
-struct _WebKitWebHistoryItem {
- GObject parent_instance;
-
- /*< private >*/
- WebKitWebHistoryItemPrivate *priv;
-};
-
-struct _WebKitWebHistoryItemClass {
- 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_web_history_item_get_type (void);
-
-WEBKIT_API WebKitWebHistoryItem *
-webkit_web_history_item_new (void);
-
-WEBKIT_API WebKitWebHistoryItem *
-webkit_web_history_item_new_with_data (const gchar *uri,
- const gchar *title);
-
-WEBKIT_API const gchar *
-webkit_web_history_item_get_title (WebKitWebHistoryItem *web_history_item);
-
-WEBKIT_API const gchar *
-webkit_web_history_item_get_alternate_title (WebKitWebHistoryItem *web_history_item);
-
-WEBKIT_API void
-webkit_web_history_item_set_alternate_title (WebKitWebHistoryItem *web_history_item,
- const gchar *title);
-
-WEBKIT_API const gchar *
-webkit_web_history_item_get_uri (WebKitWebHistoryItem *web_history_item);
-
-WEBKIT_API const gchar *
-webkit_web_history_item_get_original_uri (WebKitWebHistoryItem *web_history_item);
-
-WEBKIT_API gdouble
-webkit_web_history_item_get_last_visited_time (WebKitWebHistoryItem *web_history_item);
-
-WEBKIT_API WebKitWebHistoryItem*
-webkit_web_history_item_copy (WebKitWebHistoryItem *web_history_item);
-
-G_END_DECLS
-
-#endif /* webkitwebhistoryitem_h */
diff --git a/Source/WebKit/gtk/webkit/webkitwebhistoryitemprivate.h b/Source/WebKit/gtk/webkit/webkitwebhistoryitemprivate.h
deleted file mode 100644
index 0bbe9074c..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebhistoryitemprivate.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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 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/Source/WebKit/gtk/webkit/webkitwebinspector.cpp b/Source/WebKit/gtk/webkit/webkitwebinspector.cpp
deleted file mode 100644
index 400de0499..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebinspector.cpp
+++ /dev/null
@@ -1,575 +0,0 @@
-/*
- * Copyright (C) 2008 Gustavo Noronha Silva
- * Copyright (C) 2008, 2009 Holger Hans Peter Freyther
- * Copyright (C) 2009 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 "webkitwebinspector.h"
-
-#include "DumpRenderTreeSupportGtk.h"
-#include "FocusController.h"
-#include "Frame.h"
-#include "HitTestRequest.h"
-#include "HitTestResult.h"
-#include "InspectorClientGtk.h"
-#include "InspectorController.h"
-#include "InspectorInstrumentation.h"
-#include "IntPoint.h"
-#include "Page.h"
-#include "RenderLayer.h"
-#include "RenderView.h"
-#include "WebKitDOMNodePrivate.h"
-#include "webkitglobalsprivate.h"
-#include "webkitmarshal.h"
-#include "webkitwebinspectorprivate.h"
-#include <glib/gi18n-lib.h>
-
-/**
- * SECTION:webkitwebinspector
- * @short_description: Access to the WebKit Inspector
- *
- * The WebKit Inspector is a graphical tool to inspect and change
- * the content of a #WebKitWebView. It also includes an interactive
- * JavaScriptDebugger. Using this class one can get a GtkWidget which
- * can be embedded into an application to show the inspector.
- *
- * The inspector is available when the #WebKitWebSettings of the
- * #WebKitWebView has set the #WebKitWebSettings:enable-developer-extras
- * to true otherwise no inspector is available.
- *
- * <informalexample><programlisting>
- * /<!-- -->* Enable the developer extras *<!-- -->/
- * WebKitWebSettings *setting = webkit_web_view_get_settings (WEBKIT_WEB_VIEW(my_webview));
- * g_object_set (G_OBJECT(settings), "enable-developer-extras", TRUE, NULL);
- *
- * /<!-- -->* load some data or reload to be able to inspect the page*<!-- -->/
- * webkit_web_view_open (WEBKIT_WEB_VIEW(my_webview), "http://www.gnome.org");
- *
- * /<!-- -->* Embed the inspector somewhere *<!-- -->/
- * WebKitWebInspector *inspector = webkit_web_view_get_inspector (WEBKIT_WEB_VIEW(my_webview));
- * g_signal_connect (G_OBJECT (inspector), "inspect-web-view", G_CALLBACK(create_gtk_window_around_it), NULL);
- * g_signal_connect (G_OBJECT (inspector), "show-window", G_CALLBACK(show_inpector_window), NULL));
- * g_signal_connect (G_OBJECT (inspector), "notify::inspected-uri", G_CALLBACK(inspected_uri_changed_do_stuff), NULL);
- * </programlisting></informalexample>
- */
-
-using namespace WebKit;
-using namespace WebCore;
-
-enum {
- INSPECT_WEB_VIEW,
- SHOW_WINDOW,
- ATTACH_WINDOW,
- DETACH_WINDOW,
- CLOSE_WINDOW,
- FINISHED,
- LAST_SIGNAL
-};
-
-static guint webkit_web_inspector_signals[LAST_SIGNAL] = { 0, };
-
-enum {
- PROP_0,
-
- PROP_WEB_VIEW,
- PROP_INSPECTED_URI,
- PROP_JAVASCRIPT_PROFILING_ENABLED,
- PROP_TIMELINE_PROFILING_ENABLED
-};
-
-G_DEFINE_TYPE(WebKitWebInspector, webkit_web_inspector, G_TYPE_OBJECT)
-
-struct _WebKitWebInspectorPrivate {
- WebCore::Page* page;
- WebKitWebView* inspector_view;
- gchar* inspected_uri;
-};
-
-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);
-
-static void webkit_web_inspector_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec);
-
-static gboolean webkit_inspect_web_view_request_handled(GSignalInvocationHint* ihint, GValue* returnAccu, const GValue* handlerReturn, gpointer dummy)
-{
- gboolean continueEmission = TRUE;
- gpointer newWebView = g_value_get_object(handlerReturn);
- g_value_set_object(returnAccu, newWebView);
-
- if (newWebView)
- continueEmission = FALSE;
-
- return continueEmission;
-}
-
-static void webkit_web_inspector_class_init(WebKitWebInspectorClass* klass)
-{
- GObjectClass* gobject_class = G_OBJECT_CLASS(klass);
- gobject_class->finalize = webkit_web_inspector_finalize;
- gobject_class->set_property = webkit_web_inspector_set_property;
- gobject_class->get_property = webkit_web_inspector_get_property;
-
- /**
- * WebKitWebInspector::inspect-web-view:
- * @web_inspector: the object on which the signal is emitted
- * @web_view: the #WebKitWebView which will be inspected
- *
- * Emitted when the user activates the 'inspect' context menu item
- * to inspect a web view. The application which is interested in
- * the inspector should create a window, or otherwise add the
- * #WebKitWebView it creates to an existing window.
- *
- * You don't need to handle the reference count of the
- * #WebKitWebView instance you create; the widget to which you add
- * it will do that.
- *
- * Return value: (transfer none): a newly allocated #WebKitWebView or %NULL
- *
- * Since: 1.0.3
- */
- webkit_web_inspector_signals[INSPECT_WEB_VIEW] = g_signal_new("inspect-web-view",
- G_TYPE_FROM_CLASS(klass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- webkit_inspect_web_view_request_handled,
- NULL,
- webkit_marshal_OBJECT__OBJECT,
- WEBKIT_TYPE_WEB_VIEW , 1,
- WEBKIT_TYPE_WEB_VIEW);
-
- /**
- * WebKitWebInspector::show-window:
- * @web_inspector: the object on which the signal is emitted
- * @return: %TRUE if the signal has been handled
- *
- * Emitted when the inspector window should be displayed. Notice
- * that the window must have been created already by handling
- * #WebKitWebInspector::inspect-web-view.
- *
- * Since: 1.0.3
- */
- webkit_web_inspector_signals[SHOW_WINDOW] = g_signal_new("show-window",
- G_TYPE_FROM_CLASS(klass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__VOID,
- G_TYPE_BOOLEAN , 0);
-
- /**
- * WebKitWebInspector::attach-window:
- * @web_inspector: the object on which the signal is emitted
- * @return: %TRUE if the signal has been handled
- *
- * Emitted when the inspector should appear at the same window as
- * the #WebKitWebView being inspected.
- *
- * Since: 1.0.3
- */
- webkit_web_inspector_signals[ATTACH_WINDOW] = g_signal_new("attach-window",
- G_TYPE_FROM_CLASS(klass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__VOID,
- G_TYPE_BOOLEAN , 0);
-
- /**
- * WebKitWebInspector::detach-window:
- * @web_inspector: the object on which the signal is emitted
- * @return: %TRUE if the signal has been handled
- *
- * Emitted when the inspector should appear in a separate window.
- *
- * Since: 1.0.3
- */
- webkit_web_inspector_signals[DETACH_WINDOW] = g_signal_new("detach-window",
- G_TYPE_FROM_CLASS(klass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__VOID,
- G_TYPE_BOOLEAN , 0);
-
- /**
- * WebKitWebInspector::close-window:
- * @web_inspector: the object on which the signal is emitted
- * @return: %TRUE if the signal has been handled
- *
- * Emitted when the inspector window should be closed. You can
- * destroy the window or hide it so that it can be displayed again
- * by handling #WebKitWebInspector::show-window later on.
- *
- * Notice that the inspected #WebKitWebView may no longer exist
- * when this signal is emitted.
- *
- * Notice, too, that if you decide to destroy the window,
- * #WebKitWebInspector::inspect-web-view will be emmited again, when the user
- * inspects an element.
- *
- * Since: 1.0.3
- */
- webkit_web_inspector_signals[CLOSE_WINDOW] = g_signal_new("close-window",
- G_TYPE_FROM_CLASS(klass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__VOID,
- G_TYPE_BOOLEAN , 0);
-
- /**
- * WebKitWebInspector::finished:
- * @web_inspector: the object on which the signal is emitted
- *
- * Emitted when the inspection is done. You should release your
- * references on the inspector at this time. The inspected
- * #WebKitWebView may no longer exist when this signal is emitted.
- *
- * Since: 1.0.3
- */
- webkit_web_inspector_signals[FINISHED] = g_signal_new("finished",
- G_TYPE_FROM_CLASS(klass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE , 0);
-
- /*
- * properties
- */
-
- /**
- * WebKitWebInspector:web-view:
- *
- * The Web View that renders the Web Inspector itself.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class, PROP_WEB_VIEW,
- g_param_spec_object("web-view",
- _("Web View"),
- _("The Web View that renders the Web Inspector itself"),
- WEBKIT_TYPE_WEB_VIEW,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebInspector:inspected-uri:
- *
- * The URI that is currently being inspected.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class, PROP_INSPECTED_URI,
- g_param_spec_string("inspected-uri",
- _("Inspected URI"),
- _("The URI that is currently being inspected"),
- NULL,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebInspector:javascript-profiling-enabled:
- *
- * This is enabling JavaScript profiling in the Inspector. This means
- * that Console.profiles will return the profiles.
- *
- * Since: 1.1.1
- */
- g_object_class_install_property(gobject_class,
- PROP_JAVASCRIPT_PROFILING_ENABLED,
- g_param_spec_boolean(
- "javascript-profiling-enabled",
- _("Enable JavaScript profiling"),
- _("Profile the executed JavaScript."),
- FALSE,
- WEBKIT_PARAM_READWRITE));
-
- /**
- * WebKitWebInspector:timeline-profiling-enabled:
- *
- * This is enabling Timeline profiling in the Inspector.
- *
- * Since: 1.1.17
- */
- g_object_class_install_property(gobject_class,
- PROP_TIMELINE_PROFILING_ENABLED,
- g_param_spec_boolean(
- "timeline-profiling-enabled",
- _("Enable Timeline profiling"),
- _("Profile the WebCore instrumentation."),
- FALSE,
- WEBKIT_PARAM_READWRITE));
-
- g_type_class_add_private(klass, sizeof(WebKitWebInspectorPrivate));
-}
-
-static void webkit_web_inspector_init(WebKitWebInspector* 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)
-{
- WebKitWebInspector* web_inspector = WEBKIT_WEB_INSPECTOR(object);
- WebKitWebInspectorPrivate* priv = web_inspector->priv;
-
- if (priv->inspector_view)
- g_object_unref(priv->inspector_view);
-
- if (priv->inspected_uri)
- g_free(priv->inspected_uri);
-
- G_OBJECT_CLASS(webkit_web_inspector_parent_class)->finalize(object);
-}
-
-static void webkit_web_inspector_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec)
-{
- WebKitWebInspector* web_inspector = WEBKIT_WEB_INSPECTOR(object);
- WebKitWebInspectorPrivate* priv = web_inspector->priv;
-
- switch(prop_id) {
- case PROP_JAVASCRIPT_PROFILING_ENABLED: {
-#if ENABLE(JAVASCRIPT_DEBUGGER)
- bool enabled = g_value_get_boolean(value);
- priv->page->inspectorController()->setProfilerEnabled(enabled);
-#else
- g_message("PROP_JAVASCRIPT_PROFILING_ENABLED is not work because of the javascript debugger is disabled\n");
-#endif
- break;
- }
- case PROP_TIMELINE_PROFILING_ENABLED: {
- g_message("PROP_TIMELINE_PROFILING_ENABLED has been deprecated\n");
- break;
- }
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- break;
- }
-}
-
-static void webkit_web_inspector_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec)
-{
- WebKitWebInspector* web_inspector = WEBKIT_WEB_INSPECTOR(object);
- WebKitWebInspectorPrivate* priv = web_inspector->priv;
-
- switch (prop_id) {
- case PROP_WEB_VIEW:
- g_value_set_object(value, priv->inspector_view);
- break;
- case PROP_INSPECTED_URI:
- g_value_set_string(value, priv->inspected_uri);
- break;
- case PROP_JAVASCRIPT_PROFILING_ENABLED:
-#if ENABLE(JAVASCRIPT_DEBUGGER)
- g_value_set_boolean(value, priv->page->inspectorController()->profilerEnabled());
-#else
- g_message("PROP_JAVASCRIPT_PROFILING_ENABLED is not work because of the javascript debugger is disabled\n");
-#endif
- break;
- case PROP_TIMELINE_PROFILING_ENABLED:
- g_message("PROP_TIMELINE_PROFILING_ENABLED has been deprecated\n");
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- break;
- }
-}
-
-// internal use only
-void webkit_web_inspector_set_web_view(WebKitWebInspector *web_inspector, WebKitWebView *web_view)
-{
- g_return_if_fail(WEBKIT_IS_WEB_INSPECTOR(web_inspector));
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(web_view));
-
- WebKitWebInspectorPrivate* priv = web_inspector->priv;
-
- if (priv->inspector_view)
- g_object_unref(priv->inspector_view);
-
- g_object_ref(web_view);
- priv->inspector_view = web_view;
-}
-
-/**
- * webkit_web_inspector_get_web_view:
- * @web_inspector: a #WebKitWebInspector
- *
- * Obtains the #WebKitWebView that is used to render the
- * inspector. The #WebKitWebView instance is created by the
- * application, by handling the #WebKitWebInspector::inspect-web-view signal. This means
- * that this method may return %NULL if the user hasn't inspected
- * anything.
- *
- * Returns: (transfer none): the #WebKitWebView instance that is used
- * to render the inspector or %NULL if it is not yet created.
- *
- * Since: 1.0.3
- **/
-WebKitWebView* webkit_web_inspector_get_web_view(WebKitWebInspector *web_inspector)
-{
- WebKitWebInspectorPrivate* priv = web_inspector->priv;
-
- return priv->inspector_view;
-}
-
-// internal use only
-void webkit_web_inspector_set_inspected_uri(WebKitWebInspector* web_inspector, const gchar* inspected_uri)
-{
- g_return_if_fail(WEBKIT_IS_WEB_INSPECTOR(web_inspector));
-
- WebKitWebInspectorPrivate* priv = web_inspector->priv;
-
- g_free(priv->inspected_uri);
- priv->inspected_uri = g_strdup(inspected_uri);
-}
-
-/**
- * webkit_web_inspector_get_inspected_uri:
- * @web_inspector: a #WebKitWebInspector
- *
- * Obtains the URI that is currently being inspected.
- *
- * Returns: a pointer to the URI as an internally allocated string; it
- * should not be freed, modified or stored.
- *
- * Since: 1.0.3
- **/
-const gchar* webkit_web_inspector_get_inspected_uri(WebKitWebInspector *web_inspector)
-{
- WebKitWebInspectorPrivate* priv = web_inspector->priv;
-
- return priv->inspected_uri;
-}
-
-void
-webkit_web_inspector_set_inspector_client(WebKitWebInspector* web_inspector, WebCore::Page* page)
-{
- WebKitWebInspectorPrivate* priv = web_inspector->priv;
-
- priv->page = page;
-}
-
-/**
- * webkit_web_inspector_show:
- * @web_inspector: the #WebKitWebInspector that will be shown
- *
- * Causes the Web Inspector to be shown.
- *
- * Since: 1.1.17
- */
-void webkit_web_inspector_show(WebKitWebInspector* webInspector)
-{
- g_return_if_fail(WEBKIT_IS_WEB_INSPECTOR(webInspector));
-
- WebKitWebInspectorPrivate* priv = webInspector->priv;
-
- Frame* frame = priv->page->focusController()->focusedOrMainFrame();
- FrameView* view = frame->view();
-
- if (!view)
- return;
-
- priv->page->inspectorController()->show();
-}
-
-/**
- * webkit_web_inspector_inspect_node:
- * @web_inspector: the #WebKitWebInspector that will do the inspection
- * @node: the #WebKitDOMNode to inspect
- *
- * Causes the Web Inspector to inspect the given node.
- *
- * Since: 1.3.7
- */
-void webkit_web_inspector_inspect_node(WebKitWebInspector* webInspector, WebKitDOMNode* node)
-{
- g_return_if_fail(WEBKIT_IS_WEB_INSPECTOR(webInspector));
- g_return_if_fail(WEBKIT_DOM_IS_NODE(node));
-
- webInspector->priv->page->inspectorController()->inspect(core(node));
-}
-
-/**
- * webkit_web_inspector_inspect_coordinates:
- * @web_inspector: the #WebKitWebInspector that will do the inspection
- * @x: the X coordinate of the node to be inspected
- * @y: the Y coordinate of the node to be inspected
- *
- * Causes the Web Inspector to inspect the node that is located at the
- * given coordinates of the widget. The coordinates should be relative
- * to the #WebKitWebView widget, not to the scrollable content, and
- * may be obtained from a #GdkEvent directly.
- *
- * This means @x, and @y being zero doesn't guarantee you will hit the
- * left-most top corner of the content, since the contents may have
- * been scrolled.
- *
- * Since: 1.1.17
- */
-void webkit_web_inspector_inspect_coordinates(WebKitWebInspector* webInspector, gdouble x, gdouble y)
-{
- g_return_if_fail(WEBKIT_IS_WEB_INSPECTOR(webInspector));
- g_return_if_fail(x >= 0 && y >= 0);
-
- WebKitWebInspectorPrivate* priv = webInspector->priv;
-
- Frame* frame = priv->page->focusController()->focusedOrMainFrame();
- FrameView* view = frame->view();
-
- if (!view)
- return;
-
- HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::DisallowShadowContent);
- IntPoint documentPoint = view->windowToContents(IntPoint(static_cast<int>(x), static_cast<int>(y)));
- HitTestResult result(documentPoint);
-
- frame->contentRenderer()->layer()->hitTest(request, result);
- priv->page->inspectorController()->inspect(result.innerNonSharedNode());
-}
-
-/**
- * webkit_web_inspector_close:
- * @web_inspector: the #WebKitWebInspector that will be closed
- *
- * Causes the Web Inspector to be closed.
- *
- * Since: 1.1.17
- */
-void webkit_web_inspector_close(WebKitWebInspector* webInspector)
-{
- g_return_if_fail(WEBKIT_IS_WEB_INSPECTOR(webInspector));
-
- WebKitWebInspectorPrivate* priv = webInspector->priv;
- priv->page->inspectorController()->close();
-}
-
-void webkit_web_inspector_execute_script(WebKitWebInspector* webInspector, long callId, const gchar* script)
-{
- g_return_if_fail(WEBKIT_IS_WEB_INSPECTOR(webInspector));
- g_return_if_fail(script);
-
- WebKitWebInspectorPrivate* priv = webInspector->priv;
- priv->page->inspectorController()->evaluateForTestInFrontend(callId, script);
-}
diff --git a/Source/WebKit/gtk/webkit/webkitwebinspector.h b/Source/WebKit/gtk/webkit/webkitwebinspector.h
deleted file mode 100644
index 9af4aac88..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebinspector.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2008 Gustavo Noronha Silva
- *
- * 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 webkitwebinspector_h
-#define webkitwebinspector_h
-
-#include <glib-object.h>
-
-#include <webkit/webkitdefines.h>
-#include <webkitdom/webkitdom.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_WEB_INSPECTOR (webkit_web_inspector_get_type())
-#define WEBKIT_WEB_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_INSPECTOR, WebKitWebInspector))
-#define WEBKIT_WEB_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_INSPECTOR, WebKitWebInspectorClass))
-#define WEBKIT_IS_WEB_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_INSPECTOR))
-#define WEBKIT_IS_WEB_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_INSPECTOR))
-#define WEBKIT_WEB_INSPECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_INSPECTOR, WebKitWebInspectorClass))
-
-typedef struct _WebKitWebInspectorPrivate WebKitWebInspectorPrivate;
-
-struct _WebKitWebInspector {
- GObject parent_instance;
-
- WebKitWebInspectorPrivate* priv;
-};
-
-struct _WebKitWebInspectorClass {
- GObjectClass parent_class;
-
- /* Padding for future expansion */
- void (*_webkit_reserved1) (void);
- void (*_webkit_reserved2) (void);
- void (*_webkit_reserved3) (void);
- void (*_webkit_reserved4) (void);
-};
-
-WEBKIT_API GType
-webkit_web_inspector_get_type (void);
-
-WEBKIT_API WebKitWebView*
-webkit_web_inspector_get_web_view (WebKitWebInspector *web_inspector);
-
-WEBKIT_API const gchar*
-webkit_web_inspector_get_inspected_uri (WebKitWebInspector *web_inspector);
-
-WEBKIT_API void
-webkit_web_inspector_inspect_node (WebKitWebInspector *web_inspector,
- WebKitDOMNode *node);
-
-WEBKIT_API void
-webkit_web_inspector_inspect_coordinates (WebKitWebInspector *web_inspector,
- gdouble x,
- gdouble y);
-
-WEBKIT_API void
-webkit_web_inspector_show (WebKitWebInspector *web_inspector);
-
-WEBKIT_API void
-webkit_web_inspector_close (WebKitWebInspector *web_inspector);
-G_END_DECLS
-
-#endif /* webkitwebinspector_h */
diff --git a/Source/WebKit/gtk/webkit/webkitwebinspectorprivate.h b/Source/WebKit/gtk/webkit/webkitwebinspectorprivate.h
deleted file mode 100644
index 64ba09a5d..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebinspectorprivate.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * 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" {
-
-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/Source/WebKit/gtk/webkit/webkitwebnavigationaction.cpp b/Source/WebKit/gtk/webkit/webkitwebnavigationaction.cpp
deleted file mode 100644
index c78e754ae..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebnavigationaction.cpp
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
- * Copyright (C) 2008 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 "webkitwebnavigationaction.h"
-
-#include "FrameLoaderTypes.h"
-#include "webkitenumtypes.h"
-#include "webkitglobalsprivate.h"
-#include <glib/gi18n-lib.h>
-#include <string.h>
-#include <wtf/Assertions.h>
-
-static void webkit_web_navigation_action_set_target_frame(WebKitWebNavigationAction* navigationAction, const gchar* targetFrame);
-
-/**
- * SECTION:webkitwebnavigationaction
- * @short_description: Object used to report details of navigation actions
- *
- * #WebKitWebNavigationAction is used in signals to provide details about
- * what led the navigation to happen. This includes, for instance, if the user
- * clicked a link to start that navigation, and what mouse button was used.
- */
-
-struct _WebKitWebNavigationActionPrivate {
- WebKitWebNavigationReason reason;
- gchar* originalUri;
- gint button;
- gint modifier_state;
- gchar* targetFrame;
-};
-
-enum {
- PROP_0,
-
- PROP_REASON,
- PROP_ORIGINAL_URI,
- PROP_BUTTON,
- PROP_MODIFIER_STATE,
- PROP_TARGET_FRAME
-};
-
-G_DEFINE_TYPE(WebKitWebNavigationAction, webkit_web_navigation_action, G_TYPE_OBJECT)
-
-
-static void webkit_web_navigation_action_get_property(GObject* object, guint propertyId, GValue* value, GParamSpec* pspec)
-{
- WebKitWebNavigationAction* navigationAction = WEBKIT_WEB_NAVIGATION_ACTION(object);
-
- switch(propertyId) {
- case PROP_REASON:
- g_value_set_enum(value, webkit_web_navigation_action_get_reason(navigationAction));
- break;
- case PROP_ORIGINAL_URI:
- g_value_set_string(value, webkit_web_navigation_action_get_original_uri(navigationAction));
- break;
- case PROP_BUTTON:
- g_value_set_int(value, webkit_web_navigation_action_get_button(navigationAction));
- break;
- case PROP_MODIFIER_STATE:
- g_value_set_int(value, webkit_web_navigation_action_get_modifier_state(navigationAction));
- break;
- case PROP_TARGET_FRAME:
- g_value_set_string(value, webkit_web_navigation_action_get_target_frame(navigationAction));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, pspec);
- break;
- }
-}
-
-static void webkit_web_navigation_action_set_property(GObject* object, guint propertyId, const GValue* value, GParamSpec* pspec)
-{
- WebKitWebNavigationAction* navigationAction = WEBKIT_WEB_NAVIGATION_ACTION(object);
- WebKitWebNavigationActionPrivate* priv = navigationAction->priv;
-
- switch(propertyId) {
- case PROP_REASON:
- webkit_web_navigation_action_set_reason(navigationAction, (WebKitWebNavigationReason)g_value_get_enum(value));
- break;
- case PROP_ORIGINAL_URI:
- webkit_web_navigation_action_set_original_uri(navigationAction, g_value_get_string(value));
- break;
- case PROP_BUTTON:
- priv->button = g_value_get_int(value);
- break;
- case PROP_MODIFIER_STATE:
- priv->modifier_state = g_value_get_int(value);
- break;
- case PROP_TARGET_FRAME:
- webkit_web_navigation_action_set_target_frame(navigationAction, g_value_get_string(value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, propertyId, pspec);
- break;
- }
-}
-
-static void webkit_web_navigation_action_init(WebKitWebNavigationAction* navigationAction)
-{
- navigationAction->priv = G_TYPE_INSTANCE_GET_PRIVATE(navigationAction, WEBKIT_TYPE_WEB_NAVIGATION_ACTION, WebKitWebNavigationActionPrivate);
-}
-
-static void webkit_web_navigation_action_finalize(GObject* obj)
-{
- WebKitWebNavigationAction* navigationAction = WEBKIT_WEB_NAVIGATION_ACTION(obj);
- WebKitWebNavigationActionPrivate* priv = navigationAction->priv;
-
- g_free(priv->originalUri);
- g_free(priv->targetFrame);
-
- G_OBJECT_CLASS(webkit_web_navigation_action_parent_class)->finalize(obj);
-}
-
-static void webkit_web_navigation_action_class_init(WebKitWebNavigationActionClass* requestClass)
-{
- GObjectClass* objectClass = G_OBJECT_CLASS(requestClass);
-
- objectClass->get_property = webkit_web_navigation_action_get_property;
- objectClass->set_property = webkit_web_navigation_action_set_property;
- objectClass->finalize = webkit_web_navigation_action_finalize;
-
- /**
- * WebKitWebNavigationAction:reason:
- *
- * The reason why this navigation is occuring.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(objectClass, PROP_REASON,
- g_param_spec_enum("reason",
- _("Reason"),
- _("The reason why this navigation is occurring"),
- WEBKIT_TYPE_WEB_NAVIGATION_REASON,
- WEBKIT_WEB_NAVIGATION_REASON_OTHER,
- (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT)));
-
- /**
- * WebKitWebNavigationAction:original-uri:
- *
- * The URI that was requested as the target for the navigation.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(objectClass, PROP_ORIGINAL_URI,
- g_param_spec_string("original-uri",
- _("Original URI"),
- _("The URI that was requested as the target for the navigation"),
- "",
- (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT)));
- /**
- * WebKitWebNavigationAction:button:
- *
- * The GTK+ identifier for the mouse button used to click. Notice that GTK+ button values
- * are 1, 2 and 3 for left, middle and right buttons, so they are DOM button values +1. If the action was not
- * initiated by a mouse click the value will be -1.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(objectClass, PROP_BUTTON,
- g_param_spec_int("button",
- _("Button"),
- _("The button used to click"),
- -1,
- G_MAXINT,
- -1,
- (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
-
- /**
- * WebKitWebNavigationAction:modifier-state:
- *
- * The state of the modifier keys when the action was requested.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(objectClass, PROP_MODIFIER_STATE,
- g_param_spec_int("modifier-state",
- _("Modifier state"),
- _("A bitmask representing the state of the modifier keys"),
- 0,
- G_MAXINT,
- 0,
- (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
-
- /**
- * WebKitWebNavigationAction:target-frame:
- *
- * The target frame for the navigation.
- *
- * Since: 1.1.13
- */
- g_object_class_install_property(objectClass, PROP_TARGET_FRAME,
- g_param_spec_string("target-frame",
- _("Target frame"),
- _("The target frame for the navigation"),
- NULL,
- (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
-
-
-
- g_type_class_add_private(requestClass, sizeof(WebKitWebNavigationActionPrivate));
-}
-
-/**
- * webkit_web_navigation_action_get_reason:
- * @navigationAction: a #WebKitWebNavigationAction
- *
- * Returns the reason why WebKit is requesting a navigation.
- *
- * Return value: a #WebKitWebNavigationReason
- *
- * Since: 1.0.3
- */
-WebKitWebNavigationReason webkit_web_navigation_action_get_reason(WebKitWebNavigationAction* navigationAction)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_NAVIGATION_ACTION(navigationAction), WEBKIT_WEB_NAVIGATION_REASON_OTHER);
-
- return navigationAction->priv->reason;
-}
-
-/**
- * webkit_web_navigation_action_set_reason:
- * @navigationAction: a #WebKitWebNavigationAction
- * @reason: a #WebKitWebNavigationReason
- *
- * Sets the reason why WebKit is requesting a navigation.
- *
- * Since: 1.0.3
- */
-void webkit_web_navigation_action_set_reason(WebKitWebNavigationAction* navigationAction, WebKitWebNavigationReason reason)
-{
- g_return_if_fail(WEBKIT_IS_WEB_NAVIGATION_ACTION(navigationAction));
-
- if (navigationAction->priv->reason == reason)
- return;
-
- navigationAction->priv->reason = reason;
- g_object_notify(G_OBJECT(navigationAction), "reason");
-}
-
-/**
- * webkit_web_navigation_action_get_original_uri:
- * @navigationAction: a #WebKitWebNavigationAction
- *
- * Returns the URI that was originally requested. This may differ from the
- * navigation target, for instance because of a redirect.
- *
- * Return value: the originally requested URI
- *
- * Since: 1.0.3
- */
-const gchar* webkit_web_navigation_action_get_original_uri(WebKitWebNavigationAction* navigationAction)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_NAVIGATION_ACTION(navigationAction), NULL);
-
- return navigationAction->priv->originalUri;
-}
-
-/**
- * webkit_web_navigation_action_set_original_uri:
- * @navigationAction: a #WebKitWebNavigationAction
- * @originalUri: a URI
- *
- * Sets the URI that was originally requested. This may differ from the
- * navigation target, for instance because of a redirect.
- *
- * Since: 1.0.3
- */
-void webkit_web_navigation_action_set_original_uri(WebKitWebNavigationAction* navigationAction, const gchar* originalUri)
-{
- g_return_if_fail(WEBKIT_IS_WEB_NAVIGATION_ACTION(navigationAction));
- g_return_if_fail(originalUri);
-
- if (navigationAction->priv->originalUri &&
- (!strcmp(navigationAction->priv->originalUri, originalUri)))
- return;
-
- g_free(navigationAction->priv->originalUri);
- navigationAction->priv->originalUri = g_strdup(originalUri);
- g_object_notify(G_OBJECT(navigationAction), "original-uri");
-}
-
-/**
- * webkit_web_navigation_action_get_button:
- * @navigationAction: a #WebKitWebNavigationAction
- *
- * The GTK+ identifier for the mouse button used to click. Notice that GTK+ button values
- * are 1, 2 and 3 for left, middle and right buttons, so they are DOM button values +1. If the action was not
- * initiated by a mouse click the value will be -1.
- *
- * Return value: the mouse button used to click
- *
- * Since: 1.0.3
- */
-gint webkit_web_navigation_action_get_button(WebKitWebNavigationAction* navigationAction)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_NAVIGATION_ACTION(navigationAction), -1);
-
- return navigationAction->priv->button;
-}
-
-/**
- * webkit_web_navigation_action_get_modifier_state:
- * @navigationAction: a #WebKitWebNavigationAction
- *
- * Returns a bitmask with the the state of the modifier keys.
- *
- * Return value: a bitmask with the state of the modifier keys
- *
- * Since: 1.0.3
- */
-gint webkit_web_navigation_action_get_modifier_state(WebKitWebNavigationAction* navigationAction)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_NAVIGATION_ACTION(navigationAction), 0);
-
- return navigationAction->priv->modifier_state;
-}
-
-/**
- * webkit_web_navigation_action_get_target_frame:
- * @navigationAction: a #WebKitWebNavigationAction
- *
- * Returns the target frame of the action.
- *
- * Return value: the target frame of the action or NULL
- * if there is no target.
- *
- * Since: 1.1.13
- */
-const gchar* webkit_web_navigation_action_get_target_frame(WebKitWebNavigationAction* navigationAction)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_NAVIGATION_ACTION(navigationAction), NULL);
-
- return navigationAction->priv->targetFrame;
-}
-
-static void webkit_web_navigation_action_set_target_frame(WebKitWebNavigationAction* navigationAction, const gchar* targetFrame)
-{
- if (!g_strcmp0(navigationAction->priv->targetFrame, targetFrame))
- return;
-
- g_free(navigationAction->priv->targetFrame);
- 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/Source/WebKit/gtk/webkit/webkitwebnavigationaction.h b/Source/WebKit/gtk/webkit/webkitwebnavigationaction.h
deleted file mode 100644
index b317749f2..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebnavigationaction.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (C) 2008 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.
- */
-
-#ifndef webkitwebnavigationaction_h
-#define webkitwebnavigationaction_h
-
-#include <glib-object.h>
-
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-/**
- * WebKitWebNavigationReason:
- * @WEBKIT_WEB_NAVIGATION_REASON_LINK_CLICKED: The navigation was triggered by clicking a link.
- * @WEBKIT_WEB_NAVIGATION_REASON_FORM_SUBMITTED: The navigation was triggered by submitting a form.
- * @WEBKIT_WEB_NAVIGATION_REASON_BACK_FORWARD: The navigation was triggered by navigating forward or backward.
- * @WEBKIT_WEB_NAVIGATION_REASON_RELOAD: The navigation was triggered by reloading.
- * @WEBKIT_WEB_NAVIGATION_REASON_FORM_RESUBMITTED: The navigation was triggered by resubmitting a form.
- * @WEBKIT_WEB_NAVIGATION_REASON_OTHER: The navigation was triggered by some other action.
- *
- * Enum values used to denote the various navigation reasons.
- */
-typedef enum {
- WEBKIT_WEB_NAVIGATION_REASON_LINK_CLICKED,
- WEBKIT_WEB_NAVIGATION_REASON_FORM_SUBMITTED,
- WEBKIT_WEB_NAVIGATION_REASON_BACK_FORWARD,
- WEBKIT_WEB_NAVIGATION_REASON_RELOAD,
- WEBKIT_WEB_NAVIGATION_REASON_FORM_RESUBMITTED,
- WEBKIT_WEB_NAVIGATION_REASON_OTHER,
-} WebKitWebNavigationReason;
-
-#define WEBKIT_TYPE_WEB_NAVIGATION_ACTION (webkit_web_navigation_action_get_type())
-#define WEBKIT_WEB_NAVIGATION_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_NAVIGATION_ACTION, WebKitWebNavigationAction))
-#define WEBKIT_WEB_NAVIGATION_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_NAVIGATION_ACTION, WebKitWebNavigationActionClass))
-#define WEBKIT_IS_WEB_NAVIGATION_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_NAVIGATION_ACTION))
-#define WEBKIT_IS_WEB_NAVIGATION_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_NAVIGATION_ACTION))
-#define WEBKIT_WEB_NAVIGATION_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_NAVIGATION_ACTION, WebKitWebNavigationActionClass))
-
-typedef struct _WebKitWebNavigationAction WebKitWebNavigationAction;
-typedef struct _WebKitWebNavigationActionClass WebKitWebNavigationActionClass;
-typedef struct _WebKitWebNavigationActionPrivate WebKitWebNavigationActionPrivate;
-
-struct _WebKitWebNavigationAction {
- GObject parent_instance;
-
- /*< private >*/
- WebKitWebNavigationActionPrivate* priv;
-};
-
-struct _WebKitWebNavigationActionClass {
- 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_web_navigation_action_get_type(void);
-
-WEBKIT_API WebKitWebNavigationReason
-webkit_web_navigation_action_get_reason(WebKitWebNavigationAction* navigationAction);
-
-WEBKIT_API void
-webkit_web_navigation_action_set_reason(WebKitWebNavigationAction* navigationAction, WebKitWebNavigationReason reason);
-
-WEBKIT_API const gchar*
-webkit_web_navigation_action_get_original_uri(WebKitWebNavigationAction* navigationAction);
-
-WEBKIT_API void
-webkit_web_navigation_action_set_original_uri(WebKitWebNavigationAction* navigationAction, const gchar* originalUri);
-
-WEBKIT_API gint
-webkit_web_navigation_action_get_button(WebKitWebNavigationAction* navigationAction);
-
-WEBKIT_API gint
-webkit_web_navigation_action_get_modifier_state(WebKitWebNavigationAction* navigationAction);
-
-WEBKIT_API const gchar *
-webkit_web_navigation_action_get_target_frame(WebKitWebNavigationAction* navigationAction);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitwebnavigationactionprivate.h b/Source/WebKit/gtk/webkit/webkitwebnavigationactionprivate.h
deleted file mode 100644
index a8bc5ca0c..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebnavigationactionprivate.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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/Source/WebKit/gtk/webkit/webkitwebplugin.cpp b/Source/WebKit/gtk/webkit/webkitwebplugin.cpp
deleted file mode 100644
index 73b42ee9e..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebplugin.cpp
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Copyright (C) 2010 Igalia S.L.
- * Copyright (C) 2011 Gustavo Noronha Silva <gns@gnome.org>
- *
- * 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 "webkitglobalsprivate.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)
-{
- webkitInit();
-
- 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_path:
- * @plugin: a #WebKitWebPlugin
- *
- * Returns: the absolute path to @plugin in system filename encoding
- * or %NULL on failure to convert the filename from UTF-8.
- *
- * Since: 1.4.0
- */
-const char* webkit_web_plugin_get_path(WebKitWebPlugin* plugin)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_PLUGIN(plugin), 0);
-
- WebKitWebPluginPrivate* priv = plugin->priv;
-
- if (priv->path)
- return priv->path.get();
-
- GOwnPtr<GError> error;
- priv->path.set(g_filename_from_utf8(priv->corePlugin->path().utf8().data(), -1, 0, 0, &error.outPtr()));
-
- if (!error)
- return priv->path.get();
-
- // In the unlikely case the convertion fails, report the error and make sure we free
- // any partial convertion that ended up in the variable.
- priv->path.clear();
-
- g_warning("Failed to convert '%s' to system filename encoding: %s", priv->corePlugin->path().utf8().data(), error->message);
-
- return 0;
-}
-
-
-/**
- * webkit_web_plugin_get_mimetypes: (skip)
- * @plugin: a #WebKitWebPlugin
- *
- * Returns all the #WebKitWebPluginMIMEType that @plugin is handling
- * at the moment.
- *
- * Returns: 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->key.utf8().data());
- mimeType->description = g_strdup(it->value.utf8().data());
-
- Vector<String> extensions = priv->corePlugin->mimeToExtensions().get(it->key);
- mimeType->extensions = static_cast<gchar**>(g_malloc0(sizeof(char*) * (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/Source/WebKit/gtk/webkit/webkitwebplugin.h b/Source/WebKit/gtk/webkit/webkitwebplugin.h
deleted file mode 100644
index 1d2df4866..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebplugin.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * 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 *plugin);
-
-WEBKIT_API const char*
-webkit_web_plugin_get_description (WebKitWebPlugin *plugin);
-
-WEBKIT_API const char*
-webkit_web_plugin_get_path (WebKitWebPlugin *plugin);
-
-WEBKIT_API GSList*
-webkit_web_plugin_get_mimetypes (WebKitWebPlugin *plugin);
-
-WEBKIT_API void
-webkit_web_plugin_set_enabled (WebKitWebPlugin *plugin,
- gboolean enabled);
-
-WEBKIT_API gboolean
-webkit_web_plugin_get_enabled (WebKitWebPlugin *plugin);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitwebplugindatabase.cpp b/Source/WebKit/gtk/webkit/webkitwebplugindatabase.cpp
deleted file mode 100644
index 5b9d063f3..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebplugindatabase.cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * 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 "webkitglobalsprivate.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)
-{
- webkitInit();
-
- 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_plugins_list_free:
- * @list: (element-type WebKitWebPlugin): a #GSList of #WebKitWebPlugin
- *
- * Frees @list.
- *
- * Since: 1.3.8
- */
-void webkit_web_plugin_database_plugins_list_free(GSList* list)
-{
- if (!list)
- return;
-
- 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
- * @mime_type: 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/Source/WebKit/gtk/webkit/webkitwebplugindatabase.h b/Source/WebKit/gtk/webkit/webkitwebplugindatabase.h
deleted file mode 100644
index 75a8a157a..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebplugindatabase.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * 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 *list);
-
-WEBKIT_API GSList*
-webkit_web_plugin_database_get_plugins (WebKitWebPluginDatabase *database);
-
-WEBKIT_API WebKitWebPlugin*
-webkit_web_plugin_database_get_plugin_for_mimetype (WebKitWebPluginDatabase *database,
- const char *mime_type);
-
-WEBKIT_API void
-webkit_web_plugin_database_refresh (WebKitWebPluginDatabase *database);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h b/Source/WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h
deleted file mode 100644
index 199aedea1..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebplugindatabaseprivate.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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/Source/WebKit/gtk/webkit/webkitwebpluginprivate.h b/Source/WebKit/gtk/webkit/webkitwebpluginprivate.h
deleted file mode 100644
index 507f72eb3..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebpluginprivate.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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>
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/text/CString.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;
- GOwnPtr<char> path;
- GSList* mimeTypes;
-};
-
-}
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitwebpolicydecision.cpp b/Source/WebKit/gtk/webkit/webkitwebpolicydecision.cpp
deleted file mode 100644
index bb29ae159..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebpolicydecision.cpp
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (C) 2008 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 "webkitwebpolicydecision.h"
-
-#include "FrameLoaderClient.h"
-#include "FrameLoaderTypes.h"
-#include "webkitwebframeprivate.h"
-#include "webkitwebpolicydecisionprivate.h"
-
-using namespace WebKit;
-using namespace WebCore;
-
-/**
- * SECTION:webkitwebpolicydecision
- * @short_description: Liason between WebKit and the application regarding asynchronous policy decisions
- *
- * #WebKitWebPolicyDecision objects are given to the application on
- * signal emissions that deal with policy decisions, such as if a new
- * window should be opened, or if a given navigation should be
- * allowed. The application uses it to tell the engine what to do.
- */
-
-G_DEFINE_TYPE(WebKitWebPolicyDecision, webkit_web_policy_decision, G_TYPE_OBJECT);
-
-struct _WebKitWebPolicyDecisionPrivate {
- WebKitWebFrame* frame;
- FramePolicyFunction framePolicyFunction;
- gboolean isCancelled;
-};
-
-static void webkit_web_policy_decision_class_init(WebKitWebPolicyDecisionClass* decisionClass)
-{
- g_type_class_add_private(decisionClass, sizeof(WebKitWebPolicyDecisionPrivate));
-}
-
-static void webkit_web_policy_decision_init(WebKitWebPolicyDecision* 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)
-{
- g_return_val_if_fail(frame, NULL);
-
- WebKitWebPolicyDecision* decision = WEBKIT_WEB_POLICY_DECISION(g_object_new(WEBKIT_TYPE_WEB_POLICY_DECISION, NULL));
- WebKitWebPolicyDecisionPrivate* priv = decision->priv;
-
- priv->frame = frame;
- priv->framePolicyFunction = function;
- priv->isCancelled = FALSE;
-
- return decision;
-}
-
-/**
- * webkit_web_policy_decision_use:
- * @decision: a #WebKitWebPolicyDecision
- *
- * Will send the USE decision to the policy implementer.
- *
- * Since: 1.0.3
- */
-void webkit_web_policy_decision_use(WebKitWebPolicyDecision* decision)
-{
- g_return_if_fail(WEBKIT_IS_WEB_POLICY_DECISION(decision));
-
- WebKitWebPolicyDecisionPrivate* priv = decision->priv;
-
- if (!priv->isCancelled)
- (core(priv->frame)->loader()->policyChecker()->*(priv->framePolicyFunction))(WebCore::PolicyUse);
-}
-
-/**
- * webkit_web_policy_decision_ignore:
- * @decision: a #WebKitWebPolicyDecision
- *
- * Will send the IGNORE decision to the policy implementer.
- *
- * Since: 1.0.3
- */
-void webkit_web_policy_decision_ignore(WebKitWebPolicyDecision* decision)
-{
- g_return_if_fail(WEBKIT_IS_WEB_POLICY_DECISION(decision));
-
- WebKitWebPolicyDecisionPrivate* priv = decision->priv;
-
- if (!priv->isCancelled)
- (core(priv->frame)->loader()->policyChecker()->*(priv->framePolicyFunction))(WebCore::PolicyIgnore);
-}
-
-/**
- * webkit_web_policy_decision_download:
- * @decision: a #WebKitWebPolicyDecision
- *
- * Will send the DOWNLOAD decision to the policy implementer.
- *
- * Since: 1.0.3
- */
-void webkit_web_policy_decision_download(WebKitWebPolicyDecision* decision)
-{
- g_return_if_fail(WEBKIT_IS_WEB_POLICY_DECISION(decision));
-
- WebKitWebPolicyDecisionPrivate* priv = decision->priv;
-
- if (!priv->isCancelled)
- (core(priv->frame)->loader()->policyChecker()->*(priv->framePolicyFunction))(WebCore::PolicyDownload);
-}
-
-void webkit_web_policy_decision_cancel(WebKitWebPolicyDecision* decision)
-{
- g_return_if_fail(WEBKIT_IS_WEB_POLICY_DECISION(decision));
-
- WebKitWebPolicyDecisionPrivate* priv = decision->priv;
-
- priv->isCancelled = TRUE;
-}
diff --git a/Source/WebKit/gtk/webkit/webkitwebpolicydecision.h b/Source/WebKit/gtk/webkit/webkitwebpolicydecision.h
deleted file mode 100644
index 2b61837a3..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebpolicydecision.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2008 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.
- */
-
-#ifndef webkitwebpolicydecision_h
-#define webkitwebpolicydecision_h
-
-#include <glib-object.h>
-#include <stdint.h>
-#include "webkitdefines.h"
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_WEB_POLICY_DECISION (webkit_web_policy_decision_get_type())
-#define WEBKIT_WEB_POLICY_DECISION(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_POLICY_DECISION, WebKitWebPolicyDecision))
-#define WEBKIT_WEB_POLICY_DECISION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_POLICY_DECISION, WebKitWebPolicyDecisionClass))
-#define WEBKIT_IS_WEB_POLICY_DECISION(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_POLICY_DECISION))
-#define WEBKIT_IS_WEB_POLICY_DECISION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_POLICY_DECISION))
-#define WEBKIT_WEB_POLICY_DECISION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_POLICY_DECISION, WebKitWebPolicyDecisionClass))
-
-typedef struct _WebKitWebPolicyDecisionPrivate WebKitWebPolicyDecisionPrivate;
-struct _WebKitWebPolicyDecision {
- GObject parent_instance;
-
- /*< private >*/
- WebKitWebPolicyDecisionPrivate* priv;
-};
-
-struct _WebKitWebPolicyDecisionClass {
- 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_web_policy_decision_get_type (void);
-
-WEBKIT_API void
-webkit_web_policy_decision_use (WebKitWebPolicyDecision* decision);
-
-WEBKIT_API void
-webkit_web_policy_decision_ignore (WebKitWebPolicyDecision* decision);
-
-WEBKIT_API void
-webkit_web_policy_decision_download (WebKitWebPolicyDecision* decision);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h b/Source/WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h
deleted file mode 100644
index 2d264ab15..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebpolicydecisionprivate.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * 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/Source/WebKit/gtk/webkit/webkitwebresource.cpp b/Source/WebKit/gtk/webkit/webkitwebresource.cpp
deleted file mode 100644
index 6fac37bf6..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebresource.cpp
+++ /dev/null
@@ -1,485 +0,0 @@
-/*
- * Copyright (C) 2009 Jan Michael C. Alonzo
- *
- * 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 "webkitwebresource.h"
-
-#include "ArchiveResource.h"
-#include "KURL.h"
-#include "SharedBuffer.h"
-#include "webkitenumtypes.h"
-#include "webkitglobalsprivate.h"
-#include "webkitmarshal.h"
-#include "webkitnetworkresponse.h"
-#include "webkitwebresourceprivate.h"
-#include <glib.h>
-#include <glib/gi18n-lib.h>
-#include <wtf/Assertions.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/WTFString.h>
-
-/**
- * SECTION:webkitwebresource
- * @short_description: Represents a downloaded URI.
- * @see_also: #WebKitWebDataSource
- *
- * A web resource encapsulates the data of the download as well as the URI,
- * MIME type and frame name of the resource.
- */
-
-using namespace WebCore;
-
-enum {
- // Resource loading
- RESPONSE_RECEIVED,
- LOAD_FINISHED,
- CONTENT_LENGTH_RECEIVED,
- LOAD_FAILED,
-
- LAST_SIGNAL
-};
-
-enum {
- PROP_0,
- PROP_URI,
- PROP_MIME_TYPE,
- PROP_ENCODING,
- PROP_FRAME_NAME
-};
-
-static guint webkit_web_resource_signals[LAST_SIGNAL] = { 0, };
-
-G_DEFINE_TYPE(WebKitWebResource, webkit_web_resource, G_TYPE_OBJECT);
-
-static void webkit_web_resource_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec);
-static void webkit_web_resource_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec);
-
-static void webkit_web_resource_cleanup(WebKitWebResource* webResource)
-{
- WebKitWebResourcePrivate* priv = webResource->priv;
-
- g_free(priv->uri);
- priv->uri = NULL;
-
- g_free(priv->mimeType);
- priv->mimeType = NULL;
-
- g_free(priv->textEncoding);
- priv->textEncoding = NULL;
-
- g_free(priv->frameName);
- priv->frameName = NULL;
-
- if (priv->data)
- g_string_free(priv->data, TRUE);
- priv->data = NULL;
-}
-
-static void webkit_web_resource_dispose(GObject* object)
-{
- WebKitWebResource* webResource = WEBKIT_WEB_RESOURCE(object);
- WebKitWebResourcePrivate* priv = webResource->priv;
-
- if (priv->resource) {
- priv->resource->deref();
- priv->resource = 0;
- }
-
- G_OBJECT_CLASS(webkit_web_resource_parent_class)->dispose(object);
-}
-
-static void webkit_web_resource_finalize(GObject* object)
-{
- WebKitWebResource* webResource = WEBKIT_WEB_RESOURCE(object);
-
- webkit_web_resource_cleanup(webResource);
-
- G_OBJECT_CLASS(webkit_web_resource_parent_class)->finalize(object);
-}
-
-static void webkit_web_resource_class_init(WebKitWebResourceClass* webResourceClass)
-{
- GObjectClass* gobject_class = G_OBJECT_CLASS(webResourceClass);
-
- gobject_class->dispose = webkit_web_resource_dispose;
- gobject_class->finalize = webkit_web_resource_finalize;
- gobject_class->get_property = webkit_web_resource_get_property;
- gobject_class->set_property = webkit_web_resource_set_property;
-
- /**
- * WebKitWebResource::response-received:
- * @web_resource: the #WebKitWebResource being loaded
- * @response: the #WebKitNetworkResponse that was received
- *
- * Emitted when the response is received from the server.
- *
- * Since: 1.7.5
- */
- webkit_web_resource_signals[RESPONSE_RECEIVED] = g_signal_new("response-received",
- G_TYPE_FROM_CLASS(webResourceClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1,
- WEBKIT_TYPE_NETWORK_RESPONSE);
-
- /**
- * WebKitWebResource::load-failed:
- * @web_resource: the #WebKitWebResource that was loaded
- * @error: the #GError that was triggered
- *
- * Invoked when the @web_resource failed to load
- *
- * Since: 1.7.5
- */
- webkit_web_resource_signals[LOAD_FAILED] = g_signal_new("load-failed",
- G_TYPE_FROM_CLASS(webResourceClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- g_cclosure_marshal_VOID__POINTER,
- G_TYPE_NONE, 1,
- G_TYPE_POINTER);
-
- /**
- * WebKitWebResource::load-finished:
- * @web_resource: the #WebKitWebResource being loaded
- *
- * Emitted when all the data for the resource was loaded
- *
- * Since: 1.7.5
- */
- webkit_web_resource_signals[LOAD_FINISHED] = g_signal_new("load-finished",
- G_TYPE_FROM_CLASS(webResourceClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- /**
- * WebKitWebResource::content-length-received:
- * @web_resource: the #WebKitWebResource that was loaded
- * @length_received: the amount of data received since the last signal emission
- *
- * Emitted when new resource data has been received. The
- * @length_received variable stores the amount of bytes received
- * since the last time this signal was emitted. This is useful to
- * provide progress information about the resource load operation.
- *
- * Since: 1.7.5
- */
- webkit_web_resource_signals[CONTENT_LENGTH_RECEIVED] = g_signal_new("content-length-received",
- G_TYPE_FROM_CLASS(webResourceClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- g_cclosure_marshal_VOID__INT,
- G_TYPE_NONE, 1,
- G_TYPE_INT);
-
- /**
- * WebKitWebResource:uri:
- *
- * The URI of the web resource
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobject_class,
- PROP_URI,
- g_param_spec_string(
- "uri",
- _("URI"),
- _("The URI of the resource"),
- NULL,
- (GParamFlags)(WEBKIT_PARAM_READWRITE|G_PARAM_CONSTRUCT_ONLY)));
- /**
- * WebKitWebResource:mime-type:
- *
- * The MIME type of the web resource.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobject_class,
- PROP_MIME_TYPE,
- g_param_spec_string(
- "mime-type",
- _("MIME Type"),
- _("The MIME type of the resource"),
- NULL,
- WEBKIT_PARAM_READABLE));
- /**
- * WebKitWebResource:encoding:
- *
- * The encoding name to which the web resource was encoded in.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobject_class,
- PROP_ENCODING,
- g_param_spec_string(
- "encoding",
- _("Encoding"),
- _("The text encoding name of the resource"),
- NULL,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebResource:frame-name:
- *
- * The frame name for the web resource.
- *
- * Since: 1.1.14
- */
- g_object_class_install_property(gobject_class,
- PROP_FRAME_NAME,
- g_param_spec_string(
- "frame-name",
- _("Frame Name"),
- _("The frame name of the resource"),
- NULL,
- WEBKIT_PARAM_READABLE));
-
- g_type_class_add_private(gobject_class, sizeof(WebKitWebResourcePrivate));
-}
-
-static void webkit_web_resource_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec)
-{
- WebKitWebResource* webResource = WEBKIT_WEB_RESOURCE(object);
-
- switch (prop_id) {
- case PROP_URI:
- g_value_set_string(value, webkit_web_resource_get_uri(webResource));
- break;
- case PROP_MIME_TYPE:
- g_value_set_string(value, webkit_web_resource_get_mime_type(webResource));
- break;
- case PROP_ENCODING:
- g_value_set_string(value, webkit_web_resource_get_encoding(webResource));
- break;
- case PROP_FRAME_NAME:
- g_value_set_string(value, webkit_web_resource_get_frame_name(webResource));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- break;
- }
-}
-
-static void webkit_web_resource_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec)
-{
- WebKitWebResource* webResource = WEBKIT_WEB_RESOURCE(object);
-
- switch (prop_id) {
- case PROP_URI:
- g_free(webResource->priv->uri);
- webResource->priv->uri = g_value_dup_string(value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- break;
- }
-}
-
-static void webkit_web_resource_init(WebKitWebResource* webResource)
-{
- webResource->priv = G_TYPE_INSTANCE_GET_PRIVATE(webResource, WEBKIT_TYPE_WEB_RESOURCE, WebKitWebResourcePrivate);
-}
-
-// internal use only
-WebKitWebResource* webkit_web_resource_new_with_core_resource(PassRefPtr<ArchiveResource> resource)
-{
- WebKitWebResource* webResource = WEBKIT_WEB_RESOURCE(g_object_new(WEBKIT_TYPE_WEB_RESOURCE, NULL));
- WebKitWebResourcePrivate* priv = webResource->priv;
- priv->resource = resource.leakRef();
-
- return webResource;
-}
-
-void webkit_web_resource_init_with_core_resource(WebKitWebResource* webResource, PassRefPtr<ArchiveResource> resource)
-{
- ASSERT(resource);
-
- WebKitWebResourcePrivate* priv = webResource->priv;
-
- if (priv->resource)
- priv->resource->deref();
-
- priv->resource = resource.leakRef();
-}
-
-/**
- * webkit_web_resource_new:
- * @data: the data to initialize the #WebKitWebResource
- * @size: the length of @data
- * @uri: the URI of the #WebKitWebResource
- * @mime_type: the MIME type of the #WebKitWebResource
- * @encoding: the text encoding name of the #WebKitWebResource
- * @frame_name: the frame name of the #WebKitWebResource
- *
- * Returns a new #WebKitWebResource. The @encoding can be %NULL. The
- * @frame_name argument can be used if the resource represents contents of an
- * entire HTML frame, otherwise pass %NULL.
- *
- * Return value: a new #WebKitWebResource
- *
- * Since: 1.1.14
- */
-WebKitWebResource* webkit_web_resource_new(const gchar* data,
- gssize size,
- const gchar* uri,
- const gchar* mimeType,
- const gchar* encoding,
- const gchar* frameName)
-{
- g_return_val_if_fail(data, NULL);
- g_return_val_if_fail(uri, NULL);
- g_return_val_if_fail(mimeType, NULL);
-
- if (size < 0)
- size = strlen(data);
-
- RefPtr<SharedBuffer> buffer = SharedBuffer::create(data, size);
- WebKitWebResource* webResource = webkit_web_resource_new_with_core_resource(ArchiveResource::create(buffer, KURL(KURL(), String::fromUTF8(uri)), String::fromUTF8(mimeType), String::fromUTF8(encoding), String::fromUTF8(frameName)));
-
- return webResource;
-}
-
-/**
- * webkit_web_resource_get_data:
- * @web_resource: a #WebKitWebResource
- *
- * Returns the data of the @webResource.
- *
- * Return value: (transfer none): a #GString containing the character
- * data of the @webResource. The string is owned by WebKit and should
- * not be freed or destroyed.
- *
- * Since: 1.1.14
- */
-GString* webkit_web_resource_get_data(WebKitWebResource* webResource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_RESOURCE(webResource), NULL);
-
- WebKitWebResourcePrivate* priv = webResource->priv;
-
- if (!priv->resource)
- return NULL;
-
- if (!priv->data)
- priv->data = g_string_new_len(priv->resource->data()->data(), priv->resource->data()->size());
-
- return priv->data;
-}
-
-/**
- * webkit_web_resource_get_uri:
- * @web_resource: a #WebKitWebResource
- *
- * Return value: the URI of the resource
- *
- * Since: 1.1.14
- */
-const gchar* webkit_web_resource_get_uri(WebKitWebResource* webResource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_RESOURCE(webResource), NULL);
-
- WebKitWebResourcePrivate* priv = webResource->priv;
-
-
- // We may have an URI without having a resource assigned to us (e.g., if the
- // FrameLoaderClient only had a ResourceRequest when we got created
- if (priv->uri)
- return priv->uri;
-
- if (!priv->resource)
- return NULL;
-
- priv->uri = g_strdup(priv->resource->url().string().utf8().data());
-
- return priv->uri;
-}
-
-/**
- * webkit_web_resource_get_mime_type:
- * @web_resource: a #WebKitWebResource
- *
- * Return value: the MIME type of the resource
- *
- * Since: 1.1.14
- */
-const gchar* webkit_web_resource_get_mime_type(WebKitWebResource* webResource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_RESOURCE(webResource), NULL);
-
- WebKitWebResourcePrivate* priv = webResource->priv;
- if (!priv->resource)
- return NULL;
-
- if (!priv->mimeType)
- priv->mimeType = g_strdup(priv->resource->mimeType().utf8().data());
-
- return priv->mimeType;
-}
-
-/**
- * webkit_web_resource_get_encoding:
- * @web_resource: a #WebKitWebResource
- *
- * Return value: the encoding name of the resource
- *
- * Since: 1.1.14
- */
-const gchar* webkit_web_resource_get_encoding(WebKitWebResource* webResource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_RESOURCE(webResource), NULL);
-
- WebKitWebResourcePrivate* priv = webResource->priv;
- if (!priv->resource)
- return NULL;
-
- if (!priv->textEncoding)
- priv->textEncoding = g_strdup(priv->resource->textEncoding().utf8().data());
-
- return priv->textEncoding;
-}
-
-/**
- * webkit_web_resource_get_frame_name:
- * @web_resource: a #WebKitWebResource
- *
- * Return value: the frame name of the resource.
- *
- * Since: 1.1.14
- */
-const gchar* webkit_web_resource_get_frame_name(WebKitWebResource* webResource)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_RESOURCE(webResource), NULL);
-
- WebKitWebResourcePrivate* priv = webResource->priv;
- if (!priv->resource)
- return NULL;
-
- if (!priv->frameName)
- priv->frameName = g_strdup(priv->resource->frameName().utf8().data());
-
- return priv->frameName;
-}
-
diff --git a/Source/WebKit/gtk/webkit/webkitwebresource.h b/Source/WebKit/gtk/webkit/webkitwebresource.h
deleted file mode 100644
index 2052cf431..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebresource.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2009 Jan Michael C. Alonzo
- *
- * 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 webkitwebresource_h
-#define webkitwebresource_h
-
-#include <glib.h>
-#include <glib-object.h>
-
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_WEB_RESOURCE (webkit_web_resource_get_type())
-#define WEBKIT_WEB_RESOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_RESOURCE, WebKitWebResource))
-#define WEBKIT_WEB_RESOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_RESOURCE, WebKitWebResourceClass))
-#define WEBKIT_IS_WEB_RESOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_RESOURCE))
-#define WEBKIT_IS_WEB_RESOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_RESOURCE))
-#define WEBKIT_WEB_RESOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_RESOURCE, WebKitWebResourceClass))
-
-typedef struct _WebKitWebResourcePrivate WebKitWebResourcePrivate;
-
-struct _WebKitWebResource {
- GObject parent_instance;
-
- /*< private >*/
- WebKitWebResourcePrivate *priv;
-};
-
-struct _WebKitWebResourceClass {
- 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_web_resource_get_type (void);
-
-WEBKIT_API WebKitWebResource *
-webkit_web_resource_new (const gchar *data,
- gssize size,
- const gchar *uri,
- const gchar *mime_type,
- const gchar *encoding,
- const gchar *frame_name);
-
-WEBKIT_API GString *
-webkit_web_resource_get_data (WebKitWebResource *web_resource);
-
-WEBKIT_API const gchar *
-webkit_web_resource_get_uri (WebKitWebResource *web_resource);
-
-WEBKIT_API const gchar *
-webkit_web_resource_get_mime_type (WebKitWebResource *web_resource);
-
-WEBKIT_API const gchar *
-webkit_web_resource_get_encoding (WebKitWebResource *web_resource);
-
-WEBKIT_API const gchar *
-webkit_web_resource_get_frame_name (WebKitWebResource *web_resource);
-
-G_END_DECLS
-
-#endif /* webkitwebresource_h */
diff --git a/Source/WebKit/gtk/webkit/webkitwebresourceprivate.h b/Source/WebKit/gtk/webkit/webkitwebresourceprivate.h
deleted file mode 100644
index 2ae3d0565..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebresourceprivate.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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/Source/WebKit/gtk/webkit/webkitwebsettings.cpp b/Source/WebKit/gtk/webkit/webkitwebsettings.cpp
deleted file mode 100644
index 22ce6bb36..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebsettings.cpp
+++ /dev/null
@@ -1,1653 +0,0 @@
-/*
- * Copyright (C) 2008 Christian Dywan <christian@imendio.com>
- * Copyright (C) 2008 Nuanti Ltd.
- * Copyright (C) 2008 Collabora Ltd.
- * Copyright (C) 2008 Holger Hans Peter Freyther
- * Copyright (C) 2009 Jan Michael Alonzo
- * Copyright (C) 2009 Movial Creative Technologies Inc.
- * Copyright (C) 2009 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 "config.h"
-#include "webkitwebsettings.h"
-
-#include "EditingBehavior.h"
-#include "FileSystem.h"
-#include "KURL.h"
-#include "PluginDatabase.h"
-#include "UserAgentGtk.h"
-#include "webkitenumtypes.h"
-#include "webkitglobalsprivate.h"
-#include "webkitversion.h"
-#include "webkitwebsettingsprivate.h"
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/StringConcatenate.h>
-#include <glib/gi18n-lib.h>
-
-/**
- * SECTION:webkitwebsettings
- * @short_description: Control the behaviour of a #WebKitWebView
- *
- * #WebKitWebSettings can be applied to a #WebKitWebView to control text encoding,
- * color, font sizes, printing mode, script support, loading of images and various other things.
- * After creation, a #WebKitWebSettings object contains default settings.
- *
- * <informalexample><programlisting>
- * /<!-- -->* Create a new websettings and disable java script *<!-- -->/
- * WebKitWebSettings *settings = webkit_web_settings_new ();
- * g_object_set (G_OBJECT(settings), "enable-scripts", FALSE, NULL);
- *
- * /<!-- -->* Apply the result *<!-- -->/
- * webkit_web_view_set_settings (WEBKIT_WEB_VIEW(my_webview), settings);
- * </programlisting></informalexample>
- */
-
-using namespace WebCore;
-
-G_DEFINE_TYPE(WebKitWebSettings, webkit_web_settings, G_TYPE_OBJECT)
-
-enum {
- PROP_0,
-
- PROP_DEFAULT_ENCODING,
- PROP_CURSIVE_FONT_FAMILY,
- PROP_DEFAULT_FONT_FAMILY,
- PROP_FANTASY_FONT_FAMILY,
- PROP_MONOSPACE_FONT_FAMILY,
- PROP_SANS_SERIF_FONT_FAMILY,
- PROP_SERIF_FONT_FAMILY,
- PROP_DEFAULT_FONT_SIZE,
- PROP_DEFAULT_MONOSPACE_FONT_SIZE,
- PROP_MINIMUM_FONT_SIZE,
- PROP_MINIMUM_LOGICAL_FONT_SIZE,
- PROP_ENFORCE_96_DPI,
- PROP_AUTO_LOAD_IMAGES,
- PROP_AUTO_SHRINK_IMAGES,
- PROP_RESPECT_IMAGE_ORIENTATION,
- PROP_PRINT_BACKGROUNDS,
- PROP_ENABLE_SCRIPTS,
- PROP_ENABLE_PLUGINS,
- PROP_RESIZABLE_TEXT_AREAS,
- PROP_USER_STYLESHEET_URI,
- PROP_ZOOM_STEP,
- PROP_ENABLE_DEVELOPER_EXTRAS,
- PROP_ENABLE_PRIVATE_BROWSING,
- PROP_ENABLE_SPELL_CHECKING,
- PROP_SPELL_CHECKING_LANGUAGES,
- PROP_ENABLE_CARET_BROWSING,
- PROP_ENABLE_HTML5_DATABASE,
- PROP_ENABLE_HTML5_LOCAL_STORAGE,
- PROP_HTML5_LOCAL_STORAGE_DATABASE_PATH,
- PROP_ENABLE_XSS_AUDITOR,
- PROP_ENABLE_SPATIAL_NAVIGATION,
- PROP_ENABLE_FRAME_FLATTENING,
- PROP_USER_AGENT,
- PROP_JAVASCRIPT_CAN_OPEN_WINDOWS_AUTOMATICALLY,
- PROP_JAVASCRIPT_CAN_ACCESS_CLIPBOARD,
- PROP_ENABLE_OFFLINE_WEB_APPLICATION_CACHE,
- PROP_EDITING_BEHAVIOR,
- PROP_ENABLE_UNIVERSAL_ACCESS_FROM_FILE_URIS,
- PROP_ENABLE_FILE_ACCESS_FROM_FILE_URIS,
- PROP_ENABLE_DOM_PASTE,
- PROP_TAB_KEY_CYCLES_THROUGH_ELEMENTS,
- PROP_ENABLE_DEFAULT_CONTEXT_MENU,
- PROP_ENABLE_SITE_SPECIFIC_QUIRKS,
- PROP_ENABLE_PAGE_CACHE,
- PROP_AUTO_RESIZE_WINDOW,
- PROP_ENABLE_JAVA_APPLET,
- PROP_ENABLE_HYPERLINK_AUDITING,
- PROP_ENABLE_FULLSCREEN,
- PROP_ENABLE_DNS_PREFETCHING,
- PROP_ENABLE_WEBGL,
- PROP_ENABLE_MEDIA_STREAM,
- PROP_ENABLE_WEB_AUDIO,
- PROP_ENABLE_ACCELERATED_COMPOSITING,
- PROP_ENABLE_SMOOTH_SCROLLING,
- PROP_MEDIA_PLAYBACK_REQUIRES_USER_GESTURE,
- PROP_MEDIA_PLAYBACK_ALLOWS_INLINE,
- PROP_ENABLE_CSS_SHADERS,
- PROP_ENABLE_RUNNING_OF_INSECURE_CONTENT,
- PROP_ENABLE_DISPLAY_OF_INSECURE_CONTENT
-};
-
-static void webkit_web_settings_finalize(GObject* object);
-
-static void webkit_web_settings_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec);
-
-static void webkit_web_settings_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec);
-
-static void webkit_web_settings_class_init(WebKitWebSettingsClass* klass)
-{
- GObjectClass* gobject_class = G_OBJECT_CLASS(klass);
- gobject_class->finalize = webkit_web_settings_finalize;
- gobject_class->set_property = webkit_web_settings_set_property;
- gobject_class->get_property = webkit_web_settings_get_property;
-
- webkitInit();
-
- GParamFlags flags = (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT);
-
- g_object_class_install_property(gobject_class,
- PROP_DEFAULT_ENCODING,
- g_param_spec_string(
- "default-encoding",
- _("Default Encoding"),
- _("The default encoding used to display text."),
- "iso-8859-1",
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_CURSIVE_FONT_FAMILY,
- g_param_spec_string(
- "cursive-font-family",
- _("Cursive Font Family"),
- _("The default Cursive font family used to display text."),
- "serif",
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_DEFAULT_FONT_FAMILY,
- g_param_spec_string(
- "default-font-family",
- _("Default Font Family"),
- _("The default font family used to display text."),
- "sans-serif",
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_FANTASY_FONT_FAMILY,
- g_param_spec_string(
- "fantasy-font-family",
- _("Fantasy Font Family"),
- _("The default Fantasy font family used to display text."),
- "serif",
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_MONOSPACE_FONT_FAMILY,
- g_param_spec_string(
- "monospace-font-family",
- _("Monospace Font Family"),
- _("The default font family used to display monospace text."),
- "monospace",
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_SANS_SERIF_FONT_FAMILY,
- g_param_spec_string(
- "sans-serif-font-family",
- _("Sans Serif Font Family"),
- _("The default Sans Serif font family used to display text."),
- "sans-serif",
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_SERIF_FONT_FAMILY,
- g_param_spec_string(
- "serif-font-family",
- _("Serif Font Family"),
- _("The default Serif font family used to display text."),
- "serif",
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_DEFAULT_FONT_SIZE,
- g_param_spec_int(
- "default-font-size",
- _("Default Font Size"),
- _("The default font size used to display text."),
- 5, G_MAXINT, 12,
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_DEFAULT_MONOSPACE_FONT_SIZE,
- g_param_spec_int(
- "default-monospace-font-size",
- _("Default Monospace Font Size"),
- _("The default font size used to display monospace text."),
- 5, G_MAXINT, 10,
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_MINIMUM_FONT_SIZE,
- g_param_spec_int(
- "minimum-font-size",
- _("Minimum Font Size"),
- _("The minimum font size used to display text."),
- 0, G_MAXINT, 5,
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_MINIMUM_LOGICAL_FONT_SIZE,
- g_param_spec_int(
- "minimum-logical-font-size",
- _("Minimum Logical Font Size"),
- _("The minimum logical font size used to display text."),
- 1, G_MAXINT, 5,
- flags));
-
- /**
- * WebKitWebSettings:enforce-96-dpi:
- *
- * Enforce a resolution of 96 DPI. This is meant for compatibility
- * with web pages which cope badly with different screen resolutions
- * and for automated testing.
- * Web browsers and applications that typically display arbitrary
- * content from the web should provide a preference for this.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class,
- PROP_ENFORCE_96_DPI,
- g_param_spec_boolean(
- "enforce-96-dpi",
- _("Enforce 96 DPI"),
- _("Enforce a resolution of 96 DPI"),
- FALSE,
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_AUTO_LOAD_IMAGES,
- g_param_spec_boolean(
- "auto-load-images",
- _("Auto Load Images"),
- _("Load images automatically."),
- TRUE,
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_AUTO_SHRINK_IMAGES,
- g_param_spec_boolean(
- "auto-shrink-images",
- _("Auto Shrink Images"),
- _("Automatically shrink standalone images to fit."),
- TRUE,
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_RESPECT_IMAGE_ORIENTATION,
- g_param_spec_boolean(
- "respect-image-orientation",
- _("Respect Image Orientation"),
- _("Whether WebKit should respect image orientation."),
- FALSE,
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_PRINT_BACKGROUNDS,
- g_param_spec_boolean(
- "print-backgrounds",
- _("Print Backgrounds"),
- _("Whether background images should be printed."),
- TRUE,
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_SCRIPTS,
- g_param_spec_boolean(
- "enable-scripts",
- _("Enable Scripts"),
- _("Enable embedded scripting languages."),
- TRUE,
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_PLUGINS,
- g_param_spec_boolean(
- "enable-plugins",
- _("Enable Plugins"),
- _("Enable embedded plugin objects."),
- TRUE,
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_RESIZABLE_TEXT_AREAS,
- g_param_spec_boolean(
- "resizable-text-areas",
- _("Resizable Text Areas"),
- _("Whether text areas are resizable."),
- TRUE,
- flags));
-
- g_object_class_install_property(gobject_class,
- PROP_USER_STYLESHEET_URI,
- g_param_spec_string("user-stylesheet-uri",
- _("User Stylesheet URI"),
- _("The URI of a stylesheet that is applied to every page."),
- 0,
- flags));
-
- /**
- * WebKitWebSettings:zoom-step:
- *
- * The value by which the zoom level is changed when zooming in or out.
- *
- * Since: 1.0.1
- */
- g_object_class_install_property(gobject_class,
- PROP_ZOOM_STEP,
- g_param_spec_float(
- "zoom-step",
- _("Zoom Stepping Value"),
- _("The value by which the zoom level is changed when zooming in or out."),
- 0.0f, G_MAXFLOAT, 0.1f,
- flags));
-
- /**
- * WebKitWebSettings:enable-developer-extras:
- *
- * Whether developer extensions should be enabled. This enables,
- * for now, the Web Inspector, which can be controlled using the
- * #WebKitWebInspector instance held by the #WebKitWebView this
- * setting is enabled for.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_DEVELOPER_EXTRAS,
- g_param_spec_boolean(
- "enable-developer-extras",
- _("Enable Developer Extras"),
- _("Enables special extensions that help developers"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:enable-private-browsing:
- *
- * Whether to enable private browsing mode. Private browsing mode prevents
- * WebKit from updating the global history and storing any session
- * information e.g., on-disk cache, as well as suppressing any messages
- * from being printed into the (javascript) console.
- *
- * This is currently experimental for WebKitGtk.
- *
- * Since: 1.1.2
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_PRIVATE_BROWSING,
- g_param_spec_boolean(
- "enable-private-browsing",
- _("Enable Private Browsing"),
- _("Enables private browsing mode"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:enable-spell-checking:
- *
- * Whether to enable spell checking while typing.
- *
- * Since: 1.1.6
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_SPELL_CHECKING,
- g_param_spec_boolean(
- "enable-spell-checking",
- _("Enable Spell Checking"),
- _("Enables spell checking while typing"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:spell-checking-languages:
- *
- * The languages to be used for spell checking, separated by commas.
- *
- * The locale string typically is in the form lang_COUNTRY, where lang
- * is an ISO-639 language code, and COUNTRY is an ISO-3166 country code.
- * For instance, sv_FI for Swedish as written in Finland or pt_BR
- * for Portuguese as written in Brazil.
- *
- * If no value is specified then the value returned by
- * gtk_get_default_language will be used.
- *
- * Since: 1.1.6
- */
- g_object_class_install_property(gobject_class,
- PROP_SPELL_CHECKING_LANGUAGES,
- g_param_spec_string(
- "spell-checking-languages",
- _("Languages to use for spell checking"),
- _("Comma separated list of languages to use for spell checking"),
- 0,
- flags));
-
- /**
- * WebKitWebSettings:enable-caret-browsing:
- *
- * Whether to enable caret browsing mode.
- *
- * Since: 1.1.6
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_CARET_BROWSING,
- g_param_spec_boolean("enable-caret-browsing",
- _("Enable Caret Browsing"),
- _("Whether to enable accessibility enhanced keyboard navigation"),
- FALSE,
- flags));
- /**
- * WebKitWebSettings:enable-html5-database:
- *
- * Whether to enable HTML5 client-side SQL database support. Client-side
- * SQL database allows web pages to store structured data and be able to
- * use SQL to manipulate that data asynchronously.
- *
- * Since: 1.1.8
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_HTML5_DATABASE,
- g_param_spec_boolean("enable-html5-database",
- _("Enable HTML5 Database"),
- _("Whether to enable HTML5 database support"),
- TRUE,
- flags));
-
- /**
- * WebKitWebSettings:enable-html5-local-storage:
- *
- * Whether to enable HTML5 localStorage support. localStorage provides
- * simple synchronous storage access.
- *
- * Since: 1.1.8
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_HTML5_LOCAL_STORAGE,
- g_param_spec_boolean("enable-html5-local-storage",
- _("Enable HTML5 Local Storage"),
- _("Whether to enable HTML5 Local Storage support"),
- TRUE,
- flags));
- /**
- * WebKitWebSettings:html5-local-storage-database-path:
- *
- * Path to store persistent HTML5 localStorage databases, which are enabled by
- * "enable-html5-local-storage". The default path is $XDG_DATA_HOME/webkit/databases/.
- *
- * Since: 1.5.2
- */
- GOwnPtr<gchar> localStoragePath(g_build_filename(g_get_user_data_dir(), "webkit", "databases", NULL));
- g_object_class_install_property(gobject_class,
- PROP_HTML5_LOCAL_STORAGE_DATABASE_PATH,
- g_param_spec_string("html5-local-storage-database-path",
- _("Local Storage Database Path"),
- _("The path to where HTML5 Local Storage databases are stored."),
- localStoragePath.get(),
- flags));
- /**
- * WebKitWebSettings:enable-xss-auditor:
- *
- * Whether to enable the XSS Auditor. This feature filters some kinds of
- * reflective XSS attacks on vulnerable web sites.
- *
- * Since: 1.1.11
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_XSS_AUDITOR,
- g_param_spec_boolean("enable-xss-auditor",
- _("Enable XSS Auditor"),
- _("Whether to enable the XSS auditor"),
- TRUE,
- flags));
- /**
- * WebKitWebSettings:enable-spatial-navigation:
- *
- * Whether to enable the Spatial Navigation. This feature consists in the ability
- * to navigate between focusable elements in a Web page, such as hyperlinks and
- * form controls, by using Left, Right, Up and Down arrow keys. For example, if
- * an user presses the Right key, heuristics determine whether there is an element
- * he might be trying to reach towards the right, and if there are multiple elements,
- * which element he probably wants.
- *
- * Since: 1.1.23
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_SPATIAL_NAVIGATION,
- g_param_spec_boolean("enable-spatial-navigation",
- _("Enable Spatial Navigation"),
- _("Whether to enable Spatial Navigation"),
- FALSE,
- flags));
- /**
- * WebKitWebSettings:enable-frame-flattening:
- *
- * Whether to enable the Frame Flattening. With this setting each subframe is expanded
- * to its contents, which will flatten all the frames to become one scrollable page.
- * On touch devices, it is desired to not have any scrollable sub parts of the page as
- * it results in a confusing user experience, with scrolling sometimes scrolling sub parts
- * and at other times scrolling the page itself. For this reason iframes and framesets are
- * barely usable on touch devices.
- *
- * Since: 1.3.5
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_FRAME_FLATTENING,
- g_param_spec_boolean("enable-frame-flattening",
- _("Enable Frame Flattening"),
- _("Whether to enable Frame Flattening"),
- FALSE,
- flags));
- /**
- * WebKitWebSettings:user-agent:
- *
- * The User-Agent string used by WebKitGtk.
- *
- * This will return a default User-Agent string if a custom string wasn't
- * provided by the application. Setting this property to a NULL value or
- * an empty string will result in the User-Agent string being reset to the
- * default value.
- *
- * Since: 1.1.11
- */
- g_object_class_install_property(gobject_class, PROP_USER_AGENT,
- g_param_spec_string("user-agent",
- _("User Agent"),
- _("The User-Agent string used by WebKitGtk"),
- "", // An empty string means the default user-agent.
- flags));
-
- /**
- * WebKitWebSettings:javascript-can-open-windows-automatically:
- *
- * Whether JavaScript can open popup windows automatically without user
- * intervention.
- *
- * Since: 1.1.11
- */
- g_object_class_install_property(gobject_class,
- PROP_JAVASCRIPT_CAN_OPEN_WINDOWS_AUTOMATICALLY,
- g_param_spec_boolean("javascript-can-open-windows-automatically",
- _("JavaScript can open windows automatically"),
- _("Whether JavaScript can open windows automatically"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:javascript-can-access-clipboard:
- *
- * Whether JavaScript can access Clipboard.
- *
- * Since: 1.3.0
- */
- g_object_class_install_property(gobject_class,
- PROP_JAVASCRIPT_CAN_ACCESS_CLIPBOARD,
- g_param_spec_boolean("javascript-can-access-clipboard",
- _("JavaScript can access Clipboard"),
- _("Whether JavaScript can access Clipboard"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:enable-offline-web-application-cache:
- *
- * Whether to enable HTML5 offline web application cache support. Offline
- * Web Application Cache ensures web applications are available even when
- * the user is not connected to the network.
- *
- * Since: 1.1.13
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_OFFLINE_WEB_APPLICATION_CACHE,
- g_param_spec_boolean("enable-offline-web-application-cache",
- _("Enable offline web application cache"),
- _("Whether to enable offline web application cache"),
- TRUE,
- flags));
-
-
- /**
- * WebKitWebSettings:editing-behavior:
- *
- * This setting controls various editing behaviors that differ
- * between platforms and that have been combined in two groups,
- * 'Mac' and 'Windows'. Some examples:
- *
- * 1) Clicking below the last line of an editable area puts the
- * caret at the end of the last line on Mac, but in the middle of
- * the last line on Windows.
- *
- * 2) Pushing down the arrow key on the last line puts the caret
- * at the end of the last line on Mac, but does nothing on
- * Windows. A similar case exists on the top line.
- *
- * Since: 1.1.13
- */
- g_object_class_install_property(gobject_class,
- PROP_EDITING_BEHAVIOR,
- g_param_spec_enum("editing-behavior",
- _("Editing behavior"),
- _("The behavior mode to use in editing mode"),
- WEBKIT_TYPE_EDITING_BEHAVIOR,
- WEBKIT_EDITING_BEHAVIOR_UNIX,
- flags));
-
- /**
- * WebKitWebSettings:enable-universal-access-from-file-uris:
- *
- * Whether to allow files loaded through file:// URIs universal access to
- * all pages.
- *
- * Since: 1.1.13
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_UNIVERSAL_ACCESS_FROM_FILE_URIS,
- g_param_spec_boolean("enable-universal-access-from-file-uris",
- _("Enable universal access from file URIs"),
- _("Whether to allow universal access from file URIs"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:enable-dom-paste:
- *
- * Whether to enable DOM paste. If set to %TRUE, document.execCommand("Paste")
- * will correctly execute and paste content of the clipboard.
- *
- * Since: 1.1.16
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_DOM_PASTE,
- g_param_spec_boolean("enable-dom-paste",
- _("Enable DOM paste"),
- _("Whether to enable DOM paste"),
- FALSE,
- flags));
- /**
- * WebKitWebSettings:tab-key-cycles-through-elements:
- *
- * Whether the tab key cycles through elements on the page.
- *
- * If @flag is %TRUE, pressing the tab key will focus the next element in
- * the @web_view. If @flag is %FALSE, the @web_view will interpret tab
- * key presses as normal key presses. If the selected element is editable, the
- * tab key will cause the insertion of a tab character.
- *
- * Since: 1.1.17
- */
- g_object_class_install_property(gobject_class,
- PROP_TAB_KEY_CYCLES_THROUGH_ELEMENTS,
- g_param_spec_boolean("tab-key-cycles-through-elements",
- _("Tab key cycles through elements"),
- _("Whether the tab key cycles through elements on the page."),
- TRUE,
- flags));
-
- /**
- * WebKitWebSettings:enable-default-context-menu:
- *
- * Whether right-clicks should be handled automatically to create,
- * and display the context menu. Turning this off will make
- * WebKitGTK+ not emit the populate-popup signal. Notice that the
- * default button press event handler may still handle right
- * clicks for other reasons, such as in-page context menus, or
- * right-clicks that are handled by the page itself.
- *
- * Since: 1.1.18
- *
- * Deprecated: 1.10: Use #WebKitWebView::context-menu signal instead.
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_DEFAULT_CONTEXT_MENU,
- g_param_spec_boolean(
- "enable-default-context-menu",
- _("Enable Default Context Menu"),
- _("Enables the handling of right-clicks for the creation of the default context menu"),
- TRUE,
- flags));
-
- /**
- * WebKitWebSettings::enable-site-specific-quirks:
- *
- * Whether to turn on site-specific hacks. Turning this on will
- * tell WebKitGTK+ to use some site-specific workarounds for
- * better web compatibility. For example, older versions of
- * MediaWiki will incorrectly send WebKit a css file with KHTML
- * workarounds. By turning on site-specific quirks, WebKit will
- * special-case this and other cases to make the sites work.
- *
- * Since: 1.1.18
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_SITE_SPECIFIC_QUIRKS,
- g_param_spec_boolean(
- "enable-site-specific-quirks",
- _("Enable Site Specific Quirks"),
- _("Enables the site-specific compatibility workarounds"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:enable-page-cache:
- *
- * Enable or disable the page cache. Disabling the page cache is
- * generally only useful for special circumstances like low-memory
- * scenarios or special purpose applications like static HTML
- * viewers. This setting only controls the Page Cache, this cache
- * is different than the disk-based or memory-based traditional
- * resource caches, its point is to make going back and forth
- * between pages much faster. For details about the different types
- * of caches and their purposes see:
- * http://webkit.org/blog/427/webkit-page-cache-i-the-basics/
- *
- * Since: 1.1.18
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_PAGE_CACHE,
- g_param_spec_boolean("enable-page-cache",
- _("Enable page cache"),
- _("Whether the page cache should be used"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:auto-resize-window:
- *
- * Web pages can request to modify the size and position of the
- * window containing the #WebKitWebView through various DOM methods
- * (resizeTo, moveTo, resizeBy, moveBy). By default WebKit will not
- * honor this requests, but you can set this property to %TRUE if
- * you'd like it to do so. If you wish to handle this manually, you
- * can connect to the notify signal for the
- * #WebKitWebWindowFeatures of your #WebKitWebView.
- *
- * Since: 1.1.22
- */
- g_object_class_install_property(gobject_class,
- PROP_AUTO_RESIZE_WINDOW,
- g_param_spec_boolean("auto-resize-window",
- _("Auto Resize Window"),
- _("Automatically resize the toplevel window when a page requests it"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:enable-file-access-from-file-uris:
- *
- * Boolean property to control file access for file:// URIs. If this
- * option is enabled every file:// will have its own security unique domain.
- *
- * Since: 1.1.22
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_FILE_ACCESS_FROM_FILE_URIS,
- g_param_spec_boolean("enable-file-access-from-file-uris",
- "Enable file access from file URIs",
- "Controls file access for file:// URIs.",
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:enable-java-applet:
- *
- * Enable or disable support for the Java &lt;applet&gt; tag. Keep in
- * mind that Java content can be still shown in the page through
- * &lt;object&gt; or &lt;embed&gt;, which are the preferred tags for this task.
- *
- * Since: 1.1.22
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_JAVA_APPLET,
- g_param_spec_boolean("enable-java-applet",
- _("Enable Java Applet"),
- _("Whether Java Applet support through <applet> should be enabled"),
- TRUE,
- flags));
-
- /**
- * WebKitWebSettings:enable-hyperlink-auditing:
- *
- * Enable or disable support for &lt;a ping&gt;.
- *
- * Since: 1.2.5
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_HYPERLINK_AUDITING,
- g_param_spec_boolean("enable-hyperlink-auditing",
- _("Enable Hyperlink Auditing"),
- _("Whether <a ping> should be able to send pings"),
- 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));
- /**
- * WebKitWebSettings:enable-webgl:
- *
- * Enable or disable support for WebGL on pages. WebGL is an experimental
- * proposal for allowing web pages to use OpenGL ES-like calls directly. The
- * standard is currently a work-in-progress by the Khronos Group.
- *
- * Since: 1.3.14
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_WEBGL,
- g_param_spec_boolean("enable-webgl",
- _("Enable WebGL"),
- _("Whether WebGL content should be rendered"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:enable-accelerated-compositing:
- *
- * Enable or disable support for accelerated compositing on pages. Accelerated
- * compositing uses the GPU to render animations on pages smoothly and also allows
- * proper rendering of 3D CSS transforms.
- *
- * Since: 1.7.5
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_ACCELERATED_COMPOSITING,
- g_param_spec_boolean("enable-accelerated-compositing",
- _("Enable accelerated compositing"),
- _("Whether accelerated compositing should be enabled"),
- FALSE,
- flags));
- /**
- * WebKitWebSettings:enable-webaudio:
- *
- * Enable or disable support for WebAudio on pages. WebAudio is an
- * experimental proposal for allowing web pages to generate Audio
- * WAVE data from JavaScript. The standard is currently a
- * work-in-progress by the W3C Audio Working Group.
- *
- * See also https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
- *
- * Since: TODO
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_WEB_AUDIO,
- g_param_spec_boolean("enable-webaudio",
- _("Enable WebAudio"),
- _("Whether WebAudio content should be handled"),
- FALSE,
- flags));
-
-
- /**
- * WebKitWebSettings:enable-dns-prefetching:
- *
- * Whether webkit prefetches domain names. This is a separate knob from private browsing.
- * Whether private browsing should set this or not is up for debate, for now it doesn't.
- *
- * Since: 1.3.13.
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_DNS_PREFETCHING,
- g_param_spec_boolean("enable-dns-prefetching",
- _("WebKit prefetches domain names"),
- _("Whether WebKit prefetches domain names"),
- TRUE,
- flags));
- /**
- * WebKitWebSettings:enable-media-stream:
- *
- * Enable or disable support for Media Stream on pages. Media Stream is
- * an experimental proposal for allowing web pages to access local video and
- * audio input devices. The standard is currently a work-in-progress as part
- * of the Web Applications 1.0 specification from WHATWG.
- *
- * See also http://www.w3.org/TR/mediacapture-streams/
- *
- * Since: 1.10.0
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_MEDIA_STREAM,
- g_param_spec_boolean("enable-media-stream",
- _("Enable Media Stream"),
- _("Whether Media Stream should be enabled"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:enable-smooth-scrolling:
- *
- * Enable or disable support for smooth scrolling. The current implementation relies upon
- * CPU work to produce a smooth scrolling experience.
- *
- * Since: 1.9.0
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_SMOOTH_SCROLLING,
- g_param_spec_boolean("enable-smooth-scrolling",
- _("Enable smooth scrolling"),
- _("Whether to enable smooth scrolling"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:media-playback-requires-user-gesture:
- *
- * Whether a user gesture (such as clicking the play button) would
- * be required to start media playback or load media. This is off
- * by default, so media playback could start automatically. Setting
- * it on requires a gesture by the user to start playback, or to load
- * the media.
- *
- * Since: 1.10.0
- */
- g_object_class_install_property(gobject_class,
- PROP_MEDIA_PLAYBACK_REQUIRES_USER_GESTURE,
- g_param_spec_boolean("media-playback-requires-user-gesture",
- _("Media playback requires user gesture"),
- _("Whether media playback requires user gesture"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:media-playback-allows-inline:
- *
- * Whether media playback is full-screen only or inline playback is allowed.
- * This is true by default, so media playback can be inline. Setting it to
- * false allows specifying that media playback should be always fullscreen.
- *
- * Since: 1.10.0
- */
- g_object_class_install_property(gobject_class,
- PROP_MEDIA_PLAYBACK_ALLOWS_INLINE,
- g_param_spec_boolean("media-playback-allows-inline",
- _("Media playback allows inline"),
- _("Whether media playback allows inline"),
- TRUE,
- flags));
-
- /**
- * WebKitWebSettings:enable-css-shaders:
- *
- * Enable or disable support for css shaders (css custom filters).
- * Accelerated compositing needs to be enabled at compile time, but needs
- * not be enabled at runtime.
- *
- * See also https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html
- *
- * Since: 2.0
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_CSS_SHADERS,
- g_param_spec_boolean("enable-css-shaders",
- _("Enable CSS shaders"),
- _("Whether to enable css shaders"),
- FALSE,
- flags));
-
- /**
- * WebKitWebSettings:enable-display-of-insecure-content:
- *
- * Whether pages loaded via HTTPS should load subresources such as
- * images and frames from non-HTTPS URLs.
- *
- * Since: 2.0
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_DISPLAY_OF_INSECURE_CONTENT,
- g_param_spec_boolean("enable-display-of-insecure-content",
- _("Enable display of insecure content"),
- _("Whether non-HTTPS resources can display on HTTPS pages."),
- TRUE,
- flags));
-
- /**
- * WebKitWebSettings:enable-running-of-insecure-content:
- *
- * Whether pages loaded via HTTPS should run subresources such as
- * CSS, scripts, and plugins from non-HTTPS URLs.
- *
- * Since: 2.0
- */
- g_object_class_install_property(gobject_class,
- PROP_ENABLE_RUNNING_OF_INSECURE_CONTENT,
- g_param_spec_boolean("enable-running-of-insecure-content",
- _("Enable running of insecure content"),
- _("Whether non-HTTPS resources can run on HTTPS pages."),
- TRUE,
- flags));
-}
-
-static void webkit_web_settings_init(WebKitWebSettings* web_settings)
-{
- web_settings->priv = new WebKitWebSettingsPrivate;
-}
-
-static void webkit_web_settings_finalize(GObject* object)
-{
- delete WEBKIT_WEB_SETTINGS(object)->priv;
- G_OBJECT_CLASS(webkit_web_settings_parent_class)->finalize(object);
-}
-
-static void webkit_web_settings_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec)
-{
- WebKitWebSettings* web_settings = WEBKIT_WEB_SETTINGS(object);
- WebKitWebSettingsPrivate* priv = web_settings->priv;
-
- switch(prop_id) {
- case PROP_DEFAULT_ENCODING:
- priv->defaultEncoding = g_value_get_string(value);
- break;
- case PROP_CURSIVE_FONT_FAMILY:
- priv->cursiveFontFamily = g_value_get_string(value);
- break;
- case PROP_DEFAULT_FONT_FAMILY:
- priv->defaultFontFamily = g_value_get_string(value);
- break;
- case PROP_FANTASY_FONT_FAMILY:
- priv->fantasyFontFamily = g_value_get_string(value);
- break;
- case PROP_MONOSPACE_FONT_FAMILY:
- priv->monospaceFontFamily = g_value_get_string(value);
- break;
- case PROP_SANS_SERIF_FONT_FAMILY:
- priv->sansSerifFontFamily = g_value_get_string(value);
- break;
- case PROP_SERIF_FONT_FAMILY:
- priv->serifFontFamily = g_value_get_string(value);
- break;
- case PROP_DEFAULT_FONT_SIZE:
- priv->defaultFontSize = g_value_get_int(value);
- break;
- case PROP_DEFAULT_MONOSPACE_FONT_SIZE:
- priv->defaultMonospaceFontSize = g_value_get_int(value);
- break;
- case PROP_MINIMUM_FONT_SIZE:
- priv->minimumFontSize = g_value_get_int(value);
- break;
- case PROP_MINIMUM_LOGICAL_FONT_SIZE:
- priv->minimumLogicalFontSize = g_value_get_int(value);
- break;
- case PROP_ENFORCE_96_DPI:
- priv->enforce96DPI = g_value_get_boolean(value);
- break;
- case PROP_AUTO_LOAD_IMAGES:
- priv->autoLoadImages = g_value_get_boolean(value);
- break;
- case PROP_AUTO_SHRINK_IMAGES:
- priv->autoShrinkImages = g_value_get_boolean(value);
- break;
- case PROP_RESPECT_IMAGE_ORIENTATION:
- priv->respectImageOrientation = g_value_get_boolean(value);
- break;
- case PROP_PRINT_BACKGROUNDS:
- priv->printBackgrounds = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_SCRIPTS:
- priv->enableScripts = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_PLUGINS:
- priv->enablePlugins = g_value_get_boolean(value);
- break;
- case PROP_RESIZABLE_TEXT_AREAS:
- priv->resizableTextAreas = g_value_get_boolean(value);
- break;
- case PROP_USER_STYLESHEET_URI:
- priv->userStylesheetURI = g_value_get_string(value);
- break;
- case PROP_ZOOM_STEP:
- priv->zoomStep = g_value_get_float(value);
- break;
- case PROP_ENABLE_DEVELOPER_EXTRAS:
- priv->enableDeveloperExtras = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_PRIVATE_BROWSING:
- priv->enablePrivateBrowsing = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_CARET_BROWSING:
- priv->enableCaretBrowsing = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_HTML5_DATABASE:
- priv->enableHTML5Database = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_HTML5_LOCAL_STORAGE:
- priv->enableHTML5LocalStorage = g_value_get_boolean(value);
- break;
- case PROP_HTML5_LOCAL_STORAGE_DATABASE_PATH:
- priv->html5LocalStorageDatabasePath = g_value_get_string(value);
- break;
- case PROP_ENABLE_SPELL_CHECKING:
- priv->enableSpellChecking = g_value_get_boolean(value);
- break;
- case PROP_SPELL_CHECKING_LANGUAGES:
- priv->spellCheckingLanguages = g_value_get_string(value);
- break;
- case PROP_ENABLE_XSS_AUDITOR:
- priv->enableXSSAuditor = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_SPATIAL_NAVIGATION:
- priv->enableSpatialNavigation = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_FRAME_FLATTENING:
- priv->enableFrameFlattening = g_value_get_boolean(value);
- break;
- case PROP_USER_AGENT:
- if (!g_value_get_string(value) || !strlen(g_value_get_string(value)))
- priv->userAgent = standardUserAgent().utf8();
- else
- priv->userAgent = g_value_get_string(value);
- break;
- case PROP_JAVASCRIPT_CAN_OPEN_WINDOWS_AUTOMATICALLY:
- priv->javascriptCanOpenWindowsAutomatically = g_value_get_boolean(value);
- break;
- case PROP_JAVASCRIPT_CAN_ACCESS_CLIPBOARD:
- priv->javascriptCanAccessClipboard = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_OFFLINE_WEB_APPLICATION_CACHE:
- priv->enableOfflineWebApplicationCache = g_value_get_boolean(value);
- break;
- case PROP_EDITING_BEHAVIOR:
- priv->editingBehavior = static_cast<WebKitEditingBehavior>(g_value_get_enum(value));
- break;
- case PROP_ENABLE_UNIVERSAL_ACCESS_FROM_FILE_URIS:
- priv->enableUniversalAccessFromFileURIs = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_FILE_ACCESS_FROM_FILE_URIS:
- priv->enableFileAccessFromFileURIs = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_DOM_PASTE:
- priv->enableDOMPaste = g_value_get_boolean(value);
- break;
- case PROP_TAB_KEY_CYCLES_THROUGH_ELEMENTS:
- priv->tabKeyCyclesThroughElements = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_DEFAULT_CONTEXT_MENU:
- priv->enableDefaultContextMenu = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_SITE_SPECIFIC_QUIRKS:
- priv->enableSiteSpecificQuirks = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_PAGE_CACHE:
- priv->enablePageCache = g_value_get_boolean(value);
- break;
- case PROP_AUTO_RESIZE_WINDOW:
- priv->autoResizeWindow = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_JAVA_APPLET:
- priv->enableJavaApplet = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_HYPERLINK_AUDITING:
- priv->enableHyperlinkAuditing = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_FULLSCREEN:
- priv->enableFullscreen = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_DNS_PREFETCHING:
- priv->enableDNSPrefetching = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_WEBGL:
- priv->enableWebgl = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_MEDIA_STREAM:
- priv->enableMediaStream = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_WEB_AUDIO:
- priv->enableWebAudio = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_ACCELERATED_COMPOSITING:
- priv->enableAcceleratedCompositing = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_SMOOTH_SCROLLING:
- priv->enableSmoothScrolling = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_CSS_SHADERS:
- priv->enableCSSShaders = g_value_get_boolean(value);
- break;
- case PROP_MEDIA_PLAYBACK_REQUIRES_USER_GESTURE:
- priv->mediaPlaybackRequiresUserGesture = g_value_get_boolean(value);
- break;
- case PROP_MEDIA_PLAYBACK_ALLOWS_INLINE:
- priv->mediaPlaybackAllowsInline = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_DISPLAY_OF_INSECURE_CONTENT:
- priv->enableDisplayOfInsecureContent = g_value_get_boolean(value);
- break;
- case PROP_ENABLE_RUNNING_OF_INSECURE_CONTENT:
- priv->enableRunningOfInsecureContent = g_value_get_boolean(value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- break;
- }
-}
-
-static void webkit_web_settings_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec)
-{
- WebKitWebSettings* web_settings = WEBKIT_WEB_SETTINGS(object);
- WebKitWebSettingsPrivate* priv = web_settings->priv;
-
- switch (prop_id) {
- case PROP_DEFAULT_ENCODING:
- g_value_set_string(value, priv->defaultEncoding.data());
- break;
- case PROP_CURSIVE_FONT_FAMILY:
- g_value_set_string(value, priv->cursiveFontFamily.data());
- break;
- case PROP_DEFAULT_FONT_FAMILY:
- g_value_set_string(value, priv->defaultFontFamily.data());
- break;
- case PROP_FANTASY_FONT_FAMILY:
- g_value_set_string(value, priv->fantasyFontFamily.data());
- break;
- case PROP_MONOSPACE_FONT_FAMILY:
- g_value_set_string(value, priv->monospaceFontFamily.data());
- break;
- case PROP_SANS_SERIF_FONT_FAMILY:
- g_value_set_string(value, priv->sansSerifFontFamily.data());
- break;
- case PROP_SERIF_FONT_FAMILY:
- g_value_set_string(value, priv->serifFontFamily.data());
- break;
- case PROP_DEFAULT_FONT_SIZE:
- g_value_set_int(value, priv->defaultFontSize);
- break;
- case PROP_DEFAULT_MONOSPACE_FONT_SIZE:
- g_value_set_int(value, priv->defaultMonospaceFontSize);
- break;
- case PROP_MINIMUM_FONT_SIZE:
- g_value_set_int(value, priv->minimumFontSize);
- break;
- case PROP_MINIMUM_LOGICAL_FONT_SIZE:
- g_value_set_int(value, priv->minimumLogicalFontSize);
- break;
- case PROP_ENFORCE_96_DPI:
- g_value_set_boolean(value, priv->enforce96DPI);
- break;
- case PROP_AUTO_LOAD_IMAGES:
- g_value_set_boolean(value, priv->autoLoadImages);
- break;
- case PROP_AUTO_SHRINK_IMAGES:
- g_value_set_boolean(value, priv->autoShrinkImages);
- break;
- case PROP_RESPECT_IMAGE_ORIENTATION:
- g_value_set_boolean(value, priv->respectImageOrientation);
- break;
- case PROP_PRINT_BACKGROUNDS:
- g_value_set_boolean(value, priv->printBackgrounds);
- break;
- case PROP_ENABLE_SCRIPTS:
- g_value_set_boolean(value, priv->enableScripts);
- break;
- case PROP_ENABLE_PLUGINS:
- g_value_set_boolean(value, priv->enablePlugins);
- break;
- case PROP_RESIZABLE_TEXT_AREAS:
- g_value_set_boolean(value, priv->resizableTextAreas);
- break;
- case PROP_USER_STYLESHEET_URI:
- g_value_set_string(value, priv->userStylesheetURI.data());
- break;
- case PROP_ZOOM_STEP:
- g_value_set_float(value, priv->zoomStep);
- break;
- case PROP_ENABLE_DEVELOPER_EXTRAS:
- g_value_set_boolean(value, priv->enableDeveloperExtras);
- break;
- case PROP_ENABLE_PRIVATE_BROWSING:
- g_value_set_boolean(value, priv->enablePrivateBrowsing);
- break;
- case PROP_ENABLE_CARET_BROWSING:
- g_value_set_boolean(value, priv->enableCaretBrowsing);
- break;
- case PROP_ENABLE_HTML5_DATABASE:
- g_value_set_boolean(value, priv->enableHTML5Database);
- break;
- case PROP_ENABLE_HTML5_LOCAL_STORAGE:
- g_value_set_boolean(value, priv->enableHTML5LocalStorage);
- break;
- case PROP_HTML5_LOCAL_STORAGE_DATABASE_PATH:
- g_value_set_string(value, priv->html5LocalStorageDatabasePath.data());
- break;
- case PROP_ENABLE_SPELL_CHECKING:
- g_value_set_boolean(value, priv->enableSpellChecking);
- break;
- case PROP_SPELL_CHECKING_LANGUAGES:
- g_value_set_string(value, priv->spellCheckingLanguages.data());
- break;
- case PROP_ENABLE_XSS_AUDITOR:
- g_value_set_boolean(value, priv->enableXSSAuditor);
- break;
- case PROP_ENABLE_SPATIAL_NAVIGATION:
- g_value_set_boolean(value, priv->enableSpatialNavigation);
- break;
- case PROP_ENABLE_FRAME_FLATTENING:
- g_value_set_boolean(value, priv->enableFrameFlattening);
- break;
- case PROP_USER_AGENT:
- g_value_set_string(value, priv->userAgent.data());
- break;
- case PROP_JAVASCRIPT_CAN_OPEN_WINDOWS_AUTOMATICALLY:
- g_value_set_boolean(value, priv->javascriptCanOpenWindowsAutomatically);
- break;
- case PROP_JAVASCRIPT_CAN_ACCESS_CLIPBOARD:
- g_value_set_boolean(value, priv->javascriptCanAccessClipboard);
- break;
- case PROP_ENABLE_OFFLINE_WEB_APPLICATION_CACHE:
- g_value_set_boolean(value, priv->enableOfflineWebApplicationCache);
- break;
- case PROP_EDITING_BEHAVIOR:
- g_value_set_enum(value, priv->editingBehavior);
- break;
- case PROP_ENABLE_UNIVERSAL_ACCESS_FROM_FILE_URIS:
- g_value_set_boolean(value, priv->enableUniversalAccessFromFileURIs);
- break;
- case PROP_ENABLE_FILE_ACCESS_FROM_FILE_URIS:
- g_value_set_boolean(value, priv->enableFileAccessFromFileURIs);
- break;
- case PROP_ENABLE_DOM_PASTE:
- g_value_set_boolean(value, priv->enableDOMPaste);
- break;
- case PROP_TAB_KEY_CYCLES_THROUGH_ELEMENTS:
- g_value_set_boolean(value, priv->tabKeyCyclesThroughElements);
- break;
- case PROP_ENABLE_DEFAULT_CONTEXT_MENU:
- g_value_set_boolean(value, priv->enableDefaultContextMenu);
- break;
- case PROP_ENABLE_SITE_SPECIFIC_QUIRKS:
- g_value_set_boolean(value, priv->enableSiteSpecificQuirks);
- break;
- case PROP_ENABLE_PAGE_CACHE:
- g_value_set_boolean(value, priv->enablePageCache);
- break;
- case PROP_AUTO_RESIZE_WINDOW:
- g_value_set_boolean(value, priv->autoResizeWindow);
- break;
- case PROP_ENABLE_JAVA_APPLET:
- g_value_set_boolean(value, priv->enableJavaApplet);
- break;
- case PROP_ENABLE_HYPERLINK_AUDITING:
- g_value_set_boolean(value, priv->enableHyperlinkAuditing);
- break;
- case PROP_ENABLE_FULLSCREEN:
- g_value_set_boolean(value, priv->enableFullscreen);
- break;
- case PROP_ENABLE_DNS_PREFETCHING:
- g_value_set_boolean(value, priv->enableDNSPrefetching);
- break;
- case PROP_ENABLE_WEBGL:
- g_value_set_boolean(value, priv->enableWebgl);
- break;
- case PROP_ENABLE_MEDIA_STREAM:
- g_value_set_boolean(value, priv->enableMediaStream);
- break;
- case PROP_ENABLE_WEB_AUDIO:
- g_value_set_boolean(value, priv->enableWebAudio);
- break;
- case PROP_ENABLE_ACCELERATED_COMPOSITING:
- g_value_set_boolean(value, priv->enableAcceleratedCompositing);
- break;
- case PROP_ENABLE_SMOOTH_SCROLLING:
- g_value_set_boolean(value, priv->enableSmoothScrolling);
- break;
- case PROP_ENABLE_CSS_SHADERS:
- g_value_set_boolean(value, priv->enableCSSShaders);
- break;
- case PROP_MEDIA_PLAYBACK_REQUIRES_USER_GESTURE:
- g_value_set_boolean(value, priv->mediaPlaybackRequiresUserGesture);
- break;
- case PROP_MEDIA_PLAYBACK_ALLOWS_INLINE:
- g_value_set_boolean(value, priv->mediaPlaybackAllowsInline);
- break;
- case PROP_ENABLE_DISPLAY_OF_INSECURE_CONTENT:
- g_value_set_boolean(value, priv->enableDisplayOfInsecureContent);
- break;
- case PROP_ENABLE_RUNNING_OF_INSECURE_CONTENT:
- g_value_set_boolean(value, priv->enableRunningOfInsecureContent);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- break;
- }
-}
-
-/**
- * webkit_web_settings_new:
- *
- * Creates a new #WebKitWebSettings instance with default values. It must
- * be manually attached to a WebView.
- *
- * Returns: a new #WebKitWebSettings instance
- **/
-WebKitWebSettings* webkit_web_settings_new()
-{
- return WEBKIT_WEB_SETTINGS(g_object_new(WEBKIT_TYPE_WEB_SETTINGS, NULL));
-}
-
-/**
- * webkit_web_settings_copy:
- * @web_settings: a #WebKitWebSettings to copy.
- *
- * Copies an existing #WebKitWebSettings instance.
- *
- * Returns: (transfer full): a new #WebKitWebSettings instance
- **/
-WebKitWebSettings* webkit_web_settings_copy(WebKitWebSettings* original)
-{
- unsigned numberOfProperties = 0;
- GOwnPtr<GParamSpec*> properties(g_object_class_list_properties(
- G_OBJECT_CLASS(WEBKIT_WEB_SETTINGS_GET_CLASS(original)), &numberOfProperties));
- GOwnPtr<GParameter> parameters(g_new0(GParameter, numberOfProperties));
-
- for (size_t i = 0; i < numberOfProperties; i++) {
- GParamSpec* property = properties.get()[i];
- GParameter* parameter = parameters.get() + i;
-
- if (!(property->flags & (G_PARAM_CONSTRUCT | G_PARAM_READWRITE)))
- continue;
-
- parameter->name = property->name;
- g_value_init(&parameter->value, property->value_type);
- g_object_get_property(G_OBJECT(original), property->name, &parameter->value);
- }
-
- return WEBKIT_WEB_SETTINGS(g_object_newv(WEBKIT_TYPE_WEB_SETTINGS, numberOfProperties, parameters.get()));
-
-}
-
-/**
- * webkit_web_settings_add_extra_plugin_directory:
- * @web_view: a #WebKitWebView
- * @directory: the directory to add
- *
- * Adds the @directory to paths where @web_view will search for plugins.
- *
- * Since: 1.0.3
- */
-void webkit_web_settings_add_extra_plugin_directory(WebKitWebView* webView, const gchar* directory)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
- PluginDatabase::installedPlugins()->addExtraPluginDirectory(filenameToString(directory));
-}
-
-/**
- * webkit_web_settings_get_user_agent:
- * @web_settings: a #WebKitWebSettings
- *
- * Returns: the User-Agent string currently used by the web view(s) associated
- * with the @web_settings.
- *
- * Since: 1.1.11
- */
-const gchar* webkit_web_settings_get_user_agent(WebKitWebSettings* webSettings)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_SETTINGS(webSettings), 0);
- return webSettings->priv->userAgent.data();
-}
-
-static void initializeDomainsList(HashSet<String>& googleDomains)
-{
- // Google search domains.
- googleDomains.add("biz");
- googleDomains.add("com");
- googleDomains.add("net");
- googleDomains.add("org");
- googleDomains.add("ae");
- googleDomains.add("ag");
- googleDomains.add("am");
- googleDomains.add("at");
- googleDomains.add("az");
- googleDomains.add("be");
- googleDomains.add("bi");
- googleDomains.add("ca");
- googleDomains.add("cc");
- googleDomains.add("cd");
- googleDomains.add("cg");
- googleDomains.add("ch");
- googleDomains.add("cl");
- googleDomains.add("com.br");
- googleDomains.add("com.do");
- googleDomains.add("co.uk");
- googleDomains.add("co.kr");
- googleDomains.add("co.jp");
- googleDomains.add("de");
- googleDomains.add("dj");
- googleDomains.add("dk");
- googleDomains.add("ee");
- googleDomains.add("es");
- googleDomains.add("fi");
- googleDomains.add("fm");
- googleDomains.add("fr");
- googleDomains.add("gg");
- googleDomains.add("gl");
- googleDomains.add("gm");
- googleDomains.add("gs");
- googleDomains.add("hn");
- googleDomains.add("hu");
- googleDomains.add("ie");
- googleDomains.add("it");
- googleDomains.add("je");
- googleDomains.add("kz");
- googleDomains.add("li");
- googleDomains.add("lt");
- googleDomains.add("lu");
- googleDomains.add("lv");
- googleDomains.add("ma");
- googleDomains.add("ms");
- googleDomains.add("mu");
- googleDomains.add("mw");
- googleDomains.add("nl");
- googleDomains.add("no");
- googleDomains.add("nu");
- googleDomains.add("pl");
- googleDomains.add("pn");
- googleDomains.add("pt");
- googleDomains.add("ru");
- googleDomains.add("rw");
- googleDomains.add("sh");
- googleDomains.add("sk");
- googleDomains.add("sm");
- googleDomains.add("st");
- googleDomains.add("td");
- googleDomains.add("tk");
- googleDomains.add("tp");
- googleDomains.add("tv");
- googleDomains.add("us");
- googleDomains.add("uz");
- googleDomains.add("ws");
-}
-
-static void initializeOtherGoogleDomains(Vector<String>& otherGoogleDomains)
-{
- otherGoogleDomains.append("gmail.com");
- otherGoogleDomains.append("youtube.com");
- otherGoogleDomains.append("gstatic.com");
- otherGoogleDomains.append("ytimg.com");
-}
-
-static bool isGoogleDomain(String host)
-{
- DEFINE_STATIC_LOCAL(HashSet<String>, googleDomains, ());
- DEFINE_STATIC_LOCAL(Vector<String>, otherGoogleDomains, ());
-
- if (googleDomains.isEmpty())
- initializeDomainsList(googleDomains);
-
- if (otherGoogleDomains.isEmpty())
- initializeOtherGoogleDomains(otherGoogleDomains);
-
- // First check if this is one of the various google.com international domains.
- int position = host.find(".google.");
- if (position > 0 && googleDomains.contains(host.substring(position + sizeof(".google.") - 1)))
- return true;
-
- // Then we check the possibility of it being one of the other, .com-only google domains.
- for (unsigned int i = 0; i < otherGoogleDomains.size(); i++) {
- if (host.endsWith(otherGoogleDomains.at(i)))
- return true;
- }
-
- return false;
-}
-
-static String userAgentForURL(const KURL& url)
-{
- // For Google domains, drop the browser's custom User Agent string, and use the
- // standard Chrome one, so they don't give us a broken experience.
- if (isGoogleDomain(url.host()))
- return standardUserAgent();
-
- return String();
-}
-
-/*
- * Private usage only.
- * webkitWebSettingsUserAgentForURI:
- * @web_settings: the #WebKitWebSettings object to query
- * @uri: the URI we want to know the User-Agent for
- *
- * Some web sites have been using User-Agent parsing heavily to decide
- * the kind of content that is sent to the browser. When
- * WebKitWebSettings:enable-site-specific-quirks is enabled WebKitGTK+
- * will use its knowledge of sites doing bad things and lie to them by
- * sending either the default User-Agent, i.e. not using the one
- * specified by the browser in WebKitWebSettings:user-agent, or the
- * Safari one (including lying about the underlying operating system).
- *
- * This function allows the browser to figure out what User-Agent is
- * going to be sent to a particular URI.
- *
- * Please note that if WebKitWebSettings:use-site-specific-quirks is
- * turned off calling this function is the same as calling
- * webkit_web_settings_get_user_agent(), except you have to free the
- * result.
- *
- * Returns: (transfer full): a newly allocated string containing the
- * User-Agent that will be sent for the given URI.
- */
-char* webkitWebSettingsUserAgentForURI(WebKitWebSettings* webSettings, const char* uri)
-{
- if (webSettings->priv->enableSiteSpecificQuirks) {
- String userAgentString = userAgentForURL(WebCore::KURL(WebCore::KURL(), String::fromUTF8(uri)));
- if (!userAgentString.isEmpty())
- return g_strdup(userAgentString.utf8().data());
- }
-
- return g_strdup(webkit_web_settings_get_user_agent(webSettings));
-}
-
-namespace WebKit {
-
-WebCore::EditingBehaviorType core(WebKitEditingBehavior type)
-{
- return static_cast<WebCore::EditingBehaviorType>(type);
-}
-
-}
diff --git a/Source/WebKit/gtk/webkit/webkitwebsettings.h b/Source/WebKit/gtk/webkit/webkitwebsettings.h
deleted file mode 100644
index 546212b6c..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebsettings.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2008 Christian Dywan <christian@imendio.com>
- * Copyright (C) 2009 Jan Michael Alonzo <jmalonzo@gmail.com
- *
- * 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 webkitwebsettings_h
-#define webkitwebsettings_h
-
-#include <glib-object.h>
-
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_WEB_SETTINGS (webkit_web_settings_get_type())
-#define WEBKIT_WEB_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettings))
-#define WEBKIT_WEB_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettingsClass))
-#define WEBKIT_IS_WEB_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_SETTINGS))
-#define WEBKIT_IS_WEB_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_SETTINGS))
-#define WEBKIT_WEB_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_SETTINGS, WebKitWebSettingsClass))
-
-/**
- * WebKitEditingBehavior:
- * @WEBKIT_EDITING_BEHAVIOR_MAC: Editing behavior mimicking OS X user interfaces.
- * @WEBKIT_EDITING_BEHAVIOR_WINDOWS: Editing behavior mimicking Windows user interfaces.
- * @WEBKIT_EDITING_BEHAVIOR_UNIX: Editing behavior mimicking free desktop user interfaces.
- *
- * Enum values used for determining the editing behavior of editable elements.
- *
- **/
-typedef enum {
- WEBKIT_EDITING_BEHAVIOR_MAC,
- WEBKIT_EDITING_BEHAVIOR_WINDOWS,
- WEBKIT_EDITING_BEHAVIOR_UNIX
-} WebKitEditingBehavior;
-
-typedef struct _WebKitWebSettingsPrivate WebKitWebSettingsPrivate;
-
-struct _WebKitWebSettings {
- GObject parent_instance;
-
- /*< private >*/
- WebKitWebSettingsPrivate *priv;
-};
-
-struct _WebKitWebSettingsClass {
- GObjectClass parent_class;
-
- /* Padding for future expansion */
- void (*_webkit_reserved1) (void);
- void (*_webkit_reserved2) (void);
- void (*_webkit_reserved3) (void);
- void (*_webkit_reserved4) (void);
-};
-
-WEBKIT_API GType
-webkit_web_settings_get_type (void);
-
-WEBKIT_API WebKitWebSettings *
-webkit_web_settings_new (void);
-
-WEBKIT_API WebKitWebSettings *
-webkit_web_settings_copy (WebKitWebSettings *web_settings);
-
-WEBKIT_API const gchar *
-webkit_web_settings_get_user_agent (WebKitWebSettings *web_settings);
-
-G_END_DECLS
-
-#endif /* webkitwebsettings_h */
diff --git a/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h b/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h
deleted file mode 100644
index 70b88657c..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebsettingsprivate.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * 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"
-#include <wtf/text/CString.h>
-
-extern "C" {
-
-struct _WebKitWebSettingsPrivate {
- CString defaultEncoding;
- CString cursiveFontFamily;
- CString defaultFontFamily;
- CString fantasyFontFamily;
- CString monospaceFontFamily;
- CString sansSerifFontFamily;
- CString serifFontFamily;
- guint defaultFontSize;
- guint defaultMonospaceFontSize;
- guint minimumFontSize;
- guint minimumLogicalFontSize;
- gboolean enforce96DPI;
- gboolean autoLoadImages;
- gboolean autoShrinkImages;
- gboolean respectImageOrientation;
- gboolean printBackgrounds;
- gboolean enableScripts;
- gboolean enablePlugins;
- gboolean resizableTextAreas;
- CString userStylesheetURI;
- gfloat zoomStep;
- gboolean enableDeveloperExtras;
- gboolean enablePrivateBrowsing;
- gboolean enableSpellChecking;
- CString spellCheckingLanguages;
- gboolean enableCaretBrowsing;
- gboolean enableHTML5Database;
- gboolean enableHTML5LocalStorage;
- CString html5LocalStorageDatabasePath;
- gboolean enableXSSAuditor;
- gboolean enableSpatialNavigation;
- gboolean enableFrameFlattening;
- CString userAgent;
- gboolean javascriptCanOpenWindowsAutomatically;
- gboolean javascriptCanAccessClipboard;
- gboolean enableOfflineWebApplicationCache;
- WebKitEditingBehavior editingBehavior;
- gboolean enableUniversalAccessFromFileURIs;
- gboolean enableFileAccessFromFileURIs;
- gboolean enableDOMPaste;
- gboolean tabKeyCyclesThroughElements;
- gboolean enableDefaultContextMenu;
- gboolean enableSiteSpecificQuirks;
- gboolean enablePageCache;
- gboolean autoResizeWindow;
- gboolean enableJavaApplet;
- gboolean enableHyperlinkAuditing;
- gboolean enableFullscreen;
- gboolean enableDNSPrefetching;
- gboolean enableWebgl;
- gboolean enableMediaStream;
- gboolean enableWebAudio;
- gboolean enableAcceleratedCompositing;
- gboolean enableSmoothScrolling;
- gboolean enableCSSShaders;
- gboolean mediaPlaybackRequiresUserGesture;
- gboolean mediaPlaybackAllowsInline;
- gboolean enableDisplayOfInsecureContent;
- gboolean enableRunningOfInsecureContent;
-};
-
-WEBKIT_API void webkit_web_settings_add_extra_plugin_directory(WebKitWebView*, const gchar* directory);
-
-WEBKIT_API char* webkitWebSettingsUserAgentForURI(WebKitWebSettings*, const gchar* uri);
-
-GSList* webkitWebViewGetEnchantDicts(WebKitWebView*);
-
-}
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitwebview.cpp b/Source/WebKit/gtk/webkit/webkitwebview.cpp
deleted file mode 100644
index 76bbc1e3c..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebview.cpp
+++ /dev/null
@@ -1,5547 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Holger Hans Peter Freyther
- * Copyright (C) 2007, 2008, 2009 Christian Dywan <christian@imendio.com>
- * Copyright (C) 2007 Xan Lopez <xan@gnome.org>
- * Copyright (C) 2007, 2008 Alp Toker <alp@atoker.com>
- * Copyright (C) 2008 Jan Alonzo <jmalonzo@unpluggable.com>
- * Copyright (C) 2008 Gustavo Noronha Silva <gns@gnome.org>
- * Copyright (C) 2008 Nuanti Ltd.
- * Copyright (C) 2008, 2009, 2010 Collabora Ltd.
- * Copyright (C) 2009, 2010, 2012 Igalia S.L.
- * Copyright (C) 2009 Movial Creative Technologies Inc.
- * Copyright (C) 2009 Bobby Powers
- * Copyright (C) 2010 Joone Hur <joone@kldp.org>
- * Copyright (C) 2012 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 "webkitwebview.h"
-
-#include "AXObjectCache.h"
-#include "ArchiveResource.h"
-#include "BackForwardListImpl.h"
-#include "CairoUtilities.h"
-#include "Chrome.h"
-#include "ChromeClientGtk.h"
-#include "ClipboardUtilitiesGtk.h"
-#include "ContextMenu.h"
-#include "ContextMenuClientGtk.h"
-#include "ContextMenuController.h"
-#include "Cursor.h"
-#include "DatabaseManager.h"
-#include "Document.h"
-#include "DocumentLoader.h"
-#include "DragActions.h"
-#include "DragClientGtk.h"
-#include "DragController.h"
-#include "DragData.h"
-#include "DragSession.h"
-#include "DumpRenderTreeSupportGtk.h"
-#include "Editor.h"
-#include "EditorClientGtk.h"
-#include "EventHandler.h"
-#include "FloatQuad.h"
-#include "FocusController.h"
-#include "FrameLoader.h"
-#include "FrameLoaderClient.h"
-#include "FrameLoaderTypes.h"
-#include "FrameView.h"
-#include "GOwnPtrGtk.h"
-#include "GeolocationClientGtk.h"
-#include "GeolocationController.h"
-#include "GraphicsContext.h"
-#include "GtkUtilities.h"
-#include "GtkVersioning.h"
-#include "HTMLNames.h"
-#include "HitTestRequest.h"
-#include "HitTestResult.h"
-#include "InspectorClientGtk.h"
-#include "MemoryCache.h"
-#include "MouseEventWithHitTestResults.h"
-#include "NotImplemented.h"
-#include "PageCache.h"
-#include "Pasteboard.h"
-#include "PasteboardHelper.h"
-#include "PlatformKeyboardEvent.h"
-#include "PlatformWheelEvent.h"
-#include "ProgressTracker.h"
-#include "RenderView.h"
-#include "ResourceHandle.h"
-#include "RuntimeEnabledFeatures.h"
-#include "ScriptController.h"
-#include "ScriptValue.h"
-#include "Settings.h"
-#include "WebKitDOMDocumentPrivate.h"
-#include "webkitdownload.h"
-#include "webkitdownloadprivate.h"
-#include "webkitenumtypes.h"
-#include "webkitfavicondatabase.h"
-#include "webkitgeolocationpolicydecision.h"
-#include "webkitglobalsprivate.h"
-#include "webkithittestresultprivate.h"
-#include "webkiticondatabase.h"
-#include "webkitmarshal.h"
-#include "webkitnetworkrequest.h"
-#include "webkitnetworkresponse.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 "webkitwebresourceprivate.h"
-#include "webkitwebsettingsprivate.h"
-#include "webkitwebplugindatabaseprivate.h"
-#include "webkitwebwindowfeatures.h"
-#include "webkitwebviewprivate.h"
-#include <gdk/gdkkeysyms.h>
-#include <glib/gi18n-lib.h>
-#include <wtf/gobject/GOwnPtr.h>
-#include <wtf/text/CString.h>
-
-#if ENABLE(DEVICE_ORIENTATION)
-#include "DeviceMotionClientGtk.h"
-#include "DeviceOrientationClientGtk.h"
-#endif
-
-/**
- * SECTION:webkitwebview
- * @short_description: The central class of the WebKitGTK+ API
- * @see_also: #WebKitWebSettings, #WebKitWebFrame
- *
- * #WebKitWebView is the central class of the WebKitGTK+ API. It is a
- * #GtkWidget implementing the scrolling interface which means you can
- * embed in a #GtkScrolledWindow. It is responsible for managing the
- * drawing of the content, forwarding of events. You can load any URI
- * into the #WebKitWebView or any kind of data string. With #WebKitWebSettings
- * you can control various aspects of the rendering and loading of the content.
- * Each #WebKitWebView has exactly one #WebKitWebFrame as main frame. A
- * #WebKitWebFrame can have n children.
- *
- * <programlisting>
- * /<!-- -->* Create the widgets *<!-- -->/
- * 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 ();
- *
- * /<!-- -->* Place the WebKitWebView in the GtkScrolledWindow *<!-- -->/
- * gtk_container_add (GTK_CONTAINER (scrolled_window), web_view);
- * gtk_container_add (GTK_CONTAINER (main_window), scrolled_window);
- *
- * /<!-- -->* Open a webpage *<!-- -->/
- * webkit_web_view_load_uri (WEBKIT_WEB_VIEW (web_view), "http://www.gnome.org");
- *
- * /<!-- -->* Show the result *<!-- -->/
- * gtk_window_set_default_size (GTK_WINDOW (main_window), 800, 600);
- * gtk_widget_show_all (main_window);
- * </programlisting>
- */
-
-using namespace WebKit;
-using namespace WebCore;
-
-enum {
- /* normal signals */
- NAVIGATION_REQUESTED,
- NEW_WINDOW_POLICY_DECISION_REQUESTED,
- NAVIGATION_POLICY_DECISION_REQUESTED,
- MIME_TYPE_POLICY_DECISION_REQUESTED,
- CREATE_WEB_VIEW,
- WEB_VIEW_READY,
- WINDOW_OBJECT_CLEARED,
- LOAD_STARTED,
- LOAD_COMMITTED,
- LOAD_PROGRESS_CHANGED,
- LOAD_ERROR,
- LOAD_FINISHED,
- TITLE_CHANGED,
- HOVERING_OVER_LINK,
- POPULATE_POPUP,
- STATUS_BAR_TEXT_CHANGED,
- ICON_LOADED,
- SELECTION_CHANGED,
- CONSOLE_MESSAGE,
- SCRIPT_ALERT,
- SCRIPT_CONFIRM,
- SCRIPT_PROMPT,
- SELECT_ALL,
- COPY_CLIPBOARD,
- PASTE_CLIPBOARD,
- CUT_CLIPBOARD,
- DOWNLOAD_REQUESTED,
- MOVE_CURSOR,
- PRINT_REQUESTED,
- PLUGIN_WIDGET,
- CLOSE_WEB_VIEW,
- UNDO,
- REDO,
- DATABASE_QUOTA_EXCEEDED,
- RESOURCE_REQUEST_STARTING,
- DOCUMENT_LOAD_FINISHED,
- GEOLOCATION_POLICY_DECISION_REQUESTED,
- GEOLOCATION_POLICY_DECISION_CANCELLED,
- ONLOAD_EVENT,
- FRAME_CREATED,
- SHOULD_BEGIN_EDITING,
- SHOULD_END_EDITING,
- SHOULD_INSERT_NODE,
- SHOULD_INSERT_TEXT,
- SHOULD_DELETE_RANGE,
- SHOULD_SHOW_DELETE_INTERFACE_FOR_ELEMENT,
- SHOULD_CHANGE_SELECTED_RANGE,
- SHOULD_APPLY_STYLE,
- EDITING_BEGAN,
- USER_CHANGED_CONTENTS,
- EDITING_ENDED,
- VIEWPORT_ATTRIBUTES_RECOMPUTE_REQUESTED,
- VIEWPORT_ATTRIBUTES_CHANGED,
- RESOURCE_RESPONSE_RECEIVED,
- RESOURCE_LOAD_FINISHED,
- RESOURCE_CONTENT_LENGTH_RECEIVED,
- RESOURCE_LOAD_FAILED,
- ENTERING_FULLSCREEN,
- LEAVING_FULLSCREEN,
- CONTEXT_MENU,
- RUN_FILE_CHOOSER,
-
- LAST_SIGNAL
-};
-
-enum {
- PROP_0,
-
- PROP_TITLE,
- PROP_URI,
- PROP_COPY_TARGET_LIST,
- PROP_PASTE_TARGET_LIST,
- PROP_EDITABLE,
- PROP_SETTINGS,
- PROP_WEB_INSPECTOR,
- PROP_VIEWPORT_ATTRIBUTES,
- PROP_WINDOW_FEATURES,
- PROP_TRANSPARENT,
- PROP_ZOOM_LEVEL,
- PROP_FULL_CONTENT_ZOOM,
- PROP_LOAD_STATUS,
- PROP_PROGRESS,
- PROP_ENCODING,
- PROP_CUSTOM_ENCODING,
- PROP_ICON_URI,
- PROP_IM_CONTEXT,
-#ifdef GTK_API_VERSION_2
- PROP_VIEW_MODE,
-#else
- PROP_VIEW_MODE,
- PROP_HADJUSTMENT,
- PROP_VADJUSTMENT,
- PROP_HSCROLL_POLICY,
- PROP_VSCROLL_POLICY,
-#endif
-
- // Undocumented. Leave these properties at the end of the list
- // so that we can remove them without breaking ABI compatibility.
- PROP_SELF_SCROLLING
-};
-
-static guint webkit_web_view_signals[LAST_SIGNAL] = { 0, };
-
-#ifdef GTK_API_VERSION_2
-G_DEFINE_TYPE(WebKitWebView, webkit_web_view, GTK_TYPE_CONTAINER)
-#else
-G_DEFINE_TYPE_WITH_CODE(WebKitWebView, webkit_web_view, GTK_TYPE_CONTAINER,
- G_IMPLEMENT_INTERFACE(GTK_TYPE_SCROLLABLE, 0))
-#endif
-
-static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GParamSpec* pspec, WebKitWebView* webView);
-static void webkit_web_view_set_window_features(WebKitWebView* webView, WebKitWebWindowFeatures* webWindowFeatures);
-static void webkitWebViewDirectionChanged(WebKitWebView*, GtkTextDirection previousDirection, gpointer);
-
-#if ENABLE(CONTEXT_MENUS)
-static void PopupMenuPositionFunc(GtkMenu* menu, gint *x, gint *y, gboolean *pushIn, gpointer userData)
-{
- WebKitWebView* view = WEBKIT_WEB_VIEW(userData);
- WebKitWebViewPrivate* priv = view->priv;
- GdkScreen* screen = gtk_widget_get_screen(GTK_WIDGET(view));
- GtkRequisition menuSize;
-
-#ifdef GTK_API_VERSION_2
- gtk_widget_size_request(GTK_WIDGET(menu), &menuSize);
-#else
- gtk_widget_get_preferred_size(GTK_WIDGET(menu), &menuSize, NULL);
-#endif
-
- *x = priv->lastPopupXPosition;
- if ((*x + menuSize.width) >= gdk_screen_get_width(screen))
- *x -= menuSize.width;
-
- *y = priv->lastPopupYPosition;
- if ((*y + menuSize.height) >= gdk_screen_get_height(screen))
- *y -= menuSize.height;
-
- *pushIn = FALSE;
-}
-#endif
-
-static Node* getFocusedNode(Frame* frame)
-{
- if (Document* doc = frame->document())
- return doc->focusedElement();
- return 0;
-}
-
-#if ENABLE(CONTEXT_MENUS)
-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 MouseEventWithHitTestResults prepareMouseEventForFrame(Frame* frame, const PlatformMouseEvent& event)
-{
- HitTestRequest request(HitTestRequest::Active| HitTestRequest::DisallowShadowContent);
- IntPoint point = frame->view()->windowToContents(event.position());
- return frame->document()->prepareMouseEvent(request, point, event);
-}
-
-// Check enable-default-context-menu setting for compatibility.
-static bool defaultContextMenuEnabled(WebKitWebView* webView)
-{
- gboolean enableDefaultContextMenu;
- g_object_get(webkit_web_view_get_settings(webView), "enable-default-context-menu", &enableDefaultContextMenu, NULL);
- return enableDefaultContextMenu;
-}
-
-static gboolean webkit_web_view_forward_context_menu_event(WebKitWebView* webView, const PlatformMouseEvent& event, bool triggeredWithKeyboard)
-{
- Page* page = core(webView);
- page->contextMenuController()->clearContextMenu();
- Frame* focusedFrame;
- Frame* mainFrame = page->mainFrame();
- gboolean mousePressEventResult = FALSE;
- GRefPtr<WebKitHitTestResult> hitTestResult;
-
- if (!mainFrame->view())
- return FALSE;
-
- mainFrame->view()->setCursor(pointerCursor());
- if (page->subframeCount()) {
- MouseEventWithHitTestResults mev = prepareMouseEventForFrame(mainFrame, event);
- Frame* targetFrame = EventHandler::subframeForHitTestResult(mev);
- if (!targetFrame)
- targetFrame = mainFrame;
-
- focusedFrame = page->focusController()->focusedOrMainFrame();
- if (targetFrame != focusedFrame) {
- page->focusController()->setFocusedFrame(targetFrame);
- focusedFrame = targetFrame;
- }
- if (focusedFrame == mainFrame)
- hitTestResult = adoptGRef(kit(mev.hitTestResult()));
- } else
- focusedFrame = mainFrame;
-
- if (focusedFrame->view() && focusedFrame->eventHandler()->handleMousePressEvent(event))
- mousePressEventResult = TRUE;
-
- bool handledEvent = focusedFrame->eventHandler()->sendContextMenuEvent(event);
- if (!handledEvent)
- return FALSE;
-
- // 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.
- ContextMenuController* controller = page->contextMenuController();
- ContextMenu* coreMenu = controller->contextMenu();
- if (!coreMenu)
- return mousePressEventResult;
-
- GtkMenu* defaultMenu = coreMenu->platformDescription();
- ASSERT(defaultMenu);
-
- // 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(defaultMenu), reinterpret_cast<GtkCallback>(contextMenuConnectActivate), controller);
-
- if (!hitTestResult) {
- MouseEventWithHitTestResults mev = prepareMouseEventForFrame(focusedFrame, event);
- hitTestResult = adoptGRef(kit(mev.hitTestResult()));
- }
-
- gboolean handled;
- g_signal_emit(webView, webkit_web_view_signals[CONTEXT_MENU], 0, defaultMenu, hitTestResult.get(), triggeredWithKeyboard, &handled);
- if (handled)
- return TRUE;
-
- // Return now if default context menu is disabled by enable-default-context-menu setting.
- // Check enable-default-context-menu setting for compatibility.
- if (!defaultContextMenuEnabled(webView))
- return FALSE;
-
- // Emit populate-popup signal for compatibility.
- g_signal_emit(webView, webkit_web_view_signals[POPULATE_POPUP], 0, defaultMenu);
-
- // If the context menu is now empty, don't show it.
- GOwnPtr<GList> items(gtk_container_get_children(GTK_CONTAINER(defaultMenu)));
- if (!items)
- return FALSE;
-
- WebKitWebViewPrivate* priv = webView->priv;
- priv->currentMenu = defaultMenu;
- priv->lastPopupXPosition = event.globalPosition().x();
- priv->lastPopupYPosition = event.globalPosition().y();
-
- gtk_menu_popup(defaultMenu, 0, 0, &PopupMenuPositionFunc, webView, event.button() + 1, gtk_get_current_event_time());
- return TRUE;
-}
-
-static const int gContextMenuMargin = 1;
-static IntPoint getLocationForKeyboardGeneratedContextMenu(Frame* frame)
-{
- FrameSelection* selection = frame->selection();
- if (!selection->selection().isNonOrphanedCaretOrRange()
- || (selection->selection().isCaret() && !selection->selection().isContentEditable())) {
- if (Node* focusedNode = getFocusedNode(frame))
- return focusedNode->pixelSnappedBoundingBox().location();
-
- // There was no selection and no focused node, so just put the context
- // menu into the corner of the view, offset slightly.
- return IntPoint(gContextMenuMargin, gContextMenuMargin);
- }
-
- // selection->selection().firstRange can return 0 here, but if that was the case
- // selection->selection().isNonOrphanedCaretOrRange() would have returned false
- // above, so we do not have to check it.
- IntRect firstRect = frame->editor().firstRectForRange(selection->selection().firstRange().get());
- return IntPoint(firstRect.x(), firstRect.maxY());
-}
-
-static gboolean webkit_web_view_popup_menu_handler(GtkWidget* widget)
-{
- Frame* frame = core(WEBKIT_WEB_VIEW(widget))->focusController()->focusedOrMainFrame();
- IntPoint location = getLocationForKeyboardGeneratedContextMenu(frame);
-
- FrameView* view = frame->view();
- if (!view)
- return FALSE;
-
- // Never let the context menu touch the very edge of the view.
- location = view->contentsToWindow(location);
- location.expandedTo(IntPoint(gContextMenuMargin, gContextMenuMargin));
- location.shrunkTo(IntPoint(view->width() - gContextMenuMargin, view->height() - gContextMenuMargin));
-
- IntPoint globalPoint(convertWidgetPointToScreenPoint(widget, location));
- PlatformMouseEvent event(location, globalPoint, RightButton, PlatformEvent::MousePressed, 0, false, false, false, false, gtk_get_current_event_time());
- return webkit_web_view_forward_context_menu_event(WEBKIT_WEB_VIEW(widget), event, true);
-}
-#endif // ENABLE(CONTEXT_MENUS)
-
-static void setHorizontalAdjustment(WebKitWebView* webView, GtkAdjustment* adjustment)
-{
- // This may be called after the page has been destroyed, in which case we do nothing.
- Page* page = core(webView);
- if (page)
- static_cast<WebKit::ChromeClient*>(page->chrome().client())->adjustmentWatcher()->setHorizontalAdjustment(adjustment);
-}
-
-static void setVerticalAdjustment(WebKitWebView* webView, GtkAdjustment* adjustment)
-{
- // This may be called after the page has been destroyed, in which case we do nothing.
- Page* page = core(webView);
- if (page)
- static_cast<WebKit::ChromeClient*>(page->chrome().client())->adjustmentWatcher()->setVerticalAdjustment(adjustment);
-}
-
-#ifndef GTK_API_VERSION_2
-static GtkAdjustment* getHorizontalAdjustment(WebKitWebView* webView)
-{
- Page* page = core(webView);
- if (page)
- return static_cast<WebKit::ChromeClient*>(page->chrome().client())->adjustmentWatcher()->horizontalAdjustment();
- return 0;
-}
-
-static GtkAdjustment* getVerticalAdjustment(WebKitWebView* webView)
-{
- Page* page = core(webView);
- if (page)
- return static_cast<WebKit::ChromeClient*>(page->chrome().client())->adjustmentWatcher()->verticalAdjustment();
- return 0;
-}
-
-static void setHorizontalScrollPolicy(WebKitWebView* webView, GtkScrollablePolicy policy)
-{
- webView->priv->horizontalScrollingPolicy = policy;
- gtk_widget_queue_resize(GTK_WIDGET(webView));
-}
-
-static void setVerticalScrollPolicy(WebKitWebView* webView, GtkScrollablePolicy policy)
-{
- webView->priv->verticalScrollingPolicy = policy;
- gtk_widget_queue_resize(GTK_WIDGET(webView));
-}
-
-static GtkScrollablePolicy getHorizontalScrollPolicy(WebKitWebView* webView)
-{
- return webView->priv->horizontalScrollingPolicy;
-}
-
-static GtkScrollablePolicy getVerticalScrollPolicy(WebKitWebView* webView)
-{
- return webView->priv->verticalScrollingPolicy;
-}
-
-#endif
-
-static void webkit_web_view_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(object);
-
- switch(prop_id) {
- case PROP_TITLE:
- g_value_set_string(value, webkit_web_view_get_title(webView));
- break;
- case PROP_URI:
- g_value_set_string(value, webkit_web_view_get_uri(webView));
- break;
- case PROP_COPY_TARGET_LIST:
- g_value_set_boxed(value, webkit_web_view_get_copy_target_list(webView));
- break;
- case PROP_PASTE_TARGET_LIST:
- g_value_set_boxed(value, webkit_web_view_get_paste_target_list(webView));
- break;
- case PROP_EDITABLE:
- g_value_set_boolean(value, webkit_web_view_get_editable(webView));
- break;
- case PROP_SETTINGS:
- g_value_set_object(value, webkit_web_view_get_settings(webView));
- break;
- 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;
- case PROP_TRANSPARENT:
- g_value_set_boolean(value, webkit_web_view_get_transparent(webView));
- break;
- case PROP_ZOOM_LEVEL:
- g_value_set_float(value, webkit_web_view_get_zoom_level(webView));
- break;
- case PROP_FULL_CONTENT_ZOOM:
- g_value_set_boolean(value, webkit_web_view_get_full_content_zoom(webView));
- break;
- case PROP_ENCODING:
- g_value_set_string(value, webkit_web_view_get_encoding(webView));
- break;
- case PROP_CUSTOM_ENCODING:
- g_value_set_string(value, webkit_web_view_get_custom_encoding(webView));
- break;
- case PROP_LOAD_STATUS:
- g_value_set_enum(value, webkit_web_view_get_load_status(webView));
- break;
- case PROP_PROGRESS:
- g_value_set_double(value, webkit_web_view_get_progress(webView));
- break;
- case PROP_ICON_URI:
- g_value_set_string(value, webkit_web_view_get_icon_uri(webView));
- break;
- case PROP_IM_CONTEXT:
- g_value_set_object(value, webView->priv->imFilter.context());
- break;
- case PROP_VIEW_MODE:
- g_value_set_enum(value, webkit_web_view_get_view_mode(webView));
- break;
-#ifndef GTK_API_VERSION_2
- case PROP_HADJUSTMENT:
- g_value_set_object(value, getHorizontalAdjustment(webView));
- break;
- case PROP_VADJUSTMENT:
- g_value_set_object(value, getVerticalAdjustment(webView));
- break;
- case PROP_HSCROLL_POLICY:
- g_value_set_enum(value, getHorizontalScrollPolicy(webView));
- break;
- case PROP_VSCROLL_POLICY:
- g_value_set_enum(value, getVerticalScrollPolicy(webView));
- break;
-#endif
- case PROP_SELF_SCROLLING:
- g_value_set_boolean(value, webView->priv->selfScrolling);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- }
-}
-
-static void webkit_web_view_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec *pspec)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(object);
-
- switch(prop_id) {
- case PROP_EDITABLE:
- webkit_web_view_set_editable(webView, g_value_get_boolean(value));
- break;
- case PROP_SETTINGS:
- webkit_web_view_set_settings(webView, WEBKIT_WEB_SETTINGS(g_value_get_object(value)));
- break;
- case PROP_WINDOW_FEATURES:
- webkit_web_view_set_window_features(webView, WEBKIT_WEB_WINDOW_FEATURES(g_value_get_object(value)));
- break;
- case PROP_TRANSPARENT:
- webkit_web_view_set_transparent(webView, g_value_get_boolean(value));
- break;
- case PROP_ZOOM_LEVEL:
- webkit_web_view_set_zoom_level(webView, g_value_get_float(value));
- break;
- case PROP_FULL_CONTENT_ZOOM:
- webkit_web_view_set_full_content_zoom(webView, g_value_get_boolean(value));
- break;
- case PROP_CUSTOM_ENCODING:
- webkit_web_view_set_custom_encoding(webView, g_value_get_string(value));
- break;
- case PROP_VIEW_MODE:
- webkit_web_view_set_view_mode(webView, static_cast<WebKitWebViewViewMode>(g_value_get_enum(value)));
- break;
-#ifndef GTK_API_VERSION_2
- case PROP_HADJUSTMENT:
- setHorizontalAdjustment(webView, static_cast<GtkAdjustment*>(g_value_get_object(value)));
- break;
- case PROP_VADJUSTMENT:
- setVerticalAdjustment(webView, static_cast<GtkAdjustment*>(g_value_get_object(value)));
- break;
- case PROP_HSCROLL_POLICY:
- setHorizontalScrollPolicy(webView, static_cast<GtkScrollablePolicy>(g_value_get_enum(value)));
- break;
- case PROP_VSCROLL_POLICY:
- setVerticalScrollPolicy(webView, static_cast<GtkScrollablePolicy>(g_value_get_enum(value)));
- break;
-#endif
- case PROP_SELF_SCROLLING:
- webView->priv->selfScrolling = g_value_get_boolean(value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- }
-}
-
-#ifdef GTK_API_VERSION_2
-static gboolean webkit_web_view_expose_event(GtkWidget* widget, GdkEventExpose* event)
-{
- int rectCount;
- GOwnPtr<GdkRectangle> rects;
- gdk_region_get_rectangles(event->region, &rects.outPtr(), &rectCount);
-
- RefPtr<cairo_t> cr = adoptRef(gdk_cairo_create(event->window));
- for (int i = 0; i < rectCount; i++) {
- copyRectFromCairoSurfaceToContext(WEBKIT_WEB_VIEW(widget)->priv->backingStore->cairoSurface(),
- cr.get(), IntSize(), IntRect(rects.get()[i]));
- }
-
- // Chaining up to the parent forces child widgets to be drawn.
- GTK_WIDGET_CLASS(webkit_web_view_parent_class)->expose_event(widget, event);
- return FALSE;
-}
-#else
-static gboolean webkit_web_view_draw(GtkWidget* widget, cairo_t* cr)
-{
- GdkRectangle clipRect;
- if (!gdk_cairo_get_clip_rectangle(cr, &clipRect))
- return FALSE;
-
- WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW(widget)->priv;
-#if USE(TEXTURE_MAPPER)
- if (priv->acceleratedCompositingContext->renderLayersToWindow(cr, clipRect)) {
- GTK_WIDGET_CLASS(webkit_web_view_parent_class)->draw(widget, cr);
- return FALSE;
- }
-#endif
-
- cairo_rectangle_list_t* rectList = cairo_copy_clip_rectangle_list(cr);
- if (rectList->status || !rectList->num_rectangles) {
- cairo_rectangle_list_destroy(rectList);
- return FALSE;
- }
-
- Vector<IntRect> rects;
- for (int i = 0; i < rectList->num_rectangles; i++) {
- copyRectFromCairoSurfaceToContext(priv->backingStore->cairoSurface(), cr, IntSize(),
- enclosingIntRect(FloatRect(rectList->rectangles[i])));
- }
- cairo_rectangle_list_destroy(rectList);
-
- // Chaining up to the parent forces child widgets to be drawn.
- GTK_WIDGET_CLASS(webkit_web_view_parent_class)->draw(widget, cr);
- return FALSE;
-}
-#endif // GTK_API_VERSION_2
-
-static gboolean webkit_web_view_key_press_event(GtkWidget* widget, GdkEventKey* event)
-{
- if (WEBKIT_WEB_VIEW(widget)->priv->imFilter.filterKeyEvent(event))
- return TRUE;
- return GTK_WIDGET_CLASS(webkit_web_view_parent_class)->key_press_event(widget, event);
-}
-
-static gboolean webkit_web_view_key_release_event(GtkWidget* widget, GdkEventKey* event)
-{
- if (WEBKIT_WEB_VIEW(widget)->priv->imFilter.filterKeyEvent(event))
- return TRUE;
- return GTK_WIDGET_CLASS(webkit_web_view_parent_class)->key_release_event(widget, event);
-}
-
-static gboolean webkit_web_view_button_press_event(GtkWidget* widget, GdkEventButton* event)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
- WebKitWebViewPrivate* priv = webView->priv;
-
- // FIXME: need to keep track of subframe focus for key events
- gtk_widget_grab_focus(widget);
-
- if (!priv->clickCounter.shouldProcessButtonEvent(event))
- return TRUE;
-
- PlatformMouseEvent platformEvent(event);
- int count = priv->clickCounter.clickCountForGdkButtonEvent(widget, event);
- platformEvent.setClickCount(count);
-
-#if ENABLE(CONTEXT_MENUS)
- if (event->button == 3)
- return webkit_web_view_forward_context_menu_event(webView, PlatformMouseEvent(event), false);
-#endif
-
- Frame* frame = core(webView)->mainFrame();
- if (!frame->view())
- return FALSE;
-
- priv->imFilter.notifyMouseButtonPress();
- gboolean result = frame->eventHandler()->handleMousePressEvent(platformEvent);
-
- return result;
-}
-
-static gboolean webkit_web_view_button_release_event(GtkWidget* widget, GdkEventButton* event)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
-
- Frame* mainFrame = core(webView)->mainFrame();
- if (mainFrame->view())
- mainFrame->eventHandler()->handleMouseReleaseEvent(PlatformMouseEvent(event));
-
- /* We always return FALSE here because WebKit can, for the same click, decide
- * to not handle press-event but handle release-event, which can totally confuse
- * some GTK+ containers when there are no other events in between. This way we
- * guarantee that this case never happens, and that if press-event goes through
- * release-event also goes through.
- */
-
- return FALSE;
-}
-
-static gboolean webkit_web_view_motion_event(GtkWidget* widget, GdkEventMotion* event)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
-
- Frame* frame = core(webView)->mainFrame();
- if (!frame->view())
- return FALSE;
-
- return frame->eventHandler()->mouseMoved(PlatformMouseEvent(event));
-}
-
-static gboolean webkit_web_view_scroll_event(GtkWidget* widget, GdkEventScroll* event)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
-
- Frame* frame = core(webView)->mainFrame();
- if (!frame->view())
- return FALSE;
-
- PlatformWheelEvent wheelEvent(event);
- return frame->eventHandler()->handleWheelEvent(wheelEvent);
-}
-
-#ifdef GTK_API_VERSION_2
-static void webkit_web_view_size_request(GtkWidget* widget, GtkRequisition* requisition)
-{
- WebKitWebView* web_view = WEBKIT_WEB_VIEW(widget);
- Frame* coreFrame = core(webkit_web_view_get_main_frame(web_view));
- if (!coreFrame)
- return;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return;
-
- requisition->width = view->contentsWidth();
- requisition->height = view->contentsHeight();
-}
-#else
-static void webkit_web_view_get_preferred_width(GtkWidget* widget, gint* minimum, gint* natural)
-{
- WebKitWebView* web_view = WEBKIT_WEB_VIEW(widget);
- Frame* coreFrame = core(webkit_web_view_get_main_frame(web_view));
- if (!coreFrame)
- return;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return;
-
- *minimum = *natural = view->contentsWidth();
-}
-
-static void webkit_web_view_get_preferred_height(GtkWidget* widget, gint* minimum, gint* natural)
-{
- WebKitWebView* web_view = WEBKIT_WEB_VIEW(widget);
- Frame* coreFrame = core(webkit_web_view_get_main_frame(web_view));
- if (!coreFrame)
- return;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return;
-
- *minimum = *natural = view->contentsHeight();
-}
-#endif
-
-static void updateChildAllocationFromPendingAllocation(GtkWidget* child, void*)
-{
- if (!gtk_widget_get_visible(child))
- return;
-
- GtkAllocation* allocation = static_cast<GtkAllocation*>(g_object_get_data(G_OBJECT(child), "delayed-allocation"));
- if (!allocation)
- return;
-
- g_object_set_data(G_OBJECT(child), "delayed-allocation", 0);
- gtk_widget_size_allocate(child, allocation);
- *allocation = IntRect();
-}
-
-static void resizeWebViewFromAllocation(WebKitWebView* webView, GtkAllocation* allocation, bool sizeChanged)
-{
- Page* page = core(webView);
- IntSize oldSize;
- FrameView* frameView = page->mainFrame()->view();
- if (sizeChanged && frameView) {
- oldSize = frameView->size();
- frameView->resize(allocation->width, allocation->height);
- }
-
- gtk_container_forall(GTK_CONTAINER(webView), updateChildAllocationFromPendingAllocation, 0);
-
- if (!sizeChanged)
- return;
-
- WebKit::ChromeClient* chromeClient = static_cast<WebKit::ChromeClient*>(page->chrome().client());
- chromeClient->widgetSizeChanged(oldSize, IntSize(allocation->width, allocation->height));
- chromeClient->adjustmentWatcher()->updateAdjustmentsFromScrollbars();
-}
-
-static void webkit_web_view_size_allocate(GtkWidget* widget, GtkAllocation* allocation)
-{
- GtkAllocation oldAllocation;
- gtk_widget_get_allocation(widget, &oldAllocation);
- bool sizeChanged = allocation->width != oldAllocation.width || allocation->height != oldAllocation.height;
-
- GTK_WIDGET_CLASS(webkit_web_view_parent_class)->size_allocate(widget, allocation);
-
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
- if (sizeChanged && !gtk_widget_get_mapped(widget)) {
- webView->priv->needsResizeOnMap = true;
- return;
- }
- resizeWebViewFromAllocation(webView, allocation, sizeChanged);
-}
-
-static void webkitWebViewMap(GtkWidget* widget)
-{
- GTK_WIDGET_CLASS(webkit_web_view_parent_class)->map(widget);
-
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
- if (!webView->priv->needsResizeOnMap)
- return;
-
- GtkAllocation allocation;
- gtk_widget_get_allocation(widget, &allocation);
- resizeWebViewFromAllocation(webView, &allocation, true);
- webView->priv->needsResizeOnMap = false;
-}
-
-static void webkit_web_view_grab_focus(GtkWidget* widget)
-{
-
- if (gtk_widget_is_sensitive(widget)) {
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
- FocusController* focusController = core(webView)->focusController();
-
- focusController->setActive(true);
-
- if (focusController->focusedFrame())
- focusController->setFocused(true);
- else
- focusController->setFocusedFrame(core(webView)->mainFrame());
- }
-
- return GTK_WIDGET_CLASS(webkit_web_view_parent_class)->grab_focus(widget);
-}
-
-static gboolean webkit_web_view_focus_in_event(GtkWidget* widget, GdkEventFocus* event)
-{
- // TODO: Improve focus handling as suggested in
- // http://bugs.webkit.org/show_bug.cgi?id=16910
- GtkWidget* toplevel = gtk_widget_get_toplevel(widget);
- if (!widgetIsOnscreenToplevelWindow(toplevel) || !gtk_window_has_toplevel_focus(GTK_WINDOW(toplevel)))
- return GTK_WIDGET_CLASS(webkit_web_view_parent_class)->focus_in_event(widget, event);
-
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
- FocusController* focusController = core(webView)->focusController();
-
- focusController->setActive(true);
- if (focusController->focusedFrame())
- focusController->setFocused(true);
- else
- focusController->setFocusedFrame(core(webView)->mainFrame());
-
- if (focusController->focusedFrame()->editor().canEdit())
- webView->priv->imFilter.notifyFocusedIn();
- return GTK_WIDGET_CLASS(webkit_web_view_parent_class)->focus_in_event(widget, event);
-}
-
-static gboolean webkit_web_view_focus_out_event(GtkWidget* widget, GdkEventFocus* event)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
-
- // We may hit this code while destroying the widget, and we might
- // no longer have a page, then.
- if (Page* page = core(webView)) {
- page->focusController()->setActive(false);
- page->focusController()->setFocused(false);
- }
-
- webView->priv->imFilter.notifyFocusedOut();
- return GTK_WIDGET_CLASS(webkit_web_view_parent_class)->focus_out_event(widget, event);
-}
-
-static void webkit_web_view_realize(GtkWidget* widget)
-{
- gtk_widget_set_realized(widget, TRUE);
-
- GtkAllocation allocation;
- gtk_widget_get_allocation(widget, &allocation);
-
- GdkWindowAttr attributes;
- attributes.window_type = GDK_WINDOW_CHILD;
- attributes.x = allocation.x;
- attributes.y = allocation.y;
- attributes.width = allocation.width;
- attributes.height = allocation.height;
- attributes.wclass = GDK_INPUT_OUTPUT;
- attributes.visual = gtk_widget_get_visual(widget);
-#ifdef GTK_API_VERSION_2
- attributes.colormap = gtk_widget_get_colormap(widget);
-#endif
- attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK
- | GDK_EXPOSURE_MASK
- | GDK_BUTTON_PRESS_MASK
- | GDK_BUTTON_RELEASE_MASK
- | GDK_SCROLL_MASK
-#if GTK_CHECK_VERSION(3, 3, 18)
- | GDK_SMOOTH_SCROLL_MASK
-#endif
- | GDK_POINTER_MOTION_MASK
- | GDK_KEY_PRESS_MASK
- | GDK_KEY_RELEASE_MASK
- | GDK_BUTTON_MOTION_MASK
- | GDK_BUTTON1_MOTION_MASK
- | GDK_BUTTON2_MOTION_MASK
- | GDK_BUTTON3_MOTION_MASK;
-
- gint attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL;
-#ifdef GTK_API_VERSION_2
- attributes_mask |= GDK_WA_COLORMAP;
-#endif
- GdkWindow* window = gdk_window_new(gtk_widget_get_parent_window(widget), &attributes, attributes_mask);
-
- gtk_widget_set_window(widget, window);
- gdk_window_set_user_data(window, widget);
-
-#ifdef GTK_API_VERSION_2
- gtk_widget_style_attach(widget);
- gtk_style_set_background(gtk_widget_get_style(widget), window, GTK_STATE_NORMAL);
-#else
- gtk_style_context_set_background(gtk_widget_get_style_context(widget), window);
-#endif
-}
-
-#ifdef GTK_API_VERSION_2
-static void webkit_web_view_set_scroll_adjustments(WebKitWebView* webView, GtkAdjustment* horizontalAdjustment, GtkAdjustment* verticalAdjustment)
-{
- setHorizontalAdjustment(webView, horizontalAdjustment);
- setVerticalAdjustment(webView, verticalAdjustment);
-}
-#endif
-
-static void webkit_web_view_container_add(GtkContainer* container, GtkWidget* widget)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(container);
- WebKitWebViewPrivate* priv = webView->priv;
-
- priv->children.add(widget);
- gtk_widget_set_parent(widget, GTK_WIDGET(container));
-}
-
-static void webkit_web_view_container_remove(GtkContainer* container, GtkWidget* widget)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(container);
- WebKitWebViewPrivate* priv = webView->priv;
-
- if (priv->children.contains(widget)) {
- gtk_widget_unparent(widget);
- priv->children.remove(widget);
- }
-}
-
-static void webkit_web_view_container_forall(GtkContainer* container, gboolean, GtkCallback callback, gpointer callbackData)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(container);
- WebKitWebViewPrivate* priv = webView->priv;
-
- HashSet<GtkWidget*> children = priv->children;
- HashSet<GtkWidget*>::const_iterator end = children.end();
- for (HashSet<GtkWidget*>::const_iterator current = children.begin(); current != end; ++current)
- (*callback)(*current, callbackData);
-}
-
-static WebKitWebView* webkit_web_view_real_create_web_view(WebKitWebView*, WebKitWebFrame*)
-{
- return 0;
-}
-
-static gboolean webkit_web_view_real_web_view_ready(WebKitWebView*)
-{
- return FALSE;
-}
-
-static gboolean webkit_web_view_real_close_web_view(WebKitWebView*)
-{
- return FALSE;
-}
-
-static WebKitNavigationResponse webkit_web_view_real_navigation_requested(WebKitWebView*, WebKitWebFrame*, WebKitNetworkRequest*)
-{
- return WEBKIT_NAVIGATION_RESPONSE_ACCEPT;
-}
-
-static void webkit_web_view_real_window_object_cleared(WebKitWebView*, WebKitWebFrame*, JSGlobalContextRef context, JSObjectRef window_object)
-{
- notImplemented();
-}
-
-static gchar* webkit_web_view_real_choose_file(WebKitWebView*, WebKitWebFrame*, const gchar* old_name)
-{
- notImplemented();
- return g_strdup(old_name);
-}
-
-typedef enum {
- WEBKIT_SCRIPT_DIALOG_ALERT,
- WEBKIT_SCRIPT_DIALOG_CONFIRM,
- WEBKIT_SCRIPT_DIALOG_PROMPT
- } WebKitScriptDialogType;
-
-static gboolean webkit_web_view_script_dialog(WebKitWebView* webView, WebKitWebFrame* frame, const gchar* message, WebKitScriptDialogType type, const gchar* defaultValue, gchar** value)
-{
- GtkMessageType messageType;
- GtkButtonsType buttons;
- gint defaultResponse;
- GtkWidget* window;
- GtkWidget* dialog;
- GtkWidget* entry = 0;
- gboolean didConfirm = FALSE;
-
- switch (type) {
- case WEBKIT_SCRIPT_DIALOG_ALERT:
- messageType = GTK_MESSAGE_WARNING;
- buttons = GTK_BUTTONS_CLOSE;
- defaultResponse = GTK_RESPONSE_CLOSE;
- break;
- case WEBKIT_SCRIPT_DIALOG_CONFIRM:
- messageType = GTK_MESSAGE_QUESTION;
- buttons = GTK_BUTTONS_OK_CANCEL;
- defaultResponse = GTK_RESPONSE_OK;
- break;
- case WEBKIT_SCRIPT_DIALOG_PROMPT:
- messageType = GTK_MESSAGE_QUESTION;
- buttons = GTK_BUTTONS_OK_CANCEL;
- defaultResponse = GTK_RESPONSE_OK;
- break;
- default:
- g_warning("Unknown value for WebKitScriptDialogType.");
- return FALSE;
- }
-
- window = gtk_widget_get_toplevel(GTK_WIDGET(webView));
- dialog = gtk_message_dialog_new(widgetIsOnscreenToplevelWindow(window) ? GTK_WINDOW(window) : 0,
- GTK_DIALOG_DESTROY_WITH_PARENT,
- messageType,
- buttons,
- "%s",
- message);
- gchar* title = g_strconcat("JavaScript - ", webkit_web_frame_get_uri(frame), NULL);
- gtk_window_set_title(GTK_WINDOW(dialog), title);
- g_free(title);
-
- if (type == WEBKIT_SCRIPT_DIALOG_PROMPT) {
- entry = gtk_entry_new();
- gtk_entry_set_text(GTK_ENTRY(entry), defaultValue);
- gtk_container_add(GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), entry);
- gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
- gtk_widget_show(entry);
- }
-
- gtk_dialog_set_default_response(GTK_DIALOG(dialog), defaultResponse);
- gint response = gtk_dialog_run(GTK_DIALOG(dialog));
-
- switch (response) {
- case GTK_RESPONSE_OK:
- didConfirm = TRUE;
- if (entry)
- *value = g_strdup(gtk_entry_get_text(GTK_ENTRY(entry)));
- break;
- case GTK_RESPONSE_CANCEL:
- didConfirm = FALSE;
- break;
-
- }
- gtk_widget_destroy(GTK_WIDGET(dialog));
- return didConfirm;
-}
-
-static gboolean webkit_web_view_real_script_alert(WebKitWebView* webView, WebKitWebFrame* frame, const gchar* message)
-{
- webkit_web_view_script_dialog(webView, frame, message, WEBKIT_SCRIPT_DIALOG_ALERT, 0, 0);
- return TRUE;
-}
-
-static gboolean webkit_web_view_real_script_confirm(WebKitWebView* webView, WebKitWebFrame* frame, const gchar* message, gboolean* didConfirm)
-{
- *didConfirm = webkit_web_view_script_dialog(webView, frame, message, WEBKIT_SCRIPT_DIALOG_CONFIRM, 0, 0);
- return TRUE;
-}
-
-static gboolean webkit_web_view_real_script_prompt(WebKitWebView* webView, WebKitWebFrame* frame, const gchar* message, const gchar* defaultValue, gchar** value)
-{
- if (!webkit_web_view_script_dialog(webView, frame, message, WEBKIT_SCRIPT_DIALOG_PROMPT, defaultValue, value))
- *value = NULL;
- return TRUE;
-}
-
-static gboolean webkit_web_view_real_console_message(WebKitWebView* webView, const gchar* message, unsigned int line, const gchar* sourceId)
-{
- g_message("console message: %s @%d: %s\n", sourceId, line, message);
- return TRUE;
-}
-
-static void webkit_web_view_real_select_all(WebKitWebView* webView)
-{
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- frame->editor().command("SelectAll").execute();
-}
-
-static void webkit_web_view_real_cut_clipboard(WebKitWebView* webView)
-{
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- frame->editor().command("Cut").execute();
-}
-
-static void webkit_web_view_real_copy_clipboard(WebKitWebView* webView)
-{
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- frame->editor().command("Copy").execute();
-}
-
-static void webkit_web_view_real_undo(WebKitWebView* webView)
-{
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- frame->editor().command("Undo").execute();
-}
-
-static void webkit_web_view_real_redo(WebKitWebView* webView)
-{
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- frame->editor().command("Redo").execute();
-}
-
-static gboolean webkit_web_view_real_move_cursor (WebKitWebView* webView, GtkMovementStep step, gint count)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW (webView), FALSE);
- g_return_val_if_fail(step == GTK_MOVEMENT_VISUAL_POSITIONS ||
- step == GTK_MOVEMENT_DISPLAY_LINES ||
- step == GTK_MOVEMENT_PAGES ||
- step == GTK_MOVEMENT_BUFFER_ENDS, FALSE);
- g_return_val_if_fail(count == 1 || count == -1, FALSE);
-
- ScrollDirection direction;
- ScrollGranularity granularity;
-
- switch (step) {
- case GTK_MOVEMENT_DISPLAY_LINES:
- granularity = ScrollByLine;
- if (count == 1)
- direction = ScrollDown;
- else
- direction = ScrollUp;
- break;
- case GTK_MOVEMENT_VISUAL_POSITIONS:
- granularity = ScrollByLine;
- if (count == 1)
- direction = ScrollRight;
- else
- direction = ScrollLeft;
- break;
- case GTK_MOVEMENT_PAGES:
- granularity = ScrollByPage;
- if (count == 1)
- direction = ScrollDown;
- else
- direction = ScrollUp;
- break;
- case GTK_MOVEMENT_BUFFER_ENDS:
- granularity = ScrollByDocument;
- if (count == 1)
- direction = ScrollDown;
- else
- direction = ScrollUp;
- break;
- default:
- g_assert_not_reached();
- return false;
- }
-
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- if (!frame->eventHandler()->scrollOverflow(direction, granularity))
- frame->view()->scroll(direction, granularity);
-
- return true;
-}
-
-static void webkit_web_view_real_paste_clipboard(WebKitWebView* webView)
-{
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- frame->editor().command("Paste").execute();
-}
-
-static gboolean webkit_web_view_real_should_allow_editing_action(WebKitWebView*)
-{
- return TRUE;
-}
-
-static gboolean webkit_web_view_real_entering_fullscreen(WebKitWebView* webView)
-{
- return FALSE;
-}
-
-static gboolean webkit_web_view_real_leaving_fullscreen(WebKitWebView* webView)
-{
- return FALSE;
-}
-
-static void fileChooserDialogResponseCallback(GtkDialog* dialog, gint responseID, WebKitFileChooserRequest* request)
-{
- GRefPtr<WebKitFileChooserRequest> adoptedRequest = adoptGRef(request);
- if (responseID == GTK_RESPONSE_ACCEPT) {
- GOwnPtr<GSList> filesList(gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog)));
- GRefPtr<GPtrArray> filesArray = adoptGRef(g_ptr_array_new());
- for (GSList* file = filesList.get(); file; file = g_slist_next(file))
- g_ptr_array_add(filesArray.get(), file->data);
- g_ptr_array_add(filesArray.get(), 0);
- webkit_file_chooser_request_select_files(adoptedRequest.get(), reinterpret_cast<const gchar* const*>(filesArray->pdata));
- }
-
- gtk_widget_destroy(GTK_WIDGET(dialog));
-}
-
-static gboolean webkitWebViewRealRunFileChooser(WebKitWebView* webView, WebKitFileChooserRequest* request)
-{
- GtkWidget* toplevel = gtk_widget_get_toplevel(GTK_WIDGET(webView));
- if (!widgetIsOnscreenToplevelWindow(toplevel))
- toplevel = 0;
-
- gboolean allowsMultipleSelection = webkit_file_chooser_request_get_select_multiple(request);
- GtkWidget* dialog = gtk_file_chooser_dialog_new(allowsMultipleSelection ? _("Select Files") : _("Select File"),
- toplevel ? GTK_WINDOW(toplevel) : 0,
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL);
-
- if (GtkFileFilter* filter = webkit_file_chooser_request_get_mime_types_filter(request))
- gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(dialog), filter);
- gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), allowsMultipleSelection);
-
- if (const gchar* const* selectedFiles = webkit_file_chooser_request_get_selected_files(request))
- gtk_file_chooser_select_filename(GTK_FILE_CHOOSER(dialog), selectedFiles[0]);
-
- g_signal_connect(dialog, "response", G_CALLBACK(fileChooserDialogResponseCallback), g_object_ref(request));
- gtk_widget_show(dialog);
-
- return TRUE;
-}
-
-static void webkit_web_view_dispose(GObject* object)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(object);
- WebKitWebViewPrivate* priv = webView->priv;
-
- priv->disposing = TRUE;
-
- // Make sure GtkAdjustmentWatcher won't be reacting to adjustment changes after the
- // WebView is destroyed.
- setHorizontalAdjustment(webView, 0);
- setVerticalAdjustment(webView, 0);
-
- // These smart pointers are cleared manually, because some cleanup operations are
- // very sensitive to their value. We may crash if these are done in the wrong order.
- priv->backForwardList.clear();
-
- if (priv->corePage) {
- webkit_web_view_stop_loading(WEBKIT_WEB_VIEW(object));
- core(priv->mainFrame)->loader()->detachFromParent();
- delete priv->corePage;
- priv->corePage = 0;
- }
-
- if (priv->webSettings) {
- g_signal_handlers_disconnect_by_func(priv->webSettings.get(), reinterpret_cast<void*>(webkit_web_view_settings_notify), webView);
- priv->webSettings.clear();
- }
-
- if (priv->currentMenu) {
- gtk_widget_destroy(GTK_WIDGET(priv->currentMenu));
- priv->currentMenu = 0;
- }
-
- priv->webInspector.clear();
- priv->viewportAttributes.clear();
- priv->webWindowFeatures.clear();
- priv->mainResource.clear();
- priv->subResources.clear();
-
- G_OBJECT_CLASS(webkit_web_view_parent_class)->dispose(object);
-}
-
-static void webkit_web_view_finalize(GObject* object)
-{
- // We need to manually call the destructor here, since this object's memory is managed
- // by GLib. This calls all C++ members' destructors and prevents memory leaks.
- WEBKIT_WEB_VIEW(object)->priv->~WebKitWebViewPrivate();
- G_OBJECT_CLASS(webkit_web_view_parent_class)->finalize(object);
-}
-
-static gboolean webkit_signal_accumulator_object_handled(GSignalInvocationHint* ihint, GValue* returnAccu, const GValue* handlerReturn, gpointer dummy)
-{
- gpointer newWebView = g_value_get_object(handlerReturn);
- g_value_set_object(returnAccu, newWebView);
-
- // Continue if we don't have a newWebView
- return !newWebView;
-}
-
-static gboolean webkit_navigation_request_handled(GSignalInvocationHint* ihint, GValue* returnAccu, const GValue* handlerReturn, gpointer dummy)
-{
- WebKitNavigationResponse navigationResponse = (WebKitNavigationResponse)g_value_get_enum(handlerReturn);
- g_value_set_enum(returnAccu, navigationResponse);
-
- if (navigationResponse != WEBKIT_NAVIGATION_RESPONSE_ACCEPT)
- return FALSE;
-
- return TRUE;
-}
-
-static AtkObject* webkit_web_view_get_accessible(GtkWidget* widget)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
- if (!core(webView))
- return 0;
-
- if (!AXObjectCache::accessibilityEnabled())
- AXObjectCache::enableAccessibility();
-
- Frame* coreFrame = core(webView)->mainFrame();
- if (!coreFrame)
- return 0;
-
- Document* doc = coreFrame->document();
- if (!doc)
- return 0;
-
- AccessibilityObject* rootAccessible = doc->axObjectCache()->rootObject();
- if (!rootAccessible)
- return 0;
-
- AtkObject* axRoot = rootAccessible->wrapper();
- if (!axRoot || !ATK_IS_OBJECT(axRoot))
- return 0;
-
- // Ensure the parent is set to make top-down and bottom-up navigation work.
- GtkWidget* parentWidget = gtk_widget_get_parent(widget);
- AtkObject* axParent = parentWidget ? gtk_widget_get_accessible(parentWidget) : 0;
- if (axParent)
- atk_object_set_parent(axRoot, axParent);
-
- return axRoot;
-}
-
-static double screenDPI(GdkScreen* screen)
-{
- // gdk_screen_get_resolution() returns -1 when no DPI is set.
- double dpi = gdk_screen_get_resolution(screen);
- if (dpi != -1)
- return dpi;
-
- static const double kMillimetresPerInch = 25.4;
- double diagonalSizeInPixels = hypot(gdk_screen_get_width(screen), gdk_screen_get_height(screen));
- double diagonalSizeInInches = hypot(gdk_screen_get_width_mm(screen), gdk_screen_get_height_mm(screen)) / kMillimetresPerInch;
- return diagonalSizeInPixels / diagonalSizeInInches;
-}
-
-static gdouble webViewGetDPI(WebKitWebView* webView)
-{
- if (webView->priv->webSettings->priv->enforce96DPI)
- return 96;
-
- static const double defaultDPI = 96;
- GdkScreen* screen = gtk_widget_has_screen(GTK_WIDGET(webView)) ? gtk_widget_get_screen(GTK_WIDGET(webView)) : gdk_screen_get_default();
- return screen ? screenDPI(screen) : defaultDPI;
-}
-
-static inline gint webViewConvertFontSizeToPixels(WebKitWebView* webView, double fontSize)
-{
- return fontSize / 72.0 * webViewGetDPI(webView);
-}
-
-static void webkit_web_view_screen_changed(GtkWidget* widget, GdkScreen* previousScreen)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
- WebKitWebViewPrivate* priv = webView->priv;
-
- if (priv->disposing)
- return;
-
- WebKitWebSettings* webSettings = priv->webSettings.get();
- Settings* settings = core(webView)->settings();
- guint defaultFontSize, defaultMonospaceFontSize, minimumFontSize, minimumLogicalFontSize;
-
- g_object_get(webSettings,
- "default-font-size", &defaultFontSize,
- "default-monospace-font-size", &defaultMonospaceFontSize,
- "minimum-font-size", &minimumFontSize,
- "minimum-logical-font-size", &minimumLogicalFontSize,
- NULL);
-
- settings->setDefaultFontSize(webViewConvertFontSizeToPixels(webView, defaultFontSize));
- settings->setDefaultFixedFontSize(webViewConvertFontSizeToPixels(webView, defaultMonospaceFontSize));
- settings->setMinimumFontSize(webViewConvertFontSizeToPixels(webView, minimumFontSize));
- settings->setMinimumLogicalFontSize(webViewConvertFontSizeToPixels(webView, minimumLogicalFontSize));
-}
-
-#if ENABLE(DRAG_SUPPORT)
-static void webkit_web_view_drag_end(GtkWidget* widget, GdkDragContext* context)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
- if (!webView->priv->dragAndDropHelper.handleDragEnd(context))
- return;
-
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- if (!frame)
- return;
-
- // Synthesize a button release event to send with the drag end action.
- GOwnPtr<GdkEvent> event(gdk_event_new(GDK_BUTTON_RELEASE));
- int x, y, xRoot, yRoot;
- GdkModifierType modifiers = static_cast<GdkModifierType>(0);
-#ifdef GTK_API_VERSION_2
- GdkDisplay* display = gdk_display_get_default();
- gdk_display_get_pointer(display, 0, &xRoot, &yRoot, &modifiers);
- event->button.window = gdk_display_get_window_at_pointer(display, &x, &y);
-#else
- GdkDevice* device = gdk_drag_context_get_device(context);
- event->button.window = gdk_device_get_window_at_position(device, &x, &y);
- gdk_device_get_position(device, 0, &xRoot, &yRoot);
-#endif
-
- if (event->button.window)
- g_object_ref(event->button.window);
- event->button.x = x;
- event->button.y = y;
- event->button.x_root = xRoot;
- event->button.y_root = yRoot;
- event->button.state = modifiers;
-
- PlatformMouseEvent platformEvent(&event->button);
- frame->eventHandler()->dragSourceEndedAt(platformEvent, gdkDragActionToDragOperation(gdk_drag_context_get_selected_action(context)));
-}
-
-static void webkit_web_view_drag_data_get(GtkWidget* widget, GdkDragContext* context, GtkSelectionData* selectionData, guint info, guint)
-{
- WEBKIT_WEB_VIEW(widget)->priv->dragAndDropHelper.handleGetDragData(context, selectionData, info);
-}
-
-static void dragExitedCallback(GtkWidget* widget, DragData* dragData, bool dropHappened)
-{
- // Don't call dragExited if we have just received a drag-drop signal. This
- // happens in the case of a successful drop onto the view.
- if (!dropHappened)
- core(WEBKIT_WEB_VIEW(widget))->dragController()->dragExited(dragData);
- core(WEBKIT_WEB_VIEW(widget))->dragController()->dragEnded();
-}
-
-static void webkit_web_view_drag_leave(GtkWidget* widget, GdkDragContext* context, guint time)
-{
- WEBKIT_WEB_VIEW(widget)->priv->dragAndDropHelper.handleDragLeave(context, dragExitedCallback);
-}
-
-static gboolean webkit_web_view_drag_motion(GtkWidget* widget, GdkDragContext* context, gint x, gint y, guint time)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
- IntPoint position(x, y);
- DataObjectGtk* dataObject = webView->priv->dragAndDropHelper.handleDragMotion(context, position, time);
- if (!dataObject)
- return TRUE;
-
- DragData dragData(dataObject, position, convertWidgetPointToScreenPoint(widget, position), gdkDragActionToDragOperation(gdk_drag_context_get_actions(context)));
- DragOperation operation = core(webView)->dragController()->dragUpdated(&dragData).operation;
- gdk_drag_status(context, dragOperationToSingleGdkDragAction(operation), time);
- return TRUE;
-}
-
-static void webkit_web_view_drag_data_received(GtkWidget* widget, GdkDragContext* context, gint x, gint y, GtkSelectionData* selectionData, guint info, guint time)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
- IntPoint position;
- DataObjectGtk* dataObject = webView->priv->dragAndDropHelper.handleDragDataReceived(context, selectionData, info, position);
- if (!dataObject)
- return;
-
- DragData dragData(dataObject, position, convertWidgetPointToScreenPoint(widget, position), gdkDragActionToDragOperation(gdk_drag_context_get_actions(context)));
- DragOperation operation = core(webView)->dragController()->dragEntered(&dragData).operation;
- gdk_drag_status(context, dragOperationToSingleGdkDragAction(operation), time);
-}
-
-static gboolean webkit_web_view_drag_drop(GtkWidget* widget, GdkDragContext* context, gint x, gint y, guint time)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
- DataObjectGtk* dataObject = webView->priv->dragAndDropHelper.handleDragDrop(context);
- if (!dataObject)
- return FALSE;
-
- IntPoint position(x, y);
- DragData dragData(dataObject, position, convertWidgetPointToScreenPoint(widget, position), gdkDragActionToDragOperation(gdk_drag_context_get_actions(context)));
- core(webView)->dragController()->performDrag(&dragData);
- gtk_drag_finish(context, TRUE, FALSE, time);
- return TRUE;
-}
-#endif // ENABLE(DRAG_SUPPORT)
-
-static gboolean webkit_web_view_query_tooltip(GtkWidget *widget, gint x, gint y, gboolean keyboard_mode, GtkTooltip *tooltip)
-{
- WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW(widget)->priv;
-
- if (keyboard_mode) {
- WebKitWebView* webView = WEBKIT_WEB_VIEW(widget);
-
- // Get the title of the current focused element.
- Frame* coreFrame = core(webView)->focusController()->focusedOrMainFrame();
- if (!coreFrame)
- return FALSE;
-
- Node* node = getFocusedNode(coreFrame);
- if (!node)
- return FALSE;
-
- for (Node* titleNode = node; titleNode; titleNode = titleNode->parentNode()) {
- if (titleNode->isElementNode()) {
- String title = toElement(titleNode)->title();
- if (!title.isEmpty()) {
- if (FrameView* view = coreFrame->view()) {
- GdkRectangle area = view->contentsToWindow(node->pixelSnappedBoundingBox());
- gtk_tooltip_set_tip_area(tooltip, &area);
- }
- gtk_tooltip_set_text(tooltip, title.utf8().data());
-
- return TRUE;
- }
- }
- }
-
- return FALSE;
- }
-
- if (priv->tooltipText.length() > 0) {
- if (!keyboard_mode) {
- if (!priv->tooltipArea.isEmpty()) {
- GdkRectangle area = priv->tooltipArea;
- gtk_tooltip_set_tip_area(tooltip, &area);
- } else
- gtk_tooltip_set_tip_area(tooltip, 0);
- }
- gtk_tooltip_set_text(tooltip, priv->tooltipText.data());
- return TRUE;
- }
-
- return FALSE;
-}
-
-static gboolean webkit_web_view_show_help(GtkWidget* widget, GtkWidgetHelpType help_type)
-{
- if (help_type == GTK_WIDGET_HELP_TOOLTIP)
- gtk_widget_set_has_tooltip(widget, TRUE);
-
- return GTK_WIDGET_CLASS(webkit_web_view_parent_class)->show_help(widget, help_type);
-}
-
-static void webkit_web_view_class_init(WebKitWebViewClass* webViewClass)
-{
- GtkBindingSet* binding_set;
-
- webkitInit();
-
- /*
- * Signals
- */
-
- /**
- * WebKitWebView::create-web-view:
- * @web_view: the object on which the signal is emitted
- * @frame: the #WebKitWebFrame
- *
- * Emitted when the creation of a new window is requested.
- * If this signal is handled the signal handler should return the
- * newly created #WebKitWebView.
- *
- * The new #WebKitWebView should not be displayed to the user
- * until the #WebKitWebView::web-view-ready signal is emitted.
- *
- * The signal handlers should not try to deal with the reference count for
- * the new #WebKitWebView. The widget to which the widget is added will
- * handle that.
- *
- * Return value: (transfer full): a newly allocated #WebKitWebView, or %NULL
- *
- * Since: 1.0.3
- */
- webkit_web_view_signals[CREATE_WEB_VIEW] = g_signal_new("create-web-view",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (WebKitWebViewClass, create_web_view),
- webkit_signal_accumulator_object_handled,
- NULL,
- webkit_marshal_OBJECT__OBJECT,
- WEBKIT_TYPE_WEB_VIEW , 1,
- WEBKIT_TYPE_WEB_FRAME);
-
- /**
- * WebKitWebView::web-view-ready:
- * @web_view: the object on which the signal is emitted
- *
- * Emitted after #WebKitWebView::create-web-view when the new #WebKitWebView
- * should be displayed to the user. When this signal is emitted
- * all the information about how the window should look, including
- * size, position, whether the location, status and scroll bars
- * should be displayed, is already set on the
- * #WebKitWebWindowFeatures object contained by the #WebKitWebView.
- *
- * Notice that some of that information may change during the life
- * time of the window, so you may want to connect to the ::notify
- * signal of the #WebKitWebWindowFeatures object to handle those.
- *
- * Return value: %TRUE to stop handlers from being invoked for the event or
- * %FALSE to propagate the event furter
- *
- * Since: 1.0.3
- */
- webkit_web_view_signals[WEB_VIEW_READY] = g_signal_new("web-view-ready",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (WebKitWebViewClass, web_view_ready),
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__VOID,
- G_TYPE_BOOLEAN, 0);
-
- /**
- * WebKitWebView::close-web-view:
- * @web_view: the object on which the signal is emitted
- *
- * Emitted when closing a #WebKitWebView is requested. This occurs when a
- * call is made from JavaScript's window.close function. The default
- * signal handler does not do anything. It is the owner's responsibility
- * to hide or delete the web view, if necessary.
- *
- * Return value: %TRUE to stop handlers from being invoked for the event or
- * %FALSE to propagate the event furter
- *
- * Since: 1.1.11
- */
- webkit_web_view_signals[CLOSE_WEB_VIEW] = g_signal_new("close-web-view",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (WebKitWebViewClass, close_web_view),
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__VOID,
- G_TYPE_BOOLEAN, 0);
-
- /**
- * WebKitWebView::navigation-requested:
- * @web_view: the object on which the signal is emitted
- * @frame: the #WebKitWebFrame that required the navigation
- * @request: a #WebKitNetworkRequest
- *
- * Emitted when @frame requests a navigation to another page.
- *
- * Return value: a #WebKitNavigationResponse
- *
- * Deprecated: Use WebKitWebView::navigation-policy-decision-requested
- * instead
- */
- webkit_web_view_signals[NAVIGATION_REQUESTED] = g_signal_new("navigation-requested",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (WebKitWebViewClass, navigation_requested),
- webkit_navigation_request_handled,
- NULL,
- webkit_marshal_ENUM__OBJECT_OBJECT,
- WEBKIT_TYPE_NAVIGATION_RESPONSE, 2,
- WEBKIT_TYPE_WEB_FRAME,
- WEBKIT_TYPE_NETWORK_REQUEST);
-
- /**
- * WebKitWebView::new-window-policy-decision-requested:
- * @web_view: the object on which the signal is emitted
- * @frame: the #WebKitWebFrame that required the navigation
- * @request: a #WebKitNetworkRequest
- * @navigation_action: a #WebKitWebNavigationAction
- * @policy_decision: a #WebKitWebPolicyDecision
- *
- * Emitted when @frame requests opening a new window. With this
- * signal the browser can use the context of the request to decide
- * about the new window. If the request is not handled the default
- * behavior is to allow opening the new window to load the URI,
- * which will cause a create-web-view signal emission where the
- * browser handles the new window action but without information
- * of the context that caused the navigation. The following
- * navigation-policy-decision-requested emissions will load the
- * page after the creation of the new window just with the
- * information of this new navigation context, without any
- * information about the action that made this new window to be
- * opened.
- *
- * Notice that if you return TRUE, meaning that you handled the
- * signal, you are expected to have decided what to do, by calling
- * webkit_web_policy_decision_ignore(),
- * webkit_web_policy_decision_use(), or
- * webkit_web_policy_decision_download() on the @policy_decision
- * object.
- *
- * Return value: %TRUE if a decision was made, %FALSE to have the
- * default behavior apply
- *
- * Since: 1.1.4
- */
- webkit_web_view_signals[NEW_WINDOW_POLICY_DECISION_REQUESTED] = g_signal_new("new-window-policy-decision-requested",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__OBJECT_OBJECT_OBJECT_OBJECT,
- G_TYPE_BOOLEAN, 4,
- WEBKIT_TYPE_WEB_FRAME,
- WEBKIT_TYPE_NETWORK_REQUEST,
- WEBKIT_TYPE_WEB_NAVIGATION_ACTION,
- WEBKIT_TYPE_WEB_POLICY_DECISION);
-
- /**
- * WebKitWebView::navigation-policy-decision-requested:
- * @web_view: the object on which the signal is emitted
- * @frame: the #WebKitWebFrame that required the navigation
- * @request: a #WebKitNetworkRequest
- * @navigation_action: a #WebKitWebNavigationAction
- * @policy_decision: a #WebKitWebPolicyDecision
- *
- * Emitted when @frame requests a navigation to another page.
- * If this signal is not handled, the default behavior is to allow the
- * navigation.
- *
- * Notice that if you return TRUE, meaning that you handled the
- * signal, you are expected to have decided what to do, by calling
- * webkit_web_policy_decision_ignore(),
- * webkit_web_policy_decision_use(), or
- * webkit_web_policy_decision_download() on the @policy_decision
- * object.
- *
- * Return value: %TRUE if a decision was made, %FALSE to have the
- * default behavior apply
- *
- * Since: 1.0.3
- */
- webkit_web_view_signals[NAVIGATION_POLICY_DECISION_REQUESTED] = g_signal_new("navigation-policy-decision-requested",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__OBJECT_OBJECT_OBJECT_OBJECT,
- G_TYPE_BOOLEAN, 4,
- WEBKIT_TYPE_WEB_FRAME,
- WEBKIT_TYPE_NETWORK_REQUEST,
- WEBKIT_TYPE_WEB_NAVIGATION_ACTION,
- WEBKIT_TYPE_WEB_POLICY_DECISION);
-
- /**
- * WebKitWebView::mime-type-policy-decision-requested:
- * @web_view: the object on which the signal is emitted
- * @frame: the #WebKitWebFrame that required the policy decision
- * @request: a WebKitNetworkRequest
- * @mimetype: the MIME type attempted to load
- * @policy_decision: a #WebKitWebPolicyDecision
- *
- * Decide whether or not to display the given MIME type. If this
- * signal is not handled, the default behavior is to show the
- * content of the requested URI if WebKit can show this MIME
- * type and the content disposition is not a download; if WebKit
- * is not able to show the MIME type nothing happens.
- *
- * Notice that if you return TRUE, meaning that you handled the
- * signal, you are expected to be aware of the "Content-Disposition"
- * header. A value of "attachment" usually indicates a download
- * regardless of the MIME type, see also
- * soup_message_headers_get_content_disposition(). And you must call
- * webkit_web_policy_decision_ignore(),
- * webkit_web_policy_decision_use(), or
- * webkit_web_policy_decision_download() on the @policy_decision
- * object.
- *
- * Return value: %TRUE if a decision was made, %FALSE to have the
- * default behavior apply
- *
- * Since: 1.0.3
- */
- webkit_web_view_signals[MIME_TYPE_POLICY_DECISION_REQUESTED] = g_signal_new("mime-type-policy-decision-requested",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__OBJECT_OBJECT_STRING_OBJECT,
- G_TYPE_BOOLEAN, 4,
- WEBKIT_TYPE_WEB_FRAME,
- WEBKIT_TYPE_NETWORK_REQUEST,
- G_TYPE_STRING,
- WEBKIT_TYPE_WEB_POLICY_DECISION);
-
- /**
- * WebKitWebView::window-object-cleared:
- * @web_view: the object on which the signal is emitted
- * @frame: the #WebKitWebFrame to which @window_object belongs
- * @context: the #JSGlobalContextRef holding the global object and other
- * execution state; equivalent to the return value of
- * webkit_web_frame_get_global_context(@frame)
- * @window_object: the #JSObjectRef representing the frame's JavaScript
- * window object
- *
- * Emitted when the JavaScript window object in a #WebKitWebFrame has been
- * cleared in preparation for a new load. This is the preferred place to
- * set custom properties on the window object using the JavaScriptCore API.
- */
- webkit_web_view_signals[WINDOW_OBJECT_CLEARED] = g_signal_new("window-object-cleared",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (WebKitWebViewClass, window_object_cleared),
- NULL,
- NULL,
- webkit_marshal_VOID__OBJECT_POINTER_POINTER,
- G_TYPE_NONE, 3,
- WEBKIT_TYPE_WEB_FRAME,
- G_TYPE_POINTER,
- G_TYPE_POINTER);
-
- /**
- * WebKitWebView::download-requested:
- * @web_view: the object on which the signal is emitted
- * @download: a #WebKitDownload object that lets you control the
- * download process
- *
- * A new Download is being requested. By default, if the signal is
- * not handled, the download is cancelled. If you handle the download
- * and call webkit_download_set_destination_uri(), it will be
- * started for you. If you need to set the destination asynchronously
- * you are responsible for starting or cancelling it yourself.
- *
- * If you intend to handle downloads yourself rather than using
- * the #WebKitDownload helper object you must handle this signal,
- * and return %FALSE.
- *
- * Also, keep in mind that the default policy for WebKitGTK+ is to
- * ignore files with a MIME type that it does not know how to
- * handle, which means this signal won't be emitted in the default
- * setup. One way to trigger downloads is to connect to
- * WebKitWebView::mime-type-policy-decision-requested and call
- * webkit_web_policy_decision_download() on the
- * #WebKitWebPolicyDecision in the parameter list for the kind of
- * files you want your application to download (a common solution
- * is to download anything that WebKit can't handle, which you can
- * figure out by using webkit_web_view_can_show_mime_type()).
- *
- * Return value: TRUE if the download should be performed, %FALSE to
- * cancel it
- *
- * Since: 1.1.2
- */
- webkit_web_view_signals[DOWNLOAD_REQUESTED] = g_signal_new("download-requested",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__OBJECT,
- G_TYPE_BOOLEAN, 1,
- G_TYPE_OBJECT);
-
- /**
- * WebKitWebView::load-started:
- * @web_view: the object on which the signal is emitted
- * @frame: the frame going to do the load
- *
- * When a #WebKitWebFrame begins to load this signal is emitted.
- *
- * Deprecated: Use the "load-status" property instead.
- */
- webkit_web_view_signals[LOAD_STARTED] = g_signal_new("load-started",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1,
- WEBKIT_TYPE_WEB_FRAME);
-
- /**
- * WebKitWebView::load-committed:
- * @web_view: the object on which the signal is emitted
- * @frame: the main frame that received the first data
- *
- * When a #WebKitWebFrame loaded the first data this signal is emitted.
- *
- * Deprecated: Use the "load-status" property instead.
- */
- webkit_web_view_signals[LOAD_COMMITTED] = g_signal_new("load-committed",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1,
- WEBKIT_TYPE_WEB_FRAME);
-
-
- /**
- * WebKitWebView::load-progress-changed:
- * @web_view: the #WebKitWebView
- * @progress: the global progress
- *
- * Deprecated: Use the "progress" property instead.
- */
- webkit_web_view_signals[LOAD_PROGRESS_CHANGED] = g_signal_new("load-progress-changed",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__INT,
- G_TYPE_NONE, 1,
- G_TYPE_INT);
-
- /**
- * WebKitWebView::load-error:
- * @web_view: the object on which the signal is emitted
- * @web_frame: the #WebKitWebFrame
- * @uri: the URI that triggered the error
- * @web_error: the #GError that was triggered
- *
- * An error occurred while loading. By default, if the signal is not
- * handled, the @web_view will display a stock error page. You need to
- * handle the signal if you want to provide your own error page.
- *
- * Since: 1.1.6
- *
- * Return value: %TRUE to stop other handlers from being invoked for the
- * event. %FALSE to propagate the event further.
- */
- webkit_web_view_signals[LOAD_ERROR] = g_signal_new("load-error",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST),
- 0,
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__OBJECT_STRING_BOXED,
- G_TYPE_BOOLEAN, 3,
- WEBKIT_TYPE_WEB_FRAME,
- G_TYPE_STRING,
- G_TYPE_ERROR);
-
- /**
- * WebKitWebView::load-finished:
- * @web_view: the #WebKitWebView
- * @frame: the #WebKitWebFrame
- *
- * Deprecated: Use the "load-status" property instead.
- */
- webkit_web_view_signals[LOAD_FINISHED] = g_signal_new("load-finished",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1,
- WEBKIT_TYPE_WEB_FRAME);
-
- /**
- * WebKitWebView::onload-event:
- * @web_view: the object on which the signal is emitted
- * @frame: the frame
- *
- * When a #WebKitWebFrame receives an onload event this signal is emitted.
- */
- webkit_web_view_signals[ONLOAD_EVENT] = g_signal_new("onload-event",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1,
- WEBKIT_TYPE_WEB_FRAME);
-
- /**
- * WebKitWebView::title-changed:
- * @web_view: the object on which the signal is emitted
- * @frame: the main frame
- * @title: the new title
- *
- * When a #WebKitWebFrame changes the document title this signal is emitted.
- *
- * Deprecated: 1.1.4: Use "notify::title" instead.
- */
- webkit_web_view_signals[TITLE_CHANGED] = g_signal_new("title-changed",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- webkit_marshal_VOID__OBJECT_STRING,
- G_TYPE_NONE, 2,
- WEBKIT_TYPE_WEB_FRAME,
- G_TYPE_STRING);
-
- /**
- * WebKitWebView::hovering-over-link:
- * @web_view: the object on which the signal is emitted
- * @title: the link's title
- * @uri: the URI the link points to
- *
- * When the cursor is over a link, this signal is emitted.
- */
- webkit_web_view_signals[HOVERING_OVER_LINK] = g_signal_new("hovering-over-link",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- webkit_marshal_VOID__STRING_STRING,
- G_TYPE_NONE, 2,
- G_TYPE_STRING,
- G_TYPE_STRING);
-
- /**
- * WebKitWebView::populate-popup:
- * @web_view: the object on which the signal is emitted
- * @menu: the context menu
- *
- * When a context menu is about to be displayed this signal is emitted.
- *
- * Add menu items to #menu to extend the context menu.
- *
- * Deprecated: 1.10: Use #WebKitWebView::context-menu signal instead.
- */
- webkit_web_view_signals[POPULATE_POPUP] = g_signal_new("populate-popup",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1,
- GTK_TYPE_MENU);
-
- /**
- * WebKitWebView::print-requested:
- * @web_view: the object in which the signal is emitted
- * @web_frame: the frame that is requesting to be printed
- *
- * Emitted when printing is requested by the frame, usually
- * because of a javascript call. When handling this signal you
- * should call webkit_web_frame_print_full() or
- * webkit_web_frame_print() to do the actual printing.
- *
- * The default handler will present a print dialog and carry a
- * print operation. Notice that this means that if you intend to
- * ignore a print request you must connect to this signal, and
- * return %TRUE.
- *
- * Return value: %TRUE if the print request has been handled, %FALSE if
- * the default handler should run
- *
- * Since: 1.1.5
- */
- webkit_web_view_signals[PRINT_REQUESTED] = g_signal_new("print-requested",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__OBJECT,
- G_TYPE_BOOLEAN, 1,
- WEBKIT_TYPE_WEB_FRAME);
-
- webkit_web_view_signals[STATUS_BAR_TEXT_CHANGED] = g_signal_new("status-bar-text-changed",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__STRING,
- G_TYPE_NONE, 1,
- G_TYPE_STRING);
-
- /**
- * WebKitWebView::icon-loaded:
- * @web_view: the object on which the signal is emitted
- * @icon_uri: the URI for the icon
- *
- * This signal is emitted when the main frame has got a favicon.
- * See WebKitIconDatabase::icon-loaded if you want to keep track of
- * icons for child frames.
- *
- * Since: 1.1.18
- */
- webkit_web_view_signals[ICON_LOADED] = g_signal_new("icon-loaded",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- 0,
- NULL,
- NULL,
- g_cclosure_marshal_VOID__STRING,
- G_TYPE_NONE, 1,
- G_TYPE_STRING);
-
- /**
- * WebKitWebView::console-message:
- * @web_view: the object on which the signal is emitted
- * @message: the message text
- * @line: the line where the error occured
- * @source_id: the source id
- *
- * A JavaScript console message was created.
- *
- * Return value: %TRUE to stop other handlers from being invoked for the
- * event. %FALSE to propagate the event further.
- */
- webkit_web_view_signals[CONSOLE_MESSAGE] = g_signal_new("console-message",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(WebKitWebViewClass, console_message),
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__STRING_INT_STRING,
- G_TYPE_BOOLEAN, 3,
- G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING);
-
- /**
- * WebKitWebView::script-alert:
- * @web_view: the object on which the signal is emitted
- * @frame: the relevant frame
- * @message: the message text
- *
- * A JavaScript alert dialog was created.
- *
- * Return value: %TRUE to stop other handlers from being invoked for the
- * event. %FALSE to propagate the event further.
- */
- webkit_web_view_signals[SCRIPT_ALERT] = g_signal_new("script-alert",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(WebKitWebViewClass, script_alert),
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__OBJECT_STRING,
- G_TYPE_BOOLEAN, 2,
- WEBKIT_TYPE_WEB_FRAME, G_TYPE_STRING);
-
- /**
- * WebKitWebView::script-confirm:
- * @web_view: the object on which the signal is emitted
- * @frame: the relevant frame
- * @message: the message text
- * @confirmed: a pointer to a #gboolean where the callback should store
- * whether the user confirmed the dialog, when handling this signal
- *
- * A JavaScript confirm dialog was created, providing Yes and No buttons.
- *
- * Return value: %TRUE to stop other handlers from being invoked for the
- * event. %FALSE to propagate the event further.
- */
- webkit_web_view_signals[SCRIPT_CONFIRM] = g_signal_new("script-confirm",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(WebKitWebViewClass, script_confirm),
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__OBJECT_STRING_POINTER,
- G_TYPE_BOOLEAN, 3,
- WEBKIT_TYPE_WEB_FRAME, G_TYPE_STRING, G_TYPE_POINTER);
-
- /**
- * WebKitWebView::script-prompt:
- * @web_view: the object on which the signal is emitted
- * @frame: the relevant frame
- * @message: the message text
- * @default: the default value
- * @text: To be filled with the return value or NULL if the dialog was cancelled.
- *
- * A JavaScript prompt dialog was created, providing an entry to input text.
- *
- * Return value: %TRUE to stop other handlers from being invoked for the
- * event. %FALSE to propagate the event further.
- */
- webkit_web_view_signals[SCRIPT_PROMPT] = g_signal_new("script-prompt",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(WebKitWebViewClass, script_prompt),
- g_signal_accumulator_true_handled,
- NULL,
- webkit_marshal_BOOLEAN__OBJECT_STRING_STRING_STRING,
- G_TYPE_BOOLEAN, 4,
- WEBKIT_TYPE_WEB_FRAME, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER);
-
- /**
- * WebKitWebView::select-all:
- * @web_view: the object which received the signal
- *
- * The #WebKitWebView::select-all signal is a keybinding signal which gets emitted to
- * select the complete contents of the text view.
- *
- * The default bindings for this signal is Ctrl-a.
- */
- webkit_web_view_signals[::SELECT_ALL] = g_signal_new("select-all",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, select_all),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- /**
- * WebKitWebView::cut-clipboard:
- * @web_view: the object which received the signal
- *
- * The #WebKitWebView::cut-clipboard signal is a keybinding signal which gets emitted to
- * cut the selection to the clipboard.
- *
- * The default bindings for this signal are Ctrl-x and Shift-Delete.
- */
- webkit_web_view_signals[CUT_CLIPBOARD] = g_signal_new("cut-clipboard",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, cut_clipboard),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- /**
- * WebKitWebView::copy-clipboard:
- * @web_view: the object which received the signal
- *
- * The #WebKitWebView::copy-clipboard signal is a keybinding signal which gets emitted to
- * copy the selection to the clipboard.
- *
- * The default bindings for this signal are Ctrl-c and Ctrl-Insert.
- */
- webkit_web_view_signals[COPY_CLIPBOARD] = g_signal_new("copy-clipboard",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, copy_clipboard),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- /**
- * WebKitWebView::paste-clipboard:
- * @web_view: the object which received the signal
- *
- * The #WebKitWebView::paste-clipboard signal is a keybinding signal which gets emitted to
- * paste the contents of the clipboard into the Web view.
- *
- * The default bindings for this signal are Ctrl-v and Shift-Insert.
- */
- webkit_web_view_signals[PASTE_CLIPBOARD] = g_signal_new("paste-clipboard",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, paste_clipboard),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- /**
- * WebKitWebView::undo:
- * @web_view: the object which received the signal
- *
- * The #WebKitWebView::undo signal is a keybinding signal which gets emitted to
- * undo the last editing command.
- *
- * The default binding for this signal is Ctrl-z
- *
- * Since: 1.1.14
- */
- webkit_web_view_signals[UNDO] = g_signal_new("undo",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, undo),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- /**
- * WebKitWebView::redo:
- * @web_view: the object which received the signal
- *
- * The #WebKitWebView::redo signal is a keybinding signal which gets emitted to
- * redo the last editing command.
- *
- * The default binding for this signal is Ctrl-Shift-z
- *
- * Since: 1.1.14
- */
- webkit_web_view_signals[REDO] = g_signal_new("redo",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, redo),
- NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- /**
- * WebKitWebView::move-cursor:
- * @web_view: the object which received the signal
- * @step: the type of movement, one of #GtkMovementStep
- * @count: an integer indicating the subtype of movement. Currently
- * the permitted values are '1' = forward, '-1' = backwards.
- *
- * The #WebKitWebView::move-cursor will be emitted to apply the
- * cursor movement described by its parameters to the @view.
- *
- * Return value: %TRUE or %FALSE
- *
- * Since: 1.1.4
- */
- webkit_web_view_signals[MOVE_CURSOR] = g_signal_new("move-cursor",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, move_cursor),
- NULL, NULL,
- webkit_marshal_BOOLEAN__ENUM_INT,
- G_TYPE_BOOLEAN, 2,
- GTK_TYPE_MOVEMENT_STEP,
- G_TYPE_INT);
-
- /**
- * WebKitWebView::create-plugin-widget:
- * @web_view: the object which received the signal
- * @mime_type: the mimetype of the requested object
- * @uri: the URI to load
- * @param: a #GHashTable with additional attributes (strings)
- *
- * The #WebKitWebView::create-plugin-widget signal will be emitted to
- * create a plugin widget for embed or object HTML tags. This
- * allows to embed a GtkWidget as a plugin into HTML content. In
- * case of a textual selection of the GtkWidget WebCore will attempt
- * to set the property value of "webkit-widget-is-selected". This can
- * be used to draw a visual indicator of the selection.
- *
- * Return value: (transfer full): a new #GtkWidget, or %NULL
- *
- * Since: 1.1.8
- */
- webkit_web_view_signals[PLUGIN_WIDGET] = g_signal_new("create-plugin-widget",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags) (G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- 0,
- webkit_signal_accumulator_object_handled,
- NULL,
- webkit_marshal_OBJECT__STRING_STRING_POINTER,
- GTK_TYPE_WIDGET, 3,
- G_TYPE_STRING, G_TYPE_STRING, G_TYPE_HASH_TABLE);
-
- /**
- * WebKitWebView::database-quota-exceeded:
- * @web_view: the object which received the signal
- * @frame: the relevant frame
- * @database: the #WebKitWebDatabase which exceeded the quota of its #WebKitSecurityOrigin
- *
- * The #WebKitWebView::database-quota-exceeded signal will be emitted when
- * a Web Database exceeds the quota of its security origin. This signal
- * may be used to increase the size of the quota before the originating
- * operation fails.
- *
- * Since: 1.1.14
- */
- webkit_web_view_signals[DATABASE_QUOTA_EXCEEDED] = g_signal_new("database-quota-exceeded",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags) (G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- 0,
- NULL, NULL,
- webkit_marshal_VOID__OBJECT_OBJECT,
- G_TYPE_NONE, 2,
- G_TYPE_OBJECT, G_TYPE_OBJECT);
-
- /**
- * WebKitWebView::resource-request-starting:
- * @web_view: the object which received the signal
- * @web_frame: the #WebKitWebFrame whose load dispatched this request
- * @web_resource: an empty #WebKitWebResource object
- * @request: the #WebKitNetworkRequest that will be dispatched
- * @response: the #WebKitNetworkResponse representing the redirect
- * response, if any
- *
- * Emitted when a request is about to be sent. You can modify the
- * request while handling this signal. You can set the URI in the
- * #WebKitNetworkRequest object itself, and add/remove/replace
- * headers using the #SoupMessage object it carries, if it is
- * present. See webkit_network_request_get_message(). Setting the
- * request URI to "about:blank" will effectively cause the request
- * to load nothing, and can be used to disable the loading of
- * specific resources.
- *
- * Notice that information about an eventual redirect is available
- * in @response's #SoupMessage, not in the #SoupMessage carried by
- * the @request. If @response is %NULL, then this is not a
- * redirected request.
- *
- * The #WebKitWebResource object will be the same throughout all
- * the lifetime of the resource, but the contents may change from
- * inbetween signal emissions.
- *
- * Since: 1.1.14
- */
- webkit_web_view_signals[RESOURCE_REQUEST_STARTING] = g_signal_new("resource-request-starting",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- 0,
- NULL, NULL,
- webkit_marshal_VOID__OBJECT_OBJECT_OBJECT_OBJECT,
- G_TYPE_NONE, 4,
- WEBKIT_TYPE_WEB_FRAME,
- WEBKIT_TYPE_WEB_RESOURCE,
- WEBKIT_TYPE_NETWORK_REQUEST,
- WEBKIT_TYPE_NETWORK_RESPONSE);
-
- /**
- * WebKitWebView::geolocation-policy-decision-requested:
- * @web_view: the object on which the signal is emitted
- * @frame: the frame that requests permission
- * @policy_decision: a WebKitGeolocationPolicyDecision
- *
- * This signal is emitted when a @frame wants to obtain the user's
- * location. The decision can be made asynchronously, but you must
- * call g_object_ref() the @policy_decision, and return %TRUE if
- * you are going to handle the request. To actually make the
- * decision you need to call webkit_geolocation_policy_allow() or
- * webkit_geolocation_policy_deny() on @policy_decision.
- *
- * Since: 1.1.23
- */
- webkit_web_view_signals[GEOLOCATION_POLICY_DECISION_REQUESTED] = g_signal_new("geolocation-policy-decision-requested",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST),
- 0,
- NULL, NULL,
- webkit_marshal_BOOLEAN__OBJECT_OBJECT,
- G_TYPE_BOOLEAN, 2,
- WEBKIT_TYPE_WEB_FRAME,
- WEBKIT_TYPE_GEOLOCATION_POLICY_DECISION);
-
- /**
- * WebKitWebView::geolocation-policy-decision-cancelled:
- * @web_view: the object on which the signal is emitted
- * @frame: the frame that cancels geolocation request.
- *
- * When a @frame wants to cancel geolocation permission it had requested
- * before.
- *
- * Since: 1.1.23
- */
- webkit_web_view_signals[GEOLOCATION_POLICY_DECISION_CANCELLED] = g_signal_new("geolocation-policy-decision-cancelled",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST),
- 0,
- NULL, NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1,
- WEBKIT_TYPE_WEB_FRAME);
-
- /*
- * DOM-related signals. These signals are experimental, for now,
- * and may change API and ABI. Their comments lack one * on
- * purpose, to make them not be catched by gtk-doc.
- */
-
- /**
- * WebKitWebView::document-load-finished:
- * @web_view: the object which received the signal
- * @web_frame: the #WebKitWebFrame whose load dispatched this request
- *
- * Emitted when the DOM document object load is finished for the
- * given frame.
- */
- webkit_web_view_signals[DOCUMENT_LOAD_FINISHED] = g_signal_new("document-load-finished",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- 0,
- NULL, NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1,
- WEBKIT_TYPE_WEB_FRAME);
-
- /**
- * WebKitWebView::frame-created:
- * @web_view: the object which received the signal
- * @web_frame: the #WebKitWebFrame which was just created.
- *
- * Emitted when a WebKitWebView has created a new frame. This signal will
- * be emitted for all sub-frames created during page load. It will not be
- * emitted for the main frame, which originates in the WebKitWebView constructor
- * and may be accessed at any time using webkit_web_view_get_main_frame.
- *
- * Since: 1.3.4
- */
- webkit_web_view_signals[FRAME_CREATED] = g_signal_new("frame-created",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- 0,
- NULL, NULL,
- g_cclosure_marshal_VOID__OBJECT,
- G_TYPE_NONE, 1,
- WEBKIT_TYPE_WEB_FRAME);
-
- /**
- * WebKitWebView::run-file-chooser:
- * @web_view: the #WebKitWebView on which the signal is emitted
- * @request: a #WebKitFileChooserRequest
- *
- * This signal is emitted when the user interacts with a &lt;input
- * type='file' /&gt; HTML element, requesting from WebKit to show
- * a dialog to select one or more files to be uploaded. To let the
- * application know the details of the file chooser, as well as to
- * allow the client application to either cancel the request or
- * perform an actual selection of files, the signal will pass an
- * instance of the #WebKitFileChooserRequest in the @request
- * argument.
- *
- * The default signal handler will asynchronously run a regular
- * #GtkFileChooserDialog for the user to interact with.
- *
- * If this signal is to be handled asynchronously, you must
- * call g_object_ref() on the @request, and return %TRUE to indicate
- * that the request is being handled. When you are ready to complete the
- * request, call webkit_file_chooser_request_select_files().
- *
- * Returns: %TRUE to stop other handlers from being invoked for the event.
- * %FALSE to propagate the event further.
- *
- */
- webkit_web_view_signals[RUN_FILE_CHOOSER] = g_signal_new("run-file-chooser",
- G_TYPE_FROM_CLASS(webViewClass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(WebKitWebViewClass, run_file_chooser),
- g_signal_accumulator_true_handled, 0 /* accumulator data */,
- webkit_marshal_BOOLEAN__OBJECT,
- G_TYPE_BOOLEAN, 1, /* number of parameters */
- WEBKIT_TYPE_FILE_CHOOSER_REQUEST);
-
- /**
- * WebKitWebView::should-begin-editing:
- * @web_view: the #WebKitWebView on which the signal is emitted
- * @range: a #WebKitDOMRange
- *
- */
- webkit_web_view_signals[SHOULD_BEGIN_EDITING] = g_signal_new("should-begin-editing",
- G_TYPE_FROM_CLASS(webViewClass),
- static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, should_allow_editing_action),
- g_signal_accumulator_first_wins, 0,
- webkit_marshal_BOOLEAN__OBJECT,
- G_TYPE_BOOLEAN, 1,
- WEBKIT_TYPE_DOM_RANGE);
-
- /**
- * WebKitWebView::should-end-editing:
- * @web_view: the #WebKitWebView on which the signal is emitted
- * @range: a #WebKitDOMRange
- *
- */
- webkit_web_view_signals[SHOULD_END_EDITING] = g_signal_new("should-end-editing",
- G_TYPE_FROM_CLASS(webViewClass),
- static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, should_allow_editing_action),
- g_signal_accumulator_first_wins, 0,
- webkit_marshal_BOOLEAN__OBJECT,
- G_TYPE_BOOLEAN, 1,
- WEBKIT_TYPE_DOM_RANGE);
-
- /**
- * WebKitWebView::should-insert-node:
- * @web_view: the #WebKitWebView on which the signal is emitted
- * @node: a #WebKitDOMNode
- * @range: a #WebKitDOMRange
- * @action: a #WebKitInsertAction
- *
- */
- webkit_web_view_signals[SHOULD_INSERT_NODE] = g_signal_new("should-insert-node",
- G_TYPE_FROM_CLASS(webViewClass),
- static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, should_allow_editing_action),
- g_signal_accumulator_first_wins, 0,
- webkit_marshal_BOOLEAN__OBJECT_OBJECT_ENUM,
- G_TYPE_BOOLEAN, 3,
- WEBKIT_TYPE_DOM_NODE,
- WEBKIT_TYPE_DOM_RANGE,
- WEBKIT_TYPE_INSERT_ACTION);
-
- /**
- * WebKitWebView::should-insert-text:
- * @web_view: the #WebKitWebView on which the signal is emitted
- * @string: a string
- * @range: a #WebKitDOMRange
- * @action: a #WebKitInsertAction
- *
- */
- webkit_web_view_signals[SHOULD_INSERT_TEXT] = g_signal_new("should-insert-text",
- G_TYPE_FROM_CLASS(webViewClass),
- static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, should_allow_editing_action),
- g_signal_accumulator_first_wins, 0,
- webkit_marshal_BOOLEAN__STRING_OBJECT_ENUM,
- G_TYPE_BOOLEAN, 3,
- G_TYPE_STRING,
- WEBKIT_TYPE_DOM_RANGE,
- WEBKIT_TYPE_INSERT_ACTION);
-
- // Only exists for GTK+ API compatibility.
- /**
- * WebKitWebView::should-delete-range:
- * @web_view: the #WebKitWebView on which the signal is emitted
- * @range: a #WebKitDOMRange
- *
- */
- webkit_web_view_signals[SHOULD_DELETE_RANGE] = g_signal_new("should-delete-range",
- G_TYPE_FROM_CLASS(webViewClass),
- static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, should_allow_editing_action),
- g_signal_accumulator_first_wins, 0,
- webkit_marshal_BOOLEAN__OBJECT,
- G_TYPE_BOOLEAN, 1,
- WEBKIT_TYPE_DOM_RANGE);
-
- /**
- * WebKitWebView::should-show-delete-interface-for-element:
- * @web_view: the #WebKitWebView on which the signal is emitted
- * @element: a #WebKitDOMHtmlElement
- *
- */
- webkit_web_view_signals[SHOULD_SHOW_DELETE_INTERFACE_FOR_ELEMENT] = g_signal_new("should-show-delete-interface-for-element",
- G_TYPE_FROM_CLASS(webViewClass),
- static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- 0,
- g_signal_accumulator_first_wins, 0,
- webkit_marshal_BOOLEAN__OBJECT,
- G_TYPE_BOOLEAN, 1,
- WEBKIT_TYPE_DOM_HTML_ELEMENT);
-
- /**
- * WebKitWebView::should-change-selected-range:
- * @web_view: the #WebKitWebView on which the signal is emitted
- * @fromRange: a #WebKitDOMRange
- * @toRange: a #WebKitDOMRange
- * @affinity: a #WebKitElectionAffinity
- * @stillSelecting: bool
- *
- */
- webkit_web_view_signals[SHOULD_CHANGE_SELECTED_RANGE] = g_signal_new("should-change-selected-range",
- G_TYPE_FROM_CLASS(webViewClass),
- static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, should_allow_editing_action),
- g_signal_accumulator_first_wins, 0,
- webkit_marshal_BOOLEAN__OBJECT_OBJECT_ENUM_BOOLEAN,
- G_TYPE_BOOLEAN, 4,
- WEBKIT_TYPE_DOM_RANGE,
- WEBKIT_TYPE_DOM_RANGE,
- WEBKIT_TYPE_SELECTION_AFFINITY,
- G_TYPE_BOOLEAN);
-
- /**
- * WebKitWebView::should-apply-style:
- * @web_view: the #WebKitWebView on which the signal is emitted
- * @set: a #WebKitDOMCSSStyleDeclaration
- * @range: a #WebKitDOMRange
- *
- */
- webkit_web_view_signals[SHOULD_APPLY_STYLE] = g_signal_new("should-apply-style",
- G_TYPE_FROM_CLASS(webViewClass),
- static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, should_allow_editing_action),
- g_signal_accumulator_first_wins, 0,
- webkit_marshal_BOOLEAN__OBJECT_OBJECT,
- G_TYPE_BOOLEAN, 2,
- WEBKIT_TYPE_DOM_CSS_STYLE_DECLARATION,
- WEBKIT_TYPE_DOM_RANGE);
-
- /**
- * WebKitWebView::editing-began:
- * @web_view: the #WebKitWebView on which the signal is emitted
- *
- */
- webkit_web_view_signals[EDITING_BEGAN] = g_signal_new("editing-began",
- G_TYPE_FROM_CLASS(webViewClass),
- static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- 0,
- 0, 0,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- /**
- * WebKitWebView::user-changed-contents:
- * @web_view: the #WebKitWebView on which the signal is emitted
- *
- */
- webkit_web_view_signals[USER_CHANGED_CONTENTS] = g_signal_new("user-changed-contents",
- G_TYPE_FROM_CLASS(webViewClass),
- static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- 0,
- 0, 0,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- /**
- * WebKitWebView::editing-ended:
- * @web_view: the #WebKitWebView on which the signal is emitted
- *
- */
- webkit_web_view_signals[EDITING_ENDED] = g_signal_new("editing-ended",
- G_TYPE_FROM_CLASS(webViewClass),
- static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- 0,
- 0, 0,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0);
-
- /**
- * WebKitWebView::selection-changed:
- * @web_view: the #WebKitWebView on which the signal is emitted
- *
- */
- webkit_web_view_signals[SELECTION_CHANGED] = g_signal_new("selection-changed",
- G_TYPE_FROM_CLASS(webViewClass),
- static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- 0,
- 0, 0,
- 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);
-
- /**
- * WebKitWebView::entering-fullscreen:
- * @web_view: the #WebKitWebView on which the signal is emitted.
- * @element: the #WebKitDOMHTMLElement which has requested full screen display.
- *
- * Emitted when JavaScript code calls
- * <function>element.webkitRequestFullScreen</function>. If the
- * signal is not handled the WebView will proceed to full screen
- * its top level window. This signal can be used by client code to
- * request permission to the user prior doing the full screen
- * transition and eventually prepare the top-level window
- * (e.g. hide some widgets that would otherwise be part of the
- * full screen window).
- *
- * Returns: %TRUE to stop other handlers from being invoked for the event.
- * %FALSE to continue emission of the event.
- *
- * Since: 1.9.0
- */
- webkit_web_view_signals[ENTERING_FULLSCREEN] = g_signal_new("entering-fullscreen",
- G_TYPE_FROM_CLASS(webViewClass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(WebKitWebViewClass, entering_fullscreen),
- g_signal_accumulator_true_handled, 0,
- webkit_marshal_BOOLEAN__OBJECT,
- G_TYPE_BOOLEAN, 1, WEBKIT_TYPE_DOM_HTML_ELEMENT);
-
-
- /**
- * WebKitWebView::leaving-fullscreen:
- * @web_view: the #WebKitWebView on which the signal is emitted.
- * @element: the #WebKitDOMHTMLElement which is currently displayed full screen.
- *
- * Emitted when the WebView is about to restore its top level
- * window out of its full screen state. This signal can be used by
- * client code to restore widgets hidden during the
- * entering-fullscreen stage for instance.
- *
- * Returns: %TRUE to stop other handlers from being invoked for the event.
- * %FALSE to continue emission of the event.
- *
- * Since: 1.9.0
- */
- webkit_web_view_signals[LEAVING_FULLSCREEN] = g_signal_new("leaving-fullscreen",
- G_TYPE_FROM_CLASS(webViewClass),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET(WebKitWebViewClass, leaving_fullscreen),
- g_signal_accumulator_true_handled, 0,
- webkit_marshal_BOOLEAN__OBJECT,
- G_TYPE_BOOLEAN, 1, WEBKIT_TYPE_DOM_HTML_ELEMENT);
-
- /**
- * WebKitWebView::resource-response-received:
- * @web_view: the object which received the signal
- * @web_frame: the #WebKitWebFrame the response was received for
- * @web_resource: the #WebKitWebResource being loaded
- * @response: the #WebKitNetworkResponse that was received
- *
- * Emitted when the first byte of data arrives
- *
- * Since: 1.7.5
- */
- webkit_web_view_signals[RESOURCE_RESPONSE_RECEIVED] = g_signal_new("resource-response-received",
- G_TYPE_FROM_CLASS(webViewClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- webkit_marshal_VOID__OBJECT_OBJECT_OBJECT,
- G_TYPE_NONE, 3,
- WEBKIT_TYPE_WEB_FRAME,
- WEBKIT_TYPE_WEB_RESOURCE,
- WEBKIT_TYPE_NETWORK_RESPONSE);
-
- /**
- * WebKitWebView::resource-load-finished:
- * @web_view: the object which received the signal
- * @web_frame: the #WebKitWebFrame the response was received for
- * @web_resource: the #WebKitWebResource that was loaded
- *
- * Emitted when all the data for the resource was loaded
- *
- * Since: 1.7.5
- */
- webkit_web_view_signals[RESOURCE_LOAD_FINISHED] = g_signal_new("resource-load-finished",
- G_TYPE_FROM_CLASS(webViewClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- webkit_marshal_VOID__OBJECT_OBJECT,
- G_TYPE_NONE, 2,
- WEBKIT_TYPE_WEB_FRAME,
- WEBKIT_TYPE_WEB_RESOURCE);
-
- /**
- * WebKitWebView::resource-content-length-received:
- * @web_view: the object which received the signal
- * @web_frame: the #WebKitWebFrame the response was received for
- * @web_resource: the #WebKitWebResource that was loaded
- * @length_received: the amount of data received since the last signal emission
- *
- * Emitted when new resource data has been received. The
- * @length_received variable stores the amount of bytes received
- * since the last time this signal was emitted. This is useful to
- * provide progress information about the resource load operation.
- *
- * Since: 1.7.5
- */
- webkit_web_view_signals[RESOURCE_CONTENT_LENGTH_RECEIVED] = g_signal_new("resource-content-length-received",
- G_TYPE_FROM_CLASS(webViewClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- webkit_marshal_VOID__OBJECT_OBJECT_INT,
- G_TYPE_NONE, 3,
- WEBKIT_TYPE_WEB_FRAME,
- WEBKIT_TYPE_WEB_RESOURCE,
- G_TYPE_INT);
-
- /**
- * WebKitWebView::resource-load-failed:
- * @web_view: the object which received the signal
- * @web_frame: the #WebKitWebFrame the response was received for
- * @web_resource: the #WebKitWebResource that was loaded
- * @error: the #GError that was triggered
- *
- * Invoked when a resource failed to load
- *
- * Since: 1.7.5
- */
- webkit_web_view_signals[RESOURCE_LOAD_FAILED] = g_signal_new("resource-load-failed",
- G_TYPE_FROM_CLASS(webViewClass),
- G_SIGNAL_RUN_LAST,
- 0,
- 0, 0,
- webkit_marshal_VOID__OBJECT_OBJECT_BOXED,
- G_TYPE_NONE, 3,
- WEBKIT_TYPE_WEB_FRAME,
- WEBKIT_TYPE_WEB_RESOURCE,
- G_TYPE_ERROR);
-
- /**
- * WebKitWebView::context-menu:
- * @web_view: the object which received the signal
- * @default_menu: the default context menu
- * @hit_test_result: a #WebKitHitTestResult with the context of the current position.
- * @triggered_with_keyboard: %TRUE if the context menu was triggered using the keyboard
- *
- * Emmited when a context menu is about to be displayed to give the application
- * a chance to create and handle its own context menu. If you only want to add custom
- * options to the default context menu you can simply modify the given @default_menu.
- *
- * When @triggered_with_keyboard is %TRUE the coordinates of the given @hit_test_result should be
- * used to position the popup menu. When the context menu has been triggered by a
- * mouse event you could either use the @hit_test_result coordinates or pass %NULL
- * to the #GtkMenuPositionFunc parameter of gtk_menu_popup() function.
- * Note that coordinates of @hit_test_result are relative to @web_view window.
- *
- * If your application will create and display its own popup menu, %TRUE should be returned.
- * Note that when the context menu is handled by the application, the #WebKitWebSettings:enable-default-context-menu
- * setting will be ignored and the #WebKitWebView::populate-popup signal won't be emitted.
- * If you don't want any context menu to be shown, you can simply connect to this signal
- * and return %TRUE without doing anything else.
- *
- * Since: 1.10
- */
- webkit_web_view_signals[CONTEXT_MENU] = g_signal_new("context-menu",
- G_TYPE_FROM_CLASS(webViewClass),
- G_SIGNAL_RUN_LAST,
- 0, 0, 0,
- webkit_marshal_BOOLEAN__OBJECT_OBJECT_BOOLEAN,
- G_TYPE_BOOLEAN, 3,
- GTK_TYPE_WIDGET,
- WEBKIT_TYPE_HIT_TEST_RESULT,
- G_TYPE_BOOLEAN);
-
- /*
- * implementations of virtual methods
- */
- webViewClass->create_web_view = webkit_web_view_real_create_web_view;
- webViewClass->web_view_ready = webkit_web_view_real_web_view_ready;
- webViewClass->close_web_view = webkit_web_view_real_close_web_view;
- webViewClass->navigation_requested = webkit_web_view_real_navigation_requested;
- webViewClass->window_object_cleared = webkit_web_view_real_window_object_cleared;
- webViewClass->choose_file = webkit_web_view_real_choose_file;
- webViewClass->script_alert = webkit_web_view_real_script_alert;
- webViewClass->script_confirm = webkit_web_view_real_script_confirm;
- webViewClass->script_prompt = webkit_web_view_real_script_prompt;
- webViewClass->console_message = webkit_web_view_real_console_message;
- webViewClass->select_all = webkit_web_view_real_select_all;
- webViewClass->cut_clipboard = webkit_web_view_real_cut_clipboard;
- webViewClass->copy_clipboard = webkit_web_view_real_copy_clipboard;
- webViewClass->paste_clipboard = webkit_web_view_real_paste_clipboard;
- webViewClass->undo = webkit_web_view_real_undo;
- webViewClass->redo = webkit_web_view_real_redo;
- webViewClass->move_cursor = webkit_web_view_real_move_cursor;
- webViewClass->should_allow_editing_action = webkit_web_view_real_should_allow_editing_action;
- webViewClass->entering_fullscreen = webkit_web_view_real_entering_fullscreen;
- webViewClass->leaving_fullscreen = webkit_web_view_real_leaving_fullscreen;
- webViewClass->run_file_chooser = webkitWebViewRealRunFileChooser;
-
- GObjectClass* objectClass = G_OBJECT_CLASS(webViewClass);
- objectClass->dispose = webkit_web_view_dispose;
- objectClass->finalize = webkit_web_view_finalize;
- objectClass->get_property = webkit_web_view_get_property;
- objectClass->set_property = webkit_web_view_set_property;
-
- GtkWidgetClass* widgetClass = GTK_WIDGET_CLASS(webViewClass);
- widgetClass->realize = webkit_web_view_realize;
-#ifdef GTK_API_VERSION_2
- widgetClass->expose_event = webkit_web_view_expose_event;
-#else
- widgetClass->draw = webkit_web_view_draw;
-#endif
- widgetClass->key_press_event = webkit_web_view_key_press_event;
- widgetClass->key_release_event = webkit_web_view_key_release_event;
- widgetClass->button_press_event = webkit_web_view_button_press_event;
- widgetClass->button_release_event = webkit_web_view_button_release_event;
- widgetClass->motion_notify_event = webkit_web_view_motion_event;
- widgetClass->scroll_event = webkit_web_view_scroll_event;
- widgetClass->size_allocate = webkit_web_view_size_allocate;
-#ifdef GTK_API_VERSION_2
- widgetClass->size_request = webkit_web_view_size_request;
-#else
- widgetClass->get_preferred_width = webkit_web_view_get_preferred_width;
- widgetClass->get_preferred_height = webkit_web_view_get_preferred_height;
-#endif
-#if ENABLE(CONTEXT_MENUS)
- widgetClass->popup_menu = webkit_web_view_popup_menu_handler;
-#else
- widgetClass->popup_menu = NULL;
-#endif
- widgetClass->grab_focus = webkit_web_view_grab_focus;
- widgetClass->focus_in_event = webkit_web_view_focus_in_event;
- widgetClass->focus_out_event = webkit_web_view_focus_out_event;
- widgetClass->get_accessible = webkit_web_view_get_accessible;
- widgetClass->screen_changed = webkit_web_view_screen_changed;
-#if ENABLE(DRAG_SUPPORT)
- widgetClass->drag_end = webkit_web_view_drag_end;
- widgetClass->drag_data_get = webkit_web_view_drag_data_get;
- widgetClass->drag_motion = webkit_web_view_drag_motion;
- widgetClass->drag_leave = webkit_web_view_drag_leave;
- widgetClass->drag_drop = webkit_web_view_drag_drop;
- widgetClass->drag_data_received = webkit_web_view_drag_data_received;
-#else
- widgetClass->drag_end = NULL;
- widgetClass->drag_data_get = NULL;
- widgetClass->drag_motion = NULL;
- widgetClass->drag_leave = NULL;
- widgetClass->drag_drop = NULL;
- widgetClass->drag_data_received = NULL;
-#endif
- widgetClass->query_tooltip = webkit_web_view_query_tooltip;
- widgetClass->show_help = webkit_web_view_show_help;
- widgetClass->map = webkitWebViewMap;
-
- GtkContainerClass* containerClass = GTK_CONTAINER_CLASS(webViewClass);
- containerClass->add = webkit_web_view_container_add;
- containerClass->remove = webkit_web_view_container_remove;
- containerClass->forall = webkit_web_view_container_forall;
-
- /*
- * make us scrollable (e.g. addable to a GtkScrolledWindow)
- */
-#ifdef GTK_API_VERSION_2
- webViewClass->set_scroll_adjustments = webkit_web_view_set_scroll_adjustments;
- GTK_WIDGET_CLASS(webViewClass)->set_scroll_adjustments_signal = g_signal_new("set-scroll-adjustments",
- G_TYPE_FROM_CLASS(webViewClass),
- (GSignalFlags)(G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION),
- G_STRUCT_OFFSET(WebKitWebViewClass, set_scroll_adjustments),
- NULL, NULL,
- webkit_marshal_VOID__OBJECT_OBJECT,
- G_TYPE_NONE, 2,
- GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT);
-#else
- g_object_class_override_property(objectClass, PROP_HADJUSTMENT, "hadjustment");
- g_object_class_override_property(objectClass, PROP_VADJUSTMENT, "vadjustment");
- g_object_class_override_property(objectClass, PROP_HSCROLL_POLICY, "hscroll-policy");
- g_object_class_override_property(objectClass, PROP_VSCROLL_POLICY, "vscroll-policy");
-#endif
-
- /*
- * Key bindings
- */
-
- binding_set = gtk_binding_set_by_class(webViewClass);
-
- gtk_binding_entry_add_signal(binding_set, GDK_a, GDK_CONTROL_MASK,
- "select_all", 0);
-
- /* Cut/copy/paste */
-
- gtk_binding_entry_add_signal(binding_set, GDK_x, GDK_CONTROL_MASK,
- "cut_clipboard", 0);
- gtk_binding_entry_add_signal(binding_set, GDK_c, GDK_CONTROL_MASK,
- "copy_clipboard", 0);
- gtk_binding_entry_add_signal(binding_set, GDK_v, GDK_CONTROL_MASK,
- "paste_clipboard", 0);
- gtk_binding_entry_add_signal(binding_set, GDK_z, GDK_CONTROL_MASK,
- "undo", 0);
- gtk_binding_entry_add_signal(binding_set, GDK_z, static_cast<GdkModifierType>(GDK_CONTROL_MASK | GDK_SHIFT_MASK),
- "redo", 0);
-
- gtk_binding_entry_add_signal(binding_set, GDK_Delete, GDK_SHIFT_MASK,
- "cut_clipboard", 0);
- gtk_binding_entry_add_signal(binding_set, GDK_Insert, GDK_CONTROL_MASK,
- "copy_clipboard", 0);
- gtk_binding_entry_add_signal(binding_set, GDK_Insert, GDK_SHIFT_MASK,
- "paste_clipboard", 0);
-
- /* Movement */
-
- gtk_binding_entry_add_signal(binding_set, GDK_Down, static_cast<GdkModifierType>(0),
- "move-cursor", 2,
- G_TYPE_ENUM, GTK_MOVEMENT_DISPLAY_LINES,
- G_TYPE_INT, 1);
- gtk_binding_entry_add_signal(binding_set, GDK_Up, static_cast<GdkModifierType>(0),
- "move-cursor", 2,
- G_TYPE_ENUM, GTK_MOVEMENT_DISPLAY_LINES,
- G_TYPE_INT, -1);
- gtk_binding_entry_add_signal(binding_set, GDK_Right, static_cast<GdkModifierType>(0),
- "move-cursor", 2,
- G_TYPE_ENUM, GTK_MOVEMENT_VISUAL_POSITIONS,
- G_TYPE_INT, 1);
- gtk_binding_entry_add_signal(binding_set, GDK_Left, static_cast<GdkModifierType>(0),
- "move-cursor", 2,
- G_TYPE_ENUM, GTK_MOVEMENT_VISUAL_POSITIONS,
- G_TYPE_INT, -1);
- gtk_binding_entry_add_signal(binding_set, GDK_space, static_cast<GdkModifierType>(0),
- "move-cursor", 2,
- G_TYPE_ENUM, GTK_MOVEMENT_PAGES,
- G_TYPE_INT, 1);
- gtk_binding_entry_add_signal(binding_set, GDK_space, GDK_SHIFT_MASK,
- "move-cursor", 2,
- G_TYPE_ENUM, GTK_MOVEMENT_PAGES,
- G_TYPE_INT, -1);
- gtk_binding_entry_add_signal(binding_set, GDK_Page_Down, static_cast<GdkModifierType>(0),
- "move-cursor", 2,
- G_TYPE_ENUM, GTK_MOVEMENT_PAGES,
- G_TYPE_INT, 1);
- gtk_binding_entry_add_signal(binding_set, GDK_Page_Up, static_cast<GdkModifierType>(0),
- "move-cursor", 2,
- G_TYPE_ENUM, GTK_MOVEMENT_PAGES,
- G_TYPE_INT, -1);
- gtk_binding_entry_add_signal(binding_set, GDK_End, static_cast<GdkModifierType>(0),
- "move-cursor", 2,
- G_TYPE_ENUM, GTK_MOVEMENT_BUFFER_ENDS,
- G_TYPE_INT, 1);
- gtk_binding_entry_add_signal(binding_set, GDK_Home, static_cast<GdkModifierType>(0),
- "move-cursor", 2,
- G_TYPE_ENUM, GTK_MOVEMENT_BUFFER_ENDS,
- G_TYPE_INT, -1);
-
- /*
- * properties
- */
-
- /**
- * WebKitWebView:title:
- *
- * Returns: the @web_view's document title.
- *
- * Since: 1.1.4
- */
- g_object_class_install_property(objectClass, PROP_TITLE,
- g_param_spec_string("title",
- _("Title"),
- _("Returns the @web_view's document title"),
- NULL,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebView:uri:
- *
- * Returns: the current URI of the contents displayed by the @web_view.
- *
- * Since: 1.1.4
- */
- g_object_class_install_property(objectClass, PROP_URI,
- g_param_spec_string("uri",
- _("URI"),
- _("Returns the current URI of the contents displayed by the @web_view"),
- NULL,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebView:copy-target-list:
- *
- * The list of targets this web view supports for clipboard copying.
- *
- * Since: 1.0.2
- */
- g_object_class_install_property(objectClass, PROP_COPY_TARGET_LIST,
- g_param_spec_boxed("copy-target-list",
- _("Copy target list"),
- _("The list of targets this web view supports for clipboard copying"),
- GTK_TYPE_TARGET_LIST,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebView:paste-target-list:
- *
- * The list of targets this web view supports for clipboard pasting.
- *
- * Since: 1.0.2
- */
- g_object_class_install_property(objectClass, PROP_PASTE_TARGET_LIST,
- g_param_spec_boxed("paste-target-list",
- _("Paste target list"),
- _("The list of targets this web view supports for clipboard pasting"),
- GTK_TYPE_TARGET_LIST,
- WEBKIT_PARAM_READABLE));
-
- g_object_class_install_property(objectClass, PROP_SETTINGS,
- g_param_spec_object("settings",
- _("Settings"),
- _("An associated WebKitWebSettings instance"),
- WEBKIT_TYPE_WEB_SETTINGS,
- WEBKIT_PARAM_READWRITE));
-
- /**
- * WebKitWebView:web-inspector:
- *
- * The associated WebKitWebInspector instance.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(objectClass, PROP_WEB_INSPECTOR,
- g_param_spec_object("web-inspector",
- _("Web Inspector"),
- _("The associated WebKitWebInspector instance"),
- WEBKIT_TYPE_WEB_INSPECTOR,
- 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.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(objectClass, PROP_WINDOW_FEATURES,
- g_param_spec_object("window-features",
- "Window Features",
- "An associated WebKitWebWindowFeatures instance",
- WEBKIT_TYPE_WEB_WINDOW_FEATURES,
- WEBKIT_PARAM_READWRITE));
-
- g_object_class_install_property(objectClass, PROP_EDITABLE,
- g_param_spec_boolean("editable",
- _("Editable"),
- _("Whether content can be modified by the user"),
- FALSE,
- WEBKIT_PARAM_READWRITE));
-
- g_object_class_install_property(objectClass, PROP_TRANSPARENT,
- g_param_spec_boolean("transparent",
- _("Transparent"),
- _("Whether content has a transparent background"),
- FALSE,
- WEBKIT_PARAM_READWRITE));
-
- /**
- * WebKitWebView:zoom-level:
- *
- * The level of zoom of the content.
- *
- * Since: 1.0.1
- */
- g_object_class_install_property(objectClass, PROP_ZOOM_LEVEL,
- g_param_spec_float("zoom-level",
- _("Zoom level"),
- _("The level of zoom of the content"),
- G_MINFLOAT,
- G_MAXFLOAT,
- 1.0f,
- WEBKIT_PARAM_READWRITE));
-
- /**
- * WebKitWebView:full-content-zoom:
- *
- * Whether the full content is scaled when zooming.
- *
- * Since: 1.0.1
- */
- g_object_class_install_property(objectClass, PROP_FULL_CONTENT_ZOOM,
- g_param_spec_boolean("full-content-zoom",
- _("Full content zoom"),
- _("Whether the full content is scaled when zooming"),
- FALSE,
- WEBKIT_PARAM_READWRITE));
-
- /**
- * WebKitWebView:encoding:
- *
- * The default encoding of the web view.
- *
- * Since: 1.1.2
- */
- g_object_class_install_property(objectClass, PROP_ENCODING,
- g_param_spec_string("encoding",
- _("Encoding"),
- _("The default encoding of the web view"),
- NULL,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebView:custom-encoding:
- *
- * The custom encoding of the web view.
- *
- * Since: 1.1.2
- */
- g_object_class_install_property(objectClass, PROP_CUSTOM_ENCODING,
- g_param_spec_string("custom-encoding",
- _("Custom Encoding"),
- _("The custom encoding of the web view"),
- NULL,
- WEBKIT_PARAM_READWRITE));
-
- /**
- * WebKitWebView:load-status:
- *
- * Determines the current status of the load.
- *
- * Connect to "notify::load-status" to monitor loading.
- *
- * Some versions of WebKitGTK+ emitted this signal for the default
- * error page, while loading it. This behavior was considered bad,
- * because it was essentially exposing an implementation
- * detail. From 1.1.19 onwards this signal is no longer emitted for
- * the default error pages, but keep in mind that if you override
- * the error pages by using webkit_web_frame_load_alternate_string()
- * the signals will be emitted.
- *
- * Since: 1.1.7
- */
- g_object_class_install_property(objectClass, PROP_LOAD_STATUS,
- g_param_spec_enum("load-status",
- "Load Status",
- "Determines the current status of the load",
- WEBKIT_TYPE_LOAD_STATUS,
- WEBKIT_LOAD_FINISHED,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebView:progress:
- *
- * Determines the current progress of the load.
- *
- * Since: 1.1.7
- */
- g_object_class_install_property(objectClass, PROP_PROGRESS,
- g_param_spec_double("progress",
- "Progress",
- "Determines the current progress of the load",
- 0.0, 1.0, 1.0,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebView:icon-uri:
- *
- * The URI for the favicon for the #WebKitWebView.
- *
- * Since: 1.1.18
- */
- g_object_class_install_property(objectClass, PROP_ICON_URI,
- g_param_spec_string("icon-uri",
- _("Icon URI"),
- _("The URI for the favicon for the #WebKitWebView."),
- NULL,
- WEBKIT_PARAM_READABLE));
- /**
- * WebKitWebView:im-context:
- *
- * The GtkIMMulticontext for the #WebKitWebView.
- *
- * This is the input method context used for all text entry widgets inside
- * the #WebKitWebView. It can be used to generate context menu items for
- * controlling the active input method.
- *
- * Since: 1.1.20
- */
- g_object_class_install_property(objectClass, PROP_IM_CONTEXT,
- g_param_spec_object("im-context",
- "IM Context",
- "The GtkIMMultiContext for the #WebKitWebView.",
- GTK_TYPE_IM_CONTEXT,
- WEBKIT_PARAM_READABLE));
-
- /**
- * WebKitWebView:view-mode:
- *
- * The "view-mode" media feature for the #WebKitWebView.
- *
- * The "view-mode" media feature is additional information for web
- * applications about how the application is running, when it comes
- * to user experience. Whether the application is running inside a
- * regular browser window, in a dedicated window, fullscreen, for
- * instance.
- *
- * This property stores a %WebKitWebViewViewMode value that matches
- * the "view-mode" media feature the web application will see.
- *
- * See http://www.w3.org/TR/view-mode/ for more information.
- *
- * Since: 1.3.4
- */
- g_object_class_install_property(objectClass, PROP_VIEW_MODE,
- g_param_spec_enum("view-mode",
- "View Mode",
- "The view-mode media feature for the #WebKitWebView.",
- WEBKIT_TYPE_WEB_VIEW_VIEW_MODE,
- WEBKIT_WEB_VIEW_VIEW_MODE_WINDOWED,
- WEBKIT_PARAM_READWRITE));
-
- // This property should be undocumented for now. It's only used by DRT.
- g_object_class_install_property(objectClass, PROP_SELF_SCROLLING,
- g_param_spec_boolean("self-scrolling", "Self-scrolling",
- "Whether or not this WebView draws its own scrollbars.",
- FALSE,
- static_cast<GParamFlags>(G_PARAM_CONSTRUCT_ONLY | WEBKIT_PARAM_READWRITE)));
-
- g_type_class_add_private(webViewClass, sizeof(WebKitWebViewPrivate));
-}
-
-static void webkit_web_view_update_settings(WebKitWebView* webView)
-{
- WebKitWebSettingsPrivate* settingsPrivate = webView->priv->webSettings->priv;
- Settings* coreSettings = core(webView)->settings();
-
- coreSettings->setDefaultTextEncodingName(settingsPrivate->defaultEncoding.data());
- coreSettings->setCursiveFontFamily(settingsPrivate->cursiveFontFamily.data());
- coreSettings->setStandardFontFamily(settingsPrivate->defaultFontFamily.data());
- coreSettings->setFantasyFontFamily(settingsPrivate->fantasyFontFamily.data());
- coreSettings->setFixedFontFamily(settingsPrivate->monospaceFontFamily.data());
- coreSettings->setSansSerifFontFamily(settingsPrivate->sansSerifFontFamily.data());
- coreSettings->setSerifFontFamily(settingsPrivate->serifFontFamily.data());
- coreSettings->setLoadsImagesAutomatically(settingsPrivate->autoLoadImages);
- coreSettings->setShrinksStandaloneImagesToFit(settingsPrivate->autoShrinkImages);
- coreSettings->setShouldRespectImageOrientation(settingsPrivate->respectImageOrientation);
- coreSettings->setShouldPrintBackgrounds(settingsPrivate->printBackgrounds);
- coreSettings->setScriptEnabled(settingsPrivate->enableScripts);
- coreSettings->setPluginsEnabled(settingsPrivate->enablePlugins);
- coreSettings->setTextAreasAreResizable(settingsPrivate->resizableTextAreas);
- coreSettings->setUserStyleSheetLocation(KURL(KURL(), settingsPrivate->userStylesheetURI.data()));
- coreSettings->setDeveloperExtrasEnabled(settingsPrivate->enableDeveloperExtras);
- coreSettings->setPrivateBrowsingEnabled(settingsPrivate->enablePrivateBrowsing);
- coreSettings->setCaretBrowsingEnabled(settingsPrivate->enableCaretBrowsing);
- coreSettings->setLocalStorageEnabled(settingsPrivate->enableHTML5LocalStorage);
- coreSettings->setLocalStorageDatabasePath(settingsPrivate->html5LocalStorageDatabasePath.data());
- coreSettings->setXSSAuditorEnabled(settingsPrivate->enableXSSAuditor);
- coreSettings->setSpatialNavigationEnabled(settingsPrivate->enableSpatialNavigation);
- coreSettings->setFrameFlatteningEnabled(settingsPrivate->enableFrameFlattening);
- coreSettings->setJavaScriptCanOpenWindowsAutomatically(settingsPrivate->javascriptCanOpenWindowsAutomatically);
- coreSettings->setJavaScriptCanAccessClipboard(settingsPrivate->javascriptCanAccessClipboard);
- coreSettings->setOfflineWebApplicationCacheEnabled(settingsPrivate->enableOfflineWebApplicationCache);
- coreSettings->setEditingBehaviorType(static_cast<WebCore::EditingBehaviorType>(settingsPrivate->editingBehavior));
- coreSettings->setAllowUniversalAccessFromFileURLs(settingsPrivate->enableUniversalAccessFromFileURIs);
- coreSettings->setAllowFileAccessFromFileURLs(settingsPrivate->enableFileAccessFromFileURIs);
- coreSettings->setDOMPasteAllowed(settingsPrivate->enableDOMPaste);
- coreSettings->setNeedsSiteSpecificQuirks(settingsPrivate->enableSiteSpecificQuirks);
- coreSettings->setUsesPageCache(settingsPrivate->enablePageCache);
- coreSettings->setJavaEnabled(settingsPrivate->enableJavaApplet);
- coreSettings->setHyperlinkAuditingEnabled(settingsPrivate->enableHyperlinkAuditing);
- coreSettings->setDNSPrefetchingEnabled(settingsPrivate->enableDNSPrefetching);
- coreSettings->setMediaPlaybackRequiresUserGesture(settingsPrivate->mediaPlaybackRequiresUserGesture);
- coreSettings->setMediaPlaybackAllowsInline(settingsPrivate->mediaPlaybackAllowsInline);
- coreSettings->setAllowDisplayOfInsecureContent(settingsPrivate->enableDisplayOfInsecureContent);
- coreSettings->setAllowRunningOfInsecureContent(settingsPrivate->enableRunningOfInsecureContent);
-
-#if ENABLE(SQL_DATABASE)
- DatabaseManager::manager().setIsAvailable(settingsPrivate->enableHTML5Database);
-#endif
-
-#if ENABLE(FULLSCREEN_API)
- coreSettings->setFullScreenEnabled(settingsPrivate->enableFullscreen);
-#endif
-
-#if ENABLE(SPELLCHECK)
- if (settingsPrivate->enableSpellChecking) {
- WebKit::EditorClient* client = static_cast<WebKit::EditorClient*>(core(webView)->editorClient());
- static_cast<WebKit::TextCheckerClientGtk*>(client->textChecker())->updateSpellCheckingLanguage(settingsPrivate->spellCheckingLanguages.data());
- }
-#endif
-
-#if ENABLE(WEBGL)
- coreSettings->setWebGLEnabled(settingsPrivate->enableWebgl);
-#endif
-
-#if ENABLE(MEDIA_STREAM)
- WebCore::RuntimeEnabledFeatures::setMediaStreamEnabled(settingsPrivate->enableMediaStream);
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
- coreSettings->setAcceleratedCompositingEnabled(settingsPrivate->enableAcceleratedCompositing);
- char* debugVisualsEnvironment = getenv("WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS");
- bool showDebugVisuals = debugVisualsEnvironment && !strcmp(debugVisualsEnvironment, "1");
- coreSettings->setShowDebugBorders(showDebugVisuals);
- coreSettings->setShowRepaintCounter(showDebugVisuals);
-#endif
-
-#if ENABLE(WEB_AUDIO)
- coreSettings->setWebAudioEnabled(settingsPrivate->enableWebAudio);
-#endif
-
-#if ENABLE(SMOOTH_SCROLLING)
- coreSettings->setScrollAnimatorEnabled(settingsPrivate->enableSmoothScrolling);
-#endif
-
-#if ENABLE(CSS_SHADERS)
- coreSettings->setCSSCustomFilterEnabled(settingsPrivate->enableCSSShaders);
-#endif
-
- // Use mock scrollbars if in DumpRenderTree mode (i.e. testing layout tests).
- coreSettings->setMockScrollbarsEnabled(DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled());
-
- if (Page* page = core(webView))
- page->setTabKeyCyclesThroughElements(settingsPrivate->tabKeyCyclesThroughElements);
-
- webkit_web_view_screen_changed(GTK_WIDGET(webView), NULL);
-}
-
-static void webkit_web_view_settings_notify(WebKitWebSettings* webSettings, GParamSpec* pspec, WebKitWebView* webView)
-{
- Settings* settings = core(webView)->settings();
-
- const gchar* name = g_intern_string(pspec->name);
- GValue value = { 0, { { 0 } } };
- g_value_init(&value, pspec->value_type);
- g_object_get_property(G_OBJECT(webSettings), name, &value);
-
- if (name == g_intern_string("default-encoding"))
- settings->setDefaultTextEncodingName(g_value_get_string(&value));
- else if (name == g_intern_string("cursive-font-family"))
- settings->setCursiveFontFamily(g_value_get_string(&value));
- else if (name == g_intern_string("default-font-family"))
- settings->setStandardFontFamily(g_value_get_string(&value));
- else if (name == g_intern_string("fantasy-font-family"))
- settings->setFantasyFontFamily(g_value_get_string(&value));
- else if (name == g_intern_string("monospace-font-family"))
- settings->setFixedFontFamily(g_value_get_string(&value));
- else if (name == g_intern_string("sans-serif-font-family"))
- settings->setSansSerifFontFamily(g_value_get_string(&value));
- else if (name == g_intern_string("serif-font-family"))
- settings->setSerifFontFamily(g_value_get_string(&value));
- else if (name == g_intern_string("default-font-size"))
- settings->setDefaultFontSize(webViewConvertFontSizeToPixels(webView, g_value_get_int(&value)));
- else if (name == g_intern_string("default-monospace-font-size"))
- settings->setDefaultFixedFontSize(webViewConvertFontSizeToPixels(webView, g_value_get_int(&value)));
- else if (name == g_intern_string("minimum-font-size"))
- settings->setMinimumFontSize(webViewConvertFontSizeToPixels(webView, g_value_get_int(&value)));
- else if (name == g_intern_string("minimum-logical-font-size"))
- settings->setMinimumLogicalFontSize(webViewConvertFontSizeToPixels(webView, g_value_get_int(&value)));
- else if (name == g_intern_string("enforce-96-dpi"))
- webkit_web_view_screen_changed(GTK_WIDGET(webView), NULL);
- else if (name == g_intern_string("auto-load-images"))
- settings->setLoadsImagesAutomatically(g_value_get_boolean(&value));
- else if (name == g_intern_string("auto-shrink-images"))
- settings->setShrinksStandaloneImagesToFit(g_value_get_boolean(&value));
- else if (name == g_intern_string("respect-image-orientation"))
- settings->setShouldRespectImageOrientation(g_value_get_boolean(&value));
- else if (name == g_intern_string("print-backgrounds"))
- settings->setShouldPrintBackgrounds(g_value_get_boolean(&value));
- else if (name == g_intern_string("enable-scripts"))
- settings->setScriptEnabled(g_value_get_boolean(&value));
- else if (name == g_intern_string("enable-plugins"))
- settings->setPluginsEnabled(g_value_get_boolean(&value));
- else if (name == g_intern_string("enable-dns-prefetching"))
- settings->setDNSPrefetchingEnabled(g_value_get_boolean(&value));
- else if (name == g_intern_string("resizable-text-areas"))
- settings->setTextAreasAreResizable(g_value_get_boolean(&value));
- else if (name == g_intern_string("user-stylesheet-uri"))
- settings->setUserStyleSheetLocation(KURL(KURL(), g_value_get_string(&value)));
- else if (name == g_intern_string("enable-developer-extras"))
- settings->setDeveloperExtrasEnabled(g_value_get_boolean(&value));
- else if (name == g_intern_string("enable-private-browsing"))
- settings->setPrivateBrowsingEnabled(g_value_get_boolean(&value));
- else if (name == g_intern_string("enable-caret-browsing"))
- settings->setCaretBrowsingEnabled(g_value_get_boolean(&value));
-#if ENABLE(SQL_DATABASE)
- else if (name == g_intern_string("enable-html5-database")) {
- DatabaseManager::manager().setIsAvailable(g_value_get_boolean(&value));
- }
-#endif
- else if (name == g_intern_string("enable-html5-local-storage"))
- settings->setLocalStorageEnabled(g_value_get_boolean(&value));
- else if (name == g_intern_string("html5-local-storage-database-path"))
- settings->setLocalStorageDatabasePath(g_value_get_string(&value));
- else if (name == g_intern_string("enable-xss-auditor"))
- settings->setXSSAuditorEnabled(g_value_get_boolean(&value));
- else if (name == g_intern_string("enable-spatial-navigation"))
- settings->setSpatialNavigationEnabled(g_value_get_boolean(&value));
- else if (name == g_intern_string("enable-frame-flattening"))
- settings->setFrameFlatteningEnabled(g_value_get_boolean(&value));
- else if (name == g_intern_string("javascript-can-open-windows-automatically"))
- settings->setJavaScriptCanOpenWindowsAutomatically(g_value_get_boolean(&value));
- else if (name == g_intern_string("javascript-can-access-clipboard"))
- settings->setJavaScriptCanAccessClipboard(g_value_get_boolean(&value));
- else if (name == g_intern_string("enable-offline-web-application-cache"))
- settings->setOfflineWebApplicationCacheEnabled(g_value_get_boolean(&value));
- else if (name == g_intern_string("editing-behavior"))
- settings->setEditingBehaviorType(static_cast<WebCore::EditingBehaviorType>(g_value_get_enum(&value)));
- else if (name == g_intern_string("enable-universal-access-from-file-uris"))
- settings->setAllowUniversalAccessFromFileURLs(g_value_get_boolean(&value));
- else if (name == g_intern_string("enable-file-access-from-file-uris"))
- settings->setAllowFileAccessFromFileURLs(g_value_get_boolean(&value));
- else if (name == g_intern_string("enable-dom-paste"))
- settings->setDOMPasteAllowed(g_value_get_boolean(&value));
- else if (name == g_intern_string("tab-key-cycles-through-elements")) {
- Page* page = core(webView);
- if (page)
- page->setTabKeyCyclesThroughElements(g_value_get_boolean(&value));
- } else if (name == g_intern_string("enable-site-specific-quirks"))
- settings->setNeedsSiteSpecificQuirks(g_value_get_boolean(&value));
- else if (name == g_intern_string("enable-page-cache"))
- settings->setUsesPageCache(g_value_get_boolean(&value));
- else if (name == g_intern_string("enable-java-applet"))
- settings->setJavaEnabled(g_value_get_boolean(&value));
- else if (name == g_intern_string("enable-hyperlink-auditing"))
- settings->setHyperlinkAuditingEnabled(g_value_get_boolean(&value));
- else if (name == g_intern_string("media-playback-requires-user-gesture"))
- settings->setMediaPlaybackRequiresUserGesture(g_value_get_boolean(&value));
- else if (name == g_intern_string("media-playback-allows-inline"))
- settings->setMediaPlaybackAllowsInline(g_value_get_boolean(&value));
-
-#if ENABLE(SPELLCHECK)
- else if (name == g_intern_string("spell-checking-languages")) {
- gboolean enableSpellChecking;
- g_object_get(G_OBJECT(webSettings), "enable-spell-checking", &enableSpellChecking, NULL);
- if (enableSpellChecking) {
- WebKit::EditorClient* client = static_cast<WebKit::EditorClient*>(core(webView)->editorClient());
- static_cast<WebKit::TextCheckerClientGtk*>(client->textChecker())->updateSpellCheckingLanguage(g_value_get_string(&value));
- }
- }
-#endif
-
-#if ENABLE(WEBGL)
- else if (name == g_intern_string("enable-webgl"))
- settings->setWebGLEnabled(g_value_get_boolean(&value));
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
- else if (name == g_intern_string("enable-accelerated-compositing"))
- settings->setAcceleratedCompositingEnabled(g_value_get_boolean(&value));
-#endif
-
-#if ENABLE(WEB_AUDIO)
- else if (name == g_intern_string("enable-webaudio"))
- settings->setWebAudioEnabled(g_value_get_boolean(&value));
-#endif
-
-#if ENABLE(SMOOTH_SCROLLING)
- else if (name == g_intern_string("enable-smooth-scrolling"))
- settings->setScrollAnimatorEnabled(g_value_get_boolean(&value));
-#endif
-
-#if ENABLE(CSS_SHADERS)
- else if (name == g_intern_string("enable-css-shaders"))
- settings->setCSSCustomFilterEnabled(g_value_get_boolean(&value));
-#endif
-
- else if (!g_object_class_find_property(G_OBJECT_GET_CLASS(webSettings), name))
- g_warning("Unexpected setting '%s'", name);
- g_value_unset(&value);
-}
-
-static void webkit_web_view_init(WebKitWebView* 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
- // in this case, because GLib manages the memory for the private data section, but we wish it
- // to contain C++ object members. The use of placement new calls the constructor on all C++ data
- // members, which ensures they are initialized properly.
- new (priv) WebKitWebViewPrivate();
-
- priv->imFilter.setWebView(webView);
-
- Page::PageClients pageClients;
- pageClients.chromeClient = new WebKit::ChromeClient(webView);
-#if ENABLE(CONTEXT_MENUS)
- pageClients.contextMenuClient = new WebKit::ContextMenuClient(webView);
-#endif
- pageClients.editorClient = new WebKit::EditorClient(webView);
-#if ENABLE(DRAG_SUPPORT)
- pageClients.dragClient = new WebKit::DragClient(webView);
-#endif
- pageClients.inspectorClient = new WebKit::InspectorClient(webView);
-
- priv->corePage = new Page(pageClients);
-
- priv->corePage->addLayoutMilestones(DidFirstVisuallyNonEmptyLayout);
-
-#if ENABLE(GEOLOCATION)
- if (DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled()) {
- priv->geolocationClientMock = adoptPtr(new GeolocationClientMock);
- WebCore::provideGeolocationTo(priv->corePage, priv->geolocationClientMock.get());
- priv->geolocationClientMock.get()->setController(GeolocationController::from(priv->corePage));
- } else
- WebCore::provideGeolocationTo(priv->corePage, new WebKit::GeolocationClient(webView));
-#endif
-#if ENABLE(DEVICE_ORIENTATION)
- WebCore::provideDeviceMotionTo(priv->corePage, new DeviceMotionClientGtk);
- WebCore::provideDeviceOrientationTo(priv->corePage, new DeviceOrientationClientGtk);
-#endif
-
-#if ENABLE(MEDIA_STREAM)
- priv->userMediaClient = adoptPtr(new UserMediaClientGtk);
- WebCore::provideUserMediaTo(priv->corePage, priv->userMediaClient.get());
-#endif
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
- priv->navigatorContentUtilsClient = WebKit::NavigatorContentUtilsClient::create();
- WebCore::provideNavigatorContentUtilsTo(priv->corePage, priv->navigatorContentUtilsClient.get());
-#endif
-
- if (DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled()) {
- // Set some testing-specific settings
- priv->corePage->settings()->setInteractiveFormValidationEnabled(true);
- priv->corePage->settings()->setValidationMessageTimerMagnification(-1);
- }
-
- // Pages within a same session need to be linked together otherwise some functionalities such
- // as visited link coloration (across pages) and changing popup window location will not work.
- // To keep the default behavior simple (and because no PageGroup API exist in WebKitGTK at the
- // time of writing this comment), we simply set all the pages to the same group.
- priv->corePage->setGroupName(webkitPageGroupName());
-
- // We also add a simple wrapper class to provide the public
- // interface for the Web Inspector.
- priv->webInspector = adoptGRef(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 = adoptGRef(WEBKIT_VIEWPORT_ATTRIBUTES(g_object_new(WEBKIT_TYPE_VIEWPORT_ATTRIBUTES, NULL)));
- priv->viewportAttributes->priv->webView = webView;
-
- gtk_widget_set_can_focus(GTK_WIDGET(webView), TRUE);
-
- priv->mainFrame = WEBKIT_WEB_FRAME(webkit_web_frame_new(webView));
- priv->lastPopupXPosition = priv->lastPopupYPosition = -1;
-
- priv->backForwardList = adoptGRef(webkit_web_back_forward_list_new_with_web_view(webView));
-
- priv->zoomFullContent = FALSE;
-
- priv->webSettings = adoptGRef(webkit_web_settings_new());
- webkit_web_view_update_settings(webView);
- g_signal_connect(priv->webSettings.get(), "notify", G_CALLBACK(webkit_web_view_settings_notify), webView);
-
- priv->webWindowFeatures = adoptGRef(webkit_web_window_features_new());
-
- priv->subResources = adoptGRef(g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_object_unref));
-
-#if ENABLE(DRAG_SUPPORT)
- priv->dragAndDropHelper.setWidget(GTK_WIDGET(webView));
- gtk_drag_dest_set(GTK_WIDGET(webView), static_cast<GtkDestDefaults>(0), 0, 0, static_cast<GdkDragAction>(GDK_ACTION_COPY | GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK | GDK_ACTION_PRIVATE));
- gtk_drag_dest_set_target_list(GTK_WIDGET(webView), PasteboardHelper::defaultPasteboardHelper()->targetList());
-#endif
-
- priv->selfScrolling = false;
-
-#if USE(ACCELERATED_COMPOSITING)
- priv->acceleratedCompositingContext = AcceleratedCompositingContext::create(webView);
-#endif
-
- g_signal_connect(webView, "direction-changed", G_CALLBACK(webkitWebViewDirectionChanged), 0);
-}
-
-GtkWidget* webkit_web_view_new(void)
-{
- WebKitWebView* webView = WEBKIT_WEB_VIEW(g_object_new(WEBKIT_TYPE_WEB_VIEW, NULL));
-
- return GTK_WIDGET(webView);
-}
-
-void webkitWebViewRunFileChooserRequest(WebKitWebView* webView, WebKitFileChooserRequest* request)
-{
- gboolean returnValue;
- g_signal_emit(webView, webkit_web_view_signals[RUN_FILE_CHOOSER], 0, request, &returnValue);
-}
-
-// for internal use only
-void webkit_web_view_notify_ready(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- gboolean isHandled = FALSE;
- g_signal_emit(webView, webkit_web_view_signals[WEB_VIEW_READY], 0, &isHandled);
-}
-
-void webkit_web_view_request_download(WebKitWebView* webView, WebKitNetworkRequest* request, const ResourceResponse& response, ResourceHandle* handle)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- WebKitDownload* download;
-
- if (handle)
- download = webkit_download_new_with_handle(request, handle, response);
- else
- download = webkit_download_new(request);
-
- gboolean handled;
- g_signal_emit(webView, webkit_web_view_signals[DOWNLOAD_REQUESTED], 0, download, &handled);
-
- if (!handled) {
- webkit_download_cancel(download);
- g_object_unref(download);
- return;
- }
-
- /* Start the download now if it has a destination URI, otherwise it
- may be handled asynchronously by the application. */
- if (webkit_download_get_destination_uri(download))
- webkit_download_start(download);
-}
-
-/**
- * webkit_web_view_set_settings:
- * @web_view: a #WebKitWebView
- * @settings: (transfer none): the #WebKitWebSettings to be set
- *
- * Replaces the #WebKitWebSettings instance that is currently attached
- * to @web_view with @settings. The reference held by the @web_view on
- * the old #WebKitWebSettings instance is dropped, and the reference
- * count of @settings is inscreased.
- *
- * The settings are automatically applied to @web_view.
- */
-void webkit_web_view_set_settings(WebKitWebView* webView, WebKitWebSettings* webSettings)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
- g_return_if_fail(WEBKIT_IS_WEB_SETTINGS(webSettings));
-
- WebKitWebViewPrivate* priv = webView->priv;
- g_signal_handlers_disconnect_by_func(priv->webSettings.get(), reinterpret_cast<void*>(webkit_web_view_settings_notify), webView);
-
- priv->webSettings = webSettings;
- webkit_web_view_update_settings(webView);
- g_signal_connect(webSettings, "notify", G_CALLBACK(webkit_web_view_settings_notify), webView);
- g_object_notify(G_OBJECT(webView), "settings");
-}
-
-/**
- * webkit_web_view_get_settings:
- * @web_view: a #WebKitWebView
- *
- * Obtains the #WebKitWebSettings associated with the
- * #WebKitWebView. The #WebKitWebView always has an associated
- * instance of #WebKitWebSettings. The reference that is returned by
- * this call is owned by the #WebKitWebView. You may need to increase
- * its reference count if you intend to keep it alive for longer than
- * the #WebKitWebView.
- *
- * Return value: (transfer none): the #WebKitWebSettings instance
- */
-WebKitWebSettings* webkit_web_view_get_settings(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
- return webView->priv->webSettings.get();
-}
-
-/**
- * webkit_web_view_get_inspector:
- * @web_view: a #WebKitWebView
- *
- * Obtains the #WebKitWebInspector associated with the
- * #WebKitWebView. Every #WebKitWebView object has a
- * #WebKitWebInspector 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.
- *
- * Return value: (transfer none): the #WebKitWebInspector instance.
- *
- * Since: 1.0.3
- */
-WebKitWebInspector* webkit_web_view_get_inspector(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
- return webView->priv->webInspector.get();
-}
-
-/**
- * webkit_web_view_get_viewport_attributes:
- * @web_view: a #WebKitWebView
- *
- * Obtains the #WebKitViewportAttributes associated with the
- * #WebKitWebView. Every #WebKitWebView object has a
- * #WebKitViewportAttributes 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 #WebKitViewportAttributes: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)
-{
- if (!webWindowFeatures)
- return;
- if (webkit_web_window_features_equal(webView->priv->webWindowFeatures.get(), webWindowFeatures))
- return;
- webView->priv->webWindowFeatures = webWindowFeatures;
-}
-
-/**
- * webkit_web_view_get_window_features:
- * @web_view: a #WebKitWebView
- *
- * Returns: (transfer none): the instance of #WebKitWebWindowFeatures held by the given
- * #WebKitWebView.
- *
- * Since: 1.0.3
- */
-WebKitWebWindowFeatures* webkit_web_view_get_window_features(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
- return webView->priv->webWindowFeatures.get();
-}
-
-/**
- * webkit_web_view_get_title:
- * @web_view: a #WebKitWebView
- *
- * Returns the @web_view's document title
- *
- * Since: 1.1.4
- *
- * Return value: the title of @web_view
- */
-const gchar* webkit_web_view_get_title(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL);
-
- WebKitWebViewPrivate* priv = webView->priv;
- return priv->mainFrame->priv->title;
-}
-
-/**
- * webkit_web_view_get_uri:
- * @web_view: a #WebKitWebView
- *
- * Returns the current URI of the contents displayed by the @web_view
- *
- * Since: 1.1.4
- *
- * Return value: the URI of @web_view
- */
-const gchar* webkit_web_view_get_uri(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL);
-
- WebKitWebViewPrivate* priv = webView->priv;
- return priv->mainFrame->priv->uri;
-}
-
-/**
- * webkit_web_view_set_maintains_back_forward_list:
- * @web_view: a #WebKitWebView
- * @flag: to tell the view to maintain a back or forward list
- *
- * Set the view to maintain a back or forward list of history items.
- */
-void webkit_web_view_set_maintains_back_forward_list(WebKitWebView* webView, gboolean flag)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- static_cast<BackForwardListImpl*>(core(webView)->backForwardList())->setEnabled(flag);
-}
-
-/**
- * webkit_web_view_get_back_forward_list:
- * @web_view: a #WebKitWebView
- *
- * Obtains the #WebKitWebBackForwardList associated with the given #WebKitWebView. The
- * #WebKitWebBackForwardList is owned by the #WebKitWebView.
- *
- * Return value: (transfer none): the #WebKitWebBackForwardList
- */
-WebKitWebBackForwardList* webkit_web_view_get_back_forward_list(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
- if (!core(webView) || !static_cast<BackForwardListImpl*>(core(webView)->backForwardList())->enabled())
- return 0;
- return webView->priv->backForwardList.get();
-}
-
-/**
- * webkit_web_view_go_to_back_forward_item:
- * @web_view: a #WebKitWebView
- * @item: a #WebKitWebHistoryItem*
- *
- * Go to the specified #WebKitWebHistoryItem
- *
- * Return value: %TRUE if loading of item is successful, %FALSE if not
- */
-gboolean webkit_web_view_go_to_back_forward_item(WebKitWebView* webView, WebKitWebHistoryItem* item)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
- g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(item), FALSE);
-
- WebKitWebBackForwardList* backForwardList = webkit_web_view_get_back_forward_list(webView);
- if (!webkit_web_back_forward_list_contains_item(backForwardList, item))
- return FALSE;
-
- core(webView)->goToItem(core(item), FrameLoadTypeIndexedBackForward);
- return TRUE;
-}
-
-/**
- * webkit_web_view_go_back:
- * @web_view: a #WebKitWebView
- *
- * Loads the previous history item.
- */
-void webkit_web_view_go_back(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- core(webView)->goBack();
-}
-
-/**
- * webkit_web_view_go_back_or_forward:
- * @web_view: a #WebKitWebView
- * @steps: the number of steps
- *
- * Loads the history item that is the number of @steps away from the current
- * item. Negative values represent steps backward while positive values
- * represent steps forward.
- */
-void webkit_web_view_go_back_or_forward(WebKitWebView* webView, gint steps)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- core(webView)->goBackOrForward(steps);
-}
-
-/**
- * webkit_web_view_go_forward:
- * @web_view: a #WebKitWebView
- *
- * Loads the next history item.
- */
-void webkit_web_view_go_forward(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- core(webView)->goForward();
-}
-
-/**
- * webkit_web_view_can_go_back:
- * @web_view: a #WebKitWebView
- *
- * Determines whether #web_view has a previous history item.
- *
- * Return value: %TRUE if able to move back, %FALSE otherwise
- */
-gboolean webkit_web_view_can_go_back(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- if (!core(webView) || !core(webView)->backForwardList()->backItem())
- return FALSE;
-
- return TRUE;
-}
-
-/**
- * webkit_web_view_can_go_back_or_forward:
- * @web_view: a #WebKitWebView
- * @steps: the number of steps
- *
- * Determines whether #web_view has a history item of @steps. Negative values
- * represent steps backward while positive values represent steps forward.
- *
- * Return value: %TRUE if able to move back or forward the given number of
- * steps, %FALSE otherwise
- */
-gboolean webkit_web_view_can_go_back_or_forward(WebKitWebView* webView, gint steps)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- return core(webView)->canGoBackOrForward(steps);
-}
-
-/**
- * webkit_web_view_can_go_forward:
- * @web_view: a #WebKitWebView
- *
- * Determines whether #web_view has a next history item.
- *
- * Return value: %TRUE if able to move forward, %FALSE otherwise
- */
-gboolean webkit_web_view_can_go_forward(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- Page* page = core(webView);
-
- if (!page)
- return FALSE;
-
- if (!page->backForwardList()->forwardItem())
- return FALSE;
-
- return TRUE;
-}
-
-/**
- * webkit_web_view_open:
- * @web_view: a #WebKitWebView
- * @uri: an URI
- *
- * Requests loading of the specified URI string.
- *
- * Deprecated: 1.1.1: Use webkit_web_view_load_uri() instead.
- */
-void webkit_web_view_open(WebKitWebView* webView, const gchar* uri)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
- g_return_if_fail(uri);
-
- // We used to support local paths, unlike the newer
- // function webkit_web_view_load_uri
- if (g_path_is_absolute(uri)) {
- gchar* fileUri = g_filename_to_uri(uri, NULL, NULL);
- webkit_web_view_load_uri(webView, fileUri);
- g_free(fileUri);
- }
- else
- webkit_web_view_load_uri(webView, uri);
-}
-
-void webkit_web_view_reload(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- core(webView)->mainFrame()->loader()->reload();
-}
-
-/**
- * webkit_web_view_reload_bypass_cache:
- * @web_view: a #WebKitWebView
- *
- * Reloads the @web_view without using any cached data.
- *
- * Since: 1.0.3
- */
-void webkit_web_view_reload_bypass_cache(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- core(webView)->mainFrame()->loader()->reload(true);
-}
-
-/**
- * webkit_web_view_load_uri:
- * @web_view: a #WebKitWebView
- * @uri: an URI string
- *
- * Requests loading of the specified URI string.
- *
- * Since: 1.1.1
- */
-void webkit_web_view_load_uri(WebKitWebView* webView, const gchar* uri)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
- g_return_if_fail(uri);
-
- WebKitWebFrame* frame = webView->priv->mainFrame;
- webkit_web_frame_load_uri(frame, uri);
-}
-
-/**
- * webkit_web_view_load_string:
- * @web_view: a #WebKitWebView
- * @content: an URI string
- * @mime_type: the MIME type, or %NULL
- * @encoding: the encoding, or %NULL
- * @base_uri: the base URI for relative locations
- *
- * Requests loading of the given @content with the specified @mime_type,
- * @encoding and @base_uri.
- *
- * If @mime_type is %NULL, "text/html" is assumed.
- *
- * If @encoding is %NULL, "UTF-8" is assumed.
- */
-void webkit_web_view_load_string(WebKitWebView* webView, const gchar* content, const gchar* mimeType, const gchar* encoding, const gchar* baseUri)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
- g_return_if_fail(content);
-
- WebKitWebFrame* frame = webView->priv->mainFrame;
- webkit_web_frame_load_string(frame, content, mimeType, encoding, baseUri);
-}
-/**
- * webkit_web_view_load_html_string:
- * @web_view: a #WebKitWebView
- * @content: an URI string
- * @base_uri: the base URI for relative locations
- *
- * Requests loading of the given @content with the specified @base_uri.
- *
- * Deprecated: 1.1.1: Use webkit_web_view_load_string() instead.
- */
-void webkit_web_view_load_html_string(WebKitWebView* webView, const gchar* content, const gchar* baseUri)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
- g_return_if_fail(content);
-
- webkit_web_view_load_string(webView, content, NULL, NULL, baseUri);
-}
-
-/**
- * webkit_web_view_load_request:
- * @web_view: a #WebKitWebView
- * @request: a #WebKitNetworkRequest
- *
- * Requests loading of the specified asynchronous client request.
- *
- * Creates a provisional data source that will transition to a committed data
- * source once any data has been received. Use webkit_web_view_stop_loading() to
- * stop the load.
- *
- * Since: 1.1.1
- */
-void webkit_web_view_load_request(WebKitWebView* webView, WebKitNetworkRequest* request)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
- g_return_if_fail(WEBKIT_IS_NETWORK_REQUEST(request));
-
- WebKitWebFrame* frame = webView->priv->mainFrame;
- webkit_web_frame_load_request(frame, request);
-}
-
-/**
- * webkit_web_view_stop_loading:
- * @web_view: a #WebKitWebView
- *
- * Stops any ongoing load in the @web_view.
- **/
-void webkit_web_view_stop_loading(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- core(webView)->mainFrame()->loader()->stopForUserCancel();
-}
-
-/**
- * webkit_web_view_search_text:
- * @web_view: a #WebKitWebView
- * @text: a string to look for
- * @forward: whether to find forward or not
- * @case_sensitive: whether to respect the case of text
- * @wrap: whether to continue looking at the beginning after reaching the end
- *
- * Looks for a specified string inside #web_view.
- *
- * Return value: %TRUE on success or %FALSE on failure
- */
-gboolean webkit_web_view_search_text(WebKitWebView* webView, const gchar* string, gboolean caseSensitive, gboolean forward, gboolean shouldWrap)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
- g_return_val_if_fail(string, FALSE);
-
- TextCaseSensitivity caseSensitivity = caseSensitive ? TextCaseSensitive : TextCaseInsensitive;
- FindDirection direction = forward ? FindDirectionForward : FindDirectionBackward;
-
- return core(webView)->findString(String::fromUTF8(string), caseSensitivity, direction, shouldWrap);
-}
-
-/**
- * webkit_web_view_mark_text_matches:
- * @web_view: a #WebKitWebView
- * @string: a string to look for
- * @case_sensitive: whether to respect the case of text
- * @limit: the maximum number of strings to look for or 0 for all
- *
- * Attempts to highlight all occurances of #string inside #web_view.
- *
- * Return value: the number of strings highlighted
- */
-guint webkit_web_view_mark_text_matches(WebKitWebView* webView, const gchar* string, gboolean caseSensitive, guint limit)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
- g_return_val_if_fail(string, 0);
-
- TextCaseSensitivity caseSensitivity = caseSensitive ? TextCaseSensitive : TextCaseInsensitive;
-
- return core(webView)->markAllMatchesForText(String::fromUTF8(string), caseSensitivity, false, limit);
-}
-
-/**
- * webkit_web_view_set_highlight_text_matches:
- * @web_view: a #WebKitWebView
- * @highlight: whether to highlight text matches
- *
- * Highlights text matches previously marked by webkit_web_view_mark_text_matches.
- */
-void webkit_web_view_set_highlight_text_matches(WebKitWebView* webView, gboolean shouldHighlight)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- Frame *frame = core(webView)->mainFrame();
- do {
- frame->editor().setMarkedTextMatchesAreHighlighted(shouldHighlight);
- frame = frame->tree()->traverseNextWithWrap(false);
- } while (frame);
-}
-
-/**
- * webkit_web_view_unmark_text_matches:
- * @web_view: a #WebKitWebView
- *
- * Removes highlighting previously set by webkit_web_view_mark_text_matches.
- */
-void webkit_web_view_unmark_text_matches(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- return core(webView)->unmarkAllTextMatches();
-}
-
-/**
- * webkit_web_view_get_main_frame:
- * @web_view: a #WebKitWebView
- *
- * Returns the main frame for the @web_view.
- *
- * Return value: (transfer none): the main #WebKitWebFrame for @web_view
- */
-WebKitWebFrame* webkit_web_view_get_main_frame(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL);
-
- return webView->priv->mainFrame;
-}
-
-/**
- * webkit_web_view_get_focused_frame:
- * @web_view: a #WebKitWebView
- *
- * Returns the frame that has focus or an active text selection.
- *
- * Return value: (transfer none): The focused #WebKitWebFrame or %NULL if no frame is focused
- */
-WebKitWebFrame* webkit_web_view_get_focused_frame(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL);
-
- Frame* focusedFrame = core(webView)->focusController()->focusedFrame();
- return kit(focusedFrame);
-}
-
-void webkit_web_view_execute_script(WebKitWebView* webView, const gchar* script)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
- g_return_if_fail(script);
-
- core(webView)->mainFrame()->script()->executeScript(String::fromUTF8(script), true);
-}
-
-/**
- * webkit_web_view_can_cut_clipboard:
- * @web_view: a #WebKitWebView
- *
- * Determines whether or not it is currently possible to cut to the clipboard.
- *
- * Return value: %TRUE if a selection can be cut, %FALSE if not
- */
-gboolean webkit_web_view_can_cut_clipboard(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- return frame->editor().canCut() || frame->editor().canDHTMLCut();
-}
-
-/**
- * webkit_web_view_can_copy_clipboard:
- * @web_view: a #WebKitWebView
- *
- * Determines whether or not it is currently possible to copy to the clipboard.
- *
- * Return value: %TRUE if a selection can be copied, %FALSE if not
- */
-gboolean webkit_web_view_can_copy_clipboard(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- return frame->editor().canCopy() || frame->editor().canDHTMLCopy();
-}
-
-/**
- * webkit_web_view_can_paste_clipboard:
- * @web_view: a #WebKitWebView
- *
- * Determines whether or not it is currently possible to paste from the clipboard.
- *
- * Return value: %TRUE if a selection can be pasted, %FALSE if not
- */
-gboolean webkit_web_view_can_paste_clipboard(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- return frame->editor().canPaste() || frame->editor().canDHTMLPaste();
-}
-
-/**
- * webkit_web_view_cut_clipboard:
- * @web_view: a #WebKitWebView
- *
- * Cuts the current selection inside the @web_view to the clipboard.
- */
-void webkit_web_view_cut_clipboard(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- if (webkit_web_view_can_cut_clipboard(webView))
- g_signal_emit(webView, webkit_web_view_signals[CUT_CLIPBOARD], 0);
-}
-
-/**
- * webkit_web_view_copy_clipboard:
- * @web_view: a #WebKitWebView
- *
- * Copies the current selection inside the @web_view to the clipboard.
- */
-void webkit_web_view_copy_clipboard(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- if (webkit_web_view_can_copy_clipboard(webView))
- g_signal_emit(webView, webkit_web_view_signals[COPY_CLIPBOARD], 0);
-}
-
-/**
- * webkit_web_view_paste_clipboard:
- * @web_view: a #WebKitWebView
- *
- * Pastes the current contents of the clipboard to the @web_view.
- */
-void webkit_web_view_paste_clipboard(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- if (webkit_web_view_can_paste_clipboard(webView))
- g_signal_emit(webView, webkit_web_view_signals[PASTE_CLIPBOARD], 0);
-}
-
-/**
- * webkit_web_view_delete_selection:
- * @web_view: a #WebKitWebView
- *
- * Deletes the current selection inside the @web_view.
- */
-void webkit_web_view_delete_selection(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- frame->editor().performDelete();
-}
-
-/**
- * webkit_web_view_has_selection:
- * @web_view: a #WebKitWebView
- *
- * Determines whether text was selected.
- *
- * Return value: %TRUE if there is selected text, %FALSE if not
- */
-gboolean webkit_web_view_has_selection(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- return !core(webView)->selection().isNone();
-}
-
-/**
- * webkit_web_view_select_all:
- * @web_view: a #WebKitWebView
- *
- * Attempts to select everything inside the @web_view.
- */
-void webkit_web_view_select_all(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- g_signal_emit(webView, webkit_web_view_signals[::SELECT_ALL], 0);
-}
-
-/**
- * webkit_web_view_get_editable:
- * @web_view: a #WebKitWebView
- *
- * Returns whether the user is allowed to edit the document.
- *
- * Returns %TRUE if @web_view allows the user to edit the HTML document, %FALSE if
- * it doesn't. You can change @web_view's document programmatically regardless of
- * this setting.
- *
- * Return value: a #gboolean indicating the editable state
- */
-gboolean webkit_web_view_get_editable(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- return core(webView)->isEditable();
-}
-
-/**
- * webkit_web_view_set_editable:
- * @web_view: a #WebKitWebView
- * @flag: a #gboolean indicating the editable state
- *
- * Sets whether @web_view allows the user to edit its HTML document.
- *
- * If @flag is %TRUE, @web_view allows the user to edit the document. If @flag is
- * %FALSE, an element in @web_view's document can only be edited if the
- * CONTENTEDITABLE attribute has been set on the element or one of its parent
- * elements. You can change @web_view's document programmatically regardless of
- * this setting. By default a #WebKitWebView is not editable.
-
- * Normally, an HTML document is not editable unless the elements within the
- * document are editable. This function provides a low-level way to make the
- * contents of a #WebKitWebView editable without altering the document or DOM
- * structure.
- */
-void webkit_web_view_set_editable(WebKitWebView* webView, gboolean flag)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- flag = flag != FALSE;
- if (flag == webkit_web_view_get_editable(webView))
- return;
-
- core(webView)->setEditable(flag);
-
- Frame* frame = core(webView)->mainFrame();
- g_return_if_fail(frame);
-
- if (flag) {
- frame->editor().applyEditingStyleToBodyElement();
- // TODO: If the WebKitWebView is made editable and the selection is empty, set it to something.
- //if (!webkit_web_view_get_selected_dom_range(webView))
- // mainFrame->setSelectionFromNone();
- }
- g_object_notify(G_OBJECT(webView), "editable");
-}
-
-/**
- * webkit_web_view_get_copy_target_list:
- * @web_view: a #WebKitWebView
- *
- * This function returns the list of targets this #WebKitWebView can
- * provide for clipboard copying and as DND source. The targets in the list are
- * added with values from the #WebKitWebViewTargetInfo enum,
- * using gtk_target_list_add() and
- * gtk_target_list_add_text_targets().
- *
- * Return value: the #GtkTargetList
- **/
-GtkTargetList* webkit_web_view_get_copy_target_list(WebKitWebView* webView)
-{
- return PasteboardHelper::defaultPasteboardHelper()->targetList();
-}
-
-/**
- * webkit_web_view_get_paste_target_list:
- * @web_view: a #WebKitWebView
- *
- * This function returns the list of targets this #WebKitWebView can
- * provide for clipboard pasting and as DND destination. The targets in the list are
- * added with values from the #WebKitWebViewTargetInfo enum,
- * using gtk_target_list_add() and
- * gtk_target_list_add_text_targets().
- *
- * Return value: the #GtkTargetList
- **/
-GtkTargetList* webkit_web_view_get_paste_target_list(WebKitWebView* webView)
-{
- return PasteboardHelper::defaultPasteboardHelper()->targetList();
-}
-
-/**
- * webkit_web_view_can_show_mime_type:
- * @web_view: a #WebKitWebView
- * @mime_type: a MIME type
- *
- * This functions returns whether or not a MIME type can be displayed using this view.
- *
- * Return value: a #gboolean indicating if the MIME type can be displayed
- *
- * Since: 1.0.3
- **/
-
-gboolean webkit_web_view_can_show_mime_type(WebKitWebView* webView, const gchar* mimeType)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- Frame* frame = core(webkit_web_view_get_main_frame(webView));
- return frame->loader()->client()->canShowMIMEType(String::fromUTF8(mimeType));
-}
-
-/**
- * webkit_web_view_get_transparent:
- * @web_view: a #WebKitWebView
- *
- * Returns whether the #WebKitWebView has a transparent background.
- *
- * Return value: %FALSE when the #WebKitWebView draws a solid background
- * (the default), otherwise %TRUE.
- */
-gboolean webkit_web_view_get_transparent(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- WebKitWebViewPrivate* priv = webView->priv;
- return priv->transparent;
-}
-
-/**
- * webkit_web_view_set_transparent:
- * @web_view: a #WebKitWebView
- * @flag: whether or not @web_view should be transparent
- *
- * Sets whether the #WebKitWebView has a transparent background.
- *
- * Pass %FALSE to have the #WebKitWebView draw a solid background
- * (the default), otherwise %TRUE.
- */
-void webkit_web_view_set_transparent(WebKitWebView* webView, gboolean flag)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- WebKitWebViewPrivate* priv = webView->priv;
- priv->transparent = flag;
-
- // TODO: This needs to be made persistent or it could become a problem when
- // the main frame is replaced.
- Frame* frame = core(webView)->mainFrame();
- g_return_if_fail(frame);
- frame->view()->setTransparent(flag);
- g_object_notify(G_OBJECT(webView), "transparent");
-}
-
-/**
- * webkit_web_view_get_zoom_level:
- * @web_view: a #WebKitWebView
- *
- * Returns the zoom level of @web_view, i.e. the factor by which elements in
- * the page are scaled with respect to their original size.
- * If the "full-content-zoom" property is set to %FALSE (the default)
- * the zoom level changes the text size, or if %TRUE, scales all
- * elements in the page.
- *
- * Return value: the zoom level of @web_view
- *
- * Since: 1.0.1
- */
-gfloat webkit_web_view_get_zoom_level(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 1.0f);
-
- Frame* frame = core(webView)->mainFrame();
- if (!frame)
- return 1.0f;
-
- WebKitWebViewPrivate* priv = webView->priv;
- return priv->zoomFullContent ? frame->pageZoomFactor() : frame->textZoomFactor();
-}
-
-static void webkit_web_view_apply_zoom_level(WebKitWebView* webView, gfloat zoomLevel)
-{
- Frame* frame = core(webView)->mainFrame();
- if (!frame)
- return;
-
- WebKitWebViewPrivate* priv = webView->priv;
- if (priv->zoomFullContent)
- frame->setPageZoomFactor(zoomLevel);
- else
- frame->setTextZoomFactor(zoomLevel);
-}
-
-/**
- * webkit_web_view_set_zoom_level:
- * @web_view: a #WebKitWebView
- * @zoom_level: the new zoom level
- *
- * Sets the zoom level of @web_view, i.e. the factor by which elements in
- * the page are scaled with respect to their original size.
- * If the "full-content-zoom" property is set to %FALSE (the default)
- * the zoom level changes the text size, or if %TRUE, scales all
- * elements in the page.
- *
- * Since: 1.0.1
- */
-void webkit_web_view_set_zoom_level(WebKitWebView* webView, gfloat zoomLevel)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- webkit_web_view_apply_zoom_level(webView, zoomLevel);
- g_object_notify(G_OBJECT(webView), "zoom-level");
-}
-
-/**
- * webkit_web_view_zoom_in:
- * @web_view: a #WebKitWebView
- *
- * Increases the zoom level of @web_view. The current zoom
- * level is incremented by the value of the "zoom-step"
- * property of the #WebKitWebSettings associated with @web_view.
- *
- * Since: 1.0.1
- */
-void webkit_web_view_zoom_in(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- WebKitWebViewPrivate* priv = webView->priv;
- gfloat zoomMultiplierRatio;
- g_object_get(priv->webSettings.get(), "zoom-step", &zoomMultiplierRatio, NULL);
-
- webkit_web_view_set_zoom_level(webView, webkit_web_view_get_zoom_level(webView) + zoomMultiplierRatio);
-}
-
-/**
- * webkit_web_view_zoom_out:
- * @web_view: a #WebKitWebView
- *
- * Decreases the zoom level of @web_view. The current zoom
- * level is decremented by the value of the "zoom-step"
- * property of the #WebKitWebSettings associated with @web_view.
- *
- * Since: 1.0.1
- */
-void webkit_web_view_zoom_out(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- WebKitWebViewPrivate* priv = webView->priv;
- gfloat zoomMultiplierRatio;
- g_object_get(priv->webSettings.get(), "zoom-step", &zoomMultiplierRatio, NULL);
-
- webkit_web_view_set_zoom_level(webView, webkit_web_view_get_zoom_level(webView) - zoomMultiplierRatio);
-}
-
-/**
- * webkit_web_view_get_full_content_zoom:
- * @web_view: a #WebKitWebView
- *
- * Returns whether the zoom level affects only text or all elements.
- *
- * Return value: %FALSE if only text should be scaled (the default),
- * %TRUE if the full content of the view should be scaled.
- *
- * Since: 1.0.1
- */
-gboolean webkit_web_view_get_full_content_zoom(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- WebKitWebViewPrivate* priv = webView->priv;
- return priv->zoomFullContent;
-}
-
-/**
- * webkit_web_view_set_full_content_zoom:
- * @web_view: a #WebKitWebView
- * @full_content_zoom: %FALSE if only text should be scaled (the default),
- * %TRUE if the full content of the view should be scaled.
- *
- * Sets whether the zoom level affects only text or all elements.
- *
- * Since: 1.0.1
- */
-void webkit_web_view_set_full_content_zoom(WebKitWebView* webView, gboolean zoomFullContent)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- WebKitWebViewPrivate* priv = webView->priv;
- if (priv->zoomFullContent == zoomFullContent)
- return;
-
- Frame* frame = core(webView)->mainFrame();
- if (!frame)
- return;
-
- gfloat zoomLevel = priv->zoomFullContent ? frame->pageZoomFactor() : frame->textZoomFactor();
-
- priv->zoomFullContent = zoomFullContent;
- if (priv->zoomFullContent)
- frame->setPageAndTextZoomFactors(zoomLevel, 1);
- else
- frame->setPageAndTextZoomFactors(1, zoomLevel);
-
- g_object_notify(G_OBJECT(webView), "full-content-zoom");
-}
-
-/**
- * webkit_web_view_get_load_status:
- * @web_view: a #WebKitWebView
- *
- * Determines the current status of the load.
- *
- * Returns: a #WebKitLoadStatus specifying the status of the current load
- *
- * Since: 1.1.7
- */
-WebKitLoadStatus webkit_web_view_get_load_status(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), WEBKIT_LOAD_FINISHED);
-
- WebKitWebViewPrivate* priv = webView->priv;
- return priv->loadStatus;
-}
-
-/**
- * webkit_web_view_get_progress:
- * @web_view: a #WebKitWebView
- *
- * Determines the current progress of the load.
- *
- * Returns: a gdouble representing the status of the current load. This value
- * will be in the range [0, 1].
- *
- * Since: 1.1.7
- */
-gdouble webkit_web_view_get_progress(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 1.0);
-
- return core(webView)->progress()->estimatedProgress();
-}
-
-/**
- * webkit_web_view_get_encoding:
- * @web_view: a #WebKitWebView
- *
- * Returns the default encoding of the #WebKitWebView.
- *
- * Return value: the default encoding
- *
- * Since: 1.1.1
- */
-const gchar* webkit_web_view_get_encoding(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL);
- String encoding = core(webView)->mainFrame()->document()->encoding();
- if (encoding.isEmpty())
- return 0;
- webView->priv->encoding = encoding.utf8();
- return webView->priv->encoding.data();
-}
-
-/**
- * webkit_web_view_set_custom_encoding:
- * @web_view: a #WebKitWebView
- * @encoding: the new encoding, or %NULL to restore the default encoding
- *
- * Sets the current #WebKitWebView encoding, without modifying the default one,
- * and reloads the page.
- *
- * Since: 1.1.1
- */
-void webkit_web_view_set_custom_encoding(WebKitWebView* webView, const char* encoding)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- core(webView)->mainFrame()->loader()->reloadWithOverrideEncoding(String::fromUTF8(encoding));
-}
-
-/**
- * webkit_web_view_get_custom_encoding:
- * @web_view: a #WebKitWebView
- *
- * Returns the current encoding of the #WebKitWebView, not the default-encoding
- * of WebKitWebSettings.
- *
- * Return value: a string containing the current custom encoding for @web_view, or %NULL if there's none set.
- *
- * Since: 1.1.1
- */
-const char* webkit_web_view_get_custom_encoding(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL);
- String overrideEncoding = core(webView)->mainFrame()->loader()->documentLoader()->overrideEncoding();
- if (overrideEncoding.isEmpty())
- return 0;
- webView->priv->customEncoding = overrideEncoding.utf8();
- return webView->priv->customEncoding.data();
-}
-
-/**
- * webkit_web_view_set_view_mode:
- * @web_view: the #WebKitWebView that will have its view mode set
- * @mode: the %WebKitWebViewViewMode to be set
- *
- * Sets the view-mode property of the #WebKitWebView. Check the
- * property's documentation for more information.
- *
- * Since: 1.3.4
- */
-void webkit_web_view_set_view_mode(WebKitWebView* webView, WebKitWebViewViewMode mode)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- Page* page = core(webView);
-
- switch (mode) {
- case WEBKIT_WEB_VIEW_VIEW_MODE_FLOATING:
- page->setViewMode(Page::ViewModeFloating);
- break;
- case WEBKIT_WEB_VIEW_VIEW_MODE_FULLSCREEN:
- page->setViewMode(Page::ViewModeFullscreen);
- break;
- case WEBKIT_WEB_VIEW_VIEW_MODE_MAXIMIZED:
- page->setViewMode(Page::ViewModeMaximized);
- break;
- case WEBKIT_WEB_VIEW_VIEW_MODE_MINIMIZED:
- page->setViewMode(Page::ViewModeMinimized);
- break;
- default:
- page->setViewMode(Page::ViewModeWindowed);
- break;
- }
-}
-
-/**
- * webkit_web_view_get_view_mode:
- * @web_view: the #WebKitWebView to obtain the view mode from
- *
- * Gets the value of the view-mode property of the
- * #WebKitWebView. Check the property's documentation for more
- * information.
- *
- * Return value: the %WebKitWebViewViewMode currently set for the
- * #WebKitWebView.
- *
- * Since: 1.3.4
- */
-WebKitWebViewViewMode webkit_web_view_get_view_mode(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), WEBKIT_WEB_VIEW_VIEW_MODE_WINDOWED);
-
- Page* page = core(webView);
- Page::ViewMode mode = page->viewMode();
-
- if (mode == Page::ViewModeFloating)
- return WEBKIT_WEB_VIEW_VIEW_MODE_FLOATING;
-
- if (mode == Page::ViewModeFullscreen)
- return WEBKIT_WEB_VIEW_VIEW_MODE_FULLSCREEN;
-
- if (mode == Page::ViewModeMaximized)
- return WEBKIT_WEB_VIEW_VIEW_MODE_MAXIMIZED;
-
- if (mode == Page::ViewModeMinimized)
- return WEBKIT_WEB_VIEW_VIEW_MODE_MINIMIZED;
-
- return WEBKIT_WEB_VIEW_VIEW_MODE_WINDOWED;
-}
-
-/**
- * webkit_web_view_move_cursor:
- * @web_view: a #WebKitWebView
- * @step: a #GtkMovementStep
- * @count: integer describing the direction of the movement. 1 for forward, -1 for backwards.
- *
- * Move the cursor in @view as described by @step and @count.
- *
- * Since: 1.1.4
- */
-void webkit_web_view_move_cursor(WebKitWebView* webView, GtkMovementStep step, gint count)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
- g_return_if_fail(step == GTK_MOVEMENT_VISUAL_POSITIONS ||
- step == GTK_MOVEMENT_DISPLAY_LINES ||
- step == GTK_MOVEMENT_PAGES ||
- step == GTK_MOVEMENT_BUFFER_ENDS);
- g_return_if_fail(count == 1 || count == -1);
-
- gboolean handled;
- g_signal_emit(webView, webkit_web_view_signals[MOVE_CURSOR], 0, step, count, &handled);
-}
-
-/**
- * webkit_web_view_can_undo:
- * @web_view: a #WebKitWebView
- *
- * Determines whether or not it is currently possible to undo the last
- * editing command in the view.
- *
- * Return value: %TRUE if a undo can be done, %FALSE if not
- *
- * Since: 1.1.14
- */
-gboolean webkit_web_view_can_undo(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- return frame->editor().canUndo();
-}
-
-/**
- * webkit_web_view_undo:
- * @web_view: a #WebKitWebView
- *
- * Undoes the last editing command in the view, if possible.
- *
- * Since: 1.1.14
- */
-void webkit_web_view_undo(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- if (webkit_web_view_can_undo(webView))
- g_signal_emit(webView, webkit_web_view_signals[UNDO], 0);
-}
-
-/**
- * webkit_web_view_can_redo:
- * @web_view: a #WebKitWebView
- *
- * Determines whether or not it is currently possible to redo the last
- * editing command in the view.
- *
- * Return value: %TRUE if a redo can be done, %FALSE if not
- *
- * Since: 1.1.14
- */
-gboolean webkit_web_view_can_redo(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- return frame->editor().canRedo();
-}
-
-/**
- * webkit_web_view_redo:
- * @web_view: a #WebKitWebView
- *
- * Redoes the last editing command in the view, if possible.
- *
- * Since: 1.1.14
- */
-void webkit_web_view_redo(WebKitWebView* webView)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- if (webkit_web_view_can_redo(webView))
- g_signal_emit(webView, webkit_web_view_signals[REDO], 0);
-}
-
-
-/**
- * webkit_web_view_set_view_source_mode:
- * @web_view: a #WebKitWebView
- * @view_source_mode: the mode to turn on or off view source mode
- *
- * Set whether the view should be in view source mode. Setting this mode to
- * %TRUE before loading a URI will display the source of the web page in a
- * nice and readable format.
- *
- * Since: 1.1.14
- */
-void webkit_web_view_set_view_source_mode (WebKitWebView* webView, gboolean mode)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- if (Frame* mainFrame = core(webView)->mainFrame())
- mainFrame->setInViewSourceMode(mode);
-}
-
-/**
- * webkit_web_view_get_view_source_mode:
- * @web_view: a #WebKitWebView
- *
- * Return value: %TRUE if @web_view is in view source mode, %FALSE otherwise.
- *
- * Since: 1.1.14
- */
-gboolean webkit_web_view_get_view_source_mode (WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
-
- if (Frame* mainFrame = core(webView)->mainFrame())
- return mainFrame->inViewSourceMode();
-
- return FALSE;
-}
-
-// Internal subresource management
-void webkit_web_view_add_main_resource(WebKitWebView* webView, const char* identifier, WebKitWebResource* webResource)
-{
- WebKitWebViewPrivate* priv = webView->priv;
-
- priv->mainResource = adoptGRef(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);
-}
-
-void webkitWebViewRemoveSubresource(WebKitWebView* webView, const char* identifier)
-{
- ASSERT(identifier);
-
- // Don't remove the main resource.
- const CString& mainResource = webView->priv->mainResourceIdentifier;
- if (!mainResource.isNull() && g_str_equal(identifier, mainResource.data()))
- return;
- g_hash_table_remove(webView->priv->subResources.get(), identifier);
-}
-
-WebKitWebResource* webkit_web_view_get_resource(WebKitWebView* webView, char* identifier)
-{
- WebKitWebViewPrivate* priv = webView->priv;
- gpointer webResource = 0;
- gboolean resourceFound = g_hash_table_lookup_extended(priv->subResources.get(), identifier, NULL, &webResource);
-
- // The only resource we do not store in this hash table is the
- // main! If we did not find a request, it probably means the load
- // has been interrupted while while a resource was still being
- // loaded.
- if (!resourceFound && !g_str_equal(identifier, priv->mainResourceIdentifier.data()))
- return 0;
-
- if (!webResource)
- return webkit_web_view_get_main_resource(webView);
-
- return WEBKIT_WEB_RESOURCE(webResource);
-}
-
-WebKitWebResource* webkit_web_view_get_main_resource(WebKitWebView* webView)
-{
- return webView->priv->mainResource.get();
-}
-
-void webkit_web_view_clear_resources(WebKitWebView* webView)
-{
- WebKitWebViewPrivate* priv = webView->priv;
-
- if (priv->subResources)
- g_hash_table_remove_all(priv->subResources.get());
-}
-
-static gboolean cleanupTemporarilyCachedSubresources(gpointer data)
-{
- GList* subResources = static_cast<GList*>(data);
- g_list_foreach(subResources, reinterpret_cast<GFunc>(g_object_unref), NULL);
- g_list_free(subResources);
- return FALSE;
-}
-
-GList* webkit_web_view_get_subresources(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL);
- GList* subResources = 0;
- Vector<PassRefPtr<ArchiveResource> > coreSubResources;
-
- core(webView)->mainFrame()->loader()->documentLoader()->getSubresources(coreSubResources);
-
- for (unsigned i = 0; i < coreSubResources.size(); i++) {
- WebKitWebResource* webResource = WEBKIT_WEB_RESOURCE(g_object_new(WEBKIT_TYPE_WEB_RESOURCE, NULL));
- webkit_web_resource_init_with_core_resource(webResource, coreSubResources[i]);
- subResources = g_list_append(subResources, webResource);
- }
-
- if (subResources)
- g_timeout_add(1, cleanupTemporarilyCachedSubresources, g_list_copy(subResources));
-
- return subResources;
-}
-
-/* From EventHandler.cpp */
-static IntPoint documentPointForWindowPoint(Frame* frame, const IntPoint& windowPoint)
-{
- FrameView* view = frame->view();
- // FIXME: Is it really OK to use the wrong coordinates here when view is 0?
- // Historically the code would just crash; this is clearly no worse than that.
- return view ? view->windowToContents(windowPoint) : windowPoint;
-}
-
-void webkit_web_view_set_tooltip_text(WebKitWebView* webView, const char* tooltip)
-{
- WebKitWebViewPrivate* priv = webView->priv;
- if (tooltip && *tooltip != '\0') {
- priv->tooltipText = tooltip;
- gtk_widget_set_has_tooltip(GTK_WIDGET(webView), TRUE);
- } else {
- priv->tooltipText = "";
- gtk_widget_set_has_tooltip(GTK_WIDGET(webView), FALSE);
- }
-
- gtk_widget_trigger_tooltip_query(GTK_WIDGET(webView));
-}
-
-/**
- * webkit_web_view_get_hit_test_result:
- * @web_view: a #WebKitWebView
- * @event: a #GdkEventButton
- *
- * Does a 'hit test' in the coordinates specified by @event to figure
- * out context information about that position in the @web_view.
- *
- * Returns: (transfer full): a newly created #WebKitHitTestResult with the context of the
- * specified position.
- *
- * Since: 1.1.15
- **/
-WebKitHitTestResult* webkit_web_view_get_hit_test_result(WebKitWebView* webView, GdkEventButton* event)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), NULL);
- g_return_val_if_fail(event, NULL);
-
- PlatformMouseEvent mouseEvent = PlatformMouseEvent(event);
- Frame* frame = core(webView)->focusController()->focusedOrMainFrame();
- HitTestRequest request(HitTestRequest::Active | HitTestRequest::DisallowShadowContent);
- IntPoint documentPoint = documentPointForWindowPoint(frame, mouseEvent.position());
- MouseEventWithHitTestResults mev = frame->document()->prepareMouseEvent(request, documentPoint, mouseEvent);
-
- return kit(mev.hitTestResult());
-}
-
-/**
- * webkit_web_view_get_icon_uri:
- * @web_view: the #WebKitWebView object
- *
- * Obtains the URI for the favicon for the given #WebKitWebView, or
- * %NULL if there is none.
- *
- * Return value: the URI for the favicon, or %NULL
- *
- * Since: 1.1.18
- */
-const gchar* webkit_web_view_get_icon_uri(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
- String iconURL = iconDatabase().synchronousIconURLForPageURL(core(webView)->mainFrame()->document()->url().string());
- webView->priv->iconURI = iconURL.utf8();
- return webView->priv->iconURI.data();
-}
-
-/**
- * webkit_web_view_get_icon_pixbuf:
- * @web_view: the #WebKitWebView object
- *
- * Obtains a #GdkPixbuf of the favicon for the given #WebKitWebView, or
- * a default icon if there is no icon for the given page. Use
- * webkit_web_view_get_icon_uri() if you need to distinguish these cases.
- * Usually you want to connect to WebKitWebView::icon-loaded and call this
- * method in the callback.
- *
- * The pixbuf will have the largest size provided by the server and should
- * be resized before it is displayed.
- * See also webkit_icon_database_get_icon_pixbuf().
- *
- * Returns: (transfer full): a new reference to a #GdkPixbuf, or %NULL
- *
- * Since: 1.3.13
- *
- * Deprecated: 1.8: Use webkit_web_view_try_get_favicon_pixbuf() instead.
- */
-GdkPixbuf* webkit_web_view_get_icon_pixbuf(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
-
- const gchar* pageURI = webkit_web_view_get_uri(webView);
- WebKitIconDatabase* database = webkit_get_icon_database();
- return webkit_icon_database_get_icon_pixbuf(database, pageURI);
-}
-
-/**
- * webkit_web_view_try_get_favicon_pixbuf:
- * @web_view: the #WebKitWebView object
- * @width: the desired width for the icon
- * @height: the desired height for the icon
- *
- * Obtains a #GdkPixbuf of the favicon for the given
- * #WebKitWebView. This will return %NULL is there is no icon for the
- * current #WebKitWebView or if the icon is in the database but not
- * available at the moment of this call. Use
- * webkit_web_view_get_icon_uri() if you need to distinguish these
- * cases. Usually you want to connect to WebKitWebView::icon-loaded
- * and call this method in the callback.
- *
- * See also webkit_favicon_database_try_get_favicon_pixbuf(). Contrary
- * to this function the icon database one returns the URL of the page
- * containing the icon.
- *
- * Returns: (transfer full): a new reference to a #GdkPixbuf, or %NULL
- *
- * Since: 1.8
- */
-GdkPixbuf* webkit_web_view_try_get_favicon_pixbuf(WebKitWebView* webView, guint width, guint height)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
-
- const gchar* pageURI = webkit_web_view_get_uri(webView);
- WebKitFaviconDatabase* database = webkit_get_favicon_database();
- return webkit_favicon_database_try_get_favicon_pixbuf(database, pageURI, width, height);
-}
-
-/**
- * webkit_web_view_get_dom_document:
- * @web_view: a #WebKitWebView
- *
- * Returns: (transfer none): the #WebKitDOMDocument currently loaded in
- * the main frame of the @web_view or %NULL if no document is loaded
- *
- * Since: 1.3.1
- **/
-WebKitDOMDocument*
-webkit_web_view_get_dom_document(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
-
- return webkit_web_frame_get_dom_document(webView->priv->mainFrame);
-}
-
-GtkMenu* webkit_web_view_get_context_menu(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
-
-#if ENABLE(CONTEXT_MENUS)
- ContextMenu* menu = core(webView)->contextMenuController()->contextMenu();
- if (!menu)
- return 0;
- return menu->platformDescription();
-#else
- return 0;
-#endif
-}
-
-/**
- * webkit_web_view_get_snapshot:
- * @web_view: a #WebKitWebView
- *
- * Retrieves a snapshot with the visible contents of @webview.
- *
- * Returns: (transfer full): a @cairo_surface_t
- *
- * Since: 1.10
- **/
-cairo_surface_t*
-webkit_web_view_get_snapshot(WebKitWebView* webView)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
-
- Frame* frame = core(webView)->mainFrame();
- if (!frame || !frame->contentRenderer() || !frame->view())
- return 0;
-
- frame->view()->updateLayoutAndStyleIfNeededRecursive();
- GtkAllocation allocation;
- gtk_widget_get_allocation(GTK_WIDGET(webView), &allocation);
- cairo_surface_t* surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, allocation.width, allocation.height);
- RefPtr<cairo_t> cr = adoptRef(cairo_create(surface));
- GraphicsContext gc(cr.get());
-
- IntRect rect = allocation;
- gc.applyDeviceScaleFactor(frame->page()->deviceScaleFactor());
- gc.save();
- gc.clip(rect);
- if (webView->priv->transparent)
- gc.clearRect(rect);
- frame->view()->paint(&gc, rect);
- gc.restore();
-
- return surface;
-}
-
-#if ENABLE(ICONDATABASE)
-void webkitWebViewIconLoaded(WebKitFaviconDatabase* database, const char* frameURI, WebKitWebView* webView)
-{
- // Since we definitely have an icon the WebView doesn't need to
- // listen for notifications any longer.
- webkitWebViewRegisterForIconNotification(webView, false);
-
- // webkit_web_view_get_icon_uri() properly updates the "icon-uri" property.
- g_object_notify(G_OBJECT(webView), "icon-uri");
- g_signal_emit(webView, webkit_web_view_signals[ICON_LOADED], 0, webkit_web_view_get_icon_uri(webView));
-}
-
-void webkitWebViewRegisterForIconNotification(WebKitWebView* webView, bool shouldRegister)
-{
- WebKitFaviconDatabase* database = webkit_get_favicon_database();
- if (shouldRegister) {
- if (!g_signal_handler_is_connected(database, webView->priv->iconLoadedHandler))
- webView->priv->iconLoadedHandler = g_signal_connect(database, "icon-loaded",
- G_CALLBACK(webkitWebViewIconLoaded), webView);
- } else
- if (g_signal_handler_is_connected(database, webView->priv->iconLoadedHandler))
- g_signal_handler_disconnect(database, webView->priv->iconLoadedHandler);
-}
-#endif
-
-void webkitWebViewDirectionChanged(WebKitWebView* webView, GtkTextDirection previousDirection, gpointer)
-{
- g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
-
- GtkTextDirection direction = gtk_widget_get_direction(GTK_WIDGET(webView));
-
- Frame* focusedFrame = core(webView)->focusController()->focusedFrame();
- if (!focusedFrame)
- return;
-
- Editor& editor = focusedFrame->editor();
- if (!editor.canEdit())
- return;
-
- switch (direction) {
- case GTK_TEXT_DIR_NONE:
- editor.setBaseWritingDirection(NaturalWritingDirection);
- break;
- case GTK_TEXT_DIR_LTR:
- editor.setBaseWritingDirection(LeftToRightWritingDirection);
- break;
- case GTK_TEXT_DIR_RTL:
- editor.setBaseWritingDirection(RightToLeftWritingDirection);
- break;
- default:
- g_assert_not_reached();
- return;
- }
-}
-
-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;
-
- WebCore::ChromeClient* chromeClient = corePage->chrome().client();
- if (chromeClient->isEmptyChromeClient())
- return 0;
-
- return static_cast<WebKit::ChromeClient*>(chromeClient)->webView();
-}
-
-}
diff --git a/Source/WebKit/gtk/webkit/webkitwebview.h b/Source/WebKit/gtk/webkit/webkitwebview.h
deleted file mode 100644
index 5c09db61e..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebview.h
+++ /dev/null
@@ -1,453 +0,0 @@
-/*
- * Copyright (C) 2007 Holger Hans Peter Freyther
- * Copyright (C) 2007, 2008 Alp Toker <alp@atoker.com>
- * Copyright (C) 2008 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.
- */
-
-#ifndef webkitwebview_h
-#define webkitwebview_h
-
-#include <gtk/gtk.h>
-#include <libsoup/soup.h>
-#include <JavaScriptCore/JSBase.h>
-#include <webkit/webkitdefines.h>
-#include <webkit/webkitfilechooserrequest.h>
-#include <webkit/webkitwebbackforwardlist.h>
-#include <webkit/webkitwebframe.h>
-#include <webkit/webkitwebhistoryitem.h>
-#include <webkit/webkitwebsettings.h>
-#include <webkitdom/webkitdom.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_WEB_VIEW (webkit_web_view_get_type())
-#define WEBKIT_WEB_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_VIEW, WebKitWebView))
-#define WEBKIT_WEB_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_VIEW, WebKitWebViewClass))
-#define WEBKIT_IS_WEB_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_VIEW))
-#define WEBKIT_IS_WEB_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_VIEW))
-#define WEBKIT_WEB_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_VIEW, WebKitWebViewClass))
-
-typedef struct _WebKitWebViewPrivate WebKitWebViewPrivate;
-
-/**
- * WebKitNavigationResponse:
- * @WEBKIT_NAVIGATION_RESPONSE_ACCEPT: Instruct WebKit to allow the navigation.
- * @WEBKIT_NAVIGATION_RESPONSE_IGNORE: Instruct WebKit to ignore the navigation.
- * @WEBKIT_NAVIGATION_RESPONSE_DOWNLOAD: Instruct WebKit to start a download of the destination instead.
- *
- * Enum values used to denote the various responses to a navigation policy decision.
- **/
-typedef enum {
- WEBKIT_NAVIGATION_RESPONSE_ACCEPT,
- WEBKIT_NAVIGATION_RESPONSE_IGNORE,
- WEBKIT_NAVIGATION_RESPONSE_DOWNLOAD
-} WebKitNavigationResponse;
-
-/**
- * WebKitWebViewTargetInfo:
- * @WEBKIT_WEB_VIEW_TARGET_INFO_HTML: Rich markup data
- * @WEBKIT_WEB_VIEW_TARGET_INFO_TEXT: Text data
- * @WEBKIT_WEB_VIEW_TARGET_INFO_IMAGE: Image data
- * @WEBKIT_WEB_VIEW_TARGET_INFO_URI_LIST: URI list data
- * @WEBKIT_WEB_VIEW_TARGET_INFO_NETSCAPE_URL: A single URL in the Netscape protocol
- *
- * Enum values used to denote the info value of various selection types. These can be used
- * to interpret the data WebKitGTK+ publishes via GtkClipboard and drag-and-drop.
- **/
-typedef enum
-{
- WEBKIT_WEB_VIEW_TARGET_INFO_HTML,
- WEBKIT_WEB_VIEW_TARGET_INFO_TEXT,
- WEBKIT_WEB_VIEW_TARGET_INFO_IMAGE,
- WEBKIT_WEB_VIEW_TARGET_INFO_URI_LIST,
- WEBKIT_WEB_VIEW_TARGET_INFO_NETSCAPE_URL
-} WebKitWebViewTargetInfo;
-
-/**
- * WebKitWebViewViewMode:
- * @WEBKIT_WEB_VIEW_VIEW_MODE_WINDOWED: Windowed view mode
- * @WEBKIT_WEB_VIEW_VIEW_MODE_FLOATING: Floating view mode
- * @WEBKIT_WEB_VIEW_VIEW_MODE_FULLSCREEN: Fullscreen view mode
- * @WEBKIT_WEB_VIEW_VIEW_MODE_MAXIMIZED: Maximized view mode
- * @WEBKIT_WEB_VIEW_VIEW_MODE_MINIMIZED: Minimized view mode
- *
- * Enum values used to denote the various types of view modes. See the
- * #WebKitWebView:view-mode property.
- **/
-typedef enum
-{
- WEBKIT_WEB_VIEW_VIEW_MODE_WINDOWED,
- WEBKIT_WEB_VIEW_VIEW_MODE_FLOATING,
- WEBKIT_WEB_VIEW_VIEW_MODE_FULLSCREEN,
- WEBKIT_WEB_VIEW_VIEW_MODE_MAXIMIZED,
- WEBKIT_WEB_VIEW_VIEW_MODE_MINIMIZED
-} WebKitWebViewViewMode;
-
-typedef enum
-{
- WEBKIT_SELECTION_AFFINITY_UPSTREAM,
- WEBKIT_SELECTION_AFFINITY_DOWNSTREAM,
-} WebKitSelectionAffinity;
-
-typedef enum
-{
- WEBKIT_INSERT_ACTION_TYPED,
- WEBKIT_INSERT_ACTION_PASTED,
- WEBKIT_INSERT_ACTION_DROPPED,
-} WebKitInsertAction;
-
-struct _WebKitWebView {
- GtkContainer parent_instance;
-
- /*< private >*/
- WebKitWebViewPrivate *priv;
-};
-
-struct _WebKitWebViewClass {
- GtkContainerClass parent_class;
-
- /*< public >*/
- /*
- * default handler/virtual methods
- */
- WebKitWebView * (* create_web_view) (WebKitWebView *web_view,
- WebKitWebFrame *web_frame);
-
- gboolean (* web_view_ready) (WebKitWebView* web_view);
-
- gboolean (* close_web_view) (WebKitWebView* web_view);
-
- WebKitNavigationResponse (* navigation_requested) (WebKitWebView *web_view,
- WebKitWebFrame *frame,
- WebKitNetworkRequest *request);
- void (* window_object_cleared) (WebKitWebView *web_view,
- WebKitWebFrame *frame,
- JSGlobalContextRef context,
- JSObjectRef window_object);
- gchar * (* choose_file) (WebKitWebView *web_view,
- WebKitWebFrame *frame,
- const gchar *old_file);
- gboolean (* script_alert) (WebKitWebView *web_view,
- WebKitWebFrame *frame,
- const gchar *alert_message);
- gboolean (* script_confirm) (WebKitWebView *web_view,
- WebKitWebFrame *frame,
- const gchar *confirm_message,
- gboolean *did_confirm);
- gboolean (* script_prompt) (WebKitWebView *web_view,
- WebKitWebFrame *frame,
- const gchar *message,
- const gchar *default_value,
- gchar* *value);
- gboolean (* console_message) (WebKitWebView *web_view,
- const gchar *message,
- guint line_number,
- const gchar* source_id);
- void (* select_all) (WebKitWebView *web_view);
- void (* cut_clipboard) (WebKitWebView *web_view);
- void (* copy_clipboard) (WebKitWebView *web_view);
- void (* paste_clipboard) (WebKitWebView *web_view);
- gboolean (* move_cursor) (WebKitWebView *web_view,
- GtkMovementStep step,
- gint count);
-
- /*
- * internal
- */
- void (* set_scroll_adjustments) (WebKitWebView *web_view,
- GtkAdjustment *hadjustment,
- GtkAdjustment *vadjustment);
-
- void (* undo) (WebKitWebView *web_view);
- void (* redo) (WebKitWebView *web_view);
- gboolean (* should_allow_editing_action) (WebKitWebView *web_view);
- gboolean (* entering_fullscreen) (WebKitWebView *web_view);
- gboolean (* leaving_fullscreen) (WebKitWebView *web_view);
- gboolean (* run_file_chooser) (WebKitWebView *web_view,
- WebKitFileChooserRequest *request);
-};
-
-WEBKIT_API GType
-webkit_web_view_get_type (void);
-
-WEBKIT_API GtkWidget *
-webkit_web_view_new (void);
-
-WEBKIT_API const gchar *
-webkit_web_view_get_title (WebKitWebView *web_view);
-
-
-WEBKIT_API const gchar *
-webkit_web_view_get_uri (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_set_maintains_back_forward_list (WebKitWebView *web_view,
- gboolean flag);
-
-WEBKIT_API WebKitWebBackForwardList *
-webkit_web_view_get_back_forward_list (WebKitWebView *web_view);
-
-WEBKIT_API gboolean
-webkit_web_view_go_to_back_forward_item (WebKitWebView *web_view,
- WebKitWebHistoryItem *item);
-
-WEBKIT_API gboolean
-webkit_web_view_can_go_back (WebKitWebView *web_view);
-
-WEBKIT_API gboolean
-webkit_web_view_can_go_back_or_forward (WebKitWebView *web_view,
- gint steps);
-WEBKIT_API gboolean
-webkit_web_view_can_go_forward (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_go_back (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_go_back_or_forward (WebKitWebView *web_view,
- gint steps);
-WEBKIT_API void
-webkit_web_view_go_forward (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_stop_loading (WebKitWebView *web_view);
-
-#if !defined(WEBKIT_DISABLE_DEPRECATED)
-WEBKIT_API void
-webkit_web_view_open (WebKitWebView *web_view,
- const gchar *uri);
-
-#endif
-
-WEBKIT_API void
-webkit_web_view_reload (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_reload_bypass_cache (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_load_uri (WebKitWebView *web_view,
- const gchar *uri);
-WEBKIT_API void
-webkit_web_view_load_string (WebKitWebView *web_view,
- const gchar *content,
- const gchar *mime_type,
- const gchar *encoding,
- const gchar *base_uri);
-
-#if !defined(WEBKIT_DISABLE_DEPRECATED)
-WEBKIT_API void
-webkit_web_view_load_html_string (WebKitWebView *web_view,
- const gchar *content,
- const gchar *base_uri);
-#endif
-
-WEBKIT_API void
-webkit_web_view_load_request (WebKitWebView *web_view,
- WebKitNetworkRequest *request);
-
-WEBKIT_API gboolean
-webkit_web_view_search_text (WebKitWebView *web_view,
- const gchar *text,
- gboolean case_sensitive,
- gboolean forward,
- gboolean wrap);
-
-WEBKIT_API guint
-webkit_web_view_mark_text_matches (WebKitWebView *web_view,
- const gchar *string,
- gboolean case_sensitive,
- guint limit);
-
-WEBKIT_API void
-webkit_web_view_set_highlight_text_matches (WebKitWebView *web_view,
- gboolean highlight);
-
-WEBKIT_API void
-webkit_web_view_unmark_text_matches (WebKitWebView *web_view);
-
-WEBKIT_API WebKitWebFrame *
-webkit_web_view_get_main_frame (WebKitWebView *web_view);
-
-WEBKIT_API WebKitWebFrame *
-webkit_web_view_get_focused_frame (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_execute_script (WebKitWebView *web_view,
- const gchar *script);
-
-WEBKIT_API gboolean
-webkit_web_view_can_cut_clipboard (WebKitWebView *web_view);
-
-WEBKIT_API gboolean
-webkit_web_view_can_copy_clipboard (WebKitWebView *web_view);
-
-WEBKIT_API gboolean
-webkit_web_view_can_paste_clipboard (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_cut_clipboard (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_copy_clipboard (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_paste_clipboard (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_delete_selection (WebKitWebView *web_view);
-
-WEBKIT_API gboolean
-webkit_web_view_has_selection (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_select_all (WebKitWebView *web_view);
-
-WEBKIT_API gboolean
-webkit_web_view_get_editable (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_set_editable (WebKitWebView *web_view,
- gboolean flag);
-
-WEBKIT_API GtkTargetList *
-webkit_web_view_get_copy_target_list (WebKitWebView *web_view);
-
-WEBKIT_API GtkTargetList *
-webkit_web_view_get_paste_target_list (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_set_settings (WebKitWebView *web_view,
- WebKitWebSettings *settings);
-
-WEBKIT_API WebKitWebSettings *
-webkit_web_view_get_settings (WebKitWebView *web_view);
-
-WEBKIT_API WebKitWebInspector *
-webkit_web_view_get_inspector (WebKitWebView *web_view);
-
-WEBKIT_API WebKitWebWindowFeatures*
-webkit_web_view_get_window_features (WebKitWebView *web_view);
-
-WEBKIT_API gboolean
-webkit_web_view_can_show_mime_type (WebKitWebView *web_view,
- const gchar *mime_type);
-
-WEBKIT_API gboolean
-webkit_web_view_get_transparent (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_set_transparent (WebKitWebView *web_view,
- gboolean flag);
-
-WEBKIT_API gfloat
-webkit_web_view_get_zoom_level (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_set_zoom_level (WebKitWebView *web_view,
- gfloat zoom_level);
-
-WEBKIT_API void
-webkit_web_view_zoom_in (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_zoom_out (WebKitWebView *web_view);
-
-WEBKIT_API gboolean
-webkit_web_view_get_full_content_zoom (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_set_full_content_zoom (WebKitWebView *web_view,
- gboolean full_content_zoom);
-
-WEBKIT_API const gchar*
-webkit_web_view_get_encoding (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_set_custom_encoding (WebKitWebView *web_view,
- const gchar *encoding);
-
-WEBKIT_API const char*
-webkit_web_view_get_custom_encoding (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_set_view_mode (WebKitWebView *web_view,
- WebKitWebViewViewMode mode);
-
-WEBKIT_API WebKitWebViewViewMode
-webkit_web_view_get_view_mode (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_move_cursor (WebKitWebView *web_view,
- GtkMovementStep step,
- gint count);
-
-WEBKIT_API WebKitLoadStatus
-webkit_web_view_get_load_status (WebKitWebView *web_view);
-
-WEBKIT_API gdouble
-webkit_web_view_get_progress (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_undo (WebKitWebView *web_view);
-
-WEBKIT_API gboolean
-webkit_web_view_can_undo (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_redo (WebKitWebView *web_view);
-
-WEBKIT_API gboolean
-webkit_web_view_can_redo (WebKitWebView *web_view);
-
-WEBKIT_API void
-webkit_web_view_set_view_source_mode (WebKitWebView *web_view,
- gboolean view_source_mode);
-
-WEBKIT_API gboolean
-webkit_web_view_get_view_source_mode (WebKitWebView *web_view);
-
-WEBKIT_API WebKitHitTestResult*
-webkit_web_view_get_hit_test_result (WebKitWebView *web_view,
- GdkEventButton *event);
-
-WEBKIT_API const gchar *
-webkit_web_view_get_icon_uri (WebKitWebView *web_view);
-
-#if !defined(WEBKIT_DISABLE_DEPRECATED)
-WEBKIT_API GdkPixbuf *
-webkit_web_view_get_icon_pixbuf (WebKitWebView *web_view);
-#endif
-
-WEBKIT_API GdkPixbuf *
-webkit_web_view_try_get_favicon_pixbuf (WebKitWebView *web_view,
- guint width,
- guint height);
-
-WEBKIT_API WebKitDOMDocument *
-webkit_web_view_get_dom_document (WebKitWebView *web_view);
-
-WEBKIT_API WebKitViewportAttributes*
-webkit_web_view_get_viewport_attributes (WebKitWebView *web_view);
-
-WEBKIT_API cairo_surface_t*
-webkit_web_view_get_snapshot (WebKitWebView *web_view);
-
-G_END_DECLS
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitwebviewprivate.h b/Source/WebKit/gtk/webkit/webkitwebviewprivate.h
deleted file mode 100644
index aeefbd0b9..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebviewprivate.h
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * 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 "AcceleratedCompositingContext.h"
-#include "GeolocationClientMock.h"
-#include "GtkClickCounter.h"
-#include "GtkDragAndDropHelper.h"
-#include "Page.h"
-#include "ResourceHandle.h"
-#include "ResourceResponse.h"
-#include "WebViewInputMethodFilter.h"
-#include "WidgetBackingStore.h"
-#include <webkit/webkitwebview.h>
-#include <wtf/gobject/GOwnPtr.h>
-
-#if ENABLE(MEDIA_STREAM)
-#include "UserMediaClientGtk.h"
-#endif
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
-#include "NavigatorContentUtilsClientGtk.h"
-#endif
-
-namespace WebKit {
-WebCore::Page* core(WebKitWebView*);
-WebKitWebView* kit(WebCore::Page*);
-}
-
-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;
- bool hasNativeWindow;
- OwnPtr<WebCore::WidgetBackingStore> backingStore;
- GRefPtr<WebKitWebSettings> webSettings;
- GRefPtr<WebKitWebInspector> webInspector;
- GRefPtr<WebKitViewportAttributes> viewportAttributes;
- GRefPtr<WebKitWebWindowFeatures> webWindowFeatures;
-
- WebKitWebFrame* mainFrame;
- GRefPtr<WebKitWebBackForwardList> backForwardList;
-
- GtkMenu* currentMenu;
- gint lastPopupXPosition;
- gint lastPopupYPosition;
-
- HashSet<GtkWidget*> children;
- WebKit::WebViewInputMethodFilter imFilter;
-
- gboolean transparent;
- bool needsResizeOnMap;
-
-#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;
-
- // These are hosted here because the DataSource object is
- // created too late in the frame loading process.
- GRefPtr<WebKitWebResource> mainResource;
- CString mainResourceIdentifier;
- GRefPtr<GHashTable> subResources;
- CString tooltipText;
- WebCore::IntRect tooltipArea;
-
- WebCore::GtkClickCounter clickCounter;
- WebCore::GtkDragAndDropHelper dragAndDropHelper;
- bool selfScrolling;
-
-#if USE(ACCELERATED_COMPOSITING)
- OwnPtr<WebKit::AcceleratedCompositingContext> acceleratedCompositingContext;
-#endif
-
-#if ENABLE(ICONDATABASE)
- gulong iconLoadedHandler;
-#endif
-
-#if ENABLE(MEDIA_STREAM)
- OwnPtr<WebKit::UserMediaClientGtk> userMediaClient;
-#endif
-
-#if ENABLE(GEOLOCATION)
- OwnPtr<WebCore::GeolocationClientMock> geolocationClientMock;
-#endif
-
-#if ENABLE(NAVIGATOR_CONTENT_UTILS)
- OwnPtr<WebKit::NavigatorContentUtilsClient> navigatorContentUtilsClient;
-#endif
-};
-
-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 webkitWebViewRemoveSubresource(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*);
-
-void webkitWebViewRunFileChooserRequest(WebKitWebView*, WebKitFileChooserRequest*);
-
-#if ENABLE(ICONDATABASE)
-void webkitWebViewRegisterForIconNotification(WebKitWebView*, bool shouldRegister);
-void webkitWebViewIconLoaded(WebKitFaviconDatabase*, const char* frameURI, WebKitWebView*);
-#endif
-}
-
-#endif
diff --git a/Source/WebKit/gtk/webkit/webkitwebwindowfeatures.cpp b/Source/WebKit/gtk/webkit/webkitwebwindowfeatures.cpp
deleted file mode 100644
index 5d1db6f61..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebwindowfeatures.cpp
+++ /dev/null
@@ -1,449 +0,0 @@
-/*
- * Copyright (C) 2008 Gustavo Noronha Silva <gns@gnome.org>
- * Copyright (C) 2008 Holger Hans Peter Freyther
- *
- * 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 "webkitwebwindowfeatures.h"
-
-#include "WindowFeatures.h"
-#include "webkitglobalsprivate.h"
-#include "webkitwebwindowfeaturesprivate.h"
-
-/**
- * SECTION:webkitwebwindowfeatures
- * @short_description: Window properties of a #WebKitWebView
- * @see_also: #WebKitWebView::web-view-ready
- *
- * The content of a #WebKitWebView can request to change certain
- * properties of a #WebKitWebView. This can include the x, y position
- * of the window, the width and height but also if a toolbar,
- * scrollbar, statusbar, locationbar should be visible to the user,
- * the request to show the #WebKitWebView fullscreen.
- *
- * In the normal case one will use #webkit_web_view_get_window_features
- * to get the #WebKitWebWindowFeatures and then monitor the property
- * changes. Be aware that the #WebKitWebWindowFeatures might change
- * before #WebKitWebView::web-view-ready signal is emitted.
- * To be safe listen to the notify::window-features signal of the #WebKitWebView
- * and reconnect the signals whenever the #WebKitWebWindowFeatures of
- * a #WebKitWebView changes.
- *
- * <informalexample><programlisting>
- * /<!-- -->* Get the current WebKitWebWindowFeatures *<!-- -->/
- * WebKitWebWindowFeatures *features = webkit_web_view_get_window_features (my_webview);
- *
- * /<!-- -->* Connect to the property changes *<!-- -->/
- * g_signal_connect (G_OBJECT(features), "notify::menubar-visible", G_CALLBACK(make_menu_bar_visible), NULL);
- * g_signal_connect (G_OBJECT(features), "notify::statusbar-visible", G_CALLBACK(make_status_bar_visible), NULL);
- *
- * </programlisting></informalexample>
- */
-
-enum {
- PROP_0,
-
- PROP_X,
- PROP_Y,
- PROP_WIDTH,
- PROP_HEIGHT,
- PROP_TOOLBAR_VISIBLE,
- PROP_STATUSBAR_VISIBLE,
- PROP_SCROLLBAR_VISIBLE,
- PROP_MENUBAR_VISIBLE,
- PROP_LOCATIONBAR_VISIBLE,
- PROP_FULLSCREEN,
-};
-
-G_DEFINE_TYPE(WebKitWebWindowFeatures, webkit_web_window_features, G_TYPE_OBJECT)
-
-struct _WebKitWebWindowFeaturesPrivate {
- gint x;
- gint y;
- gint width;
- gint height;
-
- gboolean toolbar_visible;
- gboolean statusbar_visible;
- gboolean scrollbar_visible;
- gboolean menubar_visible;
- gboolean locationbar_visible;
-
- gboolean fullscreen;
-};
-
-#define WEBKIT_WEB_WINDOW_FEATURES_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), WEBKIT_TYPE_WEB_WINDOW_FEATURES, WebKitWebWindowFeaturesPrivate))
-
-static void webkit_web_window_features_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec);
-
-static void webkit_web_window_features_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec);
-
-static void webkit_web_window_features_class_init(WebKitWebWindowFeaturesClass* klass)
-{
- GObjectClass* gobject_class = G_OBJECT_CLASS(klass);
- gobject_class->set_property = webkit_web_window_features_set_property;
- gobject_class->get_property = webkit_web_window_features_get_property;
-
- GParamFlags flags = (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT);
-
- webkitInit();
-
- /**
- * WebKitWebWindowFeatures:x:
- *
- * The starting x position of the window on the screen.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class,
- PROP_X,
- g_param_spec_int(
- "x",
- "x",
- "The starting x position of the window on the screen.",
- -1,
- G_MAXINT,
- -1,
- flags));
-
- /**
- * WebKitWebWindowFeatures:y:
- *
- * The starting y position of the window on the screen.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class,
- PROP_Y,
- g_param_spec_int(
- "y",
- "y",
- "The starting y position of the window on the screen.",
- -1,
- G_MAXINT,
- -1,
- flags));
-
- /**
- * WebKitWebWindowFeatures:width:
- *
- * The width of the window on the screen.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class,
- PROP_WIDTH,
- g_param_spec_int(
- "width",
- "Width",
- "The width of the window on the screen.",
- -1,
- G_MAXINT,
- -1,
- flags));
-
- /**
- * WebKitWebWindowFeatures:height:
- *
- * The height of the window on the screen.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class,
- PROP_HEIGHT,
- g_param_spec_int(
- "height",
- "Height",
- "The height of the window on the screen.",
- -1,
- G_MAXINT,
- -1,
- flags));
-
- /**
- * WebKitWebWindowFeatures:toolbar-visible:
- *
- * Controls whether the toolbar should be visible for the window.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class,
- PROP_TOOLBAR_VISIBLE,
- g_param_spec_boolean(
- "toolbar-visible",
- "Toolbar Visible",
- "Controls whether the toolbar should be visible for the window.",
- TRUE,
- flags));
-
- /**
- * WebKitWebWindowFeatures:statusbar-visible:
- *
- * Controls whether the statusbar should be visible for the window.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class,
- PROP_STATUSBAR_VISIBLE,
- g_param_spec_boolean(
- "statusbar-visible",
- "Statusbar Visible",
- "Controls whether the statusbar should be visible for the window.",
- TRUE,
- flags));
-
- /**
- * WebKitWebWindowFeatures:scrollbar-visible:
- *
- * Controls whether the scrollbars should be visible for the window.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class,
- PROP_SCROLLBAR_VISIBLE,
- g_param_spec_boolean(
- "scrollbar-visible",
- "Scrollbar Visible",
- "Controls whether the scrollbars should be visible for the window.",
- TRUE,
- flags));
-
- /**
- * WebKitWebWindowFeatures:menubar-visible:
- *
- * Controls whether the menubar should be visible for the window.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class,
- PROP_MENUBAR_VISIBLE,
- g_param_spec_boolean(
- "menubar-visible",
- "Menubar Visible",
- "Controls whether the menubar should be visible for the window.",
- TRUE,
- flags));
-
- /**
- * WebKitWebWindowFeatures:locationbar-visible:
- *
- * Controls whether the locationbar should be visible for the window.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class,
- PROP_LOCATIONBAR_VISIBLE,
- g_param_spec_boolean(
- "locationbar-visible",
- "Locationbar Visible",
- "Controls whether the locationbar should be visible for the window.",
- TRUE,
- flags));
-
- /**
- * WebKitWebWindowFeatures:fullscreen:
- *
- * Controls whether window will be displayed fullscreen.
- *
- * Since: 1.0.3
- */
- g_object_class_install_property(gobject_class,
- PROP_FULLSCREEN,
- g_param_spec_boolean(
- "fullscreen",
- "Fullscreen",
- "Controls whether window will be displayed fullscreen.",
- FALSE,
- flags));
-
-
- g_type_class_add_private(klass, sizeof(WebKitWebWindowFeaturesPrivate));
-}
-
-static void webkit_web_window_features_init(WebKitWebWindowFeatures* 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)
-{
- WebKitWebWindowFeatures* web_window_features = WEBKIT_WEB_WINDOW_FEATURES(object);
- WebKitWebWindowFeaturesPrivate* priv = web_window_features->priv;
-
- switch(prop_id) {
- case PROP_X:
- priv->x = g_value_get_int(value);
- break;
- case PROP_Y:
- priv->y = g_value_get_int(value);
- break;
- case PROP_WIDTH:
- priv->width = g_value_get_int(value);
- break;
- case PROP_HEIGHT:
- priv->height = g_value_get_int(value);
- break;
- case PROP_TOOLBAR_VISIBLE:
- priv->toolbar_visible = g_value_get_boolean(value);
- break;
- case PROP_STATUSBAR_VISIBLE:
- priv->statusbar_visible = g_value_get_boolean(value);
- break;
- case PROP_SCROLLBAR_VISIBLE:
- priv->scrollbar_visible = g_value_get_boolean(value);
- break;
- case PROP_MENUBAR_VISIBLE:
- priv->menubar_visible = g_value_get_boolean(value);
- break;
- case PROP_LOCATIONBAR_VISIBLE:
- priv->locationbar_visible = g_value_get_boolean(value);
- break;
- case PROP_FULLSCREEN:
- priv->fullscreen = g_value_get_boolean(value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- break;
- }
-}
-
-static void webkit_web_window_features_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec)
-{
- WebKitWebWindowFeatures* web_window_features = WEBKIT_WEB_WINDOW_FEATURES(object);
- WebKitWebWindowFeaturesPrivate* priv = web_window_features->priv;
-
- switch (prop_id) {
- case PROP_X:
- g_value_set_int(value, priv->x);
- break;
- case PROP_Y:
- g_value_set_int(value, priv->y);
- 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_TOOLBAR_VISIBLE:
- g_value_set_boolean(value, priv->toolbar_visible);
- break;
- case PROP_STATUSBAR_VISIBLE:
- g_value_set_boolean(value, priv->statusbar_visible);
- break;
- case PROP_SCROLLBAR_VISIBLE:
- g_value_set_boolean(value, priv->scrollbar_visible);
- break;
- case PROP_MENUBAR_VISIBLE:
- g_value_set_boolean(value, priv->menubar_visible);
- break;
- case PROP_LOCATIONBAR_VISIBLE:
- g_value_set_boolean(value, priv->locationbar_visible);
- break;
- case PROP_FULLSCREEN:
- g_value_set_boolean(value, priv->fullscreen);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
- break;
- }
-}
-
-/**
- * webkit_web_window_features_new:
- *
- * Creates a new #WebKitWebWindowFeatures instance with default values. It must
- * be manually attached to a WebView.
- *
- * Returns: a new #WebKitWebWindowFeatures instance
- *
- * Since: 1.0.3
- */
-WebKitWebWindowFeatures* webkit_web_window_features_new()
-{
- return WEBKIT_WEB_WINDOW_FEATURES(g_object_new(WEBKIT_TYPE_WEB_WINDOW_FEATURES, NULL));
-}
-
-/**
- * webkit_web_window_features_equal:
- * @features1: a #WebKitWebWindowFeatures instance
- * @features2: another #WebKitWebWindowFeatures instance
- *
- * Decides if a #WebKitWebWindowFeatures instance equals another, as
- * in has the same values.
- *
- * Returns: %TRUE if the instances have the same values, %FALSE
- * otherwise
- *
- * Since: 1.0.3
- */
-gboolean webkit_web_window_features_equal(WebKitWebWindowFeatures* features1, WebKitWebWindowFeatures* features2)
-{
- if (features1 == features2)
- return TRUE;
- if (!features1 || !features2)
- return FALSE;
-
- WebKitWebWindowFeaturesPrivate* priv1 = features1->priv;
- WebKitWebWindowFeaturesPrivate* priv2 = features2->priv;
-
- if ((priv1->x == priv2->x)
- && (priv1->y == priv2->y)
- && (priv1->width == priv2->width)
- && (priv1->height == priv2->height)
- && (priv1->toolbar_visible == priv2->toolbar_visible)
- && (priv1->statusbar_visible == priv2->statusbar_visible)
- && (priv1->scrollbar_visible == priv2->scrollbar_visible)
- && (priv1->menubar_visible == priv2->menubar_visible)
- && (priv1->locationbar_visible == priv2->locationbar_visible)
- && (priv1->fullscreen == priv2->fullscreen))
- return TRUE;
- return FALSE;
-}
-
-namespace WebKit {
-
-WebKitWebWindowFeatures* kitNew(const WebCore::WindowFeatures& features)
-{
- WebKitWebWindowFeatures *webWindowFeatures = webkit_web_window_features_new();
-
- if(features.xSet)
- g_object_set(webWindowFeatures, "x", static_cast<int>(features.x), NULL);
-
- if(features.ySet)
- g_object_set(webWindowFeatures, "y", static_cast<int>(features.y), NULL);
-
- if(features.widthSet)
- g_object_set(webWindowFeatures, "width", static_cast<int>(features.width), NULL);
-
- if(features.heightSet)
- g_object_set(webWindowFeatures, "height", static_cast<int>(features.height), NULL);
-
- g_object_set(webWindowFeatures,
- "toolbar-visible", features.toolBarVisible,
- "statusbar-visible", features.statusBarVisible,
- "scrollbar-visible", features.scrollbarsVisible,
- "menubar-visible", features.menuBarVisible,
- "locationbar-visible", features.locationBarVisible,
- "fullscreen", features.fullscreen,
- NULL);
-
- return webWindowFeatures;
-}
-
-}
diff --git a/Source/WebKit/gtk/webkit/webkitwebwindowfeatures.h b/Source/WebKit/gtk/webkit/webkitwebwindowfeatures.h
deleted file mode 100644
index a79119d70..000000000
--- a/Source/WebKit/gtk/webkit/webkitwebwindowfeatures.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2008 Gustavo Noronha Silva <gns@gnome.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 webkitwebwindowfeatures_h
-#define webkitwebwindowfeatures_h
-
-#include <glib-object.h>
-
-#include <webkit/webkitdefines.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_WEB_WINDOW_FEATURES (webkit_web_window_features_get_type())
-#define WEBKIT_WEB_WINDOW_FEATURES(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_WINDOW_FEATURES, WebKitWebWindowFeatures))
-#define WEBKIT_WEB_WINDOW_FEATURES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_WEB_WINDOW_FEATURES, WebKitWebWindowFeaturesClass))
-#define WEBKIT_IS_WEB_WINDOW_FEATURES(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_WINDOW_FEATURES))
-#define WEBKIT_IS_WEB_WINDOW_FEATURES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_WEB_WINDOW_FEATURES))
-#define WEBKIT_WEB_WINDOW_FEATURES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_WEB_WINDOW_FEATURES, WebKitWebWindowFeaturesClass))
-
-typedef struct _WebKitWebWindowFeaturesPrivate WebKitWebWindowFeaturesPrivate;
-
-struct _WebKitWebWindowFeatures {
- GObject parent_instance;
-
- /*< private >*/
- WebKitWebWindowFeaturesPrivate* priv;
-};
-
-struct _WebKitWebWindowFeaturesClass {
- GObjectClass parent_class;
-
- /*< private >*/
- /* Padding for future expansion */
- void (*_webkit_reserved1) (void);
- void (*_webkit_reserved2) (void);
- void (*_webkit_reserved3) (void);
- void (*_webkit_reserved4) (void);
-};
-
-WEBKIT_API GType
-webkit_web_window_features_get_type (void);
-
-WEBKIT_API WebKitWebWindowFeatures*
-webkit_web_window_features_new (void);
-
-WEBKIT_API gboolean
-webkit_web_window_features_equal (WebKitWebWindowFeatures* features1,
- WebKitWebWindowFeatures* features2);
-
-G_END_DECLS
-
-#endif /* webkitwebwindowfeatures_h */
diff --git a/Source/WebKit/gtk/webkitmarshal.list b/Source/WebKit/gtk/webkitmarshal.list
deleted file mode 100644
index b7428905c..000000000
--- a/Source/WebKit/gtk/webkitmarshal.list
+++ /dev/null
@@ -1,32 +0,0 @@
-BOOLEAN:ENUM,INT
-BOOLEAN:INT,INT,STRING
-BOOLEAN:OBJECT
-BOOLEAN:OBJECT,OBJECT
-BOOLEAN:OBJECT,OBJECT,BOOLEAN
-BOOLEAN:OBJECT,OBJECT,ENUM
-BOOLEAN:OBJECT,OBJECT,ENUM,BOOLEAN
-BOOLEAN:OBJECT,OBJECT,OBJECT,OBJECT
-BOOLEAN:OBJECT,OBJECT,STRING,OBJECT
-BOOLEAN:OBJECT,STRING
-BOOLEAN:OBJECT,STRING,BOXED
-BOOLEAN:OBJECT,STRING,POINTER
-BOOLEAN:OBJECT,STRING,STRING,STRING
-BOOLEAN:STRING,INT,STRING
-BOOLEAN:STRING,OBJECT,ENUM
-BOOLEAN:VOID
-ENUM:OBJECT,OBJECT
-OBJECT:OBJECT
-OBJECT:STRING,STRING,POINTER
-OBJECT:VOID
-VOID:OBJECT,OBJECT
-VOID:OBJECT,OBJECT,INT
-VOID:OBJECT,OBJECT,OBJECT
-VOID:OBJECT,OBJECT,POINTER
-VOID:OBJECT,OBJECT,BOXED
-VOID:OBJECT,OBJECT,OBJECT,OBJECT
-VOID:OBJECT,POINTER,POINTER
-VOID:OBJECT,INT
-VOID:OBJECT,POINTER
-VOID:OBJECT,STRING
-VOID:STRING
-VOID:STRING,STRING
diff --git a/Source/WebKit/mac/Carbon/CarbonUtils.h b/Source/WebKit/mac/Carbon/CarbonUtils.h
deleted file mode 100644
index 166de7b71..000000000
--- a/Source/WebKit/mac/Carbon/CarbonUtils.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2004, 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 __HIWEBCARBONUTILS__
-#define __HIWEBCARBONUTILS__
-
-#ifndef __LP64__
-
-// These functions are only available for 32-bit.
-
-#include <JavaScriptCore/WebKitAvailability.h>
-
-#ifdef __OBJC__
-#import <ApplicationServices/ApplicationServices.h>
-@class NSImage;
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern void
-WebInitForCarbon(void) AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0;
-
-#ifdef __OBJC__
-
-extern CGImageRef
-WebConvertNSImageToCGImageRef(NSImage * inImage) AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0;
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-#endif // __HIWEBCARBONUTILS__
diff --git a/Source/WebKit/mac/Carbon/CarbonUtils.m b/Source/WebKit/mac/Carbon/CarbonUtils.m
deleted file mode 100644
index be749c9de..000000000
--- a/Source/WebKit/mac/Carbon/CarbonUtils.m
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 __LP64__
-
-#include "CarbonUtils.h"
-#import <WebKitSystemInterface.h>
-
-extern CGImageRef _NSCreateImageRef( unsigned char *const bitmapData[5], int pixelsWide, int pixelsHigh, int bitsPerSample, int samplesPerPixel, int bitsPerPixel, int bytesPerRow, BOOL isPlanar, BOOL hasAlpha, NSString *colorSpaceName, CGColorSpaceRef customColorSpace, id sourceObj);
-
-static void PoolCleaner( EventLoopTimerRef inTimer, EventLoopIdleTimerMessage inState, void *inUserData );
-
-static NSAutoreleasePool* sPool;
-static unsigned numPools;
-static EventLoopRef poolLoop;
-
-void HIWebViewRegisterClass( void );
-
-void
-WebInitForCarbon()
-{
- static bool sAppKitLoaded;
-
- if ( !sAppKitLoaded )
- {
- ProcessSerialNumber process;
-
- // Force us to register with process server, this ensure that the process
- // "flavour" is correctly established.
- GetCurrentProcess( &process );
- NSApplicationLoad();
-
- sPool = [[NSAutoreleasePool allocWithZone:NULL] init];
- numPools = WKGetNSAutoreleasePoolCount();
-
- poolLoop = GetCurrentEventLoop ();
-
- InstallEventLoopIdleTimer( GetMainEventLoop(), 1.0, 0, PoolCleaner, 0, NULL );
-
- sAppKitLoaded = true;
-
- HIWebViewRegisterClass();
- }
-}
-
-/*
- The pool cleaner is required because Carbon applications do not have
- an autorelease pool provided by their event loops. Importantly,
- carbon applications that nest event loops, using any of the various
- techniques available to Carbon apps, MUST create their our pools around
- their nested event loops.
-*/
-static void
-PoolCleaner( EventLoopTimerRef inTimer, EventLoopIdleTimerMessage inState, void *inUserData )
-{
- if ( inState == kEventLoopIdleTimerStarted ) {
- CFStringRef mode = CFRunLoopCopyCurrentMode( (CFRunLoopRef)GetCFRunLoopFromEventLoop( GetCurrentEventLoop() ));
- EventLoopRef thisLoop = GetCurrentEventLoop ();
- if ( CFEqual( mode, kCFRunLoopDefaultMode ) && thisLoop == poolLoop) {
- unsigned currentNumPools = WKGetNSAutoreleasePoolCount()-1;
- if (currentNumPools == numPools){
- [sPool drain];
-
- sPool = [[NSAutoreleasePool allocWithZone:NULL] init];
- numPools = WKGetNSAutoreleasePoolCount();
- }
- }
- CFRelease( mode );
- }
-}
-
-CGImageRef
-WebConvertNSImageToCGImageRef(
- NSImage* inImage )
-{
- NSArray* reps = [inImage representations];
- NSBitmapImageRep* rep = NULL;
- CGImageRef image = NULL;
- unsigned i;
-
- for ( i=0; i < [reps count]; i++ )
- {
- if ( [[reps objectAtIndex:i] isKindOfClass:[NSBitmapImageRep class]] )
- {
- rep = [reps objectAtIndex:i];
- break;
- }
- }
-
- if ( rep )
- {
- //CGColorSpaceRef csync = (CGColorSpaceRef)[rep valueForProperty:NSImageColorSyncProfileData];
-
- unsigned char* planes[5];
-
- [rep getBitmapDataPlanes:planes];
-
- image = _NSCreateImageRef( planes, [rep pixelsWide], [rep pixelsHigh],
- [rep bitsPerSample], [rep samplesPerPixel], [rep bitsPerPixel],
- [rep bytesPerRow], [rep isPlanar], [rep hasAlpha], [rep colorSpaceName],
- NULL, rep);
- }
-
- return image;
-}
-
-#endif
diff --git a/Source/WebKit/mac/Carbon/CarbonWindowAdapter.h b/Source/WebKit/mac/Carbon/CarbonWindowAdapter.h
deleted file mode 100644
index 87c50ea44..000000000
--- a/Source/WebKit/mac/Carbon/CarbonWindowAdapter.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-#import <AppKit/AppKit.h>
-#import <HIToolbox/CarbonEvents.h>
-#import <HIToolbox/MacWindows.h>
-
-@interface CarbonWindowAdapter : NSWindow
-{
-@private
-
- // The Carbon window that's being encapsulated, and whether or not this object owns (has responsibility for disposing) it.
- WindowRef _windowRef;
- BOOL _windowRefIsOwned;
- BOOL _carbon;
-
- // The UPP for the event handler that we use to deal with various Carbon events, and the event handler itself.
- EventHandlerUPP _handleEventUPP;
- EventHandlerRef _eventHandler;
-
- // Yes if this object should let Carbon handle kEventWindowActivated and kEventWindowDeactivated events. No otherwise.
- BOOL _passingCarbonWindowActivationEvents;
-}
-
-// Initializers.
-- (id)initWithCarbonWindowRef:(WindowRef)inWindowRef takingOwnership:(BOOL)inWindowRefIsOwned;
-- (id)initWithCarbonWindowRef:(WindowRef)inWindowRef takingOwnership:(BOOL)inWindowRefIsOwned disableOrdering:(BOOL)inDisableOrdering carbon:(BOOL)inCarbon;
-
-// Accessors.
-- (WindowRef)windowRef;
-
-// Update this window's frame and content rectangles to match the Carbon window's structure and content bounds rectangles. Return yes if the update was really necessary, no otherwise.
-- (BOOL)reconcileToCarbonWindowBounds;
-
-// Handle an event just like an NSWindow would.
-- (void)sendSuperEvent:(NSEvent *)inEvent;
-
-- (void)relinquishFocus;
-
-@end
diff --git a/Source/WebKit/mac/Carbon/CarbonWindowAdapter.mm b/Source/WebKit/mac/Carbon/CarbonWindowAdapter.mm
deleted file mode 100644
index 38f1347a3..000000000
--- a/Source/WebKit/mac/Carbon/CarbonWindowAdapter.mm
+++ /dev/null
@@ -1,1051 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-// I don't think this class belongs in WebKit. Lets move it out.
-
-// Things that I've never bothered working out:
-// For non-sheet windows, handle Carbon WindowMove events so as to do the same things as -[NSWindow _windowMoved].
-// Check to see how this stuff deals with various screen size change scenarious.
-// M.P. Warning - 9/17/01
-
-// There are some invariants I'm maintaining for objects of this class which have been successfully initialized but not deallocated. These all make it easier to not override every single method of NSWindow.
-// _auxiliaryStorage->auxWFlags.hasShadow will always be false if the Carbon window has a kWindowNoShadowAttribute, and vice versa.
-// _auxiliaryStorage->_auxWFlags.minimized will always reflect the window's Carbon collapsed state.
-// _borderView will always point to an NSCarbonWindowFrame.
-// _contentView will always point to an NSCarbonWindowContentView;
-// _frame will always reflect the window's Carbon kWindowStructureRgn bounds.
-// _styleMask will always have _NSCarbonWindowMask set, and will have NSClosableWindowMask, NSMiniaturizableWindowMask, NSResizableWindowMask, and/or NSTitledWindowMask set as appropriate.
-// _wflags.oneShot and _wflags.delayedOneShot will always be false.
-// _wFlags.visible will always reflect the window's Carbon visibility.
-// _windowNum will always be greater than zero, and valid.
-// The instance variables involved are ones that came to my attention during the initial writing of this class; I haven't methodically gone through NSWindow's ivar list or anything like that. M.P. Notice - 10/10/00
-
-// Things that have to be worked on if NSCarbonWindows are ever used for something other than dialogs and sheets:
-// Clicking on an NSCarbonWindow while a Cocoa app-modal dialog is shown does not beep, as it should [old bug, maybe fixed now].
-// Handling of mouse clicks or key presses for any window control (close, miniaturize, zoom) might not be all there.
-// Handling of miniaturization of Carbon windows via title bar double-click might not be all there.
-// The background on NSCarbonWindowTester's sample window (not sample dialog or sample sheet) might be wrong.
-// The controls on NSCarbonWindowTester's sample window look inactive when the window is inactive, but have first-click behavior.
-// M.P. Warning - 12/14/00
-
-// Some things would have to be made public if someone wanted to subclass this so as to support more menu item commands. M.P. Warning - 9/19/00
-
-#ifndef __LP64__
-
-#import "CarbonWindowAdapter.h"
-
-#import "CarbonWindowFrame.h"
-#import "CarbonWindowContentView.h"
-#import "HIViewAdapter.h"
-
-#import <WebKitSystemInterface.h>
-
-#import <AppKit/AppKit.h>
-//#import <CoreGraphics/CGSWindow.h>
-#import <HIToolbox/CarbonEvents.h>
-#import <HIToolbox/Controls.h>
-#import <HIToolbox/HIView.h>
-#import <assert.h>
-
-#import <WebCore/WebCoreObjCExtras.h>
-#import <WebCore/RunLoop.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/MainThread.h>
-
-#import "WebKitLogging.h"
-#import "WebNSObjectExtras.h"
-#import "WebTypesInternal.h"
-
-@interface NSWindow(HIWebFrameView)
-- (id)_initContent:(const NSRect *)contentRect styleMask:(unsigned int)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag contentView:aView;
-- (void)_oldPlaceWindow:(NSRect)frameRect;
-- (void)_windowMovedToRect:(NSRect)actualFrame;
-- (void)_setWindowNumber:(NSInteger)nativeWindow;
-- (NSGraphicsContext *)_threadContext;
-- (void)_setFrame:(NSRect)newWindowFrameRect;
-- (void)_setVisible:(BOOL)flag;
-@end
-
-@interface NSApplication(HIWebFrameView)
-- (void)setIsActive:(BOOL)aFlag;
-- (id)_setMouseActivationInProgress:(BOOL)flag;
-- (BOOL)_handleKeyEquivalent:(NSEvent*)theEvent;
-@end
-
-@interface NSInputContext
-- (BOOL)processInputKeyBindings:(NSEvent *)event;
-@end
-
-// Forward declarations.
-static OSStatus NSCarbonWindowHandleEvent(EventHandlerCallRef inEventHandlerCallRef, EventRef inEventRef, void *inUserData);
-
-@implementation CarbonWindowAdapter
-
-
-// Return an appropriate window frame class.
-+ (Class)frameViewClassForStyleMask:(unsigned int)style {
-
- // There's only one appropriate window style, and only one appropriate window frame class.
- assert(style & WKCarbonWindowMask());
- return [CarbonWindowFrame class];
-
-}
-
-
-// Overriding of the parent class' designated initializer, just for safety's sake.
-- (id)initWithContentRect:(NSRect)contentRect styleMask:(unsigned int)style backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag {
-
- // Do the standard Cocoa thing.
- self = [super initWithContentRect:contentRect styleMask:style backing:bufferingType defer:flag];
- if (self==nil) return nil;
-
- // Simple.
- _windowRef = NULL;
- _windowRefIsOwned = NO;
- _eventHandler = NULL;
-
- // Done.
- return self;
-
-}
-
-// Given a reference to a Carbon window that is to be encapsulated, an indicator of whether or not this object should take responsibility for disposing of the Carbon window, and an indicator of whether to disable Carbon window ordering, initialize. This is the class' designated initializer.
-- (id)initWithCarbonWindowRef:(WindowRef)inWindowRef takingOwnership:(BOOL)inWindowRefIsOwned disableOrdering:(BOOL)inDisableOrdering carbon:(BOOL)inCarbon {
-
- NSBackingStoreType backingStoreType;
- CarbonWindowContentView *carbonWindowContentView;
- NSWindow *windowAsProperty;
- OSStatus osStatus;
- UInt32 windowFeatures;
- WindowAttributes windowAttributes;
- unsigned int styleMask;
- void *nativeWindow;
- WindowModality windowModality;
- ControlRef contentView;
-
- // Simple.
- // It's very weak to have to put this before the invocation of [super initWithContentRect:...], but -setContentView: is invoked from within that initializer. It turns out that the common admonition about not calling virtual functions from within C++ constructors makes sense in Objective-C too. M.P. Notice - 10/10/00
- _windowRef = inWindowRef;
- //_auxiliaryStorage->_windowRef = inWindowRef;
- _windowRefIsOwned = inWindowRefIsOwned;
- _carbon = inCarbon;
-
- // Find out the window's CoreGraphics window reference.
- nativeWindow = WKGetNativeWindowFromWindowRef(inWindowRef);
-
- // Find out the window's Carbon window attributes.
- GetWindowAttributes(inWindowRef, &windowAttributes);
-
- // Find out the window's Carbon window features.
- GetWindowFeatures(inWindowRef, &windowFeatures);
-
- // Figure out the window's backing store type.
- // At one time, this had code stolen from CreatePlatformWindow in HIToolbox/Windows/Platform/CGSPlatform.c
- // But now the non-retained window class is a Carbon secret that's not even in
- // WindowsPriv.h; maybe we'll have to revisit this if someone needs to use WebKit
- // in a non-retained window.
- backingStoreType = NSBackingStoreRetained;
-
- // Figure out the window's style mask.
- styleMask = WKCarbonWindowMask();
- if (windowAttributes & kWindowCloseBoxAttribute) styleMask |= NSClosableWindowMask;
- if (windowAttributes & kWindowResizableAttribute) styleMask |= NSResizableWindowMask;
- if (windowFeatures & kWindowCanCollapse) styleMask |= NSMiniaturizableWindowMask;
- if (windowFeatures & kWindowHasTitleBar) styleMask |= NSTitledWindowMask;
-
- osStatus = GetWindowModality(_windowRef, &windowModality, NULL);
- if (osStatus != noErr) {
- NSLog(@"Couldn't get window modality: error=%ld", osStatus);
- return nil;
- }
-
- // Create one of our special content views.
- carbonWindowContentView = [[[CarbonWindowContentView alloc] init] autorelease];
-
- // Do some standard Cocoa initialization. The defer argument's value is YES because we don't want -[NSWindow _commonAwake] to get called. It doesn't appear that any relevant NSWindow code checks _wFlags.deferred, so we should be able to get away with the lie.
- self = (CarbonWindowAdapter*)[super _initContent:NULL styleMask:styleMask backing:backingStoreType defer:YES contentView:carbonWindowContentView];
- if (!self) return nil;
- assert(_contentView);
-
- // Record accurately whether or not this window has a shadow, in case someone asks.
- // _auxiliaryStorage->_auxWFlags.hasShadow = (windowAttributes & kWindowNoShadowAttribute) ? NO : YES;
-
- // Record the window number.
- [self _setWindowNumber:(NSInteger)nativeWindow];
-
- // Set up from the frame rectangle.
- // We didn't even really try to get it right at _initContent:... time, because it's more trouble that it's worth to write a real +[NSCarbonWindow frameRectForContentRect:styleMask:]. M.P. Notice - 10/10/00
- [self reconcileToCarbonWindowBounds];
-
- // Install an event handler for the Carbon window events in which we're interested.
- const EventTypeSpec kEvents[] = {
- { kEventClassWindow, kEventWindowActivated },
- { kEventClassWindow, kEventWindowDeactivated },
- { kEventClassWindow, kEventWindowBoundsChanged },
- { kEventClassWindow, kEventWindowShown },
- { kEventClassWindow, kEventWindowHidden }
- };
-
- const EventTypeSpec kControlBoundsChangedEvent = { kEventClassControl, kEventControlBoundsChanged };
-
- osStatus = InstallEventHandler( GetWindowEventTarget(_windowRef), NSCarbonWindowHandleEvent, GetEventTypeCount( kEvents ), kEvents, (void*)self, &_eventHandler);
- if (osStatus!=noErr) {
- [self release];
- return nil;
- }
-
- osStatus = InstallEventHandler( GetControlEventTarget( HIViewGetRoot( _windowRef ) ), NSCarbonWindowHandleEvent, 1, &kControlBoundsChangedEvent, (void*)self, &_eventHandler);
- if (osStatus!=noErr) {
- [self release];
- return nil;
- }
-
- HIViewFindByID( HIViewGetRoot( _windowRef ), kHIViewWindowContentID, &contentView );
- osStatus = InstallEventHandler( GetControlEventTarget( contentView ), NSCarbonWindowHandleEvent, 1, &kControlBoundsChangedEvent, (void*)self, &_eventHandler);
- if (osStatus!=noErr) {
- [self release];
- return nil;
- }
-
- // Put a pointer to this Cocoa NSWindow in a Carbon window property tag.
- // Right now, this is just used by NSViewCarbonControl. M.P. Notice - 10/9/00
- windowAsProperty = self;
- osStatus = SetWindowProperty(_windowRef, WKCarbonWindowPropertyCreator(), WKCarbonWindowPropertyTag(), sizeof(NSWindow *), &windowAsProperty);
- if (osStatus!=noErr) {
- [self release];
- return nil;
- }
-
- // Ignore the Carbon window activation/deactivation events that Carbon sends to its windows at app activation/deactivation. We'll send such events when we think it's appropriate.
- _passingCarbonWindowActivationEvents = NO;
-
- // Be sure to sync up visibility
- [self _setVisible:(BOOL)IsWindowVisible( _windowRef )];
-
- // Done.
- return self;
-
-}
-
-- (void)setViewsNeedDisplay:(BOOL)wellDoThey {
- // Make sure we can flush anything that needs it.
-
- // We need to sync the context here. I was hoping I didn't need to do this,
- // but apparently when scrolling, the AppKit view system draws directly.
- // When this occurs, I cannot intercept it to make it draw in my HIView
- // context. What ends up happening is that it draws, but nothing ever
- // flushes it.
-
- if ( [self windowNumber] != -1 )
- {
- CGContextRef cgContext = (CGContextRef)[[self _threadContext] graphicsPort];
- CGContextSynchronize( cgContext );
- }
-}
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
-}
-
-// Given a reference to a Carbon window that is to be encapsulated, and an indicator of whether or not this object should take responsibility for disposing of the Carbon window, initialize.
-- (id)initWithCarbonWindowRef:(WindowRef)inWindowRef takingOwnership:(BOOL)inWindowRefIsOwned {
- // for now, set disableOrdering to YES because that is what we've been doing and is therefore lower risk. However, I think it would be correct to set it to NO.
- return [self initWithCarbonWindowRef:inWindowRef takingOwnership:inWindowRefIsOwned disableOrdering:YES carbon:NO];
-}
-
-
-// Clean up.
-- (void)dealloc {
- if (WebCoreObjCScheduleDeallocateOnMainThread([CarbonWindowAdapter class], self))
- return;
-
- // Clean up, if necessary.
- // if we didn't remove the event handler at dealloc time, we would risk getting sent events after the window has been deallocated. See 2702179. M.P. Notice - 6/1/01
- if (_eventHandler) RemoveEventHandler(_eventHandler);
-
- // Do the standard Cocoa thing.
- [super dealloc];
-}
-
-- (void)finalize {
- ASSERT_MAIN_THREAD();
- if (_eventHandler) RemoveEventHandler(_eventHandler);
- [super finalize];
-}
-
-- (WindowRef)windowRef {
-
- // Simple.
- return _windowRef;
-
-}
-
-// should always be YES, but check in order to avoid initialization or deallocation surprises
-- (BOOL)_hasWindowRef {
- return (_windowRef != NULL);
-}
-
-// an NSCarbonWindow does not manage the windowRef. The windowRef manages the NSCarbonWindow
-- (BOOL)_managesWindowRef {
- return NO;
-}
-
-- (void)_removeWindowRef {
- _windowRef = NULL;
-
- if (_eventHandler) RemoveEventHandler(_eventHandler);
-
- _eventHandler = NULL;
-}
-
-- (WindowClass)_carbonWindowClass {
- WindowClass windowClass = kDocumentWindowClass;
- OSStatus osStatus;
-
- if ([self _hasWindowRef]) {
- osStatus = GetWindowClass([self windowRef], &windowClass);
- if (osStatus != noErr) {
- NSLog(@"Couldn't get window class: error=%ld", osStatus);
- }
- }
- return windowClass;
-}
-
-// Update this window's frame and content frame rectangles to match the Carbon window's structure bounds and content bounds rectangles. Return yes if the update was really necessary, no otherwise.
-- (BOOL)reconcileToCarbonWindowBounds {
-
- OSStatus osStatus;
- NSRect newContentFrameRect;
- NSRect newWindowFrameRect;
- NSRect oldContentFrameRect;
- Rect windowContentBoundsRect;
- Rect windowStructureBoundsRect;
-
- // Initialize for safe returning.
- BOOL reconciliationWasNecessary = NO;
-
- // Precondition check.
- assert(_contentView);
-
- // Get the Carbon window's bounds, which are expressed in global screen coordinates, with (0,0) at the top-left of the main screen.
- osStatus = GetWindowBounds(_windowRef, kWindowStructureRgn, &windowStructureBoundsRect);
- if (osStatus!=noErr) NSLog(@"A Carbon window's structure bounds couldn't be gotten.");
- osStatus = GetWindowBounds(_windowRef, kWindowContentRgn, &windowContentBoundsRect);
- if (osStatus!=noErr) NSLog(@"A Carbon window's content bounds couldn't be gotten.");
-
- // Set the frame rectangle of the border view and this window from the Carbon window's structure region bounds.
- newWindowFrameRect.origin.x = windowStructureBoundsRect.left;
- newWindowFrameRect.origin.y = NSMaxY([(NSScreen *)[[NSScreen screens] objectAtIndex:0] frame]) - windowStructureBoundsRect.bottom;
- newWindowFrameRect.size.width = windowStructureBoundsRect.right - windowStructureBoundsRect.left;
- newWindowFrameRect.size.height = windowStructureBoundsRect.bottom - windowStructureBoundsRect.top;
- if (!NSEqualRects(newWindowFrameRect, _frame)) {
- [self _setFrame:newWindowFrameRect];
- [_borderView setFrameSize:newWindowFrameRect.size];
- reconciliationWasNecessary = YES;
- }
-
- // Set the content view's frame rect from the Carbon window's content region bounds.
- newContentFrameRect.origin.x = windowContentBoundsRect.left - windowStructureBoundsRect.left;
- newContentFrameRect.origin.y = windowStructureBoundsRect.bottom - windowContentBoundsRect.bottom;
- newContentFrameRect.size.width = windowContentBoundsRect.right - windowContentBoundsRect.left;
- newContentFrameRect.size.height = windowContentBoundsRect.bottom - windowContentBoundsRect.top;
- oldContentFrameRect = [(NSView *)_contentView frame];
- if (!NSEqualRects(newContentFrameRect, oldContentFrameRect)) {
- [(NSView *)_contentView setFrame:newContentFrameRect];
- reconciliationWasNecessary = YES;
- }
-
- // Done.
- return reconciliationWasNecessary;
-
-}
-
-
-// Handle an event just like an NSWindow would.
-- (void)sendSuperEvent:(NSEvent *)inEvent {
-
- // Filter out a few events that just result in complaints in the log.
- // Ignore some unknown event that gets sent when NSTextViews in printing accessory views are focused. M.P. Notice - 12/7/00
- BOOL ignoreEvent = NO;
- NSEventType eventType = [inEvent type];
- if (eventType==NSSystemDefined) {
- short eventSubtype = [inEvent subtype];
- if (eventSubtype==7) {
- ignoreEvent = YES;
- }
- } else if (eventType == NSKeyDown) {
- // Handle command-space as [NSApp sendEvent:] does.
- if ([NSInputContext processInputKeyBindings:inEvent]) {
- return;
- }
- }
-
- // Simple.
- if (!ignoreEvent) [super sendEvent:inEvent];
-}
-
-- (void)relinquishFocus
-{
- NSResponder* firstResponder;
-
- // Carbon thinks that a control has the keyboard focus,
- // or we wouldn't be being asked to relinquish focus.
-
- firstResponder = [self firstResponder];
- if ([firstResponder isKindOfClass:[NSView class]] ){
- // Make the window the first responder, so that no view is the key view.
- [self makeFirstResponder:self];
- }
-}
-
-- (BOOL)makeFirstResponder:(NSResponder *)aResponder
-{
- // Let NSWindow focus the appropriate NSView.
- if (![super makeFirstResponder:aResponder])
- return NO;
-
- // Now, if the view we're focusing is in a HIWebView, find the
- // corresponding HIWebView for the NSView, and tell carbon to
- // clear any focused control.
- HIViewRef viewRef = 0;
- NSResponder *firstResponder = [self firstResponder];
- if ([firstResponder isKindOfClass:[NSView class]]) {
- NSView *view = (NSView *)firstResponder;
- while (view) {
- viewRef = [HIViewAdapter getHIViewForNSView:view];
- if (viewRef)
- break;
- view = [view superview];
- }
- }
-
- HIViewRef focus;
- GetKeyboardFocus (_windowRef, &focus);
- if (focus != viewRef) {
- SetKeyboardFocus (_windowRef, viewRef, kControlIndicatorPart );
- }
-
- return YES;
-}
-
-// There's no override of _addCursorRect:cursor:forView:, despite the fact that NSWindow's invokes [self windowNumber], because Carbon windows won't have subviews, and therefore won't have cursor rects.
-
-
-// There's no override of _autoResizeState, despite the fact that NSWindow's operates on _windowNum, because it looks like it might work on Carbon windows as is.
-
-
-// Disappointingly, -_blockHeartBeat: is not immediately invoked to turn off heartbeating. Heartbeating is turned off by setting the gDefaultButtonPaused global variable, and then this method is invoked later, if that global is set (at heartbeating time I guess). Something has to change if we want to hook this up in Carbon windows. M.P. Warning - 9/17/01
-/*
-// Do the right thing for a Carbon window.
-- (void)_blockHeartBeat:(BOOL)flag {
-
- ControlRef defaultButton;
- OSStatus osStatus;
-
- // Do the standard Cocoa thing.
- [super _blockHeartBeat:flag];
-
- // If there's a default Carbon button in this Carbon window, make it stop pulsing, the Carbon way.
- // This is inspired by HIToolbox/Controls/Definitions/ButtonCDEF.c's ButtonEventHandler(). M.P. Notice - 12/5/00
- osStatus = GetWindowDefaultButton(_windowRef, &defaultButton);
- if (osStatus==noErr && defaultButton) {
- Boolean anotherButtonIsTracking = flag ? TRUE : FALSE;
- osStatus = SetControlData(defaultButton, kControlNoPart, kControlPushButtonAnotherButtonTrackingTag, sizeof(Boolean), &anotherButtonIsTracking);
- if (osStatus==noErr) DrawOneControl(defaultButton);
- else NSLog(@"Some data couldn't be set in a Carbon control.");
- }
-
-}
-*/
-
-
-// Do the right thing for a Carbon window.
-- (void)_cancelKey:(id)sender {
-
- // Most of the time the handling of the cancel key will be done by Carbon, but this method will be invoked if an NSCarbonWindow is wrapping a Carbon window that contains an NSViewCarbonControl, and the escape key or whatever is pressed with an NSTextView focused. Just do what Carbon would do.
- ControlRef cancelButton;
- GetWindowCancelButton(_windowRef, &cancelButton);
- if (cancelButton) {
- if (IsControlActive(cancelButton)) {
- HIViewSimulateClick(cancelButton, kControlButtonPart, 0, NULL);
- }
- }
-
-}
-
-
-
-// Do the right thing for a Carbon window.
-- (void)_commonAwake {
-
- // Complain, because this should never be called. We insist that -[NSCarbonWindow initWithCarbonWindowRef] is the only valid initializer for instances of this class, and that there's no such thing as a one-shot NSCarbonWindow.
- NSLog(@"-[NSCarbonWindow _commonAwake] is not implemented.");
-
-}
-
-
-// There's no override of _commonInitFrame:styleMask:backing:defer:, despite the fact that NSWindow's modifies quite a few instance variables, because it gets called in a harmless way if the class instance is properly initialized with -[NSCarbonWindow initWithCarbonWindowRef:takingOwnership:].
-
-
-// Do the right thing for a Carbon window.
-- (id)_destroyRealWindow:(BOOL)orderingOut {
-
- // Complain, because this should never be called. We don't support one-shot NSCarbonWindows.
- NSLog(@"-[NSCarbonWindow _destroyRealWindow:] is not implemented.");
- return self;
-
-}
-
-
-// There's no override of _discardCursorRectsForView, despite the fact that NSWindow's invokes [self windowNumber], because Carbon windows won't have subviews, and therefore won't have cursor rects.
-
-
-// There's no override of _forceFlushWindowToScreen, despite the fact that NSWindow's invokes [self windowNumber], because it looks like it might work on Carbon windows as is.
-
-
-// There's no override of _getPositionFromServer, despite the fact that NSWindow's operates on _windowNum, because it's only called from -[NSApplication _activateWindows], which is hopefully about to become obsolete any second now.
-
-
-// There's no override of _globalWindowNum, despite the fact that NSWindow's invokes [self windowNumber], because it looks like it might work on Carbon windows as is.
-
-
-// There's no override of _initContent:styleMask:backing:defer:contentView:, despite the fact that NSWindow's modifies _auxiliaryStorage->_auxWFlags.hasShadow, because it will never get called if the class instance is properly initialized with -[NSCarbonWindow initWithCarbonWindowRef:takingOwnership:].
-
-
-// There's no override of _initContent:styleMask:backing:defer:counterpart:, despite the fact that NSWindow's modifies _auxiliaryStorage->_auxWFlags.hasShadow, because it will never get called if the class instance is properly initialized with -[NSCarbonWindow initWithCarbonWindowRef:takingOwnership:].
-
-
-// Do what NSWindow would do, but then sychronize the Carbon window structures.
-- (void)_oldPlaceWindow:(NSRect)frameRect {
-
- OSStatus osStatus;
-
- // Do the standard Cocoa thing.
- [super _oldPlaceWindow:frameRect];
-
- // Tell Carbon to update its various regions.
- // Despite its name, this function should be called early and often, even if the window isn't visible yet. 2702648. M.P. Notice - 7/24/01
- osStatus = WKSyncWindowWithCGAfterMove(_windowRef);
- if (osStatus!=noErr) NSLog(@"A Carbon window's bounds couldn't be synchronized (%i).", (int)osStatus);
-
-}
-
-
-// There's no override of _orderOutAndCalcKeyWithCounter:, despite the fact that NSWindow's invokes [self windowNumber], because it looks like it might work on Carbon windows as is.
-
-
-// There's no override of _realHeartBeatThreadContext, despite the fact that NSWindows's invokes [self windowNumber], because it looks like it might not do anything that will effect a Carbon window.
-
-
-// There's no override of _registerWithDockIfNeeded, despite the fact that NSWindow's invokes [self windowNumber], because it looks like it might work on Carbon windows as is.
-
-
-// There's no override of _removeCursorRect:cursor:forView:, despite the fact that NSWindow's invokes [self windowNumber], because Carbon windows won't have subviews, and therefore won't have cursor rects.
-
-
-// There's no override of _setAvoidsActivation:, despite the fact that NSWindow's invokes [self windowNumber], because it looks like it might work on Carbon windows as is.
-
-
-// There's no override of _setFrame:, despite the fact that NSWindow's modifies _frame, because it looks like it might work on Carbon windows as is. The synchronization of the Carbon window bounds rect to the Cocoa frame rect is done in the overrides of _oldPlaceWindow: and _windowMovedToRect:.
-
-
-// There's no override of _setFrameCommon:display:stashSize:, despite the fact that NSWindow's invokes [self windowNumber], because it looks like it might work on Carbon windows as is.
-
-
-// There's no override of _setWindowNumber:, despite the fact that NSWindow's modifies _windowNum and invokes [self windowNumber], because it looks like it might work on Carbon windows as is.
-
-
-// Do what NSWindow would do, but for a Carbon window.
-// This function is mostly cut-and-pasted from -[NSWindow _termWindowIfOwner]. M.P. Notice - 8/7/00
-- (void)_termWindowIfOwner {
- [self _setWindowNumber:-1];
- _wFlags.isTerminating = YES;
- if (_windowRef && _windowRefIsOwned) DisposeWindow(_windowRef);
- // KW - need to clear window shadow state so it gets reset correctly when new window created
-// if ([_borderView respondsToSelector:@selector(setShadowState:)]) {
-// [_borderView setShadowState:kFrameShadowNone];
-// }
- _wFlags.isTerminating = NO;
-}
-
-
-// There's no override of _threadContext, despite the fact that NSWindow's invokes [self windowNumber], because it looks like it might not do anything that will effect a Carbon window.
-
-
-// There's no override of _windowMoved:, despite the fact that NSWindow's operates on _windowNum, because it looks like it might work on Carbon windows as is.
-
-
-// Do what NSWindow would do, but then sychronize the Carbon window structures.
-- (void)_windowMovedToRect:(NSRect)actualFrame {
-
- OSStatus osStatus;
-
- // Do the standard Cocoa thing.
- [super _windowMovedToRect:actualFrame];
-
- // Let Carbon know that the window has been moved, unless this method is being called "early."
- if (_wFlags.visible) {
- osStatus = WKSyncWindowWithCGAfterMove(_windowRef);
- if (osStatus!=noErr) NSLog(@"A Carbon window's bounds couldn't be synchronized (%i).", (int)osStatus);
- }
-
-}
-
-- (NSRect)constrainFrameRect:(NSRect)actualFrame toScreen:(NSScreen *)screen {
- // let Carbon decide window size and position
- return actualFrame;
-}
-
-- (void)selectKeyViewFollowingView:(NSView *)aView {
- HIViewRef view = NULL;
-
- view = [HIViewAdapter getHIViewForNSView:aView];
-
- if ( view )
- {
- HIViewRef contentView;
-
- GetRootControl( GetControlOwner( view ), &contentView );
- HIViewAdvanceFocus( contentView, 0 );
- }
- else
- {
- [super selectKeyViewFollowingView:aView];
- }
-}
-
-- (void)selectKeyViewPrecedingView:(NSView *)aView {
- HIViewRef view = NULL;
-
- view = [HIViewAdapter getHIViewForNSView:aView];
-
- if ( view )
- {
- HIViewRef contentView;
-
- GetRootControl( GetControlOwner( view ), &contentView );
- HIViewAdvanceFocus( contentView, shiftKey );
- }
- else
- {
- [super selectKeyViewPrecedingView:aView];
- }
-}
-
-- (void)makeKeyWindow {
- [NSApp _setMouseActivationInProgress:NO];
- [NSApp setIsActive:YES];
- [super makeKeyWindow];
- WKShowKeyAndMain();
-}
-
-
-// Do the right thing for a Carbon window.
-- (BOOL)canBecomeKeyWindow {
-
- return YES;
-}
-
-// Do the right thing for a Carbon window.
-- (BOOL)canBecomeMainWindow {
- OSStatus osStatus;
- WindowClass windowClass;
- // By default, Carbon windows cannot become the main window.
- // What about when the default isn't right? Requiring subclassing seems harsh. M.P. Warning - 9/17/01
- // KW - modify this to allow document windows to become main
- // This is primarily to get the right look, so that you don't have two windows that both look active - one Cocoa document and one Carbon document
- osStatus = GetWindowClass(_windowRef, &windowClass);
- return (osStatus == noErr && windowClass == kDocumentWindowClass);
-
-}
-
-
-// There's no override of deminiaturize:, despite the fact that NSWindow's invokes [self windowNumber], because it looks like it might work on Carbon windows as is.
-
-
-// There's no override of disableCursorRects, despite the fact that NSWindow's invokes [self windowNumber], because Carbon windows won't have subviews, and therefore won't have cursor rects.
-
-
-
-// There's no override of enableCursorRects, despite the fact that NSWindow's invokes [self windowNumber], because Carbon windows won't have subviews, and therefore won't have cursor rects.
-
-
-// Do the right thing for a Carbon window.
-- (void)encodeWithCoder:(NSCoder *)coder {
-
- // Actually, this will probably never be implemented. M.P. Notice - 8/2/00
- NSLog(@"-[NSCarbonWindow encodeWithCoder:] is not implemented.");
-
-}
-
-
-// There's no override of frame, despite the fact that NSWindow's returns _frame, because _frame is one of the instance variables whose value we're keeping synchronized with the Carbon window.
-
-
-// Do the right thing for a Carbon window.
-- (id)initWithCoder:(NSCoder *)coder {
-
- // Actually, this will probably never be implemented. M.P. Notice - 8/2/00
- NSLog(@"-[NSCarbonWindow initWithCoder:] is not implemented.");
- [self release];
- return nil;
-
-}
-
-
-// There's no override of level, despite the fact that NSWindow's returns _level, because _level is one of the instance variables whose value we're keeping synchronized with the Carbon window.
-
-
-// There's no override of miniaturize:, despite the fact that NSWindow's invokes [self windowNumber], because it looks like it might work on Carbon windows as is.
-
-
-// There's no override of resizeToScreenWithEvent:, despite the fact that NSWindow's operates on _windowNum.
-// It looks like it's only called when an _NSForceResizeEventType event is passed into -[NSWindow sendEvent:], and I can't find any instances of that happening.
-
-/*
-// Do the right thing for a Carbon Window.
-- (void)sendEvent:(NSEvent *)theEvent {
-
- // Not all events are handled in the same manner.
- NSEventType eventType = [theEvent type];
- if (eventType==NSAppKitDefined) {
-
- // Handle the event the Cocoa way. Carbon won't understand it anyway.
- [super sendEvent:theEvent];
-
- }
-}
-*/
-
-// There's no override of setAcceptsMouseMovedEvents:, despite the fact that NSWindow's invokes [self windowNumber], because it looks like it might work on Carbon windows as is.
-
-
-// There's no override of setBackingType:, despite the fact that NSWindow's invokes [self windowNumber], because it's apparently not expected to do anything anyway, judging from the current implementation of PSsetwindowtype().
-
-
-// Do what NSWindow would do, but for a Carbon window.
-- (void)setContentView:(NSView *)aView {
-
- NSRect contentFrameRect;
- OSStatus osStatus;
- Rect windowContentBoundsRect;
-
- // Precondition check.
- assert(_borderView);
- assert([_borderView isKindOfClass:[CarbonWindowFrame class]]);
- assert(_windowRef);
-
- // Parameter check.
- assert(aView);
- assert([aView isKindOfClass:[CarbonWindowContentView class]]);
-
- // Find out the window's Carbon window structure region (content) bounds.
- osStatus = GetWindowBounds(_windowRef, kWindowContentRgn, &windowContentBoundsRect);
- if (osStatus!=noErr) NSLog(@"A Carbon window's content bounds couldn't be gotten.");
- contentFrameRect.origin = NSZeroPoint;
- contentFrameRect.size.width = windowContentBoundsRect.right - windowContentBoundsRect.left;
- contentFrameRect.size.height = windowContentBoundsRect.bottom - windowContentBoundsRect.top;
-
- // If the content view is still in some other view hierarchy, pry it free.
- [_contentView removeFromSuperview];
- assert(![_contentView superview]);
-
- // Record the content view, and size it to this window's content frame.
- _contentView = aView;
- [(NSView *)_contentView setFrame:contentFrameRect];
-
- // Make the content view a subview of the border view.
- [_borderView addSubview:_contentView];
-
- // Tell the content view it's new place in the responder chain.
- [_contentView setNextResponder:self];
-
-}
-
-
-// There's no override of setDepthLimit:, despite the fact that NSWindow's invokes [self windowNumber], because it looks like it might work on Carbon windows as is.
-
-
-- (BOOL)worksWhenModal {
- WindowClass windowClass = [self _carbonWindowClass];
- return (windowClass == kFloatingWindowClass || windowClass == kUtilityWindowClass);
-}
-
-- (void)_setModalWindowLevel {
- return;
-}
-
-- (id)_clearModalWindowLevel {
- return nil;
-}
-
-// There's no override of setLevel:, despite the fact that NSWindow's invokes [self windowNumber], because it looks like it might work on Carbon windows as is.
-// I thought at first that there should be a mapping between Cocoa level and Carbon window class, but experiments convince me that such is not the case. M.P. Notice - 9/18/00
-
-
-// There's no override of windowNumber, despite the fact that NSWindow's returns _windowNum, because _windowNum is one of the instance variables whose value we're keeping synchronized with the Carbon window.
-
-
-- (UInt32)carbonHICommandIDFromActionSelector:(SEL)inActionSelector {
-
- // Initialize with the default return value.
- UInt32 hiCommandID = 0;
-
- // Pretty simple, if tedious.
- if (inActionSelector==@selector(clear:)) hiCommandID = kHICommandClear;
- else if (inActionSelector==@selector(copy:)) hiCommandID = kHICommandCopy;
- else if (inActionSelector==@selector(cut:)) hiCommandID = kHICommandCut;
- else if (inActionSelector==@selector(paste:)) hiCommandID = kHICommandPaste;
- else if (inActionSelector==@selector(redo:)) hiCommandID = kHICommandRedo;
- else if (inActionSelector==@selector(selectAll:)) hiCommandID = kHICommandSelectAll;
- else if (inActionSelector==@selector(undo:)) hiCommandID = kHICommandUndo;
-
- // Done.
- return hiCommandID;
-
-}
-
-
-- (void)sendCarbonProcessHICommandEvent:(UInt32)inHICommandID {
-
- EventTargetRef eventTargetRef;
- HICommand hiCommand;
- OSStatus osStatus;
-
- // Initialize for safe error handling.
- EventRef eventRef = NULL;
-
- // Create a Process Command event. Don't mention anything about the menu item, because we don't want the Carbon Event handler fiddling with it.
- hiCommand.attributes = 0;
- hiCommand.commandID = inHICommandID;
- hiCommand.menu.menuRef = 0;
- hiCommand.menu.menuItemIndex = 0;
- osStatus = CreateEvent(NULL, kEventClassCommand, kEventCommandProcess, GetCurrentEventTime(), kEventAttributeNone, &eventRef);
- if (osStatus!=noErr) {
- NSLog(@"CreateEvent() returned %i.", (int)osStatus);
- goto CleanUp;
- }
- osStatus = SetEventParameter(eventRef, kEventParamDirectObject, typeHICommand, sizeof(HICommand), &hiCommand);
- if (osStatus!=noErr) {
- NSLog(@"SetEventParameter() returned %i.", (int)osStatus);
- goto CleanUp;
- }
-
- // Send a Carbon event to whatever has the Carbon user focus.
- eventTargetRef = GetUserFocusEventTarget();
- osStatus = SendEventToEventTarget(eventRef, eventTargetRef);
- if (osStatus!=noErr) {
- NSLog(@"SendEventToEventTarget() returned %i.", (int)osStatus);
- goto CleanUp;
- }
-
-CleanUp:
-
- // Clean up.
- if (eventRef) ReleaseEvent(eventRef);
-
-}
-
-
-- (Boolean)sendCarbonUpdateHICommandStatusEvent:(UInt32)inHICommandID withMenuRef:(MenuRef)inMenuRef andMenuItemIndex:(UInt16)inMenuItemIndex {
-
- EventTargetRef eventTargetRef;
- HICommand hiCommand;
- OSStatus osStatus;
-
- // Initialize for safe error handling and flag returning.
- Boolean eventWasHandled = FALSE;
- EventRef eventRef = NULL;
-
- // Create a Process Command event. Don't mention anything about the menu item, because we don't want the Carbon Event handler fiddling with it.
- hiCommand.attributes = kHICommandFromMenu;
- hiCommand.commandID = inHICommandID;
- hiCommand.menu.menuRef = inMenuRef;
- hiCommand.menu.menuItemIndex = inMenuItemIndex;
- osStatus = CreateEvent(NULL, kEventClassCommand, kEventCommandUpdateStatus, GetCurrentEventTime(), kEventAttributeNone, &eventRef);
- if (osStatus!=noErr) {
- NSLog(@"CreateEvent() returned %i.", (int)osStatus);
- goto CleanUp;
- }
- osStatus = SetEventParameter(eventRef, kEventParamDirectObject, typeHICommand, sizeof(HICommand), &hiCommand);
- if (osStatus!=noErr) {
- NSLog(@"SetEventParameter() returned %i.", (int)osStatus);
- goto CleanUp;
- }
-
- // Send a Carbon event to whatever has the Carbon user focus.
- eventTargetRef = GetUserFocusEventTarget();
- osStatus = SendEventToEventTarget(eventRef, eventTargetRef);
- if (osStatus==noErr) {
- eventWasHandled = TRUE;
- } else if (osStatus!=eventNotHandledErr) {
- NSLog(@"SendEventToEventTarget() returned %i.", (int)osStatus);
- goto CleanUp;
- }
-
-CleanUp:
-
- // Clean up.
- if (eventRef) ReleaseEvent(eventRef);
-
- // Done.
- return eventWasHandled;
-
-}
-
-- (void)_handleRootBoundsChanged
-{
- HIViewRef root = HIViewGetRoot( _windowRef );
- HIRect frame;
-
- HIViewGetFrame( root, &frame );
- [_borderView setFrameSize:*(NSSize*)&frame.size];
-}
-
-- (void)_handleContentBoundsChanged
-{
- HIViewRef root, contentView;
- HIRect rootBounds, contentFrame;
- NSRect oldContentFrameRect;
-
- root = HIViewGetRoot( _windowRef );
- HIViewFindByID( root, kHIViewWindowContentID, &contentView );
- HIViewGetFrame( contentView, &contentFrame );
- HIViewGetBounds( root, &rootBounds );
-
- // Set the content view's frame rect from the Carbon window's content region bounds.
- contentFrame.origin.y = rootBounds.size.height - CGRectGetMaxY( contentFrame );
-
- oldContentFrameRect = [(NSView *)_contentView frame];
- if ( !NSEqualRects( *(NSRect*)&contentFrame, oldContentFrameRect ) ) {
- [(NSView *)_contentView setFrame:*(NSRect*)&contentFrame];
- }
-}
-
-- (OSStatus)_handleCarbonEvent:(EventRef)inEvent callRef:(EventHandlerCallRef)inCallRef {
- OSStatus result = eventNotHandledErr;
-
- switch ( GetEventClass( inEvent ) )
- {
- case kEventClassControl:
- {
- ControlRef control;
-
- check( GetEventKind( inEvent ) == kEventControlBoundsChanged );
-
- GetEventParameter( inEvent, kEventParamDirectObject, typeControlRef, NULL,
- sizeof( ControlRef ), NULL, &control );
-
- if ( control == HIViewGetRoot( _windowRef ) )
- [self _handleRootBoundsChanged];
- else
- [self _handleContentBoundsChanged];
- }
- break;
-
- case kEventClassWindow:
- switch ( GetEventKind( inEvent ) )
- {
- case kEventWindowShown:
- [self _setVisible:YES];
- break;
-
- case kEventWindowHidden:
- [self _setVisible:NO];
- break;
-
- case kEventWindowActivated:
- [self makeKeyWindow];
- break;
-
- case kEventWindowDeactivated:
- [self resignKeyWindow];
- break;
-
- case kEventWindowBoundsChanged:
- [self reconcileToCarbonWindowBounds];
- break;
- }
- break;
- }
-
- return result;
-}
-
-// Handle various events that Carbon is sending to our window.
-static OSStatus NSCarbonWindowHandleEvent(EventHandlerCallRef inEventHandlerCallRef, EventRef inEventRef, void *inUserData) {
-
- // default action is to send event to next handler. We modify osStatus as necessary where we don't want this behavior
- OSStatus osStatus = eventNotHandledErr;
-
- // We do different things for different event types.
- CarbonWindowAdapter *carbonWindow = (CarbonWindowAdapter *)inUserData;
-
- osStatus = [carbonWindow _handleCarbonEvent: inEventRef callRef: inEventHandlerCallRef];
-
- // Done. If we want to propagate the event, we return eventNotHandledErr to send it to the next handler
- return osStatus;
-
-}
-
-// [3364117] We need to make sure this does not fall through to the AppKit implementation! bad things happen.
-- (void)_reallyDoOrderWindow:(NSWindowOrderingMode)place relativeTo:(int)otherWin findKey:(BOOL)doKeyCalc forCounter:(BOOL)isACounter force:(BOOL)doForce isModal:(BOOL)isModal {
-}
-
-- (NSRect) _growBoxRect
-{
- WindowAttributes attrs;
- NSRect retRect = NSZeroRect;
-
- GetWindowAttributes( _windowRef, &attrs );
-
- if ( attrs & kWindowResizableAttribute )
- {
- HIRect bounds, rect;
- HIViewRef view;
-
- HIViewGetBounds( HIViewGetRoot( _windowRef ), &bounds );
- HIViewFindByID( HIViewGetRoot( _windowRef ), kHIViewWindowGrowBoxID, &view );
- HIViewGetFrame( view, &rect );
-
- rect.origin.y = bounds.size.height - CGRectGetMaxY( rect ) - 1;
- rect.origin.x++;
-
- retRect = *(NSRect*)&rect;
- }
-
- return retRect;
-}
-
-@end // implementation CarbonWindowAdapter
-
-#endif
diff --git a/Source/WebKit/mac/Carbon/CarbonWindowContentView.h b/Source/WebKit/mac/Carbon/CarbonWindowContentView.h
deleted file mode 100644
index 5ba0478d3..000000000
--- a/Source/WebKit/mac/Carbon/CarbonWindowContentView.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <AppKit/NSView.h>
-
-@interface CarbonWindowContentView : NSView { }
-
-@end // interface CarbonWindowContentView
diff --git a/Source/WebKit/mac/Carbon/CarbonWindowContentView.m b/Source/WebKit/mac/Carbon/CarbonWindowContentView.m
deleted file mode 100644
index d49a6ac14..000000000
--- a/Source/WebKit/mac/Carbon/CarbonWindowContentView.m
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 __LP64__
-
-#import "CarbonWindowContentView.h"
-
-@implementation CarbonWindowContentView
-
-@end
-
-#endif
diff --git a/Source/WebKit/mac/Carbon/CarbonWindowFrame.h b/Source/WebKit/mac/Carbon/CarbonWindowFrame.h
deleted file mode 100644
index 4bca98a42..000000000
--- a/Source/WebKit/mac/Carbon/CarbonWindowFrame.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <AppKit/AppKit.h>
-
-@interface CarbonWindowFrame : NSView
-
-// Instance variables.
-{
-
- @private
-
- // Something we keep around just to return when it's asked for.
- unsigned int _styleMask;
-
-}
-
-@end // interface NSCarbonWindowFrame
diff --git a/Source/WebKit/mac/Carbon/CarbonWindowFrame.m b/Source/WebKit/mac/Carbon/CarbonWindowFrame.m
deleted file mode 100644
index 83f093a7e..000000000
--- a/Source/WebKit/mac/Carbon/CarbonWindowFrame.m
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 __LP64__
-
-#import "CarbonWindowFrame.h"
-#import "CarbonWindowAdapter.h"
-#import "CarbonWindowContentView.h"
-#import <Foundation/NSGeometry.h>
-#import <Foundation/NSString.h>
-#import <HIToolbox/MacWindows.h>
-
-#import "WebTypesInternal.h"
-
-@interface NSView(Secret)
-- (void)_setWindow:(NSWindow *)window;
-@end
-
-@class NSButton;
-/*
-
-@interface NSThemeFrame(NSHijackedClassMethods)
-
-+ (float)_titlebarHeight:(unsigned int)style;
-
-@end
-*/
-
-@implementation CarbonWindowFrame
-
-
-- (NSRect)titlebarRect
-{
- NSRect titlebarRect;
- NSRect boundsRect;
-
- boundsRect = [self bounds];
-
- CarbonWindowAdapter *carbonWindow;
- carbonWindow = (CarbonWindowAdapter *)[self window];
- WindowRef windowRef = [carbonWindow windowRef];
- Rect globalBounds;
- GetWindowBounds (windowRef, kWindowTitleBarRgn, &globalBounds);
-
- titlebarRect.origin.x = boundsRect.origin.x;
- titlebarRect.size.width = boundsRect.size.width;
- titlebarRect.size.height = globalBounds.bottom - globalBounds.top;
- titlebarRect.origin.y = NSMaxY(boundsRect) - titlebarRect.size.height;
-
- return titlebarRect;
-}
-
-// Given a content rectangle and style mask, return a corresponding frame rectangle.
-+ (NSRect)frameRectForContentRect:(NSRect)contentRect styleMask:(NSUInteger)style {
-
- // We don't bother figuring out a good value, because content rects weren't so meaningful for NSCarbonWindows in the past, but this might not be a good assumption anymore. M.P. Warning - 12/5/00
- return contentRect;
-
-}
-
-+ (NSRect)contentRectForFrameRect:(NSRect)frameRect styleMask:(NSUInteger)style {
-
- // We don't bother figuring out a good value, because content rects weren't so meaningful for NSCarbonWindows in the past, but this might not be a good assumption anymore. KW - copied from +frameRectForContentRect:styleMask
- return frameRect;
-
-}
-
-+ (NSSize)minFrameSizeForMinContentSize:(NSSize)cSize styleMask:(NSUInteger)style {
- // See comments above. We don't make any assumptions about the relationship between content rects and frame rects
- return cSize;
-}
-
-- (NSRect)frameRectForContentRect:(NSRect)cRect styleMask:(NSUInteger)style {
- return [[self class] frameRectForContentRect: cRect styleMask:style];
-}
-- (NSRect)contentRectForFrameRect:(NSRect)fRect styleMask:(NSUInteger)style {
- return [[self class] contentRectForFrameRect: fRect styleMask:style];
-}
-- (NSSize)minFrameSizeForMinContentSize:(NSSize)cSize styleMask:(NSUInteger)style {
- return [[self class] minFrameSizeForMinContentSize:cSize styleMask: style];
-}
-
-// Initialize.
-- (id)initWithFrame:(NSRect)inFrameRect styleMask:(unsigned int)inStyleMask owner:(NSWindow *)inOwningWindow {
-
- // Parameter check.
- if (![inOwningWindow isKindOfClass:[CarbonWindowAdapter class]]) NSLog(@"CarbonWindowFrames can only be owned by CarbonWindowAdapters.");
-
- // Do the standard Cocoa thing.
- self = [super initWithFrame:inFrameRect];
- if (!self) return nil;
-
- // Record what we'll need later.
- _styleMask = inStyleMask;
-
- // Do what NSFrameView's method of the same name does.
- [self _setWindow:inOwningWindow];
- [self setNextResponder:inOwningWindow];
-
- // Done.
- return self;
-
-}
-
-
-// Deallocate.
-- (void)dealloc {
-
- // Simple.
- [super dealloc];
-
-}
-
-
-// Sink a method invocation.
-- (void)_setFrameNeedsDisplay:(BOOL)needsDisplay {
-
-}
-
-
-// Sink a method invocation.
-- (void)_setSheet:(BOOL)sheetFlag {
-
-}
-
-
-// Sink a method invocation.
-- (void)_updateButtonState {
-
-}
-
-#if 0
-// Sink a method invocation.
-- (void)_windowChangedKeyState {
-}
-#endif
-
-// Toolbar methods that NSWindow expects to be there.
-- (BOOL)_canHaveToolbar { return NO; }
-- (BOOL)_toolbarIsInTransition { return NO; }
-- (BOOL)_toolbarIsShown { return NO; }
-- (BOOL)_toolbarIsHidden { return NO; }
-- (void)_showToolbarWithAnimation:(BOOL)animate {}
-- (void)_hideToolbarWithAnimation:(BOOL)animate {}
-- (float)_distanceFromToolbarBaseToTitlebar { return 0; }
-
-
-// Refuse to admit there's a close button on the window.
-- (NSButton *)closeButton {
-
- // Simple.
- return nil;
-}
-
-
-// Return what's asked for.
-- (unsigned int)styleMask {
-
- // Simple.
- return _styleMask;
-
-}
-
-
-// Return what's asked for.
-- (NSRect)dragRectForFrameRect:(NSRect)frameRect {
-
- // Do what NSThemeFrame would do.
- // If we just return NSZeroRect here, _NXMakeWindowVisible() gets all befuddled in the sheet-showing case, a window-moving loop is entered, and the sheet gets moved right off of the screen. M.P. Warning - 3/23/01
- NSRect dragRect;
- dragRect.size.height = 27;//[NSThemeFrame _titlebarHeight:[self styleMask]];
- dragRect.origin.y = NSMaxY(frameRect) - dragRect.size.height;
- dragRect.size.width = frameRect.size.width;
- dragRect.origin.x = frameRect.origin.x;
- return dragRect;
-
-}
-
-
-// Return what's asked for.
-- (BOOL)isOpaque {
-
- // Return a value that will make -[NSWindow displayIfNeeded] on our Carbon window actually work.
- return YES;
-
-}
-
-
-// Refuse to admit there's a minimize button on the window.
-- (NSButton *)minimizeButton {
-
- // Simple.
- return nil;
-
-}
-
-
-// Do the right thing for a Carbon window.
-- (void)setTitle:(NSString *)title {
-
- CarbonWindowAdapter *carbonWindow;
- OSStatus osStatus;
- WindowRef windowRef;
-
- // Set the Carbon window's title.
- carbonWindow = (CarbonWindowAdapter *)[self window];
- windowRef = [carbonWindow windowRef];
- osStatus = SetWindowTitleWithCFString(windowRef, (CFStringRef)title);
- if (osStatus!=noErr) NSLog(@"A Carbon window's title couldn't be set.");
-
-}
-
-
-// Return what's asked for.
-- (NSString *)title {
-
- CFStringRef windowTitle;
- CarbonWindowAdapter *carbonWindow;
- NSString *windowTitleAsNSString;
- OSStatus osStatus;
- WindowRef windowRef;
-
- // Return the Carbon window's title.
- carbonWindow = (CarbonWindowAdapter *)[self window];
- windowRef = [carbonWindow windowRef];
- osStatus = CopyWindowTitleAsCFString(windowRef, &windowTitle);
- if (osStatus==noErr) {
- windowTitleAsNSString = (NSString *)windowTitle;
- } else {
- NSLog(@"A Carbon window's title couldn't be gotten.");
- windowTitleAsNSString = @"";
- }
- return [windowTitleAsNSString autorelease];
-
-}
-
-
-// Return what's asked for.
-- (float)_sheetHeightAdjustment {
-
- // Do what NSThemeFrame would do.
- return 22;//[NSThemeFrame _titlebarHeight:([self styleMask] & ~NSDocModalWindowMask)];
-
-}
-
-// Return what's asked for.
-- (float)_maxTitlebarTitleRect {
-
- // Do what NSThemeFrame would do.
- return 22;//[NSThemeFrame _titlebarHeight:([self styleMask] & ~NSDocModalWindowMask)];
-
-}
-
-- (void)_clearDragMargins {
-}
-
-- (void)_resetDragMargins {
-}
-
-
-@end // implementation NSCarbonWindowFrame
-
-#endif
diff --git a/Source/WebKit/mac/Carbon/HIViewAdapter.h b/Source/WebKit/mac/Carbon/HIViewAdapter.h
deleted file mode 100644
index 875566dbf..000000000
--- a/Source/WebKit/mac/Carbon/HIViewAdapter.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebKit.h>
-#include <HIToolbox/HIView.h>
-
-@interface HIViewAdapter : NSObject
-
-+ (void)bindHIViewToNSView:(HIViewRef)hiView nsView:(NSView*)nsView;
-+ (void)unbindNSView:(NSView*)nsView;
-+ (HIViewRef)getHIViewForNSView:(NSView*)inView;
-
-@end
diff --git a/Source/WebKit/mac/Carbon/HIViewAdapter.m b/Source/WebKit/mac/Carbon/HIViewAdapter.m
deleted file mode 100644
index 970de8ed8..000000000
--- a/Source/WebKit/mac/Carbon/HIViewAdapter.m
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * Copyright (C) 2005, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 __LP64__
-
-#import "HIViewAdapter.h"
-
-#import "QuickDrawCompatibility.h"
-#import "WebNSObjectExtras.h"
-#import <wtf/Assertions.h>
-
-static void SetViewNeedsDisplay(HIViewRef inView, RgnHandle inRegion, Boolean inNeedsDisplay);
-
-#define WATCH_INVALIDATION 0
-
-@interface NSView(ShhhhDontTell)
-- (NSRect)_dirtyRect;
-@end
-
-@implementation HIViewAdapter
-
-static CFMutableDictionaryRef sViewMap;
-
-static IMP oldNSViewSetNeedsDisplayIMP;
-static IMP oldNSViewSetNeedsDisplayInRectIMP;
-static IMP oldNSViewNextValidKeyViewIMP;
-
-static void _webkit_NSView_setNeedsDisplay(id self, SEL _cmd, BOOL flag);
-static void _webkit_NSView_setNeedsDisplayInRect(id self, SEL _cmd, NSRect invalidRect);
-static NSView *_webkit_NSView_nextValidKeyView(id self, SEL _cmd);
-
-+ (void)bindHIViewToNSView:(HIViewRef)hiView nsView:(NSView*)nsView
-{
- if (sViewMap == NULL) {
- sViewMap = CFDictionaryCreateMutable(NULL, 0, NULL, NULL);
-
- // Override -[NSView setNeedsDisplay:]
- Method setNeedsDisplayMethod = class_getInstanceMethod(objc_getClass("NSView"), @selector(setNeedsDisplay:));
- ASSERT(setNeedsDisplayMethod);
- ASSERT(!oldNSViewSetNeedsDisplayIMP);
- oldNSViewSetNeedsDisplayIMP = method_setImplementation(setNeedsDisplayMethod, (IMP)_webkit_NSView_setNeedsDisplay);
-
- // Override -[NSView setNeedsDisplayInRect:]
- Method setNeedsDisplayInRectMethod = class_getInstanceMethod(objc_getClass("NSView"), @selector(setNeedsDisplayInRect:));
- ASSERT(setNeedsDisplayInRectMethod);
- ASSERT(!oldNSViewSetNeedsDisplayInRectIMP);
- oldNSViewSetNeedsDisplayInRectIMP = method_setImplementation(setNeedsDisplayInRectMethod, (IMP)_webkit_NSView_setNeedsDisplayInRect);
-
- // Override -[NSView nextValidKeyView]
- Method nextValidKeyViewMethod = class_getInstanceMethod(objc_getClass("NSView"), @selector(nextValidKeyView));
- ASSERT(nextValidKeyViewMethod);
- ASSERT(!oldNSViewNextValidKeyViewIMP);
- oldNSViewNextValidKeyViewIMP = method_setImplementation(nextValidKeyViewMethod, (IMP)_webkit_NSView_nextValidKeyView);
- }
-
- CFDictionaryAddValue(sViewMap, nsView, hiView);
-}
-
-+ (HIViewRef)getHIViewForNSView:(NSView*)inView
-{
- return sViewMap ? (HIViewRef)CFDictionaryGetValue(sViewMap, inView) : NULL;
-}
-
-+ (void)unbindNSView:(NSView*)inView
-{
- CFDictionaryRemoveValue(sViewMap, inView);
-}
-
-static void _webkit_NSView_setNeedsDisplay(id self, SEL _cmd, BOOL flag)
-{
- oldNSViewSetNeedsDisplayIMP(self, _cmd, flag);
-
- if (!flag) {
- HIViewRef hiView = NULL;
- NSRect targetBounds = [self visibleRect];
- NSRect validRect = targetBounds;
- NSView *view = self;
-
- while (view) {
- targetBounds = [view visibleRect];
- if ((hiView = [HIViewAdapter getHIViewForNSView:view]) != NULL)
- break;
- validRect = [view convertRect:validRect toView:[view superview]];
- view = [view superview];
- }
-
- if (hiView) {
- // Flip rect here and convert to region
- HIRect rect;
- rect.origin.x = validRect.origin.x;
- rect.origin.y = targetBounds.size.height - NSMaxY(validRect);
- rect.size.height = validRect.size.height;
- rect.size.width = validRect.size.width;
-
- // For now, call the region-based API.
- RgnHandle rgn = NewRgn();
- if (rgn) {
- Rect qdRect;
- qdRect.top = (SInt16)rect.origin.y;
- qdRect.left = (SInt16)rect.origin.x;
- qdRect.bottom = CGRectGetMaxY(rect);
- qdRect.right = CGRectGetMaxX(rect);
-
- RectRgn(rgn, &qdRect);
- SetViewNeedsDisplay(hiView, rgn, false);
- DisposeRgn(rgn);
- }
- }
- }
-}
-
-static void _webkit_NSView_setNeedsDisplayInRect(id self, SEL _cmd, NSRect invalidRect)
-{
- invalidRect = NSUnionRect(invalidRect, [self _dirtyRect]);
- oldNSViewSetNeedsDisplayInRectIMP(self, _cmd, invalidRect);
-
- if (!NSIsEmptyRect(invalidRect)) {
- HIViewRef hiView = NULL;
- NSRect targetBounds = [(NSView *)self bounds];
- NSView *view = self;
-
- while (view) {
- targetBounds = [view bounds];
- if ((hiView = [HIViewAdapter getHIViewForNSView:view]) != NULL)
- break;
- invalidRect = [view convertRect:invalidRect toView:[view superview]];
- view = [view superview];
- }
-
- if (hiView) {
- if (NSWidth(invalidRect) > 0 && NSHeight(invalidRect)) {
- // Flip rect here and convert to region
- HIRect rect;
- rect.origin.x = invalidRect.origin.x;
- rect.origin.y = targetBounds.size.height - NSMaxY(invalidRect);
- rect.size.height = invalidRect.size.height;
- rect.size.width = invalidRect.size.width;
-
- // For now, call the region-based API.
- RgnHandle rgn = NewRgn();
- if (rgn) {
- Rect qdRect;
- qdRect.top = (SInt16)rect.origin.y;
- qdRect.left = (SInt16)rect.origin.x;
- qdRect.bottom = CGRectGetMaxY(rect);
- qdRect.right = CGRectGetMaxX(rect);
-
- RectRgn(rgn, &qdRect);
- SetViewNeedsDisplay(hiView, rgn, true);
- DisposeRgn(rgn);
- }
- }
- } else
- [[self window] setViewsNeedDisplay:YES];
- }
-}
-
-static NSView *_webkit_NSView_nextValidKeyView(id self, SEL _cmd)
-{
- if ([HIViewAdapter getHIViewForNSView:self])
- return [[self window] contentView];
- else
- return oldNSViewNextValidKeyViewIMP(self, _cmd);
-}
-
-@end
-
-static void SetViewNeedsDisplay(HIViewRef inHIView, RgnHandle inRegion, Boolean inNeedsDisplay)
-{
- WindowAttributes attrs;
-
- GetWindowAttributes(GetControlOwner(inHIView), &attrs);
-
- if (attrs & kWindowCompositingAttribute) {
-#if WATCH_INVALIDATION
- Rect bounds;
- GetRegionBounds(inRegion, &bounds);
- printf("%s: rect on input %d %d %d %d\n", inNeedsDisplay ? "INVALIDATE" : "VALIDATE",
- bounds.top, bounds.left, bounds.bottom, bounds.right);
-#endif
- HIViewSetNeedsDisplayInRegion(inHIView, inRegion, inNeedsDisplay);
- } else {
- Rect bounds, cntlBounds;
- GrafPtr port, savePort;
- Rect portBounds;
-
-#if WATCH_INVALIDATION
- printf("%s: rect on input %d %d %d %d\n", inNeedsDisplay ? "INVALIDATE" : "VALIDATE",
- bounds.top, bounds.left, bounds.bottom, bounds.right);
-#endif
- GetControlBounds(inHIView, &cntlBounds);
-
-#if WATCH_INVALIDATION
- printf("%s: control bounds are %d %d %d %d\n", inNeedsDisplay ? "INVALIDATE" : "VALIDATE",
- cntlBounds.top, cntlBounds.left, cntlBounds.bottom, cntlBounds.right);
-#endif
-
- port = GetWindowPort(GetControlOwner(inHIView));
-
- GetPort(&savePort);
- SetPort(port);
- GetPortBounds(port, &portBounds);
- SetOrigin(0, 0);
-
- OffsetRgn(inRegion, cntlBounds.left, cntlBounds.top);
-
- GetRegionBounds(inRegion, &bounds);
-
-#if WATCH_INVALIDATION
- printf("%s: rect in port coords %d %d %d %d\n", inNeedsDisplay ? "INVALIDATE" : "VALIDATE",
- bounds.top, bounds.left, bounds.bottom, bounds.right);
-#endif
-
- if (inNeedsDisplay)
- InvalWindowRgn(GetControlOwner(inHIView), inRegion);
- else
- ValidWindowRgn(GetControlOwner(inHIView), inRegion);
-
- SetOrigin(portBounds.left, portBounds.top);
- SetPort(savePort);
- }
-}
-
-#endif
diff --git a/Source/WebKit/mac/Carbon/HIWebView.h b/Source/WebKit/mac/Carbon/HIWebView.h
deleted file mode 100644
index bc674534d..000000000
--- a/Source/WebKit/mac/Carbon/HIWebView.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (C) 2004, 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 __HIWebView__
-#define __HIWebView__
-
-#ifndef __LP64__
-
-#include <Carbon/Carbon.h>
-
-#include <JavaScriptCore/WebKitAvailability.h>
-
-#if PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __OBJC__
-@class WebView;
-#endif
-
-/*
- * HIWebViewCreate()
- *
- * Summary:
- * Creates a new web view.
- *
- * Parameters:
- *
- * outControl:
- * The new web view.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Mac OS X: in version 10.2.7 and later [32-bit only]
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- */
-extern OSStatus
-HIWebViewCreate(HIViewRef * outControl) AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0;
-
-#ifdef __OBJC__
-
-/*
- * HIWebViewGetWebView()
- *
- * Summary:
- * Returns the WebKit WebView for a given HIWebView.
- *
- * Parameters:
- *
- * inView:
- * The view to inspect.
- *
- * Result:
- * A pointer to a web view object, or NULL.
- *
- * Availability:
- * Mac OS X: in version 10.2.7 and later [32-bit only]
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- */
-extern WebView *
-HIWebViewGetWebView(HIViewRef inView) AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_4_0;
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-#endif /* __HIWebView__ */
diff --git a/Source/WebKit/mac/Carbon/HIWebView.mm b/Source/WebKit/mac/Carbon/HIWebView.mm
deleted file mode 100644
index 9235d11dd..000000000
--- a/Source/WebKit/mac/Carbon/HIWebView.mm
+++ /dev/null
@@ -1,1611 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 __LP64__
-
-#import "HIWebView.h"
-
-#import "CarbonWindowAdapter.h"
-#import "HIViewAdapter.h"
-#import "QuickDrawCompatibility.h"
-#import "WebHTMLViewInternal.h"
-#import "WebKit.h"
-#import <WebKitSystemInterface.h>
-#import <wtf/ObjcRuntimeExtras.h>
-
-@interface NSWindow (AppKitSecretsHIWebViewKnows)
-- (void)_removeWindowRef;
-@end
-
-@interface NSView (AppKitSecretsHIWebViewKnows)
-- (void)_clearDirtyRectsForTree;
-@end
-
-extern "C" void HIWebViewRegisterClass();
-
-@interface MenuItemProxy : NSObject <NSValidatedUserInterfaceItem>
-{
- int _tag;
- SEL _action;
-}
-
-- (id)initWithAction:(SEL)action;
-- (SEL)action;
-- (int)tag;
-
-@end
-
-@implementation MenuItemProxy
-
-- (id)initWithAction:(SEL)action
-{
- [super init];
- if (self == nil) return nil;
-
- _action = action;
-
- return self;
-}
-
-- (SEL)action
-{
- return _action;
-}
-
-- (int)tag
-{
- return 0;
-}
-
-@end
-
-struct HIWebView
-{
- HIViewRef fViewRef;
-
- WebView* fWebView;
- NSView* fFirstResponder;
- CarbonWindowAdapter * fKitWindow;
- bool fIsComposited;
- CFRunLoopObserverRef fUpdateObserver;
-};
-typedef struct HIWebView HIWebView;
-
-static const OSType NSAppKitPropertyCreator = 'akit';
-/*
-These constants are not used. Commented out to make the compiler happy.
-static const OSType NSViewCarbonControlViewPropertyTag = 'view';
-static const OSType NSViewCarbonControlAutodisplayPropertyTag = 'autd';
-static const OSType NSViewCarbonControlFirstResponderViewPropertyTag = 'frvw';
-*/
-static const OSType NSCarbonWindowPropertyTag = 'win ';
-
-
-static SEL _NSSelectorForHICommand( const HICommand* hiCommand );
-
-static const EventTypeSpec kEvents[] = {
- { kEventClassHIObject, kEventHIObjectConstruct },
- { kEventClassHIObject, kEventHIObjectDestruct },
-
- { kEventClassMouse, kEventMouseUp },
- { kEventClassMouse, kEventMouseMoved },
- { kEventClassMouse, kEventMouseDragged },
- { kEventClassMouse, kEventMouseWheelMoved },
-
- { kEventClassKeyboard, kEventRawKeyDown },
- { kEventClassKeyboard, kEventRawKeyRepeat },
-
- { kEventClassCommand, kEventCommandProcess },
- { kEventClassCommand, kEventCommandUpdateStatus },
-
- { kEventClassControl, kEventControlInitialize },
- { kEventClassControl, kEventControlDraw },
- { kEventClassControl, kEventControlHitTest },
- { kEventClassControl, kEventControlGetPartRegion },
- { kEventClassControl, kEventControlGetData },
- { kEventClassControl, kEventControlBoundsChanged },
- { kEventClassControl, kEventControlActivate },
- { kEventClassControl, kEventControlDeactivate },
- { kEventClassControl, kEventControlOwningWindowChanged },
- { kEventClassControl, kEventControlClick },
- { kEventClassControl, kEventControlContextualMenuClick },
- { kEventClassControl, kEventControlSetFocusPart }
-};
-
-#define kHIViewBaseClassID CFSTR( "com.apple.hiview" )
-#define kHIWebViewClassID CFSTR( "com.apple.HIWebView" )
-
-static HIWebView* HIWebViewConstructor( HIViewRef inView );
-static void HIWebViewDestructor( HIWebView* view );
-
-static OSStatus HIWebViewEventHandler(
- EventHandlerCallRef inCallRef,
- EventRef inEvent,
- void * inUserData );
-
-static UInt32 GetBehaviors();
-static ControlKind GetKind();
-static void Draw( HIWebView* inView, RgnHandle limitRgn, CGContextRef inContext );
-static ControlPartCode HitTest( HIWebView* view, const HIPoint* where );
-static OSStatus GetRegion( HIWebView* view, ControlPartCode inPart, RgnHandle outRgn );
-static void BoundsChanged(
- HIWebView* inView,
- UInt32 inOptions,
- const HIRect* inOriginalBounds,
- const HIRect* inCurrentBounds );
-static void OwningWindowChanged(
- HIWebView* view,
- WindowRef oldWindow,
- WindowRef newWindow );
-static void ActiveStateChanged( HIWebView* view );
-
-static OSStatus Click( HIWebView* inView, EventRef inEvent );
-static OSStatus ContextMenuClick( HIWebView* inView, EventRef inEvent );
-static OSStatus MouseUp( HIWebView* inView, EventRef inEvent );
-static OSStatus MouseMoved( HIWebView* inView, EventRef inEvent );
-static OSStatus MouseDragged( HIWebView* inView, EventRef inEvent );
-static OSStatus MouseWheelMoved( HIWebView* inView, EventRef inEvent );
-
-static OSStatus ProcessCommand( HIWebView* inView, const HICommand* inCommand );
-static OSStatus UpdateCommandStatus( HIWebView* inView, const HICommand* inCommand );
-
-static OSStatus SetFocusPart(
- HIWebView* view,
- ControlPartCode desiredFocus,
- RgnHandle invalidRgn,
- Boolean focusEverything,
- ControlPartCode* actualFocus );
-static NSView* AdvanceFocus( HIWebView* view, bool forward );
-static void RelinquishFocus( HIWebView* view, bool inAutodisplay );
-
-static WindowRef GetWindowRef( HIWebView* inView );
-static void SyncFrame( HIWebView* inView );
-
-static OSStatus WindowHandler( EventHandlerCallRef inCallRef, EventRef inEvent, void* inUserData );
-
-static void StartUpdateObserver( HIWebView* view );
-static void StopUpdateObserver( HIWebView* view );
-
-static inline void HIRectToQDRect( const HIRect* inRect, Rect* outRect )
-{
- outRect->top = (SInt16)CGRectGetMinY( *inRect );
- outRect->left = (SInt16)CGRectGetMinX( *inRect );
- outRect->bottom = (SInt16)CGRectGetMaxY( *inRect );
- outRect->right = (SInt16)CGRectGetMaxX( *inRect );
-}
-
-//----------------------------------------------------------------------------------
-// HIWebViewCreate
-//----------------------------------------------------------------------------------
-//
-OSStatus
-HIWebViewCreate(HIViewRef* outControl)
-{
- HIWebViewRegisterClass();
- return HIObjectCreate(kHIWebViewClassID, NULL, (HIObjectRef*)outControl);
-}
-
-//----------------------------------------------------------------------------------
-// HIWebViewGetWebView
-//----------------------------------------------------------------------------------
-//
-WebView*
-HIWebViewGetWebView( HIViewRef inView )
-{
- HIWebView* view = (HIWebView*)HIObjectDynamicCast( (HIObjectRef)inView, kHIWebViewClassID );
- WebView* result = NULL;
-
- if ( view )
- result = view->fWebView;
-
- return result;
-}
-
-//----------------------------------------------------------------------------------
-// HIWebViewConstructor
-//----------------------------------------------------------------------------------
-//
-
-static HIWebView*
-HIWebViewConstructor( HIViewRef inView )
-{
- HIWebView* view = (HIWebView*)malloc( sizeof( HIWebView ) );
-
- if ( view )
- {
- NSRect frame = { { 0, 0 }, { 400, 400 } };
-
- view->fViewRef = inView;
-
- WebView *webView = [[WebView alloc] initWithFrame: frame];
- CFRetain(webView);
- [webView release];
- view->fWebView = webView;
- [HIViewAdapter bindHIViewToNSView:inView nsView:view->fWebView];
-
- view->fFirstResponder = NULL;
- view->fKitWindow = NULL;
- view->fIsComposited = false;
- view->fUpdateObserver = NULL;
- }
-
- return view;
-}
-
-//----------------------------------------------------------------------------------
-// HIWebViewDestructor
-//----------------------------------------------------------------------------------
-//
-static void
-HIWebViewDestructor( HIWebView* inView )
-{
- [HIViewAdapter unbindNSView:inView->fWebView];
- CFRelease(inView->fWebView);
-
- free(inView);
-}
-
-//----------------------------------------------------------------------------------
-// HIWebViewRegisterClass
-//----------------------------------------------------------------------------------
-//
-void
-HIWebViewRegisterClass()
-{
- static bool sRegistered;
-
- if ( !sRegistered )
- {
- HIObjectRegisterSubclass( kHIWebViewClassID, kHIViewBaseClassID, 0, HIWebViewEventHandler,
- GetEventTypeCount( kEvents ), kEvents, 0, NULL );
- sRegistered = true;
- }
-}
-
-//----------------------------------------------------------------------------------
-// GetBehaviors
-//----------------------------------------------------------------------------------
-//
-static UInt32
-GetBehaviors()
-{
- return kControlSupportsDataAccess | kControlSupportsGetRegion | kControlGetsFocusOnClick;
-}
-
-//----------------------------------------------------------------------------------
-// Draw
-//----------------------------------------------------------------------------------
-//
-static void
-Draw( HIWebView* inView, RgnHandle limitRgn, CGContextRef inContext )
-{
- HIRect bounds;
- Rect drawRect;
- HIRect hiRect;
- bool createdContext = false;
-
- if (!inView->fIsComposited)
- {
- GrafPtr port;
- Rect portRect;
-
- GetPort( &port );
- GetPortBounds( port, &portRect );
- CreateCGContextForPort( port, &inContext );
- SyncCGContextOriginWithPort( inContext, port );
- CGContextTranslateCTM( inContext, 0, (portRect.bottom - portRect.top) );
- CGContextScaleCTM( inContext, 1, -1 );
- createdContext = true;
- }
-
- HIViewGetBounds( inView->fViewRef, &bounds );
-
- CGContextRef savedContext = WKNSWindowOverrideCGContext(inView->fKitWindow, inContext);
- [NSGraphicsContext setCurrentContext:[inView->fKitWindow graphicsContext]];
-
- GetRegionBounds( limitRgn, &drawRect );
-
- if ( !inView->fIsComposited )
- OffsetRect( &drawRect, (SInt16)-bounds.origin.x, (SInt16)-bounds.origin.y );
-
- hiRect.origin.x = drawRect.left;
- hiRect.origin.y = bounds.size.height - drawRect.bottom; // flip y
- hiRect.size.width = drawRect.right - drawRect.left;
- hiRect.size.height = drawRect.bottom - drawRect.top;
-
-// printf( "Drawing: drawRect is (%g %g) (%g %g)\n", hiRect.origin.x, hiRect.origin.y,
-// hiRect.size.width, hiRect.size.height );
-
- // FIXME: We need to do layout before Carbon has decided what region needs drawn.
- // In Cocoa we make sure to do layout and invalidate any new regions before draw, so everything
- // can be drawn in one pass. Doing a layout here will cause new regions to be invalidated, but they
- // will not all be drawn in this pass since we already have a fixed rect we are going to display.
-
- NSView <WebDocumentView> *documentView = [[[inView->fWebView mainFrame] frameView] documentView];
- if ([documentView isKindOfClass:[WebHTMLView class]])
- [(WebHTMLView *)documentView _web_updateLayoutAndStyleIfNeededRecursive];
-
- if ( inView->fIsComposited )
- [inView->fWebView displayIfNeededInRect: *(NSRect*)&hiRect];
- else
- [inView->fWebView displayRect:*(NSRect*)&hiRect];
-
- WKNSWindowRestoreCGContext(inView->fKitWindow, savedContext);
-
- if ( !inView->fIsComposited )
- {
- HIViewRef view;
- HIViewFindByID( HIViewGetRoot( GetControlOwner( inView->fViewRef ) ), kHIViewWindowGrowBoxID, &view );
- if ( view )
- {
- HIRect frame;
-
- HIViewGetBounds( view, &frame );
- HIViewConvertRect( &frame, view, NULL );
-
- hiRect.origin.x = drawRect.left;
- hiRect.origin.y = drawRect.top;
- hiRect.size.width = drawRect.right - drawRect.left;
- hiRect.size.height = drawRect.bottom - drawRect.top;
-
- HIViewConvertRect( &hiRect, inView->fViewRef, NULL );
-
- if ( CGRectIntersectsRect( frame, hiRect ) )
- HIViewSetNeedsDisplay( view, true );
- }
- }
-
- if ( createdContext )
- {
- CGContextSynchronize( inContext );
- CGContextRelease( inContext );
- }
-}
-
-//----------------------------------------------------------------------------------
-// HitTest
-//----------------------------------------------------------------------------------
-//
-static ControlPartCode
-HitTest( HIWebView* view, const HIPoint* where )
-{
- HIRect bounds;
-
- HIViewGetBounds( view->fViewRef, &bounds );
-
- if ( CGRectContainsPoint( bounds, *where ) )
- return 1;
- else
- return kControlNoPart;
-}
-
-//----------------------------------------------------------------------------------
-// GetRegion
-//----------------------------------------------------------------------------------
-//
-static OSStatus
-GetRegion(
- HIWebView* inView,
- ControlPartCode inPart,
- RgnHandle outRgn )
-{
- OSStatus err = eventNotHandledErr;
-
- if ( inPart == -3 ) // kControlOpaqueMetaPart:
- {
- if ( [inView->fWebView isOpaque] )
- {
- HIRect bounds;
- Rect temp;
-
- HIViewGetBounds( inView->fViewRef, &bounds );
-
- temp.top = (SInt16)bounds.origin.y;
- temp.left = (SInt16)bounds.origin.x;
- temp.bottom = (SInt16)CGRectGetMaxY( bounds );
- temp.right = (SInt16)CGRectGetMaxX( bounds );
-
- RectRgn( outRgn, &temp );
- err = noErr;
- }
- }
-
- return err;
-}
-
-static WindowRef
-GetWindowRef( HIWebView* inView )
-{
- return GetControlOwner( inView->fViewRef );
-}
-
-//----------------------------------------------------------------------------------
-// Click
-//----------------------------------------------------------------------------------
-//
-static OSStatus
-Click(HIWebView* inView, EventRef inEvent)
-{
- NSEvent *kitEvent = WKCreateNSEventWithCarbonClickEvent(inEvent, GetWindowRef(inView));
-
- if (!inView->fIsComposited)
- StartUpdateObserver(inView);
-
- [inView->fKitWindow sendEvent:kitEvent];
-
- if (!inView->fIsComposited)
- StopUpdateObserver(inView);
-
- [kitEvent release];
-
- return noErr;
-}
-
-//----------------------------------------------------------------------------------
-// MouseUp
-//----------------------------------------------------------------------------------
-//
-static OSStatus
-MouseUp( HIWebView* inView, EventRef inEvent )
-{
- NSEvent* kitEvent = WKCreateNSEventWithCarbonEvent(inEvent);
-
- [inView->fKitWindow sendEvent:kitEvent];
-
- [kitEvent release];
-
- return noErr;
-}
-
-//----------------------------------------------------------------------------------
-// MouseMoved
-//----------------------------------------------------------------------------------
-//
-static OSStatus
-MouseMoved( HIWebView* inView, EventRef inEvent )
-{
- NSEvent *kitEvent = WKCreateNSEventWithCarbonMouseMoveEvent(inEvent, inView->fKitWindow);
- [inView->fKitWindow sendEvent:kitEvent];
- [kitEvent release];
-
- return noErr;
-}
-
-//----------------------------------------------------------------------------------
-// MouseDragged
-//----------------------------------------------------------------------------------
-//
-static OSStatus
-MouseDragged( HIWebView* inView, EventRef inEvent )
-{
- NSEvent* kitEvent = WKCreateNSEventWithCarbonEvent(inEvent);
-
- [inView->fKitWindow sendEvent:kitEvent];
-
- [kitEvent release];
-
- return noErr;
-}
-
-//----------------------------------------------------------------------------------
-// MouseDragged
-//----------------------------------------------------------------------------------
-//
-static OSStatus
-MouseWheelMoved( HIWebView* inView, EventRef inEvent )
-{
- NSEvent* kitEvent = WKCreateNSEventWithCarbonEvent(inEvent);
-
- [inView->fKitWindow sendEvent:kitEvent];
-
- [kitEvent release];
-
- return noErr;
-}
-
-//----------------------------------------------------------------------------------
-// ContextMenuClick
-//----------------------------------------------------------------------------------
-//
-static OSStatus
-ContextMenuClick( HIWebView* inView, EventRef inEvent )
-{
- NSView *webView = inView->fWebView;
- NSWindow *window = [webView window];
-
- // Get the point out of the event.
- HIPoint point;
- GetEventParameter(inEvent, kEventParamMouseLocation, typeHIPoint, NULL, sizeof(point), NULL, &point);
- HIViewConvertPoint(&point, inView->fViewRef, NULL);
-
- // Flip the Y coordinate, since Carbon is flipped relative to the AppKit.
- NSPoint location = NSMakePoint(point.x, [window frame].size.height - point.y);
-
- // Make up an event with the point and send it to the window.
- NSEvent *kitEvent = [NSEvent mouseEventWithType:NSRightMouseDown
- location:location
- modifierFlags:0
- timestamp:GetEventTime(inEvent)
- windowNumber:[window windowNumber]
- context:0
- eventNumber:0
- clickCount:1
- pressure:0];
- [inView->fKitWindow sendEvent:kitEvent];
- return noErr;
-}
-
-//----------------------------------------------------------------------------------
-// GetKind
-//----------------------------------------------------------------------------------
-//
-static ControlKind
-GetKind()
-{
- const ControlKind kMyKind = { 'appl', 'wbvw' };
-
- return kMyKind;
-}
-
-//----------------------------------------------------------------------------------
-// BoundsChanged
-//----------------------------------------------------------------------------------
-//
-static void
-BoundsChanged(
- HIWebView* inView,
- UInt32 inOptions,
- const HIRect* inOriginalBounds,
- const HIRect* inCurrentBounds )
-{
- if ( inView->fWebView )
- {
- SyncFrame( inView );
- }
-}
-
-//----------------------------------------------------------------------------------
-// OwningWindowChanged
-//----------------------------------------------------------------------------------
-//
-static void
-OwningWindowChanged(
- HIWebView* view,
- WindowRef oldWindow,
- WindowRef newWindow )
-{
- if ( newWindow ){
- WindowAttributes attrs;
-
- OSStatus err = GetWindowProperty(newWindow, NSAppKitPropertyCreator, NSCarbonWindowPropertyTag, sizeof(NSWindow *), NULL, &view->fKitWindow);
- if ( err != noErr )
- {
- const EventTypeSpec kWindowEvents[] = {
- { kEventClassWindow, kEventWindowClosed },
- { kEventClassMouse, kEventMouseMoved },
- { kEventClassMouse, kEventMouseUp },
- { kEventClassMouse, kEventMouseDragged },
- { kEventClassMouse, kEventMouseWheelMoved },
- { kEventClassKeyboard, kEventRawKeyDown },
- { kEventClassKeyboard, kEventRawKeyRepeat },
- { kEventClassKeyboard, kEventRawKeyUp },
- { kEventClassControl, kEventControlClick },
- };
-
- view->fKitWindow = [[CarbonWindowAdapter alloc] initWithCarbonWindowRef: newWindow takingOwnership: NO disableOrdering:NO carbon:YES];
- SetWindowProperty(newWindow, NSAppKitPropertyCreator, NSCarbonWindowPropertyTag, sizeof(NSWindow *), &view->fKitWindow);
-
- InstallWindowEventHandler( newWindow, WindowHandler, GetEventTypeCount( kWindowEvents ), kWindowEvents, newWindow, NULL );
- }
-
- [[view->fKitWindow contentView] addSubview:view->fWebView];
-
- GetWindowAttributes( newWindow, &attrs );
- view->fIsComposited = ( ( attrs & kWindowCompositingAttribute ) != 0 );
-
- SyncFrame( view );
- }
- else
- {
- // Be sure to detach the cocoa view, too.
- if ( view->fWebView )
- [view->fWebView removeFromSuperview];
-
- view->fKitWindow = NULL; // break the ties that bind
- }
-}
-
-//-------------------------------------------------------------------------------------
-// WindowHandler
-//-------------------------------------------------------------------------------------
-// Redirect mouse events to the views beneath them. This is required for WebKit to work
-// properly. We install it once per window. We also tap into window close to release
-// the NSWindow that shadows our Carbon window.
-//
-static OSStatus
-WindowHandler( EventHandlerCallRef inCallRef, EventRef inEvent, void* inUserData )
-{
- WindowRef window = (WindowRef)inUserData;
- OSStatus result = eventNotHandledErr;
-
- switch( GetEventClass( inEvent ) )
- {
- case kEventClassControl:
- {
- switch( GetEventKind( inEvent ) )
- {
- case kEventControlClick:
- {
- CarbonWindowAdapter *kitWindow;
- OSStatus err;
-
- err = GetWindowProperty( window, NSAppKitPropertyCreator, NSCarbonWindowPropertyTag, sizeof(NSWindow *), NULL, &kitWindow);
-
- // We must be outside the HIWebView, relinquish focus.
- [kitWindow relinquishFocus];
- }
- break;
- }
- }
- break;
-
- case kEventClassKeyboard:
- {
- NSWindow* kitWindow;
- OSStatus err;
- NSEvent* kitEvent;
-
- // if the first responder in the kit window is something other than the
- // window, we assume a subview of the webview is focused. we must send
- // the event to the window so that it goes through the kit's normal TSM
- // logic, and -- more importantly -- allows any delegates associated
- // with the first responder to have a chance at the event.
-
- err = GetWindowProperty( window, NSAppKitPropertyCreator, NSCarbonWindowPropertyTag, sizeof(NSWindow *), NULL, &kitWindow);
- if ( err == noErr )
- {
- NSResponder* responder = [kitWindow firstResponder];
- if ( responder != kitWindow )
- {
- kitEvent = WKCreateNSEventWithCarbonEvent(inEvent);
-
- [kitWindow sendEvent:kitEvent];
- [kitEvent release];
-
- result = noErr;
- }
- }
- }
- break;
-
- case kEventClassWindow:
- {
- NSWindow* kitWindow;
- OSStatus err;
-
- err = GetWindowProperty( window, NSAppKitPropertyCreator, NSCarbonWindowPropertyTag, sizeof(NSWindow *), NULL, &kitWindow);
- if ( err == noErr )
- {
- [kitWindow _removeWindowRef];
- [kitWindow close];
- }
-
- result = noErr;
- }
- break;
-
- case kEventClassMouse:
- switch (GetEventKind(inEvent))
- {
- case kEventMouseMoved:
- {
- Point where;
- GetEventParameter(inEvent, kEventParamMouseLocation, typeQDPoint, NULL, sizeof(Point), NULL, &where);
-
- WindowRef temp;
- FindWindow(where, &temp);
- if (temp == window)
- {
- Rect bounds;
- GetWindowBounds(window, kWindowStructureRgn, &bounds);
- where.h -= bounds.left;
- where.v -= bounds.top;
- SetEventParameter(inEvent, kEventParamWindowRef, typeWindowRef, sizeof(WindowRef), &window);
- SetEventParameter(inEvent, kEventParamWindowMouseLocation, typeQDPoint, sizeof(Point), &where);
-
- OSStatus err = noErr;
- HIViewRef view = NULL;
-
- err = HIViewGetViewForMouseEvent(HIViewGetRoot(window), inEvent, &view);
- if (err == noErr && view && HIObjectIsOfClass((HIObjectRef)view, kHIWebViewClassID))
- result = SendEventToEventTargetWithOptions(inEvent, HIObjectGetEventTarget((HIObjectRef)view), kEventTargetDontPropagate);
- }
- }
- break;
-
- case kEventMouseUp:
- case kEventMouseDragged:
- case kEventMouseWheelMoved:
- {
- OSStatus err = noErr;
- HIViewRef view = NULL;
-
- err = HIViewGetViewForMouseEvent(HIViewGetRoot(window), inEvent, &view);
- if (err == noErr && view && HIObjectIsOfClass((HIObjectRef)view, kHIWebViewClassID))
- result = SendEventToEventTargetWithOptions(inEvent, HIObjectGetEventTarget((HIObjectRef)view), kEventTargetDontPropagate);
- }
- break;
- }
- break;
- }
-
- return result;
-}
-
-
-//----------------------------------------------------------------------------------
-// SyncFrame
-//----------------------------------------------------------------------------------
-//
-static void
-SyncFrame( HIWebView* inView )
-{
- HIViewRef parent = HIViewGetSuperview( inView->fViewRef );
-
- if ( parent )
- {
- if ( inView->fIsComposited )
- {
- HIRect frame;
- HIRect parentBounds;
- NSPoint origin;
-
- HIViewGetFrame( inView->fViewRef, &frame );
- HIViewGetBounds( parent, &parentBounds );
-
- origin.x = frame.origin.x;
- origin.y = parentBounds.size.height - CGRectGetMaxY( frame );
-// printf( "syncing to (%g %g) (%g %g)\n", origin.x, origin.y,
-// frame.size.width, frame.size.height );
- [inView->fWebView setFrameOrigin: origin];
- [inView->fWebView setFrameSize: *(NSSize*)&frame.size];
- }
- else
- {
- GrafPtr port = GetWindowPort( GetControlOwner( inView->fViewRef ) );
- PixMapHandle portPix = GetPortPixMap( port );
- Rect bounds;
- HIRect rootFrame;
- HIRect frame;
-
- GetControlBounds( inView->fViewRef, &bounds );
- OffsetRect( &bounds, -(**portPix).bounds.left, -(**portPix).bounds.top );
-
-// printf( "control lives at %d %d %d %d in window-coords\n", bounds.top, bounds.left,
-// bounds.bottom, bounds.right );
-
- HIViewGetFrame( HIViewGetRoot( GetControlOwner( inView->fViewRef ) ), &rootFrame );
-
- frame.origin.x = bounds.left;
- frame.origin.y = rootFrame.size.height - bounds.bottom;
- frame.size.width = bounds.right - bounds.left;
- frame.size.height = bounds.bottom - bounds.top;
-
-// printf( " before frame convert (%g %g) (%g %g)\n", frame.origin.x, frame.origin.y,
-// frame.size.width, frame.size.height );
-
- [inView->fWebView convertRect:*(NSRect*)&frame fromView:nil];
-
-// printf( " moving web view to (%g %g) (%g %g)\n", frame.origin.x, frame.origin.y,
-// frame.size.width, frame.size.height );
-
- [inView->fWebView setFrameOrigin: *(NSPoint*)&frame.origin];
- [inView->fWebView setFrameSize: *(NSSize*)&frame.size];
- }
- }
-}
-
-//----------------------------------------------------------------------------------
-// SetFocusPart
-//----------------------------------------------------------------------------------
-//
-static OSStatus
-SetFocusPart(
- HIWebView* view,
- ControlPartCode desiredFocus,
- RgnHandle invalidRgn,
- Boolean focusEverything,
- ControlPartCode* actualFocus )
-{
- NSView * freshlyMadeFirstResponderView;
- SInt32 partCodeToReturn;
-
- // Do what Carbon is telling us to do.
- if ( desiredFocus == kControlFocusNoPart )
- {
- // Relinquish the keyboard focus.
- RelinquishFocus( view, true ); //(autodisplay ? YES : NO));
- freshlyMadeFirstResponderView = nil;
- partCodeToReturn = kControlFocusNoPart;
- //NSLog(@"Relinquished the key focus because we have no choice.");
- }
- else if ( desiredFocus == kControlFocusNextPart || desiredFocus == kControlFocusPrevPart )
- {
- BOOL goForward = (desiredFocus == kControlFocusNextPart );
-
- // Advance the keyboard focus, maybe right off of this view. Maybe a subview of this one already has the keyboard focus, maybe not.
- freshlyMadeFirstResponderView = AdvanceFocus( view, goForward );
- if (freshlyMadeFirstResponderView)
- partCodeToReturn = desiredFocus;
- else
- partCodeToReturn = kControlFocusNoPart;
- //NSLog(freshlyMadeFirstResponderView ? @"Advanced the key focus." : @"Relinquished the key focus.");
- }
- else
- {
- // What's this?
- if (desiredFocus != kControlIndicatorPart) {
- check(false);
- }
- freshlyMadeFirstResponderView = nil;
- partCodeToReturn = desiredFocus;
- }
-
- view->fFirstResponder = freshlyMadeFirstResponderView;
-
- *actualFocus = partCodeToReturn;
-
- // Done.
- return noErr;
-}
-
-//----------------------------------------------------------------------------------
-// AdvanceFocus
-//----------------------------------------------------------------------------------
-//
-static NSView*
-AdvanceFocus( HIWebView* view, bool forward )
-{
- NSResponder* oldFirstResponder;
- NSView* currentKeyView;
- NSView* viewWeMadeFirstResponder;
-
- // Focus on some part (subview) of this control (view). Maybe
- // a subview of this one already has the keyboard focus, maybe not.
-
- oldFirstResponder = [view->fKitWindow firstResponder];
-
- // If we tab out of our NSView, it will no longer be the responder
- // when we get here. We'll try this trick for now. We might need to
- // tag the view appropriately.
-
- if ( view->fFirstResponder && ( (NSResponder*)view->fFirstResponder != oldFirstResponder ) )
- {
- return NULL;
- }
-
- if ( [oldFirstResponder isKindOfClass:[NSView class]] )
- {
- NSView* tentativeNewKeyView;
-
- // Some view in this window already has the keyboard focus. It better at least be a subview of this one.
- NSView* oldFirstResponderView = (NSView *)oldFirstResponder;
- check( [oldFirstResponderView isDescendantOf:view->fWebView] );
-
- if ( oldFirstResponderView != view->fFirstResponder
- && ![oldFirstResponderView isDescendantOf:view->fFirstResponder] )
- {
- // Despite our efforts to record what view we made the first responder
- // (for use in the next paragraph) we couldn't keep up because the user
- // has clicked in a text field to make it the key focus, instead of using
- // the tab key. Find a control on which it's reasonable to invoke
- // -[NSView nextValidKeyView], taking into account the fact that
- // NSTextFields always pass on first-respondership to a temporarily-
- // contained NSTextView.
-
- NSView *viewBeingTested;
- currentKeyView = oldFirstResponderView;
- viewBeingTested = currentKeyView;
- while ( viewBeingTested != view->fWebView )
- {
- if ( [viewBeingTested isKindOfClass:[NSTextField class]] )
- {
- currentKeyView = viewBeingTested;
- break;
- }
- else
- {
- viewBeingTested = [viewBeingTested superview];
- }
- }
- }
- else
- {
- // We recorded which view we made into the first responder the
- // last time the user hit the tab key, and nothing has invalidated
- // our recorded value since.
-
- currentKeyView = view->fFirstResponder;
- }
-
- // Try to move on to the next or previous key view. We use the laboriously
- // recorded/figured currentKeyView instead of just oldFirstResponder as the
- // jumping-off-point when searching for the next valid key view. This is so
- // we don't get fooled if we recently made some view the first responder, but
- // it passed on first-responder-ness to some temporary subview.
-
- // You can't put normal views in a window with Carbon-control-wrapped views.
- // Stuff like this would break. M.P. Notice - 12/2/00
-
- tentativeNewKeyView = forward ? [currentKeyView nextValidKeyView] : [currentKeyView previousValidKeyView];
- if ( tentativeNewKeyView && [tentativeNewKeyView isDescendantOf:view->fWebView] )
- {
- // The user has tabbed to another subview of this control view. Change the keyboard focus.
- //NSLog(@"Tabbed to the next or previous key view.");
-
- [view->fKitWindow makeFirstResponder:tentativeNewKeyView];
- viewWeMadeFirstResponder = tentativeNewKeyView;
- }
- else
- {
- // The user has tabbed past the subviews of this control view. The window is the first responder now.
- //NSLog(@"Tabbed past the first or last key view.");
- [view->fKitWindow makeFirstResponder:view->fKitWindow];
- viewWeMadeFirstResponder = nil;
- }
- }
- else
- {
- // No view in this window has the keyboard focus. This view should
- // try to select one of its key subviews. We're not interested in
- // the subviews of sibling views here.
-
- //NSLog(@"No keyboard focus in window. Attempting to set...");
-
- NSView *tentativeNewKeyView;
- check(oldFirstResponder==fKitWindow);
- if ( [view->fWebView acceptsFirstResponder] )
- tentativeNewKeyView = view->fWebView;
- else
- tentativeNewKeyView = [view->fWebView nextValidKeyView];
- if ( tentativeNewKeyView && [tentativeNewKeyView isDescendantOf:view->fWebView] )
- {
- // This control view has at least one subview that can take the keyboard focus.
- if ( !forward )
- {
- // The user has tabbed into this control view backwards. Find
- // and select the last subview of this one that can take the
- // keyboard focus. Watch out for loops of valid key views.
-
- NSView *firstTentativeNewKeyView = tentativeNewKeyView;
- NSView *nextTentativeNewKeyView = [tentativeNewKeyView nextValidKeyView];
- while ( nextTentativeNewKeyView
- && [nextTentativeNewKeyView isDescendantOf:view->fWebView]
- && nextTentativeNewKeyView!=firstTentativeNewKeyView)
- {
- tentativeNewKeyView = nextTentativeNewKeyView;
- nextTentativeNewKeyView = [tentativeNewKeyView nextValidKeyView];
- }
-
- }
-
- // Set the keyboard focus.
- //NSLog(@"Tabbed into the first or last key view.");
- [view->fKitWindow makeFirstResponder:tentativeNewKeyView];
- viewWeMadeFirstResponder = tentativeNewKeyView;
- }
- else
- {
- // This control view has no subviews that can take the keyboard focus.
- //NSLog(@"Can't tab into this view.");
- viewWeMadeFirstResponder = nil;
- }
- }
-
- // Done.
- return viewWeMadeFirstResponder;
-}
-
-
-//----------------------------------------------------------------------------------
-// RelinquishFocus
-//----------------------------------------------------------------------------------
-//
-static void
-RelinquishFocus( HIWebView* view, bool inAutodisplay )
-{
- NSResponder* firstResponder;
-
- // Apparently Carbon thinks that some subview of this control view has the keyboard focus,
- // or we wouldn't be being asked to relinquish focus.
-
- firstResponder = [view->fKitWindow firstResponder];
- if ( [firstResponder isKindOfClass:[NSView class]] )
- {
- // Some subview of this control view really is the first responder right now.
- check( [(NSView *)firstResponder isDescendantOf:view->fWebView] );
-
- // Make the window the first responder, so that no view is the key view.
- [view->fKitWindow makeFirstResponder:view->fKitWindow];
-
- // If this control is not allowed to do autodisplay, don't let
- // it autodisplay any just-changed focus rings or text on the
- // next go around the event loop. I'm probably clearing more
- // dirty rects than I have to, but it doesn't seem to hurt in
- // the print panel accessory view case, and I don't have time
- // to figure out exactly what -[NSCell _setKeyboardFocusRingNeedsDisplay]
- // is doing when invoked indirectly from -makeFirstResponder up above. M.P. Notice - 12/4/00
-
- if ( !inAutodisplay )
- [[view->fWebView opaqueAncestor] _clearDirtyRectsForTree];
- }
- else
- {
- // The Cocoa first responder does not correspond to the Carbon
- // control that has the keyboard focus. This can happen when
- // you've closed a dialog by hitting return in an NSTextView
- // that's a subview of this one; Cocoa closed the window, and
- // now Carbon is telling this control to relinquish the focus
- // as it's being disposed. There's nothing to do.
-
- check(firstResponder==window);
- }
-}
-
-//----------------------------------------------------------------------------------
-// ActiveStateChanged
-//----------------------------------------------------------------------------------
-//
-static void
-ActiveStateChanged( HIWebView* view )
-{
- if ( [view->fWebView respondsToSelector:@selector(setEnabled)] )
- {
- [(NSControl*)view->fWebView setEnabled: IsControlEnabled( view->fViewRef )];
- HIViewSetNeedsDisplay( view->fViewRef, true );
- }
-}
-
-
-//----------------------------------------------------------------------------------
-// ProcessCommand
-//----------------------------------------------------------------------------------
-//
-static OSStatus
-ProcessCommand( HIWebView* inView, const HICommand* inCommand )
-{
- OSStatus result = eventNotHandledErr;
- NSResponder* resp;
-
- resp = [inView->fKitWindow firstResponder];
-
- if ( [resp isKindOfClass:[NSView class]] )
- {
- NSView* respView = (NSView*)resp;
-
- if ( respView == inView->fWebView
- || [respView isDescendantOf: inView->fWebView] )
- {
- switch ( inCommand->commandID )
- {
- case kHICommandCut:
- case kHICommandCopy:
- case kHICommandPaste:
- case kHICommandClear:
- case kHICommandSelectAll:
- {
- SEL selector = _NSSelectorForHICommand( inCommand );
- if ( [respView respondsToSelector:selector] )
- {
- [respView performSelector:selector withObject:nil];
- result = noErr;
- }
- }
- break;
- }
- }
- }
-
- return result;
-}
-
-//----------------------------------------------------------------------------------
-// UpdateCommandStatus
-//----------------------------------------------------------------------------------
-//
-static OSStatus
-UpdateCommandStatus( HIWebView* inView, const HICommand* inCommand )
-{
- OSStatus result = eventNotHandledErr;
- MenuItemProxy* proxy = NULL;
- NSResponder* resp;
-
- resp = [inView->fKitWindow firstResponder];
-
- if ( [resp isKindOfClass:[NSView class]] )
- {
- NSView* respView = (NSView*)resp;
-
- if ( respView == inView->fWebView
- || [respView isDescendantOf: inView->fWebView] )
- {
- if ( inCommand->attributes & kHICommandFromMenu )
- {
- SEL selector = _NSSelectorForHICommand( inCommand );
-
- if ( selector )
- {
- if ( [resp respondsToSelector: selector] )
- {
- proxy = [[MenuItemProxy alloc] initWithAction: selector];
-
- // Can't use -performSelector:withObject: here because the method we're calling returns BOOL, while
- // -performSelector:withObject:'s return value is assumed to be an id.
- if (wtfObjcMsgSend<BOOL>(resp, @selector(validateUserInterfaceItem:), proxy))
- EnableMenuItem( inCommand->menu.menuRef, inCommand->menu.menuItemIndex );
- else
- DisableMenuItem( inCommand->menu.menuRef, inCommand->menu.menuItemIndex );
-
- result = noErr;
- }
- }
- }
- }
- }
-
- if ( proxy )
- [proxy release];
-
- return result;
-}
-
-// Blatantly stolen from AppKit and cropped a bit
-
-//----------------------------------------------------------------------------------
-// _NSSelectorForHICommand
-//----------------------------------------------------------------------------------
-//
-static SEL
-_NSSelectorForHICommand( const HICommand* inCommand )
-{
- switch ( inCommand->commandID )
- {
- case kHICommandUndo: return @selector(undo:);
- case kHICommandRedo: return @selector(redo:);
- case kHICommandCut : return @selector(cut:);
- case kHICommandCopy : return @selector(copy:);
- case kHICommandPaste: return @selector(paste:);
- case kHICommandClear: return @selector(delete:);
- case kHICommandSelectAll: return @selector(selectAll:);
- default: return NULL;
- }
-
- return NULL;
-}
-
-
-//-----------------------------------------------------------------------------------
-// HIWebViewEventHandler
-//-----------------------------------------------------------------------------------
-// Our object's virtual event handler method. I'm not sure if we need this these days.
-// We used to do various things with it, but those days are long gone...
-//
-static OSStatus
-HIWebViewEventHandler(
- EventHandlerCallRef inCallRef,
- EventRef inEvent,
- void * inUserData )
-{
- OSStatus result = eventNotHandledErr;
- HIPoint where;
- OSType tag;
- void * ptr;
- Size size;
- UInt32 features;
- RgnHandle region = NULL;
- ControlPartCode part;
- HIWebView* view = (HIWebView*)inUserData;
-
- // [NSApp setWindowsNeedUpdate:YES] must be called before events so that ActivateTSMDocument is called to set an active document.
- // Without an active document, TSM will use a default document which uses a bottom-line input window which we don't want.
- [NSApp setWindowsNeedUpdate:YES];
-
- switch ( GetEventClass( inEvent ) )
- {
- case kEventClassHIObject:
- switch ( GetEventKind( inEvent ) )
- {
- case kEventHIObjectConstruct:
- {
- HIObjectRef object;
-
- result = GetEventParameter( inEvent, kEventParamHIObjectInstance,
- typeHIObjectRef, NULL, sizeof( HIObjectRef ), NULL, &object );
- require_noerr( result, MissingParameter );
-
- // on entry for our construct event, we're passed the
- // creation proc we registered with for this class.
- // we use it now to create the instance, and then we
- // replace the instance parameter data with said instance
- // as type void.
-
- view = HIWebViewConstructor( (HIViewRef)object );
-
- if ( view )
- {
- SetEventParameter( inEvent, kEventParamHIObjectInstance,
- typeVoidPtr, sizeof( void * ), &view );
- }
- }
- break;
-
- case kEventHIObjectDestruct:
- HIWebViewDestructor( view );
- // result is unimportant
- break;
- }
- break;
-
- case kEventClassKeyboard:
- {
- NSEvent* kitEvent = WKCreateNSEventWithCarbonEvent(inEvent);
- [view->fKitWindow sendSuperEvent:kitEvent];
- [kitEvent release];
- result = noErr;
- }
- break;
-
- case kEventClassMouse:
- switch ( GetEventKind( inEvent ) )
- {
- case kEventMouseUp:
- result = MouseUp( view, inEvent );
- break;
-
- case kEventMouseWheelMoved:
- result = MouseWheelMoved( view, inEvent );
- break;
-
- case kEventMouseMoved:
- result = MouseMoved( view, inEvent );
- break;
-
- case kEventMouseDragged:
- result = MouseDragged( view, inEvent );
- break;
- }
- break;
-
- case kEventClassCommand:
- {
- HICommand command;
-
- result = GetEventParameter( inEvent, kEventParamDirectObject, typeHICommand, NULL,
- sizeof( HICommand ), NULL, &command );
- require_noerr( result, MissingParameter );
-
- switch ( GetEventKind( inEvent ) )
- {
- case kEventCommandProcess:
- result = ProcessCommand( view, &command );
- break;
-
- case kEventCommandUpdateStatus:
- result = UpdateCommandStatus( view, &command );
- break;
- }
- }
- break;
-
- case kEventClassControl:
- switch ( GetEventKind( inEvent ) )
- {
- case kEventControlInitialize:
- features = GetBehaviors();
- SetEventParameter( inEvent, kEventParamControlFeatures, typeUInt32,
- sizeof( UInt32 ), &features );
- result = noErr;
- break;
-
- case kEventControlDraw:
- {
- CGContextRef context = NULL;
-
- GetEventParameter( inEvent, kEventParamRgnHandle, typeQDRgnHandle, NULL,
- sizeof( RgnHandle ), NULL, &region );
- GetEventParameter( inEvent, kEventParamCGContextRef, typeCGContextRef, NULL,
- sizeof( CGContextRef ), NULL, &context );
-
- Draw( view, region, context );
-
- result = noErr;
- }
- break;
-
- case kEventControlHitTest:
- GetEventParameter( inEvent, kEventParamMouseLocation, typeHIPoint, NULL,
- sizeof( HIPoint ), NULL, &where );
- part = HitTest( view, &where );
- SetEventParameter( inEvent, kEventParamControlPart, typeControlPartCode, sizeof( ControlPartCode ), &part );
- result = noErr;
- break;
-
- case kEventControlGetPartRegion:
- GetEventParameter( inEvent, kEventParamControlPart, typeControlPartCode, NULL,
- sizeof( ControlPartCode ), NULL, &part );
- GetEventParameter( inEvent, kEventParamControlRegion, typeQDRgnHandle, NULL,
- sizeof( RgnHandle ), NULL, &region );
- result = GetRegion( view, part, region );
- break;
-
- case kEventControlGetData:
- GetEventParameter(inEvent, kEventParamControlPart, typeControlPartCode, NULL, sizeof(ControlPartCode), NULL, &part);
- GetEventParameter(inEvent, kEventParamControlDataTag, typeEnumeration, NULL, sizeof(OSType), NULL, &tag);
- GetEventParameter(inEvent, kEventParamControlDataBuffer, typePtr, NULL, sizeof(Ptr), NULL, &ptr);
- GetEventParameter(inEvent, kEventParamControlDataBufferSize, typeByteCount, NULL, sizeof(Size), NULL, &size);
-
- if (tag == kControlKindTag) {
- Size outSize;
- result = noErr;
-
- if (ptr) {
- if (size != sizeof(ControlKind))
- result = errDataSizeMismatch;
- else
- (*(ControlKind *)ptr) = GetKind();
- }
-
- outSize = sizeof(ControlKind);
- SetEventParameter(inEvent, kEventParamControlDataBufferSize, typeByteCount, sizeof(Size), &outSize);
- }
-
- break;
-
- case kEventControlBoundsChanged:
- {
- HIRect prevRect, currRect;
- UInt32 attrs;
-
- GetEventParameter( inEvent, kEventParamAttributes, typeUInt32, NULL,
- sizeof( UInt32 ), NULL, &attrs );
- GetEventParameter( inEvent, kEventParamOriginalBounds, typeHIRect, NULL,
- sizeof( HIRect ), NULL, &prevRect );
- GetEventParameter( inEvent, kEventParamCurrentBounds, typeHIRect, NULL,
- sizeof( HIRect ), NULL, &currRect );
-
- BoundsChanged( view, attrs, &prevRect, &currRect );
- result = noErr;
- }
- break;
-
- case kEventControlActivate:
- ActiveStateChanged( view );
- result = noErr;
- break;
-
- case kEventControlDeactivate:
- ActiveStateChanged( view );
- result = noErr;
- break;
-
- case kEventControlOwningWindowChanged:
- {
- WindowRef fromWindow, toWindow;
-
- result = GetEventParameter( inEvent, kEventParamControlOriginalOwningWindow, typeWindowRef, NULL,
- sizeof( WindowRef ), NULL, &fromWindow );
- require_noerr( result, MissingParameter );
-
- result = GetEventParameter( inEvent, kEventParamControlCurrentOwningWindow, typeWindowRef, NULL,
- sizeof( WindowRef ), NULL, &toWindow );
- require_noerr( result, MissingParameter );
-
- OwningWindowChanged( view, fromWindow, toWindow );
-
- result = noErr;
- }
- break;
-
- case kEventControlClick:
- result = Click( view, inEvent );
- break;
-
- case kEventControlContextualMenuClick:
- result = ContextMenuClick( view, inEvent );
- break;
-
- case kEventControlSetFocusPart:
- {
- ControlPartCode desiredFocus;
- RgnHandle invalidRgn;
- Boolean focusEverything;
- ControlPartCode actualFocus;
-
- result = GetEventParameter( inEvent, kEventParamControlPart, typeControlPartCode, NULL,
- sizeof( ControlPartCode ), NULL, &desiredFocus );
- require_noerr( result, MissingParameter );
-
- GetEventParameter( inEvent, kEventParamControlInvalRgn, typeQDRgnHandle, NULL,
- sizeof( RgnHandle ), NULL, &invalidRgn );
-
- focusEverything = false; // a good default in case the parameter doesn't exist
-
- GetEventParameter( inEvent, kEventParamControlFocusEverything, typeBoolean, NULL,
- sizeof( Boolean ), NULL, &focusEverything );
-
- result = SetFocusPart( view, desiredFocus, invalidRgn, focusEverything, &actualFocus );
-
- if ( result == noErr )
- verify_noerr( SetEventParameter( inEvent, kEventParamControlPart, typeControlPartCode,
- sizeof( ControlPartCode ), &actualFocus ) );
- }
- break;
-
- // some other kind of Control event
- default:
- break;
- }
- break;
-
- // some other event class
- default:
- break;
- }
-
-MissingParameter:
- return result;
-}
-
-
-static void UpdateObserver(CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info);
-
-static void
-StartUpdateObserver( HIWebView* view )
-{
- CFRunLoopObserverContext context;
- CFRunLoopObserverRef observer;
- CFRunLoopRef mainRunLoop;
-
- check( view->fIsComposited == false );
- check( view->fUpdateObserver == NULL );
-
- context.version = 0;
- context.info = view;
- context.retain = NULL;
- context.release = NULL;
- context.copyDescription = NULL;
-
- mainRunLoop = (CFRunLoopRef)GetCFRunLoopFromEventLoop( GetMainEventLoop() );
- observer = CFRunLoopObserverCreate( NULL, kCFRunLoopEntry | kCFRunLoopBeforeWaiting, true, 0, UpdateObserver, &context );
- CFRunLoopAddObserver( mainRunLoop, observer, kCFRunLoopCommonModes );
-
- view->fUpdateObserver = observer;
-
-// printf( "Update observer started\n" );
-}
-
-static void
-StopUpdateObserver( HIWebView* view )
-{
- check( view->fIsComposited == false );
- check( view->fUpdateObserver != NULL );
-
- CFRunLoopObserverInvalidate( view->fUpdateObserver );
- CFRelease( view->fUpdateObserver );
- view->fUpdateObserver = NULL;
-
-// printf( "Update observer removed\n" );
-}
-
-static void
-UpdateObserver( CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info )
-{
- HIWebView* view = (HIWebView*)info;
- RgnHandle region = NewRgn();
-
-// printf( "Update observer called\n" );
-
- if ( region )
- {
- GetWindowRegion( GetControlOwner( view->fViewRef ), kWindowUpdateRgn, region );
-
- if ( !EmptyRgn( region ) )
- {
- RgnHandle ourRgn = NewRgn();
- Rect rect;
-
- GetWindowBounds( GetControlOwner( view->fViewRef ), kWindowStructureRgn, &rect );
-
-// printf( "Update region is non-empty\n" );
-
- if ( ourRgn )
- {
- Rect rect;
- GrafPtr savePort, port;
- Point offset = { 0, 0 };
-
- port = GetWindowPort( GetControlOwner( view->fViewRef ) );
-
- GetPort( &savePort );
- SetPort( port );
-
- GlobalToLocal( &offset );
- OffsetRgn( region, offset.h, offset.v );
-
- GetControlBounds( view->fViewRef, &rect );
- RectRgn( ourRgn, &rect );
-
-// printf( "our control is at %d %d %d %d\n",
-// rect.top, rect.left, rect.bottom, rect.right );
-
- GetRegionBounds( region, &rect );
-// printf( "region is at %d %d %d %d\n",
-// rect.top, rect.left, rect.bottom, rect.right );
-
- SectRgn( ourRgn, region, ourRgn );
-
- GetRegionBounds( ourRgn, &rect );
-// printf( "intersection is %d %d %d %d\n",
-// rect.top, rect.left, rect.bottom, rect.right );
- if ( !EmptyRgn( ourRgn ) )
- {
- RgnHandle saveVis = NewRgn();
-
-// printf( "looks like we should draw\n" );
-
- if ( saveVis )
- {
-// RGBColor kRedColor = { 0xffff, 0, 0 };
-
- GetPortVisibleRegion( GetWindowPort( GetControlOwner( view->fViewRef ) ), saveVis );
- SetPortVisibleRegion( GetWindowPort( GetControlOwner( view->fViewRef ) ), ourRgn );
-
-// RGBForeColor( &kRedColor );
-// PaintRgn( ourRgn );
-// QDFlushPortBuffer( port, NULL );
-// Delay( 15, NULL );
-
- Draw1Control( view->fViewRef );
- ValidWindowRgn( GetControlOwner( view->fViewRef ), ourRgn );
-
- SetPortVisibleRegion( GetWindowPort( GetControlOwner( view->fViewRef ) ), saveVis );
- DisposeRgn( saveVis );
- }
- }
-
- SetPort( savePort );
-
- DisposeRgn( ourRgn );
- }
- }
-
- DisposeRgn( region );
- }
-}
-
-#endif
diff --git a/Source/WebKit/mac/ChangeLog-2002-12-03 b/Source/WebKit/mac/ChangeLog-2002-12-03
deleted file mode 100644
index 9a381f61e..000000000
--- a/Source/WebKit/mac/ChangeLog-2002-12-03
+++ /dev/null
@@ -1,18984 +0,0 @@
-2002-12-03 Trey Matteson <trey@apple.com>
-
- Re-fix of 3113393 - Clients side redirects shouldn't always add item to back/forward list
- Fix 3116980 - REGRESSION: Back button goes back twice
- Fix 3099631 - assertion failure at http://www.calendarlive.com/ when pop-up blocking is off
-
- The earlier fix for the first bug was to consider any redirect happening within one
- second as a continuation of the previous load. To fix the regressions I re-cast that
- fix using a similar, pre-existing mechanism.
-
- Reviewed by: Richwill
-
- * WebView.subproj/WebFramePrivate.h: Nuke shortRedirectComing, rename
- instantRedirectComing to quickRedirectComing.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _createOrUpdateItem]): Remove code related to shortRedirectComing,
- the fix that brought the regressions.
- (-[WebFrame _setState:]): Don't cache the page we're leaving if we're doing
- a redirect (since we don't want the redirecting page in the cache).
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Above rename.
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Above rename.
- (-[WebFrame _loadURL:intoChild:]): Comment fix.
- (-[WebFrame _clientRedirectedTo:delay:fireDate:]): Use 1 second instead of 0
- seconds as the metric of a client redirect. Do not consider whether the frame
- state is completed as part of the decision.
- (-[WebFrame _clientRedirectCancelled]): Above rename.
-
-2002-12-03 John Sullivan <sullivan@apple.com>
-
- Reviewed by: Darin
-
- - REALLY changed the default state for block pop-ups to be off.
-
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences load]):
- change default for letting JavaScript open windows automatically
- to YES
-
-2002-12-03 Darin Adler <darin@apple.com>
-
- - fixed 3117135 -- world leak: drag any image, get a leak of 1 WebFrame
-
- Reviewed by John.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]): Retain the URL of the dragged image, not the entire
- element dictionary. The element dictionary creates a reference cycle since it includes
- a reference to the WebFrame.
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Use the URL rather than
- extracting it from the dictionary with a WebElementImageURLKey.
-
- * WebView.subproj/WebHTMLViewPrivate.h: URL, not element dictionary.
- * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLViewPrivate dealloc]): Release the
- URL, not the element dictionary.
-
-2002-12-03 Richard Williamson <rjw@apple.com>
-
- Added a preference to change the page cache size, i.e.:
- Alexander.app/Contents/MacOS/Alexander -WebKitPageCacheSizePreferenceKey 4
-
- Reviewed by: hyatt
-
- * History.subproj/WebBackForwardList.m:
- (+[WebBackForwardList setPageCacheSize:]):
- (+[WebBackForwardList pageCacheSize]):
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences load]):
- (-[WebPreferences _initialTimedLayoutSize]):
- (-[WebPreferences _pageCacheSize]):
- * WebView.subproj/WebPreferencesPrivate.h:
-
-2002-12-03 Richard Williamson <rjw@apple.com>
-
- Fixed 3019986. Use an array of font families instead of a single
- font family to support CSS family lists.
- r=hyatt
-
- * Misc.subproj/WebKitNSStringExtras.m:
- (-[NSString _web_widthForString:font:]):
- * Misc.subproj/WebStringTruncator.m:
- (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
- (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer substituteFontForString:families:]):
- (-[WebTextRenderer substituteFontForCharacters:length:families:]):
- (-[WebTextRenderer widthForCharacters:length:]):
- (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:fontFamilies:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:fontFamilies:]):
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
- * WebCoreSupport.subproj/WebTextRendererFactory.h:
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
- (-[WebTextRendererFactory fontWithFamily:traits:size:]):
- (+[WebTextRendererFactory fallbackFontWithTraits:size:]):
- (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
- (-[WebTextRendererFactory cachedFontFromFamilies:traits:size:]):
- (-[WebTextRendererFactory rendererWithFamilies:traits:size:]):
-
-2002-12-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3115073 - REGRESSION: plants.com is crashing in WebIconDB with bad retain count
-
- The plants.com favicon was marked to be removed from disk and thus it had no retain count. The problem was that it was still on disk and _hasIconForIconURL would return YES. If hasIconForIconURL returns YES, its is ok to call _setIconURL:forSiteURL:. Since there was no retain count, the assert in _setIconURL:forSiteURL: would be hit.
-
- We now consider icons without retain counts to not exist even if they're on disk.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _updateFileDatabase]):
- (-[WebIconDatabase _setIconURL:forSiteURL:]):
-
-2002-12-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- 3112477 - REGRESSION: dropping image within window loads image in current window
- Fix: Unregister the parent webview for dragging when the drag starts, reregister after the drag ends.
-
- 3116423 - Dragged images sometimes have the wrong promised-file file type
- Fix: Make the - [NSView_web_dragPromisedImage...] method take a file type rather than deriving the file type from the URL
-
- 3115768 - REGRESSION: contextual menu item "copy url to clipboard" doesn't work
- Fix: In [NSPastboard _web_writeURL:andTitle:withOwner:] adding pboard types doesn't work for the general pasteboard, have to redeclare.
-
- 3116594 - Image on the drag pasteboard shouldn't have applied transparency and scaling
- Fix: In - [NSView_web_dragPromisedImage...] put the original image on the pboard
-
- Reviewed by John.
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): don't use addTypes as it doesn't work as I expected
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragPromisedImage:origin:URL:fileType:title:event:]): put the original image on the pboard, not the drag image
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
- (-[WebHTMLView mouseDragged:]): call _web_dragPromisedImage
- (-[WebHTMLView draggedImage:endedAt:operation:]): call -[WebView _reregisterDraggedTypes]
- * WebView.subproj/WebImageView.m:
- (-[WebImageView mouseDragged:]): call _web_dragPromisedImage
- (-[WebImageView draggedImage:endedAt:operation:]): call -[WebView _reregisterDraggedTypes]
- * WebView.subproj/WebView.m:
- (-[WebView initWithFrame:]): call _reregisterDraggedTypes
- (-[WebView draggingEntered:]): simplified, don't need to check drag source
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _reregisterDraggedTypes]):
-
-2002-12-03 Darin Adler <darin@apple.com>
-
- - fixed 3114796 -- WORLD LEAKS: 1 WebFrame leaked on trivial source file with <html> tag only
- (probably fixed a ton of other bugs too, since this always leaks)
-
- Reviewed by Chris.
-
- * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):
- Added a missing autorelease.
-
-2002-12-03 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebView.m: Fixed a pair of strings that conflict.
- * English.lproj/Localizable.strings: Regenerated.
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2002-12-02 Trey Matteson <trey@apple.com>
-
- Refined bookmark notifications to be more detailed. We now have added, removed,
- willChange and didChange.
-
- * Bookmarks.subproj/WebBookmarkGroup.h: New API.
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup _sendNotification:forBookmark:children:]):
- (-[WebBookmarkGroup _setTopBookmark:]):
- (-[WebBookmarkGroup _bookmarkWillChange:]):
- (-[WebBookmarkGroup _bookmarkDidChange:]):
- (-[WebBookmarkGroup _bookmarkChildren:wereAddedToParent:]):
- (-[WebBookmarkGroup _bookmarkChildren:wereRemovedToParent:]):
- All just small pieces of flow control for posting the notes.
- * Bookmarks.subproj/WebBookmarkGroupPrivate.h: Internal methods for posting the notes.
- * Bookmarks.subproj/WebBookmarkLeaf.m:
- (-[WebBookmarkLeaf setTitle:]): Post da note
- (-[WebBookmarkLeaf setURLString:]): Post da note
- (-[WebBookmarkLeaf description]): Added for debugging.
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList setTitle:]): Post da note
- (-[WebBookmarkList removeChild:]): Post da note
- (-[WebBookmarkList insertChild:atIndex:]): Post da note
- * Bookmarks.subproj/WebBookmarkProxy.m:
- (-[WebBookmarkProxy setTitle:]): Post da note
- * English.lproj/StringsNotToBeLocalized.txt: New strings.
- * WebKit.exp: New strings.
-
-2002-12-02 Maciej Stachowiak <mjs@apple.com>
-
- - added original URL field to action dictionary so that policy delegates
- can avoid prompting over and over on redirects.
-
- * WebKit.exp:
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebControllerPolicyDelegate.m:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithRequest:]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadRequest:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
- (-[WebFrame _addExtraFieldsToRequest:]):
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
- (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):
-
-2002-11-28 Darin Adler <darin@apple.com>
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler createFileIfNecessary]): Add a FIXME.
- (-[WebDownloadHandler writeDataForkData:resourceForkData:]): Notify that the file system has
- changed so the Finder can respond to the size change.
- (-[WebDownloadHandler finishedLoading]): Notify that the file system has changed now that the
- download has completed and the files are closed (may be redundant now that we have the above,
- but will do no harm).
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- Use _web_isCaseInsensitiveEqualToString instead of lowercaseString.
-
- * Misc.subproj/WebNSViewExtras.m: Tweak formatting.
-
-2002-11-27 Richard Williamson <rjw@apple.com>
-
- Fixed 3113393. Client side redirects that happen <= 1 second
- update the current back/forward item, rather than creating
- a new one.
-
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _addBackForwardItemClippedAtTarget:]):
- (-[WebFrame _createOrUpdateItem]):
- (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _clientRedirectedTo:delay:fireDate:]):
- (-[WebFrame _clientRedirectCancelled]):
-
-2002-11-27 Richard Williamson <rjw@apple.com>
-
- Fixed measurement error for Ahem font (and any font that
- has a tiny fractional value). 3112745, 3112742
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:]):
-
-2002-11-26 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3090834 - Launch WMP (Window Media Player) when encountering WMP content
-
- Added contentURL to WebPluginError.
-
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage initWithPath:]):
- * Plugins.subproj/WebNullPluginView.m:
- (-[WebNullPluginView viewDidMoveToWindow]):
- * Plugins.subproj/WebPluginError.h:
- * Plugins.subproj/WebPluginError.m:
- (-[WebPluginErrorPrivate dealloc]):
- (-[WebPluginError dealloc]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
- (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
-
-=== Alexander-34 ===
-
-2002-11-26 Richard Williamson <rjw@apple.com>
-
- Only cache page if the load has completed.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _setState:]):
-
-2002-11-26 Chris Blumenberg <cblu@apple.com>
-
- Removed some logging.
-
- * WebView.subproj/WebControllerPrivate.m:
- (+[WebController _supportedImageMIMETypes]):
-
-2002-11-26 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3112003 - Show standalone tiffs using AppKit not QT plug-in
-
- We now dynamically check NSImage for supported image types when registering WebImageView's and WebImageRepresentation's supported MIME types.
-
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (+[WebController _supportedImageMIMETypes]): convert NSImage types to mime types
- * WebView.subproj/WebDataSourcePrivate.m:
- (+[WebDataSource _repTypes]): use _supportedImageMIMETypes to register mime types of WebImageRepresentation
- * WebView.subproj/WebViewPrivate.m:
- (+[WebView _viewTypes]): use _supportedImageMIMETypes to register mime types of WebImageView
-
-2002-11-26 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3061174 - javascript: URLs sent by plugins don't work
-
- For "Javascript:" URLs.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): lowercase the scheme
-
-2002-11-26 Richard Williamson <rjw@apple.com>
-
- More work on back/forward cache. It's ready for
- more general testing. Although, to be safe I've
- left it disabled by default for tomorrow's release.
- It will log when a page is save and restored from
- the page cache.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge saveDocumentToPageCache:]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource _commitIfReady:]):
- (-[WebDataSource _loadIcon]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _setState:]):
- (-[WebFrame _loadItem:fromItem:withLoadType:]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
- (-[WebFrame _setProvisionalDataSource:]):
-
-2002-11-25 Richard Williamson <rjw@apple.com>
-
- Cleanup leaking objects in page cache.
- Cleaned up API a bit.
-
- * History.subproj/WebBackForwardList.h:
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList dealloc]):
- (+[WebBackForwardList setUsesPageCache:]):
- (+[WebBackForwardList usesPageCache]):
- (+[WebBackForwardList setPageCacheSize:]):
- (+[WebBackForwardList pageCacheSize]):
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem setHasPageCache:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge saveDocumentToPageCache:]):
- * WebKit.exp:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _canCachePage]):
- (-[WebFrame _purgePageCache]):
- (-[WebFrame _setState:]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
-
-2002-11-25 Richard Williamson <rjw@apple.com>
-
- Changed ordering of cachability check.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _setState:]):
-
-2002-11-25 Richard Williamson <rjw@apple.com>
-
- Changes fro back/forward cache.
-
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (+[WebHistoryItem setUsePageCache:]):
- (+[WebHistoryItem usePageCache]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge saveDocumentToPageCache:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _detachFromParent]):
- (-[WebFrame _canCachePage]):
- (-[WebFrame _setState:]):
-
-2002-11-25 Chris Blumenberg <cblu@apple.com>
-
- Fixed 2 drag-related crashes. Oops.
-
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragPromisedImage:fromOrigin:withURL:title:event:]): put nil at the end of the array list.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]): retain self before drag
-
-2002-11-25 Chris Blumenberg <cblu@apple.com>
-
- - Allow missing icons to be restored when going to the page of the missing icon.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _setIconURL:forSiteURL:]):
-
-2002-11-25 Richard Williamson <rjw@apple.com>
-
- Changes for back/forward. Currently disabled.
-
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem dealloc]):
- (-[WebHistoryItem setPageCacheEnabled:]):
- (-[WebHistoryItem pageCache]):
- * Misc.subproj/WebKitLogging.h:
- * Misc.subproj/WebKitLogging.m:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge saveDocumentToPageCache:]):
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource startLoading]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _commitIfReady:]):
- (-[WebDataSource _commitIfReady]):
- (-[WebDataSource _setStoredInPageCache:]):
- (-[WebDataSource _storedInPageCache]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _canCachePage]):
- (-[WebFrame _purgePageCache]):
- (-[WebFrame _setState:]):
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
-
-2002-11-25 Richard Williamson <rjw@apple.com>
-
- Fixed exception thrown often when creating mouseover status text (3110186).
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _elementAtPoint:]):
-
-2002-11-25 Darin Adler <darin@apple.com>
-
- - fixed a problem I discovered in testing where multiple identical bookmarks confuse us
-
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList removeChild:]): Use indexOfObjectIdenticalTo: and removeObjectIdenticalTo:
- instead of containsObject: and removeObject:.
- (-[WebBookmarkList insertChild:atIndex:]): Use indexOfObjectIdenticalTo: instead of
- containsObject: in the assertion.
-
-2002-11-25 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3084350 - No URL flavors provided for images
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragPromisedImage:fromOrigin:withURL:title:event:]): renamed, simplifies dragging an image
- (-[WebFilePromiseDragSource initWithSource:]): subclass of NSFilePromiseDragSource, to be used later
- (-[WebFilePromiseDragSource draggingSource]):
- (-[WebFilePromiseDragSource dealloc]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]): call _web_dragPromisedImage:fromOrigin:withURL:title:event:, retain self
- (-[WebHTMLView draggedImage:endedAt:operation:]): added, release self
- * WebView.subproj/WebImageView.m:
- (-[WebImageView mouseDragged:]): call _web_dragPromisedImage:fromOrigin:withURL:title:event:, retain self
- (-[WebImageView draggedImage:endedAt:operation:]): added, release self
- * WebView.subproj/WebView.m:
- (-[WebView isDocumentHTML]): call isKindOfClass instead of className
- (-[WebView draggingEntered:]): check for WebFilePromiseDragSource
-
-2002-11-24 Trey Matteson <trey@apple.com>
-
- Added URLString method to WebHistoryItem to avoid silly conversions between
- NSURL and NSString. When the dust settles with our plans for NSURL we can
- rationalize this API with the rest of WebKit.
-
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem URLString]):
-
-2002-11-24 Chris Blumenberg <cblu@apple.com>
-
- Added element keys for the image ALT and link TITLE attributes. This will eventually be used to fix other bugs. Also made WebKit and WebCore use the same element keys to simplify the conversion of the element dictionary.
-
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _elementAtPoint:]):
-
-2002-11-24 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3109945 - Assertion failure in -[WebIconDatabase_largestIconFromDictionary:]
- Added error strings for download decoding errors.
-
- * English.lproj/Localizable.strings: Added error strings for download decoding errors
- * English.lproj/StringsNotToBeLocalized.txt:
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _loadIconDictionaries]): tweak
- (-[WebIconDatabase _updateFileDatabase]): more error checking to prevent assert
- (-[WebIconDatabase _setIconURL:forSiteURL:]): added asserts to prevent a site URL <-> icon URL mapping without a icon URL -> icon mapping
- (-[WebIconDatabase _largestIconFromDictionary:]): tweak
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): declare pboard types if none have been declared, else append types
- * WebView.subproj/WebView.m:
- (+[WebView initialize]): Added error strings for download decoding errors
-
-2002-11-24 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 3067939 - no support for window.document.lastModified
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _commitIfReady]): Pass last modified date to WebCore.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Pass
- nil last modified date.
-
-2002-11-23 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3109835 - Download errors aren't communicated to client
-
- Cleaned-up WebMainResourceClient and WebBaseResourceHandleDelegate a little.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase defaultIconWithSize:]): tweak
- (-[WebIconDatabase releaseIconForSiteURL:]): don't retain site URL here
- (-[WebIconDatabase _setIcon:forIconURL:]): tweak
- (-[WebIconDatabase _setIconURL:forSiteURL:]): tweak
- (-[WebIconDatabase _releaseIconForIconURLString:]): retain site URL here
- (-[WebIconDatabase _releaseFutureIconForSiteURL:]): tweak
- (-[WebIconDatabase _sendNotificationForSiteURL:]): tweak
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate cancelWithError:]): made public
- (-[WebBaseResourceHandleDelegate cancel]): cancel downloads too, call cancelWithError
- (-[WebBaseResourceHandleDelegate cancelQuietly]): call cancelWithError
- (-[WebBaseResourceHandleDelegate cancelledError]): tweak
- (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]): tweak
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedError:]): stop downloadHandler if downloading, else notify controller
- (-[WebMainResourceClient cancel]): call receivedError
- (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]): tweak
- (-[WebMainResourceClient handle:didReceiveData:]): stop load for download errors, report error
- (-[WebMainResourceClient handleDidFinishLoading:]): call didFailLoadingWithError is download error
- (-[WebMainResourceClient handle:didFailLoadingWithError:]): call receivedError
-
-2002-11-22 Darin Adler <darin@apple.com>
-
- * Misc.subproj/WebCoreStatistics.h:
- * Misc.subproj/WebCoreStatistics.m:
- (+[WebCoreStatistics javaScriptRootObjectClasses]):
- Update for name change -- root object classes, not all live object classes.
-
-2002-11-22 Chris Blumenberg <cblu@apple.com>
-
- Fixed assertion while loading local files.
-
- * Misc.subproj/WebIconDatabase.m: we don't have icon URLs for files
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _loadIcon]): Only try loading favicon as the root of server if scheme is http or https. This isn't really a feature of other protocols.
-
-2002-11-22 Chris Blumenberg <cblu@apple.com>
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): Added a FIXME around saveFilenameForResponse:andRequest: because the API expects a path but is asking for a filename.
-
-2002-11-22 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3104693 - QT movie doesn't show video while still downloading
-
- The initial size of plug-in should be 0,0 instead of 1,1 or else we don't get the layout
-
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView initWithFrame:]):
-
-2002-11-22 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3078737 - Crash in -[WebHistoryItem dealloc] after closing last window
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase releaseIconForSiteURL:]): retain the site URL string because it may get released from beneath
- (-[WebIconDatabase _updateFileDatabase]): tweak
- (-[WebIconDatabase _iconsForIconURLString:]): disable timings for deployment build
- (-[WebIconDatabase _setIconURL:forSiteURL:]): tweak
- (-[WebIconDatabase _releaseIconForIconURLString:]): tweak
- (-[WebIconDatabase _scaleIcon:toSize:]): disable timings for deployment build
- * Misc.subproj/WebIconDatabasePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _updateIconDatabaseWithURL:]): new, does the db binding
- (-[WebDataSource _loadIcon]): call _updateIconDatabaseWithURL
-
-2002-11-22 Chris Blumenberg <cblu@apple.com>
-
- Attempt to fix: 3078737 - Crash in -[WebHistoryItem dealloc] after closing last window
- I haven't found anything that would cause the crash. I did some clean-up, added asserts and error messages in hopes that this help me track this down.
-
- * Misc.subproj/WebIconDatabase.h:
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase init]):
- (-[WebIconDatabase iconForSiteURL:withSize:cache:]):
- (-[WebIconDatabase iconForSiteURL:withSize:]):
- (-[WebIconDatabase retainIconForSiteURL:]):
- (-[WebIconDatabase releaseIconForSiteURL:]):
- (-[WebIconDatabase delayDatabaseCleanup]):
- (-[WebIconDatabase allowDatabaseCleanup]):
- (-[WebIconDatabase _iconDictionariesAreGood]):
- (-[WebIconDatabase _loadIconDictionaries]):
- (-[WebIconDatabase _updateFileDatabase]):
- (-[WebIconDatabase _hasIconForSiteURL:]):
- (-[WebIconDatabase _iconsForIconURLString:]):
- (-[WebIconDatabase _iconForFileURL:withSize:]):
- (-[WebIconDatabase _setIcon:forIconURL:]):
- (-[WebIconDatabase _setIconURL:forSiteURL:]):
- (-[WebIconDatabase _retainIconForIconURLString:]):
- (-[WebIconDatabase _releaseIconForIconURLString:]):
- (-[WebIconDatabase _retainFutureIconForSiteURL:]):
- (-[WebIconDatabase _releaseFutureIconForSiteURL:]):
- (-[WebIconDatabase _releaseOriginalIconsOnDisk]):
- (-[WebIconDatabase _sendNotificationForSiteURL:]):
- (-[WebIconDatabase _addObject:toSetForKey:inDictionary:]):
- (-[WebIconDatabase _largestIconFromDictionary:]):
- (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
- (-[WebIconDatabase _iconFromDictionary:forSize:cache:]):
- (-[WebIconDatabase _scaleIcon:toSize:]):
- * Misc.subproj/WebIconDatabasePrivate.h:
- * WebKit.exp:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _loadIcon]):
-
-2002-11-22 Richard Williamson <rjw@apple.com>
-
- Fixed rendering issues associated with 3100120.
- We now correctly map surrogate pairs in UTF-16. khtml still has
- issues dealing with characters outside BMP. These are tracked
- with 3109251 and 3109258.
-
- Surrogate pairs are treated as exceptions and have their own character
- to glyph map.
-
- * Misc.subproj/WebUnicode.h:
- * Misc.subproj/WebUnicode.m:
- (shapedString):
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (glyphForUnicodeCharacter):
- (findLengthOfCharacterCluster):
- (-[WebTextRenderer substituteFontForString:]):
- (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]):
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
- (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]):
- (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
-
-2002-11-22 John Sullivan <sullivan@apple.com>
-
- * Resources/url_icon.tiff:
- new generic URL icon -- little blue globe, pretty nice
-
- * WebKit.exp:
- removed symbol for WebTextRendererFactory which was in here
- to support an obsolete SPI hack
-
-2002-11-22 Trey Matteson <trey@apple.com>
-
- Added more detailed notifications on history changes.
- All changes below are just posting the new notes at the right time.
-
- * English.lproj/StringsNotToBeLocalized.txt:
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
- (-[WebHistory _sendNotification:entries:]):
- (-[WebHistory addEntry:]):
- (-[WebHistory removeEntry:]):
- (-[WebHistory removeEntries:]):
- (-[WebHistory removeAllEntries]):
- (-[WebHistory addEntries:]):
- (-[WebHistory loadHistory]):
- * WebKit.exp:
-
-2002-11-22 Richard Williamson <rjw@apple.com>
-
- Changed NSString category methods to include _web_ prefix.
-
- * Misc.subproj/WebKitNSStringExtras.h:
- * Misc.subproj/WebKitNSStringExtras.m:
- (-[NSString _web_widthForString:font:]):
-
-2002-11-22 Richard Williamson <rjw@apple.com>
-
- Simplified drawing and measuring SPI for use by Alex.
-
- * Misc.subproj/WebKitNSStringExtras.h: Added.
- * Misc.subproj/WebKitNSStringExtras.m: Added.
- (-[NSString widthForString:font:]):
- * WebKit.pbproj/project.pbxproj:
-
-2002-11-21 Chris Blumenberg <cblu@apple.com>
-
- Removed workaround for: 3093170 - Handle clients receive data with length 0
-
- as it's now fixed.
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler receivedData:]): remove workaround
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveData:]): added asserts
-
-2002-11-21 Richard Williamson <rjw@apple.com>
-
- A different fix to 3078065 that doesn't depend on the appkit's idea of
- fixed pitch font.
-
- The fix is to adjust the width of all characters that have the same width
- as the space character to match the adjustment of the space character.
- This has the slight downside that non-monospace fonts that contain glyphs
- with the same width as the space character will have an extra adjustment.
- In practice this is not noticeable as the adjustment is always sub-pixel.
- Nor of course does this cause any mislayout, as it's done at the lowest
- level for both measurement and drawing.
-
- Until we move kthml internals to floats this will be just fine.
-
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (widthForGlyph):
- (-[WebTextRenderer initWithFont:]):
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
-tAfterNavigationPolicy:request:]):
-
-2002-11-21 Maciej Stachowiak <mjs@apple.com>
-
- * Makefile.am: Pass symroots for this tree to pbxbuild.
-
-2002-11-21 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3009881 - plugins get mouse-overs even when mouse is in menus
- Fixed: 3108240 - Loading datasource sometimes doesn't have cancelled error when cancelled
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendNullEvent]): check if menus are showing
- (-[WebBaseNetscapePluginView restartNullEvents]): tweak
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _stopLoading]): set cancelled error if main handle is gone
-
-=== Alexander-33 ===
-
-2002-11-20 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- Unescape the string before executing it, so we don't suffer from bug 3083043
- here in the javascript: URLs that come from plug-ins.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update.
-
-2002-11-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3079134 - Throttle plug-ins while in background
-
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendNullEvent]): new
- (-[WebBaseNetscapePluginView stopNullEvents]): stops timer
- (-[WebBaseNetscapePluginView restartNullEvents]): stops timer if there is one, and starts a new one based on window activation state
- (-[WebBaseNetscapePluginView start]): call restartNullEvents
- (-[WebBaseNetscapePluginView stop]): call stopNullEvents
- (-[WebBaseNetscapePluginView windowBecameKey:]): call restartNullEvents
- (-[WebBaseNetscapePluginView windowResignedKey:]): call restartNullEvents
- (-[WebBaseNetscapePluginView windowDidMiniaturize:]): call stopNullEvents
- (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): call restartNullEvents
- * Plugins.subproj/WebNetscapePluginNullEventSender.h: Removed. No need for another class, use a timer.
- * Plugins.subproj/WebNetscapePluginNullEventSender.m: Removed. No need for another class, use a timer.
- * WebKit.pbproj/project.pbxproj:
-
-2002-11-20 Richard Williamson <rjw@apple.com>
-
- Fixed 3107007. Letter-spacing is causing width to be miscalculated.
- This also fixed some selection problems.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
-
-2002-11-20 Richard Williamson <rjw@apple.com>
-
- Fixed mono spaced fonts to always render with mono spacing! (3078065)
-
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (widthForGlyph):
- (-[WebTextRenderer initWithFont:]):
-
-2002-11-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3074926 - crash in BitsToPix() trying to print cnet page
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView drawRect:]): disable experimental plug-in printing code.
-
-2002-11-20 Chris Blumenberg <cblu@apple.com>
-
- Minor clean-up, logging and more error checking in plug-in code.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setResponse:]):
- (-[WebBaseNetscapePluginStream receivedData:]):
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
- * Plugins.subproj/npapi.m:
- (NPN_UserAgent):
- (NPN_MemFree):
- (NPN_MemFlush):
- (NPN_ReloadPlugins):
-
-2002-11-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3061174 - javascript: URLs sent by plugins don't work
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
-
-2002-11-20 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2002-11-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3106061 - REGRESSION: Copy in text view copies all text not just selection
-
- * Misc.subproj/WebSearchableTextView.m:
- (-[WebSearchableTextView copy:]):
-
-2002-11-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3092588 - redraw errors in QT controller if window is in background
-
- We need to send update events after we activate/deactivate after all.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView windowBecameKey:]):
- (-[WebBaseNetscapePluginView windowResignedKey:]):
-
-2002-11-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3020720 - dropping a folder in the page address makes the folder open in Finder, empties the field
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_bestURL]): Don't accept directories.
-
-2002-11-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3068112 - extra line breaks when copying from source window
-
- * Misc.subproj/WebSearchableTextView.m:
- (-[WebSearchableTextView copy:]): Convert CRLF to LF
-
-2002-11-19 David Hyatt <hyatt@apple.com>
-
- Make sure that if the scrollers are shown/hidden that we
- force an immediate layout, since if we don't, an intervening
- display can cause us to show scrollbars when they really
- shouldn't be there.
-
- * WebView.subproj/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]):
-
-2002-11-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3100597 - repro NSArray exception using contextual menu
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): more error checking
-
-2002-11-19 Trey Matteson <trey@apple.com>
-
- Just a tweak to the description printout.
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem description]):
-
-2002-11-18 Chris Blumenberg <cblu@apple.com>
-
- Real fix for: 3104183 - Assert loading www.louisvuitton.com
-
- Since we don't consider plug-in content as a subresource, attaching plug-in streams to the datasource has no affect on the loading state of the datasource. Both stopLoading on WebFrame and _stopLoading datasource, would not stop plug-ins streams after th
-e data source was done loading. Because of this, I've decided to not keep a list of plug-in streams attached to the data source and pulled my previous change. To fix this bug, WebBaseResourceHandleDelegate now retains the controller.
-
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream start]):
- (-[WebNetscapePluginStream cancel]):
- (-[WebNetscapePluginStream handleDidFinishLoading:]):
- (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate _releaseResources]):
- (-[WebBaseResourceHandleDelegate setDataSource:]):
- (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
- (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]):
- (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
- (-[WebBaseResourceHandleDelegate _cancelWithError:]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _stopLoading]):
- (-[WebDataSource _makeHandleDelegates:deferCallbacks:]):
- (-[WebDataSource _defersCallbacksChanged]):
-
-2002-11-18 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3104183 - Assert loading www.louisvuitton.com
-
- We need to treat plug-in streams like subresources except they don't change the loading state of the data source.
-
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream start]): call _addPluginStream
- (-[WebNetscapePluginStream cancel]): call _removePluginStream
- (-[WebNetscapePluginStream handleDidFinishLoading:]): call _removePluginStream
- (-[WebNetscapePluginStream handle:didFailLoadingWithError:]): call _removePluginStream
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): release pluginStreams
- (-[WebDataSource _addPluginStream:]): just like addSubresourceClient except don't change the loading state.
- (-[WebDataSource _removePluginStream:]): just like removeSubresourceClient except don't change the loading state.
- (-[WebDataSource _stopLoading]): stop plug-ins streams
- (-[WebDataSource _makeHandleDelegates:deferCallbacks:]):
- (-[WebDataSource _defersCallbacksChanged]): call _makeHandleDelegates:deferCallbacks: for subresources and plug-in streams.
-
-2002-11-18 Richard Williamson <rjw@apple.com>
-
- Check for usesBackForwardList was excluding all load types.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
-
-2002-11-18 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3098767 - REGRESSION: standalone quicktime content just shows blank window
-
- Check the instance not the class for the class type.
-
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
-
-2002-11-18 Ken Kocienda <kocienda@apple.com>
-
- Added feature to import bookmarks/favorites from MSIE. This
- fixes Radar 2961230 (import Mac IE bookmarks).
-
- * Bookmarks.subproj/WebBookmarkImporter.h: Added.
- * Bookmarks.subproj/WebBookmarkImporter.m: Added.
- (_breakStringIntoLines):
- (_HREFRangeFromSpec):
- (_HREFTextFromSpec):
- (_linkTextRangeFromSpec):
- (_linkTextFromSpec):
- (-[WebBookmarkImporter initWithPath:group:]):
- (-[WebBookmarkImporter topBookmark]):
- (-[WebBookmarkImporter error]):
- (-[WebBookmarkImporter dealloc]):
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList init]): Create the bookmark list object. This
- was not created with the -init initializer, causing bookmark lists
- to fail.
- * English.lproj/Localizable.strings:
- * English.lproj/StringsNotToBeLocalized.txt:
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
-
-2002-11-17 Trey Matteson <trey@apple.com>
-
- Code cleanup to make some internal methods return autoreleased objects.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _addBackForwardItemClippedAtTarget:]):
- (-[WebFrame _createItem]):
- (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):
- (-[WebFrame _transitionToCommitted]):
-
-2002-11-17 Trey Matteson <trey@apple.com>
-
- Fixed 3102076 - REGRESSION: infinite recursion involving bridge end
- Fixed 3100929 - REGRESSION: serverRedirectedForDataSource: not sent on server redirects
- Fixed 3103381 - REGRESSION: Going back from anchor doesn't restore scroll position
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Return the copy of the
- request that we make instead of the original.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:willSendRequest:]): Call super after we make our mods
- to the request, so the copy that super makes for us includes those mods.
-
- * WebView.subproj/WebFramePrivate.h: Added new state, WebFrameStateCompleting.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToLayoutAcceptable]): Completing state is a NOP.
- (-[WebFrame _transitionToCommitted]): Completing state is a NOP.
- (-[WebFrame _isLoadComplete]): Go to Completing state before calling [bridge end].
- Go to Completed state afterwards, only if no new loads started in the meantime.
- (-[WebFrame _loadItem:fromItem:withLoadType:]): When doing anchor nav to get to the
- item, save and restore scroll state, and set the current item.
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]):
- Reorder the steps so the right scroll state gets saved to the right place. Also, don't
- add a backForward item if we're doing a client redirect to an anchor.
-
-2002-11-17 David Hyatt <hyatt@apple.com>
-
- Back out my previous fix. I have a better one that is
- confined to WebCore.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _isLoadComplete]):
-
-2002-11-17 David Hyatt <hyatt@apple.com>
-
- The needsdisplay is necessary even for HTML documents.
- I over-optimized here. Fixes the directory.apple.com
- regression and the santa clara library regression.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _isLoadComplete]):
-
-2002-11-17 Darin Adler <darin@apple.com>
-
- - update for change to WebCore API so it never uses NSURL
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]): Take NSString instead of NSURL.
- (-[WebBridge startLoadingResource:withURL:]): Ditto.
- (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto.
- (-[WebBridge reportClientRedirectToURL:delay:fireDate:]): Ditto.
- (-[WebBridge setIconURL:]): Ditto.
- (-[WebBridge setIconURL:withType:]): Ditto.
- (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]): Ditto.
- (-[WebBridge postWithURL:data:contentType:triggeringEvent:]): Ditto.
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto.
- (-[WebBridge userAgentForURL:]): Ditto.
- (-[WebBridge requestedURL]): Return NSString instead of NSURL.
- (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): Take NSString instead of NSURL.
- (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): Take NSString instead of NSURL.
-
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- (-[WebCookieAdapter cookiesForURL:]): Take NSString instead of NSURL.
- (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]): Ditto.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _commitIfReady]): Pass NSString instead of NSURL.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Pass NSString instead of NSURL
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Turn bridge URL into NSURL so we
- can call _web_URLByRemovingFragment on it.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _elementAtPoint:]): Convert NSString to NSURL when making the WebKit element dictionary.
-
-2002-11-17 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 2949193 - implement onKeyDown, onKeyPress, and onKeyUp event handlers
-
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (+[WebHTMLView load]): Pose as NSWindow too now.
- (-[WebHTMLView _interceptKeyEvent:toView:]): Pass event to WebCore and
- see if WebCore wants to block it.
- (-[WebNSWindow sendEvent:]): For all key events that would go to a
- subview of a WebHTMLView, let the WebHTMLView take a first crack
- at it.
-
-2002-11-15 Darin Adler <darin@apple.com>
-
- - fixed 3079214 -- text/plain page shows up slowly, a few pages at a time
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView initWithFrame:]): Remove unneeded setWidthTracksTextView:, because
- that's the default.
- (-[WebTextView dataSourceUpdated:]): Replace the thing each time in the RTF case.
- (-[WebTextView viewDidMoveToSuperview]): Here's where we resize, but only the width.
- Resizing the height was causing the bug.
- (-[WebTextView layout]): Do nothing.
- (-[WebTextView setAcceptsDrags:]): Update to new name. Since we weren't
- importing WebDocument.h, we never noticed that this file got out of sync.
- (-[WebTextView acceptsDrags]): Ditto.
- (-[WebTextView setAcceptsDrops:]): Ditto.
- (-[WebTextView acceptsDrops]): Ditto.
-
- * WebView.subproj/WebDocument.h: Fix typo. It said setAcceptsDrags: twice.
-
-2002-11-15 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebFramePrivate.m: Removed a bunch of tabs and fixed indenting.
-
-2002-11-15 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 3102016 - REGRESSION: Command-clicking on a link can open _two_ windows.
-
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setJustOpenedForTargetedLink:]):
- (-[WebDataSource _justOpenedForTargetedLink]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame findOrCreateFramedNamed:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueAfterNavigationPolicy:]):
- (-[WebFrame _loadDataSource:withLoadType:]):
- (-[WebFrame _downloadRequest:toPath:]):
- (-[WebFrame _setJustOpenedForTargetedLink:]):
-
-2002-11-15 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
- Give the listener a slightly longer lifetime, to make this API a bit more foolproof.
-
-2002-11-15 Maciej Stachowiak <mjs@apple.com>
-
- Fix world leak I introduced, and also add an early return when needed.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
-
-2002-11-15 Maciej Stachowiak <mjs@apple.com>
-
- Make navigation policy asynchronous for real.
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebControllerPolicyDelegate.m:
- (-[WebPolicyDecisionListenerPrivate initWithTarget:action:]):
- (-[WebPolicyDecisionListenerPrivate dealloc]):
- (-[WebPolicyDecisionListener usePolicy:]):
- (-[WebPolicyDecisionListener _initWithTarget:action:]):
- (-[WebPolicyDecisionListener dealloc]):
- (-[WebPolicyDecisionListener _invalidate]):
- * WebView.subproj/WebControllerPolicyDelegatePrivate.h: Added.
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame stopLoading]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate dealloc]):
- (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
- (-[WebFrame _continueAfterNavigationPolicy:]):
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
- (-[WebFrame _loadDataSource:withLoadType:]):
-
-2002-11-15 Maciej Stachowiak <mjs@apple.com>
-
- Wrap content policy invocation to look asynchronous.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
-
-2002-11-15 Maciej Stachowiak <mjs@apple.com>
-
- Refactor so that all invocations of navigation policy are set up
- to be asynchronous. However, the actually delegate method is not
- async yet.
-
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]):
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
- (-[WebFrame _loadDataSource:withLoadType:]):
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient stopLoadingForPolicyChange]):
- (-[WebMainResourceClient continueAfterNavigationPolicy:request:]):
- (-[WebMainResourceClient handle:willSendRequest:]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
-
-2002-11-14 Maciej Stachowiak <mjs@apple.com>
-
- Refactor things a bit so all loads bottleneck through a single
- method (_loadDataSource:withLoadType:).
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadRequest:]):
- (-[WebFrame reload]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadItem:fromItem:withLoadType:]):
- (-[WebFrame _loadRequest:triggeringAction:loadType:]):
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
- (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):
- (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
- (-[WebFrame _loadDataSource:withLoadType:]):
- (-[WebFrame _downloadRequest:toPath:]):
-
-2002-11-14 Maciej Stachowiak <mjs@apple.com>
-
- Change things so the public interface to loading is loadRequest:
- and everything else is private.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController showURL:inFrame:]):
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController init]):
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _createFrameNamed:inParent:allowsScrolling:]):
- (-[WebController _downloadURL:toPath:]):
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame init]):
- (-[WebFrame initWithName:webView:controller:]):
- (-[WebFrame loadRequest:]):
- (-[WebFrame reload]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _timedLayout:]):
- (-[WebFrame _clearProvisionalDataSource]):
- (-[WebFrame _loadItem:fromItem:withLoadType:]):
- (-[WebFrame _loadRequest:triggeringAction:]):
- (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
- (-[WebFrame _itemForRestoringDocState]):
- (-[WebFrame _setProvisionalDataSource:]):
- (-[WebFrame _startLoading]):
- (-[WebFrame _downloadRequest:toPath:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:willSendRequest:]):
- (-[WebMainResourceClient stopLoadingAfterContentPolicy]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
- * WebView.subproj/WebView.m:
- (-[WebView concludeDragOperation:]):
-
-2002-11-14 David Hyatt <hyatt@apple.com>
-
- Move text measurement and layout beyond onload. This
- shoudl speed up i-bench substantially and morrison's
- PLT test slightly. Note that the adjustFrames layout
- stuff has been removed from isLoadComplete.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _timedLayout:]):
- (-[WebFrame _isLoadComplete]):
-
-2002-11-14 Darin Adler <darin@apple.com>
-
- * English.lproj/Localizable.strings: Updated to include the new
- error messages that Maciej just added. I wonder what effect this
- will have if we see those errors in Alex-32?
-
-=== Alexander-32 ===
-
-2002-11-14 Don Melton <gramps@apple.com>
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
-
- Added missing semi-colon in definition of WebPolicyDecisionListener to
- fix build error.
-
-2002-11-14 Maciej Stachowiak <mjs@apple.com>
-
- Combined file URL policy with content policy. We don't actually
- bother to ask earlier for file URLs yet, since that will make
- things more complicated.
-
- * Misc.subproj/WebKitErrors.h:
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _handleUnimplementablePolicy:errorCode:forURL:]):
- (-[WebFrame _continueAfterNavigationPolicyForRequest:dataSource:]):
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient stopLoadingAfterContentPolicy]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
- * WebView.subproj/WebView.m:
- (+[WebView initialize]):
-
-2002-11-14 Darin Adler <darin@apple.com>
-
- - fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
-
- Make the reload flag pass across the bridge.
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]):
- Pass a reload flag, based on the load type, to the bridge.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Pass a
- reload flag of NO in the anchor case. Preserve reload load types even when
- doing client redirects (have to talk with Trey about this tomorrow).
-
-2002-11-14 Darin Adler <darin@apple.com>
-
- - fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
- If the WebCore side needs layout, then do layout before trying to draw.
-
-2002-11-13 Trey Matteson <trey@apple.com>
-
- Fixed client redirects, some more. The upshot is that they do not
- generate two items in the back-forward list. iBench still works.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Call straight to the frame for all impl.
- (-[WebBridge reportClientRedirectCancelled]): Call straight to the frame for all impl.
- (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]):
- clientRedirect param removed when sending _loadURL: to frame.
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
- clientRedirect param removed. Check our own ivar to know if we are in client redirect case.
- (-[WebFrame _loadURL:intoChild:]):
- clientRedirect param removed when sending _loadURL: .
- (-[WebFrame _clientRedirectedTo:delay:fireDate:]):
- Note that we are doing a redirect if time=0 and we're not completed. Also includes
- previous impl moved from Bridge.
- (-[WebFrame _clientRedirectCancelled]): Previous impl moved from Bridge.
-
-
-2002-11-13 Maciej Stachowiak <mjs@apple.com>
-
- Pass mime type instead of full response to content policy delegate
- method, in preparation for merging it with the file URL policy.
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveResponse:]):
-
-2002-11-13 Darin Adler <darin@apple.com>
-
- - fixed 3083982 -- Logging into AOL gives null view
-
- Turns out AOL was using a refresh header, which we were not supporting.
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]):
- Call openURL: and pass headers in.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:isFormSubmission:]):
- Pass nil for headers in this case, since we know it's just an anchor change.
-
- - other things
-
- * WebCoreSupport.subproj/WebBridge.h: Remove dataSourceChanged and dataSource
- methods. We try to keep the bridge methods down to actual bridging.
- * WebCoreSupport.subproj/WebBridge.m: Remove dataSourceChanged altogether,
- and move dataSource up in the file.
-
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation setDataSource:]): Keep the data source around, so we
- don't need to ask the bridge for it.
- (-[WebHTMLRepresentation documentSource]): Use it here.
-
-2002-11-13 Trey Matteson <trey@apple.com>
-
- Fixed 3100084 - REGRESSION: web page is not first responder after visiting web page
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _commitIfReady]): Make the rep before _transitionToCommitted. This is the way it used to be.
- (-[WebDataSource _makeRepresentation]): Don't make the docView here.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]): Make the docView here, after we save the scroll state but before notifying the delegate.
-
-2002-11-13 Darin Adler <darin@apple.com>
-
- - fixed 3100013 -- REGRESSION: Can't get results from i-Bench anymore
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]):
- Don't set the state to WebFrameStateComplete if it has already been set
- to WebFrameStateProvisional. If it has, that means we already began a new
- load; that one is not yet complete.
-
-2002-11-13 John Sullivan <sullivan@apple.com>
-
- - fixed 3099922 -- REGRESSION: Back button always pops up menu
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:xHysteresis:yHysteresis:]:
- Fixed a copy/paste error I made yesterday -- this method was never
- noticing the mouse-up events because it was checking the event type
- against the wrong number. Also changed the hysteresis values from
- unsigneds to floats (unsigned was just wrong).
-
-2002-11-13 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 3050447 - Policy handlers have no way of telling client
- that the proposed navigation is a form post
-
- Now we pass form submissions through all the normal policy steps.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]):
- (-[WebBridge postWithURL:data:contentType:triggeringEvent:]):
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _setTriggeringAction:]):
- (-[WebDataSource _triggeringAction]):
- (-[WebDataSource _lastCheckedRequest]):
- (-[WebDataSource _setLastCheckedRequest:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame setProvisionalDataSource:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _shouldShowRequest:]):
- (-[WebFrame _loadRequest:triggeringAction:]):
- (-[WebFrame _actionInformationForNavigationType:event:]):
- (-[WebFrame _continueAfterNavigationPolicyForRequest:dataSource:]):
- (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:isFormSubmission:]):
- (-[WebFrame _loadURL:intoChild:]):
- (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):
-
-2002-11-12 Maciej Stachowiak <mjs@apple.com>
-
- Combine click policy and URL policy into navigation policy.
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate navigationPolicyForAction:andRequest:inFrame:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _shouldShowRequest:]):
- (-[WebFrame _actionInformationForNavigationType:event:]):
- (-[WebFrame _continueAfterFileURLPolicyForRequest:]):
- (-[WebFrame _continueAfterNavigationPolicyForRequest:event:]):
- (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
-
-2002-11-12 Trey Matteson <trey@apple.com>
-
- fixed 3096030 - Crash in -[WebBackForwardList goToEntry:] when playing with SnapBack and dictionary.com
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _isLoadComplete]): Set state=completed only after we tell the bridge to
- end the load. This allows client redirects to be processed before we think we're complete.
- (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
- Only process client redirects as such if we are not already complete. This makes JS driven
- navigations after load-time work like the user would expect, as normal navigations.
-
-2002-11-12 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 3099487 - REGRESSION: dragging an image always puts it in
- the download directory
-
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _downloadURL:]): Call _downloadURL:toPath: with nil path.
- (-[WebController _downloadURL:toPath:]): New method that
- predetermines the path to download to (needed for DnD).
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Use
- _downloadURL:toPath:
- * WebView.subproj/WebImageView.m:
- (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): Use
- _downloadURL:toPath:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveResponse:]): Don't ask
- delegate for download path if we already have one.
-
-2002-11-12 Richard Williamson <rjw@apple.com>
-
- Fixed likely cause of 3099047 (and others). Width buffer could underrun in
- some situations.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
-
-2002-11-12 John Sullivan <sullivan@apple.com>
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:xHysteresis:yHysteresis:]):
- new method
- (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:]):
- now calls the new method, passing the default hysteresis values
-
-2002-11-12 Richard Williamson <rjw@apple.com>
-
- Implemented letter-spacing and word-spacing CSS properties.
-
- * Misc.subproj/WebStringTruncator.m:
- (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
- (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer widthForCharacters:length:]):
- (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:]):
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
-
-2002-11-12 Maciej Stachowiak <mjs@apple.com>
-
- Removed policy classes and instead use the policy enums directly,
- since we no longer hold the path in the enum.
-
- * Downloads.subproj/WebDownloadHandler.m:
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebControllerPolicyDelegate.m:
- * WebView.subproj/WebControllerPolicyDelegatePrivate.h: Removed.
- * WebView.subproj/WebControllerPrivate.m:
- * WebView.subproj/WebDefaultPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (+[WebDefaultPolicyDelegate defaultURLPolicyForRequest:]):
- (-[WebDefaultPolicyDelegate URLPolicyForRequest:inFrame:]):
- (-[WebDefaultPolicyDelegate fileURLPolicyForMIMEType:andRequest:inFrame:]):
- (-[WebDefaultPolicyDelegate unableToImplementPolicy:error:forURL:inFrame:]):
- (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame handleUnimplementablePolicy:errorCode:forURL:]):
- (-[WebFrame _shouldShowRequest:]):
- (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveResponse:]):
-
-2002-11-12 Maciej Stachowiak <mjs@apple.com>
-
- Keep the triggering event around on the data source, so it can be
- used with redirects.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadRequest:triggeringEvent:]):
- (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
- (-[WebFrame _postWithURL:data:contentType:]):
-
-2002-11-12 Darin Adler <darin@apple.com>
-
- - improved the code that manages observing the window and superview
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addSuperviewObservers]): Added.
- (-[WebHTMLView removeSuperviewObservers]): Added.
- (-[WebHTMLView addWindowObservers]): Added.
- (-[WebHTMLView removeWindowObservers]): Added.
- (-[WebHTMLView viewWillMoveToSuperview:]): Call removeSuperviewObservers.
- (-[WebHTMLView viewDidMoveToSuperview]): Call addSuperviewObservers.
- (-[WebHTMLView viewWillMoveToWindow:]): Call removeWindowObservers and
- removeSuperviewObservers.
- (-[WebHTMLView viewDidMoveToWindow]): Call addWindowObservers and
- addSuperviewObservers.
-
-2002-11-11 Maciej Stachowiak <mjs@apple.com>
-
- Remove contentPolicy parameter from _downloadURL, and remove
- remaining traces of path from policy object.
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebControllerPolicyDelegate.m:
- (-[WebPolicyPrivate dealloc]):
- (+[WebURLPolicy webPolicyWithURLAction:]):
- (+[WebFileURLPolicy webPolicyWithFileAction:]):
- (+[WebContentPolicy webPolicyWithContentAction:]):
- (+[WebClickPolicy webPolicyWithClickAction:]):
- * WebView.subproj/WebControllerPolicyDelegatePrivate.h:
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _downloadURL:]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate downloadURL:]):
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
- * WebView.subproj/WebImageView.m:
- (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveResponse:]):
-
-2002-11-11 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]):
- Use fileSystemRepresentationWithPath, not cString, to turn a path into something
- to pass to FSPathMakeRef.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update.
-
-2002-11-11 Darin Adler <darin@apple.com>
-
- - tighten up cursor handling a bit more
-
- * WebView.subproj/WebDynamicScrollBarsView.m:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addMouseMovedObserver]): Call _frameOrBoundsChanged
- so we emit a mouse moved event right away.
- (-[WebHTMLView viewWillMoveToSuperview:]): Remove the colon since I
- removed the parameter from _frameOrBoundsChanged.
-
- * WebView.subproj/WebHTMLViewPrivate.h: Declare _frameOrBoundsChanged.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _frameOrBoundsChanged]): Remove parameter.
-
-2002-11-11 Trey Matteson <trey@apple.com>
-
- Fixed 3015884 - Reloading a page should remember the scroll position
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]): Save scroll position on reload
- (-[WebFrame _isLoadComplete]): Restore position on reload
-
-2002-11-11 Trey Matteson <trey@apple.com>
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList addEntry:]): Yank code to avoid adding a duplicate entry, to catch the
- refresh case. That's dealt with in WebFramePrivate now.
- (-[WebBackForwardList description]): Enhanced to print more info.
-
- * History.subproj/WebHistoryItem.h:
- History items now hold an array of subitems to mirror the frame tree. One item in the tree
- is designated the target of the navigation.
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem dealloc]): Release new ivars.
- (-[WebHistoryItem isTargetItem]):
- (-[WebHistoryItem setIsTargetItem:]):
- New setter and setter.
- (-[WebHistoryItem _recurseToFindTargetItem]):
- (-[WebHistoryItem targetItem]):
- Search the tree to find the target item.
- (-[WebHistoryItem children]):
- (-[WebHistoryItem addChildItem:]):
- (-[WebHistoryItem childItemWithName:]):
- Maintain and search new child item list.
- (-[WebHistoryItem description]):
- Enhanced to print out the tree of items.
- (-[WebHistoryItem dictionaryRepresentation]):
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- Save and load the new state.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge generateFrameName]): New call from KWQ, just forwards to Frame.
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- Call new frame method dedicated to this case.
- (-[WebBridge saveDocumentState:]):
- (-[WebBridge documentState]):
- Call frame methods to get the right item to save/restore to/from.
-
- * WebView.subproj/WebController.m:
- (-[WebController _goToItem:withLoadType:]): Stop any current loading before going to a new item.
- (-[WebController goBack]):
- (-[WebController goForward]):
- (-[WebController goBackOrForwardToItem:]): Name change of private method (for consistency)
-
- * WebView.subproj/WebDataSourcePrivate.h:
- ProvisionalItem and PreviousItem are moved back up to WebFrame, where we know more about the
- state transitions that happen during loading.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): Don't release removed ivars.
- (-[WebDataSource _commitIfReady]): Make the view representations -after- the transition to committed.
- This allows us to save away the scroll location successfully, since making the view was resetting it.
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame setProvisionalDataSource:]): Saving the scroll location has moved elsewhere to handle frames.
- (-[WebFrame stopLoading]): Skip all the work if we're already state=complete.
-
- * WebView.subproj/WebFramePrivate.h:
- The frame now holds a ref to the current, previous and provisional back-forward items.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate dealloc]): Release new state.
- (-[WebFramePrivate setProvisionalItem:]):
- (-[WebFramePrivate setPreviousItem:]):
- (-[WebFramePrivate setCurrentItem:]): New setters (1 line getters were missed by script)
- (-[WebFrame _addBackForwardItemClippedAtTarget:]): Adds a BF item to the top of the BF list.
- (-[WebFrame _createItem]): Create a single BF item.
- (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Create a tree of BF items, which
- mirror the frame tree.
- (-[WebFrame _immediateChildFrameNamed:]): New frame search utility (doesn't recurse)
- (-[WebFrame _detachFromParent]): Save the scroll position when detaching a frame.
- (-[WebFrame _transitionToCommitted]): Maintain new item ivars. Save scroll position when
- appropriate. Hook up items for child frames to their parent, as they are created.
- (-[WebFrame _setState:]): Clear previousItem whenever we reach committed.
- (-[WebFrame _isLoadComplete]): Clear previousItem if we are committed.
- (-[WebFrame _childFramesMatchItem:]): Does the frame's frame tree match the one held by the item?
- (-[WebFrame _loadItem:fromItem:withLoadType:]): Only do simple anchor navigation if the frame
- has no children (fixes oddball corner case with a frame reloading itself). Set provisional item.
- (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]): Heart of returning to an item that had
- frames. We either find that the existing content is good, or initiate a load.
- (-[WebFrame _goToItem:withLoadType:]): Adjust the BF list cursor, and recurse to do the work.
- (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]): Only do anchor-style nav if
- the destination URL has a fragment. Save scroll position.
- (-[WebFrame _loadURL:intoChild:]): If returning to an item with frames, possibly replace the
- new content with the stuff that was there at the time, substituting the URL.
- (-[WebFrame _saveScrollPositionToItem:]): Don't croak on nil item or view.
- (-[WebFrame _restoreScrollPosition]): Do croak (ASSERT) on nil item.
- (-[WebFrame _scrollToTop]): Nit cleanup.
- (-[WebFrame _addFramePathToString:]): Add a component for our frame to the frame name we're generating.
- (-[WebFrame _generateFrameName]): Generate a frame name that is repeatable.
- (-[WebFrame _itemForSavingDocState]): Returns correct item to use for formstate save.
- (-[WebFrame _itemForRestoringDocState]): Returns correct item to use for formstate restore
-
-2002-11-11 Maciej Stachowiak <mjs@apple.com>
-
- Store path and the fact that we're downloading in the data source,
- instead of storing the content policy.
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler cleanUpAfterFailure]):
- (-[WebDownloadHandler createFileIfNecessary]):
- (-[WebDownloadHandler finishedLoading]):
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _downloadURL:withContentPolicy:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (+[WebDataSource registerRepresentationClass:forMIMEType:]):
- (-[WebDataSource isDownloading]):
- (-[WebDataSource downloadPath]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _commitIfReady]):
- (-[WebDataSource _setIsDownloading:]):
- (-[WebDataSource _setDownloadPath:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedError:]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
- (-[WebMainResourceClient handleDidFinishLoading:]):
-
-2002-11-11 Maciej Stachowiak <mjs@apple.com>
-
- Don't ask for the content policy any more if the previous policies
- said to save - in effect this means to ask only if the previous
- policies said to use the content policy. Also, remove now-useless
- previous content policy parameter from content policy delegate.
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setContentPolicy:]): Retain new policy before
- releasing the old one.
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveResponse:]): Don't ask
- for content policy if the delegate already decided to save.
-
-2002-11-11 Maciej Stachowiak <mjs@apple.com>
-
- Added new policy delegate callback to get the filename - this
- won't be up to the content policy any more.
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate saveFilenameForResponse:andRequest:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveResponse:]):
-
-2002-11-11 Darin Adler <darin@apple.com>
-
- - made some improvements to cursor setting for greater speed and correctness
-
- * WebView.subproj/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView setCursor:]): Just use setDocumentCursor: instead of
- our own logic. This allows us to remove code and may fix some bugs or anomalies as well.
- (-[WebDynamicScrollBarsView dealloc]): Release the cursor. I think we were leaking before.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView viewWillMoveToSuperview:]): Use _frameOrBoundsChanged: method now, which
- has been moved into the private file.
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): Don't bother finding
- topmost WebHTMLView to call _updateMouseoverWithEvent: on; now it works fine no matter
- which level it's called at.
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _frameOrBoundsChanged:]): Moved the code here that was formerly in the
- _setNeedsLayoutIfSizeChanged method, also added code that does _updateMouseoverWithEvent:
- so that we get properly updated cursor when we scroll.
- (-[WebHTMLView _updateMouseoverWithEvent:]): Remove unneeded assert. This method works
- equally well no matter which WebHTMLView calls it; everything is done at the window and
- controller level.
-
- * WebView.subproj/WebControllerPrivate.h: Added lastElementWasNotNil field and
- _mouseDidMoveOverElement:modifierFlags: method.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _mouseDidMoveOverElement:modifierFlags:]): Call through to the delegate,
- but don't do multiple calls if they are all nil.
-
- * WebCoreSupport.subproj/WebBridge.m: Remove unused modifierTrackingEnabled method.
- * WebView.subproj/WebHTMLViewPrivate.h: Remove unused _setModifierTrackingEnabled and
- _modifierTrackingEnabled methods.
-
-2002-11-10 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2002-11-10 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3021681 - downloaded files' creation and modification dates are not set
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler createFileIfNecessary]): call [response creationDate] and [response lastModifiedDate] when setting file attributes.
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setResponse:]): call [response lastModifiedDate] when giving content to plug-ins.
-
-2002-11-10 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2002-11-09 Darin Adler <darin@apple.com>
-
- - fixed 3095156 -- reproducible leak of WebDataSource due to bad URL in stylesheet
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- Check for errors by looking at the return value from loadWithRequest: rather than
- making a separate call to canInitWithRequest.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.h: Add boolean success/failure result
- loadWithRequest:.
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate loadWithRequest:]): Return NO if we fail to make a handle.
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading]):
- Check result of loadWithRequest: and complain if it's NO.
-
- * WebView.subproj/WebMainResourceClient.m: Tweak whitespace.
-
-2002-11-09 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 2991610 - Alexander should support services, including Speech
-
- * WebView.subproj/WebHTMLView.m:
- (+[WebHTMLView initialize]): register for service types
- (-[WebHTMLView dealloc]): moved to top of file
- (-[WebHTMLView copy:]): call _writeSelectionToPasteboard
- (-[WebHTMLView writeSelectionToPasteboard:types:]): call _writeSelectionToPasteboard
- (-[WebHTMLView validRequestorForSendType:returnType:]): return self for our pboard types
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (+[WebHTMLView _pasteboardTypes]): new, returns the array of supported pboard types
- (-[WebHTMLView _writeSelectionToPasteboard:]): new, adds data to pboard
- * WebView.subproj/WebImageView.m:
- (-[WebImageView initialize]): register for service types
- (-[WebImageView validateUserInterfaceItem:]): respond to copy
- (-[WebImageView validRequestorForSendType:returnType:]): return self for images
- (-[WebImageView writeImageToPasteboard:]): writes image data to pboard
- (-[WebImageView copy:]): calls writeImageToPasteboard
- (-[WebImageView writeSelectionToPasteboard:types:]): calls writeImageToPasteboard
-
-2002-11-08 Darin Adler <darin@apple.com>
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem setTitle:]): Use display title if it matches, so
- we don't end up with two identical strings, as when reading from
- the property list.
- (-[WebHistoryItem setDisplayTitle:]): The same thing, the other way round.
-
-2002-11-08 Darin Adler <darin@apple.com>
-
- - fixed 3095078 -- image loop counts still not handled right
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer blockHasGIFExtensionSignature:length:]): Look for the tag
- "NETSCAPE2.0", not "NETSCAPE1.0".
- (-[WebImageRenderer nextFrame:]): Remove special handling for last frames with
- a duration of 0. That was just a misunderstanding.
-
-2002-11-08 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setRequest:]):
- Slightly better fix. Essentially just take out the assert.
-
-2002-11-08 Darin Adler <darin@apple.com>
-
- - fixed an assert I am seeing a lot
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setRequest:]): Oops.
-
-2002-11-08 Richard Williamson <rjw@apple.com>
-
- Solved missing glyph problem, but it's very slow, so
- it's disabled for now. I'll turn back on after extending
- the character to glyph map in each renderer to include
- substituted font.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer substituteFontForString:]):
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
-
-2002-11-08 Darin Adler <darin@apple.com>
-
- - separate WebBaseNetscapePluginStream more cleanly from its subclasses
- by making most fields private
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setResponse:]):
- * Plugins.subproj/WebNetscapePluginStream.h:
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
- (-[WebNetscapePluginStream dealloc]):
- (-[WebNetscapePluginStream start]):
- (-[WebNetscapePluginStream handle:didReceiveData:]):
- (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handle:didReceiveResponse:]):
- (-[WebSubresourceClient handle:didReceiveData:]):
- (-[WebSubresourceClient handleDidFinishLoading:]):
- (-[WebSubresourceClient handle:didFailLoadingWithError:]):
- (-[WebSubresourceClient cancel]):
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
- (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
- (-[WebBaseResourceHandleDelegate _cancelWithError:]):
- (-[WebBaseResourceHandleDelegate cancel]):
- (-[WebBaseResourceHandleDelegate cancelQuietly]):
- (-[WebBaseResourceHandleDelegate cancelledError]):
- (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]):
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient cancel]):
- (-[WebMainResourceClient handle:willSendRequest:]):
- (-[WebMainResourceClient notifyDelegatesOfInterruptionByPolicyChange]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
- (-[WebMainResourceClient handle:didReceiveData:]):
- (-[WebMainResourceClient handleDidFinishLoading:]):
-
-2002-11-08 Darin Adler <darin@apple.com>
-
- - changed persistent dictionaries to use NSString instead of NSURL
- because of impact on memory footprint
-
- Also changed WebIconDatabase code to verify what it reads from disk,
- and ignore it if it can't verify the format.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase iconForSiteURL:withSize:cache:]):
- (-[WebIconDatabase retainIconForSiteURL:]):
- (-[WebIconDatabase releaseIconForSiteURL:]):
- (-[WebIconDatabase _iconDictionariesAreGood]):
- (-[WebIconDatabase _loadIconDictionaries]):
- (-[WebIconDatabase _updateFileDatabase]):
- (-[WebIconDatabase _hasIconForSiteURL:]):
- (-[WebIconDatabase _iconsForIconURLString:]):
- (-[WebIconDatabase _setIcon:forIconURL:]):
- (-[WebIconDatabase _setIconURL:forSiteURL:]):
- (-[WebIconDatabase _setBuiltInIconAtPath:forHost:]):
- (-[WebIconDatabase _retainIconForIconURLString:]):
- (-[WebIconDatabase _releaseIconForIconURLString:]):
- (-[WebIconDatabase _retainFutureIconForSiteURL:]):
- (-[WebIconDatabase _releaseFutureIconForSiteURL:]):
- (-[WebIconDatabase _retainOriginalIconsOnDisk]):
- (-[WebIconDatabase _releaseOriginalIconsOnDisk]):
- (-[NSEnumerator _web_isAllStrings]):
- * Panels.subproj/WebStandardPanels.m:
- (-[WebStandardPanels didStartLoadingURL:inWindow:]):
- (-[WebStandardPanels didStopLoadingURL:inWindow:]):
- (-[WebStandardPanels _didStartLoadingURL:inController:]):
- (-[WebStandardPanels _didStopLoadingURL:inController:]):
- (-[WebStandardPanels frontmostWindowLoadingURL:]):
-
-2002-11-08 Darin Adler <darin@apple.com>
-
- - fixed crash on boot that Don was seeing
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem URL]): Make this work when _URLString is nil.
- (-[WebHistoryItem initFromDictionaryRepresentation:]): Make this work for nil URL.
-
- - my own private war on the cString method
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler initWithDataSource:]): Use %@ in LOG to avoid cString.
- (-[WebDownloadHandler finishedLoading]): Ditto.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _commitIfReady]): Ditto.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _timedLayout:]): Ditto.
- (-[WebFrame _setState:]): More of the same.
- (-[WebFrame _isLoadComplete]): Ditto.
-
-2002-11-08 Ken Kocienda <kocienda@apple.com>
-
- Fix deployment build breaker: a variable was used only in a
- LOG statement, causing the variable to become usused when
- building with the Deployment build style.
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler finishedLoading])
-
-2002-11-07 Darin Adler <darin@apple.com>
-
- * History.subproj/WebHistoryItem.h: Replace _URL with _URLString.
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem _retainIconInDatabase:]): Get the URL with [self URL].
- (-[WebHistoryItem initWithURL:target:parent:title:]): Set up _URLString.
- (-[WebHistoryItem dealloc]): Release _URLString.
- (-[WebHistoryItem URL]): Make a URL from _URLString.
- (-[WebHistoryItem icon]): Use [self URL] instead of _URL.
- (-[WebHistoryItem setURL:]): Store a URL string.
- (-[WebHistoryItem hash]): Use the URL string's hash.
- (-[WebHistoryItem isEqual:]): Compare the URL strings.
- (-[WebHistoryItem description]): Use _URLString.
- (-[WebHistoryItem dictionaryRepresentation]): Use _URLString.
- (-[WebHistoryItem initFromDictionaryRepresentation:]): Call through to
- the other init functions so we have only one designated initializer.
- Leave the date as nil if there's no date in the dictionary instead of
- setting the date to 0.
-
-2002-11-07 Maciej Stachowiak <mjs@apple.com>
-
- Removed SaveAndOpenExternally policy.
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler finishedLoading]):
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedError:]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
- (-[WebMainResourceClient handleDidFinishLoading:]):
-
-2002-11-07 Chris Blumenberg <cblu@apple.com>
-
- * WebKit.pbproj/project.pbxproj:
-
-2002-11-07 Richard Williamson <rjw@apple.com>
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer stopAnimation]):
-
-2002-11-07 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 3095628 - REGRESSION: exception when clicking on link to load content into iframe
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _actionInformationForNavigationType:event:]): Get the
- element info from the HTML view where the click originally
- happened, not the current document view. Add some asserts to make
- sure this is working.
-
-
-2002-11-07 Richard Williamson <rjw@apple.com>
-
- Tweaks
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]):
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
-
-=== Alexander-31 ===
-
-2002-11-07 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 3094778 - REGRESSION: Assert on logout from schwab.com
-
- (probably fixed it anyway - I'm flying blind on this one)
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]): Use a nil request
- if the URL was nil, instead of making a request that contains a
- nil URL.
-
-2002-11-07 Maciej Stachowiak <mjs@apple.com>
-
- Changed things so that creating a window takes a request rather
- than a URL and referrer.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]):
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _openNewWindowWithRequest:behind:]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _setTriggeringEvent:]):
- (-[WebDataSource _triggeringEvent]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame setProvisionalDataSource:]):
- (-[WebFrame findOrCreateFramedNamed:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
- * WebView.subproj/WebWindowOperationsDelegate.h:
-
-2002-11-06 Darin Adler <darin@apple.com>
-
- - fixed problem where files small enough to fit entirely in the buffer
- (8K or less) would not be decoded
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler decodeData:]): Added. Moved most of the code from
- receivedData into here.
- (-[WebDownloadHandler receivedData:]): Changed to call decodeData.
- (-[WebDownloadHandler finishedLoading]): Call decodeData on any remaining
- bytes rather than writing them straight out to the data fork.
-
-2002-11-06 Richard Williamson <rjw@apple.com>
-
- More work on rendering scripts. Now most complex scripts render correctly.
- Working new features include:
- bidi, diacriticals, cursive forms, and arabic ligatures.
- Selection of text rendered in these scripts, is however, not working.
- Also, line height is incorrect when renderering combined below glyphs.
- ajami is, sadly, horrendously broken.
-
- * Misc.subproj/WebUnicode.m:
- (glyphVariantLogical):
- (shapedString):
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
-
-2002-11-06 John Sullivan <sullivan@apple.com>
-
- * Bookmarks.subproj/WebBookmark.m:
- (+[WebBookmark bookmarkOfType:]):
- made this handle WebBookmarkTypeProxy
-
-2002-11-06 Darin Adler <darin@apple.com>
-
- - fixed bug that affected BinHex-encoded files with no resource fork
-
- * Downloads.subproj/WebBinHexDecoder.m:
- (-[WebBinHexDecoder decodeData:dataForkData:resourceForkData:]):
- Don't decode the resource fork unless done with the data fork.
-
- * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler receivedData:]):
- Set the forks to nil before calling through.
-
-2002-11-06 Darin Adler <darin@apple.com>
-
- * Downloads.subproj/WebMacBinaryDecoder.m: (+[WebMacBinaryDecoder canDecodeHeaderData:]):
- Fix == 129 check that was supposed to be <= 129.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2002-11-06 Darin Adler <darin@apple.com>
-
- * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder decodeIntoBuffer:size:]):
- Fix an off-by-one error handling repeat counts.
-
- * WebKit.pbproj/project.pbxproj: Fix group name I accidentally mangled.
-
-2002-11-06 Darin Adler <darin@apple.com>
-
- - added a BinHex decoder and did a little work on the MacBinary decoder
-
- I'm not supposed to be working on this, but I didn't feel like doing "real" work.
-
- * Downloads.subproj/WebBinHexDecoder.h: Added.
- * Downloads.subproj/WebBinHexDecoder.m: Added.
- * WebKit.pbproj/project.pbxproj: Added WebBinHexDecoder.
-
- * Downloads.subproj/WebDownloadDecoder.h: Added WEB_DOWNLOAD_DECODER_MINIMUM_HEADER_LENGTH.
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler closeFile]): Check to be sure we don't close the same file twice.
-
- * Downloads.subproj/WebMacBinaryDecoder.h: Added _scriptCode.
- * Downloads.subproj/WebMacBinaryDecoder.m:
- (+[WebMacBinaryDecoder canDecodeHeaderData:]): Added check of MacBinary version field.
- (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): Added MacBinary III
- part that gets the script code.
- (-[WebMacBinaryDecoder filename]): Use the script code.
-
-2002-11-06 Maciej Stachowiak <mjs@apple.com>
-
- Took URL field out of click policy - open in new window policy
- will always open the request URL.
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebControllerPolicyDelegate.m:
- (-[WebPolicyPrivate dealloc]):
- (+[WebURLPolicy webPolicyWithURLAction:]):
- (+[WebFileURLPolicy webPolicyWithFileAction:]):
- (+[WebContentPolicy webPolicyWithContentAction:andPath:]):
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
-
-2002-11-06 Chris Blumenberg <cblu@apple.com>
-
- Support MacBinary I by checking that bytes 99-127 are 0. Also check byte 82 for all formats.
-
- * Downloads.subproj/WebMacBinaryDecoder.m:
- (+[WebMacBinaryDecoder canDecodeHeaderData:]):
-
-2002-11-06 Ken Kocienda <kocienda@apple.com>
-
- Call new WebHTTPResourceRequest method to set the amount of time
- to cache a 404 response when trying to fetch a favicon.
-
- This change helps to fix this bug:
-
- Radar 3004422 (Loader should cache misses)
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading])
-
-2002-11-05 Maciej Stachowiak <mjs@apple.com>
-
- Reworked clickPolicy arguments to be closer to proposed version.
-
- * WebKit.exp:
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebControllerPolicyDelegate.m:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate clickPolicyForAction:andRequest:inFrame:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _actionInformationForNavigationType:event:]):
- (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
-
-2002-11-05 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebTextRenderer.m: Made a slightly simpler and faster
- version of the new "lose precision" CEIL_TO_INT macro.
-
-2002-11-05 Richard Williamson <rjw@apple.com>
-
- Fixed a couple of issues that Dave highlighted w/ his whitespace
- fixes. CG sometimes introduces very small 'error' in metrics, specifically
- we saw character widths of 20.0000019 that should have been 20. As a
- work-around we loose precision beyond the 1000th place. Also, always
- ceil spaces.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
-
-2002-11-05 Darin Adler <darin@apple.com>
-
- - fixed 3084704 -- crash in HTMLTokenizer on page with JavaScript
- HTMLDocument::Close inside a <script>
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]):
- We need to stop loading here. Otherwise we might do loading after closeURL,
- which could lead to a problem like the one above.
-
-2002-11-05 Darin Adler <darin@apple.com>
-
- - changed our MacBinary decoding to not pay any attention to the comment
-
- Before we would "fail to decode" if the comment was truncated, now we just
- don't worry about it.
-
- * Downloads.subproj/WebMacBinaryDecoder.h: Remove _commentLength and _commentEnd.
- * Downloads.subproj/WebMacBinaryDecoder.m:
- (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): Remove code
- to get _commentLength and code to compute _commentEnd.
- (-[WebMacBinaryDecoder finishDecoding]): Check offset against the resource fork
- end rather than the comment end to see if we got enough data.
-
-2002-11-05 John Sullivan <sullivan@apple.com>
-
- * Resources/url_icon.tiff:
- reverted generic URL icon back to the one that
- looks like a document until we get something from
- HI that SJ likes
-
-2002-11-05 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3074108 - Decode macbinary files during download
-
- * Downloads.subproj/WebDownloadDecoder.h:
- * Downloads.subproj/WebDownloadHandler.h:
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler initWithDataSource:]):
- (-[WebDownloadHandler dealloc]):
- (-[WebDownloadHandler decodeHeaderData:dataForkData:resourceForkData:]):
- (-[WebDownloadHandler decodeData:dataForkData:resourceForkData:]):
- (-[WebDownloadHandler closeFile]):
- (-[WebDownloadHandler cleanUpAfterFailure]):
- (-[WebDownloadHandler createFileIfNecessary]):
- (-[WebDownloadHandler writeData:toFork:]):
- (-[WebDownloadHandler writeDataForkData:resourceForkData:]):
- (-[WebDownloadHandler dataIfDoneBufferingData:]):
- (-[WebDownloadHandler receivedData:]):
- (-[WebDownloadHandler finishDecoding]):
- (-[WebDownloadHandler finishedLoading]):
- (-[WebDownloadHandler cancel]):
- * Downloads.subproj/WebMacBinaryDecoder.h:
- * Downloads.subproj/WebMacBinaryDecoder.m:
- (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]):
- (-[WebMacBinaryDecoder fileAttributes]):
- (-[WebMacBinaryDecoder filename]):
- * Misc.subproj/WebKitErrors.h: added new errors
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveResponse:]): don't send response to download handler
- (-[WebMainResourceClient handle:didReceiveData:]): watch for decoding errors
-
-2002-11-05 Ken Kocienda <kocienda@apple.com>
-
- Fix for this bug:
-
- Radar 3092747 (javascript cookieEnabled property returns incorrect value)
-
- Now, we return "true" for navigator.cookieEnabled when
- "Only accept cookies from the same domain as the current page" option
- is selected is user preferences.
-
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- (-[WebCookieAdapter cookiesEnabled])
-
-2002-11-05 John Sullivan <sullivan@apple.com>
-
- - fixed 3091271 -- missing plug-in icon is on white
- background, not transparent.
-
- * Resources/nullplugin.tiff: Photoshopped the white away. It's
- still ugly, but that's a separate bug (3091274)
-
-2002-11-05 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 3083732 - SJ: window comes out blank on samsung site
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- Don't start loading if the URL is exactly the same as the parent
- URL. We may need a more stringent check, but this seems to match
- the tolerance of other browsers OK.
-
-2002-11-05 Maciej Stachowiak <mjs@apple.com>
-
- Added request and frame to click policy callback.
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate clickPolicyForElement:button:modifierFlags:request:inFrame:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueAfterClickPolicyForEvent:request:]):
- (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
-
-2002-11-04 Richard Williamson <rjw@apple.com>
-
- Changes to support cursive letter forms. It works, but I've
- disabled it for now. It's buggy and needs cleanup.
- Arabic now renders correctly except for ligature substitution.
-
- * Misc.subproj/WebUnicode.h:
- * Misc.subproj/WebUnicode.m:
- (_unicodeIsMark):
- (getShape):
- (prevChar):
- (nextChar):
- (prevLogicalCharJoins):
- (nextLogicalCharJoins):
- (glyphVariantLogical):
- (shapedString):
- * Misc.subproj/WebUnicodeTables.m:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
- * WebKitPrefix.h:
-
-2002-11-04 Maciej Stachowiak <mjs@apple.com>
-
- Changes to send NSEvents all the way through WebCore and then pass
- them back out to WebKit, so that click policy can have a
- WebResourceRequest added.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:reload:triggeringEvent:]):
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueAfterClickPolicyForEvent:]):
- (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseUp:]):
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
-
-2002-11-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed - 3091658: REGRESSION: cmd-left for back doesn't work in plain-text viewer
-
- We now pass text field key events to the next responder which would be WebView in this case.
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView keyDown:]):
- (-[WebTextView keyUp:]):
-
-2002-11-04 Darin Adler <darin@apple.com>
-
- - fixed 3090257 -- "leak the world" using the Wallace and Gromit "console"
-
- * Plugins.subproj/WebNetscapePluginStream.m: Update for changes to the base delegate.
- (-[WebNetscapePluginStream start]): Use loadWithRequest:.
- (-[WebNetscapePluginStream stop]): Call cancel instead of just canceling the handle
- directly. This fixes the world leak.
- (-[WebNetscapePluginStream cancel]): Do some of the work that was formerly in "stop".
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:willSendRequest:]): Call the "stop loading URL" whenever
- we cancel I/O, so we don't leak the world.
- (-[WebMainResourceClient handle:didReceiveResponse:]): Ditto.
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge objectLoadedFromCache:response:size:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient handleDidFinishLoading:]):
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _finishedLoadingResourceFromDataSource:]):
- Fix a typo in the word "finished".
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Tweak.
- (-[WebBaseResourceHandleDelegate cancel]): Tweak.
-
- * Panels.subproj/WebStandardPanels.m:
- (-[WebStandardPanels didStartLoadingURL:inWindow:]): Add assertions.
- (-[WebStandardPanels didStopLoadingURL:inWindow:]): Ditto.
- (-[WebStandardPanels _didStartLoadingURL:inController:]): Ditto.
- (-[WebStandardPanels _didStopLoadingURL:inController:]): Ditto.
-
-2002-11-04 Darin Adler <darin@apple.com>
-
- * Downloads.subproj/WebMacBinaryDecoder.h: Removed many unneeded fields.
- * Downloads.subproj/WebMacBinaryDecoder.m:
- (+[WebMacBinaryDecoder canDecodeHeaderData:]): Added comments. Changed maximum filename
- length to 63 as the format supports, rather than the 31 that's based on historical
- HFS limitations. Fix endian dependency in CRC check.
- (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): Simplified this,
- and removed the state machine and the accumulator. Also added some asserts. Fixed endian
- dependency in the code to extract the header.
- (-[WebMacBinaryDecoder finishDecoding]): New simpler check now that we don't have a
- _streamComplete boolean.
- (-[WebMacBinaryDecoder fileAttributes]): Rewrote to take advantage of the above changes,
- and also to use kCFAbsoluteTimeIntervalSince1904 rather than parsing a date string.
-
- * Downloads.subproj/crc16.h: Tweaks.
- * Downloads.subproj/crc16.m: Tweaks.
-
-2002-11-04 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]):
- Replaced a useless call to stopAnimation with a couple of asserts.
-
-2002-11-04 John Sullivan <sullivan@apple.com>
-
- * Resources/url_icon.tiff:
- new "generic URL" icon from HI -- this one looks like
- a red ribbon (!)
-
-2002-11-03 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/WebPluginError.h:
- * Plugins.subproj/WebPluginError.m:
- Not __MyCompanyName__, but rather Apple Computer.
-
-2002-11-03 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/WebPlugin.h: Fix comment.
-
- * Plugins.subproj/WebPluginError.m: (-[WebPluginErrorPrivate dealloc]):
- Fix leak by calling [super dealloc].
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFramePrivate dealloc]): Remove the
- timer invalidate since, as Trey pointed out, it's pointless to invalidate a
- timer in dealloc if it's retaining this object while valid.
-
-2002-11-03 Chris Blumenberg <cblu@apple.com>
-
- - Added MacBinary decoding code. Not yet used.
-
- * Downloads.subproj/WebMacBinaryDecoder.h: Added.
- * Downloads.subproj/WebMacBinaryDecoder.m: Added.
- (+[WebMacBinaryDecoder canDecodeHeaderData:]):
- (-[WebMacBinaryDecoder init]):
- (-[WebMacBinaryDecoder dealloc]):
- (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]):
- (-[WebMacBinaryDecoder finishDecoding]):
- (-[WebMacBinaryDecoder fileAttributes]):
- * Downloads.subproj/crc16.h: Added.
- * Downloads.subproj/crc16.m: Added.
- (CRC16):
- * Plugins.subproj/WebPluginPackage.m:
- (-[WebPluginPackage isLoaded]):
- * WebKit.pbproj/project.pbxproj:
-
-2002-11-03 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent
- changes both to the code here and to the extract script.
-
-2002-11-03 Darin Adler <darin@apple.com>
-
- - fixed 3091300 -- "prelighting" on local page is still slow, despite recent bug fix
-
- Turns out all updating would be slow if any resources on the page failed to load.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- Call the new reportError instead of cancel.
- (-[WebSubresourceClient handle:didFailLoadingWithError:]): Ditto.
-
-2002-11-02 Darin Adler <darin@apple.com>
-
- * Panels.subproj/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForRequest:]):
- Do the previous fix one better by using _web_hostWithPort.
-
-2002-11-02 Darin Adler <darin@apple.com>
-
- - fixed bug where the address of an NSNumber object would be used for the port number
-
- * Panels.subproj/WebAuthenticationPanel.m: (-[WebAuthenticationPanel setUpForRequest:]):
- Call intValue on the object returned from [NSURL port].
-
-2002-11-01 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]):
- Fixed uninitialized variable problem.
-
-2002-11-01 Darin Adler <darin@apple.com>
-
- - fixed 3090239 -- crash on window close
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]): Nil out the bridge and
- release it so we don't close the URL twice.
-
- - fixed 3058598 -- animated gif animates repeatedly in Alex, but only once in other browsers
-
- * WebCoreSupport.subproj/WebImageRenderer.h: Added fields used by bug workaround.
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer blockHasGIFExtensionSignature:length:]): Helper method for bug workaround.
- (-[WebImageRenderer checkDataForGIFExtensionSignature:]): Checks incoming data for the GIF
- extension signatures.
- (-[WebImageRenderer initWithData:]): Override to call checkDataForGIFExtensionSignature.
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Call checkDataForGIFExtensionSignature.
- (-[WebImageRenderer repetitionCount]): Return 1 if we were going to return 0, but we didn't see a
- GIF extension signature. This workaround can be removed once we require a system new enough to have
- the bug fix for bug 3090341.
- (-[WebImageRenderer nextFrame:]): Stop on last frame, don't wrap around to first.
-
- * WebCoreSupport.subproj/WebImageRendererFactory.h: Update for changes to WebCore.
- * WebCoreSupport.subproj/WebImageRendererFactory.m: Tweaks.
-
- * WebView.subproj/WebImageRepresentation.m: Update imports.
- * WebView.subproj/WebImageView.m: Update imports.
-
-2002-11-01 Richard Williamson <rjw@apple.com>
-
- Implemented rendering of diacriticals.
-
- * Misc.subproj/WebUnicode.h:
- * Misc.subproj/WebUnicode.m:
- (_unicodeDigitValue):
- (_unicodeCategory):
- (_unicodeDirection):
- (_unicodeJoining):
- (_unicodeDecompositionTag):
- (_unicodeMirrored):
- (_unicodeCombiningClass):
- (_unicodeLower):
- (_unicodeUpper):
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
- (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
-
-2002-11-01 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2002-11-01 Chris Blumenberg <cblu@apple.com>
-
- Check that the plug-in is loaded before calling it.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.h:
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream dealloc]):
- (-[WebBaseNetscapePluginStream setPluginPointer:]):
- (-[WebBaseNetscapePluginStream setResponse:]):
- (-[WebBaseNetscapePluginStream receivedData:]):
- (-[WebBaseNetscapePluginStream destroyStreamWithReason:]):
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
- * Plugins.subproj/WebBasePluginPackage.h:
- * Plugins.subproj/WebBasePluginPackage.m:
- (-[WebBasePluginPackage isLoaded]):
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage isLoaded]):
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
-
-2002-11-01 Chris Blumenberg <cblu@apple.com>
-
- - Moved plug-in error handling to WebResourceLoadDelegate
- - Report plug-in load failure, java load failure, and plug-in not found errors.
- - Added WebPluginError, subclass of WebError.
- - Attempted fix: 3090675 - Standalone WMP (Window Media Player) content crashes Alexander
-
- * English.lproj/Localizable.strings:
- * Misc.subproj/WebKitErrors.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendEvent:]): don't send event to null function
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]): report plug-in load failure
- * Plugins.subproj/WebNullPluginView.h:
- * Plugins.subproj/WebNullPluginView.m: take a WebPluginError
- (-[WebNullPluginView dealloc]):
- (-[WebNullPluginView viewDidMoveToWindow]):
- * Plugins.subproj/WebPluginError.h: Added.
- * Plugins.subproj/WebPluginError.m: Added.
- (-[WebPluginErrorPrivate dealloc]):
- (-[WebPluginError dealloc]):
- (-[WebPluginError pluginPageURL]):
- (-[WebPluginError pluginName]):
- (-[WebPluginError MIMEType]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): report plug-in load failure
- (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): report plug-in load failure
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.m:
- (-[WebResourceLoadDelegate pluginFailedWithError:dataSource:]): added, does nothing
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebView.m:
- (+[WebView initialize]): added new error strings
-
-2002-11-01 John Sullivan <sullivan@apple.com>
-
- - some weaning of WebBookmark API from WebBookmarkGroup
-
- * Bookmarks.subproj/WebBookmark.m:
- (-[WebBookmark dealloc]):
- set group to nil instead of asserting that it's non-nil
-
- * Bookmarks.subproj/WebBookmarkGroup.h:
- removed obsolete ivar _bookmarksByID
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup initWithFile:]):
- removed obsolete ivar _bookmarksByID
- (-[WebBookmarkGroup dealloc]):
- removed obsolete ivar _bookmarksByID
- (-[WebBookmarkGroup removeBookmark:]):
- removed this unnecessary method; callers need to use
- [[bookmark parent] removeChild:bookmark] instead
-
-2002-11-01 Trey Matteson <trey@apple.com>
-
- Moved involved code for loading URLs from WebBridge up to WebFrame, with a little
- consolidation along the way. I need to get all this stuff in one place in prep
- for doing back-forward properly with frames. There should be no change in
- functionality as a result of these changes.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:reload:]):
- (-[WebBridge postWithURL:data:contentType:]):
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- Much of the guts of these is moved to WebFramePrivate.
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setIsClientRedirect:]):
- (-[WebDataSource _isClientRedirect]):
- Keep state of whether we're processing a redirect in DataSource. I had previously
- to do this with a loadType, but that failed because cliRedir is orthogonal.
- * WebView.subproj/WebFramePrivate.h:
- WebFrameLoadTypeClientRedirect is gone.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate init]):
- Initialize loadType explicitly.
- (-[WebFrame _transitionToCommitted]):
- Test [dataSource _isClientRedirect] instead of looking at loadType.
- (-[WebFrame _isLoadComplete]):
- Nuke WebFrameLoadTypeClientRedirect
- (-[WebFrame _goToItem:withFrameLoadType:]):
- Nuke WebFrameLoadTypeClientRedirect.
- (-[WebFrame _loadRequest:]):
- Helper method moved from WebBridge.
- (-[WebFrame _loadURL:loadType:clientRedirect:]):
- Core impl moved up from WebBridge.
- (-[WebFrame _postWithURL:data:contentType:]):
- Core impl moved up from WebBridge.
-
-2002-11-01 Darin Adler <darin@apple.com>
-
- - implemented loop counts
-
- * WebCoreSupport.subproj/WebImageRenderer.h: Added repetitionsComplete field.
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer repetitionCount]): Get NSImageLoopCount.
- (-[WebImageRenderer nextFrame:]): Check repetitionCount and stop once we hit it.
-
-2002-10-31 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebFrame.m: (-[WebFrame setController:]): Add an assert,
- hoping to catch a reported bug earlier or disprove one theory.
-
-2002-10-31 Trey Matteson <trey@apple.com>
-
- Added API to support 3072505 - SnapBack for user-entered page address
- Refixed 3041616 - Extra page added in back button history
- Previous fix was stepped on by a later checkin. Re-established that fix, then
- went on to make sure we have the final URL and title in the BF item in the
- case of a client redirect. Also handles redirects that happen within frames.
- Fixed 3078560 - div added to "back" list
-
- * History.subproj/WebBackForwardList.h:
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList containsEntry:]):
- Added new API for 3072505.
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
- (-[WebBridge reportClientRedirectCancelled]):
- (-[WebBridge loadURL:reload:]):
- Added logging. Renamed flag. Establish the right loadtype and set BF items
- from the old dataSource onto the new dataSource in the case of a client redirect.
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setRequest:]):
- Add logging.
- (-[WebDataSource _addBackForwardItem:]):
- (-[WebDataSource _addBackForwardItems:]):
- (-[WebDataSource _backForwardItems]):
- New setters/getters to support setting up the new dataSource of a client redirect.
- * WebView.subproj/WebFramePrivate.h:
- New loadType WebFrameLoadTypeClientRedirect.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
- Update the URL in the BF list in the client redirect case.
- (-[WebFrame _isLoadComplete]):
- NOP case for WebFrameLoadTypeClientRedirect
- (-[WebFrame _goToItem:withFrameLoadType:]):
- ASSERT_NOT_REACHED case for WebFrameLoadTypeClientRedirect
-
-2002-10-31 Richard Williamson <rjw@apple.com>
-
- Corrected extern definitions of lookup tables.
-
- * Misc.subproj/WebUnicode.h:
- * Misc.subproj/WebUnicode.m:
- (_unicodeDirection):
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (+[WebTextRenderer initialize]):
-
-=== Alexander-30 ===
-
-2002-10-30 Richard Williamson <rjw@apple.com>
-
- More work on bidi and contextual forms.
- Table lookup code for unicode characters attributes.
-
- * Misc.subproj/WebUnicode.h: Added.
- * Misc.subproj/WebUnicode.m: Added.
- (_unicodeDigitValue):
- (_unicodeCategory):
- (_unicodeDirection):
- (_unicodeJoining):
- (_unicodeDecompositionTag):
- (_unicodeMirrored):
- (_unicodeMirroredChar):
- (_unicodeCombiningClass):
- (_unicodeLower):
- (_unicodeUpper):
- (WebKitInitializeUnicode):
- * Misc.subproj/WebUnicodeTables.m: Added.
- * WebKit.pbproj/project.pbxproj:
-
- Additional logging parameter.
-
- * Misc.subproj/WebKitLogging.h:
- * Misc.subproj/WebKitLogging.m:
-
-2002-10-30 Maciej Stachowiak <mjs@apple.com>
-
- Pass WebResourceRequest rather than just NSURL to URL policy
- delegate method.
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (+[WebDefaultPolicyDelegate defaultURLPolicyForRequest:]):
- (-[WebDefaultPolicyDelegate URLPolicyForRequest:inFrame:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _shouldShowRequest:]):
-
-2002-10-30 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2002-10-30 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3088122 - Assertion failure/crash closing window with QuickTime streaming in
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setMainDocumentError:]): call receivedError on the representation.
-
-2002-10-30 Darin Adler <darin@apple.com>
-
- - fixed memory leaks in plugin package creation code
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage initWithPath:]): Rearrange this code, and make sure
- that it does a [self release] if it's going to return nil instead of self.
- (-[WebNetscapePluginPackage unload]): Set bundle to 0 when we release it.
- (-[WebNetscapePluginPackage dealloc]): Release the bundle if it's not 0.
-
- * Plugins.subproj/WebPluginPackage.m:
- (-[WebPluginPackage initWithPath:]): Rearrange this code, and make sure
- that it does a [self release] if it's going to return nil instead of self.
-
-2002-10-30 Darin Adler <darin@apple.com>
-
- - fixed 3086564 -- REGRESSION: meta-refresh to the same page doesn't refresh
-
- The key is to respect the new reload: parameter from the bridge.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:reload:]): Don't ever treat a reload as a redirect.
- Set the cache policy to WebRequestCachePolicyLoadFromOrigin if it's a reload.
-
- - fixed 3087214 -- REGRESSION: <WebKit/WebKit.h> contains #import of non-existent header
-
- * Misc.subproj/WebKit.h: Removed import of WebControllerSets.h, which is private.
-
-2002-10-30 Maciej Stachowiak <mjs@apple.com>
-
- Another step towards the policy API change - add request argument
- to file URL policy and remove isDirectory argument.
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate fileURLPolicyForMIMEType:andRequest:inFrame:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame setProvisionalDataSource:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _shouldShowRequest:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:willSendRequest:]):
-
-2002-10-29 Maciej Stachowiak <mjs@apple.com>
-
- First step towards policy API change. Pass request instead of URL
- to content policy delegate method.
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveResponse:]):
-
-2002-10-29 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 3087548 - REGRESSION: two windows open for netflix confirmation
-
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _findFrameInThisWindowNamed:]): Added this function back,
- and added check for top-level frame name.
- (-[WebController _findFrameNamed:]): Use
- _findFrameInThisWindowNamed: to make sure top-level frame names
- get checked.
-
-2002-10-29 Chris Blumenberg <cblu@apple.com>
-
- Created Downloads.subproj to hold the to-be-implemented download decoders.
-
- * Downloads.subproj/WebDownloadDecoder.h: Added.
- * Downloads.subproj/WebDownloadHandler.h: Added.
- * Downloads.subproj/WebDownloadHandler.m: Added.
- (-[WebDownloadHandler initWithDataSource:]):
- (-[WebDownloadHandler dealloc]):
- (-[WebDownloadHandler errorWithCode:]):
- (-[WebDownloadHandler receivedResponse:]):
- (-[WebDownloadHandler receivedData:]):
- (-[WebDownloadHandler finishedLoading]):
- (-[WebDownloadHandler cancel]):
- * Misc.subproj/WebDownloadHandler.h: Removed.
- * Misc.subproj/WebDownloadHandler.m: Removed.
- * WebKit.pbproj/project.pbxproj:
-
-2002-10-28 Darin Adler <darin@apple.com>
-
- - fixed crash I just introduced
-
- * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase init]):
- Remove the release call here. When I added the autorelease, I didn't realize that
- the caller was doing a release.
-
-2002-10-28 Trey Matteson <trey@apple.com>
-
- Fixed 3041616 - Extra page added in back button history
-
- Client-side redirects would always put an extra item in the backforward list.
- According to Darin this is a regression all the way back from functionality moving
- from WebBrowser to WebKit.
-
- * WebCoreSupport.subproj/WebBridge.h:
- Added state to know if we're doing an "internal" type of load
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
- Set internalLoad bit if delay==0
- (-[WebBridge reportClientRedirectCancelled]):
- Clear internalLoad
- (-[WebBridge loadURL:]):
- Set frame's loadType if doing an internal load (similar to what we do when loading
- child frames)
-
-2002-10-28 Darin Adler <darin@apple.com>
-
- - fixed storage leak of WebNetscapePluginPackage objects
-
- * Plugins.subproj/WebBasePluginPackage.m:
- (+[WebBasePluginPackage pluginWithPath:]): Add missing autorelease.
-
- * Plugins.subproj/WebBasePluginPackage.h:
- * Plugins.subproj/WebPluginController.h:
- * Plugins.subproj/WebPluginController.m:
- * Plugins.subproj/WebPluginPackage.h:
- * Plugins.subproj/WebPluginPackage.m:
- Not __MyCompanyName__, but rather Apple Computer.
-
-2002-10-28 Darin Adler <darin@apple.com>
-
- - fixed bug that caused us to leak all WebResourceHandles used for subresources
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient dealloc]): Remove bogus "currentURL == nil" assert.
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- Use the new loadWithRequest: call instead of making handle and doing loadWithDelegate:.
- This is where the leak was, because no one ever released the handle, but releasing it
- right away would be too soon.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.h: Added defersCallbacks field,
- loadWithRequest: method, and setDefersCallbacks: method. Removed handle method.
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate loadWithRequest:]): New method. Sets up the handle,
- set the defersCallbacks state on it, and calls loadWithDelegate:.
- (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): Stores defersCallbacks state,
- and also sets it on the handle, if any.
- (-[WebBaseResourceHandleDelegate handle:willSendRequest:]): Remove code to set up
- the handle, since we now do that at loadWithRequest: time.
-
- * WebView.subproj/WebDataSourcePrivate.h: Remove mainHandle field.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): Don't release mainHandle.
- (-[WebDataSource _setPrimaryLoadComplete:]): Ditto.
- (-[WebDataSource _startLoading]): Use loadWithRequest: on the client, no need to deal
- with the handle directly at all.
- (-[WebDataSource _addSubresourceClient:]): Call setDefersCallbacks: on the client.
- (-[WebDataSource _defersCallbacksChanged]): Ditto.
-
- * WebView.subproj/WebControllerPrivate.m: Remove unneeded include.
- * WebView.subproj/WebMainResourceClient.m: Ditto.
-
-2002-10-28 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3056726 - View Source window always displays the source in current system encoding
- Fixed: 3019352 - Text encoding is not handled when viewing plain text
-
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource stringWithData:]): added, creates a string using the specified encoding.
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation documentSource]): uses the bridge specified encoding when creating the string
- * WebView.subproj/WebTextView.h:
- * WebView.subproj/WebTextView.m:
- (-[WebTextView dataSourceUpdated:]): use stringWithData:
- (-[WebTextView supportsTextEncoding]): Yup
-
-2002-10-28 Richard Williamson <rjw@apple.com>
-
- Fixed crasher.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
-
-2002-10-28 John Sullivan <sullivan@apple.com>
-
- * Bookmarks.subproj/WebBookmark.h:
- * Bookmarks.subproj/WebBookmark.m:
- (-[WebBookmark contentMatches:]): new method, returns YES if
- two bookmarks are the same, ignoring group and parent.
-
-2002-10-28 Trey Matteson <trey@apple.com>
-
- Finished 2998200 - access to most-recent in submenu of back & forward buttons
-
- * WebView.subproj/WebDataSourcePrivate.h:
- The BF items we are going to and from were moved here from
- WebFrame because of timing problems among multiple data sources
- when using the BF buttons during a load.
- In addition, the datasource has a list of relevant BF items for
- which it keeps their titles up to date.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- Free new state.
- (-[WebDataSource _setTitle:]):
- Update titles of BF items.
- (-[WebDataSource _provisionalBackForwardItem]):
- (-[WebDataSource _setProvisionalBackForwardItem:]):
- (-[WebDataSource _previousBackForwardItem]):
- (-[WebDataSource _setPreviousBackForwardItem:]):
- (-[WebDataSource _addBackForwardItem:]):
- Maintain new state.
- (-[WebDataSource _commitIfReady]):
- Free up previous and provisional BF items after commit.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:]):
- Add the new BF item to the datasource.
- (-[WebBridge saveDocumentState:]):
- Use the right BF item to save the doc state.
- * WebView.subproj/WebFramePrivate.h:
- Previous and provisional BF are moved to datasource.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
- Use provisional BF from datasource to set position in BF list.
- Add new BF item to datasource.
- (-[WebFrame _isLoadComplete]):
- (-[WebFrame _checkLoadComplete]):
- Comments, whitespace.
- (-[WebFrame _goToItem:withFrameLoadType:]):
- Set item we will use to saveDocState at commit time.
-
-2002-10-27 Darin Adler <darin@apple.com>
-
- - WebKit part of filename width fix
-
- * WebCoreSupport.subproj/WebFileButton.m:
- (-[WebFileButton drawRect:]): Compute left position by starting at
- the right side of the button frame rather than by starting at the right
- side of the overall bounds. Removes dependency on fixed-width filename area.
- (-[WebFileButton updateLabel]): Added. Computes ellipsized filename.
- (-[WebFileButton setFilename:]): Use updateLabel instead of code in line here.
- (-[WebFileButton setFrameSize:]): Call updateLabel.
- (-[WebFileButton bestVisualFrameSizeForCharacterCount:]): Compute a width based
- on the count passed in rather than a hardcoded 200-pixel constant.
-
-2002-10-27 Darin Adler <darin@apple.com>
-
- - fixed 3037369 -- Status text not cleared after start of drag from page
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
- Find the highest-level enclosing WebHTMLView, and call _updateMouseoverWithEvent:
- with the mouseUp event after the drag is done.
- (-[WebHTMLView mouseMovedNotification:]): Just call _updateMouseoverWithEvent:,
- the code from here was moved into there.
-
- * WebView.subproj/WebHTMLViewPrivate.h: Declare _updateMouseoverWithEvent.
- * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _updateMouseoverWithEvent:]):
- Moved all the code from mouseMovedNotification: in here so it could be used twice.
-
-2002-10-27 Don Melton <gramps@apple.com>
-
- * WebView.subproj/WebController.m:
- (-[WebController userAgentForURL:]):
-
- Changed default user agent to Mozilla 1.1.
-
-2002-10-27 Darin Adler <darin@apple.com>
-
- * Bookmarks.subproj/WebBookmarkProxy.m: (-[WebBookmarkProxy dealloc]):
- Added, so we don't leak the title.
-
- * Bookmarks.subproj/WebBookmarkGroup.m: (-[WebBookmarkGroup removeBookmark:]):
- * Bookmarks.subproj/WebBookmarkList.m: (-[WebBookmarkList removeChild:]):
- Added retain/release pairs so we don't use an object after it's deallocated.
- In practice this doesn't happen the way these are used by Alex since they are
- in an array, but they have windows of vulnerability depending on exactly how
- they are used.
-
-2002-10-26 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory inputElementAltText]): Added.
- (-[WebViewFactory resetButtonDefaultLabel]): Added.
- (-[WebViewFactory searchableIndexIntroduction]): Added.
- (-[WebViewFactory submitButtonDefaultLabel]): Added.
- (-[WebViewFactory defaultLanguageCode]): Added.
-
- * English.lproj/Localizable.strings: Update.
- * English.lproj/StringsNotToBeLocalized.txt: Update.
-
-2002-10-25 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory runJavaScriptAlertPanelWithMessage:]): Added.
- (-[WebViewFactory runJavaScriptConfirmPanelWithMessage:]): Added.
-
- * English.lproj/Localizable.strings: Update.
- * English.lproj/StringsNotToBeLocalized.txt: Update.
-
-2002-10-25 Richard Williamson <rjw@apple.com>
-
- Implemented support for bidi text layout.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (_drawGlyphs):
- (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:]):
-
-2002-10-25 Chris Blumenberg <cblu@apple.com>
-
- Made frameNamed private in WebController and renamed it to _findFrameNamed. Got rid of _frameInThisWindowNamed in WebController because it isn't needed anymore.
-
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController _goToItem:withFrameLoadType:]): call _findFrameNamed
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _findFrameNamed:]): renamed, made private, got rid of call to _frameInThisWindowNamed as it is not needed
- * WebView.subproj/WebFrame.m:
- (-[WebFrame findFrameNamed:]): call [WebController _findFrameNamed:]
-
-2002-10-25 Chris Blumenberg <cblu@apple.com>
-
- - Fix case where we would name a new window _blank
- - If a data source can't be created for a plug-in request, don't create the frame or open a window.
- - cleaned up plug-in stream notifications
-
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView initWithFrame:]): create streamNotifications dict
- (-[WebBaseNetscapePluginView dealloc]): release streamNotifications dict
- (-[WebBaseNetscapePluginView frameStateChanged:]): cleaned up
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): create data source before frame
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController showURL:inFrame:]): create data source before frame
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _setTopLevelFrameName:]): don't allow _blank frames
- * WebView.subproj/WebFrame.m:
- (-[WebFrame findOrCreateFramedNamed:]): no need to check for _blank
-
-2002-10-25 Darin Adler <darin@apple.com>
-
- Tighten up the code that observes mouse moved events.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView initWithFrame:]): Don't set up observers here.
- (-[WebHTMLView addMouseMovedObserver]): Added some assertions.
- (-[WebHTMLView viewWillMoveToWindow:]): Stop observing the "become main" and "resign main"
- notifications here.
- (-[WebHTMLView viewDidMoveToWindow]): Start observing them here.
- (-[WebHTMLView windowDidBecomeMain:]): Assert that the notification is for this window,
- instead of checking with if.
- (-[WebHTMLView windowDidResignMain:]): Assert that the notification is for this window.
-
-2002-10-25 Chris Blumenberg <cblu@apple.com>
-
- Cleaned up the frame searching shenanigans. Things are much cleaner and clearer now.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call findOrCreateFramedNamed
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController showURL:inFrame:]): call findOrCreateFramedNamed
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge childFrames]): moved
- (-[WebBridge mainFrame]): moved
- (-[WebBridge findOrCreateFramedNamed:]): call findOrCreateFramedNamed on the frame
- (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call _pluginController
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _frameInThisWindowNamed:]): call _descendantFrameNamed
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame findFrameNamed:]): was frameNamed. First checks special-case frame names, descendant frames, then the whole controller, then other controllers.
- (-[WebFrame findOrCreateFramedNamed:]): calls findFrameNamed, opens new window if necessary
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _descendantFrameNamed:]): searches children, children's children etc.
- (-[WebFrame _pluginController]): this method needed an "_"
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addSubview:]): call _pluginController
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _elementAtPoint:]): no need to special case for "_blank" since findFrameNamed will return nil for that name
-
-2002-10-25 Trey Matteson <trey@apple.com>
-
- 2919039 - Implement limit on back/forward history list
- 2998200 - access to most-recent in submenu of back & forward buttons
- 3022566 - need WebKit API for accessing and visiting back/forward list items
- 3084051 - forward button incorrectly enabled after going forward all the way
-
- Remaining issues at this point are getting the title of the pages
- into the menu items (instead of the URL), and saving document
- state properly when you jump around in the list. Solutions are
- known and coming soon.
-
- * History.subproj/WebBackForwardList.h:
- Added doc comments to API. Made ivars private. Replaced index-
- based API with item-based API. Added a sizelimit to the overall
- list. Tweaked API to get back and forward lists.
- * History.subproj/WebBackForwardList.m:
- Straightforward impl of the above, with the note that I dumped
- WebHistoryList from the API and impl in favor of an NSArray,
- which is efficient for this sort of use (queue, stack).
- (-[WebBackForwardList init]):
- (-[WebBackForwardList dealloc]):
- (-[WebBackForwardList goBack]):
- (-[WebBackForwardList goForward]):
- (-[WebBackForwardList goToEntry:]):
- (-[WebBackForwardList backEntry]):
- (-[WebBackForwardList forwardEntry]):
- (-[WebBackForwardList maximumSize]):
- (-[WebBackForwardList setMaximumSize:]):
- (-[WebBackForwardList description]):
- * History.subproj/WebHistoryList.h: Removed.
- Nuked from API, per above.
- * History.subproj/WebHistoryList.m: Removed.
- * Misc.subproj/WebKit.h:
- WebHistoryList gone from API.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:]):
- Use if/else instead of buried "return;", so next person doesn;t
- make the same mis-read I did.
- (-[WebBridge saveDocumentState:]):
- Site of future work.
- * WebKit.pbproj/project.pbxproj:
- Nuked WebHistoryList.
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController goBackOrForwardToItem:]):
- New method to support random access nav in backforward list.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setTitle:]):
- Site of future work (fixing title in items)
- * WebView.subproj/WebFramePrivate.h:
- WebFrameLoadTypeIndexedBack/WebFrameLoadTypeIndexedForward are
- collapsed into WebFrameLoadTypeIndexedBackForward. Vestigial
- WebFrameLoadTypeIntermediateBack is nuked.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate setBackForwardItem:]):
- (-[WebFrame _setBackForwardItem:]):
- (-[WebFrame _backForwardItem]):
- Must remember the BF item we're going to so we can update the
- BF list on commit.
- (-[WebFrame _transitionToCommitted]):
- Update the BF list on commit.
- (-[WebFrame _isLoadComplete]):
- (-[WebFrame _goToItem:withFrameLoadType:]):
- Update BF list on within-page nav.
- Remember BF item we are going to for later update on commit.
-
-2002-10-25 Chris Blumenberg <cblu@apple.com>
-
- Minor non-mentionable clean-up.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
-
-2002-10-25 Chris Blumenberg <cblu@apple.com>
-
- Cleaned up the plug-in API headers so they can be sent to other groups.
-
- * Plugins.subproj/WebPlugin.h:
- * Plugins.subproj/WebPluginContainer.h:
- * Plugins.subproj/WebPluginViewFactory.h:
-
-2002-10-24 Richard Williamson <rjw@apple.com>
-
- Fixed many font substitution related bugs, at least including:
- 3006966, 3026675, 3071106, and more... (each of these bugs
- has a list of related bugs).
-
- Needs little more cleanup to correctly deal with non base characters.
-
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:]):
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:]):
-
- Against Darin's better judgement prevent extra layout when not in live resize. If
- this introduces any regressions I owe darin a good bottle of wine.
-
- * WebView.subproj/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]):
-
-2002-10-24 Chris Blumenberg <cblu@apple.com>
-
- New Java plug-in works! Much faster to load and no spinny cursor! Unfortunately, it very unstable.
-
- * Plugins.subproj/WebPluginController.m: cleaned-up the logging messages.
- (-[WebPluginController addPluginView:]):
- (-[WebPluginController didAddPluginView:]):
- (-[WebPluginController startAllPlugins]):
- (-[WebPluginController stopAllPlugins]):
- (-[WebPluginController destroyAllPlugins]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): make height and width an attribute.
-
-2002-10-24 Chris Blumenberg <cblu@apple.com>
-
- Some clean-up and bug fixes for new plug-in support.
-
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController initWithWebFrame:]): need a colon after windowWillClose
- (-[WebPluginController addPluginView:]): added logging
- (-[WebPluginController didAddPluginView:]): added logging
- (-[WebPluginController startAllPlugins]): added logging
- (-[WebPluginController stopAllPlugins]): added logging
- (-[WebPluginController destroyAllPlugins]): added logging
- * Plugins.subproj/WebPluginPackage.m:
- (-[WebPluginPackage getMIMEInformation]): use correct dict key for getting MIME descriptions
- * WebCoreSupport.subproj/WebBridge.m: no more didAddSubview
- * WebView.subproj/WebFramePrivate.h: no more didAddSubview
- * WebView.subproj/WebFramePrivate.m: no more didAddSubview
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addSubview:]): call didAddPluginView on WebPluginController
-
-2002-10-24 John Sullivan <sullivan@apple.com>
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCache:response:size:]):
- added ASSERT(response != nil), leftover from debugging
- session on Tuesday, seems worth leaving in.
-
-2002-10-24 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2002-10-24 Chris Blumenberg <cblu@apple.com>
-
- Changed some method names in WebPluginController.
-
- * Plugins.subproj/WebPluginController.h:
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController didAddPluginView:]):
- (-[WebPluginController startAllPlugins]):
- (-[WebPluginController stopAllPlugins]):
- (-[WebPluginController destroyAllPlugins]):
- (-[WebPluginController windowWillClose:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
- (-[WebFrame _didAddSubview:]):
-
-=== Alexander-29 ===
-
-2002-10-24 Richard Williamson <rjw@apple.com>
-
- Don't leak request.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
-
-2002-10-24 Richard Williamson <rjw@apple.com>
-
- Always copy request, we can't count on it being immutable.
- This was the cause of the ASSERT from last night's checkin.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
-
- Only send serverRedirectedForDataSource: if URL changed.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setRequest:]):
-
-2002-10-24 Chris Blumenberg <cblu@apple.com>
-
- - Use "MIMEType" instead of "serviceType".
-
- * Plugins.subproj/WebBasePluginPackage.h:
- * Plugins.subproj/WebBasePluginPackage.m:
- (-[WebBasePluginPackage load]):
- (-[WebBasePluginPackage dealloc]):
- (-[WebBasePluginPackage filename]):
- (-[WebBasePluginPackage setPath:]):
- * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributes:]):
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage getMIMEInformation]): changed name.
- (-[WebNetscapePluginPackage initWithPath:]):
- * Plugins.subproj/WebNullPluginView.h:
- * Plugins.subproj/WebNullPluginView.m:
- (-[WebNullPluginView initWithFrame:MIMEType:attributes:]):
- (-[WebNullPluginView dealloc]):
- (-[WebNullPluginView viewDidMoveToWindow]): send missing plug-ins notification here
- * Plugins.subproj/WebPluginPackage.m:
- (-[WebPluginPackage getMIMEInformation]): new, gets MIME info from plist
- (-[WebPluginPackage initWithPath:]):
- (-[WebPluginPackage dealloc]):
- (-[WebPluginPackage viewFactory]):
- (-[WebPluginPackage load]):
- (-[WebPluginPackage unload]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
- (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
-
-2002-10-24 Richard Williamson <rjw@apple.com>
-
- Flag error instead of ASSERTing as a result of fix to 3083013.
- Not clear why this condition occurs, but better than ASSERTing
- for Alex 29.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setRequest:]):
-
-2002-10-24 Darin Adler <darin@apple.com>
-
- - fixed a crash I ran into in the new delegate code
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate _releaseResources]): Retain self across this
- deallocation to avoid reentering and being deallocated midstream. This happens
- because the handle holds the only reference to us, and we may be releasing the
- last reference to it.
- (-[WebBaseResourceHandleDelegate dealloc]): Add call to [super dealloc].
-
- * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage dealloc]):
- Add call to [super dealloc].
-
- * WebView.subproj/WebMainResourceClient.m: Tweak.
-
-2002-10-23 Darin Adler <darin@apple.com>
-
- - fixed 3083013 -- REGRESSION: Cookie refused at http://directory/ even on reload
-
- Restore a bit of the cruft.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:willSendRequest:]):
- We need to change the request on the data source when a redirect happens,
- because the data source goes on to ultimately communicate this to WebCore.
- Restored the code that did that, with some changes to fit into the new regime.
-
-2002-10-23 Richard Williamson <rjw@apple.com>
-
- Cleaned up months of accumulated cruft.
- Added base class to the three WebResourceHandleDelegate implementors.
- Removed superfluous handle references to controller callbacks.
- More can still be done.
- All in the name of fixing 3076050.
-
- * Misc.subproj/WebKitErrors.h:
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setResponse:]):
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
- (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
- (-[WebNetscapePluginRepresentation finishedLoadingWithDataSource:]):
- * Plugins.subproj/WebNetscapePluginStream.h:
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
- (-[WebNetscapePluginStream dealloc]):
- (-[WebNetscapePluginStream start]):
- (-[WebNetscapePluginStream stop]):
- (-[WebNetscapePluginStream handle:willSendRequest:]):
- (-[WebNetscapePluginStream handle:didReceiveResponse:]):
- (-[WebNetscapePluginStream handle:didReceiveData:]):
- (-[WebNetscapePluginStream handleDidFinishLoading:]):
- (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge reportBadURL:]):
- * WebCoreSupport.subproj/WebSubresourceClient.h:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient initWithLoader:dataSource:]):
- (-[WebSubresourceClient dealloc]):
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- (-[WebSubresourceClient receivedError:]):
- (-[WebSubresourceClient handle:willSendRequest:]):
- (-[WebSubresourceClient handle:didReceiveResponse:]):
- (-[WebSubresourceClient handle:didReceiveData:]):
- (-[WebSubresourceClient handleDidFinishLoading:]):
- (-[WebSubresourceClient handle:didFailLoadingWithError:]):
- (-[WebSubresourceClient cancel]):
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate init]):
- (-[WebBaseResourceHandleDelegate _releaseResources]):
- (-[WebBaseResourceHandleDelegate dealloc]):
- (-[WebBaseResourceHandleDelegate setDataSource:]):
- (-[WebBaseResourceHandleDelegate dataSource]):
- (-[WebBaseResourceHandleDelegate resourceLoadDelegate]):
- (-[WebBaseResourceHandleDelegate downloadDelegate]):
- (-[WebBaseResourceHandleDelegate setIsDownload:]):
- (-[WebBaseResourceHandleDelegate isDownload]):
- (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
- (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]):
- (-[WebBaseResourceHandleDelegate handle:didReceiveData:]):
- (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]):
- (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
- (-[WebBaseResourceHandleDelegate cancel]):
- (-[WebBaseResourceHandleDelegate handle]):
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _mainReceivedBytesSoFar:fromDataSource:complete:]):
- (-[WebController _receivedError:fromDataSource:]):
- (-[WebController _mainReceivedError:fromDataSource:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _stopLoading]):
- (-[WebDataSource _clearErrors]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _isLoadComplete]):
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient initWithDataSource:]):
- (-[WebMainResourceClient dealloc]):
- (-[WebMainResourceClient receivedError:]):
- (-[WebMainResourceClient cancel]):
- (-[WebMainResourceClient handle:willSendRequest:]):
- (-[WebMainResourceClient _notifyDelegatesOfInterruptionByPolicyChange]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
- (-[WebMainResourceClient handle:didReceiveData:]):
- (-[WebMainResourceClient handleDidFinishLoading:]):
- (-[WebMainResourceClient handle:didFailLoadingWithError:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
-
-2002-10-23 Chris Blumenberg <cblu@apple.com>
-
- Support for new plug-in API. This is about as much as I can do without the new java plug-in and java root.
-
- * Plugins.subproj/WebPluginController.h:
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController initWithWebFrame:]): observe window close changes
- (-[WebPluginController dealloc]): remove observer, assert if we're still tracking plug-ins
- (-[WebPluginController didAddSubview:]): start the plug-in
- (-[WebPluginController stopAllPlugins]): stop and destroy all plug-ins.
- (-[WebPluginController windowWillClose:]): call stopAllPlugins if the window in question is closing
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]): call stopAllPlugins on WebPluginController
-
-2002-10-23 Chris Blumenberg <cblu@apple.com>
-
- Changed the plug-in package API to return key enumerators instead dictionaries.
-
- * Plugins.subproj/WebBasePluginPackage.h:
- * Plugins.subproj/WebBasePluginPackage.m:
- (-[WebBasePluginPackage initWithPath:]):
- (-[WebBasePluginPackage load]):
- (-[WebBasePluginPackage unload]):
- (-[WebBasePluginPackage dealloc]):
- (-[WebBasePluginPackage extensionEnumerator]):
- (-[WebBasePluginPackage MIMETypeEnumerator]):
- (-[WebBasePluginPackage descriptionForMIMEType:]):
- (-[WebBasePluginPackage MIMETypeForExtension:]):
- (-[WebBasePluginPackage extensionsForMIMEType:]):
- (-[WebBasePluginPackage setName:]):
- (-[WebBasePluginPackage setPath:]):
- (-[WebBasePluginPackage setFilename:]):
- (-[WebBasePluginPackage setPluginDescription:]):
- (-[WebBasePluginPackage setMIMEToDescriptionDictionary:]):
- (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
- * Plugins.subproj/WebNetscapePluginPackage.h:
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage getPluginInfo]):
- (-[WebNetscapePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
- (-[WebNetscapePluginPackage initWithPath:]):
- (-[WebNetscapePluginPackage executableType]):
- * Plugins.subproj/WebPluginController.h:
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController didAddSubview:]):
- * Plugins.subproj/WebPluginDatabase.h:
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
- (-[WebPluginDatabase pluginForMIMEType:]):
- (-[WebPluginDatabase pluginForExtension:]):
- (-[WebPluginDatabase MIMETypes]):
- (-[WebPluginDatabase init]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURL:attributes:baseURL:serviceType:]):
- (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
- (-[WebBridge didAddSubview:]): new
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _didAddSubview:]): new
-
-2002-10-23 Darin Adler <darin@apple.com>
-
- - finished up the job of moving the file button here from WebCore.
-
- I did this mainly for localization reasons.
-
- * WebCoreSupport.subproj/WebFileButton.m:
- (-[WebFileButton initWithFrame:]): Set up button control size, font, bezel style,
- target, and action. Also add it as a subview.
- (-[WebFileButton drawRect:]): Center icon in the "visual frame" part of the view,
- not the entire bounds.
- (-[WebFileButton setFilename:]): Don't show any icon when the filename is empty.
- (-[WebFileButton bestVisualFrameSize]): Implemented this.
- (-[WebFileButton visualFrame]): Ditto.
- (-[WebFileButton setVisualFrame:]): Ditto.
- (-[WebFileButton baseline]): Ditto.
- (-[WebFileButton beginSheet]): Added. Shared between button presses and other clicks.
- (-[WebFileButton chooseButtonPressed:]): Call beginSheet.
- (-[WebFileButton mouseDown:]): Ditto.
- (-[WebFileButton openPanelDidEnd:returnCode:contextInfo:]): Send the notification,
- WebCoreFileButtonFilenameChanged, when the filename is changed.
-
- * WebView.subproj/WebController.m: (-[WebController policyDelegate]):
- Add a FIXME about the leak I found here.
-
-2002-10-23 Chris Blumenberg <cblu@apple.com>
-
- Call the arguments for plug-ins "attributes" everywhere.
-
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView setAttributes:]):
- * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:mime:attributes:]):
- * Plugins.subproj/WebNullPluginView.h:
- * Plugins.subproj/WebNullPluginView.m:
- (-[WebNullPluginView initWithFrame:mimeType:attributes:]):
- (-[WebNullPluginView drawRect:]):
- * Plugins.subproj/WebPluginController.h:
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController initWithWebFrame:]):
- (-[WebPluginController dealloc]):
- (-[WebPluginController addPluginView:]):
- * Plugins.subproj/WebPluginPackage.h:
- * Plugins.subproj/WebPluginPackage.m:
- (-[WebPluginPackage viewFactory]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
- (-[WebBridge viewForPluginWithURL:attributes:baseURL:serviceType:]):
- (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
-
-2002-10-23 Chris Blumenberg <cblu@apple.com>
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge requestedURL]):
- (-[WebBridge viewForPluginWithURL:serviceType:arguments:baseURL:]):
- (-[WebBridge viewForJavaAppletWithFrame:baseURL:parameters:]):
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory fileButton]):
- (-[WebViewFactory pluginsInfo]):
-
-2002-10-23 Darin Adler <darin@apple.com>
-
- - fix bug where plugins crashed closing a stream that was never opened
-
- * Plugins.subproj/WebBaseNetscapePluginStream.h: Change type for parameter of
- receivedError: to NPReason. It's not NPError.
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream dealloc]): Assert that stream is destroyed by
- checking stream.ndata.
- (-[WebBaseNetscapePluginStream setResponse:]): Set stream.ndata to nil if the
- stream is not successfully created by NPP_NewStream.
- (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): Added. Destroys the
- stream, but only if it's present. Also set stream.ndata to nil. This was the bug fix.
- (-[WebBaseNetscapePluginStream receivedError:]): Call destroyStreamWithReason:.
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Call destroyStreamWithReason:.
-
- * English.lproj/Localizable.strings: Update.
- * English.lproj/StringsNotToBeLocalized.txt: Update.
-
-2002-10-23 Chris Blumenberg <cblu@apple.com>
-
- Forgot to add WebPluginController back to the project after I had a project conflict.
-
- * WebKit.pbproj/project.pbxproj:
-
-2002-10-23 Chris Blumenberg <cblu@apple.com>
-
- Added WebPluginController which controls and reacts to plug-in requests. Its owned by the WebFrame.
-
- * Plugins.subproj/WebPluginController.h: Added.
- * Plugins.subproj/WebPluginController.m: Added.
- (-[WebPluginController initWithWebFrame:]):
- (-[WebPluginController showURL:inFrame:]):
- (-[WebPluginController showStatus:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate dealloc]):
- (-[WebFrame pluginController]):
-
-2002-10-23 Darin Adler <darin@apple.com>
-
- Add WebFileButton, to be used by WebCore soon. It's about 1/2
- done right now. Compiles but not used yet.
-
- * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory fileButton]): Added.
-
- * WebCoreSupport.subproj/WebFileButton.h: Added.
- * WebCoreSupport.subproj/WebFileButton.m: Added.
- * WebKit.pbproj/project.pbxproj: Added WebFileButton files.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handle:didReceiveResponse:]): Add an assertion.
-
-2002-10-23 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 2876448 - The authentication panel should give a note when
- the user tried to log in and failed
-
- Also, made the message different (and more helpful) when the
- authentication is for a proxy server.
-
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForRequest:]): Use different
- messages depending on proxy and previous failure count.
-
- Updated localized strings:
-
- * English.lproj/Localizable.strings:
- * English.lproj/StringsNotToBeLocalized.txt:
-
-2002-10-23 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 2876446 - The label in the authentication panel needs to
- adjust its height depending on content
-
- Also improved [NSControl sizeToFitAndAdjustWindowHeight] method.
-
- * Panels.subproj/English.lproj/WebAuthenticationPanel.nib: Adjusted
- springs.
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForRequest:]): Use
- sizeToFitAndAdjustWindowHeight on main label.
-
- * Misc.subproj/WebNSControlExtras.m:
- (-[NSControl sizeToFitAndAdjustWindowHeight]): Improved the logic
- so the best height is picked while leaving the width
- alone. Before, the label would always come out to be a very wide
- single line.
-
-2002-10-22 Maciej Stachowiak <mjs@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Made WebControllerSets.h
- private. Also alphabetized headers in target pane and subproject
- folders.
-
-2002-10-22 Chris Blumenberg <cblu@apple.com>
-
- load and unload is only a WebNetscapePluginPackage thing since you can't unload an NSBundle.
-
- * Plugins.subproj/WebBasePluginPackage.h:
- * Plugins.subproj/WebBasePluginPackage.m:
- * Plugins.subproj/WebNetscapePluginPackage.h:
-
-2002-10-22 Chris Blumenberg <cblu@apple.com>
-
- More moving stuff around for the new plug-in API. Added WebBasePluginPackage and added subclass WebPluginPackage. Also made WebNetscapePluginPackage a subclass of WebBasePluginPackage.
-
- * Plugins.subproj/WebBasePluginPackage.h: Added.
- * Plugins.subproj/WebBasePluginPackage.m: Added.
- (+[WebBasePluginPackage pluginWithPath:]): creates a WebPluginPackage or WebNetscapePluginPackage
- (-[WebBasePluginPackage initWithPath:]):
- (-[WebBasePluginPackage name]):
- (-[WebBasePluginPackage path]):
- (-[WebBasePluginPackage filename]):
- (-[WebBasePluginPackage pluginDescription]):
- (-[WebBasePluginPackage extensionToMIMEDictionary]):
- (-[WebBasePluginPackage MIMEToExtensionsDictionary]):
- (-[WebBasePluginPackage MIMEToDescriptionDictionary]):
- (-[WebBasePluginPackage load]):
- (-[WebBasePluginPackage unload]):
- (-[WebBasePluginPackage isLoaded]):
- (-[WebBasePluginPackage description]):
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebNetscapePluginPackage.h:
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage initWithPath:]):
- * Plugins.subproj/WebPluginDatabase.h:
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase pluginForMIMEType:]):
- (-[WebPluginDatabase pluginForExtension:]):
- (-[WebPluginDatabase pluginForFilename:]):
- (-[WebPluginDatabase MIMETypes]):
- (-[WebPluginDatabase init]):
- * Plugins.subproj/WebPluginPackage.h: Added.
- * Plugins.subproj/WebPluginPackage.m: Added.
- (-[WebPluginPackage initWithPath:]):
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): check the class of the plug-in when deciding which view to create.
- (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]): same here.
- * WebKit.pbproj/project.pbxproj:
-
-2002-10-22 David Hyatt <hyatt@apple.com>
-
- Getting XML docs at least made for XML files...
-
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation setDataSource:]):
-
-2002-10-22 Chris Blumenberg <cblu@apple.com>
-
- Made new plug-in API headers private.
-
- * WebKit.pbproj/project.pbxproj:
-
-2002-10-22 Darin Adler <darin@apple.com>
-
- * Misc.subproj/WebKitErrors.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:willSendRequest:]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
- Rename WebErrorLocationChangeInterruptedByURLPolicyChange to
- WebErrorLocationChangeInterruptedByPolicyChange.
-
-2002-10-22 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveResponse:]):
- Send the new error whenever a policy change happens. The old code was
- sending a successful completion in the download and ignore cases.
-
-2002-10-22 John Sullivan <sullivan@apple.com>
-
- - fixed 3080873 -- Error in console when no bookmark file
- found -[WebBookmarkGroup _loadBookmarkGroupGuts]
-
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup _loadBookmarkGroupGuts]):
- removed ERROR that was useful only long ago.
-
-2002-10-22 Richard Williamson <rjw@apple.com>
-
- Added stubs from common WebResourceHandleDelegate base
- class.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.h:
- * Plugins.subproj/WebNetscapePluginStream.h:
- * WebCoreSupport.subproj/WebSubresourceClient.h:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebBaseResourceHandleDelegate.h: Added.
- * WebView.subproj/WebBaseResourceHandleDelegate.m: Added.
- * WebView.subproj/WebMainResourceClient.h:
-
-2002-10-22 Darin Adler <darin@apple.com>
-
- Make the panel position itself above the main window.
- Too bad we can't use a sheet, but this is better than a random position.
-
- * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m:
- (-[WebJavaScriptTextInputPanel initWithPrompt:text:]):
- Use the new [NSWindow sizeToFitAndAdjustWindowHeight]
- and [NSControl sizeToFitAndAdjustWindowHeight].
-
- * Misc.subproj/WebNSControlExtras.h: Added.
- * Misc.subproj/WebNSControlExtras.m: Added.
- * Misc.subproj/WebNSWindowExtras.h: Added.
- * Misc.subproj/WebNSWindowExtras.m: Added.
- * WebKit.pbproj/project.pbxproj: Added above files.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update.
-
-2002-10-22 Ken Kocienda <kocienda@apple.com>
-
- * Misc.subproj/WebKitErrors.h: Add new error code to signify that a location
- change has been interrupted by a change in the URLPolicy governing the load.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:willSendRequest:]): Add code to check the URLPolicy
- for the URL in the request that is submitted to us in this delegate method. Send
- a locationChangeDone:forDataSource: message with an error using the newly-defined
- code in cases where the location change should be cancelled.
-
-2002-10-22 Chris Blumenberg <cblu@apple.com>
-
- Added protocol headers for new plug-in API.
-
- * Plugins.subproj/WebPlugin.h: Added.
- * Plugins.subproj/WebPluginContainer.h: Added.
- * Plugins.subproj/WebPluginViewFactory.h: Added.
- * WebKit.pbproj/project.pbxproj:
-
-2002-10-22 Chris Blumenberg <cblu@apple.com>
-
- - Moved things around to make room for new plug-in API.
- - Renamed WebNetscapePlugin to WebNetscapePluginPackage.
- - Renamed WebNetscapePluginDatabase to WebPluginDatabase.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setPluginPointer:]):
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView plugin]):
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:mime:arguments:]):
- * Plugins.subproj/WebNetscapePluginNullEventSender.h: Added.
- * Plugins.subproj/WebNetscapePluginNullEventSender.m: Added.
- (-[WebNetscapePluginNullEventSender initWithPluginView:]):
- (-[WebNetscapePluginNullEventSender dealloc]):
- (-[WebNetscapePluginNullEventSender sendNullEvents]):
- (-[WebNetscapePluginNullEventSender stop]):
- * Plugins.subproj/WebNetscapePluginPackage.h: Added.
- * Plugins.subproj/WebNetscapePluginPackage.m: Added.
- (-[WebNetscapePluginPackage openResourceFile]):
- (-[WebNetscapePluginPackage closeResourceFile:]):
- (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
- (-[WebNetscapePluginPackage getPluginInfo]):
- (-[WebNetscapePluginPackage stringByResolvingSymlinksAndAliasesInPath:]):
- (-[WebNetscapePluginPackage initWithPath:]):
- (-[WebNetscapePluginPackage load]):
- (-[WebNetscapePluginPackage unload]):
- (-[WebNetscapePluginPackage NPP_SetWindow]):
- (-[WebNetscapePluginPackage NPP_New]):
- (-[WebNetscapePluginPackage NPP_Destroy]):
- (-[WebNetscapePluginPackage NPP_NewStream]):
- (-[WebNetscapePluginPackage NPP_StreamAsFile]):
- (-[WebNetscapePluginPackage NPP_DestroyStream]):
- (-[WebNetscapePluginPackage NPP_WriteReady]):
- (-[WebNetscapePluginPackage NPP_Write]):
- (-[WebNetscapePluginPackage NPP_HandleEvent]):
- (-[WebNetscapePluginPackage NPP_URLNotify]):
- (-[WebNetscapePluginPackage NPP_GetValue]):
- (-[WebNetscapePluginPackage NPP_SetValue]):
- (-[WebNetscapePluginPackage NPP_Print]):
- (-[WebNetscapePluginPackage MIMEToExtensionsDictionary]):
- (-[WebNetscapePluginPackage extensionToMIMEDictionary]):
- (-[WebNetscapePluginPackage MIMEToDescriptionDictionary]):
- (-[WebNetscapePluginPackage name]):
- (-[WebNetscapePluginPackage filename]):
- (-[WebNetscapePluginPackage path]):
- (-[WebNetscapePluginPackage isLoaded]):
- (-[WebNetscapePluginPackage pluginDescription]):
- (-[WebNetscapePluginPackage description]):
- (functionPointerForTVector):
- (tVectorForFunctionPointer):
- * Plugins.subproj/WebPlugin.h: Removed.
- * Plugins.subproj/WebPlugin.m: Removed.
- * Plugins.subproj/WebPluginDatabase.h:
- * Plugins.subproj/WebPluginDatabase.m:
- (+[WebPluginDatabase installedPlugins]):
- (-[WebPluginDatabase pluginForMIMEType:]):
- (-[WebPluginDatabase pluginForExtension:]):
- (-[WebPluginDatabase pluginForFilename:]):
- (-[WebPluginDatabase MIMETypes]):
- (-[WebPluginDatabase init]):
- * Plugins.subproj/WebPluginNullEventSender.h: Removed.
- * Plugins.subproj/WebPluginNullEventSender.m: Removed.
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
- (-[WebViewFactory pluginsInfo]):
- (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.m:
- (+[WebController canShowMIMEType:]):
-
-2002-10-22 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m: Added missing import.
-
-2002-10-22 Darin Adler <darin@apple.com>
-
- - fixed 3077305 -- js dialog not yet implemented - crash (fatal error)
-
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
- Create a WebJavaScriptTextInputPanel and run it.
-
- * English.lproj/WebJavaScriptTextInputPanel.nib: Added.
- * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.h: Added.
- * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m: Added.
- * WebKit.pbproj/project.pbxproj: Added
-
-2002-10-22 Chris Blumenberg <cblu@apple.com>
-
- Use the mouseDown point instead of the mouseDragged point to determine the mouseOffset when dragging images. When you drag an image now, the point where you clicked is the point where the cursor is in relation to the drag image.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDown:]): retain the mouse down event
- (-[WebHTMLView mouseDragged:]): use the mouse down event
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLViewPrivate dealloc]): release the mouse down event
-
-2002-10-21 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebViewFactory.h: Changed to use new protocol scheme so we
- get an error if we forget to implement something.
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]): Stub.
-
-2002-10-21 Richard Williamson <rjw@apple.com>
-
- More incremental tweaks. Will be factoring common
- handle delegate behavior into base class.
-
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream handle:didReceiveData:]):
- (-[WebNetscapePluginStream handleDidFinishLoading:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCache:response:size:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- (-[WebSubresourceClient handle:didReceiveData:]):
- (-[WebSubresourceClient handleDidFinishLoading:]):
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _finsishedLoadingResourceFromDataSource:]):
-
-2002-10-21 Trey Matteson trey@apple.com
-
- Fixed typos and other doc comment errors found during API review.
-
- * WebView.subproj/WebController.h:
-
-2002-10-21 Richard Williamson <rjw@apple.com>
-
- Changed WebResourceLoadDelegate methods to include an identifier
- as first parameter. This will help clients track callbacks relating
- to a particular resource. Added identifierForInitialRequest:fromDataSource:
- so clients can create their own identifier.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCache:response:size:]):
- * WebCoreSupport.subproj/WebSubresourceClient.h:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handle:willSendRequest:]):
- (-[WebSubresourceClient handle:didReceiveResponse:]):
- (-[WebSubresourceClient handle:didReceiveData:]):
- (-[WebSubresourceClient handleDidFinishLoading:]):
- (-[WebSubresourceClient handle:didFailLoadingWithError:]):
- * WebView.subproj/WebController.m:
- (-[WebResourceLoadDelegate identifierForInitialRequest:fromDataSource:]):
- (-[WebResourceLoadDelegate resource:willSendRequest:fromDataSource:]):
- (-[WebResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]):
- (-[WebResourceLoadDelegate resource:didReceiveContentLength:fromDataSource:]):
- (-[WebResourceLoadDelegate resource:didFinishLoadingFromDataSource:]):
- (-[WebResourceLoadDelegate resource:didFailLoadingWithError:fromDataSource:]):
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedError:forHandle:]):
- (-[WebMainResourceClient handleDidFinishLoading:]):
- (-[WebMainResourceClient handle:willSendRequest:]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
- (-[WebMainResourceClient handle:didReceiveData:]):
- (-[WebMainResourceClient handle:didFailLoadingWithError:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
-
-2002-10-21 Chris Blumenberg <cblu@apple.com>
-
- Changed content policy API to pass a response instead of MIME type so client can get the mime type and filename from one class.
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveResponse:]):
-
-2002-10-21 Darin Adler <darin@apple.com>
-
- - fixed 3080512 -- REGRESSION: moving from old page to new one, we get blank white
- before the new one is ready
-
- Roll out a bunch of my changes, because they weren't complete. Added FIXMEs for the
- problems I was unsuccessfully trying to fix.
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]):
- * WebView.subproj/WebView.m:
- (-[WebView initWithFrame:]), (-[WebView isOpaque]), (-[WebView drawRect:]):
- Roll back.
-
-2002-10-21 Darin Adler <darin@apple.com>
-
- - fixed 3080246 -- REGRESSION: Animated GIFs sometimes disappear after drag or scroll
-
- Once more, with feeling.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _setNeedsLayoutIfSizeChanged:]): Added setNeedsDisplay:YES here. The lack
- of this is what caused the bug. But also don't do any work when the size doesn't change.
- This prevents this from being called at all in the scrolling case, which is what we want.
- (-[WebHTMLView viewWillMoveToSuperview:]): Just the name change.
- (-[WebHTMLView layout]): Store the layout size for the above methods.
- * WebView.subproj/WebHTMLViewPrivate.h: Add a place to store the size.
-
- * WebView.subproj/WebImageView.m: (-[WebImageView layout]):
- Roll this change back in.
-
-2002-10-21 Darin Adler <darin@apple.com>
-
- - fixed 3080246 -- REGRESSION: Animated GIFs sometimes disappear after drag or scroll
-
- * WebView.subproj/WebImageView.m: (-[WebImageView layout]):
- My change to this caused the regression. Not sure why, but I'll just back out
- because the change wasn't important.
-
-2002-10-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3025847 - Can't use any menu command keys after clicking on a plugin
-
- Don't give plug-ins command-modified keys anymore because the ability wasn't worth the annoyance. If only plug-ins truthfully responded t events! Anyway, filed 3080103 so that I can look into a way to make this work for everybody.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
-
-2002-10-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3025868 - Plugin context menu disappears then reappears if you click off of it
-
- Also fixed some rare dragging weirdness in WebHTMLView. If you attempted to drag a plug-in after dragging an image, the image would drag again.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView mouseDragged:]): subclass and do nothing to prevent calling mouseDragged in WebHTMLView
- (-[WebBaseNetscapePluginView performKeyEquivalent:]): no changes to this method, removed menuForEvent, wasn't needed after all
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream stop]): minor clean-up
-
-2002-10-20 Darin Adler <darin@apple.com>
-
- - fixed a minor problem with autorelease I just ran into
-
- * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
- Create an autorelease pool for the benefit of the class initialize
- functions that will be called.
-
-2002-10-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed 3050010: Should show contextual menu for WebImageView
- Also made drags from WebImageView work.
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m: added _web_setPromisedImageDragImage which does the hackery to extend the promised file drag for images
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _menuForElement:]): added, gets menu items from delegate and creates menu
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView menuForEvent:]): simplified, gets element and calls -[WebController _menuForElement:]
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): call _web_setPromisedImageDragImage: when dragging image
- * WebView.subproj/WebImageRepresentation.h:
- * WebView.subproj/WebImageRepresentation.m:
- (-[WebImageRepresentation dealloc]): release the URL
- (-[WebImageRepresentation URL]): added so WebImageView can get the URL
- (-[WebImageRepresentation setDataSource:]): retain the URL
- * WebView.subproj/WebImageView.h: use new drag bools
- * WebView.subproj/WebImageView.m:
- (-[WebImageView initWithFrame:]): ditto
- (-[WebImageView setAcceptsDrags:]): ditto
- (-[WebImageView acceptsDrags]): ditto
- (-[WebImageView setAcceptsDrops:]): ditto
- (-[WebImageView acceptsDrops]): ditto
- (-[WebImageView controller]): new
- (-[WebImageView menuForEvent:]): new, creates element and calls -[WebController _menuForElement:]
- (-[WebImageView mouseDragged:]): drag promised file
- (-[WebImageView dragImage:at:offset:event:pasteboard:source:slideBack:]): call _web_setPromisedImageDragImage:
- (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): new
-
-2002-10-20 Darin Adler <darin@apple.com>
-
- - fixed a problem where you would get garbage bits when resizing while loading a standalone image
-
- Cleaned up some of the complexity of how we were handling resizing.
-
- * WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
- Do the update twice to properly handle the case where a disappearing scroller makes a second
- scroller appear or vice versa.
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): Remove the code that was trying
- to set the setDrawsBackground flag on the scroll view. It was doing it wrong, causing bugs with
- drawing non-HTML views while loading. Also, it wasn't working as an optimization, since the
- window was still drawing the metallic background behind. We can revisit adding an optimization
- at the WebHTMLView level if it creates a measurable speed increase, but we must be careful to
- test loading with non-HTML views along with the HTML cases.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _setNeedsLayoutToYes:]): Added. Calls setNeedsLayout:YES.
- (-[WebHTMLView viewWillMoveToSuperview:]): Added. Registers so we get _setNeedsLayoutToYes:
- calls when the superview's size changes. This allows us to do a layout at all the right times.
- (-[WebHTMLView layout]): Call setNeedsDisplay:YES, because if we do a layout without a complete
- display the screen will look bad. Also do a reapplyStyles, because if there are pending style
- changes we want to apply them before doing a layout since they could affect the layout.
- (-[WebHTMLView drawRect:]): Remove the special case that says to always relayout during live
- resize, because it works without a special case now. For the other live resize case, turn it from
- a special case into a general one. Any time layout is done, make sure to draw the entire view,
- not just the passed-in rectangle, and call setNeedsDisplay:NO so we don't do it all over again.
-
- * WebView.subproj/WebImageView.m: (-[WebImageView layout]): Explicitly set frame size to
- 0,0 when there is no image.
-
- * WebView.subproj/WebView.m: Remove now-unnecessary viewWillStartLiveResize, setFrame:,
- viewDidEndLiveResize, isOpaque, and drawRect overrides.
- (-[WebView initWithFrame:]): Don't call setDrawsBackground:NO for the reasons above.
- Don't set scroll bar visibility because the dynamic scroll bars view handles that already.
-
-2002-10-19 Darin Adler <darin@apple.com>
-
- - fixed 3073693 -- flash drawn to screen even when window minimized
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView start]): Set up additional notifications.
- Don't start the null event sender if the window is miniaturized.
- (-[WebBaseNetscapePluginView windowDidMiniaturize:]): Stop the null event sender.
- (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): Start the null event sender.
-
-2002-10-19 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _transitionToCommitted]):
- Removed stray printf.
-
-2002-10-18 Richard Williamson <rjw@apple.com>
-
- Changed name to setUsesBackForwardList: from
- setUseBackForwardList. ditto for useBackForwardList
-
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController setUsesBackForwardList:]):
- (-[WebController usesBackForwardList]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
- (-[WebFrame _isLoadComplete]):
-
- Fixed history items that have "untitled" title after
- redirect. (3078577).
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setTitle:]):
-
-2002-10-18 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController stringByEvaluatingJavaScriptFromString:]):
- Changed to return a string and changed name.
-
-2002-10-18 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2002-10-18 Ken Kocienda <kocienda@apple.com>
-
- Removed unneeded import of WebFoundation/WebResourceLoadManager.h
-
- * Misc.subproj/WebIconLoader.m
-
-2002-10-18 Darin Adler <darin@apple.com>
-
- * Makefile.am: Move dependency so clean happens before build.
-
-2002-10-18 Darin Adler <darin@apple.com>
-
- * force-clean-timestamp: Dependencies don't work well enough, so
- we need a clean build here after the WebFoundation domain change.
-
-2002-10-18 Darin Adler <darin@apple.com>
-
- Update for WebFoundation error domain changes.
-
- * Misc.subproj/WebKitErrors.h: Put WebErrorDomainWebKit in here.
- Also remove WebErrorNoError and the WebErrorCode name for the enum.
- * WebKit.exp: Export the WebErrorDomainWebKit constant.
- * WebView.subproj/WebView.m: Define the WebErrorDomainWebKit.
-
- * WebKit.pbproj/project.pbxproj: Always use WebKit.exp.
- * Makefile.am: Don't generate WebKit-combined.exp any more.
- * WebKit-tests.exp: Removed.
-
-2002-10-17 Darin Adler <darin@apple.com>
-
- - fixed 3078644 -- Odd clipping in frame
-
- * WebView.subproj/WebClipView.h: Add hasAdditionalClip and additionalClip methods.
- * WebView.subproj/WebClipView.m:
- (-[WebClipView resetAdditionalClip]): Add an assertion.
- (-[WebClipView setAdditionalClip:]): Ditto.
- (-[WebClipView hasAdditionalClip]): Added.
- (-[WebClipView additionalClip]): Added.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView visibleRect]):
- Turn off the additional clip while computing our visibleRect. This way, the additional
- clip only affects people who ask for the clip view's visibleRect directly, which basically
- means just the focus rectangle drawing code we are trying to influence.
-
-2002-10-17 Richard Williamson <rjw@apple.com>
-
- Support for drawing frame borders (fixes 2982466).
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _drawBorder:]):
- (-[WebHTMLView drawRect:]):
-
-2002-10-17 John Sullivan <sullivan@apple.com>
-
- - added support for bookmark identifiers, to be used for marking
- bookmark proxies uniquely (independent of localized title). This
- is not the old unique-identifier scheme; now identifiers are optional,
- and initially nil, but the client can use them for its own purposes.
-
- * Bookmarks.subproj/WebBookmark.h:
- * Bookmarks.subproj/WebBookmark.m:
- (-[WebBookmark dealloc]): release identifier
- (-[WebBookmark identifier]): return identifier
- (-[WebBookmark setIdentifier:]): set identifier
- * Bookmarks.subproj/WebBookmarkLeaf.m:
- (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
- restore identifier
- (-[WebBookmarkLeaf dictionaryRepresentation]):
- save identifier
- (-[WebBookmarkLeaf copyWithZone:]):
- copy identifier
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
- restore identifier
- (-[WebBookmarkList dictionaryRepresentation]):
- save identifier
- (-[WebBookmarkList copyWithZone:]):
- copy identifier
- * Bookmarks.subproj/WebBookmarkPrivate.h:
- * Bookmarks.subproj/WebBookmarkProxy.m:
- (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]):
- restore identifier
- (-[WebBookmarkProxy dictionaryRepresentation]):
- save identifier
- (-[WebBookmarkProxy copyWithZone:]):
- copy identifier
-
-=== Alexander-28 ===
-
-2002-10-17 Darin Adler <darin@apple.com>
-
- - fixed 3062613 -- too many redirects at nytimes.com and apple
-
- Our cookie policy was rejecting the cookies from nytimes.com -- the policy base
- URL was still the news.com URL from before the redirect.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:willSendRequest:]):
- Update the cookie policy URL when a redirect changes the data source's URL.
-
-2002-10-17 Darin Adler <darin@apple.com>
-
- - fixed 3077910 -- REGRESSION: download window open at startup time -> no scrollbars
-
- * WebView.subproj/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]):
- Check for WebDocumentView protocol before making the layout method
- call. Prevents exception when WebDynamicScrollBarsView is used with
- a document that is not a WebDocumentView.
-
-2002-10-16 Richard Williamson <rjw@apple.com>
-
- Added some drawing debug code (ifdef excluded).
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView drawRect:]):
-
-2002-10-16 Darin Adler <darin@apple.com>
-
- Fixed anomalies with plugin positioning caused by my switch to
- NSViewFocusDidChangeNotification. Turns out that is not sent during
- live resize, but we need things to work during live resize.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView start]): Register for changes in the
- bounds and frame of all superviews again, instead of using
- NSViewFocusDidChangeNotification.
-
-2002-10-16 Richard Williamson <rjw@apple.com>
-
- Fixed 2969367. Ensure layout happens before doing check
- to determine if scrollbars are needed. Ahhh, dynamic
- scrollbars work so much better now.
-
- * WebView.subproj/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]):
-
-2002-10-16 Darin Adler <darin@apple.com>
-
- Fixed the problem where we would leave white bits when making the window larger.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): During live resize,
- use the visible rectangle after doing layout, not before.
-
-2002-10-16 Richard Williamson <rjw@apple.com>
-
- Fixed regression in visited links due to change is semantics of
- [dataSource request], added [dataSource _originalRequest]. Items
- always need to be added to history with the original request.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithRequest:]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _defersCallbacksChanged]):
- (-[WebDataSource _originalRequest]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
-
-2002-10-16 Darin Adler <darin@apple.com>
-
- - fixed 3017152 -- intra-page anchors not updating page address field
-
- * WebView.subproj/WebLocationChangeDelegate.h: Rearrange methods so they are
- in the order they are delivered. Add locationChangedWithinPageForDataSource method.
- Renamed the redirect methods to match the verb tenses used in the others.
- Removed the URL parameter from the server redirect method.
- * WebView.subproj/WebLocationChangeDelegate.m: Update the class to match the
- changes to the protocol.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
- Update for change to clientWillRedirectTo method name.
- (-[WebBridge loadURL:]): Call locationChangedWithinPageForDataSource:.
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setRequest:]):
- Update for change to serverRedirectedForDataSource method name.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseMovedNotification:]):
- Remove overzealous assert that was firing for me.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m: Update comment.
- * WebView.subproj/WebDataSource.h: Fix comment.
-
-2002-10-15 Darin Adler <darin@apple.com>
-
- - fixed 3062393 -- need to send proper referrer for "open in new window" menu items and keyboard shortcuts
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]): Don't take a referrer parameter any more.
- Get the referrer by calling to the other side of the bridge, instead.
- (-[WebBridge startLoadingResource:withURL:]): Ditto.
- (-[WebBridge loadURL:]): Ditto.
- (-[WebBridge postWithURL:data:contentType:]): Ditto.
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- Ditto.
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]): Don't take a referrer parameter,
- which was always nil anyway. Instead, get the referrer from the bridge.
- (-[WebDefaultContextMenuDelegate openLinkInNewWindow:]): Don't pass nil for referrer.
- (-[WebDefaultContextMenuDelegate openImageInNewWindow:]): Ditto.
- (-[WebDefaultContextMenuDelegate openFrameInNewWindow:]): Ditto.
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _continueAfterClickPolicyForEvent:]): Pass a referrer from the bridge, rather
- than nil, for both WebClickPolicyOpenNewWindow and WebClickPolicyOpenNewWindowBehind.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Add a FIXME.
-
-2002-10-15 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebDataSourcePrivate.h: Remove unused stuff.
- * WebView.subproj/WebDataSourcePrivate.m: Ditto.
-
-2002-10-15 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:referrer:]): Add a special case for when the URL is the
- same as the previous URL for the same frame. This relies on some logic in
- KHTML's openURL method that handles this case too.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithRequest:]): Don't bother keeping an inputURL.
- (-[WebDataSource URL]): Just return [[self request] URL]. Maybe we can
- remove this altogether.
- * WebView.subproj/WebDataSourcePrivate.h: Remove inputURL, finalURL.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): No need to release inputURL, finalURL.
- (-[WebDataSource _setURL:]): Used only by the new code above. Makes a copy
- of the request, changes the URL, and then drops the old request.
- (-[WebDataSource _setRequest:]): Changed to no longer call _setURL. Now
- does much of the work that _setURL used to do.
-
-2002-10-15 Darin Adler <darin@apple.com>
-
- WebKit part of improved frame name support.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webView:provisionalDataSource:controller:]):
- Call setName on the newly created part.
-
-2002-10-15 John Sullivan <sullivan@apple.com>
-
- - fixed 3075777 -- hysteresis for dragging links on web pages
- is still too large
-
- * WebView.subproj/WebHTMLView.m: changed hysteresis constants;
- added comment.
-
-2002-10-15 Darin Adler <darin@apple.com>
-
- Fix problem where timer was lasting after window was closed.
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _detachFromParent]):
- Add a call to [_private->bridge closeURL].
-
-2002-10-15 Richard Williamson <rjw@apple.com>
-
- Added attributed string to pasteboard. Fixes 3006760.
- We may want to scale back the content that is included in the
- attributed string. Currently all text nodes in the selection
- are converted. This include text nodes for non-visible content,
- i.e. scripts.
- [Note we may also want to put HTML snippet on the pboard. The appkit
- does support reading text using htmldisplay today. Of course this should
- eventually migrate to use WebView.]
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView copy:]):
-
-2002-10-15 Darin Adler <darin@apple.com>
-
- Fixed bug where URLs dragged to the content area were not made canonical
- the way URLs dragged to the page address field are.
-
- * Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_bestURL]):
- Make URLs canonical before returning them.
-
-2002-10-15 Chris Blumenberg <cblu@apple.com>
-
- If a file is renamed during download because a file of the same name already exists, show this in the UI.
-
- * Misc.subproj/WebDownloadHandler.h:
- * Misc.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler receivedResponse:]): added, create file here
- (-[WebDownloadHandler receivedData:]): don't create file here
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidFinishLoading:]): call [dataSource _setPrimaryLoadComplete:YES] for downloads
- (-[WebMainResourceClient handle:didReceiveResponse:]): call [WebDownloadHandler receivedResponse:]
- (-[WebMainResourceClient handle:didReceiveData:]): no download error to handle
-
-2002-10-14 Chris Blumenberg <cblu@apple.com>
-
- - Made all downloads no matter how prompted, pass through the content policy API so the client can properly choose the file name and correct the extension if necessary. We now ask for the content policy even if one has been predetermined.
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _downloadURL:withContentPolicy:]): Renamed, set the predetermined content policy.
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate downloadURL:]): call [WebController _downloadURL:withContentPolicy:]
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebController _downloadURL:withContentPolicy:]
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _continueAfterClickPolicyForEvent:]): call [WebController _downloadURL:withContentPolicy:]
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveResponse:]): ask for content policy even if one is predetermined
-
-2002-10-14 Chris Blumenberg <cblu@apple.com>
-
- - Cleaned up download handler and download progress delegate interactions.
- - Got rid of error suppression junk.
- - Only send 1 final message to the download progress delegate
-
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedError:forHandle:]): no error suppression
- (-[WebMainResourceClient didCancelWithHandle:]): ignore cancel errors because 1 download error is enough
- (-[WebMainResourceClient handleDidFinishLoading:]): don't send the special and odd final message to the download progress delegate
- (-[WebMainResourceClient handle:didReceiveData:]): no error suppression
- (-[WebMainResourceClient handle:didFailLoadingWithError:]): ignore cancel errors because 1 download error is enough
-
-2002-10-14 Darin Adler <darin@apple.com>
-
- * Bookmarks.subproj/WebBookmark.m:
- (+[WebBookmark bookmarkFromDictionaryRepresentation:withGroup:]):
- * Bookmarks.subproj/WebBookmarkLeaf.m:
- (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
- * Bookmarks.subproj/WebBookmarkProxy.m:
- (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]):
- Add checking since we don't "trust" the dictionary passed in.
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- Add FIXME about adding the checking.
-
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup initWithFile:]): Use copy, not retain.
-
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate dealloc]): Fix storage leak by releasing
- the default context menu delegate.
-
- * WebView.subproj/WebControllerPrivate.h: Tweak.
-
-2002-10-14 Chris Blumenberg <cblu@apple.com>
-
- Made WebNetscapePluginStream retain a WebNetscapePluginEmbeddedView not a WebBaseNetscapePluginView.
-
- * Plugins.subproj/WebNetscapePluginStream.h:
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
-
-2002-10-13 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Added strings from WebBookmarkProxy.m.
-
-2002-10-13 Chris Blumenberg <cblu@apple.com>
-
- - Eliminated the dual-role behavior of WebPluginStream.
-
- Renamed WebPluginStream to WebBaseNetscapePluginStream.
- WebNetscapePluginRepresentation, a subclass of WebBaseNetscapePluginStream,
- is the document representation for standalone plug-ins.
- WebNetscapePluginStream, also a subclass of WebBaseNetscapePluginStream,
- is the general plug-in stream loader for embedded plug-ins or plug-in requested streams.
-
- 23 plug-in source files with more likely to come!
-
- * Plugins.subproj/WebBaseNetscapePluginStream.h: Added.
- * Plugins.subproj/WebBaseNetscapePluginStream.m: Added.
- (-[WebBaseNetscapePluginStream dealloc]):
- (-[WebBaseNetscapePluginStream setPluginPointer:]):
- (-[WebBaseNetscapePluginStream setResponse:]):
- (-[WebBaseNetscapePluginStream receivedData:]):
- (-[WebBaseNetscapePluginStream receivedError:]):
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView setWindow]):
- (-[WebBaseNetscapePluginView pluginPointer]):
- (-[WebBaseNetscapePluginView drawRect:]):
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- * Plugins.subproj/WebNetscapePluginRepresentation.h: Added.
- * Plugins.subproj/WebNetscapePluginRepresentation.m: Added.
- (-[WebNetscapePluginRepresentation setDataSource:]):
- (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
- (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
- (-[WebNetscapePluginRepresentation finishedLoadingWithDataSource:]):
- * Plugins.subproj/WebNetscapePluginStream.h: Added.
- * Plugins.subproj/WebNetscapePluginStream.m: Added.
- (-[WebNetscapePluginStream setCurrentURL:]):
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
- (-[WebNetscapePluginStream dealloc]):
- (-[WebNetscapePluginStream start]):
- (-[WebNetscapePluginStream stop]):
- (-[WebNetscapePluginStream loadEnded]):
- (-[WebNetscapePluginStream handle:willSendRequest:]):
- (-[WebNetscapePluginStream handle:didReceiveResponse:]):
- (-[WebNetscapePluginStream handle:didReceiveData:]):
- (-[WebNetscapePluginStream handleDidFinishLoading:]):
- (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebNetscapePluginDatabase init]):
- * Plugins.subproj/WebPluginStream.h: Removed.
- * Plugins.subproj/WebPluginStream.m: Removed.
- * WebKit.pbproj/project.pbxproj:
-
-2002-10-11 Richard Williamson <rjw@apple.com>
-
- More DOM/attributed string work.
-
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
- * WebView.subproj/WebHTMLRepresentationPrivate.h:
-
-2002-10-11 Richard Williamson <rjw@apple.com>
-
- * WebView.subproj/WebHTMLRepresentation.m:
- * WebView.subproj/WebHTMLRepresentationPrivate.h:
-
-2002-10-11 Ken Kocienda <kocienda@apple.com>
-
- Fixed uninitialized variable build breaker I got when
- doing a Deployment build.
-
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:URLString:type:]):
-
-2002-10-11 John Sullivan <sullivan@apple.com>
-
- Added the concept of bookmark proxies; items that can be
- stored and displayed with other bookmarks but represent
- a source of bookmark-like items (e.g. Rendezvous, History)
-
- * Bookmarks.subproj/WebBookmarkProxy.h: Added.
- * Bookmarks.subproj/WebBookmarkProxy.m: Added.
- (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]):
- (-[WebBookmarkProxy dictionaryRepresentation]):
- (-[WebBookmarkProxy bookmarkType]):
- (-[WebBookmarkProxy copyWithZone:]):
- (-[WebBookmarkProxy title]):
- (-[WebBookmarkProxy setTitle:]):
- (-[WebBookmarkProxy icon]):
- New class, has a title and that's about it
-
- * Bookmarks.subproj/WebBookmark.h:
- * Bookmarks.subproj/WebBookmark.m:
- (+[WebBookmark bookmarkFromDictionaryRepresentation:withGroup:]):
- Handle proxy case
-
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:URLString:type:]):
- Handle proxy case
-
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]),
- (-[WebBookmarkList dictionaryRepresentation]):
- Handle proxy case
-
- * Bookmarks.subproj/WebBookmarkPrivate.h:
- Add #define for proxy
-
- * WebKit.pbproj/project.pbxproj: updated for new files
-
-2002-10-11 Chris Blumenberg <cblu@apple.com>
-
- Thought I has checking for nil enough, but not enough as I raised an exception on Avie's machine.
-
- * Plugins.subproj/WebPlugin.m:
- (-[WebNetscapePlugin getPluginInfo]): check for the nil extension case
-
-2002-10-11 Darin Adler <darin@apple.com>
-
- Apply a simplified technique I learned while working on the Favorites button
- class in the browser code.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView start]): Use the NSViewFocusDidChangeNotification
- to track the plugin rectangles instead of the NSViewFrameDidChangeNotification
- and NSViewBoundsDidChangeNotification on all the superviews.
-
-2002-10-11 John Sullivan <sullivan@apple.com>
-
- * Resources/url_icon.tiff: new generic URL icon -- no more @!
-
-2002-10-10 Darin Adler <darin@apple.com>
-
- - fixed 3069366 -- REGRESSION: no pop-up window at inkfinder.com
-
- The window now pops up, but it doesn't seem to work right. But I
- think the window working right is a separate issue.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:willSendRequest:]): Make sure we
- use the copy of the request that we're keeping around when we call
- _setRequest on the data source, rather than the copy we're returning
- which can be modified by WebFoundation. Also rearrange things so we're
- more likely to get things right when the delegate changes the URL on
- the request.
-
-2002-10-10 Chris Blumenberg <cblu@apple.com>
-
- No need to send update event when activating/deactivating.
- This was as old workaround for the plug-in drawing problems.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView windowBecameKey:]):
- (-[WebBaseNetscapePluginView windowResignedKey:]):
-
-=== Alexander-27 ===
-
-2002-10-10 Darin Adler <darin@apple.com>
-
- - fixed 3071799 -- REGRESSION: hang and strange download loading about:blank
-
- Chris fixed the strange download earlier. This fixes the "hang' by making sure
- we commit even if we receive 0 bytes of data.
-
- * WebView.subproj/WebDataSourcePrivate.h: Added a _finishedLoading method.
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _finishedLoading]):
- Added. Sets the "first byte of data received" flag, and calls _commitIfReady.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidFinishLoading:]): Call _finishedLoading.
-
-2002-10-10 Darin Adler <darin@apple.com>
-
- - fixed 3072015 -- REGRESSION: frames multiply endlessly
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setFrame:]):
- Remove code that sets the parent from here, because it's too early, always nil.
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addChild:]):
- Do it here instead.
-
-2002-10-09 Richard Williamson <rjw@apple.com>
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handleDidFinishLoading:]):
- * WebKit.exp:
- * WebView.subproj/WebController.m:
- (-[WebResourceLoadDelegate resourceRequest:willSendRequest:fromDataSource:]):
- (-[WebResourceLoadDelegate resourceRequest:didReceiveResponse:fromDataSource:]):
- (-[WebResourceLoadDelegate resourceRequest:didReceiveContentLength:fromDataSource:]):
- (-[WebResourceLoadDelegate resourceRequest:didFinishLoadingFromDataSource:]):
- (-[WebResourceLoadDelegate resourceRequest:didFailLoadingWithError:fromDataSource:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidFinishLoading:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
-
-2002-10-09 John Sullivan <sullivan@apple.com>
-
- - removed unnecessary concept of unique identifiers for bookmarks
-
- * Bookmarks.subproj/WebBookmark.h:
- * Bookmarks.subproj/WebBookmark.m:
- (-[WebBookmark dealloc]):
- (-[WebBookmark _setGroup:]):
- * Bookmarks.subproj/WebBookmarkGroup.h:
- * Bookmarks.subproj/WebBookmarkGroup.m:
- * Bookmarks.subproj/WebBookmarkGroupPrivate.h:
- removed all references to unique identifiers
-
-2002-10-09 Darin Adler <darin@apple.com>
-
- WebKit support for creating windows and then showing them later
- after setting them up.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:referrer:frameName:]): Replaced the old
- openNewWindowWithURL with this. It calls the new window operations delegate
- method.
- (-[WebBridge showWindow]): Added. Calls the window operations delegate showWindow method.
- (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- Call _createFrameNamed instead of createFrameNamed.
-
- * WebView.subproj/WebWindowOperationsDelegate.h: Replaced the openNewWindowWithURL
- method with a new method named createWindowWithURL. Added showWindow and showWindowBehindFrontmost.
-
- * WebView.subproj/WebControllerPrivate.h: Renamed createFrameNamed to _createFrameNamed
- and removed the data source parameter. Added _openNewWindowWithURL:referrer:behind:
- for the convenience of those who used to call the window operations delegate directly
- to open the window.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _createFrameNamed:inParent:allowsScrolling:]): Renamed, and removed
- the data source parameter.
- (-[WebController _openNewWindowWithURL:referrer:behind:]): Added.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate openNewWindowWithURL:referrer:]):
- * WebView.subproj/WebFrame.m: (-[WebFrame frameNamed:]):
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _continueAfterClickPolicyForEvent:]):
- Use a private WebController method instead of calling the delegate directly,
- because it now takes two method calls to create and display a new window.
-
- * Misc.subproj/WebNSViewExtras.m:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- * WebView.subproj/WebController.m:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebHTMLView.m:
- * WebView.subproj/WebMainResourceClient.m:
- * WebView.subproj/WebPreferences.m:
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.m:
- Tweaked comments.
-
-2002-10-09 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
- Fix positioning of progressively loading images that are flipped.
-
-2002-10-09 Darin Adler <darin@apple.com>
-
- - fixed 3069764 -- REGRESSION: Plug-ins sometimes don't respond to
- update events, causes disappearing
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView drawRect:]): Set the visible region of the port to the
- port bounds to work around the fact that NSWindow tries to help us by doing a
- BeginUpdate call. This ensures we can draw where we think we are dirty, not just
- where Carbon thinks we are dirty.
-
- * Plugins.subproj/WebNetscapePluginDocumentView.m: Tweak includes.
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m: Tweak includes.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge openNewWindowWithURL:referrer:frameName:]): Tweak.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2002-10-08 Darin Adler <darin@apple.com>
-
- Make WebFrame do the entire frame hierarchy, instead of having the
- parent and child pointers in the data source.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge childFrames]): Get children from the frame, not the data source.
- (-[WebBridge setFrame:]): Do the setParent: call on the bridge here, instead of
- in dataSourceChanged, since the parent relationship is now established even without
- having the data source.
- (-[WebBridge dataSourceChanged]): Remove the setParent: call.
- (-[WebBridge loadRequest:]): Remove the parent parameter. It's already set up at
- this point so we don't need to set it.
- (-[WebBridge loadURL:referrer:]): Don't pass a parent.
- (-[WebBridge postWithURL:referrer:data:contentType:]): Don't pass a parent.
- (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- Don't pass a parent.
- (-[WebBridge addBackForwardItemWithURL:anchor:]): Get the parent frame by just calling
- the parent method instead of the more roundabout way that it was doing it before.
-
- * WebView.subproj/WebController.m:
- (-[WebController _frameForDataSource:fromFrame:]): Get the children list from the frame,
- no need to ask the data source. And no need to deal with the provisional data source, since
- those can't have children any more.
- (-[WebController _frameForView:fromFrame:]): Ditto.
-
- * WebView.subproj/WebControllerPrivate.h: Change parent parameter when creating a new
- frame to be a frame, not a data source.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate _clearControllerReferences:]): Get the children list from the frame.
- (-[WebControllerPrivate dealloc]): Rename the _reset method _controllerWillBeDeallocated
- to be more concrete. More simplification can happen here later.
- (-[WebController createFrameNamed:for:inParent:allowsScrolling:]): Call _addChild on the
- parent frame rather than calling addFrame on the parent data source.
-
- * WebView.subproj/WebDataSource.h: Remove the parent, children, frameNamed, frameNames, and
- frameExists methods.
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource controller]): Remove the assertion here about parents, since we don't have
- a parent pointer any more.
- (-[WebDataSource isLoading]): Get the list of children from the frame.
-
- * WebView.subproj/WebDataSourcePrivate.h: Remove the parent pointer and the frames dictionary,
- also remove the _setParent: and addFrame: methods.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): Don't release the frames list.
- (-[WebDataSource _recursiveStopLoading]): Get the frames list from the frame.
- (-[WebDataSource _layoutChildren]): Ditto.
- (-[WebDataSource _defersCallbacksChanged]): Ditto.
-
- * WebView.subproj/WebFrame.h: Add parent and children methods.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame dealloc]): Call _detachFromParent.
- (-[WebFrame setProvisionalDataSource:]): Set the encoding of the data source to match
- the encoding of the parent's data source. This used to be done in [WebDataSource _setParent:].
- Further simplification can probably be done here.
- (-[WebFrame reload]): Remove the call to [WebDataSource _setParent:].
- (+[WebFrame _frameNamed:fromFrame:]): Get the children from the frame.
- (-[WebFrame frameNamed:]): Get the parent from the frame.
- (-[WebFrame parent]): Added.
- (-[WebFrame children]): Added.
-
- * WebView.subproj/WebFramePrivate.h: Added parent and children fields, changed reset to
- _controllerWillBeDeallocated, changed _parentDataSourceWillBeDeallocated to _detachFromParent,
- added _addChild method. Further simplification can probably be done here.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate dealloc]): Release the children array.
- (-[WebFrame _controllerWillBeDeallocated]): Renamed from reset. Now just calls _detachFromParent.
- (-[WebFrame _detachFromParent]): Does all the work that reset and _parentDataSourceWillBeDeallocated
- used to do.
- (-[WebFrame _setDataSource:]): Call _detachFromParent on all the children and release them
- before setting up the new data source.
- (-[WebFrame _transitionToCommitted]): Get the parent from self instead of the data source.
- (-[WebFrame _isLoadComplete]): Ditto.
- (+[WebFrame _recursiveCheckCompleteFromFrame:]): Get the children from self instead of the data source.
- (-[WebFrame _textSizeMultiplierChanged]): Ditto.
- (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Remove the call to [WebDataSource _setParent:].
- (-[WebFrame _addChild:]): Added. Puts the child in a children list, and also sets the override
- encoding of the child based on our data source's override encoding.
-
-2002-10-08 John Sullivan <sullivan@apple.com>
-
- * WebKit.pbproj/project.pbxproj:
- Project Builder says I changed it only by setting
- "hasScannedForEncodings" to 1 -- version wars again?
-
-2002-10-08 Richard Williamson <rjw@apple.com>
-
- Removed unnecessary (and incorrect) include.
- The *.m files in DOM.subproj might be removed,
- they are empty now.
-
- * DOM.subproj/WebDOMDocument.m:
-
-2002-10-08 Richard Williamson <rjw@apple.com>
-
- Added selection API.
-
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]):
-
-2002-10-08 Richard Williamson <rjw@apple.com>
-
- Add accessor for DOM document.
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation DOMDocument]):
-
-2002-10-08 Richard Williamson <rjw@apple.com>
-
- Made getAttributeNodeNamed match spec, changed
- to getAttributeNode.
-
- * DOM.subproj/WebDOMElement.h:
-
-2002-10-08 John Sullivan <sullivan@apple.com>
-
- - WebKit part of fix for 3069150 -- eliminate "separator"
- feature from Bookmarks
-
- * Bookmarks.subproj/WebBookmarkSeparator.h: Removed.
- * Bookmarks.subproj/WebBookmarkSeparator.m: Removed.
- Removed class
-
- * Bookmarks.subproj/WebBookmark.h:
- * Bookmarks.subproj/WebBookmark.m:
- (+[WebBookmark bookmarkOfType:]):
- (+[WebBookmark bookmarkFromDictionaryRepresentation:withGroup:]):
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:URLString:type:]):
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
- * Bookmarks.subproj/WebBookmarkPrivate.h:
- * English.lproj/StringsNotToBeLocalized.txt:
- Removed all references to class.
-
- * WebKit.pbproj/project.pbxproj: Updated for removed files.
-
-2002-10-08 Richard Williamson <rjw@apple.com>
-
- Fixes to the DOM API.
-
- * DOM.subproj/WebDOMDocument.h:
- * DOM.subproj/WebDOMDocument.m:
- * DOM.subproj/WebDOMNode.h:
- * DOM.subproj/WebDOMNode.m:
- * DOM.subproj/WebDOMNamedNodeMap.h: Removed.
- * DOM.subproj/WebDOMNamedNodeMap.m: Removed.
- * WebKit.pbproj/project.pbxproj:
-
-2002-10-08 Ken Kocienda <kocienda@apple.com>
-
- Use WebFrameLoadType variable to set the request cache policy for the WebResourceRequest.
- This will help us to provide cached results for POST requests when the user navigates
- using the back/forward list or history for navigation, while making sure we do not
- use cached results when the user pokes the submit button for a form they have
- submitted previously.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _goToItem:withFrameLoadType:])
-
-2002-10-08 Chris Blumenberg <cblu@apple.com>
-
- Moved assumption that a resource without a content type or extension is HTML to WebFoundation.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveResponse:]):
-
-2002-10-08 Chris Blumenberg <cblu@apple.com>
-
- Minor plug-in code clean-up.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendActivateEvent:]):
- (-[WebBaseNetscapePluginView sendUpdateEvent]):
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream receivedData:]):
-
-2002-10-08 Chris Blumenberg <cblu@apple.com>
-
- Partial fix for 2967073 - should open all TEXT type files, at least
-
- * WebView.subproj/WebControllerPrivate.m:
- (+[WebController _MIMETypeForFile:]): Sniff for HTML in the fail case.
-
-2002-10-07 Darin Adler <darin@apple.com>
-
- WebKit part of implementation of multipart forms posting.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge postWithURL:referrer:data:contentType:]):
- Add a contentType parameter to match change in WebCore API.
- Put the contentType value into the request.
-
-2002-10-07 Chris Blumenberg <cblu@apple.com>
-
- Icing fix for: 3063517 - crash loading .png in separate window
-
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebNetscapePluginDatabase init]): Don't override document view and rep
- types for types that have already been registered.
-
-2002-10-07 Darin Adler <darin@apple.com>
-
- WebKit part of the page up/down fix.
-
- * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView scrollPoint:]):
- If we are called from the handling of a page up or page down keyboard
- event, then ignore the specific scrolling requested, and do our idea of
- page up and page down. This guarantees that we will get the smarter
- idea of how to page from WebView instead of the one that's hardcoded
- into NSTextView.
-
- * WebView.subproj/WebView.m: (-[WebView keyDown:]): Use scrollPageUp:,
- scrollPageDown:, scrollLineUp:, and scrollLineDown: instead of _pageUp,
- _pageDown, _lineUp, and _lineDown. This lets other classes see and use
- these selectors, which is useful when passing calls up the responder chain.
- * WebView.subproj/WebViewPrivate.h: Remove the private methods that are
- being changed to match the NSResponder keyboard methods.
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView scrollPageUp:]): Rename from _pageUp, and also pass a scrollPageUp:
- selector along the responder chain if we are already scrolled to the top.
- (-[WebView scrollPageDown:]): Ditto.
- (-[WebView scrollLineUp:]): Rename from _lineUp.
- (-[WebView scrollLineDown:]): Rename from _lineDown.
-
-2002-10-07 Richard Williamson <rjw@apple.com>
-
- 'Re'play the delegate messages when an item is loaded from
- the WebCore cache.
-
- Note that the client will NOT receive a willSendRequest: message. The client
- presumably already did any request substitution before the object was loaded
- into the cache. Allowing the delegate to override the request and replace
- the object in the WebCore cache would introduce significant complexity.
-
- Fixes 3069138.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCache:response:size:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handle:didReceiveResponse:]):
-
-2002-10-05 Darin Adler <darin@apple.com>
-
- - fixed 3068323 -- nil object inserted in dictionary exception on mouse move
-
- * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):
- Add some assertions in the hope of finding if my assumptions about this are
- wrong, and use the version of the dictionary setter that does nothing if it's
- passed nil when putting in the frame found by name.
-
-2002-10-04 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Add a localization
- exception for the WebKit bundle identifier.
-
-2002-10-04 Darin Adler <darin@apple.com>
-
- * Misc.subproj/WebKitLocalizableStrings.m: Added.
- Contains the definition of the WebKitLocalizableStringsBundle.
- * WebKit.pbproj/project.pbxproj: Add -DFRAMEWORK_NAME=WebKit.
-
-2002-10-04 Richard Williamson <rjw@apple.com>
-
- Stubs for DOM level 2 core API.
-
- * DOM.subproj/WebDOMDocument.h: Added.
- * DOM.subproj/WebDOMDocument.m: Added.
- * DOM.subproj/WebDOMElement.h: Added.
- * DOM.subproj/WebDOMElement.m: Added.
- * DOM.subproj/WebDOMNamedNodeMap.h: Added.
- * DOM.subproj/WebDOMNamedNodeMap.m: Added.
- * DOM.subproj/WebDOMNode.h: Added.
- * DOM.subproj/WebDOMNode.m: Added.
- * WebKit.pbproj/project.pbxproj:
-
- * WebView.subproj/WebHTMLViewPrivate.m: tweak.
-
-2002-10-04 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Add the last few exceptions.
- We now have a completely-clean run of extract-localizable-strings in WebKit!
-
-2002-10-04 Darin Adler <darin@apple.com>
-
- - fixed 3060140 -- REGRESSION: frames of animated gif drawn in wrong position.
-
- I got the "fromRect" and "toRect" parameters backwards when I made the changes
- to fix bug 3050810.
-
- * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer nextFrame:]):
- Reverse targetRect and imageRect.
-
- * WebKit.pbproj/project.pbxproj: Mark some new files as UTF-8 because Project
- Builder asked me to.
-
-2002-10-04 Darin Adler <darin@apple.com>
-
- * Panels.subproj/WebPanelCookieAcceptHandler.h: Removed.
- * Panels.subproj/WebPanelCookieAcceptHandler.m: Removed.
-
-2002-10-04 Richard Williamson <rjw@apple.com>
-
- Danger Will Robinson. We have to poseAsClass: as early as possible
- so that any NSViews will be created with the appropriate poser.
- This problem manifested itself with SimpleViewer failing
- immediately. NSViews were created by loading a nib before
- WebHTMLView class initialization occured. After posing the
- already instantiated instances of NSView had a %NSView class,
- causing many things to break.
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (+[WebHTMLView load]):
-
-2002-10-04 Richard Williamson <rjw@apple.com>
-
- Ensure that we return non-nil request from handle:willSendRequest:
- even when WK's laod delegate is nil.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handle:willSendRequest:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:willSendRequest:]):
-
-2002-10-04 Darin Adler <darin@apple.com>
-
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel loadNib]): Use ERROR instead of NSLog here.
- (-[WebAuthenticationPanel setUpForRequest:]): Mark some strings for localization.
-
- * WebKit.pbproj/project.pbxproj: Change the encoding on a lot more files to UTF-8.
-
- * English.lproj/StringsNotToBeLocalized.txt: Added some new exceptions.
- * English.lproj/Localizable.strings: Re-generated.
-
-2002-10-04 Richard Williamson <rjw@apple.com>
-
- Changed WebDOMNode name to WebDebugDOMNode to make room for
- real node.
-
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDOMNode.h: Removed.
- * WebView.subproj/WebDOMNode.m: Removed.
-
-2002-10-04 Richard Williamson <rjw@apple.com>
-
- * WebKit.pbproj/project.pbxproj:
-
-2002-10-03 Richard Williamson <rjw@apple.com>
-
- Changed name of controller's resourceProgressDelegate methods to resourceLoadDelegate.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient initWithLoader:dataSource:]):
- (-[WebSubresourceClient handle:didReceiveResponse:]):
- (-[WebSubresourceClient handle:didReceiveData:]):
- (-[WebSubresourceClient handleDidFinishLoading:]):
- (-[WebSubresourceClient handle:didFailLoadingWithError:]):
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController setResourceLoadDelegate:]):
- (-[WebController resourceLoadDelegate]):
- (-[WebController setDownloadDelegate:]):
- (-[WebController downloadDelegate]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient initWithDataSource:]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
-
-2002-10-03 Richard Williamson <rjw@apple.com>
-
- Always call resourceRequest:willSendRequest: on resourceProgressDelegate.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:willSendRequest:]):
-
-2002-10-03 Richard Williamson <rjw@apple.com>
-
- Add calls to downloadProgressDelegate.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:willSendRequest:]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
- (-[WebMainResourceClient handle:didReceiveData:]):
- (-[WebMainResourceClient handle:didFailLoadingWithError:]):
-
-2002-10-03 Richard Williamson <rjw@apple.com>
-
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCache:size:]):
- Hack to prevent handle creation with nil delegate,
- still perform frame complete check.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient initWithDataSource:]):
- Removed unused code.
-
- (-[WebMainResourceClient handle:willSendRequest:]):
- Copy the request, ugh.
-
-2002-10-03 Darin Adler <darin@apple.com>
-
- Add API for executing JavaScript.
-
- * WebView.subproj/WebController.h: Add method.
- * WebView.subproj/WebController.m:
- (-[WebController executeJavaScriptFromString:]): Call through to
- WebCore to do the heavy lifting.
-
-2002-10-03 Darin Adler <darin@apple.com>
-
- * English.lproj/Localizable.strings: Generated by the script.
- * English.lproj/StringsNotToBeLocalized.txt: Added many more strings to ignore.
- * English.lproj/WebError.strings: Removed.
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- * WebView.subproj/WebView.m:
- Use UI_STRING instead of NSLocalizedString.
-
- * WebKit.pbproj/project.pbxproj: Changed encodings of some files to UTF-8.
- Removed WebError.strings.
-
-2002-10-03 Richard Williamson <rjw@apple.com>
-
- Renamed WebResourceProgressDelegate.h to WebResourceLoadDelegate.h
-
- * Misc.subproj/WebKit.h:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.m:
- * WebView.subproj/WebControllerPrivate.m:
- * WebView.subproj/WebMainResourceClient.m:
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebResourceProgressDelegate.h: Removed.
-
-2002-10-03 Richard Williamson <rjw@apple.com>
-
- Changed to reflect new WebResourceLoadDelegate API.
-
- * Misc.subproj/WebIconLoader.m:
- * Misc.subproj/WebKit.h:
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream handle:didReceiveData:]):
- (-[WebNetscapePluginStream handleDidFinishLoading:]):
- (-[WebNetscapePluginStream cancel]):
- (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCache:size:]):
- (-[WebBridge reportBadURL:]):
- * WebCoreSupport.subproj/WebSubresourceClient.h:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient initWithLoader:dataSource:]):
- (-[WebSubresourceClient dealloc]):
- (-[WebSubresourceClient receivedProgressWithComplete:]):
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- (-[WebSubresourceClient receivedError:]):
- (-[WebSubresourceClient handle:willSendRequest:]):
- (-[WebSubresourceClient handle:didReceiveResponse:]):
- (-[WebSubresourceClient handle:didReceiveData:]):
- (-[WebSubresourceClient handleDidFinishLoading:]):
- (-[WebSubresourceClient handle:didFailLoadingWithError:]):
- (-[WebSubresourceClient cancel]):
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController setResourceProgressDelegate:]):
- (-[WebController resourceProgressDelegate]):
- (-[WebController setDownloadProgressDelegate:]):
- (-[WebController downloadProgressDelegate]):
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _receivedProgressForResourceHandle:fromDataSource:complete:]):
- (-[WebController _mainReceivedProgressForResourceHandle:bytesSoFar:fromDataSource:complete:]):
- (-[WebController _receivedError:forResourceHandle:fromDataSource:]):
- (-[WebController _mainReceivedError:forResourceHandle:fromDataSource:]):
- * WebView.subproj/WebLoadProgress.h: Removed.
- * WebView.subproj/WebLoadProgress.m: Removed.
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient initWithDataSource:]):
- (-[WebMainResourceClient dealloc]):
- (-[WebMainResourceClient receivedProgressWithHandle:complete:]):
- (-[WebMainResourceClient receivedError:forHandle:]):
- (-[WebMainResourceClient handleDidFinishLoading:]):
- (-[WebMainResourceClient handle:willSendRequest:]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
- (-[WebMainResourceClient handle:didReceiveData:]):
- (-[WebMainResourceClient handle:didFailLoadingWithError:]):
- * WebView.subproj/WebResourceProgressDelegate.h:
-
-=== Alexander-26 ===
-
-2002-10-02 Maciej Stachowiak <mjs@apple.com>
-
- - Added "remember my password" checkbox (underlying feature not
- yet implemented).
-
- - Fixed a bug that caused a crash when cancelling the auth sheet.
-
- * Panels.subproj/English.lproj/WebAuthenticationPanel.nib: Added
- "remember this password" checkbox.
- * Panels.subproj/WebAuthenticationPanel.h:
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel cancel:]): Make sure the panel gets
- retained a bit longer, so the cleanup that happens after this
- message is sent can use the panel object.
- (-[WebAuthenticationPanel logIn:]): Make sure the panel gets
- retained a bit longer, so the cleanup that happens after this
- message is sent can use the panel object.
- (-[WebAuthenticationPanel runAsModalDialogWithRequest:]): Pass
- proper remembered value with credential.
- (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
- Pass proper remembered value with credential.
- * WebKit.pbproj/project.pbxproj: Project Builder had its way with
- this file.
-
-2002-10-02 Darin Adler <darin@apple.com>
-
- Machinery so we can handle mouseover feedback at the browser level.
-
- * WebView.subproj/WebWindowOperationsDelegate.h: Added mouseDidMoveOverElement:modifierFlags:.
-
- * WebKit.exp: Export WebElementLinkTargetFrameKey.
- * WebView.subproj/WebController.h: Add WebElementLinkTargetFrameKey.
- * WebView.subproj/WebController.m: Ditto.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView removeMouseMovedObserver]): Send a callback when we
- stop tracking the mouse altogether.
- (-[WebHTMLView viewDidMoveToWindow]): Only set up the mouse moved
- observer if we are the top-level HTML view.
- (-[WebHTMLView windowDidBecomeMain:]): Ditto.
- (-[WebHTMLView mouseMovedNotification:]): Handle mouse over if we are
- over any subview of the HTML view. Also send the callback.
-
- * WebView.subproj/WebHTMLViewPrivate.h: Added lastMouseOverElementWasNotNil,
- _mouseOverElement:modifierFlags: and _insideAnotherHTMLView.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _elementAtPoint:]): Copy over each element separately so
- we don't rely on keys matching. Find the target frame given the target string,
- and include it in the dictionary.
- (-[WebHTMLView _mouseOverElement:modifierFlags]): Added. Calls the window
- operations delegate method, but doesn't call it over and over again if the
- information is still "nil".
- (-[WebHTMLView _insideAnotherHTMLView]): Added.
- (-[NSMutableDictionary _web_setObjectIfNotNil:forKey:]): Added. Helper for
- the _elementAtPoint method which could be moved to WebNSDictionaryExtras some day.
-
-2002-10-02 Ken Kocienda <kocienda@apple.com>
-
- Implemented HTTP-specific subclass for WebResourceResponse.
-
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream receivedData:]): Add import for WebHTTPResourceResponse.
-
-2002-10-02 Darin Adler <darin@apple.com>
-
- Add return value to willSendRequest callback.
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader handle:willSendRequest:]):
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream handle:willSendRequest:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handle:willSendRequest:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:willSendRequest:]):
- Update to return the request.
-
-2002-10-02 Darin Adler <darin@apple.com>
-
- Use the text encoding name from the response and got rid of
- [WebDataSource encoding]. Also remove the "first chunk" logic since we
- now get a separate callback for the response.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge receivedData:withDataSource:]): Get the encoding name
- from the response, or fall back on the default.
-
- * WebView.subproj/WebDataSource.h: Removed encoding.
- * WebView.subproj/WebDataSource.m: Ditto.
-
- * WebView.subproj/WebDataSourcePrivate.h: Removed _setEncoding.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): No need to release encoding any more.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient initWithDataSource:]): No isFirstChunk to initialize.
- (-[WebMainResourceClient handle:didReceiveResponse:]): Moved the response handling
- in here, including the policy logic.
- (-[WebMainResourceClient handle:didReceiveData:]): This has only what's left.
-
-2002-10-02 Chris Blumenberg <cblu@apple.com>
-
- Replaced contentType on WebDataSource to response.
-
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream receivedData:]):
- (-[WebNetscapePluginStream setResponse:]):
- (-[WebNetscapePluginStream setDataSource:]):
- (-[WebNetscapePluginStream receivedData:withDataSource:]):
- (-[WebNetscapePluginStream handle:didReceiveResponse:]):
- (-[WebNetscapePluginStream handle:didReceiveData:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource response]):
- (-[WebDataSource fileType]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _representationClass]):
- (-[WebDataSource _setResponse:]):
- (-[WebDataSource _setContentPolicy:]):
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient dealloc]):
- (-[WebMainResourceClient handleDidFinishLoading:]):
- (-[WebMainResourceClient handle:didReceiveResponse:]):
- (-[WebMainResourceClient handle:didReceiveData:]):
- * WebView.subproj/WebTextView.m:
- (-[WebTextView dataSourceUpdated:]):
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _makeDocumentViewForDataSource:]):
-
-2002-10-02 Darin Adler <darin@apple.com>
-
- More work on "open window behind".
-
- * WebView.subproj/WebControllerPolicyDelegate.h: Add new OpenNewWindowBehind
- constants to the enums.
-
- * WebView.subproj/WebWindowOperationsDelegate.h: Add a behind: parameter to
- the openNewWindowWithURL method.
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _continueAfterClickPolicyForEvent:]): In the new
- WebClickPolicyOpenNewWindowBehind case, pass YES for behind.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge openNewWindowWithURL:referrer:frameName:]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate openNewWindowWithURL:referrer:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame frameNamed:]):
- Pass NO for behind.
-
-2002-10-02 Darin Adler <darin@apple.com>
-
- Cut down on unnecessary use of WebFoundation private stuff.
-
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream startLoad]): Remove unnecessary use of
- [WebResourceHandle _request].
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handleDidFinishLoading:]): Remove assert about
- status code, since status codes are going away.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient didCancelWithHandle:]): Use currentURL for logging.
- (-[WebMainResourceClient handleDidFinishLoading:]): Ditto.
- (-[WebMainResourceClient handle:didReceiveData:]): Ditto.
-
-2002-10-02 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebControllerPolicyDelegate.h: Change modifierMask to
- modifierFlags to match NSEvent.
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate clickPolicyForElement:button:modifierFlags:]): Ditto.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _continueAfterClickPolicyForEvent:]): Ditto.
-
-2002-10-02 Darin Adler <darin@apple.com>
-
- Get rid of uses of canonicalURL.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- Start with normal URL. The change to the canonical URL will come in as a redirect.
- (-[WebSubresourceClient handle:didReceiveData:]): Remove assert.
- (-[WebSubresourceClient handleDidFinishLoading:]): Ditto.
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithRequest:]):Start with normal URL. The change to the
- canonical URL will come in as a redirect.
-
-2002-10-02 Ken Kocienda <kocienda@apple.com>
-
- Added import of WebHTTPResourceRequest.h to get access to methods
- which have moved to the HTTP-sepcific request category.
-
- * WebView.subproj/WebDataSourcePrivate.m
-
-2002-10-01 John Sullivan <sullivan@apple.com>
-
- * WebKit.exp: added .objc_class_name_WebTextRendererFactory
- so I could use it from WebBrowser.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge startLoadingResource:withURL:referrer:]):
- Just changed whitespace so the .exp change would be built.
-
-2002-10-01 Chris Blumenberg <cblu@apple.com>
-
- Fixed build breakage.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView setWindow]):
-
-2002-10-01 Ken Kocienda <kocienda@apple.com>
-
- Implemented WebResourceRequest "category" design for extending a
- request with protocol-specific data.
-
- * WebCoreSupport.subproj/WebBridge.m: Now imports WebHTTPResourceRequest.h.
- * WebCoreSupport.subproj/WebSubresourceClient.m: Ditto.
- * WebView.subproj/WebMainResourceClient.m: Ditto.
-
-2002-10-01 Chris Blumenberg <cblu@apple.com>
-
- - Added debug drawing
- - removed unnecessary ifdef'ing.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendActivateEvent:]):
- (-[WebBaseNetscapePluginView becomeFirstResponder]):
- (-[WebBaseNetscapePluginView resignFirstResponder]):
- (-[WebBaseNetscapePluginView mouseDown:]):
- (-[WebBaseNetscapePluginView mouseUp:]):
- (-[WebBaseNetscapePluginView mouseEntered:]):
- (-[WebBaseNetscapePluginView mouseExited:]):
- (-[WebBaseNetscapePluginView menuForEvent:]):
- (-[WebBaseNetscapePluginView setWindow]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView drawRect:]):
-
-2002-10-01 Ken Kocienda <kocienda@apple.com>
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handleDidFinishLoading:]): Fixed Development build breakage. Call to [response statusCode]
- now calls the handle's private method to get the status code.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidFinishLoading:]): Ditto.
- (-[WebMainResourceClient handle:didReceiveData:]): Calls new textEncodingName method, replacing call to characterSet.
-
-2002-10-01 Ken Kocienda <kocienda@apple.com>
-
- * WebView.subproj/WebLoadProgress.m:
- (-[WebLoadProgress initWithResourceHandle:]): Status code moved from WebResourceResponse
- to WebResourceHandle private API.
-
-2002-10-01 Ken Kocienda <kocienda@apple.com>
-
- Changed WebResourceHandle so that the init method no longer starts the
- loading of the request to begin. Added new loadWithDelegate: method which
- is called separatetly from the init method, to start loads.
-
- All of the changes here update code that depends on WebResourceHandle. The
- changes move the code to the modified API.
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading])
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream startLoad])
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCache:size:])
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:])
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading])
-
-2002-10-01 Chris Blumenberg <cblu@apple.com>
-
- Fixed copyright comments.
-
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
- * Plugins.subproj/WebNetscapePluginDocumentView.h:
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- * Plugins.subproj/WebNullPluginView.h:
- * Plugins.subproj/WebNullPluginView.m:
- * Plugins.subproj/WebPlugin.h:
- * Plugins.subproj/WebPlugin.m:
- * Plugins.subproj/WebPluginDatabase.h:
- * Plugins.subproj/WebPluginDatabase.m:
- * Plugins.subproj/WebPluginNullEventSender.h:
- * Plugins.subproj/WebPluginNullEventSender.m:
- * Plugins.subproj/WebPluginStream.h:
- * Plugins.subproj/WebPluginStream.m:
- * Plugins.subproj/npapi.h:
- * Plugins.subproj/npapi.m:
-
-2002-10-01 Ken Kocienda <kocienda@apple.com>
-
- Many changes to coincide with API work in WebFoundation. Most of the modifications
- here have to do with changes for the new callback scheme.
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader handleDidFinishLoading:])
- (-[WebIconLoader handle:willSendRequest:]): New method. A no-op here.
- (-[WebIconLoader handle:didReceiveResponse:]): Ditto.
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView stop]): Fix for Deployment build breakage.
- * Plugins.subproj/WebPluginStream.h: Add response ivar.
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream startLoad]): Tweak method name for new API.
- (-[WebNetscapePluginStream receivedData:withHandle:]):
- (-[WebNetscapePluginStream handle:willSendRequest:]): New method. Replaces old redirect callback.
- (-[WebNetscapePluginStream handle:didReceiveResponse:]): New method. Set the response ivar.
- * WebCoreSupport.subproj/WebSubresourceClient.h: Add response ivar.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient dealloc]): Release response ivar.
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Set the request user agent here.
- (-[WebSubresourceClient handle:willSendRequest:]): New method. Handle like a redirect.
- (-[WebSubresourceClient handle:didReceiveResponse:]): New method. Set the response ivar.
- (-[WebSubresourceClient handle:didReceiveData:]): Tweaks for new WebFoundation API and method names.
- (-[WebSubresourceClient handleDidFinishLoading:]): Ditto.
- (-[WebSubresourceClient handle:didFailLoadingWithError:]): Ditto.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]): Ditto.
- * WebView.subproj/WebDataSourcePrivate.h: Add _setRequest method.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading]): Call didStartLoadingWithURL with request URL instead of handle URL.
- (-[WebDataSource _setRequest:]): Add implementation.
- * WebView.subproj/WebLoadProgress.m:
- (-[WebLoadProgress initWithResourceHandle:]): Tweaks for new WebFoundation API and method names.
- * WebView.subproj/WebMainResourceClient.h: Add response ivar.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient initWithDataSource:]): Set user agent on request here.
- (-[WebMainResourceClient dealloc]): Release response ivar.
- (-[WebMainResourceClient didCancelWithHandle:]): Tweaks for new WebFoundation API and method names.
- (-[WebMainResourceClient handleDidFinishLoading:]): Tweaks for new WebFoundation API and method names.
- (-[WebMainResourceClient handle:willSendRequest:]): New method. Handle like a redirect.
- (-[WebMainResourceClient handle:didReceiveResponse:]): New method. Set the response ivar.
- (-[WebMainResourceClient handle:didReceiveData:]): Tweaks for new WebFoundation API and method names.
- (-[WebMainResourceClient handle:didFailLoadingWithError:]): Ditto.
-
-
-2002-09-30 Chris Blumenberg <cblu@apple.com>
-
- A ton o' plugin view clean-up and arch changes. Turned WebPluginView into WebBaseNetscapePluginView. New classes WebNetscapePluginEmbeddedView and WebNetscapePluginDocumentView are subclasses of WebBaseNetscapePluginView. WebNetscapePluginDocumentView ha
-ndles non-HTML plug-in content and WebNetscapePluginEmbeddedView is the WebHTMLView subview.
-
- Found that we leak the world on complex pages with plug-ins such as macromedia.com and marvel.com when closing the window. Still need to figure this out.
-
- * Plugins.subproj/WebBaseNetscapePluginView.h: Added.
- * Plugins.subproj/WebBaseNetscapePluginView.m: Added.
- (+[WebBaseNetscapePluginView getCarbonEvent:]):
- (-[WebBaseNetscapePluginView getCarbonEvent:]):
- (-[WebBaseNetscapePluginView modifiersForEvent:]):
- (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
- (-[WebBaseNetscapePluginView keyMessageForEvent:]):
- (-[WebBaseNetscapePluginView sendEvent:]):
- (-[WebBaseNetscapePluginView sendActivateEvent:]):
- (-[WebBaseNetscapePluginView sendUpdateEvent]):
- (-[WebBaseNetscapePluginView acceptsFirstResponder]):
- (-[WebBaseNetscapePluginView becomeFirstResponder]):
- (-[WebBaseNetscapePluginView resignFirstResponder]):
- (-[WebBaseNetscapePluginView mouseDown:]):
- (-[WebBaseNetscapePluginView mouseUp:]):
- (-[WebBaseNetscapePluginView mouseEntered:]):
- (-[WebBaseNetscapePluginView mouseExited:]):
- (-[WebBaseNetscapePluginView keyUp:]):
- (-[WebBaseNetscapePluginView keyDown:]):
- (-[WebBaseNetscapePluginView isInResponderChain]):
- (-[WebBaseNetscapePluginView performKeyEquivalent:]):
- (-[WebBaseNetscapePluginView menuForEvent:]):
- (-[WebBaseNetscapePluginView setUpWindowAndPort]):
- (-[WebBaseNetscapePluginView setWindow]):
- (-[WebBaseNetscapePluginView removeTrackingRect]):
- (-[WebBaseNetscapePluginView resetTrackingRect]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView stop]):
- (-[WebBaseNetscapePluginView dataSource]):
- (-[WebBaseNetscapePluginView webFrame]):
- (-[WebBaseNetscapePluginView controller]):
- (-[WebBaseNetscapePluginView plugin]):
- (-[WebBaseNetscapePluginView setMIMEType:]):
- (-[WebBaseNetscapePluginView setBaseURL:]):
- (-[WebBaseNetscapePluginView setArguments:]):
- (-[WebBaseNetscapePluginView setMode:]):
- (-[WebBaseNetscapePluginView initWithFrame:]):
- (-[WebBaseNetscapePluginView dealloc]):
- (-[WebBaseNetscapePluginView drawRect:]):
- (-[WebBaseNetscapePluginView isFlipped]):
- (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
- (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
- (-[WebBaseNetscapePluginView viewHasMoved:]):
- (-[WebBaseNetscapePluginView windowWillClose:]):
- (-[WebBaseNetscapePluginView windowBecameKey:]):
- (-[WebBaseNetscapePluginView windowResignedKey:]):
- (-[WebBaseNetscapePluginView defaultsHaveChanged:]):
- (-[WebBaseNetscapePluginView frameStateChanged:]):
- (-[WebBaseNetscapePluginView pluginInstance]):
- (-[WebBaseNetscapePluginView pluginURLFromCString:]):
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]):
- (-[WebBaseNetscapePluginView getURL:target:]):
- (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]):
- (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]):
- (-[WebBaseNetscapePluginView newStream:target:stream:]):
- (-[WebBaseNetscapePluginView write:len:buffer:]):
- (-[WebBaseNetscapePluginView destroyStream:reason:]):
- (-[WebBaseNetscapePluginView status:]):
- (-[WebBaseNetscapePluginView invalidateRect:]):
- (-[WebBaseNetscapePluginView invalidateRegion:]):
- (-[WebBaseNetscapePluginView forceRedraw]):
- * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h: Added.
- * Plugins.subproj/WebNetscapePluginDocumentView.h: Added.
- * Plugins.subproj/WebNetscapePluginDocumentView.m: Added.
- (-[WebNetscapePluginDocumentView initWithFrame:]):
- (-[WebNetscapePluginDocumentView dealloc]):
- (-[WebNetscapePluginDocumentView drawRect:]):
- (-[WebNetscapePluginDocumentView dataSource]):
- (-[WebNetscapePluginDocumentView setDataSource:]):
- (-[WebNetscapePluginDocumentView dataSourceUpdated:]):
- (-[WebNetscapePluginDocumentView setNeedsLayout:]):
- (-[WebNetscapePluginDocumentView layout]):
- * Plugins.subproj/WebNetscapePluginEmbeddedView.h: Added.
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m: Added.
- (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:mime:arguments:]):
- (-[WebNetscapePluginEmbeddedView dealloc]):
- (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]):
- (-[WebNetscapePluginEmbeddedView start]):
- (-[WebNetscapePluginEmbeddedView dataSource]):
- * Plugins.subproj/WebNetscapePluginViewPrivate.h: Removed.
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebNetscapePluginDatabase init]):
- * Plugins.subproj/WebPluginNullEventSender.h:
- * Plugins.subproj/WebPluginNullEventSender.m:
- (-[WebNetscapePluginNullEventSender initWithPluginView:]):
- (-[WebNetscapePluginNullEventSender sendNullEvents]):
- * Plugins.subproj/WebPluginStream.h:
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream getFunctionPointersFromPluginView:]):
- (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:]):
- (-[WebNetscapePluginStream dealloc]):
- (-[WebNetscapePluginStream startLoad]):
- (-[WebNetscapePluginStream receivedData:withDataSource:]):
- (-[WebNetscapePluginStream handleWillUseUserAgent:forURL:]):
- (-[WebNetscapePluginStream handle:didReceiveData:]):
- (-[WebNetscapePluginStream handleDidFinishLoading:]):
- (-[WebNetscapePluginStream cancel]):
- (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
- (-[WebNetscapePluginStream handleDidRedirect:toURL:]):
- * Plugins.subproj/WebPluginView.h: Removed.
- * Plugins.subproj/WebPluginView.m: Removed.
- * Plugins.subproj/npapi.m:
- (NPN_GetURLNotify):
- (NPN_GetURL):
- (NPN_PostURLNotify):
- (NPN_PostURL):
- (NPN_NewStream):
- (NPN_Write):
- (NPN_DestroyStream):
- (NPN_Status):
- (NPN_InvalidateRect):
- (NPN_InvalidateRegion):
- (NPN_ForceRedraw):
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
- (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[NSView _web_stopIfPluginView]):
-
-2002-09-30 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithRequest:]):
- Remove the ill-advised "don't even create a WebDataSource if WebResourceHandle
- can't handle this request" code.
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading]):
- Rearrange checks so we won't get confused if we can't create a handle.
-
-2002-09-30 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Added.
-
-2002-09-30 Darin Adler <darin@apple.com>
-
- - fixed crashing part of 3063517 -- crash loading .png in separate window
-
- * Plugins.subproj/WebPluginView.m:
- (-[WebNetscapePluginView start]): Don't try to start if the NPP_New is 0.
- This indicates the the plugin hasn't been loaded.
-
-2002-09-30 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _setLoading:]):
- Remove extra quotes in use of ASSERT_ARG.
-
-2002-09-29 Darin Adler <darin@apple.com>
-
- * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _iconForFileURL:withSize:]):
- Don't be case sensitive about filename extensions.
-
- * Misc.subproj/WebDownloadHandler.m:
- * Misc.subproj/WebIconLoader.m:
- * Plugins.subproj/WebPluginStream.m:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebView.m:
- Don't use WebFoundation.h -- faster building to just import what we really use.
-
-2002-09-29 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 2978258 - quake3arena.com sends me to the flash=false site
- The page has a flash plugin that once loaded, requests the flash=true page. If the plugin doesn't load, the meta refresh tag to the flash=false page fires after 3 seconds. This is how this site's flash detection works.
-
- The reason this doesn't work for us is because the flash movie is at the bottom of the page. Plugins don't start until the initial drawRect. Since the movie is at the bottom of the page and out of site, the plugin never gets the drawRect and thus, never
-starts. We now start plug-ins when they are added to the window.
-
- Fixed: 3062224 - context menu includes "Download Item to Disk" for mailto links
-
- - Fixed click then click and drag causes crash.
-
- * Plugins.subproj/WebPluginView.m:
- (-[WebNetscapePluginView drawRect:]): don't start plug-in here
- (-[WebNetscapePluginView viewDidMoveToWindow]): start it here
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): don't provide "Download Link To Disk" and "Open Link In New Window" items for URLs we cant handle.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): clean-up
- (-[WebHTMLView mouseDragged:]): Don't allow drag if the frame has a provisional data source because this view may be released and the drag callbacks might reference this released view.
-
-2002-09-28 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithRequest:]):
- Catch a request that we can't use here instead of failing later.
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading]):
- Added an assert so the failure was less confusing; good idea to leave it in.
-
-2002-09-28 Chris Blumenberg <cblu@apple.com>
-
- Support for latest Flash plug-in. It requests a javascript URL for every plug-in instance.
- Until javascript URLs work, we return an error to the plug-in.
-
- Fixed: 3035582 - flash animations don't work after upgrading flash
- Fixed: 3021936 - links in flash at foggypetronasracing.com doesn't work
-
- * Plugins.subproj/WebPluginStream.h:
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:]):
- Make the request here and return nil if we can't create a handle with it.
- (-[WebNetscapePluginStream dealloc]): release the request
- (-[WebNetscapePluginStream startLoad]): use the request when creating the handle
-
-2002-09-28 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setNeedsLayout]): Added.
-
-2002-09-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed KJS crasher caused by nil plug-in returned from WebPlugin.
- Got the RealPlayer plug-in loaded, nothing playing yet.
-
- * Plugins.subproj/WebPlugin.m:
- (-[WebNetscapePlugin getPluginInfo]): check for nil plug-in names/descriptions
- (-[WebNetscapePlugin stringByResolvingSymlinksAndAliasesInPath:]): new, resolves old-style aliases
- (-[WebNetscapePlugin initWithPath:]): call stringByResolvingSymlinksAndAliasesInPath
-
-2002-09-27 Richard Williamson <rjw@apple.com>
-
- Fix 3058315: crash in WebHTMLRepresentation receivedData:withDataSource
- http://www.u2.com/lite/ does some whacky things with its framset's onLoad
- handler. The fix ensures that data isn't sent to the bridge once
- the bridge has been dealloced.
-
- * WebKit.pbproj/project.pbxproj: Nothing changed. PB dorkiness.
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation receivedData:withDataSource:]):
-
-2002-09-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3056559 - QT plugin doesn't load
- Fixed: 3042850 - Enable Java by default
-
- Cleaned up WebPlugin and WebPluginDatabase.
-
- * Plugins.subproj/WebPlugin.h:
- * Plugins.subproj/WebPlugin.m:
- (-[WebNetscapePlugin openResourceFile]):
- (-[WebNetscapePlugin closeResourceFile:]):
- (-[WebNetscapePlugin stringForStringListID:andIndex:]):
- (-[WebNetscapePlugin getPluginInfo]):
- (-[WebNetscapePlugin initWithPath:]):
- (-[WebNetscapePlugin load]):
- (-[WebNetscapePlugin unload]):
- (-[WebNetscapePlugin MIMEToExtensionsDictionary]):
- (-[WebNetscapePlugin extensionToMIMEDictionary]):
- (-[WebNetscapePlugin MIMEToDescriptionDictionary]):
- (-[WebNetscapePlugin description]):
- * Plugins.subproj/WebPluginDatabase.h:
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebNetscapePluginDatabase pluginForMIMEType:]):
- (-[WebNetscapePluginDatabase pluginForExtension:]):
- (-[WebNetscapePluginDatabase pluginForFilename:]):
- (-[WebNetscapePluginDatabase MIMETypes]):
- (-[WebNetscapePluginDatabase init]):
- * Plugins.subproj/WebPluginView.m:
- (-[WebNetscapePluginView setDataSource:]):
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
- (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]):
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences load]): Enable Java by default
-
-2002-09-27 Richard Williamson <rjw@apple.com>
-
- Fixed 3060158: REGRESSION: iframes added to session history
- Also moved setting title in history to WebKit.
-
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
- (+[WebHistory sharedHistory]):
- (+[WebHistory webHistoryWithFile:]):
- (-[WebHistory addEntryForURL:]):
- (-[WebHistory addEntries:]):
- * History.subproj/WebHistoryPrivate.h:
- * History.subproj/WebHistoryPrivate.m:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge requestedURL]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setTitle:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
-
-2002-09-26 Richard Williamson <rjw@apple.com>
-
- More twiddling. Changed the color of the drag labels to
- match the favorites bar.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
-
-2002-09-27 Chris Blumenberg <cblu@apple.com>
-
- Added support for dragging links the the dock.
- Created new pasteboard types WebURLPboardType WebURLNamePboardType that the dock requires.
-
- * Misc.subproj/WebNSPasteboardExtras.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (+[NSPasteboard initialize]): set WebURLPboardType and WebURLNamePboardType
- (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): use WebURLPboardType and WebURLNamePboardType
- * WebKit.exp: export WebURLPboardType and WebURLNamePboardType
-
-2002-09-27 Maciej Stachowiak <mjs@apple.com>
-
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForRequest:]):
- (-[WebAuthenticationPanel runAsModalDialogWithRequest:]):
- (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
- * Panels.subproj/WebPanelAuthenticationHandler.h:
- * Panels.subproj/WebPanelAuthenticationHandler.m:
- (-[WebPanelAuthenticationHandler isReadyToStartAuthentication:]):
- (-[WebPanelAuthenticationHandler startAuthentication:]):
- (-[WebPanelAuthenticationHandler _authenticationDoneWithRequest:result:]):
-
-2002-09-26 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge receivedData:withDataSource:]): Use NSString for encoding.
- * WebView.subproj/WebController.h: Update names to use separate boolean
- for user agent and strings for text encodings instead of CFStringEncoding.
- * WebView.subproj/WebController.m:
- (-[WebController setCustomUserAgent:]): Name change.
- (-[WebController resetUserAgent]): Added.
- (-[WebController hasCustomUserAgent]): Added.
- (-[WebController customUserAgent]): Name change.
- (-[WebController setCustomTextEncodingName:]): Take NSString.
- (-[WebController resetTextEncoding]): Update for NSString.
- (-[WebController _mainFrameOverrideEncoding]): Ditto.
- (-[WebController hasCustomTextEncoding]): Ditto.
- (-[WebController customTextEncodingName]): Return NSString.
-
- * WebView.subproj/WebDataSourcePrivate.h: Use NSString instead of
- CFStringEncoding.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate init]): No need to init.
- (-[WebDataSource _setContentType:]): Copy, don't retain.
- (-[WebDataSource _setEncoding:]): Copy, don't retain.
- (-[WebDataSource _setOverrideEncoding:]): Use NSString.
- (-[WebDataSource _overrideEncoding]): Use NSString.
-
- * WebView.subproj/WebFramePrivate.h: Use NSString.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Use NSString.
-
- * WebView.subproj/WebPreferences.h: Use NSString instead of
- CFStringEncoding.
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences load]): Use NSString.
- (-[WebPreferences defaultTextEncodingName]): Use NSString.
- (-[WebPreferences setDefaultTextEncodingName:]): Use NSString.
-
-2002-09-26 Chris Blumenberg <cblu@apple.com>
-
- Made WebTextView super-private.
-
- * WebKit.pbproj/project.pbxproj:
-
-2002-09-26 Richard Williamson <rjw@apple.com>
-
- Use a rectangle with rounded corners for dragged label.
- Put a subtle shadow behind text in label.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
-
-2002-09-26 Chris Blumenberg <cblu@apple.com>
-
- - When dragging an image, use the image itself for the drag image
- - Support promised file and image data drag types for dragged images.
-
- * Misc.subproj/WebNSImageExtras.h: Added.
- * Misc.subproj/WebNSImageExtras.m: Added.
- (-[NSImage _web_scaleToMaxSize:]): new, scales an image is greater than max
- (-[NSImage _web_dissolveToFraction:]): new, dissolves image in place
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.h: Added WebElementImageLocationKey to the element dictionary
- * WebView.subproj/WebController.m: ditto
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): subclassed for only for image drags
- (-[WebHTMLView mouseDragged:]): use the promised file api again.
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): use the retained element dictionary instead of the dragged URL which I deleted.
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-=== Alexander-25 ===
-
-2002-09-25 Richard Williamson <rjw@apple.com>
-
- API tweaks.
- * Misc.subproj/WebKit.h:
- Added headers.
-
- * Misc.subproj/WebKitErrors.h:
- Removed #defines.
-
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _loadIcon]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]):
- Removed isMainDocument.
-
- Moved errors string #defines here.
- * WebView.subproj/WebView.m:
-
-2002-09-25 John Sullivan <sullivan@apple.com>
-
- - fixed 3060773 -- Wrong title proposed when image link
- dropped on favorites bar
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]): Claim the pasteboard (via
- declareTypes:) before putting data on it.
-
-2002-09-25 Richard Williamson <rjw@apple.com>
-
- API and documentation tweaks.
-
- WebDocumentDragSettings: canDrag -> acceptsDrag
- WebDataSource: removed originalURL
- WebStandardPanels: use -> uses
-
- * History.subproj/WebBackForwardList.h:
- * Misc.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler initWithDataSource:]):
- * Panels.subproj/WebStandardPanels.h:
- * Panels.subproj/WebStandardPanels.m:
- (-[WebStandardPanels setUsesStandardAuthenticationPanel:]):
- (-[WebStandardPanels usesStandardAuthenticationPanel]):
- * Plugins.subproj/WebPluginView.m:
- (-[WebNetscapePluginView frameStateChanged:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient cancel]):
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _commitIfReady]):
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame setProvisionalDataSource:]):
- (-[WebFrame startLoading]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
- (-[WebFrame _setState:]):
- (-[WebFrame _goToItem:withFrameLoadType:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView setAcceptsDrags:]):
- (-[WebHTMLView acceptsDrags]):
- (-[WebHTMLView setAcceptsDrops:]):
- (-[WebHTMLView acceptsDrops]):
- * WebView.subproj/WebImageView.m:
- (-[WebImageView setAcceptsDrags:]):
- (-[WebImageView acceptsDrags]):
- (-[WebImageView setAcceptsDrops:]):
- (-[WebImageView acceptsDrops]):
- * WebView.subproj/WebLoadProgress.h:
- * WebView.subproj/WebLocationChangeDelegate.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient didCancelWithHandle:]):
- * WebView.subproj/WebView.h:
-
-2002-09-25 Ken Kocienda <kocienda@apple.com>
-
- Changes to move the WebResourceHandle API closer to the
- specified design. This includes:
-
- - Removed loadInBackground method from the public interface.
- - Start asynchronous loading in WebResourceHandle init method. This required some
- code reorganization in callers.
- - Remove loadInForeground: from WebResourceHandle interface.
- - Move WebResourceHandle callback deferral methods to SPI header file.
- - Change name of WebResourceHandle cancelLoadInBackground method to cancel.
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading])
- (-[WebIconLoader stopLoading])
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream startLoad])
- (-[WebNetscapePluginStream cancel])
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:])
- (-[WebSubresourceClient cancel])
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading])
- (-[WebDataSource _addSubresourceClient:])
- (-[WebDataSource _stopLoading])
- (-[WebDataSource _defersCallbacksChanged])
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveData:])
-
-2002-09-25 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3050665 - REGRESSION: mp3 audio loads and plays, but no progress or play control is visible
-
- * Plugins.subproj/WebPluginView.h:
- * Plugins.subproj/WebPluginView.m:
- (-[WebNetscapePluginView setNeedsLayout:]):
- (-[WebNetscapePluginView layout]):
- (-[WebNetscapePluginView drawRect:]):
-
-2002-09-25 Darin Adler <darin@apple.com>
-
- Make the "set aside subviews" logic stronger so it can handle a display
- while inside drawRect. But note, this recursive display is most likely
- the cause of the redrawing problems we have while resizing, like bug 2969367.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView drawRect:]): Restore views and then set them aside again, but don't
- leave the "views set aside" boolean set.
- * WebView.subproj/WebHTMLViewPrivate.h: Add private _setAsideSubviews and _restoreSubviews methods.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _setAsideSubviews]): Added.
- (-[WebHTMLView _restoreSubviews]): Added.
- (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- Use the new _setAsideSubviews and _restoreSubviews methods.
- (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
-
-2002-09-25 Ken Kocienda <kocienda@apple.com>
-
- Removed this method from WebResourceHandle:
-
- +(BOOL)canInitWithURL:(NSURL *)theURL;
-
- replaced with:
-
- +(BOOL)canInitWithRequest:(WebResourceRequest *)request;
-
- Callers have been updated to reflect the change.
-
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (+[WebDefaultPolicyDelegate defaultURLPolicyForURL:])
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _shouldShowURL:])
-
-2002-09-25 Ken Kocienda <kocienda@apple.com>
-
- More moves to the new WebResourceHandleDelegate API.
-
- This change moves all WebResourceHandleDelegate implementors to:
-
- -(void)handle:(WebResourceHandle *)handle didReceiveData:(NSData *)data;
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader handle:didReceiveData:])
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream handle:didReceiveData:])
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handle:didReceiveData:])
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveData:])
-
-2002-09-25 Ken Kocienda <kocienda@apple.com>
-
- Moving to the new WebResourceHandleDelegate API.
-
- This change moves all WebResourceHandleDelegate implementors to:
-
- - (void)handle:(WebResourceHandle *)handle didFailLoadingWithError:(WebError *)result;
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader handle:didFailLoadingWithError:])
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream handle:didFailLoadingWithError:])
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handle:didFailLoadingWithError:])
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didFailLoadingWithError:])
-
-2002-09-25 Ken Kocienda <kocienda@apple.com>
-
- Begin change from WebResourceClient to WebResourceHandleDelegate.
- In this step, I have just changed the name of the protocol; the
- protocol interface is the same.
-
- I made other cosmetic changes to variable names and such.
-
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading])
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream startLoad])
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCache:size:])
- * WebCoreSupport.subproj/WebSubresourceClient.h:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:])
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading])
- * WebView.subproj/WebMainResourceClient.h:
-
-2002-09-25 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 2854536 - New cookie policy: "accept cookies only from the
- same domain as the main page"
-
- * WebCoreSupport.subproj/WebCookieAdapter.h:
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- (-[WebSubresourceClient handleDidRedirect:toURL:]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidRedirect:toURL:]):
-
-2002-09-24 Richard Williamson <rjw@apple.com>
-
- More documentation tweaks.
-
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistoryItem.h:
- * WebView.subproj/WebContextMenuDelegate.h:
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebLocationChangeDelegate.h:
- * WebView.subproj/WebResourceProgressDelegate.h:
-
-2002-09-24 Darin Adler <darin@apple.com>
-
- - fixed 3059513 -- REGRESSION: Scrolling to fragment doesn't work
-
- Turns out it was better to just put the extra smarts into the clip view
- that we are already creating. Making WebHTMLView be a second clip view
- was silly and broke things.
-
- * WebView.subproj/WebView.m: (-[WebView initWithFrame:]): Create a WebClipView
- and use it as the content view rather than the NSClipView created by default.
-
- * WebKit.pbproj/project.pbxproj: Added WebClipView.
- * WebView.subproj/WebClipView.h: Added.
- * WebView.subproj/WebClipView.m: Added.
-
- * WebView.subproj/WebHTMLView.h: Don't be a subclass of NSClipView any more.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView drawRect:]): Call setAdditionalClip and resetAdditionalClip on
- the clip view.
-
- * WebView.subproj/WebHTMLViewPrivate.h: Remove inDrawRect and drawRect.
- * WebView.subproj/WebHTMLViewPrivate.m: Remove visibleRect override. This is
- now in WebClipView.
-
-2002-09-24 Chris Blumenberg <cblu@apple.com>
-
- More documentation changes.
-
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebDefaultContextMenuDelegate.h:
- * WebView.subproj/WebDocument.h:
-
-2002-09-24 Richard Williamson <rjw@apple.com>
-
- Added FIXME note about unresolved issue with CFStringEncoding/NSStringEncoding.
-
- * WebView.subproj/WebController.h:
-
-2002-09-24 Richard Williamson <rjw@apple.com>
-
- Documentation for WebDataSource and WebFrame.
-
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource frameExists:]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource addFrame:]):
- * WebView.subproj/WebFrame.h:
-
-2002-09-24 Darin Adler <darin@apple.com>
-
- - fixed 3059266 -- REGRESSION: clicking in web view when location field is
- focused does not focus web view
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView needsPanelToBecomeKey]):
- Must override this to return YES, because NSClipView makes it return NO
- even though we accept the first responder.
-
-2002-09-24 John Sullivan <sullivan@apple.com>
-
- - fixed 3056158 -- REGRESSION: Page up/down should scroll one
- whole contentView minus at least one readable line of text
-
- This was broken a while back when the keyboard scrolling code
- migrated into WebKit.
-
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _verticalKeyboardScrollAmount]),
- (-[WebView _horizontalKeyboardScrollAmount]):
- New private methods, return one arrow key's worth of scrolling.
- (-[WebView _scrollLineVertically:]),
- (-[WebView _scrollLineHorizontally:]):
- Now use the broken-out methods.
- (-[WebView _pageVertically:]),
- (-[WebView _pageHorizontally:]):
- overlap by one arrow key's worth of scrolling instead of the
- teensy-weensy one click's worth.
-
-2002-09-24 Chris Blumenberg <cblu@apple.com>
-
- Documentation for WebHTMLView
-
- * WebView.subproj/WebHTMLView.h:
-
-2002-09-24 Richard Williamson <rjw@apple.com>
-
- Documentation changes. Removal of imports from
- some headers required modification of .m.
-
- * Plugins.subproj/WebNullPluginView.m:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebDefaultPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (+[WebDefaultPolicyDelegate defaultURLPolicyForURL:]):
- (-[WebDefaultPolicyDelegate URLPolicyForURL:inFrame:]):
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebHTMLViewPrivate.m:
-
-2002-09-24 Chris Blumenberg <cblu@apple.com>
-
- Renamed element info keys to WebElement* instead of WebContextMenuElement*
- Added WebKit API documentation
-
- * Plugins.subproj/WebPlugin.m:
- (-[WebNetscapePlugin load]): clean-up
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebContextMenuDelegate.h:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebDefaultContextMenuDelegate.h:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]):
- (-[WebDefaultContextMenuDelegate openNewWindowWithURL:referrer:]):
- (-[WebDefaultContextMenuDelegate downloadURL:]):
- (-[WebDefaultContextMenuDelegate openLinkInNewWindow:]):
- (-[WebDefaultContextMenuDelegate downloadLinkToDisk:]):
- (-[WebDefaultContextMenuDelegate copyLinkToClipboard:]):
- (-[WebDefaultContextMenuDelegate openImageInNewWindow:]):
- (-[WebDefaultContextMenuDelegate downloadImageToDisk:]):
- (-[WebDefaultContextMenuDelegate copyImageToClipboard:]):
- (-[WebDefaultContextMenuDelegate openFrameInNewWindow:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _elementAtPoint:]):
-
-2002-09-24 Darin Adler <darin@apple.com>
-
- Cleaned up some loose ends from adding setNeedsLayout to the WebDocumentView
- protocol. Was causing exceptions.
-
- * Plugins.subproj/WebPluginView.m: (-[WebNetscapePluginView setNeedsLayout:]):
- * WebView.subproj/WebTextView.m: (-[WebTextView setNeedsLayout:]):
- Added missing stubs.
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setNeedsReapplyStyles]):
- Removed unneeded cast.
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]): Remove an
- unneeded cast and call to isDocumentHTML.
- * WebView.subproj/WebHTMLView.h: No need to re-declare setNeedsLayout.
- * WebView.subproj/WebView.m: (-[WebView setFrame:]): Get rid of unneeded check
- of isDocumentHTML.
-
-2002-09-24 Darin Adler <darin@apple.com>
-
- - fixed 3057383 -- focus rectangles are being drawn multiple times
- - fixed 3051025 -- focus ring on password field gets darker and darker
-
- To make focus rings clip too, we have to do more than just set the clip.
- We also have to set the visible rectangle to make clipping happen, and we
- need to be a subclass of NSClipView so that the focus ring drawing code will
- consult us rather than one of our superviews.
-
- * WebView.subproj/WebHTMLView.h: Be a subclass of NSClipView.
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): Set a inDrawRect
- flag, and a drawRect rectangle. This tells us to clip to this rectangle.
- what we need to clip to.
- * WebView.subproj/WebHTMLViewPrivate.h: Added inDrawRect and drawRect.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView visibleRect]): Clip the visible rect based on the drawRect while
- inDrawRect is set.
-
-2002-09-23 Chris Blumenberg <cblu@apple.com>
-
- Factored URL pasteboard initialization to 1 place.
- Fixed: 3048924 - regression: drag & drop broken for initial empty page
- Fixed: 3045997 - Dragging a link from one Alex window to another one doesn't work
-
- * Misc.subproj/WebNSPasteboardExtras.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): new
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate copyLinkToClipboard:]): call -[NSPasteboard _web_writeURL:andTitle:withOwner:]
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]): call -[NSPasteboard _web_writeURL:andTitle:withOwner:]
- * WebView.subproj/WebView.m:
- (-[WebView draggingEntered:]): handle nil cases
-
-2002-09-23 Maciej Stachowiak <mjs@apple.com>
-
- Added documentation for these two delegate protocols.
-
- * WebView.subproj/WebLocationChangeDelegate.h:
- * WebView.subproj/WebResourceProgressDelegate.h:
-
-2002-09-23 Richard Williamson <rjw@apple.com>
-
- Made WebIconLoader and WebIconDatabase SPI.
-
- * WebKit.pbproj/project.pbxproj:
-
-2002-09-23 Richard Williamson <rjw@apple.com>
-
- WebContextMenuHandler becomes WebContextMenuDelegate
- WebControllerPolicyHandler becomes WebControllerPolicyDelegate
- WebLocationChangeHandler becomes WebLocationChangeDelegate
- WebResourceProgressHandler becomes WebResourceProgressDelegate
- WebWindowContext becomes WebWindowOperationsDelegate
-
- * Misc.subproj/WebDownloadHandler.m:
- * Plugins.subproj/WebNullPluginView.m:
- (-[WebNullPluginView drawRect:]):
- * Plugins.subproj/WebPluginView.m:
- (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- (-[WebNetscapePluginView status:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge openNewWindowWithURL:referrer:frameName:]):
- (-[WebBridge areToolbarsVisible]):
- (-[WebBridge setToolbarsVisible:]):
- (-[WebBridge isStatusBarVisible]):
- (-[WebBridge setStatusBarVisible:]):
- (-[WebBridge setWindowFrame:]):
- (-[WebBridge window]):
- (-[WebBridge setStatusText:]):
- (-[WebBridge reportClientRedirectTo:delay:fireDate:]):
- (-[WebBridge reportClientRedirectCancelled]):
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebContextMenuDelegate.h:
- * WebView.subproj/WebContextMenuHandler.h: Removed.
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController setWindowOperationsDelegate:]):
- (-[WebController windowOperationsDelegate]):
- (-[WebController setResourceProgressDelegate:]):
- (-[WebController resourceProgressDelegate]):
- (-[WebController setDownloadProgressDelegate:]):
- (-[WebController downloadProgressDelegate]):
- (-[WebController setContextMenuDelegate:]):
- (-[WebController contextMenuDelegate]):
- (-[WebController setPolicyDelegate:]):
- (-[WebController policyDelegate]):
- (-[WebController setLocationChangeDelegate:]):
- (-[WebController locationChangeDelegate]):
- * WebView.subproj/WebControllerPolicyDelegate.m: Added.
- (-[WebPolicyPrivate dealloc]):
- (-[WebPolicy _setPolicyAction:]):
- (-[WebPolicy policyAction]):
- (-[WebPolicy path]):
- (-[WebPolicy URL]):
- (-[WebPolicy _setPath:]):
- (-[WebPolicy dealloc]):
- (+[WebURLPolicy webPolicyWithURLAction:]):
- (+[WebFileURLPolicy webPolicyWithFileAction:]):
- (+[WebContentPolicy webPolicyWithContentAction:andPath:]):
- * WebView.subproj/WebControllerPolicyDelegatePrivate.h:
- * WebView.subproj/WebControllerPolicyHandler.h: Removed.
- * WebView.subproj/WebControllerPolicyHandler.m: Removed.
- * WebView.subproj/WebControllerPolicyHandlerPrivate.h: Removed.
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate init]):
- (-[WebControllerPrivate dealloc]):
- (-[WebController _defaultContextMenuDelegate]):
- (-[WebController _receivedProgress:forResourceHandle:fromDataSource:complete:]):
- (-[WebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
- (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
- (-[WebController _mainReceivedError:forResourceHandle:partialProgress:fromDataSource:]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _setTitle:]):
- (-[WebDataSource _setURL:]):
- (-[WebDataSource _loadIcon]):
- * WebView.subproj/WebDefaultContextMenuDelegate.h:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate openNewWindowWithURL:referrer:]):
- (-[WebDefaultContextMenuDelegate downloadURL:]):
- * WebView.subproj/WebDefaultContextMenuHandler.h: Removed.
- * WebView.subproj/WebDefaultContextMenuHandler.m: Removed.
- * WebView.subproj/WebDefaultPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- * WebView.subproj/WebDefaultPolicyHandler.h: Removed.
- * WebView.subproj/WebDefaultPolicyHandler.m: Removed.
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame setProvisionalDataSource:]):
- (-[WebFrame frameNamed:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _timedLayout:]):
- (-[WebFrame _transitionToCommitted]):
- (-[WebFrame _isLoadComplete]):
- (-[WebFrame handleUnimplementablePolicy:errorCode:forURL:]):
- (-[WebFrame _shouldShowURL:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView menuForEvent:]):
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _continueAfterClickPolicyForEvent:]):
- * WebView.subproj/WebImageView.m:
- (-[WebImageView setNeedsLayout:]):
- * WebView.subproj/WebLocationChangeDelegate.h:
- * WebView.subproj/WebLocationChangeDelegate.m:
- * WebView.subproj/WebLocationChangeHandler.h: Removed.
- * WebView.subproj/WebLocationChangeHandler.m: Removed.
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient dealloc]):
- (-[WebMainResourceClient receivedProgressWithHandle:complete:]):
- (-[WebMainResourceClient receivedError:forHandle:]):
- (-[WebMainResourceClient handleDidReceiveData:data:]):
- * WebView.subproj/WebResourceProgressDelegate.h:
- * WebView.subproj/WebResourceProgressHandler.h: Removed.
- * WebView.subproj/WebView.m:
- (-[WebView window]):
- * WebView.subproj/WebWindowContext.h: Removed.
- * WebView.subproj/WebWindowOperationsDelegate.h:
-
-2002-09-23 Darin Adler <darin@apple.com>
-
- - fixed 3052543 -- iframes don't work with z-index
- - fixed 3057382 -- code to prevent subviews from drawing not working
- perfectly for subframes
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView isOpaque]): Change this back to always return YES. We handle
- this issue at another level now.
- (-[WebHTMLView drawRect:]): Clip to the passed-in rect. This was the big change
- that fixed most of the trouble.
-
- * WebView.subproj/WebHTMLViewPrivate.h: Remove _isMainFrame.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (+[WebHTMLView initialize]): Add an imposter for NSView too, so we can make opaqueAncestor
- do what we need it to do. This will only work if the application doesn't also poseAsClass
- NSView, but it does work.
- (-[WebNSView opaqueAncestor]): Always return the topmost WebHTMLView if the object is
- inside one, even if there is an intervening opaque object.
-
- * WebView.subproj/WebView.m:
- (-[WebView setFrame:]): Do the display call at the window level so the topmost WebHTMLView
- always gets involved.
- * WebView.subproj/WebViewPrivate.h: Remove _controller, since we already have a public
- controller method. Add _isMainFrame.
- * WebView.subproj/WebViewPrivate.m: (-[WebView _isMainFrame]): Added.
-
-2002-09-23 Maciej Stachowiak <mjs@apple.com>
-
- * Panels.subproj/WebStandardPanels.h: Added inline header docs.
-
-2002-09-23 Maciej Stachowiak <mjs@apple.com>
-
- * WebView.subproj/WebWindowContext.h: Added inline header docs.
-
-2002-09-23 Ken Kocienda <kocienda@apple.com>
-
- Fixes for some build problems I missed earlier due to the fact that PB can't handle header dependencies,
- and I did not do a clean build of WebKit.
-
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream receivedError:withDataSource:]): WebFoundation error constant name change.
- (-[WebNetscapePluginStream cancel]): Ditto.
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- (-[WebCookieAdapter cookiesEnabled]): Modified to use [[WebCookieManager sharedCookieManager] acceptPolicy]
- rather than reaching down into CFPreferences directly.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): WebFoundation error constant name change.
- (-[WebSubresourceClient cancel]): Ditto.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient didCancelWithHandle:]): Ditto.
-
-2002-09-23 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- Don't special case the top level frame's view so much.
- (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
- (-[NSView _web_propagateDirtyRectToAncestor]): Use public method here instead of private.
-
-2002-09-23 Ken Kocienda <kocienda@apple.com>
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge reportBadURL:]): WebFoundation error code constant name change
- * WebView.subproj/WebView.m:
- (+[WebView initialize]): WebError addErrorsFromDictionary changed to addErrorsWithCodesAndDescriptions
-
-2002-09-22 Darin Adler <darin@apple.com>
-
- - fixed 3057380 -- insertion point shows through elements in front of text fields
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (+[WebHTMLView initialize]): Make WebNSTextView pose as NSTextView.
- (-[WebNSTextView _web_inHTMLView]): Helper method.
- (-[WebNSTextView isOpaque]): Override to return NO for all text views that are inside
- an WebHTMLView, so they don't try to do insertion point caching.
- (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]): Use setNeedsDisplayInRect
- to trigger insertion point drawing outside drawRect instead of drawing right away.
- (-[WebNSTextView _drawRect:clip:]): Set flag so the above can know when it's inside
- drawRect and when it's not.
-
-2002-09-21 Darin Adler <darin@apple.com>
-
- WebKit part of the new approach to AppKit drawing control.
- Works better than the previous try. Once we fix anomalies with focus rectangles
- and a some remaining problems with subframes this should work perfectly.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView isOpaque]): Return NO for frames other than the main frame.
- (-[WebHTMLView drawRect:]): Restore the subviews that were set aside.
- * WebView.subproj/WebHTMLViewPrivate.h: Add _isMainFrame. Add savedSubviews and subviewsSetAside.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _isMainFrame]): Added.
- (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- Added. If this is the main frame, get all the dirty rects from the subviews and then set
- them aside so the AppKit machinery won't draw them.
- (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
- (-[NSView _web_propagateDirtyRectToAncestor]): Added. Propagates dirty rects the same
- way that AppKit does, but always does it, ignoring the value of isOpaque.
-
-2002-09-20 Darin Adler <darin@apple.com>
-
- * History.subproj/WebHistory.m: (-[WebHistory addEntryForURLString:]):
- Use _web_URLWithString so we can handle unusual characters.
-
- * WebView.subproj/WebDefaultPolicyHandler.m: Remove stray semicolon.
-
-2002-09-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed wasteful memory usage in the WebIconDatabase:
- - Rather than have multiple NSImages with multiple representations at multiple sizes, have 1 NSImage per size
- - Added API to allow client to control memory caching
-
- * Misc.subproj/WebIconDatabase.h:
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase iconForSiteURL:withSize:]): call iconForSiteURL:withSize:cache:YES
- (-[WebIconDatabase iconForSiteURL:withSize:cache:]): new, was iconForSiteURL:withSize:
- (-[WebIconDatabase defaultIconWithSize:]): call _iconFromDictionary:forSize:cache:
- (-[WebIconDatabase _updateFileDatabase]): write the largest icon to disk
- (-[WebIconDatabase _hasIconForSiteURL:]): cleaned-up
- (-[WebIconDatabase _iconsForIconURL:]): call _iconFromDictionary:forSize:cache:
- (-[WebIconDatabase _iconForFileURL:withSize:]): call _iconFromDictionary:forSize:cache:
- (-[WebIconDatabase _builtInIconsForHost:]): call _iconFromDictionary:forSize:cache:
- (-[WebIconDatabase _setIcon:forIconURL:]): _iconsBySplittingRepresentationsOfIcon:
- (-[WebIconDatabase _releaseIconForIconURL:]): icons at different sizes are now stored in dictionaries
- (-[WebIconDatabase _largestIconFromDictionary:]): new, scans the icon dictionary
- (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]): creates the icon dictionary
- (-[WebIconDatabase _iconFromDictionary:forSize:cache:]): returns icon from dict, resizes if necessary
- (-[WebIconDatabase _iconByScalingIcon:toSize:]): tweak
- * Misc.subproj/WebIconDatabasePrivate.h:
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading]): don't call _iconsForIconURL: because it doesn't exist.
-
-2002-09-19 Maciej Stachowiak <mjs@apple.com>
-
- * Makefile.am: Make `doc' target depend on `all'.
- * WebView.subproj/WebContextMenuHandler.h: Fix typo found by `make doc'.
- * WebView.subproj/WebLocationChangeHandler.h: Likewise.
-
-2002-09-19 Maciej Stachowiak <mjs@apple.com>
-
- * Makefile.am: Added `make doc' target.
-
-2002-09-19 John Sullivan <sullivan@apple.com>
-
- - cleaned up some SPI for handling URLs on pasteboard
-
- * Misc.subproj/WebNSPasteboardExtras.h: Added.
- * Misc.subproj/WebNSPasteboardExtras.m: Added.
- (+[NSPasteboard _web_dragTypesForURL]): Moved this here; was
- -[NSView _web_acceptableDragTypes]
- (-[NSPasteboard _web_bestURL]): Moved this here; was
- +[NSView _web_bestURLFromPasteboard:]
-
- * WebView.subproj/WebView.m:
- (-[WebView initWithFrame:]),
- (-[WebView draggingEntered:]),
- (-[WebView concludeDragOperation:]):
- Updated for SPI change; also removed methods now in NSPasteboard.
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragOperationForDraggingInfo:]):
- Updated for SPI change.
-
- * WebKit.pbproj/project.pbxproj: Updated for new files.
-
-=== Alexander-24 ===
-
-2002-09-18 Darin Adler <darin@apple.com>
-
- Fix two problems that led to an assertion now that a bogus
- load progress doesn't pass the "bytesReceived == total" test.
-
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream handleDidFinishLoading:]): Nil out the
- resource at the start of the function so that a cancel doesn't
- do anything if called in the middle when we stop.
- (-[WebNetscapePluginStream cancel]): Send a cancel error instead
- of a _receivedProgress. And make a partial progress rather than
- sending an empty progress.
- (-[WebNetscapePluginStream handleDidFailLoading:withError:]):
- Same as handleDidFinishLoading.
-
-2002-09-18 Richard Williamson <rjw@apple.com>
-
- More documentation stuff.
- Added attributed text API as requested (yuck!).
- Add reconstructedDocumentSource API as requested.
- Removed cruft (stale API, bogus comments).
-
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation reconstructedDocumentSource]):
- (-[WebHTMLRepresentation attributedText]):
- * WebView.subproj/WebHTMLRepresentationPrivate.h:
- * WebView.subproj/WebHTMLView.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView selectedAttributedText]):
- (-[WebHTMLView selectedText]):
- * WebView.subproj/WebView.h:
-
-2002-09-18 Richard Williamson <rjw@apple.com>
-
- Added document keywords to headers.
- Made bookmark related APIs private (for now).
- * Misc.subproj/WebIconDatabase.h:
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebKitErrors.h:
- * Panels.subproj/WebStandardPanels.h:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDefaultContextMenuHandler.h:
- * WebView.subproj/WebLoadProgress.h:
- * WebView.subproj/WebLocationChangeHandler.h:
- * WebView.subproj/WebPreferences.h:
-
- Made public
- * WebHTMLRepresentation.h
- * WebHTMLRepresentation.m
-
-2002-09-18 John Sullivan <sullivan@apple.com>
-
- WebKit part of fix for
-
- - 3000823 -- special-case drag of webloc file to bookmarks
- - 3004466 -- favorites bar doesn't accept drops of URL strings
- or webloc files
-
- * Misc.subproj/WebNSViewExtras.h:
- - make _web_bestURLForDraggingInfo: a class method and have it
- take an NSPasteboard * instead of an NSDraggingInfo *; change
- name to _web_bestURLFromPasteboard:
- * Misc.subproj/WebNSViewExtras.m:
- (+[NSView _web_bestURLFromPasteboard:]):
- - make this a class method and have it take an NSPasteboard *
- instead of an NSDraggingInfo *
- (-[NSView _web_dragOperationForDraggingInfo:]): Updated for
- SPI change.
-
- * WebView.subproj/WebView.m:
- (-[WebView draggingEntered:]),
- (-[WebView concludeDragOperation:]): Updated for SPI change.
-
-2002-09-18 Richard Williamson <rjw@apple.com>
-
- Added documentation keywords to headers.
- Create seperate files for the protocols
- that were defined in WebController.h.
- Made -[WebController createFrameNamed:for:inParent:allowsScrolling:]):
- private.
-
- * Plugins.subproj/WebPluginView.m:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebContextMenuHandler.h: Added.
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- * WebView.subproj/WebDefaultContextMenuHandler.m:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebHTMLView.m:
- * WebView.subproj/WebHTMLViewPrivate.m:
- * WebView.subproj/WebMainResourceClient.m:
- * WebView.subproj/WebResourceProgressHandler.h: Added.
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebWindowContext.h: Added.
-
-2002-09-18 Richard Williamson <rjw@apple.com>
-
- Added documentation keywords to header.
-
- * WebView.subproj/WebControllerPolicyHandler.h:
-
- Made WebDynamicScrollBarsView private
-
- * WebKit.pbproj/project.pbxproj:
-
-2002-09-18 Darin Adler <darin@apple.com>
-
- - fixed 3053155 -- REGRESSION: Activity Window thinks 0-byte
- images are "complete"
-
- I thought I had fixed it before, but this is needed too.
-
- * WebView.subproj/WebLoadProgress.m:
- (-[WebLoadProgress init]): Set "bytes so far" to 0, not -1.
- (-[WebLoadProgress initWithResourceHandle:]): Make sure we set total
- to -1, not 0, when the response is nil.
-
-2002-09-18 Richard Williamson <rjw@apple.com>
-
- Added documentation keywords to header.
-
- * WebView.subproj/WebDocument.h:
-
-2002-09-18 Richard Williamson <rjw@apple.com>
-
- Added documentation keywords to headers.
- Made reset a private method.
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame reset]):
-
-2002-09-18 Richard Williamson <rjw@apple.com>
-
- Added documentation keywords to headers.
-
- * WebView.subproj/WebView.h:
-
-2002-09-18 Richard Williamson <rjw@apple.com>
-
- Added documentation keywords to headers.
-
- * WebView.subproj/WebDataSource.h:
-
-2002-09-18 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebController.h: Fix typo.
-
-2002-09-18 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebController.h: Add getters.
- * WebView.subproj/WebController.m:
- (-[WebController applicationNameForUserAgent]): Added.
- (-[WebController userAgent]): Added.
-
-2002-09-17 Darin Adler <darin@apple.com>
-
- Fix bug where image documents were broken.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): loadStatus of 0
- means the whole image is ready, not 0 scan lines; so check > 0, not >= 0.
-
- * WebKit.pbproj/project.pbxproj: Let Project Builder be the boss of me.
-
-2002-09-17 Richard Williamson <rjw@apple.com>
-
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
- (-[WebHistory addEntryForURLString:]):
- (-[WebHistory containsEntryForURLString:]):
- Added URL string API. We should remove use of
- NSURL from this API.
-
- * History.subproj/WebHistoryPrivate.h:
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate _entryForURLString:]):
- (-[WebHistoryPrivate containsEntryForURLString:]):
- Implementation of above.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
- (-[WebTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]):
- Use ((int)(x + (1.0 - FLT_EPSILON))) instead of ceil().
-
-2002-09-16 Darin Adler <darin@apple.com>
-
- * History.subproj/WebHistoryPrivate.m: Do that for real.
-
-2002-09-16 Richard Williamson <rjw@apple.com>
-
- Remove fix (according to John, partial fix) for 3051288.
- Canonicalizing the URL strings used in the history db
- is very slow! ~8% slower.
-
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate addEntry:]):
- (-[WebHistoryPrivate removeEntry:]):
- (-[WebHistoryPrivate containsURL:]):
- (-[WebHistoryPrivate entryForURL:]):
-
- * WebView.subproj/WebHTMLView.h:
- Removed cruft from header.
-
-2002-09-16 Darin Adler <darin@apple.com>
-
- - fixed 3050810 -- while an image is loading progressively, it draws
- white rather then page background
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): Added. Used instead
- of a direct call to drawInRect:fromRect:operation:fraction:, this only draws
- the part of the image that is valid according to loadStatus.
- (-[WebImageRenderer nextFrame:]): Use drawClippedToValidInRect:fromRect:.
- (-[WebImageRenderer beginAnimationInRect:fromRect:]): Ditto.
- (-[WebImageRenderer tileInRect:fromPoint:]): Ditto.
-
-2002-09-13 Richard Williamson (Home) <rjw@apple.com>
-
- Fixed 3051288. URLs were not being canonicalized, so matching failed.
-
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate addEntry:]):
- (-[WebHistoryPrivate removeEntry:]):
- (-[WebHistoryPrivate containsURL:]):
- (-[WebHistoryPrivate entryForURL:]):
-
-2002-09-13 Richard Williamson (Home) <rjw@apple.com>
-
- Fixed 3050636. 90% solution. The "Display Images Automatically"
- preference will be used to disallow image draggging. So if this
- is set after pages have loaded, their images will not be draggable,
- and vice-versa. Not disastrous as dragging in either case has little
- or no negative consequences.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
-
-2002-09-13 Maciej Stachowiak <mjs@apple.com>
-
- WebKit changes for:
-
- - fixed 3032238 - Eliminate "Ask each time" choice for cookies
-
- * Panels.subproj/WebStandardPanels.h:
- * Panels.subproj/WebStandardPanels.m:
- (-[WebStandardPanels useStandardAuthenticationPanel]):
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- (-[WebCookieAdapter cookiesEnabled]):
- * WebKit.pbproj/project.pbxproj:
-
-2002-09-13 Darin Adler <darin@apple.com>
-
- Added assertions, and dealt with some breakage I created while
- trying to fix, here, what I broke in WebCore.
-
- * Plugins.subproj/WebPluginView.m: (-[WebNetscapePluginView start]):
- Do get the dataSource from our parent when we are being used as an
- object in a view rather than a document view.
-
- * Plugins.subproj/WebPluginStream.m:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebFrame.m:
- Leave in the assertions I used to debug.
-
-2002-09-13 Darin Adler <darin@apple.com>
-
- - fixed 3031685 -- The text encoding setting is not propagated to subframes
-
- * WebView.subproj/WebDocument.h: Remove old WebDocumentTextEncoding methods,
- add supportsTextEncoding.
- * WebView.subproj/WebController.m:
- (-[WebController supportsTextEncoding]): Check the document view to see if
- it supports WebDocumentTextEncoding and returns YES.
- (-[WebController setCustomTextEncoding:]): Call _reloadAllowingStaleDataWithOverrideEncoding.
- (-[WebController resetTextEncoding]): Ditto.
- (-[WebController _mainFrameOverrideEncoding]): Added. Gets encoding from the data source
- of the main frame; provisional if there, main if not.
- (-[WebController hasCustomTextEncoding]): Call _mainFrameOverrideEncoding.
- (-[WebController customTextEncoding]): Ditto.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setParent:]): Set the override encoding to the parent's.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame reload]): Release request to fix storage leak. Set the override encoding
- on the new data source to match the old.
-
- * WebView.subproj/WebFramePrivate.h: New name for stale data reload method.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Do pretty much the
- same thing reload does with a few differences. Get the encoding from the parameter
- rather than the old data source, and set the policy to the one that uses data from
- the cache, even stale data, if present
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView supportsTextEncoding]): Return YES.
-
-2002-09-13 Richard Williamson (Home) <rjw@apple.com>
-
- Adding padding and widths buffer to our canonical measurement
- method. The padding argument is used to 'pad' measurements in
- that same way that drawing is padded. The widths parameter
- allows a caller to pass a buffer to get all the individual
- character widths for the run of characters in the string.
-
- * Misc.subproj/WebStringTruncator.m:
- (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
- (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer widthForCharacters:length:]):
- (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
-
-2002-09-13 Darin Adler <darin@apple.com>
-
- Fix dataSource-related plugin crash.
-
- * Plugins.subproj/WebPluginView.m:
- (-[WebNetscapePluginView start]): Don't grab dataSource here.
- It's too early.
- (-[WebNetscapePluginView setDataSource:]): Grab it here.
-
- * Plugins.subproj/WebPluginStream.h:
- * Plugins.subproj/WebPluginStream.m:
- Simplified includes and added asserts while debugging.
-
-2002-09-13 Richard Williamson (Home) <rjw@apple.com>
-
- Changed drag hysteresis to 5 and disallow selection initiation within
- a link.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
-
-2002-09-12 Darin Adler <darin@apple.com>
-
- Prep work for fixes to the text encoding for subframes.
-
- * WebCoreSupport.subproj/WebBridge.h: Remove [loadURL:withParent:].
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- Added referrer parameter.
-
- * WebView.subproj/WebController.h: Add new methods, not implemented yet.
- * WebView.subproj/WebController.m:
- (-[WebController supportsTextEncoding]): Here is one.
- (-[WebController setCustomTextEncoding:]): Another.
- (-[WebController resetTextEncoding]): Etc.
- (-[WebController hasCustomTextEncoding]): Etc.
- (-[WebController customTextEncoding]): Etc.
-
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource startLoading]): Remove the forceRefresh flag.
- This is now controlled by the WebResourceRequest.
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading]): Same for this private version.
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame startLoading]): Remove the forceRefresh flag.
- (-[WebFrame reload]): Remove the forceRefresh flag.
- A reload without a forceRefresh is only used internally, not requested
- by the caller.
-
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]): Add handling for the case where we
- reload, but allow stale data.
- (-[WebFrame _isLoadComplete]): Ditto.
- (-[WebFrame _reloadAllowingStaleData]): Placeholder, not implemented yet.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView setTextEncoding:]): Update for new API, but this is going away.
- (-[WebHTMLView setDefaultTextEncoding]): Ditto.
-
-2002-09-12 Richard Williamson <rjw@apple.com>
-
- Don't initiate a drag if an autoscroll happened.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
-
-2002-09-12 Richard Williamson <rjw@apple.com>
-
- Added absolute position column to render node for
- render tree view.
-
- * WebView.subproj/WebRenderNode.h:
- * WebView.subproj/WebRenderNode.m:
- (-[WebRenderNode initWithName:position:rect:view:children:]):
- (-[WebRenderNode absolutePositionString]):
- (-[WebKitRenderTreeCopier nodeWithName:position:rect:view:children:]):
-
-2002-09-12 David Hyatt <hyatt@apple.com>
-
- Add text/xml to our list of MIME types that should use the
- Web view. With this fix we now render XML and XHTML
- correctly!
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (+[WebDataSource _repTypes]):
- * WebView.subproj/WebViewPrivate.m:
- (+[WebView _viewTypes]):
-
-2002-09-12 Ken Kocienda <kocienda@apple.com>
-
- Removed load flags as a design concept. Replaced with new "caching policy" concept
- which are set on a WebResourceRequest. These policies determine how a load will
- be processed with regards to the cache.
-
- * WebCoreSupport.subproj/WebBridge.h: Removed flags from loadURL method.
- * WebCoreSupport.subproj/WebBridge.m: Removed calls to load flags and replaced with calls to new request policies.
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- (-[WebBridge isReloading]): Ditto.
- (-[WebBridge loadURL:referrer:]): Ditto.
- (-[WebBridge loadURL:withParent:]): Removed flags from loadURL method.
- (-[WebBridge postWithURL:referrer:data:]): Removed calls to load flags and replaced with calls to new request policies.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Ditto.
- * WebView.subproj/WebDataSource.h: Removed flags from init method.
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithURL:]): Ditto.
- (-[WebDataSource initWithRequest:]): Ditto.
- * WebView.subproj/WebDataSourcePrivate.h: Removed flags ivar, and dangling attributes ivar.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): Ditto.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame reload:]): Removed calls to load flags and replaced with calls to new request policies.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _goToItem:withFrameLoadType:]): Ditto.
-
-2002-09-12 Chris Blumenberg <cblu@apple.com>
-
- Make WebTextView private and exported.
-
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebTextView.h:
-
-2002-09-11 Maciej Stachowiak <mjs@apple.com>
-
- Combined provisionalDataSourceChanged: and
- provisionalDataSourceCommitted: methods into a single
- setDataSource:, since they are always called one immediately after
- the other.
-
- * Plugins.subproj/WebPluginView.m:
- (-[WebNetscapePluginView setDataSource:]):
- (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView setDataSource:]):
- * WebView.subproj/WebImageView.m:
- (-[WebImageView setDataSource:]):
- * WebView.subproj/WebTextView.m:
- (-[WebTextView setDataSource:]):
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _makeDocumentViewForDataSource:]):
-
-2002-09-11 Richard Williamson <rjw@apple.com>
-
- Better fix for previous problem.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
-
-2002-09-11 Richard Williamson (Local) <rjw@apple.com>
-
- Remove ceiling of text width at end of fragment. This was screwing up
- intra fragment text measurements.
-
- Selection of justified text is still screwed up. This is a fundamental problem
- in khtml and will require a rewrite of their justification code. Konq has the
- same problems selecting justified text. The drawing of code applies the justification
- factor, but checking the selection doesn't add the justification factor, so selection
- will be incorrect by the justification amount.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
-
-2002-09-11 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebFrame.m: (-[WebFrame reload:]): Use the current
- URL, not the original URL, when doing a reload. This prevents the URL from
- changing back and forth when you reload on a page that involved a redirect.
-
-2002-09-11 Darin Adler <darin@apple.com>
-
- Add machinery needed for fix to 3021137, changing font prefs
- doesn't redraw frames other than the main frame.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge setNeedsReapplyStyles]): Added. Lets the web views know that they
- need to reapply styles. If we did this over on the WebCore side, we'd have to do
- it right away. Maybe that would be OK; we can move that that later.
-
- * WebView.subproj/WebTextView.m: (-[WebTextView setFixedWidthFont]): Use the
- fixed-width size, rather than using the other size with the fixed-width family.
-
-2002-09-11 Ken Kocienda <kocienda@apple.com>
-
- Major change to the API and design of WebFoundation. WebKit has been modified
- to use the new API.
-
- WebFoundation attributes, as a design concept, are now completely gone. The old usages of
- attributes have been replaced with new API on the WebResourceRequest
- and WebResourceResponse classes.
-
- * Plugins.subproj/WebPluginStream.h: Removed attribute usage in init API. No need for replacement.
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream initWithURL:pluginPointer:]): Removed attribute usage in init API.
- (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:]): Ditto.
- (-[WebNetscapePluginStream dealloc]): Remove attribute release.
- (-[WebNetscapePluginStream startLoad]): Removed attribute usage. Replace with calls to new API.
- (-[WebNetscapePluginStream receivedData:withHandle:]): Ditto.
- * Plugins.subproj/WebPluginView.m:
- (-[WebNetscapePluginView pluginURLFromCString:]): Added this helper method.
- (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:]): Added.
- (-[WebNetscapePluginView getURLNotify:target:notifyData:]): Modified to call new loadRequest:inTarget:withNotifyData: method.
- (-[WebNetscapePluginView getURL:target:]): Ditto.
- (-[WebNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): Ditto.
- * WebCoreSupport.subproj/WebBridge.h: Removed attribute usage in loadURL API. No need for replacement.
- * WebCoreSupport.subproj/WebBridge.m: Added loadRequest:withParent:
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- (-[WebBridge startLoadingResource:withURL:referrer:]): Removed attribute usage. Replace with calls to new API.
- (-[WebBridge isReloading]): Ditto.
- (-[WebBridge loadRequest:withParent:]): Added.
- (-[WebBridge loadURL:]): Modified to use new loadRequest:withParent: API
- (-[WebBridge loadURL:referrer:]): Ditto.
- (-[WebBridge loadURL:flags:withParent:]): Ditto.
- (-[WebBridge postWithURL:data:]): Ditto.
- * WebCoreSupport.subproj/WebSubresourceClient.h: Changed API to use an NSString referrer instead of an attributes dictionary.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Removed attribute usage. Replace with calls to new API.
- * WebView.subproj/WebDataSource.h: Added initWithRequest: method.
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithURL:]): Removed attribute usage in init API.
- (-[WebDataSource initWithURL:flags:]): Ditto.
- (-[WebDataSource initWithRequest:]): Added.
- (-[WebDataSource request]): Added.
- * WebView.subproj/WebDataSourcePrivate.h: Added WebResourceRequest ivar.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): Added WebResourceRequest ivar.
- (-[WebDataSource _startLoading:]): Removed attribute usage. Replace with calls to new API.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame reload:]): Removed attribute usage. Replace with calls to new API.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _goToItem:withFrameLoadType:]): Use new WebDataSource init API.
-
-2002-09-10 Darin Adler <darin@apple.com>
-
- WebKit part of support for the "Referer" header.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge openNewWindowWithURL:referrer:frameName:]): Add referrer parameter,
- and pass it on to the window context method.
- (-[WebBridge addAttributeForReferrer:toDictionary:]): Added.
- (-[WebBridge attributesForReferrer:]): Added.
- (-[WebBridge startLoadingResource:withURL:referrer:]): Put the referrer into an
- attributes dictionary and pass it to the WebSubresourceClient method.
- (-[WebBridge loadURL:referrer:]): Put the referrer into an attributes dictionary
- and pass it along.
- (-[WebBridge postWithURL:referrer:data:]): Put the referrer into an attributes
- dictionary and pass it along.
-
- * WebCoreSupport.subproj/WebSubresourceClient.h: Add an attributes parameter to
- the method that starts loading.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:attributes:forDataSource:]):
- Put the attributes into the WebResourceRequest.
-
- * WebView.subproj/WebController.h: Add a referrer parameter to the WebWindowContext
- openNewWindowWithURL method.
- * WebView.subproj/WebDefaultContextMenuHandler.m:
- (-[WebDefaultContextMenuHandler openNewWindowWithURL:referrer:]): Pass the referrer
- on to the window context.
- (-[WebDefaultContextMenuHandler openLinkInNewWindow:]): Pass nil for the referrer
- for now. Not sure if this is best.
- (-[WebDefaultContextMenuHandler openImageInNewWindow:]): Ditto.
- (-[WebDefaultContextMenuHandler openFrameInNewWindow:]): Ditto.
-
- * WebView.subproj/WebFrame.m: (-[WebFrame frameNamed:]): Pass nil for the referrer
- here where we are creating a new empty window.
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _continueAfterClickPolicyForEvent:]): Pass nil for the referrer here
- in the WebClickPolicyOpenNewWindow. The policy API doesn't provide a way for the
- policy handler to specify the referrer; we might want to change that later.
-
- * Plugins.subproj/WebPluginView.m:
- (-[WebNetscapePluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
- Pass nil for the referrer here. But it seems wrong that this function discards
- the handle attributes that are passed in for the case where it opens a new window.
-
-2002-09-11 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3048158 - Crash at google in _destroyInitializingClassList
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient didCancelWithHandle:]):
-
-2002-09-10 Richard Williamson (Local) <rjw@apple.com>
-
- Renamed method.
-
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences _updateWebCoreSettings]):
- (-[WebPreferences setWillLoadImagesAutomatically:]):
- (-[WebPreferences willLoadImagesAutomatically]):
-
-2002-09-10 Chris Blumenberg <cblu@apple.com>
-
- Report download handler errors
- Renamed error constants
- Added new errors
-
- * Misc.subproj/WebDownloadHandler.h:
- * Misc.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler errorWithCode:]): added
- (-[WebDownloadHandler receivedData:]): return an error
- (-[WebDownloadHandler finishedLoading]): return an error
- (-[WebDownloadHandler cancel]): return an error
- * Misc.subproj/WebKitErrors.h: added new errors
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _shouldShowURL:]): use renamed error constants
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedError:forHandle:]): don't send an error when errors are suppressed
- (-[WebMainResourceClient didCancelWithHandle:]): report download handler errors
- (-[WebMainResourceClient handleDidFinishLoading:]): report download handler errors
- (-[WebMainResourceClient handleDidReceiveData:data:]): report download handler errors
- (-[WebMainResourceClient handleDidFailLoading:withError:]): report download handler errors
- * WebView.subproj/WebView.m:
- (+[WebView initialize]): add new errors to WebError
-
-2002-09-10 John Sullivan <sullivan@apple.com>
-
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate _loadHistoryGuts:]):
- removed the ERROR message in the case where the history file was
- not found, as this is normal initial-state behavior.
-
-2002-09-10 Maciej Stachowiak <mjs@apple.com>
-
- WebKit part of fix for:
-
- 2952837 - Slide shows on homepage.mac.com don't show pictures, captions
- 2942073 - Deferring [BrowserDocument goToInitialURL] can cause problems
- 3021360 - second window pops up on 'Search' at chrysler.com
- 3030485 - Unexpected new window created with no scroll bars at sony.com
-
- This is done by adding a concept of named controller sets, so that
- less browser-like uses of WebKit won't be affected.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge openNewWindowWithURL:frameName:]): Pass frameName
- parameter to controller initializer.
-
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController init]): Pass nil for controllerSetName.
-
- (-[WebController dealloc]):
- (-[WebController frameNamed:]): Check other windows in the same set too.
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate dealloc]):
- (-[WebController _setDefersCallbacks:]):
- (-[WebController _setTopLevelFrameName:]):
- (-[WebController _frameInThisWindowNamed:]):
- * WebView.subproj/WebControllerSets.h: Added.
- * WebView.subproj/WebControllerSets.m: Added.
- (+[WebControllerSets addController:toSetNamed:]): Method to
- maintain controller sets.
- (+[WebControllerSets removeController:fromSetNamed:]): Likewise.
- * WebKit.pbproj/project.pbxproj: Add new files.
-
-2002-09-10 Ken Kocienda <kocienda@apple.com>
-
- Changed API for setting the WebResourceClient for a request/load.
-
- This has been removed from WebResourceRequest, and has been moved to
- WebResourceHandle. The result is that the init method for a WebResourceHandle
- now takes a WebResourceRequest and a WebResourceClient.
-
- All of the changes below are simple code modifications to use the new API.
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading])
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream startLoad])
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCache:size:])
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:dataSource:])
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:])
-
-2002-09-10 Chris Blumenberg <cblu@apple.com>
-
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
- (-[WebHistory entryForURL:]): added
- * History.subproj/WebHistoryPrivate.h:
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate entryForURL:]): added
- * Misc.subproj/WebIconDatabase.h: added WebIconLargeSize
- * Misc.subproj/WebIconDatabase.m: added WebIconLargeSize
- * WebKit.exp: export link label key and WebIconLargeSize
-
-2002-09-10 Darin Adler <darin@apple.com>
-
- WebKit part of weaning WebCore from getting directly at WebKit defaults.
-
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences _updateWebCoreSettings]): Added. Propagates all preferences
- to WebCore. This way WebCore doesn't have to actively ask for the values
- of preferences using defaults keys that are WebKit secrets.
- (+[WebPreferences load]): Set up an observer that calls _updateWebCoreSettings
- whenever NSUserDefaultsDidChangeNotification is posted.
- (-[WebPreferences setStandardFontFamily:]): Call _updateWebCoreSettings right
- away, don't wait for NSUserDefaultsDidChangeNotification.
- (-[WebPreferences setFixedFontFamily:]): Ditto.
- (-[WebPreferences setSerifFontFamily:]): Ditto.
- (-[WebPreferences setSansSerifFontFamily:]): Ditto.
- (-[WebPreferences setCursiveFontFamily:]): Ditto.
- (-[WebPreferences setFantasyFontFamily:]): Ditto.
- (-[WebPreferences setDefaultFontSize:]): Ditto.
- (-[WebPreferences setDefaultFixedFontSize:]): Ditto.
- (-[WebPreferences setMinimumFontSize:]): Ditto.
- (-[WebPreferences setUserStyleSheetEnabled:]): Ditto.
- (-[WebPreferences setUserStyleSheetLocation:]): Ditto.
- (-[WebPreferences setJavaEnabled:]): Ditto.
- (-[WebPreferences setJavaScriptEnabled:]): Ditto.
- (-[WebPreferences setJavaScriptCanOpenWindowsAutomatically:]): Ditto.
- (-[WebPreferences setPluginsEnabled:]): Ditto.
- (-[WebPreferences setDisplayImages:]): Ditto.
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge reportBadURL:]):
- Add this method, which replaces reportError. Now WebCore doesn't use
- WebFoundation directly at all! Pretty neat.
-
-2002-09-09 Richard Williamson (Home) <rjw@apple.com>
-
- Implemented disable images automatically (2896319).
-
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences load]):
- (-[WebPreferences setDisplayImages:]):
- (-[WebPreferences displayImages]):
-
-2002-09-09 Darin Adler <darin@apple.com>
-
- - fixed 3003605 -- Leaking 1 WebView after second run of static PLT
-
- Fixing this should also help with footprint.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame dealloc]): Remove old workaround for problem where we
- always deallocated the frames from timer cleanup. I found a better
- fix for this.
- (-[WebFrame stopLoading]): Explicitly fire the scheduled layout
- timer if any when we stop loading, rather than leaving it hanging.
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]):
- Explicitly fire the scheduled layout timer if any.
-
- * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]):
- Use an autorelease pool here so we don't end up putting all the
- frames in the main event loop's autorelease pool.
-
- * Bookmarks.subproj/WebBookmark.m:
- (-[WebBookmark init]): Use copy instead of retain.
- (-[WebBookmark identifier]): Use copy instead of retain.
-
-2002-09-09 ken <kocienda@apple.com>
-
- Missed one call through asking WebResourceHandle for contentLength
- instead of WebResourceResponse.
-
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream receivedData:withHandle:]):
-
-2002-09-09 ken <kocienda@apple.com>
-
- Content length information now accessible via WebResourceResponse object,
- rather than from WebResourceHandle.
-
- * WebView.subproj/WebLoadProgress.m:
- (-[WebLoadProgress initWithResourceHandle:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidReceiveData:data:]):
-
-2002-09-09 Richard Williamson <rjw@apple.com>
-
- Make both calls to adjust CG font cache dynamic.
- The new CGFontCacheSetMaxSize() adds a font cache
- parameter. Ugh! This is needed so we can compile
- w/o warnings on stock Jag.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
-
-2002-09-09 Ken Kocienda <kocienda@apple.com>
-
- Character set information now accessible via WebResourceResponse object,
- rather than from WebResourceHandle.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidReceiveData:data:]):
-
-2002-09-09 Chris Blumenberg <cblu@apple.com>
-
- Re-enable wizzy scaling.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _iconByScalingIcon:toSize:]):
-
-2002-09-09 Ken Kocienda <kocienda@apple.com>
-
- WebResourcehandle no longer has a contentType method.
- Call through to WebResourceResponse object to get content type.
-
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream receivedData:withHandle:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidReceiveData:data:]):
-
-2002-09-09 Darin Adler <darin@apple.com>
-
- Fixed lifetime problems happening due to new cancel mechanism.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m: Add comments explaining why
- retain/release is needed.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _recursiveStopLoading]): Add a retain/release so that we don't
- run into problems if _stopLoading causes the data source to go away.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient didCancelWithHandle:]): Add retain/release for similar reasons,
- with comment explaining why.
- (-[WebMainResourceClient handleDidFinishLoading:]): Ditto.
- (-[WebMainResourceClient handleDidFailLoading:withError:]): Ditto.
-
- Fixed the problem that was leading to the NSImage exception, but didn't turn on
- the whizzy scaling -- leaving that to Chris.
-
- * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase iconForSiteURL:withSize:]):
- Eliminate the "size 0x0" feature. It was only implemented in one place, and tons
- of other places would actually make a size 0x0 icon. But also, we don't need it any more.
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource iconLoader: receivedPageIcon:),
- (-[WebDataSource _loadIcon]): Don't bother actually passing the icon to
- [WebLocationChangeHandler receivedPageIcon:forDataSource:]. We should probably eventually
- either just get rid of this method, or remove the icon parameter.
-
-2002-09-09 Chris Blumenberg <cblu@apple.com>
-
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _iconByScalingIcon:toSize:]): Commented out wizzy scaling as it was causing an NSImage exception to be raised.
- * Plugins.subproj/WebPlugin.m:
- (-[WebNetscapePlugin _getPluginInfo]): Check Resource Manager errors
-
-2002-09-08 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/WebPluginStream.m:
- * Plugins.subproj/WebPluginView.m:
- Use #if ! rather than #ifndef with LOG_DISABLED, since it
- is set to 0 rather than not defined when LOG is enabled.
-
-2002-09-08 Darin Adler <darin@apple.com>
-
- * Bookmarks.subproj/WebBookmarkGroup.m:
- * History.subproj/WebHistoryPrivate.m:
- * History.subproj/WebURLsWithTitles.m:
- * Misc.subproj/WebDownloadHandler.m:
- * Misc.subproj/WebIconDatabase.m:
- * Misc.subproj/WebIconLoader.m:
- * WebView.subproj/WebController.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebHTMLView.m:
- * WebView.subproj/WebHTMLViewPrivate.m:
- * WebView.subproj/WebMainResourceClient.m:
- * WebView.subproj/WebPreferences.m:
- * WebView.subproj/WebViewPrivate.m:
- Remove unnecessary includes.
-
-2002-09-08 Darin Adler <darin@apple.com>
-
- Update logging to use new implementation. Remove old.
-
- * Misc.subproj/WebKitDebug.h: Removed.
- * Misc.subproj/WebKitDebug.m: Removed.
- * Misc.subproj/WebKitLogging.h: Added.
- * Misc.subproj/WebKitLogging.m: Added.
- * Misc.subproj/WebKitReallyPrivate.h: Removed.
- * WebKit.pbproj/project.pbxproj: Update for above changes.
-
- * WebKit-tests.exp: Now empty.
-
- * History.subproj/WebHistoryItem.m: Remove unneeded include.
-
- * Bookmarks.subproj/WebBookmarkGroup.m:
- * History.subproj/WebHistoryPrivate.m:
- * Misc.subproj/WebDownloadHandler.m:
- * Misc.subproj/WebIconDatabase.m:
- * Plugins.subproj/WebPlugin.m:
- * Plugins.subproj/WebPluginDatabase.m:
- * Plugins.subproj/WebPluginNullEventSender.m:
- * Plugins.subproj/WebPluginStream.m:
- * Plugins.subproj/WebPluginView.m:
- * Plugins.subproj/npapi.m:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebHTMLView.m:
- * WebView.subproj/WebMainResourceClient.m:
- Change to use new log channels.
-
-2002-09-08 Darin Adler <darin@apple.com>
-
- Remove empty handleDidBeginLoading and handleDidCancelLoading
- methods, now that they will never be called.
-
- * Misc.subproj/WebIconLoader.m:
- * Plugins.subproj/WebPluginStream.m:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- * WebView.subproj/WebMainResourceClient.m:
-
-2002-09-08 Darin Adler <darin@apple.com>
-
- Forgot to save out files from the editor in my last change.
-
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- Oops.
-
-2002-09-08 Darin Adler <darin@apple.com>
-
- Finished weaning us from handleDidCancelLoading. Now I will remove both
- handleDidBeginLoading and handleDidCancelLoading.
-
- * WebCoreSupport.subproj/WebSubresourceClient.h: Add a handle method.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handleDidCancelLoading:]): Remove guts, move to cancel.
- (-[WebSubresourceClient handleDidFinishLoading:]): Remove the client from the
- data source now, not the handle.
- (-[WebSubresourceClient handleDidFailLoading:withError:]): Ditto.
- (-[WebSubresourceClient cancel]): Move guts here, also make the above change.
- (-[WebSubresourceClient handle]): Added.
-
- * WebView.subproj/WebDataSource.m: Use clients list, not handles list.
- * WebView.subproj/WebDataSourcePrivate.h: Keep a list of subresource clients rather
- than a list of handles for the subresources.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): Update to match new field names.
- (-[WebDataSource _updateLoading]): Use clients, not handles.
- (-[WebDataSource _startLoading:]): Move line about starting loading out of the if
- statement. I suspect the if statement is always true, though.
- (-[WebDataSource _addSubresourceClient:]): New name. Keep client pointer instead of
- handle now.
- (-[WebDataSource _removeSubresourceClient:]): Ditto.
- (-[WebDataSource _stopLoading]): Move download handler line into WebMainResourceClient
- since the "not sent when application is quitting" issue is gone now. Stop the subresource
- clients using the cancel call, not by cancelling the handle directly.
- (-[WebDataSource _defersCallbacksChanged]): Update for clients list, not handles list.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient didCancelWithHandle:]): Cancel the download handler here.
- (-[WebMainResourceClient handleDidReceiveData:data:]): Call didCancelWithHandle here.
- A loose end from the previous change.
-
-2002-09-07 Chris Blumenberg <cblu@apple.com>
-
- Made the wizzy scaling an experiment.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _iconByScalingIcon:toSize:]):
-
-2002-09-06 Darin Adler <darin@apple.com>
-
- Almost weaned WebKit entirely from the handleDidBeginLoading and handleDidCancelLoading
- loading callbacks. We are planning to remove both of them.
-
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream startLoad]): Call _didStartLoading here so we don't need
- to rely on handleDidBeginLoading any more.
- (-[WebNetscapePluginStream stop]): Call cancel here so we don't need to rely on
- handleDidCancelLoading any more.
- (-[WebNetscapePluginStream handleDidBeginLoading:]): Empty out.
- (-[WebNetscapePluginStream handleDidFinishLoading:]): Nil out resource here.
- (-[WebNetscapePluginStream handleDidCancelLoading:]): Empty out.
- (-[WebNetscapePluginStream cancel]): Put cancel code here.
- (-[WebNetscapePluginStream handleDidFailLoading:withError:]): Nil out resource here.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge startLoadingResource:withURL:]): Change to use WebCoreResourceHandle.
-
- * WebCoreSupport.subproj/WebSubresourceClient.h: Change to use WebCoreResourceHandle.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient dealloc]): Release handle too, now that we have it.
- (-[WebSubresourceClient receivedProgressWithComplete:]): Moved up here and removed handle
- parameter.
- (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]): Do work here so
- we don't need to rely on handleDidBeginLoading any more.
- (-[WebSubresourceClient receivedError:]): Removed handle parameter.
- (-[WebSubresourceClient handleWillUseUserAgent:forURL:]):
- (-[WebSubresourceClient handleDidBeginLoading:]): Emptied out.
- (-[WebSubresourceClient handleDidCancelLoading:]): Updated, still needs to be emptied out.
- (-[WebSubresourceClient handleDidFinishLoading:]): Nil out handle.
- (-[WebSubresourceClient handleDidFailLoading:withError:]): Nil out handle.
- (-[WebSubresourceClient cancel]): New method, used by WebCore.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer widthForCharacters:length:]): Moved up in the file to fix build failure.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]): Call didStartLoadingWithURL so we don't have to
- rely on handleDidBeginLoading.
- (-[WebDataSource _stopLoading]): Call didCancelWithHandle so we don't have to rely
- on handleDidCancelLoading.
-
- * WebView.subproj/WebMainResourceClient.h: Add didStartLoadingWithURL and
- didCancelWithHandle to the public methods.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient initWithDataSource:]):
- (-[WebMainResourceClient handleDidBeginLoading:]): Empty out.
- (-[WebMainResourceClient didCancelWithHandle:]): Move the bulk of handleDidCancelLoading here.
- (-[WebMainResourceClient handleDidCancelLoading:]): Empty out.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDragged:]): Move the mouse up a little
- bit so it's "on" the dragged area, but not over the text.
-
-2002-09-06 Richard Williamson <rjw@apple.com>
-
- Added support for khtml's justified text drawing. Additional padding is distributed
- to space widths. (Sites like www.osnews.com now render correctly.)
-
- Change word end rounding hack to use ceil of word width. I'm still noticing a spacing anomaly
- that is fixed by a reload. Occasionally text runs are still crammed together, but a reload uses
- correct spacing. This anomaly is often visible on www.arstechnica.com. Still investigating.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
- (-[WebTextRenderer slowDrawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:attemptFontSubstitution:]):
- (-[WebTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
- (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:]):
- (-[WebTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
-
- Tweaks to dragged image.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
-
-2002-09-06 Richard Williamson (Home) <rjw@apple.com>
-
- Fixed symbol lookup problem. NSLookupAndBindSymbol() dies horribly
- if symbol is missing. Use NSIsSymbolNameDefined() first to check if
- symbol is present.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
-
-2002-09-06 Darin Adler <darin@apple.com>
-
- Fix some minor anomalies and leaks.
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem initWithURL:target:parent:title:]): Use copy, not retain.
- (-[WebHistoryItem dealloc]): Release the anchor, fix leak.
- (-[WebHistoryItem setURL:]): Check for URLs that are equal, not just ==.
- (-[WebHistoryItem setTitle:]): Copy, not retain.
- (-[WebHistoryItem setTarget:]): Copy, not retain.
- (-[WebHistoryItem setParent:]): Copy, not retain.
- (-[WebHistoryItem setDisplayTitle:]): Copy, not retain.
- (-[WebHistoryItem setAnchor:]): Copy, not retain.
- * WebView.subproj/WebControllerPolicyHandler.m:
- (-[WebPolicyPrivate dealloc]): Release the URL, call super, fix leaks.
- (-[WebPolicy _setPath:]): Use copy, not retain.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate dealloc]): Release downloadProgressHandler,
- contextMenuHandler, locationChangeHandler, fix leaks.
-
- Some fun with Richard's new code.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]): Center image around mouse instead of
- putting it up and to the right. Add more X space than Y space.
-
-2002-09-06 Richard Williamson (Home) <rjw@apple.com>
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
-
- More fun and games with dragged links.
- Draw both a label and url (in a smaller font)
- into the dragged image.
-
- * Misc.subproj/WebStringTruncator.h:
- * Misc.subproj/WebStringTruncator.m:
- (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
-
- Added right string truncator. Not optimized, but not used
- very often. Currently just for dragged link experiment.
-
-=== Alexander-22 ===
-
-2002-09-06 Ken Kocienda <kocienda@apple.com>
-
- Declaration and initialization of variable on one line caused unused variable
- warning when building under deployment since the only use of the variable was
- in a debug statement.
-
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream receivedError:])
-
-2002-09-05 Richard Williamson (Local) <rjw@apple.com>
-
- Experiment w/ dragging link label as drag image.
- Needs some visual tweaking, but good concept, I think.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
-
-2002-09-05 Richard Williamson (Local) <rjw@apple.com>
-
- Use the first text child node of the link element
- as the title for a dragged link. We'll use this for
- the dragged image later too.
-
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _elementAtPoint:]):
-
-2002-09-05 Richard Williamson (Local) <rjw@apple.com>
-
- Correctly save of document state in current
- document when going back.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge saveDocumentState:]):
- (-[WebBridge documentState]):
-
-2002-09-05 Richard Williamson (Local) <rjw@apple.com>
-
- Fixed 3043505. Disallows drag drops on originating view.
-
- * WebView.subproj/WebView.m:
- (-[WebView draggingEntered:]):
-
-2002-09-05 Darin Adler <darin@apple.com>
-
- Update to use the new style of assertions.
- A few places still use the WebKitDebug.h, for logging.
-
- * Bookmarks.subproj/WebBookmark.m:
- * Bookmarks.subproj/WebBookmarkGroup.m:
- * Bookmarks.subproj/WebBookmarkLeaf.m:
- * Bookmarks.subproj/WebBookmarkList.m:
- * Bookmarks.subproj/WebBookmarkSeparator.m:
- * History.subproj/WebHistory.m:
- * History.subproj/WebHistoryList.m:
- * History.subproj/WebHistoryPrivate.m:
- * History.subproj/WebURLsWithTitles.m:
- * Misc.subproj/WebDownloadHandler.m:
- * Misc.subproj/WebIconDatabase.m:
- * Misc.subproj/WebIconLoader.m:
- * Misc.subproj/WebKitDebug.h:
- * Misc.subproj/WebStringTruncator.m:
- * Panels.subproj/WebAuthenticationPanel.m:
- * Plugins.subproj/WebPlugin.m:
- * Plugins.subproj/WebPluginDatabase.m:
- * Plugins.subproj/WebPluginNullEventSender.m:
- * Plugins.subproj/WebPluginStream.m:
- * Plugins.subproj/WebPluginView.m:
- * Plugins.subproj/npapi.m:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- * WebCoreSupport.subproj/WebViewFactory.m:
- * WebView.subproj/WebController.m:
- * WebView.subproj/WebControllerPrivate.m:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebDefaultPolicyHandler.m:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebHTMLView.m:
- * WebView.subproj/WebHTMLViewPrivate.m:
- * WebView.subproj/WebMainResourceClient.m:
- * WebView.subproj/WebPreferences.m:
- * WebView.subproj/WebViewPrivate.m:
- Use new assertions.
-
-2002-09-05 Richard Williamson (Local) <rjw@apple.com>
-
- Removed debugging.
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList addEntry:]):
-
-2002-09-05 Richard Williamson (Local) <rjw@apple.com>
-
- Added support for saving/restoring document state
- in back/forward list.
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList addEntry:]):
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem dealloc]):
- (-[WebHistoryItem setLastVisitedDate:]):
- (-[WebHistoryItem documentState]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge saveDocumentState:]):
- (-[WebBridge documentState]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]):
-
- Lookup post Jaguar CG SPI. Can now run and build
- w/o patched CG.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
-
- Changed image links to drag file contents.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
-
-2002-09-05 Ken Kocienda <kocienda@apple.com>
-
- The WebError object has been removed from WebResourceHandle.
- Objects of that class now rely on the WebError object in WebResourceResponse.
-
- This code has been updated to ask WebResourceResponse for it WebError object,
- rather than asking WebResourceHandle.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handleDidFinishLoading:])
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidFinishLoading:])
-
-2002-09-05 Chris Blumenberg <cblu@apple.com>
-
- Fixed 3021365 - Crash failing to load plugin from local file
-
- * Plugins.subproj/WebPluginStream.h:
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream receivedData:withHandle:]):
- (-[WebNetscapePluginStream receivedError:]):
- (-[WebNetscapePluginStream receivedData:withDataSource:]):
- (-[WebNetscapePluginStream handleDidReceiveData:data:]):
-
-2002-09-05 Ken Kocienda <kocienda@apple.com>
-
- The first use of the WebResourceResponse object. This is just a baby step, though.
- I only use one variable in the new class, the statusCode, but all the code in
- the framework has been updated to use the statusCode from the response object.
-
- Each of these methods was modified to call through to a WebResourceResponse to get
- the status code.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handleDidFinishLoading:])
- * WebView.subproj/WebLoadProgress.m:
- (-[WebLoadProgress initWithResourceHandle:])
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidFinishLoading:])
-
-2002-09-05 Richard Williamson (Local) <rjw@apple.com>
-
- Only disable timed expiration of CG glyph cache if SPI is available.
- (per Bertrand's request)
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
-
-2002-09-05 John Sullivan <sullivan@apple.com>
-
- * Resources/url_icon.tiff: New generic icon from Steve Lemay.
- The @ sign lives, but does not spring.
-
-2002-09-04 Darin Adler <darin@apple.com>
-
- One more pass of refinement on that last change.
-
- * History.subproj/WebBackForwardList.m: (-[WebBackForwardList addEntry:]):
- Replace the last entry instead of just ignoring if this one matches.
-
- * History.subproj/WebHistoryList.h: Add replaceEntryAtIndex. Remove addURL: and removeURL:.
-
- * History.subproj/WebHistoryList.m:
- (-[WebHistoryList addEntry:]): Call removeEntry: rather than using an entire pasted copy here.
- (-[WebHistoryList removeEntry:]): Use a hash of the URL and the URL rather than relying on the
- fact that WebHistoryItem hashes and does isEqual based on the URL only.
- (-[WebHistoryList replaceEntryAtIndex:withEntry:]): Added. Used by the code above.
-
-2002-09-04 Darin Adler <darin@apple.com>
-
- Fix bug where doing a reload adds an entry to the back/forward list.
-
- * History.subproj/WebBackForwardList.m: (-[WebBackForwardList addEntry:]):
- If URL, target, and parent all match, then don't add an entry.
-
- * WebKit.pbproj/project.pbxproj: Let Project Builder be the boss; I guess
- this means Chris is still using the old version.
-
-2002-09-04 Chris Blumenberg <cblu@apple.com>
-
- - don't set nil data on the web file db
- - store absolute URLs in the db, not base URL/path combination URLs
- - support for multiple hosts with the same built-in icon
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase init]): renamed some dictionaries
- (-[WebIconDatabase iconForSiteURL:withSize:]): call _builtInIconsForHost
- (-[WebIconDatabase _updateFileDatabase]): check for nil
- (-[WebIconDatabase _hasIconForSiteURL:]): call _pathForBuiltInIconForHost
- (-[WebIconDatabase _pathForBuiltInIconForHost:]): new
- (-[WebIconDatabase _builtInIconsForHost:]): call _pathForBuiltInIconForHost
- * Misc.subproj/WebIconDatabasePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _loadIcon]): use absolute URL
-
-2002-09-04 Chris Blumenberg <cblu@apple.com>
-
- Made the icon DB take a a path for built-in icons so that we only load them when necessary.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase init]):
- (-[WebIconDatabase iconForSiteURL:withSize:]):
- (-[WebIconDatabase _hasIconForSiteURL:]):
- (-[WebIconDatabase _builtInIconsForHost:]):
- (-[WebIconDatabase _setBuiltInIconAtPath:forHost:]):
- * Misc.subproj/WebIconDatabasePrivate.h:
- * WebKit.pbproj/project.pbxproj:
-
-2002-09-04 Darin Adler <darin@apple.com>
-
- Fix unused variable warnings for deployment builds.
-
- * Plugins.subproj/WebPluginView.m: Add ifndef NDEBUG around variable
- used only in log statements.
-
-2002-09-04 Darin Adler <darin@apple.com>
-
- Removed the now-unnecessary iconURL from bookmarks and history.
-
- * Bookmarks.subproj/WebBookmark.h:
- * Bookmarks.subproj/WebBookmark.m:
- * Bookmarks.subproj/WebBookmarkGroup.h:
- * Bookmarks.subproj/WebBookmarkGroup.m:
- * Bookmarks.subproj/WebBookmarkLeaf.h:
- * Bookmarks.subproj/WebBookmarkLeaf.m:
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- * History.subproj/WebHistoryPrivate.h:
- * History.subproj/WebHistoryPrivate.m:
- Removed iconURL instance variables, methods, and parameters.
-
-2002-09-04 Darin Adler <darin@apple.com>
-
- Did some minor plugin cleanup, mostly to make sure we don't
- change pages while a plugin is tracking.
-
- * Plugins.subproj/WebPluginView.h: Add sendEvent and sendUpdateEvent.
- Remove the NPP_HandleEvent method.
- * Plugins.subproj/WebPluginView.m:
- (-[WebNetscapePluginView sendEvent:]): Sets up the "defersCallbacks"
- state, then sends the event.
-
- * Plugins.subproj/WebNetscapePluginViewPrivate.h: Added.
- This stuff was shared in a different way before, and it
- hadn't even been renamed.
- * WebKit.pbproj/project.pbxproj: Added file.
- * Plugins.subproj/npapi.m: Use the new private header.
-
- * Plugins.subproj/WebPluginNullEventSender.h: Hold a reference
- to the view.
- * Plugins.subproj/WebPluginNullEventSender.m:
- (-[WebNetscapePluginNullEventSender initWithPluginView:]):
- Retain the view.
- (-[WebNetscapePluginNullEventSender dealloc]): Release the view.
- (-[WebNetscapePluginNullEventSender sendNullEvents]): Use sendEvent:.
- (-[WebNetscapePluginNullEventSender stop]): No need for shouldStop.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate init]): Don't set contentPolicy to an enum value,
- when it's an object reference.
- (-[WebDataSourcePrivate dealloc]): Release contentPolicy to fix a leak.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]): Set draggedURL to nil in the else case,
- it was uninitialized before. Also center the icon better when dragging,
- but shouldn't we be dragging something more than the icon here?
-
- * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase defaultIconWithSize:]):
- Add a call to release. Doesn't really plug a leak, but cleaner this way.
-
- * Plugins.subproj/WebPlugin.m: Tweaks.
- * WebView.subproj/WebMainResourceClient.m: Tweaks only.
-
-2002-09-04 Ken Kocienda <kocienda@apple.com>
-
- Made more adjustments for API and behavior change that occurred in WebFoundation,
- now that WebResourceHandle objects no buffer resource data as it is loaded. Where
- necessary, the WebKit objects now do their own buffering, however, in many cases,
- buffering is not necessary to maintain correct behavior.
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoaderPrivate dealloc]): Release new buffered resource data object.
- (-[WebIconLoader initWithURL:]): Allocate new buffered resource data object.
- (-[WebIconLoader handleDidFinishLoading:]): Modify API to remove data parameter.
- (-[WebIconLoader handleDidReceiveData:data:]): Buffer data as it is received.
- * Plugins.subproj/WebPluginStream.h: Added new buffered resource data object.
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:attributes:]): Allocate new buffered resource data object.
- (-[WebNetscapePluginStream dealloc]): Release new buffered resource data object.
- (-[WebNetscapePluginStream receivedData:]): Buffer data as it is received (when necessary maintain correct behavior).
- (-[WebNetscapePluginStream handleDidFinishLoading:]): Modify API to remove data parameter.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient handleDidFinishLoading:]): Modify API to remove data parameter.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidFinishLoading:]): Modify API to remove data parameter.
- (-[WebMainResourceClient handleDidReceiveData:data:]): Buffer data as it is received (when necessary maintain correct behavior).
-
-2002-09-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3043024 - Built-in icons should match on *whatever.com or *whatever.whatever
- implemented wizzy scaling, but ifdef'd it out
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase iconForSiteURL:withSize:]): call _builtItIconsForHost
- (-[WebIconDatabase _hasIconForSiteURL:]): call _builtItIconsForHost
- (-[WebIconDatabase _iconForFileURL:withSize:]): call _iconByScalingIcon:toSize:
- (-[WebIconDatabase _builtItIconsForHost:]): use better host matching
- (-[WebIconDatabase _cachedIconFromArray:withSize:]): call _iconByScalingIcon:toSize:
- (-[WebIconDatabase _iconByScalingIcon:toSize:]): renamed, ifdef'd out wizzy scaling
-
-2002-09-04 Ken Kocienda <kocienda@apple.com>
-
- Changed WebKit so that it no longer relies on WebResourceHandle to buffer
- resource data as it is loaded. Instead, this buffering task has been moved
- out to the WebResourceClient, WebMainResourceClient in this case. This
- change is a "proof of concept" for the upcoming change where the API in
- WebFoundation for buffering resource data in WebResourceHandle will be
- removed altogether.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource data]): Changed to call WebMainResourceClient when resource data is needed.
- * WebView.subproj/WebMainResourceClient.h: Added mutable data ivar.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient initWithDataSource:]): Added mutable data ivar.
- (-[WebMainResourceClient dealloc]): Release new mutable data ivar.
- (-[WebMainResourceClient resourceData]): Added accessor method.
- (-[WebMainResourceClient handleDidReceiveData:data:]): Append received data to the new mutable data object.
-
-2002-09-03 John Sullivan <sullivan@apple.com>
-
- * Resources/url_icon.tiff: New image (still a placeholder)
- from HI. For the moment the default page icon is the legendary
- @-sign-on-a-spring. I've been promised a replacement by
- tomorrow sometime.
-
-2002-09-03 John Sullivan <sullivan@apple.com>
-
- - removed small folder image used for bookmark lists; it is now
- up to clients to display an icon for bookmark lists.
-
- * Bookmarks.subproj/WebBookmarkList.h: Removed _icon ivar
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList dealloc]): Don't release _icon
- (-[WebBookmarkList icon]): just return nil
- * Resources/bookmark_folder.tiff: Removed.
- * WebKit.pbproj/project.pbxproj: Updated for removed file.
-
-2002-09-03 Chris Blumenberg <cblu@apple.com>
-
- - Moved the default icon method to WebIconDatabase
- - Removed "icon URL" from the location change handler API
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem icon]): don't worry about iconForSiteURL:withSize: returning nil
- * Misc.subproj/WebIconDatabase.h:
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase iconForSiteURL:withSize:]): return defaultIconWithSize if none found
- (-[WebIconDatabase defaultIconWithSize:]): added, loads, caches default icon
- (-[WebIconDatabase _hasIconForSiteURL:]): added, called by webdatasource to determine if icon is necessary
- * Misc.subproj/WebIconDatabasePrivate.h: added _hasIconForSiteURL
- * Misc.subproj/WebIconLoader.h: removed default icon method
- * Misc.subproj/WebIconLoader.m: removed default icon method
- * Resources/url_icon.tiff: resized to 32 x 32
- * WebKit.exp: export symbol for a dictionary key
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _loadIcon]): call _hasIconForSiteURL
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]): call defaultIconWithSize
- * WebView.subproj/WebLocationChangeHandler.h:
- * WebView.subproj/WebLocationChangeHandler.m:
- (-[WebLocationChangeHandler receivedPageIcon:forDataSource:]): renamed
-
-2002-09-03 Ken Kocienda <kocienda@apple.com>
-
- Modify calls into WebFoundation to use the new WebResourceRequest class,
- and the modified API that kicks off load requests using WebResourceHandle.
- More changes are planned for this code as the WebFoundation API modifications
- progress.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _iconForFileURL:withSize:])
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading])
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream startLoad])
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCache:size:])
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:dataSource:])
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:])
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:])
-
-2002-09-03 Darin Adler <darin@apple.com>
-
- Fix a reproducible crash pulling down the Go menu.
-
- * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _iconForFileURL:withSize:]):
- Add a missing retain.
-
- * WebKit.pbproj/project.pbxproj: Project Builder wants what it wants.
-
-2002-09-02 Chris Blumenberg <cblu@apple.com>
-
- Icon DB.
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem _retainIconInDatabase:]): calls retainIconForSiteURL: or releaseIconForSiteURL:
- (-[WebHistoryItem initWithURL:target:parent:title:]): call _retainIconInDatabase:
- (-[WebHistoryItem dealloc]): call _retainIconInDatabase:
- (-[WebHistoryItem icon]): call iconForSiteURL:withSize:
- (-[WebHistoryItem setURL:]): call _retainIconInDatabase:
- (-[WebHistoryItem initFromDictionaryRepresentation:]): call _retainIconInDatabase:
- * Misc.subproj/WebIconDatabase.h: Added.
- * Misc.subproj/WebIconDatabase.m: Added.
- (+[WebIconDatabase sharedIconDatabase]):
- (-[WebIconDatabase init]):
- (-[WebIconDatabase iconForSiteURL:withSize:]):
- (-[WebIconDatabase setIcon:forSiteURL:]):
- (-[WebIconDatabase setIcon:forHost:]):
- (-[WebIconDatabase retainIconForSiteURL:]):
- (-[WebIconDatabase releaseIconForSiteURL:]):
- (-[WebIconDatabase delayDatabaseCleanup]):
- (-[WebIconDatabase allowDatabaseCleanup]):
- (-[WebIconDatabase applicationWillTerminate:]):
- (-[WebIconDatabase _createFileDatabase]):
- (-[WebIconDatabase _loadIconDictionaries]):
- (-[WebIconDatabase _updateFileDatabase]):
- (-[WebIconDatabase _iconForIconURL:]):
- (-[WebIconDatabase _iconsForIconURL:]):
- (-[WebIconDatabase _iconForFileURL:withSize:]):
- (-[WebIconDatabase _setIcon:forIconURL:]):
- (-[WebIconDatabase _setIconURL:forSiteURL:]):
- (-[WebIconDatabase _setBuiltInIcon:forHost:]):
- (-[WebIconDatabase _retainIconForIconURL:]):
- (-[WebIconDatabase _releaseIconForIconURL:]):
- (-[WebIconDatabase _retainFutureIconForSiteURL:]):
- (-[WebIconDatabase _releaseFutureIconForSiteURL:]):
- (-[WebIconDatabase _retainOriginalIconsOnDisk]):
- (-[WebIconDatabase _releaseOriginalIconsOnDisk]):
- (-[WebIconDatabase _sendNotificationForSiteURL:]):
- (-[WebIconDatabase _addObject:toSetForKey:inDictionary:]):
- (-[WebIconDatabase _uniqueIconURL]):
- (-[WebIconDatabase _cachedIconFromArray:withSize:]):
- (-[WebIconDatabase _scaleIcon:toSize:]):
- * Misc.subproj/WebIconDatabasePrivate.h: Added.
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebIconLoader.m:
- (+[WebIconLoader iconForFileAtPath:]):
- (-[WebIconLoader startLoading]):
- (-[WebIconLoader handleDidFinishLoading:data:]):
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _loadIcon]):
-
-2002-08-30 Ken Kocienda <kocienda@apple.com>
-
- Removed one last reference to the now-removed WebDefaultMIMEType symbol.
- I missed it earlier.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidReceiveData:data:])
-
-2002-08-30 Ken Kocienda <kocienda@apple.com>
-
- Failed to remove debugging spam before my last checkin. Sorry.
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebControllerPrivate.m:
- (+[WebController _MIMETypeForFile:])
-
-2002-08-30 Ken Kocienda <kocienda@apple.com>
-
- * WebView.subproj/WebControllerPrivate.m:
- (+[WebController _MIMETypeForFile:]): Small tweak to account for change
- in behavior of a WebFoundation method upon which this method depends.
- The WebFoundation now returns nil when it cannot find a suitable mime
- type rather than returning a default. This function now checks for a nil
- return value and sets @"application/octet-stream" in that case.
-
-2002-08-30 Richard Williamson (Home) <rjw@apple.com>
-
- Change link dragging behavior. Drags URL, not URL contents.
- Still need to generate better image for dragging, will copy OmniWeb
- and drag link text.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
-
-2002-08-30 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Allowed the new Project Builder to put in
- encodings for each file.
-
-=== Alexander-21 ===
-
-2002-08-28 Darin Adler <darin@apple.com>
-
- - fixed 3036440 -- Crash running PLT with "Check for 'world leaks'" enabled
-
- * WebView.subproj/WebDataSourcePrivate.h: Add defersCallbacks boolean.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setController:]): Don't try to look at the controller before,
- it might already be deallocated.
- (-[WebDataSource _defersCallbacksChanged]): Use a boolean to record whether the
- "defers callbacks" state changed since last time and do no work if it didn't.
- This replaces the check in _setController:.
-
-2002-08-28 Richard Williamson (Local) <rjw@apple.com>
-
- Tell CG to not use time expiration of glyph cache and increase it's
- size.
-
- THIS CHANGE REQUIRES THAT YOU INSTALL THE CG ROOT.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
-
-2002-08-28 Richard Williamson (Home) <rjw@apple.com>
-
- Fixed selection horkage I introduced with drag
- fix yesterday.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]):
-
-2002-08-27 Richard Williamson (Local) <rjw@apple.com>
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDown:]):
- (-[WebHTMLView mouseDragged:]):
- (-[WebHTMLView mouseMovedNotification:]):
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
-
- Fixed active link style. Cleaned up and fixed drag initiation
- for links and images. Dotted lines not drawing correcly, but
- other styles are applied correctly.
-
- * WebKit.exp:
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
-
- Added some constants.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
-
- Code to change CG caching policy. Not enabled until
- we receive a root from CG team.
-
-2002-08-27 Darin Adler <darin@apple.com>
-
- - fixed 3031583 -- directory.apple.com now gives "unsupported" redirect
-
- * WebView.subproj/WebDataSource.m: (-[WebDataSource initWithURL:attributes:flags:]):
- Don't create the resource handle here. It's a bit too early.
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]):
- Create the resource handle here, now that we have a controller to get a user agent from.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleWillUseUserAgent:forURL:]): Add an assert that will catch
- any future problems of this kind.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge defersLoading]): Added. New call for use in WebCore.
- (-[WebBridge setDefersLoading:]): Added. New call for use in WebCore.
-
-2002-08-26 Darin Adler <darin@apple.com>
-
- Add machinery for deferring callbacks. Not used yet.
-
- * WebView.subproj/WebControllerPrivate.h: Add methods.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _defersCallbacks]): Returns old state.
- (-[WebController _setDefersCallbacks:]): Changes state and calls _defersCallbacksChanged
- on the main frame.
-
- * WebView.subproj/WebFramePrivate.h: Add _defersCallbacksChanged.
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _defersCallbacksChanged]):
- Calls _defersCallbacksChanged on both data sources.
-
- * WebView.subproj/WebDataSourcePrivate.h: Add _defersCallbacksChanged.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setController:]): Call _defersCallbacksChanged if changing the controller
- changes the state.
- (-[WebDataSource _addResourceHandle:]): Call setDefersCallbacks:YES on the new handle if
- we are already attached to a controller that defers callbacks.
- (-[WebDataSource _defersCallbacksChanged]): Call setDefersCallbacks on all the handles, and
- call _defersCallbacksChanged on the child frames as well.
-
- * WebView.subproj/WebDataSource.m: (-[WebDataSource controller]):
- We need to know about all controller changes, so it's unacceptable to consult our
- parent about the controller. But we already do know about it and this code was unnecessary.
- Leave the old code around as an assert only.
-
-2002-08-26 Richard Williamson <rjw@apple.com>
-
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
- (+[WebHistory webHistoryWithFile:]):
- Stage 1, set the shared history instance. This'll move to
- WebKit soon.
-
- * WebView.subproj/WebView.m:
- (-[WebView setFrame:]):
- Only force display if in live resize.
-
-2002-08-26 John Sullivan <sullivan@apple.com>
-
- - fixed bug where dragging a separator in the Bookmarks window
- would hit an assertion.
-
- * Bookmarks.subproj/WebBookmarkSeparator.m:
- (-[WebBookmarkSeparator initWithGroup:]): Removed obsolete
- assertion that group is not nil.
- * Bookmarks.subproj/WebBookmarkLeaf.m:
- (-[WebBookmarkLeaf initWithTitle:group:]):
- Removed a similar obsolete assertion here.
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList initWithTitle:group:]):
- Removed a similar obsolete assertion here.
-
-2002-08-23 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebFrame.m: (-[WebFrame reset]): Remove unneeded call to _reset.
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setDataSource:]): Add code that
- removes the KHTML stuff from the frame when switching to another type of view.
- It would be better to do this at some other level, but without this code, we end
- up leaving the entire KHTMLView behind when we switch to a non-HTML page.
-
-2002-08-22 Richard Williamson <rjw@apple.com>
-
- Changed public string from #define to extern NSString.
-
- * WebKit.exp:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- * WebView.subproj/WebDefaultContextMenuHandler.m:
- (-[WebDefaultContextMenuHandler contextMenuItemsForElement:defaultMenuItems:]):
- (-[WebDefaultContextMenuHandler openNewWindowWithURL:]):
- (-[WebDefaultContextMenuHandler downloadURL:]):
- (-[WebDefaultContextMenuHandler openLinkInNewWindow:]):
- (-[WebDefaultContextMenuHandler downloadLinkToDisk:]):
- (-[WebDefaultContextMenuHandler copyLinkToClipboard:]):
- (-[WebDefaultContextMenuHandler openImageInNewWindow:]):
- (-[WebDefaultContextMenuHandler downloadImageToDisk:]):
- (-[WebDefaultContextMenuHandler copyImageToClipboard:]):
- (-[WebDefaultContextMenuHandler openFrameInNewWindow:]):
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _elementAtPoint:]):
- (-[WebHTMLView _continueAfterCheckingDragForEvent:]):
-
-2002-08-22 Ken Kocienda <kocienda@apple.com>
-
- Passing the main load's attributes to the subresource loads causes
- breakage (most visible when we POST).
-
- Right now, we just rely on flags to handle "back/forward" loads, so
- the attributes were not actually being used.
-
- A better fix needs to be put in place when the soon-to-be-done
- attributes/flags rework is done.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]):
-
-=== Alexander-20 ===
-
-2002-08-21 Richard Williamson <rjw@apple.com>
-
- Simple name change. Plugin -> NetscapePlugin in anticipation
- of other plugin related API.
-
- Removed vestigal WebDocumentLoading.
-
- * Plugins.subproj/WebPlugin.h:
- * Plugins.subproj/WebPlugin.m:
- (-[WebNetscapePlugin load]):
- * Plugins.subproj/WebPluginDatabase.h:
- * Plugins.subproj/WebPluginDatabase.m:
- (+[WebNetscapePluginDatabase installedPlugins]):
- (-[WebNetscapePluginDatabase pluginForMimeType:]):
- (-[WebNetscapePluginDatabase pluginForExtension:]):
- (-[WebNetscapePluginDatabase pluginWithFilename:]):
- (-[WebNetscapePluginDatabase MIMETypes]):
- (-[WebNetscapePluginDatabase init]):
- * Plugins.subproj/WebPluginNullEventSender.h:
- * Plugins.subproj/WebPluginNullEventSender.m:
- (-[WebNetscapePluginNullEventSender initWithPluginView:]):
- (-[WebNetscapePluginNullEventSender sendNullEvents]):
- * Plugins.subproj/WebPluginStream.h:
- * Plugins.subproj/WebPluginStream.m:
- (-[WebNetscapePluginStream getFunctionPointersFromPluginView:]):
- (-[WebNetscapePluginStream initWithURL:pluginPointer:notifyData:attributes:]):
- * Plugins.subproj/WebPluginView.h:
- * Plugins.subproj/WebPluginView.m:
- (-[WebNetscapePluginView initWithFrame:plugin:URL:baseURL:mime:arguments:]):
- (-[WebNetscapePluginView start]):
- (-[WebNetscapePluginView provisionalDataSourceChanged:]):
- (-[WebNetscapePluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
- (-[WebNetscapePluginView destroyStream:reason:]):
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
- (-[WebViewFactory pluginsInfo]):
- (-[WebViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]):
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (+[WebController canShowMIMEType:]):
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView provisionalDataSourceChanged:]):
- (-[WebHTMLView provisionalDataSourceCommitted:]):
- (-[WebHTMLView dataSourceUpdated:]):
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[NSView _web_stopIfPluginView]):
- * WebView.subproj/WebImageView.h:
- * WebView.subproj/WebTextView.h:
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _makeDocumentViewForDataSource:]):
-
- Still need to muck with cvs server to change file names.
-
-2002-08-20 David Hyatt <hyatt@apple.com>
-
- Raising the layout delay from 0.75 to 1.00. This should be
- a little more conservative and matches the value used by Gecko.
-
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences load]):
-
-2002-08-20 David Hyatt <hyatt@apple.com>
-
- Lower the paint/layout delay from 1.85 to 0.75, since we've
- gotten a lot faster.
-
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences load]):
-
-2002-08-20 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidReceiveData:data:]):
- Fixed uninitialized variable that Maciej's deployment build found.
-
-2002-08-20 John Sullivan <sullivan@apple.com>
-
- Fixed problem with previous checkin that was causing
- drag-and-drop for files to fail (at least).
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _shouldShowURL:]): pass isDirectory, not YES,
- to fileURLPolicyForMIMEType:inFrame:isDirectory:
-
-2002-08-20 John Sullivan <sullivan@apple.com>
-
- WebKit part of fixes for:
- - 3027491 -- failure loading frame's resource leads to misbehaving panel
- - 3027494 -- failure loading frame's resource leads to error message in Alex, silence in IE
- - 3027697 -- alert box for missing file covered by browser window; should be a sheet
- - 3014123 -- error sheet when iframe has URL with bad path
-
- Cleaned up the WebPolicy APIs to pass frames and URLs consistently. Also cleaned
- up _shouldShowURL: (formerly _shouldShowDataSource:) method quite a bit.
-
- * WebView.subproj/WebControllerPolicyHandler.h:
- * WebView.subproj/WebDefaultContextMenuHandler.m:
- (-[WebDefaultContextMenuHandler downloadURL:]):
- * WebView.subproj/WebDefaultPolicyHandler.m:
- (-[WebDefaultPolicyHandler URLPolicyForURL:inFrame:]):
- (-[WebDefaultPolicyHandler fileURLPolicyForMIMEType:inFrame:isDirectory:]):
- (-[WebDefaultPolicyHandler unableToImplementPolicy:error:forURL:inFrame:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame setProvisionalDataSource:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidReceiveData:data:]):
- Made various Policy-related methods pass the frame and when necessary the
- URL instead of the dataSource (or not even that in some broken cases).
- Collapsed the three unableToImplementXXXPolicy: methods into one.
-
- * WebView.subproj/WebFramePrivate.h: Change _shouldShowDataSource: to
- _shouldShowURL:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame handleUnimplementablePolicy:errorCode:forURL:]): New helper method.
- (-[WebFrame _shouldShowURL:]): use case statements instead of nested ifs;
- use handleUnimplementablePolicy: to reduce duplicated code; update for API
- changes; eliminate non-useful local variables.
-
-2002-08-20 Darin Adler <darin@apple.com>
-
- - fixed 3023076 -- Strange font chosen, widths screwed up, when text includes 007F characters
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]):
- (-[WebTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
- Treat 007F as a control character, skipping it just as we do other control characters.
-
-2002-08-20 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebController.m:
- (-[WebController setApplicationNameForUserAgent:]):
- Lock in here, in anticipation of actually using the name in the
- user agent string.
-
-2002-08-20 Darin Adler <darin@apple.com>
-
- WebKit part of support for tabbing into and out of the toolbar.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge nextKeyViewOutsideWebViews]): Ask the main WebView for its
- nextKeyView on behalf of WebCore.
- (-[WebBridge previousKeyViewOutsideWebViews]): Ask the main WebView for its
- previousKeyView on behalf of WebCore.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView becomeFirstResponder]):
- When we are being tabbed-into, make the first or last view in the bridge
- first responder, instead of taking it ourselves.
-
- * WebView.subproj/WebView.m: (-[WebView becomeFirstResponder]):
- Always make the document view the first responder instead of taking it
- ourselves.
-
-2002-08-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed 3025019: "only-if-cached" attribute fetches data from network if cached but expired
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader iconFromCache]):
-
-2002-08-19 Darin Adler <darin@apple.com>
-
- - fixed 2863025 -- Need to implement TABing between widgets in forms
-
- Implemented tabbing into a web view's fields. I now consider the task of
- tabbing between widgets done. But there are many loose ends, each with its
- own bug report.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView dealloc]): Set _private to nil so we can properly handle calls
- that come from NSView dealloc.
- (-[WebHTMLView provisionalDataSourceChanged:]): No need to pass width and height
- to createKHTMLViewWithNSView any more. Also, just pass self rather than making
- the roung trip to the WebFrame and the WebView back here.
- (-[WebHTMLView nextKeyView]): Added. Calls the bridge version when we are called
- from nextValidKeyView, the normal version the rest of the time.
- (-[WebHTMLView previousKeyView]): Added. Calls the bridge version when we are called
- from nextValidKeyView, the normal version the rest of the time.
- (-[WebHTMLView nextValidKeyView]): Set inNextValidKeyView and call super.
- (-[WebHTMLView previousValidKeyView]): Set inNextValidKeyView and call super.
- * WebView.subproj/WebHTMLViewPrivate.h: Add inNextValidKeyView flag.
-
-2002-08-18 Darin Adler <darin@apple.com>
-
- Update WebResourceClient instances for new API, including adding
- the handleWillUseUserAgent:forURL: method.
-
- * Misc.subproj/WebIconLoader.m:
- * Plugins.subproj/WebPluginStream.m:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- * WebView.subproj/WebMainResourceClient.m:
- These were all the clients that needed updating.
-
- * WebView.subproj/WebController.m:
- (-[WebController setUserAgent:]): Lock so that we can set the user agent
- even though another thread could be calling userAgentForURL:.
- (-[WebController userAgentForURL:]): Ditto.
-
- * WebView.subproj/WebControllerPrivate.h: Add lock.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate init]): Create lock.
- (-[WebControllerPrivate dealloc]): Release lock.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _stopLoading]): Improve comment.
-
-2002-08-18 Darin Adler <darin@apple.com>
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader iconFromCache]):
- (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]):
- Don't process each icon twice. We need to have the loader as a client even for the
- synchronous case because of the user agent issue, but that causes double work.
-
-2002-08-16 Darin Adler <darin@apple.com>
-
- Step 3 in adding user agent API to WebKit and WebFoundation.
- Add the calls to WebKit to configure the user-agent string.
- Change WebCore to get the user-agent from WebKit via the bridge.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge userAgentForURL:]): Added. Calls [WebController userAgentForURL:].
-
- * WebView.subproj/WebController.h: Add three new methods.
- * WebView.subproj/WebController.m:
- (-[WebController setApplicationNameForUserAgent:]): Store an application name that
- will be used to build up the user-agent string.
- (-[WebController setUserAgent:]): Set an override user agent; mainly useful for
- testing user-agent strings different from the one WebKit supplies.
- (-[WebController userAgentForURL:]): Public API for getting the user agent string
- that the WebController will use for a particular URL.
-
- * WebView.subproj/WebControllerPrivate.h: Add fields for the user-agent parameters.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate dealloc]): Release both strings when the controller goes away.
-
-2002-08-16 Darin Adler <darin@apple.com>
-
- Missed one call to [WebResourceHandle initWithURL:].
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge objectLoadedFromCache:size:]):
- Change to call [WebResourceHandle initWithClient:URL:] with nil for the client.
-
-2002-08-16 Darin Adler <darin@apple.com>
-
- Oops. Forgot to save in Project Builder before committing.
-
- * Plugins.subproj/WebPluginStream.m:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
-
-2002-08-16 Darin Adler <darin@apple.com>
-
- Update for change to the WebResourceHandle API where the client is
- passed in at init time.
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader iconFromCache]): Pass self as client when creating handle for
- foreground "only if cached" load. Also don't put the handle into the class's
- data structure in this case.
- (-[WebIconLoader startLoading]): Pass self as client when creating handle
- instead of making a separate addClient call. Also fix potential leak if this
- is called when we are already loading.
- (-[WebIconLoader stopLoading]): Release the handle and nil it out right here.
- * Plugins.subproj/WebPluginStream.m:
- (-[WebPluginStream startLoad]): Pass client when creating handle rather than
- doing an addClient afterward.
- (-[WebPluginStream stop]): Don't do a removeClient.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]):
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithURL:attributes:flags:]): Pass client when creating handle.
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _startLoading:]):
- Since client is not created in init, don't bother creating it here.
-
-2002-08-16 John Sullivan <sullivan@apple.com>
-
- Split searchability out from WebTextView so it could be used
- elsewhere (specifically, in DOM window).
-
- * Misc.subproj/WebSearchableTextView.h: Added.
- * Misc.subproj/WebSearchableTextView.m: Added.
- (-[WebSearchableTextView searchFor:direction:caseSensitive:]):
- (-[NSString findString:selectedRange:options:wrap:]):
- New class, split out from WebTextView, which now inherits from it.
-
- * WebView.subproj/WebTextView.h:
- * WebView.subproj/WebTextView.m:
- Took out the searching stuff and put it in WebSearchableTextView;
- made WebTextView inherit from WebSearchableTextView.
-
- * WebKit.pbproj/project.pbxproj: Added new files, made
- WebSearchableTextView.h be Private.
-
-2002-08-16 John Sullivan <sullivan@apple.com>
-
- - fixed 3025394 -- Bookmarks & History items do not remember their icons
- across launches
- - fixed 3025421 -- Dragging from location field proxy icon to favorites bar
- loses page icon
- - part of fix for 3026279 -- Bookmarks should lose their favIcons when the
- URL is edited
-
- * Bookmarks.subproj/WebBookmarkLeaf.m:
- (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
- (-[WebBookmarkLeaf dictionaryRepresentation]):
- Removed the #ifdeffed-out code for storing iconURL in dictionary; this was
- unnecessary because it is also done by the lower-level WebHistoryItem.
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem _setIcon:]): New method, extracted from -icon for clarity.
- (-[WebHistoryItem icon]): Fixed problem where once an icon was set it would
- never be changed, even if the iconURL is changed. Also, use _setIcon for
- clarity and to fix retainCount bugs.
- (-[WebHistoryItem dictionaryRepresentation]):
- Removed the #ifdef around the line that stores the URL in the dictionary.
- Gramps decided that this architecture is OK after all.
-
-2002-08-16 Darin Adler <darin@apple.com>
-
- Fixed broken build.
-
- * Misc.subproj/WebTestController.m: Added empty placeholder methods.
-
-2002-08-15 John Sullivan <sullivan@apple.com>
-
- - fixed 3025770 -- "New Bookmark" button hits assertion and crashes
-
- * Bookmarks.subproj/WebBookmarkLeaf.m:
- (-[WebBookmarkLeaf setURLString:]): Instead of asserting that parameter
- is not nil, handle the nil case by converting to empty string. This was
- another regression from yesterday's favIcon changes.
-
-=== Alexander-19 ===
-
-2002-08-15 John Sullivan <sullivan@apple.com>
-
- Disabled support for storing favIcon URLs in bookmarks; Gramps realized
- this is an architecture problem that needs a better solution, and he
- didn't want to ship Alex-18 with this problem.
-
- * Bookmarks.subproj/WebBookmarkLeaf.m:
- (-[WebBookmarkLeaf dictionaryRepresentation]):
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem dictionaryRepresentation]):
- Commented out the code that added the iconURLString in the dictionary used
- for writing out file. This dictionary is also used on the pasteboard, so this
- change causes the favIcon not to be remembered when you drag from proxy icon
- to favorites bar.
-
-=== Alexander-18 ===
-
-2002-08-14 Chris Blumenberg <cblu@apple.com>
-
- Support for showing favicons in bookmarks and history.
-
- Renamed "image" to "icon" in all places.
-
- Made history and bookmarks take and save an icon URL
-
- * Bookmarks.subproj/WebBookmark.h:
- * Bookmarks.subproj/WebBookmark.m:
- (-[WebBookmark icon]):
- (-[WebBookmark iconURL]):
- (-[WebBookmark setIconURL:]):
- * Bookmarks.subproj/WebBookmarkGroup.h:
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup _setTopBookmark:]):
- (-[WebBookmarkGroup addNewBookmarkToBookmark:withTitle:iconURL:URLString:type:]):
- (-[WebBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:iconURL:URLString:type:]):
- * Bookmarks.subproj/WebBookmarkLeaf.h:
- * Bookmarks.subproj/WebBookmarkLeaf.m:
- (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
- (-[WebBookmarkLeaf dictionaryRepresentation]):
- (-[WebBookmarkLeaf copyWithZone:]):
- (-[WebBookmarkLeaf icon]):
- (-[WebBookmarkLeaf iconURL]):
- (-[WebBookmarkLeaf setIconURL:]):
- (-[WebBookmarkLeaf setURLString:]):
- * Bookmarks.subproj/WebBookmarkList.h:
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList initWithTitle:group:]):
- (-[WebBookmarkList dealloc]):
- (-[WebBookmarkList copyWithZone:]):
- (-[WebBookmarkList icon]):
- * Bookmarks.subproj/WebBookmarkSeparator.m:
- (-[WebBookmarkSeparator icon]):
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
- (-[WebHistory updateURL:title:displayTitle:iconURL:forURL:]):
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem init]):
- (-[WebHistoryItem initWithURL:title:]):
- (-[WebHistoryItem initWithURL:target:parent:title:]):
- (-[WebHistoryItem dealloc]):
- (-[WebHistoryItem iconURL]):
- (-[WebHistoryItem icon]):
- (-[WebHistoryItem setIconURL:]):
- (-[WebHistoryItem dictionaryRepresentation]):
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- * History.subproj/WebHistoryPrivate.h:
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate updateURL:title:displayTitle:iconURL:forURL:]):
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebIconLoader.m:
- (+[WebIconLoader iconLoaderWithURL:]):
- (-[WebIconLoader initWithURL:]):
- (-[WebIconLoader URL]):
- (-[WebIconLoader _icons]):
- (-[WebIconLoader delegate]):
- (-[WebIconLoader iconFromCache]):
- (-[WebIconLoader startLoading]):
- (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]):
- * WebCoreSupport.subproj/WebBridge.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _loadIcon]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
- * WebView.subproj/WebLocationChangeHandler.h:
- * WebView.subproj/WebLocationChangeHandler.m:
- (-[WebLocationChangeHandler receivedPageIcon:fromURL:forDataSource:]):
-
-2002-08-14 Darin Adler <darin@apple.com>
-
- Remove some unused things. Fix minor problems.
-
- * Plugins.subproj/WebPluginNullEventSender.m:
- * Plugins.subproj/WebPluginView.m:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- Fixed places that were using the C++ bool instead of
- the Objective C BOOL.
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedData:]):
- Remove old code related to the dummy data source.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webView:provisionalDataSource:controller:]):
- Remove _changeBridge, since we don't any more. Hoist the creation of the
- bridge up here.
- * WebView.subproj/WebFramePrivate.h: Remove _changeBridge.
- * WebView.subproj/WebFramePrivate.m: Remove _changeBridge.
-
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLView.h:
- * WebView.subproj/WebImageRepresentation.h:
- * WebView.subproj/WebTextRepresentation.h:
- * WebView.subproj/WebTextView.h:
- Don't re-declare methods that are part of protocols we implement.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView initWithFrame:]): Don't add the mouse moved observer until
- the view gets put into a window.
- (-[WebHTMLView addMouseMovedObserver]): Added.
- (-[WebHTMLView removeMouseMovedObserver]): Added.
- (-[WebHTMLView viewWillMoveToWindow:]): Remove observer if we were in the
- main window.
- (-[WebHTMLView viewDidMoveToWindow]): Add observer if we are now in the main
- window.
- * WebView.subproj/WebHTMLViewPrivate.h: Add _frame method. Remove unused
- controller and cursor instance variables.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _frame]): Added.
- (-[WebHTMLView _bridge]): Call _frame.
-
- * WebView.subproj/WebTextRepresentation.m: Add now-needed import.
-
- * WebView.subproj/WebHTMLRepresentation.m: Tweak.
-
-2002-08-13 Maciej Stachowiak <mjs@apple.com>
-
- Add the ability to determine the classes of live JavaScript
- objects, to help with leak fixing.
-
- * Misc.subproj/WebCoreStatistics.h:
- * Misc.subproj/WebCoreStatistics.m:
- (+[WebCoreStatistics javaScriptLiveObjectClasses]):
-
-2002-08-12 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge isReloading]):
- Change dataSourceIsReloading to isReloading.
-
-2002-08-12 Maciej Stachowiak <mjs@apple.com>
-
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m: Remove private _flags
- and _attributes accessors, now that Ken added public versions.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame reload:]): Remove sole use thereof.
-
-=== Alexander-17 ===
-
-2002-08-10 Ken Kocienda <kocienda@apple.com>
-
- Added support for "stale mode" (loads triggered by use of back/forward), and
- added support for reload.
-
- Also added a bridge function so the WebCore cache can tell if a load is a reload.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge dataSourceIsReloading]): New method.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]): Use same flags that were used for main resource load.
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource attributes]): New accessor.
- (-[WebDataSource flags]): New accessor.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame reload:]): Reload adds WebResourceHandleFlagLoadFromOrigin flag to load.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _goToItem:withFrameLoadType:]): Adds flags so that WebFoundation can tell when back/forward
- has been used.
-
-=== milestone 0.5 ===
-
-=== Alexander-16 ===
-
-2002-08-09 Chris Blumenberg <cblu@apple.com>
-
- - Cache icon image for HTML files
- - resize the icon in WebIconLoader instead of in multiple places elsewhere
-
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebIconLoader.m:
- (+[WebIconLoader _resizeImage:]):
- (+[WebIconLoader defaultIcon]): call _resizeImage
- (+[WebIconLoader iconForFileAtPath:]): added, caches html icon
- (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]): call _resizeImage
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _loadIcon]): call iconForFileAtPath
-
-2002-08-08 Maciej Stachowiak <mjs@apple.com>
-
- Fix to get onLoad to fire, so the iBench test works.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- Return the bridge for the new child frame.
-
-2002-08-08 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Change the group name back to Debug.
-
-2002-08-08 Richard Williamson <rjw@apple.com>
-
- Added flag to turn on/off buffered text drawing to help
- determine if we get any speed boost. Run from console
- with "-BufferTextDrawing YES" to enable buffered text
- drawing.
-
- Moved buffered text drawing out of web core.
-
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (+[WebTextRenderer shouldBufferTextDrawing]):
- (+[WebTextRenderer initialize]):
- (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
- * WebCoreSupport.subproj/WebTextRendererFactory.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView drawRect:]):
-
-2002-08-08 Darin Adler <darin@apple.com>
-
- Placeholders for the "drawing observer" method that I'll be using
- to implement the "dump page as diffable text" feature.
-
- * Misc.subproj/WebTestController.h: Added.
- * Misc.subproj/WebTestController.m: Added.
- * WebKit.pbproj/project.pbxproj: Mention new files.
- * WebKit.exp: Mention new class.
-
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- Changed "fixed font size" to "default fixed font size".
-
-2002-08-08 Chris Blumenberg <cblu@apple.com>
-
- * Plugins.subproj/WebPluginStream.m:
- (-[WebPluginStream finishedLoadingWithData:]): call [NSFileManager _web_carbonPathForPath:]
-
-2002-08-08 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 2957197 - Need API for getting/setting default text encoding
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate init]): Set default encoding if no other is set.
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences load]): Added support for default text encoding pref.
- (-[WebPreferences defaultTextEncoding]): Likewise.
- (-[WebPreferences setDefaultTextEncoding:]): Likewise.
-
-2002-08-08 Richard Williamson <rjw@apple.com>
-
- Changes to coalesce all drawing calls of the same text
- style and color into one call to CG. Significantly
- improves drawing time. My tests should about 7-8% on
- ALL pages. Disabled the code for now until I can verify
- on speed improvements on Ken's test rig.
-
- * WebCoreSupport.subproj/WebGlyphBuffer.h: Added.
- * WebCoreSupport.subproj/WebGlyphBuffer.m: Added.
- (-[WebGlyphBuffer initWithFont:color:]):
- (-[WebGlyphBuffer font]):
- (-[WebGlyphBuffer color]):
- (-[WebGlyphBuffer reset]):
- (-[WebGlyphBuffer dealloc]):
- (-[WebGlyphBuffer drawInView:]):
- (-[WebGlyphBuffer addGlyphs:advances:count:at::]):
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
- * WebCoreSupport.subproj/WebTextRendererFactory.h:
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory coalesceTextDrawing]):
- (-[WebTextRendererFactory startCoalesceTextDrawing]):
- (-[WebTextRendererFactory endCoalesceTextDrawing]):
- (-[WebTextRendererFactory glyphBufferForFont:andColor:]):
- (-[WebTextRendererFactory dealloc]):
- * WebKit.pbproj/project.pbxproj:
-
-2002-08-07 Maciej Stachowiak <mjs@apple.com>
-
- WebKit work for:
-
- - fixed 2956008 - Need API for getting/setting text encoding for current page
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge receivedData:withDataSource:]): Handle override encoding,
- if any.
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithURL:attributes:flags:]): Remember the flags and
- attributes.
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate init]): Initialize overrideEncoding
- (-[WebDataSourcePrivate dealloc]): Release attributes
- (-[WebDataSource _setOverrideEncoding:]): Added.
- (-[WebDataSource _overrideEncoding]): Added.
- (-[WebDataSource _flags]): Added.
- (-[WebDataSource _attributes]): Added.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame startLoading]): Pass proper forceRefresh value to data source
- based on load type (but the data source will ignore it).
- (-[WebFrame reload:]): Made this work a bit better. Now instead of
- crashing, it will actually reload, but it won't force a refresh
- (and may not handle the back/forward issues properly).
- * WebView.subproj/WebDocument.h: Defined new WebDocumentTextEncoding protocol.
- * WebView.subproj/WebHTMLView.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView textEncoding]): Implemented WebDocumentTextEncoding
- protocol.
- (-[WebHTMLView setTextEncoding:]): Implemented WebDocumentTextEncoding
- protocol.
- (-[WebHTMLView setDefaultTextEncoding]): Implemented WebDocumentTextEncoding
- protocol.
- (-[WebHTMLView usingDefaultTextEncoding]): Implemented
- WebDocumentTextEncoding protocol.
-
-2002-08-07 John Sullivan <sullivan@apple.com>
-
- - fixed 3017245 -- Shift-Delete should go forward
-
- * WebView.subproj/WebView.m:
- (-[WebView keyDown:]): Check for shift-delete.
-
-2002-08-07 Richard Williamson <rjw@apple.com>
-
- Fixed scrollview related drawing turd problems.
- (3000844 and 2896459).
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView drawRect:]):
- * WebView.subproj/WebView.m:
- (-[WebView setFrame:]):
-
-2002-08-07 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebFrame.m: (-[WebFrame setProvisionalDataSource:]):
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _goToItem:withFrameLoadType:]):
- Call _web_URLWithoutFragment by its new name _web_URLByRemovingFragment.
-
-2002-08-07 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3018632 - the show javascript files inline bug
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (+[WebDataSource _repTypes]): support application/x-javascript
- * WebView.subproj/WebViewPrivate.m:
- (+[WebView _viewTypes]): support application/x-javascript
-
-2002-08-07 John Sullivan <sullivan@apple.com>
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_superviewOfClass:]): Changed name from
- _web_superviewWithName: and made it take a Class object
- instead of a string.
-
- * Plugins.subproj/WebNullPluginView.m:
- (-[WebNullPluginView drawRect:]):
- * Plugins.subproj/WebPluginView.m:
- (-[WebPluginView start]):
- (-[WebPluginView layout]):
- Updated callers of _web_superviewWithName:
-
- * WebKit.pbproj/project.pbxproj: Changed WebNSViewExtras.h from
- Public to Private
-
-2002-08-06 Darin Adler <darin@apple.com>
-
- Fix assert I saw while fixing bug 2965321.
-
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
- Create a suitable resource identifier from the failing URL in the WebError for cases
- where we fail before we are able to construct a resource handle.
-
-2002-08-06 Darin Adler <darin@apple.com>
-
- - fixed 2970516 -- Activate Events don't appear to be coming in to the
- Java Applet.plugin correctly.
-
- * Plugins.subproj/WebPluginView.m: (-[WebPluginView sendActivateEvent:]):
- Use activeFlag to set modifiers, not activMask, which is an event mask.
-
-2002-08-06 John Sullivan <sullivan@apple.com>
-
- Add mechanism to store userStyleSheet preferences in WebKit in
- preparation for Dave wiring up the implementation.
-
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences userStyleSheetEnabled]),
- (-[WebPreferences setUserStyleSheetEnabled:]),
- (-[WebPreferences userStyleSheetLocation]),
- (-[WebPreferences setUserStyleSheetLocation:]):
- New methods, read and write UserDefaults values.
-
- (+[WebPreferences load]): Set initial values for
- userStyleSheetEnabled and userStyleSheetLocation
-
-2002-08-06 Maciej Stachowiak <mjs@apple.com>
-
- Removed some APPLE_CHANGES no longer needed after the part change.
-
- * WebCoreSupport.subproj/WebBridge.m: Remove setOpenedByScript: and
- openedByScript methods now that they are not needed.
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m: Remove setOpenedByScript: and
- openedByScript methods now that they are not needed.
-
-2002-08-06 Darin Adler <darin@apple.com>
-
- - fixed 3017761 -- dataSource != nil assertion navigating at yahoo.com
-
- * WebView.subproj/WebLocationChangeHandler.h:
- * WebView.subproj/WebLocationChangeHandler.m:
- Change client redirect calls to pass the frame, not the data source.
- At the time a client redirect is requested, it's not even clear yet
- which data source will be involved. We may want to make some of the
- other calls pass frames, also, aside from the "start", "committed", "done",
- calls, which must specify the data source.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Pass frame, not data source.
- (-[WebBridge reportClientRedirectCancelled]): Pass frame, not data source.
-
-2002-08-06 Darin Adler <darin@apple.com>
-
- * lots of files: Changed url to URL in many places and renamed URL-related methods.
-
-2002-08-06 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge dataSourceChanged]): Call setParent:.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate init]): Initialize the text size multiplier to 1.
- * WebView.subproj/WebDataSource.h: Removed [redirectedURL], deprecated [inputURL], added [URL].
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource URL]): Added. Returns current URL, without requiring separate logic for the
- redirected and not-yet-redirected cases.
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _loadIcon]): Use [WebDataSource URL].
- * WebView.subproj/WebDefaultContextMenuHandler.m:
- (-[WebDefaultContextMenuHandler openFrameInNewWindow:]): Use [WebDataSource URL].
-
-2002-08-06 John Sullivan <sullivan@apple.com>
-
- WebKit part of fix for 3017539 -- Replace Serif and Sans-serif
- font preferences with Default preference; let fixed width font
- size be independent.
-
-
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences load]): Add default value for fixed width size
- (-[WebPreferences fixedFontSize]),
- (-[WebPreferences setFixedFontSize:]): New methods.
-
-2002-08-06 Darin Adler <darin@apple.com>
-
- - fixed 3017536 -- Change default font to Lucida Grande 14 pt.
-
- * WebView.subproj/WebPreferences.m: (+[WebPreferences load]):
- Changed default font and sans serif font family names to Lucida Grande.
- Changed default font size to 14 point.
-
-2002-08-05 Maciej Stachowiak <mjs@apple.com>
-
- fixed 2974993 - window.open does not return the right window object
- fixed 3017140 - WebKit creates a new KHTMLPart per page; should
- reuse it like KHTML does
-
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation setDataSource:]): Don't swap the part at
- this point. Now it gets reused.
-
-2002-08-05 Maciej Stachowiak <mjs@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Fix tyops that broke Development
- build.
-
-2002-08-05 Darin Adler <darin@apple.com>
-
- * .cvsignore: Ignore WebCore-combined.exp.
-
-2002-08-05 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 3007072 - need to be able to build fat
-
- * WebKit.pbproj/project.pbxproj: Fixed DeploymentFat build.
- * Makefile.am: Build WebCore-combined.exp for Development and
- Mixed build.
- * WebKit-tests.exp: Added.
- * WebKit.exp: Remove test-only function.
-
-2002-08-05 Darin Adler <darin@apple.com>
-
- Do the wiring for the "text size multiplier" feature. The rest of the work will probably be done
- at the WebCore level.
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge setFrame:]): Set the text size multiplier.
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController setTextSizeMultiplier:]): Added. Calls _textSizeMultiplierChanged on the main frame.
- (-[WebController textSizeMultiplier]): Added.
- * WebView.subproj/WebControllerPrivate.h: Added textSizeMultiplier instance variable.
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _textSizeMultiplierChanged]): Added. Calls setTextSizeMultiplier: on the bridge,
- and _textSizeMultiplierChanged on all the child frames.
-
-2002-08-05 Chris Blumenberg <cblu@apple.com>
-
- Renamed icon loader delegate method to include the icon loader.
-
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]):
- * WebView.subproj/WebDataSourcePrivate.m:
-
-2002-08-05 Richard Williamson <rjw@apple.com>
-
- Added additional check to find appropriate fonts with available
- weight, rather than always using a weight of 5.
-
- Regarding "kCGErrorFailure : can't find name id 4 for font id 8395" errors:
- CG appears to be lying to us about some fonts, Verdana in particular.
- It claims to have an available Verdana font w/ the correct traits, but spits errors
- when we request that font. Further, the Font Panel behaves oddly when you request
- Verdana. The panel displays the font but if you select the font it doesn't
- 'stick'. A mystery.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory fontWithFamily:traits:size:]):
-
-2002-08-05 Darin Adler <darin@apple.com>
-
- - fixed 2986567 -- suppress return characters from title in title bar, status bar, menu items
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge setTitle:]): Call _web_stringByCollapsingNonPrintingCharacters.
-
-2002-08-05 Richard Williamson <rjw@apple.com>
-
- Added exported symbols file.
-
- * WebKit.exp: Added.
- * WebKit.pbproj/project.pbxproj:
-
-2002-08-05 Darin Adler <darin@apple.com>
-
- - fixed 3014122 -- spinner never stops spinning when iframe has URL with bad path
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Initialize the
- state in WebFramePrivate init instead.
- * WebView.subproj/WebFramePrivate.h: Remove WebFrameStateUninitialized.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate init]): Set initial state to WebFrameStateComplete.
- (-[WebFrame _transitionToLayoutAcceptable]): Remove WebFrameStateUninitialized case.
- (-[WebFrame _transitionToCommitted]): Remove WebFrameStateUninitialized case.
- (-[WebFrame _isLoadComplete]): Remove WebFrameStateUninitialized case.
-
- * WebView.subproj/WebDataSource.h: Tweak.
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource stopLoading]): Move downloadHandler logic from here into _stopLoading.
- (-[WebDataSource isLoading]): Rewrite for simplicity.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _stopLoading]): Move downloadHandler logic here from stopLoading.
- Also make this work even if handles are removed from the list during the stop process.
- (-[WebDataSource _recursiveStopLoading]): Simplify a lot by using WebFrame's stopLoading.
- (-[WebDataSource _setTitle:]): Use the committed boolean rather than the state to check
- if the title change should be sent to the location change handler.
-
-2002-08-05 Maciej Stachowiak <mjs@apple.com>
-
- * Misc.subproj/WebKitDebug.h: Put WEBKIT_ASSERT_NOT_REACHED()
- inside the appropriate #ifdef, and remove the various _log macros,
- which are onsolete in WebKit.
-
-2002-08-05 Maciej Stachowiak <mjs@apple.com>
-
- Some changes related to re-merging the KHTMLPart end() method:
-
- * Misc.subproj/WebKitDebug.h: Added WEBKIT_ASSERT_NOT_REACHED().
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToLayoutAcceptable]): Replace NSException with
- ASSERT_NOT_REACHED (this is an internal consistency check, not an
- argument check on a public API, so an assert is more appropriate than
- an exception).
- (-[WebFrame _transitionToCommitted]): Likewise.
- (-[WebFrame _isLoadComplete]): Likewise; also, remove bridge call
- to scrollToBaseAnchor:, since that will now happen automatically
- when calling end.
-
-2002-08-02 Darin Adler <darin@apple.com>
-
- WebKit support for feature where client redirects are treated as if the
- page was continuing to load.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge reportClientRedirectTo:delay:fireDate:]): Added. Passes the client
- redirect along to the location change handler.
- (-[WebBridge reportClientRedirectCancelled]): Passes client redirect cancel along
- to the location change handler.
- (-[WebBridge dataSourceChanged]): Remove hack related to dummy data source.
- (-[WebBridge dataSource]): Remove hack related to dummy data source.
-
- * WebView.subproj/WebLocationChangeHandler.h: Added client redirect methods.
- Added class for base implementation of protocol. Updated stale comment.
- * WebView.subproj/WebLocationChangeHandler.m: Added. Provides base implementation
- of the WebLocationChangeHandler protocol so that clients don't need to implement
- all the methods if they are only interested in some of them.
- * WebKit.pbproj/project.pbxproj: Added WebLocationChangeHandler.m.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _goToItem:withFrameLoadType:]): Call scrollToAnchor under its new name.
-
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebIconLoader.m:
- * WebView.subproj/WebControllerPolicyHandler.m:
- * WebView.subproj/WebControllerPolicyHandlerPrivate.h:
- Replaced __MyCompanyName__ with the actual name of our company.
-
-2002-08-02 John Sullivan <sullivan@apple.com>
-
- - fixed 3015705 -- Command-up-arrow and -down-arrow should go to
- beginning and end of web page
-
- * WebView.subproj/WebView.m:
- (-[WebView keyDown:]):
- Added checks for command key.
-
-2002-08-01 Richard Williamson <rjw@apple.com>
-
- Effort towards 3014555 (going back to frame), but not fixed.
- Need to think more about appropriate solution and compromises.
-
- * History.subproj/WebBackForwardList.h:
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList backEntryAtIndex:]):
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem initWithURL:title:]):
- (-[WebHistoryItem initWithURL:title:image:]):
- (-[WebHistoryItem initWithURL:target:parent:title:image:]):
- (-[WebHistoryItem dealloc]):
- (-[WebHistoryItem parent]):
- (-[WebHistoryItem setTitle:]):
- (-[WebHistoryItem setTarget:]):
- (-[WebHistoryItem setParent:]):
- (-[WebHistoryItem setDisplayTitle:]):
- * WebCoreSupport.subproj/WebBridge.m:
- * WebView.subproj/WebController.m:
- (-[WebController _goToItem:withFrameLoadType:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
- (-[WebFrame _isLoadComplete]):
- (-[WebFrame _scrollToTop]):
-
-2002-08-01 Chris Blumenberg <cblu@apple.com>
-
- Only send command key events if the plug-in is in the responder chain.
-
- * Plugins.subproj/WebPluginView.m:
- (-[WebPluginView isInResponderChain]):
- (-[WebPluginView performKeyEquivalent:]):
- (-[WebPluginView setWindow]): added some more logging
-
-2002-08-01 Chris Blumenberg <cblu@apple.com>
-
- Only send command keyDown once by ignoring the keyDown that comes after performKeyEquivalent.
-
- * Plugins.subproj/WebPluginView.m:
- (-[WebPluginView keyDown:]):
-
-2002-08-01 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 2970530 - Command keys are not getting passed in to plugins
-
- * Plugins.subproj/WebPluginView.m:
- (-[WebPluginView performKeyEquivalent:]):
-
-2002-08-01 Richard Williamson <rjw@apple.com>
-
- More back/forward work. Support for restoring scroll position.
- We still have a big remaining issue. We don't record the entire
- frame tree in back/forward items. This means going back or forward
- to a frame will looose the context of the containing frameset,
- see 3014555.
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList currentEntry]):
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem anchor]):
- (-[WebHistoryItem setAnchor:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge reportError:]):
- * WebView.subproj/WebController.m:
- (-[WebController _goToItem:withFrameLoadType:]):
- (-[WebController goBack]):
- (-[WebController goForward]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame setProvisionalDataSource:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
- (-[WebFrame _isLoadComplete]):
- (-[WebFrame _goToItem:withFrameLoadType:]):
- (-[WebFrame _restoreScrollPosition]):
- (-[WebFrame _scrollToTop]):
-
-2002-08-01 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- 2938010 - PLUGINS: right-click support
- 2938011 - PLUGINS: extended key events support
- 2970523 - Arrow key events not correctly passed to applets
-
- * Plugins.subproj/WebPluginView.m:
- (-[WebPluginView modifiersForEvent:]):
- (-[WebPluginView getCarbonEvent:withEvent:]):
- (-[WebPluginView mouseDown:]):
- (-[WebPluginView keyUp:]):
- (-[WebPluginView keyDown:]):
- (-[WebPluginView menuForEvent:]):
-
-=== Alexander-15 ===
-
-2002-08-01 Don Melton <gramps@apple.com>
-
- Fixed deployment build compile problem.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
-
-2002-08-01 Maciej Stachowiak <mjs@apple.com>
-
- Remove stuff formerly useful for "View Reconstructed Source"
- feature but now useless.
-
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource documentTextFromDOM]): Removed.
-
-2002-07-31 Maciej Stachowiak <mjs@apple.com>
-
- Changed things around so that WebFrame, not WebDataSource, owns
- WebBridge. This allows us to remove the dummy data source.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame
- initWithName:webView:provisionalDataSource:controller:]): Remove
- all dummy data source-related crud, but call _changeBridge to
- create the initial bridge.
- (-[WebFrame setProvisionalDataSource:]): Remove dummy data
- source-related epicycles.
- * WebView.subproj/WebFramePrivate.h: Add bridge member to private class.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate setDataSource:]): Don't remove old data source from frame,
- this is no longer needed and may even be harmful.
- (-[WebFrame _transitionToCommitted]): Remove much now-unneeded code.
- (-[WebFrame _isLoadComplete]): Get location change handler from controller.
- Don't call end on the bridge if the document is not html.
- (-[WebFrame _changeBridge]): Free the old bridge and make a new one.
- (-[WebFrame _bridge]): Get it directly, not from the data source.
-
- * WebView.subproj/WebDataSourcePrivate.h: Remove everything related to the
- `dummy' concept.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setFinalURL:]): Reorder code a bit.
- (-[WebDataSource _bridge]): Get bridge from frame.
- (-[WebDataSource _commitIfReady]): No more need to set the bridge's frame.
- (-[WebDataSource _makeRepresentation]): Set data source on the rep.
- (-[WebDataSource _startLoading:]): Get location change handler from controller.
- (-[WebDataSource _setTitle:]): Likewise.
- (-[WebDataSource receivedPageIcon:]): Likewise.
- (-[WebDataSource _loadIcon]): Likewise.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient
- WebResourceHandle:dataDidBecomeAvailable:]): Get location change
- handler from the controller.
-
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _makeDocumentViewForDataSource:]): Change *and* commit
- the data source. This could probably be collapsed down to one
- method now.
-
- * WebView.subproj/WebDocument.h: Added setDataSource: method to
- the WebDocumentRepresenation protocol. For now it is only useful
- for the HTML representation, but could potentially be useful for
- other representation classes. It should also allow the data source
- to be removed as a parameter from other methods, but I have not
- done that yet. It may be even better still to pass the data source
- as a paremeter to the init method.
-
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation init]): Remove allocation of bridge.
- (-[WebHTMLRepresentation dealloc]): Remove release of bridge.
- (-[WebHTMLRepresentation setDataSource:]): Store unretained reference
- to the data source's frame's bridge.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _bridge]): Fetch the bridge from the frame, not the
- data source.
- * WebView.subproj/WebImageRepresentation.m:
- (-[WebImageRepresentation setDataSource:]): Added empty
- implementation.
- * WebView.subproj/WebTextRepresentation.m:
- (-[WebTextRepresentation setDataSource:]): Added empty
- implementation.
- * Plugins.subproj/WebPluginStream.m:
- (-[WebPluginStream setDataSource:]): Added empty implementation.
-
-2002-07-30 Maciej Stachowiak <mjs@apple.com>
-
- Fixes of various bugs that prevented Alexander from running the
- Mozilla page load test.
-
- - fixed 3008682 - Alexander cannot run Mozilla-PLT
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge dataSourceChanged]): Don't call setURL: to set a URL
- that we got from a redirect; just pass it directly to
- openURL:. The inputURL is irrelevant.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setFinalURL:]): Don't call setURL: on the
- bridge; instead, assert that the data source is committed, because
- it would be a mistake to get a redirect after having received
- data.
-
-2002-07-30 Richard Williamson <rjw@apple.com>
-
- Remove annoying log, it's really annoying. Added FIX ME
- comment instead.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
-
-2002-07-30 John Sullivan <sullivan@apple.com>
-
- - fixed 3012083 "Looked for URLs on the pasteboard, but found
- none" spam dragging nil-target bookmark
-
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_bestURLForDraggingInfo:]):
- This method was getting data for types on the pasteboard without
- first checking whether the types were on the pasteboard, a no-no.
- Restructured this method and tweaked it here and there also.
-
- (-[NSView _web_dragOperationForDraggingInfo:]): moved a fast
- test in front of a slow test
-
-2002-07-29 Richard Williamson <rjw@apple.com>
-
- Removed setDirectsAllLinksToSystemBrowser: method, not needed
- and antiquated by the policy APIs.
-
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
-
-2002-07-29 Richard Williamson <rjw@apple.com>
-
- Changes to support the migration of back/forward list to WebKit.
- Back/forward in frames now works (2946164), still not done w/
- restoring scroll positions (2927633).
-
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (+[WebHistoryItem entryWithURL:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController initWithView:provisionalDataSource:]):
- (-[WebController setUseBackForwardList:]):
- (-[WebController useBackForwardList]):
- (-[WebController goBack]):
- (-[WebController goForward]):
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame setProvisionalDataSource:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]):
- (-[WebFrame _setProvisionalDataSource:]):
- (-[WebFrame _goToURL:withFrameLoadType:]):
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _goBack]):
- (-[WebView _goForward]):
-
-2002-07-29 Richard Williamson <rjw@apple.com>
-
- Fixed 3009074. Added [WebHTMLView jumpToSelection:] and related user interface
- item validation.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView jumpToSelection:]):
- (-[WebHTMLView validateUserInterfaceItem:]):
-
-2002-07-29 Richard Williamson <rjw@apple.com>
-
- Fixed 3009085. Implemented takeFindStringFromSelection: on WebHTMLView and WebTextView.
- Also added user interface item validation for that method.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView hasSelection]):
- (-[WebHTMLView takeFindStringFromSelection:]):
- (-[WebHTMLView validateUserInterfaceItem:]):
- * WebView.subproj/WebTextView.m:
- (-[WebTextView canTakeFindStringFromSelection]):
- (-[WebTextView takeFindStringFromSelection:]):
-
-2002-07-29 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- 2971845 - text view uses default "user font" (Helvetica), not fonts chosen in Alexander preferences
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView initWithFrame:]): add observer
- (-[WebTextView dealloc]): remove observer
- (-[WebTextView setFixedWidthFont]): added, checks defaults
- (-[WebTextView dataSourceUpdated:]): calls setFixedWidthFont
- (-[WebTextView searchFor:direction:caseSensitive:]): no changes
- (-[WebTextView defaultsChanged:]): calls setFixedWidthFont
-
-2002-07-27 Chris Blumenberg <cblu@apple.com>
-
- Implemented click policy, support for option-click
- Implemented dragging of links and images from WebHTMLView
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragShouldBeginFromMouseDown:withExpiration:]): added, moved from WebBrowser
- (-[NSView _web_dragOperationForDraggingInfo:]): don't accept drag if source == destination
- * WebView.subproj/WebControllerPolicyHandler.h:
- * WebView.subproj/WebControllerPolicyHandler.m:
- (-[WebPolicy URL]): needed for click policy
- (+[WebURLPolicy webPolicyWithURLAction:]):
- (+[WebFileURLPolicy webPolicyWithFileAction:]):
- (+[WebContentPolicy webPolicyWithContentAction:andPath:]):
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _downloadURL:toPath:]): added, simply downloads a URL
- * WebView.subproj/WebDefaultContextMenuHandler.m:
- (-[WebDefaultContextMenuHandler downloadURL:]): calls [WebController _downloadURL:toPath:]
- * WebView.subproj/WebDefaultPolicyHandler.m:
- (-[WebDefaultPolicyHandler clickPolicyForElement:button:modifierMask:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDown:]): calls _continueAfterCheckingDragForEvent
- (-[WebHTMLView mouseUp:]): calls _continueAfterClickPolicyForEvent
- (-[WebHTMLView draggingSourceOperationMaskForLocal:]): added
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): added, starts download
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLViewPrivate dealloc]):
- (-[WebHTMLView _elementAtPoint:]):
- (-[WebHTMLView _continueAfterClickPolicyForEvent:]): added, implements click policy
- (-[WebHTMLView _continueAfterCheckingDragForEvent:]): added, checks if mouse event is a drag
-
-2002-07-26 Richard Williamson <rjw@apple.com>
-
- WebframeLoadType enum first value wasn't explicitly set, so 0 was used.
- I assumed 0 was unitialized, and depended on that to not execute some 'transitional'
- back/forward. This problem broke back/forward.
-
- * WebView.subproj/WebFramePrivate.h:
-
-2002-07-26 John Sullivan <sullivan@apple.com>
-
- WebKit part of fix for 3009404 -- Back/Forward menu items should use [ and ],
- but command-arrows should still work too.
-
- * WebView.subproj/WebController.h:
- - added goForward to windowContext protocol. This is temporary, just like goBack
- here is temporary; they can be migrated into the new back-forward-in-WebKit design
- together.
- * WebView.subproj/WebView.m:
- (-[WebView keyDown:]): call _goBack and _goForward for command-arrow keys
-
- * WebView.subproj/WebViewPrivate.h,
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _goForward]): add _goForward, parallel to _existing goBack.
-
-2002-07-26 Chris Blumenberg <cblu@apple.com>
-
- Fixed crash in unknown_text
- Fixed full-window plug-ins. I think darin broken this :)
- Cleaned up WebPluginStream a bit
-
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase init]):
- * Plugins.subproj/WebPluginStream.m:
- (-[WebPluginStream getFunctionPointersFromPluginView:]):
- (-[WebPluginStream initWithURL:pluginPointer:notifyData:attributes:]):
- (-[WebPluginStream startLoad]):
- (-[WebPluginStream stop]):
- (-[WebPluginStream setUpGlobalsWithHandle:]):
- (-[WebPluginStream receivedError:]):
- (-[WebPluginStream receivedData:withDataSource:]):
- (-[WebPluginStream receivedError:withDataSource:]):
- (-[WebPluginStream WebResourceHandle:dataDidBecomeAvailable:]):
- (-[WebPluginStream WebResourceHandleDidCancelLoading:]):
- (-[WebPluginStream WebResourceHandle:didFailLoadingWithResult:]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _mainHandle]): added, WebPluginStream needs this
-
-2002-07-25 Richard Williamson <rjw@apple.com>
-
- More incremental changes for back/forward migration.
-
- * History.subproj/WebBackForwardList.h:
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList init]):
- (-[WebBackForwardList dealloc]):
- (-[WebBackForwardList addEntry:]):
- (-[WebBackForwardList goBack]):
- (-[WebBackForwardList goBackToIndex:]):
- (-[WebBackForwardList backEntry]):
- (-[WebBackForwardList currentEntry]):
- (-[WebBackForwardList forwardEntry]):
- (-[WebBackForwardList goForward]):
- (-[WebBackForwardList goForwardToIndex:]):
- (-[WebBackForwardList canGoBack]):
- (-[WebBackForwardList canGoForward]):
- (-[WebBackForwardList description]):
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem initWithURL:title:]):
- (-[WebHistoryItem initWithURL:title:image:]):
- (-[WebHistoryItem initWithURL:target:title:image:]):
- (-[WebHistoryItem dealloc]):
- (-[WebHistoryItem target]):
- (-[WebHistoryItem setTarget:]):
- (-[WebHistoryItem setLastVisitedDate:]):
- (-[WebHistoryItem scrollPoint]):
- (-[WebHistoryItem setScrollPoint:]):
- * History.subproj/WebHistoryList.m:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate setLoadType:]):
- (-[WebFrame _setLoadType:]):
- (-[WebFrame _loadType]):
- (-[WebFrame _transitionToCommitted]):
-
-2002-07-25 Chris Blumenberg <cblu@apple.com>
-
- Made some WebPolicy API's private
- Added support for download link/image to disk
-
- * Misc.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler receivedData:]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebControllerPolicyHandler.h:
- * WebView.subproj/WebControllerPolicyHandler.m:
- (-[WebPolicyPrivate dealloc]):
- (-[WebPolicy _setPolicyAction:]):
- (-[WebPolicy policyAction]):
- (-[WebPolicy path]):
- (-[WebPolicy _setPath:]):
- (-[WebPolicy dealloc]):
- (+[WebURLPolicy webPolicyWithURLAction:]):
- (+[WebFileURLPolicy webPolicyWithFileAction:]):
- (+[WebContentPolicy webPolicyWithContentAction:andPath:]):
- (+[WebClickPolicy webPolicyWithClickAction:andPath:]):
- * WebView.subproj/WebControllerPolicyHandlerPrivate.h: Added.
- * WebView.subproj/WebDefaultContextMenuHandler.m:
- (-[WebDefaultContextMenuHandler downloadURL:]):
- (-[WebDefaultContextMenuHandler downloadLinkToDisk:]):
- (-[WebDefaultContextMenuHandler openImageInNewWindow:]):
- (-[WebDefaultContextMenuHandler downloadImageToDisk:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient WebResourceHandle:dataDidBecomeAvailable:]):
-
-2002-07-25 Chris Blumenberg <cblu@apple.com>
-
- Fixed crasher caused by not retaining the content policy.
-
- * WebView.subproj/WebControllerPolicyHandler.h:
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient WebResourceHandle:dataDidBecomeAvailable:]):
-
-2002-07-25 Chris Blumenberg <cblu@apple.com>
-
- Made policy APIs return a WebPolicy object.
- Added click policy.
-
- * Misc.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler receivedData:]):
- (-[WebDownloadHandler finishedLoading]):
- (-[WebDownloadHandler cancel]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (+[WebController defaultURLPolicyForURL:]):
- * WebView.subproj/WebControllerPolicyHandler.h:
- * WebView.subproj/WebControllerPolicyHandler.m: Added.
- (-[WebPolicy initWithPolicyAction:]):
- (-[WebPolicy policyAction]):
- (+[WebURLPolicy webPolicyWithURLAction:]):
- (+[WebFileURLPolicy webPolicyWithFileAction:]):
- (+[WebContentPolicy webPolicyWithContentAction:andPath:]):
- (-[WebContentPolicy initWithContentPolicyAction:andPath:]):
- (-[WebContentPolicy dealloc]):
- (-[WebContentPolicy path]):
- (-[WebClickPolicy initWithClickPolicyAction:andPath:]):
- (+[WebClickPolicy webPolicyWithClickAction:andPath:]):
- (-[WebClickPolicy dealloc]):
- (-[WebClickPolicy path]):
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource contentPolicy]):
- (-[WebDataSource fileType]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _setContentPolicy:]):
- (-[WebDataSource _commitIfReady]):
- (-[WebDataSource _isReadyForData]):
- * WebView.subproj/WebDefaultPolicyHandler.m:
- (-[WebDefaultPolicyHandler URLPolicyForURL:]):
- (-[WebDefaultPolicyHandler fileURLPolicyForMIMEType:dataSource:isDirectory:]):
- (-[WebDefaultPolicyHandler unableToImplementFileURLPolicy:error:forDataSource:]):
- (-[WebDefaultPolicyHandler unableToImplementURLPolicy:error:forURL:]):
- (-[WebDefaultPolicyHandler pluginNotFoundForMIMEType:pluginPageURL:]):
- (-[WebDefaultPolicyHandler clickPolicyForElement:button:modifierMask:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webView:provisionalDataSource:controller:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _shouldShowDataSource:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedProgressWithHandle:complete:]):
- (-[WebMainResourceClient receivedError:forHandle:]):
- (-[WebMainResourceClient WebResourceHandleDidFinishLoading:data:]):
- (-[WebMainResourceClient WebResourceHandle:dataDidBecomeAvailable:]):
-
-2002-07-25 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Add DeploymentFat build style.
-
-2002-07-25 Darin Adler <darin@apple.com>
-
- WebKit part of fix for 3006054 -- assert error failingURL != nil
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge reportError:]): New. Passes the error to the controller associated with
- the dataSource.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]): Call absoluteString.
- (-[WebSubresourceClient WebResourceHandleDidCancelLoading:]): Call absoluteString.
- * WebView.subproj/WebController.m:
- (-[WebController haveContentPolicy:andPath:forDataSource:]): Call absoluteString.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
- Don't call absoluteString.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _shouldShowDataSource:]): Call absoluteString.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient WebResourceHandleDidCancelLoading:]): Call absoluteString.
-
-2002-07-25 Chris Blumenberg <cblu@apple.com>
-
- Remove reloadImage until its implemented.
-
- * WebView.subproj/WebDefaultContextMenuHandler.m:
- (-[WebDefaultContextMenuHandler contextMenuItemsForElement:defaultMenuItems:]):
-
-2002-07-25 Chris Blumenberg <cblu@apple.com>
-
- Renamed elementInfoAtPoint to elementAtPoint
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDefaultContextMenuHandler.h:
- * WebView.subproj/WebDefaultContextMenuHandler.m:
- (+[WebDefaultContextMenuHandler addMenuItemWithTitle:action:target:toArray:]): renamed
- (-[WebDefaultContextMenuHandler contextMenuItemsForElement:defaultMenuItems:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView menuForEvent:]):
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _elementAtPoint:]):
-
-2002-07-24 Chris Blumenberg <cblu@apple.com>
-
- tiny change
-
- * WebView.subproj/WebDefaultContextMenuHandler.m:
-
-2002-07-24 Chris Blumenberg <cblu@apple.com>
-
- Added implmentations for a few context menu items.
-
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebDefaultContextMenuHandler.h:
- * WebView.subproj/WebDefaultContextMenuHandler.m:
- (-[WebDefaultContextMenuHandler dealloc]):
- (-[WebDefaultContextMenuHandler contextMenuItemsForElement:defaultMenuItems:]):
- (-[WebDefaultContextMenuHandler validateUserInterfaceItem:]):
- (-[WebDefaultContextMenuHandler openNewWindowWithURL:]):
- (-[WebDefaultContextMenuHandler openLinkInNewWindow:]):
- (-[WebDefaultContextMenuHandler copyLinkToClipboard:]):
- (-[WebDefaultContextMenuHandler openImageInNewWindow:]):
- (-[WebDefaultContextMenuHandler copyImageToClipboard:]):
- (-[WebDefaultContextMenuHandler reloadImage:]):
- (-[WebDefaultContextMenuHandler openFrameInNewWindow:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView menuForEvent:]):
-
-2002-07-24 Richard Williamson <rjw@apple.com>
-
- Removed vestigal locationChangeHandler ivar.
-
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _loadIcon]):
-
-2002-07-24 Chris Blumenberg <cblu@apple.com>
-
- Call [self _locationChangeHandler] instead of _private-locationChangeHandler
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource receivedPageIcon:]):
-
-2002-07-24 Richard Williamson <rjw@apple.com>
-
- Implemented find for text views.
-
- * WebView.subproj/WebTextView.m:
- (-[NSString findString:selectedRange:options:wrap:]):
- (-[WebTextView searchFor:direction:caseSensitive:]):
-
-2002-07-24 Chris Blumenberg <cblu@apple.com>
-
- Implemented initial contextual menus. None activated yet.
-
- * WebView.subproj/WebDefaultContextMenuHandler.h:
- * WebView.subproj/WebDefaultContextMenuHandler.m:
- (-[WebDefaultContextMenuHandler dealloc]): added
- (-[WebDefaultContextMenuHandler addMenuItemWithTitle:action:toArray:]): added
- (-[WebDefaultContextMenuHandler contextMenuItemsForElementInfo:defaultMenuItems:]): create menu items
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView menuForEvent:]):
-
-2002-07-24 Chris Blumenberg <cblu@apple.com>
-
- More renaming for WebDefaultPolicyHandler.
-
- * WebView.subproj/WebController.m:
- (-[WebController policyHandler]):
- * WebView.subproj/WebDefaultPolicyHandler.h:
- * WebView.subproj/WebDefaultPolicyHandler.m:
-
-2002-07-24 Chris Blumenberg <cblu@apple.com>
-
- Renamed WebDefaultControllerPolicyHandler to WebDefaultPolicyHandler.
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDefaultControllerPolicyHandler.h: Removed.
- * WebView.subproj/WebDefaultControllerPolicyHandler.m: Removed.
- * WebView.subproj/WebDefaultPolicyHandler.h: Added.
- * WebView.subproj/WebDefaultPolicyHandler.m: Added.
- (-[WebDefaultControllerPolicyHandler initWithWebController:]):
- (-[WebDefaultControllerPolicyHandler URLPolicyForURL:]):
- (-[WebDefaultControllerPolicyHandler fileURLPolicyForMIMEType:dataSource:isDirectory:]):
- (-[WebDefaultControllerPolicyHandler unableToImplementFileURLPolicy:forDataSource:]):
- (-[WebDefaultControllerPolicyHandler requestContentPolicyForMIMEType:dataSource:]):
- (-[WebDefaultControllerPolicyHandler unableToImplementURLPolicyForURL:error:]):
- (-[WebDefaultControllerPolicyHandler unableToImplementContentPolicy:forDataSource:]):
- (-[WebDefaultControllerPolicyHandler pluginNotFoundForMIMEType:pluginPageURL:]):
-
-2002-07-24 Chris Blumenberg <cblu@apple.com>
-
- More plumbing for contextual menu support.
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController setContextMenuHandler:]): added
- (-[WebController contextMenuHandler]): added
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate init]): alloc WebDefaultContextMenuHandler
- (-[WebControllerPrivate dealloc]): dealloc WebDefaultContextMenuHandler
- (-[WebController _defaultContextMenuHandler]):
- * WebView.subproj/WebDefaultContextMenuHandler.h: Added.
- * WebView.subproj/WebDefaultContextMenuHandler.m: Added.
- (-[WebDefaultContextMenuHandler contextMenuItemsForElementInfo:defaultMenuItems:]): new
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView menuForEvent:]): call contextMenuHandlers
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _setController:]): added comment
- (-[WebHTMLView _controller]): added
-
-2002-07-24 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer xHeight]): Added. Calls [NSFont xHeight].
-
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences load]):
- (-[WebPreferences defaultFontSize]):
- (-[WebPreferences setDefaultFontSize:]):
- Renamed minimumFont to defaultFont, and changed it from 11 to 16.
- Also changed default monospaced font to Courier instead of Monaco.
-
-2002-07-24 Richard Williamson <rjw@apple.com>
-
- Support for find in HTML, find in text view coming soon.
-
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebHTMLView.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView searchFor:direction:caseSensitive:]):
- * WebView.subproj/WebTextView.h:
- * WebView.subproj/WebTextView.m:
- (-[WebTextView searchFor:direction:caseSensitive:]):
-
-2002-07-23 Chris Blumenberg <cblu@apple.com>
-
- More plumbing for contextual menu support.
-
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView menuForEvent:]):
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _elementInfoAtPoint:]): added
-
-2002-07-23 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Fix file reference types to be more consistent.
-
-2002-07-23 Chris Blumenberg <cblu@apple.com>
-
- Initial plumbing for contextual menu support.
-
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge elementInfoForMouseEvent:]): added
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView menuForEvent:]): added
-
-2002-07-23 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Fix paths for newly added files.
-
-2002-07-23 Richard Williamson <rjw@apple.com>
-
- Cleaned up LocationChangeHandler. We now have one per controller.
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController policyHandler]):
- (-[WebController setLocationChangeHandler:]):
- (-[WebController locationChangeHandler]):
- * WebView.subproj/WebControllerPolicyHandler.h:
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
-
- (-[WebDataSource _setIsDummy:)
- (-[WebDataSource _isDummy]):
- Hack on hack. MJS will remove when the dummy data source hack is removed.
-
- (-[WebDataSource _locationChangeHandler]):
- (-[WebDataSource _removeFromFrame]):
- (-[WebFrame initWithName:webView:provisionalDataSource:controller:]):
- (-[WebFrame setProvisionalDataSource:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate dealloc]):
-
- Added default policy handler. This is used if no policy handler is
- set on the controller.
-
- * WebView.subproj/WebDefaultControllerPolicyHandler.h: Added.
- * WebView.subproj/WebDefaultControllerPolicyHandler.m: Added.
- (-[WebDefaultControllerPolicyHandler initWithWebController:]):
- (-[WebDefaultControllerPolicyHandler URLPolicyForURL:]):
- (-[WebDefaultControllerPolicyHandler fileURLPolicyForMIMEType:dataSource:isDirectory:]):
- (-[WebDefaultControllerPolicyHandler unableToImplementFileURLPolicy:forDataSource:]):
- (-[WebDefaultControllerPolicyHandler requestContentPolicyForMIMEType:dataSource:]):
- (-[WebDefaultControllerPolicyHandler unableToImplementURLPolicyForURL:error:]):
- (-[WebDefaultControllerPolicyHandler unableToImplementContentPolicy:forDataSource:]):
- (-[WebDefaultControllerPolicyHandler pluginNotFoundForMIMEType:pluginPageURL:]):
- * WebView.subproj/WebFrame.m:
-
-2002-07-23 Darin Adler <darin@apple.com>
-
- * Makefile.am: Clean based on all, not all-am, so it happens before subdirs
- if any.
-
-2002-07-23 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawUnderlineForCharacters:stringLength:atPoint:withColor:]):
- Change API to take character array instead of a string.
-
- * WebKit.pbproj/project.pbxproj: Took "subproj" off the names of some groups.
-
-=== Alexander-14 ===
-
-2002-07-22 Richard Williamson <rjw@apple.com>
-
- Moved back/forward list from Alex's document to WebController. First step
- to address a series of back/forward related issues.
-
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController backForwardList]):
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate init]):
- (-[WebControllerPrivate dealloc]):
-
-2002-07-22 Chris Blumenberg <cblu@apple.com>
-
- Strip white space before and after URL string 2998696
-
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_bestURLForDraggingInfo:]):
-
-2002-07-22 Ken Kocienda <kocienda@apple.com>
-
- * WebView.subproj/WebHTMLView.m: import of removed WebFrame bridge header was
- left in, causing a build break.
-
-2002-07-22 Maciej Stachowiak <mjs@apple.com>
-
- Merged WebBridge and WebFrameBridge.
-
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge childFrames]): Return bridges, not frameBridges.
- (-[WebBridge descendantFrameNamed:]): Return bridge, not frameBridge.
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Return a bridge, not a frameBridge.
- (-[WebBridge mainFrame]): Return a bridge, not a frameBridge.
- (-[WebBridge frameNamed:]):Return a bridge, not a frameBridge.
- (-[WebBridge loadURL:attributes:flags:withParent:]): Moved from WebFrameBridge.
- (-[WebBridge loadURL:]): Moved from WebFrameBridge.
- (-[WebBridge postWithURL:data:]): Moved from WebFrameBridge.
- * WebCoreSupport.subproj/WebFrameBridge.h: Removed.
- * WebCoreSupport.subproj/WebFrameBridge.m: Removed.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Don't create
- a WebFrameBridge.
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate dealloc]): No longer dealloc frameBridge, since we don't have one.
- (-[WebFrame _transitionToCommitted]): Pass along the frame's render part, if any.
- (-[WebFrame _frameBridge]): Removed.
- * WebKit.pbproj/project.pbxproj: Removed deleted files.
-
-2002-07-22 Maciej Stachowiak <mjs@apple.com>
-
- Change WebBridge to hold on to a WebFrame instead of a
- WebDataSource. Since we will no longer ever have a bridge for a
- provisional data source, we'll just bind the bridge to a
- frame. Which means we can merge the bridge and the frame bridge
- next.
-
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m: Changed below methods to work
- with direct knowledge of the frame but not the bridge (mostly a
- simplification).
- (-[WebBridge frame]):
- (-[WebBridge parent]):
- (-[WebBridge childFrames]):
- (-[WebBridge descendantFrameNamed:]):
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- (-[WebBridge openNewWindowWithURL:]):
- (-[WebBridge areToolbarsVisible]):
- (-[WebBridge setToolbarsVisible:]):
- (-[WebBridge areScrollbarsVisible]):
- (-[WebBridge setScrollbarsVisible:]):
- (-[WebBridge isStatusBarVisible]):
- (-[WebBridge setStatusBarVisible:]):
- (-[WebBridge setWindowFrame:]):
- (-[WebBridge window]):
- (-[WebBridge setStatusText:]):
- (-[WebBridge mainFrame]):
- (-[WebBridge frameNamed:]):
- (-[WebBridge receivedData:withDataSource:]):
- (-[WebBridge objectLoadedFromCache:size:]):
- (-[WebBridge setFrame:]):
- (-[WebBridge dataSourceChanged]):
- (-[WebBridge dataSource]):
- (-[WebBridge openedByScript]):
- (-[WebBridge setOpenedByScript:]):
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _commitIfReady]): Set bridge's frame and notify
- that the data source changed.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Set
- bridge's frame.
- * WebView.subproj/WebFramePrivate.h, WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _bridge]): Method to get the bridge.
-
-2002-07-21 Maciej Stachowiak <mjs@apple.com>
-
- Removed provisional/committed distinction from WebCore and the
- WebCore SPI. WebCore will never see a provisional data source or
- provisional anything, any more.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge descendantFrameNamed:]): Don't bother with the provisional
- bridge - no such thing.
- (-[WebBridge setDataSource:]): Assert the data source is committed.
- * WebCoreSupport.subproj/WebFrameBridge.m:
- (-[WebFrameBridge bridge]): Return committed bridge always, and remove
- committed bridge method.
-
-2002-07-21 Maciej Stachowiak <mjs@apple.com>
-
- Fix a regression in my recent refactoring that broke JavaScript
- window opening, by doing some trickery to make a frame's initial
- dummy data source committed.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webView:provisionalDataSource:controller:]):
- Create dummy data source as committed, not provisional.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted]): Allow the documentView to be nil
- if there is no webView either; this is temporarily needed to handle
- the special initial dummy data source, which will be going away soon.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _receivedData:]): Add temporary special case to
- avoid sending empty NSData to the representation, to avoid
- triggering WebCore assertions.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge openNewWindowWithURL:]): Get the committed data
- source, not the provisional one.
-
-2002-07-21 Chris Blumenberg <cblu@apple.com>
- Used darin-inspired code factoring to fix 3000801 (alex doesn't accept drag of webloc file) in 3 places where we accept drags.
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_parentWebView]): no changes
- (-[NSView _web_acceptableDragTypes]): added
- (-[NSView _web_bestURLForDraggingInfo:]): added
- (-[NSView _web_dragOperationForDraggingInfo:]): added
- * WebKit.pbproj/project.pbxproj: made WebNSViewExtras.h public
- * WebView.subproj/WebView.m:
- (-[WebView initWithFrame:]): calls _web_acceptableDragTypes
- (-[WebView draggingEntered:]): calls _web_dragOperationForDraggingInfo
- (-[WebView concludeDragOperation:]): calls _web_bestURLForDraggingInfo
-
-2002-07-21 Chris Blumenberg <cblu@apple.com>
-
- - We were loading icons when page loads ended in error. Fixed.
- - Special-case file URLs once instead of twice by moving NSWorkspace
- call out of WebIconLoader
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading]): removed file URL special-case
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _loadIcon]): check for document error, send file
-icon to client if none has been set with the LINK tag
-
-2002-07-21 Maciej Stachowiak <mjs@apple.com>
-
- * Makefile.am: Remove products from symroots on `make clean'.
-
-2002-07-21 Maciej Stachowiak <mjs@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Set directories for the group
- folders, so that creating new files in them will put them in the
- right directory by default.
-
-2002-07-21 Maciej Stachowiak <mjs@apple.com>
-
- More refactoring. Change bridge to get the data source via a
- method instead of straight from the ivar, and in the method,
- assert that the data source is not nil and is not
- provisional. Turns out no one was using it while provisional,
- which is great. This means we can eliminate the provisional
- concept from the bridge interface as the next step.
-
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge dataSource]): New method to get data source - assert
- it is not nil, and committed.
- (-[WebBridge frame]): Get data source from method.
- (-[WebBridge childFrames]): Likewise.
- (-[WebBridge descendantFrameNamed:]): Likewise.
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Likewise.
- (-[WebBridge openNewWindowWithURL:]): Likewise.
- (-[WebBridge areToolbarsVisible]): Likewise.
- (-[WebBridge setToolbarsVisible:]): Likewise.
- (-[WebBridge areScrollbarsVisible]): Likewise.
- (-[WebBridge setScrollbarsVisible:]): Likewise.
- (-[WebBridge isStatusBarVisible]): Likewise.
- (-[WebBridge setStatusBarVisible:]): Likewise.
- (-[WebBridge setWindowFrame:]): Likewise.
- (-[WebBridge window]): Likewise.
- (-[WebBridge setTitle:]): Likewise.
- (-[WebBridge setStatusText:]): Likewise.
- (-[WebBridge mainFrame]): Likewise.
- (-[WebBridge frameNamed:]): Likewise.
- (-[WebBridge receivedData:withDataSource:]): Likewise.
- (-[WebBridge startLoadingResource:withURL:]): Likewise.
- (-[WebBridge objectLoadedFromCache:size:]): Likewise.
- (-[WebBridge setDataSource:]): Likewise.
- (-[WebBridge openedByScript]): Likewise.
- (-[WebBridge setOpenedByScript:]): Likewise.
- (-[WebBridge setIconURL:]): Likewise.
- (-[WebBridge setIconURL:withType:]): Likewise.
- * WebView.subproj/WebDataSourcePrivate.h,
- WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _isCommitted]): New private method to check if a
- data source is committed, for the benefit of WebBridge assertions.
-
-2002-07-20 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Turn stricter warnings back on now that we
- don't use C++ any more.
-
- * Plugins.subproj/WebPluginView.m:
- (-[WebPluginView sendActivateEvent:]): Fix cast that stricter warning didn't like.
- (-[WebPluginView sendUpdateEvent]): Fix cast that stricter warning didn't like.
- (-[WebPluginView frameStateChanged:]): Remove unneeded cast that stricter warning didn't like.
-
-2002-07-20 Darin Adler <darin@apple.com>
-
- - fixed 2999643 -- Leak of NSSet in -[IFStandardPanels _didStartLoadingURL:inController:]
-
- This is another case of the leak I fixed a month ago. I don't know how I managed to
- overlook this other code path with the identical bug.
-
- * Panels.subproj/WebStandardPanels.m:
- (-[WebStandardPanels _didStopLoadingURL:inController:]): Fix a leak caused
- by calling the wrong method. This was calling objectForKey: instead of
- removeObjectForKey:.
-
-2002-07-20 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge areToolbarsVisible]):
- (-[WebBridge isStatusBarVisible]):
- Fix misspelling of visible.
-
-2002-07-20 Maciej Stachowiak <mjs@apple.com>
-
- Changed the code to handle "icon" and "SHORTCUT ICON" links
- separately, and give higher priority to the former.
-
- Also, we don't start loading the icon the moment khtml finds one
- in the document any more, instead we wait until the document is
- done loading, in case there are both "icon" and "SHORTCUT ICON"
- link tags.
-
- - fixed 3003672 - Assertion failure related to iconloader on metafilter
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge setIconURL:]): Forward to the data source.
- (-[WebBridge setIconURL:withType:]): Likewise.
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): Release iconURL.
- (-[WebDataSource _setDefaultIconURLIfUnset]): Renamed from
- _loadPageIconIfNecessary, and changed to only set iconURL rather
- than actually loading.
- (-[WebDataSource _setPrimaryLoadComplete:]): Call _loadIcon
- instead of _loadPageIconIfNecessary, since we defer all loads to
- this point.
- (-[WebDataSource _loadIcon]): Load current iconURL if set.
- (-[WebDataSource _setIconURL:]): Set iconURL if not set already
- (since typed icons are higher priority).
- (-[WebDataSource _setIconURL:withType:]): Set the iconURL.
-
-2002-07-20 Darin Adler <darin@apple.com>
-
- - fixed 2999616 -- Possible leak in +[IFPluginDatabase installedPlugins]
-
- * Plugins.subproj/WebPluginDatabase.m:
- (+[WebPluginDatabase installedPlugins]): Move the code into an init function.
- (pluginLocations): Simplified.
- (-[WebPluginDatabase init]): Added. Cleaned up a bit, and made it release the
- WebPlugin objects -- this was the leak.
- (-[WebPluginDatabase dealloc]): Added.
-
- * Plugins.subproj/WebPluginDatabase.h: Tweaked formatting.
-
- * Plugins.subproj/WebPluginStream.h:
- * Plugins.subproj/WebPluginStream.m:
- (-[WebPluginStream startLoad]):
- (-[WebPluginStream stop]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:dataSource:]):
- (-[WebSubresourceClient WebResourceHandleDidCancelLoading:]):
- (-[WebSubresourceClient WebResourceHandleDidFinishLoading:data:]):
- (-[WebSubresourceClient WebResourceHandle:didFailLoadingWithResult:]):
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource stopLoading]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _setPrimaryLoadComplete:]):
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource _addResourceHandle:]):
- (-[WebDataSource _removeResourceHandle:]):
- Changed code that called it a URLHandle to say resourceHandle.
-
- * WebView.subproj/WebFrame.m: (-[WebFrame dealloc]): Add an autorelease pool here since
- this is called from a timer and AppKit does not use an explicit autorelease pool
- in that case. This makes the "world leak check" work better, and is mildly helpful
- in other cases too. Radar 3003650 is a request for the AppKit team to fix this, but
- this workaround will do for now.
-
-2002-07-19 Darin Adler <darin@apple.com>
-
- - fixed 3001951 -- Massive memory leak after running base or static PLT
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _makeRepresentation]):
- Add a missing release.
-
- Reduced our use of autorelease. This allows the page load test to detect leaks of the
- world much more easily. We may later find we need to use the "retain autorelease" idiom
- in a few more places, but I did a lot of testing and that did not show up.
-
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup _setTopBookmark:]): Use a plain release.
- (-[WebBookmarkGroup _loadBookmarkGroupGuts]): Use a plain release.
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList copyWithZone:]): Use a plain release.
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]): Use a plain release.
- * Plugins.subproj/WebPluginView.m:
- (-[WebPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]): Use a plain release.
- * WebView.subproj/WebController.m:
- (-[WebController createFrameNamed:for:inParent:allowsScrolling:]): Use a plain release.
- (-[WebController setWindowContext:]): Use a plain release.
- (-[WebController setResourceProgressHandler:]): Use a plain release.
- (-[WebController setDownloadProgressHandler:]): Use a plain release.
- (-[WebController setPolicyHandler:]): Use a plain release.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate dealloc]): Use plain release.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): Use plain release.
- (-[WebDataSource _setPrimaryLoadComplete:]): Use plain release.
- (-[WebDataSource _setTitle:]): Use plain release.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Use plain release.
- (-[WebFrame reset]): Invalidate and release the timer.
- * WebView.subproj/WebFramePrivate.h: Keep a reference to the timer.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate dealloc]): Invalidate and release the timer. Use plain release.
- (-[WebFramePrivate setName:]): Use plain release.
- (-[WebFramePrivate setWebView:]): Use plain release.
- (-[WebFramePrivate setDataSource:]): Use plain release.
- (-[WebFramePrivate setProvisionalDataSource:]): Use plain release.
- (-[WebFrame _scheduleLayout:]): Keep a reference to the timer.
- (-[WebFrame _timedLayout:]): Release and nil the timer.
- * WebView.subproj/WebRenderNode.m:
- (-[WebRenderNode initWithName:rect:view:children:]): Use plain release.
- * WebView.subproj/WebView.m:
- (-[WebView concludeDragOperation:]): Use plain release.
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _makeDocumentViewForDataSource:]): Use plain release.
-
- Other changes to make the new page load test feature work.
-
- * Misc.subproj/WebKitStatistics.h:
- * Misc.subproj/WebKitStatistics.m:
- (+[WebKitStatistics HTMLRepresentationCount]):
- Added a stat for WebHTMLRepresentation objects.
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation init]): Bump the count.
- (-[WebHTMLRepresentation dealloc]): Decrement the count.
-
- Renaming.
-
- * Misc.subproj/WebCoreStatistics.h:
- * Misc.subproj/WebKitStatisticsPrivate.h:
- * Misc.subproj/WebCoreStatistics.m:
- (+[WebCoreStatistics emptyCache]):
- (+[WebCoreStatistics setCacheDisabled:]):
- Renamed to include the word cache now that the class does not.
-
- * Plugins.subproj/WebPluginStream.m:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- * WebView.subproj/WebMainResourceClient.m:
- Updated for the WebFoundation renaming.
-
-2002-07-19 Chris Blumenberg <cblu@apple.com>
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _loadPageIconIfNecessary]): use the correct relative string to request favicon.ico
-
-2002-07-19 Chris Blumenberg <cblu@apple.com>
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem image]): call [WebIconLoader defaultIcon]
- * Misc.subproj/WebIconLoader.m:
- (+[WebIconLoader defaultIcon]): move bundle image loading code from [WebHistoryItem image] to here.
-
-2002-07-19 Chris Blumenberg <cblu@apple.com>
-
- Added support favicons.
-
- * Misc.subproj/WebIconLoader.h: Added.
- * Misc.subproj/WebIconLoader.m: Added.
- (-[WebIconLoaderPrivate dealloc]):
- (+[WebIconLoader defaultIcon]):
- (-[WebIconLoader initWithURL:]):
- (-[WebIconLoader dealloc]):
- (-[WebIconLoader setDelegate:]):
- (-[WebIconLoader startLoading]):
- (-[WebIconLoader startLoadingOnlyFromCache]):
- (-[WebIconLoader stopLoading]):
- (-[WebIconLoader WebResourceHandleDidBeginLoading:]):
- (-[WebIconLoader WebResourceHandleDidCancelLoading:]):
- (-[WebIconLoader WebResourceHandleDidFinishLoading:data:]):
- (-[WebIconLoader WebResourceHandle:resourceDataDidBecomeAvailable:]):
- (-[WebIconLoader WebResourceHandle:resourceDidFailLoadingWithResult:]):
- (-[WebIconLoader WebResourceHandle:didRedirectToURL:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadIcon:]): added
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _mainReceivedError:forResourceHandle:partialProgress:fromDataSource:]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _loadPageIconIfNecessary]): added
- (-[WebDataSource _setPrimaryLoadComplete:]): start loading icon
- (-[WebDataSource _stopLoading]): stop icon loader
- (-[WebDataSource receivedPageIcon:]): added
- (-[WebDataSource _loadIcon:]): added
- * WebView.subproj/WebLocationChangeHandler.h:
-
-2002-07-19 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Forgot to export WebKitStatistics.h so it can
- be used by WebBrowser.
-
-2002-07-19 Darin Adler <darin@apple.com>
-
- Added some stats that we can use to sniff out "leak the world" problems.
-
- * Misc.subproj/WebKitStatistics.h: Added.
- * Misc.subproj/WebKitStatistics.m: Added.
- * Misc.subproj/WebKitStatisticsPrivate.h: Added.
-
- * WebKit.pbproj/project.pbxproj: Added new files.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge init]): Bump count.
- (-[WebBridge dealloc]): Decrement count.
- * WebView.subproj/WebController.m:
- (-[WebController initWithView:provisionalDataSource:]): Bump count.
- (-[WebController dealloc]): Decrement count.
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithURL:attributes:flags:): Bump count.
- (-[WebDataSource dealloc]): Decrement count.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webView:provisionalDataSource:controller:]): Bump count.
- (-[WebFrame dealloc]): Decrement count.
- * WebView.subproj/WebView.m:
- (-[WebView initWithFrame:]): Bump count.
- (-[WebView dealloc]): Decrement count.
-
-2002-07-19 Maciej Stachowiak <mjs@apple.com>
-
- More refactoring: Use assertions to make sure a provisional data
- source's bridge is never used - and then fix the places where it
- would have been used. :-)
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource documentTextFromDOM]): Return nil if the document
- is not committed.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _stopLoading]): Don't tell the bridge to stop
- if we're provisional, because we won't have one.
- (-[WebDataSource _setFinalURL:]): Don't try to set the bridge URL
- if we are not committed - it will get set at commit time.
- (-[WebDataSource _removeFromFrame]): Assert that the data soource is
- committed - a provisional data source should never be removed from a frame
- because it should never be in a frame in the first place.
- (-[WebDataSource _bridge]): Assert that the view is committed.
- (-[WebDataSource _commitIfReady]): Do nothing if already committed.
- (-[WebDataSource _receivedData:]): Notice that first byte was read,
- if appropriate, and commit when ready.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient WebResourceHandle:didRedirectToURL:]):
- Simplify code by using [WebDataSource _receivedData:]
-
-2002-07-19 Maciej Stachowiak <mjs@apple.com>
-
- Fix a regression caused by a previous commit that broke frames.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge receivedData:withDataSource:]): Instead setting the data source
- implicitly here, and doing other special first-time init, simply assert that
- we have a data source.
- (-[WebBridge setDataSource:]): Do the extra work when setting the data
- source here instead.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _commitIfReady]): After making the
- representation, set the data source, because we no longer pass the
- first data chunk _before_ transitioning to committed, instead we
- do it right after, so the logic in WebBridge to do it implicitly
- was not going to cut it.
-
-2002-07-18 Maciej Stachowiak <mjs@apple.com>
-
- More refactoring: Simplify a bit more by moving more logic into
- the data source.
-
- * WebView.subproj/WebDataSourcePrivate.h, WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _gotFirstByte]): Removed.
- (-[WebDataSource _setGotFirstByte]): Removed.
- (-[WebDataSource _isReadyForData]): Removed.
- (-[WebDataSource _receivedData:]): Commit if appropriate, and pass data to
- representation and documentView.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient
- WebResourceHandle:resourceDataDidBecomeAvailable:]): Change the
- check back to policy != None, because the first chunk will trigger
- a commit in the policy == Show case, so there is no need to worry
- about it.
-
-2002-07-18 Maciej Stachowiak <mjs@apple.com>
-
- Rename some methods for clarity. These two methods are defined by
- the end state, not the start state (in fact,
- transitionToLayoutAcceptable does most of it's work when it starts
- in the cimmitted state, not provisional).
-
- * WebView.subproj/WebFramePrivate.h, WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToLayoutAcceptable]): Renamed from
- _transitionProvisionalToLayoutAcceptable.
- (-[WebFrame _transitionToCommitted]): Renamed from
- _transitionProvisionalToLayoutAcceptable.
-
- And adjust all the calls to them:
-
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _receivedProgress:forResourceHandle:fromDataSource:complete:]):
- (-[WebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _commitIfReady]):
-
-2002-07-18 Maciej Stachowiak <mjs@apple.com>
-
- Even more exciting refactoring. Change the rules for committing
- the data source and creating the representation so that both
- happen when the first byte has been received _and_ the content
- policy has been set to show. Previously these actions happened at
- different times. Now we maintain the invariant that the data
- source has a representation if and only if it is committed.
-
- * WebView.subproj/WebController.m:
- (-[WebController haveContentPolicy:andPath:forDataSource:]): Simplify
- further by putting more of the work in WebDataSource.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
-
- * WebView.subproj/WebDataSource.h, WebView.subproj/WebDataSource.m: Move
- makeRepresentation method to private file.
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setContentPolicy:]): If the policy is set to show,
- commit if we have already gotten the first byte.
- (-[WebDataSource _commitIfReady]): Create representation and
- commit if we have the first byte and have a policy of show.
- (-[WebDataSource _gotFirstByte]): Method to check if this data source
- has gotten the first byte yet. Commit here if ready.
- (-[WebDataSource _setGotFirstByte]): Method to report that some
- data has been received.
- (-[WebDataSource _makeRepresentation]): Make and set up teh document view too.
- (-[WebDataSource _isReadyForData]): Return TRUE if policy is set (and if the policy
- is Show, if we have also received the first byte.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionProvisionalToCommitted]): Don't call the datasource (it now
- calls us)
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient WebResourceHandle:resourceDataDidBecomeAvailable:]):
-
- * WebView.subproj/WebView.h, WebView.subproj/WebView.m: move
- makeDocumentViewForDataSource...
- * WebView.subproj/WebViewPrivate.h, WebView.subproj/WebViewPrivate.m:
- (-[WebView _makeDocumentViewForDataSource:]): To here.
-
-2002-07-18 Maciej Stachowiak <mjs@apple.com>
-
- Avoid throwing an exception while stopping animations. Image
- renders were getting into the array multiple times, which means
- the code that iterated over the array backwards could throw an
- exception, because callling removeObject: on the array would remove
- all instances of the object.
-
- This probably fixes the following crashers, and a bunch of huge leaks:
-
- Radar 2999853 - Uninitialized memory access in plugins on theonion.com
- Radar 2999892 - Crash disconnecting view from next view chain on theonion.com
- Radar 2999911 - Infinite loop in [WebHTMLView dealloc], resulting in crash
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer scheduleFrame]): Move adding to array of image
- renderers from here...
- (-[WebImageRenderer beginAnimationInRect:fromRect:]): To here.
-
-=== Alexander-13 ===
-
-2002-07-18 Maciej Stachowiak <mjs@apple.com>
-
- Yet still more refactoring in preparation for the KHTMLPart
- change. This is preparing things to change the commit rule to
- require receiving at least one byte of data, and having the
- content policy set to Show.
-
- * WebView.subproj/WebController.m:
- (-[WebController haveContentPolicy:andPath:forDataSource:]): Remove
- more code since makeRepresentation now does most of the work.
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource makeRepresentation]): Tell the WebView (if any) to create
- the documentView now too.
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView makeDocumentViewForDataSource:]): Hook document view up to data
- source.
-
-2002-07-18 Maciej Stachowiak <mjs@apple.com>
-
- Some refactoring in preparation for the KHTMLPart change.
-
- * WebView.subproj/WebDataSourcePrivate.h,
- WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _stopLoading]): Bail early if not loading.
- (-[WebDataSource _commit]): Method to mark when the data source is
- committed (it now knows whether it's committed or
- provisional). This will be useful for adding assertions later on
- about what operations may happen only when committed, and which
- can only happen when provisional.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionProvisionalToCommitted]): Call data
- source's _commit method.
-
-2002-07-17 Richard Williamson <rjw@apple.com>
-
- * WebView.subproj/WebHTMLView.m:
- Removed unnecessary (and incorrect) lockFocus.
-
-2002-07-17 Maciej Stachowiak <mjs@apple.com>
-
- Some refactoring in preparation for the KHTMLPart change.
-
- * WebView.subproj/WebController.m:
- (-[WebController haveContentPolicy:andPath:forDataSource:]): Move
- more of the work of creating and setting the representation and
- document view into WebDataSource and WebView.
-
- * WebView.subproj/WebDataSource.h,
- WebView.subproj/WebDataSource.m:
- (+[(id <WebDocumentRepresentation>) createRepresentationForMIMEType:]): Removed.
- (-[WebDataSource makeRepresentation]): A method to build the right
- kind of representation for the content type.
-
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _representationClass]): Method to get the right
- representation class for the current content type.
- (-[WebDataSource _bridge]): Move here from WebBridge.[mh], so we
- can later add an assertion that the data source is not provisional.
-
- * WebView.subproj/WebHTMLViewPrivate.m: #import WebDataSourcePrivate.h
- * WebView.subproj/WebView.h, WebView.subproj/WebView.m:
- (+[(id <WebDocumentRepresentation>) createDocumentViewForMIMEType:]): Removed.
- (-[WebView makeDocumentViewForMIMEType:]): Method to build the
- right kind of document view for the specified MIME type.
-
-2002-07-16 Darin Adler <darin@apple.com>
-
- * History.subproj/WebBackForwardList.m: Replace MyCompanyName with Apple Computer.
- (-[WebBackForwardList init]): Fix strange [super init] logic to be standard.
- * History.subproj/WebHistoryItem.h: Replace MyCompanyName with Apple Computer.
- * Misc.subproj/WebDownloadHandler.h: Replace MyCompanyName with Apple Computer.
-
-2002-07-16 Darin Adler <darin@apple.com>
-
- - fixed 2997891 -- Alexander confused about base page URL for relative links
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient WebResourceHandle:didRedirectToURL:]):
- Don't tell the bridge the URL changed. The bridge doesn't care about redirects
- for subresources (and if it did, we'd need some way to tell it that this was
- a subresource redirect).
-
- * WebCoreSupport.subproj/WebBridge.m: Formatting tweaks.
- * WebCoreSupport.subproj/WebImageRenderer.m: Formatting tweaks.
- * WebView.subproj/WebView.m: Formatting tweaks.
-
-2002-07-16 Richard Williamson <rjw@apple.com>
-
- Really, stop animation if last frame has zero duration, like IE.
- Was checking adjustedFrameDuration, which is never zero.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer unadjustedFrameDuration]):
- (-[WebImageRenderer frameDuration]):
- (-[WebImageRenderer nextFrame:]):
-
-2002-07-16 Maciej Stachowiak <mjs@apple.com>
-
- WebKit part of fix for:
-
- Radar 2982043 - Link mouse-over status should change in response to modifier keys
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge modifierTrackingEnabled]): Implemented by checking
- bit on WebHTMLView class.
- * WebKit.pbproj/project.pbxproj: Install WebHTMLViewPrivate as a
- Private header.
- * WebView.subproj/WebHTMLViewPrivate.h: Prototype new modifier tracking SPI.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (+[WebHTMLView _setModifierTrackingEnabled:]): Method to inform
- WebHTMLView that modifier tracking is working.
- (+[WebHTMLView _modifierTrackingEnabled]): Obligatory getter.
- (+[WebHTMLView _postFlagsChangedEvent:]): Method to report
- flagsChanged events. Creates corresponding fake mouseMoved event
- and sends it as a notification.
-
-2002-07-16 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebBridge.m:
- Remove childFrameNamed since it's not needed, and every one of these bridge
- methods adds potential confusion.
- (-[WebBridge descendantFrameNamed:]): Make this look for descendants in the
- provisional data sources first. This is the same change Richard made to
- childFrameNamed, but it turns out that this is the method that's really used.
-
-2002-07-16 Darin Adler <darin@apple.com>
-
- * almost every file: Renamed IF* -> Web*.
-
-2002-07-15 Richard Williamson <rjw@apple.com>
-
- Removed dependence on window resize notification. We now
- use the IFWebView setFrame: method to trigger layouts. Much
- cleaner.
-
- Cleaned up image animation timer scheduler.
-
- Stop animation if last frame has zero duration, like IE.
-
- Change minimum duration to 1/30th (used if zero frame duration is
- specified). This is closer to what I see in IE empirically.
-
- * WebCoreSupport.subproj/IFImageRenderer.h:
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer frameDuration]):
- (-[IFImageRenderer _scheduleFrame]):
- (-[IFImageRenderer nextFrame:]):
- (-[IFImageRenderer beginAnimationInRect:fromRect:]):
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView initWithFrame:]):
- (-[IFHTMLView removeNotifications]):
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView setFrame:]):
- (-[IFWebView viewWillStartLiveResize]):
- (-[IFWebView viewDidEndLiveResize]):
-
-2002-07-15 Maciej Stachowiak <mjs@apple.com>
-
- Fixed Radar 2957209 - Change "JavaScript can open new windows
- automatically" preference to off by default
-
- * WebView.subproj/IFPreferences.mm:
- (+[IFPreferences load]): Switch default for "Allow JavaScript to
- open new windows automatically" to FALSE.
-
-2002-07-15 Darin Adler <darin@apple.com>
-
- More weaning from C++.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView initWithFrame:plugin:url:baseURL:mime:arguments:]): Use malloc instead of new.
- (-[IFPluginView dealloc]): Use free instead of delete.
-
-2002-07-15 Darin Adler <darin@apple.com>
-
- Fixes so we are ready to compile as Objective C, not C++.
- The C++ front end misses a lot of things the C front end catches.
-
- * Plugins.subproj/IFNullPluginView.mm:
- (-[IFNullPluginView drawRect:]): Add missing cast.
- * Plugins.subproj/IFPluginStream.mm:
- (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): Use
- [IFLoadProgress initWithURLHandle:] instead of getting at private fields.
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView setUpWindowAndPort]): Remove unused windowFrame.
- (-[IFPluginView start]): Don't use a variable within a for statement.
- Add missing cast.
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- Use [IFWebFrame _setProvisionalDataSource:] so we don't have to get at the
- protected field _private.
- * WebView.subproj/IFWebControllerPrivate.mm:
- (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
- Use [IFProgress bytesSoFar] so we don't have to get at the protected field bytesSoFar.
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _isLoadComplete]): Add missing cast.
- (-[IFWebFrame _setProvisionalDataSource:]): Added.
-
- * WebView.subproj/IFHTMLRepresentation.mm:
- * WebView.subproj/IFHTMLViewPrivate.h:
- * WebView.subproj/IFWebControllerPrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebViewPrivate.h:
- Make data in private class @public, since the main class needs to get at it
- directly.
-
-2002-07-15 Richard Williamson <rjw@apple.com>
-
- Only adjustFrames in parent if parent is a frame set.
- (Anywhere from 2% to 6% gain, depending on what you believe.)
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _isLoadComplete]):
-
- * WebView.subproj/IFPreferences.mm:
- (+[IFPreferences load]):
- Increment initial layout from 1.5 seconds to 1.85 seconds.
-
-2002-07-15 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- Tweak a comment that included the word WebController, to smooth things over a
- tiny bit for the coming renaming.
-
-2002-07-15 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer widthForCharacters:length:]): Remove implementation of some unused
- methods, including at least one that was never used.
-
-2002-07-15 Maciej Stachowiak <mjs@apple.com>
-
- WebKit part of fix for Radar 2896356 - cookie "ask for each site" not implemented yet
-
- * Panels.subproj/IFPanelCookieAcceptHandler.h: Added.
- * Panels.subproj/IFPanelCookieAcceptHandler.m: Added.
- (-[IFPanelCookieAcceptHandler init]):
- (-[IFPanelCookieAcceptHandler dealloc]):
- (-[IFPanelCookieAcceptHandler readyToStartCookieAcceptCheck:]):
- (-[IFPanelCookieAcceptHandler startCookieAcceptCheck:]):
- (-[IFPanelCookieAcceptHandler cancelCookieAcceptCheck:]):
- (-[IFPanelCookieAcceptHandler doneWithCheck:returnCode:contextInfo:]):
- * Panels.subproj/IFStandardPanels.m:
- (-[IFStandardPanels setUseStandardCookieAcceptPanel:]):
- (-[IFStandardPanels useStandardCookieAcceptPanel]):
- * WebKit.pbproj/project.pbxproj:
-
-2002-07-14 Maciej Stachowiak <mjs@apple.com>
-
- More workarounds for the Objective C++ typecasting bug.
-
- * WebView.subproj/IFDOMNode.mm:
- (-[IFDOMNode initWithWebView:]):
- * WebView.subproj/IFHTMLViewPrivate.mm:
- (-[NSView _IF_stopIfPluginView]):
- * WebView.subproj/IFRenderNode.mm:
- (-[IFRenderNode initWithWebView:]):
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame reset]):
-
-2002-07-14 Darin Adler <darin@apple.com>
-
- Wean WebKit completely from getting at the C++ parts of WebCore.
- We probably don't need to use C++ at all for WebKit any more.
-
- * WebKit.pbproj/project.pbxproj: Remove all the header search paths; we don't need any
- special ones now.
-
- * WebKitPrefix.h: Remove <config.h>; we don't need it any more.
-
- * Misc.subproj/IFCache.h: Rename getStatistics to statistics.
- * Misc.subproj/IFCache.mm:
- (+[IFCache statistics]):
- (+[IFCache empty]):
- (+[IFCache setDisabled:]):
- Call through WebCoreCache instead of going directly to khtml::Cache.
- (+[IFCache javaScriptObjectsCount]):
- (+[IFCache javaScriptInterpretersCount]):
- (+[IFCache javaScriptNoGCAllowedObjectsCount]):
- (+[IFCache javaScriptReferencedObjectsCount]):
- (+[IFCache garbageCollectJavaScriptObjects]):
- Call through WebCoreJavaScript instead of going directly to kjs::Collector.
-
- * WebCoreSupport.subproj/IFWebCoreFrame.m:
- (-[IFWebCoreFrame bridge]): Change to return bridge from the provisional data
- source if it exists.
- (-[IFWebCoreFrame committedBridge]): Do what [bridge] used to do, always returning
- the bridge from the committed data source and never the provisional one.
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView provisionalDataSourceChanged:]): Don't store the provisional widget.
- It's stored in the bridge for the provisional data source.
- (-[IFHTMLView provisionalDataSourceCommitted:]): Use the bridge method installInFrame:
- to do most of the work that used to be here. The rest is don in removeFromFrame which
- is called elsewhere.
- (-[IFHTMLView mouseUp:]): Use the bridge's mouseUp method.
- (-[IFHTMLView mouseDown:]): Use the bridge's mouseDown method.
- (-[IFHTMLView mouseMovedNotification:]): Use the bridge's mouseMoved method.
- (-[IFHTMLView mouseDragged:]): Use the bridge's mouseDragged method.
-
- * WebView.subproj/IFHTMLViewPrivate.h: Remove the widget, widgetOwned, and
- provisionalWidget instance variables, and the _widget and _provisionalWidget methods.
- * WebView.subproj/IFHTMLViewPrivate.mm:
- (-[IFHTMLView _reset]): Remove the code that deleted the widget and the provisional widget.
- This is now handled elsewhere.
-
- * WebView.subproj/IFDOMNode.mm: Redo to use the copyDOMTree feature of the bridge.
- * WebView.subproj/IFRenderNode.mm: Redo to use the copyRenderTree feature of the bridge.
-
- * WebView.subproj/IFRenderNode.h: Use an NSRect instead of four integers
- (the switch to floating point is OK).
-
- * WebView.subproj/IFWebDataSourcePrivate.h: Add private _removeFromFrame method.
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSource _removeFromFrame]): Set the controller and location change handler
- references to nil, and also call [WebCoreBridge removeFromFrame].
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFramePrivate setDataSource:]): Use _removeFromFrame where we formerly would
- set the controller and location change handler references to nil.
-
- * WebCoreSupport.subproj/IFWebCoreBridge.h: Tweak.
-
-2002-07-13 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView dealloc]):
- * WebView.subproj/IFImageRepresentation.m: (-[IFImageRepresentation dealloc]):
- Fix leaks by adding calls to [super dealloc].
-
-2002-07-13 Darin Adler <darin@apple.com>
-
- * Misc.subproj/IFNSEventExtras.h: Removed.
- * Misc.subproj/IFNSEventExtras.m: Removed.
- * WebKit.pbproj/project.pbxproj: Removed IFNSEventExtras.*.
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- * WebView.subproj/IFWebFrame.mm:
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm:
- Renamed all bridgeFrame to frameBridge for greater clarity.
-
- * WebView.subproj/IFHTMLView.mm: Updated comments and commented-out code.
-
- * WebView.subproj/IFWebDataSource.h: Fix comment that mentioned IFDefaultWebController.
-
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _transitionProvisionalToCommitted]): Fix exception string that cited
- the wrong state name.
-
-2002-07-13 Darin Adler <darin@apple.com>
-
- * History.subproj/IFURIEntry.m: (-[IFURIEntry image]):
- Use [IFURIEntry class] instead of [self class] so we get the
- icon from the WebKit bundle even if someone subclasses IFURIEntry.
- * Plugins.subproj/IFNullPluginView.mm:
- (-[IFNullPluginView initWithFrame:mimeType:arguments:]): Use
- bundleForClass instead of bundleWithIdentifier so things work even
- if we have two copies of WebKit installed on the same machine.
-
- * Makefile.am: Remove include of embed.am.
-
- * WebKit.pbproj/project.pbxproj: Use embed-into-alex instead of make embed.
- Also change bundle identifier to com.apple.WebKit instead of com.apple.webkit
- to match standard used by our other frameworks. (Checked that we no longer have
- any hard-coding of the bundle identifier anywhere in our code.)
-
-2002-07-13 Richard Williamson <rjw@apple.com>
-
- Fixed 2981849 - frames don't always draw correctly.
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebCoreBridge childFrameNamed:]):
- Check provisional data source first.
-
- * WebView.subproj/IFHTMLViewPrivate.h:
- * WebView.subproj/IFHTMLViewPrivate.mm:
- (-[IFHTMLView _adjustFrames]):
- Added method to adjust frame geometry.
-
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSource _layoutChildren]):
- Added method to adjust child frame geometries.
-
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _isLoadComplete]):
- Removed unnecessary drawing now that frame geometry is
- calculated directly.
-
-2002-07-12 Darin Adler <darin@apple.com>
-
- About 1/3 of the remaining work to wean WebKit from its special relationship with WebCore
- onto explicit interfaces.
-
- * Misc.subproj/IFCache.mm:
- * WebView.subproj/IFDOMNode.mm:
- * WebView.subproj/IFRenderNode.mm:
- Mark imports from inside WebCore with #ifndef WEBKIT_INDEPENDENT_OF_WEBCORE.
- Once these are all gone, the task is done.
-
- * Plugins.subproj/IFPlugin.h:
- * WebCoreSupport.subproj/IFCookieAdapter.h:
- * WebCoreSupport.subproj/IFImageRenderer.h:
- * WebCoreSupport.subproj/IFImageRendererFactory.h:
- * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
- * WebCoreSupport.subproj/IFTextRenderer.h:
- * WebCoreSupport.subproj/IFTextRendererFactory.h:
- * WebCoreSupport.subproj/IFWebCoreBridge.h:
- * WebCoreSupport.subproj/IFWebCoreViewFactory.h:
- Use #import <WebCore/> for getting at WebCore headers so we don't need to use -I.
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebCoreBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- Call setRenderPart on the WebCoreFrame rather than on the IFWebFrame.
-
- * WebCoreSupport.subproj/IFWebCoreFrame.h: Subclass from the WebCoreFrame class.
- * WebCoreSupport.subproj/IFWebCoreFrame.m:
- (-[IFWebCoreFrame HTMLView]): Add a cast.
- (-[IFWebCoreFrame widget]): Remove overzealous assert.
-
- * WebKit.pbproj/project.pbxproj: Rearranged things a bit. Removed unneeded build phase.
-
- * WebView.subproj/IFDocument.h:
- * WebView.subproj/IFDynamicScrollBarsView.h:
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebControllerPolicyHandler.h:
- Changed a few stray #include statements to #import statements.
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView provisionalDataSourceCommitted:]): Move the logic for setting up the
- renderPart in here from IFWebView.
- (-[IFHTMLView reapplyStyles]): Use the bridge.
- (-[IFHTMLView layout]): Use the bridge.
- (-[IFHTMLView drawRect:]): Use the bridge.
-
- * WebView.subproj/IFHTMLViewPrivate.h: Remove _takeOwnershipOfWidget which is no longer needed.
- * WebView.subproj/IFHTMLViewPrivate.mm:
- (-[NSView _IF_stopIfPluginView]): Added. Use to clean up _reset a bit.
- (-[IFHTMLView _reset]): Use makeObjectsPerformSelector: for simplicity.
-
- * WebView.subproj/IFImageView.h: Remove unneeded IFWebDataSource declaration.
- * WebView.subproj/IFImageView.m: Just formatting tweaks.
-
- * WebView.subproj/IFWebControllerPrivate.mm: Removed unneeded import.
- * WebView.subproj/IFWebDataSource.mm: Removed unneeded import.
- * WebView.subproj/IFWebDataSourcePrivate.mm: Removed unneeded import.
- * WebView.subproj/IFWebFrame.mm: Removed unneeded import.
-
- * WebView.subproj/IFWebFramePrivate.h: Remove renderPart field and related declarations.
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFramePrivate dealloc]): No need to let go of renderPart any more.
- (-[IFWebFrame _transitionProvisionalToCommitted]): Move logic into IFHTMLView.
-
- * WebView.subproj/IFWebView.h: Be a bit more specific about the type of documentView.
-
-2002-07-12 Chris Blumenberg <cblu@apple.com>
-
- Only accept drags of 1 file.
-
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView draggingEntered:]):
-
-2002-07-12 Darin Adler <darin@apple.com>
-
- Fix cancelling. My recent check-in broke it for downloads.
-
- * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
- (-[IFResourceURLHandleClient receivedError:forHandle:]): Helper function to save code.
- (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]): Use an error for
- cancel rather than -1,-1 progress.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient receivedProgressWithHandle:complete:]): Remove -1,-1 handling
- here; instead we treat it as an error.
- (-[IFMainURLHandleClient receivedError:forHandle:]): Remove most of the parameters
- since they are things we can compute ourselves.
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): Use an error for
- cancel rather than -1,-1 progress.
-
- * WebView.subproj/IFWebControllerPrivate.mm:
- (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:complete:]):
- Remove the -1,-1 cancel handling; we use an error instead.
- (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
- Remove the -1,-1 cancel handling; we use an error instead.
- (-[IFWebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
- Remove the _isStopping check. We want to do the additional work even if already stopping.
- (-[IFWebController _mainReceivedError:forResourceHandle:partialProgress:fromDataSource:]):
- Remove the _isStopping check. We want to do the additional work even if already stopping.
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView keyDown:]): Use NSDeleteCharacter.
-
-2002-07-12 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFWebDataSource.mm:
- (+[IFWebDataSource registerRepresentationClass:forMIMEType:]):
- Use self instead of [self class].
- (+[IFWebDataSource createRepresentationForMIMEType:]):
- Use the new _IF_objectForMIMEType to simplify and use hash table
- instead of linear search.
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (+[IFWebDataSource _repTypes]): Use initWithObjectsAndKeys for
- brevity and a tiny tiny bit of efficiency.
- (+[IFWebDataSource _canShowMIMEType:]):
- Use the new _IF_objectForMIMEType to simplify and use hash table
- instead of linear search.
- * WebView.subproj/IFWebView.mm:
- (+[IFWebView registerViewClass:forMIMEType:]):
- Use self instead of [self class].
- (+[IFWebView createViewForMIMEType:]):
- Use the new _IF_objectForMIMEType to simplify and use hash table
- instead of linear search.
- * WebView.subproj/IFWebViewPrivate.mm:
- (+[IFWebView _canShowMIMEType:]):
- Use the new _IF_objectForMIMEType to simplify and use hash table
- instead of linear search.
-
-2002-07-12 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Re-added JavaScriptCore, which
- I removed by accident.
-
-2002-07-12 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Don't include the html4.css file
- from WebCore any more. WebCore handles this on its own now. Also,
- don't include the document templates; we don't use them any more.
-
- * Resources/image_document_template.html: Removed.
- * Resources/plugin_document_template.html: Removed.
- * Resources/text_document_template.html: Removed.
-
- * Makefile.am: Small tweak to the force-clean-timestamp logic.
-
-2002-07-11 Chris Blumenberg <cblu@apple.com>
-
-Fix for:
- 2986548 - Crash if you drop URL of frameset page onto frame
- 2953421 - document dragged into frame should replace frameset
-
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView draggingEntered:]): removed obsolute comment
- (-[IFWebView performDragOperation:]): moved implementation from here
- (-[IFWebView concludeDragOperation:]): to here, added support for NSURL drags
-
-2002-07-11 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFWebViewPrivate.mm:
- (+[IFWebView _viewTypes]): Changed back to a mutable dictionary. Oops.
-
-2002-07-11 John Sullivan <sullivan@apple.com>
-
- - fixed 2980779 -- no scroll bar in history window
-
- * WebKit.pbproj/project.pbxproj: Removed nonexistent .h file from project list (IFGrabBag.h)
-
- * WebView.subproj/IFDynamicScrollBarsView.h: Renamed field allowsScrolling to disallowsScrolling
- * WebView.subproj/IFDynamicScrollBarsView.m:
- (-[IFDynamicScrollBarsView updateScrollers]):
- (-[IFDynamicScrollBarsView setAllowsScrolling:]):
- (-[IFDynamicScrollBarsView allowsScrolling]):
- Removed initWithFrame override, whose only purpose was to set allowsScrolling to the "default"
- value (but not good enough for load-from-nib case). Changed all users of allowsScrolling to
- !disallowsScrolling instead.
-
-2002-07-11 Chris Blumenberg <cblu@apple.com>
-
- * Plugins.subproj/IFPluginNullEventSender.h:
- * Plugins.subproj/IFPluginNullEventSender.m:
- (-[IFPluginNullEventSender initWithPluginView:]): renamed, simplified
- (-[IFPluginNullEventSender stop]): call plugin debug function
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView start]): call new initWithPluginView
- (-[IFPluginView windowWillClose:]): added back to fix plugin view leak
- (-[IFPluginView NPP_HandleEvent]): added
-
-2002-07-11 Darin Adler <darin@apple.com>
-
- - fixed 2930872 -- option-arrow keys should page up and down
- - fixed 2924727 -- Delete does not go to previous page
-
- * WebView.subproj/IFHTMLView.mm: Disable the keyDown and keyUp
- methods here. We don't really need to pass these events to KHTMLView
- at the moment. See the comment in this file for further explanation.
- This paves the way to handle keys other than arrow keys in IFWebView.
-
- * WebView.subproj/IFWebController.h: Add temporary goBack method to
- IFWindowContext. See comment for more.
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView keyDown:]): Add handling
- for option arrow keys, space (page down), shift-space (page up), and
- delete (go back). Also make this call super if the key is not handled
- so keys make their way back to the superview in the application.
-
- * WebView.subproj/IFWebViewPrivate.h: Add _pageLeft, _pageRight, _goBack.
- * WebView.subproj/IFWebViewPrivate.mm:
- (-[IFWebView _pageHorizontally:]): Added.
- (-[IFWebView _pageLeft]): Added.
- (-[IFWebView _pageRight]): Added.
- (+[IFWebView _viewTypes]): Simplify.
- (-[IFWebView _goBack]): Added. Calls [IFWindowContext goBack].
-
-2002-07-10 Darin Adler <darin@apple.com>
-
- - fixed 2973738 -- box characters
-
- To be consistent with other browsers, we need to draw nothing for 0000-001F.
- We were drawing boxes.
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]):
- Add the skipControlCharacters parameter. If YES, don't include glyphs for characters
- in the 0000-001F range.
- (-[IFTextRenderer slowPackGlyphsForCharacters:numCharacters:glyphBuffer:numGlyphs:]):
- Pass skipControlCharacters:YES.
- (-[IFTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
- Skip control characters when creating the glyph array.
- (-[IFTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]):
- Pass skipControlCharacters:YES.
- (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
- Skip control characters when computing the width.
- (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]): Pass skipControlCharacters:NO.
-
-2002-07-10 Darin Adler <darin@apple.com>
-
- - fixed 2986273 -- assert currentURL isEqual:[handle redirectedURL] ? [handle redirectedURL] : [handle url]
-
- Since cancel prevents further notification from getting through, currentURL can get
- out of sync before cancelling, so we can't assert in the cancel function.
-
- * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
- (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]): Remove assert.
-
- * WebView.subproj/IFMainURLHandleClient.h: Remove unnecessary includes. Change type
- of dataSource to IFWebDataSource from id. Change url to currentURL to match
- IFResourceURLHandleClient.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient initWithDataSource:]): Simplify.
- (-[IFMainURLHandleClient didStartLoadingWithURL:]): Copied here from IFResourceURLHandleClient
- as a first step toward using a common superclass some day.
- (-[IFMainURLHandleClient didStopLoading]): Copied here from IFResourceURLHandleClient
- as a first step toward using a common superclass some day.
- (-[IFMainURLHandleClient dealloc]): Add an assert.
- (-[IFMainURLHandleClient receivedProgressWithHandle:complete:]): Removed most of the parameters
- to make this match the one in IFResourceURLHandleClient.
- (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]): Use didStartLoadingWithURL.
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): Use receivedProgressWithHandle and
- didStopLoading.
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): Use receivedProgressWithHandle and
- didStopLoading.
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Use receivedProgressWithHandle.
- (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): Use receivedProgressWithHandle and
- didStopLoading.
- (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): Use didStopLoading and didStartLoadingWithURL.
-
-2002-07-10 Maciej Stachowiak <mjs@apple.com>
-
- WebKit part of fix for:
-
- Radar 2953250 - JavaScript window.focus() and window.blur()
- methods don't work
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebCoreBridge unfocusWindow]): Use private AppKit interface
- to cycle windows if the window is the key window.
-
-2002-07-10 Darin Adler <darin@apple.com>
-
- - fixed 2983025 -- crash in sendEvent on pages with flash playing
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView removeTrackingRect]): New, removes tracking rect and releases window.
- (-[IFPluginView resetTrackingRect]): New, adds tracking rect and retains window.
- (-[IFPluginView start]): Use resetTrackingRect.
- (-[IFPluginView stop]): Use removeTrackingRect.
- (-[IFPluginView viewWillMoveToWindow:]): Call removeTrackingRect because the window
- will change by the time we get to viewDidMoveToWindow.
- (-[IFPluginView viewDidMoveToWindow]): Call resetTrackingRect.
- (-[IFPluginView viewHasMoved:]): Call resetTrackingRect.
-
-2002-07-10 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFWebViewPrivate.mm:
- (-[IFWebView _scrollToBottomLeft]): Fix this to use the document view to define what
- the bottom left is, not the content view (which is often much smaller than the document).
-
-2002-07-10 Chris Blumenberg <cblu@apple.com>
-
- Fixes for:
- 2981866 - Download doesn't appear in Downloads window if link was command-clicked
- 2965312 - Download progress not shown when clicking on download link with Alex not running
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): retain
- the downloadProgressHandler before calling requestContentPolicy as the web controller may be released
- in requestContentPolicy
-
-2002-07-10 Chris Blumenberg <cblu@apple.com>
-
- Fix for:
- 2976311 - Download fails if you close the window that started the download
- 2976308 - Can't navigate in window while download started in that window is in progress
-
- * WebView.subproj/IFMainURLHandleClient.h:
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient dealloc]):
- (-[IFMainURLHandleClient _receivedProgress:forResourceHandle:fromDataSource:complete:]): added, sends progress to correct handler
- (-[IFMainURLHandleClient _receivedError:forResourceHandle:partialProgress:fromDataSource:]): added, sends progress to correct handler
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): calls _receivedProgress
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): calls _receivedProgress
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): calls _receivedProgress
- (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): calls _receivedError
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebController.mm:
- (-[IFWebController setDownloadProgressHandler:]): added
- (-[IFWebController downloadProgressHandler]): added
- * WebView.subproj/IFWebControllerPrivate.h:
- * WebView.subproj/IFWebControllerPrivate.mm:
- (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]): removed download special-casing
-
-2002-07-10 Maciej Stachowiak <mjs@apple.com>
-
- * WebView.subproj/IFGrabBag.h: Removed.
- * WebView.subproj/IFWebController.h: Move IFContextMenuHandler
- here.
-
-2002-07-10 Darin Adler <darin@apple.com>
-
- Did some tweaks that weren't really necessary. But at least one is a significant
- improvement so I decided to commit rather then just discarding the changes.
-
- * Bookmarks.subproj/IFBookmark.m:
- (-[IFBookmark title]): Take out special case for separator.
- (-[IFBookmark setTitle:]): Take out special case for separator.
- (-[IFBookmark image]): Take out special case for separator.
- (-[IFBookmark setImage:]): Take out special case for separator.
- (-[IFBookmark setURLString:]): Take out special case for non-leaf.
- (-[IFBookmark children]): Take out request for concrete implementation;
- this is not useful since it's specific to one subclass.
- (-[IFBookmark numberOfChildren]): Take out request for concrete implementation;
- this is not useful since it's specific to one subclass.
- (-[IFBookmark _numberOfDescendants]): Take out request for concrete implementation;
- this is not useful since it's specific to one subclass.
- (-[IFBookmark insertChild:atIndex:]): Take out special case for non-list.
- (-[IFBookmark removeChild:]): Take out special case for non-list.
- (+[IFBookmark bookmarkFromDictionaryRepresentation:withGroup:]): Refactored to
- eliminate repeated code.
-
- * Bookmarks.subproj/IFBookmarkLeaf.m:
- (-[IFBookmarkLeaf copyWithZone:]): Use allocWithZone to be more pedantically correct.
-
- * Bookmarks.subproj/IFBookmarkSeparator.m:
- (-[IFBookmarkSeparator title]): Override to return nil.
- (-[IFBookmarkSeparator image]): Override to return nil.
-
-2002-07-10 Darin Adler <darin@apple.com>
-
- * Misc.subproj/WebKitDebug.m: Remove workaround for long-ago fixed
- C compiler bug.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView keyUp:]), (-[IFPluginView keyDown:]): Simplify keyboard
- scrolling code by passing along all events that the plug-in doesn't handle
- rather than special-casing certain events. Also use super rather than
- nextResponder to pass along the scroll events (super will do nextResponder).
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView keyDown:]), (-[IFHTMLView keyUp:]): Use super rather than
- nextResponder to pass along scroll events (super will do nextResponder).
-
-2002-07-08 Chris Blumenberg <cblu@apple.com>
-
- Fixes for:
- 2955757 - Keyboard scrolling code needs to move to WebKit
- 2937231 - Left and right arrows should scroll the content area
-
- * Misc.subproj/IFNSEventExtras.h: Added.
- * Misc.subproj/IFNSEventExtras.m: Added.
- (-[NSEvent _IF_isScrollEvent]): new
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView keyUp:]): if plug-in doesn't accept it, send to nextResponder
- (-[IFPluginView keyDown:]): if plug-in doesn't accept it, send to nextResponder
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView keyDown:]): calls _IF_isScrollEvent, if so send to nextResponder
- (-[IFHTMLView keyUp:]): calls _IF_isScrollEvent, if so send to nextResponder
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView acceptsFirstResponder]): added
- (-[IFWebView window]): no changes
- (-[IFWebView keyDown:]): added, does the scroll
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm:
- (-[IFWebView _contentView]): added
- (-[IFWebView _scrollVerticallyBy:]): added, moved from BrowserWindow.m
- (-[IFWebView _scrollHorizontallyBy:]): added, moved from BrowserWindow.m
- (-[IFWebView _pageVertically:]): added, moved from BrowserWindow.m
- (-[IFWebView _scrollLineVertically:]): added, moved from BrowserWindow.m
- (-[IFWebView _scrollLineHorizontally:]): added, moved from BrowserWindow.m
- (-[IFWebView _pageDown]): added, moved from BrowserWindow.m
- (-[IFWebView _pageUp]): added, moved from BrowserWindow.m
- (-[IFWebView _scrollToTopLeft]): added, moved from BrowserWindow.m
- (-[IFWebView _scrollToBottomLeft]): added, moved from BrowserWindow.m
- (-[IFWebView _lineDown]): added, moved from BrowserWindow.m
- (-[IFWebView _lineUp]): added, moved from BrowserWindow.m
- (-[IFWebView _lineLeft]): added, moved from BrowserWindow.m
- (-[IFWebView _lineRight]): added, moved from BrowserWindow.m
-
-2002-07-08 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm: Fix compiles under newer compiler
- (Jaguar 6C89 and newer) by adding missing include.
-
-2002-07-07 Maciej Stachowiak <mjs@apple.com>
-
- WebCore part of fix for Radar 2953431 - JavaScript window.close()
- method is not working
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebCoreBridge openedByScript]): Implement by calling controller.
- (-[IFWebCoreBridge setOpenedByScript:]): Likewise.
- * WebView.subproj/IFWebControllerPrivate.h:
- * WebView.subproj/IFWebControllerPrivate.mm:
- (-[IFWebController _openedByScript]): Implement.
- (-[IFWebController _setOpenedByScript:]): Implement.
-
-2002-07-05 Darin Adler <darin@apple.com>
-
- Fix crashes I saw with zombies enabled caused by messing with windows that are
- in the process of being destroyed.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView start]): Remove windowWillClose notification because
- we use viewDidMoveToWindow instead.
- (-[IFPluginView viewDidMoveToWindow]): Use this instead of viewWillMoveToWindow.
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView viewDidMoveToWindow]): Use this instead of viewWillMoveToWindow.
- * WebView.subproj/IFHTMLViewPrivate.h: Need a boolean flag to tell window changes
- before the first time we are installed from window changes afterward.
- * WebView.subproj/IFImageView.m:
- (-[IFImageView viewDidMoveToWindow]): Use this instead of viewWillMoveToWindow.
-
-2002-07-04 Maciej Stachowiak <mjs@apple.com>
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView mouseMovedNotification:]): Pass the modifier flags
- along for mouse move events.
-
-2002-07-04 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/IFDynamicScrollBarsView.h:
- Updated FIXME to mention bug number.
-
-2002-07-03 Chris Blumenberg <cblu@apple.com>
-
- - Fix for 2975750
- - Removed Java workaround since that will be fixed soon.
-
- * Plugins.subproj/IFPlugin.h:
- * Plugins.subproj/IFPlugin.m:
- (-[IFPlugin _openResourceFile]): added
- (-[IFPlugin _closeResourceFile:]): added
- (-[IFPlugin _getPluginInfo]): rename
- (-[IFPlugin initWithPath:]): simplified
- (-[IFPlugin load]): calls _openResourceFile
- (-[IFPlugin unload]): calls _closeResourceFile
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView setUpWindowAndPort]): removed Java workaround
-
-2002-07-03 Darin Adler <darin@apple.com>
-
- * Misc.subproj/IFException.h: Use Objective C header style rather than plain C.
-
-=== Alexander-11 ===
-
-2002-07-03 Darin Adler <darin@apple.com>
-
- * Misc.subproj/IFDownloadHandler.mm:
- (-[IFDownloadHandler finishedLoading]):
- * WebView.subproj/IFWebController.h:
- A couple places where it still said IFContentPolicyOpenExternally.
-
-2002-07-03 Maciej Stachowiak <mjs@apple.com>
-
- WebKit part of fixes for:
-
- Radar 2950616 - JavaScript window.screenX and window.screenY always return -1
- Radar 2950614 - JavaScript window.screenLeft and window.screenTop
- properties are unimplemented
- Radar 2950609 - JavaScript window.outerHeight and
- window.outerWidth properties always return 0
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView provisionalDataSourceChanged:]): Pass the real
- document view to the newly created bridge, since it will be ready
- by now and is needed by JavaScript.
-
-2002-07-03 Maciej Stachowiak <mjs@apple.com>
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView status:]): Fix build problem. Why doesn't
- compiling catch these more reliably?
-
-2002-07-03 Richard Williamson <rjw@apple.com>
-
- * Misc.subproj/IFNSViewExtras.m:
- (-[NSView _IF_printViewHierarchy:]):
- Debugging help.
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView layout]):
- Added setLayouted(false).
-
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _isLoadComplete]):
- Tweaks attempting to fix frame drawing problems.
-
-2002-07-03 Maciej Stachowiak <mjs@apple.com>
-
- WebCore part of fix for:
-
- Radar 2943465 - JavaScript window.defaultStatus property not implemented
- Radar 2943464 - JavaScript window.status property is not implemented
- Radar 2926213 - show url of moused-over link in status bar
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebCoreBridge setStatusText:]): Connect bridge status text
- setting to window context.
- * WebView.subproj/IFWebController.h:
-
-2002-07-02 Chris Blumenberg <cblu@apple.com>
-
- Added IFFileURLPolicyReveal. This makes things a little clearer for the client.
-
- * WebView.subproj/IFWebControllerPolicyHandler.h:
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _shouldShowDataSource:]): support for IFFileURLPolicyReveal.
-
-2002-07-02 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
- Fixed a syntax error caused by a "just before committing" edit.
-
-2002-07-02 Darin Adler <darin@apple.com>
-
- - fixed 2952837 -- image not rendered if height or width attributes specified incorrectly
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
- Set the size of both the image and the image representation.
-
-2002-07-02 Chris Blumenberg <cblu@apple.com>
-
- Can't call startLoading on a frame if setProvisionalDataSource returned NO.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
- * WebCoreSupport.subproj/IFWebCoreFrame.m:
- (-[IFWebCoreFrame loadURL:attributes:flags:withParent:]):
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView performDragOperation:]):
-
-2002-07-02 Chris Blumenberg <cblu@apple.com>
-
- Fixed asseration failure caused by an iframe not having a correct mime type.
- We now assume that local files without extensions are html files.
-
- * WebView.subproj/IFWebControllerPrivate.mm:
- (+[IFWebController _MIMETypeForFile:]):
-
-2002-07-02 Chris Blumenberg <cblu@apple.com>
-
- - Moved all policy methods to IFWebControllerPolicyHandler.h
- - Moved all file URL error checking to WebKit
- - Implemented file URL policy methods
- - Renamed IFContentPolicyOpenExternally to IFContentPolicySaveAndOpenExternally
-
- * Misc.subproj/IFWebKitErrors.h: Added.
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFLocationChangeHandler.h: removed content policy stuff
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): IFContentPolicySaveAndOpenExternally rename
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): call the policy handler for content policy stuff
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebController.mm:
- (-[IFWebController haveContentPolicy:andPath:forDataSource:]): sends a unableToImplementContentPolicy:
- (+[IFWebController canShowFile:]): now calls _MIMETypeForFile
- * WebView.subproj/IFWebControllerPolicyHandler.h: Added.
- * WebView.subproj/IFWebControllerPrivate.h:
- * WebView.subproj/IFWebControllerPrivate.mm:
- (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]): IFContentPolicySaveAndOpenExternally
-rename
- (-[IFWebController _didStopLoading:]): no changes
- (+[IFWebController _MIMETypeForFile:]): added
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame setProvisionalDataSource:]): calls _shouldShowDataSource
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _bridgeFrame]): no changes
- (-[IFWebFrame _shouldShowDataSource:]): does the error handling
- * WebView.subproj/IFWebView.mm:
- (+[IFWebView initialize]): registers WebKit errors
-
-2002-07-02 Richard Williamson <rjw@apple.com>
-
- * WebView.subproj/IFRenderNode.mm:
- (-[IFRenderNode initWithRenderObject:khtml::]):
- Fixed regression that prevented showing of nodes in subframes.
-
-2002-07-02 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView setWindow]), (-[IFPluginView start]), (-[IFPluginView stop]):
- Fix unused variable issue that affects deployment builds.
-
-2002-07-02 John Sullivan <sullivan@apple.com>
-
- Remove unnecessary code to fill with white from here; this code
- path has changed. Now it just bails out early in the case where
- there's no widget.
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView drawRect:]):
-
-2002-07-02 John Sullivan <sullivan@apple.com>
-
- Made IFWebView fill with white when there's no document view. This fixes:
-
- - 2978210 -- problems with "hide status bar"
- - 2978742 -- Resizing initially-empty Alexander window results in garbage in window
-
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView drawRect:]):
-
-2002-07-02 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFMainURLHandleClient.mm: Fix comment.
-
-2002-07-02 Darin Adler <darin@apple.com>
-
- - fixed 2975790 - Ads on salon.com scribble all over page
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView setUpWindowAndPort]): New, sets up the window, but does not
- call NPP_SetWindow again.
- (-[IFPluginView setWindow]): Call [setUpWindowAndPort] then call NPP_SetWindow.
- (-[IFPluginView start]): Register for changes to the bounds or frame of any of
- our superviews, not just one particular one. Also, don't bother to register for
- notification when the window resizes. Finally, use the constants for the names
- of the notifications, not literal strings.
- (-[IFPluginView layout]): Just use [setUpWindowAndPort]; no need for a new call
- to NPP_SetWindow.
- (-[IFPluginView viewHasMoved:]): Just use [setUpWindowAndPort]; no need for a new
- call to NPP_SetWindow.
-
-2002-07-01 Maciej Stachowiak <mjs@apple.com>
-
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView window]): If the view hasn't been added to a window
- yet, get the window from the WindowContext.
-
-2002-07-01 Richard Williamson <rjw@apple.com>
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
- Ensure that _didStopLoading is called for both error case and
- non-error case.
-
-2002-07-01 Richard Williamson <rjw@apple.com>
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
- A completion message was being sent, as well as an error message.
- This, no doubt confused Alexander. No only send either the final
- error message or the completion message.
-
-2002-07-01 Darin Adler <darin@apple.com>
-
- Ken fixed the load message sequencing problem in WebFoundation, so now we can
- go back to the original versions of the asserts.
-
- * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
- (-[IFResourceURLHandleClient dealloc]):
- (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]):
- (-[IFResourceURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient dealloc]):
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
- Roll out the stuff that's ifdef'd and marked with bug 2954901.
-
-2002-07-01 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFDynamicScrollBarsView.m:
- (-[IFDynamicScrollBarsView updateScrollers]): After a closer reading of
- the NSScrollView source code, I see that we don't need to explicitly do
- tile or setNeedsDisplay: because the setters take care of that, so I made
- this simpler.
- (-[IFDynamicScrollBarsView reflectScrolledClipView:]): Replace the anti-
- recursion hack that I erroneously removed earlier.
-
- * WebView.subproj/IFTextView.h: Removed the isRTF flag.
- * WebView.subproj/IFTextView.m:
- (-[IFTextView provisionalDataSourceChanged:]): Do nothing here.
- (-[IFTextView dataSourceUpdated:]): Check the MIME type here.
-
-2002-07-01 Richard Williamson <rjw@apple.com>
-
- Fixed 2976913.
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView layout]):
- Augmented debugging info.
- (-[IFHTMLView setNeedsDisplay:]):
- Augmented debugging info.
- (-[IFHTMLView setNeedsLayout:]):
- Removed overload of this method to also set display flag.
- Why was this added?
- (-[IFHTMLView setNeedsToApplyStyles:]):
- Augmented debugging info.
- (-[IFHTMLView drawRect:]):
- Augmented debugging info.
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _timedLayout:]):
- If the view size is zero (width or height) force
- a layout now, rather than depending on the lazy
- layout that will happen in display. If the view
- size is 0,0 the AppKit will optimize out the display.
-
-2002-07-01 Chris Blumenberg <cblu@apple.com>
-
- Minor cleanup
-
- * Plugins.subproj/IFNullPluginView.mm:
- (-[IFNullPluginView initWithFrame:mimeType:arguments:]):
- (-[IFNullPluginView dealloc]):
-
-2002-07-01 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/IFPlugin.m:
- (-[IFPlugin _getPluginInfoForResourceFile:]): Fix off-by one error
- that would cause a memory trasher if we had a 255-character string.
-
- * WebView.subproj/IFHTMLView.mm:
- * WebView.subproj/IFRenderNode.mm:
- Touch these files so we don't have to do a full build of WebKit
- for my WebCore changes.
-
-2002-07-01 Maciej Stachowiak <mjs@apple.com>
-
- Build fixes (don't know why a plain build didn't catch these):
-
- * Plugins.subproj/IFPluginView.mm: openNewWindowWithURL: is not a
- method of the controller any more, nor are the status-related calls.
- * WebView.subproj/IFWebController.h: Un-ifdef the status calls.
-
-2002-07-01 Maciej Stachowiak <mjs@apple.com>
-
- Part of fix for Radar 2976618 - links targeting _blank hit
- assertion trying to set provisional data source
-
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame frameNamed:]): Show the window.
-
-2002-07-01 Maciej Stachowiak <mjs@apple.com>
-
- Fix Radar 2953256 - Auth sheet appears detached when clicking
- directly on auth link with Alex not running
-
- * Panels.subproj/IFStandardPanels.m:
- (-[IFStandardPanels frontmostWindowLoadingURL:]): Don't consider
- windows that are not visible.
-
-2002-06-29 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer tileInRect:fromPoint:]): Fix calculation of oneTileRect.
- I think this is finally correct now.
-
-2002-06-29 Maciej Stachowiak <mjs@apple.com>
-
- WebKit part of fix for:
-
- Radar 2942074 - JavaScript size, positioning and feature
- parameters to window.open are ignored
-
- Also, renamed IFScriptContextHandler protocol to IFWindowContext,
- and made it a settable handler like the others rather than
- something implemented by the controller, so it can be used w/o
- subclassing.
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebCoreBridge openNewWindowWithURL:]): Forward to the WindowContext.
- (-[IFWebCoreBridge areToolbarsVisisble]): Likewise.
- (-[IFWebCoreBridge setToolbarsVisible:]): Likewise.
- (-[IFWebCoreBridge areScrollbarsVisible]): Likewise.
- (-[IFWebCoreBridge setScrollbarsVisible:]): Likewise.
- (-[IFWebCoreBridge isStatusBarVisisble]): Likewise.
- (-[IFWebCoreBridge setStatusBarVisible:]): Likewise.
- (-[IFWebCoreBridge setWindowFrame:]): Likewise.
- (-[IFWebCoreBridge window]): Likewise.
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebController.mm:
- (-[IFWebController setWindowContext:]): Setter for new WindowContext handler
- (-[IFWebController windowContext]): Likewise.
- * WebView.subproj/IFWebControllerPrivate.h:
- * WebView.subproj/IFWebControllerPrivate.mm:
- (-[IFWebControllerPrivate dealloc]): Release window context.
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame frameNamed:]): Open new windows via WindowContext.
-
-2002-06-28 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFImageRenderer.h: Renamed statusOfCache to
- patternColorLoadStatus for clarity.
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer copyWithZone:]): Add FIXME.
- (-[IFImageRenderer tileInRect:fromPoint:]): Add optimization for the
- case where a single draw of the image will cover the entire area to be
- tiled. Also add comments and make other small improvements.
-
-2002-06-28 Richard Williamson <rjw@apple.com>
-
- Use float character measurement to determine selection
- region. Necessary to ensure accuracy of selection
- region. First step towards weaning khtml off int
- measurements.
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer tileInRect:fromPoint:]):
- Cleaned up use of loadStatus.
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]):
- (-[IFTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
- (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
-
-2002-06-28 Chris Blumenberg <cblu@apple.com>
-
- * WebView.subproj/IFMainURLHandleClient.h:
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient downloadHandler]): added
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): removed [downloadHandler cancel]
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource stopLoading]): call [downloadHandler cancel] here so clean up is done immediately.
-
-2002-06-27 Richard Williamson <rjw@apple.com>
-
- Fixed tiling of progressively loaded images.
-
- * WebCoreSupport.subproj/IFImageRenderer.h:
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer initWithSize:]):
- (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
- (-[IFImageRenderer loadStatus]):
- (-[IFImageRenderer tileInRect:fromPoint:]):
-
-2002-06-27 Richard Williamson <rjw@apple.com>
-
- * WebCoreSupport.subproj/IFImageRenderer.h:
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
- (-[IFImageRenderer loadStatus]):
- (-[IFImageRenderer tileInRect:fromPoint:]):
-
-2002-06-27 Richard Williamson <rjw@apple.com>
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
- Fixed uninitialized variable warning. Compile being too aggressive,
- broke deployment build.
-
-2002-06-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed plug-in positioning.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView
-initWithFrame:plugin:url:baseURL:mime:arguments:]): added some logging.
- (-[IFPluginView setWindow]): Use the window's content view as the
-guide for the port's coordinates. Also added a workaround for Java.
-
-2002-06-27 Darin Adler <darin@apple.com>
-
- Fixed DOM tree viewer.
-
- * WebView.subproj/IFDOMNode.mm: (-[IFDOMNode initWithDOMNode:DOM::]):
- A typo got in here somehow, leading to an infinite loop.
-
-2002-06-27 Darin Adler <darin@apple.com>
-
- - fixed 2973212 -- bad arg string != nil in _IF_URLWithString
-
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSource _startLoading:]): Get rid of essentially-dead code that
- computed but did not use a URL. Also order operations so that we first
- set the flag to say that we're loading, then tell the location change
- handler, and only then ask for the actual I/O to being.
-
- * WebView.subproj/IFBaseLocationChangeHandler.h: Removed.
- * WebView.subproj/IFBaseLocationChangeHandler.m: Removed.
-
-=== Alexander-10 ===
-
-2002-06-27 Richard Williamson <rjw@apple.com>
-
- Method name changes in preparation for fixing
- TextSlave::checkSelectionPoint(). Stubbed
- only, no support for new parameters yet.
-
- * Misc.subproj/IFStringTruncator.m:
- (+[IFStringTruncator centerTruncateString:toWidth:withFont:]):
- * WebCoreSupport.subproj/IFTextRenderer.h:
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer slowFloatWidthForCharacters:stringLength:fromCharacterPostion:numberOfCharacters:applyRounding:]):
- (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
- (-[IFTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:applyRounding:attemptFontSubstitution:]):
- (-[IFTextRenderer widthForCharacters:length:]):
- (-[IFTextRenderer widthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
-
-2002-06-27 Richard Williamson <rjw@apple.com>
-
- Removed old methods and references.
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer drawString:atPoint:withColor:]):
- (-[IFTextRenderer slowDrawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:attemptFontSubstitution:]):
- (-[IFTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
- Fixed final fragment rendering glitch.
-
-2002-06-27 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFWebCoreViewFactory.m:
- (-[IFWebCoreViewFactory viewForJavaAppletWithFrame:baseURL:parameters:]):
- Pass baseURL as a separate parameter.
-
- * WebView.subproj/IFBaseLocationChangeHandler.m: Fix a typo. I think this
- file might be unneeded, but I won't delete it until I hear from Chris.
-
-2002-06-27 Richard Williamson <rjw@apple.com>
-
- Fix selection in 'slow' code path (non-base characters and font substitution).
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
- (-[IFTextRenderer slowDrawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:attemptFontSubstitution:]):
-
-2002-06-27 Richard Williamson <rjw@apple.com>
-
- Implemented auto scrolling.
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView mouseDragged:]):
-
-2002-06-27 Richard Williamson <rjw@apple.com>
-
- Implement selectAll.
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView selectAll:]):
-
-2002-06-27 Maciej Stachowiak <mjs@apple.com>
-
- WebKit part of fixes for JavaScript cookie bugs:
-
- 2943749 - JavaScript navigator.cookieEnabled property is always "true"
- 2856039 - JavaScript document.cookies property is not implemented
-
- Thereby also fixing:
-
- 2944378 - Trying to log into my Yahoo web mail account sent
- Alexander into a loop
-
- * WebCoreSupport.subproj/IFCookieAdapter.h: Added.
- * WebCoreSupport.subproj/IFCookieAdapter.m: Added.
- (+[IFCookieAdapter createSharedAdapter]): Set up an instance of
- IFCookieAdapter as the WebCoreCookieAdapter shared instance.
- (-[IFCookieAdapter cookiesEnabled]): Implement in terms of
- WebFoundation stuff.
- (-[IFCookieAdapter cookiesForURL:]): Likewise.
- (-[IFCookieAdapter setCookies:forURL:]): Likewise.
- * WebKit.pbproj/project.pbxproj: Add new files to build.
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView initWithFrame:]): Hook up the cookie adapter just
- like the various factory classes.
-
-2002-06-27 Chris Blumenberg <cblu@apple.com>
-
- Support for Java.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView initWithFrame:plugin:url:baseURL:mime:arguments:]): set DOCBASE argument
- * WebCoreSupport.subproj/IFWebCoreViewFactory.m:
- (-[IFWebCoreViewFactory viewForJavaAppletWithFrame:andArguments:]): renamed
-
-2002-06-26 Richard Williamson <rjw@apple.com>
-
- Many improvements to selection. More Cocoa like,
- normalized all text drawing code paths for selected
- and unselected cases.
-
- Still need to work on:
- 1. 'slow' drawing cases, i.e. runs with non-base characters
- or runs requiring font substitution.
- 2. Select All menu item.
- 3. Auto scrolling.
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer drawString:atPoint:withColor:]):
- (-[IFTextRenderer drawGlyphs:numGlyphs:fromGlyphPosition:toGlyphPosition:atPoint:withTextColor:backgroundColor:]):
- (-[IFTextRenderer slowDrawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:attemptFontSubstitution:]):
- (-[IFTextRenderer _drawCharacters:length:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
- (-[IFTextRenderer drawCharacters:length:atPoint:withTextColor:backgroundColor:]):
- (-[IFTextRenderer drawCharacters:length:atPoint:withTextColor:]):
- (-[IFTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withTextColor:backgroundColor:]):
-
-2002-06-26 Darin Adler <darin@apple.com>
-
- - fixed 2969280 -- if trailing / not specified for site, relative URLs are
- incorrectly expanded
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebCoreBridge receivedData:withDataSource:]): Update the URL for the
- case where we've already been redirected before we receive any data.
-
-2002-06-26 Darin Adler <darin@apple.com>
-
- - fixed 2971532 -- crash with null KHTMLView at gramicci.com
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView reapplyStyles]): Handle widget == 0 case.
- (-[IFHTMLView layout]): Handle widget == 0 case.
-
- Fixed a crash I have seen many times where a data source tries
- to use its parent to locate the controller after its parent is
- deallocated.
-
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSourcePrivate dealloc]): Use _parentDataSourceWillBeDeallocated
- instead of _setController:nil.
-
- * WebView.subproj/IFWebFramePrivate.h: Add _parentDataSourceWillBeDeallocated.
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _parentDataSourceWillBeDeallocated]): Does both
- a _setController:nil, and a _setParent:nil on both data sources.
-
-2002-06-26 John Sullivan <sullivan@apple.com>
-
- - fixed 2971024 -- wrong item is bookmarked
-
- -[IFWebDataSource redirectedURL] was returning the URL of a
- sub-page resource.
-
- * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
- (-[IFResourceURLHandleClient IFURLHandle:didRedirectToURL:]):
- Removed evil call to _setFinalURL here. It had no right to live.
-
-2002-06-26 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFImageRendererFactory.m:
- (-[IFImageRendererFactory imageRenderer]): Fix NSBitmapImageRep leak.
-
-2002-06-26 Chris Blumenberg <cblu@apple.com>
-
- - added "complete" to to progress methods to indicate last progress message
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView setWindow]): added a draw test
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebControllerPrivate.mm:
- (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:complete:]):
- (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
-
-2002-06-26 Richard Williamson <rjw@apple.com>
-
- Fixed recursion problems. +[NSFont findFontLike:forString:withRange:inLanguage:]
- will alternate between suggested fonts with bogus answers. The work
- around involves adding an explicit flag indicating whether or not
- font substitution should be attempted.
-
- * Misc.subproj/IFStringTruncator.m:
- (+[IFStringTruncator centerTruncateString:toWidth:withFont:]):
- * WebCoreSupport.subproj/IFTextRenderer.h:
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer slowDrawCharacters:length:atPoint:withColor:attemptFontSubstitution:]):
- (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
- (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:attemptFontSubstitution:]):
- (-[IFTextRenderer widthForCharacters:length:]):
-
-2002-06-26 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView validateUserInterfaceItem:]): Switch to this instead
- of validateMenuItem: so that a Copy toolbar button would work.
-
-2002-06-25 Richard Williamson <rjw@apple.com>
-
- Disable the copy menu item when IFHTMLView has is key
- and has no selection.
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView validateMenuItem:]):
- Disable menu if selection is empty.
- (-[IFHTMLView copy:]):
- Factored code that gets the bridge.
- * WebView.subproj/IFHTMLViewPrivate.h:
- Added _bridge.
- * WebView.subproj/IFHTMLViewPrivate.mm:
- (-[IFHTMLView _bridge]):
- We need to access the bridge from the view
- to get the part's selection.
-
-2002-06-25 Chris Blumenberg <cblu@apple.com>
-
- Remove downloaded file if cancelled.
-
- * Misc.subproj/IFDownloadHandler.mm:
- (-[IFDownloadHandler cancel]):
-
-2002-06-25 Richard Williamson <rjw@apple.com>
-
- Support for rudimentary plain text 'copy'.
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView copy:]):
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm:
- (-[IFWebView _controller]):
-
-2002-06-25 Richard Williamson <rjw@apple.com>
-
- Enabled progressive image loading code.
-
- * WebCoreSupport.subproj/IFImageRenderer.h:
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer initWithSize:]):
- (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
- * WebCoreSupport.subproj/IFImageRendererFactory.m:
- (-[IFImageRendererFactory imageRenderer]):
-
-2002-06-25 Richard Williamson <rjw@apple.com>
-
- Extended our text measurement rounding work-around for integer-float
- mismatch to round on word boundaries as well as spaces.
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer drawGlyphs:numGlyphs:atPoint:withColor:]):
- (-[IFTextRenderer slowFloatWidthForCharacters:length:applyRounding:]):
- (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]):
-
-2002-06-25 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
- (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]):
- (-[IFResourceURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFResourceURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
- Don't remove the URL handle from the data source until we've finished the
- loading process in KDE code. This may fix 2968527.
-
- * WebCoreSupport.subproj/IFTextRenderer.m: Keep around commented printfs so
- I can do the "dump all strings as they are rendered" again.
-
- * WebKit.pbproj/project.pbxproj: Re-add -Wmissing-format-attribute.
-
-2002-06-25 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer tileInRect:fromPoint:]): Remove stray NSLog.
-
-2002-06-25 Darin Adler <darin@apple.com>
-
- - fixed 2968298 -- IFImageRenderer crash at download.com
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer initWithSize:]): Override this instead of [init].
- This is the designated initializer and all the others call this.
- (-[IFImageRenderer copyWithZone:]): Override to nil out fields that
- can't be shared by the copy.
-
- Fix leaks.
-
- * History.subproj/IFURIEntry.m:
- (-[IFURIEntry initWithURL:title:image:]): Use copy instead of retain
- in case we are passed a mutable string.
- (-[IFURIEntry dealloc]): Release _displayTitle. Fixes a leak.
- (-[IFURIEntry setTitle:]): Use copy instead of retain in case we are
- passed a mutable string.
- (-[IFURIEntry setDisplayTitle:]): Use copy instead of retain in case
- we are passed a mutable string.
- (-[IFURIEntry initFromDictionaryRepresentation:]): Lose the extra
- retain for _lastVisitedDate. Fixes a leak.
-
-2002-06-24 Darin Adler <darin@apple.com>
-
- * Panels.subproj/IFStandardPanels.m:
- (-[IFStandardPanels didStopLoadingURL:inWindow:]): Fix a leak caused
- by calling the wrong method. This was calling objectForKey: instead of
- removeObjectForKey:.
-
-2002-06-24 Richard Williamson <rjw@apple.com>
-
- Changed our usage of +[NSFont findFontLike:forString:withRange:inLanguage:]
- after talking with Aki. We were erroneously passing a complete
- string rather than a character cluster. Fixed 2964793.
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (findLengthOfCharacterCluster):
- (-[IFTextRenderer slowPackGlyphsForCharacters:numCharacters:glyphBuffer:numGlyphs:]):
- (-[IFTextRenderer drawGlyphs:numGlyphs:atPoint:withColor:]):
- (-[IFTextRenderer slowDrawCharacters:length:atPoint:withColor:]):
- (-[IFTextRenderer _drawCharacters:length:atPoint:withColor:]):
- (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
- (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]):
-
-2002-06-24 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _transitionProvisionalToCommitted]): Take ownership before
- doing the setWidget. The other way the widget was getting deleted.
-
-2002-06-24 Chris Blumenberg <cblu@apple.com>
-
- * Plugins.subproj/IFPlugin.h:
- * Plugins.subproj/IFPlugin.m:
- (-[IFPlugin initWithPath:]): Close resource files when done.
- (-[IFPlugin load]): Remove Java plug-in workaround, load as mach-o
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView initWithFrame:plugin:url:baseURL:mime:arguments:]): take NSURLs
- (-[IFPluginView dealloc]): release baseURL
- * WebCoreSupport.subproj/IFWebCoreViewFactory.m:
- (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): take NSURLs
- (-[IFWebCoreViewFactory viewForJavaAppletWithArguments:]):
-
-2002-06-24 Darin Adler <darin@apple.com>
-
- Remove some unused stuff. Other minor cleanup.
-
- * WebView.subproj/IFDynamicScrollBarsView.h: Remove breakRecursionCycle,
- don't declare updateScrollers or resetCursorRects.
-
- * WebView.subproj/IFDynamicScrollBarsView.m:
- (-[IFDynamicScrollBarsView updateScrollers]): Make this work even for a view
- that doesn't allow scrolling, turning off both scrollers in that case.
- (-[IFDynamicScrollBarsView reflectScrolledClipView:]): Call updateScrollers
- unconditionally, letting it decide what to do, rather than looking at
- allowsScrolling. Also, no need to use a boolean to break the recursion cycle,
- now that updateScrollers does no work if none is needed.
- (-[IFDynamicScrollBarsView setCursor:]): Do nothing if the cursor is not
- changing. Also handle arrowCursor case here.
- (-[IFDynamicScrollBarsView resetCursorRects]): Call discardCursorRects so
- the old rects won't keep accumulating.
- (-[IFDynamicScrollBarsView setAllowsScrolling:]): Always call updateScrollers,
- not just when turning scrolling off.
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView initWithFrame:]): Remove unneeded NSWindowWillCloseNotification
- and isFlipped field.
- (-[IFHTMLView removeNotifications]): Moved here from NSWindowWillCloseNotification.
- (-[IFHTMLView viewWillMoveToWindow:]): Remove all the notifications when the
- view is removed from the window.
- (-[IFHTMLView setNeedsLayout:]): Call setNeedsDisplay in the YES case, so the
- callers don't all have to.
- (-[IFHTMLView isFlipped]): Just return YES. No need to store it.
- (-[IFHTMLView windowResized:]): Add a FIXME, since this is not the way we want
- to handle view resizing for the long run.
- * WebView.subproj/IFHTMLViewPrivate.h: Remove isFlipped.
-
-2002-06-24 Darin Adler <darin@apple.com>
-
- Fix the last of the "leak the world" problems. The KHTMLView was leaking
- in IFHTMLView.
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView dealloc]): Call _reset instead of _stopPlugins, so we get rid
- of the widget too.
- (-[IFHTMLView viewWillMoveToWindow:]): Use _reset now instead of the old
- _stopPlugins; also check that the window isn't already nil so we don't do a
- reset as part of our first install.
- (-[IFHTMLView provisionalDataSourceCommitted:]): Use the new widgetOwned
- flag to tell if the widget should be deleted instead of deciding based on
- whether the dataSource is the main document.
-
- * WebView.subproj/IFHTMLViewPrivate.h: Add a widgetOwned boolean and a
- private _takeOwnershipOfWidget method. Combine _resetWidget and _stopPlugins
- into a single _reset call. Remove _removeSubviews.
-
- * WebView.subproj/IFHTMLViewPrivate.mm:
- (-[IFHTMLView _reset]): New name for the combination of _resetWidget and
- _stopPlugins. Now it decides whether to delete the widget based on the
- widget owned flag, so it is safe to call even for non-main-document views.
- (-[IFHTMLView _takeOwnershipOfWidget]): Sets widgetOwned to NO.
-
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame reset]): Use _resetWidget
- under its new name _reset.
-
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _transitionProvisionalToCommitted]): Don't bother doing
- explicit _stopPlugins and _removeSubviews. It's now the view's own responsibility
- to do this in viewWillMoveToWindow:. Call _takeOwnershipOfWidget after attaching
- the widget to the RenderPart.
-
- * WebView.subproj/IFImageView.m: (-[IFImageView viewWillMoveToWindow:]): Added.
- Break the reference cycle by stopping animated IFImageRenderer here instead of
- waiting for dealloc.
-
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView setWindow]): Fix a warning
- by changing the printf format string to match the parameter type.
-
- * Misc.subproj/WebKitDebug.h: Re-add the __format__ attribute, now that Radar
- 2920557 is fixed.
-
-2002-06-23 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFImageRenderer.m: (-[IFImageRenderer nextFrame:]):
- Use hasAlpha instead of isOpaque because the latter does not work (Radar 2966937).
-
-2002-06-21 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer nextFrame:]): Add back the higher-speed case where
- we draw directly for opaque animated images.
-
-2002-06-21 Darin Adler <darin@apple.com>
-
- Cache the patterns we make for tiled images for added speed.
-
- * WebCoreSupport.subproj/IFImageRenderer.h: Removed declarations of
- methods inherited from WebCoreImageRenderer. Added patternColor field.
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer dealloc]): Release patternColor.
- (-[IFImageRenderer beginAnimationInRect:fromRect:]): Get the view with
- [NSView focusView] rather than taking a parameter that's used only for
- the animating case.
- (-[IFImageRenderer tileInRect:fromPoint:]): New. Caches the pattern in
- the patternColor field.
-
- * WebView.subproj/IFImageView.m: (-[IFImageView drawRect:]): No need to
- pass view to image renderer any more.
-
-2002-06-21 Darin Adler <darin@apple.com>
-
- Fix rendering of non-opaque animated images.
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer nextFrame:]): Use [NSView displayRect:] instead of
- drawing explicitly so that views behind us get a chance to draw too.
- This is less efficient than just drawing for opaque images, but NSImage
- doesn't offer a way to find out if the image is opaque. Also, this changes
- things a bit because beginAnimationInView gets called again, so we don't
- have to reschedule the timer.
-
-2002-06-20 Richard Williamson <rjw@apple.com>
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer frameDuration]):
- Added minimum 1/60th second duration per frame.
- * WebView.subproj/IFDynamicScrollBarsView.m:
- (-[IFDynamicScrollBarsView updateScrollers]):
- Only display scrollview if scrollers changed.
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _setState:]):
- Explicity turn on copiesOnScroll. This may cause problems w/
- plugins. Need to verify once plugins are no longer crashing.
-
-2002-06-20 Darin Adler <darin@apple.com>
-
- Fix for leak where sub-frame IFHTMLViews would not call _stopPlugins.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView viewWillMoveToWindow:]):
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView viewWillMoveToWindow:]):
- Use this viewWillMoveToWindow instead of removeFromSuperview; it's a more
- reliable way to handle cases where the view is removed from the view hierarchy.
-
- Fix for IFWebFrame -> IFWebDataSource -> LoadProgressMonitor -> IFWebFrame
- reference cycle.
-
- * WebView.subproj/IFLocationChangeHandler.h: Add dataSource parameters for the
- methods that don't have them so this can be "delegate" style.
- * WebView.subproj/IFWebController.h: Pass a dataSource instead of a frame
- when asking for a location change handler.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- Pass dataSource for locationChangeDone.
-
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]):
- Pass dataSource for locationChangeStarted.
-
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]):
- Pass a dataSource instead of a frame when asking for a location change handler.
-
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _transitionProvisionalToCommitted]): Pass dataSource for
- locationChangeCommitted.
- (-[IFWebFrame _isLoadComplete]): Pass dataSource for locationChangeDone.
-
- * force-clean-timestamp: Give this mechanism a try. I'm not sure
- we really need a clean build right now.
-
- * WebView.subproj/IFWebDataSource.mm: Simplify.
-
-2002-06-20 Kenneth Kocienda <kocienda@apple.com>
-
- A more complete fix for this bug:
-
- Radar 2942728 (Link to Yahoo! Finance stocks page fails, says URL is "not a valid location")
-
- I added a new +(NSURL)_IF_URLWithString: method to IFNSURLExtensions.
- This is now the suggested way to create a URL from a string.
-
- * History.subproj/IFURIEntry.m:
- (-[IFURIEntry initFromDictionaryRepresentation:])
- * History.subproj/IFURLsWithTitles.m:
- (+[IFURLsWithTitles URLsFromPasteboard:])
- * History.subproj/IFWebHistoryPrivate.m:
- (-[IFWebHistoryPrivate updateURL:title:displayTitle:forURL:])
- * Plugins.subproj/IFNullPluginView.mm:
- (-[IFNullPluginView initWithFrame:mimeType:arguments:])
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView initWithFrame:plugin:url:mime:arguments:])
- (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:])
- * WebCoreSupport.subproj/IFWebCoreViewFactory.m:
- (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:])
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSource _startLoading:])
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView performDragOperation:])
-
-=== Alexander-9 ===
-
-2002-06-19 Richard Williamson <rjw@apple.com>
-
- Break image renderer reference cycle. When a view is removed from the view
- hierarchy active image renderers are told to stop animating,
- which will, in turn, cause them to release their view. We leverage
- the existing _stopPlugins mechanism.
-
- * WebCoreSupport.subproj/IFImageRenderer.h:
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (+[IFImageRenderer stopAnimationsInView:]):
- (-[IFImageRenderer beginAnimationInView:inRect:fromRect:]):
- (-[IFImageRenderer frameView]):
- (-[IFImageRenderer stopAnimation]):
- * WebView.subproj/IFHTMLViewPrivate.mm:
- (-[IFHTMLView _stopPlugins]):
-
-2002-06-19 John Sullivan <sullivan@apple.com>
-
- - fixed 2960677 -- attempt to insert nil key; content policy set twice on particular page.
-
- The problem here was a bad URL not being propogated through the error-handling machinery
- correctly because the url handle was nil, but used to get its string.
-
- * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
- (+[IFResourceURLHandleClient startLoadingResource:withURL:dataSource:]):
- * WebView.subproj/IFWebControllerPrivate.mm: Use IFError init method that takes
- failingURL.
-
- (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:complete:]):
- (-[IFWebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
- Check [error failingURL] when resource handle is nil.
-
-2002-06-19 Darin Adler <darin@apple.com>
-
- Fixed a storage leak and made some other changes to go along with
- corresponding WebCore changes.
-
- * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
- (-[IFResourceURLHandleClient didStartLoadingWithURL:]): Added.
- (-[IFResourceURLHandleClient didStopLoading]): Added.
- (-[IFResourceURLHandleClient dealloc]):
- (-[IFResourceURLHandleClient IFURLHandleResourceDidBeginLoading:]):
- (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]):
- (-[IFResourceURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFResourceURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
- (-[IFResourceURLHandleClient IFURLHandle:didRedirectToURL:]):
- Use didStartLoadingWithURL and didStopLoading to cure problems where the
- handle would be left in the data sources list of loading handles.
-
- * WebView.subproj/IFDynamicScrollBarsView.h: Changed to conform to the
- WebCoreFrameView protocol.
-
- * Misc.subproj/WebKitDebug.h: Cloned improved assert code from WebFoundation.
-
- * WebView.subproj/IFDynamicScrollBarsView.m: Fixed comment.
-
-2002-06-19 Chris Blumenberg <cblu@apple.com>
-
- Call setWindow in layout so that plug-in content is drawn without
- needing to resize.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView layout]):
- (-[IFPluginView viewHasMoved:]):
-
-2002-06-19 Kenneth Kocienda <kocienda@apple.com>
-
- I just played alchemical voodoo games with the linker to
- make all our frameworks and Alexander prebound.
-
- * WebKit.pbproj/project.pbxproj
-
-2002-06-18 Chris Blumenberg <cblu@apple.com>
-
- Fix for 2961733 - Progress of plug-in files not shown in activity window
- Plugin classed must call _IF_superviewWithName: not _IF_parentWebView
-
- * Plugins.subproj/IFNullPluginView.mm:
- (-[IFNullPluginView drawRect:]):
- * Plugins.subproj/IFPluginStream.mm: minor cleanup
- (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]):
- (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]):
- (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]):
- (-[IFPluginStream IFURLHandle:didRedirectToURL:]):
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView start]):
- (-[IFPluginView layout]):
-
-2002-06-18 Chris Blumenberg <cblu@apple.com>
-
- Enabled the viewing of plug-in content inline
- (aka direct links to plugin media). Made IFPluginView a
- IFDocumentView and IFPluginStream a IFDocumentRespresentation.
-
- Renamed content policy API's to include the data source.
-
- * Plugins.subproj/IFPluginDatabase.h:
- * Plugins.subproj/IFPluginDatabase.m:
- (+[IFPluginDatabase installedPlugins]): registers plugins as IFDocument*
- * Plugins.subproj/IFPluginStream.h:
- * Plugins.subproj/IFPluginStream.mm:
- (-[IFPluginStream init]): added for IFDocumentRepresentation
- (-[IFPluginStream initWithURL:pluginPointer:notifyData:attributes:]): removed load initiliazatoin
- (-[IFPluginStream dealloc]):
- (-[IFPluginStream startLoad]): added
- (-[IFPluginStream stop]):
- (-[IFPluginStream receivedData:]): added as the base implementation
- (-[IFPluginStream receivedError]): added as the base implementation
- (-[IFPluginStream finishedLoadingWithData:]): added as the base implementation
- (-[IFPluginStream receivedData:withDataSource:]): added for IFDocumentRepresentation
- (-[IFPluginStream receivedError:withDataSource:]): added for IFDocumentRepresentation
- (-[IFPluginStream finishedLoadingWithDataSource:]): added for IFDocumentRepresentation
- (-[IFPluginStream IFURLHandleResourceDidBeginLoading:]):
- (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]): call receivedData
- (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]): call finishedLoadingWithData
- (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]): call receivedError
- (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): call receivedError
- (-[IFPluginStream IFURLHandle:didRedirectToURL:]):
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView initWithFrame:plugin:url:mime:arguments:]): removed special-case code for NP_FULL mose
- (-[IFPluginView start]):
- (-[IFPluginView initWithFrame:]): added for IFDocumentView
- (-[IFPluginView provisionalDataSourceChanged:]): added for IFDocumentView
- (-[IFPluginView provisionalDataSourceCommitted:]): added for IFDocumentView
- (-[IFPluginView dataSourceUpdated:]): added for IFDocumentView
- (-[IFPluginView layout]): added for IFDocumentView
- (-[IFPluginView removeFromSuperview]): call stop
- (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
- (-[IFPluginView pluginInstance]): added
- * WebCoreSupport.subproj/IFWebCoreViewFactory.m:
- (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]): call new init method
- (-[IFWebCoreViewFactory viewForJavaAppletWithArguments:]): call new init method
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFLocationChangeHandler.h: content policy method name changes
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): content policy method name changes
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebController.mm:
- (-[IFWebController haveContentPolicy:andPath:forDataSource:]): content policy method name changes
- * WebView.subproj/IFWebDataSourcePrivate.h:
-
-2002-06-18 Kenneth Kocienda <kocienda@apple.com>
-
- Fix for this bug:
-
- Radar 2928483 (activity viewer does not show all the pieces of a web page when the page is cached)
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebCoreBridge objectLoadedFromCache:size:]): New method that sends the appropriate progress indication.
-
-2002-06-17 Richard Williamson <rjw@apple.com>
-
- Fixed window.open regression.
- Partial fix to targeting frame of new name.
-
- * WebCoreSupport.subproj/IFWebCoreBridge.h:
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebCoreBridge openNewWindowWithURL:]):
- Return the newly created bridge.
- (-[IFWebCoreBridge receivedData:withDataSource:]):
- Use setDataSource: method
- (-[IFWebCoreBridge startLoadingResource:withURL:]):
- No change.
- (-[IFWebCoreBridge setDataSource:]):
- New method.
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView mouseMovedNotification:]):
- Selection support.
- (-[IFHTMLView mouseDragged:]):
- Selection support.
-
- * WebView.subproj/IFWebController.mm:
- (-[IFWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
- Only change representation if it hasn't been pre-bound, or if it's
- class changed.
-
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame initWithName:webView:provisionalDataSource:controller:]):
- More hackery to support window.open.
-
-2002-06-17 Darin Adler <darin@apple.com>
-
- Fixed many of the reasons that we were leaking the world. But we still leak
- KHTMLPart objects, so there must be more problems.
-
- * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
- (+[IFResourceURLHandleClient startLoadingResource:withURL:dataSource:]):
- Add missing autorelease. Without this, we leak the world.
- (-[IFResourceURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
- Weaken assert. It was firing before.
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebCoreBridge receivedData:withDataSource:]): Don't retain the
- dataSource any more. Without this, we leak the world.
-
- * WebView.subproj/IFWebControllerPrivate.mm:
- (-[IFWebControllerPrivate dealloc]): Release the policy handler too.
- Without this, we leak the world.
-
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSourcePrivate dealloc]): Release resourceData, representation,
- downloadPath, encoding, and contentType. Without this, we leak the world.
-
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame initWithName:webView:provisionalDataSource:controller:]):
- Release the dummy data source after setting it up so it doesn't leak.
-
- * WebView.subproj/IFHTMLViewPrivate.mm:
- (-[IFHTMLViewPrivate dealloc]): Don't release the controller, we didn't retain it.
- (-[IFHTMLView _resetWidget]): Delete the provisional widget too.
-
- * WebView.subproj/IFWebDataSourcePrivate.h: Remove unused "children" array.
-
- * WebCoreSupport.subproj/IFImageRenderer.m: Fix comment.
- * WebView.subproj/IFHTMLView.mm: Fix comments.
-
-2002-06-17 Richard Williamson <rjw@apple.com>
-
- Fixed call to renamed progress method.
-
- * Plugins.subproj/IFPluginStream.mm:
-
-2002-06-17 Chris Blumenberg <cblu@apple.com>
-
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource contentType]): no changes
- (-[IFWebDataSource fileType]): added. Returns extension based on MIME.
-
-2002-06-17 Richard Williamson <rjw@apple.com>
-
- Added explicit complete check for resources, rather
- than depend on bytesSoFar == totalToLoad.
-
- * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
- (-[IFResourceURLHandleClient receivedProgressWithHandle:complete:]):
- (-[IFResourceURLHandleClient IFURLHandleResourceDidBeginLoading:]):
- (-[IFResourceURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- (-[IFResourceURLHandleClient IFURLHandleResourceDidCancelLoading:]):
- (-[IFResourceURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
- * WebView.subproj/IFWebControllerPrivate.h:
- * WebView.subproj/IFWebControllerPrivate.mm:
- (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:complete:]):
-
-2002-06-17 Chris Blumenberg <cblu@apple.com>
-
- Fix for 2939881. No more overwritting of one's files.
-
- * Misc.subproj/IFDownloadHandler.mm:
- (-[IFDownloadHandler receivedData:]):
- (-[IFDownloadHandler finishedLoading]):
-
-2002-06-17 Richard Williamson <rjw@apple.com>
-
- Fixed IFImageViews not drawing correctly.
-
- Changed compeletion to explicity use IFURLHandleResourceDidFinishLoading, rather
- than depend on bytesSoFar == totalToLoad.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- * WebView.subproj/IFWebControllerPrivate.h:
- * WebView.subproj/IFWebControllerPrivate.mm:
- (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:complete:]):
-
-2002-06-16 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFWebCoreFrame.m: (-[IFWebCoreFrame bridge]): Added.
-
-2002-06-16 Darin Adler <darin@apple.com>
-
- Add a separate WebCoreFrame alongside WebCoreBridge to facilitate
- handling of frames with no HTML content in them. This probably fixes
- frames named "_blank".
-
- * WebCoreSupport.subproj/IFResourceURLHandleClient.m:
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebCoreBridge frame]): Added.
- (-[IFWebCoreBridge parent]): Changed name from parentFrame, to emphasize that this gives a WebCoreBridge.
- (-[IFWebCoreBridge childFrames]): Return IFWebCoreFrame objects.
- (-[IFWebCoreBridge childFrameNamed:]): Return IFWebCoreFrame object.
- (-[IFWebCoreBridge descendantFrameNamed:]): Return IFWebCoreFrame object.
- (-[IFWebCoreBridge createChildFrameNamed:withURL:renderPart:khtml::allowsScrolling:marginWidth:marginHeight:]):
- Use the loadURL operation in IFWebCoreFrame.
- (-[IFWebCoreBridge mainFrame]): Return IFWebCoreFrame object.
- (-[IFWebCoreBridge frameNamed:]): Return IFWebCoreFrame object.
-
- * WebCoreSupport.subproj/IFWebCoreFrame.h: Added.
- * WebCoreSupport.subproj/IFWebCoreFrame.m: Added.
- * WebKit.pbproj/project.pbxproj: Update for added files.
-
- * WebView.subproj/IFHTMLViewPrivate.h: Made this includable from plain Objective C.
-
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame initWithName:webView:provisionalDataSource:controller:]): Create the IFWebCoreFrame.
-
- * WebView.subproj/IFWebFramePrivate.h: Add _bridgeFrame method for getting IFWebCoreFrame.
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFramePrivate dealloc]): Release the IFWebCoreFrame.
- (-[IFWebFrame _bridgeFrame]): Added.
-
-2002-06-16 Darin Adler <darin@apple.com>
-
- Moved the IFURLHandleClient subclass here from WebCore, so it can some day be merged
- with the one for the frames themselves; this one is for resources.
-
- * WebCoreSupport.subproj/IFResourceURLHandleClient.h: Added.
- * WebCoreSupport.subproj/IFResourceURLHandleClient.m: Added.
- * WebKit.pbproj/project.pbxproj: Added IFResourceURLHandleClient.h and .m.
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebCoreBridge startLoadingResource:withURL:]): Added.
- Removed all the old methods, with their guts moved into IFResourceURLHandleClient.
-
-2002-06-15 Darin Adler <darin@apple.com>
-
- Update for frame-related changes in WebCore.
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebFrame _bridge]): Look at provisional data source first.
- (-[IFWebCoreBridge dealloc]): Release the data source.
- (-[IFWebCoreBridge parentFrame]): Renamed.
- (-[IFWebCoreBridge childFrames]): Renamed.
- (-[IFWebCoreBridge childFrameNamed:]): Added.
- (-[IFWebCoreBridge descendantFrameNamed:]): Added.
- (-[IFWebCoreBridge didFinishLoadingWithHandle:]): Don't call _didStopLoading twice
- when we finish loading.
-
- Also changed controller getters to call [dataSource controller] and got rid of the
- [IFWebCoreBridge controller] method.
-
-2002-06-15 Richard Williamson <rjw@apple.com>
-
- * Misc.subproj/IFNSViewExtras.h:
- * Misc.subproj/IFNSViewExtras.m:
- (-[NSView _IF_superviewWithName:]):
- (-[NSView _IF_parentWebView]):
- Replaced use of _IF_superviewWithName w/ safer _IF_parentWebView.
- * Plugins.subproj/IFNullPluginView.mm:
- (-[IFNullPluginView drawRect:]):
- Replaced use of _IF_superviewWithName w/ safer _IF_parentWebView.
- * Plugins.subproj/IFPluginStream.mm:
- (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]):
- (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]):
- (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]):
- Call _receiveProgress instead of directly calling handler.
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView start]):
- Replaced use of _IF_superviewWithName w/ safer _IF_parentWebView.
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebCoreBridge loadURL:attributes:flags:inFrame:withParent:]):
- Handle changing top frame correctly. Parent may be nil.
- (-[IFWebCoreBridge didFinishLoadingWithHandle:]):
- Added non-terminal error case.
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView provisionalDataSourceCommitted:]):
- Replaced use of _IF_superviewWithName w/ safer _IF_parentWebView.
- * WebView.subproj/IFMainURLHandleClient.mm:
- * WebView.subproj/IFWebControllerPrivate.mm:
- Comment changes.
-
-2002-06-15 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- Added a lot of assertions that I had used while debugging.
- (-[IFWebCoreBridge didRedirectWithHandle:fromURL:]):
- Commented out the line of code that calls [serverRedirectTo:forDataSource:].
- Our old code was sending this to the web controller (that was a bug).
- But if we send it to the location change handler, then we confuse Alexander.
- We may return to this later, uncomment it, and change the interface so the
- client can tell what is being redirected. We'll need to do that if we want
- the activity window to show redirected URLs at the time of the redirect.
-
-2002-06-15 Richard Williamson <rjw@apple.com>
-
- Fixed _bridge not accounting for provisional data source,
- broke access to window.frames during load.
-
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebFrame _bridge]):
- (-[IFWebCoreBridge children]):
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _isLoadComplete]):
-
-2002-06-15 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView provisionalDataSourceChanged:]): Don't turn negative numbers into
- 0 for margins. This was a mistake.
-
-2002-06-15 Darin Adler <darin@apple.com>
-
- - fixed 2942808 -- remove all calls to WebKit from WebCore
-
- Update to use the WebCore bridge for more things, reducing
- dependencies in both directions. Besides using the bridge for all the
- remaining WebCore to WebKit calls, almost no WebKit code deals with
- KHTMLPart directly any more, instead the other side of the bridge handles it.
-
- * Plugins.subproj/IFPluginStream.mm:
- (-[IFPluginStream IFURLHandleResourceDidBeginLoading:]): Remove unneeded casts.
- (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]):
- (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]):
- (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]):
- (-[IFPluginStream IFURLHandle:didRedirectToURL:]):
- Use the new IFProgress methods to simplify code.
-
- * WebCoreSupport.subproj/IFWebCoreBridge.h: Use the new WebCoreBridge protocol
- so we get a compiler error if we forget to implement anything. Add a method for
- IFWebDataSource that gets the WebCoreBridge if it has an IFHTMLRepresentation,
- and nil otherwise.
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebDataSource _bridge]): Add; does checking so that it returns
- nil if the representation is not an IFHTMLRepresentation. This is now used
- almost everywhere so we don't have to do so much type casting.
- (-[IFWebCoreBridge loadURL:attributes:flags:inFrame:withParent:]): Remove a
- stray use of [IFWebCoreBridge dataSource] so we can remove it.
- (-[IFWebCoreBridge receivedData:withDataSource:]): Use the
- new [WebCoreBridge openURL:] and [WebCoreBridge addData:] methods from the
- other side of the bridge so we don't have to deal with the KHTMLPart directly.
- (-[IFWebCoreBridge addHandle:]): Added.
- (-[IFWebCoreBridge removeHandle:]): Added.
- (-[IFWebCoreBridge didStartLoadingWithHandle:]): Added.
- (-[IFWebCoreBridge receivedProgressWithHandle:]): Added.
- (-[IFWebCoreBridge didFinishLoadingWithHandle:]): Added.
- (-[IFWebCoreBridge didCancelLoadingWithHandle:]): Added.
- (-[IFWebCoreBridge didFailBeforeLoadingWithError:]): Added.
- (-[IFWebCoreBridge didFailToLoadWithHandle:error:]): Added.
- (-[IFWebCoreBridge didRedirectWithHandle:fromURL:]): Added.
-
- * WebView.subproj/IFHTMLRepresentation.h: Remove unneeded declarations.
- * WebView.subproj/IFHTMLRepresentation.mm: Remove [IFHTMLRepresentation part].
- * WebView.subproj/IFHTMLRepresentationPrivate.h: Remove [IFHTMLRepresentation part].
-
- * WebView.subproj/IFHTMLView.mm: (-[IFHTMLView provisionalDataSourceChanged:]): Use the bridge.
-
- * WebView.subproj/IFHTMLViewPrivate.mm: Remove a bunch of unused stuff that was
- there for the render and document tree viewers. I had removed it once before but
- it got re-added as a side effect of the reorganization process.
-
- * WebView.subproj/IFLoadProgress.h: Remove the unused IFLoadType -- we can add
- it back if we find that it's needed. It didn't do much good to have it here
- and only partly implemented, and I don't think it's needed. Added some convenient
- interfaces for creating IFLoadProgress objects.
-
- * WebView.subproj/IFLoadProgress.mm: Get rid of WCSetIFLoadProgressMakeFunc stuff.
- (-[IFLoadProgress init]): Added.
- (-[IFLoadProgress initWithBytesSoFar:totalToLoad:]): Remove type part.
- (-[IFLoadProgress initWithURLHandle:]): Added.
- (+[IFLoadProgress progress]): Added.
- (+[IFLoadProgress progressWithBytesSoFar:totalToLoad:]): Added.
- (+[IFLoadProgress progressWithURLHandle:]): Added.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient dealloc]): Add more workaround for 2954901.
- (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]):
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
- (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
- Remove unneeded type casts and simplify by using new IFLoadProgress methods.
- Also simplify access to _bridge by using [IFWebDataSource _bridge].
-
- * WebView.subproj/IFWebControllerPrivate.mm:
- * WebView.subproj/IFWebFrame.mm:
- Remove unneeded include of KHTMLPart header.
-
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource documentTextFromDOM]):
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _stopLoading]):
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]):
- Use bridge.
-
-2002-06-15 Maciej Stachowiak <mjs@apple.com>
-
- Made Development build mode mean what Unoptimized used to mean. Removed Unoptimized build mode.
- Added a Mixed build mode which does what Deployment used to. All this to fix:
-
- Radar 2955367 - Change default build style to "Unoptimized"
-
- * WebKit.pbproj/project.pbxproj:
-
-2002-06-15 Maciej Stachowiak <mjs@apple.com>
-
- Added temporary workardound for Radar 2954901 by making the assertion more lenient.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
-
-2002-06-14 Richard Williamson <rjw@apple.com>
-
- Removed redundant private _isDocumentHTML method.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSource _stopLoading]):
- (-[IFWebDataSource _addError:forResource:]):
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _isLoadComplete]):
-
-2002-06-14 Richard Williamson <rjw@apple.com>
-
- Added handlers to IFWebController. Should eventually be possible to use
- IFWebController w/o subclassing.
-
- Changed IFResourceProgressHandler to pass back resource handle instead of
- string description. This will address the needs descibed in 2954160.
-
- Fixed many incorrect references to datasource reps.
-
- * Plugins.subproj/IFNullPluginView.mm:
- (-[IFNullPluginView drawRect:]):
- * Plugins.subproj/IFPluginStream.mm:
- (-[IFPluginStream IFURLHandle:resourceDataDidBecomeAvailable:]):
- (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]):
- (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]):
- * WebCoreSupport.subproj/IFWebCoreBridge.mm:
- (-[IFWebDataSource _bridge]):
- (-[IFWebCoreBridge createNewFrameNamed:withURL:renderPart:khtml::allowsScrolling:marginWidth:marginHeight:]):
- * WebView.subproj/IFDocument.h:
- * WebView.subproj/IFHTMLRepresentation.h:
- * WebView.subproj/IFHTMLRepresentationPrivate.h:
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView provisionalDataSourceChanged:]):
- (-[IFHTMLView viewWillStartLiveResize]):
- (-[IFHTMLView viewDidEndLiveResize]):
- * WebView.subproj/IFImageView.m:
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
- (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebController.mm:
- (-[IFWebController createFrameNamed:for:inParent:allowsScrolling:]):
- (-[IFWebController setResourceProgressHandler:]):
- (-[IFWebController resourceProgressHandler]):
- (-[IFWebController setPolicyHandler:]):
- (-[IFWebController policyHandler]):
- (+[IFWebController defaultURLPolicyForURL:]):
- * WebView.subproj/IFWebControllerPrivate.h:
- * WebView.subproj/IFWebControllerPrivate.mm:
- (-[IFWebControllerPrivate dealloc]):
- (-[IFWebController _receivedProgress:forResourceHandle:fromDataSource:]):
- (-[IFWebController _mainReceivedProgress:forResourceHandle:fromDataSource:]):
- (-[IFWebController _receivedError:forResourceHandle:partialProgress:fromDataSource:]):
- (-[IFWebController _mainReceivedError:forResourceHandle:partialProgress:fromDataSource:]):
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource representation]):
- (-[IFWebDataSource isDocumentHTML]):
- (-[IFWebDataSource documentTextFromDOM]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSourcePrivate dealloc]):
- (-[IFWebDataSource _setRepresentation:]):
- (-[IFWebDataSource _stopLoading]):
- (-[IFWebDataSource _isDocumentHTML]):
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame setProvisionalDataSource:]):
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _isLoadComplete]):
-
-2002-06-14 Darin Adler <darin@apple.com>
-
- * Panels.subproj/IFStandardPanels.m: Use the real PTHREAD_ONCE_INIT,
- remove the workaround for 2905545.
-
- * IFWebCoreBridge.h: Moved into WebCoreSupport.subproj.
- * IFWebCoreBridge.mm: Moved into WebCoreSupport.subproj.
- * WebCoreSupport.subproj/IFWebCoreBridge.h: Moved from top level.
- * WebCoreSupport.subproj/IFWebCoreBridge.mm: Moved from top level.
-
- * WebKit.pbproj/project.pbxproj: Update for new file locations.
- Also pass -no-c++filt so we get mangled names (more useful for .exp files),
- and remove PFE_FILE_C_DIALECTS.
-
-2002-06-14 Chris Blumenberg <cblu@apple.com>
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- If content type is the default type and there is no extension, assume HTML.
-
- (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm: Made isDocumentHTML public
- (-[IFWebDataSource isDocumentHTML]):
- (-[IFWebDataSource documentSource]):
- (-[IFWebDataSource documentTextFromDOM]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSource _stopLoading]):
- (-[IFWebDataSource _addError:forResource:]):
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _isLoadComplete]):
-
-2002-06-14 Darin Adler <darin@apple.com>
-
- * Panels.subproj/IFStandardPanels.m: Fix what I broke last time.
-
-2002-06-14 Darin Adler <darin@apple.com>
-
- * Panels.subproj/IFStandardPanels.m:
- (-[IFStandardPanelsPrivate frontmostWindowLoadingURL:]): Change to call webView
- instead of view. Not sure why anyone was able to compile this.
-
- * Plugins.subproj/IFNullPluginView.mm: Remove include of obsolete WCPluginWidget.h.
-
- * WebView.subproj/IFHTMLRepresentation.mm: (-[IFHTMLRepresentation part]):
- Call part instead of KHTMLPart. Not sure why anyone was able to compile this.
-
-2002-06-14 Darin Adler <darin@apple.com>
-
- Add the new bridge class that connects us to WebCore in a nicer way.
- Started to use it for some things. More to come.
-
- * WebKit.pbproj/project.pbxproj:
- * IFWebCoreBridge.h: Added.
- * IFWebCoreBridge.mm: Added.
-
- * Misc.subproj/IFDownloadHandler.mm:
- (-[IFDownloadHandler initWithDataSource:]): Call [super init].
- (-[IFDownloadHandler dealloc]): Call [super dealloc].
- * Plugins.subproj/IFPluginNullEventSender.m:
- (-[IFPluginNullEventSender initializeWithNPP:functionPointer:window:]): Call [super init].
- (-[IFPluginNullEventSender dealloc]): Call [super dealloc].
- * WebView.subproj/IFDOMNode.mm: (-[IFDOMNode dealloc]): Call [super dealloc].
- * WebView.subproj/IFImageView.m: (-[IFImageView dealloc]): Call [super dealloc].
- * WebView.subproj/IFRenderNode.mm: (-[IFRenderNode dealloc]): Call [super dealloc].
-
- * WebView.subproj/IFHTMLRepresentation.h: Moved variables into a private structure so
- this class can be made public.
- * WebView.subproj/IFHTMLRepresentationPrivate.h: Added. Has _bridge method.
- * WebView.subproj/IFHTMLRepresentation.mm:
- (-[IFHTMLRepresentation init]): Call [super init]. Also use the new private structure,
- and allocate the IFWebCoreBridge.
- (-[IFHTMLRepresentation dealloc]): Release the private structure and the IFWebCoreBridge.
- Also, call [super dealloc].
- (-[IFHTMLRepresentation _bridge]): Private method to get to the bridge.
- (-[IFHTMLRepresentation receivedData:withDataSource:]): Use IFWebCoreBridge.
-
- * WebView.subproj/IFWebViewPrivate.h: Add _setMarginWidth and _setMarginHeight.
-
- * WebView.subproj/IFWebDataSourcePrivate.h: Tweak.
- * WebView.subproj/IFWebDataSource.mm: Tweak.
- * History.subproj/IFWebHistoryPrivate.m: Tweak.
-
-2002-06-14 Richard Williamson <rjw@apple.com>
-
- Lots of frame related cleanup. Added attempt to get
- nested scrollbars to work correctly with window's resize
- corner. Still not quite right.
-
- Name change [IFWebFrame view] -> [IFWebFrame webView].
-
- * WebView.subproj/IFDynamicScrollBarsView.m:
- (-[IFDynamicScrollBarsView updateScrollers]):
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView provisionalDataSourceChanged:]):
- (-[IFHTMLView viewDidEndLiveResize]):
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebController.mm:
- (-[IFWebController initWithView:provisionalDataSource:]):
- (-[IFWebController createFrameNamed:for:inParent:inScrollView:]):
- (-[IFWebController _frameForView:fromFrame:]):
- (-[IFWebController frameForView:]):
- (-[IFWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
- * WebView.subproj/IFWebControllerPrivate.mm:
- (-[IFWebControllerPrivate _clearControllerReferences:]):
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame init]):
- (-[IFWebFrame initWithName:webView:provisionalDataSource:controller:]):
- (-[IFWebFrame setWebView:]):
- (-[IFWebFrame webView]):
- (-[IFWebFrame setProvisionalDataSource:]):
- (-[IFWebFrame reset]):
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFramePrivate dealloc]):
- (-[IFWebFramePrivate setWebView:]):
- (-[IFWebFrame _timedLayout:]):
- (-[IFWebFrame _transitionProvisionalToCommitted]):
- (-[IFWebFrame _setState:]):
- (-[IFWebFrame _isLoadComplete]):
-
-2002-06-14 Richard Williamson <rjw@apple.com>
-
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView initWithFrame:]):
- Added notification so we can intelligently add/remove
- mouse move observation when the window becomes/resigns
- main. Also added window close observation so we can
- clean up other observers.
- (-[IFHTMLView viewWillStartLiveResize]):\
- Backed out removal of scroll bars during resize.
- (-[IFHTMLView viewDidEndLiveResize]):
- Backed out removal of scroll bars during resize.
- (-[IFHTMLView windowWillClose:]):
- Clean up observers.
- (-[IFHTMLView windowDidBecomeMain:]):
- Add mouse move observer.
- (-[IFHTMLView windowDidResignMain:]):
- Remove mouse move observer.
- (-[IFHTMLView mouseMovedNotification:]):
- Only pay attention to mouse moves for this window.
- * WebView.subproj/IFImageView.m:
- (-[IFImageView layout]):
- Removed unnecessary scroll view setDrawBackground calls.
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _setState:]):
- Added calls to scroll view setDrawBackground when the view
- rect is valid.
-
-2002-06-14 Chris Blumenberg <cblu@apple.com>
-
- Enabled displaying of text, images and RTF
- Fixed drag & drop
-
-
-2002-06-13 John Sullivan <sullivan@apple.com>
-
- Various changes to better support the pasteboard.
-
- * Bookmarks.subproj/IFBookmark.h,
- * Bookmarks.subproj/IFBookmark.m:
- (+[IFBookmark bookmarkOfType:]): New method.
-
- * Bookmarks.subproj/IFBookmarkLeaf.m:
- (-[IFBookmarkLeaf init]): start out with a non-nil _entry
- (-[IFBookmarkLeaf setTitle:]): added assert
- (-[IFBookmarkLeaf setURLString:]): added assert
-
- * History.subproj/IFURLsWithTitles.h,
- * History.subproj/IFURLsWithTitles.m:
- (+[IFURLsWithTitles arrayWithIFURLsWithTitlesPboardType]),
- (+[IFURLsWithTitles writeURLs:andTitles:toPasteboard:]),
- (+[IFURLsWithTitles titlesFromPasteboard:]),
- (+[IFURLsWithTitles URLsFromPasteboard:]):
- New file with methods for reading/writing pasteboard entry representing
- a list of URLs with associated titles. Used by Bookmarks window and
- History window in Alexander.
-
- * History.subproj/IFWebHistoryPrivate.m:
- (-[IFWebHistoryPrivate removeEntryForURLString:]): refactored to turn a
- WEBKITDEBUG into a more-appropriate WEBKIT_ASSERT.
-
- * WebKit.pbproj/project.pbxproj: Updated for new files.
-
-2002-06-13 Kenneth Kocienda <kocienda@apple.com>
-
- Fixed typo in ChangeLog comment.
-
-2002-06-13 Kenneth Kocienda <kocienda@apple.com>
-
- Fixed uninitialized variable that broke the build.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:])
-
-2002-06-13 Richard Williamson <rjw@apple.com>
-
- Lots of cleanup. Fixed most regressions.
- Added removal of scrollbars during resizing,
- not sure if it's the correct behavior, but it makes resizing
- much smoother. Let's see what people think.
-
- * WebView.subproj/IFDynamicScrollBarsView.h:
- * WebView.subproj/IFDynamicScrollBarsView.m:
- (-[IFDynamicScrollBarsView initWithFrame:]):
- (-[IFDynamicScrollBarsView reflectScrolledClipView:]):
- (-[IFDynamicScrollBarsView updateScrollers]):
- (-[IFDynamicScrollBarsView setCursor:]):
- (-[IFDynamicScrollBarsView setAllowsScrolling:]):
- (-[IFDynamicScrollBarsView allowsScrolling]):
- * WebView.subproj/IFHTMLView.mm:
- (-[IFHTMLView provisionalDataSourceChanged:]):
- (-[IFHTMLView provisionalDataSourceCommitted:]):
- (-[IFHTMLView viewWillStartLiveResize]):
- (-[IFHTMLView viewDidEndLiveResize]):
- * WebView.subproj/IFHTMLViewPrivate.h:
- * WebView.subproj/IFHTMLViewPrivate.mm:
- (-[IFHTMLViewPrivate dealloc]):
- (-[IFHTMLView _provisionalWidget]):
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _timedLayout:]):
- (-[IFWebFrame _isLoadComplete]):
- * WebView.subproj/IFWebView.h:
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView initWithFrame:]):
- (-[IFWebView setAllowsScrolling:]):
- (-[IFWebView allowsScrolling]):
- (-[IFWebView frameScrollView]):
- (-[IFWebView documentView]):
- (+[IFWebView createViewForMIMEType:]):
- (-[IFWebView isOpaque]):
- (-[IFWebView drawRect:]):
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm:
- (-[IFWebViewPrivate dealloc]):
- (-[IFWebView _setDocumentView:]):
-
-2002-06-13 Chris Blumenberg <cblu@apple.com>
-
- Removed MIME.subproj. Moved IFDownloadHandler to Misc.
-
- * MIME.subproj/IFDownloadHandler.h: Removed.
- * MIME.subproj/IFDownloadHandler.mm: Removed.
- * Misc.subproj/IFDownloadHandler.h: Added.
- * Misc.subproj/IFDownloadHandler.mm: Added.
- (-[IFDownloadHandler initWithDataSource:]):
- (-[IFDownloadHandler dealloc]):
- (-[IFDownloadHandler receivedData:isComplete:]):
- (-[IFDownloadHandler cancel]):
- * WebKit.pbproj/project.pbxproj:
-
-2002-06-13 Chris Blumenberg <cblu@apple.com>
-
- Fixed downloads.
- Now write out download files as data comes in.
- Removed useless lproj's.
-
- * Dutch.lproj/InfoPlist.strings: Removed.
- * Dutch.lproj/Localizable.strings: Removed.
- * French.lproj/InfoPlist.strings: Removed.
- * French.lproj/Localizable.strings: Removed.
- * German.lproj/InfoPlist.strings: Removed.
- * German.lproj/Localizable.strings: Removed.
- * Italian.lproj/InfoPlist.strings: Removed.
- * Italian.lproj/Localizable.strings: Removed.
- * Japanese.lproj/InfoPlist.strings: Removed.
- * Japanese.lproj/Localizable.strings: Removed.
- * MIME.subproj/IFDownloadHandler.h:
- * MIME.subproj/IFDownloadHandler.mm:
- (-[IFDownloadHandler dealloc]):
- (-[IFDownloadHandler receivedData:isComplete:]): added
- (-[IFDownloadHandler cancel]): added
- * Spanish.lproj/InfoPlist.strings: Removed.
- * Spanish.lproj/Localizable.strings: Removed.
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFMainURLHandleClient.h:
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient initWithDataSource:]): removed unused BOOL
- (-[IFMainURLHandleClient dealloc]):
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
-
-2002-06-12 Chris Blumenberg <cblu@apple.com>
-
- Couldn't run ChangeLog because it hung with the massize diffs, so here's
- a hand-made one.
-
- Changes to support inline views.
-
- Modified Files:
-
- WebKit/ChangeLog WebKit/Plugins.subproj/IFNullPluginView.mm
- WebKit/Plugins.subproj/IFPluginDatabase.h
- WebKit/Plugins.subproj/IFPluginDatabase.m
- WebKit/Plugins.subproj/IFPluginView.mm
- WebKit/WebCoreSupport.subproj/IFImageRenderer.h
- WebKit/WebCoreSupport.subproj/IFWebCoreViewFactory.m
- WebKit/WebKit.pbproj/project.pbxproj
- WebKit/WebView.subproj/IFDOMNode.mm
- WebKit/WebView.subproj/IFDynamicScrollBarsView.m
- WebKit/WebView.subproj/IFMainURLHandleClient.h
- WebKit/WebView.subproj/IFMainURLHandleClient.mm
- WebKit/WebView.subproj/IFRenderNode.mm
- WebKit/WebView.subproj/IFWebController.h
- WebKit/WebView.subproj/IFWebController.mm
- WebKit/WebView.subproj/IFWebControllerPrivate.h
- WebKit/WebView.subproj/IFWebControllerPrivate.mm
- WebKit/WebView.subproj/IFWebDataSource.h
- WebKit/WebView.subproj/IFWebDataSource.mm
- WebKit/WebView.subproj/IFWebDataSourcePrivate.h
- WebKit/WebView.subproj/IFWebDataSourcePrivate.mm
- WebKit/WebView.subproj/IFWebFrame.mm
- WebKit/WebView.subproj/IFWebFramePrivate.h
- WebKit/WebView.subproj/IFWebFramePrivate.mm
- WebKit/WebView.subproj/IFWebView.h
- WebKit/WebView.subproj/IFWebView.mm
- WebKit/WebView.subproj/IFWebViewPrivate.h
- WebKit/WebView.subproj/IFWebViewPrivate.mm
-
- Added Files:
-
- WebKit/Misc.subproj/IFNSViewExtras.h
- WebKit/Misc.subproj/IFNSViewExtras.m
- WebKit/WebView.subproj/IFDocument.h
- WebKit/WebView.subproj/IFHTMLRepresentation.h
- WebKit/WebView.subproj/IFHTMLRepresentation.mm
- WebKit/WebView.subproj/IFHTMLView.h
- WebKit/WebView.subproj/IFHTMLView.mm
- WebKit/WebView.subproj/IFHTMLViewPrivate.h
- WebKit/WebView.subproj/IFHTMLViewPrivate.mm
- WebKit/WebView.subproj/IFImageRepresentation.h
- WebKit/WebView.subproj/IFImageRepresentation.m
- WebKit/WebView.subproj/IFImageView.h
- WebKit/WebView.subproj/IFImageView.m
- WebKit/WebView.subproj/IFTextRepresentation.h
- WebKit/WebView.subproj/IFTextRepresentation.m
- WebKit/WebView.subproj/IFTextView.h
- WebKit/WebView.subproj/IFTextView.m
-
- Removed Files:
-
- WebKit/MIME.subproj/IFContentHandler.h
- WebKit/MIME.subproj/IFContentHandler.m
- WebKit/MIME.subproj/IFMIMEHandler.h
- WebKit/MIME.subproj/IFMIMEHandler.m
-
-
-2002-06-12 Kenneth Kocienda <kocienda@apple.com>
-
- * Misc.subproj/WebKitDebug.h: Made assertion failure console message bolder and easier to see.
-
-2002-06-11 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- Add lots of assertions that allowed me to find the "leak the world" bug that Ken
- fixed in WebFoundation. These are a good idea anyway.
-
- * Plugins.subproj/IFPluginStream.mm:
- (-[IFPluginStream initWithURL:pluginPointer:notifyData:attributes:]): Use cStringLength
- to get the length for the cString rather than assuming that length will be right.
- (-[IFPluginStream IFURLHandle:didRedirectToURL:]): Add a FIXME.
-
-2002-06-11 John Sullivan <sullivan@apple.com>
-
- Made methods that convert bookmarks to and from
- property-list-compatible dictionaries public so they
- can be used in the Bookmarks window for cut/paste.
-
- * Bookmarks.subproj/IFBookmark.h:
- * Bookmarks.subproj/IFBookmark.m:
- (+[IFBookmark bookmarkFromDictionaryRepresentation:withGroup:]): New method
-
- (-[IFBookmark initFromDictionaryRepresentation:withGroup:]):
- (-[IFBookmark dictionaryRepresentation]):
- * Bookmarks.subproj/IFBookmarkGroup.m:
- (-[IFBookmarkGroup _loadBookmarkGroupGuts]):
- (-[IFBookmarkGroup _saveBookmarkGroupGuts]):
- * Bookmarks.subproj/IFBookmarkLeaf.m:
- (-[IFBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
- (-[IFBookmarkLeaf dictionaryRepresentation]):
- * Bookmarks.subproj/IFBookmarkList.m:
- (-[IFBookmarkList initFromDictionaryRepresentation:withGroup:]):
- (-[IFBookmarkList dictionaryRepresentation]):
- * Bookmarks.subproj/IFBookmarkSeparator.m:
- (-[IFBookmarkSeparator initFromDictionaryRepresentation:withGroup:]):
- (-[IFBookmarkSeparator dictionaryRepresentation]):
- * Bookmarks.subproj/IFBookmark_Private.h: Removed leading underscores from
- _initFromDictionaryRepresentation and _dictionaryRepresentation, and made
- them public.
-
-2002-06-11 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFDOMNode.h: Added.
- * WebView.subproj/IFDOMNode.mm: Added.
- * WebView.subproj/IFRenderNode.h: Added.
- * WebView.subproj/IFRenderNode.mm: Added.
- These contain all the interesting bits of the code for the render
- and DOM tree viewers, mostly moved here from WebBrowser.
-
- * WebView.subproj/IFWebViewPrivate.mm: Remove the methods in here that
- aren't declared in the header and are only used for the render and DOM
- tree viewers.
-
- * WebKit.pbproj/project.pbxproj: Add new files.
-
-2002-06-10 Darin Adler <darin@apple.com>
-
- * Makefile.am: Do a clean before building if the force-clean-timestamp file is
- newer than the previous-clean-timestamp. Edit force-clean-timestamp (doesn't
- matter what you change as long as you change it) to force a clean build in WebKit.
- * force-clean-timestamp: Added.
- * .cvsignore: Ignore previous-clean-timestamp.
-
-2002-06-10 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFTextRenderer.h: Remove the flavor of
- floatWidthForCharacters without the applyRounding boolean.
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]): Remove logic about
- characters in the 0x7F-0xA0 range, since it's already handled by the time we get
- around to drawing.
- (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]): Pass in the
- applyRounding boolean when calling through to slowFloatWidthForCharacters.
- Move logic about characters in the 0x7F-0xA0 range from here into
- [extendCharacterToGlyphMapToInclude:].
- (-[IFTextRenderer widthForCharacters:length:]): Call the version of
- floatWidthForCharacters that takes the applyRounding parameter; this was the only
- client of the flavor that didn't take the parameter.
- (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]): Add the logic about
- characters in the 0x7F-0xA0 range into here.
-
-2002-06-10 Richard Williamson <rjw@apple.com>
-
- Tweaks to rounding code.
-
- Added Cocoa-exact width measurement emulation flag to support IFStringTruncator.
-
- Remove code that was already conditionally excluded calls to support
- non-specified advance drawing (we now depend on tweaked advances).
-
- * Misc.subproj/IFStringTruncator.m:
- (+[IFStringTruncator centerTruncateString:toWidth:withFont:]):
- * WebCoreSupport.subproj/IFTextRenderer.h:
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer initWithFont:]):
- (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
- (-[IFTextRenderer slowFloatWidthForCharacters:length:applyRounding:]):
- (-[IFTextRenderer slowFloatWidthForCharacters:length:]):
- (-[IFTextRenderer floatWidthForCharacters:length:applyRounding:]):
- (-[IFTextRenderer floatWidthForCharacters:length:]):
- (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]):
-
-2002-06-10 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFCachedTextRenderer.m: Removed.
-
-2002-06-10 John Sullivan <sullivan@apple.com>
-
- Fixed leaks in History mechanism, found by overriding
- release, retain, autorelease, and dealloc and watching
- the spam fly.
-
- * History.subproj/IFWebHistoryPrivate.m:
- (-[IFWebHistoryPrivate addEntry:]): Make autoreleased array for
- entries on a given date.
- (-[IFWebHistoryPrivate _loadHistoryGuts:]): autorelease entries
- as they are generated from data on disk.
-
-2002-06-10 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
- Fix a typo where I left the S off of DRAW_WITHOUT_ADVANCES.
-
-2002-06-10 Richard Williamson <rjw@apple.com>
-
- 90% solution to round-off problem. khtml breaks measures text on space
- boundaries during layout. It assumes integer measurement, CG uses float
- measurements. Some common fonts have non-integer space width. So,
- differences in between drawing advances and measurement of space characters
- can easily accumulate enough to be visually apparent. We may still accumulate
- differences across words, although it's much less visible than for spaces.
- As a next step we can fudge the advances of words to force
- integer widths, although I think, given how khtml work, just accounting for
- consistency in measuring and drawing spaces may be sufficient.
- Many sites that looked flaky before now render correctly.
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
-
- Force rounding of advance for space characters.
-
- (-[IFTextRenderer floatWidthForCharacters:length:]):
-
- Force rounding of measurement for space characters.
-
-2002-06-09 John Sullivan <sullivan@apple.com>
-
- WebKit part of fix for 2949646 (Can't drag & drop bookmarks
- into auto-expanded folder). To get this to work right, I gave
- each bookmark a unique (per-session) identifier.
-
- While working on this, I found and fixed some leaks of bookmarks.
-
- * Bookmarks.subproj/IFBookmark.h:
- New -[identifier] method and _identifier ivar.
-
- * Bookmarks.subproj/IFBookmark.m:
- (+[IFBookmark _generateUniqueIdentifier]):
- (-[IFBookmark init]):
- (-[IFBookmark dealloc]):
- Remember unique identifier in each bookmark as it is created;
- delete when dealloc'd.
-
- (-[IFBookmark identifier]): Return unique identifier.
-
- (-[IFBookmark _setParent:]): Don't retain parent, to avoid
- circular ownership.
-
- (-[IFBookmark _setGroup:]): Tell coming and going group.
-
- * Bookmarks.subproj/IFBookmarkGroup.h:
- New +[bookmarkForIdentifier] method and _bookmarksByID ivar.
-
- * Bookmarks.subproj/IFBookmarkGroup_Private.h:
- Declarations of _removedBookmark: and _addedBookmark:
- * Bookmarks.subproj/IFBookmarkGroup.m:
- (-[IFBookmarkGroup initWithFile:]): alloc _bookmarksByID.
- (-[IFBookmarkGroup dealloc]): release _bookmarksByID.
- (-[IFBookmarkGroup _setTopBookmark:]): Don't bail out early;
- would now cause leak.
- (-[IFBookmarkGroup _removedBookmark:]): New method, removes
- bookmark from _bookmarksByID.
- (-[IFBookmarkGroup _addedBookmark:]): New method, adds bookmark to
- _bookmarksByID.
- (-[IFBookmarkGroup bookmarkForIdentifier:]): Looks up bookmark from
- _bookmarksByID dictionary.
- (-[IFBookmarkGroup _loadBookmarkGroupGuts]): autorelease newTopbookmark;
- this had been leaking.
-
- * Bookmarks.subproj/IFBookmarkList.m:
- (-[IFBookmarkList _initFromDictionaryRepresentation:withGroup:]):
- autorelease children before adding them to parent; this had been leaking.
-
-2002-06-09 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
- Fixed a possible uninitialized variable problem that the compiler and Don caught.
-
-2002-06-09 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
- Add code to handle drawing when are more than LOCAL_GLYPH_BUFFER_SIZE advances.
- I ran into this loading <http://jersey.apple.com/data/20020606-074404M0.html>.
- Also fix handling of advances for the obscure case where we hit a non-base character,
- slowPackGlyphsForCharacters fails, and substituteFontforCharacters returns nil.
-
-2002-06-07 Darin Adler <darin@apple.com>
-
- * Makefile.am: Use new shared "embed.am" file so we don't need four copies of
- the embedding rules for WebFoundation, JavaScriptCore, WebCore, and WebKit.
-
-2002-06-07 Darin Adler <darin@apple.com>
-
- * MIME.subproj/IFContentHandler.m: (-[IFContentHandler HTMLDocument]):
- Fix a warning that shows up with the new C++ compiler (not sure why it
- is not showing up with the old one).
-
-2002-06-07 Chris Blumenberg <cblu@apple.com>
-
- Allow plug-ins to make a NPP_*URLNotify request when
- the target is _self, _top, _parent or _current. This goes
- against the plug-in documentation, but mimics IE.
- Need for iTools.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
-
-2002-06-07 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Don't use any warning flags for C that won't work
- for C++, because PFE uses the C warning flags on a C++ compile.
-
-2002-06-07 Chris Blumenberg <cblu@apple.com>
-
- Made IFWebController a class.
- Fixed all places where IFWebController was referred to as a protocol.
- Renamed IFBaseWebController files to IFWebController.
- IFWebController.h replaces IFWebBaseController.h.
-
- Added support for IEPL plug-ins.
-
- * Panels.subproj/IFStandardPanels.m:
- (-[IFStandardPanels _didStartLoadingURL:inController:]):
- (-[IFStandardPanels _didStopLoadingURL:inController:]):
- * Panels.subproj/IFStandardPanelsPrivate.h:
- * Plugins.subproj/IFNullPluginView.mm:
- (-[IFNullPluginView drawRect:]):
- * Plugins.subproj/IFPlugin.h:
- * Plugins.subproj/IFPlugin.m:
- (-[IFPlugin _getPluginInfoForResourceFile:]):
- (-[IFPlugin initWithPath:]):
- (-[IFPlugin load]):
- (-[IFPlugin description]):
- * Plugins.subproj/IFPluginStream.mm:
- (-[IFPluginStream IFURLHandleResourceDidBeginLoading:]):
- (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]):
- (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]):
- (-[IFPluginStream IFURLHandle:didRedirectToURL:]):
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
- (-[IFPluginView webController]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFBaseWebController.h: Removed.
- * WebView.subproj/IFBaseWebController.mm: Removed.
- * WebView.subproj/IFBaseWebControllerPrivate.h: Removed.
- * WebView.subproj/IFBaseWebControllerPrivate.mm: Removed.
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]):
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
- (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebController.mm: Added.
- (-[IFWebController init]):
- (-[IFWebController initWithView:provisionalDataSource:]):
- (-[IFWebController dealloc]):
- (-[IFWebController setDirectsAllLinksToSystemBrowser:]):
- (-[IFWebController directsAllLinksToSystemBrowser]):
- (-[IFWebController createFrameNamed:for:inParent:inScrollView:]):
- (-[IFWebController setStatusText:forDataSource:]):
- (-[IFWebController statusTextForDataSource:]):
- (-[IFWebController openNewWindowWithURL:]):
- (-[IFWebController receivedProgress:forResource:fromDataSource:]):
- (-[IFWebController receivedError:forResource:partialProgress:fromDataSource:]):
- (-[IFWebController provideLocationChangeHandlerForFrame:]):
- (-[IFWebController receivedPageTitle:forDataSource:]):
- (-[IFWebController serverRedirectTo:forDataSource:]):
- (-[IFWebController _frameForDataSource:fromFrame:]):
- (-[IFWebController frameForDataSource:]):
- (-[IFWebController _frameForView:fromFrame:]):
- (-[IFWebController frameForView:]):
- (-[IFWebController frameNamed:]):
- (-[IFWebController mainFrame]):
- (-[IFWebController pluginNotFoundForMIMEType:pluginPageURL:]):
- (-[IFWebController provideLocationChangeHandlerForFrame:andURL:]):
- (-[IFWebController URLPolicyForURL:]):
- (-[IFWebController unableToImplementURLPolicyForURL:error:]):
- (-[IFWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
- (-[IFWebController stopAnimatedImages]):
- (-[IFWebController startAnimatedImages]):
- (-[IFWebController stopAnimatedImageLooping]):
- (-[IFWebController startAnimatedImageLooping]):
- * WebView.subproj/IFWebControllerPrivate.h: Added.
- * WebView.subproj/IFWebControllerPrivate.mm: Added.
- (-[IFWebControllerPrivate init]):
- (-[IFWebControllerPrivate _clearControllerReferences:]):
- (-[IFWebControllerPrivate dealloc]):
- (-[IFWebController _receivedProgress:forResource:fromDataSource:]):
- (-[IFWebController _mainReceivedProgress:forResource:fromDataSource:]):
- (-[IFWebController _receivedError:forResource:partialProgress:fromDataSource:]):
- (-[IFWebController _mainReceivedError:forResource:partialProgress:fromDataSource:]):
- (-[IFWebController _didStartLoading:]):
- (-[IFWebController _didStopLoading:]):
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource controller]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSource _setController:]):
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame initWithName:view:provisionalDataSource:controller:]):
- (-[IFWebFrame controller]):
- (-[IFWebFrame setController:]):
- (-[IFWebFrame frameNamed:]):
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFramePrivate setController:]):
- (-[IFWebFrame _setController:]):
- * WebView.subproj/IFWebView.h:
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView controller]):
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm:
- (-[IFWebView _setController:]):
-
-=== Alexander-8 ===
-
-2002-06-06 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Update warning flags for compatibility
- with new C++.
-
- * WebCoreSupport.subproj/IFTextRenderer.m: (FillStyleWithAttributes):
- Remove workaround we copied from AppKit, because it's a workaround for
- a bug that was fixed in Puma.
-
-2002-06-06 Chris Blumenberg <cblu@apple.com>
-
- Added support for key codes and other encodings.
- Send activate to make Java happy.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView keyMessageForEvent:]): added
- (-[IFPluginView keyUp:]): use above.
- (-[IFPluginView keyDown:]): use above.
- (-[IFPluginView windowBecameKey:]): send activate.
- (-[IFPluginView windowResignedKey:]): send activate.
-
-2002-06-06 John Sullivan <sullivan@apple.com>
-
- * Bookmarks.subproj/IFBookmarkList.m:
- (-[IFBookmarkList removeChild:]):
- (-[IFBookmarkList insertChild:atIndex:]):
- * ChangeLog:
-
-2002-06-06 John Sullivan <sullivan@apple.com>
-
- * Bookmarks.subproj/IFBookmarkList.m:
- (-[IFBookmarkList removeChild:]): Added assert.
- (-[IFBookmarkList insertChild:atIndex:]): Set the group of
- the new child, and added assert.
-
-2002-06-06 Darin Adler <darin@apple.com>
-
- * MIME.subproj/IFContentHandler.m:
- (-[IFContentHandler initWithURL:MIMEType:MIMEHandlerType:]): Add call to
- [super init].
- (-[IFContentHandler useTemplate:withGlobal:]): New helper function.
- Also got rid of <title> from templates, since there's no need for us to
- provide a fake title if it's just the URL.
- (-[IFContentHandler HTMLDocument]): Reduce use of copied and pasted code.
- (-[IFContentHandler dealloc]): Add call to [super dealloc].
-
- * Resources/image_document_template.html: Remove <title>.
- * Resources/plugin_document_template.html: Remove <title>.
- * Resources/text_document_template.html: Remove <title>.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient processData:isComplete:allDataReceived:]):
- Remove some unneeded type casts.
-
-2002-06-05 Maciej Stachowiak <mjs@apple.com>
-
- Fixed Radar 2936155 - crash in IFAuthenticationPanel
-
- * Panels.subproj/IFAuthenticationPanel.m:
- (-[IFAuthenticationPanel runAsSheetOnWindow:withRequest:]): Add
- some assertions.
-
- (-[IFAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
- Avoid referencing instance variables after performing a selector
- that might release this object. Also, add some assertions.
-
- * Panels.subproj/IFPanelAuthenticationHandler.m:
- (-[IFPanelAuthenticationHandler startAuthentication:]): Tweak
- whitespace.
-
-2002-06-05 Richard Williamson <rjw@apple.com>
-
- Fixed snafu in recursion over frame tree.
-
- * WebView.subproj/IFWebFrame.mm:
- (+[IFWebFrame _frameNamed:fromFrame:]):
- (-[IFWebFrame frameNamed:]):
-
-2002-06-05 Richard Williamson <rjw@apple.com>
-
- Normalized frame naming. (We still don't support cross
- window name lookups.)
-
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController frameNamed:]):
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame frameNamed:]):
-
-2002-06-04 Chris Blumenberg <cblu@apple.com>
-
- * MIME.subproj/IFDownloadHandler.mm: Use public methods
- * WebView.subproj/IFWebDataSource.h: Made downloadPath public
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource downloadPath]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
-
-2002-06-04 Richard Williamson <rjw@apple.com>
-
- More exclusion for pre 6C48.
-
- * ChangeLog:
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
- * WebCoreSupport.subproj/IFImageRendererFactory.m:
- (-[IFImageRendererFactory imageRenderer]):
-
-2002-06-04 Richard Williamson <rjw@apple.com>
-
- Oops, excluded even more code for < 6C48.
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
-
-2002-06-04 Kenneth Kocienda <kocienda@apple.com>
-
- * Misc.subproj/WebKitDebug.h: Added a line of stderr output into
- the assertion failure code so that we have some idea of what happened.
-
-2002-06-04 Richard Williamson <rjw@apple.com>
-
- Excluded call to new API until everyone has moved to >= 6C48.
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer incrementalLoadWithBytes:length:complete:]):
-
-2002-06-04 Richard Williamson <rjw@apple.com>
-
- Changes to support progressive image loading. Currently disabled
- until 2945218 is fixed.
-
- * WebCoreSupport.subproj/IFImageRenderer.h:
- * WebCoreSupport.subproj/IFImageRenderer.m:
- * WebCoreSupport.subproj/IFImageRendererFactory.m:
-
-2002-06-04 Darin Adler <darin@apple.com>
-
- - fixed 2932862 -- exception -[NSCFArray getObjects:range:]: index (137)
- beyond bounds (10)
-
- * WebView.subproj/IFWebViewPrivate.mm:
- (-[IFWebView _stopPlugins]):
- (-[IFWebView _removeSubviews]):
- Make a copy of the subviews list so that changes to the list don't screw
- up the iterating logic.
-
-2002-06-04 John Sullivan <sullivan@apple.com>
-
- Made changes here while working on Undo for removing history entries.
-
- * History.subproj/IFWebHistory.h:
- New methods addEntries: and removeEntries:, deleted method
- removeEntriesForDay: (use removeEntries: instead).
-
- * History.subproj/IFWebHistory.m:
- (-[IFWebHistory addEntries:]),
- (-[IFWebHistory removeEntries:]): New methods, each takes an array of
- entries. Useful for doing multiple things at a time to minimize
- notifications.
- (-[IFWebHistory removeEntriesForDay:]): deleted this now-unnecessary method.
- * History.subproj/IFWebHistoryPrivate.h:
- * History.subproj/IFWebHistoryPrivate.m:
- (-[IFWebHistoryPrivate removeEntries:]):
- (-[IFWebHistoryPrivate removeAllEntries]):
- (-[IFWebHistoryPrivate addEntries:]): Private implementations for the
- public changes.
-
-2002-06-04 Darin Adler <darin@apple.com>
-
- - fixed 2943513 -- move StringTruncator into WebKit from WebBrowser so we
- don't need text measuring API exported
-
- * WebKit.pbproj/project.pbxproj: No longer export the text renderer headers
- as Private.
-
-2002-06-04 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Exported IFStringTruncator.h as Private.
-
-2002-06-04 Darin Adler <darin@apple.com>
-
- Moved the string truncator class here from WebBrowser so we don't have to
- export our text machinery.
-
- * WebKit.pbproj/project.pbxproj:
- * Misc.subproj/IFStringTruncator.h: Added.
- * Misc.subproj/IFStringTruncator.m: Added.
-
-2002-06-03 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer beginAnimationInView:inRect:fromRect:]): Remove the "fix"
- for the nonexistent storage leak. Richard showed me the error of my ways.
-
-2002-06-03 John Sullivan <sullivan@apple.com>
-
- Richard told me which line to change to fix 2944237
- (Stop item in View menu enabled on startup if you have
- no home page.)
-
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource isLoading]):
- Don't return YES if !_private->loading.
-
-2002-06-01 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
- (-[IFImageRenderer beginAnimationInView:inRect:fromRect:]):
- Remove an assert I added, since it is firing, and instead fixed the storage leak
- that inspired me to put the assert in.
-
-2002-05-31 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFWebViewPrivate.mm: Add include to prepare for change to WebCore
- that will make it required.
-
-2002-05-31 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFImageRenderer.h: Fixed the line endings (they were
- Macintosh CRs instead of Unix LFs). Also made all the methods be private for
- now since there's no need to have them be public.
-
- * WebCoreSupport.subproj/IFImageRenderer.m: Fixed the line endings (they were
- Macintosh CRs instead of Unix LFs). Some minor code tweaks too sharing a bit
- more code.
-
- * WebCoreSupport.subproj/IFImageRendererFactory.m:
- (-[IFImageRendererFactory imageRendererWithSize:]): Return an IFImageRenderer
- rather than just an NSImage, since an NSImage does not satisfy WebCoreImageRenderer.
-
-2002-05-31 Darin Adler <darin@apple.com>
-
- * Misc.subproj/WebKitDebug.h: Use displayableString in DEBUG_OBJECT
- for nicer logging.
-
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView keyDown:]):
- (-[IFWebView keyUp:]):
- Use DEBUG_OBJECT so we don't get exceptions when the key characters
- are not simple ASCII characters.
-
-2002-05-30 Richard Williamson <rjw@apple.com>
-
- API and comment cleanup.
-
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame setProvisionalDataSource:]):
-
-2002-05-30 Maciej Stachowiak <mjs@apple.com>
-
- WebKit parts of fixes for:
-
- Radar 2926169 - no support for window.open
- Radar 2890469 - Preference to prevent JavaScript from automatically
- opening new windows doesn't work
- Radar 2938569 - link cursor does not appear on some pages
-
- * WebView.subproj/IFWebController.h:
- Added openNewWindowWithURL: method for the benefit of JavaScript.
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController openNewWindowWithURL:]): No-op default
- implementation.
- * WebView.subproj/IFDynamicScrollBarsView.h:
- * WebView.subproj/IFDynamicScrollBarsView.m:
- (-[IFDynamicScrollBarsView setCursor:]): Fix cursor handling.
- (-[IFDynamicScrollBarsView resetCursorRects]): Likewise.
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView mouseMovedNotification:]): Likewise.
- (-[IFWebView setCursor:]): Likewise.
- * WebView.subproj/IFPreferences.h:
- * WebView.subproj/IFPreferences.mm:
- (-[IFPreferences javaScriptEnabled]): Renamed from jScriptEnabled.
- (-[IFPreferences setJavaScriptEnabled:]): Renamed from setJScriptEnabled.
- (-[IFPreferences javaScriptCanOpenWindowsAutomatically]): New method.
- (-[IFPreferences setJavaScriptCanOpenWindowsAutomatically:]): Likewise.
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame initWithName:view:provisionalDataSource:controller:]): Create
- a dummy provisional data source if none is provided, so we always have a part
- for the frame.
-
-2002-05-30 Darin Adler <darin@apple.com>
-
- Use methods in KWQKHTMLPartImpl that were moved there from KHTMLPart.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
- (-[IFMainURLHandleClient processData:isComplete:allDataReceived:]):
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource documentText]):
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSource _setController:]):
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _isLoadComplete]):
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView provisionalDataSourceChanged:]):
-
-2002-05-30 Chris Blumenberg <cblu@apple.com>
-
- Use NSWorkspace methods instead of Launch Services and Finder functions.
-
- * MIME.subproj/IFDownloadHandler.h:
- * MIME.subproj/IFDownloadHandler.mm:
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame setProvisionalDataSource:]):
-
-2002-05-30 Richard Williamson <rjw@apple.com>
-
- Added 'canDraw' check to ensure that we can render
- an image frame.
-
- * WebCoreSupport.subproj/IFImageRenderer.m:
-
-=== Alexander-7 ===
-
-2002-05-29 Richard Williamson <rjw@apple.com>
-
- Changes to support animated image rendering.
- Moved image rendering into webkit.
- Still need to implement preferences stubs and
- start/stop stubs.
-
- * WebCoreSupport.subproj/IFImageRenderer.h: Added.
- * WebCoreSupport.subproj/IFImageRenderer.m: Added.
- * WebCoreSupport.subproj/IFImageRendererFactory.h: Added.
- * WebCoreSupport.subproj/IFImageRendererFactory.m: Added.
- (+[IFImageRendererFactory createSharedFactory]):
- (+[IFImageRendererFactory sharedFactory]):
- (-[IFImageRendererFactory imageRendererWithBytes:length:]):
- (-[IFImageRendererFactory imageRendererWithSize:]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController stopAnimatedImages]):
- (-[IFBaseWebController startAnimatedImages]):
- (-[IFBaseWebController stopAnimatedImageLooping]):
- (-[IFBaseWebController startAnimatedImageLooping]):
- * WebView.subproj/IFPreferences.h:
- * WebView.subproj/IFPreferences.mm:
- (+[IFPreferences load]):
- (-[IFPreferences _resourceTimedLayoutEnabled]):
- (-[IFPreferences allowAnimatedImages]):
- (-[IFPreferences allowAnimatedImageLooping]):
- (-[IFPreferences setAllowAnimatedImageLooping:]):
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView initWithFrame:]):
-
-2002-05-29 Richard Williamson <rjw@apple.com>
-
- API stubs for image animation.
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController stopAnimatedImages]):
- (-[IFBaseWebController startAnimatedImages]):
- (-[IFBaseWebController stopAnimatedImageLooping]):
- (-[IFBaseWebController startAnimatedImageLooping]):
- * WebView.subproj/IFPreferences.h:
- * WebView.subproj/IFPreferences.mm:
- (+[IFPreferences load]):
- (-[IFPreferences _resourceTimedLayoutEnabled]):
- (-[IFPreferences allowAnimatedImages]):
- (-[IFPreferences allowAnimatedImageLooping]):
- (-[IFPreferences setAllowAnimatedImageLooping:]):
- * WebView.subproj/IFWebController.h:
-
-2002-05-29 John Sullivan <sullivan@apple.com>
-
- Removed acceptsFirstMouse override, this fixes at least:
-
- 2930713 -- clicking on an empty part of window to bring it to front
- takes focus away from page address field
-
- 2938028 -- Link cursor doesn't appear when browser window not
- frontmost, but clicks activate links
-
- * WebView.subproj/IFWebView.mm:
-
-2002-05-28 John Sullivan <sullivan@apple.com>
-
- Made -[IFBookmark group] and -[IFBookmark parent] public
- methods, and renamed them to not use leading underscores,
- as part of support for revealing a particular bookmark in
- the Bookmarks window.
-
- * Bookmarks.subproj/IFBookmark_Private.h:
- removed _group and _parent.
-
- * Bookmarks.subproj/IFBookmark.h:
- added group and parent.
-
- * Bookmarks.subproj/IFBookmark.m:
- (-[IFBookmark parent]):
- (-[IFBookmark group]):
- * Bookmarks.subproj/IFBookmarkGroup.m:
- (-[IFBookmarkGroup removeBookmark:]):
- (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:type:]):
- * Bookmarks.subproj/IFBookmarkLeaf.m:
- (-[IFBookmarkLeaf copyWithZone:]):
- (-[IFBookmarkLeaf setTitle:]):
- (-[IFBookmarkLeaf setImage:]):
- (-[IFBookmarkLeaf setURLString:]):
- * Bookmarks.subproj/IFBookmarkList.m:
- (-[IFBookmarkList copyWithZone:]):
- (-[IFBookmarkList setTitle:]):
- (-[IFBookmarkList setImage:]):
- (-[IFBookmarkList removeChild:]):
- (-[IFBookmarkList insertChild:atIndex:]):
- (-[IFBookmarkList _setGroup:]):
- * Bookmarks.subproj/IFBookmarkSeparator.m:
- (-[IFBookmarkSeparator copyWithZone:]):
- Fixed up all references to _group and _parent to now refer to
- group and parent.
-
-2002-05-28 Richard Williamson <rjw@apple.com>
-
- Backed out band-aid add to fixed malformed resources URLs.
-
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSource _addURLHandle:]):
-
-2002-05-28 Chris Blumenberg <cblu@apple.com>
-
- Added support for creating a new window from a plug-in (2938004)
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
-
-2002-05-28 Chris Blumenberg <cblu@apple.com>
-
- * Plugins.subproj/IFPluginDatabase.h:
- * Plugins.subproj/IFPluginDatabase.m:
- (-[IFPluginDatabase pluginForMimeType:]): renamed
- (-[IFPluginDatabase pluginForExtension:]): renamed
- (-[IFPluginDatabase pluginForFilename:]): renamed
- (findPlugins):
- * WebCoreSupport.subproj/IFWebCoreViewFactory.m: support for above renamed
- (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
- (-[IFWebCoreViewFactory viewForJavaAppletWithArguments:]):
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSource _addURLHandle:]): fix for a nil handle being added to an array
-
-2002-05-28 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (hasMissingGlyphs): Use recordSize instead of assuming records are sizeof(ATSLayoutRecord).
- (-[IFTextRenderer convertCharacters:length:toGlyphs:]): Free buffer after calling
- ATSUConvertCharToGlyphs; old code was using buffer after freeing it.
- (-[IFTextRenderer widthForString:]): Handle case where string is longer than
- LOCAL_GLYPH_BUFFER_SIZE.
- (-[IFTextRenderer slowPackGlyphsForCharacters:numCharacters:glyphBuffer:numGlyphs:]):
- (-[IFTextRenderer drawString:atPoint:withColor:]): Use recordSize instead of assuming records
- are sizeof(ATSLayoutRecord).
- (-[IFTextRenderer slowFloatWidthForCharacters:length:]): Use recordSize instead of assuming
- records are sizeof(ATSLayoutRecord).
- (-[IFTextRenderer floatWidthForCharacters:length:]): Remove extra rounding. The caller that
- converts the width to an integer already does the rounding.
- (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]): Fix off by one error that caused us
- to include one extra character in each glyph map block. Also use recordSize instead of assuming
- records are sizeof(ATSLayoutRecord).
-
-2002-05-27 John Sullivan <sullivan@apple.com>
-
- Part of fix for 2922772 -- page title & location field don't
- show redirected URLs.
-
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource wasRedirected]): Fixed this method, now that
- we have a client that relies on it. Its logic was backwards, and
- it didn't handle the null _finalURL case.
-
-2002-05-26 Maciej Stachowiak <mjs@apple.com>
-
- Fixed Radar 936147 - debug output in console "keyUp: NSEvent: type=KeyUp"
-
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView keyDown:]): Turned NSLog into WEBKITDEBUGLEVEL.
- (-[IFWebView keyUp:]): Likewise.
-
-2002-05-26 Maciej Stachowiak <mjs@apple.com>
-
- WebKit part of fix for:
-
- Radar 2884085 - add support for changing cursor over links
-
- Also, fix handling of mouseMoved events.
-
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView mouseMovedNotification:]): Clip mouseMoved events to
- the view rect, otherwise mouseover effects might happen for
- elements past the edge of the window.
- (-[IFWebView setCursor:]): Implement.
- (-[IFWebView resetCursorRects]): Implement.
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm:
- (-[IFWebViewPrivate dealloc]): Added NSCursor *cursor field.
-
-2002-05-25 Maciej Stachowiak <mjs@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Link against WebCore.framework,
- not libwebcore.dylib.
-
-=== 0.3 ===
-
-2002-05-24 Shelley A Sheridan <sheridan@apple.com>
-
- * ChangeLog:
-
-=== Alexander-6 ===
-
-2002-05-23 Maciej Stachowiak <mjs@apple.com>
-
- WebKit part of the fix for:
-
- Radar 2896391 - command-click should open link in new window
-
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController openNewWindowWithURL:]): Default
- implementation silently does nothing.
- * WebView.subproj/IFWebController.h: Add openNewWindowWithURL:
- method.
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView _addModifiers:toState:]): Split out modifier key
- handling to here. Treat Command as Meta.
- (-[IFWebView mouseUp:]): Use new method to set key modifiers for
- mouse events.
- (-[IFWebView mouseDown:]): Use new method to set key modifiers for
- mouse events.
- (-[IFWebView keyDown:]): Use new shared code for key modifiers.
- (-[IFWebView keyUp:]): Use new shared code for key modifiers.
-
-2002-05-23 Kenneth Kocienda <kocienda@apple.com>
-
- Fixes for these bugs:
-
- Radar 2883631 (need to implement support for META HTTP_EQUIV=REFRESH)
- Radar 2935472 (Non-standard html pages don't always get decoded)
-
- * WebView.subproj/IFMainURLHandleClient.h:
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient setContentPolicy:]): Updated method to use new processData interface.
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Senses when all data has been received for a load.
- (-[IFMainURLHandleClient processData:isComplete:allDataReceived:]): Modified interface to add a flag
- for when all data for a load has been received.
-
-2002-05-23 Shelley A Sheridan <sheridan@apple.com>
-
- * ChangeLog:
-
-=== Alexander-5 ===
-
-2002-05-23 Maciej Stachowiak <mjs@apple.com>
-
- Move authentication panel to WebKit and make it a sheet, fixing:
-
- Radar 2876445 - Authentication panel should be a sheet
- Radar 2876449 - The Alexander authentication panel should be moved
- to WebKit for use as a standard one
-
- * Panels.subproj/English.lproj/IFAuthenticationPanel.nib: Added.
- * Panels.subproj/IFAuthenticationPanel.h: Added.
- * Panels.subproj/IFAuthenticationPanel.m: Added.
- * Panels.subproj/IFPanelAuthenticationHandler.h: Added.
- * Panels.subproj/IFPanelAuthenticationHandler.m: Added.
- * Panels.subproj/IFStandardPanels.h: Added.
- * Panels.subproj/IFStandardPanels.m: Added.
- * Panels.subproj/IFStandardPanelsPrivate.h: Added.
- * WebKit.pbproj/project.pbxproj: Add new files to build.
- * Plugins.subproj/IFPluginStream.mm:
- (-[IFPluginStream IFURLHandleResourceDidBeginLoading:]): Notify of
- load start.
- (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]): Notify
- of load end.
- (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]): Likewise.
- (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]): Likewise.
- (-[IFPluginStream IFURLHandle:didRedirectToURL:]): Notify that old
- URL is no longer loading, but new one is.
- * WebView.subproj/IFBaseWebControllerPrivate.h:
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- (-[IFBaseWebController _didStartLoading:]): New private method
- used to track what URLs are loading on behalf of this controller.
- (-[IFBaseWebController _didStopLoading:]): Likewise.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandleResourceDidBeginLoading:]): Notify
- of load start.
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]): Notify
- of load end.
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]): Likewise.
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]): Likewise.
- (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]): Likewise.
- (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]): Notify of
- load end and start.
-
-2002-05-22 Chris Blumenberg <cblu@apple.com>
-
- Fixed download data source leaks when downloads are cancelled.
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
-
-2002-05-22 Chris Blumenberg <cblu@apple.com>
-
- Removed activate events as this was causing problems
- for the QT plug-in.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView windowBecameKey:]):
- (-[IFPluginView windowResignedKey:]):
-
-2002-05-22 Chris Blumenberg <cblu@apple.com>
-
- Fixed crasher caused by not retaining.
- Fixed targeting bug.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
- (-[IFPluginView getURLNotify:target:notifyData:]):
- (-[IFPluginView getURL:target:]):
- (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]):
- (-[IFPluginView postURL:target:len:buf:file:]):
-
-2002-05-22 Richard J. Williamson <rjw@apple.com>
-
- Changed semantics of isLoading to only return YES if
- the datasource is loading resources related to the intial
- load. Other resources loaded later by JS will not be
- accounted for by isLoading.
-
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource isLoading]):
-
-2002-05-22 Chris Blumenberg <cblu@apple.com>
-
- - Removed obsolete MIME/download related code.
- - Minor clean-ups.
- - Made WebKit support all text MIME types.
- - Now send NPP_URLNotify when pages requested by plug-ins are loaded.
- - Simplified NPP_Get/NPP_Post code.
-
- * MIME.subproj/IFContentHandler.h:
- * MIME.subproj/IFContentHandler.m:
- * MIME.subproj/IFDownloadHandler.mm:
- * MIME.subproj/IFMIMEDatabase.h: Removed.
- * MIME.subproj/IFMIMEDatabase.m: Removed.
- * MIME.subproj/IFMIMEHandler.h:
- * MIME.subproj/IFMIMEHandler.m:
- (+[IFMIMEHandler MIMEHandlerTypeForMIMEType:]):
- (+[IFMIMEHandler canShowMIMEType:]):
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
- (-[IFPluginView dealloc]):
- (-[IFPluginView frameStateChanged:]):
- (-[IFPluginView loadURL:inTarget:withNotifyData:andHandleAttributes:]):
- (-[IFPluginView getURLNotify:target:notifyData:]):
- (-[IFPluginView getURL:target:]):
- (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]):
- (-[IFPluginView postURL:target:len:buf:file:]):
- (-[IFPluginView invalidateRect:]):
- (-[IFPluginView invalidateRegion:]):
- (-[IFPluginView forceRedraw]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFMainURLHandleClient.h:
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient dealloc]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- (-[IFMainURLHandleClient processData:isComplete:]):
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _setState:]):
-
-2002-05-21 Richard J. Williamson <rjw@apple.com>
-
- Fixed baseline regression. Obvious of sites that have tables w/ backgrounds,
- i.e. www.slashdot.org.
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
- (-[IFTextRenderer drawUnderlineForString:atPoint:withColor:]):
-
-2002-05-21 Richard J. Williamson <rjw@apple.com>
-
- Changes to support additional DHTML events.
-
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView keyDown:]):
- (-[IFWebView keyUp:]):
- * WebView.subproj/IFWebViewPrivate.mm:
- (+[IFWebView _nodeHTML:DOM::]):
-
-2002-05-21 Chris Blumenberg <cblu@apple.com>
-
- Content policy can now be sent at a later time to avoid blocking.
-
- * WebView.subproj/IFMainURLHandleClient.h:
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient initWithDataSource:part:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
-
-2002-05-21 Chris Blumenberg <cblu@apple.com>
-
- Move the tracking rect after the view has moved.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView viewHasMoved:]):
-
- Fixed logging.
-
- * Plugins.subproj/npapi.m:
- (NPN_UserAgent):
- (NPN_MemAlloc):
- (NPN_MemFree):
- (NPN_MemFlush):
- (NPN_ReloadPlugins):
-
-2002-05-21 Kenneth Kocienda <kocienda@apple.com>
-
- Merged these four include files into the precompiled header.
- These are used for the enhanced assertion/debuggin support I
- added yesterday.
-
- <signal.h>
- <sys/types.h>
- <sys/time.h>
- <sys/resource.h>
-
- * WebKitPrefix.h
-
-2002-05-20 Chris Blumenberg <cblu@apple.com>
-
- Added support for plug-ins to send URL requests to certain targets.
-
- Added frameNamed to IFWebFrame.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView getURLNotify:target:notifyData:]):
- (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]):
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame frameNamed:]):
-
-2002-05-20 Kenneth Kocienda <kocienda@apple.com>
-
- * Misc.subproj/WebKitDebug.h: Now includes <sys/time.h> to prevent possible
- build breakage in the inclusion of <sys/resource.h>
-
-2002-05-20 Kenneth Kocienda <kocienda@apple.com>
-
- Changed assertion failure code to send a SIGQUIT instead
- of raising an NSException.
-
- * Misc.subproj/WebKitDebug.h
-
-2002-05-20 Chris Blumenberg <cblu@apple.com>
-
- A whole lot of plug-in clean-up.
-
- Moved the following functions from npapi to IFPlugin.
-
- * Plugins.subproj/IFPlugin.m:
- (functionPointerForTVector):
- (tVectorForFunctionPointer):
-
-
- Only supply mouse coords when active.
-
- * Plugins.subproj/IFPluginNullEventSender.h:
- * Plugins.subproj/IFPluginNullEventSender.m:
- (-[IFPluginNullEventSender initializeWithNPP:functionPointer:window:]):
- (-[IFPluginNullEventSender dealloc]):
- (-[IFPluginNullEventSender sendNullEvents]):
-
-
- Minor clean-ups
-
- * Plugins.subproj/IFPluginStream.mm:
- (-[IFPluginStream dealloc]):
- (-[IFPluginStream IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFPluginStream IFURLHandleResourceDidCancelLoading:]):
- (-[IFPluginStream IFURLHandle:resourceDidFailLoadingWithResult:]):
-
-
- Removed the isMouseDown flag from the following functions
- as it was unnecessary.
-
- Cleaned up logging.
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView modifiersForEvent:]):
- (-[IFPluginView getCarbonEvent:withEvent:]):
- (-[IFPluginView sendUpdateEvent]):
- (-[IFPluginView becomeFirstResponder]):
- (-[IFPluginView resignFirstResponder]):
- (-[IFPluginView mouseDown:]):
- (-[IFPluginView mouseUp:]):
- (-[IFPluginView mouseExited:]):
- (-[IFPluginView setWindow]):
- (-[IFPluginView start]):
- (-[IFPluginView stop]):
-
-
- URLForString now uses _IF_looksLikeAbsoluteURL.
-
- (-[IFPluginView URLForString:]):
-
-
- Implemented the following:
-
- (-[IFPluginView invalidateRect:]):
- (-[IFPluginView invalidateRegion:]):
- (-[IFPluginView forceRedraw]):
-
-
- Put implementation of GetValue SetValue in npapi.
-
- * Plugins.subproj/npapi.h:
- * Plugins.subproj/npapi.m:
- (NPN_GetValue):
- (NPN_SetValue):
-
-
- Added drag & drop support.
-
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView initWithFrame:]):
- (-[IFWebView setCanDragFrom:]):
- (-[IFWebView canDragFrom]):
- (-[IFWebView setCanDragTo:]):
- (-[IFWebView canDragTo]):
- (-[IFWebView draggingEntered:]):
- (-[IFWebView prepareForDragOperation:]):
- (-[IFWebView performDragOperation:]):
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm:
- (-[IFWebViewPrivate dealloc]):
-
-2002-05-20 John Sullivan <sullivan@apple.com>
-
- Support for bookmark separators
-
- * Bookmarks.subproj/IFBookmark.h: Update comments and replace
- isLeaf with bookmarkType.
-
- * Bookmarks.subproj/IFBookmark.m:
- (-[IFBookmark bookmarkType]): New method, replaces isLeaf.
- (-[IFBookmark title]):
- (-[IFBookmark setTitle:]):
- (-[IFBookmark image]):
- (-[IFBookmark setImage:]):
- (-[IFBookmark setURLString:]):
- (-[IFBookmark children]):
- (-[IFBookmark numberOfChildren]):
- (-[IFBookmark _numberOfDescendants]):
- (-[IFBookmark insertChild:atIndex:]):
- (-[IFBookmark removeChild:]):
- Update callers of isLeaf, and don't require concrete implementations
- of some methods for some types.
-
- * Bookmarks.subproj/IFBookmarkLeaf.m:
- (-[IFBookmarkLeaf bookmarkType]): return IFBookmarkTypeLeaf
- (-[IFBookmarkLeaf _dictionaryRepresentation]): set value for bookmark type.
-
- * Bookmarks.subproj/IFBookmarkList.m:
- (-[IFBookmarkList _initFromDictionaryRepresentation:withGroup:]):
- Handle separator case.
- (-[IFBookmarkList _dictionaryRepresentation]): set value for bookmark type
- (-[IFBookmarkList bookmarkType]): return IFBookmarkTypeList
-
- * Bookmarks.subproj/IFBookmarkSeparator.h: Added.
- * Bookmarks.subproj/IFBookmarkSeparator.m: Added.
- (-[IFBookmarkSeparator initWithGroup:]): Simple init method.
- (-[IFBookmarkSeparator _initFromDictionaryRepresentation:withGroup:]): Just calls
- initWithGroup.
- (-[IFBookmarkSeparator _dictionaryRepresentation]): set value for bookmark type
- (-[IFBookmarkSeparator bookmarkType]): return IFBookmarkTypeSeparator
- (-[IFBookmarkSeparator copyWithZone:]): calls initWithGroup
-
- * Bookmarks.subproj/IFBookmark_Private.h: Added key/value #defines for dictionary
- representation.
-
- * Bookmarks.subproj/IFBookmarkGroup.h:
- * Bookmarks.subproj/IFBookmarkGroup.m:
- (-[IFBookmarkGroup _setTopBookmark:]):
- (-[IFBookmarkGroup _bookmarkChildrenDidChange:]):
- (-[IFBookmarkGroup addNewBookmarkToBookmark:withTitle:image:URLString:type:]):
- Update callers of isLeaf to use bookmarkType instead.
-
- (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:type:]):
- if type is IFBookmarkTypeSeparator, instantiate an IFBookmarkSeparator
-
- * WebKit.pbproj/project.pbxproj: Updated for new files.
-
-2002-05-17 Chris Blumenberg <cblu@apple.com>
-
- - Made IFPluginStream the URL handle client instead of IFPluginView.
- - Added support for NPP_PostURL and NPP_PostNotify.
- - Possible fix for 2928558.
-
- * Plugins.subproj/IFPluginStream.h:
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):NSURL for url
- instead of NSString
- (-[IFPluginView dealloc]):
- (-[IFPluginView setWindow]):
- (-[IFPluginView start]):
- (-[IFPluginView stop]):
- (-[IFPluginView webDataSource]):Accessor for IFPluginStream.
- (-[IFPluginView webController]):Accessor for IFPluginStream.
- (-[IFPluginView URLForString:]):
- (-[IFPluginView getURLNotify:target:notifyData:]):
- (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]):
- (-[IFPluginView postURL:target:len:buf:file:]):
- (-[IFPluginView destroyStream:reason:]):
- (-[IFPluginView status:]):
- (-[IFPluginView NPP_NewStream]): Accessor for IFPluginStream.
- (-[IFPluginView NPP_WriteReady]):Accessor for IFPluginStream.
- (-[IFPluginView NPP_Write]): Accessor for IFPluginStream.
- (-[IFPluginView NPP_StreamAsFile]): Accessor for IFPluginStream.
- (-[IFPluginView NPP_DestroyStream]): Accessor for IFPluginStream.
- (-[IFPluginView NPP_URLNotify]): Accessor for IFPluginStream.
- * WebCoreSupport.subproj/IFWebCoreViewFactory.m: Use new IFPluginView init method
- (-[IFWebCoreViewFactory viewForPluginWithURL:serviceType:arguments:baseURL:]):
- * WebKit.pbproj/project.pbxproj:
-
-2002-05-16 Richard J. Williamson <rjw@apple.com>
-
- Fixed 2925638. Don't send last progress message from resourceDataDidBecomeAvailable,
- it is sent from IFURLHandleResourceDidFinishLoading, avoiding duplication.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
-
-2002-05-16 Richard J. Williamson <rjw@apple.com>
-
- Fix to fix for 0x7f to 0xa0. I was being overly aggressive about
- finding substitute glyphs.
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
- (-[IFTextRenderer floatWidthForCharacters:length:]):
-
-2002-05-16 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]):
- Use this new getCarbonPath function rather than hardcoding assumptions
- about "/tmp" being ":private:tmp".
- (getCarbonPath): New.
-
-2002-05-16 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView mouseUp:]):
- Fixed log statement so development builds work again.
-
-2002-05-16 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView mouseUp:]):
- Remove unused variable that breaks optimized builds.
-
-2002-05-15 Darin Adler <darin@apple.com>
-
- Another quick events cleanup pass.
-
- * Plugins.subproj/IFPluginNullEventSender.m:
- (-[IFPluginNullEventSender sendNullEvents]): Use [IFPluginView getCarbonEvent:].
-
- * Plugins.subproj/IFPluginView.h: Make almost all methods private.
- * Plugins.subproj/IFPluginView.mm:
- (+[IFPluginView getCarbonEvent:]): New.
- (-[IFPluginView getCarbonEvent:]): New, calls class method.
- (-[IFPluginView modifiersForEvent:isMouseDown:]): Reversed sense of btnState.
- This flag is set if the mouse is up, not if the mouse is down.
- (-[IFPluginView getCarbonEvent:withEvent:isMouseDown:]): New.
- (-[IFPluginView getCarbonEvent:withEvent:]): New.
- (-[IFPluginView sendActivateEvent:]): Now takes parameter for activate vs.
- deactivate and uses [getCarbonEvent:].
- (-[IFPluginView sendUpdateEvent]): Uses [getCarbonEvent:].
- (-[IFPluginView becomeFirstResponder]): Uses [getCarbonEvent:].
- (-[IFPluginView resignFirstResponder]): Uses [getCarbonEvent:].
- (-[IFPluginView mouseDown:]): Uses [getCarbonEvent:withEvent:isMouseDown:].
- (-[IFPluginView mouseUp:]): Uses [getCarbonEvent:withEvent:isMouseDown:].
- (-[IFPluginView mouseEntered:]): Uses [getCarbonEvent:withEvent:].
- (-[IFPluginView mouseExited:]): Uses [getCarbonEvent:withEvent:].
- (-[IFPluginView keyUp:]): Uses [getCarbonEvent:withEvent:].
- (-[IFPluginView keyDown:]): Uses [getCarbonEvent:withEvent:].
- (-[IFPluginView start]): Call [sendActivateEvent:YES].
- (-[IFPluginView windowBecameKey:]): Call [sendActivateEvent:YES].
- (-[IFPluginView windowResignedKey:]): Call [sendActivateEvent:NO].
-
-2002-05-15 Richard J. Williamson <rjw@apple.com>
-
- Fixed problem dealing w/ characters in range 0x7f - 0xa0.
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (setGlyphForCharacter):
- (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
- (-[IFTextRenderer floatWidthForCharacters:length:]):
-
-2002-05-15 Chris Blumenberg <cblu@apple.com>
-
- Fixed Flash mouse-down, mouse-over Flash bug.
- Added support for modifiers (control-click etc) (2884451).
- A lot of events clean-up.
-
- * Plugins.subproj/IFPluginNullEventSender.m:
- (-[IFPluginNullEventSender sendNullEvents]):
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm:
- (newCString):
- (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
- (-[IFPluginView start]):
- (-[IFPluginView drawRect:]):
- (-[IFPluginView isFlipped]):
- (-[IFPluginView currentModifiers]):
- (-[IFPluginView modifiersForEvent:isMouseDown:]):
- (-[IFPluginView sendActivateEvent]):
- (-[IFPluginView sendUpdateEvent]):
- (-[IFPluginView becomeFirstResponder]):
- (-[IFPluginView resignFirstResponder]):
- (-[IFPluginView mouseDown:]):
- (-[IFPluginView mouseUp:]):
- (-[IFPluginView mouseEntered:]):
- (-[IFPluginView mouseExited:]):
- (-[IFPluginView keyUp:]):
- (-[IFPluginView keyDown:]):
- (-[IFPluginView windowBecameKey:]):
- (-[IFPluginView windowResignedKey:]):
-
- Case-sensitivity issue with an include.
-
- * WebView.subproj/IFWebView.mm:
-
-2002-05-15 Darin Adler <darin@apple.com>
-
- * Makefile.am:
- Use all-am and clean-am instead of all and clean because it's better and
- to make "make check" at the top level work right.
-
-2002-05-14 John Sullivan <sullivan@apple.com>
-
- Work to support copying bookmarks, needed for drag & drop
- in Bookmarks window.
-
- * Bookmarks.subproj/IFBookmark.h: Make IFBookmark conform to NSCopying.
-
- * Bookmarks.subproj/IFBookmark.m:
- (-[IFBookmark copyWithZone:]): insist that subclasses implement this.
-
- * Bookmarks.subproj/IFBookmarkGroup.h:
- * Bookmarks.subproj/IFBookmarkGroup.m:
- (-[IFBookmarkGroup insertBookmark:atIndex:ofBookmark:]):
- Removed this unnecessary method.
-
- * Bookmarks.subproj/IFBookmarkLeaf.m:
- (-[IFBookmarkLeaf copyWithZone:]): New method.
-
- * Bookmarks.subproj/IFBookmarkList.m:
- (-[IFBookmarkList copyWithZone:]): New method.
-
-2002-05-14 Richard J. Williamson <rjw@apple.com>
-
- Fixed exception in log code.
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer floatWidthForCharacters:length:]):
-
-2002-05-14 Richard J. Williamson <rjw@apple.com>
-
- Fixed 2926153, not getting correct messages after cancel.
- Fixed leak of mouse events (Darin wanted this ASAP).
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]):
- (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
- * WebView.subproj/IFLocationChangeHandler.h:
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView initWithFrame:]):
- (-[IFWebView layout]):
- (-[IFWebView mouseUp:]):
- (-[IFWebView mouseDown:]):
- (-[IFWebView mouseMovedNotification:]):
-
-2002-05-14 Chris Blumenberg <cblu@apple.com>
-
- Removed retain of the URL handle. This was causing everything to leak.
-
- * WebView.subproj/IFMainURLHandleClient.h:
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient initWithDataSource:part:]):
- (-[IFMainURLHandleClient dealloc]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
- (-[IFMainURLHandleClient processData:isComplete:]):
-
-2002-05-14 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]):
- Remove code that makes us the first responder. That's up to the higher levels,
- not the web view.
-
-2002-05-14 John Sullivan <sullivan@apple.com>
-
- * History.subproj/IFURIEntry.h:
- Oops, deleted the prototype for setLastVisitedDate
- accidentally, which made Jersey sad.
-
-2002-05-14 John Sullivan <sullivan@apple.com>
-
- Fixed 2919027 -- Need to remove unused code in WebKit/History.subproj
-
- * History.subproj/IFAttributedURL.h: Removed.
- * History.subproj/IFBackForwardList.h: Removed large #ifdef.
- * History.subproj/IFURIEntry.h,
- * History.subproj/IFURIEntry.m: Removed all mention of unused
- fields comment, creationDate, modificationDate
- * WebKit.pbproj/project.pbxproj: Updated for removed file.
-
-2002-05-13 Chris Blumenberg <cblu@apple.com>
-
- Added support for setting the content policy on the location change handler
- and data source at any time instead of depending on an immediate response.
-
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
- * WebView.subproj/IFMainURLHandleClient.h:
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient initWithDataSource:part:]):
- (-[IFMainURLHandleClient dealloc]):
- (-[IFMainURLHandleClient setContentPolicy:]):
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
- (-[IFMainURLHandleClient IFURLHandle:didRedirectToURL:]):
- (-[IFMainURLHandleClient processData:isComplete:]):
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSource _setContentPolicy:]):
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame setProvisionalDataSource:]):
-
-2002-05-13 Maciej Stachowiak <mjs@apple.com>
-
- * WebKitPrefix.h: Gratuitous change to make the prefix file
- rebuild.
-
-2002-05-13 Chris Blumenberg <cblu@apple.com>
-
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController URLPolicyForURL:]):
-
- Use [IFURLHandle canInitWithURL] instead of hard-coded URL schemes.
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSourcePrivate init]):
- (-[IFWebDataSource _setDownloadPath:]):
-
- Removed _contentPolicy as contentPolicy is public.
-
- Initialize contentPolicy in [IFWebDataSourcePrivate init].
-
-2002-05-10 Richard J. Williamson <rjw@apple.com>
-
- Logging changes.
-
- * WebCoreSupport.subproj/IFTextRenderer.m:
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource isLoading]):
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _isLoadComplete]):
-
-2002-05-10 Chris Blumenberg <cblu@apple.com>
-
- Added support for non-html non-file URL data sources.
- Added the init methods below. Removed initWithHandle.
-
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm:
- (IFWebDataSourceMake):
- (-[IFWebDataSource initWithURL:]):
- (-[IFWebDataSource initWithURL:attributes:]):
- (-[IFWebDataSource startLoading:]):
-
-2002-05-10 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFTextRenderer.h: Moved most of the
- stuff from here into the .m file so this header can be included
- by clients. Also added floatWidthForCharacters:length:.
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (freeWidthMap): Check for NULL.
- (freeGlyphMap): Check for NULL.
- (-[IFTextRenderer slowFloatWidthForCharacters:length:]): Renamed,
- and made it return the float.
- (-[IFTextRenderer floatWidthForCharacters:length:]): Renamed, and
- made it return the float.
- (-[IFTextRenderer widthForCharacters:length:]): Do rounding here.
-
- * WebCoreSupport.subproj/IFTextRendererFactory.h:
- * WebCoreSupport.subproj/IFTextRendererFactory.m:
- Make the interface slightly easier to use by using the specific types.
-
- * WebKit.pbproj/project.pbxproj: Exported the headers.
-
-2002-05-10 Kenneth Kocienda <kocienda@apple.com>
-
- Fixed build breakage caused by my previous checkin.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:])
-
-2002-05-10 John Sullivan <sullivan@apple.com>
-
- Fixed 2922756 (@ image in History window is a little too tall)
- Fixed 2923790 (bookmark folders need folder icons)
-
- * Resources/bookmark_folder.tiff: New image (small folder, copied from elsewhere)
- * Resources/url_icon.tiff: Shrunk this one a little bit.
-
- * Bookmarks.subproj/IFBookmarkList.m:
- (-[IFBookmarkList image]): Return the default image if no custom image is set.
-
- * History.subproj/IFURIEntry.m:
- (-[IFURIEntry image]): If the default image's file isn't found, don't try
- to create an NSImage, because it will come out horribly broken and evil if
- you do (I ran into this while adding the bookmark folder image; most of Alexander's
- menus did not appear at all because the bookmark folder image was using a bogus
- NSImage).
-
- * WebKit.pbproj/project.pbxproj: Updated for new files.
-
-2002-05-10 Kenneth Kocienda <kocienda@apple.com>
-
- Reviewed by: Maciej Stachowiak
-
- This code was modified to use the new interface and features of IFError.
- These features and changes are described in these four bug reports:
-
- Radar 2923998 (Change IFError private data into a pointer to a private data object)
- Radar 2924002 (IFError should include an error domain)
- Radar 2924013 (IFError initialization is not threadsafe)
- Radar 2924280 (IFError should contain a new field which tells whether the error is terminal)
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView IFURLHandle:resourceDidFailLoadingWithResult:]):
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]):
- (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
-
-2002-05-09 Richard J. Williamson <rjw@apple.com>
-
- Tuned implementation more. Cleaned up and factored code.
-
- * WebCoreSupport.subproj/IFTextRenderer.h:
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (-[IFTextRenderer substituteFontForString:]):
- (-[IFTextRenderer substituteFontForCharacters:length:]):
- (-[IFTextRenderer initWithFont:]):
- (-[IFTextRenderer dealloc]):
- (-[IFTextRenderer slowPackGlyphsForCharacters:numCharacters:glyphBuffer:numGlyphs:]):
- (-[IFTextRenderer drawString:atPoint:withColor:]):
- (-[IFTextRenderer drawCharacters:length:atPoint:withColor:]):
- (-[IFTextRenderer drawUnderlineForString:atPoint:withColor:]):
- (-[IFTextRenderer slowWidthForCharacters:length:]):
- (-[IFTextRenderer widthForCharacters:length:]):
- (-[IFTextRenderer extendGlyphToWidthMapToInclude:]):
-
-2002-05-09 John Sullivan <sullivan@apple.com>
-
- * Bookmarks.subproj/IFBookmarkGroup.h:
- * Bookmarks.subproj/IFBookmarkGroup.m:
- (-[IFBookmarkGroup addNewBookmarkToBookmark:withTitle:image:URLString:isLeaf:]):
- (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:isLeaf:]):
- Gave these two methods return values of the new bookmark created, to make callers'
- lives easier.
-
-=== Alexander-3 ===
-
-2002-05-08 Richard J. Williamson <rjw@apple.com>
-
- Added optimizations for text rendering.
-
- * WebCoreSupport.subproj/IFTextRenderer.h:
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (freeWidthMap):
- (freeGlyphMap):
- (glyphForCharacter):
- (widthForGlyph):
- (widthForCharacter):
- (-[IFTextRenderer substituteFontForCharacters:length:]):
- (-[IFTextRenderer convertCharacters:length:glyphs:]):
- (-[IFTextRenderer dealloc]):
- (-[IFTextRenderer drawString:atPoint:withColor:]):
- (-[IFTextRenderer drawUnderlineForString:atPoint:withColor:]):
- (-[IFTextRenderer widthForCharacters:length:]):
- (-[IFTextRenderer extendCharacterToGlyphMapToInclude:]):
- (-[IFTextRenderer extendGlyphToWidthMapToInclude:]):
-
-2002-05-08 Darin Adler <darin@apple.com>
-
- * Misc.subproj/IFCache.h: Add more JavaScript object statistics.
- * Misc.subproj/IFCache.mm:
- (+[IFCache javaScriptInterpretersCount]): New.
- (+[IFCache javaScriptNoGCAllowedObjectsCount]): New.
- (+[IFCache javaScriptReferencedObjectsCount]): New.
-
- * WebKit.pbproj/project.pbxproj: Rearranged two files, dunno why.
-
-2002-05-08 Chris Blumenberg <cblu@apple.com>
-
- Cleaned up mach-o plug-in support.
-
- Changed the init method in IFPlugin to initWithPath.
-
- * Plugins.subproj/IFPlugin.h:
- * Plugins.subproj/IFPlugin.m:
- (-[IFPlugin initWithPath:]):
- (-[IFPlugin load]):
- * Plugins.subproj/IFPluginDatabase.m:
- (findPlugins):
-
-2002-05-08 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]):
- Use _IF_stringByTrimmingWhitespace.
-
-2002-05-07 Richard J. Williamson <rjw@apple.com>
-
- First pass at font substitution. Find a substitute font to
- use when the specified font doesn't have glyphs for the characters that
- need to be drawn.
-
- Works correctly but hasn't been optimized yet, VERY slow.
- Will optimize this evening and tomorrow. Try www.yahoo.co.jp,
- it will take a long time to render be eventually will draw correctly.
-
- * WebCoreSupport.subproj/IFTextRenderer.h:
- * WebCoreSupport.subproj/IFTextRenderer.m:
- (hasMissingGlyphs):
- (+[IFTextRenderer initialize]):
- (-[IFTextRenderer convertCharacters:length:glyphs:]):
- (-[IFTextRenderer initializeCaches]):
- (-[IFTextRenderer drawString:atPoint:withColor:]):
- (-[IFTextRenderer drawUnderlineForString:atPoint:withColor:]):
- (-[IFTextRenderer widthForCharacters:length:]):
-
-2002-05-07 Darin Adler <darin@apple.com>
-
- Oops. These files don't belong at the top level.
-
- * IFWebCoreViewFactory.h: Removed.
- * IFWebCoreViewFactory.m: Removed.
- * WebCoreSupport.subproj/IFWebCoreViewFactory.h: Added.
- * WebCoreSupport.subproj/IFWebCoreViewFactory.m: Added.
- * WebKit.pbproj/project.pbxproj:
-
-2002-05-07 Darin Adler <darin@apple.com>
-
- Move more plugin code here from WebCore.
-
- * IFWebCoreViewFactory.h: Added.
- * IFWebCoreViewFactory.m: Added.
-
- * Plugins.subproj/IFPlugin.h: Moved from WebCore.
- * Plugins.subproj/IFPlugin.m: Moved from WebCore.
- * Plugins.subproj/IFPluginDatabase.h: Moved from WebCore.
- * Plugins.subproj/IFPluginDatabase.m: Moved from WebCore.
- * Plugins.subproj/npapi.h: Moved from WebCore.
- * Plugins.subproj/npapi.m: Moved from WebCore.
-
- * WebKit.pbproj/project.pbxproj: Source file names changed
-
- * MIME.subproj/IFMIMEDatabase.m:
- * MIME.subproj/IFMIMEHandler.m:
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm:
- Updated for WC -> IF name change.
-
- * WebCoreSupport.subproj/IFCachedTextRenderer.h: Renamed to IFTextRenderer.
- * WebCoreSupport.subproj/IFCachedTextRenderer.m: Renamed to IFTextRenderer.
- * WebCoreSupport.subproj/IFCachedTextRendererFactory.h: Renamed to IFTextRendererFactory.
- * WebCoreSupport.subproj/IFCachedTextRendererFactory.m: Renamed to IFTextRendererFactory.
- * WebCoreSupport.subproj/IFTextRenderer.h: Renamed from IFCachedTextRenderer.
- * WebCoreSupport.subproj/IFTextRenderer.m: Renamed from IFCachedTextRenderer.
- * WebCoreSupport.subproj/IFTextRendererFactory.h: Renamed from IFCachedTextRendererFactory.
- * WebCoreSupport.subproj/IFTextRendererFactory.m: Renamed from IFCachedTextRendererFactory.
- Renamed to take "Cached" out of the name now that the simpler name is
- available.
-
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView initWithFrame:]): Create shared IFWebCoreViewFactory.
- (-[IFWebView delayLayout:]): Use WEBKITDEBUG, not KWQDEBUG.
- (-[IFWebView notificationReceived:]): Use WEBKITDEBUG, not KWQDEBUG.
-
-2002-05-07 Darin Adler <darin@apple.com>
-
- Use isEqualToString: instead of isEqual: more consistently. But only for strings.
-
- * WebCoreSupport.subproj/IFCachedTextRendererFactory.m:
- (-[IFFontCacheKey isEqual:]):
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController _frameNamed:fromFrame:]):
-
-2002-05-06 John Sullivan <sullivan@apple.com>
-
- Some improvements to the bookmark changed notifications.
-
- * Bookmarks.subproj/IFBookmarkGroup.h:
- * Bookmarks.subproj/IFBookmarkGroup.m:
- (-[IFBookmarkGroup _sendChangeNotificationForBookmark:childrenChanged:]):
- (-[IFBookmarkGroup _setTopBookmark:]):
- (-[IFBookmarkGroup _bookmarkDidChange:]):
- (-[IFBookmarkGroup _bookmarkChildrenDidChange:]):
- Send bookmark that changed and whether its children changed as part of
- change notifications, so clients can choose to do less unnecessary work.
-
- * Bookmarks.subproj/IFBookmarkLeaf.m:
- (-[IFBookmarkLeaf setTitle:]): Check for the no-change case
- and bail out without sending notification when you find it.
-
-2002-05-06 Darin Adler <darin@apple.com>
-
- * WebKitPrefix.h: Added.
- * WebKit.pbproj/project.pbxproj: Use PFE precompiling.
- Also switch from xNDEBUG to NDEBUG.
-
- * Misc.subproj/WebKitDebug.h: Get rid of format attribute because of bug
- 2920557. Switch from xNDEBUG to NDEBUG.
-
- * Misc.subproj/WebKitDebug.m:
- Add undef to work around PFE problem with inline functions, Radar 2920554.
-
- * Plugins.subproj/IFPluginView.mm: Changed how we work around the bug in
- the CGS defines.
-
- * WebCoreSupport.subproj/IFCachedTextRenderer.h: Change include of the
- private QD header to use the form that works with more-normal way of
- getting at the private bits of frameworks.
-
- * WebCoreSupport.subproj/IFCachedTextRenderer.m: Use the header
- <CoreGraphics/CoreGraphicsPrivate.h> instead of <CoreGraphics/CGFontPrivate.h>.
-
- * Misc.subproj/IFCache.mm:
- * WebView.subproj/IFLoadProgress.mm:
- * WebView.subproj/IFWebFrame.mm:
- * WebView.subproj/IFWebFramePrivate.mm:
- * WebView.subproj/IFWebView.mm:
- Changed includes to imports.
-
-2002-05-06 Chris Blumenberg <cblu@apple.com>
-
- Made start and stop work cleaner.
-
- Now observe defaults changes so that plug-ins
- are disabled or enabled immediately (2871725).
-
- * Plugins.subproj/IFPluginNullEventSender.m:
- (-[IFPluginNullEventSender sendNullEvents]):
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
- (-[IFPluginView start]):
- (-[IFPluginView stop]):
- (-[IFPluginView drawRect:]):
- (-[IFPluginView windowWillClose:]):
- (-[IFPluginView defaultsHaveChanged:]):
-
-2002-05-06 Richard J. Williamson <rjw@apple.com>
-
- Fixed width measurement regression. We lost the final ROUND_TO_INT
- in the width measurement funtion after the move from WebCore.
-
- * WebCoreSupport.subproj/IFCachedTextRenderer.m:
- (-[IFCachedTextRenderer widthForCharacters:length:]):
-
-2002-05-06 Richard J. Williamson <rjw@apple.com>
-
- Changes to support dhtml.
-
- * WebView.subproj/IFWebView.mm:
-
-2002-05-06 John Sullivan <sullivan@apple.com>
-
- * Resources/url_icon.tiff: New bookmarks/history icon, looks
- more like the springy @ sign as seen from above, less like text.
-
-2002-05-03 John Sullivan <sullivan@apple.com>
-
- Along with small corresponding WebBrowser change,
- fixed 2919172 (Bookmarks aren't saved between sessions).
-
- * Bookmarks.subproj/IFBookmark_Private.h: Declarations for new private methods.
- * Bookmarks.subproj/IFBookmark.m:
- (-[IFBookmark _numberOfDescendants]): New private method, counts deep; used
- only for debugging messages at this time.
- (-[IFBookmark _initFromDictionaryRepresentation:withGroup:]):
- (-[IFBookmark _dictionaryRepresentation]): New private methods used to save/load
- bookmarks. Stub implementations; subclasses must implement.
-
- * Bookmarks.subproj/IFBookmarkLeaf.m:
- (-[IFBookmarkLeaf _initFromDictionaryRepresentation:withGroup:]):
- (-[IFBookmarkLeaf _dictionaryRepresentation]): New methods.
-
- * Bookmarks.subproj/IFBookmarkList.m:
- (-[IFBookmarkList _initFromDictionaryRepresentation:withGroup:]):
- (-[IFBookmarkList _dictionaryRepresentation]):
- (-[IFBookmarkList _numberOfDescendants]):
- New methods.
- (-[IFBookmarkList _setGroup:]): Recurse on children.
-
- * Bookmarks.subproj/IFBookmarkGroup.h: New _loading instance variable.
-
- * Bookmarks.subproj/IFBookmarkGroup.m:
- (-[IFBookmarkGroup _setTopBookmark:]): Renamed from _resetTopBookmark,
- now has potentially non-nil argument.
- (-[IFBookmarkGroup initWithFile:]),
- (-[IFBookmarkGroup removeBookmark:]): Updated for name change.
- (-[IFBookmarkGroup _sendBookmarkGroupChangedNotification]):
- Don't send notifications while loading bookmarks from disk.
- (-[IFBookmarkGroup _loadBookmarkGroupGuts]),
- (-[IFBookmarkGroup loadBookmarkGroup]),
- (-[IFBookmarkGroup _saveBookmarkGroupGuts]),
- (-[IFBookmarkGroup saveBookmarkGroup]): New methods, load/save bookmarks
- and report timings.
-
- * History.subproj/IFURIEntry.m:
- (-[IFURIEntry dictionaryRepresentation]),
- (-[IFURIEntry initFromDictionaryRepresentation:]): Handle nil URL
- case, which bookmarks run into.
-
- * WebKit.pbproj/project.pbxproj: version wars
-
-2002-05-03 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/IFCachedTextRenderer.m: Remove some of the unused code.
- I was going to wait and let Richard do it next week, but I was unable to control
- my urge to hack on it.
-
-2002-05-03 Darin Adler <darin@apple.com>
-
- * Resources/url_icon.tiff: Improved icon. Could be better.
-
-2002-05-03 Darin Adler <darin@apple.com>
-
- * Misc.subproj/WebKitDebug.h: Add WEBKIT_LOG_MEMUSAGE, WEBKIT_LOG_FONTCACHE, and
- WEBKIT_LOG_FONTCACHECHARMISS for font code moved here from WebCore.
-
- * Resources/url_icon.tiff: New URL icon?
-
- * WebCoreSupport.subproj/IFCachedTextRenderer.h: Added.
- * WebCoreSupport.subproj/IFCachedTextRenderer.m: Added.
- * WebCoreSupport.subproj/IFCachedTextRendererFactory.h: Added.
- * WebCoreSupport.subproj/IFCachedTextRendererFactory.m: Added.
- This has code moved here from WebCore.
-
- * WebKit.pbproj/project.pbxproj: Add the new source files.
-
- * Bookmarks.subproj/IFBookmarkLeaf.m:
- (-[IFBookmarkLeaf setURLString:]): Use copy instead of initWithString.
- * Bookmarks.subproj/IFBookmarkList.m:
- (-[IFBookmarkList initWithTitle:image:group:]): Use copy instead of stringWithString.
- (-[IFBookmarkList setTitle:]): Use copy instead of stringWithString.
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]):
- Use mutableCopy instead of stringWithString.
- * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]): Use copy instead
- of stringWithString.
-
-2002-05-02 John Sullivan <sullivan@apple.com>
-
- Changed API such that mutating methods can now be called on bookmark objects,
- which in turn tell their group that they have changed (so the group can send
- out notifications).
-
- * Bookmarks.subproj/IFBookmark.h:
- * Bookmarks.subproj/IFBookmark.m:
- (-[IFBookmark setTitle:]):
- (-[IFBookmark setImage:]):
- (-[IFBookmark setURLString:]):
- (-[IFBookmark insertChild:atIndex:]):
- (-[IFBookmark removeChild:]):
- (-[IFBookmark _parent]):
- (-[IFBookmark _group]):
- * Bookmarks.subproj/IFBookmarkGroup.h:
- * Bookmarks.subproj/IFBookmarkGroup.m:
- (-[IFBookmarkGroup _resetTopBookmark]):
- (-[IFBookmarkGroup _bookmarkDidChange:]):
- (-[IFBookmarkGroup _bookmarkChildrenDidChange:]):
- (-[IFBookmarkGroup removeBookmark:]):
- (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:isLeaf:]):
- * Bookmarks.subproj/IFBookmarkLeaf.m:
- (-[IFBookmarkLeaf setTitle:]):
- (-[IFBookmarkLeaf setImage:]):
- (-[IFBookmarkLeaf setURLString:]):
- * Bookmarks.subproj/IFBookmarkList.m:
- (-[IFBookmarkList setTitle:]):
- (-[IFBookmarkList setImage:]):
- (-[IFBookmarkList removeChild:]):
- (-[IFBookmarkList insertChild:atIndex:]):
- * Bookmarks.subproj/IFBookmark_Private.h:
- Made _parent and _group private; made setTitle, setImage, setURLString,
- insertChild:atIndex:, and removeChild: public.
-
- * Bookmarks.subproj/IFBookmarkGroup_Private.h: Added.
- * WebKit.pbproj/project.pbxproj: Changed for new file.
-
-2002-05-02 John Sullivan <sullivan@apple.com>
-
- Implemented removing the root node bookmark (i.e.,
- removing all bookmarks with one call).
-
- * Bookmarks.subproj/IFBookmarkGroup.m:
- (-[IFBookmarkGroup _resetTopBookmark]): New method, releases
- old topBookmark and creates new one.
- (-[IFBookmarkGroup initWithFile:]): Call _resetTopBookmark.
- (-[IFBookmarkGroup removeBookmark:]): If the bookmark being
- removed is the top one, call _resetTopBookmark.
-
-2002-05-02 John Sullivan <sullivan@apple.com>
-
- Some more implementation of bookmarks code, enough to support
- adding bookmarks to the Bookmarks menu (but not yet enough to
- support persistent bookmarks).
-
- * Bookmarks.subproj/IFBookmark_Private.h:
- * Bookmarks.subproj/IFBookmark.h:
- * Bookmarks.subproj/IFBookmark.m:
- (-[IFBookmark numberOfChildren]): New public method, stub implementation.
- (-[IFBookmark _removeChild:]): New private method, stub implementation.
-
- * Bookmarks.subproj/IFBookmarkGroup.h:
- * Bookmarks.subproj/IFBookmarkGroup.m:
- (-[IFBookmarkGroup _sendBookmarkGroupChangedNotification]):
- (-[IFBookmarkGroup removeBookmark:]):
- (-[IFBookmarkGroup addNewBookmarkToBookmark:withTitle:image:URLString:isLeaf:]):
- (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:withTitle:image:URLString:isLeaf:]):
- (-[IFBookmarkGroup updateBookmark:title:image:URLString:]):
- Changed "URL" to "URLString" in several places, added a "with"
- to some parameter names; added addNewBookmarkToBookmark public
- method; added notification that's sent when bookmarks are added or removed.
-
- * Bookmarks.subproj/IFBookmarkLeaf.h:
- * Bookmarks.subproj/IFBookmarkLeaf.m:
- (-[IFBookmarkLeaf initWithURLString:title:image:group:]):
- Added image parameter.
-
- * Bookmarks.subproj/IFBookmarkList.m:
- (-[IFBookmarkList numberOfChildren]): New method.
- (-[IFBookmarkList _removeChild:]): Implemented.
-
-2002-04-30 John Sullivan <sullivan@apple.com>
-
- Added initial set of files/API and some of the code for
- bookmarks support. Nobody calls it yet, but it compiles.
- I wanted to get this in before I ran into project file
- merge conflicts.
-
- * Bookmarks.subproj/IFBookmark.h: Added.
- * Bookmarks.subproj/IFBookmark_Private.h: Added.
- * Bookmarks.subproj/IFBookmark.m: Added.
- (-[IFBookmark dealloc]):
- (-[IFBookmark title]):
- (-[IFBookmark _setTitle:]):
- (-[IFBookmark image]):
- (-[IFBookmark _setImage:]):
- (-[IFBookmark isLeaf]):
- (-[IFBookmark URLString]):
- (-[IFBookmark _setURLString:]):
- (-[IFBookmark children]):
- (-[IFBookmark _insertChild:atIndex:]):
- (-[IFBookmark parent]):
- (-[IFBookmark _setParent:]):
- (-[IFBookmark group]):
- (-[IFBookmark _setGroup:]):
- * Bookmarks.subproj/IFBookmarkGroup.h: Added.
- * Bookmarks.subproj/IFBookmarkGroup.m: Added.
- (+[IFBookmarkGroup bookmarkGroupWithFile:]):
- (-[IFBookmarkGroup initWithFile:]):
- (-[IFBookmarkGroup dealloc]):
- (-[IFBookmarkGroup topBookmark]):
- (-[IFBookmarkGroup insertBookmark:atIndex:ofBookmark:]):
- (-[IFBookmarkGroup removeBookmark:]):
- (-[IFBookmarkGroup insertNewBookmarkAtIndex:ofBookmark:title:image:URL:isLeaf:]):
- (-[IFBookmarkGroup updateBookmark:title:image:URL:]):
- (-[IFBookmarkGroup file]):
- (-[IFBookmarkGroup loadBookmarkGroup]):
- (-[IFBookmarkGroup saveBookmarkGroup]):
- * Bookmarks.subproj/IFBookmarkLeaf.h: Added.
- * Bookmarks.subproj/IFBookmarkLeaf.m: Added.
- (-[IFBookmarkLeaf dealloc]):
- (-[IFBookmarkLeaf title]):
- (-[IFBookmarkLeaf _setTitle:]):
- (-[IFBookmarkLeaf image]):
- (-[IFBookmarkLeaf _setImage:]):
- (-[IFBookmarkLeaf isLeaf]):
- (-[IFBookmarkLeaf URLString]):
- (-[IFBookmarkLeaf _setURLString:]):
- * Bookmarks.subproj/IFBookmarkList.h: Added.
- * Bookmarks.subproj/IFBookmarkList.m: Added.
- (-[IFBookmarkList initWithTitle:image:group:]):
- (-[IFBookmarkList dealloc]):
- (-[IFBookmarkList title]):
- (-[IFBookmarkList _setTitle:]):
- (-[IFBookmarkList image]):
- (-[IFBookmarkList _setImage:]):
- (-[IFBookmarkList isLeaf]):
- (-[IFBookmarkList children]):
- (-[IFBookmarkList _insertChild:atIndex:]):
-
- * WebKit.pbproj/project.pbxproj: Updated for new files.
-
-2002-04-29 Richard Williamson <rjw@apple.com>
-
- Fix to 2915688. I wasn't checking if the main document error had an error, only
- the resource errors.
-
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _isLoadComplete]):
-
-2002-04-29 Richard Williamson <rjw@apple.com>
-
- Restored file, line, and function to log messages.
-
- * Misc.subproj/WebKitDebug.m:
- (WebKitLog):
-
-2002-04-25 Darin Adler <darin@apple.com>
-
- * History.subproj/IFWebHistoryPrivate.m:
- (-[IFWebHistoryPrivate _loadHistoryGuts:]): Use NSDictionary instead
- of NSObject to avoid a cast.
-
- * WebView.subproj/IFLocationChangeHandler.h: Add NSObject as a required
- protocol so we can retain and release.
- * WebView.subproj/IFWebController.h: Add NSObject as a required protocol
- so we can retain and release.
-
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSourcePrivate dealloc]):
- (-[IFWebDataSource _setLoading:]):
- (-[IFWebDataSource _setController:]):
- (-[IFWebDataSource _setLocationChangeHandler:]):
- * WebView.subproj/IFWebViewPrivate.mm:
- (-[IFWebViewPrivate dealloc]):
- Removed NSObject * casts that were used to work around the problem fixed above.
-
-2002-04-25 Chris Blumenberg <set EMAIL_ADDRESS environment variable>
-
- * MIME.subproj/IFDownloadHandler.h:
- * MIME.subproj/IFDownloadHandler.mm:
- (+[IFDownloadHandler launchURL:]):
-
- Added the above method as a way to universally launch an URL
- within WebKit
-
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController URLPolicyForURL:]):
-
- We handle http, https and file URL's
-
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource initWithURL:]):
- (-[IFWebDataSource startLoading:]):
-
- The IFURLHandle is now lazilly allocated.
-
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame setProvisionalDataSource:]):
-
- We only load a data source if the URL policy is IFURLPolicyUseContentPolicy
-
-2002-04-25 Richard Williamson <rjw@apple.com>
-
- Fixed problem with errors potentially being reported on
- wrong data source by moving collected errors from frame
- to datasource.
-
- Little changes in preparation for events.
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]):
- (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
- (-[IFBaseWebController _receivedError:forResource:partialProgress:fromDataSource:]):
- (-[IFBaseWebController _mainReceivedError:forResource:partialProgress:fromDataSource:]):
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource errors]):
- (-[IFWebDataSource mainDocumentError]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSourcePrivate dealloc]):
- (-[IFWebDataSource _startLoading:]):
- (-[IFWebDataSource _setMainDocumentError:]):
- (-[IFWebDataSource _clearErrors]):
- (-[IFWebDataSource _addError:forResource:]):
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame reload:]):
- (-[IFWebFrame reset]):
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFramePrivate dealloc]):
- (-[IFWebFrame _isLoadComplete]):
- (-[IFWebFrame _checkLoadComplete]):
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView acceptsFirstResponder]):
- (-[IFWebView layout]):
- (-[IFWebView drawRect:]):
-
-2002-04-25 Darin Adler <darin@apple.com>
-
- Rework plugin code to prepare to move more of here from WebCore.
-
- * Plugins.subproj/IFPluginView.mm:
- (IFPluginViewCreate): New. Does all the work of creating an NSView
- for a plug-in, including stuff previously done in WebCore.
- (IFJavaAppletViewCreate): Same as above, for Java applets.
- (+[IFPluginView load]): Set up the function pointers using the new
- improved WebCore API.
-
- * Plugins.subproj/IFNullPluginView.mm:
- (-[IFNullPluginView load]): Remove this setup because now there's
- no separate call to set up a null plug-in.
-
-2002-04-25 John Sullivan <sullivan@apple.com>
-
- Fixed 2911915 (Exception in -[IFWebView mouseMoved])
-
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView mouseDown:]): Changed "mouseUp" to "mouseDown"
- in exception message.
-
- (-[IFWebView mouseMoved:]): Removed bogus event-type checking
- that caused this method to (always?) throw an exception when
- invoked.
-
-2002-04-24 Chris Blumenberg <cblu@apple.com>
-
- Renamed [IFWebDataSource frame] to [IFWebDataSource webFrame]
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]):
- (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
- (-[IFBaseWebController _receivedError:forResource:partialProgress:fromDataSource:]):
- (-[IFBaseWebController _mainReceivedError:forResource:partialProgress:fromDataSource:]):
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource webFrame]):
- (-[IFWebDataSource frameName]):
- (-[IFWebDataSource isLoading]):
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSource _startLoading:]):
- (-[IFWebDataSource _setTitle:]):
-
-2002-04-24 Richard Williamson <rjw@apple.com>
-
- Changed ordering of messages so activity viewer doesn't get -1 bytesSoFar
- for cancelled messages.
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]):
- (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
-
-=== Alexander 0.3c2 (v1) ===
-
-2002-04-23 Chris Blumenberg <cblu@apple.com>
-
- * WebKit.pbproj/project.pbxproj:
-
- Took IFDownloadHandler.h out of the public headers.
-
- * WebView.subproj/IFLocationChangeHandler.h:
-
- Removed deprecated methods.
-
- * WebView.subproj/IFWebFrame.mm:
- (-[IFWebFrame setProvisionalDataSource:]):
-
- Don't call locationChangeStarted anymore.
-
-2002-04-23 Chris Blumenberg <cblu@apple.com>
-
- * MIME.subproj/IFDownloadHandler.h:
- * MIME.subproj/IFDownloadHandler.m: Removed.
- * MIME.subproj/IFDownloadHandler.mm: Added.
- (-[IFDownloadHandler initWithDataSource:]):
- (-[IFDownloadHandler dealloc]):
- * MIME.subproj/IFDownloadHandlerPrivate.h: Removed.
- * MIME.subproj/IFDownloadHandlerPrivate.m: Removed.
-
- Made IFDownloadHandler a private class that retains the data source
- and saves the data to disk.
-
- * WebKit.pbproj/project.pbxproj:
-
- Removed IFDownloadHandlerPrivate
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
-
- Only send locationChangeCommitted if its shown inline.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
-
- Save data with IFDownloadHandler
-
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
-
- If its a download, set the provisionalDataSource on the frame to nil.
-
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource webFrame]):
- (-[IFWebDataSource pageTitle]):
- (-[IFWebDataSource contentPolicy]):
-
- Added some accessor methods. Spelling fix pageTitle.
-
-2002-04-23 Kenneth Kocienda <kocienda@apple.com>
-
- Reviewed by: Darin Adler
-
- Fix for Radar 2908403 (Fix names in WebFoundation extensions code)
-
- Extensions code in WebFoundation now is in its own namespace.
- Where we have added categories to existing Foundation and AppKit
- classes, the categories begin with the IF prefix. All method names
- begin with the _IF_ prefix.
-
- This file here was changed to use the new names.
-
- * History.subproj/IFWebHistoryPrivate.m:
- (-[IFWebHistoryPrivate findIndex:forDay:]):
- (-[IFWebHistoryPrivate arrayRepresentation]):
- (-[IFWebHistoryPrivate _loadHistoryGuts:]):
-
-2002-04-22 Chris Blumenberg <cblu@apple.com>
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
-
- Send an IFError when we're asked to show content we can't handle.
-
- * WebView.subproj/IFWebDataSourcePrivate.mm:
-
- Cleaning
-
-2002-04-22 Chris Blumenberg <cblu@apple.com>
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
-
- Fixed frames which I broke in the previous commit. We now set the content policy
- on all child frames instead of just the main frame.
-
-2002-04-22 Chris Blumenberg <cblu@apple.com>
-
- * MIME.subproj/IFMIMEHandler.h:
- * MIME.subproj/IFMIMEHandler.m:
- (+[IFMIMEHandler showableMIMETypes]):
- (+[IFMIMEHandler saveFileWithPath:andData:]):
- (+[IFMIMEHandler saveAndOpenFileWithPath:andData:]):
-
- Added the above factory methods.
-
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController haveContentPolicy:andPath:forLocationChangeHandler:]):
-
- Save the content policy and download path on the datasource.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]):
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
- (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
-
- Made IFMainURLHandleClient use our new content policy API rather than
- IFDownloadHandler.
-
- * WebView.subproj/IFWebController.h:
-
- Removed some deprecated methods.
-
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSource _downloadPath]):
- (-[IFWebDataSource _setDownloadPath:]):
- (-[IFWebDataSource _contentPolicy]):
- (-[IFWebDataSource _setContentPolicy:]):
-
- Added the above methods.
-
-2002-04-22 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
- Fix the fix. It was bumping argsCount even when not putting an
- argument into the array.
-
-2002-04-21 Maciej Stachowiak <mjs@apple.com>
-
- Fix a plugins memory trasher that was making Alexander crash on
- the abcnews.com test page in cvs-torture-test:
-
- * Plugins.subproj/IFPluginView.mm:
- (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]):
- Use a new maxArguments variable to size the argument and value
- arrays - with the old code argsCount would end up twice the size
- it should be, and the arguments would all get written past the end
- of the argument array.
-
-2002-04-19 Kenneth Kocienda <kocienda@apple.com>
-
- Changes to support submission of forms using HTTP POST.
-
- These changes move us over to using the new WebKit interface for creating
- WebDataSource instances, one that passes a handle rather than just a URL,
- enabling the specific request method to be communicated to WebFoundation.
- This fixes:
-
- Radar 2903602 (IFWebDataSource API must passes attributes and flags to IFURLHandle)
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm: (IFWebDataSourceMake), (-[IFWebDataSource
- initWithURL:]), (-[IFWebDataSource initWithHandle:]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]):
-
-2002-04-19 Richard Williamson <rjw@apple.com>
-
- Updated comments to reflect new API.
-
- * WebView.subproj/IFLocationChangeHandler.h:
-
-2002-04-19 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/IFPluginView.h: Re-add the attributes and values arrays,
- since they need to live the life of the plugin.
- * Plugins.subproj/IFPluginView.mm: (newCString): New function to make a C++
- new-allocated C string from an NSString.
- (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): Move code
- to allocate the arrays back here.
- (-[IFPluginView dealloc]): Deallocate the arrays and their contents.
- (-[IFPluginView start]): Simplify now that it does no work.
-
-2002-04-18 Chris Blumenberg <cblu@apple.com>
-
- Made stop and start to work better. Fixed a bug darin made.
-
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
- initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView setWindow]),
- (-[IFPluginView start]), (-[IFPluginView stop]):
-
-2002-04-18 Richard Williamson <rjw@apple.com>
-
- Fixed typo.
-
- * WebView.subproj/IFBaseLocationChangeHandler.m: (-[IFBaseLocationChangeHandler
- requestContentPolicyForMIMEType:]):
- * WebView.subproj/IFLocationChangeHandler.h:
-
-2002-04-18 Richard Williamson <rjw@apple.com>
-
- New API stubs for content policy.
-
- * WebView.subproj/IFBaseLocationChangeHandler.h: Added.
- * WebView.subproj/IFBaseLocationChangeHandler.m: Added.
- (+[IFBaseLocationChangeHandler setGlobalContentPolicy:forMIMEType:]),
- (+[IFBaseLocationChangeHandler globaContentPolicyForContentType:]),
- (+[IFBaseLocationChangeHandler globalContentPolicies]),
- (+[IFBaseLocationChangeHandler suggestedFileanemForURL:andContentType:]),
- (+[IFBaseLocationChangeHandler suggestedDirectoryForURL:andContentType:]),
- (+[IFBaseLocationChangeHandler extensionForURL:]), (-[IFBaseLocationChangeHandler
- extension]), (-[IFBaseLocationChangeHandler locationWillChangeTo:]),
- (-[IFBaseLocationChangeHandler locationChangeStarted]),
- (-[IFBaseLocationChangeHandler locationChangeCommitted]),
- (-[IFBaseLocationChangeHandler locationChangeDone:]),
- (-[IFBaseLocationChangeHandler receivedPageTitle:forDataSource:]),
- (-[IFBaseLocationChangeHandler serverRedirectTo:forDataSource:]),
- (-[IFBaseLocationChangeHandler downloadingWithHandler:]),
- (-[IFBaseLocationChangeHandler requestContentPolicyForContentMIMEType:]),
- (-[IFBaseLocationChangeHandler unableToImplementContentPolicy:]):
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- receivedError:forDownloadHandler:partialProgress:]), (-[IFBaseWebController
- provideLocationChangeHandlerForFrame:andURL:]), (-[IFBaseWebController
- URLPolicyForURL:]), (-[IFBaseWebController
- unableToImplementURLPolicyForURL:error:]), (-[IFBaseWebController
- haveContentPolicy:andPath:forLocationChangeHandler:]):
- * WebView.subproj/IFLocationChangeHandler.h:
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _setState:]):
-
-2002-04-18 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Oops. Take out -Wstrict-prototypes, put back
- -Wmissing-prototypes.
-
-2002-04-18 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Take out -Wmissing-prototypes
- because system headers are triggering it when we don't have
- precompiled headers on.
-
-2002-04-18 Darin Adler <darin@apple.com>
-
- Fixes for compiling with gcc3 and more warnings.
-
- * WebKit.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings
- as in the rest of Labyrinth (see top level ChangeLog for details).
-
- * Plugins.subproj/IFPluginView.mm:
- Avoid warnings about malloc by not using it.
- (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): Keep the arguments
- dictionary around instead of keeping the C format version of it around. Also don't
- bother keeping the C string form of the MIME type around, and simplify some other
- stuff in here.
- (-[IFPluginView dealloc]): Corresponding changes since we keep a different set of things.
- (-[IFPluginView newStream:mimeType:notifyData:]): Use [mimeType cString].
- (-[IFPluginView start]): Build the lists of attributes and values in here. Do it using
- [NSString cString] for simplicity and don't keep the lists around after we're done with
- them.
- (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]): Use [filenameClassic cString].
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]),
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]),
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]),
- (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
- (-[IFWebDataSource _setLoading:]), (-[IFWebDataSource _setController:]),
- (-[IFWebDataSource _setLocationChangeHandler:]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]),
- (-[IFWebView mouseUp:]), (-[IFWebView mouseDown:]):
- Add type casts required by pickier gcc3.
-
- * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]):
- Add type cast required by pickier gcc3.
- (-[IFWebView _stopPlugins]): Use local variable to work around Radar 2905835.
-
-2002-04-18 Chris Blumenberg <cblu@apple.com>
-
- Moved plugin instance creation to the start method in IFPluginView.
-
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
- initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView dealloc]),
- (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView start]),
- (-[IFPluginView stop]), (-[IFPluginView drawRect:]), (-[IFPluginView
- windowBecameKey:]), (-[IFPluginView windowResignedKey:]), (-[IFPluginView
- IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView
- IFURLHandleResourceDidFinishLoading:data:]):
-
-
-2002-04-17 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Update header search paths to find
- WebCore in the new location and eliminate WebCore/include.
-
-2002-04-17 Chris Blumenberg <cblu@apple.com>
-
- Added a debug bit mask for plugins and downloads.
-
- * MIME.subproj/IFDownloadHandlerPrivate.m: (-[IFDownloadHandlerPrivate
- _openFile]), (-[IFDownloadHandlerPrivate _saveFile]), (-[IFDownloadHandler
- _initWithURLHandle:mimeHandler:]):
- * Misc.subproj/WebKitDebug.h:
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
- initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView setWindow]),
- (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView stop]),
- (-[IFPluginView sendUpdateEvent]), (-[IFPluginView becomeFirstResponder]),
- (-[IFPluginView resignFirstResponder]), (-[IFPluginView mouseDown:]),
- (-[IFPluginView mouseUp:]), (-[IFPluginView mouseEntered:]), (-[IFPluginView
- mouseExited:]), (-[IFPluginView keyUp:]), (-[IFPluginView keyDown:]),
- (-[IFPluginView IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView
- IFURLHandleResourceDidFinishLoading:data:]), (-[IFPluginView
- getURLNotify:target:notifyData:]), (-[IFPluginView getURL:target:]),
- (-[IFPluginView postURLNotify:target:len:buf:file:notifyData:]), (-[IFPluginView
- postURL:target:len:buf:file:]), (-[IFPluginView newStream:target:stream:]),
- (-[IFPluginView write:len:buffer:]), (-[IFPluginView destroyStream:reason:]),
- (-[IFPluginView status:]), (-[IFPluginView getValue:value:]), (-[IFPluginView
- setValue:value:]), (-[IFPluginView invalidateRect:]), (-[IFPluginView
- invalidateRegion:]), (-[IFPluginView forceRedraw]):
- * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
- IFURLHandle:resourceDataDidBecomeAvailable:]):
-
-2002-04-17 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
- Changed another Georgia that I missed to Times New Roman.
-
-2002-04-16 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFWebDataSource.mm:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- Touch these files to try to make Jersey build again.
-
-2002-04-16 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm: Include khtml_part.h instead
- of KWQKHTMLPart.h.
-
- * WebView.subproj/IFWebFrame.mm: Include khtml_part.h instead of KWQKHTMLPart.h.
-
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource documentTextFromDOM]):
- Remove an unneeded cast and an extra retain/autorelease.
-
-2002-04-16 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.mm:
- * WebView.subproj/IFWebFramePrivate.h:
- Change view/setView back to be id, rather than IFWebView.
- In the future, the view may be some other kind of object.
-
-2002-04-16 John Sullivan <sullivan@apple.com>
-
- Fixed bug Chris noticed where Alexander wasn't putting up
- an error sheet on failed page visits.
-
- * WebView.subproj/IFWebFramePrivate.mm:
- (-[IFWebFrame _isLoadComplete]): Don't set provisionalDataSource
- to nil until after sending it locationChangeDone.
-
-2002-04-16 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFBaseWebController.mm: Remove special release handling because
- data sources now retain the controller as long as they are loading.
-
- * WebView.subproj/IFWebDataSource.mm: Remove special release handling because
- data sources now retain themselves as long as they are loading.
-
- * WebView.subproj/IFWebFrame.mm: Remove special release handling, because
- data sources now retain the controller as long as they are loading, and the
- controller retains the frame.
-
- * WebView.subproj/IFWebDataSourcePrivate.h: Add a "loading" boolean.
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setLoading:]):
- Change the "loading" state, retaining or releasing this object and the controller
- as necessary.
- (-[IFWebDataSource _updateLoading]): Update the loading state; called when
- some part of loading is done to see if it's all done.
- (-[IFWebDataSource _setController:]): Retain the new controller and release the
- old controller when loading.
- (-[IFWebDataSource _setPrimaryLoadComplete:]): Call _updateLoading.
- (-[IFWebDataSource _startLoading:]): Call _setLoading:YES.
- (-[IFWebDataSource _addURLHandle:]): Call _setLoading:YES.
- (-[IFWebDataSource _removeURLHandle:]): Call _updateLoading.
-
- * WebView.subproj/IFWebFrame.h: Use the real type, IFWebView, for setView and view.
- * WebView.subproj/IFWebFramePrivate.h: Formatting tweak.
- * WebKit.pbproj/project.pbxproj: Version wars.
-
-2002-04-16 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/IFWebViewPrivate.mm:
- (-[IFWebView _setController:]): removed a mistaken
- retain/release pair here for Darin.
-
-2002-04-16 Darin Adler <darin@apple.com>
-
- Change default font to "Times New Roman 11" rather than
- "Georgia 12" to be more like Macintosh Internet Explorer.
-
- * WebView.subproj/IFPreferences.mm:
-
- A little simplifying of private pointers.
-
- * MIME.subproj/IFDownloadHandler.h:
- * MIME.subproj/IFDownloadHandler.m:
-
-2002-04-16 Darin Adler <darin@apple.com>
-
- A little simplifying of private pointers.
-
- * MIME.subproj/IFDownloadHandler.m:
- * MIME.subproj/IFDownloadHandlerPrivate.m:
- * WebView.subproj/IFBaseWebController.mm:
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.mm:
- * WebView.subproj/IFWebFramePrivate.mm:
- * WebView.subproj/IFWebView.h:
- * WebView.subproj/IFWebView.mm:
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm:
-
-2002-04-16 Darin Adler <darin@apple.com>
-
- Change headers so they don't include so much.
- Also change IF_LOAD_TYPE to IFLoadType.
-
- * History.subproj/IFBackForwardList.h:
- * History.subproj/IFBackForwardList.m:
- * History.subproj/IFURIEntry.h:
- * History.subproj/IFURIList.h:
- * History.subproj/IFURIList.m:
- * History.subproj/IFWebHistory.h:
- * History.subproj/IFWebHistoryPrivate.h:
- * History.subproj/IFWebHistoryPrivate.m:
- * MIME.subproj/IFContentHandler.h:
- * MIME.subproj/IFDownloadHandler.h:
- * MIME.subproj/IFDownloadHandlerPrivate.h:
- * MIME.subproj/IFDownloadHandlerPrivate.m:
- * MIME.subproj/IFMIMEDatabase.h:
- * MIME.subproj/IFMIMEDatabase.m:
- * Misc.subproj/IFException.h:
- * Plugins.subproj/IFNullPluginView.mm:
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFBaseWebController.h:
- * WebView.subproj/IFBaseWebController.mm:
- * WebView.subproj/IFBaseWebControllerPrivate.h:
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- * WebView.subproj/IFLoadProgress.h:
- * WebView.subproj/IFLoadProgress.mm:
- * WebView.subproj/IFLocationChangeHandler.h:
- * WebView.subproj/IFMainURLHandleClient.h:
- * WebView.subproj/IFMainURLHandleClient.mm:
- * WebView.subproj/IFPreferences.h:
- * WebView.subproj/IFPreferencesPrivate.h:
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm:
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.mm:
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm:
- * WebView.subproj/IFWebView.h:
- * WebView.subproj/IFWebView.mm:
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm:
-
-2002-04-16 Kenneth Kocienda <kocienda@apple.com>
-
- Moved IFError class from WebKit to WebFoundation.
- Updated includes due to this change.
- Updated URL handle client interface to pass an IFError in
- an error callback rather than a plain int. The URL client was
- modified due to this change.
-
- * Misc.subproj/IFError.h: Removed.
- * Misc.subproj/IFError.m: Removed.
- * Plugins.subproj/IFPluginView.mm:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
- IFURLHandle:resourceDidFailLoadingWithResult:]):
- * WebView.subproj/IFWebFramePrivate.mm:
-
-2002-04-15 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFPreferences.h:
- * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Remove the old
- WebKitFontSizes preference.
- (-[IFPreferences mediumFontSize]), (-[IFPreferences setMediumFontSize:]): New.
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]): Call
- updateStyleSelector() instead of recalcStyle().
-
-2002-04-15 Darin Adler <darin@apple.com>
-
- Merged changes from previous merge branch.
-
- 2002-03-25 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
- Add WebKitMediumFontSizePreferenceKey.
-
-2002-04-15 John Sullivan <sullivan@apple.com>
-
- * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView drawRect:]):
- Moved a line of code to prevent pluginNotFound message from being
- sent twice.
-
-2002-04-15 Richard Williamson <rjw@apple.com>
-
- Changes to IFLocationChangeHandler.
-
- Experimental allocator code, not to be used, not thread safe.!
-
- * Misc.subproj/WebKitDebug.h:
- * Misc.subproj/WebKitDebug.m: (if_check_zone), (_debugAllocate),
- (_debugAllocatorInitialize), (printDebugMallocCounters), (if_cf_retain),
- (if_cf_release), (if_cf_alloc), (if_cf_realloc), (if_cf_dealloc),
- (if_cf_preferredSize), (setupDebugMalloc), (clearDebugMalloc),
- (resetDebugMallocCounters), (public_mALLOc), (public_fREe), (public_rEALLOc),
- (public_mEMALIGn), (public_vALLOc), (public_pVALLOc), (public_cALLOc),
- (public_iCALLOc), (public_iCOMALLOc), (public_cFREe), (public_mTRIm),
- (public_mUSABLe), (public_mSTATs), (public_mALLINFo), (public_mALLOPt),
- (do_check_malloc_state), (mALLINFo), (mSTATs), (if_size), (if_valloc),
- (if_malloc), (if_realloc), (if_calloc), (if_free):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFBaseWebController.h:
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- provideLocationChangeHandlerForFrame:]):
- * WebView.subproj/IFLocationChangeHandler.h: Added.
- * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
- IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFMainURLHandleClient
- IFURLHandle:didRedirectToURL:]):
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource load]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
- (-[IFWebDataSource _startLoading:]), (-[IFWebDataSource _setTitle:]),
- (-[IFWebDataSource _locationChangeHandler]), (-[IFWebDataSource
- _setLocationChangeHandler:]):
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]):
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
- _transitionProvisionalToCommitted]), (-[IFWebFrame _isLoadComplete]):
-
-2002-04-15 Chris Blumenberg <set EMAIL_ADDRESS environment variable>
-
- * MIME.subproj/IFContentHandler.m: (-[IFContentHandler HTMLDocument]):
-
- Made sure I didn't unnecessarily allocate html document strings
-
- * MIME.subproj/IFDownloadHandler.h:
- * MIME.subproj/IFDownloadHandler.m: (-[IFDownloadHandler suggestedFilename]),
- (-[IFDownloadHandler openAfterDownload:]):
-
- Added the mentioned API's
-
- * MIME.subproj/IFDownloadHandlerPrivate.h:
- * MIME.subproj/IFDownloadHandlerPrivate.m: (-[IFDownloadHandlerPrivate init]),
- (-[IFDownloadHandlerPrivate dealloc]), (-[IFDownloadHandlerPrivate
- _suggestedFilename]), (-[IFDownloadHandlerPrivate _cancelDownload]),
- (-[IFDownloadHandlerPrivate _storeAtPath:]), (-[IFDownloadHandlerPrivate
- _finishedDownload]), (-[IFDownloadHandlerPrivate _openAfterDownload:]),
- (-[IFDownloadHandlerPrivate _openFile]), (-[IFDownloadHandlerPrivate _saveFile]),
- (-[IFDownloadHandler _initWithURLHandle:mimeHandler:]):
-
- Cleaned up and added a lot error checking code to IFDownloadHandlerPrivate
-
- * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView
- initWithFrame:mimeType:arguments:]), (-[IFNullPluginView drawRect:]):
-
- Made sure I didn't unnecessarily allocate images
-
- * Resources/plugin_document_template.html:
-
- Plugins now have 100% of the window
-
-2002-04-12 Chris Blumenberg <cblu@apple.com>
-
- Fixed build failure. Forgot to make IFDownloadHandler.h
- a public header.
-
- * WebKit.pbproj/project.pbxproj:
-
-2002-04-12 Chris Blumenberg <cblu@apple.com>
-
- First implementation of IFDownloadHandler and IFDownloadHandlerPrivate.
-
-2002-04-11 Chris Blumenberg <cblu@apple.com>
-
- Added support for non-html content. Non-html content is embedded in a
- contrived HTML document.
-
- * English.lproj/IFError.strings:
- * MIME.subproj/IFContentHandler.h: Added.
- * MIME.subproj/IFContentHandler.m: Added.
- (-[IFContentHandler initWithMIMEHandler:URL:]), (-[IFContentHandler
- HTMLDocument]), (-[IFContentHandler dealloc]):
- * MIME.subproj/IFMIMEDatabase.h:
- * MIME.subproj/IFMIMEDatabase.m: (-[IFMIMEDatabase MIMEHandlerForMIMEType:]),
- (setMimeHandlers):
- * MIME.subproj/IFMIMEHandler.h:
- * MIME.subproj/IFMIMEHandler.m: (-[IFMIMEHandler
- initWithMIMEType:handlerType:handlerName:]), (-[IFMIMEHandler description]):
- * Misc.subproj/IFError.h:
- * Misc.subproj/IFError.m: (+[IFError initialize]):
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
- initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView dealloc]),
- (-[IFPluginView stop]):
- * Resources/plugin_document_template.html: Added.
- * Resources/text_document_template.html: Added.
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFMainURLHandleClient.h:
- * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
- initWithDataSource:part:]), (-[IFMainURLHandleClient dealloc]),
- (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]),
- (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]):
-
-2002-04-10 Chris Blumenberg <cblu@apple.com>
-
- Cleaned up stream deallocations.
-
- * Plugins.subproj/IFPluginStream.h:
- * Plugins.subproj/IFPluginStream.m: (-[IFPluginStream
- initWithURL:mimeType:notifyData:]), (-[IFPluginStream incrementOffset:]),
- (-[IFPluginStream dealloc]):
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
- newStream:mimeType:notifyData:]), (-[IFPluginView
- IFURLHandleResourceDidCancelLoading:]), (-[IFPluginView
- IFURLHandle:resourceDidFailLoadingWithResult:]):
-
-2002-04-10 John Sullivan <sullivan@apple.com>
-
- Fixed 2891396 -- window fills with garbage if you resize or hide/show toolbar
- before loading first page
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView drawRect:]):
- Made webview fill rect with white if there's no widget.
-
-2002-04-09 Chris Blumenberg <cblu@apple.com>
-
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
- initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView setWindow]),
- (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView start]),
- (-[IFPluginView stop]), (-[IFPluginView dealloc]), (-[IFPluginView
- findSuperview:]), (-[IFPluginView sendUpdateEvent]), (-[IFPluginView drawRect:]),
- (-[IFPluginView isFlipped]), (-[IFPluginView viewHasMoved:]), (-[IFPluginView
- windowBecameKey:]), (-[IFPluginView windowResignedKey:]), (-[IFPluginView
- windowWillClose:]), (-[IFPluginView IFURLHandleResourceDidBeginLoading:]),
- (-[IFPluginView IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView
- IFURLHandleResourceDidFinishLoading:data:]), (-[IFPluginView
- IFURLHandleResourceDidCancelLoading:]), (-[IFPluginView
- IFURLHandle:resourceDidFailLoadingWithResult:]), (-[IFPluginView
- IFURLHandle:didRedirectToURL:]), (-[IFPluginView forceRedraw]), (IFPluginMake),
- (+[IFPluginView load]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFLoadProgress.h:
-
- Cleaned up the IFPluginView code. Moved a lot of things around.
-
- Added support for plug-in file download progress.
-
-2002-04-08 Chris Blumenberg <cblu@apple.com>
-
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
- initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView drawRect:]),
- (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView
- getURLNotify:target:notifyData:]):
-
- Support new stream requests from plug-ins that are relative URL's.
-
-2002-04-08 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Re-added -Wno-format-y2k.
-
-2002-04-08 Richard Williamson <rjw@apple.com>
-
- Added logs for Shelley to note start and completion of document load.
- -WebKitLogLevel 0x1000. Also, as a bonus, note time to load.
-
- * Misc.subproj/WebKitDebug.h:
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame startLoading]):
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _setState:]):
-
-2002-04-08 Chris Blumenberg <cblu@apple.com>
-
- * Plugins.subproj/IFNullPluginView.h:
- * Plugins.subproj/IFNullPluginView.mm: (-[IFNullPluginView
- initWithFrame:mimeType:arguments:]), (-[IFNullPluginView drawRect:]):
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- pluginNotFoundForMIMEType:pluginPageURL:]):
- * WebView.subproj/IFWebController.h:
-
- Added pluginNotFoundForMIMEType: pluginPageURL: to WebKit. This gets called
- by IFNullPluginView when a plug-in for a certain mime type is requested but
- not installed.
-
-2002-04-08 Richard Williamson <rjw@apple.com>
-
- Added frameForView:
- Cleaned up out-of-date comments.
-
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- _frameForView:fromFrame:]), (-[IFBaseWebController frameForView:]):
- * WebView.subproj/IFWebController.h:
-
-2002-04-05 Chris Blumenberg <cblu@apple.com>
-
- * Plugins.subproj/IFNullPluginView.mm: (+[IFNullPluginView load]):
-
- Enabled the below.
-
-2002-04-05 Chris Blumenberg <cblu@apple.com>
-
- * Plugins.subproj/IFNullPluginView.h: Added.
- * Plugins.subproj/IFNullPluginView.mm: Added.
- (-[IFNullPluginView initWithFrame:mimeType:arguments:]), (-[IFNullPluginView
- findSuperview:]), (-[IFNullPluginView drawRect:]):
- * Resources/nullplugin.tiff: Added.
- * WebKit.pbproj/project.pbxproj:
-
- An IFNullPluginView is now created when no plug-in for a requested
- mime type is found. IFNullPluginView displays a null plug-in icon
- and will eventually report this error to the WebController.
-
-2002-04-05 Richard Williamson <rjw@apple.com>
-
- Back out some changes to lazily dealloc frame.
-
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame release]):
-
-2002-04-05 Richard Williamson <rjw@apple.com>
-
- New method on controller to find a frame of a particular name
- anywhere in the frame hierarchy.
-
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- initWithView:provisionalDataSource:]), (-[IFBaseWebController
- _frameNamed:fromFrame:]), (-[IFBaseWebController frameNamed:]):
- * WebView.subproj/IFWebController.h:
-
-2002-04-05 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
- Use contentLengthReceived rather than getting the length of
- availableResourceData to determine how much data has arrived.
-
-2002-04-05 Richard Williamson <rjw@apple.com>
-
- Implemented the same lazily deallocation scheme on frame as in controller
- and data source.
-
- * WebView.subproj/IFWebFrame.mm: (-[_IFFrameHolder initWithObject:]),
- (-[_IFFrameHolder _checkReadyToDealloc:]), (-[IFWebFrame release]):
-
-2002-04-04 Richard Williamson <rjw@apple.com>
-
- Clear controller references from data source and view, as well as
- frame.
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
- _clearControllerReferences:]):
-
-2002-04-04 Richard Williamson <rjw@apple.com>
-
- Lazily dealloc controller and data source ONLY after all loads
- have completed.
-
- * WebView.subproj/IFBaseWebController.mm: (-[_IFControllerHolder
- initWithController:]), (-[_IFControllerHolder _checkReadyToDealloc:]),
- (-[IFBaseWebController dealloc]), (-[IFBaseWebController release]):
- * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
- _clearControllerReferences:]), (-[IFBaseWebControllerPrivate dealloc]):
- * WebView.subproj/IFWebDataSource.mm: (-[_IFDataSourceHolder
- initWithDataSource:]), (-[_IFDataSourceHolder _checkReadyToDealloc:]),
- (-[IFWebDataSource release]):
-
-2002-04-04 Kenneth Kocienda <kocienda@apple.com>
-
- Hack to handle displaying image URLs. The trick is to sense when
- the main URL is an image type and wrap the URL in a small generated
- HTML document and hand that off to the engine to display.
-
- Works like a charm! :)
-
- There may be some longer-term issues, but for now, this lets us
- do something we could not before. It also lets us handle some iframes
- that contain only image URLs.
-
- * Resources/image_document_template.html: Added.
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFMainURLHandleClient.h:
- * WebView.subproj/IFMainURLHandleClient.mm: (loadImageDocumentTemplate),
- (-[IFMainURLHandleClient initWithDataSource:part:]), (-[IFMainURLHandleClient
- IFURLHandle:resourceDataDidBecomeAvailable:]):
-
-2002-04-04 Chris Blumenberg <cblu@apple.com>
-
- * English.lproj/IFError.strings:
- * Misc.subproj/IFError.h:
- * Misc.subproj/IFError.m: (+[IFError initialize]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
- IFURLHandle:resourceDataDidBecomeAvailable:]):
-
- Added the IFNonHTMLContentNotSupportedError to IFError.
-
-2002-04-04 Richard Williamson <rjw@apple.com>
-
- Tuned and re-enabled resource layouts.
-
- * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _scheduleLayout:]),
- (-[IFWebFrame _timedLayout:]):
-
-2002-04-04 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Add an Unoptimized build
- style: exactly like Development except without the -O.
-
-2002-04-03 Richard Williamson <rjw@apple.com>
-
- Changed name of finalURL to redirectedURL.
- Disabled layout after resource load. It appears to really slow us down.
-
- * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource redirectedURL]),
- (-[IFWebDataSource wasRedirected]):
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]):
-
-2002-04-03 Richard Williamson <rjw@apple.com>
-
- Added support for finalURL and wasRedirected to datasource.
- Added additional layouts on resource loads.
- Added more implementations of frame related methods in data source.
-
- * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
- IFURLHandle:didRedirectToURL:]):
- * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]), (-[IFPreferences
- _resourceTimedLayoutDelay]), (-[IFPreferences _resourceTimedLayoutEnabled]):
- * WebView.subproj/IFPreferencesPrivate.h:
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource frameNames]),
- (-[IFWebDataSource findDataSourceForFrameNamed:]), (-[IFWebDataSource
- frameExists:]), (-[IFWebDataSource finalURL]), (-[IFWebDataSource
- wasRedirected]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
- (-[IFWebDataSource _setTitle:]), (-[IFWebDataSource _setFinalURL:]):
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _scheduleLayout:]),
- (-[IFWebFrame _transitionProvisionalToLayoutAcceptable]), (-[IFWebFrame
- _isLoadComplete]):
-
-2002-04-03 Kenneth Kocienda <kocienda@apple.com>
-
- Updated debugging log messages to use new varargs macros.
-
- * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate
- removeEntryForURLString:]), (-[IFWebHistoryPrivate _loadHistoryGuts:]),
- (-[IFWebHistoryPrivate loadHistory]), (-[IFWebHistoryPrivate _saveHistoryGuts:]),
- (-[IFWebHistoryPrivate saveHistory]):
- * Misc.subproj/WebKitDebug.h:
- * Misc.subproj/WebKitDebug.m: (timestamp), (WebKitLog):
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
- initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView setWindow]),
- (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView
- IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView
- IFURLHandleResourceDidFinishLoading:data:]), (-[IFPluginView
- becomeFirstResponder]), (-[IFPluginView resignFirstResponder]), (-[IFPluginView
- sendUpdateEvent]), (-[IFPluginView mouseDown:]), (-[IFPluginView mouseUp:]),
- (-[IFPluginView mouseEntered:]), (-[IFPluginView mouseExited:]), (-[IFPluginView
- keyUp:]), (-[IFPluginView keyDown:]), (-[IFPluginView
- getURLNotify:target:notifyData:]), (-[IFPluginView getURL:target:]),
- (-[IFPluginView status:]), (-[IFPluginView stop]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
- _receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
- _mainReceivedProgress:forResource:fromDataSource:]):
- * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
- IFURLHandleResourceDidBeginLoading:]), (-[IFMainURLHandleClient
- IFURLHandleResourceDidCancelLoading:]), (-[IFMainURLHandleClient
- IFURLHandleResourceDidFinishLoading:data:]), (-[IFMainURLHandleClient
- IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFMainURLHandleClient
- IFURLHandle:resourceDidFailLoadingWithResult:]), (-[IFMainURLHandleClient
- IFURLHandle:didRedirectToURL:]):
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource isLoading]):
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _stopLoading]):
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
- _transitionProvisionalToLayoutAcceptable]), (-[IFWebFrame _timedLayout:]),
- (-[IFWebFrame _setState:]), (-[IFWebFrame _isLoadComplete]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]), (-[IFWebView
- layout]), (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]),
- (-[IFWebView setNeedsToApplyStyles:]), (-[IFWebView drawRect:]):
-
-2002-04-02 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]):
- Update title if the page is already in the committed state.
-
-2002-04-02 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Fix flags as I did in WebFoundation.
-
- * Misc.subproj/WebKitDebug.h: Turn off logging when xNDEBUG is defined.
- Remove unused stuff. Add checking for printf parameters.
- * Misc.subproj/WebKitDebug.m: Remove unused variants.
-
- * Plugins.subproj/IFPluginView.mm: Change to use WebKit logging, not
- WebCore logging.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- * WebView.subproj/IFWebView.mm:
- Fix types in log statements caught by the compiler.
-
-2002-04-02 Chris Blumenberg <cblu@apple.com>
-
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
- IFURLHandleResourceDidCancelLoading:]), (-[IFPluginView
- IFURLHandle:resourceDidFailLoadingWithResult:]), (-[IFPluginView
- IFURLHandle:didRedirectToURL:]):
-
- Added support for the above callbacks.
-
- * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
- IFURLHandle:resourceDataDidBecomeAvailable:]):
-
- Return an error if non-html is requested.
-
-2002-04-02 Richard Williamson <rjw@apple.com>
-
- More relaxed about invalid states.
-
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
- _transitionProvisionalToLayoutAcceptable]):
-
-2002-04-02 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _setTitle:]):
- Fix a leak I introduced here by copying the string in a better way.
-
-2002-04-01 Richard Williamson <rjw@apple.com>
-
- Cleaned up lots of potentially stale references to controller.
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
- dealloc]):
- * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
- initWithDataSource:part:]), (-[IFMainURLHandleClient dealloc]):
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
- (-[IFWebDataSource _setPrimaryLoadComplete:]), (-[IFWebDataSource _setTitle:]):
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]),
- (-[IFWebFramePrivate setDataSource:]), (-[IFWebFramePrivate
- setProvisionalDataSource:]), (-[IFWebFrame _setController:]), (-[IFWebFrame
- _transitionProvisionalToCommitted]), (-[IFWebFrame _timedLayout:]), (-[IFWebFrame
- _setState:]):
-
-2002-04-01 Richard Williamson <rjw@apple.com>
-
- Logging changes.
- Changes to support correct i/frame behavior.
-
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- createFrameNamed:for:inParent:inScrollView:]):
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _timedLayout:]):
- * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]),
- (-[IFWebView _setupScrollers]):
-
-2002-04-01 John Sullivan <sullivan@apple.com>
-
- Added method for updating url, title, and/or displayTitle
- on existing entry.
-
- * History.subproj/IFWebHistory.h:
- * History.subproj/IFWebHistory.m:
- (-[IFWebHistory updateURL:title:displayTitle:forURL:]):
- Calls through to IFWebHistoryPrivate.
-
- * History.subproj/IFWebHistoryPrivate.h:
- * History.subproj/IFWebHistoryPrivate.m:
- (-[IFWebHistoryPrivate _entryForURLString:]): Broke this out
- from containsURL.
- (-[IFWebHistoryPrivate containsURL:]): Call broken-out method.
- (-[IFWebHistoryPrivate updateURL:title:displayTitle:forURL:]):
- Find existing entry (if any), change its attributes.
-
-2002-04-01 Darin Adler <darin@apple.com>
-
- * Misc.subproj/IFError.h: Add the failing URL to IFError.
- * Misc.subproj/IFError.m: (-[IFError initWithErrorCode:]): Call through
- with nil for the URL.
- (-[IFError initWithErrorCode:failingURL:]): Retain the passed URL.
- (-[IFError dealloc]): Autorelease the URL.
- (-[IFError failingURL]): Return the URL.
- (-[IFError description]): Include the URL in the description.
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- (-[IFBaseWebController _receivedProgress:forResource:fromDataSource:]),
- (-[IFBaseWebController _mainReceivedProgress:forResource:fromDataSource:]):
- Put the URL into the IFError.
-
- * WebView.subproj/IFMainURLHandleClient.mm:
- (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
- Put the URL into the IFError.
-
-2002-04-01 Richard Williamson <rjw@apple.com>
-
- Added more logging to show time of layouts.
-
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
- _transitionProvisionalToLayoutAcceptable]), (-[IFWebFrame _timedLayout:]),
- (-[IFWebFrame _isLoadComplete]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]), (-[IFWebView
- layout]):
-
-2002-04-01 Darin Adler <darin@apple.com>
-
- Added operations for JavaScript objects. Not sure if this was the best
- place for them, but it should be OK for now.
-
- * Misc.subproj/IFCache.h:
- * Misc.subproj/IFCache.mm: (+[IFCache setDisabled:]), (+[IFCache
- javaScriptObjectsCount]), (+[IFCache garbageCollectJavaScriptObjects]):
- * WebKit.pbproj/project.pbxproj:
-
-2002-03-30 Richard Williamson <rjw@apple.com>
-
- Corrected comments describing the new 'acceptable to layout' state
- transition.
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
- _mainReceivedProgress:forResource:fromDataSource:]):
-
-2002-03-30 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController receivedPageTitle:forDataSource:]):
- Remove the exception from here. This is really a "do nothing,
- subclasses override me" method.
-
- * WebView.subproj/IFWebDataSource.mm:
- (-[IFWebDataSource pageTitle]): Implement.
-
- * WebView.subproj/IFWebDataSourcePrivate.h: Add pageTitle
- and [IFWebDataSource _setTitle].
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- (-[IFWebDataSourcePrivate dealloc]): autorelease pageTitle.
- (-[IFWebDataSource _setTitle:]): Update the title, trimming
- whitespace and using nil, rather than empty string, to mean
- no title at all. Call [receivedPageTitle: forDataSource:]
- as necessary too.
-
- * WebView.subproj/IFMainURLHandleClient.mm: Did a gratuitious
- whitespace edit to force this file to recompile so everyone
- doesn't have to "make clean".
-
-2002-03-30 Richard Williamson <rjw@apple.com>
-
- Added support for scrolling to anchor points.
-
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]):
-
-2002-03-30 Maciej Stachowiak <mjs@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Link against
- JavaScriptCore.framework instead of the defunct
- libJavaScriptCore.dylib.
-
-2002-03-29 Richard Williamson <rjw@apple.com>
-
- Fixes for cancelling. Still need to think about a better
- solution than putting data sources in stopped mode.
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
- _receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
- _mainReceivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
- _receivedError:forResource:partialProgress:fromDataSource:]),
- (-[IFBaseWebController
- _mainReceivedError:forResource:partialProgress:fromDataSource:]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]),
- (-[IFWebDataSource _isStopping]), (-[IFWebDataSource _stopLoading]):
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]):
-
-2002-03-29 Richard Williamson <rjw@apple.com>
-
- Hooked up redirect. Now we see many more ads. :(
- Fixed cancel of main handle for document.
- Moved stop before start from frame to data source.
-
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- locationChangeDone:forFrame:]), (-[IFBaseWebController
- serverRedirectTo:forDataSource:]):
- * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
- IFURLHandleResourceDidCancelLoading:]), (-[IFMainURLHandleClient
- IFURLHandleResourceDidFinishLoading:data:]), (-[IFMainURLHandleClient
- IFURLHandle:resourceDidFailLoadingWithResult:]), (-[IFMainURLHandleClient
- IFURLHandle:didRedirectToURL:]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
- (-[IFWebDataSource _startLoading:]), (-[IFWebDataSource _stopLoading]):
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame startLoading]):
-
-2002-03-29 Richard Williamson <rjw@apple.com>
-
- Added stopLoading to startLoading to cancel any pending loads before
- new loads start. This doesn't work yet because of loader bugs, but will
- once those are fixed.
-
- Adding logging for redirects.
-
- * Misc.subproj/WebKitDebug.h:
- * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
- IFURLHandle:didRedirectToURL:]):
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame startLoading]):
-
-2002-03-29 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]): Deref the
- renderFramePart, and autorelease the provisionalDataSource.
- (-[IFWebFramePrivate setRenderFramePart:]): Ref renderFramePart while we hold it.
-
-2002-03-28 Richard Williamson <rjw@apple.com>
-
- Increased size default for initial layout.
-
- * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
-
-2002-03-28 Richard Williamson <rjw@apple.com>
-
- Fixed big leak of any document that had a frame or iframe.
-
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource retain]):
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
- (-[IFWebDataSource _setParent:]):
-
-2002-03-28 Richard Williamson <rjw@apple.com>
-
- Modified the initial layout policy.
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
- _receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
- _mainReceivedProgress:forResource:fromDataSource:]):
- * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]), (-[IFPreferences
- _initialTimedLayoutDelay]), (-[IFPreferences _initialTimedLayoutSize]):
- * WebView.subproj/IFPreferencesPrivate.h:
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
- _transitionProvisionalToLayoutAcceptable]), (-[IFWebFrame
- _transitionProvisionalToCommitted]), (-[IFWebFrame _initialLayout:]),
- (-[IFWebFrame _isLoadComplete]):
-
-2002-03-28 Darin Adler <darin@apple.com>
-
- New private interface for getting at the cache.
-
- * Misc.subproj/IFCache.h: New.
- * Misc.subproj/IFCache.mm: New.
- * WebKit.pbproj/project.pbxproj: Added IFCache files.
-
-2002-03-28 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController locationChangeDone:forFrame:]): Remove log of errors
- loading now that we have the activity viewer.
-
-2002-03-28 Richard Williamson <rjw@apple.com>
-
- Modified the initial layout policy. We now try to layout as close
- as possible to WebKitInitialTimedLayoutDelay seconds after the
- load was started, not after the provisional-to-committed transition.
- If the time to the provisional-to-committed transition exceeds
- WebKitInitialTimedLayoutDelay we layout immediately.
-
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]),
- (-[IFWebDataSource _recursiveStopLoading]), (-[IFWebDataSource
- _loadingStartedTime]):
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
- _transitionProvisionalToCommitted]), (-[IFWebFrame _initialLayout:]):
-
-2002-03-28 John Sullivan <sullivan@apple.com>
-
- * History.subproj/IFWebHistoryPrivate.m:
- (-[IFWebHistoryPrivate _loadHistoryGuts:]):
- Made this more robust about bad data from the disk file. I
- don't know how bad data could get into the disk file in normal
- use, but it seems to have happened to Richard.
-
-2002-03-27 Richard Williamson <rjw@apple.com>
-
- Added initial-layout-after-delay-if-not-layed-out-yet feature.
-
- * Misc.subproj/WebKitDebug.h:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
- _mainReceivedProgress:forResource:fromDataSource:]):
- * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]), (-[IFPreferences
- setPluginsEnabled:]), (-[IFPreferences _initialTimedLayoutDelay]),
- (-[IFPreferences _initialTimedLayoutEnabled]):
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
- _transitionProvisionalToCommitted]), (-[IFWebFrame _initialLayout:]),
- (-[IFWebFrame _state]):
-
-2002-03-27 Kenneth Kocienda <kocienda@apple.com>
-
- Changed loadProgress->bytesSoFar to use [sender contentLengthReceived]
- instead of the size of the chunk that was delivered in the callback.
- This makes the activity window data more correct than it was.
-
- * WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient
- IFURLHandle:resourceDataDidBecomeAvailable:]):
-
-2002-03-27 Chris Blumenberg <cblu@apple.com>
-
- Now setting the modifier bit for the activate and cursor events.
-
- * Plugins.subproj/IFPluginView.h:
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView drawRect:]), (-[IFPluginView
- windowBecameKey:]), (-[IFPluginView windowResignedKey:]), (-[IFPluginView
- mouseEntered:]), (-[IFPluginView mouseExited:]):
-
-2002-03-27 Darin Adler <darin@apple.com>
-
- * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Switch back
- to serif font, since using Luicida Grande was exposing some font bugs.
-
-2002-03-26 Maciej Stachowiak <mjs@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Fixed to build with standalone
- libJavaScriptCore.dylib.
-
-2002-03-26 Kenneth Kocienda <kocienda@apple.com>
-
- Changes to help the transition to the new build system which unifies
- our development build setting with the settings we use to ship
- releases.
-
- * Makefile.am:
- * WebKit.pbproj/kocienda.pbxuser:
- * WebKit.pbproj/project.pbxproj:
-
-2002-03-26 Richard Williamson <rjw@apple.com>
-
- Try to ensure that display needed bits are correctly set.
-
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]):
-
-2002-03-26 Darin Adler <darin@apple.com>
-
- * Misc.subproj/IFError.m: (+[IFError initialize]): Fix a typo where
- we said "unvailable".
-
- * WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Change
- the default sans-serif font to "Lucida Grande" to match the OS X
- system font, and also make that the defalt standard font.
-
-2002-03-26 John Sullivan <sullivan@apple.com>
-
- * WebKit.pbproj/project.pbxproj:
- Marked IFProgress.h Public.
-
-2002-03-25 John Sullivan <sullivan@apple.com>
-
- Broke IFLoadProgress out into its own file, and added
- an init method and getters, without which this class
- is useless in Objective-C files (but strangely usable
- in Objective-C++ files, see radar 2887253).
-
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFBaseWebController.mm:
- Took IFLoadProgress declaration and implementation out of here.
-
- * WebView.subproj/IFLoadProgress.h,
- * WebView.subproj/IFLoadProgress.mm:
- Moved IFLoadProgress declaration and implementation to here;
- added -[IFLoadProgress initWithBytesSoFar:totalToLoad:type:]
- and getters for each field.
-
- * WebKit.pbproj/project.pbxproj: Updated for new files
-
-2002-03-25 Richard Williamson <rjw@apple.com>
-
- Tweaks to force layout of frames and iframes.
-
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _isLoadComplete]):
-
-2002-03-25 Maciej Stachowiak <mjs@apple.com>
-
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
- _startLoading:]): Just create an IFURLHandle, since it now creates
- the proper concrete subclass automagically.
-
-2002-03-25 Chris Blumenberg <cblu@apple.com>
-
- * MIME.subproj/IFMIMEDatabase.m: (+[IFMIMEDatabase sharedMIMEDatabase]),
- (-[IFMIMEDatabase MIMEHandlerForMIMEType:]), (setMimeHandlers):
- * MIME.subproj/IFMIMEHandler.h:
- * MIME.subproj/IFMIMEHandler.m: (-[IFMIMEHandler
- initWithMIMEType:handlerType:handlerName:]), (-[IFMIMEHandler MIMEType]),
- (-[IFMIMEHandler MIMESupertype]), (-[IFMIMEHandler MIMESubtype]),
- (-[IFMIMEHandler handlerName]), (-[IFMIMEHandler handlerType]), (-[IFMIMEHandler
- description]):
-
- Initial implementations of the above.
-
-2002-03-25 Richard Williamson <rjw@apple.com>
-
- Added private API to allow browser to access the DOM tree.
-
- * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView DOM::]), (+[IFWebView
- _nodeName:DOM::]), (+[IFWebView _nodeValue:DOM::]), (+[IFWebView
- _nodeHTML:DOM::]):
-
-2002-03-25 Richard Williamson <rjw@apple.com>
-
- Added private API to allow browser to access the render tree.
-
- * WebView.subproj/IFWebViewPrivate.mm:
-
-2002-03-24 Richard Williamson <rjw@apple.com>
-
- Changed data source to create IFURLHandle of the appropriate class.
- The prevented us from getting the response headers correctly.
-
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]):
-
-2002-03-24 Richard Williamson <rjw@apple.com>
-
- Removed erroneous comments.
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]), (-[IFWebView
- reapplyStyles]):
-
-2002-03-22 Chris Blumenberg <cblu@apple.com>
-
- * MIME.subproj/IFMIMEDatabase.h:
- Added a list of mime type that WebKit will be capable of handling
-
-2002-03-22 Chris Blumenberg <cblu@apple.com>
-
- * WebKit.pbproj/project.pbxproj:
- Added the MIME clases to WebKit.
-
-2002-03-22 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]):
- Removed stale FIXME.
-
-2002-03-22 Richard Williamson <rjw@apple.com>
-
- Fixed reapplyStyles to use new KDE3 recalcStyle function.
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles])
-
-2002-03-21 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]):
- Commented out call to applyChanges that no longer exists.
- This was breaking the build. Live font changes are
- temporarily broken again.
-
-2002-03-21 Richard Williamson <rjw@apple.com>
-
- Added setNeedsToApplyStyles: and reapplyStyles. This is for dynamic preferences
- refresh support.
-
- * WebView.subproj/IFWebView.h:
- * WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]), (-[IFWebView
- layout]), (-[IFWebView setNeedsToApplyStyles:]), (-[IFWebView drawRect:]):
- * WebView.subproj/IFWebViewPrivate.h:
-
-2002-03-21 John Sullivan <sullivan@apple.com>
-
- Cleaned up defaults registration and use. The class
- IFPreferences now registers the defaults at load time, early
- enough that Alexander doesn't have to register them separately
- as it had been. Also, all the defaults currently in use now
- have accessor cover methods, which Alexander will use
- exclusively.
-
- * WebView.subproj/IFPreferences.mm:
- New file, registers defaults and implements cover methods.
-
- * WebView.subproj/IFPreferences.h:
- This file existed but wasn't being used (contents #ifdeffed out).
- Now it declares the cover methods, but still has an #ifdeffed
- section for possible future stuff.
-
- * WebKit.pbproj/project.pbxproj: Updated for new file.
-
- * WebView.subproj/IFWebDataSource.mm:
- (+[IFWebDataSource initialize]): removed defaults-registration
- from here.
-
-2002-03-20 Maciej Stachowiak <mjs@apple.com>
-
- Merged the following changes from LABYRINTH_KDE_3_MERGE branch:
-
- 2002-03-20 Maciej Stachowiak <mjs@apple.com>
-
- Merged accumlated changes from HEAD, up to
- MERGED_TO_KDE_3_MERGE_BRANCH tag.
-
- 2002-03-19 Maciej Stachowiak <mjs@apple.com>
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView layout]):
- layout() no longer takes an argument.
-
-2002-03-20 John Sullivan <sullivan@apple.com>
-
- Added displayTitle field to IFURIEntry. This is intended to hold the string
- used in menu items, window titles, etc. Alexander uses this to cache the
- center-truncated title for pages with very long titles.
-
- * History.subproj/IFURIEntry.h:
- * History.subproj/IFURIEntry.m: (-[IFURIEntry setDisplayTitle:]), (-[IFURIEntry
- dictionaryRepresentation]), (-[IFURIEntry initFromDictionaryRepresentation:]):
-
-2002-03-19 Richard Williamson <rjw@apple.com>
-
- Fixed IFWebView leak.
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]):
-
-2002-03-18 John Sullivan <sullivan@apple.com>
-
- Imposed age limit on history items saved to/loaded from disk.
- Sped up history loading by reversing list before processing entries.
-
- * History.subproj/IFWebHistoryPrivate.m:
- (+[IFWebHistoryPrivate initialize]): Register default for age limit.
- (-[IFWebHistoryPrivate _ageLimitDate]): New convenience method, returns a date older
- than any history entry that should be stored/loaded.
- (-[IFWebHistoryPrivate arrayRepresentation]): skip too-old dates.
- (-[IFWebHistoryPrivate _loadHistoryGuts:]), (-[IFWebHistoryPrivate _saveHistoryGuts:]):
- Broke into separate methods to make timing wrapper less messy. Respect age limit.
- Report number of items saved/loaded in timing message.
- (-[IFWebHistoryPrivate loadHistory]), (-[IFWebHistoryPrivate saveHistory]):
- use broken-out _guts methods.
- * WebKit.pbproj/project.pbxproj: version wars
-
-2002-03-16 Richard Williamson <rjw@apple.com>
-
- Fixed scroll bar flash. Add provisional view to go along with
- provisional widget.
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]),
- (-[IFWebView dataSourceChanged:]):
-
-2002-03-16 Richard Williamson <rjw@apple.com>
-
- Fixed error handling. Fixed most frame loading problems.
- Cleaned up frame state machine.
- Moved IFMainURLHandleClient from WebCore.
-
- * Misc.subproj/IFError.m: (-[IFError description]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
- receivedError:forResource:partialProgress:fromDataSource:]),
- (-[IFBaseWebController locationChangeDone:forFrame:]):
- * WebView.subproj/IFBaseWebControllerPrivate.h:
- * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebController
- _receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
- _mainReceivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
- _receivedError:forResource:partialProgress:fromDataSource:]),
- (-[IFBaseWebController
- _mainReceivedError:forResource:partialProgress:fromDataSource:]):
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource startLoading:]),
- (-[IFWebDataSource isLoading]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate init]),
- (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource
- _setPrimaryLoadComplete:]), (-[IFWebDataSource _startLoading:]),
- (-[IFWebDataSource _stopLoading]):
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setProvisionalDataSource:]),
- (-[IFWebFrame startLoading]), (-[IFWebFrame reload:]), (-[IFWebFrame errors]),
- (-[IFWebFrame mainDocumentError]):
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]),
- (-[IFWebFrame _transitionProvisionalToCommitted]), (-[IFWebFrame _setState:]),
- (-[IFWebFrame _addError:forResource:]), (-[IFWebFrame _isLoadComplete]),
- (+[IFWebFrame _recursiveCheckCompleteFromFrame:]), (-[IFWebFrame
- _checkLoadCompleteResource:error:isMainDocument:]), (-[IFWebFrame
- _setMainDocumentError:]), (-[IFWebFrame _clearErrors]):
- * WebView.subproj/IFWebView.mm:
- * WebView.subproj/IFMainURLHandleClient.h: added
- * WebView.subproj/IFMainURLHandleClient.mm: added
-
-2002-03-15 John Sullivan <sullivan@apple.com>
-
- Impose default-based limit (1000 by default) on number of history items
- saved/loaded. Also instrumented timing for saving/loading history.
-
- * History.subproj/IFWebHistoryPrivate.m:
- (+[IFWebHistoryPrivate initialize]): register default for WebKitHistoryItemLimit.
-
- (-[IFWebHistoryPrivate arrayRepresentation]): respect limit
- (-[IFWebHistoryPrivate loadHistory]): respect limit, time the load.
- (-[IFWebHistoryPrivate saveHistory]): time the save.
-
- * WebKit.pbproj/project.pbxproj: version wars
-
-2002-03-15 John Sullivan <sullivan@apple.com>
-
- Fixed bug where history entry images weren't showing up, except by historical
- accident in some cases.
- Made IFWebHistory no longer be a singleton class; made the file location
- be passed in at init time.
-
- * History.subproj/IFURIEntry.m: (-[IFURIEntry image]): Get the default image
- a way that works with frameworks; only get the default image once.
-
- * History.subproj/IFWebHistory.h:
- * History.subproj/IFWebHistory.m:
- (+[IFWebHistory webHistoryWithFile:]): New convenience constructor that returns
- a new IFWebHistory object with a particular disk file.
- (-[IFWebHistory initWithFile:]): New init method for specifying a disk file.
- (-[IFWebHistory file]): New accessor for file path.
- (-[IFWebHistory loadHistory]),
- (-[IFWebHistory saveHistory]): Use file accessor.
- Also removed the methods that were computing a file path to use.
-
- * History.subproj/IFWebHistoryPrivate.h:
- * History.subproj/IFWebHistoryPrivate.m:
- (-[IFWebHistoryPrivate initWithFile:]),
- (-[IFWebHistoryPrivate dealloc]), (-[IFWebHistoryPrivate file]),
- (-[IFWebHistoryPrivate loadHistory]), (-[IFWebHistoryPrivate saveHistory]):
- Guts of implementation for file-manipulation stuff.
-
- * Resources/url_icon.tiff: ran tiffUtil to premultiply the alpha channel. This
- was spewing error messages that I didn't notice before because they only
- happen on Puma and I was on Jaguar.
-
- * WebKit.pbproj/project.pbxproj: not sure what change I made, maybe version wars.
-
-2002-03-14 John Sullivan <sullivan@apple.com>
-
- Made history store its data in ~/Library/Application Support/<app name>/History.plist
-
- * History.subproj/IFWebHistoryPrivate.m:
- (GetRefPath), (FindFolderPath): Functions copied from NSSavePanel.m for using
- FindFolder in a POSIX sort of way. Ken plans to put some version of this in
- IFNSFileManagerExtensions eventually, which I'll switch to later.
- (-[IFWebHistoryPrivate historyFilePath]): Construct the path using FindFolderPath
- and the file name.
- (-[IFWebHistoryPrivate loadHistory]),
- (-[IFWebHistoryPrivate saveHistory]): failure case debug messages are now more specific.
-
-2002-03-13 Richard Williamson <rjw@apple.com>
-
- Added support to stop plugins in removeFromSuperview.
-
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _checkLoadComplete:]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView dealloc]), (-[IFWebView
- removeFromSuperview]), (-[IFWebView removeFromSuperviewWithoutNeedingDisplay]):
-
-2002-03-13 Richard Williamson <rjw@apple.com>
-
- Fixed open window w/ no open windows crasher.
-
- * ChangeLog:
- * WebView.subproj/IFBaseWebController.mm: (-[IFObjectHolder dealloc]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView dealloc]), (-[IFWebView layout]):
-
-2002-03-13 Richard Williamson <rjw@apple.com>
-
- * ChangeLog:
- * WebView.subproj/IFBaseWebController.mm: (-[IFObjectHolder dealloc]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView
- dealloc]), (-[IFWebView provisionalDataSourceChanged:]), (-[IFWebView
- dataSourceChanged:]), (-[IFWebView layout]), (-[IFWebView isOpaque]),
- (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView
- drawRect:]), (-[IFWebView setFrame:]), (-[IFWebView windowResized:]),
- (-[IFWebView mouseDragged:]):
-
-2002-03-12 Richard Williamson <rjw@apple.com>
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView
- provisionalDataSourceChanged:]), (-[IFWebView dataSourceChanged:]), (-[IFWebView
- layout]), (-[IFWebView isOpaque]), (-[IFWebView setNeedsDisplay:]), (-[IFWebView
- setNeedsLayout:]), (-[IFWebView drawRect:]), (-[IFWebView setFrame:]),
- (-[IFWebView windowResized:]), (-[IFWebView mouseDragged:]):
-
-2002-03-12 John Sullivan <sullivan@apple.com>
-
- Added support for persistent history. Following in the grand footsteps of
- Ken, it currently stores data in /tmp/alexander.history
-
- * Resources/url_icon.tiff: default IFURIEntry image, moved here from WebBrowser.
- * WebKit.pbproj/project.pbxproj: Updated to add image file.
-
- * History.subproj/IFURIEntry.m:
- (-[IFURIEntry image]):
- If there's no explicit image, return the default one.
-
- (-[IFURIEntry dictionaryRepresentation]): return a representation suitable
- for saving to an xml file.
- (-[IFURIEntry initFromDictionaryRepresentation:]): init given the representation
- returned from dictionaryRepresentation.
-
- * History.subproj/IFWebHistory.h:
- * History.subproj/IFWebHistory.m: (-[IFWebHistory saveHistory]):
- Added saveHistory call.
-
- * History.subproj/IFWebHistoryPrivate.h: added saveHistory call.
-
- * History.subproj/IFWebHistoryPrivate.m:
- (-[IFWebHistoryPrivate arrayRepresentation]): return a representation suitable for
- saving to an xml file.
- (-[IFWebHistoryPrivate historyFilePath]): return location of history on disk.
- (-[IFWebHistoryPrivate loadHistory]): read history from disk.
- (-[IFWebHistoryPrivate saveHistory]): write history to disk.
-
- (-[IFWebHistoryPrivate init]): call loadHistory
- (-[IFWebHistoryPrivate removeEntryForURLString:]): changed NSLog to WEBKITDEBUG
-
-2002-03-11 Richard Williamson <rjw@apple.com>
-
- Fixed call back ordering problems when an error occurs.
- More twiddling with scroll bars.
-
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- createFrameNamed:for:inParent:]):
- * WebView.subproj/IFDynamicScrollBarsView.h:
- * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView
- reflectScrolledClipView:]):
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame startLoading]), (-[IFWebFrame
- reload:]), (-[IFWebFrame reset]), (-[IFWebFrame lastError]):
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate dealloc]),
- (-[IFWebFrame _checkLoadComplete:]), (-[IFWebFrame _setLastError:]):
-
-2002-03-08 Richard Williamson <rjw@apple.com>
-
- Fixed scroll bar recursion problems.
-Took a long time to find a stupid typo bug in [IFBaseWebController _frameForDataSource:fromFrame:]
-that overwrote an input parameter that should been a local variable. This caused a crash the
-second time a page that contained an iframe was loaded.
-
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- createFrameNamed:for:inParent:]), (-[IFBaseWebController
- _frameForDataSource:fromFrame:]):
- * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView
- reflectScrolledClipView:]):
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _checkLoadComplete:]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView layout]):
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _setFrameScrollView:]),
- (-[IFWebView _frameScrollView]), (-[IFWebView _setupScrollers]):
-
-2002-03-07 John Sullivan <sullivan@apple.com>
-
- * Misc.subproj/IFError.m: (-[IFError errorDescription]):
- Removed a line of debugging spam. Oops!
-
-2002-03-07 Richard Williamson <rjw@apple.com>
-
- Fixed occasional scroll bar problem in iframes.
- Fixed occasional problem removing scroll bar on main page.
-
- * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView
- reflectScrolledClipView:]):
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _checkLoadComplete:]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView drawRect:]):
-
-2002-03-07 John Sullivan <sullivan@apple.com>
-
- First pass at adding error strings to IFError. They are
- properly localized, but they don't include any parameters,
- and the strings haven't been made user-friendly.
-
- * Misc.subproj/IFError.m:
- (+[IFError initialize]): New method, set up a dictionary
- mapping error code to localized error string.
- (-[IFError errorDescription]): Read string from dictionary.
-
- * English.lproj/IFError.strings: New file, auto-generated
- by the genstrings tool.
-
- * WebKit.pbproj/project.pbxproj: Removed stray -F /symroots.
- This shouldn't have been in there since symroots location is
- no longer hardwired.
-
-2002-03-07 John Sullivan <sullivan@apple.com>
-
- Defined more symbolic debug-level constants; specified ranges for use by
- different software levels (core/kit/client==browser) to enable easier
- isolation of debug messages.
-
- * Misc.subproj/WebKitDebug.h: #defined new debug levels for existing uses;
- renamed a couple.
-
- * Misc.subproj/WebKitDebug.m: (WebKitLog), (WebKitDebug): Updated for
- renamed debug levels.
-
- * WebView.subproj/IFBaseWebController.mm:
- (-[IFBaseWebController receivedProgress:forResource:fromDataSource:]):
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _stopLoading]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView layout]),
- (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView drawRect:]),
- (-[IFWebView mouseDragged:]):
- * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _resetView]):
- Changed numeric debug levels to symbolic ones.
-
- * WebKit.pbproj/project.pbxproj: Jaguar/Puma version war.
-
-2002-03-06 Richard Williamson <rjw@apple.com>
-
- Lots of little changes to improve drawing, and dynamic scroll bar
- layout. We now have NO flash between pages, however, I still need
- to add a transition timeout. As currently implemented the page will not
- transition until the document is read.
-
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- locationChangeDone:forFrame:]):
- * WebView.subproj/IFDynamicScrollBarsView.m: (-[IFDynamicScrollBarsView
- reflectScrolledClipView:]):
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
- _transitionProvisionalToCommitted]), (-[IFWebFrame _checkLoadComplete:]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView
- dataSourceChanged:]), (-[IFWebView layout]), (-[IFWebView isOpaque]),
- (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]), (-[IFWebView
- drawRect:]), (-[IFWebView setFrame:]):
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _stopPlugins]), (-[IFWebView
- _removeSubviews]):
-
-2002-03-06 John Sullivan <sullivan@apple.com>
-
- * Misc.subproj/IFError.h: Removed stray but evil import.
-
-2002-03-06 Maciej Stachowiak <mjs@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Turn on -Werror.
-
-2002-03-05 Richard Williamson <rjw@apple.com>
-
- Streamlined layout and drawing. We now do the minimum amount of drawing and
- layout.
-
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _checkLoadComplete:]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView
- layout]), (-[IFWebView setNeedsDisplay:]), (-[IFWebView setNeedsLayout:]),
- (-[IFWebView drawRect:]), (-[IFWebView setFrame:]), (-[IFWebView
- windowResized:]):
-
-2002-03-05 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]):
- Tweak default font sizes so they match what algorithm used in Alexander
- returns.
-
-2002-03-05 Richard Williamson <rjw@apple.com>
-
- Pass errors correctly to browser.
- Removed old notification code.
- Added support for IFError.
- Lots of little cleanups.
- Improved IFWebFrame state handling.
-
- * Misc.subproj/IFError.h:
- * Misc.subproj/IFError.m: (IFErrorMake), (+[IFError load]), (-[IFError
- initWithErrorCode:]), (-[IFError errorCode]), (-[IFError errorDescription]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
- receivedError:forResource:partialProgress:fromDataSource:]):
- * WebView.subproj/IFBaseWebControllerPrivate.h:
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource isLoading]):
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
- _startLoading:initiatedByUserEvent:]):
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame
- initWithName:view:provisionalDataSource:controller:]), (-[IFWebFrame
- setProvisionalDataSource:]):
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame
- _transitionProvisionalToCommitted]), (-[IFWebFrame _state]), (-[IFWebFrame
- _setState:]), (-[IFWebFrame _checkLoadComplete:]):
-
-2002-03-05 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]):
- Changed default font sizes to match scheme used in Alexander. There are
- some serious wackinesses with KDE engine font size handling; if and when
- we address those we might revisit these default sizes.
-
-2002-03-05 Maciej Stachowiak <mjs@apple.com>
-
- Removed references to IFAuthenticationHandler, since that protocol
- now lives in WebFoundation and it's no longer quite appropriate to
- include as part of a controller.
-
- * WebView.subproj/IFBaseWebController.mm:
- * WebView.subproj/IFWebController.h:
-
-2002-03-04 Richard Williamson <rjw@apple.com>
-
- Changes to support 'provisional' data sources.
- API changes to IFBaseWebController, removed redundant methods.
-
- * Misc.subproj/WebKitDebug.h:
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
- getURLNotify:target:notifyData:]):
- * WebView.subproj/IFBaseWebController.h:
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController init]),
- (-[IFBaseWebController initWithView:provisionalDataSource:]),
- (-[IFBaseWebController createFrameNamed:for:inParent:]), (-[IFBaseWebController
- receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
- receivedError:forResource:partialProgress:fromDataSource:]),
- (-[IFBaseWebController locationChangeCommittedForFrame:]), (-[IFBaseWebController
- _frameForDataSource:fromFrame:]), (-[IFBaseWebController mainFrame]):
- * WebView.subproj/IFBaseWebControllerPrivate.h:
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebDataSource.mm: (IFWebDataSourceMake), (+[IFWebDataSource
- load]):
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
- _startLoading:initiatedByUserEvent:]):
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame init]), (-[IFWebFrame
- initWithName:view:provisionalDataSource:controller:]), (-[IFWebFrame
- setProvisionalDataSource:]), (-[IFWebFrame startLoading]), (-[IFWebFrame
- stopLoading]), (-[IFWebFrame reload:]):
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFrame _setDataSource:]),
- (-[IFWebFrame _transitionProvisionalToCommitted]):
- * WebView.subproj/IFWebView.h:
- * WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]),
- (-[IFWebView dataSourceChanged:]):
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _provisionalWidget]):
-
-2002-03-04 John Sullivan <sullivan@apple.com>
-
- Changed default fonts.
-
- * WebView.subproj/IFWebDataSource.mm:
- (+[IFWebDataSource initialize]): Changed default fonts to ones
- that actually exist (this was listing "Times-Roman" where it
- meant either "Times" or "Times New Roman"). I'm about to check
- in working font preferences, so it won't matter too much if you
- don't like the defaults (although we should of course make sure
- that the defaults are sensible, which I think they are).
-
-2002-03-04 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]):
- Reverted default fonts to what they were before I accidentally
- checked in some debugging changes.
-
-2002-03-01 Richard Williamson <rjw@apple.com>
-
- Fixed a potentially large leak in frames. View associated w/
- frame was not being released.
-
- Added scaffolding for correct frame by frame load complete check.
-
- Moved private IFWebBaseController method implementations to
- IFWebBaseControllerPrivate.mm.
-
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- createFrameNamed:for:inParent:]), (-[IFBaseWebController
- receivedProgress:forResource:fromDataSource:]), (-[IFBaseWebController
- receivedError:forResource:partialProgress:fromDataSource:]):
- * WebView.subproj/IFBaseWebControllerPrivate.h:
- * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
- dealloc]), (-[IFBaseWebController _changeLocationTo:forFrame:parent:]),
- (-[IFBaseWebController _changeFrame:dataSource:]), (-[IFBaseWebController
- _checkLoadCompleteForDataSource:]):
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate init]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]):
-
-2002-02-27 Kenneth Kocienda <kocienda@apple.com>
-
- I have changed the way that WebCore is glued to WebFoundation and WebKit.
- If you used or relied upon any code in the following files, you should
- now use the IF* equivalents straight up.
-
- - Labyrinth/WebCore/include/WCBackForwardList.h
- - Labyrinth/WebCore/include/WCURICache.h
- - Labyrinth/WebCore/include/WCURICacheData.h
- - Labyrinth/WebCore/include/WCURIEntry.h
- - Labyrinth/WebCore/include/WCURIEntry.h
-
- All changes in this commit are related to making dependant code work with the new convention.
-
- * History.subproj/IFURIEntry.h:
- * History.subproj/IFURIEntry.m:
- * Plugins.subproj/IFPluginView.mm: (-[IFPluginView
- newStream:mimeType:notifyData:]), (-[IFPluginView
- IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView
- IFURLHandleResourceDidFinishLoading:data:]), (-[IFPluginView
- IFURLHandleResourceDidBeginLoading:]), (-[IFPluginView
- IFURLHandleResourceDidCancelLoading:]), (-[IFPluginView
- IFURLHandle:resourceDidFailLoadingWithResult:]):
- * WebKit.pbproj/kocienda.pbxuser:
- * WebKit.pbproj/project.pbxproj:
-
-2002-02-26 John Sullivan <sullivan@apple.com>
-
- * History.subproj/IFURIEntry.m: (-[IFURIEntry dealloc]):
- Added missing dealloc method that 'leaks' found.
-
- * History.subproj/IFURIList.m: (-[IFURIList dealloc]):
- Added missing [super dealloc] call that 'leaks' found.
-
-2002-02-22 Maciej Stachowiak <mjs@apple.com>
-
- Fix prebinding:
-
- * WebKit.pbproj/project.pbxproj: Set first segment address
- 0x4000000 to avoid colliding with apps or our other frameworks.
-
- Set up some hacks to avoid link-time dependency on
- WebKit. Prebinding is incompatible with - undefined suppress, so
- we can't have WebCore depend on symbols provided by WebKit any
- more:
-
- * Plugins.subproj/IFPluginView.mm: (IFPluginMake), (+[IFPluginView load]),
- (startupVolumeName):
- * WebView.subproj/IFBaseWebController.mm: (IFLoadProgressMake), (+[IFLoadProgress
- load]):
-
-2002-02-22 John Sullivan <sullivan@apple.com>
-
- Updated for modified NSCalendarDate extensions API.
-
- * History.subproj/IFWebHistoryPrivate.m:
- (-[IFWebHistoryPrivate findIndex:forDay:]): use compareDate: instead of
- daysSinceDate:, which no longer exists.
-
-2002-02-22 Richard Williamson <rjw@apple.com>
-
- Added data: to IFURLHandleResourceDidFinishLoading:
-
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource isLoading]):
-
-2002-02-22 Richard Williamson <rjw@apple.com>
-
- Implemented missing getter for provisionalDataSource.
-
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame provisionalDataSource]):
- * WebView.subproj/IFWebFramePrivate.h:
-
-2002-02-22 Richard Williamson <rjw@apple.com>
-
- Normalized code paths for setMainDataSource on controller and setDataSource on frame.
-
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- setMainView:andMainDataSource:]), (-[IFBaseWebController
- createFrameNamed:for:inParent:]), (-[IFBaseWebController
- _changeFrame:dataSource:]):
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
- _setController:]):
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame init]), (-[IFWebFrame
- initWithName:view:dataSource:controller:]), (-[IFWebFrame setView:]),
- (-[IFWebFrame controller]), (-[IFWebFrame setController:]), (-[IFWebFrame
- setDataSource:]), (-[IFWebFrame reset]):
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate setController:]),
- (-[IFWebFrame _setRenderFramePart:]), (-[IFWebFrame _renderFramePart]),
- (-[IFWebFrame _setDataSource:]):
-
-2002-02-21 Richard Williamson <rjw@apple.com>
-
- Stop mostly working.
-
- * WebView.subproj/IFBaseWebController.h:
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- _frameForDataSource:fromFrame:]), (-[IFBaseWebController frameForDataSource:]):
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource frame]),
- (-[IFWebDataSource frameName]), (-[IFWebDataSource stopLoading]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
- (-[IFWebDataSource _addURLHandle:]), (-[IFWebDataSource _removeURLHandle:]),
- (-[IFWebDataSource _stopLoading]), (-[IFWebDataSource
- _recursiveStopLoadingfromDataSource:]):
- * WebView.subproj/IFWebFrame.mm: (-[IFWebFrame setDataSource:]):
-
-2002-02-20 Richard Williamson <rjw@apple.com>
-
- Some groundwork to bring WebFoundation callbacks up to
- WebKit.
-
- * WebView.subproj/IFBaseWebController.mm: (-[IFLoadProgress init]),
- (-[IFBaseWebController receivedProgress:forResource:fromDataSource:]),
- (-[IFBaseWebController
- receivedError:forResource:partialProgress:fromDataSource:]),
- (-[IFBaseWebController _changeFrame:dataSource:]):
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource stopLoading]):
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFramePrivate.h:
- * WebView.subproj/IFWebFramePrivate.mm: (-[IFWebFramePrivate
- setProvisionalDataSource:]):
-
-2002-02-20 Maciej Stachowiak <mjs@apple.com>
-
- * WebView.subproj/IFWebController.h: Fix my WebController screw-up.
-
-2002-02-19 John Sullivan <sullivan@apple.com>
-
- Finished first cut at IFWebHistory implementation. All methods are implemented
- except the string-matching ones.
-
- * History.subproj/IFURIEntry.h:
- * History.subproj/IFURIEntry.m: (-[IFURIEntry initWithURL:title:image:comment:]),
- (-[IFURIEntry lastVisitedDate]), (-[IFURIEntry setModificationDate:]),
- (-[IFURIEntry setLastVisitedDate:]):
- Changed all NSDates to be NSCalendarDates.
-
- * History.subproj/IFWebHistory.h:
- * History.subproj/IFWebHistory.m: (-[IFWebHistory init]), (-[IFWebHistory
- dealloc]), (-[IFWebHistory sendEntriesChangedNotification]), (-[IFWebHistory
- addEntry:]), (-[IFWebHistory removeEntry:]), (-[IFWebHistory
- removeEntriesForDay:]), (-[IFWebHistory removeAllEntries]), (-[IFWebHistory
- orderedLastVisitedDays]), (-[IFWebHistory orderedEntriesLastVisitedOnDay:]),
- (-[IFWebHistory entriesWithAddressContainingString:]), (-[IFWebHistory
- entriesWithTitleOrAddressContainingString:]), (-[IFWebHistory containsURL:]):
- Implemented all IFWebHistory methods by calling through to IFWebHistoryPrivate object.
- Send a change notification each time the actual data changes. Removed all
- canned-data mechanisms.
-
- * History.subproj/IFWebHistoryPrivate.h:
- * History.subproj/IFWebHistoryPrivate.m: (-[IFWebHistoryPrivate init]),
- (-[IFWebHistoryPrivate dealloc]), (-[IFWebHistoryPrivate findIndex:forDay:]),
- (-[IFWebHistoryPrivate insertEntry:atDateIndex:]), (-[IFWebHistoryPrivate
- removeEntryForURLString:]), (-[IFWebHistoryPrivate addEntry:]),
- (-[IFWebHistoryPrivate removeEntry:]), (-[IFWebHistoryPrivate
- removeEntriesForDay:]), (-[IFWebHistoryPrivate removeAllEntries]),
- (-[IFWebHistoryPrivate orderedLastVisitedDays]), (-[IFWebHistoryPrivate
- orderedEntriesLastVisitedOnDay:]), (-[IFWebHistoryPrivate
- entriesWithAddressContainingString:]), (-[IFWebHistoryPrivate
- entriesWithTitleOrAddressContainingString:]), (-[IFWebHistoryPrivate
- containsURL:]):
- Implemented guts of history mechanism using a dictionary for URL lookup and
- a sorted array of dates with entries and a sorted array of sorted arrays of
- entries per date.
-
- * WebKit.pbproj/project.pbxproj: Updated for new files
-
-2002-02-18 John Sullivan <sullivan@apple.com>
-
- First piece of implementing IFWebHistory. None of the mutators do anything,
- and the accessors return canned data. But at least all the temporary hackery
- is hiding behind legitimate API.
-
- * History.subproj/IFWebHistory.h:
- * History.subproj/IFWebHistory.m:
-
- (+[IFWebHistory sharedWebHistory]):
- Implemented sensibly.
-
- (-[IFWebHistory createTestEntryWithURLString:title:date:]),
- (-[IFWebHistory testDataDates]), (-[IFWebHistory testData]),
- Private temporary hackery to return fake data.
-
- (-[IFWebHistory orderedLastVisitedDays]),
- (-[IFWebHistory orderedEntriesLastVisitedOnDay:]):
- Implemented using temporary hackery.
-
- (-[IFWebHistory addEntry:]),
- (-[IFWebHistory removeEntry:]),
- (-[IFWebHistory removeAllEntries]):
- Unimplemented mutator methods.
-
- (-[IFWebHistory entriesWithAddressContainingString:]),
- (-[IFWebHistory entriesWithTitleOrAddressContainingString:]),
- (-[IFWebHistory containsURL:]):
- Methods that we'll need eventually, currently unimplemented. We may flesh out
- the API a little more before we actually implement any of these.
-
- (-[NSCalendarDate daysSinceDate:]): Convenience method in category; will
- probably move to another file soon.
-
- * WebKit.pbproj/project.pbxproj: Updated for new files
-
-2002-02-18 Kenneth Kocienda <kocienda@apple.com>
-
- Fixed breakge that came up when project file merged.
-
- * WebKit.pbproj/project.pbxproj:
-
-2002-02-18 Kenneth Kocienda <kocienda@apple.com>
-
- Changes to support building standalone Alexander with Frameworks
- and libraries contained inside the app package.
-
- * Makefile.am:
- * WebKit.pbproj/kocienda.pbxuser:
- * WebKit.pbproj/project.pbxproj:
-
-2002-02-18 Richard Williamson <rjw@apple.com>
-
- Performance measurement.
-
- * WebView.subproj/IFWebView.mm: (-[IFWebView layout]), (-[IFWebView drawRect:]):
-
-2002-02-16 Richard Williamson <rjw@apple.com>
-
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource controller]):
-
-2002-02-16 Richard Williamson <rjw@apple.com>
-
- Reminders to change frame<->datasource ownership cycle.
-
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource setFrame:]),
- (-[IFWebDataSource frame]):
-
-2002-02-13 Richard Williamson <rjw@apple.com>
-
- Fixed cleanup. Should revisit ownership graph. Cycles may be avoidable.
-
- * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
- dealloc]):
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource setFrame:]):
- * WebView.subproj/IFWebFrame.m: (-[IFWebFrame reset]):
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _resetWidget]):
-
-2002-02-12 Richard Williamson <rjw@apple.com>
-
- Made basic forms work.
-
- * WebView.subproj/IFBaseWebController.mm:
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebDataSource.mm: (+[IFWebDataSource initialize]),
- (-[IFWebDataSource startLoading:]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
- _startLoading:initiatedByUserEvent:]):
-
-2002-02-11 John Sullivan <sullivan@apple.com>
-
- Fixed bug where clicking on empty browser page would crash. This could
- happen when the start page was empty, or failed to load.
-
- * WebView.subproj/IFWebView.mm:
- (-[IFWebView mouseUp:]), (-[IFWebView mouseDown:]):
- Checked for nil widget before dispatching mouse events.
-
-2002-02-08 John Sullivan <sullivan@apple.com>
-
- Changed back & forward to goBack and goForward and made them not return
- a value (so signatures match those in WebBrowser). Added backEntry and
- forwardEntry that don't alter the list. These will be needed to ask to
- go to the URL at the back position without altering the back list until
- the change is committed.
-
- * History.subproj/IFBackForwardList.h:
- * History.subproj/IFBackForwardList.m: (-[IFBackForwardList goBack]),
- (-[IFBackForwardList backEntry]), (-[IFBackForwardList currentEntry]),
- (-[IFBackForwardList forwardEntry]), (-[IFBackForwardList goForward]):
-
-2002-02-07 Richard Williamson <rjw@apple.com>
-
- More changes to IFLocationChangeHandler API.
-
- * WebView.subproj/IFBaseWebController.mm:
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource startLoading:]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
- _startLoading:initiatedByMouseEvent:]):
- * WebView.subproj/IFWebFramePrivate.h:
-
-2002-02-07 Richard Williamson <rjw@apple.com>
-
- Update IFLocationChangeHandler API. Added factored code for
- URL loading.
-
- * ChangeLog:
- * WebView.subproj/IFBaseWebController.h:
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- setMainView:andMainDataSource:]), (-[IFBaseWebController
- _changeLocationTo:forFrame:parent:]), (-[IFBaseWebController
- _changeFrame:dataSource:]), (-[IFBaseWebController
- locationChangeCommittedForFrame:]):
- * WebView.subproj/IFBaseWebControllerPrivate.h:
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource startLoading:]):
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.m: (-[IFWebFrame reset]):
-
-2002-02-06 Richard Williamson <rjw@apple.com>
-
- Fixed allocation problems. Implemented parent->child management
- for datasource correctly.
-
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- changeLocationTo:forFrame:]):
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource addFrame:]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource
- _setController:]), (-[IFWebDataSource _part]), (-[IFWebDataSource _setParent:]):
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.m: (-[IFWebFrame _setRenderFramePart:]),
- (-[IFWebFrame _renderFramePart]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]):
-
-2002-02-05 Richard Williamson <rjw@apple.com>
-
- Updated controller API to reflect frames.
-
- * WebView.subproj/IFBaseWebController.h:
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- initWithView:dataSource:]), (-[IFBaseWebController
- setMainView:andMainDataSource:]), (-[IFBaseWebController
- createFrameNamed:for:inParent:]), (-[IFBaseWebController mainFrame]),
- (-[IFBaseWebController mainView]), (-[IFBaseWebController mainDataSource]),
- (-[IFBaseWebController changeLocationTo:forFrame:]), (-[IFBaseWebController
- locationChangeStartedForFrame:]), (-[IFBaseWebController
- locationChangeInProgressForFrame:]), (-[IFBaseWebController
- locationChangeDone:forFrame:]):
- * WebView.subproj/IFBaseWebControllerPrivate.h:
- * WebView.subproj/IFBaseWebControllerPrivate.mm: (-[IFBaseWebControllerPrivate
- init]), (-[IFBaseWebControllerPrivate dealloc]):
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource initWithURL:]),
- (-[IFWebDataSource setFrame:]), (-[IFWebDataSource frame]), (-[IFWebDataSource
- frameName]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
- (-[IFWebDataSource _part]):
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.m: (-[IFWebFrame dealloc]), (-[IFWebFrame
- dataSource]), (-[IFWebFrame setDataSource:]):
- * WebView.subproj/IFWebView.h:
- * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged:]):
-
-2002-02-05 Maciej Stachowiak <mjs@apple.com>
-
- Remove old obsolete cache code from tree and build.
-
- * Cache.subproj/NSURICache.h:
- * Cache.subproj/NSURICache.m:
- * Cache.subproj/NSURICacheData.h:
- * Cache.subproj/NSURICacheData.m:
- * Cache.subproj/NSURILoad.h:
- * Cache.subproj/NSURILoad.m:
- * Cache.subproj/NSURILoadReallyPrivate.h:
- * Cache.subproj/_NSURICacheQueue.h:
- * Cache.subproj/_NSURICacheQueue.m:
- * Misc.subproj/WebKitReallyPrivate.h:
- * Misc.subproj/_NSMonitor.h:
- * Misc.subproj/_NSMonitor.m:
- * WebKit.pbproj/project.pbxproj:
-
-2002-02-05 Richard Williamson <rjw@apple.com>
-
- Changes to support dynamic scroll bars in frames/iframes.
-
- * WebView.subproj/IFBaseWebController.mm: (-[IFBaseWebController
- createFrameNamed:for:inParent:]):
- * WebView.subproj/IFWebView.mm: (-[IFWebView dataSourceChanged]):
- * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebView _setFrameScrollView:]):
-
-2002-02-04 Maciej Stachowiak <mjs@apple.com>
-
- Rename all classes from WK prefix to IF prefix.
-
- * Cache.subproj/IFLoadChunk.h:
- * Cache.subproj/IFWebCache.h:
- * Cache.subproj/IFWebCacheClient.h:
- * Cache.subproj/IFWebContentType.h:
- * History.subproj/IFAttributedURL.h:
- * History.subproj/IFBackForwardList.h:
- * History.subproj/IFBackForwardList.m: (-[IFBackForwardList init]),
- (-[IFBackForwardList addEntry:]), (-[IFBackForwardList back]),
- (-[IFBackForwardList currentEntry]), (-[IFBackForwardList forward]),
- (-[IFBackForwardList description]):
- * History.subproj/IFURIEntry.h:
- * History.subproj/IFURIEntry.m: (WCCreateURIEntry), (-[IFURIEntry isEqual:]),
- (-[IFURIEntry description]):
- * History.subproj/IFURIList.h:
- * History.subproj/IFURIList.m: (newURIListNode), (freeNode), (-[IFURIList
- dealloc]), (-[IFURIList addEntry:]), (-[IFURIList removeURL:]), (-[IFURIList
- removeEntry:]), (-[IFURIList entryForURL:]), (-[IFURIList entryAtIndex:]),
- (-[IFURIList removeEntryAtIndex:]), (-[IFURIList removeEntriesToIndex:]):
- * Misc.subproj/IFException.h:
- * Misc.subproj/IFException.m:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFBaseWebController.h:
- * WebView.subproj/IFBaseWebController.mm: (+[IFObjectHolder holderWithObject:]),
- (-[IFBaseWebController init]), (-[IFBaseWebController initWithView:dataSource:]),
- (-[IFBaseWebController setDirectsAllLinksToSystemBrowser:]),
- (-[IFBaseWebController directsAllLinksToSystemBrowser]), (-[IFBaseWebController
- setView:andDataSource:]), (-[IFBaseWebController
- createFrameNamed:for:inParent:]), (-[IFBaseWebController viewForDataSource:]),
- (-[IFBaseWebController dataSourceForView:]), (-[IFBaseWebController mainView]),
- (-[IFBaseWebController mainDataSource]), (-[IFBaseWebController
- setStatusText:forDataSource:]), (-[IFBaseWebController
- statusTextForDataSource:]), (-[IFBaseWebController authenticate:]),
- (-[IFBaseWebController receivedProgress:forResource:fromDataSource:]),
- (-[IFBaseWebController
- receivedError:forResource:partialProgress:fromDataSource:]),
- (-[IFBaseWebController locationWillChangeTo:]), (-[IFBaseWebController
- locationChangeStartedForDataSource:]), (-[IFBaseWebController
- locationChangeInProgressForDataSource:]), (-[IFBaseWebController
- locationChangeDone:forDataSource:]), (-[IFBaseWebController
- receivedPageTitle:forDataSource:]), (-[IFBaseWebController
- serverRedirectTo:forDataSource:]):
- * WebView.subproj/IFBaseWebControllerPrivate.h:
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- * WebView.subproj/IFDynamicScrollBarsView.h:
- * WebView.subproj/IFDynamicScrollBarsView.m:
- * WebView.subproj/IFGrabBag.h:
- * WebView.subproj/IFPreferences.h:
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm: (-[IFWebDataSource _commonInitialization]),
- (-[IFWebDataSource initWithURL:]), (-[IFWebDataSource frameName]),
- (-[IFWebDataSource isMainDocument]), (-[IFWebDataSource parent]),
- (-[IFWebDataSource children]), (-[IFWebDataSource addFrame:]), (-[IFWebDataSource
- frameNamed:]), (-[IFWebDataSource frameNames]), (-[IFWebDataSource
- findDataSourceForFrameNamed:]), (-[IFWebDataSource frameExists:]),
- (-[IFWebDataSource openURL:inFrameNamed:]), (-[IFWebDataSource
- openURL:inIFrame:]), (-[IFWebDataSource controller]), (-[IFWebDataSource
- inputURL]), (-[IFWebDataSource finalURL]), (-[IFWebDataSource wasRedirected]),
- (-[IFWebDataSource stopLoading]), (-[IFWebDataSource isLoading]),
- (-[IFWebDataSource base]), (-[IFWebDataSource baseTarget]), (-[IFWebDataSource
- encoding]), (-[IFWebDataSource setUserStyleSheetFromURL:]), (-[IFWebDataSource
- setUserStyleSheetFromString:]), (-[IFWebDataSource icon]), (-[IFWebDataSource
- isPageSecure]), (-[IFWebDataSource pageTitle]):
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
- (-[IFWebDataSource _setController:]), (-[IFWebDataSource _part]),
- (-[IFWebDataSource _setFrameName:]):
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.m: (-[IFWebFrame initWithName:view:dataSource:]),
- (-[IFWebFrame dataSource]):
- * WebView.subproj/IFWebView.h:
- * WebView.subproj/IFWebView.mm: (-[IFWebView initWithFrame:]), (-[IFWebView
- controller]), (-[IFWebView dataSourceChanged]), (-[IFWebView layout]),
- (-[IFWebView stopAnimations]), (-[IFWebView setFontSizes:]), (-[IFWebView
- fontSizes]), (-[IFWebView resetFontSizes]), (-[IFWebView setStandardFont:]),
- (-[IFWebView standardFont]), (-[IFWebView setFixedFont:]), (-[IFWebView
- fixedFont]), (-[IFWebView setCanDragFrom:]), (-[IFWebView setCanDragTo:]),
- (-[IFWebView defaultContextMenuItemsForNode:]), (-[IFWebView
- setContextMenusEnabled:]), (-[IFWebView deselectText]), (-[IFWebView
- searchFor:direction:caseSensitive:]), (-[IFWebView selectedText]), (-[IFWebView
- setNeedsLayout:]), (-[IFWebView drawRect:]), (-[IFWebView setIsFlipped:]),
- (-[IFWebView isFlipped]), (-[IFWebView mouseUp:]), (-[IFWebView mouseDown:]):
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]),
- (-[IFWebView _setController:]), (-[IFWebView _widget]), (-[IFWebView
- _setFrameScrollView:]), (-[IFWebView _frameScrollView]):
-
-2002-02-04 Maciej Stachowiak <mjs@apple.com>
-
- Rename all WK files to IF (classes not renamed yet).
-
- * Cache.subproj/IFLoadChunk.h:
- * Cache.subproj/IFWebCache.h:
- * Cache.subproj/IFWebCacheClient.h:
- * Cache.subproj/IFWebContentType.h:
- * Cache.subproj/WKLoadChunk.h:
- * Cache.subproj/WKWebCache.h:
- * Cache.subproj/WKWebCacheClient.h:
- * Cache.subproj/WKWebContentType.h:
- * History.subproj/IFAttributedURL.h:
- * History.subproj/IFBackForwardList.h:
- * History.subproj/IFBackForwardList.m:
- * History.subproj/IFURIEntry.h:
- * History.subproj/IFURIEntry.m:
- * History.subproj/IFURIList.h:
- * History.subproj/IFURIList.m:
- * History.subproj/WKAttributedURL.h:
- * History.subproj/WKBackForwardList.h:
- * History.subproj/WKBackForwardList.m:
- * History.subproj/WKURIEntry.h:
- * History.subproj/WKURIEntry.m:
- * History.subproj/WKURIList.h:
- * History.subproj/WKURIList.m:
- * Misc.subproj/WKException.h:
- * Misc.subproj/WKException.m:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/IFBaseWebController.h:
- * WebView.subproj/IFBaseWebController.mm:
- * WebView.subproj/IFBaseWebControllerPrivate.h:
- * WebView.subproj/IFBaseWebControllerPrivate.mm:
- * WebView.subproj/IFDefaultWebController.h:
- * WebView.subproj/IFDefaultWebController.mm:
- * WebView.subproj/IFDefaultWebControllerPrivate.h:
- * WebView.subproj/IFDefaultWebControllerPrivate.mm:
- * WebView.subproj/IFDynamicScrollBarsView.m:
- * WebView.subproj/IFGrabBag.h:
- * WebView.subproj/IFPreferences.h:
- * WebView.subproj/IFWebController.h:
- * WebView.subproj/IFWebDataSource.h:
- * WebView.subproj/IFWebDataSource.mm:
- * WebView.subproj/IFWebDataSourcePrivate.h:
- * WebView.subproj/IFWebDataSourcePrivate.mm:
- * WebView.subproj/IFWebFrame.h:
- * WebView.subproj/IFWebFrame.m:
- * WebView.subproj/IFWebView.h:
- * WebView.subproj/IFWebView.mm:
- * WebView.subproj/IFWebViewPrivate.h:
- * WebView.subproj/IFWebViewPrivate.mm:
- * WebView.subproj/WKDefaultWebController.h:
- * WebView.subproj/WKDefaultWebController.mm:
- * WebView.subproj/WKDefaultWebControllerPrivate.h:
- * WebView.subproj/WKDefaultWebControllerPrivate.mm:
- * WebView.subproj/WKDynamicScrollBarsView.h:
- * WebView.subproj/WKDynamicScrollBarsView.m:
- * WebView.subproj/WKGrabBag.h:
- * WebView.subproj/WKPreferences.h:
- * WebView.subproj/WKWebController.h:
- * WebView.subproj/WKWebDataSource.h:
- * WebView.subproj/WKWebDataSource.mm:
- * WebView.subproj/WKWebDataSourcePrivate.h:
- * WebView.subproj/WKWebDataSourcePrivate.mm:
- * WebView.subproj/WKWebFrame.h:
- * WebView.subproj/WKWebFrame.m:
- * WebView.subproj/WKWebView.h:
- * WebView.subproj/WKWebView.mm:
- * WebView.subproj/WKWebViewPrivate.h:
- * WebView.subproj/WKWebViewPrivate.mm:
-
-2002-02-01 Richard Williamson <rjw@apple.com>
-
- Changes for dynamic scrolling frames. Added notification of complete
- load.
-
- * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController
- createFrameNamed:for:inParent:]), (-[WKDefaultWebController
- locationChangeDone:forDataSource:]):
- * WebView.subproj/WKWebController.h:
- * WebView.subproj/WKWebView.mm: (-[WKWebView dataSourceChanged]):
- * WebView.subproj/WKWebViewPrivate.h:
- * WebView.subproj/WKWebViewPrivate.mm: (-[WKWebViewPrivate dealloc]),
- (-[WKWebView _widget]), (-[WKWebView _setFrameScrollView:]), (-[WKWebView
- _frameScrollView]):
-
-2002-02-01 John Sullivan <sullivan@apple.com>
-
- Added call to examine the entry at the current index in
- the back/forward list without modifying the list. I needed
- this to save context data (in my case, scroll position)
- on the currently-viewed entry.
-
- * History.subproj/WKBackForwardList.h:
- * History.subproj/WKBackForwardList.m:
- (-[WKBackForwardList currentEntry]):
- Just returns the entry at the current index.
-
-2002-01-31 John Sullivan <sullivan@apple.com>
-
- * History.subproj/WKURIList.m: (newURIListNode):
- retain entries before adding them to list. The node-freeing
- routine was releasing, but the node-adding routine wasn't
- retaining. Bad asymmetry, made up for by WebViewTest not
- autoreleasing. I fixed that too.
-
-2002-01-31 John Sullivan <sullivan@apple.com>
-
- * WebKit.pbproj: Removed -O0, so it will now get all the same
- warnings as pbxbuild gets.
-
-2002-01-31 Kenneth Kocienda <kocienda@apple.com>
-
- Removed dependency on WC versions of these files
-
- * History.subproj/WKBackForwardList.h:
- * History.subproj/WKBackForwardList.m:
- * History.subproj/WKURIEntry.h:
- * History.subproj/WKURIEntry.m:
- * WebKit.pbproj/project.pbxproj:
-
-2002-01-31 John Sullivan <sullivan@apple.com>
-
- * WebKit.pbproj:
- Marked WKURIList.h as a public header
-
-2002-01-30 Richard Williamson <rjw@apple.com>
-
- * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController
- createFrameNamed:for:inParent:]):
- * WebView.subproj/WKWebDataSource.mm: (-[WKWebDataSource documentTextFromDOM]):
-
-2002-01-30 Richard Williamson <rjw@apple.com>
-
- Cleaned up API w/ respect to frames.
-
- * WebView.subproj/WKDefaultWebController.h:
- * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController
- setView:andDataSource:]), (-[WKDefaultWebController
- createFrameNamed:for:inParent:]):
- * WebView.subproj/WKWebController.h:
- * WebView.subproj/WKWebDataSource.h:
-
-2002-01-30 Kenneth Kocienda <kocienda@apple.com>
-
- Added *.lo, *.la, Icon, and .libs to .cvsignore files
-
- * .cvsignore:
-
-2002-01-29 Richard Williamson <rjw@apple.com>
-
- * ChangeLog:
- * WebView.subproj/WKDefaultWebController.h:
- * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController
- setView:andDataSource:]), (-[WKDefaultWebController dataSourceForView:]):
-
-2002-01-29 Richard Williamson <rjw@apple.com>
-
- * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController
- setView:andDataSource:]):
-
-2002-01-29 Richard Williamson <rjw@apple.com>
-
- First pass at frame code. Still needs lots of cleanup.
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WKDefaultWebController.h:
- * WebView.subproj/WKDefaultWebController.mm: (-[WKDefaultWebController init]):
- * WebView.subproj/WKWebDataSource.h:
- * WebView.subproj/WKWebDataSource.mm: (-[WKWebDataSource dealloc]),
- (-[WKWebDataSource frameName]), (-[WKWebDataSource parent]), (-[WKWebDataSource
- children]), (-[WKWebDataSource addFrame:]), (-[WKWebDataSource frameNamed:]):
- * WebView.subproj/WKWebDataSourcePrivate.h:
- * WebView.subproj/WKWebDataSourcePrivate.mm: (-[WKWebDataSourcePrivate init]),
- (-[WKWebDataSourcePrivate dealloc]), (-[WKWebDataSource _setController:]),
- (-[WKWebDataSource _setFrameName:]):
- * WebView.subproj/WKWebView.mm: (-[WKWebView mouseUp:]):
- * WebView.subproj/WKWebViewPrivate.h:
- * WebView.subproj/WKWebViewPrivate.mm: (-[WKWebViewPrivate dealloc]),
- (-[WKWebView _setController:]), (-[WKWebView _widget]):
-
-2002-01-29 Kenneth Kocienda <kocienda@apple.com>
-
- WebKit now links with WebFoundation
-
- * WebKit.pbproj/kocienda.pbxuser:
- * WebKit.pbproj/project.pbxproj:
-
-
-2002-01-23 Ken Kocienda <kocienda@apple.com>
-
- Took out @executable_path hack added for Alexander demo.
- This should clear up a class of crash-on-launch issues.
-
- * WebKit.pbproj/project.pbxproj:
-
-2002-01-21 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/WKWebController.h:
- * WebView.subproj/WKWebView.h:
- Changed WKConcreteWebController to WKDefaultWebController in a
- couple of comments.
-
-2002-01-18 Richard Williamson <rjw@apple.com>
-
- First pass at new view/datasource/controller API.
-
- * Misc.subproj/WKException.h:
- * Misc.subproj/WKException.m:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WKDefaultWebController.h:
- * WebView.subproj/WKDefaultWebController.mm: (+[WKObjectHolder
- holderWithObject:]), (-[WKObjectHolder initWithObject:]), (-[WKObjectHolder
- dealloc]), (-[WKObjectHolder copyWithZone:]), (-[WKObjectHolder hash]),
- (-[WKObjectHolder object]), (-[WKObjectHolder isEqual:]),
- (-[WKDefaultWebController initWithView:dataSource:]), (-[WKDefaultWebController
- dealloc]), (-[WKDefaultWebController setDirectsAllLinksToSystemBrowser:]),
- (-[WKDefaultWebController directsAllLinksToSystemBrowser]),
- (-[WKDefaultWebController setView:andDataSource:]), (-[WKDefaultWebController
- viewForDataSource:]), (-[WKDefaultWebController dataSourceForView:]),
- (-[WKDefaultWebController mainView]), (-[WKDefaultWebController mainDataSource]),
- (-[WKDefaultWebController createViewForDataSource:inFrameNamed:]),
- (-[WKDefaultWebController createViewForDataSource:inIFrame:]),
- (-[WKDefaultWebController setStatusText:forDataSource:]),
- (-[WKDefaultWebController statusTextForDataSource:]), (-[WKDefaultWebController
- authenticate:]), (-[WKDefaultWebController
- receivedProgress:forResource:fromDataSource:]), (-[WKDefaultWebController
- receivedError:forResource:partialProgress:fromDataSource:]),
- (-[WKDefaultWebController locationWillChangeTo:]), (-[WKDefaultWebController
- locationChangeStartedForDataSource:]), (-[WKDefaultWebController
- locationChangeInProgressForDataSource:]), (-[WKDefaultWebController
- locationChangeDone:forDataSource:]), (-[WKDefaultWebController
- receivedPageTitle:forDataSource:]), (-[WKDefaultWebController
- serverRedirectTo:forDataSource:]):
- * WebView.subproj/WKDefaultWebControllerPrivate.h:
- * WebView.subproj/WKDefaultWebControllerPrivate.mm:
- (-[WKDefaultWebControllerPrivate init]), (-[WKDefaultWebControllerPrivate
- dealloc]):
- * WebView.subproj/WKWebController.h:
- * WebView.subproj/WKWebController.mm:
- * WebView.subproj/WKWebDataSource.h:
- * WebView.subproj/WKWebDataSource.mm: (-[WKWebDataSource _commonInitialization]),
- (-[WKWebDataSource initWithURL:]), (-[WKWebDataSource parent]),
- (-[WKWebDataSource isMainDocument]), (-[WKWebDataSource children]),
- (-[WKWebDataSource frameNames]), (-[WKWebDataSource
- findDataSourceForFrameNamed:]), (-[WKWebDataSource frameExists:]),
- (-[WKWebDataSource openURL:inFrameNamed:]), (-[WKWebDataSource
- openURL:inIFrame:]), (-[WKWebDataSource controller]), (-[WKWebDataSource
- inputURL]), (-[WKWebDataSource finalURL]), (-[WKWebDataSource wasRedirected]),
- (-[WKWebDataSource startLoading:]), (-[WKWebDataSource stopLoading]),
- (-[WKWebDataSource isLoading]), (-[WKWebDataSource documentText]),
- (-[WKWebDataSource base]), (-[WKWebDataSource baseTarget]), (-[WKWebDataSource
- encoding]), (-[WKWebDataSource setUserStyleSheetFromURL:]), (-[WKWebDataSource
- setUserStyleSheetFromString:]), (-[WKWebDataSource icon]), (-[WKWebDataSource
- isPageSecure]), (-[WKWebDataSource pageTitle]):
- * WebView.subproj/WKWebDataSourcePrivate.h:
- * WebView.subproj/WKWebDataSourcePrivate.mm: (-[WKWebDataSourcePrivate init]),
- (-[WKWebDataSourcePrivate dealloc]), (-[WKWebDataSource _setController:]),
- (-[WKWebDataSource _part]):
- * WebView.subproj/WKWebView.h:
- * WebView.subproj/WKWebView.mm: (-[WKWebView initWithFrame:]), (-[WKWebView
- dealloc]), (-[WKWebView controller]), (-[WKWebView dataSourceChanged]),
- (-[WKWebView layout]), (-[WKWebView stopAnimations]), (-[WKWebView
- setFontSizes:]), (-[WKWebView fontSizes]), (-[WKWebView resetFontSizes]),
- (-[WKWebView setStandardFont:]), (-[WKWebView standardFont]), (-[WKWebView
- setFixedFont:]), (-[WKWebView fixedFont]), (-[WKWebView setCanDragFrom:]),
- (-[WKWebView canDragFrom]), (-[WKWebView setCanDragTo:]), (-[WKWebView
- canDragTo]), (-[WKWebView defaultContextMenuItemsForNode:]), (-[WKWebView
- setContextMenusEnabled:]), (-[WKWebView deselectText]), (-[WKWebView
- searchFor:direction:caseSensitive:]), (-[WKWebView selectedText]), (-[WKWebView
- delayLayout:]), (-[WKWebView notificationReceived:]), (-[WKWebView
- setNeedsLayout:]), (-[WKWebView drawRect:]), (-[WKWebView setIsFlipped:]),
- (-[WKWebView isFlipped]), (-[WKWebView setFrame:]), (-[WKWebView mouseUp:]),
- (-[WKWebView mouseDown:]), (-[WKWebView mouseDragged:]):
- * WebView.subproj/WKWebViewPrivate.h:
- * WebView.subproj/WKWebViewPrivate.mm: (-[WKWebViewPrivate init]),
- (-[WKWebViewPrivate dealloc]), (-[WKWebView _resetView]), (-[WKWebView
- _setController:]):
-
-2002-01-14 Maciej Stachowiak <mjs@apple.com>
-
- Convert build system to automake
-
- * Makefile.am: Add this
- * Makefile.in: Remove this (now autogenerated)
- * .cvsignore: Fix ignores
- * WebKit.pbproj/project.pbxproj: Twiddle link flags
-
-2001-12-21 John Sullivan <sullivan@apple.com>
-
- * .cvsignore:
- * WebKit.pbproj/.cvsignore:
- Added files that were showing up on my machine to .cvsignores.
-
-2001-12-18 Kenneth Kocienda <kocienda@apple.com>
-
- Deleted one little word
-
- * Documentation/WebKit-White-Paper/WebKit-White-Paper.html:
-
-2001-12-18 Richard Williamson <rjw@apple.com>
-
- Restructing of headers in prepartion for implementation. Added new WK*
- headers to PB project description.
-
- * ChangeLog:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/NSWebPageDataSource.h:
- * WebView.subproj/NSWebPageDataSource.mm:
- * WebView.subproj/NSWebPageDataSourcePrivate.h:
- * WebView.subproj/NSWebPageView.h:
- * WebView.subproj/NSWebPageView.mm:
- * WebView.subproj/NSWebPageViewPrivate.h:
- * WebView.subproj/WKWebController.h:
- * WebView.subproj/WKWebController.mm:
- * WebView.subproj/WKWebDataSource.h:
- * WebView.subproj/WKWebDataSource.mm: (+[WKWebDataSource initialize]):
- * WebView.subproj/WKWebDataSourcePrivate.h:
- * WebView.subproj/WKWebView.h:
- * WebView.subproj/WKWebView.mm:
- * WebView.subproj/WKWebViewPrivate.h:
-
-2001-12-18 Kenneth Kocienda <kocienda@apple.com>
-
- Updated the white paper text and graphics.
-
- * Documentation/WebKit-White-Paper/WebKit-White-Paper.html:
- * Documentation/WebKit-White-Paper/images/webkit-cache-loader.jpg:
- * Documentation/WebKit-White-Paper/images/webkit-classes.jpg:
-
-2001-12-18 Kenneth Kocienda <kocienda@apple.com>
-
- Merged "Changes" information into individual files
-
- * Cache.subproj/WKLoadChunk.h:
- * Cache.subproj/WKWebCache.h:
- * Cache.subproj/WKWebCacheClient.h:
- * Cache.subproj/WKWebContentType.h:
-
-2001-12-17 Kenneth Kocienda <kocienda@apple.com>
-
- Fixed small cpp glitch in WKWebCache.
- Added WKAttributedURL header.
- Updated WKBackForwardList with ifdef'ed out new design.
-
- * Cache.subproj/WKWebCache.h:
- * History.subproj/WKAttributedURL.h:
- * History.subproj/WKBackForwardList.h:
-
-2001-12-17 Kenneth Kocienda <kocienda@apple.com>
-
- Added header files by chopping up the CacheAPI.h document I have been working on.
-
- * Cache.subproj/WKLoadChunk.h:
- * Cache.subproj/WKWebCache.h:
- * Cache.subproj/WKWebCacheClient.h:
- * Cache.subproj/WKWebContentType.h:
-
-2001-12-17 Kenneth Kocienda <kocienda@apple.com>
-
- Did some verb tense cleanup.
-
- * Documentation/WebKit-White-Paper/WebKit-White-Paper.html:
-
-2001-12-17 Kenneth Kocienda <kocienda@apple.com>
-
- Added the current draft of the WebKit white paper.
-
- * Documentation/WebKit-White-Paper/WebKit-White-Paper.html:
- * Documentation/WebKit-White-Paper/images/webkit-cache-loader.jpg:
-
-2001-12-14 Richard Williamson <rjw@apple.com>
-
- Remove WKContextMenuHandler for want of a better way to describe the
- not-yet-existing WKDOMNode. We can't think of any initial clients that want
- to override the default behavior anyway. Put it in WKGrabBag.h for now.
-
- * WebView.subproj/WKWebController.h:
-
-2001-12-14 Richard Williamson <rjw@apple.com>
-
- Remove explicit API to get/set the selection range. This will be postponed until we
- have a DOM API that allows us to express selection ranges correctly. Instead we have API
- that should support searching and getting a NSAttributedString that corresponds to
- the selected text.
-
- Added the following methods:
- - (void)searchFor: (NSString *)string direction: (BOOL)forward caseSensitive: (BOOL)case
- - deselectText;
- - (NSAttributedString *)selectedText;
-
- * WebView.subproj/WKWebView.h:
-
- Moved search API to WKWebView.
-
- Moved WKPreferences to a new file, WKPreferences.h. We are still discussing
- this item and it will not make it into the white paper.
-
- Minor naming changes.
-
- * WebView.subproj/WKDataSource.h:
-
-2001-12-14 Maciej Stachowiak <mjs@apple.com>
-
- Simplified WKLocationChangeHandler and updated
- WKAuthenticationHandler.
-
- * WebView.subproj/WKWebController.h:
- (WKWebDataSource): Renamed methods to be forDataSource, not
- byDataSource.
- (-[WKWebDataSource locationChangeInProgressForDataSource:]): Added.
- (-[WKWebDataSource locationChangeDone:forDataSource:]): Added as a
- collapsed version of locationChangeCancelled:,
- locationChangeStopped: and locationChangeFinished:.
- (WKSimpleAuthenticationResult, WKSimpleAuthenticationRequest):
- made these interfaces instead of structs.
-
-2001-12-14 Maciej Stachowiak <mjs@apple.com>
-
- Minor cleanups, mostly for naming consistency.
-
- * WebView.subproj/WKWebController.h:
- (WKSimpleAuthenticationRequest) name field `url', not `uri'.
- (-[WKWebDataSourceErrorHandler receivedError:forDataSource:]):
- renamed from `error:inDataSource:' so that it's a verb phrase.
-
- * WebView.subproj/WKWebDataSource.h:
- (-[WKWebDataSource initWithURL:]): Rename `inputUrl' argument to
- `inputURL'.
- (-[WKWebDataSource initWithLoader:]): Change argument type from
- `WKURILoader' to `WKLoader'.
- (-[WKWebDataSource wasRedirected]): Renamed from `isRedirected',
- the past tense seems more appropriate here.
- (-[WKWebDataSource setJavaEnabled:]): Add missing semicolon.
- (-[WKWebDataSource pluginsEnabled:]): renamed from `pluginEnabled'
- for consistency with `setPluginsEnabled:'.
-
- * WebView.subproj/WKWebView.h:
- (-[WKWebView fontSizes]): renamed from `fontSize' for sonsistency
- with `setFontSizes:'.
- (-[WKWebView setContextMenusEnabled]): renamed from
- 'setEnableContextMenus:' for consistency with
- `contextMenusenabled'.
-
-2001-12-14 Maciej Stachowiak <mjs@apple.com>
-
- After discussion with Don, Removed all methods relating to
- resolved URLs, since browsers don't actually treat aliases
- specially.
-
- * WebView.subproj/WKWebController.h: removed inputURLresolvedTo: methods.
- * WebView.subproj/WKWebDataSource.h: remove resolvedURL method,
- and mentions of it in comments.
-
-2001-12-13 Richard Williamson <rjw@apple.com>
-
- Removed WKFrameSetHandler, placed that functionality on WKWebDataSource.
-
- Changed WKLocationChangeHandler to add a parameter specifying the data source
- that sent the message.
-
- * WebView.subproj/WKWebController.h:
-
-2001-12-13 Maciej Stachowiak <mjs@apple.com>
-
- Warning fixes and support to pass the http headers along with
- cache data items
-
- * Cache.subproj/NSURICacheData.h, Cache.subproj/NSURICacheData.m:
- (+[NSURICacheData
- dataWithURL:status:error:headers:data:size:notificationString:userData:],
- -[NSURICacheData
- initWithURL:status:error:headers:data:size:notificationString:userData:]),
- -[NSURICacheData dealloc], -[NSURICacheData error],
- -[NSURICacheData headers]:
- NSURICacheData now carries a copy of the response headers
- dictionary.
- * Cache.subproj/NSURICache.m: include "WCURICache.h" to fix warnings.
- (-[NSURICache requestWithURL:requestor:userData:]):
- Handle headers in CacheData.
- * Cache.subproj/NSURILoad.h, Cache.subproj/NSURILoad.m:
- (-[NSURILoad __NSURILoadReadStreamCallback:event:data:],
- -[NSURILoad headers], -[NSURILoad dealloc], -[NSURILoad done]):
- An NSURILoad object now carries the response headers associated
- with its connection, if any.
-
- * History.subproj/WKBackForwardList.m: include WCBackForwardList.h
- to fix warning.
- * History.subproj/WKURIEntry.m: include WCURIEntry.h to fix
- warning.
- * Misc.subproj/WebKitDebug.h: Use (void) for C prototypes, not ().
- * WebView.subproj/NSWebPageDataSource.mm: (+[NSWebPageDataSource
- initialize]): Remove unused variable to fix warning.
- * WebKit.pbproj/project.pbxproj: Enable many warning flags and -Werror
-
-2001-12-13 Maciej Stachowiak <mjs@apple.com>
-
- * WebView.subproj/WKWebController.h: Defined initial version of
- WKAuthenticationHandler interface, and associated
- WKSimpleAuthenticationRequest and WKSimpleAuthenticationResult
- structs.
-
-2001-12-13 Richard Williamson <rjw@apple.com>
-
- Remove setBase: and setBaseTarget:
-
- Changed return type of baseTarget to (NSString *)
-
- Added the following two methods:
- - (WKDataSource *)parent;
- - (NSArry *)children;
- - (BOOL)isMainDocument;
-
- Added the following methods:
-
- - (NSArray *)frameNames;
- - (WKWebDataSource) findDataSourceForFrameNamed: (NSString *)name;
- - (BOOL)frameExists: (NSString *)name;
- - (void)openURL: (NSURL *)url inFrameNamed: (NSString *)frameName;
- - (void)openURL: (NSURL *)url inIFrame: (id)iFrameIdentifier;
-
- * WebView.subproj/WKWebDataSource.h:
-
-2001-12-12 Richard Williamson <rjw@apple.com>
-
- Changed WKConcreteWebController to WKDefaultWebController.
-
- Changed WKLocationChangedHandler naming, replace "loadingXXX" with
- "locationChangeXXX".
-
- Changed loadingStopped in WKLocationChangedHandler to locationChangeStopped:(WKError *).
-
- Changed loadingCancelled in WKLocationChangedHandler to locationChangeCancelled:(WKError *).
-
- Changed loadedPageTitle in WKLocationChangedHandler to receivedPageTitle:.
-
- Added inputURL:(NSURL *) resolvedTo: (NSURL *) to WKLocationChangedHandler.
-
- Added the following two methods to WKLocationChangedHandler:
-
- - (void)inputURL: (NSURL *)inputURL resolvedTo: (NSURL *)resolvedURL;
- - (void)serverRedirectTo: (NSURL *)url;
-
- Put locationWillChangeTo: back on WKLocationChangedHandler.
-
- Changed XXXforLocation in WKLoadHandler to XXXforResource.
-
- Changed timeoutForLocation: in WKLoadHandler to receivedError:forResource:partialProgress:
-
- Added the following two methods to WKDefaultWebController:
-
- - setDirectsAllLinksToSystemBrowser: (BOOL)flag
- - (BOOL)directsAllLinksToSystemBrowser;
-
- Removed WKError. This will be described in WKError.h.
-
- * WebView.subproj/WKWebController.h:
-
-2001-12-12 Richard Williamson <rjw@apple.com>
-
- After group discussion we decided to classify API as :
- Tier 1: Needed by our browser (or Sherlock).
- Tier 2: Nedded by Apple internal clients (Mail, Help, PB, other TBD).
- Tier 3: Third party software vendors.
-
- Added finalURL and isRedirected.
-
- * WebView.subproj/WKWebDataSource.h:
-
-2001-12-11 Chris Blumenberg <cblu@apple.com>
-
- * ChangeLog:
- * WebView.subproj/NSWebPageDataSource.mm: (+[NSWebPageDataSource initialize]):
-
-2001-12-11 Chris Blumenberg <cblu@apple.com>
-
- * WebView.subproj/NSWebPageDataSource.mm: (+[NSWebPageDataSource initialize]):
-
-2001-12-10 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/WKWebController.h:
- * WebView.subproj/WKWebDataSource.h:
- * WebView.subproj/WKWebView.h:
-
- Fixed some typos and misspellings.
-
-2001-12-07 Richard Williamson <rjw@apple.com>
-
- * WebView.subproj/NSWebPageDataSource.h:
- * WebView.subproj/NSWebPageDataSourcePrivate.h:
- * WebView.subproj/NSWebPageView.h:
-
- First pass at API for WKWebView and WKWebDataSource. Note
- that we have to change names from NS to WK! The new API is conditionally
- excluded #ifdef READY_FOR_PRIMETIME
-
- Added these files:
-
- * WebView.subproj/WKWebDataSource.h:
- * WebView.subproj/WKWebView.h:
- * WebView.subproj/WKWebController.h:
-
-2001-12-06 Maciej Stachowiak <mjs@apple.com>
-
- * Cache.subproj/NSURICacheData.m: (+[NSURICacheData
- dataWithURL:status:error:data:size:notificationString:userData:]),
- (-[NSURICacheData
- initWithURL:status:error:data:size:notificationString:userData:]):
- Remove redundant semicolons between the end of the prototype and
- the open brace, because they confuse the changelog script.
-
diff --git a/Source/WebKit/mac/ChangeLog-2006-02-09 b/Source/WebKit/mac/ChangeLog-2006-02-09
deleted file mode 100644
index c91ea5f3f..000000000
--- a/Source/WebKit/mac/ChangeLog-2006-02-09
+++ /dev/null
@@ -1,35499 +0,0 @@
-2006-02-09 Tim Omernick <timo@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/4198378> Crash on a CFRelease when visiting http://www.akella.com/
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView requestWithURLCString:]):
- The true source of this crash is that the URL string is sometimes not NULL-terminated, which is the
- Real Player plugin's fault. That has been filed as 4439591.
- However, we can be more bulletproof here by switching the URL string encoding from Windows Latin 1
- to ISO Latin 1, so that any NULL-terminated string can be represented. (As Darin and I found out
- last night, Windows Latin 1 has "holes" in certain character ranges and thus cannot encode arbitrary
- C strings).
-
-2006-02-09 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Anders.
-
- - Moved all the default delegate classes to their own directory.
-
- * DefaultDelegates: Added.
- * DefaultDelegates/WebDefaultContextMenuDelegate.h: Added.
- * DefaultDelegates/WebDefaultContextMenuDelegate.m: Added.
- * DefaultDelegates/WebDefaultEditingDelegate.h: Added.
- * DefaultDelegates/WebDefaultEditingDelegate.m: Added.
- * DefaultDelegates/WebDefaultFrameLoadDelegate.h: Added.
- * DefaultDelegates/WebDefaultFrameLoadDelegate.m: Added.
- * DefaultDelegates/WebDefaultPolicyDelegate.h: Added.
- * DefaultDelegates/WebDefaultPolicyDelegate.m: Added.
- * DefaultDelegates/WebDefaultResourceLoadDelegate.h: Added.
- * DefaultDelegates/WebDefaultResourceLoadDelegate.m: Added.
- * DefaultDelegates/WebDefaultScriptDebugDelegate.h: Added.
- * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Added.
- * DefaultDelegates/WebDefaultUIDelegate.h: Added.
- * DefaultDelegates/WebDefaultUIDelegate.m: Added.
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDefaultContextMenuDelegate.h: Removed.
- * WebView/WebDefaultContextMenuDelegate.m: Removed.
- * WebView/WebDefaultEditingDelegate.h: Removed.
- * WebView/WebDefaultEditingDelegate.m: Removed.
- * WebView/WebDefaultFrameLoadDelegate.h: Removed.
- * WebView/WebDefaultFrameLoadDelegate.m: Removed.
- * WebView/WebDefaultPolicyDelegate.h: Removed.
- * WebView/WebDefaultPolicyDelegate.m: Removed.
- * WebView/WebDefaultResourceLoadDelegate.h: Removed.
- * WebView/WebDefaultResourceLoadDelegate.m: Removed.
- * WebView/WebDefaultScriptDebugDelegate.h: Removed.
- * WebView/WebDefaultScriptDebugDelegate.m: Removed.
- * WebView/WebDefaultUIDelegate.h: Removed.
- * WebView/WebDefaultUIDelegate.m: Removed.
-
-2006-02-08 Justin Garcia <justin.garcia@apple.com>
-
- Original patch by Graham Dennis, reviewed by me:
-
- <http://bugs.webkit.org/show_bug.cgi?id=3982>
- webViewDidBeginEditing, webViewDidEndEditing notification methods not called on delegate
-
- Changes made by me, reviewed by thatcher:
-
- Made _setWindowHasFocus: and _setDisplaysWithFocusAttributes: into private SPI to allow
- for the testing of window.onFocus, window.onBlur, caret and focus halo painting, and
- the focusing of content editable regions that happens as side effect of setting a selection,
- but only if the window has focus (7128).
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge didBeginEditing]):
- (-[WebFrameBridge didEndEditing]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView updateFocusState]):
- (-[WebHTMLView _setWindowHasFocus:]):
- (-[WebHTMLView _setDisplaysWithFocusAttributes:]):
- * WebView/WebHTMLViewPrivate.h:
-
-2006-02-08 David Kilzer <ddkilzer@kilzer.net>
-
- Reviewed by Darin.
-
- - Fix http://bugs.webkit.org/show_bug.cgi?id=3527
- Allow Safari to open postscript files in browser windows as well
-
- * WebView/WebPDFRepresentation.m:
- (+[WebPDFRepresentation postScriptMIMETypes]): Added.
- (+[WebPDFRepresentation supportedMIMETypes]): Include PostScript MIME types.
- (-[WebPDFRepresentation convertPostScriptDataSourceToPDF:]): Added.
- (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
- Handle PostScript conversion using new convertPostScriptDataSourceToPDF method.
-
-2006-02-07 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Timothy.
-
- Convert JavaScript objects to appropriate AppleScript types, instead of only strings
- http://bugs.webkit.org/show_bug.cgi?id=7012
-
- Tests: fast/AppleScript/*
-
- * WebView/WebView.m:
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Added.
- * WebView/WebViewPrivate.h:
-
-2006-02-06 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- - fixed "remove frame, renderer and completed flag from ChildFrame, make Frame track these"
- http://bugs.webkit.org/show_bug.cgi?id=7125
-
- - fixed "onload event never called for iframe element with emtpy or about:blank src"
- http://bugs.webkit.org/show_bug.cgi?id=3609
-
- * WebCoreSupport/WebFrameBridge.h:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge initWithPage:webView:renderer:frameName:view:]): Pass along renderer.
- (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]): Pass along renderer.
- * WebCoreSupport/WebPageBridge.m:
- (-[WebPageBridge initWithMainFrameName:webView:frameView:]): Pass null for renderer.
- * WebView/WebView.m:
- * WebView/WebViewPrivate.h:
-
-2006-02-06 John Sullivan <sullivan@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- * WebView/WebPDFView.m:
- (-[WebPDFView menuForEvent:]):
- Removed use of WKExecutableLinkedInTigerOrEarlier() by modifying backward-compatibility
- hack involving PDF view context menus. Now we only bother to make sure that the PDFKit-
- supplied context menu items are present in Safari, for the benefit of the open source
- folks using tip of tree WebKit but older released Safari; it's possible that some other
- existing WebKit apps won't show all the PDF view context menu items.
-
-2006-02-06 Maciej Stachowiak <mjs@apple.com>
-
- Remove remaining .subproj references to fix release build.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-02-06 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Hyatt.
-
- - renamed subproject directories to not end with .subproj
-
- * Carbon: renamed from Carbon.subproj
- * DOM: renamed from DOM.subproj
- * History: renamed from History.subproj
- * Misc: renamed from Misc.subproj
- * Panels: renamed from Panels.subproj
- * Plugins: renamed from Plugins.subproj
- * WebCoreSupport: renamed from WebCoreSupport.subproj
- * WebInspector: renamed from WebInspector.subproj
- * WebView: renamed from WebView.subproj
-
-2006-02-06 Maciej Stachowiak <mjs@apple.com>
-
- Ooops, I made a last-minute change to my last patch that broke the build - fixed.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _closeOldDataSources]):
- (-[WebFrame _detachFromParent]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- (-[WebFrame _handledOnloadEvents]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _goToItem:withLoadType:]):
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
- (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- (-[WebFrame _clientRedirectCancelled:]):
- * WebView.subproj/WebFramePrivate.h:
-
-2006-02-05 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - shuffle things around so that WebFrame no longer has a WebView backpointer, the backpointer is
- at the bridge level.
- http://bugs.webkit.org/show_bug.cgi?id=7093
-
- * WebCoreSupport.subproj/WebFrameBridge.h:
- * WebCoreSupport.subproj/WebFrameBridge.m:
- (-[WebFrameBridge initWithPage:webView:frameName:view:]):
- (-[WebFrameBridge page]):
- (-[WebFrameBridge mainFrame]):
- (-[WebFrameBridge webView]):
- (-[WebFrameBridge createWindowWithURL:frameName:]):
- (-[WebFrameBridge showWindow]):
- (-[WebFrameBridge areToolbarsVisible]):
- (-[WebFrameBridge setToolbarsVisible:]):
- (-[WebFrameBridge isStatusbarVisible]):
- (-[WebFrameBridge setStatusbarVisible:]):
- (-[WebFrameBridge setWindowFrame:]):
- (-[WebFrameBridge windowFrame]):
- (-[WebFrameBridge setWindowContentRect:]):
- (-[WebFrameBridge windowContentRect]):
- (-[WebFrameBridge setWindowIsResizable:]):
- (-[WebFrameBridge windowIsResizable]):
- (-[WebFrameBridge firstResponder]):
- (-[WebFrameBridge makeFirstResponder:]):
- (-[WebFrameBridge closeWindowSoon]):
- (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]):
- (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]):
- (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]):
- (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]):
- (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
- (-[WebFrameBridge addMessageToConsole:]):
- (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
- (-[WebFrameBridge setStatusText:]):
- (-[WebFrameBridge startLoadingResource:withURL:customHeaders:]):
- (-[WebFrameBridge startLoadingResource:withURL:customHeaders:postData:]):
- (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- (-[WebFrameBridge focusWindow]):
- (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- (-[WebFrameBridge userAgentForURL:]):
- (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
- (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
- (-[WebFrameBridge defersLoading]):
- (-[WebFrameBridge setDefersLoading:]):
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
- (-[WebFrameBridge _preferences]):
- (-[WebFrameBridge selectWordBeforeMenuEvent]):
- (-[WebFrameBridge historyLength]):
- (-[WebFrameBridge canGoBackOrForward:]):
- (-[WebFrameBridge goBackOrForward:]):
- (-[WebFrameBridge print]):
- (-[WebFrameBridge pollForAppletInView:]):
- (-[WebFrameBridge respondToChangedContents]):
- (-[WebFrameBridge respondToChangedSelection]):
- (-[WebFrameBridge undoManager]):
- (-[WebFrameBridge issueCutCommand]):
- (-[WebFrameBridge issueCopyCommand]):
- (-[WebFrameBridge issuePasteCommand]):
- (-[WebFrameBridge issuePasteAndMatchStyleCommand]):
- (-[WebFrameBridge canPaste]):
- (-[WebFrameBridge overrideMediaType]):
- (-[WebFrameBridge isEditable]):
- (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
- (-[WebFrameBridge shouldBeginEditing:]):
- (-[WebFrameBridge shouldEndEditing:]):
- (-[WebFrameBridge windowObjectCleared]):
- (-[WebFrameBridge spellCheckerDocumentTag]):
- (-[WebFrameBridge isContinuousSpellCheckingEnabled]):
- (-[WebFrameBridge didFirstLayout]):
- (-[WebFrameBridge dashboardRegionsChanged:]):
- (-[WebFrameBridge createModalDialogWithURL:]):
- (-[WebFrameBridge canRunModal]):
- (-[WebFrameBridge runModal]):
- * WebCoreSupport.subproj/WebPageBridge.h:
- * WebCoreSupport.subproj/WebPageBridge.m:
- (-[WebPageBridge initWithMainFrameName:webView:frameView:]):
- (-[WebPageBridge webView]):
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _fileWrapperForURL:]):
- (-[WebDataSource _webView]):
- (-[WebDataSource _setLoading:]):
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource _setTitle:]):
- (-[WebDataSource _setRequest:]):
- (-[WebDataSource _updateIconDatabaseWithURL:]):
- (-[WebDataSource _defersCallbacksChanged]):
- (-[WebDataSource _setWebFrame:]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _traverseNextFrameStayWithin::]):
- (-[WebFrame _detachFromParent]):
- (-[WebFrame _setDataSource:]):
- (-[WebFrame _loadDataSource:withLoadType:formState:]):
- (-[WebFrame _initWithWebFrameView:webView:bridge:]):
- (-[WebFrame dealloc]):
- (-[WebFrame finalize]):
- (-[WebFrame webView]):
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _webView]):
- (-[WebFrameView _goBack]):
- (-[WebFrameView _goForward]):
- * WebView.subproj/WebFrameViewInternal.h:
- * WebView.subproj/WebView.m:
- (-[WebView _createFrameNamed:inParent:allowsScrolling:]):
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2006-02-04 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- * Misc.subproj/WebCoreStatistics.h:
- * Misc.subproj/WebCoreStatistics.m:
- (+[WebCoreStatistics javaScriptRootObjectTypeCounts]):
- javaScriptRootObjecTypeCounts -> javaScriptRootObjectTypeCounts
-
-2006-02-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Hyatt.
-
- - change JavaScript collector statistics calls to use HashCountedSet instead
- of CFSet; other misc cleanup
- http://bugs.webkit.org/show_bug.cgi?id=7072
-
- * Misc.subproj/WebCoreStatistics.h:
- * Misc.subproj/WebCoreStatistics.m:
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]): new
- (+[WebCoreStatistics javaScriptRootObjecTypeCounts]): new
- (+[WebCoreStatistics javaScriptRootObjectClasses]): deprecated
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]): deprecated
- (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]): Just return 0. Deprecated.
-
-2006-02-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - change spellchecker preflighting to happen via class methods instead of
- object methods.
-
- * WebView.subproj/WebView.m:
- (-[WebView setContinuousSpellCheckingEnabled:]):
- (+[WebView _preflightSpellCheckerNow:]):
- (+[WebView _preflightSpellChecker]):
-
-2006-02-03 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Justin.
-
- Renamed configuration names to Debug, Release and Production.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-02-02 David Hyatt <hyatt@apple.com>
-
- Fix for bug 6957, rewrite image rendering in C++ and move it to
- WebCore. Animation now stops lazily and just uses the CachedObject
- notification system to push updates so that rects no longer need to
- be cached (or sets of animating renderers in specific views).
-
- Reviewed by darin
-
- * Misc.subproj/WebNSPasteboardExtras.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
- (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]):
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData init]):
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (+[WebImageRendererFactory shouldUseThreadedDecoding]):
- (+[WebImageRendererFactory setShouldUseThreadedDecoding:]):
- (-[WebImageRendererFactory setPatternPhaseForContext:inUserSpace:]):
- (-[WebImageRendererFactory imageDataForName:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- (-[NSArray elementAtPoint:]):
- * WebView.subproj/WebImageView.m:
- (-[WebImageView writeImageToPasteboard:types:]):
- (-[WebImageView elementAtPoint:]):
- (-[WebImageView mouseDragged:]):
- * WebView.subproj/WebView.m:
- (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
-
-2006-01-31 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - fixed <rdar://problem/4267144> REGRESSION (10.4.2): Safari pages auto-scroll too easily
- during drag over content [5853]
-
- There were two issues here:
- (1) dragging over a non-editable webview (such as a typical Safari page) should not have
- auto-scrolled at all; the fact that it did was an uninentional side effect of making
- auto-scroll work for editable webviews a la Blot.
- (2) the speed & hot area of the auto-scroll changed between 10.4.1 and 10.4.2.
-
- I have a fix for (1), which is the much more important issue. I'll modify the bugzilla bug
- to be about the remaining issue.
-
- * WebView.subproj/WebView.m:
- (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
- do nothing if not editable
- (-[WebView _shouldAutoscrollForDraggingInfo:]):
- return NO if not editable
-
-2006-01-31 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- Support for programmatic scrolling one line at a time for PDFs. (We already had support for
- programmatic scrolling one page at a time, and to top/end.)
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
- generalized comment
- (-[WebPDFView scrollLineDown:]):
- pass a faked arrow-down key event
- (-[WebPDFView scrollLineUp:]):
- pass a faked arrow-up key event
-
-2006-01-31 Darin Adler <darin@apple.com>
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebFrameBridge.m:
- (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- Updated for name change.
-
-2006-01-30 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Tim O.
-
- Add -Wno-deprecated-declarations to the compile flags for WebNetscapePluginPackage.m.
- <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment now deprecated.
- When we workaround these we can remove this compile flag.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-01-30 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Justin.
-
- Remove the only use of -[NSFont glyphPacking]. This method was deprecated in Tiger
- and always returns NSNativeShortGlyphPacking.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:]):
-
-2006-01-28 David Hyatt <hyatt@apple.com>
-
- Clean up RenderImage, eliminating unneeded members and methods.
-
- Reviewed by darin
-
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer copyWithZone:]):
- (-[WebImageRenderer size]):
- (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
-
-2006-01-26 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4422365>
-
- * WebView.subproj/WebHTMLView.m:
- (-[NSArray addSuperviewObservers]):
- In addition to registering for frame/bounds change notifications, call -_frameOrBoundsChanged.
- It will check the current size/scroll against the previous layout's size/scroll. We need to
- do this here to catch the case where the WebView is laid out at one size, removed from its
- window, resized, and inserted into another window. Our frame/bounds changed notifications
- will not be sent in that situation, since we only watch for changes while in the view hierarchy.
-
- I have verified that this does not cause unnecessary layouts while running the PLT.
-
-2006-01-25 Vicki Murley <vicki@apple.com>
-
- Reviewed by Beth Dakin.
-
- - fix <rdar://problem/4351664> REGRESSION (420+): extra URL in b/f list - navigating back to
- previous page fails at apple.com/retail/)
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): grab the
- redirect flag of the current load before calling _loadURL, which clears this flag,
- (-[WebFrame _transitionToCommitted:]): remove misleading comment
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem setURL:]): release resources in the page cache when setting
- the URL on a WebHistoryItem
-
-2006-01-25 Timothy Hatcher <timothy@apple.com>
-
- Move off of -[NSFont widthOfString:] since it is now deprecated.
- Use the NSStringDrawing -[NSString sizeWithAttributes:] API.
-
- * WebCoreSupport.subproj/WebFileButton.m:
- (-[WebFileChooserButton bestVisualFrameSizeForCharacterCount:]):
-
-2006-01-23 Darin Adler <darin@apple.com>
-
- - fixed some small localizable strings issues
-
- * WebInspector.subproj/WebInspector.m:
- (-[DOMNode _nodeTypeName]): Changed so we don't have two localizable strings that
- are both "Document". I'm not sure we want to localize the DOM inspector UI at all,
- but this fixes things for now.
- (-[DOMNode _displayName]): Ditto.
-
- * English.lproj/Localizable.strings: Updated.
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2006-01-23 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by thatcher
-
- Turned on -O2 for B&I build.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-01-22 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Makes the Inspector's Style pane take !important into account
- when marking overloaded properties.
-
- * WebInspector.subproj/webInspector/inspector.js:
-
-2006-01-21 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Make sure shorthand properties get striked-out if
- all the properties they expand into are overloaded.
-
- * WebInspector.subproj/webInspector/inspector.js:
-
-2006-01-21 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Adds computed style to the Web Inspector.
- Adds a "mapped style" link to the mapped attributes.
-
- * WebInspector.subproj/webInspector/inspector.css:
- * WebInspector.subproj/webInspector/inspector.html:
- * WebInspector.subproj/webInspector/inspector.js:
-
-2006-01-20 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John, some parts by Darin.
-
- Removes the old WebDebugDOMNode code, superseded by the ObjC DOM and the Web Inspector.
- Since Safari 2.0 still relies on these classes for the Debug menu's "Show DOM Tree", we remove
- that menu item to prevent a crash.
-
- * WebKit.exp: adds WebInspector, removes WebDebugDOMNode
- * WebKit.xcodeproj/project.pbxproj: added the REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM define so the new WebView code doesn't build in the Default config
- * WebView.subproj/WebDebugDOMNode.h: Removed.
- * WebView.subproj/WebDebugDOMNode.m: Removed.
- * WebView.subproj/WebView.m:
- (+[WebView initialize]): check if we are in Safari and IncludeDebugMenu is true then observe for NSApplicationDidFinishLaunchingNotification and call _finishedLaunching
- (+[WebView _finishedLaunching]): observe for NSMenuDidAddItemNotification now that the main menu is loaded and wait for the Debug menu to be added
- (+[WebView _removeDOMTreeMenuItem:]): when the debug menu is added remove the "Show DOM Tree" item
-
-2006-01-20 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Hyatt.
-
- Corrects the cascade order for mapped attributes.
- Shows "inline stylesheet" rather than "null" for rules in <style> tags.
-
- * WebInspector.subproj/webInspector/inspector.js:
-
-2006-01-19 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Eric.
-
- Adds inline style reporting and mapped attribute support to the Inspector Style pane.
- Cleans up the node attributes area with a more natural attr = "value" look.
- Slight optimization to only update visible scrollbars during a window resize.
-
- * WebInspector.subproj/webInspector/inspector.css:
- * WebInspector.subproj/webInspector/inspector.js:
-
-2006-01-19 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- http://bugs.webkit.org/show_bug.cgi?id=6631
- Inspector window has inappropriate maximum height
-
- * WebInspector.subproj/WebInspector.m:
- (-[WebInspector window]): removes the maximum size constraint
-
-2006-01-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- * WebKit.xcodeproj/project.pbxproj:
- made WebNSUserDefaultsExtras.h private (SPI) so its one method can be called from
- Safari, so Safari can stop calling the similar method in Foundation.
-
-2006-01-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- Made _webKit_guessedMIMEType SPI so Safari can use it in order to stop using
- the similar SPI method in Foundation. This involved splitting it out of the file
- it was in, to avoid creating any other new SPI here. Poor svn diff got mighty
- confused in the process.
-
- * Misc.subproj/WebNSDataExtras.h:
- removed _webkit_guessedMIMEType from here
- * Misc.subproj/WebNSDataExtrasPrivate.h:
- Added. Contains only _webkit_guessedMIMEType. This file is private (SPI), whereas
- WebNSDataExtras.h is project-internal. I could have renamed WebNSDateExtras.h to
- WebNSDateExtrasInternal.h also, but I minimized the gratuitous change level here
- by not doing that.
-
- * Misc.subproj/WebNSDataExtras.m:
- Despite the great confusion of svn diff, all I actually did here was move
- _webkit_guessedMIMEType and its helper _webkit_guessedMIMETypeForXML into a new
- category. No lines of code were harmed while creating this patch.
-
- * WebKit.xcodeproj/project.pbxproj:
- updated for new file
-
- * WebView.subproj/WebView.m:
- Added #import for new file since WebView uses _webkit_guessedMIMEType
-
-2006-01-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- * Misc.subproj/WebNSURLExtras.h:
- added declaration of _webkit_rangeOfURLScheme so Safari can call it as a step
- towards weaning Safari from Foundation SPI.
-
-2006-01-17 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by eric
-
- Deployment builds now use -O2
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-01-17 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin.
-
- Fix for <rdar://problem/4112029> With Quartz scaling on, Safari incorrectly
- handles mouseover effects
-
- The location of an event in the window should be converted to the superview
- of the contentView to do accurate hitTesting.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _updateMouseoverWithEvent:]): Convert the point to the
- contentView's superview from nil.
-
-2006-01-16 Timothy Hatcher <timothy@apple.com>
-
- Rubber stamped by Maciej.
-
- Check for a new "WebKitDeveloperExtras" default when
- including the "Inspect Element" context menu item.
- We should retire the other one eventually.
-
- * WebView.subproj/WebView.m:
- (-[WebView _menuForElement:defaultItems:]):
-
-2006-01-17 Anders Carlsson <andersca@mac.com>
-
- Reviewed by Timothy Hatcher.
-
- - http://bugs.webkit.org/show_bug.cgi?id=6594
- Web Inspector: finish node attributes
-
- * WebInspector.subproj/webInspector/inspector.css:
- * WebInspector.subproj/webInspector/inspector.html:
- * WebInspector.subproj/webInspector/inspector.js:
- Add initial support for element attributes.
-
-2006-01-16 John Sullivan <sullivan@apple.com>
-
- Reviewed by Vicki Murley.
-
- - fixed <rdar://problem/4409288> REGRESSION (TOT): When no selection is present on page,
- Jump to Selection doesn't beep
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _hasInsertionPoint]):
- new helper method
- (-[NSArray validateUserInterfaceItem:]):
- Don't validate this menu item (or a couple of others) if the selection is a caret and
- the page isn't editable. In that state, there is no visible selection so this menu item
- doesn't make sense. I suspect this was broken by some editing-related change that makes
- selectionState return WebSelectionStateCaret here where it used to return WebSelectionStateNone.
-
-2006-01-16 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- WebKit part of <rdar://problem/4211707> NPAPI ref count behavior differs with Mozilla
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView getVariable:value:]):
- The returned window script object is expected to be retained, as described here:
- <http://www.mozilla.org/projects/plugins/npruntime.html#browseraccess>
-
-2006-01-16 Anders Carlsson <andersca@mac.com>
-
- Reviewed by Darin.
-
- * WebInspector.subproj/webInspector/inspector.js:
- Use defined NodeType values instead of integers.
-
-2006-01-15 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- New DOM Inspector that lives in WebKit and is accessible from any WebView.
- Accessible from a contextual menu when the WebKitEnableInspectElementContextMenuItem default is
- true or you have a development build. Browsing the tree, serialized HTML and CSS rules work.
-
- To always enable enter the following in the Terminal (change the bundle id to affect other WebKit apps):
- defaults write com.apple.Safari WebKitEnableInspectElementContextMenuItem -bool true
-
- http://bugs.webkit.org/show_bug.cgi?id=6571
-
- * English.lproj/Localizable.strings:
- * English.lproj/StringsNotToBeLocalized.txt: reorder of the entries
- * Misc.subproj/WebKitNSStringExtras.h:
- * Misc.subproj/WebKitNSStringExtras.m:
- (-[NSString _webkit_stringByCollapsingWhitespaceCharacters]): collapses consecutive whitespace into a single space
- * WebCoreSupport.subproj/WebFrameBridge.m:
- (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): cleanup
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): call the new UI delegate method
- * WebInspector.subproj: Added.
- * WebInspector.subproj/WebInspector.h: Added.
- * WebInspector.subproj/WebInspector.m: Added.
- (+[WebInspector sharedWebInspector]):
- (-[WebInspector init]):
- (-[WebInspector initWithWebFrame:]):
- (-[WebInspector dealloc]):
- (-[WebInspector window]):
- (-[WebInspector windowDidLoad]):
- (-[WebInspector windowWillClose:]):
- (-[WebInspector showWindow:]):
- (-[WebInspector setWebFrame:]):
- (-[WebInspector webFrame]):
- (-[WebInspector setRootDOMNode:]):
- (-[WebInspector rootDOMNode]):
- (-[WebInspector setFocusedDOMNode:]):
- (-[WebInspector focusedDOMNode]):
- (-[WebInspector setSearchQuery:]):
- (-[WebInspector searchQuery]):
- (-[WebInspector searchResults]):
- (-[WebInspector showOptionsMenu]):
- (-[WebInspector selectNewRoot:]):
- (-[WebInspector resizeTopArea:]):
- (-[WebInspector treeViewScrollTo:]):
- (-[WebInspector treeViewOffsetTop]):
- (-[WebInspector treeViewScrollHeight]):
- (-[WebInspector traverseTreeBackward]):
- (-[WebInspector traverseTreeForward]):
- (-[WebInspector _toggleIgnoreWhitespace:]):
- (-[WebInspector _highlightNode:]):
- (-[WebInspector _nodeHighlightExpired:]):
- (-[WebInspector _focusRootNode:]):
- (-[WebInspector _revealAndSelectNodeInTree:]):
- (-[WebInspector _showSearchResults:]):
- (-[WebInspector _refreshSearch]):
- (-[WebInspector _update]):
- (-[WebInspector _updateRoot]):
- (-[WebInspector _updateTreeScrollbar]):
- (+[WebInspector isSelectorExcludedFromWebScript:]):
- (+[WebInspector webScriptNameForSelector:]):
- (+[WebInspector isKeyExcludedFromWebScript:]):
- (-[WebInspector handleEvent:]):
- (-[WebInspector webView:didFinishLoadForFrame:]):
- (-[WebInspector webView:plugInViewWithArguments:]):
- (-[WebInspector outlineView:numberOfChildrenOfItem:]):
- (-[WebInspector outlineView:isItemExpandable:]):
- (-[WebInspector outlineView:child:ofItem:]):
- (-[WebInspector outlineView:objectValueForTableColumn:byItem:]):
- (-[WebInspector outlineView:willDisplayOutlineCell:forTableColumn:item:]):
- (-[WebInspector outlineViewItemDidCollapse:]):
- (-[WebInspector outlineViewSelectionDidChange:]):
- (-[WebInspectorPrivate dealloc]):
- (-[DOMHTMLElement _addClassName:]): Helper method for the Inspector to append style classes
- (-[DOMHTMLElement _removeClassName:]): Helper method for the Inspector to remove style classes
- (-[DOMNode _contentPreview]):
- (-[DOMNode _isAncestorOfNode:]):
- (-[DOMNode _isDescendantOfNode:]):
- (-[DOMNode _isWhitespace]):
- (-[DOMNode _lengthOfChildNodesIgnoringWhitespace]):
- (-[DOMNode _childNodeAtIndexIgnoringWhitespace:]):
- (-[DOMNode _nextSiblingSkippingWhitespace]):
- (-[DOMNode _previousSiblingSkippingWhitespace]):
- (-[DOMNode _firstChildSkippingWhitespace]):
- (-[DOMNode _lastChildSkippingWhitespace]):
- (-[DOMNode _firstAncestorCommonWithNode:]):
- (-[DOMNode _traverseNextNodeStayingWithin:]):
- (-[DOMNode _traverseNextNodeSkippingWhitespaceStayingWithin:]):
- (-[DOMNode _traversePreviousNode]):
- (-[DOMNode _traversePreviousNodeSkippingWhitespace]):
- (-[DOMNode _nodeTypeName]):
- (-[DOMNode _shortDisplayName]):
- (-[DOMNode _displayName]):
- * WebInspector.subproj/WebInspectorInternal.h: Added.
- * WebInspector.subproj/WebInspectorOutlineView.h: Added.
- * WebInspector.subproj/WebInspectorOutlineView.m: Added.
- (-[WebInspectorOutlineView isOpaque]):
- (-[WebInspectorOutlineView _highlightColorForCell:]):
- (-[WebInspectorOutlineView _highlightRow:clipRect:]):
- (-[WebInspectorOutlineView drawBackgroundInClipRect:]):
- * WebInspector.subproj/WebInspectorPanel.h: Added.
- * WebInspector.subproj/WebInspectorPanel.m: Added.
- (-[WebInspectorPanel canBecomeKeyWindow]):
- (-[WebInspectorPanel canBecomeMainWindow]):
- (-[WebInspectorPanel moveWindow:]):
- (-[WebInspectorPanel resizeWindow:]):
- (-[WebInspectorPanel sendEvent:]):
- * WebInspector.subproj/WebNodeHighlight.h: Added.
- * WebInspector.subproj/WebNodeHighlight.m: Added.
- (-[WebNodeHighlight initWithBounds:andRects:forView:]):
- (-[WebNodeHighlight dealloc]):
- (-[WebNodeHighlight fractionComplete]):
- (-[WebNodeHighlight expire]):
- (-[WebNodeHighlight redraw:]):
- * WebInspector.subproj/WebNodeHighlightView.h: Added.
- * WebInspector.subproj/WebNodeHighlightView.m: Added.
- (-[WebNodeHighlightView roundedRect:withRadius:]):
- (-[WebNodeHighlightView initWithHighlight:andRects:forView:]):
- (-[WebNodeHighlightView dealloc]):
- (-[WebNodeHighlightView isOpaque]):
- (-[WebNodeHighlightView drawRect:]):
- * WebInspector.subproj/webInspector: Added.
- * WebInspector.subproj/webInspector/Images: Added.
- * WebInspector.subproj/webInspector/Images/close.png: Added.
- * WebInspector.subproj/webInspector/Images/closePressed.png: Added.
- * WebInspector.subproj/webInspector/Images/downTriangle.png: Added.
- * WebInspector.subproj/webInspector/Images/menu.png: Added.
- * WebInspector.subproj/webInspector/Images/menuPressed.png: Added.
- * WebInspector.subproj/webInspector/Images/popupFill.png: Added.
- * WebInspector.subproj/webInspector/Images/popupFillPressed.png: Added.
- * WebInspector.subproj/webInspector/Images/popupLeft.png: Added.
- * WebInspector.subproj/webInspector/Images/popupLeftPressed.png: Added.
- * WebInspector.subproj/webInspector/Images/popupRight.png: Added.
- * WebInspector.subproj/webInspector/Images/popupRightPressed.png: Added.
- * WebInspector.subproj/webInspector/Images/rightTriangle.png: Added.
- * WebInspector.subproj/webInspector/Images/scrollThumbBottom.png: Added.
- * WebInspector.subproj/webInspector/Images/scrollThumbMiddle.png: Added.
- * WebInspector.subproj/webInspector/Images/scrollThumbTop.png: Added.
- * WebInspector.subproj/webInspector/Images/scrollTrackBottom.png: Added.
- * WebInspector.subproj/webInspector/Images/scrollTrackMiddle.png: Added.
- * WebInspector.subproj/webInspector/Images/scrollTrackTop.png: Added.
- * WebInspector.subproj/webInspector/Images/squareButtonRight.png: Added.
- * WebInspector.subproj/webInspector/Images/squareButtonRightPressed.png: Added.
- * WebInspector.subproj/webInspector/Images/upTriangle.png: Added.
- * WebInspector.subproj/webInspector/inspector.css: Added.
- * WebInspector.subproj/webInspector/inspector.html: Added.
- * WebInspector.subproj/webInspector/inspector.js: Added.
- * WebKit.xcodeproj/project.pbxproj: Adds Web Inspector files
- * WebView.subproj/WebUIDelegatePrivate.h: new UI delegate method to supply a replacement view for plugins
- * WebView.subproj/WebView.m:
- (-[WebView _menuForElement:defaultItems:]): Add a new context menu item for inspecting
- (-[WebView _inspectElement:]): Context menu item target for inspecting
-
-2006-01-14 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Darin.
-
- - Fix http://bugs.webkit.org/show_bug.cgi?id=6531
- document.cookie="killmenothing" doesn't set the cookie
-
- * WebCoreSupport.subproj/WebCookieAdapter.m: (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
- Append an '=' to the cookie string if it has none, so that
- +[NSHTTPCookie cookiesWithResponseHeaderFields:forURL:] can parse it.
-
-2006-01-14 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- - added bridging infrastructure for Page class
-
- * WebCoreSupport.subproj/WebPageBridge.h: Added.
- * WebCoreSupport.subproj/WebPageBridge.m: Added.
- (-[WebPageBridge initWithMainFrameName:view:]): New class, somewhat obvious.
- * WebKit.xcodeproj/project.pbxproj:
- * WebView.subproj/WebView.m:
- (-[WebViewPrivate dealloc]): Don't use _mainFrameBrige, use _pageBridge
- (-[WebView _close]): ditto
- (-[WebView _commonInitializationWithFrameName:groupName:]): ditto
- (-[WebView mainFrame]): ditto
-
-2006-01-12 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Eric.
-
- - rename WebBridge to WebFrameBridge
-
- - also removed all tabs from WebFrameBridge.m
-
- * DOM.subproj/WebDOMOperations.m:
- (-[DOMNode _bridge]):
- (-[DOMNode webArchive]):
- (-[DOMRange _bridge]):
- (-[DOMRange webArchive]):
- * DOM.subproj/WebDOMOperationsPrivate.h:
- * English.lproj/StringsNotToBeLocalized.txt:
- * Misc.subproj/WebCoreStatistics.m:
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _bridge]):
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
- * Plugins.subproj/WebPluginContainerCheck.m:
- (-[WebPluginContainerCheck _isForbiddenFileLoad]):
- * Plugins.subproj/WebPluginController.h:
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController bridge]):
- * WebCoreSupport.subproj/WebBridge.h: Removed.
- * WebCoreSupport.subproj/WebBridge.m: Removed.
- * WebCoreSupport.subproj/WebFileButton.h:
- * WebCoreSupport.subproj/WebFileButton.m:
- (-[WebFileChooserButton initWithBridge:delegate:]):
- * WebCoreSupport.subproj/WebFrameBridge.h: Added.
- * WebCoreSupport.subproj/WebFrameBridge.m: Added.
- (-[WebFrameBridge mainFrame]):
- (-[WebFrameBridge createWindowWithURL:frameName:]):
- (-[WebFrameBridge canTargetLoadInFrame:]):
- (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- (formDelegate):
- (-[WebFrameBridge createModalDialogWithURL:]):
- * WebCoreSupport.subproj/WebSubresourceLoader.m:
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory bridgeForView:]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _bridge]):
- (-[WebDataSource _receivedMainResourceError:complete:]):
- (-[WebDataSource _stringWithData:]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDebugDOMNode.m:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _traverseNextFrameStayWithin::]):
- (Frame):
- (-[WebFrame _detachFromParent]):
- (-[WebFrame _bridge]):
- (-[WebFrame _initWithWebFrameView:webView:bridge:]):
- * WebView.subproj/WebFrameInternal.h:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView webCoreBridge]):
- (-[WebFrameView _bridge]):
- * WebView.subproj/WebHTMLRepresentation.m:
- (+[WebHTMLRepresentation supportedMIMETypes]):
- (-[WebHTMLRepresentation _bridge]):
- (-[WebHTMLRepresentation documentSource]):
- * WebView.subproj/WebHTMLRepresentationPrivate.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
- (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
- (-[WebHTMLView updateFocusState]):
- (-[NSArray validateUserInterfaceItem:]):
- (-[NSArray attributedString]):
- (-[NSArray selectedAttributedString]):
- (-[NSArray concludeDragForDraggingInfo:actionMask:]):
- (-[NSArray keyDown:]):
- (-[NSArray _alterCurrentSelection:direction:granularity:]):
- (-[NSArray _alterCurrentSelection:verticalDistance:]):
- (-[NSArray _expandSelectionToGranularity:]):
- (-[NSArray cut:]):
- (-[NSArray _applyStyleToSelection:withUndoAction:]):
- (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
- (-[NSArray pasteAsPlainText:]):
- (-[NSArray insertNewline:]):
- (-[NSArray insertLineBreak:]):
- (-[NSArray insertParagraphSeparator:]):
- (-[NSArray _changeWordCaseWithSelector:]):
- (-[NSArray startSpeaking:]):
- (-[NSArray selectToMark:]):
- (-[NSArray swapWithMark:]):
- (-[NSArray transpose:]):
- (-[WebHTMLView characterIndexForPoint:]):
- (-[WebHTMLView firstRectForCharacterRange:]):
- (-[WebHTMLView selectedRange]):
- (-[WebHTMLView attributedSubstringFromRange:]):
- (-[WebHTMLView _selectMarkedText]):
- (-[WebHTMLView _selectRangeInMarkedText:]):
- (-[WebHTMLView setMarkedText:selectedRange:]):
- (-[WebHTMLView _selectionIsInsideMarkedText]):
- (-[WebTextCompleteController _insertMatch:]):
- (-[WebTextCompleteController doCompletion]):
- (-[WebTextCompleteController endRevertingChange:moveLeft:]):
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebImageView.m:
- * WebView.subproj/WebMainResourceLoader.m:
- * WebView.subproj/WebRenderNode.m:
- * WebView.subproj/WebResource.m:
- (-[WebResource _stringValue]):
- * WebView.subproj/WebScriptDebugDelegate.m:
- * WebView.subproj/WebTextView.m:
- * WebView.subproj/WebView.m:
- (-[WebView _createFrameNamed:inParent:allowsScrolling:]):
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
- (-[WebView moveDragCaretToPoint:]):
- (-[WebView shouldClose]):
- (-[WebView editableDOMRangeForPoint:]):
- (-[WebView setEditable:]):
- (-[WebView deleteSelection]):
- (-[WebView _bridgeForSelectedOrMainFrame]):
- (-[WebView _bridgeAtPoint:]):
-
-2006-01-13 Darin Adler <darin@apple.com>
-
- - Replaced tabs with spaces in source files that had less than 10 lines with tabs.
- - Set allow-tabs Subversion property in source files that have more than 10 lines with tabs.
-
-2006-01-12 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim O.
-
- - fixed <rdar://problem/4406994> REGRESSION (TOT): zooming window at cnn.com
- makes window fill width of screen
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _largestChildWithScrollBars]):
- now skips zero-area frames, used by some evil ads
-
-2006-01-10 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim H.
-
- - fixed <rdar://problem/4265966> PDFs continue to show a (secondary) selection
- when the focus moves elsewhere
-
- * WebView.subproj/WebPDFView.h:
- added trackedFirstResponder ivar
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView dealloc]):
- assert that trackedFirstResponder is nil, as it was released/cleared in viewWillMoveToWindow:
- (-[WebPDFView _trackFirstResponder]):
- If the tracked first responder was the PDFView's documentView, and the current first responder isn't,
- deselect all. This is equivalent to overriding resignFirstResponder in the PDFView's
- documentView and deselecting all there, as other web document view classes do. Also, keep track of
- the new first responder for next time.
- (-[WebPDFView viewWillMoveToWindow:]):
- stop observing NSWindowDidUpdateNotification on the old window
- (-[WebPDFView viewDidMoveToWindow]):
- start observing NSWindowDidUpdateNotification on the new window, with _trackFirstResponder
- as the callback. Ideally we'd use a notification that tells us that the first responder is
- changing, but there is no such notification, so we have to use this very frequent one instead.
- The archaic 2573089 tracks the desire to have a responder-changed notification.
- (-[WebPDFView becomeFirstResponder]):
- removed comment about this bug that's now obsolete
-
-2006-01-11 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2006-01-09 Darin Adler <darin@apple.com>
-
- * Makefile.am: Removed.
-
-2006-01-09 John Sullivan <sullivan@apple.com>
-
- Reviewed by Beth Dakin.
-
- - fixed <rdar://problem/4302263> CrashTracer: 504 crashes in Safari at
- com.apple.AppKit: NSTargetForSendAction + 1060
-
- The problem was that back/forward/stop/reload context menu items had nil targets,
- and thus were relying on AppKit to start from the context menu target (the clicked-upon
- view) and use the responder chain to find the WebView to act as the target. In Tiger,
- context menus don't retain their implicit target (the clicked-upon view again), and
- there was a race condition where the WebHTMLView could be dealloc'ed while the menu item
- was being processed, eventually crashing in AppKit. The fix is to explicitly set the
- target of these four menu items to the WebView, since the WebView is not dealloc'ed
- in the loading process.
-
- This might be fixed in a future version of AppKit by making the context menu retain its
- implicit target until it is dismissed, but with this change it will be fixed regardless
- of potential AppKit changes.
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate menuItemWithTag:target:]):
- Added target: parameter and removed code that set the target for some menu items; now the
- caller is responsible for supplying the target.
- (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
- Supply target (or nil) in calls to menuItemWithTag:target:. This matches existing behavior
- except for Back/Forward/Stop/Reload, which used to supply no target but now supply the
- WebView as the target.
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
- Supply target (or nil) in calls to menuItemWithTag:target:
-
-2006-01-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin.
-
- - Second cut at fixing <rdar://problem/4268278> Submitting a form
- in onUnload event handler causes crash in
- -[WebDataSource(WebPrivate) _commitIfReady:].)
-
- - Fixes http://bugs.webkit.org/show_bug.cgi?id=6331
- REGRESSION: form events don't fire after back/forward navigation,
- due to inconsistent load state
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _stopLoading]):
- (1) If there are no resource loaders to signal the WebView that we've
- been canceled, manufacture the signal. Otherwise, the cancel gets
- ignored and nobody cleans up after the load. (We signal the WebView but
- not the WebFrame because we don't want the WebFrame to tear down the
- data source. Unlike most canceled data sources, this one has valid data
- because it's in the back/forward cache.)
- (2) Update _private->stopping before returning because if the
- data source is in the back/forward cache it can be reused, so it
- needs to be in a consistent state. (We never encountered this
- situation before because we would always crash first.)
- (-[WebDataSource _commitLoadWithData:]): Move _commitIfReady call
- inside retain block because the commit may cause an unload event
- to fire, which may start a new load, deallocating the current
- data source. (This is the same reason the rest of the function is
- in the retain block.)
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]): If the unload handler
- started a new load, return early to avoid stomping it.
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- Undo previous incorrect fix.
- (-[WebFrame stopLoading]): Remove misleading comment. Setting
- provisionalDataSource to nil is not optional but required for
- internal consistency.
-
-2006-01-09 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Maciej.
-
- Affects many layout tests (when running with primary Russian language).
-
- - Fix http://bugs.webkit.org/show_bug.cgi?id=4759
- 'ex' length unit calculation (Some layout tests fail if the system primary language is Russian)
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer xHeight]): Use glyphForCharacter() instead of -[NSFont glyphWithName:].
-
-2006-01-07 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin, landed by ap.
-
- Test: fast/text/atsui-small-caps-punctuation-size.html
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=6397
- ATSUI small caps use small punctuation
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (createATSULayoutParameters): Changed the characters for which size must
- not change from !u_isbase() to the M* categories.
-
-2006-01-06 John Sullivan <sullivan@apple.com>
-
- Reviewed by Vicki Murley (full credit) and Tim Omernick (half credit).
-
- - fixed <rdar://problem/4401102> REGRESSION (420+): When displaying a PDF, tabbing around stops working after reaching page
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView setNextKeyView:]):
- Use [PDFSubview documentView] rather than PDFSubview here, since that's the view that we now hand off first-responderhood to.
-
-2006-01-05 Tim Omernick <timo@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/4400804> Client-side redirect to a non-HTTP URL confuses Safari
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- If we were waiting for a quick redirect, but the policy delegate decided to ignore it, then we
- need to report that the client redirect was cancelled.
-
-2006-01-05 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
- Just added a FIXME comment about how to clean up this minor hack in the future.
-
-2006-01-05 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim O.
-
- - fixed these bugs:
- <rdar://problem/3021785> page up/down don't work on frameset pages unless you click
- <rdar://problem/3021788> Page Up/Down moves an unscrollable frame if you click on it first
-
- and the WebKit part of this (need new Safari too for complete fix):
- <rdar://problem/4378905> Page up/down don't work in PDFs when address field is focused
-
- I moved some logic down from Safari that dealt with finding the largest scrollable child frame in a frameset,
- and added support for standard scrolling-related selectors to WebPDFView. The latter was needed for 4378905;
- the former was needed due to side effects of the Safari part of the change. As long as I was doing the former,
- I also used that logic to fix 3021785 and 3021788.
-
- * WebView.subproj/WebFrameViewPrivate.h:
- new currently-private methods _hasScrollBars and _largestChildWithScrollBars
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView scrollToBeginningOfDocument:]):
- if we don't have scroll bars, operate on our largest child with scroll bars instead
- (-[WebFrameView scrollToEndOfDocument:]):
- ditto
- (-[WebFrameView _pageVertically:]):
- ditto
- (-[WebFrameView _pageHorizontally:]):
- ditto
- (-[WebFrameView _scrollLineVertically:]):
- ditto
- (-[WebFrameView _scrollLineHorizontally:]):
- ditto
- (-[WebFrameView keyDown:]):
- where we were bailing out if ![self allowsScrolling], also check for whether there's a
- child with scroll bars, and don't bail out if so
- (-[WebFrameView _area]):
- new helper method used to implement _largestChildWithScrollBars (code moved from Safari)
- (-[WebFrameView _hasScrollBars]):
- new method, just returns YES if either scroll bar is showing (code moved from Safari)
- (-[WebFrameView _largestChildWithScrollBars]):
- new method, returns the child with the largest area that is showing at least one scroll bar
- (code moved from Safari and tweaked a little)
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
- new method, hackaround for the fact that PDFView handles key downs from standard scrolling keys
- but does not implement the standard responder selectors
- (-[WebPDFView scrollPageDown:]):
- use _fakeKeyEventWithFunctionKey: to get the PDFView to scroll appropriately
- (-[WebPDFView scrollPageUp:]):
- ditto
- (-[WebPDFView scrollToBeginningOfDocument:]):
- ditto
- (-[WebPDFView scrollToEndOfDocument:]):
- ditto
-
- * WebView.subproj/WebView.m:
- add scrollToBeginningOfDocument and scrollToEndOfDocument to the list of responder operations
- that we hand off appropriately to the responder chain. These two aren't defined in any header
- but are generated by Home and End keys and used by the text system.
-
-2006-01-05 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin.
-
- - Fixed http://bugs.webkit.org/show_bug.cgi?id=6361
- Add plugin support to DumpRenderTree
-
- * WebKit.exp: export WebPluginDatabase class, which DumpRenderTree
- needs to add plugins to the runtime.
-
-2006-01-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - move frame management and finding code from WebKit to WebCore
- http://bugs.webkit.org/show_bug.cgi?id=6368
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadPluginRequest:]): Set frame name straight on the bridge,
- instead of having it bubble through the view and frame.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge initWithFrameName:view:]): don't pass name to frame, we own it now; set it
- on ourselves directly
- (-[WebBridge findFrameNamed:]): removed
- (-[WebBridge createWindowWithURL:frameName:]): set name on bridge, not webview
- (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- (-[WebBridge runModal]): remove excess braces
- * WebKit.xcodeproj/project.pbxproj:
- * WebView.subproj/WebControllerSets.h: Removed.
- * WebView.subproj/WebControllerSets.m: Removed.
- * WebView.subproj/WebFrame.m:
- (-[WebFramePrivate name]): removed
- (-[WebFramePrivate setName:]): removed
- (-[WebFramePrivate dealloc]): don't release name, we no longer have one
- (-[WebFrame _appendChild:]): removed
- (-[WebFrame _removeChild:]): removed
- (-[WebFrame _createItem:]): removed stray space
- (-[WebFrame _immediateChildFrameNamed:]): Just call the bridge
- (-[WebFrame _setName:]): removed
- (-[WebFrame _detachFromParent]): remove bridge from parent note self
- (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
- (-[WebFrame _addChild:]): Call appendChild: on bridge, not self
- (-[WebFrame _nextFrameWithWrap:]): just call bridge (and moved helpers there)
- (-[WebFrame _previousFrameWithWrap:]): just call bridge (and moved helpers there)
- (-[WebFrame _initWithWebFrameView:webView:bridge:]): don't take a name any more
- (-[WebFrame _setFrameNamespace:]): just call bridge
- (-[WebFrame _frameNamespace]): just call bridge
- (-[WebFrame _hasSelection]): remove excess braces
- (-[WebFrame _clearSelection]): ditto
- (-[WebFrame initWithName:webFrameView:webView:]): no more name
- (-[WebFrame name]): just call bridge
- (-[WebFrame findFrameNamed:]): just call bridge (and moved helpers there)
- (-[WebFrame parentFrame]): fixed for new style
- * WebView.subproj/WebFrameInternal.h:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.h:
-
-2006-01-03 Darin Adler <darin@apple.com>
-
- Reviewed by Beth.
-
- This is a fix for <rdar://problem/3710994> HiDPI: Link underlines are
- still one pixel high even if the UI resolution is > 100%
-
- This fix refactors -drawLineForCharacters to make its organization
- more logical. It changes behavior when printing to the screen by
- rounding the parameters of the line (x- and y-values, width, and
- thickness) to integer boundaries in device space. Previously,
- this part of the routine just hardcoded a 1 pixel line.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (drawHorizontalLine): This just takes care of drawing the line once everything
- has been calculated in -drawLineForCharacters
- (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
- Now takes device space into account. Calls drawHorizontalLine
-
-2006-01-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Vicki.
-
- - moved frame traversal code across from bridge, also dropped the children
- array
-
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge dealloc]): Don't release children array, that was moved
- down to WebCore.
- (-[WebBridge saveDocumentState:]):
- - many methods moved to WebCore.
- * WebView.subproj/WebFrame.m:
- (Frame): New convenience method to get a WebFrame * from a method that
- returns WebCoreBridge *.
- (-[WebFrame _firstChildFrame]): use Frame()
- (-[WebFrame _lastChildFrame]): ditto
- (-[WebFrame _previousSiblingFrame]): ditto
- (-[WebFrame _nextSiblingFrame]): ditto
- (-[WebFrame _traverseNextFrameStayWithin:]): ditto
-
-2006-01-03 Anders Carlsson <andersca@mac.com>
-
- Reviewed by Darin.
-
- - Fix http://bugs.webkit.org/show_bug.cgi?id=6357
- REGRESSION: iframe and target is broken
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _descendantFrameNamed:sourceFrame:]):
- Return the correct frame.
-
-2006-01-02 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- - moved frame traversal logic from WebFrame to WebBridge
- http://bugs.webkit.org/show_bug.cgi?id=6341
-
- To do this, I had to invert the ownership so that WebBridge now
- owns WebFrame instead of vice versa. As a result, WebView now owns
- a WebBridge pointer and does not have a direct WebFrame pointer.
-
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge initWithFrameName:view:]): The initializer is now responsible for creating
- the frame, so pass it what it needs to do that.
- (-[WebBridge dealloc]): The bridge now owns the frame, so release it.
- (-[WebBridge close]): ditto
- (-[WebBridge firstChild]): Moved from WebFrame
- (-[WebBridge lastChild]): ditto
- (-[WebBridge childCount]): ditto
- (-[WebBridge previousSibling]): ditto
- (-[WebBridge nextSibling]): ditto
- (-[WebBridge isDescendantOfFrame:]): ditto
- (-[WebBridge traverseNextFrameStayWithin:]): ditto
- (-[WebBridge appendChild:]): ditto
- (-[WebBridge removeChild:]): ditto
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _removeChild::]): Call WebBridge version
- (-[WebFramePrivate dealloc]): ditto
- (-[WebFrame _firstChildFrame]): ditto
- (-[WebFrame _lastChildFrame]): ditto
- (-[WebFrame _childFrameCount]): ditto
- (-[WebFrame _previousSiblingFrame]): ditto
- (-[WebFrame _nextSiblingFrame]): ditto
- (-[WebFrame _traverseNextFrameStayWithin:]): ditto
- (-[WebFrame _appendChild:]): ditto
- (-[WebFrame _removeChild:]): ditto
- (-[WebFrame _isDescendantOfFrame:]): ditto,
- (-[WebFrame _detachFromParent]): reorder a bit to avoid losing our bridge
- pointer before the bridge is due to release us, and don't release the
- bridge any more since it now owns us
- (-[WebFrame _initWithName:webFrameView:webView:bridge:]): new initializer,
- we no longer create the bridge, instead it is passed in
- (-[WebFrame initWithName:webFrameView:webView:]): Call the new designated
- initializer, but this method is no longer viable and should be deprecated.
- * WebView.subproj/WebFrameInternal.h:
-
- * WebView.subproj/WebView.m: WebView was changed to hold onto
- the WebBridge for the main frame instead of the WebFrame.
-
- (-[WebViewPrivate dealloc]): update for the fact that we hold
- a bridge now, not a frame.
- (-[WebView _close]): ditto
- (-[WebView _createFrameNamed:inParent:allowsScrolling:]): Create
- a bridge, not a frame.
- (-[WebView _commonInitializationWithFrameName:groupName:]): ditto.
- (-[WebView setDefersCallbacks:]): get mainFrame via method
- (-[WebView mainFrame]): Update to get the main frame properly
-
-2005-12-30 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin, landed by ap.
-
- Test: fast/text/justified-text-rect.html
-
- - WebKit part of fix for
- http://bugs.webkit.org/show_bug.cgi?id=5461
- Text width measured incorrectly when text-align: justify
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer selectionRectForRun:style:geometry:]): Added.
- (CG_drawHighlight): Use new function CG_selectionRect.
- (CG_selectionRect): New function to compute the selection rect.
- Eliminated rounding hackery that was required for keeping the highlight
- rect within the selection rect computed by
- InlineTextBox::selectionRect, since the latter uses this function now.
- The new selection rect is wider and matches AppKit more closely,
- although the right hand side is roundf()ed instead of cielf()ed for
- optimal caret positioning.
- (ATSU_drawHighlight): Use new function ATSU_selectionRect.
- (ATSU_selectionRect): New function to compute the selection rect.
- Much like CG_selectionRect.
-
-2005-12-29 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Eric.
-
- Manual testcase added:
- WebCore/manual-tests/onunload-form-submit-crash.html
-
- - Fixed <rdar://problem/4268278> Submitting a form in onUnload event
- handler causes crash in -[WebDataSource(WebPrivate) _commitIfReady:]
-
- The problem is that the form submission in the unload event kicks off
- a new load in the midst of the load that caused the unload event to
- fire in the first place, so the two loads stomp each other.
-
- The solution is to cancel the first load and let the unload handler's
- load win. (Firefox does the same.)
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]): Moved call to -closeURL up
- the call stack to _continueLoadRequest. (See below.) This has the
- side-effect of always firing the unload event, even if the new
- datasource never becomes committed, which seems like a good thing.
-
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- Call -closeURL here, instead of in _transitionToCommitted, so that the
- unload handler can fire before we initialize any part of the load.
-
- Check provisionalDataSource for nil to discover if the unload event
- kicked off its own load.
-
- Cleared up some coments.
-
- (-[WebFrame _detachFromParent]):
- It turns out that if you close the window instead of just navigating
- to a new page, you get an alternate assertion failure/crash because
- the load kicked off by the unload event handler generates resource
- loader callbacks after the associated WebFrame/WebView has disappeared.
-
- The nifty solution here is just to reverse the order of calls to
- -stopLoading and -closeURL, thus guaranteeing that -stopLoading has the
- last word when you close a window.
-
-2005-12-30 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Eric, committed by Maciej.
-
- - fix for http://bugs.webkit.org/show_bug.cgi?id=6288
- HEAD build broken 12/29/2005
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (overrideLayoutOperation): Use previous character from the buffer
- instead of ch which may be uninitialized on the first iteration.
-
-2005-12-29 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- - finished frame traversal cleanup
- http://bugs.webkit.org/show_bug.cgi?id=6293
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge childFrames]): Removed (this was unused)
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _removeChild::]): Moved to FrameTraversal category.
- (-[WebFrame _childFrameCount]): New frame traversal method to avoid
- getting the count from the array directly.
- (-[WebFrame _appendChild:]): Factored out the parts of addChild: that
- seem directly relevant to adding a child.
- (-[WebFrame _removeChild:]): Moved to FrameTraversal category.
- (-[WebFrame _detachChildren]): Don't deallocate children array because
- there's no particular need to.
- (-[WebFrame _setDataSource:]): make the assert use _childFrameCount
- (-[WebFrame _opened]):
- (-[WebFrame _checkLoadComplete]): Instead of checking all frames starting
- from the main frame, check this frame and all ancestors. If a resource
- for a frame completes, that con only possibly finish loading for that
- frame and its ancestors, not any other frame in the tree.
- (-[WebFrame _recursiveCheckLoadComplete]): Removed, no longer needed.
- (-[WebFrame _childFramesMatchItem:]): Get child frame count in the new
- approved way.
- (-[WebFrame _internalChildFrames]): removed
- (-[WebFrame _addChild:]): Use _appendChild: for most of the work.
- (-[WebFrame _generateFrameName]): Get child frame count in the new
- approved way.
- (-[WebFrame _stopLoadingSubframes]): Use new frame traversal mechanisms,
- upon further consideration there's no need to copy part of the frame tree here.
- (-[WebFrame findFrameNamed:]): Remove extra braces.
- (-[WebFrame childFrames]): Make a new array using the frame traversal methods.
- * WebView.subproj/WebFramePrivate.h: Remove some methods.
- * WebView.subproj/WebMainResourceLoader.m:
- (-[WebMainResourceLoader didReceiveResponse:]): Do _checkLoadComplete on the current
- frame not the main frame (before there was no difference and now the new version is
- what is desired).
- * WebView.subproj/WebView.m:
- (-[WebView _finishedLoadingResourceFromDataSource:]): Remove stray space
- (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]): Remove stray spaces
- and update FIXME comment.
- (-[WebView _receivedError:fromDataSource:]): Remove stray space
-
-2005-12-29 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - abstract frame traversal in WebFrame more
- http://bugs.webkit.org/show_bug.cgi?id=6283
-
- Rewrote most of the frame traversal code in WebFrame to use DOM-style
- first/last/next/previous methods, to abstract access better in preparation
- for moving it down.
-
- As an added bonus, many formerly recursive methods are now iterative.
-
- * WebKit.xcodeproj/project.pbxproj: Use gnu99 dialect of C, so that
- variables can be declared in for loop initializers.
-
- - added new frame traversal methods, to avoid dealing with the children array
- directly:
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _firstChildFrame]): New method.
- (-[WebFrame _lastChildFrame]): New method.
- (-[WebFrame _previousSiblingFrame]): New method.
- (-[WebFrame _nextSiblingFrame]): New method.
- (-[WebFrame _traverseNextFrameStayWithin:]): Like traverseNextNode() in the DOM;
- uses some of the previous.
-
- - apply the new methods
-
- (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Rewrite loop
- to use new traversal methods.
- (-[WebFrame _immediateChildFrameNamed:]): ditto, also added FIXME
- (-[WebFrame _setName:]): Improved comment, removed gratuitous brace
- (-[WebFrame _isDescendantOfFrame:]): Rewrote to chase parent pointers instead
- of looking in child arrays (duh)
- (-[WebFrame _detachChildren]): Rewrite loop to use new traversal methods,
- still walk backwards for now.
- (-[WebFrame _closeOldDataSources]): Rewrite using new traversal methods.
- (-[WebFrame _childFramesMatchItem:]): ditto
- (-[WebFrame _defersCallbacksChanged]): ditto
- (-[WebFrame _viewWillMoveToHostWindow:]): ditto
- (-[WebFrame _viewDidMoveToHostWindow]): ditto
- (-[WebFrame _addChild:]): don't use childFrames method
- (-[WebFrame _removeChild:]): Clear out the sibling pointers after unlinking from the list,
- not obvious if anything needs this but it seems like the right thing to do.
- (-[WebFrame _generateFrameName]): don't bother to nil-check children array, since
- calling count on nil still gives 0.
- (-[WebFrame _saveDocumentAndScrollState]): Rewrite to use frame traversal methods
- (-[WebFrame _deepLastChildFrame]): renamed from _lastChildFrame, rewrite to use child
- traversal methods.
- (-[WebFrame _nextFrameWithWrap:]): Use new frame traversal stuff (mostly just
- a thin wrapper on _traverseNextFrameStayWithin:
- (-[WebFrame _previousFrameWithWrap:]): Use new traversal functions
- (-[WebFrame _numPendingOrLoadingRequests:]): Rewrite loop with new tracrsal functions
- (-[WebFrame _reloadForPluginChanges]): ditto
- (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): ditto
- (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): ditto
- (-[WebFrame _documentViews]): ditto
- (-[WebFrame _updateDrawsBackground]): ditto
- (-[WebFrame _unmarkAllMisspellings]): ditto
- (-[WebFrame _atMostOneFrameHasSelection]): ditto
- (-[WebFrame _findFrameWithSelection]): ditto
- (-[WebFrame _stopLoadingSubframes]): ditto
- (-[WebFrame _subframeIsLoading]): ditto
- (-[WebFrame _descendantFrameNamed:sourceFrame:]): ditto
-
-2005-12-29 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebFrameView.m: (-[WebFrameViewPrivate dealloc]):
- Removed unused "draggingTypes" instance variable.
-
-2005-12-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by darin
-
- Test: fast/text/atsui-spacing-features.html
-
- - WebKit part of fix for
- http://bugs.webkit.org/show_bug.cgi?id=3922
- Variable word/letter spacing and full justification not supported for
- ATSUI-rendered text
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (overrideLayoutOperation): Add letter- and word-spacing and padding for
- justification.
- (createATSULayoutParameters): Compute padding per space.
-
-2005-12-27 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Maciej, landed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=4844
- Render "simple" Hebrew using the CG codepath
-
- * WebCoreSupport.subproj/WebTextRenderer.m: (shouldUseATSU): Exclude Hebrew letters and maqaf.
-
-2005-12-25 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Geoff
-
- - Remove WebFrame's parent frame pointer, instead rely on WebCore's parent concept
- http://bugs.webkit.org/show_bug.cgi?id=6241
-
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge canTargetLoadInFrame:]): Use bridge parent method instead of needlessly
- asking for parent via WebFrame
- (-[WebBridge frameDetached]): Don't call _removeChild on the parent frame any more
- because WebFame's _detachFromParent takes care of that now.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Fix stray spaces
- (-[WebFrame _detachChildren]): Don't remove children as we loop any more, they
- can remove themselves.
- (-[WebFrame _detachFromParent]): Remove self from parent; don't nil out bridge
- until we are done with it.
- (-[WebFrame _transitionToCommitted:]): Remove some extra braces.
- (-[WebFrame _goToItem:withLoadType:]): Use parentFrame method in assert instead of parent
- field directly.
- (-[WebFrame _addChild:]): Don't poke at parent frame pointer in _private
- since it is not there any more.
- (-[WebFrame _removeChild:]): Remove extra braces and don't clear parent pointer
- explicitly any more.
- (-[WebFrame _addFramePathToString:]): Get parentFrame from method, not field.
- (-[WebFrame _loadDataSource:withLoadType:formState:]): Remove extra braces.
- (-[WebFrame _nextFrameWithWrap:]): Get parent in the proper way and clean up the
- coding style.
- (-[WebFrame _previousFrameWithWrap:]): Ditto.
- (-[WebFrame parentFrame]): Get parent from the bridge.
-
-2005-12-25 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Hyatt.
-
- - fixed REGRESSION: world leak of WebDataSource
- http://bugs.webkit.org/show_bug.cgi?id=6242
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _stopLoading]): don't retain self until after
- the possible early return.
-
-2005-12-24 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Geoff.
-
- - rearrange some code in WebDataSource so that more of the frame traversal logic
- is in WebFrame, in preparation for moving it down to WebBridge.
- http://bugs.webkit.org/show_bug.cgi?id=6239
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _archiveWithMarkupString:nodes:]): Assert that the
- data source is committed, doesn't make sense to archive otherwise.
- (-[WebDataSource _subframeArchivesWithCurrentState:]): New helper method.
- (-[WebDataSource _archiveWithCurrentState:]): Assert that the data source
- is committed. Use the helper.
- (-[WebDataSource _setWebView:]): Comment that we won't tell subframes that
- defers callback changed.
- (-[WebDataSource _startLoading]): Remove stray space.
- (-[WebDataSource _stopLoading]): Only handle local _stopLoading business.
- Cound on WebFrame to tell subframes to stop loading. Fold in _stopLoadingInternal
- and remove _recursiveStopLoading.
- (-[WebDataSource _startLoading:]): Clean up an assert slightly.
- (-[WebDataSource _setTitle:]): Remove stray spaces.
- (-[WebDataSource _defersCallbacksChanged]): Don't call subframes. WebFrame
- can do that.
- (-[WebDataSource isLoading]): Move checking of subframes down to WebFrame.
- (-[WebDataSource webArchive]): Return nil if the data source is not yet
- committed. It makes no sense to archive a provisional data source since it
- has no data yet.
- (-[WebDataSource addSubresource:]): Replace an assert with an early return,
- ASSERT is not an appropriate way to flag problems with the argument of a public
- method.
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _setLoadType:]): Remove stray space.
- (-[WebFrame _checkLoadCompleteForThisFrame]): Stop loading subframes
- manually and add a FIXME about confusingness of stopping loading here.
- (-[WebFrame _defersCallbacksChanged]): Tell our subframes.
- (-[WebFrame _addChild:]): Remove stray space.
- (-[WebFrame _stopLoadingSubframes]): New helper method.
- (-[WebFrame _subframeIsLoading]): New helper method, code moved
- from WebDataSource.
- (-[WebFrame stopLoading]): Tell subframes to stop loading.
- (-[WebFrame reload]): Remove extra braces.
- * WebView.subproj/WebFrameInternal.h:
-
-2005-12-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - move more frame tree traversal code from WebView to WebFrame
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _atMostOneFrameHasSelection]): Moved this debug
- method from WebView, renamed it and changed it to return a boolean
- so it is appropriate for use in assertions instead of giving its own
- errors.
- (-[WebFrame _accumulateFramesWithSelection:]): Helper for the above.
- (-[WebFrame _findFrameWithSelection]): Moved from WebView and renamed from
- _findSelectedFrame, also removed the skipping variant.
- (-[WebFrame _clearSelectionInOtherFrames]): Moved from WebView and
- changed how the logic works. Instead of clearing selection in any frame
- but the focus frame, it clears selection in all but this one.
- * WebView.subproj/WebFrameInternal.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView becomeFirstResponder]): Call _clearSelectionInOtherFrames
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Stop getting WebFrame
- in needlessly roundabout way.
- (-[WebPDFView becomeFirstResponder]): Call _clearSelectionInOtherFrames
- * WebView.subproj/WebTextView.m:
- (-[WebTextView _webFrame]): New helper method.
- (-[WebTextView _elementAtWindowPoint:]): Use it.
- (-[WebTextView becomeFirstResponder]): Call _clearSelectionInOtherFrames
- (-[WebTextView resignFirstResponder]): Fix style issue
- (-[WebTextView clickedOnLink:atIndex:]): Use new helkper
- * WebView.subproj/WebView.m:
- (-[WebView selectedFrame]): Call to WebFrame as appropriate
- (-[WebView _selectedOrMainFrame]): Fix style issue
- * WebView.subproj/WebViewInternal.h:
-
-2005-12-22 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- - move a few more methods from WebView to WebFrame.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _hasSelection]): Renamed from _frameIsSelected: and moved from
- WebView.
- (-[WebFrame _clearSelection]): Renamed from _deselectFrame: and moved from
- WebView.
- * WebView.subproj/WebFrameInternal.h:
- * WebView.subproj/WebView.m:
- (-[WebView searchFor:direction:caseSensitive:wrap:]): Update for renames.
- (-[WebView _findSelectedFrameStartingFromFrame:skippingFrame:]): Ditto.
- (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]): Ditto.
- (-[WebView _selectedFrameDidChange]):
-
-2005-12-21 Timothy Hatcher <timothy@apple.com>
-
- * WebKit.xcodeproj/project.pbxproj:
- Set tab width to 8, indent width to 4 and uses tabs to false per file.
-
-2005-12-20 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by justin
-
- <http://bugs.webkit.org/show_bug.cgi?id=4682>
- -[WebHTMLView firstRectForCharacterRange:] is using _selectedRange instead of the given range if no marked text
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView firstRectForCharacterRange:]):
- Handle some large unsigned values the way NSTextView does.
- Actually use the range passed in instead of _selectedRange,
- use of _selectedRange was a workaround that is no longer necessary.
-
-2005-12-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=6146
- (REGRESSION: Bold font used for Google search result pages is too thick)
-
- This is a problem with a particular font that was installed by Microsoft Office X. Though the
- font and/or lower levels of font-handling code in the system are buggy, this bad symptom will
- occur for users of Safari and other WebKit clients who happen to have one of these bad fonts.
- This adds a workaround to avoid the problem.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
- When we're going to synthesize bold or italic, yet the font we looked up was apparently a
- match for the traits, try to look up a font that without the to-be-synthesized traits.
- This way, instead of applying synthetic bold over Arial Bold, we'll apply synthetic
- bold over Arial Regular, which is uglier than just using Arial Bold, but far less ugly
- than using Arial Bold with synthetic bold too.
-
- 2005-12-16 Justin Garcia <justin.garcia@apple.com>
-
- <rdar://problem/4103393> Frequent Safari crash on lexisnexus.com (khtml::Selection::xPosForVerticalArrowNavigation)
- <rdar://problem/4330451> CrashTracer: [REGRESSION] 2235 crashes in Safari at com.apple.WebCore: khtml::Selection::xPosForVerticalArrowNavigation const 436
-
- Reviewed by darin
-
- WebCore will crash when a selection that starts or ends in a node
- that has been removed from the document is modify()d. This can occur:
- (1) in non-editable regions (4103393 and 4330451), (2) in editable
- regions (4383146) as the result of arbitrary DOM operations, and (3) in
- Mail (4099739) as the result of an editing operation that sets a
- bad ending selection.
-
- Crashes of type (1) can occur when the user uses the arrow keys
- to interact with a web app, or when the user tries to use
- command-shift-arrow to switch tabs (this is a depricated
- combo that will work if no one else responds to it). The easiest
- way to fix these crashes is to disallow editing'ish selection changes
- like moveDown:, selectWord:, pageDown:, etc, when the selection
- is in a non-editable region.
-
- Crashes of type (2) will require a more complicated fix (but occur
- much less often than type (1)). Crashes of type (3) must be
- fixed by tracking down the editing operation that sets bad selections.
-
- Added a layout-test:
- * editing/selection/selection-actions.html
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _canAlterCurrentSelection]):
- (-[WebHTMLView _alterCurrentSelection:direction:granularity:]):
- (-[WebHTMLView _alterCurrentSelection:verticalDistance:]):
- (-[WebHTMLView _expandSelectionToGranularity:]):
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2005-12-20 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by mitz
-
- Fixed more uninitialized variable warnings, and
- removed an extra semicolon.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (overrideLayoutOperation):
- (createATSULayoutParameters):
-
-2005-12-20 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - push more of frame lookup and management from WebView to
- WebFrame, this is in preparation for shifting this to WebCore
- http://bugs.webkit.org/show_bug.cgi?id=6163
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge closeWindowSoon]): Adjust for change to WebFrameNamespaces
- (-[WebBridge runModal]): ditto
- * WebView.subproj/WebControllerSets.h:
- * WebView.subproj/WebControllerSets.m:
- (+[WebFrameNamespaces addFrame:toNamespace:]): This now operates in terms
- of WebFrames (expected to be the main frame) not WebViews.
- (+[WebFrameNamespaces framesInNamespace:]): Ditto.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _setFrameNamespace:]): Set self, not WebView.
- (-[WebFrame _shouldAllowAccessFrom:]): Moved this code above use
- to avoid prototyping the method.
- (-[WebFrame _descendantFrameNamed:sourceFrame:]): Ditto.
- (-[WebFrame _frameInAnyWindowNamed:sourceFrame:]): Copied logic
- over from WebView.
- (-[WebFrame findFrameNamed:]): Do it all here, don't call WebView.
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.h:
-
-2005-12-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by adele.
-
- Fixed build failure due to missing 'b's in my last checkin.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge isStatusbarVisible]): changed 'B' to 'b'
- (-[WebBridge setStatusbarVisible:]): ditto
-
-2005-12-20 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin, committed by Adele.
-
- - fix deployment builds broken by the ATSUI multiple renderers patch
- http://bugs.webkit.org/show_bug.cgi?id=6153
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (createATSULayoutParameters): Assign initial values, which will never be used,
- to substituteRenderer and firstSmallCap, to avoid uninitialized variable warnings.
-
-2005-12-20 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by John.
-
- Part of fix for <rdar://problem/4310363> JavaScript window.open: Height
- is 1 pixel short, and related bugs. See WebCore ChageLog.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge webView]): Added method.
-
-2005-12-20 Eric Seidel <eseidel@apple.com>
-
- Reviewed by mjs.
-
- Development-only build fix.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFramePrivate dealloc]): fixed typo
-
-2005-12-20 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed.
-
- - revert accidental commit of this file.
-
-2005-12-19 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- - Move handling of frame namespaces down to WebFrame.
- - Put some internal class declarations in the implementation file.
-
- * WebView.subproj/WebControllerSets.m:
- (+[WebFrameNamespaces addWebView:toFrameNamespace:]):
- (+[WebFrameNamespaces webViewsInFrameNamespace:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFramePrivate dealloc]):
- (-[WebFrame _setFrameNamespace:]):
- (-[WebFrame _frameNamespace]):
- * WebView.subproj/WebFrameInternal.h:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebView _close]):
- (-[WebView _findFrameNamed:sourceFrame:]):
- (-[WebView setGroupName:]):
- (-[WebView groupName]):
- * WebView.subproj/WebViewInternal.h:
-
-2005-12-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin, committed by Adele.
-
- Test: fast/text/atsui-multiple-renderers.html
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=6139
- ATSUI code path should implement small caps, synthetic bold and oblique and correct metrics for fallback fonts
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (overrideLayoutOperation): Fetch renderer info from the renderers array;
- add synthetic bold offset; render only synthetic bold in the synthetic bold pass.
- (drawGlyphs): Replaced 14 with new SYNTHETIC_OBLIQUE_ANGLE define.
- (initializeATSUStyle): Apply a skewing transform for synthetic oblique.
- (createATSUTextLayout): Merged into createATSUTextLayout.
- (createATSULayoutParameters): Merged in createATSUTextLayout; allocate
- and fill a renderers array and a character buffer for small caps and mirroring;
- (applyMirroringToRun): Merged into createATSULayoutParameters.
- (ATSU_drawHighlight): Deleted mirroring code.
- (ATSU_draw): Deleted mirroring code; added second pass for synthetic bold.
- (ATSU_pointToOffset): Deleted mirroring code.
-
-2005-12-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin, committed by Adele.
-
- Test: fast/text/atsui-kerning-and-ligatures.html
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=6137
- Disable kerning and some ligatures in the ATSUI code path
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (initializeATSUStyle): Disable kerning; disable ligatures unless the font
- does not contain 'a', in which case it is assumed to never be rendered
- by the CG code path.
-
-2005-12-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin, committed by Adele.
-
- Test: fast/text/should-use-atsui.html
-
- - fix for http://bugs.webkit.org/show_bug.cgi?id=6132
- Incorrect selection highlighting for ATSUI text when selected range is "CG-safe"
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (shouldUseATSU): Always start scanning from 0 since drawing and
- highlighting also measure everything up to run->from.
-
-2005-12-17 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Eric.
-
- - remove some unused SPI headers.
-
- * DOM.subproj/WebDOMDocument.h: Removed.
- * DOM.subproj/WebDOMElement.h: Removed.
- * DOM.subproj/WebDOMNode.h: Removed.
- * WebKit.xcodeproj/project.pbxproj:
-
-2005-12-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed and landed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=5479
- Can't select text with RTL override rendered by ATSUI
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (overrideLayoutOperation): Update since the layout only includes from -> to now.
- (-[WebTextRenderer pointToOffset:style:position:includePartialGlyphs:]): Remove
- reversed parameter.
- (CG_floatWidthForRun): Add code to handle RTL case.
- (addDirectionalOverride): Put the override around the entire run.
- (ATSU_drawHighlight): Rearrange and reuse ATSU_floatWidthForRun for more of the work.
- Also round.
- (ATSU_pointToOffset): Remove reversed parameter and run swapping.
- (CG_pointToOffset): Remove reversed parameter, using rtl flag in style instead.
-
-2005-12-16 Evan Gross <evan@rainmakerinc.com>
-
- Reviewed and landed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=4680
- WebHTMLView (WebNSTextInputSupport) - attributedSubstringFromRange "not yet implemented"
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView attributedSubstringFromRange:]):
- Implement by calling the same RTF conversion used when copying to the pasteboard.
-
-2005-12-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed and landed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=6090
- REGRESSION: Assertion failure when choosing Copy from a WebImageView's contextual menu
-
- * WebView.subproj/WebImageView.m:
- (-[WebImageView elementAtPoint:]): Use WebCoreElementImageRendererKey
- for the image renderer and WebElementImageKey for the image.
-
-2005-12-15 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - remove _frameForView: method from WebView and replace with a direct pointer on the WebFrameView in the WebFrame
-
- * Misc.subproj/WebNSViewExtras.m:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _detachFromParent]):
- (-[WebFrame _loadDataSource:withLoadType:formState:]):
- (-[WebFrame initWithName:webFrameView:webView:]):
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _setWebFrame:]):
- (-[WebFrameView webFrame]):
- * WebView.subproj/WebFrameViewInternal.h:
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.h:
-
-2005-12-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - remove the dead _frameForDataSource: method (WebDataSource now knows its WebFrame)
- http://bugs.webkit.org/show_bug.cgi?id=6072
-
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.h:
-
-=== Safari-521~5 ===
-
-2005-12-12 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by nobody, simple build fix.
-
- Fixes a couple ambiguous selector build errors when building with GCC 3.3.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase releaseIconForURL:]):
- * WebView.subproj/WebHTMLView.m:
- (-[NSView _web_layoutIfNeededRecursive:testDirtyRect:]):
- (-[NSArray elementAtPoint:]):
-
-2005-12-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed and checked in by John Sullivan.
-
- Fix for: http://bugs.webkit.org/show_bug.cgi?id=6053
- WebIconDatabase returns the Accessibility Verifier app icon instead of
- a generic document icon
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _iconForFileURL:withSize:]):
- use file type iconForFileType:NSFileTypeForHFSTypeCode(kGenericDocumentIcon) instead of '????'
- to get the generic document icon.
-
-2005-12-12 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - Made protocol <WebDocumentSelection> include protocol <WebDocumentText>, for clarity.
- This required moving some methods from WebTextView, which conformed to <WebDocumentText>,
- up into superclass WebSearchableTextView, which conformed to <WebDocumentSelection>.
-
- * Misc.subproj/WebSearchableTextView.m:
- (-[NSString supportsTextEncoding]):
- moved this method (unchanged) from subclass WebTextView
- (-[NSString string]):
- ditto
- (-[NSString attributedString]):
- ditto
- (-[NSString selectedString]):
- ditto
- (-[NSString selectedAttributedString]):
- ditto
- (-[NSString selectAll]):
- ditto
- (-[NSString deselectAll]):
- ditto
-
- * WebView.subproj/WebDocumentPrivate.h:
- made <WebDocumentSelection> incorporate <WebDocumentText> rather than just <NSObject>
- * WebView.subproj/WebHTMLView.h:
- removed <WebDocumentText> from protocol list since it's covered by <WebDocumentSelection>
- * WebView.subproj/WebPDFView.h:
- ditto
- * WebView.subproj/WebTextView.h:
- ditto
- * WebView.subproj/WebTextView.m:
- removed the methods that were moved into WebSearchableTextView.m
-
-2005-12-10 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=6032
- REGRESSION: Uncaught exception when image is dragged out of webpage
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- Pass the image renderer, not the NSImage.
- (-[WebHTMLView elementAtPoint:]): Add an NSImage to the dictionary, which now comes from
- WebCore with only an image renderer.
- * WebView.subproj/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
- Pass the image renderer, not the NSImage.
-
-2005-12-10 Darin Adler <darin@apple.com>
-
- Was getting build failures related to "count" methods.
- Made Tim's build fix Leopard-only.
-
- * WebView.subproj/WebPreferencesPrivate.h: Go back to <PDFKit/PDFKit.h> on Tiger.
-
-2005-12-09 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adele Peterson.
-
- - fixed <rdar://problem/4373905> Cannot paste in Tiger Mail using TOT WebKit
-
- * WebView.subproj/WebView.m:
- (-[WebView _frameForCurrentSelection]):
- I removed this method many moons ago when restructuring the code involving frames and selection.
- Too bad Mail was still using it (d'oh!). In Leopard Mail has updated to use newer SPI (which should
- become API), but to continue to work with Mail on Tiger we need this method to be around. Now it's
- just a cover for the method _selectedOrMainFrame, to which it was renamed so very long ago.
-
-2005-12-09 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- * Carbon.subproj/HIWebView.m:
- (UpdateCommandStatus):
- Don't call -performSelector:withObject: on a method that returns a BOOL; this is not guaranteed to work on all architectures.
- -performSelector:withObject:'s return value should only be checked if the method returns an object.
-
-2005-12-09 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by nobody, build fix.
-
- Using <PDFKit/PDFKit.h> was causing build failures for the Mail team.
- The comment about getting an ambiguous signature conflict anywhere the
- method "count" is used seems to no longer be an issue.
-
- * WebView.subproj/WebPreferencesPrivate.h: Use <Quartz/Quartz.h>
-
-2005-12-08 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Some cleanup of how selection rects are associated with NSViews.
-
- * WebView.subproj/WebDocumentPrivate.h:
- Added a -selectionView method to <WebDocumentSelection>, and clarified that the
- selectionRect is in the coordinate system of this view.
-
- * Misc.subproj/WebSearchableTextView.m:
- (-[WebSearchableTextView selectionView]):
- new method, returns self
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView selectionView]):
- new method, returns self
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView selectionRect]):
- translate result into coordinate system of [PDFSubview documentView]
- (-[WebPDFView selectionView]):
- new method, returns [PDFSubview documentView]
-
-2005-12-08 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick and Dave Hyatt.
-
- - fixed these semi-legendary bugs:
- <rdar://problem/4032405> Inline PDF doesn't get keyboard focus like web pages do, so can't scroll with keys without clicking
- <rdar://problem/4265684> PDFs use secondary selection when displaying found text (4748)
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView becomeFirstResponder]):
- Discovered that there is indeed PDFKit API for accessing the view that becomes focused; now
- passes the focus down to that view.
-
-2005-12-08 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - Added WebKit mechanism to help correctly pass the first responder into the PDF view hierarchy,
- in order to start addressing keyboard focus and selection highlight issues. Unfortunately this
- doesn't actually have any user effect yet due to problems that must be fixed in PDFKit.
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView acceptsFirstResponder]):
- Overridden to returns YES. Needed so NSClipView knows it's OK to pass focus down to this level.
- (-[WebPDFView becomeFirstResponder]):
- With setNextKeyView:, splices the PDF view into the focus-passing mechanism in much the same
- way as NSScrollView and NSClipView.
- (-[WebPDFView setNextKeyView:]):
- With becomeFirstResponder:, splices the PDF view into the focus-passing mechanism in much the same
- way as NSScrollView and NSClipView.
- (-[WebPDFView resignFirstResponder]):
- Removed this method because the WebPDFView itself is never first responder except transiently.
-
-2005-12-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - some small changes towards frame tree refactoring
-
- Renamed WebViewSets to WebFrameNamespaces, and put the method for
- performing a selector on all extant WebViews to WebView itself,
- with a separate set tracking live WebViews. This should allow
- moving the storage of this info down to WebCore more easily.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge closeWindowSoon]):
- (-[WebBridge runModal]):
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory refreshPlugins:]):
- * WebView.subproj/WebControllerSets.h:
- * WebView.subproj/WebControllerSets.m:
- (+[WebFrameNamespaces addWebView:toFrameNamespace:]):
- (webView::if):
- (+[WebFrameNamespaces webViewsInFrameNamespace:]):
- * WebView.subproj/WebView.m:
- (+[WebView _makeAllWebViewsPerformSelector:]):
- (-[WebView _removeFromAllWebViewsSet]):
- (-[WebView _addToAllWebViewsSet]):
- (-[WebView _close]):
- (-[WebView _findFrameNamed:sourceFrame:]):
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView setGroupName:]):
- * WebView.subproj/WebViewInternal.h:
-
-2005-12-08 Darin Adler <darin@apple.com>
-
- Reviewed by Eric.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=5689
- add support for CSS "custom cursors" (cursor images)
-
- * WebCoreSupport.subproj/WebImageRenderer.h: Remove declaration of TIFFRepresentation and
- image methods since both are required by the WebCoreImageRenderer protocol now and we don't
- have to re-declare them.
-
- * Misc.subproj/WebNSPasteboardExtras.m: Add an import of the WebCoreImageRenderer.h file
- since we need to use methods inherited from that protocol.
- * Misc.subproj/WebNSViewExtras.m: Ditto.
- * WebCoreSupport.subproj/WebImageRenderer.m: Ditto. (Use and implement.)
-
-2005-12-07 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Maciej, landed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=5878
- REGRESSION (WebTextRenderer.m r1.201): pointToOffset always takes the CG code path
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]):
- Added the missing "return".
-
-2005-12-07 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - <rdar://problem/4331488> TOT Assertion failure in -[WebHTMLView nextValidKeyView]
- @ home.netscape.com
-
- * WebView.subproj/WebHTMLView.m:
- (-[NSArray nextValidKeyView]):
- Removed assert that I added a while back. In this case at least, the assertion is
- overzealous, and I can't recreate the tortured chain of logic that led me to adding
- this assertion in the first place.
-
-2005-12-06 David Harrison <harrison@apple.com>
-
- Reviewed by Darin.
-
- - fix <rdar://problem/4365308> Glendale Regression: Floating dictionary doesn't work well in Safari text areas/fields
-
- Add use of NSAccessibilityHitTest to the list of exceptions.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView hitTest:]): check for NSFlagsChanged event.
-
-2005-12-05 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- * WebView.subproj/WebHTMLView.m:
- (-[NSArray validateUserInterfaceItem:]):
- one more tweak: moved jumpToSelection: to be validated the same way as
- centerSelectionInVisibleArea:, since it now calls the same code. Might not
- make a difference in any real code, but you never know.
-
-2005-12-05 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- * WebView.subproj/WebHTMLView.m:
- (-[NSArray validateUserInterfaceItem:]):
- removed double handling of centerSelectionInVisibleArea
-
-2005-12-05 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - WebKit part of fix for
- <rdar://problem/4365690> Find > Jump to Selection does nothing on plain-text documents (inc. source HTML)
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView jumpToSelection:]):
- Reimplement jumpToSelection: to call centerSelectionInVisibleArea:, and added a comment explaining why
- jumpToSelection: exists at all. Note that centerSelectionInVisibleArea: was already implemented here; it
- was added as part of HTML editing implementation without us realizing that it was the API replacement
- for jumpToSelection:.
- (-[WebHTMLView validateUserInterfaceItem:]):
- validate centerSelectionInVisibleArea: the same way we validate jumpToSelection: (we should have done
- this when centerSelectionInVisibleArea: was implemented)
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView centerSelectionInVisibleArea:]):
- new method, same code that jumpToSelection: used to have
- (-[WebPDFView jumpToSelection:]):
- now calls centerSelectionInVisibleArea:, and there's now a comment about why it exists at all.
- (-[WebPDFView validateUserInterfaceItem:]):
- validate centerSelectionInVisibleArea: the same way we validate jumpToSelection:
-
-2005-12-04 Tim Omernick <timo@apple.com>
-
- Reviewed by Dave Harrison, John Sullivan.
-
- <rdar://problem/4364847> REGRESSION: QuickTime movies open without controller or don't open at all (5928)
-
- I changed WebFrameView on 2005-11-29 so that it avoids creating duplicate WebPluginDocumentViews.
- Unfortunately, this change caused a regression due to the fact that it subtly changed when plugins are
- initialized. Certain plugins (e.g. QuickTime) expect to be initialized after the WebPluginDocumentView
- has been "committed" (inserted into the view hierarchy).
-
- My fix is to ensure that the plugin is initialized where we previously would have created that second
- WebPluginDocumentView -- that is, the plugin is created after the WebPluginDocumentView has been committed.
-
- * Plugins.subproj/WebPluginDocumentView.m:
- (-[WebPluginDocumentView setDataSource:]):
- Don't initialize the plugin if the WebPluginDocumentView has not been inserted into the view hierarchy.
- We assume here that a later call to -setDataSource: will pass this conditional, once the WebDocumentView
- has been committed.
-
-2005-12-02 Justin Garcia <justin.garcia@apple.com>
-
- <rdar://problem/4345030>
- Denver REGRESSION (10.4.2-10.4.3): Two identical warnings on "Back" from Amazon's package tracker
-
- Before checking the navigation policy for a request, the request is compared
- against the last checked request. If the two are the same, no check is done.
- In the bug, the two requests are identical except for the boolean on
- NSURLRequests that tells Foundation to support multipart loads for that request.
- One request was the one that was used to start servicing "Back" operation, and
- the second was being used to start loading the page (it needed to be reloaded
- because it was the result of a form submission). Set the boolean on all
- NSURLRequests, not just one's that are about to be used to start a load.
-
- Reviewed by harrison
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource initWithRequest:]):
- * WebView.subproj/WebDataSourcePrivate.h:
-
-2005-12-01 Darin Adler <darin@apple.com>
-
- Reviewed by Vicki.
-
- - fix <rdar://problem/4349721> Regression: Hovering over menu item doesn't highlight menu item or
- mousing up on menu item in applet does not open URL in new window at smartmoney.com
-
- Since Java depends on doing a hit test inside it's mouse moved handling, let hit testing on Java
- applets go through the standard NSView code path. Since this should only happen for Java, add a global
- so that we can Use our own WebHTMLView hit testing when calling from _updateMouseoverWithEvent.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _hitViewForEvent:]): rename forceRealHitTest to forceNSViewHitTest
- (-[WebHTMLView _updateMouseoverWithEvent:]): set global variable to force a WebHTMLView-style hit test from here
- (-[WebHTMLView hitTest:]): perform the appropriate hit test based on global variables
-
-2005-11-29 Andrew Wellington <proton@wiretapped.net>
-
- Reviewed by darin. Committed by eseidel.
-
- Fix for: http://bugs.webkit.org/show_bug.cgi?id=4726
- Drop of multiple non-image file URLs only yields one item
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentWithPaths:]):
-
-2005-11-29 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan, Eric Seidel
-
- <rdar://problem/4340787> Safari & Dashcode create 2 instances of the QC plug-in
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _makeDocumentViewForDataSource:]):
- Instead of creating a new WebDocumentView, use the WebDataSource's representation if it is a WebDocumentView
- of the appropriate class. Right now, this can only happen when the loading document is a standalone WebKit
- plugin, because WebPluginDocumentView is both the WebDocumentView and the WebDocumentRepresentation for that
- kind of page load.
-
- I have verified that this does not affect other kinds of page loads; in all other cases, the representation
- class is distinct from the document view class.
-
- I talked with Chris Blumenberg about this change (he knows this code), and he agreed that this is the right
- approach.
-
-2005-11-28 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Darin. Committed by Maciej.
-
- - fixed "Word completion doesn't work at end of word (unless last word)"
- (http://bugs.webkit.org/show_bug.cgi?id=4062)
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebTextCompleteController doCompletion]):
-
-2005-11-28 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- Probable fix for <rdar://problem/4356060> crash in -[WebHistoryItem _mergeAutoCompleteHints:]
-
- * History.subproj/WebHistory.m:
- (-[WebHistoryPrivate addItem:]):
- retain/release oldEntry until we're done with it, since removing it from dictionary might
- cause it to be dealloc'ed otherwise.
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem _mergeAutoCompleteHints:]):
- added an assert
-
-2005-11-26 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by mjs. Committed by eseidel.
-
- Fix for http://bugs.webkit.org/show_bug.cgi?id=5230
- "characterIndexForPoint: not yet implemented"
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView characterIndexForPoint:]):
- (-[WebHTMLView firstRectForCharacterRange:]):
-
-2005-11-22 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebView.h: Fixed incorrect comment in public header.
-
-2005-11-18 Vicki Murley <vicki@apple.com>
-
- Changes by Tim H, reviewed by Vicki.
-
- - call shouldClose on the bridge for the main frame
-
- * WebView.subproj/WebView.m:
- (-[WebView shouldClose]):
-
-2005-11-18 Vicki Murley <vicki@apple.com>
-
- Changes by Darin, reviewed by Beth and Vicki.
-
- - fix <rdar://problem/3939265> support "before unload" event and onbeforeunload handler (supported by both IE and Mozilla)
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge canRunBeforeUnloadConfirmPanel]):
- (-[WebBridge runBeforeUnloadConfirmPanelWithMessage:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- * WebView.subproj/WebUIDelegatePrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebView shouldClose]):
- * WebView.subproj/WebViewPrivate.h:
-
-2005-11-10 Maciej Stachowiak <mjs@apple.com>
-
- Build fix, not reviewed.
-
- * Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added.
-
-2005-11-10 Tim Omernick <timo@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/4237941> Dashboard needs a way to stop Netscape plug-ins from getting null events
-
- * Plugins.subproj/WebBaseNetscapePluginViewInternal.h: Added.
- Added WebInternal category, with -stopNullEvents and -restartNullEvents. These methods already exist on WebBaseNetscapePluginView.
- I am just exposing them to callers elsewhere within WebKit.
-
- * WebKit.xcodeproj/project.pbxproj:
- Added WebBaseNetscapePluginViewInternal.h.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
- Walks down the web frame hierarchy and calls -_pauseNullEventsForAllNetscapePlugins on each WebHTMLView.
- (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
- Same as above, but calls -_resumeNullEventsForAllNetscapePlugins.
-
- * WebView.subproj/WebFramePrivate.h:
- Declared -_recursive_pauseNullEventsForAllNetscapePlugins and -_recursive_pauseNullEventsForAllNetscapePlugins.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
- Checks subviews for WebBaseNetscapePluginViews, and calls -stopNullEvents on them.
- (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
- Same as above, but calls -restartNullEvents.
-
- * WebView.subproj/WebHTMLViewInternal.h:
- Declared -_pauseNullEventsForAllNetscapePlugins and -_resumeNullEventsForAllNetscapePlugins.
-
-2005-11-07 Geoffrey Garen <ggaren@apple.com>
-
- Darin reviewed this a while back.
-
- - Fixed <rdar://problem/4161660> window.close followed by window.print
- in onload handler crashes Safari in KJS::ScopeChain::bottom
- (redmccombstoyota.com)
-
- Added a call to stopLoading inside closeWindowSoon to prevent load
- events from firing after a window has torn down.
-
- Manual test case: WebCore/manual-tests/window-close-during-parsing.html
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge closeWindowSoon]):
-
-2005-11-03 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin and Vicki.
-
- * WebKit.xcodeproj/project.pbxproj:
- Change to use $(SYSTEM_LIBRARY_DIR) consistently and place
- $(NEXT_ROOT) in a few spots to make build-root work.
-
-2005-11-01 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4318632>
-
- I've added a new notification, WebPluginWillPresentNativeUserInterfaceNotification. Plugins are expected to post this
- notification before presenting "native UI", such as dialog boxes. A Dashboard client can observe this notification to
- hide the Dashboard layer when plugins present external UI.
-
- * English.lproj/StringsNotToBeLocalized.txt:
- Added "WebPluginWillPresentNativeUserInterface".
-
- * Plugins.subproj/WebPluginsPrivate.h: Added.
- * Plugins.subproj/WebPluginsPrivate.m: Added.
- Declare WebPluginWillPresentNativeUserInterfaceNotification.
-
- * WebKit.xcodeproj/project.pbxproj:
- Added WebPluginsPrivate.[hm]
-
- * WebKit.exp:
- Added _WebPluginWillPresentNativeUserInterfaceNotification.
-
-2005-11-01 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- fixed deployment build by hiding local variables used only in ASSERTs on builds for
- which ASSERT_DISABLED is true.
-
- * History.subproj/WebHistory.m:
- (-[WebHistoryPrivate removeItemForURLString:]):
- (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]):
-
-2005-11-01 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - fixed <rdar://problem/4324104> Assertion failure (foundDate) in WebHistory
-
- WebFrame was updating the last visited date on a WebHistoryItem behind WebHistory's
- back, causing WebHistory's caches of items by date to get out of sync with reality.
- Changed to set the date through WebHistory rather than directly.
-
- * History.subproj/WebHistory.m:
- (-[WebHistoryPrivate _removeItemFromDateCaches:]):
- New method, extracted from removeItemForURLString.
- (-[WebHistoryPrivate removeItemForURLString:]):
- Now calls extracted method. Cleaned up white space a little.
- (-[WebHistoryPrivate _addItemToDateCaches:]):
- New method, extracted from addItem:
- (-[WebHistoryPrivate addItem:]):
- Now calls extracted method. Cleaned up white space a little.
- (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]):
- New method, removes item from date caches, changes date, then adds item back to
- date caches and sends notification.
- (-[WebHistory setLastVisitedTimeInterval:forItem:]):
- New method, cover for WebHistoryPrivate version.
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem _setLastVisitedTimeInterval:]):
- Don't send notification here; send from new WebHistory method instead.
-
- * History.subproj/WebHistoryItemPrivate.h:
- Added comment about avoiding incorrect use of _setLastVisitedTimeInterval:
- * History.subproj/WebHistoryPrivate.h:
- Added declarations for WebHistory and WebHistoryPrivate versions of
- setLastVisitedTimeInterval:forItem:
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]):
- change history item's date via new WebHistory method rather than directly
-
-2005-10-25 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Remove the use of a stamp file in the Frameworks symlink build phase.
- This lets us pass the build verification.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2005-10-24 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff.
-
- - change internal methods in WebTextRenderer to be functions in case this
- has any effect on speed (also makes things a bit clearer, in my opinion)
-
- * WebCoreSupport.subproj/WebTextRenderer.h: Made all fields public, which is
- OK since this is really a private class. Made setAlwaysUseATSU: class method
- public too for the same reason.
-
- * WebCoreSupport.subproj/WebTextRenderer.m: Change all methods to functions.
- (destroy): Function name for method free.
- (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Removed code to first subtract
- lineSpacing - descent, then later add it back.
- (getSmallCapsRenderer): Function name for method smallCapsRenderer.
- (findSubstituteFont): Function name for method substituteFontForString:families:.
- (findSubstituteRenderer): Function name for method substituteRendererForCharacters:length:families:.
- (updateGlyphMapEntry): Function name for method updateGlyphEntryForCharacter:glyphID:substituteRenderer:.
- (extendGlyphMap): Function name for method extendCharacterToGlyphMapToInclude:.
- (extendWidthMap): Function name for method extendGlyphToWidthMapToInclude:.
- (getTextBounds): Function name for method trapezoidForRun:style:atPoint:.
-
-2005-10-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin. Committed by David Harrison.
-
- http://bugs.webkit.org/show_bug.cgi?id=5415
- "Left border of selection highlight leaves behind a trail"
-
- * manual-tests/drag_select_highlighting.html: Added.
- (this test case was added to WebCore)
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (overrideLayoutOperation):
- (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]):
- (-[WebTextRenderer ATSU_drawHighlightForRun:style:geometry:]):
- (advanceWidthIterator):
-
-
-2005-10-23 Tim Omernick <tomernick@apple.com>
-
- Reviewed by Dave Hyatt.
-
- <http://bugs.webkit.org/show_bug.cgi?id=5365>
-
- Send -webPlugInStop (or -pluginStop) and -webPluginDestroy (or -pluginDestroy)
- to complying plugins right when they're removed from the WebHTMLView, and also
- release them from the plugin controller's arrays.
-
- I think this patch makes WebKit behave more like plugins expect it to, which is
- the way it already behaves with Netscape plugins.
-
- I expect complying plugins to stop making noise when receiving the stop
- message, but QuickTime doesn't. If it's lucky, then it will be deallocated
- because of the release and will stop then. However, JS, for one, can retain the
- plugin (e.g. if you execute <javascript:document.getElementById('obj').width;>
- before clicking Remove OBJECT), in which case it will just keep playing.
-
- * Plugins.subproj/WebPluginController.h:
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController destroyPlugin:]):
- Stop and destroy the plugin.
- * WebView.subproj/WebHTMLView.m:
- (-[NSArray willRemoveSubview:]):
- Destroy plugins when they are removed from the HTML view.
-
-2005-10-23 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej.
-
- For better abstraction, made the tokenizer -- instead of the
- data source -- responsible for calling [WebFrame _checkLoadComplete]
- when the tokenizer stops.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _stopLoadingInternal]):
-
-2005-10-21 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by darin.
-
- WebKit side of the fix for <rdar://problem/4184719> window.print() followed by
- window.close() causes world leak
-
- No test case added because I have another reviewed patch that will include a test
- for this bug as well as many others.
-
- Under some conditions, [WebDataSource stopLoading] did not set [WebDataSource isLoading]
- to false, so the didFInishLoad delegates never fired.
-
- The reason isLoading didn't become false was that the tokenizer was still running.
- The fix here is to move the call to [WebCoreBridge stopLoading] above the early return
- inside [WebDataSource stopLoading] -- since the tokenizer may still be running even if the
- loader is finished loading -- and then to call [WebFrame _checkLoadComplete] to
- give the frame a chance to fire its delegates.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _stopLoadingInternal]):
-
-2005-10-21 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin??
-
- Fix for <rdar://problem/3853672> Malformed HTML using crashes Safari in NSFireTimer
-
- The webFrame was being deleted prematurely by a call to stop(), so we changed it
- so that the calls to _receivedMainResourceError and _mainReceivedError happen
- before the stop(), and we retain the bridge.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _receivedMainResourceError:complete:]):
-
-2005-10-21 Geoffrey Garen <ggaren@apple.com>
-
- Patch by TimO, Reviewed by hyatt, tested and landed by me.
-
- Found what appears to be a misguided optimization that actually causes a measurable performance problem.
- A fixed-size buffer was allocated on the stack to pass into CFURLGetBytes(), presumably to avoid malloc()
- for URLs less than 2048 bytes. There was also a fallback which malloc()'ed a buffer in case the fixed-size
- buffer was too small to hold the URL's bytes. This malloc()'ed buffer was then wrapped in an NSData using
- +dataWithBytesNoCopy:length:, avoiding a memory copy (yay!)
-
- The problem with this approach is two-fold:
-
- 1. Regardless of how the buffer was allocated and filled, it is immediately wrapped in an NSData using
- +dataWithBytes:length:, which copies the input bytes. This is pretty much unavoidable; we need to get
- the data into a malloc()'ed buffer to return it to the caller, unless the caller provides its own storage
- (which would be super inconvenient).
-
- 2. The size of the fixed buffer was large enough that it fit most (if not all) URLs involved in our Page
- Load Test. This means the unintentionally-inefficient case was by far the most *common* case!
-
- My fix is to malloc() the buffer from the start, and then use +[NSData dataWithBytes:length:freeWhenDone:]
- to wrap the buffer in an NSData. This avoids a memory copy for the normal case where a URL is less than
- 2048 bytes, and keeps the efficient behavior for the uncommon long URL case.
-
- * Misc.subproj/WebNSURLExtras.m:
- (-[NSURL _web_originalData]):
-
-2005-10-21 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed and landed by Darin.
-
- - fixed a couple regressions caused by my last check-in
- http://bugs.webkit.org/show_bug.cgi?id=5437
- http://bugs.webkit.org/show_bug.cgi?id=5443
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Compute background width
- correctly, by subtracting position after run from position before run.
- (addDirectionalOverride): Make the range include only the characters between the
- directional override characters, not the directional override characters themselves.
- (initializeWidthIterator): Correctly compute "widthToStart" based on the offset to
- the beginning of the run, not to the end of the run!
-
-2005-10-19 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - optimizations for a total of about 1% speed-up on PLT
-
- * WebCoreSupport.subproj/WebTextRenderer.h: Updated to use bool instead of BOOL,
- since BOOL is a signed char (which is not so efficient, at least on PPC).
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (isSpace): Changed BOOL to bool and UniChar to UChar32. This actually fixes a
- potential bug when the passed-in character is a non-BMP character (> FFFF).
- (isRoundingHackCharacter): Ditto.
- (widthForGlyph): Merged getUncachedWidth, widthFromMap, and widthForGlyph into
- one function. Marked it inline. Changed to include syntheticBoldOffset in the
- cached widths to save an add in the cached case. Instead of the special constant
- UNINITIALIZED_GLYPH_WIDTH, just check for a width >= 0. This allows us to use
- a negative number or NAN for the uninitialized width value -- I chose NAN.
- (overrideLayoutOperation): Use bool instead of Boolean in one place.
- (-[WebTextRenderer initWithFont:]): Use lroundf instead of ROUND_TO_INT.
- (-[WebTextRenderer floatWidthForRun:style:]): Put the code to choose the ATSU
- vs. CG code path back in here, because there are no callers inside the class
- that need to call both.
- (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
- Use bool instead of BOOL.
- (+[WebTextRenderer setAlwaysUseATSU:]): Ditto.
- (fontContainsString): Ditto.
- (-[WebTextRenderer computeWidthForSpace]): Ditto. Also use roundf instead of
- using ROUND_TO_INT.
- (-[WebTextRenderer setUpFont]): Use bool instead of BOOL.
- (drawGlyphs): Ditto.
- (-[WebTextRenderer CG_drawHighlightForRun:style:geometry:]): Restructure the
- code so it can use the new advanceWidthIterator function instead of the old
- widthForNextCharacter function.
- (-[WebTextRenderer CG_drawRun:style:geometry:]): Use malloc instead of calloc
- since we don't need initialization. Call CG_floatWidthForRun instead of
- floatWidthForRun -- no need to re-check whether to use the CG or ATSU code path.
- Removed code to handle a renderer of 0 since we no longer generate that in
- the renderers array in advanceWidthIterator.
- (CG_floatWidthForRun): Changed to call the new advanceWidthIterator instead of
- the old widthForNextCharacter.
- (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Use malloc instead of
- calloc and explicitly initialize the one field that needs it. Fixed a potential
- storage leak by adding a call to WKClearGlyphVector. Initialize the renderers
- to self instead of to 0.
- (-[WebTextRenderer extendGlyphToWidthMapToInclude:]): Initialize the widths to
- NAN instead of UNINITIALIZED_GLYPH_WIDTH.
- (addDirectionalOverride): Fixed bug where the first and last character in the buffer
- could be uninitialized and where characters before and after the direction override
- could be incorrect.
- (-[WebTextRenderer ATSU_drawRun:style:geometry:]): Use bool instead of BOOL.
- (-[WebTextRenderer ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
- Ditto.
- (advanceWidthIteratorOneCharacter): Added new helper function for CG_pointToOffset.
- (-[WebTextRenderer CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
- Reimplemented to use advanceWidthIteratorOneCharacter instead of widthForNextCharacter.
- Also call CG_floatWidthForRun instead of floatWidthForRun since we don't need to
- reconsider whether to use CG or ATSU.
- (glyphForCharacter): Removed the map parameter and changed the renderer parameter to
- be an in-out one. Removed uneeded special case for when map is 0 and always get the
- renderer from the map. Also call extendCharacterToGlyphMapToInclude in here instead of
- making that the caller's responsibility.
- (initializeWidthIterator): Renamed to make the name shorter (removed "Character").
- Streamlned common cases like "no padding" and removed some unneeded casts. Changed to
- use advanceWidthIterator to compute width fo the first part of the run.
- (normalizeVoicingMarks): Factored this out into a separate function, since it's not part
- of the common case.
- (advanceWidthIterator): Changed widthForNextCharacter to this, eliminating per-character
- function overhead for iterating past a few characters. Merged the handling of surrogate
- pairs and of voicing marks so that we typically only have to do one "if" to rule out both.
- Merged the mirroring for RTL and uppercasing for small caps into a single boolean so that
- we only need one "if" to rule out both. Call the new glyphForCharacter. Check for the
- character '\t' first since that's cheaper than looking at tabWidth. Check tabWidth for 0
- first so that we don't have to convert it to floating point when not using it. Changed
- the special case for spaces to first check width, so that we don't bother with the rest
- of the code for glyphs not the same width as spaces. Fixed substitution code to call
- CG_floatWidthForRun -- no need to reconsider whether to use CG or ATSU. Also changed to
- properly get width from the result of that function. Merged the handling of letter spacing,
- padding, and word spacing into a single boolean so that we typically only have to do one
- "if" to rule out all three. Check for letterSpacing of 0 first so that we don't have to
- convert it to floating point when not using it. Same for padding and wordSpacing.
- Move the work from ceilCurrentWidth in line into this function. Assume that either we have
- all three pointers (widths, renderers, glyphs), or none of the three, to cut down on branches.
- (fillStyleWithAttributes): Use bool instead of BOOL.
- (shouldUseATSU): Ditto.
-
- * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]): Update since
- the floatWidthForRun method no longer takes a widths parameter.
- * Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.
-
-2005-10-19 Tim Omernick <tomernick@apple.com>
-
- Reviewed by eseidel & darin.
-
- Changed some of the run measurement methods to C functions
- to avoid overhead associated with objc_msgSend().
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer floatWidthForRun:style:widths:]):
- Updated to call new run measurement functions instead
- of calling ObjC methods.
- (-[WebTextRenderer CG_drawRun:style:geometry:]): ditto
- (floatWidthForRun): ditto
- (CG_floatWidthForRun): ditto
- (ATSU_floatWidthForRun): ditto
- (widthForNextCharacter): ditto
-
-2005-10-14 Vicki Murley <vicki@apple.com>
-
- Changes by Mitz Pettel, reviewed by Maciej.
-
- Fix http://bugs.webkit.org/show_bug.cgi?id=5029 (Assertion failure in -[NSPasteboard(WebExtras)
- _web_writeImage:URL:title:archive:types:] when trying to drag an image from a site with no favicon)
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): Prefer the main resource if it is an image
-
-2005-10-12 Vicki Murley <vicki@apple.com>
-
- Reviewed by Darin.
-
- - fix <rdar://problem/4043643> iframe swallows events for overlapping elements (3449)
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView hitTest:]):
- (-[WebHTMLView _updateMouseoverWithEvent:]): eliminate _hitViewForEvent hackery and self
- dependency from this function
-
-2005-10-12 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Define WebNSInt and WebNSUInt to wrap around NSInt on Leopard and still build on Tiger
- Once building on Tiger isn't needed we will drop WebNSInt and use NSInt
-
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
- * WebView.subproj/WebLoader.m:
- (-[NSURLProtocol didReceiveData:lengthReceived:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebUIDelegate.h:
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
- (-[WebView spellCheckerDocumentTag]):
- * WebView.subproj/WebViewInternal.h:
- * WebView.subproj/WebViewPrivate.h:
-
-2005-10-12 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebPolicyDelegate.h: Fix a comment.
-
-2005-10-11 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Test for 10.4 because of <rdar://problem/4243463>
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView conversationIdentifier]):
-
-2005-10-11 Adele Peterson <adele@apple.com>
-
- Rolling out fix for http://bugs.webkit.org/show_bug.cgi?id=5195
- since it caused:
-
- REGRESSION text areas draw focus ring around each glyph, no caret in text fields
- http://bugs.webkit.org/show_bug.cgi?id=5335
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]):
- (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
-
-2005-10-09 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=5195
- Would like API to flush rendering of pending DOM changes
-
- This was actually a Tiger regression. When AppKit added a new code path for rendering
- NSView, our special hack for doing layout when we draw didn't work any more. So we
- were able to fix this without adding any API.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _recursiveDisplayRectIgnoringOpacity:inContext:topView:]): Added.
- Does the same thing that other _recursiveDisplay methods do.
-
-2005-10-08 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Maciej.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=5187
- UTF-8 in long text files breaks at some point
-
- * WebView.subproj/WebTextRepresentation.m:
- (-[WebTextRepresentation finishedLoadingWithDataSource:]):
- Call flushReceivedData on the WebTextView so it can decode any final bytes.
-
- * WebView.subproj/WebTextView.h: Added WebCoreTextDecoder field and flushReceivedData method.
- * WebView.subproj/WebTextView.m:
- (-[WebTextView dealloc]): Release WebCoreTextDecoder.
- (-[WebTextView appendReceivedData:fromDataSource:]): Create a WebCoreTextDecoder to decode
- the text; use the textEncodingName from the data source. Use it to decode instead of the
- data source's stringWithData.
- (-[WebTextView flushReceivedData]): Call flush on the decoder and append any last bytes to
- the text view.
-
-2005-10-07 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- WebKit support for allowing clients to know which frame originated a particular JavaScript alert/dialog.
-
- * WebView.subproj/WebUIDelegatePrivate.h:
- New optional delegate methods for the three JavaScript alert/dialogs. These are just like the existing
- ones in WebUIDelegate.h except that each adds a parameter specifying the frame that the JavaScript was
- running in. Eventually we'll deprecate the old three methods in favor of these in the public API.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
- Call version of the delegate method that has the frame parameter if the delegate supports it.
- (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
- ditto
- (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
- ditto
-
- * WebView.subproj/WebDefaultUIDelegate.m:
- (-[WebDefaultUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
- Now implements the new version of the delegate method that includes the frame parameter. (Still
- doesn't do anything though.)
- (-[WebDefaultUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:]):
- Now implements the new version of the delegate method that includes the frame parameter. (Still
- doesn't do anything though.)
- (-[WebDefaultUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]):
- Now implements the new version of the delegate method that includes the frame parameter. Doesn't
- actually use the frame parameter here yet though.
-
-2005-10-06 Darin Adler <darin@apple.com>
-
- - fixed compiling on Deployment
-
- * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:]):
- Put initialFont inside !LOG_DISABLED.
-
-2005-10-06 Darin Adler <darin@apple.com>
-
- Reviewed by Eric.
-
- - tweaked formatting
-
- * WebCoreSupport.subproj/WebTextRenderer.m: Changed function names to remove underscores;
- fixed formatting to match our coding guidelines, other related tweaks.
-
-2005-10-06 Darin Adler <darin@apple.com>
-
- Reviewed by Eric.
-
- - fixed regression in drawing of text in non-flipped contexts from my last check-in
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (drawGlyphs): Only flip the matrix if the NSGraphicsContext is flipped.
- (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use -[NSGraphicsContext isFlipped]
- instead of [[NSView focusView] isFlipped].
-
-2005-10-06 Darin Adler <darin@apple.com>
-
- Reviewed by Hyatt.
-
- - fixed <rdar://problem/3217793> Monaco bold comes out as Helvetica bold, very bad if you choose Monaco as your fixed-width font
- - fixed <rdar://problem/3256269> CSS1: bold/italic font styles not programmatically created if font doesn't include them (3231)
- also <http://bugs.webkit.org/show_bug.cgi?id=3231>
-
- * WebCoreSupport.subproj/WebTextRenderer.h: Removed public declarations of private structures that are not
- used in the header. Removed the separate 16-bit character map; the difference in code size is only a few
- bytes per page and there's no measurable performance difference by always using the 32-bit character version.
- Removed substitute font width maps altogether, since we now use the width map in the substitute font's renderer.
- Also removed a few more now-unused fields and methods. Changed initWithFont to take WebCoreFont. Changed
- the setAlwaysUseATSU: method to remove the underscore prefix.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (getUncachedWidth): Get font from WebCoreFont directly instead of taking a parameter, since we now use only
- one NSFont per WebTextRenderer.
- (widthFromMap): Removed NSFont parameter for same reason as above; simplified.
- (widthForGlyph): Ditto.
- (overrideLayoutOperation): Updated for change to WebCoreFont.
- (-[WebTextRenderer initWithFont:]): Changed to use WebCoreFont. Removed code to deal with substitute font maps.
- Changed lineGap computation to use floats instead of doubles. Added code to compute a synthetic bold offset.
- Currently this is the font size divided by 24 and then rounded up to an integer.
- (-[WebTextRenderer dealloc]): Updated for change to WebCoreFont and other related changes.
- (-[WebTextRenderer finalize]): Ditto.
- (-[WebTextRenderer xHeight]): Ditto.
- (-[WebTextRenderer drawRun:style:geometry:]): Remove small caps case here; no longer needed. Also updated as above.
- (-[WebTextRenderer floatWidthForRun:style:widths:]): Ditto.
- (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto.
- (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto.
- (+[WebTextRenderer setAlwaysUseATSU:]): Renamed to remove underscore prefix.
- (-[WebTextRenderer smallCapsRenderer]): Ditto. Changed to create a renderer for the smaller sized font.
- (-[WebTextRenderer _substituteFontForString:families:]): Reorganized this to be more readable and to call
- the new rendererForAlternateFont method.
- (-[WebTextRenderer rendererForAlternateFont:]): Added. Used to select an alternate font taking into account
- bold and italic synthesis.
- (-[WebTextRenderer substituteRendererForCharacters:length:families:]): Renamed to remove underscore prefix.
- Updated to use rendererForAlternateFont.
- (-[WebTextRenderer _computeWidthForSpace]): Updated for name changes and to remove unnecessary parameters.
- (-[WebTextRenderer setUpFont]): Renamed to remove underscore prefix. Added code to get printer or screen
- font as specified by WebCoreFont so calers don't need to do this.
- (drawGlyphs): Renamed to remove underscore prefix. Added code for synthetic oblique (14 degree slant), and
- synthetic bold (add offset and draw text a second time).
- (-[WebTextRenderer _CG_drawRun:style:geometry:]): Keep an array of substitute renderers instead of fonts.
- Changed around the loop to reverse the run to be a single loop instead of 3.
- (-[WebTextRenderer floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]):
- Renamed to remove the underscore prefix.
- (-[WebTextRenderer _CG_floatWidthForRun:style:widths:substituteRenderers:glyphs:startPosition:numGlyphs:]):
- Changed to use subsitute renderers rather than fonts.
- (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:substituteRenderer:]): Renamed to remove underscore
- prefix and changed to use a substitute renderer rather than a substitute NSFont.
- (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Updated to work with all characters, both ones
- that fit into 16-bit and ones that don't.
- (-[WebTextRenderer _extendGlyphToWidthMapToInclude:]): Removed NSFont parameter and simplified. This fixes
- a bug where numberOfGlyphs was accidentally used from the main font instead of "subFont".
- (glyphForCharacter): Changed to use subsitute renderers instead of substitute fonts.
- (widthForNextCharacter): Ditto. Also removed small caps code no longer needed here and replaced it with
- simpler small caps code that no longer assumes glyphs match.
- (shouldUseATSU): Changed the code to check ranges in order to slightly reduce the number of cases and
- to create earlier exit for lower character codes.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.h: Added caches for synthesized font and oblique
- variants so we can still use the NSFont as the dictionary key. Removed coalesceTextDrawing methods.
- Changed methods to use WebCoreFont as the parameters and results instead of NSFont.
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory clearCaches]): Clear all 8 caches.
- (-[WebTextRendererFactory isFontFixedPitch:]): Changed code slightly so there's only one call to
- the CFDictionarySetValue function.
- (-[WebTextRendererFactory init]): Create all 8 caches.
- (-[WebTextRendererFactory dealloc]): Release all 8 caches.
- (-[WebTextRendererFactory rendererWithFont:]): Select the appropriate cache based on 3 booleans:
- synthetic bold, synthetic oblique, and printer. Use WebCoreFont instead of NSFont.
- (-[WebTextRendererFactory fontWithFamilies:traits:size:]): Set the synthetic bold and oblique flags
- when returning a WebCoreFont based on requested traits that are not present in the NSFont.
- (acceptableChoice): Ignore the synthesizable traits when deciding if a chosen font is acceptable.
- (betterChoice): Rather than assuming that every font has all the desired traits, implement a rule
- that says a font with an unwanted trait loses out over a font that does not have an unwanted trait.
- This lets us chose a bold font over a non-bold font that could use synthesized bold but treat both
- as candidates.
-
- * WebCoreSupport.subproj/WebGlyphBuffer.h: Removed.
- * WebCoreSupport.subproj/WebGlyphBuffer.m: Removed.
- * WebKit.xcodeproj/project.pbxproj: Removed WebGlyphBuffer source files.
-
- * Misc.subproj/WebKitNSStringExtras.m:
- (-[NSString _web_drawAtPoint:font:textColor:]): Update to use WebCoreFont.
- (-[NSString _web_widthWithFont:]): Ditto.
- * Misc.subproj/WebStringTruncator.m:
- (truncateString): Ditto.
- (+[WebStringTruncator widthOfString:font:]): Ditto.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]): Removed text drawing coalesce method calls.
- * WebView.subproj/WebTextView.m: (-[WebTextView setFixedWidthFont]): Updated to use cachedFontFromFamily
- method, which we still have, rather than fontWithFamilies method which we don't (since it now uses WebCoreFont).
- * WebView.subproj/WebView.m: (+[WebView _setAlwaysUseATSU:]): Updated for name change to underlying method.
-
-2005-10-05 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- <rdar://problem/4158439> Safari appears to hang when sending synchronous XMLHttpRequest that gets no server response
-
- No testcase - not testable w/o network.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Set a timeout of 10.
-
-2005-10-04 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin
-
- Fix for <rdar://problem/4285538> TOT fix for Denver Regression: Drawing glitch in the transparent dialog's cancel/ok
- button in the widget manager.
-
- * WebCoreSupport.subproj/WebImageData.m: Calls WKSetPatternPhaseInUserSpace() which is a new function that lies in
- WebKitSystemInterface that and takes care of pattern-setting. Prevents
- regression that occurred with image tiling in transparency layers.
- (-[WebImageData tileInRect:fromPoint:context:]):
-
-2005-10-03 Tim Omernick <tomernick@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4281095> Denver regression: Seed: Safari HTML 4.01 <object ...> tag problem
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge determineObjectFromMIMEType:URL:]):
- If no view class is registered to handle the MIME type, check to see if there is a plugin registered which can handle it.
- This check is required because the Java plugin does not register an NSView class, so that Java files are downloaded when
- not embedded.
-
- Prior to this fix, -determineObjectFromMIMEType:URL: would always return ObjectElementNone for Java applets (MIME type
- "application/x-java-applet"), which would cause Java applets embedded in <OBJECT> elements to not be loaded.
-
- This broke on 05-03-2005, when we changed how we handle fallback content for <OBJECT> elements so that we could pass the
- Acid2 test.
-
-2005-09-28 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by geoff
-
- Fixed <rdar://problem/4276596> multipart/x-mixed-replace: saved inline images appear only partially loaded
- Fixed <rdar://problem/4265439> progress bar should look complete even if there is some more multipart content being loaded
-
- * WebCoreSupport.subproj/WebSubresourceLoader.h:
- * WebCoreSupport.subproj/WebSubresourceLoader.m:
- (-[WebSubresourceLoader didReceiveResponse:]):
- Now calls signalFinish and saveResource.
-
- (-[WebSubresourceLoader signalFinish]):
- Added. Does the part of didFinishLoading that signals to the WebDataSource and load delegates that the load is finished.
-
- (-[WebSubresourceLoader didFinishLoading]):
- * WebView.subproj/WebLoader.h:
- * WebView.subproj/WebLoader.m:
- (-[NSURLProtocol signalFinish]):
- Similar to above
-
- (-[NSURLProtocol didFinishLoading]):
-
-2005-09-28 Adele Peterson <adele@apple.com>
-
- Reviewed by John.
-
- Moved _downloadWithLoadingConnection and _downloadWithRequestfrom WebDownload.h to WebDownloadInternal.h
-
- * Misc.subproj/WebDownload.h:
- * Misc.subproj/WebDownloadInternal.h: Added.
- * WebKit.xcodeproj/project.pbxproj: Added WebDownloadInternal.h
- * WebView.subproj/WebMainResourceLoader.m: Added import of WebDownloadInternal.h
- * WebView.subproj/WebView.m: ditto.
-
-2005-09-27 Adele Peterson <adele@apple.com>
-
- Reviewed by Maciej.
-
- Changed ints to size_t where appropriate.
-
- * Misc.subproj/WebCoreStatistics.h:
- * Misc.subproj/WebCoreStatistics.m:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics javaScriptInterpretersCount]):
- (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences _pageCacheSize]):
- (-[WebPreferences _objectCacheSize]):
- * WebView.subproj/WebPreferencesPrivate.h:
-
-2005-09-26 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - fixed <rdar://problem/4118126> Drag-and-drop text with text containing a colon causes a crash
-
- There were two problems here. One is that dragging and dropping text within the same WebTextView
- should have done nothing rather than try to navigate. The other is that navigating while processing
- the end of the drag would dealloc the drag-initiating WebTextView, leading to a crash. Fixing the
- former doesn't fix all cases of the latter, since dropping onto (e.g.) Safari's location field
- could cause a navigation during the drag. So these two issues needed to be fixed separately.
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView dragSelectionWithEvent:offset:slideBack:]):
- Before drag, retain self, and tell WebView that the drag is self-initiated. After drag, do the
- opposite. This is the same approach as WebImageView, but it can all be contained in one method
- here due to NSTextView's dragging API, which wraps up some of the drag-machinery guts.
-
-2005-09-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed and landed by Darin.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=5100
- -[WebTextRenderer _ATSU_drawRun:...] does not check view flippedness
-
- * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
- Set up a the CGContext with a matrix that flips the text if the view is not flipped.
-
-2005-09-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed, tweaked a tiny bit, and landed by Darin.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=4940
- CG and ATSUI give different width to the same text
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (overrideLayoutOperation): Added. ATSU callback to do the rounding.
- (-[WebTextRenderer _trapezoidForRun:style:atPoint:]): Use the new createATSULayoutParameters
- function instead of calling _createATSUTextLayoutForRun.
- (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Use createATSULayoutParameters,
- and also compute the width in a way that works for any direction combination.
- (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use createATSULayoutParameters.
- (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
- Use createATSULayoutParameters. Also put in code that seems to work around an ATSU bug.
- (createATSULayoutParameters): Added.
- (disposeATSULayoutParameters): Added.
-
-2005-09-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Dave.
- Landed by Darin.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=4862
- Incorrect layout of bidi overrides
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (addDirectionalOverride): Renamed, and made it work in both directions.
- (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Updated to call addDirectionalOverride.
- (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): More of the same.
- (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]): Ditto.
-
-2005-09-24 Alexey Proskuryakov <ap@nypop.com>
-
- Tweaked, reviewed, and landed by Darin.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=4394
- Mouse clicks ignored in inline input areas
-
- * WebView.subproj/WebHTMLView.m:
- (-[NSArray mouseDown:]): Removed misleading comment and added code to send mouse event to input manager.
- (-[NSArray mouseDragged:]): Added code to send mouse event to input manager.
- (-[NSArray mouseUp:]): Ditto.
- (-[WebHTMLView _discardMarkedText]): Umnmark text before calling markedTextAbandoned: to match behavior
- of NSTextView (not sure why we did things in the opposite order before).
- (-[WebHTMLView _updateSelectionForInputManager]): Ditto.
-
- - unrelated tweak
-
- * WebView.subproj/WebView.m:
- (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
- Fix typecast that used ... for no good reason.
-
-2005-09-23 Duncan Wilcox <duncan@mclink.it>
-
- Reviewed and landed by Darin.
-
- - name changes to prepare for fixing bugzilla bug 4582
-
- * WebView.subproj/WebHTMLView.m: Changed names to match WebCore changes.
-
-2005-09-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - fixed <rdar://problem/3228554> We should enforce one selection per WebView instead of per window
-
- Note that this checkin does not mean that we will always maintain a selection in a WebView when
- the focus is elsewhere. Instead it means that there should never be more than one frame containing
- a selection in a WebView, and that it's possible to maintain a selection in a WebView when the focus
- is elsewhere.
-
- * WebView.subproj/WebView.m:
- (-[WebView searchFor:direction:caseSensitive:wrap:]):
- removed unnecessary and somewhat confusing comment
- (-[WebView selectedFrame]):
- now calls the extracted method -_focusedFrame
- (-[WebView _focusedFrame]):
- new method, extracted from -selectedFrame; returns frame containing first responder, if any
- (-[WebView _findSelectedFrameStartingFromFrame:skippingFrame:]):
- added skippingFrame parameter, which is never returned
- (-[WebView _findSelectedFrameSkippingFrame:]):
- new method, starts from main frame and passes a frame to skip
- (-[WebView _findSelectedFrame]):
- now calls _findSelectedFrameSkippingFrame:nil
- (-[WebView _selectedFrameDidChange]):
- new method, called by WebDocumentText protocol implementors; calls -deselectAll on frame that
- formerly displayed a selection, if any
-
- * WebView.subproj/WebViewInternal.h:
- added category WebDocumentSelectionExtras, with the one method _selectedFrameDidChange
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView becomeFirstResponder]):
- call -[WebView _selectedFrameDidChange]
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView becomeFirstResponder]):
- call -[WebView _selectedFrameDidChange]
- (-[WebPDFView resignFirstResponder]):
- deselect all unless webview says not to; note that this doesn't work in all cases due to:
- <rdar://problem/4265966> PDFs continue to show a (secondary) selection when the focus moves elsewhere
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView becomeFirstResponder]):
- call -[WebView _selectedFrameDidChange]
- (-[WebTextView resignFirstResponder]):
- deselect all unless webview says not to
-
-2005-09-20 Eric Seidel <eseidel@apple.com>
-
- Reviewed by mjs.
-
- Moved MIME type support from a hard coded list
- (in two places) to single lists in the corresponding
- *Representation classes. Also moved the list of types
- supported by WebCore (WebHTMLRepresentation) into WebCore.
- http://bugs.webkit.org/show_bug.cgi?id=5037
-
- * WebView.subproj/WebDataSource.m:
- (addTypesFromClass): new inline function
- (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- * WebView.subproj/WebFrameView.m:
- (addTypesFromClass): new inline function
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (+[WebHTMLRepresentation supportedMIMETypes]):
- * WebView.subproj/WebHTMLView.m:
- (+[WebHTMLView supportedMIMETypes]):
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebImageRepresentation.h:
- * WebView.subproj/WebImageRepresentation.m:
- (+[WebImageRepresentation supportedMIMETypes]):
- * WebView.subproj/WebImageView.h:
- * WebView.subproj/WebImageView.m:
- (+[WebImageView supportedMIMETypes]):
- * WebView.subproj/WebPDFRepresentation.h:
- * WebView.subproj/WebPDFRepresentation.m:
- (+[WebPDFRepresentation supportedMIMETypes]):
- * WebView.subproj/WebPDFView.h:
- * WebView.subproj/WebPDFView.m:
- (+[WebPDFView supportedMIMETypes]):
- * WebView.subproj/WebTextRepresentation.h:
- * WebView.subproj/WebTextRepresentation.m:
- (+[WebTextRepresentation supportedMIMETypes]):
- * WebView.subproj/WebTextView.h:
- * WebView.subproj/WebTextView.m:
- (+[WebTextView supportedMIMETypes]):
- * WebView.subproj/WebView.m:
- (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
- (+[WebView MIMETypesShownAsHTML]): updated to match style
- (+[WebView setMIMETypesShownAsHTML:]): ditto
-
-2005-09-16 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/WebImageView.m:
- (-[WebImageView copy:]):
- fixed build-breaking silly error in previous checkin
-
-2005-09-16 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick
-
- - fixed <rdar://problem/4256557> CrashTracer: 238 crashes in Safari at
- com.apple.AppKit: -[NSPasteboard setData:forType:] + 188
-
- * WebView.subproj/WebImageView.m:
- (-[WebImageView copy:]):
- declare types to pasteboard before starting to set their data
- (-[WebImageView writeSelectionToPasteboard:types:]):
- ditto
-
-2005-09-16 Adele Peterson <adele@apple.com>
-
- Rolling out the fix for http://bugs.webkit.org/show_bug.cgi?id=4924
- QPainter should use CGContext as much as possible rather than NSGraphicsContext
- since it caused a performance regression.
-
-2005-09-16 Adele Peterson <adele@apple.com>
-
- Change by Darin, reviewed by me and Maciej.
-
- Fixes http://bugs.webkit.org/show_bug.cgi?id=4547
- use int instead of long for 32-bit (to prepare for LP64 compiling)
-
- * Plugins.subproj/npapi.m: changed types to match those defined in npapi.h
- (NPN_MemAlloc):
- (NPN_MemFlush):
- (NPN_PostURLNotify):
- (NPN_PostURL):
- (NPN_Write):
-
-2005-09-14 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by john
-
- Fixes <rdar://problem/4237479> REGRESSION (Cambridge-Denver): old QuickTime movie continues to play sound after reload
- We were adding the movie to the document twice after the changes were added to handle fallback content.
- There are some errors for which we should not render fall back content
-
- * Misc.subproj/WebKitErrorsPrivate.h:
- Introduced WebKitErrorPlugInWillHandleLoad to represent the cancel we do
- to prevent loading plugin content twice
-
- * Plugins.subproj/WebPluginDocumentView.m:
- (-[WebPluginDocumentView dataSourceUpdated:]): Ditto
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _receivedMainResourceError:complete:]):
- Don't handleFallbackContent on WebKitErrorPlugInWillHandleLoad or on a user cancel
-
-2005-09-14 Timothy Hatcher <thatcher@apple.com>
-
- Reviewed by Eric.
-
- * WebKit.xcodeproj/project.pbxproj:
- made WebDashboardRegion.h a private header
-
-2005-09-14 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=4924
- QPainter should use CGContext as much as possible rather than NSGraphicsContext
-
- * WebCoreSupport.subproj/WebImageRendererFactory.m: Remove setCGCompositeOperationFromString
- method, no longer needed.
-
-2005-09-13 Tim Omernick <tomernick@apple.com>
-
- Reviewed by Justin Garcia, Darin Adler.
-
- - <rdar://problem/3163393> Safari does not support Windowless mode in Flash
-
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- Added 'isTransparent' instance variable.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
- When updating a plugin in "windowless" (transparent) mode, clip drawing to the dirty
- region of the opaque ancestor. This means that a partially-transparent plugin, which
- by definition does not clear its port on redraw, will not overdraw the valid parts
- of its port.
- (-[WebBaseNetscapePluginView sendEvent:]):
- Disabled the "green debug background" for transparent plugins -- since they are not
- expected to cover their entire port every redraw, this debug code makes no sense.
- (-[WebBaseNetscapePluginView setVariable:value:]):
- Implemented -setVariable:value:, which is called from NPN_SetValue() (previously
- unimplemented).
- Right now we only handle NPPVpluginTransparentBool; if we choose to handle the other
- plugin variables, then we may do so here.
- * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
- Added SPI for -[WebBaseNetscapePluginView setVariable:value].
- * Plugins.subproj/npapi.m:
- (NPN_SetValue):
- Implemented this function so that plugins may set state (such as window mode).
-
-2005-09-11 Mark Rowe <opendarwin.org@bdash.net.nz>
-
- Reviewed, tweaked, and landed by Darin.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=4286
- .Mac prefpane crashes when Safari using CVS WebKit is running
-
- * WebView.subproj/WebView.m: (-[WebView initWithFrame:frameName:groupName:]):
- If ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH, and WEBKIT_UNSET_DYLD_FRAMEWORK_PATH
- is set in the environment, then unset DYLD_FRAMEWORK_PATH.
-
- * WebKit.xcodeproj/project.pbxproj: Set ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH
- in configurations other than Default -- we don't want that code in production
- builds, but we want it in builds we do ourselves and nightly builds.
-
-2005-09-10 Ingmar J Stein <IngmarStein@gmail.com>
-
- Reviewed and landed by Darin.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
- Removed unused local variable.
-
-2005-09-09 Tim Omernick <tomernick@apple.com>
-
- Reviewed by John Sullivan.
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList removeItem:]):
- SPI to remove a given WebHistoryItem.
-
- * History.subproj/WebBackForwardListPrivate.h: Added.
-
- * WebKit.xcodeproj/project.pbxproj:
- Added WebBackForwardListPrivate.h as a private header.
-
-2005-09-09 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- fixed http://bugs.webkit.org/show_bug.cgi?id=4070:
- Find in plain text won't find only occurrence if it overlaps selection
-
- * Misc.subproj/WebSearchableTextView.m:
- (-[NSString findString:selectedRange:options:wrap:]):
- in the wrap case, extend the search range far enough that text overlapping the
- selection (including the exact-match case) will be considered.
-
-2005-09-08 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by darin
-
- WebKit portion of multipart/x-mixed-replace support
-
- * WebCoreSupport.subproj/WebSubresourceLoader.m:
- (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
- Subresource case: Check for Foundation level multipart support
- (-[WebSubresourceLoader didReceiveResponse:]):
- Send previously received data in a multipart section to the coreLoader
- (-[WebSubresourceLoader didReceiveData:lengthReceived:]):
- Don't send data to the coreLoader until it has been completely received
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _startLoading:]):
- Main resource case: check for Foundation level multipart support
- (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- Some server apps send data right after declaring content multipart/x-mixed-replace, and expect it to be treated as html
- (-[WebDataSource _commitIfReady:]):
- Don't ask the WebFrame to close its old WebDataSource when loading a multipart section, because we're going to reuse it
- (-[WebDataSource _receivedData:]):
- For non text/html multipart sections, we commit the data all at once, at the end
- (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
- Added heuristic for when to commit the load incrementally
- (-[WebDataSource _commitLoadWithData:]):
- Moved from _receivedData into its own function
- (-[WebDataSource _revertToProvisionalState]):
- (-[WebDataSource _setupForReplaceByMIMEType:]):
- Commits the data received for the previous multipart section if it wasn't loaded progresively, clears out the WebFrame and WebDatasource for the next multipart section
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]):
- The very first multipart section is treated as a normal load, so that the back/forward list and history are updated.
- All later sections have a new load type, WebFrameLoadTypeReplace, and are treated like reloads
- (-[WebFrame _checkLoadCompleteForThisFrame]): Ditto
- (-[WebFrame _itemForRestoringDocState]): Ditto
- (-[WebFrame _setupForReplace]):
- Clears out the WebFrame for the next multipart section
- * WebView.subproj/WebFrameInternal.h:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFrameView.m:
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]): See above
- * WebView.subproj/WebLoader.h:
- * WebView.subproj/WebLoader.m:
- (-[NSURLProtocol clearResourceData]):
- (-[NSURLProtocol setSupportsMultipartContent:]):
- * WebView.subproj/WebMainResourceLoader.m: Straightforward
- (-[WebMainResourceLoader didReceiveResponse:]):
-
-2005-09-06 Geoffrey Garen <ggaren@apple.com>
-
- - fixed build bustage from last checkin.
-
- Reviewed by haytt.
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList pageCacheSize]): updated debug printf since we no
- longer have a variable called 'multiplier'
-
-2005-09-06 David Hyatt <hyatt@apple.com>
-
- Reduce the # of cached pages for a back/forward list. The old cache would cache the
- following per tab:
- > 1gb memory = 16 pages per tab/window
- > 512mb memory = 8 pages per tab/window
- <= 512mb memory = 4 pages per tab/window
-
- This consumes far too much memory and is way too aggressive. The new cache sizes are
- as follows:
- >= 1gb memory = 3 pages per tab/window
- >= 512mb memory = 2 pages per tab/window
- < 512mb memory = 1 page per tab/window
-
- Reviewed by john
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList pageCacheSize]):
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]):
-
-2005-09-05 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=4846
- REGRESSION: Carbon WebKit applications don't work at all
-
- * Carbon.subproj/HIWebView.m: Remove lots of unneeded declarations of private stuff.
- (Draw): Call WKNSWindowOverrideCGContext and WKNSWindowRestoreCGContext rather
- than calling a non-existent setCGContext: method on the context.
-
-2005-09-05 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - change related to <rdar://problem/4211999> Safari quits when click-drag-hold an image
- that is set to automatically change.
-
- * WebView.subproj/WebHTMLView.m:
- (-[NSArray namesOfPromisedFilesDroppedAtDestination:]):
- handle nil wrapper with ERROR and early return rather than ASSERT, since we now know
- of a way to reproduce this (written up as 4244861)
-
-2005-09-05 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=4357
- crash related to animated GIFs, reproducible in non-Safari WebKit application
-
- * WebCoreSupport.subproj/WebImageData.m:
- (removeAnimatingRendererFromView): Added.
- (removeFromDictionary): Added.
- (-[WebImageData removeAnimatingRenderer:]): Rewrote using CF functions rather than
- NS functions so that we never retain the views, since this can be called from
- a view's dealloc method.
- (setNeedsDisplayInAnimationRect): Added.
- (-[WebImageData _nextFrame:]): Rewrote as above, even though in this case it can't
- be called from the dealloc method.
-
-2005-08-26 David Hyatt <hyatt@apple.com>
-
- Add support for a new scaling and tiling function so that border images from CSS3
- can be implemented.
-
- Reviewed by darin
-
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
- (-[WebImageRenderer setAnimationRect:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView updateFocusState]):
-
-2005-08-26 Adele Peterson <adele@apple.com>
-
- Reviewed by Beth.
-
- * WebKit.xcodeproj/project.pbxproj: Changed WebKit.Framework to WebKit.framework in UMBRELLA_FRAMEWORK.
-
-2005-08-25 David Harrison <harrison@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/4227734> Denver Regression: WebCore selection bug on lines starting with tab (clownfish)
-
- The text is in a DIV styled with "white-space:pre", and uses newline characters as linebreaks.
- WebKit's text renderer is erroneously considering the width of the lines leading up to the tab
- character when calculating the width of the tab.
- Easily fixed by having widthForNextCharacter ignore the widthToStart when working with tabWidth.
- Any prior text that fits in the same line is already factored into the xpos, which is paid attention to.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (widthForNextCharacter):
- Ignore the widthToStart when working with tabWidth.
-
-2005-08-23 John Sullivan <sullivan@apple.com>
-
- Reviewed by Beth Dakin.
-
- - fixed <rdar://problem/4229167> 14 leaks of WebFileButton and associated objects,
- seen after running webkit layout tests
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge fileButtonWithDelegate:]):
- this method was returning a retained object; I added an autorelease
-
-2005-08-23 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2005-08-23 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed and landed by Darin.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=4604
- LEAK -[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:] leaks an ATSUTextLayout
- <rdar://problem/4228787> ATSUTextLayout leak in _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs: (4604)
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
- Added missing call to ATSUDisposeTextLayout.
-
-2005-08-22 Geoffrey Garen <ggaren@apple.com>
-
- - fixed <rdar://problem/4227011> Debugger SPI should be removed from WebView.h API
-
- Reviewed by mjs and adele.
-
- Cut and pasted debugging SPI from WebView to WebView(WebPendingPublic)
-
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView setScriptDebugDelegate:]):
- (-[WebView scriptDebugDelegate]):
- * WebView.subproj/WebViewPrivate.h:
-
-2005-08-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- - WebKit part of fix for
- <rdar://problem/3977607> ER: Safari should check framework versions at launch
-
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebView.m:
- (+[WebView _minimumRequiredSafariBuildNumber]):
- new method, returns the minimum build number of Safari that this WebKit is
- willing to work with. (The Safari version has to be new enough to check
- for this value in order for this to have any effect.)
-
-2005-08-19 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by rjw
-
- The boolean justOpenedForTargetedLink is never used to determine a course of action.
- It was added long ago for findOrCreateFramedNamed, which has since been removed.
-
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _loadDataSource:withLoadType:formState:]):
- * WebView.subproj/WebFramePrivate.h:
-
-2005-08-19 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- * English.lproj/Localizable.strings: Updated to include a new localizable string
- that was added a long while back. Apprently no one has run into the code using
- this string, because if they had, they'd have seen an assert.
- * English.lproj/StringsNotToBeLocalized.txt: Updated for various recent changes.
-
-2005-08-17 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fix mysterious CGImageSource error message and possibly crash on layout tests.
-
- * WebView.subproj/WebMainResourceLoader.m:
- (-[WebMainResourceLoader receivedError:]): Retain the data source since it may
- prematurely self-destruct otherwise.
- (-[WebMainResourceLoader cancelWithError:]): ditto
-
-2005-08-17 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by rjw
-
- Addresses <rdar://problem/4192534> new frame load delegate SPI needed for Dashboard
- Added handledOnloadEvents delegate method (private for now)
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge handledOnloadEvents]):
- * WebView.subproj/WebDefaultFrameLoadDelegate.m:
- (-[WebDefaultFrameLoadDelegate webView:didHandleOnloadEventsForFrame:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _handledOnloadEvents]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebViewPrivate.h:
-
-2005-08-17 John Sullivan <sullivan@apple.com>
-
- Reviewed by Geoff Garen.
-
- - fixed <rdar://problem/4219817> Particular icon database + bookmarks + history crashes Safari on launch
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase releaseIconForURL:]):
- Move line that might remove last reference to iconURL to the end of the block.
-
-2005-08-16 Darin Adler <darin@apple.com>
-
- Reviewed by Trey.
-
- - improved fix for <rdar://problem/4211631>, tiled images tiled incorrectly when printing or
- drawing offscreen
-
- * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData tileInRect:fromPoint:context:]):
- Fix pattern phase origin to use the image tile origin, which is clearly right, rather than
- the image rectangle, which isn't right, but often is the same.
-
-2005-08-16 Adele Peterson <adele@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/4210320> URL tooltips should display a URL for elements that submit forms
-
- When the setShowsURLsInToolTips preference is set, we will display a tooltip containing
- the form's url when you mouse over a submit button.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _updateMouseoverWithEvent:]):
-
-2005-08-16 Darin Adler <darin@apple.com>
-
- Reviewed by Beth Dakin.
-
- - removed Panther-only code that was not being compiled and was
- simply "bit-rotting"
-
- * Misc.subproj/WebFileDatabase.m:
- (-[WebFileDatabase _createLRUList:]):
- (+[WebFileDatabase _syncLoop:]):
- * Misc.subproj/WebKitErrors.m:
- (registerErrors):
- * Misc.subproj/WebNSObjectExtras.h:
- (WebCFAutorelease):
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageDecodeItem.h:
- * WebCoreSupport.subproj/WebImageDecodeItem.m:
- * WebCoreSupport.subproj/WebImageDecoder.h:
- * WebCoreSupport.subproj/WebImageDecoder.m:
- (decoderThread):
- (startDecoderThread):
- * WebCoreSupport.subproj/WebKeyGeneration.cpp: Removed.
- * WebCoreSupport.subproj/WebKeyGeneration.h: Removed.
- * WebCoreSupport.subproj/WebKeyGenerator.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (getUncachedWidth):
- (_drawGlyphs):
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory getBytes:fromTextMarker:length:]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebKitPrefix.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _setPrimaryLoadComplete:]):
- (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- (-[WebDataSource isLoading]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (localizedMenuTitleFromAppKit):
- (-[WebDefaultUIDelegate menuItemWithTag:]):
- (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
- * WebView.subproj/WebFormDataStream.m:
- (formCanRead):
- (webSetHTTPBody):
- * WebView.subproj/WebFrameView.m:
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]):
- (-[WebHTMLView resourceForData:preferredFilename:]):
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
- (-[WebHTMLView validateUserInterfaceItem:]):
- (-[WebHTMLView _attributeStringFromDOMRange:]):
- (-[WebHTMLView toggleBaseWritingDirection:]):
- (-[WebHTMLView changeBaseWritingDirection:]):
- * WebView.subproj/WebPDFRepresentation.h:
- * WebView.subproj/WebPDFRepresentation.m:
- * WebView.subproj/WebPDFView.h:
- * WebView.subproj/WebPDFView.m:
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences _systemCFStringEncoding]):
- * WebView.subproj/WebView.m:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2005-08-16 Darin Adler <darin@apple.com>
-
- Reviewed by Beth Dakin.
-
- - removed some unnecessary code
-
- * WebCoreSupport.subproj/WebGraphicsBridge.h: Removed pattern-phase related field and methods.
- * WebCoreSupport.subproj/WebGraphicsBridge.m: Ditto.
-
- * WebCoreSupport.subproj/WebImageData.m: Tweaked formatting and removed some unused code
- inside #if and comments.
-
- * WebCoreSupport.subproj/WebImageRenderer.h: Removed USE_CGIMAGEREF (which is always true now).
- * WebCoreSupport.subproj/WebImageRenderer.m: Removed old non-CGImageRef code.
-
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory imageRendererWithMIMEType:]): Removed non-USE_CGIMAGEREF code.
- (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Ditto.
- (-[WebImageRendererFactory imageRendererWithSize:]): Ditto.
- (-[WebImageRendererFactory imageRendererWithName:]): Ditto.
-
-2005-08-15 Darin Adler <darin@apple.com>
-
- Reviewed by Beth.
-
- This is a fix for <rdar://problem/4211631> tiled images tiled incorrectly when printing or
- drawing offscreen.
-
- Cayenne found there was a problem when they were trying to take screen shots of widgets, and
- it was ultimately a problem with the way we tile images. Darin was able to fix the problem
- by replacing some confusing hacked code with CG calls.
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData tileInRect:fromPoint:context:]):
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebInternalImage tileInRect:fromPoint:context:]):
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
-
-2005-08-14 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - 1% speedup on HTML load speed iBench by avoiding icon database thrash
- http://bugs.webkit.org/show_bug.cgi?id=4423
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _setIconURL:forURL:]): Be more aggressive about returning early, because
- updating the database does some expensive data structure copies.
-
-
-2005-08-14 Duncan Wilcox <duncan@mclink.it>
-
- Reviewed and landed by Darin.
-
- WebKit part of fix for <http://bugs.webkit.org/show_bug.cgi?id=4011>:
- "Editing delegate selection methods not called when using mouse"
-
- Clicking on editable content would move the cursor or alter the selection without
- calling the appropriate editing delegate method
- (webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:). The
- core of the patch is in the KHTMLPart::handleMousePressEvent* methods, the rest
- is glue needed to drill through all the layers.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
- Bridge glue.
-
- * WebView.subproj/WebView.m:
- (-[WebView(WebViewEditingExtras) _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
- Final step in glue, calling editing delegate.
-
- * WebView.subproj/WebViewInternal.h:
- Added _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting: private method to WebViewEditingExtras
- category.
-
-2005-08-11 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Vicki
-
- This is a fix for <rdar://problem/4141161> REGRESSION (Tiger): WebKit does not display in composited Carbon windows.
- I basically did what Troy suggests in his bug comments, and everything seems to work fine!
-
- * Carbon.subproj/HIViewAdapter.m:
- (-[HIViewAdapter setNeedsDisplayInRect:]):
-
-2005-08-10 Adele Peterson <adele@apple.com>
-
- Bumping version to 420+
-
- * Info.plist:
-
-2005-08-08 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - fixed <rdar://problem/3996324> REGRESSION (1.2-2.0): scroll bars sometimes not updated properly (with >40 duplicate reports!)
- also http://bugs.webkit.org/show_bug.cgi?id=3416
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- Propagate dirty rects after doing a layout, since a layout can create new dirty rects.
-
-2005-08-05 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- * WebKit.xcodeproj/project.pbxproj: Unchecked 'statics are thread safe' option.
-
-2005-08-04 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by darin
-
- Fix for:
- <rdar://problem/3167884> Shockwave: 3D sprites rendered in OpenGL draw over the browser (3447)
- also as <http://bugs.webkit.org/show_bug.cgi?id=3447>
-
- The WindowRef created by -[NSWindow windowRef] has a QuickDraw GrafPort that covers
- the entire window frame (or structure region in Carbon parlance) rather then just the window content.
-
- We filed this as an NSWindow bug <rdar://problem/4201099>
-
- To work around, we modify the CGrafPort to only cover the content area before we let the plug-in draw.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView fixWindowPort]):
- (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
-
-2005-08-03 John Sullivan <sullivan@apple.com>
-
- Reviewed by Geoff Garen.
-
- - fixed <rdar://problem/3918675> Remove code to replace authentication dialog
- with a subclass when out of localization freeze
-
- * Panels.subproj/WebAuthenticationPanel.h:
- moved declaration of NonBlockingPanel here so it can be accessed by the nib
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel replacePanelWithSubclassHack]):
- removed this method
- (-[WebAuthenticationPanel loadNib]):
- stop calling the removed method
-
- * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/classes.nib:
- * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/info.nib:
- * Panels.subproj/English.lproj/WebAuthenticationPanel.nib/objects.nib:
- the panel in the nib now has custom class NonBlockingPanel
-
-2005-08-03 Beth Dakin <bdakin@apple.com>
-
- Reviewed by cblu
-
- Removing calls to WKCreateUncorrectedRGBColorSpace and
- WKCreateUncorrectedGrayColorSpace in WebKit to patch up
- TOT...Eric removed them from WebCore last night.
-
- * WebCoreSupport.subproj/WebImageData.m:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (WebCGColorSpaceCreateRGB):
- (WebCGColorSpaceCreateGray):
-
-2005-08-02 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- Preemptively moved some WebMenuItemTag values from SPI to API, in anticipation of
- approval from macosx-api-reviewers. Retitled one of them in response to API reviewers feedback:
- WebMenuItemSearchInGoogle -> WebMenuItemSearchWeb
-
- Note that as a side effect of this change, the actual numbers used for these WebMenuItemTags has
- changed from what it was in Tiger. This causes "Search in Spotlight", "Search in Google", and
- "Look Up in Dictionary" to not appear in Tiger Safari if running on tip of tree WebKit.
-
- * WebView.subproj/WebUIDelegatePrivate.h:
- removed WebMenuItemTagSearchInSpotlight, WebMenuItemTagSearchInGoogle, and WebMenuItemTagLookUpInDictionary
-
- * WebView.subproj/WebUIDelegate.h:
- added WebMenuItemTagSearchInSpotlight, WebMenuItemTagSearchWeb, and WebMenuItemTagLookUpInDictionary
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate menuItemWithTag:]):
- updated for rename
- (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
- ditto
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
- ditto
-
-2005-08-01 Geoffrey Garen <ggaren@apple.com>
-
- -fixed <rdar://problem/3572585> window.open fails if name param =
- the name of a window just closed in same function
-
- Reviewed by darin.
-
- Test cases added:
-
- * manual-tests/open-after-close.html: Added.
- * manual-tests/resources/open-after-close-popup.html: Added.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge closeWindowSoon]): We now remove a WebView from
- WebViewSets when the WebView is *scheduled* to close.
-
-2005-08-01 John Sullivan <sullivan@apple.com>
-
- * PublicHeaderChangesFromTiger.txt:
- added a comment about isTextField -> _isTextField
-
-2005-08-01 John Sullivan <sullivan@apple.com>
-
- Patch by Trey Matteson <trey@usa.net>
- Reviewed by me.
-
- Fixed http://bugs.webkit.org/show_bug.cgi?id=4255
- underlines still print too thick
-
- The real problem here is that we have code that scales a 0 width line to always
- be width=1.0 in device space. I'm leaving that in for the screen, but when printing
- a width of 0.5 looks good.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
-
-2005-08-01 Eric Seidel <eseidel@apple.com>
-
- Reviewed by darin.
-
- * WebCoreSupport.subproj/WebGraphicsBridge.m:
- removed create*ColorSpace methods, now using CG API directly.
- http://bugs.webkit.org/show_bug.cgi?id=4211
-
-2005-07-31 John Sullivan <sullivan@apple.com>
-
- Patch by Trey Matteson <trey@usa.net>
- Reviewed by me.
-
- Fixed http://bugs.webkit.org/show_bug.cgi?id=4014
- PDF files by default load with a poor choice of sizing
-
- For now the various PDF viewing settings are sticky, stored in 2 new defaults. Since
- there are a number of ways these settings are changed, I made a proxy for the PDFView
- through which all view changing messages are sent. The proxy adds the behavior of
- updating the defaults upon any change.
-
- * Misc.subproj/WebNSDictionaryExtras.h:
- * Misc.subproj/WebNSDictionaryExtras.m:
- (-[NSMutableDictionary _webkit_setFloat:forKey:]): New support method.
- * WebView.subproj/WebPDFView.h:
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView initWithFrame:]): Create proxy for PDFView.
- (-[WebPDFView dealloc]): Free proxy.
- (-[WebPDFView _menuItemsFromPDFKitForEvent:]): For relevant context menu items, set the
- target to the proxy instead of the PDFView.
- (-[WebPDFView _readPDFDefaults]): Init PDFView with settings from defaults.
- (-[WebPDFView layout]): Call _readPDFDefaults, once. This turned out to be the best hook.
- (-[WebPDFView _makeTextSmaller:]): Change PDFView via proxy
- (-[WebPDFView _makeTextLarger:]): Ditto
- (-[WebPDFView _makeTextStandardSize:]): Ditto
- (-[PDFPrefUpdatingProxy initWithView:]): trivial
- (-[PDFPrefUpdatingProxy forwardInvocation:]): Forward the msg, then update defaults
- (-[PDFPrefUpdatingProxy methodSignatureForSelector:]): Simple forwarding support.
- * WebView.subproj/WebPreferenceKeysPrivate.h:
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]): Set initial values for new PDF viewing defaults.
- (-[WebPreferences _integerValueForKey:]): Nuke stray comment.
- (-[WebPreferences _floatValueForKey:]): New simple support method.
- (-[WebPreferences _setFloatValue:forKey:]): Ditto.
- (-[WebPreferences PDFScaleFactor]): 4 accessors for new defaults
- (-[WebPreferences setPDFScaleFactor:]):
- (-[WebPreferences PDFDisplayMode]):
- (-[WebPreferences setPDFDisplayMode:]):
- * WebView.subproj/WebPreferencesPrivate.h:
-
-2005-08-01 Justin Garcia <justin.garcia@apple.com>
-
- Patch by Trey Matteson <trey@usa.net>
-
- Reviewed by Maciej.
-
- Fixed <http://bugs.webkit.org/show_bug.cgi?id=4226>
- link underlines print too thickly
-
- Reinstate the fix made by sullivan on 1/11/05. There was a merge
- error with an mjs fix on 1/13/05.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
-
-2005-07-30 Maciej Stachowiak <mjs@apple.com>
-
- Build fixes for previous change (missing includes)
-
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebScriptDebugDelegate.m:
-
-2005-07-29 Maciej Stachowiak <mjs@apple.com>
-
- Changes by Michael Kahl, reviewed by me.
-
- - fixed <rdar://problem/4164112> MASTER: JavaScript debugging support
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge windowObjectCleared]):
- * WebCoreSupport.subproj/WebSubresourceLoader.m:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView.subproj/WebDefaultScriptDebugDelegate.h: Added.
- * WebView.subproj/WebDefaultScriptDebugDelegate.m: Added.
- (+[WebDefaultScriptDebugDelegate sharedScriptDebugDelegate]):
- (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]):
- (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
- (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]):
- (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFramePrivate dealloc]):
- (-[WebFrame _attachScriptDebugger]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebScriptDebugDelegate.h: Added.
- * WebView.subproj/WebScriptDebugDelegate.m: Added.
- (-[WebScriptDebugger initWithWebFrame:]):
- (-[WebScriptDebugger dealloc]):
- (-[WebScriptDebugger globalObject]):
- (-[WebScriptDebugger newWrapperForFrame:]):
- (-[WebScriptDebugger parsedSource:fromURL:sourceId:]):
- (-[WebScriptDebugger enteredFrame:sourceId:line:]):
- (-[WebScriptDebugger hitStatement:sourceId:line:]):
- (-[WebScriptDebugger leavingFrame:sourceId:line:]):
- (-[WebScriptCallFrame _initWithFrame:]):
- (-[WebScriptCallFrame dealloc]):
- (-[WebScriptCallFrame setUserInfo:]):
- (-[WebScriptCallFrame userInfo]):
- (-[WebScriptCallFrame caller]):
- (-[WebScriptCallFrame scopeChain]):
- (-[WebScriptCallFrame functionName]):
- (-[WebScriptCallFrame exception]):
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView.subproj/WebScriptDebugDelegatePrivate.h: Added.
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebViewPrivate dealloc]):
- (-[WebView _scriptDebugDelegateForwarder]):
- (-[WebView setScriptDebugDelegate:]):
- (-[WebView scriptDebugDelegate]):
- * WebView.subproj/WebViewInternal.h:
- * WebView.subproj/WebViewPrivate.h:
-
-2005-07-26 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=4153
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _purgePageCache]): Find the oldest candidate for
- purging that is not a snapback item.
-
-2005-07-29 David Harrison <harrison@apple.com>
-
- Reviewed by Dave Hyatt (rendering) and Maciej (editing and performance improvements).
-
- Test cases added: Existing tab-related basic editing tests were updated. More complex tests are coming soon.
-
- <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
-
- Basic strategy is to put tabs into spans with white-space:pre style, and
- render them with tabs stops every 8th space, where the space width and
- the left margin are those of the enclosing block.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (isSpace):
- (isRoundingHackCharacter):
- (getUncachedWidth):
- (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
- (-[WebTextRenderer _computeWidthForSpace]):
- (_drawGlyphs):
- (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
- (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
- (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
- (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
- (glyphForCharacter):
- (initializeCharacterWidthIterator):
- (ceilCurrentWidth):
- (widthForNextCharacter):
-
-2005-07-29 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - WebKit part of <rdar://problem/4187404> Redo form SPI so that it doesn't rely on NSViews
-
- Much of 4187404 was addressed in earlier checkins. This checkin completes the task.
-
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- removed viewForElement:, which was the only remaining NSView-related SPI that Safari autofill was
- still using. I added viewForElement a week ago as a transitional measure, so removing it won't
- affect any other clients.
-
-2005-07-29 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris Blumenberg.
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _firstResponderIsFormControl]):
- renamed from _firstResponderIsControl for clarity. Explicitly rejects WebHTMLView, since
- it's now a control.
- (-[WebFrameView keyDown:]):
- updated for renamed method.
-
-2005-07-28 John Sullivan <sullivan@apple.com>
-
- Reviewed by Beth Dakin.
-
- - removed method -[WebHTMLRepresentation elementForView:], which was SPI used only for
- Safari autofill. Tip of tree Safari no longer includes any calls to this method. Also,
- Tiger Safari never gets around to actually calling it due to the other recent form-SPI-related
- changes, so removing this method doesn't break Tiger Safari running on tip of tree WebKit
- (though autofill continues to not work in that configuration).
-
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation elementForView:]): removed
-
-2005-07-27 John Sullivan <sullivan@apple.com>
-
- Patch by Trey Matteson <trey@usa.net>
- Reviewed by me.
-
- Fixed http://bugs.webkit.org/show_bug.cgi?id=4169
- scaling PDF view up leaves later HTML view scaled too
-
- An additional step of separating scaling of HTML and PDF. If we do a zoom and there
- are no docViews that track the common scaling factor, then don't change it. Thus in
- the common PDF case where it is the only doc view, scaling the PDF does not affect
- HTML pages loaded in the same window.
-
- * WebView.subproj/WebView.m:
- (-[WebView canMakeTextSmaller]): Pass 0 for new scaling factor, since we just querying.
- (-[WebView canMakeTextLarger]): Ditto.
- (-[WebView makeTextSmaller:]): Pass new scaling factor.
- (-[WebView makeTextLarger:]): Ditto.
- (-[WebView canMakeTextStandardSize]): Pass 0 for new scaling factor.
- (-[WebView makeTextStandardSize:]): Pass new scaling factor.
- (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
- The meat of the change is that this Swiss Army Knife also takes a new scaling
- factor, which it will set as the common scaling factor if it finds any doc views that
- are able to be scaled which track the common scaling factor.
-
-2005-07-27 John Sullivan <sullivan@apple.com>
-
- Patch by Trey Matteson <trey@usa.net>
- Reviewed by me.
-
- Fixed http://bugs.webkit.org/show_bug.cgi?id=4015
- PDF views should remember viewing mode, scroll position across back/forward
- Note this doesn't work within frames because of a PDFKit bug - see 4164
- Fixed http://bugs.webkit.org/show_bug.cgi?id=4091
- PDF views should keep a separate scaling factor from shared text scaling factor
-
- Basic idea #1 is that we now have a general mechanism for a WebDocView to save/restore some UI
- state to the WebHistoryItem.
- Basic idea #2 is that _WebDocumentTextSizing is expanded to allow for the case of a WebDocView
- keeping its own notion of a scaling factor. WebPDFView's -_tracksCommonSizeFactor has justification.
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem setViewState:]): New methods to hold PList of arbitrary WebView state
- (-[WebHistoryItem viewState]):
- * History.subproj/WebHistoryItemPrivate.h:
- * WebKit.xcodeproj/project.pbxproj: Add Quartz to framework path so we can import PDFKit files
- * WebView.subproj/WebDocumentInternal.h: New methods added to _WebDocumentTextSizing.
- Also the _ prefix is sufficient instead of _web_WebDocumentTextSizing.
- Added _WebDocumentViewState protocol.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Rename of save/restore methods.
- (-[WebFrame _detachFromParent]): Ditto
- (-[WebFrame _transitionToCommitted:]): Ditto
- (-[WebFrame _checkLoadCompleteForThisFrame]): Ditto
- (-[WebFrame _loadItem:withLoadType:]): Ditto
- (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]): Ditto
- (-[WebFrame _saveViewStateToItem:]): Call doc view to retrieve view state.
- (-[WebFrame _restoreViewState]): Call doc view to set view state.
- (-[WebFrame _scrollToTop]): Nuked dead code.
- (-[WebFrame _textSizeMultiplierChanged]): This work now appears in WebView.
- (-[WebFrame _saveDocumentAndScrollState]): Same rename, one code cleanup.
- (-[WebFrame _accumulateDocumentViews:]): Add our docview to the array, call kids.
- (-[WebFrame _documentViews]): New helper to return all docviews.
- (-[WebFrame _didFirstLayout]): Same name change.
- * WebView.subproj/WebFrameInternal.h:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebHTMLView.m: Removed redundant category decl.
- (-[WebHTMLView _makeTextSmaller:]): Implement new protocol.
- (-[WebHTMLView _makeTextLarger:]):
- (-[WebHTMLView _makeTextStandardSize:]):
- (-[WebHTMLView _tracksCommonSizeFactor]):
- * WebView.subproj/WebPDFRepresentation.m: Tweak #imports.
- * WebView.subproj/WebPDFView.h:
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView _menuItemsFromPDFKitForEvent:]): No longer intercept context menu text sizing items.
- (-[WebPDFView setDataSource:]): No longer track the WebView's scaling factor.
- (-[WebPDFView scrollPoint]): Dig through PDFKit view tree to get real scroll position
- (-[WebPDFView setScrollPoint:]): Ditto
- (-[WebPDFView viewState]): Return bundle of viewing params
- (-[WebPDFView setViewState:]): Restore bundle of viewing params
- (-[WebPDFView _makeTextSmaller:]): Implement new text sizing protocol
- (-[WebPDFView _makeTextLarger:]):
- (-[WebPDFView _makeTextStandardSize:]):
- (-[WebPDFView _tracksCommonSizeFactor]):
- (-[WebPDFView _canMakeTextSmaller]):
- (-[WebPDFView _canMakeTextLarger]):
- (-[WebPDFView _canMakeTextStandardSize]):
- * WebView.subproj/WebTextView.m:
- (-[WebTextView _makeTextSmaller:]): Implement new text sizing protocol
- (-[WebTextView _makeTextLarger:]):
- (-[WebTextView _makeTextStandardSize:]):
- (-[WebTextView _tracksCommonSizeFactor]):
- * WebView.subproj/WebView.m:
- (-[WebView setTextSizeMultiplier:]): Calling docViews is now more complicates than just posting
- a notification to the frame.
- (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:]): Workhorse
- that sends the text sizing method to the right doc views.
- (-[WebView canMakeTextSmaller]): Call workhorse.
- (-[WebView canMakeTextLarger]): Ditto
- (-[WebView makeTextSmaller:]): Ditto
- (-[WebView makeTextLarger:]): Ditto
- (-[WebView canMakeTextStandardSize]): Ditto
- (-[WebView makeTextStandardSize:]): Ditto
-
-2005-07-26 Justin Garcia <justin.garcia@apple.com>
-
- Patch by Trey Matteson <trey@usa.net>
-
- Reviewed by John Sullivan.
-
- Fixed <http://bugs.webkit.org/show_bug.cgi?id=4072>
- Pressing back in browser misses out a page
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]): When reloading the same page or refreshing the
- page, update the URL in the b/f item with the URL that we wind up at. Due to cookies,
- it might be different than the result we just got when we loaded the same page.
-
-2005-07-26 David Hyatt <hyatt@apple.com>
-
- Make WebHTMLView inherit from NSControl instead of NSView.
- This change is necessary because the theme renderer for
- WebCore that draws controls with the Aqua appearance does so
- using NSCells. NSCells must be hosted within a control view
- in order to paint properly.
-
- The method updateCell must be overridden because it wants to
- repaint the whole control when the windows resigns/becomes
- key, and this would result in behavior that we don't want
- (the repainting of the whole view). We already have hooks
- in WebHTMLView for the window resigning/becoming key so
- we will do our proper control updating there instead (in a
- future patch).
-
- Reviewed by john
-
- * WebView.subproj/WebHTMLView.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView updateCell:]):
-
-2005-07-26 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris Blumenberg.
-
- - more work to wean form-related SPI from NSView. All that's left (but this is a big "all")
- is viewForElement: and elementForView:
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge textField:doCommandBySelector:]):
- changed signature to pass along DOMElement* rather than NSView*
-
- * WebView.subproj/WebFormDelegate.h:
- * WebView.subproj/WebFormDelegate.m:
- (-[WebFormDelegate textField:doCommandBySelector:inFrame:]):
- ditto
-
-2005-07-25 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- - big hunk of weaning form-related SPI from NSView; autofill continues to
- work (but only on tip of tree Safari)
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge textFieldDidBeginEditing:]):
- changed name from controlTextXXX:, now takes a DOMHTMLInputElement*
- (-[WebBridge textFieldDidEndEditing:]):
- ditto
- (-[WebBridge textDidChangeInTextField:]):
- ditto
- (-[WebBridge textDidChangeInTextArea:]):
- changed name from textDidChange:, now takes a DOMHTMLTextAreaElement*
- (-[WebBridge control:textShouldBeginEditing:]):
- removed this method as it wasn't being used by autofill, and did nothing in WebKit
- (-[WebBridge control:textShouldEndEditing:]):
- ditto
- (-[WebBridge textField:shouldHandleEvent:]):
- changed name from control:textView:shouldHandleEvent:, now takes a DOMHTMLInputElement*.
- The textView parameter wasn't being used, so I eliminated it.
-
- * WebView.subproj/WebFormDelegate.h:
- * WebView.subproj/WebFormDelegate.m:
- (-[WebFormDelegate textFieldDidBeginEditing:inFrame:]):
- (-[WebFormDelegate textFieldDidEndEditing:inFrame:]):
- (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]):
- (-[WebFormDelegate control:textShouldEndEditing:inFrame:]):
- (-[WebFormDelegate textDidChangeInTextField:inFrame:]):
- (-[WebFormDelegate textDidChangeInTextArea:inFrame:]):
- (-[WebFormDelegate textField:shouldHandleEvent:inFrame:]):
- These all changed in the same way as the WebBridge methods
-
-
-2005-07-25 Vicki Murley <vicki@apple.com>
-
- Reviewed by Darin.
-
- - fixed <rdar://problem/3470523> Safari's user agent should be changed to say Intel rather
- than PPC on Intel machines
-
- * WebView.subproj/WebView.m: add conditional #defines for "PPC" and "Intel"
- (-[WebView userAgentForURL:]): use this variable when constructing the user agent string
-
-2005-07-24 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by mjs
-
- - Fixes <rdar://problem/4120535> deleteToEndOfLine: does not delete thew newline when at the end of a line
- Fix to match NSTextView. Delete the next character if deleteToEndOfLine fails
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView deleteToEndOfLine:]):
-
-2005-07-24 Justin Garcia <justin.garcia@apple.com>
-
- Patch by Trey Matteson <trey@apple.com>
-
- Reviewed by john
-
- Fixes <http://bugs.webkit.org/show_bug.cgi?id=3953> back-forward items have wrong titles after sub-frame navigations
-
- This was caused by a mistaken data structure, where WebDataSource tried to keep a list of
- b/f items it was responsible for. The problem arose in the case of frames, where a subframe
- was loaded with new content. When this happens a fresh tree of b/f items is created,
- but the reference in the DataSource still pointed to the old item.
-
- Since the WebFrame does a lot of work to track the current b/f item, the easiest thing is to
- get rid of the DataSource's reference, and have it ask the WebFrame to set the title on the
- right b/f item.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _setTitle:]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _createItem:]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _setTitle:]):
- * WebView.subproj/WebFramePrivate.h:
-
-2005-07-24 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by kevin
-
- Fixed make clean problem
-
- * Makefile.am:
-
-2005-07-23 Justin Garcia <justin.garcia@apple.com>
-
- Patch by <opendarwin.org@mitzpettel.com>
-
- Reviewed by darin and hyatt
-
- Fixes <http://bugs.webkit.org/show_bug.cgi?id=3862>
- The fix for <http://bugs.webkit.org/show_bug.cgi?id=3545> enclosed each run of visually ordered
- hebrew with LRO and PDF control characters, but adjusted the run's to and from to include those characters,
- so that they would be rendered if the font includes a glyph for bidi control characters.
-
- Also adding a manual test
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (reverseCharactersInRun):
-
-2005-07-22 John Sullivan <sullivan@apple.com>
-
- Reviewed by Justin Garcia.
-
- Mail (running on tip of tree WebKit) was running into an assertion I recently added.
- The assertion is actually correct, catching an old bug in this code.
-
- * WebView.subproj/WebView.m:
- (-[WebView selectedFrame]):
- if the first responder is a WebFrameView, then we've found the WebFrameView we're
- looking for, and we shouldn't look at its superviews.
-
-2005-07-22 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris Blumenberg.
-
- - some changes in the direction of weaning all the form-related SPI from NSView
-
- * PublicHeaderChangesFromTiger.txt:
- noted that the WebCore change to add -[DOMHTMLInputElement isTextField] to
- DOMExtensions.h is a public header change.
-
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation viewForElement:]):
- added viewForElement: as a stopgap measure. This allowed me to convert controlsInForm:
- to return DOMElements rather than NSViews, while keeping autocomplete working in
- Safari tip of tree. When I finish the SPI conversion I'll delete this method. Note that
- from this point on, autocomplete will not work in Tiger Safari with tip of tree WebKit
- (it will always fail to find anything to autocomplete)
-
-2005-07-21 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- Changing temporary #ifndef to #if
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _checkSolidColor:]):
-
-2005-07-21 Adele Peterson <adele@apple.com>
-
- Reviewed by Chris Blumenberg.
-
- - fixed <rdar://problem/4132797> don't register thin PPC WebKit plug-ins
- Merged fix for:
- <rdar://problem/4127100> [WebKit] 8B1016: After installing Acrobat Reader, can no longer see pdf's in Safari
-
- * Plugins.subproj/WebBasePluginPackage.h: Added isNativeLibraryData method.
- * Plugins.subproj/WebBasePluginPackage.m: (-[WebBasePluginPackage isNativeLibraryData:]): Added isNativeLibraryData method.
- * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]):
- calls isNativeLibraryData to determine whether or not to register the plug-in.
- * Plugins.subproj/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): ditto.
- * WebCoreSupport.subproj/WebImageData.m: (-[WebImageData _checkSolidColor:]): added comment for #ifdef.
-
-2005-07-21 Geoffrey Garen <ggaren@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Removed.
-
-2005-07-21 Geoffrey Garen <ggaren@apple.com>
-
- * WebKit.xcodeproj/.cvsignore: Added.
-
-2005-07-21 Geoffrey Garen <ggaren@apple.com>
-
- * WebKit.xcodeproj/project.pbxproj: Added.
-
-2005-07-21 Geoffrey Garen <ggaren@apple.com>
-
- * Makefile.am:
-
-2005-07-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Vicki Murley.
-
- - removed some form-related methods that weren't being used anywhere, in preparation
- for weaning WebKit's WebFormDelegate protocol from NSView.
-
- * WebCoreSupport.subproj/WebBridge.m:
- * WebView.subproj/WebFormDelegate.h:
- * WebView.subproj/WebFormDelegate.m:
- removed these methods:
- -control:didFailToFormatString:errorDescription:
- -control:didFailToValidatePartialString:errorDescription:
- -control:isValidObject:
-
-2005-07-20 Adele Peterson <adele@apple.com>
-
- Merged fix for:
- <rdar://problem/4125127> [WebKit] horizontal rulers don't render on Safari on web.apple.com
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _checkSolidColor:]):
-
-2005-07-20 Adele Peterson <adele@apple.com>
-
- Merged fix for :
- <rdar://problem/4118278> mail divide by zero navigating messages
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]):
-
-2005-07-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adele Peterson.
-
- - added -[WebView selectedFrame] to SPI (pending public API), needed for 4180958
-
- * WebView.subproj/WebView.m:
- (-[WebView selectedFrame]):
- new method, extracted from _selectedOrMainFrame
- (-[WebView _selectedOrMainFrame]):
- now calls extracted method
-
- * WebView.subproj/WebViewPrivate.h:
- add -selectedFrame to PendingPublic category
-
-2005-07-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- - cleaned up code related to dealing with the "selected frame"; fixes radar bugs 4118830 and 4118820
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView resignFirstResponder]):
- call deselectAll here instead of replicating its guts, just for clarity
-
- * WebView.subproj/WebViewInternal.h:
- eliminated category WebInternal; all of these methods were used only inside WebView.m, so I moved
- them into the existing category WebFileInternal that was declared and implemented in WebView.m
-
- * WebView.subproj/WebView.m:
- (-[WebView searchFor:direction:caseSensitive:wrap:]):
- updated for name changes. Also, uses new _deselectFrame: to clear the selection if the found
- text is in a different frame.
- (-[WebView pasteboardTypesForSelection]):
- (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
- (-[WebView setSelectedDOMRange:affinity:]):
- (-[WebView selectedDOMRange]):
- (-[WebView selectionAffinity]):
- (-[WebView setTypingStyle:]):
- (-[WebView typingStyle]):
- (-[WebView styleDeclarationWithText:]):
- (-[WebView replaceSelectionWithNode:]):
- (-[WebView replaceSelectionWithText:]):
- (-[WebView replaceSelectionWithMarkupString:]):
- (-[WebView replaceSelectionWithArchive:]):
- (-[WebView deleteSelection]):
- (-[WebView applyStyle:]):
- updated for name changes only
-
- (-[WebView _frameIsSelected:]):
- new method, returns YES if given frame has a non-zero-length selection
- (-[WebView _deselectFrame:]):
- new method, clears selection from given frame
- (-[WebView _findSelectedFrameStartingFromFrame:]):
- new method, recursive helper used by _findSelectedFrame
- (-[WebView _findSelectedFrame]):
- new method, finds first frame that returns YES for _frameIsSelected, or nil
- (-[WebView _debugCollectSelectedFramesIntoArray:startingFromFrame:]):
- new method, recursive helper used by _debugCheckForMultipleSelectedFrames
- (-[WebView _debugCheckForMultipleSelectedFrames]):
- new method for debugging, fires an assertion if there's more than one selected frame.
- (-[WebView _selectedOrMainFrame]):
- renamed from _frameForCurrentSelection, which was a misleading name since the returned
- frame does not necessarily have a selection (or even focus). Now checks for a selected
- but non-focused frame if the first responder is not in any frame. Also, moved in file
- from WebInternal category to WebFileInternal category.
- (-[WebView _bridgeForSelectedOrMainFrame]):
- renamed from _bridgeForCurrentSelection, which was a misleading name for the same
- reasons as _frameForCurrentSelection. Also, moved in file from WebInternal category to
- WebFileInternal category.
- (-[WebView _isLoading]):
- (-[WebView _frameViewAtWindowPoint:]):
- (-[WebView _bridgeAtPoint:]):
- just moved in file from WebInternal category to WebFileInternal category
-
-2005-07-19 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff Garen.
-
- - improve handling of plug-ins when the WebView or a superview is hidden with -[NSView setHidden]
-
- * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
- Add "hidden" to the list of reasons to clip out all plug-in drawing.
-
-2005-07-18 John Sullivan <sullivan@apple.com>
-
- Written by Trey Matteson <trey@usa.net>
- Reviewed by John Sullivan.
-
- Fixed http://bugs.webkit.org/show_bug.cgi?id=4049
- scroll position not restored when going back/forward at ebay
- Fixed http://bugs.webkit.org/show_bug.cgi?id=4061
- When going back/forward to some pages, they redraw at top before restoring scroll position
-
- The short story is that attempting to restore the scroll position
- at the time when the first layout finishes addresses both of these
- issues. An explanation of the underlying race condition is in
- a large comment near -_restoreScrollPosition.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge didFirstLayout]): Pass through to WebFrame.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]): Get rid of attempt to
- restoreScrollPosition that never did anything because the
- docView was always 0x0 size at that point.
- (-[WebFrame _opened]): Get rid of redundant call to restoreScrollPosition.
- The imminent call to layoutCompleted makes the same call.
- (-[WebFrame _didFirstLayout]): Restore the scroll position on
- first layout, if we're doing a b/f nav.
- * WebView.subproj/WebFrameInternal.h:
-
-2005-07-18 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- - fixed these bugs:
- <rdar://problem/4158121> context menu in PDF view should contain the selection-based items like Copy
- <rdar://problem/4184691> WebPDFView should conform to the WebDocumentElement protocol
- <rdar://problem/4184663> "Search in Spotlight" is present but dimmed in context menu for plain-text documents
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
- added ASSERT and comments
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _searchWithGoogleFromMenu:]):
- removed this method (now handled by WebView)
- (-[WebHTMLView _searchWithSpotlightFromMenu:]):
- ditto
- (-[WebHTMLView validateUserInterfaceItem:]):
- removed validation for removed items. The validation wasn't necessary anyway, since we only put these items
- in the menu in the case where they should be enabled.
-
- * WebView.subproj/WebPDFView.h:
- now conforms to WebDocumentElement protocol (which lets [WebView elementAtPoint:] work better)
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView copy:]):
- added, hands off to PDFView, needed to enable Copy in context menu
- (-[WebPDFView _pointIsInSelection:]):
- new method, checks whether given point is in the selected bounds
- (-[WebPDFView elementAtPoint:]):
- add WebElementIsSelectedKey to returned element
- (-[WebPDFView menuForEvent:]):
- use actual point instead of dummy placeholder, now that we have code that pays attention to the point
-
- * WebView.subproj/WebView.m:
- (-[WebView _searchWithGoogleFromMenu:]):
- moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
- Rewrote slightly to be non-WebHTMLView-specific. (This menu item was always enabled in Safari because
- Safari replaces its action, but it would not have been always enabled in other WebKit clients, though
- it should have been.)
- (-[WebView _searchWithSpotlightFromMenu:]):
- moved here from WebHTMLView so it will work for any documentView that conforms to WebDocumentText.
- Rewrote slightly to be non-WebHTMLView-specific.
-
-2005-07-18 John Sullivan <sullivan@apple.com>
-
- Reviewed by Richard Williamson.
-
- - fixed <rdar://problem/4184366> WebPDFView should conform to the WebDocumentSelection protocol
-
- * Misc.subproj/WebNSAttributedStringExtras.h: Added.
- * Misc.subproj/WebNSAttributedStringExtras.m: Added.
- (-[NSAttributedString _web_attributedStringByStrippingAttachmentCharacters]):
- New category on NSAttributedString, initially contains this one method that had been in WebHTMLView.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
- now uses _web_attributedStringByStrippingAttachmentCharacters
-
- * WebView.subproj/WebPDFView.h:
- now conforms to WebDocumentSelection protocol
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView selectionRect]):
- new, implementation of WebDocumentSelection protocol method
- (-[WebPDFView pasteboardTypesForSelection]):
- ditto
- (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
- ditto
-
- * WebKit.pbproj/project.pbxproj:
- updated for new files
-
-2005-07-18 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris Blumenberg.
-
- - some refactoring cleanup in the selection/searching code
-
- * Misc.subproj/WebSearchableTextView.h:
- moved WebDocumentSelection protocol conformation to this class, was in subclass WebTextView
- * Misc.subproj/WebSearchableTextView.m:
- (-[WebSearchableTextView selectionRect]):
- new method (moved here from Safari) to return a single rect encompassing all selected text
- (-[WebSearchableTextView pasteboardTypesForSelection]):
- moved here from WebTextView
- (-[WebSearchableTextView writeSelectionWithPasteboardTypes:toPasteboard:]):
- ditto
-
- * WebView.subproj/WebDocumentInternal.h:
- moved WebDocumentSelection protocol out of here
-
- * WebView.subproj/WebDocumentPrivate.h:
- moved WebDocumentSelection protocol into here, added selectionRect method
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView selectionRect]):
- new method, calls existing bridge method formerly called by _selectionRect
- (-[WebHTMLView _selectionRect]):
- now calls [self selectionRect]. We can't just delete _selectionRect because it's used by Mail.
-
- * WebView.subproj/WebHTMLViewPrivate.h:
- removed _selectionRect since it's in WebDocumentSelection now
-
- * WebView.subproj/WebTextView.h:
- removed WebDocumentSelection from protocol list since it's in superclass now
-
- * WebView.subproj/WebTextView.m:
- removed old WebDocumentSelection methods because they are in superclass now
-
-2005-07-15 Adele Peterson <adele@apple.com>
-
- Written by Trey Matteson <trey@usa.net>
- Reviewed by John Sullivan.
-
- Fixed http://bugs.webkit.org/show_bug.cgi?id=3910 - REGRESSION: Replying "Cancel" to the form repost nag leaves wrong b/f cursor
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _resetBackForwardList]): new helper method
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- If the delegate bailed on the navigation, tell the main frame
- to reset the b/f cursor back to where it was before we started.
-
-2005-07-15 John Sullivan <sullivan@apple.com>
-
- Written by Trey Matteson
- Reviewed by me.
-
- Fix for http://bugs.webkit.org/show_bug.cgi?id=4013
- text find doesn't wrap in PDF files
-
- This just works once WebPDFView implements the WebDocumentText protocol, which is
- mostly just a matter of forwarding the methods to PDFKit appropriately.
-
- * WebView.subproj/WebPDFView.h:
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView supportsTextEncoding]):
- (-[WebPDFView string]):
- (-[WebPDFView attributedString]):
- (-[WebPDFView selectedString]):
- (-[WebPDFView selectedAttributedString]):
- (-[WebPDFView selectAll]):
- (-[WebPDFView deselectAll]):
-
-2005-07-15 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker.
-
- - fixed <rdar://problem/4181884> Searching for text that overlaps selection works
- differently in PDFView than in HTMLView
-
- * WebView.subproj/WebPDFView.m:
- (PDFSelectionsAreEqual):
- new function, stand-in for nonexistent -[PDFSelection isEqual:] since calling isEqual:
- on two identical PDFSelections returns NO
- (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
- Make search algorithm match that in WebCore: initially search inside selection, then check for the case
- where the found text exactly matches the previous selection, and search from past the selection if so.
- The implementation is slightly more complicated than it should be due to PDFKit API limitations (about
- which I added FIXMEs and filed bugs)
-
-2005-07-15 John Sullivan <sullivan@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- - fixed these bugs:
- <rdar://problem/4181875> Searching for text that overlaps selection works differently in WebTextView than in HTMLView
- <rdar://problem/3393678> Find not finding text in plain (non-HTML) if all text is selected
-
- * Misc.subproj/WebSearchableTextView.m:
- (-[NSString findString:selectedRange:options:wrap:]):
- Make search algorithm match that in WebCore: initially search inside selection, then check for the case
- where the found text exactly matches the previous selection, and search from past the selection if so.
-
-2005-07-14 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - WebKit part of fix for:
- <rdar://problem/4181227> webpages incorrectly use standard instead of secondary highlighting in certain cases
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge formControlIsResigningFirstResponder:]):
- Implementation of new method defined in WebCore, passes call along to WebHTMLView
-
- * WebView.subproj/WebHTMLViewInternal.h:
- declare _formControlIsResigningFirstResponder: so bridge can call it
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView updateFocusState]):
- just moved in file so it could be called from a different category
- (-[WebHTMLView _formControlIsResigningFirstResponder:]):
- new method, updates focus state
-
-2005-07-14 John Sullivan <sullivan@apple.com>
-
- added missing #import to fix build
- * WebView.subproj/WebPDFView.m
-
-2005-07-14 Kevin Decker <kdecker@apple.com>
-
- Reviewed by cblu
-
- Fixed: <rdar://problem/4122282> clicking a link in an PDF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _safeLoadURL:]): added
- * WebView.subproj/WebFrameInternal.h:
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView initWithFrame:]):
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]): prevents evilness with a call to _safeLoadURL
- * WebView.subproj/WebTextView.m:
- (-[WebTextView clickedOnLink:atIndex:]): factored calling out to the bridge, and instead call _safeLoadURL
-
-2005-07-14 Vicki Murley <vicki@apple.com>
-
- Reviewed by Kocienda.
-
- - WebKit part of fix for <rdar://problem/4172380> [GENENTECH] window.opener
- not available when child opened via target="_new"
-
- Add a setOpener function to the WebCore bridge, and call this function when opening
- new windows through Web Kit.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
-
-2005-07-13 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by John
-
- Rolling in changes necessary to build with newer versions of gcc 4.0
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem copyWithZone:]):
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
- * Misc.subproj/WebNSURLExtras.m:
- (-[NSURL _web_URLWithLowercasedScheme]):
- (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge MIMETypeForPath:]):
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]):
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:usingPrinterFont:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _styleFromFontAttributes:]):
- * WebView.subproj/WebView.m:
- (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
- (-[WebView mainFrameTitle]):
-
-2005-07-13 John Sullivan <sullivan@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- - cleaned up Find-related experimental code that I checked in a while back
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
- remove variant of this method that had findInSelection flag; this method is now
- the same as it was on Tiger.
-
- * WebView.subproj/WebView.m:
- (-[WebView searchFor:direction:caseSensitive:wrap:]):
- ditto
-
-2005-07-12 Geoffrey Garen <ggaren@apple.com>
-
- -rolled in patch by opendarwin.org@mitzpettel.com
- for http://bugs.webkit.org/show_bug.cgi?id=3435
- Parentheses are backwards in Hebrew text (no bidi mirroring?)
-
- Reviewed by mjs.
-
- Layout test added to WebCore.
-
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _initializeATSUStyle]):
- (applyMirroringToRun):
- (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
- (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
- (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
-
-2005-07-12 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Chris Blumenberg
-
- * WebCoreSupport.subproj/WebBridge.m: Removed some glue that allowed one
- of two unicode (TEC or ICU ) to be chosen at runtime. I just added this
- dual support yesterday, and while Maciej and I agreed that it was good
- to land in the tree in case we run into problems in the near future, we
- also agreed that cutting over to using ICU full time right now is
- probably the best way to find bugs.
-
-2005-07-11 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Richard
-
- * WebCoreSupport.subproj/WebBridge.m:
- (+[WebBridge setTextConversionMethod:]): New method to support switching text conversion method.
- (+[WebBridge textConversionMethod]): Returns current text conversion method.
-
-2005-07-11 Kevin Decker <kdecker@apple.com>
-
- Reviewed by cblu and mjs.
-
- Fixed: <rdar://problem/4099552> REGRESSION: Safari 1.3 Netscape API NPN_PostURL[Notify] no longer allows manual headers
-
- Most plugins (flash) send 2 CRFL's between the header and body of their POST requests, while the adboe plugin sends two LF's. This caused us to send custom headers as part of the actual POST data itself, and correspondently, would skew Content-Length.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[NSData _web_locationAfterFirstBlankLine]): Look for two LF's as well
-
-2005-07-09 Maciej Stachowiak <mjs@apple.com>
-
- - back out my revent page cache changes, turns out they cause a
- major performance regression on PLT
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _purgePageCache]):
-
-2005-07-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by hyatt.
-
- Replace int with unsigned, to avoid going into a huge loop when
- back list count is 0.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _purgePageCache]):
-
-2005-07-09 Maciej Stachowiak <mjs@apple.com>
-
- - fixed broken Development build
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _purgePageCache]):
-
-2005-07-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by hyatt.
-
- - fix page cache purging logic; this gets rid of a bug where the
- page cache would grow without bound if the oldest page cache item
- was the snapback item, and changed the rule a bit so page cache
- items farther back than the max size get purged, even if fewer
- than the max size are in current use.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _purgePageCache]):
-
-2005-07-08 Geoffrey Garen <ggaren@apple.com>
-
- Rolled in patch by opendarwin.org@mitzpettel.com
-
- -fixes http://bugs.webkit.org/show_bug.cgi?id=3818
- Fallback font doesn't have requested weight in ATSUI-rendered text
-
- (See WebCore Changelog for layout test)
-
- Reviewed by mjs.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
-
-2005-07-05 Adele Peterson <adele@apple.com>
-
- Rolling out changes for <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
- since it caused a 2% performance regression.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (isSpace):
- (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
- (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
- (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
- (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
- (initializeCharacterWidthIterator):
- (widthForNextCharacter):
-
-2005-07-05 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris Blumenberg.
-
- - fixed <rdar://problem/4158230> Zoom In/Zoom Out in PDF context menu don't update window's notion of text size
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
- Redirect Actual Size, Zoom In, and Zoom Out context menu items so that they behave exactly like Make Text Standard Size,
- Make Text Larger, and Make Text Smaller.
-
-2005-07-01 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=3711: Displayed PDF have limited options in contextual menu
-
- This was a problem with using Tiger's version of Safari with tip of tree WebKit.
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView _anyPDFTagsFoundInMenu:]):
- new method, returns YES if the menu contains any items with any of the new PDF-related tags.
- (-[WebPDFView menuForEvent:]):
- If the executable was linked on Tiger or older (but it will never be older, since this code is
- new to Tiger), force all of the PDF-related items into the menu if none of them were there
- after processing by the delegate.
-
-2005-06-30 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - fixed <http://bugs.webkit.org/show_bug.cgi?id=3774>
- do renaming so that loaders are called "loader", not "client" or "delegate"
-
- * Misc.subproj/WebIconLoader.h:
- * Plugins.subproj/WebNetscapePluginStream.h:
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
- (-[WebNetscapePluginStream start]):
- (-[WebNetscapePlugInStreamLoader didFinishLoading]):
- (-[WebNetscapePlugInStreamLoader didFailWithError:]):
- (-[WebNetscapePlugInStreamLoader cancelWithError:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge startLoadingResource:withURL:customHeaders:]):
- (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
- (-[WebBridge canRunModalNow]):
- * WebCoreSupport.subproj/WebSubresourceClient.h: Removed.
- * WebCoreSupport.subproj/WebSubresourceClient.m: Removed.
- * WebCoreSupport.subproj/WebSubresourceLoader.h:
- * WebCoreSupport.subproj/WebSubresourceLoader.m:
- (-[WebSubresourceLoader initWithLoader:dataSource:]):
- (-[WebSubresourceLoader dealloc]):
- (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
- (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:referrer:forDataSource:]):
- (+[WebSubresourceLoader startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
- (-[WebSubresourceLoader didReceiveResponse:]):
- (-[WebSubresourceLoader didReceiveData:lengthReceived:]):
- (-[WebSubresourceLoader didFinishLoading]):
- (-[WebSubresourceLoader didFailWithError:]):
- (-[WebSubresourceLoader cancel]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed.
- * WebView.subproj/WebBaseResourceHandleDelegate.m: Removed.
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _setLoading:]):
- (-[WebDataSource _updateLoading]):
- (-[WebDataSource _setPrimaryLoadComplete:]):
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource _addSubresourceLoader:]):
- (-[WebDataSource _removeSubresourceLoader:]):
- (-[WebDataSource _addPlugInStreamLoader:]):
- (-[WebDataSource _removePlugInStreamLoader:]):
- (-[WebDataSource _stopLoadingInternal]):
- (-[WebDataSource _defersCallbacksChanged]):
- (-[WebDataSource _stopLoadingWithError:]):
- (-[WebDataSource data]):
- (-[WebDataSource isLoading]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebLoader.h:
- * WebView.subproj/WebLoader.m:
- * WebView.subproj/WebMainResourceClient.h: Removed.
- * WebView.subproj/WebMainResourceClient.m: Removed.
- * WebView.subproj/WebMainResourceLoader.h:
- * WebView.subproj/WebMainResourceLoader.m:
- (-[WebMainResourceLoader didReceiveResponse:]):
-
-2005-06-29 David Harrison <harrison@apple.com>
-
- Reviewed by Dave Hyatt (rendering) and Maciej (editing).
-
- Test cases added: Coming soon. Will include with next round of changes for this bug.
-
- This is the first checkin for...
-
- <rdar://problem/3792529> REGRESSION (Mail): Tabs do not work the way they did in Panther (especially useful in plain text mail)
-
- Basic strategy is to put tabs into spans with white-space:pre style, and
- render them with tabs stops every 8th space, where the space width and
- the left margin are those of the enclosing block.
-
- What's left is to switch to implement white-space:pre-wrap so
- that we can coalesce consecutive tabs while maintaining proper
- line breaking. That will keep the markup smaller.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (isSpace):
- (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
- (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
- (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
- (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
- (initializeCharacterWidthIterator):
- (widthForNextCharacter):
-
-2005-06-29 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin.
-
- - deleted some never-used stub code
-
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewInternal.h:
- * WebView.subproj/WebViewPrivate.h:
-
-2005-06-27 Justin Garcia <justin.garcia@apple.com>
-
- Patch by Anders Carlsson <andersca@mac.com>
-
- Reviewed by Darin.
-
- - Fixes <http://bugs.webkit.org/show_bug.cgi?id=3489>
- WebView's setSelectedDOMRange doesn't not implement clearing the selection as described in the WebView documentation:
- <http://developer.apple.com/documentation/Cocoa/Reference/WebKit/ObjC_classic/Classes/WebView.html>
-
- * WebView.subproj/WebView.m:
- (-[WebView setSelectedDOMRange:affinity:]):
- If range is nil, call deselectText.
-
-2005-06-24 Justin Garcia <justin.garcia@apple.com>
-
- Patch contributed by Duncan Wilcox <duncan@mclink.it>
-
- Reviewed by Darin
-
- - Fixed <http://bugs.webkit.org/show_bug.cgi?id=3535>
- Spelling suggestions in the context menu don't call the should* delegate methods
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _changeSpellingFromMenu:]):
- give delegate's webView:shouldInsertText:replacingDOMRange:givenAction: a chance
- to prevent replacing of selected text
-
-2005-06-22 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris Blumenberg.
-
- - fixed <rdar://problem/3764645> please add a way to allow WebKit clients to override the WebPDFView context menu
-
- * PublicHeaderChangesFromTiger.txt: Added.
- New file to keep track of changes made to public headers that haven't been through API review yet.
- Initially lists the WebMenuItem enum tags added to WebUIDelegate.h as part of this change.
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate appendDefaultItems:toArray:]):
- new method, handles initial separator
- (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
- now has defaultMenuItems: parameter. Any menu items in this array are appended at the end of
- the standard set.
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
- ditto
- (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
- This had a defaultMenuItems parameter before but it was always nil. Now it passes the defaultMenuItems
- parameter on to the two methods that construct lists (one for editing, the other for viewing). Also
- tweaked variable name and type for clarity.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView menuForEvent:]):
- passes nil for new defaultItems parameter of _menuForElement:
-
- * WebView.subproj/WebImageView.m:
- (-[WebImageView menuForEvent:]):
- ditto
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView menuForEvent:]):
- ditto
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView elementAtPoint:]):
- new method to create the element dictionary needed for _menuForElement:defaultItems:. Only supplies the
- webFrame at this point.
- (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
- new method to return copies of the menu items that PDFKit would include in the context menu, with
- WebKit tags applied
- (-[WebPDFView menuForEvent:]):
- now calls standard WebKit context menu mechanism, so clients' delegates can modify the context menu as
- desired. The initial set of items are the ones WebKit was already displaying for PDF context menus.
-
- * WebView.subproj/WebUIDelegate.h:
- added enum values for the menu items in the PDF context menu
-
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebView _menuForElement:defaultItems:]):
- Added the defaultItems: parameter to this method, which is then passed along to WebDefaultUIDelegate.
- All callers pass nil except for WebPDFView, at least for now.
-
-2005-06-22 Darin Adler <darin@apple.com>
-
- Change by Mitz Pettel.
- Reviewed by me.
-
- - fixed <http://bugs.webkit.org/show_bug.cgi?id=3618>
- RTL runs drawn by CG not reversed properly
-
- * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _CG_drawRun:style:geometry:]):
- Fix off-by-one mistake in order-swapping loops.
-
-2005-06-22 Darin Adler <darin@apple.com>
-
- Change by Michael Gaiman.
- Reviewed by me.
-
- - fixed <http://bugs.webkit.org/show_bug.cgi?id=3436>
- Missing implementation of -[NSData(WebNSDateExtras) _webkit_parseRFC822HeaderFields]
-
- * Misc.subproj/WebNSDataExtras.h: Fixed name of category say NSData, not NSDate.
- * Misc.subproj/WebNSDataExtras.m: (-[NSData _webkit_parseRFC822HeaderFields]): Fixed method name.
-
-2005-06-21 John Sullivan <sullivan@apple.com>
-
- Reviewed by Vicki Murley
-
- - fixed assertion failure Vicki ran into
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _forgetIconForIconURLString:]):
- Handle the case where there are no associated page URLs for the icon URL
-
-2005-06-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris Blumenberg.
-
- - fixed <rdar://problem/4155182> icon database retain counts can be incorrect after removing all icons
-
- Replaced the concept of "future retain count per page URL" with a simpler concept of "retain count per
- page URL", which is maintained even after the icon is actually loaded (unlike the future retain count).
- The total retain count for an icon is now the sum of the retain counts per page URL along with any retain
- count not associated with a page URL -- this is still needed for some internal housekeeping purposes.
-
- * Misc.subproj/WebIconDatabasePrivate.h:
- renamed iconURLToURLs -> iconURLToPageURLs for clarity
- renamed URLToIconURL -> pageURLToIconURL for clarity
- renamed futureURLToRetainCount -> pageURLToRetainCount (there's no more "future" aspect)
- renamed iconURLToRetainCount -> iconURLToExtraRetainCount (it now maintains only some of the retain count)
-
- * Misc.subproj/WebIconDatabase.m:
- (+[WebIconDatabase sharedIconDatabase]):
- updated for name changes only
- (-[WebIconDatabase init]):
- ditto
- (-[WebIconDatabase iconForURL:withSize:cache:]):
- ditto
- (-[WebIconDatabase iconURLForURL:]):
- ditto
- (-[WebIconDatabase retainIconForURL:]):
- just bump the retain count in pageURLToRetainCount, instead of behaving differently based on whether
- an icon had been loaded for this URL; this let me delete the internal method _retainFutureIconForURL:
- (-[WebIconDatabase releaseIconForURL:]):
- decrement the retain count in pageURLToRetainCount, then handle the case where the retain count for
- this page has gone to zero. I deleted the internal method _releaseFutureIconForURL: formerly called here.
- (-[WebIconDatabase removeAllIcons]):
- remove all the code that dealt with retain counts; this operation no longer affects retain counts
- (-[WebIconDatabase _setIconURL:forURL:]):
- remove the code that consolidated multiple retain counts for different page URLs into a single retain
- count; the multiple retain counts are now maintained even after the icon is loaded
- (-[WebIconDatabase _clearDictionaries]):
- updated for name changes only
- (-[WebIconDatabase _loadIconDictionaries]):
- ditto
- (-[WebIconDatabase _updateFileDatabase]):
- ditto
- (-[WebIconDatabase _totalRetainCountForIconURLString:]):
- new method, sums the retain counts associated with specific page URLs and the extra retain count
- not associated with specific page URLs
- (-[WebIconDatabase _retainIconForIconURLString:]):
- updated for name changes
- (-[WebIconDatabase _forgetIconForIconURLString:]):
- no longer affects retain counts at all; this is up to callers
- (-[WebIconDatabase _releaseIconForIconURLString:]):
- this now distinguishes the case where the retain count not associated with any page URLs hits
- zero from the case where the total retain count hits zero, and handles both
-
-2005-06-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris Blumenberg.
-
- - added support for emptying the icon database
-
- * Misc.subproj/WebIconDatabase.h: just fixed a typo
- * Misc.subproj/WebIconDatabasePrivate.h:
- added WebPendingPublic category with method removeAllIcons, and
- declared WebIconDatabaseDidRemoveAllIconsNotification string.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase removeAllIcons]):
- new method, removes all known icons from memory and disk. There's one loose end,
- covered by radar bug 4155182, where it's possible for the icon database's retain
- counts to get off after this operation. I plan to fix this next.
- (-[WebIconDatabase _setIconURL:forURL:]):
- just fixed some extra whitespace
- (-[WebIconDatabase _forgetIconForIconURLString:]):
- new method, extracted from _releaseIconForIconURLString
- (-[WebIconDatabase _releaseIconForIconURLString:]):
- now calls extracted method
-
- * WebKit.exp:
- added _WebIconDatabaseDidRemoveAllIconsNotification
-
-2005-06-19 Darin Adler <darin@apple.com>
-
- Changes by Mitz Pettel
- Reviewed by me.
-
- - fixed <http://bugs.webkit.org/show_bug.cgi?id=3466>
- ATSUI text doesn't render at coordinates greater than 32K
-
- * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
- Translate the matrix of the CGContext instead of passing the appropriate coordinates to ATSU.
-
-2005-06-17 Richard Williamson <rjw@apple.com>
-
- Changes by Mitz Pettel
- Reviewed by Richard Williamson.
-
- Fixed http://bugs.webkit.org/show_bug.cgi?id=3545
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (reverseCharactersInRun):
- (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
-
-2005-06-17 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris.
-
- - fixed <rdar://problem/4151001> Reloading javascript-spawned window with no URL erases its contents
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame reload]):
- do nothing if URL is zero-length
-
-2005-06-14 John Sullivan <sullivan@apple.com>
-
- Changes by Devin Lane.
- Reviewed by me.
-
- - fixed <rdar://problem/3766909> PDF viewing could use a zoom control other than the one in the context menu
-
- * WebView.subproj/WebPDFView.h:
- now implements protocol _web_WebDocumentTextSizing
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView _updateScalingToReflectTextSize]):
- new method, sets the PDF scaling from the text size multiplier
- (-[WebPDFView setDataSource:]):
- call _updateScalingToReflectTextSize
- (-[WebPDFView _web_textSizeMultiplierChanged]):
- implementation of protocol _web_WebDocumentTextSizing, calls _updateScalingToReflectTextSize
-
-2005-06-14 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dave Harrison.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _delayedEndPrintMode:]):
- After discussing this with Dave, I made this method both more debugger-friendly with asserts for
- the cases we don't think could ever happen, and more paranoid by handling these cases in deployment
- builds.
-
-2005-06-14 Darin Adler <darin@apple.com>
-
- - fixed build for Xcode 2.1
-
- * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT to search for the
- WebKitSystemInterface.h file. We could re-jigger this again later, but for now this is consistent
- with both the .a file's location and where build-webkit puts the file.
-
-2005-06-13 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dave Harrison and Maciej.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _endPrintMode]):
- new method, extracted from identical code in beginDocument and endDocument. This method must be called
- once to counterbalance the code called from knowsPageRange that turns on "printing mode".
- (-[WebHTMLView _delayedEndPrintMode:]):
- new method, called from "perform after delay". Checks whether the same print operation is still underway
- and, if so, delays further. Otherwise calls _endPrintMode directly.
- (-[WebHTMLView knowsPageRange:]):
- after turning on "printing mode", queue up a delayed call to _delayedEndPrintMode:. If there's an early
- error in the print mechanism such that beginDocument is never called, this will cleanly end "printing
- mode" and make the webview usable again.
- (-[WebHTMLView beginDocument]):
- cancel any delayed call to _delayedEndPrintMode:. If we get this far along in printing, then we don't need
- the failsafe call to _delayedEndPrintMode: that was set up in knowsPageRange:. Also, call extracted method.
- (-[WebHTMLView endDocument]):
- call extracted method
-
-2005-06-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Chris Blumenberg and Adele.
-
- - better fix for <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
- http://bugs.webkit.org/show_bug.cgi?id=3445
-
- With this change and the matching WebKit change we'll still stop loading the moment you click
- a download link, but the unload event and detaching of event handlers will not happen early any more.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _stopLoadingInternal]): call stopLoading on bridge instead of closeURL.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]): Revert previous attempt at fix.
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): ditto
- (-[WebFrame stopLoading]): ditto
-
-2005-06-13 Chris Petersen <cpetersen@apple.com>
-
- Changes by Darin.
- Reviewed by me.
-
- - fixed problems building deployment due to recent init change
-
- * WebView.subproj/WebArchive.m: (-[WebArchive initWithCoder:]):
- Put the [super init] call and check for nil outside the exception handler.
- * WebView.subproj/WebResource.m: (-[WebResource initWithCoder:]): Ditto.
-
-2005-06-12 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed <rdar://problem/4141569> REGRESSION (412+): printing fails on any page with images, and for standalone images
- also <http://bugs.webkit.org/show_bug.cgi?id=3318>
-
- * WebCoreSupport.subproj/WebImageData.m: Got rid of use of tabs instead of spaces throughout the file.
- (-[WebImageData _checkSolidColor:]): Wrap use of NSGraphicsContext with an autorelease pool.
- (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]): Ditto.
- (-[WebImageData tileInRect:fromPoint:context:]): Ditto.
- (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]): Ditto.
-
-2005-06-12 Darin Adler <darin@apple.com>
-
- Changes by Nick Zitzmann.
- Reviewed by me.
-
- - fixed init methods that don't handle return values from the init methods they call
-
- * WebView.subproj/WebArchive.m:
- (-[WebArchive init]): Use value returned by init, check it for nil too.
- (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Ditto.
- (-[WebArchive _initWithPropertyList:]): Ditto.
- (-[WebArchive initWithCoder:]): Ditto.
- * WebView.subproj/WebClipView.m:
- (-[WebClipView initWithFrame:]): Ditto.
- * WebView.subproj/WebDebugDOMNode.m:
- (-[WebDebugDOMNode initWithName:value:source:children:]): Ditto.
- * WebView.subproj/WebFrame.m:
- (-[WebFormState initWithForm:values:sourceFrame:]): Ditto.
- (-[WebFrame initWithName:webFrameView:webView:]): Ditto.
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView initWithFrame:]): Ditto.
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation init]): Ditto.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView initWithFrame:]): Ditto.
- (-[WebTextCompleteController initWithHTMLView:]): Ditto.
- * WebView.subproj/WebImageView.m:
- (-[WebImageView initWithFrame:]): Ditto.
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences initWithIdentifier:]): Ditto.
- * WebView.subproj/WebRenderNode.m:
- (-[WebRenderNode initWithName:position:rect:view:children:]): Ditto.
- * WebView.subproj/WebResource.m:
- (-[WebResource init]): Ditto.
- (-[WebResource initWithCoder:]): Ditto.
- * WebView.subproj/WebView.m:
- (-[WebViewPrivate init]): Call super init.
- (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]): Use value returned by init, check it for nil too.
- (-[WebView initWithFrame:]): Ditto.
-
-2005-06-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Chris Blumenberg.
-
- - fixed <rdar://problem/4142247> REGRESSION: List to browse widgets at Apple website failed. Closing tab afterwards caused Safari crash
- http://bugs.webkit.org/show_bug.cgi?id=3445
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]): Stop loading the non-provisional data
- source before swapping in the provisional.
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Stop only
- the provisional load here, we would not want to stop loading if this navigation
- later turns into a download or is cancelled before being committed.
- (-[WebFrame stopLoading]): Factored a bit.
- (-[WebFrame _cancelProvisionalLoad]): New method to stop only provisional load,
- and cancel any pending policy deicions.
- (-[WebFrame _stopNonProvisionalLoadOnly]): New mthod that stops only the main
- load.
-
-2005-06-10 John Sullivan <sullivan@apple.com>
-
- reviewed by Dave Harrison (first & second drafts) and Darin Adler (third draft)
-
- - WebKit part of fix for
- <rdar://problem/4145214> REGRESSION (412+): Can't drag URLs from the location bar
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (+[NSPasteboard initialize]):
- Reinstate variation of old code that uses CreatePasteboardFlavorTypeName to set up our new pasteboard types.
- The newfangled way didn't work.
-
-2005-06-07 Darin Adler <darin@apple.com>
-
- Change by Mark Rowe <opendarwin.org@bdash.net.nz>.
- Reviewed by me.
-
- - fixed the WebKit half of build failure with spaces in the path
- http://bugs.webkit.org/show_bug.cgi?id=3291
-
- * WebKit.pbproj/project.pbxproj: Quote DERIVED_FILE_DIR when it is substituted
- into FRAMEWORK_SEARCH_PATHS, and SYMROOT when into HEADER_SEARCH_PATHS.
-
-2005-06-06 Darin Adler <darin@apple.com>
-
- * Info.plist: Bumped version to 412+. For some reason it was set to 312.1!
-
-2005-06-05 Darin Adler <darin@apple.com>
-
- Reviewed by Hyatt.
-
- - fixed build that I broke with the license change (some includes of WebException were still around)
-
- * WebKit.pbproj/project.pbxproj: Removed references to WebException.h/m.
- * WebView.subproj/WebDataSource.m: Removed include of WebException.h.
- * WebView.subproj/WebHTMLView.m: Ditto.
- * WebView.subproj/WebView.m: Ditto.
-
- - fixed build under gcc 4.0 (some code moved here from Foundation had warnings)
-
- * Misc.subproj/WebNSDataExtras.m:
- (-[NSString _web_capitalizeRFC822HeaderFieldName]): Use char instead of UInt8.
- (-[NSData _webkit_guessedMIMEType]): Use char instead of UInt8, and take out now-
- unneeded type casts.
-
-2005-06-05 Darin Adler <darin@apple.com>
-
- - added appropriate license headers to most files and updated copyright to reflect publication dates
-
- * LICENSE: Added.
- * <lots of files>: Added license header.
-
- * WebKit.pbproj/project.pbxproj: Removed references to NP_objc.h.
-
- * API-Issues.rtf: Removed.
- * Misc.subproj/WebException.h: Removed.
- * Misc.subproj/WebException.m: Removed.
- * Plugins.subproj/NP_objc.h: Removed.
-
-2005-06-01 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - WebKit part of fix for <rdar://problem/3166090> add IE JavaScript extension window.showModalDialog
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createModalDialogWithURL:]): Added. Calls the UI delegate, falling back to the generic
- "create WebView" method.
- (-[WebBridge canRunModal]): Added. Checks the UI delegate to see if it implements runModal.
- (-[WebBridge canRunModalNow]): Added. Checks the "inConnectionCallback" field so we can prevent
- deadlock since we can't do any I/O while inside a connection callback until this aspect of NSURLConnection
- is changed.
- (-[WebBridge runModal]): Added. Sets "defersCallbacks" on all other web views in the group, then
- calls runModal on the UI delegate.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.h: Added inConnectionCallback class method.
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Bump count and then
- decrement count so we can tell if we are in a callback.
- (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): Ditto.
- (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): Ditto.
- (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): Ditto.
- (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): Ditto.
- (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): Ditto.
- (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Ditto.
- (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): Ditto.
- (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): Ditto.
- (+[WebBaseResourceHandleDelegate inConnectionCallback]): Added. Return YES if count is not 0.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedError:]): Changed to use the method without the connection: parameter
- in the base class, since we no longer are overriding the connection: version.
- (-[WebMainResourceClient willSendRequest:redirectResponse:]): Change to override the version without
- the connection prefix/parameter; now only the base class overrides the actual connection delegate methods.
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
- (-[WebMainResourceClient didReceiveResponse:]): Ditto.
- (-[WebMainResourceClient didReceiveData:lengthReceived:]): Ditto.
- (-[WebMainResourceClient didFinishLoading]): Ditto.
- (-[WebMainResourceClient didFailWithError:]): Ditto.
- (-[WebMainResourceClient loadWithRequestNow:]): Call the method without the connection parameter.
-
- * WebView.subproj/WebUIDelegatePrivate.h: Added new SPI here that WebBrowser implements.
-
-2005-05-26 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fix build failure from when I removed WebCoreUnicode
-
- * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of WebUnicode.h that I missed.
- (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Switch from our own macros
- to the ICU macros for surrogate pairs.
- (widthForNextCharacter): Ditto.
-
-2005-05-26 David Harrison <harrison@apple.com>
-
- <rdar://problem/4120518> Mail: control-T in an empty message crashes mail
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge issueTransposeCommand]):
- New, to support transpose in JS.
-
-2005-05-26 Darin Adler <darin@apple.com>
-
- Reviewed by Richard and Dave Harrison.
-
- - eliminate WebCoreUnicode and use ICU directly instead
-
- * Misc.subproj/WebKitNSStringExtras.m: (canUseFastRenderer): Use u_charDirection directly.
- * WebCoreSupport.subproj/WebTextRenderer.m: Removed import of <WebCore/WebCoreUnicode.h>.
- * WebView.subproj/WebHTMLView.m: (+[WebHTMLView initialize]): Removed call to WebKitInitializeUnicode.
-
- * Misc.subproj/WebUnicode.h: Removed.
- * Misc.subproj/WebUnicode.m: Removed.
- * Misc.subproj/WebUnicodeTables.m: Removed.
-
- * WebKit.pbproj/project.pbxproj: Removed files.
-
-2005-05-24 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4097289> -[WebView elementAtPoint:] failing when WebView is nested and offset
-
- Code to determine the correct frame under the window point was
- converting the point incorrectly.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebView.m:
- (-[WebView _frameViewAtWindowPoint:]):
-
-2005-05-23 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin.
-
- - WebKit part of <rdar://problem/4125783> WebKit needs a way to control whether textareas are resizable
-
- * WebView.subproj/WebPreferencesPrivate.h:
- added private-for-now getter and setter for new preference
- * WebView.subproj/WebPreferenceKeysPrivate.h:
- added private preference key controlling whether textareas are resizable
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]):
- initial value of new preference is NO, so other clients' behavior doesn't change
- (-[WebPreferences textAreasAreResizable]):
- new getter
- (-[WebPreferences setTextAreasAreResizable:]):
- new setter
-
- * WebView.subproj/WebView.m:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
- update this new setting in WebCore
-
- * English.lproj/StringsNotToBeLocalized.txt:
- updated for these changes
-
-2005-05-23 Chris Blumenberg <cblu@apple.com>
-
- Changed type for identifier parameter in WebResourceLoadDelegate-related calls to id from NSString.
-
- Reviewed by kevin.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _opened]):
- (-[WebFrame _requestFromDelegateForRequest:identifier:error:]):
- (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
- (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]):
- * WebView.subproj/WebFrameInternal.h:
-
-2005-05-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/4098786> sync. XMLHttpRequest works w/o AllowNetworkAccess key because load delegate is not consulted
-
- Synchronous loads did not cause the willSendRequest method on the resource load delegate to be called. This is the method that Dashboard uses to enforce AllowNetworkAccess and this must be called to avoid exploits.
-
- Reviewed by sullivan.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then
- [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:] so synthetic resource load delegate
- methods are called and the data is saved as a WebResource for resources in the WebCore cache.
-
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call [WebFrame _requestFromDelegateForRequest:identifier:error:],
- respect its result, do the load and then call [WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]
- for synchronous loads
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _opened]): call [WebFrame _requestFromDelegateForRequest:identifier:error:] then
- [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:] so synthetic resource load delegate methods are called
- for subresrources in the page cache
-
- (-[WebFrame _requestFromDelegateForRequest:identifier:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
- This method calls identifierForInitialRequest and willSendRequest.
-
- (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]): new, was part of the removed _sendResourceLoadDelegateMessagesForURL:::
- This method calls the remaining resource load delegate messages.
-
- (-[WebFrame _saveResourceAndSendRemainingDelegateMessagesWithRequest:identifier:response:data:error:]): new, saves the resource and calls
- [WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]
-
- * WebView.subproj/WebFrameInternal.h:
-
-2005-05-17 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/4119282> clicking a link in an RTF file opens the link with NSWorkspace without the usual security checks or WebView delegate control
-
- Reviewed by mjs.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): pass the passed referrer to canLoadURL::: not [self referrer]
- (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
- * WebView.subproj/WebTextView.m:
- (-[WebTextView clickedOnLink:atIndex:]): call the loadURL bridge method so that security checks are made, command/option clicks work, policy delegate is consulted etc.
-
-2005-05-17 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/4120255> web archives on remote servers can be viewed directly (with major security issues); should download instead
-
- Reviewed by mjs.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the WebKit client has chosen to "use" a remote web archive, stop the load with an error
-
-2005-05-16 Darin Adler <darin@apple.com>
-
- - attempt to get things building under "Saffron" development tools
-
- * WebKit.pbproj/project.pbxproj: Use BUILT_PRODUCTS_DIR instead of SYMROOT.
-
-2005-05-13 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin.
-
- - fixed <rdar://problem/4093306> Safari crashes if Esc key is held down during series
- of authentication sheets
-
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel cancel:]):
- retain and autorelease self. This is a workaround for an AppKit key-handling issue, which I wrote up as:
- <rdar://problem/4118422> Key-down events can be sent to a closed window if a key is kept pressed down
-
-2005-05-12 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin.
-
- - rolled in changes from experimental-ui-branch to support resizable textareas
- and find-as-you-type and confirming unsubmitted form changes. The files/functions
- modified are listed just below. After that are the ChangeLog comments from the branch.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge textDidChange:]):
- * WebView.subproj/WebFormDelegate.h:
- * WebView.subproj/WebFormDelegate.m:
- (-[WebFormDelegate textDidChange:inFrame:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView maintainsInactiveSelection]):
- (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
- (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
- * WebView.subproj/WebView.m:
- (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
- (-[WebView searchFor:direction:caseSensitive:wrap:]):
- (-[WebView makeTextStandardSize:]):
- (-[WebView maintainsInactiveSelection]):
- * WebView.subproj/WebViewPrivate.h:
-
- 2005-04-18 John Sullivan <sullivan@apple.com>
-
- WebKit support for notifying a form delegate when a
- textarea's contents have changed (as opposed to a
- textfield, which was already handled).
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebFormDelegate.h:
- * WebView.subproj/WebFormDelegate.m:
- (-[WebFormDelegate textDidChange:inFrame:]):
- new form delegate method
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge textDidChange:]):
- new method, calls through to form delegate
-
- 2005-04-11 John Sullivan <sullivan@apple.com>
-
- Fixed inability to wrap around in Find in Page
-
- * WebView.subproj/WebView.m:
- (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
- changed wrapFlag from NO to YES on two lines (copy/paste error)
-
- 2005-04-07 John Sullivan <sullivan@apple.com>
-
- WebKit support for find-as-you-type. Needed an additional parameter on
- a method from WebDocumentSearching protocol. Since that's a public protocol,
- I couldn't just add the parameter. For now I hacked it with an undeclared
- internal method that's discovered via respondsToSelector. Probably the right
- long-term approach is to deprecate the WebDocumentSearching protocol and introduce
- a replacement that has a more flexible set of parameters for possible future
- expansion.
-
- Reviewed by Dave Hyatt.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
- now calls new one-more-parameter version passing NO for new parameter to match old behavior
- (-[WebHTMLView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
- new method, adds findInSelection parameter and passes it through to bridge
-
- * WebView.subproj/WebView.m:
- (-[WebView searchFor:direction:caseSensitive:wrap:]):
- now calls new one-more-parameter version passing NO for new parameter to match old behavior
- (-[WebView _searchFor:direction:caseSensitive:wrap:findInSelection:]):
- new method, adds findInSelection parameter and passes it through
-
- 2005-04-07 John Sullivan <sullivan@apple.com>
-
- WebKit support to allow clients to control whether the selection is still
- drawn when the first responder is elsewhere. Formerly this was hardwired
- to be true only when -[WebView isEditable] was true.
-
- Reviewed by Darin.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView maintainsInactiveSelection]):
- check [WebView maintainsInactiveSelection] rather than just [WebView isEditable]
-
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebView maintainsInactiveSelection]):
- new method for clients to override, returns -[self isEditable]
-
-
-2005-05-10 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin.
-
- - WebKit support for <rdar://problem/3795701> Menu item/keyboard shortcut to
- restore text zoom to normal
-
- * WebView.subproj/WebView.m:
- (-[WebView validateUserInterfaceItem:]):
- validate makeTextStandardSize by calling canMakeTextStandardSize
- (-[WebView canMakeTextStandardSize]):
- new method, returns YES unless text size multiplier is currently 1
- (-[WebView makeTextStandardSize:]):
- new method, sets text size multiplier to 1
-
- * WebView.subproj/WebViewPrivate.h:
- add makeTextStandardSize: and canMakeTextStandardSize to pending public category
-
-2005-05-10 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris.
-
- - fixed <rdar://problem/4067981> Mail places RTF flavor before RTFD flavor when dragging
- mixed image/text content.
-
- * WebView.subproj/WebHTMLView.m:
- (+[WebHTMLView _selectionPasteboardTypes]):
- put RTFD type before RTF type in array of types to declare
-
-2005-05-09 Chris Blumenberg <cblu@apple.com>
-
- Turned assertion into error message to prevent crash when encountering this bug:
- <rdar://problem/4067625> connection:willCacheResponse: is called inside of [NSURLConnection initWithRequest:delegate:]
-
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate loadWithRequest:]): set flag to track when we're initializing the connection
- (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): log error
-
-2005-05-09 Darin Adler <darin@apple.com>
-
- * Makefile.am: Don't set up PBXIntermediatesDirectory explicitly;
- Not needed to make builds work, spews undesirable error messages too.
-
-2005-05-06 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - make building multiple trees with make work better
-
- * Makefile.am: Set up Xcode build directory before invoking xcodebuild.
-
-2005-05-04 Darin Adler <darin@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - fixed layout tests
-
- * WebKit.pbproj/project.pbxproj: Set deployment target to 10.3 in the build styles.
- When built without a build style (by Apple B&I) we want to get the target from the
- environment. But when built with a build style (by Safari engineers and others), we want
- to use 10.3. Because our deployment target was not set, we ran into this bug:
-
- <rdar://problem/4108717> CTFontGetGlyphWithName doesn't work with some strings
-
- * Makefile.am: Took out extra parameters that make command-line building different from
- Xcode building. Now that this is fixed, you should not get a full rebuild if you switch
- from command line to Xcode or back.
-
-2005-05-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/4078417> REGRESSION (125-412): MLB gameday page doesn't update (Flash)
- <rdar://problem/4072280> XMLHttpRequest calls onReadyStateChange callback with bogus status value
-
- Reviewed by john.
-
- Our WebKit-level caching of subresources "dumbed-down" information held in NSURLResponse. This caused some loads to lack response headers and thus disabling cache directives. Status codes were also not retained and this caused XMLHttpRequest to fail frequently. The fix is to have WebResource retain the NSURLResponse and to use the NSURLResponse when we decide to load from WebResources.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): call new [WebResource _initWithData:URL:response:]
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate _canUseResourceWithResponse:]): new, checks response cache directives
- (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceWithResponse:
- (-[WebBaseResourceHandleDelegate saveResource]): call new [WebResource _initWithData:URL:response:]
- * WebView.subproj/WebResource.m:
- (-[WebResourcePrivate dealloc]):
- (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call renamed _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:
- (-[WebResource initWithCoder:]): decode the NSURLReponse
- (-[WebResource encodeWithCoder:]): encode the NSURLReponse
- (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): take the NSURLReponse
- (-[WebResource _initWithData:URL:response:]): new
- (-[WebResource _initWithPropertyList:]): decode the NSURLReponse
- (-[WebResource _propertyListRepresentation]): encode the NSURLReponse
- (-[WebResource _response]): return ivar if we have one
- * WebView.subproj/WebResourcePrivate.h:
-
-2005-05-03 David Hyatt <hyatt@apple.com>
-
- Fix object element support so that fallback content works. With this change Safari passes the Acid2 test.
-
- Reviewed by Maciej
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge determineObjectFromMIMEType:URL:]):
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _receivedMainResourceError:complete:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
-
-2005-05-03 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebUIDelegate.h: Fixed incorrect comment.
-
-2005-05-01 Darin Adler <darin@apple.com>
-
- - move to Xcode native targets and stop checking in generated files
-
- * WebKit.pbproj/project.pbxproj: Updated to use native targets and generate all the generated
- files, so we don't have to check them in any more.
- * Info.plist: Added. Native targets use a separate file for this.
-
- * Plugins.subproj/npapi.m: Fixed import statement to get npapi.h from <WebKit/> rather than current directory.
-
- * Makefile.am: Removed timestamp cleaning rules since we don't use it any more.
-
- * .cvsignore: Removed various timestamp files.
-
- * DOM.subproj/DOM-compat.h: Removed.
- * DOM.subproj/DOM.h: Removed.
- * DOM.subproj/DOMCSS.h: Removed.
- * DOM.subproj/DOMCore.h: Removed.
- * DOM.subproj/DOMEvents.h: Removed.
- * DOM.subproj/DOMExtensions.h: Removed.
- * DOM.subproj/DOMHTML.h: Removed.
- * DOM.subproj/DOMPrivate.h: Removed.
- * DOM.subproj/DOMRange.h: Removed.
- * DOM.subproj/DOMStylesheets.h: Removed.
- * DOM.subproj/DOMTraversal.h: Removed.
- * DOM.subproj/DOMViews.h: Removed.
- * Plugins.subproj/WebScriptObject.h: Removed.
- * Plugins.subproj/npapi.h: Removed.
- * Plugins.subproj/npruntime.h: Removed.
- * copy-webcore-files-to-webkit: Removed.
- * embed-frameworks.sh: Removed.
- * force-clean-timestamp: Removed.
-
-2005-04-28 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed problems preventing us from compiling with gcc 4.0
-
- * WebKit.pbproj/project.pbxproj: Removed -fobjc-exceptions because I can't figure out an easy
- way to pass it only when compiling Objective-C/C++. Removed -Wmissing-prototypes from
- WARNING_CPLUSPLUSFLAGS since it's now a C-only warning.
-
- * History.subproj/WebHistoryItem.m: (-[WebHistoryItem pageCache]): Changed return type
- to match the declaration.
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
- Fixed a BOOL that should have been a Boolean.
- * WebCoreSupport.subproj/WebTextRenderer.m: Removed redundant copy of ROUND_TO_INT, also in
- a WebCore header.
- (-[WebTextRenderer _computeWidthForSpace]): Had to add cast because of difference in type of
- ROUND_TO_INT vs. CEIL_TO_INT.
- (pathFromFont): Added a cast to convert UInt8 * to char *.
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _setDocumentView:]): Fixed parameter type to match the declaration.
- (-[WebFrameView documentView]): Fixed return type to match the declaration.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- Initialized a variable to quiet an incorrect gcc 4.0 uninitialized variable warning.
- (-[WebHTMLView deleteToMark:]): Switched from @try style to NS_DURING style of exception handler
- because we can't pass -fobjc-exceptions just to Objective-C at the moment (see above).
- (-[WebHTMLView selectToMark:]): Ditto.
- (-[WebHTMLView swapWithMark:]): Ditto.
-
-2005-04-27 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dave Harrison.
-
- - fixed <rdar://problem/3547489> pop-up window blocking preference and
- menu item can easily get out of sync.
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences _setStringValue:forKey:]):
- save local value before setting value in NSUserDefaults, so clients reacting to NSUserDefaults
- change notification but calling back on WebPreferences API will see the updated value.
- (-[WebPreferences _setIntegerValue:forKey:]):
- ditto
- (-[WebPreferences _setBoolValue:forKey:]):
- ditto
-
-2005-04-26 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4098713> Scripting API is incompatible with Mozilla
-
- Reviewed by Chris.
-
- * Plugins.subproj/npfunctions.h:
- * Plugins.subproj/npruntime.h:
-
-2005-04-26 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3655817> please add support for mouse wheel events and the onmousewheel handler
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView scrollWheel:]): Call sendScrollWheelEvent: method
- instead of the old scrollOverflowWithScrollWheelEvent: (just a name change).
-
-2005-04-18 Darin Adler <darin@apple.com>
-
- Reviewed by Hyatt.
-
- - fixed <rdar://problem/4092614> REGRESSION (Tiger): progressively loaded background images "scroll around" instead of just appearing
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _imageSourceOptions]): Moved a global inside this function, since it's only used here.
- (-[WebImageData _cacheImages:allImages:]): Fixed a sizeof that was getting the size of the wrong thing.
- (-[WebImageData _isSizeAvailable]): Used calloc in a more consistent way.
- (drawPattern): Removed an unneeded cast.
- (-[WebImageData tileInRect:fromPoint:context:]): Here's the actual bug fix. Don't use the image size
- when deciding whether the image needs to be tiled as a pattern nor when creating the pattern: in both
- cases, use the tile size. The old way was wrong, and the new way works perfectly. Also removed uneeded
- error message when the image is not yet loaded enough to create a CGImageRef for it -- it's fine to
- draw nothing in that case.
-
-2005-04-14 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]):
- Beefed up assertion that's been bugging me and Chris to include
- the two troublemaking values.
-
-2005-04-05 David Hyatt <hyatt@apple.com>
-
- Fix for 4077106, wheel scroll amount smaller in Tiger. All along wheeling should have been 4x the default
- line height of 10 (just as arrow keys did). Scroll arrows should have done this too for scroll views (they did
- already for overflow sections). This patch puts the override into the scrollview itself, and removes the
- multipliers in the private frame methods.
-
- Reviewed by darin
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _verticalKeyboardScrollDistance]):
- (-[WebFrameView initWithFrame:]):
- (-[WebFrameView _horizontalKeyboardScrollDistance]):
-
-=== WebKit-312.1 ===
-
-2005-03-31 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/4070729> REGRESSION (125-311, Panther-only?): Safari crashes while reloading "My eBay" page
-
- Reviewed by rjw.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate resourceData]): retain and autorelease resourceData since releaseResources (which releases resourceData) may be called before the caller of this method has an opporuntity to retain the returned data
-
-=== Safari-412 ===
-
-=== Safari-411 ===
-
-2005-03-23 Richard Williamson <rjw@apple.com>
-
- Use Patti Yeh's hack to determine the appropriate rectangle
- to place the "associated word" window.
- If there is no marked text firstRectForCharacterRange: will
- use the selected range to determine the returned rectangle,
- ignoring the input range. This is the fix from
- 4029491 that I previously backed out.
-
- Reviewed by Vicki.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView firstRectForCharacterRange:]):
-
-2005-03-23 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4062490> REGRESSION (WebKit-408): no subresources reported in Activity window after going back at hrweb.apple.com
-
- Stop collecting subresource responses after the document
- had loaded, not after it has been opened.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _setState:]):
- (-[WebFrame _opened]):
-
-2005-03-21 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy
-
- * Plugins.subproj/WebPluginContainerCheck.h: Added.
- * Plugins.subproj/WebPluginContainerCheck.m: Added this new helper class to encapsulate
- an async plugin navigation check.
- (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:]): Convenience allocator that gives autoreleased value.
- (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]): Initializer.
- (-[WebPluginContainerCheck finalize]): Just assert that we're done, it would
- be bad to deallocate this object while request is still outstanding.
- (-[WebPluginContainerCheck dealloc]): Ditto.
- (-[WebPluginContainerCheck _continueWithPolicy:]): Method to continue after async
- policy check.
- (-[WebPluginContainerCheck _isDisallowedFileLoad]): Do "file: URL from remote content"
- check.
- (-[WebPluginContainerCheck _actionInformationWithURL:]): Helper to make action
- dictionary.
- (-[WebPluginContainerCheck _askPolicyDelegate]): Call policy delegate to let
- the app decide if this load is allowed.
- (-[WebPluginContainerCheck start]): Start the check.
- (-[WebPluginContainerCheck cancel]): Cancel a check in progress.
- * Plugins.subproj/WebPluginController.h:
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController initWithDocumentView:]): Initialize new _checksInProgress field.
- (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Implement
- this new SPI method.
- (-[WebPluginController _cancelOutstandingChecks]): New helper to make sure to cancel
- all outstanding requests when destroying all plugins.
- (-[WebPluginController destroyAllPlugins]): Call above helper.
- (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Implement this new plug-in SPI method.
- (-[WebPluginController bridge]): New helper method.
- (-[WebPluginController webView]): New helper method.
- * WebView.subproj/WebPolicyDelegatePrivate.h: Add new navigation
- type WebNavigationTypePlugInRequest.
- * WebKit.pbproj/project.pbxproj: Add new files.
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Don't open externally on a plug-in request.
-
-2005-03-23 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews
-
- We now use actual document NSRanges to represent both marked text
- ranges and selection ranges.
-
- Reviewed by Ken Kocienda.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView validAttributesForMarkedText]):
- (-[WebHTMLView firstRectForCharacterRange:]):
- (-[WebHTMLView selectedRange]):
- (-[WebHTMLView markedRange]):
- (-[WebHTMLView _selectMarkedText]):
- (-[WebHTMLView setMarkedText:selectedRange:]):
-
-=== Safari-410 ===
-
-2005-03-22 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-=== Safari-409 ===
-
-2005-03-20 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4060020> Add stub version of security SPI for QuickTime plug-in so QuickTime team has something to compile and link against
-
- * Plugins.subproj/WebPluginContainerPrivate.h: Added.
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]):
- (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
- * WebKit.pbproj/project.pbxproj:
-
-2005-03-19 David Harrison <harrison@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/4059479> Misspelling underline does underline the whole word, could go farther to the right
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer misspellingLinePatternGapWidth]):
- (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
- Consider that the last pixel in the underline dot pattern is transparent.
-
-2005-03-19 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej (a while back).
-
- - fixed <rdar://problem/4059323> local-file security check is allowing plug-in streams, but must not
-
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
- Roll out change I made on 3-13. That change is needed for subresource, but not for plug-in streams.
- For plug-in streams it's too risky, and leaves a serious security hole open.
-
-2005-03-19 Darin Adler <darin@apple.com>
-
- Reviewed by Ken and John.
-
- - fixed <rdar://problem/4059123> REGRESSION (402-403): deleteWordForward: and deleteWordBackward: start deleting single characters after the first delete
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
- Fixed backwards logic in here and added missing check. Set action to one of the two typing actions only
- if isTypingAction is YES.
-
-2005-03-19 David Harrison <harrison@apple.com>
-
- Reviewed by me (written by Patti Yeh).
-
- <rdar://problem/4029491> <TCIM> CangJie: the candidate window appears at the top left hand corner during typing in Mail and iChat
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView firstRectForCharacterRange:]):
- Use selected range if there is no marked range.
-
-=== Safari-408 ===
-
-2005-03-18 David Harrison <harrison@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView webCoreBridge]):
- New to conform to WebCoreBridgeHolder protocol.
-
-2005-03-18 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4057004> Data from XMLHTTPRequest is never dealloced
-
- WebDataSource keeps an array of all the NSURLResponses associated
- with the load for a page. This is used to playback delegate messages
- when loading from the page cache. However, after the document
- has completed it's initial load, we continue to keep track of responses.
- So, this has the consequence of keeping all the responses for a page
- around for the life of the page. NSURLResponses are now very
- heavy. They indirectly reference the resource data (via the
- download assessment dictionary). This fix will keep
- references to responses around for those resources loaded during initial
- page load, but not after that point.
-
- Reviewed by Ken.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _addResponse:]):
- (-[WebDataSource _stopRecordingResponses]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _opened]):
-
-2005-03-18 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/4053729> Copy/paste of page with frames into Blot or Mail does nothing and loses insertion point
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _selectedArchive]): Wrap frameset documents in an iframe, so they can be pasted into
- existing documents which will have a body or frameset of their own.
-
-=== Safari-407 ===
-
-2005-03-17 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4055562> REGRESSION (Tiger): Safari doesn't draw progressively-loaded JPEGs (www.theregister.co.uk, www.titantalk.com)
-
- Anothe side effect of lazy loading of image meta data. We now
- don't cache image size until size meta data is actually available.
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData size]):
-
-2005-03-16 David Harrison <harrison@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements
-
- Also changed WebCore.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _shouldDeleteRange:]):
- Added call to new bridge method canDeleteRange.
-
-2005-03-16 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/4042935> undo doesn't work properly during inline input
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView setMarkedText:selectedRange:]): Call new -[WebCoreBridge replaceMarkedTextWithText:] instead of
- -[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]. The former call was just added in
- order to provide a better mapping of international text input onto the typing command/undo design.
-
-2005-03-15 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
-
- If client mutates request use new Foundation SPI to address remove applewebdata properties from request.
-
- Reviewed by Ken Kocienda.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
- * WebView.subproj/WebDataProtocol.h:
- * WebView.subproj/WebDataProtocol.m:
- (+[NSURLRequest _webDataRequestPropertyKey]):
-
-2005-03-15 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Vicki
-
- Fox for this bug:
-
- <rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing
-
- Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
- keystrokes grouped together in a single undo operation. My change on 27 Jan to route delete keystrokes
- through _deleteRange:killRing:... made this feature regress. Previous to that change, the backwards delete
- key went through separate code that is no longer in the tree that did not set the selection in the way
- it is done now.
-
- The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
- -[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the
- selection will act to close typing or not. The code changes below all add this new argument with the
- appropriate value for closeTyping.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Passes NO for closeTyping when
- deletionAction is deleteKeyAction or forwardDeleteKeyAction; YES when deleteSelectionAction.
- (-[WebHTMLView _expandSelectionToGranularity:]): Passes YES for closeTyping.
- (-[WebHTMLView selectToMark:]): Passes YES for closeTyping.
- (-[WebHTMLView swapWithMark:]): Passes YES for closeTyping.
- (-[WebHTMLView transpose:]): Passes YES for closeTyping.
- (-[WebHTMLView _selectMarkedText]): Passes NO for closeTyping.
- (-[WebHTMLView _selectRangeInMarkedText:]): Passes NO for closeTyping.
- * WebView.subproj/WebView.m:
- (-[WebView setSelectedDOMRange:affinity:]): Passes YES for closeTyping.
-
-2005-03-14 Richard Williamson <rjw@apple.com>
-
- Fix <rdar://problem/4051389> 8A413: gifs animating too fast
-
- Reviewed by Maciej.
-
- Match Mozilla's policy for minimum frame duration, which is somewhat odd:
-
- <= 0.01 sec use .1 sec, otherwise use specified duration.
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _frameDurationAt:]):
-
-2005-03-14 Darin Adler <darin@apple.com>
-
- Reviewed by Harrison.
-
- - fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts
-
- * WebView.subproj/WebFrameInternal.h: Added _unmarkAllMisspellings.
- * WebView.subproj/WebFrame.m: (-[WebFrame _unmarkAllMisspellings]): Added.
- Calls unmarkAllMisspellings on the bridge and self and all subframes.
-
- * WebView.subproj/WebView.m: (-[WebView setContinuousSpellCheckingEnabled:]):
- Call _unmarkAllMisspellings on the main frame when turning continuous spell checking off.
-
-2005-03-14 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane
-
- The Acrobat application triggers loads of new documents in it's policy delegate. This
- ultimately causes the WebHTMLView to be released before their event handlers have
- returned. To bullet proof against this case we retain/release self before passing
- the event on for further handling.
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _updateMouseoverWithEvent:]):
- (-[WebHTMLView scrollWheel:]):
- (-[WebHTMLView mouseDown:]):
- (-[WebHTMLView mouseDragged:]):
- (-[WebHTMLView mouseUp:]):
- (-[WebHTMLView keyDown:]):
- (-[WebHTMLView keyUp:]):
- (-[WebHTMLView performKeyEquivalent:]):
-
-2005-03-14 Vicki Murley <vicki@apple.com>
-
- - roll out the fix for 4040321, since it is still pending CCC review.
-
- 2005-03-10 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
-
- Reviewed by Darin.
-
- If a delegate returns a mutated applewebdata: request in it's willSendRequest:
- method, we don't load using the WebDataRequest. Instead we do a normal load.
- Unfortunately, if the request they return is mutated *copy* of the applewebdata:
- request it will hold the applewebdata: special properties. These properties
- will be encoded into the cache. They should not be. So, to fix, we sanitize the
- request, by removing the special properties from the request.
-
- Note that we had to dig into the private guts of NSURLRequest because there is
- no public mechanism to remove properties from a request, see 4046775.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
- * WebView.subproj/WebDataProtocol.h:
- * WebView.subproj/WebDataProtocol.m:
- (-[NSURLRequest _webDataRequestExternalRequest]):
- (-[NSURLRequest _webDataRequestSanitize]):
-
-=== Safari-406 ===
-
-2005-03-13 Darin Adler <darin@apple.com>
-
- Reviewed by Ken and Maciej.
-
- - fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)
-
- * Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
- Allow plug-in subresource streams to load with any URL, ignoring the "canLoadURL" method's restriction (only
- file URLs can load other file URLs), which now applies only to main resources, like web pages in frames or
- object tags and plug-in main resources.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge startLoadingResource:withURL:customHeaders:]): Allow subresources to load with any URL, as above.
- This allows things like images, stylesheets, and JavaScript to be loaded without the "canLoadURL" method's
- restriction.
- (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
-
-2005-03-10 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance
-
- Reviewed by Darin.
-
- If a delegate returns a mutated applewebdata: request in it's willSendRequest:
- method, we don't load using the WebDataRequest. Instead we do a normal load.
- Unfortunately, if the request they return is mutated *copy* of the applewebdata:
- request it will hold the applewebdata: special properties. These properties
- will be encoded into the cache. They should not be. So, to fix, we sanitize the
- request, by removing the special properties from the request.
-
- Note that we had to dig into the private guts of NSURLRequest because there is
- no public mechanism to remove properties from a request, see 4046775.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
- * WebView.subproj/WebDataProtocol.h:
- * WebView.subproj/WebDataProtocol.m:
- (-[NSURLRequest _webDataRequestExternalRequest]):
- (-[NSURLRequest _webDataRequestSanitize]):
-
-=== Safari-405 ===
-
-2005-03-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Vicki.
-
- <rdar://problem/4046510> REGRESSION (TOT): All Flash and Shockwave plugin-based web content missing
-
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
-
-2005-03-10 John Sullivan <sullivan@apple.com>
-
- Reviewed by Vicki.
-
- - fixed <rdar://problem/4045843> Going back/forward to error page
- hits assertion in -[WebDataSource(WebPrivate) _setData:]
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _setData:]):
- Removed bogus assertion
-
-2005-03-09 Deborah Goldsmith <goldsmit@apple.com>
-
- Reviewed by Darin.
-
- - fixed <rdar://problem/3997044> default encoding for non-Latin incorrect
-
- * WebKit/WebView.subproj/WebPreferences.m: (+[WebPreferences _systemCFStringEncoding]):
- Call __CFStringGetUserDefaultEncoding to get region, and TECGetWebTextEncodings to get
- the first encoding to determine the default encoding.
-
-2005-03-09 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - fixed <rdar://problem/4034175> REGRESSION (Mail): Can't use any font with style Light/Condensed/Semibold/Extrabold, etc
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _styleFromFontAttributes:]): Use a constant instead of hard-coded weight for clarity.
- (-[WebHTMLView _originalFontA]): Ditto.
- (-[WebHTMLView _originalFontB]): Ditto.
- (-[WebHTMLView _addToStyle:fontA:fontB:]): Add code to detect the case where the family name is not good enough
- to specify the font precisely. In that case, use the Postscript font name instead. Also change variable names
- so it's easier to understand the method.
-
-2005-03-06 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView requestWithURLCString:]):
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView didStart]):
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]):
- (-[WebBridge startLoadingResource:withURL:customHeaders:]):
- (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]):
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
- (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _loadURL:referrer:intoChild:]):
- * WebView.subproj/WebFramePrivate.h:
-
-2005-03-09 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4032938> Safari: text layout for MS P Gothic font is corrupted
-
- The AppKit and ATS reports that MS P Gothic is fixed pitch. It is
- not! This is another case of "fixed pitch" being wrong. I've
- coalesced all the special cases into our isFontFixedPitch:, and
- used a dictionary to improve speed. No performance regression.
-
- Reviewed by Maciej.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _computeWidthForSpace]):
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory clearCaches]):
- (-[WebTextRendererFactory isFontFixedPitch:]):
-
-2005-03-09 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/4040388> REGRESSION (172-173): nonrepro crash in -[NSString(WebNSURLExtras) _web_isUserVisibleURL]
-
- * Misc.subproj/WebNSURLExtras.m:
- (-[NSString _web_isUserVisibleURL]): Fixed some pointer expressions that didn't include the index in the expression.
- (readIDNScriptWhiteListFile): Removed NSLog statements in here since we decided they aren't useful and they will
- write some messages on Tiger.
-
-2005-03-09 Darin Adler <darin@apple.com>
-
- * DOM.subproj/DOMPrivate.h: Checked in file copied from WebCore.
-
-2005-03-08 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4036949> many JPEG images fail to incremental-load due to change in ImageIO JPEG header parsing (to be fixed in WebKit)
- Fixed <rdar://problem/4042570> Need to check image properties for presence of width/height properties
-
- ImageIO-55 changed how image properties are created. They
- are now created incrementally. So we need "re-get" the image
- properties if the properties we care about (width/height) aren't
- in the property dictionary.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData init]):
- (-[WebImageData fileProperties]):
- (-[WebImageData propertiesAtIndex:]):
- (-[WebImageData _isSizeAvailable]):
- (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
- (-[WebImageData size]):
-
-2005-03-08 John Sullivan <sullivan@apple.com>
-
- A couple of tweaks to the previous patch, from Darin's review.
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (_writableTypesForImageWithoutArchive):
- remove unnecessary _web prefix
- (_writableTypesForImageWithArchive):
- ditto
- (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
- use mutableCopy rather than initWithArray:, and adjust for name changes
-
-2005-03-08 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/4031826> REGRESSION (Mail): standalone images from
- Safari can't be pasted into Mail (WebKit part of fix)
-
- We were always declaring webarchive-related pasteboard types, even in the standalone
- image cases where we had no webarchive. Unfortunately, the WebView pasteboard-related
- API doesn't prevent this kind of thing from happening, because the code that
- declares the types isn't guaranteed to be anywhere near the code that writes
- the pasteboard data.
-
- After this fix, I discovered that pasting standalone images into Mail still doesn't
- work right, but the remaining issues seem to be entirely in Mail. I wrote up 4041671
- to cover these.
-
- * Misc.subproj/WebNSPasteboardExtras.h:
- (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
- Added boolean parameter; clients must specify whether or not there's an
- archive involved, because the array of types is different if there is.
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (_web_writableTypesForImageWithoutArchive):
- new static function, constructs (once) and returns the array of types
- for images that don't have archives
- (_web_writableTypesForImageWithArchive):
- new static function, constructs (once) and returns the array of types
- for images that do have archives
- (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]):
- added boolean parameter, now calls one of the two new static functions
-
- (-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
- added asserts that we aren't declaring the archive types if we don't have archive data
-
- (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
- updated to pass parameter to _web_writableTypesForImageIncludingArchive:
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate copyImageToClipboard:]):
- updated to pass parameter to _web_writableTypesForImageIncludingArchive:
-
- * WebView.subproj/WebImageView.m:
- (-[WebImageView copy:]):
- updated to pass parameter to _web_writableTypesForImageIncludingArchive:
-
- * WebView.subproj/WebView.m:
- (-[WebView pasteboardTypesForElement:]):
- updated to pass parameter to _web_writableTypesForImageIncludingArchive:
-
-2005-03-07 Richard Williamson <rjw@apple.com>
-
- More bullet proofing for <rdar://problem/4038304> CrashTracer: ....9 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 840
-
- Protect against removal of Times and Times New Roman from
- system. If these fonts are removed attempt to get system font
- instead of FATAL_ALWAYS.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:usingPrinterFont:]):
-
-=== Safari-403 ===
-
-2005-03-06 Darin Adler <darin@apple.com>
-
- - fixed obvious mistake in IDN script code (luckily it hasn't been in a submission yet!)
-
- * Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Use "index" to index into the array,
- not "script", which is the script number, not the 32-bit-word index.
-
-2005-03-05 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin.
-
- Fixed: <rdar://problem/4038529> Infinite progress bar loading webcams and other sites that use multipart/x-mixed-replace
-
- The previous patch I landed prevented us from loading multipart/x-mixed-replace but did not always update the progress bar accordingly.
- This stops websites from having seemingly infinite progress in the browser UI.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient didReceiveResponse:]): If this is "multipart/x-mixed-replace", remove the WebBaseResourceHandleDelegate client from
- the datasource's subresource array, otherwise -[WebDataSource isLoading] incorrectly returns YES. Also it's possible at this point in
- time we're done loading now (loaded everything else except for the multipart/x-mixed-replace content) so go ahead and check to see if
- in fact we're complete.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient connection:didReceiveResponse:]): ditto
-
-2005-03-05 Richard Williamson <rjw@apple.com>
-
- Fixed panther build problem. Shouldn't include
- changes for 3968753 on panther.
-
- Reviewed by John.
-
- * WebView.subproj/WebView.m:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2005-03-05 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/4034603> REGRESSION (185-188): RadarWeb can't send enclosures anymore
-
- * WebView.subproj/WebFormDataStream.m:
- (closeCurrentStream): Release currentData when closing the stream.
- (advanceCurrentStream): Set up and retain currentData when the current stream is reading that data, so the
- data won't be released while in use.
- (formCreate): Initialize currentData to NULL.
-
- - fixed <rdar://problem/4037562> Tiger8A402: Help Viewer crashed when viewing help for iChat (infinite recursion in WebView)
-
- * WebView.subproj/WebView.m: (-[WebView _responderValidateUserInterfaceItem:]):
- Check for the case where we ourselves are the responder. This avoids an infinite loop.
- The actual code to perform operations avoids this with a global variable, but this lighter weight
- solution is sufficient here because validate operations don't call through to the next responder.
-
-2005-03-04 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3968753> REGRESSION: Poor performance with differing multiple animated GIFs (was fast in Panther)
-
- Disable coalesced updates (in CG). This restores the
- panther behavior.
-
- Reviewed by David Harrison.
-
- * WebView.subproj/WebView.m:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2005-03-04 Adele Amchan <adele@apple.com>
-
- Reviewed by Darin.
-
- * English.lproj/StringsNotToBeLocalized.txt: added new strings "text/x-vcf" and "text/x-csv" to the list
-
-2005-03-04 Adele Amchan <adele@apple.com>
-
- Reviewed by Chris.
-
- Fix for <rdar://problem/4032982> Sun iPlanet app: not able to import AddressBook CSV format addresses properly
- Fix for <rdar://problem/4032985> Sun iPlanet app: not able to import vCard format addresses properly
-
- * WebView.subproj/WebTextView.m:
- (+[WebTextView unsupportedTextMIMETypes]): added "text/x-csv" and "text/x-vcf" to the list of MIME types that our text view doesn't handle
-
-2005-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/4036817> REGRESSION: ctrl-y broken when a line + carriage return cut
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Merged _handleKillRing behavior
- into this function, since there's now a more-complicated way the startNewKillRingSequence boolean needs to
- be handled. Set the startNewKillRingSequence boolean after the entire process so changing the selection before
- and during the editing dosn't clear it. Also change "isTypingAction" parameter to "deletionAction" so we can
- handle forward delete with this method.
- (-[WebHTMLView _deleteSelection]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
- which is the way to say the same thing using the new parameter.
- (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Refactor to use the _deleteRange
- method above. Also calls _shouldDeleteRange: for the pre-existing selection case; not doing that before was
- a bug.
- (-[WebHTMLView deleteToMark:]): Pass deleteSelectionAction for action rather than NO for isTypingAction,
- which is the way to say the same thing using the new parameter.
-
-2005-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/4020413> REGRESSION (Mail): can't use fonts with names that start with "#" in Mail (Korean fonts)
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _styleFromFontAttributes:]): Quote font name when calling setFontFamily.
- (-[WebHTMLView _addToStyle:fontA:fontB:]): Ditto.
-
-2005-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3965666> IDN spoofing vulnerability caused by Unicode characters that look like ASCII characters
-
- * Misc.subproj/WebNSURLExtras.m:
- (readIDNScriptWhiteListFile): Added. Reads file and parses script names.
- (readIDNScriptWhiteList): Added. Calls readIDNScriptWhiteList on each of the white list locations in succession.
- (allCharactersInIDNScriptWhiteList): Renamed from containsPossibleLatinLookalikes and changed sense.
- Now calls readIDNScriptWhiteList first time, and then uses the read-in list to check the scripts.
- (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call allCharactersInIDNScriptWhiteList instead of
- containsPossibleLatinLookalikes.
- * Resources/IDNScriptWhiteList.txt: Added.
- * WebKit.pbproj/project.pbxproj: Added IDNScriptWhiteList.txt file.
-
- * Misc.subproj/WebKitLocalizableStrings.m: Removed. This is simply unused.
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2005-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3937667> REGRESSION (Mail): Zooming a window from titlebar button doesn't paint newly-exposed portions of window
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
- Re-set-up the visRect if the bounds changes due to layout.
-
-=== Safari-402 ===
-
-2005-03-03 Jens Alfke <jens@apple.com>
-
- Reviewed by rjw.
-
- <rdar://problem/3991818> REGRESSION: Images scale while loading
- The code could crop an image when not all the scanlines were available yet, and it could crop when only a sub-rect of the image was to be drawn; but if it had to do both at once, it got the coordinates wrong. Fixed that.
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
-
-2005-03-01 David Hyatt <hyatt@apple.com>
-
- Fix for 3841186, scrollbar shows up disabled when it should not appear at all. Make sure updateScrollers
- is never allowed to be re-entrant from any call point by moving the guard inside the function itself.
-
- Reviewed by John Sullivan
-
- * WebView.subproj/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]):
- (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
-
-2005-03-02 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/4029010> Expose method to retrieve drag image for WebView's selection
-
- Reviewed by sullivan.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call _selectionDraggingImage
- (-[WebHTMLView _selectionDraggingImage]): new SPI for Mail, factored from previous method
- (-[WebHTMLView _selectionDraggingRect]): new SPI for Mail
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2005-03-02 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adele.
-
- - fixed <rdar://problem/4023337> Safari stops loading any page (-[NSCFDictionary setObject:forKey:]:
- attempt to insert nil key)
-
- It is very likely that the exception being hit is caused by the same problem as WebFoundation
- bug 4018486. This change makes the code robust against this kind of problem regardless.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate saveResource]):
- Don't call addSubresource if newly-created resource is nil (but do assert on debug builds).
- Also assert that originalURL and MIMEType are not nil.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource addSubresource:]):
- Don't add nil subresource to dictionary, but do assert on debug builds.
-
-=== Safari-401 ===
-
-2005-03-01 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- - fixed <rdar://problem/3987482> Format>Style>Italic is not enabled when a
- compose window is empty (works in Blot)
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView becomeFirstResponder]):
- call _updateFontPanel here so NSFontManager knows the right font for the menu
- items and the font panel
-
-2005-03-01 David Harrison <harrison@apple.com>
-
- Reviewed by Chris.
-
- <rdar://problem/3915560> Mail would like an SPI to enable "smart" text paste/drop
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _smartDeleteRangeForProposedRange:]):
- (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]):
- New.
-
-2005-02-28 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - WebKit part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links
- on frameset page gets stuck at end (tivofaq.com)
-
- This tab-to-links stuff has been in shaky condition ever since AppKit futzed with
- tabbing behavior in Tiger to add support for including the toolbar in the key loop.
- I made some changes months ago to compensate for that, but some cases, such as this
- one, still weren't fixed.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
- new bottleneck method, extracted from nextKeyViewOutsideWebFrameViews; handles
- nextKeyView or nextValidKeyView depending on parameter.
- (-[WebBridge nextKeyViewOutsideWebFrameViews]):
- now calls extracted method
- (-[WebBridge nextValidKeyViewOutsideWebFrameViews]):
- new method, calls new bottleneck method
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView nextValidKeyView]):
- when we're stuck at the end of a nextKeyView chain inside a nexted frame, use
- nextValidKeyViewOutsideWebFrameViews. Make sure we don't end up looking inside
- the web frame views while doing this.
-
-2005-02-25 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView updateFocusState]): Renamed from updateFocusDisplay. Added call to setWindowHasFocus: method.
- (-[WebHTMLView viewDidMoveToWindow]): Call method by new name.
- (-[WebHTMLView windowDidBecomeKey:]): Ditto.
- (-[WebHTMLView windowDidResignKey:]): Ditto.
- (-[WebHTMLView becomeFirstResponder]): Ditto.
- (-[WebHTMLView resignFirstResponder]): Ditto.
-
-=== Safari-400 ===
-
-2005-02-25 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4000962> 8A375: Help Viewer displays voiced sound and semi-voiced characters strangely (characters don't seem to be composed)
-
- Added special case for voiced marks.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (widthForNextCharacter):
-
-2005-02-25 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/4019823> Seed: Control-Y doesn't work
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Call _handleKillRing
- after setting the selection, since it uses the selection to get the text.
- (-[WebHTMLView _insertText:selectInsertedText:]): Check for empty string to avoid an assertion
- on the other side of the bridge when you yank the empty string.
-
-2005-02-24 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.
-
- If directionality is specified use that as initial directionality,
- rather than neutral directionality.
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (widthForNextCharacter):
-
-2005-02-24 Adele Amchan <adele@apple.com>
-
- Reviewed by Chris.
-
- Fix for <rdar://problem/4023393> Safari crashed in khtml::RenderObject::repaintAfterLayoutIfNeeded(QRect const&, QRect const&)
-
- We were crashing after hitting PageDown when viewing a pdf because
- WebKit was calling over to WebCore to scroll overflow areas.
- Since this only needs to be done if we're dealing with a WebHTMLView,
- I added a wrapper function to check the documentView before calling
- over to WebCore.
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _scrollOverflowInDirection:granularity:]): added wrapper function that checks if documentView is a WebHTMLView
- (-[WebFrameView scrollToBeginningOfDocument:]): uses new wrapper function now
- (-[WebFrameView scrollToEndOfDocument:]): uses new wrapper function now
- (-[WebFrameView _pageVertically:]): uses new wrapper function now
- (-[WebFrameView _pageHorizontally:]): uses new wrapper function now
- (-[WebFrameView _scrollLineVertically:]): uses new wrapper function now
- (-[WebFrameView _scrollLineHorizontally:]): uses new wrapper function now
-
-2005-02-24 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData resetAnimation]):
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer resetAnimation]):
- (-[WebInternalImage resetAnimation]):
- (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
-
-2005-02-24 Kevin Decker <kdecker@apple.com>
-
- Reviewed by John.
-
- Fixed <rdar://problem/3962401> Don't load multipart/x-mixed-replace content to prevent memory leak
-
- Since we're not going to fix <rdar://problem/3087535> for Tiger, we should not load multipart/x-mixed-replace content. Pages with such content contain what is essentially an infinite load and therefore may leak.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient connection:didReceiveResponse:]): Disabled loading of multipart/x-mixed-replace content until we fully implement server side push.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient didReceiveResponse:]): Ditto. Same exact thing for sub resources.
-
-
-2005-02-23 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/4021370> REGRESSION (Tiger): WebKit part of fix for
- shift-tab on tivofaq doing the wrong thing
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView becomeFirstResponder]):
- If our previousValidKeyView is nil or self (same as nil modulo AppKit oddness),
- look out of the box and get the previousValidKeyView of our webview.
-
-2005-02-23 Darin Adler <darin@apple.com>
-
- Reviewed by Hyatt.
-
- - fixed <rdar://problem/4010196> REGRESSION (125-186+): 8-character timestamps in gmail wrap to 2 lines (width:8ex; font-size:80%)
-
- * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer xHeight]): Return the maximum
- of the "x" height and width. Comment in the code explains why in more detail.
-
-2005-02-22 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3937203> when a div adds a scrollbar (overflow:auto) we do not get regions
-
- Compare regions after automatice scroll regions have been
- added.
-
- Reviewed by Maciej.
-
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge dealloc]):
- (-[WebBridge _compareDashboardRegions:]):
- (-[WebBridge dashboardRegionsChanged:]):
-
-2005-02-22 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4012463> Dashboard widgets don't work with authenticating proxies
-
- Added new SPI for dashboard that just calls default delegate
- behavior.
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebView.m:
- (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
- * WebView.subproj/WebViewPrivate.h:
-
-2005-02-22 Chris Blumenberg <cblu@apple.com>
-
- Reviewed by mjs.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge issuePasteAndMatchStyleCommand]): support for new "PasteAndMatchStyle" exec command
-
-=== Safari-188 ===
-
-2005-02-21 David Harrison <harrison@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/3943090> REGRESSION (Mail): Spelling underline incompletely erased following certain steps
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer misspellingLineThickness]):
- (-[WebTextRenderer misspellingLinePatternWidth]):
- Replaced #defines with these methods, so others can get the same info.
-
- (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
- Keep underline within originally specified bounds.
-
-
-2005-02-21 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/4016358> don't ever display IDN URLs with characters from "possible Latin look-alike" scripts
-
- * Misc.subproj/WebNSURLExtras.m:
- (containsPossibleLatinLookalikes): Added.
- (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call containsPossibleLatinLookalikes, and if true,
- don't decode the host name.
-
-2005-02-19 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Chris.
-
- Fixed <rdar://problem/4010765> Flash player can be used to arbitrarily open popup windows without user permission
-
- Our window.open() policy is to refuse the <script>window.open(...)</script> case and allow the inline the <a href="javascript:window.open('foo')> case. Clever advertisers at some point realized that by executing their Javascript through the Flash plugin, Safari would always treat their code as the inline case, and thus, they were able to work around our popup blocker.
-
- * Plugins.subproj/WebBaseNetscapePluginView.h: Addded currentEventIsUserGesture boolean ivar.
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendEvent:]): If at any point the user clicks or presses a key from within a plugin, set the currentEventIsUserGesture flag to true. This is important to differentiate legitimate window.open() calls originating from plugins; we still want to allow those.
- (-[WebBaseNetscapePluginView initWithFrame:]): In our asynchronous load, pass along currentEventIsUserGesture to the PluginRequest.
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Inform WebCore if this was a user originated gesture when calling executeScript().
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
- (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
- (-[WebPluginRequest isCurrentEventUserGesture]): Added.
-
-2005-02-18 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3945271> REGRESSION (Mail): pasted plain text should pick up typing style instead of being unstyled
-
- Reviewed by kocienda.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for matchStyle to replaceSelection
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]): return new chosePlainText parameter
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass chosePlainText for matchStyle to replaceSelection
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
-
-2005-02-17 Richard Williamson <rjw@apple.com>
-
- Removed code that should not have been checked in from
- last patch.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory isFontFixedPitch:]):
-
-2005-02-17 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
-
- Fixed w/o introducing a performance regression.
-
- Reviewed by Vicki (and earlier by Dave Harrison).
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _computeWidthForSpace]):
- (widthForNextCharacter):
- * WebCoreSupport.subproj/WebTextRendererFactory.h:
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[NSFont _web_isFakeFixedPitch]):
- (-[WebTextRendererFactory isFontFixedPitch:]):
- (-[WebTextRendererFactory fontWithFamily:traits:size:]):
-
-2005-02-17 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3959304> PDF in img tag is not rendered correctly anymore
-
- We were incorrectly adding image position when flipping coordinates.
-
- Reviewed by David Harrison.
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
-
-2005-02-17 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4007262> Seed: Flight tracker scrolling moves to the left
-
- Added SPI for dashboard to disable wheel scrolling of the WebClipView.
-
- Reviewed by Ken.
-
- * ChangeLog:
- * WebView.subproj/WebClipView.m:
- (-[WebClipView _focusRingVisibleRect]):
- (-[WebClipView scrollWheel:]):
- * WebView.subproj/WebView.m:
- (-[WebViewPrivate init]):
- (-[WebView drawRect:]):
- (-[WebView _dashboardBehavior:]):
- * WebView.subproj/WebViewInternal.h:
- * WebView.subproj/WebViewPrivate.h:
-
-=== Safari-187 ===
-
-2005-02-17 Vicki Murley <vicki@apple.com>
-
- - roll out this change, since it causes a 1.5% performance regression
-
- 2005-02-15 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
-
- Lie about Osaka-Mono. Treat it as fixed pitch, even though,
- strictly speaking it isn't. (Similar to what we do with
- Courier New.)
-
- Reviewed by David Harrison.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _computeWidthForSpace]):
- * WebCoreSupport.subproj/WebTextRendererFactory.h:
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[NSFont _web_isFakeFixedPitch]):
- (-[WebTextRendererFactory isFontFixedPitch:]):
- (-[WebTextRendererFactory fontWithFamily:traits:size:]):
-
-2005-02-17 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3997185> The Web view on .Mac Prefs caused System Prefs
- to lockup (resolved by re-boot only)
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge nextKeyViewOutsideWebFrameViews]):
- Don't allow recursion here; assert on debug build, return nil on deployment. I
- couldn't get my machine into a state to repro this problem (and neither could the
- originator), but it's obvious from the stack crawl that this method was recursing
- when it shouldn't have.
-
-2005-02-16 John Sullivan <sullivan@apple.com>
-
- Written by Darin, reviewed by me.
-
- - WebKit part of fix for <rdar://problem/4007384>
- FILTER: Bookmark of RSS with Japanese search word & multiple RSS pages loses filter
-
- * DOM.subproj/DOMPrivate.h:
- updated this file, which is a copy of the WebCore version
-
-2005-02-16 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3966973> Tiger 8A357: Binary Compatiblity: frequent Webstractor.app crashes [WebImageData _nextFrame]
-
- Webstractor.app was playing tricks to create thumbnails of
- pages. This caused the 'focusView' to be incorrect during
- animated GIF frame rendering.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
-
-2005-02-16 Vicki Murley <vicki@apple.com>
-
- Reviewed by me, code change by Darin.
-
- - fixed the build on Panther
-
- * WebView.subproj/WebFormDataStream.m: (webSetHTTPBody):
- Added a Panther-specific code path that just loads all the data into one big
- NSData object. This means that bug 3686434 won't be fixed on SUPanWheat; we'll
- still load the file into memory before sending it to the server on Panther.
-
-2005-02-15 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3998368> Tiger8A376: WebTextRenderer assertion failure in Safari while browsing news.bbc.co.uk
-
- Removed use of FATAL_ALWAYS from getUncachedWidth(). It's unclear
- why we would trigger the FATAL_ALWAYS. In the past we've seen
- the message triggered because of corrupt fonts. Anyway, in this
- particular case, we will now return 0 for the character width,
- rather than exiting.
-
- Reviewed by David Harrison.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (getUncachedWidth):
-
-2005-02-15 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3999467> when Osaka-Mono is specified as fixed width font, Osaka used instead
-
- Lie about Osaka-Mono. Treat it as fixed pitch, even though,
- strictly speaking it isn't. (Similar to what we do with
- Courier New.)
-
- Reviewed by David Harrison.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _computeWidthForSpace]):
- * WebCoreSupport.subproj/WebTextRendererFactory.h:
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[NSFont _web_isFakeFixedPitch]):
- (-[WebTextRendererFactory isFontFixedPitch:]):
- (-[WebTextRendererFactory fontWithFamily:traits:size:]):
-
-2005-02-14 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3686434> Safari uses too much RAM on file upload, leading to malloc errors and crashes (HP printers)
-
- * WebView.subproj/WebFormDataStream.h: Added webSetHTTPBody, which creates and connects an appropriate
- stream to an NSMutableURLRequest.
- * WebView.subproj/WebFormDataStream.m: Added implementation here.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- Use webSetHTTPBody.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]):
- Use webSetHTTPBody.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _loadItem:withLoadType:]): Use webSetHTTPBody.
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and other recent changes.
-
-2005-02-11 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4002505> 8A378: Endlessly animating gif's on http://www.entropy.ch
-
- If animated images had no loop count property we were incorrectly
- looping forver. Note, that in the course of fixing this bug
- I found that ImageIO is incorrectly NOT reporting the loop count
- for a whole class of animated GIFs.
-
- Reviewed by Ken Kocienda.
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _repetitionCount]):
-
-=== Safari-186 ===
-
-2005-02-11 Vicki Murley <vicki@apple.com>
-
- Reviewed by Darin.
-
- - fix deployment build on Panther
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView changeBaseWritingDirection:]): ifdef out NSWritingDirectionNatural
- (-[WebHTMLView toggleBaseWritingDirection:]): fix a spacing issue
-
-2005-02-10 David Harrison <harrison@apple.com>
-
- Reviewed by Richard.
-
- <rdar://problem/3991652> REGRESSION (Mail): Deleting entire line in reply deletes extra blank line and moves insertion point
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]):
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
- (-[WebHTMLView selectToMark:]):
- (-[WebHTMLView swapWithMark:]):
- (-[WebHTMLView transpose:]):
- (-[WebHTMLView _selectMarkedText]):
- (-[WebHTMLView _selectRangeInMarkedText:]):
- Adopt new default affinity of NSSelectionAffinityDownstream as of <rdar://problem/3937447>.
-
-2005-02-10 Darin Adler <darin@apple.com>
-
- Reviewed by Harrison.
-
- - fixed <rdar://problem/4002084> Setting ResourceLoadDelegate to nil can cause a crash
-
- * WebView.subproj/WebView.m: (-[WebView _cacheResourceLoadDelegateImplementations]):
- Set booleans to either YES or NO, rather than setting them only in the YES case.
-
-2005-02-10 Darin Adler <darin@apple.com>
-
- Reviewed by Harrison.
-
- - fixed <rdar://problem/3991225> Format->Style->Underline menu item does not get checked when selected text is underlined
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView validateUserInterfaceItem:]): Added tons of additional cases in here for all the
- "action" style methods in this class that don't always want to be valid. For the ones where state
- makes sense, added the state-checking code too for the menu item case.
- (-[WebHTMLView ignoreSpelling:]): Removed unnecessary "editable text only" check since this command
- would work fine on a non-editable selection.
- (-[WebHTMLView swapWithMark:]): Ditto.
- (-[WebHTMLView changeBaseWritingDirection:]): Added. Like toggle, but based on the sender's tag.
-
-2005-02-08 Darin Adler <darin@apple.com>
-
- "Reviewed" by Richard (he told me the file was obsolete).
-
- - got rid of an obsolete file
-
- * Plugins.subproj/npsap.h: Removed.
- * copy-webcore-files-to-webkit: Removed npsap.h.
-
-2005-02-09 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/4000073> non-screen font error on www.worldofwarcraft.com
-
- Reviewed by John Sullivan.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _smallCapsFont]):
-
-=== Safari-185 ===
-
-2005-02-07 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3993354> Safari claims to put RTFD on the pasteboard, but doesn't, in some cases
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _stripAttachmentCharactersFromAttributedString:]): moved
- (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]): take cachedAttributedString parameter in case the attributed string was gotten already
- (-[WebHTMLView _writeSelectionToPasteboard:]): omit RTFD from the types list when there are no attachments
-
-2005-02-07 David Harrison <harrison@apple.com>
-
- Reviewed by Ken.
-
- <rdar://problem/3990693> REGRESSION (8A373): ctrl-k now deletes just one character instead of line
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
- Set the selection so that deleteKeyPressedWithSmartDelete knows what to delete.
-
-2005-02-06 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed <rdar://problem/3963166> PDFView SPI print method is being deprecated, moving to PDFDocument; please update WebKit
-
- * WebView.subproj/WebPDFView.m: (-[WebPDFView printOperationWithPrintInfo:]): Target the document instead of the view.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes and also moved one translation to be a file-specific
- item rather than a file-independent one.
-
-2005-02-05 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3991974> REGRESSION: www.jabra.com world location screen does not work
-
- Reviewed by hyatt.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): use the baseURL from the bridge rather than from the response
-
-2005-02-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3802781> rtf->html pasteboard conversion using xhtml
-
- Reviewed by kocienda.
-
- * WebView.subproj/WebHTMLView.m:
- (+[WebHTMLView _excludedElementsForAttributedStringConversion]): new
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call _excludedElementsForAttributedStringConversion
-
-2005-02-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3832973> copy text from PowerPoint, paste into Blot (or presumably Mail) and get a single missing image icon
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): prefer RTF and RTFD over images just as NSTextView does
-
-2005-02-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3555137> REGRESSION (125-173): Flash animation can erase parts of chrome (bookmarks bar & tab bar)
-
- convertRect:toView: returns incorrect results inside of viewWillMoveToWindow: with a nil window. Workaround this by catching this case.
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): new
- (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in view when superviewsHaveSuperviews returns NO
-
-2005-02-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3893513> Sun iPlanet app: when saving to a file it brings up a window with the thing to be saved instead
-
- Reviewed by adele.
-
- * WebView.subproj/WebTextView.m:
- (+[WebTextView unsupportedTextMIMETypes]): added "text/ldif" to the list of MIME types that our text view doesn't handle
-
-=== Safari-183 ===
-
-2005-02-03 Chris Blumenberg <cblu@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: updated
-
-2005-02-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3989611> Evite style "add vCalendar to calendar" do not work
-
- Reviewed by adele.
-
- * WebView.subproj/WebTextView.m:
- (+[WebTextView unsupportedTextMIMETypes]): added "text/x-vcalendar" to the list of MIME types our text view doesn't handle
-
-2005-02-03 Vicki Murley <vicki@apple.com>
-
- Reviewed by Darin.
-
- - fix deployment build breakage on Panther
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView toggleBaseWritingDirection:]):
-
-2005-02-02 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris.
-
- - WebKit part of fix for <rdar://problem/3980651> REGRESSION (125-180): Huge number of pages printed from certain page,
- iFrame involved
-
- This also fixes the problems with printing from GMail, yay!
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
- Don't adjust margins for header/footer here, because this is called for each subframe.
- (-[WebHTMLView knowsPageRange:]):
- Do adjust margins for header/footer here (analogous to WebTextView and WebImageView).
- Also, round the page height to an integer here (noticed in passing).
-
-2005-02-02 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3986546> Cut, delete, and paste menu items are active when a image is opened in window
-
- Reviewed by john.
-
- * WebView.subproj/WebView.m:
- (-[WebView _responderValidateUserInterfaceItem:]): new, has the responder validate the item
- (-[WebView validateUserInterfaceItem:]): call VALIDATE for each repsonder selector using FOR_EACH_RESPONDER_SELECTOR macro
- (-[WebView _performResponderOperation:with:]): call factored out method _responderForResponderOperations
- (-[WebView _responderForResponderOperations]): new, code from _performResponderOperation:with:
-
-2005-02-02 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3983628> control-click on WebView is not selecting the word under the cursor (Mail, non-editable WebView)
-
- Reviewed by rjw.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge selectWordBeforeMenuEvent]): new
- * WebView.subproj/WebView.m:
- (-[WebView _selectWordBeforeMenuEvent]): new SPI
- (-[WebView _setSelectWordBeforeMenuEvent:]): new SPI
- * WebView.subproj/WebViewInternal.h:
- * WebView.subproj/WebViewPrivate.h:
-
-2005-02-02 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3986013> Assertion failure going back after page load error (no apparent problem in nondebug build)
-
- Reviewed by rjw.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _setPrimaryLoadComplete:]): don't set the data source data when the main client is nil
-
-2005-02-02 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3823109> WebKit should support -toggleBaseWritingDirection: (bidi editing support)
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]): New function that calls through to
- new feature that allows callers to force all properties in a style to be applied as block styles.
- (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]): Removed FIXME comment for something that has been fixed.
- (-[WebHTMLView toggleBaseWritingDirection:]): Implemented.
-
-2005-02-01 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3977727> WebKit should use new SPI to support faster GIF rendering
-
- Note: This REQUIRES build >= 3A362 when building on Tiger.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _imageSourceOptions]):
-
-=== Safari-182 ===
-
-2005-02-01 Richard Williamson <rjw@apple.com>
-
- Added new SPI for <rdar://problem/3967063> need spi on WebView to turn of lcd text for Dashboard
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (_drawGlyphs):
- * WebView.subproj/WebView.m:
- (-[WebView drawRect:]):
- (-[WebView _dashboardBehavior:]):
- (+[WebView _setShouldUseFontSmoothing:]):
- (+[WebView _shouldUseFontSmoothing]):
- * WebView.subproj/WebViewInternal.h:
- * WebView.subproj/WebViewPrivate.h:
-
-2005-01-31 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3949806> REGRESSION: Source window fails to refresh correctly on reload
-
- The data method was being called on WebDataSource before the data was set. This fix makes WebDataSource set the data before releasing the main client instead of waiting for the main client to set it when it is dealloced.
-
- Reviewed by darin.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _setData:]): moved within file
- (-[WebDataSource _setPrimaryLoadComplete:]): call _setData: with the data from the main client before letting go of the main client
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient releaseResources]): removed call to _setData: since the data source may need the data before releaseResources is called
-
-2005-01-31 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3946285> Seed: Safari crashed by selecting all at internet-moebel.com
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _hitViewForEvent:]): new, factored hit test hack to this method
- (-[WebHTMLView _updateMouseoverWithEvent:): call _hitViewForEvent:
- (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent: and _isSelectionEvent: on the hit HTMLView or else when it's asked to drag it will assert
- (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
-
-2005-01-31 David Harrison <harrison@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/3961239> AX Setting AXFocused on AXScrollArea of AXWebArea will cause keyboard selection change
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView maintainsInactiveSelection]):
- Keep the selection when the new first respomder is our own scrollview, in both editable and non-editaqble content.
-
-2005-01-31 Jens Alfke <jens@apple.com>
-
- Reviewed by John.
-
- - Fixed <rdar://problem/3903199> REGRESSION: Large background patterns slide around while loading
-
- * WebCoreSupport.subproj/WebImageData.m:
- (drawPattern):
- (-[WebImageData tileInRect:fromPoint:context:]):
-
-2005-01-30 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3965265> Safari displays HTML as source when default encoding is Hebrew (due to direction overrides added by encoding converter)
-
- * WebView.subproj/WebPreferencesPrivate.h: Added _systemCFStringEncoding, and changed
- _setInitialDefaultTextEncodingToSystemEncoding to be a class method.
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences _systemCFStringEncoding]): Added. New SPI to be used by Safari. Broken out of
- _setInitialDefaultTextEncodingToSystemEncoding, but also added cases for MacArabic and MacHebrew.
- (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Refactor to use _systemCFStringEncoding.
-
-2005-01-28 Jens Alfke <jens@apple.com>
-
- Reviewed by Richard.
-
- <rdar://problem/3727680> printing some page with WebKit generates a PDF with a 1x1 image with soft mask (causes Acrobat to hang during print spooling)
-
- Detect 1x1 images, extract and cache color of single pixel, reduce draw and tile operations to a color fill (or to a no-op if the pixel is clear.)
-
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _invalidateImages]):
- (-[WebImageData _checkSolidColor:]):
- (-[WebImageData _cacheImages:allImages:]):
- (-[WebImageData _fillSolidColorInRect:compositeOperation:context:]):
- (-[WebImageData tileInRect:fromPoint:context:]):
-
-2005-01-28 David Harrison <harrison@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch
-
- Use AppKit SPI _accessibilityParentForSubview to return KWQAccObject parent of AppKit AX object.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _accessibilityParentForSubview:]):
- New.
-
-2005-01-28 Chris Blumenberg <cblu@apple.com>
-
- WebKit side of: <rdar://problem/3951283> can view pages from the back/forward cache that should be disallowed by Parental Controls
-
- Reviewed by john.
-
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate webView:shouldGoToHistoryItem:]): new private delegate method
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _goToItem:withLoadType:]): call new delegate method
- * WebView.subproj/WebPolicyDelegatePrivate.h:
-
-2005-01-26 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin, Hyatt and Ken.
-
- <rdar://problem/3790449> REGRESSION (Mail): underline behavior is flaky because of how CSS handles text-decoration
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _styleFromFontAttributes:]): Use new -khtml-text-decorations-in-effect
- property
- (-[WebHTMLView _styleForAttributeChange:]): likewise
- (-[WebHTMLView underline:]): likewise
-
-2005-01-27 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Maciej
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _handleKillRing:prepend:]): New helper function. Code factored out from
- _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:.
- (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:isTypingAction:]): No longer takes
- unused preflight argument. Now takes new isTypingAction argument. Uses isTypingAction to
- determine which flavor of delete command to call.
- (-[WebHTMLView _deleteSelection]): No longer passes unused preflight argument. Now passes new isTypingAction argument.
- (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Rearranged code to call
- correct flavor of delete command, based on whether typing should be preserved. Some other cleanups.
- (-[WebHTMLView deleteForward:]): Add _isEditable check.
- (-[WebHTMLView deleteBackward:]): Now calls _deleteWithDirection instead of having unique behavior different
- from forward delete.
- (-[WebHTMLView deleteWordForward:]): Add new isTypingAction flag to _deleteWithDirection call.
- (-[WebHTMLView deleteWordBackward:]): Ditto.
- (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
- (-[WebHTMLView deleteToEndOfLine:]): Ditto.
- (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
- (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
- (-[WebHTMLView deleteToMark:]): Ditto.
-
-=== Safari-181 ===
-
-2005-01-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3973272> REGRESSION: Safari uses QT plugin to display PNG images
-
- Reviewed by john.
-
- * Plugins.subproj/WebBasePluginPackage.m: use renamed QT bundle ID
-
-2005-01-26 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3829517> WebView still draws white when setDrawsBackground set to NO and no content loaded yet
-
- * WebView.subproj/WebFrameView.m: (-[WebFrameView drawRect:]): Check drawsBackground, and don't
- draw the white "no document" background if it's NO. This fixes things for frames with no document.
- * WebView.subproj/WebImageView.m: (-[WebImageView drawRect:]): Same as above. This fixes things
- for frames with just an image.
- * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the
- document view if it implements it. This fixes things for frames with plain text.
-
-2005-01-25 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris.
-
- - WebKit part of fix for: <rdar://problem/3970670> Text context menu
- in WebKit needs "Look Up in Dictionary" item
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (localizedMenuTitleFromAppKit):
- return English string in the case where AppKit bundle is found but doesn't
- contain the expected string. This case will be hit by people testing with
- an older AppKit.
- (-[WebDefaultUIDelegate menuItemWithTag:]):
- create Look Up in Dictionary item
- (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
- add Look Up in Dictionary item and separator
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
- ditto
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
- new method, handles bringing up the Dictionary window. Includes FIXMEs
- for a couple of the known loose ends.
- (-[WebHTMLView validateUserInterfaceItem:]):
- handle Look Up in Dictionary item like the other new items
-
- * WebView.subproj/WebUIDelegatePrivate.h:
- added SPI constant for Look Up in Dictionary menu item
-
-2005-01-24 Maciej Stachowiak <mjs@apple.com>
-
- Fixed Panther build (missing ifdef)
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
-
-2005-01-24 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- - WebKit part of fix for <rdar://problem/3960231> Text context menu in WebKit needs Spotlight and Google items
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (localizedMenuTitleFromAppKit):
- new function, gets localized string from AppKit so we can avoid adding localized
- strings to WebKit at this late date in Tiger. Returns the non-localized English
- string if we can't find the localized string in AppKit.
- (-[WebDefaultUIDelegate menuItemWithTag:]):
- handle the two new menu items by tag name
- (-[WebDefaultUIDelegate contextMenuItemsForElement:]):
- add menu items for Search in Google and Search in Spotlight to selected-text menu item
- for the noneditable case
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]):
- add menu items for Search in Google and Search in Spotlight to selected-text menu item
- for the editable case
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _searchWithGoogleFromMenu:]):
- implement this menu item action method, using same method name and implementation as NSTextView
- (-[WebHTMLView _searchWithSpotlightFromMenu:]):
- implement this menu item action method, using same basic implementation as NSTextView
- (-[WebHTMLView validateUserInterfaceItem:]):
- validate new menu items
-
- * WebView.subproj/WebUIDelegatePrivate.h:
- define new tags for new menu items
-
- * English.lproj/StringsNotToBeLocalized.txt:
- updated for these changes
-
-2005-01-24 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- Do the same check as for view types, so the representation types are consistent.
-
-2005-01-24 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3791158> REGRESSION (Mail): copyFont: and pasteFont: copy and paste only the NSFont, not other attributes
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Added the last
- few loose ends here: strikethrough and underline.
-
- - fixed <rdar://problem/3967393> add a user default that lets you turn off WebKit PDF support
-
- * WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
- Leave the PDF-handling classes out of the dictionary if the secret default is set.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2005-01-20 Darin Adler <darin@apple.com>
-
- Reviewed by Kristin Forster.
-
- - fixed <rdar://problem/3964972> update _initWithCGSEvent:eventRef: call in mouse moved workaround (breaks cursors in Carbon WebKit applications)
-
- * Carbon.subproj/HIWebView.m: (MouseMoved): Instead of munging the event record's window number directly
- before calling _initWithCGSEvent, on Tiger we call _eventRelativeToWindow on the event after creating it.
- Also added a check so that with Macromedia Contribute's workaround in place we don't do anything at all
- to the event. Tested with both Contribute and CarbonWeb.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2005-01-20 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3815672> REGRESSION (Mail): Japanese text cannot be made bold
-
- The AppKit's font substitution API doesn't match font traits!
- It only find fonts that contain the appropriate glyphs. This
- patch attempts to find the best variation within a family.
-
- Reviewed by Maciej.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _substituteFontForString:families:]):
-
-=== Safari-180 ===
-
-2005-01-20 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Fix for this bug:
-
- <rdar://problem/3786659> REGRESSION (Mail): editable WebViews don't work with "size up" and "size down" NSFontManager changes
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _addToStyle:fontA:fontB:]): This is the WebKit side of the fix. Replaced unimplemented code blocks
- with FIXME's in them for make bigger and make smaller with real working code.
-
-2005-01-19 David Hyatt <hyatt@apple.com>
-
- Fix for 3513067, spaces being lost when RTL text is rendered. Make sure not to allow hangers or spaces
- in the margin.
-
- Reviewed by john
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
-
-2005-01-19 Darin Adler <darin@apple.com>
-
- Reviewed by vicki
-
- - fixed <rdar://problem/3962559> stopAnimationsInView leaks after cvs-base
-
- * WebCoreSupport.subproj/WebImageData.m: (+[WebImageData stopAnimationsInView:]): add a release
-
-2005-01-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3961809> plug-in code attempts to load empty URL
-
- Reviewed by john.
-
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView didStart]): don't start load if URL is empty
-
-2005-01-17 Darin Adler <darin@apple.com>
-
- * DOM.subproj/DOMPrivate.h: Check in generated file.
-
-2005-01-17 Darin Adler <darin@apple.com>
-
- Reviewed by John and Richard.
-
- - fixed <rdar://problem/3907453> printing a multi-page PDF document from Safari doesn't produce correct output
-
- * WebView.subproj/WebFrameViewPrivate.h: Added.
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView canPrintHeadersAndFooters]): Added. Returnes NO for documents that can't print headers or footers,
- and delegates to the document view to answer the question. Defaults to NO, since only a view that actively does
- the work is compatible with our header and footer code.
- (-[WebFrameView printOperationWithPrintInfo:]): Added. Returns an NSPrintOperation set up for printing. The reason
- we return this rather than an NSView is that in the PDFView case, the print info is changed around before creating
- the NSPrintOperation, and also the PDFKit SPI works this way.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView canPrintHeadersAndFooters]): Added. Returns YES.
- * WebView.subproj/WebImageView.m: (-[WebImageView canPrintHeadersAndFooters]): Ditto.
- * WebView.subproj/WebTextView.m: (-[WebTextView canPrintHeadersAndFooters]): Ditto.
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView canPrintHeadersAndFooters]): Added. Returns NO.
- (-[WebPDFView printOperationWithPrintInfo:]): Added. Calls getPrintOperationForPrintInfo: autoRotate:YES on the PDFView.
-
- * WebKit.pbproj/project.pbxproj: Added WebFrameViewPrivate.h as a new private header.
-
-2005-01-13 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3932107> Safari does not load QT Cocoa plug-in if the WebPluginMIMETypes key is not in the info.plist
-
- Fixing this bug required that we allow WebKit plug-ins (as well as Netscape plug-ins) support BP_CreatePluginMIMETypesPreferences
- which allows plug-ins create an auxiliary MIME types file.
-
- Reviewed by adele.
-
- * Plugins.subproj/WebBasePluginPackage.h:
- * Plugins.subproj/WebBasePluginPackage.m:
- (+[WebBasePluginPackage preferredLocalizationName]): moved from WebNetscapePluginPackage
- (-[WebBasePluginPackage pListForPath:createFile:]): ditto
- (-[WebBasePluginPackage getPluginInfoFromPLists]): ditto
- (-[WebBasePluginPackage isLoaded]): return isLoaded ivar
- (-[WebBasePluginPackage load]): if loaded, get BP_CreatePluginMIMETypesPreferences symbol
- * Plugins.subproj/WebNetscapePluginPackage.h:
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
- * Plugins.subproj/WebPluginPackage.m:
- (-[WebPluginPackage initWithPath:]): call getPluginInfoFromPLists
- (-[WebPluginPackage load]): call super when done so BP_CreatePluginMIMETypesPreferences can be initialized
-
-2005-01-13 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3952809> WebJavaPlugIn.h comments need method name corrected (webPlugInCallJava)
-
- Reviewed by Maciej.
-
- * Plugins.subproj/WebJavaPlugIn.h:
-
-=== Safari-179 ===
-
-2005-01-13 Vicki Murley <vicki@apple.com>
-
- Reviewed by Adele.
-
- - fix <rdar://problem/3946836> Safari about box lists 2004 instead of 2005
-
- * WebKit.pbproj/project.pbxproj: bump "2004" to "2005"
-
-2005-01-13 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3951911> REGRESSION: Animated GIF images with loop counts no longer update
-
- Draw last image after animation loop terminates. (We
- were drawing the image at index+1, which doesn't exist!)
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _nextFrame:]):
-
-2005-01-13 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3952084> REGRESSION: Links at projectseven.com now draw and update incorrectly during hover
-
- Turn off use of new CGContextStrokeLineSegments API. We should
- turn back on when 3952944 is fixed.
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
-
-2005-01-13 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3937663> repro assertion failure and crash dragging image that has PDF source
-
- Reviewed by adele.
-
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): if [WebImageRenderer image] returns nil, fallback to code that uses a file icon as the drag image
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory supportedMIMETypes]): removed code that omits PDF and PostScript from the list since this omission is only needed in WebImageView
- * WebView.subproj/WebImageView.m:
- (+[WebImageView supportedImageMIMETypes]): added code that omits PDF and PostScript since we don't want WebImageView to render these types
-
-2005-01-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/3758033> REGRESSION (Mail): Support attributes in marked text (International input)
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]): Changed to support
- underline thickness. Also added a bit of a hack here to move thickness 2 underlines down by
- .5 pixels, since the rendering engine can't give a fractional pixel offset.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView validAttributesForMarkedText]): Support underline, underline color and marked
- clause attributes. Others that NSText supports are unimplemented for now.
- (-[WebHTMLView firstRectForCharacterRange:]): Remove needless logging.
- (-[WebHTMLView unmarkText]): Updated for new WebCore SPI.
- (-[WebHTMLView _extractAttributes:ranges:fromAttributedString:]): New method to pull the attributes
- and ranges out of an attributed string.
- (-[WebHTMLView setMarkedText:selectedRange:]): Extract attributes and pass to WebCore.
- (-[WebHTMLView insertText:]): Add comment noting that we don't really handle attributed strings
- here.
-
-2005-01-12 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3848257> WebView will draw more than AppKit asks it to, so views behind won't redraw enough (transparent WebView)
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): As recommended by Troy Stephens, do the
- layouts here in this call, since it's before propagating the dirty rects to our ancestors.
- This fixes the bug, but we only do it if the WebView is not opaque, because otherwise we can
- optimize by only doing layouts you really need, and doing them later on is safe because we
- know we don't need to draw any of the views behind us.
- (-[WebHTMLView _layoutIfNeeded]): Added. Factored out from the method below.
- (-[WebHTMLView _web_layoutIfNeededRecursive]): Added. Like the other "layout if needed" call,
- but unconditional.
- (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]): Factored out the guts into the
- _layoutIfNeeded method above. Otherwise unchanged.
- (-[NSView _web_layoutIfNeededRecursive]): Added.
-
- * WebView.subproj/WebFrame.m: (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground:NO
- on the scroll view when changing the frame to no longer be in "draws background" mode. This
- is needed because the frame manages the "draws background" mode of the scroll view. It won't
- have any effect if you call setDrawsBackground:NO before starting to use a WebView, but without
- it calling setDrawsBackground:NO later won't have an immediate effect (easily visible in Safari).
- This was hidden before because the HTML view was filling with transparent color, which blew away
- the fill that was done by NSScrollView.
-
- - fixed <rdar://problem/3921129> reproducible crash at www.funnychristmas.com in CFSet manipulation in WebImageData
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _imageSourceOptions]): Changed types so we don't need a cast.
- (+[WebImageData stopAnimationsInView:]): Instead of building a set of sets, by putting in the sets with addObject,
- build a single set using unionSet, and then iterate the objects instead of having to iterate the sets and then the
- objects in each set. The old code ended up sharing the sets with the live code, when the whole idea was to gather
- all the renderers because the process of stopping modifies the active sets.
-
-2005-01-12 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3926825> Safari ignores GIF loop count
-
- Get loop count from file properties, not image properties.
-
- Reviewed by Ken Kocienda.
-
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _commonTermination]):
- (-[WebImageData fileProperties]):
- (-[WebImageData _floatProperty:type:at:]):
- (-[WebImageData _floatFileProperty:type:]):
- (-[WebImageData _repetitionCount]):
-
-2005-01-11 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3934749> assertion failure in WebBaseNetscapePluginView loading movie
-
- Reviewed by john.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView start]): call canStart before asserting about the webView
-
-2005-01-11 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- - fixed <rdar://problem/3446838> REGRESSION (Mail): text decorations don't print
- (e.g. <strike>, underline)
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
- This bottleneck routine for drawing a line was setting the linewidth to 0 when
- the graphics context was not drawing to the screen. Thus, no lines. Now links
- are underlined when printing from Safari (as well as Mail).
-
-2005-01-11 Richard Williamson <rjw@apple.com>
-
- Fixed 3949145. CG has a much faster API for drawing lines.
- Switched over to that new API (CGContextStrokeLineSegments).
-
- Reviewed by John Sullivan.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
-
-2005-01-10 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3948862> REGRESSION: missing images when RTFD is pasted into editable WebView
-
- This problem occurred because we were creating image elements before creating corresponding image resources. The fix is to have AppKit call us back to create the resources before it creates the elements.
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): don't deal with subresources since that's now done by the following method
- (-[WebHTMLView resourceForData:preferredFilename:]): new handler method called by AppKit
-
-=== Safari-178 ===
-
-2005-01-06 David Harrison <harrison@apple.com>
-
- Reviewed by Dave Hyatt
-
- <rdar://problem/3588548> AX: tabbing does not work correctly with the screen reader and a focused link; need AXFocusedUIElement to work.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView accessibilityFocusedUIElement]):
- Implement this so that AppKit can use it from NSAccessibilityHandleFocusChanged.
-
-2005-01-05 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3936865> REGRESSION: canvas.drawImage no longer scales properly
-
- Reviewed by john.
-
- * WebCoreSupport.subproj/WebImageData.m: use the height of the inRect instead of the fromRect when setting the origin of the context
-
-2005-01-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3928329> WebKit should pass nil for "language" to checkSpellingOfString:
-
- Reviewed by kocienda.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _isSelectionMisspelled]): pass nil not @"" for language
-
-2004-12-21 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/3888931> frame naming allows malicious site to bring up a window when you click on a link in another
-
- Implement a security check on name frame visbility. This is the
- same rule as mozilla. You can only target frames by name if you
- are in the same window, have the same domain as the frame or an
- ancestor, or if it's a top level window have the same domain as
- the opener.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _shouldAllowAccessFrom:]):
- (-[WebFrame _descendantFrameNamed:sourceFrame:]):
- (-[WebFrame findFrameNamed:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebView _findFrameInThisWindowNamed:sourceFrame:]):
- (-[WebView _findFrameNamed:sourceFrame:]):
- * WebView.subproj/WebViewPrivate.h:
-
-=== Safari-177 ===
-
-=== Safari-176 ===
-
-2004-12-20 Richard Williamson <rjw@apple.com>
-
- Add call to new API. ImageIO deprecated some older (although
- quite new!) API. This caused us to fail to build on 337 or later.
-
- Developers wanting to build on older versions of Tiger must define
- USE_DEPRECATED_IMAGESOURCE_API in WebImageData.m.
-
- Reviewed by Vicki.
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData propertiesAtIndex:]):
-
-2004-12-20 Richard Williamson <rjw@apple.com>
-
- Don't call Tiger SPI on Panther.
-
- Reviewed by Vicki.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (+[WebTextRendererFactory createSharedFactory]):
-
-2004-12-20 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3884448> WebKit should turn on CG local font cache
-
- Enable mutli-tier font caching. We should see a performance boost with this
- change.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (+[WebTextRendererFactory createSharedFactory]):
-
-2004-12-20 Richard Williamson <rjw@apple.com>
-
- Fix image decoding to separately decode image meta data from actual image bits. I
- incorrectly consolidated decode of meta data and image bits resulting in a huge
- performance regression.
-
- Double size of WebCore cache on lower end machines. On the PLT run on machines with
- 256MB of memory, too many images were being evicted, causing a re-decode on the PLT.
- Upping the lower limit of the cache size ensure that no images are evicted (this
- goes hand-in-hand with the change to the minimum object size from 32K to 40K).
-
- Reviewed by Ken.
-
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (+[WebImageData initialize]):
- (-[WebImageData _commonTermination]):
- (-[WebImageData _invalidateImages]):
- (-[WebImageData _invalidateImageProperties]):
- (-[WebImageData imageAtIndex:]):
- (-[WebImageData propertiesAtIndex:]):
- (-[WebImageData _cacheImages:allImages:]):
- (-[WebImageData decodeData:isComplete:callback:]):
- (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]):
-
-2004-12-20 Richard Williamson <rjw@apple.com>
-
- Fixed build problem caused by change to ImageIO API.
-
- Reviewed by Adele.
-
- * WebCoreSupport.subproj/WebImageData.m:
-
-2004-12-19 Darin Adler <darin@apple.com>
-
- Reviewed by Kevin.
-
- - some garbage collection fixes
-
- * Misc.subproj/WebNSObjectExtras.h: (WebCFAutorelease): Replaced the old WebNSRetainCFRelease with this
- much-easier-to-understand function cribbed from what David Harrison did in WebCore.
-
- * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use CFRelease here to
- get rid of an unnecessary use of WebNSRetainCFRelease.
- * Misc.subproj/WebNSURLExtras.m:
- (+[NSURL _web_URLWithData:relativeToURL:]): Use WebCFAutorelease instead of WebNSRetainCFRelease and autorelease.
- (-[NSURL _web_URLWithLowercasedScheme]): Ditto.
- (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Use WebCFAutorelease here; the old code would not
- work correctly under GC.
- * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage preferredLocalizationName]):
- Use WebCFAutorelease here; the old code would not work correctly under GC.
-
-2004-12-18 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3766915> PDF content needs search to work
-
- Reviewed by kevin, john.
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView searchFor:direction:caseSensitive:wrap:]): implemented
- (-[WebPDFView takeFindStringFromSelection:]): new
- (-[WebPDFView jumpToSelection:]): new
- (-[WebPDFView validateUserInterfaceItem:]): new
-
-2004-12-17 Richard Williamson <rjw@apple.com>
-
- Make image decoding as lazy as possible for non threaded case; in some cases
- can avoid unnecessary decoding work.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData imageAtIndex:]):
- (-[WebImageData propertiesAtIndex:]):
- (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
-
-2004-12-16 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris.
-
- One of the assertions from my previous checkin fired, so
- I made this code more robust.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge _preferences]):
- new helper method, returns global preferences if webView is nil,
- otherwise returns webView's preferences
- (-[WebBridge getObjectCacheSize]):
- use new helper method, remove now-unnecessary assert
- (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
- ditto
-
-2004-12-16 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- - fixed <rdar://problem/3913523> Mail needs SPI for adding tooltips to links
- - cleaned up some calls to +[WebPreferences standardPreferences] that should
- have been using -[WebView preferences]
-
- This adds a (currently SPI-only) new feature that shows the URL of the link
- under the mouse in a toolTip. I tested this in Safari, but we're adding this
- feature for Mail, and Safari won't use it (unless of course you know the
- magic defaults command)
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView start]):
- use -[WebView preferences] instead of +[WebPreferences standardPreferences]
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge getObjectCacheSize]):
- ditto
- (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
- ditto
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate willCacheResponse:]):
- ditto
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]):
- ditto
- (-[WebFrame _loadItem:withLoadType:]):
- ditto
-
- * WebView.subproj/WebHTMLViewInternal.h:
- private struct now keeps ivar for cached value of showsURLsInToolTips
- so it doesn't have look it up in preferences a zillion times
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _updateMouseoverWithEvent:]):
- if private->showsURLsInToolTips is true, set the toolTip from the URL.
- Fall back to showing the title attribute in case some element has a title
- attribute but no URL.
- (-[WebHTMLView _mayStartDragAtEventLocation:]):
- use -[WebView preferences] instead of +[WebPreferences standardPreferences]
- (-[WebHTMLView _resetCachedWebPreferences:]):
- get a fresh value for private->showsURLsInToolTips
- (-[WebHTMLView initWithFrame:]):
- call _resetCachedWebPreferences the first time, and listen for WebPreferencesChanged notifications
- (-[WebHTMLView _handleStyleKeyEquivalent:]):
- use -[WebView preferences] instead of +[WebPreferences standardPreferences]
-
- * WebView.subproj/WebPreferenceKeysPrivate.h:
- added WebKitShowsURLsInToolTipsPreferenceKey
-
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]):
- initialize WebKitShowsURLsInToolTipsPreferenceKey to 0
- (-[WebPreferences showsURLsInToolTips]):
- return WebKitShowsURLsInToolTipsPreferenceKey value
- (-[WebPreferences setShowsURLsInToolTips:]):
- set WebKitShowsURLsInToolTipsPreferenceKey value
-
- * WebView.subproj/WebPreferencesPrivate.h:
- add declarations for showsURLsInToolTips and setter
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView _preferences]):
- new helper method that gets preferences from webView if there is a webView,
- otherwise gets global preferences
- (-[WebTextView setFixedWidthFont]):
- use new helper method rather than always using global preferences
- (-[WebTextView initWithFrame:]):
- observe WebPreferencesChangedNotification instead of unnecessarily general
- NSUserDefaultsChangedNotification
-
-2004-12-14 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - rest of WebKit fix for <rdar://problem/3790011> undoable operations all say "Undo"
- in the menu, no specific action names
-
- I only know of one loose end currently, which I wrote up as <rdar://problem/3920971> Edit menu
- says "Undo Change Attributes" when it should say "Undo Set Color", from font panel
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
- use WebUndoActionSetColor when dragging color swatch
- (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
- new WebUndoAction parameter, passed across bridge
- (-[WebHTMLView _toggleBold]):
- use WebUndoActionSetFont
- (-[WebHTMLView _toggleItalic]):
- use WebUndoActionSetFont
- (-[WebHTMLView pasteFont:]):
- use WebUndoActionPasteFont
- (-[WebHTMLView changeFont:]):
- use WebUndoActionSetFont
- (-[WebHTMLView changeAttributes:]):
- use WebUndoActionChangeAttributes
- (-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
- new method, returns WebUndoActionSetBackgroundColor or WebUndoActionSetColor
- (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
- now calls _undoActionFromColorPanelWithSelector
- (-[WebHTMLView changeColor:]):
- use WebUndoActionSetColor
- (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]):
- new WebUndoAction parameter, passed through
- (-[WebHTMLView alignCenter:]):
- use WebUndoActionCenter
- (-[WebHTMLView alignJustified:]):
- use WebUndoActionJustify
- (-[WebHTMLView alignLeft:]):
- use WebUndoActionAlignLeft
- (-[WebHTMLView alignRight:]):
- use WebUndoActionAlignRight
- (-[WebHTMLView subscript:]):
- use WebUndoActionAlignSubscript
- (-[WebHTMLView superscript:]):
- use WebUndoActionAlignSuperscript
- (-[WebHTMLView unscript:]):
- use WebUndoActionAlignUnscript
- (-[WebHTMLView underline:]):
- use WebUndoActionAlignUnderline
-
- * WebView.subproj/WebView.m:
- (-[WebView setTypingStyle:]):
- pass WebUndoActionUnspecified through as new parameter since we don't have any more specific info
- (-[WebView applyStyle:]):
- ditto
-
-2004-12-14 Richard Williamson <rjw@apple.com>
-
- Helper method to get URL of plugin view.
-
- Reviewed by Chris.
-
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _webViewURL]):
-
-2004-12-14 Vicki Murley <vicki@apple.com>
-
- Reviewed by rjw.
-
- <rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments
-
- * Plugins.subproj/WebPlugin.h: changed instances of "WebScriptMethods" to "WebScripting" in this
- file as well, as requested in the bug report
-
-2004-12-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/3912488> Mail throws an exception after backspacing "away" inline input
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView setMarkedText:selectedRange:]): Don't try to set a selection if
- we end up with no marked text, since that case fails and is unnecessary.
-
-2004-12-14 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - WebKit part of plumbing of fix for <rdar://problem/3790011> undoable operations all say "Undo" in the menu,
- no specific action names
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge nameForUndoAction:]):
- renamed from setUndoActionNamePlaceholder, replaced arbitrary integers with enum values, and
- handled new "unspecified" case as a fallback
-
-2004-12-13 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3887767> LiveConnect doesn't propagate Java exceptions back to JavaScript (prevents security suite from running)
-
- Reviewed by John.
-
- * Plugins.subproj/WebJavaPlugIn.h:
-
-2004-12-13 John Sullivan <sullivan@apple.com>
-
- Reviewed by Maciej.
-
- - fixed <rdar://problem/3744583> Safari can not quit when a webpage has a login sheet
- that can't be cancelled.
-
- The proper fix for this would be to change the class of the NSPanel in the nib file.
- But since this would require a localization change, I did a run-time hack instead.
- I'll file a bug about fixing this when we're out of localization freeze.
-
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel replacePanelWithSubclassHack]):
- new method, creates a new panel that is identical to the original one except that
- it's our subclass, and moves all the subviews of the original panel into the new one.
- (-[WebAuthenticationPanel loadNib]):
- call replacePanelWithSubclassHack
- (-[NonBlockingPanel _blocksActionWhenModal:]):
- only method of new NSPanel subclass; overrides this SPI to allow the user to quit
- when one of these panels/sheets is on-screen
-
-2004-12-10 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3898708> REGRESSION (8A314-8A317): World Clock's short hand not displayed (ImageIO problem with PDF?)
- Fixed <rdar://problem/3914012> use CG directly for pdf images not ImageIO
-
- Create a PDF document and draw that instead of using ImageIO to create a rasterized image.
-
- Reviewed by Maciej.
-
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData setIsPDF:]):
- (-[WebImageData isPDF]):
- (-[WebImageData dealloc]):
- (-[WebImageData decodeData:isComplete:callback:]):
- (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
- (-[WebImageData size]):
- (-[WebImageData animate]):
- (-[WebImageData _createPDFWithData:]):
- (-[WebImageData _PDFDocumentRef]):
- (-[WebImageData _PDFDrawInContext:]):
- (-[WebImageData _PDFDrawFromRect:toRect:operation:alpha:flipped:context:]):
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer size]):
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]):
- (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
- (_createImageRef):
-
-2004-12-10 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3855127> Error while printing w/o sheet, then window is left in a bad state,
- if there's no default printer set
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView beginDocument]):
- Our implementation of knowsPageRange puts the WebHTMLView into a special "printing mode". We must
- exit the "printing mode" to return to normal behavior. This is normally done in endDocument.
- However, it turns out that if there's an exception in [super beginDocument], then endDocument
- will not be called (lame-o AppKit API). So, we handle that case by catching the exception and
- exiting the "printing mode" in beginDocument when it occurs.
-
-2004-12-09 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3905789> Burn Disc image vibrates rapidly
-
- Restrict our support for animated images to GIF. We used to
- use presence of more than one image in a resource to determine
- if an image should be animated. This caused us to animate icns!
- If we ever support any other animated image formats we'll have
- to extend.
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData shouldAnimate]):
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
-
-2004-12-09 Richard Williamson <rjw@apple.com>
-
- Make WebPluginDatabase.h private (Dashboard needs SPI).
-
- * WebKit.pbproj/project.pbxproj:
-
-=== Safari-175 ===
-
-2004-12-09 Chris Blumenberg <cblu@apple.com>
-
- Workaround for this exception being raised during download:
- [WebDownload connection:willStopBufferingData:]: selector not recognized
-
- Reviewed by john.
-
- * Misc.subproj/WebDownload.m:
- (-[WebDownload connection:willStopBufferingData:]): implement this method so no exception is raised. It is a bug in Foundation that this method is being called, but it's too late to fix Foundation since it has already been submitted this week. This workaround will prevent any problems from affecting users.
-
-2004-12-08 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3911719> REGRESSION: Images no longer scale vertically
- Account for scaling correctly when taking into account progressively
- loaded images.
-
- Also added implementation of repetition count for animated GIF images.
- Also replaced strings with new constants from CFImageProperties.h
-
- Also fixed possible problem with -(NSSize)size implementation,
- relevant to Panther only.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _floatProperty:type:at:]):
- (-[WebImageData _frameDurationAt:]):
- (-[WebImageData _repetitionCount]):
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer size]):
-
-2004-12-08 Chris Blumenberg <cblu@apple.com>
-
- Removed NPN wrappers since these no longer need to be defined to make the QT plug-in work
- since 3828925 has been fixed.
-
- Reviewed by john.
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]): use under-bar symbols since non-under-bar wrappers have been removed
- * Plugins.subproj/npapi.m: removed NPN wrappers
- * WebKit.exp: removed symbols
-
-2004-12-08 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView drawRect:]): Work around for this bug:
- <rdar://problem/3908282> REGRESSION (Mail): No drag image dragging selected text in Blot and Mail
- The reason for the workaround is that this method is called explicitly from the code
- to generate a drag image, and at that time, getRectsBeingDrawn:count: will return a zero count.
- This code change uses the passed-in rect when the count is zero.
-
-2004-12-07 Administrator <cblu@apple.com>
-
- Support for fix for:
- <rdar://problem/3734309> Safari doesn't open folders in title bar menu with non-Roman names using Cmd+click
-
- Reviewed by john.
-
- * Misc.subproj/WebNSURLExtras.h:
- * Misc.subproj/WebNSURLExtras.m:
- (+[NSURL _web_URLWithUserTypedString:relativeToURL:]): renamed to take relativeToURL parameter
- (+[NSURL _web_URLWithUserTypedString:]): call _web_URLWithUserTypedString:relativeToURL: with nil for URL
-
-2004-12-07 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3905564> REGRESSION (Tiger); in History menu, pixel size appears but is wrong for standalone images in Safari.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer size]):
-
-2004-12-07 Richard Williamson <rjw@apple.com>
-
- Support threaded image decoding on machines w/ >= 2 CPUs.
-
- Reviewed by Maciej and Chris.
-
- * Misc.subproj/WebKitSystemBits.h:
- * Misc.subproj/WebKitSystemBits.m:
- (WebSystemMainMemory):
- (WebNumberOfCPUs):
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (+[WebImageData initialize]):
- (-[WebImageData init]):
- (-[WebImageData _commonTermination]):
- (-[WebImageData dealloc]):
- (-[WebImageData _invalidateImages]):
- (-[WebImageData _imageSourceOptions]):
- (-[WebImageData imageAtIndex:]):
- (-[WebImageData propertiesAtIndex:]):
- (-[WebImageData _createImages]):
- (-[WebImageData decodeData:isComplete:callback:]):
- (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
- (drawPattern):
- (-[WebImageData tileInRect:fromPoint:context:]):
- (-[WebImageData isNull]):
- (-[WebImageData size]):
- (-[WebImageData _frameDurationAt:]):
- (-[WebImageData _frameDuration]):
- (+[WebImageData stopAnimationsInView:]):
- (-[WebImageData addAnimatingRenderer:inView:]):
- (-[WebImageData removeAnimatingRenderer:]):
- * WebCoreSupport.subproj/WebImageDecodeItem.h: Added.
- * WebCoreSupport.subproj/WebImageDecodeItem.m: Added.
- (+[WebImageDecodeItem decodeItemWithImage:data:isComplete:callback:]):
- (-[WebImageDecodeItem initWithImage:data:isComplete:callback:]):
- (-[WebImageDecodeItem finalize]):
- (-[WebImageDecodeItem dealloc]):
- * WebCoreSupport.subproj/WebImageDecoder.h: Added.
- * WebCoreSupport.subproj/WebImageDecoder.m: Added.
- (decoderNotifications):
- (+[WebImageDecoder initialize]):
- (+[WebImageDecoder notifyMainThread]):
- (+[WebImageDecoder sharedDecoder]):
- (+[WebImageDecoder performDecodeWithImage:data:isComplete:callback:]):
- (+[WebImageDecoder imageDecodesPending]):
- (+[WebImageDecoder decodeComplete:status:]):
- (-[WebImageDecoder init]):
- (-[WebImageDecoder dealloc]):
- (-[WebImageDecoder finalize]):
- (-[WebImageDecoder removeItem]):
- (-[WebImageDecoder addItem:]):
- (-[WebImageDecoder decodeItem:]):
- (decoderThread):
- (startDecoderThread):
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer initWithData:MIMEType:]):
- (-[WebImageRenderer initWithContentsOfFile:]):
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:callback:]):
- (-[WebInternalImage incrementalLoadWithBytes:length:complete:callback:]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebImageRepresentation.m:
- (-[WebImageRepresentation receivedData:withDataSource:]):
- (-[WebImageRepresentation receivedError:withDataSource:]):
- (-[WebImageRepresentation finishedLoadingWithDataSource:]):
-
-2004-12-07 Chris Blumenberg <cblu@apple.com>
-
- Fix for performance regression.
-
- Reviewed by kevin.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): construct the WebResource without copying the data
-
-2004-12-07 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3909243> REGRESSION: large standalone images stop loading part way through
-
- Reviewed by kevin.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient addData:]): call super so it buffers the data
-
-2004-12-06 Richard Williamson <rjw@apple.com>
-
- Use the AppKit's font rendering mode. This fixes 3905347, but we still need to track down
- and resolve why metrics have changed for Courier. This may be caused by changes in
- AppKit for 3902394.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (_AppkitGetCGRenderingMode):
- (getUncachedWidth):
- (_drawGlyphs):
-
-2004-12-06 Chris Blumenberg <cblu@apple.com>
-
- Forgot to commit copied header.
-
- * DOM.subproj/DOMPrivate.h:
-
-2004-12-06 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3907381> NSURLConnection and WebKit buffer 2 copies of incoming data
-
- Reviewed by darin.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (+[WebBaseResourceHandleDelegate initialize]): cache check to see if Foundation supports access to its buffered data
- (-[WebBaseResourceHandleDelegate addData:]): don't buffer data if Foundation is buffering it for us
- (-[WebBaseResourceHandleDelegate saveResource]): when creating a WebResource, pass NO for copyData since we know it won't be mutated
- (-[WebBaseResourceHandleDelegate resourceData]): return the buffered data from the connection if it supports it
- (-[WebBaseResourceHandleDelegate willStopBufferingData:]): make a mutable copy of the data from NSURLConnection so we can continue buffering
- (-[WebBaseResourceHandleDelegate willCacheResponse:]): removed optimization that used the cached response data to save the resource since that is obsolete by this change
- (-[WebBaseResourceHandleDelegate connection:willStopBufferingData:]): new callback from NSURLConnection, informs us that NSURLConnection has given up buffering
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _receivedData:]): removed buffering code since that's done by NSURLConnection and the main client
- (-[WebDataSource _setData:]): removed unnecessary cast since the resourceData ivar is now an NSData instead of NSMutableData
- (-[WebDataSource data]): return resourceData ivar, else return the resourceData from the main client
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient releaseResources]): store resourceData on the data source so it can continue to have data after the main client has gone away
- (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):don't call [dataSource data] just to get the length of data received since [dataSource data] can now cause data to be copied
- (-[WebMainResourceClient connectionDidFinishLoading:]): ditto
- * WebView.subproj/WebResource.m:
- (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call following method with YES for copyData
- (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:copyData:]): new initializer, allows caller to choose whether or not the data is copied
- * WebView.subproj/WebResourcePrivate.h:
-
-2004-12-06 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3903749> REGRESSION (8A321): WebKit gets incorrect glyph metrics due to change in how AppKit uses CGFont
-
- Use CGFontRef direction when both getting font metrics and drawing
- glyphs, instead on depending on [NSFont set].
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (getUncachedWidth):
- (_drawGlyphs):
-
-2004-12-06 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Harrison
-
- Fix for this bug:
-
- <rdar://problem/3906930> Hitting return key in editable content inserts br elements instead of blocks
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView insertNewline:]): One-line change to call insert-block rather than insert-br method
- on bridge.
-
-2004-12-04 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3846079> assertion failure in WebHTMLView(WebPrivate) removeTrackingRect at boots.com
- - fixed <rdar://problem/3857737> REGRESSION (165-166): clicking in a text field that's scrolled to the right causes it to scroll all the way left
- - fixed <rdar://problem/3861952> REGRESSION (165-166): selection is cleared when you start to scroll a frame
-
- * WebView.subproj/WebHTMLViewInternal.h: Added handlingMouseDown flag.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Allow passing in a
- tracking number of 0, which means no existing tracking number.
- (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Ditto.
- (-[WebHTMLView removeTrackingRect:]): Allow removing a tracking number of 0, which is a no-op.
- (-[WebHTMLView _removeTrackingRects:count:]): Ditto.
- (-[WebHTMLView acceptsFirstResponder]): Changed check to use handlingMouseDown flag instead of mouseDownEvent
- field since that field is set up too early in the mouse down event handling process.
- (-[WebHTMLView mouseDown:]): Added code to set handlingMouseDown flag.
-
- - fixed part of <rdar://problem/3829808> Safari crashes when adding a DOM node that was removed from an XMLHTTP request result
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- Changed code around so that it won't try to create a WebResource when the load fails.
-
- - moved next/previous links into private structure with the rest of WebFrame fields
- (We have a rule against putting new fields into obejcts that are part of our public API.)
-
- * WebView.subproj/WebFrame.h: Remove _nextSibling and _previousSibling.
- * WebView.subproj/WebFramePrivate.h: Added nextSibling and previousSibling fields to private class.
- * WebView.subproj/WebFrame.m: Got rid of some tabs in this file.
- (-[WebFrame _addChild:]): Changed code to use fields inside _private.
- (-[WebFrame _removeChild:]): Ditto.
- (-[WebFrame _nextFrameWithWrap:]): Ditto.
- (-[WebFrame _previousFrameWithWrap:]): Ditto.
-
-2004-12-04 Chris Blumenberg <cblu@apple.com>
-
- New fixes for:
- <rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
- <rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)
- <rdar://problem/3903173> REGRESSION (172-TOT): assertion failure and crash in slotAllData logging into hotmail account
- <rdar://problem/3902749> REGRESSION (Tiger): missing image symbol does not appear
-
- Reviewed by darin, rjw, kocienda.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCacheWithURL:response:data:]):
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient didFinishLoading]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _opened]):
- (-[WebFrame _internalLoadDelegate]):
- (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]):
- * WebView.subproj/WebFrameInternal.h:
-
-2004-12-04 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed remaining bit of <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): When translating from
- an attribute dictionary to a CSS declaration, treat missing values according to the defaults defined
- in <AppKit/NSAttributedString.h>. Before the code was treating them as "no change", which is incorrect.
-
- * English.lproj/StringsNotToBeLocalized.txt: Add a string from the above change.
-
-=== Safari-173 ===
-
-2004-12-03 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by me
-
- Roll out some recent changes by Chris that caused a performance regression.
- Fix is in hand, but it is a little risky this close to a submission. So,
- we have decided to roll back the change with the regression and roll in
- the new code after we submit.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient didFinishLoading]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _opened]):
- (-[WebFrame _internalLoadDelegate]):
- * WebView.subproj/WebFrameInternal.h:
-
-2004-12-02 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3841332> REGRESSION (125.9-167u): repro crash in -[KWQPageState invalidate] involving .Mac images
-
- Ensure that the document is cleared when leaving a non-HTML page. This ensures that
- the b/f cache won't incorrectly trash the previous state when restoring.
-
- Reviewed by John.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _setState:]):
-
-2004-12-02 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Richard
-
- <rdar://problem/3748323> Problem with -[WebView editableDOMRangeForPoint:] (-isFlipped not taken into account?)
- <rdar://problem/3852590> REGRESSION (Mail): Dropped content appears in wrong place if Mail message is scrolled down
-
- When implementing drag and drop, moveDragCaretToPoint: and editableDOMRangeForPoint: are used in
- concert to track the mouse and determine a drop location, respectively. However, moveDragCaretToPoint:
- did a conversion of the passed-in point to the document view's coordinate space, whereas
- editableDOMRangeForPoint: did not. Now it does.
-
- Note that I will need to coordinate with Grant to have him roll out some code in Mail that
- attempts to work around this problem (unsuccessfully), and actually manages to block the
- real fix (which needs to be in WebKit).
-
- * WebView.subproj/WebView.m:
- (-[WebView editableDOMRangeForPoint:]): Convert the passed-in point to the document view's coordinate space.
-
-2004-12-02 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3895810> FATAL ERROR: <WebTextRenderer: 0x9328a20> unable to initialize with font "Times-Roman 16.00 pt. S ....
-
- We have a hack to replace Times with Times New Roman if we fail
- to setup Times. If we then fail to setup Times New Roman we
- don't attempt to further fallback to the system font. Added
- that additional fallback.
-
- Reviewed by Ken.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (+[WebTextRenderer webFallbackFontFamily]):
- (-[WebTextRenderer initWithFont:usingPrinterFont:]):
-
-2004-12-02 Richard Williamson <rjw@apple.com>
-
- Fixed build problem on Tiger8A821. Private macro and function
- we were using have been deprecated,
-
- Reviewed by Vicki.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:usingPrinterFont:]):
-
-2004-12-01 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3879870> Flash Player unable to stop data stream from continuing to download by returning -1 from NPP_Write
- Also improved and cleaned-up the plug-in stream termination code.
-
- Reviewed by john.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.h:
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (+[WebBaseNetscapePluginStream reasonForError:]): return NPRES_DONE for a nil error
- (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): new, factored out from other methods
- (-[WebBaseNetscapePluginStream errorForReason:]): new
- (-[WebBaseNetscapePluginStream dealloc]): release MIME type
- (-[WebBaseNetscapePluginStream setMIMEType:]): new
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): call setMIMEType so we can use it in _pluginCancelledConnectionError, call renamed methods
- (-[WebBaseNetscapePluginStream _destroyStream]): prepended underscore, replaced some early returns with asserts as the callers are now smarter
- (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): prepended underscore, only call _destroyStream if there is an error or if the load is complete and there is no more data to be streamed
- (-[WebBaseNetscapePluginStream cancelLoadWithError:]): new, overridden by subclasses to cancel the actual NSURLConnection
- (-[WebBaseNetscapePluginStream destroyStreamWithError:]): new, calls _destroyStreamWithReason
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call renamed methods
- (-[WebBaseNetscapePluginStream _deliverData]): prepended underscore, call cancelLoadAndDestroyStreamWithError if NPP_Write returns a negative number
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelLoadAndDestroyStreamWithError
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call destroyStreamWithError
- (-[WebNetscapePluginRepresentation cancelLoadWithError:]): new, override method, tell the data source to stop loading
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream cancelLoadWithError:]): new, override method, tell the loader to stop
- (-[WebNetscapePluginStream stop]): call cancelLoadAndDestroyStreamWithError
- (-[WebNetscapePluginConnectionDelegate isDone]): new
- (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): call cancelLoadAndDestroyStreamWithError
- (-[WebNetscapePluginConnectionDelegate didFailWithError:]): call destroyStreamWithError
-
-2004-12-01 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Harrison.
-
- Fixed: <rdar://problem/3228878> potential performance problem in finding in large framesets
-
- Got rid of O(N^2) conditions in _nextSibling and _previousSibling of where we were looking up self in the parent array of frames.
-
- * WebView.subproj/WebFrame.h: Added two new pointers, one for the previous kid and one for the next kid
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _addChild:]): Updates the previous frame and the next frame after this child
- (-[WebFrame _removeChild:]): ditto
- (-[WebFrame _nextSibling]): just return the pointer now
- (-[WebFrame _previousSibling]): ditto
-
-2004-11-30 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
- <rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)
-
- Reviewed by darin.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): renamed to pass all data for the resource, moved delegate code to new method
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call renamed method
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient didFinishLoading]): call renamed method
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _opened]): call _sendResourceLoadDelegateMessagesForURL:response:length:, not objectLoadedFromCacheWithURL:response:data:
- (-[WebFrame _internalLoadDelegate]):
- (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]): moved from objectLoadedFromCacheWithURL:response:data:
- * WebView.subproj/WebFrameInternal.h:
-
-2004-11-29 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - worked around bug in Panther where NSScroller calls _destinationFloatValueForScroller: on superview
- without first checking if it's implemented
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _destinationFloatValueForScroller:]):
- Implemented. Calls floatValue on the scroller.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2004-11-23 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3890944> disable icon database for Dashboard
-
- Reviewed by kevin.
-
- * Misc.subproj/WebIconDatabase.h:
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase init]): don't create dictionaries if disabled
- (-[WebIconDatabase iconForURL:withSize:cache:]): return default icon if disabled
- (-[WebIconDatabase iconURLForURL:]): return nil if disabled
- (-[WebIconDatabase retainIconForURL:]): return if disabled
- (-[WebIconDatabase releaseIconForURL:]): ditto
- (-[WebIconDatabase delayDatabaseCleanup]): ditto
- (-[WebIconDatabase allowDatabaseCleanup]): ditto
- (-[WebIconDatabase _isEnabled]): new
- (-[WebIconDatabase _setIcon:forIconURL:]): assert if called when disabled, moved to own category implementation
- (-[WebIconDatabase _setHaveNoIconForIconURL:]): ditto
- (-[WebIconDatabase _setIconURL:forURL:]): ditto
- (-[WebIconDatabase _createFileDatabase]): tweak
- (-[WebIconDatabase _applicationWillTerminate:]): moved out of public code
- * Misc.subproj/WebIconDatabasePrivate.h:
- * Misc.subproj/WebIconLoader.m:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _updateIconDatabaseWithURL:]): assert if called when icon DB is disabled
- (-[WebDataSource _loadIcon]): don't load icon if icon DB is disabled
-
-2004-11-22 David Hyatt <hyatt@apple.com>
-
- Make sure the WebCore cache grows at 512mb and at 1024mb exactly.
-
- Reviewed by mjs
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge getObjectCacheSize]):
-
-2004-11-22 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3891737> WebPreferences do not work if they are set before set on the WebView
-
- John found this problem and suggested the fix.
-
- Reviewed by John Louch.
-
- * WebView.subproj/WebView.m:
- (-[WebView setPreferences:]):
-
-2004-11-22 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Harrison
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge canPaste]): Call WebView _canPaste.
- * WebView.subproj/WebView.m:
- (-[WebView _canPaste]): Try to forward to document view's implementation. Only WebHTMLView
- answers right now. Returns NO otherwise.
- * WebView.subproj/WebViewInternal.h: Add _canPaste method to WebView.
-
-2004-11-22 Maciej Stachowiak <mjs@apple.com>
-
- Back out the window closing fix, it seems to be causing crashes.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _detachFromParent]):
-
-2004-11-20 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/3710101> _web_userVisibleString makes URL autocomplete roughly 2x slower
-
- * Misc.subproj/WebNSURLExtras.h:
- * Misc.subproj/WebNSURLExtras.m:
- (-[NSString _web_isUserVisibleURL]): New SPI to check if a URL
- string is already in user-visible form (i.e. converting it to an
- NSURL and then back via _web_userVisibleString would not change
- anything).
-
-2004-11-19 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/3190977> closing window with many tabs in it can be quite slow
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _detachFromParent]): autorelease bridge instead of releasing it,
- to make window and tab closing more responsive - this way the deallocation happens
- after the windoow or tab appears to close.
-
-=== Safari-172 ===
-
-2004-11-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3880387> REGRESSION: www.shockplay.com site gives "Unexpected server response"
-
- Reviewed by mjs.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[NSData _web_locationAfterFirstBlankLine]): support both formats ("\r\n\n" and "\r\n\r\n") for separating header data from body data because Shockwave still sends the prior format
-
-2004-11-19 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Harrison
-
- Fix for this bug:
-
- <rdar://problem/3655241> setTypingStyle: does not set the real typing style, and typingStyle does not return it
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge respondToChangedContents]): No longer call through to WebKit to set the typing style. The call
- was part of the misguided use of the setTypingStyle: and typingStyle as a cache of what was stored on
- the WebCore side.
- (-[WebBridge respondToChangedSelection]): Ditto.
- * WebView.subproj/WebView.m:
- (-[WebViewPrivate dealloc]): Object no longer has typingStyle ivar.
- (-[WebView setTypingStyle:]): Call over the bridge to set typing style.
- (-[WebView typingStyle]): Call over the bridge to retrieve typing style.
- * WebView.subproj/WebViewInternal.h: Object no longer has typingStyle ivar.
-
-2004-11-18 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- - fixed <rdar://problem/3886042> should save history file as binary XML so serialization,
- parsing, reading and writing is faster
-
- * History.subproj/WebHistory.m:
- (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
- convert dictionary to binary data before saving
-
-2004-11-18 Chris Blumenberg <cblu@apple.com>
-
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation currentForm]): removed stray ";"
-
-2004-11-18 Chris Blumenberg <cblu@apple.com>
-
- Fixed development build failure.
-
- * Misc.subproj/WebIconDatabase.m:
- (+[WebIconDatabase sharedIconDatabase]): call LOG not Log
-
-2004-11-18 Chris Blumenberg <cblu@apple.com>
-
- <rdar://problem/3885708> save memory in icon DB by not using NSSets when holding 1 object
-
- Reviewed by sullivan.
-
- * Misc.subproj/WebIconDatabase.m:
- (+[WebIconDatabase sharedIconDatabase]): added timing code
- (-[WebIconDatabase _clearDictionaries]): new
- (-[WebIconDatabase _loadIconDictionaries]): call _clearDictionaries in 2 places before we bail, use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary
- (-[WebIconDatabase _updateFileDatabase]): fixed comment
- (-[WebIconDatabase _setIconURL:forURL:]): use _web_setObjectUsingSetIfNecessary:forKey: when adding site URLs to the iconURLToURLs dictionary
- (-[WebIconDatabase _releaseIconForIconURLString:]): handle NSString objects retured from iconURLToURLs
- (-[NSMutableDictionary _web_setObjectUsingSetIfNecessary:forKey:]): new, puts a set on the dictionary when there are 2 or more object for s key
-
-2004-11-17 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3885073> REGRESSION: Tab images at top of news.com.com replicated and squished
-
- Correctly account for scaled image size and clipping.
-
- Reviewed by Maciej.
-
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
-
-2004-11-17 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- <rdar://problem/3885076> Don't make IDN calls for all-ascii URLs to save about 3 pages
- at Safari startup.
-
- * Misc.subproj/WebNSURLExtras.m:
- (mapHostNames): If encoding and not decoding, then bail early if the URL is all ascii.
- (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Remove earlier special-case
- check for localhost, no longer needed.
-
-2004-11-17 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3863601> Legacy font cache code in [WebTextRendererFactory createSharedFactory] may be unnecesary
-
- and added call to SPI for
-
- <rdar://problem/3884448> WebKit should turn on CG local font cache
-
- currently disabled until a Tiger build shows up with the SPI.
-
- Reviewed by David Harrison.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (+[WebTextRendererFactory createSharedFactory]):
-
-2004-11-17 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3882212> REGRESSION: Images clipped instead of scaled
- Fixed <rdar://problem/3884088> Crash terminating image load
-
- Also added code to turn off color correction for images created
- via CGImageSources. This code is currently disabled because CG
- can't change the color space of images loaded progressively.
- Further, according to Dave Hayward, CG will no longer attempt
- to color correct images that don't have embedded profiles as of
- Tiger 8A306.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _commonTermination]):
- (-[WebImageData dealloc]):
- (-[WebImageData _invalidateImageProperties]):
- (-[WebImageData imageAtIndex:]):
- (-[WebImageData incrementalLoadWithBytes:length:complete:]):
- (-[WebImageData propertiesAtIndex:]):
-
-2004-11-16 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3882034> REGRESSION: Context menu incorrect for PDF content
-
- Reviewed by darin.
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView hitTest:]): return self if the current event is a context menu event
- (-[WebPDFView menuForEvent:]): use the PDFView subview
-
-2004-11-15 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3880410> save 5 dirty pages by soft-linking against PDFKit framework
-
- Reviewed by john.
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebPDFRepresentation.m:
- (+[WebPDFRepresentation PDFDocumentClass]): new
- (-[WebPDFRepresentation finishedLoadingWithDataSource:]): use PDFDocumentClass
- * WebView.subproj/WebPDFView.h:
- * WebView.subproj/WebPDFView.m:
- (+[WebPDFView PDFKitBundle]): new
- (+[WebPDFView PDFViewClass]): new
- (-[WebPDFView initWithFrame:]): create a PDFView subview
- (-[WebPDFView dealloc]): release the PDFView subview
- (-[WebPDFView PDFSubview]): new
-
-2004-11-15 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3879891> WebKit should link against PDFKit instead of Quartz
-
- Reviewed by darin.
-
- * WebKit.pbproj/project.pbxproj: link against PDFKit if it is present instead of Quartz.framework
-
-2004-11-15 Richard Williamson <rjw@apple.com>
-
- Fixed missing retain of image property data.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData dealloc]):
- (-[WebImageData _invalidateImages]):
- (-[WebImageData imageAtIndex:]):
- (-[WebImageData propertiesAtIndex:]):
- (-[WebImageData _frameDuration]):
-
-2004-11-15 Richard Williamson <rjw@apple.com>
-
- Cache image properties and frame durations.
- Create NSImage and TIFF representations from CGImage, lazily, as needed for
- dragging and element info dictionary.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData dealloc]):
- (-[WebImageData size]):
- (-[WebImageData propertiesAtIndex:]):
- (-[WebImageData _frameDurationAt:]):
- (-[WebImageData _frameDuration]):
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer dealloc]):
- (-[WebImageRenderer TIFFRepresentation]):
- (-[WebImageRenderer image]):
-
-2004-11-14 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/3879226> WebKit needlessly uses extra memory to store icon refcounts as NSNumbers
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase init]):
- (-[WebIconDatabase _setIconURL:forURL:]):
- (-[WebIconDatabase _retainIconForIconURLString:]):
- (-[WebIconDatabase _releaseIconForIconURLString:]):
- (-[WebIconDatabase _retainFutureIconForURL:]):
- (-[WebIconDatabase _releaseFutureIconForURL:]):
- * Misc.subproj/WebIconDatabasePrivate.h:
-
-2004-11-15 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3879513> leak in [WebArchive _propertyListRepresentation] copying HTML to pasteboard
-
- * WebView.subproj/WebArchive.m:
- (-[WebArchive _propertyListRepresentation]):
- the array holding the subresources was not released after use, oops!
-
-2004-11-12 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3874577> Opening restricted (parental) content in new window/tab reveals Safari's "Resources" folder
-
- Reviewed by john.
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate openFrameInNewWindow:]): use the unreachable URL if there is one
-
-=== Safari-171 ===
-
-2004-11-11 Richard Williamson <rjw@apple.com>
-
- Report actual size (not partial size) but use partial size
- when drawing.
-
- Reviewed by Maciej.
-
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData size]):
-
-2004-11-11 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - added _wasFirstResponderAtMouseDownTime method to bridge so we can fix
- <rdar://problem/3846152> REGRESSION (125-166): can't drag text out of <input type=text> fields
- with a subsequent change to WebCore.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (wasFirstResponderAtMouseDownTime:): Added. Calls _wasFirstResponderAtMouseDownTime
- on the WebHTMLView.
- (_getPreSmartSet): Move global inside the function, add (void) for cleanliness.
- (_getPostSmartSet): Ditto.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLViewPrivate dealloc]): Release firstResponderAtMouseDownTime.
- (-[WebHTMLView _setMouseDownEvent:]): Early exit if event is not changing.
- Set firstResponderAtMouseDownTime to the first responder.
- (-[WebHTMLView mouseDown:]): Release firstResponderAtMouseDownTime after handling
- the mouseDown event.
- (-[WebHTMLView _wasFirstResponderAtMouseDownTime:]): Added. Uses the
- firstResponderAtMouseDownTime field.
- * WebView.subproj/WebHTMLViewInternal.h: Added firstResponderAtMouseDownTime field
- and _wasFirstResponderAtMouseDownTime method.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2004-11-11 Richard Williamson <rjw@apple.com>
-
- Reviewed by Chris.
-
- Work-around to minimize impact of 3876764. Cache frame durations
- after first call. So we'll still leak 1K for each animated
- image, but that's better than 1K each time the frame is drawn!
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData _frameDuration]):
-
- Simplified animation cleanup code. Fixed leak due to
- incorrect key passed to CFDictionaryRemoveValue.
-
- (+[WebImageData stopAnimationsInView:]):
- (-[WebImageData addAnimatingRenderer:inView:]):
- (-[WebImageData removeAnimatingRenderer:]):
- (-[WebImageData _stopAnimation]):
-
-2004-11-11 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed <rdar://problem/3605906> Flash scrolled off the top and bottom cause CPU spin when combined with something dirty on the visible part of the page
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
- Work around AppKit bug by using rectangles from getRectsBeingDrawn:count: instead of
- using the passed-in rectangle.
-
-2004-11-11 Richard Williamson <rjw@apple.com>
-
- Work-arounds to make new ImageIO code work correctly. Still
- disabled for now. Requires at least Tiger 300. Testing does
- show a 3% improvement in PLT tests! That's huge!
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebImageData.m:
- (-[WebImageData imageAtIndex:]):
- (-[WebImageData incrementalLoadWithBytes:length:complete:]):
- (-[WebImageData isNull]):
-
-2004-11-10 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3396872> ICONS: icon DB inconsistencies can cause slowness during startup, idle and quit
-
- Reviewed by john.
-
- * Misc.subproj/WebFileDatabase.m:
- (-[WebFileDatabase objectForKey:]): added logging code
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase init]): use alloc, init rather than autorelease, retain
- (-[WebIconDatabase _loadIconDictionaries]): use 1 object for mapping icon URLs to site URLs and vice versa rather than 3. This avoids inconsistencies and is faster.
- (-[WebIconDatabase _updateFileDatabase]): write 1 object out
-
-2004-11-09 David Hyatt <hyatt@apple.com>
-
- Fix for 3873234, Safari UI is unresponsive when parsing multiple HTML docs and 3873233, Safari hangs when
- loading large local files.
-
- Reviewed by mjs
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge tokenizerProcessedData]):
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _receivedMainResourceError:complete:]):
- (-[WebDataSource isLoading]):
-
-2004-11-09 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3870964> 8A300: Safari not recognizing a PDF link (it displays raw data)
-
- Add "text/pdf" as an acceptable PDF MIME type.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebDataSource.m:
- (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- * WebView.subproj/WebFrameView.m:
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
-
-2004-11-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3783904> Return key behavior is confusingly different between popup menus and autofill menus
-
- Reviewed by john.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge control:textView:shouldHandleEvent:]): new
- * WebView.subproj/WebFormDelegate.h:
- * WebView.subproj/WebFormDelegate.m:
- (-[WebFormDelegate control:textView:shouldHandleEvent:inFrame:]): new
-
-2004-11-05 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3854218> Safari is sometimes really slow because of increased null events to plug-ins
-
- * Plugins.subproj/WebBaseNetscapePluginView.m: reverted null event interval to 0.02
-
-2004-11-05 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3838413> REGRESSION (Mail): "Smart" word paste adds spaces before/after special characters
-
- Reviewed by rjw.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (_getPreSmartSet): copied from AppKit
- (_getPostSmartSet): ditto
- (-[WebBridge isCharacterSmartReplaceExempt:isPreviousCharacter:]): new
-
-2004-11-05 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3810702> _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector: ASSERTS when reentered from Xcode's man page viewer
-
- Reviewed by Maciej (a long time ago).
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _loadDataSource:withLoadType:formState:]):
-
- Fixed <rdar://problem/3845307> WebKit needs to export _HIWebViewRegisterClass so HIWebViews can work in Carbon nib files
-
- As suggested in the bug, the fix is to actually call
- HIWebViewRegisterClass in WebKitInitForCarbon, rather than
- exporting the symbol.
-
- Reviewed by Chris.
-
- * Carbon.subproj/CarbonUtils.m:
- (WebInitForCarbon):
- * Carbon.subproj/HIWebView.m:
- * WebKit.pbproj/project.pbxproj:
-
-=== Safari-170 ===
-
-2004-11-05 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed <rdar://problem/3857151> Assertion failure in "trackingRectOwner" while moving mouse over Slashdot.org page
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]): Changed to no longer call
- addTrackingRect to do the work for consistency with the new method below. Not too much copied and pasted code.
- (-[WebHTMLView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]): Added an override
- for this new method in Tiger. No harm in implementing it on Panther, although it won't be called.
- (-[WebHTMLView _removeTrackingRects:count:]): Ditto.
-
-2004-11-04 David Hyatt <hyatt@apple.com>
-
- Make sure the dominant line direction is properly set for RTL runs so that spaces will reverse.
-
- Change xHeight to measure the ascent of the x glyph, since the xHeight metrics appear to be
- totally bogus in both CG and AppKit.
-
- Reviewed by darin
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer xHeight]):
- (-[WebTextRenderer _createATSUTextLayoutForRun:style:]):
- (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
- (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
- (-[WebTextRenderer _ATSU_drawRun:style:geometry:]):
- (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
-
-2004-11-02 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dave Hyatt (when I originally coded it).
-
- Redid WebKit part of fix for:
-
- <rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method,
- and translate to screen coordinates.
-
-2004-11-02 John Sullivan <sullivan@apple.com>
-
- Reviewed by Hyatt.
-
- - [NSFont menuFontOfSize:], called from WebStringTruncator, was taking > 9% of the time creating a
- very large bookmarks menu, so I cached this one NSFont object.
-
- * Misc.subproj/WebStringTruncator.m:
- (defaultMenuFont):
- new function, caches the font used when no font is specified
- (+[WebStringTruncator centerTruncateString:toWidth:]):
- call new function
-
-2004-11-02 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- WebCore now implements a command to insert a block in response to typing a return key, and
- some names were improved in the course of this work.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView insertNewline:]): Now calls insertLineBreak on bridge object.
- (-[WebHTMLView insertLineBreak:]): New method.
- (-[WebHTMLView insertParagraphSeparator:]): Now implemented.
- * WebView.subproj/WebView.m:
-
-=== Safari-169 ===
-
-2004-10-29 Chris Blumenberg <cblu@apple.com>
-
- * WebKit.exp: added _WebPlugInModeKey, forgot to add it earlier
-
-2004-10-29 Darin Adler <darin@apple.com>
-
- - fixed <rdar://problem/3855573> Remove reference to "WebScriptMethods" from WebScriptObject.h comments
-
- * Plugins.subproj/WebScriptObject.h: Removed unneeded #ifdef protection for multiple includes (since
- this is an Objective-C header and we use #import for those). Fixed comments as requested in the bug
- report to match the contents of the file.
-
-2004-10-27 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Chris
-
- Added new SPI for Mail so it can get the behavior it needs when the user hits
- the return key with the selection in quoted content.
-
- * WebView.subproj/WebView.m
- * WebView.subproj/WebViewPrivate.h
-
-2004-10-26 Chris Blumenberg <cblu@apple.com>
-
- Fixed exception that Darin encountered in Mail.
-
- Reviewed by darin.
-
- * Plugins.subproj/WebPluginController.m:
- (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): if the plug-in returns a nil view, return nil
-
-2004-10-25 Chris Blumenberg <cblu@apple.com>
-
- Darin made an internal notification have the Web prefix.
-
- Reviewed by me.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView addWindowObservers]):
- (-[WebBaseNetscapePluginView removeWindowObservers]):
- (ConsoleConnectionChangeNotifyProc):
-
-2004-10-25 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris.
-
- - Cleanup from fix for <rdar://problem/3851676> bookmarks should not hold onto a WebHistoryItem object;
- eliminated notificationsSuppressed mechanism, which was used only by WebBookmark
-
- * History.subproj/WebHistoryItem.m:
- removed notificationsSuppressed ivar from private data object
- (-[WebHistoryItem setAlternateTitle:]):
- remove notificationsSuppressed guard
- (-[WebHistoryItem setURLString:]):
- ditto
- (-[WebHistoryItem setOriginalURLString:]):
- ditto
- (-[WebHistoryItem setTitle:]):
- ditto
- (-[WebHistoryItem _setLastVisitedTimeInterval:]):
- ditto
- (-[WebHistoryItem setNotificationsSuppressed:]):
- removed this method
- (-[WebHistoryItem notificationsSuppressed]):
- ditto
-
- * History.subproj/WebHistoryItemPrivate.h:
- removed notificationsSuppressed and setNotificationsSuppressed
-
-2004-10-22 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3851491> installedPlugins being called for a page without plugins
-
- Reviewed by mjs.
-
- * WebView.subproj/WebFrameView.m:
- (+[WebFrameView _canShowMIMETypeAsHTML:]): call _viewTypesAllowImageTypeOmission instead of using ivar since the ivar is nil until _viewTypesAllowImageTypeOmission is called, this was causing [WebView canShowMIMEType:] to check plug-ins
-
-=== Safari-168 ===
-
-2004-10-22 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by me
-
- * WebKit.pbproj/project.pbxproj: Add GCC_ENABLE_OBJC_GC and GCC_FAST_OBJC_DISPATCH flags.
-
-2004-10-21 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3847994> REGRESSION: reproducible exception in WebImageRenderer releasePatternColor; afterwards get crash or no more browsing
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebInternalImage createRendererIfNeeded]): Replaced retainOrCopyIfNeeded with this.
- This returns nil if a copied renderer isn't needed, and returns a new renderer if a copy is.
- The old version was sometimes returning a WebInternalImage and other times a WebImageRenderer.
- (-[WebImageRenderer retainOrCopyIfNeeded]): Returns the result of createRendererIfNeeded
- or retains self and returns self.
-
-2004-10-20 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- - fixed <rdar://problem/3470715> Pattern cache can get huge with use of css background-image in Safari
-
- * WebCoreSupport.subproj/WebImageRenderer.h: Change WebImageRenderer to be a subclass of NSObject
- rather than NSImage and contain a pointer to a WebInternalImage.
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebInternalImage releasePatternColor]): Added. Releases patternColor.
- (-[WebImageRenderer initWithMIMEType:]): Added. Makes WebInternalImage and then self.
- (-[WebImageRenderer initWithData:MIMEType:]): Ditto.
- (-[WebImageRenderer initWithContentsOfFile:]): Ditto.
- (-[WebImageRenderer dealloc]): Added. Calls releasePatternColor and then releases WebInternalImage.
- (-[WebImageRenderer image]): Added. Returns pointer to image.
- (-[WebImageRenderer MIMEType]): Added. Calls through to image.
- (-[WebImageRenderer TIFFRepresentation]): Ditto.
- (-[WebImageRenderer frameCount]): Ditto.
- (-[WebImageRenderer setOriginalData:]): Added. Sets image data pointer.
- (+[WebImageRenderer stopAnimationsInView:]): Added. Calls through to image.
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Ditto.
- (-[WebImageRenderer size]): Ditto.
- (-[WebImageRenderer resize:]): Ditto.
- (-[WebImageRenderer drawImageInRect:fromRect:]): Ditto.
- (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]): Ditto.
- (-[WebImageRenderer stopAnimation]): Ditto.
- (-[WebImageRenderer tileInRect:fromPoint:context:]): Ditto.
- (-[WebImageRenderer isNull]): Ditto.
- (-[WebImageRenderer retainOrCopyIfNeeded]): Ditto.
- (-[WebImageRenderer increaseUseCount]): Ditto.
- (-[WebImageRenderer decreaseUseCount]): Ditto.
- (-[WebImageRenderer flushRasterCache]): Ditto.
- (-[WebImageRenderer imageRef]): Ditto.
- (-[WebImageRenderer copyWithZone:]): Ditto.
-
- * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]):
- Update for slight changes to WebImageRenderer API.
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory imageRendererWithMIMEType:]): Ditto.
- (-[WebImageRendererFactory imageRendererWithData:MIMEType:]): Ditto.
- (-[WebImageRendererFactory imageRendererWithSize:]): Ditto.
- (-[WebImageRendererFactory imageRendererWithName:]): Ditto.
- * WebView.subproj/WebImageView.m: (-[WebImageView image]): Ditto.
-
-2004-10-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3846943> REGRESSION: JNLP files are rendered instead of downloaded
-
- Reviewed by john.
-
- * Plugins.subproj/WebBasePluginPackage.h:
- * Plugins.subproj/WebBasePluginPackage.m:
- (-[WebBasePluginPackage isJavaPlugIn]): new
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase refresh]): don't register the Java plug-in for a document view since Java file should be downloaded when not embedded.
-
-2004-10-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3842030> WebKit needs to pass the mode (NP_FULL, NP_EMBED, etc) when calling plugInViewWithArguments
- <rdar://problem/3792852> Safari is loading the new QuickTime Cocoa plugin on Panther
-
- Reviewed by darin.
-
- * Plugins.subproj/WebPluginDocumentView.m:
- (-[WebPluginDocumentView setDataSource:]): pass "full" as the mode
- * Plugins.subproj/WebPluginPackage.m:
- (-[WebPluginPackage initWithPath:]): load plug-in with the "webplugin" extension
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): pass "embed" as the mode
- * WebKit.pbproj/project.pbxproj:
-
-2004-10-19 Vicki Murley <vicki@apple.com>
-
- - bump WebKit version to 167.1, so that we can do a quick dot submission for <rdar://problem/3843951>
-
- * WebKit.pbproj/project.pbxproj:
-
-2004-10-19 Darin Adler <darin@apple.com>
-
- Change suggested by Maciej during code review.
-
- * WebCoreSupport.subproj/WebTextRenderer.m: Changed rounding hack table to be const so it can be in shared instead
- of private memory, and doesn't require an initialization function.
- (+[WebTextRenderer initialize]): Removed initialization.
-
-2004-10-19 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed <rdar://problem/3838934> Safari stops loading pages after rangeOfCharacterFromSet nil argument exception
- - fixed <rdar://problem/3843951> REGRESSION (166-167): Safari crashes in widthForNextCharacter (belkin.com, at startup for others)
- - fixed <rdar://problem/3841049> REGRESSION (109-110): control characters render as square boxes
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (isSpace): Merged in isAlternateSpace, never used.
- (setupRoundingHackCharacterTable): Fixed size of table, was 1 entry too short. Got rid of unneeded call to bzero,
- since globals start out zeroed automatically.
- (isRoundingHackCharacter): Fixed backwards logic causing the crash in widthForNextCharacter.
- Also removed explicit compare with 1; check for non-zero is just fine.
- (fontContainsString): Change code so we'll just skip the font if the covered character set returns nil rather than
- throwing an exception like the old version did. This should make bug 3838934 go away, although perhaps covering up
- the underlying problem.
- (-[WebTextRenderer _convertCharacters:length:toGlyphs:]): Removed unused skipControlCharacters: parameter and also
- the unnecessary code to copy the buffer to change newline characters and non-break spaces to spaces.
- (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]): Removed unused local.
- (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Added code to set up special cases for control characters,
- \n and non-break spaces.
- (-[WebTextRenderer _createATSUTextLayoutForRun:]): Added comment about the cases this code does not handle that
- are handled by the CG case.
- (widthForNextCharacter): Call isSpace instead of checking specifically for the space character here. The old code
- would not handle cases with '\n' coming across from WebCore properly.
-
-2004-10-18 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3840916> GC: -[WebNetscapePluginPackage initWithPath:] leaks an NSURL
-
- Reviewed by kevin.
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage initWithPath:]): use executablePath on NSBundle instead of CFBundleCopyExecutableURL
-
-2004-10-18 Chris Blumenberg <cblu@apple.com>
-
- * DOM.subproj/DOMPrivate.h: change to copied header that was never committed
-
-2004-10-18 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3810183> Make WebHTMLView respect return value of webView:doCommandBySelector:
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView doCommandBySelector:]):
- only do default action if delegate returns NO; this works with Mail as of Tiger 8A275.
-
-=== Safari-167 ===
-
-2004-10-14 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Final fix for these bugs:
-
- <rdar://problem/3806306> HTML editing puts spaces at start of line
- <rdar://problem/3814252> HTML editing groups space with word causing wrapping
-
- This change sets some new CSS properties that have been added to WebCore to
- enable whitespace-handling and line-breaking features that make WebView work
- more like a text editor.
-
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Turn on special editing
- CSS properties when loading an HTML document into a WebView that is editable.
- * WebView.subproj/WebView.m:
- (-[WebView setEditable:]): Add and remove special editing CSS properties in current
- document being displayed.
-
-2004-10-14 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3823026> making isRoundingHackCharacter use -O3 and an 8-bit lookup-table will speed "XBS" test up by 3% (actually < 1%)
-
- Careful testing shows a small performance gain on very large text files.
- I saw large variations in timings, but taking the lowest PLT timing
- with and without this change showed a 0.9% gain. Note the cvs-base showed
- no improvement. The improvement was for the large page attached to the
- bug.
-
- Reviewed by Ken.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (setupRoundingHackCharacterTable):
- (isRoundingHackCharacter):
- (+[WebTextRenderer initialize]):
-
-2004-10-14 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by me
-
- Fix build breakage. These three functions need to return the values from their
- calls to WebCGColorSpaceCreateXXX.
-
- * WebCoreSupport.subproj/WebGraphicsBridge.m:
- (-[WebGraphicsBridge createRGBColorSpace])
- (-[WebGraphicsBridge createGrayColorSpace])
- (-[WebGraphicsBridge createCMYKColorSpace])
-
-2004-10-13 Richard Williamson <rjw@apple.com>
-
- Addressed concerns in <rdar://problem/3803117> RESP: High complexity in icu uidna_IDNToASCII called by [NSString(WebNSURLExtras) _web_mapHostNameWithRange:encode:makeString:]
-
- In practice I saw NO improvement in performance. Although,
- special-case tests could possibly show improvement. Anyway,
- the changes don't hurt performance.
-
- Reviewed by Maciej.
-
- * Misc.subproj/WebNSURLExtras.m:
- (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
-
-2004-10-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- <rdar://problem/3824626> Change to do colormatching for DeviceRGB colorspace causes ~11% Safari slowdown
-
- - I fixed this by turning off all colormatching for WebKit
- content. We might turn it back on later. For now, it's possible to
- turn it on temporarily by defining COLORMATCH_EVERYTHING.
-
- * WebCoreSupport.subproj/WebGraphicsBridge.m:
- (-[WebGraphicsBridge setFocusRingStyle:radius:color:]):
- (-[WebGraphicsBridge additionalPatternPhase]):
- (-[WebGraphicsBridge createRGBColorSpace]):
- (-[WebGraphicsBridge createGrayColorSpace]):
- (-[WebGraphicsBridge createCMYKColorSpace]):
- * WebCoreSupport.subproj/WebImageData.m:
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer _adjustSizeToPixelDimensions]):
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
- (-[WebImageRenderer _adjustColorSpace]):
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
- (-[WebImageRenderer tileInRect:fromPoint:context:]):
- (_createImageRef):
- (WebCGColorSpaceCreateRGB):
- (WebCGColorSpaceCreateGray):
- (WebCGColorSpaceCreateCMYK):
- * WebKitPrefix.h:
-
-2004-10-13 Richard Williamson <rjw@apple.com>
-
- Don't fill background with transparency unless debug flag
- is enabled.
-
- Reviewed by Hyatt.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView drawRect:]):
-
-2004-10-12 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3829705> Need to remove filling w/ transparency when not drawing backgroundy.
-
- Reviewed by Ken.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _transparentBackground]):
- (-[WebHTMLView _setTransparentBackground:]):
- (-[WebHTMLView drawRect:]):
- * WebView.subproj/WebHTMLViewInternal.h:
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2004-10-11 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3802039> 8A259: Can't use Grab services to grab selection from screen
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (+[WebHTMLView initialize]): register service "return types" which are types that can be inserted into a WebView
- (-[WebHTMLView writeSelectionToPasteboard:types:]): service protocol method, be sure to only write specified types
- (-[WebHTMLView readSelectionFromPasteboard:]): new, service protocol method, insert types
- (-[WebHTMLView validRequestorForSendType:returnType:]): moved, handle return types
-
-2004-10-11 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3834130> nil-object-in-dictionary exception seen in -[WebView _elementAtWindowPoint:]
-
- * WebView.subproj/WebView.m: (-[WebView _elementAtWindowPoint:]): Added a check for nil frame.
-
-2004-10-11 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3834166> <input type=file> sends onchange even when the same file is chosen twice
-
- * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton chooseFilename:]):
- Do nothing if filename is the same as before.
-
-2004-10-11 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebTextCompleteController doCompletion]): bridge call to get caret rect at a node
- now takes an affinity: caretRectAtNode:offset:affinity:.
-
-2004-10-10 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Chris
-
- Fix for this bug:
-
- <rdar://problem/3814236> REGRESSION (Mail): Can't set the color of text in Mail compose window using drag/drag from color panel
-
- * WebView.subproj/WebHTMLView.m:
- (+[WebHTMLView _insertablePasteboardTypes]): Add NSColorPboardType to list.
- (-[WebHTMLView _isNSColorDrag:]): New helper. Determines if drag is an NSColor drag.
- (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Add a case for NSColor drags,
- else do what we did before.
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Add a case for NSColor drags, which creates
- a CSS style containing color info and calls the bridge to apply the style. Otherwise, do what we did before.
-
-2004-10-11 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3833848> REGRESSION (133-134): each keydown event is getting sent multiple times
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView performKeyEquivalent:]):
- Don't send an event through WebCore if it has already been through once.
-
-2004-10-10 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3777253> Crash in redirect mechanism trying to display error page for bad scheme
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
- add retain/autorelease to the request returned from call to super. In this case, the return value
- was being dealloc'ed before being returned.
-
-2004-10-09 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3625352> up and down arrow and page up/down keys don't work to scroll overflow:auto/scroll/overlay areas
- <rdar://problem/3397658> scroll wheel does not work to scroll overflow:auto/scroll/overlay areas (RSS)
-
- Reviewed by hyatt.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): fixed typo in comment
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _bridge]): new
- (-[WebFrameView scrollToBeginningOfDocument:]): call the bridge to scroll, if that fails, scroll the document view
- (-[WebFrameView scrollToEndOfDocument:]): ditto
- (-[WebFrameView _pageVertically:]): ditto
- (-[WebFrameView _pageHorizontally:]): ditto
- (-[WebFrameView _scrollLineVertically:]): ditto
- (-[WebFrameView _scrollLineHorizontally:]): ditto
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView scrollWheel:]): call the bridge to scroll, if that fails, pass to next responder
-
-=== Safari-166 ===
-
-2004-10-05 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3827002> assertion failure in WebBaseNetscapePluginStream on abc.go.com
-
- Reviewed by rjw.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): avoid assertion failure in dealloc by temporarily setting isTerminated to YES in case we are released in this method
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
-
-2004-10-05 John Sullivan <sullivan@apple.com>
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
- initialize "arguments" var to nil to satisfy compiler on deployment build.
-
-2004-10-05 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3825442> first click lost for Dashboard
- Allow dashboard to force acceptsFirstMouse:
-
- Reviewed by Chris.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView acceptsFirstMouse:]):
- * WebView.subproj/WebView.m:
- (-[WebView _dashboardBehavior:]):
- * WebView.subproj/WebViewInternal.h:
- * WebView.subproj/WebViewPrivate.h:
-
- * WebCoreSupport.subproj/WebImageRenderer.h:
- Comment change only
-
-2004-10-05 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3760920> Need to record plugin view instances
-
- Reviewed by rjw.
-
- * Plugins.subproj/WebPluginController.h:
- * Plugins.subproj/WebPluginController.m:
- (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): new, creates plug-in view and adds it to global list
- (+[WebPluginController isPlugInView:]): new, checks if the plug-in view is in the global list
- (-[WebPluginController destroyAllPlugins]): remove the plug-in from the global list
- * Plugins.subproj/WebPluginDocumentView.m:
- (-[WebPluginDocumentView setDataSource:]): call [WebPluginController plugInViewWithArguments:fromPluginPackage:]
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): ditto
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _reloadForPluginChanges]): call [WebPluginController isPlugInView:]
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addSubview:]): ditto
-
-2004-10-05 David Hyatt <hyatt@apple.com>
-
- Fix to make selection more like NSTextView. All gap painting is now done by WebCore, so WebKit no longer
- needs to try to fill gaps around text.
-
- Reviewed by kocienda
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
- (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
-
-2004-10-05 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3577255> custom file icon shows up upside down in <input type=file>
-
- * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]): Added a call to
- setFlipped that fixes the problem, even though I don't know why.
-
-2004-10-04 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed <rdar://problem/3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _selectionStartFontAttributesAsRTF]): Changed to call new bridge method
- named fontAttributesForSelectionStart, deleted the method this used to use, and renamed
- this to have the word "start" in it.
- (-[WebHTMLView copyFont:]): Updated for name change.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2004-10-04 Chris Blumenberg <cblu@apple.com>
-
- * WebView.subproj/WebFrameInternal.h: removed constant declarations that I committed by mistake
-
-2004-10-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3798948> NPP_URLNotify is not called if plug-in calls NPN_*URLNotfy
- Fixed a number of FIXME's related to notifying plug-ins of loaded pages.
-
- Reviewed by rjw.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.h:
- - replaced URL ivar with requestURL and responseURL ivars since we need to pass both to plug-ins
- - added sendNotification boolean. Relying on notifyData not being NULL was not information to know whether to call NPP_URLNotify or not.
- - added isTerminated boolean because determining whether or not stream.ndata is NULL is not enough to know if the stream has been cancelled.
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (+[WebBaseNetscapePluginStream reasonForError:]): new, factored out from receivedError:
- (-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): new
- (-[WebBaseNetscapePluginStream dealloc]): release new ivars
- (-[WebBaseNetscapePluginStream finalize]): added assert
- (-[WebBaseNetscapePluginStream setRequestURL:]): new
- (-[WebBaseNetscapePluginStream setResponseURL:]): new
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed, use responseURL as it basically did before
- (-[WebBaseNetscapePluginStream startStreamWithResponse:]): call renamed method
- (-[WebBaseNetscapePluginStream destroyStream]):
- - do nothing if terminated
- - call NPP_StreamAsFile and NPP_DestroyStream if stream.ndata is not NULL
- - call NPP_URLNotify if sendNotification is YES regardless of value of notifyData
- (-[WebBaseNetscapePluginStream receivedError:]): call reasonForError
- (-[WebBaseNetscapePluginStream deliverData]): use renamed ivar
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- - added observingFrameLoadNotification boolean
- - renamed dictionary ivar to pendingFrameLoads which has WebFrame keys and WebPluginRequest values
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView addFrameLoadObserver]): new
- (-[WebBaseNetscapePluginView removeFrameLoadObserver]): new
- (-[WebBaseNetscapePluginView stop]): call removeFrameLoadObserver
- (-[WebBaseNetscapePluginView initWithFrame:]): use renamed pendingFrameLoads ivar
- (-[WebBaseNetscapePluginView dealloc]): ditto
- (-[WebBaseNetscapePluginView requestWithURLCString:]): set referrer on the request just as IE does
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
- - call NPP_URLNotify depending of value of sendNotification
- - call new init method on WebBaseNetscapePluginStream rather then setting variables individually
- (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): new, calls NPP_URLNotify at the right time with the right value
- (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]): new, delegate method called from WebFrame
- (-[WebBaseNetscapePluginView loadPluginRequest:]): call addFrameLoadObserver
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): take new sendNotification parameter and pass it
- (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass YES for sendNotification
- (-[WebBaseNetscapePluginView getURL:target:]): pass NO for sendNotification
- (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]): take new sendNotification parameter and pass it
- (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): pass YES for sendNotification
- (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): pass NO for sendNotification
- (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:]): take new sendNotification parameter
- (-[WebPluginRequest sendNotification]): new
- * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView didStart]): set referrer on the request just as IE does
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): set the request URL on the stream
- * Plugins.subproj/WebNetscapePluginStream.h:
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): take new sendNotification parameter and pass it
- (-[WebNetscapePluginStream dealloc]): use renamed ivar
- (-[WebNetscapePluginStream start]): ditto
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _setState:]): removed notification posting code. This was only used by WebBaseNetscapePluginView and it was the wrong notification to send.
- (-[WebFrame _checkLoadCompleteForThisFrame]): call internal load delegate to tell it that the load has finished
- (-[WebFrame _loadItem:withLoadType:]): ditto
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): ditto
- (-[WebFrame _setInternalLoadDelegate:]): new
- (-[WebFrame _internalLoadDelegate]): new
- * WebView.subproj/WebFrameInternal.h:
- * WebView.subproj/WebFramePrivate.h:
-
-2004-10-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3758113> REGRESSION: Macromedia ColdFusion page doesn't show main content
-
- After bumping up our plug-in version, Flash now sends 2 CRLF's between the headers and body of their POST request. Our code was not prepared for this.
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[NSData _web_locationAfterFirstBlankLine]): looks for 2 CRLF's, not for 2 LF's
-
-2004-10-04 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed a potential storage leak when we turn on CGImageRef image rendering
-
- * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]): Fix potential storage leak
- by adding [super dealloc], but leak was not real yet because the code is commented out.
-
- - make paste style work with color as part of fix to <rdar://problem/3814237> REGRESSION (Mail):
- Copy/paste style does not set color in Mail compose window
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _selectionFontAttributes]): Change structure so it's easy to add more attributes.
- For now I haven't added any yet.
- (-[WebHTMLView _colorAsString:]): Moved this earlier in the file.
- (-[WebHTMLView _shadowAsString:]): Ditto.
- (-[WebHTMLView _styleFromFontAttributes:]): Add background color, foreground color, and text shadow.
-
-2004-09-30 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3821215> NPN hasMethod and hasProperty functions should take NPObjects, not NPClass
-
- Also changed dashboard regions dictionary to use "control"
- for scroller region label, instead of "scroller, per
- request from ouch.
-
- Reviewed by Chris.
-
- * Plugins.subproj/npruntime.h:
- * WebView.subproj/WebView.m:
- (-[WebView _addScrollerDashboardRegions:from:]):
-
-2004-09-30 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3498680> switching back and forth between tabs stops calling anything in a plug-in
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendEvent:]): call setWindowIfNecessary because the window may have changed
- (-[WebBaseNetscapePluginView updateAndSetWindow]): new
- (-[WebBaseNetscapePluginView setWindowIfNecessary]): was setWindow, this method now just sets the window
- (-[WebBaseNetscapePluginView start]): call updateAndSetWindow
- (-[WebBaseNetscapePluginView viewDidMoveToWindow]): ditto
- (-[WebBaseNetscapePluginView viewHasMoved:]): ditto
-
-2004-09-30 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3498668> switching out of tab doesn't send loseFocusEvent to plug-in
-
- Reviewed by rjw.
-
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView setHasFocus:]): new, sends events to plug-in
- (-[WebBaseNetscapePluginView becomeFirstResponder]): call setHasFocus
- (-[WebBaseNetscapePluginView resignFirstResponder]): ditto
- (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): ditto
-
-2004-09-30 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- Assertion failure when loading standalone netscape plug-in content.
- Document loads of WebKit plug-in content should be cancelled since the plug-in does its own loading.
-
- Reviewed by john.
-
- * Misc.subproj/WebKitErrors.m: removed deprecated method
- * Misc.subproj/WebKitErrorsPrivate.h:
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]): fixed the assertion statement
- * Plugins.subproj/WebPluginDocumentView.h:
- * Plugins.subproj/WebPluginDocumentView.m:
- (-[WebPluginDocumentView dealloc]): remove retained plug-in
- (-[WebPluginDocumentView setDataSource:]): retain the plug-in, cancel the laod
-
-2004-09-29 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3763832> Safari-155: Non-Embeded movies fail to open in Cocoa QT plug-in
- <rdar://problem/3820517> "*** -[WebPluginPackage NPP_New]: selector not recognized [self = 0x5552c10]"
-
- Reviewed by rjw.
-
- * History.subproj/WebHistoryItem.m:
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_firstResponderCausesFocusDisplay]):
- (-[NSView _webView]):
- (-[NSView _frame]):
- (-[NSView _bridge]):
- (-[NSView _dataSource]):
- * Plugins.subproj/WebBasePluginPackage.h:
- * Plugins.subproj/WebBasePluginPackage.m:
- (-[WebBasePluginPackage hash]):
- (-[WebBasePluginPackage isQuickTimePlugIn]):
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- * Plugins.subproj/WebPluginController.h:
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController initWithDocumentView:]):
- (-[WebPluginController addPlugin:]):
- (-[WebPluginController destroyAllPlugins]):
- (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
- (-[WebPluginController webPlugInContainerShowStatus:]):
- (-[WebPluginController webPlugInContainerSelectionColor]):
- (-[WebPluginController webFrame]):
- * Plugins.subproj/WebPluginDatabase.h:
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
- (-[WebPluginDatabase refresh]):
- (WebPluginDocumentView::while):
- * Plugins.subproj/WebPluginDocumentView.h: Added.
- * Plugins.subproj/WebPluginDocumentView.m: Added.
- (-[WebPluginDocumentView initWithFrame:]):
- (-[WebPluginDocumentView dealloc]):
- (-[WebPluginDocumentView drawRect:]):
- (-[WebPluginDocumentView setDataSource:]):
- (-[WebPluginDocumentView setNeedsLayout:]):
- (-[WebPluginDocumentView layout]):
- (-[WebPluginDocumentView currentWindow]):
- (-[WebPluginDocumentView viewWillMoveToWindow:]):
- (-[WebPluginDocumentView viewDidMoveToWindow]):
- (-[WebPluginDocumentView viewWillMoveToHostWindow:]):
- (-[WebPluginDocumentView viewDidMoveToHostWindow]):
- (-[WebPluginDocumentView receivedData:withDataSource:]):
- (-[WebPluginDocumentView receivedError:withDataSource:]):
- (-[WebPluginDocumentView finishedLoadingWithDataSource:]):
- (-[WebPluginDocumentView canProvideDocumentSource]):
- (-[WebPluginDocumentView documentSource]):
- (-[WebPluginDocumentView title]):
- * Plugins.subproj/npapi.m:
- (NPN_ReleaseVariantValue):
- (NPN_GetStringIdentifier):
- (NPN_GetStringIdentifiers):
- (NPN_GetIntIdentifier):
- (NPN_IdentifierIsString):
- (NPN_UTF8FromIdentifier):
- (NPN_IntFromIdentifier):
- (NPN_CreateObject):
- (NPN_RetainObject):
- (NPN_ReleaseObject):
- (NPN_Invoke):
- (NPN_InvokeDefault):
- (NPN_Evaluate):
- (NPN_GetProperty):
- (NPN_SetProperty):
- (NPN_RemoveProperty):
- (NPN_HasProperty):
- (NPN_HasMethod):
- (NPN_SetException):
- (NPN_Call):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge frameRequiredForMIMEType:URL:]):
- * WebCoreSupport.subproj/WebViewFactory.m:
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDebugDOMNode.m:
- * WebView.subproj/WebDocumentInternal.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView initWithFrame:]):
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebImageRepresentation.h:
- * WebView.subproj/WebRenderNode.m:
- * WebView.subproj/WebView.m:
-
-2004-09-29 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object
-
- The fix has two parts, 1) make onblur and onfocus work for windows,
- and 2), allow the dashboard to override WebKit's special key/non-key
- behaviors.
-
- Reviewed by Maciej.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView restartNullEvents]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addMouseMovedObserver]):
- (-[WebHTMLView removeMouseMovedObserver]):
- * WebView.subproj/WebView.m:
- (-[WebView _dashboardBehavior:]):
- * WebView.subproj/WebViewInternal.h:
- * WebView.subproj/WebViewPrivate.h:
-
-2004-09-29 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - consolidated OS version checks into prefix header
-
- * Misc.subproj/WebFileDatabase.m:
- (-[WebFileDatabase _createLRUList:]):
- (+[WebFileDatabase _syncLoop:]):
- * Misc.subproj/WebKitErrors.m:
- (registerErrors):
- * Misc.subproj/WebNSObjectExtras.h:
- (WebNSRetainCFRelease):
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
- * Misc.subproj/WebUnicode.m:
- (_unicodeDirection):
- * WebCoreSupport.subproj/WebImageData.h:
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebKeyGenerator.h:
- * WebCoreSupport.subproj/WebNewKeyGeneration.c:
- * WebKitPrefix.h:
- * WebView.subproj/WebDataSource.m:
- (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- (-[WebDataSource isLoading]):
- * WebView.subproj/WebFrameView.m:
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
- * WebView.subproj/WebHTMLView.m:
- * WebView.subproj/WebPDFRepresentation.h:
- * WebView.subproj/WebPDFRepresentation.m:
- * WebView.subproj/WebPDFView.h:
- * WebView.subproj/WebPDFView.m:
-
-2004-09-29 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- Fix for this bug:
-
- <rdar://problem/3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView centerSelectionInVisibleArea:]): Now calls new centerSelectionInVisibleArea
- bridge function instead of ensureCaretVisible. Now handles caret selections and range
- selections correctly.
-
-2004-09-28 Chris Blumenberg <cblu@apple.com>
-
- Added timing code so that Doug can time RTF conversion.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]):
- (-[WebHTMLView _attributeStringFromDOMRange:]):
-
-2004-09-28 Richard Williamson <rjw@apple.com>
-
- <rdar://problem/3817421> add getter for dashboard regions (debugging)
-
- <rdar://problem/3817417> NSScrollView need autoregions for dashboard
- Also KWQScrollBars
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge dashboardRegionsChanged:]):
- * WebView.subproj/WebView.m:
- (-[WebView _setInitiatedDrag:]):
- (-[WebView _addScrollerDashboardRegions:from:]):
- (-[WebView _addScrollerDashboardRegions:]):
- (-[WebView _dashboardRegions]):
- * WebView.subproj/WebViewPrivate.h:
-
-2004-09-27 John Sullivan <sullivan@apple.com>
-
- - fixed <rdar://problem/3814705> 8A266: Safari authentication dialog "remember password" text should match Mail
-
- * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
- changed "Remember this password" to "Remember this password in my keychain";
- this will need to go through CCC for this week's build.
-
-2004-09-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3594754> change null event interval from 20 ms to 10 ms to match speed on Windows
-
- Reviewed by John.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
-
-2004-09-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3502138> text files don't remember scroll position when going back or reloading
-
- Reviewed by john.
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView layout]): implemented, call sizeToFit, without this scrollPoint: won't work
-
-2004-09-27 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - WebKit part of fix for <rdar://problem/3734466> ER: Support standard editing keystrokes
- like Cmd-B while editing rich text
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _toggleBold]):
- new method, toggles font-weight from "bold" to "normal"
- (-[WebHTMLView _toggleItalic]):
- new method, toggles font-style from "italic" to "normal"
- (-[WebHTMLView _handleStyleKeyEquivalent:]):
- new method, if the new preference is set and we're in an editable state, check for standard
- key equivalents for toggling styles (just command-B and command-I for now).
- (-[WebHTMLView performKeyEquivalent:]):
- Moved in file, now calls _handleStyleKeyEquivalent:
-
- * WebView.subproj/WebPreferenceKeysPrivate.h:
- new preference key WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]):
- initial value of WebKitRespectStandardStyleKeyEquivalentsPreferenceKey is NO (maybe we'll
- change our minds about this, but this is more guaranteed to be backward-compatible)
- (-[WebPreferences respectStandardStyleKeyEquivalents]):
- read WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
- (-[WebPreferences setRespectStandardStyleKeyEquivalents:]):
- write WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
-
- * WebView.subproj/WebPreferencesPrivate.h:
- declare getter and setter
-
- * English.lproj/StringsNotToBeLocalized.txt:
- updated for these and other recent changes
-
-2004-09-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3806649> assertion failure after control-click of webcam
-
- Reviewed by john.
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate contextMenuItemsForElement:]): don't provide "Copy Image" if the image is not fully loaded
-
-2004-09-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _setMouseDownEvent:]): new
- (-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent
- (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
- (-[WebHTMLView mouseDown:]): ditto
- (-[WebHTMLView _delegateDragSourceActionMask]): removed temp fix, assert that the mouse event is not nil
-
-2004-09-27 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Added WebDashboardRegion.h as a private header.
-
-2004-09-24 Chris Blumenberg <cblu@apple.com>
-
- Reviewed by rjw.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _selectedArchive]): added timing code for copying markup
-
-=== Safari-165 ===
-
-2004-09-24 Chris Blumenberg <cblu@apple.com>
-
- Temp fix for: <rdar://problem/3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _delegateDragSourceActionMask]): return none if the mouse down event is nil
-
-2004-09-24 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Fix for this bug:
-
- <rdar://problem/3813917> REGRESSION (125-163): The font panel will change the font of any web page
-
- We were doing a laughably bad job at preventing edits in documents that were not editable.
- This change fixes the specific case of the bug mentioned above, and makes an attempt to
- fix similar bugs by checking for whether the view is in editing mode before making edits.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _canEdit]): Renamed from _canType. Used in many more places in the code now.
- (-[WebHTMLView _isMoveDrag]): Change around code to make the meaning more clear. This one
- was actually performing a correct check before.
- (-[WebHTMLView keyDown:]): Renamed _canType to _canEdit.
- (-[WebHTMLView paste:]): Don't beep if can't paste. This matches AppKit. Any paste-related beeps
- will come from failure to handle key equivalent. Menu validation will kick in to dim menu.
- (-[WebHTMLView _applyStyleToSelection:]): Bail if !_canEdit.
- (-[WebHTMLView pasteAsPlainText:]): Ditto.
- (-[WebHTMLView _alignSelectionUsingCSSValue:]): Ditto.
- (-[WebHTMLView insertNewline:]): Ditto.
- (-[WebHTMLView insertParagraphSeparator:]): Ditto.
- (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
- (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Ditto.
- (-[WebHTMLView complete:]): Ditto.
- (-[WebHTMLView _changeSpellingToWord:]): Ditto. Some code rearranging to eliminate bridge local variable.
- (-[WebHTMLView ignoreSpelling:]): Ditto.
- (-[WebHTMLView yank:]): Bail if !_canEdit.
- (-[WebHTMLView yankAndSelect:]): Ditto.
- (-[WebHTMLView deleteToMark:]): Ditto.
- (-[WebHTMLView swapWithMark:]): Ditto.
- (-[WebHTMLView transpose:]): Ditto.
- (-[WebHTMLView _updateFontPanel]): Ditto. Some code rearranging to eliminate bridge local variable.
- (-[WebHTMLView setMarkedText:selectedRange:]): Bail if !_canEdit.
- (-[WebHTMLView _insertText:selectInsertedText:]): Ditto. Some code rearranging to eliminate bridge local variable.
- * WebView.subproj/WebHTMLViewPrivate.h: Renamed _canType to _canEdit.
-
-2004-09-24 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by me
-
- * WebCoreSupport.subproj/WebDashboardRegion.h: Check in file copied from WebCore.
-
-2004-09-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/3685235> REGRESSION (Mail): links are not properly editable
-
- * WebView.subproj/WebDefaultUIDelegate.m: By default, don't allow
- link dragging if the element under the mouse pointer is
- editable. This way, you can drag-select starting inside a link.
-
-2004-09-23 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris.
-
- - WebKit part of fix for <rdar://problem/3415264>
- Default encoding should initially be set to current system encoding
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]):
- new SPI that sets the initial value of the default text encoding to
- be the system encoding, with a special-case conversion of MacRoman->Latin1.
- This is not done automatically for WebKit clients for fear of breaking them.
-
- * WebView.subproj/WebPreferencesPrivate.h:
- declare new SPI
-
-2004-09-23 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3811584> REGRESSION (85-125): iframe.document undefined in function called from button onclick; works from img onclick
-
- The fix is to not let "defers callbacks" have any effect on loading "about:blank".
- I also had to fix one bug in WebCore that could then be reproduced by going to "about:blank"
- while using a button.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient connection:didReceiveResponse:]): Loosen asserts to allow this callback
- for the specific case of "about:blank" even if the defers callbacks flag is true.
- (-[WebMainResourceClient connectionDidFinishLoading:]): Ditto.
- (-[WebMainResourceClient loadWithRequestNow:]): Added NSURLRequest return value. Loosened asserts
- as above. Changed code to return a new request if we get a new request back that is not empty
- when the defers callbacks flag is true.
- (-[WebMainResourceClient loadWithRequest:]): If the defers callbacks flag is set, but the
- URL is one that gives us an empty document, then do the work right away, don't defer it.
-
-2004-09-23 Darin Adler <darin@apple.com>
-
- - fixed B&I builds by checking in generated file
-
- * WebCoreSupport.subproj/WebDashboardRegion.h: Added.
-
-2004-09-22 Richard Williamson <rjw@apple.com>
-
- Pass dashboard regions to UI delegate.
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge dashboardRegionsChanged:]):
- * WebView.subproj/WebUIDelegatePrivate.h:
- * copy-webcore-files-to-webkit:
-
-2004-09-22 Chris Blumenberg <cblu@apple.com>
-
- Fixed build that I just broke.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
-
-2004-09-22 Chris Blumenberg <cblu@apple.com>
-
- <rdar://problem/3812091> REGRESSION (Mail): double-clicked word is not smart inserted on drag
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass value for smartMove
-
-2004-09-22 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3667301> Frequent crashes in Mail when viewing HTML messages (CFURLGetByteRangeForComponent)
- <rdar://problem/3810354> WebResourceLoadDelegate can't refuse requests by returning nil; code asserts/crashes instead
-
- Reviewed by rjw.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): removed broken code that handled loadWithRequest returning NO
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate loadWithRequest:]): if nil is returned from the client for willSendRequest, report the cancelled error and return
-
-2004-09-22 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _webcore_effectiveFirstResponder]): New function to yield the correct responder
- to check for firstResponder-ness before calling makeFirstResonder. This helps to prevent
- unwanted firstResponder switching.
- * WebView.subproj/WebView.m:
- (-[WebView _webcore_effectiveFirstResponder]): Ditto.
-
-2004-09-21 Chris Blumenberg <cblu@apple.com
-
- Fixed:
- <rdar://problem/3735071> REGRESSION (Mail): WebCore Editing must do smart paste
- <rdar://problem/3799163> REGRESSION (Mail): Deleting a word doesn't delete whitespace
-
- Reviewed by darin.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): pass NO for smartReplace
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
- (-[WebHTMLView _changeSpellingFromMenu:]): pass NO for smartReplace
- (-[WebHTMLView pasteboardTypesForSelection]): include WebSmartPastePboardType when _canSmartCopyOrDelete return YES
- (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
- (-[WebHTMLView delete:]): call _deleteSelection
- (-[WebHTMLView cut:]): don't call delegate twice, call _deleteRange to delete
- (-[WebHTMLView pasteAsPlainText:]): pass parameter for smartReplace using _canSmartReplaceWithPasteboard
- (-[WebHTMLView _changeWordCaseWithSelector:]): pass NO for smartReplace
- (-[WebHTMLView deleteBackward:]): call _deleteSelection when there is a selected range
- (-[WebHTMLView _changeSpellingToWord:]): pass NO for smartReplace
- (-[WebHTMLView deleteToMark:]): pass NO for smartDeleteOK
- (-[WebHTMLView transpose:]): pass NO for smartReplace
- (-[WebHTMLView _shouldDeleteRange:]): moved
- (-[WebHTMLView _deleteRange:preflight:killRing:prepend:smartDeleteOK:]): moved, handle smartDelete
- (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): moved
- (-[WebHTMLView _deleteSelection]): new
- (-[WebHTMLView _canSmartReplaceWithPasteboard]): new
- (-[WebHTMLView _canSmartCopyOrDelete]): new
- (-[WebHTMLView setMarkedText:selectedRange:]): pass NO for smartReplace
- (-[WebHTMLView _discardMarkedText]): call _deleteSelection
- (-[WebTextCompleteController _insertMatch:]): pass NO for smartReplace
- (-[WebTextCompleteController endRevertingChange:moveLeft:]): pass NO for smartReplace
- * WebView.subproj/WebHTMLViewInternal.h:
- * WebView.subproj/WebView.m:
- (-[WebView _commonInitializationWithFrameName:groupName:]): set smartInsertDeleteEnabled to YES
- (-[WebView replaceSelectionWithNode:]): pass NO for smartReplace
- (-[WebView replaceSelectionWithText:]): pass NO for smartReplace
- (-[WebView replaceSelectionWithMarkupString:]): pass NO for smartReplace
- (-[WebView deleteSelection]): call _deleteSelection on WebHTMLView
-
-2004-09-21 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- - WebKit part of fix for <rdar://problem/3618274> REGRESSION (125-135):
- Option-tab doesn't always work as expected
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
- Don't set WebCoreKeyboardAccessFull when setting WebCoreKeyboardAccessTabsToLinks
- after all; these need to be tested independently to get the option-tab behavior
- correct.
-
-2004-09-21 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView doCommandBySelector:]):
- Commented out part of previous change; it breaks Mail editing until Mail
- fixes bug 3810158.
-
-2004-09-21 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView doCommandBySelector:]):
- Fix build failure from previous checkin, d'oh! Didn't set up webview variable.
-
-2004-09-21 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3809477> WebHTMLView needs to pass doCommandBySelector through delegate
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView doCommandBySelector:]):
- Call through to editing delegate. If editing delegate returns YES, don't call super.
-
- * WebView.subproj/WebDefaultEditingDelegate.m:
- (-[WebDefaultEditingDelegate webView:doCommandBySelector:]):
- default implementation (which was never called) was returning YES, but it should
- return NO to signal that it didn't handle the selector.
-
-2004-09-21 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3647229> Safari does not play inline Windows Media Content on some sites (miggy.net and ministryofsound.com)
-
- Reviewed by john.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): set the plug-in before calling setting the attributes, so we can avoid passing certain attributes to the WMP plug-in that cause it to crash
-
-2004-09-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3781290> REGRESSION (Mail): Crash in ReplaceSelectionCommandImpl attaching file to new message
-
- Reviewed by kocienda.
-
- * WebView.subproj/WebView.m:
- (-[WebView setEditable:]): call updateSelectionFromEmpty on the bridge if there is no selection
-
-2004-09-20 Chris Blumenberg <cblu@apple.com>
-
- Changes to implement renamed bridge methods.
-
- Reviewed by darin.
-
- * ChangeLog:
- * DOM.subproj/WebDOMOperations.m:
- (-[DOMDocument URLWithAttributeString:]): call renamed bridge method
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): take 2 parameter arrays rather than 1 which will have to be parsed
- (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]): ditto
-
-2004-09-20 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- * WebView.subproj/WebFramePrivate.h: Added back.
- * WebView.subproj/WebFrameViewPrivate.h: Removed.
-
-2004-09-20 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3655360> REGRESSION (Mail): Ctrl-V emacs key binding, -pageDown: method, unimplemented (and pageUp, and selection-modifying versions)
- - fixed <rdar://problem/3792138> REGRESSION (Mail): Spell checker doesn't check current selected word
-
- * WebView.subproj/WebFrameViewInternal.h: Moved WebFrameViewPrivate inside the WebFrameView.m file.
- Removed a bunch of methods that don't need to be seen in other files, and added _verticalPageScrollDistance.
- * WebView.subproj/WebFrameViewPrivate.h: Removed. Renamed to WebFrameViewInternal.h.
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _verticalKeyboardScrollDistance]): Move in the file because of internal vs. private.
- (-[WebFrameView _shouldDrawBorder]): Ditto.
- (-[WebFrameView _tile]): Ditto.
- (-[WebFrameView _verticalPageScrollDistance]): Added. Separate method so it can be called
- by the code to implement pageDown:.
- (-[WebFrameView _drawBorder]): Move in the file because of internal vs. private.
- (-[WebFrameView _goBack]): Ditto.
- (-[WebFrameView _goForward]): Ditto.
- (-[WebFrameView _scrollVerticallyBy:]): Ditto.
- (-[WebFrameView _scrollHorizontallyBy:]): Ditto.
- (-[WebFrameView _horizontalKeyboardScrollDistance]): Ditto.
- (-[WebFrameView _horizontalPageScrollDistance]): Added. Separate method for consistency with
- vertical method above.
- (-[WebFrameView _pageVertically:]): Moved and changed to use _verticalPageScrollDistance.
- (-[WebFrameView _pageHorizontally:]): Moved and changed to use _horizontalPageScrollDistance.
- (-[WebFrameView _scrollLineVertically:]): Move in the file because of internal vs. private.
- (-[WebFrameView _scrollLineHorizontally:]): Ditto.
- (-[WebFrameView scrollPageUp:]): Ditto.
- (-[WebFrameView scrollPageDown:]): Ditto.
- (-[WebFrameView scrollLineUp:]): Ditto.
- (-[WebFrameView scrollLineDown:]): Ditto.
- (-[WebFrameView _firstResponderIsControl]): Ditto.
- (-[WebFrameView keyDown:]): Changed to eliminate _pageLeft, _lineLeft, _pageRight, and _lineRight.
-
- * WebView.subproj/WebDataSource.m: Use WebFrameView.h instead of WebFrameViewPrivate.h.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _alterCurrentSelection:verticalDistance:]): Added.
- (-[WebHTMLView moveToBeginningOfDocument:]): Use WebSelectToDocumentBoundary.
- (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
- (-[WebHTMLView moveToEndOfDocument:]): Ditto.
- (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
- (-[WebHTMLView moveParagraphBackwardAndModifySelection:]): Added.
- (-[WebHTMLView moveParagraphForwardAndModifySelection:]): Added.
- (-[WebHTMLView pageUp:]): Added.
- (-[WebHTMLView pageDown:]): Added.
- (-[WebHTMLView pageUpAndModifySelection:]): Added.
- (-[WebHTMLView pageDownAndModifySelection:]): Added.
- (-[WebHTMLView showGuessPanel:]): Changed to call advanceToNextMisspellingStartingJustBeforeSelection.
- This fixes the problem with spell checking.
-
- * WebView.subproj/WebImageView.m:
- (-[WebImageView webView]): Changed to use _web_parentWebView.
- (-[WebImageView menuForEvent:]): Changed to use [self webView].
- (-[WebImageView mouseDown:]): Ditto.
- (-[WebImageView mouseDragged:]): Ditto.
- (-[WebImageView draggedImage:endedAt:operation:]): Ditto.
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView _textSizeMultiplierFromWebView]): Changed to use _web_parentWebView.
- (-[WebTextView menuForEvent:]): Ditto.
- (-[WebTextView drawPageBorderWithSize:]): Ditto.
- (-[WebTextView knowsPageRange:]): Ditto.
-
- * Plugins.subproj/WebPluginDatabase.m: Updated filename of WebFrameViewInternal.h.
- * WebCoreSupport.subproj/WebBridge.m: Ditto.
- * WebKit.pbproj/project.pbxproj: Ditto.
- * WebView.subproj/WebFrame.m: Ditto.
- * WebView.subproj/WebView.m: Ditto.
- * Misc.subproj/WebNSViewExtras.m: Ditto.
-
-2004-09-20 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - added helper method _web_parentWebView so fewer files need to get at WebFrame private methods
-
- * Misc.subproj/WebNSViewExtras.h: Added _web_parentWebView.
- * Misc.subproj/WebNSViewExtras.m: (-[NSView _web_parentWebView]): Added.
-
-=== Safari-164 ===
-
-2004-09-17 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3805757> don't unnecessarily put RTFD on the pasteboard
- <rdar://problem/3805756> strip attachments before generating RTF
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): only put RTFD on the pasteboard if it has attachments, strip attachments when writing RTF
-
-2004-09-16 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3804648> 8A262: Safari crashed in -[WebView(WebPrivate) _editingDelegateForwarder] inside QuickTime Cocoa Plug-in during WebView deallocation
-
- * WebView.subproj/WebView.m: (-[WebView _editingDelegateForwarder]):
- Check _private for nil before dereferencing it.
-
-2004-09-16 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3779150> REGRESSION: images not copied when copying HTML in Safari and pasting into TextEdit
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): use RTFDFromRange:: for RTFD
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2004-09-15 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed assertion I saw using the font panel
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _colorAsString:]):
- Convert color space before trying to get R, G, and B components.
-
-2004-09-15 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3802232> REGRESSION (Mail): WebCore Editing must do smart copy
-
- Reviewed by kocienda.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _writeSelectionToPasteboard:]): call instance method not class method to get pasteboard types since the types depends on the current selection granularity
- (-[WebHTMLView pasteboardTypesForSelection]): if the selection granularity is "word" include the smart pasteboard type
- (-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]): put nil on the pasteboard for smart copy
-
-2004-09-14 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed <rdar://problem/3788894> REGRESSION (Mail): ctrl-t emacs key binding does not work (transpose)
- - fixed <rdar://problem/3798946> REGRESSION (Mail): Cursor does not disappear when typing
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView keyDown:]): Hide cursor by calling setHiddenUntilMouseMoves:YES.
- (-[WebHTMLView transpose:]): Added.
-
-2004-09-14 Richard Williamson <rjw@apple.com>
-
- 1. Add class parameter to object allocation function. This is somewhat redundant, given that
- the allocation function is in the class function vector, but people wanted to use the same
- allocation function for different classes.
-
- 2. Renamed NPN_Class to NPN_Invoke to match the name in the function vector.
-
- 3. Add support for a default function on an object. This is a feature that ActiveX supports,
- and will allow JavaScript code to be written that will look exactly the same for both ActiveX
- plugins and Netscape or WebKit plugins. There are implementations included for the 'C' and
- 'Objective-C' bindings.
-
- There bugs are covered by
-
- <rdar://problem/3776343> Support for default functions in the JavaScript bindings
- <rdar://problem/3779186> NPN_Call needs to be renamed to NPN_Invoke
- <rdar://problem/3674754> Need to implement latest npruntime.h
-
- Reviewed by John.
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
- * Plugins.subproj/WebScriptObject.h:
- * Plugins.subproj/npfunctions.h:
- * Plugins.subproj/npruntime.h:
-
-2004-09-13 Richard Williamson <rjw@apple.com>
-
- D'oh. How many times can I screw up a simple fix!
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:usingPrinterFont:]):
-
-2004-09-13 Richard Williamson <rjw@apple.com>
-
- Fixed snafu from 3782533 checkin.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:usingPrinterFont:]):
-
-2004-09-12 Chris Blumenberg <cblu@apple.com>
-
- Support for: <rdar://problem/3794790> drop rate or time remaining from download status when window is too small to fit it
-
- Reviewed by john.
-
- * Misc.subproj/WebStringTruncator.h:
- * Misc.subproj/WebStringTruncator.m:
- (+[WebStringTruncator widthOfString:font:]): new
-
-2004-09-10 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3782533> CrashTracer: .1459 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 0x138
-
- We were explicitly failing when we encountered deprecated fonts.
- (Those with unsupported glyph packings).
- Deprecated fonts should only appear on a system that have
- stuff migrated from OS 9. Ugh, thats probably why we've never seen
- the problem here.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:usingPrinterFont:]):
-
-2004-09-10 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris.
-
- - added _isFrameSet as a private method, so it can be used in WebBrowser.
- This is needed to merge the fix for 3123987 to SUPanNavy.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _isFrameSet]):
- new method
-
- * WebView.subproj/WebFramePrivate.h:
- declare new method
-
-2004-09-09 Chris Blumenberg <cblu@apple.com>
-
- Support for: <rdar://problem/3795485> debug menu item to enable RSS animation on first layout
-
- Reviewed by rjw.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge didFirstLayout]): new
- * WebView.subproj/WebDefaultFrameLoadDelegate.m:
- (-[WebDefaultFrameLoadDelegate webView:didFirstLayoutInFrame:]): new
- * WebView.subproj/WebViewPrivate.h:
-
-2004-09-09 Richard Williamson <rjw@apple.com>
-
- Alternate implementation of image rendering. Use CGImageRefs instead
- of NSImages.
-
- Mostly works, but currently disabled because of issues w/ CG.
-
- Reviewed by Chris.
-
- * ChangeLog:
- * WebCoreSupport.subproj/WebImageData.h: Added.
- * WebCoreSupport.subproj/WebImageData.m: Added.
- (-[WebImageData _commonTermination]):
- (-[WebImageData dealloc]):
- (-[WebImageData finalize]):
- (-[WebImageData copyWithZone:]):
- (-[WebImageData numberOfImages]):
- (-[WebImageData currentFrame]):
- (-[WebImageData _invalidateImages]):
- (-[WebImageData imageAtIndex:]):
- (-[WebImageData incrementalLoadWithBytes:length:complete:]):
- (drawPattern):
- (-[WebImageData tileInRect:fromPoint:context:]):
- (-[WebImageData isNull]):
- (-[WebImageData size]):
- (-[WebImageData _frameDuration]):
- (-[WebImageData _repetitionCount]):
- (-[WebImageData isAnimationFinished]):
- (+[WebImageData stopAnimationsInView:]):
- (-[WebImageData addAnimatingRenderer:inView:]):
- (-[WebImageData removeAnimatingRenderer:]):
- (-[WebImageData _stopAnimation]):
- (-[WebImageData _nextFrame:]):
- (-[WebImageData animate]):
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer initWithMIMEType:]):
- (-[WebImageRenderer initWithData:MIMEType:]):
- (-[WebImageRenderer initWithContentsOfFile:]):
- (-[WebImageRenderer dealloc]):
- (-[WebImageRenderer copyWithZone:]):
- (-[WebImageRenderer retainOrCopyIfNeeded]):
- (-[WebImageRenderer resize:]):
- (-[WebImageRenderer size]):
- (-[WebImageRenderer MIMEType]):
- (-[WebImageRenderer frameCount]):
- (-[WebImageRenderer isNull]):
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
- (-[WebImageRenderer drawImageInRect:fromRect:]):
- (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
- (-[WebImageRenderer tileInRect:fromPoint:context:]):
- (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
- (+[WebImageRenderer stopAnimationsInView:]):
- (-[WebImageRenderer stopAnimation]):
- (-[WebImageRenderer targetAnimationRect]):
- (-[WebImageRenderer increaseUseCount]):
- (-[WebImageRenderer decreaseUseCount]):
- (-[WebImageRenderer flushRasterCache]):
- (-[WebImageRenderer imageRef]):
- (-[WebImageRenderer TIFFRepresentation]):
- (-[WebImageRenderer image]):
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory imageRendererWithMIMEType:]):
- (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
- (-[WebImageRendererFactory imageRendererWithSize:]):
- (-[WebImageRendererFactory imageRendererWithName:]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebImageView.m:
- (-[WebImageView image]):
-
-=== Safari-163 ===
-
-2004-09-09 Maciej Stachowiak <mjs@apple.com>
-
- - rolled out last two changes, they seem to cause a performance regression
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView firstRectForCharacterRange:]):
-
-2004-09-09 Maciej Stachowiak <mjs@apple.com>
-
- - fixed build
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView firstRectForCharacterRange:]):
-
-2004-09-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dave.
-
- WebKit part of fix for:
-
- <rdar://problem/3759187> REGRESSION (Mail): implement firstRectForCharacterRange:
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView firstRectForCharacterRange:]): Call the appropriate new bridge method,
- and translate to screen coordinates.
-
-2004-09-09 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3790526> mark-related methods not implemented (needed for people with them in their key bindings files)
-
- * WebKit.pbproj/project.pbxproj: Update MACOSX_DEPLOYMENT_TARGET to 10.3 and add -fobjc-exceptions
- so we can use new exceptions.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView setMark:]): Added.
- (unionDOMRanges): Added.
- (-[WebHTMLView deleteToMark:]): Added.
- (-[WebHTMLView selectToMark:]): Added.
- (-[WebHTMLView swapWithMark:]): Added.
- (-[WebHTMLView markedRange]): Updated for change to bridge method names.
- (-[WebHTMLView hasMarkedText]): Ditto.
- (-[WebHTMLView unmarkText]): Ditto.
- (-[WebHTMLView _selectMarkedText]): Ditto.
- (-[WebHTMLView _selectRangeInMarkedText:]): Ditto.
- (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
- (-[WebHTMLView _insertText:selectInsertedText:]): Removed check for empty string. An empty string
- should not be filtered out here. We need to allow inserting an empty string.
- (-[WebHTMLView _selectionIsInsideMarkedText]): Updated for change to bridge method names.
- (-[WebHTMLView _updateSelectionForInputManager]): Ditto.
-
- * WebView.subproj/WebView.m: (-[WebView searchFor:direction:caseSensitive:wrap:]):
- Changed to use selectionDOMRange instead of selectionStart.
-
- * WebView.subproj/WebHTMLRepresentation.h: Removed unused setSelectionFrom method.
- * WebView.subproj/WebHTMLRepresentation.m: Ditto.
-
-2004-09-08 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- - fixed the localization aspect of:
- <rdar://problem/3790011> undoable operations all say "Undo" in the menu, no specific action names
-
- We now have all the strings ready for localization; we just don't actually use them yet.
-
- * English.lproj/Localizable.strings:
- updated for this change
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge setUndoActionNamePlaceholder]):
- added this placeholder method whose purpose is to hold localizable strings for all the Undo
- action names that NSTextView uses. Later we will use some or all of these, but we can do
- that part after the localization freeze.
-
-2004-09-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3778785> REGRESSION (Mail): copying from MS word and pasting into editable region leaves internal clipboard data
-
- Reviewed by kocienda.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ignore Microsoft's header meta data
-
-2004-09-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3792893> WebBaseResourceHandleDelegate always returns cached data for subresource loads
-
- Reviewed by rjw.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate _canUseResourceForRequest:]): new
- (-[WebBaseResourceHandleDelegate loadWithRequest:]): call _canUseResourceForRequest:
-
-2004-09-08 Chris Blumenberg <cblu@apple.com>
-
- Forgot to add this in previous check-in.
-
- * English.lproj/WebViewEditingContextMenu.nib: Added.
-
-2004-09-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3791240> WebKit uses the NSTextViewContextMenu nib from inside AppKit
-
- Reviewed by john.
-
- * English.lproj/StringsNotToBeLocalized.txt:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): use our copy of the nib
-
-2004-09-07 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2004-09-07 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3790143> exception raised when dragging a URL with 2-byte characters
-
- (checked in with last check-in)
-
-2004-09-07 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3080103> Need to pass cmd-modified keys to plug-ins
- <rdar://problem/3751509> can't use safari edit menu to copy and paste with Vantage Learning's My Access
-
- Reviewed by john.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m: fake up command-key events for cut, copy, paste and select all so these menu items work for plug-ins
- (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
- (-[WebBaseNetscapePluginView cut:]):
- (-[WebBaseNetscapePluginView copy:]):
- (-[WebBaseNetscapePluginView paste:]):
- (-[WebBaseNetscapePluginView selectAll:]):
-
-2004-09-07 Darin Adler <darin@apple.com>
-
- - fixed deployment build
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:]):
- Initialize prepend variable.
-
-2004-09-06 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3696542> REGRESSION (Mail): Editable WebKit doesn't support underline yet (in the iChat profile window, at least)
- - fixed <rdar://problem/3780249> REGRESSION (Mail): copy style/paste style doesn't work in HTML editing in Mail
- - fixed <rdar://problem/3788857> REGRESSION (Mail): Home and End keys don't work in message composer
- - fixed <rdar://problem/3788884> REGRESSION (Mail): ctrl-d emacs key binding does not work (delete forward)
- - fixed <rdar://problem/3788890> REGRESSION (Mail): ctrl-k emacs key binding does not work (delete to end of paragraph)
- - fixed <rdar://problem/3788899> REGRESSION (Mail): ctrl-y emacs key binding does not work (yank)
- - fixed <rdar://problem/3788901> REGRESSION (Mail): ctrl-o emacs key binding does not work (insert newline in front of insertion point)
- - fixed <rdar://problem/3788908> REGRESSION (Mail): ctrl-left-arrow emacs key binding does not work (move to beginning of line)
- - fixed <rdar://problem/3788913> REGRESSION (Mail): ctrl-right-arrow emacs key binding does not work (move to end of line)
- - implemented a first cut at other attribute changes from Text Panel besides underline (bugs?)
- - dealt with a couple of FIXMEs in WebHTMLView.m
- - updated list of not-yet-implemented methods in WebHTMLView.m
- - fixed many deletion operations to call the correct editing delegate methods
-
- * WebView.subproj/WebFrameViewPrivate.h: Remove _scrollToTopLeft and _scrollToBottomLeft.
- No one was calling them anyway, so they should really have been marked internal and not private.
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView scrollToBeginningOfDocument:]): Renamed _scrollToTopLeft to this, so the home key
- would start working with the key bindings machinery.
- (-[WebFrameView scrollToEndOfDocument:]): Same thing, for end key.
- (-[WebFrameView keyDown:]): Update for name changes, and also make sure we don't try to grab
- control-arrow keys here (probably not necessary, but good anyway).
-
- * WebView.subproj/WebHTMLViewInternal.h: Added keyDownEvent field, and startNewKillRingSequence
- and nextResponderDisabledOnce flags.
- * WebView.subproj/WebHTMLView.m:
- Rearrange declarations at the top of the file so that external things are up with
- the #import directives and things inside this file are declared below.
- (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): Ditto.
- (-[WebHTMLView _calculatePrintHeight]): Moved up into the "internal to file" category.
- (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
- (-[WebHTMLView _selectedRange]): Added.
- (-[WebHTMLView _openLinkFromMenu:]): Left this method lying around even though I deleted the
- other APPKIT_CODE_FOR_REFERENCE in case this shows up in the context menu we are now sharing
- with the AppKit. Chris will look at this later, and he can delete it then.
- (+[WebHTMLView initialize]): Call _NSInitializeKillRing.
- (-[WebHTMLView _documentRange]): Added.
- (-[WebHTMLView string]): Call the bridge to get the plain text rather than making an attributed
- string and then getting the text from there.
- (-[WebHTMLView becomeFirstResponder]): Set startNewKillRingSequence flag, so that new deletions
- will create a new kill ring entry.
- (-[WebHTMLView moveToBeginningOfDocument:]): Use backward direction instead of left direction.
- (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
- (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
- (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): Ditto.
- (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
- (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto.
- (-[WebHTMLView moveToEndOfDocument:]): Use forward direction instead of right direction.
- (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
- (-[WebHTMLView moveToEndOfLine:]): Ditto.
- (-[WebHTMLView moveToEndOfLineAndModifySelection:]): Ditto.
- (-[WebHTMLView moveToEndOfParagraph:]): Ditto, also use WebSelectToParagraphBoundary.
- (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto.
- (-[WebHTMLView _shouldDeleteRange:]): Added.
- (-[WebHTMLView _deleteRange:preflight:killRing:prepend:]): Added.
- (-[WebHTMLView delete:]): Changed to call new _deleteRange method.
- (-[WebHTMLView cut:]): Changed to preflight property and call new _deleteRange method.
- (-[WebHTMLView _selectionFontAttributes]): Added.
- (-[WebHTMLView _selectionFontAttributesAsRTF]): Added.
- (-[WebHTMLView _fontAttributesFromFontPasteboard]): Added.
- (-[WebHTMLView _emptyStyle]): Added.
- (-[WebHTMLView _styleFromFontAttributes:]): Added.
- (-[WebHTMLView _applyStyleToSelection:]): Added.
- (-[WebHTMLView copyFont:]): Implemented.
- (-[WebHTMLView pasteFont:]): Implemented.
- (-[WebHTMLView _originalFontA]): Added.
- (-[WebHTMLView _originalFontB]): Added.
- (-[WebHTMLView _addToStyle:fontA:fontB:]): Added. Has code from the method that figures out
- what the font manager is doing for changeFont:, now needed for changeAttribute: too.
- (-[WebHTMLView _styleFromFontManagerOperation]): Renamed and now calls shared methods.
- (-[WebHTMLView changeFont:]): Call shared method, still does the same thing.
- (-[WebHTMLView _colorAsString:]): Added. Has code from the method we were using with the
- color panel before.
- (-[WebHTMLView _shadowAsString:]): Added.
- (-[WebHTMLView _styleForAttributeChange:]): Added.
- (-[WebHTMLView changeAttributes:]): Implemented.
- (-[WebHTMLView _styleFromColorPanelWithSelector:]): Renamed and now calls shared methods.
- (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]): Call method by new name.
- (-[WebHTMLView changeDocumentBackgroundColor:]): Call method by new name.
- (-[WebHTMLView changeColor:]): Changed around a bit; still doesn't work yet.
- (-[WebHTMLView _alignSelectionUsingCSSValue:]): Call shared methods.
- (-[WebHTMLView indent:]): Removed, since NSTextView doesn't implement this method. Added to list
- of methods to possibly implement later in the file.
- (-[WebHTMLView insertTab:]): Call insertText: to save code and so we get WebViewInsertActionTyped
- instead of WebViewInsertActionPasted.
- (-[WebHTMLView changeCaseOfLetter:]): Removed, since NSTextView doesn't implement this method.
- Added to list of methods to possibly implement later in the file.
- (-[WebHTMLView _deleteWithDirection:granularity:killRing:]): Added.
- (-[WebHTMLView deleteForward:]): Implemented. This makes Control-D work.
- (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Implemented by just calling
- deleteBackward for now; probably better than doing nothing.
- (-[WebHTMLView deleteWordForward:]): Changed to call new _delete method above. Fixes things
- so that we delete the selection if there is one, get the appropriate delegate calls, handle
- the kill ring properly, and don't do any selection if we can't delete.
- (-[WebHTMLView deleteWordBackward:]): Ditto.
- (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
- (-[WebHTMLView deleteToEndOfLine:]): Ditto.
- (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
- (-[WebHTMLView deleteToEndOfParagraph:]): Ditto. Added additional behavior needed since this
- is bound to Control-K, so it's not really just delete to end of paragraph.
- (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Added. Calls insertNewline:.
- (-[WebHTMLView insertTabIgnoringFieldEditor:]): Added. Calls insertTab:.
- (-[WebHTMLView subscript:]): Added.
- (-[WebHTMLView superscript:]): Added.
- (-[WebHTMLView unscript:]): Added.
- (-[WebHTMLView underline:]): Added.
- (-[WebHTMLView yank:]): Added.
- (-[WebHTMLView yankAndSelect:]): Added. Calls _insertText.
- (-[WebHTMLView _arrowKeyDownEventSelectorIfPreprocessing:]): Added. Part of workaround for
- control-arrow key trouble.
- (-[WebHTMLView respondsToSelector:]): Added. More of workaround.
- (-[WebHTMLView nextResponder:]): Added. More of workaround.
- (-[WebHTMLView _selectionChanged]): Set startNewKillRingSequence flag, so that new deletions
- will create a new kill ring entry.
- (-[WebHTMLView _updateFontPanel]): Remove a bunch of code here that wasn't working very well
- because it walked a DOM range incorrectly, and instead use the new method that does all the
- right stuff on the other side of the bridge.
- (-[WebHTMLView _insertText:selectInsertedText:]): Added new helper method for use by both
- insertText and yankAndSelect, with most of the guts of insertText and one additional parameter.
- (-[WebHTMLView insertText:]): Call the new _insertText.
-
- * WebView.subproj/WebView.m: Use macros to make the forwarding from WebView more terse.
- Updated the list to include a few methods it didn't before.
-
-2004-09-06 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- - put preference keys in a private header file so Safari can use them for Managed Preferences
-
- * WebView.subproj/WebPreferenceKeysPrivate.h:
- new Private header file, includes the #defines for NSUserDefaults preference keys
-
- * WebView.subproj/WebPreferences.m:
- moved the preference key #defines out of here; now imports WebPreferenceKeysPrivate.h
-
- * WebKit.pbproj/project.pbxproj:
- updated for new file
-
-2004-09-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3782543> CrashTracer: ...87 crashes at com.apple.WebKit: -[WebNetscapePluginPackage initWithPath:] + 0x18c
-
- Reviewed by john.
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage initWithPath:]): make sure the file is at least 8 bytes long before calling memcmp
-
-2004-09-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3788328> assertion failure when moving an image
- <rdar://problem/3783628> REGRESSION (Mail): when I try to reorder an image, the image is duplicated
-
- * DOM.subproj/WebDOMOperations.m:
- (-[DOMDocument _createRangeWithNode:]): new, convenience
- (-[DOMDocument _documentRange]): use _ createRangeWithNode:
- * DOM.subproj/WebDOMOperationsPrivate.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): set the selection to the image when starting the drag. This allows "move selection" to work and this matches NSText's behavior
-
-=== Safari-162 ===
-
-2004-09-02 Richard Williamson <rjw@apple.com>
-
- Support for patterns in <canvas>.
- (These changes attempt to create a CGImageRef from a WebImageRenderer that
- is used by the pattern drawing function.)
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer dealloc]):
- (-[WebImageRenderer finalize]):
- (-[WebImageRenderer imageRef]):
- (_createImageRef):
- * WebView.subproj/WebPDFView.h:
- * WebView.subproj/WebPDFView.m:
-
-2004-09-01 Chris Blumenberg <cblu@apple.com>
-
- Fixed deployment build failure.
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate menuItemWithTag:]):
-
-2004-08-31 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3699498> Context menu for editable WebViews should provide items like Cut and Paste
- <rdar://problem/3781535> REGRESSION (Mail): no context menu after ctrl-clicking a misspelled word
-
- Reviewed by kocienda.
-
- * English.lproj/Localizable.strings:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate menuItemWithTag:]): updated to handle new menu items
- (-[WebDefaultUIDelegate contextMenuItemsForElement:]): renamed from webView:contextMenuItemsForElement:defaultMenuItems:
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): new
- (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): moved, now call contextMenuItemsForElement: or editingContextMenuItemsForElement:
- * WebView.subproj/WebDefaultUIDelegate.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _isSelectionMisspelled]): new
- (-[WebHTMLView _guessesForMisspelledSelection]): new
- (-[WebHTMLView _changeSpellingFromMenu:]): new
- (-[WebHTMLView _ignoreSpellingFromMenu:]): new
- (-[WebHTMLView _learnSpellingFromMenu:]): new
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebUIDelegate.h:
-
-2004-08-31 Darin Adler <darin@apple.com>
-
- - fixed B&I build failure
-
- * WebView.subproj/WebHTMLView.m: (-[WebTextCompleteController _buildUI]):
- Work around unwanted warning by adding a cast.
-
-2004-08-27 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
-
- Because we will stop parsing when there is a pending redirection,
- avoid setting one if no navigation would actually take place
- because the number of steps is out of range.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge canGoBackOrForward:]):
-
-2004-08-30 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - part of fix for <rdar://problem/3637519> REGRESSION (125-128): unrepro crash in QListBox::sizeForNumberOfLines at istweb.apple.com
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory clearCaches]):
- Call [super clearCaches].
-
-2004-08-30 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - did work to prepare for uploading files incrementally when submitting forms
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem _setFormInfoFromRequest:]): Use NSArray instead of NSData for form data.
- (-[WebHistoryItem formData]): Ditto.
- * History.subproj/WebHistoryItemPrivate.h: Ditto.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
- (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
- * WebCoreSupport.subproj/WebSubresourceClient.h: Ditto.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Ditto.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _loadItem:withLoadType:]): Ditto.
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto.
- * WebView.subproj/WebFramePrivate.h: Ditto.
-
- * WebView.subproj/WebFormDataStream.h: Added.
- * WebView.subproj/WebFormDataStream.m:
- (-[WebFormDataStream initWithFormDataArray:]): Placeholder; not done yet.
- (-[WebFormDataStream formDataArray]): Ditto.
- * WebKit.pbproj/project.pbxproj: Added WebFormDataStream files.
-
-2004-08-30 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - WebKit part of fix for <rdar://problem/3607720> myFrame.print() prints the window
- but should only print the frame
-
- * WebView.subproj/WebUIDelegatePrivate.h:
- declare new delegate method that includes which frame to print
-
- * WebView.subproj/WebDefaultUIDelegate.m:
- (-[WebDefaultUIDelegate webView:printFrameView:]):
- implement default (no-op) version of new delegate method
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge print]):
- call new delegate method if available, otherwise call old delegate method, for
- backward compatibility.
-
-2004-08-27 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
- Checked in by Ken
-
- Ken comments: It looks like Maciej forgot to land this when he checked in the
- WebCore portion of this change.
-
- <rdar://problem/3778314> REGRESSION: Can't proceed to survey questions on Lominger's Apple website
-
- Because we will stop parsing when there is a pending redirection,
- avoid setting one if no navigation would actually take place
- because the number of steps is out of range.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge canGoBackOrForward:]):
-
-2004-08-27 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Chris
-
- Fix for this bug:
-
- <rdar://problem/3756997> WebKit aggressive in making pasted text into a URL, even when it's not much like a URL
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Don't try so hard to coerce data
- on the pasteboard into a URL, and do not make an anchor with an href for any URLs that are
- explicitly present on the pasteboard. Also, move URL pasteboard type check beneath the RTF
- checks.
-
-=== Safari-161 ===
-
-2004-08-26 Chris Blumenberg <cblu@apple.com>
-
- Fixed build failure on Panther.
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): ifdef'd out call to AppKit SPI
- (-[WebHTMLView _attributeStringFromDOMRange:]): ditto
-
-2004-08-26 Chris Blumenberg <cblu@apple.com>
-
- Tweak to last check-in.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]):
-
-2004-08-26 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3546412> support for pasting and drag and dropping of RTF and RTFD to editable WebViews
- <rdar://problem/3745345> use AppKit for converting from DOM to RTF
-
- Reviewed by rjw.
-
- * DOM.subproj/WebDOMOperations.m:
- (-[DOMDocument _documentRange]): new
- * DOM.subproj/WebDOMOperationsPrivate.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): call AppKit SPI to get a document fragment from an attributed string
- (-[WebHTMLView string]): added a FIXME
- (-[WebHTMLView _attributeStringFromDOMRange:]): new, calls AppKit SPI that creates an attributed string from a DOM Range
- (-[WebHTMLView attributedString]): call _attributeStringFromDOMRange:, fallback to old code if it returns nil
- (-[WebHTMLView selectedAttributedString]): ditto
-
-2004-08-26 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3774178> Plugin hooks for selected state aren't being called
-
- Reviewed by darin.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge setIsSelected:forView:]): don't forget colons in method names
-
-2004-08-26 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3768439> can't click in WebView in Carbon WebKit apps (GetEventPlatformEventRecord returns false)
-
- Reviewed by rjw.
-
- * Carbon.subproj/HIWebView.m:
- (Click): use WebGetEventPlatformEventRecord not GetEventPlatformEventRecord
- (MouseUp): ditto
- (MouseMoved): ditto
- (MouseDragged): ditto
- (MouseWheelMoved): ditto
- (WindowHandler): ditto
- (HIWebViewEventHandler): ditto
- (UpdateObserver): ditto
- (WebGetEventPlatformEventRecord): Call GetEventPlatformEventRecord, if that fails fallback to the current event. This is code Eric Schlegel to me to use.
-
-2004-08-24 Chris Blumenberg <cblu@apple.com>
-
- Fixed with help from Trey:
- <rdar://problem/3764856> REGRESSION !25-154): Safari accepts mouse clicks (follows links) when not key
-
- Reviewed by rjw.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _isSelectionEvent:]): brought back from CVS
- (-[WebHTMLView acceptsFirstMouse:]): only call eventMayStartDrag if _isSelectionEvent returns YES since we only want to allow selection dragging on the first mouse down
- (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
-
-2004-08-24 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- Improved the checks used to see if certain operations can be done based
- on the state of the selection and whether the selection is editable. I
- added some helpers and improved some others to assist in making these
- determinations.
-
- This helps to fix this bug:
- <rdar://problem/3764987> Crash after adding newline to quoted text
-
- Since some editing methods expect the the selection to be in a certain state
- in order to work, these checks help obviate crashes like 3764987.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _writeSelectionToPasteboard:]): _haveSelection name changed to _hasSelection.
- (-[WebHTMLView _canCopy]): Checks to see if state is appropriate to perform this operation.
- (-[WebHTMLView _canCut]): Ditto. Function added.
- (-[WebHTMLView _canDelete]): Ditto. Function refined.
- (-[WebHTMLView _canPaste]): Ditto. Function refined.
- (-[WebHTMLView _canType]): Ditto. Function added.
- (-[WebHTMLView _hasSelection]): Name changed from _haveSelection.
- (-[WebHTMLView _hasSelectionOrInsertionPoint]): Added.
- (-[WebHTMLView _isEditable]): Added.
- (-[WebHTMLView takeFindStringFromSelection:]): _haveSelection name changed to _hasSelection.
- (-[WebHTMLView validateUserInterfaceItem:]): Ditto
- (-[WebHTMLView validRequestorForSendType:returnType:]): Ditto
- (-[WebHTMLView keyDown:]):
- (-[WebHTMLView copy:]): Uses new _canCopy check.
- (-[WebHTMLView cut:]): Uses new _canCut check.
- (-[WebHTMLView delete:]): Now uses _canDelete check.
- (-[WebHTMLView paste:]): Now uses _canPaste check.
- (-[WebHTMLView _updateFontPanel]): _haveSelection name changed to _hasSelection.
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): Use selectionState check to
- determine whether or not operation can be done.
-
-2004-08-24 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3770469> Some PDFs open with line of previous page above PDF view
-
- Set height resize flags on WebPDFView.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView initWithFrame:]):
-
-2004-08-24 David Hyatt <hyatt@apple.com>
-
- Add Atom and RSS MIME types to set of supported XML types.
-
- Reviewed by rjw
-
- * WebView.subproj/WebDataSource.m:
- (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- * WebView.subproj/WebFrameView.m:
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
-
-2004-08-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Kevin.
-
- - remove annoying ERROR spew and replace with comment
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView validAttributesForMarkedText]):
-
-2004-08-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- - a bit of code cleanup
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _stringWithData:]): Call textEncodingName instead of
- copying it's code.
- (-[WebDataSource textEncodingName]): Tweak formatting.
-
-2004-08-23 Chris Blumenberg <cblu@apple.com>
-
- Fixed build.
-
- * WebKit.pbproj/project.pbxproj: make sure we're doing -f on a file, not a directory
-
-2004-08-23 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3674867> use new Security framework SPI's to reenable cert acquisition
-
- Reviewed by john.
-
- * WebCoreSupport.subproj/WebKeyGeneration.cpp:
- * WebCoreSupport.subproj/WebKeyGeneration.h:
- * WebCoreSupport.subproj/WebKeyGenerator.h:
- * WebCoreSupport.subproj/WebKeyGenerator.m:
- (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): re-enabled cert code, call Panther version on Panther, Tiger version on Tiger
- (-[WebKeyGenerator addCertificatesToKeychainFromData:]): ditto
- * WebCoreSupport.subproj/WebNewKeyGeneration.c: Added.
- (gnrAddContextAttribute):
- (gnrGetSubjPubKey):
- (gnrNullAlgParams):
- (gnrSign):
- (gnrFreeCssmData):
- (nssArraySize):
- (signedPublicKeyAndChallengeString):
- (addCertificateToKeychainFromData):
- (addCertificatesToKeychainFromData):
- * WebCoreSupport.subproj/WebNewKeyGeneration.h: Added.
- * WebKit.pbproj/project.pbxproj:
-
-2004-08-20 David Hyatt <hyatt@apple.com>
-
- Fix the directionality of the unicode hyphen so that on Panther it now matches Tiger.
-
- Reviewed by darin
-
- * Misc.subproj/WebUnicode.m:
- (_unicodeDirection):
-
-2004-08-20 Richard Williamson <rjw@apple.com>
-
- Implemented new JNI abstraction. We no longer invoke Java methods
- directly with JNI, rather we call into the plugin. This allows the
- plugin to dispatch the call to the appropriate VM thread. This
- change should (will?) fix a whole class of threading related problems with
- the Java VM.
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge getAppletInView:]):
-
-2004-08-20 Trey Matteson <trey@apple.com>
-
- 3655407 - Editing: -complete: method unimplemented (WebKit editing API)
-
- This feature is mostly implemented. The only loose ends I know of are:
-
- 3769654 - text insertions done via complete: should preserve case of full replacement string
- 3769652 - positioning of complete: popup window wrong for right-to-left languages
-
- Reviewed by John
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLViewPrivate dealloc]): Free new object.
- (-[WebHTMLView menuForEvent:]): Bail on completion session.
- (-[WebHTMLView windowDidResignKey:]): Ditto.
- (-[WebHTMLView windowWillClose:]): Ditto.
- (-[WebHTMLView mouseDown:]): Ditto.
- (-[WebHTMLView resignFirstResponder]): Ditto.
- (-[WebHTMLView keyDown:]): Bail on completion session if WebCore takes the event.
- Give the CompleteController a crack at the key event.
- (-[WebHTMLView _expandSelectionToGranularity:]): Adopt method rename
- (-[WebHTMLView complete:]): Make CompleteController, tell it to do its thing.
- (-[WebHTMLView checkSpelling:]): Add ERROR().
- (-[WebHTMLView showGuessPanel:]): Add ERROR().
- (-[WebHTMLView _changeSpellingToWord:]): Add ERROR().
- (-[WebHTMLView ignoreSpelling:]): Add ERROR().
-
- (-[WebTextCompleteController initWithHTMLView:]):
- (-[WebTextCompleteController dealloc]):
- (-[WebTextCompleteController _insertMatch:]): Stick the new string into the doc.
- (-[WebTextCompleteController _buildUI]): Make popup window.
- (-[WebTextCompleteController _placePopupWindow:]): Position popup window.
- (-[WebTextCompleteController doCompletion]): Lookup matches, display window.
- (-[WebTextCompleteController endRevertingChange:moveLeft:]): Bail on complete: session.
- (-[WebTextCompleteController filterKeyDown:]): Process keys while popup is up.
- (-[WebTextCompleteController _reflectSelection]): Handle choice in popup.
- (-[WebTextCompleteController tableAction:]): Handle double click in popup
- (-[WebTextCompleteController numberOfRowsInTableView:]): Fill table with matches.
- (-[WebTextCompleteController tableView:objectValueForTableColumn:row:]): Ditto.
- (-[WebTextCompleteController tableViewSelectionDidChange:]): Handle selection change.
- * WebView.subproj/WebHTMLViewInternal.h:
-
-2004-08-20 John Sullivan <sullivan@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt:
- checked this in; the only difference is that
- the strings were out of order.
-
-2004-08-19 Richard Williamson <rjw@apple.com>
-
- Continue to call old pollForAppletInView: in Tiger until
- we get an plugin that supports the new API.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge getAppletInView:]):
- * WebKit.pbproj/project.pbxproj:
-
-=== Safari-158 ===
-
-2004-08-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed typo in comment.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _updateFileDatabase]):
-
-2004-08-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3566336> CrashTracer: .2403 crashes at com.apple.WebKit: -[WebFileDatabase performSetObject:forKey:] + 0x94
-
- Reviewed by trey.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _updateFileDatabase]): pass WebFileDatabase copies of the mutable dictionaries or else they may be accessed on a separate thread as the main thread is modifying them
-
-2004-08-18 Richard Williamson <rjw@apple.com>
-
- Replace horrible pollForAppletInView: with new
- webPlugInGetApplet. The details of how the applet instance
- is provided now belong to the Java team. Yeh.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge getAppletInView:]):
-
-2004-08-17 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3759093> Need PDF context menu: "Open in Preview" or other external app
-
- Added support for "Open with ..." in PDF view.
-
- Reviewed by Chris and Trey.
-
- * ChangeLog:
- * English.lproj/Localizable.strings:
- * English.lproj/StringsNotToBeLocalized.txt:
- * WebView.subproj/WebPDFView.h:
- * WebView.subproj/WebPDFView.m:
- (-[WebPDFView initWithFrame:]):
- (-[WebPDFView dealloc]):
- (applicationInfoForMIMEType):
- (-[WebPDFView path]):
- (-[WebPDFView menuForEvent:]):
- (-[WebPDFView setDataSource:]):
- (-[WebPDFView layout]):
- (-[WebPDFView viewDidMoveToHostWindow]):
- (-[WebPDFView openWithFinder:]):
-
-2004-08-17 Richard Williamson <rjw@apple.com>
-
- JNI needs both the jmethodID and return type. Changed API to
- pass both.
-
- Reviewed by Chris.
-
- * Plugins.subproj/WebJavaPlugIn.h:
-
-2004-08-17 Trey Matteson <trey@apple.com>
-
- 3764147 - failure of subframe to load leaves links in parent doc broken
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _receivedMainResourceError:complete:]):
- Need to call [bridge end] in the case of an error, so WC can clean up.
-
-=== Safari-157 ===
-
-2004-08-15 Richard Williamson <rjw@apple.com>
-
- More changes to np headers.
-
- Reviewed by Darin.
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
- * Plugins.subproj/npapi.h:
- * Plugins.subproj/npfunctions.h:
- * Plugins.subproj/npruntime.h:
-
-2004-08-13 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed <rdar://problem/3760924> Carbon path passed in NPP_StreamAsFile must be in local character set, not UTF-8
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (CarbonPathFromPOSIXPath): Added. New function that uses the path pieces from an FSSpec.
- This has many advantages; the big one that fixes the bug is that it gives the mangled names
- that work even for files that have names that can't otherwise be encoded in Carbon-style
- path names. I didn't write this from scratch: I started with the method in Foundation
- and just changed it to use FSSpec.
- (-[WebBaseNetscapePluginStream destroyStream]): Remove code that used NSString and just call
- CarbonPathFromPOSIXPath instead.
-
- * Plugins.subproj/npapi.h: The Revision tag wanted to touch this file.
- I think we are going to have some trouble with this; I'd like to take that out.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated.
-
-2004-08-12 Trey Matteson <trey@apple.com>
-
- 3761329 - query result links all dead in ingrammicro.com (sometimes)
- 3761328 - links in some docs dead when doc is loaded from WebArchive
-
- Nasty problem. It turns out that these result pages are a parent frame with two child
- frames. One of the child frames is a 1 or 2 byte text document. When the text child
- is the last doc to complete, because we use a Text rep instead of an HTMLRep, it turns
- out we never send [bridge end] from WebKit. That mistake results in checkCompleted not
- being called enough in the part, and we never realize the load is done. WebCore does
- not allow redirects to happen until the entire load is complete, and the links on this
- results page are actually little pieces of JS that set location to a generated URL. Since
- redirects are not allowed these links all silently fail to do anything, and the doc never
- achieves a completed state where they will work.
-
- Solution is to make sure we always call [bridge end] from the DataSource instead of only
- the HTML rep doing it.
-
- Reviewed by Richard and Darin.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _finishedLoading]): Call [bridge end] here for all kinds of docs.
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Don't call is just for HTMLReps.
-
-2004-08-12 Richard Williamson <rjw@apple.com>
-
- Bring npruntime.h and friends closer to compliance with
- latest spec.
-
- Reviewed by Maciej.
-
- * Plugins.subproj/npapi.h:
- * Plugins.subproj/npfunctions.h:
- * Plugins.subproj/npruntime.h:
- (_NPString::):
- (_NPString::_NPVariant::):
- * copy-webcore-files-to-webkit:
-
-2004-08-12 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3761097> should be able to option-drag selection so HTML can be copied within a page
-
- Reviewed by rjw.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _isMoveDrag]): new, take into account the option key
- (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call _isMoveDrag
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): call _isMoveDrag
-
-2004-08-12 Richard Williamson <rjw@apple.com>
-
- Quick fix for 3760903. The real fix is described in 3760920. Needed
- by Java plugin guys so they can be unblocked for feature freeze.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _reloadForPluginChanges]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addSubview:]):
-
-2004-08-12 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3760898> error pages in subframes attempt to load appledata URLs when reloaded
-
- Reviewed by darin.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _createItem:]): when setting the original URL of the history item, use the unreachable URL
-
-=== Safari-156 ===
-
-2004-08-11 Adele Amchan <adele@apple.com>
-
- Reviewed by me, bug fix by Darin.
-
- - fixed <rdar://problem/3736477> Pages don't load if hard drive is named with non-ASCII Symbol
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):
- Use UTF8String instead of cString to convert the MIME type to a C string. Safer, since it can't
- ever fail due to encoding problems even though this string should always be ASCII.
- (-[WebBaseNetscapePluginStream destroyStream]): Use stringWithUTF8String to convert the path name
- to an NSString, since stringWithCString is deprecated (doesn't really matter since the path is always
- all ASCII). Fix the bug by calling fileSystemRepresentation on the NSString to turn it into a C
- string form. Even though the POSIX path can't have any non-ASCII characters in it, the Carbon path
- can, so we need to use this instead of cString which can fail depending on characters and encoding.
-
-2004-08-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- WebKit part of:
-
- - made basic marked text highlighting work to complete basic level of <rdar://problem/3704359> input method support not yet implemented for HTML editing
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView markedRange]): Use new bridge calls instead of internal marked range storage.
- (-[WebHTMLView hasMarkedText]): Likewise.
- (-[WebHTMLView unmarkText]): Likewise.
- (-[WebHTMLView _selectMarkedText]): Likewise.
- (-[WebHTMLView _selectRangeInMarkedText:]): Likewise.
- (-[WebHTMLView _selectionIsInsideMarkedText]): Likewise.
- (-[WebHTMLView _updateSelectionForInputManager]): Likewise.
- (-[WebHTMLView setMarkedText:selectedRange:]): Use direct bridge call instead
- of private _selectMarkedDOMRange: method, which would now be trivial.
- * WebView.subproj/WebHTMLViewInternal.h: Remove unneeded
-
-2004-08-10 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - change name of WebMakeCollectable to WebNSRetainCFRelease so it fits into the
- "NS and CF retain counts are separate" mental model, rather than the "think about
- how garbage collection works" one
-
- * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Rename.
- * Misc.subproj/WebNSObjectExtras.h: (WebNSRetainCFRelease): Ditto.
- * Misc.subproj/WebNSURLExtras.m:
- (+[NSURL _web_URLWithData:relativeToURL:]): Ditto.
- (-[NSURL _web_URLWithLowercasedScheme]): Ditto.
-
-2004-08-09 Trey Matteson <trey@apple.com>
-
- 3756599 - REGRESSION: hit assertion in KWQPageState invalidate
-
- By inspection I found a flaw in the recently added logic, although
- I have no steps to repro. My theoretical explanation is that we would
- get two errors and go through _receivedMainResourceError: twice, which
- would cause the pageState to be invalidated twice, which is the only
- way I can see to hit the assert.
-
- Reviewed by Darin
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _receivedMainResourceError:]): Clear the pageState out
- of the history item after it's been invalidated by WebCore.
-
-2004-08-09 Richard Williamson <rjw@apple.com>
-
- Inspired by Trey we have a much better approach for conditionally
- linking Quart.framework. Instead of multiple targets we use
- `` to invoke some inline script to extend COMMON_LDFLAGS as
- necessary. Thanks Trey!
-
- Reviewed by Trey.
-
- * WebKit.pbproj/project.pbxproj:
-
-2004-08-09 Trey Matteson <trey@apple.com>
-
- Hookup UI for "Continuous Spelling" menu item.
-
- Reviewed by Richard.
-
- * WebView.subproj/WebView.m:
- (-[WebView validateUserInterfaceItem:]): Enable and check the
- menu item to reflect our state.
- (-[WebView toggleContinuousSpellChecking:]): Change type to
- IBAction, just cosmetic.
- * WebView.subproj/WebViewPrivate.h:
-
-2004-08-08 Trey Matteson <trey@apple.com>
-
- 3745023 - Safari crashes trying to access anchor while downloading
-
- I bet this is behind a few other crashers as well. In this bug the start of the
- download leaves a KWQPageState hanging around, and when that is freed it damages
- the part and view. If you're still using that page, you're dead.
-
- The fix is to properly invalidate the PageState when we receive an error before
- reaching WebFrameCommitted state. Normally this happens when a page is reheated
- from the PageState, but in this case we never manage to leave the page to begin
- with, although we've already created the PageState.
-
- Other errors besides the synthetic one download generates would have caused similar
- crashing. Another example would be clicking on a second link before the load
- caused by clicking on the first link reached committed state.
-
- Reviewed by Richard
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _receivedMainResourceError:complete:]): Let the frame do the
- main work (since it has access to the pageCache state). Also renamed to make
- it clear that this is about an error for the main resource.
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _receivedMainResourceError:]): Let WC know about the failure, as
- the DataSource used to, but now pass the pageCache state along too.
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedError:]): Call renamed method.
- (-[WebMainResourceClient cancelWithError:]): Ditto.
-
-2004-08-08 Vicki Murley <vicki@apple.com>
-
- Reviewed by vicki (changes by rjw)
-
- - make "weak" linking with Quartz work with buildit
-
- * WebKit.pbproj/project.pbxproj:
-
-2004-08-06 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Maciej
-
- Finish off spellchecking support to HTML editing. Includes work to
- enable continuous spellchecking.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge isContinuousSpellCheckingEnabled]): Simple bridge method.
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawLineForMisspelling:withWidth:]): New method to add
- AppKit-style misspelling underline.
-
-=== Safari-155 ===
-
-2004-08-05 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebHTMLView.m: Added a list of methods that NSTextView implements that we don't.
- All inside #if 0.
-
-2004-08-05 Chris Blumenberg <cblu@apple.com>
-
- Fixed unnecessary import of NSURLFileTypeMappings.
-
- * WebView.subproj/WebMainResourceClient.m:
-
-2004-08-05 Richard Williamson <rjw@apple.com>
-
- Make builds conditionally include -framework Quartz.
-
- Reviewed by Chris.
-
- * WebKit.pbproj/project.pbxproj:
-
-2004-08-04 Darin Adler <darin@apple.com>
-
- - fixed broken Deployment build
-
- * Carbon.subproj/HIWebView.m: (Click):
- Remove code that checks err variable before setting it.
-
-2004-08-03 Richard Williamson <rjw@apple.com>
-
- First cut at dirt simple PDF support. This feature
- depends on Quartz.framework (parent of PDFKit), which only exists
- on Tiger. So, we "weak" link against Quartz.
-
- We do very basic PDF rendering. Coming up are support for
- "Find..." and linearized PDF (incremental). Linearized PDF
- support will require API changes in PDFKit.
-
- No UI is added to Safari, yet.
-
- Reviewed by John.
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDataSource.m:
- (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- * WebView.subproj/WebFrameView.m:
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
- * WebView.subproj/WebPDFRepresentation.h: Added.
- * WebView.subproj/WebPDFRepresentation.m: Added.
- (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
- (-[WebPDFRepresentation canProvideDocumentSource]):
- (-[WebPDFRepresentation documentSource]):
- (-[WebPDFRepresentation title]):
- * WebView.subproj/WebPDFView.h: Added.
- * WebView.subproj/WebPDFView.m: Added.
- (-[WebPDFView initWithFrame:]):
- (-[WebPDFView setDataSource:]):
- (-[WebPDFView dataSourceUpdated:]):
- (-[WebPDFView setNeedsLayout:]):
- (-[WebPDFView layout]):
- (-[WebPDFView viewWillMoveToHostWindow:]):
- (-[WebPDFView viewDidMoveToHostWindow]):
-
- Copied fix from Jaguar carbon/cocoa work.
-
- Reviewed by Darin (Jaguar version)
-
- * Carbon.subproj/CarbonWindowAdapter.h:
- * Carbon.subproj/CarbonWindowAdapter.m:
- (-[CarbonWindowAdapter relinquishFocus]):
- * Carbon.subproj/HIWebView.m:
- (Click):
- (OwningWindowChanged):
- (WindowHandler):
-
-2004-08-03 David Hyatt <hyatt@apple.com>
-
- Add the text/xsl MIME type as one that can be displayed.
-
- Reviewed by john
-
- * WebView.subproj/WebDataSource.m:
- (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- * WebView.subproj/WebFrameView.m:
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
-
-2004-08-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- - implemented enough of the NSTextInput protocol and added the
- proper calls to NSInputManager to allow input methods to
- work. However, the text is not marked yet.
-
- * WebView.subproj/WebHTMLViewInternal.h: Added new fields to track
- marked range.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView markedRange]): Implemented
- (-[WebHTMLView conversationIdentifier]): Implemented
- (-[WebHTMLView hasMarkedText]): Implemented
- (-[WebHTMLView unmarkText]): Implemented
- (-[WebHTMLView setMarkedText:selectedRange:]): Implemented - does
- not yet handle attributes in attributed strings
- (-[WebHTMLView insertText:]): Modified to handle replacing or abandoning
- the marked text when set.
- (-[WebHTMLView _selectMarkedText]): new helper method, self-explanatory
- (-[WebHTMLView _setMarkedDOMRange:]): hitto.
- (-[WebHTMLView _selectRangeInMarkedText:]): ditto
- (-[WebHTMLView _discardMarkedText]): ditto
- (-[WebHTMLView _selectionIsInsideMarkedText]): ditto
- (-[WebHTMLView _updateSelectionForInputManager]): ditto
-
- - did a bit of refactoring while I was in here.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): added this new
- helper method to simplify the common case of calling the shouldInsertText: delegate
- (-[WebHTMLView pasteAsPlainText:]): use it
- (-[WebHTMLView insertTab:]): ditto
- (-[WebHTMLView insertNewline:]): ditto
- (-[WebHTMLView _changeWordCaseWithSelector:]): ditto
- (-[WebHTMLView _changeSpellingToWord:]): ditto
- (-[WebHTMLView _selectionChanged]): ditto
-
-2004-08-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3572737> Images not resizing at www.bmx-test.com (spoof nofix)
-
- Reviewed by darin.
-
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory supportedMIMETypes]): hard code image/pjpeg to the list of image mime types that we can handle
-
-2004-08-03 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3740937> ER: A way to turn a DOMRange into text (equivalent of -innerText)
-
- * DOM.subproj/DOMPrivate.h: Added.
- * WebKit.pbproj/project.pbxproj: Added DOMPrivate.h.
- * copy-webcore-files-to-webkit: Added DOMPrivate.h.
-
-2004-08-02 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- WebKit part of fix for <rdar://problem/3631868> NSToolbar adoption:
- Tab key should cycle around toolbar and page content
-
- * WebView.subproj/WebHTMLView.m:
- removed overrides of nextKeyView and previousKeyView
- (-[WebHTMLView nextValidKeyView]):
- call super only if we can't move the focus within the frame hierarchy
- (-[WebHTMLView previousValidKeyView]):
- ditto
- * WebView.subproj/WebHTMLViewInternal.h:
- removed nextKeyViewAccessShouldMoveFocus ivar
-
-2004-08-02 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Update name of firstResponderIsSelfOrDescendantView, adding _web_ prefix to this SPI call.
-
- Do some work to make caret blinking in newly-created editable WebView's that are
- similar in structure to Blot more "automatic".
-
- * Misc.subproj/WebNSViewExtras.h: Change name of firstResponderIsSelfOrDescendantView. Add _web_ prefix.
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_firstResponderIsSelfOrDescendantView]): Name change.
- (-[NSView _web_firstResponderCausesFocusDisplay]): Adds an additional check for whether the view's
- is first responder. This helps to make the focus setting in viewDidMoveToWindow work right.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView updateFocusDisplay]): Use _web_firstResponderCausesFocusDisplay now instead of
- firstResponderIsSelfOrDescendantView.
- (-[WebHTMLView viewDidMoveToWindow]): Schedule call to updateFocusDisplay for the next crank of the
- run loop. The reason is that placing the caret in the just-installed view requires the HTML/XML
- document to be available on the WebCore side, but it is not at the time this code is running.
- However, it will be there on the next crank of the run loop. Doing this helps to make a
- blinking caret appear in a new, empty window "automatic".
- (-[WebHTMLView performKeyEquivalent:]): _web_firstResponderIsSelfOrDescendantView name change.
- * WebView.subproj/WebView.m:
- (-[WebView _performResponderOperation:with:]): _web_firstResponderIsSelfOrDescendantView name change.
-
-2004-07-29 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- Added stubbed-out versions of all the NSTextInput protocol
- methods, and put comments in places where we will need to call the
- input manager to make input methods work 100%.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge respondToChangedSelection]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDown:]):
- (-[WebHTMLView mouseDragged:]):
- (-[WebHTMLView mouseUp:]):
- (-[WebHTMLView _interceptEditingKeyEvent:]):
- (-[WebHTMLView keyDown:]):
- (-[WebHTMLView _selectionChanged]):
- (-[WebHTMLView _delegateDragSourceActionMask]):
- (-[WebHTMLView validAttributesForMarkedText]):
- (-[WebHTMLView characterIndexForPoint:]):
- (-[WebHTMLView firstRectForCharacterRange:]):
- (-[WebHTMLView selectedRange]):
- (-[WebHTMLView markedRange]):
- (-[WebHTMLView attributedSubstringFromRange:]):
- (-[WebHTMLView conversationIdentifier]):
- (-[WebHTMLView hasMarkedText]):
- (-[WebHTMLView unmarkText]):
- (-[WebHTMLView setMarkedText:selectedRange:]):
- (-[WebHTMLView doCommandBySelector:]):
- (-[WebHTMLView insertText:]):
- * WebView.subproj/WebHTMLViewInternal.h:
- * WebView.subproj/WebView.m:
-
-=== Safari-154 ===
-
-2004-07-29 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fill in some unimplemented methods
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView moveToBeginningOfDocument:]): Implement, using new document granularity.
- (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto.
- (-[WebHTMLView moveToBeginningOfParagraph:]): Implement, even though the underlying WebCore
- code is not yet implemented.
- (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto.
- (-[WebHTMLView moveToEndOfDocument:]): More of the same.
- (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto.
- (-[WebHTMLView moveToEndOfParagraph:]): More of the same.
- (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto.
- (-[WebHTMLView pageDown:]): Added comment describing desired behavior.
- (-[WebHTMLView pageUp:]): Ditto.
- (-[WebHTMLView copyFont:]): Ditto.
- (-[WebHTMLView pasteFont:]): Ditto.
- (-[WebHTMLView changeAttributes:]): Ditto.
- (-[WebHTMLView indent:]): Ditto.
-
-2004-07-28 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3737864> Can not download image from web by using drag and drop
-
- Reviewed by john.
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): On Tiger, to use NSFilesPromisePboardType with other pasteboard types, set the file types of the promise on the pasteboard as a property list instead of mucking with the NSFilePromiseDragSource class
-
-2004-07-28 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - avoid triggering an assertion when using dead keys (like option-e)
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView insertText:]): Don't pass zero-length strings to
- WebCore. Dead-key input seems to insert empty strings as a side
- effect.
-
-2004-07-28 Trey Matteson <trey@apple.com>
-
- Spellchecking, Part I. Basic spellcheck is working. Spelling panel is hooked up.
-
- At this point, no special marking of misspellings, no grammar check, no context
- menu integration, no "check continually" mode.
-
- Reviewed by Ken.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge spellCheckerDocumentTag]): Typical bridge glue.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView validateUserInterfaceItem:]): Validate various spelling actions.
- (-[WebHTMLView checkSpelling:]): Call WC for real work, update panel.
- (-[WebHTMLView showGuessPanel:]): Show panel, call WC for real work.
- (-[WebHTMLView _changeSpellingToWord:]): Apply correction to our doc.
- (-[WebHTMLView changeSpelling:]): Simple pass through to above method.
- (-[WebHTMLView ignoreSpelling:]): Tell checker to ignore the word.
- * WebView.subproj/WebView.m:
- (-[WebView _close]): Call AK's closeSpellDocumentWithTag: for proper cleanup.
-
-2004-07-27 John Sullivan <sullivan@apple.com>
-
- Reviewed by Trey.
-
- WebKit part of fix for <rdar://problem/3622268> Reload failed pages when a
- network problem is corrected, inc. using Network Diagnostics
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame reload]):
- This method did not handle unreachableURLs at all. The reason Safari's Reload
- did work with unreachableURLs was that Safari does "reloadObeyingLocationField"
- which never actually calls -[WebFrame reload]. Fixed by creating a fresh
- request for the previously-unreachable URL.
-
-2004-07-26 Richard Williamson <rjw@apple.com>
-
- Fixed 3739737. When setting the focus to a NSView, set the focus
- carbon focus to kControlIndicatorPart. kControlIndicatorPart is a
- placeholder value for use to indicate that Cocoa has the focus.
-
- Reviewed by Ken.
-
- * Carbon.subproj/CarbonWindowAdapter.m:
- (-[CarbonWindowAdapter makeFirstResponder:]):
- * Carbon.subproj/HIWebView.m:
- (Click):
- (SetFocusPart):
-
-2004-07-26 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3689734> dragging to an editable WebView does not scroll document
-
- Reviewed by rjw.
-
- * WebView.subproj/WebView.m:
- (-[WebView documentViewAtWindowPoint:]): new, factored from draggingDocumentViewAtWindowPoint:
- (-[WebView _draggingDocumentViewAtWindowPoint:]): call documentViewAtWindowPoint:
- (-[WebView _autoscrollForDraggingInfo:timeDelta:]): forward call to the document view
- (-[WebView _shouldAutoscrollForDraggingInfo:]): ditto
-
-=== Safari-153 ===
-
-2004-07-23 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Trey
-
- Fix for this bug:
-
- <rdar://problem/3738920> Caret blinks in inactive window
-
- As part of the fix, I cleaned up the way we handle special drawing that needs
- to be done in the HTML view that is first responder in the key window (e.g the
- drawing of text selection highlight and caret blinking).
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView updateFocusDisplay]): New method that centralizes the changes
- we need to make when the first responder-ness of the view or key-ness of the
- window changes.
- (-[WebHTMLView viewDidMoveToWindow]): Call new updateFocusDisplay helper.
- (-[WebHTMLView windowDidBecomeKey:]): Ditto.
- (-[WebHTMLView windowDidResignKey:]): Ditto.
- (-[WebHTMLView becomeFirstResponder]): Ditto.
- (-[WebHTMLView resignFirstResponder]): Ditto.
-
-2004-07-22 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/npruntime.h: Update with new version from newer JavaScriptCore.
-
-2004-07-21 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Trey
-
- * WebCoreSupport.subproj/WebBridge.m: Remove interceptEditingKeyEvent
- bridge call over. This method of handling editing key events is now
- obsolete.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView performKeyEquivalent:]): Send key event over to the
- DOM if this view is or contains the first responder. This now
- happens unconditionally.
- (-[WebHTMLView keyDown:]): Send key event to the DOM, then see if
- the web view wants to interpret it an an editing key event. This
- is the new place to intercept key events for editing.
-
-2004-07-21 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Add implementations for these methods. Formerly, they logged an error.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView moveToBeginningOfLine:]):
- (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
- (-[WebHTMLView moveToEndOfLine:]):
- (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
-
-2004-07-21 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Added some more handlers for standard Cocoa key bindings.
- These are "secrets" of NSText, meaning they are not public API, but we choose to mimic.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]):
- (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
- (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]):
- (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]):
- (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
- (-[WebHTMLView moveToEndOfParagraph:]):
- (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]):
- * WebView.subproj/WebView.h: Add these declarations to the comment in the header listing
- the responder-like methods we support.
- * WebView.subproj/WebView.m:
- (-[WebView moveToBeginningOfParagraphAndModifySelection:]):
- (-[WebView moveToEndOfParagraphAndModifySelection:]):
- (-[WebView moveToBeginningOfLineAndModifySelection:]):
- (-[WebView moveToEndOfLineAndModifySelection:]):
- (-[WebView moveToBeginningOfDocumentAndModifySelection:]):
- (-[WebView moveToEndOfDocumentAndModifySelection:]):
-
-2004-07-20 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Richard
-
- * Misc.subproj/WebNSEventExtras.h: Added helper that returns whether
- a key event has a binding in the key binding manager.
- * Misc.subproj/WebNSEventExtras.m:
- (-[NSEvent _web_keyBindingManagerHasBinding]): New helper mentioned above.
- * Plugins.subproj/npruntime.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView performKeyEquivalent:]): Add a check of whether the key event
- has a binding in the key binding manager. This works around the fact that
- NSResponder's interpretKeyEvents does not return a value telling whether
- or not the key was handled. This now makes it possible for us to trap
- modified key events we know we can handle (like those command-key + arrow events
- used for text navigation), while letting all others pass.
-
-2004-07-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3580589> REGRESSION (1.1-1.2): can't open a new window for an image that has not loaded
- <rdar://problem/3612691> Missing image icons (blue ?) lack context menu
-
- Reviewed by john.
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): if there is no image, but there is an image URL, provide image context menu items besides "Copy Image"
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): don't drag an image with an actual image
- (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto
-
-2004-07-20 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Chris.
-
- <rdar://problem/3721690> REGRESSION (125.7-148u) clicking on links at macosx.apple.com/Builds does not load new page in frame
-
- * Plugins.subproj/npruntime.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge canTargetLoadInFrame:]): Don't apply the restrictions to frames
- that are in the same window (Mozilla does this too).
-
-2004-07-20 Richard Williamson <rjw@apple.com>
-
- Fix for 3728558. Fixed the key event handling in the carbon/cocoa
- integration code. This does not fix the arrow keys not working on
- initial focus problem also mentioned in the bug.
-
- Bumped the version of the NP function structures.
-
- Reviewed by John.
-
- * Carbon.subproj/CarbonUtils.m:
- (WebInitForCarbon):
- (PoolCleaner):
- * Carbon.subproj/HIWebView.m:
- (OwningWindowChanged):
- (WindowHandler):
- * Plugins.subproj/npapi.h:
-
-2004-07-20 Trey Matteson <trey@apple.com>
-
- 3733698 REGRESSION: sometimes dragging photos on homepage.mac.com leads to an assertion
-
- Relax an assertion, as we ran into a valid case where it's not true.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- Removing this assert allows for the oddball case of a drag gesture that
- starts on one element, but then the element is no longer there when
- the drag is about to start.
-
-2004-07-20 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- Fix for this bug:
-
- <rdar://problem/3707505> HTMLCompose: blinking cursor in both an address text field and the message body
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView setCaretVisible:]): New helper. Calls over bridge to do the work.
- (-[WebHTMLView windowDidBecomeKey:]): This function cannot just assume that self is first responder
- (and do things like adjusting text background color and restoring focus rings).
- First-responder-ness needs to be checked first. Now it is.
- (-[WebHTMLView windowDidResignKey:]): Ditto.
- (-[WebHTMLView becomeFirstResponder]): Call new helper to make caret visible.
- (-[WebHTMLView resignFirstResponder]): Call new helper to make caret invisible.
-
-2004-07-12 Richard Williamson <rjw@apple.com>
-
- Fixed 3721917. The RealPlayer plugin doesn't support the new
- NPPVpluginScriptableNPObject variable passed to NPP_GetValue and
- incorrectly returns NPERR_NO_ERROR. We interpret this to the
- mean the variable has been set. The variable has not been set
- and will consequently be uninitialized.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView pluginScriptableObject]):
-
-2004-07-19 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Richard
-
- Fix for this bug:
-
- <rdar://problem/3707504> HTMLCompose: key events are stolen by Web(HTML)View
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView firstResponderIsSelfOrDescendantView]): New helper to
- (-[WebHTMLView performKeyEquivalent:]): Do not pass key events through to the editing
- key handler unless the WebHTMLView is first responder or contains the first responder.
- This prevents the "stealing" of key events mentioned in the bug.
- * WebView.subproj/WebView.m:
- (-[WebView _performResponderOperation:with:]): Uses the new firstResponderIsSelfOrDescendantView
- helper. The code I replaced used the same logic as the new helper.
-
-=== Safari-152 ===
-
-2004-07-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Kevin.
-
- <rdar://problem/3673988>: (REGRESSION(141-144): connection assertion failure at http://traffic.511.org/sfgate)
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
- Don't check connection consistency if this load got cancelled
- while finishing, because in this case we have cleared the
- connection field already. This can happen when a redirect fires
- from an onload handler.
-
-2004-07-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/3632570>: (REGRESSION: SocialText.net wiki keeps asking for auth, even though pages load)
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader didReceiveAuthenticationChallenge:]): Ignore the challenge - we don't
- want an auth panel for favicons.
- (-[WebIconLoader didCancelAuthenticationChallenge:]): Ignore cancel, since we are ignoring
- the challenge.
-
-2004-07-09 Chris Blumenberg <cblu@apple.com>
-
- Allowed my change for 3715785 to compile on Jaguar.
-
- Reviewed by kocienda.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge canTargetLoadInFrame:]): don't use the DOM API since it doesn't exist on Jaguar, instead call the new domain method on the bridge
-
-2004-07-09 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- * Plugins.subproj/npruntime.h: Updated license to lawyer-approved
- joint Apple-Mozilla BSD-style license.
-
-2004-07-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3720728> REGRESSION (125.8-146): Crash moving mouse over plugin at manray-photo.com
-
- Reviewed by john.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView pluginScriptableObject]): don't call NPP_GetValue unless the plug-in implements it
-
-2004-07-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3706296> VIP: ifilm.com crashing reproducibly with Safari
-
- Reviewed by kocienda.
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage launchRealPlayer]): don't release a NULL appURL
-
-2004-07-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3650140> reproducible assertion failure going to plugin page with JavaScript disabled
-
- Reviewed by john.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): don't call NPP_NewStream and other stream methods if there is no JS result to deliver. This is what Mozilla does.
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Return NPERR_GENERIC_ERROR if JS is disabled. This is what Mozilla does.
-
-=== Safari-151 ===
-
-2004-07-07 Trey Matteson <trey@apple.com>
-
- 3719051 - Safari doesn't update form inputs when a page was refreshed by javascript window.location
- ... and at least 5 other cases in Radar
-
- Very similar problem to the Harvard PIN bug. We need to be sure
- to not carry any state over when we are processing a client
- redirect, which reuses the same WebHistoryItem.
-
- Reviewed by John.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]): Comment
- (-[WebFrame _opened]): Clear form and scroll state on client redirect.
-
-2004-07-06 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3715785> multiple frame injection vulnerability reported by Secunia, affects almost all browsers
-
- Reviewed by john, trey, kocienda.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge canTargetLoadInFrame:]): new method, return YES if the requesting frame is local, the target frame is an entire window or if the domain of the parent of the targeted frame equals this domain
- (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): call canTargetLoadInFrame: to make sure we can load the request
- (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): ditto
-
-2004-07-06 John Sullivan <sullivan@apple.com>
-
- Reviewed by Trey.
-
- - fixed <rdar://problem/3717147> folder icon used for error page in back/forward
- menu when iTunes is not installed
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]):
- When displaying the error page for an unreachable URL, leave the requested URL
- in the WebHistoryItem; don't clobber it with a bogus one that represents the
- error page. This not only avoids the wrong-icon problem, but should also help
- in cases where an unreachable URL becomes reachable later on.
-
-2004-07-06 Trey Matteson <trey@apple.com>
-
- 3716053 - www.theage.com.au has extra back/forward items due to ads
-
- The real change was in WebKit. Here was are just renaming a method and folding
- all the WebFrameLoadTypeOnLoadEvent uses to be WebFrameLoadTypeInternal, since there
- was never any difference anyway.
-
- Reviewed by Richard
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): rename part of the method.
- * WebView.subproj/WebFrame.m: Nuke WebFrameLoadTypeOnLoadEvent.
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _itemForRestoringDocState]):
- * WebView.subproj/WebFramePrivate.h:
-
-2004-07-06 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Trey
-
- Only register the editing delegate for those notifications for which it implements the callbacks.
-
- * WebView.subproj/WebView.m:
- (-[WebView registerForEditingDelegateNotification:selector:]):
- (-[WebView setEditingDelegate:]):
-
-2004-07-06 Trey Matteson <trey@apple.com>
-
- 3294652 - Failed drag of links doesn't slide back
-
- The only reason for this is that because of some hacks, we lie to
- AK about the drag image offset, which means we slide back to
- slightly the wrong place. But it's very minor, so we should
- just fix it.
-
- Reviewed by Ken.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- Ask for slideback.
-
-2004-07-02 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- - fixed problem where tabsToLinks and privateBrowsingEnabled did not work with non-
- standard WebPreferences objects
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences _valueForKey:]): New helper.
- (-[WebPreferences _stringValueForKey:]): Use _valueForKey.
- (-[WebPreferences _integerValueForKey:]): Use _valueForKey.
- (-[WebPreferences _boolValueForKey:]): Use _valueForKey.
- (-[WebPreferences tabsToLinks]): Use _boolValueForKey; this is the bug fix.
- (-[WebPreferences privateBrowsingEnabled]): Ditto.
- (+[WebPreferences _setIBCreatorID:]): Use copy instead of retain for keeping an NSString.
-
-2004-07-01 Trey Matteson <trey@apple.com>
-
- 3556159 - Crashes in -[WebFrame(WebPrivate) _transitionToCommitted:] at www.mastercardbusiness.com
-
- We know from the line number of the crash that it is due to [self parentFrame]==nil.
-
- Looking at the HTML and that of the related bugs, they do special stuff with onload
- handlers. It is no longer repro, presumably because the includes JS files changed,
- as the bugs only included the top level HTML. I suspect that the problem is that the
- WebFrameLoadTypeOnLoadEvent case was added, and in some weird sequence specific to
- MasterCard, they hit a case where we would be in WebFrameLoadTypeOnLoadEvent mode but
- not have a parent frame.
-
- So we guard in the code against hitting a nil parentFrame, and log an error just in
- case this ever crops up again and we can learn more about it.
-
- Reviewed by Richard.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]): Guard against nil parentFrame.
-
-2004-07-01 John Sullivan <sullivan@apple.com>
-
- Reviewed by Trey.
-
- - fixed these bugs:
- <rdar://problem/3709110> REGRESSION (Tiger): Pressing Tab key to move focus
- onto links skips every other link
- <rdar://problem/3692576> focus ring is in odd place after clicking RSS button
- with "Tab to links" enabled
-
- WebHTMLView has some trickery by which we advance the focused link when nextKeyView
- or previousKeyView is called within nextValidKeyView or previousValidKeyView. This
- broke in Tiger because AppKit now (sometimes at least) calls nextKeyView more than
- once within nextValidKeyView. Fixed 3709110 by making sure we only advance the focus
- once within a call to nextValidKeyView or previousValidKeyView.
-
- Also, this same trickery didn't work right with hidden views. Fixed 3692576 by checking
- whether the view is hidden and bypassing the focus-moving trickery in that case.
-
- * WebView.subproj/WebHTMLViewInternal.h:
- renamed inNextValidKeyView -> nextKeyViewAccessShouldMoveFocus
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView nextKeyView]):
- now clears nextKeyViewAccessShouldMoveFocus
- (-[WebHTMLView previousKeyView]):
- ditto
- (-[WebHTMLView nextValidKeyView]):
- now doesn't set focus-moving trigger ivar if view is hidden or has hidden ancestor
- (-[WebHTMLView previousValidKeyView]):
- ditto
-
-2004-06-30 Trey Matteson <trey@apple.com>
-
- Dragging within a web view should be allowed to start when the window isn't key.
-
- A few months ago, Chris made this work, but it relied on the fact that all dragging
- was done in WebKit. When WebCore got involved in dragging, it was broken. Now we
- have a new scheme that gets it working again that properly involves WebCore.
-
- The general idea is that when AK asks us whether to accept the first mouse and do
- "delayed window ordering", we must consult WC to see if we might start a drag. In
- addition, instead of these drags in non-active windows being started as a special
- case in WK, they go through the normal WK-WC drag machinery. Finally to work in
- frames we have to drill to the deepest hit view in acceptsFirstMouse, because previous
- hacks to hitTest make the top-most WebHTMLView field all events for its view tree
- (which leads to it fielding all acceptFirstMouse messages too).
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge mayStartDragAtEventLocation:]): Glue change for new arg type.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- firstMouseDownEvent ivar is no longer needed.
- (-[WebHTMLView _mayStartDragAtEventLocation:]): Receives a location instead of a drag
- event, since we need to do this work when we have no drag event. This means the
- check of the delay for text dragging is moved down to WebCore.
- (-[WebHTMLView acceptsFirstMouse:]): Respond based on whether we might do a drag.
- This includes drilling to the deepest view the event hits, whereas we used to only
- respond considering the topmost WebHTMLView.
- (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Ditto.
- (-[WebHTMLView mouseDown:]): Get rid of special case where some activating
- mouseDown events weren't sent to WC. We need to go through the whole pipeline
- now to get a drag started properly.
- (-[WebHTMLView mouseDragged:]): Ditto, let WC start the drag.
- (-[WebHTMLView mouseUp:]): firstMouseDownEvent ivar is no longer needed.
- * WebView.subproj/WebHTMLViewInternal.h:
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2004-06-25 Trey Matteson <trey@apple.com>
-
- Added new utility method.
-
- Reviewed by John.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _isDescendantOfFrame:]): New code.
- * WebView.subproj/WebFramePrivate.h:
-
-2004-06-24 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3710313>: CGContext not zeroed when WebImageRenderer is copied
- The context ivar of WebImageRenderer wasn't being nil when the object was copied.
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer copyWithZone:]):
- (-[WebImageRenderer dealloc]):
- (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
-
-2004-06-24 Trey Matteson <trey@apple.com>
-
- 3672725 - Assertion failure in URLCompletion code with particular set of bookmarks
-
- Problem was caused by a URL with unescaped unicodes getting into
- the Bookmarks file, presumably from import from IE. We now test
- for this case and convert the data on the way in as if it were
- user-entered.
-
- Reviewed by John and Darin.
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
-
-2004-06-24 Trey Matteson <trey@apple.com>
-
- 3704950 drag image in DB ConfigBar has horizontal graphics turd WebCore JavaScript
-
- When we generate a drag image (or a selection image too, for that matter) we
- translate the CTM using a CG call. Later, WebImageRenderer adjusts the pattern
- phase based on the CTM of the focused view, which doesn't include our translate.
- So we must inform WebKit about the additional phase adjustment.
-
- Reviewed by Richard
-
- * WebCoreSupport.subproj/WebGraphicsBridge.h:
- * WebCoreSupport.subproj/WebGraphicsBridge.m:
- (-[WebGraphicsBridge setAdditionalPatternPhase:]): New trivial setter.
- (-[WebGraphicsBridge additionalPatternPhase]): ...and getter.
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer tileInRect:fromPoint:context:]): Take any additional phase
- adjustment into account when setting phase.
-
-2004-06-24 Trey Matteson <trey@apple.com>
-
- 3693420 - onbeforecut and onbeforepaste need real implementaion
-
- Reviewed by Chris.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView validateUserInterfaceItem:]): Check with WebCore
- to see if cut, copy, paste should be enabled.
-
-2004-06-24 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- - fixed <rdar://problem/3706792> 8A161: Choosing text encoding for
- error page opens finder window!?
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
- take unreachableURL into account
-
-2004-06-23 Richard Williamson <rjw@apple.com>
-
- Implemented changes for latest npruntime.h.
- Made npruntime.h public.
-
- Reviewed by Chris.
-
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView pluginScriptableObject]):
- (-[WebBaseNetscapePluginView forceRedraw]):
- (-[WebBaseNetscapePluginView getVariable:value:]):
- * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
- * Plugins.subproj/npapi.h:
- * Plugins.subproj/npapi.m:
- (NPN_GetValue):
- * Plugins.subproj/npfunctions.h:
- * Plugins.subproj/npruntime.h:
- * WebKit.pbproj/project.pbxproj:
-
-2004-06-21 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2004-06-21 Chris Blumenberg <cblu@apple.com>
-
- Made WebKitErrorDescriptionPlugInCancelledConnection have its own description string
- (Not for software update branch)
-
- Reviewed by john.
-
- * English.lproj/Localizable.strings:
- * Misc.subproj/WebKitErrors.m:
-
-2004-06-21 Chris Blumenberg <cblu@apple.com>
-
- Made WebKitErrorDescriptionPlugInCancelledConnection properly reuse an already localized string to avoid loc changes.
-
- Reviewed by john.
-
- * ChangeLog:
- * Misc.subproj/WebKitErrors.m:
-
-2004-06-21 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3701269> change in error handling behavior from 10.3.3 to 10.3.4 breaks unreleased Adobe PDF plug-in
-
- Reviewed by john.
-
- * Misc.subproj/WebKitErrors.m:
- (registerErrors): register string for WebKitErrorPlugInCancelledConnection
- * Misc.subproj/WebKitErrorsPrivate.h:
- * Plugins.subproj/WebBaseNetscapePluginStream.h:
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): use renamed WEB_REASON_PLUGIN_CANCELLED constant
- (-[WebBaseNetscapePluginStream destroyStream]): ditto
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation cancelWithReason:]): if the reason is WEB_REASON_PLUGIN_CANCELLED, cancel the load with WebKitErrorPlugInCancelledConnection
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream cancelWithReason:]): ditto
-
-=== Safari-146 ===
-
-2004-06-17 Richard Williamson <rjw@apple.com>
-
- Changed private headers to be pubic for npapi.h and npfunctions.h. That
- API was approved but never marked as public in the project file. This change does
- not make npruntime.h public, which contains the not yet approved changes
- for script-ability of netscape plugins. Unfortunately, that API will not
- be public for WWDC.
-
- Reviewed by Chris.
-
- * WebKit.pbproj/project.pbxproj:
-
-2004-06-17 Trey Matteson <trey@apple.com>
-
- 3698514 - coordinates in ondragstart and ondrag events are wrong
-
- This part fixes the ondrag coords. I thought Cocoa passed us the mouse location
- in draggedImage:movedTo:, but no, it's the position of the dragged image.
- WebCore needs the mouse location, so to calc that we must save away the
- offset of the mouse relative to the image when we kick off the drag.
-
- Reviewed by Maciej.
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragImage:rect:event:pasteboard:source:offset:]): Add the ability
- to return the offset of the cursor wrt to the drag image, since this routine
- generates its own drag image and positions it.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- Calc the offset of the cursor wrt to the drag image in the myriad of ways
- that we kick off the drag.
- (-[WebHTMLView draggedImage:movedTo:]): Adjust the location by the
- offset we save when we kicked off the drag.
- (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
- * WebView.subproj/WebHTMLViewInternal.h:
- * WebView.subproj/WebImageView.m:
- (-[WebImageView mouseDragged:]): Pass nil for new arg, we don't care.
-
-2004-06-16 David Hyatt <hyatt@apple.com>
-
- In order to support truncation in Emerson, enhance pointToOffset so that it needn't include partial
- character glyphs (the left half of a glyph).
-
- Reviewed by mjs
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer pointToOffset:style:position:reversed:includePartialGlyphs:]):
- (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:includePartialGlyphs:]):
- (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:includePartialGlyphs:]):
-
-=== Safari-145 ===
-
-2004-06-16 Darin Adler <darin@apple.com>
-
- - fixed <rdar://problem/3696081> REGRESSION: <WebKit/CarbonUtils.h> doesn't build any more
-
- Reviewed by Trey.
-
- * Carbon.subproj/CarbonUtils.h: Fixed include. Need to include <ApplicationServices/ApplicationServices.h>
- to get CGImageRef; can't include an individual header.
-
-2004-06-15 Richard Williamson <rjw@apple.com>
-
- Fixed <rdar://problem/3695875>: Objective-C instances that are exported to JavaScript are too promiscuous
-
- Flip the policy for exposing Objective-C methods and properties.
-
- Reviewed by Trey.
-
- * Plugins.subproj/WebPluginPackage.m:
- (+[NSObject isSelectorExcludedFromWebScript:]): Just return YES.
- (+[NSObject isKeyExcludedFromWebScript:]): Just return YES.
-
-2004-06-15 Trey Matteson <trey@apple.com>
-
- 3639321 - Harvard PIN authentication ends up sending PIN as clear text with POST action
-
- When going back/forward to an item, if we went there originally via a POST,
- we ask the user about rePOSTing, and if they say yes, we resend the POST.
- This rePOST case is triggered by the form data that we saved on the b/f item.
- In the case of this bug, the overall navigation was accomplished by a POST,
- then a redirect, causing a GET. When a load of type redirect achieves the Committed
- stage, we replace the current URL in the b/f item with the new URL (instead of
- adding a new item to the b/f list).
-
- The bug is that at the same time we should also update the form data in
- the b/f item to match that of the new request. I think this will normally
- mean nil'ing it out, unless there's some way for the result of the redirect
- to be another POST.
-
- The security leak occurred because we did not clear the form data on the item,
- so when going back or forward to the page, we would go into the rePOSTing code,
- even though we eventually reached that page via a GET (caused by the redirect).
- So we would do a POST to the redirect URL containing the private data sent in
- the original POST.
-
- Reviewed by mjs and rjw.
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem _setFormInfoFromRequest:]): New method, just wraps 3 old set methods.
- (-[WebHistoryItem formData]): Diff being dumb, no change.
- (-[WebHistoryItem formContentType]): Ditto
- (-[WebHistoryItem formReferrer]): Ditto
- * History.subproj/WebHistoryItemPrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _createItem:]): Call new WebHistoryItem method - no change in real behavior
- (-[WebFrame _transitionToCommitted:]): Clear out the form data at the key time, to fix the bug.
-
-2004-06-15 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3695724> WebKit plug-ins should only have to implement plugInViewWithArguments:
-
- Reviewed by rjw.
-
- * ChangeLog:
- * Plugins.subproj/WebPluginViewFactory.h: mention that plugInViewWithArguments is required
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _reloadForPluginChanges]): check for plugInViewWithArguments: not webPlugInInitialize
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addSubview:]): ditto
-
-2004-06-15 Trey Matteson <trey@apple.com>
-
- 3695240 - pasting plain text with newlines in it turns them into spaces
-
- Easy fix, we just need to consume the incoming data as text instead of markup.
-
- Reviewed by John and Darin.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]):
-
-2004-06-15 Darin Adler <darin@apple.com>
-
- - fixed crash introduced by my earlier change
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageContext dealloc]): Set _cgsContext to 0 before calling super as before.
- (-[WebImageContext finalize]): Ditto.
-
-2004-06-14 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed some things for GC that Patrick missed, or that happened after the branch
-
- * Carbon.subproj/HIWebView.m:
- (HIWebViewConstructor): Use CFRetain instead of retain.
- (HIWebViewDestructor): Use CFRelease instead of release.
- * Misc.subproj/WebFileDatabase.m:
- (-[WebFileDatabase initWithPath:]): Use release instead of dealloc.
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageContext finalize]): Had [super dealloc] here by mistake; change to [super finalize].
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer finalize]): Added.
- * WebView.subproj/WebDebugDOMNode.m:
- (-[WebDebugDOMNode initWithWebFrameView:]): Use release instead of dealloc.
- * WebView.subproj/WebRenderNode.m:
- (-[WebRenderNode initWithWebFrameView:]): Use release instead of dealloc.
-
-2004-06-15 Trey Matteson <trey@apple.com>
-
- Fix ASSERT/crash we get sometimes when dragging link images. Turns
- out there was an uninitialized variable for the image size,
- so at random we would try to create huge images that could not
- be focused.
-
- Reviewed by Maciej and Darin.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _dragImageForLinkElement:]): Trivial fix to
- not use += with uninited variable.
-
-2004-06-14 Darin Adler <darin@apple.com>
-
- Reviewed by me, code changes by Patrick Beard.
-
- - fixed <rdar://problem/3671507>: (WebKit should adopt GC changes and compile with GC enabled)
-
- * WebKit.pbproj/project.pbxproj: Added WebNSObjectExtras.h.
- * Misc.subproj/WebNSObjectExtras.h: Added. Includes WebMakeCollectable, a cover for
- CFMakeCollectable that returns type id, for less casting, and works on Panther as well
- as Tiger. Also declares finalize in NSObject so we can call super without warnings on Panther.
-
- * Carbon.subproj/CarbonWindowAdapter.m: Fixed header and includes a bit.
- (-[CarbonWindowAdapter finalize]): Added.
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList dealloc]): Got count outside loop.
- (-[WebBackForwardList finalize]): Added.
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem finalize]): Added.
- * Misc.subproj/WebFileDatabase.m:
- (-[WebFileDatabase _createLRUList:]): Use release on Panther, drain on Tiger.
- (+[WebFileDatabase _syncLoop:]): Ditto.
- (-[WebFileDatabase dealloc]): Removed, since we never deallocate objects of this class, and
- the method was untested.
- * Misc.subproj/WebKitErrors.m: (registerErrors): Use release on Panther, drain on Tiger.
- * Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use
- WebMakeCollectable. Also fixed indenting.
- * Misc.subproj/WebNSURLExtras.m:
- (+[NSURL _web_URLWithData:relativeToURL:]): Use WebMakeCollectable.
- (-[NSURL _web_URLWithLowercasedScheme]): Use WebMakeCollectable.
- (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Change code to use CFRelease
- to balance CFURLCreateStringByReplacingPercentEscapes CFString creation, not release.
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream finalize]): Added.
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView freeAttributeKeysAndValues]): Added. Shared code for dealloc and finalize.
- (-[WebBaseNetscapePluginView dealloc]): Call freeAttributeKeysAndValues.
- (-[WebBaseNetscapePluginView finalize]): Added.
- (-[WebBaseNetscapePluginView requestWithURLCString:]): Changed so that CFString objects are
- released with CFRelease, not release.
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Fixed storage leak in
- error case. Made sure CFString object is released with CFRelease, not release.
- (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
- Another CFString that needed to a CFRelease, not a release.
- (-[WebBaseNetscapePluginView status:]): Ditto.
- * Plugins.subproj/WebBasePluginPackage.m:
- (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Changed code to
- CFRelease a CFURLRef, instead of release.
- (-[WebBasePluginPackage finalize]): Added.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge fini]): Added. Shared code for dealloc and finalize.
- (-[WebBridge dealloc]): Call fini.
- (-[WebBridge finalize]): Added.
- * WebCoreSupport.subproj/WebGlyphBuffer.m:
- (-[WebGlyphBuffer finalize]): Added.
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageContext initWithBounds:context:]): Use CGContextRetain to avoid cast.
- (-[WebImageContext dealloc]): Tweaked.
- (-[WebImageContext finalize]): Added.
- (-[WebImageRenderer finalize]): Added.
- (-[WebPDFDocument finalize]): Added.
- * WebView.subproj/WebDataProtocol.m:
- (+[NSURL _web_uniqueWebDataURL]): Changed so that CFString object is released with
- CFRelease, not release.
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]): Took non-release work out of here.
- (-[WebDataSource dealloc]): Moved it here.
- (-[WebDataSource finalize]): Added.
- (-[WebDataSource isLoading]): Use release on Panther, drain on Tiger.
- * WebView.subproj/WebFrame.m:
- (-[WebFramePrivate dealloc]): Took non-release work out of here.
- (-[WebFrame dealloc]): Moved it here.
- (-[WebFrame finalize]): Added.
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView finalize]): Added.
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation finalize]): Added.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLViewPrivate dealloc]): Moved non-release work out of here.
- (-[WebHTMLView dealloc]): Moved it here.
- (-[WebHTMLView finalize]): Added.
- * WebView.subproj/WebImageView.m:
- (-[WebImageView finalize]): Added.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient finalize]): Added.
- * WebView.subproj/WebTextView.m:
- (-[WebTextView finalize]): Added.
- * WebView.subproj/WebView.m:
- (-[WebView finalize]): Added.
-
-2004-06-14 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3693202> WebView.h header unnecessarily lists NSResponder methods it overrides
-
- * WebView.subproj/WebView.h: NSResponder overrides now gathered in a comment section.
-
-2004-06-13 Trey Matteson <trey@apple.com>
-
- Support for DHTML cut/copy/paste.
-
- Reviewed by Chris
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView copy:]): Give DHTML first crack at executing the command.
- (-[WebHTMLView cut:]): Ditto
- (-[WebHTMLView paste:]): Ditto
-
-2004-06-14 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3674456> make new drag & drop API compatible with DHTML dragging
-
- Reviewed by trey.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): tweak
- * WebView.subproj/WebUIDelegate.h: removed old, added new methods
- * WebView.subproj/WebUIDelegatePrivate.h: moved new methods to public header
- * WebView.subproj/WebView.h: removed old, added new methods
- * WebView.subproj/WebView.m: moved methods around
- (-[WebView moveDragCaretToPoint:]): moved
- (-[WebView removeDragCaret]): moved
- (-[WebView _bridgeAtPoint:]): moved
- (-[WebView editableDOMRangeForPoint:]): moved
- * WebView.subproj/WebViewInternal.h: add new internal method
- * WebView.subproj/WebViewPrivate.h: moved new methods to public header
-
-2004-06-14 Trey Matteson <trey@apple.com>
-
- Use a different hack, as recommended by Kristin, to force the drag
- manager to exit a modal event wait it is in. The hack is required
- to update the drag image on the fly. Instead of posting a CG
- event we post at the AppKit level.
-
- Reviewed by Louch
-
- * WebCoreSupport.subproj/WebGraphicsBridge.m:
- (-[WebGraphicsBridge setDraggingImage:at:]):
-
-2004-06-14 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3692668> REGRESSION: delay when images and links
- <rdar://problem/3692675> links should drag when dragging images that are links when drag source action is WebDragSourceActionLink
-
- Reviewed by trey.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _mayStartDragWithMouseDragged:]): cleaned up, only use selection delay for selections, allow links to be dragged when image dragging is disabled
-
-2004-06-12 Trey Matteson <trey@apple.com>
-
- Small rearrangement to support dynamic changing of the drag
- image during DHTML dragging.
-
- Reviewed by John
-
- * WebCoreSupport.subproj/WebBridge.m: Bridge glue moved to WebGraphicsBridge.
- * WebCoreSupport.subproj/WebGraphicsBridge.m:
- (FlipImageSpec): Code moved from WebHTMLView.m.
- (-[WebGraphicsBridge setDraggingImage:at:]): Ditto. Plus, we've added a gross
- event posting hack to force CG drag manager to update the display when we set
- the drag image.
- * WebView.subproj/WebHTMLView.m: Code moved to WebGraphicsBridge.
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2004-06-11 Chris Blumenberg <cblu@apple.com>
-
- Implemented the remainder of the drag & drop API.
-
- Reviewed by trey.
-
- * Misc.subproj/WebNSPasteboardExtras.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): new
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragImage:rect:event:pasteboard:source:]): simplified, this method now just creates a drag image and starts the drag
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge allowDHTMLDrag:UADrag:]): now calls _delegateDragSourceActionMask on WebHTMLView to interact with the delegate
- * WebView.subproj/WebDefaultUIDelegate.m:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call new delegate method, cleaned-up a little
- (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call drag caret methods on WebView instead of WebBridge so WebView can make sure only 1 HTML view has a drag cursor
- (-[WebHTMLView draggingCancelledWithDraggingInfo:]): ditto
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
- (-[WebHTMLView _delegateDragSourceActionMask]): new, gets drag source action mask from delegate
- * WebView.subproj/WebHTMLViewInternal.h:
- * WebView.subproj/WebImageView.h:
- * WebView.subproj/WebImageView.m:
- (-[WebImageView mouseDown:]): get the drag source action mask from the delegate
- (-[WebImageView mouseDragged:]): inform the delegate of the drag
- * WebView.subproj/WebView.m:
- (-[WebViewPrivate dealloc]): assert that dragCursorBridge is nil
- (-[WebView _close]): release dragCursorBridge
- (-[WebView _bridgeAtPoint:]): new
- (-[WebView editableDOMRangeForPoint:]): new API
- (-[WebView moveDragCaretToPoint:]): new API
- (-[WebView removeDragCaret]): new API
- (-[WebView _frameViewAtWindowPoint:]): moved so this can be called internally
- * WebView.subproj/WebViewInternal.h:
- * WebView.subproj/WebViewPrivate.h:
-
-2004-07-10 Trey Matteson <trey@apple.com>
-
- Prep work for latest delegate API for dragging. In addition, I also straightened out all
- the cases of DHTML setting a drag image or setting pasteboard data, and how that would
- override WebKit's default behavior (which follows how WinIE does things).
-
- Reviewed by Chris.
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragImage:archive:rect:URL:title:event:dragImage:dragLocation:writePasteboard:]):
- New args to allow WebCore override of dragImage and pasteboard data.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge allowDHTMLDrag:UADrag:]): New method to return the drag action info to WC.
- (-[WebBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- Pass along new args.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- Allow WebCore to override drag image and pasteboard data for any type of drag.
- (-[WebHTMLView mouseDragged:]): Pass NO for new args.
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebImageView.m:
- (-[WebImageView mouseDragged:]): Pass NO/nil for new args.
-
-=== Safari-144 ===
-
-2004-06-10 Kevin Decker <kdecker@apple.com>
-
- Reviewed by John.
-
- * WebView.subproj/WebResource.m:
- (-[WebResource description]):
- -added per request of cblu
- (-[WebResource _response]):
- -added this method to the header
- (-[WebResource _stringValue]):
- - gives the string value of the NSData representation
- * WebView.subproj/WebResourcePrivate.h:
-
-2004-06-10 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- * WebCoreSupport.subproj/WebBridge.m: Removed undo-related methods.
- (-[WebBridge undoManager]): Added.
-
- * WebKit.pbproj/.cvsignore: Updated for new Xcode files.
-
-2004-06-09 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3672088>: "Editable WebViews should maintain a selection even when they're not firstResponder"
-
- Add some code to determine whether a WebHTMLView should maintain an
- inactive selection when the view is not first responder. Traditionally,
- these views have not maintained such selections, clearing them when the
- view was not first responder. However, for appls embedding this view as
- an editing widget, it is desirable to act more like an NSTextView. For
- now, however, the view only acts in this way when the web view is set to
- be editable with -[WebView setEditable:YES]. This will maintain
- traditional behavior for WebKit clients dating back to before this
- change, and will likely be a decent switch for the long term, since
- clients to ste the web view to be editable probably want it to act like
- a "regular" Cocoa view in terms of its selection behavior.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView updateTextBackgroundColor]): Add code to tell whether the view is resigning first responder,
- and if it is, use the inactive text background color.
- (-[WebHTMLView maintainsInactiveSelection]): New helper which does checks to see if the new selection
- behavior should be used, or whether we should continue with traditional WebKit behavior.
- (-[WebHTMLView resignFirstResponder]): Call new maintainsInactiveSelection helper. If true,
- do not clear the selection.
- * WebView.subproj/WebHTMLViewInternal.h: Add resigningFirstResponder flag.
-
-2004-06-09 Chris Blumenberg <cblu@apple.com>
-
- Implemented drag destination portion of the new drag & drop API.
-
- Reviewed by trey.
-
- * WebView.subproj/WebDefaultUIDelegate.m:
- (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]): new delegate implementation
- (-[WebDefaultUIDelegate webView:willPerformDragDestinationAction:forDraggingInfo:]): ditto
- * WebView.subproj/WebDocumentInternal.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): handle the action mask
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): ditto
- * WebView.subproj/WebUIDelegate.h:
- * WebView.subproj/WebUIDelegatePrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebView _dragOperationForDraggingInfo:]): call new delegate methods
- (-[WebView performDragOperation:]): ditto
- * WebView.subproj/WebViewInternal.h:
- * WebView.subproj/WebViewPrivate.h:
-
-2004-06-09 Richard Williamson <rjw@apple.com>
-
- Implemented PDF rendering for the drawImage() function
- in Context2D. This allows PDF files to be drawn in scaled
- or rotated context without rasterization artifacts.
-
- The PDF image is currently NOT cached. Caching can/will be added
- as an optimization. The hooks are already in place to flush
- the cache as necessary.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer dealloc]):
- (-[WebImageRenderer _needsRasterFlush]):
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
- (-[WebImageRenderer _PDFDocumentRef]):
- (-[WebImageRenderer _PDFDraw]):
- (-[WebImageRenderer _PDFDrawFromRect:toRect:operation:alpha:flipped:]):
- (-[WebImageRenderer MIMEType]):
- (ReleasePDFDocumentData):
- (-[WebPDFDocument initWithData:]):
- (-[WebPDFDocument dealloc]):
- (-[WebPDFDocument documentRef]):
- (-[WebPDFDocument mediaBox]):
- (-[WebPDFDocument bounds]):
- (-[WebPDFDocument adjustCTM:]):
- (-[WebPDFDocument setCurrentPage:]):
- (-[WebPDFDocument currentPage]):
- (-[WebPDFDocument pageCount]):
-
- Added back check for old plugin API.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _reloadForPluginChanges]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addSubview:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge frameRequiredForMIMEType:URL:]):
-
-2004-06-08 Trey Matteson <trey@apple.com>
-
- In DHTML dragging there is no notion of registering for types, so we'd
- like to just pass all types down to WebCore. It turns out that the per-type
- registration doesn't matter as far as the underlying drag service is
- concerned, so Cocoa is already getting called for any type. We just hack and
- override a private method to ensure we accept any type.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebView.m:
- (-[WebView _hitTest:dragTypes:]): We accept any drag type if it is within
- our view, without overriding a subview's decision.
-
-2004-06-08 Trey Matteson <trey@apple.com>
-
- A DHTML drag source can now change the dragging image during the drag. Currently
- it may only be set to a static image.
-
- Reviewed by John
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge setDraggingImage:at:]): Typical bridge glue.
- * WebView.subproj/WebHTMLView.m:
- (FlipImageSpec): New utility, copied from AppKit.
- (-[WebHTMLView _setDraggingImage:at:]): Mostly copied from AppKit. Sets the drag
- image using CG API.
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2004-06-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3640423>: (REGRESSION: can't paste text copied from web page into Excel (due to HTML on the pasteboard?))
-
- Reviewed by darin.
-
- * WebView.subproj/WebHTMLView.m:
- (+[WebHTMLView _selectionPasteboardTypes]): don't include NSHTMLPboardType
- (-[WebHTMLView _selectedArchive]): removed markup string parameter
- (_selectionPasteboardTypes::if): don't put NSHTMLPboardType on the pasteboard
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2004-06-07 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed <rdar://problem/3676761>: (REGRESSION: Text Bigger/Smaller commands are always disabled in TOT)
-
- * WebView.subproj/WebHTMLView.m: Add @interface declaration for WebTextSizing category
- on WebHTMLView. This must have gotten lost somewhere along the way.
-
-2004-06-05 Trey Matteson <trey@apple.com>
-
- WebKit no longer causes an endless stream of dragexit events to
- occur at the DHTML level when hovering over an element that is
- not accepting the drag.
-
- Reviewed by Chris
-
- * WebView.subproj/WebView.m:
- (-[WebView _dragOperationForDraggingInfo:]): If the potential target refuses
- the item, don't turn around and immediately tell it to cancel the drag, which is
- what leads to the exit event happening at the DOM level. If the target just
- refused the drag, it should not have anything it needs to cancel.
-
-2004-06-03 Trey Matteson <trey@apple.com>
-
- DHTML dragging uses the Cocoa NSDragOperation on both the source and dest ends.
- Most of the real work is in WebCore.
-
- Reviewed by rjw
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge startDraggingImage:at:operation:event:]): Pass the drag op along.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:]): Remember drag op from WC.
- (-[WebHTMLView mouseDragged:]): Pass None for the op (alternate code path that will
- be going away).
- (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Use the WC drag op.
- * WebView.subproj/WebHTMLViewInternal.h:
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-=== Safari-143 ===
-
-2004-06-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3674921>: (can't drag an image from Desktop to Blot document)
-
- Reviewed by mjs.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _imageElementWithImageResource:]): factored out from _documentFragmentWithImageResource:
- (-[WebDataSource _documentFragmentWithImageResource:]): call _imageElementWithImageResource:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _imageExistsAtPaths:]): new
- (-[WebHTMLView _documentFragmentWithPaths:]): new
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): handle NSFilenamesPboardType
- (+[WebHTMLView _insertablePasteboardTypes]): include NSFilenamesPboardType
- (-[WebHTMLView _canProcessDragWithDraggingInfo:]): check for NSFilenamesPboardType and check that the files are images
-
-2004-06-04 Richard Williamson <rjw@apple.com>
-
- Fixed crasher from last checkin.
-
- Reviewed by Ken.
-
- * Plugins.subproj/WebPluginDatabase.m:
- (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
- (pluginLocations):
-
-2004-06-03 Richard Williamson <rjw@apple.com>
-
- Add SPI to allow setting of plugin load path.
- Reviewed by Hyatt.
-
- * Plugins.subproj/WebPluginDatabase.h:
- * Plugins.subproj/WebPluginDatabase.m:
- (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
- (pluginLocations):
-
-2004-06-03 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed <rdar://problem/3677038>: (Need SPI to get URL of favicon for a site)
-
- * Misc.subproj/WebIconDatabase.h: Add iconURLForURL: method.
- * Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase iconURLForURL:]): Added.
-
-2004-06-02 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Fix for these bugs:
-
- <rdar://problem/3675806>: "Make API name change for -webViewShouldBeginEditing:inDOMRange:"
- <rdar://problem/3675809>: "Make API name change for -webViewShouldEndEditing:inDOMRange:"
-
- New names are -webView:shouldBeginEditingInDOMRange: and -webView:shouldEndEditingInDOMRange:,
- respectively.
-
- * WebView.subproj/WebDefaultEditingDelegate.m:
- (-[WebDefaultEditingDelegate webView:shouldBeginEditingInDOMRange:]):
- (-[WebDefaultEditingDelegate webView:shouldEndEditingInDOMRange:]):
- * WebView.subproj/WebEditingDelegate.h:
- * WebView.subproj/WebView.m:
- (-[WebView _shouldBeginEditingInDOMRange:]):
- (-[WebView _shouldEndEditingInDOMRange:]):
-
-2004-06-02 Richard Williamson <rjw@apple.com>
-
- conformsToProtocol:@protocol(WebPlugin) becomes
- respondsToSelector:@selector(webPlugInInitialize) because
- protocol was changed to an informal protocol.
- Reviewed by Kevin.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge frameRequiredForMIMEType:URL:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addSubview:]):
-
-2004-06-01 Trey Matteson <trey@apple.com>
-
- First cut at source side of DHTML dragging. Most of the work is in WebCore.
-
- Reviewed by hyatt.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge startDraggingImage:at:event:]): Added image and loc args for
- when WC tells WK to start a drag.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:event:]): New image and loc args coming
- from WebCore. Hysteresis is moved to WC.
- (-[WebHTMLView mouseDragged:]): Call new _startDragging method.
- (-[WebHTMLView draggedImage:movedTo:]): Pass event to WC.
- (-[WebHTMLView draggedImage:endedAt:operation:]): Pass event to WC.
- (-[WebHTMLView mouseUp:]): Reset firstMouseDownEvent. Fixes bug where
- we would occasionally short-circuit WC event handling due to aliasing
- problem with this event.
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2004-06-02 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed problem with timing of delegate callbacks in the back/forward cache case
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]): Move code to indicate page is done loading in the
- back/forward cache case from here ...
- (-[WebFrame _opened]): ... to here.
-
-2004-06-01 Richard Williamson <rjw@apple.com>
-
- Fixed deployment build warning.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
-
-2004-06-01 Richard Williamson <rjw@apple.com>
-
- Added support for drawImage and drawImageFromRect to <CANVAS>
- Added support for composite attribute to <CANVAS>
-
- Reviewed by Trey.
-
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageContext initWithBounds:context:]):
- (-[WebImageContext dealloc]):
- (-[WebImageContext saveGraphicsState]):
- (-[WebImageContext restoreGraphicsState]):
- (-[WebImageContext isDrawingToScreen]):
- (-[WebImageContext focusStack]):
- (-[WebImageContext setFocusStack:]):
- (-[WebImageContext bounds]):
- (-[WebImageContext isFlipped]):
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
- (-[WebImageRenderer dealloc]):
- (-[WebImageRenderer _beginRedirectContext:]):
- (-[WebImageRenderer _endRedirectContext:]):
- (-[WebImageRenderer _needsRasterFlush]):
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
- (-[WebImageRenderer drawImageInRect:fromRect:]):
- (-[WebImageRenderer flushRasterCache]):
- (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
- (-[WebImageRenderer tileInRect:fromPoint:context:]):
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory imageRendererWithMIMEType:]):
- (-[WebImageRendererFactory imageRendererWithName:]):
- (-[WebImageRendererFactory CGCompositeOperationInContext:]):
- (-[WebImageRendererFactory setCGCompositeOperation:inContext:]):
- (-[WebImageRendererFactory setCGCompositeOperationFromString:inContext:]):
-
-2004-06-01 John Sullivan <sullivan@apple.com>
-
- Reviewed by Trey.
-
- Work on text-align API. Marked these bugs fixed:
- <rdar://problem/3655380>: (Editing: -alignCenter: method unimplemented (WebKit editing API))
- <rdar://problem/3655381>: (Editing: -alignJustified: method unimplemented (WebKit editing API))
- <rdar://problem/3655383>: (Editing: -alignLeft: method unimplemented (WebKit editing API))
- <rdar://problem/3655384>: (Editing: -alignRight: method unimplemented (WebKit editing API))
-
- in favor of opening this bug:
- <rdar://problem/3675191>: (Editing: -alignLeft: and friends mostly implemented but not
- yet working (WebKit editing API))
-
- * English.lproj/StringsNotToBeLocalized.txt:
- updated for these changes
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView changeDocumentBackgroundColor:]):
- added a FIXME about why this is still not quite right
- (-[WebHTMLView _alignSelectionUsingCSSValue:]):
- new method, bottleneck for the various values
- (-[WebHTMLView alignCenter:]):
- call _alignSelectionUsingCSSValue:@"center"
- (-[WebHTMLView alignJustified:]):
- call _alignSelectionUsingCSSValue:@"justify"
- (-[WebHTMLView alignLeft:]):
- call _alignSelectionUsingCSSValue:@"left"
- (-[WebHTMLView alignRight:]):
- call _alignSelectionUsingCSSValue:@"right"
-
-2004-06-01 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3655378>: (Editing: -changeDocumentBackgroundColor: 
- method unimplemented (WebKit editing API))
- - made startSpeaking: actually work; previous implementation raised a DOMException
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
- added range parameter
- (-[WebHTMLView _entireDOMRange]):
- new convenience method
- (-[WebHTMLView changeDocumentBackgroundColor:]):
- now affects entire document, not just selected range, a la NSTextView
- (-[WebHTMLView changeColor:]):
- now passes in a range to _changeCSSColorUsingSelector:inRange:
- (-[WebHTMLView startSpeaking:]):
- now uses _entireDOMRange
-
-2004-06-01 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3661505>: (REGRESSION (Safari-140) can't drag standalone images more than once)
-
- Reviewed by john.
-
- * WebView.subproj/WebImageView.m:
- (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO. This line of code was deleted somehow.
-
-2004-06-01 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- - fixed <rdar://problem/3657003>: (HTML Editing: Color panel doesn't work)
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _colorPanelColorAsStyleUsingSelector:]):
- new method, returns a DOMCSSStyleDeclaration *
- (-[WebHTMLView _changeCSSColorUsingSelector:]):
- new method, sets a color-related style attribute on the selection
- (-[WebHTMLView changeDocumentBackgroundColor:]):
- call _changeCSSColorUsingSelector: with @selector(setBackgroundColor:)
- (-[WebHTMLView changeColor:]):
- call _changeCSSColorUsingSelector: with @selector(setColor:); also added
- comments explaining why changeDocumentBackgroundColor: will never actually
- be called until an AppKit code-incest mess is straighted out.
-
-2004-06-01 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _fontManagerOperationAsStyle]): Fixed typo in family-name code that caused
- family names to match when they should not.
-
-2004-06-01 Chris Blumenberg <cblu@apple.com>
-
- Made paste and drop ask the delegate before making any replacements.
-
- Reviewed by kocienda.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): renamed, now calls _shouldInsertFragment:replacingDOMRange:givenAction:
- (-[WebHTMLView _shouldInsertFragment:replacingDOMRange:givenAction:]): new, asks delegate
- (-[WebHTMLView concludeDragForDraggingInfo:]): now calls _shouldInsertFragment:replacingDOMRange:givenAction:
- (-[WebHTMLView paste:]): call renamed _pasteWithPasteboard:allowPlainText:
- (-[WebHTMLView pasteAsRichText:]): ditto
-
-2004-05-28 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _fontManagerOperationAsStyle]):
- First cut at figuring out what operation the font manager is doing without
- digging into its private data structures.
-
-2004-05-28 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - various editing-related improvements
- - fixed <rdar://problem/3655366>: (Editing: -selectParagraph: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655367>: (Editing: -selectLine: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655369>: (Editing: -selectWord: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655392>: (Editing: -uppercaseWord: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655393>: (Editing: -lowercaseWord: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655394>: (Editing: -capitalizeWord: method unimplemented (WebKit editing API))
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Removed the call to
- ensureCaretVisible. This is now handled on the other side of the bridge.
- (-[WebHTMLView moveDown:]): Changed to use WebSelectByLine granularity instead of
- WebSelectDown direction.
- (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
- (-[WebHTMLView moveUp:]): Ditto.
- (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
- (-[WebHTMLView _expandSelectionToGranularity:]): Added.
- (-[WebHTMLView selectParagraph:]): Implemented by calling _expandSelectionToGranularity.
- (-[WebHTMLView selectLine:]): Ditto.
- (-[WebHTMLView selectWord:]): Ditto.
- (-[WebHTMLView _fontManagerOperationAsStyle]): Added. Placeholder for the job of figuring
- out what style change to make based on NSFontManager.
- (-[WebHTMLView changeFont:]): Implemented, but not really tested because guts are still
- missing due to lack of above method.
- (-[WebHTMLView insertTab:]): Removed the call to ensureCaretVisible.
- (-[WebHTMLView insertNewline:]): Removed the call to ensureCaretVisible.
- (-[WebHTMLView insertParagraphSeparator:]): Made this insert a newline for now.
- (-[WebHTMLView _changeWordCaseWithSelector:]): Added.
- (-[WebHTMLView uppercaseWord:]): Implemented by calling _changeWordCaseWithSelector.
- (-[WebHTMLView lowercaseWord:]): Ditto.
- (-[WebHTMLView capitalizeWord:]): Ditto.
- (-[WebHTMLView deleteBackward:]): Removed the call to ensureCaretVisible.
- (-[WebHTMLView checkSpelling:]): Put a pile of AppKit code in here as a placeholder.
- (-[WebHTMLView startSpeaking:]): Use the new stringForRange: method instead of outerText.
- That way we can handle cases where the entire document is selected.
- (-[WebHTMLView insertText:]): Removed the call to ensureCaretVisible.
-
-2004-05-28 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3672129>: (selection deselects when clicking editable WebView in background window)
-
- Fixed this problem by using NSTextView's approach of only allowing dragging on first mouse down.
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView acceptsFirstMouse:]): store the first mouse down
- (-[WebHTMLView mouseDown:]): Don't tell WebCore about the first mouse down event since only dragging can occur on the first mouse down.
- (-[WebHTMLView mouseDragged:]): Don't tell WebCore about the drags that occur after the first mouse down since only dragging can occur after the first mouse down.
- * WebView.subproj/WebHTMLViewInternal.h:
-
-2004-05-28 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebView.m: At Ken's suggestion, for better efficiency and safety,
- use _cmd rather than explicit selector names in the forwarding methods.
-
-2004-05-28 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - implemented a few more editing operations, moved code from WebView to WebHTMLView
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge respondToChangedContents]): Call _updateFontPanel on the WebHTMLView, not the WebView.
- (-[WebBridge respondToChangedSelection]): Ditto.
-
- * WebView.subproj/WebHTMLView.m: Moved WebElementOrTextFilter class here from WebView and
- gave it a prefix so it won't conflict with developers' class names.
- (-[WebHTMLView _updateFontPanel]): Moved here from WebView.
-
- * WebView.subproj/WebView.m:
- (-[WebView toggleSmartInsertDelete:]): Added.
- (-[WebView toggleContinuousSpellChecking:]): Added.
- (-[WebView isContinuousGrammarCheckingEnabled]): Added.
- (-[WebView setContinuousGrammarCheckingEnabled:]): Added.
- (-[WebView toggleContinuousGrammarChecking:]): Added.
- (-[WebView setSmartInsertDeleteEnabled:]): Implemented. We have the flag now, although we
- still don't actually have smart insert and delete implemented.
- (-[WebView smartInsertDeleteEnabled]): Ditto.
- (-[WebView setContinuousSpellCheckingEnabled:]): Implemented.
- (-[WebView isContinuousSpellCheckingEnabled]): Implemented.
- (-[WebView spellCheckerDocumentTag]): Implemented.
- (-[WebView _preflightSpellCheckerNow:]): Added.
- (-[WebView _preflightSpellChecker]): Added.
- (-[WebView _continuousCheckingAllowed]): Added.
-
- * WebView.subproj/WebHTMLViewInternal.h: Added. We'll things here from WebHTMLViewPrivate so
- they are internal to the framework, rather than SPI.
- * WebKit.pbproj/project.pbxproj: Added WebHTMLViewInternal.h.
- * WebView.subproj/WebHTMLViewPrivate.h: Moved WebHTMLViewPrivate into the internal header.
- Despite its name, it's internal, not SPI.
-
- * WebView.subproj/WebViewPrivate.h: Moved WebViewPrivate into the internal header.
- Despite its name, it's internal, not SPI. Added a number of new operations which should
- be public API. We'll have to figure out what to do about API review and the WWDC deadline.
- * WebView.subproj/WebViewInternal.h: Removed _updateFontPanel method.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update.
-
-2004-05-27 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- The font panel now updates correctly, reflecting the current selection. There may
- still be some bugs and corner cases to handle, but this will work for a general
- implementation of the feature.
-
- * WebView.subproj/WebView.m:
- (+[ElementOrTextFilter filter]): Added. This filter will accept DOM elements and
- text nodes and skip everything else. This filter is used when walking a selection
- to determine the fonts in use.
- (-[ElementOrTextFilter acceptNode:]): DOM node filter implementation method.
- (-[WebView _fontFromStyle]): Removed, in lieu of new fontForCurrentPosition call on the bridge.
- (-[WebView _updateFontPanel]): Reworked to use a TreeWalker instead of a NodeIterator. This
- was done since the iterator must be rooted at the document root, but start iterating
- at the start of the selection. TreeWalker's setCurrentNode allows this to be done.
-
-2004-05-27 Kevin Decker <kdecker@apple.com>
-
- * Plugins.subproj/WebScriptObject.h:
-
-2004-05-27 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Ken.
-
- - error messages (eg. from JavaScriptCore) sent to the bridge now
- get delievered to a new delegate method.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge addMessageToConsole:]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebUIDelegatePrivate.h:
-
-=== Safari-142 ===
-
-2004-05-27 Trey Matteson <trey@apple.com>
-
- First cut at DHTML dragging, destination side. Dragging text, files and URLs onto
- elements works. Type conversion from NSPasteboard to MIME types is hardwired.
- No JS access yet to modifier keys, or operations mask.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): Call DHTML dragging via bridge.
- (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
- (-[WebHTMLView concludeDragForDraggingInfo:]): Ditto.
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebView _setWebKitDragRespondsToDragging:]): New SPI for finer grained control than the
- delegate currently has.
- (-[WebView _webKitDragRespondsToDragging]): Ditto.
- (-[WebView _commonInitializationWithFrameName:groupName:]): Init new flag.
- (-[WebView _dragOperationForDraggingInfo:]): Comment.
- * WebView.subproj/WebViewPrivate.h:
-
-2004-05-27 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollVerticallyBy:]): Added comment.
-
-2004-05-27 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed <rdar://problem/3667948>: (REGRESSION: Page Down key goes down two pages when smooth scrolling is on)
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _scrollVerticallyBy:]): Added return value to indicate if any scrolling was done.
- This requires using secret AppKit methods; the public methods don't have a return value.
- (-[WebFrameView _pageVertically:]): Added return value to indicate if any scrolling was done.
- (-[WebFrameView scrollPageUp:]): Base call through to next responder on whether any scrolling was done,
- using return value, rather than looking at new scroll position. This was the cause of the bug,
- since with smooth scrolling no scrolling has happened yet when the function returns.
- (-[WebFrameView scrollPageDown:]): Ditto.
-
- - removed temporary DOMDocument method from WebView
-
- * WebView.subproj/WebView.m:
- (-[WebView computedStyleForElement:pseudoElement:]): Call getComputedStyle on the document that owns the
- element rather than on the document that currently contains the selection.
- (-[WebView _updateFontPanel]): Get the document from the DOM range rather than using the DOMDocument method.
- (-[WebView styleDeclarationWithText:]): Change this method to not use the DOMDocument method, but do the same
- job with inline code.
-
- * WebView.subproj/WebViewPrivate.h: Moved a recently-added category that is not SPI out of here.
- * WebView.subproj/WebViewInternal.h: Moved the category in here. And removed the DOMDocument method from it.
-
- - other changes
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
- * copy-webcore-files-to-webkit: Change tabs to spaces. Quiet the script down by
- making it no longer echo each command or print messages about what it's doing by default.
-
-2004-05-27 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - moved to new symlink technique for embedding frameworks
-
- * WebKit.pbproj/project.pbxproj: Get rid of embed-frameworks build step
- because we don't need it any more.
-
-2004-05-27 Darin Adler <darin@apple.com>
-
- - fixed Deployment build
-
- * WebView.subproj/WebView.m: (-[WebView concludeDragOperation:]):
- Got rid of ASSERT-only local variable.
-
-2004-05-26 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dave.
-
- - fix further problems with Emerson feed: redirection for RSS feeds
-
- This is done by removing removing the calls to defer callbacks
- while waiting for [... Maciej stopped typing here ...]
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
- (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient checkContentPolicyForResponse:]):
-
-2004-05-26 Chris Blumenberg <cblu@apple.com>
-
- Added and implemented proposed dragging API changes. These changes are necessary to make JS dragging work properly.
-
- Reviewed by trey.
-
- * WebView.subproj/WebDefaultUIDelegate.m:
- (-[WebDefaultUIDelegate webView:shouldDetermineDragOperationForDraggingInfo:dragOperation:]): instead of calling back to the WebView to get the default drag operation, return YES. Return NO in order to return a custom drag operation. Removed element parameter since another new API provides a way to get that.
- (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:]): Removed element parameter since another new API provides a way to get that.
- * WebView.subproj/WebDocumentInternal.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): now returns a drag operation
- (-[WebHTMLView draggingCancelledWithDraggingInfo:]): moved
- * WebView.subproj/WebUIDelegatePrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebView elementAtPoint:]): new proposed API
- (-[WebView dragOperationForDraggingInfo:]): removed code from this API that should be removed
- (-[WebView _dragOperationForDraggingInfo:]): call new API
- (-[WebView concludeDragOperation:]): call new API
-
-2004-05-26 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - moved HTML editing operations from WebView to WebHTMLView, leaving only forwarding machinery
- at the WebView level
-
- - fixed <rdar://problem/3655412>: (Editing: -startSpeaking: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655414>: (Editing: -stopSpeaking: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655375>: (Editing: -pasteAsRichText: method unimplemented (WebKit editing API))
-
- * WebView.subproj/WebView.h: Added missing declaration of selectionAffinity. I think this
- omission was an editorial mistake.
-
- * WebView.subproj/WebView.m:
- (-[WebView searchFor:direction:caseSensitive:wrap:]): Use _frameForCurrentSelection directly,
- since it no longer returns nil.
- (-[WebView pasteboardTypesForSelection]): Use _frameForCurrentSelection instead of going through the bridge.
- (-[WebView _frameForCurrentSelection]): Renamed from _currentFrame and changed to return main frame
- rather than nil when called on WebView that has no current selection.
- (-[WebView _bridgeForCurrentSelection]): Moved in file.
- (-[WebView _updateFontPanel]): Removed the one call to _currentSelectionIsEditable here, since
- it was the only one left in this file. Eventually this code will move to WebHTMLView.
- (-[WebView _performResponderOperation:with:]): Name change.
-
- * WebView.subproj/WebDataSource.m: (-[WebDataSource _documentFragmentWithImageResource:]):
- Build document fragment using DOM instead of composing HTML text.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:]): Added allowPlainText boolean,
- moved method into new location in file so it can be in the right category, changed link pasting
- to use DOM instead of composing HTML text.
- (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:allowPlainText:]): Added allowPlainText
- boolean, moved method into new location in file so it can be in the right category.
- (-[WebHTMLView concludeDragForDraggingInfo:]): Pass YES for allowPlainText.
- (-[WebHTMLView keyDown:]): Set keyDownEvent field for use by workaround below.
- (-[WebHTMLView centerSelectionInVisibleArea:]): Moved here from WebView.
- (-[WebHTMLView _alterCurrentSelection:direction:granularity:]): Ditto.
- (-[WebHTMLView moveBackward:]): Ditto.
- (-[WebHTMLView moveBackwardAndModifySelection:]): Ditto.
- (-[WebHTMLView moveDown:]): Ditto.
- (-[WebHTMLView moveDownAndModifySelection:]): Ditto.
- (-[WebHTMLView moveForward:]): Ditto.
- (-[WebHTMLView moveForwardAndModifySelection:]): Ditto.
- (-[WebHTMLView moveLeft:]): Ditto.
- (-[WebHTMLView moveLeftAndModifySelection:]): Ditto.
- (-[WebHTMLView moveRight:]): Ditto.
- (-[WebHTMLView moveRightAndModifySelection:]): Ditto.
- (-[WebHTMLView moveToBeginningOfDocument:]): Ditto.
- (-[WebHTMLView moveToBeginningOfLine:]): Ditto.
- (-[WebHTMLView moveToBeginningOfParagraph:]): Ditto.
- (-[WebHTMLView moveToEndOfDocument:]): Ditto.
- (-[WebHTMLView moveToEndOfLine:]): Ditto.
- (-[WebHTMLView moveToEndOfParagraph:]): Ditto.
- (-[WebHTMLView moveUp:]): Ditto.
- (-[WebHTMLView moveUpAndModifySelection:]): Ditto.
- (-[WebHTMLView moveWordBackward:]): Ditto.
- (-[WebHTMLView moveWordBackwardAndModifySelection:]): Ditto.
- (-[WebHTMLView moveWordForward:]): Ditto.
- (-[WebHTMLView moveWordForwardAndModifySelection:]): Ditto.
- (-[WebHTMLView moveWordLeft:]): Ditto.
- (-[WebHTMLView moveWordLeftAndModifySelection:]): Ditto.
- (-[WebHTMLView moveWordRight:]): Ditto.
- (-[WebHTMLView moveWordRightAndModifySelection:]): Ditto.
- (-[WebHTMLView pageDown:]): Ditto.
- (-[WebHTMLView pageUp:]): Ditto.
- (-[WebHTMLView selectParagraph:]): Ditto.
- (-[WebHTMLView selectLine:]): Ditto.
- (-[WebHTMLView selectWord:]): Ditto.
- (-[WebHTMLView copy:]): Moved down in file so it's in the right category.
- (-[WebHTMLView cut:]): Ditto.
- (-[WebHTMLView delete:]): Ditto.
- (-[WebHTMLView paste:]): Ditto.
- (-[WebHTMLView copyFont:]): Moved here from WebView.
- (-[WebHTMLView pasteFont:]): Ditto.
- (-[WebHTMLView pasteAsPlainText:]): Ditto.
- (-[WebHTMLView pasteAsRichText:]): Implemented this by calling the paste code with
- allowPlainText:NO; believe it or not, that's what this means in NSTextView.
- (-[WebHTMLView changeFont:]): Moved here from WebView.
- (-[WebHTMLView changeAttributes:]): Ditto.
- (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
- (-[WebHTMLView changeColor:]): Ditto.
- (-[WebHTMLView alignCenter:]): Ditto.
- (-[WebHTMLView alignJustified:]): Ditto.
- (-[WebHTMLView alignLeft:]): Ditto.
- (-[WebHTMLView alignRight:]): Ditto.
- (-[WebHTMLView indent:]): Ditto.
- (-[WebHTMLView insertTab:]): Moved here from WebView, also call insertText rather than
- replaceSelectionWithText so it's undoable like a typed character.
- (-[WebHTMLView insertBacktab:]): Moved here from WebView.
- (-[WebHTMLView insertNewline:]): Moved here from WebView, also call insertText rather than
- replaceSelectionWithText so it's undoable like a typed character.
- (-[WebHTMLView insertParagraphSeparator:]): Moved here from WebView.
- (-[WebHTMLView changeCaseOfLetter:]): Ditto.
- (-[WebHTMLView uppercaseWord:]): Ditto.
- (-[WebHTMLView lowercaseWord:]): Ditto.
- (-[WebHTMLView capitalizeWord:]): Ditto.
- (-[WebHTMLView deleteForward:]): Ditto.
- (-[WebHTMLView deleteBackward:]): Ditto.
- (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Ditto.
- (-[WebHTMLView deleteWordForward:]): Ditto.
- (-[WebHTMLView deleteWordBackward:]): Ditto.
- (-[WebHTMLView deleteToBeginningOfLine:]): Ditto.
- (-[WebHTMLView deleteToEndOfLine:]): Ditto.
- (-[WebHTMLView deleteToBeginningOfParagraph:]): Ditto.
- (-[WebHTMLView deleteToEndOfParagraph:]): Ditto.
- (-[WebHTMLView complete:]): Ditto.
- (-[WebHTMLView checkSpelling:]): Ditto.
- (-[WebHTMLView showGuessPanel:]): Ditto.
- (-[WebHTMLView performFindPanelAction:]): Ditto.
- (-[WebHTMLView startSpeaking:]): Implemented this.
- (-[WebHTMLView stopSpeaking:]): Implemented this.
- (-[WebHTMLView insertText:]): Moved here from WebView.
-
- * WebView.subproj/WebHTMLViewPrivate.h: Removed declarations of methods that are neither
- SPI nor needed outside WebHTMLView.m.
-
- * WebView.subproj/WebViewInternal.h: Removed _currentFrame, and added _frameForCurrentSelection and
- _bridgeForCurrentSelection.
-
-2004-05-25 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- <rdar://problem/3652498>: new sniffing support is crashing
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient checkContentPolicyForResponse:]): Retain
- listener around call, in case delegate does something that ends up
- invalidating it, like navigating to a new URL.
-
-2004-05-25 Chris Blumenberg <cblu@apple.com>
-
- Fixed regression where undoing typing would undo character-by-character.
-
- Reviewed by kocienda.
-
- * WebView.subproj/WebView.m:
- (-[WebView insertText:]): call insertText: rather than replaceSelectionWithText:: since text insertion via insertText: is coalesced and this is the behavior we want here
-
-2004-05-25 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Change postDidChangeSelectionNotification and postDidChangeNotification tp
- respondToChangedSelection and respondToChangedContents, respectively, to
- account for the fact that we do work in these calls other than post a
- notification. The need to clear the typing style on both kinds of changes
- inspired the name change.
-
- Add in support to set and access typing style. We don't do anything with it yet
- except store and return it. Using the typing style is still to come.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge respondToChangedContents]): Change name of functions as described.
- (-[WebBridge respondToChangedSelection]): Change name of functions as described.
- * WebView.subproj/WebView.m:
- (-[WebView dealloc:]): Dealloc typing style ivar.
- (-[WebView setTypingStyle:]): Change to set typing style ivar.
- (-[WebView typingStyle]): Return new typing style ivar.
- * WebView.subproj/WebViewPrivate.h: Add ivar for typing style.
-
-2004-05-25 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Improve _bridgeForCurrentSelection so that it is frame-savvy.
- Fixup setSelectedDOMRange:affinity: so that it uses the right bridge.
-
- * WebView.subproj/WebView.m:
- (-[WebView _bridgeForCurrentSelection]): Use _currentFrame not mainFrame.
- (-[WebView _currentFrame]): Moved to WebView (WebInternal) category so _bridgeForCurrentSelection can use it.
- (-[WebView setSelectedDOMRange:affinity:]): Derive the bridge to use from the range passed in; _bridgeForCurrentSelection
- is not the right way to get at the document for the range.
- * WebView.subproj/WebViewInternal.h: Add _currentFrame declaration.
-
-2004-05-24 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3666022>: (REGRESSION: crash from infinite regress in -[WebFrameView(WebPrivate) scrollPageDown:])
-
- * WebView.subproj/WebView.m:
- (-[WebView _performResponderOperation:sender:]): Helper method that knows how to pass on operations
- to the responder chain, allowing us to implement operations that will get passed to views inside
- us as necessary. Moved a few methods to this, and soon will move even more.
- (-[WebView scrollLineDown:]): Use the above method.
- (-[WebView scrollLineUp:]): Ditto.
- (-[WebView scrollPageDown:]): Ditto.
- (-[WebView scrollPageUp:]): Ditto.
- (-[WebView copy:]): Ditto.
- (-[WebView cut:]): Ditto.
- (-[WebView paste:]): Ditto.
- (-[WebView delete:]): Ditto.
- (-[WebView insertBacktab:]): Ditto.
-
-2004-05-24 Chris Blumenberg <cblu@apple.com>
-
- Improved editing via drag
-
- Reviewed by kocienda.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _documentFragmentWithImageResource:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
- (-[WebDataSource _documentFragmentWithArchive:]): ditto
- (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): call renamed methods
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDocumentInternal.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment
- (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:]): new
- (-[WebHTMLView paste:]): call _replaceSelectionWithPasteboard:selectReplacement:
- (-[WebHTMLView dragOperationForDraggingInfo:]): handle the case where the destination is editable, but the source is not
- (-[WebHTMLView draggingCancelledWithDraggingInfo:]): new, removes drag caret
- (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): remove drag caret when we can't handle the drag
- (-[WebHTMLView concludeDragForDraggingInfo:]): instead of calling paste, move the selection when doing a move and replace the drag caret when doing a copy
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebViewPrivate dealloc]):
- (-[WebView _setDraggingDocumentView:]): new
- (-[WebView _dragOperationForDraggingInfo:]): if the current dragging document view changes, tell the previous dragging document view that dragging cancelled
- (-[WebView draggingExited:]): new, tell the previous dragging document view that dragging cancelled
- (-[WebView concludeDragOperation:]): release the dragging document view
- (-[WebView replaceSelectionWithNode:]): pass the selectReplacement BOOL to the bridge
- (-[WebView replaceSelectionWithText:]): ditto
- (-[WebView replaceSelectionWithMarkupString:]): ditto
- (-[WebView replaceSelectionWithArchive:]): ditto
- (-[WebView pasteAsPlainText:]): ditto
- (-[WebView insertTab:]): ditto
- (-[WebView insertText:]): ditto
- * WebView.subproj/WebViewPrivate.h:
-
-2004-05-24 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dave.
-
- - added private RSSFeedReferrer field to WebHistoryItem so RSS feeds in the
- back/forward list can remember what page (if any) they were initiated from.
-
- * History.subproj/WebHistoryItem.m:
- new RSSFeedReferrer ivar in private structure
- (-[WebHistoryItemPrivate dealloc]):
- release RSSFeedReferrer
- (-[WebHistoryItem copyWithZone:]):
- copy RSSFeedReferrer
- (-[WebHistoryItem RSSFeedReferrer]):
- return RSSFeedReferrer
- (-[WebHistoryItem setRSSFeedReferrer:]):
- set RSSFeedReferrer
-
- * History.subproj/WebHistoryItemPrivate.h:
- declare -RSSFeedReferrer and -setRSSFeedReferrer:
-
-2004-05-22 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - implemented some of the trivial WebView editing operations; some had bug reports, to wit:
- - fixed <rdar://problem/3655342>: (Editing: -centerSelectionInVisibleArea: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655398>: (Editing: -deleteWordBackward: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655397>: (Editing: -deleteWordForward: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655387>: (Editing: -insertBacktab: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655386>: (Editing: -insertTab: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655351>: (Editing: -moveWordBackward: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655352>: (Editing: -moveWordBackwardAndModifySelection: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655353>: (Editing: -moveWordForward: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655354>: (Editing: -moveWordForwardAndModifySelection: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655374>: (Editing: -pasteAsPlainText: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655362>: (Editing: -scrollLineDown: method unimplemented (WebKit editing API))
- - fixed <rdar://problem/3655363>: (Editing: -scrollLineUp: method unimplemented (WebKit editing API))
-
- * WebView.subproj/WebView.m:
- (-[WebView centerSelectionInVisibleArea:]): Implemented. The implementation isn't perfect, but it's hooked
- up. It simply calls ensureCaretVisible for now.
- (-[WebView moveBackward:]): Implemented. The WebCore API already has a way to specify backward as opposed
- to left. A separate issue is the fact that these operations don't have bi-di-savvy implementations, but
- now this method is hooked up and will work at least for left-to-right text.
- (-[WebView moveBackwardAndModifySelection:]): Ditto.
- (-[WebView moveForward:]): Ditto.
- (-[WebView moveForwardAndModifySelection:]): Ditto.
- (-[WebView moveWordBackward:]): Ditto.
- (-[WebView moveWordBackwardAndModifySelection:]): Ditto.
- (-[WebView moveWordForward:]): Ditto.
- (-[WebView moveWordForwardAndModifySelection:]): Ditto.
- (-[WebView scrollLineDown:]): Forward to WebFrameView.
- (-[WebView scrollLineUp:]): Ditto.
- (-[WebView scrollPageDown:]): Ditto.
- (-[WebView scrollPageUp:]): Ditto.
- (-[WebView delete:]): Implemented. Follows pattern used in cut, copy, and paste.
- (-[WebView pasteAsPlainText:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
- (-[WebView insertTab:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
- (-[WebView insertBacktab:]): Implemented. Does nothing. If we ever change so that you can use a WebView as
- a field editor, then we might have to add code here.
- (-[WebView deleteWordForward:]): Implement by calling moveForwardAndModifySelection: and then delete:.
- Might not be a perfect implementation in the presence of delegates who refuse to delete because it will
- change the selection even if the delete is disallowed.
- (-[WebView deleteWordBackward:]): Implement by calling moveBackwardAndModifySelection: and then delete:.
- Same issue about about delegates as deleteWordForward:.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Added a FIXME.
-
- * DOM.subproj/DOMViews.h: Updated from recent change to WebCore.
-
-2004-05-21 Richard Williamson <rjw@apple.com>
-
- Removed _bindObject:forFrame: SPI.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.h:
-
-=== Safari-141 ===
-
-2004-05-21 Darin Adler <darin@apple.com>
-
- Reviewed by Ken and Chris.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Call replaceSelectionWithText:
- instead of replaceSelectionWithMarkupString: when pasting plain text.
-
- * WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]):
- Remove bogus check for empty markup. There's nothing wrong with an empty string, and no reason
- that replacing with empty string should be a no-op instead of a delete.
-
-2004-05-20 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]):
- Added BOOL result to handleMouseDragged:.
- * WebView.subproj/WebHTMLViewPrivate.h: Added BOOL result to _handleMouseDragged:.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Added BOOL result,
- returning YES when the drag started, and no when the hysteresis has not yet been overcome.
-
-2004-05-20 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- Provide the methods to glue the WebView's editing delegate so that these methods work:
-
- <rdar://problem/3655316>: "Editing: -webViewShouldBeginEditing:inDOMRange: method unimplemented (WebKit editing API)"
- <rdar://problem/3655317>: "Editing: -webViewShouldEndEditing:inDOMRange: method unimplemented (WebKit editing API)"
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge shouldBeginEditing:]): New method used to glue delegate to focus shifts.
- (-[WebBridge shouldEndEditing:]): Ditto.
- * WebView.subproj/WebView.m:
- (-[WebView _shouldBeginEditingInDOMRange:]): Ditto.
- (-[WebView _shouldEndEditingInDOMRange:]): Ditto.
- * WebView.subproj/WebViewPrivate.h: Ditto.
-
-2004-05-20 Richard Williamson <rjw@apple.com>
-
- Fixed typo in header comment.
-
- Reviewed by Ken.
-
- * Plugins.subproj/WebScriptObject.h:
-
-2004-05-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3462627>: (API: Need a way to disable/customize dragging)
-
- Reviewed by john.
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): fixed bug that caused exception
- * WebView.subproj/WebDefaultUIDelegate.m:
- (-[WebDefaultUIDelegate webView:shouldBeginDragForElement:dragImage:mouseDownEvent:mouseDraggedEvent:]): new, returns YES
- (-[WebDefaultUIDelegate webView:dragOperationForDraggingInfo:overElement:]): new, returns [WebView dragOperationForDraggingInfo:]
- (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:overElement:]): new, returns YES
- * WebView.subproj/WebDocumentInternal.h: added WebDocumentDragging and WebDocumentElement for document dragging
- * WebView.subproj/WebDocumentPrivate.h: moved WebDocumentSelection to WebDocumentInternal.h
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
- * WebView.subproj/WebHTMLView.h:
- * WebView.subproj/WebHTMLView.m:
- (+[WebHTMLView _insertablePasteboardTypes]): new
- (-[WebHTMLView _handleMouseDragged:]): call shouldBeginDragForElement:::: delegate API
- (-[WebHTMLView _mayStartDragWithMouseDragged:]): call renamed elementAtPoint SPI
- (-[WebHTMLView initWithFrame:]): don't register for drag types since this is handled at the WebView
- (-[WebHTMLView menuForEvent:]): call renamed elementAtPoint SPI
- (-[WebHTMLView _isSelectionEvent:]): call renamed elementAtPoint SPI
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
- (-[WebHTMLView draggedImage:endedAt:operation:]): ditto
- (-[WebHTMLView _canProcessDragWithDraggingInfo:]): new
- (-[WebHTMLView dragOperationForDraggingInfo:]): new WebDocumentDragging SPI
- (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): ditto
- (-[WebHTMLView concludeDragForDraggingInfo:]): ditto
- (-[WebHTMLView elementAtPoint:]): renamed from _elementAtPoint since this is part of the WebDocumentElement SPI
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebImageView.h:
- * WebView.subproj/WebImageView.m:
- (-[WebImageView elementAtPoint:]): new
- (-[WebImageView menuForEvent:]): call elementAtPoint
- (-[WebImageView mouseDragged:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
- (-[WebImageView draggedImage:endedAt:operation:]): ditto
- * WebView.subproj/WebTextView.h:
- * WebView.subproj/WebTextView.m:
- (-[WebTextView _elementAtWindowPoint:]): new
- (-[WebTextView elementAtPoint:]): new
- (-[WebTextView menuForEvent:]): call _elementAtWindowPoint
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebViewPrivate dealloc]): removed draggedTypes ivar
- (+[WebView URLFromPasteboard:]): implemented
- (+[WebView URLTitleFromPasteboard:]): implemented
- (-[WebView _registerDraggedTypes]): moved
- (-[WebView _frameViewAtWindowPoint:]): new
- (-[WebView _draggingDocumentViewAtWindowPoint:]): new
- (-[WebView _elementAtWindowPoint:]): new
- (-[WebView dragOperationForDraggingInfo:]): updated this API to handle subviews that may want to handle drags
- (-[WebView _dragOperationForDraggingInfo:]): new, handles UI delegate for drag control
- (-[WebView draggingEntered:]): call _dragOperationForDraggingInfo:
- (-[WebView draggingUpdated:]): ditto
- (-[WebView concludeDragOperation:]): work with the UI delegate and the subview to handle what happens
- * WebView.subproj/WebViewPrivate.h:
-
-2004-05-19 Richard Williamson <rjw@apple.com>
-
- Removed extraneous tabs that were added (by XCode?).
-
- * DOM.subproj/DOM-compat.h:
- * Plugins.subproj/WebScriptObject.h:
-
-2004-05-19 Richard Williamson <rjw@apple.com>
-
- Updated header copy script to only copy if modified headers
- are different.
-
- * copy-webcore-files-to-webkit:
-
-2004-05-19 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt and Darin
-
- Fix for this bug:
-
- <rdar://problem/3643230>: "can't tab out of contentEditable Elements"
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge interceptEditingKeyEvent:]): Renamed from _editingKeyDown. Also now returns
- a BOOL to report whether the event was handled or not.
- * WebView.subproj/WebView.m:
- (-[WebView _interceptEditingKeyEvent:]): Also renamed from _editingKeyDown. Now includes
- a check if the web view is editable and whether the event is a tab key event. If the former
- is not true and the latter is, the key is not intercepted. This causes the tab to shift once
- the key is processed by other non-editing key-handling mechanisms.
- * WebView.subproj/WebViewPrivate.h: Changed declaration due to name change.
-
-2004-05-19 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge isEditable]): Return the isEditable value for the
- WebView which contains this bridge's frame.
-
-2004-05-19 Darin Adler <darin@apple.com>
-
- - fixed headers with licenses mangled by Xcode auto-indenting
-
- * DOM.subproj/DOMExtensions.h:
- * WebCoreSupport.subproj/WebGraphicsBridge.h:
- * WebCoreSupport.subproj/WebGraphicsBridge.m:
-
-2004-05-18 David Hyatt <hyatt@apple.com>
-
- Improve layout scheduling.
- Reviewed by kocienda
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToLayoutAcceptable]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
-
-2004-05-18 Richard Williamson <rjw@apple.com>
-
- Finished implementation of windowScriptObject.
- Reviewed by Maciej.
-
- * WebView.subproj/WebView.m:
- (-[WebView windowScriptObject]):
-
-2004-05-18 Richard Williamson <rjw@apple.com>
-
- Added WebKit portion of webView:windowScriptObjectAvailable:
- implementation. Still need to implement creating the WebScriptObject
- wrapper on the WebCore side.
-
- Reviewed by Maciej.
-
- Removed "_" from _setPageWidthForPrinting:. This method facilitates
- a work-around for carbon printing. At some point we may make this
- method public API.
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge overrideMediaType]):
- (-[WebBridge windowObjectCleared]):
- * WebView.subproj/WebDefaultFrameLoadDelegate.m:
- (-[WebDefaultFrameLoadDelegate webView:windowScriptObjectAvailable:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView setPageWidthForPrinting:]):
-
-2004-05-18 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3520322>: "can't use <WebKit/HIWebView.h> or <WebKit/CarbonUtils.h> from non-Objective C"
-
- * Carbon.subproj/CarbonUtils.h: Added ifdefs so file compiles when included from non-Objective-C.
- Changed style to match other Carbon headers a bit more closely. Also remove unnecessary includes.
- * Carbon.subproj/HIWebView.h: Ditto.
-
- - fixed <rdar://problem/3648505>: "this text file scrolls to the second line instead of first when pressing home"
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _scrollToTopLeft]): Scroll to origin.y instead of assuming that top is 0; can be non-0 for text view.
- (-[WebFrameView _scrollToBottomLeft]): Use NSMaxY instead of height for the same reason.
-
-2004-05-17 David Hyatt <hyatt@apple.com>
-
- Fix for performance regression in PLT caused by not setting _timeOfLastCompletedLoad, causing
- page cache to release during the benchmark.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _setState:]):
-
-2004-05-17 Chris Blumenberg <cblu@apple.com>
-
- Implemented new WebView pasteboard methods. Made a lot of factoring changes related to pasteboard management.
-
- Reviewed by john.
-
- * Misc.subproj/WebNSPasteboardExtras.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (+[NSPasteboard _web_writableTypesForURL]): renamed to not include "drag" these types are also used for copying
- (+[NSPasteboard _web_writableTypesForImage]): new
- (-[NSPasteboard _web_bestURL]): tweak
- (-[NSPasteboard _web_writeURL:andTitle:types:]): take an array of types that this method should write, don't declare the types since this complicates things for the caller
- (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): ditto
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragImage:archive:rect:URL:title:event:]): call renamed methods
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate copyLinkToClipboard:]): call code factored out to WebView
- (-[WebDefaultUIDelegate copyImageToClipboard:]): ditto
- * WebView.subproj/WebDocumentPrivate.h:
- * WebView.subproj/WebHTMLView.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _selectedRTFData]): new factored out method
- (-[WebHTMLView _writeSelectionToPasteboard:]): factored code out to writeSelectionWithPasteboardTypes:toPasteboard:
- (-[WebHTMLView _dragImageForLinkElement:]): tweak
- (-[WebHTMLView _handleMouseDragged:]): call renamed methods
- (-[WebHTMLView pasteboardTypesForSelection]): new
- (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new, code moved from _writeSelectionToPasteboard:
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebImageView.h:
- * WebView.subproj/WebImageView.m:
- (-[WebImageView writeImageToPasteboard:types:]): call renamed methods
- (-[WebImageView copy:]):
- (-[WebImageView writeSelectionToPasteboard:types:]): call renamed methods
- * WebView.subproj/WebTextView.h:
- * WebView.subproj/WebTextView.m:
- (-[WebTextView pasteboardTypesForSelection]): new
- (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new
- * WebView.subproj/WebView.m:
- (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): new
- (-[WebView _writeLinkElement:withPasteboardTypes:toPasteboard:]): mew
- (-[WebView dragOperationForDraggingInfo:]): implemented API
- (-[WebView draggingEntered:]): call API
- (-[WebView draggingUpdated:]): ditto
- (-[WebView concludeDragOperation:]): ditto
- (-[WebView pasteboardTypesForSelection]): implemented API
- (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
- (-[WebView pasteboardTypesForElement:]): ditto
- (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): ditto
- * WebView.subproj/WebViewPrivate.h:
-
-2004-05-17 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Remove overrides in WebView for scrollPageDown and scrollPageUp.
- NSView behavior gives us just what we want, and there is no
- special behavior required for editing.
-
- <rdar://problem/3655364>: "Editing: -scrollPageDown: method unimplemented (WebKit editing API)"
- <rdar://problem/3655365>: "Editing: -scrollPageUp: method unimplemented (WebKit editing API)"
-
- * WebView.subproj/WebView.h: Comment methods out and add a note about why.
- * WebView.subproj/WebView.m: Remove stubbed out implementation.
-
-2004-05-14 Vicki Murley <vicki@apple.com>
-
- Reviewed by mjs.
-
- <rdar://problem/3642427>: framework marketing number should be 2.0 for DoubleBarrel release
-
- * WebKit.pbproj/project.pbxproj: change CFBundleShortVersionString to 2.0
-
-2004-05-14 David Hyatt <hyatt@apple.com>
-
- Eliminate timedLayout.
- Reviewed by darin
-
- * WebView.subproj/WebFrame.m:
- (-[WebFramePrivate dealloc]):
- (-[WebFrame _detachFromParent]):
- (-[WebFrame _transitionToLayoutAcceptable]):
- (-[WebFrame _setState:]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- (-[WebFrame stopLoading]):
- * WebView.subproj/WebFramePrivate.h:
-
-=== Safari-140 ===
-
-2004-05-14 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3655495>: (exception loading applets)
-
- Reviewed by kocienda.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): when calling old cocoa plug-ins, use old keys
-
-2004-05-14 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3655204>: (repro assertion failure and crash loading java applets)
-
- Reviewed by kocienda.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call pluginViewWithArguments: for old Cocoa plug-ins
-
-2004-05-14 Chris Blumenberg <cblu@apple.com>
-
- Copied headers from WebCore.
-
- * DOM.subproj/DOMCore.h:
- * DOM.subproj/DOMEvents.h:
-
-2004-05-14 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by me
-
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Fixed a compile error: undeclared identifier.
- Looked like a typo.
-
-2004-05-13 Richard Williamson <rjw@apple.com>
-
- Backed out mistaken change that I didn't mean to checkin.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
-
-2004-05-13 Richard Williamson <rjw@apple.com>
-
- Updated to reflect new API.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge setIsSelected:forView:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _reloadForPluginChanges]):
-
-2004-05-13 Chris Blumenberg <cblu@apple.com>
-
- Fixed some indenting issues in public headers.
-
- * Plugins.subproj/WebJavaPlugIn.h:
- * Plugins.subproj/WebPlugin.h:
- * Plugins.subproj/WebScriptObject.h:
- * WebView.subproj/WebEditingDelegate.h:
- * WebView.subproj/WebFrameView.h:
- * WebView.subproj/WebPolicyDelegate.h:
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebView.h:
-
-2004-05-13 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Chris
-
- Moved -DOMDocument convenience back to private header.
- I mistakenly moved it to the public header earlier today.
-
- * WebView.subproj/WebView.h: Removed
- * WebView.subproj/WebViewPrivate.h: Re-added
-
-2004-05-13 Richard Williamson <rjw@apple.com>
-
- Updated to implementation to reflect new API. Left old SPI
- in place for compatibility. Can remove when the Java plug-in
- updates.
-
- Reviewed by Chris.
-
- * Plugins.subproj/WebPlugin.h:
- * Plugins.subproj/WebPluginContainer.h:
- * Plugins.subproj/WebPluginController.h:
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController startAllPlugins]):
- (-[WebPluginController stopAllPlugins]):
- (-[WebPluginController addPlugin:]):
- (-[WebPluginController destroyAllPlugins]):
- (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
- (-[WebPluginController showURL:inFrame:]):
- (-[WebPluginController webPlugInContainerShowStatus:]):
- (-[WebPluginController showStatus:]):
- (-[WebPluginController webPlugInContainerSelectionColor]):
- (-[WebPluginController selectionColor]):
- (-[WebPluginController webFrame]):
-
-2004-05-13 Chris Blumenberg <cblu@apple.com>
-
- - Added stubs for WebView action and drag & drop customization API's
- - Fixed: <rdar://problem/3616555>: (API: Make DOM extensions and WebKit DOM operations public)
-
- Reviewed by rjw.
-
- * DOM.subproj/WebDOMOperations.h: added remaining DOM operations
- * DOM.subproj/WebDOMOperationsPrivate.h:
- * Misc.subproj/WebKit.h: added new public headers
- * WebKit.pbproj/project.pbxproj:
- * WebKit.exp: added symbol for WebElementDOMNodeKey
- * WebView.subproj/WebUIDelegate.h: added new UI delegate methods
- * WebView.subproj/WebView.h: added new pasteboard related methods
- * WebView.subproj/WebView.m:
- (+[WebView URLFromPasteboard:]): new stub
- (+[WebView URLTitleFromPasteboard:]): new stub
- (-[WebView dragOperationForDraggingInfo:]): new stub
- (-[WebView pasteboardTypesForSelection]): new stub
- (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): new stub
- (-[WebView pasteboardTypesForElement:]): new stub
- (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): new stub
- * WebView.subproj/WebViewPrivate.h:
-
-2004-05-13 Richard Williamson <rjw@apple.com>
-
- Changed imports of all DOM headers. DOM headers
- should be imported using the normal #import <WebCore/foo.h>,
- they import is modified when copied to WebKit.
-
- Other approved API changes. Currently unimplemented.
-
- Reviewed by Chris.
-
- * ChangeLog:
- * DOM.subproj/DOM.h:
- * DOM.subproj/DOMCSS.h:
- * DOM.subproj/DOMCore.h:
- * DOM.subproj/DOMEvents.h:
- * DOM.subproj/DOMExtensions.h:
- * DOM.subproj/DOMHTML.h:
- * DOM.subproj/DOMRange.h:
- * DOM.subproj/DOMStylesheets.h:
- * DOM.subproj/DOMTraversal.h:
- * DOM.subproj/DOMViews.h:
- * Plugins.subproj/WebPlugin.h:
- * Plugins.subproj/WebPluginContainer.h:
- * Plugins.subproj/WebPluginPackage.m:
- * Plugins.subproj/WebPluginViewFactory.h:
- * Plugins.subproj/WebScriptObject.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebFrameLoadDelegate.h:
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView windowScriptObject]):
- * copy-webcore-files-to-webkit:
-
-2004-05-13 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Kevin
-
- Move WebKit editing APIs to public API files.
-
- * WebCoreSupport.subproj/WebBridge.m: Add WebEditingDelegate include.
- * WebKit.pbproj/project.pbxproj: Go Xcode!
- * WebView.subproj/WebDefaultEditingDelegate.m: Remove WebViewPrivate include; add WebEditingDelegate include.
- * WebView.subproj/WebEditingDelegate.h: Added. New file.
- * WebView.subproj/WebView.h: Move API-approved interfaces to this file.
- * WebView.subproj/WebView.m: Add WebEditingDelegate include.
- * WebView.subproj/WebViewPrivate.h: Move API-approved interfaces from this file.
-
-2004-05-12 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3633296>: (Japanese input is not working properly in Carbon Web Kit applications (including CarbonWeb))
- <rdar://problem/3631390>: (can't toggle between Input Methods (IMEs) using cmd-space in Carbon Web Kit applications)
-
- Reviewed by rjw.
-
- * Carbon.subproj/CarbonWindowAdapter.m:
- (-[CarbonWindowAdapter sendSuperEvent:]): call [NSInputContext processInputKeyBindings:inEvent] just as NSApp does
- * Carbon.subproj/HIWebView.m:
- (HIWebViewEventHandler): [NSApp setWindowsNeedUpdate:YES] must be called before events so that ActivateTSMDocument is called to set an active document. Without an active document, TSM will use a default document which uses a bottom-line input window which we don't want.
-
-2004-05-11 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3616537>: (API: Make WebResource, WebArchive and related API's public)
- <rdar://problem/3616471>: (API: provide way to get from WebFrame to DOMDocument and vice versa)
-
- Reviewed by rjw.
-
- * DOM.subproj/WebDOMOperations.h:
- * DOM.subproj/WebDOMOperations.m:
- (-[DOMHTMLFrameElement contentFrame]): new
- (-[DOMHTMLIFrameElement contentFrame]): new
- (-[DOMHTMLObjectElement contentFrame]): new
- * DOM.subproj/WebDOMOperationsPrivate.h:
- * Misc.subproj/WebNSImageExtras.m:
- (-[NSImage _web_saveAndOpen]): fixed leak
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _addSubresources:]): made private
- (-[WebDataSource _archiveWithMarkupString:nodes:]): handle object tags with frame content
- (-[WebDataSource _archiveWithCurrentState:]): renamed from _archive, now takes flag
- (-[WebDataSource _replaceSelectionWithArchive:]): call renamed _addSubresources
- (-[WebDataSource webArchive]): new
- (-[WebDataSource mainResource]): new
- (-[WebDataSource subresources]): made public
- (-[WebDataSource subresourceForURL:]): made public
- (-[WebDataSource addSubresource:]): made public
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDocumentPrivate.h:
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed _addSubresources
- (-[WebFrame DOMDocument]): new
- (-[WebFrame frameElement]): new
- (-[WebFrame loadArchive:]): made public
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation loadArchive]): call renamed _addSubresources
- * WebView.subproj/WebImageRepresentation.m:
- (-[WebImageRepresentation archive]): call webArchive on WebDataSource
-
-2004-05-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - avoid redecoding animated images that are only used once for
- ~2.5% iBench speedup (WebCore part of fix)
-
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer increaseUseCount]):
- (-[WebImageRenderer decreaseUseCount]):
- (-[WebImageRenderer retainOrCopyIfNeeded]):
-
-2004-05-10 Maciej Stachowiak <mjs@apple.com>
-
- Fix build.
-
- * WebView.subproj/WebFrame.m:
-
-2004-05-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- - avoid messing with undo manager needlessly for ~1% HTML iBench speedup
-
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge registerCommandForUndo:]): mark undo/redo item flag
- (-[WebBridge registerCommandForRedo:]): ditto
- (-[WebBridge clearUndoRedoOperations]): check flag before removing items,
- and clear it after removing them
-
-2004-05-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - -[WebFrame childFrames] is so hot that a special internal
- version which avoids the copy and autorelease results in a .75%
- performance improvement on HTML iBench.
-
- * WebView.subproj/WebFramePrivate.h: Prototype new method.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _internalChildFrames]): New method, just returns
- internal value instead of copying.
-
- (-[WebFrame _descendantFrameNamed:]): Use it
- (-[WebFrame _textSizeMultiplierChanged]): likewise
- (-[WebFrame _viewWillMoveToHostWindow:]): likewise
- (-[WebFrame _viewDidMoveToHostWindow]): likewise
- (-[WebFrame _saveDocumentAndScrollState]): likewise
- (-[WebFrame _numPendingOrLoadingRequests:]): likewise
- (-[WebFrame _checkLoadComplete]): Refactored this and it's two
- helpers a little so we could get away with using
- _internalChildFrames.
- (-[WebFrame _checkLoadCompleteForThisFrame]): Renamed from
- _isLoadComplete
- (-[WebFrame _recursiveCheckLoadComplete]): renamed from (class
- method) _recursiveCheckCompleteFromFrame:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _defersCallbacksChanged]): Use it
- (-[WebDataSource isLoading]): likewise
- * WebView.subproj/WebView.m:
- (-[WebView _frameForDataSource:fromFrame:]): likewise
- (-[WebView _frameForView:fromFrame:]): likewise
-
-2004-05-10 Chris Blumenberg <cblu@apple.com>
-
- Forgot to commit this copied header.
-
- * DOM.subproj/DOMExtensions.h:
-
-=== Safari-139 ===
-
-2004-05-06 Chris Blumenberg <cblu@apple.com>
-
- * DOM.subproj/WebDOMOperations.h: improved a header doc comment
-
-2004-05-05 Chris Blumenberg <cblu@apple.com>
-
- - DOM Extensions API tweaks
-
- Reviewed by kocienda.
-
- * DOM.subproj/DOMExtensions.h: copied from WebCore
- * DOM.subproj/WebDOMOperations.h: added header doc comments
- * DOM.subproj/WebDOMOperations.m:
- (-[DOMNode _URLsFromSelectors:]): use renamed URLWithAttributeString
- (-[DOMDocument URLWithAttributeString:]): renamed
- (-[DOMHTMLTableElement _web_background]): new private method
- (-[DOMHTMLTableElement _subresourceURLs]): use new private method
- (-[DOMHTMLTableCellElement _web_background]): new private method
- (-[DOMHTMLTableCellElement _subresourceURLs]): use new private method
-
-2004-05-04 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- * DOM.subproj/DOMTraversal.h: File coppied from WebCore
-
-2004-05-02 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3640419>: "_webkit_stringByReplacingValidPercentEscapes does not handle %00 properly"
-
- * Misc.subproj/WebNSURLExtras.m: (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
- Use the function in NSURL instead of implementing our own here.
-
-2004-04-30 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/WebView.m:
- fixed deployment build breakage
-
-2004-04-30 John Sullivan <sullivan@apple.com>
-
- - more work on getting the font panel to work with editable HTML.
- The font panel in Blot now correctly reflects the first selected font when the
- selection is at least one character long.
-
- Reviewed by Ken.
-
- * WebView.subproj/WebView.m:
- removed unfinished plumbing to support reflecting selected attributes (e.g. text color,
- underline) in font panel, since this doesn't work in Mail or TextEdit either.
- (_fontFromStyle):
- removed assertion for now
- (-[WebView _updateFontPanel]):
- now uses new bridge method to get the NSFont from the node, instead of trying
- to create an NSFont from a DOMCSSStyleDeclaration
-
-2004-04-29 John Sullivan <sullivan@apple.com>
-
- - more work on getting the font panel to work with editable HTML
-
- Reviewed by Ken.
-
- * WebView.subproj/WebView.m:
- (-[WebView computedStyleForElement:pseudoElement:]):
- convert nil pseudoElement to empty string because lower level chokes on nil
- (_fontFromStyle):
- I tried to implement this, but was thwarted by missing API, so I added a
- bunch of FIXMEs instead
- (_stylesRepresentSameFont):
- new function, not yet implementable
- (_stylesRepresentSameAttributes):
- new function, not yet implementable
- (-[WebView _updateFontPanel]):
- added code to get first and last element in selection, and to use
- NodeIterator to walk through the entire selection to see if more than one
- font or set of attributes is in use. However, createNodeIterator is declared
- in DOMTraversal.h but not actually defined anywhere, so I had to prevent this
- code from actually being called.
-
-2004-04-28 Chris Blumenberg <cblu@apple.com>
-
- - Made WebArchive and WebResource conform to NSCoding and NSCopying.
-
- Reviewed by rjw.
-
- * DOM.subproj/WebDOMOperations.h: added header doc comment for WebArchive methods
- * WebView.subproj/WebArchive.h:
- * WebView.subproj/WebArchive.m:
- (-[WebArchive initWithCoder:]): new
- (-[WebArchive encodeWithCoder:]): new
- (-[WebArchive copyWithZone:]): new
- * WebView.subproj/WebResource.h:
- * WebView.subproj/WebResource.m:
- (-[WebResource init]): new
- (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): call [self init]
- (-[WebResource initWithCoder:]): new
- (-[WebResource encodeWithCoder:]): new
- (-[WebResource copyWithZone:]): new
-
-2004-04-28 John Sullivan <sullivan@apple.com>
-
- A little bit more progress in wiring up the font panel.
-
- Reviewed by Ken.
-
- * WebView.subproj/WebViewInternal.h:
- put _updateFontPanel here. Also moved _isLoading here, since it was
- already in a category named WebInternal
-
- * WebView.subproj/WebView.m:
- (-[WebView _isLoading]):
- moved into WebInternal category implementation
- (_textAttributesFromStyle):
- changed from method to function
- (_fontFromStyle):
- added, guts not filled in yet
- (-[WebView _updateFontPanel]):
- now calls these two functions (but results are always nil)
- (-[WebView setSelectedDOMRange:affinity:]):
- remove call to _updateFontPanel here since it's now called in
- the proper bottleneck
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge postDidChangeNotification]):
- call -[WebView _updateFontPanel] in addition to sending notification
- (-[WebBridge postDidChangeSelectionNotification]):
- ditto
-
-2004-04-28 John Sullivan <sullivan@apple.com>
-
- - fixed these bugs:
- <rdar://problem/3636570>: "API: [WebPreferences tabsToLinks] should be public API"
- <rdar://problem/3610597>: "API: could turn "stealth browsing" preference into API"
-
- Reviewed by Darin.
-
- I just moved the declarations and implementations from one place to another.
- (No clients in WebKit needed their #imports updated.) This confused cvs diff quite a bit.
-
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences setTabsToLinks:]):
- (-[WebPreferences tabsToLinks]):
- (-[WebPreferences setPrivateBrowsingEnabled:]):
- (-[WebPreferences privateBrowsingEnabled]):
- (-[WebPreferences _pageCacheSize]):
- (-[WebPreferences _objectCacheSize]):
- (-[WebPreferences _backForwardCacheExpirationInterval]):
- * WebView.subproj/WebPreferencesPrivate.h:
-
-2004-04-27 David Hyatt <hyatt@apple.com>
-
- Cut the time spent on an operation inside widthForNextCharacter from 17% of the function time down to less than
- 5% merely by adding a check for non-zero letter-spacing (thus avoiding double precision math in the
- common case where we just add 0 between letters).
- Reviewed by rjw
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (widthForNextCharacter):
-
-2004-04-28 John Sullivan <sullivan@apple.com>
-
- Initial plumbing to get the font panel to be updated from an editable
- WebView.
-
- Reviewed by Ken.
-
- * WebView.subproj/WebView.m:
- (-[WebView _textAttributesFromStyle:]):
- new dummy method, will need implementation
- (-[WebView _updateFontPanel]):
- new method, sets the font shown in the font panel from the current
- selection. Lots of placeholder stuff.
- (-[WebView setSelectedDOMRange:affinity:]):
- call _updateFontPanel here for now.
-
-2004-04-28 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge postDidChangeNotification]): Posts Cocoa notification when the document changes
- due to editing.
- (-[WebBridge postDidChangeSelectionNotification]): Posts Cocoa notification when the document selection
- changes.
- * WebKit.exp: Export editing notification string constants.
- * WebView.subproj/WebView.m: Define editing notification string constants.
- (-[WebView computedStyleForElement:pseudoElement:]): Add implementation.
- (-[WebView setEditingDelegate:]): Do work to set up delegate to receive notification callbacks.
- (-[WebView DOMDocument]): Simplify to just call the bridge DOMDocument. No need to jump through hoops here.
- (-[WebView insertNewline:]): Consult delegate before taking action.
- (-[WebView deleteBackward:]): Ditto.
- (-[WebView insertText:]): Ditto.
-
-2004-04-27 John Sullivan <sullivan@apple.com>
-
- Fixed broken development build.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToLayoutAcceptable]):
- updated bad variable name used only in LOG statement to match
- recent change.
-
-2004-04-27 Richard Williamson <rjw@apple.com>
-
- Fixes for:
-
- <rdar://problem/3279301>: API: WebKitErrorCannotFindPlugin and WebKitErrorCannotLoadPlugin should use PlugIn
- <rdar://problem/3278513>: API: Need API to control the size of WebHistory
- <rdar://problem/3564519>: API: please add a way to set the media type for a WebView
- <rdar://problem/3565642>: API: allow a way to extend the MIME types that a WebView will display
- <rdar://problem/3577693>: API: add ability to subclass WebView but still use it with Carbon
-
- Reviewed by Chris.
-
- * Carbon.subproj/HIWebView.h:
- * Carbon.subproj/HIWebView.m:
- (HIWebViewCreate):
- (HIWebViewCreateWithClass):
- (HIWebViewConstructor):
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
- (-[WebHistoryPrivate setHistoryAgeInDaysLimit:]):
- (-[WebHistoryPrivate historyAgeInDaysLimit]):
- (-[WebHistoryPrivate setHistoryItemLimit:]):
- (-[WebHistoryPrivate historyItemLimit]):
- (-[WebHistoryPrivate _ageLimitDate]):
- (-[WebHistoryPrivate arrayRepresentation]):
- (-[WebHistory setHistoryItemLimit:]):
- (-[WebHistory historyItemLimit]):
- (-[WebHistory setHistoryAgeInDaysLimit:]):
- (-[WebHistory historyAgeInDaysLimit]):
- * History.subproj/WebHistoryPrivate.h:
- * Misc.subproj/WebKitErrors.h:
- * Misc.subproj/WebKitErrors.m:
- (registerErrors):
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge isViewSelected:]):
- (-[WebBridge overrideMediaType]):
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebViewPrivate dealloc]):
- (+[WebView MIMETypesShownAsHTML]):
- (+[WebView setMIMETypesShownAsHTML:]):
- (-[WebView customUserAgent]):
- (-[WebView setMediaStyle:]):
- (-[WebView mediaStyle]):
- * WebView.subproj/WebViewPrivate.h:
-
-2004-04-27 David Hyatt <hyatt@apple.com>
-
- Eliminate the preferences for timed/resource layouts. Accessing them is now taking 0.5% on the cvs-base
- test, so we're just going to hardcode the values instead.
- Reviewed by mjs
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToLayoutAcceptable]):
- (-[WebFrame _isLoadComplete]):
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]):
- (-[WebPreferences _objectCacheSize]):
- * WebView.subproj/WebPreferencesPrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
-
-2004-04-27 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- Make selections draw in a more Cocoa-like way, where
- fully-selected lines draw out to the ends of lines, and
- spaces between lines are drawn with the selection color as well.
-
- * Misc.subproj/WebKitNSStringExtras.m: Use new WebCoreTextGeometry struct. No change in functionality.
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality.
- (-[WebTextRenderer drawHighlightForRun:style:geometry:]): Ditto.
- (-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior.
- (-[WebTextRenderer _CG_drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality.
- (-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]): Many changes to add the new selection drawing behavior.
- (-[WebTextRenderer _ATSU_drawRun:style:geometry:]): Use new WebCoreTextGeometry struct. No change in functionality.
-
-2004-04-26 Richard Williamson <rjw@apple.com>
-
- Added support for specifying composite operation on an
- image element, i.e.:
-
- <img composite="source-over" src="triangle.png">
- <img style="position:relative; left:-200px;" composite="destination-in" src="circle.png">
-
- This feature was requested by the dashboard guys. They can use it to apply
- transparency masks to widgies.
-
-
- Reviewed by Ken.
-
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer initWithMIMEType:]):
- (-[WebImageRenderer initWithData:MIMEType:]):
- (-[WebImageRenderer initWithContentsOfFile:]):
- (-[WebImageRenderer copyWithZone:]):
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
- (-[WebImageRenderer drawImageInRect:fromRect:]):
- (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:]):
-
-2004-04-26 Chris Blumenberg <cblu@apple.com>
-
- More header doc changes after John's review.
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebResource.h:
-
-2004-04-26 Chris Blumenberg <cblu@apple.com>
-
- * WebView.subproj/WebDataSourcePrivate.h: added some header doc comments
- * WebView.subproj/WebFramePrivate.h: fixed header doc typo
-
-2004-04-24 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- * Misc.subproj/WebNSURLExtras.m: (hexDigit): Use capitalized hex, not lowercase, for consistency
- with similar functions in WebCore and what other web browsers do.
-
-2004-04-23 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed <rdar://problem/3627362>: "bad access with libgmalloc in -[_WebCoreHistoryProvider containsItemForURLUnicode:length:]"
-
- * History.subproj/WebHistory.m:
- (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Add range checks so we
- don't overrun the buffer while looking for slashes.
-
-2004-04-23 Chris Blumenberg <cblu@apple.com>
-
- Reviewed by John
-
- Added header doc comments to proposed API's.
-
- * WebView.subproj/WebArchive.h:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebResource.h:
-
-=== Safari-138 ===
-
-2004-04-23 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Added some plumbing for applying styles.
-
- * DOM.subproj/DOMExtensions.h: Copied from WebCore.
- * WebView.subproj/WebView.m:
- (-[WebView DOMDocument]): Added new helper.
- (-[WebView styleDeclarationWithText:]): Added new helper.
- * WebView.subproj/WebViewPrivate.h: Declare above methods.
-
-2004-04-22 Richard Williamson <rjw@apple.com>
-
- Updates to plugin binding APIs.
- Updates to Java plugin APIs.
- Transparency fix for Dashboard.
- Reviewed by John and Greg Bolsinga.
-
- * Plugins.subproj/WebPluginJava.h: Added.
- New API for Java plugin.
-
- * Plugins.subproj/npfunctions.h:
- * Plugins.subproj/npruntime.h:
- (_NPString::):
- (_NPString::_NPVariant::):
- * Plugins.subproj/npsap.h: Added.
- New API for plugin bindings.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView drawRect:]):
- Update for Dashboard. View must fill with transparency when not
- drawing background.
-
- * copy-webcore-files-to-webkit:
-
-2004-04-22 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- More work to bring code up to date with the latest API proposal. Note that
- all of the replaceXXX methods below now operate on the current selection, so
- the method implementations have been simplifed accordingly.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _replaceSelectionWithArchive:]): New name for _replaceSelectionWithWebArchive.
- * WebView.subproj/WebDataSourcePrivate.h: Ditto.
- * WebView.subproj/WebDefaultEditingDelegate.m:
- (-[WebDefaultEditingDelegate webViewShouldBeginEditing:inDOMRange:]): Added inDOMRange: parameter.
- (-[WebDefaultEditingDelegate webViewShouldEndEditing:inDOMRange:]): Ditto.
- (-[WebDefaultEditingDelegate webView shouldChangeSelectedDOMRange:toDOMRange:proposedRange affinity:stillSelecting:]):
- Missed adding affinity in last patch.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _pasteFromPasteboard:]): Call old method with new name: _replaceSelectionWithArchive
- * WebView.subproj/WebView.m:
- (-[WebView replaceSelectionWithNode:]): New version of insertNode:replacingDOMRange:
- (-[WebView replaceSelectionWithText:]): New version of insertText:replacingDOMRange:
- (-[WebView replaceSelectionWithMarkupString:]): New version of insertMarkupString:replacingDOMRange:
- (-[WebView replaceSelectionWithArchive:]): New version of insertWebArchive:replacingDOMRange:
- (-[WebView deleteSelection]): New version of deleteDOMRange:
- (-[WebView applyStyle:]): New version of applyStyle:toElementsInDOMRange:
- * WebView.subproj/WebViewPrivate.h:
-
-2004-04-22 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Adds the notion of selection affinity to the editing API, bringing it up to
- date with the latest proposal.
-
- * WebView.subproj/WebView.m:
- (-[WebView _alterCurrentSelection:direction:granularity:]): Pass selection affinity
- to the delegate. We can just pass the current one since this does not change with arrow keys.
- (-[WebView setSelectedDOMRange:affinity:]): Set the affinity on the selection.
- (-[WebView selectionAffinity]): New accessor.
- (-[WebView insertNode:replacingDOMRange:]): Change to pass selection affinity to call
- to set selection. This is just to get the code to compile for now, since this method
- will soon be removed in place of a similar one from the latest proposal that always
- works on the current selection.
- (-[WebView insertText:replacingDOMRange:]): Ditto.
- (-[WebView insertMarkupString:replacingDOMRange:]): Ditto.
- (-[WebView insertWebArchive:replacingDOMRange:]): Ditto.
- (-[WebView deleteDOMRange:]): Ditto.
- (-[WebView applyStyle:toElementsInDOMRange:]): Ditto.
- * WebView.subproj/WebViewPrivate.h: Add selection affinity to API declarations as needed.
-
-2004-04-22 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Work around this bug:
- <rdar://problem/3630640>: "Calling interpretKeyEvents: in a custom text view can fail to process keys right after app startup"
-
- * WebView.subproj/WebView.m:
- (-[WebView _editingKeyDown:]): The issue is with a message to nil in AppKit
- key binding manager code. Add call to [NSKeyBindingManager sharedKeyBindingManager] to make
- sure the not-supposed-to-be-nil object is created before calling interpretKeyEvents:.
-
-2004-04-22 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- Added calls to ensure caret visibility after the editing action is done.
-
- * WebView.subproj/WebView.m:
- (-[WebView _alterCurrentSelection:direction:granularity:]):
- (-[WebView insertNewline:]):
- (-[WebView deleteBackward:]):
- (-[WebView insertText:]):
-
-2004-04-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3605209>: "HITLIST: REGRESSION (131-132): iframes/frames no longer dump on layout tests"
-
- Reviewed by hyatt.
-
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): the encoding was not being set in the about:blank case. Call receivedData:textEncodingName: as we did in the past to set it.
-
-2004-04-20 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- Added implementations for these methods.
-
- * WebView.subproj/WebView.m:
- (-[WebView moveUpAndModifySelection:]):
- (-[WebView moveWordLeft:]):
- (-[WebView moveWordLeftAndModifySelection:]):
- (-[WebView moveWordRight:]):
- (-[WebView moveWordRightAndModifySelection:]):
-
-2004-04-20 John Sullivan <sullivan@apple.com>
-
- - fixed <rdar://problem/3622393>: When in stealth mode, visited webpage
- contents should not be cached to disk
-
- Reviewed by Ken.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate willCacheResponse:]):
- if will cache to disk and in stealth mode, replace cache response with
- an identical one that won't cache to disk.
-
-2004-04-19 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- * WebView.subproj/WebView.m:
- (-[WebView moveDown:]): Added implementation.
- (-[WebView moveUp:]): Added implementation.
-
-2004-04-19 Chris Blumenberg <cblu@apple.com>
-
- Added support for pasting frames via WebArchives.
-
- Reviewed by kocienda.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _addSubframeArchives:]): renamed, now allows subframe archives to be added at anytime
- (-[WebDataSource _popSubframeArchiveWithName:]): renamed, now deletes the returned subframe to consume less memory
- (-[WebDataSource _replaceSelectionWithWebArchive:]): added support for subframes
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed methods
- (-[WebFrame _loadURL:intoChild:]): ditto
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation loadArchive]): ditto
-
-=== Safari-137 ===
-
-2004-04-16 Richard Williamson <rjw@apple.com>
-
- Added an SPI to allow ObjC instances to be easily bound to
- JS. This is needed by the dashboard guys for their prototyping.
- Eventually they will use new API.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebView.m:
- (-[WebView _bindObject:withName:toFrame:]):
- * WebView.subproj/WebViewPrivate.h:
-
-2004-04-16 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3587599>: Mail Page, Web Archives don't preserve subframes
- Moved code that assembled subresource URLs from DOM nodes from WebCore to WebKit.
-
- Reviewed by rjw.
-
- * DOM.subproj/DOMExtensions.h: copied from WebCore
- * DOM.subproj/WebDOMOperations.h:
- * DOM.subproj/WebDOMOperations.m:
- (-[DOMNode webArchive]): call renamed methods
- (-[DOMNode markupString]): ditto
- (-[DOMNode _URLsFromSelectors:]): new, returns array of URLs given selectors
- (-[DOMNode _subresourceURLs]): new, base class does nothing, subclasses call _URLsFromSelectors with URL selectors
- (-[DOMDocument webFrame]): new
- (-[DOMRange webArchive]): call renamed methods
- (-[DOMRange markupString]): ditto
- (-[DOMHTMLBodyElement _subresourceURLs]): new
- (-[DOMHTMLInputElement _subresourceURLs]): new
- (-[DOMHTMLLinkElement _subresourceURLs]): new
- (-[DOMHTMLScriptElement _subresourceURLs]): new
- (-[DOMHTMLImageElement _subresourceURLs]): new
- (-[DOMHTMLEmbedElement _subresourceURLs]): new
- (-[DOMHTMLObjectElement _subresourceURLs]): new
- (-[DOMHTMLParamElement _subresourceURLs]): new
- (-[DOMHTMLTableElement _subresourceURLs]): new
- (-[DOMHTMLTableCellElement _subresourceURLs]): new
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebArchive.h:
- * WebView.subproj/WebArchive.m:
- (-[WebArchivePrivate dealloc]): release new subframeArchives ivar
- (-[WebArchive initWithMainResource:subresources:subframeArchives:]): take subframeArchives
- (-[WebArchive _initWithPropertyList:]): new, recursively creates WebArchives
- (-[WebArchive initWithData:]): call _initWithPropertyList
- (-[WebArchive subframeArchives]): new
- (-[WebArchive _propertyListRepresentation]): new, recursively creates property lists of WebArchives
- (-[WebArchive data]): call _propertyListRepresentation
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate saveResource]): call renamed methods
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]): release new pendingSubframeArchives ivar
- (-[WebDataSource _archiveWithMarkupString:nodes:]): renamed and reimplemented, handles subframes
- (-[WebDataSource _archive]): new
- (-[WebDataSource _setPendingSubframeArchives:]): new
- (-[WebDataSource _archiveForFrameName:]): new
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadArchive:]): handle subframes
- (-[WebFrame _loadRequest:subresources:subframeArchives:]): ditto
- (-[WebFrame _loadURL:intoChild:]): use the subframe archive if we have it
- (-[WebFrame loadRequest:]): call renamed methods
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation loadWebArchive]): call renamed methods and handle subframes
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _selectedArchive:]): call renamed methods
- (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebImageRepresentation.h:
- * WebView.subproj/WebImageRepresentation.m: instead of storing some items from the data source, just store the data source
- (-[WebImageRepresentation dealloc]): removed use of deleted ivars
- (-[WebImageRepresentation URL]): use dataSource instead of ivar
- (-[WebImageRepresentation doneLoading]): use new boolean ivar
- (-[WebImageRepresentation setDataSource:]): store the data source
- (-[WebImageRepresentation receivedData:withDataSource:]): use dataSource instead of ivar
- (-[WebImageRepresentation receivedError:withDataSource:]): ditto
- (-[WebImageRepresentation finishedLoadingWithDataSource:]): ditto
- (-[WebImageRepresentation title]): ditto
- (-[WebImageRepresentation data]): ditto
- (-[WebImageRepresentation filename]): ditto
- (-[WebImageRepresentation archive]): ditto
- * WebView.subproj/WebResource.h:
- * WebView.subproj/WebResource.m:
- (-[WebResourcePrivate dealloc]): release new frame name ivar
- (-[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]): take a frame name
- (-[WebResource frameName]): new
- (-[WebResource _initWithPropertyList:]): handle frame name
- (-[WebResource _initWithCachedResponse:originalURL:]): call renamed methods
- (-[WebResource _propertyListRepresentation]):
- * WebView.subproj/WebResourcePrivate.h: handle frame name
-
-2004-04-15 David Hyatt <hyatt@apple.com>
-
- Make sure isOpaque returns NO when the WebHTMLVIew doesn't draw its background.
- Reviewed by darin
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView isOpaque]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView isOpaque]):
-
-2004-04-15 John Sullivan <sullivan@apple.com>
-
- * WebView.subproj/WebPreferencesPrivate.h:
- added comments
-
-2004-04-14 Richard Williamson <rjw@apple.com>
-
- Updated fix for 3576315. Don't hardcode 22 as the titlebar
- height. (Note, other places in CarbonWindowFrame DO hardcode
- window geometry information, yuck!).
-
- Reviewed by Hyatt.
-
- * Carbon.subproj/CarbonWindowFrame.m:
-
-2004-04-14 John Sullivan <sullivan@apple.com>
-
- - changed stealth mode preference name from "historyIsFrozen"
- to "privateBrowsingEnabled"
-
- Reviewed by Darin.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]):
- updated for method name change
-
- * WebView.subproj/WebPreferences.m:
- changed preference key name
- (+[WebPreferences initialize]):
- updated for preference key name change
- (-[WebPreferences setPrivateBrowsingEnabled:]):
- changed name from setHistoryIsFrozen:
- (-[WebPreferences privateBrowsingEnabled]):
- changed name from historyIsFrozen:
-
- * WebView.subproj/WebPreferencesPrivate.h:
- changed declared method names
-
- * English.lproj/StringsNotToBeLocalized.txt:
- updated for this and other recent changes
-
-2004-04-13 Chris Blumenberg <cblu@apple.com>
-
- - Added WebElementDOMNodeKey as a potential API so that clients can get the node from an element dictionary.
- - Removed WebElementIsEditableKey. This functionality is available via [DOMNode isContentEditable].
-
- Reviewed by rjw.
-
- * DOM.subproj/WebDOMOperations.h:
- * DOM.subproj/WebDOMOperations.m:
- (-[DOMDocument URLWithRelativeString:]): new potential API
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): indenting tweak
- (-[WebDefaultUIDelegate copyImageToClipboard:]): use WebElementDOMNodeKey
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _handleMouseDragged:]): use WebElementDOMNodeKey
- (-[WebHTMLView _dragOperationForDraggingInfo:]): use isContentEditable
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.h:
-
-2004-04-13 Chris Blumenberg <cblu@apple.com>
-
- Fixed deployment build failure.
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _handleMouseDragged:]): removed use of fileWrapper variable
-
-2004-04-12 Chris Blumenberg <cblu@apple.com>
-
- Factored out WebArchive to DOM code so that it could be used by both [WebHTMLView _pasteFromPasteboard:] and [WebView insertWebArchive:replacingDOMRange:].
-
- Reviewed by kocienda.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]): moved from WebHTMLView
- (-[WebDataSource _replaceSelectionWithImageResource:]): ditto
- (-[WebDataSource _replaceSelectionWithWebArchive:]): ditto
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _replaceSelectionWithMarkupString:]): renamed
- (-[WebHTMLView _pasteFromPasteboard:]): call renamed methods
- * WebView.subproj/WebView.m:
- (-[WebView insertMarkupString:replacingDOMRange:]): call renamed methods
- (-[WebView insertWebArchive:replacingDOMRange:]): have data source handle the archive instead of the bridge
-
-2004-04-12 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Dave
-
- Added execCommand support for cut/copy/paste.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge issueCutCommand]): Glue for calling from WebCore to do a cut in Cocoa.
- (-[WebBridge issueCopyCommand]): Same as above, but for copy.
- (-[WebBridge issuePasteCommand]): Same as above, but for paste.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView copy:]): Move this to private implementation category so the bridge can see it.
- (-[WebHTMLView cut:]): Ditto.
- (-[WebHTMLView paste:]): Ditto.
- * WebView.subproj/WebHTMLViewPrivate.h: Move copy;, cut:, and paste: to private implementation
- category so the bridge can see it.
- * WebView.subproj/WebView.m:
- (-[WebView copy:]): Implemented by calling WebHTMLView to do the work.
- (-[WebView cut:]): Ditto.
- (-[WebView paste:]): Ditto.
- * WebView.subproj/WebViewPrivate.h: Added all the NSReponder methods we plan to implement as
- part of the WebKit editing API.
-
-2004-04-09 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Stubbed in the entire WebKit editing API, improving some
- methods already present in minor ways, and adding those
- methods not yet present.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge editingKeyDown:]):
- * WebView.subproj/WebDefaultEditingDelegate.m:
- (-[WebDefaultEditingDelegate webView:shouldChangeSelectedDOMRange:toDOMRange:stillSelecting:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _pasteMarkupString:]):
- * WebView.subproj/WebView.m:
- (-[WebView _alterCurrentSelection:direction:granularity:]):
- (-[WebView _currentSelectionIsEditable]):
- (-[WebView computedStyleForElement:pseudoElement:]):
- (-[WebView _editingKeyDown:]):
- (-[WebView setEditable:]):
- (-[WebView isEditable]):
- (-[WebView setTypingStyle:]):
- (-[WebView typingStyle]):
- (-[WebView setSmartInsertDeleteEnabled:]):
- (-[WebView smartInsertDeleteEnabled]):
- (-[WebView setContinuousSpellCheckingEnabled:]):
- (-[WebView isContinuousSpellCheckingEnabled]):
- (-[WebView spellCheckerDocumentTag]):
- (-[WebView undoManager]):
- (-[WebView insertNode:replacingDOMRange:]):
- (-[WebView insertText:replacingDOMRange:]):
- (-[WebView insertMarkupString:replacingDOMRange:]):
- (-[WebView insertWebArchive:replacingDOMRange:]):
- (-[WebView deleteDOMRange:]):
- (-[WebView applyStyle:toElementsInDOMRange:]):
- (-[WebView centerSelectionInVisibleArea:]):
- (-[WebView moveBackward:]):
- (-[WebView moveBackwardAndModifySelection:]):
- (-[WebView moveDown:]):
- (-[WebView moveDownAndModifySelection:]):
- (-[WebView moveForward:]):
- (-[WebView moveForwardAndModifySelection:]):
- (-[WebView moveLeft:]):
- (-[WebView moveLeftAndModifySelection:]):
- (-[WebView moveRight:]):
- (-[WebView moveRightAndModifySelection:]):
- (-[WebView moveToBeginningOfDocument:]):
- (-[WebView moveToBeginningOfLine:]):
- (-[WebView moveToBeginningOfParagraph:]):
- (-[WebView moveToEndOfDocument:]):
- (-[WebView moveToEndOfLine:]):
- (-[WebView moveToEndOfParagraph:]):
- (-[WebView moveUp:]):
- (-[WebView moveUpAndModifySelection:]):
- (-[WebView moveWordBackward:]):
- (-[WebView moveWordBackwardAndModifySelection:]):
- (-[WebView moveWordForward:]):
- (-[WebView moveWordForwardAndModifySelection:]):
- (-[WebView moveWordLeft:]):
- (-[WebView moveWordLeftAndModifySelection:]):
- (-[WebView moveWordRight:]):
- (-[WebView moveWordRightAndModifySelection:]):
- (-[WebView pageDown:]):
- (-[WebView pageUp:]):
- (-[WebView scrollLineDown:]):
- (-[WebView scrollLineUp:]):
- (-[WebView scrollPageDown:]):
- (-[WebView scrollPageUp:]):
- (-[WebView selectAll:]):
- (-[WebView selectParagraph:]):
- (-[WebView selectLine:]):
- (-[WebView selectWord:]):
- (-[WebView copy:]):
- (-[WebView cut:]):
- (-[WebView paste:]):
- (-[WebView copyFont:]):
- (-[WebView pasteFont:]):
- (-[WebView delete:]):
- (-[WebView pasteAsPlainText:]):
- (-[WebView pasteAsRichText:]):
- (-[WebView changeFont:]):
- (-[WebView changeAttributes:]):
- (-[WebView changeDocumentBackgroundColor:]):
- (-[WebView changeColor:]):
- (-[WebView alignCenter:]):
- (-[WebView alignJustified:]):
- (-[WebView alignLeft:]):
- (-[WebView alignRight:]):
- (-[WebView indent:]):
- (-[WebView insertTab:]):
- (-[WebView insertBacktab:]):
- (-[WebView insertNewline:]):
- (-[WebView insertParagraphSeparator:]):
- (-[WebView changeCaseOfLetter:]):
- (-[WebView uppercaseWord:]):
- (-[WebView lowercaseWord:]):
- (-[WebView capitalizeWord:]):
- (-[WebView deleteForward:]):
- (-[WebView deleteBackward:]):
- (-[WebView deleteBackwardByDecomposingPreviousCharacter:]):
- (-[WebView deleteWordForward:]):
- (-[WebView deleteWordBackward:]):
- (-[WebView deleteToBeginningOfLine:]):
- (-[WebView deleteToEndOfLine:]):
- (-[WebView deleteToBeginningOfParagraph:]):
- (-[WebView deleteToEndOfParagraph:]):
- (-[WebView complete:]):
- (-[WebView checkSpelling:]):
- (-[WebView showGuessPanel:]):
- (-[WebView performFindPanelAction:]):
- (-[WebView startSpeaking:]):
- (-[WebView stopSpeaking:]):
- (-[WebView insertText:]):
- * WebView.subproj/WebViewPrivate.h:
-
-2004-04-09 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - added "transparent mode"
-
- * WebView.subproj/WebFrameInternal.h: Added. Contains _updateDrawsBackground.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _makeDocumentView]): Call _updateDrawsBackground to tell the newly created
- KHTMLView whether to draw a background or not.
- (-[WebFrame _setState:]): Don't tell the scroll view to start drawing background if the
- WebView is not supposed to draw a background.
- (-[WebFrame _updateDrawsBackground]): Call setDrawsBackground: on the bridge, and do the
- same for all subframes.
-
- * WebView.subproj/WebFrameView.m: (-[WebFrameView setFrameSize:]): Only call setDrawsBackground:YES
- on the scroll view if the WebView has drawsBackground set to YES.
-
- * WebView.subproj/WebViewPrivate.h: Added new proposed API, setDrawsBackground and drawsBackground.
- Also added drawsBackground boolean to private structure.
- * WebView.subproj/WebView.m:
- (-[WebView _commonInitializationWithFrameName:groupName:]): Set drawsBackground to YES by default.
- (-[WebView setDrawsBackground:]): Added. Sets boolean and calls _updateDrawsBackground to update
- the flag for each frame.
- (-[WebView drawsBackground]): Added. Returns value of boolean.
- (-[WebView _bridgeForCurrentSelection]): Tweaked comment for no good reason.
-
- * WebView.subproj/WebViewInternal.h: Added, but empty for the moment.
- * WebView.subproj/WebFramePrivate.h: Tweaked a bit.
-
-2004-04-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3616873>: support for pasting and drag and dropping of URLS to editable WebViews
- <rdar://problem/3546417>: support for pasting and drag and dropping of images to editable WebViews
-
- Reviewed by rjw.
-
- * DOM.subproj/WebDOMOperations.h:
- * DOM.subproj/WebDOMOperations.m:
- (-[DOMNode webArchive]): renamed from "archive" because "archive" collides with DOMHTMLObjectElement's method
- (-[DOMRange webArchive]): ditto
- * Misc.subproj/WebNSPasteboardExtras.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeImage:URL:title:archive:]): take just an archive instead of an HTML string and file wrapper
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragImage:archive:rect:URL:title:event:]): take just an archive instead of an HTML string and file wrapper
- * WebView.subproj/WebDataProtocol.h:
- * WebView.subproj/WebDataProtocol.m:
- (+[NSURL _web_uniqueWebDataURL]): new
- (+[NSURL _web_uniqueWebDataURLWithRelativeString:]): new
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeImage
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]): use _web_uniqueWebDataURL for creating a URL
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _pasteImageResource:]): new
- (-[WebHTMLView _pasteFromPasteboard:]): renamed, now handles images and URLs
- (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage
- (-[WebHTMLView paste:]): call renamed _pasteFromPasteboard
- (-[WebHTMLView concludeDragOperation:]): call renamed _pasteFromPasteboard
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebImageRepresentation.h:
- * WebView.subproj/WebImageRepresentation.m:
- (-[WebImageRepresentation archive]): new
- * WebView.subproj/WebImageView.m:
- (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeImage
- (-[WebImageView mouseDragged:]): call renamed _web_dragImage
-
-=== Safari-136 ===
-
-2004-04-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3548274>: API: DOM API for WebKit clients
-
- Reviewed by kocienda.
-
- * DOM.subproj/DOM.h: copied from WebCore
- * WebKit.pbproj/project.pbxproj: made our DOM headers public!
-
-2004-04-08 Chris Blumenberg <cblu@apple.com>
-
- Moved WebArchive to its own file.
-
- Reviewed by kocienda.
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebArchive.h: Added.
- * WebView.subproj/WebArchive.m: Added.
- (-[WebArchive data]): renamed from dataRepresentation
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebHTMLRepresentation.m:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed [WebArchive data]
- * WebView.subproj/WebResource.h:
- * WebView.subproj/WebResource.m:
-
-2004-04-07 Chris Blumenberg <cblu@apple.com>
-
- Created WebDOMOperations which are WebKit-specific categories on DOM objects.
-
- Reviewed by rjw.
-
- * DOM.subproj/DOMExtensions.h:
- * DOM.subproj/WebDOMOperations.h: Added.
- * DOM.subproj/WebDOMOperations.m: Added.
- (-[DOMNode _bridge]): new
- (-[DOMNode archive]): new
- (-[DOMNode markupString]): new
- (-[DOMRange _bridge]): new
- (-[DOMRange archive]): new
- (-[DOMRange markupString]): new
- (-[DOMHTMLImageElement image]):
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge webFrame]): new
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _archiveWithMarkupString:subresourceURLStrings:]): moved from WebHTMLRepresentation
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate copyImageToClipboard:]): call markupString on the node
- * WebView.subproj/WebDocumentPrivate.h:
- * WebView.subproj/WebFrame.m:
- (+[WebFrame frameForDOMDocument:]): new
- (-[WebFrame loadArchive:]): renamed
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- * WebView.subproj/WebHTMLRepresentationPrivate.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _selectedArchive:]): renamed
- (-[WebHTMLView _handleMouseDragged:]): called renamed methods
-
-2004-04-07 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- * DOM.subproj/DOMCSS.h: Updated from WebCore.
-
-2004-04-07 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin and Dave (many weeks ago....I am so ashamed for not landing)
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge expiresTimeForResponse:]): Now adds in the difference between
- the Mac OS X epoch and the "standard" unix epoch when passing back a time
- that WebCore will use for its cache expiration determinations.
-
-2004-04-07 Richard Williamson <rjw@apple.com>
-
- Fix for 3604388. The runtime version check (_CFExecutableLinkedOnOrAfter) used by many of
- our frameworks doesn't work for CFM apps. So, conditional panther bugs fixes aren't
- being pickup by CFM apps that use WebKit, specifically Contribute. This particular radar
- describes a problem that was conditionally fixed in the AppKit for panther. The work-around
- is to force NSBitmapImageRep to execute to conditional code.
-
- Reviewed by Maciej.
-
- * Carbon.subproj/CarbonUtils.m:
- (WebInitForCarbon):
-
-2004-04-06 Richard Williamson <rjw@apple.com>
-
- Fixed 3510805. Only release pool in timer if the current nesting level of the
- pool matches the nesting level when the pool was created.
-
- Reviewed by Chris.
-
- * Carbon.subproj/CarbonUtils.m:
- (getNumPools):
- (WebInitForCarbon):
- (PoolCleaner):
-
-2004-04-06 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3613974>: remove "to Clipboard" from context menus because it is redundant
-
- Reviewed by john.
-
- * English.lproj/Localizable.strings:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate menuItemWithTag:]):
-
-2004-04-06 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Dave
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge issueUndoCommand]): New method. Forwards call to the undo manager. Added
- to support undo called via Javascript execCommand.
- (-[WebBridge issueRedoCommand]): Ditto.
-
-2004-04-05 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3612580>: SPI: WebPlugin selection
-
- Reviewed by kocienda.
-
- * Plugins.subproj/WebPlugin.h: extended SPI for selection
- * Plugins.subproj/WebPluginContainer.h: ditto
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController selectionColor]): new, calls [WebCoreBridge selectionColor]
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge setIsSelected:forView:]): new, calls [WebPlugin setIsSelected:]
- (-[WebBridge isViewSelected:]): new, calls [WebPlugin isSelected]
-
-2004-04-02 Chris Blumenberg <cblu@apple.com>
-
- Forgot to add the WebKit copy of DOMExtensions.h.
-
- * DOM.subproj/DOMExtensions.h: Added.
-
-2004-04-02 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dave.
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences historyIsFrozen]):
- take out OMIT_TIGER_FEATURES ifdeffing, since if we turn this into API
- then we'll probably want it to work in Panther also. To protect Safari users,
- Safari now explicitly sets historyIsFrozen to NO when starting up in Panther.
-
- * English.lproj/StringsNotToBeLocalized.txt:
- updated for recent changes
-
-2004-04-02 Chris Blumenberg <cblu@apple.com>
-
- Moved the DOM extensions to their own headers
-
- Reviewed by kocienda.
-
- * DOM.subproj/DOM.h: changed from WebCore
- * DOM.subproj/DOMHTML.h: ditto
- * WebKit.pbproj/project.pbxproj: added DOMExtensions.h
- * copy-webcore-files-to-webkit: copy DOMExtensions.h
-
-=== Safari-135 ===
-
-2004-04-01 Richard Williamson <rjw@apple.com>
-
- Fixed 3609493. Don't remove the plugin's view until after
- sending pluginDestroy. This change was requested by Greg
- and is needed in the Lavender update.
-
- Reviewed by Greg Bolsinga.
-
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController destroyAllPlugins]):
- * Plugins.subproj/npruntime.h:
-
-2004-03-31 John Sullivan <sullivan@apple.com>
-
- - fixed <rdar://problem/3577917>: API: mechanism for displaying error
- page for failed page load
-
- This was not commented on for a week in macosx-api-reviewers, so it
- has the silent rubber stamp of approval.
-
- Note that it isn't guarded by "Tiger only" availability macros because
- we (probably) want to use it in Panther for Safari. Maybe what we should
- do is guard the API with "Tiger only" macros but add an SPI version
- that Safari uses?
-
- Reviewed by Dave.
-
- * WebView.subproj/WebDataSource.h:
- moved unreachableURL to here
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource unreachableURL]):
- moved this from private category to main section
-
- * WebView.subproj/WebDataSourcePrivate.h:
- removed unreachableURL from here
-
- * WebView.subproj/WebFrame.h:
- moved loadAlternateHTMLString... to here
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
- moved this from private category to main section
-
- * WebView.subproj/WebFramePrivate.h:
- removed unreachableURL from here
-
-2004-03-31 Richard Williamson <rjw@apple.com>
-
- Changed to reflect NP_runtime.h to npruntime.h.
-
- * copy-webcore-files-to-webkit:
-
-2004-03-31 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences historyIsFrozen]):
- always return NO on Panther and older, so you can't get into a state
- where the WebKit pref is invisibly set and affecting Safari.
-
-2004-03-31 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebHTMLView.m: Whitespace tweaks.
-
-2004-03-30 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3604391>: Plug-in context menus (Flash) don't work in Carbon WebKit applications (e.g., CarbonWeb)
-
- Reviewed by rjw.
-
- * Carbon.subproj/HIWebView.m:
- (ContextMenuClick): instead of calling menuForEvent (which is not implemented on our plug-in view) call rightMouseDown and let AppKit handle the rest
-
-2004-03-29 John Sullivan <sullivan@apple.com>
-
- - some support for "Stealth Browsing"; add a preference that
- controls whether a history item is added when a page is visited.
- This is called "historyIsFrozen" for now, but I wouldn't be
- surprised to see this name change.
-
- Reviewed by Dave.
-
- * WebView.subproj/WebPreferencesPrivate.h:
- new historyIsFrozen, setHistoryIsFrozen: methods
-
- * WebView.subproj/WebPreferences.m:
- new WebKitHistoryIsFrozenPreferenceKey
- (+[WebPreferences initialize]):
- set initial value of WebKitHistoryIsFrozenPreferenceKey
- (-[WebPreferences setHistoryIsFrozen:]):
- set value of WebKitHistoryIsFrozenPreferenceKey
- (-[WebPreferences historyIsFrozen]):
- read value of WebKitHistoryIsFrozenPreferenceKey
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]):
- don't add item to history if history is frozen
-
-2004-03-29 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3559178>: navigator.language always returns "en"
-
- * WebCoreSupport.subproj/WebViewFactory.m: (-[WebViewFactory defaultLanguageCode]):
- Call +[NSUserDefaults _web_preferredLanguageCode] rather than returning "en".
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2004-03-26 John Sullivan <sullivan@apple.com>
-
- - fixed <rdar://problem/3576334>: Printing "empty" page gives print error,
- leaves browser window UI broken
-
- Reviewed by Dave.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView knowsPageRange:]):
- AppKit printing mechanism can't handle the case where you tell it there is
- nothing at all to print, so when we hit that case we give it a degenerate
- 1-pixel rect to print. This prints a blank page (with correctly-placed
- header & footer if so configured), which matches other browsers' behavior for
- this page.
-
- * Plugins.subproj/npruntime.h:
- cvs keeps thinking I've removed a blank line from this auto-copied file.
- Richard said to just check it in to see if it stops doing this.
-
-=== Safari-134 ===
-
-2004-03-26 John Sullivan <sullivan@apple.com>
-
- - fixed the following bugs:
-
- <rdar://problem/3601630>: command-modified keypresses that would activate links are ignored by WebKit
- <rdar://problem/3601604>: WebActionModifierFlagsKey not set correctly for modified keypresses that activate links
- <rdar://problem/3544946>: cmd-return should open a link in a new tab
-
- Reviewed by Darin.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
- Pass modifier flags always, not just for mouse events. This fixes 3601604.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView performKeyEquivalent:]):
- Give the bridge a chance to intercept command-modified keypresses. This fixes 3601630.
-
- Together these two changes fix 3544946.
-
-2004-03-25 David Hyatt <hyatt@apple.com>
-
- Implement the rest of the search field.
-
- Implement onscroll at the document level.
- Reviewed by darin
-
- * English.lproj/Localizable.strings:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[NSMenu addItemWithTitle:action:tag:]):
- (-[WebViewFactory submitButtonDefaultLabel]):
- (-[WebViewFactory cellMenuForSearchField]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _frameOrBoundsChanged]):
- (-[WebHTMLView viewDidMoveToWindow]):
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2004-03-25 Richard Williamson <rjw@apple.com>
-
- Netscape plugin API header cleanup.
-
- Replaced our hacked up version of npapi.h with the
- "official SDK" npapi.h. Moved our changes to the new
- npfunctions.h. npfunctions.h really replaces what was defined in
- the Netscape npupp.h header. However, rather than use the "official SDK"
- npupp.h I think the cleaner npfunctions.h is better. npupp.h actually
- has a bunch of Mac classic specific stuff that is no longer needed.
-
- Copied npruntime.h to WebKit using Ken's copy-o-matic mechanism.
-
- Made npapi.h, npruntime.h, and npfunctions.h SPI. With a bit
- more consideration they will become API. They will also eventually be made
- available for other platforms/vendors are mozilla.org.
-
- Reviewed by Ken.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.h:
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream dealloc]):
- (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebNetscapePluginPackage.h:
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
- * Plugins.subproj/npapi.h:
- * Plugins.subproj/npruntime.h: Added.
- * WebKit.pbproj/project.pbxproj:
- * copy-webcore-files-to-webkit:
-
-2004-03-24 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3566805>: REGRESSION: When the subject of mailto is 2 byte Safari failed to send mail address and subject to Mail.app
-
- * Misc.subproj/WebNSURLExtras.m: (applyHostNameFunctionToMailToURLString): Update to handle hostnames
- that end just before a '?' since a '?' ends the entire part of the URL that can contain hostnames.
- Also change the logic so that the '?' will successfully end the search.
-
-2004-03-24 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by me
-
- * DOM.subproj/DOMHTML.h: Checking in copied over version of
- modified file.
-
-2004-03-23 David Hyatt <hyatt@apple.com>
-
- Fix for 3513627, HTML mail prints upside down occasionally. Change printing so that it never resizes the
- WebHTMLView when formatting for printing. When computing page rects, instead of using the view's bounds,
- use the root layer's width instead.
- Reviewed by darin
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView knowsPageRange:]):
-
-=== Safari-133 ===
-
-2004-03-17 David Hyatt <hyatt@apple.com>
-
- Expose ageLimitDate so that the autocomplete code can access it.
- Reviewed by john
-
- * History.subproj/WebHistory.m:
- (-[WebHistory ageLimitDate]):
- * History.subproj/WebHistoryPrivate.h:
-
-2004-03-17 Richard Williamson <rjw@apple.com>
-
- Fixed 3591667. Plugin view is added to view hierarchy before calling init.
-
- Reviewed by Ken.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addSubview:]):
-
-2004-03-16 Darin Adler <darin@apple.com>
-
- * DOM.subproj/DOMHTML.h: Updated from WebCore.
- * DOM.subproj/DOMRange.h: Ditto.
-
-2004-03-16 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - update for new DOM namespacing and header organization
-
- * DOM.subproj/DOM.h: Changed to include the other DOM headers.
- * DOM.subproj/DOMCSS.h: Added.
- * DOM.subproj/DOMCore.h: Added.
- * DOM.subproj/DOMEvents.h: Added.
- * DOM.subproj/DOMHTML.h: Added.
- * DOM.subproj/DOMRange.h: Added.
- * DOM.subproj/DOMStylesheets.h: Added.
- * DOM.subproj/DOMTraversal.h: Added.
- * DOM.subproj/DOMViews.h: Added.
- * WebKit.pbproj/project.pbxproj: Added new files.
-
- * WebView.subproj/WebDefaultEditingDelegate.m:
- (-[WebDefaultEditingDelegate webView:shouldApplyStyle:toElementsInDOMRange:]):
- (-[WebDefaultEditingDelegate webView:shouldChangeTypingStyle:toStyle:]):
- Change class names from CSS to DOMCSS.
- * WebView.subproj/WebViewPrivate.h: Ditto.
-
- * copy-webcore-files-to-webkit: Add new files.
-
-2004-03-15 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Fix for this bug:
-
- <rdar://problem/3588717>: REGRESSION (125-131u): Tabbing to links and tabbing in bookmarks view no longer works
-
- WebView can't lay claim to -keyDown: just for editing events, as
- this gets in the way of tab processing. The solution is to give
- WebView a private method for processing editing key events fed to
- it from over the bridge, and leave -keyDown: unimplemented.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge editingKeyDown:]): Changed from -keyDown: to keep
- terminology consistent with renamed WebView -editingKeyDown: method.
- * WebView.subproj/WebView.m:
- (-[WebView editingKeyDown:]): Give WebView a method to handle
- editing key events in a way that does not interfere with other key down
- events it processes.
- * WebView.subproj/WebViewPrivate.h: Declare -editingKeyDown: method.
-
-=== Safari-132 ===
-
-2004-03-15 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2004-03-12 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed <rdar://problem/3433887>: copied &nbsp; characters remain non-breaking spaces; other browsers give normal spaces
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _writeSelectionToPasteboard:]):
- Convert non-breaking spaces to the normal kind in the plain text part of the pasteboard.
-
-2004-03-12 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Chris
-
- * WebView.subproj/WebView.m:
- (-[WebView _alterCurrentSelection:direction:granularity:]): Changed name from
- _alterSelection:direction:granularity: to give a little extra clarity. Also, the
- body calls through to renamed rangeByAlteringCurrentSelection:direction:granularity:
- in WebCore.
- (-[WebView moveRight:]): Now calls renamed _alterCurrentSelection:direction:granularity:.
- (-[WebView moveRightAndModifySelection:]): Ditto.
- (-[WebView moveLeft:]): Ditto.
- (-[WebView moveLeftAndModifySelection:]): Ditto.
-
-2004-03-11 Richard Williamson <rjw@apple.com>
-
- Workaround for 3585644. Force the window number of the
- mouse moved event to be correct.
-
- Reviewed by Chris.
-
- * Carbon.subproj/CarbonWindowFrame.m:
- * Carbon.subproj/HIWebView.m:
- (MouseMoved):
- (MouseDragged):
-
-2004-03-11 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Dave
-
- Various changes to begin implementing the draft API proposal.
-
- * DOM.subproj/DOM.h: Checking in generated file.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge registerCommandForUndo:]): Now takes an id, a wrapped
- WebCore EditCommand implementation object.
- (-[WebBridge registerCommandForRedo:]): Ditto.
- (-[WebBridge clearUndoRedoOperations]): Use the web view's undo manager.
- (-[WebBridge keyDown:]): Pass keyDown events through to the web view.
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDefaultEditingDelegate.h: Added.
- * WebView.subproj/WebDefaultEditingDelegate.m: Added. Stubbed in default
- implementations declared in the draft editing API.
- * WebView.subproj/WebFrame.m:
- (-[WebFramePrivate dealloc]): WebFrame no longer has an undo manager.
- * WebView.subproj/WebFramePrivate.h: Ditto.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _selectedWebArchive:]): selectedRange method
- is now selectedDOMRange.
- * WebView.subproj/WebView.m:
- (-[WebViewPrivate dealloc]): Dealloc new editingDelegateForwarder.
- (-[WebView _editingDelegateForwarder]): Added.
- (-[WebView keyDown:]): Added.
- (-[WebView _bridgeForCurrentSelection]): Added.
- (-[WebView setSelectedDOMRange:]): Added.
- (-[WebView selectedDOMRange]): Added.
- (-[WebView insertText:]): Added.
- (-[WebView _alterSelection:direction:granularity:]): Added.
- (-[WebView selectWord:]): Added.
- (-[WebView moveRight:]): Added.
- (-[WebView moveRightAndModifySelection:]): Added.
- (-[WebView moveLeft:]): Added.
- (-[WebView moveLeftAndModifySelection:]): Added.
- (-[WebView deleteBackward:]): Added.
- (-[WebView insertNewline:]): Added.
- (-[WebView insertParagraphSeparator:]): Added.
- (-[WebView setEditingDelegate:]): Added.
- (-[WebView editingDelegate]): Added.
- (-[WebView undoManager]): Added.
- (-[WebView insertText:replacingDOMRange:]): Added.
- * WebView.subproj/WebViewPrivate.h: Added a collection of editing API
- declarations that will be public some day, but are still under review.
-
-2004-03-11 John Sullivan <sullivan@apple.com>
-
- - fixed <rdar://problem/3585056>: Assertion failure if error page is loaded from
- webView:unableToImplementPolicyWithError:
- - also added HeaderDoc comments to could-be-API-soon methods and fixed a
- conceptual problem with said methods
-
- Reviewed by Darin.
-
- * WebView.subproj/WebDataSourcePrivate.h:
- added HeaderDoc comment for -unreachableURL
-
- * WebView.subproj/WebFramePrivate.h:
- added HeaderDoc comment for -loadAlternateHTMLString:baseURL:forUnreachableURL:;
- also added boolean delegateIsHandlingUnimplementablePolicy ivar to WebFramePrivate
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
- treat delegateIsHandlingUnimplementablePolicy like delegateIsDecidingNavigationPolicy.
- Safari serves up error pages during the latter but clients are equally or more likely
- to do so during the former.
- (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
- set delegateIsHandlingUnimplementablePolicy during delegate callback
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- tweaked assertion so it doesn't erroneously fire for clients that call
- loadAlternateHTML:baseURL:forUnreachableURL: while processing
- webView:unableToImplementPolicyWithError:
-
-2004-03-11 Chris Blumenberg <cblu@apple.com>
-
- Made WebArchive a class instead of a data object. This allows clients to easily get the main resource and subresources from a WebArchive.
-
- Reviewed by kocienda.
-
- * WebKit.exp:
- * WebView.subproj/WebDocumentPrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadWebArchive:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation loadWebArchive]):
- (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]):
- (-[WebHTMLRepresentation webArchiveFromNode:]):
- (-[WebHTMLRepresentation webArchiveFromRange:]):
- * WebView.subproj/WebHTMLRepresentationPrivate.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _selectedWebArchive:]):
- (-[WebHTMLView _writeSelectionToPasteboard:]):
- (-[WebHTMLView _pasteMarkupFromPasteboard:]):
- * WebView.subproj/WebResource.h:
- * WebView.subproj/WebResource.m:
- (-[WebArchivePrivate dealloc]):
- (-[WebResource _response]):
- (-[WebArchive init]):
- (-[WebArchive initWithMainResource:subresources:]):
- (-[WebArchive initWithData:]):
- (-[WebArchive dealloc]):
- (-[WebArchive mainResource]):
- (-[WebArchive subresources]):
- (-[WebArchive dataRepresentation]):
- * WebView.subproj/WebResourcePrivate.h:
-
-2004-03-10 Chris Blumenberg <cblu@apple.com>
-
- Made dragging of web archives work.
-
- Reviewed by rjw.
-
- * English.lproj/StringsNotToBeLocalized.txt: updated
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient connection:didReceiveResponse:]): added a FIXME about working around old Foundations that don't know about web archive files
- * WebView.subproj/WebView.m:
- (+[WebView canShowFile:]): tweak
- (+[WebView suggestedFileExtensionForMIMEType:]): tweak
- (+[WebView _MIMETypeForFile:]): handle web archive files since Foundation may be too old to know about them
-
-2004-03-09 Chris Blumenberg <cblu@apple.com>
-
- Made web archives use NSPropertyListBinaryFormat_v1_0 instead of NSPropertyListXMLFormat_v1_0 because NSPropertyListBinaryFormat_v1_0 is 3-5 times faster to serialize and parse.
-
- Reviewed by rjw.
-
- * WebView.subproj/WebResource.m:
- (+[WebResource _parseWebArchive:mainResource:subresources:]): add timing code
- (+[WebResource _webArchiveWithMainResource:subresources:]): add timing code, use NSPropertyListBinaryFormat_v1_0
-
-2004-03-09 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3577508>: API: web archive related API's
- Implemented WebKit side of: <rdar://problem/3144033>: ability to save web sites (images and all)
-
- Reviewed by rjw.
-
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge receivedData:textEncodingName:]): renamed to take a textEncodingName instead of data source. The data source argument is only needed for the textEncodingName.
- * WebKit.exp:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _subresourcesDictionary]): new
- (+[WebDataSource _repTypesAllowImageTypeOmission:]): include "application/x-webarchive"
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDocumentInternal.h:
- * WebView.subproj/WebDocumentPrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadWebArchive:]): renamed, code factored out to [WebResource _parseWebArchive:mainResource:subresources:]
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFrameView.m:
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]): include "application/x-webarchive"
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentationPrivate dealloc]):
- (-[WebHTMLRepresentation _isDisplayingWebArchive]): new
- (-[WebHTMLRepresentation receivedData:withDataSource:]): don't feed data to WebCore if we're displaying a web archive since web archive can't be progressively loaded
- (-[WebHTMLRepresentation loadWebArchive]): new, feeds web archive data to WebCore
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): call loadWebArchive if necessary
- (-[WebHTMLRepresentation documentSource]): if displaying a web archive, return the HTML source from within the archive
- (-[WebHTMLRepresentation _webArchiveWithMarkupString:subresourceURLStrings:]): new
- (-[WebHTMLRepresentation markupStringFromNode:]): implementation of new API
- (-[WebHTMLRepresentation markupStringFromRange:]): ditto
- (-[WebHTMLRepresentation webArchiveFromNode:]): ditto
- (-[WebHTMLRepresentation webArchiveFromRange:]): ditto
- * WebView.subproj/WebHTMLRepresentationPrivate.h:
- * WebView.subproj/WebHTMLView.m:
- (+[WebHTMLView _selectionPasteboardTypes]): use renamed WebArchivePboardType
- (-[WebHTMLView _selectedWebArchive:]): renamed, call renamed methods
- (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed methods
- (-[WebHTMLView _haveSelection]): indentation tweak
- (-[WebHTMLView _canDelete]): ditto
- (-[WebHTMLView _canPaste]): ditto
- (-[WebHTMLView _pasteMarkupFromPasteboard:]): renamed, call [WebResource _webArchiveWithMainResource:subresources:]
- (-[WebHTMLView initWithFrame:]): use renamed WebArchivePboardType
- (-[WebHTMLView paste:]): call renamed _pasteMarkupFromPasteboard
- (-[WebHTMLView concludeDragOperation:]): call renamed _pasteMarkupFromPasteboard
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient connection:didReceiveResponse:]): modify the MIME type for web archives since Foundation is not yet web archive aware. This is ifdef'd pre-Tiger code.
- * WebView.subproj/WebResource.h:
- * WebView.subproj/WebResource.m:
- (+[WebResource _parseWebArchive:mainResource:subresources:]): new
- (+[WebResource _webArchiveWithMainResource:subresources:]): new
- * WebView.subproj/WebResourcePrivate.h:
-
-2004-03-09 John Sullivan <sullivan@apple.com>
-
- - fixed the following bugs:
- <rdar://problem/3579715>: Going to an error page in back/forward list doesn't work
- correctly in some cases
- <rdar://problem/3581031>: REGRESSION (130+): World Leak of WebFrame after trying
- to load page with unknown scheme
-
- Reviewed by Darin.
-
- * WebView.subproj/WebDataSourcePrivate.h:
- renamed __setRequest -> __adoptRequest
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _URLForHistory]):
- updated comment
- (-[WebDataSource __adoptRequest:]):
- Renamed from __setRequest; now takes an NSMutableURLRequest and uses it as-is.
- (-[WebDataSource _setRequest:]):
- now saves a mutable copy, instead of relying on the caller to do so. The
- (only) caller wasn't doing so in all cases, leading to trouble in River City.
- Also, special-case unreachable URL handling to allow alternate content to
- replace a URL in a redirect-like way without sending a redirect callback.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
- renamed after discussion with Richard (was loadPlaceholderHTMLString:baseURL:unreachableURL:)
- (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
- new helper method, returns YES only if we receive a load request for alternate
- content from a delegate for an unreachable URL while we are going back or forward.
- That's a lot of prepositions!
- (-[WebFrame _loadRequest:subresources:]):
- if _shouldReloadToHandleUnreachableURLFromRequest: returns YES, change load type
- to WebFrameLoadTypeReload so b/f list is preserved appropriately.
- (-[WebFrame _transitionToCommitted:]):
- Update currentItem in the unreachableURL case.
- (-[WebFrame _isLoadComplete]):
- Don't reset b/f list before calling provisionalLoadDidFail delegate; instead, determine
- where to reset b/f list beforehand, and then actually reset list afterwards only if we
- didn't start an alternate content load in the delegate. Also, set new boolean ivar so we
- know when we're processing a provisionalLoadDidFail delegate callback.
- (-[WebFrame _loadItem:withLoadType:]):
- don't make extra copy before calling __adoptRequest; just pass it the one we made here.
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
- If we're loading alternate content for an unreachableURL, don't ask the decision listener,
- just do it. (This avoids problem with nested calls to checking the navigation policy that
- led to a WebFrame leak, and is conceptually the right thing to do also.) Also added some
- asserts that helped me track down the WebFrame leak. Set new boolean ivar so we know
- when we're processing a navigation policy delegate decision.
- (-[WebFrame _currentBackForwardListItemToResetTo]):
- new method, replaces _resetBackForwardListToCurrent. Does the same test as the
- latter but returns a boolean rather than actually resetting.
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- save dataSource in a local var before calling stopLoading, and use it for
- _setProvisionalDataSource, because otherwise stopLoading was clobbering the dataSource
- for an unreachable URL handling case.
-
- * WebView.subproj/WebFramePrivate.h:
- two new boolean ivars
-
- * WebView.subproj/WebView.m:
- (+[WebView _canHandleRequest:]):
- return YES when we're loading alternate content for an unreachable URL
-
-=== Safari-131 ===
-
-2004-03-08 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- * WebKit.pbproj/project.pbxproj: Added CFBundleName to Info.plist
-
-2004-03-05 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3560132>: REGRESSION: Safari crashed in -[NSPasteboard setData:forType:] dragging a map out of Mapquest.com
-
- Reviewed by john.
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): declare the pboard types by calling _web_writeURL:::: before calling setData::
-
-2004-03-05 John Sullivan <sullivan@apple.com>
-
- First cut at WebKit support for showing error pages for unreachable URLs.
- This doesn't work quite right with the back/forward list yet, but is
- good enough for demos.
-
- Reviewed by Darin.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate didReceiveResponse:]):
- use new _webDataRequextExternalURL to share code
-
- * WebView.subproj/WebDataProtocol.h:
- Three new methods (all internal to WebKit):
- -[NSURLRequest _webDataRequestUnreachableURL], -[NSURLRequest _webDataRequestExternalURL],
- -[NSURLRequest _webDataRequestSetUnreachableURL]
- * WebView.subproj/WebDataProtocol.m:
- new unreachableURL field of WebDataRequestParameters
- (-[WebDataRequestParameters copyWithZone:]):
- copy new field
- (-[WebDataRequestParameters dealloc]):
- release new field
- (-[NSURLRequest _webDataRequestUnreachableURL]):
- read new field
- (-[NSURLRequest _webDataRequestExternalURL]):
- new method, returns baseURL or "about:blank" for webdata protocol requests. This
- was done in multiple places previously.
- (-[NSURLRequest _webDataRequestExternalRequest]):
- now calls _webDataRequestExternalURL to share code
- (-[NSMutableURLRequest _webDataRequestSetUnreachableURL:]):
- write new field
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource unreachableURL]):
- new method, might become API; returns the unreachable URL, if any, for which this datasource
- holds placeholder content
- (-[WebDataSource _URLForHistory]):
- new method, returns the URL to be stored in History for this dataSource. This returns nil
- for run-of-the-mill WebDataProtocol URLs (replacing code elsewhere that checked for this
- case) but returns the unreachableURL for the case where this datasource holds placeholder
- content.
- (-[WebDataSource _setTitle:]):
- now calls _URLForHistory
-
- * WebView.subproj/WebDataSourcePrivate.h:
- added unreachableURL in the should-become-API section, and _URLForHistory elsewhere
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadPlaceholderHTMLString:baseURL:unreachableURL:]):
- new should-become-API method for displaying an error page for an unreachable URL
- (-[WebFrame loadPropertyList:]):
- updated to pass nil for unreachableURL
- (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
- added unreachableURL parameter, which gets set on the data request
- (-[WebFrame _addBackForwardItemClippedAtTarget:]):
- use _URLForHistory instead of just checking for WebDataProtocol
- (-[WebFrame _createItem:]):
- use unreachableURL if there is one
- (-[WebFrame _transitionToCommitted:]):
- use _URLForHistory instead of just checking for WebDataProtocol
- (-[WebFrame _isLoadComplete]):
- check whether a new load has started in the delegate callback and if so, don't
- reset the loading state here
- (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
- added unreachableURL parameter, which gets passed through
- (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
- send nil unreachableURL parameter
- (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
- new bottleneck method for loadHTMLString:baseURL: and loadPlaceholderHTMLString:baseURL:unreachableURL:;
- this is the guts of loadHTMLString:baseURL: with the new unreachableURL parameter passed through
- (-[WebFrame loadHTMLString:baseURL:]):
- now calls new bottleneck method
-
- * WebView.subproj/WebFramePrivate.h:
- added loadPlaceholderString:baseURL:unreachableURL: to should-be-API section; added unreachableURL
- parameter to _webDataRequestForData:MIMEType:textEncodingName:baseURL:
-
-2004-03-04 Chris Blumenberg <cblu@apple.com>
-
- - Made image dragging and copying always work without needing to re-download by using the data source's WebResource of the image instead of relying on the Foundation cache.
- - Fixed a "drag to self" problem I introduced in my last check-in. You could drag a URL from a WebHTMLView and drop it on its own WebView which we shouldn't allow.
-
- Reviewed by rjw.
-
- * ChangeLog:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge fileWrapperForURL:]): call _fileWrapperForURL on WebDataSource
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _fileWrapperForURL:]): moved from WebView, creates a wrapper from a WebResource
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate copyImageToClipboard:]): call [WebDataSource _fileWrapperForURL:]
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _handleMouseDragged:]): call [WebDataSource _fileWrapperForURL:]
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebDataSource _fileWrapperForURL:]
- (-[WebHTMLView _dragOperationForDraggingInfo:]): new, factored out from draggingUpdated:
- (-[WebHTMLView draggingEntered:]): call _dragOperationForDraggingInfo:, if NSDragOperationNone, forward to WebView to it can handle the drag
- (-[WebHTMLView draggingUpdated:]): ditto
- (-[WebHTMLView concludeDragOperation:]): ditto
- * WebView.subproj/WebResource.m:
- (-[WebResource _fileWrapperRepresentation]): new
- * WebView.subproj/WebResourcePrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebViewPrivate dealloc]): release draggedTypes, a new ivar that keeps track of drag types that we're currently registered for
- (-[WebView _setDraggedTypes:]): new
- (-[WebView unregisterDraggedTypes]): new, calls _setDraggedTypes then super
- (-[WebView registerForDraggedTypes:]): ditto
- (-[WebView _dragOperationForDraggingInfo:]): new, compares the types on the pasteboard against the types we are currently registered for. Normally the AppKit handles this for us, but since these messages can be forwarded from WebHTMLView, we need to do this comparison ourselves.
- (-[WebView draggingEntered:]): calls _dragOperationForDraggingInfo:
- (-[WebView draggingUpdated:]): ditto
- (-[WebView concludeDragOperation:]): ditto
- * WebView.subproj/WebViewPrivate.h: define new draggedTypes ivar
-
-2004-03-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed a typo.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView concludeDragOperation:]):
-
-2004-03-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3576070>: REGRESSION: web view won't accept drag of webloc file
-
- Reviewed by rjw.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView draggingUpdated:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it
- (-[WebHTMLView concludeDragOperation:]): if we're not handling the drag, forward this message to the WebView since it may want to handle it
-
-2004-03-03 Darin Adler <darin@apple.com>
-
- Reviewed by Vicki.
-
- * English.lproj/InfoPlist.strings: Removed. No need to localize the version and
- copyright string, and that's all that was in here.
- * WebKit.pbproj/project.pbxproj: Removed InfoPlist.strings from build.
-
-2004-03-03 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Chris
-
- * copy-webcore-files-to-webkit: Fixed up this script so that
- it does not fail if it is running "non-locally", like for
- B&I. The idiom is to check these files into WebKit after
- copying them from WebCore, hence this script is merely
- a convenience to keep the files in sync.
-
-2004-03-02 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by me
-
- * DOM.subproj/DOM.h: Checked in header copied over
- from WebCore.
-
-2004-03-02 Richard Williamson <rjw@apple.com>
-
- Added WebJavaScriptObject API. The location of this file may
- change.
-
- Reviewed by Chris.
-
- * Plugins.subproj/NP_objc.h: Added.
- * WebKit.pbproj/project.pbxproj:
-
-2004-03-02 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3575598>: REGRESSION: Safari crashes at IS&T website
-
- Reviewed by darin.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]): don't stop the icon loader here because that can cause an infinite loop
- (-[WebDataSource _stopLoadingInternal]): always stop the icon loader here instead of just when the data source is loading as well.
-
-=== Safari-130 ===
-
-2004-03-02 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by me
-
- * DOM.subproj/DOM.h: Rollout last night's checkin.
- The tree was closed.
-
-2004-03-01 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3574979>: REGRESSION (129-TOT): crash loading macromedia.com
-
- deliverResource was being called after it had already been called in setDefersCallbacks:.
-
- Reviewed by rjw.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate deliverResource]): set deliveredResource to YES
- (-[WebBaseResourceHandleDelegate deliverResourceAfterDelay]): new, calls deliverResource after a delay
- (-[WebBaseResourceHandleDelegate loadWithRequest:]): call deliverResourceAfterDelay
- (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResourceAfterDelay
-
-2004-03-01 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by me
-
- * DOM.subproj/DOM.h: Checked in header copied over
- from WebCore.
-
-2004-03-01 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by me
-
- * DOM.subproj/DOM.h: Oh, it's like the Keystone Cops this afternoon...
- Backed out an unintended change to thsi file.
-
-2004-03-01 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by me
-
- * copy-webcore-files-to-webkit: Dumb typing error on my part in making
- my previous quick fix. This quick fix works.
-
-2004-03-01 Chris Blumenberg <cblu@apple.com>
-
- Updated the WebKit project file to 1.1 because a previous check-in reverted to 1.01.
-
- * WebKit.pbproj/project.pbxproj:
-
-2004-03-01 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by me
-
- * copy-webcore-files-to-webkit: Made this file buildit-compliant
-
-2004-03-01 Chris Blumenberg <cblu@apple.com>
-
- Found a bug in my last check-in. If a load that originates from a WebResource is cancelled before the data from the WebResource is delivered, callbacks are sent anyway.
-
- Reviewed by rjw.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate cancelWithError:]): cancel the perform request for deliverResource
-
-2004-03-01 Chris Blumenberg <cblu@apple.com>
-
- Reviewed by darin.
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader didFinishLoading]): rejigger handle code to avoid Deployment failure
- * WebKit.pbproj/project.pbxproj:
-
-2004-03-01 Chris Blumenberg <cblu@apple.com>
-
- - Made WebResource loading not use Foundation at all. This allows "Mail Page" and paste to more directly load subresources without any indirection involving NSURLConnection and the Foundation cache.
- - Made WebIconLoader a subclass of WebBaseResourceHandleDelegate. This makes favicons appear in the activity window among other things.
-
- Reviewed by kocienda.
-
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebIconLoader.m: removed connection and data ivars since WebBaseResourceHandleDelegate holds these
- (-[WebIconLoaderPrivate dealloc]): removed calls to deleted ivars
- (-[WebIconLoader URL]): call renamed request ivar
- (-[WebIconLoader startLoading]): call loadWithRequest
- (-[WebIconLoader stopLoading]): call cancel
- (-[WebIconLoader didFinishLoading]):
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection
- (-[WebNetscapePluginConnectionDelegate didReceiveData:lengthReceived:]): ditto
- (-[WebNetscapePluginConnectionDelegate didFinishLoading]): ditto
- (-[WebNetscapePluginConnectionDelegate didFailWithError:]): ditto
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient didReceiveResponse:]): ditto
- (-[WebSubresourceClient didReceiveData:lengthReceived:]): ditto
- (-[WebSubresourceClient didFinishLoading]): ditto
- (-[WebSubresourceClient didFailWithError:]): ditto
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate loadWithRequest:]): instead of storing the resource in the Foundation cache in order to later load it from the cache, deliver the callbacks ourselves after a delay
- (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): call deliverResource if callbacks are turned back on
- (-[WebBaseResourceHandleDelegate deliverResource]): new, calls didReceiveResponse:, didReceiveData:lengthReceived:, and didFinishLoading
- (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]): renamed to be connection-less since callbacks may came from a WebResource and not an NSURLConnection
- (-[WebBaseResourceHandleDelegate didReceiveAuthenticationChallenge:]): ditto
- (-[WebBaseResourceHandleDelegate didCancelAuthenticationChallenge:]): ditto
- (-[WebBaseResourceHandleDelegate didReceiveResponse:]): ditto
- (-[WebBaseResourceHandleDelegate didReceiveData:lengthReceived:]): ditto
- (-[WebBaseResourceHandleDelegate didFinishLoading]): ditto
- (-[WebBaseResourceHandleDelegate didFailWithError:]): ditto
- (-[WebBaseResourceHandleDelegate willCacheResponse:]): ditto
- (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): calls connection-less version of this method
- (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]): ditto
- (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]): ditto
- (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]): ditto
- (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): ditto
- (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): ditto
- (-[WebBaseResourceHandleDelegate connection:didFailWithError:]): ditto
- (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): ditto
- (-[WebBaseResourceHandleDelegate cancelWithError:]): call renamed _completeProgressForConnectionDelegate on WebView
- (-[WebBaseResourceHandleDelegate cancelledError]): tweak
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _loadIcon]): set the data source on the icon loader so it can callback
- * WebView.subproj/WebResource.m:
- (-[WebResource _response]): new, factored out from _cachedResponseRepresentation
- (-[WebResource _cachedResponseRepresentation]): call _response
- * WebView.subproj/WebResourcePrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebView _incrementProgressForConnectionDelegate:response:]): renamed to be connection-less
- (-[WebView _incrementProgressForConnectionDelegate:data:]): ditto
- (-[WebView _completeProgressForConnectionDelegate:]): ditto
- * WebView.subproj/WebViewPrivate.h:
-
-2004-03-01 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Changed all Objective-C DOM classes from protocols to classes.
-
- * DOM.subproj/DOM-compat.h:
- * DOM.subproj/DOM.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]):
- (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- * WebView.subproj/WebFormDelegate.h:
- * WebView.subproj/WebFormDelegate.m:
- (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFormState initWithForm:values:sourceFrame:]):
- (-[WebFormState form]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation DOMDocument]):
- (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:]):
- (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
- (-[WebHTMLRepresentation elementWithName:inForm:]):
- (-[WebHTMLRepresentation elementForView:]):
- (-[WebHTMLRepresentation elementDoesAutoComplete:]):
- (-[WebHTMLRepresentation elementIsPassword:]):
- (-[WebHTMLRepresentation formForElement:]):
- (-[WebHTMLRepresentation controlsInForm:]):
- (-[WebHTMLRepresentation searchForLabels:beforeElement:]):
- (-[WebHTMLRepresentation matchLabels:againstElement:]):
-
-2004-02-27 John Sullivan <sullivan@apple.com>
-
- - WebKit changes to allow performance improvements to bookmarks
-
- Reviewed by Darin.
-
- * History.subproj/WebHistoryItemPrivate.h:
- added notificationsSuppressed/setNotificationsSuppressed, and setURLString
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem setNotificationsSuppressed:]):
- setter for new flag. When this flag is set, making changes to the WebHistoryItem
- will not cause WebHistoryChanged notifications to be sent. This is a big speedup
- for reading bookmarks from disk, since currently each WebBookmarkLeaf object
- keeps around a WebHistoryItem object that isn't really part of history and thus
- doesn't need to send notifications about history changing.
- (-[WebHistoryItem notificationsSuppressed]):
- getter for new flag
- (-[WebHistoryItem setURLString:]):
- new method, extracted from guts of setURL:; this allows callers (though
- currently only callers at Apple) that have a URL string in hand to set
- it directly on the WebHistoryItem rather than converting to a URL and
- back, both relatively slow operations. Also, doesn't sent a notification
- if notifications are suppressed.
- (-[WebHistoryItem setURL:]):
- now calls extracted method
- (-[WebHistoryItem setAlternateTitle:]):
- doesn't send notification if notifications are suppressed
- (-[WebHistoryItem setOriginalURLString:]):
- ditto
- (-[WebHistoryItem setTitle:]):
- ditto
- (-[WebHistoryItem _setLastVisitedTimeInterval:]):
- ditto
-
-2004-02-26 Chris Blumenberg <cblu@apple.com>
-
- WebKit side of:
- <rdar://problem/3056566>: mail a link to this page
- <rdar://problem/2961206>: implement ability to e-mail entire page
-
- Reviewed by john.
-
- * English.lproj/StringsNotToBeLocalized.txt:
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _createFileDatabase]): tweaks
- (-[WebIconDatabase _loadIconDictionaries]): fixed an assertion failure I found in Blot. Keep the original list of icon URLs as a separate list when doing the initial clean-up so we don't over release any icons.
- (-[WebIconDatabase _updateFileDatabase]): tweaks
- (-[WebIconDatabase _setIcon:forIconURL:]): tweaks
- (-[WebIconDatabase _releaseIconForIconURLString:]): tweaks
- (-[WebIconDatabase _retainOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list
- (-[WebIconDatabase _releaseOriginalIconsOnDisk]): use the original list of icons on disk instead of the current list
- * Misc.subproj/WebIconDatabasePrivate.h:
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _propertyListWithData:subresourceURLStrings:]): new, code moved from [WebHTMLView _selectedPropertyList:], creates property list rep of data and subresources
- (-[WebDataSource propertyList]): does the above with all the data source data, this is what "Mail Page" uses
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadPropertyList:]): renamed from loadHTMLPropertyList because the property list may contain non-HTML data
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _selectedPropertyList:]): renamed, code moved to [WebDataSource _propertyListWithData:subresourceURLStrings:]
- (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed _selectedPropertyList
-
-2004-02-26 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Chris
-
- Updated usage of DOM SPI to use new names and conventions.
-
- Unless indicated otherwise, the changes were to update protocol names for, which
- changed from using a "WebDOM" prefix to a "DOM" prefix, and changing now need
- only include the DOM.h header from WebKit to get everything.
-
- * DOM.subproj/DOM-compat.h: Added. This header contains some compatibility declarations
- to work with older clients of our DOM SPI. Though this file is checked into WebKit,
- it really lives and should be updated in WebCore. It is copied into WebKit by the build
- system as needed.
- * DOM.subproj/DOM.h: Added. This file includes the new "guts" of the DOM SPI. As above,
- this file is checked into WebKit, it really lives and should be updated in WebCore.
- It is copied into WebKit by the build system as needed.
- * DOM.subproj/WebDOMDocument.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
- * DOM.subproj/WebDOMDocument.m: Removed.
- * DOM.subproj/WebDOMElement.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
- * DOM.subproj/WebDOMElement.m: Removed.
- * DOM.subproj/WebDOMNode.h: Removed declarations. Now just includes DOM.h and DOM-compat.h
- * DOM.subproj/WebDOMNode.m: Removed.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:])
- (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:])
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- * WebView.subproj/WebFormDelegate.h:
- * WebView.subproj/WebFormDelegate.m:
- (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:])
- * WebView.subproj/WebFrame.h: Unrelated change. Removed -undoManager accessor from public header. Moved to private header.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:])
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:])
- (-[WebFrame undoManager]): Moved -undoManager accessor to private category implementation.
- (-[WebFormState initWithForm:values:sourceFrame:])
- (-[WebFormState form])
- (-[WebFrame childFrames])
- * WebView.subproj/WebFramePrivate.h: Moved in -undoManager accessor.
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation DOMDocument])
- (-[WebHTMLRepresentation setSelectionFrom:startOffset:to:endOffset:])
- (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:])
- (-[WebHTMLRepresentation elementWithName:inForm:])
- (-[WebHTMLRepresentation elementForView:])
- (-[WebHTMLRepresentation elementDoesAutoComplete:])
- (-[WebHTMLRepresentation elementIsPassword:])
- (-[WebHTMLRepresentation formForElement:])
- (-[WebHTMLRepresentation controlsInForm:])
- (-[WebHTMLRepresentation searchForLabels:beforeElement:])
- (-[WebHTMLRepresentation matchLabels:againstElement:])
- * WebView.subproj/WebHTMLView.m:
- * copy-webcore-files-to-webkit: Added. Copies DOM.h and DOM-compat.h from WebCore when they
- have been updated there.
-
-2004-02-25 John Sullivan <sullivan@apple.com>
-
- WebKit part of fix for <rdar://problem/3546370>: add a way to tab to menus,
- checkmarks, and buttons without turning on Full Keyboard Acceess
-
- Reviewed by Ken.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]):
- turn on WebCoreKeyboardAccessFull bit whenever we turn on
- WebCoreKeyboardAccessTabsToLinks bit
-
-2004-02-24 Chris Blumenberg <cblu@apple.com>
-
- I forgot to add these files in my last check-in.
-
- * WebView.subproj/WebResource.h: Added.
- * WebView.subproj/WebResource.m: Added.
- (-[WebResourcePrivate dealloc]):
- (-[WebResource initWithData:URL:MIMEType:textEncodingName:]):
- (-[WebResource dealloc]):
- (-[WebResource data]):
- (-[WebResource URL]):
- (-[WebResource MIMEType]):
- (-[WebResource textEncodingName]):
- (+[WebResource _resourcesFromPropertyLists:]):
- (+[WebResource _propertyListsFromResources:]):
- (-[WebResource _initWithPropertyList:]):
- (-[WebResource _initWithCachedResponse:originalURL:]):
- (-[WebResource _propertyListRepresentation]):
- (-[WebResource _cachedResponseRepresentation]):
- * WebView.subproj/WebResourcePrivate.h: Added.
-
-2004-02-24 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3565476>: design/implement new pasteboard type for HTML that includes subresources
-
- Reviewed by rjw.
-
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): don't manage buffer, WebBaseResourceHandleDelegate does this now
- (-[WebNetscapePluginConnectionDelegate releaseResources]): ditto
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto
- (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate releaseResources]): release resourceData and resource
- (-[WebBaseResourceHandleDelegate loadWithRequest:]): check the dataSource for a resource, load that if we have one
- (-[WebBaseResourceHandleDelegate addData:]): new, adds data to resourceData
- (-[WebBaseResourceHandleDelegate saveResource]): new, saves data as a resource on the dataSource
- (-[WebBaseResourceHandleDelegate saveResourceWithCachedResponse:]): new, replaces the resource on the dataSource to save memory
- (-[WebBaseResourceHandleDelegate resourceData]): new
- (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]): call addData:
- (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): call saveResource
- (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): new, calls saveResourceWithCachedResponse:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]): release subresources
- (-[WebDataSource subresources]): new, returns the subresources of the data source
- (-[WebDataSource subresourceForURL:]): new, returns a resource for a URL
- (-[WebDataSource addSubresource:]): new
- (-[WebDataSource addSubresources:]): new
- (-[WebDataSource _receivedData:]): added an assert
- (-[WebDataSource _setData:]): replaces the data of the data source
- (-[WebDataSource initWithRequest:]): create subresources
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadHTMLPropertyList:]): new, loads a frame from an HTML plist
- (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:]): new, factored out from loadData:MIMEType:textEncodingName:baseURL:
- (-[WebFrame _loadRequest:subresources:]): new, factored out from loadRequest:, handles subresources
- (-[WebFrame loadRequest:]): now just calls _loadRequest:subresources:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _dataSource]): new internal convenience
- (+[WebHTMLView _selectionPasteboardTypes]): renamed from _pasteboardTypes to be more precise
- (-[WebHTMLView _selectedHTMLPropertyList:]): new, constructs an HTML plist from the selection
- (-[WebHTMLView _writeSelectionToPasteboard:]): calls _selectedHTMLPropertyList to support WebHTMLPboardType
- (-[WebHTMLView _pasteHTMLFromPasteboard:]): added support for pasting WebHTMLPboardType
- (+[WebHTMLView initialize]): call renamed _selectionPasteboardTypes
- (-[WebHTMLView initWithFrame:]): allow WebHTMLPboardType to be dragged in
- (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _selectionPasteboardTypes
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient addData:]): override since the main resource does it's own buffering
- (-[WebMainResourceClient saveResource]): override to do nothing since the main resource is not saved as a subresource
- (-[WebMainResourceClient saveResourceWithCachedResponse:]): override, calls _setData on the data source to
- (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):
- * WebView.subproj/WebResource.h: Added.
- * WebView.subproj/WebResource.m: Added. New class the represents the data, URL, MIME type and textEncodingName of a resource.
- (-[WebResourcePrivate dealloc]):
- (-[WebResource initWithData:URL:MIMEType:textEncodingName:]):
- (-[WebResource dealloc]):
- (-[WebResource data]):
- (-[WebResource URL]):
- (-[WebResource MIMEType]):
- (-[WebResource textEncodingName]):
- (-[WebResource description]):
- (+[WebResource _resourcesFromPropertyLists:]):
- (+[WebResource _propertyListsFromResources:]):
- (-[WebResource _initWithPropertyList:]):
- (-[WebResource _propertyListRepresentation]):
- (-[WebResource _initWithCachedResponse:originalURL:]):
- (-[WebResource _cachedResponseRepresentation]):
- * WebView.subproj/WebResourcePrivate.h: Added.
- * WebView.subproj/WebView.m:
-
-=== Safari-129 ===
-
-2004-02-20 Darin Adler <darin@apple.com>
-
- Reviewed by mjs.
-
- - fix build breakage caused by removal of kWindowNoBufferingAttribute.
-
- * Carbon.subproj/CarbonWindowAdapter.m:
- (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
- always used a retained backing store type
-
-2004-02-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3563402>: when copying HTML, relative URLs should be made absolute
-
- Reviewed by dave.
-
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation HTMLString]): renamed from reconstructed source to be more analogous with other data get methods
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _writeSelectionToPasteboard:]): call renamed selectedHTML on the bridge
-
-2004-02-19 John Sullivan <sullivan@apple.com>
-
- - WebKit part of fix for <rdar://problem/3292380>: Cycle Tabs keyboard shortcut
- (cmd-shift-arrows) conflicts with text editing
-
- Reviewed by Chris.
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView keyDown:]):
- If shift key is down along with an arrow key, call super rather than eating
- event since we don't handle any shifted events here.
-
-2004-02-15 Darin Adler <darin@apple.com>
-
- Reviewed by John and Don.
-
- - discovered that jaguar.com doesn't need spoofing any more, so removed
- the spoofing machinery entirely; if we ever have to bring it back we
- can, but I doubt we will
-
- * WebView.subproj/WebView.m: Removed include of WebUserAgentSpoofTable.c.
- (-[WebViewPrivate dealloc]): Release the new single userAgent rather than
- the array and userAgentOverride we used to.
- (-[WebView _preferencesChangedNotification:]): Release the single user agent,
- rather than the entire cache. Also only do it when the user agent is not
- overridden.
- (-[WebView setApplicationNameForUserAgent:]): Ditto.
- (-[WebView setCustomUserAgent:]): Set the new userAgentOverridden boolean,
- and also set userAgent itself.
- (-[WebView customUserAgent]): Return userAgent, but only if userAgentOverridden
- is true.
- (-[WebView userAgentForURL:]): Simplify, now that there's no automatic spoofing
- to do. Made even simpler by the fact that custom and computed user agents both
- share the same field now.
-
- * WebView.subproj/WebViewPrivate.h: Got rid of UserAgentStringType, turned the
- userAgent field into a single item instead of an array, and replaced the
- userAgentOverride field with a boolean userAgentOverridden field.
-
- * Makefile.am: Removed the rule to build WebUserAgentSpoofTable.c.
- * WebView.subproj/WebUserAgentSpoofTable.c: Removed.
- * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed.
-
-2004-02-15 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- * WebKit.pbproj/project.pbxproj: Tweak build styles a bit, fixing OptimizedWithSymbols,
- and removing redundant settings of things that match defaults in other build styles.
-
-2004-02-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - redo visited link history checking for a 2% speed improvement
-
- * History.subproj/WebHistory.m:
- (-[_WebCoreHistoryProvider containsItemForURLString:]): Removed.
- (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]): Implemented.
- For https and http URLs with empty path, add a slash. Make a CFString
- using the passed-in latin1 buffer without copying.
- (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]): Ditto
- for unicode.
- (matchLetter): New static helper function.
- (matchUnicodeLetter): Ditto.
-
-=== Safari-128 ===
-
-2004-02-10 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge registerCommandForUndo]): Some cleanup. Cookie for events no longer needed.
- (-[WebBridge registerCommandForRedo]): Ditto.
- (-[WebBridge clearUndoRedoOperations]): Tells the Cocoa undo manager to clear
- steps targeted at the bridge.
- * WebView.subproj/WebFrame.h: Declare undo manager accessor.
- * WebView.subproj/WebFrame.m:
- (-[WebFramePrivate dealloc]): Release undo manager
- (-[WebFrame undoManager]): Allocate and return an undo manager. This helps
- undo in a browser to be per tab.
- * WebView.subproj/WebFramePrivate.h: Declare undo manager ivar.
-
-2004-02-08 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- - fixed things seen in the profile, for a total speedup of 4% on cvs-base
- - fixed some layout regressions from my last speedup due to text measurement inconsistencies by adding
- a flag to control whether word rounding is done or not
- - fixed text measurement to be used with AppKit to match AppKit again, as it did at some point in the past
-
- * WebCoreSupport.subproj/WebTextRenderer.h: Remove some unused fields, and added a field to say whether we
- treat this font as fixed pitch.
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (getUncachedWidth): Remove space width hack from this level. There was already a width hack up at the higher
- level for space itself, so there's not a significant speed benefit, and the higher level can make a more
- intelligent choice based on the current rounding setting since it's not cached.
- (-[WebTextRenderer _computeWidthForSpace]): Don't store so many widths; just the adjusted width we will
- actually use.
- (widthForNextCharacter): Use two different rules for when to adjust space widths, based on whether this is
- a fixed pitch font or not. Also, don't do any adjusting of space widths if applyWordRounding is false.
-
- * Misc.subproj/WebKitNSStringExtras.m:
- (-[NSString _web_drawAtPoint:font:textColor:]): Turn off rounding, so we get the kind of spacing AppKit would normally give.
- (-[NSString _web_widthWithFont:]): Ditto.
- * Misc.subproj/WebStringTruncator.m: (stringWidth): Ditto.
-
-2004-02-08 Darin Adler <darin@apple.com>
-
- - fixed things seen in the profile, for a total speedup of 3.7% on cvs-base
-
- * Misc.subproj/WebNSURLExtras.m: (-[NSURL _web_userVisibleString]): Check for "xn--" as we
- walk the string instead of in a separate call to strcasestr. Faster this way.
-
-2004-02-07 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Get rid of the DEPLOYMENT_LOCATION and DEPLOYMENT_POSTPROCESSING
- flags that were in the Deployment build style. These were causing the need to chmod all the time
- after building WebCore successfully, and were doing us no good.
-
-2004-02-06 Darin Adler <darin@apple.com>
-
- * Resources/missing_image.tiff: Compressed with compress-tiffs; saved 15890 bytes.
-
-=== Safari-127 ===
-
-2004-02-05 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- Added so that editing can hook into Cocoa undo architecture.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge registerCommandForUndo:]):
-
-2004-02-04 David Hyatt <hyatt@apple.com>
-
- Fix deployment build bustage.
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (ConsoleConnectionChangeNotifyProc):
-
-2004-02-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3546028>: Safari should not give plug-ins any time, thus use 0% CPU, when not in the currently active session
-
-
- Reviewed by john.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (+[WebBaseNetscapePluginView initialize]): observe CG changes
- (-[WebBaseNetscapePluginView addWindowObservers]): observe user switch notifications
- (-[WebBaseNetscapePluginView removeWindowObservers]): stop observing user switch notifications
- (-[WebBaseNetscapePluginView viewHasMoved:]): tweak
- (-[WebBaseNetscapePluginView windowWillClose:]): tweak
- (-[WebBaseNetscapePluginView windowBecameKey:]): tweak
- (-[WebBaseNetscapePluginView windowResignedKey:]): tweak
- (-[WebBaseNetscapePluginView windowDidMiniaturize:]): tweak
- (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): tweak
- (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]): new, stop null events
- (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]): new, restart null events
- (ConsoleConnectionChangeNotifyProc): new, post user switch notifications
-
-2004-02-02 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- * Misc.subproj/WebNSURLExtras.h:
- * Misc.subproj/WebNSURLExtras.m:
- (-[NSURL _web_URLWithLowercasedScheme]):
- new method, returns a URL whose scheme has been tolower'ed
-
- * English.lproj/StringsNotToBeLocalized.txt:
- Updated for recent changes.
-
-2004-02-02 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3546924>: REGRESSION: dragging text or images over a WebView is jerky
-
- Reviewed by mjs.
-
- * DOM.subproj/WebDOMNode.h: added HTMLString to the protocol
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate copyImageToClipboard:]): get the HTML representation via the DOM node
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _handleMouseDragged:]): get the HTML representation via the DOM node
- * WebView.subproj/WebView.h: removed the HTML string element key constant
- * WebView.subproj/WebView.m: removed the HTML string element key constant
-
-2004-02-02 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3546426>: when copying images via context menus, only some data is added to the pasteboard
-
- Reviewed by john.
-
- * Misc.subproj/WebNSPasteboardExtras.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeImage:URL:title:fileWrapper:HTMLString:]): new, writes and image, URL and other optional arguments to the pasteboard
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): factored code out to _web_writeImage, call _web_writeImage
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeImage
- * WebView.subproj/WebImageView.m:
- (-[WebImageView writeImageToPasteboard:]): call _web_writeImage
-
-2004-02-02 Darin Adler <darin@apple.com>
-
- - fixed build failure on Merlot
-
- * Misc.subproj/WebNSPasteboardExtras.m: Import just CoreTranslationFlavorTypeNames.h rather than all of
- ApplicationServicesPriv.h; should compile faster and avoid build failure.
-
-2004-02-02 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3546379>: support for editing via drag & drop
-
- Reviewed by kocienda.
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragImage:fileWrapper:rect:URL:title:HTMLString:event:]): added a HTMLString argument so that we retain all attributes when dragging images
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _canDelete]): call renamed isSelectionEditable
- (-[WebHTMLView _canPaste]): call renamed isSelectionEditable
- (-[WebHTMLView _pasteHTMLFromPasteboard:]): new, factored out from paste:
- (-[WebHTMLView _handleMouseDragged:]): removed code that returned early if we were loading, this kind of protection is no longer needed since we now retain the view while dragging, call renamed _web_dragImage
- (-[WebHTMLView initWithFrame:]): register for drop types
- (-[WebHTMLView paste:]): call _pasteHTMLFromPasteboard
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): set new isDragging BOOL to YES
- (-[WebHTMLView draggedImage:endedAt:operation:]): set new isDragging BOOL to NO
- (-[WebHTMLView draggingEntered:]): new
- (-[WebHTMLView draggingUpdated:]): new, handle caret movement during the drag
- (-[WebHTMLView prepareForDragOperation:]): new
- (-[WebHTMLView performDragOperation:]): new
- (-[WebHTMLView concludeDragOperation:]): new, paste in the drag
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebImageView.m:
- (-[WebImageView mouseDragged:]): call renamed _web_dragImage
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
-
-=== Safari-126 ===
-
-2004-01-30 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3536126>: REGRESSION (Merlot): WebKit dragging is in strange location
-
- Reviewed by kocienda.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _handleMouseDragged:]): use the proper offset when dragging text
-
-2004-01-28 John Sullivan <sullivan@apple.com>
-
- More header/footer work: refactored the header/footer code so it could
- be easily reused by other WebDocument classes; used it from WebImageView
- and WebTextView; removed the page count parameters because it's possible
- (though currently nasty, see 3543078) to determine this in the client.
-
- Reviewed by Dave.
-
- * Misc.subproj/WebNSPrintOperationExtras.h Added.
- * Misc.subproj/WebNSPrintOperationExtras.m Added.
- (-[NSPrintOperation _web_pageSetupScaleFactor]):
- new convenience method.
-
- * WebView.subproj/WebUIDelegatePrivate.h:
- Removed page index and page count parameters from delegate methods.
-
- * WebView.subproj/WebViewPrivate.h:
- New private category for header/footer printing methods so that different
- WebDocument methods can share almost all of the code.
-
- * WebView.subproj/WebView.m:
- (-[WebView _headerHeight]):
- (-[WebView _footerHeight]):
- (-[WebView _drawHeaderInRect:]):
- (-[WebView _drawFooterInRect:]):
- (-[WebView _adjustPrintingMarginsForHeaderAndFooter]):
- (-[WebView _drawHeaderAndFooter]):
- Moved all of these methods here, formerly in WebHTMLView. Removed the
- page index and page count parameters.
-
- * WebView.subproj/WebHTMLView.m:
- Removed all the header/footer code that's now in WebView.m, and the
- method that's now -[NSPrintOperation _web_pageSetupScaleFactor]
- (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
- call methods differently that have now been moved
- (-[WebHTMLView _scaleFactorForPrintOperation:]):
- ditto
- (-[WebHTMLView knowsPageRange:]):
- ditto
- (-[WebHTMLView drawPageBorderWithSize:]):
- now just turns around and calls -[WebView _drawHeaderAndFooter]
-
- * WebView.subproj/WebImageView.m:
- (-[WebImageView drawPageBorderWithSize:]):
- new method, just calls -[WebView _drawHeaderAndFooter]
- (-[WebImageView beginDocument]):
- now calls -[WebView _adjustPrintMarginsForHeaderAndFooter], also moved in file.
- (-[WebImageView endDocument]):
- just moved in file.
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView drawPageBorderWithSize:]):
- new method, just calls -[WebView _drawHeaderAndFooter]
- (-[WebTextView knowsPageRange:]):
- overridden to call -[WebView _adjustPrintMarginsForHeaderAndFooter]
-
- * WebKit.pbproj/project.pbxproj:
- updated for added files
-
-
-2004-01-28 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3197222>: need context menu items for back, forward, refresh.
-
- Reviewed by rjw.
-
- * English.lproj/Localizable.strings:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate menuItemWithTag:]): added support for WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags
- (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): added support for Back, Forward, Stop and Reload
- * WebView.subproj/WebUIDelegate.h: added WebMenuItemTagGoBack, WebMenuItemTagGoForward, WebMenuItemTagStop and WebMenuItemTagReload tags
-
-2004-01-27 John Sullivan <sullivan@apple.com>
-
- WebKit part of fixes for:
- <rdar://problem/3123975>: ER: please list the source URL in the header
- or footer when printing the contents of a page
- <rdar://problem/3184091>: Safari - Configurable printing header/footer
- <rdar://problem/3306826>: Please allow printing the date (as well as URL)
- in the header or footer
-
- Reviewed by Dave.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _headerHeight]):
- new method, gets result from WebView's UI delegate or returns 0
- (-[WebHTMLView _footerHeight]):
- new method, gets result from WebView's UI delegate or returns 0
- (-[WebHTMLView _drawHeaderInRect:]):
- new method, gives WebView's UI delegate a chance to draw header
- (-[WebHTMLView _drawFooterInRect:]):
- new method, gives WebView's UI delegate a chance to draw footer
- (-[WebHTMLView _adjustPrintingMarginsForHeaderAndFooter]):
- new method, adds header and footer heights into page margins so
- AppKit printing code will compute and use the right area
- (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
- now calls _adjustPrintingMarginsForHeaderAndFooter if starting to print
- (-[WebHTMLView drawPageBorderWithSize:]):
- new method, computes rects for header and footer and calls new drawing methods
-
- * WebView.subproj/WebUIDelegatePrivate.h:
- add header and footer-related delegate methods
-
-2004-01-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3541812>: Implement Paste menu item
- <rdar://problem/3541814>: Implement Delete menu item
- <rdar://problem/3541811>: Implement Cut menu item
-
- Reviewed by dave.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _haveSelection]): new, renamed from hasSelection, calls haveSelection on the bridge, quicker than generating string rep of selection
- (-[WebHTMLView _canDelete]): new
- (-[WebHTMLView _canPaste]): new
- (-[WebHTMLView takeFindStringFromSelection:]): call renamed _haveSelection
- (-[WebHTMLView cut:]): new
- (-[WebHTMLView delete:]): new
- (-[WebHTMLView paste:]): new
- (-[WebHTMLView validateUserInterfaceItem:]): updated for new methods
- (-[WebHTMLView validRequestorForSendType:returnType:]): call renamed _haveSelection
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2004-01-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed build breakage.
-
- Reviewed by darin.
-
- * WebKit.pbproj/project.pbxproj: Use full path instead of -L to get at WebKitSecurity.a
-
-2004-01-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3536624>: Webkit 1.2 links against SecurityNssAsn1.framework
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebKeyGeneration.h: Set DISABLE_WEB_KEY_GENERATION on Merlot for now.
- Then don't include anything if that's set.
- * WebCoreSupport.subproj/WebKeyGeneration.cpp: Don't compile anything if DISABLE_WEB_KEY_GENERATION
- is set.
- * WebCoreSupport.subproj/WebKeyGenerator.m:
- (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]):
- Always return nil if DISABLE_WEB_KEY_GENERATION is set.
- (-[WebKeyGenerator addCertificatesToKeychainFromData:]): Always return failure if
- DISABLE_WEB_KEY_GENERATION is set.
-
- * WebKit.pbproj/project.pbxproj: Added shell build step to make library with security
- libraries in it. On Merlot, makes empty library. Also added library to link options.
- * WebKitSecurityDummy.c: Added. Used to make empty version of library for build on Merlot.
-
-2004-01-26 Darin Adler <darin@apple.com>
-
- * Makefile.am: Switch from pbxbuild to xcodebuild.
-
-2004-01-26 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed <rdar://problem/3521379>: image dimensions uses lowercase x instead of multiplication sign
-
- * WebView.subproj/WebImageRepresentation.m: (-[WebImageRepresentation title]):
- Change string to use multiplication sign instead of x.
- * English.lproj/Localizable.strings: Updated.
-
-2004-01-23 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Richard
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView updateShowsFirstResponder]): Renamed from updateFocusRing:
- since it is now used to kill caret blink timer.
- (-[WebHTMLView windowDidBecomeKey:]): Now calls new updateShowsFirstResponder
- method.
- (-[WebHTMLView windowDidResignKey:]): Ditto.
-
-2004-01-22 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3537542>: support for copying HTML
-
- Reviewed by dave.
-
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation reconstructedSource]): for BLOT's eventual use
- * WebView.subproj/WebHTMLView.m:
- (+[WebHTMLView _pasteboardTypes]): provide NSHTMLPboardType
- (-[WebHTMLView _writeSelectionToPasteboard:]): add HTML to the pasteboard
-
-2004-01-22 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris.
-
- * English.lproj/StringsNotToBeLocalized.txt:
- brought this file back up to date
-
-2004-01-22 Darin Adler <darin@apple.com>
-
- - fixed 3536624: Webkit 1.2 links against SecurityNssAsn1.framework
-
- * WebKit.pbproj/project.pbxproj: Remove SecurityNssAsn1.framework from the list we link against.
- It's still included in the list for places to find headers.
-
-=== Safari-125 ===
-
-=== Safari-124 ===
-
-2004-01-15 Vicki Murley <vicki@apple.com>
-
- Reviewed by Darin.
-
- * WebKit.pbproj/project.pbxproj: Update copyright date to 2004.
- * English.lproj/InfoPlist.strings: Update copyright date to 2004.
-
-=== Safari-122 ===
-
-=== Safari-121 ===
-
-2004-01-10 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3524906: REGRESSION (114-115): page with plug-in content never stops loading (travelking.com.tw)
-
- Put the plug-in streams clients into their own separate set. Now a plug-in client is not considered part
- of "loading", but it does participate in the callback deferral mechanism, which was the real goal of the
- change I made that introduced this regression. Also remove the plug-in client in one case I had missed
- before (cancel).
-
- * WebView.subproj/WebDataSourcePrivate.h: Added a new set of plugInStreamClients.
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]): Release the set.
- (-[WebDataSource _addPlugInStreamClient:]): Added. Adds to the set.
- (-[WebDataSource _removePlugInStreamClient:]): Added. Removes from the set.
- (-[WebDataSource _defersCallbacksChanged]): Added code to loop through plugInStreamClients too.
-
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream start]): Use _add/removePlugInStreamClient instead of _add/removeSubresourceClient.
- (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Ditto.
- (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Ditto.
- (-[WebNetscapePluginConnectionDelegate cancelWithError:]): Override to call _removePlugInStreamClient and
- then call super.
-
-2004-01-09 Darin Adler <darin@apple.com>
-
- - rolled out most of Dave's change for 3510669 and 3515442; it is not working yet
-
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLView.m:
-
-2004-01-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Chris.
-
- <rdar://problem/3514446>: cert downloaded from BofA or MIT is rejected (ACL issue on private key?)
-
- * WebCoreSupport.subproj/WebKeyGeneration.cpp:
- (createPair): Cut & paste hunk of code from Security framework.
- (Safari_SecKeyCreatePair): Ditto.
- (signedPublicKeyAndChallengeString): Instead of creating a normal ACL,
- use our hacked version of the SecKeyCreatePair call that doesn't put in
- any kind of ACL. This works around a SecureTransport bug.
-
-2004-01-09 David Hyatt <hyatt@apple.com>
-
- Fixes for 3510669 and 3515442, blank frame problems caused by WebKit's resizing not scheduling actual
- layouts via WebCore.
- Reviewed by darin
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
- (-[WebHTMLView initWithFrame:]):
- (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
- (-[WebHTMLView setNeedsLayout:]):
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2004-01-09 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed 3510805: "PoolCleaner" in Carbon WebKit leads to overrelease and crash using color picker in BBEdit
-
- * Carbon.subproj/CarbonUtils.m: (PoolCleaner): Only do the autorelease
- pool stuff in the default run loop mode. If we're in another run loop
- mode that means we are in some Cocoa code that sets up its own autorelease
- pool; it's important that we don't release ours in that case.
-
-2004-01-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/3522298>: Error on MIT's x509 certificate site
-
- * WebCoreSupport.subproj/WebKeyGeneration.cpp:
- (addCertificatesToKeychainFromData): Sign the freshly minted public key
- using RSA/MD5 instead of RSA/SHA-1, because MIT only supports MD5.
-
-2004-01-08 Richard Williamson <rjw@apple.com>
-
- Fixed 3524430. This was a regression introduced when we added '-' and '?' to the word boundary detection.
-
- Also backed out workaround for 3521759 as it's no longer needed with correct argument passing to ATSUPositionToOffset.
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
- (widthForNextCharacter):
-
-2004-01-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3522900>: REGRESSION (100-117): Java plug-in description is garbled when displaying Plug-ins.html
-
- Reviewed by darin.
-
- * Misc.subproj/WebKitNSStringExtras.h:
- * Misc.subproj/WebKitNSStringExtras.m:
- (+[NSString _web_encodingForResource:]): new method, returns the encoding for a resource handle given its file system path
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): call _web_encodingForResource when creating the NSString
-
-=== Safari-120 ===
-
-2004-01-06 Richard Williamson <rjw@apple.com>
-
- Fixed 3513660. Make ATSU layout and draw with integer glyph boundaries. This fix should be removed if/when we convert WebCore to use floats for measuring/positioning (3521781).
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _createATSUTextLayoutForRun:]):
-
-2004-01-05 Richard Williamson <rjw@apple.com>
-
- Fix for 3514454. Work-around added for 3521759.
-
- Filed 3521781 to cover deeper problem.
-
- Reviewed by Kocienda.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
- (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
-
-2003-12-22 John Sullivan <sullivan@apple.com>
-
- - WebKit part of fix for <rdar://problem/3515706>:
- REGRESSION (100-118): Web Kit printing does not honor Page Setup scale factor
-
- Reviewed by Darin.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _userScaleFactorForPrintOperation:]):
- new method, extracts the scale factor provided by the user in
- the Page Setup dialog
- (-[WebHTMLView _scaleFactorForPrintOperation:]):
- take user scale factor into account
- (-[WebHTMLView knowsPageRange:]):
- renamed local var scaleFactor -> totalScaleFactor for clarity;
- take user scale factor into account for print width; now assumes
- computePageRects returns autoreleased result.
-
- * WebKit.pbproj/project.pbxproj:
- Xcode version wars; Darin says these don't affect the build.
-
-2003-12-21 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed a storage leak
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- Move the release of the request out of an if statement, since it's always needed.
-
-2003-12-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3515255>: Standalone image drag makes ocassionally makes 2 copies
-
- Reviewed by john.
-
- * WebKit.pbproj/project.pbxproj: Xcode 1.1 file format change
- * WebView.subproj/WebImageView.h:
- * WebView.subproj/WebImageView.m: copied double-drag protection code from WebHTMLView
- (-[WebImageView mouseDown:]): set ignoringMouseDraggedEvents to NO
- (-[WebImageView mouseDragged:]): if ignoringMouseDraggedEvents, return
- (-[WebImageView draggedImage:endedAt:operation:]): set ignoringMouseDraggedEvents to YES
-
-=== Safari-119 ===
-
-2003-12-18 Richard Williamson <rjw@apple.com>
-
- Fixed 3511415. We have to un-visually order visually ordered text
- before passing to ATSU.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (reverseCharactersInRun):
- (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
- (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
- (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
-
-2003-12-17 Richard Williamson <rjw@apple.com>
-
- Fixed 3503011 (really, this time). Always use integer width for '-' and '?', as we do for spaces, to ensure
- that 'words' (as defined by out rounding hack) start on integer boundaries.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (widthForNextCharacter):
-
-2003-12-17 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3393758>: REGRESSION (85-100): Flash onKeyUp event non-functional
- <rdar://problem/3479020>: REGRESSION (85-100): Safari sends plug-in key events to wrong instance of plug-in
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendEvent:]): set suspendKeyUpEvents to NO
- (-[WebBaseNetscapePluginView keyMessageForEvent:]): copied from CVS
- (-[WebBaseNetscapePluginView keyUp:]): if !suspendKeyUpEvents, send the keyUp event
- (-[WebBaseNetscapePluginView keyDown:]): set suspendKeyUpEvents to YES
- (-[WebBaseNetscapePluginView windowBecameKey:]): call SetUserFocusWindow
-
-2003-12-17 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3513274: REGRESSION: anchor navigation within frames with "Back" is broken at tivofaq.com
-
- * WebView.subproj/WebDataSource.m: (-[WebDataSource _setURL:]):
- Since this method is only used when you do a fragment scroll, we need to update
- the original request as well as the request. This ensure that the fragment gets
- recorded in the history item (which goes in the back/forward history).
-
-=== Safari-118 ===
-
-2003-12-17 John Sullivan <sullivan@apple.com>
-
- - fixed <rdar://problem/3512801>: REGRESSION (Safari 100-116):
- Mike Hay's Magic 8-ball game ignores slow clicks
-
- Reviewed by Darin.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _handleAutoscrollForMouseDragged:]):
- start the autoscroll timer here, so the timer only runs when KHTML is
- handling the event.
- (-[WebHTMLView mouseDown:]):
- don't start the autoscroll timer here.
-
-2003-12-16 Ken Kocienda <kocienda@apple.com>
-
- * WebCoreSupport.subproj/WebBridge.m: ObjC runtime needs a declaration for new
- _calculatedExpiration SPI in NSURLResponse in Foundation
-
-2003-12-16 Richard Williamson <rjw@apple.com>
-
- Fixed 3512348: Rewrote _CG_drawHighlightForRun:style:atPoint: to use width
- iterators. Much faster, better cheaper, etc.
-
- Reviewed by Dave.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
-
-2003-12-16 Richard Williamson <rjw@apple.com>
-
- Fixed 3503011. Added '-' and '?' to rounding hack.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (isRoundingHackCharacter):
- (widthForNextCharacter):
-
-2003-12-16 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - finished fix to 3109132: can't open movie file via open panel
-
- * WebView.subproj/WebView.m: (+[WebView _supportedFileExtensions]):
- Include all the extensions for each MIME type, not jus the preferred one.
-
-2003-12-16 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3512199>: WebBridge expiresTimeForResponse can be
- improved to use better expiration calculations
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge expiresTimeForResponse:]): Switch to use new
- _calculatedExpiration SPI method on NSURLResponse.
-
-2003-12-15 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3505546>: always get keychain prompt when sending mail using cert downloaded with Safari
-
- Reviewed by john.
-
- * WebCoreSupport.subproj/WebKeyGeneration.cpp:
- (signedPublicKeyAndChallengeString): set up the SecAccessRef with "everything goes" restrictions
-
-2003-12-14 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3311205: click() on a file input type form element does not work bring up the file chooser as it does in IE
-
- * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton performClick]):
- Add method for clicking, now part of the WebCoreFileButton protocol.
- The rest of the fix is in WebCore.
-
-2003-12-13 Darin Adler <darin@apple.com>
-
- Fixed by Ed Voas, reviewed by me.
-
- - fixed 3278443: CARBON: grow box obscures scroll bar knob
-
- * Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter _growBoxRect]):
- Return the grow box so AppKit's scroll bar code will know where it is.
-
-2003-12-12 Ken Kocienda <kocienda@apple.com>
-
- * WebCoreSupport.subproj/WebKeyGeneration.cpp:
- (signedPublicKeyAndChallengeString): Fix build-bustin' typo.
-
-2003-12-12 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3396936>: can't obtain a digital ID from Verisign, form submission fails
- <rdar://problem/3505208>: keys added to keychain from KEYGEN need better UI names
-
- Reviewed by rjw.
-
- * English.lproj/Localizable.strings:
- * WebCoreSupport.subproj/WebKeyGeneration.cpp:
- (signedPublicKeyAndChallengeString): take a key description arg and use it, take and return CFStrings, handle the empty string case
- (addCertificatesToKeychainFromData): return a WebCertificateParseResult so WB knows how to handle the cert
- * WebCoreSupport.subproj/WebKeyGeneration.h:
- * WebCoreSupport.subproj/WebKeyGenerator.h:
- * WebCoreSupport.subproj/WebKeyGenerator.m:
- (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): take a page URL so we can use its host name in the key description
- * WebKit.pbproj/project.pbxproj:
-
-2003-12-12 Vicki Murley <vicki@apple.com>
-
- * WebKit.pbproj/project.pbxproj:
-
-2003-12-12 Vicki Murley <vicki@apple.com>
-
- * WebKit.pbproj/project.pbxproj:
-
-2003-12-12 Vicki Murley <vicki@apple.com>
-
- * WebKit.pbproj/project.pbxproj:
-
-2003-12-11 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3489280>: redirect via post blows cache, causing everything to get reloaded
-
- Now POST requests reload the main document by default, but will not reload
- all subresources.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- Take the cache policy for subresources from the original request, rather than
- the data source's current request.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient _isPostOrRedirectAfterPost:redirectResponse:]): New helper.
- (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
- Call new helper to set the cache policy on the main resource load.
-
-=== Safari-117 ===
-
-2003-12-11 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- * WebCoreSupport.subproj/WebBridge.m: time_t is a signed type, so
- casting -1 to a time_t does not work to make a max value.
- We'll go with INT_MAX.
-
-2003-12-11 Ken Kocienda <kocienda@apple.com>
-
- Reviewed and C++ heavy-lifting by Darin
-
- Fix warnings in C++ files.
-
- * WebCoreSupport.subproj/WebKeyGeneration.cpp:
- (signedPublicKeyAndChallengeString): Add cast to remove warning.
- (addCertificatesToKeychainFromData): Add cast to remove warning.
- * WebKit.pbproj/project.pbxproj: Add back warnings to C++ files.
- * WebKitPrefix.h: Add define for NULL that works for C++.
-
-2003-12-09 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- <rdar://problem/3505444>: WebCore cache does not use expiration dates on cache items
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge expiresTimeForResponse:]): New method. Call response
- freshness lifetime method and add it to the current time to yield
- an expiration time.
-
-2003-12-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- WebKit part of fix for:
-
- <rdar://problem/3487160>: Implement synchronous loading for XMLHttpRequest
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
-
-2003-12-10 Richard Williamson <rjw@apple.com>
-
- Added method to get to the bridge from a view. This is
- used to ultimately get the part and KJS::Window for a
- particular applet.
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory refreshPlugins:]):
- (-[WebViewFactory bridgeForView:]):
-
-2003-12-10 John Sullivan <sullivan@apple.com>
-
- - WebKit part of fix for:
- <rdar://problem/3505231>: REGRESSION (100-114): Some sites autoscroll to bottom of page when loading
-
- Reviewed by Darin
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- removed _web_scrollPointToVisible:fromView:
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView scrollPoint:]):
- removed call to _web_scrollPointToVisible:fromView:
-
-2003-12-10 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3505537>: certificates downloaded from Verisign are multipart/mixed, must be parsed out
-
- Reviewed by kocienda.
-
- * WebCoreSupport.subproj/WebKeyGeneration.cpp:
- (signedPublicKeyAndChallengeString): tweak
- (addCertificateToKeychainFromData): renamed to use lowercase "c" in "keychain"
- (addCertificatesToKeychainFromData): take data instead of a path to a file
- * WebCoreSupport.subproj/WebKeyGeneration.h:
- * WebCoreSupport.subproj/WebKeyGenerator.h:
- * WebCoreSupport.subproj/WebKeyGenerator.m:
- (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): added temporary workaround for 3396936
-
-2003-12-09 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3504237>: add downloaded certificates to keychain
-
- Reviewed by darin.
-
- * WebCoreSupport.subproj/WebKeyGeneration.cpp:
- (signedPublicKeyAndChallengeString):
- (addCertificateToKeyChainFromData): new
- (addCertificateToKeyChainFromFile): new
- * WebCoreSupport.subproj/WebKeyGeneration.h:
- * WebCoreSupport.subproj/WebKeyGenerator.h:
- * WebCoreSupport.subproj/WebKeyGenerator.m:
- (-[WebKeyGenerator addCertificateToKeyChainFromFileAtPath:]): new
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj: made WebKeyGenerator.h private
-
-2003-12-09 John Sullivan <sullivan@apple.com>
-
- - fixed <rdar://problem/3504907>: REGRESSION (100-116):
- Clicking QuickTime-requiring link twice crashes (wholenote.com)
-
- I found the bug; Darin wrote the fix; I reviewed and tested.
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
- Rewrote this method to not use GetIndString, because GetIndString looks
- at all open resource files and in this case was reading information from
- the wrong plugin file.
-
-2003-12-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3234676>: Support for KEYGEN tag (ie 509 email certificates from www.thawte.com)
-
- Reviewed by mjs.
-
- * WebCoreSupport.subproj/WebKeyGeneration.cpp: Added.
- (gnrAddContextAttribute): new
- (gnrGetSubjPubKey): new
- (gnrNullAlgParams): new
- (gnrSign): new
- (gnrFreeCssmData): new
- (signedPublicKeyAndChallengeString): new
- * WebCoreSupport.subproj/WebKeyGeneration.h: Added.
- * WebCoreSupport.subproj/WebKeyGenerationFactory.h: Added. Renamed from WebLocalizedStringFactory.
- * WebCoreSupport.subproj/WebKeyGenerationFactory.m: Added.
- (+[WebKeyGenerationFactory createSharedFactory]): no change
- (-[WebKeyGenerationFactory dealloc]): no change
- (-[WebKeyGenerationFactory strengthMenuItemTitles]): new
- (-[WebKeyGenerationFactory signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:]): new
- * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Removed.
- * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Removed.
- * WebCoreSupport.subproj/WebNetscapeTemplates.cpp: Added.
- * WebCoreSupport.subproj/WebNetscapeTemplates.h: Added.
- * WebKit.pbproj/project.pbxproj:
- * WebKitPrefix.h:
- * WebView.subproj/WebFrameView.m:
-
-2003-12-05 John Sullivan <sullivan@apple.com>
-
- - fixed <rdar://problem/3491427>: REGRESSION (100-114): multi-page HTML
- content in Mail is blank when printed
-
- Darin and I figured this one out.
-
- Reviewed by Ken.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
- Don't call setNeedsDisplay:NO when we're turning printing on, as doing so prevents
- anything from drawing in the case where this is called from
- adjustPageHeightsNew:top:bottom:limit
-
-2003-12-05 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed regression in small caps with substituted fonts my patch from yesterday caused
- - fixed 3463599: if Lucida font is installed, you see bad glyphs on pages that use it (advogato.org)
- - fixed storage leak if a renderer is ever deallocated (I don't think we ever do that)
- - fixed some small leaks in various error cases by adding appropriate free and dispose calls
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer dealloc]): Free the Unicode glyph map too.
- (fontContainsString): Moved inline function up here so it will be inlined.
- (-[WebTextRenderer _setupFont]): Free the glyph map and set it back to zero if we fail after
- extending the glyph map to include space. This fixes the "wrong glyph codes" bug with Lucida above.
- (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]): Add free calls needed to avoid
- storage leaks in failure cases.
- (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]): Ditto.
- (-[WebTextRenderer _initializeATSUStyle]): Add ATSUDisposeStyle to fix storage leak.
- (freeWidthMap): Use a loop instead of recursion.
- (freeGlyphMap): Use a loop instead of recursion.
- (freeUnicodeGlyphMap): Added.
- (widthForNextCharacter): Don't use the original characters or cluster length, because the
- character may have been capitalized for use in small caps rendering. So check the character
- for <= 0xFFFF instead of looking at clusterLength, and break the character into a local array
- instead of using the original character pointer.
-
-2003-12-04 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3497879: REGRESSION (100-115): all non-BMP characters (including Deseret) are broken
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]): Bump offset by getting it from
- the iterator; don't assume we can just bump it by one each time. It would be even nicer to have
- a bit more abstraction.
- (initializeCharacterWidthIterator): Remove call to initializeCharacterShapeIterator.
- (widthForNextCharacter): Move handling of surrogate pairs (non-BMP) in here and unify it with
- the handling of BMP characters; this removes the broken code that was returning the wrong font,
- and changes us to use the code that was already doing the right thing for the surrogate pair case.
- Also get rid of the use of 0 width to mean "no glyph", which fixes the doubled glyph problem.
- Also got rid of remnants of use of the shape iterator.
-
- * Misc.subproj/WebUnicode.h: Remove obsolete shape iterator.
- * Misc.subproj/WebUnicode.m: Ditto.
-
-=== Safari-116 ===
-
-2003-12-04 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3498426: assertion failure in tooltip code at macosx.apple.com
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setToolTip:]): Work around
- the apparent bug in AppKit (3500217) that causes it to return 0 for the tool tip
- tag by using removeAllToolTips and not storing the tag at all. Besides the assertion
- failure there may also be a symptom of a "stuck" tool tip and a small memory
- leak until the window is closed.
- * WebView.subproj/WebHTMLViewPrivate.h: Remove unused toolTipTag.
-
-2003-12-02 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3439222>: always hangs opening plain text file on a particular machine due to missing font, no UI to detect
- <rdar://problem/3492983>: Certain fonts cause Safari to hang on text/plain pages
-
- Reviewed by rjw.
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView setFixedWidthFont]): Use [[WebTextRendererFactory sharedFactory] fontWithFamilies:traits:size:] to get the font since it takes the font family which is what we store in WebPreferences and it does fallback work. Only set the font if
-
-
-non-nil is returned.
-
-2003-11-21 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- <rdar://problem/3487185>: implement security checks for XMLHttpRequest
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]): Let
- WebCore know about redirects.
-
-2003-12-01 Richard Williamson <rjw@apple.com>
-
- Moved grungy polling code from WebKit to the JavaPlugin.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge pollForAppletInView:]):
-
-2003-12-01 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Fix for this bug:
-
- <rdar://problem/3496873>: Move key event helper functions to WebKit
-
- * Misc.subproj/WebNSEventExtras.h: Add declarations for new key event
- helpers.
- * Misc.subproj/WebNSEventExtras.m:
- (-[NSEvent _web_isKeyEvent:]): Added.
- (-[NSEvent _web_isDeleteKeyEvent]): Added.
- (-[NSEvent _web_isEscapeKeyEvent]): Added.
- (-[NSEvent _web_isOptionTabKeyEvent]): Added.
- (-[NSEvent _web_isReturnOrEnterKeyEvent]): Added.
- (-[NSEvent _web_isTabKeyEvent]): Added.
- * WebKit.pbproj/project.pbxproj: Made WebNSEventExtras.h a private header
- so WebBrowser can use the new helpers.
-
-=== Safari-115 ===
-
-2003-11-21 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- WebKit part of fix for:
- <rdar://problem/3487134>: Implement http request/response status and headers for XMLHttpRequest
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge startLoadingResource:withURL:customHeaders:]): Added customHeaders
- parameter.
- (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto.
- * WebCoreSupport.subproj/WebSubresourceClient.h:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Add the custom headers.
- (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:referrer:forDataSource:]): Pass along the custom headers.
- (+[WebSubresourceClient startLoadingResource:withURL:customHeaders:postData:referrer:forDataSource:]): Pass along the custom headers.
-
-2003-11-21 John Sullivan <sullivan@apple.com>
-
- - WebKit part of fix for <rdar://problem/3333744>: Safari prints page with
- very, very long line very, very small
-
- Reviewed by Ken.
-
- * WebView.subproj/WebHTMLView.m:
- renamed PrintingExtraWidthFactor to PrintingMinimumShrinkFactor, added
- PrintingMaximumShrinkFactor of 2.0, which matches IE
- (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
- now takes a min and max page width; passes them along to bridge
- (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
- now takes a min and max page width; passes them along to layoutTo...
- (-[WebHTMLView _scaleFactorForPrintOperation:]):
- now takes PrintingMaximumScaleFactor into account
- (-[WebHTMLView knowsPageRange:]):
- now takes PrintingMaximumScaleFactor into account
-
- (-[WebHTMLView layout]):
- pass 0 for maximumPageWidth when passing 0 for minimumPageWidth
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
- ditto
- (-[WebHTMLView _web_setPrintingModeRecursive]):
- ditto
- (-[WebHTMLView _web_clearPrintingModeRecursive]):
- ditto
- (-[WebHTMLView endDocument]):
- ditto
-
-2003-11-20 John Sullivan <sullivan@apple.com>
-
- - WebKit part of <rdar://problem/3183124>: Support page-break-before/after with a value of "always"
-
- Dave and I wrote and reviewed this.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
- reset page rects when printing status changes
- (-[WebHTMLView _availablePaperWidthForPrintOperation:]):
- new helper method to compute paper width taking margins into account
- (-[WebHTMLView _scaleFactorForPrintOperation:]):
- new helper method to compute how much we need to shrink to fit one page across
- (-[WebHTMLView _provideTotalScaleFactorForPrintOperation:]):
- we overrode this secret internal AppKit method to make shrink-to-fit work;
- we wrote bug 3491344 about the need for this to be public.
- (-[WebHTMLView knowsPageRange:]):
- new method, computes rects and returns YES
- (-[WebHTMLView rectForPage:]):
- new method, returns rect computed above
- (-[WebHTMLView _calculatePrintHeight]):
- new method, used by knowsPageRange
-
- * WebView.subproj/WebHTMLViewPrivate.h:
- new pageRects ivar
-
-2003-11-20 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3490086 - support http post for XMLHttpRequest
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge startLoadingResource:withURL:postData:]):
- * WebCoreSupport.subproj/WebSubresourceClient.h:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withRequest:referrer:forDataSource:]):
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- (+[WebSubresourceClient startLoadingResource:withURL:postData:referrer:forDataSource:]):
-
-2003-11-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3491229>: Need UI and localized strings for <KEYGEN> support
-
- Reviewed by john.
-
- * ChangeLog:
- * English.lproj/Localizable.strings:
- * WebCoreSupport.subproj/WebLocalizedStringFactory.h: Added.
- * WebCoreSupport.subproj/WebLocalizedStringFactory.m: Added.
- (+[WebLocalizedStringFactory createSharedFactory]): new
- (-[WebLocalizedStringFactory dealloc]): new
- (-[WebLocalizedStringFactory keyGenerationMenuItemTitles]): new
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebFrameView.m: call [WebLocalizedStringFactory createSharedFactory]
-
-2003-11-20 Richard Williamson <rjw@apple.com>
-
- Added spin of event loop during applet lookup poll. This
- is necessary to allow timers and performOnMainThread: methods
- a chance to fire. The plugin depends on these mechanisms during
- initialization.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge pollForAppletInView:]):
-
-2003-11-20 Ken Kocienda <kocienda@apple.com>
-
- John and I decided to apply the _web_ prefix to the tab key
- event method in the extras file, but I neglected to do this
- before checking in. Fixed now.
-
- * Misc.subproj/WebNSEventExtras.h:
- * Misc.subproj/WebNSEventExtras.m:
- (-[NSEvent _web_isTabKeyEvent])
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView keyDown:])
-
-2003-11-20 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Fix for this bug:
-
- <rdar://problem/3482159>: Tabbing to links gets "stuck" in "style switcher" on zeldman.com
-
- * Misc.subproj/WebNSEventExtras.h: Added.
- * Misc.subproj/WebNSEventExtras.m: Added.
- (-[NSEvent _isTabKeyEvent]): New helper.
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView keyDown:]): Pass the key event to super unconditionally
- if it is a tab key. This fixes the bug.
-
-2003-11-19 John Sullivan <sullivan@apple.com>
-
- - WebKit part of fix for:
- <rdar://problem/3305671>: Web pages print with 1.25" border without regard to Page
- Setup margin settings
-
- Reviewed by Dave.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView beginDocument]):
- Lay out the page into a width 25% wider than there's room for on the printed page.
- This will make pages that can fit into a thin area be scaled down a little when printed,
- which lets them fit on fewer pages. This closely matches what IE and Camino (at least)
- do; I used Google as my test page, and the Google logo is now precisely the same size
- when printed from Safari as when printed from IE. Pages that don't fit into a thin
- area are already causing the printed page to be scaled horizontally to fit, and this
- won't affect them.
-
-2003-11-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3489935>: Mentioning "to Disk" in context menus such as "Download Linked File To Disk..." is redundant
-
- Reviewed by john.
-
- * English.lproj/Localizable.strings:
- * English.lproj/StringsNotToBeLocalized.txt:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate menuItemWithTag:]): use "Download Linked File" and "Download Image"
-
-2003-11-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3488783>: Flash at http://www.sjwilson.net/reef/ does not load photos
- Reviewed by rjw.
-
- * Misc.subproj/WebKitNSStringExtras.h:
- * Misc.subproj/WebKitNSStringExtras.m:
- (-[NSString _web_stringByStrippingReturnCharacters]): new
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView requestWithURLCString:]): call _web_stringByStrippingReturnCharacters on the relative string
-
-2003-11-19 Richard Williamson <rjw@apple.com>
-
- More LiveConnect stuff. Horrible polling hack that
- blocks main thread waiting for applet to fully initialize.
-
- Reviewed by Ken.
-
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController addPlugin:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge pollForAppletInView:]):
-
-2003-11-19 David Hyatt <hyatt@apple.com>
-
- Make updateScrollers guard non-static, so that it applies only to the view whose scrollers are being
- updated.
- Reviewed by darin
-
- * WebView.subproj/WebDynamicScrollBarsView.h:
- * WebView.subproj/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
-
-2003-11-18 Richard Williamson <rjw@apple.com>
-
- More live connect stubs. We're getting close.
-
- Reviewed by Chris.
-
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController addPlugin:]):
- (-[WebPluginController _delayedGetApplet:]):
- * WebView.subproj/WebView.m:
- (-[WebView _goToItem:withLoadType:]):
-
-2003-11-17 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3487335: REGRESSION (112-113): "a:b" error message does not cite the URL properly
-
- * Misc.subproj/WebKitErrors.m:
- (+[NSError _webKitErrorWithCode:failingURL:]): Call _webKitErrorWithDomain:code:URL:.
- (+[NSError _webKitErrorWithDomain:code:URL:]): Call _web_errorWithDomain:code:URL:, instead of using
- the deprecated failingURL: flavor.
- (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
- Change this method to call the other one.
- (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): Implement this one,
- and put in the NSErrorFailingURLKey, as well as the NSErrorFailingURLStringKey, to match what Foundation
- now does for other errors.
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
- Change to use the non-deprecated flavor of the NSError call above.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes and other recent changes.
-
-2003-11-16 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dave.
-
- WebKit part of fix for:
-
- <rdar://problem/3131664>: add support for the window.print() command used for "print this page" buttons
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge print]): Call delegate.
- * WebView.subproj/WebDefaultUIDelegate.m:
- (-[WebDefaultUIDelegate webViewPrint:]): Implemented (do nothing).
- * WebView.subproj/WebUIDelegatePrivate.h: Added. Add extra SPI method webViewPrint:
- for UI delegate.
- * WebKit.pbproj/project.pbxproj: Install WebUIDelegatePrivate.h as private header
-
-2003-11-15 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash
- - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs
- - without causing 3484608 -- REGRESSION: Flash broken at http://www.macromedia.com/
-
- The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot.
- This has a side effect of not considering a page load done until all the plug-in streams are loaded.
- If that's not a good idea, we'll have to keep two separate lists in WebDataSource.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]):
- Set the defersCallbacks state from the WebView here so that clients don't have to do it.
-
- * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to
- set the defersCallbacks state on the subresource client, because the above change obviates it.
- (the client/delegate terminology makes it confusing, but it's a subclass). Also loosen the type
- so we can call this on clients for plug-in streams too.
- (-[WebDataSource _removeSubresourceClient:]): Loosen type here too.
- (-[WebDataSource _defersCallbacksChanged]): And here.
- * WebView.subproj/WebDataSourcePrivate.h: Loosen type of subresource client so we can pass in the
- delegates for plug-in streams too.
-
- * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very
- first callback, which does not rely on NSURLConnection.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient dealloc]): Release the initial request.
- (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be
- used when the request is no longer deferred. Also removed the code to call setDefersCallbacks:
- on the connection, and assert that we are only called when callbacks are not deferred. Because
- the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the
- WebView, so nothing would be deferred.
- (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the
- loadWithRequestNow: method, otherwise simply store the request in _initialRequest.
- (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are
- ceasing deferral of callbacks, then call the loadWithRequestNow: method.
-
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream start]): Call _addSubresourceClient, and then _removeSubresourceClient
- if the load fails to even start.
- (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): Call _removeSubresourceClient.
- (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): Call _removeSubresourceClient.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.h: Removed unneeded import.
- * Plugins.subproj/WebPluginDatabase.m: Add import needed now that WebBaseNetscapePluginStream.h
- imports less than before.
-
-2003-11-16 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - fixed 3362841 - javascript History Object length property is always 0
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge historyLength]): Add one to the length to match other browsers.
-
-2003-11-14 John Sullivan <sullivan@apple.com>
-
- - WebKit part of fix for <rdar://problem/3474757>: Safari on-screen text needs review
-
- Reviewed by Ken.
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate menuItemWithTag:]):
- change "Download Link to Disk" to "Download Linked File to Disk"
-
- * English.lproj/Localizable.strings:
- updated for these changes
-
-2003-11-14 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Fix for this bug:
-
- <rdar://problem/3481701>: Crashes before loading page/no error msg
- (forums.pelicanparts.com) Works in IE and Netscape
-
- This fix is really a workaround for this bug:
-
- <rdar://problem/3484937>: Horribly malformed URL crashes when call
- is made to CFURLCopyHostName
-
- The fix is to avoid all usages of [NSURL host] by replacing all
- such calls with a private URL method added to WebNSURLExtras.
-
- I copied a number of URL methods from the private NSURL
- extras file in Foundation to the WebKit URL extras file.
-
- * Misc.subproj/WebNSDataExtras.h: Added. Helper for new URL extras.
- * Misc.subproj/WebNSDataExtras.m: Ditto.
- (-[NSData _web_isCaseInsensitiveEqualToCString:]): New helper.
- * Misc.subproj/WebNSURLExtras.h:
- * Misc.subproj/WebNSURLExtras.m:
- (-[NSURL _web_hasQuestionMarkOnlyQueryString]): Added.
- (-[NSURL _web_schemeSeparatorWithoutColon]): Added.
- (-[NSURL _web_dataForURLComponentType:]): Added.
- (-[NSURL _web_schemeData]): Added.
- (-[NSURL _web_hostData]): Added.
- (-[NSURL _web_hostString]): Added.
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebView.m:
- (-[WebView userAgentForURL:]): Replace call to [NSURL host] with new
- extras _web_hostString method.
-
-=== Safari-114 ===
-
-2003-11-14 Vicki Murley <vicki@apple.com>
-
- - rolled out Darin's fixes for 3457162 and 3160035, since these changes broke plugins on macromedia.com and disney.go.com
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate setDataSource:]):
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _addSubresourceClient:]):
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient dealloc]):
- (-[WebMainResourceClient loadWithRequest:]):
- (-[WebMainResourceClient setDefersCallbacks:]):
-
-2003-11-14 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixes 3457162 -- selecting text during a page load that blows the text field away causes a crash
- - fixes 3160035 -- crash or hang if you hold down a button while "go to about:blank soon" test runs
-
- The WebKit part of this fix is making setDefersCallbacks: work. It had succumbed to bit rot.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate setDataSource:]):
- Set the defersCallbacks state from the WebView here so that clients don't have to do it.
- * WebView.subproj/WebDataSource.m: (-[WebDataSource _addSubresourceClient:]): Remove call to
- set the defersCallbacks state on the subresource client, because the above change obviates it.
- (the client/delegate terminology makes it confusing, but it's a subclass).
-
- * WebView.subproj/WebMainResourceClient.h: Added an _initialRequest field so we can defer the very
- first callback, which does not rely on NSURLConnection.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient dealloc]): Release the initial request.
- (-[WebMainResourceClient loadWithRequestNow:]): Moved the guts of loadWithRequest in here; to be
- used when the request is no longer deferred. Also removed the code to call setDefersCallbacks:
- on the connection, and assert that we are only called when callbacks are not deferred. Because
- the very first callback was not deferred, we would end up calling setDefersCallbacks:NO on the
- WebView, so nothing would be deferred.
- (-[WebMainResourceClient loadWithRequest:]): If callbacks are not deferred, then call the
- loadWithRequestNow: method, otherwise simply store the request in _initialRequest.
- (-[WebMainResourceClient setDefersCallbacks:]): If there is an _initialRequest and we are
- ceasing deferral of callbacks, then call the loadWithRequestNow: method.
-
-2003-11-13 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Fix for this bug:
-
- <rdar://problem/3483284>: Tabbing to links needs to honor new
- WebKit tab-to-links preference
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge dealloc]): Remove self from notification center.
- (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): Now
- checks for WebCoreKeyboardAccessTabsToLinks preference.
- (-[WebBridge keyboardUIMode]): Adds self to notification center
- to pick up changes to WebPreferences.
-
-2003-11-13 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Fix for this bug:
-
- <rdar://problem/3481719>: WebKit needs preference for tabbing to links
-
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]): Add initialization of new
- WebKitTabToLinksPreferenceKey.
- (-[WebPreferences setTabsToLinks:]): Added preference setter.
- (-[WebPreferences tabsToLinks]): Added preference getter.
- * WebView.subproj/WebPreferencesPrivate.h: Declared new methods as
- SPI on WebPreferences.
-
-2003-11-12 Richard Williamson <rjw@apple.com>
-
- Fixed 3475082. Remove unnecessary orderKey before showKey.
-
- Written by Ed Voas.
-
- Reviewed by Richard.
-
- * Carbon.subproj/CarbonWindowAdapter.m:
- (-[CarbonWindowAdapter makeKeyWindow]):
-
-2003-11-12 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3482147>: replace _releaseFutureIconForURL assertion with a log statement
-
- Reviewed by rjw.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _releaseFutureIconForURL:]):
-
-2003-11-10 Richard Williamson <rjw@apple.com>
-
- Fixed 3478765. Use ICU to access unicode properties.
- Fixed 3478831. Unicode property/conversion functions should be 32 bit savvy.
- Fixed 3478885. Remove dead arabic shaping code
-
- Reviewed by Darin.
-
- * Misc.subproj/WebUnicode.h:
- * Misc.subproj/WebUnicode.m:
- (_unicodeDigitValue):
- (_unicodeDirection):
- (_unicodeMirrored):
- (_unicodeMirroredChar):
- (_unicodeLower):
- (_unicodeUpper):
- (WebKitInitializeUnicode):
- (shapeForNextCharacter):
- (initializeCharacterShapeIterator):
- * Misc.subproj/WebUnicodeTables.m:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (widthForNextCharacter):
- (fontContainsString):
-
-2003-11-10 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3478351>: Safari: URL Alias on Dock failed to open the 2byte URL
-
- Reviewed by dave.
-
- * Misc.subproj/WebNSURLExtras.m:
- (-[NSString _web_mapHostNameWithRange:encode:makeString:]): if the host name is percent-escaped, use CFURLCreateStringByReplacingPercentEscapes
-
-2003-11-10 Richard Williamson <rjw@apple.com>
-
- Use ICU for upper/lower conversion. Fixed 3477157, 3478455, 3478456, 3478457, 3478486.
- Remaining issues with surrogates (3477159) and Turkish I (3478482).
-
- Reviewed by Ken.
-
- * Misc.subproj/WebUnicode.m:
- (_unicodeLower):
- (_unicodeUpper):
-
-2003-11-07 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3240778>: add "save" menu item to contextual menu for text pages
-
- Reviewed by darin.
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView menuForEvent:]): Made WebTextView's context menu behavior like WebHTMLView's context menu behavior with regards to selection. If the control-click was on a selection, show menu options for the selection like copy. If it was not on a
-
-
- selection, show menu options such as save and print. Don't select anything when control-clicking.
-
-2003-11-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3478022>: assertion failure while loading WMP content
-
- Reviewed by darin.
-
- * ChangeLog:
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Don't continue if the stream is cancelled in startStreamWithResponse.
-
-2003-11-07 Richard Williamson <rjw@apple.com>
-
- Fixed 3477067. Use our case unicode conversion routines.
-
- Reviewed by Ken.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (toUpper):
-
-2003-11-06 Richard Williamson <rjw@apple.com>
-
- Fixed 3476393. Call scrollPoint: recursively up the view hierarchy to ensure point is visible.
-
- Reviewed by Ken.
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_scrollPointToVisible:fromView:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView scrollPoint:]):
-
-=== Safari-113 ===
-
-2003-11-05 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3473913 -- host names in simple mailto URLs are not getting encoded/decoded correctly yet
-
- * Misc.subproj/WebNSURLExtras.m:
- (applyHostNameFunctionToMailToURLString): Handle case where host name is at the end of the string.
- (applyHostNameFunctionToURLString): Add the # character to the set of characters that can end
- a domain name.
-
-2003-11-05 Richard Williamson <rjw@apple.com>
-
- Fixed 3413067, 3405797, 3456877
- Use ATSUI to render Arabic and Hebrew.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (shouldUseATSU):
-
-2003-11-05 John Sullivan <sullivan@apple.com>
-
- - fixed <rdar://problem/3469791>: Bigger/Smaller commands are
- disabled for HTML Mail in separate window (w/WebKit-111)
-
- Reviewed by Darin.
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView acceptsFirstResponder]):
- always be willing to become first responder, even if no page
- has yet been loaded.
- (-[WebFrameView becomeFirstResponder]):
- if no page has yet been loaded (so our scrollview refuses
- first responder-ness), don't do any special becoming-first-
- responder shenanigans.
-
- Also removed obsolete overrides for nextKeyView, nextValidKeyView,
- previousKeyView, and previousValidKeyView that are no longer
- required now that we handle the key loop more like NSScrollView.
-
- * WebView.subproj/WebFrameViewPrivate.h:
- removed now-unused ivar inNextValidKeyView
-
-2003-11-05 Richard Williamson <rjw@apple.com>
-
- Fixed 3029966. Animated backgrounds specified in <BODY> don't animate
- Fixed 3474824. Tiled animated GIFs don't animate.
- Fixed 3029966. Animated backgrounds specified with CSS don't animate.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer nextFrame:]):
- (-[WebImageRenderer drawImageInRect:fromRect:]):
- (-[WebImageRenderer startAnimationIfNecessary]):
- (-[WebImageRenderer tileInRect:fromPoint:]):
- * WebView.subproj/WebImageView.m:
- (-[WebImageView drawRect:]):
-
-2003-11-05 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3201364>: Safari crashes when hosting carbon plug-in using drag and drop
-
- Reviewed by rjw.
-
- * WebView.subproj/WebView.m:
- (-[WebView draggingUpdated:]): return NSDragOperationNone if we're over a plug-in view so the plug-in can handle the drag
-
-2003-11-05 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3474360>: should attempt to resolve symbolic links when choosing "Save Link As..."
-
- Reviewed by kocienda.
-
- * WebView.subproj/WebView.m:
- (-[WebView _fileWrapperForURL:]): follow sym links
-
-2003-11-05 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3455910>: hitting up or down arrows when focus
- is on a pop-up menu should pop the menu
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView keyDown:]): Call super with the event if focus
- is on a pop up button.
-
-2003-11-05 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Maciej
-
- Fix for these bugs:
-
- <rdar://problem/3467558>: Cannot tab to form file input widgets
- <rdar://problem/3473631>: WebFileButton sends notifications to communicate with WebCore
-
- Tabbing now works for these widgets. While I was in the neighborhood,
- I improved the communication mechanism between the WebKit and WebCore
- sides of the file button implementation, replacing notifications
- with a callback object.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge fileButtonWithDelegate:]): Method now takes a
- delegate object.
- * WebCoreSupport.subproj/WebFileButton.h:
- * WebCoreSupport.subproj/WebFileButton.m:
- (-[WebFileButton initWithBridge:delegate:]):
- (-[WebFileButton initWithFrame:]):
- (-[WebFileButton dealloc]):
- (-[WebFileButton chooseFilename:]): Sends callback rather than posting
- a notification.
- (-[WebFileButton chooseButtonPressed:]): Ditto.
- (-[WebFileButton mouseDown:]):
- (-[WebFileButton acceptsFirstResponder]):
- (-[WebFileButton becomeFirstResponder]): Make the button subview
- first responder.
- (-[WebFileButton nextKeyView]): Hook up to WebBridge key view machinery.
- (-[WebFileButton previousKeyView]): Ditto.
- (-[WebFileButton nextValidKeyView]): Ditto.
- (-[WebFileButton previousValidKeyView]): Ditto.
- (-[WebFileChooserButton initWithDelegate:]):
- (-[WebFileChooserButton nextValidKeyView]): Ditto.
- (-[WebFileChooserButton previousValidKeyView]): Ditto.
- (-[WebFileChooserButton resignFirstResponder]): Sends a focus change
- callback.
-
-2003-11-04 Darin Adler <darin@apple.com>
-
- Reviewed by John, except for one bit reviewed by Maciej.
-
- - first step for IDNA support; helper functions for Safari
-
- * Misc.subproj/WebNSURLExtras.h: Add six new methods to manipulate host names directly.
- * Misc.subproj/WebNSURLExtras.m:
- (applyHostNameFunctionToMailToURLString): Added. Finds host names within a mailto URL.
- (applyHostNameFunctionToURLString): Added. Finds host names within a URL.
- (collectRangesThatNeedMapping): Added. Builds a list of host name ranges that need mapping.
- (collectRangesThatNeedEncoding): Added. Calls the above for encoding.
- (collectRangesThatNeedDecoding): Added. Calls the above for decoding.
- (mapHostNames): Added. Helper function that does the entire mapping process for a URL.
- (+[NSURL _web_URLWithUserTypedString:]): Call mapHostNames to encode after trimming whitespace.
- (-[NSURL _web_userVisibleString]): Call mapHostNames to decode after decoding escape sequences.
- (-[NSURL _webkit_URLByRemovingFragment]): Removed unneeded redundant NULL check.
- (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Added. Workhorse function to call
- the IDN functions in the Unicode library.
- (-[NSString _web_hostNameNeedsDecodingWithRange:]): Added.
- (-[NSString _web_hostNameNeedsEncodingWithRange:]): Added.
- (-[NSString _web_decodeHostNameWithRange:]): Added.
- (-[NSString _web_encodeHostNameWithRange:]): Added.
- (-[NSString _web_decodeHostName]): Added.
- (-[NSString _web_encodeHostName]): Added.
-
- * WebKit.pbproj/project.pbxproj: Added libicucore.dylib.
- * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes.
-
-2003-11-04 John Sullivan <sullivan@apple.com>
-
- - a little optimization I noticed when looking at 3125137
-
- Reviewed by Chris.
-
- * Misc.subproj/WebStringTruncator.m:
- (truncateString):
- if incoming string has length 0, bail out right away
-
-2003-11-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3472403>: RTFD of copied text and images should use original image data not tiffs
- <rdar://problem/3472435>: dragging local image file downloads it instead of copies it
- <rdar://problem/3472450>: copied and dragged local image files are TIFF, not original image data
- Reviewed by john.
-
- * Misc.subproj/WebNSPasteboardExtras.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]): new
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragImage:fileWrapper:rect:URL:title:event:]): take a file wrapper instead of data so [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:] can be called
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge fileWrapperForURL:]): call fileWrapperForURL on the WebView
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate copyImageToClipboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _handleMouseDragged:]): when calling _web_dragImage, pass a file wrapper from fileWrapperForURL
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call fileWrapperForURL
- * WebView.subproj/WebImageRepresentation.h:
- * WebView.subproj/WebImageRepresentation.m:
- (-[WebImageRepresentation fileWrapper]): new
- * WebView.subproj/WebImageView.m:
- (-[WebImageView writeImageToPasteboard:]): call [NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]
- (-[WebImageView mouseDragged:]): pass the file wrapper to _web_dragImage
- * WebView.subproj/WebView.m:
- (-[WebView _fileWrapperForURL:]): new, returns a file wrapper from a local file or from the cache
- * WebView.subproj/WebViewPrivate.h:
-
-2003-11-04 John Sullivan <sullivan@apple.com>
-
- - fixed <rdar://problem/3472813>: REGRESSION (100-111): Some tabs start
- out scrolled down to focused text field
-
- Reviewed by Ken.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView acceptsFirstResponder]):
- The logic to avoid accepting first responder on clicks was too broad;
- it was rejecting first-responder-ness even for clicks outside of this
- view. Clicking a tab item was going through some logic in NSTabView
- looking for the first valid key view starting with the web view, but the
- web view was returning NO due to this faulty click logic. Thus the
- first subview text field was becoming first responder, and causing scroll.
-
-2003-11-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3472377>: Provide NSRTFDPboardType on pasteboard when copying or dragging images
- <rdar://problem/3470809>: REGRESSION (111-112): Can't copy & paste image into Photoshop 7
-
- Reviewed by hyatt.
-
- * Misc.subproj/WebNSPasteboardExtras.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeFileDataAsRTFDAttachment:withFilename:]): renamed, now writes file data as an RTF attachment
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): call renamed _web_writeFileDataAsRTFDAttachment
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate copyImageToClipboard:]): call renamed _web_writeFileDataAsRTFDAttachment
- * WebView.subproj/WebImageView.m:
- (-[WebImageView writeImageToPasteboard:]): call renamed _web_writeFileDataAsRTFDAttachment
-
-2003-11-03 Vicki Murley <vicki@apple.com>
-
- Reviewed by kocienda.
-
- - fixed <rdar://problem/3471096>: non-B&I builds should not use order files, because they cause false "regressions" in perf.
-
- * WebKit.pbproj/project.pbxproj: added empty SECTORDER_FLAGS variables to the Development and Deployment build styles
-
-2003-11-03 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Fix for this bug:
-
- <rdar://problem/3470342>: focus rings are shown for links in
- web pages even in non-frontmost windows
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView updateFocusRing]): New method. Uses the "keyness"
- of the view's window to toggle focus ring drawing.
- (-[WebHTMLView windowDidBecomeKey:]): Calls updateFocusRing.
- (-[WebHTMLView windowDidResignKey:]): Ditto.
-
-2003-11-01 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - remove use of obsolete HTTLCookiePolicyBaseURL SPI
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- startLoadingResource:withURL:referrer:forDataSource:]): Use
- setMainDocumentURL, not setHTTPCookiePolicyBaseURL.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]): Likewise.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]): Likewise.
-
-2003-11-01 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3470882 -- storage leaks in WebDownload code
- - fixed 3470884 -- download is always nil in downloadWindowForAuthenticationSheet: call from WebDownload
-
- * Misc.subproj/WebDownload.m:
- (-[WebDownloadInternal initWithDownload:]): Removed this method, which was never called.
- (-[WebDownloadInternal dealloc]): Added missing call to [super dealloc] to fix one cause
- of a leak of the WebDownloadInternal object itself. Removed the release of webDownload,
- which was always nil, and if it wasn't would end up causing a leak due to a reference cycle.
- (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Remove the use of
- webDownload, which was always nil, and instead use the download parameter passed to us,
- casting it to WebDownload, since it's guaranteed to be one.
- (-[WebDownload _setRealDelegate:]): Added. Shared by the methods below to set up the real
- delegate before calling init. The old code called init twice, causing an second call to the
- superclass's init method, which caused it to create an extra copy of its internal structure,
- as well as causing us to create two WebDownloadInternal objects.
- (-[WebDownload init]): Don't allocate a second WebDownloadInternal if _setRealDelegate already
- allocated it for us. Before we would allocate and leak an extra one each time.
- (-[WebDownload dealloc]): Added. Releases the WebDownloadInternal. This is the second cause
- of the leak of the WebDownloadInternal object.
- (-[WebDownload initWithRequest:delegate:]): Call [self _setRealDelegate:] instead of calling
- [self init] and then [_webInternal setRealDelegate:], avoiding the leaks caused by doing it
- the other way.
- (-[WebDownload _initWithLoadingConnection:request:response:delegate:proxy:]): Ditto.
- (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): Ditto.
- (-[WebDownload _initWithRequest:delegate:directory:]): Ditto.
-
-2003-10-31 David Hyatt <hyatt@apple.com>
-
- Fix for 3466542, add a real minimum font size setting.
- Reviewed by john
-
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]):
- (-[WebPreferences setMinimumFontSize:]):
- (-[WebPreferences minimumLogicalFontSize]):
- (-[WebPreferences setMinimumLogicalFontSize:]):
- * WebView.subproj/WebView.m:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
-
-2003-10-31 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3469088>: focus not removed from text link
- when user hits cmd-L or clicks in window chrome
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView deselectText]): Added new method just to deselect text.
- (-[WebHTMLView resignFirstResponder]): Just deseclect text if we
- are doing a programmatic setting of focus. Deselect all otherwise.
-
-2003-10-30 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3458368>: drawing to the screen while window hidden: http://www.bhphotovideo.com/
-
- Reviewed by john.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): clip out the plug-in when the window is miniaturized or hidden
- (-[WebBaseNetscapePluginView restartNullEvents]): don't restart null events if the window is miniaturized, this allows restartNullEvents to be called in start and viewDidMoveToWindow without needing to make the check
- (-[WebBaseNetscapePluginView start]): just call restartNullEvents instead of checking if the window is miniaturized
-
-2003-10-30 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Hyatt
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge documentView]): Added.
- * WebCoreSupport.subproj/WebGraphicsBridge.h: Added.
- * WebCoreSupport.subproj/WebGraphicsBridge.m: Added.
- (+[WebGraphicsBridge createSharedBridge]): Added.
- (-[WebGraphicsBridge setFocusRingStyle:radius:color:]): Added.
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebFrameView.m: Create a WebGraphicsBridge
- when creating a WebFrameView.
-
-=== Safari-112 ===
-
-2003-10-29 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3467632 - Leak of plugin info visiting http://www.ebay.com
- * Plugins.subproj/WebBasePluginPackage.m:
- (-[WebBasePluginPackage dealloc]): Release lastModifiedDate.
-
-2003-10-29 Chris Blumenberg <cblu@apple.com>
-
- WebKit part of fix for:
- <rdar://problem/3467744>: Photoshop files (.psd) don't show up in Open dialog in Safari, but can be viewed
- <rdar://problem/3109132>: Can't open movie file via open panel even though it can be dropped in browser window
-
- Reviewed by john.
-
- * WebView.subproj/WebView.m:
- (+[WebView _supportedMIMETypes]): new
- (+[WebView _supportedFileExtensions]): new
- * WebView.subproj/WebViewPrivate.h:
-
-2003-10-29 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3438716>: jpg and gif images copied from Safari and placed in mail are sent as tiff
-
- Reviewed by john.
-
- * Misc.subproj/WebNSPasteboardExtras.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeFileContents:withFilename:]): new
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragImage:originalData:rect:URL:title:event:]): now takes originalData and calls _web_fileContents:withFilename:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate copyImageToClipboard:]): call _web_writeFileContents:withFilename:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _handleMouseDragged:]): call renamed _web_dragImage and [WebView _cachedResponseForURL:]
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call [WebView _cachedResponseForURL:]
- * WebView.subproj/WebImageView.m:
- (-[WebImageView writeImageToPasteboard:]): call _web_writeFileContents:withFilename:
- (-[WebImageView mouseDragged:]): call renamed _web_dragImage
- * WebView.subproj/WebView.m:
- (-[WebView _cachedResponseForURL:]): new
- * WebView.subproj/WebViewPrivate.h:
-
-2003-10-28 John Sullivan <sullivan@apple.com>
-
- - fixed <rdar://problem/3466082>: 7B85/111: Crash viewing web page ([WebView setNextKeyView:])
-
- Reviewed by Chris.
-
- * WebView.subproj/WebView.m:
- (-[WebView dealloc]):
- set _private to nil after releasing, because [super dealloc] can dispatch to it
- (-[WebView mainFrame]):
- fixed spelling error in comment
-
-2003-10-28 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3465383>: REGRESSION: Text field progress bar goes to 100% after error or stop
- Reviewed by john.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _isLoadComplete]): call _progressCompleted after we deliver the didFailLoadWithError or didFinishLoadForFrame message as we do in other places. This allows to be aware of the error (if there is one), when they get the WebViewProgressFi
-
-
-nishedNotification notification.
-
-2003-10-27 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3083264 - frame names changed by JavaScript are not reflected in WebFrame at the WebKit level
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge didSetName:]): Tell the WebFrame about its new name.
-
-2003-10-28 John Sullivan <sullivan@apple.com>
-
- - fixed 3465613 -- REGRESSION (111): Crash creating nib that
- contains WebView
-
- Reviewed by Chris.
-
- * WebView.subproj/WebView.m:
- (-[WebView mainFrame]):
- check for nil _private before dereferencing.
-
-2003-10-28 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3465591>: Security: Netscape plug-ins can execute JavaScript in other frames
-
- Reviewed by mjs.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): renamed, no need to pass the target frame since the target is either the plug-in itself or the frame that contains the plug-in
- (-[WebBaseNetscapePluginView loadPluginRequest:]): call renamed evaluateJavaScriptPluginRequest
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): if this is a JS request that is targeted at a frame, return NPERR_INVALID_PARAM if the frame is not the frame that contains the plugin
-
-2003-10-28 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3437959>: javascript: URLs don't work from Java (and other Cocoa plugins, if any)
-
- Reviewed by mjs.
-
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController showURL:inFrame:]): support JS requests targeted only to the plug-in's frame.
-
-2003-10-27 John Sullivan <sullivan@apple.com>
-
- - fixed 3441258 -- hysteresis to start dragging a link is too small; too easy to start drag
-
- Reviewed by Chris.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _handleMouseDragged:]):
- Split DragHysteresis into two values, one for links and one for images. Make
- the link one much larger than the image one (since dragging an image doesn't
- occur accidentally in the ways that dragging a link does).
-
-2003-10-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3462523>: Safari Sometimes Destroys Applets When Going "Back"
-
- Reviewed by darin.
-
- * History.subproj/WebHistoryItem.m:
- (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): Don't destroy plug-ins that are currently being viewed.
-
-2003-10-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3463144>: assertion failure when viewing jpeg with SoundPix installed
-
- Reviewed by john.
-
- * WebView.subproj/WebDataSource.m:
- (+[WebDataSource _repTypesAllowImageTypeOmission:]): don't allow image types to override types that are already registered as we do in [WebFrameView _viewTypesAllowImageTypeOmission:]
-
-2003-10-24 Chris Blumenberg <cblu@apple.com>
-
- Fixed:
- <rdar://problem/3462977>: ER: Nice if images dragged from web pages didn't redownload
- <rdar://problem/3031582>: Dragging an image to the desktop doesn't leave the file where I dropped it
- <rdar://problem/3061371>: "CFURLGetFSRef failed" log when dragging image to Finder
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): attempt to fetch the image data from the cache, if that works, write out the file
-
-2003-10-26 Darin Adler <darin@apple.com>
-
- * WebKitPrefix.h: Add a definition of NULL here so we get the stricter type checking
- even on pre-Merlot systems.
-
-=== Safari-111 ===
-
-2003-10-24 Richard Williamson <rjw@apple.com>
-
- Fixed 3425358. Don't try to create page cache for pages that
- have a nil view().
-
- Reviewed by Hyatt.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _createPageCacheForItem:]):
- (-[WebFrame _setState:]):
-
-2003-10-24 Chris Blumenberg <cblu@apple.com>
- Fixed: <rdar://problem/3424039>: standalone plug-in content occasionaly redirects to blank page
-
- Reviewed by john.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): don't honor JS requests from standalone plug-ins to workaround 3462628 which is a deeper issue.
-
-2003-10-24 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3462256>: REGRESSION: Plain text is downloaded
-
- Reviewed by john.
-
- * WebView.subproj/WebView.m:
- (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): use _web_objectForMIMEType when getting an object for a MIME. Removed unnecessary code that checked for the document classes after loading the plug-in DB since it is not an optimization because
-
-
- the plug-in DB calls _viewTypesAllowImageTypeOmission:NO.
-
-2003-10-23 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3364036>: ER: Allow plug-ins to override built-in types such as image/jpeg
-
- Reviewed by john.
-
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase refresh]): Allow plug-ins to override built-in types except for our core HTML types and don't allow the QT plug-in to override any types because it handles many types that we already handle
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:): instead of asserting, handle the case where we ask a plug-in to map from an extension to a MIME type, but nil is returned
- (-[WebBridge frameRequiredForMIMEType:URL:]): no need to start up the plug-in DB because this is now handled by [WebView _viewClass:andRepresentationClass:forMIMEType:]
- * WebView.subproj/WebDataSource.m:
- (+[WebDataSource _representationClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
- (-[WebDataSource _makeRepresentation]): call _representationClassForMIMEType
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _makeDocumentViewForDataSource:]): tweak
- (+[WebFrameView _viewClassForMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
- * WebView.subproj/WebView.m:
- (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): new, central place for mapping from a MIME to the document classes. We now load the plug-in DB when a non-HTML MIME type is encountered instead of loading the plug-in DB when the class for the
-
-
-MIME type is not found. This is required to fully fix 3364036.
- (+[WebView canShowMIMEType:]): call [WebView _viewClass:andRepresentationClass:forMIMEType:]
- (+[WebView registerViewClass:representationClass:forMIMEType:]): tweak
- * WebView.subproj/WebViewPrivate.h:
-
-2003-10-23 John Sullivan <sullivan@apple.com>
-
- - fixed 3459272 -- Can't set up keyboard loop inside a
- WebDocumentView without subclassing views
- - fixed 3179062 -- can't tab back to address bar from image-only
- page
- - fixed 3252009 -- tabbing from address bar to content area does
- not work with WebTextView
- - fixed 3461398 -- Can't click on a standalone image to focus it
- (for later keyboard scrolling)
-
- I redid the way WebView and WebFrameView splice themselves into
- the keyview loop in a way very similar to what NSScrollView and
- NSClipView do. This means that contained and sibling views won't
- need to do anything special to put themselves into the key loop.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _scrollView]):
- check for nil pointer before dereferencing; this can happen
- during [super dealloc]'s keyview-loop-fixup code
- (-[WebFrameView initWithFrame:]):
- wire our nextKeyView link to the contained scrollview (so
- previousKeyView will work correctly from scrollview)
- (-[WebFrameView acceptsFirstResponder]):
- return what the contained scrollview says
- (-[WebFrameView becomeFirstResponder]):
- in previous direction, use previousValidKeyView (follows normal
- NSView keyview links); in forward direction, hand first
- responder-ness to contained scrollview (which will in turn hand
- it down to clipview, which will in turn hand it down to document)
- (-[WebFrameView setNextKeyView:]):
- wire up scrollview instead of self, if it exists
-
- * WebView.subproj/WebImageView.m:
- (-[WebImageView acceptsFirstResponder]):
- overridden to return YES; this fixes 3461398 and puts the finishing
- touches on 3179062
-
- * WebView.subproj/WebView.m:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- wire our nextKeyView link to the contained webframeview (so
- previousKeyView will work correctly from webframeview). Also,
- if there's a nextKeyView already set (in a nib, e.g.), wire
- it to our contained webframeview.
- (-[WebView acceptsFirstResponder]):
- return what the contained webframeview says
- (-[WebView becomeFirstResponder]):
- in previous direction, use previousValidKeyView (follows normal
- NSView keyview links); in forward direction, hand first
- responder-ness to contained webframeview (which will in turn hand
- it down to scrollview, etc.)
- (-[WebView setNextKeyView:]):
- wire up webframeview instead of self, if it exists
-
-2003-10-22 Richard Williamson <rjw@apple.com>
-
- Match WebCore's notion of distributing linegap between top and bottom of
- line. WebKit used to put it all at the bottom of the line.
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:usingPrinterFont:]):
- (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
-
-2003-10-21 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dave.
-
- Finished exception blocking changes, so now I can finally say:
-
- - fixed 3137084 - Many non-reproducible crashers in ContextImp::mark / ScopeChain::mark
- - fixed 3308848 - nil-deref in KHTMLView::topLevelWidget
- - fixed 3311511 - nil deref inside KJS::Screen
- - fixed 3397422 - 7B51: Safari crashed in KJS::ObjectImp::mark()
- - fixed 3408373 - Panther7B58 : Safari Crashed in KJS::ObjectImp::mark
- - fixed 3409307 - 7B55: safari crashed in KJS::Interpreter::globalExec() (idle, nothing particular going on)
- - fixed 3410160 - 7B60 Safari crashed in KHTMLPart::parentPart called from JS while in the background
- - fixed 3413224 - unrepro crash in KJS::Window::mark
- - fixed 3419940 - unrepro crash in KJS::Collector::allocate trying to access http://www.lindyinthepalms.com
- - fixed 3420123 - Panther7B66: Safari crashed while going to http://www.tangents.co.uk/index2.html
- - fixed 3423225 - Safari crash in vtable for KWQMapImpl (vtable for KWQMapImpl + 8).
- - fixed 3437190 - nil-deref on quit in calling marked() from ScopeChain::mark()
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer ascent]):
- (-[WebTextRenderer descent]):
- (-[WebTextRenderer lineSpacing]):
- (-[WebTextRenderer xHeight]):
- (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
- (-[WebTextRenderer _smallCapsRenderer]):
- (-[WebTextRenderer _initializeATSUStyle]):
- (-[WebTextRenderer _createATSUTextLayoutForRun:]):
- (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
- (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
- (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
- (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
-
-2003-10-22 Richard Williamson <rjw@apple.com>
-
- Fixed 3458715. Reset to 0, not .1 when done.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebView.m:
- (-[WebView _resetProgress]):
- (-[WebView _progressStarted:]):
-
-2003-10-21 Richard Williamson <rjw@apple.com>
-
- Don't use small caps font for characters that don't have an
- uppercase counterpart (i.e. punctuation marks).
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (widthForNextCharacter):
-
-2003-10-21 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3176170>: OBJECT tag with no or empty TYPE is mishandled
- Reviewed by rjw.
-
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase pluginForExtension:]): If no plug-in is found from the extension, attempt to map from the extension to a MIME type using our mappings and find a plug-in from the MIME type. This improves our chances of finding a plug-in when n
-
-
-o MIME type is specified.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): If the passed MIME is empty, nil it out so that clients only need to check for nil. This avoids error sheets complaining about "" MIME types.
- (-[WebBridge frameRequiredForMIMEType:URL:]): Renamed to include URL. If no MIME is specified, only create a plug-in view if we can map from the extension.
-
-2003-10-20 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3457627>: empty Flash plugin at tvguide.com
- Fixed issues with plug-in stream error handling.
- Improved plug-in logging.
-
- Reviewed by kocienda.
-
- * Misc.subproj/WebKitLogging.h: added WebKitLogPluginEvents
- * Misc.subproj/WebKitLogging.m:
- * Plugins.subproj/WebBaseNetscapePluginStream.h:
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): improved logging
- (-[WebBaseNetscapePluginStream destroyStream]): improved logging
- (-[WebBaseNetscapePluginStream destroyStreamWithFailingReason:]): renamed from cancelWithReason to avoid confusion
- (-[WebBaseNetscapePluginStream receivedError:]): calls destroyStreamWithFailingReason after determining a reason from the NSError
- (-[WebBaseNetscapePluginStream cancelWithReason:]): calls destroyStreamWithFailingReason, this method is overriden by subclasses to cancel the actual load
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call destroyStreamWithFailingReason, not cancelWithReason because the loaded has already ended here
- (-[WebBaseNetscapePluginStream deliverData]): improved logging
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendActivateEvent:]): use even logging
- (-[WebBaseNetscapePluginView sendUpdateEvent]): ditto
- (-[WebBaseNetscapePluginView becomeFirstResponder]): ditto
- (-[WebBaseNetscapePluginView resignFirstResponder]): ditto
- (-[WebBaseNetscapePluginView mouseDown:]): ditto
- (-[WebBaseNetscapePluginView mouseUp:]): ditto
- (-[WebBaseNetscapePluginView mouseEntered:]): ditto
- (-[WebBaseNetscapePluginView mouseExited:]): ditto
- (TSMEventHandler): ditto
- (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelWithReason so the reason is passed back to the plug-in
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]): tweak
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call receivedError
- (-[WebNetscapePluginRepresentation cancelWithReason:]): override, cancel the load, call super
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream cancelWithReason:]): override, cancel the load, call super
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): be sure to call the stream before calling super because the stream can be cleared out when calling super
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): ditto
- (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
- (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto
-
-2003-10-20 Richard Williamson <rjw@apple.com>
-
- Conditionally excluded fix for 3446192. We'll enable the fix once 3446669
- has been fixed. This patch switches to the new UTI typing API for pasteboard types.
-
- Reviewed by Ken.
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (+[NSPasteboard initialize]):
-
-2003-10-20 Richard Williamson <rjw@apple.com>
-
- Fixed 3456103. Don't assert, just check for inappropriate state.
- Reviewed by Hyatt
-
- Add a debug menu item to always use ATSU text drawing. This will be helpful
- to the ATSU folks in performance tuning there API. Right now I see approx.
- 2X slowdown using ATSU.
-
- Also did some shuffling around of inline related stuff.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (isControlCharacter):
- (isAlternateSpace):
- (isSpace):
- (getUncachedWidth):
- (widthFromMap):
- (widthForGlyph):
- (+[WebTextRenderer _setAlwaysUseATSU:]):
- (glyphForCharacter):
- (glyphForUnicodeCharacter):
- (shouldUseATSU):
- * WebView.subproj/WebView.m:
- (+[WebView _setAlwaysUseATSU:]):
- (-[WebView _progressCompleted:]):
- * WebView.subproj/WebViewPrivate.h:
-
-2003-10-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3442218>: crash due to infinite recursion trying to load standalone plug-in content
-
- Reviewed by darin.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame stopLoading]): manage the isStoppingLoad ivar, return if isStoppingLoad is YES
- * WebView.subproj/WebFramePrivate.h: added the isStoppingLoad ivar
-
-2003-10-19 Darin Adler <darin@apple.com>
-
- Reviewed by Dave and Ken.
-
- - fixed 3457066 -- REGRESSION (91-92): command-left-arrow causes a scroll to the left before going back
-
- * WebView.subproj/WebFrameView.m: (-[WebFrameView keyDown:]): Add an else so that we don't fall into the
- scrolling code when the command key is down for right and left arrow.
-
-2003-10-18 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3229530>: Dragging standalone image to desktop should save it, not re-download it
-
- Reviewed by darin.
-
- * English.lproj/Localizable.strings:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDocumentPrivate.h: Added.
- * WebView.subproj/WebImageRepresentation.h:
- * WebView.subproj/WebImageRepresentation.m:
- (-[WebImageRepresentation dealloc]): release new filename and data ivars
- (-[WebImageRepresentation doneLoading]): return YES if data is non-nil
- (-[WebImageRepresentation setDataSource:]): store the filename
- (-[WebImageRepresentation receivedError:withDataSource:]): store the data
- (-[WebImageRepresentation finishedLoadingWithDataSource:]): store the data
- (-[WebImageRepresentation data]): new
- (-[WebImageRepresentation filename]): new
- * WebView.subproj/WebImageView.m:
- (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): just save the image, don't download it
- (-[WebImageView image]): new
-
-2003-10-17 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3456176>: Assertion failure when loading atomfilms.com
-
- Reviewed by kocienda.
-
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:]): call super before calling plug-in code as we do in other callbacks
- (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]): ditto
- (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): ditto
-
-2003-10-16 Richard Williamson <rjw@apple.com>
-
- Fixed 3455306. Ensure that progress is correctly ended when a load is interupted (i.e. becomes a download).
-
- Reviewed by mjs.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _isLoadComplete]):
-
-2003-10-16 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3455176>: Assertion failure when loading non-existant plug-in content
-
- Reviewed by rjw.
-
- * Misc.subproj/WebDownload.m: fixed build failure when using new Foundation. We are overriding and calling a renamed method. Continue to override the old method, override the new method and declare their interfaces to avoid build failures.
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): cancel the load before telling the plug-in about the error so plug-in code doesn't attempt to cancel the load twice
-
-2003-10-16 Richard Williamson <rjw@apple.com>
-
- Fixed 3453991. We weren't setting the array cursor correctly after changing
- capacity.
-
- Reviewed by John.
-
- * ChangeLog:
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList setCapacity:]):
-
-=== Safari-110 ===
-
-2003-10-16 Richard Williamson <rjw@apple.com>
-
- Tweaked the progress behavior and factored cleanup of progress
- related ivars.
-
- Reviewed by Hyatt.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource _startLoading:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _isLoadComplete]):
- * WebView.subproj/WebView.m:
- (-[WebView _resetProgress]):
- (-[WebView _progressStarted:]):
- (-[WebView _finalProgressComplete]):
- (-[WebView _progressCompleted:]):
- (-[WebView _incrementProgressForConnection:data:]):
- * WebView.subproj/WebViewPrivate.h:
-
-2003-10-14 Richard Williamson <rjw@apple.com>
-
- Added logging for estimated progress.
-
- Added a time delta to the throttler, so we now send notifications
- if a delta amount has been exceeded OR a delta between notifications
- has been exceeded.
-
- Reviewed by Chris.
-
- * Misc.subproj/WebKitLogging.h:
- * Misc.subproj/WebKitLogging.m:
- * WebView.subproj/WebView.m:
- (-[WebViewPrivate init]):
- (-[WebView _progressStarted]):
- (-[WebView _progressCompleted]):
- (-[WebView _incrementProgressForConnection:data:]):
- * WebView.subproj/WebViewPrivate.h:
-
-2003-10-14 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3450449>: assertion failure in WebBridge
- _retrieveKeyboardUIModeFromPreferences
-
- Can't assert that the preference always exists and is valid as I
- thought you could. This could just mean that the a preference for full
- keyboard access has not been specified by the user yet. If this is so,
- just return the default keyboard access mode.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge _retrieveKeyboardUIModeFromPreferences:])
-
-2003-10-13 Richard Williamson <rjw@apple.com>
-
- Added support for small-caps.
-
- Reworked drawing and measuring to use new iterators. Position checking was already using
- the new iterator code, but I was reluctant to switch the mainline drawing and measuring
- code over to the new approach until now.
-
- Lots of other code cleanup.
-
- Reviewed by John.
-
- * Misc.subproj/WebUnicode.m:
- (initializeCharacterShapeIterator):
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (+[WebTextRenderer shouldBufferTextDrawing]):
- (+[WebTextRenderer initialize]):
- (-[WebTextRenderer initWithFont:usingPrinterFont:]):
- (-[WebTextRenderer dealloc]):
- (-[WebTextRenderer widthForCharacters:length:]):
- (-[WebTextRenderer widthForString:]):
- (-[WebTextRenderer ascent]):
- (-[WebTextRenderer descent]):
- (-[WebTextRenderer lineSpacing]):
- (-[WebTextRenderer xHeight]):
- (-[WebTextRenderer drawRun:style:atPoint:]):
- (-[WebTextRenderer floatWidthForRun:style:widths:]):
- (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
- (-[WebTextRenderer drawHighlightForRun:style:atPoint:]):
- (-[WebTextRenderer pointToOffset:style:position:reversed:]):
- (-[WebTextRenderer _setIsSmallCapsRenderer:]):
- (-[WebTextRenderer _isSmallCapsRenderer]):
- (-[WebTextRenderer _smallCapsRenderer]):
- (-[WebTextRenderer _smallCapsFont]):
- (-[WebTextRenderer _substituteFontForString:families:]):
- (-[WebTextRenderer _substituteFontForCharacters:length:families:]):
- (-[WebTextRenderer _convertCharacters:length:toGlyphs:skipControlCharacters:]):
- (-[WebTextRenderer _convertUnicodeCharacters:length:toGlyphs:]):
- (-[WebTextRenderer _computeWidthForSpace]):
- (-[WebTextRenderer _setupFont]):
- (_drawGlyphs):
- (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
- (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
- (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
- (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startPosition:numGlyphs:]):
- (-[WebTextRenderer _extendUnicodeCharacterToGlyphMapToInclude:]):
- (-[WebTextRenderer _updateGlyphEntryForCharacter:glyphID:font:]):
- (-[WebTextRenderer _extendCharacterToGlyphMapToInclude:]):
- (-[WebTextRenderer _extendGlyphToWidthMapToInclude:font:]):
- (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
- (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
- (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
- (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
- (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
- (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
- (freeWidthMap):
- (freeGlyphMap):
- (glyphForCharacter):
- (glyphForUnicodeCharacter):
- (mapForSubstituteFont):
- (widthFromMap):
- (widthForGlyph):
- (initializeCharacterWidthIterator):
- (widthAndGlyphForSurrogate):
- (ceilCurrentWidth):
- (widthForNextCharacter):
- (fillStyleWithAttributes):
- (findLengthOfCharacterCluster):
- (shouldUseATSU):
- (isControlCharacter):
- (isAlternateSpace):
- (isSpace):
- (fontContainsString):
- (GetScratchUniCharString):
- (toUpper):
- (isUpper):
-
-2003-10-10 Maciej Stachowiak <mjs@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Fixed for Private
- change from a while back.
-
-2003-10-10 David Hyatt <hyatt@apple.com>
-
- Patch to move widgets during layout instead of waiting until paint time.
- Reviewed by darin
-
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _isLoadComplete]):
- * WebView.subproj/WebHTMLView.m:
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2003-10-09 Richard Williamson <rjw@apple.com>
-
- Ensure that the autoscroll timer is always stopped if a mouse up event is lost.
-
- Reviewed by John.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLViewPrivate dealloc]):
- (-[WebHTMLView _startAutoscrollTimer:]):
- (-[WebHTMLView _stopAutoscrollTimer]):
- (-[WebHTMLView _autoscroll]):
- (-[WebHTMLView mouseDown:]):
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2003-10-09 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3333897>: should support navigator.plugins.refresh as a way to add a plugin without restarting Safari
-
- Reviewed by rjw.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView dealloc]): release the plug-in object
- * Plugins.subproj/WebBasePluginPackage.h:
- * Plugins.subproj/WebBasePluginPackage.m:
- (-[WebBasePluginPackage initWithPath:]): store the last mod date
- (-[WebBasePluginPackage dealloc]): release the last mod date
- (-[WebBasePluginPackage lastModifiedDate]): new
- (-[WebBasePluginPackage isEqual:]): new
- (-[WebBasePluginPackage hash]): new
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]): convert the NPP_Shutdown proc pointer so that we can use it later
- (-[WebNetscapePluginPackage unload]): added log message
- * Plugins.subproj/WebPluginDatabase.h:
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): tweak
- (-[WebPluginDatabase plugins]): tweak
- (-[WebPluginDatabase init]): call refresh
- (-[WebPluginDatabase refresh]): new
- (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]): tweak
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory refreshPlugins:]): new
- * WebView.subproj/WebControllerSets.h:
- * WebView.subproj/WebControllerSets.m:
- (+[WebViewSets makeWebViewsPerformSelector:]): new
- * WebView.subproj/WebFrame.m:
- (-[WebFrame _reloadForPluginChanges]): new
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebView _reloadForPluginChanges]): new
- * WebView.subproj/WebViewPrivate.h:
-
-=== Safari-109 ===
-
-2003-10-03 Richard Williamson <rjw@apple.com>
-
- Fix part of 3438071. Creating an instance of WebPreferences using init
- will do the expected thing: that is, create a new instance! We used to
- always return standardPreferences.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences init]):
- (+[WebPreferences standardPreferences]):
-
-2003-10-03 David Hyatt <hyatt@apple.com>
-
- Fix for numerous regressions caused by an inadvertent renaming of the recursiveDisplay
- override method.
- Reviewed by darin
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
-
-2003-10-03 Richard Williamson (Home0 <rjw@apple.com>
-
- Fixed some edge case issue (control characters after end of word) with our rounding hack.
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
-
-2003-10-03 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin, with much help from Maciej and Hyatt
-
- Fix for this bug:
-
- <rdar://problem/3441321>: Form buttons do not respond to key events when focused
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView _firstResponderIsControl]): Added to tell if the focus
- is on a form control.
- (-[WebFrameView keyDown:]): Call new _firstResponderIsControl method to see
- whether space bar key events should propagate. Adding this check keeps us
- from blocking the event here and allows AppKit to handle it.
- * WebView.subproj/WebFrameViewPrivate.h: Add new _firstResponderIsControl
- method.
-
-2003-10-02 Maciej Stachowiak <mjs@apple.com>
-
- Folded Private implementation files into the regular ones as the
- first step towards pulling in our SPI exposure and other code
- cleanup.
-
- * History.subproj/WebHistory.m:
- * History.subproj/WebHistoryPrivate.m: Removed.
- * Misc.subproj/WebIconDatabasePrivate.h:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.m: Removed.
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.m: Removed.
- * WebView.subproj/WebFrameView.m:
- * WebView.subproj/WebFrameViewPrivate.m: Removed.
- * WebView.subproj/WebHTMLView.m:
- * WebView.subproj/WebHTMLViewPrivate.m: Removed.
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.m: Removed.
-
-2003-10-02 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3440063>: Safari 1.1 won't load new pages after visiting adultswim.com, assertion failure on debug build
-
- Reviewed by rjw.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): if not data was received for a stream, create the temp file anyway. Plug-ins expect this.
-
-=== Safari-108 ===
-
-2003-10-02 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2003-10-01 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3441466 - REGRESSION: http://www.meyerweb.com/eric/css/edge/complexspiral/glassy.html broken on scroll
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _setState:]): Don't turn on scroll-blitting here when the page is done...
- (-[WebFrame _transitionToCommitted:]): Instead do it here, when the page is committed.
-
-2003-10-02 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - in preparation for a WebCore whitespace-handling change, made WebTextRenderer draw and measure
- newline characters as if they are spaces (just as we already do with non-breaking spaces)
- - removed some unused stuff from WebTextRenderer
- - other unimportant tweaks (e.g. unsigned int -> unsigned)
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (kFixedOne), (fixed1), (FixToFloat), (FloatToFixed): Removed these. We can use the standard ones
- from <FixMath.h> instead of defining our own.
- (isControlCharacter): Added. Inline function that we can use instead of the macro we had before.
- (isAlternateSpace): Added. Returns YES for newlines and non-breaking spaces.
- (isSpace): Added. Returns YES for real spaces and the two alternate spaces as well.
- (initializeCharacterWidthIterator): Use isSpace.
- (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]): Use isAlternateSpace
- and isControlCharacter.
- (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
- Use isControlCharacter, isAlternateSpace, and isSpace. Also fix a small bug where numGlyphs would
- not get set up properly when the run length is 0, and used local variables when possible instead
- of going back at the run structure.
- (-[WebTextRenderer _ATSU_floatWidthForRun:style:]): Use the standard FixedToFloat instead of our
- own FixToFloat.
- (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]): Ditto.
-
-2003-10-02 David Hyatt <hyatt@apple.com>
-
- Work on exposing elements to the Acc API. This patch gets us to the point where text
- under the mouse is voiced.
- Reviewed by darin
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView accessibilityAttributeValue:]):
- (-[WebHTMLView accessibilityHitTest:]):
-
-2003-10-01 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView viewDidMoveToSuperview]):
- skip some work when when we've been removed. This wasn't
- causing any trouble before, but was at least conceptually
- inefficient.
-
-2003-10-01 John Sullivan <sullivan@apple.com>
-
- - fixed 3441372: REGRESSION (107+): Plain text document is
- initially drawn with proportional font
-
- Reviewed by Hyatt
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView setDataSource:]):
- Changed a != to an ==
-
-2003-10-01 Richard Williamson <rjw@apple.com>
-
- Fixed 3438441. If a load is triggered by a onload handling, don't add an entry for it into the b/f or history. The new Google ads use this technique.
-
- Reviewed by Ken.
-
- * Misc.subproj/WebKitLogging.h:
- * Misc.subproj/WebKitLogging.m:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:referrer:reload:onLoadEvent:target:triggeringEvent:form:formValues:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _addBackForwardItemClippedAtTarget:]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _isLoadComplete]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _itemForRestoringDocState]):
-
-2003-10-01 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _webView]):
- Fixed problem where we'd get a nil WebView and pass crazy values for subframe
- text multipliers.
-
-2003-10-01 David Hyatt <hyatt@apple.com>
-
- Fix for 3440804, broken scrollbars in downloads window. Make Auto be the default
- value in the enum, so that all scrollviews will be automatically initialized to be
- auto.
- Reviewed by cblu
-
- * WebView.subproj/WebDynamicScrollBarsView.m:
-
-2003-09-30 Richard Williamson <rjw@apple.com>
-
- Attempt to find a reasonable font using a simple string matching heuristic if
- none of the fonts actually specified are found. In particular we will use
- Geeza Pro if "arabic", "urdu", or "pashto" is contained (case-insensitive) in
- any of the requested font family names. Geeza Pro is a much better fallback
- font for Arabic (and variant languages) than Helvetica.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
-
-2003-09-30 John Sullivan <sullivan@apple.com>
-
- - fixed 3045617 -- Make Text Bigger/Smaller doesn't affect non-html documents.
-
- I added an internal protocol inside WebKit to make this work, and implemented
- it for plain text and RTF. I also slightly shuffled the existing code to
- handle this for HTML so that it goes through the new protocol in that case
- also.
-
- * WebView.subproj/WebDocumentInternal.h: Added.
- New header file, holds definition of
- _web_WebDocumentTextSizing protocol.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _textSizeMultiplierChanged]):
- if the document view conforms to the new protocol,
- tell it that the multiplier has changed. Also, don't
- tell the bridge here anymore; let WebHTMLView do that.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _updateTextSizeMultiplier]):
- tell the bridge here instead of having WebFrame do so
- (-[WebHTMLView viewDidMoveToSuperview]):
- call _updateTextSizeMultiplier (in case it changed while we were switched out)
- (-[WebHTMLView _web_textSizeMultiplierChanged]):
- call _updateTextSizeMultiplier
-
- * WebView.subproj/WebTextRepresentation.m:
- (-[WebTextRepresentation receivedData:withDataSource:]):
-
- * WebView.subproj/WebTextView.h:
- now implements _web_WebDocumentTextSizing protocol;
- new ivar for holding local copy of text size multiplier;
- new public method appendReceivedData:fromDataSource:
-
- * WebView.subproj/WebTextView.m:
- (-[WebTextView initWithFrame:]):
- set local copy of text size multiplier to 1.0
- (-[WebTextView _textSizeMultiplierFromWebView]):
- new method, asks the webview's opinion of the text size multiplier
- (-[WebTextView setFixedWidthFont]):
- use the text size multiplier when setting font size
- (-[WebTextView _adjustRichTextFontSizeByRatio:]):
- new method, borrowed from Mail and tweaked, that walks through
- the rich text and adjusts the font sizes
- (-[WebTextView _updateTextSizeMultiplier]):
- new method, updates local copy of text size multiplier to
- match webview's opinion
- (-[WebTextView setDataSource:]):
- set the text size multiplier appropriately before setting the
- fixed-width font; this is too early for the RTF case though
- since the fonts are embedded in the data
- (-[WebTextView appendReceivedData:fromDataSource:]):
- new method. Most of this logic was in WebTextRepresentation, but
- it's a little better encapsulated here, plus now it handles the
- text multiplier for RTF.
- (-[WebTextView defaultsChanged:]):
- added comment
- (-[WebTextView _web_textSizeMultiplierChanged]):
- call updateTextSizeMultiplier
-
- * WebView.subproj/WebView.m:
- (-[WebView canMakeTextSmaller]):
- (-[WebView canMakeTextLarger]):
- return NO if the main frame doesn't support the text sizing protocol. This means
- that if the main frame doesn't support it but a subframe does, you can't adjust
- the text size. This seems fine for now since the only case with subframes is
- HTML, where the main frame does support changing text size.
-
- * WebKit.pbproj/project.pbxproj:
- updated for new file
-
-2003-09-30 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3428262>: Plugin loads for static files, but not PHP scripts
-
- Reviewed by rjw.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge frameRequiredForMIMEType:]): load the plug-in DB so this method returns reliable results.
-
-2003-09-30 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3006869>: show image dimensions in title bar when single image is loaded
-
- Reviewed by rjw.
-
- * English.lproj/Localizable.strings:
- * WebView.subproj/WebImageRepresentation.m:
- (-[WebImageRepresentation title]): return "foo.jpg 50x50 pixels"
-
-2003-09-30 Richard Williamson <rjw@apple.com>
-
- Fixed 3420396. If a frame targets _top and a URL that contains a fragment (very unusual, it's meaningless for a frameset to contain a named anchor point) the frameset won't be reloaded. Our normal path is to just scroll to the anchor point. This is on
-
-
-ly important because our Help folks oddly depend on the behavior.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
-
-2003-09-30 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Maciej
-
- Fix for this bug:
-
- <rdar://problem/3439688>: WebKit needs to retrieve full keyboard access preference
-
- * WebCoreSupport.subproj/WebBridge.h: Add two ivars: one to track the keyboard
- UI mode, the other a flag we use to register for notifications.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge dealloc]): Remove the notification observer to keyboard UI mode changes.
- (-[WebBridge _retrieveKeyboardUIModeFromPreferences:]): New method. Accesses the
- preferences to get the current keyboard UI mode.
- (-[WebBridge keyboardUIMode]): Returns the current keyboard UI mode. Registers for
- notifications of keyboard UI mode changes when called the first time.
-
-2003-09-30 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3375281 - Keyboard event handlers not fired if focus not in form field
- - fixed 3242927 - KeyPressed Event in Javascript don't work
- - fixed 3375353 - keyboard event.target not updated when blurring from form items
- - fixed 3183754 - returning false from key press handlers does not prevent typing or form submission
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView keyDown:]): Ask the bridge before passing the event along.
- (-[WebHTMLView keyUp:]): Likewise.
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m: Remove dead code.
-
-2003-09-30 Richard Williamson <rjw@apple.com>
-
- Fixed 3422138. We weren't sending a didChange call for isLoading until the load was complete! Also [WebView isLoading] wasn't accounting for provisional datasources.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebView.m:
- (-[WebView isLoading]):
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _didStartProvisionalLoadForFrame:]):
- (-[WebView _didCommitLoadForFrame:]):
- (-[WebView _didFinishLoadForFrame:]):
- (-[WebView _didFailLoadWithError:forFrame:]):
- (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
-
-2003-09-30 David Hyatt <hyatt@apple.com>
-
- Improvements to scrolling and layout. Also fixing 3264346, body overflow should
- apply to document's scrollbars.
- Reviewed by darin
-
- * WebView.subproj/WebDynamicScrollBarsView.h:
- * WebView.subproj/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView initWithFrame:]):
- (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
- (-[WebDynamicScrollBarsView updateScrollers]):
- (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
- (-[WebDynamicScrollBarsView setAllowsScrolling:]):
- (-[WebDynamicScrollBarsView allowsScrolling]):
- (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
- (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
- (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
- (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
- (-[WebDynamicScrollBarsView horizontalScrollingMode]):
- (-[WebDynamicScrollBarsView verticalScrollingMode]):
- (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
- (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
- (-[WebDynamicScrollBarsView setScrollingMode:]):
-
-2003-09-29 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3422739>: Plug-in streams not cancelled when plug-in returns error from NPP_NewStream
-
- Reviewed by mjs.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.h: renamed receivedError to cancelWithReason
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): call cancelWithReason if NPP_NewStream returns an error
- (-[WebBaseNetscapePluginStream cancelWithReason:]): renamed
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call renamed cancelWithReason
- (-[WebNetscapePluginRepresentation cancelWithReason:]): new override, stop load then call super
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream cancelWithReason:]): new override, stop load then call super
- (-[WebNetscapePluginStream stop]): call cancelWithReason
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed cancelWithReason
- (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): call renamed cancelWithReason
-
-2003-09-25 Maciej Stachowiak <mjs@apple.com>
-
- Roll out build system change since it did not actually work. :-(
- * WebKit.pbproj/project.pbxproj:
-
-2003-09-25 David Hyatt <hyatt@apple.com>
-
- Change layout so that it is called from the private _recursive functions instead of
- inside drawRect.
- Reviewed by kocienda
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]):
- (-[WebHTMLView drawRect:]):
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:testDirtyRect:]):
- (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
- (-[WebHTMLView _web_setPrintingModeRecursive]):
- (-[WebHTMLView _web_clearPrintingModeRecursive]):
- (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
- (-[NSView _web_setPrintingModeRecursive]):
- (-[NSView _web_clearPrintingModeRecursive]):
- (-[NSView _web_layoutIfNeededRecursive:testDirtyRect:]):
-
-2003-09-25 Richard Williamson <rjw@apple.com>
-
- Fixed 3433802. Written by Ed. Carbon WebView doesn't detach native view when removed.
-
- Reviewed by Richard.
-
- * Carbon.subproj/HIWebView.m:
- (OwningWindowChanged):
-
-2003-09-25 Richard Williamson <rjw@apple.com>
-
- Fixed 3433488. Written by Ed. WebKit doesn't sync window visibility when new webview added to visible window.
-
- Reviewed by Richard.
-
- * Carbon.subproj/CarbonWindowAdapter.m:
- (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
-
-2003-09-25 Richard Williamson <rjw@apple.com>
-
- Fixed 3434854. Written by Ed. Correctly handle window modality in carbon.
-
- Reviewed by Richard.
-
- * Carbon.subproj/CarbonWindowAdapter.m:
- (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
-
-2003-09-25 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- Updated setup for engineering builds. Don't embed the framework
- into Safari or hack the install name. However, do copy WebCore and
- JavaScriptCore into the proper sub-umbrella locations.
- * WebKit.pbproj/project.pbxproj:
- * embed-frameworks.sh: Added.
-
-=== Safari-107 ===
-
-2003-09-25 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3341222>: WebView doesn't follow AppKit default nextKeyView pattern
-
- * WebCoreSupport.subproj/WebBridge.h: Added a variable to guard against recursion
- in -[WebBridge inNextKeyViewOutsideWebFrameViews].
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge inNextKeyViewOutsideWebFrameViews]): Accessor for recursion guard.
- (-[WebBridge nextKeyViewOutsideWebFrameViews]): Do not ask webView for its
- next key view, but rather, ask it for the next key view of the last view in
- its key view loop. This is what will get us to the next view outside of the
- webView.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView nextKeyView]): Ask AppKit, rather than khtml, for the next key
- key view if -[WebBridge inNextKeyViewOutsideWebFrameViews] returns YES. Doing
- so gives us the correct answer as calculated by AppKit, and makes HTML views
- behave like other views. This check also heads off an infinite recursion
- through -[WebBridge nextKeyViewOutsideWebFrameViews].
-
- Also did some cleanup of some code that was marked for removal "some day".
- That "some day" is today.
-
-2003-09-25 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3176853 -- can't attach files that have no extensions with Yahoo mail (bad Content-Type headers)
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge MIMETypeForPath:]):
- Return @"application/octet-stream" rather than nil or empty string when the type is not known.
-
-2003-09-24 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
- Added one more call to _stopAutoscrollTimer for when drags begin.
-
-2003-09-24 Richard Williamson <rjw@apple.com>
-
- Fixed 3420736. Clear renderer caches when get an ATS font changed notification. This fix may be moot depending on progress toward fixing 2695906. Also 3428451 needs to should be resolved.
-
- Also added code to get and log entry point for the function used to get a Java class from plugins. That class is used for LiveConnect support.
-
- Reviewed by John.
-
- * Misc.subproj/WebKitLogging.h:
- * Misc.subproj/WebKitLogging.m:
- * Plugins.subproj/WebNetscapePluginPackage.h:
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
- * Plugins.subproj/npapi.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (FillStyleWithAttributes):
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory clearCaches]):
- (fontsChanged):
- (+[WebTextRendererFactory createSharedFactory]):
- (-[WebTextRendererFactory fontWithFamily:traits:size:]):
- (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
-
-2003-09-23 Darin Adler <darin@apple.com>
-
- Reviewed by John and Richard.
-
- - fixed 3127833 -- autoscroll only works when mouse is moving
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView viewDidMoveToWindow]): Stop the auto-scroll timer. This covers
- the case where a view is removed from the view hierarchy while the mouse is down.
- (-[WebHTMLView mouseDown:]): Start the auto-scroll timer.
- (-[WebHTMLView mouseUp:]): Stop the auto-scroll timer.
- * WebView.subproj/WebHTMLViewPrivate.h: Add an auto-scroll timer, and methods
- to start and stop it.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _startAutoscrollTimer]): Create and schedule a timer. It uses the
- same 1/10 second interval that NSTextView uses for its scrolling timer.
- (-[WebHTMLView _stopAutoscrollTimer]): Invalidate and release the timer.
- (-[WebHTMLView _autoscroll]): Check for a mouse up event in the queue; if one is
- there, then no autoscrlling. But if not, then create a fake mouse dragged event
- and dispatch it; that will lead to autoscrolling.
-
-2003-09-22 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- - worked around 3429631 -- window stops getting mouse moved events after first tooltip appears
-
- * WebView.subproj/WebHTMLViewPrivate.m: (-[NSToolTipPanel setAcceptsMouseMovedEvents:]):
- Do nothing, preventing the real setAcceptsMouseMovedEvents: (in class NSWindow) from being called.
-
-2003-09-22 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- - fixed 3431033 -- crash in -[NSToolTipManager _shouldInstallToolTip:]
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
- Override this alternate version of addTrackingRect. If I don't do this, we might
- create a real tracking rect, which we would then never remove.
- (-[WebHTMLView removeTrackingRect:]): Added assertions.
-
-2003-09-22 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Rename Mixed build style to OptimizedWithSymbols.
-
-2003-09-21 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView removeTrackingRect:]): Remove bogus assert.
-
-2003-09-21 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- - fixed 3106411 -- show title attribute for page elements in tooltip on mouseover (important for PeopleSoft)
-
- * WebView.subproj/WebHTMLViewPrivate.h: Added fields needed for tool tip implementation.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLViewPrivate dealloc]): Release the tool tip string.
- (-[WebHTMLView addTrackingRect:owner:userData:assumeInside:]): Override the default NSView
- tracking rectangle implementation so we can trick the tool tip manager into trusting us about
- when you leave and enter the rectangle for each element.
- (-[WebHTMLView removeTrackingRect:]): The other half of the above stuff.
- (-[WebHTMLView _sendToolTipMouseExited]): Added. Makes an event just good enough to fool the tool tip
- manager, and send it on.
- (-[WebHTMLView _sendToolTipMouseEntered]): Ditto.
- (-[WebHTMLView _setToolTip:]): Added. Manages the new and old tool tips in a way that fools the tool
- tip manager into working even though we don't know the rectangles of the tool tips beforehand. The
- advantage of using AppKit tool tips is that they have all sorts of nice little features, like wrapping
- to a nice rectangular shape and fading out when you move away.
- (-[WebHTMLView view:stringForToolTip:point:userData:]): This is how the tool tip manager gets the actual
- tool tip text.
- (-[WebHTMLView _updateMouseoverWithEvent:]): Call _setToolTip method, using the value passed along with the
- WebCoreElementTitleKey in the dictionary.
-
- - unrelated code cleanup
-
- * WebView.subproj/WebFramePrivate.h: Don't define WebCorePageCacheStateKey here; instead use
- a definition exported from WebCore.
- * WebView.subproj/WebFramePrivate.m: Ditto.
- * English.lproj/StringsNotToBeLocalized.txt: Update for above changes.
-
-2003-09-19 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- Roll out old fix for 3410980.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge goBackOrForward:]):
-
-2003-09-19 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- - do the prep work for the mini controls feature; Dave will finish this
-
- * WebCoreSupport.subproj/WebFileButton.m:
- (-[WebFileButton isFlipped]): Make this flipped, easier to understand coordinates that way.
- (-[WebFileButton drawRect:]): Update for flipped-ness.
- (-[WebFileButton visualFrame]): Update for flipped-ness.
- (-[WebFileButton setVisualFrame:]): Update for flipped-ness.
- (-[WebFileButton baseline]): Update for flipped-ness.
-
-2003-09-19 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3410980 - FileMaker: going forward with an empty forward list makes a frame come out blank sometimes
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge backOrForwardItemWithDistance:]): Factored out from goBackOrForward.
- (-[WebBridge canGoBackOrForward:]): Use the new method.
- (-[WebBridge goBackOrForward:]): Likewise.
-
-2003-09-17 John Sullivan <sullivan@apple.com>
-
- - WebKit part of fix for 3157018 -- Would like option to
- not print backgrounds
- Reviewed by Darin
-
- * WebView.subproj/WebPreferences.h:
- new accessor methods for new shouldPrintBackgrounds preference
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]):
- set initial value for WebKitShouldPrintBackgroundsPreferenceKey
- to NO
- (-[WebPreferences shouldPrintBackgrounds]):
- new method, read NSUserDefaults value
- (-[WebPreferences setShouldPrintBackgrounds:]):
- new method, write NSUserDefault value
-
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
- tell WebCore about value of shouldPrintBackgrounds
-
- * English.lproj/StringsNotToBeLocalized.txt:
- Updated for these and other recent changes
-
-2003-09-17 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- * Plugins.subproj/WebBasePluginPackage.m:
- (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): Pass the
- "no UI" flag, so we don't prompt the user when we're trying to load plug-ins.
- Also use OSStatus rather than OSErr so we don't miss error codes that just
- happen to have zeroes in the low 16 bits.
-
-2003-09-17 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]):
- Don't call -[NSWorkspace iconForFile:] on a path that does not start with a '/'.
- This can happen if JavaScript or the web page sets the path explicitly, and
- adding this check avoids an unpleasant warning on the console.
-
-=== WebKit-106 ===
-
-2003-09-16 Richard Williamson <rjw@apple.com>
-
- Backed out fix to 3412062 to resolve 3424197.
-
- Many sites use a technique of posting forms the same URL to generate content server side. The fix to 3412062 broke those sites.
-
- Reviewed by Darin.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]):
-
-=== WebKit-105 ===
-
-=== WebKit-104 ===
-
-2003-09-12 Richard Williamson <rjw@apple.com>
-
- Fixed 3420097. If redirects are cancelled during a pending load don't reset the quickRedirect flag.
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge reportClientRedirectCancelled:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- (-[WebFrame _clientRedirectCancelled:]):
-
-=== WebKit-103 ===
-
-2003-09-12 Richard Williamson <rjw@apple.com>
-
- Fixed 3412062. Don't allow pages with the same URL as the current URL to enter b/f or history.
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]):
-
-2003-09-11 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3413463 - QuickTime plug-in content doesn't load in Safari (NPP_Write not called)
- * Plugins.subproj/npapi.h: Fix erroneous function pointer
- declarations that led to an int16/int32 mismatch.
-
-2003-09-12 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3420112>: Reproducible Safari crash in in -[WebBaseNetscapePluginView sendEvent:]
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendEvent:]): temporarily retain self in case the plug-in view is released while sending an event.
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): don't deliver the return value of the JS evaluation if stringByEvaluatingJavaScriptFromString caused the plug-in to stop.
-
-=== WebKit-102 ===
-
-2003-09-11 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3417486 - after logging off from secure Etrade website, going back returns you to secure page
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadItem:withLoadType:]): Don't request stale data
- for https pages, as this could be a security risk.
-
-2003-09-11 Richard Williamson <rjw@apple.com>
-
- Fixed 3406671. Added a private method for Mail to get selection
- rect.
-
- Reviewed by Darin Adler.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView updateTextBackgroundColor]):
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _handleMouseDragged:]):
- (-[WebHTMLView _pluginController]):
- (-[WebHTMLView _selectionRect]):
-
-2003-09-10 Richard Williamson <rjw@apple.com>
-
- Fixed 3231031. Use the normal methodology for displaying each frame of a GIF. That is,
- just call setNeedsDisplayInRect, rather than drawing directly. Drawing directly violates
- layering/clipping.
-
- Reviewed by Dave Hyatt.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer nextFrame:]):
-
-=== Safari-100 ===
-
-2003-09-09 Richard Williamson <rjw@apple.com>
-
- Fixed 3414988. Don't store absolute path to home directory.
- Reviewed by Chris Blumenberg.
-
- Fixed 3414319. Send correct WebView back as parameter to webViewShow:
- Review by Darin.
-
- Fixed 3095029. Draw a frame's border in WebFrameView, instead of WebHTMLView, and correctly inset the frame's scrollview to account for the border. Mostly written by Darin.
- Reviewed by Darin (and Richard).
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _createFileDatabase]):
- Store @"~/Library/Icon" instead of absolute path, and always try to tilde expand stored path.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge setHasBorder:]):
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView drawRect:]):
- (-[WebFrameView setFrameSize:]):
- * WebView.subproj/WebFrameViewPrivate.h:
- * WebView.subproj/WebFrameViewPrivate.m:
- (-[WebFrameView _isMainFrame]):
- (-[WebFrameView _tile]):
- (-[WebFrameView _drawBorder]):
- (-[WebFrameView _shouldDrawBorder]):
- (-[WebFrameView _setHasBorder:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView drawRect:]):
- Changes to correct draw border in WebFrameView instead of WebHTMLView.
-
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _openNewWindowWithRequest:]):
- Send correct parameter (returned from webView:createWebViewWithRequest:), rather than self, to webViewShow:.
-
-2003-09-09 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3412380>: REGRESSION (85-98): www.minoltan.com is decoded incorrectly on Japanese system
-
- The default encoding that Safari uses is latin1 regardless of the current system encoding. This is how it's always been. The problem is that the UI is displaying shift JIS for the default text encoding instead of latin1. This is happening because WebKit
-
-
-is using "latin1" instead of "ISO-8859-1" for the default text encoding name. "ISO-8859-1" is the IANA character set name for latin1 and this is what the WebKitDefaultTextEncodingNamePreferenceKey preference expects. This ends up confusing Safari, so Saf
-
-
-ari just ends up displaying the first item in the pop-up menu which is shift JIS.
-
- Reviewed by rjw.
-
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]): The WebKitDefaultTextEncodingNamePreferenceKey should be "ISO-8859-1" not "latin1" since "ISO-8859-1" is the IANA character set name for latin1.
-
-=== Safari-99 ===
-
-2003-09-08 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed 3412726 -- some HTML messages in Mail lose a line at page breaks when printed (multipart/alternative)
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
- Go into printing mode when asked to adjust page height, if not already in it.
- We already have code in drawRect that does this when actually printing, but it's
- also important to lay out the same way when deciding where to break pages, otherwise
- the difference between printer and screen fonts can lead to page breaks that split a line
- of text across two pages, and that can lead to missing lines of text as well.
-
-2003-09-07 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3410939 -- disabling Geneva and Helvetica (by removing them, or by using Font Book) makes Safari crash
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
- Fall back on Lucida Grande (plain, not bothering with traits) if Helvetica is not present.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for this and other recent changes.
-
-2003-09-07 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3406660 -- screen fonts are not being used for substitute fonts (Japanese text, Roman font)
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer substituteFontForString:families:]): Get a printer or screen font,
- based on the renderer's mode. The old code didn't do anything explicit.
- (-[WebTextRenderer _setupFont]): Remove ignored parameter for clarity.
- (-[WebTextRenderer initWithFont:usingPrinterFont:]): Fixed code paths that would not
- explicitly get a printer or screen font, and code paths that would get data from the
- original "before mapping to printer or screen font" NSFont object.
-
-=== Safari-98 ===
-
-2003-09-05 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Incorporate releaseGState fix that Darin developed for
- textareas and list boxes in WebCore. It turns out that
- we this workaround in WebClipView as well to get proper
- drawing of subframes.
-
- In addition, removed some tests that which performed
- runtime checks for code in AppKit. AppKit will have
- the checked-for code in all versions that will be used
- with the version of WebKit.
-
- * WebView.subproj/WebClipView.m:
- (-[WebClipView initWithFrame:])
- (-[WebClipView resetAdditionalClip])
- (-[WebClipView setAdditionalClip:])
-
-2003-09-04 John Sullivan <sullivan@apple.com>
-
- - fixed 3409011 -- the graphics views palette does not open
-
- Reviewed by Maciej
-
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences _removeReferenceForIdentifier:]):
- special-case nil, which is a magic initial identifier already
- special-cased in the other mutator
-
-2003-09-05 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3406140 - REGRESSION (7B52-7B55): time spent in NSFont makes Safari 50% slower in Five Apps test
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory fontWithFamily:traits:size:]): Make font
- using the font name we found, not the one we were looking
- for. Since the compare is case-insensitive, it makes a
- difference. Also, don't make the font twice.
-
-2003-09-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3316704>: Shockwave: getnetText steam is not functioning correctly
-
- Reviewed by mjs.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): if the content length is unknown, use 0 instead of -1
-
-2003-09-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3286922>: Shockwave: Using HTTP to stream .mp3 or .swa files fails at ~50%
-
- Reviewed by mjs.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.h: new deliveryData and reason ivars
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream dealloc]): release deliveryData ivar
- (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): set new reason ivar
- (-[WebBaseNetscapePluginStream destroyStream]): new, calls NPP_StreamAsFile, NPP_DestroyStream and NPP_URLNotify
- (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): set the reason, call destroyStream
- (-[WebBaseNetscapePluginStream receivedError:]): set deliveryData length to 0 so no more data is streamed, call destroyStreamWithReason
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): don't call NPP_StreamAsFile because this has to be called right before NPP_DestroyStream in destroyStream
- (-[WebBaseNetscapePluginStream deliverData]): new, call NPP_WriteReady and NPP_Write and properly obey their returned values
- (-[WebBaseNetscapePluginStream receivedData:]): call deliverData
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream stop]): call receivedError here
- (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]): don't call receivedError here because after the load is complete, stream is set to nil and receivedError can be called after the completed load
-
-2003-09-04 Chris Blumenberg <cblu@apple.com>
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): Fixed typo in newly added comment.
-
-2003-09-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3407328>: request headers at the start of the file passed to NPN_PostURL don't work for Acrobat plug-in?
-
- Reviewed by john.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): As documented, allow headers to be specified via NPP_PostURL when using a file.
-
-=== Safari-97 ===
-
-2003-09-03 John Sullivan <sullivan@apple.com>
-
- - fixed 3406411 -- infoseek.co.jp: many console errors about
- attempting to set non-screen font (HiraMinPro-W3)
-
- Reviewed by Ken
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (_drawGlyphs):
- use ERROR instead of NSLog for the printing-font-used-on-screen
- case, so it doesn't flood the world's console logs. We need to
- investigate why this is happening also, but that can probably
- be post-Panther.
-
-2003-09-01 John Sullivan <sullivan@apple.com>
-
- - WebKit part of fix for 3402489 -- REGRESSION (7B48-7B55): Some printed web pages are too small (width is half a page)
-
- This was a regression caused by the fix for 3378810.
-
- Reviewed by Maciej
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView layoutToPageWidth:adjustingViewSize:]):
- now takes adjustViewSize flag, and passes it down to
- one of bridge's forceLayout calls.
- (-[WebHTMLView layout]):
- pass NO for adjustViewSize flag in this case
- (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
- pass adjustViewSize flag down to layoutToPageWidth instead
- of using it directly here; this is the wrong level to use
- it directly since the bridge is no longer set up for
- printing after the layoutToPageWidth call completes.
-
-2003-08-30 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - fixed 3401709 - [WebView searchFor:] with wrap:NO hangs if the search fails
- * WebView.subproj/WebView.m:
- (-[WebView searchFor:direction:caseSensitive:wrap:]): Fix for
- wrap:NO case as suggested by Darin.
-
-=== Safari-96 ===
-
-2003-08-29 Richard Williamson <rjw@apple.com>
-
- Fixed 3401334. Use IB document key when checking for reference removal on instances of WebPreferences.
-
- Also removed _userDefaultsKeysForIB, no longer needed by IB.
-
- Reviewed by John.
-
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences _removeReferenceForIdentifier:]):
- (-[WebPreferences _postPreferencesChangesNotification]):
- * WebView.subproj/WebPreferencesPrivate.h:
-
-2003-08-29 Richard Williamson <rjw@apple.com>
-
- Fixed 3400807. Don't release state associated with the current b/f item. We shouldn't normally have page cache state associated with the current item (3401376). This fix guarantees that we won't prematurely release the page cache state for the current
-
-
- item.
-
- Reviewed byJohn Sullivan.
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList _clearPageCache]):
-
-2003-08-28 Richard Williamson <rjw@apple.com>
-
- Fixed 3399736. Fixed several problems with WebView/WebPreferences
- interaction.
-
- Reviewed by Eric Seymour.
-
- * Misc.subproj/WebKitLogging.h:
- * Misc.subproj/WebKitLogging.m:
- Added debug logging.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (_drawGlyphs): Checkin for 3398229 below.
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences initWithIdentifier:]):
- (-[WebPreferences initWithCoder:]):
- (-[WebPreferences encodeWithCoder:]):
- (+[WebPreferences standardPreferences]):
- (+[WebPreferences _getInstanceForIdentifier:]):
- (+[WebPreferences _setInstance:forIdentifier:]):
- (+[WebPreferences _concatenateKeyWithIBCreatorID:]):
- * WebView.subproj/WebView.m:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView initWithCoder:]):
- (-[WebView encodeWithCoder:]):
-
-2003-08-27 Richard Williamson <rjw@apple.com>
-
- Fixed 3398229. When we request a font from NSFont by name we should use a case specific name. We do case insensitve comparsion, but once a match is found we should use the actual font name, not the requested name. Two layout tests are still failing, b
-
-
-ut I don't think the failures are font related.
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory fontWithFamily:traits:size:]):
-
-=== Safari-95 ===
-
-2003-08-27 Richard Williamson <rjw@apple.com>
-
- Fixed 3397235. WebView wasn't archiving useBackForwardList.
-
- Reviewed by Eric Seymour.
-
- * WebView.subproj/WebView.m:
- (-[WebView initWithCoder:]):
- (-[WebView encodeWithCoder:]):
-
-2003-08-26 Richard Williamson <rjw@apple.com>
-
- Fixed 3385478. Look for an exact match for font names (using PS names) before matching on family names.
-
- Also added logging to help debug now resolved binding problem.
-
- Reviewed by Maciej.
-
- * Misc.subproj/WebKitLogging.h:
- * Misc.subproj/WebKitLogging.m:
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory fontWithFamily:traits:size:]):
- * WebView.subproj/WebView.m:
- (-[WebView addObserver:forKeyPath:options:context:]):
- (-[WebView removeObserver:forKeyPath:]):
-
-2003-08-26 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3310943 -- REGRESSION (Panther): textareas in forms sometimes draw blank (bugreporter)
-
- There are two fixes here. The more elegant and slightly faster one that requires a new AppKit,
- and the less elegant one that works without AppKit support. By including both we don't have to
- worry about timing of submission of WebKit vs. AppKit but we get the good, elegant fix. Later,
- we can delete the less elegant fix.
-
- * WebView.subproj/WebClipView.m:
- (+[WebClipView initialize]): Set up a boolean global so we only hav to do the "does AppKit support
- _focusRingVisibleRect" check one time.
- (-[WebClipView resetAdditionalClip]): Only do the renewGState thing if we don't have the
- _focusRingVisibleRect method, but if we do the renewGState thing, do it to self and all descendants
- using _web_renewGStateDeep.
- (-[WebClipView setAdditionalClip:]): Ditto.
- (-[WebClipView visibleRect]): Only limit this based on the additional clip if we don't have the
- _focusRingVisibleRect method.
- (-[WebClipView _focusRingVisibleRect]): Override the new method. Harmless if it's an old AppKit
- that doesn't have the method yet.
- (-[NSView _web_renewGStateDeep]): Implemented this helper method. We can get rid of it once we
- are entirely on the new AppKit.
-
-2003-08-26 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3321247 -- window size box disappears from Help window (caused by WebKit NSView hackery)
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]),
- (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
- Don't propagate dirty rects at all. This was causing problems because now the AppKit uses
- dirty regions, not dirty rects. In AppKit-722 and newer, _setDrawsDescendants: takes care of this
- for us so we don't have to do anything at all.
-
-2003-08-26 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3392650 -- REGRESSION?: assertion fails trying Apple-hosted page load test while not on Apple network
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _isLoadComplete]):
- Stop loading the provisional data source before blowing it away, in case
- there are some callbacks that haven't occurred yet. It's a waste of time to
- try to handle those additional callbacks, and can lead to failed assertions
- since the data source won't be hooked up to any frame any more.
-
-2003-08-25 Richard Williamson <rjw@apple.com>
-
- Fix for 3391609. Our rounding hack wasn't correctly reflected in the selection point
- code. Piggy-backed on this fix are fixes for selection of letter-spacing, word-spacing
- and justified text.
-
- Reviewed by Hyatt.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (initializeCharacterWidthIterator):
- (widthAndGlyphForSurrogate):
- (widthForNextCharacter):
- (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
-
-2003-08-25 John Sullivan <sullivan@apple.com>
-
- - fixed 3391264 -- REGRESSION (Panther): Back/Forward buttons not
- updating immediately after page load
-
- The buttons are updated in response to window update notifications.
- Jaguar was sending so many extra bogus notifications that it
- masked the fact that we weren't ensuring that these notifications
- were sent at all in the case of non-event-based interesting
- changes that might affect menu items/toolbar items/etc.
-
- Reviewed by Richard
-
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _didStartProvisionalLoadForFrame:]):
- call -[NSApp setWindowsNeedUpdate:YES] so window update notices
- will be sent
- (-[WebView _didCommitLoadForFrame:]):
- ditto
- (-[WebView _didFinishLoadForFrame:]):
- ditto
- (-[WebView _didFailLoadWithError:forFrame:]):
- ditto
- (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
- ditto
-
-2003-08-24 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3382179 -- REGRESSION: many images scroll down while loading (e.g., homepage.mac.com slide show)
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]): While loading, always draw one less line than
- the number NSImage says we have, since that last line is a partial line and draws unwanted white. This
- is not what the bug report complains about, but is a longstanding and very minor issue. Remove the code
- that adjust the Y origin. This is what the bug report is about. That adjustment is incorrect and was
- unknowingly compensating for some kind of NSImage bug that is now fixed.
- (-[WebImageRenderer tileInRect:fromPoint:]): Added an assertion that the WebImageRenderer is flipped.
- The code does assume that it's flipped.
-
-2003-08-22 John Sullivan <sullivan@apple.com>
- - fixed 3385837 -- REGRESSION: can't paste link from Safari into
- Keynote (paste at top level, not into text)
-
- Reviewed by Darin
-
- The problem was that we were using a single list of pasteboard
- types for both "types we can read" and "types we can write", but
- NSFilenamesPBoardType wasn't being written to, creating a bad
- pasteboard. The fix is to split this list in two. We could do
- this a little more elegantly if we weren't paranoid about
- last-minute SPI changes breaking compatibility with Sherlock or
- some other internal client.
-
- * Misc.subproj/WebNSPasteboardExtras.h:
- add new _web_writableDragTypesForURL, commented various methods
- better.
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (+[NSPasteboard _web_writableDragTypesForURL]):
- implement _web_writableDragTypesForURL; it's just like
- _web_dragTypesForURL but without the NSFilenamesPBoardType
- (-[NSPasteboard _web_writeURL:andTitle:withOwner:]):
- use _web_writableDragTypesForURL
-
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragPromisedImage:rect:URL:title:event:]):
- use _web_writableDragTypesForURL
-
-2003-08-22 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- - fixed 3386051 -- REGRESSION: text "too dark" after the page is deactivated and reactivated (bugweb)
-
- Cached clips were causing us to draw nothing for the top frames of framesets, resulting in darkened
- text because we draw anti-aliased text twice without drawing a background.
-
- * WebView.subproj/WebClipView.m:
- (-[WebClipView resetAdditionalClip]): Invalidate cached graphics state when changing the visible rect.
- (-[WebClipView setAdditionalClip:]): Ditto.
-
-2003-08-21 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
- Tweak to printing fix: Be sure to call adjustViewSize after applying styles and doing layout.
-
-2003-08-21 Richard Williamson <rjw@apple.com>
-
- Fixed 3378810. Avoid resizing frame from drawRect: when printing. This will corrupt the graphics context.
-
- Reviewed by Hyatt.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView layoutToPageWidth:]):
- (-[WebHTMLView drawRect:]):
- (-[WebHTMLView _setPrinting:pageWidth:adjustViewSize:]):
- (-[WebHTMLView beginDocument]):
- (-[WebHTMLView endDocument]):
-
-=== Safari-94 ===
-
-2003-08-21 John Sullivan <sullivan@apple.com>
-
- - fixed 3387950 -- REGRESSION (85-89): Standalone image in Safari prints much
- smaller than in Jaguar
-
- Reviewed by Chris.
-
- * WebView.subproj/WebImageView.m:
- (-[WebImageView adjustFrameSize]):
- renamed from setFrameSizeUsingImage; now sets the frame size to exactly
- the image size (as it did in Jaguar always) when we're not drawing to
- the screen.
- (-[WebImageView setFrameSize:]):
- updated for name change
- (-[WebImageView layout]):
- ditto
- (-[WebImageView beginDocument]):
- adjust frame size (before printing)
- (-[WebImageView endDocument]):
- adjust frame size (after printing)
-
-2003-08-19 Richard Williamson <rjw@apple.com>
-
- Fixed 3383623 (and 3384896). Remove our unbeknownst work-around for an NSImage bug that incorrectly flipped y coordinate when drawing a partial rect within the image. This has been fixed in Panther, making our work-around no longer necessary.
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer tileInRect:fromPoint:]):
- * WebKit.pbproj/project.pbxproj:
-
-2003-08-18 Richard Williamson <rjw@apple.com>
-
- Fixed 3140065. Bidi neutrals in RTL runs are now handled correctly. Still have
- problem with bidi neutrals at directional boundaries 3382926.
-
- Reviewed by Maciej.
-
- * Misc.subproj/WebUnicode.h:
- * Misc.subproj/WebUnicode.m:
- (shapedString):
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
-
-2003-08-18 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3299893 -- oncontextmenu support
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView menuForEvent:]): Call sendContextMenuEvent: on the bridge, and
- don't show a menu if the event is handled over in WebCore.
- (-[WebHTMLView mouseDown:]): Don't send a mouse down event in the case where we
- already sent a context menu event and decided not to put up a real context menu.
-
-2003-08-18 Richard Williamson <rjw@apple.com>
-
- Fix build problem from last checkin.
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer initWithData:MIMEType:]):
- (-[WebImageRenderer initWithContentsOfFile:]):
-
-2003-08-17 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3376522 -- REGRESSION: uncaught exception from bad .ico causes crash (login window at 34sp.com)
-
- I added exception handling in all the places we load images with NSImage.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _iconsForIconURLString:]): Add exception handler.
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader connectionDidFinishLoading:]): Add exception handler.
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer initWithData:MIMEType:]): Add exception handler.
- (-[WebImageRenderer initWithContentsOfFile:]): Add exception handler.
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): Add exception handler.
-
-2003-08-15 Richard Williamson <rjw@apple.com>
-
- Fixed 3378530. Ensure that line is always drawn within bounds
- of element.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawLineForCharacters:yOffset:withWidth:withColor:]):
-
-2003-08-15 Richard Williamson <rjw@apple.com>
-
- Fixed 3379439. Remove checks for CG symbols. No longer needed.
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (+[WebTextRendererFactory createSharedFactory]):
-
-=== Safari-93 ===
-
-2003-08-14 Vicki Murley <vicki@apple.com>
-
- Reviewed by John.
-
- * WebKit.pbproj/project.pbxproj: deleted WebKit.order from the project.
-
-2003-08-14 Vicki Murley <vicki@apple.com>
-
- Reviewed by John.
-
- * WebKit.order: Removed. We now point to the WebKit order file in /AppleInternal/OrderFiles.
- * WebKit.pbproj/project.pbxproj: set sectorder flag to point to /AppleInternal/OrderFiles/WebKit.order
-
-2003-08-14 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed 3344259 -- flipped image when copying from Safari in 1000s of colors mode
-
- The workaround is to turn off the NSImage cache. Andrew says this won't have any
- practical repercussions other than making the bug go away.
-
- Seems to have a side effect of speeding up the cvs-base page load test!
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer initWithMIMEType:]): Set mode to NSImageCacheNever.
- (-[WebImageRenderer initWithData:MIMEType:]): Ditto.
- (-[WebImageRenderer initWithContentsOfFile:]): Ditto.
- (-[WebImageRenderer _adjustSizeToPixelDimensions]): Don't set mode to NSImageCacheDefault.
-
-2003-08-14 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3375042>: Change usages of NSURL absoluteString in WebKit
- to use improved variants
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem initWithURL:title:]): Use data-as-string.
- (-[WebHistoryItem initWithURL:target:parent:title:]): Use data-as-string.
- (-[WebHistoryItem setURL:]): Use data-as-string.
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate addItem:]): Remove FIX_VISITED ifdef
- (-[WebHistoryPrivate removeItem:]): Ditto
- (-[WebHistoryPrivate containsURL:]): Ditto. Use data-as-string.
- (-[WebHistoryPrivate itemForURL:]): Ditto. Ditto.
- (-[WebHistoryPrivate loadFromURL:error:]): Fix log message to URL.
- (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]): Ditto.
- (-[WebHistoryPrivate saveToURL:error:]): Ditto.
- * History.subproj/WebURLsWithTitles.m:
- (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use visible-string.
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader connectionDidFinishLoading:]): Use data-as-string.
- * Misc.subproj/WebKitErrors.m:
- (+[NSError _webKitErrorWithDomain:code:URL:]): Added new convenience that takes
- a URL instead of a URL string.
- (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
- Added new convenience that takes URLs instead of a URL stringis.
- * Misc.subproj/WebKitErrorsPrivate.h: Declared new conveniences.
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeURL:andTitle:withOwner:types:]): Use visible-string.
- * Misc.subproj/WebNSURLExtras.h:
- * Misc.subproj/WebNSURLExtras.m:
- (-[NSURL _web_originalDataAsString]): Added.
- (-[NSURL _webkit_isJavaScriptURL]): Use data-as-string.
- (-[NSURL _webkit_scriptIfJavaScriptURL]): Ditto
- (-[NSURL _webkit_isFTPDirectoryURL]): Ditto
- (-[NSURL _webkit_shouldLoadAsEmptyDocument]): Ditto. Also use _web_isEmpty.
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use data-as-string.
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]): Use new error convenience.
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): Ditto.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge requestedURLString]): Use data-as-string.
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]): Use new error convenience.
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate cancelledError]): Ditto.
- * WebView.subproj/WebDataProtocol.m:
- (-[WebDataProtocol startLoading]): Ditto.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _stopLoadingInternal]): Ditto.
- (-[WebDataSource _updateIconDatabaseWithURL:]): Use data-as-string.
- (-[WebDataSource _loadIcon]): Ditto.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _createItem:]): Use data-as-string.
- (-[WebFrame _transitionToCommitted:]): Fix log message to use URL.
- (-[WebFrame _purgePageCache]): Use _web_isEmpty
- (-[WebFrame _setState:]): Fix log message to use URL.
- (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use new error convenience.
- (-[WebFrame _loadItem:withLoadType:]): Fix log message to use URL.
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Fix log messages to use URL.
- (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): Use data-as-string.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _dragImageForLinkElement:]): Use visible-string.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient interruptForPolicyChangeError]): Use new error convenience.
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences setUserStyleSheetLocation:]): Use data-as-string.
- * WebView.subproj/WebView.m:
- (-[WebView mainFrameURL]): Use data-as-string.
- (-[WebView mainFrameIcon]): Use data-as-string.
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _updateWebCoreSettingsFromPreferences:]): Use data-as-string.
-
-2003-08-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3365242 - non-repro abort in HTMLTokenizer at ajc.com
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _receivedData:]): ref the data source around
- processing the data and afterwards, to avoid crashing if a script
- in this chunk of data made the frame go away.
-
-2003-08-13 Richard Williamson <rjw@apple.com>
-
- Fixed 3376077. Override automaticallyNotifiesObserversForKey: to
- prevent unnecessary additional notifications from being sent. Also
- added development-only logging (bulk of the change).
-
- Reviewed by Chris.
-
- * Misc.subproj/WebKitLogging.h:
- * Misc.subproj/WebKitLogging.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setTitle:]):
- (-[WebDataSource _updateIconDatabaseWithURL:]):
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _didChangeValueForKey:]):
- (-[WebView _willChangeValueForKey:]):
- (-[WebView _progressStarted]):
- (-[WebView _progressCompleted]):
- (-[WebView _incrementProgressForConnection:data:]):
- (+[WebView automaticallyNotifiesObserversForKey:]):
- (-[WebView _willChangeBackForwardKeys]):
- (-[WebView _didChangeBackForwardKeys]):
- (-[WebView _didStartProvisionalLoadForFrame:]):
- (-[WebView _didCommitLoadForFrame:]):
- (-[WebView _didFinishLoadForFrame:]):
- (-[WebView _didFailLoadWithError:forFrame:]):
- (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
-
-2003-08-13 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3347134>: After first successful POST in Flash, Safari does not repeat POST and gives cached reply
-
- Reviewed by kocienda.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): call [request setCachePolicy:NSURLRequestReloadIgnoringCacheData]
-
-2003-08-13 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3366441>: URL strings with UTF-8 characters
- processed improperly for display by WebKit
-
- * Misc.subproj/WebNSURLExtras.h:
- * Misc.subproj/WebNSURLExtras.m:
- (isHexDigit): Added
- (hexDigitValue): Added
- (-[NSURL _web_userVisibleString]): Added. Produces a string that
- is suitable for display to a user in the UI.
- (-[NSURL _web_isEmpty]): Convenience to check for an empty URL
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge requestedURLString]): Now calls _web_userVisibleString
-
-2003-08-13 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3374458>: Choose UTF-8 for encoding when calling
- CFURLCreateAbsoluteURLWithBytes in WebKit
-
- Calling CFURLCreateAbsoluteURLWithBytes with ISO Latin 1 string
- encoding results in some issues when trying to decode a URL path in
- preparation for doing file I/O. Instead of doing a redecoding step
- whenever a path is needed to perform I/O, use UTF-8 as the encoding
- right from the start. This will mean that illegal UTF-8 sequences will
- be rejected by CFURLCreateAbsoluteURLWithBytes. However, we can work
- around this by falling back on ISO Latin1 in this case. The end result
- is that existing code throughout the URL loading system can remain
- unchanged and simply call the path method on NSURL as it does now and
- get the right result for its I/O requirements.
-
- * Misc.subproj/WebNSURLExtras.m:
- (+[NSURL _web_URLWithData:relativeToURL:])
-
-2003-08-13 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3374487>: URLs with UTF-8 escape sequences can't be accessed
- when typed in the Safari location bar
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_bestURL]): Call _web_URLWithUserTypedString: to make a
- URL from this type of string.
- * Misc.subproj/WebNSURLExtras.h:
- * Misc.subproj/WebNSURLExtras.m:
- (hexDigit): Added.
- (+[NSURL _web_URLWithUserTypedString:]): Added. Creates a URL from a string
- that is typed in a user, for example, in the Safari location bar.
-
-2003-08-12 John Sullivan <sullivan@apple.com>
-
- - fixed 3369505 -- leaks of NSCFTimer after running through the
- cvs-base test suite
-
- Reviewed by Richard
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame stopLoading]):
- release timer before nil'ing it out
-
-2003-08-12 Ed Voas <voas@apple.com>
-
- Reviewed by Richard.
-
- Make sure to override the standard behavior for ordering windows to do nothing for Carbon stuff.
-
- * Carbon.subproj/CarbonWindowAdapter.m:
- (-[CarbonWindowAdapter _reallyDoOrderWindow:relativeTo:findKey:forCounter:force:isModal:]):
-
-2003-08-11 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3163589>: Macromedia Flash 6 cannot take Asian text entry in Safari
-
- Revidewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView installKeyEventHandler]): new
- (-[WebBaseNetscapePluginView removeKeyEventHandler]): new
- (-[WebBaseNetscapePluginView becomeFirstResponder]): call installKeyEventHandler
- (-[WebBaseNetscapePluginView resignFirstResponder]): call removeKeyEventHandler
- (-[WebBaseNetscapePluginView keyUp:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect
- (-[WebBaseNetscapePluginView keyDown:]): call TSMProcessRawKeyEvent so key events go through the machinery and UI that plug-ins expect
- (TSMEventHandler): turn the TSM event into a series of EventRecords and pass them to the plug-in
- (-[WebBaseNetscapePluginView stop]): call removeKeyEventHandler because resignFirstResponder may not get called
-
-2003-08-08 Richard Williamson <rjw@apple.com>
- Lots of healthy cleanup. Introduced width and shaping iterators
- to simplify code and remove allocations for large text runs. Should
- go further and make more use of these in the future (post panther).
-
- Fixed 3369608. Crash in -[WebTextRenderer _CG_drawRun:style:atPoint:] at lovepucca.net
- Fixed 3118050. Crash selecting text at http://www.faqs.org/rfcs/rfc2849.html (SELECTION)
- Fixed 3371115. Can't correctly select text that contains surrogate pairs
-
- Reviewed by darin.
-
- * Misc.subproj/WebUnicode.h:
- * Misc.subproj/WebUnicode.m:
- (prevChar):
- (nextChar):
- (prevLogicalCharJoins):
- (nextLogicalCharJoins):
- (glyphVariantLogical):
- (hasShapeForNextCharacter):
- (shapeForNextCharacter):
- (initializeCharacterShapeIterator):
- (shapedString):
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (initializeCharacterWidthIterator):
- (widthAndGlyphForSurrogate):
- (widthForNextCharacter):
- (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
- (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
-
- Just formatting changed here
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _dragImageForLinkElement:]):
-
-2003-08-08 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3368236 -- NSURL exception going back at http://derstandard.at/
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _createItem:]): Put "about:blank" in
- the back/forward item if there is no URL (which happens because there is no data source
- because the frame has never successfully loaded anything). Perhaps we can do better
- some day, but this avoids all the major bad effects in a safe way.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-=== Safari-92 ===
-
-2003-08-07 Richard Williamson <rjw@apple.com>
-
- Fixed 3362939. Checked flippyness of view and adjust y coord accordingly.
-
- Reviewed by John.
-
- * Misc.subproj/WebKitNSStringExtras.m:
-
-2003-08-07 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3330742>: 1.0 Safari fails to send NPP_URLNotify with the error of NPRES_NETWORK_ERR to Flash
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): call NPP_URLNotify so we cover both the failure and successful cases
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): have destroyStreamWithReason call NPP_URLNotify
-
-2003-08-07 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
- Fix for this bug:
-
- <rdar://problem/3368552>: Fix inappropriate use of NSURL creation methods in WebKit
-
- Change calls to URLWithString: or URLWithString:relativeToURL to
- _web_URLWithDataAsString: and _web_URLWithDataAsString:relativeToURL,
- respectively.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _loadURL:intoChild:]):
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences userStyleSheetLocation]):
- * WebView.subproj/WebView.m:
- (-[WebView takeStringURLFrom:]):
- (-[WebView setMainFrameURL:]):
-
-2003-08-06 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3347114 -- remove vestiges of posing, including init routine, from WebKit
-
- * WebView.subproj/WebHTMLViewPrivate.m: Removed WebNSTextView, WebNSView, and WebNSWindow,
- removed the code to have them pose as NSTextView, NSView, and NSWindow, and removed excess
- imports that are no longer needed.
-
-2003-08-06 Richard Williamson <rjw@apple.com>
-
- Fixed 3365378. Edge case text run > 1024 hit by JS generated string. We weren't correctly checking size of string length. Used /2 instead of *2.
-
- Reviewed by Vicki (and Dan!).
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
- (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
-
-2003-08-06 Richard Williamson <rjw@apple.com>
-
- Fixed 3348630. Pick up about 1% by moving implementation of _unicodeDirection to WebCore and inlining.
-
- Reviewed by Ken.
-
- * Misc.subproj/WebUnicode.h:
- * Misc.subproj/WebUnicode.m:
- (_unicodeDirection):
- (_unicodeJoining):
- (_unicodeMirrored):
- (WebKitInitializeUnicode):
- * Misc.subproj/WebUnicodeTables.m:
-
-2003-08-06 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc
-
- Reviewed by rjw.
-
- * History.subproj/WebHistoryItemPrivate.h: added declaration for [WebBackForwardList _clearPageCache]
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _close]): clear the page cache when we are closing the web view so we call destroy on all the plug-ins on the page cache to break any retain cycles.
-
-2003-08-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3106525>: Results of JavaScript requests are not returned to plug-ins
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.h:
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setNotifyData:]): new
- (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed from setResponse
- (-[WebBaseNetscapePluginStream startStreamWithResponse:]): new
- (-[WebBaseNetscapePluginStream receivedData:]): tweak
- (-[WebBaseNetscapePluginStream destroyStreamWithReason:]): tweak
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): tweak
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:targetFrame:]): new
- (-[WebBaseNetscapePluginView loadPluginRequest:]): call evaluateJavaScriptPluginRequest::
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call loadPluginRequest for JS requests
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): call renamed startStreamWithResponse
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): call setNotifyData
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): call renamed startStreamWithResponse
-
-2003-08-05 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Richard
-
- Plugins in WebKit need to store URLs in the form of "C-style" strings.
- Create and use a new, improved method to make these strings, and do
- not traverse through the NSURL absoluteString method, since that can i
- introduce errors.
-
- * Misc.subproj/WebNSURLExtras.h: Added _web_URLCString method.
- * Misc.subproj/WebNSURLExtras.m:
- (-[NSURL _web_URLCString]): Added.
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setResponse:]): Call new _web_URLCString method.
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Ditto.
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView frameStateChanged:]): Ditto.
- (-[WebBaseNetscapePluginView loadPluginRequest:]): Ditto.
-
-2003-08-05 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Fix for this bug:
-
- <rdar://problem/3365035>: Modify WebNSURLExtras to call improved NSURL creation API
-
- * Misc.subproj/WebNSURLExtras.m:
- (+[NSURL _web_URLWithDataAsString:]): Call through to _web_URLWithDataAsString:relativeToURL:.
- (+[NSURL _web_URLWithDataAsString:relativeToURL:]): Call through to _web_URLWithData:relativeToURL:.
- (+[NSURL _web_URLWithData:]): Ditto.
- (+[NSURL _web_URLWithData:relativeToURL:]): Call CFURLCreateAbsoluteURLWithBytes API in
- CoreFoundation.
- (-[NSURL _web_originalData]): Use CFURLGetBytes API in CoreFoundation. Also make sure
- that a relative URL is resolved against its base.
- (-[NSURL _web_displayableString]): Call _web_originalData to get bytes to use
- to create the string.
- (-[NSURL _web_URLStringLength]): Use CFURLGetBytes API in CoreFoundation.
-
-2003-08-04 Richard Williamson <rjw@apple.com>
-
- Fixed 3363011. Pass b/f related key down events to super if b/f is disabled.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView keyDown:]):
-
-
- Fixed 3363345. Retain static array used by IB to present WebView's bindable keys.
-
- Review by Maciej
-
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _declaredKeys]):
-
-2003-08-04 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fix for this bug:
-
- <rdar://problem/3363318>: REGRESSION: Plug-in content doesn't show up, animate etc
-
- WebNetscapePluginConnectionDelegate must implement this method:
-
- - (void)connection:(NSURLConnection *)con didReceiveData:(NSData *)data lengthReceived:(long long)lengthReceived
-
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:lengthReceived:])
-
-2003-08-04 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3298153 -- get "screen font while printing" error, bad stuff happens after that (Sherlock, Safari)
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
- If we find ourselves in drawRect with the wrong printing mode, that usually
- means we're being printed as part of some larger print process, so do the
- layout in printing mode.
-
-2003-08-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3360977>: REGRESSION (7B28-7B29): main webview rejects drop of doc icon from BBEdit
-
- Reviewed by darin.
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (+[NSPasteboard _web_dragTypesForURL]): we handle NSFilenamesPboardType
- * WebKit.pbproj/project.pbxproj:
-
-2003-08-04 Richard Williamson <rjw@apple.com>
-
- Fixed 3223989. Pass key down events to super if scrolling is disabled.
-
- Reviewed by Chris (Welcome back!).
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView keyDown:]):
-
-2003-08-01 Richard Williamson <rjw@apple.com>
-
- Fixed 3095376. Implemented correct selection behavior for rtl scripts.
- We still use our Arabic and Hebrew layout scheme.
-
- Fixed 3360487. Implemented selection of ATSU rendered code.
-
- Fixed 3360242. Return nil from _bodyBackgroundColor when no
- background color specified. This was requested by Doug D.
-
- Reviewed by Maciej.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer drawHighlightForRun:style:atPoint:]):
- (-[WebTextRenderer _CG_drawHighlightForRun:style:atPoint:]):
- (-[WebTextRenderer drawRun:style:atPoint:]):
- (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
- (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
- (-[WebTextRenderer _ATSU_drawHighlightForRun:style:atPoint:]):
- (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
- (-[WebTextRenderer pointToOffset:style:position:reversed:]):
- (-[WebTextRenderer _ATSU_pointToOffset:style:position:reversed:]):
- (-[WebTextRenderer _CG_pointToOffset:style:position:reversed:]):
-
-2003-08-01 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3339255 - REGRESSION (73-85): javascript failure at gia.apple.com
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _setState:]): When going to provisional state, tell the bridge that
- a provisional load started, so it can cancel any pending redirects.
-
-=== Safari-91 ===
-
-2003-07-31 Richard Williamson <rjw@apple.com>
-
- Make sure width is initialized for monospace optimizations.
- Reviewed by Vicki.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
-
-2003-07-31 Richard Williamson <rjw@apple.com>
-
- Fixed 3359152. SPI to get the background color for a frame.
-
- Reviewed by hyatt.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _bodyBackgroundColor]):
-
-2003-07-31 Richard Williamson <rjw@apple.com>
-
- Fixed 3358870. Fall back on 'user defaults' values when a value
- in a custom instance of WebPreferences hasn't been overriden.
-
- Reviewed by Eric Seymour.
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences _stringValueForKey:]):
- (-[WebPreferences _integerValueForKey:]):
- (-[WebPreferences _boolValueForKey:]):
-
-2003-07-30 Richard Williamson <rjw@apple.com>
-
- Preparation for 3095376.
-
- Reviewed by Maciej.
-
- * Misc.subproj/WebKitNSStringExtras.m:
- (-[NSString _web_widthWithFont:]):
- * Misc.subproj/WebStringTruncator.m:
- (stringWidth):
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (shouldUseATSU):
- (-[WebTextRenderer widthForCharacters:length:]):
- (-[WebTextRenderer drawRun:style:atPoint:]):
- (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
- (-[WebTextRenderer floatWidthForRun:style:widths:]):
- (-[WebTextRenderer _floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
- (-[WebTextRenderer _CG_floatWidthForRun:style:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
- (-[WebTextRenderer _createATSUTextLayoutForRun:]):
- (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
- (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
- (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
- (-[WebTextRenderer checkSelectionPoint:style:position:reversed:]):
-
-2003-07-30 Richard Williamson <rjw@apple.com>
-
- Fixed 3356518. Added private method called by IB to ensure
- that autoresizeSubviews flag is turned on correctly.
-
- Reviewed by mjs.
-
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _finishedMakingConnections]):
-
-2003-07-28 Richard Williamson <rjw@apple.com>
-
- Fixed 3323866. Provide SPI to IB to enable scoping of preferences
- values on a document-by-document basis.
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferencesPrivate dealloc]):
- (-[WebPreferences initWithIdentifier:]):
- (-[WebPreferences initWithCoder:]):
- (+[WebPreferences _userDefaultsKeysForIB]):
- (+[WebPreferences _setIBCreatorID:]):
- (+[WebPreferences _IBCreatorID]):
- (-[WebPreferences _concatenateKeyWithIBCreatorID:]):
- * WebView.subproj/WebPreferencesPrivate.h:
-
-2003-07-28 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3344647 -- reachedTerminalState assertion in WebBaseResourceHandleDelegate.m
-
- * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient cancelWithError:]):
- Use [super cancelWithError:] rather than [self receivedError:]. I checked carefully to
- see that this code now does everything the old code did (and a bit more).
-
-2003-07-28 Richard Williamson <rjw@apple.com>
-
- Fixed 3341859.
- Check that the WebHTMLView is initialized in viewWillMoveToWindow: and
- viewDidMoveToWindow. Don't do anything if we aren't initialized. This
- happens when decoding a WebView. When WebViews are decoded their subviews
- are created by initWithCoder: and so won't be normally initialized. The
- stub views are discarded by WebView.
-
- Reviewed by John.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView viewWillMoveToWindow:]):
- (-[WebHTMLView viewDidMoveToWindow]):
-
-2003-07-28 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3279864 -- remove class_poseAs calls from WebKit
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView initWithFrame:]):
- Call _setDrawsOwnDescendants, if we have a new enough AppKit.
- * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
- Don't pose as NSView, if we have a new enough AppKit.
-
-2003-07-28 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Fix for this bug:
-
- <rdar://problem/3336933>: REGRESSION (Panther): Mozilla build downloaded
- with wrong extension, bad file size (gzip)
-
- Use new delegate methods that allow for the correct reporting
- of progress in cases where Foundation-level content decoding has been performed on data received
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient connection:didReceiveData:lengthReceived:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
- (-[WebBaseResourceHandleDelegate connection:didReceiveData:lengthReceived:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient connection:didReceiveData:lengthReceived:]):
-
-2003-07-28 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - fixed leak of WebDataRequestParameters objects
-
- * WebView.subproj/WebDataProtocol.m:
- (-[NSMutableURLRequest _webDataRequestParametersForWriting]):
- Release the WebDataRequestParameters object after putting it in the dictionary.
-
-2003-07-28 John Sullivan <sullivan@apple.com>
-
- - fixed 3236815 -- bitmap TIFFs at > 72 dpi are scaled incorrectly
- in Safari when viewed standalone (uspto.gov)
-
- Reviewed by Darin
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer _adjustSizeToPixelDimensions]):
- call setScalesWhenResized:YES
-
-2003-07-25 Richard Williamson <rjw@apple.com>
-
- Fixed 3344519. Prevent infinite recursion attempting font substitution.
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
-
-2003-07-25 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - fixed 3280582 - REGRESSION (74-85): authentication sheet doesn't state that previous login was incorrect
-
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForChallenge:]): Use chall, the
- parameter, not challenge, the not-yet-set ivar so we get the right
- failure count &c.
-
-2003-07-25 Richard Williamson <rjw@apple.com>
-
- Use 11 point bold, instead of 12 point bold to draw dragged link
- labels. This matches the text drawn in the bookmarks bar.
-
- Reviewed by John.
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _dragImageForLinkElement:]):
-
-2003-07-24 Richard Williamson <rjw@apple.com>
-
- Fixed 3279910. Change the way we draw dragged link to use
- WebKit's measurement and drawing. Also made the look match
- the bookmarks bar text.
-
- Reviewed by Maciej.
-
- * Misc.subproj/WebKitNSStringExtras.h:
- * Misc.subproj/WebKitNSStringExtras.m:
- (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]):
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _dragImageForLinkElement:]):
- (-[WebHTMLView _handleMouseDragged:]):
-
-2003-07-24 Richard Williamson <rjw@apple.com>
-
- Removed unnecessary log.
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
- Add another check to use ATSU for Limbu (Unicode 4.0) script.
- Also made shouldUseATSU inline.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (shouldUseATSU):
-
-=== Safari-90 ===
-
-2003-07-23 Maciej Stachowiak <mjs@apple.com>
-
- Build breakage fix:
- Fix WebKit to build with the latest Foundation.
- * Misc.subproj/WebNSURLExtras.h:
- * Misc.subproj/WebNSURLExtras.m:
- (-[NSURL _webkit_isJavaScriptURL]):
- (-[NSURL _webkit_scriptIfJavaScriptURL]):
- (-[NSURL _webkit_isFTPDirectoryURL]):
- (-[NSString _webkit_isFTPDirectoryURL]):
-
-2003-07-23 Richard Williamson <rjw@apple.com>
-
- Fixed 3311725: Added support for key/value binding.
- (As a side effect also made icon loading work! In 1.0
- it doesn't work unless a secret preference value is set.)
-
- Reviewed by Ken.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _createFileDatabase]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource _setTitle:]):
- (-[WebDataSource _updateIconDatabaseWithURL:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _isLoadComplete]):
- * WebView.subproj/WebView.m:
- (-[WebView setMainFrameURL:]):
- (-[WebView mainFrameURL]):
- (-[WebView isLoading]):
- (-[WebView mainFrameTitle]):
- (-[WebView mainFrameIcon]):
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _progressStarted]):
- (-[WebView _progressCompleted]):
- (-[WebView _incrementProgressForConnection:data:]):
- (-[WebView _completeProgressForConnection:]):
- (-[WebView _declaredKeys]):
- (-[WebView setObservationInfo:]):
- (-[WebView observationInfo]):
- (-[WebView _willChangeBackForwardKeys]):
- (-[WebView _didChangeBackForwardKeys]):
- (-[WebView _didStartProvisionalLoadForFrame:]):
- (-[WebView _didCommitLoadForFrame:]):
- (-[WebView _didFinishLoadForFrame:]):
- (-[WebView _didFailLoadWithError:forFrame:]):
- (-[WebView _didFailProvisionalLoadWithError:forFrame:]):
-
-2003-07-23 Richard Williamson <rjw@apple.com>
-
- Fixed 3341119: Crash when content contains nil (0x0) characters.
-
- Reviewed by Ken.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
-
-2003-07-23 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 2/3 of 3279864 -- remove class_poseAs calls from WebKit (will also remove init routine)
-
- * WebView.subproj/WebHTMLViewPrivate.m: (+[WebHTMLView load]):
- Only pose as NSTextView and NSWindow if we have an older AppKit.
- If we have a new enough AppKit, the code in WebCore now takes care of things.
-
-2003-07-23 Richard Williamson <rjw@apple.com>
-
- Fixed for 3259840. Use ATSU for scripts we don't handle internally,
- i.e.: Syriac, Thaana, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Sinhala, Thai, Lao, Tibetan, Myanmar, Hangul Jamo, Khmer, Mongolian
-
- Also fixed issues with our rendering of Arabic.
-
- Changed the internal API to take WebCoreTextRun and WebCoreTextStyle
- parameters instead of scads on individual parameters. Much cleaner.
-
- Reviewed by Maciej.
-
- * Misc.subproj/WebKitNSStringExtras.m:
- (-[NSString _web_widthWithFont:]):
- * Misc.subproj/WebStringTruncator.m:
- (stringWidth):
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (shouldUseATSU):
- (-[WebTextRenderer _setupFont:]):
- (-[WebTextRenderer dealloc]):
- (-[WebTextRenderer widthForCharacters:length:]):
- (-[WebTextRenderer drawRun:style:atPoint:]):
- (-[WebTextRenderer _CG_drawRun:style:atPoint:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
- (-[WebTextRenderer floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:]):
- (-[WebTextRenderer _floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
- (-[WebTextRenderer _CG_floatWidthForRun:style:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:startGlyph:endGlyph:numGlyphs:]):
- (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
- (-[WebTextRenderer _initializeATSUStyle]):
- (-[WebTextRenderer _createATSUTextLayoutForRun:]):
- (-[WebTextRenderer _trapezoidForRun:style:atPoint:]):
- (-[WebTextRenderer _ATSU_floatWidthForRun:style:]):
- (-[WebTextRenderer _ATSU_drawRun:style:atPoint:]):
-
-2003-07-23 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
- Removed dependency on Foundation NSURL_NSURLExtras file.
- Copied the required methods from that file to WebNSURLExtras,
- temporarily renaming the methods that are now in both
- places to have a _webkit_ prefix. The names will be changed
- back once every one is living on a Foundation version that
- no longer contains these methods.
-
- The files below were changed in one of three ways:
- 1. Rename _web_URLWithString: to _web_URLWithDataAsString:
- 2. Tweak headers to depend on WebNSURLExtras instead of NSURL_NSURLExtras.
- 3. At call sites, tweak names of methods that moved to WebKit (_web_ -> _webkit_).
-
- * History.subproj/WebHistory.m:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem URL]):
- * History.subproj/WebHistoryPrivate.m:
- * History.subproj/WebURLsWithTitles.m:
- (+[WebURLsWithTitles URLsFromPasteboard:]):
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _iconForFileURL:withSize:]):
- * Misc.subproj/WebIconLoader.m:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_bestURL]):
- * Misc.subproj/WebNSURLExtras.h:
- * Misc.subproj/WebNSURLExtras.m:
- (ReleaseIfNotNULL):
- (+[NSURL _web_URLWithDataAsString:]):
- (+[NSURL _web_URLWithDataAsString:relativeToURL:]):
- (+[NSURL _web_URLWithData:]):
- (+[NSURL _web_URLWithData:relativeToURL:]):
- (-[NSURL _web_originalData]):
- (-[NSURL _web_displayableString]):
- (-[NSURL _web_URLStringLength]):
- (-[NSURL _webkit_canonicalize]):
- (-[NSURL _webkit_URLByRemovingFragment]):
- (-[NSURL _webkit_isJavaScriptURL]):
- (-[NSURL _webkit_scriptIfJavaScriptURL]):
- (-[NSURL _webkit_isFTPDirectoryURL]):
- (-[NSURL _webkit_shouldLoadAsEmptyDocument]):
- (isHexDigit):
- (hexDigitValue):
- (-[NSString _webkit_isJavaScriptURL]):
- (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
- (-[NSString _webkit_scriptIfJavaScriptURL]):
- * Misc.subproj/WebNSViewExtras.m:
- * Panels.subproj/WebAuthenticationPanel.m:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView requestWithURLCString:]):
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
- * Plugins.subproj/WebNullPluginView.m:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge requestedURLString]):
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- (-[WebCookieAdapter cookiesForURL:]):
- (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setTitle:]):
- (-[WebDataSource _loadIcon]):
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _shouldReloadForCurrent:andDestination:]):
- (-[WebFrame _URLsMatchItem:]):
- * WebView.subproj/WebFrameView.m:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _elementAtPoint:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient loadWithRequest:]):
- (-[WebMainResourceClient setDefersCallbacks:]):
-
-2003-07-22 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2003-07-21 Ken Kocienda <kocienda@apple.com>
-
- Fixed build breaker.
-
- Removed glyphCountFromFont function. It was used only in an
- ERROR function, which does not compile in on deployment
- builds, causing a "defined, but not used warning".
-
- As this function is only a one-liner call into ATS, I
- replaced the usage in the ERROR call with a call to the
- ATS function directly.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:usingPrinterFont:])
-
-2003-07-18 Richard Williamson <rjw@apple.com>
-
- Fixed 3283594. "Times RO" appears to have a corrupt regular variant. Added
- additional bullet proofing to catch corrupt fonts. Also added a special case
- hack to map "Times RO" to "Time New Roman" if the variant doesn't have valid
- glyphs.
-
- Fixed 3319846. The page mentioned in this bug required > 10 substitute fonts for
- the same base font. This triggered some buggy code that hasn't been exercise before.
- Specifically the code that resizes the substitute fonts array was incorrect.
-
- Reviewed by mjs.
-
- * Misc.subproj/WebAssertions.h: Added FATAL_ALWAYS macro that logs and CRASHES
- even in deployment builds.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (mapForSubstituteFont):
- (widthFromMap):
- (FillStyleWithAttributes):
- (-[WebTextRenderer convertCharacters:length:toGlyphs:skipControlCharacters:]):
- (-[WebTextRenderer convertUnicodeCharacters:length:toGlyphs:]):
- (-[WebTextRenderer _computeWidthForSpace]):
- (-[WebTextRenderer _setupFont:]):
- (pathFromFont):
- (glyphCountFromFont):
- (-[WebTextRenderer initWithFont:usingPrinterFont:]):
- (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]):
- (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
-
-2003-07-17 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3250608 -- REGRESSION (74-85): reproducible Safari crash in blinkCaretTimerAction
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebNSTextView drawInsertionPointInRect:color:turnedOn:]):
- Use NSView's setNeedsDisplayInRect: instead of the one in NSTextView.
- This avoids the layout that the NSTextView version of the call might do.
- By definition, we don't need layout to draw the insertion point, because we did
- the layout to find where the insertion point should display. If we do the layout
- we can end up recursing into the insertion point drawing code, which wreaks major
- havoc. Still no idea why this happened less in version 74.
-
-2003-07-17 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge startLoadingResource:withURL:]): Now uses NSURL instead of NSString
- (-[WebBridge objectLoadedFromCacheWithURL:response:size:]): Ditto
- (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- Ditto
- (-[WebBridge setIconURL:]): Ditto
- (-[WebBridge setIconURL:withType:]): Ditto
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]): Ditto
- (-[WebBridge userAgentForURL:]): Ditto
- (-[WebBridge requestedURL]): Now returns string using _web_absoluteString
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _receivedError:complete:]): Now uses NSURL instead of NSString
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _opened]): Ditto
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): Ditto
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Ditto
-
-2003-07-17 Ken Kocienda <kocienda@apple.com>
-
- * Misc.subproj/WebNSURLExtras.m:
- (-[NSURL _web_URLStringLength]): Fix premature use of new CFURL API.
- New code is ifdef'ed out for now until everyone has revved.
-
-2003-07-17 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]): Now uses NSURL in API instead of NSString
- (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]): Ditto
- (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): Ditto
- * WebKit.pbproj/project.pbxproj: Added WebNSURLExtras file
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _commitIfReady:]): Now uses NSURL in API instead of NSString
-
-2003-07-15 Richard Williamson <rjw@apple.com>
-
- Fixed 3315952: Add support for <IMG> in attributed string conversion.
- Added RTFD pasteboard type.
-
- Reviewed by John.
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (+[WebHTMLView _pasteboardTypes]):
- (-[WebHTMLView _writeSelectionToPasteboard:]):
-
-2003-07-14 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - make some improvements to handling of the timer, inspired by some bug reports
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate dealloc]): Instead of releasing the timer, assert it is nil.
- (-[WebFrame _detachFromParent]): Invalidate and release the timer after finishing
- dealing with self, in case the reference from the timer is the last one.
- (-[WebFrame _timedLayout:]): Release the timer after doing all the other work,
- in case the reference from the timer is the last one.
- (-[WebFrame _setState:]): Release the timer after doing all the other work,
- in case the reference from the timer is the last one.
-
-2003-07-14 Darin Adler <darin@apple.com>
-
- Rolled out workaround to bug 3298153 -- get "screen font while printing"
- error, bad stuff happens after that (Sherlock, Safari). It turns out the
- real fix was on the WebCore side. Now that we have that fix we don't need
- these extra calls to printerFont, which is a relatively slow call that
- may need to look up a font by name each time it's called.
-
- * WebCoreSupport.subproj/WebTextRenderer.m: (_drawGlyphs):
- Remove code to look up the printer font.
-
-2003-07-14 Maciej Stachowiak <mjs@apple.com>
-
- Rolled in fix from Safari-89-branch
- 2003-07-12 Maciej Stachowiak <mjs@apple.com>
-
- Try to fix OS build by making the Frameworks link in both SYMROOT
- and DSTROOT, and at both build time and install time.
-
- * WebKit.pbproj/project.pbxproj:
-
-2003-07-14 Dave Hyatt <hyatt@apple.com>
-
- Roll this change out. It was a bad change that I only made
- because I was using the opacity APIs wrong.
- Reviewed by (nobody, just a straight backout of a previous checkin)
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
-
-2003-07-13 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Add command to prevent build from failing if symlink
- creation fails.
-
-2003-07-13 Darin Adler <darin@apple.com>
-
- Fixed symbolic link path as Matt Reda suggested.
-
- * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases
- to use Versions/Current instead of Versions/A.
-
-2003-07-13 Darin Adler <darin@apple.com>
-
- Fixed DSTROOT path as Eric Weiss suggested.
-
- * WebKit.pbproj/project.pbxproj: Changed paths in both of Maciej's new build phases.
-
-2003-07-12 Maciej Stachowiak <mjs@apple.com>
-
- Try to fix OS build by making the Frameworks link in both SYMROOT
- and DSTROOT, and at both build time and install time.
-
- * WebKit.pbproj/project.pbxproj:
-
-2003-07-11 Dave Hyatt <hyatt@apple.com>
-
- Make sure image compositing obeys the current global alpha that
- is in effect, e.g., if someone has set an opacity within the
- current layer.
-
- It's worth noting that I'm not even sure *why* this patch works,
- but it does, even with nested opacity layers.
- Reviewed by darin
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
-
-=== Safari-89 ===
-
-2003-07-10 Richard Williamson <rjw@apple.com>
-
- Fixed 3298153. Force use of printer font when printing.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (_drawGlyphs):
-
-2003-07-10 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3161102>: Avoid retain cycles by destroying plug-ins in the page cache before dealloc
- Fixed: <rdar://problem/3320624>: WebElementImageAltStringKey is not exported :-(
- Unspoof freebsd since we now handle gzip'd content.
-
- Reviewed by rjw.
-
- * History.subproj/WebHistoryItem.m:
- (+[WebHistoryItem _destroyAllPluginsInPendingPageCaches]): new, destroys all plug-ins
- (+[WebHistoryItem _releaseAllPendingPageCaches]): call _destroyAllPluginsInPendingPageCaches
- * WebKit.exp: export WebElementImageAltStringKey
- * WebView.subproj/WebUserAgentSpoofTable.c: unspoof freebsd
- (hash):
- (_web_findSpoofTableEntry):
- * WebView.subproj/WebUserAgentSpoofTable.gperf: unspoof freebsd
-
-2003-07-10 John Sullivan <sullivan@apple.com>
-
- Reviewed by Chris
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
- fixed copy/paste error in comment that I stumbled across
-
-2003-07-09 Richard Williamson <rjw@apple.com>
-
- Fixed 3141257. Animate multiple copies of the same
- image on the same page.
-
- Reviewed by hyatt.
-
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (+[WebImageRenderer stopAnimationsInView:]):
- (-[WebImageRenderer retainOrCopyIfNeeded]):
- (-[WebImageRenderer copyWithZone:]):
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
- (-[WebImageRenderer dealloc]):
- (-[WebImageRenderer repetitionCount]):
- (-[WebImageRenderer scheduleFrame]):
- (-[WebImageRenderer beginAnimationInRect:fromRect:]):
- * WebCoreSupport.subproj/WebImageRendererFactory.h:
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory imageRendererWithMIMEType:]):
- (-[WebImageRendererFactory imageRendererWithData:MIMEType:]):
- (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]):
-
-2003-07-09 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3229364>: user stylesheet path should be stored relative to home directory
-
- Reviewed by john.
-
- * Misc.subproj/WebKitNSStringExtras.h:
- * Misc.subproj/WebKitNSStringExtras.m:
- (-[NSString _web_stringByAbbreviatingWithTildeInPath]): new, handles home directories that have symlinks in path
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences userStyleSheetLocation]): converts path string or URL string to URL
- (-[WebPreferences setUserStyleSheetLocation:]): converts URL to path string or URL string
-
-2003-07-08 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3125264 -- nuke NSImage workaround when we drop Jaguar support
-
- * Misc.subproj/WebNSImageExtras.m: Removed the workaround.
-
- - removed other Jaguar-specific code
-
- * WebCoreSupport.subproj/WebImageRenderer.m: Remove workaround for improper
- handling of GIF animation loops with no loop counting, bug 3090341.
-
- * WebView.subproj/WebHTMLViewPrivate.m: Remove workaround for problem extracting
- scroll wheel events without also getting all others, which caused jumping around
- if you used the scroll wheel while moving the mouse, bug 3245425.
-
- * Misc.subproj/WebKitErrorsPrivate.h: Remove Jaguar-only import of <NSError.h>.
- * Plugins.subproj/WebNetscapePluginPackage.m: Remove Jaguar-only side of #if.
- * Plugins.subproj/WebNetscapePluginRepresentation.m: Remove Jaguar-only import
- of <NSError.h>.
- * WebKit/Plugins.subproj/WebPluginPackage.m: Remove unnecessary import of <NSError.h>.
- * Plugins.subproj/WebPluginPackage.m: Remove Jaguar-only side of #if.
- * WebCoreSupport.subproj/WebSubresourceClient.m: Remove Jaguar-only import
- of <NSError.h>.
- * WebView.subproj/WebDefaultFrameLoadDelegate.m: Remove Jaguar-only import
- of <NSError.h>.
- * WebView.subproj/WebImageRepresentation.m: Remove Jaguar-only import
- of <NSError.h>.
-
- * WebKit/English.lproj/StringsNotToBeLocalized.txt: Updated for this and other recent changes.
-
-2003-07-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3134494>: no progressive loading for standalone images
- Fixed: <rdar://problem/3280633>: exception raised (attempt to create array with nil element) when dragging image out of HTML
-
- Reviewed by rjw.
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragPromisedImage:rect:URL:title:event:]): don't take a file type since this can now be gotten from the image
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer _adjustSizeToPixelDimensions]): new method that rjw factored from incrementalLoadWithBytes:::
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]): call _adjustSizeToPixelDimensions so we have the correct image size as the image loads
- (-[WebImageRenderer MIMEType]): new accessor
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _handleMouseDragged:]): use renamed _web_dragPromisedImage
- * WebView.subproj/WebImageRepresentation.h:
- * WebView.subproj/WebImageRepresentation.m:
- (-[WebImageRepresentation doneLoading]): new
- (-[WebImageRepresentation setDataSource:]): create the image here
- (-[WebImageRepresentation receivedData:withDataSource:]): pass data to image
- (-[WebImageRepresentation receivedError:withDataSource:]): complete image loading
- (-[WebImageRepresentation finishedLoadingWithDataSource:]): complete image loading
- * WebView.subproj/WebImageView.h:
- * WebView.subproj/WebImageView.m:
- (-[WebImageView initWithFrame:]): call setAutoresizingMask so setFrameSize is called often enough
- (-[WebImageView dealloc]): tweak
- (-[WebImageView haveCompleteImage]): new
- (-[WebImageView drawingRect]): new
- (-[WebImageView drawRect:]): fill white then draw the image so we never show the previous page
- (-[WebImageView setFrameSizeUsingImage]): new, ensures that the view always fills the content area (so we draw over the previous page) and that the view is at least as large as the image.
- (-[WebImageView setFrameSize:]): call setFrameSizeUsingImage
- (-[WebImageView layout]): call setFrameSizeUsingImage
- (-[WebImageView setDataSource:]): store the rep
- (-[WebImageView dataSourceUpdated:]): call setNeedsLayout and setNeedsDisplay
- (-[WebImageView viewDidMoveToWindow]): tweak
- (-[WebImageView validateUserInterfaceItem:]): only allow copy if haveCompleteImage
- (-[WebImageView writeImageToPasteboard:]): only writeImageToPasteboard if haveCompleteImage
- (-[WebImageView writeSelectionToPasteboard:types:]): tweak
- (-[WebImageView menuForEvent:]): tweak
- (-[WebImageView mouseDragged:]): only allow drag if haveCompleteImage
- (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): tweak
-
-2003-07-08 Dave Hyatt <hyatt@apple.com>
-
- Change minimum font size pref value back to 9. This change
- has been made in conjunction with associated WebCore changes
- that allow us to institute a minimum font size safely without
- the need for a visible GUI pref.
- Reviewed by darin
-
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]):
-
-2003-07-07 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - fixed 3295916 - b/c JavaScriptCore and WebCore are installing in wrong location, private headers are public
-
- * WebKit.pbproj/project.pbxproj: Make a link from Frameworks to Versions/A/Frameworks.
-
-=== Safari-88 ===
-
-2003-07-07 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- - fix compile error from B&I Panther build; really, this time
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Use unsigned, not int.
- (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto.
-
-2003-07-06 Darin Adler <darin@apple.com>
-
- - fix compile error from B&I Panther build
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]): Rearrange code so that we won't get
- a warning if numGlyphs type is either signed or unsigned. We don't want to depend on the new ATS
- headers or the old ones; this is compatible with both.
- (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]): Ditto.
-
-2003-07-03 Darin Adler <darin@apple.com>
-
- * WebCoreSupport.subproj/WebImageRenderer.m: Remove obsolete comment.
-
-2003-07-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3206011>: Don't accepts drags when showing dialogs or sheets
-
- Reviewed by john.
-
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragOperationForDraggingInfo:]):
-
-2003-07-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3291566>: Aborting standalone image load makes image directory page unusable
-
- Reviewed by john.
-
- * WebKit.pbproj/project.pbxproj: Xcode-ified WebKit.pbproj
- * WebView.subproj/WebImageView.h:
- * WebView.subproj/WebImageView.m:
- (-[WebImageView drawRect:]): layout if we need to, fill with white if we don't have an image yet
- (-[WebImageView setNeedsLayout:]): set the bit
- (-[WebImageView layout]): if we don't have an image, the frame size is the visible area so we draw white over the previous web page
-
-2003-07-02 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3304992 - REGRESSION: Every GET on an authenticated site requires a login (genentech)
-
- I fixed this by adding a per-window queue of waiting
- authentication requests. Before going to a later item in the
- queue, the auth handler checks if there's already a credential
- available to handle it, and if so uses that as the answer instead of
- prompting.
-
- * Panels.subproj/WebPanelAuthenticationHandler.h:
- * Panels.subproj/WebPanelAuthenticationHandler.m:
- (-[NSMutableDictionary _web_setObject:forUncopiedKey:]):
- (-[WebPanelAuthenticationHandler init]):
- (-[WebPanelAuthenticationHandler dealloc]):
- (-[WebPanelAuthenticationHandler enqueueChallenge:forWindow:]):
- (-[WebPanelAuthenticationHandler tryNextChallengeForWindow:]):
- (-[WebPanelAuthenticationHandler startAuthentication:window:]):
- (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
-
-2003-06-30 John Sullivan <sullivan@apple.com>
-
- - fixed 3310716 -- Authentication dialog could be tweaked to
- better match guidelines
-
- Reviewed by Chris
-
- * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
- left-aligned "Name:" and "Password:" labels; slightly tweaked
- layout at right edge of sheet
-
-2003-06-26 Chris Blumenberg <cblu@apple.com>
-
- Changes to make WebKit compile with gcc 3.3.
-
- Reviewed by darin.
-
- * Carbon.subproj/HIWebView.m:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge setScrollbarsVisible:]):
- (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]):
- (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences setDefaultFontSize:]):
- (-[WebPreferences setDefaultFixedFontSize:]):
- (-[WebPreferences setMinimumFontSize:]):
- * WebView.subproj/WebView.m:
- (-[WebView searchFor:direction:caseSensitive:wrap:]):
-
-2003-06-24 Chris Blumenberg <cblu@apple.com>
-
- Renamed the context menu item Download Image To Disk" to "Download Image to Disk".
-
- Reviewed by john.
-
- * English.lproj/Localizable.strings:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate menuItemWithTag:]):
-
-2003-06-19 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3294803>: HTTP error sent as content instead of error to plug-ins
-
-
- Reviewed by john.
-
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]): if the response is an error, cancel the load, return a network error
-
-=== Safari-85.1 ===
-
-2003-06-15 Vicki Murley <vicki@apple.com>
-
- Reviewed by darin.
-
- * WebKit.pbproj/project.pbxproj: remove SECTORDER_FLAGS variable, so that we don't use order file for our Panther submission
-
-=== Safari-85 ===
-
-2003-06-13 Darin Adler <darin@apple.com>
-
- Reviewed by Darin (Richard wrote the first cut), then Don and Dave.
-
- - fixed 3291467 -- CARBON: context menus are broken when using WebKit from Carbon
-
- * Carbon.subproj/HIWebView.m: (ContextMenuClick): Rewrite method to create a fake
- right mouse up event, and pass that to menuForEvent: and _popUpMenuWithEvent.
-
-2003-06-13 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed 3291778 -- REGRESSION (51-52): QT controller never shows up for mp3 in frame
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
- Handle the "invisible" plug-in cases in a more complete way.
- Detect the various ways of being invisible (big negative X value, 0 size,
- not really in a window) and in all those cases, use a clip rect to guarantee
- we won't be seen, and make sure the size passed to the plug-in is *not* 0.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2003-06-13 David Hyatt <hyatt@apple.com>
-
- Fix for 3291319, scrolling is much worse since 79. The problem
- was a fix for resize events that needed to use the scrollview size
- and not the document view size inside the scrollview.
- Reviewed by darin
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView layoutToPageWidth:]):
- * WebView.subproj/WebHTMLViewPrivate.h:
-
-2003-06-13 Chris Blumenberg <cblu@apple.com>
-
- Fixed previous " Reviewed by" string.
-
- * ChangeLog:
-
-2003-06-13 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3291502>: REGRESSION (80-81): freebsd.org is giving us gzipped content (because we stopped spoofing)
-
- Reviewed by john.
-
- * WebView.subproj/WebUserAgentSpoofTable.c:
- (hash):
- (_web_findSpoofTableEntry):
- * WebView.subproj/WebUserAgentSpoofTable.gperf:
-
-2003-06-12 Richard Williamson <rjw@apple.com>
-
- Restoring fix for 3221078 that I earlier backed out in a
- panic about performance. In careful performance testing
- I now see no performance regression, and maybe a tiny improvement.
- The earlier performance regression Vicki saw was entirely
- due to the incorrect checkin for the fix to 3288532.
-
- Reviewed by Chris & Gramps.
-
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
-
-2003-06-12 Richard Williamson <rjw@apple.com>
-
- Correct fix for 3288532 again. This time will feeling!
-
- Reviewed by Gramps.
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList setCapacity:]):
-
-2003-06-12 Don Melton <gramps@apple.com>
-
- Since Richard didn't actually correct the fix for 3288532 in
- WebBackForwardList.m, I've backed out out his original fix entirely.
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList setCapacity:]):
-
-2003-06-12 Richard Williamson <rjw@apple.com>
-
- Correct fix for 3288532.
-
- * History.subproj/WebBackForwardList.m:
-
-2003-06-12 Richard Williamson <rjw@apple.com>
-
- Fixed 3288532. When setCapacity: shrinks capacity, trim
- the back/forward list. Setting to zero will effectively
- flush the list.
-
- Reviewed by John.
-
- * History.subproj/WebBackForwardList.m:
-
-2003-06-12 Richard Williamson <rjw@apple.com>
-
- Fixed 3221078. Maintain a seperate width map
- for substitute fonts to avoid collision of glyph
- codes.
-
- Reviewed by Chris & Gramps.
-
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
-
-=== Safari-84 ===
-
-2003-06-12 Darin Adler <darin@apple.com>
-
- Fixed by Richard, reviewed by me.
-
- - fixed 3289047 -- REGRESSION: can't go back after using form at attwireless.com
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- Added isJavaScriptFormAction parameter, passed on to frame.
-
- * WebView.subproj/WebFramePrivate.h: Added isJavaScriptFormAction parameter.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- If isJavaScriptFormAction is YES, then don't treat this is a "quick redirect" which is
- merged with the previous page for purposes of back/forward.
-
-2003-06-11 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3289577>: Reenable Carbon Java plug-ins when in Carbon app
-
- Reviewed by gramps.
-
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): only call canUsePlugin: for web plug-ins
-
-2003-06-11 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3289380>: REGRESSION: policyDataSource == nil assertion failure after closing particular window
-
-
- Reviewed by john.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueAfterNavigationPolicy:]): don't clear policyDataSource here because this method may not be called during navigation
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): clear policyDataSource here
-
-2003-06-11 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3288097>: REGRESSION: assertion failure after hitting back while loading page after fragment scroll
-
- Fixed by darin, reviewed by me.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _URLsMatchItem:]): ignore the URL fragment so we scroll back at the current page instead of attempt to load the current page
-
-2003-06-11 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3285808 -- repro world leak when replacing div that contains iframe (at www.kbs.co.kr)
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameDetached]):
- Add a call to _detachFromParent.
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _removeChild:]):
- Nil out the parent pointer in the removed child.
-
-2003-06-10 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3288076>: REGRESSION: Fragment scroll stops page load
-
- We do policy navigation checks for the regular load case, fragment scroll and redirects.
- We only want to stop the load, change the provisional data source etc in the regular load case.
-
- Reviewed by darin.
-
- * WebView.subproj/WebFramePrivate.m: got rid of _prepareForProvisionalLoadWithDataSource:: since the work done in this method only needs to be done in _continueLoadRequestAfterNavigationPolicy:: (which covers the regular load case).
- (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): don't clear policyDataSource because it needs to be called in _continueLoadRequestAfterNavigationPolicy::
- (-[WebFrame _setPolicyDataSource:]): new
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): don't call _prepareForProvisionalLoadWithDataSource::, don't muck with policyDataSource because it is only needed in the regular load case
- (-[WebFrame _continueAfterNavigationPolicy:]): don't call _prepareForProvisionalLoadWithDataSource::, call _setPolicyDataSource:nil after _continueLoadRequestAfterNavigationPolicy:: has used policyDataSource
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): this method covers the regular load case. This is where we need to stop the load, set the load type and the provisional data source. Code was in _prepareForProvisionalLoadWithData
-
-
-
-
-Source::
- (-[WebFrame _loadDataSource:withLoadType:formState:]): set the policyLoadType and policyDataSource (the beginning of the regular load case)
-
-2003-06-10 Richard Williamson <rjw@apple.com>
-
- Back out incorrect fix to 3287862.
-
-2003-06-10 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3156169>: cmd-click opens new win but stops loading in prev win
-
- Reviewed by rjw.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame stopLoading]): set the provisional data source to nil to avoid a newly added assert in [WebFramePrivate setProvisionalDataSource:]
- and since it is wasteful to retain it in this case
- * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType ivars
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate dealloc]): added an assert
- (-[WebFramePrivate setProvisionalDataSource:]): added an assert
- (-[WebFrame _isLoadComplete]): formatting tweak
- (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): reset policyDataSource
- (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak
- (-[WebFrame _prepareForProvisionalLoadWithDataSource:loadType:]): new, calls stopLoading, _setLoadType and _setProvisionalDataSource
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): call _prepareForProvisionalLoadWithDataSource:loadType: only in the "use" policy case
- (-[WebFrame _continueAfterNavigationPolicy:]): call _setProvisionalDataSource:andLoadType:
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): formatting tweak
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): if there is no request to continue with, don't reset things like the provisional data source since it was never unset in this case
- (-[WebFrame _loadDataSource:withLoadType:formState:]): don't call stopLoading, _setLoadType and _setProvisionalDataSource, since that stops the frame even for command-click and option-click. Do this work in _prepareForProvisionalLoadWithDataSource
-
-
-
-
-:loadType: instead.
-
-2003-06-10 Richard Williamson <rjw@apple.com>
-
- Fixed 3287862. Don't override resize flags
- when decoding WebView.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebView.m:
- (-[WebView _commonInitializationFrameName:groupName:]):
-
-2003-06-10 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3286006>: Carbon Java plug-in problems may require workaround in WebKit
-
- Reviewed by john.
-
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase canUsePlugin:]): if in a carbon app, only use the mach-o java plug-in when its version is anything but 1.0.0
- (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): call canUsePlugin on all the plug-ins
-
-
-2003-06-10 Vicki Murley <vicki@apple.com>
-
- Reviewed by john.
-
- * WebKit.order: new order file for 1.0
-
-2003-06-09 Chris Blumenberg <cblu@apple.com>
-
- * WebView.subproj/WebDataSource.h: Removed FIXME related to pageTitle.
-
-2003-06-09 Chris Blumenberg <cblu@apple.com>
-
- <rdar://problem/3283359>: don't load Cocoa Java plug-in if in Carbon app
-
-
- Reviewed by darin.
-
- * Plugins.subproj/WebPluginDatabase.h: removed pluginForFilename, wasn't being used
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't use the plug-in if ![self isCocoa] && [[[webPlugin bundle] bundleIdentifier] isEqualToString:JavaCocoaPluginIdentifier]
-
-2003-06-09 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3284848>: REGRESSION: repro crash in Flash handling null event, going back to Japanese Disney page
-
- When restarting plug-ins from the BF cache, we were not calling NPP_SetWindow.
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView stop]): set the window type to 0 to force the calling of NPP_SetWindow
-
-=== Safari-83 ===
-
-2003-06-07 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2003-06-07 Darin Adler <darin@apple.com>
-
- Rolled out Chris's fix for 3156169 because it was causing a lot of crashes
- and problems with basic behavior. We can try again later.
-
- One of the problems was that Back wasn't working. Another was that you could
- not follow the link at the top of the page at kbb.com. More testing seemed to
- reveal still more problems.
-
- * WebView.subproj/WebFramePrivate.h: Rolled back to previous version.
- * WebView.subproj/WebFramePrivate.m: Ditto.
-
-2003-06-06 Richard Williamson <rjw@apple.com>
-
- Fixed 3283236. Remove use of forward declarations in public header because
- CodeWarrior pukes on 'em.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebDataSource.h:
-
-2003-06-06 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3156169>: cmd-click opens new win but stops loading in prev win
-
- Reviewed by darin.
-
- * WebView.subproj/WebFramePrivate.h: added policyDataSource and policyLoadType as ivars
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate dealloc]): added ASSERT
- (-[WebFramePrivate setProvisionalDataSource:]): added ASSERT
- (-[WebFrame _isLoadComplete]): formatting tweak
- (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]): clear policyDataSource
- (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]): formatting tweak
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]): retain policyDataSource
- (-[WebFrame _continueAfterNavigationPolicy:]): stop the load, set the load type, set the provisional data source in the "use" case
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): formatting tweak
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): don't reset things if something other than "use" has been chosen
- (-[WebFrame _loadDataSource:withLoadType:formState:]): DON'T stop the load, set the load type, set the provisional data source
-
-2003-06-06 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3282881>: Java plugin fails in carbon WebKit apps
-
- Fixed by Mike Hay, reviewed by me.
-
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase initIsCocoa]):
- (-[WebPluginDatabase isCocoa]):
- (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): don't load cocoa plug-ins if isCocoa.
-
-2003-06-05 John Sullivan <sullivan@apple.com>
-
- - fixed 3266216 -- repro crash in
- -[WebBaseResourceHandleDelegate connection:didReceiveData:]
- in GIA Application
-
- The problem was that an NSURLConnection delegate object (in this
- case a WebMainResourceClient) was being dealloc'ed during one of
- its connection delegate methods. To prevent this kind of problem,
- I added [self retain]/[self release] guards around the meat of
- all of the connection delegate methods in which arbitrary code
- could be run. Another approach would be to do this retain/release
- pair in NSURLConnection, but Darin deemed it wiser not to muck with
- Foundation at this point for this issue.
-
- Reviewed by Darin
-
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]):
- guard with [self retain]/[self release]
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:]):
- ditto
- (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]):
- ditto
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient connection:didReceiveResponse:]):
- ditto
- (-[WebSubresourceClient connection:didReceiveData:]):
- ditto
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
- ditto
- (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
- ditto
- (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
- ditto
- (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
- ditto
- (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
- ditto. Also, commented out two assertions that fire illegitimately in the steps in
- this bug report.
- (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
- ditto
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
- ditto
- (-[WebMainResourceClient connection:didReceiveResponse:]):
- ditto
- (-[WebMainResourceClient connection:didReceiveData:]):
- ditto
-
-2003-06-04 Richard Williamson <rjw@apple.com>
-
- Fixed 3277775. Send less notifications. Notifcations suck!
-
- Reviewed by David.
-
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebViewPrivate init]):
- (-[WebView _progressStarted]):
- (-[WebView _progressCompleted]):
- (-[WebView _incrementProgressForConnection:data:]):
-
-2003-06-04 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3277675 -- REGRESSION: mouse wheel events not coalesced
-
- * WebView.subproj/WebHTMLViewPrivate.m: (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]):
- When the mask is scroll wheel mask, instead of getting no events, do some tricks to get the next
- event if it is a scroll wheel event, and nothing otherwise. Also ifdef the fix so we don't compile
- it on Panther, since the underlying bug was fixed on Panther.
-
- - other changes
-
- * WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer copyWithZone:]):
- Remove unneeded line of code. The super function copies all simple fields for us.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView setMIMEType:]): Use copy instead of retain, do it in the right order
- to avoid "same object release/retain" disease.
- (-[WebBaseNetscapePluginView setBaseURL:]): Do retain before release (same reason as above).
-
-2003-06-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3278496 - <rdar://problem/3278496>: NSURLDownload: initWithSource and source should be renamed to initWithRequest and request
-
- Reviewed by rjw.
-
- * Misc.subproj/WebDownload.m:
- (-[WebDownload initWithRequest:delegate:]):
- (-[WebDownload _initWithRequest:delegate:directory:]):
- * WebView.subproj/WebImageView.m:
- (-[WebImageView setNeedsDisplay:]):
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _downloadURL:toDirectory:]):
-
-2003-06-03 Richard Williamson <rjw@apple.com>
- Fixed 3263188, 3274636.
- Written by Ed Voas. Reviewed by Richard.
-
- * Carbon.subproj/CarbonUtils.m:
- (WebInitForCarbon):
- Ensure the process info is correctly initialized so the correct
- "flavour" (carbon) is detected.
-
- * Carbon.subproj/HIWebView.m:
- (Draw):
- Always draw the growbox after drawing the web view,
- assuming overlap.
-
-=== Safari-82 ===
-
-2003-06-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3167792>: hang in _web_dragPromisedImage dragging 4 MB image
-
- Reviewed by john.
-
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragPromisedImage:rect:URL:fileType:title:event:]): if the original image is greater than 1500x1500, use a file icon for the drag image to avoid hanging
-
-2003-06-02 Richard Williamson <rjw@apple.com>
-
- Fix for 3250352.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]):
- Check respondsToSelector: before calling.
-
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebUIDelegate.h:
- Headerdoc tweaks.
-
-=== Safari-81 ===
-
-2003-06-02 Chris Blumenberg <cblu@apple.com>
-
- Fixed: <rdar://problem/3154910>: No video when viewing QT plug-in content at some pages but audio works
-
- This fix works around QT plug-in bug 3275755, but I think the fix is logical and worth keeping even after 3275755 is fixed.
-
-
- Eric Carlson:
- The problem happens when you call NPP_SetWindow with a 0 width or height more than once. The first call to NPP_SetWindow always seems to have width and height set to 0, but the next call sometimes has it set to the correct values (those in the EMBED tag)
-
-
-
-
-. This is when it draws successfully. It seems to me that the fix is to always pass the correct width and height to NPP_SetWindow. You always position the plug-in far offscreen (1000000, -52) and set the clip region to an empty rect (48576, 52, 48576, 52)
-
-
-
-
- so there isn't really any danger of the plug-in drawing anyway. Additionally, you pass the correct width and height in the call to NPP_New before the first call to NPP_SetWindow.
-
- Reviewed by john, darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the NSView width and height if greater than 0, else use the tag specified width and height
- (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): new
- (-[WebBaseNetscapePluginView setWindow]): NPP_SetWindow may be expensive, only call it if it has changed
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage launchRealPlayer]): tweak, no need to store error code since it is ignored
-
-2003-05-30 Richard Williamson <rjw@apple.com>
-
- Fixed 3272516. Items are now expired from the
- b/f cache if they are older than 30 minutes. This
- number was pulled out of our #!$es. Also did
- some cleanup of the b/f cache code.
-
- Reviewed by Ken.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge saveDocumentToPageCache:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _createPageCacheForItem:]):
- (-[WebFrame _setState:]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]):
- (-[WebPreferences _resourceTimedLayoutEnabled]):
- (-[WebPreferences _backForwardCacheExpirationInterval]):
- * WebView.subproj/WebPreferencesPrivate.h:
- * WebView.subproj/WebView.h:
-
- * WebView.subproj/WebPreferences.h: Cleaned up some headerdoc
- comments.
-2003-05-29 Richard Williamson <rjw@apple.com>
-
- Implemented 'estimatedProgress' method on WebView. This should
- eventually replace the broken algorithm on WebBrowser. Maybe
- for panther.
-
- Reviewed by Chris.
-
- * WebKit.exp:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
- (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
- (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
- (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
- (-[WebBaseResourceHandleDelegate cancelWithError:]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _isLoadComplete]):
- (-[WebFrame _numPendingOrLoadingRequests:]):
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView estimatedProgress]):
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebViewPrivate dealloc]):
- (-[WebView _isPerformingProgrammaticFocus]):
- (-[WebView _progressStarted]):
- (-[WebView _progressCompleted]):
- (-[WebView _incrementProgressForConnection:data:]):
- (-[WebView _completeProgressForConnection:]):
-
- Code cleanup. Moved variable initialization into block that
- check for non-nil self.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer initWithMIMEType:]):
- (-[WebImageRenderer initWithData:MIMEType:]):
- (-[WebImageRenderer initWithContentsOfFile:]):
-
-2003-05-29 Richard Williamson <rjw@apple.com>
-
- Fixed 3272226. The shared image factory was being released
- when any renderer had 0 reps!
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory imageRendererWithMIMEType:]):
-
-2003-05-29 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3151216 - Safari crashes on Drag&Drop if plugin dialog is open
- Reviewed by rjw.
-
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragOperationForDraggingInfo:]): return NSDragOperationNone is the app has a modal window so the current page can't be changed with a drag
- * WebView.subproj/WebView.m:
- (-[WebView draggingEntered:]): return _web_dragOperationForDraggingInfo
-
-2003-05-29 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3273109 - leak from functionPointerForTVector in -[WebNetscapePluginPackage load]
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]): free the main function after using it
-
-2003-05-29 Richard Williamson <rjw@apple.com>
- Fixed 3273115. Always use pixel dimensions,
- not absolute dimensions.
-
- Reviewed by Ken.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
-
-2003-05-29 Richard Williamson <rjw@apple.com>
-
- Fix 3272292. Ensure that loadStatus is always
- initialized to NSImageRepLoadStatusUnknownType.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer initWithMIMEType:]):
- (-[WebImageRenderer initWithData:MIMEType:]):
- (-[WebImageRenderer initWithContentsOfFile:]):
-
-2003-05-28 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Richard
-
- Fix for this bug:
-
- Radar 3260323 (Some links at nike.com cause assertion failure
- (connectionDidFinishLoading sent after cancel))
-
- Added a flag which is set when a load is cancelled. This flag prevents
- bad behvior when loads that finish cause the load itself to be
- cancelled (which could happen with a javascript that changes the
- window location). This is used to prevent both the body of
- cancelWithError: and the body of connectionDidFinishLoading: running
- for a single delegate. Cancelling wins.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
- (-[WebBaseResourceHandleDelegate cancelWithError:]):
-
-2003-05-28 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3270576 - RealPlayer plug-in fails to load
-
- Reviewed by darin.
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage launchRealPlayer]): new
- (-[WebNetscapePluginPackage load]): call launchRealPlayer to regenerate its broken plist file
-
-2003-05-28 Richard Williamson <rjw@apple.com>
-
- Fixed 3165631 (and other similar).
- Fixed 3262592.
-
- We now set NSImage's cache mode to NSImageCacheNever during
- progressive loads. It gets reset to NSImageCacheDefault when
- loads complete.
-
- If an image is scaled, NSImage appears to create a NSCacheImageRep
- with the wrong size during progessive image loading. Specifically
- it appears to create a cached rep with the original size.
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory imageRendererWithMIMEType:]):
-
- * WebView.subproj/WebPreferences.h:
- Updated headerdoc comments.
-
-2003-05-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3233442 - Crash in -[WebNetscapePluginPackage load] at http://www.adultswim.com/
-
- Reviewed by mjs.
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]): don't call NPP_Shutdown if the plug-in fails to load
-
-2003-05-27 Chris Blumenberg <cblu@apple.com>
-
- Don't load and save icons if the icon DB directory default is not set.
-
- Reviewed by darin.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _createFileDatabase]): don't create the DB if the default is not set
- (-[WebIconDatabase _loadIconDictionaries]): don't load the dictionaries if the DB doesn't exist
- (-[WebIconDatabase _updateFileDatabase]): don't update the DB if it doesn't exist
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _loadIcon]): don't load icons if the icon DB directory default is not set
-
-2003-05-27 Maciej Stachowiak <mjs@apple.com>
-
- Rolled in fix from Safari-80~1-branch
- 2003-05-27 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- * WebKit.pbproj/project.pbxproj: Removed no longer needed and harmful flag.
-
-2003-05-27 Richard Williamson <rjw@apple.com>
-
- Fix for IB.
-
- Reviewed by Eric Seymour.
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences initWithIdentifier:]):
- Added retain to uniqued instance. (As we did recently
- for initWithCoder:).
-
-2003-05-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3270013 - Exception raised when visiting http://www.shutterfly.com/favicon.ico
-
- Reviewed by john.
-
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory imageRendererWithBytes:length:MIMEType:]): return nil if the image has no representations
-
-2003-05-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3242864 - repro assertion failure in WebIconDatabase.m for www.shutterfly.com
-
- Reviewed by john.
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader connectionDidFinishLoading:]): don't set the icon on the DB if it has no representations
-
-2003-05-27 Richard Williamson <rjw@apple.com>
-
- Fixes for IB.
-
- Reviewed by Eric Seymour.
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences initWithCoder:]):
- Added retain to uniqued instance
-
- * WebView.subproj/WebView.m:
- (-[WebView initWithCoder:]):
- (-[WebView setPreferences:]):
- Added release check to global uniquing dictionary.
-
-2003-05-23 Richard Williamson <rjw@apple.com>
-
- Tweaks for IB.
- Updated WebView and WebPreferences to use
- keyed archiving.
- Added private method to export settable user
- defaults keys.
-
- Reviewed by Ken.
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences initWithCoder:]):
- (+[WebPreferences _userDefaultsKeysForIB]):
- * WebView.subproj/WebPreferencesPrivate.h:
- * WebView.subproj/WebView.m:
- (-[WebView initWithCoder:]):
-
-2003-05-23 Richard Williamson <rjw@apple.com>
-
- Added export of _WebHistoryItemChangedNotification.
-
- * WebKit.exp:
-
-2003-05-23 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3259426 - Can't copy mailto links to clipboard
-
- Reviewed by john.
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): offer "Copy Link to Clipboard" for all links
-
-2003-05-22 Richard Williamson <rjw@apple.com>
-
- *** Public API change ***
- 100% compatible. Added notification when history items
- change values.
-
- Fixed 3265672
- Reviewed by John.
-
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem setAlternateTitle:]):
- (-[WebHistoryItem setURL:]):
- (-[WebHistoryItem setOriginalURLString:]):
- (-[WebHistoryItem setTitle:]):
- (-[WebHistoryItem _setLastVisitedTimeInterval:]):
-
-2003-05-22 Richard Williamson <rjw@apple.com>
-
- Fixed 3266464. Build problem on panther caused by overly
- pedantic gcc.
-
- Reviewed by John.
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences initWithCoder:]):
- * WebView.subproj/WebView.m:
- (-[WebView initWithCoder:]):
-
-2003-05-22 Richard Williamson <rjw@apple.com>
-
- Add _web to method in category name.
-
- Fixed 3266102. @selector missing ":".
-
- Reviewed by Darin.
-
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences _removeReferenceForIdentifier:]):
- (-[NSMutableDictionary _web_checkLastReferenceForIdentifier:]):
-
-2003-05-22 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - removed all entries except for jaguar.com because:
- a) most of these sites now work fine without the spoofing or have gone away
- b) nj.com and oregonlive.com do not work, but the spoofing committee (Mark,
- Don, Dave, and me) decided we should stop spoofing and get them to fix
- the sites instead
- If we can resolve jaguar.com in a similar way, we can remove the spoofing
- feature altogether.
-
- * WebView.subproj/WebUserAgentSpoofTable.gperf: Removed all but jaguar.com.
- * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
-
-2003-05-21 Richard Williamson <rjw@apple.com>
-
- *** Public API Change ***
- The fix for 3265442 requires new API. This API is an addition
- that is 100% compatible with the existing API.
-
- Provide support for IB to palettize WebView.
-
- Fixed 3265442.
- Fixed 3263106.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferencesPrivate dealloc]):
- (-[WebPreferences init]):
- (-[WebPreferences initWithIdentifier:]):
- (-[WebPreferences initWithCoder:]):
- (-[WebPreferences encodeWithCoder:]):
- (+[WebPreferences standardPreferences]):
- (-[WebPreferences dealloc]):
- (-[WebPreferences identifier]):
- (-[WebPreferences _stringValueForKey:]):
- (-[WebPreferences _setStringValue:forKey:]):
- (-[WebPreferences _integerValueForKey:]):
- (-[WebPreferences _setIntegerValue:forKey:]):
- (-[WebPreferences _boolValueForKey:]):
- (-[WebPreferences _setBoolValue:forKey:]):
- (-[WebPreferences autosaves]):
- (+[WebPreferences _getInstanceForIdentifier:]):
- (+[WebPreferences _setInstance:forIdentifier:]):
- (+[WebPreferences _removeReferenceForIdentifier:]):
- (-[WebPreferences _postPreferencesChangesNotification]):
- (-[NSMutableDictionary _checkLastReferenceForIdentifier:]):
- * WebView.subproj/WebPreferencesPrivate.h:
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView _commonInitializationFrameName:groupName:]):
- (-[WebView initWithCoder:]):
- (-[WebView encodeWithCoder:]):
- (-[WebView dealloc]):
- (-[WebView setPreferencesIdentifier:]):
- (-[WebView preferencesIdentifier]):
-
-2003-05-21 Chris Blumenberg <cblu@apple.com>
-
- Fixed data source leak when viewing standalone plug-in content.
-
- Reviewed by rjw.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.h: don't inherit from WebBaseResourceHandleDelegate
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream transferMode]): new
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation dealloc]): don't release the data source
- (-[WebNetscapePluginRepresentation setDataSource:]): don't retain the data source
- * Plugins.subproj/WebNetscapePluginStream.h:
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]): create a WebNetscapePluginConnectionDelegate
- (-[WebNetscapePluginStream dealloc]): release the WebNetscapePluginConnectionDelegate
- (-[WebNetscapePluginStream start]): start the load on the WebNetscapePluginConnectionDelegate
- (-[WebNetscapePluginStream stop]): start the load on the WebNetscapePluginConnectionDelegate
- (-[WebNetscapePluginConnectionDelegate initWithStream:view:]): new class, inherits from WebBaseResourceHandleDelegate
- (-[WebNetscapePluginConnectionDelegate _releaseResources]):
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveResponse:]):
- (-[WebNetscapePluginConnectionDelegate connection:didReceiveData:]):
- (-[WebNetscapePluginConnectionDelegate connectionDidFinishLoading:]):
- (-[WebNetscapePluginConnectionDelegate connection:didFailWithError:]):
- (-[WebNetscapePluginConnectionDelegate cancel]):
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate response]): new
-
-2003-05-21 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - fixed 3254473 - REGRESSION: nike help page reloads on mouseovers, triggered by onresize function
-
- REGRESSION: reload loop due to onresize handler (fortune.com, flipdog.com, stanford.edu)
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView layoutToPageWidth:]): Go back to checking for at least one
- layout instead of last layout event time. Measure size in a way that ignores
- whether the scrollbares are there or not.
- * WebView.subproj/WebHTMLViewPrivate.h: Remove last layout event time and
- add back laid out at least once boolean.
-
-2003-05-21 Chris Blumenberg <cblu@apple.com>
-
- These problems:
- 3184359 - icon exception closing window while typing
- 3245476 - Safari-78 crashes or hangs after IMDB Find and using the history menu to go back ...
- are not or are no longer reproducible. They were caused by an exception raised in WebKit.
- Since we don't use exceptions in WebKit, I've replaced the exception with an assert.
- Reviewed by john.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _releaseFutureIconForURL:]): assert instead of exception if failure
-
-2003-05-21 Ed Voas <voas@apple.com>
-
- - fixed 3262868: Update Carbon WebKit API prefixes
- - fixed 3264980: Carbon support in WebKit needs to route mouse events properly
- Reviewed by Richard.
-
- * Carbon.subproj/CarbonUtils.h:
- * Carbon.subproj/CarbonUtils.m:
- (WebInitForCarbon):
- (WebConvertNSImageToCGImageRef):
- * Carbon.subproj/HIWebView.h:
- * Carbon.subproj/HIWebView.m:
- (HIWebViewGetWebView):
- (OwningWindowChanged):
- (WindowHandler):
- (HIWebViewEventHandler):
- * WebKit.exp:
-
-2003-05-21 Vicki Murley <vicki@apple.com>
-
- Reviewed by john
- - fixed 3234553: Safari and its frameworks should link using order files
-
- * WebKit.order: Added.
- * WebKit.pbproj/project.pbxproj: set SECTORDER_FLAGS = -sectorder __TEXT __text WebKit.order;
-
-2003-05-20 Richard Williamson <rjw@apple.com>
-
- Fixed 3262825.
- Fixed 3245625.
- Fixed 3262547.
-
- Recursively check items when going back/forward to ensure all
- frame URLs are correct.
-
- Added some logging to help diagnose back/forward problems.
-
- Reviewed by John.
-
- * History.subproj/WebHistory.m:
- (-[WebHistory addItem:]):
- * Misc.subproj/WebKitLogging.h:
- * Misc.subproj/WebKitLogging.m:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithRequest:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _createItem:]):
- (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _URLsMatchItem:]):
- (-[WebFrame _loadItem:withLoadType:]):
-
-=== Safari-80 ===
-
-2003-05-20 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Due to some header file changes in Foundation on Panther,
- Tweaked some includes so that WebKit builds on Jaguar
- and Panther.
-
- * Carbon.subproj/CarbonWindowFrame.m:
- * Plugins.subproj/WebNetscapePluginPackage.m:
- * Plugins.subproj/WebPluginPackage.m:
-
-2003-05-19 Maciej Stachowiak <mjs@apple.com>
-
- - fixed 3261096 - Make WebKit an umbrella framework
-
- * WebKit.pbproj/project.pbxproj: Build WebKit as a public umbrella
- framework when doing a B&I build.
-
-2003-05-19 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- * Panels.subproj/WebAuthenticationPanel.m: Now imports Foundation/NSURLCredential.h
- * WebCoreSupport.subproj/WebCookieAdapter.m: Now imports Foundation/NSHTTPCookie.h
-
-2003-05-19 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Changed imports to include headers from Foundation
- instead of WebFoundation.
-
- Removed WebFoundation.framework as a dependency in
- the project file.
-
- * History.subproj/WebHistory.m:
- * History.subproj/WebHistoryItem.m:
- * History.subproj/WebHistoryPrivate.m:
- * History.subproj/WebURLsWithTitles.m:
- * Misc.subproj/WebDownload.h:
- * Misc.subproj/WebDownload.m:
- * Misc.subproj/WebFileDatabase.m:
- * Misc.subproj/WebIconDatabase.m:
- * Misc.subproj/WebIconLoader.m:
- * Misc.subproj/WebKitErrors.m:
- * Misc.subproj/WebKitErrorsPrivate.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- * Misc.subproj/WebNSViewExtras.m:
- * Panels.subproj/WebAuthenticationPanel.h:
- * Panels.subproj/WebAuthenticationPanel.m:
- * Panels.subproj/WebPanelAuthenticationHandler.h:
- * Panels.subproj/WebPanelAuthenticationHandler.m:
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- * Plugins.subproj/WebNetscapePluginStream.m:
- * Plugins.subproj/WebNullPluginView.m:
- * Plugins.subproj/WebPluginController.m:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- * WebView.subproj/WebDataProtocol.h:
- * WebView.subproj/WebDataProtocol.m:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- * WebView.subproj/WebDefaultFrameLoadDelegate.m:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- * WebView.subproj/WebDefaultUIDelegate.m:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebFrameView.m:
- * WebView.subproj/WebFrameViewPrivate.m:
- * WebView.subproj/WebHTMLRepresentation.m:
- * WebView.subproj/WebHTMLViewPrivate.m:
- * WebView.subproj/WebImageRepresentation.m:
- * WebView.subproj/WebMainResourceClient.m:
- * WebView.subproj/WebPreferences.m:
- * WebView.subproj/WebTextRepresentation.m:
- * WebView.subproj/WebTextView.m:
- * WebView.subproj/WebUIDelegate.h:
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.m:
-
-2003-05-16 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - fixed 3255088 - repro crash in WebCredentialStorage remembering password from onlinetrafficsafety.com
-
- * WebView.subproj/WebFormDelegate.h:
- * WebView.subproj/WebFormDelegate.m:
- (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]): Expect sourceFrame
- argument.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]): Include
- source frame in form state.
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- Include source frame in form state. Post directly to the target
- frame if it exists, since we want the form state to contain the
- right source frame.
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]): Pass source frame to form
- delegate.
- (-[WebFormState initWithForm:values:sourceFrame:]): New sourceFrame argument.
- (-[WebFormState dealloc]): release sourceFrame.
- (-[WebFormState sourceFrame]): New method.
-
-2003-05-16 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Gramps
-
- Moved in WebDatabase and WebFileDatabase files from WebFoundation.
-
- Copied NSLRUFileList from WebFoundation and renamed to WebLRUFileList.
-
- Updated StringsNotToBeLocalized.txt.
-
- * English.lproj/StringsNotToBeLocalized.txt:
- * Misc.subproj/WebDatabase.h:
- * Misc.subproj/WebDatabase.m:
- * Misc.subproj/WebFileDatabase.h:
- * Misc.subproj/WebFileDatabase.m:
- (-[WebFileDatabaseOp initWithCode:key:object:]):
- (-[WebFileDatabaseOp perform:]):
- (SetThreadPriority):
- (-[WebFileDatabase _createLRUList:]):
- (-[WebFileDatabase _truncateToSizeLimit:]):
- (+[WebFileDatabase _syncLoop:]):
- (-[WebFileDatabase setObject:forKey:]):
- (-[WebFileDatabase removeObjectForKey:]):
- (-[WebFileDatabase removeAllObjects]):
- (-[WebFileDatabase objectForKey:]):
- (-[WebFileDatabase performSetObject:forKey:]):
- (-[WebFileDatabase performRemoveObjectForKey:]):
- (-[WebFileDatabase close]):
- (-[WebFileDatabase lazySync:]):
- (-[WebFileDatabase sync]):
- (-[WebFileDatabase count]):
- (-[WebFileDatabase usage]):
- * Misc.subproj/WebIconDatabase.m:
- * Misc.subproj/WebKitLogging.h:
- * Misc.subproj/WebKitLogging.m:
- * Misc.subproj/WebLRUFileList.h: Added.
- * Misc.subproj/WebLRUFileList.m: Added.
- (WebLRUFileListCreate):
- (WebLRUFileListRelease):
- (WebLRUFileListRebuildFileDataUsingRootDirectory):
- (WebLRUFileListRemoveFileWithPath):
- (WebLRUFileListTouchFileWithPath):
- (WebLRUFileListSetFileData):
- (WebLRUFileListGetPathOfOldestFile):
- (WebLRUFileListRemoveOldestFileFromList):
- (WebLRUFileListContainsItem):
- (WebLRUFileListGetFileSize):
- (WebLRUFileListCountItems):
- (WebLRUFileListGetTotalSize):
- (WebLRUFileListRemoveAllFilesFromList):
- (compareTimes):
- (cStringEqual):
- (cStringHash):
- (NSLRUFileDataEqual):
- (WebLRUFileListGetOldestFileData):
- (NSLRUFileDataReleaseApplierFunction):
- (NSLRUFileDataRelease):
- (NSLRUFileDataBinaryHeapDumpApplierFunction):
- (NSLRUFileDataDictDumpApplierFunction):
- (WebLRUFileListDescription):
- * WebKit.pbproj/project.pbxproj:
-
-2003-05-15 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3199310 - No user agent included in favicon.ico requests
-
- Reviewed by kocienda.
-
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoaderPrivate dealloc]): use the request ivar
- (-[WebIconLoader URL]): ditto
- (-[WebIconLoader startLoading]): ditto
- (-[WebIconLoader connection:didReceiveData:]): ditto
- (-[WebIconLoader connectionDidFinishLoading:]): ditto
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _loadIcon]): create a icon loader with a request with the extra fields set
-
-2003-05-15 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3155760 - Plug-in MIME and extension mapping should be case-insensitive
-
- Reviewed by john.
-
- * Plugins.subproj/WebBasePluginPackage.m:
- (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): store the extensions and MIMEs as lowercase strings
- (-[NSArray _web_lowercaseStrings]): new, returns array of lowercase strings
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage getPluginInfoFromResources]): store the extensions and MIMEs as lowercase strings
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase pluginForMIMEType:]): lowercase the passed MIME type
- (-[WebPluginDatabase pluginForExtension:]): lowercase the passed extension
-
-=== Safari-79 ===
-
-2003-05-15 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Updated for recent changes.
-
- * English.lproj/StringsNotToBeLocalized.txt:
-
-2003-05-15 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Changed the names of some extras files in WebFoundation:
- Updated imports and usages in this project.
-
- WebNSCalendarDateExtras -> NSCalendarDate_NSURLExtras
- WebNSDataExtras -> NSData_NSURLExtras
- WebNSDictionaryExtras -> NSDictionary_NSURLExtras
- WebNSErrorExtras -> NSError_NSURLExtras
- WebNSFileManagerExtras -> NSFileManager_NSURLExtras
- WebNSObjectExtras -> NSObject_NSURLExtras
- WebNSStringExtras -> NSString_NSURLExtras
- WebNSURLExtras -> NSURL_NSURLExtras
- WebNSUserDefaultsExtras -> NSUserDefaults_NSURLExtras
-
- * History.subproj/WebHistory.m:
- * History.subproj/WebHistoryItem.m:
- * History.subproj/WebHistoryPrivate.m:
- * History.subproj/WebURLsWithTitles.m:
- * Misc.subproj/WebIconDatabase.m:
- * Misc.subproj/WebIconLoader.m:
- * Misc.subproj/WebKitErrors.m:
- * Misc.subproj/WebNSPasteboardExtras.m:
- * Misc.subproj/WebNSViewExtras.m:
- * Panels.subproj/WebAuthenticationPanel.m:
- * Panels.subproj/WebPanelAuthenticationHandler.m:
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- * Plugins.subproj/WebNullPluginView.m:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- * WebView.subproj/WebDataProtocol.m:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebFrameView.m:
- * WebView.subproj/WebFrameViewPrivate.m:
- * WebView.subproj/WebHTMLViewPrivate.m:
- * WebView.subproj/WebMainResourceClient.m:
- * WebView.subproj/WebPreferences.m:
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.m:
-
-2003-05-14 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Chris
-
- WebKitSystemBits files that contain a system memory size
- getter. This function is used in a few of places in WebKit.
-
- * History.subproj/WebBackForwardList.m:
- * Misc.subproj/WebKitSystemBits.h: Added.
- * Misc.subproj/WebKitSystemBits.m: Added.
- (initCapabilities):
- (WebSystemMainMemory):
- * WebCoreSupport.subproj/WebBridge.m:
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- * WebKit.pbproj/project.pbxproj:
-
-2003-05-14 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by David
-
- File and class renaming in WebFoundation:
-
- WebFileTypeMappings -> NSURLFileTypeMappings
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge MIMETypeForPath:]):
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory supportedMIMETypes]):
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebMainResourceClient.m:
- * WebView.subproj/WebViewPrivate.m:
- (+[WebView suggestedFileExtensionForMIMEType:]):
- (+[WebView _MIMETypeForFile:]):
-
-2003-05-14 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Maciej
-
- Copied WebLocalizableStrings.[hm] from WebFoundation to WebKit
-
- Updated all imports.
-
- Added logging exported symbols to exports file.
-
- * Misc.subproj/WebKitErrors.m:
- * Misc.subproj/WebLocalizableStrings.h: Added.
- * Misc.subproj/WebLocalizableStrings.m: Added.
- * Panels.subproj/WebAuthenticationPanel.m:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebCoreSupport.subproj/WebFileButton.m:
- * WebCoreSupport.subproj/WebViewFactory.m:
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
-
-2003-05-14 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Don.
-
- - fixed 3257307 - REGRESSION: crash using onFocus="this.blur()"
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge makeFirstResponder:]): Let the WebView know that
- this is a programmatic focus.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView becomeFirstResponder]): Check if this is a programmatic
- focus from WebCore - if so, treat it like a direct focus, even if there
- is a selection direction set.
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _pushPerformingProgrammaticFocus]): New method to indicate
- upcoming programmatic focus.
- (-[WebView _popPerformingProgrammaticFocus]): New method to indicate
- end of programmatic focus. Needs to nest with the previous.
- (-[WebView _isPerformingProgrammaticFocus]): Check if we are handling
- a programmatic focus from WebCore.
-
-2003-05-14 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Copied WebAssertions.[hm] from WebFoundation to WebKit
-
- Updated all imports.
-
- Added logging exported symbols to exports file.
-
- * History.subproj/WebBackForwardList.m:
- * History.subproj/WebHistory.m:
- * History.subproj/WebHistoryItem.m:
- * Misc.subproj/WebAssertions.h: Added.
- * Misc.subproj/WebAssertions.m: Added.
- (vprintf_stderr_objc):
- (WebReportAssertionFailure):
- (WebReportAssertionFailureWithMessage):
- (WebReportArgumentAssertionFailure):
- (WebReportFatalError):
- (WebReportError):
- (WebLog):
- * Misc.subproj/WebKitLogging.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- * Misc.subproj/WebStringTruncator.m:
- * Panels.subproj/WebAuthenticationPanel.m:
- * Panels.subproj/WebPanelAuthenticationHandler.m:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- * WebCoreSupport.subproj/WebFileButton.m:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- * WebCoreSupport.subproj/WebJavaScriptTextInputPanel.m:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- * WebCoreSupport.subproj/WebViewFactory.m:
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- * WebView.subproj/WebClipView.m:
- * WebView.subproj/WebDataProtocol.m:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- * WebView.subproj/WebFrameViewPrivate.m:
- * WebView.subproj/WebHTMLViewPrivate.m:
- * WebView.subproj/WebImageView.m:
- * WebView.subproj/WebTextRepresentation.m:
- * WebView.subproj/WebTextView.m:
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.m:
-
-2003-05-13 Richard Williamson <rjw@apple.com>
-
- Fixed 3014661. We now display (a lame Lemay) image
- when an image fails to load. We also display the
- alt text if it fits within the image container
- above the missing image icon. Alt text is also
- now shown if image loading is disabled.
-
- Reviewed by John.
-
- * Resources/missing_image.tiff: Added.
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer initWithMIMEType:]):
- (-[WebImageRenderer initWithData:MIMEType:]):
- (-[WebImageRenderer initWithContentsOfFile:]):
- (-[WebImageRenderer copyWithZone:]):
- (-[WebImageRenderer isNull]):
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory imageRendererWithName:]):
- * WebKit.pbproj/project.pbxproj:
-
-2003-05-13 Darin Adler <darin@apple.com>
-
- Reviewed by Chris and Richard.
-
- - fixed 3257296 -- REGRESSION: crash in WebImageRendererFactory (movietickets.com)
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer initWithMIMEType:]): Check for nil.
- (-[WebImageRenderer initWithData:MIMEType:]): Check for nil, also don't check for GIF signature
- until after the object is allocated.
-
-2003-05-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3254484 - Add a way to print JavaScript exceptions to the console via the debug menu
-
- * Misc.subproj/WebCoreStatistics.h:
- * Misc.subproj/WebCoreStatistics.m:
- (+[WebCoreStatistics shouldPrintExceptions]): Call through to WebCore.
- (+[WebCoreStatistics setShouldPrintExceptions:]): Call through to WebCore.
-
-2003-05-13 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3120355 -- importing IE favorites garbles non-ASCII characters (esp. bad for non-Roman languages)
-
- * WebView.subproj/WebViewPrivate.h: Added _decodeData:.
- * WebView.subproj/WebViewPrivate.m: (+[WebView _decodeData:]): Added. Calls through to WebCore.
-
-2003-05-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - renamed NSErrorFailingURLKey to NSErrorFailingURLStringKey
-
- * Misc.subproj/WebKitErrors.m:
- (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
-
-2003-05-13 John Sullivan <sullivan@apple.com>
-
- fixed build break
-
- Reviewed by Darin
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer initWithData:MIMEType:]):
- move #ifdefs; two required methods were being #ifdeffed
- out on Panther
-
-2003-05-12 Richard Williamson <rjw@apple.com>
-
- Fixed 3251316. *** Public API Change ***
-
- Added -(void)setGroupName:(NSString *) and -(NSString *)groupName;
-
- Reviewed by mjs.
-
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
-
-2003-05-12 Richard Williamson <rjw@apple.com>
-
- Fixed 3194614 and 3194751. Add SPI to set 'renderless' mode
- for a frame.
-
- Reviewed by darin.
-
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
-
- WebImageRenderers now get a MIME type that can be used to faciliate
- selection of an appropriate decoder.
-
- Reviewed by darin.
-
- * WebCoreSupport.subproj/WebImageRenderer.h:
- * WebCoreSupport.subproj/WebImageRenderer.m:
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- * WebKit.pbproj/project.pbxproj:
-
-2003-05-12 John Sullivan <sullivan@apple.com>
-
- - addition to Darin's previous patch; when checking whether a request can
- be handled, take into account the schemes that were registered without
- an NSURLProtocol getting involved.
-
- Reviewed by Darin
-
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (+[WebView _canHandleRequest:]):
- like NSURLConnection canHandleRequest, but also takes into account the
- schemes that were registered without an NSURLProtocol
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
- use +[WebView _canHandleRequest] instead of +[NSURLConnection canHandleRequest]
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
- ditto
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
- ditto
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueAfterNavigationPolicy:]):
- ditto
-
-2003-05-12 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3254576 -- REGRESSION: visiting bookmarks view sometimes waits for other tabs to load first
-
- * WebView.subproj/WebViewPrivate.h: Added new SPI for registering view and represenation classes by
- scheme rather than MIME type.
- * WebView.subproj/WebViewPrivate.m:
- (+[WebView _registerViewClass:representationClass:forURLScheme:]]): Added.
- (+[WebView _generatedMIMETypeForURLScheme:]): Added. Makes a special MIME type for us only by the
- special "register scheme" mechanism.
- (+[WebView _representationExistsForURLScheme:]): Added.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): Check for schemes that have their
- own representation, and handle them just like empty documents, loading no data, and doing it synchronously.
- (-[WebMainResourceClient loadWithRequest:]): Same thing here, only also arrange to get the appropriate
- MIME type.
- (-[WebMainResourceClient setDefersCallbacks:]): Same check here.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2003-05-11 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Added a check for nil that I forgot.
-
-2003-05-10 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3254473 - REGRESSION: reload loop due to onresize handler (fortune.com, flipdog.com, stanford.edu)
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToPageWidth:]): Don't send out a resize event any
- time during the first event that results in a layout. The old check was merely for the first layout,
- but we need to ignore any number of layouts that are all part of handling a first event. Some day we
- may need to refine this rule even further, but this fixes the present bug.
-
- * WebView.subproj/WebHTMLViewPrivate.h: Goodbye laidOutAtLeastOnce, hello firstLayoutEventTime.
-
-2003-05-10 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3250119 -- REGRESSION: WebFrame leaked after showing pop-up menu
-
- The leak was caused by various code storing the "element" dictionary that describes where
- a click took place.
-
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
- Don't store the element in a retained global. Instead attach it as the represented
- object to each menu item.
- (-[WebDefaultUIDelegate openNewWindowWithURL:element:]): Pass in an element.
- (-[WebDefaultUIDelegate downloadURL:element:]): Ditto.
- (-[WebDefaultUIDelegate openLinkInNewWindow:]): Get element from represented object.
- (-[WebDefaultUIDelegate downloadLinkToDisk:]): Ditto.
- (-[WebDefaultUIDelegate copyLinkToClipboard:]): Ditto.
- (-[WebDefaultUIDelegate openImageInNewWindow:]): Ditto.
- (-[WebDefaultUIDelegate downloadImageToDisk:]): Ditto.
- (-[WebDefaultUIDelegate copyImageToClipboard:]): Ditto.
- (-[WebDefaultUIDelegate openFrameInNewWindow:]): Ditto.
-
- * WebView.subproj/WebDefaultUIDelegate.h: Remove element field.
- * WebView.subproj/WebDefaultUIDelegate.m: (-[WebDefaultUIDelegate dealloc]): No need
- to release element any more.
-
- * WebView.subproj/WebHTMLViewPrivate.h: Remove dragElement instance variable.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLViewPrivate dealloc]): No need to release dragElement any more.
- (-[WebHTMLView _handleMouseDragged:]): Get element again here. The old code used to
- get it from an instance variable, but that is unnecessary.
- (-[WebHTMLView _mayStartDragWithMouseDragged:]): Don't store the element.
-
-2003-05-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- Updated for NSURLResponse API changes.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
- * WebView.subproj/WebDataProtocol.m:
- (-[WebDataProtocol startLoading]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient loadWithRequest:]):
-
-2003-05-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - removed WebAuthenticationChallenge
- - adjusted everything for removal of NSURLAuthenticationChallenge subclasses.
- * Misc.subproj/WebDownload.m:
- (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
- (-[WebDownloadInternal download:didCancelAuthenticationChallenge:]):
- * Panels.subproj/WebPanelAuthenticationHandler.m:
- (-[WebPanelAuthenticationHandler startAuthentication:window:]):
- (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
- * WebView.subproj/WebAuthenticationChallenge.h: Removed.
- * WebView.subproj/WebAuthenticationChallenge.m: Removed.
- * WebView.subproj/WebAuthenticationChallengeInternal.h: Removed.
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate useCredential:forAuthenticationChallenge:]):
- (-[WebBaseResourceHandleDelegate continueWithoutCredentialForAuthenticationChallenge:]):
- (-[WebBaseResourceHandleDelegate cancelAuthenticationChallenge:]):
- (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
- (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
- (-[WebBaseResourceHandleDelegate setIdentifier:]):
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
- * Misc.subproj/WebKit.h: Remove headers that are gone.
- * WebKit.exp: Remove classes that are gone.
- * WebKit.pbproj/project.pbxproj: Remove files that are gone.
-
-2003-05-09 David Hyatt <hyatt@apple.com>
-
- Change the minfontsize to 1, i.e., to have no minimum. This
- matches other browsers while still retaining the pref control
- in WebKit.
-
- Fixes www.gamespot.com. The bug is 3254489.
- Reviewed by darin
-
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]):
-
-2003-05-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- Rename connection:didFailLoadingWithError: to
- connection:didFailWithError: to match NSURLDownload and
- NSURLProtocol.
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader connection:didFailWithError:]):
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream connection:didFailWithError:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient connection:didFailWithError:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:didFailWithError:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedError:]):
- (-[WebMainResourceClient connection:didFailWithError:]):
-
-2003-05-09 Richard Williamson <rjw@apple.com>
-
- Apply the same check used to by-pass fast rendering
- in the fix to 3146161 to measurement.
-
- Reviewed by Ken.
-
- * Misc.subproj/WebKitNSStringExtras.m:
-
-2003-05-09 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Removed unneeded import of WebFoundation/WebQueue.h.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.h
-
-2003-05-08 Richard Williamson <rjw@apple.com>
-
- Fixed 3146161. Use the AppKit to render complex
- text in the simple string drawing method.
-
- Reviewed by John.
-
- * Misc.subproj/WebKitNSStringExtras.m:
-
-2003-05-08 Richard Williamson <rjw@apple.com>
-
- Make representations without intrinsic titles return nil.
-
- Reviewed by John.
-
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebImageRepresentation.m:
- * WebView.subproj/WebTextRepresentation.m:
-
-2003-05-08 Richard Williamson <rjw@apple.com>
-
- Fixed 3252460. *** Public API Change ***
- Added title method to WebDocumentRepresentation.
-
- Fixed 3250352. Check that delegate implements method.
-
- Reviewed by hyatt.
-
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource pageTitle]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource _title]):
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation title]):
- * WebView.subproj/WebImageRepresentation.m:
- (-[WebImageRepresentation title]):
- * WebView.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation title]):
- * WebView.subproj/WebTextRepresentation.h:
- * WebView.subproj/WebTextRepresentation.m:
- (-[WebTextRepresentation dealloc]):
- (-[WebTextRepresentation setDataSource:]):
- (-[WebTextRepresentation title]):
-
-2003-05-08 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Fixed paths for non-Panther builds.
-
-2003-05-08 John Sullivan <sullivan@apple.com>
-
- Closed up all gaps in WebKit between "ASSERT" and "(" to
- make Darin's day a little brighter.
-
- Reviewed by Darin
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
- (-[WebBridge handleMouseDragged:]):
- (-[WebBridge mayStartDragWithMouseDragged:]):
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate _releaseResources]):
- (-[WebBaseResourceHandleDelegate dealloc]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]):
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _preferencesChangedNotification:]):
-
-2003-05-08 John Sullivan <sullivan@apple.com>
-
- - fixed 3252632 -- Registering a WebDocumentView too
- early breaks built-in image viewing
-
- A startup-performance optimization was breaking the case
- where clients registered WebDocumentView types before the
- first WebFrameView had been created. The fix is to allow
- registering WebDocumentView types without retrieving the
- built-in image types.
-
- Reviewed by Darin
-
- * WebView.subproj/WebFrameViewPrivate.h:
- remove _viewTypes; expose _viewTypesAllowImageTypeOmission.
- All callers have to specify the boolean now.
-
- * WebView.subproj/WebFrameViewPrivate.m:
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
- assert that the list of image types isn't nil before inserting
- them; insert each image type only if not already present.
- (+[WebFrameView _viewClassForMIMEType:]):
- replace _viewTypes with _viewTypesAllowImageTypeOmission
-
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase init]):
- replace _viewTypes with _viewTypesAllowImageTypeOmission
-
- * WebView.subproj/WebDataSourcePrivate.h:
- remove _repTypes; expose _repTypesAllowImageTypeOmission.
- All callers have to specify the boolean now.
- * WebView.subproj/WebDataSourcePrivate.m:
- (+[WebDataSource _representationClassForMIMEType:]):
- replace _repTypes with _repTypesAllowImageTypeOmission
-
- * WebView.subproj/WebView.m:
- (+[WebView registerViewClass:representationClass:forMIMEType:]):
- replace _viewTypes with _viewTypesAllowImageTypeOmission, and
- replace _repTypes with _repTypesAllowImageTypeOmission
-
-2003-05-08 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3242414 -- REGRESSION: PLT times reported 10% slower after emptying cache with B/F cache enabled
- - made it only compute the page cache size once
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList init]): Set initial page cache size to special value, COMPUTE_DEFAULT_PAGE_CACHE_SIZE.
- (-[WebBackForwardList setPageCacheSize:]): Remove code to set pageCacheSizeModified and call to
- _setUsesPageCache:, not needed any more.
- (-[WebBackForwardList pageCacheSize]): If cache size is COMPUTE_DEFAULT_PAGE_CACHE_SIZE, then compute it.
- The old code would compute the cache size each time this method was called until pageCacheSizeModified was set.
- (-[WebBackForwardList _usesPageCache]): Just check pageCacheSize for 0 to see if we use a page cache.
- No need for a separate boolean any more.
-
- * History.subproj/WebHistoryItemPrivate.h: Remove _setUsesPageCache (gone altogether) and _clearPageCache
- (now only used internally).
-
-=== Safari-78 ===
-
-2003-05-07 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3127927 -- web view should not use primary selection color when it's not first responder
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView updateTextBackgroundColor]): Added. Sets the usesInactiveTextBackgroundColor flag
- on the bridge, and does setNeedsDisplayInRect: of the selectionRect if the state changes.
- (-[WebHTMLView viewDidMoveToWindow]): Call updateTextBackgroundColor.
- (-[WebHTMLView windowDidBecomeKey:]): Call updateTextBackgroundColor.
- (-[WebHTMLView windowDidResignKey:]): Call updateTextBackgroundColor.
- (-[WebHTMLView becomeFirstResponder]): Call updateTextBackgroundColor.
- (-[WebHTMLView resignFirstResponder]): Call updateTextBackgroundColor.
-
- - fixed up WebHistoryItem initializers so there is a designated initializer
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem init]): Call initWithURLString:title:lastVisitedTimeInterval:,
- which is the designated initializer.
- (-[WebHistoryItem initWithURL:title:]): Ditto.
- (-[WebHistoryItem initWithURL:target:parent:title:]): Ditto.
-
- - other changes
-
- * History.subproj/WebHistoryPrivate.m: (-[WebHistoryPrivate addItem:]): Fixed assertion
- to not use _lastVisitedDate; we're trying to get rid of calls to that method.
-
-2003-05-07 Vicki Murley <vicki@apple.com>
-
- Reviewed by darin.
-
- - modify the Mixed build style to build optimized with symbols
-
- * WebKit.pbproj/project.pbxproj: removed OPTIMIZATION_CGLAGS
-
-2003-05-06 Richard Williamson <rjw@apple.com>
-
- Fixed problem for HelpViewer. HV calls stopLoading in
- a webView:resource:didReceiveResponse. This causes
- the premature release of the connection delegate.
-
- Reviewed by Ken.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient connectionDidFinishLoading:]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate _releaseResources]):
- (-[WebBaseResourceHandleDelegate dealloc]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient stopLoadingForPolicyChange]):
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient continueAfterContentPolicy:]):
- (-[WebMainResourceClient connection:didReceiveResponse:]):
- (-[WebMainResourceClient connectionDidFinishLoading:]):
-
-2003-05-06 Darin Adler <darin@apple.com>
-
- - removed obsolete file that's still around for some reason
-
- * Downloads.subproj/WebDownload.m: Removed.
-
-2003-05-06 Darin Adler <darin@apple.com>
-
- - fixed crash on startup
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
- Allocate WebHistoryItemPrivate.
-
-2003-05-06 Darin Adler <darin@apple.com>
-
- - fixed 3249211 -- WebTextRenderer.h should not use "AttributeGroup" type for styleGroup
-
- * WebCoreSupport.subproj/WebTextRenderer.h: Update to use ATSStyleGroupPtr.
-
-2003-05-06 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - used ObjectAlloc to find large numbers of allocations on startup and get rid of some
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- Use the init method that takes a URL string so we don't have to create and then
- destroy a URL for each item we decode.
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate addItem:]): Use URLString instead of making and destroying
- a URL each time this is called.
- (-[WebHistoryPrivate removeItem:]): Ditto.
- (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]): Check URLString for nil; no reason
- to construct and then destroy a URL just to check validity.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (FontCacheKeyCopy): Added.
- (FontCacheKeyFree): Added.
- (FontCacheKeyEqual): Added.
- (FontCacheKeyHash): Added.
- (FontCacheValueRetain): Added.
- (FontCacheValueRelease): Added.
- (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]): Use a C struct for the
- font cache key instead of using an Objective-C object. This saves us an object
- allocation and deallocation when doing a lookup. Also took advantage of the CFDictionary
- ability to store NULL and distinguish it from "not found" so we don't need a separate set
- for cache misses.
-
-2003-05-05 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- Fix build by separating mutating data protocol methods into
- category on NSMutableURLRequest. Also, formatting fixes.
-
- * WebView.subproj/WebDataProtocol.h:
- * WebView.subproj/WebDataProtocol.m:
- (+[NSURLRequest _webDataRequestURLForData:]):
- (-[NSURLRequest _webDataRequestData]):
- (-[NSURLRequest _webDataRequestEncoding]):
- (-[NSURLRequest _webDataRequestMIMEType]):
- (-[NSURLRequest _webDataRequestBaseURL]):
- (-[NSURLRequest _webDataRequestExternalRequest]):
- (-[NSMutableURLRequest _webDataRequestSetData:]):
- * WebView.subproj/WebFrame.m:
-
-2003-05-04 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed a storage leak
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _setState:]): Release the timer before setting to nil.
-
-2003-05-03 David Hyatt <hyatt@apple.com>
-
- Add smallCaps boolean to the string measuring and drawing
- methods. Not actually supported yet.
- Reviewed by darin
-
- * Misc.subproj/WebKitNSStringExtras.m:
- (-[NSString _web_widthWithFont:]):
- * Misc.subproj/WebStringTruncator.m:
- (stringWidth):
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer widthForCharacters:length:]):
- (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
- (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:smallCaps:fontFamilies:]):
-
-2003-05-04 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - added validation to "Interface Builder" methods on WebView
-
- * WebView.subproj/WebView.h: Add NSUserInterfaceValidations protocol so that subclassers
- know that they can call [super validateUserInterfaceItem:].
- * WebView.subproj/WebView.m:
- (-[WebView canMakeTextSmaller]): Simplify.
- (-[WebView canMakeTextLarger]): Simplify.
- (-[WebView _isLoading]): Added.
- (-[WebView validateUserInterfaceItem:]): Added. Checks for the six actions we implement,
- and returns NO if they are not valid.
-
-2003-05-02 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- - reformatted method prototypes to match AppKit style
- - remove "Public header file" from headers that are not public
- - fix header doc @method names to match actual method names
-
- * Carbon.subproj/CarbonWindowAdapter.h:
- * Carbon.subproj/HIViewAdapter.h:
- * DOM.subproj/WebDOMDocument.h:
- * DOM.subproj/WebDOMNode.h:
- * History.subproj/WebBackForwardList.h:
- * History.subproj/WebHistoryItemPrivate.h:
- * History.subproj/WebHistoryPrivate.h:
- * History.subproj/WebURLsWithTitles.h:
- * Misc.subproj/WebIconDatabase.h:
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebKitNSStringExtras.h:
- * Misc.subproj/WebUnicode.h:
- * Panels.subproj/WebPanelAuthenticationHandler.h:
- * Plugins.subproj/WebBasePluginPackage.h:
- * Plugins.subproj/WebNetscapePluginStream.h:
- * Plugins.subproj/WebNullPluginView.h:
- * Plugins.subproj/WebPluginViewFactory.h:
- * WebCoreSupport.subproj/WebGlyphBuffer.h:
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRendererFactory.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebControllerSets.h:
- * WebView.subproj/WebDataProtocol.h:
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDebugDOMNode.h:
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFrameView.h:
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLView.h:
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebPolicyDelegate.h:
- * WebView.subproj/WebPolicyDelegatePrivate.h:
- * WebView.subproj/WebPreferencesPrivate.h:
- * WebView.subproj/WebRenderNode.h:
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebUIDelegate.h:
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebViewPrivate.h:
-
-2003-05-02 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 2936175 - MALLORY: please implement onResize
-
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView layoutToPageWidth:]): If we just resized and we're
- not printing, make sure to send a resize event after the layout.
-
-2003-05-02 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3236383 -- http://www.xy.com/ exception, crash loading main page
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge closeWindowSoon]): Replaces
- closeWindow. Schedule a closeWindow operation in the WebView. Important to not have
- the call's execution depend on whether this WebBridge or WebFrame is still around
- after the delay.
-
- * WebView.subproj/WebViewPrivate.h: Added _closeWindow.
- * WebView.subproj/WebViewPrivate.m: (-[WebView _closeWindow]): Make a webViewClose:
- call on the UI delegate.
-
-2003-05-02 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - first step in fixing 3236383 -- http://www.xy.com/ exception, crash loading main page
-
- Changed WebFrame to explicitly detach from the bridge so we don't have a stale pointer;
- also cleaned up WebBridge initialization.
-
- * WebCoreSupport.subproj/WebBridge.h: Added initWithWebFrame: and close methods, removed
- setWebFrame: method.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webFrameView:webView:]): Use the new initWithWebFrame:.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _detachFromParent]): Call close on the bridge.
-
- - fixed many places that call a WebView a "controller"
-
- * Misc.subproj/WebKitStatistics.h:
- * Misc.subproj/WebKitStatistics.m:
- * Misc.subproj/WebKitStatisticsPrivate.h:
- * Misc.subproj/WebNSViewExtras.m:
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- * Plugins.subproj/WebNetscapePluginStream.m:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- * WebView.subproj/WebControllerSets.h:
- * WebView.subproj/WebControllerSets.m:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFrameView.m:
- * WebView.subproj/WebFrameViewPrivate.h:
- * WebView.subproj/WebFrameViewPrivate.m:
- * WebView.subproj/WebImageView.m:
- * WebView.subproj/WebMainResourceClient.m:
- * WebView.subproj/WebTextView.m:
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
-
-2003-05-01 John Sullivan <sullivan@apple.com>
-
- - fixed 3246045 -- History items without a valid date in
- History.plist show up with unexpected dates in UI
-
- Reviewed by Darin.
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- don't set lastVisitedTimeInterval to [nil doubleValue],
- since this is random
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2003-05-01 Richard Williamson <rjw@apple.com>
-
- Added missing header and alphabetized.
-
- Reviewed by Ken.
-
- * Misc.subproj/WebKit.h:
-
-2003-05-01 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3234888 - REGRESSION: "can't add a plug-in to a defunct WebPluginController" error, then crash
- Fixed: 3226392 - REGRESSION: Safari crashed while loading Java applet at PopCap.com
-
- Reviewed by darin.
-
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame setController:]): fixed comment
- * WebView.subproj/WebView.m:
- (-[WebView dealloc]): call [self _close]
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebViewPrivate dealloc]): let the WebView class clear the frames
- (-[WebView _close]): remove self from controller set and detach and release frame
-
-=== Safari-77 ===
-
-2003-05-01 John Sullivan <sullivan@apple.com>
-
- - fixed 3245793 -- Launching Safari-75 after tip of tree
- erases all history
-
- Reviewed by Chris, Don
-
- * History.subproj/WebHistoryItem.m:
- keep using "lastVisitedDate" as the dictionary key, since old
- Safaris otherwise can't read the History file.
- (-[WebHistoryItem dictionaryRepresentation]):
- keep storing the time interval as a string, since old Safaris
- otherwise can't read the History file
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- read the stored date as a string and convert to a double,
- as we did before.
-
-2003-05-01 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3169117 -- dragging while using a scroll wheel affects scroll movement
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebNSWindow nextEventMatchingMask:untilDate:inMode:dequeue:]):
- Just return nil when called with NSScrollWheelMask to work around the bug where any
- kind of event can be returned when this mask is passed. This will prevent scroll wheel
- events from being coalesced, but it's better than extracting events of all different
- types. Mouse moved events are particularly bad because they have deltaX/Y/Z and the
- scroll wheel code in NSScrollView treats them as if they were scroll wheel events.
-
-2003-05-01 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Updated to use approved NSHTTPCookieStorage API.
-
- +sharedCookieManager -> +sharedHTTPCookieStorage
- -acceptPolicy -> -cookieAcceptPolicy
- -cookieRequestHeaderFieldsForURL: -> -cookiesForURL:
- -setCookiesFromResponseHeader:forURL:policyBaseURL: -> -setCookies:forURL:mainDocumentURL:
-
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- (-[WebCookieAdapter cookiesEnabled]):
- (-[WebCookieAdapter cookiesForURL:]):
- (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
-
-2003-05-01 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2003-04-30 Kenneth Kocienda <kocienda@apple.com>
-
- Reviewed by Richard
-
- Modified WebFoundation error constant names. Names
- now begin with NSURLError prefix.
-
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate cancelledError]):
- * WebView.subproj/WebDataProtocol.m:
- (-[WebDataProtocol startLoading]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _stopLoadingInternal]):
-
-2003-04-30 Kenneth Kocienda <kocienda@apple.com>
-
- Reviewed by Richard
-
- Use NSURLResponse new SPI methods to set instance variables.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
- * WebView.subproj/WebDataProtocol.m:
- (-[WebDataProtocol startLoading]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient loadWithRequest:]):
-
-2003-04-30 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- Moved NSURLProtectionSpace over to officially blessed API.
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForChallenge:]):
-
-2003-04-30 Richard Williamson <rjw@apple.com>
-
- Copy MIME type when copying WebDataProtocol's parameters.
-
- Reviewed by Ken.
-
- * WebView.subproj/WebDataProtocol.m:
- (-[WebDataRequestParameters copyWithZone:]):
-
-2003-04-30 Richard Williamson <rjw@apple.com>
-
- Documentation fixes.
- Added "ADVISORY NOTE" about possible API change after beta SDK.
-
- * History.subproj/WebHistory.h:
- * WebView.subproj/WebUIDelegate.h:
-
-2003-04-30 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Maciej
-
- Tweaked some HTTP-specific NSURLRequest method names as specified
- in the API errata list.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate openNewWindowWithURL:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
-
-2003-04-30 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- Minor header tweaks.
-
- * Misc.subproj/WebDownload.h: Fix copyright notice.
- * Panels.subproj/WebAuthenticationPanel.h: Added 2003 to copyright.
- * WebView.subproj/WebAuthenticationChallenge.h: Fix copyright notice, add docs.
- * WebView.subproj/WebAuthenticationChallengeInternal.h: Fix copyright notice.
-
-2003-04-30 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- Minor header tweaks.
-
- * Misc.subproj/WebDownload.h: Fix copyright notice.
- * Panels.subproj/WebAuthenticationPanel.h: Added 2003 to copyright.
- * WebView.subproj/WebAuthenticationChallenge.h: Fix copyright notice, add docs.
- * WebView.subproj/WebAuthenticationChallengeInternal.h: Fix copyright notice.
-
-2003-04-30 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- Fixed imports and @class directives for WebFoundation changes.
-
- * Panels.subproj/WebAuthenticationPanel.h:
- * Panels.subproj/WebAuthenticationPanel.m:
-
-2003-04-30 Richard Williamson <rjw@apple.com>
-
- Fixed doc errors.
-
- * History.subproj/WebHistory.h:
-
-2003-04-30 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- Some simple renames:
-
- sharedURLCredentialStorage --> sharedCredentialStorage
- URLCredentialWithUser:password:persistence: --> credentialWithUser:password:persistence:
-
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
- (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
-
-2003-04-30 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- Changed things to use WebAuthenticationChallenge for
- WebResoureceLoadDelegate auth callbacks.
-
- * Panels.subproj/WebPanelAuthenticationHandler.m:
- (-[WebPanelAuthenticationHandler startAuthentication:window:]):
- (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebAuthenticationChallenge.h: Added.
- * WebView.subproj/WebAuthenticationChallenge.m: Added.
- (-[WebAuthenticationChallengeInternal initWithDelegate:]):
- (-[WebAuthenticationChallengeInternal dealloc]):
- (-[WebAuthenticationChallenge _initWithAuthenticationChallenge:delegate:]):
- (-[WebAuthenticationChallenge dealloc]):
- (-[WebAuthenticationChallenge useCredential:]):
- (-[WebAuthenticationChallenge cancel]):
- (-[WebAuthenticationChallenge continueWithoutCredential]):
- * WebView.subproj/WebAuthenticationChallengeInternal.h: Added.
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
- (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
- (-[WebBaseResourceHandleDelegate useCredential:forAuthenticationChallenge:]):
- (-[WebBaseResourceHandleDelegate continueWithoutCredentialForAuthenticationChallenge:]):
- (-[WebBaseResourceHandleDelegate cancelWithError:]):
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
-
-2003-04-30 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
- Converted download code to use an
- NSURLDownloadAuthenticationChallenge rather than a vanilla
- NSURLAuthenticationChallenge.
-
- * Misc.subproj/WebDownload.m:
- (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
- (-[WebDownloadInternal download:didCancelAuthenticationChallenge:]):
- * Panels.subproj/WebPanelAuthenticationHandler.h:
- * Panels.subproj/WebPanelAuthenticationHandler.m:
- (-[WebPanelAuthenticationHandler startAuthentication:window:]):
- (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
-
-2003-04-30 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Richard
-
- Changed cookie-related constants and enums to
- the API-approved names. Also did some text
- search and replace in comments to catch usages
- of now-obsolete names.
-
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- (-[WebCookieAdapter cookiesEnabled]):
-
-2003-04-30 Chris Blumenberg <cblu@apple.com>
-
- FIXED: Clients of WebKit should have separate icon DB's
-
- Reviewed by rjw.
-
- * English.lproj/StringsNotToBeLocalized.txt:
- * Misc.subproj/WebIconDatabase.h:
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _createFileDatabase]): If the icon db hasn't been set using the defaults, create o directory using the bundle id.
- * WebKit.exp:
-
-2003-04-30 Richard Williamson <rjw@apple.com>
-
- API changes from final review meeting.
-
- Moved view registry to WebView.
- Changed WebHistoryItem to use NSTimeInterval (at least for public API).
- Still creates a NSCalendarDate for compatibility. We should wean Safari
- off it's use of NSCalendarDate.
- Added public init method for WebHistoryItem.
- Removed anchor from WebHistoryItem.
- Added WebHistorySavedNotification.
-
- Reviewed by Darin.
-
- * History.subproj/WebHistory.m:
- (-[WebHistory addItemForURL:]):
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
- (-[WebHistoryItem copyWithZone:]):
- (-[WebHistoryItem lastVisitedTimeInterval]):
- (-[WebHistoryItem anchor]):
- (-[WebHistoryItem _setLastVisitedTimeInterval:]):
- (-[WebHistoryItem _lastVisitedDate]):
- (-[WebHistoryItem dictionaryRepresentation]):
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- * History.subproj/WebHistoryItemPrivate.h:
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate insertItem:atDateIndex:]):
- (-[WebHistoryPrivate removeItemForURLString:]):
- (-[WebHistoryPrivate addItem:]):
- (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase init]):
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]):
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (+[WebView registerViewClass:representationClass:forMIMEType:]):
-
-2003-04-29 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - Adjusted for authentication API change - now we expect
- authentication via the connection delegate, not a separate global
- authentication handler
-
- * Misc.subproj/WebKit.h: Include WebDownload.h
- * Misc.subproj/WebDownload.h: Added.
- * Misc.subproj/WebDownload.m: Added - this new class is just like NSURLDownload
- but if the standard auth delegate methods are not implemented, it prompts using
- the standard AppKit sheet.
- * Panels.subproj/WebPanelAuthenticationHandler.h:
- * Panels.subproj/WebPanelAuthenticationHandler.m:
- (+[WebPanelAuthenticationHandler sharedHandler]): New method to get a shared
- handler, since we no logner register an instance with WebFoundation.
- (-[WebPanelAuthenticationHandler startAuthentication:window:]): Do things
- using the new API.
- (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
- Likewise.
- * WebKit.exp: Export WebDownload.
- * WebKit.pbproj/project.pbxproj: Add new files to build.
-
- - Removed WebStandardPanels - this is removed from the API.
-
- * Panels.subproj/WebStandardPanels.h: Removed.
- * Panels.subproj/WebStandardPanels.m: Removed.
- * Panels.subproj/WebStandardPanelsPrivate.h: Removed.
- * Panels.subproj/WebAuthenticationPanel.m: Remove WebStandardPanels.h import.
-
- - Added new resource load delegate auth methods:
- * WebView.subproj/WebResourceLoadDelegate.h:
-
- - Use WebDownload where appropriate, and remove use of WebStandardPanels:
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:didReceiveAuthenticationChallenge:]):
- Pass to resource load delegate.
- (-[WebBaseResourceHandleDelegate connection:didCancelAuthenticationChallenge:]):
- Likewise.
- (-[WebBaseResourceHandleDelegate dealloc]): Don't track currentURL any more.
- (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]): Likewise.
- (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]): Likewise.
- (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]): Likewise.
- (-[WebBaseResourceHandleDelegate cancelWithError:]): Likewise.
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
- Prompt using the standard panel.
-
- (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
- Cancel prompting using the standard panel.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): Use WebDownload instead
- of NSURLDownload.
- * WebView.subproj/WebView.h: Remove unneeded @class directives,
- and mention WebDownload instead of NSURLDownload.
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _downloadURL:toDirectory:]): Use WebDownload instead of NSURLDownload.
- (-[WebView _cacheResourceLoadDelegateImplementations]): Track auth methods too.
-
-2003-04-30 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Changed cookie-related class names:
-
- WebCookie -> NSHTTPCookie
- WebCookiePrivate -> NSHTTPCookieInternal
- WebCookieManager -> NSHTTPCookieStorage
- WebCookieManagerPrivate -> NSHTTPCookieStorageInternal
-
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- (-[WebCookieAdapter cookiesEnabled]):
- (-[WebCookieAdapter cookiesForURL:]):
- (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
-
-2003-04-30 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Changed file names for these classes. The contents
- of the files themselves remain unchanged.
-
- WebCookie -> NSHTTPCookie.
- WebCookieManager -> NSHTTPCookieStorage.
-
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- * WebView.subproj/WebMainResourceClient.m:
-
-2003-04-30 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - make change to avoid misunderstanding that led to bug report 3179394
- "Safari: Request that temp files use actual file extensions"
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
- Don't put a dot between "SafariPlugInStream" and the the 6-digit unique number, so the number
- does not look like an extension. Also make it "WebKitPlugInStream" since this is used for
- other WebKit clients, and not just Safari.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2003-04-29 Richard Williamson <rjw@apple.com>
-
- API changes from final review meeting.
- Added textEncodingName method to WebDataSource.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource textEncodingName]):
-
-2003-04-29 Chris Blumenberg <cblu@apple.com>
-
- Updated to use the new NSURLDownload API.
- Reviewed by rjw.
-
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _downloadURL:toDirectory:]):
-
-2003-04-29 Richard Williamson <rjw@apple.com>
-
- Added "Copyright (C) 2003 Apple Computer, Inc. All rights reserved."
- to all public headers. Also made formatting consistent.
-
- Reviewed by darin.
-
- * Carbon.subproj/CarbonUtils.h:
- * Carbon.subproj/HIWebView.h:
- * History.subproj/WebBackForwardList.h:
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistoryItem.h:
- * Misc.subproj/WebKit.h:
- * Misc.subproj/WebKitErrors.h:
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrameLoadDelegate.h:
- * WebView.subproj/WebFrameView.h:
- * WebView.subproj/WebPolicyDelegate.h:
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebUIDelegate.h:
- * WebView.subproj/WebView.h:
-
-2003-04-28 Don Melton <gramps@apple.com>
-
- Fixed 3225050 -- Default font size should be 16px
- Fixed 3241813 -- No longer spoof as WinIE for abcnews.go.com when
- default font size becomes 16px
-
- Reviewed by Darin and Maciej.
-
- * English.lproj/StringsNotToBeLocalized.txt:
-
- Updated.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:usingPrinterFont:]):
-
- We need to adjust Times, Helvetica, and Courier to closely match the
- vertical metrics of their Microsoft counterparts that are the de facto
- web standard. The AppKit adjustment of 20% is too big and is
- incorrectly added to line spacing, so we use a 15% adjustment instead
- and add it to the ascent.
-
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences initialize]):
-
- Changed default font size from 14 to 16 pixels and default fixed font
- size from 14 to 13 pixels. Changed standard font from Lucida Grande to
- Times, serif font from Times New Roman to Times, and sans serif font
- from Lucida Grande to Helvetica. Also replaced some stray tabs with
- spaces and made a few other anal-retentive formatting changes.
-
- * WebView.subproj/WebUserAgentSpoofTable.c:
- (hash):
- (_web_findSpoofTableEntry):
- * WebView.subproj/WebUserAgentSpoofTable.gperf:
-
- No longer spoof as Windows MSIE for abcnews.go.com since we've also
- changed the default font size.
-
-2003-04-28 Richard Williamson <rjw@apple.com>
-
- API changes from final review meeting.
-
- goBackOrForwardToItem: -> goToBackForwardItem:
- drop "Window" from WebUIDelegate method names.
- WebElementIsSelectedTextKey -> WebElementIsSelectedKey
- Cross-frame searchFor on WebView now public.
-
- Reviewed by Chris.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebKit.exp:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- * WebView.subproj/WebDefaultUIDelegate.m:
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebHTMLView.m:
- * WebView.subproj/WebHTMLViewPrivate.m:
- * WebView.subproj/WebImageView.m:
- * WebView.subproj/WebPolicyDelegate.h:
- * WebView.subproj/WebTextView.m:
- * WebView.subproj/WebUIDelegate.h:
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
-
-2003-04-28 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Chris
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setResponse:]): _lastModifiedDate on
- NSURLResponse is now SPI.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _commitIfReady:]): Ditto.
-
-2003-04-27 Chris Blumenberg <cblu@apple.com>
-
- Improved headerdoc comments.
- * Misc.subproj/WebKitErrors.h:
- * WebView.subproj/WebFrameLoadDelegate.h:
-
-2003-04-25 Don Melton <gramps@apple.com>
-
- Backed out Richard's (hopefully) accidental checkin of our experiments
- from earlier today. Otherwise many layout tests are hosed. But this
- change, or something like it, will arrive soon.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:usingPrinterFont:]):
-
-2003-04-25 Richard Williamson <rjw@apple.com>
-
- API changes from final review meeting.
-
- WebView:
- Added canShowMIMETypeAsHTML:
-
- WebFrameView:
- Removed scrollView
- Removed isDocumentHTML
-
- WebDataSource:
- Removed isDocumentHTML
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:usingPrinterFont:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _layoutChildren]):
- (-[WebDataSource _mainDocumentError]):
- (-[WebDataSource _isDocumentHTML]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _makeDocumentView]):
- (-[WebFrame _setState:]):
- (-[WebFrame _isLoadComplete]):
- * WebView.subproj/WebFrameView.h:
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView setAllowsScrolling:]):
- (-[WebFrameView allowsScrolling]):
- (-[WebFrameView documentView]):
- (-[WebFrameView drawRect:]):
- (-[WebFrameView setFrameSize:]):
- * WebView.subproj/WebFrameViewPrivate.h:
- * WebView.subproj/WebFrameViewPrivate.m:
- (-[WebFrameView _setDocumentView:]):
- (-[WebFrameView _scrollView]):
- (-[WebFrameView _contentView]):
- (-[WebFrameView _verticalKeyboardScrollAmount]):
- (-[WebFrameView _horizontalKeyboardScrollAmount]):
- (-[WebFrameView _scrollToBottomLeft]):
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
- (+[WebFrameView _canShowMIMETypeAsHTML:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _setPrinting:pageWidth:]):
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _updateMouseoverWithEvent:]):
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (+[WebView canShowMIMETypeAsHTML:]):
-
-2003-04-25 Chris Blumenberg <cblu@apple.com>
-
- Renamed WebDownload to NSURLDownload and moved it to WebFoundation.
-
- Reviewed by rjw.
-
- * Downloads.subproj/WebBinHexDecoder.h: Removed.
- * Downloads.subproj/WebBinHexDecoder.m: Removed.
- * Downloads.subproj/WebDownload.h: Removed.
- * Downloads.subproj/WebDownload.m: Removed.
- * Downloads.subproj/WebDownloadDecoder.h: Removed.
- * Downloads.subproj/WebDownloadPrivate.h: Removed.
- * Downloads.subproj/WebGZipDecoder.h: Removed.
- * Downloads.subproj/WebGZipDecoder.m: Removed.
- * Downloads.subproj/WebMacBinaryDecoder.h: Removed.
- * Downloads.subproj/WebMacBinaryDecoder.m: Removed.
- * Downloads.subproj/crc16.h: Removed.
- * Downloads.subproj/crc16.m: Removed.
- * English.lproj/Localizable.strings:
- * English.lproj/StringsNotToBeLocalized.txt:
- * Misc.subproj/WebKit.h:
- * Misc.subproj/WebKitErrors.h:
- * Misc.subproj/WebKitErrors.m:
- (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
- (registerErrors):
- * Misc.subproj/WebNSWorkspaceExtras.h: Removed.
- * Misc.subproj/WebNSWorkspaceExtras.m: Removed.
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient initWithDataSource:]):
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _downloadURL:toDirectory:]):
-
-2003-04-25 Richard Williamson <rjw@apple.com>
-
- Final API review changes.
-
- parent -> parentFrame
- children -> childFrames
-
- Reviewed by Chris.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _setPrinting:pageWidth:]):
-
-2003-04-25 Richard Williamson <rjw@apple.com>
-
- Final API review changes.
-
- parent -> parentFrame
- children -> childFrames
-
- Reviewed by Chris.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge childFrames]):
- (-[WebBridge frameDetached]):
-
-2003-04-25 Richard Williamson <rjw@apple.com>
-
- Final API review changes.
-
- WebFrame:
- parent -> parentFrame
- children -> childFrames
- loadString:baseURL: -> loadHTMLString:baseURL:
- laodData:encodingName:baseURL: -> loadData:MIMEType:textEncodingName:baseURL:
-
- Reviewed by Chris.
-
- * WebView.subproj/WebDataProtocol.h:
- * WebView.subproj/WebDataProtocol.m:
- (-[WebDataRequestParameters dealloc]):
- (-[NSURLRequest _webDataRequestMIMEType]):
- (-[NSURLRequest _webDataRequestSetMIMEType:]):
- (-[WebDataProtocol startLoading]):
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource isLoading]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _recursiveStopLoading]):
- (-[WebDataSource _layoutChildren]):
- (-[WebDataSource _defersCallbacksChanged]):
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadHTMLString:baseURL:]):
- (-[WebFrame findFrameNamed:]):
- (-[WebFrame parentFrame]):
- (-[WebFrame childFrames]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _createItem]):
- (-[WebFrame _descendantFrameNamed:]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _isLoadComplete]):
- (+[WebFrame _recursiveCheckCompleteFromFrame:]):
- (-[WebFrame _textSizeMultiplierChanged]):
- (-[WebFrame _viewWillMoveToHostWindow:]):
- (-[WebFrame _viewDidMoveToHostWindow]):
- (-[WebFrame _saveDocumentAndScrollState]):
- (-[WebFrame _loadDataSource:withLoadType:formState:]):
- * WebView.subproj/WebViewPrivate.m:
- (-[WebViewPrivate _clearControllerReferences:]):
- (-[WebView _frameForDataSource:fromFrame:]):
- (-[WebView _frameForView:fromFrame:]):
-
-2003-04-25 Chris Blumenberg <cblu@apple.com>
-
- Don't do "@class WebDataSource" as that class isn't mentioned in this file.
-
- * WebView.subproj/WebFrameLoadDelegate.h:
-
-2003-04-25 Chris Blumenberg <cblu@apple.com>
-
- Turned WebLocationChangeDelegate into WebFrameLoadDelegate. Renamed WebFrameLoadDelegate all methods to pass a frame instead of the data source.
-
- Reviewed by rjw.
-
- * English.lproj/Localizable.strings:
- * Misc.subproj/WebKit.h:
- * Misc.subproj/WebKitErrors.h:
- * Misc.subproj/WebKitErrors.m:
- (registerErrors):
- * WebCoreSupport.subproj/WebBridge.m:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource _setTitle:]):
- (-[WebDataSource _setRequest:]):
- (-[WebDataSource _updateIconDatabaseWithURL:]):
- * WebView.subproj/WebDefaultFrameLoadDelegate.h: Added.
- * WebView.subproj/WebDefaultFrameLoadDelegate.m: Added.
- (+[WebDefaultFrameLoadDelegate sharedFrameLoadDelegate]):
- (-[WebDefaultFrameLoadDelegate webView:didStartProvisionalLoadForFrame:]):
- (-[WebDefaultFrameLoadDelegate webView:didReceiveServerRedirectForProvisionalLoadForFrame:]):
- (-[WebDefaultFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
- (-[WebDefaultFrameLoadDelegate webView:didCommitLoadForFrame:]):
- (-[WebDefaultFrameLoadDelegate webView:didReceiveTitle:forFrame:]):
- (-[WebDefaultFrameLoadDelegate webView:didReceiveIcon:forFrame:]):
- (-[WebDefaultFrameLoadDelegate webView:didFinishLoadForFrame:]):
- (-[WebDefaultFrameLoadDelegate webView:didFailLoadWithError:forFrame:]):
- (-[WebDefaultFrameLoadDelegate webView:didChangeLocationWithinPageForFrame:]):
- (-[WebDefaultFrameLoadDelegate webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:]):
- (-[WebDefaultFrameLoadDelegate webView:didCancelClientRedirectForFrame:]):
- (-[WebDefaultFrameLoadDelegate webView:willCloseFrame:]):
- * WebView.subproj/WebDefaultLocationChangeDelegate.h: Removed.
- * WebView.subproj/WebDefaultLocationChangeDelegate.m: Removed.
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFrameLoadDelegate.h: Added.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _closeOldDataSources]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _isLoadComplete]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
- (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
- (-[WebFrame _clientRedirectCancelled]):
- * WebView.subproj/WebLocationChangeDelegate.h: Removed.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient interruptForPolicyChangeError]):
- * WebView.subproj/WebPolicyDelegate.h:
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView setFrameLoadDelegate:]):
- (-[WebView frameLoadDelegate]):
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebViewPrivate dealloc]):
- (-[WebView _frameLoadDelegateForwarder]):
-
-2003-04-25 John Sullivan <sullivan@apple.com>
-
- - fixed 3240676 -- REGRESSION: Using old Safari then new one
- erases history
-
- Reviewed by Darin.
-
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
- The new code to use a synchronous NSURLConnection to read the
- property list file did not take into account the two possible
- formats of the file (NSArray or NSDictionary), so reading
- old-style history files was completely broken. While in here,
- I distributed the variable declarations to first use.
-
-2003-04-24 Maciej Stachowiak <mjs@apple.com>
-
- Fixed build.
- * Panels.subproj/WebStandardPanels.m:
- (-[WebStandardPanels setUsesStandardAuthenticationPanel:]):
-
-2003-04-24 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- Updated for auth API changes.
- * Panels.subproj/WebStandardPanels.m:
- (-[WebStandardPanels setUsesStandardAuthenticationPanel:]):
-
-2003-04-24 Richard Williamson <rjw@apple.com>
-
- Final API review changes.
-
- Renamed WebWindowOperationsDelegate to WebUIDelegate.
- Merged WebContextMenuDelegate into WebUIDelegate.
- Fixed crasher if history file doesn't exist.
-
- Reviewed by Ken.
-
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
- * Misc.subproj/WebKit.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- (-[WebBaseNetscapePluginView status:]):
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController showStatus:]):
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]):
- (-[WebBridge showWindow]):
- (-[WebBridge areToolbarsVisible]):
- (-[WebBridge setToolbarsVisible:]):
- (-[WebBridge isStatusBarVisible]):
- (-[WebBridge setStatusBarVisible:]):
- (-[WebBridge setWindowFrame:]):
- (-[WebBridge windowFrame]):
- (-[WebBridge setWindowContentRect:]):
- (-[WebBridge windowContentRect]):
- (-[WebBridge setWindowIsResizable:]):
- (-[WebBridge windowIsResizable]):
- (-[WebBridge firstResponder]):
- (-[WebBridge makeFirstResponder:]):
- (-[WebBridge closeWindow]):
- (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
- (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
- (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
- (-[WebBridge runOpenPanelForFileButtonWithResultListener:]):
- (-[WebBridge setStatusText:]):
- (-[WebBridge focusWindow]):
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebContextMenuDelegate.h: Removed.
- * WebView.subproj/WebDefaultContextMenuDelegate.h:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- * WebView.subproj/WebDefaultUIDelegate.h:
- * WebView.subproj/WebDefaultUIDelegate.m:
- (+[WebDefaultUIDelegate sharedUIDelegate]):
- (-[WebDefaultUIDelegate dealloc]):
- * WebView.subproj/WebDefaultWindowOperationsDelegate.h: Removed.
- * WebView.subproj/WebDefaultWindowOperationsDelegate.m: Removed.
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
- * WebView.subproj/WebFrameView.m:
- * WebView.subproj/WebHTMLViewPrivate.m:
- * WebView.subproj/WebUIDelegate.h:
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView setUIDelegate:]):
- (-[WebView UIDelegate]):
- (-[WebView downloadDelegate]):
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebViewPrivate init]):
- (-[WebViewPrivate dealloc]):
- (-[WebView _openNewWindowWithRequest:]):
- (-[WebView _menuForElement:]):
- (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
- (-[WebView _UIDelegateForwarder]):
- * WebView.subproj/WebWindowOperationsDelegate.h: Removed.
-
-2003-04-24 Richard Williamson <rjw@apple.com>
-
- Final API review changes.
-
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem setAlternateTitle:]):
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
-
-2003-04-24 Richard Williamson <rjw@apple.com>
-
- Final API review changes.
-
- Reviewed by Chris.
-
- * History.subproj/WebBackForwardList.h:
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList containsItem:]):
- (-[WebBackForwardList capacity]):
- (-[WebBackForwardList setCapacity:]):
- (-[WebBackForwardList _clearPageCache]):
- (-[WebBackForwardList setPageCacheSize:]):
- (-[WebBackForwardList _setUsesPageCache:]):
- (-[WebBackForwardList _usesPageCache]):
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
- (+[WebHistory optionalSharedHistory]):
- (+[WebHistory setOptionalSharedHistory:]):
- (-[WebHistory init]):
- (-[WebHistory loadFromURL:error:]):
- (-[WebHistory saveToURL:error:]):
- * History.subproj/WebHistoryItemPrivate.h:
- * History.subproj/WebHistoryPrivate.h:
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate init]):
- (-[WebHistoryPrivate dealloc]):
- (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
- (-[WebHistoryPrivate loadFromURL:error:]):
- (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
- (-[WebHistoryPrivate saveToURL:error:]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setTitle:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _canCachePage]):
- (-[WebFrame _purgePageCache]):
-
-2003-04-24 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Chris.
-
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForChallenge:]): Update for new Challenge API.
-
-2003-04-24 Chris Blumenberg <cblu@apple.com>
-
- Renamed - [NSURLResponse suggestedFilenameForSaving] to suggestedFilename and moved it to WebFoundation.
-
- Reviewed by mjs.
-
- * Downloads.subproj/WebDownload.m:
- (-[WebDownload _createFileIfNecessary]):
- * English.lproj/Localizable.strings:
- * English.lproj/StringsNotToBeLocalized.txt:
- * Misc.subproj/WebNSURLResponseExtras.h: Removed.
- * Misc.subproj/WebNSURLResponseExtras.m: Removed.
- * Plugins.subproj/WebNullPluginView.m: include NSError to unbreak build.
- * WebKit.pbproj/project.pbxproj:
-
-2003-04-24 Chris Blumenberg <cblu@apple.com>
-
- Removed WebPluginError and instead added fields to the userInfo of NSError for plug-in specific errors.
-
- Reviewed by rjw.
-
- * Misc.subproj/WebKitErrors.h:
- * Misc.subproj/WebKitErrors.m:
- (+[NSError _webKitErrorWithCode:failingURL:]):
- (-[NSError _initWithPluginErrorCode:contentURLString:pluginPageURLString:pluginName:MIMEType:]):
- * Misc.subproj/WebKitErrorsPrivate.h:
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebNullPluginView.h:
- * Plugins.subproj/WebNullPluginView.m:
- * Plugins.subproj/WebPlugInError.h: Removed.
- * Plugins.subproj/WebPlugInError.m: Removed.
- * Plugins.subproj/WebPluginErrorPrivate.h: Removed.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURLString:attributes:baseURLString:MIMEType:]):
- (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURLString:]):
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
-
-2003-04-24 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed 3210096 -- server identifies page as UTF-8, page identifies itself as windows-1252, server must win
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge receivedData:withDataSource:]):
- Change for new WebCore API. Pass the encoding in a separate setEncoding call rather than
- as a parameter in addData. Also don't handle default encoding here any more. Default encoding
- is now handled the same way all the other preferences are, in a way that works better on the
- WebCore side anyway; nil or empty string means use the default encoding.
-
-2003-04-24 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Changed WebError to NSError
-
- * Downloads.subproj/WebDownload.h:
- * Downloads.subproj/WebDownload.m:
- (-[WebDownload connection:didReceiveData:]):
- (-[WebDownload connectionDidFinishLoading:]):
- (-[WebDownload connection:didFailLoadingWithError:]):
- (-[WebDownload _decodeData:]):
- (-[WebDownload _writeDataForkData:resourceForkData:]):
- (-[WebDownload _didCloseFile:]):
- (-[WebDownload _cancelWithError:]):
- (-[WebDownload _errorWithCode:]):
- (CloseCompletionCallback):
- * English.lproj/StringsNotToBeLocalized.txt:
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader connection:didFailLoadingWithError:]):
- * Misc.subproj/WebKitErrors.h:
- * Misc.subproj/WebKitErrors.m:
- (+[NSError _webKitErrorWithCode:failingURL:]):
- (registerErrors):
- * Misc.subproj/WebKitErrorsPrivate.h:
- * Plugins.subproj/WebNetscapePluginRepresentation.h:
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream connection:didFailLoadingWithError:]):
- * Plugins.subproj/WebPlugInError.h:
- * Plugins.subproj/WebPlugInError.m:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- (-[WebSubresourceClient receivedError:]):
- (-[WebSubresourceClient connection:didFailLoadingWithError:]):
- * WebKit.exp:
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]):
- (-[WebBaseResourceHandleDelegate cancelWithError:]):
- (-[WebBaseResourceHandleDelegate cancelledError]):
- * WebView.subproj/WebDataProtocol.m:
- (-[WebDataProtocol startLoading]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _stopLoadingInternal]):
- (-[WebDataSource _setMainDocumentError:]):
- (-[WebDataSource _receivedError:complete:]):
- (-[WebDataSource _stopLoadingWithError:]):
- (-[WebDataSource _mainDocumentError]):
- * WebView.subproj/WebDefaultLocationChangeDelegate.m:
- (-[WebDefaultLocationChangeDelegate webView:locationChangeDone:forDataSource:]):
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]):
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
- * WebView.subproj/WebFrameView.m:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation receivedError:withDataSource:]):
- * WebView.subproj/WebImageRepresentation.m:
- (-[WebImageRepresentation receivedError:withDataSource:]):
- * WebView.subproj/WebLocationChangeDelegate.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedError:]):
- (-[WebMainResourceClient cancelWithError:]):
- (-[WebMainResourceClient interruptForPolicyChangeError]):
- (-[WebMainResourceClient connection:didFailLoadingWithError:]):
- (-[WebResourceDelegateProxy connection:didFailLoadingWithError:]):
- * WebView.subproj/WebPolicyDelegate.h:
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebTextRepresentation.m:
- (-[WebTextRepresentation receivedError:withDataSource:]):
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _receivedError:fromDataSource:]):
- (-[WebView _mainReceivedError:fromDataSource:complete:]):
-
-2003-04-24 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- * WebView.subproj/WebViewPrivate.m: (-[WebView _updateWebCoreSettingsFromPreferences:]):
- Added a call to the new setDefaultTextEncoding: method in WebCore. A preparation
- step for some encoding bug fixes.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSuperviewObservers]): Improved a comment.
-
-=== Safari-75 ===
-
-2003-04-24 Maciej Stachowiak <mjs@apple.com> (checked in by Darin)
-
- Reviewed by Ken and Darin.
-
- Fixed an authentication crashing bug that crept into the last few
- changes, plus a typo.
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForChallenge:]): Remove extra space.
- (-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]): Store
- the challenge properly.
-
-2003-04-22 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- Adjusted for NSURLCredential changes.
-
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
- (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
-
-2003-04-23 Chris Blumenberg <cblu@apple.com>
-
- Reviewed by darin.
-
- * English.lproj/StringsNotToBeLocalized.txt: updated
-
-2003-04-23 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3161374 - safari windows don't allow text/URL dragging on the first click
-
- Reviewed by john.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView _isSelectionEvent:]): new, determines if the event occurred over the selection
- (-[WebHTMLView acceptsFirstMouse:]): newly implemented, return result of _isSelectionEvent:
- (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): newly implemented, return result of _isSelectionEvent:
-
-2003-04-23 Chris Blumenberg <cblu@apple.com>
-
- Renamed the policy delegate methods.
-
- Reviewed by john.
-
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
- (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
- (-[WebDefaultPolicyDelegate webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]):
- (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient checkContentPolicyForResponse:]):
- * WebView.subproj/WebPolicyDelegate.h:
-
-2003-04-22 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Updated to use API-approved methods for accessing
- protocol-specific URL request data.
-
- * WebView.subproj/WebDataProtocol.m:
- (-[NSURLRequest _webDataRequestParametersForReading]):
- (-[NSURLRequest _webDataRequestParametersForWriting]):
-
-2003-04-22 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- Renamed classes to match API document.
- * Panels.subproj/WebAuthenticationPanel.h:
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForChallenge:]):
- (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
- (-[WebAuthenticationPanel runAsSheetOnWindow:withChallenge:]):
- (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
- * Panels.subproj/WebPanelAuthenticationHandler.h:
- * Panels.subproj/WebPanelAuthenticationHandler.m:
- (-[WebPanelAuthenticationHandler init]):
- (-[WebPanelAuthenticationHandler dealloc]):
- (-[WebPanelAuthenticationHandler isReadyToStartAuthentication:]):
- (-[WebPanelAuthenticationHandler startAuthentication:]):
- (-[WebPanelAuthenticationHandler cancelAuthentication:]):
- (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]):
- * Panels.subproj/WebStandardPanels.m:
- (-[WebStandardPanels setUsesStandardAuthenticationPanel:]):
-
-2003-04-21 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- API changes in NSURLProtocol and its subclasses:
-
- +canHandleURL: becomes +canInitWithRequest:
- +canonicalURLForURL: becomes +canonicalRequestForRequest:
-
- Added new _webIsDataProtocolURL: helper method.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
- * WebView.subproj/WebDataProtocol.h:
- * WebView.subproj/WebDataProtocol.m:
- (+[WebDataProtocol _webIsDataProtocolURL:]):
- (+[WebDataProtocol canInitWithRequest:]):
- (+[WebDataProtocol canonicalRequestForRequest:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _addBackForwardItemClippedAtTarget:]):
- (-[WebFrame _transitionToCommitted:]):
-
-2003-04-21 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/WebNetscapePluginStream.m: Removed unnecessary #import of <WebFoundation/WebFoundation.h>.
-
-2003-04-21 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- Updated for file renames.
-
- * Panels.subproj/WebAuthenticationPanel.h:
- * Panels.subproj/WebPanelAuthenticationHandler.h:
- * Panels.subproj/WebStandardPanels.m:
-
-2003-04-21 Chris Blumenberg <cblu@apple.com>
- Fixed previous "Reviewed by".
-
- * ChangeLog:
-
-2003-04-21 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3140990 - Safari: Error attempting to load movie from Rhino records
- Renamed plug-in view methods to mention that they take URL strings.
-
- Reviewed by john.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURLString:attributes:baseURLString:MIMEType:]): renamed, try to find the plug-in using the extension of the SRC URL if the plug-in isn't found using the MIME type.
- (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURLString:]): renamed
-
-2003-04-18 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3139385 - don't accept drags from other frames in the same WebView
-
- Reviewed by john.
-
- * WebView.subproj/WebFrameView.m: moved drag destination code from WebFrameView to WebView
- (-[WebFrameView initWithFrame:]): removed drag registration code
- * WebView.subproj/WebFrameViewPrivate.h:
- * WebView.subproj/WebFrameViewPrivate.m:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): unregister drag types on the WebView
- (-[WebHTMLView draggedImage:endedAt:operation:]): reregister drag types on the WebView
- * WebView.subproj/WebImageView.m:
- (-[WebImageView mouseDragged:]): unregister drag types on the WebView
- (-[WebImageView draggedImage:endedAt:operation:]): reregister drag types on the WebView
- * WebView.subproj/WebView.m: moved drag destination code from WebFrameView to WebView
- (-[WebView draggingEntered:]): moved from WebFrameView
- (-[WebView prepareForDragOperation:]): ditto
- (-[WebView performDragOperation:]): ditto
- (-[WebView concludeDragOperation:]): ditto
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _registerDraggedTypes]): ditto
-
-2003-04-17 John Sullivan <sullivan@apple.com>
-
- Reviewed by Maciej.
-
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate _loadHistoryGuts:]):
- if we can't load the file as a dictionary, try loading it
- the old-fashioned array way. This makes the history file
- format change forward-compatible.
-
-2003-04-17 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3160751 - Can't use non-'.txt' file extension for text files?
-
- Reviewed by mjs.
-
- * English.lproj/StringsNotToBeLocalized.txt:
- * Misc.subproj/WebNSURLResponseExtras.m:
- (-[NSURL _web_suggestedFilenameForSavingWithMIMEType:]): don't correct the file extension for plain text files
-
-2003-04-17 John Sullivan <sullivan@apple.com>
-
- - fixed 3232332 -- History file should be versioned since
- we might change it in the future
- - fixed 3220355 -- Console error message at launch when
- there's no history file
-
- Note: a downside of this change is that the history formats
- before and after this change are not compatible. You will
- get no history each time you cross that boundary by running
- different Safaris.
-
- Reviewed by Maciej.
-
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate _loadHistoryGuts:]):
- check for file-doesn't-exist case before complaining about
- being unable to read existing file; expect to read dictionary
- rather than array, and check version in dictionary.
- (-[WebHistoryPrivate _saveHistoryGuts:]):
- save dictionary that includes version as well as array of
- items by date.
-
-2003-04-17 Richard Williamson <rjw@apple.com>
-
- Fixed typos in headerdoc comments.
-
- * WebView.subproj/WebFrame.h:
-
-2003-04-17 Richard Williamson <rjw@apple.com>
-
- Drop down yet one more level to avoid intialization horkage.
- Call objc_getClass() instead of NSClassFromString().
-
- Reviewed by darin.
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (+[WebHTMLView load]):
-
-2003-04-17 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- * WebView.subproj/WebDataProtocol.m: (+[NSURLRequest _webDataRequestURLForData:]):
- Register the WebDataProtocol here instead of doing it with a load method, since this
- is the bottleneck that must be used before that protocol is needed. It's good to have
- one less load method, and this may fix a problem reported by a Panther WebKit client
- on intrigue-dev too.
-
-2003-04-16 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Fixed call to load synchronous URL. Now conforms to new API
- which allows callers to access error object associated with
- the load.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadItem:withLoadType:]):
-
-2003-04-16 Chris Blumenberg <cblu@apple.com>
-
- - Progressively load plain text in our text view.
- - Fixed: 3177603 - vCards appear in browser, not downloaded
-
- Reviewed by darin.
-
- * WebView.subproj/WebTextRepresentation.m:
- (-[WebTextRepresentation setDataSource:]): added FIXME about document source of RTF not working
- (-[WebTextRepresentation receivedData:withDataSource:]): feed data to the text view, progressively for plain text
- * WebView.subproj/WebTextView.m:
- (+[WebTextView unsupportedTextMIMETypes]): include text/directory, another vcard MIME type
- (-[WebTextView setDataSource:]): do 1-time attribute settings
- (-[WebTextView dataSourceUpdated:]): do nothing
-
-2003-04-16 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by David
-
- Moved this NSURLProtocolClient implementor to API-approved
- interface.
-
- * WebView.subproj/WebDataProtocol.m:
- (-[WebDataProtocol startLoading]):
-
-2003-04-16 Ken Kocienda <kocienda@apple.com>
-
- Fix deployment build breaker caused by uninitialized variable.
-
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _loadBackForwardListFromOtherView:]):
-
-2003-04-16 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3226281 -- REGRESSION: crash in WebHTMLView removeMouseMovedObserver closing gist.com
-
- * Plugins.subproj/WebPluginController.m: (-[WebPluginController showStatus:]):
- Use _webView instead of _controller.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m: Remove stray semicolon.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView removeMouseMovedObserver]): Use _webView instead of _controller.
- (-[WebHTMLView menuForEvent:]): Ditto.
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
- * WebView.subproj/WebHTMLViewPrivate.h: Rename _controller to _webView.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _webView]): Use _web_superviewOfClass to find the WebView. This dodges possible
- stale unretained pointer issues with getting the WebView through the WebFrame, which is what
- fixes the bug.
- (-[WebHTMLView _updateMouseoverWithEvent:]): Use _webView instead of _controller.
- (+[WebHTMLView _pasteboardTypes]): Put the types in order from most preferred to least.
- (-[WebHTMLView _writeSelectionToPasteboard:]): Ditto.
-
-2003-04-15 Richard Williamson <rjw@apple.com>
-
- Create the dictionary for volatile values. Without this fix
- values were never volatile!
-
- Reviewed by mjs.
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences _init]):
- (-[WebPreferences init]):
- (+[WebPreferences standardPreferences]):
- (-[WebPreferences dealloc]):
-
-2003-04-15 Richard Williamson <rjw@apple.com>
-
- Fix for 3226746. Remove some ancient and apparantly invalid cruft.
-
- Reviewed by trey.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _setDataSource:]):
-
-2003-04-15 Richard Williamson <rjw@apple.com>
-
- Fixed clipping of progressive images to correctly clip.
-
- Reviewed by darin.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
-
-2003-04-15 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Name change from WebCacheObject to NSCachedURLResponse.
- No functional changes.
-
- * WebView.subproj/WebDataProtocol.m:
- (-[WebDataProtocol startLoadingWithCacheObject:]):
-
-2003-04-15 Trey Matteson <trey@apple.com>
-
- 3227514 Open window in "Same Page" should copy entire back/forward list
-
- New support to load a new view by copying the whole backforward
- list and driving the new view to the current item.
-
- Reviewed by John.
-
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _loadItem:]): Old routine, which only loaded an item.
- (-[WebView _loadItemsFromOtherView:]): New routine that does the works.
-
-2003-04-15 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Name change from WebProtocolClient to NSURLProtocolClient.
- No functional changes.
-
- * WebView.subproj/WebDataProtocol.m:
- (-[WebDataProtocol startLoadingWithCacheObject:]):
-
-2003-04-15 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Name change from WebProtocol to NSURLProtocol.
- No functional changes.
-
- * WebView.subproj/WebDataProtocol.h:
- * WebView.subproj/WebDataProtocol.m:
- (-[NSURLRequest _webDataRequestParametersForReading]):
- (-[NSURLRequest _webDataRequestParametersForWriting]):
- (+[WebDataProtocol load]):
- * WebView.subproj/WebFrame.m:
-
-2003-04-14 Trey Matteson <trey@apple.com>
-
- 3009051 - Find on Page stops (once) at end of page, should wrap automatically WebKit
- 3051546 - Find on Page doesn't work for frameset pages
- 3058437 - can have a selection in two frames at the same time (problem for finding in frames)
- 3097498 - Find Previous continues to "Find Next" until end of paragraph 3097507 - Find Next searches from previous find hit instead of current selection Primary changes here: I added a wrap flag to the searchFor method, which is needed to
- control how we search as we traverse the frame tree. A new method is added to WebView
- that knows about traversing the frame tree as we search. HTMLView and TextView both
- clear their selections when they lose first responder (see 3228554 for possible
- improvements to that change).
-
- Reviewed by Maciej.
-
- * Misc.subproj/WebSearchableTextView.m:
- Added wrap flag, pass on to TextView.
- Ensure we do some searching when we would previous get a zero range to search in.
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- These are all basic methods to support forwards and backwards traversal of
- the frame tree. Modeled after same methods we have for traversing the DOM.
- (-[WebFrame _nextSibling]):
- (-[WebFrame _previousSibling]):
- (-[WebFrame _lastChild]):
- (-[WebFrame _nextFrameWithWrap:]):
- (-[WebFrame _previousFrameWithWrap:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]): Added wrap flag,
- pass it to bridge.
- (-[WebHTMLView resignFirstResponder]): Clear selection when we lose firstResp.
- * WebView.subproj/WebTextView.m:
- (-[WebTextView resignFirstResponder]): Clear selection when we lose firstResp.
- * WebView.subproj/WebView.m:
- (-[WebView _currentFrame]): Return the frame holding the first responder.
- (-[WebView _searchFor:direction:caseSensitive:wrap:]): Main work: traverse the
- frame tree and drive the overall find.
- * WebView.subproj/WebViewPrivate.h:
-
-2003-04-14 Chris Blumenberg <cblu@apple.com>
-
- Log time spent loading each plug-in.
-
- Reviewed by mjs.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _iconsForIconURLString:]): fixed logging code
- (-[WebIconDatabase _scaleIcon:toSize:]): fixed logging code
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]): log time spent loading a plug-in
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController startAllPlugins]): only log if there are plug-ins to start
- (-[WebPluginController stopAllPlugins]): only log if there are plug-ins to stop
- (-[WebPluginController destroyAllPlugins]): only log if there are plug-ins to destroy
-
-2003-04-13 Trey Matteson <trey@apple.com>
-
- 3150693 - open new window on "same page" doesn't give me the same frame content
-
- The core is a new support method that loads a WebView given a HistoryItem, which
- thus restores all frames of that item, and optionally the form and scroll state.
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem copyWithZone:]): Copy the docState, scrollPosition, isTargetItem.
- No good reason to have left these out when I wrote this method.
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _saveDocumentAndScrollState]): New method to run the frame tree and
- save all form/scroll state to the current item.
- * WebView.subproj/WebView.m:
- _goToItem:withLoadType: moved to WebViewPrivate.m
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _goToItem:withLoadType:]): Moved from WebView.m, no change.
- (-[WebView _loadItem:showingInView:]): New method to load the view with the item.
-
-2003-04-12 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3162338 - Embedding SVG with <object type="image/svg+xml"> doesn't work
-
- Reviewed by dave.
-
- * WebCoreSupport.subproj/WebImageRendererFactory.m:
- (-[WebImageRendererFactory supportedMIMETypes]): code moved from +[WebImageView supportedImageMIMETypes]
- * WebView.subproj/WebImageView.m:
- (+[WebImageView supportedImageMIMETypes]): return -[WebImageRendererFactory supportedMIMETypes]
-
-2003-04-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
- (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]):
- Implemented in terms of webView:setFrame: to save clients work.
-
-2003-04-11 Chris Blumenberg <cblu@apple.com>
-
- Removed WebKitErrorResourceLoadInterruptedByPolicyChange error because it isn't used.
-
- Reviewed by john.
-
- * Misc.subproj/WebKitErrors.h:
- * Misc.subproj/WebKitErrors.m:
- (registerErrors):
- * WebKit.pbproj/project.pbxproj:
-
-2003-04-11 Trey Matteson <trey@apple.com>
-
- 3148002 - printing shouldn't depend on the size of the window
-
- The basic strategy is copied from khtmlview's print method: We reset the width
- of the document to the paper width minus margins, and relayout before paginating
- and printing.
-
- Reviewed by Richard.
-
- * WebKit.pbproj/project.pbxproj: Someone is using an old version...
- * WebView.subproj/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView reflectScrolledClipView:]): Don't do the dynamic
- scrollbar update magic when printing.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView layoutToPageWidth:]): New routine, basically the old layout
- method with a new parameter. If we're given an width, we call a different
- bridge method.
- (-[WebHTMLView layout]): Just call above method with width==0
- (-[WebHTMLView drawRect:]): Protect setting/resetting of graphics context and
- additional clip with a DURING/HANDLER. I saw an assertion failure that could
- be explained by this, so this is mostly a beartrap for that problem.
- (-[WebHTMLView _setPrinting:pageWidth:]): Pass page width through to others.
- (-[WebHTMLView beginDocument]): If we are not in a frame set, do a layout
- using the page width.
- (-[WebHTMLView endDocument]): Pass 0 to new pageWidth: arg.
-
-2003-04-08 Trey Matteson <trey@apple.com>
-
- 3220349 - assertion failure in [WebFrame _recursiveGoToItem:...] hitting Back while loading movie
-
- The problem was that when we go back we call stopLoading on the top frame, but
- that has a bogus optimization to not do any work if state=Completed. That is a
- bogus test if a subframe is doing a load. The fix is to just always tell the
- dataSources to stopLoading. They already bail quickly when they are not loading,
- so there is no significant additional cost.
-
- Reviewed by Richard.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame stopLoading]):
-
-=== Safari-73 ===
-
-2003-04-10 Richard Williamson <rjw@apple.com>
-
- Fixed 3219525
-
- Our work-around for the CG pattern cache bogosity was always bypassed,
- consequently we'd unnecessarily burn lots of memory filling that cache.
-
- Reviewed by mjs & gramps.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
- (-[WebImageRenderer tileInRect:fromPoint:]):
-
-2003-04-10 Darin Adler (Maciej committing for Darin) <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3225042 - MallocDebug shows "access after deallocated" problem in WebFrameView
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView dealloc]): Nil out _private.
- (-[WebFrameView nextKeyView]): Check _private for nil.
- (-[WebFrameView previousKeyView]): Check _private for nil.
-
-2003-04-10 Richard Williamson <rjw@apple.com>
-
- Fix performance regression with iBench (post 71). The iBench cheat was being defeated.
-
- Ensure that the layout timer is always invalidated when a frame completes
- or is cancelled.
-
- Reviewed by mjs & gramps.
-
- * WebView.subproj/WebFrame.m:
- (-[WebFrame stopLoading]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _setState:]):
-
-2003-04-10 Trey Matteson <trey@apple.com>
-
- 3224973 - Safari sometimes stores data for AUTOCOMPLETE=OFF fields and password fields
-
- Just glue for calling a new WC function.
-
- Reviewed by Darin.
-
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation elementWithName:inForm:]):
-
-=== Safari-72 ===
-
-2003-04-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Chris.
-
- - fixed 3224690 - REGRESSION: Download related errors aren't preserved across launches
-
- * WebKit.pbproj/project.pbxproj: Install WebKitErrorsPrivate.h as SPI.
-
-2003-04-10 Darin Adler <darin@apple.com>
-
- Reviewed by Trey.
-
- - fixed 3224622 -- REGRESSION: in an empty window, repeated tabs don't cycle back to location field
-
- Added logic to WebFrameView's next/previous that matches the logic in WebHTMLView.
- Looking for a better solution some day to the whole nextKeyView thing.
-
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView nextKeyView]): If being called from nextValidKeyView, return the nextKeyView
- of the WebView rather than of self.
- (-[WebFrameView previousKeyView]): Ditto.
- (-[WebFrameView nextValidKeyView]): Set the inNextValidKeyView flag.
- (-[WebFrameView previousValidKeyView]): Ditto.
-
- * WebView.subproj/WebFrameViewPrivate.h: Add the inNextValidKeyView flag.
-
-2003-04-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- Another launch time speedup - don't load the WebKit WebError
- strings until we actually make a WebKit error. This prevents the
- WebKit localized strings file from being loaded during normal startup.
-
- * Downloads.subproj/WebDownload.m:
- (+[WebDownloadPrivate initialize]): Don't register WebKit errors.
- (-[WebDownload _errorWithCode:]): Use _webKitErrorWithCode:failingURL:
- * Misc.subproj/WebKitErrors.m:
- (+[WebError _webKitErrorWithCode:failingURL:]): Wrapper that registers the
- WebKit error codes first.
- * Misc.subproj/WebKitErrorsPrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _handleUnimplementablePolicyWithErrorCode:forURL:]): Use
- _webKitErrorWithCode:failingURL:
- (-[WebFrame _loadItem:withLoadType:]): Use _webKitErrorWithCode:failingURL:
- * WebView.subproj/WebFrameView.m:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient interruptForPolicyChangeError]): Use _webKitErrorWithCode:failingURL:
-
-2003-04-10 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3222896 - REGRESSION: sound plays after closing a window with a RealPlayer plug-in in it
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): We were starting plug-in on window close because that's when the host window is set to nil. Just check if we now have a host window before we start.
-
-2003-04-10 Darin Adler <darin@apple.com>
-
- Reviewed by Trey.
-
- - speed up startup by not calling [NSImage imageFileTypes] until we need to
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge frameRequiredForMIMEType:]):
- Call _viewClassForMIMEType instead of _viewTypes, since _viewClassForMIMEType is now optimized
- by not loading the image types unless needed.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _representationClass]): Call _representationClassForMIMEType instead of
- _repTypes, since _representationClassForMIMEType is now optimized by not loading the image
- types unless needed.
- (+[WebDataSource _repTypesAllowImageTypeOmission:]): Added. Moved the guts of _repTypes
- in here. If you pass YES, doesn't bother adding the image types yet.
- (+[WebDataSource _repTypes]): Now calls _repTypesAllowImageTypeOmission:NO.
- (+[WebDataSource _representationClassForMIMEType:]): First try the dictionary without
- requiring the image types, then only in the case where we get nil, try with the image types.
-
- * WebView.subproj/WebFrameViewPrivate.m:
- (-[WebFrameView _makeDocumentViewForDataSource:]): Call _viewClassForMIMEType instead of
- _viewTypes, since _viewClassForMIMEType is now optimized by not loading the image types
- unless needed.
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Added. Moved the guts of _viewTypes
- in here. If you pass YES, doesn't bother adding the image types yet.
- (+[WebFrameView _viewTypes]): Now calls _viewTypesAllowImageTypeOmission:NO.
- (+[WebFrameView _viewClassForMIMEType:]): First try the dictionary without requiring
- the image types, then only in the case where we get nil, try with the image types.
-
-2003-04-09 Trey Matteson <trey@apple.com>
-
- 3223413 - crash in [CompletionController controlTextDidChange] at travelocity.com
-
- This was a great one to get steps for repro - it has shown up at least twice before.
-
- The problem is that when there is a focused TextField within a frame, the proper
- FormDelegate messages were not being sent on refresh or b/f. The cause was that
- the FirstResponder would be reset in the middle of detaching the frame, at which point
- our object graph was already half taken apart. Fix is to detect that case before
- doing the detach work, and endEditing explicitly.
-
- Reviewed by Darin.
-
- * ChangeLog:
- * Misc.subproj/WebKitLogging.h:
- * Misc.subproj/WebKitLogging.m: New FormDelegate logging category.
- * WebCoreSupport.subproj/WebBridge.m:
- All changes in here are just calling LOG for the new category.
- (-[WebBridge controlTextDidBeginEditing:]):
- (-[WebBridge controlTextDidEndEditing:]):
- (-[WebBridge controlTextDidChange:]):
- (-[WebBridge control:textShouldBeginEditing:]):
- (-[WebBridge control:textShouldEndEditing:]):
- (-[WebBridge control:didFailToFormatString:errorDescription:]):
- (-[WebBridge control:didFailToValidatePartialString:errorDescription:]):
- (-[WebBridge control:isValidObject:]):
- (-[WebBridge control:textView:doCommandBySelector:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _setDataSource:]): The fix, as described above.
-
-2003-04-09 Richard Williamson <rjw@apple.com>
-
- Fix for 3222904. This change fixes the immediate symptoms of the bug,
- but we need to come back to this issue after beta 2. Bug 3223929 captures
- the other problems.
-
- Reviewed by gramps.
-
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource __setRequest:]):
- (-[WebDataSource _setRequest:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _shouldReloadForCurrent:andDestination:]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
-
-2003-04-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Chris, Trey, Darin and Don.
-
- - fixed 3223568 - site icons lost when moving from older Safari to 71
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _createFileDatabase]): Rename old database containing directory to
- new, so we carry over old databases. The format is forward but not backward compatible.
- (-[WebIconDatabase _loadIconDictionaries]): Treat no version at all as version 1, so we
- can load old-style databases.
-
- Reviewed by Trey.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated.
-2003-04-09 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3223022 - Plug-in content bleeds onto frontmost tab
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Explicitly call setWindow when the plug-in view is moved out of the window so it is clipped out of sight.
-
-2003-04-08 Trey Matteson <trey@apple.com>
-
- 3221355 document is numb to clicks after going back
-
- The layoutTimer now does a layout if the doc is in state Completed,
- in addition to LayoutAcceptable.
-
- Reviewed by Richard.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _timedLayout:]):
-
-2003-04-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3221128 - Double grey lines on macromedia.com home page
-
- Flash relies on the ordering of attributes in the EMBED tag (which is really stupid). salign must come after scale.
- Changed our plug-in API's to preserve orderings using arrays rather than lose orderings when using dictionaries.
-
- Reviewed by trey.
-
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.h:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:]): take attributeKeys and attributeValues instead of a dictionary
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]): create attributeKeys and attributeValues to pass to the above method
- (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]): create attributeKeys and attributeValues to pass to the above method
-
-2003-04-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3220463 - REGRESSION: PDF viewer plug-in does not display (worked in 69 and previous)
-
- Reviewed by darin.
-
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView didStart]): always call redeliverStream. Have WebNetscapePluginRepresentation determine if it actually needs to do that.
- * Plugins.subproj/WebNetscapePluginRepresentation.h:
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): keep track of _dataLengthReceived which is independent of the data received by the data source
- (-[WebNetscapePluginRepresentation redeliverStream]): only redeliver the stream if _dataLengthReceived is greater than 0
-
-2003-04-07 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3206018 - REGRESSION: Clicks on the BBC news ticker applet don't open story in new window
-
- MSIE and Netscape for Windows treat a nil target as _top. Since this is usually the target audience of applet developers, we will mimic this. This makes 3206018 behave as expected.
-
- Reviewed by gramps.
-
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController showURL:inFrame:]): treat nil as _top.
-
-2003-04-07 Richard Williamson <rjw@apple.com>
-
- API conveniences for IB.
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView canGoBack]):
- (-[WebView canGoForward]):
- (-[WebView reload:]):
- (-[WebView canMakeTextSmaller]):
- (-[WebView canMakeTextLarger]):
- (-[WebView makeTextSmaller:]):
- (-[WebView makeTextLarger:]):
-
-2003-04-07 Richard Williamson <rjw@apple.com>
-
- Fix for 3220988. Cancel frame load if it's detached before
- finished loading.
-
- Reviewed by Maciej.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge frameDetached]):
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _removeChild:]):
-
-2003-04-07 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3219584 - REGRESSION: launch times appear slower in v71
-
- * WebView.subproj/WebView.m:
- (+[WebView canShowMIMEType:]): Avoid loading plugin database if we
- can find a view without doing so.
-
-2003-04-07 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
- When I landed my last change to the .gperf file I forgot to land this.
-
-=== Safari-71 ===
-
-2003-04-04 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3217687 -- REGRESSION: printing uses widths from screen fonts, messing up layout
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m: Removed now-unused rendererWithFont:
- which called, the now-removed usingPrinterFonts method. WebCore now calls the one with
- the usingPrinterFont parameter.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView drawRect:]): Remove setUsingPrinterFonts: calls. This is now handled by the
- document on the WebCore side.
- (-[WebHTMLView _setPrinting:]): Ditto.
-
-2003-04-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- - fixed 3188914 - loop checking for Flash at http://www.scottsmind.com/celebrity_defacer/index.php
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Take a mutable request,
- and make sure to set referrer to the frame URL (as other browsers do).
- (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass an NSMutableURLRequest.
- (-[WebBaseNetscapePluginView getURL:target:]): Likewise.
- (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
- If the plug-in passes a Content-Length header, take it out of the
- headers and truncate the content appropriately to make
- WebFoundation happy.
-
-2003-04-03 Richard Williamson <rjw@apple.com>
-
- Fix checks for about: to avoid using our 'fake' request when
- using WebDataProtocol. This fixes the assertion in the Snippet
- Editor.
-
- Reviewed by mjs.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
-
-2003-04-03 Trey Matteson <trey@apple.com>
-
- 3218212 REGRESSION: page on screen draws ugly while printing is happening
-
- Turn autodisplay of the window off while we print.
-
- Reviewed by Darin.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView beginDocument]): Turn it off.
- (-[WebHTMLView endDocument]): and back on.
-
-2003-04-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- - removed no-longer forwarding of become/resignFirstResponder
- * WebView.subproj/WebHTMLViewPrivate.m: Removed
- become/resignFirstResponder poses for WebNSTextView.
-
-2003-04-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard and Don.
-
- - fixed 3218262 - REGRESSION: Page address becomes about:blank when command-clicking bookmark to load tab
-
- * WebView.subproj/WebDataProtocol.m:
- (-[NSURLRequest _webDataRequestParametersForWriting]): Renamed
- from _webDataRequestParameters.
- (-[NSURLRequest _webDataRequestParametersForReading]): Like the
- above, but make sure nto to create the part if it does not exist.
- (-[NSURLRequest _webDataRequestData]): Use _webDataRequestParametersForReading.
- (-[NSURLRequest _webDataRequestEncoding]): Likewise.
- (-[NSURLRequest _webDataRequestBaseURL]): Likewise.
- (-[NSURLRequest _webDataRequestSetData:]):Use _webDataRequestParametersForWriting.
- (-[NSURLRequest _webDataRequestSetEncoding:]): Likewise.
- (-[NSURLRequest _webDataRequestSetBaseURL:]): Likewise.
- (-[NSURLRequest _webDataRequestExternalRequest]): Use _webDataRequestParametersForReading.
-
-2003-04-03 Richard Williamson <rjw@apple.com>
-
- Tweaks to minimize access to the parts of a WebDataRequest
- that turn out to be slow. Although we've changed NSURLRequest
- to be faster, it's still good to keep these tweaks.
-
- Reviewed by ken.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
- (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
- * WebView.subproj/WebDataProtocol.h:
- * WebView.subproj/WebDataProtocol.m:
- (-[NSURLRequest _webDataRequestExternalRequest]):
- (+[WebDataProtocol canHandleURL:]):
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource request]):
-
-2003-04-03 Trey Matteson <trey@apple.com>
-
- 3067928 - printing should not break lines in half
-
- This is just glue to call the right piece in WebCore.
-
- Reviewed by Darin.
-
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
- Defer to WebCore to set pagination boundary.
-
-2003-04-03 Richard Williamson <rjw@apple.com>
-
- As requested by Nancy, drop "Is" and "Are" from setters,
- but leave them in place on the getters.
-
- Reviewed by cblu.
-
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences setJavaEnabled:]):
- (-[WebPreferences setJavaScriptEnabled:]):
- (-[WebPreferences setPlugInsEnabled:]):
-
-2003-04-03 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - remove spoof entries as decided in meeting with Don, Dave, Mark Malone
-
- * WebView.subproj/WebUserAgentSpoofTable.gperf: Remove battle.net because it's only there to
- make Darin happy, and the site works fine without it. Remove pier1.com and disney.go.com because
- we want to try evangelism first in both those cases, and having a released version where the
- site works weakens our evangelism efforts.
-
- * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
-
- - disable workaround for Panther bug in Panther builds
-
- * Misc.subproj/WebNSImageExtras.m: (-[NSImage _web_dissolveToFraction:]): Add ifdefs.
-
-2003-04-02 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- - fixed 3213556 - VIP: parent.mainFrameWidth=undefined on page refresh results in missing content
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadItem:withLoadType:]): When reload or going back/forward,
- make sure to load the original URL of the item, not it's most recent URL.
- (-[WebFrame _loadURL:intoChild:]): Likewise.
-
-2003-04-02 Richard Williamson <rjw@apple.com>
-
- Raise exceptions when these methods are called inappropriately.
-
- Reviewed by Trey.
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList goBack]):
- (-[WebBackForwardList goForward]):
- (-[WebBackForwardList goToItem:]):
-
-2003-04-02 Richard Williamson <rjw@apple.com>
-
- Added new API on WebFrame, loadData: and loadString:
-
- Reviewed by Maciej.
-
- Fixed loading of cocoa plugins.
-
- Reviewed by Chris.
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList _entries]):
- * Plugins.subproj/WebBasePluginPackage.h:
- * Plugins.subproj/WebBasePluginPackage.m:
- (-[WebBasePluginPackage bundle]):
- * Plugins.subproj/WebPluginDatabase.h:
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase init]):
- (-[WebPluginDatabase loadPluginIfNeededForMIMEType:]):
- (-[WebPluginDatabase dealloc]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
- (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
- * WebView.subproj/WebDataProtocol.h: Added.
- * WebView.subproj/WebDataProtocol.m: Added.
- (-[WebDataRequestParameters copyWithZone:]):
- (-[WebDataRequestParameters mutableCopyWithZone:]):
- (-[WebDataRequestParameters dealloc]):
- (+[NSURLRequest _webDataRequestURLForData:]):
- (-[NSURLRequest _webDataRequestParameters]):
- (-[NSURLRequest _webDataRequestData]):
- (-[NSURLRequest _webDataRequestSetData:]):
- (-[NSURLRequest _webDataRequestEncoding]):
- (-[NSURLRequest _webDataRequestSetEncoding:]):
- (-[NSURLRequest _webDataRequestBaseURL]):
- (-[NSURLRequest _webDataRequestSetBaseURL:]):
- (-[NSURLRequest _webDataRequestExternalRequest]):
- (+[WebDataProtocol load]):
- (+[WebDataProtocol doesURLHaveInternalDataScheme:]):
- (+[WebDataProtocol canHandleURL:]):
- (+[WebDataProtocol canonicalURLForURL:]):
- (-[WebDataProtocol startLoadingWithCacheObject:]):
- (-[WebDataProtocol stopLoading]):
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initialRequest]):
- (-[WebDataSource request]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _commitIfReady:]):
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadRequest:]):
- (-[WebFrame loadString:baseURL:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _addBackForwardItemClippedAtTarget:]):
- (-[WebFrame _transitionToCommitted:]):
- * WebView.subproj/WebFrameViewPrivate.m:
- (-[WebFrameView _makeDocumentViewForDataSource:]):
- * WebView.subproj/WebView.m:
- (+[WebView canShowMIMEType:]):
-
-2003-04-02 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3177183 - disneyland.com says "500 Internal Server Error"
-
- * WebView.subproj/WebUserAgentSpoofTable.gperf: Spoof as Mac IE
- for disney.go.com
- * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
-
-2003-04-02 Richard Williamson <rjw@apple.com>
-
- Reviewed by john.
-
- * WebView.subproj/WebPreferences.h:
- (-[WebPreferences setUserStyleSheetLocation:]): Cleaned up arg and comment.
-
-2003-04-02 Richard Williamson <rjw@apple.com>
-
- Fix for 3200447. Use class_pose to pose so as to avoid
- indirect invocation of appkit class initializers.
-
- Reviewed by darin.
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (+[WebHTMLView load]):
-
-2003-04-02 Richard Williamson <rjw@apple.com>
-
- Removed private headers.
-
- Reviewed by john.
-
- * Misc.subproj/WebKit.h:
-
-2003-04-01 Trey Matteson <trey@apple.com>
-
- 3174227 - aggressive caching of generated pages causes problems with WIKI
-
- We decided to fix half the observed behavior, as all the bad behavior is
- arguably due to a mis-configured server (that sets a max-age=60 on
- all its pages).
-
- The fix is that when a redirect comes in response to a POST we force a
- load from origin, since this is a common technique sites do to prevent
- a post from ending up in the b/f list, and it is very likely you are
- on your way back to look at data that you believe you just edited.
-
- Reviewed by Ken.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadItem:withLoadType:]): Nit cleanup. Remove unused arg.
- (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):
- Same nit cleanup.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
- Force loadFromOrigin if we have a redirect in response to a POST.
- * WebView.subproj/WebResourceLoadDelegate.h:
- Add headerdoc comment for redirectResponse param.
-
-2003-04-01 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3214748 - REGRESSION: After using latest Safari for awhile, can't launch older Safaris (icon db problem)
-
- * Misc.subproj/WebIconDatabase.m:
- Changed icon cache path, since we are breaking compatibility and the old version
- does not support versioning.
- (-[WebIconDatabase _loadIconDictionaries]): Check version.
- (-[WebIconDatabase _updateFileDatabase]): Save version.
-
-2003-04-01 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- NSURLConnectionDelegate is no longer a formal protocol.
-
- NSURLConnection no longer has a loadWithDelegate: method. Loads
- start implicitly at init time. Some clients have been updated
- to call the willSendRequest:redirectResponse: callback manually
- since this callback is no longer sent for initial loads.
-
- * Downloads.subproj/WebDownload.m:
- (-[WebDownload initWithRequest:]):
- (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
- (-[WebDownload loadWithDelegate:]):
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading]):
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate loadWithRequest:]):
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient loadWithRequest:]):
- (-[WebResourceDelegateProxy setDelegate:]):
-
-2003-04-01 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3213918 -- REGRESSION: printing Mapquest directions, screen font is used, causing exception, crashes
- - fixed 3144287 -- CSS with media=print not used when printing
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _opened]): Don't call the reapplyStyles
- method directly here, use setNeedsToApplyStyles instead.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView reapplyStyles]): Pass the appropriate device type here.
- (-[WebHTMLView drawRect:]): Don't call setUsingPrinterFonts:NO at the end of this method
- if we were already using printer fonts at the start. This was the bug fix.
- (-[WebHTMLView _setPrinting:]): Renamed from _setUsingPrinterFonts since this now controls
- the styles used too, not just the fonts.
- (-[WebHTMLView beginDocument]): Updated for _setPrinting name change.
- (-[WebHTMLView endDocument]): Ditto.
- * WebView.subproj/WebHTMLViewPrivate.h: Renamed "usingPrinterFonts" field to "printing".
-
-2003-04-01 Richard Williamson <rjw@apple.com>
-
- Fixed ~2% performance regression problem. The regression
- was caused by the allocation of a forwarder on every
- delegate callback. Modified code to only create forwarders once,
- and reset when delegates change.
-
- Reviewed by Ken.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate setDataSource:]):
- (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
- (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
- (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
- (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
- * WebView.subproj/WebView.m:
- (-[WebView setWindowOperationsDelegate:]):
- (-[WebView setResourceLoadDelegate:]):
- (-[WebView setContextMenuDelegate:]):
- (-[WebView setPolicyDelegate:]):
- (-[WebView setLocationChangeDelegate:]):
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebViewPrivate dealloc]):
- (-[WebView _locationChangeDelegateForwarder]):
- (-[WebView _resourceLoadDelegateForwarder]):
- (-[WebView _cacheResourceLoadDelegateImplementations]):
- (-[WebView _resourceLoadDelegateImplementations]):
- (-[WebView _policyDelegateForwarder]):
- (-[WebView _contextMenuDelegateForwarder]):
- (-[WebView _windowOperationsDelegateForwarder]):
- (-[_WebSafeForwarder forwardInvocation:]):
-
- * API-Issues.rtf:
- Notes to self.
-
-2003-04-01 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Allowed update-alex-localizable-strings
- to sort this file.
-
-2003-03-31 Trey Matteson <trey@apple.com>
-
- 3212724 - bookmarks and history items have screwed up designated inits
-
- and support code for:
- 3116315 - autocomplete needs some prioritization magic
-
- The main changes are adding and maintaining a visitCount to the HistoryItem,
- cleaning up the init methods of HistoryItem. Also lastVisitedDate is now
- set explicitly instead of automatically getting the current date.
-
- Reviewed by John.
-
- * History.subproj/WebHistory.m:
- (-[WebHistory addItemForURL:]): Set lastVisitedDate of new item.
- (-[WebHistory _itemForURLString:]): New helper routine.
- * History.subproj/WebHistoryItem.h: Conform to NSCopying.
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem init]): Behave like a designated initializer.
- (-[WebHistoryItem copyWithZone:]): New.
- (-[WebHistoryItem initWithURL:title:]): Call the designated initializer.
- (-[WebHistoryItem initWithURL:target:parent:title:]): Call the designated initializer.
- Don't blindly init lastVisitedDate.
- (-[WebHistoryItem setLastVisitedDate:]): Update visitCount too.
- (-[WebHistoryItem visitCount]): New getter.
- (-[WebHistoryItem setVisitCount:]): New setter.
- (-[WebHistoryItem _mergeAutoCompleteHints:]): Combine autocomplete info
- of two items. Used when one item replaces another in the history.
- (-[WebHistoryItem dictionaryRepresentation]): Write visitCount.
- (-[WebHistoryItem initFromDictionaryRepresentation:]): Read visitCount.
- * History.subproj/WebHistoryItemPrivate.h:
- * History.subproj/WebHistoryPrivate.h:
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate addItem:]): Merge autocomplete date from old item to new.
- (-[WebHistoryPrivate itemForURLString:]): s/entry/item/
- (-[WebHistoryPrivate containsItemForURLString:]): s/entry/item/
- (-[WebHistoryPrivate containsURL:]): s/entry/item/
- (-[WebHistoryPrivate itemForURL:]): s/entry/item/
- (-[WebHistoryPrivate _loadHistoryGuts:]): Skip history items without visitDate.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]): Update last visitTime when we revisit
- the same URL (since no new history item is created).
-
-2003-03-31 Richard Williamson <rjw@apple.com>
-
- Fixed 3213637. We weren't calling the correct delegate method,
- setStatus: instead of webView:setStatus:
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView status:]):
-
-2003-03-31 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Chris.
-
- - fixed 3210813 - REGRESSION: full size stock chart on etrade shows up empty after viewing mini stock chart
-
- I fixed this by adding a "negative cache" of icon URLs that loaded
- something but failed to yield an icon. This prevents us from
- asking for the site icon over and over, which was messing up the
- session cookie.
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase init]):
- (-[WebIconDatabase iconForURL:withSize:cache:]):
- (-[WebIconDatabase _updateFileDatabase]):
- (-[WebIconDatabase _iconsForIconURLString:]):
- (-[WebIconDatabase _setHaveNoIconForIconURL:]):
- (-[WebIconDatabase _releaseIconForIconURLString:]):
- * Misc.subproj/WebIconDatabasePrivate.h:
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading]):
- (-[WebIconLoader connectionDidFinishLoading:]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _iconLoaderReceivedPageIcon:]):
-
-2003-03-31 Darin Adler <darin@apple.com>
-
- * English.lproj/InfoPlist.strings: Changed "1.0 Beta" to "1.0 Beta 2".
- * WebKit.pbproj/project.pbxproj: Changed "1.0 Beta" to "1.0 Beta 2".
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
- * English.lproj/Localizable.strings: Regenerated (new script, "1.0 Beta 2").
-
-2003-03-31 Richard Williamson <rjw@apple.com>
-
- Reviewed by darin.
-
- * History.subproj/WebHistory.h:
- Added use of WebHistoryItemsKey instead of @"Entries".
-
- * History.subproj/WebHistory.m:(-[WebHistory _sendNotification:entries:]):
- Use WebHistoryItemsKey as key instead of @"Entries".
-
- * History.subproj/WebHistoryItem.m: (-[WebHistoryItem init]):
- Fix double allocation of WebHistoryPrivate.
-
- * WebKit/WebKit.exp
- Added export for WebHistoryItemsKey
-
- * WebKit/API-Issues.rtf
- Notes.
-
-2003-03-31 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - improved default behaviors in window operations delegate
-
- * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
- (-[WebDefaultWindowOperationsDelegate webViewShowWindowBehindFrontmost:]): Removed unused method.
- (-[WebDefaultWindowOperationsDelegate webViewCloseWindow:]): Added default implementation, calls close on window.
- (-[WebDefaultWindowOperationsDelegate webViewFocusWindow:]): Added default implementation, makeKeyAndOrderFront.
- (-[WebDefaultWindowOperationsDelegate webViewUnfocusWindow:]): Added default implementation, uses _cycleWindowsReversed as needed.
- (-[WebDefaultWindowOperationsDelegate webViewFirstResponderInWindow:]): Added default implementation, calls firstResponder.
- (-[WebDefaultWindowOperationsDelegate webView:makeFirstResponderInWindow:]): Added default implementation, calls makeFirstResponder.
- (-[WebDefaultWindowOperationsDelegate webViewIsResizable:]): Added default implementation, calls showsResizeIndicator.
- (-[WebDefaultWindowOperationsDelegate webView:setResizable:]): Added default implementation, calls setShowsResizeIndicator.
- (-[WebDefaultWindowOperationsDelegate webView:setFrame:]): Use display:YES, not display:NO.
- (-[WebDefaultWindowOperationsDelegate webViewFrame:]): Return NSZeroRect if window is nil instead of random garbage.
- (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Use display:YES, not display:NO.
- (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Return NSZeroRect if window is nil instead of random garbage.
- (-[WebDefaultWindowOperationsDelegate webView: runJavaScriptAlertPanelWithMessage:]): Added a FIXME because we should have a default implementation here.
- (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]): Ditto.
- (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]): Put a default implementation here.
- (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]): Added a FIXME because we should have a default implementation here.
-
-2003-03-29 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3178058 - Plug-ins are stopped/reloaded when switching tabs
- Made the "Enable plug-ins" preference toggle in real-time again.
-
- No events including null events are sent when a plug-in is in a non-frontmost tab. This causes Flash movies to pause (which is nice) and QT movies to continue to play.
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): use the current window, clip out the plug-in when not in an actual window
- (-[WebBaseNetscapePluginView restorePortState:]): use the current window
- (-[WebBaseNetscapePluginView sendEvent:]): added asserts
- (-[WebBaseNetscapePluginView sendActivateEvent:]): tweak
- (-[WebBaseNetscapePluginView sendNullEvent]): tweak
- (-[WebBaseNetscapePluginView restartNullEvents]): tweak
- (-[WebBaseNetscapePluginView isInResponderChain]): tweak
- (-[WebBaseNetscapePluginView performKeyEquivalent:]): tweak
- (-[WebBaseNetscapePluginView canStart]): new, implemented by subclasses
- (-[WebBaseNetscapePluginView didStart]): new, implemented by subclasses
- (-[WebBaseNetscapePluginView addWindowObservers]): new
- (-[WebBaseNetscapePluginView removeWindowObservers]): new
- (-[WebBaseNetscapePluginView start]): check pref, call canStart, addWindowObservers and didStart
- (-[WebBaseNetscapePluginView stop]): call removeWindowObservers
- (-[WebBaseNetscapePluginView currentWindow]): new, returns the actual window else the host window
- (-[WebBaseNetscapePluginView initWithFrame:]): observer pref change notifications
- (-[WebBaseNetscapePluginView dealloc]): call removeObserver
- (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): stop if there is no host window
- (-[WebBaseNetscapePluginView viewDidMoveToWindow]): start if we moved to a window
- (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]): stop if there will be no windows
- (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]): start if there is a window
- (-[WebBaseNetscapePluginView preferencesHaveChanged:]): renamed, start or stop
- (-[WebBaseNetscapePluginView destroyStream:reason:]): tweak
- (-[NSData _web_locationAfterFirstBlankLine]): tweak
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView initWithFrame:]): call setAutoresizingMask here
- (-[WebNetscapePluginDocumentView canStart]): new, return YES if there is a data source
- (-[WebNetscapePluginDocumentView didStart]): redeliver the stream if there is any data
- (-[WebNetscapePluginDocumentView setDataSource:]): start if there is a current window
- (-[WebNetscapePluginDocumentView layout]): no need to call setWindow, this is done in the superclass
- (-[WebNetscapePluginDocumentView viewWillMoveToHostWindow:]): forward to super to make compiler happy
- (-[WebNetscapePluginDocumentView viewDidMoveToHostWindow]): forward to super to make compiler happy
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView didStart]): start the load
- (-[WebNetscapePluginEmbeddedView dataSource]): tweak
- * WebView.subproj/WebDocument.h: added viewWillMoveToHostWindow: and viewDidMoveToHostWindow
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _viewWillMoveToHostWindow:]): forward to document view and subframes
- (-[WebFrame _viewDidMoveToHostWindow]): forward to document view and subframes
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView viewWillMoveToHostWindow:]): forward to plug-in views
- (-[WebHTMLView viewDidMoveToHostWindow]): forward to plug-in views
- (-[NSArray _web_makePluginViewsPerformSelector:withObject:]): new
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _reset]): don't stop plug-ins here. WebBaseNetscapePluginView can handle that
- * WebView.subproj/WebImageView.m:
- (-[WebImageView viewWillMoveToHostWindow:]): implement new WebDocumentView methods
- (-[WebImageView viewDidMoveToHostWindow]): implement new WebDocumentView methods
- * WebView.subproj/WebTextView.m:
- (-[WebTextView viewWillMoveToHostWindow:]): implement new WebDocumentView methods
- (-[WebTextView viewDidMoveToHostWindow]): implement new WebDocumentView methods
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView setHostWindow:]): new
- (-[WebView hostWindow]): new
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebViewPrivate dealloc]): release the host window
-
-2003-03-31 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge nextKeyViewOutsideWebFrameViews]): Get next key view from WebView, only using
- the top level WebFrameView if the WebView doesn't have one set (for compatibility in case
- some of our current WebKit clients are using this).
- (-[WebBridge previousKeyViewOutsideWebFrameViews]): Ditto.
-
-2003-03-31 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3211730 -- REGRESSION: Flash spawns blank page then loads new page inside banner itself
-
- * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]):
- Load the request in the frame we found or created, not always in our own frame (oops!).
-
- - other changes
-
- * History.subproj/WebHistory.h: Update comments to all say "Item" instead of "Entry".
- They didn't match the method names any more.
-
- * WebView.subproj/WebView.m:
- (-[WebView acceptsFirstResponder]): Return YES.
- (-[WebView becomeFirstResponder]): Pass first responder on to the WebFrameView in the same way
- the WebFrameView passes it on to the document view.
-
-2003-03-30 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3204257 - CNN's 'war on iraq' ticker stops on mouseover
-
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _updateMouseoverWithEvent:]): When leaving an HTML
- view, tell it that the mouse moved outside everything in the view,
- even accounting for scrolled off portions (otherwise khtml gets
- confused). This makes cross-frame mouse enter/leave work properly.
- (-[WebHTMLView _clearLastHitViewIfSelf]): Method to clear last hit view,
- so we don't need to retain it.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView dealloc]): Call _clearLastHitViewIfSelf.
-
-2003-03-28 Richard Williamson <rjw@apple.com>
-
- Fix typo in comments that broke headerdoc.
-
- * WebView.subproj/WebWindowOperationsDelegate.h:
-
-2003-03-28 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Imports NSURLConnection private header to access NSURLConnection code
- that did not make the API cut.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- * WebView.subproj/WebMainResourceClient.m:
-
-2003-03-28 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Trey
-
- NSURLConnection class method changed name:
- canInitWithRequest: -> canHandleRequest:
-
- Moved to API-approved model for synchronous loads.
- Removed fixme I put in yesterday having to do with
- reposting form data. The feature is fully functional
- again.
-
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadItem:fromItem:withLoadType:]):
- (-[WebFrame _continueAfterNavigationPolicy:]):
-
-2003-03-28 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Cosmetic change. Instances of 'resource' as a local variable
- name have been changed to 'connection'. Some other changes
- related to this cosmetic cleanup were done as well.
-
- As part of this change, I needed to change some 'connection'
- method arguments to 'con' to avoid the name conflict now
- that instance variables are named .connection'.
-
- * Downloads.subproj/WebDownload.m:
- (-[WebDownloadPrivate dealloc]):
- (-[WebDownload initWithRequest:]):
- (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
- (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
- (-[WebDownload loadWithDelegate:]):
- (-[WebDownload _downloadEnded]):
- (-[WebDownload _cancelWithError:]):
- * Downloads.subproj/WebDownloadPrivate.h:
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream connection:didReceiveResponse:]):
- (-[WebNetscapePluginStream connection:didReceiveData:]):
- (-[WebNetscapePluginStream connectionDidFinishLoading:]):
- (-[WebNetscapePluginStream connection:didFailLoadingWithError:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]):
- (-[WebSubresourceClient connection:didReceiveResponse:]):
- (-[WebSubresourceClient connection:didReceiveData:]):
- (-[WebSubresourceClient connectionDidFinishLoading:]):
- (-[WebSubresourceClient connection:didFailLoadingWithError:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate _releaseResources]):
- (-[WebBaseResourceHandleDelegate startLoading:]):
- (-[WebBaseResourceHandleDelegate loadWithRequest:]):
- (-[WebBaseResourceHandleDelegate setDefersCallbacks:]):
- (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
- (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
- (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
- (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
- (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]):
- (-[WebBaseResourceHandleDelegate cancelWithError:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedError:]):
- (-[WebMainResourceClient cancelWithError:]):
- (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient connection:didReceiveResponse:]):
- (-[WebMainResourceClient connection:didReceiveData:]):
- (-[WebMainResourceClient connectionDidFinishLoading:]):
- (-[WebMainResourceClient connection:didFailLoadingWithError:]):
- (-[WebMainResourceClient startLoading:]):
-
-2003-03-28 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Changed names for URL connection callback methods to
- use the API-approved names. No functional changes.
-
- * Downloads.subproj/WebDownload.h:
- * Downloads.subproj/WebDownload.m:
- (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
- (-[WebDownload connection:willSendRequest:redirectResponse:]):
- (-[WebDownload connection:didReceiveResponse:]):
- (-[WebDownload connection:didReceiveData:]):
- (-[WebDownload connectionDidFinishLoading:]):
- (-[WebDownload connection:didFailLoadingWithError:]):
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader connectionDidFinishLoading:]):
- (-[WebIconLoader connection:willSendRequest:redirectResponse:]):
- (-[WebIconLoader connection:didReceiveResponse:]):
- (-[WebIconLoader connection:didReceiveData:]):
- (-[WebIconLoader connection:didFailLoadingWithError:]):
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream connection:didReceiveResponse:]):
- (-[WebNetscapePluginStream connection:didReceiveData:]):
- (-[WebNetscapePluginStream connectionDidFinishLoading:]):
- (-[WebNetscapePluginStream connection:didFailLoadingWithError:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient connection:willSendRequest:redirectResponse:]):
- (-[WebSubresourceClient connection:didReceiveResponse:]):
- (-[WebSubresourceClient connection:didReceiveData:]):
- (-[WebSubresourceClient connectionDidFinishLoading:]):
- (-[WebSubresourceClient connection:didFailLoadingWithError:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate connection:willSendRequest:redirectResponse:]):
- (-[WebBaseResourceHandleDelegate connection:didReceiveResponse:]):
- (-[WebBaseResourceHandleDelegate connection:didReceiveData:]):
- (-[WebBaseResourceHandleDelegate connectionDidFinishLoading:]):
- (-[WebBaseResourceHandleDelegate connection:didFailLoadingWithError:]):
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedError:]):
- (-[WebMainResourceClient connection:willSendRequest:redirectResponse:]):
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient connection:didReceiveResponse:]):
- (-[WebMainResourceClient connection:didReceiveData:]):
- (-[WebMainResourceClient connectionDidFinishLoading:]):
- (-[WebMainResourceClient connection:didFailLoadingWithError:]):
- (-[WebMainResourceClient startLoading:]):
- (-[WebResourceDelegateProxy connection:willSendRequest:redirectResponse:]):
- (-[WebResourceDelegateProxy connection:didReceiveResponse:]):
- (-[WebResourceDelegateProxy connection:didReceiveData:]):
- (-[WebResourceDelegateProxy connectionDidFinishLoading:]):
- (-[WebResourceDelegateProxy connection:didFailLoadingWithError:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
-
-2003-03-27 Chris Blumenberg <cblu@apple.com>
-
- Left out a "!" in my last check-in.
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
-
-
-2003-03-27 Chris Blumenberg <cblu@apple.com>
-
- - Allow Netscape plug-ins that don't have resource files to load in Safari.
- - Added more error handling when loading plug-ins.
-
- Reviewed by darin.
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
-
-2003-03-27 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3192344 - nil-deref in KWin::info scrolling amazon while other shopping tabs load
- - fixed 3098365 - Default window size changes as a result of popup windows
- - fixed 3189291 - javascript window.close() closes window, not just originating tab
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge setWindowIsResizable:]): New bridge method, implemented
- by calling window operations delegate.
- (-[WebBridge windowIsResizable]): Likewise.
- (-[WebBridge firstResponder]): Likewise.
- (-[WebBridge makeFirstResponder:]): Likewise.
- (-[WebBridge closeWindow]): Likewise.
-
-2003-03-27 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Changed WebResource to NSURLConnection. Some other "supporting" names
- changed as well. Note that there are no functional modifications,
- only name changes.
-
- * Downloads.subproj/WebDownload.m:
- (-[WebDownload initWithRequest:]):
- (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
- (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
- (-[WebDownload loadWithDelegate:]):
- (-[WebDownload resource:willSendRequest:]):
- (-[WebDownload resource:didReceiveResponse:]):
- (-[WebDownload resource:didReceiveData:]):
- (-[WebDownload resourceDidFinishLoading:]):
- (-[WebDownload resource:didFailLoadingWithError:]):
- * Downloads.subproj/WebDownloadPrivate.h:
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading]):
- (-[WebIconLoader resourceDidFinishLoading:]):
- (-[WebIconLoader resource:willSendRequest:]):
- (-[WebIconLoader resource:didReceiveResponse:]):
- (-[WebIconLoader resource:didReceiveData:]):
- (-[WebIconLoader resource:didFailLoadingWithError:]):
- * Plugins.subproj/WebNetscapePluginStream.h:
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
- (-[WebNetscapePluginStream resource:didReceiveResponse:]):
- (-[WebNetscapePluginStream resource:didReceiveData:]):
- (-[WebNetscapePluginStream resourceDidFinishLoading:]):
- (-[WebNetscapePluginStream resource:didFailLoadingWithError:]):
- * WebCoreSupport.subproj/WebBridge.m:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient resource:willSendRequest:]):
- (-[WebSubresourceClient resource:didReceiveResponse:]):
- (-[WebSubresourceClient resource:didReceiveData:]):
- (-[WebSubresourceClient resourceDidFinishLoading:]):
- (-[WebSubresourceClient resource:didFailLoadingWithError:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate loadWithRequest:]):
- (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
- (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
- (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
- (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
- (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueAfterNavigationPolicy:]):
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient resource:willSendRequest:]):
- (-[WebMainResourceClient resource:didReceiveResponse:]):
- (-[WebMainResourceClient resource:didReceiveData:]):
- (-[WebMainResourceClient resourceDidFinishLoading:]):
- (-[WebMainResourceClient resource:didFailLoadingWithError:]):
- (-[WebResourceDelegateProxy setDelegate:]):
- (-[WebResourceDelegateProxy resource:willSendRequest:]):
- (-[WebResourceDelegateProxy resource:didReceiveResponse:]):
- (-[WebResourceDelegateProxy resource:didReceiveData:]):
- (-[WebResourceDelegateProxy resourceDidFinishLoading:]):
- (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]):
- * WebView.subproj/WebPolicyDelegate.h:
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.m:
-
-2003-03-27 Richard Williamson <rjw@apple.com>
-
- API change: WebHistory initWithFile: -> initWithContentsOfURL:
-
- Reviewed by Ken.
-
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
- (-[WebHistory initWithContentsOfURL:]):
- (-[WebHistory URL]):
- * History.subproj/WebHistoryPrivate.h:
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate initWithContentsOfURL:]):
- (-[WebHistoryPrivate dealloc]):
- (-[WebHistoryPrivate _loadHistoryGuts:]):
- (-[WebHistoryPrivate loadHistory]):
- (-[WebHistoryPrivate _saveHistoryGuts:]):
- (-[WebHistoryPrivate URL]):
- (-[WebHistoryPrivate saveHistory]):
-
-2003-03-27 Darin Adler <darin@apple.com>
-
- Reviewed by Shelley.
-
- - fixed 3157067 -- Pier1.com doesn't load; Microsoft VBScript runtime error in user-agent checking code
-
- Besides this fix, I also filed an evangelism bug, bug 3210612.
-
- * WebView.subproj/WebUserAgentSpoofTable.gperf: Added pier1.com.
- * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
-
-2003-03-27 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Trey
-
- Moved to final NSURLResponse and NSHTTPURLResponse API.
-
- * Downloads.subproj/WebDownload.m:
- * Misc.subproj/WebNSURLResponseExtras.m:
- (-[NSURLResponse suggestedFilenameForSaving]):
- (-[NSHTTPURLResponse suggestedFilenameForSaving]):
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setResponse:]):
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _representationClass]):
- (-[WebDataSource _commitIfReady:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _opened]):
- (-[WebFrame _loadItem:fromItem:withLoadType:]):
- * WebView.subproj/WebFrameViewPrivate.m:
- (-[WebFrameView _makeDocumentViewForDataSource:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient checkContentPolicyForResponse:]):
- (-[WebMainResourceClient resource:didReceiveResponse:]):
- (-[WebMainResourceClient startLoading:]):
- * WebView.subproj/WebTextRepresentation.m:
- (-[WebTextRepresentation setDataSource:]):
- * WebView.subproj/WebTextView.m:
- (-[WebTextView dataSourceUpdated:]):
-
-=== Safari-69 ===
-
-2003-03-26 Richard Williamson <rjw@apple.com>
-
- File name change WebPluginError.[hm] -> WebPlugInError.[hm]
-
- * Misc.subproj/WebKit.h:
- * Plugins.subproj/WebNullPluginView.m:
- * Plugins.subproj/WebPlugInError.h:
- * Plugins.subproj/WebPluginError.h: Removed.
- * Plugins.subproj/WebPluginError.m: Removed.
- * Plugins.subproj/WebPluginErrorPrivate.h:
- * WebKit.pbproj/project.pbxproj:
-
-2003-03-26 Richard Williamson <rjw@apple.com>
-
- WebPreferences API changes:
-
- JavaScriptCanOpenWindowsAutomatically -> javaScriptCanOpenWindowsAutomatically
- setJavaScriptCanOpenWindowsAutomatically -> setJavaScriptCanOpenWindowsAutomatically
- willLoadImagesAutomatically -> loadsImagesAutomatically
- setWillLoadImagesAutomatically -> setLoadsImagesAutomatically
- JavaEnabled -> isJavaEnabled
- setJavaEnabled -> setIsJavaEnabled
- JavaScriptEnabled -> isJavaScriptEnabled
- setJavaScriptEnabled -> setIsJavaScriptEnabled
- pluginsEnabled -> arePlugInsEnabled
- setPluginsEnabled -> setArePlugInsEnabled
- allowAnimatedImageLooping -> allowsAnimatedImageLooping
- setAllowAnimatedImageLooping -> setAllowsAnimatedImageLooping
- allowAnimatedImages -> allowsAnimatedImages
- setAllowAnimatedImages -> setAllowsAnimatedImages
-
- Made WebHistoryItem's ivars private.
-
- WebPluginError API changes:
-
- pluginPageURL -> plugInPageURLString
- contentURL -> contentURLString
-
- Reviewed by cblu.
-
- * API-Issues.rtf:
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItemPrivate dealloc]):
- (-[WebHistoryItem init]):
- (-[WebHistoryItem dealloc]):
- (-[WebHistoryItem URLString]):
- (-[WebHistoryItem originalURLString]):
- (-[WebHistoryItem title]):
- (-[WebHistoryItem setDisplayTitle:]):
- (-[WebHistoryItem icon]):
- (-[WebHistoryItem lastVisitedDate]):
- (-[WebHistoryItem hash]):
- (-[WebHistoryItem anchor]):
- (-[WebHistoryItem isEqual:]):
- (-[WebHistoryItem description]):
- (-[WebHistoryItem _retainIconInDatabase:]):
- (-[WebHistoryItem initWithURL:target:parent:title:]):
- (-[WebHistoryItem URL]):
- (-[WebHistoryItem target]):
- (-[WebHistoryItem parent]):
- (-[WebHistoryItem setURL:]):
- (-[WebHistoryItem setOriginalURLString:]):
- (-[WebHistoryItem setTitle:]):
- (-[WebHistoryItem setTarget:]):
- (-[WebHistoryItem setParent:]):
- (-[WebHistoryItem setLastVisitedDate:]):
- (-[WebHistoryItem documentState]):
- (-[WebHistoryItem scrollPoint]):
- (-[WebHistoryItem setScrollPoint:]):
- (-[WebHistoryItem setAnchor:]):
- (-[WebHistoryItem isTargetItem]):
- (-[WebHistoryItem setIsTargetItem:]):
- (-[WebHistoryItem _recurseToFindTargetItem]):
- (-[WebHistoryItem targetItem]):
- (-[WebHistoryItem formData]):
- (-[WebHistoryItem setFormData:]):
- (-[WebHistoryItem formContentType]):
- (-[WebHistoryItem setFormContentType:]):
- (-[WebHistoryItem formReferrer]):
- (-[WebHistoryItem setFormReferrer:]):
- (-[WebHistoryItem children]):
- (-[WebHistoryItem addChildItem:]):
- (-[WebHistoryItem childItemWithName:]):
- (-[WebHistoryItem dictionaryRepresentation]):
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
- (-[WebHistoryItem alwaysAttemptToUsePageCache]):
- (-[WebHistoryItem _scheduleRelease]):
- (-[WebHistoryItem setHasPageCache:]):
- (-[WebHistoryItem pageCache]):
- * Plugins.subproj/WebPluginError.h:
- * Plugins.subproj/WebPluginError.m:
- (-[WebPlugInError plugInPageURLString]):
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences isJavaEnabled]):
- (-[WebPreferences setIsJavaEnabled:]):
- (-[WebPreferences isJavaScriptEnabled]):
- (-[WebPreferences setIsJavaScriptEnabled:]):
- (-[WebPreferences javaScriptCanOpenWindowsAutomatically]):
- (-[WebPreferences arePlugInsEnabled]):
- (-[WebPreferences setArePlugInsEnabled:]):
- (-[WebPreferences allowsAnimatedImages]):
- (-[WebPreferences allowsAnimatedImageLooping]):
- (-[WebPreferences setAllowsAnimatedImageLooping:]):
- (-[WebPreferences setLoadsImagesAutomatically:]):
- (-[WebPreferences loadsImagesAutomatically]):
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
-
-2003-03-26 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Changed WebResponse to NSURLResponse. Some other "supporting" names
- changed as well. Note that there are no functional modifications,
- only name changes.
-
- * Downloads.subproj/WebDownload.h:
- * Downloads.subproj/WebDownload.m:
- (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
- (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
- (-[WebDownload _setResponse:]):
- (-[WebDownload resource:didReceiveResponse:]):
- * Downloads.subproj/WebDownloadPrivate.h:
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader resource:didReceiveResponse:]):
- * Misc.subproj/WebKit.h:
- * Plugins.subproj/WebBaseNetscapePluginStream.h:
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setResponse:]):
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream resource:didReceiveResponse:]):
- * WebCoreSupport.subproj/WebBridge.m:
- * WebCoreSupport.subproj/WebSubresourceClient.h:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (-[WebSubresourceClient resource:didReceiveResponse:]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource response]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setResponse:]):
- (-[WebDataSource _commitIfReady:]):
- (-[WebDataSource _addResponse:]):
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _opened]):
- * WebView.subproj/WebFrameViewPrivate.m:
- * WebView.subproj/WebHTMLRepresentation.m:
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient continueAfterContentPolicy:]):
- (-[WebMainResourceClient checkContentPolicyForResponse:]):
- (-[WebMainResourceClient resource:didReceiveResponse:]):
- (-[WebMainResourceClient startLoading:]):
- (-[WebResourceDelegateProxy resource:didReceiveResponse:]):
- * WebView.subproj/WebPolicyDelegate.h:
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebTextRepresentation.m:
- * WebView.subproj/WebTextView.m:
-
-2003-03-26 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2003-03-26 Darin Adler <darin@apple.com>
-
- Reviewed by Trey.
-
- - fixed 3209091 -- REGRESSION: WebFrameView leak (world leak)
-
- * WebView.subproj/WebView.m:
- (-[WebView _commonInitialization:frameName:groupName:]): Use copy, not retain,
- on an incoming NSString parameter.
- (-[WebView initWithFrame:frameName:groupName:]): Release the WebFrameView after
- setting it up.
-
- - other changes
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
- Put the bug workaround here inside an ifdef so we don't compile it in on Panther.
-
-2003-03-26 Chris Blumenberg <cblu@apple.com>
-
- Use the private _cfBundle method on NSBundle so we only create 1 bundle per plug-in package class.
-
- Reviewed by trey.
-
- * Plugins.subproj/WebBasePluginPackage.h:
- * Plugins.subproj/WebBasePluginPackage.m:
- (-[WebBasePluginPackage initWithPath:]):
- (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]):
- (-[WebBasePluginPackage dealloc]):
- * Plugins.subproj/WebNetscapePluginPackage.h:
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage openResourceFile]):
- (-[WebNetscapePluginPackage closeResourceFile:]):
- (-[WebNetscapePluginPackage getPluginInfoFromPLists]):
- (-[WebNetscapePluginPackage initWithPath:]):
- (-[WebNetscapePluginPackage load]):
- (-[WebNetscapePluginPackage unload]):
- * Plugins.subproj/WebPluginPackage.m:
- (-[WebPluginPackage initWithPath:]):
- (-[WebPluginPackage viewFactory]):
- (-[WebPluginPackage load]):
- (-[WebPluginPackage isLoaded]):
-
-2003-03-26 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Maciej
-
- Finished conversion to NSMutableURLRequest. HTTP-specific
- mutator methods are now properly placed on an HTTP
- category of NSMutableURLRequest. All client code has
- been updated to use NSMutableURLRequest where appropriate.
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient resource:willSendRequest:]):
-
-2003-03-25 Richard Williamson <rjw@apple.com>
-
- Changed use of plugin to plugIn in our public API
- as instructed by those that must be obeyed.
-
- Reviewed by Trey.
-
- Changed userStyleSheetLocation to take/pass an NSURL.
-
- Reviewed by Chris
-
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebNullPluginView.h:
- * Plugins.subproj/WebNullPluginView.m:
- (-[WebNullPluginView viewDidMoveToWindow]):
- * Plugins.subproj/WebPluginError.h:
- * Plugins.subproj/WebPluginError.m:
- (-[WebPlugInError plugInPageURL]):
- (-[WebPlugInError plugInName]):
- * Plugins.subproj/WebPluginErrorPrivate.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
- (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate webView:plugInFailedWithError:dataSource:]):
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences userStyleSheetLocation]):
- (-[WebPreferences setUserStyleSheetLocation:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
-
- * API-Issues.rtf: notes to self
-
-2003-03-25 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3135385 - many file types don't work with the QuickTime plugin in Safari
-
- Reviewed by trey.
-
- * Plugins.subproj/WebBasePluginPackage.h:
- * Plugins.subproj/WebBasePluginPackage.m:
- (+[WebBasePluginPackage pluginWithPath:]): tweak
- (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]): moved up from WebNetscapePluginPackage
- (-[WebBasePluginPackage initWithPath:]): retain path, create bundle so subclasses don't have to do this work
- (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]): was getMIMEInformation from WebPluginPackage
- (-[WebBasePluginPackage dealloc]): release the bundle
- (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]): tweak
- * Plugins.subproj/WebNetscapePluginPackage.h:
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (+[WebNetscapePluginPackage preferredLocalizationName]): new
- (-[WebNetscapePluginPackage openResourceFile]): tweak
- (-[WebNetscapePluginPackage closeResourceFile:]): tweak
- (-[WebNetscapePluginPackage stringForStringListID:andIndex:]): tweak
- (-[WebNetscapePluginPackage getPluginInfoFromResources]): was getMIMEInformation
- (-[WebNetscapePluginPackage pListForPath:createFile:]): new, calls BP_CreatePluginMIMETypesPreferences if createFile==YES
- (-[WebNetscapePluginPackage getPluginInfoFromPLists]): calls getPluginInfoFromBundleAndMIMEDictionary with the MIME dictionary from the user's home dir.
- (-[WebNetscapePluginPackage initWithPath:]): have the superclass do some initialization, call getPluginInfoFromPLists and/or getPluginInfoFromResources
- (-[WebNetscapePluginPackage executableType]): tweak
- (-[WebNetscapePluginPackage load]): get the BP_CreatePluginMIMETypesPreferences symbol
- (-[WebNetscapePluginPackage unload]): tweak
- (-[WebNetscapePluginPackage dealloc]): tweak
- * Plugins.subproj/WebPluginPackage.h:
- * Plugins.subproj/WebPluginPackage.m:
- (-[WebPluginPackage initWithPath:]): have the superclass do some initialization, call getPluginInfoFromBundleAndMIMEDictionary
- (-[WebPluginPackage viewFactory]): tweak
- (-[WebPluginPackage load]): call principalClass
- (-[WebPluginPackage isLoaded]): tweak
- * Plugins.subproj/npapi.h: added declaration for the BP_CreatePluginMIMETypesPreferences function pointer.
-
-2003-03-25 John Sullivan <sullivan@apple.com>
-
- - WebKit part of fix for 3141794 -- No scroll bar for the
- "collections" column of the bookmarks window
-
- Reviewed by Darin.
-
- * WebView.subproj/WebDynamicScrollBarsView.h:
- replaced disallowsScrolling boolean ivar with separate booleans for
- disallowHorizontalScrolling and disallowVerticalScrolling
-
- * WebView.subproj/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]):
- take the two disallow booleans into account separately
- (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]),
- (-[WebDynamicScrollBarsView allowsHorizontalScrolling]),
- (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]),
- (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
- new methods, do the obvious
- (-[WebDynamicScrollBarsView setAllowsScrolling:]):
- changed to set both ivars
- (-[WebDynamicScrollBarsView allowsScrolling]):
- changed to return YES if scrolling is allowed in either direction
-
- * WebKit.exp: exported symbol for WebDynamicScrollBarsView class name
-
-2003-03-25 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Richard
-
- Fixed a bug that could occur in the new immutable/mutable
- request scheme. When opening a javascript window, it was
- possible for a request passed as a method argument to be
- released during the course of a method, particularly
- after that request was passed to willSendRequest:.
- The solution is to ask the data source for its current
- request rather than using the one stored in the method
- argument.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient startLoading:]):
-
-2003-03-24 Trey Matteson <trey@apple.com>
-
- Pass -seg_addr_table_filename <FILENAME> to ld. This makes our frameworks in
- SYMROOT actually work for symbol resolution because they will have the correct
- prebinding address. It also fixes obscure B&I problems with prebinding
- reported by Matt Reda.
-
- Note the reason all this is tricky for our projects is that we have a different
- install location for Jaguar and Panther. The purpose of this arg is to declare
- at link time our eventual location, which allows the prebinding address to be
- found in /AppleInternal/Developer/seg_addr_table. We use a funky back-tick
- expression within OTHER_LDFLAGS to get a conditional value depending on the
- build train we are in.
-
- This can all go away once we only build on Panther and don't embed the
- frameworks inside the Safari.app wrapper.
-
- In addition I fixed the OTHER_LDFLAGS settings in our build styles to be
- additive instead of overriding, so we have the args we used for B&I in force
- when building outside of B&I.
-
- Reviewed by Maciej.
-
- * WebKit.pbproj/project.pbxproj:
-
-2003-03-25 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Updated to use NSMutableURLRequest where appropriate.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView requestWithURLCString:]):
- (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithRequest:]):
- (-[WebDataSource request]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setURL:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadRequest:]):
- (-[WebFrame reload]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadItem:fromItem:withLoadType:]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
-
-2003-03-25 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3205745 -- WebKit.framework's Localizable.strings file contains high ASCII in the Key definition.
-
- * English.lproj/Localizable.strings: Regenerated with the new version of the
- extract-localizable-strings tool that uses \U syntax instead of "high ASCII".
-
- - changed cursive font back to "Apple Chancery" for now
-
- * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]): Change to "Apple Chancery".
- * English.lproj/StringsNotToBeLocalized.txt: Update for above change.
-
-2003-03-24 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- - fixed 3206803 -- REGRESSION: Lucida Handwriting font doesn't work
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (acceptableChoice): Added. Returns NO if the weight/traits are no good.
- (betterChoice): Added. Returns YES if the new weight/traits are better than the old.
- (-[WebTextRendererFactory fontWithFamily:traits:size:]): Use the new functions to judge which
- font is good enough. Now it will accept an italic font if that's all we have.
-
- - fixed 3206904 -- use "Lucida Handwriting" for "cursive" so it works on systems without Classic
-
- * WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]):
- Change default from "Apple Chancery" to "Lucida Handwriting".
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for this change.
-
-2003-03-24 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- - made API (actually doc-only) changes needed for 3087535 -
- bugzilla queries come back as downloaded files
-
- * Downloads.subproj/WebDownload.h: Documented that
- download:didReceiveResponse: may be sent more than once.
- * WebView.subproj/WebLocationChangeDelegate.h: Documented that
- locationChangeCommittedForDataSource: may be sent more than once.
- * WebView.subproj/WebPolicyDelegate.h: Documented that
- decideContentPolicyForMIMEType:andRequest:inFrame: may be sent
- more than once.
- * WebView.subproj/WebResourceLoadDelegate.h: Documented that
- resource:didReceiveResponse:fromDataSource: may be sent more than
- once.
-
-2003-03-24 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3083339 - significant top and side margin appended to new windows
-
- Part of the fix involves adding new window operation delegate methods.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge setWindowFrame:]): Tweaked code a bit.
- (-[WebBridge windowFrame]): Added.
- (-[WebBridge setWindowContentRect:]): Added.
- (-[WebBridge windowContentRect]): Added.
- * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
- (-[WebDefaultWindowOperationsDelegate webView:setContentRect:]): Implemented.
- (-[WebDefaultWindowOperationsDelegate webViewContentRect:]): Likewise.
- * WebView.subproj/WebWindowOperationsDelegate.h:
-
-2003-03-24 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3155489 - Seed: PostScript files display instead of downloading, often as a blank page
- Fixed: 3106251 - quicken file not downloaded, can't save manually
-
- Reviewed by trey.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (+[WebDataSource _repTypes]): call [WebImageView supportedImageMIMETypes]
- * WebView.subproj/WebFrameViewPrivate.m:
- (+[WebFrameView _viewTypes]): call [WebImageView supportedImageMIMETypes]
- * WebView.subproj/WebImageView.h:
- * WebView.subproj/WebImageView.m:
- (+[WebImageView initialize]): was -initialize (oops)
- (+[WebImageView unsupportedImageMIMETypes]): new, AppKit images that we shouldn't display inline, includes ps and pdf
- (+[WebImageView supportedImageMIMETypes]): new, was in WebViewPrivate
- * WebView.subproj/WebTextView.h:
- * WebView.subproj/WebTextView.m:
- (+[WebTextView unsupportedTextMIMETypes]): renamed, added text/qif (quicken)
- * WebView.subproj/WebView.m:
- (+[WebView canShowMIMEType:]): call [WebTextView unsupportedTextMIMETypes]
- * WebView.subproj/WebViewPrivate.h: removed _supportedImageMIMETypes
- * WebView.subproj/WebViewPrivate.m: removed _supportedImageMIMETypes
-
-2003-03-24 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by hyatt.
-
- Moved closer to target API for NSURLRequest. Merged in
- final names for immutable and mutable versions of this
- class and its HTTP category. The next step will be to
- actually make the split between immutable/mutable
- variants of NSURLRequest.
-
- In WebKit, this amounts to name changes only.
-
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading]):
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]):
- (-[WebBridge incomingReferrer]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame reload]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _createItem]):
- (-[WebFrame _loadItem:fromItem:withLoadType:]):
- (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient resource:willSendRequest:]):
-
-2003-03-22 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3203869 -- Monaco 9 looks different in Safari than in TextEdit (uses outline instead of bitmap)
-
- * Misc.subproj/WebKitNSStringExtras.m: (-[NSString _web_widthWithFont:]):
- Pass usingPrinterFont:NO, since this is used exclusively for on-screen text, not printing.
- * Misc.subproj/WebStringTruncator.m: (truncateString): Ditto.
-
- * WebCoreSupport.subproj/WebTextRenderer.h: Add usingPrinterFont boolean field and parameter to init.
- * WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:forScreen:]):
- Add usingPrinterFont parameter, and get the screen font if it's NO, also store the boolean
- for later use.
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding: attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
- Pass the usingPrinterFont parameter through when getting a substitute font.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.h: Add separate caches for screen and printing text
- renderers. Add usingPrinterFont parameter to our rendererWithFont: method (the one inherited from WebCore
- still has no parameter).
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory init]): Create both caches.
- (-[WebTextRendererFactory dealloc]): Release both caches.
- (-[WebTextRendererFactory rendererWithFont:]): Call the new rendererWithFont:usingPrinterFont: method,
- passing usingPrinterFonts from the WebCore side. Thus any fonts fetched by WebCore during printing
- are printing fonts, and otherwise they are screen fonts.
- (-[WebTextRendererFactory rendererWithFont:usingPrinterFont:]): Added. Has the code from the old
- rendererWithFont: method, but passes the usingPrinterFont parameter through to the WebTextRenderer
- init method.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView initWithFrame:]): Don't set unused canDragTo and canDragFrom fields.
- (-[WebHTMLView drawRect:]): Call -[WebTextRendererFactory setUsingPrinterFonts:] here if we are printing,
- as indicated by the usingPrinterFonts field. The reason we do this only inside drawRect is so we don't
- affect redraws of other HTML views that are not being printed that might be in "needs display" state when
- printing began.
- (-[WebHTMLView _setUsingPrinterFonts:]): Added. Calls _setUsingPrinterFonts on all WebHTMLViews inside
- this one, then does the work for this one. Uses the frame hierarchy rather than the view hierarchy, but
- either would work. If printer font state is changing, then sets the WebTextRendererFactory mode, then
- forces a layout and application of styles, but without triggering display.
- (-[WebHTMLView beginDocument]): Do an explicit display so this view does not have to be displayed while
- it is in "use printer fonts" mode. Then call _setUsingPrinterFonts:YES so that drawRect will use printer
- fonts, and also that the WebCore data structures and layout will be updated to reflect printer fonts as
- opposed to screen fonts.
- (-[WebHTMLView endDocument]): Call _setUsingPrinterFonts:NO to restore things to normal after printing.
- * WebView.subproj/WebHTMLViewPrivate.h: Removed unused canDragTo, canDragFrom, and liveAllowsScrolling
- fields. Added usingPrinterFonts field.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2003-03-24 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin
-
- Removed now-obsolete WebResponseCachePolicy enum.
- Once the new cache API is ready, there will be new features
- to replace what this enum provided. Seeing as how this
- enum was largely unused, there is no impact associated with
- removing it now.
-
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
-
-2003-03-24 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Cleaned up some missed WebRequest -> NSURLRequest
- name conversions.
-
- * WebView.subproj/WebFramePrivate.m
-
-2003-03-24 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by John
-
- Changed WebRequest to NSURLRequest. Several other names,
- like some constants whose names were based on WebRequest,
- changed as well.
-
- * Downloads.subproj/WebDownload.h:
- * Downloads.subproj/WebDownload.m:
- (-[WebDownload initWithRequest:]):
- (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]):
- (+[WebDownload _downloadWithLoadingResource:request:response:delegate:proxy:]):
- (-[WebDownload _setRequest:]):
- (-[WebDownload resource:willSendRequest:]):
- * Downloads.subproj/WebDownloadPrivate.h:
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading]):
- (-[WebIconLoader resource:willSendRequest:]):
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView requestWithURLCString:]):
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]):
- (-[WebBaseNetscapePluginView getURL:target:]):
- (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
- (-[WebPluginRequest initWithRequest:frameName:notifyData:]):
- (-[WebPluginRequest request]):
- * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]):
- * Plugins.subproj/WebNetscapePluginStream.h:
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController showURL:inFrame:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]):
- (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
- (-[WebBridge isReloading]):
- (-[WebBridge loadEmptyDocumentSynchronously]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- (-[WebSubresourceClient resource:willSendRequest:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate startLoading:]):
- (-[WebBaseResourceHandleDelegate loadWithRequest:]):
- (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithRequest:]):
- (-[WebDataSource initialRequest]):
- (-[WebDataSource request]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setURL:]):
- (-[WebDataSource _setRequest:]):
- (-[WebDataSource _originalRequest]):
- (-[WebDataSource _lastCheckedRequest]):
- (-[WebDataSource _setLastCheckedRequest:]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
- (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
- (-[WebDefaultPolicyDelegate webView:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:fromDataSource:]):
- * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadRequest:]):
- (-[WebFrame reload]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _createItem]):
- (-[WebFrame _loadItem:fromItem:withLoadType:]):
- (-[WebFrame _loadRequest:triggeringAction:loadType:formState:]):
- (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
- (-[WebFrame _checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
- (-[WebFrame _continueAfterNewWindowPolicy:]):
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
- (-[WebFrame _continueAfterNavigationPolicy:]):
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
- (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
- (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrame _loadRequest:inFrameNamed:]):
- * WebView.subproj/WebFrameView.m:
- (-[WebFrameView concludeDragOperation:]):
- * WebView.subproj/WebImageRepresentation.m:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
- (-[WebMainResourceClient resource:willSendRequest:]):
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient startLoading:]):
- (-[WebResourceDelegateProxy resource:willSendRequest:]):
- * WebView.subproj/WebPolicyDelegate.h:
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebView.m:
- (-[WebView takeStringURLFrom:]):
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _downloadURL:toDirectory:]):
- (-[WebView _openNewWindowWithRequest:]):
- * WebView.subproj/WebWindowOperationsDelegate.h:
-
-2003-03-21 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3081681 - text/calendar should be downloaded instead of displayed
- Fixed: 3177603 - vCards appear in browser, not downloaded
-
- Reviewed by darin.
-
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (+[WebDataSource _representationClassForMIMEType:]): was _canShowMIMEType
- * WebView.subproj/WebFrameViewPrivate.h:
- * WebView.subproj/WebFrameViewPrivate.m:
- (+[WebFrameView _viewClassForMIMEType:]): was _canShowMIMEType
- * WebView.subproj/WebTextView.h:
- * WebView.subproj/WebTextView.m:
- (+[WebTextView unshowableMIMETypes]): new, returns text types that shouldn't be shown
- * WebView.subproj/WebView.m:
- (+[WebView canShowMIMEType:]): call unshowableMIMETypes
-
-2003-03-20 Richard Williamson <rjw@apple.com>
-
- Use "Item" consistently in the WebHistory and WebBackForwardList.
- Change createSharedHistoryWithFile: to setSharedHistory:
- Make the various page cache methods per WebBackForwardList instead of global.
-
- Reviewed by gramps.
-
- * History.subproj/WebBackForwardList.h:
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardListPrivate dealloc]):
- (-[WebBackForwardList init]):
- (-[WebBackForwardList dealloc]):
- (-[WebBackForwardList goBack]):
- (-[WebBackForwardList goForward]):
- (-[WebBackForwardList goToItem:]):
- (-[WebBackForwardList backItem]):
- (-[WebBackForwardList currentItem]):
- (-[WebBackForwardList forwardItem]):
- (-[WebBackForwardList containsItem:]):
- (-[WebBackForwardList maximumSize]):
- (-[WebBackForwardList setMaximumSize:]):
- (-[WebBackForwardList description]):
- (-[WebBackForwardList clearPageCache]):
- (-[WebBackForwardList setPageCacheSize:]):
- (-[WebBackForwardList pageCacheSize]):
- (-[WebBackForwardList setUsesPageCache:]):
- (-[WebBackForwardList usesPageCache]):
- (-[WebBackForwardList backListCount]):
- (-[WebBackForwardList forwardListCount]):
- (-[WebBackForwardList itemAtIndex:]):
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
- (-[_WebCoreHistoryProvider containsItemForURLString:]):
- (+[WebHistory setSharedHistory:]):
- (-[WebHistory addItemForURL:]):
- (-[WebHistory addItem:]):
- (-[WebHistory removeItem:]):
- (-[WebHistory removeItems:]):
- (-[WebHistory removeAllItems]):
- (-[WebHistory addItems:]):
- (-[WebHistory orderedItemsLastVisitedOnDay:]):
- (-[WebHistory containsItemForURLString:]):
- (-[WebHistory itemForURL:]):
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryPrivate.h:
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate insertItem:atDateIndex:]):
- (-[WebHistoryPrivate removeItemForURLString:]):
- (-[WebHistoryPrivate addItem:]):
- (-[WebHistoryPrivate removeItem:]):
- (-[WebHistoryPrivate removeItems:]):
- (-[WebHistoryPrivate removeAllItems]):
- (-[WebHistoryPrivate addItems:]):
- (-[WebHistoryPrivate orderedItemsLastVisitedOnDay:]):
- (-[WebHistoryPrivate containsItemForURLString:]):
- (-[WebHistoryPrivate itemForURL:]):
- (-[WebHistoryPrivate _loadHistoryGuts:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge goBackOrForward:]):
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setTitle:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _addBackForwardItemClippedAtTarget:]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _canCachePage]):
- (-[WebFrame _purgePageCache]):
- (-[WebFrame _goToItem:withLoadType:]):
- (-[WebFrame _resetBackForwardListToCurrent]):
- * WebView.subproj/WebLocationChangeDelegate.h:
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView _commonInitialization:frameName:groupName:]):
- (-[WebView setMaintainsBackForwardList:]):
- (-[WebView goBack]):
- (-[WebView goForward]):
-
-2003-03-20 Chris Blumenberg <cblu@apple.com>
-
- Properly handle file URL directory errors.
-
- Reviewed by trey.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _iconForFileURL:withSize:]): when file URL has no path, return generic file icon
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient interruptForPolicyChangeError]): set the URL, don't set it to nil!
-
-2003-03-20 Vicki Murley <vicki@apple.com>
-
- don't include WebFoundation.h
-
- Reviewed by cblu.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- * Plugins.subproj/WebNetscapePluginStream.m:
-
-=== Safari-68 ===
-
-2003-03-20 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2003-03-19 Ed Voas voas@apple.com
-
- Reviewed by Richard.
-
- React to WebView API changes. Redo HIWebView API.
-
- * Carbon.subproj/HIWebView.h:
- * Carbon.subproj/HIWebView.m:
- (if):
- (switch):
- * Carbon.subproj/HIWebViewPriv.h: Removed.
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
-
-2003-03-19 Richard Williamson <rjw@apple.com>
-
- Removed initWithView:* constructors from WebView.
- New designated initializer for WebView is initWithFrame:frameName:groupName:
-
- Reviewed by cblu & ed.
-
- * Carbon.subproj/HIWebView.m:
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView init]):
- (-[WebView initWithFrame:]):
-
-2003-03-19 Richard Williamson <rjw@apple.com>
-
- Rename WebControllerPolicyDelegate*.[hm] to WebPolicyDelegate*.[hm]
-
- Reviewed by trey.
-
- * API-Issues.rtf:
- * Misc.subproj/WebKit.h:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebControllerPolicyDelegate.h: Removed.
- * WebView.subproj/WebControllerPolicyDelegate.m: Removed.
- * WebView.subproj/WebControllerPolicyDelegatePrivate.h: Removed.
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebFrameView.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- * WebView.subproj/WebMainResourceClient.m:
- * WebView.subproj/WebPolicyDelegate.m:
- * WebView.subproj/WebPolicyDelegatePrivate.h:
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.h:
-
-2003-03-19 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3202780 -- REGRESSION: progress bar, stop button, both get stuck in "loading" state (bartsoft.com)
-
- * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]):
- Add back the "is this page complete" check, so that subresource loads don't make us
- think we're loading again, once the page is complete. On the other hand, frames
- must still be checked independent of the "is this page complete" flag to avoid
- reintroducing bug 3200611.
-
-2003-03-19 Ed Voas voas@apple.com
-
- Reviewed by Richard.
-
- Got it working in non-compositing mode as well, so in theory it
- can work inside a PowerPlant application as well. It's a bit of what
- I'd consider a hack, but it's pretty straightforward.
-
- * Carbon.subproj/CarbonWindowAdapter.m:
- (-[CarbonWindowAdapter setViewsNeedDisplay:]):
- * Carbon.subproj/HIViewAdapter.h:
- * Carbon.subproj/HIViewAdapter.m:
- (+[HIViewAdapter bindHIViewToNSView:nsView:]):
- (-[HIViewAdapter setNeedsDisplay:]):
- (-[HIViewAdapter setNeedsDisplayInRect:]):
- (SetViewNeedsDisplay):
- * Carbon.subproj/HIWebView.m:
- (if):
-
-2003-03-18 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- - fixed 3127431 - bring the window with the named frame to the front
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge focusWindow]): Tell the window operations delegate to focus.
- (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]):
- If this navigation is meant for a different frame, focus its window.
- (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- Likewise.
-
-2003-03-18 Trey Matteson <trey@apple.com>
-
- 3077223 full keyboard UI navigation fails in authentication sheet
-
- Hook up the views in this panel into a useful nextKeyView cycle.
-
- Reviewed by Maciej.
-
- * Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
-
-2003-03-17 Trey Matteson <trey@apple.com>
-
- Support for saving passwords on forms-based logins. Biggest change is that
- the willSubmitForm: message is async to allow a sheet to be presented.
-
- Also fixed @interface.*{ so prepare-change-log can swallow WebFramePrivate.m.
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebControllerPolicyDelegate.m:
- (-[WebPolicyDecisionListener continue]): The decision listener also
- implements WebFormSubmissionListener, to share some other impl.
- * WebView.subproj/WebControllerPolicyDelegatePrivate.h:
- * WebView.subproj/WebFormDelegate.h:
- * WebView.subproj/WebFormDelegate.m:
- (-[WebFormDelegate frame:willSubmitForm:withValues:submissionListener:]):
- Take listener param for async API.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- Latent bug. Don't call willSubmitForm if no values are being submitted.
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- Latent bug. Don't call willSubmitForm if no values are being submitted.
- (-[WebFrame _continueAfterWillSubmitForm:]):
- Continuation code for after FormDelegate is done with willSubmitForm.
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- Pass new listener arg to willSubmitForm.
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- Nuke deadwood formIsLoginForm.
- (-[WebHTMLRepresentation elementIsPassword:]): Just pass through glue
- over the bridge.
-
-2003-03-18 Richard Williamson <rjw@apple.com>
-
- Another rename WebController*.[hm] to WebView*.[hm]
-
- Reviewed by darin.
-
- * Carbon.subproj/HIWebView.h:
- * Misc.subproj/WebKit.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- * Panels.subproj/WebStandardPanelsPrivate.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- * Plugins.subproj/WebNetscapePluginStream.m:
- * Plugins.subproj/WebNullPluginView.m:
- * Plugins.subproj/WebPluginController.m:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- * WebView.subproj/WebController.h: Removed.
- * WebView.subproj/WebController.m: Removed.
- * WebView.subproj/WebControllerPrivate.h: Removed.
- * WebView.subproj/WebControllerPrivate.m: Removed.
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebFrameView.m:
- * WebView.subproj/WebFrameViewPrivate.m:
- * WebView.subproj/WebHTMLView.m:
- * WebView.subproj/WebHTMLViewPrivate.m:
- * WebView.subproj/WebImageView.m:
- * WebView.subproj/WebMainResourceClient.m:
- * WebView.subproj/WebTextView.m:
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
-
-2003-03-18 Richard Williamson <rjw@apple.com>
-
- Renamed WebView*.[hm] to WebFrameView*.[hm]
-
- * Misc.subproj/WebKit.h:
- * Misc.subproj/WebNSViewExtras.m:
- * Panels.subproj/WebStandardPanels.m:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- * Plugins.subproj/WebNullPluginView.m:
- * Plugins.subproj/WebPluginController.m:
- * Plugins.subproj/WebPluginDatabase.m:
- * WebCoreSupport.subproj/WebBridge.m:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.m:
- * WebView.subproj/WebControllerPrivate.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebDebugDOMNode.m:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebFrameView.m:
- * WebView.subproj/WebFrameViewPrivate.h:
- * WebView.subproj/WebFrameViewPrivate.m:
- * WebView.subproj/WebHTMLView.m:
- * WebView.subproj/WebHTMLViewPrivate.m:
- * WebView.subproj/WebImageView.m:
- * WebView.subproj/WebMainResourceClient.m:
- * WebView.subproj/WebRenderNode.m:
- * WebView.subproj/WebTextView.m:
- * WebView.subproj/WebView.h: Removed.
- * WebView.subproj/WebView.m: Removed.
- * WebView.subproj/WebViewPrivate.h: Removed.
- * WebView.subproj/WebViewPrivate.m: Removed.
-
-2003-03-18 Richard Williamson <rjw@apple.com>
-
- Stage 2 of WebController to WebView renaming.
-
- Reviewed by hyatt.
-
- * API-Issues.rtf:
- * Carbon.subproj/HIWebView.h:
- * Carbon.subproj/HIWebView.m:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_bestURL]):
- * Panels.subproj/WebStandardPanels.m:
- (-[WebStandardPanels _didStartLoadingURL:inController:]):
- (-[WebStandardPanels _didStopLoadingURL:inController:]):
- (-[WebStandardPanels frontmostWindowLoadingURL:]):
- * Panels.subproj/WebStandardPanelsPrivate.h:
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView controller]):
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation isPluginViewStarted]):
- (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
- * Plugins.subproj/WebNullPluginView.m:
- (-[WebNullPluginView viewDidMoveToWindow]):
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController showStatus:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge mainFrame]):
- (-[WebBridge createWindowWithURL:frameName:]):
- (-[WebBridge showWindow]):
- (-[WebBridge areToolbarsVisible]):
- (-[WebBridge setToolbarsVisible:]):
- (-[WebBridge areScrollbarsVisible]):
- (-[WebBridge setScrollbarsVisible:]):
- (-[WebBridge isStatusBarVisible]):
- (-[WebBridge setStatusBarVisible:]):
- (-[WebBridge setWindowFrame:]):
- (-[WebBridge window]):
- (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
- (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
- (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
- (-[WebBridge runOpenPanelForFileButtonWithResultListener:]):
- (-[WebBridge setStatusText:]):
- (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
- (-[WebBridge setWebFrame:]):
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- (-[WebBridge userAgentForURL:]):
- (-[WebBridge nextKeyViewOutsideWebFrameViews]):
- (-[WebBridge previousKeyViewOutsideWebFrameViews]):
- (-[WebBridge defersLoading]):
- (-[WebBridge setDefersLoading:]):
- (-[WebBridge setNeedsReapplyStyles]):
- (-[WebBridge setNeedsLayout]):
- (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
- (-[WebBridge handleMouseDragged:]):
- (-[WebBridge mayStartDragWithMouseDragged:]):
- (-[WebBridge historyLength]):
- (-[WebBridge goBackOrForward:]):
- (formDelegate):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- * WebKit.exp:
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
- (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
- (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
- (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
- (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
- (-[WebBaseResourceHandleDelegate cancelWithError:]):
- * WebView.subproj/WebContextMenuDelegate.h:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebView _commonInitialization:frameName:groupName:]):
- (-[WebView initWithFrame:]):
- (-[WebView supportsTextEncoding]):
- (-[WebView userAgentForURL:]):
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebViewPrivate _clearControllerReferences:]):
- (+[WebView canShowFile:]):
- (+[WebView suggestedFileExtensionForMIMEType:]):
- (-[WebView _createFrameNamed:inParent:allowsScrolling:]):
- (-[WebView _findFrameNamed:]):
- (-[WebView _openNewWindowWithRequest:]):
- (-[WebView _menuForElement:]):
- (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
- (-[WebView _frameForView:fromFrame:]):
- * WebView.subproj/WebControllerSets.h:
- * WebView.subproj/WebControllerSets.m:
- (+[WebControllerSets addController:toSetNamed:]):
- (+[WebControllerSets removeController:fromSetNamed:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _controller]):
- (-[WebDataSource _setController:]):
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource _setTitle:]):
- (-[WebDataSource _setRequest:]):
- (-[WebDataSource _layoutChildren]):
- (+[WebDataSource _repTypes]):
- (-[WebDataSource _receivedData:]):
- (-[WebDataSource _updateIconDatabaseWithURL:]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
- (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
- (-[WebDefaultContextMenuDelegate downloadURL:]):
- * WebView.subproj/WebDefaultLocationChangeDelegate.m:
- (-[WebDefaultLocationChangeDelegate webView:locationChangeStartedForDataSource:]):
- (-[WebDefaultLocationChangeDelegate webView:serverRedirectedForDataSource:]):
- (-[WebDefaultLocationChangeDelegate webView:locationChangeCommittedForDataSource:]):
- (-[WebDefaultLocationChangeDelegate webView:receivedPageTitle:forDataSource:]):
- (-[WebDefaultLocationChangeDelegate webView:receivedPageIcon:forDataSource:]):
- (-[WebDefaultLocationChangeDelegate webView:locationChangeDone:forDataSource:]):
- (-[WebDefaultLocationChangeDelegate webView:willCloseLocationForDataSource:]):
- (-[WebDefaultLocationChangeDelegate webView:locationChangedWithinPageForDataSource:]):
- (-[WebDefaultLocationChangeDelegate webView:clientWillRedirectTo:delay:fireDate:forFrame:]):
- (-[WebDefaultLocationChangeDelegate webView:clientRedirectCancelledForFrame:]):
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:inFrame:]):
- (-[WebDefaultPolicyDelegate webView:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
- (-[WebDefaultPolicyDelegate webView:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate webView:resource:willSendRequest:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]):
- (-[WebDefaultResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate webView:pluginFailedWithError:dataSource:]):
- * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
- (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptConfirmPanelWithMessage:]):
- (-[WebDefaultWindowOperationsDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
- (-[WebDefaultWindowOperationsDelegate webView:runOpenPanelForFileButtonWithResultListener:]):
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame init]):
- (-[WebFrame initWithName:webFrameView:webView:]):
- (-[WebFrame frameView]):
- (-[WebFrame webView]):
- (-[WebFrame findFrameNamed:]):
- (+[WebFrame registerViewClass:representationClass:forMIMEType:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (if):
- (switch):
- * WebView.subproj/WebHTMLView.h:
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _controller]):
- * WebView.subproj/WebImageView.m:
- (-[WebImageView controller]):
- (-[WebImageView menuForEvent:]):
- * WebView.subproj/WebLocationChangeDelegate.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient checkContentPolicyForResponse:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebTextView.m:
- (-[WebTextView menuForEvent:]):
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebFrameView setAllowsScrolling:]):
- (-[WebFrameView allowsScrolling]):
- (-[WebFrameView scrollView]):
- (-[WebFrameView documentView]):
- (-[WebFrameView drawRect:]):
- (-[WebFrameView setFrameSize:]):
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebFrameView _controller]):
- (-[WebFrameView _setDocumentView:]):
- (-[WebFrameView _setController:]):
- (-[WebFrameView _contentView]):
- (-[WebFrameView _verticalKeyboardScrollAmount]):
- (-[WebFrameView _horizontalKeyboardScrollAmount]):
- (-[WebFrameView _scrollToBottomLeft]):
- (+[WebFrameView _viewTypes]):
- * WebView.subproj/WebWindowOperationsDelegate.h:
-
-2003-03-18 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3187143 -- when a font-family has many variants, Safari chooses the wrong one
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory fontWithFamily:traits:size:]):
- Changed the algorithm here in two ways. 1) Pick the family member with matching traits that has
- a weight closest to 5, the standard weight; the old code picked the first family member with
- matching traits. 2) Match traits based on a mask of which traits are the important ones. The old
- code matched traits based on a rule of "if the trait bit is 1 it matters, otherwise don't care".
-
-2003-03-18 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3194756 -- REGRESSION: Geneva bold yields Geneva plain, used to yield Helvetica bold (apple.com)
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory fontWithFamily:traits:size:]):
- Remove the first call to NSFontManager before we do our searching algorithm.
- We always need to do the searching, because NSFontManager uses a different set of rules.
-
-2003-03-17 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3200647 - File I/O related download errors just says "error"
- Reviewed by darin.
-
- * Downloads.subproj/WebDownload.m:
- (+[WebDownloadPrivate initialize]): call _registerWebKitErrors
- * English.lproj/Localizable.strings:
- * Misc.subproj/WebKitErrors.h: cleaned-up, removed unused errors
- * Misc.subproj/WebKitErrors.m:
- (+[WebError _registerWebKitErrors]):
- (registerErrors):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebView.m:
- (+[WebFrameView initialize]): call _registerWebKitErrors
-
-2003-03-17 Darin Adler <darin@apple.com>
-
- Reviewed by Chris and Richard.
-
- - fixed 3200611 -- Progress indicator in tabs not shown for subframe loads
-
- * WebView.subproj/WebDataSource.m: (-[WebDataSource isLoading]):
- Remove the early out for when we're in the WebFrameStateComplete state.
- The top frame being complete does not really tell us anything about whether subframes
- are complete, especially since they can have their locations changed without affecting
- the top level frame at all.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2003-03-17 Chris Blumenberg <cblu@apple.com>
-
- Made data categories use the "_web_" prefix.
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]):
- (-[NSData _web_startsWithBlankLine]):
- (-[NSData _web_locationAfterFirstBlankLine]):
-
-2003-03-17 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3199105 - Accept carbon-style file URLs from plug-in POST requests
- Fixed: 3148767 - POST (aka Flash Remoting) doesn't work from Flash
-
- Reviewed by kocienda.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView _postURLNotify:target:len:buf:file:notifyData:allowHeaders:]): parse headers, handle carbon POSIX paths
- (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): call _postURLNotify
- (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): call _postURLNotify
- (-[NSData startsWithBlankLine]): new
- (-[NSData locationAfterFirstBlankLine]): new
-
-2003-03-17 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3200259 - REGRESSION: Clicking on Flash links at homestarrunner.com creates blank windows
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadPluginRequest:]): Don't always
- make the window, only do it if the frame doesn't already
- exist. Duh.
-
-2003-03-17 Darin Adler <darin@apple.com>
-
- Reviewed by Trey and Maciej.
-
- - fixed 3199154 -- REGRESSION: world leaks on any page load test
-
- * WebView.subproj/WebController.m: (-[WebController initWithView:frameName:groupName:]):
- Call through to initWithFrame, the designated initializer, not init. Calling [super init] results
- in calling our initWithFrame method, resulting in two calls to the _commonInitialization method.
-
-2003-03-17 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- Adjusted for WebFoundation API changes.
- * Panels.subproj/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForRequest:]):
-
-2003-03-17 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2003-03-17 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3199951 - Standalone plug-in content that is cancelled doesn't restart when switching tabs
-
- Instead of creating and managing resourceData in WebMainResourceClient then passing the ownership to WebDataSource, just manage it in WebDataSource. We had the prior behavior because we didn't buffer downloads. Now, we always buffer. The fix for the bug
-
-
-
-
-
-
-is to retain the incomplete data even though the load ends in error.
-
- Reviewed by darin.
-
- * WebView.subproj/WebDataSource.h: updated headerdoc for the data method
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource data]): just return resourceData
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _receivedData:]): create resourceData if necessary, append data to it.
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient initWithDataSource:]): don't work with resourceData
- (-[WebMainResourceClient dealloc]): don't work with resourceData
- (-[WebMainResourceClient resource:didReceiveData:]): don't work with resourceData
- (-[WebMainResourceClient resourceDidFinishLoading:]): don't work with resourceData
-
-2003-03-16 Trey Matteson <trey@apple.com>
-
- 3198135 - need to fix our projects so SYMROOT is not stripped
-
- Tweaked stripping options: B&I build does not COPY_PHASE_STRIP.
- Deployment build still does.
- We strip manually as part of the install that we do ourselves.
-
- Reviewed by Maciej.
-
- * WebKit.pbproj/project.pbxproj:
-
-2003-03-14 Chris Blumenberg <cblu@apple.com>
-
- Backed out changes to WebBaseNetscapePluginView. Unintentional commit.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]):
- (-[WebBaseNetscapePluginView postURL:target:len:buf:file:]):
-
-2003-03-14 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3198961 - REGRESSION: Stopping load of plug-in content is not reflected in UI
-
- Reviewed by mjs.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient cancelWithError:]): call receivedError so [dataSource _receivedError:error complete:YES] is called
-
-2003-03-14 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Don.
-
- - revert premature controller --> webView renaming, it's causing
- problems with window opening and such.
- * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
-
-2003-03-14 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3197872 - Standalone plug-in content isn't restarted when switching tabs
- Fixed: 3189675 - assertion in plug-in code fails (nil window) with .swf page displaying standalone in a tab
-
- We start plug-ins when they are added to the window and stop them when they are removed. To restart a plug-in, the data stream must be redelivered. This works in the embedded plug-in case, but in the standalone plug-in case, the stream is delivered by th
-
-
-
-
-
-
-e machinery in WebKit. The stream is only delivered once. This fix addresses that.
-
- Reviewed by trey.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setResponse:]): reset the offset ivar
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): If we create a file for the plug-in, handle the case where the file is already created.
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView isStarted]): added so the stream knows the state of the view
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView initWithFrame:]): tweak
- (-[WebNetscapePluginDocumentView viewDidMoveToWindow]): call redeliverStream if we are added back to the window
- (-[WebNetscapePluginDocumentView setDataSource:]): only start the plug-in if we are in a window, don't assert
- * Plugins.subproj/WebNetscapePluginRepresentation.h:
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation dealloc]): release the retained data source and error
- (-[WebNetscapePluginRepresentation setDataSource:]): retain the data source
- (-[WebNetscapePluginRepresentation isPluginViewStarted]): new
- (-[WebNetscapePluginRepresentation receivedData:withDataSource:]): only do work if isPluginViewStarted
- (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): retain the error, only do work if isPluginViewStarted
- (-[WebNetscapePluginRepresentation finishedLoadingWithDataSource:]): only do work if isPluginViewStarted
- (-[WebNetscapePluginRepresentation redeliverStream]): call receivedData:: with all the received data up to this point. Call receivedError:: or finishedLoadingWithDataSource: if the load is already complete.
-
-2003-03-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- - fixed 3188209 - REGRESSION: onmouseup handlers not running for most form elements
-
- * WebCoreSupport.subproj/WebFileButton.m:
- (-[WebFileButton chooseButtonPressed:]): Send appropriate NSNotification.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebNSTextView mouseDown:]): Call fieldEditorDidMouseDown: on
- delegate, if implemented, after calling super.
-
-2003-03-13 Richard Williamson <rjw@apple.com>
-
- First stage of the WebController -> WebView, WebView -> WebFrameView.
- This change does the WebView -> WebFrameView part of the change. Also
- changes WebController's inheritance. It now inherits from NSView. Also
- added some simple action methods to WebController (soon to be WebView)
- to facilitate IB hookup.
-
- Reviewed by Maciej.
-
- * Carbon.subproj/CarbonWindowAdapter.m:
- * Carbon.subproj/HIWebView.h:
- * Carbon.subproj/HIWebView.m:
- (if):
- (switch):
- * Carbon.subproj/HIWebViewPriv.h:
- * Misc.subproj/WebKitStatistics.m:
- (+[WebKitStatistics viewCount]):
- * Misc.subproj/WebKitStatisticsPrivate.h:
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_parentWebFrameView]):
- * Panels.subproj/WebStandardPanels.m:
- (-[WebStandardPanels frontmostWindowLoadingURL:]):
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView layout]):
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView dataSource]):
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
- * Plugins.subproj/WebNullPluginView.m:
- (-[WebNullPluginView viewDidMoveToWindow]):
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase init]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge areScrollbarsVisible]):
- (-[WebBridge setScrollbarsVisible:]):
- (-[WebBridge window]):
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- (-[WebBridge nextKeyViewOutsideWebFrameViews]):
- (-[WebBridge previousKeyViewOutsideWebFrameViews]):
- (-[WebBridge setNeedsReapplyStyles]):
- (-[WebBridge setNeedsLayout]):
- (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
- (-[WebBridge frameRequiredForMIMEType:]):
- (-[WebBridge handleMouseDragged:]):
- (-[WebBridge mayStartDragWithMouseDragged:]):
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (+[WebContentTypes canShowMIMEType:]):
- (-[WebController _commonInitialization:frameName:groupName:]):
- (-[WebController init]):
- (-[WebController initWithFrame:]):
- (-[WebController initWithView:]):
- (-[WebController supportsTextEncoding]):
- (-[WebController takeStringURLFrom:]):
- (-[WebController goBack:]):
- (-[WebController goForward:]):
- (-[WebController stopLoading:]):
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate _clearControllerReferences:]):
- (-[WebController _createFrameNamed:inParent:allowsScrolling:]):
- (-[WebController _frameForView:fromFrame:]):
- (-[WebController _frameForView:]):
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _layoutChildren]):
- (-[WebDataSource _receivedData:]):
- * WebView.subproj/WebDebugDOMNode.h:
- * WebView.subproj/WebDebugDOMNode.m:
- (-[WebDebugDOMNode initWithWebFrameView:]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate controller:contextMenuItemsForElement:defaultMenuItems:]):
- * WebView.subproj/WebDefaultLocationChangeDelegate.m:
- (-[WebDefaultLocationChangeDelegate controller:locationChangeStartedForDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:serverRedirectedForDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:locationChangeCommittedForDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:receivedPageTitle:forDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:receivedPageIcon:forDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:locationChangeDone:forDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:willCloseLocationForDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:locationChangedWithinPageForDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:clientWillRedirectTo:delay:fireDate:forFrame:]):
- (-[WebDefaultLocationChangeDelegate controller:clientRedirectCancelledForFrame:]):
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate controller:unableToImplementPolicyWithError:inFrame:]):
- (-[WebDefaultPolicyDelegate controller:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
- (-[WebDefaultPolicyDelegate controller:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate controller:identifierForInitialRequest:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate controller:resource:willSendRequest:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveResponse:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveContentLength:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate controller:resource:didFinishLoadingFromDataSource:]):
- (-[WebDefaultResourceLoadDelegate controller:resource:didFailLoadingWithError:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate controller:pluginFailedWithError:dataSource:]):
- * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
- (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptConfirmPanelWithMessage:]):
- (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
- (-[WebDefaultWindowOperationsDelegate controller:runOpenPanelForFileButtonWithResultListener:]):
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebDynamicScrollBarsView.m:
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame init]):
- (-[WebFrame initWithName:webFrameView:controller:]):
- (-[WebFrame view]):
- (+[WebFrame registerViewClass:representationClass:forMIMEType:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (if):
- (switch):
- * WebView.subproj/WebHTMLView.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
- (-[WebHTMLView draggedImage:endedAt:operation:]):
- (-[WebHTMLView becomeFirstResponder]):
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _controller]):
- (-[WebHTMLView _frame]):
- (-[WebHTMLView _elementAtPoint:]):
- * WebView.subproj/WebImageView.m:
- (-[WebImageView controller]):
- (-[WebImageView menuForEvent:]):
- (-[WebImageView mouseDragged:]):
- (-[WebImageView draggedImage:endedAt:operation:]):
- * WebView.subproj/WebLocationChangeDelegate.h:
- * WebView.subproj/WebRenderNode.h:
- * WebView.subproj/WebRenderNode.m:
- (-[WebRenderNode initWithName:position:rect:view:children:]):
- (-[WebRenderNode initWithWebFrameView:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebTextView.m:
- (-[WebTextView menuForEvent:]):
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebFrameView initWithFrame:]):
- (-[WebFrameView dealloc]):
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- * WebView.subproj/WebWindowOperationsDelegate.h:
-
-2003-03-13 John Sullivan <sullivan@apple.com>
-
- Reviewed by Trey.
-
- * English.lproj/StringsNotToBeLocalized.txt:
- Removed all the bookmarks-related strings that I forgot
- to remove in my previous checkin.
-
-2003-03-13 John Sullivan <sullivan@apple.com>
-
- Removed all the bookmarks code from WebKit; put it
- in WebBrowser instead.
-
- Reviewed by Darin
-
- * Bookmarks.subproj/WebBookmark.h: Removed.
- * Bookmarks.subproj/WebBookmark.m: Removed.
- * Bookmarks.subproj/WebBookmarkGroup.h: Removed.
- * Bookmarks.subproj/WebBookmarkGroup.m: Removed.
- * Bookmarks.subproj/WebBookmarkGroupPrivate.h: Removed.
- * Bookmarks.subproj/WebBookmarkImporter.h: Removed.
- * Bookmarks.subproj/WebBookmarkImporter.m: Removed.
- * Bookmarks.subproj/WebBookmarkLeaf.h: Removed.
- * Bookmarks.subproj/WebBookmarkLeaf.m: Removed.
- * Bookmarks.subproj/WebBookmarkList.h: Removed.
- * Bookmarks.subproj/WebBookmarkList.m: Removed.
- * Bookmarks.subproj/WebBookmarkPrivate.h: Removed.
- * Bookmarks.subproj/WebBookmarkProxy.h: Removed.
- * Bookmarks.subproj/WebBookmarkProxy.m: Removed.
- * WebKit.exp:
- removed all bookmark-related symbols
- * WebKit.pbproj/project.pbxproj:
- updated for removed files
-
-=== Safari-67 ===
-
-2003-03-12 Chris Blumenberg <cblu@apple.com>
-
- 3196673 - REGRESSION: Assertion failure when download fails to create file
- - Retain the download delegate because it will live longer than the WebController which it is an instance of.
-
- Reviewed by rjw.
-
- * Downloads.subproj/WebDownload.m:
- (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): call _downloadStarted
- (-[WebDownload loadWithDelegate:]): call _downloadStarted
- (-[WebDownload _downloadStarted]): renamed from _loadStarted
- (-[WebDownload _downloadEnded]): release delegate
- (-[WebDownload resource:willSendRequest:]): reordered so if we are released in this method, we never call self
- (-[WebDownload resourceDidFinishLoading:]): don't call _loadEnded because _downloadEnded gets called in _didCloseFile and _cancelWithError
- (-[WebDownload resource:didFailLoadingWithError:]): don't call _loadEnded because _downloadEnded gets called in _didCloseFile and _cancelWithError
- (-[WebDownload _didCloseFile:]): call _downloadEnded
- (-[WebDownload _cancelWithError:]): call _downloadEnded
- * WebView.subproj/WebController.h: mention that the download delegate gets retained.
-
-2003-03-12 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3193552 -- REGRESSION: crash loading ftp directory URL
- - fixed minor problems with setDefersCallbacks handling and object lifetime
-
- * WebView.subproj/WebBaseResourceHandleDelegate.h: Removed now-unused cancelQuietly.
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate cancel]): Changed cancel to tolerate being called
- when we have already cancelled. It's an error to call cancelWithError once we
- have cancelled.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient interruptForPolicyChangeError]): Added. New function to
- create the WebError object for policy change.
- (-[WebMainResourceClient stopLoadingForPolicyChange]): Changed to just be a call
- to cancelWithError:.
- (-[WebMainResourceClient resource:willSendRequest:]): Call setDefersCallbacks:YES
- here; continueAfterNavigationPolicy already takes care of setDefersCallbacks:NO,
- but we lost this one somewhere along the way.
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): Changed to call
- receivedError: on interruptForPolicyChangeError directly. It wasn't clearer to call
- a method named interruptForPolicyChange.
- (-[WebMainResourceClient resource:didReceiveResponse:]): Don't bother calling
- setDefersCallbacks:YES here any more; checkContentPolicyForResponse: takes care
- of that so there's no need to do it here. Initialize _contentLength before calling
- checkContentPolicyForResponse:, since that method can result in deallocating self.
-
-2003-03-12 John Sullivan <sullivan@apple.com>
-
- Reviewed by Trey
-
- * English.lproj/StringsNotToBeLocalized.txt:
- updated for recent changes
-
-2003-03-11 Chris Blumenberg <cblu@apple.com>
-
- Fixed deployment build failure.
-
- * WebView.subproj/WebFramePrivate.m:
-
-2003-03-11 Richard Williamson <rjw@apple.com>
-
- Added controller: parameter to all WebControllers delegates.
-
- Reviewed by chris.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebNullPluginView.m:
- (-[WebNullPluginView viewDidMoveToWindow]):
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController showStatus:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]):
- (-[WebBridge showWindow]):
- (-[WebBridge areToolbarsVisible]):
- (-[WebBridge setToolbarsVisible:]):
- (-[WebBridge isStatusBarVisible]):
- (-[WebBridge setStatusBarVisible:]):
- (-[WebBridge setWindowFrame:]):
- (-[WebBridge runJavaScriptAlertPanelWithMessage:]):
- (-[WebBridge runJavaScriptConfirmPanelWithMessage:]):
- (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
- (-[WebBridge runOpenPanelForFileButtonWithResultListener:]):
- (-[WebBridge setStatusText:]):
- (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
- (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
- (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
- (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
- (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
- (-[WebBaseResourceHandleDelegate cancelWithError:]):
- * WebView.subproj/WebContextMenuDelegate.h:
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _openNewWindowWithRequest:]):
- (-[WebController _menuForElement:]):
- (-[WebController _mouseDidMoveOverElement:modifierFlags:]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource _setTitle:]):
- (-[WebDataSource _setRequest:]):
- (-[WebDataSource _updateIconDatabaseWithURL:]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate controller:contextMenuItemsForElement:defaultMenuItems:]):
- * WebView.subproj/WebDefaultLocationChangeDelegate.m:
- (-[WebDefaultLocationChangeDelegate controller:locationChangeStartedForDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:serverRedirectedForDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:locationChangeCommittedForDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:receivedPageTitle:forDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:receivedPageIcon:forDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:locationChangeDone:forDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:willCloseLocationForDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:locationChangedWithinPageForDataSource:]):
- (-[WebDefaultLocationChangeDelegate controller:clientWillRedirectTo:delay:fireDate:forFrame:]):
- (-[WebDefaultLocationChangeDelegate controller:clientRedirectCancelledForFrame:]):
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate controller:unableToImplementPolicy:error:forURL:inFrame:]):
- (-[WebDefaultPolicyDelegate controller:decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
- (-[WebDefaultPolicyDelegate controller:decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
- * WebView.subproj/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate controller:identifierForInitialRequest:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate controller:resource:willSendRequest:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveResponse:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate controller:resource:didReceiveContentLength:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate controller:resource:didFinishLoadingFromDataSource:]):
- (-[WebDefaultResourceLoadDelegate controller:resource:didFailLoadingWithError:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate controller:pluginFailedWithError:dataSource:]):
- * WebView.subproj/WebDefaultWindowOperationsDelegate.m:
- (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptConfirmPanelWithMessage:]):
- (-[WebDefaultWindowOperationsDelegate controller:runJavaScriptTextInputPanelWithPrompt:defaultText:]):
- (-[WebDefaultWindowOperationsDelegate controller:runOpenPanelForFileButtonWithResultListener:]):
- * WebView.subproj/WebFramePrivate.m:
- (if):
- (switch):
- * WebView.subproj/WebLocationChangeDelegate.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebWindowOperationsDelegate.h:
-
-2003-03-11 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- Final policy API changes:
-
- - changed WebPolicyDecisionListener to protocol in public API
- - replaced policy enum with separate methods
- - made content policy handling async
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebControllerPolicyDelegate.m:
- (-[WebPolicyDecisionListener _usePolicy:]):
- (-[WebPolicyDecisionListener use]):
- (-[WebPolicyDecisionListener ignore]):
- (-[WebPolicyDecisionListener download]):
- * WebView.subproj/WebControllerPolicyDelegatePrivate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate unableToImplementPolicyWithError:inFrame:]):
- (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
- (-[WebDefaultPolicyDelegate decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (switch):
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient cancelContentPolicy]):
- (-[WebMainResourceClient cancel]):
- (-[WebMainResourceClient cancelQuietly]):
- (-[WebMainResourceClient cancelWithError:]):
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient continueAfterContentPolicy:]):
- (-[WebMainResourceClient checkContentPolicyForResponse:]):
- (-[WebMainResourceClient resource:didReceiveResponse:]):
-
-2003-03-11 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed mistake in that last check-in that made Safari assert on startup with Chris's bookmarks bar
-
- * Misc.subproj/WebStringTruncator.m: (centerTruncateToBuffer):
- Fix logic here to not use an uninitialized variable.
-
-2003-03-11 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3193213 -- assert truncatedLength+1 < STRING_BUFFER_SIZE creating tab label for firstyearibs.com
- - fixed 3194935 -- WebStringTruncator rightTruncateString: will break between composed characters
- - fixed right truncator to use interpolation algorithm rather than linear search
-
- * Misc.subproj/WebStringTruncator.m:
- (centerTruncateToBuffer): Changed from a class method to a plain function, and tweaked the code a bit.
- (rightTruncateToBuffer): Added. Like centerTruncateToBuffer, but does it on the right end instead.
- (stringWidth): Added. Helper function that calls the TextRenderer method with the right parameters.
- (truncateString): Moved all the code from centerTruncateString here, adding one new parameter, the
- truncate to buffer function.
- (+[WebStringTruncator centerTruncateString:toWidth:]): Call truncateString with the appropriate parameters.
- (+[WebStringTruncator centerTruncateString:toWidth:withFont:]): Ditto.
- (+[WebStringTruncator rightTruncateString:toWidth:withFont:]): Ditto.
-
-=== Safari-66 ===
-
-2003-03-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dave.
-
- - fixed 3194221 - REGRESSION: search results loaded in wrong frame at directory.apple.com
-
- * WebView.subproj/WebFramePrivate.m:
- (_postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:):
- Deliver targetted form posts correctly.
-2003-03-10 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3010915 -- mouse wheel won't scroll the main document when you are over [i]frame
-
- * WebView.subproj/WebDynamicScrollBarsView.h: Made WebDynamicScrollBarsView a subclass of
- WebCoreScrollView instead of NSScrollView.
-
- - other changes
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:):
- Fix problem where you would not get any information if the click was on a subview of the
- WebHTMLView, like a form control.
-
-2003-03-10 Chris Blumenberg <cblu@apple.com>
-
- Fixed some download-related leaks. Primarily, we were leaking the data source that started the download. The data source is now immediately released when it becomes a download.
-
- Reviewed by darin.
-
- * Downloads.subproj/WebDownload.m:
- (-[WebDownloadPrivate dealloc]): release the WebResourceDelegateProxy
- (-[WebDownload _initWithLoadingResource:request:response:delegate:proxy:]): renamed, don't pass a datasource so WebDownload is completely disconnected from the that. Pass the proxy so it transfers ownership from WebMainResourceClient and it doesn'
-
-
-
-
-
-
-t leak when we cancel a download.
- (-[WebDownload _setRequest:]): added
- (-[WebDownload _setResponse:]): added
- (-[WebDownload resource:willSendRequest:]): call _setRequest
- (-[WebDownload resource:didReceiveResponse:]): call _setResponse
- * Downloads.subproj/WebDownloadPrivate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m: removed notifyDelegatesOfInterruptionByPolicyChange, no longer called
- * WebView.subproj/WebMainResourceClient.h: made WebResourceDelegateProxy available to other classes
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient receivedError:]): moved most error handling code here
- (-[WebMainResourceClient cancel]): stop load, call receivedError
- (-[WebMainResourceClient interruptForPolicyChange]): renamed, call receivedError with the policy interrupt error
- (-[WebMainResourceClient stopLoadingForPolicyChange]): call interruptForPolicyChange
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): for WebPolicySave, create the download, call interruptForPolicyChange and return so the response isn't set on the superclass.
- (-[WebMainResourceClient resource:didFailLoadingWithError:]): call receivedError
- (-[WebResourceDelegateProxy setDelegate:]): don't retain the delegate
- (-[WebResourceDelegateProxy resourceDidFinishLoading:]): don't release the delegate
- (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): don't release the delegate
-
-2003-03-07 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3127705 - don't open new window on opt-click even if the link requests it
- - fixed 3143971 - cmd-click should override the target="_blank" and target="_new" (important for tabs)
-
- - removed open new window and open new window behind policies
- - removed [WebFrame findOrCreateFrameNamed:] from API
- - remved showWindowBehind from window operations delegate
- - added decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener: delegate method
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- (-[WebPluginRequest initWithRequest:frameName:notifyData:]):
- (-[WebPluginRequest dealloc]):
- (-[WebPluginRequest frameName]):
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController showURL:inFrame:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:referrer:reload:target:triggeringEvent:form:formValues:]):
- (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _openNewWindowWithRequest:]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate decideNewWindowPolicyForAction:andRequest:newFrameName:decisionListener:]):
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[NSObject performSelector:withObject:withObject:withObject:]):
- * WebView.subproj/WebWindowOperationsDelegate.h:
-
-2003-03-07 Chris Blumenberg <cblu@apple.com>
-
- Updated header doc comments.
-
- * Downloads.subproj/WebDownload.h:
-
-2003-03-07 Richard Williamson <rjw@apple.com>
-
- Drop mainDocumentError from WebDataSource.
- Combine registerView: and registerRepresentation: into one method on WebFrame.
-
- Reviewed by trey.
-
- * Plugins.subproj/WebPluginDatabase.m:
- (-[WebPluginDatabase init]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _mainDocumentError]):
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (+[WebFrame registerViewClass:representationClass:forMIMEType:]):
- * WebView.subproj/WebFramePrivate.m:
- (switch):
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
-
-2003-03-07 John Sullivan <sullivan@apple.com>
-
- WebKit part of fixes to these two synching-related bugs:
-
- 3190844 -- Bookmarks Bar and Menu collections need to be
- marked specially in Bookmarks file
-
- 3192197 -- Safari should write out UUID-full Bookmarks
- file after reading UUID-free one
-
- Reviewed by Trey
-
- * Bookmarks.subproj/WebBookmark.h:
- * Bookmarks.subproj/WebBookmark.m:
- (-[WebBookmark setUUID:]):
- Removed the leading underscore, made this method public.
- Removed unnecessary constraint that new or old UUID had
- to be nil; now short-circuits the no-change case.
- (-[WebBookmark copyWithZone:]):
- updated for name change
- (-[WebBookmark initFromDictionaryRepresentation:withGroup:]):
- ditto
-
- * Bookmarks.subproj/WebBookmarkGroup.h:
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup bookmarkForUUID:]):
- new public method to find a bookmark from a UUID.
- (-[WebBookmarkGroup _addBookmark:]):
- updated for name change
-
- * Bookmarks.subproj/WebBookmarkPrivate.h:
- removed declaration for old _setUUID
-
-2003-03-07 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed regression caused when we made the stopLoading method on WebDataSource private
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _recursiveStopLoading]):
- The children are frames, so we need to do stopLoading, not _stopLoading.
-
-2003-03-07 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3191052 - Predetermined downloads should not be started from the browser window
- - Stripped the rest of WebKit of download related code.
-
- Reviewed by trey.
-
- * Downloads.subproj/WebDownload.h: Changed the download delegate method from download:didStartFromDataSource: download:didStartFromRequest:. Passing the data source wasn't that helpful. It was also quirky that the data source would sometimes be ni
-
-
-
-
-
-
-l.
- * Downloads.subproj/WebDownload.m:
- (-[WebDownloadPrivate dealloc]): release directory path
- (-[WebDownload _initWithLoadingResource:dataSource:]): call _loadStarted and _loadEnded
- (-[WebDownload loadWithDelegate:]): call _loadStarted
- (-[WebDownload _loadStarted]): set flag, retain self
- (-[WebDownload _loadEnded]): set flag, release self
- (-[WebDownload resource:willSendRequest:]): call _loadEnded if the returned request is nil
- (-[WebDownload resourceDidFinishLoading:]): call _loadEnded
- (-[WebDownload resource:didFailLoadingWithError:]): call _loadEnded
- (-[WebDownload _createFileIfNecessary]): handle a predetermined download directory, not path
- (-[WebDownload _cancelWithError:]): call _loadEnded
- (-[WebDownload _setDirectoryPath:]): new private method
- * Downloads.subproj/WebDownloadPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _mainReceivedError:fromDataSource:complete:]): don't call [dataSource isDownloading]
- (-[WebController _downloadURL:toDirectory:]): create and start a self retained WebDownload
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m: removed download related methods
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m: removed download related methods
- (-[WebDataSource _commitIfReady:]): don't call isDownloading
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): when handing off the load to the download, don't deal with the download path
- (-[WebMainResourceClient resource:didReceiveResponse:]): no more predetermined downloads come through here
-
-2003-03-06 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- Step towards policy API changes. Remove WebPolicyNone,
- WebPolicyRevealInFinder, WebPolicyOpenURL and WebPolicyShow.
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
- * WebView.subproj/WebFramePrivate.m:
- (switch):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
-
-2003-03-06 Richard Williamson <rjw@apple.com>
-
- Remove setWebView: from WebFrame.
-
- Reviewed by chris.
-
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webView:controller:]):
- (-[WebFrame name]):
-
-2003-03-06 Richard Williamson <rjw@apple.com>
-
- API changes. WebCapabilities -> WebContentTypes.
- Move fileExtension from WebDataSource to WebContentTypes
-
- Reviewed by chris.
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_bestURL]):
- * WebKit.exp:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (+[WebContentTypes suggestedFileExtensionForMIMEType:]):
- (-[WebController supportsTextEncoding]):
- (-[WebController setCustomTextEncodingName:]):
- (-[WebController _mainFrameOverrideEncoding]):
- (-[WebController customTextEncodingName]):
- (-[WebController stringByEvaluatingJavaScriptFromString:]):
- (-[WebController userAgentForURL:]):
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
-
-2003-03-06 Chris Blumenberg <cblu@apple.com>
-
- Implemented WebDownload API.
-
- Fixed: 3118355 - Download mechanism that doesn't involve WebDataSource, WebFrame, WebController etc
- Fixed: 3110173 - add per-request disabling of download decoding, use to turn off when "Open Safe Files" is off
-
- Reviewed by trey, rjw, mjs.
-
- * Downloads.subproj/WebDownload.h: Tweaked comments, added new methods.
- * Downloads.subproj/WebDownload.m:
- (-[WebDownloadPrivate dealloc]): release new objects
- (-[WebDownload initWithRequest:]): was initWithRequest:delegate:, but found that starting the load from the init method made it tricky to do other set up work before the load started.
- (-[WebDownload _initWithLoadingResource:dataSource:]): private init method, "catches up" to load by sending delegate method immediately, doesn't retain the dataSource, uses it for info
- (-[WebDownload loadWithDelegate:]): new, starts load
- (-[WebDownload cancel]): cancel load with no error
- (-[WebDownload path]): simple getter
- (-[WebDownload setPath:]): implement this because WebDownload is the WebDownloadDecisionListener, call _setPath
- (-[WebDownload resource:willSendRequest:]): resource delegate method
- (-[WebDownload resource:didReceiveResponse:]): resource delegate method
- (-[WebDownload resource:didReceiveData:]): resource delegate method, decode and write data, cancel load if error
- (-[WebDownload resourceDidFinishLoading:]): resource delegate method, decode and write data if necessary, end in error if error
- (-[WebDownload resource:didFailLoadingWithError:]): resource delegate method, end in error
- (-[WebDownload _pathWithUniqueFilenameForPath:]): this work was done in _createFileIfNecessary, does what it says
- (-[WebDownload _createFSRefForPath:]): this work was done in _createFileIfNecessary as well, makes fileRefPtr point to a file
- (-[WebDownload _createFileIfNecessary]): creates file, creates temp file if path hasn't been set yet
- (-[WebDownload _decodeHeaderData:dataForkData:resourceForkData:]): call private method
- (-[WebDownload _decodeData:dataForkData:resourceForkData:]): made private, if the download is encoded, ask client if OK to decode
- (-[WebDownload _decodeData:]): hardly changed, don't cancel, just return error
- (-[WebDownload _dataIfDoneBufferingData:]): moved, not changed
- (-[WebDownload _finishDecoding]): hardly changed, don't cancel, just return error
- (-[WebDownload _writeForkData:isDataFork:]): moved, not changed
- (-[WebDownload _writeDataForkData:resourceForkData:]): moved, not changed
- (-[WebDownload _isFileClosed]): new
- (-[WebDownload _fileDidClose:]): new, called by the callback thread, delete file if deleteFile flag is set, report error or end successfully
- (-[WebDownload _closeForkAsync:]): new
- (-[WebDownload _closeForkSync:]): new
- (-[WebDownload _closeFileAsync]): new
- (-[WebDownload _closeFileSync]): new
- (-[WebDownload _deleteFileAsnyc]): new
- (-[WebDownload _closeAndDeleteFileAsync]): new
- (-[WebDownload _cancelWithError:]): kill load if there is one, report error if there is one, close and delete file is not already closed or deleted
- (-[WebDownload _cancelWithErrorCode:]): internal convenienve, calls _cancelWithError
- (-[WebDownload _setPath:]): set path, if we are already saving data to a temp path, move the file and continue downloading
- (-[WebDownload _currentPath]): new
- (-[WebDownload _errorWithCode:]): new
- (-[WebDownload _dataForkReferenceNumber]): added underscore
- (-[WebDownload _setDataForkReferenceNumber:]): added underscore
- (-[WebDownload _resourceForkReferenceNumber]): added underscore
- (-[WebDownload _setResourceForkReferenceNumber:]): added underscore
- (-[WebDownload _areWritesCancelled]): added underscore
- (-[WebDownload _setWritesCancelled:]): added underscore
- (-[WebDownload _encounteredCloseError]): new
- (-[WebDownload _setEncounteredCloseError:]): new
- (WriteCompletionCallback): call underscored methods
- (CloseCompletionCallback): call underscored methods, handle close error, don't delete file
- (DeleteCompletionCallback): call _currentPath
- * Downloads.subproj/WebDownloadPrivate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.h: renamed handle to resource
- * WebView.subproj/WebBaseResourceHandleDelegate.m: renamed handle to resource
- (-[WebBaseResourceHandleDelegate _releaseResources]): renamed handle to resource
- (-[WebBaseResourceHandleDelegate startLoading:]): renamed handle to resource
- (-[WebBaseResourceHandleDelegate loadWithRequest:]): renamed handle to resource
- (-[WebBaseResourceHandleDelegate setDefersCallbacks:]): renamed handle to resource
- (-[WebBaseResourceHandleDelegate resource:willSendRequest:]): renamed handle to resource
- (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]): renamed handle to resource, don't handle downloads
- (-[WebBaseResourceHandleDelegate resource:didReceiveData:]): renamed handle to resource, don't handle downloads
- (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]): renamed handle to resource, don't handle downloads
- (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]): renamed handle to resource, don't handle downloads
- (-[WebBaseResourceHandleDelegate cancelWithError:]): renamed handle to resource, don't handle downloads
- * WebView.subproj/WebController.h: updated comments
- * WebView.subproj/WebController.m:
- (-[WebController setDownloadDelegate:]): call the ivar downloadDelegate, not downloadProgressDelegate
- (-[WebController downloadDelegate]): call the ivar downloadDelegate, not downloadProgressDelegate
- * WebView.subproj/WebControllerPolicyDelegate.h: removed saveFilenameForResponse:andRequest:, handle by WebDownload
- * WebView.subproj/WebControllerPrivate.h: call the ivar downloadDelegate, not downloadProgressDelegate
- * WebView.subproj/WebDefaultPolicyDelegate.m: removed saveFilenameForResponse:andRequest:, handle by WebDownload
- * WebView.subproj/WebMainResourceClient.h: added WebResourceDelegateProxy icar
- * WebView.subproj/WebMainResourceClient.m: remove most download related stuff
- (-[WebMainResourceClient initWithDataSource:]): create a WebResourceDelegateProxy which allows us to change the resource delegate
- (-[WebMainResourceClient dealloc]): release the proxy
- (-[WebMainResourceClient receivedError:complete:]): don't handle downloads
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): pass the load off to the download
- (-[WebMainResourceClient resource:didReceiveResponse:]): don't handle downloads
- (-[WebMainResourceClient resource:didReceiveData:]): don't handle downloads
- (-[WebMainResourceClient resourceDidFinishLoading:]): don't handle downloads
- (-[WebMainResourceClient resource:didFailLoadingWithError:]): don't handle downloads
- (-[WebMainResourceClient startLoading:]): make the proxy the delegate
- (-[WebResourceDelegateProxy setDelegate:]): switches the resource delegate
- (-[WebResourceDelegateProxy resource:willSendRequest:]): forwards message
- (-[WebResourceDelegateProxy resource:didReceiveResponse:]): forwards message
- (-[WebResourceDelegateProxy resource:didReceiveData:]): forwards message
- (-[WebResourceDelegateProxy resourceDidFinishLoading:]): forwards message
- (-[WebResourceDelegateProxy resource:didFailLoadingWithError:]): forwards message
-
-2003-03-06 Richard Williamson <rjw@apple.com>
-
- Move tweaks to WebKit API.
-
- Removed [WebFrame setController:] from public API.
- Removed [WebDataSource stringWithData:] from public API.
-
- Reviewed by hyatt.
-
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource mainDocumentError]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _stringWithData:]):
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebHTMLRepresentation.m:
- * WebView.subproj/WebTextRepresentation.m:
- (-[WebTextRepresentation setDataSource:]):
- * WebView.subproj/WebTextView.m:
- (-[WebTextView dataSourceUpdated:]):
-
-2003-03-06 Richard Williamson <rjw@apple.com>
-
- Tweaks to WebKit API.
- Dropped URL on WebDataSource.
- Dropped start/stop loading on WebDataSource.
- Drop frameForView and frameForDataSource from WebController.
- Moved canShowXX to WebCapabilities.
-
- Reviewed by hyatt.
-
- * Downloads.subproj/WebDownload.m:
- (-[WebDownload errorWithCode:]):
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_bestURL]):
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_printViewHierarchy:]):
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView dataSource]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- * WebKit.exp:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (+[WebCapabilities canShowMIMEType:]):
- (+[WebCapabilities canShowFile:]):
- (-[WebController mainFrame]):
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _frameForDataSource:fromFrame:]):
- (-[WebController _frameForDataSource:]):
- (-[WebController _frameForView:fromFrame:]):
- (-[WebController _frameForView:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _stopLoading]):
- (-[WebDataSource _stopLoadingInternal]):
- (-[WebDataSource _recursiveStopLoading]):
- (-[WebDataSource _updateIconDatabaseWithURL:]):
- (-[WebDataSource _loadIcon]):
- (-[WebDataSource _URL]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate openFrameInNewWindow:]):
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame stopLoading]):
- * WebView.subproj/WebFramePrivate.m:
- (if):
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _frame]):
- (-[WebHTMLView _elementAtPoint:]):
- * WebView.subproj/WebImageRepresentation.m:
- (-[WebImageRepresentation setDataSource:]):
- * WebView.subproj/WebImageView.m:
- (-[WebImageView menuForEvent:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient cancel]):
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient resource:didReceiveData:]):
- (-[WebMainResourceClient resourceDidFinishLoading:]):
- * WebView.subproj/WebTextView.m:
- (-[WebTextView menuForEvent:]):
- * WebView.subproj/WebView.m:
- (-[WebView webFrame]):
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _isMainFrame]):
-
-2003-03-06 Ed Voas voas@apple.com
-
- Reviewed by Richard.
-
- Don't use _HIViewSetNeedsDisplayInRect for now. Fixes
- Jaguar builds.
-
- * Carbon.subproj/HIViewAdapter.m:
- (-[HIViewAdapter setNeedsDisplay:]):
- (-[HIViewAdapter setNeedsDisplayInRect:]):
-
-2003-03-05 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- Step towards policy API chantes - removed unneeded policy and URL
- arguments from unableToImplementPolicy:
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
-
-2003-03-06 Ed Voas voas@apple.com
-
- Reviewed by Richard.
-
- First cut of Carbon view support. It will need tweaking as we go,
- but I think I finally have all the assertions taken care of, and
- I also believe that I have the drawing glitches all sorted out now.
-
- * Carbon.subproj/CarbonUtils.h: Added.
- * Carbon.subproj/CarbonUtils.m: Added.
- (InitWebKitForCarbon):
- (PoolCleaner):
- (ConvertNSImageToCGImageRef):
- * Carbon.subproj/CarbonWindowAdapter.h: Added.
- * Carbon.subproj/CarbonWindowAdapter.m: Added.
- (+[CarbonWindowAdapter frameViewClassForStyleMask:]):
- (-[CarbonWindowAdapter initWithContentRect:styleMask:backing:defer:]):
- (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
- (-[CarbonWindowAdapter setViewsNeedDisplay:]):
- (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:]):
- (-[CarbonWindowAdapter dealloc]):
- (-[CarbonWindowAdapter windowRef]):
- (-[CarbonWindowAdapter _hasWindowRef]):
- (-[CarbonWindowAdapter _managesWindowRef]):
- (-[CarbonWindowAdapter _removeWindowRef]):
- (-[CarbonWindowAdapter _carbonWindowClass]):
- (-[CarbonWindowAdapter reconcileToCarbonWindowBounds]):
- (-[CarbonWindowAdapter sendSuperEvent:]):
- (-[CarbonWindowAdapter _cancelKey:]):
- (-[CarbonWindowAdapter _commonAwake]):
- (-[CarbonWindowAdapter _destroyRealWindow:]):
- (-[CarbonWindowAdapter _oldPlaceWindow:]):
- (-[CarbonWindowAdapter _termWindowIfOwner]):
- (-[CarbonWindowAdapter _windowMovedToRect:]):
- (-[CarbonWindowAdapter constrainFrameRect:toScreen:]):
- (-[CarbonWindowAdapter selectKeyViewFollowingView:]):
- (-[CarbonWindowAdapter selectKeyViewPrecedingView:]):
- (-[CarbonWindowAdapter makeKeyWindow]):
- (-[CarbonWindowAdapter canBecomeKeyWindow]):
- (-[CarbonWindowAdapter canBecomeMainWindow]):
- (-[CarbonWindowAdapter encodeWithCoder:]):
- (-[CarbonWindowAdapter initWithCoder:]):
- (-[CarbonWindowAdapter setContentView:]):
- (-[CarbonWindowAdapter worksWhenModal]):
- (-[CarbonWindowAdapter _setModalWindowLevel]):
- (-[CarbonWindowAdapter _clearModalWindowLevel]):
- (-[CarbonWindowAdapter carbonHICommandIDFromActionSelector:]):
- (-[CarbonWindowAdapter sendCarbonProcessHICommandEvent:]):
- (-[CarbonWindowAdapter sendCarbonUpdateHICommandStatusEvent:withMenuRef:andMenuItemIndex:]):
- (-[CarbonWindowAdapter _handleRootBoundsChanged]):
- (-[CarbonWindowAdapter _handleContentBoundsChanged]):
- (-[CarbonWindowAdapter _handleCarbonEvent:callRef:]):
- (NSCarbonWindowHandleEvent):
- * Carbon.subproj/CarbonWindowContentView.h: Added.
- * Carbon.subproj/CarbonWindowContentView.m: Added.
- * Carbon.subproj/CarbonWindowFrame.h: Added.
- * Carbon.subproj/CarbonWindowFrame.m: Added.
- (+[CarbonWindowFrame frameRectForContentRect:styleMask:]):
- (+[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
- (+[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
- (-[CarbonWindowFrame frameRectForContentRect:styleMask:]):
- (-[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
- (-[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
- (-[CarbonWindowFrame initWithFrame:styleMask:owner:]):
- (-[CarbonWindowFrame dealloc]):
- (-[CarbonWindowFrame _setFrameNeedsDisplay:]):
- (-[CarbonWindowFrame _setSheet:]):
- (-[CarbonWindowFrame _updateButtonState]):
- (-[CarbonWindowFrame _windowChangedKeyState]):
- (-[CarbonWindowFrame _showToolbarWithAnimation:]):
- (-[CarbonWindowFrame _hideToolbarWithAnimation:]):
- (-[CarbonWindowFrame closeButton]):
- (-[CarbonWindowFrame styleMask]):
- (-[CarbonWindowFrame dragRectForFrameRect:]):
- (-[CarbonWindowFrame isOpaque]):
- (-[CarbonWindowFrame minimizeButton]):
- (-[CarbonWindowFrame setTitle:]):
- (-[CarbonWindowFrame title]):
- (-[CarbonWindowFrame _sheetHeightAdjustment]):
- (-[CarbonWindowFrame _maxTitlebarTitleRect]):
- (-[CarbonWindowFrame _clearDragMargins]):
- (-[CarbonWindowFrame _resetDragMargins]):
- * Carbon.subproj/HIViewAdapter.h: Added.
- * Carbon.subproj/HIViewAdapter.m: Added.
- (+[HIViewAdapter bindHIViewToNSView:nsView:]):
- (+[HIViewAdapter getHIViewForNSView:]):
- (+[HIViewAdapter unbindNSView:]):
- (-[HIViewAdapter initWithFrame:view:]):
- (-[HIViewAdapter hiView]):
- (-[HIViewAdapter nextValidKeyView]):
- (-[HIViewAdapter setNeedsDisplay:]):
- (-[HIViewAdapter setNeedsDisplayInRect:]):
- (-[CarbonSheetInterceptor _orderFrontRelativeToWindow:]):
- (-[CarbonSheetInterceptor _orderOutRelativeToWindow:]):
- * Carbon.subproj/HIWebView.h: Added.
- * Carbon.subproj/HIWebView.m: Added.
- (if):
- (switch):
- * Carbon.subproj/HIWebViewPriv.h: Added.
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
-
-=== Safari-65 ===
-
-2003-03-05 Richard Williamson <rjw@apple.com>
-
- API changes
- WebView and WebDataSource give up -(WebController *)controller.
- WebView gets -(WebFrame *)webFrame.
-
- Reviewed by cblu.
-
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView dataSource]):
- * Plugins.subproj/WebNullPluginView.m:
- (-[WebNullPluginView viewDidMoveToWindow]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge startLoadingResource:withURL:]):
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- (-[WebSubresourceClient receivedError:]):
- (-[WebSubresourceClient resourceDidFinishLoading:]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate setDataSource:]):
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController backForwardList]):
- (-[WebController setUsesBackForwardList:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _controller]):
- (-[WebDataSource _receivedError:complete:]):
- (-[WebDataSource _loadIcon]):
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFramePrivate.m:
- (switch):
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _controller]):
- (-[WebHTMLView _frame]):
- (-[WebHTMLView _elementAtPoint:]):
- * WebView.subproj/WebImageView.m:
- (-[WebImageView controller]):
- (-[WebImageView menuForEvent:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
- (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
- (-[WebMainResourceClient resource:willSendRequest:]):
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
- (-[WebMainResourceClient resource:didReceiveResponse:]):
- (-[WebMainResourceClient resource:didReceiveData:]):
- (-[WebMainResourceClient resourceDidFinishLoading:]):
- (-[WebMainResourceClient resource:didFailLoadingWithError:]):
- * WebView.subproj/WebTextView.m:
- (-[WebTextView menuForEvent:]):
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView webFrame]):
- (-[WebView concludeDragOperation:]):
- * WebView.subproj/WebViewPrivate.h:
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _controller]):
-
-2003-03-05 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Ken.
-
- * WebView.subproj/WebFramePrivate.m:
- (_recursiveGoToItem:fromItem:withLoadType:): Account for
- possibility of nil target.
-
-2003-03-05 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed crash when going back due to frame name of nil since we
- don't force the name "_top" any more.
- * WebView.subproj/WebController.m:
- (-[WebController _goToItem:withLoadType:]): Handle nil target
- properly.
-
-2003-03-05 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3189441 -- REGRESSION: layout tests crash building generated frame name
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _addFramePathToString:]):
- Handle a frame name of nil here, since we don't force the name "_top" any more.
-
-2003-03-04 Trey Matteson <trey@apple.com>
-
- Support for autofill. These are just two new glue routines
- that call down through the bridge. They allow regexp driven
- binding of AB data to form elements.
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation searchForLabels:beforeElement:]):
- Call straight to bridge.
- (-[WebHTMLRepresentation matchLabels:againstElement:]):
- Call straight to bridge.
-
-2003-03-04 Maciej Stachowiak <mjs@apple.com>
-
- Reinstate missing part of last checking.
- * WebView.subproj/WebFramePrivate.m:
-
-2003-03-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- Added the ability to set the top-level frame name via the
- WebController initializer. Also made [[controller mainFrame]
- frameName] return the true top-level frame name instead of "_top",
- since that is already special-cased anywhere it needs to be.
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController init]): Update for change to designated initializer.
- (-[WebController initWithView:]): New convenience initializer.
- (-[WebController initWithView:frameName:setName:]): Added ability to set
- top-level frame name.
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate dealloc]): Remove topLevelFrameNAme field.
- (-[WebController _setTopLevelFrameName:]): Actually set it
- on the top level frame, no point to keeping it here.
- (-[WebController _findFrameInThisWindowNamed:]): No more need to
- special-case top-level frame name.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webView:controller:]): call [self _setName:] instead
- of [_private setName:]
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _setName:]): Don't let the name get set to _blank.
-2003-03-04 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- * Misc.subproj/WebKitNSStringExtras.h:
- * Misc.subproj/WebKitNSStringExtras.m:
- (-[NSString _web_widthWithFont:]):
- (-[NSString _web_drawAtPoint:font:textColor:):
- removed the unnecessary string parameter from these two
- NSString methods.
-
-2003-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - got rid of some framework initialization (working on bug 3185161)
-
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences _postPreferencesChangesNotification]): Moved this function up.
- (+[WebPreferences standardPreferences]): Call _postPreferencesChangesNotification when this is made,
- for consistency with the old behavior.
- (+[WebPreferences initialize]): Changed to initialize from load, and got rid of stuff we don't want
- to do from inside an initialize function.
-
-2003-03-04 Richard Williamson <rjw@apple.com>
-
- Remove initWithURL: and frameName from WebDataSource public API.
-
- Reviewed by trey.
-
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource webFrame]):
-
-2003-03-04 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
- * English.lproj/Localizable.strings: Regenerated.
-
-2003-03-03 Richard Williamson <rjw@apple.com>
-
- Switch all WebController's delegate to use informal protocols.
-
- Reviewed by trey.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView status:]):
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebNullPluginView.m:
- (-[WebNullPluginView viewDidMoveToWindow]):
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController showStatus:]):
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]):
- (-[WebBridge showWindow]):
- (-[WebBridge areToolbarsVisible]):
- (-[WebBridge setToolbarsVisible:]):
- (-[WebBridge isStatusBarVisible]):
- (-[WebBridge setStatusBarVisible:]):
- (-[WebBridge setWindowFrame:]):
- (-[WebBridge setStatusText:]):
- (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
- (-[WebBridge setWebFrame:]):
- * WebKit.exp:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate resourceLoadDelegate]):
- (-[WebBaseResourceHandleDelegate downloadDelegate]):
- (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
- (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
- (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
- (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
- (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
- (-[WebBaseResourceHandleDelegate cancelWithError:]):
- (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]):
- * WebView.subproj/WebContextMenuDelegate.h:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController setWindowOperationsDelegate:]):
- (-[WebController windowOperationsDelegate]):
- (-[WebController setResourceLoadDelegate:]):
- (-[WebController resourceLoadDelegate]):
- (-[WebController setDownloadDelegate:]):
- (-[WebController downloadDelegate]):
- (-[WebController setContextMenuDelegate:]):
- (-[WebController contextMenuDelegate]):
- (-[WebController setPolicyDelegate:]):
- (-[WebController policyDelegate]):
- (-[WebController setLocationChangeDelegate:]):
- (-[WebController locationChangeDelegate]):
- (-[WebController stringByEvaluatingJavaScriptFromString:]):
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _openNewWindowWithRequest:behind:]):
- (-[WebController _menuForElement:]):
- (-[WebController _mouseDidMoveOverElement:modifierFlags:]):
- (-[WebController _locationChangeDelegateForwarder]):
- (-[WebController _resourceLoadDelegateForwarder]):
- (-[WebController _policyDelegateForwarder]):
- (-[WebController _contextMenuDelegateForwarder]):
- (-[WebController _windowOperationsDelegateForwarder]):
- (-[_WebSafeForwarder initWithTarget:defaultTarget:templateClass:]):
- (-[_WebSafeForwarder forwardInvocation:]):
- (-[_WebSafeForwarder methodSignatureForSelector:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource _setTitle:]):
- (-[WebDataSource _setRequest:]):
- (-[WebDataSource _updateIconDatabaseWithURL:]):
- * WebView.subproj/WebDefaultContextMenuDelegate.h:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (+[WebDefaultContextMenuDelegate sharedContextMenuDelegate]):
- * WebView.subproj/WebDefaultLocationChangeDelegate.h: Added.
- * WebView.subproj/WebDefaultLocationChangeDelegate.m: Added.
- (+[WebDefaultLocationChangeDelegate sharedLocationChangeDelegate]):
- (-[WebDefaultLocationChangeDelegate locationChangeStartedForDataSource:]):
- (-[WebDefaultLocationChangeDelegate serverRedirectedForDataSource:]):
- (-[WebDefaultLocationChangeDelegate locationChangeCommittedForDataSource:]):
- (-[WebDefaultLocationChangeDelegate receivedPageTitle:forDataSource:]):
- (-[WebDefaultLocationChangeDelegate receivedPageIcon:forDataSource:]):
- (-[WebDefaultLocationChangeDelegate locationChangeDone:forDataSource:]):
- (-[WebDefaultLocationChangeDelegate willCloseLocationForDataSource:]):
- (-[WebDefaultLocationChangeDelegate locationChangedWithinPageForDataSource:]):
- (-[WebDefaultLocationChangeDelegate clientWillRedirectTo:delay:fireDate:forFrame:]):
- (-[WebDefaultLocationChangeDelegate clientRedirectCancelledForFrame:]):
- * WebView.subproj/WebDefaultPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (+[WebDefaultPolicyDelegate sharedPolicyDelegate]):
- * WebView.subproj/WebDefaultPolicyDelegatePrivate.h: Removed.
- * WebView.subproj/WebDefaultResourceLoadDelegate.h: Added.
- * WebView.subproj/WebDefaultResourceLoadDelegate.m: Added.
- (+[WebDefaultResourceLoadDelegate sharedResourceLoadDelegate]):
- (-[WebDefaultResourceLoadDelegate identifierForInitialRequest:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate resource:willSendRequest:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate resource:didReceiveContentLength:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate resource:didFinishLoadingFromDataSource:]):
- (-[WebDefaultResourceLoadDelegate resource:didFailLoadingWithError:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate pluginFailedWithError:dataSource:]):
- * WebView.subproj/WebDefaultWindowOperationsDelegate.h: Added.
- * WebView.subproj/WebDefaultWindowOperationsDelegate.m: Added.
- (+[WebDefaultWindowOperationsDelegate sharedWindowOperationsDelegate]):
- (-[WebDefaultWindowOperationsDelegate runJavaScriptConfirmPanelWithMessage:]):
- (-[WebDefaultWindowOperationsDelegate runJavaScriptTextInputPanelWithPrompt:defaultText:]):
- (-[WebDefaultWindowOperationsDelegate runOpenPanelForFileButtonWithResultListener:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webView:controller:]):
- (-[WebFrame findOrCreateFrameNamed:]):
- * WebView.subproj/WebFramePrivate.m:
- (if):
- (switch):
- * WebView.subproj/WebLocationChangeDelegate.h:
- * WebView.subproj/WebLocationChangeDelegate.m: Removed.
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebWindowOperationsDelegate.h:
-
-2003-03-03 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - simplified the custom user agent and text encoding methods as per request from documentation group
-
- * WebView.subproj/WebController.h: Removed hasCustomUserAgent, resetUserAgent, hasCustomTextEncoding,
- and resetTextEncoding. Updated comments to indicate what nil means.
-
- * WebView.subproj/WebController.m:
- (-[WebController setCustomUserAgent:]): Remove assertion, allow nil.
- (-[WebController customUserAgent]): Remove nil check.
- (-[WebController setCustomTextEncodingName:]): Remove assertion, allow nil, and do an == check along
- with the isEqualToString: check to handle the nil case.
- (-[WebController customTextEncodingName]): Remove nil check.
-
-2003-03-01 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3163855 - Need control over certain potential dialogs/sheets
-
- * WebCoreSupport.subproj/WebBridge.h:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge runJavaScriptAlertPanelWithMessage:]): Moved here from
- view factory. Call the bridge instead of popping up the dialog.
- (-[WebBridge runJavaScriptConfirmPanelWithMessage:]): Likewise.
- (-[WebBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
- Likewise.
- (-[WebBridge fileButton]): Moved here from view factory, so we can
- pass the bridge to the button.
- (-[WebBridge runOpenPanelForFileButtonWithResultListener:]): Call the delegate.
- * WebCoreSupport.subproj/WebFileButton.h:
- * WebCoreSupport.subproj/WebFileButton.m:
- (-[WebFileButton initWithBridge:]): New method so this object knows about the bridge.
- (-[WebFileButton beginSheet]): Instead of popping up the sheet directly,
- call the bridge (which will call the delegate).
- (-[WebFileButton chooseFilename:]): Update for the new filename.
- (-[WebFileButton cancel]): Do nothing.
- * WebCoreSupport.subproj/WebViewFactory.m: Removed some methods.
- * WebKit.exp: Export .objc_class_WebJavaScriptTextInputPanel (for now).
- * WebKit.pbproj/project.pbxproj: Export WebJavaScriptTextInputPanel.h (for now).
- * WebView.subproj/WebWindowOperationsDelegate.h: Added new methods.
-
-2003-03-01 Richard Williamson <rjw@apple.com>
-
- Reviewed by Chris & Darin.
-
- Fixed frameRequiredForMIMEType: to correctly check for BOTH
- netscape plugins and cocoa plugins.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge frameRequiredForMIMEType:]):
-
- Made WebPluginViewFactory.h private (SPI) to provide access to
- plugin package keys.
-
- * WebKit.pbproj/project.pbxproj:
-
-2003-02-28 Richard Williamson <rjw@apple.com>
-
- Make WebDOM* classes private instead of public. This change
- was made before but the project file must have been accidentally
- overwritten. Make the WebPlugin* classes private.
-
- * WebKit.pbproj/project.pbxproj:
-
-7003-02-28 Trey Matteson <trey@apple.com>
-
- Various support for autofill/autocomplete.
-
- We receive a form along with the formValues from WC on submit, which we
- just pass along to the FormDelegate. As part of this we store the values
- and the form together in a new private WebFormState class. Lots of glue
- for passing this around instead of just the values dict.
-
- Send willCloseLocationForDataSource when we are finally through with a page.
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:reload:triggeringEvent:form:formValues:]):
- Pass along form along with values
- (-[WebBridge postWithURL:data:contentType:triggeringEvent:form:formValues:]):
- Pass along form along with values
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _commitIfReady:]): Call frame to send willCloseLocationForDataSource.
- * WebView.subproj/WebFormDelegate.h:
- * WebView.subproj/WebFormDelegate.m:
- (-[WebFormDelegate frame:willSubmitForm:withValues:]): Pass form along with values
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadRequest:]): Pass FormState instead of just values.
- (-[WebFrame reload]): Pass FormState instead of just values.
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- <<prepare-ChangeLog flailed on this file>>
- Lots of routines were we pass FormState instead of the form values dict
- -([WebFrame _closeOldDataSources]): New, sends willCloseLocation for whole frame tree.
- New, trivial, WebFormState class.
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation formIsLoginForm:]): Changed to take form instead of form field.
- (-[WebHTMLRepresentation formForElement:]): New, just pass through bridge.
- (-[WebHTMLRepresentation controlsInForm:]): New, just pass through bridge.
- * WebView.subproj/WebLocationChangeDelegate.h: Add willCloseLocationForDataSource.
- * WebView.subproj/WebLocationChangeDelegate.m:
- (-[WebLocationChangeDelegate willCloseLocationForDataSource:]): Default impl.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterNavigationPolicy:formState:]):
- Pass FormState instead of just values.
- (-[WebMainResourceClient resource:willSendRequest:]):
- Pass FormState instead of just values.
-
-2003-02-28 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- - fixed 3180170 - filepile.com does not work correctly
-
- I fixed this by making referrer work correctly for targetted
- cross-frame and cross-window links. It is still not working right
- for JavaScript window.open though.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]): Set referrer.
- (-[WebBridge loadURL:referrer:reload:triggeringEvent:formValues:]): Pass referrer
- along to frame.
- (-[WebBridge postWithURL:referrer:data:contentType:triggeringEvent:formValues:]):
- Likewise.
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadItem:fromItem:withLoadType:]): Pass referrer.
- (-[WebFrame
- _loadURL:referrer:loadType:triggeringEvent:formValues:]): Use
- passed-in referrer (link could have been clicked in another
- frame).
- (-[WebFrame _loadURL:intoChild:]): Pass referrer.
- (-[WebFrame
- _postWithURL:referrer:data:contentType:triggeringEvent:formValues:]):
- Use passed-in referrer.
-
-2003-02-28 Darin Adler <darin@apple.com>
-
- Reviewed by Trey.
-
- - fixed 3183575 -- <https://sbcreg.sbcglobal.net> casuses infinite refresh & crash
-
- The page had history.forward(1) which was causing us to reload.
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge goBackOrForward:]):
- Handle edge cases by checking backListCount and forwardListCount at this level.
- Be sure to do nothing when we are already on the right page.
-
- * History.subproj/WebBackForwardList.h: Added forwardListCount, updated comment for entryAtIndex.
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList forwardListCount]): Added.
- (-[WebBackForwardList entryAtIndex:]): Return nil for out of range indices.
-
-2003-02-27 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Richard.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge window]): Avoid calling removed call.
- * WebView.subproj/WebView.m: Remove override of window method.
- * WebView.subproj/WebWindowOperationsDelegate.h:
- Adjust for new API.
-=== Safari-64 ===
-
-=== Safari-63 ===
-
-2003-02-26 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Dave.
-
- - fixed reproducible hang at http://asp.eltonsoft.dk/cast/get.asp?cat=Quicktime
-
- WebKit's processing time was O(N^3) in the number of
- frames. Improved it to O(N^2) by storing frame pointer directly in
- WebDataSource instead of linear scan. Could still be improved more.
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource webFrame]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _stopLoadingWithError:]):
- (-[WebDataSource _setWebFrame:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _detachFromParent]):
- (-[WebFrame _setDataSource:]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _isLoadComplete]):
- (-[WebFrame _clearProvisionalDataSource]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]):
- (-[WebFrame _loadDataSource:withLoadType:formValues:]):
- (-[WebFrame _setProvisionalDataSource:]):
-
-2003-02-26 Richard Williamson <rjw@apple.com>
-
- Fixed 3102760. Removed WebDocumentDragSettings from API.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebHTMLView.h:
- * WebView.subproj/WebHTMLView.m:
- * WebView.subproj/WebImageView.h:
- * WebView.subproj/WebImageView.m:
- (-[WebImageView initWithFrame:]):
- (-[WebImageView mouseDragged:]):
- * WebView.subproj/WebTextView.h:
- * WebView.subproj/WebTextView.m:
- (-[WebTextView initWithFrame:]):
- (-[WebTextView layout]):
-
-2003-02-25 David Hyatt <hyatt@apple.com>
-
- Fix for bug #3181249. Ensure the padding argument gets passed
- through properly (instead of just passing 0).
- Reviewed by darin
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
-
-2003-02-25 John Sullivan <sullivan@apple.com>
-
- WebKit part of fix for 3181290 -- need call to reload all bookmarks from disk,
- for synching's sake.
-
- I ended up not adding a new call, but making the existing loadBookmarkGroup
- work better when called after the initial load. It wasn't doing anything wrong
- before; it just wasn't passing along enough information to clients to enable
- them to do the right thing.
-
- Reviewed by Trey
-
- * Bookmarks.subproj/WebBookmarkGroup.h:
- new extern NSStrings WebBookmarksWillBeReloadedNotification and
- WebBookmarksWereReloadedNotification
-
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup _sendNotification:forBookmark:children:]):
- soften assert so it doesn't fire on the new cases.
-
- (-[WebBookmarkGroup _bookmarksWillBeReloaded]):
- send WebBookmarksWillBeReloadedNotification
- (-[WebBookmarkGroup _bookmarksWereReloaded]):
- send WebBookmarksWereReloadedNotification
-
- (-[WebBookmarkGroup _loadBookmarkGroupGuts]):
- bracket the load with the new notification-sending calls
-
- * WebKit.exp:
- add the two new extern NSStrings
-
-2003-02-25 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3176962 -- add KHTML somewhere in the user agent string
-
- * English.lproj/StringsNotToBeLocalized.txt: Change "(like Gecko)" to "(KHTML, like Gecko)".
- * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]): Ditto.
-
-2003-02-20 Chris Blumenberg <cblu@apple.com>
-
- Added _web_superviewOfClass:stoppingAtClass:. Climbs up hierarchy and returns nil when stoppingAtClass is hit.
-
- Reviewed by darin.
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_superviewOfClass:stoppingAtClass:]):
- (-[NSView _web_superviewOfClass:]):
-
-2003-02-20 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by David
-
- Modified to use new WebFoundation API. Though there seem to be
- many changes, they are all "uninteresting" in that the changes
- only moved code to use new method and class names.
-
- * Downloads.subproj/WebDownload.h:
- * Downloads.subproj/WebDownload.m:
- (-[WebDownload initWithRequest:delegate:]):
- (-[WebDownload _initWithLoadingHandle:request:response:delegate:]):
- (-[WebDownload createFileIfNecessary]):
- * Downloads.subproj/WebDownloadPrivate.h:
- * Misc.subproj/WebIconLoader.h:
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader startLoading]):
- (-[WebIconLoader resourceDidFinishLoading:]):
- (-[WebIconLoader resource:willSendRequest:]):
- (-[WebIconLoader resource:didReceiveResponse:]):
- (-[WebIconLoader resource:didReceiveData:]):
- (-[WebIconLoader resource:didFailLoadingWithError:]):
- * Misc.subproj/WebResourceResponseExtras.h:
- * Misc.subproj/WebResourceResponseExtras.m:
- (-[WebHTTPResponse suggestedFilenameForSaving]):
- * Plugins.subproj/WebBaseNetscapePluginStream.h:
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setResponse:]):
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendEvent:]):
- (-[WebBaseNetscapePluginView requestWithURLCString:]):
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]):
- (-[WebBaseNetscapePluginView getURL:target:]):
- (-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]):
- (-[WebPluginRequest initWithRequest:frame:notifyData:]):
- (-[WebPluginRequest request]):
- * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]):
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedError:withDataSource:]):
- * Plugins.subproj/WebNetscapePluginStream.h:
- * Plugins.subproj/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:]):
- (-[WebNetscapePluginStream resource:didReceiveResponse:]):
- (-[WebNetscapePluginStream resource:didReceiveData:]):
- (-[WebNetscapePluginStream resourceDidFinishLoading:]):
- (-[WebNetscapePluginStream resource:didFailLoadingWithError:]):
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController showURL:inFrame:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]):
- (-[WebBridge objectLoadedFromCacheWithURL:response:size:]):
- (-[WebBridge defersLoading]):
- (-[WebBridge setDefersLoading:]):
- (-[WebBridge loadEmptyDocumentSynchronously]):
- * WebCoreSupport.subproj/WebCookieAdapter.m:
- (-[WebCookieAdapter cookiesForURL:]):
- (-[WebCookieAdapter setCookies:forURL:policyBaseURL:]):
- * WebCoreSupport.subproj/WebSubresourceClient.h:
- * WebCoreSupport.subproj/WebSubresourceClient.m:
- (+[WebSubresourceClient startLoadingResource:withURL:referrer:forDataSource:]):
- (-[WebSubresourceClient resource:willSendRequest:]):
- (-[WebSubresourceClient resource:didReceiveResponse:]):
- (-[WebSubresourceClient resource:didReceiveData:]):
- (-[WebSubresourceClient resourceDidFinishLoading:]):
- (-[WebSubresourceClient resource:didFailLoadingWithError:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate startLoading:]):
- (-[WebBaseResourceHandleDelegate loadWithRequest:]):
- (-[WebBaseResourceHandleDelegate setDefersCallbacks:]):
- (-[WebBaseResourceHandleDelegate resource:willSendRequest:]):
- (-[WebBaseResourceHandleDelegate resource:didReceiveResponse:]):
- (-[WebBaseResourceHandleDelegate resource:didReceiveData:]):
- (-[WebBaseResourceHandleDelegate resourceDidFinishLoading:]):
- (-[WebBaseResourceHandleDelegate resource:didFailLoadingWithError:]):
- (-[WebBaseResourceHandleDelegate cancelledError]):
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebResourceLoadDelegate identifierForInitialRequest:fromDataSource:]):
- (-[WebResourceLoadDelegate resource:willSendRequest:fromDataSource:]):
- (-[WebResourceLoadDelegate resource:didReceiveResponse:fromDataSource:]):
- * WebView.subproj/WebControllerPolicyDelegate.h:
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _downloadURL:toDirectory:]):
- (-[WebController defersCallbacks]):
- (-[WebController setDefersCallbacks:]):
- (-[WebController _openNewWindowWithRequest:behind:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithURL:]):
- (-[WebDataSource initWithRequest:]):
- (-[WebDataSource initialRequest]):
- (-[WebDataSource request]):
- (-[WebDataSource response]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _addSubresourceClient:]):
- (-[WebDataSource _stopLoading]):
- (-[WebDataSource _setURL:]):
- (-[WebDataSource _setRequest:]):
- (-[WebDataSource _setResponse:]):
- (-[WebDataSource _commitIfReady:]):
- (-[WebDataSource _defersCallbacksChanged]):
- (-[WebDataSource _originalRequest]):
- (-[WebDataSource _lastCheckedRequest]):
- (-[WebDataSource _setLastCheckedRequest:]):
- (-[WebDataSource _addResponse:]):
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]):
- (-[WebDefaultContextMenuDelegate openNewWindowWithURL:]):
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate savePathForResponse:andRequest:]):
- (-[WebDefaultPolicyDelegate decideNavigationPolicyForAction:andRequest:inFrame:decisionListener:]):
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadRequest:]):
- (-[WebFrame reload]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _createItem]):
- (-[WebFrame _opened]):
- (-[WebFrame _loadItem:fromItem:withLoadType:]):
- (-[WebFrame _loadRequest:triggeringAction:loadType:formValues:]):
- (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formValues:andCall:withSelector:]):
- (-[WebFrame _continueAfterNavigationPolicy:]):
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formValues:]):
- (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
- (-[WebFrame _loadURL:loadType:triggeringEvent:formValues:]):
- (-[WebFrame _postWithURL:data:contentType:triggeringEvent:formValues:]):
- (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]):
- (-[WebFrame _downloadRequest:toDirectory:]):
- * WebView.subproj/WebHTMLRepresentation.m:
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterNavigationPolicy:formValues:]):
- (-[WebMainResourceClient resource:willSendRequest:]):
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient checkContentPolicyForResponse:andCallSelector:]):
- (-[WebMainResourceClient resource:didReceiveResponse:]):
- (-[WebMainResourceClient resource:didReceiveData:]):
- (-[WebMainResourceClient resourceDidFinishLoading:]):
- (-[WebMainResourceClient resource:didFailLoadingWithError:]):
- (-[WebMainResourceClient startLoading:]):
- * WebView.subproj/WebResourceLoadDelegate.h:
- * WebView.subproj/WebTextRepresentation.m:
- * WebView.subproj/WebTextView.m:
- * WebView.subproj/WebView.m:
- (-[WebView concludeDragOperation:]):
- * WebView.subproj/WebViewPrivate.m:
- * WebView.subproj/WebWindowOperationsDelegate.h:
-
-2003-02-18 Maciej Stachowiak <mjs@ap0101m-dhcp138.apple.com>
-
- Reviewed by Chris.
- Merged changes from Safari-58-1-branch.
- 2003-02-11 Richard Williamson <rjw@apple.com>
-
- Add import of CGFontCache.h, which is no longer
- included by CoreGraphicsPrivate.h.
-
- Reviewed by Vicki.
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
-
- 2003-02-11 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebTextRenderer.m: Change (void **) cast
- to (void *) for compatibility with the latest Panther.
- 2003-02-11 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- * WebKit.pbproj/project.pbxproj: Add /System/Library/PrivateFrameworks
-
-=== Safari-62 ===
-
-2003-02-17 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Trey
-
- Rolled in documentation changes from Peter Kelly, our tech writer.
-
- * History.subproj/WebBackForwardList.h
- * History.subproj/WebHistory.h
- * Misc.subproj/WebKitErrors.h
- * Misc.subproj/WebResourceResponseExtras.h
- * Panels.subproj/WebStandardPanels.h
- * Plugins.subproj/WebPluginError.h
- * WebView.subproj/WebContextMenuDelegate.h
- * WebView.subproj/WebController.h
- * WebView.subproj/WebControllerPolicyDelegate.h
- * WebView.subproj/WebDataSource.h
- * WebView.subproj/WebDefaultPolicyDelegate.h
- * WebView.subproj/WebDocument.h
- * WebView.subproj/WebFrame.h
- * WebView.subproj/WebPreferences.h
- * WebView.subproj/WebResourceLoadDelegate.h
- * WebView.subproj/WebView.h
- * WebView.subproj/WebWindowOperationsDelegate.h
-
-2003-02-13 Trey Matteson <trey@apple.com>
-
- 2943514 hide the cursor when using the arrow keys to scroll
- Reviewed by Darin
-
- * WebView.subproj/WebView.m:
- (-[WebView keyDown:]): Hide that cursor.
-
-2003-02-16 Chris Blumenberg <cblu@apple.com>
-
- Added debug method that can be used inside of gdb to examine an image. Needed this many times.
-
- Reviewed by darin.
-
- * Misc.subproj/WebNSImageExtras.h:
- * Misc.subproj/WebNSImageExtras.m:
- (-[NSImage _web_saveAndOpen]):
-
-2003-02-15 Darin Adler <darin@apple.com>
-
- * English.lproj/Localizable.strings: Regenerated.
-
-2003-02-14 David Hyatt <hyatt@apple.com>
-
- Patch to the drawLine function for the inline box model landing.
- Reviewed by kocienda
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
-
-2003-02-13 Trey Matteson <trey@apple.com>
-
- First checkin for working forms autocomplete.
-
- This level mostly just has glue to go from app to WC through the bridge.
- WebHTMLReo exports some new SPI to get the element of a view, and then to get
- some HTML-level properties of that element.
-
- Reviewed by Chris
-
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup _saveBookmarkGroupGuts]): Don't dump entire bookmark
- dict in the log.
- * WebKit.exp: New class used by app, objc_class_name_WebHTMLRepresentation.
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation elementForView:]): New SPI.
- (-[WebHTMLRepresentation elementDoesAutoComplete:]): New SPI.
- (-[WebHTMLRepresentation elementIsInLoginForm:]): New SPI.
-
-2003-02-13 Chris Blumenberg <cblu@apple.com>
-
- Fixed WebKit typos found by Peter Wilson.
-
- Reviewed by darin.
-
- * Misc.subproj/WebKitErrors.h:
- * Misc.subproj/WebKitErrors.m:
- (categoryInitialize): Error should be WebErrorDescriptionCannotFindApplicationForURL not WebErrorDescriptionCannotNotFindApplicationForURL
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): call findOrCreateFrameNamed
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController showURL:inFrame:]): call findOrCreateFrameNamed
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge findOrCreateFrameNamed:]): call findOrCreateFrameNamed
- * WebView.subproj/WebFrame.h:
- * WebView.subproj/WebFrame.m:
- (-[WebFrame findOrCreateFrameNamed:]): fixed name
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueAfterNavigationPolicy:]): use WebErrorDescriptionCannotFindApplicationForURL
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): use WebErrorDescriptionCannotFindApplicationForURL
- * WebView.subproj/WebView.h:
- * WebView.subproj/WebView.m:
- (-[WebView setAllowsScrolling:]): cast to WebDynamicScrollBarsView
- (-[WebView allowsScrolling]): cast to WebDynamicScrollBarsView
- (-[WebView frameScrollView]): return NSScrollView
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _setDocumentView:]): cast to WebDynamicScrollBarsView
-
-2003-02-12 Chris Blumenberg <cblu@apple.com>
-
- - Moved the WebKit error registration out of WebView because apps that use WebKit but not WebView might need to use WebKit errors (like my test app for WebDownload).
- - Added file close and file move errors (needed for WebDownload).
-
- Reviewed by kocienda.
-
- * English.lproj/Localizable.strings: Localize file close and file move errors.
- * Misc.subproj/WebKitErrors.h: Added file close and file move errors.
- * Misc.subproj/WebKitErrors.m: Added.
- (+[WebError initialize]): register the errors here
- * WebKit.exp: Export the WebDownload class (forgot to do this earlier).
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebView.m: don't register the errors here
-
-2003-02-12 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3158484 -- after submission failure, submitting a second time doesn't work
-
- * WebView.subproj/WebDataSourcePrivate.h: Added _receivedError:complete: method.
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _receivedError:complete:]):
- Added, parallel to _receivedData and _finishedLoading. Calls the new bridge method
- didNotOpenURL: for cases where we fail before committing (which calls openURL).
- Note that we can't use our own _bridge method because it asserts that we have committed
- to prevent accidental misuse. Also make the call on the controller that used to be done
- directly by the client.
-
- * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:complete:]):
- Call the new -[WebDataSource _receivedError:complete:] rather than calling the controller directly.
-
-2003-02-11 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2003-02-11 Darin Adler <darin@apple.com>
-
- Reviewed by Ed.
-
- - applied a fixed version of Ed Voas's change to make plug-ins position correctly
- inside Carbon metal windows; should have no effect on Safari
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
- Don't assume that the Cocoa concept of the content view matches up with the Carbon
- concept of where the port is positioned. Instead, convert coordinates to border
- view coordinates, then back to Carbon content coordinates by using the delta between
- the port bounds and the port's pixmap bounds. Bug 3160710 was caused by an older version
- of this patch implicitly assuming the port bounds always had (0,0) for top left.
-
-2003-02-11 Trey Matteson <trey@apple.com>
-
- Set -seg1addr in our build styles, but not for the B&I build.
- This makes our SYMROOTS from B&I usable to determine symbols from crash
- logs from the field.
- Also nuked DeploymentFat build style.
-
- Reviewed by Ken.
-
- * WebKit.pbproj/project.pbxproj:
-
-2003-02-10 Chris Blumenberg <cblu@apple.com>
-
- Added HeaderDoc comments for WebDownload and WebPluginError.
-
- Reviewed by rjw.
-
- * Downloads.subproj/WebDownload.h:
- * Plugins.subproj/WebPluginError.h:
-
-2003-02-10 Trey Matteson <trey@apple.com>
-
- Following the recent fix for ensuring that we always have a FormDelegate,
- when we need a default policy delegate we use a shared one instead of allocing
- a new one each time, which then would leak.
-
- This included getting rid of the initWithWebController: method in the
- WebDefaultPolicyDelegate API. The arg was not used.
-
- Reviewed by Richard
-
- * WebKit.pbproj/project.pbxproj: new private header
- * WebView.subproj/WebController.m:
- (-[WebController policyDelegate]): use shared delegate if none set
- * WebView.subproj/WebDefaultPolicyDelegate.h:
- * WebView.subproj/WebDefaultPolicyDelegate.m:
- (+[WebDefaultPolicyDelegate _sharedWebPolicyDelegate]): return shared instance
- * WebView.subproj/WebDefaultPolicyDelegatePrivate.h: Added.
- * WebView.subproj/WebFormDelegate.m:
- (+[WebFormDelegate _sharedWebFormDelegate]): Trivial renaming of static.
-
-2003-02-10 Richard Williamson <rjw@apple.com>
-
- Update API issues document.
-
- * API-Issues.rtf:
-
-2003-02-10 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3168888 - REGRESSION: many downloads fail (due to -36 error from write)
-
- Reviewed by darin.
-
- * Downloads.subproj/WebDownload.m:
- (-[WebDownload writeForkData:isDataFork:]):
-
-2003-02-10 Trey Matteson <trey@apple.com>
-
- Make sure we have a FormsDelegate installed with NOP behavior if our client
- does not set one. Editing forms was broken for Ed by the introduction
- of the new FormDelegate.
-
- Reviewed by Darin.
-
- * WebKit.pbproj/project.pbxproj: Added new header file.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _formDelegate]): Use shared delegate if none set yet.
- * WebView.subproj/WebFormDelegatePrivate.h: New header.
- * WebView.subproj/WebFormDelegate.h: Nit cleanup.
- * WebView.subproj/WebFormDelegate.m:
- (+[WebFormDelegate _sharedWebFormDelegate]): New method to return a shared
- NOP implementation.
-
-2003-02-07 Richard Williamson <rjw@apple.com>
-
- Changes to support per WebController preferences.
-
- Reviewed by Maciej and Ken.
-
- * WebView.subproj/WebController.m:
- (-[WebController setPreferences:]):
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate init]):
- (-[WebControllerPrivate dealloc]):
- (-[WebController _setFormDelegate:]):
- (-[WebController _formDelegate]):
- (-[WebController _settings]):
- (-[WebController _updateWebCoreSettingsFromPreferences:]):
- (-[WebController _releaseUserAgentStrings]):
- (-[WebController _preferencesChangedNotification:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame initWithName:webView:controller:]):
- * WebView.subproj/WebPreferences.h:
- * WebView.subproj/WebPreferences.m:
- (-[WebPreferences _postPreferencesChangesNotification]):
- (+[WebPreferences load]):
- (-[WebPreferences _stringValueForKey:]):
- (-[WebPreferences _setStringValue:forKey:]):
- (-[WebPreferences _integerValueForKey:]):
- (-[WebPreferences _setIntegerValue:forKey:]):
- (-[WebPreferences _boolValueForKey:]):
- (-[WebPreferences _setBoolValue:forKey:]):
- (-[WebPreferences standardFontFamily]):
- (-[WebPreferences setStandardFontFamily:]):
- (-[WebPreferences fixedFontFamily]):
- (-[WebPreferences setFixedFontFamily:]):
- (-[WebPreferences serifFontFamily]):
- (-[WebPreferences setSerifFontFamily:]):
- (-[WebPreferences sansSerifFontFamily]):
- (-[WebPreferences setSansSerifFontFamily:]):
- (-[WebPreferences cursiveFontFamily]):
- (-[WebPreferences setCursiveFontFamily:]):
- (-[WebPreferences fantasyFontFamily]):
- (-[WebPreferences setFantasyFontFamily:]):
- (-[WebPreferences defaultFontSize]):
- (-[WebPreferences setDefaultFontSize:]):
- (-[WebPreferences defaultFixedFontSize]):
- (-[WebPreferences setDefaultFixedFontSize:]):
- (-[WebPreferences minimumFontSize]):
- (-[WebPreferences setMinimumFontSize:]):
- (-[WebPreferences defaultTextEncodingName]):
- (-[WebPreferences setDefaultTextEncodingName:]):
- (-[WebPreferences userStyleSheetEnabled]):
- (-[WebPreferences setUserStyleSheetEnabled:]):
- (-[WebPreferences userStyleSheetLocation]):
- (-[WebPreferences setUserStyleSheetLocation:]):
- (-[WebPreferences JavaEnabled]):
- (-[WebPreferences setJavaEnabled:]):
- (-[WebPreferences JavaScriptEnabled]):
- (-[WebPreferences setJavaScriptEnabled:]):
- (-[WebPreferences JavaScriptCanOpenWindowsAutomatically]):
- (-[WebPreferences setJavaScriptCanOpenWindowsAutomatically:]):
- (-[WebPreferences pluginsEnabled]):
- (-[WebPreferences setPluginsEnabled:]):
- (-[WebPreferences allowAnimatedImages]):
- (-[WebPreferences allowAnimatedImageLooping]):
- (-[WebPreferences setAllowAnimatedImageLooping:]):
- (-[WebPreferences setWillLoadImagesAutomatically:]):
- (-[WebPreferences willLoadImagesAutomatically]):
- (-[WebPreferences _initialTimedLayoutDelay]):
- (-[WebPreferences _initialTimedLayoutSize]):
- (-[WebPreferences _pageCacheSize]):
- (-[WebPreferences _objectCacheSize]):
- (-[WebPreferences _initialTimedLayoutEnabled]):
- (-[WebPreferences _resourceTimedLayoutDelay]):
- (-[WebPreferences _resourceTimedLayoutEnabled]):
- * WebView.subproj/WebPreferencesPrivate.h:
-
-2003-02-06 Chris Blumenberg <cblu@apple.com>
-
- - Made WebDownload.h a public header.
- - Added stubs for the new methods.
- - Moved all private methods to the WebPrivate category.
- - Added FIXMEs for things that needed to be removed or implemented.
-
- Reviewed by rjw.
-
- * Downloads.subproj/WebDownload.h:
- * Downloads.subproj/WebDownload.m:
- (-[WebDownload initWithRequest:delegate:]):
- (-[WebDownload dealloc]):
- (-[WebDownload cancel]):
- (-[WebDownload _initWithLoadingHandle:request:response:delegate:]):
- (-[WebDownload initWithDataSource:]):
- (-[WebDownload receivedData:]):
- (-[WebDownload finishedLoading]):
- (-[WebDownload decodeHeaderData:dataForkData:resourceForkData:]):
- (-[WebDownload decodeData:dataForkData:resourceForkData:]):
- (-[WebDownload createFileIfNecessary]):
- (-[WebDownload writeDataForkData:resourceForkData:]):
- (-[WebDownload dataIfDoneBufferingData:]):
- (-[WebDownload decodeData:]):
- (-[WebDownload finishDecoding]):
- * Downloads.subproj/WebDownloadPrivate.h:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebMainResourceClient.m:
-
-2003-02-06 Chris Blumenberg <cblu@apple.com>
-
- Renamed WebDownloadHandler to WebDownload.
- Made ivars of WebDownload private.
-
- Reviewed by kocienda.
-
- * Downloads.subproj/WebDownload.h: Added.
- * Downloads.subproj/WebDownload.m: Added.
- (-[WebDownloadPrivate init]):
- (-[WebDownloadPrivate dealloc]):
- (-[WebDownload initWithDataSource:]):
- (-[WebDownload dealloc]):
- (-[WebDownload decodeHeaderData:dataForkData:resourceForkData:]):
- (-[WebDownload decodeData:dataForkData:resourceForkData:]):
- (-[WebDownload closeFork:deleteFile:]):
- (-[WebDownload closeFileAndDelete:]):
- (-[WebDownload closeFile]):
- (-[WebDownload cleanUpAfterFailure]):
- (-[WebDownload createFileIfNecessary]):
- (-[WebDownload writeDataForkData:resourceForkData:]):
- (-[WebDownload dataIfDoneBufferingData:]):
- (-[WebDownload decodeData:]):
- (-[WebDownload receivedData:]):
- (-[WebDownload finishDecoding]):
- (-[WebDownload finishedLoading]):
- (-[WebDownload cancel]):
- (-[WebDownload path]):
- (-[WebDownload writeForkData:isDataFork:]):
- (-[WebDownload errorWithCode:]):
- (-[WebDownload cancelWithError:]):
- (-[WebDownload dataForkReferenceNumber]):
- (-[WebDownload setDataForkReferenceNumber:]):
- (-[WebDownload resourceForkReferenceNumber]):
- (-[WebDownload setResourceForkReferenceNumber:]):
- (-[WebDownload areWritesCancelled]):
- (-[WebDownload setWritesCancelled:]):
- (WriteCompletionCallback):
- (CloseCompletionCallback):
- (DeleteCompletionCallback):
- * Downloads.subproj/WebDownloadHandler.h: Removed.
- * Downloads.subproj/WebDownloadHandler.m: Removed.
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebDataSource.m:
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebMainResourceClient.h:
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient dealloc]):
- (-[WebMainResourceClient download]):
- (-[WebMainResourceClient isDownload]):
- (-[WebMainResourceClient receivedError:complete:]):
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- (-[WebMainResourceClient handle:didReceiveData:]):
- (-[WebMainResourceClient handleDidFinishLoading:]):
-
-2003-02-06 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3125067 - Investigate performance implications of writing download file data
- Reviewed by trey, rjw, darin.
-
- * Downloads.subproj/WebDownloadHandler.h:
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler closeFileAndDelete:]): close the file asynchronously
- (-[WebDownloadHandler closeFile]): call closeFileAndDelete:NO
- (-[WebDownloadHandler cleanUpAfterFailure]): call closeFileAndDelete:YES
- (-[WebDownloadHandler writeDataForkData:resourceForkData:]): call writeForkData:isDataFork:
- (-[WebDownloadHandler path]): new
- (-[WebDownloadHandler writeForkData:isDataFork:]): writes file asynchronously
- (-[WebDownloadHandler errorWithCode:]): moved
- (-[WebDownloadHandler cancelWithError:]): new, stops load with error
- (-[WebDownloadHandler dataForkReferenceNumber]): new
- (-[WebDownloadHandler setDataForkReferenceNumber:]): new
- (-[WebDownloadHandler resourceForkReferenceNumber]): new
- (-[WebDownloadHandler setResourceForkReferenceNumber:]): new
- (WriteCompletionCallback): new
- (CloseCompletionCallback): new, removes file if necessary
- (DeleteCompletionCallback): new,
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _stopLoadingWithError:]): new
-
-2003-02-06 Trey Matteson <trey@apple.com>
-
- 3137647 - ad frames get their own history entries at channels.netscape.com 3133844 - 2 items in back list at http://www.kiup-bank.com/personal/main01.html
-
- Move logic for deciding on "quick redirect" down to WebCore, where we really know
- what case we're in instead of having to guess from the params we were receiving.
-
- Reviewed by Maciej, Darin.
-
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]): Fix build error (URL vs String)
- * WebView.subproj/WebFramePrivate.h: Nuke Completing state.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToLayoutAcceptable]): Nuke Completing state.
- (-[WebFrame _transitionToCommitted:]): Nuke Completing state.
- (-[WebFrame _isLoadComplete]): Nuke Completing state.
- (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
- Just obey lockHistory param when deciding whether we are doing a "client redirect"
- instead of previous guesswork.
-
-2003-02-06 Richard Williamson <rjw@apple.com>
-
- Rename WebError to WebKitError.
-
- Reviewed by maciej.
-
- * API-Issues.rtf:
- * Bookmarks.subproj/WebBookmarkImporter.m:
- (-[WebBookmarkImporter initWithPath:]):
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler createFileIfNecessary]):
- (-[WebDownloadHandler writeDataForkData:resourceForkData:]):
- (-[WebDownloadHandler decodeData:]):
- (-[WebDownloadHandler finishedLoading]):
- * Misc.subproj/WebKitErrors.h:
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
- (-[WebBridge viewForJavaAppletWithFrame:attributes:baseURL:]):
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate notifyDelegatesOfInterruptionByPolicyChange]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueAfterNavigationPolicy:]):
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- * WebView.subproj/WebView.m:
- (+[WebView initialize]):
-
-2003-02-05 Chris Blumenberg <cblu@apple.com>
-
- Comment should have been "Made WebPluginError constructors private."
-
- * ChangeLog:
-
-2003-02-05 Chris Blumenberg <cblu@apple.com>
-
- WebKit API clean-up:
- - Added enum to WebContextMenuDelegate that is the menu item tag of the menu items passed in the default menu item array.
- - WebPluginError should return URL strings.
- - Made WebPluginError constructors private.
-
- Reviewed by rjw.
-
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]):
- * Plugins.subproj/WebPluginError.h:
- * Plugins.subproj/WebPluginError.m:
- (-[WebPluginError pluginPageURL]):
- * Plugins.subproj/WebPluginErrorPrivate.h: Added.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge viewForPluginWithURL:attributes:baseURL:MIMEType:]):
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebContextMenuDelegate.h:
- * WebView.subproj/WebDefaultContextMenuDelegate.h:
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate menuItemWithTag:]):
- (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]):
-
-2003-02-04 Trey Matteson <trey@apple.com>
-
- WC now tells us the form values being submitted with a get/post.
- We forward this info to a new WebFormDelegate method. Most of this
- change is just glue passing the formValues through all our layers.
-
- Reviewed by Maciej
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge loadURL:reload:triggeringEvent:formValues:])
- Pass along formValues.
- (-[WebBridge postWithURL:data:contentType:triggeringEvent:formValues:]):
- Pass along formValues.
- * WebKit.pbproj/project.pbxproj: Reorder previously added files.
- * WebView.subproj/WebControllerPolicyDelegate.m: Fix latent copy/paste error
- where two keys had the same underlying string value!
- * WebView.subproj/WebFormDelegate.h: Declare new delegate method.
- * WebView.subproj/WebFormDelegate.m:
- (-[WebFormDelegate frame:willSubmitFormWithValues:]): NOP impl of new method.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadRequest:]): Pass nil formValues.
- (-[WebFrame reload]): Pass nil formValues.
- * WebView.subproj/WebFramePrivate.h: New ivar to hold form values
- while waiting for the policy delegate response.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate dealloc]): ASSERT new ivar is nil.
- (-[WebFrame _loadItem:fromItem:withLoadType:]): Pass nil formValues.
- (-[WebFrame _loadRequest:triggeringAction:loadType:formValues:]):
- Pass along formValues.
- (-[WebFrame _invalidatePendingPolicyDecisionCallingDefaultAction:]):
- Pass nil formValues to continuation method.
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formValues:andCall:withSelector:]):
- Stash formValues before calling policy delegate.
- (-[WebFrame _continueAfterNavigationPolicy:]):
- Resurrect formValues after calling policy delegate, pass to continuation method.
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formValues:]):
- Bail on nil request instead of shouldContinue=NO
- (-[WebFrame _loadURL:loadType:triggeringEvent:formValues:]):
- Pass formValues along.
- (-[WebFrame _loadURL:intoChild:]): Pass nil formValues.
- (-[WebFrame _postWithURL:data:contentType:triggeringEvent:formValues:]):
- Pass formValues along.
- (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]):
- Pass nil formValues.
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formValues:]):
- Bail on nil request instead of shouldContinue=NO. Call new FormDelegate method.
- (-[WebFrame _loadDataSource:withLoadType:formValues:]):
- Pass formValues along.
- (-[WebFrame _downloadRequest:toDirectory:]):
- Pass nil formValues.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterNavigationPolicy:formValues:]):
- Bail on nil request instead of shouldContinue=NO
- (-[WebMainResourceClient handle:willSendRequest:]):
- Pass nil formValues.
-
-2003-02-05 Richard Williamson <rjw@apple.com>
-
- WebHistory* API clenaup.
-
- Reviewed by Chris.
-
- * Bookmarks.subproj/WebBookmarkLeaf.m:
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem title]):
- (-[WebHistoryItem setDisplayTitle:]):
- (-[WebHistoryItem hash]):
- (-[WebHistoryItem anchor]):
- (-[WebHistoryItem isEqual:]):
- (-[WebHistoryItem description]):
- (-[WebHistoryItem _retainIconInDatabase:]):
- (+[WebHistoryItem entryWithURL:]):
- (-[WebHistoryItem initWithURL:title:]):
- (-[WebHistoryItem initWithURL:target:parent:title:]):
- (-[WebHistoryItem URL]):
- (-[WebHistoryItem target]):
- (-[WebHistoryItem parent]):
- (-[WebHistoryItem dictionaryRepresentation]):
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- * History.subproj/WebHistoryItemPrivate.h:
- * History.subproj/WebHistoryPrivate.h:
- * History.subproj/WebHistoryPrivate.m:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.h:
- * WebView.subproj/WebController.m:
- (-[WebController setPreferences:]):
- (-[WebController preferences]):
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate dealloc]):
- * WebView.subproj/WebDataSourcePrivate.m:
- * WebView.subproj/WebFramePrivate.m:
-
-2003-02-05 Richard Williamson <rjw@apple.com>
-
- Cleanup public WebHistory API, stage 1.
-
- Reviewed by trey.
-
- * History.subproj/WebHistory.h:
- * History.subproj/WebHistory.m:
- (-[_WebCoreHistoryProvider initWithHistory:]):
- (-[_WebCoreHistoryProvider containsEntryForURLString:]):
- (-[_WebCoreHistoryProvider dealloc]):
- (+[WebHistory sharedHistory]):
- (+[WebHistory createSharedHistoryWithFile:]):
- * History.subproj/WebHistoryPrivate.h:
- * History.subproj/WebHistoryPrivate.m:
-
-2003-02-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- * WebKit.pbproj/project.pbxproj: Updated to build the framework
- standalone instead of embedded when doing a B&I build for Panther.
-
-2003-02-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3163879 - receivedPageIcon:forDataSource: always sends nil image
-
- Reviewed by rjw.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _updateIconDatabaseWithURL:]):
-
-2003-02-04 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3135388 -- encoding changes do not affect text in form elements
-
- The problem was that form data was being saved and restored, and in the case of buttons,
- the form data was the incorrectly decoded button label.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToLayoutAcceptable]): Remove the default: case so we get a warning if
- we omit one of the enum values from this switch statement.
- (-[WebFrame _transitionToCommitted:]): Move the WebFrameLoadTypeReloadAllowingStaleData
- case up so it's right next to the case it should be merged with.
- (-[WebFrame _isLoadComplete]): Remove the default: case so we get a warning if
- we omit one of enum values from this switch statement.
- (-[WebFrame _itemForRestoringDocState]): Replace the if statement with a switch statement.
- Include WebFrameLoadTypeReloadAllowingStaleData, which fixes the bug.
-
-2003-02-03 Richard Williamson <rjw@apple.com>
-
- Fixed headerdoc type.
-
- * WebView.subproj/WebDocument.h:
-
-2003-02-03 Richard Williamson <rjw@apple.com>
-
- Support for new canProvideDocumentSource and documentSource API.
- Updated all the representations. Added support to show for RTF source.
- Moved WebKitInitializeUnicode to to early class. This was necessary
- because WebCore may use the unicode property functions before WebTextRenderer
- gets initialized.
- Ensured guarantee that identifierForInitialRequest:fromDataSource: is called with
- the first initial request.
-
- Reviewed by maciej.
-
- * Plugins.subproj/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation canProvideDocumentSource]):
- (-[WebNetscapePluginRepresentation documentSource]):
- * WebCoreSupport.subproj/WebTextRenderer.m:
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate setIdentifier:]):
- * WebView.subproj/WebDataSource.h:
- * WebView.subproj/WebDataSource.m:
- (-[WebDataSource initWithRequest:]):
- (-[WebDataSource controller]):
- (-[WebDataSource initialRequest]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource _originalRequest]):
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebHTMLRepresentation.h:
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
- (-[WebHTMLRepresentation canProvideDocumentSource]):
- * WebView.subproj/WebHTMLView.m:
- (+[WebHTMLView initialize]):
- * WebView.subproj/WebImageRepresentation.m:
- (-[WebImageRepresentation canProvideDocumentSource]):
- (-[WebImageRepresentation documentSource]):
- * WebView.subproj/WebTextRepresentation.h:
- * WebView.subproj/WebTextRepresentation.m:
- (-[WebTextRepresentation dealloc]):
- (-[WebTextRepresentation setDataSource:]):
- (-[WebTextRepresentation finishedLoadingWithDataSource:]):
- (-[WebTextRepresentation canProvideDocumentSource]):
- (-[WebTextRepresentation documentSource]):
-
-2003-02-03 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3163073 - SECURITY: Need to check if filename in encoded download is safe
-
- Reviewed by kocienda, darin, mjs.
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler createFileIfNecessary]): call _web_filenameByFixingIllegalCharacters on the encoded filename
-
-2003-02-01 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin and Ken.
-
- - fixed 3162581 - 56 debug: Assertion failure displaying pop-up menu while downloading
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handle:didReceiveResponse:]): No need to assert that the controller is
- not deferred if this is a handle being used for a download.
- (-[WebMainResourceClient handle:didReceiveData:]): Likewise.
- (-[WebMainResourceClient handleDidFinishLoading:]): Likewise.
- (-[WebMainResourceClient handle:didFailLoadingWithError:]): Likewise.
-
-2003-01-31 Trey Matteson <trey@apple.com>
-
- New plumbing for autofill/autocomplete. WebBrowser receives controlText delegate
- messages from our form widgets. Should result in no behavior change.
-
- New private API is exposed for the app to set a WebFormDelegate.
-
- Reviewed by Richard
-
- * WebCoreSupport.subproj/WebBridge.m: Pass msgs from WC on to the controller's FormDelegate.
- (formDelegate): Little utility function.
- (-[WebBridge controlTextDidBeginEditing:]):
- (-[WebBridge controlTextDidEndEditing:]):
- (-[WebBridge controlTextDidChange:]):
- (-[WebBridge control:textShouldBeginEditing:]):
- (-[WebBridge control:textShouldEndEditing:]):
- (-[WebBridge control:didFailToFormatString:errorDescription:]):
- (-[WebBridge control:didFailToValidatePartialString:errorDescription:]):
- (-[WebBridge control:isValidObject:]):
- (-[WebBridge control:textView:doCommandBySelector:]):
- * WebKit.exp: New class exported.
- * WebKit.pbproj/project.pbxproj: New WebFormDelegate files.
- * WebView.subproj/WebControllerPrivate.h: API to set/get FormDelegate.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _setFormDelegate:]): simple setter
- (-[WebController _formDelegate]): simple getter
- * WebView.subproj/WebFormDelegate.h: Added.
- * WebView.subproj/WebFormDelegate.m: Added.
- NOP impls for all these delegate methods.
- (-[WebFormDelegate controlTextDidBeginEditing:inFrame:]):
- (-[WebFormDelegate controlTextDidEndEditing:inFrame:]):
- (-[WebFormDelegate controlTextDidChange:inFrame:]):
- (-[WebFormDelegate control:textShouldBeginEditing:inFrame:]):
- (-[WebFormDelegate control:textShouldEndEditing:inFrame:]):
- (-[WebFormDelegate control:didFailToFormatString:errorDescription:inFrame:]):
- (-[WebFormDelegate control:didFailToValidatePartialString:errorDescription:inFrame:]):
- (-[WebFormDelegate control:isValidObject:inFrame:]):
- (-[WebFormDelegate control:textView:doCommandBySelector:inFrame:]):
-
-2003-01-31 Chris Blumenberg <cblu@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
- * WebView.subproj/WebController.m: fixed key value
-
-2003-01-31 Chris Blumenberg <cblu@apple.com>
-
- Fixed : 3155148 - image shown when dragging gets size from image file, not size as used on page
-
- Reviewed by darin.
-
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragPromisedImage:rect:URL:fileType:title:event:]): take a rect so we know the original size and origin
- * WebKit.exp: added WebElementImageRectKey
- * WebView.subproj/WebController.h: WebElementImageRectKey
- * WebView.subproj/WebController.m: WebElementImageRectKey
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _handleMouseDragged:]): call _web_dragPromisedImage with WebElementImageRect
- * WebView.subproj/WebImageView.m:
- (-[WebImageView menuForEvent:]): provide the WebElementImageRect since we do this for other image elements
- (-[WebImageView mouseDragged:]): call _web_dragPromisedImage with [self bounds]
-
-=== Safari-55 ===
-
-2003-01-30 Chris Blumenberg <cblu@apple.com>
-
- Backed out my fix for 3161102. Richard and I found problems the fix. 3161102 turns out to not be an issue.
-
- Reviewed by rjw.
-
- * History.subproj/WebHistoryItem.m:
- (+[WebHistoryItem _releaseAllPendingPageCaches]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView windowWillClose:]):
-
-2003-01-30 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3161102 - Avoid retain cycles by destroying plug-ins in the page cache before dealloc
-
- Reviewed by rjw.
-
- * History.subproj/WebHistoryItem.m:
- (+[WebHistoryItem _releaseAllPendingPageCaches]): iterate over all of the plug-ins and call destroy
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView windowWillClose:]): clear page cache
-
-2003-01-30 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3160464 - Slideback sometimes happens twice
-
- Because we start drags in mouseDragged (which AppKit says we shouldn't), we get mouseDragged events
- after a drag (image, link, text etc) has ended. We also get mouseDragged events after we've sent the
- fake mouseUp to WebCore. That is probably bad for unknown reasons.
-
- Reviewed by darin.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDown:]): set ignoringMouseDraggedEvents to NO
- (-[WebHTMLView mouseDragged:]): check ignoringMouseDraggedEvents
- (-[WebHTMLView draggedImage:endedAt:operation:]): set ignoringMouseDraggedEvents to NO
- * WebView.subproj/WebHTMLViewPrivate.h: added ignoringMouseDraggedEvents
-
-2003-01-30 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3160710 -- REGRESSION: bizrate.com front page ad in wrong position
-
- The new code to compute port coordinates was screwing up somehow.
- I had to roll it out and we'll have to try again to fix the problem Ed was fixing.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
- Roll back changes between 1.45 and 1.47.
-
-2003-01-29 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3158624 -- crash reentering WebBaseNetscapePluginView removeTrackingRect closing window
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView removeTrackingRect]):
- Set tracking tag to 0 before releasing the window to prevent reentering.
-
-2003-01-29 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin.
-
- Fix for this bug:
-
- Radar 3142818 (Downloading many items quickly can cause future page loads to fail)
-
- The issue was with a mismatch between different object's idea about
- whether callbacks were being deferred. I have simplified the code in this
- area somewhat, and I have added some asserts to make sure that callbacks
- are not sent when deferalls are on.
-
- More work will need to be done in callback deferral-land, however. This change
- fixes the bug, but it may not be a good long-term fix. I will file a bug on
- the need for this additonal work.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate defersCallbacks]): Added method.
- * WebView.subproj/WebMainResourceClient.h: Removed unneeded defersBeforeCheckingPolicy flag.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterNavigationPolicy:request:]): Unconditionally set
- callback deferrals to NO.
- (-[WebMainResourceClient handle:willSendRequest:]): Remove all callback deferral code here.
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): Unconditionally set
- callback deferrals to NO.
- (-[WebMainResourceClient handle:didReceiveResponse:]): Assert that the handle argument
- to this method, the client (self), and the data source's controller all are not
- deferring callbacks.
- Unconditionally set callback deferrals to YES.
- (-[WebMainResourceClient handle:didReceiveData:]): Ditto
- (-[WebMainResourceClient handleDidFinishLoading:]): Ditto
- (-[WebMainResourceClient handle:didFailLoadingWithError:]): Ditto
-
-2003-01-29 John Sullivan <sullivan@apple.com>
-
- - fixed 3160116 -- REGRESSION:leak in WebBookmarkLeaf at startup
-
- Reviewed by Darin
-
- * Bookmarks.subproj/WebBookmarkLeaf.m:
- (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
- don't leak the _entry that was created in initWithURLString:title:group:
-
-2003-01-29 Trey Matteson <trey@apple.com>
-
- 3159750 - REGRESSION: cursor is I-beam when over a standalone image
-
- We now reset the cursor to arrow before switching doc views.
-
- Also, made various replacements of "id <WebDocumentView>" with "NSView < WebDocumentView> *"
- to get better compile time checking.
-
- Reviewed by Darin.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _makeDocumentView]): Use NSView*
- (-[WebFrame _transitionToCommitted:]): Use NSView*
- * WebView.subproj/WebViewPrivate.h: Use NSView*
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _setDocumentView:]): Use NSView*. Reset cursor.
- (-[WebView _makeDocumentViewForDataSource:]): Use NSView*
-
-2003-01-29 Chris Blumenberg <cblu@apple.com>
-
- 3159529 - REGRESSION: URLs with no path are saved as "-.html"
-
- Reviewed by darin, trey, kocienda.
-
- * Misc.subproj/WebResourceResponseExtras.m:
- (-[NSURL _web_suggestedFilenameForSavingWithMIMEType:]): Don't use the lastPathComponent if it is "/".
-
-2003-01-28 Trey Matteson <trey@apple.com>
-
- Removing ERROR() that isn't an error, left over from the Safari-48 download firedrill.
-
- Reviewed by Chris.
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler cleanUpAfterFailure]): Don't ERROR if we are asked to cleanup
- a file and there is nothing to cleanup. This can happen in the rare case of the
- download being canceled before the first byte arrives, and we deal properly, no ERROR.
-
-2003-01-28 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3150856 - crash with full-size plugins in frame or iframe
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView start]): added assert
- * Plugins.subproj/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView setDataSource:]): added assert
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _makeDocumentView]): Don't call setDataSource here because the view is not in the view hierarchy at this point.
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _makeDocumentViewForDataSource:]): Call setDataSource on the document view after it has been placed in the view hierarchy. This what we for the top-level view, so should do this for views in subframes as well.
-
-2003-01-28 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3156172 - No filename correction when downloading images via drag & drop
-
- Reviewed by mjs, john, trey.
-
- * WebView.subproj/WebControllerPrivate.h:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _downloadURL:]): call _downloadURL:toDirectory:
- (-[WebController _downloadURL:toDirectory:]): call -[WebFrame _downloadRequest:toDirectory:]
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): release the download directory
- (-[WebDataSource _setDownloadDirectory:]): new
- (-[WebDataSource _downloadDirectory]): new
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _downloadRequest:toDirectory:]): renamed
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): call -[WebController _downloadURL:toDirectory:]
- * WebView.subproj/WebImageView.m:
- (-[WebImageView namesOfPromisedFilesDroppedAtDestination:]): call -[WebController _downloadURL:toDirectory:]
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): if the data source has a download directory, use it plus the filename from the response as download path
-
-2003-01-28 Trey Matteson <trey@apple.com>
-
- 2940179 - Arrow cursor should change to link cursor after click of link in non-frontmost window
- 3158240 - cursor does not track when switching from panels to safari windows
-
- Two changes here: First, we post fake mousemoved events to get the cursor fixed up
- without checking if the mouse is down (WC deals with that now). That fixes 2940179,
- because the button is down when we get notified of becoming key.
-
- Second, we observe key window instead of main window notifications everywhere, so we
- update the cursor when clicking between a panel and our doc windows.
-
- Reviewed by Darin.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addMouseMovedObserver]): s/main/key/g
- (-[WebHTMLView addWindowObservers]): s/main/key/g
- (-[WebHTMLView removeWindowObservers]): s/main/key/g
- (-[WebHTMLView windowDidBecomeKey:]): s/main/key/g
- (-[WebHTMLView windowDidResignKey:]): s/main/key/g
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _frameOrBoundsChanged]): Always post mousemoved event.
-
-2003-01-28 John Sullivan <sullivan@apple.com>
-
- - fixed 3158304 -- Assertion failure cancelling "Add Bookmark"
- or deleting newly-created bookmarks
-
- Reviewed by Darin
-
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup _bookmark:changedUUIDFrom:to:]):
- new method that notifies group when a bookmark that's already
- in a group changes its UUID -- the UUID to bookmark dictionary
- updates for this change.
-
- * Bookmarks.subproj/WebBookmarkGroupPrivate.h:
- private declaration for this method
-
- * Bookmarks.subproj/WebBookmark.m:
- (-[WebBookmark _setUUID:]):
- notify group when UUID changes
- (-[WebBookmark UUID]):
- ditto
-
-2003-01-28 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3156197 -- leak in -[WebBookmarkList initFromDictionaryRepresentation:withGroup:]
-
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
- Fixed storage leak by not allocating the list here, because [self init] will
- be called and that will allocate the list.
-
-2003-01-26 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin and Ken.
-
- * English.lproj/StringsNotToBeLocalized.txt: Removed unused exception.
-
-2003-01-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3156230 - REGRESSION: Java 141: Safari Does Not Stop Applets When Browser Window Closes
-
- Reviewed by dave.
-
- * Plugins.subproj/WebPluginController.h:
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController destroyAllPlugins]): renamed from HTMLViewWillBeDeallocated because it may get called before the dealloc
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addWindowObservers]): observe NSWindowWillCloseNotification
- (-[WebHTMLView removeWindowObservers]): remove observer for NSWindowWillCloseNotification
- (-[WebHTMLView windowWillClose:]): call destroyAllPlugins
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLViewPrivate dealloc]): call destroyAllPlugins
-
-2003-01-27 Richard Williamson <rjw@apple.com>
-
- Fixed 3139909. Fake the resource load delegate messages (minus willSendRequest)
- when a page is loaded from a the page cache.
-
- Reviewed by john.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _addResponse:]):
- (-[WebDataSource _responses]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _opened]):
-
-2003-01-27 Trey Matteson <trey@apple.com>
-
- 3157104 - reproducible assert in _continueFragmentScrollAfterNavigationPolicy
-
- Remove assertion, and it turns out the existing code will handle the case.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]):
-
-2003-01-27 Richard Williamson <rjw@apple.com>
-
- Make emptying the page cache synchronous when "Empty Cache"
- is selected from menu. More bulletproofing to ensure that
- 3155781 doesn't happen.
-
- Reviewed by trey.
-
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList clearPageCache]):
-
-2003-01-27 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3156235 - change throttle for plug-in null events to 50 frames per second (when frontmost)
-
- Reviewed by dave.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
-
-2003-01-27 Richard Williamson <rjw@apple.com>
-
- Fixed 3151241. Cleanly handle nil return from resource:willSendRequest:fromDataSource:.
-
- Reviewed by trey.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
- (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]):
- (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
- (-[WebBaseResourceHandleDelegate cancelWithError:]):
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _mainReceivedError:fromDataSource:complete:]):
-
-2003-01-27 John Sullivan <sullivan@apple.com>
-
- - fixed 3156744 -- REGRESSION: Renaming bookmarks dragged
- into bookmark bar does not work at first
-
- Reviewed by Darin
-
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList insertChild:atIndex:]):
- was adding self to its own group (a no-op), instead of adding
- the new child to self's group. This was a typo from the
- refactoring to fix 3152427.
-
-2003-01-27 Chris Blumenberg <cblu@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for changes I previously made.
-
-2003-01-26 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3156725 - Partially selected links show extra underlining when dragged
-
- Reviewed by darin.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (drawLineForCharacters...): don't ignore "from" "to" parameters
-
-2003-01-25 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3126211 -- "go back" buttons that use "history.go(-1)" doesn't work (verizonwireless.com is an example)
-
- Implemented new bridge functions for use by the history object.
-
- * History.subproj/WebBackForwardList.h: Added backListCount and entryAtIndex:.
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList backListCount]): Added.
- (-[WebBackForwardList entryAtIndex:]): Added.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge historyLength]): Added. Calls backListCount.
- (-[WebBridge goBackOrForward:]): Added. Calls entryAtIndex: and then goBackOrForwardToItem:.
-
-2003-01-25 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3153605 - Drag image when dragging text should be the actual text
-
- Reviewed by darin.
-
- * Misc.subproj/WebNSImageExtras.m:
- (-[NSImage _web_dissolveToFraction:]): handle non-flipped images
- * Misc.subproj/WebNSViewExtras.h: moved some constants around
- * Misc.subproj/WebNSViewExtras.m:
- * Resources/text_clipping.tiff: Removed.
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _handleMouseDragged:]): cleaned-up, get text drag image from WebCore
-
-2003-01-25 Darin Adler <darin@apple.com>
-
- * Plugins.subproj/WebBaseNetscapePluginView.m: Replace some tabs with spaces.
-
-2003-01-24 Richard Williamson <rjw@apple.com>
-
- Cleaned up some stray comments.
-
- Reviewed by kocienda.
-
- * Misc.subproj/WebUnicode.m:
- (getShape):
- (nextChar):
- (glyphVariantLogical):
- (shapedString):
-
-2003-01-24 Trey Matteson <trey@apple.com>
-
- Chris pointed out a FIXME that led to a more contained way to make sure the cursor
- is correct during and after image/text/URL dragging.
-
- Reviewed by Chris.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView draggedImage:endedAt:operation:]): No need to reset the cursor at
- the end of dragging. WC deals with it.
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _handleMouseDragged:]): No need to set the cursor to arrow, WC
- deals with it.
-
-2003-01-24 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- - fixed 3142852 -- frame content repeatedly requested
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge incomingReferrer]):
- Added a way to get the referrer across the bridge, needed for bug fix.
-
-2003-01-24 Ed Voas <voas@apple.com>
-
- Reviewed by Darin.
-
- Netscape plugins were being improperly positioned. I noticed this when I
- put the web view into a window with borders around it (Carbon metal window,
- but I would imagine Cocoa metal would do it too).
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]):
-
-2003-01-23 Trey Matteson <trey@apple.com>
-
- 3155162 - cursor changes to I-beam after dragging image
- 3154468 - no mouseup event comes through after text snippet drag
-
- During AK dragging the system takes over the event stream and we never get any mouse
- move or up events. It also changes the cursor behind out back. When done
- cached state that thinks it knows the current cursor is wrong.
-
- The fix is that after the drag we reset the cursor and synthesize a mouseup event,
- which then sets the cursor based on what we're really over.
-
- Reviewed by Darin.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView draggedImage:endedAt:operation:]): After the drag,
- reset the cursor, fake up a mouseup event.
-
-2003-01-24 John Sullivan <sullivan@apple.com>
-
- Reviewed by Trey
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView takeFindStringFromSelection:]):
- Now uses new _web_setFindPasteboardString:withOwner: to share code.
-
-2003-01-24 John Sullivan <sullivan@apple.com>
-
- Reviewed by Trey
-
- * Misc.subproj/WebNSPasteboardExtras.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (+[NSPasteboard _web_setFindPasteboardString:withOwner:]):
- New method to put text on the Find pasteboard.
-
-2003-01-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- * WebView.subproj/WebController.h: Remove unneeded declaration in
- sample code.
-
-2003-01-23 Chris Blumenberg <cblu@apple.com>
-
- Made WebTextView use the same format for context menus as the rest of WebKit.
- Implemented "Copy" context menu.
-
- Reviewed by john.
-
- * English.lproj/Localizable.strings:
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _menuForElement:]): tweak.
- * WebView.subproj/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultContextMenuDelegate contextMenuItemsForElement:defaultMenuItems:]): added "Copy" context menu.
- * WebView.subproj/WebImageView.m:
- (-[WebImageView menuForEvent:]): added asserts
- * WebView.subproj/WebTextView.m:
- (-[WebTextView menuForEvent:]): implemented
-
-2003-01-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- * WebView.subproj/WebController.m: Add missing static.
-
-2003-01-23 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder fileAttributes]):
- * Downloads.subproj/WebMacBinaryDecoder.m: (-[WebMacBinaryDecoder fileAttributes]):
- Use "FinderFlags" instead of "FinderInfo" as appropriate, since these are
- just the Finder flags, not all the Finder info.
-
- * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler createFileIfNecessary]):
- * Misc.subproj/WebNSWorkspaceExtras.m: (-[NSWorkspace _web_noteFileChangedAtPath:]):
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage openResourceFile]):
- (-[WebNetscapePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
- (-[WebNetscapePluginPackage load]):
- Use fileSystemRepresentation instead of fileSystemRepresentationWithPath:
- because it's simpler and there's no good reason to use the other one.
-
- * WebView.subproj/WebUserAgentSpoofTable.gperf: Improved one of the motivating comments.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-=== Safari-54 ===
-
-2003-01-22 Chris Blumenberg <cblu@apple.com>
-
- Fixed problem where we weren't stopping the Java plug-in. This problem was introduced on Jan. 1
- when the ownership of the WebPluginController was moved from WebFrame to WebDataSource. This
- change moves the WebPluginController to the WebHTMLView. Why this change?
-
- - The state of the plug-ins (currently only the Java plug-in) completely relies on the state of
- the WebHTMLView, not on the state of the WebDataSource.
-
- - WebHTMLView and WebDataSource are usually coupled via WebView and WebFrame, but not always.
- In a transitional state, the WebHTMLView may not be up to date with the WebDataSource.
-
- - WebPluginController controls an array of views. It makes more sense for this object to be
- owned by a view (WebHTMLView) not a model.
-
- Reviewed by darin.
-
- * Plugins.subproj/WebPluginController.h:
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController initWithHTMLView:]): renamed, take the HTML view
- (-[WebPluginController addPlugin:]): use the HTML view
- (-[WebPluginController HTMLViewWillBeDeallocated]): renamed
- (-[WebPluginController showURL:inFrame:]): use the HTML view
- (-[WebPluginController showStatus:]): use the HTML view
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): get the plug-in controller from the HTML view
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): removed calls to plug-in controller
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView initWithFrame:]): create plug-in controller
- (-[WebHTMLView viewWillMoveToWindow:]): get plug-in controller from self, data source won't be accessible here since we don't have a superview
- (-[WebHTMLView viewDidMoveToWindow]): get plug-in controller from self
- (-[WebHTMLView addSubview:]): get plug-in controller from self
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLViewPrivate dealloc]): release plug-in controller
- (-[WebHTMLView _pluginController]): added
-
-2003-01-22 John Sullivan <sullivan@apple.com>
-
- - fixed 3152427 -- Need unique IDs for bookmarks, for
- synching's sake
-
- Bookmarks now have a UUID string so that each can maintain its identity
- even in the face of multi-machine synching. One known loose end is written
- up in 3153832 (unique IDs in bookmarks aren't preserved correctly after copy/paste).
- This should be good enough now for the iSynch folks to start implementing
- the bookmarks-synching conduit.
-
- I also did some cleanup in this area to share more code and handle
- init methods more cleanly, inspired by earlier feedback from Trey and Darin.
-
- Reviewed by Trey and Darin
-
- * Bookmarks.subproj/WebBookmark.h:
- new _UUID ivar, UUID declaration
- * Bookmarks.subproj/WebBookmarkPrivate.h:
- new _setUUID and _hasUUID declarations
-
- * Bookmarks.subproj/WebBookmark.m:
- (-[WebBookmark dealloc]):
- assert that group is nil here; release _UUID
- (-[WebBookmark copyWithZone:]):
- implement the code shared by each subclass; formerly had no implementation.
- (-[WebBookmark _setUUID:]):
- private method to set the UUID
- (-[WebBookmark UUID]):
- public method to get the UUID; this lazily creates the UUID.
- (-[WebBookmark _hasUUID]):
- private method to check whether there's a UUID without creating
- one by side effect (as calling -[WebBookmark UUID] would)
- (-[WebBookmark initFromDictionaryRepresentation:withGroup:]):
- implement the code shared by each subclass; formerly had no implementation.
- (-[WebBookmark dictionaryRepresentation]):
- implement the code shared by each subclass; formerly had no implementation.
-
- * Bookmarks.subproj/WebBookmarkGroup.h:
- new _bookmarksByUUID ivar
- * Bookmarks.subproj/WebBookmarkGroupPrivate.h:
- declarations for new methods _addBookmark: and _removeBookmark:
-
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup init]):
- new method, just complains that you should have called initWithFile: instead.
- (-[WebBookmarkGroup initWithFile:]):
- create _bookmarksByUUID
- (-[WebBookmarkGroup dealloc]):
- release _bookmarksByUUID
- (-[WebBookmarkGroup _addBookmark:]):
- new method, if bookmark has UUID, adds it to table, and recursively
- processes children the same way
- (-[WebBookmarkGroup _removeBookmark:]):
- new method, if bookmark has UUID, removes it from table, and recursively
- processes children the same way
- (-[WebBookmarkGroup _setTopBookmark:]):
- replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
- so it runs through the UUID code
- (-[WebBookmarkGroup _bookmarkChildren:wereRemovedFromParent:]):
- retitled this from "wereRemovedToParent"
-
- * Bookmarks.subproj/WebBookmarkLeaf.m:
- (-[WebBookmarkLeaf init]):
- now calls initWithURLString:title:group with nil parameters so that
- there's a designated initializer
- (-[WebBookmarkLeaf initFromDictionaryRepresentation:withGroup:]):
- rewritten to do only the subclasses' part now
- (-[WebBookmarkLeaf dictionaryRepresentation]):
- rewritten to do only the subclasses' part now
- (-[WebBookmarkLeaf copyWithZone:]):
- rewritten to do only the subclasses' part now
-
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList init]):
- now calls initWithTitle:group with nil parameters so that
- there's a designated initializer
- (-[WebBookmarkList initWithTitle:group:]):
- replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
- so it runs through the UUID code
- (-[WebBookmarkList initFromDictionaryRepresentation:withGroup:]):
- rewritten to do only the subclasses' part now
- (-[WebBookmarkList dictionaryRepresentation]):
- rewritten to do only the subclasses' part now
- (-[WebBookmarkList copyWithZone:]):
- rewritten to do only the subclasses' part now
- (-[WebBookmarkList _setGroup:]):
- removed this override, which used to do the recursion to set the group
- of children; this recursion is now done by -[WebBookmarkGroup _addBookmark:]
- and _removeBookmark:
- (-[WebBookmarkList removeChild:]):
- wereRemovedToParent -> wereRemovedFromParent
- (-[WebBookmarkList insertChild:atIndex:]):
- replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
- so it runs through the UUID code
-
- * Bookmarks.subproj/WebBookmarkProxy.m:
- (-[WebBookmarkProxy init]):
- now calls initWithTitle:group with nil parameters so that
- there's a designated initializer
- (-[WebBookmarkProxy initWithTitle:group:]):
- replace [bookmark setGroup:group] with [group _addBookmark:bookmark]
- so it runs through the UUID code
- (-[WebBookmarkProxy initFromDictionaryRepresentation:withGroup:]):
- rewritten to do only the subclasses' part now
- (-[WebBookmarkProxy dictionaryRepresentation]):
- rewritten to do only the subclasses' part now
- (-[WebBookmarkProxy copyWithZone:]):
- rewritten to do only the subclasses' part now
-
-2003-01-22 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3153673 -- spoof as MacIE to get into http://www.mazdausa.com
- - fixed 3153678 -- spoof as MacIE for http://wap.sonyericsson.com/
-
- * WebView.subproj/WebUserAgentSpoofTable.gperf: Add the two new entries.
- Also reorganize existing entries a bit.
-
-2003-01-22 Chris Blumenberg <cblu@apple.com>
-
- Removed comment that I added by mistake.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
-
-2003-01-22 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3153651 - text dragging does not work to Terminal
-
- Reviewed by trey.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Terminal only accepts the drag if one of the operations is generic. Made the operation both generic and copy.
-
-2003-01-21 Chris Blumenberg <cblu@apple.com>
-
- Added support for text dragging.
-
- Reviewed by dave.
-
- * Resources/text_clipping.tiff: Added. Temp drag image until we can create an image of the selected text.
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge mayStartDragWithMouseDraggedEvent:]): renamed, we now ask if OK to drag during the drag
- * WebKit.exp: renamed element key for selected text
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebController.h: renamed element key for selected text
- * WebView.subproj/WebController.m: renamed element key for selected text
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _handleMouseDragged:]): added support for text dragging
- (-[WebHTMLView _mayStartDragWithMouseDragged:]): renamed, we now ask if OK to drag during the drag
-
-2003-01-20 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- - fixed 3132120 - onchange handler not firing on mac.com webmail
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebNSTextView resignFirstResponder]): If we really resign first responder, and
- our delegate responds to filedWillBecomeFirstResponder, then call that method.
- (-[WebNSTextView becomeFirstResponder]): If we really become first responder, and
- our delegate responds to filedWillBecomeFirstResponder, then call that method.
-
-2003-01-20 Trey Matteson <trey@apple.com>
-
- Nit fix to remove a dead "cursor" ivar found while grepping.
-
- Reviewed by Richard.
-
- * WebView.subproj/WebDynamicScrollBarsView.h:
- * WebView.subproj/WebDynamicScrollBarsView.m:
-
-2003-01-18 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - fixed 3123041 - VIP: Spewage at bottom of oregonlive.com and other similar pages
-
- * WebView.subproj/WebUserAgentSpoofTable.gperf: Added nj.com to spoof list
- below oregonlive.com (which was already in there). Added comment explaining the
- need to spoof a bit more.
- * WebView.subproj/WebUserAgentSpoofTable.c:
- (hash):
- (_web_findSpoofTableEntry): Regenerated.
-
-2003-01-17 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3143656 - crash in MIMETypeForFile when a large QT movie is dragged over window
-
- Reviewed by darin.
-
- * WebView.subproj/WebControllerPrivate.m:
- (+[WebController _MIMETypeForFile:]): rewrote, now calls _web_guessedMIMEType
-
-2003-01-17 Darin Adler <darin@apple.com>
-
- - compressed all our non-compressed TIFF files
-
- * Resources/nullplugin.tiff:
- * Resources/url_icon.tiff:
-
-2003-01-16 Darin Adler <darin@apple.com>
-
- * WebView.subproj/WebController.h: Fixed a comment that was out of date.
-
-2003-01-16 Chris Blumenberg <cblu@apple.com>
-
- Fixed comment.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
-
-2003-01-16 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3125743 - right-click doesn't count as ctrl-click in Flash
-
- AppKit doesn't call mouseDown or mouseUp on right-click. Simulate control-click mouseDown and mouseUp so plug-ins get the right-click event as they do in Carbon
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView rightMouseDown:]):
- (-[WebBaseNetscapePluginView rightMouseUp:]):
-
-2003-01-16 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - added an API for dumping the external representation of the render tree for testing
-
- * Misc.subproj/WebCoreStatistics.h: Added renderTreeAsExternalRepresentation.
- * Misc.subproj/WebCoreStatistics.m: (-[WebFrame renderTreeAsExternalRepresentation]): Added.
-
- - removed remnants of an earlier more-naive cut at this same sort of thing
-
- * Misc.subproj/WebTestController.h: Removed.
- * Misc.subproj/WebTestController.m: Removed.
- * WebKit.exp: Removed WebTestController.
- * WebKit.pbproj/project.pbxproj: Removed WebTestController.
-
- - other changes
-
- * WebCoreSupport.subproj/WebBridge.m: Had added new copyright date to touch a file.
- That's not needed any more, but the date should be updated anyway.
-
-=== Safari-52 ===
-
-2003-01-15 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3143418 - controller assert in WebStandardPanels _didStartLoadingURL
- - fixed 3141212 - crash in kjs garbage collection (contextimp mark)
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge startLoadingResource:withURL:]): If the data source
- doesn't have a controller, then block the load.
-
-2003-01-15 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed problem where Content-Type was going into WebCore with suffixes like "charset"
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]):
- Pass in contentType from the response, rather than the "Content-Type" header.
- Also pass in the refresh header separately.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for above change.
-
-2003-01-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin, Dave and Trey, and given the seal of approval by Don.
-
- Use new safer file removal call that does not handle directories.
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler cleanUpAfterFailure]): Use
- _web_removeFileOnlyAtPath:
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream dealloc]): Use _web_removeFileOnlyAtPath:
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Use _web_removeFileOnlyAtPath:
-
-2003-01-14 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
- Fixed uninitialized variable warning so builds work again.
-
- * WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]): Added "application/xml".
- * WebView.subproj/WebViewPrivate.m: (+[WebView _viewTypes]): Added "application/xml".
-
- * English.lproj/Localizable.strings: Regenerated.
- * English.lproj/StringsNotToBeLocalized.txt: Updated for above change.
-
-2003-01-13 Darin Adler <darin@apple.com>
-
- Reviewed by Trey, John, and Maciej, and given the seal of approval by Don.
-
- - fixed 3143317 -- plug-in supplied URLs cause correspondingly named files in /tmp to be deleted
- - fixed 3143330 -- plug-in supplied URLs can overwrite files used in other windows by same plug-in
-
- * Plugins.subproj/WebBaseNetscapePluginStream.h: Make path be a char * rather than an NSString.
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream dealloc]): Use unlink() to delete the temporary file we made.
- Since we created the file, we know it doesn't have any fancy stuff like a resource fork.
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Create the file with mkstemp instead of
- trying to come up with our own filename. This eliminates the need to delete an old file (because we
- are guaranteed the file is new) and also mkstemp opens the file for us, so we just need to write
- the contents.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for above changes.
-
- - unrelated change to help with other bug analysis
-
- * WebView.subproj/WebBaseResourceHandleDelegate.m: Added assertions.
-
-2003-01-12 Chris Blumenberg <cblu@apple.com>
-
- Fix for checking and creating proper download filenames.
-
- Reviewed by mjs, kocienda, trey.
-
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebControllerPolicyDelegate.h: changes for renamed savePathForResponse:andRequest: method
- * WebView.subproj/WebDefaultPolicyDelegate.m: changes for renamed savePathForResponse:andRequest: method
- (-[WebDefaultPolicyDelegate savePathForResponse:andRequest:]): renamed
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): changes for renamed savePathForResponse:andRequest: method
-
-2003-01-12 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3144882 -- pretend to be WinIE for abcnews.com
-
- * WebView.subproj/WebControllerPrivate.h: Add an enum, UserAgentStringType, with values
- Safari, MacIE, and WinIE. Also add NumUserAgentStringTypes and turn the userAgent and
- userAgentWhenPretendingToBeMacIE strings into an array indexed by type.
-
- * WebView.subproj/WebController.m:
- (-[WebController setApplicationNameForUserAgent:]): Use a loop to discard the user agent
- strings, since we have an array now.
- (-[WebController userAgentForURL:]): Change user agent algorithm to check two strings rather
- than once against the spoof table, allowing two dots in the "domain name", which is needed
- for "abcnews.go.com". Get a user agent string type from the table rather than just a boolean
- "pretend to be MacIE". Store a string per type rather than one for normalcy and one for MacIE.
- Add a case for WinIE to the user agent computations.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for change above.
-
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate dealloc]): Use a loop to discard the user agent strings, since we have
- an array now.
- (-[WebController _defaultsDidChange]): Ditto.
-
- * WebView.subproj/WebUserAgentSpoofTable.gperf: Add a UserAgentStringType field to the struct.
- Add MacIE to each existing table entry, and add a new one that says WinIE for abcnews.go.com.
-
- * Makefile.am: Pass "-F ,0" to gperf so that we don't get warnings compiling empty entries
- in the hash table.
-
- * WebView.subproj/WebUserAgentSpoofTable.c: Re-generated.
-
- - other changes
-
- * WebView.subproj/WebHTMLView.m: Removed some old, dead, #if 0'd code.
-
-2003-01-11 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3144479 -- put TITLE from links in status bar
-
- * WebKit.exp: Add _WebElementLinkTitleKey and also sort this file.
-
- * WebCoreSupport.subproj/WebImageRenderer.m: Need to touch a file to get the above
- to have any effect, so update the copyright date here.
-
-2003-01-09 Darin Adler <darin@apple.com>
-
- * WebKit.pbproj/project.pbxproj: Add the year 2003, remove CFBundleIconFile,
- bump marketing version to 0.8.1 and version to 52u to keep up with the branch,
- remove CFHumanReadableCopyright, remove NSPrincipalClass.
-
- * English.lproj/InfoPlist.strings: Updated to match above changes.
-
-2003-01-09 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2003-01-09 Richard Williamson <rjw@apple.com>
-
- Fixed 3143361. This was a regression introduced with some image
- rendering optimizations. Don't bypass the tiling code path if
- the image needs to be rendered out-of-phase.
-
- Reviewed by hyatt.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer tileInRect:fromPoint:]):
-
-2003-01-09 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - second pass on 3143332 - we still need a test case to be sure this is right
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
- Check for "/". Also report the failure instead of just hanging on forever.
-
-2003-01-09 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3143332 -- if path returned is empty string (or "." or "..") it will trash the /tmp symlink
-
- * Plugins.subproj/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
- Check for empty string, ".", and "..", and don't create files by those names.
-
-2003-01-09 Trey Matteson <trey@apple.com>
-
- 3143294 - need short-term bulletproofing of download code against bad filenames
-
- We protect against a download location that is not an absolute path.
-
- Reviewed by Darin
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- Bail on download if we don't have a abs path to write to.
-
-2003-01-08 Trey Matteson <trey@apple.com>
-
- 3142201 - home directory nuked during power download session
-
- We add checks for various error cases that could combine to cause this problem. While we
- never got a reproducible case, we are confident that this is the only file removal done
- in the download code, and its ability to wreak havoc has been clipped.
- Reviewed by Richard.
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler cleanUpAfterFailure]): Only nuke the partial download if in fact we created
- a new download file. Never nuke a directory.
- (-[WebDownloadHandler createFileIfNecessary]): Don't add "." to the foo-1 filenames we generate
- if the original filename doesn't have any extension.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient continueAfterContentPolicy:response:]):
- If the policyDelegate gives us a nil filename, just stop the whole load, instead of trying to
- overwrite the user's home directory.
-
-2003-01-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3111432 - Support OBJECT tags with type text/plain or text/html
-
- Reviewed by dave.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge frameRequiredForMIMEType:]): added, returns YES for non-plug-in views
-
-2003-01-08 Chris Blumenberg <cblu@apple.com>
-
- FIXED: 3128098 - flash performance weak!!!
-
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m: Don't throttle plug-in when in an active window.
-
-2003-01-03 Richard Williamson <rjw@apple.com>
-
- Fixed 3139129. Added application/xhtml+xml to list of supported type.
-
- Reviewed by gramps.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (+[WebDataSource _repTypes]):
- * WebView.subproj/WebViewPrivate.m:
- (+[WebView _viewTypes]):
-
-2003-01-03 Richard Williamson <rjw@apple.com>
-
- Support for fixes to 3138743, 3138678. Added
- isFontFixedPitch used to determine if font is fixed
- pitch. Makes use of appkit private _isFakeFixedPitch
- (detects courier and monoca). Updated our fakey test
- to use the appkit's version.
-
- Reviewed by darin.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory isFontFixedPitch:]):
-
-2003-01-03 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed leak of WebIconLoader observed using leaks tool
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): Tell the icon loader to stop loading.
- Add a FIXME asking why we had to do this to fix the leak.
- (-[WebDataSource _loadIcon]): Add an assertion.
-
-2003-01-03 Richard Williamson <rjw@apple.com>
-
- Fix to 3131226. Don't force a layout when the document view is set
- on the page's scrollview. A layout would occur indirectly as a result
- of reflectScrolledClipView: being called when the document view
- was set. The khtmlpart/khtmlview/WebHTMLView would be out of sync
- at this point and a layout would have unintended and incorrect
- side effects.
-
- Reviewed by Darin (and tested by John).
-
- * WebView.subproj/WebDynamicScrollBarsView.h:
- * WebView.subproj/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]):
- * WebView.subproj/WebViewPrivate.m:
- (-[WebView _setDocumentView:]):
-
-=== Alexander-48 ===
-
-2003-01-02 Richard Williamson <rjw@apple.com>
-
- Increase the minimum font size to 9pt. This bounds the lower
- size of the sizes array used for named sizes. Net effect is
- to increase xx-small from 8pt to 9pt. xx-small is used by
- www.microsoft.com.
-
- Reviewed by hyatt.
-
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences load]):
-
-2003-01-02 Darin Adler <darin@apple.com>
-
- Reviewed by Don.
-
- - at Scott and Don's request, roll out small text anti-aliasing cutoff
-
- Turns out this makes small text look worse, not better. We're not going to respect
- this setting, and in Panther AppKit will almost certainly be changed not to either.
-
- * WebCoreSupport.subproj/WebTextRenderer.m: Rolled out yesterday's change using CVS.
-
-2003-01-02 Darin Adler <darin@apple.com>
-
- Reviewed by John and Don.
-
- - fixed 3137661 -- REGRESSION: autoscroll selection is broken
-
- The new logic in WebCore is slightly pickier, and can't abide a mouse-moved event
- coming in during a drag. Unfortunately, we were sending a fake mouse-moved event
- during a drag, so lets not do that.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDown:]): Cancel any scheduled fake mouse-moved event.
- (-[WebHTMLView mouseUp:]): Send a fake mouse-moved event because we didn't update during the drag.
-
- * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _frameOrBoundsChanged]):
- Don't schedule a fake mouse-moved event if the mouse is down, because that means we are in the
- middle of a drag.
-
-2003-01-02 Darin Adler <darin@apple.com>
-
- Reviewed by John and Ken.
-
- - fixed 3135548 -- exception in Internet Explorer bookmark import code at first startup
-
- * Bookmarks.subproj/WebBookmarkImporter.m:
- (_breakStringIntoLines): Break lines before a <DT> or </DL>.
- (_HREFTextFromSpec): Rewrite to simplify, search in a case-insensitive manner.
- (-[WebBookmarkImporter initWithPath:]): Change prefix checks to be case-insensitive.
- Don't discard folders altogether if the name can't be parsed as that would mess up
- nesting w.r.t the next </DL>. Make the </DL> handling robust so we misparse, but don't
- crash the whole application by raising an exception.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for this change and recent changes.
-
-2003-01-01 Richard Williamson <rjw@apple.com>
-
- Obey the font smoothing size preference (3137618).
-
- Reviewed by Don and Darin.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
-
-2002-12-31 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed 3130831 - HOMEPAGE: JavaScript that tries to intercept onmousedown fails, image gets dragged instead
- - fixed 3125554 - while dragging to select text in a nested frame, you can start dragging a link or image
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge handleMouseDragged:]): New method; call through the WebHTMLView.
- (-[WebBridge mayStartDragWithMouseDown:]): Likewise.
- (-[WebBridge handleAutoscrollForMouseDragged:]): Likewise.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView mouseDragged:]): Instead of doing drag handling
- here, just pass the event to WebCore.
- (-[WebHTMLView draggedImage:endedAt:operation:]): Send a fake
- mousemove event instead of sending the current event (likely a
- mouse up as if it were a mouse move).
- * WebView.subproj/WebHTMLViewPrivate.h:
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLViewPrivate dealloc]): Release drag element if any.
- (-[WebHTMLView _dragImageForElement:]): New method. Split out the
- code to make the special drag image for links.
- (-[WebHTMLView _handleMouseDragged:]): Move all the drag handling
- here. This method will get called only if WebCore hasn't blocked
- default drag handling.
- (-[WebHTMLView _handleAutoscrollForMouseDragged:]): Do
- autoscroll. Autoscroll is still lame, we need a timer.
- (-[WebHTMLView _mayStartDragWithMouseDown:]): Determine if the element
- is a link or image and so may be dragged; remember the drag element.
-
-2003-01-01 Richard Williamson <rjw@apple.com>
-
- Correct fix for 3137430 that doesn't always effectively disable
- the cache.
-
- Reviewed by kocienda.
-
- * History.subproj/WebHistoryItem.m:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
-
-2003-01-01 Richard Williamson <rjw@apple.com>
-
- Don't reset the cookie policy URL if it has already been set. Fixes to 3109590.
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
-
-2003-01-01 Richard Williamson <rjw@apple.com>
-
- Don't attempt to restore page from page cache if the cache
- doesn't contain valid page state. This may happen after a
- redirect. Fixes 3137430.
-
- Reviewed by kocienda.
-
- * History.subproj/WebHistoryItem.m:
-
-2002-12-31 Darin Adler <darin@apple.com>
-
- Reviewed by Trey.
-
- - fixed 3137287 -- REGRESSION: Java applets don't work when you go back to them (Java 1.4.1 plug-in)
-
- By attaching the plug-in controller to the frame, we run into trouble.
- It really needs to be attached to the data source, which has the right lifetime
- and is kept around in the page cache.
-
- * Plugins.subproj/WebPluginController.h: Keep a reference to a data source, not a frame.
- Add a new _started variable. Rename addPluginView: to addPlugin:, get rid of didAddPluginView:,
- replace destroyAllPlugins with dataSourceWillBeDeallocated, add startAllPlugins and stopAllPlugins.
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController initWithDataSource:]): Store a data source reference, not a frame reference.
- Don't bother registering for the window will close notification, WebHTMLView handles that fine.
- (-[WebPluginController startAllPlugins]): Do nothing if they are already started, call pluginStart on each otherwise.
- (-[WebPluginController stopAllPlugins]): Do nothing if they are not started, call pluginStop on each otherwise.
- (-[WebPluginController addPlugin:]): Initialize the plugin if it's not already in our list. Also start
- it if we are in "started" mode.
- (-[WebPluginController dataSourceWillBeDeallocated]): Stop all the plugins, then destroy them.
- Also nil out the fields of the object. This is always called before the controller is released so we
- don't need to override dealloc.
- (-[WebPluginController showURL:inFrame:]): Added error checking and changed now that we start with a data source.
- (-[WebPluginController showStatus:]): Ditto.
-
- * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
- Use the data source, not the view. Don't add the plugin here, wait until we are ready to start.
-
- * WebView.subproj/WebDataSourcePrivate.h: Store a pointer to the plug-in controller here.
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSourcePrivate dealloc]): Tell the plug-in controller to go away.
- (-[WebDataSource _makeHandleDelegates:deferCallbacks:]): Remove unused empty method.
- (-[WebDataSource _pluginController]): Create a plug-in controller if needed.
-
- * WebView.subproj/WebFramePrivate.h: Remove plug-in controller code.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFramePrivate dealloc]): Remove plug-in controller code.
- (-[WebFrame _detachFromParent]): Remove plug-in controller code.
- (-[WebFrame _transitionToCommitted:]): Remove plug-in controller code.
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView viewWillMoveToWindow:]): Stop plug-ins when view moves out of a window.
- This includes the case when the window is being destroyed.
- (-[WebHTMLView viewDidMoveToWindow]): Start plug-ins when view moves into a window.
- (-[WebHTMLView addSubview:]): Add plug-ins to the controller as they are added to us.
-
- * WebView.subproj/WebController.m: Added now-needed include due to header change.
- * WebView.subproj/WebDefaultContextMenuDelegate.m: Ditto.
-
-=== Alexander-47 ===
-
-2002-12-30 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2002-12-30 Trey Matteson <trey@apple.com>
-
- 3137110 - REGRESSION: calls from 2nd and subsequent instances of Java 1.4.1 plug-in seem to be ignored
-
- We had previously made changes to "numb" a plugin controller after its frame
- was tossed or changed content. We now finish the job by making sure a new
- controller is created when we go to a new page with plugins. To so this we
- release the old controller whenever we flush the plugins from a page.
-
- Reviewed by Maciej.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _detachFromParent]): Call newly factored code.
- (-[WebFrame _transitionToCommitted:]): Call newly factored code.
- (-[WebFrame _destroyPluginController]): New method to tear down plugins.
-
-2002-12-30 Trey Matteson <trey@apple.com>
-
- 3135025 - Assertion failure in _transitionToCommitted on espn nba scoreboard
-
- For blank pages we decided that there would be no b/f entry. This means that
- subframes within such pages (created via doc.write()), should not try to make
- WebHistoryItems, since they have no parent items to attach them to.
-
- Reviewed by Darin.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]): Don't make a history item for a subframe
- it the parent frame has no item.
-
-2002-12-30 Trey Matteson <trey@apple.com>
-
- 3135779 - REGRESSION: reproducible assertion failure, going back from ~orubin to the main spies.com page 3136218 - REGRESSION: Assertion failure in _restoreScrollPosition running browser buster
- Both were caused by subtle interactions between new code for short-circuiting loading of
- blank pages, and the WebHistoryItem manipulations we do for b/f and reload of child frames.
-
- Reviewed by Maciej
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadURL:intoChild:]): Setup provisional or current item before jumping into
- the real work of loading the URL.
- (-[WebFrame _restoreScrollPosition]): Tweaked to make the assertion message clearer.
-
-2002-12-30 Darin Adler <darin@apple.com>
-
- Reviewed by Don and Ken.
-
- - fixed 3136797 -- crash when Adobe SVG Viewer plug-in puts up modal dialog
-
- * Plugins.subproj/WebBaseNetscapePluginView.h: Add inSetWindow boolean.
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendEvent:]): Don't send any events to a plug-in while it's
- inside NPP_SetWindow. We don't want to implement more general reentrancy protection, because
- it could cause trouble for plugins that can handle it correctly, but it's unlikely that any
- legitimate use would require reentrant calls while inside NPP_SetWindow, and that's the case
- that crashes for the SVG viewer plug-in when it presents its registration dialog.
- (-[WebBaseNetscapePluginView setWindow]): Set boolean.
-
-2002-12-29 Darin Adler <darin@apple.com>
-
- Reviewed by Don.
-
- - fixed 3103287 -- body of page not rendered (page uses JavaScript trick to be both a frameset and a frame)
-
- Our self-reference checks prevented this page from working.
- I just removed the WebKit one, since it was really just working around a problem with the WebCore
- one that I fixed (didn't ignore #xxx suffixes).
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- Remove self-reference check.
-
-2002-12-29 Darin Adler <darin@apple.com>
-
- Reviewed by Don.
-
- - fixed 3136801 -- scrolling a page that contains a QuickTime movie leaves garbage behind
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView tellQuickTimeToChill]): Added. Calls a QuickDraw SPI
- CallDrawingNotifications to let QuickTime know it should take a nature break.
- (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Call tellQuickTimeToChill.
- (-[WebBaseNetscapePluginView viewHasMoved:]): Call tellQuickTimeToChill.
-
-2002-12-29 Darin Adler <darin@apple.com>
-
- Reviewed by Don.
-
- - follow-on to my fix for 3125877 that fixes a crash I observed when a plug-in fails to NPP_New
-
- I filed bug 3136870 about the fact that we don't do a good job reporting the error.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendEvent:]): Return quietly if this is called when
- the plug-in is not started rather than asserting (and doing bad things on Deployment).
- (-[WebBaseNetscapePluginView setWindow]): Ditto.
- (-[WebBaseNetscapePluginView viewHasMoved:]): Just call setWindow since it now checks isStarted.
-
-2002-12-29 Darin Adler <darin@apple.com>
-
- Reviewed by Don.
-
- - fixed 3120630 -- spacebar scrolls the page as well as pausing the QuickTime movie
-
- Imitate Mozilla and OmniWeb by not propagating keyboard events after passing them to
- plug-ins regardless of what the plug-in returns, rather than imitating MacIE, which
- looks at the return value from NPP_HandleEvent.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView keyUp:]): Remove call to super, add comment.
- (-[WebBaseNetscapePluginView keyDown:]): Ditto.
-
-2002-12-29 Darin Adler <darin@apple.com>
-
- Reviewed by Ken and Don.
-
- - fixed 3136120 -- much content missing at www.olympic.org
-
- This site gives modern CSS to "Internet Explorer" or "Netscape 6". Since we are neither of
- those, we need to pretend to be one or the other. So we add olympic.org to our MacIE spoofing list.
-
- * WebView.subproj/WebUserAgentSpoofTable.gperf: Add olympic.org to the list of pages that give us better
- CSS if we claim to be Internet Explorer.
- * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
-
-=== Alexander-46 ===
-
-2002-12-28 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Gramps and Richard
-
- Fix for this bug:
-
- Radar 3112233 (400 response when attaching files at mail.yahoo.com)
-
- I added the MIMETypeForPath method which accesses the WebFoundation mime
- file map we maintain. KHTML can now access this map by using the bridge.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge MIMETypeForPath:])
-
-2002-12-28 Darin Adler <darin@apple.com>
-
- Reviewed by Gramps and Ken
- Checked in by Ken
-
- - fixed 3125877 -- RealPlayer plug-in doesn't work in Safari
-
- * Plugins.subproj/WebBaseNetscapePluginView.h: Remove some methods that don't have
- any need to be public, getCarbonEvent:, sendEvent:, sendUpdateEvent, setUpWindowAndPort.
- Make setWindow public.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView saveAndSetPortStateForUpdate:]): Added. This replaces the
- old setUpWindowAndPort. Besides setting up the port and the window, it also sets up the
- port's origin, clip, visible, and update regions properly, and sets the current port.
- In the case of an update event, we have extra work to do, which was formerly done in drawRect:.
- (-[WebBaseNetscapePluginView saveAndSetPortState]): Calls saveAndSetPortStateForUpdate:NO.
- (-[WebBaseNetscapePluginView restorePortState:]): Undoes the port state changes done by the
- saveAndSetPortState calls.
- (-[WebBaseNetscapePluginView sendEvent:]): Call saveAndSetPortStateForUpdate: before sending
- the event to the plug-in. This is the core of fixing the bug. We need to have the port set
- up properly. Specifically, RealPlayer depended on the port's origin being set and the update
- region being set. Also added a "draw green" debugging aid to builds without NDEBUG set.
- (-[WebBaseNetscapePluginView sendNullEvent]): Update text of a FIXME.
- (-[WebBaseNetscapePluginView setWindow]): Call the new saveAndSetPortState method instead of
- the old setUpWindowAndPort method.
- (-[WebBaseNetscapePluginView drawRect:]): Remove bug workarounds that are now inside the
- saveAndSetPortStateForUpdate: method.
- (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Add missing call to super.
- (-[WebBaseNetscapePluginView windowBecameKey:]): Don't send an update event to the plugin directly.
- Instead mark this view as needing display so we'll get a drawRect later.
- (-[WebBaseNetscapePluginView windowResignedKey:]): Ditto.
- (-[WebBaseNetscapePluginView requestWithURLCString:]): Corrected handling of URLs. Absolute URLs
- are handled by the relative URL function, so there's no need to do an explicit check. Also use
- requestWithURL instead of doing a three-method dance that does the same thing.
- (-[WebBaseNetscapePluginView invalidateRect:]): Use setNeedsDisplayInRect: to schedule redrawing
- rather than forcing an update right away by doing a sendUpdateEvent directly.
- (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto.
- (-[WebBaseNetscapePluginView forceRedraw]): Use setNeedsDisplay: and displayIfNeeded to do the
- drawing through the view system instead of doing a sendUpdateEvent directly.
-
- * Plugins.subproj/WebNetscapePluginDocumentView.m: (-[WebNetscapePluginDocumentView layout]):
- Do a setWindow rather than a setUpWindowAndPort when the size of the view changes. This matches
- what other browsers do and extends the bug fix for the Java plug-in to the resize case as well as
- the scrolling case.
-
- * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage initWithPath:]):
- Remove RealPlayer antibodies.
-
-2002-12-27 Darin Adler <darin@apple.com>
-
- Reviewed by Don.
-
- - fixed 3136206 -- Can't display images in Ambrosia Software image viewer
-
- WebKit wasn't creating the frames correctly when they weren't HTML.
-
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _makeDocumentView]): Added. Calls the
- WebView to make the document view and then installs the new view, as WebHTMLView used to do.
- (-[WebFrame _transitionToCommitted:]): Call _makeDocumentView instead of calling WebView
- directly. These are all the calls to _makeDocumentViewForDataSource:.
-
- * WebView.subproj/WebViewPrivate.h: Add return value to _makeDocumentViewForDataSource:.
- * WebView.subproj/WebViewPrivate.m: (-[WebView _makeDocumentViewForDataSource:]):
- Return the newly-created view.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView setDataSource:]): Removed the code here
- since it's done by WebFrame now.
-
-2002-12-25 Darin Adler <darin@apple.com>
-
- Reviewed by Don.
-
- - fixed 3133611 -- Java "ticker" applet renders badly when scrolling page
-
- * Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView viewHasMoved:]):
- Call setWindow so we make a call to the plugin each time it moves, rather than just adjusting
- the data structure we had passed to it earlier.
-
-2002-12-24 Darin Adler <darin@apple.com>
-
- Reviewed by Richard and Don.
-
- - fixed 3132192 -- HOMEPAGE: Quicktime plug in with AVI content brings Plug-ins not found panel
-
- * Plugins.subproj/WebPluginDatabase.m: (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
- Lower-case the key before searching for it. This is needed for both MIME types and extensions,
- since we want case insensitive comparison in both cases.
-
-=== Alexander-45 ===
-
-2002-12-23 Ken Kocienda <kocienda@apple.com>
-
- Reviewed by Darin and Gramps
-
- Workaround for this bug:
-
- Radar 3134219 (MPEG-4 files don't work with the QuickTime plugin in Safari,
- work fine in Mozilla, IE)
-
- For beta 1, when getting the MIME information for the QuickTime plugin, we directly
- insert the information to handle MP4.
-
- In the future, we will use the additional plugin entry points to dynamically load
- this information from the plugin itself.
-
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage getMIMEInformation])
-
-2002-12-23 Darin Adler <darin@apple.com>
-
- Reviewed by John and Don.
-
- - fixed 3134282 -- REGRESSION: text encoding setting reverts when you go to a new location
-
- * WebView.subproj/WebFrame.m: (-[WebFrame loadRequest:]): Propagate an override encoding if there
- was an existing data source and it had an override encoding.
- * WebView.subproj/WebFramePrivate.m: (-[WebFrame _loadRequest:triggeringAction:loadType:]): Ditto.
-
-=== Alexander-44 ===
-
-2002-12-20 Trey Matteson <trey@apple.com>
-
- Do not add empty URLs to the back forward list.
-
- Reviewed by Richard, Darin
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]):
-
-2002-12-20 Trey Matteson <trey@apple.com>
-
- 3133829 - crash leaving page with a running applet
-
- This fixes some holes in how we teardown plugins. An additional fix is expected
- from Mike Hay to finish the issue. (3133981)
-
- Reviewed by Richard
-
- * Plugins.subproj/WebPluginController.m:
- (-[WebPluginController destroyAllPlugins]): frame=nil, so we don't do any more
- messaging back to WK after this step.
- (-[WebPluginController showURL:inFrame:]): bail if !frame
- (-[WebPluginController showStatus:]): bail if !frame
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _detachFromParent]): destroy plugins here. We were only doing it
- in the non-frame case.
-
-=== Alexander-43 ===
-
-2002-12-20 Trey Matteson <trey@apple.com>
-
- 3131841 - crash when switching encodings on a page with frames
-
- Reviewed by rjw
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]): Create a docView in the LoadStale case, like
- every other kind of load does.
-
-2002-12-20 Richard Williamson <rjw@apple.com>
-
- Fixed 3133261. This fix really has two parts. This first part
- is here in WebTextRenderer. The second part adds some width
- caching to RenderText. I was using a stack allocated array,
- this would blow out the stack for large strings.
-
- Reviewed by john.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
-
-2002-12-20 Trey Matteson <trey@apple.com>
-
- We now build with symbols the B&I. Deployment builds are without symbols,
- so it is easy to generate a non-huge app as a one-off.
-
- Reviewed by Darin
-
- * WebKit.pbproj/project.pbxproj:
-
-=== Alexander-42 ===
-
-2002-12-19 John Sullivan <sullivan@apple.com>
-
- - WebKit part of fix for 3124949 -- Alexander recreates the
- default set of bookmarks every time a separate app copy is launched
-
- Reviewed by Darin
-
- * Bookmarks.subproj/WebBookmarkGroup.h:
- new _tag ivar and -tag method.
-
- * Bookmarks.subproj/WebBookmarkGroup.m:
- (-[WebBookmarkGroup dealloc]):
- release _tag
- (-[WebBookmarkGroup tag]):
- return _tag
- (-[WebBookmarkGroup _loadBookmarkGroupGuts]):
- read _tag from the dictionary in the file (or leave it at
- nil if there's no value in the file).
-
- * English.lproj/StringsNotToBeLocalized.txt:
- kept this file up to date
-
-2002-12-19 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - corrected the name of a method that was leading to trouble elsewhere
-
- * WebView.subproj/WebDataSource.h: Change fileType to fileExtension for clarity.
- * WebView.subproj/WebDataSource.m: (-[WebDataSource fileExtension]): Ditto.
-
-=== Alexander-41 ===
-
-2002-12-19 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - probably fixed 3129395 -- Reproducible crash when running a javascript at www.scenespot.org
-
- * WebCoreSupport.subproj/WebViewFactory.m:
- (-[WebViewFactory runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
- Close the window. Before we relied on it being released which was bad. But it's not clear this
- actually was the cause of the bug.
-
-2002-12-19 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed 31323455 -- REGRESSION: Crash in plugin code closing popup window on lordoftherings.net
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendEvent:]): Added an assert.
- (-[WebBaseNetscapePluginView setWindow]): Added an assert.
- (-[WebBaseNetscapePluginView stop]): Cancel perform requests, now that we are using them for
- URL navigation.
- (-[WebBaseNetscapePluginView frameStateChanged:]): Only notify if the plugin is still running.
- (-[WebBaseNetscapePluginView loadPluginRequest:]): Added. Does the actual load at idle time.
- Also fixed to only notify if plugin is loaded. Added a number of FIXMEs for other problems here.
- Also send JavaScript to the appropriate frame, not always the top level.
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]): Use loadPluginRequest:
- to do the request after a delay. Also remove the special cases for special frame names; they
- were trying to avoid calling a plugin that has gone away, but we do that a better way now.
- (-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): Added logging.
- (-[WebBaseNetscapePluginView status:]): Use Windows Latin-1 rather than MacRoman for messages.
- I guess we should test later to find out which is used by MacIE and conform to that, but for now
- this seems like a better default.
- (-[WebPluginRequest initWithRequest:frame:notifyData:]): Added.
- (-[WebPluginRequest dealloc]): Added.
- (-[WebPluginRequest request]): Added.
- (-[WebPluginRequest webFrame]): Added.
- (-[WebPluginRequest notifyData]): Added.
-
-2002-12-18 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed fix for 3132056 -- Supply Finder bits for decoded BinHex files
-
- * Downloads.subproj/WebBinHexDecoder.m: (-[WebBinHexDecoder decodeHeader]):
- Mask off fewer Finder flag bits. Use the same mask as for MacBinary, in fact.
-
-2002-12-18 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3127490 -- pages w/frames sometimes show up blank
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
- Updated the optimization where we draw the entire view if we did a layout
- so that it works properly for the case where the clip is narrower because of
- the parent WebHTMLView.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-=== Alexander-40 ===
-
-2002-12-18 Trey Matteson <trey@apple.com>
-
- 3098388 - Pressing the back button goes back two levels at allmusic.com
-
- I rewrote the logic we use to decide whether a given redirect should be
- treated as part of the previous navigation. We make use of WebCore's
- lockHistory setting, the delay time and the frame state.
-
- Reviewed by Darin.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge reportClientRedirectToURL:delay:fireDate:lockHistory:]):
- Pass lockHistory up to the frame.
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:]):
- New logic. No quick summary, best to read the code.
-
-2002-12-18 Chris Blumenberg <cblu@apple.com>
-
- Reject the RealPlayer plug-in because we know it doesn't work.
-
- Reviewed by sullivan.
-
- * English.lproj/StringsNotToBeLocalized.txt:
- * Plugins.subproj/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage initWithPath:]): reject the RealPlayer plug-in
-
-2002-12-18 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
- * English.lproj/InfoPlist.strings:
-
-2002-12-18 Richard Williamson <rjw@apple.com>
-
- Fixed 3129951. Don't allow pages that are stopping to enter the page cache.
- (Fixed yesterday, forgot to checkin.)
-
- Reviewed by trey.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _setState:]):
-
-2002-12-18 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin and Trey.
-
- - fixed 3124933 - abcnews.com leads to empty window with sheet complaining about javascript: URL
- - fixed 3091248 - picture does not show up in window from epinions
- - made "about:blank" load synchronously, which I'm told is required by some sites.
-
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge createWindowWithURL:frameName:]): If the URL is nil
- or empty, pass a nil request - otherwise WebBrowser will try to
- load it, resulting in an extra back/forward list entry.
- (-[WebBridge loadEmptyDocumentSynchronously]): Tell the frame to
- load a request with an empty URL - this will cause a synchronous
- load of an empty html document
- * WebView.subproj/WebBaseResourceHandleDelegate.h:
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate loadWithRequest:]): Split off
- startLoading: part of method to allow behavior to be subclassed.
- (-[WebBaseResourceHandleDelegate startLoading:]):
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _commitIfReady:]): Lie and claim the URL is
- "about:blank" if it's really empty to avoid confusing WebCore.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]): Don't put the empty URL in
- global history.
- (-[WebFrame
- _checkNavigationPolicyForRequest:dataSource:andCall:withSelector:]):
- Don't check policy if URL is empty - this is likely to confuse the
- client and we know what the right behavior here is.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient startLoading:]): Try to load
- "about:blank" and the empty URL synchronously, bypassing
- WebFoundation.
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): Ditto.
- (-[WebMainResourceClient setDefersCallbacks:]): Ditto.
- * English.lproj/StringsNotToBeLocalized.txt: Updated.
-
-2002-12-18 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 2862385 - need to pass browser's user agent and version to plug-ins
- Added some more error checking to the plug-in code
-
- Reviewed by trey.
-
- * Plugins.subproj/WebBaseNetscapePluginView.h:
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (+[WebBaseNetscapePluginView setCurrentPluginView:]): new, sets a global variable for the current plug-in
- (+[WebBaseNetscapePluginView currentPluginView]): new, returns the current plug-in
- (-[WebBaseNetscapePluginView start]): check if NPP_New fails, return NO if it does, set the current plug-in view. Currently, this is the only place we need to do this.
- (-[WebBaseNetscapePluginView userAgent]): made instance-specific because it depends on the plug-in view's WebController
- * Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
- * Plugins.subproj/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView viewDidMoveToWindow]): don't start the stream is start fails
- * Plugins.subproj/npapi.m:
- (NPN_MemAlloc): tweak
- (NPN_RequestRead): tweak
- (pluginViewForInstance): returns the instance's plug-in view if it has one, if not, return the current plug-in view
- (NPN_GetURLNotify): get the instance from pluginViewForInstance
- (NPN_GetURL):
- (NPN_PostURLNotify):
- (NPN_PostURL):
- (NPN_NewStream):
- (NPN_Write):
- (NPN_DestroyStream):
- (NPN_UserAgent):
- (NPN_Status):
- (NPN_InvalidateRect):
- (NPN_InvalidateRegion):
- (NPN_ForceRedraw):
- (NPN_GetValue):
- (NPN_SetValue):
- (NPN_GetJavaEnv):
- (NPN_GetJavaPeer):
-
-2002-12-18 Richard Williamson <rjw@apple.com>
-
- Fixed 3109590. We now set the cookie policy URL to a frame's URL if the
- contents of the frame changes as a result of user action. The site mentioned
- is this bug branded a service by wrapping it in their own frameset. That frameset
- had a different domain than the service, so our cookie policy prevented cookies
- from being set.
-
- Reviewed by trey.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]):
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadRequest:]):
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadItem:fromItem:withLoadType:]):
- (-[WebFrame _addExtraFieldsToRequest:alwaysFromRequest:]):
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
- (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):
-
-2002-12-18 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3131714 - System becomes unresponsive while downloading
-
- While downloading a file, Safari and the Finder take up 30%-40% of the CPU each. This is happening because for every chunk of data we write to disk, we call -[NSWorkspace noteFileSystemChanged:]. noteFileSystemChanged is inefficient. It calls 2 AppleEven
-
-
-
-
-
-
-
-
-
-ts each with 60 timeouts. The event also cause the Finder to do a lot of work.
-
- We should:
- - Send 1 AppleEvent ourselves with no timeout since we don't care about the reply
- - Call the notification/event less often. The only benefit of sending the event for every chunk written is that the file size updates in the Finder. Not worth the performance impact.
-
- Reviewed by kocienda.
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler cleanUpAfterFailure]): call _web_noteFileChangedAtPath
- (-[WebDownloadHandler createFileIfNecessary]): call _web_noteFileChangedAtPath
- (-[WebDownloadHandler writeDataForkData:resourceForkData:]): don't call noteFileSystemChanged
- (-[WebDownloadHandler finishedLoading]): call _web_noteFileChangedAtPath
- * Misc.subproj/WebNSWorkspaceExtras.h: Added.
- * Misc.subproj/WebNSWorkspaceExtras.m: Added.
- (-[NSWorkspace _web_noteFileChangedAtPath:]): Notifies the Finder (or any other app that cares) that we added, removed or changed the attributes of a file. This method is better than calling noteFileSystemChanged: because noteFileSystemChanged: se
-
-
-
-
-
-
-
-
-
-nds 2 apple events both with a 60 second timeout. This method returns immediately.
- * WebKit.pbproj/project.pbxproj:
-
-2002-12-18 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3098293 -- Shockwave plug-in doesn't work
-
- The problem is that the Shockwave plug-in depends on being able to do LMGetCurApRefNum
- and then do a PBGetFCBInfoSync on the result, and if it gets an error it will refuse
- to initialize.
-
- * Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage initialize]):
- Supply a bogus CurApRefNum. Do it only if CurApRefNum is -1, so we don't screw things
- up if we are used in a Carbon application.
-
-2002-12-17 Darin Adler <darin@apple.com>
-
- Reviewed by Trey.
-
- * WebKit.pbproj/project.pbxproj: Remove signature.
- * WebView.subproj/WebController.m: Turn off inlining so we can build even on the
- compiler that warns about static data in inline functions.
-
-2002-12-17 John Sullivan <sullivan@apple.com>
-
- - fixed 2895826 -- ICON: Need a "no plug-in" icon
-
- * Resources/nullplugin.tiff:
- new plug-in icon. Blue 3-D lego with question marks.
-
-2002-12-17 Richard Williamson <rjw@apple.com>
-
- Added support for Aki's 20% boost to line height. This is
- done with a horrible hack and should be removed when 3129490
- is fixed.
-
- Reviewed by hyatt.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
-
-=== Alexander-39 ===
-
-=== Alexander-38 ===
-
-2002-12-17 Richard Williamson <rjw@apple.com>
-
- Fixed 3127932. Added WebFrameLoadTypeReloadAllowingStaleData to cases that do not
- get cached in the b/f cache.
-
- Reviewed by trey.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _setState:]):
-
-2002-12-17 Richard Williamson <rjw@apple.com>
-
- Fixed 3128794. Use CG directy to get font metrics rather than the appkit. The appkit
- has a bug (3129490) that sometimes causes line height to be 20% too large.
-
- Reviewed by hyatt.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer initWithFont:]):
- (-[WebTextRenderer ascent]):
- (-[WebTextRenderer descent]):
- (-[WebTextRenderer lineSpacing]):
-
-2002-12-17 Trey Matteson <trey@apple.com>
-
- Reworking the code to update the page icon led me to roll the WebIconDB API
- for URL to NSString. In addition, the vestigial "Site" was removed.
-
- Everything below is renaming, except where noted.
-
- Reviewed by Darin
-
- * English.lproj/StringsNotToBeLocalized.txt:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem _retainIconInDatabase:]):
- (-[WebHistoryItem icon]):
- * Misc.subproj/WebIconDatabase.h:
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase init]):
- (-[WebIconDatabase iconForURL:withSize:cache:]): Use _web_isFileURL.
- (-[WebIconDatabase iconForURL:withSize:]):
- (-[WebIconDatabase retainIconForURL:]):
- (-[WebIconDatabase releaseIconForURL:]):
- (-[WebIconDatabase _iconDictionariesAreGood]):
- (-[WebIconDatabase _loadIconDictionaries]):
- (-[WebIconDatabase _updateFileDatabase]):
- (-[WebIconDatabase _iconForFileURL:withSize:]): Cons up a NSURL to get the path.
- Test explicitly for .htm and .html suffixes.
- (-[WebIconDatabase _setIcon:forIconURL:]):
- (-[WebIconDatabase _setIconURL:forURL:]):
- (-[WebIconDatabase _releaseIconForIconURLString:]):
- (-[WebIconDatabase _retainFutureIconForURL:]):
- (-[WebIconDatabase _releaseFutureIconForURL:]):
- (-[WebIconDatabase _sendNotificationForURL:]):
- * Misc.subproj/WebIconDatabasePrivate.h:
- * Misc.subproj/WebIconLoader.m:
- (-[WebIconLoader handleDidFinishLoading:]):
- * WebKit.exp:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _updateIconDatabaseWithURL:]):
- (-[WebDataSource _loadIcon]):
-
-2002-12-17 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3113073 - link on http://studio.adobe.com/explore/ redirects to not found page in Alex
-
- Reviewed by darin.
-
- * Misc.subproj/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_bestURL]): don't trim whitespace because _web_URLWithString does this for us
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView pluginURLFromCString:]): tweak
-
-2002-12-17 John Sullivan <sullivan@apple.com>
-
- - to help with performance of various bookmark operations,
- added a call that returns the internal array of children,
- to complement the safer call that returns a copy.
-
- Reviewed by Darin
-
- * Bookmarks.subproj/WebBookmark.h:
- commented -children and new -rawChildren
- * Bookmarks.subproj/WebBookmark.m:
- (-[WebBookmark rawChildren]):
- new method, returns nil at this level.
- (-[WebBookmark contentMatches:]):
- use -rawChildren instead of -children
-
- * Bookmarks.subproj/WebBookmarkList.m:
- (-[WebBookmarkList rawChildren]):
- new method, returns internal array without copying
-
-2002-12-16 Darin Adler <darin@apple.com>
-
- Reviewed by Don and Maciej.
-
- * WebView.subproj/WebUserAgentSpoofTable.gperf: Added a couple of new domains to the list we
- spoof as Mac IE, and added comments.
- * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
-
- * WebKit.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2
-
-2002-12-16 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3129503 - Crash cancelling download after closing browser window that started download
-
- Reviewed by rjw.
-
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _setLoading:]): Added comment about our tragic dependence on a non-retained reference to the controller.
- (-[WebDataSource _recursiveStopLoading]): Call webFrame before calling _stopLoading because we release the controller in _stopLoading and we depend on it in webFrame.
-
-=== Alexander-37 ===
-
-2002-12-16 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by no one but it's just a version bump.
-
- * WebKit.pbproj/project.pbxproj: Bump version to 37u3
-
-2002-12-16 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3128858 -- Supply Finder bits for decoded BinHex files
-
- * Downloads.subproj/WebBinHexDecoder.h: Add a _finderFlags field.
- * Downloads.subproj/WebBinHexDecoder.m:
- (-[WebBinHexDecoder decodeHeader]): Decode Finder flags.
- (-[WebBinHexDecoder fileAttributes]): Put Finder flags in dictionary.
-
- * Downloads.subproj/WebMacBinaryDecoder.m: Tweaked things for no good reason.
- (It is good to always import your own header first as a check that it's self-sufficient).
-
- * WebKit.pbproj/project.pbxproj: Let Electron wipe the slate clean of pre-Electron iniquity.
-
-2002-12-15 Chris Blumenberg <cblu@apple.com>
- Fixed: 3094928 - Apply Finder bits to decoded downloads
-
- Reviewed by darin.
-
- * Downloads.subproj/WebDownloadHandler.m:
- (-[WebDownloadHandler createFileIfNecessary]): call _web_createFileAtPath:contents:attributes: so we set Finder bits
- * Downloads.subproj/WebMacBinaryDecoder.h:
- * Downloads.subproj/WebMacBinaryDecoder.m:
- (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): save Finder bits
- (-[WebMacBinaryDecoder fileAttributes]): return Finder bits
-
-=== WebKit-37u2 ===
-
-2002-12-15 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed likely B&I build problem.
-
- * WebKit.pbproj/project.pbxproj: Get at other frameworks in B&I
- build. Bump version to 37u2.
-
-2002-12-15 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- - implemented user-agent spoofing as described in bug 3044569
-
- * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]):
- Find the suffix of the host name that contains exactly one dot, lower-case it,
- and look it up in the user-agent spoof table. For now, anything in the table
- pretends to be MacIE. Don't fret that this table is simple. We will complicate it
- as needed. The technique is flexible, even though it may not look it now.
-
- * WebView.subproj/WebControllerPrivate.h: Add userAgentWhenPretendingToBeMacIE field.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate dealloc]): Release userAgentWhenPretendingToBeMacIE.
- (-[WebController _defaultsDidChange]): Release and nil userAgentWhenPretendingToBeMacIE.
-
- * Makefile.am: Added rules to build WebUserAgentSpoofTable.c using gperf.
- * WebView.subproj/WebUserAgentSpoofTable.c: Added. Generated file.
- * WebView.subproj/WebUserAgentSpoofTable.gperf: Added. Table
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for above changes.
-
- - fixed a crash I saw in a simplistic way
-
- * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):
- Don't assert if the webFrame is nil, just return a partial dictionary.
-
-2002-12-15 Darin Adler <darin@apple.com>
-
- Reviewed by Trey.
-
- - fixed 3128260 -- REGRESSION: context menus in frames are always the generic page menu
-
- * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]):
- Check the control key in the mouse down event. If it's down, then do no magic.
-
-2002-12-15 Darin Adler <darin@apple.com>
-
- Reviewed by Dave.
-
- - fixed 3128651 -- REGRESSION: Mouse wheeling is busted on frames pages
-
- * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]):
- Only do the hitTest magic for left mouse downs; the rest of the clicks end up going
- to the correct view anyway, without our help. This makes this stop making trouble for
- the scroll wheel events.
-
-2002-12-14 Don Melton <gramps@apple.com>
-
- Fixed 3127173 -- REGRESSION: fboweb.com renders incorrectly
-
- Reviewed by darin
-
- * English.lproj/StringsNotToBeLocalized.txt:
- * WebView.subproj/WebController.m:
- (-[WebController userAgentForURL:]):
-
- Changed "PPC" in our user agent string to "PPC Mac OS X" in order to
- match Mozilla and make the silly server-side user agent string checking
- work at fboweb.com. Actually, just "PPC " would work fine at
- fboweb.com. Go figure.
-
-2002-12-13 Darin Adler <darin@apple.com>
-
- Reviewed by Don.
-
- * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]):
- Add "(like Gecko)" string and change "WebKit" to "AppleWebKit".
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for these changes.
- * Misc.subproj/WebUnicode.h: No need for & 0xFF since we cast to unsigned char.
-
-2002-12-13 John Sullivan <sullivan@apple.com>
-
- - WebKit part of fix for 3028061 -- visiting a bookmarked site
- that now has a site icon will not update bookmark's icon
-
- No longer store the icon in the WebHistoryItem, since there's no
- mechanism for keeping it fresh and telling interested clients
- when it changes. Instead, the latest icon is always returned from
- the icon database, and it's up to clients to get a fresh one when
- they notice that the icon for a URL has been updated.
-
- Reviewed by Darin
-
- * History.subproj/WebHistoryItem.h:
- remove _icon and _loadedIcon ivars
-
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem dealloc]):
- don't release _icon
- (-[WebHistoryItem icon]):
- just return fresh icon from database, don't store
- (-[WebHistoryItem setURL:]):
- don't set _loadedIcon to NO
-
-=== Alexander-37u1 ===
-
-2002-12-13 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2002-12-13 Trey Matteson <trey@apple.com>
-
- 3108976 - assert _private provisionalItem in -[WebFrame(WebPrivate) _transitionToCommitted
- 3108865 - frames not maintained going back at directory.apple.com
-
- Both bugs are fixed by the same small change. We no longer try to inherit loadType
- across redirects. Instead we just make sure the right thing happens in _transitionToCommitted:
- for redirects in the loadType=Standard case.
-
- 3122721 - History stores both original and redirected sites
-
- Easy fix while in the neighborhood. We just don't add to History when doing a redirect.
-
- Reviewed by rjw
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]): On redirect, update the URL of the frame's current
- item, not the current item in the b/f list. Also do not add to history on redirect.
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Cut out funny business
- that tried to guess when to inherit loadtype across redirects.
-
-2002-12-13 Richard Williamson <rjw@apple.com>
-
- Fixed 3127225. Scale page cache based on available memory.
- Also added support for setting WebCore object cache size via
- a preference.
- Fixed 3126267. Increase CG glyph cache size if font smoothing
- is turned on.
-
- Reviewed by gramps.
-
- * History.subproj/WebBackForwardList.m:
- (+[WebBackForwardList pageCacheSize]):
- * Misc.subproj/WebKitLogging.h:
- * Misc.subproj/WebKitLogging.m:
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge getObjectCacheSize]):
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (getAppDefaultValue):
- (getUserDefaultValue):
- (getLCDScaleParameters):
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences load]):
- (-[WebPreferences _pageCacheSize]):
- (-[WebPreferences _objectCacheSize]):
- * WebView.subproj/WebPreferencesPrivate.h:
-
-2002-12-13 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3105486 - c|net news.com site seems to have lost its favicon again
-
- Reviewed by darin.
-
- * Misc.subproj/WebIconDatabase.m:
- (-[WebIconDatabase _updateFileDatabase]): Only save icons with a size of 16 x 16 since that's the only size we use.
-
-2002-12-13 Chris Blumenberg <cblu@apple.com>
-
- Catch NULL status strings passed to NPN_Status.
- Reviewed by darin.
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView status:]): check the incoming string before calling [NSString stringWithCString]
-
-2002-12-12 Trey Matteson <trey@apple.com>
-
- 3117101 - PLT slows down as history fills up
-
- I saw a 3% sloth effect from a huge (100k) history. This change cut that cost in half.
- I think we still have a marginally measurable cost for our worst practical case.
-
- Reviewed by rjw
-
- * History.subproj/WebHistoryPrivate.m:
- (-[WebHistoryPrivate insertEntry:atDateIndex:]): Comment.
- (-[WebHistoryPrivate removeEntryForURLString:]): Use removeIdentical
- instead of remove, since we don't need to do all the equals comparisons.
-
-2002-12-12 Richard Williamson <rjw@apple.com>
-
- Changes to fix 3116584.
- Reviewed by hyatt.
-
- Changes to support emptying the page cache from the
- "Empty Cache" menu.
- Reviewed by trey.
-
- * ChangeLog:
- * History.subproj/WebBackForwardList.h:
- * History.subproj/WebBackForwardList.m:
- (-[WebBackForwardList clearPageCache]):
- * History.subproj/WebHistoryItem.m:
- (+[WebHistoryItem _scheduleReleaseTimer]):
- (-[WebHistoryItem _scheduleRelease]):
- (+[WebHistoryItem _releasePageCache:]):
- (-[WebHistoryItem setHasPageCache:]):
- * WebCoreSupport.subproj/WebTextRenderer.m:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _opened]):
-
-2002-12-12 Richard Williamson <rjw@apple.com>
-
- Fixed 3119693. Restore scroll position when going back
- to item in b/f cache.
-
- Reviewed by trey.
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _opened]):
-
-=== Alexander-36 ===
-
-2002-12-12 Richard Williamson <rjw@apple.com>
-
- Change relating to 3083287. This doesn't fix the problem but
- flips the geometry calcs to get most incremental images to draw
- correctly. .mac now slideshows draw with the incorrect sliding
- behavior while loading.
-
- 3083287 has been moved to 0.9/1.
-
- Reviewed by darin.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
-
-2002-12-12 Trey Matteson <trey@apple.com>
-
- Fixed 3094525 - Need to use SPI to fix flipped drag image problem
-
- We call the new SPI. I also had to rework the dissolve steps to get it
- to non flip the image in Panther in millions (but leave the old code for
- the Jaguar case).
-
- Reviewed by cblu
-
- * Misc.subproj/WebNSImageExtras.m:
- (+[NSImage load]): Call the SPI.
- (-[NSImage _web_dissolveToFraction:]): Add new way of building the image for Panther.
-
-2002-12-12 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed most likely cause of 3125565 -- 2% regression running the PLT for uncached loads
-
- Don't recompute the user agent when it doesn't change. It almost never changes.
-
- * WebView.subproj/WebController.m:
- (-[WebController initWithView:controllerSetName:]): Add observer so we know when defaults change.
- (-[WebController dealloc]): Remove observer.
- (-[WebController setApplicationNameForUserAgent:]): Clear out computed user agent to force it
- to be recomputed later.
- (-[WebController applicationNameForUserAgent]): Just retain since we copied when we stored it
- so we know it's not mutable.
- (-[WebController customUserAgent]): Ditto.
- (-[WebController userAgentForURL:]): Use the cached user agent if it's good. Otherwise compute
- and cache the user agent string. This means that we will almost never recompute it.
-
- * WebView.subproj/WebControllerPrivate.h: Add userAgent field to cache in.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate dealloc]): Release userAgent.
- (-[WebController _defaultsDidChange]): Release and nil userAgent.
-
-2002-12-12 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3125504 -- REGRESSION: Selection not working correctly for text area on http://glish.com/css/7.asp
-
- The problem is that the text area lost its first responder status because WebHTMLView took the click,
- and NSWindow wanted WebHTMLView to become first responder too.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView acceptsFirstResponder]):
- Don't allow the NSWindow to make this the first responder during the early part of mouseDown event
- handling. But do allow anyone else to make this the first responder, for example from keyboard events,
- or from calls back from WebCore once we begin mouse-down event handling.
-
-2002-12-12 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej and Richard.
-
- - fixed reentrancy crash I ran into while debugging infinite recursion bugs
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _updateMouseoverWithFakeEvent]): Added. Does part of what _frameOrBoundsChanged did.
- (-[WebHTMLView _frameOrBoundsChanged]): Schedule the mouseover update to happen soon, rather than
- doing it right away. If we do it right away, we might reenter because sending a mouse moved event
- can result in another layout since mouse moved events are the same as mouse dragged events in KHTML.
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView viewWillMoveToWindow:]): Cancel the scheduled mouseover update.
-
- * WebKit.pbproj/project.pbxproj: Electron uber alles.
-
-2002-12-12 Richard Williamson <rjw@apple.com>
-
- Fixed 3125585. One click crasher option clicking on
- any link. Added additional check to curtail overly
- zealous ASSERT.
-
- Reviewed by mjs.
-
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _mainReceivedError:fromDataSource:complete:]):
-
-2002-12-11 Richard Williamson <rjw@apple.com>
-
- Fixed 3125425. Just call super if view isn't in view heirarchy,
- rather than asserting. The assert was firing because NSText
- was trying to perform a background layout on an item view that
- was moved to the page cache.
-
- Reviewed by gramps.
-
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView visibleRect]):
-
-2002-12-11 Richard Williamson <rjw@apple.com>
-
- Fixed 3124121, 3124716 (and other dupes). Regressions related to b/f crash.
-
- Reviewed by hyatt.
-
- * ChangeLog:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem _scheduleRelease]):
- * WebCoreSupport.subproj/WebBridge.m:
- (-[WebBridge saveDocumentToPageCache:]):
- * WebCoreSupport.subproj/WebImageRenderer.m:
- (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
- (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _setState:]):
-
-2002-12-11 Richard Williamson <rjw@apple.com>
-
- Fixed 3123375. Provide SPI to release all pending page caches
-
- Reviewed by kocienda.
-
- * History.subproj/WebBackForwardList.m:
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- * History.subproj/WebHistoryItemPrivate.h: Added.
- * WebCoreSupport.subproj/WebBridge.m:
- * WebKit.pbproj/project.pbxproj:
- * WebView.subproj/WebFramePrivate.m:
-
-2002-12-11 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3124837 -- Crash trying to handle weird javascript URL in page address field
-
- * Plugins.subproj/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
- Use the new _web_scriptIfJavaScriptURL to simplify the check for JavaScript URLs,
- and to use a more tolerant unescaper.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated.
-
-2002-12-11 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - turned on the mechanism that passes events through WebCore, now that it's working better
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView hitTest:]): Moved this function in here. Rewrote it. It has a new feature where
- you can set a global and do a normal hit test, needed for the mouse-moved handling below. Also,
- for efficiency, it does the actual hit testing of itself, rather than calling super, which recurses,
- and ignoring the result. The sum total is that it always returns self for mouse-moved events, so
- we pass them all over the bridge at the topmost frame.
-
- (-[WebHTMLView _updateMouseoverWithEvent:]):
- * WebView.subproj/WebHTMLView.m: Moved hitTest: out of here.
-
-2002-12-11 John Sullivan <sullivan@apple.com>
-
- - fixed 3124640 -- Crash importing IE Favorites if there
- are no IE favorites
-
- Reviewed by Darin
-
- * Bookmarks.subproj/WebBookmarkImporter.m:
- (-[WebBookmarkImporter initWithPath:]):
- use alloc/init instead of autoreleasing constructor for error since
- it's kept around until dealloc.
-
-2002-12-11 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3117611 -- REGRESSION: exception in mouseoverTextForElement with accented characters in status
-
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[NSMutableDictionary _web_setObjectIfNotNil:forKey:]):
- Remove the object from the dictionary rather than just leaving the dictionary alone if it's nil.
- This is needed since we now are reusing an already-existing dictionary.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2002-12-11 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3118430 - crash / loop trying to copy url of link to clipboard
- Fixed: 3122585 - REGRESSION: dragging links to the desktop or a Finder window does not do anything
-
- Reviewed by john.
-
- We were reusing the drag types from the previous drag pasteboard. For example, we would declare image types when dragging URLs. This would confuse the Finder, so location files weren't being created. This would occasional cause us to crash because we wer
-
-
-
-
-
-
-
-
-
-en't providing the declared data.
-
- * Misc.subproj/WebNSPasteboardExtras.h:
- * Misc.subproj/WebNSPasteboardExtras.m:
- (+[NSPasteboard _web_dragTypesForURL]): Added more types that we handle
- (-[NSPasteboard _web_writeURL:andTitle:withOwner:declareTypes:]): declares the provided types, writes URL and title
- (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): call _web_writeURL:andTitle:withOwner:types: with _web_dragTypesForURL
- * Misc.subproj/WebNSViewExtras.h:
- * Misc.subproj/WebNSViewExtras.m:
- (-[NSView _web_dragPromisedImage:origin:URL:fileType:title:event:]): call _web_writeURL:andTitle:withOwner: types: plus images types
-
-2002-12-10 Trey Matteson <trey@apple.com>
-
- 3092966 - going back goes to different page (can't go back to a POST page)
- 3123450 - if the user refuses a navigation, the b/f menus is wrong
-
- We will rePOST data upon back/forward/refresh if our caches fail us. The policy delegate
- gets a crack at confirming this operation. Latent bugs where the policy delegate was double
- queried are fixed. A bug in the b/f cursor when a page failed to load is fixed.
-
- Reviewed by Maciej.
-
- * English.lproj/StringsNotToBeLocalized.txt: Usual suspects.
- * History.subproj/WebHistoryItem.h: Add state for reposting forms.
- * History.subproj/WebHistoryItem.m: Boilerplate changes for new state.
- (-[WebHistoryItem dealloc]):
- (-[WebHistoryItem setFormData:]):
- (-[WebHistoryItem setFormContentType:]):
- (-[WebHistoryItem formData]):
- (-[WebHistoryItem formContentType]):
- (-[WebHistoryItem description]):
- * WebView.subproj/WebController.m:
- (-[WebController _goToItem:withLoadType:]): Tighten up an assert as I clarified an
- assumption as I worked through this task.
- * WebView.subproj/WebControllerPolicyDelegate.h: New WebNavigationType's for back/forward,
- refresh, and repost.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadRequest:]): Eliminate extra copy of a request.
- (-[WebFrame reload]): Eliminate extra copy of a request. Setup triggeringAction properly
- if we're about to rePOST.
- * WebView.subproj/WebFramePrivate.h: Started moving some private methods into the .m file.
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _createItem]): Save form state with history items.
- (-[WebFrame _isLoadComplete]): Fix up b/f cursor on page error before commit succeeds.
- (-[WebFrame _loadItem:fromItem:withLoadType:]): Set up request to rePOST if that's what the
- HistoryItem demands. Add call to _addExtraFieldsToRequest so we don't do a double
- query of the policy delegate. Pre-flight the form post vs. WF cache to setup triggering
- action properly.
- (-[WebFrame _actionInformationForLoadType:isFormSubmission:event:originalURL:]):
- New utility method to help build action dict.
- (-[WebFrame _continueAfterNavigationPolicy:]): Comment only.
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Call new utility method
- instead (just code factoring).
- (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]): Call new utility method
- instead (just code factoring). Add call to _addExtraFieldsToRequest so we don't do a double
- query of the policy delegate.
- (-[WebFrame _reloadAllowingStaleDataWithOverrideEncoding:]): Whitespace only.
- (-[WebFrame _resetBackForwardListToCurrent]): Utility routine to fix up b/f cursor on page error.
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]): Fix up b/f cursor on page
- error before commit succeeds.
-
-2002-12-10 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3124302 -- REGRESSION: Can't use directory.apple.com because
- frame resize bar intercepts mouse clicks
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]):
- Don't steal clicks for views that are inside nested WebViews.
- This isn't the real fix, but it's good enough for now. The real fix will be in WebCore.
-
-2002-12-10 Darin Adler <darin@apple.com>
-
- - fixed fix for 3124081 -- REGRESSION: partial progress is left in address field after download
-
- Reviewed by Chris.
-
- Need to move it down one line so the data source is clear before callback.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
- Do the _clearProvisionalDataSource before the locationChangeDone: callback.
-
-2002-12-10 John Sullivan <sullivan@apple.com>
-
- Fixed more "Alexander"s that were lurking in places I forgot
- to look before.
-
- Reviewed by Darin
-
- * Makefile.am:
- "rm -rf $(SYMROOTS)/Safari.app/Frameworks/WebKit.framework"
-
-2002-12-10 Darin Adler <darin@apple.com>
-
- - fixed 3124081 -- REGRESSION: partial progress is left in address field after download
-
- Reviewed by Chris.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]):
- Put in code to call the locationChangeDone: method on the location change delegate if
- keepLoading is YES. Since the data source is not finished loading WebFrame won't do it.
-
-2002-12-10 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3124079 - REGRESSION: Downloads never complete
-
- Reviewed by darin.
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient handleDidFinishLoading:]): release and set to nil the download handler after calling [super handleDidFinishLoading:h]
-
-2002-12-10 Richard Williamson <rjw@apple.com>
-
- Fixed 3115427. Page now draws instantly instead of 20 seconds.
- I added the substitution font we get from the appkit to the character to glyph
- cache.
-
- Fixed early return optimization from letter forming function. It was too
- eager to return!
-
- Reviewed by mjs.
-
- * Misc.subproj/WebUnicode.m:
- (shapedString):
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (glyphForCharacter):
- (glyphForUnicodeCharacter):
- (widthForGlyph):
- (widthForCharacter):
- (_fontContainsString):
- (-[WebTextRenderer substituteFontForString:families:]):
- (-[WebTextRenderer _computeWidthForSpace]):
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
- (-[WebTextRenderer extendUnicodeCharacterToGlyphMapToInclude:]):
- (-[WebTextRenderer updateGlyphEntryForCharacter:glyphID:font:]):
- (-[WebTextRenderer extendCharacterToGlyphMapToInclude:]):
- (-[WebTextRenderer extendGlyphToWidthMapToInclude:]):
-
-2002-12-10 John Sullivan <sullivan@apple.com>
-
- - tweaked the API of WebBookmarkImporter while implementing
- real "Import IE Favorites" UI
-
- Reviewed by Ken
-
- * Bookmarks.subproj/WebBookmarkImporter.h:
- fixed a typo in a constant
- * Bookmarks.subproj/WebBookmarkImporter.m:
- (-[WebBookmarkImporter initWithPath:]):
- Don't pass a group here. This method now creates the topBookmark
- (as it was doing before) but does not attempt to insert it
- anywhere. It's up to the client to fetch the topBookmark and do
- something with it. Also, don't name the new folder here; leave
- that to the caller also.
-
- * English.lproj/Localizable.strings:
- kept this file up to date
-
-2002-12-10 Darin Adler <darin@apple.com>
-
- Reviewed by John.
-
- - fixed 3108912 -- onclick handlers not supported on form elements
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]):
- Take over hit testing so that all clicks on subviews are handled by the WebHTMLView.
- WebCore now handles getting the mouse events to the subviews after passing
- the events through the DOM.
-
-2002-12-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Trey.
-
- - fixed 3123057 - SJ: DHTML doesn't always work on http://www.pixar.com/howwedoit/
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):
- Treat a click on a link to the same URL with an anchor as a scroll
- to anchor, not a same URL load.
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Avoid
- adding the same anchor URL to the back/forward list many times.
-
-2002-12-09 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed 3028664 -- change user agent string to include application name and version
-
- * WebView.subproj/WebController.m:
- (-[WebController setApplicationNameForUserAgent:]): Remove locking, unneeded since we changed
- how WebFoundation handles user agent.
- (-[WebController setCustomUserAgent:]): Ditto.
- (-[WebController resetUserAgent]): Ditto.
- (-[WebController userAgentForURL:]): Remove locking. Also add new algorithm for computing the
- user agent which takes the preferred language into account, and incorporates the WebKit version
- and the application name.
-
- * WebView.subproj/WebControllerPrivate.h: No need for a lock.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebControllerPrivate init]): Don't create a lock.
- (-[WebControllerPrivate dealloc]): Don't release a lock.
-
- * WebKit.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
- * English.lproj/InfoPlist.strings: In here too.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for these and other recent changes.
-
-2002-12-09 Richard Williamson <rjw@apple.com>
-
- Many changes for b/f list.
- 1. Always attempt to cache snap back items.
- 2. Lazily release resources from page cache. This garners gains on the PLT (and presumably iBench) tests, both for uncached.
- 3. Set the page cache size to 4 (+ snap back items). After releasing resources we hover around 28MB footprint. Closing windows releases all resources.
- 4. Turn on the back/forward cache by default. The menu item still allows you to toggle b/f on and off. Useful when conducting speed comparison in the PLT.
- 5. Addition of lazy update to PLT memory statistics to show footprint after lazy release of page cache resources.
- 6. Delayed to leak detector to account for lazy release of resources.
- 7. A change when saving a page to back/forward cache to clear and restore the documents root renderer. Without this fix pages would appear to 'flicker' more when content arrived.
- 8. A change to ensure a layout when restoring a page from the b/f cache. Without this fix scrollbars wouldn't appear correctly.
- 9. A change to ensure that khtmlview layout and paint timers are unscheduled when a page is placed in the b/f cache.
- 10. A fix to decouple of khtmlview from it's part when placed in the b/f cache. This fixed a crash caused by inappropriate deference of the part when a page cache item was released.
- 11. A comment in KHTMLPageCache.h explaining the that our page cache is not the same as the khtml page cache. (Their cache just cached the html source.)
- 12. Reapply styles when loading page from cache. This ensures that visited link get the appropriate style.
-
- Reviewed by kocienda.
-
- * History.subproj/WebBackForwardList.m:
- (+[WebBackForwardList pageCacheSize]):
- (+[WebBackForwardList setUsesPageCache:]):
- (+[WebBackForwardList usesPageCache]):
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
- (-[WebHistoryItem alwaysAttemptToUsePageCache]):
- (+[WebHistoryItem _invalidateReleaseTimer]):
- (-[WebHistoryItem _scheduleRelease]):
- (+[WebHistoryItem _releaseAllPendingPageCaches]):
- (-[WebHistoryItem _releasePageCache:]):
- (-[WebHistoryItem setHasPageCache:]):
- (-[WebWindowWatcher windowWillClose:]):
- * WebView.subproj/WebDataSourcePrivate.h:
- * WebView.subproj/WebDataSourcePrivate.m:
- (-[WebDataSource _startLoading:]):
- (-[WebDataSource _commitIfReady:]):
- (-[WebDataSource _loadingFromPageCache]):
- * WebView.subproj/WebDynamicScrollBarsView.h:
- * WebView.subproj/WebFramePrivate.h:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _purgePageCache]):
- (+[WebFrame _timeOfLastCompletedLoad]):
- (-[WebFrame _setState:]):
- (-[WebFrame _opened]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
- * WebView.subproj/WebPreferences.m:
- (+[WebPreferences load]):
-
-2002-12-09 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- - fixed 3122608 -- REGRESSION: Downloads can't be cancelled
-
- When I fixed the leak for other categories of policy interruption, I messed
- things up for downloads. Added new parameters to handle this right.
-
- * WebView.subproj/WebBaseResourceHandleDelegate.h: Remove isDownload flag.
- * WebView.subproj/WebBaseResourceHandleDelegate.m:
- (-[WebBaseResourceHandleDelegate isDownload]): Return NO, override in subclass.
- (-[WebBaseResourceHandleDelegate handle:didReceiveResponse:]): Call isDownload
- method instead of looking at flag directly.
-
- * WebView.subproj/WebControllerPrivate.h: Add complete: parameter to _mainReceivedError:.
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _mainReceivedError:fromDataSource:complete:]): If complete is NO, then
- don't mark the primary load as complete.
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient isDownload]): Added. Returns YES if downloadHandler is non-nil.
- (-[WebMainResourceClient receivedError:complete:]): Added complete parameter. Call the
- _setPrimaryLoadComplete: method in the download case (fixes a possible leak), and pass
- the complete parameter through to the controller.
- (-[WebMainResourceClient cancel]): Pass complete:YES.
- (-[WebMainResourceClient interruptForPolicyChangeAndKeepLoading:]): Added the keepLoading
- flag, and pass complete:!keepLoading.
- (-[WebMainResourceClient stopLoadingForPolicyChange]): Pass keepLoading:NO.
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): Pass keepLoading:YES,
- and remove the call to the now-obsolete setIsDownload:.
- (-[WebMainResourceClient handle:didFailLoadingWithError:]): Pass complete:YES.
-
-2002-12-08 Darin Adler <darin@apple.com>
-
- Reviewed by Don and Dave.
-
- - fixed 3120578 -- REGRESSION: going to about:blank creates null view
-
- This part of the fix makes sure that a renderer is created, even when there are no bytes
- of data passed through. This makes the empty document about:blank case work just like the
- "document with just whitespace in it case". There's another part of the fix in WebCore that
- takes care of the remaining problem.
-
- * WebView.subproj/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
- Call receivedData:withDataSource: on the bridge with nil for the data. It would be even more
- elegant to add a new call for the case where we finish, but it's not necessary, since the
- existing receivedData: call does all the right things if passed nil.
-
- * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _finishedLoading]):
- Call finishedLoadingWithDataSource: here, to make sure it's done after committing.
- This parallels what we already do for the didReceiveData call.
- * WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient handleDidFinishLoading:]):
- Remove the call to finishedLoadingWithDataSource: because it's handled by _finishedLoading now.
- This parallels what we already do for the didReceiveData call.
-
- - fixed long standing problem where resizing could make you see a "null view"
-
- * WebView.subproj/WebView.m:
- (-[WebView drawRect:]): Add a "paint cyan" feature in development builds.
- Null view problems are particularly hard to debug without something like this,
- and we don't care if development builds are slightly slower. No change in deployment.
- (-[WebView setFrameSize:]): Tell the scroll view to draw the background if we are
- resized. We can't do our "let the old bits show through" thing any more if we have to
- redraw because of resizing.
-
- - other changes
-
- * WebKit.pbproj/project.pbxproj: Remove the old -DAPPLE_CHANGES and -DHAVE_CONFIG_H that we
- once needed when WebKit used to compile C++ headers from the KHTML part of WebCore.
- We haven't needed those for ages. Also sort things a bit, using the new Electron feature for
- sorting lists of files alphabetically, and some by hand.
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2002-12-08 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3121627 - REGRESSION: partial progress is left in address field after download
-
- Reviewed by: darin
-
- In WebMainResourceClient, make sure to always call receivedError before _clearProvisionalDataSource so that
- receivedError works. This is done in multiple places, so I factored this out into one method interuptForPolicyChange.
-
- * WebView.subproj/WebControllerPrivate.m:
- (-[WebController _mainReceivedError:fromDataSource:]): added asserts for nil error, dataSource and frame
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient interruptForPolicyChange]): renamed from notifyDelegatesOfInterruptionByPolicyChange because it now also sets the provisionalDataSource on the frame to nil.
- (-[WebMainResourceClient stopLoadingForPolicyChange]): call interruptForPolicyChange, stop load
- (-[WebMainResourceClient continueAfterContentPolicy:response:]): call interruptForPolicyChange
-
-2002-12-06 Trey Matteson <trey@apple.com>
-
- Clean up some printfs. Use WebKitLogPageCache for page cache info.
-
- Reviewed by: rjw
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _purgePageCache]):
- (-[WebFrame _setState:]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
-
-2002-12-06 Trey Matteson <trey@apple.com>
-
- 3118584 - implement desired behavior for load - reload - b/f
- 3119241 - page cache needs to be refreshed after reload
- 3118096 - isTargetItem:NO saved to disk with every bookmark
-
- The most noticeable changes are the addition of the "Same" loadType, and that reload
- does not restore form state. 3119241 was noticed in passing, and is related.
- 3118096 is a nit with a possible small perf benefit.
-
- Reviewed by: rjw
-
- * History.subproj/WebHistoryItem.h:
- * History.subproj/WebHistoryItem.m:
- (-[WebHistoryItem dealloc]): New originalURL field.
- (-[WebHistoryItem originalURL]): New getter.
- (-[WebHistoryItem setOriginalURL:]): New setter.
- (-[WebHistoryItem dictionaryRepresentation]): Dont save isTarget.
- (-[WebHistoryItem initFromDictionaryRepresentation:]): Dont save isTarget.
- * WebView.subproj/WebFrame.m:
- (-[WebFrame loadRequest:]): Test for going to same URL, invoke loadTypeSame case.
- * WebView.subproj/WebFramePrivate.h: Add loadTypeSame
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _addBackForwardItemClippedAtTarget:]): Remove a line of dead code.
- (-[WebFrame _createItem]): Set originalURL when item is created.
- (-[WebFrame _transitionToCommitted:]): For loadTypeSame, clear page cache
- (-[WebFrame _purgePageCache]): Added logging.
- (-[WebFrame _setState:]): Don't add to page cache if doing a reload.
- (-[WebFrame _isLoadComplete]): LoadTypeSame is a NOP.
- (-[WebFrame _loadItem:fromItem:withLoadType:]): LoadTypeSame is an ASSERT.
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): In
- the LoadTypeSame case load from origin and never do anchor nav. If asked to load
- the same URL, invoke LoadTypeSame case.
- (-[WebFrame _loadURL:intoChild:]): Latent bug: WebFrameLoadTypeReloadAllowingStaleData
- should restore child frame content like reload does.
- (-[WebFrame _itemForRestoringDocState]): Prevent form state restore on reload and loadSame.
- (-[WebFrame _shouldTreatURLAsSameAsCurrent:]): New utility function.
-
-2002-12-06 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by: Darin Adler
-
- - made framework embedding work correctly with buildit
-
- * WebKit.pbproj/project.pbxproj: Give framework a relative
- install path, don't install it the normal way, and copy it
- manually to /AppleInternal/Library/Frameworks if installing. Also
- look for other frameworks in
- ${DSTROOT}/AppleInternal/Library/Frameworks.
-
-2002-12-05 Darin Adler <darin@apple.com>
-
- Reviewed by Trey.
-
- - fixed 3103691 -- assertion in WebHTMLView addMouseMovedObserver at versiontracker
-
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView addMouseMovedObserver]): Instead of asserting, do the checks here to
- determine if the observer should be installed.
- (-[WebHTMLView viewDidMoveToWindow]): Remove checks, since addMouseMovedObserver now checks.
- (-[WebHTMLView windowDidBecomeMain:]): Remove checks, since addMouseMovedObserver now checks.
-
-2002-12-05 Richard Williamson <rjw@apple.com>
-
- Don't ceil spaces if not a fixed pitch font. This make sites
- that have hard coded block widths have less wrapping beyond what the
- designer expected. Fixes 3117225.
-
- Reviewed by: mjs
-
- * WebCoreSupport.subproj/WebTextRenderer.h:
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (widthForGlyph):
- (-[WebTextRenderer _computeWidthForSpace]):
- (-[WebTextRenderer initWithFont:]):
- (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:fontFamilies:]):
-
-2002-12-05 Chris Blumenberg <cblu@apple.com>
-
- Added WebDocumentText protocol. Made WebHTMLView and WebTextView implement it.
-
- Reviewed by: rjw
-
- * WebView.subproj/WebController.m:
- (-[WebController supportsTextEncoding]): check if protocol is WebDocumentText
- * WebView.subproj/WebDocument.h:
- * WebView.subproj/WebHTMLView.h:
- * WebView.subproj/WebHTMLView.m:
- (-[WebHTMLView hasSelection]): call selectedString
- (-[WebHTMLView takeFindStringFromSelection:]): call selectedString
- (-[WebHTMLView selectAll:]): call selectAll
- (-[WebHTMLView string]): part of WebDocumentText protocol
- (-[WebHTMLView attributedString]): part of WebDocumentText protocol
- (-[WebHTMLView selectedString]): part of WebDocumentText protocol
- (-[WebHTMLView selectedAttributedString]): part of WebDocumentText protocol
- (-[WebHTMLView selectAll]): part of WebDocumentText protocol
- (-[WebHTMLView deselectAll]): part of WebDocumentText protocol
- * WebView.subproj/WebHTMLViewPrivate.m:
- (-[WebHTMLView _writeSelectionToPasteboard:]): call selectedAttributedString
- * WebView.subproj/WebTextView.h:
- * WebView.subproj/WebTextView.m:
- (-[WebTextView string]): part of WebDocumentText protocol
- (-[WebTextView attributedString]): part of WebDocumentText protocol
- (-[WebTextView selectedString]): part of WebDocumentText protocol
- (-[WebTextView selectedAttributedString]): part of WebDocumentText protocol
- (-[WebTextView selectAll]): part of WebDocumentText protocol
- (-[WebTextView deselectAll]): part of WebDocumentText protocol
-
-2002-12-05 Darin Adler <darin@apple.com>
-
- Reviewed by Richard.
-
- - fixed 3107240 -- world leak: reproducible, trying to open TIFF file
-
- * WebView.subproj/WebMainResourceClient.m:
- (-[WebMainResourceClient notifyDelegatesOfInterruptionByPolicyChange]):
- Send error to the delegate using receivedError: rather than directly.
- This results in the frame properly stopping the load and fixes the leak.
-
-2002-12-05 Darin Adler <darin@apple.com>
-
- Reviewed by Chris.
-
- * Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler initWithDataSource:]):
- Add WebGZipDecoder to the list.
-
- * Downloads.subproj/WebGZipDecoder.h: Finished this.
- * Downloads.subproj/WebGZipDecoder.m: Finished this.
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2002-12-05 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by: Darin
-
- * English.lproj/InfoPlist.strings: removed letters from
- CFBundleShortVersionString to make buildit happy.
-
-=== Alexander-35 ===
-
-2002-12-05 Darin Adler <darin@apple.com>
-
- Reviewed by Ken.
-
- - fixed 3118647 -- REGRESSION: click policy no longer works
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
- Allow mouse up events too. Those are usually the ones that trigger navigation.
-
-2002-12-04 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fixed assert when you choose an item from a menu, for example, and that navigates
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
- If the event is over some other element, just don't include the element info.
-
-2002-12-04 Chris Blumenberg <cblu@apple.com>
-
- Fixed: 3116294 - Need "Reload" feature in Downloads window
-
- Reviewed by: rjw
-
- * WebKit.pbproj/project.pbxproj: made WebFramePrivate.h private so that WebBrowser can call _downloadRequest:toPath:
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadDataSource:withLoadType:]): commented out assert that complains about lack of WebView. Long-term solution is to catch this earlier and have a lone datasource download mechanism 3118355.
-
-2002-12-04 Trey Matteson <trey@apple.com>
-
- 3097585 - Crash in -[WebFrame(WebPrivate) _isLoadComplete] at result of google image search
-
- The root of this problem was that we would detach child frames by calling detach
- on them all, then clearing the whole array. This would fail because detaching a
- frame might have to stop a load, which calls checkLoadComplete, which visits the
- entire frame tree. But if a previously detached child is still sitting in that
- tree, we end up with an assertion failure. The solution is to remove the kids as
- they are detached.
-
- Reviewed by: Darin Adler
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _createItem]): Method rename (a nit I missed from an earlier change)
- (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]): Method rename
- (-[WebFrame _detachChildren]): new method to do detaching right
- (-[WebFrame _detachFromParent]): call new method
- (-[WebFrame _setDataSource:]): call new method
- (-[WebFrame _transitionToCommitted:]): Method rename
-
-2002-12-04 Darin Adler <darin@apple.com>
-
- Reviewed by Trey and Maciej.
-
- - fixed 3117558 -- Assertion failure in KWQKHTMLPart::slotData after typing "amazon.com" twice
- - update NSEvent handling in preparation for NSView mouse event handling going through WebCore
-
- * WebView.subproj/WebFramePrivate.m:
- (-[WebFrame _loadItem:fromItem:withLoadType:]): Added FIXME comments about matching the _loadURL
- case more closely.
- (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Only use the event if it's
- a mouse down event. This prevents trouble when we have other kinds of events coming through.
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]): Call the new scrollToAnchorWithURL:
- instead of openURL:. This fixes the assertion failure in the bug above.
- (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Update checks here to more closely
- match the ones in KHTMLPart::openURL that we are replacing. Add more comments.
-
- * WebView.subproj/WebHTMLView.m: (-[WebHTMLView hitTest:]): Function to intercept all clicks at the
- WebHTMLView level, disabled for now because we are not yet ready.
-
- - started a gzip download decoder, not yet hooked up
-
- * Downloads.subproj/WebGZipDecoder.h: Added.
- * Downloads.subproj/WebGZipDecoder.m: Added.
- * WebKit.pbproj/project.pbxproj: Add WebGZipDecoder and zlib.
-
- - other changes
-
- * Panels.subproj/WebAuthenticationPanel.m: Fixed screwed-up indentation.
-
-2002-12-04 Richard Williamson <rjw@apple.com>
-
- Cache the fallback font in the same way we cache other
- fonts.
-
- Reviewed by: Darin
-
- * WebCoreSupport.subproj/WebTextRendererFactory.h:
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory fallbackFontWithTraits:size:]):
- (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
- (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
-
-2002-12-04 Richard Williamson <rjw@apple.com>
-
- Fixed massive performance regression.
- We were leaking WebFontCacheKey.
- Added a cache of missing fonts to avoid
- expensive appkit lookup.
-
- Reviewed by: Maciej
-
- * WebCoreSupport.subproj/WebTextRendererFactory.m:
- (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
- (-[WebTextRendererFactory cachedFontFromFamilies:traits:size:]):
-
-2002-12-03 Darin Adler <darin@apple.com>
-
- - fixed 3117193 -- REGRESSION: Hang on Hixie's weblog
-
- Reviewed by Maciej.
-
- * WebCoreSupport.subproj/WebTextRenderer.m:
- (-[WebTextRenderer substituteFontForString:families:]):
- Do the operation on the whole string at once instead of a character at a time.
- I decided to do this rather than correct the bug in the character-at-a-time version.
-
-== Rolled over to ChangeLog-2002-12-03 ==
diff --git a/Source/WebKit/mac/ChangeLog-2007-10-14 b/Source/WebKit/mac/ChangeLog-2007-10-14
deleted file mode 100644
index 3a5c4b508..000000000
--- a/Source/WebKit/mac/ChangeLog-2007-10-14
+++ /dev/null
@@ -1,24506 +0,0 @@
-=== Start merge of feature-branch 2007-10-12 ===
-
-2007-10-03 Andrew Wellington <proton@wiretapped.net>
-
- Reviewed by Mark Rowe.
-
- Mac build fix for issue introduced in r26027
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2007-10-01 Eric Seidel <eric@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- SVG Subresources will not be saved when creating WebArchives
- http://bugs.webkit.org/show_bug.cgi?id=15280
-
- Implement _subresourceURLs methods for more SVGElement types
- more such methods will be needed as we add support for other
- external references (such as use, mpath, tref, etc.)
-
- * DOM/WebDOMOperations.mm:
- (-[DOMSVGScriptElement _subresourceURLs]): added.
- (-[DOMSVGCursorElement _subresourceURLs]): added.
- (-[DOMSVGFEImageElement _subresourceURLs]): added.
-
-2007-10-01 Eric Seidel <eric@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- WebArchives do not embed stylesheets referenced by xml-stylesheeet
- http://bugs.webkit.org/show_bug.cgi?id=15320
-
- * DOM/WebDOMOperations.mm:
- (-[DOMProcessingInstruction _stylesheetURL]): needed to access [[self sheet] href]
- (-[DOMProcessingInstruction _subresourceURLs]): call and return _stylesheetURL
-
-2007-10-01 Eric Seidel <eric@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- * DOM/WebDOMOperations.mm: added DOMSVGElementImage _subresources implementation
- (-[DOMNode _URLsFromSelectors:]): now handles DOMSVGAnimatedString return values
- (-[DOMSVGImageElement _subresourceURLs]): added.
- * MigrateHeaders.make: copies DOMSVG* headers into WebKit/PrivateHeaders
-
-2007-10-01 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Mark.
-
- Enable Experimental SVG features by default when building from Xcode
-
- * Configurations/WebKit.xcconfig:
-
-=== End merge of feature-branch 2007-10-12 ===
-
-2007-10-11 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Fix for <rdar://problem/5488678>. Disable debugging symbols in production builds for 10.4
- PowerPC to prevent a huge STABS section from being generated.
-
- * Configurations/Base.xcconfig:
-
-2007-10-10 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Geoff Garen.
-
- Fixed <rdar://5464402> Crash when running fast/frames/onload-remove-iframe-crash.html in DRT
- createFrame() now returns a RefPtr instead of a raw Frame pointer.
- Making this change improves the way we handle frames on Windows WebKit.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createFrame):
-
-2007-10-04 Beth Dakin <bdakin@apple.com>
-
- Reviewed by John Sullivan.
-
- Fix for <rdar://problem/5441823> REGRESSION (r25142, Tiger only):
- Vertical scroll bar not redrawn properly when going back in history
- (15033)
-
- This fix if-defs r25142 to be Leopard-only since it causes
- correctness issues on Tiger and does not seem to have any
- performance impact on Tiger either.
-
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
- (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
-
-2007-10-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver.
-
- Switch to default level of debugging symbols to resolve <rdar://problem/5488678>.
- The "full" level appears to offer no observable benefits even though the documentation
- suggests it be used for dead code stripping. This should also decrease link times.
-
- * Configurations/Base.xcconfig:
-
-2007-10-04 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- WebKit part of fix for <rdar://problem/5369017> REGRESSION: Can't tab to webview that doesn't have editable content
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView becomeFirstResponder]): Pass in the FocusDirection.
-
-2007-10-04 Darin Adler <darin@apple.com>
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView _updateActiveState]):
- Removed a bogus comment.
-
-2007-10-02 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Mark Rowe.
-
- Re-added _minimumRequiredSafariBuildNumber. It turns out older version of Safari still rely
- on this method, so we need to keep it around at least until the next major Safari release.
-
- * StringsNotToBeLocalized.txt:
- * WebView/WebView.mm:
- (+[WebView _minimumRequiredSafariBuildNumber]):
- * WebView/WebViewPrivate.h:
-
-2007-10-02 Kevin Decker <kdecker@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/5517710>
-
- * WebView/WebView.mm: Removed -[WebView _minimumRequiredSafariBuildNumber] because newer
- versions of Safari no longer use this method. This won't break existing Safaris because
- they always use a respondsToSelector check before calling this.
-
- * WebView/WebViewPrivate.h: Ditto.
-
-2007-09-27 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ollie
-
- - fixed <rdar://problem/5408186> REGRESSION (5522-5523.9): Safari leaks every browser window
-
- The leak started occurring when we removed the code to clear the delegates and the host window
- from Safari as part of the fix for 5479443. But it turns out that Safari code was masking a
- bug here in WebView: setHostWindow:nil needs to be called before setting _private->closed to
- YES, or it will do nothing at all, causing a world leak due to a circular reference between
- the window and the WebView.
-
- I toyed with a more complex fix, but this is the simplest one that retains the fix for 5479443
- while otherwise restoring the code order to be as close as possible to what it was before
- 5479443 was fixed.
-
- * WebView/WebView.mm:
- (-[WebView _close]):
- Moved the call that sets _private->closed to YES to be after the code that clears the delegates
- and the host window. Added a comment about this order.
-
-2007-09-27 Kevin Decker <kdecker@apple.com>
-
- Rubber stamped by Darin.
-
- <rdar://problem/5493093>
-
- * WebKit.order: Added.
- * WebKit.xcodeproj/project.pbxproj: We're changing from using an order file built by
- another team to using one we actually check into our project repository. Linker settings for
- Symbol Ordering Flags have been updated accordingly.
-
-2007-09-26 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Adele Peterson.
-
- Fixed <rdar://problem/5507476> Promote cache model SPI to API
-
- Promoted cache model SPI to API. This was just a move, with some small
- edits to the documentation (changing 'application' to 'WebView' in
- some cases, since the interface is now per-WebView).
-
- * WebView/WebPreferences.h:
- * WebView/WebPreferences.m:
- (-[WebPreferences setCacheModel:]):
- (-[WebPreferences cacheModel]):
- * WebView/WebPreferencesPrivate.h:
-
-2007-09-24 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5498016> Photoshop CS3: Adobe Help Viewer 1.1 crashes in 9A553
-
- WebKit started calling the mouseDidMoveOverElement delegate method with a nil dictionary in r14982.
- We originally intended to call this delegate method sometimes with a nil dictionary, but due to
- a bug dating back to WebKit 1.0 this delegate was never called with nil! Unfortunately we can't
- start calling this with nil since it will break Adobe Help Viewer, and possibly other clients.
-
- * WebView/WebView.mm:
- (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
-
-2007-09-21 Kevin Decker <kdecker@apple.com>
-
- * Plugins/WebBaseNetscapePluginView.mm: Build fix.
- The first argument of aglChoosePixelFormat() has changed from const AGLDevice *gdevs on Tiger to
- const void *gdevs on Leopard.
-
-2007-09-20 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5493093>
-
- Reduced launch time by lazily linking both the AGL and OpenGL frameworks until they are really needed.
-
- * Plugins/WebBaseNetscapePluginView.mm: Soft link all AGL and OpenGL functions used by
- WebBaseNetscapePluginView.
-
- * WebKit.xcodeproj/project.pbxproj: Removed AGL and OpenGL from the project.
-
-2007-09-20 John Sullivan <sullivan@apple.com>
-
- Build fix for stoooopid old PPC gcc compiler
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::checkSpellingOfString):
- replace perfectly valid ?: syntax with if/else
-
-2007-09-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- - WebKit part of speculative fix for <rdar://problem/5490627>, about crashes constructing a
- String using the values filled in by checkSpellingOfString()
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::checkSpellingOfString):
- convert NSNotFound to -1, since WebCore code expects -1 for this purpose. We already do this
- in checkGrammarOfString.
-
-2007-09-19 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5491066> soft link Accelerate.framework
-
- * Misc/WebGraphicsExtras.c:
- (WebConvertBGRAToARGB): Improve launch time performance and reduce vsize
- footprint by soft linking the Accelerate.framework.
- * WebKit.xcodeproj/project.pbxproj: Remove no longer needed frameworks.
-
-2007-09-18 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Fixed <rdar://problem/5490204> In some cases, WebKit can make the
- Foundation disk cache way too big or way too small
-
- Use the actual location of the foundation disk cache, rather than
- the user's home directory, when determining how big to make it.
-
- * WebView/WebView.mm:
- (+[WebView _setCacheModel:]):
-
-2007-09-17 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Fixed a hang due to an infinite script running in the window's unload
- event handler, which may be the cause of <rdar://problem/5479443>
- REGRESSION: Hang due to infinite JS recursion on close @ engadget.com
- (onunload-based ad)
-
- * WebView/WebUIDelegatePrivate.h: Added FIXME.
-
- * WebView/WebView.h: Clarified headerdoc ambiguity about when delegate
- methods stop firing.
-
- * WebView/WebView.mm:
- (-[WebView _close]): The fix: don't nil out our delegates until after
- detaching the FrameLoader, because the act of detaching the FrameLoader
- might fire important delegate methods, like webViewShouldInterruptJavaScript:.
- Don't do other tear-down either, because the unload event handler needs
- to run in a fully constructed page.
-
- This change is fairly low risk because niling out our delegates is a
- very recent, never-shipped feature in WebKit, so it's unlikely that any
- apps rely on it in a crazy way.
-
-2007-09-15 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - fix <rdar://problem/5391540> REGRESSION: Can't drag images from Safari to applications
- in the dock (Tiger Preview, others in Leopard)
-
- * Misc/WebNSPasteboardExtras.mm:
- (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
- Re-implement code here that has been missing for the last couple of years since we
- did some image refactoring. Was pretty easy now that we can freely call C++ code
- in WebKit.
-
-2007-09-14 Mark Rowe <mrowe@apple.com>
-
- Build fix for Tiger.
-
- * WebView/WebArchive.m:
- (-[WebArchive initWithCoder:]): Use @catch(id) rather than @catch(...).
- * WebView/WebPreferences.m:
- (-[WebPreferences initWithCoder:]): Ditto.
- * WebView/WebResource.mm:
- (-[WebResource initWithCoder:]): Ditto.
- (-[WebResource _initWithPropertyList:]): Ditto.
-
-2007-09-14 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff Garen and Tim Hatcher.
-
- - fixed <rdar://problem/5482745> initFromCoder: and initWithPropertyList: functions
- should guard against incorrect types
-
- * WebView/WebArchive.m:
- (isArrayOfClass): Added helper function.
- (-[WebArchive _initWithPropertyList:]): Tweaked function to remove the need for a
- type cast.
- (-[WebArchive initWithCoder:]): Added type checking for the main resource,
- subresources array, and subframe archives array. Also replaced NS_DURING with @try.
- * WebView/WebPreferences.m: (-[WebPreferences initWithCoder:]): Added type checking
- for the identifier and the values dictionary, including ensuring that it's a mutable
- dictionary.
- * WebView/WebResource.mm:
- (-[WebResource initWithCoder:]): Added type checking for all the fields.
- (-[WebResource _initWithPropertyList:]): Added type checking for the NSURLResponse.
-
- * WebKit.exp: Removed accidentally exported internal symbol; I checked and it's not
- used anywhere.
-
-2007-09-13 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver.
-
- - fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text
- <input> elements with maxlength limit
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _selectionChanged]): Tweaked code a bit.
- (-[WebHTMLView markedRange]): Simplified logic, since markedTextNSRange works when there's
- no composition range.
- (-[WebHTMLView hasMarkedText]): Call directly to Editor instead of bridge.
- (-[WebHTMLView unmarkText]): Call new confirmComposition to make it clear that this is
- confirming text, not just unmarking it to discard it.
- (extractUnderlines): Added. Converts directly from an NSAttributedString to the
- CompositionUnderline vector that's used by WebCore.
- (-[WebHTMLView setMarkedText:selectedRange:]): Changed to use the new setComposition.
- (-[WebHTMLView insertText:]): Changed to use confirmComposition when appropriate, instead
- of relying on special behavior of Editor::insertText.
- (-[WebHTMLView _updateSelectionForInputManager]): Rewrote to use getCompositionSelection
- and confirmCompositionWithoutDisturbingSelection.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- Removed obsolete markedTextAbandoned function.
-
-2007-09-12 David Kilzer <ddkilzer@apple.com>
-
- Rubber-stamped by Darin and reviewed by Adam.
-
- Removed import of unused icon database headers.
-
- * WebCoreSupport/WebFrameBridge.mm:
-
-2007-09-11 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Remove the unused class_getMethodImplementation function.
-
- * Misc/WebNSObjectExtras.h:
-
-2007-09-11 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fixed CFNetwork version check so it actually works.
-
- * Misc/WebKitVersionChecks.h:
- * WebView/WebView.mm:
- (+[WebView _setCacheModel:]): Don't use NSVersionOfLinkTimeLibrary because
- we don't link against CFNetwork directly, so it returns -1. Also, use
- the proper hex encoding instead of decimal numbers.
-
-2007-09-11 Darin Adler <darin@apple.com>
-
- - redo fix for <rdar://problem/5472899> REGRESSION (TOT): Crash in FrameLoadDelegate loading stationery
-
- * WebView/WebView.mm:
- (getMethod): Added.
- (-[WebView _cacheResourceLoadDelegateImplementations]): Use getMethod.
- (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto.
-
-2007-09-11 Darin Adler <darin@apple.com>
-
- Rubber-stamped by Dave Harrison.
-
- * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
- Removed wkCreateURLPasteboardFlavorTypeName and wkCreateURLNPasteboardFlavorTypeName.
-
-2007-09-11 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- - fix <rdar://problem/5472899> REGRESSION (TOT): Crash in FrameLoadDelegate loading stationery
-
- * Misc/WebNSObjectExtras.h:
- (class_getMethodImplementation): Added.
- (method_setImplementation): Added.
-
- * WebView/WebHTMLView.mm: (+[WebHTMLViewPrivate initialize]):
- * Carbon/HIViewAdapter.m: (+[HIViewAdapter bindHIViewToNSView:nsView:]):
- Remove old-ObjC code path, since WebNSObjectExtras.h now implements everything we need.
-
- * WebView/WebView.mm:
- (-[WebView _cacheResourceLoadDelegateImplementations]): Don't bother doing a separate
- respondsToSelector call, since class_getMethodImplementation will return 0 for selectors
- that we don't respond to. The bug fix is to actually set the cached pointer to 0.
- Also get rid of the unnecessary use of a macro; instead use the functions from
- WebNSObjectExtras.h on Tiger and the appropriate function directly on Leopard.
- (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto.
-
-2007-09-11 Darin Adler <darin@apple.com>
-
- Reviewed by Sam, Ollie.
-
- * WebView/WebView.mm: (+[WebView _setCacheModel:]): A slightly cleaner 64-bit
- fix for the NSURLCache capacity code in this file.
-
-2007-09-11 Darin Adler <darin@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- * Misc/WebNSPasteboardExtras.mm: Fix incorrect strings in my last check-in.
- The strings I checked in were wrong and were breaking layout tests too.
- These new ones match what WebKitSystemInterface was returning.
-
-2007-09-10 Geoffrey Garen <ggaren@apple.com>
-
- Fixed 64-bit build (I think).
-
- * WebView/WebView.mm:
- (max): Added. In 64-bit land, -diskCapacity magically starts returning
- unsigned long instead of unsigned, so we define a custom max() that's
- willing to compare unsigned to unsigned long.
-
-2007-09-10 Darin Adler <darin@apple.com>
-
- Reviewed by Tim Hatcher.
-
- - <rdar://problem/5471082> Removing WebURLPboardType from headers broke SPI-using applications
-
- Rolled out my fix for bug 4582212 and fixed it in a much simpler way.
-
- * Misc/WebNSPasteboardExtras.h:
- * Misc/WebNSPasteboardExtras.mm:
- * WebCoreSupport/WebPasteboardHelper.mm:
- * WebKit.exp:
- * WebView/WebHTMLView.mm:
- * WebView/WebView.mm:
- Rolled out the new PasteboardType functions and changed the PboardType globals to be initialized
- with constant values.
-
-2007-09-10 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Always animate when calling _scrollTo.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _scrollVerticallyBy:]):
- (-[WebFrameView _scrollHorizontallyBy:]):
-
-2007-09-08 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- <rdar://problem/5434431> - Asynchronous Icon Database
-
- WebKit side of things
- Mainly, there are Notifications WebKit has to listen for now that tell it when to either call back into WebCore
- for some purpose or to send the webView:didReceiveIcon: delegate call
-
- Many smaller tweaks as well.
-
- * Misc/WebIconDatabase.h:
- * Misc/WebIconDatabase.mm:
- (defaultClient):
- (-[WebIconDatabase init]):
- (+[WebIconDatabase delayDatabaseCleanup]): Accessor so clients can prevent the thread from cleaning up the database
- before they've done all their necessary retaining of icons.
- (+[WebIconDatabase allowDatabaseCleanup]):
- (-[WebIconDatabase removeAllIcons]):
- (-[WebIconDatabase _isEnabled]):
- (-[WebIconDatabase _sendNotificationForURL:]):
- (-[WebIconDatabase _sendDidRemoveAllIconsNotification]):
- (-[WebIconDatabase _databaseDirectory]):
-
- (-[ThreadEnabler threadEnablingSelector:]): Quick and dirty class to enabled Cocoa multithreading
- (+[ThreadEnabler enableThreading]):
- (importToWebCoreFormat):
- * Misc/WebIconDatabaseInternal.h: Expose the internal methods of WebIconDatabase that are required by WebIconDatabaseClient
-
- * Misc/WebNSNotificationCenterExtras.h: Added. - Great utility class whose design was borrowed from Colloquy
- that allows the posting of a Cocoa notification on the main thread from *any* thread
- * Misc/WebNSNotificationCenterExtras.m: Added.
- (-[NSNotificationCenter postNotificationOnMainThreadWithName:object:]):
- (-[NSNotificationCenter postNotificationOnMainThreadWithName:object:userInfo:]):
- (-[NSNotificationCenter postNotificationOnMainThreadWithName:object:userInfo:waitUntilDone:]):
- (+[NSNotificationCenter _postNotificationName:]):
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidReceiveIcon): Send the webView:didReceiveIcon: delegate call
- (WebFrameLoaderClient::registerForIconNotification):
-
- * WebCoreSupport/WebIconDatabaseClient.h: Added.
- * WebCoreSupport/WebIconDatabaseClient.mm: Added.
- (WebIconDatabaseClient::performImport): Perform the Safari 2 icon import
- (WebIconDatabaseClient::dispatchDidRemoveAllIcons): Send the NSNotification
- (WebIconDatabaseClient::dispatchDidAddIconForPageURL): Ditto
-
- * WebView/WebView.mm:
- (-[WebView _receivedIconChangedNotification:]): Check and see if this notification is for this WebView's current URL by
- calling back into the IconDatabase
- (-[WebView _registerForIconNotification:]): Support for WebIconDatabaseClient
- (-[WebView _dispatchDidReceiveIconFromWebFrame:]): Dispatch this delegate call as well as unregister for the notification
- * WebView/WebViewInternal.h:
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-09-07 Geoffrey Garen <ggaren@apple.com>
-
- Suggested by Maciej Stachowiak.
-
- Added wKiosk Browser to the browser list. Pretty sweet app.
-
- * WebView/WebPreferences.m:
- (cacheModelForMainBundle):
-
-2007-09-07 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebView/WebView.mm:
- (+[WebView _setCacheModel:]):
-
-2007-09-05 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher.
-
- Fixed <rdar://problem/5326009> Make non-browser WebKit clients have no
- memory cache, or a very tiny one
-
- High level explanation:
- - Added SPI for specifying a cache model on a per-WebView basis.
- (Hopefully, this will become API soon.) We balance competing
- cache models simply by using the largest one that pertains at a
- given time.
-
- - Added heuristic for guessing a default cache model in WebViews
- that don't specify one:
- 1) Default to DocumentViewer for apps linked on or after this
- WebKit. Default to DocumentBrowser otherwise.
-
- 2) Assign specific defaults to well-known clients based on
- bundle ID.
-
- 3) Grow the default to DocumentBrowser if a navigation takes
- place.
-
- - As a part of the DocumentBrowser & PrimaryWebBrowser settings:
- 1) Make the Foundation disk cache much much bigger than the
- default 20MB, if space allows. (This is a hedge against a small
- WebCore cache in DocumentBrowser mode, but also an all-around
- win for page load speed.)
-
- 2) Scaled the Foundation memory cache's capacity with physical
- RAM, just like we do with other caches. This is a small win on
- low memory systems.
-
- * Misc/WebKitSystemBits.h:
- * Misc/WebKitSystemBits.m:
- (WebMemorySize): Renamed from "WebSystemMainMemory."
- (WebHomeDirectoryFreeSize): Added function to measure the free space
- on the user's home directory. We use this as a factor in determining
- the disk cache's cacpacity.
-
- * Misc/WebKitVersionChecks.h: Support for linked on or after check.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::didPerformFirstNavigation): Implementation of
- heuristic rule #3.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.m:
- (cacheModelForMainBundle): Implementation of heuristic rule #2.
- (-[NSMutableDictionary _web_checkLastReferenceForIdentifier:]): Added
- notification for when a WebPreferences instance becomes inert. We use
- this to shrink the cache model back down if possible. Moved this code
- into a WebPreferences method, since it's not really a feature of
- NSDictionary.
-
- * WebView/WebPreferencesPrivate.h: SPI declarations.
-
- * WebView/WebView.mm: Replaced manual notification posts with calls to
- the _postPreferencesChangesNotification convenience method.
-
- (-[WebView _preferencesChangedNotification:]): Merged dispersed code
- for updating preferences-related settings into this one function. This
- was needed for an earlier version of the patch, even though the
- current version could probably do without it.
-
- (+[WebView _preferencesChangedNotification:]): Added a class-level
- listener for WebPreferences changes. This listener takes care of
- modifying the class-level global cache model setting if necessary.
-
- (+[WebPreferences standardPreferences]): Removed call to
- _postPreferencesChangesNotification because the notification already
- posts when you create the WebPreferences object. (I noticed this
- inefficiency because my new _preferencesChangedNotification: method was
- called excessively at startup.)
-
- Also Added explicit tracking of WebPreferences clients, so we know when
- a WebPreferences instance becomes inert:
-
- (-[WebPreferences didRemoveFromWebView]):
- (-[WebPreferences willAddToWebView]):
-
- (+[WebView _setCacheModel:]): Translates a cache model into actual
- settings in various APIs. Caches that have unbounded value grow
- linearly relative to available space. Caches that have bounded value
- grow inverse-squaredly relative to available space.
-
-2007-09-05 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5443883> Uncaught Objective-C exceptions in WebKit clients lead to hard-to-diagnose crashes
-
- Changed all the direct delegate calls to use helper functions that have direct access to
- WebView's delegate objects. These helper methods will catch any ObjC exceptions and call
- ReportDiscardedDelegateException to log the discarded exception. WebView's that have
- catchesDelegateExceptions set to NO will not pay the cost of a @try/@catch. The delegate
- forwarders also have the same behavior.
-
- * Misc/WebKitLogging.h:
- * Misc/WebKitLogging.m:
- (ReportDiscardedDelegateException):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- * Plugins/WebNullPluginView.mm:
- (-[WebNullPluginView viewDidMoveToWindow]):
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::createWindow):
- (WebChromeClient::createModalDialog):
- (WebChromeClient::runModal):
- (WebChromeClient::toolbarsVisible):
- (WebChromeClient::statusbarVisible):
- (WebChromeClient::addMessageToConsole):
- (WebChromeClient::canRunBeforeUnloadConfirmPanel):
- (WebChromeClient::runBeforeUnloadConfirmPanel):
- (WebChromeClient::runJavaScriptAlert):
- (WebChromeClient::runJavaScriptConfirm):
- (WebChromeClient::runJavaScriptPrompt):
- (WebChromeClient::shouldInterruptJavaScript):
- (WebChromeClient::setStatusbarText):
- (WebChromeClient::print):
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::getCustomMenuFromDefaultItems):
- (WebContextMenuClient::contextMenuItemSelected):
- * WebCoreSupport/WebDragClient.mm:
- (WebDragClient::startDrag):
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::textFieldDidBeginEditing):
- (WebEditorClient::textFieldDidEndEditing):
- (WebEditorClient::textDidChangeInTextField):
- (WebEditorClient::doTextFieldCommandFromEvent):
- (WebEditorClient::textWillBeDeletedInTextField):
- (WebEditorClient::textDidChangeInTextArea):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge viewForPluginWithFrame:URL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
- (WebFrameLoaderClient::assignIdentifierToInitialRequest):
- (WebFrameLoaderClient::dispatchWillSendRequest):
- (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidReceiveResponse):
- (WebFrameLoaderClient::willCacheResponse):
- (WebFrameLoaderClient::dispatchDidReceiveContentLength):
- (WebFrameLoaderClient::dispatchDidFinishLoading):
- (WebFrameLoaderClient::dispatchDidFailLoading):
- (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
- (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
- (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
- (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebFrameLoaderClient::dispatchWillClose):
- (WebFrameLoaderClient::dispatchDidReceiveIcon):
- (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidFailLoad):
- (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
- (WebFrameLoaderClient::dispatchDidFinishLoad):
- (WebFrameLoaderClient::dispatchDidFirstLayout):
- (WebFrameLoaderClient::dispatchCreatePage):
- (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
- (WebFrameLoaderClient::dispatchWillSubmitForm):
- (WebFrameLoaderClient::dispatchDidLoadMainResource):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView callDelegateDoCommandBySelectorIfNeeded:]):
- (-[WebHTMLView validateUserInterfaceItem:]):
- * WebView/WebPDFView.mm:
- (-[WebPDFView validateUserInterfaceItem:]):
- (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
- * WebView/WebView.mm:
- (-[WebView _openNewWindowWithRequest:]):
- (-[WebView _menuForElement:defaultItems:]):
- (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
- (-[WebView _cacheResourceLoadDelegateImplementations]):
- (-[WebView _cacheFrameLoadDelegateImplementations]):
- (-[WebView _policyDelegateForwarder]):
- (-[WebView _UIDelegateForwarder]):
- (-[WebView _editingDelegateForwarder]):
- (-[WebView _scriptDebugDelegateForwarder]):
- (-[WebView _setCatchesDelegateExceptions:]):
- (-[WebView _catchesDelegateExceptions]):
- (-[_WebSafeForwarder initWithTarget:defaultTarget:]):
- (-[_WebSafeForwarder forwardInvocation:]):
- (-[_WebSafeForwarder methodSignatureForSelector:]):
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView validateUserInterfaceItem:]):
- (-[WebView _headerHeight]):
- (-[WebView _footerHeight]):
- (-[WebView _drawHeaderInRect:]):
- (-[WebView _drawFooterInRect:]):
- (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
- (CallDelegate):
- (CallDelegateReturningFloat):
- (CallDelegateReturningBoolean):
- (CallUIDelegate):
- (CallUIDelegateReturningFloat):
- (CallUIDelegateReturningBoolean):
- (CallFrameLoadDelegate):
- (CallResourceLoadDelegate):
- (CallFormDelegate):
- (CallFormDelegateReturningBoolean):
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-2007-09-04 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5452908> NIBs saved in the Pre-10.2 format while Safari 3 installed do not work without Safari 3
-
- This happened because we encoded a new field that the old WebKit does not know how to read.
- And NSCoder throws an exception if initWithCoder finishes while there is still unread data in the archive.
-
- The WebViewVersion is now 4 to distinguish that we do not encode/decode allowsUndo.
-
- * WebView/WebView.mm:
- (-[WebView initWithCoder:]): Only try to read allowsUndo if the version is 3.
- (-[WebView encodeWithCoder:]): No longer encode allowsUndo.
-
-2007-09-04 David Hyatt <hyatt@apple.com>
-
- Fix for <rdar://problem/5271213>, resizing iChat window is slower than in
- Tiger. This patch implements a fast scaling mode that can be used by
- WebViews, e.g., during window resizing.
-
- Reviewed by John Sullivan
-
- * WebView/WebView.mm:
- (-[WebView _setUseFastImageScalingMode:]):
- (-[WebView _inFastImageScalingMode]):
- * WebView/WebViewPrivate.h:
-
-2007-09-04 Darin Adler <darin@apple.com>
-
- Reviewed by Hyatt.
-
- * WebView/WebView.mm:
- (-[WebView _loadBackForwardListFromOtherView:]): Added missing null check.
- (-[WebView _setInitiatedDrag:]): Ditto.
- (-[WebView _clearUndoRedoOperations]): Ditto.
- (-[WebView encodeWithCoder:]): Ditto.
- (-[WebView backForwardList]): Ditto.
- (-[WebView setMaintainsBackForwardList:]): Ditto.
-
-2007-09-04 Tristan O'Tierney <tristan@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/5454935> Can't reply to this message in Mail -- -[DOMRange webArchive] is throwing an exception
-
- * WebView/WebArchiver.mm:
- (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
- Guard the creation of WebResource by ensuring that the passed in
- responseURL is never nil.
-
-2007-09-03 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/5452164> Production build with in symbols directory has no debug info
-
- Enable debug symbol generation on all build configurations. Production builds are stripped
- of symbols by Xcode during deployment post-processing.
-
- * Configurations/Base.xcconfig:
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-09-02 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Sullivan and Mark Rowe
-
- Groundwork for support for monitoring IconDatabase in-memory statistics
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics iconPageURLMappingCount]):
- (+[WebCoreStatistics iconRetainedPageURLCount]):
- (+[WebCoreStatistics iconRecordCount]):
- (+[WebCoreStatistics iconsWithDataCount]):
-
-2007-09-01 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Sam.
-
- <rdar://problem/5344848> IME is incorrectly used for key events when on non-editable regions
-
- EditorClient::setInputMethodState stub
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::setInputMethodState):
-
-2007-08-30 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Tim.
-
- <rdar://problem/5439953> REGRESSION: Cannot load feeds in widgets in Dashcode due to change in WebKit delegate methods
-
- * WebView/WebFrame.mm:
- (-[WebFrame _attachScriptDebugger]): Don't create the debugger object if the frame has not yet
- created its script interpreter, to avoid premature dispatch of windowScriptObjectAvailable/Cleared
- delegate methods. The script debugger will be created in any case when the window object does appear.
-
-2007-08-29 Darin Adler <darin@apple.com>
-
- Reviewed by Tim Hatcher.
-
- - fix <rdar://problem/4582212> WebKit inappropriately adds +initialize to
- NSPasteboard via a category, prevents AppKit initialize
- http://bugs.webkit.org/show_bug.cgi?id=9417
-
- * Misc/WebNSPasteboardExtras.h: Got rid of the global data objects and replaced
- them with global functions.
-
- * Misc/WebNSPasteboardExtras.mm:
- (initializePasteboardTypes): Changed the initialize method to be this function.
- (WebURLPasteboardType): Added, calls the initialize function and then returns
- the value of the global.
- (WebURLNamePasteboardType): Ditto.
- (+[NSPasteboard _web_writableTypesForURL]): Changed to call the new function instead
- of getting at the global directly.
- (+[NSPasteboard _web_dragTypesForURL]): Ditto.
- (-[NSPasteboard _web_writeURL:andTitle:types:]): Ditto.
- * WebCoreSupport/WebPasteboardHelper.mm:
- (WebPasteboardHelper::urlFromPasteboard): Ditto.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
-
- * WebView/WebView.mm:
- (+[WebView initialize]): Added a call to one of the functions to take advantage
- of the side effect that initializes the globals; this is to help out old versions
- of Safari.
- (+[WebView URLTitleFromPasteboard:]): Changed to call the new function instead
- of getting at the global directly.
-
- * WebKit.exp: Add exports of the new functions.
-
-2007-08-29 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- Fix for http://bugs.webkit.org/show_bug.cgi?id=15098
- <rdar://problem/5440319> REGRESSION (9A530-9A534): Double scroll bar on pdfs
-
- * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::makeDocumentView):
- Don't suppress scrollbars before the view creation if we're making the view for a non-html view
-
- * WebView/WebFrameViewInternal.h: Make _scrollView return a WebDynamicScrollBarsView since so many clients were relying on it being that type anyway.
- * WebView/WebFrameView.mm:
- (-[WebFrameView _setDocumentView:]):
- (-[WebFrameView _scrollView]):
- (-[WebFrameView setAllowsScrolling:]):
- (-[WebFrameView allowsScrolling]):
- * WebView/WebView.mm:
- (-[WebView setAlwaysShowVerticalScroller:]):
- (-[WebView alwaysShowVerticalScroller]):
- (-[WebView setAlwaysShowHorizontalScroller:]):
- (-[WebView alwaysShowHorizontalScroller]):
-
-2007-08-29 David Hyatt <hyatt@apple.com>
-
- The method that was swizzled to fix 5441281 does not exist on Tiger.
- Tiger has to do a double swizzle instead (of resetCursorRects and NSCursor's
- set method) in order to roughly achieve the same effect.
-
- Reviewed by darin
-
- * WebView/WebHTMLView.mm:
- (resetCursorRects):
- (setCursor):
- (+[WebHTMLViewPrivate initialize]):
-
-2007-08-29 Anders Carlsson <andersca@apple.com>
-
- Fix 64-bit build.
-
- * WebCoreSupport/WebFrameBridge.mm:
-
-2007-08-29 David Hyatt <hyatt@apple.com>
-
- Fix for 5441281, remove our dependency on cursor rects and drag margins
- in AppKit for a large performance boost on the PLT and iBench.
-
- Reviewed by darin
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView sendNullEvent]):
- (-[WebBaseNetscapePluginView mouseEntered:]):
- (-[WebBaseNetscapePluginView mouseExited:]):
- (-[WebBaseNetscapePluginView stop]):
- Clean up cursor setting from Netscape plugins. Don't unconditionally mutate
- the cursor when a plugin stops.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _setDocumentView:]):
- Suppress the resetting of drag margins while the new document view is being
- added to the view hierarchy.
-
- * WebView/WebHTMLView.mm:
- (-[NSWindow _web_borderView]):
- Expose the border view of the NSWindow so that it can be hit tested.
-
- (setCursorForMouseLocation):
- Apply a method swizzle to override the private AppKit method, _setCursorForMouseLocation.
- We have to do this to suppress the cursor rect invalidation handling from resetting
- the cursor for no reason.
-
- The swizzle will do a hit test and allow the cursor set to occur if the mouse ends up
- being over a plugin or over a view other than a WebHTMLView.
-
- (+[WebHTMLViewPrivate initialize]):
- The swizzle for setCursorForMouseLocation is set up here.
-
- (-[WebHTMLView _frameOrBoundsChanged]):
- Add a 100ms delay to the fake mouse moved event that fires when the view moves
- under the mouse (without the mouse moving). This happens on iBench when the
- pages get scrolled. By adding a delay we ensure that even with the mouse inside
- the window, we don't experience cursor thrashing when pages are updating and
- scrolling rapidly.
-
-2007-08-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5424866> Bottom portion of any Web Clip widget appears transparent
-
- * WebCoreSupport/WebFrameBridge.mm:
- Use the enum from FrameLoaderTypes.h.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::objectContentType):
- Return ObjectContentNetscapePlugin and ObjectContentOtherPlugin depending on the plug-in type.
-
-2007-08-28 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Fix fallout from the fix for <rdar://problem/5437983> (Loading history containing 100,000 entries adds 20s to Safari's startup)
- in r25275. The array of entries for each day was being maintained in the reverse of the order that was expected.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate insertItem:forDateKey:]): Maintain the array of entries in descending order.
-
-2007-08-28 Mark Rowe <mrowe@apple.com>
-
- Fix the buildbot build.
-
- * History/WebHistory.mm:
- (timeIntervalForBeginningOfDay): Explicitly cast to silence compiler warning.
-
-2007-08-28 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5437983> Loading history containing 100,000 entries adds 20s to Safari's startup
-
- Move WebHistoryItemPrivate from using a sorted array of NSCalendarDate's that map to a sorted array of arrays
- of WebHistoryItem's over to using a HashMap of NSTimeIntervals and arrays of WebHistoryItems. NSTimeInterval
- uses less memory and is substantially cheaper during comparisons than NSCalendarDate. The use of the HashMap
- avoids the needs to repeatedly search within an array to locate the array that corresponds to the given days
- history items.
-
- The result of these changes is that loading 100,000 history items drops from around 25s to 1.6s. Loading
- 100 items drops from 0.003s to 0.002s.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate init]):
- (-[WebHistoryPrivate dealloc]):
- (timeIntervalForBeginningOfDay): Return the NSTimeInterval representing the beginning of the specified day.
- (-[WebHistoryPrivate findKey:forDay:]):
- (-[WebHistoryPrivate insertItem:forDateKey:]): Perform a binary search within the day's history items rather than a linear search.
- (-[WebHistoryPrivate _removeItemFromDateCaches:]):
- (-[WebHistoryPrivate _addItemToDateCaches:]):
- (-[WebHistoryPrivate removeAllItems]):
- (-[WebHistoryPrivate orderedLastVisitedDays]): Generate and cache the sorted NSArray of NSCalendarDate's exposed in the API.
- This cache is invalidated by _removeItemFromDateCaches: and _addItemToDateCaches: when needed.
- (-[WebHistoryPrivate orderedItemsLastVisitedOnDay:]):
- (-[WebHistoryPrivate arrayRepresentation]):
- (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]): Use an autorelease pool to keep the
- number of live autoreleased objects generated to a reasonable level.
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
- (-[WebHistoryItem initFromDictionaryRepresentation:]): Use the new HistoryItem constructor that accepts the alternate title
- rather than setting it after construction. This prevents a modification notification from being sent for each WebHistoryItem that is loaded.
- * History/WebHistoryItemInternal.h:
- * History/WebHistoryPrivate.h:
- * Misc/WebNSCalendarDateExtras.h: Removed as _webkit_compareDay: is no longer used.
- * Misc/WebNSCalendarDateExtras.m: Removed.
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-08-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5298296> XMLHttpRequest readyState 3 & responseText buffer issues
-
- Expose WKSetNSURLRequestShouldContentSniff to WebCore.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2007-08-24 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5437038> 1 credential object leaked for each call to credentialWithUser:password:persistence
- - Use initWithUser instead of credentialWithUser because credentialWithUser leaks.
-
- * Panels/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
- (-[WebAuthenticationPanel sheetDidEnd:returnCode:contextInfo:]):
-
-2007-08-24 Adele Peterson <adele@apple.com>
-
- Fix by Darin, reviewed by Adele.
-
- Fix for <rdar://problem/5433422> Upon quitting, WebKit loads the WebPlugin shared database and immediately closes it
-
- * Plugins/WebPluginDatabase.h: Added closeSharedDatabase, which won't create a new database if we're just trying to close it.
- * Plugins/WebPluginDatabase.m: (+[WebPluginDatabase closeSharedDatabase]): Added.
- * WebView/WebView.mm:
- (-[WebView _close]): Call closeSharedDatabase.
- (+[WebView _applicationWillTerminate]): Call closeSharedDatabase.
-
-2007-08-24 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized
-
- This is a more localized fix for yesterday's change. Now explicitly call _web_layoutIfNeededRecursive inside the
- HIWebView Draw() function. Adds a FIXME to explain that we need to do layout before Carbon has decided what regions to draw.
- Doing layout in Draw() will potentially cause drawing to happen in two passes, but this has always been a problem in Carbon.
-
- * Carbon/HIWebView.m:
- (Draw): Call _web_layoutIfNeededRecursive on the main WebHTMLView.
- (SetFocusPart): Fix to work in ObjC++ (now that HIWebView.m is treated as a ObjC++ file.)
- * WebView/WebView.mm: Removes the 4 displayIfNeeded methods from yesterday's change.
- * WebKit.xcodeproj/project.pbxproj: Force the file type of HIWebView.m to ObjC++ so WebHTMLViewInternal.h can be included.
-
-2007-08-23 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Dave Hyatt.
-
- <rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized
-
- The Carbon HIWebView was relying on layout happening when displayIfNeededInRect: was called on the WebView.
- This would happen on Tiger because _recursiveDisplayRectIfNeededIgnoringOpacity: would always do a layout if needed.
- Doing a layout in _recursiveDisplayRectIfNeededIgnoringOpacity was removed in Leopard in favor of viewWillDraw, and
- the fact that adding new dirty rects inside _recursiveDisplayRectIfNeededIgnoringOpacity on Leopard will not
- cause a drawRect in the same display loop.
-
- So any client on Leopard calling displayIfNeeded* on the WebView would get a layout and any new dirty rects. So
- _web_layoutIfNeededRecursive needs to be called on the main frame's WebHTMLView to make sure we layout and
- display anything that is really needed.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _layoutIfNeeded]):
- (-[WebHTMLView _web_layoutIfNeededRecursive]):
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebView.mm:
- (-[WebView displayIfNeeded]): Call _web_layoutIfNeededRecursive on the main WebHTMLView.
- (-[WebView displayIfNeededIgnoringOpacity]): Ditto.
- (-[WebView displayIfNeededInRect:]): Ditto.
- (-[WebView displayIfNeededInRectIgnoringOpacity:]): Ditto.
-
-2007-08-22 Timothy Hatcher <timothy@apple.com>
-
- Rolling out r25102 for <rdar://problem/5410937> until
- <rdar://problem/5429920> is resolved.
-
- * Carbon/CarbonUtils.m:
- (WebInitForCarbon):
- (PoolCleaner):
- * Carbon/CarbonWindowAdapter.h:
- * Carbon/CarbonWindowAdapter.m:
- * Carbon/CarbonWindowContentView.h:
- * Carbon/CarbonWindowContentView.m:
- * Carbon/CarbonWindowFrame.h:
- * Carbon/CarbonWindowFrame.m:
- * Carbon/HIViewAdapter.h:
- * Carbon/HIViewAdapter.m:
- * Carbon/HIWebView.h:
- * Carbon/HIWebView.m:
-
-2007-08-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adam Roben
-
- WebKit part of fix for:
- <rdar://problem/5417777> WebKit focus ring color no longer matches system focus rings
-
- * Misc/WebNSAttributedStringExtras.mm:
- now includes <WebCore/ColorMac.h> to account for moved declaration
- * WebView/WebFrame.mm:
- ditto
-
- * WebView/WebViewPrivate.h:
- * WebView/WebView.mm:
- (+[WebView _setUsesTestModeFocusRingColor:]):
- new SPI, calls through to new WebCore function. This is used by DumpRenderTree to make sure the
- focus ring color is always the same when performing layout tests, regardless of OS X version.
- (+[WebView _usesTestModeFocusRingColor]):
- new SPI, calls through to new WebCore function
-
-2007-08-20 Antti Koivisto <antti@apple.com>
-
- Reviewed by John.
-
- Fix <rdar://problem/5378390>
- Crash at Range::startContainer() when creating multiple ToDos on the same line
-
- Null check range.
-
- No layout test, this only happens with ObjC API.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _expandSelectionToGranularity:]):
-
-2007-08-20 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, fix for crash on launch bug in last patch.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView setDataSource:]): Remove an assertion, fix code to work right in the
- face of that condition.
-
-2007-08-18 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - fixed <rdar://problem/5198272> REGRESSION: PLT 1.5% slower due to r21367 (change to start frames with empty documents)
-
- There were three main cuases of extra time due to creating the initial empty document:
-
- 1) Creating an extra WebHTMLView and swapping it for a new one for each frame created.
- 2) Parsing the minimal markup for the initial document's contents.
- 3) Clearing the Window object an extra time and dispatching the corresponding delegate method.
-
- The WebKit part of the fixes addresses 1.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::makeDocumentView): When switching from the initial
- empty document to the first real document, reuse the WebHTMLView.
-
- It might actually be a significant performance improvement to always
- reuse the WebHTMLView, but that is a much riskier change and not
- needed to fix the regression right now.
-
-2007-08-17 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - WebKit part of fix to scrollbar suppression hack for Leopard
-
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView reflectScrolledClipView:]): Don't call the superclass method
- when scrollbars are suppressed.
- (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]): Instead call it
- here, when unsuppressing.
-
-2007-08-17 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fix <rdar://problem/5414518> Use root URL as origin URL when quarantining downloads
-
- * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::setOriginalURLForDownload):
- Extract only the scheme and host name and make the originating URL from that.
-
- * WebKit/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2007-08-17 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5398301> Xcode threw mutation exception while enumerating subviews (GC only)
-
- I was never able to reproduce this exception. But there can be cases where layout will
- trigger JavaScript or plugin code that can modify the WebView view hierarchy during a
- recursive enumeration of all the subviews.
-
- This patch does two things:
- 1) Adds a check in debug builds that will LOG when any view is added or removed during layout.
- Noting that added views will not recieve layout this round and might paint without first recieving layout.
-
- 2) Recursivly builds up an array of descendant WebHTMLViews before calling layout on them.
- This matches the behavior of makeObjectsPerformSelector: in the non-GC case (making a copy
- before enumerating.)
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _web_setPrintingModeRecursive]): Use _web_addDescendantWebHTMLViewsToArray to build up an array
- of WebHTMLViews to enumerate.
- (-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto.
- (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto.
- (-[WebHTMLView _web_layoutIfNeededRecursive]): Ditto.
- (-[WebHTMLView _layoutIfNeeded]): Moved to WebHTMLViewFileInternal category.
- (-[WebHTMLView didAddSubview:]): LOG in debug builds.
- (-[WebHTMLView willRemoveSubview:]): Ditto.
- (-[NSView _web_addDescendantWebHTMLViewsToArray:]): Recursivly build an array of descendant WebHTMLViews.
- * WebView/WebHTMLViewInternal.h: Added a BOOL in WebHTMLViewPrivate to track subview changes (debug only.)
-
-2007-08-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dave Hyatt.
-
- <rdar://problem/5379040>
- REGRESSION (Tiger-Leopard): ADOBE: Safari calls NPP_SetWindow with bad values sometimes
-
- Pass the right size when creating the views.
-
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge viewForPluginWithFrame:URL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin):
-
-2007-08-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Dave Hyatt.
-
- WebKit changes to support new cache eviction model in WebCore.
-
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]): Modified to reflect new API in WebCore.
- * WebView/WebView.mm:
- (+[WebView _initializeCacheSizesIfNecessary]): Slightly increased cache
- size on low memory systems to avoid affecting the PLT for now.
-
-2007-08-15 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5410937> HIWebView in SimpleCarbonWeb doesn't seem to be getting adequate invalidation when window is resized
-
- HIWebViewCreate now just returns a HIViewRef created with HICocoaViewCreate. This eliminates lots of old code and
- makes HIWebView a better citizen starting with Leopard. The old code paths are still needed for Tiger, so now
- most of the files in the WebKit/Carbon directory are #ifdef BUILDING_ON_TIGER.
-
- The Tiger code is unchanged and dosen't exhibit the invalidation problem when the window resizes.
-
- * Carbon/CarbonUtils.m:
- (WebInitForCarbon): #ifdef BUILDING_ON_TIGER portions of this code that is not needed on Leopard.
- * Carbon/CarbonWindowAdapter.h: #ifdef BUILDING_ON_TIGER
- * Carbon/CarbonWindowAdapter.m: Ditto.
- * Carbon/CarbonWindowContentView.h: Ditto.
- * Carbon/CarbonWindowContentView.m: Ditto.
- * Carbon/CarbonWindowFrame.h: Ditto.
- * Carbon/CarbonWindowFrame.m: Ditto.
- * Carbon/HIViewAdapter.h: Ditto.
- * Carbon/HIViewAdapter.m: Ditto.
- * Carbon/HIWebView.h: Consolidate two #ifdef __OBJC__ blocks into one.
- * Carbon/HIWebView.m: Implement Leopard specific HIWebViewCreate, HIWebViewCreateWithClass and HIWebViewGetWebView.
- (HIWebViewCreate): Call HIWebViewCreateWithClass passing [WebView class].
- (HIWebViewCreateWithClass): Call HICocoaViewCreate with an instance of the class passed in.
- (HIWebViewGetWebView): Call HICocoaViewGetView.
-
-2007-08-14 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin, John, Maciej, Oliver, and Tim
-
- <rdar://problem/5394708> - Crash on launch with corrupt icon database
-
- Expose some new SPI to help recover from this case should it happen again
-
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase init]): Use the new _databaseDirectory to determine where to open the database on disk
- (+[WebIconDatabase _checkIntegrityBeforeOpening]): Tell the icon database to check integrity when it opens
- (-[WebIconDatabase _databaseDirectory]): Moved the database-directory-determining logic here as it's now used in two places
- * Misc/WebIconDatabasePrivate.h: Added _checkIntegrityBeforeOpening SPI for clients to give hints about when the
- integrity check should run
-
-2007-08-12 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin.
-
- http://bugs.webkit.org/show_bug.cgi?id=4648
- Shockwave unable to load GZip'd text resources when server sends Content-Length header
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream startStreamWithResponse:]): Don't trust
- -[NSURLResponse expectedContentLength] if Content-Encoding is not identity.
-
-2007-08-10 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mark Rowe.
-
- <rdar://problem/5403302> HIWebView.h should be #ifdefed out for 64-bit
-
- * Carbon/HIWebView.h: #ifdef out the header in 64-bit. Adds a comment about 32-bit only.
- * Carbon/CarbonUtils.h: Ditto.
-
-2007-08-10 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit
-
- Disable NPObject use in 64-bit on Mac OS X. Also generate the 64-bit export file.
-
- * Configurations/WebKit.xcconfig: Point to the generated 64-bit export file.
- * Plugins/WebBasePluginPackage.h:
- * Plugins/npfunctions.h: #ifdef out this header in 64-bit on Mac OS X.
- * WebKit.LP64.exp: Removed.
- * WebKit.xcodeproj/project.pbxproj: Generate the the 64-bit export file.
- * WebKitPrefix.h: Define WTF_USE_NPOBJECT.
-
-2007-08-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/5390568>
- REGRESSION: -[WebFrame loadHTMLString:baseURL:] leaks the data source
-
- If the identifier is not in the map, just bail out instead of asserting. This is a better fix for
- <rdar://problem/5133420> because WebCore shouldn't have to worry about the lifetime of WebKit objects.
-
- * WebView/WebDocumentLoaderMac.mm:
- (WebDocumentLoaderMac::decreaseLoadCount):
-
-2007-08-10 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin.
-
- Fixed <rdar://problem/5000470> REGRESSION: ATOK IM: reconvert returns incorrect symbol due to inconsistent range domains in TSM by working around <rdar://problem/5400551> [NSAttributedString(WebKitExtras) _web_attributedStringFromRange:] adds whitespace to the requested range
-
- We truncate the returned string to the expected length.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView attributedSubstringFromRange:]):
-
-2007-08-09 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Antti.
-
- <rdar://problem/5400709> Versioning in debug and release builds should include minor and tiny version before +
-
- * Configurations/Version.xcconfig:
- * WebKit.xcodeproj/project.pbxproj: Add a shell script phase to make to dependency between
- Version.xcconfig and Info.plist explicit to Xcode.
-
-2007-08-08 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Fixed: <rdar://problem/5394449> Stop using some Carbon UI APIs for 64 bit
-
- #ifdef'd out Netscape style plug-ins on 64-bit because Mac OS X doesn't support 64-bit Carbon UI.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (+[WebBaseNetscapePluginView getCarbonEvent:]):
- (TSMEventHandler):
- * Plugins/WebBaseNetscapePluginViewInternal.h:
- * Plugins/WebBaseNetscapePluginViewPrivate.h:
- * Plugins/WebBasePluginPackage.m:
- (+[WebBasePluginPackage pluginWithPath:]):
- * Plugins/WebNetscapePluginEmbeddedView.h:
- * Plugins/WebNetscapePluginEmbeddedView.mm:
- * Plugins/WebNetscapePluginPackage.h:
- * Plugins/WebNetscapePluginPackage.m:
- * Plugins/WebNetscapePluginStream.h:
- * Plugins/WebNetscapePluginStream.mm:
- * Plugins/WebPluginDatabase.m:
- (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
- * Plugins/npapi.m:
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
- * WebView/WebFrame.mm:
- * WebView/WebFramePrivate.h:
- * WebView/WebHTMLView.mm:
- (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
- * WebView/WebHTMLViewInternal.h:
-
-2007-08-07 David Hyatt <hyatt@apple.com>
-
- Fix a botched backout of the Quicktime plugin clipping fix that broke Java. The plugin view should not
- be set to autosize with the parent view. Also, cleanup of script objects was removed accidentally as
- well.
-
- Reviewed by olliej
-
- * Plugins/WebPluginController.mm:
- (-[WebPluginController destroyPlugin:]):
- (-[WebPluginController destroyAllPlugins]):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
-
-2007-08-03 Brady Eidson <beidson@apple.com>
-
- Reviewed by Oliver
-
- Fix for http://bugs.webkit.org/show_bug.cgi?id=14824 and <rdar://problem/5372989>
-
- When unregistering a MIMEType, remove it from the WebCore registry unconditionally
- When registrying a MIMEType whose view class is WebHTMLView, add it to the WebCore registry
-
- * WebView/WebView.mm:
- (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
- (+[WebView _registerViewClass:representationClass:forURLScheme:]):
- (+[WebView registerViewClass:representationClass:forMIMEType:]):
-
-2007-08-03 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mark Rowe.
-
- Correct the bundle version check to work in Debug and Release builds too.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-08-02 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim
-
- <rdar://problem/5381463> - setMIMETypesShownAsHTML mutates while enumerating
-
- * WebView/WebView.mm:
- (+[WebView setMIMETypesShownAsHTML:]): Copy the dictionary before we work with it.
-
-2007-08-02 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Kevin McCullough.
-
- fixed <rdar://problem/5310312> REGRESSION: javascript is mis-escaped at http://labs.zarate.org/passwd causing bookmarklet to break
-
- * Misc/WebNSURLExtras.mm:
- (+[NSURL _web_URLWithUserTypedString:relativeToURL:]):
- (-[NSURL _web_userVisibleString]):
- (-[NSURL _web_URLWithLowercasedScheme]):
- (-[NSURL _web_dataForURLComponentType:]):
- These 4 changes are just casting changes.
-
- (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
- This change replaces the call to an NSURL method with a webcore one that doesn't abort the escaping effort once an illegal character is encountered.
-
-2007-08-01 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * Misc/WebNSURLExtras.mm:
- (+[NSURL _web_URLWithUserTypedString:relativeToURL:]):
- (-[NSURL _web_userVisibleString]):
- (-[NSURL _web_URLWithLowercasedScheme]):
- (-[NSURL _web_dataForURLComponentType:]):
-
-2007-08-01 Alice Liu <alice.liu@apple.com>
-
- Reviewed by .
-
- Making WebNSURLExtras objc++
-
- * Misc/WebNSURLExtras.m: Removed.
- * Misc/WebNSURLExtras.mm: Copied from WebKit/Misc/WebNSURLExtras.m.
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-08-01 Darin Adler <darin@apple.com>
-
- Reviewed by Anders Carlsson and Kevin Decker.
-
- - fix <rdar://problem/5377432> Removal of MakeDataExecutable from 64-bit breaks WebKit build
-
- The trick was to ifdef out more of the code that's only needed to support CFM, which exists
- only for 32-bit PowerPC.
-
- * Plugins/WebNetscapePluginPackage.h: Define a SUPPORT_CFM symbol in this internal header when
- we support CFM. We support it only on 32-bit PowerPC. Only define the isBundle, isCFM, and
- connID fields when SUPPORT_CFM is on. Also use ResFileRefNum instead of SInt16.
- * Plugins/WebNetscapePluginPackage.m: Only compile the function pointer and transition vector
- functions when SUPPORT_CFM is on.
- (-[WebNetscapePluginPackage openResourceFile]): Put the non-bundle case inside a SUPPORT_CFM
- ifdef, since all non-CFM plug-ins are bundles.
- (-[WebNetscapePluginPackage closeResourceFile:]): Ditto.
- (-[WebNetscapePluginPackage _initWithPath:]): Use SUPPORT_CFM to compile out the code for
- non-bundle and bundle-based CFM plug-ins, and code that sets isBundle and isCFM.
- (-[WebNetscapePluginPackage executableType]): Put the CFM case inside SUPPORT_CFM.
- (-[WebNetscapePluginPackage load]): Put the non-bundle and CFM cases inside SUPPORT_CFM.
- There was a bit of dead code here.
- (-[WebNetscapePluginPackage _unloadWithShutdown:]): Put the non-bundle case inside
- SUPPORT_CFM.
-
-2007-07-31 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Oliver and Beth.
-
- <rdar://problem/5211271> ADOBE Leopard 9A410: At the first Launching InDesign after deactivate, EULA page gets blanked.
-
- Check for more Adobe applications that need the frame reload quirk. Also cache the answer
- so the version check dosen't happen more than once.
-
- * WebView/WebView.mm:
- (-[WebView _needsAdobeFrameReloadingQuirk]):
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
-
-2007-07-30 Adele Peterson <adele@apple.com>
-
- Reviewed by Oliver.
-
- Fix for <rdar://problem/5308020> REGRESSION: Command-N with Dvorak-Qwerty keyboard layout stopped working inside web page text fields
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView _handleStyleKeyEquivalent:]):
- The input method may have modified the character we get, so don't use charactersIgnoringModifiers to interpret the character we get.
-
-2007-07-30 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- - fixed <rdar://problem/5216176> Need WebKit SPI to allow clients using embedded WebViews to avoid
- clipping ends of some printed pages
-
- This provides Mail, and other clients that print views that embed WebViews, a way to ensure that
- the HTML is laid out for printing before pagination occurs.
-
- * WebView/WebHTMLViewPrivate.h:
- new SPI method -_layoutForPrinting
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]):
- new method, just like existing _web_setPrintingModeRecursive except passes YES for adjustViewSize
- (-[WebHTMLView _layoutForPrinting]):
- new SPI method, sets printing mode temporarily to adjust the view size for printing
- (-[NSView _web_setPrintingModeRecursiveAndAdjustViewSize]):
- new helper method to do the recursion
-
-2007-07-30 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- Fix for <rdar://problem/5367919> A crash occurs at WebCore::Frame::isFrameSet() when attempting to print a iframe before it loads at http://www.monster.com/
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView knowsPageRange:]): Nil check for frame.
-
-2007-07-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5370710>
- REGRESSION: After switching from Bookmark view, the Find Banner won't appear while displaying a PDF file
-
- Implement hasHTMLView.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::hasHTMLView):
-
-2007-07-30 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Tristan.
-
- <rdar://problem/5098931> Attachments are lost when they are moved into a ToDo after a delete
-
- Mail needs to be asked if it is OK to do the content movement that happens
- after a deleting in a situation like this one:
- <div contenteditable="plaintext-only">foo</div><div>^bar</div>
- so that they can prevent the move or so that they can save content that
- will be stripped by the move. This could have been done with shouldInsertNode
- and a new WebViewInsertAction for "moves", but WebKit clients like Mail and
- DashCode think that a shouldInsert* means that the user pasted something and
- perform actions only appropriate for pastes. This change is less risky because
- it won't require those clients to change their code.
-
- * DefaultDelegates/WebDefaultEditingDelegate.m:
- (-[WebDefaultEditingDelegate webView:shouldMoveRangeAfterDelete:replacingRange:]):
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::shouldMoveRangeAfterDelete):
- * WebView/WebEditingDelegatePrivate.h:
-
-2007-07-29 Adele Peterson <adele@apple.com>
-
- Reviewed by John.
-
- WebKit part of fix for <rdar://problem/5102522> REGRESSION: Can't tab to webview that doesn't have editable content
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView becomeFirstResponder]): Call new setInitialFocus method instead of advanceFocus.
-
-2007-07-27 Darin Adler <darin@apple.com>
-
- - fix build
-
- * WebKitPrefix.h: Removed the USING_WEBCORE_XXX definitions.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView delete:]): Fixed this to use WebCore again; I accidentally revived a dead
- code path that didn't work in the last patch!
- (-[WebHTMLView deleteToMark:]): Ditto.
- (-[WebHTMLView copy:]): Removed the unused side of the ifdef.
- (-[WebHTMLView cut:]): Ditto.
- (-[WebHTMLView paste:]): Ditto.
-
-2007-07-27 Darin Adler <darin@apple.com>
-
- Reviewed by Tim Hatcher and Oliver Hunt.
-
- - fix <rdar://problem/5355815> webView:doCommandBySelector: isn't getting called for copy:
-
- Added code so that webView:doCommandBySelector: is called for every command.
-
- * WebView/WebHTMLView.mm: Made 44 of the commands use the WEBCORE_COMMAND macro instead
- of being handwritten. For all the others, added invocation of COMMAND_PROLOGUE macro at
- the start of the command.
- (-[WebHTMLView callDelegateDoCommandBySelectorIfNeeded:]): Added.
- (-[WebHTMLView callWebCoreCommand:]): Added.
- (-[WebHTMLView delete:]): Removed unused code path -- easy to bring back some day, but
- we don't need it compiled in.
- (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]): Changed so this doesn't
- call deleteBackward: any more so we don't call the delegate two times.
- (-[WebHTMLView deleteToMark:]): Changed so this doesn't call delete: any more so we don't
- call the delegate two times.
- (-[WebHTMLView selectToMark:]): Changed so this doesn't call setMark: any more so we don't
- call the delegate two times.
- (-[WebHTMLView doCommandBySelector:]): Added code to set the private variable
- selectorForDoCommandBySelector. This allows callDelegateDoCommandBySelectorIfNeeded to
- detect that we've already called the delegate and avoids calling it twice.
-
- * WebView/WebHTMLViewInternal.h: Added the selectorForDoCommandBySelector field.
-
-2007-07-26 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Oliver.
-
- http://bugs.webkit.org/show_bug.cgi?id=14733
- Add a logging channel for text input
- <rdar://problem/5364667>
-
- * Misc/WebKitLogging.h:
- * Misc/WebKitLogging.m:
- (WebKitInitializeLoggingChannelsIfNecessary):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validAttributesForMarkedText]):
- (-[WebHTMLView textStorage]):
- (-[WebHTMLView characterIndexForPoint:]):
- (-[WebHTMLView firstRectForCharacterRange:]):
- (-[WebHTMLView selectedRange]):
- (-[WebHTMLView markedRange]):
- (-[WebHTMLView attributedSubstringFromRange:]):
- (-[WebHTMLView hasMarkedText]):
- (-[WebHTMLView unmarkText]):
- (-[WebHTMLView setMarkedText:selectedRange:]):
- (-[WebHTMLView doCommandBySelector:]):
- (-[WebHTMLView insertText:]):
-
-2007-07-26 Darin Adler <darin@apple.com>
-
- - fix Tiger build
-
- * Misc/WebTypesInternal.h: For use inside the library, use NSInteger and
- NSUInteger, just like on Leopard. WebNSInteger and WebNSUInteger are still
- present, but they are used in public and private headers only.
-
- * Carbon/CarbonWindowAdapter.m:
- * Carbon/CarbonWindowFrame.m:
- * DefaultDelegates/WebScriptDebugServer.m:
- * History/WebBackForwardList.mm:
- * Misc/WebDownload.m:
- * Misc/WebSearchableTextView.m:
- * Plugins/WebBaseNetscapePluginView.mm:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebView/WebHTMLView.mm:
- * WebView/WebPDFView.mm:
- * WebView/WebView.mm:
- * WebView/WebViewInternal.h:
- Update all implementation files and internal headers to use NSInteger and
- NSUInteger rather than WebNSInteger and WebNSUInteger.
-
-2007-07-26 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker
-
- - fixed <rdar://problem/5362989> Searching a pdf in some modes shows hilights for all instances
- of the word, even those not on the current page
-
- It turns out that there were three different issues here, all contributing to incorrect display
- of multiple matches for PDF pages in certain display modes. (1) in non-continuous display modes,
- we weren't updating the match rects when the displayed page is changed with page up/down (e.g.);
- (2) the mechanism to update the match rects on scrolling was busted except for the first scroll
- away from 0,0; (3) the PDFKit API returns selection bounds for non-displayed pages in non-continuous
- modes just as if they were the displayed pages. This patch fixes all three issues.
-
- * WebView/WebPDFView.h:
- made ivar name even longer
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView setPDFDocument:]):
- updated for ivar name change
- (-[WebPDFView viewDidMoveToWindow]):
- observe page-change notifications as well as the others; this is necessary because in the
- non-continuous modes the view can be completely updated without any scrolling involved (problem 1)
- (-[WebPDFView viewWillMoveToWindow:]):
- stop observing page-change notifications
- (-[WebPDFView rectsForTextMatches]):
- skip any pages that aren't visible; this avoids treating matches on non-displayed non-continous
- modes as if they were on the displayed page (problem 3)
- (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]):
- after checking whether scroll position has changed since we last checked it, remember the new
- one (d'oh!) (problem 2)
-
- (-[WebPDFView _scaleOrDisplayModeOrPageChanged:]):
- renamed to include page changes
-
- (-[WebPDFView _visiblePDFPages]):
- new method, returns the set of pages that are at least partly visible
-
-2007-07-24 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam and Justin.
-
- <rdar://problem/5141779> WebView editableDOMRangeForPoint: & moveDragCaretToPoint: returns last position in DOMText range
-
- editableDOMRangeForPoint:, moveDragCaretToPoint:, and removeDragCaret now call directly into
- WebCore without relying on bridge look up through the now removed _bridgeAtPoint:.
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebView.mm:
- (-[WebView moveDragCaretToPoint:]):
- (-[WebView removeDragCaret]):
- (-[WebView editableDOMRangeForPoint:]):
-
-2007-07-24 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders.
-
- <rdar://problem/4699455> REGRESSION (Safari 2->Safari 3): Adobe Reader 7.0.8 plug-in doesn't work
-
- * Plugins/WebNetscapePluginEmbeddedView.h: Added a #define that renames this class to "WebNetscapePluginDocumentView"
- This is necessary because the Adobe 7.x Acrobat plug-in has a hard coded check for a view named "WebNetscapePluginDocumentView"
- and will not function correctly if it doesn't find a view in the hierarchy without the old class name.
-
-2007-07-24 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Antti.
-
- <rdar://problem/5356666> NSMenuItem's seen leaking on buildbot
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::contextMenuItemSelected): Release platformItem as we were transferred its ownership by releasePlatformDescription.
-
-2007-07-23 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin.
-
- We have to be able to support insertText: followed by doCommandBySelector: in
- order to support the 2- and 3-Set Korean and RuSwitcher IMs at least.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView insertText:]):
-
-2007-07-23 Alice Liu <alice.liu@apple.com>
-
- Reverting change 24535 now that a solution has been found that doesn't
- involve exposing an interface unnecessarily.
-
- * WebView/WebHTMLView.mm:
- * WebView/WebHTMLViewPrivate.h:
-
-2007-07-23 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Expose [WebHTMLView hasMarkedText] to
- fix <rdar://problem/4830074> autocomplete breaks Japanese typing
-
- * WebView/WebHTMLView.mm:
- * WebView/WebHTMLViewPrivate.h:
-
-2007-07-22 Darin Adler <darin@apple.com>
-
- * StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2007-07-21 Adam Roben <aroben@apple.com>
-
- Fix REGRESSION: Right-click/control-click broken
-
- http://bugs.webkit.org/show_bug.cgi?id=14658
- <rdar://problem/5346830>
-
- Reviewed by Mitz.
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (fixMenusToSendToOldClients): Update defaultItemsCount after removing
- items from the defaultItems array.
-
-2007-07-20 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adele.
-
- <rdar://problem/5319438> REGRESSION: Cannot paste into an active inline input area (14522)
- http://bugs.webkit.org/show_bug.cgi?id=14522
-
- AppKit sends noop: to -[WebHTMLView doCommandBySelector:] when an IM does not handle event,
- we now check this as it is necessary to work around some IMs that do send messages
- (such as insertText: rather than unmarkText: to confirm a composition)
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
- (-[WebHTMLView doCommandBySelector:]):
- * WebView/WebHTMLViewInternal.h:
-
-2007-07-20 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adele and Andersca
-
- <rdar://problem/5336105> - WebBackForwardList created from scratch is unusable (always leads to crash)
-
- * History/WebBackForwardList.mm:
- (-[WebBackForwardList init]): Have a default initializer that uses an empty BackFowardList not associated with a page.
-
- * WebView/WebFrame.mm:
- (kit): For clarity's sake, this should return nil, not 0
-
-2007-07-20 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm: Removed the method
- for enabling/disabling word selection on right click.
- * WebView/WebView.mm: Ditto.
- * WebView/WebViewPrivate.h: Removed the getter/setter entirely,
- it was in a private Category for Mail, but wasn't used by Mail
- on Tiger or Leopard, they apparently implement word selection on
- their own.
-
-2007-07-20 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5199812> WebView needs to adopt viewWillDraw (moving off of _propagateDirtyRectsToOpaqueAncestors)
- <rdar://problem/5017301> REGRESSION: Scroller in Widget Manager splits down the middle while scrolling
-
- On Leopard _propagateDirtyRectsToOpaqueAncestors is no longer called by AppKit. Also marking new dirty rects
- underneath _recursiveDisplayRectIfNeededIgnoringOpacity will wait until the next runloop to draw them,
- causing rendering to happen in two steps instead of one as WebCore expected.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _topHTMLView]): Move to the file internal category so we can use it in viewWillDraw.
- (-[WebHTMLView _isTopHTMLView]): Ditto.
- (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]): #ifdef for Tiger only.
- (-[WebHTMLView viewWillDraw]): Do a recursive layout if this is the top WebHTMLView.
- (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- Don't do layout here on Leopard since viewWillDraw handled it.
- (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Ditto.
-
-2007-07-20 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Tim and Geoff.
-
- Fix for <rdar://problem/5346855> Mail crashes at
- WebCore::RenderTableSection:paint + 846 when attempting to display
- a HTML based message
-
- After reapplying styles, the RenderView needs layout. However,
- layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize used to
- return early if the WebHTMLView itself does not need layout.
- Because the WebHTMLView is not necessarily in synch with the
- RenderTree, returning early here can get us into a bad situation
- where we paint before laying out the Render Tree. This patch checks
- both the WebHTMLView and the bridge (which checks the RenderView,
- etc), so that we do not return early without laying out the Render
- Tree.
-
- Some day, we should phase out WebHTMLView keeping track of
- needsLayout at all. But that is a bit beyond the scope of this fix.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
-
-2007-07-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler and David Harrison
-
- - fixed <rdar://problem/5307075> REGRESSION: Bottom of some printed pages are truncated
-
- The "avoid orphan" code I added a year ago was causing the page to be imaged to a larger
- height (good), but not shrinking everything to compensate (bad). Bad one-year-ago me!
-
- * WebView/WebHTMLViewInternal.h:
- added avoidingPrintOrphan boolean
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
- clear _private->avoidingPrintOrphan when clearing _private->printing
- (-[WebHTMLView _scaleFactorForPrintOperation:]):
- take _private->avoidingPrintOrphan into account when computing the scale factor
- (-[WebHTMLView knowsPageRange:]):
- set _private->avoidingPrintOrphan when we're shrinking to avoid an orphan
-
-2007-07-19 Adam Roben <aroben@apple.com>
-
- Fix <rdar://problem/5344972> REGRESSION: A error dialog occurs when
- attempting to ctrl-click in a iChat message window (webview)
-
- Reviewed by Oliver.
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (fixMenusToSendToOldClients): Don't check for the Inspect Element item
- if we have fewer than 2 items.
-
-2007-07-18 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Dave Hyatt.
-
- <rdar://problem/5345099>
-
- Reduced default WebCore cache size from 32 MB to 23 MB on systems below
- 512 MB RAM. This improves RPRVT usage in the Safari pageout test by
- ~10% on a system with 384 MB RAM.
-
- At 23 MB, no extra resources are evicted from the cache during a PLT
- run, so this is a safe change PLT-wise. 23 MB is also seems to be a
- generous number in real world usage.
-
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
-
-2007-07-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/5341133> REGRESSION (Safari 2->Safari 3): DjVu plug-in doesn't load in Safari 3
-
- The DjVu plug-in uses the size of the passed in NPNetscapeFuncs struct to copy it over to a NPNetscapeFuncs struct
- whose size was determined when DjVu was compiled. This means that when we add extra functions to the vtable,
- DjVu will segfault copying it into the (too small) destination struct.
-
- Fix this by special-casing the DjVu plug-in and setting the NPNetscapeFuncs size to be the same size as what DjVu expects.
-
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage _applyDjVuWorkaround]):
- (-[WebNetscapePluginPackage load]):
-
-2007-07-18 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/5343767> Should have a way to disable the Web Inspector
-
- Adds a new DisableWebKitDeveloperExtras default that will force the Web Inspector to be disabled.
- This overrides the WebKitDeveloperExtras and IncludeDebugMenu default. It also disables
- the Web Inspector in Debug builds.
-
- * WebView/WebView.mm:
- (+[WebView _developerExtrasEnabled]): Check for the DisableWebKitDeveloperExtras default.
- (-[WebView _commonInitializationWithFrameName:groupName:]): Make a new WebInspectorClient when making the Page.
-
-2007-07-18 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * Misc/WebNSAttributedStringExtras.mm:
-
-2007-07-18 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Adam Roben.
-
- Update after renaming MimeTypeRegistry to MIMETypeRegistry.
-
- * Misc/WebNSPasteboardExtras.mm:
- (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
- * WebView/WebDataSource.mm:
- (-[WebDataSource _documentFragmentWithArchive:]):
- * WebView/WebHTMLRepresentation.mm:
- (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
- (+[WebHTMLRepresentation supportedImageMIMETypes]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _imageExistsAtPaths:]):
-
-2007-07-18 Tristan O'Tierney <tristan@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- <rdar://problem/5341334> Alt-clicking a link in Safari does not register original URL info with gatekeeper
- <rdar://problem/5342570> REGRESSION: A hang occurs when attempting to open a attached file from a .Mac web mail message
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- Added a new method, setOriginalURLForDownload, for both download()
- and startDownload() to share.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::download):
- Moved all the gatekeeper code into setOriginalURLForDownload.
-
- (WebFrameLoaderClient::setOriginalURLForDownload):
- Same code that was in download() but moved into a single place for both
- startDownload and download to use. Also returned the boolean logic
- for detecting _wasUserGesture back to it's previous state, since my prior change
- was incorrect. Additionally I found a loop index bug with backListCount and fixed it.
-
- (WebFrameLoaderClient::startDownload):
- Calls out to setOriginalURLForDownload after a download is created.
-
- * WebView/WebView.mm:
- (-[WebView _downloadURL:]):
- Changed to return the WebDownload object created inside _downloadURL
-
- * WebView/WebViewInternal.h:
- Changed _downloadURL to return the WebDownload it creates.
-
-2007-07-17 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/5336267> loadData:MIMEType:textEncodingName:baseURL: doesn't like relative URLs
-
- Get the absoluteURL from any user supplied NSURL before we pass it down to WebCore.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _loadURL:referrer:intoChild:]):
- (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
- * WebView/WebView.mm:
- (-[WebView userAgentForURL:]):
-
-2007-07-17 Adam Roben <aroben@apple.com>
-
- Fix Bug 14324: Cannot remove/customize the "Inspect Element" contextual menu item
- http://bugs.webkit.org/show_bug.cgi?id=14324
-
- Only clients linking against new versions of WebKit will see the item.
- I've maintained our behavior for old clients of not including the
- Inspect Element item in the menu items passed to the UI delegate.
-
- Reviewed by Tim.
-
- * Misc/WebKitVersionChecks.h: Added a new constant.
- * WebCoreSupport/WebContextMenuClient.mm:
- (isPreInspectElementTagClient): Added.
- (fixMenusToSendToOldClients): Return an array of items that should be
- appended to the menu received from the delegate.
- (fixMenusReceivedFromOldClients): Append the saved items to the array.
- (WebContextMenuClient::getCustomMenuFromDefaultItems): Retain/release
- the saved items.
-
-2007-07-17 Adam Roben <aroben@apple.com>
-
- Remove WebContextMenuClient::shouldIncludeInspectElementItem
-
- Reviewed by Tim.
-
- * WebCoreSupport/WebContextMenuClient.h:
- * WebCoreSupport/WebContextMenuClient.mm:
-
-2007-07-17 Adam Roben <aroben@apple.com>
-
- Initialize Settings::developerExtrasEnabled
-
- Reviewed by Tim.
-
- * WebView/WebView.mm:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
-
-2007-07-17 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _loadURL:referrer:intoChild:]):
- * WebView/WebFramePrivate.h:
-
-2007-07-17 Tristan O'Tierney <tristan@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- <rdar://problem/5294691> Source of file is misrepresented if downloaded by typing in URL in Safari address bar
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::download):
- Revised code to check the initial request's referrer before assuming it has a history to check.
-
-2007-07-16 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- Begin the arduous task of localizing FTP directory listings while removing a global initializer!
-
- * English.lproj/Localizable.strings:
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory unknownFileSizeText]):
-
-2007-07-16 Adam Roben <aroben@apple.com>
-
- Move printing from WebFrameBridge to WebChromeClient
-
- Reviewed by Darin.
-
- * WebCoreSupport/WebChromeClient.h: Updated for ChromeClient changes.
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::print): Moved code from WebFrameBridge.
- * WebCoreSupport/WebFrameBridge.mm: Removed -print.
-
-2007-07-16 Darin Adler <darin@apple.com>
-
- * StringsNotToBeLocalized.txt: Update for recent changes.
-
-2007-07-16 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker and Darin Adler
-
- - fixed <rdar://problem/5337529> Holes in Find banner overlay on PDF pages are left in wrong place after changing scale
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView _scaleOrDisplayModeChanged:]):
- tell UI delegate that the entire PDF view has been redrawn
-
-2007-07-14 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- Initial check-in for <rdar://problem/3154486> - Supporting FTP directory listings in the browser
-
- * WebView/WebPreferenceKeysPrivate.h: Added preference keys for the FTP template location, as well as to force
- FTP directory listings, bypassing the policy delegate. This is necessary to test the new feature until browser
- policy delegate support is added.
-
- * WebView/WebPreferences.m:
- (-[WebPreferences _setFTPDirectoryTemplatePath:]):
- (-[WebPreferences _ftpDirectoryTemplatePath]):
- (-[WebPreferences _setForceFTPDirectoryListings:]):
- (-[WebPreferences _forceFTPDirectoryListings]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
-
-2007-07-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/5290103> Assert failure when loading page with multipart resource
-
- Don't try to call the delegate method if the resource object doesn't exist in the
- identifier map. When a multipart resource has finished loading one part, it is removed from the
- web view identifier map.
-
- This is not an ideal fix, a better fix would be to special-case multipart resources and not remove
- them when the first part has finished loading. I've filed <rdar://problem/5335034> to track doing that.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidReceiveResponse):
- (WebFrameLoaderClient::willCacheResponse):
- (WebFrameLoaderClient::dispatchDidReceiveContentLength):
- (WebFrameLoaderClient::dispatchDidFinishLoading):
- (WebFrameLoaderClient::dispatchDidFailLoading):
-
-2007-07-13 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <rdar://problem/5333766> Can't include WebEditingDelegatePrivate.h
-
- * WebView/WebEditingDelegatePrivate.h: Changed the include to be a framework include,
- so other projects can use this header.
-
-2007-07-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin and Maciej.
-
- <rdar://problem/5271096> panic after Safari stress test, caused by port leak
-
- Replace uses of -[NSObject performSelector:withObject:afterDelay:] with CFRunLoopTimer. performSelector
- causes the target (the WebHTMLView in this case) to be retained until the timer fires. Furthermore, when
- running the PLT or iBench, the timers will not fire until the main loop is entered (usually after running all tests).
-
- This means that the timers and ports will not be released until after the test has finished running.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLViewPrivate dealloc]):
- (-[WebHTMLView _cancelUpdateMouseoverTimer]):
- (-[WebHTMLView _updateMouseoverWithFakeEvent]):
- (-[WebHTMLView _updateMouseoverTimerCallback:]):
- (-[WebHTMLView _frameOrBoundsChanged]):
- (-[WebHTMLView _updateActiveState]):
- (-[WebHTMLView _updateActiveStateTimerCallback:]):
- (-[WebHTMLView viewWillMoveToWindow:]):
- (-[WebHTMLView viewDidMoveToWindow]):
- (-[WebHTMLView mouseDown:]):
- (-[WebTextCompleteController dealloc]):
- * WebView/WebHTMLViewInternal.h:
-
-2007-07-13 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Mitz.
-
- Build fix. Stub out WebChromeClient::print.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::print):
-
-2007-07-11 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Oliver.
-
- <rdar://problem/5108789> WEBVIEW: Drawing artifacts when dragging in IB
-
- Interface Builder 3 is relying on KVO notifications for frameOrigin and frameSize,
- among other standard NSView keys. Change automaticallyNotifiesObserversForKey to
- return NO only for keys WebView manually fires notifications for.
-
- * WebView/WebView.mm:
- (+[WebView automaticallyNotifiesObserversForKey:]): Selectivly return NO for keys we manually fire.
- (-[WebView _declaredKeys]): Code clean up.
-
-2007-07-10 Antti Koivisto <antti@apple.com>
-
- Reviewed by John.
-
- Fix <rdar://problem/4570550>
- Hang in layout/layoutBlock/layoutBlockChildren preparing to print certain Mail messages
-
- When printing from Mail, WebHTMLView is a subview of the view that is actually printed and does not
- receive calls that would set it to printing mode. Method adjustPageHeightNew is called repeatedly (for each page) during
- printing and it enables printing mode temporarily for each call. This triggers two full style recalcs and layouts
- each time making printing at least O(n^2).
-
- Instead of enabling printing mode and resetting it back immediatly do the resetting asynchronously, after
- all adjustPageHeightNew calls are done. Normal Safari printing is not affected as adjustPageHeightNew is only
- called in case WebHTMLView is embedded in the view that is being printed.
-
- No automatic test possible, requires printing and non-Safari client.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
-
-2007-07-10 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- - Fixed <rdar://problem/5049509> REGRESSION(10.4.9-9A377a): REAP Suite
- installer shows empty modal alert window (hangs) if user cancels during
- "installing shared components" phase
-
- Added Adobe installers to the family of apps that need a data load
- loading quirk.
-
- Added a linked-on-or-after check because this code is no longer
- Tiger-only.
-
- I tested this code on Tiger and Leopard.
-
- * Misc/WebKitVersionChecks.h:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDocumentLoaderMac.mm:
- (needsDataLoadWorkaround):
- (WebDocumentLoaderMac::setDataSource):
-
-2007-07-10 Darin Adler <darin@apple.com>
-
- - fix build
-
- * WebView/WebHTMLView.mm: Add include of ContextMenu.h.
-
-2007-07-10 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - <rdar://problem/5321953> remove workaround for fixed AppKit mouse moved bug
-
- * WebView/WebHTMLView.mm: Put the workaround for bug 3429631 inside an
- ifdef BUILDING_ON_TIGER.
-
-2007-07-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver.
-
- <rdar://problem/4954319>
- Acrobat 7 / Safari crash: CrashTracer: 99 crashes in Safari at
- com.apple.WebCore: WebCore::NetscapePlugInStreamLoader::isDone const + 0
-
- Add a new initWithFrameLoader: method to WebNetscapePluginStream which is to be used when
- the stream is a "fake" stream for full frame plug-ins.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
- * Plugins/WebNetscapePluginStream.h:
- * Plugins/WebNetscapePluginStream.mm:
- (-[WebNetscapePluginStream initWithFrameLoader:]):
- (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
- (-[WebNetscapePluginStream start]):
- (-[WebNetscapePluginStream cancelLoadWithError:]):
- (-[WebNetscapePluginStream stop]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createFrame):
-
-2007-07-09 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- - fixed <rdar://problem/5320208> WebKit should prevent Time Machine from backing up WebKit clients' icon databases
-
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase init]):
- Re-added the code to exclude the icon database from backups. We now do this at the same time we (try to) import
- the old icon database format, which happens only once per icon database's lifetime.
- (-[WebIconDatabase _importToWebCoreFormat]):
- Assert that we haven't imported yet rather than bailing out. It's now the caller's responsibility to check
- whether we've imported yet.
-
-2007-07-08 John Sullivan <sullivan@apple.com>
-
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase init]):
- Removed the code to exclude the icon database from backups. We still want to do this, but in a way
- that only runs once ever, instead of once per launch, due to performance concerns.
-
-2007-07-07 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fix <rdar://problem/5124665> WebCore secondary-thread assertion should use linked-on-or-after check instead of building on Tiger check
-
- * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_MAIN_THREAD_EXCEPTIONS.
-
- * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): In first-time initialization block,
- check for binaries linked against older versions of WebKit, and set the default thread violation
- behavior to LogOnFirstThreadViolation.
-
- * WebView/WebView.mm: (+[WebView initialize]): Improved comments.
-
-2007-07-06 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/5318756> Need to refactor IM/Marked text code to share logic with windows.
-
- Moved a number of methods from WebHTMLView into WebCore.
- Replaced bridge methods with calls directly into WebCore objects.
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView setMarkedText:selectedRange:]):
- Now calls WebCore object methods directly, rather than calling
- via the bridge.
-
-2007-07-06 John Sullivan <sullivan@apple.com>
-
- Reviewed by Brady
-
- - WebKit part of fix for:
- <rdar://problem/5310739> Time Machine shouldn't back up WebKit's icon database files
-
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase init]):
- Use CSBackupSetItemExcluded to tell Time Machine not to back up the icon database file
-
-2007-07-07 Mark Rowe <mrowe@apple.com>
-
- Build fix. Update WebDynamicScrollBarsView.h to include methods added and used in r24060.
-
- * WebView/WebDynamicScrollBarsView.h:
-
-2007-07-05 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/5236277> REGRESSION-9A458: SPI for setting scroll bar behavior doesn't work
-
- Calling setHorizontalScrollingMode: calls updateScrollers before returning, this will cause
- WebCore to reset the scrolling mode based on the CSS overflow rules. So the setAlwaysShowHorizontalScroller:
- and setAlwaysShowVerticalScroller: methods needed a way to lock the scrolling mode before
- calling updateScrollers.
-
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]):
- (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
- (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]):
- (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
- (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]):
- (-[WebDynamicScrollBarsView setScrollingMode:]):
- (-[WebDynamicScrollBarsView setScrollingMode:andLock:]):
- * WebView/WebView.mm:
- (-[WebView setAlwaysShowVerticalScroller:]):
- (-[WebView setAlwaysShowHorizontalScroller:]):
-
-2007-07-06 Mitz Pettel <mitz@webkit.org>
-
- Reviewed by Maciej.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=10267
- Can't scroll page downwards with scroll wheel, when pointer is on top of non-scrolling iframe
-
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView scrollWheel:]): Override the superclass
- implementation to forward the wheel event to the next responder if this view
- does not allow scrolling in the event's direction.
-
-2007-07-05 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adam
-
- - WebKit part of fix for <rdar://problem/5315033>
-
- * WebView/WebDocumentPrivate.h:
- new selectionImageForcingBlackText: method. selectionImageForcingWhiteText: is no longer used and was never
- in an official release of WebKit, so it could be removed, except that doing so would cause trouble for people
- using nightly WebKit with Safari 3.0 beta. So I left it in, but made it just force black text instead of
- white text, which will look different for those nightly WebKit/Safari 3.0 beta people but not break anything.
-
- * Misc/WebSearchableTextView.m:
- (-[WebSearchableTextView selectionImageForcingBlackText:]):
- new unimplemented protocol method for this obsolete class
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView selectionImageForcingBlackText:]):
- calls through to WebCore the way selectionImageForcingWhiteText: used to
- (-[WebHTMLView selectionImageForcingWhiteText:]):
- now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView selectionImageForcingBlackText:]):
- guts of old selectionImageForcingWhiteText:, but with black substituted for white
- (-[WebPDFView selectionImageForcingWhiteText:]):
- now just calls selectionImageForcingBlackText:, thus not working as you would expect from the name
-
-2007-07-05 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/5314993> Shiira 2.1 throws an exception open a new window: -[WebInspector window]: unrecognized selector
-
- Add an empty implementation of this method to prevent Shiira from throwing an exception.
- Also log that this method is obsolete and the class will be removed.
-
- * WebInspector/WebInspector.mm:
- (-[WebInspector window]):
-
-2007-07-04 Adam Roben <aroben@apple.com>
-
- Move tooltip logic down into WebCore so that it can be shared cross-platform
-
- Reviewed by Sam.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::setToolTip): Added.
- * WebView/WebHTMLView.mm: Removed _resetCachedWebPreferences.
- (-[WebHTMLView _updateMouseoverWithEvent:]): Removed tooltip code.
- (-[WebHTMLView initWithFrame:]): Removed call to
- _resetCachedWebPreferences.
- (-[WebHTMLView setDataSource:]): Ditto.
- * WebView/WebHTMLViewInternal.h: Removed showsURLsInToolTips ivar.
- * WebView/WebHTMLViewPrivate.h: Added declaration for _setTooltip so
- that WebChromeClient can call it.
-
-2007-07-04 Adam Roben <aroben@apple.com>
-
- Initialize Settings::showsURLsInToolTips
-
- Reviewed by Sam.
-
- * WebView/WebView.mm:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
-
-2007-07-04 Adam Roben <aroben@apple.com>
-
- Removed call to mouseDidMoveOverElement now that WebCore handles it
-
- Reviewed by Sam.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _updateMouseoverWithEvent:]):
-
-2007-07-04 Adam Roben <aroben@apple.com>
-
- Add WebChromeClient::mouseDidMoveOverElement
-
- This is not called yet.
-
- Reviewed by Sam.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
-
-2007-07-03 Darin Adler <darin@apple.com>
-
- * StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2007-07-03 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Remove HIWebView in 64-bit.
-
- Also disable a few calls that are now gone in 64-bit and filed these bugs:
-
- <rdar://problem/5311653> WebKit needs to adopt HIGetMousePosition where we used GetGlobalMouse before
- <rdar://problem/5311648> WebKit needs to move off of CopyEvent in WebBaseNetscapePluginView
- <rdar://problem/5311640> WebKit needs a new solution for HISearchWindowShow on 64-bit
-
- * Carbon/CarbonUtils.m:
- * Carbon/CarbonWindowAdapter.m:
- * Carbon/CarbonWindowContentView.m:
- * Carbon/CarbonWindowFrame.m:
- * Carbon/HIViewAdapter.m:
- (SetViewNeedsDisplay):
- * Carbon/HIWebView.m:
- (Draw):
- (SyncFrame):
- * Configurations/WebKit.xcconfig:
- * Plugins/WebBaseNetscapePluginView.mm:
- (+[WebBaseNetscapePluginView getCarbonEvent:]):
- (TSMEventHandler):
- * WebKit.LP64.exp: Added.
- * WebView/WebView.mm:
- (-[WebView _searchWithSpotlightFromMenu:]):
-
-2007-07-03 Adam Roben <aroben@apple.com>
-
- Merge the Windows and Mac localized strings and exceptions files
-
- Reviewed by Darin and Anders.
-
- * English.lproj/Localizable.strings: Added Windows strings.
- * StringsNotToBeLocalized.txt: Renamed from WebKit/English.lproj/StringsNotToBeLocalized.txt.
-
-2007-07-03 Adele Peterson <adele@apple.com>
-
- Removed printf I accidently left in.
-
- * Misc/WebNSURLExtras.m: (mapHostNames):
-
-2007-07-03 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- Fix for: <rdar://problem/5292988> domain names shouldn't contain ignorable characters
-
- * Misc/WebNSURLExtras.m:
- (isLookalikeCharacter): Renamed. Also excludes any non-printable character,
- any character considered as whitespace that isn't already converted to a space by ICU, any ignorable character,
- and any character excluded in Mozilla's blacklist: http://kb.mozillazine.org/Network.IDN.blacklist_chars
- (allCharactersInIDNScriptWhiteList):
-
-2007-07-03 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fix <rdar://problem/5310848> WebDataSource lifetime problem -- may be cause of the leaks seen on the buildbot
-
- * WebView/WebDataSource.mm:
- (-[WebDataSourcePrivate dealloc]): Added a call to the new detachDataSource function.
- (-[WebDataSourcePrivate finalize]): Ditto.
-
- * WebView/WebDocumentLoaderMac.h: Added detachDataSource function to be used when the
- WebDataSource is deallocated. Added retain/releaseDataSource helper functions to be
- used to retain and release the data source object. Replaced the m_hasEverBeenDetached
- boolean with a more primitive and hence easier to understand m_isDataSourceRetained boolean.
-
- * WebView/WebDocumentLoaderMac.mm:
- (WebDocumentLoaderMac::WebDocumentLoaderMac): Initialize m_isDataSourceRetained to false.
- (WebDocumentLoaderMac::setDataSource): Call retainDataSource instead of calling HardRetain
- on the dataSource parameter. Also updated a comment.
- (WebDocumentLoaderMac::attachToFrame): Call retainDataSource unconditionally rather than
- trying to use m_hasEverBeenDetached to decide if a retain is needed. Also got rid of an
- assertion that m_loadingResources is empty -- not important any more.
- (WebDocumentLoaderMac::detachFromFrame): Call releaseDataSource instead of using
- HardRelease, but only if m_loadingResources is empty. If it's non-empty, then we'll
- do the releaseDataSource later in decreaseLoadCount.
- (WebDocumentLoaderMac::increaseLoadCount): Call retainDataSource unconditionally
- rather than calling HardRetain only if the old set of resources was empty.
- (WebDocumentLoaderMac::decreaseLoadCount): Call releaseDataSource if m_loadingResources
- is empty and we're not attached to a frame. If we are attached to a frame, then
- we'll do the releaseDataSource later in detachFromFrame.
- (WebDocumentLoaderMac::retainDataSource): Added. Calls CFRetain, but only if the data
- source is not already retained (according to the boolean).
- (WebDocumentLoaderMac::releaseDataSource): Added. Calls CFRelease, but only if the data
- source is currently retained (according to the boolean).
- (WebDocumentLoaderMac::detachDataSource): Added. Sets m_dataSource to nil. Since this
- is only called from WebDataSource's dealloc and finalize methods, it won't ever be called
- when the m_isDataSourceRetained boolean is true.
-
-2007-07-03 Darin Adler <darin@apple.com>
-
- - forgot to check in one file in the fix for <rdar://problem/5307880>
- some classes need finalize methods because of non-trivial work done in dealloc methods
-
- * WebView/WebView.mm: (-[WebViewPrivate finalize]): Delete identifierMap so it doesn't leak.
-
-2007-07-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin.
-
- * WebView/WebView.mm:
- (-[WebView stringByEvaluatingJavaScriptFromString:]):
- ASSERT that the value returned isn't nil. It can't be nil when invoked on the main frame.
-
-2007-07-04 Mark Rowe <mrowe@apple.com>
-
- Unreviewed 64-bit build fixes.
-
- * WebCoreSupport/WebInspectorClient.mm: Let the compiler know that WebFrameView is a subclass of NSView.
- * WebView/WebDocumentInternal.h: Remove our preprocessor macro once we're done with it.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Fix argument types.
-
-2007-07-02 Darin Adler <darin@apple.com>
-
- Reviewed by Kevin Decker and Tim Hatcher.
-
- - fix <rdar://problem/5307880> some classes need finalize methods
- because of non-trivial work done in dealloc methods
-
- * DefaultDelegates/WebScriptDebugServer.m:
- (-[WebScriptDebugServer dealloc]): Added a comment about how this probably won't
- work under GC.
- * WebInspector/WebNodeHighlight.m:
- (-[WebNodeHighlight dealloc]): Ditto.
-
- * WebView/WebDataSource.mm:
- (+[WebDataSourcePrivate initialize]): Added. Makes finalize run on main thread.
- (-[WebDataSourcePrivate finalize]): Added. Calls deref on the document loader.
- * WebView/WebHTMLView.mm:
- (+[WebHTMLViewPrivate initialize]): Added. Makes finalize run on main thread.
- (-[WebHTMLViewPrivate finalize]): Added. Calls deref on promisedDragTIFFDataSource.
-
- * WebKit.xcodeproj/project.pbxproj: Let Xcode be Xcode.
-
-2007-07-02 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Justin.
-
- Fix for
- <rdar://problem/5290113> WebKit does not correctly handle replacement ranges from the IM in -[WebHTMLView insertText:]
- http://bugs.webkit.org/show_bug.cgi?id=13664
-
- We replicate the logic of -[WebHTMLView setMarkedText:selectedRange:] to handle the Input Method
- feeding us a replacement string through insertText: so we can handle IMs that use insertText to
- replace text.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView insertText:]):
-
-2007-07-01 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Alexey.
-
- Fix for <rdar://problem/5306210> Some events are still passed to WebCore despite being handled by the IM
- http://bugs.webkit.org/show_bug.cgi?id=14457
-
- We have to assume that the IM will consume all events, so we remove the dependency
- on -[WebHTMLView hasMarkedText].
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
-
-2007-06-29 John Sullivan <sullivan@apple.com>
-
- Reviewed by Oliver Hunt.
-
- - WebKit support for accessing the set of rectangles that encompass the selected text
-
- * WebView/WebDocumentPrivate.h:
- added -selectionTextRects to WebDocumentSelection protocol; tweaked comments
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _selectionDraggingRect]):
- use selectionRect instead of selectionImageRect since they're the same and maybe we can get
- rid of selectionImageRect someday
- (-[WebHTMLView selectionTextRects]):
- added implementation of new protocol method, which calls through to WebCore
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView selectionTextRects]):
- added simple implementation of new protocol method, which just returns the single selection rect.
- PDFKit doesn't support obtaining multiple rects to describe a multi-line selection.
- (-[WebPDFView selectionImageForcingWhiteText:]):
- use selectionRect instead of selectionImageRect since they're the same and maybe we can get
- rid of selectionImageRect someday
-
- * Misc/WebSearchableTextView.m:
- (-[WebSearchableTextView selectionTextRects]):
- added no-op implementation of new protocol method to this obsolete class
-
-2007-06-28 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5287569> WEBVIEW: Creating a webview in IB 3.0 (v2.0) NIB later crashes Interface Builder 2.5.4 on Tiger
-
- Prevent encoding any of the WebView subviews. The subviews are ignored by -[WebView initWithCoder:] and will be recreated.
- The Tiger 2.0 code crashed when the WebView released the subviews in initWithCoder:, so now there are no subviews to release.
- This never happened before because the Tiger 2.0 code and IB wouldn't encode a WebView that has a WebHTMLView.
-
- * WebView/WebView.mm:
- (-[WebView encodeWithCoder:]):
-
-2007-06-26 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- - WebKit support for displaying multiple text matches in PDF views (<rdar://problem/4601967>)
-
- * WebView/WebPDFView.h:
- new ivars textMatches and lastScrollPosition; now conforms to WebMultipleTextMatches protocol
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView dealloc]):
- release textMatches
- (-[WebPDFView viewDidMoveToWindow]):
- start observing bounds changes in the PDF document's enclosing clip view, so we can notice when
- scrolling takes place
- (-[WebPDFView viewWillMoveToWindow:]):
- stop observing bounds changes in the PDF document's enclosing clip view
- (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]):
- most of the code here has been moved into the new method _nextMatchFor::::, which this now calls
- (-[WebPDFView setMarkedTextMatchesAreHighlighted:]):
- implementation of WebMultipleTextMatches protocol method, does nothing useful here because we don't
- support inline highlighting of matches in PDF documents
- (-[WebPDFView markedTextMatchesAreHighlighted]):
- implementation of WebMultipleTextMatches protocol method
- (-[WebPDFView markAllMatchesForText:caseSensitive:limit:]):
- implementation of WebMultipleTextMatches protocol method; calls _nextMatchFor:::: in a loop until
- entire document is searched or limit is hit; records results by saving PDFSelections in textMatches ivar
- (-[WebPDFView unmarkAllTextMatches]):
- implementation of WebMultipleTextMatches protocol method; clears saved textMatches
- (-[WebPDFView rectsForTextMatches]):
- implementation of WebMultipleTextMatches protocol method; converts saved PDFSelections into NSValue
- objects that represent NSRects
- (-[WebPDFView _clipViewForPDFDocumentView]):
- new helper method to find the clip view whose bounds determine the current scroll position
- (-[WebPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]):
- new helper method, extracted from searchFor:::::
- (-[WebPDFView _PDFDocumentViewMightHaveScrolled:]):
- new notification callback; tells webView's delegate when document has scrolled
- (-[WebPDFView _setTextMatches:]):
- new helper method, stores value in ivar
-
-2007-06-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej.
-
- Hopefully fix remainder of the IME issues on Mac.
- We now assume that the IME silently consumes any event given
- to it during text composition, and only override this assumption
- if the NSTextInput or NSResponder callbacks are made.
-
- This prevents us from treating those events that the IME has
- consumed internally (eg. candidate window navigation) as unhandled
- events that should be bubbled.
-
- This fixes:
- <rdar://problem/5107538> Major problems handling key press event with non-english Input Methods
- <rdar://problem/4196249> REGRESSION: Mail: Inputting space (U+0020) with IM deletes subsequent line breaks on Mail.app
- <rdar://problem/5015544> REGRESSION: Reverse conversion keyboard command does not work in Safari.
- <rdar://problem/5045121> REGRESSION: Inline is confirmed after press left/right arrow keys, happens in Mail but not in TextEdit.
- <rdar://problem/5076807> REGRESSION: Can't undo conversion of inline text (by hitting ESC)
- <rdar://problem/5085781> REGRESSION: Active input area lost "selected" highlight
- <rdar://problem/5094200> space key pressed to close the associated words candidate window gets inserted as text
- <rdar://problem/5228294> Candidate item for character matrix is sometimes skipped
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView launchKeyEvent:]):
- (-[WebHTMLView keyDown:]):
- (-[WebHTMLView keyUp:]):
- (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
- (-[WebHTMLView unmarkText]):
- (-[WebHTMLView setMarkedText:selectedRange:]):
- (-[WebHTMLView doCommandBySelector:]):
- (-[WebHTMLView insertText:]):
-
-2007-06-26 Jim Correia <jim.correia@pobox.com>
-
- Reviewed by Darin.
-
- Fix http://bugs.webkit.org/show_bug.cgi?id=14411
- Bug 14411: WebNetscapePluginPackage overagressively sets CurApRefNum, which affects shipping versions of BBEdit.
- <rdar://problem/5297268>
-
- * Plugins/WebNetscapePluginPackage.m:
- (+[WebNetscapePluginPackage initialize]): Force the Resource Manager to
- lazy initialize, and only set CurApRefNum to the system file if
- CurApRefNum is still -1 after that forced lazy initialization.
-
-2007-06-25 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5294036> -[WebView customTextEncodingName] API may return empty string instead of nil
-
- * WebView/WebView.mm:
- (-[WebView _mainFrameOverrideEncoding]): Addded the nsStringNilIfEmpty() inline to the data being returned because
- our API says "The custom text encoding name or nil if no custom text encoding name has been set." I also verified
- the standing Tiger WebKit behavior for this method and it does indeed return nil if a custom encoding wasn't set.
-
-2007-06-25 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- - WebKit part of <rdar://problem/5293820>, needed to support multiple matches in PDFs
-
- * WebView/WebDocumentInternal.h:
- Added WebMultipleTextMatches protocol, containing five methods that were formerly implemented in WebHTMLView
- * WebView/WebHTMLViewPrivate.h:
- Removed declarations for the methods that are now in WebMultipleTextMatches protocol
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
- moved this method into the WebDocumentInternalProtocols portion of the file
- (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
- ditto
- (-[WebHTMLView markedTextMatchesAreHighlighted]):
- ditto
- (-[WebHTMLView unmarkAllTextMatches]):
- ditto
- (-[WebHTMLView rectsForTextMatches]):
- ditto
-
- * WebView/WebView.mm:
- (-[WebView canMarkAllTextMatches]):
- new method, returns YES only if the documentView of every frame implements WebMultipleTextMatches
- (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
- check for WebMultipleTextMatches protocol instead of checking for WebHTMLView class
- (-[WebView unmarkAllTextMatches]):
- ditto
- (-[WebView rectsForTextMatches]):
- ditto
-
- * WebView/WebViewPrivate.h:
- declared new method canMarkAllTextMatches
-
-2007-06-25 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- Fixed <rdar://problem/5292259> Find on Page doesn't work (throws exception) on page that includes PDF in a subframe
-
- * WebView/WebView.mm:
- (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
- We were testing whether the view was an HTMLView, but then running code that assumed it was an HTMLView outside of
- that test. That's a bad idea.
-
-2007-06-22 Adele Peterson <adele@apple.com>
-
- Reviewed by Geoff and Darin.
-
- Fix for: <rdar://problem/5239236> Other slash characters should not be permitted as part of a domain name
-
- * Misc/WebNSURLExtras.m:
- (isSlashOrPeriodLookalike):
- (allCharactersInIDNScriptWhiteList):
-
-2007-06-21 Sam Weinig <sam@webkit.org>
-
- Reviewed by Antti.
-
- Remove empty directories
-
- * WebInspector/webInspector: directory removed.
- * WebInspector/webInspector/Images: directory removed
-
-2007-06-21 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Tim.
-
- <rdar://problem/5237524>
- REGRESSION: Keyboard commands don't work in a message window until you click inside the message
-
- When you open a message in its own window, Mail creates an empty
- WebView, makes that WebView firstResponder and then sets off a
- load inside that WebView.
-
- When we're asked to create the empty WebView, we put an empty
- WebHTMLView inside it (in r21367 we began creating a document
- for empty frames). When Mail makes the WebView first responder
- we make that empty WebHTMLView firstResponder. Then when the
- load finishes we create a new WebHTMLView and set it as the
- document view.
-
- Inside _setDocumentView, if the old document view or one of its
- descendants was the first responder, we'd makeFirstResponder:nil
- so that the window wouldn't be left with a firstResponder that
- was no longer inside of it. This change fixes the bug by instead
- transferring firstResponder status to the new document view.
-
- We could also fix this by not allowing the WebHTMLView to become
- firstResponder when it's in the provisional state mentioned above.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _setDocumentView:]):
-
-2007-06-21 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adele
-
- - fixed <rdar://problem/5268673> REGRESSION: Context menu missing for PDF in frame when there's no selection
-
- This was surprisingly interesting. It turns out that at least for Safari, the method [WebDefaultUIDelegate
- webView:contextMenuItemsForElement:defaultMenuItems:] is only exercised from WebPDFView these days. It mimics
- some of the code that was moved to WebCore as part of the Great Context Menu Refactoring of 2006, but is
- independent of that code. And it was partly broken/incomplete, probably as a result of said refactoring.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
- (localizedMenuTitleFromAppKit()):
- deleted this function since I removed all callers
- (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
- Handle WebMenuItemTagOpenFrameInNewWindow tag, since code later in this file was relying on it. Added
- ASSERT_NOT_REACHED to the default case, since returning nil from this method is bad.
- Also, use WebKit versions of menu title strings rather than AppKit versions. We added these strings to WebKit
- a while back so we don't need to sneakily find them in AppKit anymore.
- (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
- make the WebView be the target of the Open Frame in New Window item; previously it was self, but that was
- just silly (probably a leftover from some code shuffling when context menus were reimplemented)
-
- * WebView/WebView.mm:
- (-[WebView _openFrameInNewWindowFromMenu:]):
- new method, used by Open Frame in New Window menu item.
-
- * WebView/WebViewInternal.h:
- Declare new method used by menu item. This isn't necessary for compilation, but could prevent the accidental
- deletion of the method implementation.
-
-2007-06-20 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Adam.
-
- Fix http://bugs.webkit.org/show_bug.cgi?id=14255.
- Bug 14255: Reproducible crash opening web inspector from debug menu
-
- Reinstate the WebInspector class so WebKit clients that currently depend on it
- will build and run correctly.
-
- * WebInspector/WebInspector.h: Added.
- * WebInspector/WebInspector.mm: Added.
- (+[WebInspector webInspector]):
- (-[WebInspector dealloc]):
- (-[WebInspector setWebFrame:]):
- (-[WebInspector showWindow:]):
- * WebKit.exp:
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-06-20 Adam Roben <aroben@apple.com>
-
- Land the new Inspector.
-
- Co-written with Tim Hatcher.
-
- Reviewed by Anders, Adele, Hyatt, and Sam.
-
- Implement the InspectorClient interface.
-
- * WebCoreSupport/WebInspectorClient.h: Added.
- * WebCoreSupport/WebInspectorClient.mm: Added.
- (WebInspectorClient::WebInspectorClient):
- (WebInspectorClient::inspectorDestroyed):
- (WebInspectorClient::createPage):
- (WebInspectorClient::showWindow):
- (WebInspectorClient::closeWindow):
- (WebInspectorClient::attachWindow):
- (WebInspectorClient::detachWindow):
- (WebInspectorClient::highlight):
- (WebInspectorClient::hideHighlight):
- (WebInspectorClient::inspectedURLChanged):
- (WebInspectorClient::updateWindowTitle):
- (-[WebInspectorWindowController init]):
- (-[WebInspectorWindowController initWithInspectedWebView:]):
- (-[WebInspectorWindowController dealloc]):
- (-[WebInspectorWindowController inspectorVisible]):
- (-[WebInspectorWindowController webView]):
- (-[WebInspectorWindowController window]):
- (-[WebInspectorWindowController windowShouldClose:]):
- (-[WebInspectorWindowController close]):
- (-[WebInspectorWindowController showWindow:]):
- (-[WebInspectorWindowController attach]):
- (-[WebInspectorWindowController detach]):
- (-[WebInspectorWindowController highlightAndScrollToNode:]):
- (-[WebInspectorWindowController highlightNode:]):
- (-[WebInspectorWindowController hideHighlight]):
- (-[WebInspectorWindowController animationDidEnd:]):
-
- Add an easier-to-see highlight.
-
- * Misc/WebNSViewExtras.h:
- * Misc/WebNSViewExtras.m:
- (-[NSView _web_convertRect:toView:]):
- * WebInspector/WebNodeHighlight.h:
- * WebInspector/WebNodeHighlight.m:
- (-[WebNodeHighlightFadeInAnimation setCurrentProgress:]):
- (-[WebNodeHighlight initWithTargetView:]):
- (-[WebNodeHighlight setHighlightedNode:]):
- (-[WebNodeHighlight highlightedNode]):
- (-[WebNodeHighlight dealloc]):
- (-[WebNodeHighlight attachHighlight]):
- (-[WebNodeHighlight delegate]):
- (-[WebNodeHighlight detachHighlight]):
- (-[WebNodeHighlight show]):
- (-[WebNodeHighlight hide]):
- (-[WebNodeHighlight animationDidEnd:]):
- (-[WebNodeHighlight ignoresMouseEvents]):
- (-[WebNodeHighlight highlightView]):
- (-[WebNodeHighlight setDelegate:]):
- (-[WebNodeHighlight setHolesNeedUpdateInTargetViewRect:]):
- (-[WebNodeHighlight setIgnoresMouseEvents:]):
- (-[WebNodeHighlight targetView]):
- (-[WebNodeHighlight _computeHighlightWindowFrame]):
- (-[WebNodeHighlight _repositionHighlightWindow]):
- * WebInspector/WebNodeHighlightView.h:
- * WebInspector/WebNodeHighlightView.m:
- (-[WebNodeHighlightView initWithWebNodeHighlight:]):
- (-[WebNodeHighlightView dealloc]):
- (-[WebNodeHighlightView detachFromWebNodeHighlight]):
- (-[WebNodeHighlightView drawRect:]):
- (-[WebNodeHighlightView webNodeHighlight]):
- (-[WebNodeHighlightView fractionFadedIn]):
- (-[WebNodeHighlightView setFractionFadedIn:]):
- (-[WebNodeHighlightView setHolesNeedUpdateInRect:]):
- (-[WebNodeHighlightView _holes]):
-
- WebView changes needed for the new Inspector.
-
- * WebView/WebView.mm: Remove the old _inspectElement method now that
- this is handled by WebCore.
- (-[WebView _isClosed]): Added.
- (-[WebView initWithFrame]): Give each Page an InspectorClient to
- enable the Inspector.
- * WebView/WebViewPrivate.h:
-
- Updates needed for WebCore changes.
-
- * WebCoreSupport/WebContextMenuClient.h:
- * WebCoreSupport/WebContextMenuClient.mm:
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory contextMenuItemTagInspectElement]):
- * WebView/WebUIDelegatePrivate.h:
-
- Remove old Inspector code.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
- (WebFrameLoaderClient::assignIdentifierToInitialRequest):
- (WebFrameLoaderClient::dispatchDidFinishLoading):
- * WebInspector/WebInspector.m: Removed.
- * WebInspector/WebInspectorPanel.h: Removed.
- * WebInspector/WebInspectorPanel.m: Removed.
- * WebInspector/webInspector/Images/button.png: Removed.
- * WebInspector/webInspector/Images/buttonDivider.png: Removed.
- * WebInspector/webInspector/Images/buttonPressed.png: Removed.
- * WebInspector/webInspector/Images/close.png: Removed.
- * WebInspector/webInspector/Images/closePressed.png: Removed.
- * WebInspector/webInspector/Images/downTriangle.png: Removed.
- * WebInspector/webInspector/Images/menu.png: Removed.
- * WebInspector/webInspector/Images/menuPressed.png: Removed.
- * WebInspector/webInspector/Images/popup.png: Removed.
- * WebInspector/webInspector/Images/popupPressed.png: Removed.
- * WebInspector/webInspector/Images/resize.png: Removed.
- * WebInspector/webInspector/Images/rightTriangle.png: Removed.
- * WebInspector/webInspector/Images/scrollThumbBottom.png: Removed.
- * WebInspector/webInspector/Images/scrollThumbMiddle.png: Removed.
- * WebInspector/webInspector/Images/scrollTrackBottom.png: Removed.
- * WebInspector/webInspector/Images/upTriangle.png: Removed.
- * WebInspector/webInspector/inspector.css: Removed.
- * WebInspector/webInspector/inspector.html: Removed.
- * WebInspector/webInspector/inspector.js: Removed.
- * WebInspector/webInspector/scrollarea.js: Removed.
- * WebInspector/webInspector/scrollbar.js: Removed.
- * WebInspector/webInspector/utilities.js: Removed.
- * WebView/WebFrame.mm:
- (-[WebFramePrivate dealloc]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView menuForEvent:]):
-
- Build-fu:
-
- * WebKit.exp:
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-06-20 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5263541> REGRESSION (Safari 3 Beta 1): Pressing Delete doesn't delete an HTML message in Mail
-
- Mail wasn't receiving the keyDown event because WebFrameView was blocking it.
- It blocks the event and moves back/forward on Delete/Shift+Delete if the
- back/forward list is enabled.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView keyDown:]): Check to see if the BackForwardList is
- enabled. It always exists.
-
-2007-06-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/5266289> REGRESSION (Safari 3 Beta 1): Incoming iChat messages are delayed
-
- * WebView/WebDocumentLoaderMac.mm:
- (needsAppKitWorkaround):
- New function which checks if the frame load delegate belongs to AppKit.
-
- (WebDocumentLoaderMac::setDataSource):
- If the frame load delegate belongs to AppKit, set m_deferMainResourceDataLoad to false.
-
-2007-06-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Hatcher
-
- - fixed <rdar://problem/5272011> Hole for find-on-page match in subframe isn't clipped by frame bounds
-
- * WebView/WebView.mm:
- (-[WebView rectsForTextMatches]):
- intersect the HTMLView's computed rect with the visible rect for that view
-
-2007-06-19 Jim Correia <jim.correia@pobox.com>
-
- Reviewed by Kevin Decker
-
- * Carbon/HIWebView.m:
- (WindowHandler): HIObjectIsOfClass requires non-NULL input on Tiger. Reworked Kevin Decker's patch to remove the conditional compilation for Tiger, yet still avoid crashing BBEdit.
-
-2007-06-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by Beth.
-
- Build fix.
-
- * WebCoreSupport/WebChromeClient.mm:
-
-2007-06-18 Kevin Decker <kdecker@apple.com>
-
- * Carbon/HIWebView.m:
- (WindowHandler): Fixed the Tiger build; ControlKind wasn't defined.
-
-2007-06-18 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Fixed: <rdar://problem/5276135> With Safari 3 Tiger Beta installed, a crash occurs in BBEdit while mousing down and dragging outside of HTML preview window
-
- * Carbon/HIWebView.m:
- (WindowHandler): Because the fix for 5051616 causes Tiger to crash in HIToolbox (but not on Leopard), I reverted back to using GetControlKind
- on Tiger only, instead of HIObjectIsOfClass.
-
-2007-06-16 David Hyatt <hyatt@apple.com>
-
- Back out fix for 13972. Quicktime will no longer clip correctly. :(
- Too many regressions in Mail caused by inserting an extra view into the
- hierarchy. Can revisit later.
-
- Reviewed by olliej
-
- * Plugins/WebPluginController.mm:
- (-[WebPluginController destroyPlugin:]):
- (-[WebPluginController destroyAllPlugins]):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView addSubview:]):
- (-[WebHTMLView willRemoveSubview:]):
-
-2007-06-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin.
-
- Patch for http://bugs.webkit.org/show_bug.cgi?id=14053
- Autogenerate JS binding for Rect
-
- - Fix conflicts by using ::Rect instead of Rect.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebBaseNetscapePluginView sendEvent:]):
- (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
- (-[WebBaseNetscapePluginView invalidateRegion:]):
- (-[WebBaseNetscapePluginView _printedPluginBitmap]):
-
-2007-06-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin.
-
- A better fix for <rdar://problem/5271774>. Only try to access the element if the
- view has an associated window. This also works with GC. (Fix suggested by Kevin.)
-
- * Plugins/WebKitPluginContainerView.mm:
- (-[WebKitPluginContainerView dealloc]):
- (-[WebKitPluginContainerView visibleRect]):
-
-2007-06-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin.
-
- <rdar://problem/5271774> REGRESSION: A crash occurs when closing a window that contains a QT movie
-
- In some cases, calling [super dealloc] might end up calling visibleRect, so make sure to
- set _element to 0 so we won't send a message to a freed object and crash.
-
- * Plugins/WebKitPluginContainerView.mm:
- (-[WebKitPluginContainerView dealloc]):
- (-[WebKitPluginContainerView visibleRect]):
-
-2007-06-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoff.
-
- Call cleanupScriptObjectsForPlugin on the frame after destroying the plug-in.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView _destroyPlugin]):
- * Plugins/WebPluginController.mm:
- (-[WebPluginController destroyPlugin:]):
- (-[WebPluginController destroyAllPlugins]):
-
-2007-06-13 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adele Peterson
-
- - fixed <rdar://problem/5267607> Clicking the "Save to Downloads" button in
- PDF overlay too soon results in corrupt file
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
- Just beep if the document isn't available yet, since trying to save it as a file
- really isn't a good idea.
-
-2007-06-12 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin.
-
- Use correct size for BITMAPINFOHEADER -- whoops.
-
- * win/WebIconDatabase.cpp:
- (createDIB):
- (WebIconDatabase::getOrCreateDefaultIconBitmap):
-
-2007-06-10 David Hyatt <hyatt@apple.com>
-
- Fix for bug 14037, make sure respondsToSelector does the write thing
- when invoked on a WebKit plugin's container view.
-
- Reviewed by Mark Rowe
-
- * Plugins/WebKitPluginContainerView.mm:
- (-[WebKitPluginContainerView respondsToSelector:]):
-
-2007-06-08 John Sullivan <sullivan@apple.com>
-
- * WebView/WebViewPrivate.h:
- Added a FIXME
-
-2007-06-07 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Tristan.
-
- <rdar://problem/5250997> A crash occurs when selecting Undo Typing for a page that has been closed in tab
-
- * WebView/WebView.mm:
- (-[WebView _clearUndoRedoOperations]): Added.
- * WebView/WebViewPrivate.h:
-
-2007-06-07 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Sam "The Intern" Weinig.
-
- Don't be overzealous with the input checks, firstRectForCharacterRange
- can be determined even when there is not an active editable region.
-
- This unbreaks editing/input/range-for-empty-document which was broken
- by aforementioned overzealousness.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView firstRectForCharacterRange:]):
-
-2007-06-07 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Justin.
-
- Add checks to make sure we don't try to create, use
- or return invalid ranges to TSM when it calls us despite
- not currently being in an editable region.
-
- * WebView/WebHTMLView.mm:
- (isTextInput):
- (-[WebHTMLView textStorage]):
- (-[WebHTMLView firstRectForCharacterRange:]):
- (-[WebHTMLView selectedRange]):
- (-[WebHTMLView attributedSubstringFromRange:]):
-
-2007-06-06 David Hyatt <hyatt@apple.com>
-
- Make sure to hand back a script object for webkit plugins (the container
- view forwards to its plugin child).
-
- Reviewed by sullivan
-
- * Plugins/WebKitPluginContainerView.h:
- * Plugins/WebKitPluginContainerView.mm:
- (-[WebKitPluginContainerView objectForWebScript]):
-
-2007-06-06 David Hyatt <hyatt@apple.com>
-
- Fix for bug 13972, quicktime doesn't respect CSS clip and overflow properties.
- Make sure that calls to [NSView visibleRect] will do the right thing for both
- Netscape plugins and WebKit plugins.
-
- Reviewed by olliej
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView visibleRect]):
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebBaseNetscapePluginView isOpaque]):
- * Plugins/WebKitPluginContainerView.h: Added.
- * Plugins/WebKitPluginContainerView.mm: Added.
- (-[WebKitPluginContainerView initWithFrame:DOMElement:]):
- (-[WebKitPluginContainerView dealloc]):
- (-[WebKitPluginContainerView visibleRect]):
- * Plugins/WebPluginController.mm:
- (-[WebPluginController destroyAllPlugins]):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView addSubview:]):
- (-[WebHTMLView willRemoveSubview:]):
-
-2007-06-04 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff and Justin.
-
- Fix for <rdar://problem/5246941> Clicking URL field on
- Safari causes halt for a minute when using input methods.
- and <rdar://problem/5245964> Safari hangs for several
- seconds when trying to select text using mouse
-
- This is a by product of the textStorage hack used to fix
- rdar://problem/5000470 -- TSM calls textStorage repeatedly
- when changing focus, on certain mouse events, etc. If there
- is no selection/editable region we repeatedly create an
- NSAttributedString from the full document. If the document is
- sufficiently long this starts consuming an inordinate amount of
- time.
-
- This check should really have been present in the original
- patch.
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView textStorage]):
-
-2007-05-31 David Hyatt <hyatt@apple.com>
-
- Fix for 11768, Flash plugin does not respect clips set by CSS.
-
- Reviewed by olliej
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
-
-2007-05-30 Mark Rowe <mrowe@apple.com>
-
- Build fixes after r21889.
-
- * ForwardingHeaders/kjs/function.h: Added.
-
-2007-05-29 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Geoff.
-
- 64-bit build fix. Ensure that use of WebNSUInteger in headers is matched by WebNSUInteger in implementations.
-
- * DefaultDelegates/WebScriptDebugServer.h:
- * DefaultDelegates/WebScriptDebugServer.m:
- (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
- (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
- * DefaultDelegates/WebScriptDebugServerPrivate.h:
- * History/WebBackForwardList.mm:
- (-[WebBackForwardList setPageCacheSize:]):
- (-[WebBackForwardList pageCacheSize]):
- * WebView/WebView.mm:
- (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
-
-2007-05-26 Darin Adler <darin@apple.com>
-
- Reviewed by Tim Hatcher.
-
- * MigrateHeaders.make: Added dependency on this makefile itself, which is
- useful when you change the sed command or other aspect of this file. My build
- failed until I made this fix.
-
-2007-05-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Fixed <rdar://problem/5055182> The page cache has no global cap.
-
- The main WebKit changes are:
- 1. Changed -[WebBackForwardList setPageCacheSize] and -[WebBackForwardList
- pageCacheSize] to accomodate the new global page cache model, updating
- their documentation.
-
- 2. Added -[WebPreferences setShouldUsePageCache] and -[WebPreferences
- shouldUsePageCache] as pending public API.
-
- 3. Centralized calculation of object cache and page cache sizes inside
- WebPreferences.
-
- Cchanged our old behavior of reading a preference and applying a fudge
- factor with a new behavior of just using the preference directly. The
- old behavior was confusing and often inappropriate. (For example, if
- you set a page cache size of 100, a 256MB machine would somewhat
- arbitrarily reduce that number to 98. ???)
-
- * WebView/WebView.mm: Added support for two flags to determine whether
- to use the page cache. If either -[WebBackForwardList setPageCacheSize:0]
- or -[WebPreferences setShouldUsePageCache:NO] is called, we don't use
- the page cache.
-
-2007-05-25 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/5219089> Changes for migration of DictionaryServices
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]): look for the HIDictionaryWindowShow symbol in HIToolbox
-
-2007-05-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fixed global initializer (like you fix a dog).
-
- I'm not sure how our script missed this. I tested, and it generally doesn't
- seem to work very well.
-
- * WebView/WebHTMLView.mm: Allocate lazily to avoid the performance hit of
- a global initializer.
- (promisedDataClient):
- (-[WebHTMLViewPrivate dealloc]):
- (-[WebHTMLViewPrivate clear]):
- (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
-
-2007-05-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- <rdar://problem/5228371> - REGRESSION - Certain mail message bodies display as empty
-
- This is due to http://trac.webkit.org/projects/webkit/changeset/21480 which unintentionally
- made applewebdata urls result in check.call(false) instead of check.call(true)
-
- Best place for a fix is to have the FrameLoaderClient::canHandleRequest() call return true, which
- really is rooted in WebView
-
- <rdar://problem/5229587> tracks adding a layout test
-
- * WebView/WebView.mm:
- (+[WebView _canHandleRequest:]): Return true for applewebdata URLs
-
-2007-05-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler, Tim Hatcher.
-
- "unsigned" => "WebNSUInteger" in public API.
-
- * History/WebBackForwardList.h:
- * WebView/WebScriptDebugDelegate.h:
- * WebView/WebUIDelegate.h:
- * WebView/WebViewPrivate.h:
-
-2007-05-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Moved JavaScriptCore-related pending public API to public API.
-
- * MigrateHeaders.make: Hack to prevent <JavaScriptCore/JSBase.h> from
- automatically converting to <WebKit/JSBase.h>
-
- Moved -windowObject and -globalContext
-
- * WebView/WebFramePrivate.h: from here
- * WebView/WebFrame.h: to here
- * WebView/WebFrame.mm: and out of its temporary category
-
- Moved -didClearWindowObject:forFrame:
-
- * WebView/WebViewPrivate.h: from here
- * WebView/WebFrameLoadDelegate.h: to here
-
-2007-05-25 John Sullivan <sullivan@apple.com>
-
- Reviewed by Anders and Tim
-
- - fixed <rdar://problem/5226000> REGRESSION: In Gmail and Mail, a hang occurs when attempting
- to grammar/spellcheck a word in a reply
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::checkGrammarOfString):
- Fixed recently-introduced false assumption that NSNotFound == -1
-
-2007-05-24 dethbakin <bdakin@apple.com>
-
- Reviewed by Geoff.
-
- Fix for <rdar://problem/5023545> QuickBooks Pro 2007:hang/crash
- after closing QuickBooks Tutorial Center with Leopard9A377
-
- We can hit a race condition where drawRect will be called after the
- WebView has closed. Quickbooks does not properly close the WebView
- and set the UIDelegate to nil, so the UIDelegate is stale and we
- crash. This is a regression because the code that uses the
- UIDelegate in the drawRect code path was only added recently. The
- method that the UIDelegate calls into is new -- it does not exist
- on Tiger -- so there is no harm in not running this code for
- applications linked against older WebKits. Other applications may
- run into this same bug so I am not doing a bundle
- check...particularly because, as I mentioned, the new UIDelegate
- call would not be implemented by older clients anyway.
-
- * Misc/WebKitVersionChecks.h:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawSingleRect:]):
-
-2007-05-24 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2007-05-24 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam, Darin, and Geoff.
-
- Fix for <rdar://problem/5000470> REGRESSION: The IM reconvert
- function returns incorrect symbol due to inconsistent range
- domains in TSM
-
- Text Services Management uses ranges provided by the
- NSTextInput API to index into the string return by
- -[WebHTMLView string]. As a result some input methods
- incorrectly get their candidate text from the beginning
- of the document instead of from the input element.
-
- TSM prefers to query -textStorage over -string so as a
- workaround we provide an implementation of -textStorage that
- returns the content of the current text input. TSM only ever
- queries the result of textStorage as an NSAttributedString so
- we do not need to implement a fake NSTextStorage class
-
- This should not cause harm to anything else as textStorage is
- actually a method on NSTextView, which we clearly are not. TSM
- only queries the method because it uses respondsToSelector to
- control behaviour.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView textStorage]):
-
-
-2007-05-24 David Harrison <harrison@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/5225343> REGRESSION: With View Source window opened, navigating to a different URL in the browser window results in a crash at WebCore::FrameLoader::frameHasLoaded()
-
- _private->loader->frameLoader() was not being nil checked.
- * WebView/WebDataSource.mm:
- (-[WebDataSource request]):
- Add nil check for _private->loader->frameLoader()
-
-2007-05-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/3663808> Resize large images to fit in the browser window
-
- Add new WebPreferences SPI.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
- (-[WebPreferences enableAutomaticImageResizing]):
- (-[WebPreferences setEnableAutomaticImageResizing:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
-
-2007-05-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin.
-
- Patch for http://bugs.webkit.org/show_bug.cgi?id=13830
- Auto-generate JS DOM bindings for HTMLDocument and most of the rest
- of HTMLElement
-
- * MigrateHeaders.make: add DOMHTMLDocumentPrivate.h
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-05-23 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff.
-
- Fix for <rdar://problem/5223782> REGRESSION: Can't drag and drop a standalone image
-
- The main resource for a standalone image webarchive has the same mimetype as the
- underlying image.
-
- * Misc/WebNSPasteboardExtras.mm:
- (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
-
-2007-05-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam.
-
- Patch for http://bugs.webkit.org/show_bug.cgi?id=13833
- Add ObjC DOM binding for HTMLMarqeeElement
-
- - Also adds missing DOMHTMLFramePrivate.
-
- * MigrateHeaders.make:
-
-2007-05-22 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff.
-
- * WebInspector/webInspector/treeoutline.js: Use ownerDocument instead of non-standard
- document property.
-
-2007-05-22 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- Adding some asserts to help detect other cases of <rdar://problem/5171145>
-
- * WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge makeFirstResponder:]):
-
-2007-05-22 Brady Eidson <beidson@apple.com>
-
- Reviewed by Kevin (Sarge)
-
- <rdar://problem/5219885> - Crash after closing a inline popup ad at http://news.yahoo.com/
-
- This regressed in http://trac.webkit.org/projects/webkit/changeset/21618
-
- * WebView/WebFrame.mm:
- (-[WebFrame dataSource]): Null check the frameloader
-
-2007-05-21 Adele Peterson <adele@apple.com>
-
- Fix by Darin, reviewed by me.
-
- Fix for <rdar://problem/5171145> Safari crashed closing tab in NSInputContext updateInputContexts
-
- * WebView/WebFrameView.mm: (-[WebFrameView _setDocumentView:]): If the old view is the first responder,
- then set the window's first responder to nil so we don't leave the window pointing to a view that's no longer in it.
-
-2007-05-21 Brady Eidson <beidson@apple.com>
-
- Making the importance of my last change more clear
-
- * WebView/WebViewPrivate.h: "Leave for Dashboard, people!"
-
-2007-05-21 Brady Eidson <beidson@apple.com>
-
- Reviewed by Kevin (Sarge)
-
- <rdar://problem/5217124> - Re-add mistakenly removed SPI
-
- * WebView/WebView.mm:
- (-[WebView handleAuthenticationForResource:challenge:fromDataSource:]):
- * WebView/WebViewPrivate.h:
-
-2007-05-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Ada.
-
- <rdar://problem/5200816> REGRESSION: With Shiira 1.2.2 , I can't open embedded link in flash object by clicking (http:/www.adobe.com )
-
- Null check the request.
-
- * WebView/WebView.mm:
- (+[WebView _canHandleRequest:]):
-
-2007-05-19 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/5205358> REGRESSION (r21367): All messages appear entirely blank when running Mail off of tip of tree WebKit
-
- The fix is to return nil from [WebFrame dataSource] when it has not loaded anything but the fake
- empty initial document. However, WebKit still needs the real data source internally, so I also
- added a [WebFrame _dataSource] method that skips this check, and made WebKit use it throughout.
-
- * Misc/WebNSAttributedStringExtras.mm:
- (fileWrapperForElement):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView dataSource]):
- * Plugins/WebNullPluginView.mm:
- (-[WebNullPluginView viewDidMoveToWindow]):
- * Plugins/WebPluginController.mm:
- (-[WebPluginController URLPolicyCheckReferrer]):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge dataSource]):
- (-[WebFrameBridge redirectDataToPlugin:]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::makeDocumentView):
- (WebFrameLoaderClient::forceLayoutForNonHTML):
- (WebFrameLoaderClient::prepareForDataSourceReplacement):
- (WebFrameLoaderClient::canCachePage):
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory bridgeForView:]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebArchiver.mm:
- (+[WebArchiver archiveFrame:]):
- (+[WebArchiver archiveMainResourceForFrame:]):
- (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
- (+[WebArchiver archiveSelectionInFrame:]):
- * WebView/WebFrame.mm:
- (-[WebFrame _loadURL:referrer:intoChild:]):
- (-[WebFrame _addChild:]):
- (-[WebFrame _dataSource]):
- (-[WebFrame DOMDocument]):
- (-[WebFrame dataSource]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
- * WebView/WebRenderNode.mm:
- (-[WebRenderNode initWithWebFrameView:]):
- * WebView/WebView.mm:
- (-[WebView _mainFrameOverrideEncoding]):
- (-[WebView mainFrameURL]):
- (-[WebView mainFrameTitle]):
- (-[WebView mainFrameIcon]):
- (-[WebView validateUserInterfaceItemWithoutDelegate:]):
- (-[WebView replaceSelectionWithArchive:]):
- (-[WebView _isLoading]):
- (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
- (-[WebView _notifyTextSizeMultiplierChanged]):
-
-2007-05-18 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Sam.
-
- Fix for http://bugs.webkit.org/show_bug.cgi?id=13782
- REGRESSION (r21528-r21533): Failing editing/selection/drag-in-iframe in pixel mode
-
- r21533 made used a DOMElement as the source for promise data, this meant it had to
- clear the dragging pasteboard following the drag. In DRT a drag is non-blocking
- so this resulted in us prematurely clearing the pasteboard.
-
- This patch avoids this problem by referencing the source CachedImage rather than the
- DOMElement, so we don't need to worry about retaining an entire document forever, so
- we don't need to clear the dragging pasteboard following the drag.
-
- * Misc/WebNSPasteboardExtras.mm:
- (imageFromElement):
- Extract the underlying CachedImage from a DOMElement
- (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
- Use a CachedImage instead of a DOMElement
-
- * WebCoreSupport/WebDragClient.mm:
- (WebDragClient::startDrag):
-
- * WebKit.xcodeproj/project.pbxproj:
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLViewPrivate dealloc]):
- (-[WebHTMLViewPrivate clear]):
- (-[WebHTMLView pasteboardChangedOwner:]):
- (-[WebHTMLView pasteboard:provideDataForType:]):
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
- (-[WebHTMLView WebCore::]):
- (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
- Use CachedImage rather than DOMElement as promised data source
-
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebHTMLViewPrivate.h:
-
-2007-05-18 Tristan O'Tierney <tristan@apple.com>
-
- Reviewed by Brady E.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::download):
- asked the webframeloaderclient for its webview's history and
- injected the originated url into the created WebDownload
-
-2007-05-18 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker
-
- Improvement to WebKit part of fix for 5201499 based on more modern understanding. (That is,
- a couple of hours more modern.)
-
- * WebView/WebUIDelegatePrivate.h:
- add showPanel: parameter to just-introduced delegate method webView:saveFrameView:
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
- pass NO for new showPanel: parameter, and update comment
-
-2007-05-18 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/5204792> REGRESSION (r21367): System widgets are drawn with vertical/horizontal scroll bars
-
- No test because the bug requires calling setAllowsScrolling: to reproduce.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView setAllowsScrolling:]): Update the FrameView's scroll state as well as the one
- on WebDynamicScrollBarsView, otherwise this setting won't stick if the frame has already loaded
- a document.
-
-2007-05-18 Geoffrey Garen <ggaren@apple.com>
-
- Fixed spelling error.
-
- * WebView/WebViewPrivate.h:
-
-2007-05-18 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker
-
- WebKit part of fix for 5201499 (support for PDFKit UI for saving PDFs to disk)
-
- Also, the PDFKit mechanism for notifying clients about "Open File Externally" was
- changed from a notification to a delegate method. The notification was new to
- Leopard, so removing it doesn't affect clients in the field.
-
- * WebView/WebUIDelegatePrivate.h:
- Declared new UI delegate method webView:saveFrameView:, analogous to the existing
- webView:printFrameView:
-
- * WebView/WebPDFView.mm:
- removed declaration of _webkit_PDFKitLaunchNotification
- (-[WebPDFView viewDidMoveToWindow]):
- don't observe _webkit_PDFKitLaunchNotification
- (-[WebPDFView viewWillMoveToWindow:]):
- ditto
- (-[WebPDFView PDFViewOpenPDFInNativeApplication:]):
- new PDFKit delegate method, replaces our use of _webkit_PDFKitLaunchNotification
- (-[WebPDFView PDFViewSavePDFToDownloadFolder:]):
- new PDFKit delegate method, calls through to new WebKit UI delegate method
-
-2007-05-17 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Justin.
-
- Fix for <rdar://problem/4244861> Safari fails to create image file
- after releasing dragged image that has changed on source page
-
- This patch fixes this bug by manually creating an NSFileWrapper from
- the TIFF promise data for a drag if it is available. This bypasses
- the problem of the required resource no longer being held due to page
- loads or other constraints.
-
- We need to leave the old path in place to allow for the case where
- the promised data is not available.
-
- * WebCoreSupport/WebDragClient.mm:
- (WebDragClient::declareAndWriteDragImage):
- Always use the top WebHTMLView as the pasteboard owner, this is
- safe as we only use the owner for resolving promised types.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _writeSelectionToPasteboard:]):
- (-[WebHTMLView writeSelectionToPasteboard:types:]):
- Always use the top WebHTMLView as the pasteboard owner.
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
- Add path to create NSFileWrapper from promise data.
-
-2007-05-17 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Fix for <rdar://problem/4343832> Trying to drag a large 6.2MB jpeg image
- out of Safari is unexpectedly slow (4 copies of image plus RTF document on pasteboard)
-
- This patch causes the construction of the RTF and TIFF data to be delayed until requested.
-
- We delay TIFF construction from a DOMElement as this may require generating TIFF data
- from the CachedImage, which is slow. To allow the TIFF data to be created later the
- it's necessary to add a reference to the source DOMElement to the view.
-
- * Misc/WebNSPasteboardExtras.h:
- * Misc/WebNSPasteboardExtras.mm:
- (-[NSPasteboard _web_writePromisedRTFDFromArchive:containsImage:]):
- Implements the delayed write of RTF data
- (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
- Set up the pasteboard to allow the data writing to be delayed
- (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
- Now we need to pass the WebHTMLView on to _web_writeImage:element:URL:title:archive:types:source:
- * WebCoreSupport/WebDragClient.mm:
- (WebDragClient::startDrag):
- Clear the dragging pasteboard once the drag has ended to ensure we don't hold references
- to anything longer than we need to.
- (WebDragClient::declareAndWriteDragImage):
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLViewPrivate dealloc]):
- (-[WebHTMLViewPrivate clear]):
- (-[WebHTMLView pasteboardChangedOwner:]):
- Make sure we clear out the DOMElement reference once it is no longer needed
- (-[WebHTMLView pasteboard:provideDataForType:]):
- Provide delayed data
- (-[WebHTMLView _writeSelectionToPasteboard:]):
- Make sure we set pasteboard ownership correctly
- (-[WebHTMLView promisedDragTIFFDataSource]):
- (-[WebHTMLView setPromisedDragTIFFDataSource:]):
- (-[WebHTMLView writeSelectionToPasteboard:types:]):
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebHTMLViewPrivate.h:
-
- * WebView/WebView.mm:
- (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
-
-2007-05-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari
-
- Update for WebCore changes.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _loadURL:referrer:intoChild:]):
-
-2007-05-15 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Sam and Geoff.
-
- Removing dead code left behind from drag and drop refactoring.
-
- * WebCoreSupport/WebFrameBridge.mm:
- * WebView/WebHTMLView.mm:
- * WebView/WebHTMLViewPrivate.h:
-
-2007-05-15 Bruce Q Hammond <bruceq@apple.com>
-
- Reviewed by Darin.
-
- Correction of previous patch for http://bugs.webkit.org/show_bug.cgi?id=13578
- This corrects the sign of the Y-Axis origin adjustment.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
-
-2007-05-15 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Patch: fixed <rdar://problem/5198890> .5% performance regression caused
- by r21307
-
- The only code r21307 added that runs during the PLT is a frame load delegate
- -respondsToSelector: call inside windowObjectCleared(), so it seems like
- our message dispatch overhead for the frame load delegate is significant.
-
- This patch is a straight port of Maciej's fix for the same problem in the
- resource load delegate. The solution is simple enough: don't use Objective-C.
- Instead, use a special structure that caches which methods the delegate
- implements, along with pointers to those methods.
-
- I verified each frame load delegate callback in the debugger, except for
- -webView:didFailLoadWithError:forFrame:, which is not implemented by Safari
- or DumpRenderTree.
-
- * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.h: Removed.
- * WebKit/DefaultDelegates/WebDefaultFrameLoadDelegate.m: Removed.
-
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge windowObjectCleared]): I also removed a misleading
- comment here. The JS debugger caches the windowScriptObject, so you do
- need to re-create the debugger every time you invalidate the old
- WebScriptObject wrapper for the window object and create a new one, or
- the debugger will stop working. We could fix this in a number of ways,
- but <rdar://problem/4608404> is not the key issue.
-
-2007-05-15 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Hyatt and Lars.
-
- - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource request]): Return nil when we are still showing the initial empty doc
-
-2007-05-14 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Updated for WebCore move to PageCache singleton. Also removed some WebCore::
- prefixes and replaced them with 'using namespace WebCore'.
-
- * History/WebHistoryItem.mm:
- (+[WebHistoryItem _releaseAllPendingPageCaches]):
- (-[WebWindowWatcher windowWillClose:]):
-
-2007-05-13 Darin Adler <darin@apple.com>
-
- - one more retain/release for a tiny bit more robustness
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView _updatePreferences:]): [prefs release]
- (-[WebPDFView _updatePreferencesSoon]): [prefs retain]
-
-2007-05-13 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff.
-
- - fix <rdar://problem/5188400> Webkit crashes going back from PDF at perl.org site
-
- * WebView/WebPDFView.h: Replace _updatePreferencesTimer with _willUpdatePreferencesSoon BOOL.
- Also remove unneeded @public that gives other classes access to our dataSource member.
-
- * WebView/WebPDFView.mm: Rearrange top of file a bit, remove forward declaration of the
- _cancelUpdatePreferencesTimer method.
- (-[WebPDFView dealloc]): Removed call to _cancelUpdatePreferencesTimer.
- (-[WebPDFView _updatePreferencesNow:]): Added WebPreferences parameter. This sidesteps problems
- where the dataSource is no longer present by not looking at the dataSource field at all.
- Also removed the call to _cancelUpdatePreferencesTimer, added code to set _willUpdatePreferencesSoon
- to NO and added a release to balance a retain I did in _updatePreferencesSoon.
- (-[WebPDFView _updatePreferencesSoon]): Changed to use performSelectorAfterDelay instead of
- an NSTimer. Pass in the preferences object as a parameter, since we might not be able to get to
- the dataSource when the timer fires.
-
-2007-05-10 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.
-
-2007-05-10 Adele Peterson <adele@apple.com>
-
- Reviewed by Hyatt.
-
- WebKit part of fix for <rdar://problem/4100616> Doing a "find" in RSS doesn't scroll to result
-
- Updated to use selectionRect instead of visibleSelectionRect. selectionRect() now returns the visible rect by default.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
- (-[WebHTMLView selectionImageRect]):
-
-2007-05-10 dethbakin <bdakin@apple.com>
-
- Reviewed by Darin.
-
- Fix for <rdar://problem/5191941> Leopard: Adobe Acrobat 8:
- Distiller 8 needs same check fix as 4992521
-
- * WebView/WebView.mm:
- (-[WebView _updateWebCoreSettingsFromPreferences:]): Adobe
- Distiller needs the same quirk.
-
-2007-05-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver.
-
- - WebKit part of fix for:
- <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
- <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
-
- The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
- so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
-
- However, this caused many regressions so I had to fix the fallout.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::takeFocus): Avoid focus cycle problems (can happen in DumpRenderTree
- with initial empty document now).
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]): init the frame.
- (-[WebFrameBridge determineObjectFromMIMEType:URL:]): return image type when appropriate
- * WebView/WebFrame.mm:
- (-[WebFrame stopLoading]): use stopForUserCancel().
- * WebView/WebFrameView.mm:
- (-[WebFrameView _makeDocumentViewForDataSource:]): assume html when no mime type available.
- * WebView/WebView.mm:
- (-[WebView becomeFirstResponder]): Track whether we are becoming first responder from
- outside the view.
- (-[WebView _becomingFirstResponderFromOutside]): Return this value.
- * WebView/WebViewInternal.h:
-
-2007-05-09 Oliver Hunt <oliver@apple.com>
-
- rs=Adele.
-
- The previous patch (r21346) broke editing, rolling out
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
- (-[WebHTMLView doCommandBySelector:]):
-
-2007-05-09 Adele Peterson <adele@apple.com>
-
- Reviewed by Oliver.
-
- Re-applying fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
- http://bugs.webkit.org/show_bug.cgi?id=13263
-
- We don't need to call interpretKeyEvents for cmd-key events as
- they events will be interpreted by performKeyEquivalent.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
- (-[WebHTMLView doCommandBySelector:]):
-
-2007-05-09 Mark Rowe <mrowe@apple.com>
-
- Build fix to keep the buildbot happy.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
-
-2007-05-08 Bruce Q Hammond <bruceq@apple.com>
-
- Reviewed by Darin.
-
- http://bugs.webkit.org/show_bug.cgi?id=13578
- Bug 13578: When QD plugins draw to an offscreen bitmap the origin is not correct
-
- Now we have correct handling of the origin when QD plugins draw to
- offscreen bitmaps.
- Also the clipping code for this path was doing unnecessary work which
- caused incorrect results; it has been removed.
-
- This change should not affect Safari and in general will only affect
- plugins (e.g. Flash) drawing to a CGBitmapContext.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
-
-2007-05-08 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin.
-
- Implemented spelling/grammar related WebEditorClient methods.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::ignoreWordInSpellDocument): Added. Call through to NSSpellChecker.
- (WebEditorClient::learnWord): Added. Call through to NSSpellChecker.
- (WebEditorClient::checkSpellingOfString): Added. Call through to NSSpellChecker.
- (WebEditorClient::checkGrammarOfString): Added. Call through to NSSpellChecker.
- (WebEditorClient::updateSpellingUIWithGrammarString): Added. Call through to NSSpellChecker.
- (WebEditorClient::updateSpellingUIWithMisspelledWord): Added. Call through to NSSpellChecker.
- (WebEditorClient::showSpellingUI): Added. Call through to NSSpellChecker.
- (WebEditorClient::spellingUIIsShowing): Added. Call through to NSSpellChecker.
- (WebEditorClient::getGuessesForWord): Added. Call through to NSSpellChecker.
-
-2007-05-08 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Ada.
-
- Slight modification to last editor method fix.
-
- * WebCoreSupport/WebEditorClient.h:
- (WebEditorClient::updateSpellingUIWithGrammarString):
-
-2007-05-07 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Fixed <rdar://problem/5140447> API for fetching JSGlobalContextRef from
- WebView or WebFrame
-
- Added -[WebFrame windowObject] and -[WebFrame globalContext], along with
- a new frame load delegate method, - (void)webView:(WebView *)webView
- didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame.
- This is all to support briding between the WebScriptObject and JavaScriptCore
- APIs.
-
- Also fixed more of <rdar://problem/4395622> API: WebScriptObject.h incorrectly
- reports that -isSelectorExcludedFromWebScript returns NO by default, and
- generally cleaned up the WebScriptObject headerdoc.
-
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge windowObjectCleared]):
- * WebView/WebFrame.mm:
- (-[WebFrame windowObject]):
- (-[WebFrame globalContext]):
- * WebView/WebFramePrivate.h:
- * WebView/WebViewPrivate.h:
-
-2007-05-07 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5180384> webView:validateUserInterfaceItem:defaultValidation: does not get called on WebUIDelegates
-
- Call the delegate when the one of our views gets a validateUserInterfaceItem: call.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
- (-[WebHTMLView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
- * WebView/WebPDFView.mm:
- (-[WebPDFView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
- (-[WebPDFView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
- * WebView/WebView.mm:
- (-[WebView _responderValidateUserInterfaceItem:]): Call validateUserInterfaceItemWithoutDelegate: to prevent asking the delegate twice.
- (-[WebView validateUserInterfaceItemWithoutDelegate:]): Validate without the delegate.
- (-[WebView validateUserInterfaceItem:]): Call the delegate with the result of validateUserInterfaceItemWithoutDelegate:.
-
-2007-05-07 Brady Eidson <beidson@apple.com>
-
- Actually finish the code move from my last checkin
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem _transientPropertyForKey:]):
- (-[WebHistoryItem _setTransientProperty:forKey:]):
-
-2007-05-07 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Kevin (Sarge)
-
- Make _transientPropertyForKey: and _setTransientProperty:forKey: SPI
-
- * History/WebHistoryItemInternal.h:
- * History/WebHistoryItemPrivate.h:
-
-2007-05-04 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Tim Hatcher.
-
- First step in fixing <rdar://problem/5055182> The back cache has no global cap
-
- Stop giving SnapBack infinite cache-ability. Instead, make SnapBack rely
- on the underlying back cache.
-
- I left -setAlwaysAttemptToUsePageCache: as an empty stub because we don't
- want to break Safari 2.0, but I removed its header declaration so nobody
- else starts using it.
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
- * History/WebHistoryItemPrivate.h:
-
-2007-05-04 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Brady Eidson.
-
- Some cleanup in preparation for fixing <rdar://problem/5055182> The
- back/forward cache has no global cap
-
- Unified naming of WebKit/WebCore b/f lists -- instead of the potpourri
- of webBackForwardList, backForwardList, list, kitList, coreList, listWrapper,
- and webCoreBackForwardList, we use webBackForwardList for WebKit and
- backForwardList for WebCore, matching their respective class names.
-
- Removed "private" versions of kit() and core() -- kit() and core() are
- canonically used for converting between WebKit API objects and WebCore
- API objects. I think it's clearer to have only one way to do this.
-
- Removed COMPUTE_DEFAULT_PAGE_CACHE_SIZE, since it was unused.
-
- Removed _clearPageCache, since it was unused and it duplicated -setPageCacheSize:0.
-
- Removed _usesPageCache, since it was unused and it duplicated -pageCacheSize.
-
-2007-05-04 Brady Eidson <beidson@apple.com>
-
- Reviewed by Mark Rowe
-
- Added main thread assertion to WebHTMLView to help make sure 3rd party clients aren't trying
- to draw on secondary threads
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawRect:]): Added ASSERT_MAIN_THREAD()
-
-2007-05-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Antti.
-
- <rdar://problem/5179977> Use the correct URLs when dispatching delegate methods for data loads.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
- If the base URL is nil, set it to "about:blank", and set the response URL to a generated applewebdata URL.
-
- * WebView/WebView.mm:
- (+[WebView _canHandleRequest:]):
- No need to special-case applewebdata URLs here anymore, they're only used in responses.
-
-2007-05-03 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Oliver.
-
- Add missing user description parameter to spelling-related editor client method.
-
- * WebCoreSupport/WebEditorClient.h:
- (WebEditorClient::updateSpellingUIWithGrammarString):
-
-2007-05-03 TImothy Hatcher <timothy@apple.com>
-
- Reviewed by Kevin.
-
- <rdar://problem/4975212> REGRESSION: With NetNewsWire 2.1.1, the contextual menu shows extra menu items when focus
- is placed in input or textarea field
-
- The NetNewsWire UI delegate isn't expecting calls for form controls, so we need to do a linked-on-or-after check.
- If the application was linked against Tiger or earlier and the element is a text form control, just return the
- default menu items and bypass the delegate call completely.
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (isPreVersion3Client): Cache the result of the WebKitLinkedOnOrAfter call
- (fixMenusToSendToOldClients): Call the new isPreVersion3Client()
- (fixMenusReceivedFromOldClients): Ditto.
- (WebContextMenuClient::getCustomMenuFromDefaultItems): Return the default menu items if the element is a text form control.
-
-2007-05-03 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Geoff and Kevin.
-
- <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients
-
- Second shot at fixing this error. Stub out the macros rather than forwarding to JavaScriptCore, which would
- leave clients using this header trying to resolve JavaScriptCore symbols against WebKit when linking. This
- should only happen in production builds when assertions should be disabled anyway as anyone building a
- development configuration should be in a position to move away from using this header.
-
- * Misc/WebAssertions.h:
-
-2007-05-03 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Kevin.
-
- <rdar://problem/5067707> REGRESSION: "Open Link" contextual menu item appears twice in Mail
-
- Remove the check for Mail in fixMenusToSendToOldClients and fixMenusReceivedFromOldClients
- when linked on or after Leopard. The isAppleMail() function is still used for Tiger Mail fixups.
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (fixMenusToSendToOldClients):
- (fixMenusReceivedFromOldClients):
-
-2007-05-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Brady.
-
- <rdar://problem/5151113> Assertion firing in [FrameProgressEntry addChild:forDataSource:] when navigating cnn.com
-
- The assertion fired because a plug-in was trying to load a subresource when a new load had started but not yet
- committed. The check that would have prevented this was removed in order to fix <rdar://problem/5085897>.
-
- This puts back the check but changes it to allow loads where the target is the same frame as the plugin's parent frame.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
-
-2007-04-27 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- There were only a couple calls to ResourceLoadDelegate forwarder left,
- this removes the calls and adds a new cached method for didFailLoad.
-
- * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.h: Removed.
- * WebKit/DefaultDelegates/WebDefaultResourceLoadDelegate.m: Removed.
- * WebKit/Plugins/WebNullPluginView.mm: Call the resource load delegate directly.
- * WebKit/WebCoreSupport/WebFrameLoaderClient.mm: Call the cached didFailLoad delegate function.
- * WebKit/WebKit.xcodeproj/project.pbxproj: Remove WebDefaultResourceLoadDelegate.
- * WebKit/WebView/WebDataSource.mm: Remove the #import for WebDefaultResourceLoadDelegate.h
- * WebKit/WebView/WebView.mm: Remove the ResourceLoadDelegate forwarder, and remove a method that isn't used.
- * WebKit/WebView/WebViewInternal.h: Ditto.
- * WebKit/WebView/WebViewPrivate.h: Remove a method that is no longer used.
-
-2007-04-27 David Harrison <harrison@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5160627> Export JS list creation support as ObjC SPI for Mail
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _selectedRange]):
- (-[WebHTMLView _shouldDeleteRange:]):
- (-[WebHTMLView _canEdit]):
- (-[WebHTMLView _canEditRichly]):
- (-[WebHTMLView _hasSelection]):
- (-[WebHTMLView _hasSelectionOrInsertionPoint]):
- (-[WebHTMLView _hasInsertionPoint]):
- (-[WebHTMLView _isEditable]):
- Condense the check for nil [self frame].
- Remove canEditRichly checks and rely on the editor to do the check instead.
-
- (-[WebHTMLView _insertOrderedList]):
- (-[WebHTMLView _insertUnorderedList]):
- New.
-
- (-[WebHTMLView _canIncreaseSelectionListLevel]):
- (-[WebHTMLView _canDecreaseSelectionListLevel]):
- (-[WebHTMLView _increaseSelectionListLevel]):
- (-[WebHTMLView _increaseSelectionListLevelOrdered]):
- (-[WebHTMLView _increaseSelectionListLevelUnordered]):
- (-[WebHTMLView _decreaseSelectionListLevel]):
- Moved from bridge to frame editor.
-
- * WebView/WebHTMLViewPrivate.h:
- Add _insertOrderedList and _insertUnorderedList to WebHTMLView(WebPrivate)
-
-2007-04-27 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Mark
-
- Remove default implementation of UIDelegate method that was removed
-
- I have also been instructed to give Tim a hard time about this one - apparently
- it was his job to clean it out and he failed... failed miserably.
-
- :)
-
- * DefaultDelegates/WebDefaultUIDelegate.m: Removed webViewPrint:
-
-2007-04-27 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Mark.
-
- <rdar://problem/5154113> Repro ASSERT (would be crash) in KJS::GCLock::GCLock (13462)
- http://bugs.webkit.org/show_bug.cgi?id=13462
-
- * WebInspector/WebInspector.m:
- (-[WebInspectorPrivate dealloc]): Delay release of WebView to avoid GC re-entrancy.
-
-2007-04-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mitz.
-
- <rdar://problem/5165755>
- View Source is broken; empty window is shown
-
- Return YES for applewebdata URLs.
-
- * WebView/WebView.mm:
- (+[WebView _canHandleRequest:]):
-
-2007-04-26 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Fix <rdar://problem/5061252> REGRESSION: In Gmail, image fails
- to be inserted into message field after dragging
-
- Don't try to create <img> tags for local image files as it results
- in the potential to submit forms that look like they have an image,
- when in reality they don't.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _documentFragmentWithPaths:]):
-
-2007-04-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/5049099> documents no longer have a default base URL
-
- If the base URL is nil, then create a unique applewebdata URL to match what Tiger WebKit does.
-
- * WebView/WebFrame.mm:
- (createUniqueWebDataURL):
- (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
-
-2007-04-25 Oliver Hunt <oliver@apple.com>
-
- Rubber stamped by Adele.
-
- Roll out WebKit changes from from r21052 to fix regression noted in
- <rdar://problem/5159556> REGRESSION: In Mail, pressing option-command- ' doesn't decrease block quote in selection
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]):
- (-[WebHTMLView doCommandBySelector:]):
-
-2007-04-25 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- Mac callbacks for new spelling methods in WebEditorClient.
- Not used yet.
-
- * WebCoreSupport/WebEditorClient.h:
- (WebEditorClient::ignoreWordInSpellDocument):
- (WebEditorClient::learnWord):
- (WebEditorClient::checkSpellingOfString):
- (WebEditorClient::checkGrammarOfString):
- (WebEditorClient::updateSpellingUIWithGrammarString):
- (WebEditorClient::updateSpellingUIWithMisspelledWord):
- (WebEditorClient::showSpellingUI):
- (WebEditorClient::spellingUIIsShowing):
- (WebEditorClient::getGuessesForWord):
-
-2007-04-24 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler, Tim Hatcher.
-
- Fixed a few NSAutoreleasePool issues I noticed while reviewing Brady's patch.
-
- * Carbon/CarbonUtils.m:
- (PoolCleaner): Call -drain instead of -release, since -release is a
- no-op in a GC world.
-
- * Misc/WebKitErrors.m:
- (registerErrors): Condensed onto one line.
-
- * Plugins/WebPluginDatabase.m:
- (-[WebPluginDatabase refresh]): Call -drain instead of -release, since
- -release is a no-op in a GC world.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::setStatusbarText):
-
- * WebInspector/WebNodeHighlightView.m:
- (-[WebNodeHighlightView initWithHighlight:andRects:forView:]): Don't drain
- and then release because drain deallocates the receiver, so the release
- is an over-release.
-
- * WebView/WebView.mm:
- (-[WebView rectsForTextMatches]): Re-allocate the pool after draining it,
- because drain deallocates the receiver, so the drain would leave you without
- any autorelease pool, causing a leak and then an over-release at the bottom
- of the loop.
-
-2007-04-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Beth, Hyatt, Ada, and Darin
-
- <rdar://problem/5011477> and <rdar://problem/5011514>
- Provide support for the icon.db to be moved to a different directory from the old WebKit-style
- icons, and remove the old directory if that is the case
-
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase init]):
- (-[WebIconDatabase _importToWebCoreFormat]): Check "imported()" to determine if a conversion is needed
- - Look for WebIconDatabaseImportDirectoryDefaultsKey for the source location for the conversion
- - Set "imported" to true in the Icons.db
- - If the new Icons.db isn't in the same patch as the old icons, delete the entire directory when finished
- - Move old icon.db to Icons.db to reflect rename
- * Misc/WebIconDatabasePrivate.h: Add WebIconDatabaseImportDirectoryDefaultsKey so a WebKit client can tell WebKit
- where to look for the old icons if their location is different from the icon.db
- * WebKit.exp:
-
-2007-04-24 Mitz Pettel <mitz@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Changed an apostrophe (') into a right single quotation mark (U+2019).
-
- * WebInspector/webInspector/inspector.js:
-
-2007-04-24 Mitz Pettel <mitz@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=13459
- The "mapped style" link next to an attribute doesn't work
-
- * WebInspector/webInspector/inspector.js: Added a check that the rule is
- mapped from an attribute.
-
-2007-04-23 Adele Peterson <adele@apple.com>
-
- Fixed and reviewed by Darin, Adele, and Oliver.
-
- WebKit part of fix for <rdar://problem/5107538> REGRESSION: Page scroll when selecting characters from inline input candidate window by arrow buttons
- http://bugs.webkit.org/show_bug.cgi?id=13263
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): If we have no command after calling interpretKeyEvents, we assume the input method handled the key.
- (-[WebHTMLView doCommandBySelector:]): Add noop: to the command vector, but then when actually performing actions, ignore it.
-
-2007-04-23 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5124364> IB3 crashes when loading a nib containing a WebView that has a WebHTMLView encoded inside
-
- Since WebView's initWithCoder throws away all the decoded subviews, the WebHTMLView gets dealoced while it has a nil _private pointer.
- Checking for a nil _private in WehHTMLView's close fixes this crash. No need to implement a full initWithCoder for WebHTMLView since
- it will be thrown away by the WebView anyway.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView close]): Return earily if _priviate is nil.
- (-[WebHTMLView initWithFrame:]): Unrelated change that removes an AppKit version check that predates Tiger.
-
-2007-04-23 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mark Rowe.
-
- Remove the "No Selection" message after leaving search mode.
- This was a regression caused by the inspector refresh.
-
- * WebInspector/webInspector/inspector.js:
-
-2007-04-23 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Bug 6658: World leak when closing inspected window
- http://bugs.webkit.org/show_bug.cgi?id=6658 and <rdar://problem/4411863>
-
- Removes over-retains of the inspector WebView, WebInspector and WebInspectorPanel.
-
- * WebInspector/WebInspector.m:
- (+[WebInspector sharedWebInspector]): Return the global sharedWebInspector variable.
- (-[WebInspector window]): Release the window after calling setWindow:.
- (-[WebInspector windowWillClose:]): Set the JavaScript Inspector variable to null and expire the current highlight.
- Also clear the global sharedWebInspector variable and release it if self equals sharedWebInspector.
- (-[WebInspector showWindow:]): Set the JavaScript Inspector variable back to self.
- * WebInspector/WebInspectorInternal.h: Remove the isSharedInspector member variable.
- * WebView/WebView.mm:
- (-[WebView windowScriptObject]): Return nil if core([self mainFrame]) is NULL.
-
-2007-04-23 Darin Adler <darin@apple.com>
-
- Reviewed by Hyatt.
-
- - rename box-sizing to -webkit-box-sizing
-
- * WebInspector/webInspector/inspector.css: Here.
- * WebInspector/webInspector/inspector.js: And here, in the expected default CSS values list.
-
-2007-04-22 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- The fix for <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
- was #ifdefed out in Production builds.
-
- * WebView/WebView.mm:
- (+[WebView initialize]): Move the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM inside initialize around the specific code
- (+[WebView _applicationWillTerminate]): Moved outside the #ifdef REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM block
-
-2007-04-22 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mitz.
-
- Bug 13436: Make Option-clicking a disclosure triangle expand the entire subtree
- http://bugs.webkit.org/show_bug.cgi?id=13436
-
- Makes option-click recursively expand and collapse the sub-tree. Pressing option-left
- and -right also recursively expands and collapses the sub-tree.
-
- * WebInspector/webInspector/treeoutline.js:
-
-2007-04-22 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mitz.
-
- Bug 13437: Inspector does not update when navigating to a different page
- http://bugs.webkit.org/show_bug.cgi?id=13437
-
- * WebInspector/webInspector/inspector.js: Correctly update to a new root node
- if the new focus node and the old focus node don't have a common ancestor.
-
-2007-04-22 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - fix for <rdar://problem/5100240> REGRESSION: Control-O broken
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Update to handle a vector of
- command names instead of a single command.
- (-[WebHTMLView doCommandBySelector:]): Change logic so that we add the command to a vector
- and also so that the interpretKeyEvents parameters are still intact for a second call to
- doCommandBySelector:, since the key bindings mechanism can do more than one.
- (-[WebHTMLView insertText:]): Added comment.
-
-2007-04-21 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver.
-
- - fix some problems I ran into using the inspector
-
- * WebInspector/webInspector/inspector.js: Add some null checks.
-
-2007-04-20 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Merge over the WebInspectorRefresh branch. This change removes the NSOutlineView and
- is replaced with a HTML/JavaScript tree. Most of the inspector logic is now in the JavaScript.
-
- A few bugs are fixed by these changes:
-
- Bug 6615: Parent node drop-down list is upside-down
- http://bugs.webkit.org/show_bug.cgi?id=6615
-
- Bug 6643: REGRESSION: Tree view repaints lines without erasing them first
- http://bugs.webkit.org/show_bug.cgi?id=6643
-
- Bug 6650: Web Inspector HTML Hierarchy can't be scrolled with scrollwheel
- http://bugs.webkit.org/show_bug.cgi?id=6650
-
- Bug 6677: Can't drag inspector when tree view has focus
- http://bugs.webkit.org/show_bug.cgi?id=6677
-
- Bug 7326: Web Inspector tree scrollbar always shows up when resizing the top pane down
- http://bugs.webkit.org/show_bug.cgi?id=7326
-
- * WebInspector/WebInspector.h: Removed the searchQuery methods.
- * WebInspector/WebInspector.m: Removed the DOMNode category and code for the old outline view.
- * WebInspector/WebInspectorOutlineView.h: Removed.
- * WebInspector/WebInspectorOutlineView.m: Removed.
- * WebInspector/WebInspectorInternal.h: Remove some methods and instance variables.
- * WebInspector/webInspector/Images/resize.png: Added.
- * WebInspector/webInspector/inspector.css:
- * WebInspector/webInspector/inspector.html: Include the new classes and remove the plugin.
- * WebInspector/webInspector/inspector.js: Changes to use the new tree outline and other fixes.
- * WebInspector/webInspector/scrollarea.js: Copied from the Dashboard widget resources.
- * WebInspector/webInspector/scrollbar.js: Ditto.
- * WebInspector/webInspector/treeoutline.js: New tree outline class.
- * WebInspector/webInspector/utilities.js: DOM and String prototype additions.
- * WebKit.xcodeproj/project.pbxproj: Remove WebInspectorOutlineView.
-
-2007-04-20 Brady Eidson <beidson@apple.com>
-
- Reviewed by Oliver (Black Sheep)
-
- <rdar://problem/3559794>
- [WebView setMaintainsBackForwardList:] doesn't actually flush out the current page caches
-
- * WebView/WebView.mm: Remove _private->useBackForwardList
- (-[WebView _setInitiatedDrag:]): Use _private->page instead of [self page]
- (-[WebView initWithCoder:]): Manipulate the flag that is now in WebCore::BackForwardList
- (-[WebView encodeWithCoder:]): Ditto
- (-[WebView backForwardList]): Use _private->page instead of [self page]
- (-[WebView setMaintainsBackForwardList:]): Manipulate the flag that is now in WebCore::BackForwardList
-
-2007-04-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/5085897> REGRESSION: Some Flash links at www.jumpskyhigh.com just reload the page
-
- Get rid of the check that would prevent plugin requests from being loaded if a new page load was underway.
- www.jumpskyhigh.com had a flash movie that was embedded inside an <a> tag and clicking on the plug-in would cause the
- URL pointed to by the <a> tag to start loading and thus preventing the plug-in from loading the real URL.
-
- This check was added by Maciej and we should be able to remove it with the loader changes that have happened now,
- (mainly the fact that resource loaders are handled by the document loader instead of the frame loader).
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
-
-2007-04-19 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Fix for <rdar://problem/4960912> -- REGRESSION: Content-Disposition:
- filename is ignored for drag-and-drop.
-
- * WebView/WebResource.mm:
- (-[WebResource _fileWrapperRepresentation]):
- When creating the NSFileWrapper check the response for a preferred
- filename, rather than just blindly hoping for the best.
-
-2007-04-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/5137002>
- REGRESSION (r20812): [WebFrame DOMDocument] is returning non-nil value in bookmarks view, causing trouble in Safari
-
- Put back the MIME type check as a workaround.
- * WebView/WebFrame.mm:
- (-[WebFrame DOMDocument]):
-
-2007-04-19 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver and Adam.
-
- <rdar://problem/5141290> WebAssertions.h is still needed by some internal clients.
-
- * Misc/WebAssertions.h: Added.
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-04-17 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim
-
- <rdar://problem/5008925>
- Expose the NSURLConnection delegate willCacheResponse API to WebResourceLoadDelegate
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::willCacheResponse): Call
- [WebResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:];
-
- * WebView/WebView.mm:
- (-[WebView _cacheResourceLoadDelegateImplementations]): Pull out the willCacheResponse impl
-
- * WebView/WebViewPrivate.h: Add WebResourceLoadDelegatePrivate category for this new SPI
-
-2007-04-18 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adam
-
- - fixed <rdar://problem/5103009> REGRESSION: Activity window shows blank name for untitled pages
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation title]):
- return nil for empty string, to match old behavior
-
-2007-04-17 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Hatcher
-
- - fixed <rdar://problem/5138492> Safari doesn't remember some changes to the PDF scale and display mode
-
- Some of the user interactions that could change the PDF scale and display mode were not going through
- the proxy mechanism in WebPDFView that updates preferences. Now we also listen to PDFKit notifications
- in order to catch the other cases.
-
- * WebView/WebPDFView.h:
- new _ignoreScaleAndDisplayModeNotifications and _updatePreferencesTimer ivars
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView setPDFDocument:]):
- ignore scale and display mode notifications while we're setting up a fresh document
- (-[WebPDFView dealloc]):
- cancel the new timer (which releases it)
- (-[WebPDFView viewDidMoveToWindow]):
- listen for two PDFKit notifications
- (-[WebPDFView viewWillMoveToWindow:]):
- stop listening to the two PDFKit notifications
- (-[WebPDFView _applyPDFDefaults]):
- white space change
- (-[WebPDFView _cancelUpdatePreferencesTimer]):
- invalidate, release, and nil out the timer
- (-[WebPDFView _scaleOrDisplayModeChanged:]):
- update preferences soon, unless deliberately ignoring these notifications
- (-[WebPDFView _updatePreferencesNow]):
- cancel timer, then save data to preferences (code for saving the data was extracted from
- -[PDFPrefUpdatingProxy forwardInvocation:])
- (-[WebPDFView _updatePreferencesSoon]):
- use timer to consolidate multiple calls into one action; formerly we were setting preferences
- multiple times for some atomic user actions
- (-[PDFPrefUpdatingProxy forwardInvocation:]):
- call _updatePreferencesSoon where we used to immediately set preferences
-
-2007-04-17 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker
-
- - fixed <rdar://problem/4184640> "Look Up in Dictionary" item is always disabled for PDF pages
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView validateUserInterfaceItem:]):
- enable "Look Up in Dictionary" only if we're using a version of PDFKit that knows how to do so
- (-[WebPDFView _canLookUpInDictionary]):
- use respondsToSelector to test whether the current version of PDFKit supports this non-API feature
- (-[WebPDFView _lookUpInDictionaryFromMenu:]):
- implement this method, which WebKit includes in the context menu when there's selected text
- (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
- updated comment for this change
-
-2007-04-16 Darin Adler <darin@apple.com>
-
- Rubber stamped by Tim Hatcher.
-
- * WebKit.xcodeproj/project.pbxproj: Added Radar bug number to the error message
- for the "version number ending in 4" check so folks from Apple can find the
- original bug that motivated for this. To summarize what's in that bug, it says that
- <http://my.fedex.com> was failing, that it was because of the OpenCube DHTML Menu,
- and that some other affected sites were not using OpenCube (so the error is presumably
- more widespread).
-
-2007-04-16 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=13303
- <rdar://problem/5126341> REGRESSION: controls in a background Safari window
- maintain active appearance if the address bar has focus (13303)
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView _windowChangedKeyState]):
- Added. Calls FrameView::updateControlTints.
-
-2007-04-13 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Due to rdar://problem/5133910 -- WebArchives should not be constructed
- using resource from the cache -- We may try to create a potentially
- incorrect WebArchive when dragging an image multiple times.
-
- This patch retains the assertion for invalid behaviour, but adds a
- branch to make sure we don't try to do anything with the WebArchive
- in release builds.
-
- * Misc/WebNSPasteboardExtras.mm:
- (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
-
-2007-04-13 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Dave Harrison.
-
- <rdar://problem/5132727> Soho Mail build fails because of renamed SPI
-
- * WebView/WebUIDelegatePrivate.h: define WebMenuItemTagSearchInGoogle as OldWebMenuItemTagSearchWeb
-
-2007-04-13 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver.
-
- <rdar://problem/5130686> Using WebPreferencesPrivate.h requires modifying framework search path
-
- * WebView/WebPreferencesPrivate.h: Remove unneeded #ifdef.
-
-2007-04-12 Deneb Meketa <dmeketa@adobe.com>
-
- Reviewed by Darin Adler.
-
- http://bugs.webkit.org/show_bug.cgi?id=13029
- rdar://problem/4994849
- Bug 13029: Permit NPAPI plug-ins to see HTTP response headers.
-
- * Plugins/WebBaseNetscapePluginStream.h: declarations.
- * Plugins/WebBaseNetscapePluginStream.mm: main implementation.
- (-[WebBaseNetscapePluginStream dealloc]): cleanup.
- (-[WebBaseNetscapePluginStream finalize]): cleanup.
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
- Pass headers along.
- (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
- Main work is here. Extract headers from NSHTTPURLResponse object into a byte sequence.
- See comments here about how it would be nice to have low-level access to the HTTP response.
- (-[WebBaseNetscapePluginStream _destroyStream]): cleanup.
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
- Conform to new startStream params. Not applicable here, pass nil.
-
-2007-04-12 Brady Eidson <beidson@apple.com>
-
- Build fix for case sensitive file systems
-
- * Misc/WebNSPasteboardExtras.mm:
- * WebCoreSupport/WebPasteboardHelper.mm:
-
-2007-04-11 John Sullivan <sullivan@apple.com>
-
- Reviewed by Anders
-
- - WebKit part of fix for:
- <rdar://problem/5128697> REGRESSION: At least one PDF context menu item isn't appearing on Leopard
-
- * Misc/WebNSArrayExtras.h: Added.
- * Misc/WebNSArrayExtras.m: Added.
- (-[NSMutableArray _webkit_removeUselessMenuItemSeparators]):
- New file, includes this method to strip leading, trailing, and duplicate separators from arrays
- of NSMenuItems (copied from Safari)
-
- * WebView/WebUIDelegatePrivate.h:
- new MenuItemTag enum values for new PDFKit context menu items
-
- * WebKit.xcodeproj/project.pbxproj:
- updated for new files
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView _anyPDFTagsFoundInMenu:]):
- check for new PDFKit context menu items
- (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
- associate new PDFKit context menu item selectors with the new tags; skip certain selectors that
- correspond to menu items that WebKit already includes; remove useless menu item separators when
- we're done, since we might have removed arbitrarily-placed menu items
-
-2007-04-11 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej.
-
- Adding RetainPtr to the many global obj-c pointers we use in
- C/C++ methods. This is necessary to prevent GC from collecting
- globals we want to keep around.
-
- We use RetainPtr in obj-c++ and c++ files, and CFRetain/Release in pure
- obj-c.
-
- This fixes <rdar://problem/5058731> -- Crash in
- WebCore::DragData::containsCompatibleContent due to early release
- of types array
-
- * Misc/WebLocalizableStrings.m:
- (WebLocalizedString):
- * Misc/WebNSPasteboardExtras.mm:
- (+[NSPasteboard _web_writableTypesForURL]):
- (_writableTypesForImageWithoutArchive):
- (_writableTypesForImageWithArchive):
- * Misc/WebNSURLExtras.m:
- (applyHostNameFunctionToMailToURLString):
- (applyHostNameFunctionToURLString):
- * Misc/WebStringTruncator.m:
- (defaultMenuFont):
- (fontFromNSFont):
- * WebCoreSupport/WebPasteboardHelper.mm:
- (WebPasteboardHelper::insertablePasteboardTypes):
-
-2007-04-11 MorganL <morganl.webkit@yahoo.com>
-
- Reviewed by Maciej.
-
- Add a Frame pointer to ChromeClient methods:
- http://bugs.webkit.org/show_bug.cgi?id=13127
-
- * COM/ChromeClientWin.cpp:
- (ChromeClientWin::createWindow):
- (ChromeClientWin::createModalDialog):
- * COM/ChromeClientWin.h:
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::createWindow):
- (WebChromeClient::createModalDialog):
-
-2007-04-10 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- <rdar://problem/4887095> - PageCache and PageState should be combined
-
- WebKit side of the change to reflect the new object name of CachedPage and new Client method names
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
- (+[WebHistoryItem _releaseAllPendingPageCaches]):
- (-[WebWindowWatcher windowWillClose:]):
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::setDocumentViewFromCachedPage):
- (WebFrameLoaderClient::loadedFromCachedPage):
- (WebFrameLoaderClient::saveDocumentViewToCachedPage):
-
-2007-04-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Support for fixing fast/forms/textarea-paste-newline.html.
-
- Added SPI for specifying whether a WebView should allow pasting through the
- DOM API.
-
- * ChangeLog:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.m:
- (+[WebPreferences standardPreferences]):
- (-[WebPreferences isDOMPasteAllowed]):
- (-[WebPreferences setDOMPasteAllowed:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
-
-2007-04-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/5081860>
- REGRESSION: Select All for standalone image has no visible effect but does change state
-
- <rdar://problem/5081840>
- REGRESSION: context menu in white space beyond standalone image is different after Select All
-
- Have validateUserInterface emulate the old behavior for full-frame images and plugins, which is:
-
- - For full-frame plugins, always return false.
- - For images, only return true if the selector is copy: and the image has finished loading.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItem:]):
-
-2007-04-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5026893>
- REGRESSION: "Mail Contents of this Page" for standalone image in Safari results in a broken image in Mail
-
- * WebView/WebFrame.mm:
- (-[WebFrame DOMDocument]):
- We can't check for _isHTMLDocument here since image and plugin documents inherit from HTMLDocument. Instead,
- check for those two document types explicitly.
-
-2007-04-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoff, Ada and John.
-
- <rdar://problem/4600978> Would like a way to test whether a WebView is displaying a standalone image
-
- * WebView/WebFrame.mm:
- (-[WebFrame _isDisplayingStandaloneImage]):
- * WebView/WebFramePrivate.h:
- Add _isDisplayingStandaloneImage SPI.
-
-2007-04-06 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mark Rowe.
-
- Adds a build phase script that ensures WebKit's version dosen't end in a 4.
- If our version ends in 4, some sites might think we are Netscape 4 in their
- user agent checks.
-
- * Configurations/Version.xcconfig:
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-04-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/5083023>
- REGRESSION: In Real Player (10.1.0), video continues to play after closing window
-
- This broke in revision 18422 because now the plugin isn't stopped when the window is closed. Since the window is retained
- by the plugin view for as long as it is running (so that removeTrackingRect works even though the window has been closed),
- we would end up with a reference cycle (NSWindow -> WebView -> PluginView -> NSWindow) and stopping the plug-in when the window
- was closed would break that cycle.
-
- Applications that call -[WebView close] when closing aren't affected, but RealPlayer doesn't do this.
-
- The bug that 18422 was supposed to fix was fixed by 19275, which is why it's safe to add back the check.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView addWindowObservers]):
- (-[WebBaseNetscapePluginView removeWindowObservers]):
- (-[WebBaseNetscapePluginView windowWillClose:]):
-
-2007-04-05 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Darin.
-
- - Moved registerURLSchemeAsLocal to the public API.
-
- * WebView/WebView.h:
- * WebView/WebView.mm:
- (+[WebView registerURLSchemeAsLocal:]):
- * WebView/WebViewPrivate.h:
-
-=== Safari-5522.6 ===
-
-2007-04-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/5107536>
- http://bugs.webkit.org/show_bug.cgi?id=13264
- REGRESSION: Crash when canceling about:blank in Activity viewer
-
- * WebView/WebFrame.mm:
- (-[WebFrame stopLoading]):
- Add a null check for the frame loader - it can be null when the frame has been disconnected
- from the web page.
-
-2007-04-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/5028178>
- Crash occurs at WebCore::FrameLoader::activeDocumentLoader() after loading Froggster widget
-
- * Plugins/WebNetscapePluginStream.mm:
- (-[WebNetscapePluginStream start]):
- If load returns no the plugin loader has already been removed by the didFail callback.
-
-2007-04-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoff.
-
- Fix crash when running plugins/destroy-stream-twice.html under GuardMalloc
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (+[WebBaseNetscapePluginStream ownerForStream:]):
- (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
- (-[WebBaseNetscapePluginStream dealloc]):
- (-[WebBaseNetscapePluginStream finalize]):
- Change the streams hash map to contain an NPStream*, and change ownerForStream to take an NPStream*.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView destroyStream:reason:]):
- Check that the NPStream pointer is valid before accessing stream->ndata.
-
-2007-04-02 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=13026
- <rdar://problem/5061026> incomplete render of menu
- (assertion failing in -[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:])
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=13120
- <rdar://problem/5080339> Plug-ins that draw through the QuickDraw interface may crash
- by hanging onto old GWorlds.
-
- - set clip path for CoreGraphics plug-ins in the same way we do for QuickDraw plug-ins
- this is a better fix for <rdar://problem/4939511> WebKit should set the the CG clip
- path for plug-ins that draw using Core Graphics
-
- Incorporates changes from a patch by Mark Ambachtsheer.
-
- Here are the changes:
-
- 1) Don't try to use the offscreen code path if GGBitmapContextGetData returns 0.
- 2) Handle kCGBitmapByteOrderDefault when computing the QD pixel format, even though
- we don't have any evidence that this happens in practice.
- 3) Keep the GWorld around until we create a new one or the plug-in is destroyed.
- 4) Use the GWorld pointer itself as a flag to indicate whether we are using an
- offscreen GWorld.
- 5) Set up clipping for CoreGraphics in the same way we do for QuickDraw; remove an
- earlier attempt that handled CoreGraphics differently.
-
- * Plugins/WebBaseNetscapePluginView.h: Added a field named offscreenGWorld to hold
- the GWorld until it's needed.
- * Plugins/WebBaseNetscapePluginView.mm:
- (getQDPixelFormatForBitmapContext): Replaced QDPixelFormatFromCGBitmapInfo. Used the
- "get" prefix so we don't intrude on the QD namespace. Added code to handle the
- kCGBitmapByteOrderDefault case, although I'm not sure it will really come up in
- practice -- it wasn't really coming up in the buggy case.
- (getNPRect): Added helper functions. Used to make the code below clearer.
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Use getNPRect to
- streamline code. Use GetGWorld to save the port since we use SetGWorld to restore
- it later. Store the GWorld we create in the offscreenGWorld field and dispose the
- existing one. Don't treat the CGBitmapContext as an offscreen bitmap if it
- has a data pointer of 0. Set up the clip based on the result of
- -[NSView getRectsBeingDrawn:count] when setting up the port for CoreGraphics
- (after saving the port state).
- (-[WebBaseNetscapePluginView restorePortState:]): Remove now-unneeded code to
- destroy the offscreen GWorld, and simplified the code that restores the port so we
- don't need a separate case for offscreen.
- (-[WebBaseNetscapePluginView fini]): Renamed from freeAttributeKeysAndValues, since
- this method now does more than just the attributes. This is the shared method that
- does things needed in both dealloc and finalize. Added a call to DisposeGWorld here.
- (-[WebBaseNetscapePluginView dealloc]): Updated for name change.
- (-[WebBaseNetscapePluginView finalize]): Ditto.
- (-[WebBaseNetscapePluginView drawRect:]): Removed code to set clip. This is done in
- the saveAndSetNewPortStateForUpdate: method instead.
-
-2007-03-30 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- Call execCommand for deleteWordForward and deleteWordBackward instead of calling
- deleteWithDirection directly.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView deleteWordForward:]):
- (-[WebHTMLView deleteWordBackward:]):
-
-2007-03-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoff.
-
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
- Initialize pushpopupsenabledstate, poppopupsenabledstate and enumerate.
-
- * Plugins/npapi.m:
- (NPN_PushPopupsEnabledState):
- (NPN_PopPopupsEnabledState):
- Add stubs for these functions.
-
- * Plugins/npfunctions.h:
- Add new methods to NPNetscapeFuncs.
-
-2007-03-29 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Beth Dakin, reviewed by Maciej Stachowiak.
-
- Layout test for <rdar://problem/5091330> REGRESSION: Repro crash in
- -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:]
- navigating away from page with DivX movie plug-in (13203)
-
- Changed LOG_ERROR to LOG so the layout test doesn't produce console spew
- every time you run it.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView destroyStream:reason:]):
-
-2007-03-29 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Brady.
-
- Fix for <rdar://problem/4674537> REGRESSION: Adobe Acrobat 8 - Text
- blinks when mouse is moved, and is invisible otherwise
-
- -and-
-
- <rdar://problem/4992521> Please adjust WebKit's Acrobat-workaround
- methodology
-
- The fix for the first bug is to compare against the bundle
- identifiers for Adobe Reader and the non-Pro Adobe Acrobat in
- addition to Adobe Acrobat Pro. The fix for the second bug is to
- check the version number of Acrobat/Reader through
- WebKitSystemInterface instead of checking which version of WebKit
- it has been linked against.
-
- * English.lproj/StringsNotToBeLocalized.txt: Two new bundle
- identifiers.
- * Misc/WebKitVersionChecks.h: Remove Acrobat quirk constant.
- * WebView/WebView.mm:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
-
-2007-03-29 Geoffrey Garen <ggaren@apple.com>
-
- Rubber stamped by Beth Dakin.
-
- WebBaseNetscapePluginStream.m => WebBaseNetscapePluginStream.mm, since
- it's ObjC++ now.
-
- * Plugins/WebBaseNetscapePluginStream.m: Removed.
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-03-27 Geoffrey Garen <ggaren@apple.com>
-
- Reluctantly tolerated by Darin Adler.
-
- Fixed <rdar://problem/5091330> REGRESSION: Repro crash in
- -[WebBaseNetscapePluginView(WebNPPCallbacks) destroyStream:reason:]
- navigating away from page with DivX movie plug-in (13203)
-
- The problem was that the DivX plug-in would ask us to destroy an NPStream
- that had already been destroyed, causing us to wander off into freed
- memory. (I believe the reason this was a regression was that we never used
- to destroy plug-in streams, period.)
-
- The solution here is to track the NPStreams belonging to a plug-in, and
- guard against plug-ins making calls with NPStreams that don't belong to
- them. (It turns out that NPN_DestroyStream is the only stream-based
- plug-in call we support.)
-
- (CarbonPathFromPOSIXPath): Fixed up a cast to be C++ compatible.
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView destroyStream:reason:]): The actual fix.
- Use helper method to guard against a plug-in using an NPStream that doesn't
- belong to it.
- * WebKit.xcodeproj/project.pbxproj: Made WebBaseNetscapePluginView ObjC++
- so I could use HashMap.
-
-2007-03-28 Adele Peterson <adele@apple.com>
-
- Reviewed by Brady.
-
- Update to last fix.
-
- * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITHOUT_VITALSOURCE_QUIRK.
- * WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]):
- Added check to only use the VitalSource workaround if the app is not linked on or after
- the defined WEBKIT_FIRST_VERSION_WITHOUT_VITALSOURCE_QUIRK version number.
-
-2007-03-28 Adele Peterson <adele@apple.com>
-
- Reviewed by Kevin M.
-
- WebKit part of fix for <rdar://problem/5095515> VitalSource Bookshelf should not pass return statements into stringByEvaluatingJavaScriptFromString
-
- Added an app specific workaround for VitalSource Bookshelf that strips "return" from the beginning of their script strings. We used to allow this
- but now we throw a JavaScript exception for return statements that aren't in functions.
-
- Filed this evangelism bug so we can notify VitalSource of the problem:
- <rdar://problem/5095515> VitalSource Bookshelf should not pass return statements into stringByEvaluatingJavaScriptFromString
-
- * WebView/WebView.mm: (-[WebView stringByEvaluatingJavaScriptFromString:]):
-
-2007-03-27 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim
-
- - fixed <rdar://problem/5092556> Default UA spoofing is always off until explicitly toggled
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- initialize the cached value of _private->useSiteSpecificSpoofing here; formerly it would not
- be initialized correctly in the common case of WebViews that use [WebPreferences standardPreferences]
-
-2007-03-27 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dave Harrison.
-
- * Configurations/WebKit.xcconfig: Include UMBRELLA_FRAMEWORKS_DIR in framework search path.
-
-2007-03-26 Antti Koivisto <antti@apple.com>
-
- Reviewed by Darin.
-
- On Mac, support fine grained wheel events generated by trackpad and Mighty Mouse.
- http://bugs.webkit.org/show_bug.cgi?id=13134
- <rdar://problem/5076249>
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Expose GetWheelEventDeltas()
-
-2007-03-26 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dave Harrison
-
- - fixed <rdar://problem/4769772> Problem with Find on certain PDF page
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView _scaledAttributedString:]):
- We were hitting an exception trying to set the font attribute to nil, which was happening because
- the result of -[PDFSelection attributedString] had no attributes. That PDFSelection bug is now
- filed separately, but this works around the exception.
-
-2007-03-24 David Hyatt <hyatt@apple.com>
-
- Amend the statistics reporting for the WebCore cache to include XSL and to report live/decoded sizes.
-
- * Misc/WebCache.mm:
- (+[WebCache statistics]):
-
-2007-03-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- RetainPtr is no longer in the WebCore namespace
-
- * History/WebBackForwardList.mm:
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebView/WebDocumentLoaderMac.h:
-
-2007-03-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- <rdar://problem/5086210> - Move RetainPtr to WTF
-
- * ForwardingHeaders/wtf/RetainPtr.h: Added.
- * History/WebBackForwardList.mm: Changed #import to <wtf/RetainPtr.h>
- * WebCoreSupport/WebEditorClient.h: Ditto
- * WebCoreSupport/WebFrameLoaderClient.h: Ditto
- * WebView/WebDocumentLoaderMac.h: Ditto
-
-2007-03-24 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adele
-
- - fixed <rdar://problem/5084872> Need to add flickr to spoof list in WebKit
- - only do site-specific spoofing if a preference is set
-
- * WebView/WebPreferenceKeysPrivate.h:
- added WebKitUseSiteSpecificSpoofingPreferenceKey
-
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
- initialize WebKitUseSiteSpecificSpoofingPreferenceKey to false
- (-[WebPreferences _useSiteSpecificSpoofing]):
- get value of WebKitUseSiteSpecificSpoofingPreferenceKey
- (-[WebPreferences _setUseSiteSpecificSpoofing:]):
- set value of WebKitUseSiteSpecificSpoofingPreferenceKey
-
- * WebView/WebPreferencesPrivate.h:
- declare _useSiteSpecificSpoofing and _setUseSiteSpecificSpoofing
-
- * WebView/WebView.mm:
- cache the value of WebKitUseSiteSpecificSpoofingPreferenceKey in a bool in _private
- (-[WebView _preferencesChangedNotification:]):
- update the cached value
- (-[WebView setPreferences:]):
- ditto
- (-[WebView WebCore::_userAgentForURL:WebCore::]):
- Only spoof here if the new site-specific spoofing preference is enabled. If it is, pass
- Safari 2.0.4's user agent string for flickr.com. We can remove this case when 5081617 is addressed.
-
-2007-03-24 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Darin.
-
- * Configurations/WebKit.xcconfig: Remove unnecessary INFOPLIST_PREPROCESS.
-
-2007-03-23 Mark Rowe <mrowe@apple.com>
-
- Build fix for when BUILDING_ON_TIGER is not defined.
-
- * Misc/WebTypesInternal.h:
- * WebView/WebHTMLView.mm:
-
-2007-03-22 David Kilzer <ddkilzer@apple.com>
-
- Reviewed by Darin.
-
- Use BUILDING_ON_TIGER from WebKitPrefix.h instead of local
- MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_4 tests.
-
- * Misc/WebTypesInternal.h:
- * WebView/WebHTMLView.mm:
-
-2007-03-22 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - fix <rdar://problem/5074630> detachChildren call should move from WebKit to WebCore
-
- * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::prepareForDataSourceReplacement):
- Remove call to detachChildren. This should be a WebCore responsibility.
-
-2007-03-19 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Dave Hyatt.
-
- <rdar://problem/5067983>
- iSale: Crash occurs at WebFrameLoaderClient::dispatchDecidePolicyForMIMEType() when attempting to load a HTML template
-
- Restore old behavior (broke in r14533) where the resource load and download delegates are retained for as long as the
- data source is loading.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createDocumentLoader):
- * WebView/WebDocumentLoaderMac.h:
- * WebView/WebDocumentLoaderMac.mm:
- (WebDocumentLoaderMac::setDataSource):
- (WebDocumentLoaderMac::decreaseLoadCount):
-
-2007-03-19 Geoffrey Garen <ggaren@apple.com>
-
- Speculative fix for why ASSERT_MAIN_THREAD didn't work for me. (The
- documentation says "non-zero," not "1."
-
- * Misc/WebKitLogging.m:
- (WebKitRunningOnMainThread):
-
-2007-03-19 Andrew Wellington <proton@wiretapped.net>
-
- Reviewed by Maciej.
-
- Really set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-03-19 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
-
-2007-03-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Justin
-
- - fixed <rdar://problem/5071238> REGRESSION: opt-cmd-B to show Bookmarks view does
- nothing when form field has focus
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _handleStyleKeyEquivalent:]):
- we were counting any set of modifiers plus 'b' as the standard key equivalent for
- toggling Bold; now we only accept command+'b'
-
-2007-03-19 Adam Roben <aroben@apple.com>
-
- Reviewed by Hyatt and Maciej.
-
- Updated WebCoreStatistics for the conversion of WebCoreJavaScript to
- C++.
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics javaScriptInterpretersCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
- (+[WebCoreStatistics javaScriptRootObjectTypeCounts]): Moved
- conversion to NSCountedSet here from WebCore.
- (+[WebCoreStatistics garbageCollectJavaScriptObjects]):
- (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThread:]):
- (+[WebCoreStatistics shouldPrintExceptions]):
- (+[WebCoreStatistics setShouldPrintExceptions:]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- (+[WebCoreStatistics javaScriptRootObjectClasses]):
-
-2007-03-18 Andrew Wellington <proton@wiretapped.net>
-
- Reviewed by Mark Rowe
-
- Set Xcode editor to use 4 space indentation (http://webkit.org/coding/coding-style.html)
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-03-19 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Brady.
-
- Update references to bugzilla.opendarwin.org with bugs.webkit.org.
-
- * WebInspector/webInspector/inspector.css:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView firstRectForCharacterRange:]):
- * WebView/WebView.mm:
- (-[WebView initWithFrame:frameName:groupName:]):
-
-2007-03-18 David Hyatt <hyatt@apple.com>
-
- Move frame borders out of WebKit and into WebCore.
-
- Reviewed by aroben, olliej
-
- * WebCoreSupport/WebFrameBridge.mm:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebFrameView.mm:
- (-[WebFrameView drawRect:]):
- (-[WebFrameView setFrameSize:]):
- * WebView/WebFrameViewInternal.h:
-
-2007-03-17 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Hatcher
-
- Discovered while working on <rdar://problem/5070334> that many WebView calls will crash if called
- after -[WebView close] has executed because _private->page is deferenced after it's been set to 0.
- It might be silly/wrong to call these methods after -close, but obviously it shouldn't crash. Made
- each use of _private->page robust against nil-dereferencing.
-
- * WebView/WebView.mm:
- (-[WebView _loadBackForwardListFromOtherView:]):
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
- (-[WebView _setDashboardBehavior:to:]):
- (-[WebView _dashboardBehavior:]):
- (-[WebView goBack]):
- (-[WebView goForward]):
- (-[WebView goToBackForwardItem:]):
- (-[WebView canGoBack]):
- (-[WebView canGoForward]):
- (-[WebView setTabKeyCyclesThroughElements:]):
- (-[WebView tabKeyCyclesThroughElements]):
- (-[WebView setEditable:]):
-
-2007-03-17 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mark Rowe.
-
- Made Version.xcconfig smarter when building for different configurations.
- Now uses the 522+ OpenSource version for Debug and Release, while using the
- full 522.4 version for Production builds. The system prefix is also computed
- based on the current system, so 4522.4 on Tiger and 5522.4 on Leopard.
-
- * Configurations/Version.xcconfig:
- * Configurations/WebKit.xcconfig:
-
-2007-03-16 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Hyatt.
-
- The old canSaveAsWebArchive call was necessary as stand alone
- images used to be rendered by ImageDocument.
-
- Fixes rdar://problem/5061252
-
- * WebCoreSupport/WebDragClient.h:
- * WebCoreSupport/WebDragClient.mm:
- (WebDragClient::declareAndWriteDragImage):
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-03-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- <rdar://problem/4429701>
- Implements a port blocking black list that matches Firefox's
-
- * English.lproj/Localizable.strings: Added localizable string for port blocked error code
-
- * Misc/WebKitErrors.h:
- * Misc/WebKitErrors.m:
- (registerErrors): Add new port blocked error code to WebKitErrorDomain
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::cancelledError): Fixed coding style
- (WebFrameLoaderClient::blockedError): Return a ResourceError with the new custom error code
-
-2007-03-15 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John.
-
- * Fixes: <rdar://problem/4927747> WebKit's Current Library Version number should match the Info.plist Version
- * Factored out most of our common build settings into .xcconfig files. Anything that was common in
- each build configuration was factored out into the shared .xcconfig file.
- * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
- * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
- * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
- * Make WebKit use the same warning flags as the other projects. This required two casts to be added to fix new warnings.
-
- * Configurations/Base.xcconfig: Added.
- * Configurations/DebugRelease.xcconfig: Added.
- * Configurations/Version.xcconfig: Added.
- * Configurations/WebKit.xcconfig: Added.
- * Info.plist:
- * Misc/WebKitVersionChecks.h:
- * Plugins/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-03-15 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders.
-
- Fixed: <rdar://problem/5001428> stationery background images do not display
-
- Change 19244 fixed the method -[WebResource _shouldIgnoreWhenUnarchiving], but also broke Mail stationery.
-
- The problem was that with archivedResourceForURL now fixed, the engine will try to decode the images. These images wouldn't decode because
- Mail re-encodes and directly manipulates the image data in such a way that prevented WebKit from decoding the image. Because Mail was giving
- us bad data, the images wouldn't render. This was never an issue before because archivedResourceForURL (broken) always returned nil, thus the
- engine would never attempt to decode the resource, therefore the responsibility was delegated to Mail's protocol handler, which would do the
- right thing and load the image.
-
- Since Mail is relying on the fact it can store arbitrary data in WebArchives, I've introduced SPI that acts as a hint for us to ignore certain
- subresources while unarchiving. This SPI is -[WebResource _shouldIgnoreWhenUnarchiving].
-
- * WebView/WebResource.mm: Addd private ivar shouldIgnoreWhenUnarchiving.
- (-[WebResource _ignoreWhenUnarchiving]): Added.
- (-[WebResource _shouldIgnoreWhenUnarchiving]): Added.
- * WebView/WebResourcePrivate.h: Added two methods to private header.
- * WebView/WebUnarchivingState.m:
- (-[WebUnarchivingState archivedResourceForURL:]): Check if we should ignore the resource.
-
-2007-03-15 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Antti.
-
- Fix for <rdar://problem/5065060> ASSERTION FAILURE: newUsername && newPassword
- when submitting an authentication form without password.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchWillSubmitForm): Don't omit form fields with empty values from the dictionary
- passed to the delegate.
-
-2007-03-14 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Don't add the data twice, it's also done by didReceiveData.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::deliverArchivedResources):
-
-2007-03-14 Anders Carlsson <acarlsson@apple.com>
-
- Fix segmentation fault when running layout tests.
-
- Remove bogus check that that I added on purpose to see how good Geoff is at spotting mistakes when reviewing code.
- (Turns out he's not that good!)
-
- * WebView/WebDocumentLoaderMac.mm:
- (WebDocumentLoaderMac::increaseLoadCount):
-
-2007-03-14 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Geoff.
-
- http://bugs.webkit.org/show_bug.cgi?id=13076
- REGRESSION: Multiple loading tabs cause assertion in WebDocumentLoaderMac::decreaseLoadCount(unsigned long)
-
- Store the identifier set in the document loader since identifiers are per-webview and not global.
-
- * WebView/WebDocumentLoaderMac.h:
- * WebView/WebDocumentLoaderMac.mm:
- (WebDocumentLoaderMac::WebDocumentLoaderMac):
- (WebDocumentLoaderMac::attachToFrame):
- (WebDocumentLoaderMac::increaseLoadCount):
- (WebDocumentLoaderMac::decreaseLoadCount):
-
-2007-03-14 David Harrison <harrison@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/5009625> REGRESSION: Aperture 1.5: Can't select entire line of text after correcting a misspelled word
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::respondToChangedSelection):
- * WebCoreSupport/WebFrameBridge.mm:
- Provide compatibility by not sending WebViewDidChangeSelectionNotification if
- the app is Aperture and is linked against WebKit 2.0.
-
-=== Safari-5522.4 ===
-
-2007-03-14 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/5058714>
- http://bugs.webkit.org/show_bug.cgi?id=13050
-
- World leaks seen on Leopard after opening then closing tab (13050)
-
- Add a hash set to prevent the load count to be increased twice for the same resource.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchWillSendRequest):
- (WebFrameLoaderClient::dispatchDidFinishLoading):
- (WebFrameLoaderClient::dispatchDidFailLoading):
- * WebView/WebDocumentLoaderMac.h:
- * WebView/WebDocumentLoaderMac.mm:
- (loadingResources):
- (WebDocumentLoaderMac::increaseLoadCount):
- (WebDocumentLoaderMac::decreaseLoadCount):
-
-2007-03-14 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- Removed _insertTextWithEvent, _insertNewlineWithEvent, and _insertTextWithEvent.
- Instead, use execCommand and insertText methods on the Editor.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView insertTab:]):
- (-[WebHTMLView insertBacktab:]):
- (-[WebHTMLView insertNewline:]):
- (-[WebHTMLView insertLineBreak:]):
- (-[WebHTMLView insertParagraphSeparator:]):
- (-[WebHTMLView insertNewlineIgnoringFieldEditor:]):
- (-[WebHTMLView insertTabIgnoringFieldEditor:]):
- (-[WebHTMLView yank:]):
- (-[WebHTMLView yankAndSelect:]):
- (-[WebHTMLView doCommandBySelector:]):
- (-[WebHTMLView insertText:]):
-
-2007-03-14 David Hyatt <hyatt@apple.com>
-
- Fixes to ensure that the resource loader's shared buffer can always be used.
-
- Reviewed by olliej, mjs
-
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase _convertToWebCoreFormat]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::deliverArchivedResources):
-
-2007-03-13 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Brady.
-
- Modify subresourceForURL to take NSString argument
- so we can avoid [NSURL absoluteString]
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource subresourceForURL:]):
-
-2007-03-13 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Alice
-
- Meant to be part of my previous checkin... pruning unused code from WebKit
-
- * WebView/WebFrame.mm: Removed _canCachePage
- * WebView/WebFrameInternal.h: Ditto
-
-2007-03-13 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Maciej.
-
- Fix for <rdar://problem/4277074> 8F32: Help Viewer crashed on
- clicking link - KHTMLView::viewportMouseReleaseEvent (12647)
-
- Re-set the DocumentLoader's frame when loading it from the page
- cache before setting the document view.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::setDocumentViewFromPageCache):
-
-2007-03-13 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/5057117> Spoof user agent on Yahoo.com with Safari and WebKit as version 4xx
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView userAgent]): Stop using the deprecated lossyCString method.
- * WebCoreSupport/WebFrameBridge.mm: Removed dead code, userAgentForURL: wasn't used.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::userAgent): Call WebView's _userAgentForURL:.
- * WebView/WebView.mm:
- (-[WebView _cachedResponseForURL:]): Call userAgentForURL: instead of _userAgent.
- (-[WebView userAgentForURL:]): Call _userAgentForURL:.
- (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): New method to construct a UA.
- (-[WebView _computeUserAgent]): Ractored out into _userAgentWithApplicationName:andWebKitVersion:
- (-[WebView _userAgentForURL:]): Tail compare for Yahoo.com, and return a UA with an older WebKit version.
- * WebView/WebViewInternal.h: Declare _userAgentForURL:.
-
-2007-03-12 David Harrison <harrison@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4743256> ctrl-y key binding (yank) should do nothing when kill ring is empty
-
- Test updated:
- * editing/pasteboard/emacs-cntl-y-001.html:
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView yank:]):
- (-[WebHTMLView yankAndSelect:]):
- Do nothing if the killring is empty.
-
-2007-03-12 Darin Adler <darin@apple.com>
-
- Reviewed by Tim Hatcher.
-
- - update for the new naming scheme for the Objective-C wrapper-creation
- functions: _wrapElement: instead of _elementWith:, etc.
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::textFieldDidBeginEditing):
- (WebEditorClient::textFieldDidEndEditing):
- (WebEditorClient::textDidChangeInTextField):
- (WebEditorClient::doTextFieldCommandFromEvent):
- (WebEditorClient::textWillBeDeletedInTextField):
- (WebEditorClient::textDidChangeInTextArea):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin):
- (WebFrameLoaderClient::createJavaAppletWidget):
- * WebView/WebFrame.mm: (kit):
- Use the _wrapElement-style functions.
-
-2007-03-12 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/5057575>
- REGRESSION: Repro Crash in FrameLoader::frame loading about:blank in PLT
-
- Always get the web view from the current web frame, since the document loader's frame can have been zeroed out
- (for example when detaching the document loader).
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
- (WebFrameLoaderClient::assignIdentifierToInitialRequest):
- (WebFrameLoaderClient::dispatchWillSendRequest):
- (WebFrameLoaderClient::dispatchDidReceiveResponse):
- (WebFrameLoaderClient::dispatchDidReceiveContentLength):
- (WebFrameLoaderClient::dispatchDidFinishLoading):
-
-2007-03-11 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adele.
-
- Moved respondToChangedSelection from FrameBridge to EditorClient
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::respondToChangedSelection):
- * WebCoreSupport/WebFrameBridge.mm:
- Removed respondToChangedSelection from bridge
-
-2007-03-11 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12964
- <rdar://problem/5045717> REGRESSION: crash in -[WebBaseNetscapePluginStream _deliverData]
- at simpsonsmovie.com (12964)
-
- * Plugins/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
- At every place we call the plug-in, since it could destroy the stream, get pluginView into a local
- variable; it will be set to nil if the stream is destroyed.
- (-[WebBaseNetscapePluginStream _destroyStream]): Added calls to retain/release to handle the case where
- one of the calls to the plug-in destroys the stream. Added a call to cancelPreviousPerformRequestsWithTarget
- in case _deliverData has been scheduled but not yet delivered. Also get pluginView into a local variable
- as mentioned above, and check at strategic points and exit if the stream was already destroyed to avoid
- multiple calls to NPP_DestroyStream or NPP_URLNotify.
- (-[WebBaseNetscapePluginStream _deliverData]): Ditto.
-
-2007-03-10 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and
- JSCore causes a hang @ www.panoramas.dk
-
- See JavaScriptCore ChangeLog for details.
-
- Drop the JSLock before making calls through the plug-in API from functions
- that may have been called by JavaScript.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView sendEvent:]):
- (-[WebBaseNetscapePluginView setWindowIfNecessary]):
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
- (-[WebBaseNetscapePluginView createPluginScriptableObject]):
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- (-[WebBaseNetscapePluginView _printedPluginBitmap]):
- * Plugins/WebPluginController.mm:
- (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
- (-[WebPluginController startAllPlugins]):
- (-[WebPluginController stopAllPlugins]):
- (-[WebPluginController addPlugin:]):
- (-[WebPluginController destroyPlugin:]):
- (-[WebPluginController destroyAllPlugins]):
-
-2007-03-10 David Kilzer <ddkilzer@webkit.org>
-
- Reviewed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=9609
- REGRESSION: Missing image icon needs to be moved back to WebKit
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- Use WebCore::Image::loadPlatformResource(const char*) to load the missingImage image.
-
-2007-03-10 Mark Rowe <mrowe@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/5051827> HIWebView handling of kEventControlGetData is broken in 64-bit
-
- On Leopard the kEventParamControlDataBufferSize event parameter is of type typeByteCount.
- The 32-bit implementation of GetEventParameter will coerce between integer types and
- typeByteCount while the 64-bit version will return a failure. As typeByteCount is new
- in Leopard we must continue using typeSInt32 when building for Tiger.
-
- * Carbon/HIWebView.m:
- (HIWebViewEventHandler):
-
-2007-03-09 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4976254> Please get off _NSSoftLinkingGetFrameworkFuncPtr
-
- Use dlopen and dlsym to access the DCSShowDictionaryServiceWindow function.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
-
-2007-03-09 Darin Adler <darin@apple.com>
-
- Reviewed by Justin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=8928
- <rdar://problem/5045708> REPRODUCIBLE ASSERT: Cannot paste HTML into a
- contenteditable region in an XHTML document (8928)
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _hasHTMLDocument]): Added.
- (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
- Don't call AppKit's conversion from the DOM to an attributed string if the document
- is not an HTML document, to work around an AppKit limitation (Radar 5052390).
-
-2007-03-09 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2007-03-08 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/5051616> Mouse clicks and movement are ignored in HIWebView on 64-bit
-
- Mouse events are not being handled correctly as GetControlKind is returning an error
- on 64-bit. The more modern HIObjectIsOfClass behaves correctly for this use.
-
- * Carbon/HIWebView.m:
- (HIWebViewDestructor):
- (WindowHandler): Use HIObjectIsOfClass in place of GetControlKind.
- (HIWebViewEventHandler): Don't leak the NSEvent.
-
-2007-03-08 Bruce Q Hammond <bruceq@apple.com>
-
- Reviewed by Darin.
-
- Fix for http://bugs.webkit.org/show_bug.cgi?id=13009
- Console spews "CGContextGetType: invalid context" non-stop on web site
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebBaseNetscapePluginView restorePortState:]):
-
-2007-03-08 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/4561772> HIWebView does not exist for 64-bit
-
- Update HIWebView and friends to work without QuickDraw.
-
- Changes are gleaned from the 64-bit support inside HICocoaView. The main
- fact of interest are that all Carbon windows must have compositing enabled
- so the code paths that aren't accessible are #ifdef'd out. Conveniently
- these are the exact code paths that make use of QuickDraw.
-
- There are currently minor event-handling and invalidation issues running as
- 64-bit that are not present in 32-bit.
-
- * Carbon/CarbonUtils.m:
- * Carbon/CarbonWindowAdapter.m:
- * Carbon/CarbonWindowFrame.m:
- * Carbon/HIViewAdapter.m:
- (SetViewNeedsDisplay):
- * Carbon/HIWebView.m:
- (Draw):
- (Click):
- (SyncFrame):
- (StartUpdateObserver):
- (StopUpdateObserver):
- (UpdateObserver):
- * WebKit.LP64.exp: Removed.
- * WebKit.xcodeproj/project.pbxproj: Always use WebKit.exp.
-
-2007-03-08 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context
-
- Added new methods to the WebHTMLHighlighter protocol that include the DOMNode being painted.
-
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge customHighlightRect:forLine:representedNode:WebCore::]):
- (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:representedNode:WebCore::]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebHTMLViewPrivate.h:
-
-2007-03-08 Anders Carlsson <acarlsson@apple.com>
-
- Try fixing the buildbot build.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
-
-2007-03-07 Anders Carlsson <acarlsson@apple.com>
-
- Leopard build fix.
-
- * Plugins/WebBaseNetscapePluginView.mm:
-
-2007-03-07 Bruce Q Hammond <bruceq@apple.com>
-
- Reviewed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12515
- Plug-ins that draw through the Quickdraw interface fail in a CGBitmapContex.
- <rdar://problem/4975122>
-
- This fixes a problem with Netscape-style Plug-ins which draw through the Quickdraw APIs
- being unable to render into offscreen bitmap contexts.
-
- This patches both saveAndSetNewPortStateForUpdate: and restorePortState:
- These methods now check the current context and see if appropriate setup/cleanup needs to be done
- for offscreen rendering.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (QDPixelFormatFromCGBitmapInfo):
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebBaseNetscapePluginView restorePortState:]):
-
-2007-03-07 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin.
-
- Use HardRetain/HardRelease.
-
- * WebView/WebDocumentLoaderMac.mm:
- (WebDocumentLoaderMac::setDataSource):
- (WebDocumentLoaderMac::attachToFrame):
- (WebDocumentLoaderMac::detachFromFrame):
- (WebDocumentLoaderMac::increaseLoadCount):
- (WebDocumentLoaderMac::decreaseLoadCount):
-
-2007-03-07 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/4961259>
- REGRESSION: Bumper Car 2.1.1 - Crash at WebCore::FrameLoader::receivedMainResourceError when encountering a invalid URL address
-
- (The crash was already fixed, this actually makes Bumper Car load the error page correctly.)
-
- This adds a "load counter" to the document loader and keeps the data source retained for as long as something is loading.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchWillSendRequest):
- Increase the load counter.
-
- (WebFrameLoaderClient::dispatchDidFinishLoading):
- (WebFrameLoaderClient::dispatchDidFailLoading):
- Decrease the load counter,
-
- * WebView/WebDocumentLoaderMac.h:
- * WebView/WebDocumentLoaderMac.mm:
- (WebDocumentLoaderMac::WebDocumentLoaderMac):
-
- (WebDocumentLoaderMac::attachToFrame):
- If the document loader has been detached, make sure to retain its data source here.
-
- (WebDocumentLoaderMac::detachFromFrame):
- Release the data source.
-
- (WebDocumentLoaderMac::increaseLoadCount):
- Retain the data source if load count was 0.
-
- (WebDocumentLoaderMac::decreaseLoadCount):
- Release the data source if load count becomes 0
-
-2007-03-07 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- WebKit part of fix for:
- http://bugs.webkit.org/show_bug.cgi?id=10871
- http://bugs.webkit.org/show_bug.cgi?id=12677
- <rdar://problem/4823129> REGRESSION: IME key events different in nightly
- <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _interceptEditingKeyEvent: shouldSaveCommand:]): Added shouldSaveCommand field to WebHTMLViewInterpretKeyEventsParameters.
- When shouldSaveCommand is true, we call interpretKeyEvents and in doCommandBySelector and insertText, we just save the information without performing any action.
- When shouldSaveCommand is false, we used the saved information and call doCommandBySelector and insertText directly.
- If there's no saved command data in the KeyboardEvent, call interpretKeyEvents, and honor the shouldSaveCommand argument. This allows repeating keypress events
- to function normally.
- (-[WebHTMLView doCommandBySelector:]): If the WebHTMLViewInterpretKeyEventsParameters shouldSaveCommand field is set, then
- just save the selector information in the KeyboardEvent, and don't perform the action.
- (-[WebHTMLView insertText:]): ditto.
- insertText can be called from an input method or from normal key event processing
- If its from an input method, then we should go ahead and insert the text now.
- The only way we know if its from an input method is to check hasMarkedText. There might be a better way to do this.
-
- * WebView/WebHTMLViewInternal.h: Added shouldSaveCommand argument.
- * WebView/WebViewInternal.h: ditto.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress. Call _interceptEditingKeyEvent with shouldSaveCommand:NO.
- (WebEditorClient::handleInputMethodKeypress): Call _interceptEditingKeyEvent with shouldSaveCommand:YES.
-
-2007-03-07 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Brady.
-
- Update to match WebCore.
-
- * Plugins/WebNetscapePluginStream.mm:
- (-[WebNetscapePluginStream start]):
-
-2007-03-07 Jim Correia <jim.correia@pobox.com>
-
- Reviewed by Darin.
-
- - WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=12463
- WebArchiver - attempt to insert nil exception when archive empty iframe
-
- When dealing with an iframe element with no src attribute, the element contains
- a src attribute in the DOM with a URL of "about:blank" and some HTML to implement
- the blank page. In the original page source, however, the iframe element does
- not include a src attribute, which caused a nil archive to be returned for the
- childFrameArchive and thus caused the bug. The fix is a simple nil check.
-
- Test: webarchive/archive-empty-frame-source.html
-
- * WebView/WebArchiver.mm:
- (+ (NSArray *)_subframeArchivesForFrame:(WebFrame *)frame): Don't add childFrameArchive
- to the subframeArchives array if it is nil.
-
-2007-03-06 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- Made WebAuthenticationHandler.h SPI so Safari can call it directly.
-
- * WebKit.exp:
- added .objc_class_name_WebPanelAuthenticationHandler
- * WebKit.xcodeproj/project.pbxproj:
- changed status of WebAuthenticationHandler.h from "project" to "private"
-
-2007-03-06 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Darin.
-
- - Rename a function to clarify its purpose.
-
- * WebView/WebView.mm:
- (+[WebView registerURLSchemeAsLocal:]):
- * WebView/WebViewPrivate.h:
-
-2007-03-06 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Update for WebCore changes.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::userAgent):
-
-2007-03-05 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam, Darin.
-
- <rdar://problem/5025212>
- In Mail, a crash occurs at WebCore::Frame::tree() when clicking on embedded flash object
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- Handle the case where the web view returned from the delegate method is null. Also, send out an error notification
- in that case so we can catch it.
-
-2007-03-05 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin and Kevin D
-
- - fixed <rdar://problem/5038087> Header and footer on printed page are too large after certain steps
-
- * WebView/WebView.mm:
- (-[WebView _adjustPrintingMarginsForHeaderAndFooter]):
- This method was modifying the margins in the NSPrintInfo object without any sort of check whether
- this had already been done. In some cases this can be called multiple times with the same
- NSPrintInfo, so now we stash information in the NSPrintInfo's dictionary such that we always
- start with a fresh copy of the original margins.
-
-2007-03-02 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Geoff.
-
- - rdar://problem/4922454
- - This fixes a security issue by making remote referrers not able to access local
- resources, unless they register their schemes to be treated as local. The result is
- that those schemes can access local resources and cannot be accessed by remote
- referrers.
- Because this behavior is new a link-on-or-after check is made to determine if the
- app should use the older, less safe, behavior.
-
- * Misc/WebKitVersionChecks.h: added linked-on-or-after check
- * Misc/WebNSAttributedStringExtras.mm: Moved functionalit into the base class.
- (fileWrapperForElement):
- * Plugins/WebNetscapePluginStream.mm: uses new canLoad functions
- * Plugins/WebPluginContainerCheck.mm: uses new canLoad functions
- (-[WebPluginContainerCheck _isForbiddenFileLoad]):
- * WebView/WebView.mm: make linked-on-or-after check and cache value, exposes SPI
- for registering a scheme as local.
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (+[WebView registerSchemeAsLocal:]):
- * WebView/WebViewPrivate.h: exposes SPI for registering a scheme as local.
-
-2007-03-01 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by harrison
-
- <rdar://problem/4838199>
- Integrate Mail and WebKit paste operations
-
- Provide subresources used to create the fragment as a
- convenience.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
- Update the calls to the changed method.
- (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
- Give the caller the subresources in the WebArchive and RTF cases.
- * WebView/WebHTMLViewPrivate.h:
-
-2007-02-28 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej.
-
- Fixes <rdar://problem/5012009>
-
- When looking for a requested resource we should also check
- the set of manually added subresources if WebCore can't find it.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource subresourceForURL:]):
-
-2007-02-28 Brady Eidson <beidson@apple.com>
-
- Reviewed by Beth
-
- Start using the Thread Safety Check implemented in WebCore for the DOM bindings in the rest of
- the WebKit API instead of the ASSERT_MAIN_THREAD() hack
-
- * History/WebBackForwardList.mm:
- (-[WebBackForwardList initWithWebCoreBackForwardList:]):
- (-[WebBackForwardList init]):
- (-[WebBackForwardList dealloc]):
- (-[WebBackForwardList finalize]):
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
- (-[WebHistoryItem dealloc]):
- (-[WebHistoryItem finalize]):
- (-[WebHistoryItem copyWithZone:]):
- (-[WebHistoryItem initWithWebCoreHistoryItem:]):
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase init]):
-
-2007-02-28 Adele Peterson <adele@apple.com>
-
- Reviewed by Beth.
-
- Fix for <rdar://problem/4887423> REGRESSION: search results popup menu strings are not localized
- and <rdar://problem/3517227> accessibility-related strings in WebCore are not localized
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory searchMenuNoRecentSearchesText]):
- (-[WebViewFactory searchMenuRecentSearchesText]):
- (-[WebViewFactory searchMenuClearRecentSearchesText]):
- (-[WebViewFactory AXWebAreaText]):
- (-[WebViewFactory AXLinkText]):
- (-[WebViewFactory AXListMarkerText]):
- (-[WebViewFactory AXImageMapText]):
- (-[WebViewFactory AXHeadingText]):
-
-2007-02-28 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/5028473> WebKit allocates a huge number of NSCalendarDates while loading history file
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate insertItem:atDateIndex:]): Use lastVisitedTimeInterval rather than _lastVisitedDate to avoid allocating NSCalendarDates.
-
-2007-02-28 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/4985524> Problem with Blot and ToT WebKit (decoding WebCoreScrollView)
-
- References to WebCoreScrollView as a subview of a WebHTMLView may be present in some NIB
- files, so NSUnarchiver must be still able to look up the WebCoreScrollView class.
-
- * WebKit.exp: Export WebCoreScrollView symbol.
- * WebView/WebHTMLView.mm: Add empty WebCoreScrollView class.
-
-2007-02-27 Adam Roben <aroben@apple.com>
-
- Reviewed by Beth.
-
- Fix <rdar://problem/5011905> REGRESSION: "Open Link" contextual menu
- item appears twice
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (fixMenusToSendToOldClients): Remove the "Open Link" item from the
- default menu items array before sending it off to Tiger Mail.
- (WebContextMenuClient::getCustomMenuFromDefaultItems): Set the
- representedObject on every NSMenuItem to match our old (correct) API
- behavior.
-
-2007-02-27 Mitz Pettel <mitz@webkit.org>
-
- Reviewed by Darin.
-
- - http://bugs.webkit.org/show_bug.cgi?id=12906
- REGRESSION: Canvas is pixelated when the page is opened in a background tab
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::scaleFactor): If the view is not in a window, use the main
- screen's scale factor as a best guess.
-
-2007-02-26 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin and Geoff
-
- * WebView/WebHTMLView.mm:
- (coreGraphicsScreenPointForAppKitScreenPoint):
- This method was copied from WebBrowser, and it was wrong. Fixed it. This only
- affects the Dictionary pop-up panel.
-
-2007-02-26 David Hyatt <hyatt@apple.com>
-
- Update web inspector to account for border-fit.
-
- Reviewed by darin
-
- * WebInspector/webInspector/inspector.js:
-
-2007-02-26 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Re-arranged things to put deprecated methods at the bottom.
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- (+[WebCoreStatistics javaScriptRootObjectClasses]):
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-02-26 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Mitz.
-
- - fix layout tests by fixing discrepancy in feature macros.
-
- * WebInspector/WebInspector.m:
- (-[WebInspector _highlightNode:]):
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-02-23 Mitz Pettel <mitz@webkit.org>
-
- Reviewed by Maciej.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=11573
- REGRESSION: pressing option-left arrow while in suggestion popup moves the insertion point to the left
-
- * WebView/WebHTMLView.mm:
- (-[WebTextCompleteController endRevertingChange:moveLeft:]):
-
-2007-02-23 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Brady.
-
- <rdar://problem/5016395> _recursive_pauseNullEventsForAllNetscapePlugins still gone
-
- * WebView/WebFrameInternal.h: Remove _recursive_pauseNullEventsForAllNetscapePlugins
- * WebView/WebFramePrivate.h: Add _recursive_pauseNullEventsForAllNetscapePlugins
- * WebView/WebFrame.mm: More _recursive_pauseNullEventsForAllNetscapePlugins
-
-2007-02-22 Adele Peterson <adele@apple.com>
-
- Reviewed by John.
-
- Updating this image to match the one in WebCore.
-
- * WebKit.vcproj/textAreaResizeCorner.png:
-
-2007-02-22 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- Fix for http://bugs.webkit.org/show_bug.cgi?id=12399 REGRESSION:
- Unable to prevent default context menu from appearing. <rdar://
- problem/5017416>
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView menuForEvent:]): Clear the controller's context menu
- before propagating a new context menu event through the DOM.
-
-2007-02-22 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- Removed some unused keyView-related code that I happened to run across.
- Replacement code is now in WebChromeClient.
-
- * WebCoreSupport/WebFrameBridge.h:
- * WebCoreSupport/WebFrameBridge.mm:
- removed unused stuff
-
-2007-02-22 Mitz Pettel <mitz@webkit.org>
-
- Reviewed by Maciej.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12804
- REGRESSION (r19043-r19063): suggestion popup doesn't work after pressing Option+Esc
-
- This patch also fixes a bug where using the arrow keys while
- the suggestion popup is open moves the caret instead of changing the
- selection in the popup (for up/down) or accepting the selection and
- closing the popup (for left/right).
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView keyDown:]): Changed to close the popup only if it was open
- before the current event, so that the Option-Esc that opens the popup will
- not close it immediately.
- (-[WebHTMLView _interceptEditingKeyEvent:]): Give the completion popup a
- chance to intercept keydown events.
- (-[WebTextCompleteController popupWindowIsOpen]): Added. Returns whether the
- suggestion popup is open.
-
-2007-02-22 Mitz Pettel <mitz@webkit.org>
-
- Reviewed by Mark (age 21).
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12805
- REGRESSION: suggestion popup has a disabled scroll bar
-
- * WebView/WebHTMLView.mm:
- (-[WebTextCompleteController _buildUI]): Uncommented the call to the NSWindow
- SPI that forces the scroll bar to look active. Also replaced a call to
- the deprecated NSTableView method setAutoresizesAllColumnsToFit: with
- the new method setColumnAutoresizingStyle: to eliminate console spew.
-
-2007-02-20 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Maciej.
-
- WebKit changes needed to implement writeImage() in WebCore's
- Pasteboard class.
-
- * Misc/WebKitNSStringExtras.m: Call into WebCore for these
- implementations.
- (-[NSString _webkit_hasCaseInsensitiveSuffix:]):
- (-[NSString _webkit_hasCaseInsensitiveSubstring:]):
- (-[NSString _webkit_filenameByFixingIllegalCharacters]):
- * Misc/WebNSURLExtras.m: Same.
- (-[NSURL _webkit_suggestedFilenameWithMIMEType:]):
- * WebCoreSupport/WebContextMenuClient.h: Remove
- copyImageToClipboard()
- * WebCoreSupport/WebContextMenuClient.mm:
- * WebCoreSupport/WebSystemInterface.m: Expose
- GetExtensionsForMIMEType and GetPreferredExtensionForMIMEType to
- WebCore.
- (InitWebCoreSystemInterface):
- * WebCoreSupport/WebViewFactory.mm: New localized string for
- WebCore.
- (-[WebViewFactory copyImageUnknownFileLabel]):
-
-2007-02-20 Adam Roben <aroben@apple.com>
-
- Reviewed by Darin and Anders.
-
- Update WebKit for WebCore fix for <rdar://problem/4736215> Make
- WebCoreStringTruncator use WebCore types.
-
- * Misc/WebStringTruncator.m:
- (defaultMenuFont): Moved from WebCoreStringTruncator.mm.
- (core): Added.
- (+[WebStringTruncator centerTruncateString:toWidth:]):
- (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
- (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
- (+[WebStringTruncator widthOfString:font:]):
- * WebKit.xcodeproj/project.pbxproj: Changed WebStringTruncator to ObjC++.
-
-2007-02-20 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John.
-
- Fixes the version number returned when using a CFBundleVersion of "420+".
-
- * WebView/WebView.mm:
- (-[WebView _userVisibleBundleVersionFromFullVersion:]): Check the length up to the first
- non-decimal digit, so this works with versions that have "." and "+".
-
-2007-02-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker
-
- - fixed <rdar://problem/4989344> REGRESSION: After clicking on page, Find
- won't find anything if all hits are before the clicked point
-
- This was caused by a mismatch between WebCore's search code's notion of "selection" and
- WebView's search code's notion of "selection". WebCore's search code was starting
- just before or just after the "selection", which included collapsed, zero-length
- selections. WebKit's search code was only considering non-zero-length selections,
- and would not search all of the content when there was a zero-length selection.
- The fix was to make WebKit ignore the selection. This has a side effect of increasing
- the amount of redundantly-searched content in the case where no matches are found. To
- compensate for that, I special-cased the most common case of WebViews with a single frame,
- to avoid ever searching redundantly in those.
-
- * WebView/WebView.mm:
- (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]):
- remove startHasSelection ivar; special-case WebViews with only one frame; clarify the
- code that leads to redundant searching with comments.
-
-2007-02-20 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4900579> WebKit -finalize methods are not thread-safe; design change needed
-
- Call WebCoreObjCFinalizeOnMainThread from the initialize method of all the classes
- that have a finalizer that needs called on the main thread. Assert in finalize that we
- are on the main thread.
-
- * Carbon/CarbonWindowAdapter.m:
- (+[CarbonWindowAdapter initialize]):
- (-[CarbonWindowAdapter finalize]):
- * History/WebBackForwardList.mm:
- (+[WebBackForwardList initialize]):
- (-[WebBackForwardList finalize]):
- * History/WebHistoryItem.mm:
- (+[WebHistoryItem initialize]):
- * Misc/WebElementDictionary.mm:
- (+[WebElementDictionary initialize]):
- (-[WebElementDictionary finalize]):
- * Plugins/WebBaseNetscapePluginStream.m:
- (+[WebBaseNetscapePluginStream initialize]):
- (-[WebBaseNetscapePluginStream finalize]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (+[WebBaseNetscapePluginView initialize]):
- (-[WebBaseNetscapePluginView finalize]):
- * Plugins/WebBasePluginPackage.m:
- (+[WebBasePluginPackage initialize]):
- (-[WebBasePluginPackage finalize]):
- * Plugins/WebNetscapePluginStream.mm:
- (-[WebNetscapePluginStream finalize]):
- * WebCoreSupport/WebEditorClient.mm:
- (+[WebEditCommand initialize]):
- (-[WebEditCommand finalize]):
- * WebCoreSupport/WebFrameBridge.mm:
- (+[WebFrameBridge initialize]):
- (-[WebFrameBridge finalize]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (+[WebFramePolicyListener initialize]):
- (-[WebFramePolicyListener finalize]):
- * WebView/WebHTMLView.mm:
- (+[WebHTMLView initialize]):
- (-[WebHTMLView finalize]):
- * WebView/WebView.mm:
- (+[WebViewPrivate initialize]):
- (-[WebViewPrivate finalize]):
-
-2007-02-20 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by darin
-
- <rdar://problem/4838199>
- Integrate Mail and WebKit paste operations
-
- Mail overrides paste: because it has different
- preferred pasteboard types, but it should use our
- fragment creation code.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
- Moved fragment creation code into a new method.
- (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:]):
- Moved fragment creation code here.
- * WebView/WebHTMLViewPrivate.h: Exposed
- _documentFragmentFromPasteboard:forType:inContext: as SPI.
-
-2007-02-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Hatcher
-
- * Misc/WebKitNSStringExtras.h:
- * Misc/WebKitNSStringExtras.m:
- removed _webkit_userVisibleBundleVersionFromFullVersion; we decided to do this without
- adding SPI for it.
-
- * WebView/WebView.mm:
- (-[WebView _userVisibleBundleVersionFromFullVersion:]):
- new method, moved here from WebKitNSStringExtras, and is now a WebView method rather than
- an NSString method
- (-[WebView _computeUserAgent]):
- updated for method signature change
-
-2007-02-20 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John.
-
- * Misc/WebKitNSStringExtras.h: Added _webkit_userVisibleBundleVersionFromFullVersion.
- * Misc/WebKitNSStringExtras.m:
- (-[NSString _webkit_userVisibleBundleVersionFromFullVersion]): If the version is 4 digits long or longer,
- then the first digit represents the version of the OS. Our user agent string should not
- include this first digit, so strip it off and report the rest as the version.
- * WebView/WebView.mm:
- (-[WebView _computeUserAgent]): Call _webkit_userVisibleBundleVersionFromFullVersion on the CFBundleVersion.
-
-2007-02-20 Darin Adler <darin@apple.com>
-
- Reviewed by Anders.
-
- * Plugins/WebPluginController.mm: (-[WebPluginController pluginView:receivedResponse:]):
- Call cancelMainResourceLoad on the document loader instead of the frame loader.
-
-2007-02-20 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Mitz.
-
- <rdar://problem/5009627> REGRESSION: Repro overrelease of WebView in failed load, seen in DumpRenderTree
-
- * WebView/WebView.mm:
- (-[WebView _removeObjectForIdentifier:]):
- Return early if the identifier can't be found in the map.
-
-2007-02-19 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/4841078> Remove the Mail.app editable link clicking behavior workaround when it is no longer needed
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebView.mm:
- (-[WebView setPreferences:]):
-
-2007-02-19 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4868242>
- http://bugs.webkit.org/show_bug.cgi?id=12670
- REGRESSION: Many 3rd Party Apps crash in WebCore::DocumentLoader::frameLoader() (12670)
-
- Bring back the semantic we had that a web view should be retained for as long as something is loading. Use the identifier
- to object hash map for this.
-
- * WebView/WebView.mm:
- (-[WebView _addObject:forIdentifier:]):
- (-[WebView _removeObjectForIdentifier:]):
-
-2007-02-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Oliver
-
- <rdar://problem/4985321> - Can't edit templates for Web Gallery/Web Page Export in Aperture
-
- * Misc/WebKitVersionChecks.h: Add a #define for this APERTURE quirk
- * WebView/WebView.mm:
- (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
- If the current app is Aperture and it was linked against Tiger WebKit, always allow selection change
-
-2007-02-17 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Maciej.
-
- Additional coding by Maciej, additional review by Oliver.
-
- Added implementations for the new callbacks in EditorClient
- and ChromeClient (basically moved from WebFrameBridge).
- Cleaned up some code paths that are not called anymore
- and done fully inside WebCore now.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
- * Misc/WebElementDictionary.mm:
- * Misc/WebNSAttributedStringExtras.mm:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView getVariable:value:]):
- * Plugins/WebNetscapePluginEmbeddedView.mm:
- * Plugins/WebNetscapePluginStream.mm:
- * Plugins/WebPluginContainerCheck.mm:
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::shouldInterruptJavaScript):
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::shouldChangeSelectedRange):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]):
- (-[WebFrameBridge fini]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebView/WebArchiver.mm:
- * WebView/WebFrame.mm:
- (core):
- (kit):
- (-[WebFrame _updateBackground]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFrameView.mm:
- * WebView/WebHTMLRepresentation.mm:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _updateMouseoverWithEvent:]):
- (-[WebHTMLView _isEditable]):
- (-[WebHTMLView validateUserInterfaceItem:]):
- (-[WebHTMLView maintainsInactiveSelection]):
- (-[WebHTMLView scrollWheel:]):
- (-[WebHTMLView acceptsFirstMouse:]):
- (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
- (-[WebHTMLView cut:]):
- (-[WebHTMLView paste:]):
- (-[WebHTMLView selectedAttributedString]):
- * WebView/WebScriptDebugDelegate.mm:
- * WebView/WebView.mm:
- (-[WebView _dashboardRegions]):
- (-[WebView setProhibitsMainFrameScrolling:]):
- (-[WebView _setInViewSourceMode:]):
- (-[WebView _inViewSourceMode]):
- (-[WebView shouldClose]):
- (-[WebView setEditable:]):
-
-2007-02-18 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Moving the drag initiation logic to WebCore.
- The redundant code in webkit will be moved out in a later patch.
-
- * WebCoreSupport/WebDragClient.h:
- * WebCoreSupport/WebDragClient.mm:
- (getTopHTMLView):
- Helper function
- (WebDragClient::willPerformDragSourceAction):
- (WebDragClient::startDrag):
- (WebDragClient::createDragImageForLink):
- Implemented new DragClient methods
- (WebDragClient::declareAndWriteDragImage):
- Helper function for the Mac to allow new drag and drop
- code to match behaviour
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _dragImageForURL:withLabel:]):
- (-[WebHTMLView _dragImageForLinkElement:]):
- Refactoring old _dragImageForLinkElement function so that
- the link drag image can be created with just a URL and label,
- rather than requiring the original element
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
- Removed logic that is no longer necessary
- (-[WebHTMLView _mouseDownEvent]):
- The WebDragClient may need the original mouseDownEvent of a drag when initiating
- a drag
- * WebView/WebHTMLViewInternal.h:
- Declaring _mouseDownEvent
-
- * WebView/WebHTMLViewPrivate.h:
- Declaring _dragImageForURL
-
-2007-02-16 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Hatcher
-
- - fixed <rdar://problem/4811446> "Check Grammar" checkbox in Spelling+Grammar window doesn't
- live update with menu change in WebKit
-
- * WebView/WebView.mm:
- (-[WebView setGrammarCheckingEnabled:]):
- Use sekrit AppKit knowledge to tell NSSpellChecker about the change, since there's no API
- for this yet. Also restructured a little to avoid extra work when the value hasn't changed.
-
-2007-02-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- Save scroll state for back/forward navigation in FrameLoader, not the client
-
- * WebCoreSupport/WebFrameLoaderClient.h: Renamed the save/restore methods
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::saveViewStateToItem): Save viewstate only
- (WebFrameLoaderClient::restoreViewState): Restore viewstate only
-
-2007-02-14 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin.
-
- http://bugs.webkit.org/show_bug.cgi?id=12643
- NPN_Status is using latin-1 encoding for the message instead of UTF-8
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView status:]): Check for possible conversion failure.
-
-2007-02-13 Oliver Hunt <oliver@apple.com>
-
- Reviewed by John.
-
- Modify entry point ASSERTs for dragging functions to allow for the case
- where a load has occurred mid-drag. The load may detach the HTMLView
- from the WebView so it is no longer possible to check _isTopHTMLView.
-
- The assertion changes match that of revision 14897 which fixed the
- more common case ([WebHTMLView draggedImage:endedAt:operation:])
-
- It's also necessary to check for a null Page now prior to accessing
- the DragController, which is necessary in all of these methods.
-
- See rdar://problem/4994870
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
- (-[WebHTMLView draggedImage:movedTo:]):
- (-[WebHTMLView draggedImage:endedAt:operation:]):
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
-
-2007-02-13 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Maciej.
-
- http://bugs.webkit.org/show_bug.cgi?id=12643
- NPN_Status is using latin-1 encoding for the message instead of UTF-8
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView status:]): Use kCFStringEncodingUTF8.
-
-2007-02-13 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- Fix http://bugs.webkit.org/show_bug.cgi?id=12745
- Bug 12745: REGRESSION: Webkit will not load a plugin that Safari can load (symbol missing _objc_msgSend_fpret)
-
- Treat libobjc as a sub-library of WebKit in Debug/Release so that plugins and applications linked against an
- umbrella framework version of WebKit that expect to find libobjc symbols in WebKit can do so.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-02-12 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by .
-
- - reverting change to not cause regressions and performance problems.
-
- * Misc/WebNSAttributedStringExtras.mm:
- (fileWrapperForElement):
-
-2007-02-12 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12677
- <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm
- a clause in kotoeri (12677)
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12596
- <rdar://problem/4794346> REGRESSION: Tab key shifts form field focus instead of
- navigating prediction window (12596)
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=10010
- <rdar://problem/4822935> REGRESSION: Pressing Return with unconfirmed text in
- Hangul inserts carriage return (10010)
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12531
- <rdar://problem/4975126> REGRESSION: Inline text input types repeated keys in
- latest nightly (r19336) (12531)
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12539
- <rdar://problem/4975130> REGRESSION: Pressing Backspace while in inline input
- area moves to the previous page in history (12539)
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::markedTextAbandoned):
- Added.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView menuForEvent:]): Added explicit constructor needed now that the
- function takes a const&.
- (-[WebHTMLView becomeFirstResponder]): Removed fake event code, no longer needed
- since advanceFocus now works fine with 0 for a DOM event.
- (-[WebHTMLView _expandSelectionToGranularity:]): Changed to use the normal
- selection controller function instead of selectRange.
- (-[WebHTMLView insertTab:]): Changed to call bottleneck that receives the DOM
- event.
- (-[WebHTMLView insertBacktab:]): Ditto.
- (-[WebHTMLView insertNewline:]): Ditto.
- (-[WebHTMLView insertLineBreak:]): Ditto.
- (-[WebHTMLView insertParagraphSeparator:]): Ditto.
- (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Ditto.
- (-[WebHTMLView insertTabIgnoringFieldEditor:]): Ditto.
- (-[WebHTMLView yank:]): Updated to call Editor directly since the insertText
- code now works via a text input event which is not what we want for paste-like
- things such as yank.
- (-[WebHTMLView yankAndSelect:]): Ditto.
- (-[WebHTMLView selectToMark:]): Changed to use the normal selection controller
- function instead of selectRange, which also allows us to remove the ObjC exception
- handling code.
- (-[WebHTMLView swapWithMark:]): Ditto.
- (-[WebHTMLView transpose:]): Ditto.
- (-[WebHTMLView unmarkText]): Since this is one of the calls back from the input
- manager, added code to set the "event was handled" flag. Moved the actual work
- into the Editor class in WebCore and just call that from here.
- (-[WebHTMLView _selectRangeInMarkedText:]): Changed to use the normal selection
- controller function instead of selectRange.
- (-[WebHTMLView setMarkedText:selectedRange:]): Since this is one of the calls
- back from the input manager, added code to set the "event was handled" flag.
- Also changed the ignoreMarkedTextSelectionChange to use the flag over on the
- WebCore side, since we moved it there and to call selectMarkedText over on
- the WebCore side too.
- (-[WebHTMLView doCommandBySelector:]): Added special cases for newline and tab
- selectors so that the event is passed along. These selectors are special because
- they are ones that turn into text input events.
- (-[WebHTMLView _discardMarkedText]): Moved the body of this function into the
- Editor class in WebCore and just call that from here.
- (-[WebHTMLView insertText:]): Added code to send a text input event instead of
- calling the editor to do text insertion. The insertion is then done in the
- default handler for the text input event.
- (-[WebHTMLView _insertNewlineWithEvent:isLineBreak:]): Added. Sends a text
- input event.
- (-[WebHTMLView _insertTabWithEvent:isBackTab:]): Ditto.
- (-[WebHTMLView _updateSelectionForInputManager]): Changed to use the
- ignoreMarkedTextSelectionChange flag in Editor now that the one here is gone.
-
- * WebView/WebHTMLViewInternal.h: Remove ignoreMarkedTextSelectionChange field.
-
- * WebView/WebView.mm: (-[WebView setSelectedDOMRange:affinity:]): Changed to
- use the normal selection controller function instead of selectRange.
-
-2007-02-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark.
-
- Switch the initial value of box-sizing property from "border-box" to "content-box".
-
- * WebInspector/webInspector/inspector.js:
-
-2007-02-10 Mitz Pettel <mitz@webkit.org>
-
- Reviewed by Maciej.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=11847
- REGRESSION (SearchField): Dragging to select in the Web Inspector's search fields drags the inspector window
-
- * WebInspector/webInspector/inspector.css: Added the search field to the
- undraggable dashboard-region.
-
-2007-02-09 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin & Maciej.
-
- Fixed: <rdar://problem/4930688> REGRESSION: missing images when reloading webarchives (11962)
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::canUseArchivedResource): The bug here is that because a reload sets a cache
- policy of NSURLRequestReloadIgnoringCacheData (rightfully so), this method was refusing to load
- subresources in WebArchives. It's OK to use archive subresources for the NSURLRequestReloadIgnoringCacheData
- cache policy because we're not worried about the actual contents of a WebArchive changing on disk.
-
-2007-02-09 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by darin
-
- <rdar://problem/4975120>
- REGRESSION: double-cursor after switching window away/back (11770)
- <http://bugs.webkit.org/show_bug.cgi?id=11328>
- Gmail Editor: Caret can simultaneously appear in both the TO: and message body fields
-
- * WebCoreSupport/WebFrameBridge.mm: Removed unused methods.
- * WebView/WebHTMLView.mm: Ditto.
- (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Don't
- appear focused if a descendant view is firstResponder.
- (-[WebHTMLView _updateActiveState]): Removed the check for a BOOL
- that was always false.
- * WebView/WebHTMLViewInternal.h: Removed a BOOL that's always false.
-
-2007-02-09 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin.
-
- Fix for <rdar://problem/4674537> REGRESSION: Adobe Acrobat 8 - Text
- blinks when mouse is moved, and is invisible otherwise
-
- Allow quirk if the Application was linked before 3.0 and if the
- application is Adobe Acrobat.
-
- * Misc/WebKitVersionChecks.h:
- * WebView/WebView.mm:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
-
-2007-02-09 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Brady.
-
- * WebKit.exp: Add WebBaseNetscapePluginView to the export list.
-
-2007-02-09 John Sullivan <sullivan@apple.com>
-
- Reviewed by Beth
-
- - WebKit part of fix for radar 4939636, problems with context menu items and binaries linked
- against WebKit 2.0.
-
- * WebKit.xcodeproj/project.pbxproj:
- Changed DYLIB_CURRENT_VERSION to 2 (was 1)
-
- * Misc/WebKitVersionChecks.h:
- Added constant WEBKIT_FIRST_VERSION_WITH_3_0_CONTEXT_MENU_TAGS, which is 2 but in the weird
- format that these version checks use.
-
- * WebView/WebUIDelegatePrivate.h:
- Tweaked comments; included the old values for three tags for context menu items that changed
- from SPI to API in 3.0; renamed WEBMENUITEMTAG_SPI_START to WEBMENUITEMTAG_WEBKIT_3_0_SPI_START
- for clarity, and bumped its value to avoid conflict with the three old values
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (isAppleMail):
- new helper function that checks the bundle identifier
- (fixMenusToSendToOldClients):
- Removed return value for clarity; now checks linked-on version and also makes special case
- for Mail; now replaces three API tags with their old SPI values for clients that linked
- against old WebKit version, in addition to replacing new API with WebMenuItemTagOther for
- items that had no specific tag before.
- (fixMenusReceivedFromOldClients):
- Removed return value for clarity; removed defaultMenuItems parameter because it's no longer
- necessary; removed code that tried to recognize menus that got confused by the SPI -> API
- change (we now pass the old SPI values to these clients to avoid confusing them); now
- restores the tags for the items whose tags were replaced in fixMenusToSendToOldClients
- (this used to restore the tags of the default items rather than the new items, which was
- incorrect but happened to work since the clients we tested were using the objects from the
- default items array in their new items array)
- (WebContextMenuClient::getCustomMenuFromDefaultItems):
- Updated to account for the removed return values for the two fix-up methods; moved the
- autorelease of newItems here, which is clearer and was the source of a leak before.
-
-2007-02-08 Kevin McCullough <KMcCullough@apple.com>
-
- Reviewed by
-
- - fixing a build breakage.
-
- * Misc/WebNSAttributedStringExtras.mm:
- (fileWrapperForElement):
-
-2007-02-07 Charles Ying <charles_ying@yahoo.com>
-
- Reviewed by Adam.
-
- Code suggestion by aroben
-
- Fix http://bugs.webkit.org/show_bug.cgi?id=12688
-
- REGRESSION (r19469): ASSERT when right clicking on hyperlinks! in TOT webkit
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (fixMenusReceivedFromOldClients):
-
- - fixMenusReceivedFromOldClients was hitting an ASSERT incorrectly
- because it could not match [item title] to any of the contentMenuItemTags
- using pointer comparison ==. Instead, it needs to do a string comparison
- between [item title] and the various contentMenuItemTags using
- isEqualToString instead of ==. You would encounter this whenever the
- context menu was activated, e.g., from a hyperlink right click (or
- control click).
-
-
-2007-02-07 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- Move shouldInterruptJavaScript to the Chrome.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::shouldInterruptJavaScript):
- * WebCoreSupport/WebFrameBridge.mm:
-
-2007-02-07 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker
-
- - fixed all places in WebKit where _web_userVisibleString was used where
- _web_originalDataAsString should have been used instead.
-
- * History/WebURLsWithTitles.m:
- (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
- use _web_originalDataAsString when writing since these aren't displayed to the user
- (+[WebURLsWithTitles URLsFromPasteboard:]):
- use _web_URLWithDataAsString when reading, to match what we used when writing
-
- * Misc/WebNSPasteboardExtras.mm:
- (-[NSPasteboard _web_writeURL:andTitle:types:]):
- use _web_originalDataAsString when writing the NSURL type; continue using
- _web_userVisibleString when writing the plain text type
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _documentFragmentWithPaths:]):
- added comment about why _web_userVisibleString is appropriate here
- (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
- use _web_originalDataAsString when setting the href attribute of an anchor tag
-
-2007-02-07 David Harrison <harrison@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4943650> REGRESSION: insertion point blink redraws entire web page, making everything slow
-
- Problem is that AppKit recently changed NSControl to trigger a full redraw if the control has a focus ring.
- WebHTMLView is a subclass of NSControl, but the focus ring type was the default value, though we actually
- draw no focus ring. Fix is to formally set our focus ring type.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView initWithFrame:]):
- Send [self setFocusRingType:NSFocusRingTypeNone].
-
-2007-02-07 John Sullivan <sullivan@apple.com>
-
- Undid changes that I hadn't intended to check in
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _documentFragmentWithPaths:]):
- (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
-
-2007-02-07 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ollie and Geoff
-
- - fixed <rdar://problem/4982345> KURL::createCFURL leak inside -[WebFrameBridge startDraggingImage...]
- reported by buildbot
-
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- don't retain the imageURL we pass to the drag controller -- it's just automagically
- converted to a KURL anyway
-
-2007-02-07 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- - fixed <rdar://problem/4974420> REGRESSION: Dragging a saved image into the browser window
- displays a error (No File exists at the address "null") (12662)
-
- * WebCoreSupport/WebPasteboardHelper.mm:
- (WebPasteboardHelper::urlFromPasteboard):
- use _web_originalDataAsString instead of _web_userVisibleString, since _web_userVisibleString
- can return a string with non-ASCII characters -- suitable for display but not for code
-
-2007-02-07 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- - added some clarity to some menu-handling shenanigans
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (fixMenusToSendToOldClients):
- renamed from fixMenusForOldClients; added comments, FIXME, and assertion
- (fixMenusReceivedFromOldClients):
- renamed from fixMenusFromOldClients; added comments, FIXME, and assertion
- (WebContextMenuClient::getCustomMenuFromDefaultItems):
- updated for name changes
-
-2007-02-06 Kevin Decker <kdecker@apple.com>
-
- Fixed: <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
-
- Reviewed by Anders.
-
- * Plugins/WebPluginDatabase.m:
- (+[WebPluginDatabase sharedDatabase]): Removed NSApplicationWillTerminateNotification observer and thus
- also removed code that would unload the entire plug-in database when receiving that notification.
-
- The bug here was that this notification callback would happen first before anything else thus unloading
- plug-ins and releasing plug-in memory. That was crash prone because the JavaScriptCore collector would at
- a later time attempt to release its CInstance references (references that point to plug-in memory)
- without knowing WebKit already unloaded the plug-in out from underneath it. The WebPluginDatabase simply
- does not have enough context to make this decision.
-
- * WebView/WebView.mm: Added two statics: applicationIsTerminating, pluginDatabaseClientCount.
- (+[WebView initialize]): Added NSApplicationWillTerminateNotification observer.
- (+[WebView _applicationWillTerminate]): Added.
- (-[WebView _close]): WebKit has both a global plug-in database and a separate, per WebView plug-in database.
- We need to release both sets of plug-ins because Netscape plug-ins have "destructor functions" that should be
- called when the browser unloads the plug-in. These functions can do important things, such as closing/deleting
- files so it is important to ensure that they are properly called when the application terminates.
-
- The new change is that on app shutdown, we unload WebKit's global plug-in database if and only if the last WebView
- was closed. To do so otherwise would unload plug-ins out from underneath other WebViews.
-
-2007-02-06 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=11080
- <rdar://problem/4826648> REGRESSION: Incorrect vertical positioning of Safari
- status bar text containing @ character (11080)
-
- * Misc/WebKitNSStringExtras.m:
- (canUseFastRenderer): Fix code that mistakenly used the slow renderer for strings
- that have a direction of "other neutral", which includes the "@" character.
- (-[NSString _web_drawAtPoint:font:textColor:]): Add code to make the baseline of
- the text in the status bar right. AppKit's rule for rounding is complicated enough
- that this is obviously not perfectly correct, but it does make both code paths
- use the same baseline in all the places this is currently used in AppKit.
-
-2007-02-06 Darin Adler <darin@apple.com>
-
- Spotted by Steve F.
-
- * Misc/WebNSURLExtras.m:
- (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
- Fix obvious logic mistake I introduced back in revision 8255.
- I can't see how to exercise this code path, but I also can't
- bear to leave this obviously-broken code as-is.
-
-2007-02-05 David Kilzer <ddkilzer@webkit.org>
-
- Reviewed by Darin.
-
- http://bugs.webkit.org/show_bug.cgi?id=7266
- Webarchive format saves duplicate WebSubresources to .webarchive file
-
- Tests: webarchive/test-duplicate-resources.html
- webarchive/test-frameset.html
-
- * WebView/WebArchiver.mm:
- (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]): Use an NSMutableSet to prevent
- duplicate subresources from being added to the webarchive.
-
-2007-02-06 Mark Rowe <mrowe@apple.com>
-
- Roll out incomplete support for font-stretch (r19350) at Dave Hyatt's request.
- See http://bugs.webkit.org/show_bug.cgi?id=12530#c9 for more info.
-
- * WebInspector/webInspector/inspector.js:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _addToStyle:fontA:fontB:]):
-
-2007-02-05 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- Fix for <rdar://problem/4975161> REGRESSION: With BumperCar 2.1.1,
- the contextual menu fails to appear when I ctrl-click on page
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::getCustomMenuFromDefaultItems): If the
- delegate does not respond to contextMenuItemsForElement, return the
- default menu instead of nil.
-
-2007-02-01 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Added support for selectively ignoring WebCore::Node leaks during layout
- tests, so that we can ignore known leaks in other components.
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics startIgnoringWebCoreNodeLeaks]):
- (+[WebCoreStatistics stopIgnoringWebCoreNodeLeaks]):
-
-2007-02-01 Nicholas Shanks <webkit@nickshanks.com>
-
- Reviewed by Mark.
-
- Add support for CSS2 font-stretch property.
-
- * WebInspector/webInspector/inspector.js:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _addToStyle:fontA:fontB:]):
-
-2007-02-01 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4730469> REGRESSION: Assertion failure in -[WebDataSource(WebInternal) _bridge] when forwarding message
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource subresources]): Check for being uncommitted and return emtpy result.
- (-[WebDataSource subresourceForURL:]): ditto
-
-2007-01-31 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Migrating methods to WebCore
-
- * WebCoreSupport/WebFrameBridge.mm:
- * WebView/WebHTMLView.mm:
- * WebView/WebHTMLViewPrivate.h:
-
-2007-01-31 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/4886776>
- REGRESSION: After opening a web archive, location shows the actual URL, not the webarchive file
-
- "Revert" the change done in 13734.
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation loadArchive]):
- Don't do a new load here, as this would cancel the current load and call the resource load
- delegate's didFailLoadingWithError: method. Instead, call continueLoadWithData.
-
-2007-02-01 Nikolas Zimmermann <zimmermann@kde.org>
-
- Reviewed by Maciej.
-
- Fix run-pageloadtest to actually work again.
-
- * Misc/WebNSWindowExtras.m:
- (+[NSWindow _webkit_displayThrottledWindows]):
-
-2007-01-31 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- WebKit part of fix for <rdar://problem/4521461> REGRESSION: when keyPress event changes form focus, inserted key goes to wrong control
-
- * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): Instead of using the selected frame, use the
- frame for the target of the keyboard event. Also, don't do the canEdit check here, since the target's frame might not
- have a selection at this point. Do the canEdit check within Editor::insertText, where we determine which selection to use
- for inserting text.
- * WebView/WebEditingDelegatePrivate.h: Added forward declaration of DOMHTMLElement. This is needed after reordering includes in WebEditorClient.mm.
-
-2007-01-31 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Turning an accidental API change to an SPI change
-
- * WebView/WebEditingDelegate.h:
- * WebView/WebEditingDelegatePrivate.h:
- move some declarations into private header.
-
-2007-01-31 Darin Adler <darin@apple.com>
-
- - fix build
-
- * ForwardingHeaders/wtf/ListHashSet.h: Added.
-
-2007-01-31 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - related fix for <rdar://problem/4964407> REGRESSION: Mail hangs when replying, forwarding , or creating a new message
-
- * WebView/WebFrame.mm:
- (-[WebFrame loadArchive:]): This method also needs to add the lame WebDataRequest property or other things, like
- Mail Contents of Page, break.
-
-2007-01-31 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- - add back no-op version of silly method so that shipping Safari can still run the PLT
-
- * Misc/WebNSWindowExtras.m:
- (-[NSWindow _webkit_displayThrottledWindows]):
-
-2007-01-31 Mark Rowe <mrowe@apple.com>
-
- More build fixing.
-
- * Misc/WebKitLogging.h: Use !defined() rather than !.
- * Plugins/WebNetscapePluginStream.h: Remove #if __cplusplus as this file is only included from Obj-C++ files.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]): Use #ifdef rather than #if.
- * WebView/WebView.mm:
- (-[WebView isGrammarCheckingEnabled]): Ditto.
-
-2007-01-31 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- * WebView/WebView.mm:
- (-[WebView initWithFrame:frameName:groupName:]):
-
-2007-01-31 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver.
-
- Enable -Wundef in WebKit, and change misuses of #if to #ifdef or #ifndef as appropriate.
-
- * Misc/WebKitLogging.h:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebFrame.mm:
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItem:]):
- (-[WebHTMLView delete:]):
- (-[WebHTMLView showGuessPanel:]):
- (-[WebHTMLView copy:]):
- (-[WebHTMLView cut:]):
- (-[WebHTMLView paste:]):
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebView.mm:
- (-[WebViewPrivate init]):
- (-[WebView validateUserInterfaceItem:]):
- * WebView/WebViewPrivate.h:
-
-2007-01-30 Brady Eidson <beidson@apple.com>
-
- Reviewed by Oliver
-
- This is a corollary to <rdar://problem/4944887> where certain things happened on an alternate thread.
- To help catch such behavior in the future, add ASSERT_MAIN_THREAD() to key WebKit API points
-
- * History/WebHistoryItem.mm: Added ASSERT_MAIN_THREAD() to suspected API entry points
- (-[WebHistoryItem dealloc]):
- (-[WebHistoryItem finalize]):
- (-[WebHistoryItem copyWithZone:]):
- (-[WebHistoryItem URLString]):
- (-[WebHistoryItem originalURLString]):
- (-[WebHistoryItem title]):
- (-[WebHistoryItem lastVisitedTimeInterval]):
- (-[WebHistoryItem isEqual:]):
- (-[WebHistoryItem description]):
- (-[WebHistoryItem initWithWebCoreHistoryItem:]):
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- (-[WebHistoryItem scrollPoint]):
- (-[WebHistoryItem dictionaryRepresentation]):
- (-[WebHistoryItem target]):
- (-[WebHistoryItem visitCount]):
- (-[WebHistoryItem children]):
- (-[WebHistoryItem URL]):
- (-[WebHistoryItem _lastVisitedDate]):
- (-[WebHistoryItem targetItem]):
-
- * Misc/WebIconDatabase.mm: Added ASSERT_MAIN_THREAD() to suspected API entry points
- (-[WebIconDatabase iconForURL:withSize:cache:]):
- (-[WebIconDatabase iconURLForURL:]):
- (-[WebIconDatabase defaultIconWithSize:]):
- (-[WebIconDatabase retainIconForURL:]):
- (-[WebIconDatabase releaseIconForURL:]):
- (-[WebIconDatabase removeAllIcons]):
- (-[WebIconDatabase _iconForFileURL:withSize:]):
- (webGetNSImage):
-
- * Misc/WebKitLogging.h: Added ASSERT_MAIN_THREAD()
- * Misc/WebKitLogging.m:
- (WebKitRunningOnMainThread): Added
-
- * WebKit.xcodeproj/project.pbxproj: Define DISABLE_THREAD_CHECK until it is
- safe to run with ASSERT_MAIN_THREAD() active
-
-2007-01-30 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4961953> Stop using NSString deprecated methods like initWithCString:
-
- * Misc/WebNSImageExtras.m:
- (-[NSImage _web_saveAndOpen]):
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-01-30 Mitz Pettel <mitz@webkit.org>
-
- Reviewed by Geoff.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12050
- REGRESSION: Assertion failure in -[WebBaseNetscapePluginView willCallPlugInFunction] (plugin)
-
- Test: plugins/createScriptableObject-before-start.html
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView createPluginScriptableObject]): Return NULL if
- the plugin is not started.
-
-2007-01-30 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- <rdar://problem/4964407> REGRESSION: Mail hangs when replying, forwarding , or creating a new message
-
- * WebView/WebFrame.mm:
- (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Set WebDataRequest property on data
- load requests since Mail specifically checks for this.
-
-2007-01-30 Graham Dennis <graham.dennis@gmail.com>
-
- Reviewed by Maciej.
-
- Part of fix for http://bugs.webkit.org/show_bug.cgi?id=10725
- Image data in from RTFD clipboard data thrown away
-
- The URLs for images in RTFD data must not be loaded until the resources
- have been added to the WebUnarchivingState. This can't happen until
- after the RTFD data has been parsed, so we must delay loading while this
- RTFD data is being parsed to a document fragment.
-
- * WebView/WebHTMLView.mm:
- (uniqueURLWithRelativePart):
- (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]): defer loading the resources while RTFD data is being parsed.
- (+[NSURL _web_uniqueWebDataURL]): Added this back because AppKit uses it.
- * WebView/WebUnarchivingState.m:
- (-[WebUnarchivingState archivedResourceForURL:]): orkaround for workaround for rdar://problem/4699166 so that other people can use archivedResourceForURL: too.
-
-2007-01-29 Jim Correia <jim.correia@pobox.com>
-
- Reviewed by Mark.
-
- Added support for -allowsUndo/-setAllowsUndo: to allow editable WebView
- clients to completely disable undo registration. This is functionally
- equivalent to the methods with the same names on NSTextView.
-
- * WebView/WebView.mm:
- (-[WebViewPrivate init]):
- (-[WebView initWithCoder:]):
- (-[WebView encodeWithCoder:]):
- (-[WebView allowsUndo]):
- (-[WebView setAllowsUndo:]):
- (-[WebView undoManager]):
- * WebView/WebViewPrivate.h:
-
-2007-01-29 Ada Chan <adachan@apple.com>
-
- Reviewed by Brady.
-
- Moved the update of the title of the current entry in the backforward list to WebCore.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::setTitle):
-
-2007-01-29 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- More preparation for event handling fixes.
-
- * WebCoreSupport/WebEditorClient.h: Removed EventTargetNode parameter, since you can
- just get this from the KeyboardEvent.
- * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): ditto.
-
- * WebView/WebHTMLViewInternal.h: Added interpretKeyEventsParameters struct.
- * WebView/WebViewInternal.h: Changed parameter from NSEvent to WebCoreKeyboardEvent in _interceptEditingKeyEvent.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView yankAndSelect:]): Updated for new triggeringEvent parameter.
- (-[WebHTMLView _interceptEditingKeyEvent:]): Set the WebHTMLViewInterpretKeyEventsParameters.
- (-[WebHTMLView doCommandBySelector:]): Access WebHTMLViewInterpretKeyEventsParameters.
- (-[WebHTMLView insertText:]): ditto.
- (-[WebHTMLView _insertText:selectInsertedText:triggeringEvent:]): Added parameter for triggeringEvent.
-
-2007-01-29 Oliver Hunt <oliver@apple.com>
-
- build fix
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
-
-2007-01-25 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Migrated drag state and logic to WebCore, removed superfluous methods
-
- * ChangeLog:
- * WebCoreSupport/WebDragClient.h:
- * WebCoreSupport/WebDragClient.mm:
- (WebDragClient::dragSourceActionMaskForPoint):
- * WebCoreSupport/WebFrameBridge.mm:
- allowDHTMLDrag move to WebCore::EventHandler
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- (-[WebHTMLView draggedImage:movedTo:]):
- (-[WebHTMLView draggedImage:endedAt:operation:]):
- dragOffset and dragSourecAction is now stored in WebCore::DragController
- migrated _delegateDragSourceActionMask to WebCore::DragController
- * WebView/WebHTMLViewInternal.h:
- Removed dragOffset declaration, migrated to WebCore::DragController
- * WebView/WebView.mm:
- removed unnecessary method, _loadingDragOperationForDraggingInfo
-
-2007-01-29 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Mark.
-
- - updated for cross-platform data loading support
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createDocumentLoader):
- * WebView/WebDataSource.mm:
- (-[WebDataSource initWithRequest:]):
- * WebView/WebDocumentLoaderMac.h:
- * WebView/WebDocumentLoaderMac.mm:
- (WebDocumentLoaderMac::WebDocumentLoaderMac):
- * WebView/WebFrame.mm:
- (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
- (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
- (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
- (-[WebFrame loadArchive:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.mm:
- (uniqueURLWithRelativePart):
- (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
-
-2007-01-27 David Kilzer <ddkilzer@webkit.org>
-
- Reviewed by Adam.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12260
- Windows platform build is not maintained
-
- * COM/ChromeClientWin.cpp:
- (ChromeClientWin::canTakeFocus):
- (ChromeClientWin::takeFocus):
- * COM/ChromeClientWin.h:
- * COM/ContextMenuClientWin.cpp:
- (ContextMenuClientWin::getCustomMenuFromDefaultItems):
- (ContextMenuClientWin::searchWithGoogle):
- * COM/ContextMenuClientWin.h:
- * COM/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::assignIdentifierToInitialRequest):
- (WebFrameLoaderClient::dispatchWillSendRequest):
- (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidReceiveResponse):
- (WebFrameLoaderClient::dispatchDidReceiveContentLength):
- (WebFrameLoaderClient::dispatchDidFinishLoading):
- (WebFrameLoaderClient::dispatchDidFailLoading):
- (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
- (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidFailLoad):
- (WebFrameLoaderClient::dispatchCreatePage):
- (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
- (WebFrameLoaderClient::setMainDocumentError):
- (WebFrameLoaderClient::incrementProgress):
- (WebFrameLoaderClient::completeProgress):
- (WebFrameLoaderClient::startDownload):
- (WebFrameLoaderClient::committedLoad):
- (WebFrameLoaderClient::cancelledError):
- (WebFrameLoaderClient::cannotShowURLError):
- (WebFrameLoaderClient::interruptForPolicyChangeError):
- (WebFrameLoaderClient::cannotShowMIMETypeError):
- (WebFrameLoaderClient::fileDoesNotExistError):
- (WebFrameLoaderClient::shouldFallBack):
- (WebFrameLoaderClient::willUseArchive):
- (WebFrameLoaderClient::createDocumentLoader):
- (WebFrameLoaderClient::download):
- * COM/WebFrameLoaderClient.h:
-
-2007-01-27 David Harrison <harrison@apple.com>
-
- Reviewed by Kevin.
-
- <rdar://problem/4958902> REGRESSION: Dashboard widgets fail to load
-
- This was caused by the WebView preferences rework in r18417. Specifically, in
- _updateWebCoreSettingsFromPreferences when calling setUserStyleSheetLocation,
- [NSURL URLWithString:] is now messaged directly with the result of
- [[preferences userStyleSheetLocation] _web_originalDataAsString]], which will
- be nil if the userStyleSheetLocation has not been set yet. [NSURL URLWithString:]
- throws an exception when the string is nil. DashboardClient.app calls
- setUserStyleSheetEnabled *before* calling setUserStyleSheetLocation.
-
- * WebView/WebView.mm:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
- Pass empty string instead of nil string to [NSURL URLWithString:].
-
-2007-01-26 Darin Adler <darin@apple.com>
-
- Reviewed by Timothy.
-
- Fixes crash drawing avatar on mail.yahoo.com.
-
- * Plugins/WebBaseNetscapePluginStream.m: Retain the object since destroyStreamWithError: might
- release the last reference to it.
-
-2007-01-26 Darin Adler <darin@apple.com>
-
- Reviewed by Beth.
-
- * WebInspector/webInspector/inspector.js: Updated for new computed style properties.
-
-2007-01-26 Kevin Decker <kdecker@apple.com>
-
- Reviewed by andersca.
-
- Fixed: <rdar://problem/4946922> WebBaseNetscapePluginView leaks memory
- http://bugs.webkit.org/show_bug.cgi?id=11523
-
- * Plugins/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setPlugin:]): Calls -[WebBaseNetscapePluginView disconnectStream:]
- * Plugins/WebBaseNetscapePluginView.h: Added disconnectStream: to header.
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView stop]): Make a copy of the streams collection prior to calling stop all streams.
- This is necessary because calling stop has the side effect of removing the stream from this same collection.
- (-[WebBaseNetscapePluginView disconnectStream:]): Added. Removes the stream from the streams collection.
-
-2007-01-25 Kevin Decker <kdecker@apple.com>
-
- Backed out my last patch because it crashes espn.com. Stay tuned for a newer version..
-
- * Plugins/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setPlugin:]): Removed call to streamIsDead.
- * Plugins/WebBaseNetscapePluginView.h: Removed streamIsDead.
- * Plugins/WebBaseNetscapePluginView.mm: Ditto.
-
-2007-01-25 Darin Adler <darin@apple.com>
-
- Reviewed by Beth.
-
- - fix <rdar://problem/4952766> Safari has a top secret color picker that can be used to... uhh... I don't know
-
- * Panels/English.lproj/WebAuthenticationPanel.nib/info.nib: Let Interface Builder have its way.
- * Panels/English.lproj/WebAuthenticationPanel.nib/objects.nib: Remove the NSColorWell that was
- in here (for no good reason).
-
-2007-01-25 Kevin Decker <kdecker@apple.com>
-
- Reviewed by andersca.
-
- A few tweaks with of a fix done by Steve Gehrman.
-
- Fixed: <rdar://problem/4946922> WebBaseNetscapePluginView leaks memory
- http://bugs.webkit.org/show_bug.cgi?id=11523
-
- * Plugins/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream setPlugin:]): Calls -[WebBaseNetscapePluginView streamIsDead:]
- * Plugins/WebBaseNetscapePluginView.h: Added streamIsDead to header.
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView streamIsDead:]): Added. Removes the stream from the streams collection.
-
-2007-01-25 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin, Geoff, Brady, and Darin
-
- - fixed <rdar://problem/4918446> Safari's temp files (PDF's) should be in a sub-folder when calling Preview
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView _path]):
- use _temporaryPDFDirectoryPath method instead of #defines for hardwiring strings; stop bad practice
- of modifying the const char* returned by fileSystemRepresentation
- (-[WebPDFView _temporaryPDFDirectoryPath]):
- new method, lazily creates and returns a secure temporary directory created with NSTemporaryDirectory()
- and mkdtemp
-
- * English.lproj/StringsNotToBeLocalized.txt:
- Updated for these and other recent changes
-
-2007-01-24 Oliver Hunt <oliver@apple.com>
-
- Build fix
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
-
-2007-01-24 Oliver Hunt <ioliver@apple.com>
-
- Reviewed by Maciej.
-
- Migrating more drag state information to WebCore
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLViewPrivate dealloc]):
- (-[WebHTMLViewPrivate clear]):
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- (-[WebHTMLView _mayStartDragAtEventLocation:]):
- (-[WebHTMLView close]):
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
- (-[WebHTMLView _delegateDragSourceActionMask]):
- * WebView/WebHTMLViewInternal.h:
-
-2007-01-24 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- Small improvement to my last checkin to prevent the keyEventWasInterpreted bool from
- being overwritten by reentrancy.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _interceptEditingKeyEvent:]): Point keyEventWasInterpreted pointer to local variable.
- (-[WebHTMLView doCommandBySelector:]):
- (-[WebHTMLView insertText:]):
- * WebView/WebHTMLViewInternal.h: Added BOOL pointer that will point to the local variable on the stack in _interceptEditingKeyEvent
-
-2007-01-24 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- - Fix for <rdar://problem/4950527> REGRESSION: Can't use arrow keys (left/right) to navigate caret in input (type=text) or textarea fields
-
- Keep track of whether interpretKeyEvents handles the key event based on whether or not we get
- called in insertText or doCommandBySelector.
-
- Test: fast/events/arrow-navigation.html
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView performKeyEquivalent:]):
- (-[WebHTMLView _interceptEditingKeyEvent:]):
- (-[WebHTMLView doCommandBySelector:]):
- (-[WebHTMLView insertText:]):
- * WebView/WebHTMLViewInternal.h:
-
-2007-01-25 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Maciej.
-
- * Info.plist: Update copyright string.
-
-2007-01-24 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- * WebKit.xcodeproj/project.pbxproj: Changed to /usr/sbin/sysctl
- so we don't rely on people's paths.
-
-2007-01-24 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - fix small regression and GC problems noticed by code inspection
-
- * WebView/WebHTMLView.mm: Move global declarations to the start of the file.
- (+[WebHTMLView _excludedElementsForAttributedStringConversion]):
- Add a CFRetain here for GC compatibility.
- (+[WebHTMLView _insertablePasteboardTypes]): Ditto.
- (-[WebHTMLView performKeyEquivalent:]): Fix small logic mistake that prevents
- super from being called if EventHandler::keyEvent returns false. Reformatted
- the code a bit and added a local variable for the frame.
- (-[WebHTMLView _interceptEditingKeyEvent:]): Added some comments.
- (-[WebHTMLView validAttributesForMarkedText]): Add a CFRetain here for
- GC compatibility.
-
-2007-01-23 Adele Peterson <adele@apple.com>
-
- Reviewed by Adam.
-
- Fixed 2 layout tests that I broke with my last checkin.
-
- * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): Use the selected frame to get the WebHTMLView.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView performKeyEquivalent:]): Added global to keep track of NSEvent used here.
- (-[WebHTMLView _interceptEditingKeyEvent:]): Check NSEvent against the event used in performKeyEquivalent.
- We don't want to intercept these events.
-
-2007-01-23 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- WebKit part of fix for <rdar://problem/4946753>REGRESSION: Inserting tabs is broken in Mail
-
- In addition to this fix, I also reorganized some event handling code for keyPress events to
- prepare for another fix.
-
- * WebCoreSupport/WebEditorClient.h: Added handleKeyPress method.
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::handleKeyPress): Added. Code moved from WebHTMLView keyDown method.
- This is called from the defaultEventHandler so that in the future, we can make the right
- decision about which selection the keyPress should apply to.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView keyDown:]): Moved _interceptEditingKeyEvent call to handleKeyPress.
- (-[WebHTMLView _interceptEditingKeyEvent:]): Prevents intercepting keys for cmd-modified events. Removed tabCycling checks
- since this is now handled in WebCore.
- * WebView/WebHTMLViewInternal.h: Made _interceptEditingKeyEvent SPI.
- * WebView/WebView.mm: Use new tabKeyCyclesThroughElements methods on the page.
- (-[WebViewPrivate init]): ditto.
- (-[WebView setTabKeyCyclesThroughElements:]): ditto.
- (-[WebView tabKeyCyclesThroughElements]): ditto.
- (-[WebView setEditable:]): ditto
-
-2007-01-23 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Maciej
-
- Make the last remaining pieces of the FrameLoader platform
- independent. Move most of the code over to WebFrameLoaderClient.
- Some smaller cleanups in the WebFrameBridge, and moved some
- platform independent functionality over to the shared code
- in WebCore.
-
- * Webcoresupport/WebFrameBridge.mm:
- (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]):
- (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::setTitle):
- (WebFrameLoaderClient::createFrame):
- (WebFrameLoaderClient::objectContentType):
- (nsArray):
- (WebFrameLoaderClient::createPlugin):
- (WebFrameLoaderClient::redirectDataToPlugin):
- (nsMutableArray):
- (WebFrameLoaderClient::createJavaAppletWidget):
- (WebFrameLoaderClient::overrideMediaType):
- (WebFrameLoaderClient::windowObjectCleared):
-
-2007-01-23 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Drop logic bindings for WebKit
-
- * WebCoreSupport/WebDragClient.h: Added.
- * WebCoreSupport/WebDragClient.mm: Added.
- (WebDragClient::WebDragClient):
- (WebDragClient::actionMaskForDrag):
- (WebDragClient::willPerformDragDestinationAction):
- Standard client impl
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- Updated to use DragController to track drag state
-
- * WebCoreSupport/WebPasteboardHelper.h: Added.
- (WebPasteboardHelper::WebPasteboardHelper):
- A *temporary* Helper class to access NSPasteboard access and
- manipulation functions present in WebKit
- * WebCoreSupport/WebPasteboardHelper.mm: Added.
- (WebPasteboardHelper::urlFromPasteboard):
- (WebPasteboardHelper::plainTextFromPasteboard):
- (WebPasteboardHelper::fragmentFromPasteboard):
- (WebPasteboardHelper::insertablePasteboardTypes):
- See header comment
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDocumentInternal.h:
- Remove unnecessary protocol
- * WebView/WebFrameView.mm:
- (-[WebFrameView _setDocumentView:]):
- Updating to use DragController to track drag state
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- ditto
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
- ditto
- (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
- ditto
- (-[WebHTMLView draggedImage:endedAt:operation:]):
- ditto
- (-[WebHTMLView _documentFragmentForPasteboard:]):
- Helper method to generate DocumentFragment from NSPasteboard without regressing
- (-[WebHTMLView _canProcessDragWithDraggingInfo:]):
- Updating to use DragController to track drag state
- (-[WebHTMLView _isMoveDrag:]):
- (-[WebHTMLView _isNSColorDrag:]):
- * WebView/WebHTMLViewInternal.h:
- Removing unnecessary fields and methods
- * WebView/WebView.mm:
- (-[WebViewPrivate dealloc]):
- Remove obsolete ASSERT
- (-[WebView _setInitiatedDrag:]):
- Now passes directly through to DragController
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView _loadingDragOperationForDraggingInfo:]):
- Removed
- (-[WebView draggingEntered:]):
- Updated to use DragController
- (-[WebView draggingUpdated:]):
- ditto
- (-[WebView draggingExited:]):
- ditto
- (-[WebView performDragOperation:]):
- ditto
- (-[WebView _hitTest:dragTypes:]):
- * WebView/WebViewInternal.h:
- remove unnecessary method def
-
-2007-01-22 John Sullivan <sullivan@apple.com>
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
- Tiger build fix: remove unused variable for return value of dictionaryServiceWindowShow
-
-2007-01-22 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adam and Darin
-
- - fixed <rdar://problem/4794320> "Look Up in Dictionary" does nothing in WebKit
- (need to adopt new API)
-
- * Misc/WebNSURLExtras.m:
- (-[NSString _web_isUserVisibleURL]):
- random typo correction in comment
-
- * English.lproj/StringsNotToBeLocalized.txt:
- updated for these changes
-
- * WebView/WebHTMLView.mm:
- (coreGraphicsScreenPointForAppKitScreenPoint):
- new function to convert an AppKit screen point to a CG screen point
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
- on Leopard now uses new API. There's something of an impedance mismatch between
- this API and WebKit, but that was true for the SPI we were using in Tiger also.
- Bug 4945808 covers the ways in which this is not perfect.
-
-2007-01-21 Darin Adler <darin@apple.com>
-
- Reviewed by Tim H.
-
- * WebInspector/webInspector/inspector.css: Use row-resize for the splitter cursor
- instead of move. It's a horizontal splitter resizer.
-
-2007-01-19 Adam Roben <aroben@apple.com>
-
- Reviewed by Beth.
-
- Fix <rdar://problem/4942294> REGRESSION: "Spelling and Grammar",
- "Font", "Speech", and "Writing Direction" are missing from contextual
- menu
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (fixMenusForOldClients): Change our new SPI tags to
- WebMenuItemTagOther because old clients aren't expecting the new tags.
- (fixMenusFromOldClients): Use each menu item's title to figure out its
- correct tag again.
- (WebContextMenuClient::getCustomMenuFromDefaultItems): Call
- fixMenusForOldClients before calling up to the delegate.
- * WebView/WebUIDelegatePrivate.h: Define WEBMENUITEMTAG_SPI_START so
- that we can use it in WebContextMenuClient.
-
-2007-01-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- - WebKit part of fix for: <rdar://problem/4451715> REGRESSION: On some sites, have to
- type a character before username/password autofill kicks in
-
- Added new webView:didFinishDocumentLoadForFrame: SPI and wired it up
-
- * WebView/WebViewPrivate.h:
- declare new delegate method
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- declare dispatchDidFinishDocumentLoad()
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
- new method, calls new delegate method
-
- * DefaultDelegates/WebDefaultFrameLoadDelegate.m:
- (-[WebDefaultFrameLoadDelegate webView:didFinishDocumentLoadForFrame:]):
- empty default implementation of new delegate method
-
-2007-01-19 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by John Sullivan.
-
- http://bugs.webkit.org/show_bug.cgi?id=12308
- REGRESSION(r18910): Crash in WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
- Move code from initWithFrame in here.
-
-2007-01-19 Anders Carlsson <acarlsson@apple.com>
-
- Yet another build fix.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::setStatusbarText):
-
-2007-01-18 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Move functions from the bridge to the chrome client.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::runJavaScriptAlert):
- (WebChromeClient::runJavaScriptConfirm):
- (WebChromeClient::runJavaScriptPrompt):
- (WebChromeClient::setStatusBarText):
- * WebCoreSupport/WebFrameBridge.mm:
-
-2007-01-18 Adam Roben <aroben@apple.com>
-
- Reviewed by Beth.
-
- Fix <rdar://problem/4939672> REGRESSION: With text selected that is
- not a link, the "Remove Link" contextual menu item remains active
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView menuForEvent:]): Leave autoenabling of menu items on so
- that clients can implement validateMenuItem:.
-
-2007-01-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adele
-
- <rdar://problem/4917290> -
- Null deref in WebFrameLoaderClient::restoreScrollPositionAndViewState()
- after regaining network connection
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::restoreScrollPositionAndViewState): Bail early with a null currentItem, preventing
- a crash in release builds. Leave the ASSERT to help find other cases where this might happen in debug builds.
-
-2007-01-18 Kevin Decker <kdecker@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/4939511> WebKit should set the CG clip path for plug-ins that draw using CoreGraphics
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView drawRect:]): Set the CG clip path to the plug-in dirty rect. This allows plug-ins to obtain their
- dirty rect using functions like CGContextGetClipBoundingBox().
-
-2007-01-17 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Harrison.
-
- Fix for <rdar://problem/4894155> REGRESSION: Extra line break is pasted with content into message body after choosing File - Paste
-
- Migration of some editing code from WebHTMView to WebCore::Editor
- resulted in not calling pasteboardTypesForSelection, which Mail was
- overriding for the special purpose of adding a type to the
- pasteboard after WebKit did. This patch adds 2 separate code paths
- for Tiger and Leopard. On Tiger we give in and call the WebView's
- pasteboardTypesForSelection. On Leopard we call a delegate after
- the pasteboard types are set.
-
- * DefaultDelegates/WebDefaultEditingDelegate.m:
- (-[WebDefaultEditingDelegate webView:didSetSelectionTypesForPasteboard:]):
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::didSetSelectionTypesForPasteboard):
- (WebEditorClient::pasteboardTypesForSelection):
- * WebView/WebEditingDelegate.h:
-
-2007-01-17 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- - WebKit part of fix for <rdar://problem/4462420> REGRESSION: Mail hangs during
- Replace All if the replacement string contains the search string
-
- * Misc/WebKitVersionChecks.h:
- Added extern "C" so this can be used from .mm files. I don't need this change anymore for
- this fix, but it's still worth fixing now so it doesn't bite anyone later.
-
- * WebView/WebDocumentPrivate.h:
- Invented new private protocol WebDocumentIncrementalSearching, that has one method. The one
- method is just like the one WebDocumentSearching method, but with an additional parameter.
- We hope to eliminate this dependence on protocols someday, but adding another one as SPI
- seems like it won't make anything worse.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
- now calls through to new method that has one additional parameter, passing NO to match old behavior
- (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
- pass new parameter to bridge
-
- * WebView/WebPDFView.h:
- Declare conformance to WebDocumentIncrementalSearching protocol
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
- now calls through to new method that has one additional parameter, passing NO to match old behavior
- (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]):
- new method, former guts of searchFor:direction:caseSensitive:wrap: but now handles startInSelection
- parameter
-
- * WebView/WebViewPrivate.h:
- Declare new searchFor:direction:caseSensitive:wrap:startInSelection: method, just like existing
- method but with one additional parameter
-
- * WebView/WebView.mm:
- (-[WebView searchFor:direction:caseSensitive:wrap:]):
- now calls through to new method that has one additional parameter, passing NO to match old behavior
- (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]):
- new method, former guts of searchFor:direction:caseSensitive:wrap: but now handles startInSelection
- parameter
-
-2007-01-17 Brady Eidson <beidson@apple.com>
-
- Reviewed by Deth Bakin and Brian Dash
-
- Drop Panther Support (?!?) and change the comment explaining some SPI forward decls
-
- * Misc/WebDownload.m:
-
-2007-01-17 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12278
- <rdar://problem/4928705> REGRESSION(r13070): Dragged image size includes padding (12278)
-
- * Misc/WebElementDictionary.mm: (-[WebElementDictionary _imageRect]):
- Call HitTestResult::imageRect, not HitTestResult::boundingBox.
-
-2007-01-17 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by John Sullivan.
-
- Move all code in WebNetscapePluginEmbeddedView down to WebBaseNetscapePluginView.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
- (-[WebBaseNetscapePluginView didStart]):
- (-[WebBaseNetscapePluginView dataSource]):
- (-[WebBaseNetscapePluginView dealloc]):
- (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
- (-[WebBaseNetscapePluginView pluginView:receivedData:]):
- (-[WebBaseNetscapePluginView pluginView:receivedError:]):
- (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
- (-[WebBaseNetscapePluginView _redeliverStream]):
- * Plugins/WebNetscapePluginEmbeddedView.h:
- * Plugins/WebNetscapePluginEmbeddedView.mm:
-
-2007-01-17 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- <rdar://problem/4887781> Seed: Repro Safari crash in -[WebHTMLRepresentation receivedData:withDataSource:] (music.aol.com)
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource _receivedData:]): Protect self against destruction partway through this method.
-
-2007-01-16 Alice Liu <alice.liu@apple.com>
-
- Reviewed by harrison.
-
- Fixed <rdar://problem/4921134> WebKit needs extensible cut/copy to allow additional types to be written to pasteboard
-
- * DefaultDelegates/WebDefaultEditingDelegate.m:
- (-[WebDefaultEditingDelegate webView:didWriteSelectionToPasteboard:]):
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::didWriteSelectionToPasteboard):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebEditingDelegate.h:
-
-2007-01-15 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by mjs
-
- <rdar://problem/4810960>
- Gmail Editor: window.focus() called on keyDown (9640)
-
- The window's keydown event handler was being called
- instead of the editable subframe's if there was a key binding
- for the key event.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView performKeyEquivalent:]): Don't send the event
- to WebCore unless this WebHTMLView is the firstResponder.
-
-2007-01-15 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin.
-
- Update to match WebCore.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::willChangeEstimatedProgress):
- (WebFrameLoaderClient::didChangeEstimatedProgress):
- (WebFrameLoaderClient::postProgressStartedNotification):
- (WebFrameLoaderClient::postProgressEstimateChangedNotification):
- (WebFrameLoaderClient::postProgressFinishedNotification):
- Post the correct notifications.
-
- * WebView/WebView.mm:
- (-[WebViewPrivate init]):
- (-[WebViewPrivate dealloc]):
- Get rid of all progress tracking code.
-
- (-[WebView estimatedProgress]):
- Call ProgressTracker::estimatedProgress()
-
-2007-01-15 Adam Roben <aroben@apple.com>
-
- Reviewed by Darin.
-
- Fix: http://bugs.webkit.org/show_bug.cgi?id=12134
- REGRESSION: Assertion failure and crash when right clicking selection
- in forms
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (fixMenusFromOldApps): Static helper to fix up menus from applications
- compiled against Tiger WebKit.
- (WebContextMenuClient::getCustomMenuFromDefaultItems): Call helper to
- fix menus.
- * WebView/WebUIDelegatePrivate.h: Fixed typo.
-
-2007-01-14 David Kilzer <ddkilzer@kilzer.net>
-
- Reviewed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12251
- REGRESSION (r18822-r18823): Assertion failure opening document with non-existent resources
- (dom/xhtml/level2/html/HTMLIFrameElement11.xhtml)
-
- * WebView/WebView.mm:
- (-[WebView _objectForIdentifier:]): Removed assertion.
- (-[WebView _removeObjectForIdentifier:]): Removed assertion.
-
-2007-01-12 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin.
-
- Add a HashMap between unsigned longs and Objective-C objects and use it for
- the resource load delegate.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::assignIdentifierToInitialRequest):
- (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
- (WebFrameLoaderClient::dispatchWillSendRequest):
- (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidReceiveResponse):
- (WebFrameLoaderClient::dispatchDidReceiveContentLength):
- (WebFrameLoaderClient::dispatchDidFinishLoading):
- (WebFrameLoaderClient::dispatchDidFailLoading):
- (WebFrameLoaderClient::incrementProgress):
- (WebFrameLoaderClient::completeProgress):
- * WebView/WebView.mm:
- (-[WebViewPrivate init]):
- (-[WebViewPrivate dealloc]):
- (-[WebView _addObject:forIdentifier:]):
- (-[WebView _objectForIdentifier:]):
- (-[WebView _removeObjectForIdentifier:]):
- * WebView/WebViewInternal.h:
-
-2007-01-11 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- Rewrites HTTP Authentication setting up a more platform-independent structure
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-01-11 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12180
- REGRESSION: Double-clicking on JS exception in JS log crashes in -[SharedBufferData initWithSharedBuffer:]
-
- * WebView/WebDataSource.mm: (-[WebDataSource data]): Added null check.
-
-2007-01-11 Darin Adler <darin@apple.com>
-
- Reviewed by Hyatt.
-
- - moved code from a couple WebCore bridging classes here instead
-
- * Misc/WebNSPasteboardExtras.mm:
- (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
- Use MimeTypeRegistry instead of WebMimeTypeRegistryBridge.
-
- * WebView/WebHTMLRepresentation.mm:
- (stringArray): Added. Helper to convert a HashSet to an NSArray.
- (concatenateArrays): Added. Helper to concatenate two NSArray objects.
- (+[WebHTMLRepresentation supportedMIMETypes]): Use MimeTypeRegistry instead of
- WebMimeTypeRegistryBridge. Also fix a potential GC problem by using a RetainPtr
- instead of a [retain] on a global variable.
- (+[WebHTMLRepresentation supportedNonImageMIMETypes]): Ditto.
- (+[WebHTMLRepresentation supportedImageMIMETypes]): Ditto.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _imageExistsAtPaths:]): Use MimeTypeRegistry instead of
- WebMimeTypeRegistryBridge.
- (-[WebHTMLView _documentFragmentWithPaths:]): Ditto.
-
- * WebView/WebView.mm: (+[WebView _decodeData:]): Moved code here from
- the old WebCoreEncodings class.
-
- * WebKit.xcodeproj/project.pbxproj: Let Xcode have its way with this file.
- Moved WebRenderNode into the appropriate group.
-
-2007-01-10 Mitz Pettel <mitz@webkit.org>
-
- Reviewed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=11775
- 'Show URLs in Tool Tips' preference is ignored
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _resetCachedWebPreferences:]):
- (-[WebHTMLView setDataSource:]): Added a call to _resetCachedWebPreferences:.
- Added an assertion that the view is not closed, instead of reopening it.
- Reopening should not occur, now that <http://bugs.webkit.org/show_bug.cgi?id=12087>
- is fixed.
-
-2007-01-10 Beth Dakin <bdakin@apple.com>
-
- Reviewed by John.
-
- Fix for <rdar://problem/4914258> REGRESSION: Search in Google now
- operates on the current WebView instead of invoking Safari's
- service
-
- * WebCoreSupport/WebContextMenuClient.h:
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::searchWithGoogle): Call into WebView to
- search in Google.
- * WebView/WebViewInternal.h: Make _searchWithGoogleFromMenu
- available.
-
-2007-01-09 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Rename the now ObjC++ files to be .mm and remove the explicit file types.
-
- * DOM/WebDOMOperations.m: Removed.
- * DefaultDelegates/WebDefaultContextMenuDelegate.m: Removed.
- * English.lproj/StringsNotToBeLocalized.txt:
- * Misc/WebCoreStatistics.m: Removed.
- * Misc/WebElementDictionary.m: Removed.
- * Misc/WebIconDatabase.m: Removed.
- * Misc/WebNSAttributedStringExtras.m: Removed.
- * Misc/WebNSPasteboardExtras.m: Removed.
- * Plugins/WebNetscapePluginEmbeddedView.m: Removed.
- * Plugins/WebNullPluginView.m: Removed.
- * Plugins/WebPluginContainerCheck.m: Removed.
- * WebCoreSupport/WebViewFactory.m: Removed.
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebArchiver.m: Removed.
- * WebView/WebHTMLRepresentation.m: Removed.
- * WebView/WebHTMLView.m: Removed.
- * WebView/WebRenderNode.m: Removed.
- * WebView/WebResource.m: Removed.
- * WebView/WebScriptDebugDelegate.m: Removed.
-
-2007-01-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - remove window display throttling code; no longer used
-
- * Misc/WebNSWindowExtras.h:
- * Misc/WebNSWindowExtras.m:
- * WebView/WebFrameView.mm:
- (-[WebFrameView initWithFrame:]):
- * WebView/WebPreferenceKeysPrivate.h:
-
-2007-01-08 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Brady.
-
- Remove bridge functions that are implemented directly in FrameLoader now.
-
- * WebCoreSupport/WebFrameBridge.mm:
-
-2007-01-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark.
-
- Adds default value for outline-color and fixes default
- values of the recently fixed *-color properties.
-
- * WebInspector/webInspector/inspector.js:
-
-2007-01-08 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- Fix for http://bugs.webkit.org/show_bug.cgi?id=12161 REGRESSION:
- Crash when control-clicking on an image for contextual menu
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView menuForEvent:]): We need to nil-check coreMenu since
- it will be nil if the DOM popped up a menu instead. I cleaned up
- the function to make all the nil checks early returns instead of
- nesting all of the content. Also moved the autorelease to be with
- the creation of the menu instead of at the return.
-
-2007-01-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Tim H.
-
- Adds default value for -webkit-box-shadow and fixes default
- value of -webkit-column-count to be "auto". Also sorts the
- list of defaults.
-
- * WebInspector/webInspector/inspector.js:
-
-2007-01-08 Andrew Wellington <proton@wiretapped.net>
-
- Reviewed by Mark.
-
- * WebInspector/webInspector/inspector.js: Hide default values of
- -webkit-column styles in WebInspector.
-
-2007-01-05 Darin Adler <darin@apple.com>
-
- Reviewed by Hyatt.
-
- * Misc/WebNSAttributedStringExtras.m:
- (+[NSAttributedString _web_attributedStringFromRange:]):
- Updated to use new list marker text API that is String rather than
- DeprecatedString. Also removed code to do text form of non-text list
- markers since the list marker class now deals with that.
-
-2007-01-05 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin.
-
- Fix build.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchCreatePage):
-
-2007-01-05 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- The data returned is now a SharedBuffer so wrap it in an NSData object.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource data]):
-
-2007-01-04 Adam Roben <aroben@apple.com>
-
- Reviewed by Geoff, cheered by others.
-
- Dead code elimination.
-
- * WebView/WebHTMLView.m:
-
-2007-01-04 Adam Roben <aroben@apple.com>
-
- Boo on me for undoing Beth's hard work.
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView menuForEvent:]): Undo a mistaken roll out of r18597.
-
-2007-01-04 David Kilzer <ddkilzer@webkit.org>
-
- Reviewed by Brady.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=12111
- Uninitialized variable in -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
-
- * DefaultDelegates/WebDefaultPolicyDelegate.m: Initialize isDirectory.
-
-2007-01-04 Adam Roben <aroben@apple.com>
-
- Reviewed by Geoff.
-
- Remove WebKit/AppKit from handling tabbing between subframes.
-
- * WebCoreSupport/WebChromeClient.h: Added new ChromeClient methods for
- moving focus out of the WebView.
- * WebCoreSupport/WebChromeClient.mm: Ditto.
- (WebChromeClient::canTakeFocus):
- (WebChromeClient::takeFocus):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge webView]): Added null-check of m_frame.
- * WebView/WebHTMLView.m: Removed -[WebHTMLView nextValidKeyView].
- (-[WebHTMLView _updateActiveState]): Changed to focus the frame if
- WebCore believes it to be the focused frame.
- (-[WebHTMLView becomeFirstResponder]): Rewrote to call into
- FocusController to place focus correctly within the WebView.
-
-2007-01-04 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Brady.
-
- FrameLoaderClient changed yet again.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
- (WebFrameLoaderClient::dispatchWillSendRequest):
-
-2007-01-04 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- FrameLoaderClient changed again.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::download):
- (WebFrameLoaderClient::willUseArchive):
-
-2007-01-04 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- No need to hit test twice.
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView menuForEvent:]):
-
-2007-01-04 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- Turn on WebCore context menus. Delete a bunch of WebKit context
- menu code that is no longer needed.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m: Removed a lot
- of code from this class. This class only still needs to exist for
- PDF context menus, so we only need to deal with the menu items that
- might possibly be added to a PDF context menu.
- (-[WebDefaultUIDelegate
- menuItemWithTag:target:representedObject:]): Same.
- (-[WebDefaultUIDelegate
- webView:contextMenuItemsForElement:defaultMenuItems:]): Same.
- * WebCoreSupport/WebContextMenuClient.h: Name change and have the
- former getCustomMenuFromDefaultItems function return the
- PlatformMenuDescription since it feels funny to have the client set
- the new platform description.
- * WebCoreSupport/WebContextMenuClient.mm: Same.
- (WebContextMenuClient::getCustomMenuFromDefaultItems): Same. Also
- move in some code that used to be in _menuForElement.
- * WebView/WebHTMLView.m: Deleted a bunch of un-used functions
- (-[WebHTMLView menuForEvent:]): Turn on menus, and append the
- Inspect Element item.
- * WebView/WebHTMLViewPrivate.h: Deleted a bunch of un-used
- functions.
- * WebView/WebView.mm:
- (-[WebView _menuForElement:defaultItems:]): Removed a lot of code
- from _menuForElement that now makes more sense elsewhere. Only PDF
- context menus use this function now. Hopefully we can just get rid
- of it soon, too.
-
-2007-01-04 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Brady.
-
- Update for WebCore changes.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::download):
- (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
- (WebFrameLoaderClient::dispatchWillSendRequest):
- (WebFrameLoaderClient::dispatchDidReceiveResponse):
- (WebFrameLoaderClient::incrementProgress):
-
-2007-01-04 Peter Kasting <pkasting@google.com>
-
- Reviewed by Alexey.
-
- http://bugs.webkit.org/show_bug.cgi?id=11900:
- Windows build bustage
-
- * COM/ChromeClientWin.cpp:
- (ChromeClientWin::addMessageToConsole):
- (ChromeClientWin::runBeforeUnloadConfirmPanel):
- * COM/ChromeClientWin.h:
- * COM/ContextMenuClientWin.cpp:
- (ContextMenuClientWin::contextMenuItemSelected):
- * COM/ContextMenuClientWin.h:
- * COM/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::setDocumentViewFromPageCache):
- (WebFrameLoaderClient::forceLayout):
- (WebFrameLoaderClient::forceLayoutForNonHTML):
- (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad):
- (WebFrameLoaderClient::updateGlobalHistoryForReload):
- (WebFrameLoaderClient::shouldGoToHistoryItem):
- (WebFrameLoaderClient::saveScrollPositionAndViewStateToItem):
- (WebFrameLoaderClient::restoreScrollPositionAndViewState):
- (WebFrameLoaderClient::provisionalLoadStarted):
- (WebFrameLoaderClient::saveDocumentViewToPageCache):
- (WebFrameLoaderClient::canCachePage):
- * COM/WebFrameLoaderClient.h:
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-01-03 John Sullivan <sullivan@apple.com>
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView _openWithFinder:]):
- Tiger build fix: use [NSNumber initWithInt:] rather than the new [NSNumber initWithInteger:]
-
-2007-01-03 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker
-
- - fixed <rdar://problem/4145714> WebKit's PDFView's "Open in Preview" puts the
- PDF in /tmp, both group and world-readable
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView _openWithFinder:]):
- Make the file only readable by the current user
-
-2007-01-03 Beth Dakin <bdakin@apple.com>
-
- Reviewed by John.
-
- Make localized strings for all of the context menu item titles that
- are accessible to WebCore.
-
- * English.lproj/Localizable.strings:
- * WebCoreSupport/WebViewFactory.m:
- (-[WebViewFactory contextMenuItemTagOpenLinkInNewWindow]):
- (-[WebViewFactory contextMenuItemTagDownloadLinkToDisk]):
- (-[WebViewFactory contextMenuItemTagCopyLinkToClipboard]):
- (-[WebViewFactory contextMenuItemTagOpenImageInNewWindow]):
- (-[WebViewFactory contextMenuItemTagDownloadImageToDisk]):
- (-[WebViewFactory contextMenuItemTagCopyImageToClipboard]):
- (-[WebViewFactory contextMenuItemTagOpenFrameInNewWindow]):
- (-[WebViewFactory contextMenuItemTagCopy]):
- (-[WebViewFactory contextMenuItemTagGoBack]):
- (-[WebViewFactory contextMenuItemTagGoForward]):
- (-[WebViewFactory contextMenuItemTagStop]):
- (-[WebViewFactory contextMenuItemTagReload]):
- (-[WebViewFactory contextMenuItemTagCut]):
- (-[WebViewFactory contextMenuItemTagPaste]):
- (-[WebViewFactory contextMenuItemTagNoGuessesFound]):
- (-[WebViewFactory contextMenuItemTagIgnoreSpelling]):
- (-[WebViewFactory contextMenuItemTagLearnSpelling]):
- (-[WebViewFactory contextMenuItemTagSearchInSpotlight]):
- (-[WebViewFactory contextMenuItemTagSearchWeb]):
- (-[WebViewFactory contextMenuItemTagLookUpInDictionary]):
- (-[WebViewFactory contextMenuItemTagOpenLink]):
- (-[WebViewFactory contextMenuItemTagIgnoreGrammar]):
- (-[WebViewFactory contextMenuItemTagSpellingMenu]):
- (-[WebViewFactory contextMenuItemTagShowSpellingPanel:]):
- (-[WebViewFactory contextMenuItemTagCheckSpelling]):
- (-[WebViewFactory contextMenuItemTagCheckSpellingWhileTyping]):
- (-[WebViewFactory contextMenuItemTagCheckGrammarWithSpelling]):
- (-[WebViewFactory contextMenuItemTagFontMenu]):
- (-[WebViewFactory contextMenuItemTagShowFonts]):
- (-[WebViewFactory contextMenuItemTagBold]):
- (-[WebViewFactory contextMenuItemTagItalic]):
- (-[WebViewFactory contextMenuItemTagUnderline]):
- (-[WebViewFactory contextMenuItemTagOutline]):
- (-[WebViewFactory contextMenuItemTagStyles]):
- (-[WebViewFactory contextMenuItemTagShowColors]):
- (-[WebViewFactory contextMenuItemTagSpeechMenu]):
- (-[WebViewFactory contextMenuItemTagStartSpeaking]):
- (-[WebViewFactory contextMenuItemTagStopSpeaking]):
- (-[WebViewFactory contextMenuItemTagWritingDirectionMenu]):
- (-[WebViewFactory contextMenuItemTagDefaultDirection]):
- (-[WebViewFactory contextMenuItemTagLeftToRight]):
- (-[WebViewFactory contextMenuItemTagRightToLeft]):
-
-2007-01-03 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Sullivan
-
- In the Bookmarks View/History View, favicon may be the incorrect size
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem icon]): Call to the WebIconDatabase until a WebCore issue is resolved
-
-2007-01-03 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- - Fix for <rdar://problem/4455147> Safari allows division slash character in URLs, which looks like slash character (not fixed by IDNScriptWhiteList.txt)
-
- * Misc/WebNSURLExtras.m: (allCharactersInIDNScriptWhiteList): Always disallow the division slash character.
-
-2007-01-02 Brady Eidson <beidson@apple.com>
-
- Controversially reviewed by Tim H. and Maciej
-
- Fixes http://bugs.webkit.org/show_bug.cgi?id=12086, http://bugs.webkit.org/show_bug.cgi?id=12088,
- possibly http://bugs.webkit.org/show_bug.cgi?id=12087, and probably a slew of others
-
- WebHistoryItems returned from the WebBackForwardList accessors were being release/retained out-of-order
- by the Safari app. This bug never surfaced before because the WebBackForwardList had a retain on the
- item, preventing deallocation. Since the items are now just temporary wrappers, the list
- is no longer actually retaining them.
-
- This solution is to simulate the ownership with a [[id retain] autorelease] - gross, but maybe the
- only solution for now... =/
-
- We can possibly consider reverting this fix at a later date - that task is marked by
- <rdar://problem/4905705>
-
- * History/WebBackForwardList.mm:
- (-[WebBackForwardList backItem]):
- (-[WebBackForwardList currentItem]):
- (-[WebBackForwardList forwardItem]):
- (-[WebBackForwardList itemAtIndex:]):
-
-2007-01-02 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Geoff.
-
- Remove un-used function.
-
- * WebCoreSupport/WebContextMenuClient.h:
- * WebCoreSupport/WebContextMenuClient.mm:
-
-2007-01-02 Brady Eidson <beidson@apple.com>
-
- Reviewed extensively and repeatedly by Darin
-
- <rdar://problem/4887137> - WebCore Back/Forward Cache
- Most things not specifically commented on in the ChangeLog can be summed up as
- "Do things exactly the same way as we used to, but just stick in WebCore-land as much as possible"
-
- * History/WebBackForwardList.mm:
- (kitPrivate): Convenience functions to help with subbing "WebBackForwardListPrivate" for WebCore::BackForwardList
- (core):
- (backForwardListWrappers): A HashMap pattern used to map WebCore objects to their WebKit counterpart
- (kit):
- (+[WebBackForwardList setDefaultPageCacheSizeIfNecessary]):
- (-[WebBackForwardList initWithWebCoreBackForwardList:]):
- (-[WebBackForwardList init]):
- (-[WebBackForwardList dealloc]):
- (-[WebBackForwardList finalize]):
- (-[WebBackForwardList _close]):
- (-[WebBackForwardList addItem:]):
- (-[WebBackForwardList removeItem:]):
- (-[WebBackForwardList containsItem:]):
- (-[WebBackForwardList goBack]):
- (-[WebBackForwardList goForward]):
- (-[WebBackForwardList goToItem:]):
- (-[WebBackForwardList backItem]):
- (-[WebBackForwardList currentItem]):
- (-[WebBackForwardList forwardItem]):
- (vectorToNSArray):
- (-[WebBackForwardList backListWithLimit:]):
- (-[WebBackForwardList forwardListWithLimit:]):
- (-[WebBackForwardList capacity]):
- (-[WebBackForwardList setCapacity:]):
- (-[WebBackForwardList description]):
- (-[WebBackForwardList _clearPageCache]):
- (-[WebBackForwardList setPageCacheSize:]):
- (-[WebBackForwardList pageCacheSize]):
- (-[WebBackForwardList _usesPageCache]):
- (-[WebBackForwardList backListCount]):
- (-[WebBackForwardList forwardListCount]):
- (-[WebBackForwardList itemAtIndex:]):
- * History/WebBackForwardListInternal.h: Added.
-
- * History/WebHistory.m: Removed.
- * History/WebHistory.mm: Added - Needed to be .mm to accept C++ header style
- (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]):
- (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]):
-
- * History/WebHistoryItem.mm:
- (kitPrivate): Same pattern as WebBackForwardList
- (core):
- (historyItemWrappers):
- (WKNotifyHistoryItemChanged):
- (-[WebHistoryItem init]):
- (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
- (-[WebHistoryItem dealloc]):
- (-[WebHistoryItem finalize]):
- (-[WebHistoryItem copyWithZone:]):
- (-[WebHistoryItem URLString]):
- (-[WebHistoryItem originalURLString]):
- (-[WebHistoryItem title]):
- (-[WebHistoryItem setAlternateTitle:]):
- (-[WebHistoryItem alternateTitle]):
- (-[WebHistoryItem icon]):
- (-[WebHistoryItem lastVisitedTimeInterval]):
- (-[WebHistoryItem hash]):
- (-[WebHistoryItem isEqual:]):
- (-[WebHistoryItem description]):
- (kit):
- (+[WebHistoryItem entryWithURL:]):
- (+[WebHistoryItem initWindowWatcherIfNecessary]):
- (-[WebHistoryItem initWithURL:target:parent:title:]):
- (-[WebHistoryItem initWithWebCoreHistoryItem:]):
- (-[WebHistoryItem setTitle:]):
- (-[WebHistoryItem setVisitCount:]):
- (-[WebHistoryItem setViewState:]):
- (-[WebHistoryItem _mergeAutoCompleteHints:]):
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- (-[WebHistoryItem scrollPoint]):
- (-[WebHistoryItem _transientPropertyForKey:]):
- (-[WebHistoryItem _setTransientProperty:forKey:]):
- (-[WebHistoryItem dictionaryRepresentation]):
- (-[WebHistoryItem target]):
- (-[WebHistoryItem isTargetItem]):
- (-[WebHistoryItem visitCount]):
- (-[WebHistoryItem RSSFeedReferrer]):
- (-[WebHistoryItem setRSSFeedReferrer:]):
- (-[WebHistoryItem children]):
- (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
- (-[WebHistoryItem URL]):
- (-[WebHistoryItem _setLastVisitedTimeInterval:]):
- (-[WebHistoryItem _lastVisitedDate]):
- (-[WebHistoryItem targetItem]):
- (+[WebHistoryItem _releaseAllPendingPageCaches]):
- (-[WebWindowWatcher windowWillClose:]):
- * History/WebHistoryItemInternal.h:
- * History/WebHistoryItemPrivate.h:
-
- * WebCoreSupport/WebFrameBridge.mm:
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::setDocumentViewFromPageCache):
- (WebFrameLoaderClient::detachedFromParent1):
- (WebFrameLoaderClient::loadedFromPageCache):
- (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad):
- (WebFrameLoaderClient::updateGlobalHistoryForReload):
- (WebFrameLoaderClient::shouldGoToHistoryItem):
- (WebFrameLoaderClient::frameLoadCompleted):
- (WebFrameLoaderClient::saveScrollPositionAndViewStateToItem):
- (WebFrameLoaderClient::restoreScrollPositionAndViewState):
- (WebFrameLoaderClient::provisionalLoadStarted):
- (WebFrameLoaderClient::setTitle):
- (WebFrameLoaderClient::saveDocumentViewToPageCache):
- (WebFrameLoaderClient::canCachePage):
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
- * WebKit.xcodeproj/project.pbxproj:
-
- * WebView/WebDataSource.mm:
- * WebView/WebDataSourceInternal.h:
-
- * WebView/WebFrame.mm:
- (-[WebFramePrivate dealloc]):
- (-[WebFrame _canCachePage]):
- (-[WebFrame _loadURL:referrer:intoChild:]):
- * WebView/WebFrameInternal.h:
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView initWithFrame:]):
- (-[WebFrameView keyDown:]):
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView closeIfNotCurrentView]): Added for a dirty hack in WebCore that is marked with a FIXME Radar
- * WebView/WebHTMLViewInternal.h:
-
- * WebView/WebView.mm:
- (-[WebViewPrivate init]):
- (-[WebViewPrivate dealloc]):
- (-[WebView _close]):
- (-[WebView _loadBackForwardListFromOtherView:]):
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView initWithCoder:]):
- (-[WebView backForwardList]):
- (-[WebView goBack]):
- (-[WebView goForward]):
- (-[WebView goToBackForwardItem:]):
- (-[WebView canGoBack]):
- (-[WebView canGoForward]):
-
-2007-01-02 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker
-
- - fixed <rdar://problem/4892525> Cannot open PDF in Preview if you attempted to
- open it in Preview while PDF was loading
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView menuForEvent:]):
- added comment
- (-[WebPDFView validateUserInterfaceItem:]):
- disable this menu item when there's no document yet
- (-[WebPDFView _openWithFinder:]):
- If this is invoked when there is no document yet (e.g. via the PDFKit delegate method),
- just beep and return. I should make a nice error message here, but I'll do that separately.
-
-2007-01-03 Nikolas Zimmermann <zimmermann@kde.org>
-
- Reviewed by Timothy.
-
- Fix inspection of RenderSVGInlineText objects (#text nodes in SVG documents).
-
- * WebInspector/WebInspector.m:
- (-[WebInspector _highlightNode:]):
-
-2007-01-02 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin.
-
- Fix bug with WebCore context menu item "Copy Image."
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::copyImageToClipboard): We must call
- declareTypes on the pasteboard.
-
-2006-12-27 Mitz Pettel <mitz@webkit.org>
-
- Reviewed by Geoff.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=9403
- Red outline from Web Inspector appears above all other OS X windows
-
- Made the window containing the highlight a child window of the window
- containing the view.
-
- * WebInspector/WebNodeHighlight.m:
- (-[WebNodeHighlight initWithBounds:andRects:forView:]):
- (-[WebNodeHighlight dealloc]):
- (-[WebNodeHighlight expire]):
-
-2006-12-27 Matt Lilek <pewtermoose@gmail.com>
-
- Reviewed by Tim H.
-
- Bug 11993: REGRESSION(r18320): Web Inspector scroll bars not drawn
- http://bugs.webkit.org/show_bug.cgi?id=11993
-
- AppleVerticalScrollbar tries to set a NaN value as the scroll height which
- causes DOM Exceptions after r18320. This overrides the _setObjectLength
- method and checks for NaN until a system update can fix this. See rdar://4901491
-
- * WebInspector/webInspector/inspector.html:
- * WebInspector/webInspector/inspector.js:
-
-2006-12-27 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fixed <rdar://problem/4901629> Crash occurs at WebCore::Frame::page()
- after closing window containing flash content
-
- No testcase because we can't open and close windows in DRT.
-
- I can't reproduce this crash, but from the backtrace it's clear that it
- occured because of a NULL frame object. Since it's valid for a frame to
- be NULL, I've added NULL checks.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView sendEvent:]):
- (-[WebBaseNetscapePluginView requestWithURLCString:]):
- (-[WebBaseNetscapePluginView getVariable:value:]):
-
-2006-12-27 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Updated <rdar://problem/4871518> fix based on Darin's comments.
-
- Instead of searching the frame tree to retrieve the new frame, put it in
- a RefPtr, and then explicitly check for its removal. This option is slightly
- more efficient, and it avoids problems that can occur due to frame name collision.
-
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
-
-2006-12-26 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Eric Seidel.
-
- Fixed <rdar://problem/4740328> Safari crash on quit in _NPN_ReleaseObject
- from KJS::Bindings::CInstance::~CInstance
-
- The essence of this change is that WebKit shouldn't meddle in plug-in
- lifetime, since WebCore already manages it. The rest is details.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView removeTrackingRect]): Autorelease our window
- instead of releasing it, since we might hold the last reference to our window,
- and releasing it immediately would crash AppKit.
- (-[WebBaseNetscapePluginView resetTrackingRect]):
-
- * Plugins/WebNetscapePluginEmbeddedView.h:
- * Plugins/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView dataSource]): Use our DOMElement to access
- our WebFrame, since we don't keep around a direct pointer to our WebFrame
- anymore.
-
- * Plugins/WebNullPluginView.h:
- * Plugins/WebNullPluginView.m:
- (-[WebNullPluginView initWithFrame:error:DOMElement:]):
- (-[WebNullPluginView dealloc]):
- (-[WebNullPluginView viewDidMoveToWindow]): Use our DOMElement to access
- our WebFrame, as above.
-
- * WebCoreSupport/WebFrameBridge.mm: Don't call _addPlugInView because it
- doesn't exist anymore. Do pass a DOMElement to WebNullPluginView's initializer,
- so it can access its frame like WebNetscapePluginEmbeddedView does.
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
- (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm: Removed didCloseDocument. It had
- two purposes -- one unnecessary, one harmful:
- (1) NULL out plug-ins' weak references to their frames. Unnecessary. Having
- plug-ins access their frames through their DOM elements solves this problem.
- (2) Unload plug-ins. Harmful. If a plug-in unloads before WebCore is done
- with it, WebCore will access unmapped memory. Also unnecessary. WebCore
- Widgets take care of calling -removeFromSuperview on their NSViews, which
- is sufficient for stopping plug-ins.
-
- * WebKit.xcodeproj/project.pbxproj: Made WebNullPluginView.m ObjC++.
-
- * WebView/WebFrame.mm: Removed _addPlugInView, since it was only used to
- call -setWebFrame, which is gone.
- (-[WebFramePrivate dealloc]):
- * WebView/WebFrameInternal.h: Removed plugInViews, since it was only used
- by _addPlugInView, which is gone.
-
-2006-12-26 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Eric Seidel.
-
- Some cleanup in preparation for fixing <rdar://problem/4740328> Safari
- crash on quit in _NPN_ReleaseObject from KJS::Bindings::CInstance::~CInstance
-
- Renamed "installedPlugins" to "sharedDatabase." This better follows
- the Cocoa naming scheme, and calls out the key attribute that produced this
- crash -- namely, that the database is shared throughout the process.
-
- -installedPlugins is actually a part of SPI, but a global search showed
- that it had no users.
-
- * Plugins/WebPluginDatabase.h:
- * Plugins/WebPluginDatabase.m:
- (+[WebPluginDatabase sharedDatabase]):
- (-[WebPluginDatabase refresh]):
- (-[WebPluginDatabase _plugInPaths]):
- (-[WebPluginDatabase _removePlugin:]):
- * WebCoreSupport/WebViewFactory.m:
- (-[WebViewFactory pluginsInfo]):
- (-[WebViewFactory refreshPlugins:]):
- (-[WebViewFactory pluginSupportsMIMEType:]):
- * WebView/WebView.mm:
- (+[WebView _supportedMIMETypes]):
- (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
- (-[WebView _close]):
- (-[WebView _pluginForMIMEType:]):
- (-[WebView _pluginForExtension:]):
- (-[WebView _isMIMETypeRegisteredAsPlugin:]):
-
-2006-12-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Adam Roben.
-
- Fixed <rdar://problem/4778898> REGRESSION: crash in getInstanceForView()
- when quitting from kcbs.com
-
- No testcase because we can't open and close windows in DRT.
-
- The crash was caused by deallocating plug-ins that were later referenced
- in the unload event handler.
-
- * Plugins/WebBaseNetscapePluginView.mm: Don't call stop on ourselves because
- we may destroy our plugin before the unload handler fires. Also, we don't
- need to, since didCloseDocument will do it for us.
-
- (-[WebBaseNetscapePluginView addWindowObservers]): We don't need to listen
- for windowWillClose anymore, since we don't want to call -stop on ourselves.
- (-[WebBaseNetscapePluginView removeWindowObservers]): ditto.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::didCloseDocument): Renamed from "willCloseDocument."
-
-2006-12-25 Geoffrey Garen <ggaren@apple.com>
-
- More "plugin" => "pluginPackage" renaming that I forgot to check in.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView setPluginPackage:]):
- * Plugins/WebNetscapePluginEmbeddedView.h:
- * Plugins/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
- (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
-
-2006-12-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Eric Seidel.
-
- Fixed crash when opening view source window.
-
- * WebView/WebView.mm:
- (-[WebView initWithCoder:]): Don't use the WebView until calling
- _commonInitialization...
-
-2006-12-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Removed WebCoreSettings, cleaned up WebCore::Settings.
-
- * WebView/WebFrame.mm: Added helper functions for converting between
- WebKitEditableLinkBehavior and WebCore::EditableLinkBehavior. I'm not sure
- that this is the best place for these functions, but it's where all the
- other functions like them reside.
- (core):
- (kit):
- * WebView/WebFrameInternal.h:
-
- * WebView/WebView.mm: Removed uses of WebCoreSettings. Replaced with direct
- use of underlying page's settings.
-
-2006-12-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Some refactoring in preparation for fixing <rdar://problem/4778898>
- REGRESSION: crash in getInstanceForView() when quitting from kcbs.com
-
- Two renames:
- - "plugin" => "pluginPackage" (since the type is WebNetscapePluginPackage *)
- - "instance" and/or "pluginPointer" => plugin (since NPP is an opaque handle to a plug-in)
-
- Removed braces around single-line 'if' statements.
-
- Made plugin a pointer instead of an inline ivar. This allows us to NULL
- it out once we call NPP_Destroy on it.
-
- Added helper functions for creating and destroying plugin. The destroy function
- NULLs out plugin, which helps with debugging.
-
- (-[WebBaseNetscapePluginView willCallPlugInFunction]): Added an ASSERT
- to catch attempts to call functions on destroyed plug-ins.
-
- (-[WebBaseNetscapePluginView _createPlugin]): New helper function.
- (-[WebBaseNetscapePluginView _destroyPlugin]): New helper function.
-
-2006-12-24 David Kilzer <ddkilzer@webkit.org>
-
- Removed empty directory.
-
- * WebKit/Loader: Removed.
-
-2006-12-22 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Brady Eidson.
-
- Fixed <rdar://problem/4871518> Leopard9A321: Crash visiting www.audible.com
- (WebCore::FrameLoader::loadSubframe)
-
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
- - The fix:
- Changed to re-fetch the child frame we're trying to load before returning it,
- since its onload handler may have removed it from the document. This
- allows us to treat a removed frame like a frame that never loaded.
-
- - Plus some cleanup:
- - Changed to return a WebCore::Frame* instead of a WebFrameBridge *,
- to simplify some code.
- - Grouped ObjC objects by usage, and moved calls to -release so that they
- immediately follow the calls that retain.
-
-2006-12-21 John Sullivan <sullivan@apple.com>
-
- Reviewed by Geoff Garen
-
- - improved concept and implementation of my previous checkin after discussing with Darin
-
- * WebView/WebViewPrivate.h:
- * WebView/WebView.mm:
- (-[WebView setHoverFeedbackSuspended:]):
- renamed from setIgnoresMouseMovedEvents, and now tells the main WebHTMLView (if any) that this state has
- changed. Telling just the main WebHTMLView is a bit of an implementation hack. Hopefully someday we can
- rework the document architecture and make this kind of thing less hacky (but this is following existing
- customs, so I don't feel too bad)
- (-[WebView isHoverFeedbackSuspended]):
- renamed from ignoresMouseMovedEvents
-
- * WebView/WebHTMLViewInternal.h:
- declare _hoverFeedbackSuspendedChanged
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _updateMouseoverWithEvent:]):
- test the webView's state of the hit-tested WebHTMLView rather than self
- (-[WebHTMLView _hoverFeedbackSuspendedChanged]):
- generate a fake mouse-moved event, which simulates the mouse moving away from
- the current element or back over it
-
-2006-12-21 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver.
-
- * WebInspector/webInspector/inspector.js: Added default values for the new CSS
- properties so they don't appear in the inspector when their values are
- uninteresting.
-
-2006-12-21 John Sullivan <sullivan@apple.com>
-
- Reviewed by Geoff Garen
-
- - added WebKit support for making a web page temporarily ignore mouse movements
-
- * WebView/WebViewPrivate.h:
- declare ignoresMouseMovedEvents and setIgnoresMouseMovedEvents:
-
- * WebView/WebView.mm:
- added ignoresMouseMovedEvents boolean field to _private data structure
- (-[WebView setIgnoresMouseMovedEvents:]):
- set new boolean field
- (-[WebView ignoresMouseMovedEvents]):
- return new boolean field
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _updateMouseoverWithEvent:]):
- bail out right away if [[self _webView] ignoresMouseMovedEvents]
-
-2006-12-21 Mark Rowe <bdash@webkit.org>
-
- Reviewed by Geoff.
-
- http://bugs.webkit.org/show_bug.cgi?id=11888
- Bug 11888: REGRESSION (r18320): Web Inspector panes broken
-
- * WebInspector/webInspector/inspector.js: Use removeProperty to reset a style property to its
- initial value. Bail out early from updateNodePane if Inspector has not yet been set.
-
-2006-12-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- - fix for unrepro infinite recursion bug:
- <rdar://problem/4448181> CrashTracer: 154 crashes in Safari at com.apple.AppKit:
- -[NSView isDescendantOf:] + 24; infinite recursion in makeFirstResponder logic
-
- * WebView/WebView.mm:
- added becomingFirstResponder BOOL to private struct
- (-[WebView becomeFirstResponder]):
- use _private->becomingFirstResponder to guard against infinite recursion; complain on
- debug builds if we run into this problem
-
-2006-12-19 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4891774> Local WebCore/WebBrowser builds fail in 9A328 due to warning about ObjC-2.0 language features
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-12-18 Ada Chan <adachan@apple.com>
-
- Reviewed by Adam.
-
- Moved canRunBeforeUnloadConfirmPanel, runBeforeUnloadConfirmPanel, and closeWindowSoon
- from WebCoreFrameBridge to Chrome.
-
- * COM/ChromeClientWin.cpp:
- (ChromeClientWin::canRunBeforeUnloadConfirmPanel):
- (ChromeClientWin::runBeforeUnloadConfirmPanel):
- (ChromeClientWin::closeWindowSoon):
- * COM/ChromeClientWin.h:
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::canRunBeforeUnloadConfirmPanel):
- (WebChromeClient::runBeforeUnloadConfirmPanel):
- (WebChromeClient::closeWindowSoon):
- * WebCoreSupport/WebFrameBridge.mm:
-
-2006-12-18 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Adam.
-
- Have the Editor handle deletion instead of WebHTMLView
-
- * WebKitPrefix.h:
- Turned on WebCore deletion
-
- * WebView/WebHTMLViewInternal.h:
- Moved ownership of startNewKillRingSequence to the WebCore::Editor
-
- * WebView/WebHTMLView.m:
- (-[NSArray becomeFirstResponder]):
- Use the Editor's startNewKillRingSequence flag
-
- (-[NSArray deleteForward:]):
- (-[NSArray deleteBackward:]):
- (-[NSArray deleteWordForward:]):
- (-[NSArray deleteWordBackward:]):
- (-[NSArray deleteToBeginningOfLine:]):
- (-[NSArray deleteToEndOfLine:]):
- (-[NSArray deleteToBeginningOfParagraph:]):
- (-[NSArray deleteToEndOfParagraph:]):
- (-[NSArray deleteToMark:]):
- use Editor::deleteWithDirection instead of WebHTMLView's
-
-2006-12-16 Adele Peterson <adele@apple.com>
-
- Reviewed by Adam.
-
- WebKit part of fix for:
- <rdar://problem/4463829> Switch to use new search field implementation for <input type="search">
-
- * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Initialize WKDrawTextFieldCellFocusRing.
- * WebInspector/webInspector/inspector.css: Set -webkit-user-select:text and text-shadow:none on the search field.
- These are both properties that we didn't honor in the old control, and the inherited values didn't work or look right.
-
-2006-12-16 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- WebKit side of making WebCore context menus support state and
- enabled/disabled.
-
- * WebCoreSupport/WebContextMenuClient.h: contextMenuItemSelected
- takes a pointer to the parentMenu now since menu items no longer
- hold onto it.
- * WebCoreSupport/WebContextMenuClient.mm: Same.
- (WebContextMenuClient::contextMenuItemSelected): Same.
- * WebView/WebHTMLView.m: Must call setAutoenablesItems:NO on our
- menu.
- (-[NSArray menuForEvent:]):
- * WebView/WebUIDelegatePrivate.h: No need for if-def.
-
-2006-12-15 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Geoff.
-
- Update for WebCore changes.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
- * WebView/WebDataSource.mm:
- (-[WebDataSource response]):
-
-2006-12-15 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin.
-
- Update for WebCore changes.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::willUseArchive):
- * WebView/WebDataSource.mm:
- (-[WebDataSource _URLForHistory]):
-
-2006-12-15 Marvin Decker <marv.decker@gmail.com>
-
- Reviewed by Darin and Alexey.
-
- Fix the Windows build, move various Client implementations out of
- WebCore and into WebKit.
-
- * COM/ChromeClientWin.cpp: Added.
- (ChromeClientWin::~ChromeClientWin):
- (ChromeClientWin::chromeDestroyed):
- (ChromeClientWin::setWindowRect):
- (ChromeClientWin::windowRect):
- (ChromeClientWin::pageRect):
- (ChromeClientWin::scaleFactor):
- (ChromeClientWin::focus):
- (ChromeClientWin::unfocus):
- (ChromeClientWin::createWindow):
- (ChromeClientWin::createModalDialog):
- (ChromeClientWin::show):
- (ChromeClientWin::canRunModal):
- (ChromeClientWin::runModal):
- (ChromeClientWin::setToolbarsVisible):
- (ChromeClientWin::toolbarsVisible):
- (ChromeClientWin::setStatusbarVisible):
- (ChromeClientWin::statusbarVisible):
- (ChromeClientWin::setScrollbarsVisible):
- (ChromeClientWin::scrollbarsVisible):
- (ChromeClientWin::setMenubarVisible):
- (ChromeClientWin::menubarVisible):
- (ChromeClientWin::setResizable):
- (ChromeClientWin::addMessageToConsole):
- * COM/ChromeClientWin.h: Added.
- * COM/ContextMenuClientWin.cpp: Added.
- (ContextMenuClientWin::~ContextMenuClientWin):
- (ContextMenuClientWin::contextMenuDestroyed):
- (ContextMenuClientWin::addCustomContextMenuItems):
- (ContextMenuClientWin::contextMenuItemSelected):
- (ContextMenuClientWin::copyLinkToClipboard):
- (ContextMenuClientWin::downloadURL):
- (ContextMenuClientWin::copyImageToClipboard):
- (ContextMenuClientWin::lookUpInDictionary):
- (ContextMenuClientWin::speak):
- (ContextMenuClientWin::stopSpeaking):
- * COM/ContextMenuClientWin.h: Added.
- * COM/EditorClientWin.cpp: Added.
- (EditorClientWin::~EditorClientWin):
- (EditorClientWin::pageDestroyed):
- (EditorClientWin::shouldDeleteRange):
- (EditorClientWin::shouldShowDeleteInterface):
- (EditorClientWin::smartInsertDeleteEnabled):
- (EditorClientWin::isContinuousSpellCheckingEnabled):
- (EditorClientWin::toggleContinuousSpellChecking):
- (EditorClientWin::isGrammarCheckingEnabled):
- (EditorClientWin::toggleGrammarChecking):
- (EditorClientWin::spellCheckerDocumentTag):
- (EditorClientWin::selectWordBeforeMenuEvent):
- (EditorClientWin::isEditable):
- (EditorClientWin::shouldBeginEditing):
- (EditorClientWin::shouldEndEditing):
- (EditorClientWin::shouldInsertNode):
- (EditorClientWin::shouldInsertText):
- (EditorClientWin::shouldApplyStyle):
- (EditorClientWin::didBeginEditing):
- (EditorClientWin::respondToChangedContents):
- (EditorClientWin::didEndEditing):
- (EditorClientWin::registerCommandForUndo):
- (EditorClientWin::registerCommandForRedo):
- (EditorClientWin::clearUndoRedoOperations):
- (EditorClientWin::canUndo):
- (EditorClientWin::canRedo):
- (EditorClientWin::undo):
- (EditorClientWin::redo):
- * COM/EditorClientWin.h: Added.
- * COM/WebFrame.cpp:
- (WebFrame::WebFrame):
- (WebFrame::initWithName):
- * COM/WebFrame.h:
- * COM/WebFrameLoaderClient.cpp: Added.
- (WebFrameLoaderClient::WebFrameLoaderClient):
- (WebFrameLoaderClient::~WebFrameLoaderClient):
- (WebFrameLoaderClient::frameLoaderDestroyed):
- (WebFrameLoaderClient::hasWebView):
- (WebFrameLoaderClient::hasFrameView):
- (WebFrameLoaderClient::hasBackForwardList):
- (WebFrameLoaderClient::resetBackForwardList):
- (WebFrameLoaderClient::provisionalItemIsTarget):
- (WebFrameLoaderClient::loadProvisionalItemFromPageCache):
- (WebFrameLoaderClient::invalidateCurrentItemPageCache):
- (WebFrameLoaderClient::privateBrowsingEnabled):
- (WebFrameLoaderClient::makeDocumentView):
- (WebFrameLoaderClient::makeRepresentation):
- (WebFrameLoaderClient::forceLayout):
- (WebFrameLoaderClient::forceLayoutForNonHTML):
- (WebFrameLoaderClient::updateHistoryForCommit):
- (WebFrameLoaderClient::updateHistoryForBackForwardNavigation):
- (WebFrameLoaderClient::updateHistoryForReload):
- (WebFrameLoaderClient::updateHistoryForStandardLoad):
- (WebFrameLoaderClient::updateHistoryForInternalLoad):
- (WebFrameLoaderClient::updateHistoryAfterClientRedirect):
- (WebFrameLoaderClient::setCopiesOnScroll):
- (WebFrameLoaderClient::tokenForLoadErrorReset):
- (WebFrameLoaderClient::resetAfterLoadError):
- (WebFrameLoaderClient::doNotResetAfterLoadError):
- (WebFrameLoaderClient::willCloseDocument):
- (WebFrameLoaderClient::detachedFromParent1):
- (WebFrameLoaderClient::detachedFromParent2):
- (WebFrameLoaderClient::detachedFromParent3):
- (WebFrameLoaderClient::detachedFromParent4):
- (WebFrameLoaderClient::loadedFromPageCache):
- (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
- (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
- (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
- (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebFrameLoaderClient::dispatchWillClose):
- (WebFrameLoaderClient::dispatchDidReceiveIcon):
- (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebFrameLoaderClient::dispatchDidFinishLoad):
- (WebFrameLoaderClient::dispatchDidFirstLayout):
- (WebFrameLoaderClient::dispatchShow):
- (WebFrameLoaderClient::cancelPolicyCheck):
- (WebFrameLoaderClient::dispatchWillSubmitForm):
- (WebFrameLoaderClient::dispatchDidLoadMainResource):
- (WebFrameLoaderClient::clearLoadingFromPageCache):
- (WebFrameLoaderClient::isLoadingFromPageCache):
- (WebFrameLoaderClient::revertToProvisionalState):
- (WebFrameLoaderClient::clearUnarchivingState):
- (WebFrameLoaderClient::progressStarted):
- (WebFrameLoaderClient::progressCompleted):
- (WebFrameLoaderClient::setMainFrameDocumentReady):
- (WebFrameLoaderClient::willChangeTitle):
- (WebFrameLoaderClient::didChangeTitle):
- (WebFrameLoaderClient::finishedLoading):
- (WebFrameLoaderClient::finalSetupForReplace):
- (WebFrameLoaderClient::setDefersLoading):
- (WebFrameLoaderClient::isArchiveLoadPending):
- (WebFrameLoaderClient::cancelPendingArchiveLoad):
- (WebFrameLoaderClient::clearArchivedResources):
- (WebFrameLoaderClient::canHandleRequest):
- (WebFrameLoaderClient::canShowMIMEType):
- (WebFrameLoaderClient::representationExistsForURLScheme):
- (WebFrameLoaderClient::generatedMIMETypeForURLScheme):
- (WebFrameLoaderClient::frameLoadCompleted):
- (WebFrameLoaderClient::restoreScrollPositionAndViewState):
- (WebFrameLoaderClient::provisionalLoadStarted):
- (WebFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
- (WebFrameLoaderClient::addHistoryItemForFragmentScroll):
- (WebFrameLoaderClient::didFinishLoad):
- (WebFrameLoaderClient::prepareForDataSourceReplacement):
- (WebFrameLoaderClient::setTitle):
- (WebFrameLoaderClient::userAgent):
- * COM/WebFrameLoaderClient.h: Added.
- * COM/WebKitDLL.h:
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-12-15 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin.
-
- Include ResourceError.h.
-
- * Plugins/WebNetscapePluginStream.mm:
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-12-14 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- Update for WebCore changes.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::incrementProgress):
- (WebFrameLoaderClient::committedLoad):
- (WebFrameLoaderClient::deliverArchivedResources):
- * WebView/WebView.mm:
- (-[WebView _incrementProgressForIdentifier:length:]):
- * WebView/WebViewInternal.h:
-
-2006-12-14 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4827549> need NSRange-based selection support exposed.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _selectedNSRange]):
- (-[WebFrame _selectNSRange:]):
- * WebView/WebFramePrivate.h:
-
-2006-12-14 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by John.
-
- Update for WebCore changes.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidFailLoading):
- (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidFailLoad):
- (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
- (WebFrameLoaderClient::setMainDocumentError):
- (WebFrameLoaderClient::cancelledError):
- (WebFrameLoaderClient::cannotShowURLError):
- (WebFrameLoaderClient::interruptForPolicyChangeError):
- (WebFrameLoaderClient::cannotShowMIMETypeError):
- (WebFrameLoaderClient::fileDoesNotExistError):
- (WebFrameLoaderClient::shouldFallBack):
-
-2006-12-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - adjusted for changes from NSURLRequest to ResourceRequest
-
- * Plugins/WebPluginController.mm:
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::updateHistoryForReload):
- (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
- (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- (WebFrameLoaderClient::startDownload):
- (WebFrameLoaderClient::cannotShowURLError):
- (WebFrameLoaderClient::createDocumentLoader):
- * WebView/WebDataSource.mm:
- (-[WebDataSource _initWithDocumentLoader:]):
- (-[WebDataSource initialRequest]):
- (-[WebDataSource request]):
- * WebView/WebDocumentLoaderMac.h:
- * WebView/WebDocumentLoaderMac.mm:
- (WebDocumentLoaderMac::WebDocumentLoaderMac):
- * WebView/WebFrame.mm:
- (-[WebFrame _createItem:]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame loadArchive:]):
-
-2006-12-12 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::download):
- Get the handle and proxy from the ResourceHandle now that they aren't passed to us.
-
-2006-12-11 Darin Adler <darin@apple.com>
-
- Reviewed by Brady.
-
- - did some of the Mac-specific file moves mentioned in my recent mail to the WebKit list
-
- * WebCoreSupport/WebFrameBridge.h: Updated for change to WebCoreKeyboardAccess.
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge _retrieveKeyboardUIModeFromPreferences:]): Ditto.
- (-[WebFrameBridge keyboardUIMode]): Ditto.
-
-2006-12-11 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- WebKit support for editing sub-menu actions.
-
- * WebCoreSupport/WebContextMenuClient.h: New functions for the
- speech sub-menu.
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::speak):
- (WebContextMenuClient::stopSpeaking):
- * WebCoreSupport/WebEditorClient.h: New functions to toggle
- spelling/grammar checking.
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::toggleContinuousSpellChecking):
- (WebEditorClient::toggleGrammarChecking):
- * WebView/WebUIDelegatePrivate.h: Re-named some of the spelling
- sub-menu tags.
-
-2006-12-11 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Geoff, Adam.
-
- switch to use the Editor for copying URLs
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate copyLinkToClipboard:]):
- Call down to the editor for this.
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
- Add some calls necessary for Pasteboard::writeURL to work
-
-2006-12-11 Darin Adler <darin@apple.com>
-
- Reviewed by Brady.
-
- - http://bugs.webkit.org/show_bug.cgi?id=11794
- fix lifetime problems affecting Frame's ownerElement pointer
-
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge finishInitializingWithPage:WebCore::frameName:frameView:ownerElement:]):
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:frameView:]):
- (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
- Use HTMLFrameOwnerElement.
-
- * WebCoreSupport/WebFrameLoaderClient.mm: Include the relevant headers for the
- HTMLFormElement class.
-
- * WebKit.xcodeproj/project.pbxproj: Let Xcode have its way.
-
- * WebView/WebFrame.mm: (-[WebFrame frameElement]): Update includes and types for the
- change in return type of ownerElement.
-
-2006-12-11 David Harrison <harrison@apple.com>
-
- Fix previous checkin where I committed the wrong file.
-
- <rdar://problem/4863611> Xyle Scope crashes at launch due to WebCore-521.29.3
-
- * WebView/WebFrame.mm:
- (-[WebFrame frameElement]):
- Add nil check.
-
- * WebView/WebPreferences.m:
- (-[WebPreferences editableLinkBehavior]):
- Reverted to previous.
-
-2006-12-08 David Hyatt <hyatt@apple.com>
-
- Land new ICU abstraction layer. Patch by Lars.
-
- Reviewed by me
-
- * ForwardingHeaders/wtf/icu/UnicodeIcu.h: Added.
- * ForwardingHeaders/wtf/unicode/Unicode.h: Added.
- * WebKit.xcodeproj/project.pbxproj:
-
-=== Safari-521.32 ===
-
-2006-12-08 Timothy Hatcher <timothy@apple.com>
-
- Rolling out a change that broke Mail stationary.
- <rdar://problem/4699166> REGRESSION: Background images in Mail stationery do not load
-
- * WebView/WebUnarchivingState.m:
- (-[WebUnarchivingState archivedResourceForURL:]):
-
-2006-12-08 Peter Kasting <pkasting@google.com>
-
- Reviewed and landed by Alexey.
-
- http://bugs.webkit.org/show_bug.cgi?id=11759:
- Windows build bustage
-
- * COM/WebFrame.cpp:
- (WebFrame::loadDataSource):
- * COM/WebFrame.h:
-
-2006-12-08 David Harrison <harrison@apple.com>
-
- Reviewed by Brady.
-
- <rdar://problem/4863611> Xyle Scope crashes at launch due to WebCore-521.29.3
-
- * WebView/WebPreferences.m:
- (-[WebPreferences editableLinkBehavior]):
- Add nil check.
-
-2006-12-07 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Brady.
-
- Build fix for WebCore ContextMenus. It got broken by r18046.
-
- * WebView/WebHTMLView.m:
- (-[NSArray menuForEvent:]):
-
-2006-12-07 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Brady.
-
- Make some parameters const and const references.
-
- * WebCoreSupport/WebContextMenuClient.h:
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::contextMenuItemSelected):
- (WebContextMenuClient::copyLinkToClipboard):
- (WebContextMenuClient::downloadURL):
- (WebContextMenuClient::copyImageToClipboard):
-
-2006-12-06 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Sullivan
-
- Fixes http://bugs.webkit.org/show_bug.cgi?id=11675 and <rdar://4857669>
- Now we need to explicitly set the data source when loading from a page cache
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem _scheduleRelease]): Enhanced a logging message
- (+[WebHistoryItem _releasePageCache:]): Ditto
- (+[WebHistoryItem _releaseAllPendingPageCaches]): Ditto
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::setDocumentViewFromPageCache): Reset the View's DataSource from the cache, effectively reopening it
- * WebView/WebHTMLView.m:
- (-[NSArray setDataSource:]): Properly Handle resetting the DataSource and "reopening" the view
-
-2006-12-06 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam and Oliver
-
- While working on http://bugs.webkit.org/show_bug.cgi?id=11675 I
- decided to fix much of the null-deref problems that creeped in via
- the loader refactoring. This isn't changing behavior, just reintroducing
- the free nil checking we used to have with pure ObjC
-
- * WebView/WebHTMLView.m:
- (-[NSArray menuForEvent:]): Explicitly check for null frames
- (-[NSArray mouseDown:]): Ditto
- (-[NSArray mouseDragged:]): Ditto
- (-[NSArray mouseUp:]): Ditto
- (-[NSArray performKeyEquivalent:]): Ditto
- (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto
-
-2006-12-05 John Sullivan <sullivan@apple.com>
-
- Reviewed by Beth
-
- Updated to match Frame -> Editor changes in WebCore
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
- guessesForUngrammaticalSelection() is now in Editor
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _isSelectionUngrammatical]):
- isSelectionUngrammatical() is now in Editor
- (-[WebHTMLView _isSelectionMisspelled]):
- isSelectionMisspelled() is now in Editor
-
- (-[WebHTMLView checkSpelling:]):
- advanceToNextMisspelling() is now in Editor
- (-[WebHTMLView showGuessPanel:]):
- ditto
-
-2006-12-05 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adam
-
- Old context-menu mechanism fix for:
- <rdar://problem/4864351> Should leave out "No Guesses Found" from context menu for bad grammar
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
- Leave out "No Guesses Found" and separator for grammar-checking case.
-
-2006-12-05 John Sullivan <sullivan@apple.com>
-
- build fix
-
- * WebView/WebViewPrivate.h:
- * WebView/WebView.mm:
- (-[WebView isGrammarCheckingEnabled]):
- define isGrammarCheckingEnabled whether on Tiger or not (just return NO on Tiger)
-
-2006-12-04 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- WebKit part of fix for:
- <rdar://problem/4817188> Context menu for bad grammar should include suggestions and "Ignore Grammar"
-
- The context menu mechanism is currently in flux; the old mechanism is still in place, but an
- up-and-coming new mechanism is waiting in the wings. I updated both of them, but couldn't
- test the new mechanism because it doesn't work well enough yet. Most of this WebKit code
- can be deleted when the new mechanism is in place.
-
- * WebView/WebUIDelegatePrivate.h:
- added WebMenuItemTagIgnoreGrammar
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
- added case for WebMenuItemTagIgnoreGrammar
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
- now considers adding grammar-related items as well as spelling-related items
-
- * WebView/WebHTMLViewPrivate.h:
- declared _isSelectionUngrammatical
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _isSelectionUngrammatical]):
- new method, calls through to WebCore
- (-[WebHTMLView _ignoreGrammarFromMenu:]):
- new method, calls _ignoreSpellingFromMenu: since NSSpellChecker has one method for both
-
- * English.lproj/Localizable.strings:
- updated for "Ignore Grammar" menu item title
-
-2006-12-04 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::actionDictionary): Changed to use the new
- findEventWithKeyState function in WebCore instead of a local function
- in this file.
-
-2006-12-04 Geoffrey Garen <ggaren@apple.com>
-
- Rolled out the WebDashboardBehaviorUseBackwardCompatibilityModeEnabled
- part of my last checkin.
-
- We have to turn on support for backward compatibility mode to avoid Dashboard
- regressions in the short term.
-
- * WebView/WebView.mm:
- (-[WebView _setDashboardBehavior:to:]):
-
-2006-12-02 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Added SPI for enabling Dashboard backward compatibility mode. For now,
- we enable it unconditionally for Dashboard and Dashcode. Once they
- implement specific support for the backward compatibility mode behavior,
- we can change that.
-
- Set the default WebDashboardBehaviorUseBackwardCompatibilityModeEnabled
- to YES in order to turn this code on.
-
- * WebView/WebView.mm:
- (-[WebView _setDashboardBehavior:to:]):
- (-[WebView _dashboardBehavior:]):
- * WebView/WebViewPrivate.h:
-
-2006-12-04 Darin Adler <darin@apple.com>
-
- Reviewed by Alice.
-
- * WebCoreSupport/WebEditorClient.h: Removed "_web_" prefix from
- C++ userVisibleString member function.
- * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::userVisibleString):
- Ditto.
-
- * WebView/WebView.mm: (-[WebView selectedFrame]): Removed extra return statement.
-
-2006-12-04 Peter Kasting <pkasting@google.com>
-
- Reviewed and landed by Alexey.
-
- http://bugs.webkit.org/show_bug.cgi?id=11738:
- Make link clicking work again on Windows.
-
- The WebKit changes are to ignore WM_MOUSEMOVED messages when the mouse
- hasn't actually moved, which were preventing clicks from actually
- getting dispatched in many cases. It's a peculiarity of Windows mouse
- handling that we receive these at all.
-
- * COM/WebView.cpp:
- (WebView::WebView):
- (WebView::mouseMoved):
- * COM/WebView.h:
-
-2006-12-04 John Sullivan <sullivan@apple.com>
-
- Reviewed by Anders
-
- - fixed <rdar://problem/4857833> REGRESSION: When ctrl-clicking on a misspelled word, "Ignore Spelling" and "Learn Spelling"
- menu items not displayed in the contextual menu
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _isSelectionMisspelled]):
- We were computing isSelectionMisspelled by calling WebCore, but then ignoring the result and always
- returning NO. D'oh!
-
-2006-12-01 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- Changes to support sub-menus in WebCore ContextMenus.
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::contextMenuItemSelected):
- ContextMenuItem::menu() is now called parentMenu()
- * WebView/WebUIDelegatePrivate.h: New not-yet-API tags.
-
-2006-12-01 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=11628
- REGRESSION (r17597): Command-return in native text fields doesn't open a new tab or window
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (findKeyStateEvent): Added. Helper that finds the mouse or keyboard event in a chain
- of events and their underlying events.
- (findMouseEvent): Added. Same, but specifically for mouse events.
- (WebFrameLoaderClient::actionDictionary): Rewrote to use the above functions. This means we
- use the modifiers from the underlying events rather than just the one from the event itself.
- So if the event is a DOM activate event, we can still see the modifiers from the original
- keyboard event that triggered it. Has no effect if the event is already the right type or
- if there is no underlying event.
-
- * WebView/WebFrame.mm: Added a newly-needed include.
-
- * WebKit.xcodeproj/project.pbxproj: Xcode wants what it wants.
-
-2006-12-01 Peter Kasting <pkasting@google.com>
-
- Reviewed by Mitz.
-
- http://bugs.webkit.org/show_bug.cgi?id=11732:
- Windows build bustage.
-
- * COM/WebFrame.cpp:
- (WebFrame::initWithName):
-
-2006-12-01 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4841432> 9A312: iWeb crashes on launch; _WebReportError missing from WebKit
-
- Added back WebReportAssertionFailure and WebReportError for apps that still need these symbols.
-
- * Misc/OldWebAssertions.c: Added.
- (WebReportAssertionFailure):
- (WebReportError):
- * WebKit.LP64.exp: added the new symbols, and sorted the file
- * WebKit.exp: added the new symbols, and sorted the file
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-11-30 Geoffrey Garen <ggaren@apple.com>
-
- Rubber Stamped by Anders Carlsson.
-
- Global rename of Document::focusNode to Document::focusedNode. 'focusNode'
- suggested a command, and conflicted with a different meaning for 'focusNode'
- in the Mozilla selection API.
-
- * WebView/WebHTMLView.m:
- (-[NSArray clearFocus]):
-
-2006-11-30 Matt Lilek <pewtermoose@gmail.com>
-
- Reviewed by Mitz.
-
- Bug 10698: Scroll wheel causes inspector to shift up
- http://bugs.webkit.org/show_bug.cgi?id=10698
-
- Remove size attribute from the tree popup as a workaround for
- http://bugs.webkit.org/show_bug.cgi?id=11362 Bug 11362: Native popup with size="1" wraps options
-
- * WebInspector/webInspector/inspector.css:
- * WebInspector/webInspector/inspector.html:
-
-2006-11-30 Matt Lilek <pewtermoose@gmail.com>
-
- Reviewed by Tim H.
-
- Move web inspector style markup to javascript to fix http://bugs.webkit.org/show_bug.cgi?id=6724
- Bug 6724: Text copied from Web Inspector is different from actual text
-
- * WebInspector/webInspector/inspector.css:
- * WebInspector/webInspector/inspector.js:
-
-2006-11-30 Adam Roben <aroben@apple.com>
-
- Reviewed by Beth.
-
- Put code in place to use WebCore context menus when they are turned
- on.
-
- * WebView/WebHTMLView.m:
- (-[NSArray menuForEvent:]):
-
-2006-11-29 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Oliver.
-
- Keep preferences separate from the rest of the client, making sure we are using expected preference values.
- This lets the inspector work when plugins are disabled for the WebView.
-
- * WebInspector/WebInspector.m:
- (-[NSWindow window]):
-
-2006-11-29 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Tim.
-
- Add back methods in WebCoreStatistics that are still used by Tiger Safari.
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.m:
- (+[WebCoreStatistics emptyCache]):
- (+[WebCoreStatistics setCacheDisabled:]):
-
-2006-11-28 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Maciej.
-
- A fix for a couple failing layout tests involving copy/cut in iframes.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::dataForArchivedSelection):
- Use the frame parameter instead of using the webview's selectedFrame.
-
-2006-11-28 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Geoffff.
-
- Fix for http://bugs.webkit.org/show_bug.cgi?id=11691 REGRESSION
- (r17399, r17511): WebElementDictionary no longer returns nil
- NSStrings
-
- String's NSString* operator converts null Strings to empty
- NSStrings for compatibility with AppKit. We need to work around
- that here.
-
- * Misc/WebElementDictionary.m:
- (NSStringOrNil):
- (-[WebElementDictionary _altDisplayString]):
- (-[WebElementDictionary _spellingToolTip]):
- (-[WebElementDictionary _title]):
- (-[WebElementDictionary _titleDisplayString]):
- (-[WebElementDictionary _textContent]):
-
-2006-11-28 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Beth Dakin.
-
- Fixed <rdar://problem/4844855> Should clarify when to create clients in
- the WebCore client API
-
- All clients must now be supplied as constructor arguments. This clarifies
- when you need to create clients, and also guarantees that objects can't
- (for the most part) be in a clientless state.
-
- Layout tests pass. No leaks reported.
-
- * WebCoreSupport/WebFrameBridge.mm: Shuffled around initialization and changed
- some arguments to resolve ciruclar dependencies at init time.
- (-[WebFrame _initWithWebFrameView:webView:bridge:]): We no longer call setClient
- here, because the client is set up at construction time.
-
-2006-11-28 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- Update for changes to ResourceRequest.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::createWindow):
- (WebChromeClient::createModalDialog):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::canHandleRequest):
-
-2006-11-28 Adam Roben <aroben@apple.com>
-
- Reviewed by Beth.
-
- More WebCore context menu work.
-
- * DefaultDelegates/WebDefaultUIDelegate.m: New stub delegate method implementation.
- (-[NSApplication webView:contextMenuItemSelected:forElement:]):
- * WebCoreSupport/WebContextMenuClient.h: Updated to match ContextMenuClient.h changes.
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::addCustomContextMenuItems): Updated for method name changes.
- (WebContextMenuClient::contextMenuItemSelected): Added new client method.
- * WebView/WebUIDelegatePrivate.h: New private delegate method declaration.
-
-2006-11-28 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Justin and Adam.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- added the following
- (WebEditorClient::smartInsertDeleteEnabled):
- (WebEditorClient::dataForArchivedSelectionInFrame):
- (WebEditorClient::_web_userVisibleString):
- (WebEditorClient::shouldInsertNode):
-
- * WebKitPrefix.h:
- Added flags to control whether WebCore cut/copy/paste is enabled.
- Turned on Cut and Copy, left Paste and Delete off
-
- * WebView/WebHTMLViewPrivate.h:
- * WebView/WebHTMLView.m:
- removed _can[Cut|Copy|Paste|Delete]
- (-[NSArray validateUserInterfaceItem:]):
- call the editor for canDHTML[C|C|P|D] and _can[C|C|P|D] instead
- (-[NSArray delete:]):
- added code to call the editor's delete instead (not turned on)
- (-[WebHTMLView copy:]):
- added code to call the editor's copy (turned on)
- (-[WebHTMLView cut:]):
- added code to call the editor's cut (turned on)
- (-[WebHTMLView paste:]):
- added code to call the editor's paste (not turned on)
-
-2006-11-28 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Adam.
-
- Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref
- calls cause .5% PLT regression.
-
- Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient
- from the Frame to the Page, since it's only responsible for
- Webview-level delegate calls.
-
- I don't really love this design, but it fixes the regression and allows
- a single WebKit object to implement multiple client interfaces.
-
- Layout tests pass.
-
-2006-11-27 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- WebKit half of getting rid of the FixMes in ContextMenu.cpp
-
- * WebCoreSupport/WebFrameLoaderClient.h: canHandleRequest takes a
- ResourceRequest now.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::canHandleRequest): Same.
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _isSelectionMisspelled]): Call into WebCore.
-
-2006-11-27 Ada Chan <adachan@apple.com>
-
- Reviewed by Adam.
-
- Part of the change to move WebCoreCache into WebKit:
- Added WebCache which handles emptying and enable/disabling the cache.
- emptyCache and setCacheDisabled have been removed from WebCoreStatistics.
-
- * Misc/WebCache.h: Added.
- * Misc/WebCache.mm: Added.
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.m:
- (+[WebCoreStatistics statistics]):
- * WebKit.exp:
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-11-27 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Move addMessageToConsole to Chrome.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::addMessageToConsole):
- * WebCoreSupport/WebFrameBridge.mm:
-
-2006-11-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- Moved unused Private SPI to Internal and pruned other unused code
-
- * Misc/WebIconDatabase.m:
- * Misc/WebIconDatabasePrivate.h:
-
-2006-11-21 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - make the close method do a more-complete job to prevent world leaks seen when
- running some of the layout tests
-
- * WebView/WebHTMLViewInternal.h: Added declaration of -[WebHTMLViewPrivate clear].
- * WebView/WebHTMLView.m:
- (-[WebHTMLViewPrivate clear]): Added method to drop references to other objects.
- We want to do this at "close" time, rather than waiting for deallocation time.
- This is especially important for the data source, which indirectly keeps a number of
- objects alive.
- (-[WebHTMLView close]): Added an explicit call to clear out the data source on the
- plug-in controller. Without this, we'd see the plug-in controller making calls to
- a deallocated data source during the layout tests. Added a call to the new clear method
- on the private object so that we release the objects at close time instead of waiting
- for deallocation time.
-
- * WebKit.xcodeproj/project.pbxproj: Let Xcode have its way with the project file,
- because I can't fight the power.
-
-2006-11-20 Samuel Weinig <sam@webkit.org>
-
- Reviewed by Alexey.
-
- Fix for http://bugs.webkit.org/show_bug.cgi?id=11656
- Fix Windows build
-
- * WebKit.vcproj/WebKit.vcproj: don't include directories that no
- longer exist.
-
-2006-11-19 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- WebKit side of new context menu actions.
-
- * WebCoreSupport/WebContextMenuClient.h: These are for the
- currently-WebKit-dependent menu actions.
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::copyLinkToClipboard):
- (WebContextMenuClient::downloadURL):
- (WebContextMenuClient::copyImageToClipboard):
- (WebContextMenuClient::searchWithSpotlight):
- (WebContextMenuClient::lookUpInDictionary):
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (core): These are to convert between WebViewInsertAction and
- EditorInsertAction.
- (kit):
- (WebEditorClient::shouldInsertText): Added implementation for
- shouldInsertText.
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]): Moved
- _lookUpInDictionary to be within the implementation of WebHTMLView
- internal.
- * WebView/WebHTMLViewInternal.h: Add _lookUpInDictionaryFromMenu
- * WebView/WebViewInternal.h: Add _searchWithSpotlightFromMenu
-
-2006-11-18 Peter Kasting <pkasting@google.com>
-
- Reviewed by Sam Weinig.
-
- http://bugs.webkit.org/show_bug.cgi?id=11634:
- Fix segfault on startup for Windows build. Also fix segfault when
- typing in a URL.
-
- * COM/WebFrame.cpp:
- (WebFrame::initWithName):
-
-=== Safari-521.31 ===
-
-2006-11-17 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/4841044> Temporarily default Mail.app editable link clicking behavior, until they do it themselves
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebView.mm:
- (+[WebView initialize]):
- (-[WebView setPreferences:]):
-
-2006-11-16 Peter Kasting <pkasting@google.com>
-
- Reviewed and landed by ap.
-
- http://bugs.webkit.org/show_bug.cgi?id=11509:
- Windows build bustage.
-
- * COM/WebFrame.cpp:
- (WebFrame::initWithName):
- (WebFrame::loadHTMLString):
- (WebFrame::stopLoading):
- (WebFrame::reload):
- (WebFrame::loadDataSource):
- (WebFrame::didReceiveData):
- (WebFrame::receivedResponse):
- (WebFrame::receivedAllData):
- * COM/WebFrame.h:
- * COM/WebView.cpp:
- (WebView::mouseMoved):
- (WebView::mouseDown):
- (WebView::mouseUp):
- (WebView::mouseDoubleClick):
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-11-16 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Tim.
-
- <rdar://problem/4841123>
- REGRESSION: Crash in WebCore::Range::boundaryPointsValid when replying to a mail Message
-
- * Misc/WebNSAttributedStringExtras.m:
- (+[NSAttributedString _web_attributedStringFromRange:]):
- If the range passed in is null, return null. When this function was in the bridge, it would never get called
- with a null range when nothing was selected. Instead, the range would just have invalid boundary points.
-
-2006-11-15 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- Added new WebContextMenuClient class to act as WebCore's ChromeClient,
- and moved context menu-related code there from WebChromeClient.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- * WebCoreSupport/WebContextMenuClient.h: Added.
- (WebContextMenuClient::webView):
- * WebCoreSupport/WebContextMenuClient.mm: Added.
- (WebContextMenuClient::create):
- (WebContextMenuClient::WebContextMenuClient):
- (WebContextMenuClient::ref):
- (WebContextMenuClient::deref):
- (WebContextMenuClient::addCustomContextMenuItems):
- * WebKit.xcodeproj/project.pbxproj: Added new files.
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2006-11-15 Beth Dakin <bdakin@apple.com>
- & Adam Roben <aroben@apple.com>
-
- Reviewed by Adam & Beth.
-
- WebKit side of first cut at engine context menus. Use the client to
- call into the UIDelegate.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::addCustomContextMenuItems):
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-11-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- Quick change of files to ObjC++ for BF cache re-write
-
- * History/WebBackForwardList.m: Removed.
- * History/WebBackForwardList.mm: Added.
- * History/WebHistoryItem.m: Removed.
- * History/WebHistoryItem.mm: Added.
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-11-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sarge
-
- SPI addition
-
- * WebView/WebFrame.mm:
- (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFramePrivate.h:
-
-2006-11-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adele
-
- <rdar://problem/4838729> - Replace mistakenly removed SPI
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _handleAutoscrollForMouseDragged:]):
- * WebView/WebHTMLViewPrivate.h:
-
-2006-11-15 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adele.
-
- isTargetItem is used by DRT, so make it private instead of internal.
-
- * History/WebHistoryItem.m:
- (-[WebHistoryItem isTargetItem]):
- * History/WebHistoryItemInternal.h:
- * History/WebHistoryItemPrivate.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
-
-2006-11-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- Split much of unused WebHistoryItemPrivate.h SPI into WebHistoryItemInternal.h
-
- * History/WebBackForwardList.m:
- * History/WebHistory.m:
- * History/WebHistoryItem.m:
- (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
- (-[WebHistoryItem initWithURL:title:]):
- (-[WebHistoryItem visitCount]):
- (-[WebHistoryItem RSSFeedReferrer]):
- (-[WebHistoryItem setRSSFeedReferrer:]):
- (-[WebHistoryItem children]):
- (-[WebHistoryItem dictionaryRepresentation]):
- (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
- (+[WebHistoryItem _releaseAllPendingPageCaches]):
- (-[WebHistoryItem URL]):
- (-[WebHistoryItem target]):
- (-[WebHistoryItem _setLastVisitedTimeInterval:]):
- (-[WebHistoryItem _lastVisitedDate]):
- (-[WebHistoryItem targetItem]):
- * History/WebHistoryItemInternal.h: Added.
- * History/WebHistoryItemPrivate.h:
- * WebCoreSupport/WebFrameBridge.mm:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebFrame.mm:
- * WebView/WebView.mm:
-
-2006-11-14 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Geoff.
-
- Moving things off the bridge and onto clients.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::selectWordBeforeMenuEvent):
- (WebEditorClient::isEditable):
- * WebCoreSupport/WebFrameBridge.mm:
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-11-14 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Harrison.
-
- <rdar://problem/4766635> Safari should never follow links in editable areas (add a WebKitEditableLinkNeverLive option)
-
- Adds an Open Link, Open Link in New Window and Copy Link to the editing context menu.
- Adds a new WebKitEditableLinkNeverLive preference value that maps to WebCore's EditableLinkNeverLive.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
- (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
- (-[WebDefaultUIDelegate requestWithURL:includingReferrerFromFrame:]):
- (-[WebDefaultUIDelegate openNewWindowWithURL:element:]):
- (-[WebDefaultUIDelegate openLink:]):
- * English.lproj/Localizable.strings:
- * WebKit.exp:
- * WebView/WebPreferences.m:
- (-[WebPreferences editableLinkBehavior]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebUIDelegatePrivate.h:
-
-2006-11-14 Anders Carlsson <acarlsson@apple.com>
-
- Turns out I wasn't forcing DWARF on the world at all,
- it's now the default!
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-11-14 Anders Carlsson <acarlsson@apple.com>
-
- I must stop trying to force DWARF on the world.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-11-14 Darin Adler <darin@apple.com>
-
- Reviewed by Anders.
-
- - update for creation of EventHandler
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::actionDictionary):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _updateMouseoverWithEvent:]):
- (-[NSArray menuForEvent:]):
- (-[NSArray scrollWheel:]):
- (-[NSArray acceptsFirstMouse:]):
- (-[NSArray shouldDelayWindowOrderingForEvent:]):
- (-[NSArray mouseDown:]):
- (-[NSArray mouseDragged:]):
- (-[NSArray mouseUp:]):
- (-[NSArray keyDown:]):
- (-[NSArray keyUp:]):
- (-[NSArray performKeyEquivalent:]):
- (-[WebHTMLView elementAtPoint:allowShadowContent:]):
-
-2006-11-14 Anders Carlsson <acarlsson@apple.com>
-
- Fix build for real this time.
-
- * WebCoreSupport/WebEditorClient.mm:
- (-[WebEditCommand initWithEditCommand:WebCore::]):
- (-[WebEditCommand dealloc]):
- (-[WebEditCommand finalize]):
- (+[WebEditCommand commandWithEditCommand:]):
- (-[WebEditCommand command]):
-
-2006-11-14 Anders Carlsson <acarlsson@apple.com>
-
- Try fixing the build.
-
- * WebCoreSupport/WebEditorClient.mm:
- (-[WebEditorUndoTarget undoEditing:]):
- (-[WebEditorUndoTarget redoEditing:]):
-
-2006-11-14 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin.
-
- Move undo/redo handling into WebEditorClient.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::WebEditorClient):
- (WebEditorClient::~WebEditorClient):
- (-[WebEditCommand initWithEditCommand:WebCore::]):
- (-[WebEditCommand dealloc]):
- (-[WebEditCommand finalize]):
- (+[WebEditCommand commandWithEditCommand:]):
- (-[WebEditCommand command]):
- (-[WebEditorUndoTarget undoEditing:]):
- (-[WebEditorUndoTarget redoEditing:]):
- (undoNameForEditAction):
- (WebEditorClient::registerCommandForUndoOrRedo):
- (WebEditorClient::registerCommandForUndo):
- (WebEditorClient::registerCommandForRedo):
- (WebEditorClient::clearUndoRedoOperations):
- (WebEditorClient::canUndo):
- (WebEditorClient::canRedo):
- (WebEditorClient::undo):
- (WebEditorClient::redo):
- * WebCoreSupport/WebFrameBridge.mm:
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-11-14 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Tim H.
-
- http://bugs.webkit.org/show_bug.cgi?id=3387
- Redundant keydown, keypress, keyup events sent for arrow keys
-
- Added another layer of ugly hacks around AppKit event dispatching.
-
- 1. For arrow keys, keyDown: is invoked after performKeyEquivalent:, so had to store
- _private->keyDownEvent in both methods, and make it persist after leaving them.
-
- 2. For Esc, AppKit calls performKeyEquivalent: with a fake event of some kind,
- use [NSApp currentEvent] to check for this to prevent it from being passed to WebCore.
-
- Test: manual-tests/arrow-key-events.html
-
- * WebView/WebHTMLView.m:
- (-[NSMutableDictionary dealloc]):
- (-[NSArray keyDown:]):
- (-[NSArray keyUp:]):
- (-[NSArray performKeyEquivalent:]):
- * WebView/WebHTMLViewInternal.h:
-
-2006-11-12 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Anders
-
- Changed some #includes from <WebKit/foo.h> to "foo.h"
-
- * History/WebBackForwardList.m:
- * History/WebHistory.m:
-
-2006-11-11 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- - Fixed loader crash by clarifying ownership of WebKit client objects.
- WebCore objects own their WebKit clients, and ref and deref through
- virtual methods, leaving WebKit free to use whatever client / reference-counting
- implementation it likes.
-
- WebKit on Mac just uses the same refcounting class that WebCore uses (Shared),
- but other platforms may choose to do other things.
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::ref):
- (WebChromeClient::deref):
- (WebChromeClient::refCount):
- * WebCoreSupport/WebEditorClient.h: Nixed commented-out function prototypes.
- The ones in WebCore make clear what remains to be implemented. Replaced constructor
- with factory function to avoid leaks.
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::create):
- (WebEditorClient::WebEditorClient):
- (WebEditorClient::setWebFrame):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge initMainFrameWithPage:WebCore::frameName:view:webView:]):
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
- * WebCoreSupport/WebFrameLoaderClient.h: Replaced constructor with factory
- function to avoid leaks.
- (WebFrameLoaderClient::ref):
- (WebFrameLoaderClient::deref):
- (WebFrameLoaderClient::refCount):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::create):
- * WebView/WebFrame.mm:
- (-[WebFrame _initWithWebFrameView:webView:coreFrame:]):
-
-=== Safari-521.30 ===
-
-2006-11-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - remove some unnecessary uses of WebDataProtocol
-
- * WebView/WebDataSource.mm: Remove the unneeded include.
- * WebView/WebView.mm:
- (+[WebView _canHandleRequest:]): Don't bother to check for unreachable URL here.
- Any request that has one will be an applewebdata: request, which will pass the check anyway.
-
-2006-11-10 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Geoff.
-
- Update for changes to WebCore
- * WebView/WebHTMLView.m:
- (-[NSArray _applyStyleToSelection:withUndoAction:]):
- (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
- (-[NSArray _toggleBold]):
- (-[NSArray _toggleItalic]):
-
-2006-11-09 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej, Geoff.
-
- Call execCommand directly here instead of going through the bridge.
-
- * WebView/WebHTMLView.m:
- (-[NSArray moveBackward:]):
- (-[NSArray moveBackwardAndModifySelection:]):
- (-[NSArray moveDown:]):
- (-[NSArray moveDownAndModifySelection:]):
- (-[NSArray moveForward:]):
- (-[NSArray moveForwardAndModifySelection:]):
- (-[NSArray moveLeft:]):
- (-[NSArray moveLeftAndModifySelection:]):
- (-[NSArray moveRight:]):
- (-[NSArray moveRightAndModifySelection:]):
- (-[NSArray moveToBeginningOfDocument:]):
- (-[NSArray moveToBeginningOfDocumentAndModifySelection:]):
- (-[NSArray moveToBeginningOfSentence:]):
- (-[NSArray moveToBeginningOfSentenceAndModifySelection:]):
- (-[NSArray moveToBeginningOfLine:]):
- (-[NSArray moveToBeginningOfLineAndModifySelection:]):
- (-[NSArray moveToBeginningOfParagraph:]):
- (-[NSArray moveToBeginningOfParagraphAndModifySelection:]):
- (-[NSArray moveToEndOfDocument:]):
- (-[NSArray moveToEndOfDocumentAndModifySelection:]):
- (-[NSArray moveToEndOfSentence:]):
- (-[NSArray moveToEndOfSentenceAndModifySelection:]):
- (-[NSArray moveToEndOfLine:]):
- (-[NSArray moveToEndOfLineAndModifySelection:]):
- (-[NSArray moveToEndOfParagraph:]):
- (-[NSArray moveToEndOfParagraphAndModifySelection:]):
- (-[NSArray moveParagraphBackwardAndModifySelection:]):
- (-[NSArray moveParagraphForwardAndModifySelection:]):
- (-[NSArray moveUp:]):
- (-[NSArray moveUpAndModifySelection:]):
- (-[NSArray moveWordBackward:]):
- (-[NSArray moveWordBackwardAndModifySelection:]):
- (-[NSArray moveWordForward:]):
- (-[NSArray moveWordForwardAndModifySelection:]):
- (-[NSArray moveWordLeft:]):
- (-[NSArray moveWordLeftAndModifySelection:]):
- (-[NSArray moveWordRight:]):
- (-[NSArray moveWordRightAndModifySelection:]):
-
-2006-11-10 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- Took out WebIconDatabaseBridge and made WebKit call IconDatabase directly
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase init]):
- (-[WebIconDatabase iconForURL:withSize:cache:]):
- (-[WebIconDatabase iconURLForURL:]):
- (-[WebIconDatabase defaultIconWithSize:]):
- (-[WebIconDatabase defaultIconForURL:withSize:]):
- (-[WebIconDatabase retainIconForURL:]):
- (-[WebIconDatabase releaseIconForURL:]):
- (-[WebIconDatabase setDelegate:]):
- (-[WebIconDatabase removeAllIcons]):
- (-[WebIconDatabase isIconExpiredForIconURL:]):
- (-[WebIconDatabase _isEnabled]):
- (-[WebIconDatabase _setIconData:forIconURL:]):
- (-[WebIconDatabase _setHaveNoIconForIconURL:]):
- (-[WebIconDatabase _setIconURL:forURL:]):
- (-[WebIconDatabase _hasEntryForIconURL:]):
- (-[WebIconDatabase _applicationWillTerminate:]):
- (-[WebIconDatabase _resetCachedWebPreferences:]):
- (-[WebIconDatabase _convertToWebCoreFormat]):
- (webGetNSImage):
- * Misc/WebIconDatabaseInternal.h: Added.
- * Misc/WebIconDatabasePrivate.h:
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidReceiveIcon):
- * WebCoreSupport/WebIconDatabaseBridge.h: Removed.
- * WebCoreSupport/WebIconDatabaseBridge.m: Removed.
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-11-09 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Brady.
-
- Updated to make use of MimeTypeRegistry/bridge
-
- * Misc/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
- * WebView/WebDataSource.mm:
- (-[WebDataSource _documentFragmentWithArchive:]):
- * WebView/WebHTMLRepresentation.m:
- (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
- (+[WebHTMLRepresentation supportedImageMIMETypes]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _imageExistsAtPaths:]):
- (-[WebHTMLView _documentFragmentWithPaths:]):
-
-2006-11-09 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- <rdar://problem/4829080>
- More loader re-factoring cleanup - WebFramePolicyListener was over-released
-
- * WebCoreSupport/WebFrameLoaderClient.h: Changed vanilla ptr to a RetainPtr<>
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): Ditto
- (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): Ditto
- (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto
- (WebFrameLoaderClient::dispatchWillSubmitForm): Ditto
- (WebFrameLoaderClient::setUpPolicyListener): Ditto
- (-[WebFramePolicyListener receivedPolicyDecision:]): Ditto
-
-2006-11-08 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam, Oliver.
-
- Update for changes to WebCore. Pass a specific WebFrame to WebEditorClient
- instead of just passing the WebView.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::WebEditorClient):
- (WebEditorClient::setWebFrame):
- (WebEditorClient::isContinuousSpellCheckingEnabled):
- (WebEditorClient::spellCheckerDocumentTag):
- (WebEditorClient::shouldDeleteRange):
- (WebEditorClient::shouldShowDeleteInterface):
- (WebEditorClient::shouldApplyStyle):
- (WebEditorClient::shouldBeginEditing):
- (WebEditorClient::shouldEndEditing):
- (WebEditorClient::didBeginEditing):
- (WebEditorClient::respondToChangedContents):
- (WebEditorClient::didEndEditing):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge initMainFrameWithPage:WebCore::frameName:view:webView:]):
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
-
-2006-11-08 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Move more code into editor.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::shouldBeginEditing):
- (WebEditorClient::shouldEndEditing):
- (WebEditorClient::didBeginEditing):
- (WebEditorClient::didEndEditing):
- * WebCoreSupport/WebFrameBridge.mm:
- * WebView/WebHTMLView.m:
- (-[NSArray indent:]):
- (-[NSArray outdent:]):
- * WebView/WebView.mm:
- * WebView/WebViewInternal.h:
-
-2006-11-08 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- Add WebElementIsContentEditableKey to the WebElementDictionary, and
- use it!
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate
- webView:contextMenuItemsForElement:defaultMenuItems:]): Use new
- WebElementIsContentEditableKey.
- * Misc/WebElementDictionary.m:
- (+[WebElementDictionary initializeLookupTable]):
- (-[WebElementDictionary _isContentEditable]): Call into
- HitTestResult::isContentEditable()
- * WebView/WebView.mm: Add new key.
- * WebView/WebViewPrivate.h: Add new key.
-
-2006-11-08 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Oliver.
-
- Call into the WebCore editor object directly.
-
- * MigrateHeaders.make:
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::shouldDeleteRange):
- (WebEditorClient::shouldShowDeleteInterface):
- (WebEditorClient::shouldApplyStyle):
- * WebView/WebFrame.mm:
- (core):
- (kit):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.m:
- (-[NSArray _applyStyleToSelection:withUndoAction:]):
- (-[NSArray _applyParagraphStyleToSelection:withUndoAction:]):
- (-[NSArray _toggleBold]):
- (-[NSArray _toggleItalic]):
- (-[NSArray _changeCSSColorUsingSelector:inRange:]):
- (-[NSArray underline:]):
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
- * WebView/WebView.mm:
- (-[WebView applyStyle:]):
-
-2006-11-08 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Oliver.
-
- <rdar://problem/4825370>
- REGRESSION: Selecting "Look Up In Dictionary" from contextual menu fails to open the Dictionary app
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
- Initialize the framework pointer to 0.
-
-2006-11-07 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff.
-
- - udpated for changes to move from Frame/FrameMac to FrameLoader
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate openNewWindowWithURL:element:]):
- * Misc/WebNSAttributedStringExtras.m:
- (+[NSAttributedString _web_attributedStringFromRange:]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView requestWithURLCString:]):
- * Plugins/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView didStart]):
- * Plugins/WebNetscapePluginStream.mm:
- * Plugins/WebPluginController.mm:
- (-[WebPluginController pluginView:receivedResponse:]):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::provisionalLoadStarted):
- * WebView/WebFrame.mm:
- (-[WebFrame _canCachePage]):
- (+[WebFrame _timeOfLastCompletedLoad]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _reloadForPluginChanges]):
- (-[WebFrame stopLoading]):
-
-2006-11-07 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Geoff.
-
- Use the WebCore editing enums.
-
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge undoNameForEditAction:]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
- (-[WebHTMLView _deleteSelection]):
- (-[WebHTMLView moveBackward:]):
- (-[WebHTMLView moveBackwardAndModifySelection:]):
- (-[WebHTMLView moveDown:]):
- (-[WebHTMLView moveDownAndModifySelection:]):
- (-[WebHTMLView moveForward:]):
- (-[WebHTMLView moveForwardAndModifySelection:]):
- (-[WebHTMLView moveLeft:]):
- (-[WebHTMLView moveLeftAndModifySelection:]):
- (-[WebHTMLView moveRight:]):
- (-[WebHTMLView moveRightAndModifySelection:]):
- (-[WebHTMLView moveToBeginningOfDocument:]):
- (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]):
- (-[WebHTMLView moveToBeginningOfSentence:]):
- (-[WebHTMLView moveToBeginningOfSentenceAndModifySelection:]):
- (-[WebHTMLView moveToBeginningOfLine:]):
- (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]):
- (-[WebHTMLView moveToBeginningOfParagraph:]):
- (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]):
- (-[WebHTMLView moveToEndOfDocument:]):
- (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]):
- (-[WebHTMLView moveToEndOfSentence:]):
- (-[WebHTMLView moveToEndOfSentenceAndModifySelection:]):
- (-[WebHTMLView moveToEndOfLine:]):
- (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
- (-[WebHTMLView moveToEndOfParagraph:]):
- (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]):
- (-[WebHTMLView moveParagraphBackwardAndModifySelection:]):
- (-[WebHTMLView moveParagraphForwardAndModifySelection:]):
- (-[WebHTMLView moveUp:]):
- (-[WebHTMLView moveUpAndModifySelection:]):
- (-[WebHTMLView moveWordBackward:]):
- (-[WebHTMLView moveWordBackwardAndModifySelection:]):
- (-[WebHTMLView moveWordForward:]):
- (-[WebHTMLView moveWordForwardAndModifySelection:]):
- (-[WebHTMLView moveWordLeft:]):
- (-[WebHTMLView moveWordLeftAndModifySelection:]):
- (-[WebHTMLView moveWordRight:]):
- (-[WebHTMLView moveWordRightAndModifySelection:]):
- (-[WebHTMLView pageUp:]):
- (-[WebHTMLView pageDown:]):
- (-[WebHTMLView pageUpAndModifySelection:]):
- (-[WebHTMLView pageDownAndModifySelection:]):
- (-[WebHTMLView _expandSelectionToGranularity:]):
- (-[WebHTMLView selectParagraph:]):
- (-[WebHTMLView selectLine:]):
- (-[WebHTMLView selectSentence:]):
- (-[WebHTMLView selectWord:]):
- (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
- (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]):
- (-[WebHTMLView _toggleBold]):
- (-[WebHTMLView _toggleItalic]):
- (-[WebHTMLView pasteFont:]):
- (-[WebHTMLView changeFont:]):
- (-[WebHTMLView changeAttributes:]):
- (-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
- (-[WebHTMLView changeColor:]):
- (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]):
- (-[WebHTMLView alignCenter:]):
- (-[WebHTMLView alignJustified:]):
- (-[WebHTMLView alignLeft:]):
- (-[WebHTMLView alignRight:]):
- (-[WebHTMLView _deleteWithDirection:SelectionController::granularity:killRing:isTypingAction:]):
- (-[WebHTMLView deleteForward:]):
- (-[WebHTMLView deleteBackward:]):
- (-[WebHTMLView deleteWordForward:]):
- (-[WebHTMLView deleteWordBackward:]):
- (-[WebHTMLView deleteToBeginningOfLine:]):
- (-[WebHTMLView deleteToEndOfLine:]):
- (-[WebHTMLView deleteToBeginningOfParagraph:]):
- (-[WebHTMLView deleteToEndOfParagraph:]):
- (-[WebHTMLView subscript:]):
- (-[WebHTMLView superscript:]):
- (-[WebHTMLView unscript:]):
- (-[WebHTMLView underline:]):
- (-[WebHTMLView deleteToMark:]):
- (-[WebHTMLView toggleBaseWritingDirection:]):
- (-[WebHTMLView changeBaseWritingDirection:]):
- (-[WebHTMLView _canSmartCopyOrDelete]):
- (-[WebTextCompleteController doCompletion]):
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
- * WebView/WebView.mm:
- (-[WebView setTypingStyle:]):
- (-[WebView applyStyle:]):
-
-2006-11-06 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Removed ScreenClient. It was highly unpopular, risking my midterm re-election.
-
- None of Screen's responsibilities require up-calls to WebKit or delegates,
- so WebCore can handle it all.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::setWindowRect):
- (WebChromeClient::windowRect):
- * WebCoreSupport/WebScreenClient.h: Removed.
- * WebCoreSupport/WebScreenClient.mm: Removed.
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2006-11-06 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin.
-
- Accidentally rolled out this change when removing the WebPageBridge. Now
- putting it back.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2006-11-05 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej, Darin, Anders.
-
- Removed the Page bridge. Beefed up Chrome. Added Screen and ScreenClient.
-
- (WebChromeClient::pageRect): It may seem weird for the page to ask the Chrome/ChromeClient
- about its own dimensions. The idea here is that we're asking the Chrome how
- much space it has devoted to the page. We have API for this (-webViewContentRect), but
- it was documented incorrectly (even Safari used it wrong), so we don't use
- it anymore. Once we fix our API/documentation, we can return to making a
- delegate callback to ask for the page's size.
- (WebChromeClient::createWindow): Changed to take a FrameLoadRequest with
- an appropriate referrer, instead of making up its own.
- (WebChromeClient::createModalDialog): Changed to take a FrameLoadRequest with
- an appropriate referrer, instead of broken out parcels.
- * WebCoreSupport/WebPageBridge.h: Removed. Dead Code.
- * WebCoreSupport/WebPageBridge.mm: Removed. Dead Code.
- * WebCoreSupport/WebScreenClient.h: Added.
- * WebCoreSupport/WebScreenClient.mm: Added.
- * WebView/WebView.mm: Added NULL checks for new _private->page, since
- it's not NULL-safe like the bridge was, and it gets cleared before
- dealloc.
-
-2006-11-06 Graham Dennis <graham.dennis@gmail.com>
-
- Reviewed by Tim Hatcher.
-
- Part of patch for http://bugs.webkit.org/show_bug.cgi?id=11323
- Link dragging behaviour does not obey WebKitEditableLinkBehavior WebPref
-
- * DefaultDelegates/WebDefaultUIDelegate.m:
- (-[NSApplication webView:dragSourceActionMaskForPoint:]): Logic moved to
- WebHTMLView's _mayStartDragAtEventLocation
- * Misc/WebElementDictionary.m: added isLiveLink
- (+[WebElementDictionary initializeLookupTable]):
- (-[WebElementDictionary _isLiveLink]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _mayStartDragAtEventLocation:]): Editable links should
- only be followed if isLiveLink is true
- (-[WebHTMLView _isMoveDrag:]): A drag of a live editable link is not
- a move
- (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]):
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
- * WebView/WebView.mm: added WebElementLinkIsLiveKey
- * WebView/WebViewPrivate.h: ditto
-
-2006-11-04 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver.
-
- - removed unneeded (and obsolete) header includes
-
- * WebCoreSupport/WebFrameBridge.mm:
- * WebView/WebFrame.mm:
-
-2006-11-05 Darin Adler <darin@apple.com>
-
- - WebKit part of Frame.h check-in (forgot to land it)
-
- * WebCoreSupport/WebFrameBridge.h:
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge textViewWasFirstResponderAtMouseDownTime:]):
- (-[WebFrameBridge shouldInterruptJavaScript]):
- (-[WebFrameBridge saveDocumentState:]):
- (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
- (-[WebFrameBridge valueForKey:keys:values:]):
- (-[WebFrameBridge getObjectCacheSize]):
- (-[WebFrameBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- (-[WebFrameBridge mayStartDragAtEventLocation:]):
- (-[WebFrameBridge canGoBackOrForward:]):
- (-[WebFrameBridge goBackOrForward:]):
- (-[WebFrameBridge print]):
- (-[WebFrameBridge getAppletInView:]):
- (-[WebFrameBridge pollForAppletInView:]):
- (-[WebFrameBridge respondToChangedContents]):
- (-[WebFrameBridge respondToChangedSelection]):
- (-[WebFrameBridge setIsSelected:forView:]):
-
-2006-11-04 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - converted more of the loader machinery to work with cross-platform
- data structures instead of Macintosh-specific ones
-
- store the computed user agent string as a WebCore::String instead
- of an NSString to avoid overhead converting it every time we get it
-
- * COM/WebFrame.cpp:
- (WebFrame::initWithName):
- * ChangeLog:
- * Misc/WebElementDictionary.m:
- (-[WebElementDictionary _image]):
- (-[WebElementDictionary _targetWebFrame]):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
- (WebFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
- (WebFrameLoaderClient::setTitle):
- (WebFrameLoaderClient::userAgent):
- (WebFrameLoaderClient::actionDictionary):
- * WebCoreSupport/WebPageBridge.mm:
- (WebCore::if):
- * WebView/WebDataSource.mm:
- (-[WebDataSource _URL]):
- (-[WebDataSource _URLForHistory]):
- (-[WebDataSource unreachableURL]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView elementAtPoint:allowShadowContent:]):
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
- (-[WebPDFView _path]):
- * WebView/WebView.mm:
- (-[WebViewPrivate init]):
- (-[WebViewPrivate dealloc]):
- (-[WebViewPrivate finalize]):
- (-[WebView _preferencesChangedNotification:]):
- (-[WebView _cachedResponseForURL:]):
- (-[WebView setApplicationNameForUserAgent:]):
- (-[WebView setCustomUserAgent:]):
- (-[WebView customUserAgent]):
- (-[WebView userAgentForURL:]):
- (-[WebView _computeUserAgent]):
- (-[WebView WebCore::]):
- * WebView/WebViewInternal.h:
-
-2006-11-04 Bertrand Guiheneuf <guiheneuf@gmail.com>
-
- Reviewed by Maciej, tweaked and landed by Alexey (using a patch by Don Gibson).
-
- http://bugs.webkit.org/show_bug.cgi?id=11433
- Fixes to get WebKit to run on Windows; implemented AffineTransformCairo.
-
- * COM/WebFrame.cpp:
- (WebFrame::initWithName):
- (WebFrame::loadDataSource):
- (WebFrame::receivedRedirect):
- (WebFrame::receivedResponse):
- (WebFrame::didReceiveData):
- (WebFrame::receivedAllData):
- Use resource handles now. Do not start doc loader by hand anymore.
- Handle didReceiveData() callback instead of receivedData() which
- is deprecated in implementation of ResourceHandleClient
-
- * COM/WebFrame.h:
- * COM/WebView.cpp:
- Applied ResourceLoader --> ResourceHandle renaming
-
- * WebKit.vcproj/WebKit.rc:
- Got rid of MFC dependencies (build fix for VCExpress).
-
- * WebKit.vcproj/WebKit.vcproj:
- Added platform/graphics platform/network and platform/network/win
- to headers search paths
-
-2006-11-03 Geoffrey Garen <ggaren@apple.com>
-
- Forgot to add these two files. Oops.
-
- * WebCoreSupport/WebChromeClient.h: Added.
- * WebCoreSupport/WebChromeClient.mm: Added.
-
-2006-11-02 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin, Beth.
-
- First cut at factoring Page's UIDelegate-related functions into Chrome
- and ChromeClient.
-
- Layout tests pass.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebPageBridge.mm:
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-11-02 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Brady.
-
- Adding outdent to the WebView responder forwarding list.
- Also add outdent to WebHTMLView.h and WebViewPrivate.h.
-
- * WebView/WebHTMLView.h:
- * WebView/WebViewPrivate.h:
- * WebView/WebView.mm:
-
-2006-11-01 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adam Roben
-
- - fixed <rdar://problem/4801351> Crash reloading PDF file in new Safari (or closing a window containing a PDF file)
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView initWithFrame:]):
- Retain the PDFSubview in the code path where we just obtain it by asking the PDFPreviewView for it. We were
- unconditionally releasing it in dealloc, but only retaining it in one of the two code paths.
-
-2006-10-31 Mark Rowe <bdash@webkit.org>
-
- Reviewed by Maciej.
-
- Fix null pointer dereference while running editing/pasteboard/drag-drop-modifies-page.html
-
- * Misc/WebElementDictionary.m:
- (-[WebElementDictionary _image]): Add null check.
-
-2006-10-31 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Maciej.
-
- This creates local functions for the remaining WebElementDictionary
- members that calls into HitTestResult instead of doing magical
- things with the Objective-C DOM classes.
-
- * ChangeLog:
- * Misc/WebElementDictionary.m:
- (addLookupKey): The values of the dictionary are now just
- selectors. They used to be WebElementMethods which were
- WebElementTargetObjects associated with selectors, but none of that
- is needed any more.
- (+[WebElementDictionary initializeLookupTable]): All selectors are
- now local functions, no more WebElementTargetObjects.
- (-[WebElementDictionary objectForKey:]): No more target objects!
- (-[WebElementDictionary _domNode]): Call into HitTestResult member
- variable.
- (-[WebElementDictionary _altDisplayString]): Same.
- (-[WebElementDictionary _image]): Same.
- (-[WebElementDictionary _absoluteImageURL]): Same.
- (-[WebElementDictionary _title]): Same.
- (-[WebElementDictionary _absoluteLinkURL]): Same.
- (-[WebElementDictionary _targetWebFrame]): Same.
- (-[WebElementDictionary _titleDisplayString]): Same.
- (-[WebElementDictionary _textContent]): Same.
-
-2006-10-31 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Alice.
-
- Moved some Editing code from WebKit, the bridge, and WebCore::Frame down
- to WebCore::Editor.
-
- * WebCoreSupport/WebFrameBridge.mm:
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _shouldDeleteRange:]):
- (-[WebHTMLView _canCopy]):
- (-[WebHTMLView _canCut]):
- (-[WebHTMLView _canDelete]):
- (-[WebHTMLView _canPaste]):
- (-[WebHTMLView _canEdit]):
- (-[WebHTMLView _canEditRichly]):
- (-[WebHTMLView _isEditable]):
- (-[WebHTMLView _isSelectionInPasswordField]):
- (-[NSArray validateUserInterfaceItem:]):
- (-[NSArray _expandSelectionToGranularity:]):
-
-2006-10-31 John Sullivan <sullivan@apple.com>
-
- Reviewed by Beth and Adam
-
- Display a tooltip when hovering over marked bad grammar.
-
- * Misc/WebElementDictionary.m:
- (+[WebElementDictionary initializeLookupTable]):
- support spelling tool tip
- (-[WebElementDictionary _spellingToolTip]):
- new method, calls through to HitTestResult
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _updateMouseoverWithEvent:]):
- Check for a spelling tool tip; if found, prefer it over the other possible tool tips.
- Check for empty strings instead of just nil strings being, since values from
- WebElementDictionary are empty strings.
-
- * WebView/WebViewPrivate.h:
- declare new string constant WebElementSpellingToolTipKey
- * WebView/WebView.mm:
- define new string constant WebElementSpellingToolTipKey
-
-2006-10-31 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Maciej.
-
- Small tweaks to WebKit because of http://bugs.webkit.org/
- show_bug.cgi?id=11461 HitTestResult should be split into
- HitTestRequest and HitTestResult
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebHTMLView.m:
- (-[WebHTMLView elementAtPoint:allowShadowContent:]): The
- HitTestResult initializer now just takes a point.
-
-2006-10-31 Darin Adler <darin@apple.com>
-
- Reviewed by Brady.
-
- - got "action dictionary" code out of FrameLoader,
- replacing with a class called NavigationAction
-
- * WebCoreSupport/WebFrameLoaderClient.h: Changed parameter types to NavigationAction.
- Made elementForEvent non-virtual. Added actionDictionary function.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): Changed parameter type,
- and used actionDictionary to make the action dictionary.
- (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.
- (WebFrameLoaderClient::actionDictionary): Added. Code that was originally in WebCore
- that creates the action dictionary (from a NavigationAction).
-
- * WebView/WebFrame.mm: (-[WebFrame _loadItem:withLoadType:]): Use NavigationAction
- instead of a dictionary for the action parameters.
-
-2006-10-31 Marvin Decker <marv.decker@gmail.com>
-
- Reviewed by Maciej.
-
- - fixed "Stop and reload don't work on the WebView"
- http://bugs.webkit.org/show_bug.cgi?id=11285
-
- * COM/WebFrame.cpp:
- (WebFrame::stopLoading): Implement.
- * COM/WebView.cpp:
- (WebView::stopLoading): ditto
- (WebView::reload): ditto
-
-2006-10-30 Darin Adler <darin@apple.com>
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
- Fix comment.
-
-2006-10-30 John Sullivan <sullivan@apple.com>
-
- Reviewed by Geoff Garen
-
- * WebView/WebHTMLView.m:
- (-[NSArray checkSpelling:]):
- removed code to update spelling panel; WebCore handles that now
- (-[NSArray showGuessPanel:]):
- ditto
-
-2006-10-30 John Sullivan <sullivan@apple.com>
-
- * English.lproj/WebViewEditingContextMenu.nib/info.nib:
- * English.lproj/WebViewEditingContextMenu.nib/objects.nib:
- Another wording change to match framework, post-Tiger:
- "Check Spelling" -> "Check Document Now"
-
-2006-10-30 John Sullivan <sullivan@apple.com>
-
- Reviewed by Geoff Garen.
-
- Moved spelling-related methods from bridge to EditorClient. Added one not-yet-used
- grammar-related method.
-
- * WebCoreSupport/WebEditorClient.h:
- declare overrides of isContinuousSpellCheckingEnabled(), spellCheckerDocumentTag(), and new
- isGrammarCheckingEnabled()
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::isContinuousSpellCheckingEnabled):
- implement by calling through to WebView
- (WebEditorClient::isGrammarCheckingEnabled):
- ditto
- (WebEditorClient::spellCheckerDocumentTag):
- ditto
-
- * WebCoreSupport/WebFrameBridge.mm:
- removed bridge equivalents of these methods
-
-2006-10-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Beth.
-
- Fixed nil-deref crash that I saw while using TOT (not sure how to repro,
- but the debugger confirmed the cause).
-
- * WebView/WebFrame.mm:
- (core): Added check for NULL bridge.
-
-2006-10-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin.
-
- Removed a number of editing and selection methods from the bridge.
-
- I moved cross-platform editing and selection code into WebCore::Editor and
- WebCore::SelectionController, respecitvely.
-
- All of the seemingly new code here is just code grabbed from WebCore or
- merged from WebCoreFrameBridge.
-
- I changed one piece of internal API: we now pass around Ranges in places
- where we used to pass around broken out components of Ranges.
-
- I also added WebCore XPATH_SUPPORT AND SVG_SUPPORT #defines to the project.
- Since we now include WebCore headers that depend on these #defines, we need
- to keep in sync with them, to avoid binary incompatibility.
-
-2006-10-30 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - work toward removing Objective-C data types from FrameLoader.h:
- removed NSDate, NSString, WebCorePageState, WebCoreResourceLoader,
- and WebCoreResourceHandle
- - moved bodyBackgroundColor function here from Frame
-
- * History/WebHistoryItem.m: (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
- Updated for change in WebCorePageState.
-
- * WebCoreSupport/WebFrameBridge.mm: Removed saveDocumentToPageCache method.
-
- * WebCoreSupport/WebFrameLoaderClient.h: Changed NSDate to double.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::invalidateCurrentItemPageCache): Moved the code that was
- formerly in invalidatePageCache: on the bridge here.
- (WebFrameLoaderClient::dispatchWillPerformClientRedirect): Added code to make the
- NSDate here.
- (WebFrameLoaderClient::createPageCache): Restructured code to create the
- WebCorePageState object directly instead of calling saveDocumentToPageCache on
- the bridge.
-
- * WebView/WebFrame.mm: (-[WebFrame _bodyBackgroundColor]): Rewrote this to work
- directly with the DOM and renderers rather than using a function on Frame.
-
-2006-10-29 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - added ResourceResponse class and didReceiveResponse delegate call
-
- * WebCoreSupport/WebFrameBridge.mm: Removed no longer needed
- expiresTimeForResponse: method.
-
-2006-10-29 Darin Adler <darin@apple.com>
-
- - update for the WebCore rename
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebView/WebFrame.mm:
-
-2006-10-29 Darin Adler <darin@apple.com>
-
- - update for the WebCore renames
-
- * Plugins/WebNetscapePluginStream.mm:
- * Plugins/WebPluginController.mm:
- * WebCoreSupport/WebFrameBridge.mm:
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::willUseArchive):
- (WebFrameLoaderClient::isArchiveLoadPending):
- (WebFrameLoaderClient::cancelPendingArchiveLoad):
- (WebFrameLoaderClient::deliverArchivedResources):
- * WebCoreSupport/WebPageBridge.mm:
- (-[WebPageBridge canRunModalNow]):
- * WebView/WebDocumentLoaderMac.h:
- * WebView/WebFrame.mm:
- * WebView/WebHTMLRepresentation.m:
- * WebView/WebView.mm:
-
-2006-10-29 Darin Adler <darin@apple.com>
-
- Rubber stamped by Adam Roben.
-
- - renamed WebCore's WebFrameLoaderClient to match the class name inside it
-
- * WebCoreSupport/WebFrameBridge.mm: Update include.
- * WebCoreSupport/WebFrameLoaderClient.h: Ditto.
-
-2006-10-29 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - eliminate use of NSArray to carry form data around
- (the code in this framework was actually using the NSArray to hold a single
- NSData anyway, so I just went back to an NSData for now)
-
- - also fixed http://bugs.webkit.org/show_bug.cgi?id=11444
- REGRESSION (r17378): Exception (-[NSCFDictionary setObject:forKey:]:
- attempt to insert nil value) when submitting a form with an empty
- uninitialized field
-
- * History/WebHistoryItem.m:
- (-[WebHistoryItem _setFormInfoFromRequest:]):
- (-[WebHistoryItem formData]):
- * History/WebHistoryItemPrivate.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchWillSubmitForm):
- * WebView/WebFrame.mm:
- (-[WebFrame _loadItem:withLoadType:]):
-
-2006-10-28 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - eliminated the use of Objective-C for the policy decider
- machinery, obviating the need for WebPolicyDeciderMac
-
- - moved the defersLoading flag from WebView to WebCore::Page
-
- - removed unused copies of four methods that in the frame bridge;
- the actually-used copies are in the page bridge
-
- - updated for rename of PassRefPtr::release to releaseRef
-
- * WebView/WebPolicyDeciderMac.h: Removed.
- * WebView/WebPolicyDeciderMac.m: Removed.
- * WebKit.xcodeproj/project.pbxproj: Updated for removal.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView sendEvent:]):
- * Plugins/WebNetscapePluginStream.mm:
- * WebCoreSupport/WebFrameBridge.mm:
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (getWebView):
- (WebFrameLoaderClient::WebFrameLoaderClient):
- (WebFrameLoaderClient::willCloseDocument):
- (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- (WebFrameLoaderClient::cancelPolicyCheck):
- (WebFrameLoaderClient::dispatchWillSubmitForm):
- (WebFrameLoaderClient::setDefersLoading):
- (WebFrameLoaderClient::setTitle):
- (WebFrameLoaderClient::deliverArchivedResourcesAfterDelay):
- (WebFrameLoaderClient::deliverArchivedResources):
- (WebFrameLoaderClient::setUpPolicyListener):
- (WebFrameLoaderClient::receivedPolicyDecison):
- (WebFrameLoaderClient::userAgent):
- (-[WebFramePolicyListener initWithWebCoreFrame:]):
- (-[WebFramePolicyListener invalidate]):
- (-[WebFramePolicyListener dealloc]):
- (-[WebFramePolicyListener finalize]):
- (-[WebFramePolicyListener receivedPolicyDecision:]):
- (-[WebFramePolicyListener ignore]):
- (-[WebFramePolicyListener download]):
- (-[WebFramePolicyListener use]):
- (-[WebFramePolicyListener continue]):
- * WebCoreSupport/WebPageBridge.mm:
- (-[WebPageBridge runModal]):
- * WebView/WebArchiver.m:
- (+[WebArchiver archiveSelectionInFrame:]):
- * WebView/WebFormDelegate.h:
- * WebView/WebFormDelegate.m:
- (+[WebFormDelegate _sharedWebFormDelegate]):
- (-[WebFormDelegate textFieldDidBeginEditing:inFrame:]):
- (-[WebFormDelegate textFieldDidEndEditing:inFrame:]):
- (-[WebFormDelegate textDidChangeInTextField:inFrame:]):
- (-[WebFormDelegate textDidChangeInTextArea:inFrame:]):
- (-[WebFormDelegate frame:sourceFrame:willSubmitForm:withValues:submissionListener:]):
- * WebView/WebFrame.mm:
- (-[WebFrame _loadURL:referrer:intoChild:]):
- (-[WebFrame _isFrameSet]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFrameView.mm:
- (-[WebFrameView _shouldDrawBorder]):
- * WebView/WebHTMLView.m:
- (-[NSArray knowsPageRange:]):
- * WebView/WebView.mm:
- (-[WebView _formDelegate]):
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-2006-10-28 Adam Roben <aroben@apple.com>
-
- Reviewed by Maciej.
-
- Fix layout tests that broke after r17399. Mitz discovered that the
- failures were caused by HitTestResult::m_point being uninitialized
- much of the time. HitTestResults are now always constructed with a
- point.
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView elementAtPoint:allowShadowContent:]): Pass point to
- HitTestResult constructor.
-
-2006-10-28 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin.
-
- This is the WebKit half of pushing the guts of elementAtPoint and
- WebElementDictionary into WebCore. Among other things, this patch
- makes WebElementDictionary.m and WebHTMLView.m Objective-C++
-
- * MigrateHeaders.make: Add DOMElementInternal.h to the list of
- headers to migrate.
- * Misc/WebElementDictionary.h: Replaced DOMNode, DOMElement, and
- NSPoint member variables with a HitTestResult member variable.
- * Misc/WebElementDictionary.m:
- (addLookupKey): Formatting.
- (-[WebElementDictionary initWithHitTestResult:]): Constructor just
- takes a HitTestResult now and sets the member variable.
- (-[WebElementDictionary dealloc]): delete HitTestResult.
- (-[WebElementDictionary finalize]): Address HitTestResult.
- (-[WebElementDictionary _domNode]): Use HitTestResult and call into
- WebCore.
- (-[WebElementDictionary objectForKey:]): Same.
- (-[WebElementDictionary _webFrame]): Same.
- (-[WebElementDictionary _targetWebFrame]): Same.
- (-[WebElementDictionary _title]): Same.
- (-[WebElementDictionary _imageRect]): Same.
- (-[WebElementDictionary _isSelected]): Same.
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebFrame.mm:
- (core): Convert from DOMNode* to Node*
- (kit): Convert from Node* to DOMNode*
- * WebView/WebFrameInternal.h: Support for the above.
- * WebView/WebHTMLView.m:
- (-[WebHTMLView elementAtPoint:allowShadowContent:]): Call directly
- into Frame.cpp to get HitTestResult.
-
-2006-10-27 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John & Adam.
-
- - various performance improvements for resource delegate dispatch.
-
- - avoid any ObjC messaging when fetching the WebView
- - avoid ObjC calls to WebView to get resource load delegate and impl cache
- - cache actual method pointers, not just the fact that the method is present
- - added a new SPI resource load delegate method which allows clients to get
- just one message in case of synchronously loading from memory cache; if this
- is implemented you don't get the normal delegate calls in that case.
- - various other minor tweaks
-
- * WebCoreSupport/WebFrameBridge.h:
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (getWebView):
- (WebFrameLoaderClient::hasBackForwardList):
- (WebFrameLoaderClient::resetBackForwardList):
- (WebFrameLoaderClient::privateBrowsingEnabled):
- (WebFrameLoaderClient::updateHistoryForStandardLoad):
- (WebFrameLoaderClient::resetAfterLoadError):
- (WebFrameLoaderClient::download):
- (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
- (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
- (WebFrameLoaderClient::dispatchWillSendRequest):
- (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidReceiveResponse):
- (WebFrameLoaderClient::dispatchDidReceiveContentLength):
- (WebFrameLoaderClient::dispatchDidFinishLoading):
- (WebFrameLoaderClient::dispatchDidFailLoading):
- (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
- (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
- (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
- (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebFrameLoaderClient::dispatchWillClose):
- (WebFrameLoaderClient::dispatchDidReceiveIcon):
- (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidFailLoad):
- (WebFrameLoaderClient::dispatchDidFinishLoad):
- (WebFrameLoaderClient::dispatchDidFirstLayout):
- (WebFrameLoaderClient::dispatchCreatePage):
- (WebFrameLoaderClient::dispatchShow):
- (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
- (WebFrameLoaderClient::dispatchWillSubmitForm):
- (WebFrameLoaderClient::dispatchDidLoadMainResource):
- (WebFrameLoaderClient::progressStarted):
- (WebFrameLoaderClient::progressCompleted):
- (WebFrameLoaderClient::incrementProgress):
- (WebFrameLoaderClient::completeProgress):
- (WebFrameLoaderClient::setMainFrameDocumentReady):
- (WebFrameLoaderClient::startDownload):
- (WebFrameLoaderClient::willChangeTitle):
- (WebFrameLoaderClient::didChangeTitle):
- (WebFrameLoaderClient::mainFrameURL):
- (WebFrameLoaderClient::frameLoadCompleted):
- * WebCoreSupport/WebPageBridge.h:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebFrame.mm:
- (frame):
- (core):
- (kit):
- (getWebView):
- (-[WebFrame _addBackForwardItemClippedAtTarget:]):
- (-[WebFrame _canCachePage]):
- (-[WebFrame _purgePageCache]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _goToItem:withLoadType:]):
- (-[WebFrame _updateBackground]):
- (-[WebFrame _clearSelectionInOtherFrames]):
- (-[WebFrame _isMainFrame]):
- (-[WebFrame webView]):
- * WebView/WebResourceLoadDelegatePrivate.h: Added.
- * WebView/WebView.mm:
- (-[WebView _cacheResourceLoadDelegateImplementations]):
- (WebViewGetResourceLoadDelegate):
- (WebViewGetResourceLoadDelegateImplementations):
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-2006-10-27 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej.
-
- Moved some WebCoreFrameBridge functions into FrameLoader.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _numPendingOrLoadingRequests:]):
-
-2006-10-27 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Beth.
-
- Make a DerivedSource/Webkit directory to store migrated
- internal headers from WebCore.
-
- * MigrateHeaders.make:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebFrame.mm: import the new migrated DOM*Internal.h headers
-
-2006-10-27 John Sullivan <sullivan@apple.com>
-
- Reviewed by Anders
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=11439
- REGRESSION: Another page loading crash
-
- * WebView/WebFrame.mm:
- (-[WebFrame _createItem:]):
- Handle nil documentLoader the way we did before ObjC->C++ changes
-
-2006-10-27 John Sullivan <sullivan@apple.com>
-
- Reviewed by Anders
-
- * WebView/WebHTMLView.m:
- (-[NSArray checkSpelling:]):
- call advanceToNextMisspelling directly on FrameMac, bypassing bridge
- (-[NSArray showGuessPanel:]):
- ditto
-
-2006-10-27 Darin Adler <darin@apple.com>
-
- - build fix
-
- * WebCoreSupport/WebFrameLoaderClient.mm: Corrected header file name.
-
-2006-10-27 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - moved methods that are there just to be called by the frame loader client into the client
- in an attempt to get back some of the speed we lost yesterday
-
- * DefaultDelegates/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveAuthenticationChallenge:fromDataSource:]):
- (-[WebDefaultResourceLoadDelegate webView:resource:didCancelAuthenticationChallenge:fromDataSource:]):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (dataSource):
- (decisionListener):
- (WebFrameLoaderClient::WebFrameLoaderClient):
- (WebFrameLoaderClient::hasWebView):
- (WebFrameLoaderClient::hasFrameView):
- (WebFrameLoaderClient::hasBackForwardList):
- (WebFrameLoaderClient::resetBackForwardList):
- (WebFrameLoaderClient::provisionalItemIsTarget):
- (WebFrameLoaderClient::loadProvisionalItemFromPageCache):
- (WebFrameLoaderClient::invalidateCurrentItemPageCache):
- (WebFrameLoaderClient::privateBrowsingEnabled):
- (WebFrameLoaderClient::makeDocumentView):
- (WebFrameLoaderClient::makeRepresentation):
- (WebFrameLoaderClient::setDocumentViewFromPageCache):
- (WebFrameLoaderClient::forceLayout):
- (WebFrameLoaderClient::forceLayoutForNonHTML):
- (WebFrameLoaderClient::updateHistoryForCommit):
- (WebFrameLoaderClient::updateHistoryForBackForwardNavigation):
- (WebFrameLoaderClient::updateHistoryForReload):
- (WebFrameLoaderClient::updateHistoryForStandardLoad):
- (WebFrameLoaderClient::updateHistoryForInternalLoad):
- (WebFrameLoaderClient::updateHistoryAfterClientRedirect):
- (WebFrameLoaderClient::setCopiesOnScroll):
- (WebFrameLoaderClient::tokenForLoadErrorReset):
- (WebFrameLoaderClient::resetAfterLoadError):
- (WebFrameLoaderClient::doNotResetAfterLoadError):
- (WebFrameLoaderClient::detachedFromParent1):
- (WebFrameLoaderClient::detachedFromParent2):
- (WebFrameLoaderClient::detachedFromParent3):
- (WebFrameLoaderClient::detachedFromParent4):
- (WebFrameLoaderClient::loadedFromPageCache):
- (WebFrameLoaderClient::download):
- (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
- (WebFrameLoaderClient::dispatchWillSendRequest):
- (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidReceiveResponse):
- (WebFrameLoaderClient::dispatchDidReceiveContentLength):
- (WebFrameLoaderClient::dispatchDidFinishLoading):
- (WebFrameLoaderClient::dispatchDidFailLoading):
- (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
- (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
- (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
- (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebFrameLoaderClient::dispatchWillClose):
- (WebFrameLoaderClient::dispatchDidReceiveIcon):
- (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidFailLoad):
- (WebFrameLoaderClient::dispatchDidFinishLoad):
- (WebFrameLoaderClient::dispatchDidFirstLayout):
- (WebFrameLoaderClient::dispatchCreatePage):
- (WebFrameLoaderClient::dispatchShow):
- (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
- (WebFrameLoaderClient::dispatchWillSubmitForm):
- (WebFrameLoaderClient::dispatchDidLoadMainResource):
- (WebFrameLoaderClient::clearLoadingFromPageCache):
- (WebFrameLoaderClient::isLoadingFromPageCache):
- (WebFrameLoaderClient::revertToProvisionalState):
- (WebFrameLoaderClient::setMainDocumentError):
- (WebFrameLoaderClient::clearUnarchivingState):
- (WebFrameLoaderClient::progressStarted):
- (WebFrameLoaderClient::progressCompleted):
- (WebFrameLoaderClient::incrementProgress):
- (WebFrameLoaderClient::completeProgress):
- (WebFrameLoaderClient::setMainFrameDocumentReady):
- (WebFrameLoaderClient::startDownload):
- (WebFrameLoaderClient::willChangeTitle):
- (WebFrameLoaderClient::didChangeTitle):
- (WebFrameLoaderClient::committedLoad):
- (WebFrameLoaderClient::finishedLoading):
- (WebFrameLoaderClient::finalSetupForReplace):
- (WebFrameLoaderClient::cancelledError):
- (WebFrameLoaderClient::cannotShowURLError):
- (WebFrameLoaderClient::interruptForPolicyChangeError):
- (WebFrameLoaderClient::cannotShowMIMETypeError):
- (WebFrameLoaderClient::fileDoesNotExistError):
- (WebFrameLoaderClient::shouldFallBack):
- (WebFrameLoaderClient::mainFrameURL):
- (WebFrameLoaderClient::setDefersCallbacks):
- (WebFrameLoaderClient::willUseArchive):
- (WebFrameLoaderClient::isArchiveLoadPending):
- (WebFrameLoaderClient::cancelPendingArchiveLoad):
- (WebFrameLoaderClient::clearArchivedResources):
- (WebFrameLoaderClient::canHandleRequest):
- (WebFrameLoaderClient::canShowMIMEType):
- (WebFrameLoaderClient::representationExistsForURLScheme):
- (WebFrameLoaderClient::generatedMIMETypeForURLScheme):
- (WebFrameLoaderClient::elementForEvent):
- (WebFrameLoaderClient::createPolicyDecider):
- (WebFrameLoaderClient::frameLoadCompleted):
- (WebFrameLoaderClient::restoreScrollPositionAndViewState):
- (WebFrameLoaderClient::provisionalLoadStarted):
- (WebFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
- (WebFrameLoaderClient::addHistoryItemForFragmentScroll):
- (WebFrameLoaderClient::didFinishLoad):
- (WebFrameLoaderClient::prepareForDataSourceReplacement):
- (WebFrameLoaderClient::createDocumentLoader):
- (WebFrameLoaderClient::setTitle):
- (WebFrameLoaderClient::canUseArchivedResource):
- (WebFrameLoaderClient::deliverArchivedResourcesAfterDelay):
- (WebFrameLoaderClient::deliverArchivedResources):
- (WebFrameLoaderClient::createPageCache):
- * WebView/WebFrame.mm:
- (-[NSView setWebFrame:]):
- (-[WebFrame _createItem:]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):
- (-[WebFrame _loadURL:referrer:intoChild:]):
- (-[WebFrame _saveScrollPositionAndViewStateToItem:]):
- (-[WebFrame _hasSelection]):
- (-[WebFrame _clearSelection]):
- (-[WebFrame _setProvisionalItem:]):
- (-[WebFrame _setPreviousItem:]):
- (-[WebFrame _setCurrentItem:]):
- (-[WebFrame loadArchive:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _topHTMLView]):
- * WebView/WebHTMLViewPrivate.h:
-
-2006-10-26 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin, Maciej.
-
- Removed many uses of NSString * from WebCore.
-
- Changed a few files to ObjC++ for compatiblity with new WebCore methods
- taking WebCore::Strings as arguments.
-
- Added a static_cast to make the c++ compiler happy.
-
-2006-10-26 John Sullivan <sullivan@apple.com>
-
- Reviewed by Anders
-
- * WebView/WebFrame.mm:
- now includes <WebCore/Document.h> and <WebCore/DocumentMarker.h>
- (-[WebFrame _unmarkAllBadGrammar]):
- filled in guts
- (-[WebFrame _unmarkAllMisspellings]):
- rewrote to call Document directly, bypassing bridge
-
-2006-10-26 John Sullivan <sullivan@apple.com>
-
- * English.lproj/WebViewEditingContextMenu.nib/info.nib:
- * English.lproj/WebViewEditingContextMenu.nib/objects.nib:
-
- Changed "Spelling" to "Spelling and Grammar" in context menu for post-Tiger.
-
-=== Safari-521.29 ===
-
-2006-10-26 John Sullivan <sullivan@apple.com>
-
- No review, just two localized string changes.
-
- * WebView/WebHTMLView.m:
- (-[NSArray validateUserInterfaceItem:]):
- changed "Show/Hide Spelling" to "Show/Hide Spelling and Grammar" post-Tiger to match framework change
-
- * English.lproj/Localizable.strings:
- updated for these changes
-
-2006-10-25 Darin Adler <darin@apple.com>
-
- Reviewed by Anders.
-
- - removed 55 methods from WebCoreFrameBridge
- - changed callers to use Frame directly instead
- - put FrameLoaderTypes.h types into the WebCore namespace
- - first steps to get FrameLoader.h ready for cross-platform duty
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate openNewWindowWithURL:element:]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView requestWithURLCString:]):
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- (-[WebBaseNetscapePluginView getVariable:value:]):
- * Plugins/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView didStart]):
- * Plugins/WebNetscapePluginStream.mm:
- * Plugins/WebPluginContainerCheck.m:
- (-[WebPluginContainerCheck _continueWithPolicy:]):
- (-[WebPluginContainerCheck _isForbiddenFileLoad]):
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::shouldDeleteRange):
- (WebEditorClient::shouldShowDeleteInterface):
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge webView]):
- (-[WebFrameBridge finishInitializingWithFrameName:view:]):
- (-[WebFrameBridge createWindowWithURL:]):
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
- (-[WebFrameBridge windowObjectCleared]):
- (-[WebFrameBridge createModalDialogWithURL:]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchCreatePage):
- (WebFrameLoaderClient::dispatchWillSubmitForm):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebArchiver.m:
- (+[WebArchiver archiveSelectionInFrame:]):
- * WebView/WebDataSource.mm:
- (-[WebDataSource _documentFragmentWithImageResource:]):
- (-[WebDataSource _imageElementWithImageResource:]):
- * WebView/WebEditingDelegatePrivate.h:
- * WebView/WebFrame.mm:
- (core):
- (kit):
- (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):
- (-[WebFrame _canCachePage]):
- (-[WebFrame _childFramesMatchItem:]):
- (-[WebFrame _URLsMatchItem:]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):
- (-[WebFrame _viewWillMoveToHostWindow:]):
- (-[WebFrame _viewDidMoveToHostWindow]):
- (-[WebFrame _addChild:]):
- (-[WebFrame _saveDocumentAndScrollState]):
- (-[WebFrame _numPendingOrLoadingRequests:]):
- (-[WebFrame _reloadForPluginChanges]):
- (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
- (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
- (-[WebFrame _initWithWebFrameView:webView:coreFrame:]):
- (-[WebFrame _documentViews]):
- (-[WebFrame _updateBackground]):
- (-[WebFrame _unmarkAllMisspellings]):
- (-[WebFrame _hasSelection]):
- (-[WebFrame _atMostOneFrameHasSelection]):
- (-[WebFrame _findFrameWithSelection]):
- (-[WebFrame _frameLoader]):
- (-[WebFrame _isDescendantOfFrame:]):
- (-[WebFrame _setShouldCreateRenderers:]):
- (-[WebFrame _bodyBackgroundColor]):
- (-[WebFrame init]):
- (-[WebFrame initWithName:webFrameView:webView:]):
- (-[WebFrame dealloc]):
- (-[WebFrame finalize]):
- (-[WebFrame name]):
- (-[WebFrame webView]):
- (-[WebFrame DOMDocument]):
- (-[WebFrame frameElement]):
- (-[WebFrame findFrameNamed:]):
- (-[WebFrame parentFrame]):
- (-[WebFrame childFrames]):
- (-[WebFrame _invalidateCurrentItemPageCache]):
- (-[WebFrame _dispatchCreateWebViewWithRequest:]):
- (-[WebFrame _dispatchSourceFrame:willSubmitForm:withValues:submissionDecider:]):
- (-[WebFrame _prepareForDataSourceReplacement]):
- (-[WebFrame _provisionalLoadStarted]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation DOMDocument]):
- (-[WebHTMLRepresentation attributedText]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _documentRange]):
- (-[WebHTMLView _documentFragmentWithPaths:]):
- (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
- (-[WebHTMLView _selectedRange]):
- (-[WebHTMLView _updateMouseoverWithEvent:]):
- (-[WebHTMLView _canEditRichly]):
- (-[WebHTMLView _hasSelection]):
- (-[WebHTMLView _hasSelectionOrInsertionPoint]):
- (-[WebHTMLView _hasInsertionPoint]):
- (-[WebHTMLView _isEditable]):
- (-[WebHTMLView _isSelectionInPasswordField]):
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
- (-[WebHTMLView _selectionDraggingImage]):
- (-[WebHTMLView _canIncreaseSelectionListLevel]):
- (-[WebHTMLView _canDecreaseSelectionListLevel]):
- (-[WebHTMLView _updateActiveState]):
- (-[NSArray readSelectionFromPasteboard:]):
- (-[NSArray validateUserInterfaceItem:]):
- (-[NSArray maintainsInactiveSelection]):
- (-[NSArray menuForEvent:]):
- (-[NSArray scrollWheel:]):
- (-[NSArray acceptsFirstMouse:]):
- (-[NSArray shouldDelayWindowOrderingForEvent:]):
- (-[NSArray mouseDown:]):
- (-[NSArray mouseDragged:]):
- (-[NSArray mouseUp:]):
- (-[NSArray keyDown:]):
- (-[NSArray keyUp:]):
- (-[NSArray centerSelectionInVisibleArea:]):
- (-[NSArray _selectionStartFontAttributesAsRTF]):
- (-[NSArray _emptyStyle]):
- (-[NSArray performKeyEquivalent:]):
- (-[NSArray indent:]):
- (-[NSArray outdent:]):
- (-[WebHTMLView cut:]):
- (-[WebHTMLView paste:]):
- (-[WebHTMLView _selectRangeInMarkedText:]):
- (-[WebTextCompleteController doCompletion]):
- (-[WebHTMLView selectionRect]):
- (-[WebHTMLView selectionImageForcingWhiteText:]):
- (-[WebHTMLView selectionImageRect]):
- (-[WebHTMLView attributedString]):
- (-[WebHTMLView _isMoveDrag]):
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]):
- * WebView/WebPolicyDelegate.mm:
- (-[WebPolicyDecisionListener _usePolicy:]):
- (-[WebPolicyDecisionListener use]):
- (-[WebPolicyDecisionListener ignore]):
- (-[WebPolicyDecisionListener download]):
- (-[WebPolicyDecisionListener continue]):
- * WebView/WebScriptDebugDelegate.m:
- (-[WebScriptCallFrame _initWithFrame:initWithWebFrame:]):
- (-[WebScriptCallFrame globalObject]):
- * WebView/WebView.mm:
- (-[WebView _attachScriptDebuggerToAllFrames]):
- (-[WebView _detachScriptDebuggerFromAllFrames]):
- (-[WebView windowScriptObject]):
- (incrementFrame):
- (-[WebView searchFor:direction:caseSensitive:wrap:]):
- (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
- (-[WebView removeDragCaret]):
- (-[WebView setScriptDebugDelegate:]):
- (-[WebView scriptDebugDelegate]):
- (-[WebView shouldClose]):
- (-[WebView selectedDOMRange]):
- (-[WebView styleDeclarationWithText:]):
-
-2006-10-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Adam.
-
- Renamed WebFrameLoader to FrameLoader, to match class name.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- * Plugins/WebNetscapePluginStream.mm:
- * Plugins/WebPluginController.mm:
- * WebCoreSupport/WebFrameBridge.mm:
- * WebView/WebDataSource.mm:
- * WebView/WebFrame.mm:
- * WebView/WebPDFView.mm:
- * WebView/WebPolicyDelegate.mm:
- * WebView/WebView.mm:
-
-2006-10-25 Mark Rowe <bdash@webkit.org>
-
- Reviewed by Anders.
-
- Build fix for the Buildbot.
-
- * WebView/WebHTMLView.m:
- (-[NSArray _addToStyle:fontA:fontB:]): Explicit cast.
-
-2006-10-25 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- <rdar://problem/4785575> REGRESSION: form resubmission warning occurs twice, then Safari crashes in autorelease pool
- <rdar://problem/4799383> REGRESSION: Crash occurs when dismissing the "Would you like to save this password" sheet
-
- * WebView/WebPolicyDeciderMac.m:
- (-[WebPolicyDeciderMac dealloc]): release the listener, don't dealloc it
-
-2006-10-24 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin.
-
- * WebKitPrefix.h:
- Include FastMalloc.h from C++ code.
-
-2006-10-24 Darin Adler <darin@apple.com>
-
- Reviewed by Anders.
-
- - converted WebFrameLoaderClient to C++
- - renamed frame->frameLoader() function to frame->loader()
- - renamed [bridge impl] to [bridge _frame]
- - removed some bridge methods
-
- * Plugins/WebNetscapePluginStream.mm:
- * WebCoreSupport/WebEditorClient.mm:
- * WebCoreSupport/WebFrameLoaderClient.h: Added.
- (WebFrameLoaderClient::webFrame):
- * WebCoreSupport/WebFrameLoaderClient.mm: Added.
- (WebFrameLoaderClient::detachFrameLoader):
- (WebFrameLoaderClient::hasWebView):
- (WebFrameLoaderClient::hasFrameView):
- (WebFrameLoaderClient::hasBackForwardList):
- (WebFrameLoaderClient::resetBackForwardList):
- (WebFrameLoaderClient::provisionalItemIsTarget):
- (WebFrameLoaderClient::loadProvisionalItemFromPageCache):
- (WebFrameLoaderClient::invalidateCurrentItemPageCache):
- (WebFrameLoaderClient::privateBrowsingEnabled):
- (WebFrameLoaderClient::makeDocumentView):
- (WebFrameLoaderClient::makeRepresentation):
- (WebFrameLoaderClient::setDocumentViewFromPageCache):
- (WebFrameLoaderClient::forceLayout):
- (WebFrameLoaderClient::forceLayoutForNonHTML):
- (WebFrameLoaderClient::updateHistoryForCommit):
- (WebFrameLoaderClient::updateHistoryForBackForwardNavigation):
- (WebFrameLoaderClient::updateHistoryForReload):
- (WebFrameLoaderClient::updateHistoryForStandardLoad):
- (WebFrameLoaderClient::updateHistoryForInternalLoad):
- (WebFrameLoaderClient::updateHistoryAfterClientRedirect):
- (WebFrameLoaderClient::setCopiesOnScroll):
- (WebFrameLoaderClient::tokenForLoadErrorReset):
- (WebFrameLoaderClient::resetAfterLoadError):
- (WebFrameLoaderClient::doNotResetAfterLoadError):
- (WebFrameLoaderClient::detachedFromParent1):
- (WebFrameLoaderClient::detachedFromParent2):
- (WebFrameLoaderClient::detachedFromParent3):
- (WebFrameLoaderClient::detachedFromParent4):
- (WebFrameLoaderClient::loadedFromPageCache):
- (WebFrameLoaderClient::download):
- (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
- (WebFrameLoaderClient::dispatchWillSendRequest):
- (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidReceiveResponse):
- (WebFrameLoaderClient::dispatchDidReceiveContentLength):
- (WebFrameLoaderClient::dispatchDidFinishLoading):
- (WebFrameLoaderClient::dispatchDidFailLoading):
- (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
- (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
- (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
- (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebFrameLoaderClient::dispatchWillClose):
- (WebFrameLoaderClient::dispatchDidReceiveIcon):
- (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidFailLoad):
- (WebFrameLoaderClient::dispatchDidFinishLoad):
- (WebFrameLoaderClient::dispatchDidFirstLayout):
- (WebFrameLoaderClient::dispatchCreatePage):
- (WebFrameLoaderClient::dispatchShow):
- (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
- (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
- (WebFrameLoaderClient::dispatchWillSubmitForm):
- (WebFrameLoaderClient::dispatchDidLoadMainResource):
- (WebFrameLoaderClient::clearLoadingFromPageCache):
- (WebFrameLoaderClient::isLoadingFromPageCache):
- (WebFrameLoaderClient::revertToProvisionalState):
- (WebFrameLoaderClient::setMainDocumentError):
- (WebFrameLoaderClient::clearUnarchivingState):
- (WebFrameLoaderClient::progressStarted):
- (WebFrameLoaderClient::progressCompleted):
- (WebFrameLoaderClient::incrementProgress):
- (WebFrameLoaderClient::completeProgress):
- (WebFrameLoaderClient::setMainFrameDocumentReady):
- (WebFrameLoaderClient::startDownload):
- (WebFrameLoaderClient::willChangeTitle):
- (WebFrameLoaderClient::didChangeTitle):
- (WebFrameLoaderClient::committedLoad):
- (WebFrameLoaderClient::finishedLoading):
- (WebFrameLoaderClient::finalSetupForReplace):
- (WebFrameLoaderClient::cancelledError):
- (WebFrameLoaderClient::cannotShowURLError):
- (WebFrameLoaderClient::interruptForPolicyChangeError):
- (WebFrameLoaderClient::cannotShowMIMETypeError):
- (WebFrameLoaderClient::fileDoesNotExistError):
- (WebFrameLoaderClient::shouldFallBack):
- (WebFrameLoaderClient::mainFrameURL):
- (WebFrameLoaderClient::setDefersCallbacks):
- (WebFrameLoaderClient::willUseArchive):
- (WebFrameLoaderClient::isArchiveLoadPending):
- (WebFrameLoaderClient::cancelPendingArchiveLoad):
- (WebFrameLoaderClient::clearArchivedResources):
- (WebFrameLoaderClient::canHandleRequest):
- (WebFrameLoaderClient::canShowMIMEType):
- (WebFrameLoaderClient::representationExistsForURLScheme):
- (WebFrameLoaderClient::generatedMIMETypeForURLScheme):
- (WebFrameLoaderClient::elementForEvent):
- (WebFrameLoaderClient::createPolicyDecider):
- (WebFrameLoaderClient::frameLoadCompleted):
- (WebFrameLoaderClient::restoreScrollPositionAndViewState):
- (WebFrameLoaderClient::provisionalLoadStarted):
- (WebFrameLoaderClient::shouldTreatURLAsSameAsCurrent):
- (WebFrameLoaderClient::addHistoryItemForFragmentScroll):
- (WebFrameLoaderClient::didFinishLoad):
- (WebFrameLoaderClient::prepareForDataSourceReplacement):
- (WebFrameLoaderClient::createDocumentLoader):
- (WebFrameLoaderClient::setTitle):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.mm:
- (-[WebDataSource webFrame]):
- * WebView/WebFrame.mm:
- (frame):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _reloadForPluginChanges]):
- (-[WebFrame _initWithWebFrameView:webView:bridge:]):
- (-[WebFrame _frameLoader]):
- (-[WebFrame provisionalDataSource]):
- (-[WebFrame dataSource]):
- (-[WebFrame parentFrame]):
- (-[WebFrame _provisionalLoadStarted]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
- (-[NSArray validateUserInterfaceItem:]):
- (-[NSArray scrollWheel:]):
- (-[NSArray acceptsFirstMouse:]):
- (-[NSArray shouldDelayWindowOrderingForEvent:]):
- (-[NSArray _selectionStartFontAttributesAsRTF]):
- (-[NSArray changeBaseWritingDirection:]):
- (-[NSArray indent:]):
- (-[NSArray outdent:]):
- (-[WebHTMLView copy:]):
- (-[WebHTMLView cut:]):
- (-[WebHTMLView paste:]):
- * WebView/WebView.mm:
- (-[WebView _dashboardRegions]):
- (-[WebView setProhibitsMainFrameScrolling:]):
- (-[WebView _setInViewSourceMode:]):
- (-[WebView _inViewSourceMode]):
- (-[WebView setEditable:]):
-
-2006-10-24 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker
-
- - fixed <rdar://problem/4801331> "Spelling..." menu item should be "Show/Hide Spelling" post-Tiger, to match AppKit
-
- * WebView/WebHTMLView.m:
- (-[NSArray validateUserInterfaceItem:]):
- post-Tiger, update the menu item text to "Show Spelling"/"Hide Spelling" based on whether
- the spelling panel is already showing. Also, removed else's after returns, and removed
- braces around one-line if clauses.
- (-[NSArray showGuessPanel:]):
- post-Tiger, make this item hide the spelling panel if it's already showing
-
- * English.lproj/Localizable.strings:
- updated for this change
-
-2006-10-24 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Anders.
-
- <rdar://problem/4588878> 'WebHTMLView' may not respond to '-_webView'
-
- * Misc/WebNSViewExtras.h:
- * Misc/WebNSViewExtras.m:
- (-[NSView _webView]):
-
-2006-10-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- http://bugs.webkit.org/show_bug.cgi?id=11406 - Crash in [WebFrame dataSource]
- In the transition to ObjC++ we lost alot of our free nil checking that we must now do manually
- to prevent null dereferencing.
-
- * WebView/WebFrame.mm:
- (-[WebFrame provisionalDataSource]):
- (-[WebFrame dataSource]):
-
-2006-10-24 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- Initial plumbing for grammar checking. No actual grammar are checked at this time.
-
- * English.lproj/WebViewEditingContextMenu.nib/classes.nib:
- * English.lproj/WebViewEditingContextMenu.nib/info.nib:
- * English.lproj/WebViewEditingContextMenu.nib/objects.nib:
- Added grammar-checking item, reworded to match changes in framework. This will be used
- post-Tiger.
-
- * English.lproj/WebViewEditingContextMenuOld.nib/classes.nib: Added.
- * English.lproj/WebViewEditingContextMenuOld.nib/info.nib: Added.
- * English.lproj/WebViewEditingContextMenuOld.nib/objects.nib: Added.
- Copy of WebViewEditingContextMenu.nib, unchanged. This will be used on Tiger.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
- Choose the right context menu based on BUILDING_ON_TIGER.
-
- * WebView/WebPreferenceKeysPrivate.h:
- declare grammar-related NSUserDefault value
-
- * WebView/WebViewPrivate.h:
- declare grammar-related methods
-
- * WebView/WebView.mm:
- declare static BOOL grammarCheckingEnabled
- (-[WebViewPrivate init]):
- initialize grammarCheckingEnabled to NSUserDefaults value
- (-[WebView validateUserInterfaceItem:]):
- validate toggleGrammarChecking: menu item
- (-[WebView isGrammarCheckingEnabled]):
- return value of grammarCheckingEnabled
- (-[WebView setGrammarCheckingEnabled:]):
- set value of grammarCheckingEnabled, call frame to remove existing bad grammar markers
- (-[WebView toggleGrammarChecking:]):
- flip the value
-
- * WebView/WebFrameInternal.h:
- * WebView/WebFrame.mm:
- (-[WebFrame _unmarkAllBadGrammar]):
- new placeholder method, does nothing yet
-
- * WebView/WebHTMLViewInternal.h:
- declare grammar-related methods
-
- * WebView/WebHTMLView.m:
- (-[NSArray validateUserInterfaceItem:]):
- validate toggleGrammarChecking: menu item
- (-[WebHTMLView isGrammarCheckingEnabled]):
- new method, calls through to WebView
- (-[WebHTMLView setGrammarCheckingEnabled:]):
- ditto
- (-[WebHTMLView toggleGrammarChecking:]):
- ditto
-
- * English.lproj/StringsNotToBeLocalized.txt:
- Updated for these changes
-
- * WebKit.xcodeproj/project.pbxproj:
- updated for new files
-
-2006-10-23 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff.
-
- - converted WebDocumentLoader to C++
-
- * Plugins/WebPluginController.mm:
- (-[WebPluginController pluginView:receivedResponse:]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.mm:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _mainDocumentError]):
- (-[WebDataSource _URL]):
- (-[WebDataSource _loadFromPageCache:]):
- (-[WebDataSource _bridge]):
- (-[WebDataSource _URLForHistory]):
- (-[WebDataSource _documentLoader]):
- (-[WebDataSource _initWithDocumentLoader:]):
- (-[WebDataSource initWithRequest:]):
- (-[WebDataSource data]):
- (-[WebDataSource webFrame]):
- (-[WebDataSource initialRequest]):
- (-[WebDataSource request]):
- (-[WebDataSource response]):
- (-[WebDataSource textEncodingName]):
- (-[WebDataSource isLoading]):
- (-[WebDataSource unreachableURL]):
- (-[WebDataSource webArchive]):
- * WebView/WebDataSourceInternal.h:
- * WebView/WebDocumentLoaderMac.h:
- * WebView/WebDocumentLoaderMac.mm:
- (WebDocumentLoaderMac::WebDocumentLoaderMac):
- (WebDocumentLoaderMac::setDataSource):
- (WebDocumentLoaderMac::dataSource):
- (WebDocumentLoaderMac::attachToFrame):
- (WebDocumentLoaderMac::detachFromFrame):
- * WebView/WebFrame.mm:
- (-[WebFrame _createItem:]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _addChild:]):
- (dataSource):
- (-[WebFrame _dataSourceForDocumentLoader:]):
- (-[WebFrame _addDocumentLoader:toUnarchiveState:]):
- (-[WebFrame loadArchive:]):
- (-[WebFrame _updateHistoryForReload]):
- (-[WebFrame _updateHistoryForStandardLoad]):
- (-[WebFrame _updateHistoryForInternalLoad]):
- (-[WebFrame _dispatchIdentifierForInitialRequest:fromDocumentLoader:]):
- (-[WebFrame _dispatchResource:willSendRequest:redirectResponse:fromDocumentLoader:]):
- (-[WebFrame _dispatchDidReceiveAuthenticationChallenge:forResource:fromDocumentLoader:]):
- (-[WebFrame _dispatchDidCancelAuthenticationChallenge:forResource:fromDocumentLoader:]):
- (-[WebFrame _dispatchResource:didReceiveResponse:fromDocumentLoader:]):
- (-[WebFrame _dispatchResource:didReceiveContentLength:fromDocumentLoader:]):
- (-[WebFrame _dispatchResource:didFinishLoadingFromDocumentLoader:]):
- (-[WebFrame _dispatchResource:didFailLoadingWithError:fromDocumentLoader:]):
- (-[WebFrame _dispatchDidLoadMainResourceForDocumentLoader:]):
- (-[WebFrame _clearLoadingFromPageCacheForDocumentLoader:]):
- (-[WebFrame _isDocumentLoaderLoadingFromPageCache:]):
- (-[WebFrame _makeRepresentationForDocumentLoader:]):
- (-[WebFrame _revertToProvisionalStateForDocumentLoader:]):
- (-[WebFrame _setMainDocumentError:forDocumentLoader:]):
- (-[WebFrame _clearUnarchivingStateForLoader:]):
- (-[WebFrame _willChangeTitleForDocument:]):
- (-[WebFrame _didChangeTitleForDocument:]):
- (-[WebFrame _finishedLoadingDocument:]):
- (-[WebFrame _committedLoadWithDocumentLoader:data:]):
- (-[WebFrame _documentLoader:setMainDocumentError:]):
- (-[WebFrame _finalSetupForReplaceWithDocumentLoader:]):
- (-[WebFrame _createDocumentLoaderWithRequest:]):
- (-[WebFrame _provisionalLoadStarted]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation title]):
- * WebView/WebView.mm:
- (-[WebView _mainFrameOverrideEncoding]):
-
-2006-10-23 Geoffrey Garen <ggaren@apple.com>
-
- RS by Maciej.
-
- Gave ObjC++ files .mm extension instead of .m.
-
- * WebCoreSupport/WebPageBridge.m: Removed.
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDocumentLoaderMac.m: Removed.
-
-2006-10-23 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - converted WebFrameLoader to C++
-
- * History/WebHistoryItem.m:
- (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
- * Plugins/WebNetscapePluginStream.mm:
- (-[WebNetscapePluginStream start]):
- (-[WebNetscapePluginStream stop]):
- * Plugins/WebPluginController.mm:
- (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
- (-[WebPluginController pluginView:receivedResponse:]):
- * WebCoreSupport/WebFrameBridge.h:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.mm:
- (-[WebDataSource _loadFromPageCache:]):
- (-[WebDataSource _webView]):
- (-[WebDataSource webFrame]):
- * WebView/WebDocumentLoaderMac.h:
- * WebView/WebDocumentLoaderMac.m:
- (-[WebDocumentLoaderMac dealloc]):
- (-[WebDocumentLoaderMac attachToFrame]):
- (-[WebDocumentLoaderMac detachFromFrame]):
- * WebView/WebFrame.mm:
- (+[WebFrame _timeOfLastCompletedLoad]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _loadURL:referrer:intoChild:]):
- (-[WebFrame _currentBackForwardListItemToResetTo]):
- (-[WebFrame _itemForRestoringDocState]):
- (-[WebFrame _frameLoader]):
- (-[WebFrame _firstLayoutDone]):
- (-[WebFrame _loadType]):
- (-[WebFrame provisionalDataSource]):
- (-[WebFrame dataSource]):
- (-[WebFrame loadRequest:]):
- (-[WebFrame loadArchive:]):
- (-[WebFrame stopLoading]):
- (-[WebFrame reload]):
- (-[WebFrame _updateHistoryForCommit]):
- (-[WebFrame _updateHistoryForReload]):
- (-[WebFrame _updateHistoryForInternalLoad]):
- (-[WebFrame _deliverArchivedResourcesAfterDelay]):
- (-[WebFrame _willUseArchiveForRequest:originalURL:loader:]):
- (-[WebFrame _deliverArchivedResources]):
- (-[WebFrame _prepareForDataSourceReplacement]):
- (-[WebFrame _provisionalLoadStarted]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _clearLastHitViewIfSelf]):
- (-[WebHTMLView _updateMouseoverWithEvent:]):
- (-[NSArray removeMouseMovedObserverUnconditionally]):
- (-[NSArray removeMouseMovedObserver]):
- (-[NSArray viewWillMoveToWindow:]):
- (-[NSArray viewDidMoveToWindow]):
- (-[WebHTMLView _canMakeTextSmaller]):
- (-[WebHTMLView _canMakeTextLarger]):
- (-[WebHTMLView _canMakeTextStandardSize]):
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
- * WebView/WebView.mm:
- (-[WebView _close]):
- (-[WebView setDefersCallbacks:]):
- (-[WebView setCustomTextEncodingName:]):
-
-2006-10-23 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Bradee.
-
- Moved some page-level operations from WebFrameBridge to WebPageBridge.
-
- * WebCoreSupport/WebFrameBridge.m:
- * WebCoreSupport/WebPageBridge.m:
- (-[WebPageBridge createModalDialogWithURL:referrer:]):
- (-[WebPageBridge canRunModal]):
- (-[WebPageBridge canRunModalNow]):
- (-[WebPageBridge runModal]):
- * WebKit.xcodeproj/project.pbxproj: Made WebPageBridge.m ObjC++ to support
- WebCore #includes.
-
-2006-10-23 John Sullivan <sullivan@apple.com>
-
- * WebKitPrefix.h:
- Removed redundant definition of BUILDING_ON_TIGER that I just added. It turns out this had
- already been added between the last time I updated in this tree and when I needed it locally.
-
-2006-10-23 John Sullivan <sullivan@apple.com>
-
- Reviewed by Anders
-
- * WebKit.xcodeproj/project.pbxproj:
- Move WebKitPrefix.h from Misc group to top level, to match WebCore
-
- * WebKitPrefix.h:
- defined BUILDING_ON_TIGER a la WebCore, in preparation for future use of post-Tiger API
-
-2006-10-23 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Rename the now ObjC++ files to be .mm and remove the explicit file types.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
- * English.lproj/StringsNotToBeLocalized.txt:
- * Plugins/WebBaseNetscapePluginView.m: Removed.
- * Plugins/WebNetscapePluginStream.m: Removed.
- * Plugins/WebPluginController.m: Removed.
- * WebCoreSupport/WebFrameBridge.m: Removed.
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.m: Removed.
- * WebView/WebFrame.m: Removed.
- * WebView/WebFrameView.m: Removed.
- * WebView/WebPDFView.m: Removed.
- * WebView/WebPolicyDelegate.m: Removed.
- * WebView/WebView.m: Removed.
-
-2006-10-23 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Move the undef try/catch to WebKitPrefix.h and include algorithm so we get
- exception_defines.h and so the undef of try/catch works.
-
- Break off the BGRA to ARGB code into WebGraphicsExtras.c, this lets
- WebBaseNetscapePluginView.m safely compile as ObjC++ and not cause the Accelerate
- framework to complain about C++ exceptions being disabled.
-
- * Misc/WebGraphicsExtras.c: Added.
- (WebConvertBGRAToARGB):
- * Misc/WebGraphicsExtras.h: Added.
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebKitPrefix.h:
- * WebView/WebView.m:
-
-2006-10-22 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Tim H.
-
- - Add DOMHTMLFormElementPrivate.h to the project.
-
- * MigrateHeaders.make:
-
-2006-10-21 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - convert WebLoader and its 3 subclasses to C++
-
- * Plugins/WebNetscapePluginStream.h:
- * Plugins/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream dealloc]):
- (-[WebNetscapePluginStream finalize]):
- (-[WebNetscapePluginStream start]):
- (-[WebNetscapePluginStream cancelLoadWithError:]):
- (-[WebNetscapePluginStream stop]):
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge canRunModalNow]):
- * WebView/WebFrame.m:
- (-[WebFramePrivate dealloc]):
- (-[WebFramePrivate finalize]):
- (frame): Changed from uppercase to lowercase so that it won't conflict
- with the WebCore class named Frame.
- (-[WebFrame _firstChildFrame]):
- (-[WebFrame _lastChildFrame]):
- (-[WebFrame _previousSiblingFrame]):
- (-[WebFrame _nextSiblingFrame]):
- (-[WebFrame _traverseNextFrameStayWithin:]):
- (-[WebFrame _immediateChildFrameNamed:]):
- (-[WebFrame _nextFrameWithWrap:]):
- (-[WebFrame _previousFrameWithWrap:]):
- (-[WebFrame findFrameNamed:]):
- (-[WebFrame parentFrame]):
- (-[WebFrame _dispatchSourceFrame:willSubmitForm:withValues:submissionDecider:]):
- (-[WebFrame _deliverArchivedResourcesAfterDelay]):
- (-[WebFrame _willUseArchiveForRequest:originalURL:loader:]):
- (-[WebFrame _archiveLoadPendingForLoader:]):
- (-[WebFrame _cancelPendingArchiveLoadForLoader:]):
- (-[WebFrame _clearArchivedResources]):
- (-[WebFrame _deliverArchivedResources]):
-
-2006-10-21 Darin Adler <darin@apple.com>
-
- Reviewed by Anders.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=10328
- REGRESSION: frame leak reported by buildbot
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::WebEditorClient): Don't retain the web view.
- (WebEditorClient::~WebEditorClient): Don't release the web view.
- (WebEditorClient::setWebView): Ditto.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge finishInitializingWithFrameName:view:]): Added. Common code for use by both
- init methods below.
- (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): Changed to use new method.
- Also added comment pointing out design flaw -- we attach the client to the web view here,
- but we need to be sure to detach in case the web view is deallocated first.
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]): Ditto.
-
-2006-10-21 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - http://bugs.webkit.org/show_bug.cgi?id=11376
- build scripts should invoke make with "-j" option for multiple processors
-
- * WebKit.xcodeproj/project.pbxproj: Pass -j `sysctl -n hw.ncpu` to make.
-
-2006-10-21 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/4478625> HTML Editing: Basic table editing and culling
-
- Initial implementaltion of table deletion user interface:
- * Adds a new editing delegate method, webView:shouldShowDeleteInterfaceForElement:.
- * The new delegate method is called from the new shouldShowDeleteInterface EditorClient function.
-
- * DefaultDelegates/WebDefaultEditingDelegate.m:
- (-[WebDefaultEditingDelegate webView:shouldShowDeleteInterfaceForElement:]):
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::WebEditorClient):
- (WebEditorClient::shouldDeleteRange):
- (WebEditorClient::shouldShowDeleteInterface):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebEditingDelegatePrivate.h: Added.
-
-2006-10-21 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Maciej.
-
- fix leaks.
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::setWebView):
- only change webview if its different
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
- actually use the client allocated in the line above instead of
- allocation again, duh.
-
-2006-10-21 Alice Liu <alice.liu@apple.com>
-
- Build fix.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::setWebView):
-
-2006-10-20 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Fixed a problem where the webview passed to the EditorClient wasn't valid yet.
-
- * WebCoreSupport/WebEditorClient.h:
- (WebEditorClient::setWebView):
- added webview setter
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::WebEditorClient):
- add default constructor
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
- use [page webView] since _webview isn't valid yet
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
- use webview setter on editorclient
-
-2006-10-20 David Hyatt <hyatt@apple.com>
-
- Tweak cache sizes so that they are back to the way they were,
- except for < 512, which will stay doubled.
-
- Reviewed by Tim H.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge getObjectCacheSize]):
-
-2006-10-20 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Maciej.
-
- Adding knowledge of EditorClient to WebKit
-
- * WebCoreSupport/WebEditorClient.h: Added.
-
- * WebCoreSupport/WebEditorClient.mm: Added.
- (WebEditorClient::WebEditorClient):
- (WebEditorClient::~WebEditorClient):
- (WebEditorClient::shouldDeleteRange):
- Implementation of mac EditorClient
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
- create an editor client to pass down the chain of constructors
-
- * WebKit.xcodeproj/project.pbxproj:
- Added related EditorClient files
-
- * WebKitPrefix.h:
- Added tiger build flag in order to make certain private headers from webcore compile successfully
-
-2006-10-20 Darin Adler <darin@apple.com>
-
- - rolled out my loader change; caused world leak and possibly a plug-in crash
-
-2006-10-20 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - convert WebLoader and its 3 subclasses to C++
-
- * Plugins/WebNetscapePluginStream.h:
- * Plugins/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream dealloc]):
- (-[WebNetscapePluginStream finalize]):
- (-[WebNetscapePluginStream start]):
- (-[WebNetscapePluginStream cancelLoadWithError:]):
- (-[WebNetscapePluginStream stop]):
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge canRunModalNow]):
- * WebView/WebFrame.m:
- (-[WebFramePrivate dealloc]):
- (-[WebFramePrivate finalize]):
- (frame): Changed from uppercase to lowercase so that it won't conflict
- with the WebCore class named Frame.
- (-[WebFrame _firstChildFrame]):
- (-[WebFrame _lastChildFrame]):
- (-[WebFrame _previousSiblingFrame]):
- (-[WebFrame _nextSiblingFrame]):
- (-[WebFrame _traverseNextFrameStayWithin:]):
- (-[WebFrame _immediateChildFrameNamed:]):
- (-[WebFrame _nextFrameWithWrap:]):
- (-[WebFrame _previousFrameWithWrap:]):
- (-[WebFrame findFrameNamed:]):
- (-[WebFrame parentFrame]):
- (-[WebFrame _dispatchSourceFrame:willSubmitForm:withValues:submissionDecider:]):
- (-[WebFrame _deliverArchivedResourcesAfterDelay]):
- (-[WebFrame _willUseArchiveForRequest:originalURL:loader:]):
- (-[WebFrame _archiveLoadPendingForLoader:]):
- (-[WebFrame _cancelPendingArchiveLoadForLoader:]):
- (-[WebFrame _clearArchivedResources]):
- (-[WebFrame _deliverArchivedResources]):
-
-2006-10-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- - fixed <rdar://problem/4794935> setAcceptsMouseMovedEvents: is called for every layout,
- taking ~1% on the PLT test
-
- * WebView/WebHTMLView.m:
- (-[NSArray layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
- Don't call setAcceptsMouseMovedEvents: and WKSetNSWindowShouldPostEventNotifications() here
- because this is called too often.
-
- * WebView/WebView.m:
- (-[WebView viewWillMoveToWindow:]):
- Do call them here, because this is guaranteed to be called at least once for each window
- containing a webview, but isn't called too often. Also restructured this method a little.
-
-2006-10-19 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Anders.
-
- Bug 11366: Web Inspector should show user agent style rules
- http://bugs.webkit.org/show_bug.cgi?id=11366
-
- * WebInspector/WebInspector.m:
- (-[WebInspector init]):
- (-[WebInspector showOptionsMenu]):
- (-[WebInspector _toggleShowUserAgentStyles:]):
- * WebInspector/WebInspectorInternal.h:
- * WebInspector/webInspector/inspector.js:
-
-2006-10-19 Brady Eidson <beidson@apple.com>
-
- Build fix - 2gig is on that pesky signed/unsigned limit...
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge getObjectCacheSize]):
-
-2006-10-19 Brady Eidson <beidson@apple.com>
-
- Reviewed by Hyatt.
-
- Death to 16777216. Long live 33554432.
- (Cache size changed needs to be reflected in localization file)
-
- * English.lproj/StringsNotToBeLocalized.txt:
-
-2006-10-19 Brady Eidson <beidson@apple.com>
-
- Reviewed by Hyatt
-
- Added an larger in-memory level of cache for machines with 2+gb ram
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge getObjectCacheSize]):
-
-2006-10-19 Brady Eidson <beidson@apple.com>
-
- Reviewed by Hyatt
-
- Double the default memory cache size
-
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
-
-2006-10-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin D and Geoff
-
- * WebKit.xcodeproj/project.pbxproj:
- version wars
-
- Cleaned up this file, as follows:
- - renamed all file-internal methods to start with underscores
- - moved all file-internal methods into a FileInternal category block, and alphabetized them
- - grouped all other methods by where/how they were defined (delegate methods, protocol methods, overrides, etc.)
- - removed unstylish braces around one-line clauses
-
- * WebView/WebPDFView.m:
- (_applicationInfoForMIMEType):
- (_PDFSelectionsAreEqual):
- (+[WebPDFView supportedMIMETypes]):
- (-[WebPDFView setPDFDocument:]):
- (-[WebPDFView dealloc]):
- (-[WebPDFView centerSelectionInVisibleArea:]):
- (-[WebPDFView scrollPageDown:]):
- (-[WebPDFView scrollPageUp:]):
- (-[WebPDFView scrollLineDown:]):
- (-[WebPDFView scrollLineUp:]):
- (-[WebPDFView scrollToBeginningOfDocument:]):
- (-[WebPDFView scrollToEndOfDocument:]):
- (-[WebPDFView jumpToSelection:]):
- (-[WebPDFView acceptsFirstResponder]):
- (-[WebPDFView becomeFirstResponder]):
- (-[WebPDFView hitTest:]):
- (-[WebPDFView initWithFrame:]):
- (-[WebPDFView menuForEvent:]):
- (-[WebPDFView setNextKeyView:]):
- (-[WebPDFView viewDidMoveToWindow]):
- (-[WebPDFView viewWillMoveToWindow:]):
- (-[WebPDFView validateUserInterfaceItem:]):
- (-[WebPDFView copy:]):
- (-[WebPDFView takeFindStringFromSelection:]):
- (-[WebPDFView canPrintHeadersAndFooters]):
- (-[WebPDFView printOperationWithPrintInfo:]):
- (-[WebPDFView viewWillMoveToHostWindow:]):
- (-[WebPDFView viewDidMoveToHostWindow]):
- (-[WebPDFView elementAtPoint:]):
- (-[WebPDFView elementAtPoint:allowShadowContent:]):
- (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
- (-[WebPDFView viewState]):
- (-[WebPDFView setViewState:]):
- (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
- (+[WebPDFView _PDFPreviewViewClass]):
- (+[WebPDFView _PDFViewClass]):
- (-[WebPDFView _anyPDFTagsFoundInMenu:]):
- (-[WebPDFView _applyPDFDefaults]):
- (-[WebPDFView _fakeKeyEventWithFunctionKey:]):
- (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
- (-[WebPDFView _openWithFinder:]):
- (-[WebPDFView _path]):
- (-[WebPDFView _PDFSubview]):
- (-[WebPDFView _pointIsInSelection:]):
- (-[WebPDFView _receivedPDFKitLaunchNotification:]):
- (-[WebPDFView _scaledAttributedString:]):
- (-[WebPDFView _trackFirstResponder]):
- (-[PDFPrefUpdatingProxy forwardInvocation:]):
- (-[PDFPrefUpdatingProxy methodSignatureForSelector:]):
-
-2006-10-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker
-
- - fixed <rdar://problem/4792761> Safari should use fancier embedded PDFKit stuff when it's available
-
- * WebKit.xcodeproj/project.pbxproj:
- version wars
-
- * WebView/WebFrameView.m:
- (-[WebFrameView _makeDocumentViewForDataSource:]):
- initialize document view with frame view's rect instead of empty rect. This avoids some problems when
- constructing view hierarchies from nibs
-
- * WebView/WebPreferencesPrivate.h:
- declare new _usePDFPreviewView and _setUsePDFPreviewView:, used for debugging
- * WebView/WebPreferenceKeysPrivate.h:
- declare new preference key string
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
- initialize new preference to true (we will by default use the new view if it's available)
- (-[WebPreferences _usePDFPreviewView]):
- new accessor for new pref
- (-[WebPreferences _setUsePDFPreviewView:]):
- ditto
-
- * WebView/WebPDFView.h:
- new previewView ivar
-
- * WebView/WebPDFView.m:
- (+[WebPDFView PDFPreviewViewClass]):
- new method, returns class to use for fancier embedded PDFKit stuff, or nil if fancy stuff isn't available
- (-[WebPDFView initWithFrame:]):
- now tries to use fancier embedded PDFKit stuff if it's available and the pref is set to use it; falls back
- to old behavior otherwise
- (-[WebPDFView dealloc]):
- release new previewView ivar (retained in initWithFrame:)
- (-[WebPDFView viewWillMoveToWindow:]):
- stop observing PDFKit notification when we're removed from window
- (-[WebPDFView viewDidMoveToWindow]):
- start observing PDFKit notification when we're added to window
- (-[WebPDFView _receivedPDFKitLaunchNotification:]):
- respond to this new PDFKit notification by opening the document via NSWorkspace
-
- * English.lproj/StringsNotToBeLocalized.txt:
- updated for lots of recent changes
-
-2006-10-19 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by ap.
-
- Win32 build fix.
-
- * COM/WebFrame.cpp:
- (WebFrame::initWithName):
- (WebFrame::createNewWindow):
-
-2006-10-19 Mitz Pettel <mitz@webkit.org>
-
- Reviewed and landed by ap.
-
- - fixed the inspector's tree popup
-
- * WebInspector/webInspector/inspector.html:
-
-2006-10-18 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Maciej.
-
- Win32 build fix.
-
- * COM/WebFrame.cpp:
- (WebFrame::createNewWindow):
- * COM/WebFrame.h:
-
-2006-10-18 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- http://bugs.webkit.org/show_bug.cgi?id=11000
- REGRESSION (r16101): css2.1/t0801-c412-hz-box-00-b-a is failing because the QuickTime plugin is taking over but not rendering the png
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
- Return ObjectElementFrame if the MIME type is one of the image ones we support.
-
-2006-10-17 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by harrison
-
- <rdar://problem/4765600>
- REGRESSION: Mail.app: smart deletion of words does not work
-
- Regressed when we pushed selecion expansion down into WebCore. It's OK
- to try a smart delete from _deleteWithDirection:, which is called by
- deleteFoward: and deleteBackward: if the current selection is a
- range.
-
- * WebView/WebHTMLView.m:
- (-[NSArray _deleteWithDirection:granularity:killRing:isTypingAction:]):
-
-2006-10-13 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by harrison
-
- <rdar://problem/3655385>
- Editing: -indent: method unimplemented
-
- * WebView/WebHTMLView.m:
- (-[NSArray validateUserInterfaceItem:]): Only allow indent:/outdent: in
- richly editable areas.
- (-[NSArray indent:]):
- (-[NSArray outdent:]):
-
-2006-10-13 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- * icu/unicode/putil.h: Added - needed for build if you don't have apple internal headers.
-
-2006-10-13 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- * icu/unicode/ustring.h: Added - needed for build if you don't have apple internal headers.
-
-2006-10-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - add a bunch of casts to get this compiling with older Xcode versions
-
- (I used static_cast so it will be easier to find and remove these once we have completely moved
- on to a new enough compiler version.)
-
- * Plugins/WebBaseNetscapePluginView.m:
- (+[WebBaseNetscapePluginView getCarbonEvent:]):
- (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
- (-[WebBaseNetscapePluginView fixWindowPort]):
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
- (-[WebBaseNetscapePluginView _reshapeAGLWindow]):
- (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-10-13 Kevin McCullough <KMcCullough@apple.com>
-
- Changed by Darin, reviewed by me.
-
- * Plugins/WebNetscapePluginStream.m: Fixed case of import so we can compile on
- case-sensitive file system.
-
-2006-10-13 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - converted WebFormState from Objective-C to C++
-
- * ForwardingHeaders: Added an entire copy of WebCore's forwarding headers here.
- We should eventually come up with a more-elegant solution.
-
- * WebKit.xcodeproj/project.pbxproj: Added ForwardingHeaders to the include paths.
- Converted many files from Objective-C to Objective-C++. In a later check-in, I'll
- rename them to .mm instead of .m. Removed C-only warning options for now. In a
- later check-in I will add these back in a way that omits them for C++.
-
- * Plugins/WebPluginContainerCheck.m: Updated for header changes.
-
- * WebView/WebFrameInternal.h: Updated for header changes. Removed WebFrameLoaderClient category
- so this file can still be used by Objective-C code (not just Objective-C++).
-
- * WebView/WebFrame.m: Put WebFrameLoaderClient category in here.
- (-[WebFrame _loadItem:withLoadType:]): Changed to use 0 instead of nil for FormState and fixed
- enum code for C++ compatibility.
- (-[WebFrame _initWithWebFrameView:webView:bridge:]): Added call to setFrameLoaderClient: here.
- (-[WebFrame _updateHistoryForCommit]): Fixed enum code for C++ compatibility.
- (-[WebFrame _updateHistoryForReload]): Ditto.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): Removed call to setFrameLoaderClient:.
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]): Ditto.
- (-[WebFrameBridge _retrieveKeyboardUIModeFromPreferences:]): Fixed enum code for C++ compatibility.
- (-[WebFrameBridge runModal]): Changed code to not use "namespace" as a local variable name.
-
- * WebView/WebPDFView.m: Added extern "C" so this can compile as Objective-C++.
-
-2006-10-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver.
-
- - liberate more WebKit code down to WebCore
-
- * WebCoreSupport/WebFrameBridge.h:
- * WebCoreSupport/WebFrameBridge.m:
-
-2006-10-12 Adele Peterson <adele@apple.com>
-
- Reviewed by Maciej.
-
- WebKit part of fix for <rdar://problem/4450613> need a means to attach user data to any menu that is popuped up in HTML
-
- Added private delegate method for clients that want access to a PopupMenu's NSMenu.
-
- * DefaultDelegates/WebDefaultUIDelegate.m: (-[NSApplication webView:willPopupMenu:]):
- * WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge willPopupMenu:]):
- * WebView/WebUIDelegatePrivate.h:
-
-2006-10-12 MorganL <morganl.webkit@yahoo.com>
-
- Reviewed/landed by Adam.
-
- Fixes http://bugs.webkit.org/show_bug.cgi?id=11264
- Windows build busted
-
- * COM/WebFrame.cpp:
- (WebFrame::receivedResponse):
-
-2006-10-11 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - preparations for making more code C++
-
- * WebKitPrefix.h: Fixed ifdef so that C++ files get all the precompiled stuff
- that non-C++ files get.
-
- * Misc/WebKitLogging.h:
- * Misc/WebKitSystemBits.h:
- * Misc/WebLocalizableStrings.h:
- * WebCoreSupport/WebSystemInterface.h:
- Added extern "C".
-
- * Misc/WebNSViewExtras.h:
- * WebView/WebDataSource.m: (addTypesFromClass):
- * WebView/WebFrameView.m: (addTypesFromClass):
- Eliminated use of the identifier "class".
-
- * WebView/WebView.m: (-[WebView _goToItem:withLoadType:]): Added a type cast.
-
- * Plugins/WebBaseNetscapePluginView.m: Added lots of type casts.
-
-2006-10-10 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej.
-
- Moved WebFrameLoader into WebCoreFrameBridge
-
- * WebCoreSupport/WebFrameBridge.h:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
- (-[WebFrameBridge dealloc]):
- (-[WebFrameBridge setTitle:]):
- (-[WebFrameBridge receivedData:textEncodingName:]):
- (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
- (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
- (-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
- (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- (-[WebFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- (-[WebFrameBridge reportClientRedirectCancelled:]):
- (-[WebFrameBridge close]):
- (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
- (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrameBridge tokenizerProcessedData]):
- (-[WebFrameBridge frameDetached]):
- (-[WebFrameBridge didFirstLayout]):
- (-[WebFrameBridge notifyIconChanged:]):
- (-[WebFrameBridge originalRequestURL]):
- (-[WebFrameBridge isLoadTypeReload]):
-
-2006-10-10 Adele Peterson <adele@apple.com>
-
- Reviewed by Beth.
-
- Removed handleAutoscrollForMouseDragged. Except for autoscroll caused by drag and drop, all other
- autoscrolling should be done in WebCore instead of in AppKit.
-
- * WebCoreSupport/WebFrameBridge.m:
- * WebView/WebHTMLView.m:
- * WebView/WebHTMLViewPrivate.h:
-
-2006-10-10 Darin Adler <darin@apple.com>
-
- - corrected an archive regression caused by loader refactoring
- (pointed out by Graham Dennis)
-
- * WebView/WebFrame.m: (-[WebFrame _deliverArchivedResourcesAfterDelay]):
- Fix selector name.
-
-2006-10-10 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Eric.
-
- - moved a whole bunch of stuff over to WebCore - updated includes appropriately
-
- * Loader/LoaderNSURLExtras.h: Removed.
- * Loader/LoaderNSURLExtras.m: Removed.
- * Loader/WebDataProtocol.h: Removed.
- * Loader/WebDataProtocol.m: Removed.
- * Loader/WebDocumentLoader.h: Removed.
- * Loader/WebDocumentLoader.m: Removed.
- * Loader/WebFormDataStream.h: Removed.
- * Loader/WebFormDataStream.m: Removed.
- * Loader/WebFormState.h: Removed.
- * Loader/WebFormState.m: Removed.
- * Loader/WebFrameLoader.h: Removed.
- * Loader/WebFrameLoader.m: Removed.
- * Loader/WebFrameLoaderClient.h: Removed.
- * Loader/WebLoader.h: Removed.
- * Loader/WebLoader.m: Removed.
- * Loader/WebMainResourceLoader.h: Removed.
- * Loader/WebMainResourceLoader.m: Removed.
- * Loader/WebNetscapePlugInStreamLoader.h: Removed.
- * Loader/WebNetscapePlugInStreamLoader.m: Removed.
- * Loader/WebPlugInStreamLoaderDelegate.h: Removed.
- * Loader/WebPolicyDecider.h: Removed.
- * Loader/WebPolicyDecider.m: Removed.
- * Loader/WebSubresourceLoader.h: Removed.
- * Loader/WebSubresourceLoader.m: Removed.
- * Misc/WebNSURLExtras.m:
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginView.m:
- * Plugins/WebNetscapePluginStream.m:
- * Plugins/WebPluginContainerCheck.m:
- * Plugins/WebPluginController.m:
- * WebCoreSupport/WebFrameBridge.m:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.m:
- * WebView/WebDocumentLoaderMac.h:
- * WebView/WebFrame.m:
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.m:
- * WebView/WebPolicyDeciderMac.h:
- * WebView/WebPolicyDelegate.m:
- * WebView/WebView.m:
-
-2006-10-10 Mark Rowe <bdash@webkit.org>
-
- Reviewed by Maciej.
-
- Fix crash on launch in nightly builds after r16965.
-
- Safari will sometimes call through to -[NSURL _webkit_canonicalize] before creating a WebView. If this happens,
- InitWebCoreSystemInterface has not yet been called so the call to wkNSURLProtocolClassForReqest is via a garbage
- pointer.
-
- * Misc/WebNSURLExtras.m:
- (-[NSURL _webkit_canonicalize]): Ensure InitWebCoreSystemInterface is called prior to canonicalURL.
-
-2006-10-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver.
-
- - split out some NSURL extras to be moved to WebCore
-
- * Loader/LoaderNSURLExtras.h: Added.
- * Loader/LoaderNSURLExtras.m: Added.
- (urlByRemovingComponent):
- (urlByRemovingFragment):
- (urlOriginalDataAsString):
- (urlOriginalData):
- (urlWithData):
- (WebCFAutorelease):
- (urlWithDataRelativeToURL):
- (urlByRemovingResourceSpecifier):
- (urlIsFileURL):
- (stringIsFileURL):
- (urlIsEmpty):
- (canonicalURL):
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader shouldReloadForCurrent:andDestination:]):
- (setHTTPReferrer):
- (-[WebFrameLoader commitProvisionalLoad:]):
- (-[WebFrameLoader _notifyIconChanged:]):
- (-[WebFrameLoader didChangeTitleForDocument:]):
- (-[WebFrameLoader checkNavigationPolicyForRequest:documentLoader:formState:andCall:withSelector:]):
- (-[WebFrameLoader safeLoadURL:]):
- * Misc/WebNSURLExtras.m:
- (+[NSURL _web_URLWithData:]):
- (+[NSURL _web_URLWithData:relativeToURL:]):
- (-[NSURL _web_originalData]):
- (-[NSURL _web_originalDataAsString]):
- (-[NSURL _web_isEmpty]):
- (-[NSURL _webkit_canonicalize]):
- (-[NSURL _webkit_URLByRemovingComponent:]):
- (-[NSURL _webkit_URLByRemovingFragment]):
- (-[NSURL _webkit_URLByRemovingResourceSpecifier]):
- (-[NSURL _webkit_isFileURL]):
- (-[NSString _webkit_isFileURL]):
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - sever final WebFrame dependencies
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader initWithFrame:client:]):
- (-[WebFrameLoader defersCallbacksChanged]):
- (-[WebFrameLoader subframeIsLoading]):
- (-[WebFrameLoader transitionToCommitted:]):
- (-[WebFrameLoader detachChildren]):
- (-[WebFrameLoader checkLoadComplete]):
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Brady.
-
- - convert more WebFrameLoader stuff to be independent of WebFrame
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader stopLoadingSubframes]):
- (-[WebFrameLoader _receivedMainResourceError:complete:]):
- (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader closeOldDataSources]):
- (-[WebFrameLoader isHostedByObjectElement]):
- (-[WebFrameLoader isLoadingMainFrame]):
- (-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
- (-[WebFrameLoader transitionToCommitted:]):
- (-[WebFrameLoader checkLoadCompleteForThisFrame]):
- (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
- (-[WebFrameLoader loadRequest:inFrameNamed:]):
- (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader actionInformationForNavigationType:event:originalURL:]):
- (-[WebFrameLoader client]):
- * Loader/WebFrameLoaderClient.h:
- * WebView/WebDataSource.m:
- (-[WebDataSource _webView]):
- (-[WebDataSource webFrame]):
- * WebView/WebFrame.m:
- (-[WebFrame _dispatchCreateWebViewWithRequest:]):
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders and Oliver.
-
- - move a bunch of WebFrame methods from the Internal category to the WebFrameLoader protocol
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader loadRequest:]):
- (-[WebFrameLoader loadRequest:inFrameNamed:]):
- * Loader/WebFrameLoaderClient.h:
- * WebView/WebFrame.m:
- (-[WebFrame loadRequest:]):
- (-[WebFrame _dispatchDidCommitLoadForFrame]):
- (-[WebFrame _hasFrameView]):
- (-[WebFrame _frameLoadCompleted]):
- (-[WebFrame _restoreScrollPositionAndViewState]):
- (-[WebFrame _setTitle:forURL:]):
- (-[WebFrame _createDocumentLoaderWithRequest:]):
- (-[WebFrame _prepareForDataSourceReplacement]):
- (-[WebFrame _didFinishLoad]):
- (-[WebFrame _addHistoryItemForFragmentScroll]):
- (-[WebFrame _shouldTreatURLAsSameAsCurrent:]):
- (-[WebFrame _provisionalLoadStarted]):
- * WebView/WebFrameInternal.h:
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- - added forgotten files
-
- * Loader/WebPolicyDecider.h: Added.
- * Loader/WebPolicyDecider.m: Added.
- (-[WebPolicyDecider invalidate]):
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Brady.
-
- - add wrapper for WebPolicyDecisionListener so we can remove the dependency from WebFrameLoader.
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _checkContentPolicyForMIMEType:andCall:withSelector:]):
- (-[WebFrameLoader cancelContentPolicy]):
- (-[WebFrameLoader invalidatePendingPolicyDecisionCallingDefaultAction:]):
- (-[WebFrameLoader checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
- (-[WebFrameLoader checkNavigationPolicyForRequest:documentLoader:formState:andCall:withSelector:]):
- (-[WebFrameLoader continueAfterWillSubmitForm:]):
- (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
- * Loader/WebFrameLoaderClient.h:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebFrame.m:
- (-[WebFrame _createPolicyDeciderWithTarget:action:]):
- (decisionListener):
- (-[WebFrame _dispatchDecidePolicyForMIMEType:request:decider:]):
- (-[WebFrame _dispatchDecidePolicyForNewWindowAction:request:newFrameName:decider:]):
- (-[WebFrame _dispatchDecidePolicyForNavigationAction:request:decider:]):
- (-[WebFrame _dispatchSourceFrame:willSubmitForm:withValues:submissionDecider:]):
- * WebView/WebPolicyDeciderMac.h: Added.
- * WebView/WebPolicyDeciderMac.m: Added.
- (-[WebPolicyDeciderMac initWithTarget:action:]):
- (-[WebPolicyDeciderMac dealloc]):
- (-[WebPolicyDeciderMac decisionListener]):
- (-[WebPolicyDeciderMac invalidate]):
-
-2006-10-09 Brady Eidson <beidson@apple.com>
-
- Reviewed by John
-
- http://bugs.webkit.org/show_bug.cgi?id=11195
- Added the WebIconDatabaseDelegate. This allows the ability to allow customization of
- IconDatabase behavior in the future, starting now with the ability to override the
- default icon fairly flexibly
-
- * Misc/WebIconDatabase.h: Added setIconDatabaseDelegate:
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase iconForURL:withSize:cache:]): Call the delegate for the default icon if delegate is set
- (-[WebIconDatabase defaultIconForURL:withSize:]): Get the default icon through the delegate if available, built-in if not
- (-[WebIconDatabase setDelegate:]):
- (-[WebIconDatabase delegate]):
- * Misc/WebIconDatabaseDelegate.h: Added.
- * Misc/WebIconDatabasePrivate.h: Added the delegate, nuked an unused class definition
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-10-09 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - eliminated uses of WebResource and WebView from WebFrameLoader
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader setDefersCallbacks:]):
- (-[WebFrameLoader stopLoading]):
- (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
- (-[WebFrameLoader archiveLoadPendingForLoader:]):
- (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
- (-[WebFrameLoader _canShowMIMEType:]):
- (-[WebFrameLoader _representationExistsForURLScheme:]):
- (-[WebFrameLoader _generatedMIMETypeForURLScheme:]):
- (-[WebFrameLoader loadDocumentLoader:]):
- (-[WebFrameLoader continueAfterNavigationPolicy:]):
- (-[WebFrameLoader sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
- (-[WebFrameLoader actionInformationForNavigationType:event:originalURL:]):
- * Loader/WebFrameLoaderClient.h:
- * Loader/WebMainResourceLoader.m:
- (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
- (-[WebMainResourceLoader loadWithRequestNow:]):
- * WebView/WebFrame.m:
- (-[WebFramePrivate dealloc]):
- (-[WebFrame loadRequest:]):
- (-[WebFrame loadArchive:]):
- (-[WebFrame _canUseResourceForRequest:]):
- (-[WebFrame _canUseResourceWithResponse:]):
- (-[WebFrame _deliverArchivedResourcesAfterDelay]):
- (-[WebFrame _willUseArchiveForRequest:originalURL:loader:]):
- (-[WebFrame _archiveLoadPendingForLoader:]):
- (-[WebFrame _cancelPendingArchiveLoadForLoader:]):
- (-[WebFrame _clearArchivedResources]):
- (-[WebFrame _deliverArchivedResources]):
- (-[WebFrame _setDefersCallbacks:]):
- (-[WebFrame _canHandleRequest:]):
- (-[WebFrame _canShowMIMEType:]):
- (-[WebFrame _representationExistsForURLScheme:]):
- (-[WebFrame _generatedMIMETypeForURLScheme:]):
- (-[WebFrame _elementForEvent:]):
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - do all the stuff that setting the referrer should
-
- * Loader/WebFrameLoader.m:
- (setHTTPReferrer):
- (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-10-09 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- Fix to elminate WebIconDatabaseBridge.h from WebFrameLoader
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _notifyIconChanged:]):
- * WebCoreSupport/WebIconDatabaseBridge.m:
- (+[WebIconDatabaseBridge createInstance]):
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- (Was reviewed as part of a larger patch but it looks like Darin already did the rest of it)
-
- - avoid a needless use of WebFrame
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
-
-2006-10-09 Brady Eidson <beidson@apple.com>
-
- A *real* fake fix for the layouttest problem until the real fix
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _notifyIconChanged:]):
-
-2006-10-09 Brady Eidson <beidson@apple.com>
-
- Quick layouttest fix until I make the real fix
-
- * Loader/WebFrameLoader.m:
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - wean WebFrameLoader from WebDataSource private stuff
-
- (actually just tweaks tot he above to make merging my future
- patches easier since Darin did a lot of the same stuff)
-
- * Loader/WebDocumentLoader.h:
- * Loader/WebDocumentLoader.m:
- (-[WebDocumentLoader URLForHistory]):
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _loadRequest:archive:]):
- (-[WebFrameLoader revertToProvisionalWithDocumentLoader:]):
- (-[WebFrameLoader documentLoader:setMainDocumentError:]):
- (-[WebFrameLoader finalSetupForReplaceWithDocumentLoader:]):
- (-[WebFrameLoader didChangeTitleForDocument:]):
- (-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
- * Loader/WebFrameLoaderClient.h:
- * WebView/WebDataSource.m:
- (-[WebDataSource _URLForHistory]):
- * WebView/WebFrame.m:
- (-[WebFrame _addDocumentLoader:toUnarchiveState:]):
- (-[WebFrame _revertToProvisionalStateForDocumentLoader:]):
- (-[WebFrame _setMainDocumentError:forDocumentLoader:]):
- (-[WebFrame _clearUnarchivingStateForLoader:]):
-
-2006-10-09 Darin Adler <darin@apple.com>
-
- Reviewed by Brady.
-
- - eliminated WebFrameLoader dependency on WebDataSourceInternal.h,
- WebIconDatabasePrivate.h, and WebKitErrorsPrivate.h, along with
- most but not all references to WebView
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader removePlugInStreamLoader:]):
- (-[WebFrameLoader _receivedMainResourceError:complete:]):
- (-[WebFrameLoader _notifyIconChanged:]):
- (-[WebFrameLoader cancelledErrorWithRequest:]):
- (-[WebFrameLoader fileDoesNotExistErrorWithResponse:]):
- (-[WebFrameLoader handleUnimplementablePolicyWithError:]):
- (-[WebFrameLoader cannotShowMIMETypeWithResponse:]):
- (-[WebFrameLoader interruptForPolicyChangeErrorWithRequest:]):
- (-[WebFrameLoader _loadRequest:archive:]):
- (-[WebFrameLoader finishedLoadingDocument:]):
- (-[WebFrameLoader committedLoadWithDocumentLoader:data:]):
- (-[WebFrameLoader revertToProvisionalWithDocumentLoader:]):
- (-[WebFrameLoader documentLoader:setMainDocumentError:]):
- (-[WebFrameLoader finalSetupForReplaceWithDocumentLoader:]):
- (-[WebFrameLoader didChangeTitleForDocument:]):
- (-[WebFrameLoader continueAfterNavigationPolicy:]):
- (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
- (-[WebFrameLoader transitionToCommitted:]):
- (-[WebFrameLoader checkLoadCompleteForThisFrame]):
- (-[WebFrameLoader requestFromDelegateForRequest:identifier:error:]):
- (-[WebFrameLoader addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
- (-[WebFrameLoader checkLoadComplete]):
- * Loader/WebFrameLoaderClient.h:
- * Loader/WebMainResourceLoader.m:
- (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
- * WebView/WebFrame.m:
- (-[WebFrame _addDocumentLoader:toUnarchiveState:]):
- (-[WebFrame _formDelegate]):
- (-[WebFrame _finishedLoadingDocument:]):
- (-[WebFrame _committedLoadWithDocumentLoader:data:]):
- (-[WebFrame _revertToProvisionalWithDocumentLoader:]):
- (-[WebFrame _documentLoader:setMainDocumentError:]):
- (-[WebFrame _finalSetupForReplaceWithDocumentLoader:]):
- (-[WebFrame _URLForHistoryForDocumentLoader:]):
- (-[WebFrame _cancelledErrorWithRequest:]):
- (-[WebFrame _cannotShowURLErrorWithRequest:]):
- (-[WebFrame _interruptForPolicyChangeErrorWithRequest:]):
- (-[WebFrame _cannotShowMIMETypeErrorWithResponse:]):
- (-[WebFrame _fileDoesNotExistErrorWithResponse:]):
- (-[WebFrame _shouldFallBackForError:]):
- (-[WebFrame _hasWebView]):
- (-[WebFrame _mainFrameURL]):
- * WebView/WebFrameInternal.h:
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed, landed, tweaked a bit by Darin.
-
- - removed most uses of WebFrameBridge from WebFrameLoader
- (WebCoreFrameBridge use is OK)
-
- * Loader/WebDocumentLoader.m:
- (-[WebDocumentLoader bridge]):
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader initWithFrame:client:]):
- (-[WebFrameLoader defersCallbacksChanged]):
- (-[WebFrameLoader defersCallbacks]):
- (-[WebFrameLoader provisionalLoadStarted]):
- (-[WebFrameLoader stopLoadingSubframes]):
- (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
- (-[WebFrameLoader _receivedMainResourceError:complete:]):
- (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader closeOldDataSources]):
- (-[WebFrameLoader commitProvisionalLoad:]):
- (-[WebFrameLoader bridge]):
- (-[WebFrameLoader _handleFallbackContent]):
- (-[WebFrameLoader _finishedLoading]):
- (-[WebFrameLoader reload]):
- (-[WebFrameLoader checkNavigationPolicyForRequest:documentLoader:formState:andCall:withSelector:]):
- (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader transitionToCommitted:]):
- (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
- (-[WebFrameLoader loadRequest:inFrameNamed:]):
- (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader detachFromParent]):
- (-[WebFrameLoader addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
- (-[WebFrameLoader safeLoadURL:]):
- (-[WebFrameLoader actionInformationForLoadType:isFormSubmission:event:originalURL:]):
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
- * WebView/WebFrame.m:
- (-[WebFrame _atMostOneFrameHasSelection]):
- * WebView/WebFrameInternal.h:
-
-2006-10-09 Darin Adler <darin@apple.com>
-
- Reviewed by Brady.
-
- - removed almost all direct use of WebView from WebFrameLoader
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader defersCallbacksChanged]):
- (-[WebFrameLoader defersCallbacks]):
- (-[WebFrameLoader clearProvisionalLoad]):
- (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
- (-[WebFrameLoader _didReceiveResponse:forResource:]):
- (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
- (-[WebFrameLoader _didFinishLoadingForResource:]):
- (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
- (-[WebFrameLoader closeOldDataSources]):
- (-[WebFrameLoader _notifyIconChanged:]):
- (-[WebFrameLoader prepareForLoadStart]):
- (-[WebFrameLoader willChangeTitleForDocument:]):
- (-[WebFrameLoader didChangeTitleForDocument:]):
- (-[WebFrameLoader continueAfterNewWindowPolicy:]):
- (-[WebFrameLoader continueAfterNavigationPolicy:]):
- (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader didFirstLayout]):
- (-[WebFrameLoader transitionToCommitted:]):
- (-[WebFrameLoader checkLoadCompleteForThisFrame]):
- (-[WebFrameLoader addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
- * Loader/WebFrameLoaderClient.h:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebFrame.m:
- (-[WebFrame _currentBackForwardListItemToResetTo]):
- (-[WebFrame _hasBackForwardList]):
- (-[WebFrame _resetBackForwardList]):
- (-[WebFrame _dispatchDidReceiveIcon:]):
- (-[WebFrame _dispatchDidStartProvisionalLoadForFrame]):
- (-[WebFrame _dispatchDidCommitLoadForFrame]):
- (-[WebFrame _dispatchDidFailProvisionalLoadWithError:]):
- (-[WebFrame _dispatchDidFailLoadWithError:]):
- (-[WebFrame _dispatchDidFinishLoadForFrame]):
- (-[WebFrame _progressStarted]):
- (-[WebFrame _progressCompleted]):
- (-[WebFrame _incrementProgressForIdentifier:response:]):
- (-[WebFrame _incrementProgressForIdentifier:data:]):
- (-[WebFrame _completeProgressForIdentifier:]):
- (-[WebFrame _setMainFrameDocumentReady:]):
- (-[WebFrame _willChangeTitleForDocument:]):
- (-[WebFrame _didChangeTitleForDocument:]):
- (-[WebFrame _startDownloadWithRequest:]):
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Alice.
-
- - moved WebFormState into Loader directory and tweaked to avoid WebKit dependencies
-
- * Loader/WebDocumentLoader.h:
- * Loader/WebFormState.h: Added.
- * Loader/WebFormState.m: Added.
- (-[WebFormState initWithForm:values:sourceFrame:]):
- (-[WebFormState dealloc]):
- (-[WebFormState form]):
- (-[WebFormState values]):
- (-[WebFormState sourceFrame]):
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebFrame.m:
- * WebView/WebFrameInternal.h:
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver.
-
- - remove dependency on WebNSURLRequestExtras.h
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver.
-
- - removed unneeded logging code so I can take WebKitLogging.h out and remove a WebKit dependency
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader setState:]):
- (-[WebFrameLoader clientRedirectCancelledOrFinished:]):
- (-[WebFrameLoader clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader checkLoadCompleteForThisFrame]):
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver.
-
- - remove WebDataSource from the WebFrameLoader interface (and thereby from a lot of internal use)
-
- * Loader/WebDocumentLoader.h:
- * Loader/WebDocumentLoader.m:
- (-[WebDocumentLoader dealloc]):
- (-[WebDocumentLoader initialRequest]):
- (-[WebDocumentLoader URL]):
- (-[WebDocumentLoader unreachableURL]):
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader setState:]):
- (-[WebFrameLoader startLoading]):
- (-[WebFrameLoader startProvisionalLoad:]):
- (-[WebFrameLoader clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader opened]):
- (-[WebFrameLoader commitProvisionalLoad:]):
- (-[WebFrameLoader initialRequest]):
- (-[WebFrameLoader _finishedLoading]):
- (-[WebFrameLoader _notifyIconChanged:]):
- (-[WebFrameLoader _URL]):
- (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
- (-[WebFrameLoader _checkNavigationPolicyForRequest:andCall:withSelector:]):
- (-[WebFrameLoader shouldReloadToHandleUnreachableURLFromRequest:]):
- (-[WebFrameLoader _loadRequest:archive:]):
- (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
- (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
- (-[WebFrameLoader reload]):
- (-[WebFrameLoader checkNavigationPolicyForRequest:documentLoader:formState:andCall:withSelector:]):
- (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader loadDocumentLoader:withLoadType:formState:]):
- (-[WebFrameLoader frameLoadCompleted]):
- (-[WebFrameLoader transitionToCommitted:]):
- (-[WebFrameLoader checkLoadCompleteForThisFrame]):
- (-[WebFrameLoader safeLoadURL:]):
- * Loader/WebFrameLoaderClient.h:
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge originalRequestURL]):
- * WebView/WebDataSource.m:
- (-[WebDataSource _URL]):
- (-[WebDataSource dealloc]):
- (-[WebDataSource initialRequest]):
- (-[WebDataSource unreachableURL]):
- * WebView/WebFrame.m:
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _prepareForDataSourceReplacement]):
- (-[WebFrame provisionalDataSource]):
- (-[WebFrame dataSource]):
- (-[WebFrame _makeDocumentView]):
- (-[WebFrame _updateHistoryForReload]):
- (-[WebFrame _updateHistoryForStandardLoad]):
- (-[WebFrame _updateHistoryForInternalLoad]):
- (-[WebFrame _forceLayoutForNonHTML]):
- (-[WebFrame _clearLoadingFromPageCacheForDocumentLoader:]):
- (-[WebFrame _isDocumentLoaderLoadingFromPageCache:]):
- (-[WebFrame _archivedSubresourceForURL:fromDocumentLoader:]):
- (-[WebFrame _makeRepresentationForDocumentLoader:]):
-
-2006-10-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - removed need for WebFrameLoader to now about WebDocumentLoaderMac
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader loadDataSource:withLoadType:formState:]):
- * WebView/WebDocumentLoaderMac.h:
- * WebView/WebDocumentLoaderMac.m:
- (-[WebDocumentLoaderMac setFrameLoader:]):
- (-[WebDocumentLoaderMac detachFromFrameLoader]):
-
-2006-10-09 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - passed calls that require WebScriptDebugServer across the client interface
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _finishedLoading]):
- (-[WebFrameLoader documentLoader:mainReceivedCompleteError:]):
- * Loader/WebFrameLoaderClient.h:
- * WebView/WebFrame.m:
- (-[WebFrame _dispatchDidLoadMainResourceForDocumentLoader:]):
-
-2006-10-08 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - passed calls that require WebHTMLView or WebFrameView calls across
- the client interface
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (isCaseInsensitiveEqual):
- (isBackForwardLoadType):
- (-[WebFrameLoader opened]):
- (-[WebFrameLoader cancelledErrorWithRequest:]):
- (-[WebFrameLoader fileDoesNotExistErrorWithResponse:]):
- (-[WebFrameLoader reload]):
- (-[WebFrameLoader transitionToCommitted:]):
- * Loader/WebFrameLoaderClient.h:
- * WebView/WebFrame.m:
- (-[WebFrame _forceLayout]):
- (-[WebFrame _setDocumentViewFromPageCache:]):
- (-[WebFrame _setCopiesOnScroll]):
-
-2006-10-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - pass remaining delegate methods across client interface
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _checkContentPolicyForMIMEType:andCall:withSelector:]):
- (-[WebFrameLoader checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
- (-[WebFrameLoader checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
- (-[WebFrameLoader handleUnimplementablePolicyWithErrorCode:forURL:]):
- (-[WebFrameLoader didFirstLayout]):
- (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
- * Loader/WebFrameLoaderClient.h:
- * WebView/WebFrame.m:
- (-[WebFrame _dispatchDidFirstLayoutInFrame]):
- (-[WebFrame _dispatchCreateWebViewWithRequest:]):
- (-[WebFrame _dispatchShow]):
- (-[WebFrame _dispatchDecidePolicyForMIMEType:request:decisionListener:]):
- (-[WebFrame _dispatchDecidePolicyForNewWindowAction:request:newFrameName:decisionListener:]):
- (-[WebFrame _dispatchDecidePolicyForNavigationAction:request:decisionListener:]):
- (-[WebFrame _dispatchUnableToImplementPolicyWithError:]):
-
-2006-10-08 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - use WebCoreSystemInterface instead of WebSystemInterface in Loader directory
-
- * Loader/WebFrameLoader.m: Update includes.
- (-[WebFrameLoader commitProvisionalLoad:]): Use wk calls istead of WK.
- (-[WebFrameLoader _canUseResourceWithResponse:]): Ditto.
-
- * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
- Added the three new symbols, and resorted the list.
-
- * Loader/WebDataProtocol.m:
- * Loader/WebLoader.m:
- * Loader/WebMainResourceLoader.h:
- * Loader/WebMainResourceLoader.m:
- * Loader/WebNetscapePlugInStreamLoader.h:
- * Loader/WebNetscapePlugInStreamLoader.m:
- * Loader/WebSubresourceLoader.h:
- * Loader/WebSubresourceLoader.m:
- Changed import statements to consistently use the "" format.
-
-2006-10-08 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed.
-
- - fix accidental build break due to editing while committing
-
- * Loader/WebFrameLoader.m:
-
-2006-10-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - move all WebFrameLoadDelegate methods across client interface
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader clientRedirectCancelledOrFinished:]):
- (-[WebFrameLoader clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader closeOldDataSources]):
- (-[WebFrameLoader _notifyIconChanged:]):
- (-[WebFrameLoader prepareForLoadStart]):
- (-[WebFrameLoader didChangeTitleForDocument:]):
- (-[WebFrameLoader transitionToCommitted:]):
- (-[WebFrameLoader checkLoadCompleteForThisFrame]):
- * Loader/WebFrameLoaderClient.h:
- * WebView/WebFrame.m:
- (-[WebFrame _dispatchDidCancelClientRedirectForFrame]):
- (-[WebFrame _dispatchWillPerformClientRedirectToURL:delay:fireDate:]):
- (-[WebFrame _dispatchDidChangeLocationWithinPageForFrame]):
- (-[WebFrame _dispatchWillCloseFrame]):
- (-[WebFrame _dispatchDidReceiveIcon:]):
- (-[WebFrame _dispatchDidStartProvisionalLoadForFrame]):
- (-[WebFrame _dispatchDidReceiveTitle:]):
- (-[WebFrame _dispatchDidCommitLoadForFrame]):
- (-[WebFrame _dispatchDidFailProvisionalLoadWithError:]):
- (-[WebFrame _dispatchDidFailLoadWithError:]):
- (-[WebFrame _dispatchDidFinishLoadForFrame]):
-
-2006-10-08 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - removed some of the WebKit dependencies in WebFrameLoader
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
- (-[WebFrameLoader reload]):
- (-[WebFrameLoader didChangeTitleForDocument:]):
- * Loader/WebFrameLoaderClient.h:
- * WebView/WebFrame.m:
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _loadURL:referrer:intoChild:]):
- (-[WebFrame _setTitle:forURL:]):
- (-[WebFrame _downloadWithLoadingConnection:request:response:proxy:]):
- * WebView/WebFrameInternal.h:
-
- - some other tweaks
-
- * Misc/WebNSURLRequestExtras.m:
- (-[NSMutableURLRequest _web_setHTTPReferrer:]):
- (-[NSMutableURLRequest _web_setHTTPUserAgent:]):
-
-2006-10-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - pass all WebResourceLoadDelegate methods across client, removing need to include related headers
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
- (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
- (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
- (-[WebFrameLoader _didReceiveResponse:forResource:]):
- (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
- (-[WebFrameLoader _didFinishLoadingForResource:]):
- (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
- (-[WebFrameLoader sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
- (-[WebFrameLoader requestFromDelegateForRequest:identifier:error:]):
- * Loader/WebFrameLoaderClient.h:
- * WebView/WebFrame.m:
- (-[WebFrame _dispatchDidHandleOnloadEventsForFrame]):
- (-[WebFrame _dispatchDidReceiveServerRedirectForProvisionalLoadForFrame]):
- (-[WebFrame _dispatchIdentifierForInitialRequest:fromDocumentLoader:]):
- (-[WebFrame _dispatchResource:willSendRequest:redirectResponse:fromDocumentLoader:]):
- (-[WebFrame _dispatchDidReceiveAuthenticationChallenge:forResource:fromDocumentLoader:]):
- (-[WebFrame _dispatchDidCancelAuthenticationChallenge:forResource:fromDocumentLoader:]):
- (-[WebFrame _dispatchResource:didReceiveResponse:fromDocumentLoader:]):
- (-[WebFrame _dispatchResource:didReceiveContentLength:fromDocumentLoader:]):
- (-[WebFrame _dispatchResource:didFinishLoadingFromDocumentLoader:]):
- (-[WebFrame _dispatchResource:didFailLoadingWithError:fromDocumentLoader:]):
-
-2006-10-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - started adding some _dispatch methods to WebFrameLoaderClient for delegate dispatch
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader startLoading]):
- (-[WebFrameLoader didReceiveServerRedirectForProvisionalLoadForFrame]):
- * Loader/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge handledOnloadEvents]):
- * WebView/WebFrame.m:
- (dataSource):
- (-[WebFrame _dataSourceForDocumentLoader:]):
- (-[WebFrame _dispatchDidHandleOnloadEventsForFrame]):
- (-[WebFrame _dispatchDidReceiveServerRedirectForProvisionalLoadForFrame]):
- (-[WebFrame _dispatchIdentifierForInitialRequest:fromDocumentLoader:]):
- * WebView/WebFrameInternal.h:
-
-2006-10-08 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - moved more methods to WebFrameLoader from WebFrame
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader defersCallbacksChanged]):
- (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
- (-[WebFrameLoader setState:]):
- (-[WebFrameLoader clearProvisionalLoad]):
- (-[WebFrameLoader markLoadComplete]):
- (-[WebFrameLoader commitProvisionalLoad]):
- (-[WebFrameLoader stopLoading]):
- (-[WebFrameLoader startProvisionalLoad:]):
- (-[WebFrameLoader setupForReplace]):
- (-[WebFrameLoader _identifierForInitialRequest:]):
- (-[WebFrameLoader _finishedLoadingResource]):
- (-[WebFrameLoader _receivedError:]):
- (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader opened]):
- (-[WebFrameLoader commitProvisionalLoad:]):
- (-[WebFrameLoader _finishedLoading]):
- (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
- (-[WebFrameLoader _loadRequest:archive:]):
- (-[WebFrameLoader reload]):
- (-[WebFrameLoader documentLoader:mainReceivedCompleteError:]):
- (-[WebFrameLoader subframeIsLoading]):
- (-[WebFrameLoader checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
- (-[WebFrameLoader continueAfterNewWindowPolicy:]):
- (-[WebFrameLoader checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
- (-[WebFrameLoader sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
- (-[WebFrameLoader loadRequest:inFrameNamed:]):
- (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader detachChildren]):
- (-[WebFrameLoader detachFromParent]):
- (-[WebFrameLoader addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
- (-[WebFrameLoader safeLoadURL:]):
- (-[WebFrameLoader actionInformationForLoadType:isFormSubmission:event:originalURL:]):
- (-[WebFrameLoader actionInformationForNavigationType:event:originalURL:]):
- (-[WebFrameLoader checkLoadComplete]):
- * Loader/WebFrameLoaderClient.h:
- * Loader/WebSubresourceLoader.m:
- (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge close]):
- (-[WebFrameBridge tokenizerProcessedData]):
- (-[WebFrameBridge frameDetached]):
- * WebView/WebDataSourceInternal.h:
- * WebView/WebFrame.m:
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _prepareForDataSourceReplacement]):
- (-[WebFrame _detachedFromParent1]):
- (-[WebFrame _detachedFromParent2]):
- (-[WebFrame _detachedFromParent3]):
- (-[WebFrame _detachedFromParent4]):
- (-[WebFrame _updateHistoryAfterClientRedirect]):
- (-[WebFrame _loadedFromPageCache]):
- * WebView/WebFrameInternal.h:
- * WebView/WebPDFView.m:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
- * WebView/WebView.m:
- (-[WebView _close]):
- (-[WebView setDefersCallbacks:]):
-
-2006-10-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - avoid need for WebKitSystemInterface in loader code, via WebCore cover for wkSupportsMultipartXMixedReplace
-
- * Loader/WebDocumentLoader.m:
- (-[WebDocumentLoader initWithRequest:]):
- * Loader/WebMainResourceLoader.m:
- * Loader/WebSubresourceLoader.m:
- (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
- * WebView/WebDataSource.m:
- (-[WebDataSource _initWithDocumentLoader:]):
-
-2006-10-08 Darin Adler <darin@apple.com>
-
- - build fix (also a fix for a crasher I forgot to commit before)
-
- * Loader/WebFrameLoader.m: Added some missing includes.
- (-[WebFrameLoader checkLoadCompleteForThisFrame]):
- Added a needed retain/release.
-
-2006-10-08 Darin Adler <darin@apple.com>
-
- Reviewed by Anders.
-
- - quick fix to loader problem causing layout test failures
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _finishedLoading]): Use a local variable for the bridge
- that we retain/release.
- (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
- Same here.
-
-2006-10-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam.
-
- - removed a few includes from WebFrameLoader, fixed up as appropriate
- - segregated header includes into ones that need to go away to move the code and ones that don't
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _privateBrowsingEnabled]):
- (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
- * Loader/WebFrameLoaderClient.h:
- * WebView/WebFrame.m:
- (-[WebFrame _privateBrowsingEnabled]):
-
-2006-10-08 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - moved a few methods from WebFrame to WebFrameLoader
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _setState:]):
- (-[WebFrameLoader stopLoadingSubframes]):
- (-[WebFrameLoader _receivedMainResourceError:complete:]):
- (-[WebFrameLoader closeOldDataSources]):
- (-[WebFrameLoader commitProvisionalLoad:]):
- (-[WebFrameLoader _finishedLoading]):
- (isBackForwardLoadType):
- (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader didFirstLayout]):
- (-[WebFrameLoader frameLoadCompleted]):
- (-[WebFrameLoader transitionToCommitted:]):
- (-[WebFrameLoader checkLoadCompleteForThisFrame]):
- (-[WebFrameLoader continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
- (-[WebFrameLoader sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
- (-[WebFrameLoader requestFromDelegateForRequest:identifier:error:]):
- (-[WebFrameLoader loadRequest:inFrameNamed:]):
- (-[WebFrameLoader postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- * Loader/WebFrameLoaderClient.h:
- * Plugins/WebPluginController.m:
- (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
- * WebCoreSupport/WebFrameBridge.h:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
- (-[WebFrameBridge dealloc]):
- (-[WebFrameBridge frameLoader]):
- (-[WebFrameBridge setTitle:]):
- (-[WebFrameBridge receivedData:textEncodingName:]):
- (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
- (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
- (-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
- (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- (-[WebFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- (-[WebFrameBridge reportClientRedirectCancelled:]):
- (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
- (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrameBridge didFirstLayout]):
- (-[WebFrameBridge notifyIconChanged:]):
- (-[WebFrameBridge originalRequestURL]):
- (-[WebFrameBridge isLoadTypeReload]):
- * WebView/WebFrame.m:
- (-[WebFrame _opened]):
- (-[WebFrame _checkLoadComplete]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _actionInformationForLoadType:isFormSubmission:event:originalURL:]):
- (-[WebFrame _loadURL:referrer:intoChild:]):
- (-[WebFrame _currentBackForwardListItemToResetTo]):
- (-[WebFrame _updateBackground]):
- (-[WebFrame _frameLoader]):
- (-[WebFrame _frameLoadCompleted]):
- (-[WebFrame _makeDocumentView]):
- (-[WebFrame _updateHistoryForCommit]):
- (-[WebFrame _updateHistoryForReload]):
- (-[WebFrame _updateHistoryForStandardLoad]):
- (-[WebFrame _updateHistoryForBackForwardNavigation]):
- (-[WebFrame _updateHistoryForInternalLoad]):
- (-[WebFrame _tokenForLoadErrorReset]):
- (-[WebFrame _resetAfterLoadError:]):
- (-[WebFrame _doNotResetAfterLoadError:]):
- * WebView/WebFrameInternal.h:
-
-2006-10-09 Mark Rowe <bdash@webkit.org>
-
- Rubber-stamped by Darin.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge imageTitleForFilename:size:]): Revert accidental change to a UI_STRING that
- is triggering an assertion failure.
-
-2006-10-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - remove unneeded non-Loader header includes from WebFrameLoader.h (split WebFrameLoadType into
- two coincidentally matching enums)
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader commitProvisionalLoad:]):
- (isBackForwardLoadType):
- (-[WebFrameLoader _loadRequest:archive:]):
- (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
- (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
- (-[WebFrameLoader reload]):
- (-[WebFrameLoader isReplacing]):
- (-[WebFrameLoader setReplacing]):
- (-[WebFrameLoader loadType]):
- (-[WebFrameLoader setLoadType:]):
- (-[WebFrameLoader checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
- (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader loadDataSource:withLoadType:formState:]):
- (-[WebFrameLoader didFirstLayout]):
- * WebCoreSupport/WebFrameBridge.m:
- * WebView/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _provisionalLoadStarted]):
- (-[WebFrame _opened]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):
- (-[WebFrame _goToItem:withLoadType:]):
- (-[WebFrame _actionInformationForLoadType:isFormSubmission:event:originalURL:]):
- (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
- (-[WebFrame _loadURL:referrer:intoChild:]):
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrame _currentBackForwardListItemToResetTo]):
- (-[WebFrame _itemForRestoringDocState]):
- (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
- (-[WebFrame _loadType]):
- (-[WebFrame loadRequest:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebView.m:
-
-2006-10-08 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - move WebFrameLoader creation and ownership from WebFrame to WebFrameBridge
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader stopLoadingSubframes]):
- (-[WebFrameLoader closeOldDataSources]):
- * WebCoreSupport/WebFrameBridge.h:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge initMainFrameWithPage:frameName:view:]):
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
- (-[WebFrameBridge dealloc]):
- (-[WebFrameBridge loader]):
- (-[WebFrameBridge setTitle:]):
- (-[WebFrameBridge receivedData:textEncodingName:]):
- (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
- (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
- (-[WebFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- (-[WebFrameBridge reportClientRedirectCancelled:]):
- (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
- (-[WebFrameBridge didFirstLayout]):
- (-[WebFrameBridge imageTitleForFilename:size:]):
- (-[WebFrameBridge notifyIconChanged:]):
- (-[WebFrameBridge originalRequestURL]):
- (-[WebFrameBridge isLoadTypeReload]):
- * WebView/WebFrame.m:
- (-[NSView setWebFrame::]):
- (-[WebFramePrivate dealloc]):
- (-[WebFramePrivate setWebFrameView:]):
- (-[WebFramePrivate setProvisionalItem:]):
- (-[WebFrame _webDataRequestForData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
- (-[WebFrame _createItem:]):
- (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):
- (-[WebFrame _detachFromParent]):
- (-[WebFrame _makeDocumentView]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _provisionalLoadStarted]):
- (-[WebFrame _opened]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _recursiveGoToItem:fromItem:withLoadType:]):
- (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
- (-[WebFrame _loadURL:referrer:intoChild:]):
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrame _setTitle:]):
- (-[WebFrame _defersCallbacksChanged]):
- (-[WebFrame _currentBackForwardListItemToResetTo]):
- (-[WebFrame _itemForSavingDocState]):
- (-[WebFrame _itemForRestoringDocState]):
- (-[WebFrame _saveDocumentAndScrollState]):
- (-[WebFrame _shouldTreatURLAsSameAsCurrent:]):
- (-[WebFrame _loadRequest:inFrameNamed:]):
- (-[WebFrame _initWithWebFrameView:webView:bridge:]):
- (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
- (-[WebFrame _frameLoader]):
- (-[WebFrame _prepareForDataSourceReplacement]):
- (-[WebFrame _restoreScrollPositionAndViewState]):
- (-[WebFrame _firstLayoutDone]):
- (-[WebFrame _loadType]):
- (-[WebFrame frameView]):
- (-[WebFrame provisionalDataSource]):
- (-[WebFrame dataSource]):
- (-[WebFrame loadRequest:]):
- (-[WebFrame loadArchive:]):
- (-[WebFrame stopLoading]):
- (-[WebFrame reload]):
- (-[WebFrame _resetBackForwardList]):
- (-[WebFrame _invalidateCurrentItemPageCache]):
- (-[WebFrame _provisionalItemIsTarget]):
- (-[WebFrame _loadProvisionalItemFromPageCache]):
- * WebView/WebFrameInternal.h:
-
-2006-10-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - move remaining movable data fields from WebFrameLoader to WebFrame
-
- * Loader/WebDocumentLoadState.m:
- (-[WebDocumentLoadState commitIfReady]):
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader provisionalLoadStarted]):
- (-[WebFrameLoader _setState:]):
- (-[WebFrameLoader stopLoadingSubframes]):
- (-[WebFrameLoader stopLoading]):
- (-[WebFrameLoader startLoading]):
- (-[WebFrameLoader _receivedMainResourceError:complete:]):
- (-[WebFrameLoader clientRedirectCancelledOrFinished:]):
- (-[WebFrameLoader clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- (-[WebFrameLoader shouldReloadForCurrent:andDestination:]):
- (-[WebFrameLoader loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrameLoader continueFragmentScrollAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader closeOldDataSources]):
- (-[WebFrameLoader commitProvisionalLoad:]):
- (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader isQuickRedirectComing]):
- * Loader/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameBridge.h:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge frameLoader]):
- (-[WebFrameBridge setTitle:]):
- (-[WebFrameBridge reportClientRedirectToURL:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- (-[WebFrameBridge reportClientRedirectCancelled:]):
- (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
- * WebView/WebDataSource.m:
- (-[WebDataSource _loadFromPageCache:]):
- * WebView/WebFrame.m:
- (-[NSView setWebFrame::]):
- (-[WebFrame _addHistoryItemForFragmentScroll]):
- (-[WebFrame _didFinishLoad]):
- (-[WebFrame _provisionalLoadStarted]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _loadURL:referrer:intoChild:]):
- (-[WebFrame _frameLoadCompleted]):
- (-[WebFrame stopLoading]):
- (-[WebFrame _invalidateCurrentItemPageCache]):
- * WebView/WebFrameInternal.h:
-
-2006-10-08 Darin Adler <darin@apple.com>
-
- Rubber stamped by Maciej.
-
- - changed "document load state" to "document loader"
-
- * Loader/WebDocumentLoadState.h: Removed.
- * Loader/WebDocumentLoadState.m: Removed.
- * Loader/WebDocumentLoader.h: Added.
- * Loader/WebDocumentLoader.m: Added.
- (-[WebDocumentLoader setMainDocumentError:]):
- (-[WebDocumentLoader mainReceivedError:complete:]):
- (-[WebDocumentLoader finishedLoading]):
- (-[WebDocumentLoader commitLoadWithData:]):
- (-[WebDocumentLoader setupForReplaceByMIMEType:]):
- (-[WebDocumentLoader updateLoading]):
- (-[WebDocumentLoader setTitle:]):
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader dealloc]):
- (-[WebFrameLoader activeDocumentLoader]):
- (-[WebFrameLoader activeDataSource]):
- (-[WebFrameLoader addPlugInStreamLoader:]):
- (-[WebFrameLoader removePlugInStreamLoader:]):
- (-[WebFrameLoader addSubresourceLoader:]):
- (-[WebFrameLoader removeSubresourceLoader:]):
- (-[WebFrameLoader dataSource]):
- (-[WebFrameLoader setDocumentLoader:]):
- (-[WebFrameLoader documentLoader]):
- (-[WebFrameLoader policyDataSource]):
- (-[WebFrameLoader setPolicyDocumentLoader:]):
- (-[WebFrameLoader clearDataSource]):
- (-[WebFrameLoader provisionalDataSource]):
- (-[WebFrameLoader provisionalDocumentLoader]):
- (-[WebFrameLoader setProvisionalDocumentLoader:]):
- (-[WebFrameLoader _clearProvisionalDataSource]):
- (-[WebFrameLoader _setState:]):
- (-[WebFrameLoader clearProvisionalLoad]):
- (-[WebFrameLoader commitProvisionalLoad]):
- (-[WebFrameLoader stopLoading]):
- (-[WebFrameLoader startLoading]):
- (-[WebFrameLoader startProvisionalLoad:]):
- (-[WebFrameLoader setupForReplace]):
- (-[WebFrameLoader _didReceiveResponse:forResource:]):
- (-[WebFrameLoader _originalRequest]):
- (-[WebFrameLoader _receivedMainResourceError:complete:]):
- (-[WebFrameLoader _receivedData:]):
- (-[WebFrameLoader _setRequest:]):
- (-[WebFrameLoader _isStopping]):
- (-[WebFrameLoader _setupForReplaceByMIMEType:]):
- (-[WebFrameLoader _setResponse:]):
- (-[WebFrameLoader _mainReceivedError:complete:]):
- (-[WebFrameLoader _finishedLoading]):
- (-[WebFrameLoader _checkContentPolicyForMIMEType:andCall:withSelector:]):
- (-[WebFrameLoader _loadRequest:archive:]):
- (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
- (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
- (-[WebFrameLoader reload]):
- (-[WebFrameLoader finishedLoadingDocument:]):
- (-[WebFrameLoader committedLoadWithDocumentLoader:data:]):
- (-[WebFrameLoader revertToProvisionalWithDocumentLoader:]):
- (-[WebFrameLoader documentLoader:setMainDocumentError:]):
- (-[WebFrameLoader documentLoader:mainReceivedCompleteError:]):
- (-[WebFrameLoader finalSetupForReplaceWithDocumentLoader:]):
- (-[WebFrameLoader willChangeTitleForDocument:]):
- (-[WebFrameLoader didChangeTitleForDocument:]):
- (-[WebFrameLoader checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
- (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader loadDataSource:withLoadType:formState:]):
- * Plugins/WebPluginController.m:
- (-[WebPluginController pluginView:receivedResponse:]):
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge setTitle:]):
- (-[WebFrameBridge receivedData:textEncodingName:]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _mainDocumentError]):
- (-[WebDataSource _loadFromPageCache:]):
- (-[WebDataSource _bridge]):
- (-[WebDataSource _webView]):
- (-[WebDataSource _URLForHistory]):
- (-[WebDataSource _documentLoader]):
- (-[WebDataSource _initWithDocumentLoader:]):
- (-[WebDataSource initWithRequest:]):
- (-[WebDataSource dealloc]):
- (-[WebDataSource data]):
- (-[WebDataSource webFrame]):
- (-[WebDataSource initialRequest]):
- (-[WebDataSource request]):
- (-[WebDataSource response]):
- (-[WebDataSource textEncodingName]):
- (-[WebDataSource isLoading]):
- (-[WebDataSource unreachableURL]):
- (-[WebDataSource webArchive]):
- * WebView/WebDataSourceInternal.h:
- * WebView/WebDocumentLoadStateMac.h: Removed.
- * WebView/WebDocumentLoadStateMac.m: Removed.
- * WebView/WebDocumentLoaderMac.h: Added.
- * WebView/WebDocumentLoaderMac.m: Added.
- * WebView/WebFrame.m:
- (-[WebFrame _createItem:]):
- (-[WebFrame _receivedMainResourceError:]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _opened]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _addChild:]):
- (-[WebFrame _provisionalLoadStarted]):
- (-[WebFrame _dataSourceForDocumentLoader:]):
- (-[WebFrame _createDocumentLoaderWithRequest:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation title]):
- * WebView/WebView.m:
- (-[WebView _mainFrameOverrideEncoding]):
-
-2006-10-08 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=11218
- REGRESSION: Assertion failure in WebFrameLoader when going back from a file: or data: URL
-
- Also added a helper function in WebFrameLoader so that checks for back/forward load types
- are easier to read.
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _setPolicyDocumentLoadState:]): Fixed line of code that was setting the load
- state to nil instead of the passed-in object.
- (isBackForwardLoadType): Added.
- (-[WebFrameLoader shouldReloadToHandleUnreachableURLFromRequest:]): Use isBackForwardLoadType.
- (-[WebFrameLoader checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
- Ditto.
- (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]): Ditto.
-
-2006-10-08 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fix two recently introduced leaks: one of an NSString, the other of a WebDataSource
-
- * Loader/WebDocumentLoadState.m: (-[WebDocumentLoadState setTitle:]):
- Rearranged code to avoid storage leak in case of identical title.
-
- * Loader/WebFrameLoader.h: Removed _setPolicyDocumentLoadState: method
- from the header.
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _setPolicyDocumentLoadState:]): Added logic to call detachFromFrameLoader
- as needed if this load state is going away rather than moving on to become the provisional
- load state.
- (-[WebFrameLoader shouldReloadToHandleUnreachableURLFromRequest:]): Tweaked formatting.
- (-[WebFrameLoader _loadRequest:archive:]): Added an assertion.
- (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]): Added an assertion.
- (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]): Added an assertion.
- (-[WebFrameLoader reload]): Added an assertion.
- (-[WebFrameLoader loadDataSource:withLoadType:formState:]): Added a local variable to avoid
- calling _documentLoadState over and over again.
-
-2006-10-07 Peter Kasting <pkasting@google.com>
-
- Reviewed/landed by Adam.
-
- http://bugs.webkit.org/show_bug.cgi?id=11199
- Update Session History when a load is committed rather than completed.
-
- * COM/WebFrame.cpp:
- (WebFrame::receivedResponse):
- (WebFrame::receivedAllData):
-
-2006-10-07 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Tim H.
-
- Patch for http://bugs.webkit.org/show_bug.cgi?id=11198
- Auto-generate a few more Objective-C DOM interfaces
-
- * MigrateHeaders.make:
-
-2006-10-07 Mark Rowe <bdash@webkit.org>
-
- Reviewed by Mitz.
-
- Fix memory leak from -[WebDocumentLoadState setTitle:].
-
- * Loader/WebDocumentLoadState.m:
- (-[WebDocumentLoadState setTitle:]): Ensure 'trimmed' is released even when length is
- zero, and untangle the confusing logic around this case.
-
-2006-10-06 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- Refactored a whole bunch of WebFramePrivate.h SPI to WebFrameInternal
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- * History/WebHistoryItem.m:
- * Loader/WebFrameLoader.h:
- * Misc/WebCoreStatistics.m:
- * Misc/WebElementDictionary.m:
- * Plugins/WebNetscapePluginEmbeddedView.m:
- * Plugins/WebPluginController.m:
- * WebCoreSupport/WebViewFactory.m:
- * WebView/WebArchiver.m:
- * WebView/WebDataSource.m:
- * WebView/WebFrame.m:
- (-[WebFrame _isDescendantOfFrame:]):
- (-[WebFrame _setShouldCreateRenderers:]):
- (-[WebFrame _bodyBackgroundColor]):
- (-[WebFrame _isFrameSet]):
- (-[WebFrame _firstLayoutDone]):
- (-[WebFrame _loadType]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFramePrivate.h:
- * WebView/WebHTMLRepresentation.m:
- * WebView/WebScriptDebugDelegate.m:
-
-2006-10-06 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - Move all delegate dispatching code out of WebDataSource.
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader startLoading]):
- (-[WebFrameLoader _identifierForInitialRequest:]):
- (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
- (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
- (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
- (-[WebFrameLoader _didReceiveResponse:forResource:]):
- (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
- (-[WebFrameLoader _didFinishLoadingForResource:]):
- (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
- (-[WebFrameLoader _receivedMainResourceError:complete:]):
- (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
- (-[WebFrameLoader _checkContentPolicyForMIMEType:andCall:withSelector:]):
- * WebView/WebDataSource.m:
- (-[WebDataSource _setLoadingFromPageCache:]):
- (-[WebDataSource _stopLoadingWithError:]):
- * WebView/WebDataSourceInternal.h:
-
-2006-10-06 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - moved firstLayoutDone BOOL from WebFrame to WebFrameLoader
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader didFirstLayout]):
- (-[WebFrameLoader provisionalLoadStarted]):
- (-[WebFrameLoader frameLoadCompleted]):
- (-[WebFrameLoader firstLayoutDone]):
- * WebCoreSupport/WebFrameBridge.m: (-[WebFrameBridge didFirstLayout]):
- * WebView/WebFrame.m:
- (-[WebFrame _firstLayoutDone]):
- (-[WebFrame _provisionalLoadStarted]):
- (-[WebFrame _frameLoadCompleted]):
- (-[WebFrame _restoreScrollPositionAndViewState]):
- * WebView/WebFrameInternal.h:
-
-2006-10-06 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - moved more data and the corresponding code from WebFrame to WebFrameLoader
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader cannotShowMIMETypeForURL:]):
- (-[WebFrameLoader _checkNavigationPolicyForRequest:andCall:withSelector:]):
- (-[WebFrameLoader shouldReloadToHandleUnreachableURLFromRequest:]):
- (-[WebFrameLoader _loadRequest:archive:]):
- (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
- (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
- (-[WebFrameLoader reload]):
- (-[WebFrameLoader invalidatePendingPolicyDecisionCallingDefaultAction:]):
- (-[WebFrameLoader checkNewWindowPolicyForRequest:action:frameName:formState:andCall:withSelector:]):
- (-[WebFrameLoader _continueAfterNewWindowPolicy:]):
- (-[WebFrameLoader checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
- (-[WebFrameLoader continueAfterNavigationPolicy:]):
- (-[WebFrameLoader continueAfterWillSubmitForm:]):
- (-[WebFrameLoader continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrameLoader loadDataSource:withLoadType:formState:]):
- (-[WebFrameLoader handleUnimplementablePolicyWithErrorCode:forURL:]):
- (-[WebFrameLoader delegateIsHandlingProvisionalLoadError]):
- (-[WebFrameLoader setDelegateIsHandlingProvisionalLoadError:]):
- * Loader/WebFrameLoaderClient.h:
- * WebView/WebFrame.m:
- (-[NSView setWebFrame::]):
- (-[WebFramePrivate dealloc]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrame _loadRequest:inFrameNamed:]):
- (-[WebFrame stopLoading]):
- (-[WebFrame _resetBackForwardList]):
- (-[WebFrame _quickRedirectComing]):
- (-[WebFrame _provisionalItemIsTarget]):
- (-[WebFrame _loadProvisionalItemFromPageCache]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFramePrivate.h:
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-10-06 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Darin.
-
- - removed includes of unused headers.
-
- * WebView/WebDataSource.m:
-
-2006-10-06 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed.
-
- - fix build breakage
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader willChangeTitleForDocumentLoadState:]):
- (-[WebFrameLoader didChangeTitleForDocumentLoadState:]):
-
-2006-10-06 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - move remaining movable WebDataSource fields to WebDocumentLoadState
-
- * Loader/WebDocumentLoadState.h:
- * Loader/WebDocumentLoadState.m:
- (-[WebDocumentLoadState dealloc]):
- (-[WebDocumentLoadState isLoadingInAPISense]):
- (-[WebDocumentLoadState addResponse:]):
- (-[WebDocumentLoadState stopRecordingResponses]):
- (-[WebDocumentLoadState title]):
- (-[WebDocumentLoadState setLastCheckedRequest:]):
- (-[WebDocumentLoadState lastCheckedRequest]):
- (-[WebDocumentLoadState triggeringAction]):
- (-[WebDocumentLoadState setTriggeringAction:]):
- (-[WebDocumentLoadState responses]):
- (-[WebDocumentLoadState setOverrideEncoding:]):
- (-[WebDocumentLoadState overrideEncoding]):
- (-[WebDocumentLoadState setTitle:]):
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _setState:]):
- (-[WebFrameLoader _loadRequest:archive:]):
- (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
- (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
- (-[WebFrameLoader reload]):
- (-[WebFrameLoader willChangeTitleForDocumentLoadState:]):
- (-[WebFrameLoader didChangeTitleForDocumentLoadState:]):
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge setTitle:]):
- (-[WebFrameBridge receivedData:textEncodingName:]):
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _didReceiveResponse:forResource:]):
- (-[WebDataSource textEncodingName]):
- * WebView/WebDataSourceInternal.h:
- * WebView/WebFrame.m:
- (-[WebFrame _opened]):
- (-[WebFrame _checkNavigationPolicyForRequest:dataSource:formState:andCall:withSelector:]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _addChild:]):
- (-[WebFrame _loadDataSource:withLoadType:formState:]):
- * WebView/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation title]):
- * WebView/WebView.m:
- (-[WebView _mainFrameOverrideEncoding]):
-
-2006-10-06 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - moved loadType into WebFrameLoader
-
- * WebView/WebFramePrivate.h: Removed _setLoadType, but not _loadType because it's
- currently used by Safari.
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _loadRequest:archive:]):
- (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
- (-[WebFrameLoader isReplacing]):
- (-[WebFrameLoader setReplacing]):
- (-[WebFrameLoader loadType]):
- (-[WebFrameLoader setLoadType:]):
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge isLoadTypeReload]):
- * WebView/WebFrame.m:
- (-[WebFrame _loadType]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _commitProvisionalLoad:]):
- (-[WebFrame _opened]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _loadURL:referrer:intoChild:]):
- (-[WebFrame _currentBackForwardListItemToResetTo]):
- (-[WebFrame _itemForRestoringDocState]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrame _didFirstLayout]):
- (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
- (-[WebFrame _provisionalLoadStarted]):
- (-[WebFrame loadRequest:]):
-
-2006-10-06 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - added WebFrameLoaderClient protocol -- to be used to make WebFrameLoader forget all about WebFrame
-
- * Loader/WebDocumentLoadState.h: Added comment about Maciej's planned renaming here.
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m: Renamed webFrame to client and added the new protocol.
- Eventually we'll be removing the dependency on WebFrame entirely.
- * WebView/WebFrame.m: (-[WebFrame _initWithWebFrameView:webView:bridge:]): Update to call the method
- by its new name.
-
- * Loader/WebFrameLoaderClient.h: Added.
- * WebKit.xcodeproj/project.pbxproj: Updated for new file, sorted things.
-
-2006-10-06 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - segregate WebFrame methods into ones that should be moved into WebFrameLoader and ones that don't need to
-
- Also removed useless WebFrameLoader part
-
- * WebView/WebFrame.m:
- (-[WebFramePrivate dealloc]):
-
-2006-10-06 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - moved more data from WebDataSource to WebDocumentLoadState
-
- * Loader/WebDocumentLoadState.h:
- * Loader/WebDocumentLoadState.m:
- (-[WebDocumentLoadState commitLoadWithData:]):
- (-[WebDocumentLoadState prepareForLoadStart]):
- (-[WebDocumentLoadState loadingStartedTime]):
- (-[WebDocumentLoadState setIsClientRedirect:]):
- (-[WebDocumentLoadState isClientRedirect]):
- (-[WebDocumentLoadState setPrimaryLoadComplete:]):
- (-[WebDocumentLoadState isLoadingInAPISense]):
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _setState:]):
- (-[WebFrameLoader _finishedLoading]):
- (-[WebFrameLoader documentLoadState:mainReceivedCompleteError:]):
- (-[WebFrameLoader prepareForLoadStart]):
- (-[WebFrameLoader subframeIsLoading]):
- * WebView/WebDataSource.m:
- (-[WebDataSource _fileWrapperForURL:]):
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _loadFromPageCache:]):
- (-[WebDataSource isLoading]):
- * WebView/WebDataSourceInternal.h:
- * WebView/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _opened]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
-
-2006-10-06 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Darin.
-
- http://bugs.webkit.org/show_bug.cgi?id=11183
- REGRESSION: Safari loads error pages unstyled
-
- * WebView/WebFrame.m:
- (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
- Use utf-8 encoding instead of the string's "fastest" encoding.
-
-2006-10-06 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam.
-
- - fixed the following bugs:
-
- http://bugs.webkit.org/show_bug.cgi?id=11136
- "REGRESSION: Safari snippet editor doesn't work"
- http://bugs.webkit.org/show_bug.cgi?id=11140
- "REGRESSION: view source window blank"
- http://bugs.webkit.org/show_bug.cgi?id=11146
- "REGRESSION: Instead of showing the error page, Safari opens its Resources folder in the Finder"
-
- Possibly more.
-
- * Loader/WebDocumentLoadState.h:
- * Loader/WebDocumentLoadState.m:
- (-[WebDocumentLoadState actualRequest]): New method.
- * WebView/WebDataSource.m:
- (-[WebDataSource _startLoading]): We need to make sure not to start loading the main
- resource with the fake external request for an applewebdata: request.
-
-2006-10-05 Adele Peterson <adele@apple.com>
-
- Reviewed by the letter 'B'.
-
- More build fixes.
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDynamicScrollBarsView.h:
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]):
- (-[WebDynamicScrollBarsView setAllowsScrolling:]):
- (-[WebDynamicScrollBarsView allowsScrolling]):
- (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
- (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
- (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
- (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
- (-[WebDynamicScrollBarsView horizontalScrollingMode]):
- (-[WebDynamicScrollBarsView verticalScrollingMode]):
- (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
- (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
- (-[WebDynamicScrollBarsView setScrollingMode:]):
- * WebView/WebView.m:
- (-[WebView setAlwaysShowVerticalScroller:]):
- (-[WebView alwaysShowVerticalScroller]):
- (-[WebView setAlwaysShowHorizontalScroller:]):
- (-[WebView alwaysShowHorizontalScroller]):
-
-2006-10-05 Vladimir Olexa <vladimir.olexa@gmail.com>
-
- Reviewed by Timothy.
-
- Bug: http://bugs.webkit.org/show_bug.cgi?id=9887
- Continuous spell checking now remembers user's setting. The change is applied globally,
- meaning, both TextArea and TextField are affected when either of them enables/disables
- spell checking.
-
- * WebView/WebPreferenceKeysPrivate.h: added a define for WebContinuousSpellCheckingEnabled
- * WebView/WebView.m:
- (-[WebViewPrivate init]): reads WebContinuousSpellCheckingEnabled from NSUserDefaults
- (-[WebView setContinuousSpellCheckingEnabled:]):
- (-[WebView isContinuousSpellCheckingEnabled]):
-
-2006-10-05 MorganL <morganl.webkit@yahoo.com>
-
- Reviewed by Darin.
-
- Fixes http://bugs.webkit.org/show_bug.cgi?id=11162
-
- * COM/WebFrame.cpp:
- (WebFrame::loadDataSource):
- (WebFrame::receivedResponse):
-
-2006-10-05 Peter Kasting <pkasting@google.com>
-
- Reviewed by Darin, landed by Adam.
-
- http://bugs.webkit.org/show_bug.cgi?id=11176
- Fix win32 build, adapt to Maciej's ResourceLoader changes.
-
- * COM/WebFrame.cpp:
- (WebFrame::loadDataSource):
-
-2006-10-05 Marvin Decker <marv.decker@gmail.com>
-
- Reviewed by Darin.
-
- http://bugs.webkit.org/show_bug.cgi?id=10989
- Provide a way for embedders to implement BrowserExtensionWin
-
- * COM/Interfaces/IWebUIDelegate.idl:
- * COM/WebFrame.cpp:
- (WebFrame::createNewWindow):
- * COM/WebFrame.h:
-
-2006-10-04 Mark Rowe <bdash@webkit.org>
-
- Reviewed by NOBODY (build fix).
-
- * WebView/WebView.m:
- (-[WebView scrollDOMRangeToVisible:]): Move scrollDOMRangeToVisible: into the correct category.
-
-2006-09-26 David Smith <catfish.man@gmail.com>
-
- Reviewed by Timothy.
-
- http://bugs.webkit.org/show_bug.cgi?id=3723
- Add -scrollDOMRangeToVisible:
-
- * WebView/WebView.m:
- (-[WebView scrollDOMRangeToVisible:]):
- * WebView/WebViewPrivate.h:
-
-2006-10-03 Graham Dennis <graham.dennis@gmail.com>
-
- Reviewed by Timothy.
-
- <http://bugs.webkit.org/show_bug.cgi?id=10338>
- When contentEditable, cursor doesn't change to hand
-
- Allow the behaviour of editable links to be specified by a WebPreference
- The preference WebKitEditableLinkBehavior has four options:
- - AlwaysLive: Safari 2.0 behaviour
- - OnlyLiveWithShiftKey: Firefox/WinIE behaviour (and prior WebKit-ToT behaviour)
- - LiveWhenNotFocused: Editable links are live only when their editable block is not
- focused, or when the shift key is pressed
- - DefaultBehavior: This is the same as OnlyLiveWithShiftKey.
-
- No layout tests, just a modification of a manual-test as it isn't possible to test
- this automatically.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
- (-[WebPreferences editableLinkBehavior]):
- (-[WebPreferences setEditableLinkBehavior:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.m:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
-
-2006-10-03 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by harrison
-
- execCommand("Cut"/"Copy"/"Paste") broken in editable subframes.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge issueCutCommand]): Issue the command on the WebHTMLView, not the WebView.
- (-[WebFrameBridge issueCopyCommand]): Ditto.
- (-[WebFrameBridge issuePasteCommand]): Ditto.
- (-[WebFrameBridge issuePasteAndMatchStyleCommand]): Ditto.
- (-[WebFrameBridge issueTransposeCommand]): Fixed formatting.
- (-[WebFrameBridge canPaste]): Ask the WebHTMLView, not the WebView.
- * WebView/WebHTMLView.m:
- (-[WebHTMLView copy:]): Moved to WebInternal
- (-[WebHTMLView cut:]): Ditto.
- (-[WebHTMLView paste:]): Ditto.
- (-[WebHTMLView pasteAsPlainText:]): Ditto.
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebView.m: Removed the now unused _canPaste.
- * WebView/WebViewInternal.h: Ditto.
-
-2006-10-03 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by geoff
-
- <rdar://problem/4763519> REGRESSION: Multipart/x-mixed-replace sub-resources fail to load
-
- * Loader/WebSubresourceLoader.m:
- (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
- Enable multipart/x-mixed-replace support on the request. This line was accidently removed during
- some loader refactoring.
-
-2006-10-02 Adam Roben <aroben@apple.com>
-
- Reviewed by Maciej.
-
- Add message paramter to WebView::mouse* methods to pass down to
- PlatformMouseEvent.
-
- * COM/WebView.cpp:
- (WebView::mouseMoved):
- (WebView::mouseDown):
- (WebView::mouseUp):
- (WebView::mouseDoubleClick):
- (WebViewWndProc):
- * COM/WebView.h:
-
-2006-10-02 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Alice.
-
- - take away direct knowledge of WebFrame from WebDataSource
-
- * Loader/WebDocumentLoadState.h:
- * Loader/WebDocumentLoadState.m:
- (-[WebDocumentLoadState setFrameLoader:]):
- (-[WebDocumentLoadState detachFromFrameLoader]):
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _setDocumentLoadState:]):
- (-[WebFrameLoader _setProvisionalDocumentLoadState:]):
- * WebView/WebDataSource.m:
- * WebView/WebDataSourceInternal.h:
- * WebView/WebDocumentLoadStateMac.m:
- (-[WebDocumentLoadStateMac detachFromFrameLoader]):
- * WebView/WebFrame.m:
- (-[WebFrame _loadDataSource:withLoadType:formState:]):
-
-2006-10-02 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - move a big slice of data and logic from WebDataSource to WebDocumentLoadState
-
- * Loader/WebDocumentLoadState.h:
- * Loader/WebDocumentLoadState.m:
- (-[WebDocumentLoadState initWithRequest:]):
- (-[WebDocumentLoadState dealloc]):
- (-[WebDocumentLoadState originalRequestCopy]):
- (-[WebDocumentLoadState request]):
- (-[WebDocumentLoadState replaceRequestURLForAnchorScrollWithURL:]):
- (-[WebDocumentLoadState setRequest:]):
- (-[WebDocumentLoadState setResponse:]):
- (-[WebDocumentLoadState isStopping]):
- (-[WebDocumentLoadState bridge]):
- (-[WebDocumentLoadState setMainDocumentError:]):
- (-[WebDocumentLoadState mainDocumentError]):
- (-[WebDocumentLoadState clearErrors]):
- (-[WebDocumentLoadState mainReceivedError:complete:]):
- (-[WebDocumentLoadState stopLoading]):
- (-[WebDocumentLoadState setupForReplace]):
- (-[WebDocumentLoadState commitIfReady]):
- (-[WebDocumentLoadState finishedLoading]):
- (-[WebDocumentLoadState setCommitted:]):
- (-[WebDocumentLoadState isCommitted]):
- (-[WebDocumentLoadState setLoading:]):
- (-[WebDocumentLoadState isLoading]):
- (-[WebDocumentLoadState commitLoadWithData:]):
- (-[WebDocumentLoadState doesProgressiveLoadWithMIMEType:]):
- (-[WebDocumentLoadState receivedData:]):
- (-[WebDocumentLoadState setupForReplaceByMIMEType:]):
- (-[WebDocumentLoadState updateLoading]):
- (-[WebDocumentLoadState response]):
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader activeDocumentLoadState]):
- (-[WebFrameLoader activeDataSource]):
- (-[WebFrameLoader _archivedSubresourceForURL:]):
- (-[WebFrameLoader addPlugInStreamLoader:]):
- (-[WebFrameLoader removePlugInStreamLoader:]):
- (-[WebFrameLoader addSubresourceLoader:]):
- (-[WebFrameLoader removeSubresourceLoader:]):
- (-[WebFrameLoader documentLoadState]):
- (-[WebFrameLoader provisionalDocumentLoadState]):
- (-[WebFrameLoader stopLoading]):
- (-[WebFrameLoader _originalRequest]):
- (-[WebFrameLoader _receivedData:]):
- (-[WebFrameLoader _setRequest:]):
- (-[WebFrameLoader bridge]):
- (-[WebFrameLoader _handleFallbackContent]):
- (-[WebFrameLoader _isStopping]):
- (-[WebFrameLoader _setupForReplaceByMIMEType:]):
- (-[WebFrameLoader _setResponse:]):
- (-[WebFrameLoader _mainReceivedError:complete:]):
- (-[WebFrameLoader _finishedLoading]):
- (-[WebFrameLoader didReceiveServerRedirectForProvisionalLoadForFrame]):
- (-[WebFrameLoader finishedLoadingDocumentLoadState:]):
- (-[WebFrameLoader commitProvisitionalLoad]):
- (-[WebFrameLoader committedLoadWithDocumentLoadState:data:]):
- (-[WebFrameLoader isReplacing]):
- (-[WebFrameLoader setReplacing]):
- (-[WebFrameLoader revertToProvisionalWithDocumentLoadState:]):
- (-[WebFrameLoader documentLoadState:setMainDocumentError:]):
- (-[WebFrameLoader documentLoadState:mainReceivedCompleteError:]):
- (-[WebFrameLoader finalSetupForReplaceWithDocumentLoadState:]):
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _prepareForLoadStart]):
- (-[WebDataSource _mainDocumentError]):
- (-[WebDataSource _finishedLoading]):
- (-[WebDataSource _receivedData:]):
- (-[WebDataSource _setMainDocumentError:]):
- (-[WebDataSource _clearUnarchivingState]):
- (-[WebDataSource _revertToProvisionalState]):
- (-[WebDataSource _receivedMainResourceError:complete:]):
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _loadFromPageCache:]):
- (-[WebDataSource _bridge]):
- (-[WebDataSource _setPrimaryLoadComplete:]):
- (-[WebDataSource _URLForHistory]):
- (-[WebDataSource _setTitle:]):
- (-[WebDataSource _initWithDocumentLoadState:]):
- (-[WebDataSource request]):
- (-[WebDataSource response]):
- (-[WebDataSource isLoading]):
- (-[WebDataSource webArchive]):
- * WebView/WebDataSourceInternal.h:
- * WebView/WebDocumentLoadStateMac.m:
- (-[WebDocumentLoadStateMac initWithRequest:]):
- * WebView/WebFrame.m:
- (-[WebFrame _createItem:]):
- (-[WebFrame _receivedMainResourceError:]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _commitProvisionalLoad:]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]):
- (-[WebFrame _didReceiveServerRedirectForProvisionalLoadForFrame]):
- (-[WebFrame _provisionalLoadStarted]):
- * WebView/WebFrameInternal.h:
-
-2006-10-02 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by john
-
- <rdar://problem/4757583>
- REGRESSION: tabbing into page focuses wrong control on 2nd pass
- <rdar://problem/4757594>
- REGRESSION: Form field is left with secondary selection after tabbing out of WebView
-
- * WebView/WebHTMLView.m:
- (-[NSArray maintainsInactiveSelection]): Replace code that I removed in error in the patch
- for 9642. Only leave inactive editable selections in the WebHTMLView if the nextResponder
- is in the same WebView.
-
-2006-10-02 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - remove webFrame field from WebDataSourcePrivate, it can get it from WebDocumentLoadState now
-
- * Loader/WebDocumentLoadState.h:
- * Loader/WebDocumentLoadState.m:
- (-[WebDocumentLoadState frameLoader]):
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _revertToProvisionalState]):
- (-[WebDataSource _setupForReplaceByMIMEType:]):
- (-[WebDataSource _updateLoading]):
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _setWebFrame:]):
- (-[WebDataSource _defersCallbacksChanged]):
- (-[WebDataSource _stopLoading]):
- (-[WebDataSource _webView]):
- (-[WebDataSource _stopLoadingWithError:]):
- (-[WebDataSource _setPrimaryLoadComplete:]):
- (-[WebDataSource dealloc]):
- (-[WebDataSource webFrame]):
- (-[WebDataSource isLoading]):
-
-2006-10-02 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - fix crash on back/forward - reattach WebDocumentLoadState to data source when needed
-
- * WebView/WebDataSource.m:
- (-[WebDataSource _setWebFrame:]):
- (-[WebDataSource _initWithDocumentLoadState:]):
- * WebView/WebDataSourceInternal.h:
-
-2006-10-02 Maciej Stachowiak <mjs@apple.com>
-
- Build fix, not reviewed.
-
- - Added missing files to fix build.
-
- * WebView/WebDocumentLoadStateMac.h: Added.
- * WebView/WebDocumentLoadStateMac.m: Added.
- (-[WebDocumentLoadStateMac initWithRequest:]):
- (-[WebDocumentLoadStateMac dealloc]):
- (-[WebDocumentLoadStateMac setDataSource:]):
- (-[WebDocumentLoadStateMac dataSource]):
- (-[WebDocumentLoadStateMac setFrameLoader:]):
-
-2006-10-01 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Brady and Oliver.
-
- - move things around so that WebDataSource and WebDocumentLoadState know about each other in
- the right way. This lines things up to move nearly all functionality down to WebDocumentLoadState.
-
- * Loader/WebDocumentLoadState.h:
- * Loader/WebDocumentLoadState.m:
- (-[WebDocumentLoadState initWithRequest:]):
- (-[WebDocumentLoadState dealloc]):
- (-[WebDocumentLoadState originalRequest]):
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader dealloc]):
- (-[WebFrameLoader addSubresourceLoader:]):
- (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
- (-[WebFrameLoader dataSource]):
- (-[WebFrameLoader _setDocumentLoadState:]):
- (-[WebFrameLoader policyDataSource]):
- (-[WebFrameLoader _setPolicyDocumentLoadState:]):
- (-[WebFrameLoader clearDataSource]):
- (-[WebFrameLoader provisionalDataSource]):
- (-[WebFrameLoader _setProvisionalDocumentLoadState:]):
- (-[WebFrameLoader _clearProvisionalDataSource]):
- (-[WebFrameLoader _setState:]):
- (-[WebFrameLoader clearProvisionalLoad]):
- (-[WebFrameLoader commitProvisionalLoad]):
- (-[WebFrameLoader stopLoading]):
- (-[WebFrameLoader startLoading]):
- (-[WebFrameLoader startProvisionalLoad:]):
- (-[WebFrameLoader setupForReplace]):
- (-[WebFrameLoader activeDocumentLoadState]):
- (-[WebFrameLoader activeDataSource]):
- (-[WebFrameLoader _loadRequest:archive:]):
- (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
- (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
- (-[WebFrameLoader reload]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _setWebFrame:]):
- (-[WebDataSource _documentLoadState]):
- (-[WebDataSource _initWithDocumentLoadState:]):
- (-[WebDataSource initWithRequest:]):
- (-[WebDataSource initialRequest]):
- (-[WebDataSource unreachableURL]):
- * WebView/WebDataSourceInternal.h:
- * WebView/WebFrame.m:
- (-[WebFramePrivate dealloc]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrame _loadDataSource:withLoadType:formState:]):
- (-[WebFrame _policyDataSource]):
- (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
- (-[WebFrame _dataSourceForDocumentLoadState:]):
- (-[WebFrame _createDocumentLoadStateWithRequest:]):
- * WebView/WebFrameInternal.h:
-
-2006-09-29 David Hyatt <hyatt@apple.com>
-
- Change the default minimum font size pref to 0 in order to allow
- font-size:0 to work.
-
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
-
-2006-09-28 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Maciej.
-
- Switch the inspector over to use border-image with styled buttons and selects.
-
- * WebInspector/WebInspector.m:
- (-[NSWindow window]):
- (-[NSWindow setWebFrame:]):
- (-[WebInspector _updateRoot]):
- * WebInspector/webInspector/Images/button.png: Added.
- * WebInspector/webInspector/Images/buttonDivider.png: Added.
- * WebInspector/webInspector/Images/buttonPressed.png: Added.
- * WebInspector/webInspector/Images/popup.png: Added.
- * WebInspector/webInspector/Images/popupFill.png: Removed.
- * WebInspector/webInspector/Images/popupFillPressed.png: Removed.
- * WebInspector/webInspector/Images/popupLeft.png: Removed.
- * WebInspector/webInspector/Images/popupLeftPressed.png: Removed.
- * WebInspector/webInspector/Images/popupPressed.png: Added.
- * WebInspector/webInspector/Images/popupRight.png: Removed.
- * WebInspector/webInspector/Images/popupRightPressed.png: Removed.
- * WebInspector/webInspector/Images/squareButtonRight.png: Removed.
- * WebInspector/webInspector/Images/squareButtonRightPressed.png: Removed.
- * WebInspector/webInspector/inspector.css:
- * WebInspector/webInspector/inspector.html:
- * WebInspector/webInspector/inspector.js:
-
-2006-09-28 Alice Liu <alice.liu@apple.com>
-
- fixing the windows build
-
- * COM/WebView.cpp:
- (WebView::mouseMoved):
- (WebView::mouseDown):
- (WebView::mouseUp):
- (WebView::mouseDoubleClick):
-
-2006-09-27 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by thatcher
-
- <rdar://problem/4044271>
- Writing Direction menu doesn't reflect the current writing direction (9773)
-
- * English.lproj/Localizable.strings: Added "Right to Left" and "Left to Right"
- * WebView/WebHTMLView.m:
- (-[NSArray validateUserInterfaceItem:]): Validate menu items that perform
- toggleBaseWritingDirection and changeBaseWritingDirection.
- Disable the menu item that changes the writing direction to NSWritingDirectionNautral
- because NSWritingDirectionNatural's behavior can't be implemented with CSS.
- Take control of the title of the menu item that performs toggleBaseWritingDirection:
- instead of checking/unchecking it, otherwise we wouldn't know what a check means.
- (-[NSArray changeBaseWritingDirection:]): ASSERT that the requested writing
- direction is not NSWritingDirectionNatural, since we've disabled the
- menu item that performs it.
-
-2006-09-27 MorganL <morganl.webkit@yahoo.com>
-
- Reviewed by Maciej, landed by Brady
-
- Update URL request associated with provisional data source on redirect.
- Notify IWebFrameLoadDelegate of redirects for the provisional load.
- Notify IWebFrameLoadDelegate of a provisional load being commited.
-
- * COM/WebDataSource.cpp:
- (WebDataSource::replaceRequest):
- * COM/WebDataSource.h:
- * COM/WebFrame.cpp:
- (WebFrame::receivedRedirect):
- (WebFrame::receivedResponse):
- (WebFrame::receivedData):
-
-2006-09-26 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- * WebView/WebHTMLViewPrivate.h:
- * WebView/WebHTMLView.m:
- (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
- Added limit parameter, passed over the bridge. Stop the search if it hits limit.
-
- * WebView/WebViewPrivate.h:
- * WebView/WebView.m:
- (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
- Added limit parameter, passed to WebHTMLView.
-
-2006-09-26 David Harrison <harrison@apple.com>
-
- Reviewed by John and TimH.
-
- <rdar://problem/4743256> Seed: Ctrl-Y key binding does nothing when kill ring is empty
-
- Use deleteBackward: when the killring string is empty. Was always using insertText:,
- but that ends up early-returning if the string to insert is empty.
-
- * WebView/WebHTMLView.m:
- (-[NSArray yank:]):
- (-[NSArray yankAndSelect:]):
-
-2006-09-25 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Brady.
-
- Use the non-deprecated method names for getComputedStyle, setEnd and setStart.
-
- * WebInspector/WebInspector.m:
- (-[WebInspector _highlightNode:]):
- * WebView/WebHTMLView.m:
- (unionDOMRanges):
- (-[WebHTMLView _selectRangeInMarkedText:]):
- (-[WebTextCompleteController doCompletion]):
- * WebView/WebView.m:
- (-[WebView computedStyleForElement:pseudoElement:]):
-
-2006-09-22 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Pass all headers through unifdef to filter out BUILDING_ON_TIGER blocks
- if MACOSX_DEPLOYMENT_TARGET is 10.4.
-
- * MigrateHeaders.make:
-
-2006-09-20 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by john
-
- <http://bugs.webkit.org/show_bug.cgi?id=7165>
- TinyMCE: Dragging & dropping content always leaves a copy when editing inside a subframe
-
- The top level WebHTMLView is responsible for performing dragging operations, but
- the inner view, the view that holds the drag caret, should be consulted to determine
- if the drag is a move drag.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebHTMLView.m:
- (-[NSArray dragImage:at:offset:event:pasteboard:source:slideBack:]): Don't set initatedDrag here, because
- it's only the top level WebHTMLView that performs this operation.
- (-[WebHTMLView _setInitiatedDrag:]): Added.
- (-[WebHTMLView _initiatedDrag]): Ditto.
- (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Ask the innerView if it initiated the drag,
- not the top level view.
- (-[WebHTMLView _isMoveDrag]): The top level view asks the innerView if it should perform
- a move drag, so don't ASSERT _isTopHTMLView.
- (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ask the innerView if _isMoveDrag.
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto.
- * WebView/WebHTMLViewInternal.h: Added two private SPI so that
- the top level WebHTMLView can set and get the initiatedDrag BOOL.
-
-=== Safari-521.27 ===
-
-2006-09-20 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Omernick
-
- Fixing part of a crash Tim O showed me. [WebIconDatabase init] should finish
- gracefully even if we can't open the database
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase init]):
-
-2006-09-20 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Tim O.
-
- <rdar://problem/4741392> Develop a system to find what version of WebKit an app was linked with
-
- * Misc/WebKitVersionChecks.h: Added.
- * Misc/WebKitVersionChecks.m: Added.
- (WebKitLinkedOnOrAfter): Added.
- (WebKitLinkTimeVersion): Added.
- (WebKitRunTimeVersion): Added.
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-09-20 Tim Omernick <timo@apple.com>
-
- Reviewed by Darin.
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase init]):
- Fixed a typo.
-
-2006-09-20 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- Preparing to make the WebIconDatabase disabled by default - this patch tells the bridge whether its enabled or not
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase init]):
-
-2006-09-19 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sarge Decker
-
- <rdar://problem/4739892> and <rdar://problem/4729797>
- - WebCore::IconDatabase needs to have and respect an enabled() flag
- - Mail on ToT WebKit crashes in IconDatabase code when mailing a page from Safari
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase init]): If preference says icons are disabled, tell the bridge
- (-[WebIconDatabase _isEnabled]): Ask the bridge if the database is enabled
-
-2006-09-19 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Tim O.
-
- http://bugs.webkit.org/show_bug.cgi?id=10661
- REGRESSION: CFM plug-ins (Shockwave, SVG) are not loaded
-
- * Plugins/WebBasePluginPackage.m:
- (-[WebBasePluginPackage initWithPath:]): On 32-bit PowerPC, don't bail out if
- the bundle is nil - it can be a CFM plugin.
-
-2006-09-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- Implement a bridge method so WebCore can find the reload type of a frame load
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge isLoadTypeReload]):
-
-2006-09-18 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Tim H.
-
- Patch for http://bugs.webkit.org/show_bug.cgi?id=10903
- Yet Another Objective-C Bindings Patch
-
- * MigrateHeaders.make:
-
-2006-09-17 David Harrison <harrison@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4494340> REGRESSION: Making the font size bigger/smaller in an HTML message doesn't affect the body until you reopen it
-
- Problem was the public API -[WebView setTextSizeMultiplier] did not notify anyone that the value changed.
-
- * WebView/WebDocumentInternal.h:
- Add _textSizeMultiplierChanged to the _WebDocumentTextSizing protocol.
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _textSizeMultiplierChanged]):
- Send [self _updateTextSizeMultiplier].
-
- * WebView/WebPDFView.m:
- (-[WebPDFView _textSizeMultiplierChanged]):
- ASSERT_NOT_REACHED() because WebPDFView does not track the common multiplier.
-
- * WebView/WebView.m:
- (-[WebView setTextSizeMultiplier:]):
- Send [self _notifyTextSizeMultiplierChanged];
-
- (-[WebView _performTextSizingSelector:withObject:onTrackingDocs:selForNonTrackingDocs:newScaleFactor:]):
- Alter the _textSizeMultiplier directly so that notification is not sent.
- Minor formatting.
-
- (-[WebView _notifyTextSizeMultiplierChanged]):
- New. Send _textSizeMultiplierChanged to all document views that track the common multiplier.
-
-2006-09-16 Brady Eidson <beidson@apple.com>
-
- Reviewed by Hyatt
-
- WebIconLoader is dead, long live WebCore::IconLoader
- (code prune)
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader dealloc]):
- (-[WebFrameLoader commitProvisionalLoad]):
- * Loader/WebIconLoader.h: Removed.
- * Loader/WebIconLoader.m: Removed.
- * Misc/WebIconDatabase.h:
- * Misc/WebIconDatabase.m:
- * Misc/WebIconDatabasePrivate.h:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge notifyIconChanged:]):
- * WebCoreSupport/WebIconDatabaseBridge.h:
- * WebCoreSupport/WebIconDatabaseBridge.m:
- (-[WebIconDatabaseBridge _init]):
- (-[WebIconDatabaseBridge _setIconData:forIconURL:]):
- (-[WebIconDatabaseBridge _setHaveNoIconForIconURL:]):
- * WebKit.exp:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _stopLoading]):
- (-[WebDataSource _setPrimaryLoadComplete:]):
- * WebView/WebDataSourceInternal.h:
-
-2006-09-16 Mark Rowe <opendarwin.org@bdash.net.nz>
-
- Reviewed by Anders.
-
- http://bugs.webkit.org/show_bug.cgi?id=10887
- Fix build error
-
- * MigrateHeaders.make: Remove reference to DOMEventPrivate.h.
-
-2006-09-15 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Brady.
-
- Make new style ObjC methods public API.
-
- * MigrateHeaders.make:
-
-2006-09-15 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Tim H.
-
- Patch for http://bugs.webkit.org/show_bug.cgi?id=10870
- Auto-generate DOMNode for the Objective-C bindings
-
- * MigrateHeaders.make:
-
-2006-09-15 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Justin.
-
- Call the bridge directly for alter selection calls. All of this logic is now
- in WebCore's SelectionController.
-
- * WebView/WebHTMLView.m:
- (-[NSArray moveBackward:]):
- (-[NSArray moveBackwardAndModifySelection:]):
- (-[NSArray moveDown:]):
- (-[NSArray moveDownAndModifySelection:]):
- (-[NSArray moveForward:]):
- (-[NSArray moveForwardAndModifySelection:]):
- (-[NSArray moveLeft:]):
- (-[NSArray moveLeftAndModifySelection:]):
- (-[NSArray moveRight:]):
- (-[NSArray moveRightAndModifySelection:]):
- (-[NSArray moveToBeginningOfDocument:]):
- (-[NSArray moveToBeginningOfDocumentAndModifySelection:]):
- (-[NSArray moveToBeginningOfSentence:]):
- (-[NSArray moveToBeginningOfSentenceAndModifySelection:]):
- (-[NSArray moveToBeginningOfLine:]):
- (-[NSArray moveToBeginningOfLineAndModifySelection:]):
- (-[NSArray moveToBeginningOfParagraph:]):
- (-[NSArray moveToBeginningOfParagraphAndModifySelection:]):
- (-[NSArray moveToEndOfDocument:]):
- (-[NSArray moveToEndOfDocumentAndModifySelection:]):
- (-[NSArray moveToEndOfSentence:]):
- (-[NSArray moveToEndOfSentenceAndModifySelection:]):
- (-[NSArray moveToEndOfLine:]):
- (-[NSArray moveToEndOfLineAndModifySelection:]):
- (-[NSArray moveToEndOfParagraph:]):
- (-[NSArray moveToEndOfParagraphAndModifySelection:]):
- (-[NSArray moveParagraphBackwardAndModifySelection:]):
- (-[NSArray moveParagraphForwardAndModifySelection:]):
- (-[NSArray moveUp:]):
- (-[NSArray moveUpAndModifySelection:]):
- (-[NSArray moveWordBackward:]):
- (-[NSArray moveWordBackwardAndModifySelection:]):
- (-[NSArray moveWordForward:]):
- (-[NSArray moveWordForwardAndModifySelection:]):
- (-[NSArray moveWordLeft:]):
- (-[NSArray moveWordLeftAndModifySelection:]):
- (-[NSArray moveWordRight:]):
- (-[NSArray moveWordRightAndModifySelection:]):
- (-[NSArray pageUp:]):
- (-[NSArray pageDown:]):
- (-[NSArray pageUpAndModifySelection:]):
- (-[NSArray pageDownAndModifySelection:]):
-
-2006-09-15 Adam Roben <aroben@apple.com>
-
- Reviewed by eseidel.
-
- Fixes http://bugs.webkit.org/show_bug.cgi?id=10876
- containsItemForURLUnicode uses matchLetter instead of
- matchUnicodeLetter
-
- Small fixes for _WebCoreHistoryProvider.
-
- * History/WebHistory.m: Consistently use BUFFER_SIZE #define
- (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]):
- (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]):
- Replace incorrect call to matchLetter to matchUnicodeLetter
-
-2006-09-13 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- Add infrastructure to support icon loads taking place in WebCore
- Will remove WebKit icon loaders in a later patch
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge notifyIconChanged:]):
- (-[WebFrameBridge originalRequestURL]):
- - Nuked two old, obsolete methods
- - Added bridge for notifying of an icon change
- - Added bridge for getting the "original request URL" which is still needed
- until that info is available in the WebCore loaders
-
- * WebView/WebDataSource.m:
- (-[WebDataSource _loadIcon]):
- - Empty body just for now, as it still gets called - next patch will prune all the old impl out
-
-2006-09-13 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Tim O.
-
- <rdar://problem/4726416> obsolete confusing "ADVISORY NOTE" comment in WebHistory.h
-
- Removed the "ADVISORY NOTE: This method may change for the 1.0 SDK" comments.
-
- * History/WebHistory.h:
-
-=== Safari-521.26 ===
-
-2006-09-11 MorganL <morlmor@yahoo.com>
-
- Reviewed/landed by aroben.
-
- Fixes http://bugs.webkit.org/show_bug.cgi?id=10765
- Windows build busted due to std::copy usage in Vector.h
-
- * WebKit.vcproj/WebKit.vcproj: Define _SCL_SECURE_NO_DEPRECATE to get
- rid of deprecation warnings on std::copy
-
-2006-09-11 Brady Eidson <beidson@apple.com>
-
- Despite the fact that some people built okay without this change, it sure was biting me,
- probably because I just wiped my build directory for a fresh build -
- Today's earlier removal of DOMList.h needed to occur in MigrateHeaders.make, as well
-
- * MigrateHeaders.make: removed DOMList.h
-
-2006-09-10 Darin Adler <darin@apple.com>
-
- Reviewed by Brady.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=10547
- REGRESSION: Links that should open in a new window open in the same window,
- while opening another blank window
-
- * WebView/WebFrame.m:
- (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
- Changed a mistaken "self" to "frame", which was the cause of the bug. Also
- fixed the method so that it won't crash if createWebViewWithRequest does
- something that has a side effect of releasing this WebView or this frame
- by retaining "self" and "frame" as needed. Also fixed a problem where the
- code to set "opener" was backwards, and would set the opener of the old
- frame to point to the new frame instead of vice versa.
-
-2006-09-09 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Eric.
-
- Patch for http://bugs.webkit.org/show_bug.cgi?id=10795
- Auto-generate the Objective-C DOM XPath bindings
-
- * MigrateHeaders.make:
-
-2006-09-09 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Eric.
-
- Patch for http://bugs.webkit.org/show_bug.cgi?id=10791
- Even More Objective-C DOM auto-generation cleanup
-
- * MigrateHeaders.make:
-
-2006-09-08 Tim Omernick <timo@apple.com>
-
- Reviewed by Brady Eidson.
-
- Rolled out Maciej's code cleanup from 8/22. It turns out that keeping the "loading" flag
- is a useful optimization, as it avoids many Objective-C method calls while polling resources
- for their load state.
-
- This fixes a 3-4% PLT performance regression (as measured on my MacBook Pro).
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader addPlugInStreamLoader:]):
- (-[WebFrameLoader removePlugInStreamLoader:]):
- (-[WebFrameLoader addSubresourceLoader:]):
- (-[WebFrameLoader removeSubresourceLoader:]):
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _prepareForLoadStart]):
- (-[WebDataSource _setLoading:]):
- (-[WebDataSource _updateLoading]):
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _stopLoading]):
- (-[WebDataSource _setPrimaryLoadComplete:]):
- (-[WebDataSource isLoading]):
- * WebView/WebDataSourceInternal.h:
-
-2006-09-07 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Darin and Tim H.
-
- Patch for http://bugs.webkit.org/show_bug.cgi?id=10774
- Auto-generate the Objective-C DOM Traversal bindings
-
- * MigrateHeaders.make:
-
-2006-09-07 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Darin.
-
- Patch for http://bugs.webkit.org/show_bug.cgi?id=10766
- Auto-generate the Objective-C DOM Events bindings
-
- * MigrateHeaders.make:
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-09-06 Alexey Proskuryakov <ap@nypop.com>
-
- * MigrateHeaders.make: Fixed a double slash in
- "$(PRIVATE_HEADERS_DIR)//DOMCharacterDataPrivate.h" (this was reported
- to cause a build failure under certain circumstances).
-
-2006-09-05 MorganL <morlmor@yahoocom>
-
- Reviewed/landed by aroben.
-
- Fixes bug 10743: Windows build is busted.
-
- * COM/WebView.cpp:
- (WebView::keyPress):
-
-2006-09-05 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Drastically simplified the makefile for migrating headers from
- WebCore and JavaScriptCore. The old version was always copying the files.
-
- * MigrateHeaders.make:
-
-2006-09-05 Darin Adler <darin@apple.com>
-
- Reviewed by Alexey.
-
- - WebKit side of changes to encoding
-
- * WebView/WebHTMLRepresentation.m: (-[WebHTMLRepresentation documentSource]):
- Changed to call new -[WebCoreFrameBridge stringWithData:] instead of the calling
- the old methods that used a CFStringEncoding: -[WebCoreFrameBridge textEncoding]
- and +[WebCoreFrameBridge stringWithData:textEncoding:].
-
- * WebView/WebResource.m: (-[WebResource _stringValue]): Removed special case for
- nil encoding name. The bridge itself now has the rule that "nil encoding name
- means Latin-1", so we don't need to check for nil.
-
- * WebView/WebFrame.m: (-[WebFrame _checkLoadComplete]): Retain the frame until
- we get the parent frame while walking up parent frames, because it's possible
- for _checkLoadCompleteForThisFrame to release the last reference to the frame.
- (Not reviewed; needed to run performance tests successfully.)
-
-2006-09-05 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Tim O.
-
- <rdar://problem/4682225> conflicting typedefs in Netscape plug-in headers
-
- * Plugins/npfunctions.h: fix the return type for NPN_IntFromIdentifierProcPtr to be int32_t
-
-2006-09-04 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Bug 10714: ObjC autogeneration needs safe-guards against easily modifying the public API
- http://bugs.webkit.org/show_bug.cgi?id=10714
-
- - Added the new private DOM headers.
- - Factored out the common commands into variables.
- - Made WebDashboardRegion.h private again.
- - Rename DOMDOMImplementation.h to DOMImplementation.h when files
- are migrated. Also fixes up #imports.
-
- * MigrateHeaders.make:
-
-2006-09-03 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Darin and Tim H.
-
- - patch for http://bugs.webkit.org/show_bug.cgi?id=10711
- Auto-generate the Objective-C DOM Stylesheet bindings
-
- * MigrateHeaders.make:
-
-2006-09-02 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Tim H.
-
- - patch for http://bugs.webkit.org/show_bug.cgi?id=10684
- Auto-generate the Objective-C DOM CSS bindings
-
- * MigrateHeaders.make:
-
-2006-09-01 MorganL <morlmor@yahoo.com>
-
- Reviewed by Darin. Updated/landed by Adam.
-
- Fixes http://bugs.webkit.org/show_bug.cgi?id=10553
- Windows build fixes
-
- * COM/WebFrame.cpp:
- (WebFrame::initWithName):
-
-2006-09-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- A "never should be reached" method was reached - lets not release the shared database bridge, esp
- since we never retain it!
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase _applicationWillTerminate:]): Don't release the bridge
-
-2006-09-01 Darin Adler <darin@apple.com>
-
- Reviewed by Brady.
-
- - a few small tweaks to the icon database bridge
-
- * Misc/WebIconDatabase.m: (-[WebIconDatabase init]): Updated for name change.
-
- * WebCoreSupport/WebIconDatabaseBridge.h: Removed unneeded declarations.
- * WebCoreSupport/WebIconDatabaseBridge.m:
- (-[WebIconDatabaseBridge init]): Added. Always returns nil since you're not supposed
- to allocate one of these.
- (-[WebIconDatabaseBridge _init]): Renamed from init. Used internally to make the
- shared instance. Added the "self = [super init]" idiom even though it's not important
- in this case just to be consistent.
- (-[WebIconDatabaseBridge releaseCachedLoaderForIconURL:]): Moved this up in the file
- so it can be called without declaring it in the header.
- (+[WebIconDatabaseBridge sharedInstance]): Renamed. Calls the new _init. Also use
- CFRetain for compatibility.
- (-[WebIconDatabaseBridge dealloc]): Emptied this out and made it just assert (false).
- (-[WebIconDatabaseBridge finalize]): Added and made it assert (false) too.
-
-2006-09-01 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Adele.
-
- Bug 10677: Omit "-webkit-text-security: none;" from the computed style list
- http://bugs.webkit.org/show_bug.cgi?id=10677
-
- * WebInspector/webInspector/inspector.js:
-
-2006-08-31 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Tim H.
-
- - patch for http://bugs.webkit.org/show_bug.cgi?id=10669
- Auto-generate the remaining Objective-C HTML DOM bindings
-
- * MigrateHeaders.make:
-
-2006-08-31 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10666
- Password: Disallow Spelling, Font, Speech, and Writing Direction context menu
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
- Check that the selection isn't in a password field before adding these items to the default editing context menu.
- Search In Google, Search In Spotlight, Look up in Dictionary, Spelling, Font, Speech, Writing Direction
- * WebView/WebHTMLView.m: (-[WebHTMLView _isSelectionInPasswordField]): Added.
- * WebView/WebHTMLViewPrivate.h:
-
-2006-08-31 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Tim H.
-
- - patch for http://bugs.webkit.org/show_bug.cgi?id=10653
- Auto-generate another 20 Objective-C DOM HTML bindings
-
- * MigrateHeaders.make:
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-08-31 Adele Peterson <adele@apple.com>
-
- Reviewed by John Sullivan.
-
- Removed wkSecureEventInput and wkSetSecureEventInput, since this can be done with API.
-
- * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
-
-2006-08-31 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick
-
- - fixed <rdar://problem/4711200> Loading history would be faster if it bypassed
- NSURL API for local files
-
- * History/WebHistory.m:
- (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
- Load file URLs using [NSDictionary dictionaryWithContentsOfFile:]. I also cleaned up some minor
- style issues in this method, and I removed the support for old NSArray-style history files (which we
- stopped using before Safari 1.0).
-
-2006-08-30 Adele Peterson <adele@apple.com>
-
- Reviewed by Hyatt.
-
- WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10575
- Enable secure input mode for new password fields
-
- * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
-
-2006-08-30 Brady Eidson <beidson@apple.com>
-
- Reviewed by John
-
- <rdar://problem/4707718> Change behavior so if the WebCore::IconDatabase can't open, WebKit releases the bridge and
- continues on as if the IconDatabase is disabled.
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase init]): Release the bridge on failure to open
- * WebCoreSupport/WebIconDatabaseBridge.m:
- (+[WebIconDatabaseBridge sharedBridgeInstance]): Moved static shared instance out as a global
- (-[WebIconDatabaseBridge dealloc]): Clear pointer to the shared instance
-
-2006-08-30 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Simplify the header copies from WebCore and JavaScriptCore.
- Headers that need to be migrated from the other projects need
- to be added to MigrateHeaders.make.
-
- * MigrateHeaders.make: Added.
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-08-30 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Tim H.
-
- - patch for http://bugs.webkit.org/show_bug.cgi?id=10640
- Auto-generate 10 more Objective-C DOM HTML bindings
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-08-30 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- WebKit part of fix for:
- http://bugs.webkit.org/show_bug.cgi?id=10576
- Disallow copy from new password fields
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _canCopy]): Now also calls across the bridge to ask if it mayCopy.
- (-[WebHTMLView _canCut]): Calls _canCopy now.
- (-[NSArray validateUserInterfaceItem:]): Calls _canCut when validating the "Cut" menu item.
- This used to call _canDelete (which used to be the same as _canCut), but now _canCut also checks _canCopy.
-
-2006-08-30 Karl Adam <karladam@yahoo-inc.com>
-
- Reviewed by Eric and Tim H.
-
- Bug 10634: -webView:dragDestinationActionMaskForDraggingInfo: is ignored
- http://bugs.webkit.org/show_bug.cgi?id=10634
-
- Remove the check for canShowFile: from _web_bestURL: since
- it shouldn't be concerned with whether or not the view
- can show the URL, merely return the most appropriate URL.
-
- * Misc/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_bestURL]):
- * Misc/WebNSViewExtras.m:
- (-[NSView _web_dragOperationForDraggingInfo:]):
-
-2006-08-29 Brady Eidson <beidson@apple.com>
-
- Reviewed by Kevin Decker (Sarge)
-
- <rdar://problem/4678414> - New IconDB needs to delete icons when asked
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase removeAllIcons]): Call through to WebCore to remove icons, then send notification
-
-2006-08-29 Brady Eidson <beidson@apple.com>
-
- Reviewed by Alice
-
- Added a truth value check for to setIconURL:forURL so WebKit can avoid sending a notification
- This is a win on the iBench
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase _setIconURL:forURL:]):
-
-2006-08-29 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatchers rubber stamp
-
- Removed some accidentally left-in console spew during the conversion to the new DB
-
- * Misc/WebIconDatabase.m:
- (objectFromPathForKey): Nuked some NSLogs
-
-2006-08-29 Tim Omernick <timo@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/4688618> REGRESSION(10.4.7-9A241): JMol java applet fails in Safari not Firefox
-
- No layout test for now because Java doesn't work in DumpRenderTree.
-
- * Plugins/WebPluginDatabase.m:
- (-[WebPluginDatabase refresh]):
- Add each plug-in MIME type to registeredMIMETypes, even if we don't register a document view class for the
- MIME type. This fixes -[WebPluginDatabase isMIMETypeRegistered:] and thus fallback content for Java applets
- (we were always rendering fallback content, if any, for Java applets).
-
-2006-08-29 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Tim H.
-
- - patch for http://bugs.webkit.org/show_bug.cgi?id=10628
- Auto-generate the remaining Objective-C DOM bindings
-
- Auto-generates DOMHTMLCollection, DOMHTMLElement, DOMHTMLFormElement,
- and DOMHTMLOptionsCollection.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-08-28 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- Short of a few small snippets that still need to be pushed to WebCore, this
- is a final prune of WebIconDatabase. WebFileDatabase and WebLRUFileList are gone
- and the small remaining snippets of WebFileDatabase code that were still important
- are now in static functions in WebIconDatabase.m
-
- * Loader/WebIconLoader.m:
- (-[WebIconLoader didFinishLoading]): Removed the flag
- * Misc/WebFileDatabase.h: Removed.
- * Misc/WebFileDatabase.m: Removed.
- * Misc/WebIconDatabase.m:
- (+[WebIconDatabase sharedIconDatabase]):
- (-[WebIconDatabase init]):
- (-[WebIconDatabase iconForURL:withSize:cache:]):
- (-[WebIconDatabase iconURLForURL:]):
- (-[WebIconDatabase defaultIconWithSize:]):
- (-[WebIconDatabase retainIconForURL:]):
- (-[WebIconDatabase releaseIconForURL:]):
- (-[WebIconDatabase _isEnabled]):
- (-[WebIconDatabase _setIconData:forIconURL:]):
- (-[WebIconDatabase _setHaveNoIconForIconURL:]):
- (-[WebIconDatabase _setIconURL:forURL:]):
- (-[WebIconDatabase _hasEntryForIconURL:]):
- (-[WebIconDatabase _applicationWillTerminate:]):
- (-[WebIconDatabase _resetCachedWebPreferences:]):
- (uniqueFilePathForKey): Added from WebFileDatabase
- (objectFromPathForKey): Added from WebFileDatabase
- (iconDataFromPathForIconURL):
- (-[WebIconDatabase _convertToWebCoreFormat]): Make use of static functions and local variables
- instead of using WebFileDatabase and WebIconDatabase variables that are now obsolete
- * Misc/WebIconDatabasePrivate.h: Removed alot of obsoleted members
- * Misc/WebLRUFileList.h: Removed.
- * Misc/WebLRUFileList.m: Removed.
- * WebKit.xcodeproj/project.pbxproj: Deleted 4 files
- * WebKitPrefix.h: Removed ICONDEBUG
-
-2006-08-28 Tim Omernick <timo@apple.com>
-
- Reviewed by Darin Adler.
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView createPluginScriptableObject]):
- Removed a bogus typecast.
-
-2006-08-28 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- Part of <rdar://problem/4481553> NetscapeMoviePlugIn example code scripting doesn't work in Firefox (4319)
- <http://bugs.webkit.org/show_bug.cgi?id=4319>: NetscapeMoviePlugIn example code scripting doesn't work
- in Firefox
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView createPluginScriptableObject]):
- Renamed this method (see corresponding WebCore ChangeLog entry for an explanation).
- Style changes.
-
-2006-08-28 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher's rubberstamp
-
- Rolled out my last change (16070 - pruning WebFileDatabase code) as it caused a difficult-to-track down
- failure in layout tests on a release build.
-
- * Misc/WebFileDatabase.h:
- * Misc/WebFileDatabase.m:
- (+[WebFileDatabaseOp opWithCode:key:object:]):
- (-[WebFileDatabaseOp initWithCode:key:object:]):
- (-[WebFileDatabaseOp opcode]):
- (-[WebFileDatabaseOp key]):
- (-[WebFileDatabaseOp object]):
- (-[WebFileDatabaseOp perform:]):
- (-[WebFileDatabaseOp dealloc]):
- (SetThreadPriority):
- (-[WebFileDatabase _createLRUList:]):
- (-[WebFileDatabase _truncateToSizeLimit:]):
- (+[WebFileDatabase _syncLoop:]):
- (databaseInit):
- (-[WebFileDatabase setTimer]):
- (-[WebFileDatabase setObject:forKey:]):
- (-[WebFileDatabase removeObjectForKey:]):
- (-[WebFileDatabase removeAllObjects]):
- (-[WebFileDatabase objectForKey:]):
- (-[WebFileDatabase performSetObject:forKey:]):
- (-[WebFileDatabase performRemoveObjectForKey:]):
- (-[WebFileDatabase open]):
- (-[WebFileDatabase close]):
- (-[WebFileDatabase lazySync:]):
- (-[WebFileDatabase sync]):
- (-[WebFileDatabase sizeLimit]):
- (-[WebFileDatabase count]):
- (-[WebFileDatabase usage]):
- (-[WebFileDatabase setSizeLimit:]):
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase _createFileDatabase]):
- (-[WebIconDatabase _loadIconDictionaries]):
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-08-28 Darin Adler <darin@apple.com>
-
- Reviewed by Tim Hatcher.
-
- * WebInspector/webInspector/inspector.js: Add "resize: none" to the list of
- default values for CSS properties so it will be omitted from most displays
- of computed style.
-
-2006-08-28 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- Major prune of unnecessary WebFileDatabase code. In the end, what
- useful code that remains in WebFileDatabase will likely be moved directly
- into WebIconDatabase
-
- * Misc/WebFileDatabase.h:
- * Misc/WebFileDatabase.m:
- (-[WebFileDatabase initWithPath:]):
- (-[WebFileDatabase objectForKey:]):
- (-[WebFileDatabase open]):
- (-[WebFileDatabase close]):
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase _createFileDatabase]):
- (-[WebIconDatabase _loadIconDictionaries]):
- * Misc/WebLRUFileList.h: Removed.
- * Misc/WebLRUFileList.m: Removed.
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-08-27 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Tim H.
-
- - patch for http://bugs.webkit.org/show_bug.cgi?id=4624
- WebCore needs autogenerated Obj-C DOM bindings
-
- First round of auto-generated Objective C DOM bindings, starting
- with the DOM Core.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-08-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher
-
- Fixed up some leaks on [WebIconDatabase init]
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase init]):
-
-2006-08-24 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- * WebView/WebFrame.m:
- (-[WebFrame _updateBackground]): reworded the comment about scroll view and setDrawsBackground:YES
- * WebView/WebView.m:
- (-[WebViewPrivate dealloc]): release the background color
-
-2006-08-24 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Hyatt.
-
- WebView API to allow changing the background color that draws under transparent page backgrounds.
-
- * WebView/WebFrame.m:
- (-[WebFrame _makeDocumentView]):
- (-[WebFrame _updateBackground]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFrameView.m:
- (-[WebFrameView drawRect:]):
- * WebView/WebView.m:
- (-[WebView setBackgroundColor:]):
- (-[WebView backgroundColor]):
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView setDrawsBackground:]):
- * WebView/WebViewPrivate.h:
-
-2006-08-24 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Fix for Mail stationary. Selecting a stationary item would cause this exception.
- *** -[WebSubresourceLoader copyWithZone:]: selector not recognized
- Uncaught exception - *** -[WebSubresourceLoader copyWithZone:]: selector not recognized
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
- Use _webkit_setObject:forUncopiedKey: when addign the resource to pendingArchivedResources.
-
-2006-08-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adele.
-
- - fix assertion which I accidentally changed to one that sometimes fails
- http://bugs.webkit.org/show_bug.cgi?id=10531
-
- * Loader/WebDocumentLoadState.m:
- (-[WebDocumentLoadState dealloc]):
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource dealloc]):
-
-2006-08-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Brady.
-
- - move WebFrame code that creates WebDataSources down to WebFrameLoader, in preparation
- for WebFrameLoader just holding on to WebDocumentLoadState
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _loadRequest:archive:]):
- (-[WebFrameLoader _loadRequest:triggeringAction:loadType:formState:]):
- (-[WebFrameLoader _reloadAllowingStaleDataWithOverrideEncoding:]):
- (-[WebFrameLoader reload]):
- * WebView/WebFrame.m:
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _continueLoadRequestAfterNewWindowPolicy:frameName:formState:]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrame _shouldReloadToHandleUnreachableURLFromRequest:]):
- (-[WebFrame loadRequest:]):
- (-[WebFrame loadArchive:]):
- (-[WebFrame reload]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFramePrivate.h:
- * WebView/WebView.m:
- (-[WebView setCustomTextEncodingName:]):
-
-2006-08-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- First pass at pruning unused WebIconDatabase code. Focus on removing methods that simply
- have no place in the new DB at all. A few renames and a few important FIXMEs result, but no
- functionality changes.
-
- * Loader/WebIconLoader.m:
- (-[WebIconLoader didFinishLoading]): Call to WebIconDatabase instead of directly to the bridge
- * Misc/WebIconDatabase.h:
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase init]):
- (-[WebIconDatabase iconForURL:withSize:cache:]):
- (-[WebIconDatabase iconURLForURL:]):
- (-[WebIconDatabase defaultIconWithSize:]):
- (-[WebIconDatabase retainIconForURL:]):
- (-[WebIconDatabase releaseIconForURL:]):
- (-[WebIconDatabase removeAllIcons]):
- (-[WebIconDatabase _setIconData:forIconURL:]):
- (-[WebIconDatabase _setHaveNoIconForIconURL:]):
- (-[WebIconDatabase _setIconURL:forURL:]):
- (-[WebIconDatabase _hasEntryForIconURL:]):
- (-[WebIconDatabase _applicationWillTerminate:]):
- (-[WebIconDatabase _resetCachedWebPreferences:]):
- * Misc/WebIconDatabasePrivate.h: Changed setIcon: to setIconData:
-
-2006-08-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adele.
-
- - started factoring most of the guts of WebDataSource into a new class
-
- WebDocumentLoadState is decoupled from the rest of WebKit and will
- be moved down to WebCore. I only moved one of the data fields of
- WebDataSource for now.
-
- * Loader/WebDocumentLoadState.h: Added.
- * Loader/WebDocumentLoadState.m: Added.
- (-[WebDocumentLoadState initWithRequest:]): New class.
- (-[WebDocumentLoadState dealloc]):
- (-[WebDocumentLoadState setFrameLoader:]):
- (-[WebDocumentLoadState setMainResourceData:]):
- (-[WebDocumentLoadState mainResourceData]):
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _setDataSource:]): Remove redundant _setWebFrame: call,
- it would have been called already by this point.
- (-[WebFrameLoader _setProvisionalDataSource:]): ditto.
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _setWebFrame:]):
- (-[WebDataSource _setPrimaryLoadComplete:]):
- (-[WebDataSource initWithRequest:]):
- (-[WebDataSource data]):
-
-2006-08-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adele.
-
- - refactoring of WebDataSource in preparation for moving a bunch of it to a new class
-
- - minimize WebDataSourceInternal.h to be only methods called from outside WebDataSource
- - reduce Private category implementation to be only the SPI methods
- - make new Internal and FileInternal categories which contain the
- remainder (depending on whether they are called from outside of
- WebDataSource)
-
- * WebView/WebDataSource.m:
- (-[WebDataSource _setMainDocumentError:]):
- (addTypesFromClass):
- (+[WebDataSource _representationClassForMIMEType:]):
- (-[WebDataSource _commitIfReady]):
- (-[WebDataSource _commitLoadWithData:]):
- (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
- (-[WebDataSource _addResponse:]):
- (-[WebDataSource _revertToProvisionalState]):
- (-[WebDataSource _mainDocumentError]):
- (-[WebDataSource _addSubframeArchives:]):
- (-[WebDataSource _fileWrapperForURL:]):
- (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- (-[WebDataSource _decidePolicyForMIMEType:decisionListener:]):
- (-[WebDataSource _finishedLoading]):
- (-[WebDataSource _setResponse:]):
- (-[WebDataSource _setRequest:]):
- (-[WebDataSource _setupForReplaceByMIMEType:]):
- (-[WebDataSource _receivedMainResourceError:complete:]):
- (-[WebDataSource _mainReceivedError:complete:]):
- (-[WebDataSource _defersCallbacks]):
- (-[WebDataSource _downloadWithLoadingConnection:request:response:proxy:]):
- (-[WebDataSource _didFailLoadingWithError:forResource:]):
- (-[WebDataSource _didFinishLoadingForResource:]):
- (-[WebDataSource _didReceiveData:contentLength:forResource:]):
- (-[WebDataSource _didReceiveResponse:forResource:]):
- (-[WebDataSource _didCancelAuthenticationChallenge:forResource:]):
- (-[WebDataSource _didReceiveAuthenticationChallenge:forResource:]):
- (-[WebDataSource _willSendRequest:forResource:redirectResponse:]):
- (-[WebDataSource _identifierForInitialRequest:]):
- (-[WebDataSource _archivedSubresourceForURL:]):
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _stopRecordingResponses]):
- (-[WebDataSource _loadingStartedTime]):
- (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]):
- (-[WebDataSource _documentFragmentWithArchive:]):
- (-[WebDataSource _documentFragmentWithImageResource:]):
- (-[WebDataSource _imageElementWithImageResource:]):
- (-[WebDataSource _title]):
- (-[WebDataSource _isStopping]):
- (-[WebDataSource _setWebFrame:]):
- (-[WebDataSource _URL]):
- (-[WebDataSource _loadFromPageCache:]):
- (-[WebDataSource _popSubframeArchiveWithName:]):
- (-[WebDataSource _setIsClientRedirect:]):
- (-[WebDataSource _setURL:]):
- (-[WebDataSource _setLastCheckedRequest:]):
- (-[WebDataSource _defersCallbacksChanged]):
- (-[WebDataSource _lastCheckedRequest]):
- (-[WebDataSource _stopLoading]):
- (-[WebDataSource _bridge]):
- (-[WebDataSource _webView]):
- (-[WebDataSource _triggeringAction]):
- (-[WebDataSource _setTriggeringAction:]):
- (-[WebDataSource __adoptRequest:]):
- (-[WebDataSource _isDocumentHTML]):
- (-[WebDataSource _stopLoadingWithError:]):
- (-[WebDataSource _setPrimaryLoadComplete:]):
- (-[WebDataSource _responses]):
- (-[WebDataSource _makeRepresentation]):
- (-[WebDataSource _isClientRedirect]):
- (-[WebDataSource _originalRequest]):
- (-[WebDataSource _URLForHistory]):
- (-[WebDataSource _addToUnarchiveState:]):
- (-[WebDataSource _setOverrideEncoding:]):
- (-[WebDataSource _setIconURL:]):
- (-[WebDataSource _setIconURL:withType:]):
- (-[WebDataSource _overrideEncoding]):
- (-[WebDataSource _setTitle:]):
- * WebView/WebDataSourceInternal.h:
-
-2006-08-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Sullivan
-
- /me crosses fingers
- Flip the switch to the new Icon Database
- Massive code pruning is coming up
-
- * WebKitPrefix.h: Flipped the switch
-
-2006-08-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by Beth
- Since I just pushed the default URL icon from WebKit to WebCore, but
- WebKit was still using its version of the default icon, this patch makes it
- use the WebCore version
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase defaultIconWithSize:]):
-
-2006-08-22 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Brady.
-
- - remove "loading" flag from WebDataSource and code that manages it; it is redundat.
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader addPlugInStreamLoader:]):
- (-[WebFrameLoader removePlugInStreamLoader:]):
- (-[WebFrameLoader addSubresourceLoader:]):
- (-[WebFrameLoader removeSubresourceLoader:]):
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _setPrimaryLoadComplete:]):
- (-[WebDataSource _stopLoading]):
- (-[WebDataSource _prepareForLoadStart]):
- (-[WebDataSource _startLoading]):
- (-[WebDataSource isLoading]):
- * WebView/WebDataSourceInternal.h:
-
-2006-08-22 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- <rdar://problem/4683948> REGRESSION: Assertion failure in [FrameProgressEntry addChild:forDataSource:] (fandango.com)
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader addSubresourceLoader:]): Add a WebKit-level assertion that should fire when this bad
- situation occurs.
- * Loader/WebSubresourceLoader.m:
- (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]): Prevent
- the situation from occuring.
-
-2006-08-22 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - pull more WebDataSource code into WebFrameLoader
- - make WebMainResourceLoader not depend on WebKit or on SPI
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
- (-[WebFrameLoader _updateIconDatabaseWithURL:]):
- (-[WebFrameLoader _notifyIconChanged:]):
- (-[WebFrameLoader _iconLoaderReceivedPageIcon:]):
- (-[WebFrameLoader _checkNavigationPolicyForRequest:andCall:withSelector:]):
- (-[WebFrameLoader _checkContentPolicyForMIMEType:andCall:withSelector:]):
- (-[WebFrameLoader cancelContentPolicy]):
- * Loader/WebIconLoader.m:
- (-[WebIconLoader didFinishLoading]):
- * Loader/WebLoader.m:
- (-[NSURLProtocol loadWithRequest:]):
- (-[NSURLProtocol setDefersCallbacks:]):
- * Loader/WebMainResourceLoader.h:
- * Loader/WebMainResourceLoader.m:
- (-[WebMainResourceLoader initWithFrameLoader:]):
- (-[WebMainResourceLoader dealloc]):
- (-[WebMainResourceLoader cancelWithError:]):
- (-[WebMainResourceLoader continueAfterNavigationPolicy:formState:]):
- (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
- (-[WebMainResourceLoader continueAfterContentPolicy:]):
- (-[WebMainResourceLoader checkContentPolicy]):
- (-[WebMainResourceLoader didReceiveResponse:]):
- * Plugins/WebPluginContainerCheck.m:
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
- * WebView/WebDataSource.m:
- (-[WebDataSource _loadIcon]):
- (-[WebDataSource _cancelledError]):
- (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- (+[WebDataSource _representationClassForMIMEType:]):
- (-[WebDataSource _commitLoadWithData:]):
- (-[WebDataSource _isDocumentHTML]):
- * WebView/WebDataSourceInternal.h:
- * WebView/WebFramePrivate.h:
- * WebView/WebPolicyDelegate.m:
- * WebView/WebPolicyDelegatePrivate.h:
-
-2006-08-21 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Brady.
-
- - move more code from WebDataSource to WebFrameLoader
-
- Also marked a few more methods in WebDataSource as likely MOVABLE in a future round, since they do not
- use any of WebDataSource's private data.
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader addPlugInStreamLoader:]):
- (-[WebFrameLoader removePlugInStreamLoader:]):
- (-[WebFrameLoader addSubresourceLoader:]):
- (-[WebFrameLoader removeSubresourceLoader:]):
- (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
- (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
- (-[WebFrameLoader _didReceiveResponse:forResource:]):
- (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
- (-[WebFrameLoader _didFinishLoadingForResource:]):
- (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
- (-[WebFrameLoader _privateBrowsingEnabled]):
- (-[WebFrameLoader _finishedLoadingResource]):
- (-[WebFrameLoader _receivedError:]):
- (-[WebFrameLoader _finishedLoading]):
- * Loader/WebMainResourceLoader.m:
- (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
- (-[WebMainResourceLoader didFinishLoading]):
- * Loader/WebNetscapePlugInStreamLoader.m:
- (-[WebNetscapePlugInStreamLoader didFinishLoading]):
- (-[WebNetscapePlugInStreamLoader didFailWithError:]):
- (-[WebNetscapePlugInStreamLoader cancelWithError:]):
- * Loader/WebSubresourceLoader.m:
- (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
- (-[WebSubresourceLoader signalFinish]):
- (-[WebSubresourceLoader didFailWithError:]):
- (-[WebSubresourceLoader cancel]):
- * Plugins/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream start]):
- * WebView/WebDataSource.m:
- (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]):
- (-[WebDataSource _updateIconDatabaseWithURL:]):
- (-[WebDataSource _loadIcon]):
- (-[WebDataSource _setPrimaryLoadComplete:]):
- (-[WebDataSource _cancelledError]):
- (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- (+[WebDataSource _representationClassForMIMEType:]):
- (-[WebDataSource _commitLoadWithData:]):
- (-[WebDataSource _receivedMainResourceError:complete:]):
- (-[WebDataSource _iconLoaderReceivedPageIcon:]):
- (-[WebDataSource _isDocumentHTML]):
- * WebView/WebDataSourceInternal.h:
-
-2006-08-21 Brady Eidson <beidson@apple.com>
-
- Reviewed by John
-
- Quick ICONDEBUG flag fix
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase _applicationWillTerminate:]):
-
-2006-08-21 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- -Renamed an internal only method for clarity
- -Tweaked WebDataSource for notification purposes with the new expiring icons
- -Fixed a bug with the ICONDEBUG flag
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase init]):
- (-[WebIconDatabase iconForURL:withSize:cache:]): #ifdef bug fixed
- (-[WebIconDatabase _hasEntryForIconURL:]): Renamed for clarity
- * Misc/WebIconDatabasePrivate.h:
- * WebView/WebDataSource.m:
- (-[WebDataSource _updateIconDatabaseWithURL:]):
- (-[WebDataSource _notifyIconChanged:]):
- (-[WebDataSource _loadIcon]):
- (-[WebDataSource _iconLoaderReceivedPageIcon:]):
-
-2006-08-17 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Brady.
-
- - pull a bit of WebDataSource code into WebFrameLoader
-
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _receivedError:]):
- (-[WebFrameLoader webFrame]):
- (-[WebFrameLoader _handleFallbackContent]):
- (+[WebFrameLoader _canShowMIMEType:]):
- (+[WebFrameLoader _representationExistsForURLScheme:]):
- (+[WebFrameLoader _generatedMIMETypeForURLScheme:]):
- * WebView/WebDataSource.m:
- * WebView/WebDataSourceInternal.h:
-
-2006-08-17 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported in 64-bit
-
- * WebKit.LP64.exp:
-
-2006-08-17 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/4633896> -[WebView close] should clear all delegates and call setHostWindow:nil
- <rdar://problem/4649759> Crash when selecting View Source menu using Chinese (-[WebView _close])
-
- Check to make sure _private is not null. A WebView can be dealloced before _private is setup.
- Set the _private->closed flag at the beginning of _close to prevent reentry.
- Set the host window and all the delegates to nil in _close.
-
- * WebView/WebView.m:
- (-[WebView _close]):
-
-2006-08-16 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- * Misc/WebIconDatabase.m: Pruned unused method
- * Misc/WebIconDatabasePrivate.h: Ditto
-
-
-2006-08-15 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adele (preliminary version) and later by Kevin.
-
- - remove most WebKit dependencies from WebMainResourceLoader.
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader cannotShowMIMETypeForURL:]):
- (-[WebFrameLoader interruptForPolicyChangeErrorWithRequest:]):
- (-[WebFrameLoader isHostedByObjectElement]):
- (-[WebFrameLoader isLoadingMainFrame]):
- (+[WebFrameLoader _canShowMIMEType:]):
- (+[WebFrameLoader _representationExistsForURLScheme:]):
- (+[WebFrameLoader _generatedMIMETypeForURLScheme:]):
- * Loader/WebMainResourceLoader.h:
- * Loader/WebMainResourceLoader.m:
- (-[WebMainResourceLoader interruptForPolicyChangeError]):
- (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
- (isCaseInsensitiveEqual):
- (shouldLoadAsEmptyDocument):
- (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
- (-[WebMainResourceLoader didReceiveResponse:]):
- (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
- (-[WebMainResourceLoader didFinishLoading]):
- (-[WebMainResourceLoader loadWithRequestNow:]):
- (-[WebMainResourceLoader loadWithRequest:]):
-
-2006-08-15 Tim Omernick <timo@apple.com>
-
- Reviewed by Kevin Decker.
-
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage _unloadWithShutdown:]):
- Fixed a subtle problem with the 64-bit debug build -- as written, this would LOG() on 64-bit and do nothing on
- 32-bit!
- * Plugins/WebPluginDatabase.m:
- (-[WebPluginDatabase _scanForNewPlugins]):
- Use +[NSMutableSet set] here.
-
-2006-08-15 Tim Omernick <timo@apple.com>
-
- Reviewed by Darin Adler.
-
- <http://bugs.webkit.org/show_bug.cgi?id=8980>
- ASSERTION FAILED: !isLoaded (WebKit/WebKit/Plugins/WebBasePluginPackage.m:228 -[WebBasePluginPackage dealloc])
-
- <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] running layout tests (8980)
-
- * Plugins/WebPluginDatabase.h:
- * Plugins/WebPluginDatabase.m:
- (+[WebPluginDatabase installedPlugins]):
- Observe NSApplicationWillTerminateNotification so we can unload plug-ins on quit.
- (-[WebPluginDatabase plugins]):
- 'plugins' is now a dictionary.
- (-[WebPluginDatabase close]):
- Call new -_removePlugin: method.
- (-[WebPluginDatabase refresh]):
- Moved parts of this method out into other methods: -_addPlugin:, -_removePlugin:, and -_scanForNewPlugins.
- (-[WebPluginDatabase _plugInPaths]):
- No changes; just moved in file.
- (-[WebPluginDatabase _addPlugin:]):
- New method. Refactored from -refresh. Adds a plug-in to the database.
- (-[WebPluginDatabase _removePlugin:]):
- New method. Refactored from -refresh. Remove a plug-in from the database.
- (-[WebPluginDatabase _scanForNewPlugins]):
- New method. Refactored from -refresh. Returns the list of plug-in packages on disk.
- (-[WebPluginDatabase _applicationWillTerminate]):
- New method. Called when the application terminates. Closes the plug-in database so that all plug-ins are
- removed from the DB (and unloaded if necessary).
-
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.m:
- (-[WebBasePluginPackage initWithPath:]):
- Try to create the NSBundle first, so if the file is not a valid bundle we bail out early. This
- avoids some stat()s and allocations during the plug-in refresh process.
- (-[WebBasePluginPackage isLoaded]):
- Removed.
- (-[WebBasePluginPackage load]):
- Base class for plug-in packages now always loads "successfully".
- (-[WebBasePluginPackage dealloc]):
- Removed this assertion. The base plug-in package class has no concept of
- "unloading".
- (-[WebBasePluginPackage finalize]):
- ditto.
- (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
- Moved code to unload plug-in package to WebNetscapePluginPackage. Not all plug-in
- packages can be "unloaded".
-
- * Plugins/WebNetscapePluginPackage.h:
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage _unloadWithShutdown:]):
- Combined old -unload and -unloadWithoutShutdown methods into this new one.
- (-[WebNetscapePluginPackage initWithPath:]):
- Call new unload method.
- (-[WebNetscapePluginPackage load]):
- ditto
- (-[WebNetscapePluginPackage wasRemovedFromPluginDatabase:]):
- ditto
- (-[WebNetscapePluginPackage open]):
- New method. Called when a plug-in instance starts running.
- (-[WebNetscapePluginPackage close]):
- New method. Called when a plug-in instance stops running. When all plug-in instances
- close the plug-in package, and the plug-in package is removed from the database, the plug-in
- is unloaded.
-
- * Plugins/WebPluginPackage.m:
- (-[WebPluginPackage initWithPath:]):
- (-[WebPluginPackage load]):
- Made this a bit more efficient by checking if the bundle is already loaded.
- (-[WebBasePluginPackage unload]):
- Removed.
- (-[WebBasePluginPackage isLoaded]):
- Removed.
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView start]):
- Open the plug-in package so it remains loaded while this instance uses it.
- (-[WebBaseNetscapePluginView stop]):
- Close the plug-in package when the plug-in instance is stopped.
-
- * Plugins/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
- This check is not necessary. Netscape plug-in packages are never unloaded until all their instances have
- been stopped, and a Netscape plug-in instance will stop its streams when it is stopped.
- (-[WebBaseNetscapePluginStream _destroyStream]):
- ditto
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
- ditto
- (-[WebBaseNetscapePluginStream _deliverData]):
- ditto
-
-2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
-
- Reviewed by Tim H.
-
- Build fix: DWARF and -gfull are incompatible with symbol separation.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
-
- Reviewed by Tim H.
-
- http://bugs.webkit.org/show_bug.cgi?id=10394
- Bug 10394: WebKit Release and Production configurations should enable dead code stripping
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-08-15 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - remove WebKit dependencies from WebPlugInStreamLoader via a protocol veil of ignorance
-
- * Loader/WebNetscapePlugInStreamLoader.h:
- * Loader/WebNetscapePlugInStreamLoader.m:
- (-[WebNetscapePlugInStreamLoader initWithDelegate:frameLoader:]):
- * Loader/WebPlugInStreamLoaderDelegate.h: Added.
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
-
- Reviewed by Tim H.
-
- http://bugs.webkit.org/show_bug.cgi?id=10384
- Bug 10384: Switch to DWARF for Release configuration
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-08-15 Graham Dennis <graham.dennis@gmail.com>
-
- Reviewed by Darin.
-
- - patch for http://bugs.webkit.org/show_bug.cgi?id=10314
- WebUnarchivingState archivedResourceForURL: doesn't work
-
- * WebView/WebUnarchivingState.m:
- (-[WebUnarchivingState archivedResourceForURL:]):
- Fixed to get objects from the archived resources dictionary using
- the URL as a string instead of as the URL itself (as this is how
- the data is put into the dictionary).
-
-2006-08-14 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Beth.
-
- - remove many (but not all) WebKit dependencies from WebNetscapePlugInStreamLoader (it still
- depends on WebNetscapePluginStream).
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader fileDoesNotExistErrorWithResponse:]):
- * Loader/WebNetscapePlugInStreamLoader.h:
- * Loader/WebNetscapePlugInStreamLoader.m:
- (-[WebNetscapePlugInStreamLoader initWithStream:frameLoader:]):
- (-[WebNetscapePlugInStreamLoader releaseResources]):
- (-[WebNetscapePlugInStreamLoader didReceiveResponse:]):
- * Plugins/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
-
-2006-08-14 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Tim Omernick.
-
- - fixed REGRESSION: crash when leaving youtube page while movie is still loading
- http://bugs.webkit.org/show_bug.cgi?id=10398
-
- * Loader/WebNetscapePlugInStreamLoader.m:
- (-[WebNetscapePlugInStreamLoader initWithStream:view:]): Set the frame loader for this stream.
- (-[WebNetscapePlugInStreamLoader cancelWithError:]): Make sure to destroy the stream as well;
- otherwise, when we try to clean up later, we won't have the right context.
-
-2006-08-14 David Hyatt <hyatt@apple.com>
-
- Fix for Radar bug 4478840, Safari should not reduce null events sent to
- plug-ins in windows that are inactive but visible.
-
- With this fix you can view videos in visible background windows on YouTube
- (for example) and not see any drop in frame rate.
-
- Reviewed by timo
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView restartNullEvents]):
-
-2006-08-14 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Brady.
-
- - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface
-
- * Loader/WebFormDataStream.m:
- (formCanRead):
- (formEventCallback):
- (webSetHTTPBody):
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2006-08-14 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Brady.
-
- - move WebFormDataStream from WebView to Loader
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebFormDataStream.h: Removed.
- * WebView/WebFormDataStream.m: Removed.
-
-2006-08-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Brady.
-
- - remove WebKit dependencies from WebSubresourceLoader, except WebFormDataStream
-
- (WebFormDataStream will be moved into the Loader directory soon)
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
- * Loader/WebSubresourceLoader.m:
- (isConditionalRequest):
- (hasCaseInsensitivePrefix):
- (isFileURLString):
- (setHTTPReferrer):
- (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
-
-2006-08-13 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- Relocated the WebIconLoaders
-
- * Misc/WebIconLoader.h: Moved to Loader/
- * Misc/WebIconLoader.m: Moved to Loader/
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-08-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Beth.
-
- - removed non-Loader WebKit dependencies from WebDataProtocol for
- real (whoops) and fix some typos.
-
- * Loader/WebDataProtocol.m:
- (isCaseInsensitiveEqual): Added.
- (+[WebDataProtocol _webIsDataProtocolURL:]): Avoid WebKit calls.
- (-[WebDataProtocol startLoading]): ditto
- * Loader/WebFrameLoader.m:
- (isCaseInsensitiveEqual): Fixed spelling from isCaseSensitiveEqual.
- (-[WebFrameLoader _canUseResourceForRequest:]): Use proper call.
-
-2006-08-13 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- The way of detecting a failed icon load before was to try and construct
- an image from the icon and if that image construction failed, mark the icon
- as missing.
- A much more efficient way is to check for an error response. We'll still
- check for invalid image data, but most servers will correctly return an HTTP
- error on a missing icon.
-
- * Misc/WebIconLoader.m:
- (-[WebIconLoader didFinishLoading]): Added check for http error response
-
-2006-08-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - remove all non-Loader dependencies from WebLoader
-
- As part of this I moved WebDataProtocol to the loader directory
- and removed dependencies on the rest of WebKit from that too.
-
- * Loader/WebFrameLoader.h:
- * Loader/WebFrameLoader.m:
- (-[WebFrameLoader setDefersCallbacks:]):
- (-[WebFrameLoader stopLoading]):
- (-[WebFrameLoader cancelledErrorWithRequest:]):
- (-[WebFrameLoader clearArchivedResources]):
- (-[WebFrameLoader deliverArchivedResources]):
- (-[WebFrameLoader deliverArchivedResourcesAfterDelay]):
- (isCaseSensitiveEqual):
- (-[WebFrameLoader _canUseResourceForRequest:]):
- (-[WebFrameLoader _canUseResourceWithResponse:]):
- (-[WebFrameLoader pendingArchivedResources]):
- (-[WebFrameLoader willUseArchiveForRequest:originalURL:loader:]):
- (-[WebFrameLoader archiveLoadPendingForLoader:]):
- (-[WebFrameLoader cancelPendingArchiveLoadForLoader:]):
- * Loader/WebLoader.h:
- * Loader/WebLoader.m:
- (-[NSURLProtocol releaseResources]):
- (-[NSURLProtocol loadWithRequest:]):
- (-[NSURLProtocol setDefersCallbacks:]):
- (-[NSURLProtocol addData:allAtOnce:]):
- (-[NSURLProtocol resourceData]):
- (-[NSURLProtocol didReceiveData:lengthReceived:allAtOnce:]):
- (-[NSURLProtocol connection:didReceiveData:lengthReceived:]):
- (-[NSURLProtocol cancelWithError:]):
- (-[NSURLProtocol cancelledError]):
- * Loader/WebMainResourceLoader.m:
- (-[WebMainResourceLoader addData:allAtOnce:]):
- (-[WebMainResourceLoader didReceiveData:lengthReceived:allAtOnce:]):
- * Loader/WebNetscapePlugInStreamLoader.m:
- (-[WebNetscapePlugInStreamLoader didReceiveData:lengthReceived:allAtOnce:]):
- * Loader/WebSubresourceLoader.m:
- (-[WebSubresourceLoader didReceiveData:lengthReceived:allAtOnce:]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataProtocol.h: Removed.
- * WebView/WebDataProtocol.m: Removed.
-
-2006-08-11 Tim Omernick <timo@apple.com>
-
- Reviewed by Darin.
-
- <http://bugs.webkit.org/show_bug.cgi?id=10111> - Menu flickers over Flash content
- <rdar://problem/3052546> Plugins don't work with z-index (overlapping elements, etc.)
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- Don't just clip to the dirty region for "transparent" plug-ins -- do it for all plug-ins. This is a
- generally useful thing to do, as it prevents the plug-in from drawing over parts of the window that
- have already been drawn and are not expected to be redrawn in the same update.
-
-2006-08-11 Brady Eidson <beidson@apple.com>
-
- Reviewed by John, Timo, Adele, and Darin
-
- In addition to a few style/good-practice cleanups, this patch will convert the old icon database
- format to the WebCore format if the WebCore db is empty (implying this conversion has yet to take
- place). After the conversion, it will delete all traces of the old format to free the unneeded space
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase init]):
- (-[WebIconDatabase _setIconURL:forURL:]): Changed the bridge's name for this method to be more clear
- (-[WebIconDatabase _createFileDatabase]):
- (-[WebIconDatabase _iconDataForIconURL:]): This grabs the raw data for use in the conversion function
- (-[WebIconDatabase _convertToWebCoreFormat]): This does the actual conversion
-
-2006-08-11 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- Needed for <rdar://problem/4678070>.
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendEvent:]):
- Changed an assertion to an early return. It should be possible to send events, especially updateEvt (for image capturing
- purposes), to off-screen plug-ins. It just doesn't work right now. See <rdar://problem/4318269>.
-
-2006-08-11 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- - fixed <rdar://problem/4522894> Would be nice if Safari shrank pages a little if necessary
- to avoid printing an almost-empty page
-
- * WebView/WebHTMLView.m:
- (-[NSArray knowsPageRange:]):
- If the last page has a short-enough orphan (< 1/10 of the page height is the number I pulled
- out of ... the air), then we adjust the scale factor slightly and check whether this reduces
- the page count and thus eliminates the orphan.
-
-2006-08-07 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders and John
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase init]):
- (-[WebIconDatabase isIconExpiredForIconURL:]): Get if an icon expired
- (-[WebIconDatabase isIconExpiredForPageURL:]): Ditto
- (-[WebIconDatabase _setIconURL:forURL:]):
- (-[WebIconDatabase _sendNotificationForURL:]): Moved to WebKitPendingPublic for use outside of WebIconDatabase
- (-[WebIconDatabase loadIconFromURL:]): Allow a load outside the context of a page load
- * Misc/WebIconDatabasePrivate.h:
-
- * Misc/WebIconLoader.m:
- (-[WebIconLoader didFinishLoading]): fixed up the "flipping the switch" #defs a bit
- (-[WebIconLoader willSendRequest:redirectResponse:]): override to allow a load
- outside of the context of a page load
-
- * WebCoreSupport/WebIconDatabaseBridge.h: Added.
- * WebCoreSupport/WebIconDatabaseBridge.m: Added.
- (-[WebIconDatabaseBridge init]):
- (-[WebIconDatabaseBridge dealloc]):
- (-[WebIconDatabaseBridge loadIconFromURL:]): Kick off a load on an icon outside
- of the context of any page load
- (-[WebIconDatabaseBridge _setIconData:forIconURL:]): WebKit side of bridge method
- (-[WebIconDatabaseBridge _setHaveNoIconForIconURL:]): WebKit side of bridge method
- (-[WebIconDatabaseBridge releaseCachedLoaderForIconURL:]):
- (+[WebIconDatabaseBridge sharedBridgeInstance]): Moved this from WebCore to WebKit
- so both sides of the bridge get the WebKit version
- * WebKit.xcodeproj/project.pbxproj: Added some files
- * WebView/WebDataSource.m:
- (-[WebDataSource _loadIcon]): Added check for reload/expired icon to force
- a load even if we already have it
-
-2006-08-04 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Darin.
-
- - patch for http://bugs.webkit.org/show_bug.cgi?id=10192
- Make WebCore (and friends) compile with -Wshorten-64-to-32
-
- * Adds 'f' to float literals where expecting a float.
- * Use ceilf() instead of ceil() when assigning to a float.
- * Adds explicit casts where OK.
-
- NOTE: The -Wshorten-64-to-32 flag was not added for WebKit
- because there are still a few places where no error handling
- is in place. The flag can be added as soon as those are worked
- out.
-
- * Misc/WebNSControlExtras.m:
- (-[NSControl sizeToFitAndAdjustWindowHeight]):
- * Misc/WebNSImageExtras.m:
- (-[NSImage _web_scaleToMaxSize:]):
- * Misc/WebNSViewExtras.h:
- * Misc/WebNSViewExtras.m:
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebBaseNetscapePluginView drawRect:]):
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge expiresTimeForResponse:]):
- * WebInspector/WebInspector.m:
- (-[NSWindow window]):
- (-[WebInspector treeViewScrollTo:]):
- (-[WebInspector _updateSystemColors]):
- (-[WebInspector webView:plugInViewWithArguments:]):
- (-[WebInspector outlineView:objectValueForTableColumn:byItem:]):
- * WebInspector/WebInspectorOutlineView.m:
- (-[WebInspectorOutlineView _highlightRow:clipRect:]):
- * WebInspector/WebNodeHighlight.m:
- (-[WebNodeHighlight initWithBounds:andRects:forView:]):
- * WebInspector/WebNodeHighlightView.m:
- (-[WebNodeHighlightView roundedRect:withRadius:]):
- (-[WebNodeHighlightView initWithHighlight:andRects:forView:]):
- (-[WebNodeHighlightView drawRect:]):
- * WebView/WebFrame.m:
- (-[WebFrame _opened]):
- * WebView/WebFrameView.m:
- (-[WebFrameView initWithFrame:]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _dragImageForLinkElement:]):
- (-[WebHTMLView _web_setPrintingModeRecursive]):
- (-[WebHTMLView _web_clearPrintingModeRecursive]):
- (-[NSArray layout]):
- (-[NSArray _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
- (-[NSArray adjustPageHeightNew:top:bottom:limit:]):
- (-[NSArray _scaleFactorForPrintOperation:]):
- (-[NSArray setPageWidthForPrinting:]):
- (-[NSArray _endPrintMode]):
- (-[NSArray knowsPageRange:]):
- (-[NSArray _originalFontA]):
- (-[NSArray _originalFontB]):
- (-[WebTextCompleteController _buildUI]):
- (-[WebTextCompleteController _placePopupWindow:]):
- * WebView/WebPDFView.m:
- (-[WebPDFView _makeTextStandardSize:]):
- (-[WebPDFView selectionImageForcingWhiteText:]):
- (-[PDFPrefUpdatingProxy forwardInvocation:]):
- * WebView/WebPreferences.m:
- (-[WebPreferences _floatValueForKey:]):
- * WebView/WebView.m:
- (-[WebView makeTextSmaller:]):
- (-[WebView canMakeTextStandardSize]):
- (-[WebView makeTextStandardSize:]):
-
-2006-08-04 David Kilzer <ddkilzer@kilzer.net>
-
- Reviewed by NOBODY (build fix).
-
- * WebCoreSupport/WebSubresourceLoader.m: REALLY moved to Loader/
- * WebView/WebFrameLoader.h: REALLY moved to Loader/
- * WebView/WebFrameLoader.m: REALLY moved to Loader/
- * WebView/WebLoader.h: REALLY moved to Loader/
- * WebView/WebLoader.m: REALLY moved to Loader/
- * WebView/WebMainResourceLoader.m: REALLY moved to Loader/
-
-2006-08-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - moved all loader code that is slated to be moved down to WebCore to a new Loader directory
-
- (next step is to remove dependencies on the rest of WebKit from this directory)
-
- * Loader/WebNetscapePlugInStreamLoader.h: Added.
- * Loader/WebNetscapePlugInStreamLoader.m: Added. Cut out of WebNetscapePluginStream.m
- (-[WebNetscapePlugInStreamLoader initWithStream:view:]):
- (-[WebNetscapePlugInStreamLoader isDone]):
- (-[WebNetscapePlugInStreamLoader releaseResources]):
- (-[WebNetscapePlugInStreamLoader didReceiveResponse:]):
- (-[WebNetscapePlugInStreamLoader didReceiveData:lengthReceived:]):
- (-[WebNetscapePlugInStreamLoader didFinishLoading]):
- (-[WebNetscapePlugInStreamLoader didFailWithError:]):
- (-[WebNetscapePlugInStreamLoader cancelWithError:]):
- * Plugins/WebNetscapePluginStream.m:
- * WebKit.xcodeproj/project.pbxproj:
- * WebCoreSupport/WebSubresourceLoader.h: Moved to Loader/
- * WebCoreSupport/WebSubresourceLoader.m: Moved to Loader/
- * WebView/WebFrameLoader.h: Moved to Loader/
- * WebView/WebFrameLoader.m: Moved to Loader/
- * WebView/WebLoader.h: Moved to Loader/
- * WebView/WebLoader.m: Moved to Loader/
- * WebView/WebMainResourceLoader.h: Moved to Loader/
- * WebView/WebMainResourceLoader.m: Moved to Loader/
-
-2006-08-03 Tim Omernick <timo@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/4667460> Windowless OpenGL plug-ins render incorrectly on PowerPC
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
- Fixed color component swapping so that it works on both x86 and PPC. See comments.
-
-2006-08-03 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher's rubber stamp
- Fixed Intel build break caused by weinig's -W change in r15781
-
- * WebView/WebView.m: wrapped cpu-dependent defs with defined() macro
-
-2006-08-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - fixed problem that could cause assertion failures in Safari
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Don't
- allow a plugin to start new loads once its document is no longer the one actively loading.
-
-2006-08-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - remove use of WebDataSource from WebLoader and subclasses, just have them talk to the
- WebFrameLoader instead.
-
- For now this is done by forarding all the calls.
-
- * Misc/WebIconLoader.m:
- (-[WebIconLoader didFinishLoading]):
- * Plugins/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
- (-[WebNetscapePluginStream start]):
- (-[WebNetscapePlugInStreamLoader didFinishLoading]):
- (-[WebNetscapePlugInStreamLoader didFailWithError:]):
- (-[WebNetscapePlugInStreamLoader cancelWithError:]):
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
- (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
- * WebCoreSupport/WebSubresourceLoader.h:
- * WebCoreSupport/WebSubresourceLoader.m:
- (-[WebSubresourceLoader initWithLoader:frameLoader:]):
- (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
- (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forFrameLoader:]):
- (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forFrameLoader:]):
- (-[WebSubresourceLoader receivedError:]):
- (-[WebSubresourceLoader signalFinish]):
- (-[WebSubresourceLoader didFailWithError:]):
- (-[WebSubresourceLoader cancel]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.m:
- (-[WebDataSource _updateLoading]):
- (-[WebDataSource textEncodingName]):
- (-[WebDataSource _mainReceivedBytesSoFar:complete:]):
- * WebView/WebFrameLoader.h:
- * WebView/WebFrameLoader.m:
- (-[WebFrameLoader loadIconWithRequest:]):
- (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
- (-[WebFrameLoader clearIconLoader]):
- (-[WebFrameLoader commitProvisionalLoad]):
- (-[WebFrameLoader activeDataSource]):
- (-[WebFrameLoader _archivedSubresourceForURL:]):
- (-[WebFrameLoader _defersCallbacks]):
- (-[WebFrameLoader _identifierForInitialRequest:]):
- (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
- (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
- (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
- (-[WebFrameLoader _didReceiveResponse:forResource:]):
- (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
- (-[WebFrameLoader _didFinishLoadingForResource:]):
- (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
- (-[WebFrameLoader _privateBrowsingEnabled]):
- (-[WebFrameLoader _addPlugInStreamLoader:]):
- (-[WebFrameLoader _removePlugInStreamLoader:]):
- (-[WebFrameLoader _finishedLoadingResource]):
- (-[WebFrameLoader _receivedError:]):
- (-[WebFrameLoader _addSubresourceLoader:]):
- (-[WebFrameLoader _removeSubresourceLoader:]):
- (-[WebFrameLoader _originalRequest]):
- (-[WebFrameLoader webFrame]):
- (-[WebFrameLoader _receivedMainResourceError:complete:]):
- (-[WebFrameLoader initialRequest]):
- (-[WebFrameLoader _receivedData:]):
- (-[WebFrameLoader _setRequest:]):
- (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
- (-[WebFrameLoader _handleFallbackContent]):
- (-[WebFrameLoader _isStopping]):
- (-[WebFrameLoader _decidePolicyForMIMEType:decisionListener:]):
- (-[WebFrameLoader _setupForReplaceByMIMEType:]):
- (-[WebFrameLoader _setResponse:]):
- (-[WebFrameLoader _mainReceivedError:complete:]):
- (-[WebFrameLoader _finishedLoading]):
- (-[WebFrameLoader _mainReceivedBytesSoFar:complete:]):
- (-[WebFrameLoader _iconLoaderReceivedPageIcon:]):
- (-[WebFrameLoader _URL]):
- * WebView/WebLoader.h:
- * WebView/WebLoader.m:
- (-[NSURLProtocol releaseResources]):
- (-[NSURLProtocol loadWithRequest:]):
- (-[NSURLProtocol setFrameLoader:]):
- (-[NSURLProtocol frameLoader]):
- (-[NSURLProtocol willSendRequest:redirectResponse:]):
- (-[NSURLProtocol didReceiveAuthenticationChallenge:]):
- (-[NSURLProtocol didCancelAuthenticationChallenge:]):
- (-[NSURLProtocol didReceiveResponse:]):
- (-[NSURLProtocol didReceiveData:lengthReceived:]):
- (-[NSURLProtocol signalFinish]):
- (-[NSURLProtocol didFailWithError:]):
- (-[NSURLProtocol willCacheResponse:]):
- (-[NSURLProtocol cancelWithError:]):
- * WebView/WebMainResourceLoader.h:
- * WebView/WebMainResourceLoader.m:
- (-[WebMainResourceLoader initWithFrameLoader:]):
- (-[WebMainResourceLoader receivedError:]):
- (-[WebMainResourceLoader cancelWithError:]):
- (-[WebMainResourceLoader _isPostOrRedirectAfterPost:redirectResponse:]):
- (-[WebMainResourceLoader addData:]):
- (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
- (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
- (-[WebMainResourceLoader continueAfterContentPolicy:]):
- (-[WebMainResourceLoader checkContentPolicyForResponse:]):
- (-[WebMainResourceLoader didReceiveResponse:]):
- (-[WebMainResourceLoader didReceiveData:lengthReceived:]):
- (-[WebMainResourceLoader didFinishLoading]):
- (-[WebMainResourceLoader didFailWithError:]):
- (-[WebMainResourceLoader loadWithRequestNow:]):
-
-2006-08-03 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Darin.
-
- - patch for http://bugs.webkit.org/show_bug.cgi?id=10176
- Make WebCore compile with -Wundef
-
- * Adds -Wundef flag to Xcode project
- * Converts #ifs to #ifdef and #ifndefs where needed.
-
- * Carbon/CarbonUtils.m:
- * Carbon/CarbonWindowAdapter.m:
- * Carbon/HIViewAdapter.m:
- (+[NSView bindHIViewToNSView:nsView:]):
- * Carbon/HIWebView.m:
- (HIWebViewEventHandler):
- * Misc/WebFileDatabase.m:
- (UniqueFilePathForKey):
- * Misc/WebNSWindowExtras.m:
- (swizzleInstanceMethod):
- * Misc/WebTypesInternal.h:
- * Plugins/WebNetscapeDeprecatedFunctions.c:
- * Plugins/WebNetscapeDeprecatedFunctions.h:
- * Plugins/WebNetscapePluginPackage.h:
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage unloadWithoutShutdown]):
- (-[WebNetscapePluginPackage load]):
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-08-03 Darin Adler <darin@apple.com>
-
- Reviewed by Eric Seidel.
-
- - fix storage leak
-
- * WebView/WebFrame.m: (-[WebFramePrivate dealloc]): Release the frame loader.
-
-2006-08-02 Timothy Hatcher <timothy@apple.com>
-
- Rubber stamped by Maciej.
-
- Adding back resultsWithXpathQuery, removed by Darin's earlier change.
- This function is called from ObjC, but not used from JavaScript.
-
- * WebInspector/webInspector/inspector.js:
-
-2006-08-02 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Bug 10200: [Drosera] Deadlock between Drosera and Safari while loading page
- http://bugs.webkit.org/show_bug.cgi?id=10200
-
- Prevent reentrancy in our debugger callbacks. This was causing a deadlock in Drosera because
- suspendProcessIfPaused was being called during a DO call into Safari.
-
- Preventing reentrancy also prevents scripts that Drosera injects and evaluates from showing
- up in rare cases (such as a iframe loading about:blank). I thought this would prevent cases
- where you call a function from the console and expect it to break on a breakpoint in them, but
- this appears to never have worked even without this change. When that is figured out we can
- reconsider a better solution to reentrancy. I have filed that as bug 10214.
-
- I also removed the NSRunLoop runMode:beforeDate: calls since DO handles this for us since
- we don't use "onway void" as the return type for the callbacks. Note: using onway void for
- the listener callbacks causes bad synchronization issues and obscure crashes.
-
- * DefaultDelegates/WebScriptDebugServer.m:
- (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
- (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
- (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
- (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
- (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
- (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
- (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
- * DefaultDelegates/WebScriptDebugServerPrivate.h:
-
-2006-08-02 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by John.
-
- - fix assertion failure on layout tests by stopping plugins from loading at a clearly defined time
- - add more assertions for safety
-
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]): Removed obsolete comment.
- (-[WebDataSource _updateLoading]): Add assertion ensuring this method is only called
- at a time when this data source is the one that might be loading for a frame.
- (-[WebDataSource _stopLoading]): Stop loading plugins as a FIXME suggests we should.
- * WebView/WebFrameLoader.m:
- (-[WebFrameLoader isLoadingPlugIns]): New helper method.
- (-[WebFrameLoader isLoading]): Consider plugin loads too - otherwise we won't stop them
- at stopLoading time.
-
-2006-08-02 Adam Roben <aroben@apple.com>
-
- Reviewed by Brady.
-
- - Rename TransferJob to ResourceLoader (this file was forgotten in an
- earlier change by Maciej)
-
- * COM/WebView.cpp:
-
-2006-08-01 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adele.
-
- - Change things around so WebFrameLoader tracks the main and provisional data source,
- as well as the frame load state, pulling much code out of WebFrame along the way.
-
- The most significant aspects of this change are:
-
- - management of WebDataSources and WebFrameState was moved into WebFrameLoader
- - there is now just one WebFrameLoader shared between the primary and provisional data source
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _updateLoading]):
- (-[WebDataSource _loadIcon]):
- (-[WebDataSource _setPrimaryLoadComplete:]):
- (-[WebDataSource _stopLoading]):
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _addSubresourceLoader:]):
- (-[WebDataSource _removeSubresourceLoader:]):
- (-[WebDataSource _addPlugInStreamLoader:]):
- (-[WebDataSource _removePlugInStreamLoader:]):
- (-[WebDataSource _defersCallbacksChanged]):
- (-[WebDataSource _stopLoadingWithError:]):
- (-[WebDataSource _revertToProvisionalState]):
- (-[WebDataSource _setupForReplaceByMIMEType:]):
- (-[WebDataSource initWithRequest:]):
- (-[WebDataSource data]):
- (-[WebDataSource isLoading]):
- * WebView/WebFrame.m:
- (-[WebFramePrivate init]):
- (-[WebFramePrivate dealloc]):
- (-[WebFrame _closeOldDataSources]):
- (-[WebFrame _detachFromParent]):
- (-[WebFrame _makeDocumentView]):
- (-[WebFrame _receivedMainResourceError:]):
- (-[WebFrame _transitionToCommitted:]):
- (+[WebFrame _timeOfLastCompletedLoad]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _continueAfterWillSubmitForm:]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrame _initWithWebFrameView:webView:bridge:]):
- (-[WebFrame _frameLoader]):
- (-[WebFrame _provisionalLoadStarted]):
- (-[WebFrame _prepareForDataSourceReplacement]):
- (-[WebFrame _frameLoadCompleted]):
- (-[WebFrame provisionalDataSource]):
- (-[WebFrame dataSource]):
- (-[WebFrame stopLoading]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFrameLoader.h:
- * WebView/WebFrameLoader.m:
- (-[WebFrameLoader initWithWebFrame:]):
- (-[WebFrameLoader dealloc]):
- (-[WebFrameLoader dataSource]):
- (-[WebFrameLoader _setDataSource:]):
- (-[WebFrameLoader clearDataSource]):
- (-[WebFrameLoader provisionalDataSource]):
- (-[WebFrameLoader _setProvisionalDataSource:]):
- (-[WebFrameLoader _clearProvisionalDataSource]):
- (-[WebFrameLoader state]):
- (+[WebFrameLoader timeOfLastCompletedLoad]):
- (-[WebFrameLoader _setState:]):
- (-[WebFrameLoader clearProvisionalLoad]):
- (-[WebFrameLoader markLoadComplete]):
- (-[WebFrameLoader commitProvisionalLoad]):
- (-[WebFrameLoader stopLoading]):
- (-[WebFrameLoader startLoading]):
- (-[WebFrameLoader startProvisionalLoad:]):
- (-[WebFrameLoader setupForReplace]):
- * WebView/WebFramePrivate.h:
-
-2006-08-01 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4480737> Flash crashes after it replaces itself via a document.write()
-
- I kind of hate to do this, but this is the best way to work around buggy plug-ins like Flash that assume that
- NPP_Destroy() cannot be called while the browser is calling one of its other plug-in functions. The classic
- situation is a plug-in that replaces itself via an NPN_Invoke() that executes a document.write().
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendEvent:]):
- Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
- (-[WebBaseNetscapePluginView setWindowIfNecessary]):
- ditto
- (-[WebBaseNetscapePluginView start]):
- It should not be possible to start a plug-in instance while we are calling into it (one of those chicken/egg
- problems). Added a sanity-checking assertion.
- (-[WebBaseNetscapePluginView stop]):
- If we're already calling a plug-in function, do not call NPP_Destroy(). The plug-in function we are calling
- may assume that its instance->pdata, or other memory freed by NPP_Destroy(), is valid and unchanged until said
- plugin-function returns.
- (-[WebBaseNetscapePluginView pluginScriptableObject]):
- Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
- (-[WebBaseNetscapePluginView willCallPlugInFunction]):
- Increment plug-in function call depth.
- (-[WebBaseNetscapePluginView didCallPlugInFunction]):
- Decrement plug-in function call depth. Stop if we're supposed to stop.
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
- Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
- (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
- ditto
- (-[WebBaseNetscapePluginView _printedPluginBitmap]):
- ditto
-
- * Plugins/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
- Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
- (-[WebBaseNetscapePluginStream _destroyStream]):
- ditto
- (-[WebBaseNetscapePluginStream _deliverData]):
- ditto
-
-2006-08-01 Maciej Stachowiak <mjs@apple.com>
-
- - fix build after last change
-
- * WebView/WebFrame.m:
- (-[WebFrame _checkLoadCompleteForThisFrame]):
-
-2006-08-01 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Beth.
-
- - revert part of my last fix that broke the Safari bookmarks view
-
- * WebView/WebFrame.m:
- (-[WebFrame _checkLoadCompleteForThisFrame]): still send layout message for non-HTML views
-
-2006-08-01 Tim Omernick <timo@apple.com>
-
- Reviewed by Anders.
-
- Fixed an assertion failure I ran into while debugging <rdar://problem/4652683>.
-
- * Plugins/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView redeliverStream]):
- Don't clear the "instance" ivar here. This code was refactored here from the old WebNetscapePluginRepresentation,
- which also had an "instance" ivar. It is never appropriate to clear a plug-in view's instance. That is done when
- the plug-in is destroyed.
-
-2006-08-01 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Geoff.
-
- - some refactoring in preparation for moving more stuff to WebFrameLoader.
-
- * WebView/WebFrame.m:
- (-[WebFrame _clearDataSource]):
- (-[WebFrame _detachFromParent]):
- (-[WebFrame _commitProvisionalLoad]):
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _clearProvisionalLoad]):
- (-[WebFrame _markLoadComplete]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- (-[WebFrame _startProvisionalLoad:]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- (-[WebFrame stopLoading]):
-
-2006-07-31 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Tim Hatcher.
-
- - renamed TransferJob to ResourceLoader in WebCore
-
- * COM/WebFrame.cpp:
- (WebFrame::loadDataSource):
- (WebFrame::receivedRedirect):
- (WebFrame::receivedResponse):
- (WebFrame::receivedData):
- (WebFrame::receivedAllData):
- (WebFrame::setStatusText):
- * COM/WebFrame.h:
-
-2006-07-31 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - omit the margin and padding boxes for display types where they are ignored
- - use CSS instead of properties for table spacing and padding as suggested by Tim H.
-
- * WebInspector/webInspector/inspector.css: Added rules for spacing and padding.
- Added rules that hide the margin and padding boxes (borders and all but the center cell)
- when the hide attribute is present.
- * WebInspector/webInspector/inspector.html: Added classes for the rules above.
- Removed cellpadding and cellspacing attributes.
- * WebInspector/webInspector/inspector.js: Added code to hide/show the margin and
- padding boxes based on the display type.
-
-2006-07-31 Duncan Wilcox <duncan@mclink.it>
-
- Reviewed by Darin.
-
- Fixes <http://bugs.webkit.org/show_bug.cgi?id=10159>
- "REGRESSION: delegate returning no menu elements crashes webkit"
-
- No automated test, because there's no way to programmatically open a context menu,
- no manual test because there's no way to customize the context menu delegate.
-
- * WebView/WebView.m:
- (-[WebView _menuForElement:defaultItems:]): Make sure the context menu returned
- some menu items before accessing the first one.
-
-2006-07-31 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/4658194> REGRESSION: "Search in Google"
- and "Search in Spotlight" fail to work on text selected in a frame
-
- Use selectedFrame to get the frame with the text selection.
-
- * WebView/WebView.m:
- (-[WebView _searchWithGoogleFromMenu:]):
- (-[WebView _searchWithSpotlightFromMenu:]):
-
-2006-07-31 Darin Adler <darin@apple.com>
-
- Reviewed by Tim Hatcher.
-
- - http://bugs.webkit.org/show_bug.cgi?id=10168
- add a first cut at a Metrics pane to the inspector
-
- * WebInspector/webInspector/inspector.css: Add styles for the new metrics pane.
- * WebInspector/webInspector/inspector.html: Add the new metrics pane, starting with
- the table to show the box model.
- * WebInspector/webInspector/inspector.js: Add the new metrics pane. Add back some
- "title" attributes so we have more tooltips. Removed the optional parameter to
- getComputedStyle.
-
-2006-07-31 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by John.
-
- * Plugins/WebPluginDatabase.m:
- (-[WebPluginDatabase refresh]):
- Create a mutable set instead of a mutable array.
-
-2006-07-30 Darin Adler <darin@apple.com>
-
- Reviewed by Tim Hatcher.
-
- * WebInspector/webInspector/inspector.js: Fix bug where a null property value
- leads to an empty style pane.
-
-2006-07-30 Darin Adler <darin@apple.com>
-
- Reviewed by Tim Hatcher.
-
- - http://bugs.webkit.org/show_bug.cgi?id=10163
- some improvements for the inspector
-
- * WebInspector/WebInspector.m:
- (+[WebInspector sharedWebInspector:]): Fixed bug that could cause the inspector
- to be garbage collected if used in an application with GC enabled.
- (-[WebInspector dealloc]): Removed a call to a non-existent close method.
- (-[WebInspector window]): Added a custom WebPreferences object and called
- setPrivateBrowsingEnabled:YES so the inspector won't appear in the history menu.
- Also call setProhibitsMainFrameScrolling:YES to try to get rid of trouble where
- the inspector scrolls when dragging.
-
- * WebInspector/webInspector/inspector.css: Added style for the new color swatch,
- and JavaScript properties. More of the style should be shared between the panes,
- but this should be OK for now.
-
- * WebInspector/webInspector/inspector.html: Added a first cut at a JavaScript
- properties pane. Needs work, but better than nothing.
-
- * WebInspector/webInspector/inspector.js: Lots of improvements:
- - Omit "typical" property values from computed style display, making it much shorter.
- - Use the words "black", "white", and "transparent" when appropriate for color values.
- - Refactored the loaded() function to get rid of repetitive scrollbar setup.
- - Added a new scrollarea for the JavaScript properties pane.
- - Simplified refreshScrollbars() -- we now refresh all scrollbars every time, which does no harm.
- - Removed unused resultsWithXpathQuery().
- - Use [] instead of "new Array()" and {} instead of "new Object()".
- - Removed unused xpathForNode().
- - Changed style pane to display the style for a text node's parent instead of saying
- it can't display the style for text.
- - Fixed regression I caused a while back by checking the length of a computed style
- and not trying to display anything if its length is 0. Before this change and the
- corresponding change in WebCore, we'd see a complete list of all styles with the
- empty string as the value for each one.
- - Changed the name of the computedStyle flag on the style rules array to isComputedStyle
- to make it easier to understand it's a boolean.
- - Fixed an error in the code that does !important scanning where it was trying to
- do a special case for computed style, but was checking the computed style flag on
- the wrong object.
- - Added populateStyleListItem() function to factor out things in common between the
- items in the top level list and the expanded tree for shorthand properties.
- - Added code to make a color swatch next to the textual representation for any
- property that contains a color.
- - Implemented a first cut at a simple JavaScript properties pane.
-
-2006-07-29 Darin Adler <darin@apple.com>
-
- - Removed tabs from these source files that still had them.
- We don't use them; that way source files look fine in editors
- that have tabs set to 8 spaces or to 4 spaces.
- - Removed allow-tabs Subversion property from the files too.
-
- * DefaultDelegates/WebDefaultPolicyDelegate.m:
- * History/WebHistory.m:
- * Misc/WebDownload.m:
- * Misc/WebIconDatabase.m:
- * Misc/WebKitErrors.m:
- * Misc/WebKitLogging.m:
- * Misc/WebNSDataExtras.m:
- * Misc/WebNSFileManagerExtras.m:
- * Panels/WebPanelAuthenticationHandler.m:
- * Plugins/WebBaseNetscapePluginView.m:
- * Plugins/npfunctions.h:
- * WebCoreSupport/WebSubresourceLoader.m:
- * WebView/WebMainResourceLoader.m:
- * WebView/WebView.h:
- * WebView/WebView.m:
-
-2006-07-29 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Darin.
-
- - patch for http://bugs.webkit.org/show_bug.cgi?id=10080
- Adopt pedantic changes from the Unity project to improve
- cross-compiler compatibility
-
- Changes include:
- * Adding missing newline to the end of the file.
- * Turning on gcc warning for missing newline at the end of a source file
- (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebResourcePrivate.h:
-
-2006-07-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by John Sullivan.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=9984
- ASSERTION FAILURE: _private->mouseDownEvent != nil
- (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _setMouseDownEvent:]): Moved into the WebHTMLViewFileInternal category and changed
- to accept nil.
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- Copy the hit HTMLView's mouse down event to the top HTMLView.
- (-[WebHTMLView acceptsFirstMouse:]): Added a call to _setMouseDownEvent:nil before returning.
- (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Added a call to _setMouseDownEvent:nil
- before returning.
- (-[WebHTMLView mouseUp:]): Added a call to _setMouseDownEvent:nil to clear the event set in
- mouseDown: (and used during dragging).
- (-[WebHTMLView _delegateDragSourceActionMask]): Copy the hit HTMLView's mouse down event to
- the top HTMLView.
-
-2006-07-28 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/4657473> REGRESSION: Spell check not available from contextual menu in Mail
-
- The context menu code should be checking isContentEditable
- on DOMNode not just DOMElement. This is needed because DOMText
- will be the node class of any text that is clicked.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
-
-2006-07-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej, inspired by John.
-
- - Fixed <rdar://problem/4651931> 1% REGRESSION on iBench HTML due to
- repeated requests for non-existent favicon
-
- An optimization to avoid serializing favicon data for missing icons had stomped an
- optimization to avoid GETing a missing favicon more than once. The solution
- is a happy marriage of optimizations, ensuring that we *retain* the missing
- favicon's "i am missing" data without posting a notification or saving it to disk.
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase _setIconURL:forURL:]):
-
-2006-07-25 David Harrison <harrison@apple.com>
-
- Reviewed by timo and Darin.
-
- <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebView.m:
- (-[WebView replaceSelectionWithNode:]):
- (-[WebView _replaceSelectionWithNode:matchStyle:]):
- * WebView/WebViewPrivate.h:
- (-[WebView _replaceSelectionWithNode:matchStyle::]):
- New SPI that is same as replaceSelectionWithNode: with added parameter whether to match existing style.
-
-2006-07-24 Darin Adler <darin@apple.com>
-
- Reviewed by Adele and Justin.
-
- - update for change to require context when creating fragments from text
- (needed to handle whitespace properly)
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
- Added context parameter, pass through to bridge.
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Pass selection range as context
- when calling above method.
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Pass drag caret as context when
- calling above method.
-
-2006-07-24 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Geoff.
-
- - fix <rdar://problem/4609195> Help Viewer loads empty window (not getting didFailLoadingWithError: callback)
- (without re-introducing http://bugs.webkit.org/show_bug.cgi?id=10062 )
-
- * WebView/WebLoader.h:
- * WebView/WebMainResourceLoader.m:
- (-[WebMainResourceLoader receivedError:]): Copy in some code from the base class to do it in the proper
- order, surrounding the call to [ds _receivedMainResourceError:error complete:YES].
-
-2006-07-24 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Tim O.
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase removeAllIcons]):
- Make an array of the keys and iterate through it to avoid modifying the
- dictionary while enumerating it.
-
-2006-07-24 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John and Darin.
-
- <rdar://problem/4634290> Cannot selectively install a custom
- scroller that differs from the default Aqua frame size.
-
- Adds two new private methods to WebFrameView that allows
- an application to set a custom scroll view class. This is needed
- if the application wants to install a custom scroller that is wider
- than the typical scroller, because NSScrollView does the content
- rect calculations in a class method (ignoring custom scrollers.)
- The _setScrollViewClass method requires the class to be a subclass
- of WebDynamicScrollBarView, or nil can be passed to reset to the default class.
- A new scroll view of the specified class will then replace the previous
- one without the need to reload content of the frame.
-
- * WebView/WebFrameView.m:
- (-[WebFrameView _customScrollViewClass]):
- (-[WebFrameView _setCustomScrollViewClass:]):
- * WebView/WebFrameViewPrivate.h:
-
-2006-07-24 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Darin.
-
- Fix http://bugs.webkit.org/show_bug.cgi?id=10009
- REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
-
- * WebView/WebView.m:
- (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): If we've got a type supported by WebPDFView,
- make sure to initialize the plugin database, in case a plugin wants to handle it.
-
-2006-07-23 Mark Rowe <opendarwin.org@bdash.net.nz>
-
- Reviewed by Maciej.
-
- Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
- http://bugs.webkit.org/show_bug.cgi?id=9686
-
- WebKit portion of the fix.
-
- * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
- (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
- * DefaultDelegates/WebScriptDebugServer.h:
- * DefaultDelegates/WebScriptDebugServer.m:
- (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]): Notify
- listeners that an exception has been raised.
- * WebView/WebScriptDebugDelegate.h:
- * WebView/WebScriptDebugDelegate.m:
- (-[WebScriptCallFrame exceptionRaised:sourceId:line:]): Dispatch through to delegate and
- WebScriptDebugServer.
-
-2006-07-23 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- - Fix for <rdar://problem/4646276> CrashTracer: 7 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::paint + 155
-
- * WebView/WebHTMLView.m: (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
- needsDisplay was returning NO even though the view has a dirty rect (see <rdar://problem/4647062>). Since we know about
- the dirty rect, we don't actually need to check needsDisplay.
-
-2006-07-22 Timothy Hatcher <timothy@apple.com>
-
- Rolling out r15572.
-
- Bug 10062: REGRESSION: dom/xhtml/level2/html/HTMLIFrameElement11.xhtml asserts/crashes
- http://bugs.webkit.org/show_bug.cgi?id=10062
-
- 2006-07-21 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/4609195> Help Viewer loads empty window
- (not getting didFailLoadingWithError: callback)
-
- Call super's didFailWithError before _receivedMainResourceError
- because _receivedMainResourceError will cause the datasource's
- frame to be set to nil before the didFailLoadingWithError delegate
- callback is sent. (This order is needed now that WebDataSource does
- not hold on to the WebView; it uses the WebFrame to get to the WebView.
- If the WebFrame is nil we can't get to the WebView's resource load delegate.)
-
- * WebView/WebMainResourceLoader.m:
- (-[WebMainResourceLoader receivedError:]):
-
-
-2006-07-22 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Adele.
-
- <rdar://problem/4646318> REGRESSION: Ctrl-clicking on a selection containing a word doesn't display a complete contextual menu
-
- Show the editing context menu if the WebView is editible.
- The original change only checked if the DOM element was editable,
- and isContentEditable returns NO if entire WebView is editable.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
-
-2006-07-21 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/4609195> Help Viewer loads empty window
- (not getting didFailLoadingWithError: callback)
-
- Call super's didFailWithError before _receivedMainResourceError
- because _receivedMainResourceError will cause the datasource's
- frame to be set to nil before the didFailLoadingWithError delegate
- callback is sent. (This order is needed now that WebDataSource does
- not hold on to the WebView; it uses the WebFrame to get to the WebView.
- If the WebFrame is nil we can't get to the WebView's resource load delegate.)
-
- * WebView/WebMainResourceLoader.m:
- (-[WebMainResourceLoader receivedError:]):
-
-=== Safari-521.20 ===
-
-2006-07-21 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/4607572> REGRESSION (521.10.1 - 521.13): most context menu items missing when a form field is focused (common on google.com) (9680)
-
- Do not use _isEditable call since that only checks if the current
- selection or frame is editible. We now check if the currently clicked element
- is a content editible area, a textarea, an isindex or an input element that
- return YES to _isTextField.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
-
-2006-07-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Maciej
-
- - WebKit part of fix for:
- <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving
- closing tabs after clicking in a web page
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge textViewWasFirstResponderAtMouseDownTime:]):
- renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)
-
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebHTMLView.m:
- (-[WebTextCompleteController dealloc]):
- updated for name change
- (-[NSArray _setMouseDownEvent:]):
- Now only retains the first responder if it's a textView, since that's the only case that the only client
- actually cares about. This avoids a reference cycle caused by retaining self. This is the only substantive
- part of the patch; all the rest is just renaming for clarity, and comments.
- (-[NSArray mouseDown:]):
- updated for name change
- (-[WebHTMLView _textViewWasFirstResponderAtMouseDownTime:]):
- renamed to be more specific (formerly _wasFirstResponderAtMouseDownTime:)
-
-2006-07-19 Tim Omernick <timo@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or other WebPreferences changes)
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
- Stop the plug-in when it is removed from its superview. It is not sufficient to do this in -viewWillMoveToWindow:nil, because
- the WebView might still has a hostWindow at that point, which prevents the plug-in from being destroyed.
- There is no need to start the plug-in when moving into a superview. -viewDidMoveToWindow takes care of that.
-
-=== Safari-521.19 ===
-
-2006-07-17 Tim Omernick <timo@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
- by script
-
- * WebView/WebViewPrivate.h:
- * WebView/WebView.m:
- (-[WebView setProhibitsMainFrameScrolling:]):
- New method. Prohibits scrolling in the WebView's main frame. Used to "lock" a WebView to a specific
- scroll position.
-
-2006-07-17 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4635311> REGRESSION: WebKit should call windowScriptObjectAvailable before attaching the script debugger
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge windowObjectCleared]):
-
-2006-07-17 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit
-
- Copy WebScriptObject.h from WebCore's private headers, not JavaScriptCore.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-07-17 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - fixed <rdar://problem/4604366> Orange Find highlight displays text in wrong size on PDF pages
- if they're not at "actual size"
-
- To match WebHTMLView, I made the methods that return attributed strings take the view's scale
- factor into account.
-
- * WebView/WebPDFView.m:
- (-[WebPDFView _scaledAttributedString:]):
- new helper method, takes an attributed string and returns one that's scaled by the view's
- current scale factor
- (-[WebPDFView attributedString]):
- pass result through _scaledAttributedString:
- (-[WebPDFView selectedAttributedString]):
- ditto
-
-2006-07-17 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by levi
-
- Rolled the first fix for:
- <http://bugs.webkit.org/show_bug.cgi?id=9642>
- GMail Editor: Operations that use drop down menus blow away the selection
- back in and removed the call to _clearSelectionInOtherFrames from
- -[WebHTMLView becomeFirstResponder] to fix the bug.
-
- * WebView/WebHTMLView.m:
- (-[NSArray maintainsInactiveSelection]):
- (-[NSArray becomeFirstResponder]):
- * WebView/WebView.m:
- (-[WebView maintainsInactiveSelection]):
-
-2006-07-15 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=9928
- REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _documentRange]): Moved into WebHTMLViewFileInternal category.
- (-[WebHTMLView selectionRect]): Moved into WebDocumentPrivateProtocols category.
- (-[WebHTMLView selectionView]): Ditto.
- (-[WebHTMLView selectionImageForcingWhiteText:]): Ditto.
- (-[WebHTMLView selectionImageRect]): Ditto.
- (-[WebHTMLView pasteboardTypesForSelection]): Ditto.
- (-[WebHTMLView selectAll]): Ditto.
- (-[WebHTMLView deselectAll]): Ditto.
- (-[WebHTMLView string]): Ditto.
- (-[WebHTMLView _attributeStringFromDOMRange:]): Ditto.
- (-[WebHTMLView attributedString]): Ditto.
- (-[WebHTMLView selectedString]): Ditto.
- (-[WebHTMLView selectedAttributedString]): Ditto.
- (-[WebHTMLView supportsTextEncoding]): Ditto.
- (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Moved into WebDocumentInternalProtocols.
- (-[WebHTMLView _isMoveDrag]): Ditto.
- (-[WebHTMLView _isNSColorDrag:]): Ditto.
- (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
- (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto.
- (-[WebHTMLView elementAtPoint:]): Ditto.
- (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
-
- * WebKit.xcodeproj/project.pbxproj: Let Xcode 2.3 do its thing.
-
-=== Safari-521.17 ===
-
-2006-07-14 Timothy Hatcher <timothy@apple.com>
-
- Rolling out this fix from r15358 since it isn't resolved.
-
- 2006-07-11 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by levi & thatcher
-
- <http://bugs.webkit.org/show_bug.cgi?id=9642>
- GMail Editor: Operations that use drop down menus blow away the selection
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
- when resigning as first responder if the selection is editable
- or if the WebView tells us to.
- * WebView/WebView.m:
- (-[WebView maintainsInactiveSelection]): Just because a WebView is
- editable doesn't mean selections inside subframes will be. Return
- NO by default.
-
-2006-07-14 Timothy Hatcher <timothy@apple.com>
-
- <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure
-
- Build fix with the new GCC. Removes forward declarations of protocols.
-
- * Misc/WebSearchableTextView.h:
- * WebCoreSupport/WebSubresourceLoader.h:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDocumentInternal.h:
- * WebView/WebDocumentPrivate.h:
- * WebView/WebHTMLView.h:
- * WebView/WebPDFView.h:
- * WebView/WebScriptDebugDelegatePrivate.h:
-
-2006-06-28 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=9625
- <rdar://problem/4604703>
- REGRESSION: Focus not removed from password field after ctrl-click in text field
-
- * WebView/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): Set handlingMouseDownEvent to
- YES while calling sendContextMenuEvent: on the bridge.
-
-2006-07-14 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Maciej.
-
- Moved JavaScriptCore to be a public framework.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-07-13 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=9795
- REGRESSION: Crash in [WebHTMLView(WebPrivate)
- _updateMouseoverWithEvent:]
- and http://bugs.webkit.org/show_bug.cgi?id=9850
- REGRESSION: Assertion failure (SHOULD NEVER BE REACHED) in -
- [WebHTMLView(WebPrivate) removeTrackingRect:]
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _updateMouseoverWithEvent:]): Return immediately if
- the view has already been closed.
-
-2006-07-13 David Harrison <harrison@apple.com>
-
- Reviewed by Justin and Levi.
-
- <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing
-
- * Tests:
- editing/deleting/delete-by-word-001.html
- editing/deleting/delete-by-word-002.html
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
-
-2006-07-13 Timothy Hatcher <timothy@apple.com>
-
- Rolling out this earlier change (r15378) now that it is fixed on AGL's end.
- Fixes <rdar://problem/4624865> Restore 64-bit OpenGL plug-in support once AGL is 64-bit
-
- <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.m:
-
-2006-07-13 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4616920> REGRESSION: tabbing in mail moves focus
- to next control instead of inserting a tab space.
-
- Change editible WebView's tabKeyCyclesThroughElements to NO only
- if the setTabKeyCyclesThroughElements SPI wasn't called.
-
- * WebView/WebView.m:
- (-[WebView setEditable:]):
-
-2006-07-12 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin.
-
- http://bugs.webkit.org/show_bug.cgi?id=9624
- REGRESSION: After ctrl-clicking in a EMPTY input or textarea field, the contextual menu shows "Search in Google" and "Search in Spotlight" as active menu items
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
- Don't create Dictionary, Spotlight or Google lookup items if there's no selection.
-
-2006-07-12 Mark Rowe <opendarwin.org@bdash.net.nz>
-
- Reviewed by Timothy.
-
- http://bugs.webkit.org/show_bug.cgi?id=9868
- Applications shown in Drosera's "Attach" window remain after exit
-
- * DefaultDelegates/WebScriptDebugServer.m:
- (-[WebScriptDebugServer init]): Register for NSApplicationWillTerminateNotification so we will
- know when the application is being exited.
- (-[WebScriptDebugServer dealloc]): Unregister notification before we are deallocated.
- (-[WebScriptDebugServer applicationTerminating:]): Inform anyone listening that we are going away.
-
-2006-07-12 Tim Omernick <timo@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
-
- Also, fixed a LOG_ERROR() so that it uses the CGL error instead of the AGL error; Tim H missed this in his build fix
- from earlier.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.m:
-
-2006-07-11 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin and Tim O
-
- - added support for creating a selection image with white text
-
- * WebView/WebDocumentPrivate.h:
- added -selectionImageForcingWhiteText: and -selectionImageRect to the private
- <WebDocumentSelection> protocol
-
- * Misc/WebSearchableTextView.m:
- (-[NSString selectionImageForcingWhiteText:]):
- added stub for this new method to this obsolete class to satisfy the compiler
- (-[NSString selectionImageRect]):
- ditto
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _selectionDraggingImage]):
- now calls -selectionImageForcingWhiteText:NO instead of just -selectionImage
- (-[WebHTMLView _selectionDraggingRect]):
- now calls selectionImageRect, to which the implementation moved
- (-[WebHTMLView selectionImageForcingWhiteText:]):
- implemented this new method by calling through to new bridge method selectionImageForcingWhiteText:
- (-[WebHTMLView selectionImageRect]):
- implemented this new method by using existing _selectionDraggingRect implementation
-
- * WebView/WebPDFView.m:
- (-[WebPDFView selectionImageForcingWhiteText:]):
- implemented by using code that was formerly in Safari
- (-[WebPDFView selectionImageRect]):
- implemented by returning selectionRect
-
-2006-07-11 Tim Omernick <timo@apple.com>
-
- Reviewed by Geoff.
-
- <http://bugs.webkit.org/show_bug.cgi?id=9843>:
- Give Netscape plug-ins access to their own DOM element
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView dealloc]):
- Release DOM element.
- (-[WebBaseNetscapePluginView getVariable:value:]):
- Return NPObject for plugin DOM element.
-
- * Plugins/WebNetscapePluginEmbeddedView.h:
- * Plugins/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
- Now takes a DOMElement, in much the same way that WebKit plug-in views take a DOMElement.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
- Pass DOMElement to Netscape plug-ins.
- (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
- ditto
-
-2006-07-11 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by levi & thatcher
-
- <http://bugs.webkit.org/show_bug.cgi?id=9642>
- GMail Editor: Operations that use drop down menus blow away the selection
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
- when resigning as first responder if the selection is editable
- or if the WebView tells us to.
- * WebView/WebView.m:
- (-[WebView maintainsInactiveSelection]): Just because a WebView is
- editable doesn't mean selections inside subframes will be. Return
- NO by default.
-
-2006-07-11 Tim Omernick <timo@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/4622748> WebKit now uses deprecated AGL functions
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
- aglSetDrawable() is deprecated in AGL 3.0. Use aglSetWindowRef() instead.
- (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
- aglSetOffScreen() is deprecated in AGL 3.0. Use CGLSetOffScreen(), which does the same thing.
-
-2006-07-11 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Tim O.
-
- - http://bugs.webkit.org/show_bug.cgi?id=7808
- Assertion failure in -[WebBaseNetscapePluginStream dealloc] when requesting an invalid URL
-
- * Plugins/WebNetscapePluginStream.m:
- (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
- Remove the early return when requesting an invalid (unsupported) URL.
-
-=== Safari-521.16 ===
-
-2006-07-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by John Sullivan.
-
- - fix <rdar://problem/4621541>, aka <http://bugs.webkit.org/show_bug.cgi?id=9838>
- REGRESSION (r14968-r14977): View Source doesn't work for pages from the back/forward cache
-
- * WebView/WebDataSource.m:
- (-[WebDataSource _setPrimaryLoadComplete:]): Set our data only if the frame loader is
- has just loaded it (when coming from the back/forward cache, it hasn't).
-
-2006-07-10 Brady Eidson <beidson@apple.com>
-
- Reviewed by Alexey
-
- Resolved the console error messages people got from the new DB even if they didn't have it enabled
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase init]):
- Disabled initializing the IconDatabaseBridge if user is living on the old DB
-
-2006-07-10 Darin Adler <darin@apple.com>
-
- - try to fix Windows build
-
- * COM/WebFrame.h: Qualify DeprecatedString and KURL with WebCore:: prefixes.
-
-2006-07-09 Darin Adler <darin@apple.com>
-
- - try to fix Windows build
-
- * COM/WebFrame.cpp: Rename QChar to DeprecatedChar.
-
-2006-07-09 Darin Adler <darin@apple.com>
-
- - fix newlines to be consistent for all files in the COM directory
- (many had mixed style) and set the EOL style to "native" on them.
-
- * COM/*: Set properties and changed files.
-
-2006-07-09 Tim Omernick <timo@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/4404652> Netscape plug-in mouse events broken in HiDPI
-
- Multiply global mouse coordinates by the window scale factor so that plug-ins can use GlobalToLocal() in HiDPI.
- This fixes many bugs involving plug-in mouse event handling in HiDPI. Most notably, the Flash player will now
- correctly respond to clicks.
-
- * Plugins/WebBaseNetscapePluginView.m:
- (+[WebBaseNetscapePluginView getCarbonEvent:]):
- (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
-
-2006-07-09 Darin Adler <darin@apple.com>
-
- Reviewed by Tim Hatcher.
-
- - fix assertion firing in plug-in layout tests
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView restartNullEvents]):
- Don't start null events if the plug-in is not in the
- started state. This happens when the plug-in moves within
- its view hierarchy after it has been stopped.
-
-2006-07-09 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Bug 9820: Move new DOM API that has been through API review to public headers
- http://bugs.webkit.org/show_bug.cgi?id=9820
-
- * Misc/WebElementDictionary.m: include DOMExtensions.h
- * Misc/WebNSViewExtras.m: include DOMExtensions.h
- * WebKit.xcodeproj/project.pbxproj: make DOMXPath.h public
-
-2006-07-09 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Kevin.
-
- Bug 9818: move new UIDelegate API that has been through API review to public headers
- http://bugs.webkit.org/show_bug.cgi?id=9818
-
- <rdar://problem/4387541> API: Remove webView:setContentRect: & webViewContentRect: delegate methods?
- The fix for 4310363 removed the only use of webViewContentRect: in our code. webView:setContentRect:
- was never used to begin with. There's no harm in leaving these around in the API, but they'll cruft it up.
-
- Also removes the never used webViewPrint: SPI that was replaced by webView:printFrameView:.
-
- * DefaultDelegates/WebDefaultUIDelegate.m:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge print]):
- * WebView/WebFrameView.h:
- * WebView/WebFrameView.m:
- * WebView/WebFrameViewPrivate.h:
- * WebView/WebUIDelegate.h:
- * WebView/WebUIDelegatePrivate.h:
-
-2006-07-09 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Bug 9814: Move new WebView API that has been through API review to public headers
- http://bugs.webkit.org/show_bug.cgi?id=9814
-
- * WebView/WebView.h:
- * WebView/WebView.m:
- (-[WebView close]):
- (-[WebView setShouldCloseWithWindow:]):
- (-[WebView shouldCloseWithWindow]):
- (-[WebView selectedFrame]):
- (-[WebView setMainFrameURL:]):
- (-[WebView mainFrameURL]):
- (-[WebView isLoading]):
- (-[WebView mainFrameTitle]):
- (-[WebView mainFrameIcon]):
- (-[WebView mainFrameDocument]):
- (-[WebView setDrawsBackground:]):
- (-[WebView drawsBackground]):
- (-[WebView toggleSmartInsertDelete:]):
- (-[WebView toggleContinuousSpellChecking:]):
- (-[WebView canMakeTextStandardSize]):
- (-[WebView makeTextStandardSize:]):
- (-[WebView maintainsInactiveSelection]):
- * WebView/WebViewPrivate.h:
-
-2006-07-09 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Maciej.
-
- Bug 9487: The XPath section should be removed and/or moved.
- http://bugs.webkit.org/show_bug.cgi?id=9487
-
- * WebInspector/webInspector/inspector.css:
- * WebInspector/webInspector/inspector.html:
- * WebInspector/webInspector/inspector.js:
-
-2006-07-09 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Tim O.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
- Initialize wkPathFromFont.
-
-2006-07-09 Darin Adler <darin@apple.com>
-
- - fix release build
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView restorePortState:]): Cast inside the assertion so
- that we don't have an unused variable in versions with assertions disabled.
- The alternative would be to wrap the whole thing in an #if statement.
-
-2006-07-08 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- * Plugins/WebBaseNetscapePluginView.h:
- - Added ivars for OpenGL support. Someday it would be nice to refactor this class so
- that each drawing model is encapsulated in a class; this would allow
- WebBaseNetscapePluginView to make more efficient use of space, for example by not
- keeping OpenGL-related ivars for Quickdraw plug-ins.
-
- * Plugins/WebBaseNetscapePluginView.m:
- - Declared a bunch of internal methods for OpenGL support (see below).
- - Removed "forUpdate" from CoreGraphics port state struct; it was always set to "YES",
- so I just cleaned up the silly code that used it.
- - Declared OpenGL port state struct.
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- - Moved a CoreGraphics-related assertion down to the big "switch" statement.
- - Don't set window.type here -- according to the Netscape Plug-in API docs, the plug-in
- should default to "windowed" mode, and may call NPN_SetValue() during its NPN_New() to
- request that the browser use a "windowless" (offscreen) context instead.
- - Moved the assertion from the top of this method here; removed a less restrictive
- assertion that is now obsolete.
- - Removed "forUpdate" flag from CoreGraphics port state struct.
- - Fill in OpenGL port state struct. Set up the viewport appropriately for both windowed
- and windowless OpenGL plug-ins. Windowed plug-ins need to have their GL viewport
- transformed by the amount the plug-in is clipped; windowless plug-ins are drawn off-screen
- into a surface whose geometry is never changed or clipped, so they may always draw with
- a viewport origin of (0, 0).
- (-[WebBaseNetscapePluginView restorePortState:]):
- - Removed "forUpdate" flag from CoreGraphics port state struct.
- - Restore the old OpenGL context saved by -saveAndSetNewPortStateForUpdate:.
- (-[WebBaseNetscapePluginView sendEvent:]):
- - Updated an assertion to also include OpenGL. To ensure that attached plug-in window movements
- happen atomically with web page redisplays, we assert that the plug-in's window is set only while
- the plug-in view is redrawing.
- - Same deal as with the assertion; only save/set port state when redrawing the plug-in view. Plug-ins
- that use the new drawing models are only allowed to draw when the web page draws. I might consider
- changing this for windowed OpenGL plug-ins, since they always obscure the page content anyway.
- (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
- - Compare new NP_GLContext structs.
- (-[WebBaseNetscapePluginView updateAndSetWindow]):
- - In OpenGL mode, can only set window when updating plug-in view.
- (-[WebBaseNetscapePluginView setWindowIfNecessary]):
- - ditto
- - Updated logging for OpenGL drawing mode.
- (-[WebBaseNetscapePluginView addWindowObservers]):
- - No need to observe frame/bounds change notifications for this and all parent views. See -renewGState
- comments below.
- (-[WebBaseNetscapePluginView removeWindowObservers]):
- - Don't need to remove frame/bounds observers anymore.
- (-[WebBaseNetscapePluginView start]):
- - Plug-ins are "windowed" by default. This is not a change from our previous behavior, but this is a
- better place to set the default value as it allows the plug-in to override it later.
- (-[WebBaseNetscapePluginView stop]):
- - Destroy AGL context when the plug-in stops.
- (-[WebBaseNetscapePluginView dealloc]):
- - Assert that the AGL stuff has been cleaned up.
- (-[WebBaseNetscapePluginView drawRect:]):
- - If this is a windowless OpenGL plugin, blit its contents back into this view.
- (-[WebBaseNetscapePluginView renewGState]):
- - This method is called when the view or one of its parents is moved or resized (see comments).
- (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
- - Hide the AGL window if the plug-in view is about to be removed from its window.
- (-[WebBaseNetscapePluginView viewHasMoved:]):
- - Renamed and moved to the "Internal" category.
- (-[WebBaseNetscapePluginView invalidateRegion:]):
- - Style changes.
- - Add support for OpenGL (uses the same region type as CoreGraphics).
- (-[WebBaseNetscapePluginView getVariable:value:]):
- - Style changes.
- - Implemented NPNVsupportsOpenGLBool; returns YES since we now support the OpenGL drawing model.
- (-[WebBaseNetscapePluginView setVariable:value:]):
- - Implemented NPPVpluginWindowBool, which allows plug-ins to specify whether they should be rendered in
- "windowed" or "windowless" mode. This is an older part of the Netscape Plug-in API that was never
- implemented in WebKit. "Windowed" Quickdraw plug-ins do not actually reside in a separate window, and
- can already do many of the same things (such as transparency) that only "windowless" plug-ins can do on
- other platforms. However, we need the "windowed" vs. "windowless" distinction for OpenGL plug-ins so
- that they have some way of specifying whether they should be rendered on an accelerated overlay surface,
- composited into the browser window.
- - Support for setting the drawing model to OpenGL.
- (-[WebBaseNetscapePluginView _viewHasMoved]):
- - Renamed from -viewHasMoved:, and moved down in the file.
- - None of this work is necessary when the plug-in is not in a window; the plug-in's state will be properly
- restored when it is moved back into a window.
- - Reshape OpenGL surface window here.
- (-[WebBaseNetscapePluginView _createAGLContextIfNeeded]):
- - Creates the AGL context of the appropriate type (windowed/windowless).
- (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
- - Creates a windowed AGL context, which is an AGL context attached to a child window. This is the only way
- to get true hardware acceleration.
- (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
- - Creates a windowless AGL context, which is an AGL context attached to an offscreen buffer. This buffer can
- then be blitted back into the browser window with a different alpha, or scaled, or whatever.
- (-[WebBaseNetscapePluginView _cglContext]):
- - Returns the underlying CGL context from the AGL context. We give the plug-in access to the CGL context because
- CGL is the more primitive of the GL drawable APIs and allows for finer control over the context.
- (-[WebBaseNetscapePluginView _getAGLOffscreenBuffer:width:height:]):
- - Returns the buffer allocated for the offscreen AGL context, if there is one.
- (-[WebBaseNetscapePluginView _destroyAGLContext]):
- - Destroys the AGL context, as well as the associated offscreen buffer or child window.
- (-[WebBaseNetscapePluginView _reshapeAGLWindow]):
- - Positions the AGL window over the browser window.
- (-[WebBaseNetscapePluginView _hideAGLWindow]):
- - Hides the AGL window.
- (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
- - Returns an NSImage representation of the offscreen AGL context's framebuffer. This is used to draw the offscreen
- bits back into the plug-in view. This is kind of tricky because it has to convert the offscreen buffer in-place
- from BGRA to RGBA so that it can be wrapped in an NSBitmapImageRep. See comments.
-
- * WebKit.xcodeproj/project.pbxproj:
- Link OpenGL and AGL.
-
-2006-07-09 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- The ICONDEBUG flag now chooses either the new icon database or the old one
- No longer any need to live side by side to compare results
-
- * Misc/WebIconDatabase.m:
- (-[NSMutableDictionary iconURLForURL:]):
- (-[NSMutableDictionary retainIconForURL:]):
- (-[NSMutableDictionary releaseIconForURL:]):
- (-[WebIconDatabase _setHaveNoIconForIconURL:]):
- (-[WebIconDatabase _setIconURL:forURL:]):
- (-[WebIconDatabase _resetCachedWebPreferences:]):
-
-2006-07-08 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Maciej.
-
- Bug 5312: comments aren't available via DOM
- http://bugs.webkit.org/show_bug.cgi?id=5312
-
- Makes the Web Inspector show comment node contents.
-
- * WebInspector/WebInspector.m:
- (-[DOMNode _displayName]): return the contents of the comment
- * WebInspector/webInspector/inspector.js: check for comment nodes
-
-2006-07-09 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Darin.
-
- - http://bugs.webkit.org/show_bug.cgi?id=9572
- Add application/xhtml+xml to the Accept header
-
- * WebView/WebFrame.m:
- (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Add an Accept header
- to main resource requests.
- * English.lproj/StringsNotToBeLocalized.txt: Added new strings.
-
-2006-07-08 Darin Adler <darin@apple.com>
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
- Removed misleading old comment.
-
-=== Safari-521.15 ===
-
-2006-07-07 Levi Weintraub <lweintraub@apple.com>
-
- Reviewed by justin
-
- Finished moving deletion selection expansion across the bridge... say that 3 times fast.
-
- * WebView/WebHTMLView.m: Pass granularity to WebCore to handle expansion
- (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
- (-[WebHTMLView _deleteSelection]):
- (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
- (-[WebHTMLView deleteToMark:]):
-
-2006-07-07 Brady Eidson <beidson@apple.com>
-
- Reviewed by John
-
- Changed an ASSERT to a LOG_ERROR for an error that could be handled gracefully, but
- whose assertion was reproducibly causing a build bot failure
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase _releaseIconForIconURLString:]):
-
-2006-07-06 Levi Weintraub <lweintraub@apple.com>
-
- Reviewed by justin
-
- Improved table editing
-
- * WebCoreSupport/WebFrameBridge.m: Added method to allow WebCore to trigger
- deletion editing delegate
- (-[WebFrameBridge shouldDeleteSelectedDOMRange:]):
- * WebView/WebHTMLView.m: Moved code that expanded a selection when the delete
- key is pressed over to WebCore so we can be more intelligent about how to handle it
- (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
- (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
-
-2006-07-07 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Hatcher
-
- - fixed <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported
-
- * WebKit.exp:
- added surprisingly missing _WebPreferencesChangedNotification, defined in
- WebPreferences.h
-
-2006-07-06 Brady Eidson <beidson@apple.com>
-
- Reviewed by John.
-
- Small fix to my previous small fix that only lets the ASSERT off the hook if the DB
- is closing
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase _releaseIconForIconURLString:]):
-
-2006-07-05 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- Small fix that prevents an assertion from triggering if the DB is being cleaned up
- (ie, the app being shut down)
-
- * Misc/WebIconDatabase.h:
- * Misc/WebIconDatabase.m:
- (-[NSMutableDictionary init]):
- (-[WebIconDatabase _applicationWillTerminate:]):
- (-[WebIconDatabase _releaseIconForIconURLString:]):
-
-2006-07-05 Adele Peterson <adele@apple.com>
-
- Reviewed by Maciej and Hyatt.
-
- WebKit part of initial popup menu implementation.
-
- * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
- Initialize WKPopupMenu.
-
-2006-07-05 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- http://bugs.webkit.org/show_bug.cgi?id=3581
- iFrames set to display:none are Missing from frames array
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
- (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
- Modify to pass the owner element instead of the owner renderer.
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _topHTMLView]):
- Remove assertion, it's not valid anymore.
-
-2006-07-05 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Harrison.
-
- <rdar://problem/4608423> HIViewAdapter used but not defined
- Adds a new export file to fix the build.
-
- * WebKit.LP64.exp: Added.
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-07-04 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Maciej.
-
- Bug 9731: [Drosera] crash when trying to access the scope chain
- http://bugs.webkit.org/show_bug.cgi?id=9731
-
- Because of <rdar://problem/4608404> the WebScriptObject, _globalObj, that
- WebCoreScriptDebugger holds is unprotected each time the page changes.
- This causes Drosera to crash Safari when trying to access the scope chain.
- We simply need to detach and re-attach the debugger when the window script
- object is cleared until 4608404 is fixed. This change also attaches the
- debugger before we call the windowScriptObjectAvailable: delegate method,
- so the debugger is ready before anyone might use the window object.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge windowObjectCleared]):
-
-2006-07-04 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Bug 9732: [Drosera] calling removeListener to many times will cause
- WebKit's listener count to underflow/wraparound
- http://bugs.webkit.org/show_bug.cgi?id=9732
-
- Adds a check to make sure the listener was in our listeners set before
- decrementing the global listener count. Also checks for nil in addListner
- to prevent a possible exception when adding the object to the set.
-
- * DefaultDelegates/WebScriptDebugServer.m:
- (-[WebScriptDebugServer addListener:]):
- (-[WebScriptDebugServer removeListener:]):
-
-2006-07-04 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Maciej.
-
- - http://bugs.webkit.org/show_bug.cgi?id=8210
- Conditional XMLHttpRequest gets should pass 304 responses unchanged
-
- Test: http/tests/xmlhttprequest/cache-override.html
-
- * Misc/WebNSURLRequestExtras.h: Added _web_isConditionalRequest
- * Misc/WebNSURLRequestExtras.m:
- (-[NSURLRequest _web_isConditionalRequest]):
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- Bypass the cache for conditional requests.
- * WebCoreSupport/WebSubresourceLoader.m:
- (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Ditto.
-
-2006-07-01 David Kilzer <ddkilzer@kilzer.net>
-
- Reviewed by NOBODY (fixed Tim's build fix).
-
- * WebView/WebView.m: Added back missing '/' at the beginning of the file.
-
-2006-07-01 Tim Omernick <timo@apple.com>
-
- Reviewed by NOBODY (build fix)
-
- * WebView/WebView.m:
- (-[WebView _isMIMETypeRegisteredAsPlugin:]):
- Changed nil to NO (typo).
-
-=== Safari-521.14 ===
-
-2006-06-30 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Only enable shouldCloseWithWindow when ObjC GC is enabled.
- This maintains backwards compatibility with applications
- that expect a WebView to be usable after the window closes.
-
- * WebView/WebView.m:
- (-[WebViewPrivate init]):
-
-2006-06-30 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Anders.
-
- Call _close in dealloc to ensure we cleanup for backwards
- compatibility. This will safeguard and cleanup even if the
- application doesn't use the new close API yet, like Mail.
-
- * WebView/WebView.m:
- (-[WebView dealloc]):
-
-2006-06-29 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4484405> WebKit leaks, improper tear-down
- <rdar://problem/3694059> -[WebBackForwardList finalize] is incorrect; design change needed
- <rdar://problem/3694103> -[WebFrame finalize] is incorrect; design change needed
- <rdar://problem/3694104> -[WebHTMLView finalize] is incorrect; design change needed
-
- Adds a close method to WebView, this needs to be called when the
- WebView is no longer needed. To make this easier for the common cases
- there is now an "auto close" on WebView that listens to the view's
- parent window. If the parent window closes and the WebView has no
- hostWindow then the WebView is automatically closed if autoClose is YES.
- To manage WebView closing yourself call setAutoClose: and pass NO.
-
- When a WebView closes it will tear-down and not be usable anymore.
- Close will will called on various other internal objects as a part
- of this, to ensure proper tear-down in GC without relying on finalize.
-
- * History/WebBackForwardList.m:
- (-[WebBackForwardList dealloc]):
- (-[WebBackForwardList finalize]):
- (-[WebBackForwardList _close]):
- * History/WebHistoryItem.m:
- (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
- (+[WebHistoryItem _releaseAllPendingPageCaches]):
- * History/WebHistoryItemPrivate.h:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge close]):
- (-[WebFrameBridge saveDocumentToPageCache:]):
- (-[WebFrameBridge canGoBackOrForward:]):
- * WebView/WebFrame.m:
- (-[WebFrame _detachFromParent]):
- (-[WebFrame dealloc]):
- (-[WebFrame finalize]):
- * WebView/WebFrameView.m:
- (-[WebFrameView _setWebFrame:]):
- (-[WebFrameView finalize]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView close]):
- (-[WebHTMLView dealloc]):
- (-[WebHTMLView finalize]):
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebHTMLViewPrivate.h:
- * WebView/WebScriptDebugDelegate.m:
- (-[WebScriptCallFrame _initWithFrame:initWithWebFrame:]):
- (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
- (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
- (-[WebScriptCallFrame hitStatement:sourceId:line:]):
- (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
- * WebView/WebScriptDebugDelegatePrivate.h:
- * WebView/WebView.m:
- (-[WebViewPrivate init]):
- (-[WebView _close]):
- (-[WebView dealloc]):
- (-[WebView finalize]):
- (-[WebView viewWillMoveToWindow:]):
- (-[WebView _windowWillClose:]):
- (-[WebView setPreferencesIdentifier:]):
- (-[WebView mainFrame]):
- (-[WebView setHostWindow:]):
- (-[WebView searchFor:direction:caseSensitive:wrap:]):
- (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
- (-[WebView close]):
- (-[WebView setAutoClose:]):
- (-[WebView autoClose]):
- (-[WebView _frameViewAtWindowPoint:]):
- * WebView/WebViewPrivate.h:
-
-2006-06-29 Kevin Decker <kdecker@apple.com>
-
- Reviewed by mjs and timo.
-
- Fixed: <rdar://problem/4609119> handleAuthenticationFromResource was removed; needed by the Dashboard
-
- * WebView/WebViewPrivate.h: Added handleAuthenticationFromResource back into the header. Needed by the
- Dashboard, but was removed in r.14028 on 2006-04-23.
-
-2006-06-29 Tim Omernick <timo@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/4608487> REGRESSION: reproducible crash in +[WebCoreFrameBridge supportedImageMIMETypes]
-
- * Plugins/WebPluginDatabase.m:
- (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
- One might be tempted to add additionalWebPlugInPaths to the global WebPluginDatabase here.
- For backward compatibility with earlier versions of the +setAdditionalWebPlugInPaths: SPI,
- we need to save a copy of the additional paths and not cause a refresh of the plugin DB
- at this time.
- (-[WebPluginDatabase _plugInPaths]):
- Include additionalWebPlugInPaths if this is the global DB.
- (-[WebPluginDatabase refresh]):
- Call -_plugInPaths to get the modified array of paths. This is similar to what the old code
- (before we had per-WebView plugin search paths).
-
-2006-06-29 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- WebHistoryItem now supports getting and setting arbitrary properties via _transientPropertyForKey: and
- -_setTransientProperty:forKey:.
- For now, these properties do not persist with the rest of the history data. They are intended to hold transient
- per-history-item state, which is something that was until now difficult for a WebKit client app to do.
-
- * History/WebHistoryItemPrivate.h:
- * History/WebHistoryItem.m:
- (-[WebHistoryItemPrivate dealloc]):
- (-[WebHistoryItem _transientPropertyForKey:]):
- (-[WebHistoryItem _setTransientProperty:forKey:]):
-
-2006-06-29 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Harrison.
-
- Smart insert and delete, continuous spell checking and autoscroll
- can now be used for any WebView, not just editable ones. All of
- these make sense for documents that might contain content editable
- areas or our new text fields. Autoscroll is usefull for dragging
- for file input controls also.
-
- Added a SPI to toggle WebViews tab key behavior, tabKeyCyclesThroughElements.
- WebHTMLView's _interceptEditingKeyEvent now uses WebView's
- tabKeyCyclesThroughElements state to determine whether or not
- to process tab key events. The idea here is that tabKeyCyclesThroughElements
- will be YES when this WebView is being used in a browser, and we
- desire the behavior where tab moves to the next element in tab order.
- If tabKeyCyclesThroughElements is NO, it is likely that the WebView
- is being embedded as the whole view, as in Mail, and tabs should input
- tabs as expected in a text editor. Using Option-Tab always cycles
- through elements.
-
- * WebView/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _interceptEditingKeyEvent:]):
- * WebView/WebView.m:
- (-[WebViewPrivate init]):
- (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
- (-[WebView _shouldAutoscrollForDraggingInfo:]):
- (-[WebView validateUserInterfaceItem:]):
- (-[WebView toggleSmartInsertDelete:]):
- (-[WebView toggleContinuousSpellChecking:]):
- (-[WebView setTabKeyCyclesThroughElements:]):
- (-[WebView tabKeyCyclesThroughElements]):
- * WebView/WebViewPrivate.h:
-
-2006-06-29 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Tim O.
-
- * WebKit.xcodeproj/project.pbxproj:
- Add DOMXPath.h header.
-
-2006-06-28 David Hyatt <hyatt@apple.com>
-
- Fix custom highlighting so that you can paint the entire line (and go
- outside the bounds of the line).
-
- Reviewed by harrison
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge customHighlightRect:forLine:]):
- (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebHTMLViewPrivate.h:
-
-2006-06-28 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - fix Frame leak on layout tests
-
- * WebCoreSupport/WebPageBridge.m:
- (-[WebPageBridge outerView]): Return WebFrameView for main frame instead
- of WebView to avoid reference cycle between WebView and Page.
-
-2006-06-28 Timothy Hatcher <timothy@apple.com>
-
- Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-06-28 Levi Weintraub <lweintraub@apple.com>
-
- Reviewed by justin
-
- http://bugs.webkit.org/show_bug.cgi?id=7568
- Bug 7568: Implement Indent/Outdent
- Added undo action strings and enum values
-
- * English.lproj/Localizable.strings:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge nameForUndoAction:]):
-
-2006-06-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- Hookup the new semi-functional SQLite icon database.
- For now, it is living side-by-side with the old DB so one can compare the
- two for debugging purposes. Also, it is disabled (in WebKit) by default unless you
- compile with ICONDEBUG #defined.
- Note: To repeat that, if you want to try the new DB, #define ICONDEBUG (WebKitPrefix.h is a good place to do it)
-
- * Misc/WebIconDatabase.m:
- (-[NSMutableDictionary iconForURL:withSize:cache:]):
- (-[NSMutableDictionary iconURLForURL:]):
- (-[NSMutableDictionary retainIconForURL:]):
- (-[NSMutableDictionary releaseIconForURL:]):
- (-[WebIconDatabase _setHaveNoIconForIconURL:]):
- (-[WebIconDatabase _setIconURL:forURL:]):
- (-[WebIconDatabase _hasIconForIconURL:]):
- (-[WebIconDatabase _resetCachedWebPreferences:]):
- * Misc/WebIconLoader.m:
- (-[WebIconLoader didFinishLoading]):
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-06-26 David Hyatt <hyatt@apple.com>
-
- Fix for 9538, support syntax highlighting for HTML source.
-
- Reviewed by darin
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebView.m:
- (-[WebView _setInViewSourceMode:]):
- (-[WebView _inViewSourceMode]):
- * WebView/WebViewPrivate.h:
-
-2006-06-25 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Bug 9574: Drosera should show inline scripts within the original HTML
- http://bugs.webkit.org/show_bug.cgi?id=9574
-
- * Adds a new version of the didParseSource delegate callback with base line number.
- * Adds a new delegate callback for when a script fails to parse.
- * These new callbacks use NSURLs for the url parameter.
- * Adds a new script listener callback to notify when the main resource loads.
- * Adds a WebScriptErrorDomian and other keys for use with NSError.
-
- * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
- (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
- (-[WebDefaultScriptDebugDelegate webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
- * DefaultDelegates/WebScriptDebugServer.h:
- * DefaultDelegates/WebScriptDebugServer.m:
- (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
- (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
- (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
- * DefaultDelegates/WebScriptDebugServerPrivate.h:
- * WebKit.exp:
- * WebView/WebDataSource.m:
- (-[WebDataSource _setPrimaryLoadComplete:]):
- * WebView/WebScriptDebugDelegate.h:
- * WebView/WebScriptDebugDelegate.m:
- (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
-
-2006-06-24 David Kilzer <ddkilzer@kilzer.net>
-
- Reviewed by Timothy.
-
- * Info.plist: Fixed copyright to include 2003-2006.
-
-2006-06-24 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Darin.
-
- - http://bugs.webkit.org/show_bug.cgi?id=9418
- WebKit will not build when Space exists in path
-
- * WebKit.xcodeproj/project.pbxproj: Enclose search paths in quotes.
-
-2006-06-23 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendEvent:]):
- Fixed a bug I found in the CoreGraphics drawing model that was preventing certain types of
- events from being dispatched to the plugin, unless the plugin was being updated. The check
- for portState was only required to call -setWindowIfNecessary, not required for the entire
- event dispatch.
- Also, don't paint the green debug rect unless this is a QuickDraw plugin. Otherwise the
- current QD port is not set, and the green rect fills the entire screen. Pretty awesome
- looking, but not intended behavior.
- (-[WebBaseNetscapePluginView setWindowIfNecessary]):
- Improved the logging here to include the NPWindow's width and height.
-
-2006-06-23 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Tim O.
-
- Adds back SPI that Mail is still depending on.
-
- * WebView/WebDataSource.m:
- (-[WebDataSource _addSubframeArchives:]):
- * WebView/WebDataSourcePrivate.h:
-
-=== WebKit-521.13 ===
-
-2006-06-23 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Geoff.
-
- script debugger should only attach to JavaScriptCore when there are listeners
- http://bugs.webkit.org/show_bug.cgi?id=9552
-
- Attaches the debugger to all WebFrames when the first listener
- is added. Detaches when the last listener is removed.
- Also detach when the script debug delegate is set to nil.
-
- * DefaultDelegates/WebScriptDebugServer.m:
- (+[WebScriptDebugServer listenerCount]):
- (-[WebScriptDebugServer dealloc]):
- (-[WebScriptDebugServer attachScriptDebuggerToAllWebViews]):
- (-[WebScriptDebugServer detachScriptDebuggerFromAllWebViews]):
- (-[WebScriptDebugServer listenerConnectionDidDie:]):
- (-[WebScriptDebugServer addListener:]):
- (-[WebScriptDebugServer removeListener:]):
- * DefaultDelegates/WebScriptDebugServerPrivate.h:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge windowObjectCleared]):
- * WebView/WebFrame.m:
- (-[WebFrame _attachScriptDebugger]):
- (-[WebFrame _detachScriptDebugger]):
- * WebView/WebFramePrivate.h:
- * WebView/WebScriptDebugDelegate.m:
- (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
- (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
- (-[WebScriptCallFrame hitStatement:sourceId:line:]):
- (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
- * WebView/WebView.m:
- (-[WebView _attachScriptDebuggerToAllFrames]):
- (-[WebView _detachScriptDebuggerFromAllFrames]):
- (-[WebView setScriptDebugDelegate:]):
- * WebView/WebViewPrivate.h:
-
-2006-06-22 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick
-
- - added support for UIDelegate to be notified of scrolling in any WebHTMLView
- - cleaned up recently-added UIDelegate code
-
- * WebView/WebUIDelegatePrivate.h:
- declared webView:didScrollDocumentInFrameView: method
-
- * DefaultDelegates/WebDefaultUIDelegate.m:
- (-[NSApplication webView:didDrawRect:]):
- provide default (empty) implementation of this recently-added method, so the
- DelegateForwarder mechanism will work for it
- (-[NSApplication webView:didScrollDocumentInFrameView:]):
- same thing for the new method
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _frameOrBoundsChanged]):
- use _UIDelegateForwarder mechanism to notify delegate that scrolling occurred
- (-[WebHTMLView drawSingleRect:]):
- use _UIDelegateForwarder mechanism instead of checking respondsToSelector stuff
- here (that's packaged up nicely by the forwarder mechanism)
-
-2006-06-22 Tim Omernick <timo@apple.com>
-
- Reviewed by NOBODY (build fix)
-
- * WebView/WebFrameLoader.m:
- Import WebMainResourceLoader instead of using @class so that we can call WebMainResourceLoader
- methods.
-
-2006-06-22 Tim Omernick <timo@apple.com>
-
- Reviewed by NOBODY (build fix)
-
- * WebView/WebFrameLoader.m:
- Import JavaScriptCore/Assertions.h instead of WebKit/WebAssertions.h (which no longer exists)
-
-2006-06-22 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adele.
-
- - start moving loading logic to new WebFrameLoader class; move management of WebLoaders there
-
- * Misc/WebIconLoader.h:
- * Misc/WebIconLoader.m:
- (-[WebIconLoader didFinishLoading]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _updateLoading]):
- (-[WebDataSource _loadIcon]):
- (-[WebDataSource _setPrimaryLoadComplete:]):
- (-[WebDataSource _stopLoading]):
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _addSubresourceLoader:]):
- (-[WebDataSource _removeSubresourceLoader:]):
- (-[WebDataSource _addPlugInStreamLoader:]):
- (-[WebDataSource _removePlugInStreamLoader:]):
- (-[WebDataSource _iconLoaderReceivedPageIcon:]):
- (-[WebDataSource _defersCallbacksChanged]):
- (-[WebDataSource _stopLoadingWithError:]):
- (-[WebDataSource _setupForReplaceByMIMEType:]):
- (-[WebDataSource initWithRequest:]):
- (-[WebDataSource dealloc]):
- (-[WebDataSource finalize]):
- (-[WebDataSource data]):
- (-[WebDataSource isLoading]):
- * WebView/WebFrameLoader.h: Added.
- * WebView/WebFrameLoader.m: Added.
- (-[WebFrameLoader initWithDataSource:]):
- (-[WebFrameLoader dealloc]):
- (-[WebFrameLoader hasIconLoader]):
- (-[WebFrameLoader loadIconWithRequest:]):
- (-[WebFrameLoader stopLoadingIcon]):
- (-[WebFrameLoader addPlugInStreamLoader:]):
- (-[WebFrameLoader removePlugInStreamLoader:]):
- (-[WebFrameLoader setDefersCallbacks:]):
- (-[WebFrameLoader stopLoadingPlugIns]):
- (-[WebFrameLoader isLoadingMainResource]):
- (-[WebFrameLoader isLoadingSubresources]):
- (-[WebFrameLoader isLoading]):
- (-[WebFrameLoader stopLoadingSubresources]):
- (-[WebFrameLoader addSubresourceLoader:]):
- (-[WebFrameLoader removeSubresourceLoader:]):
- (-[WebFrameLoader mainResourceData]):
- (-[WebFrameLoader releaseMainResourceLoader]):
- (-[WebFrameLoader cancelMainResourceLoad]):
- (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
- (-[WebFrameLoader stopLoadingWithError:]):
-
-2006-06-21 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- The WebCoreIconDatabaseBridge was getting messages sent to it after it had been closed, resulting in a crash
- on an ASSERT(). After closing the databaseBridge, we simply set it to nil so this can't happen.
- anymore.
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase _applicationWillTerminate:]):
-
-2006-06-21 Tim Omernick <timo@apple.com>
-
- Reviewed by Geoff Garen.
-
- <rdar://problem/4564131> WebPluginDatabase setAdditionalWebPlugInPaths needs to be per WebView
-
- Added some WebView SPI so that individual WebViews may have different plugin search paths. There are some
- limitations with the approach taken here:
-
- - JavaScript may only access the global plugin DB.
- - When this SPI is in use, certain WebView methods may not give accurate results, such as +canShowMIMEType:.
- - This only works for plugins referenced using the <object> or <embed> tags; plugins that reside in non-standard
- file system locations may not be loaded directly into frames.
-
- None of these issues are important to the client that needs this SPI. Rather than re-architect our entire
- plugin database, I think it is better to simply accept these limitations for now.
-
- * Plugins/WebPluginDatabase.h:
- Added "plugInPaths" ivar, so different plugin databases can have different search paths.
- * Plugins/WebPluginDatabase.m:
- (+[WebPluginDatabase installedPlugins]):
- Give the global plugin database the default plugin search paths.
- (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
- Removed static global; this method now sets the plugin paths on the global plugin database.
- (-[WebPluginDatabase setPlugInPaths:]):
- Setter method for plugin paths.
- (-[WebPluginDatabase close]):
- New method; called when the plugin database is no longer needed (when its WebView is being destroyed).
- (-[WebPluginDatabase init]):
- Don't refresh in -init, so that callers can set the DB's plugin path array before it refreshes.
- (-[WebPluginDatabase dealloc]):
- Moved here from near the bottom of the file. Release new ivar.
- (-[WebPluginDatabase refresh]):
- Use the plugInPaths ivar instead of calling pluginLocations().
- Notify plugin packages when they are added to and removed from a plugin database. A plugin package will
- unload itself when it is removed from all of its plugin databases.
- The only really tricky thing here is that the global MIME <-> view class registrations are only modified
- by the shared plugin DB.
- (+[WebPluginDatabase _defaultPlugInPaths]):
- Refactored from the old pluginLocations() function; returns the default set of plugin search paths.
-
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.m:
- (-[WebBasePluginPackage dealloc]):
- Assert that this package has been removed from all of its containing plugin databases.
- (-[WebBasePluginPackage finalize]):
- ditto
- (-[WebBasePluginPackage wasAddedToPluginDatabase:]):
- Add plugin database to set.
- (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
- Remove plugin database from set. If it was the last DB, then unload the plugin package.
-
- * WebView/WebViewInternal.h:
- Added instance methods to find the view class or plugin package, given a MIME type or file extension.
- * WebView/WebViewPrivate.h:
- Added SPI to set plugin search paths per WebView.
- * WebView/WebView.m:
- (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
- New method; tries the global MIME <-> view map first; failing that, it checks the WebView's plugin DB.
- (-[WebView _close]):
- Close the plugin DB.
- (-[WebView _setAdditionalWebPlugInPaths:]):
- Create the plugin DB if necessary, and set its plugin paths.
- (-[WebView _pluginForMIMEType:]):
- Checks global plugin DB, falls back on WebView DB.
- (-[WebView _pluginForExtension:]):
- ditto
- (-[WebView _isMIMETypeRegisteredAsPlugin:]):
- ditto
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
- Use new WebView instance methods to look for plugins.
- (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
- ditto
- (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
- ditto
-
-2006-06-20 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- Added calls through to the WebCoreIconDatabaseBridge for all the major WebIconDatabase API. For now these calls
- are wrapped with #ifdef's and are for debugging only.
-
- * Misc/WebIconDatabase.h:
- * Misc/WebIconDatabase.m:
- (-[NSMutableDictionary _scaleIcon:toSize:]):
- (-[NSMutableDictionary init]):
- (-[NSMutableDictionary iconForURL:withSize:cache:]):
- (-[NSMutableDictionary iconURLForURL:]):
- (-[NSMutableDictionary retainIconForURL:]):
- (-[NSMutableDictionary releaseIconForURL:]):
- (-[WebIconDatabase _setHaveNoIconForIconURL:]):
- (-[WebIconDatabase _setIconURL:forURL:]):
- (-[WebIconDatabase _hasIconForIconURL:]):
- * Misc/WebIconLoader.m:
- (-[WebIconLoader didFinishLoading]):
-
- * Misc/WebKitLogging.h: Added a logging channel for WebIconDatabase debugging
- * Misc/WebKitLogging.m:
- (WebKitInitializeLoggingChannelsIfNecessary):
-
-2006-06-20 Adele Peterson <adele@apple.com>
-
- Reviewed by Tim Hatcher.
-
- * WebView/WebMainResourceLoader.m: Added missing header to fix build on Leopard.
-
-2006-06-20 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Removes the @try/@catch from the callbacks to improve performance,
- simply check if the proxy object's connection is still valid first.
- Listener objects are now required to be NSDistantObjects.
-
- Adds pause, resume and step support. The debugger process use to handle this,
- but it caused problems when there were multiple listeners.
-
- Sends the bundle identifier in the notification userInfo dictionary along with
- process name and process ID.
-
- * DefaultDelegates/WebScriptDebugServer.h:
- * DefaultDelegates/WebScriptDebugServer.m:
- (-[WebScriptDebugServer serverQuery:]):
- (-[WebScriptDebugServer addListener:]):
- (-[WebScriptDebugServer removeListener:]):
- (-[WebScriptDebugServer step]):
- (-[WebScriptDebugServer pause]):
- (-[WebScriptDebugServer resume]):
- (-[WebScriptDebugServer isPaused]):
- (-[WebScriptDebugServer suspendProcessIfPaused]):
- (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
- (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
- (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
- (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
- * DefaultDelegates/WebScriptDebugServerPrivate.h:
- * WebKit.exp:
-
-2006-06-19 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Darin.
-
- - http://bugs.webkit.org/show_bug.cgi?id=5499
- Page reload does not send any cache control headers
-
- * WebView/WebFrame.m:
- (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Set a proper Cache-Control header for
- reload requests.
- (-[WebFrame loadRequest:]): Reset loadType to WebFrameLoadTypeStandard (after a reload, it stayed at
- WebFrameLoadTypeReload, so _addExtraFieldsToRequest erroneously added a Cache-Control header to them).
-
-2006-06-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- - added mechanism to notify UIDelegate when part of the webview is redrawn. For now, it only
- works for HTML views.
-
- * WebView/WebUIDelegatePrivate.h:
- Define a new UIDelegate method -webView:didDrawRect:
- * WebView/WebHTMLView.m:
- (-[WebView drawSingleRect:]):
- Call through to UIDelegate if it implements that method. I tested that this does not impact PLT numbers
- in the case where the delegate implements the method but does nothing in it.
-
-2006-06-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Maciej.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=9452
- Assertion failure in -[WebFramePrivate setProvisionalDataSource:]
-
- * WebView/WebFrame.m:
- (-[WebFrame _checkLoadCompleteForThisFrame]): Avoid re-entering the delegate's
- -[webView:didFailProvisionalLoadWithError:forFrame].
-
-2006-06-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by xenon.
-
- - http://bugs.webkit.org/show_bug.cgi?id=9479
- Disassociate the inspector from the frame when it detaches from its parent
-
- * WebInspector/WebInspector.m:
- (-[NSWindow setWebFrame:]): Added code to (de)register with the WebFrame
- the inspector is (no longer) targeting.
- (-[WebInspector _webFrameDetached:]): Added. Moved the code that was previously
- in -[inspectedWindowWillClose:] here. This is called by the WebFrame when it
- is detached from its parent.
- * WebInspector/WebInspectorInternal.h:
- * WebView/WebFrame.m:
- (-[WebFramePrivate dealloc]):
- (-[WebFrame _detachFromParent]): Added code to notify all registered inspectors
- that the WebFrame is detaching.
- (-[WebFrame _addInspector:]): Added.
- (-[WebFrame _removeInspector:]): Added.
- * WebView/WebFrameInternal.h:
-
-2006-06-18 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Geoff.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge shouldInterruptJavaScript]):
- Ask the UI delegate if the script should be interrupted.
-
- * WebView/WebUIDelegatePrivate.h:
- Declare webViewShouldInterruptJavaScript: delegate method
-
-2006-06-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=9466
- Assertion failure when dragging an image from the document into Safari's address bar
-
- * WebView/WebFrameView.m:
- (-[WebFrameView _setDocumentView:]): Reset the WebView's initiatedDrag flag
- when the document view is changed.
- * WebView/WebHTMLView.m:
- (-[WebHTMLView draggedImage:endedAt:operation:]): Changed the ASSERT to allow
- for drags that end after the view has been removed from the WebView.
-
-2006-06-16 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Tim O.
-
- Exposes a distributed objects server for clients to register for script debugger calls.
- For preformance concerns this is disabled by default, you will need to enable this per application.
- To enable for Safari do this: defaults write com.apple.Safari WebKitScriptDebuggerEnabled -bool true
-
- Clients will need to listen to the following distributed notification to discover servers:
- WebScriptDebugServerDidLoadNotification
-
- To discover servers that previously loaded before the client, the client needs to send the following notification:
- WebScriptDebugServerQueryNotification
-
- All servers will reply with the WebScriptDebugServerQueryReplyNotification notification that contains the
- registered server connection name to use with distributed objects.
-
- * DefaultDelegates/WebScriptDebugServer.h: Added.
- * DefaultDelegates/WebScriptDebugServer.m: Added.
- (+[WebScriptDebugServer sharedScriptDebugServer]):
- (-[WebScriptDebugServer init]):
- (-[WebScriptDebugServer dealloc]):
- (-[WebScriptDebugServer serverQuery:]):
- (-[WebScriptDebugServer listenerConnectionDidDie:]):
- (-[WebScriptDebugServer addListener:]):
- (-[WebScriptDebugServer removeListener:]):
- (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
- (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
- (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
- (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
- * DefaultDelegates/WebScriptDebugServerPrivate.h: Added.
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge windowObjectCleared]):
- * WebKit.exp:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebScriptDebugDelegate.m:
- (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
- (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
- (-[WebScriptCallFrame hitStatement:sourceId:line:]):
- (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
- * WebView/WebView.m:
- (+[WebView _developerExtrasEnabled]):
- (+[WebView _scriptDebuggerEnabled]):
- (-[WebView _menuForElement:defaultItems:]):
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- * WebView/WebViewPrivate.h:
-
-2006-06-16 Adele Peterson <adele@apple.com>
-
- Reviewed by Alice.
-
- Added initialization for WKDrawBezeledTextArea.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2006-06-15 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Geoff and Darin.
-
- Prefer the DWARF debugging symbols format for use in Xcode 2.3.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-06-15 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim O.
-
- Fixed bug in WebKit support for computing but not highlighting rects for text matches.
-
- * WebView/WebView.m:
- (-[WebView rectsForTextMatches]):
- leave out empty rects, and convert rects to WebView coordinates. Since this makes a batch
- of autoreleased NSValue objects, use a local autorelease pool
-
-2006-02-11 David Kilzer <ddkilzer@kilzer.net>
-
- Reviewed by John Sullivan.
-
- * Plugins/WebPluginController.m:
- (-[WebPluginController _cancelOutstandingChecks]):
- add nil check before calling CFSetApplyFunction
-
-2006-06-14 Levi Weintraub <lweintraub@apple.com>
-
- Reviewed by justin
-
- <http://bugs.webkit.org/show_bug.cgi?id=7580>
- TinyMCE: Implement execCommand(formatBlock, ...)
-
- * English.lproj/Localizable.strings:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge nameForUndoAction:]):
-
-2006-06-14 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4577988> GC: WebPluginController uses inefficient resurrecting enumeration
-
- * Plugins/WebPluginController.m:
- (cancelOutstandingCheck):
- (-[WebPluginController _cancelOutstandingChecks]):
- Use CFSetApplyFunction() instead of an enumerator to guard against modifications to the set while enumerating.
-
-2006-06-13 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim O.
-
- - fixed <rdar://problem/4498606> REGRESSION (417.8-420+): 3 missing items (but extra separators) in context
- menu in Mail message body
-
- * WebView/WebView.m:
- (-[WebView _menuForElement:defaultItems:]):
- Add special-case hackery to recover from this SPI -> API mismatch.
-
-2006-06-13 Tim Omernick <timo@apple.com>
-
- Reviewed by Anders.
-
- Fixed a recently-introduced assertion failure when handling 404 errors.
-
- * WebView/WebDataSource.m:
- (-[WebDataSource _handleFallbackContent]):
- Use the -[WebFrame _bridge] instead of -[WebDataSource _bridge]. The former is not valid until the data
- source has been committed, which is not the case when the resource fails to load. The latter is safe to call
- at any time. This broke last night with Maciej's change to WebFrameResourceLoader. The old code used to
- call -[WebFrame _bridge].
-
-2006-06-13 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Geoff.
-
- http://bugs.webkit.org/show_bug.cgi?id=9406
- REGRESSION: fix for bug 9390 broke two layout tests
-
- * Plugins/WebPluginDatabase.h:
- (-[WebPluginDatabase isMIMETypeRegistered:]):
- Add new function isMIMETypeRegistered which returns whether a given MIME type has a
- plugin registered.
-
- * Plugins/WebPluginDatabase.m:
- (-[WebPluginDatabase init]):
- Init set of registered MIME types.
-
- (-[WebPluginDatabase refresh]):
- Add and remove MIME types from the set of registered MIME types when registering and unregistering
- plugin MIME types.
-
- (-[WebPluginDatabase dealloc]):
- Release set of registered MIME types.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
- Use isMIMETypeRegistered here.
-
-2006-06-12 Maciej Stachowiak <mjs@apple.com>
-
- - fix for cocoa exception (whoops)
-
- * WebView/WebView.m:
- (+[WebView _generatedMIMETypeForURLScheme:]): put this back
- * WebView/WebDataSource.m:
- (+[WebDataSource _generatedMIMETypeForURLScheme:]): call WebView
-
-2006-06-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - remove use of WebView and related from WebMainResourceLoader
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.m:
- (+[WebDataSource _generatedMIMETypeForURLScheme:]):
- (+[WebDataSource _representationExistsForURLScheme:]):
- (+[WebDataSource _canShowMIMEType:]):
- (-[WebDataSource _handleFallbackContent]):
- (-[WebDataSource _decidePolicyForMIMEType:decisionListener:]):
- * WebView/WebDataSourceInternal.h:
- * WebView/WebFrame.m:
- (-[WebFrame _isMainFrame]):
- * WebView/WebFrameInternal.h:
- * WebView/WebMainResourceLoader.m:
- (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
- (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
- (-[WebMainResourceLoader checkContentPolicyForResponse:]):
- (-[WebMainResourceLoader loadWithRequestNow:]):
- * WebView/WebView.m:
-
-2006-06-12 Tim Omernick <timo@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] running layout tests
-
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage _initWithPath:]):
- Renamed from -initWithPath:. Instead of releasing/deallocating self on error, return NO.
- (-[WebNetscapePluginPackage initWithPath:]):
- Call the new -_initWithPath:. If it returns NO, unload the plugin package before deallocating it.
-
-2006-06-11 Darin Adler <darin@apple.com>
-
- - try to fix Windows build
-
- * COM/WebKitDLL.cpp: (loadResourceIntoArray): Use Vector<char> instead of
- DeprecatedByteArray.
-
-2006-06-11 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Tim H.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=8672
- Red outline from web inspector reappears after inspector is closed
-
- * WebInspector/WebInspector.m:
- (-[NSWindow windowWillClose:]): Added a call to setWebFrame to avoid further
- load progress notifications.
- (-[NSWindow setWebFrame:]): Changed to resign the WebView's hostWindow rather
- than its window for close notifications, to avoid resigning from all windows' close
- notifications (including the inspector window's) when the WebView is in a hidden tab.
- Also changed to prevent highlighting the initial focused node.
-
-2006-06-11 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Tim.
-
- http://bugs.webkit.org/show_bug.cgi?id=9390
- Move full-frame plugins to WebCore
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream instance]):
- Add instance method which returns the plugin instance.
-
- * Plugins/WebBasePluginPackage.h:
- Add WebPluginManualLoader protocol
-
- * Plugins/WebNetscapePluginDocumentView.h: Removed.
- * Plugins/WebNetscapePluginDocumentView.m: Removed.
-
- * Plugins/WebNetscapePluginEmbeddedView.h:
- * Plugins/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:]):
- (-[WebNetscapePluginEmbeddedView dealloc]):
- (-[WebNetscapePluginEmbeddedView didStart]):
- (-[WebNetscapePluginEmbeddedView pluginView:receivedResponse:]):
- (-[WebNetscapePluginEmbeddedView pluginView:receivedData:]):
- (-[WebNetscapePluginEmbeddedView pluginView:receivedError:]):
- (-[WebNetscapePluginEmbeddedView pluginViewFinishedLoading:]):
- (-[WebNetscapePluginEmbeddedView redeliverStream]):
- Make WebNetscapePluginEmbeddedView support the WebPluginManualLoader protocol. It creates a plugin stream and feeds the
- data manually. Much of this code has been copied from WebNetscapePluginRepresentation.
-
- * Plugins/WebNetscapePluginRepresentation.h: Removed.
- * Plugins/WebNetscapePluginRepresentation.m: Removed.
-
- * Plugins/WebPluginController.h:
- * Plugins/WebPluginController.m:
- (-[WebPluginController pluginView:receivedResponse:]):
- (-[WebPluginController pluginView:receivedData:]):
- (-[WebPluginController pluginView:receivedError:]):
- (-[WebPluginController pluginViewFinishedLoading:]):
- Make WebPluginController support the WebPluginManualLoader protocol so it can feed data manually to WebKit plugins.
-
- * Plugins/WebPluginDatabase.m:
- (-[WebPluginDatabase refresh]):
- Use WebHTMLView and WebHTMLRepresentation when registering/unregistering plug-in MIME types.
-
- * Plugins/WebPluginDocumentView.h: Removed.
- * Plugins/WebPluginDocumentView.m: Removed.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
- Add loadManually argument.
-
- (-[WebFrameBridge redirectDataToPlugin:]):
- Call down to the HTML representation.
-
- (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
- Pass NO to loadManually.
-
- (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
- Explicitly check if the MIME type is supported by a plug-in instead of checking the view class.
-
- * WebCoreSupport/WebViewFactory.m:
- (-[WebViewFactory pluginSupportsMIMEType:]):
- New function which returns whether any plugins support a given MIME type.
-
- * WebKit.xcodeproj/project.pbxproj:
- Update for removed files.
-
- * WebView/WebFrame.m:
- (-[WebFrame _reloadForPluginChanges]):
- Remove view type checks.
-
- (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
- (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
- Remove FIXME comments.
-
- * WebView/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):
- New function which redirects incoming data to a manual loader.
-
- (-[WebHTMLRepresentation receivedData:withDataSource:]):
- (-[WebHTMLRepresentation receivedError:withDataSource:]):
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
- Optionally redirect incoming data.
-
- * WebView/WebHTMLRepresentationPrivate.h:
-
-2006-06-09 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick and Dave Hyatt.
-
- WebKit support for computing but not highlighting rects for text matches.
-
- * WebView/WebHTMLViewPrivate.h:
- added markedTextMatchesAreHighlighted/setMarkedTextMatchesAreHighlighted and
- rectsForTextMatches, and renamed related methods for clarity/consistency
- * WebView/WebHTMLView.m:
- (-[WebHTMLView markAllMatchesForText:caseSensitive:]):
- renamed, calls similarly-renamed method
- (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
- new method, calls through to bridge
- (-[WebHTMLView markedTextMatchesAreHighlighted]):
- ditto
- (-[WebHTMLView unmarkAllTextMatches]):
- renamed
- (-[WebHTMLView rectsForTextMatches]):
- new method, calls through to bridge
-
- * WebView/WebViewPrivate.h:
- added rectsForTextMatches, renamed other methods (and added highlight: parameter)
- * WebView/WebView.m:
- (-[WebView markAllMatchesForText:caseSensitive:highlight:]):
- renamed for clarity/consistency, and now has highlight: parameter, which is passed down
- (-[WebView unmarkAllTextMatches]):
- renamed for clarity/consistency, and calls similarly-renamed method lower down. diff got
- confused with the end of this and the end of the next method.
- (-[WebView rectsForTextMatches]):
- new method, calls through to WebHTMLView as related methods currently do
-
-2006-06-10 Graham Dennis <Graham.Dennis@gmail.com>
-
- <http://bugs.webkit.org/show_bug.cgi?id=9384>
- WebView's initWithCoder: method does not set useBackForwardList
- correctly
-
- Reviewed by John Sullivan.
-
- * WebView/WebView.m:
- (-[WebView initWithCoder:]):
- Make sure that the function variable useBackForwardList is correctly
- set, so that the copy in the _private ivar is set.
-
-2006-06-09 David Hyatt <hyatt@apple.com>
-
- Rename updateFocusState to updateActiveState.
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _updateActiveState]):
- (-[WebHTMLView viewDidMoveToWindow]):
- (-[WebHTMLView windowDidBecomeKey:]):
- (-[WebHTMLView windowDidResignKey:]):
- (-[WebHTMLView becomeFirstResponder]):
- (-[WebHTMLView resignFirstResponder]):
- (-[WebHTMLView _formControlIsBecomingFirstResponder:]):
- (-[WebHTMLView _formControlIsResigningFirstResponder:]):
- * WebView/WebHTMLViewPrivate.h:
-
-2006-06-09 David Hyatt <hyatt@apple.com>
-
- Rename displaysWithFocusAttributes to isActive.
-
- Reviewed by sfalken
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _updateFocusState]):
-
-2006-06-08 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by levi
-
- <http://bugs.webkit.org/show_bug.cgi?id=4468>
- Implement execCommand(Insert{Un}OrderedList)
-
- * WebView/WebFrame.m:
- (-[WebFrame _findFrameWithSelection]): Removed an assertion
- that we only have one frame with a selection.
- * WebView/WebView.m:
- (-[WebView selectedFrame]): Ditto.
-
-2006-06-08 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin and John.
-
- <rdar://problem/3600734> API: please add a way to turn vertical scrollbar
- always on (for Mail, to avoid reflow when typing)
-
- Adds new methods to lock the scrolling mode on WebDynamicScrollBarsView.
- Locking the scroll mode prevents WebCore from changing it as needed.
- Also adds an SPI on WebView that will lock the "always on" mode
- for each scroller.
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDynamicScrollBarsView.h:
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView setAllowsScrolling:]):
- (-[WebDynamicScrollBarsView allowsScrolling]):
- (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
- (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
- (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
- (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
- (-[WebDynamicScrollBarsView setScrollingMode:]):
- (-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]):
- (-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]):
- (-[WebDynamicScrollBarsView setScrollingModesLocked:]):
- (-[WebDynamicScrollBarsView horizontalScrollingModeLocked]):
- (-[WebDynamicScrollBarsView verticalScrollingModeLocked]):
- * WebView/WebView.m:
- (-[WebView setAlwaysShowVerticalScroller:]):
- (-[WebView alwaysShowVerticalScroller]):
- (-[WebView setAlwaysShowHorizontalScroller:]):
- (-[WebView alwaysShowHorizontalScroller]):
- * WebView/WebViewPrivate.h:
-
-2006-06-08 Darin Adler <darin@apple.com>
-
- Reviewed by Justin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=8616
- REGRESSION: TinyMCE: Crash on Undo
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _topHTMLView]): Added.
- (-[WebHTMLView _isTopHTMLView]): Added.
- (-[WebHTMLView _insideAnotherHTMLView]): Changed to use _topHTMLView.
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- Forward to the top HTML view, so that only the top view ever starts a dragging operation.
- Change dragging code to not assume that the dragged node is in the current view's document.
- Added checks that the node is an element in a couple places and coordinate conversions.
- (-[WebHTMLView _mayStartDragAtEventLocation:]): Forward to the top HTML view.
- (-[WebHTMLView addMouseMovedObserver]): Change to do nothing when the dataSource field is 0,
- since we now use the dataSource field to get to the WebView.
- (-[WebHTMLView removeMouseMovedObserver]): Added a comment.
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
- Forward to the top HTML view.
- (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Assert that it's the top HTML view.
- (-[WebHTMLView draggedImage:movedTo:]): Ditto.
- (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
- (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Ditto.
- (-[WebHTMLView _isMoveDrag]): Ditto.
- (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
- (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto. Also added code to work
- with the appropriate bridge when receiving a drag. This fixes the problem where the
- top level frame got a selection intended for the inner frame; the source of the bug.
- (-[WebHTMLView elementAtPoint:allowShadowContent:]): Added code to convert the coordinates
- so this works properly when returning an element from an inner frame.
- (-[WebHTMLView setDataSource:]): Added a call to addMouseMovedObserver, needed now that
- addMouseMovedObserver won't do anything if called when dataSource is nil.
- (-[WebHTMLView _delegateDragSourceActionMask]): Forward to the top HTML view.
-
- * WebView/WebView.m:
- (-[WebViewPrivate dealloc]): Removed code to release dragCaretBridge since that field
- is now gone.
- (-[WebView moveDragCaretToPoint:]): Always call the main frame's bridge, since the
- drag caret is now a page-level item. Later we'll move it to the page bridge.
- (-[WebView removeDragCaret]): Ditto.
-
-2006-06-07 David Hyatt <hyatt@apple.com>
-
- Add support for custom highlighting to WebKit.
-
- Reviewed by justin
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _highlighterForType:]):
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebHTMLViewPrivate.h:
-
-2006-06-07 Adele Peterson <adele@apple.com>
-
- Reviewed by Hyatt.
-
- Added resources for missingImage and textAreaResizeCorner.
-
- * COM/WebKitDLL.cpp:
- (loadResourceIntoArray): Added. Returns a DeprecatedByteArray with the resource's data.
- * WebKit.vcproj/WebKit.rc: Added missing image and resize pngs as resources.
- * WebKit.vcproj/WebKit.vcproj: Added pngs.
- * WebKit.vcproj/missingImage.png: Added.
- * WebKit.vcproj/resource.h: Added entries for pngs.
- * WebKit.vcproj/textAreaResizeCorner.png: Added.
-
-2006-06-07 David Hyatt <hyatt@apple.com>
-
- Add SPI for setting and removing custom highlighters.
-
- Reviewed by Tim H
-
- * WebView/WebHTMLView.m:
- (-[WebTextCompleteController dealloc]):
- (-[WebHTMLView _setHighlighter:ofType:]):
- (-[WebHTMLView _removeHighlighterOfType:]):
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebHTMLViewPrivate.h:
-
-2006-06-06 Adele Peterson <adele@apple.com>
-
- Reviewed by Justin.
-
- * COM/WebView.cpp:
- (WebView::keyPress): Added case for VK_RETURN.
-
-2006-06-06 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by John.
-
- * WebView/WebFrame.m:
- (-[WebFrame _reloadForPluginChanges]):
- Don't traverse the view hierarchy looking for plugin views. Instead, just
- ask the frame whether it contains any plugins.
-
-2006-06-03 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by hyatt.
-
- Add implementation of loadHTMLString for Spinneret
-
- * COM/WebFrame.cpp:
- (WebFrame::loadHTMLString):
-
-2006-06-02 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by darin.
-
- New hosting for Spinneret to avoid static linking
-
- * COM: Added.
- * COM/Interfaces: Added.
- * COM/Interfaces/DOMCSS.idl: Added.
- * COM/Interfaces/DOMCore.idl: Added.
- * COM/Interfaces/DOMHTML.idl: Added.
- * COM/Interfaces/DOMRange.idl: Added.
- * COM/Interfaces/IWebArchive.idl: Added.
- * COM/Interfaces/IWebAttributedString.idl: Added.
- * COM/Interfaces/IWebBackForwardList.idl: Added.
- * COM/Interfaces/IWebDataSource.idl: Added.
- * COM/Interfaces/IWebDocument.idl: Added.
- * COM/Interfaces/IWebDownload.idl: Added.
- * COM/Interfaces/IWebEditingDelegate.idl: Added.
- * COM/Interfaces/IWebError.idl: Added.
- * COM/Interfaces/IWebFrame.idl: Added.
- * COM/Interfaces/IWebFrameLoadDelegate.idl: Added.
- * COM/Interfaces/IWebFrameView.idl: Added.
- * COM/Interfaces/IWebHistoryItem.idl: Added.
- * COM/Interfaces/IWebIconDatabase.idl: Added.
- * COM/Interfaces/IWebImage.idl: Added.
- * COM/Interfaces/IWebMutableURLRequest.idl: Added.
- * COM/Interfaces/IWebNotification.idl: Added.
- * COM/Interfaces/IWebPolicyDelegate.idl: Added.
- * COM/Interfaces/IWebPreferences.idl: Added.
- * COM/Interfaces/IWebResource.idl: Added.
- * COM/Interfaces/IWebResourceLoadDelegate.idl: Added.
- * COM/Interfaces/IWebScriptObject.idl: Added.
- * COM/Interfaces/IWebUIDelegate.idl: Added.
- * COM/Interfaces/IWebURLAuthenticationChallenge.idl: Added.
- * COM/Interfaces/IWebURLRequest.idl: Added.
- * COM/Interfaces/IWebURLResponse.idl: Added.
- * COM/Interfaces/IWebUndoManager.idl: Added.
- * COM/Interfaces/IWebView.idl: Added.
- * COM/Interfaces/WebKit.idl: Added.
- * COM/WebBackForwardList.cpp: Added.
- (WebBackForwardList::WebBackForwardList):
- (WebBackForwardList::~WebBackForwardList):
- (WebBackForwardList::createInstance):
- (WebBackForwardList::QueryInterface):
- (WebBackForwardList::AddRef):
- (WebBackForwardList::Release):
- (WebBackForwardList::addItem):
- (WebBackForwardList::goBack):
- (WebBackForwardList::goForward):
- (WebBackForwardList::goToItem):
- (WebBackForwardList::backItem):
- (WebBackForwardList::currentItem):
- (WebBackForwardList::forwardItem):
- (WebBackForwardList::backListWithLimit):
- (WebBackForwardList::forwardListWithLimit):
- (WebBackForwardList::capacity):
- (WebBackForwardList::setCapacity):
- (WebBackForwardList::backListCount):
- (WebBackForwardList::forwardListCount):
- (WebBackForwardList::containsItem):
- (WebBackForwardList::itemAtIndex):
- (WebBackForwardList::setPageCacheSize):
- (WebBackForwardList::pageCacheSize):
- * COM/WebBackForwardList.h: Added.
- * COM/WebDataSource.cpp: Added.
- (WebDataSource::WebDataSource):
- (WebDataSource::~WebDataSource):
- (WebDataSource::createInstance):
- (WebDataSource::QueryInterface):
- (WebDataSource::AddRef):
- (WebDataSource::Release):
- (WebDataSource::initWithRequest):
- (WebDataSource::data):
- (WebDataSource::representation):
- (WebDataSource::webFrame):
- (WebDataSource::initialRequest):
- (WebDataSource::request):
- (WebDataSource::response):
- (WebDataSource::textEncodingName):
- (WebDataSource::isLoading):
- (WebDataSource::pageTitle):
- (WebDataSource::unreachableURL):
- (WebDataSource::webArchive):
- (WebDataSource::mainResource):
- (WebDataSource::subresources):
- (WebDataSource::subresourceForURL):
- (WebDataSource::addSubresource):
- * COM/WebDataSource.h: Added.
- * COM/WebFrame.cpp: Added.
- (WebFrame::WebFramePrivate::WebFramePrivate):
- (WebFrame::WebFramePrivate::~WebFramePrivate):
- (WebFrame::WebFrame):
- (WebFrame::~WebFrame):
- (WebFrame::createInstance):
- (WebFrame::QueryInterface):
- (WebFrame::AddRef):
- (WebFrame::Release):
- (WebFrame::initWithName):
- (WebFrame::name):
- (WebFrame::webView):
- (WebFrame::frameView):
- (WebFrame::DOMDocument):
- (WebFrame::frameElement):
- (WebFrame::loadRequest):
- (WebFrame::loadData):
- (WebFrame::loadHTMLString):
- (WebFrame::loadAlternateHTMLString):
- (WebFrame::loadArchive):
- (WebFrame::dataSource):
- (WebFrame::provisionalDataSource):
- (WebFrame::stopLoading):
- (WebFrame::reload):
- (WebFrame::findFrameNamed):
- (WebFrame::parentFrame):
- (WebFrame::childFrames):
- (WebFrame::paint):
- (WebFrame::impl):
- (WebFrame::loadDataSource):
- (WebFrame::loading):
- (WebFrame::goToItem):
- (WebFrame::loadItem):
- (WebSystemMainMemory):
- (WebFrame::getObjectCacheSize):
- (WebFrame::receivedRedirect):
- (WebFrame::receivedResponse):
- (WebFrame::receivedData):
- (WebFrame::receivedAllData):
- (WebFrame::openURL):
- (WebFrame::submitForm):
- (WebFrame::setTitle):
- (WebFrame::setStatusText):
- * COM/WebFrame.h: Added.
- * COM/WebHistoryItem.cpp: Added.
- (WebHistoryItem::WebHistoryItem):
- (WebHistoryItem::~WebHistoryItem):
- (WebHistoryItem::createInstance):
- (WebHistoryItem::QueryInterface):
- (WebHistoryItem::AddRef):
- (WebHistoryItem::Release):
- (WebHistoryItem::initWithURLString):
- (WebHistoryItem::originalURLString):
- (WebHistoryItem::URLString):
- (WebHistoryItem::title):
- (WebHistoryItem::lastVisitedTimeInterval):
- (WebHistoryItem::setAlternateTitle):
- (WebHistoryItem::alternateTitle):
- (WebHistoryItem::icon):
- * COM/WebHistoryItem.h: Added.
- * COM/WebIconDatabase.cpp: Added.
- (WebIconDatabase::WebIconDatabase):
- (WebIconDatabase::~WebIconDatabase):
- (WebIconDatabase::createInstance):
- (WebIconDatabase::QueryInterface):
- (WebIconDatabase::AddRef):
- (WebIconDatabase::Release):
- (WebIconDatabase::sharedIconDatabase):
- (WebIconDatabase::iconForURL):
- (WebIconDatabase::defaultIconWithSize):
- (WebIconDatabase::retainIconForURL):
- (WebIconDatabase::releaseIconForURL):
- (WebIconDatabase::delayDatabaseCleanup):
- (WebIconDatabase::allowDatabaseCleanup):
- * COM/WebIconDatabase.h: Added.
- * COM/WebKitClassFactory.cpp: Added.
- (WebKitClassFactory::WebKitClassFactory):
- (WebKitClassFactory::~WebKitClassFactory):
- (WebKitClassFactory::QueryInterface):
- (WebKitClassFactory::AddRef):
- (WebKitClassFactory::Release):
- (WebKitClassFactory::CreateInstance):
- (WebKitClassFactory::LockServer):
- * COM/WebKitClassFactory.h: Added.
- * COM/WebKitDLL.cpp: Added.
- (DllMain):
- (DllGetClassObject):
- (DllCanUnloadNow):
- (DllUnregisterServer):
- (DllRegisterServer):
- * COM/WebKitDLL.h: Added.
- * COM/WebMutableURLRequest.cpp: Added.
- (WebMutableURLRequest::WebMutableURLRequest):
- (WebMutableURLRequest::~WebMutableURLRequest):
- (WebMutableURLRequest::createInstance):
- (WebMutableURLRequest::QueryInterface):
- (WebMutableURLRequest::AddRef):
- (WebMutableURLRequest::Release):
- (WebMutableURLRequest::requestWithURL):
- (WebMutableURLRequest::allHTTPHeaderFields):
- (WebMutableURLRequest::cachePolicy):
- (WebMutableURLRequest::HTTPBody):
- (WebMutableURLRequest::HTTPBodyStream):
- (WebMutableURLRequest::HTTPMethod):
- (WebMutableURLRequest::HTTPShouldHandleCookies):
- (WebMutableURLRequest::initWithURL):
- (WebMutableURLRequest::mainDocumentURL):
- (WebMutableURLRequest::timeoutInterval):
- (WebMutableURLRequest::URL):
- (WebMutableURLRequest::valueForHTTPHeaderField):
- (WebMutableURLRequest::addValue):
- (WebMutableURLRequest::setAllHTTPHeaderFields):
- (WebMutableURLRequest::setCachePolicy):
- (WebMutableURLRequest::setHTTPBody):
- (WebMutableURLRequest::setHTTPBodyStream):
- (WebMutableURLRequest::setHTTPMethod):
- (WebMutableURLRequest::setHTTPShouldHandleCookies):
- (WebMutableURLRequest::setMainDocumentURL):
- (WebMutableURLRequest::setTimeoutInterval):
- (WebMutableURLRequest::setURL):
- (WebMutableURLRequest::setValue):
- (WebMutableURLRequest::setFormData):
- (WebMutableURLRequest::formData):
- * COM/WebMutableURLRequest.h: Added.
- * COM/WebView.cpp: Added.
- (WebView::WebView):
- (WebView::~WebView):
- (WebView::createInstance):
- (WebView::mouseMoved):
- (WebView::mouseDown):
- (WebView::mouseUp):
- (WebView::mouseDoubleClick):
- (WebView::keyPress):
- (registerWebView):
- (WebViewWndProc):
- (calculateScrollDelta):
- (scrollMessageForKey):
- (WebView::goToItem):
- (WebView::QueryInterface):
- (WebView::AddRef):
- (WebView::Release):
- (WebView::canShowMIMEType):
- (WebView::canShowMIMETypeAsHTML):
- (WebView::MIMETypesShownAsHTML):
- (WebView::setMIMETypesShownAsHTML):
- (WebView::URLFromPasteboard):
- (WebView::URLTitleFromPasteboard):
- (WebView::initWithFrame):
- (WebView::setUIDelegate):
- (WebView::uiDelegate):
- (WebView::setResourceLoadDelegate):
- (WebView::resourceLoadDelegate):
- (WebView::setDownloadDelegate):
- (WebView::downloadDelegate):
- (WebView::setFrameLoadDelegate):
- (WebView::frameLoadDelegate):
- (WebView::setPolicyDelegate):
- (WebView::policyDelegate):
- (WebView::mainFrame):
- (WebView::backForwardList):
- (WebView::setMaintainsBackForwardList):
- (WebView::goBack):
- (WebView::goForward):
- (WebView::goToBackForwardItem):
- (WebView::setTextSizeMultiplier):
- (WebView::textSizeMultiplier):
- (WebView::setApplicationNameForUserAgent):
- (WebView::applicationNameForUserAgent):
- (WebView::setCustomUserAgent):
- (WebView::customUserAgent):
- (WebView::userAgentForURL):
- (WebView::supportsTextEncoding):
- (WebView::setCustomTextEncodingName):
- (WebView::customTextEncodingName):
- (WebView::setMediaStyle):
- (WebView::mediaStyle):
- (WebView::stringByEvaluatingJavaScriptFromString):
- (WebView::windowScriptObject):
- (WebView::setPreferences):
- (WebView::preferences):
- (WebView::setPreferencesIdentifier):
- (WebView::preferencesIdentifier):
- (WebView::setHostWindow):
- (WebView::hostWindow):
- (WebView::searchFor):
- (WebView::registerViewClass):
- (WebView::takeStringURLFrom):
- (WebView::stopLoading):
- (WebView::reload):
- (WebView::canGoBack):
- (WebView::canGoForward):
- (WebView::canMakeTextLarger):
- (WebView::makeTextLarger):
- (WebView::canMakeTextSmaller):
- (WebView::makeTextSmaller):
- (WebView::computedStyleForElement):
- (WebView::editableDOMRangeForPoint):
- (WebView::setSelectedDOMRange):
- (WebView::selectedDOMRange):
- (WebView::selectionAffinity):
- (WebView::setEditable):
- (WebView::isEditable):
- (WebView::setTypingStyle):
- (WebView::typingStyle):
- (WebView::setSmartInsertDeleteEnabled):
- (WebView::smartInsertDeleteEnabled):
- (WebView::setContinuousSpellCheckingEnabled):
- (WebView::isContinuousSpellCheckingEnabled):
- (WebView::spellCheckerDocumentTag):
- (WebView::undoManager):
- (WebView::setEditingDelegate):
- (WebView::editingDelegate):
- (WebView::styleDeclarationWithText):
- (WebView::replaceSelectionWithNode):
- (WebView::replaceSelectionWithText):
- (WebView::replaceSelectionWithMarkupString):
- (WebView::replaceSelectionWithArchive):
- (WebView::deleteSelection):
- (WebView::applyStyle):
- (WebView::copy):
- (WebView::cut):
- (WebView::paste):
- (WebView::copyFont):
- (WebView::pasteFont):
- (WebView::delete_):
- (WebView::pasteAsPlainText):
- (WebView::pasteAsRichText):
- (WebView::changeFont):
- (WebView::changeAttributes):
- (WebView::changeDocumentBackgroundColor):
- (WebView::changeColor):
- (WebView::alignCenter):
- (WebView::alignJustified):
- (WebView::alignLeft):
- (WebView::alignRight):
- (WebView::checkSpelling):
- (WebView::showGuessPanel):
- (WebView::performFindPanelAction):
- (WebView::startSpeaking):
- (WebView::stopSpeaking):
- (WebView::viewWindow):
- * COM/WebView.h: Added.
- * WebKit.vcproj: Added.
- * WebKit.vcproj/Interfaces.vcproj: Added.
- * WebKit.vcproj/WebKit.def: Added.
- * WebKit.vcproj/WebKit.rc: Added.
- * WebKit.vcproj/WebKit.sln: Added.
- * WebKit.vcproj/WebKit.vcproj: Added.
- * WebKit.vcproj/WebKitGUID.vcproj: Added.
- * WebKit.vcproj/autoversion.h: Added.
- * WebKit.vcproj/resource.h: Added.
-
-2006-06-02 Darin Adler <darin@apple.com>
-
- * WebCoreSupport/WebImageRendererFactory.m: Fix crash on Safari startup
- by include NSObject as a superclass (oops!).
-
-2006-06-01 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - WebCore doesn't need to load WebKit images any more; removed code for that
-
- * Resources/missing_image.tiff: Removed.
- * WebCoreSupport/WebImageRendererFactory.h: Removed.
-
- * WebCoreSupport/WebImageRendererFactory.m: Moved @interface in here.
- Removed all but the "threaded decoding" calls that older Safari calls.
- This file can go altogether when compatibility with that older Safari
- is no longer needed.
-
- * WebKit.xcodeproj/project.pbxproj: Removed WebImageRendererFactory.h
- and missing_image.tiff.
-
- * WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Removed call
- to [WebImageRendererFactory createSharedFactory].
-
-2006-06-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej.
-
- Simple changes to hook up the new WebCore based Icon Database
- for testing.
-
- * ChangeLog:
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase _applicationWillTerminate:]):
- * Misc/WebIconDatabasePrivate.h:
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-06-01 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin.
-
- http://bugs.webkit.org/show_bug.cgi?id=6309
- multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
-
- * Misc/WebNSURLExtras.m:
- (-[NSString _webkit_URLFragment]):
- Don't include the "#" character in the fragment.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge historyURL:]):
- New function, returns the history URL for a given position in the back/forward list
-
- * WebView/WebFrame.m:
- (-[WebFrame _loadItem:withLoadType:]):
- Always call scrollToAnchorWithURL, even if there is no fragment. This way we keep the WebCore frame's
- URL up-to-date.
-
-2006-06-01 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - fixed "REGRESSION: Can't order from Pizza Hut (ToT, 05/24/06)"
- http://bugs.webkit.org/show_bug.cgi?id=9103
-
- * WebView/WebDataSource.m:
- (-[WebDataSource _willSendRequest:forResource:redirectResponse:]): Set up the
- User-Agent header.
- * WebView/WebDataSourceInternal.h:
- * WebView/WebLoader.m:
- (-[NSURLProtocol willSendRequest:redirectResponse:]): Pass a mutable URL request
- so the above can work.
-
-2006-06-01 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin.
-
- * WebView/WebFrameView.m:
- (+[WebFrameView _canShowMIMETypeAsHTML:]):
- Use _webkit_objectForMIMEType here so we'll get an object back for "text/".
-
-2006-05-31 David Hyatt <hyatt@apple.com>
-
- Make programmatic focus/blur actually work on sub-frames. Make the
- top-level UI delegate get called for deactivation of windows.
-
- Reviewed by darin
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge activateWindow]):
- (-[WebFrameBridge deactivateWindow]):
- (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
- (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- * WebKit.xcodeproj/project.pbxproj:
-
-=== WebKit-521.12 ===
-
-2006-05-26 David Harrison <harrison@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4514529> Add a list type parameter and a return value to _increaseSelectionListLevel
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _increaseSelectionListLevel]):
- - Now returns DOMNode*
-
- (-[WebHTMLView _increaseSelectionListLevelOrdered]):
- (-[WebHTMLView _increaseSelectionListLevelUnordered]):
- - Added. These also return DOMNode*
-
- * WebView/WebHTMLViewPrivate.h:
- - Updated as above
-
-2006-05-25 Tim Omernick <timo@apple.com>
-
- Reviewed by Anders.
-
- <http://bugs.webkit.org/show_bug.cgi?id=8347>
- REGRESSION: Flash movie audible but not visible until window is resized
-
- * Plugins/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView dataSourceUpdated:]):
- Layout if needed here. Maciej recently removed the "LayoutAcceptable" frame state, which used to
- cause plugin document views to lay out immediately upon receiving data. This call to -layout has
- the same effect.
-
-=== WebKit-521.11.1 ===
-
-2006-05-25 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Tim O.
-
- <rdar://problem/4559808> WebKit fails to compile for ppc64
- <rdar://problem/4522085> 64-bit: WebKit uses FSSpec which is not available in 64-bit
- Gets WebKit building under 64-bit. Rename WebNSInt and WebNSUInt to WebNSInteger and WebNSUInteger.
- Start using WebNSInteger where we need to match AppKit API usage of NSInteger.
-
- HIWebView and a couple of helper functions are disabled until they can be moved off of QuickDraw.
- <rdar://problem/4561772> HIWebView needs to be reworked to not use QuickDraw, needed for 64-bit
-
- * Carbon/CarbonUtils.m: disabled this file in 64-bit <rdar://problem/4561772>
- * Carbon/CarbonWindowAdapter.m:
- (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
- * Carbon/CarbonWindowFrame.m:
- (+[CarbonWindowFrame frameRectForContentRect:styleMask:]):
- (+[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
- (+[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
- (-[CarbonWindowFrame frameRectForContentRect:styleMask:]):
- (-[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
- (-[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
- * Carbon/HIViewAdapter.m: disabled this file in 64-bit <rdar://problem/4561772>
- * Carbon/HIWebView.m: disabled this file in 64-bit <rdar://problem/4561772>
- (HIWebViewEventHandler):
- * DefaultDelegates/WebDefaultResourceLoadDelegate.m:
- (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
- * History/WebBackForwardList.m:
- (-[WebBackForwardList removeItem:]):
- (-[WebBackForwardList goToItem:]):
- * Misc/WebDownload.m:
- (-[WebDownloadInternal download:didReceiveDataOfLength:]):
- * Misc/WebFileDatabase.m:
- (UniqueFilePathForKey):
- * Misc/WebIconDatabase.m:
- (-[NSMutableDictionary retainIconForURL:]):
- (-[NSMutableDictionary releaseIconForURL:]):
- (-[WebIconDatabase _totalRetainCountForIconURLString:]):
- (-[WebIconDatabase _retainIconForIconURLString:]):
- (-[WebIconDatabase _releaseIconForIconURLString:]):
- * Misc/WebSearchableTextView.m:
- (-[NSString selectionRect]):
- * Misc/WebTypesInternal.h: Added.
- * Plugins/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream _destroyStream]):
- (CarbonPathFromPOSIXPath):
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView sendActivateEvent:]):
- (-[WebBaseNetscapePluginView sendUpdateEvent]):
- (TSMEventHandler):
- (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
- (-[WebBaseNetscapePluginView _printedPluginBitmap]):
- (-[NSData _web_locationAfterFirstBlankLine]):
- * Plugins/WebBasePluginPackage.m:
- (-[WebBasePluginPackage hash]):
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
- (functionPointerForTVector):
- * WebInspector/WebInspector.m:
- (-[WebInspector _updateSystemColors]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.m:
- (-[WebDataSource _didReceiveData:contentLength:forResource:]):
- * WebView/WebFrame.m:
- (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView drawRect:]):
- (-[WebHTMLView characterIndexForPoint:]):
- (-[WebHTMLView conversationIdentifier]):
- * WebView/WebResourceLoadDelegate.h:
- * WebView/WebUIDelegate.h:
- * WebView/WebView.h:
- * WebView/WebView.m:
- (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
- (-[WebView spellCheckerDocumentTag]):
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-=== WebKit-521.11 ===
-
-2006-05-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Tim.
-
- - more loader refactoring to simplify things and remove knowledge of WebView from WebSubresourceLoader
-
- * WebCoreSupport/WebSubresourceLoader.m:
- (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
- (-[WebSubresourceLoader didReceiveResponse:]):
- * WebView/WebDataSource.m:
- (-[WebDataSource _loadIcon]):
- (-[WebDataSource _startLoading]):
- * WebView/WebFrame.m:
- (-[WebFrame _loadRequest:archive:]):
- (-[WebFrame _loadItem:withLoadType:]):
- (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
- (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFramePrivate.h:
- * WebView/WebLoader.h:
- * WebView/WebLoader.m:
- * WebView/WebMainResourceLoader.m:
- (-[WebMainResourceLoader initWithDataSource:]):
- (-[WebMainResourceLoader didReceiveResponse:]):
-
-2006-05-23 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4558301> REGRESSION (420+): After clearing history and closing bookmark view window,
- attempting to select Safari's menu bar results in a crash
-
- * Misc/WebNSWindowExtras.m:
- (replacementPostWindowNeedsDisplay):
- My fix yesterday for 4557117 was not quite good enough. Now that we cancel the display timer for a
- window *before* it deallocates, we need to make sure that while a window deallocates, no new display
- timers are scheduled for that window. This is actually possible, as 4558301 demonstrates.
- Luckily, NSWindow sets a handy "windowDying" flag when it deallocates, so we can just check that flag
- and bail out of the throttle hack if it is set. This should fix the last of the crashes involving
- display timers scheduled for deallocated or deallocating windows.
-
-2006-05-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- - remove knowledge of WebView from WebLoader in preparation for moving the code down
-
- * WebView/WebDataSource.m:
- (-[WebDataSource _defersCallbacks]):
- (-[WebDataSource _identifierForInitialRequest:]):
- (-[WebDataSource _willSendRequest:forResource:redirectResponse:]):
- (-[WebDataSource _didReceiveAuthenticationChallenge:forResource:]):
- (-[WebDataSource _didCancelAuthenticationChallenge:forResource:]):
- (-[WebDataSource _didReceiveResponse:forResource:]):
- (-[WebDataSource _didReceiveData:contentLength:forResource:]):
- (-[WebDataSource _didFinishLoadingForResource:]):
- (-[WebDataSource _didFailLoadingWithError:forResource:]):
- (-[WebDataSource _downloadWithLoadingConnection:request:response:proxy:]):
- (-[WebDataSource _privateBrowsingEnabled]):
- * WebView/WebDataSourceInternal.h:
- * WebView/WebLoader.h:
- * WebView/WebLoader.m:
- (-[WebLoader releaseResources]):
- (-[WebLoader setDataSource:]):
- (-[WebLoader willSendRequest:redirectResponse:]):
- (-[WebLoader didReceiveAuthenticationChallenge:]):
- (-[WebLoader didCancelAuthenticationChallenge:]):
- (-[WebLoader didReceiveResponse:]):
- (-[WebLoader didReceiveData:lengthReceived:]):
- (-[WebLoader signalFinish]):
- (-[WebLoader didFinishLoading]):
- (-[WebLoader didFailWithError:]):
- (-[WebLoader willCacheResponse:]):
- (-[WebLoader cancelWithError:]):
- * WebView/WebMainResourceLoader.m:
- (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
- * WebView/WebView.m:
- (-[WebView _incrementProgressForIdentifier:response:]):
- (-[WebView _incrementProgressForIdentifier:data:]):
- (-[WebView _completeProgressForIdentifier:]):
- * WebView/WebViewInternal.h:
-
-=== WebKit-521.10 ===
-
-2006-05-22 Tim Omernick <timo@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/4557117> TOT REGRESSION: Repro crash in cancelPendingWindowDisplay --> _timerRelease when
- opening file from file open dialog
-
- Note that I could not reproduce this situation at all on any of my machines; I had to debug this on Geoff's
- machine.
-
- * Misc/WebNSWindowExtras.m:
- (replacementDealloc):
- Cancel display timer before dealloc, not after. Cancelling the timer can cause a message to be sent to the
- window; best to do that before the window deallocates.
- (replacementFinalize):
- ditto
-
-2006-05-20 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Beth.
-
- - fix assertion failure on layout tests
-
- * WebView/WebDataSource.m:
- (-[WebDataSource _mainReceivedError:complete:]): Don't do anything
- if this data source is no longer connected to a frame. Used to be
- this couldn't happen because the WebView would have been nil, but
- we no longer go through the WebView.
-
-2006-05-20 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Anders.
-
- Bug 9018: REGRESSION: resizing the top area of the inspector does not grow as expected
- http://bugs.webkit.org/show_bug.cgi?id=9018
-
- Use clientHeight now that offsetHeight includes the border and padding.
- clientHeight should have been used initially.
-
- * WebInspector/WebInspector.m:
- (-[WebInspector resizeTopArea]):
-
-2006-05-18 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- - remove loading-related code from WebView
- http://bugs.webkit.org/show_bug.cgi?id=8981
-
- * Plugins/WebNetscapePluginStream.m:
- (-[WebNetscapePlugInStreamLoader didFinishLoading]):
- (-[WebNetscapePlugInStreamLoader didFailWithError:]):
- * WebCoreSupport/WebSubresourceLoader.m:
- (-[WebSubresourceLoader receivedError:]):
- (-[WebSubresourceLoader signalFinish]):
- * WebView/WebDataSource.m:
- (-[WebDataSource _stopLoading]):
- (-[WebDataSource _receivedMainResourceError:complete:]):
- (-[WebDataSource _finishedLoadingResource]):
- (-[WebDataSource _mainReceivedBytesSoFar:complete:]):
- (-[WebDataSource _receivedError:]):
- (-[WebDataSource _mainReceivedError:complete:]):
- * WebView/WebDataSourceInternal.h:
- * WebView/WebFrame.m:
- (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
- * WebView/WebMainResourceLoader.m:
- (-[WebMainResourceLoader didReceiveData:lengthReceived:]):
- (-[WebMainResourceLoader didFinishLoading]):
- * WebView/WebView.m:
- * WebView/WebViewInternal.h:
-
-2006-05-18 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4551938> More options needed for window display throttle
-
- We decided to play it safe and leave our window flushing behavior unchanged from the previous
- public release. By default, CoreGraphics deferred updates are once again OFF, and the window
- display throttle is OFF.
-
- Individual applications should set the WebKitThrottleWindowDisplayPreferenceKey and
- WebKitEnableDeferredUpdatesPreferenceKey defaults to suit their needs.
-
- Old behavior (like 10.4.6): WebKitThrottleWindowDisplayPreferenceKey=0 (or unset),
- WebKitEnableDeferredUpdatesPreferenceKey (or unset).
-
- Tear-free scrolling/animations: WebKitThrottleWindowDisplayPreferenceKey=0 (or unset),
- WebKitEnableDeferredUpdatesPreferenceKey=1. While this configuration fixes the tearing issues
- caused by over-flushing, some applications will experience performance problems as over-flushing
- with CG deferred updates enabled will cause the app to block.
-
- Tear-free scrolling/animations, high performance: WebKitThrottleWindowDisplayPreferenceKey=1,
- WebKitEnableDeferredUpdatesPreferenceKey=1. This is the riskiest configuration in that it
- enables the window display throttle "feature", potentially breaking applications' assumptions
- about when displays occur. However, it provides the "best of both worlds", in that updates
- are tear-free, and performance impact should me minimal.
-
- * WebView/WebPreferenceKeysPrivate.h:
- Declared WebKitThrottleWindowDisplayPreferenceKey and WebKitEnableDeferredUpdatesPreferenceKey.
-
- * WebView/WebFrameView.m:
- (-[WebFrameView initWithFrame:]):
- Turn off CG deferred updates if WebKitEnableDeferredUpdatesPreferenceKey is NO or has no value.
- Added some comments.
-
-2006-05-18 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- - fixed <rdar://problem/4552713> REGRESSION: WebFrameView no longer responds to responder methods sent by Safari code
-
- * WebView/WebView.m:
- (-[WebView _responderForResponderOperations]):
- Treat sibling views of the main frameView the same as views outside of the webview for the purposes of this mechanism.
-
-2006-05-18 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4553450> Make disabling window throttle safer
-
- * Misc/WebNSWindowExtras.m:
- (+[NSWindow _webkit_enableWindowDisplayThrottle]):
- Don't assume that +_webkit_disableWindowDisplayThrottle restored the NSWindow method implementations;
- now we'll only swizzle them once, and our replacement IMPs will call the old IMPs when the window
- throttle is disabled. This is a safer approach when other components/"haxies" override the same methods
- that we are overriding, as it allows the overrides to "chain" properly.
- Moved the dictionary initialization code down a bit. The order doesn't matter here.
- (disableWindowDisplayThrottleApplierFunction):
- Noticed that this could have been written safer with respect to the timer having the last reference to
- the window. I never experienced a crash here, but this code is definitely safer.
- (+[NSWindow _webkit_disableWindowDisplayThrottle]):
- Don't restore NSWindow method implementations; just clear the flag, flush pending displays, and destroy
- the dictionary.
- (replacementPostWindowNeedsDisplay):
- If throttling is disabled, just call the original IMP.
- (clearWindowDisplayInfo):
- Added an assert.
- (replacementDealloc):
- Don't call clearWindowDisplayInfo() when throttling is disabled.
- (replacementFinalize):
- ditto
- (cancelPendingWindowDisplay):
- Removed an unnecessary assertion.
-
-2006-05-17 Tim Omernick <timo@apple.com>
-
- Reviewed by Kevin Decker and John Sullivan.
-
- <rdar://problem/4550801> REGRESSION: Window throttle code can sometimes leak NSWindows
-
- The window display throttle depended on windows being closed before they were deallocated; this is
- not guaranteed by AppKit. Windows that were being released without being closed were getting stuck
- in our NSWindow -> WindowDisplayInfo dictionary.
-
- * Misc/WebNSWindowExtras.m:
- (+[NSWindow _webkit_enableWindowDisplayThrottle]):
- Don't retain the NSWindow keys in the window display info dictionary.
- Instead of overriding -close, override -dealloc and -finalize so that we can remove the NSWindow ->
- WindowDisplayInfo mapping when a window deallocates.
- (+[NSWindow _webkit_disableWindowDisplayThrottle]):
- Restore -dealloc and -finalize.
- (clearWindowDisplayInfo):
- Factored the WindowDisplayInfo cleanup code out of the now-defunct replacementClose().
- (replacementClose):
- Removed; no longer needed.
- (replacementDealloc):
- Clear the WindowDisplayInfo for the window after deallocation.
- (replacementFinalize):
- ditto
- (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]):
- Rewrote this method to be safe in the case where the firing display timer has the last reference to the
- window.
- Added comments.
-
-2006-05-17 bradeeoh <beidson@apple.com>
-
- Reviewed by Tim Hatcher
-
- Consolidated WebDatabase base class into WebFileDatabase as the inheritance relationship became
- obsolete. This improves readability and sets the stage for a further in-depth rewrite of the
- WebIcon* code.
-
- * Misc/WebDatabase.h: Removed.
- * Misc/WebDatabase.m: Removed.
- * Misc/WebFileDatabase.h:
- * Misc/WebFileDatabase.m:
- (-[WebFileDatabaseOp dealloc]):
- (-[WebFileDatabase dealloc]):
- (-[WebFileDatabase path]):
- (-[WebFileDatabase isOpen]):
- (-[WebFileDatabase sizeLimit]):
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-05-17 Adele Peterson <adele@apple.com>
-
- Reviewed by Hyatt.
-
- WebKit part of initial checkin to prepare for http://bugs.webkit.org/show_bug.cgi?id=8948
- Switch to use new text field implementation for <textarea>
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView insertNewline:]): If we're in plain text mode, insert a line break instead of a paragraph separator.
- (-[WebHTMLView insertParagraphSeparator:]): ditto.
- * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
- Checks for textareas as well as textfields before allowing the delegate to control
- the context menu. This won't affect the old textareas because AppKit handles those context menus.
-
-2006-05-17 John Sullivan <sullivan@apple.com>
-
- Reviewed by Maciej.
-
- First step towards making text-matching mechanism more flexible; updated for changes
- to WebCoreFrameBridge calls.
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
- updated for name change in WebCoreFrameBridge, also now calls setMarkedTextMatchesAreHighlighted:
- (-[WebHTMLView clearHighlightedMatches]):
- updated for name change in WebCoreFrameBridge
-
-2006-05-16 Matt Gough <matt@softchaos.com>
-
- Reviewed by Geoff.
-
- Ensured all the public headers have a newline at their end.
-
- Client code can now have 'Missing Newline at end of File' warnings enabled without emitting
- such warnings against any WebKit includes.
-
- * Misc/WebDownload.h:
- * Plugins/npfunctions.h:
- * WebView/WebResourceLoadDelegate.h:
- * WebView/WebUIDelegate.h:
- * WebView/WebView.h:
-
-2006-05-16 Tim Omernick <timo@apple.com>
-
- Reviewed by Tim Hatcher.
-
- http://bugs.webkit.org/show_bug.cgi?id=8945 (REGRESSION: Scrolling is very slow when dragging
- the thumb)
-
- Rolled out one of my tweaks to the window display throttle hack (remember the last flush time instead
- of the last display time). While that was technically a better approach, we discovered a problem
- with how it interacts with NSView scroll tracking. Rather than further complicate this already
- crazy hack, I'm reverting back to the simple version. This should yield similar numbers on iBench,
- but not exhibit the nasty scrolling problem.
-
- * Misc/WebNSWindowExtras.m:
- (+[NSWindow _webkit_enableWindowDisplayThrottle]):
- (+[NSWindow _webkit_disableWindowDisplayThrottle]):
- (getWindowDisplayInfo):
- (requestWindowDisplay):
-
-2006-05-16 bradeeoh <beidson@apple.com>
-
- Reviewed by Maciej Stachowiak
-
- - Fixed an old deprecated method in Misc/WebFileDatabase.m
-
- * Misc/WebFileDatabase.m:
- (UniqueFilePathForKey): changed `lossyCString` to `UTF8String`
-
-2006-05-16 Darin Adler <darin@apple.com>
-
- Reviewed by Anders.
-
- - did the name change from "ImageElement" to "ImageForElement" that I said I would
- (oops!)
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate copyImageToClipboard:]):
- * Misc/WebNSPasteboardExtras.h:
- * Misc/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
- * Misc/WebNSViewExtras.h:
- * Misc/WebNSViewExtras.m:
- (-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- * WebView/WebView.m:
- (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
- (-[WebView writeElement:withPasteboardTypes:toPasteboard:]):
- * WebView/WebViewInternal.h:
-
-2006-05-16 Darin Adler <darin@apple.com>
-
- Reviewed by Anders.
-
- - http://bugs.webkit.org/show_bug.cgi?id=8940
- remove extra copy of image code
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for many recent changes.
-
- * WebKit.xcodeproj/project.pbxproj: Removed files.
- * WebCoreSupport/WebImageData.h: Removed.
- * WebCoreSupport/WebImageData.m: Removed.
- * WebCoreSupport/WebImageDecodeItem.h: Removed.
- * WebCoreSupport/WebImageDecodeItem.m: Removed.
- * WebCoreSupport/WebImageDecoder.h: Removed.
- * WebCoreSupport/WebImageDecoder.m: Removed.
- * WebCoreSupport/WebImageRenderer.h: Removed.
- * WebCoreSupport/WebImageRenderer.m: Removed.
-
- * WebCoreSupport/WebImageRendererFactory.h:
- * WebCoreSupport/WebImageRendererFactory.m: Removed everything except for
- shouldUseThreadedDecoding, setShouldUseThreadedDecoding, and imageDataForName:.
-
- * Misc/WebNSPasteboardExtras.h: Removed WebImageRenderer parameter from
- _web_declareAndWriteDragImage and renamed _web_declareAndWriteDragImageElement.
- * Misc/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Changed to
- call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
- -[WebImageRendererFactory supportedMIMETypes].
- (-[NSPasteboard _web_declareAndWriteDragImageElement:URL:title:archive:source:]):
- Removed WebImageRenderer parameter, and updated code since it was always nil.
-
- * Misc/WebNSViewExtras.h: Removed WebImageRenderer parameter from
- _web_dragImage and renamed _web_dragImageElement.
- * Misc/WebNSViewExtras.m:
- (-[NSView _web_dragImageElement:rect:event:pasteboard:source:offset:]):
- Removed WebImageRenderer parameter, and updated code since it was always nil.
-
- * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Added some new
- functions now used by WebCore.
-
- * WebView/WebDataSource.m: (-[WebDataSource _documentFragmentWithArchive:]):
- Call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
- -[WebImageRendererFactory supportedMIMETypes].
-
- * WebView/WebFrameView.m: Removed include of WebImageRenderer.h.
-
- * WebView/WebHTMLRepresentation.m: (+[WebHTMLRepresentation supportedImageMIMETypes]):
- Removed call to +[WebImageRendererFactory createSharedFactory].
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _imageExistsAtPaths:]): Call +[WebFrameBridge supportedImageResourceMIMETypes]
- instead of -[WebImageRendererFactory supportedMIMETypes].
- (-[WebHTMLView _documentFragmentWithPaths:]): Ditto.
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Update
- to no longer pass nil for an image to _web_declareAndWriteDragImageElement and to
- _web_dragImageElement.
- (-[WebHTMLView dealloc]): Remove call to now-unneeded _reset.
- (-[WebHTMLView finalize]): Ditto.
- (-[WebHTMLView viewDidMoveToWindow]): Remove logic for calling _reset, including the inWindow
- boolean field.
-
- * WebView/WebHTMLViewInternal.h: Removed inWindow boolean.
- * WebView/WebHTMLViewPrivate.h: Removed _reset method.
-
-2006-05-16 Darin Adler <darin@apple.com>
-
- Reviewed by Hyatt.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=8898
- REGRESSION: Attempting to right-click image in own tab on website causes crash
- - fix http://bugs.webkit.org/show_bug.cgi?id=8919
- REGRESSION: image could not be dragged, subsequent click-drag activity caused crash
-
- These fixes may become obsolete when Anders lands his standalone image viewer
- patch, but in my tree they are needed to make Copy Image work after the fix
- over on the WebCore side to avoid the crashes.
-
- * Misc/WebNSPasteboardExtras.h: Change _web_writeImage parameter to an NSImage.
- * Misc/WebNSPasteboardExtras.m:
- (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Change parameter
- to an NSImage instead of a WebImageRenderer.
- (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]):
- Call -[WebImageRenderer image] to get an NSImage to pass to _web_writeImage.
-
- * WebView/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
- Get the image using WebElementImageKey if WebElementDOMNodeKey is nil.
-
-2006-05-16 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- http://bugs.webkit.org/show_bug.cgi?id=8921
- Use WebCore to render full-frame images
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
- Remove WebImageView handling.
-
- (-[WebFrameBridge mainResourceURLResponse]):
- New function which returns the URL response for the main resource. This is used by the
- manual loading of images.
-
- (-[WebFrameBridge imageTitleForFilename:size:]):
- New function which returns a correctly translated image title given a filename and a size.
-
- * WebCoreSupport/WebImageRenderer.m:
- (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
- Remove WebImageView handling.
-
- * WebKit.xcodeproj/project.pbxproj:
- Remove WebImageRepresentation and WebImageView.
-
- * WebView/WebArchiver.h:
- * WebView/WebArchiver.m:
- (+[WebArchiver archiveMainResourceForFrame:]):
- New functions which returns a WebArchive with just the main resource, ignoring any subresources.
-
- * WebView/WebDataSource.m:
- (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
-
- * WebView/WebFrameView.m:
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
- Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
-
- (+[WebHTMLRepresentation supportedMIMETypes]):
- Create an array of image and non-image MIME Types.
-
- (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
- (+[WebHTMLRepresentation supportedImageMIMETypes]):
- New functions, separating the list of MIME types into image and non-image ones.
-
- * WebView/WebHTMLView.m:
- (+[WebHTMLView supportedImageMIMETypes]):
- (+[WebHTMLView supportedNonImageMIMETypes]):
- New functions which call down to WebHTMLRepresentation.
-
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- If the image element comes from an ImageDocument, just use an archive of the main resource
- instead of the generated HTML document.
-
- * WebView/WebHTMLViewPrivate.h:
- Declare new functions.
-
- * WebView/WebImageRepresentation.h: Removed.
- * WebView/WebImageRepresentation.m: Removed.
- * WebView/WebImageView.h: Removed.
- * WebView/WebImageView.m: Removed.
-
-2006-05-15 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- Part of <rdar://problem/4466508> Add 64-bit support to the Netscape Plugin API
-
- Added to the Netscape Plugin API the concept of "plugin drawing models". The drawing model
- determines the kind of graphics context created by the browser for the plugin, as well as
- the Mac types of various Netscape Plugin API data structures.
-
- There is a drawing model to represent the old QuickDraw-based API. It is used by default
- if QuickDraw is available on the system, unless the plugin specifies another drawing model.
-
- The big change is the addition of the CoreGraphics drawing model. A plugin may request this
- drawing model to obtain access to a CGContextRef for drawing, instead of a QuickDraw CGrafPtr.
-
- * Plugins/WebBaseNetscapePluginView.h:
- Added PluginPort union, which wraps a NP_Port and a NP_CGContext. This is to make access to
- the nPort and lastSetPort ivars more convenient now that the port type differs based on the
- drawing model.
- Changed types of nPort and lastSetPort to PluginPort so they can be used with any drawing model.
- Added drawingModel ivar.
- * Plugins/WebBaseNetscapePluginView.m:
- Renamed PortState to PortState_QD. PortState is now an opaque pointer. PortState_QD cannot be
- used if QuickDraw is unavailable.
- (-[WebBaseNetscapePluginView fixWindowPort]):
- Cannot be used if QuickDraw is unavailable.
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- Only fix window port if drawing model is QuickDraw.
- Re-ordered some code so I could group QuickDraw-specific stuff into switch and if blocks (that's
- why the diff here is so terrible).
- Now returns a malloc()'ed PortState that the caller is responsible for freeing. Renamed to
- better reflect this behavior.
- Support for the CoreGraphics drawing model -- fill PortState_CG struct, save CGContext state.
- (-[WebBaseNetscapePluginView restorePortState:]):
- Switch based on drawing model.
- Support for the CoreGraphics drawing model -- restore CGContext state saved earlier.
- (-[WebBaseNetscapePluginView sendEvent:]):
- Formatting.
- Don't set save/set port state or set the window in CoreGraphics mode unless the event being
- sent is an updateEvt. We can't provide the plugin with a CGContext outside of our view display
- cycle.
- Don't restore PortState if it's NULL (didn't used to be a pointer). Free when we're done with it.
- (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
- Formatting.
- Switch how we compare ports based on the drawing model.
- (-[WebBaseNetscapePluginView updateAndSetWindow]):
- Fixed for CoreGraphics by triggering a redisplay instead of sending an update event to the plugin
- outside of the view display cycle.
- Don't restore PortState if it's NULL (didn't used to be a pointer). Free when we're done with it.
- (-[WebBaseNetscapePluginView setWindowIfNecessary]):
- Assert that the window is only set when updating in CoreGraphics mode.
- Log differently depending on the drawing model.
- (-[WebBaseNetscapePluginView start]):
- Fall back on QuickDraw if the plugin does not specify a drawing model.
- (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
- Cannot be used if QuickDraw is unavailable.
- (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
- Only call -tellQuickTimeToChill in QuickDraw mode.
- (-[WebBaseNetscapePluginView viewHasMoved:]):
- ditto
- (-[WebBaseNetscapePluginView invalidateRegion:]):
- NPRegion is a CGPathRef in CoreGraphics mode.
- (-[WebBaseNetscapePluginView getVariable:value:]):
- Added support for retriveing the NPNVpluginDrawingModel, NPNVsupportsQuickDrawBool, and
- NPNVsupportsCoreGraphicsBool browser variables.
- (-[WebBaseNetscapePluginView setVariable:value:]):
- Added support for setting the NPNVpluginDrawingModel variable.
-
-2006-05-15 Tim Omernick <timo@apple.com>
-
- Reviewed by Kevin Decker.
-
- Follow-up to my previous PLT fix. I found upon further testing (by dramatically decreasing the
- allowed display rate) that +_webkit_displayThrottledWindows did not always force a display when
- necessary. The reason is that I was not giving a proper timeout to CFRunLoopRunInMode(). I was
- passing 0, which was causing only "expired" timers to fire. This method is actually supposed to
- block until all currently scheduled display timers fire.
-
- I tested this change and found that it did not affect my PLT times when the display rate was
- capped to 60 fps. It also behaves as expected when the display rate is set much lower (say, 1
- display per second); my previous fix did not work well at such display rates.
-
- * Misc/WebNSWindowExtras.m:
- (+[NSWindow _webkit_displayThrottledWindows]):
- Run the runloop for an amount of time equal to the minimum allowed interval between displays.
- This ensures that we'll block until all currently scheduled display timers fire (but we won't
- block for future display timers).
-
-2006-05-15 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - followup to previous fix; I hadn't tested quitting adequately
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView dealloc]):
- call removeAllToolTips before clearing _private so that removeTrackingRect: override can work
- properly. Normally removeAllToolTips would be called by super, but that's too late.
- (-[WebHTMLView finalize]):
- ditto
-
-2006-05-15 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin.
-
- - fixed <rdar://problem/4503016> TOT assertion failure in -[WebHTMLView(WebPrivate) removeTrackingRect:]
-
- We have some tricky code to deal with tracking rects, which succumbed to a fix in AppKit. Updated our
- tricky code to work with the AppKit fix.
-
- * WebView/WebHTMLViewInternal.h:
- new instance variable lastToolTipTag
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView removeTrackingRect:]):
- handle removing lastToolTipTag by calling super
- (-[WebHTMLView _setToolTip:]):
- save tool tip tag in lastToolTipTag; this apparently used to always return 0, so we formerly had no way
- to distinguish it from the no-tool-tips-yet case.
-
- * WebKit.xcodeproj/project.pbxproj:
- Xcode removed some old cruft
-
-2006-05-15 Tim Omernick <timo@apple.com>
-
- Reviewed by Darin.
-
- Safari's Page Load Test (PLT) saturates the runloop with so many sources that timers are not allowed to fire
- as frequently as they should. This is a general problem with the PLT -- because of this, it does not measure
- work done in timer callbacks during/after the page load process.
-
- Unfortunately, this aspect of the PLT interferes with our window display throttle hack. Because we throttle
- display using timers, and the PLT starves timers, most of the pages loaded by the PLT do not actually display.
- This makes the PLT run "too fast", yielding ridiculously fast numbers compared to when throttling is disabled.
-
- I've added a new method that the PLT can call after each page load to force any starved display throttle timers
- to fire. By doing this, Safari's PLT will be guaranteed to display each page at least once.
-
- * Misc/WebNSWindowExtras.h:
- * Misc/WebNSWindowExtras.m:
- Added a special internal runloop mode for the throttle timers.
- (+[NSWindow _webkit_displayThrottledWindows]):
- Run the runloop in our special internal mode until there are no more sources to handle.
- (requestWindowDisplay):
- Schedule the timer in the new mode as well as the standard modes.
-
-2006-05-15 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- http://bugs.webkit.org/show_bug.cgi?id=8913
- REGRESSION: Can view source for text files
-
- * WebView/WebDocumentPrivate.h:
- Add canSaveAsWebArchive.
-
- * WebView/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation canProvideDocumentSource]):
- Call the bridge.
-
- (-[WebHTMLRepresentation canSaveAsWebArchive]):
- New function. This will be used in Safari ToT to determine if a page can be saved as an archive.
-
-2006-05-14 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=8739
- Crash in RenderTableSection::paint due to manipulating DOM on resize
-
- Manual test: manual-tests/dom-manipulation-on-resize.html
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Relayout if necessary
- after sending the resize event.
-
-2006-05-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Brady.
-
- http://bugs.webkit.org/show_bug.cgi?id=8876
- - move most private WebDataSource methods to uninstalled header
-
- I put the declarations for the ones only used in WebKit in WebDataSourceInternal.h
- and removed two entirey unused ones.
-
- * Plugins/WebNetscapePluginRepresentation.m:
- * Plugins/WebNetscapePluginStream.m:
- * Plugins/WebPluginController.m:
- * Plugins/WebPluginDocumentView.m:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge dataSource]):
- * WebCoreSupport/WebSubresourceLoader.m:
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.m:
- (-[WebDataSource _updateIconDatabaseWithURL:]):
- (-[WebDataSource _loadIcon]):
- (-[WebDataSource _clearErrors]):
- (-[WebDataSource _commitLoadWithData:]):
- (-[WebDataSource _doesProgressiveLoadWithMIMEType:]):
- (-[WebDataSource _addResponse:]):
- * WebView/WebDataSourceInternal.h: Added.
- * WebView/WebDataSourcePrivate.h:
- * WebView/WebFrame.m:
- * WebView/WebHTMLRepresentation.m:
- * WebView/WebHTMLView.m:
- * WebView/WebImageView.m:
- * WebView/WebLoader.m:
- * WebView/WebMainResourceLoader.m:
- * WebView/WebPDFView.m:
- * WebView/WebRenderNode.m:
- * WebView/WebView.m:
-
-2006-05-12 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
- <http://bugs.webkit.org/show_bug.cgi?id=8740>
-
- Improvement to my NSWindow display throttle hack. Remember the last flush time instead of the last display time.
- Our goal is to never draw less than 1/60th of a second after the window is flushed in order to avoid blocking on
- a CG coalesced update. Using the last display time is close, but this is much more accurate. I have verified that
- this further improves our score on BenchJS Test 1 (by 9.8% with the status bar shown compared to the previous build),
- as well as on our internal PLT scores by a smaller percentage.
-
- * Misc/WebNSWindowExtras.m:
- Renamed lastDisplayTime to lastFlushTime.
- (+[NSWindow _webkit_enableWindowDisplayThrottle]):
- Replace -[NSWindow flushWindow] with our own implementation.
- (+[NSWindow _webkit_disableWindowDisplayThrottle]):
- Restore -[NSWindow flushWindow].
- (replacementFlushWindow):
- Use the last flush time instead of the last display time.
- (getWindowDisplayInfo):
- Renamed lastDisplayTime to lastFlushTime.
- (requestWindowDisplay):
- Moved some code to replacementFlushWindow().
-
-2006-05-11 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- Bug 8856: Web Inspector should show the Xpath for the selected node
- http://bugs.webkit.org/show_bug.cgi?id=8856
-
- Adds an Xpath area to the Node panel.
-
- * WebInspector/webInspector/inspector.css:
- * WebInspector/webInspector/inspector.html:
- * WebInspector/webInspector/inspector.js:
-
-2006-05-11 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Anders.
-
- Fixes <rdar://problem/4411845> lots of SPOD trying to scroll through
- Markup & Content inspecting body at apple.com (6614)
- http://bugs.webkit.org/show_bug.cgi?id=6614
-
- Removed the Markup & Content pane when viewing a element.
- This pane was not that useful and made the inspector really slow
- when the markup was large. Only show this pane for text nodes.
-
- * WebInspector/webInspector/inspector.css: use -webkit prefix
- * WebInspector/webInspector/inspector.html:
- * WebInspector/webInspector/inspector.js:
-
-2006-05-11 Sam Weinig <sam.weinig@gmail.com>
-
- Reviewed by Timothy.
-
- Patch for <http://bugs.webkit.org/show_bug.cgi?id=8810>
- Bug 8810: Scrollbars in WebInspector rendered incorrectly
-
- * WebInspector/webInspector/inspector.css:
- Make scroll bars absolutely positioned.
-
-2006-05-10 Tim Omernick <timo@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4542808> REGRESSION: benchjs test 1 has slowed by over 150% (8740)
- <http://bugs.webkit.org/show_bug.cgi?id=8740>
-
- * Misc/WebNSWindowExtras.h:
- * Misc/WebNSWindowExtras.m:
- (+[NSWindow _webkit_enableWindowDisplayThrottle]):
- Overrides certain NSWindow methods so that window autodisplay can be throttled to 60Hz.
-
- (disableWindowDisplayThrottleApplierFunction):
- CFDictionary applier function for when the throttle is disabled. Cancels all pending window displays,
- and calls -displayIfNeeded on each window with a pending display.
-
- (+[NSWindow _webkit_disableWindowDisplayThrottle]):
- Restores default NSWindow method implementations and clears pending window displays.
-
- (swizzleInstanceMethod):
- Helper function to swizzle ObjC method implementations.
-
- (replacementPostWindowNeedsDisplay):
- Don't call into -[NSWindow _postWindowNeedsDisplay] if requestWindowDisplay() returns NO (this is the
- function that throttles display).
-
- (replacementClose):
- Clean up the WindowDisplayInfo struct for the window, since it's about to go away.
-
- (getWindowDisplayInfo):
- Gets the WindowDisplayInfo struct for the window, or creates it if absent.
-
- (requestWindowDisplay):
- Returns YES if a display is allowed right now. Returns NO otherwise, and schedules a timer to try the
- display again.
-
- (cancelPendingWindowDisplay):
- Cancels the pending display for the window, if any.
-
- (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]):
- Try to call _postWindowNeedsDisplay again.
-
- * WebView/WebFrameView.m:
- (-[WebFrameView initWithFrame:]):
- If the secret "WebKitThrottleWindowDisplay" default is set, then enable the NSWindow throttle.
-
-2006-05-10 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- * WebView/WebHTMLView.m:
- (+[WebHTMLView unsupportedTextMIMETypes]):
- Add text/rtf
-
-2006-05-09 Levi Weintraub <lweintraub@apple.com>
-
- Reviewed by justin.
-
- <rdar://problem/4442395>
- Tiny MCE: Link isn't inserted after dragging into textarea field
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _documentFragmentFromPasteboard:allowPlainText:chosePlainText:]):
- Modified to create an anchor object with a title as opposed to just the URL as text.
-
-2006-05-09 Tim Omernick <timo@apple.com>
-
- Reviewed by Dave Harrison.
-
- <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or
- other WebPreferences changes)
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
- When the plugin view is removed from both its window and its hostWindow, stop observing
- WebPreferences.
-
-2006-05-09 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin.
-
- http://bugs.webkit.org/show_bug.cgi?id=8808
- WebCore should handle text files
-
- * WebKit.exp:
- Remove WebTextView.
-
- * WebKit.xcodeproj/project.pbxproj:
- Get rid of WebTextView and WebTextRepresentation.
-
- * WebView/WebDataSource.m:
- (+[WebDataSource _repTypesAllowImageTypeOmission:]):
- * WebView/WebFrameView.m:
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
- * WebView/WebHTMLView.m:
- The text MIME types are now handled by WebHTMLView.
-
- (+[WebHTMLView unsupportedTextMIMETypes]):
- New function, moved here from WebTextView.
-
- * WebView/WebHTMLViewPrivate.h:
- * WebView/WebTextRepresentation.h: Removed.
- * WebView/WebTextRepresentation.m: Removed.
- * WebView/WebTextView.h: Removed.
- * WebView/WebTextView.m: Removed.
-
- * WebView/WebView.m:
- (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
- Now special-case WebHTMLView instead of WebTextView for MIME types
- that shouldn't be shown.
-
-2006-05-09 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Anders.
-
- - renamed kxmlcore to wtf
-
- kxmlcore --> wtf
- KXMLCore --> WTF
- KXC --> WTF
-
- * Misc/WebKitLogging.h:
- * Misc/WebKitLogging.m:
- (initializeLogChannel):
-
-2006-05-09 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Anders.
-
- Bug 8804: Inspector should support searching by Xpath query
- http://bugs.webkit.org/show_bug.cgi?id=8804
-
- * WebInspector/WebInspector.m:
- (-[WebInspector _refreshSearch]):
- * WebInspector/webInspector/inspector.js:
-
-2006-05-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Tim Hatcher.
-
- - refactor things so that WebKit doesn't save a WebResource for every loaded URL,
- but rather retrieves the data from the WebCore cache as needed.
- http://bugs.webkit.org/show_bug.cgi?id=8802
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge objectLoadedFromCacheWithURL:response:data:]):
- (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- * WebCoreSupport/WebSubresourceLoader.m:
- (-[WebSubresourceLoader didReceiveResponse:]):
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _setupForReplaceByMIMEType:]):
- (-[WebDataSource _archivedSubresourceForURL:]):
- (-[WebDataSource initWithRequest:]):
- (-[WebDataSource subresources]):
- (-[WebDataSource subresourceForURL:]):
- (-[WebDataSource addSubresource:]):
- * WebView/WebDataSourcePrivate.h:
- * WebView/WebFrame.m:
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.m:
- * WebView/WebLoader.h:
- * WebView/WebLoader.m:
- (-[NSURLProtocol loadWithRequest:]):
- (-[NSURLProtocol didFinishLoading]):
- * WebView/WebUnarchivingState.h:
- * WebView/WebUnarchivingState.m:
- (-[WebUnarchivingState addResource:]):
-
-2006-05-04 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=8594
- REGRESSION: Exception on closing a page containing (just) an mp3
-
- Test: plugins/pluginDocumentView-deallocated-dataSource.html
-
- * Plugins/WebPluginDocumentView.m:
- (-[WebPluginDocumentView dealloc]): Release the dataSource.
- (-[WebPluginDocumentView setDataSource:]): Retain the dataSource.
-
-2006-05-04 Tim Omernick <timo@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
- Pass the DOMElement to the plugin if it's a WebKit plugin (we need to handle Netscape plugins
- differently).
-
-2006-05-04 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4480186> Give WebKit plugins access to their own DOM element
-
- This does not fix <rdar://problem/4480187> Give Netscape plugins access to their own DOM element --
- we're not going to use the ObjC DOM API for that, but rather the NP bindings API.
-
- * Plugins/WebPluginPackage.m:
- Declared WebPlugInContainingElementKey. This is not a new plugin argument -- it's been in our public
- headers since all along, but has never been concretely declared -- plugins that referenced it would not
- link.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:]):
- Added DOMElement parameter, which is now included in the plugin arguments dictionary.
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:]):
- ditto
-
- * WebKit.exp:
- Export WebPlugInContainingElementKey.
-
-2006-05-02 Darin Adler <darin@apple.com>
-
- Reviewed by Eric.
-
- - http://bugs.webkit.org/show_bug.cgi?id=8677
- REGRESSION: wkSetUpFontCache() may be called before the SPIs are connected.
-
- I don't know how reproduce this without one of Rosyna's hacks installed, so I
- did not include a test.
-
- * Misc/WebStringTruncator.m: (+[WebStringTruncator initialize]): Add call to
- InitWebCoreSystemInterface.
-
- * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add a boolean
- so we will only do this one time.
-
-2006-05-02 Adele Peterson <adele@apple.com>
-
- Reviewed by Tim O.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=6988
- REGRESSION: Display correct context menus for new text fields
-
- * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
- Don't let the UI delegate have control over the context menu for text fields.
-
-2006-05-01 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=8658
- Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad]
- (bridge is null) when clicking QuickTime object with href
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView setDataSource:]): Set the pluginController's dataSource.
-
-2006-05-01 Maciej Stachowiak <mjs@apple.com>
-
- - fix build
-
- * WebKit.exp: Add symbol that the new Safari will need.
-
-2006-05-01 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - fixed <rdar://problem/3126419> history load enforces history limit, but deletes the newest instead of oldest items
- - added notification reporting items discarded during load because the age limit or item count limit is exceeded
- - a few other minor tweaks
-
- * History/WebHistory.h:
- fixed a typo and an incorrect method name
-
- * History/WebHistoryPrivate.h:
- Added declaration of WebHistoryItemsDiscardedWhileLoadingNotification. Also changed signature of
- WebHistoryPrivate method -loadFromURL:error: to have new collectDiscardedItemsInto: parameter.
- Also deleted declarations of two methods that didn't actually exist (loadHistory and initWithFile:),
- and added comments about which methods should become public API, WebKit-internal, or file-internal.
-
- * History/WebHistory.m:
- (-[WebHistoryPrivate arrayRepresentation]):
- This method, called only by _saveHistoryGuts:, used to deliberately leave out items that violated
- either the age limit or the item count limit. Now all the items are included (and thus saved), and
- all the pruning is done at load time, so clients can keep track of the pruned items by observing
- the new WebHistoryItemsDiscardedWhileLoadingNotification
- (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
- Now keeps track of all the items that violated the age limit or item count limit in the new
- collectedDiscardedItemsInto: parameter. Also, now processes items in forward order rather than
- reverse order to fix 3126419. Now uses compare: rather than _webkit_compareDay: to check against
- age limit; this is faster and also more correct (most noticeable with small age limits).
- (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]):
- new collectDiscardedItemsInto: parameter, passed into _loadHistoryGuts:...
- (-[WebHistory loadFromURL:error:]):
- Now sends new WebHistoryItemsDiscardedWhileLoadingNotification if any items were discarded due
- to age limit or item count limit.
-
- * WebKit.exp:
- exported symbol for WebHistoryItemsDiscardedWhileLoadingNotification
-
-2006-04-29 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Maciej.
-
- Bug 8577: [TabBarView _web_superviewOfClass:stoppingAtClass:]
- http://bugs.webkit.org/show_bug.cgi?id=8577
-
- Added back _web_superviewOfClass:stoppingAtClass:.
- This method was removed in r14032 (bug 8562), but Safari 2.0 still uses it.
- We should remove this method once Open Source users have a new version
- to use with TOT WebKit.
-
- * Misc/WebNSViewExtras.m:
- (-[NSView _web_superviewOfClass:stoppingAtClass:]):
-
-2006-04-28 David Hyatt <hyatt@apple.com>
-
- Double the cache size to account for our revised (more accurate)
- measurement of the image buffers.
-
- Reviewed by darin
-
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
-
-2006-04-28 David Hyatt <hyatt@apple.com>
-
- Fix for 8586, move WebTextRenderer into WebCore.
-
- Reviewed by darin
-
- * Misc/WebKitNSStringExtras.m:
- (-[NSString _web_drawAtPoint:font:textColor:]):
- (-[NSString _web_widthWithFont:]):
- * Misc/WebStringTruncator.m:
- (+[WebStringTruncator centerTruncateString:toWidth:]):
- (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
- (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
- (+[WebStringTruncator widthOfString:font:]):
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
- * WebCoreSupport/WebTextRenderer.h: Removed.
- * WebCoreSupport/WebTextRenderer.m: Removed.
- * WebCoreSupport/WebTextRendererFactory.h: Removed.
- * WebCoreSupport/WebTextRendererFactory.m: Removed.
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebFrameView.m:
- (-[WebFrameView initWithFrame:]):
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _addToStyle:fontA:fontB:]):
- * WebView/WebTextView.m:
- (-[WebTextView setFixedWidthFont]):
- * WebView/WebView.m:
- (+[WebView _setAlwaysUseATSU:]):
- (+[WebView _setShouldUseFontSmoothing:]):
- (+[WebView _shouldUseFontSmoothing]):
-
-2006-04-28 Eric Seidel <eseidel@apple.com>
-
- Reviewed by darin.
-
- Misc. style cleanup.
- http://bugs.webkit.org/show_bug.cgi?id=8643
-
- * Misc/WebIconDatabase.m:
- (-[NSMutableDictionary iconForURL:withSize:cache:]):
- (-[NSMutableDictionary iconURLForURL:]):
- (-[NSMutableDictionary retainIconForURL:]):
- (-[NSMutableDictionary releaseIconForURL:]):
- (-[WebIconDatabase _setIcon:forIconURL:]):
- (-[WebIconDatabase _iconsForIconURLString:]):
- (-[WebIconDatabase _forgetIconForIconURLString:]):
- (-[WebIconDatabase _releaseIconForIconURLString:]):
- (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
- * Plugins/WebBasePluginPackage.m:
- (+[WebBasePluginPackage pluginWithPath:]):
- (-[WebBasePluginPackage pathByResolvingSymlinksAndAliasesInPath:]):
- (-[WebBasePluginPackage initWithPath:]):
- (-[WebBasePluginPackage getPluginInfoFromBundleAndMIMEDictionary:]):
- (-[WebBasePluginPackage pListForPath:createFile:]):
- (-[WebBasePluginPackage getPluginInfoFromPLists]):
- (-[WebBasePluginPackage load]):
- (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
- (-[WebBasePluginPackage isNativeLibraryData:]):
- (-[NSArray _web_lowercaseStrings]):
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage openResourceFile]):
- (-[WebNetscapePluginPackage closeResourceFile:]):
- (-[WebNetscapePluginPackage stringForStringListID:andIndex:]):
- (-[WebNetscapePluginPackage getPluginInfoFromResources]):
- (-[WebNetscapePluginPackage initWithPath:]):
- (-[WebNetscapePluginPackage executableType]):
- (-[WebNetscapePluginPackage unloadWithoutShutdown]):
- (-[WebNetscapePluginPackage load]):
- (-[WebNetscapePluginPackage unload]):
- * Plugins/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation redeliverStream]):
- * Plugins/WebPluginDatabase.m:
- (+[WebPluginDatabase installedPlugins]):
- (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
- (-[WebPluginDatabase pluginForExtension:]):
- (pluginLocations):
- (-[WebPluginDatabase init]):
- (-[WebPluginDatabase refresh]):
- * Plugins/npapi.m:
- (NPN_MemAlloc):
- (NPN_MemFree):
- (pluginViewForInstance):
- * WebCoreSupport/WebSubresourceLoader.m:
- (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
- (-[WebSubresourceLoader willSendRequest:redirectResponse:]):
- * WebView/WebDataSource.m:
- (-[WebDataSource isLoading]):
- * WebView/WebFrame.m:
- (-[WebFrame _loadDataSource:withLoadType:formState:]):
- (-[WebFrame _subframeIsLoading]):
- * WebView/WebView.m:
- (-[WebView initWithFrame:]):
- (-[WebView initWithFrame:frameName:groupName:]):
-
-2006-04-26 Tim Omernick <timo@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/4525105> Repro TOT crash in [WebBaseNetscapePluginView dealloc] at coachella.com
- <http://bugs.webkit.org/show_bug.cgi?id=8564> crashed when closing a tab
-
- * WebView/WebFrame.m:
- (-[WebFramePrivate dealloc]):
- Assert that plugInViews has been released.
- (-[WebFrame _addPlugInView:]):
- New method. Adds the plug-in view to the plugInViews set and calls -setWebFrame: on it.
- (-[WebFrame _removeAllPlugInViews]):
- New method. Calls -setWebFrame:nil on all plug-in views and releases the plugInViews set.
- (-[WebFrame _willCloseURL]):
- New method. Dispose of plug-in views when leaving a page (or closing the WebView).
-
- * WebView/WebFrameInternal.h:
- Declared -_addPlugInView:, -_removeAllPlugInViews, -_willCloseURL
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
- Call -[WebFrame _addPlugInView:] instead of directly setting plug-in views' frames. This
- allows us to keep track of them so that we can explicitly dispose of them when leaving the page.
- (-[WebFrameBridge closeURL]):
- Override -[WebCoreFrameBridge closeURL] so that we can perform our own teardown when leaving
- a page or closing the WebView.
-
- * Plugins/WebBaseNetscapePluginView.h:
- Declared -stop so that subclass WebNetscapePluginEmbeddedView can call it.
-
- * Plugins/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView setWebFrame:]):
- Stop the plug-in when it is removed from its WebFrame.
-
-2006-04-25 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4472035> SPI that checks for URL policy fails in plugin documents
-
- * Plugins/WebPluginController.h:
- * Plugins/WebPluginController.m:
- (-[WebPluginController URLPolicyCheckReferrer]):
- New method. Get the referrer from the frame's data source's NSURLResponse. Note that for
- document types loaded by WebCore, this URL is the same as -[WebCorePageBridge referrer],
- since the response URL is what we pass to -[WebCorePageBridge openURL:].
-
- * Plugins/WebPluginContainerCheck.m:
- (-[WebPluginContainerCheck _isForbiddenFileLoad]):
- Use the WebPluginController's -URLPolicyCheckReferrer instead of assuming that the bridge's
- -referrer is valid. -[WebCorePageBridge referrer] is only set during the normal WebCore page
- load process, which has nothing to do with loading standalone plugin documents.
-
-2006-04-25 Tim Omernick <timo@apple.com>
-
- Reviewed by Eric.
-
- <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc]
- running layout tests
-
- * Plugins/WebPluginPackage.m:
- (-[WebPluginPackage unload]):
- Clear isLoaded here. It turns out that only WebNetscapePluginPackage cleared its isLoaded
- flag in -unload. We need to also do it here, because the superclass (WebBasePluginPackage)
- asserts in -dealloc that -unload has been called.
-
-2006-04-25 Tim Omernick <timo@apple.com>
-
- Reviewed by Eric.
-
- <rdar://problem/4526120> -[WebBasePluginPackage finalize] leaks the CFBundle (under GC only)
-
- * Plugins/WebBasePluginPackage.m:
- (-[WebBasePluginPackage finalize]):
- Release the CFBundle here.
-
-2006-04-25 Tim Omernick <timo@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/4472037>
-
- Private extensions to the WebPlugin interface. A plugin may implement these methods to receive loading callbacks
- for its main resource. Plug-ins that implement this SPI show better loading progress in the browser, can be saved
- to disk, and are more efficient by avoiding making duplicate GET or POST requests for the plug-in's main resource.
-
- I want to provide a solid API for plug-in networking, but time constraints require that I first provide this simple
- SPI for internal clients.
-
- * Plugins/WebPluginViewFactoryPrivate.h:
- Added a new plugin argument, WebPlugInShouldLoadMainResourceKey. If YES, the plugin is responsible
- for loading its own content. If NO, the plugin should wait for WebKit to send it the data via the
- new request-sharing SPI.
-
- * Plugins/WebPluginPrivate.h: Added.
- Request-sharing SPI. See comments in code.
-
- * Plugins/WebPluginDocumentView.h:
- Hang onto the plugin view as an ivar so we can call the new resource loading methods on it.
- * Plugins/WebPluginDocumentView.m:
- (-[WebPluginDocumentView dealloc]):
- Release pluginView ivar.
- (-[WebPluginDocumentView setDataSource:]):
- Pass NO for WebPlugInShouldLoadMainResourceKey to indicate to the plugin that it should not
- load its own main resource -- the data will come from WebKit. This is only necessary for plugin
- documents. By the time we create the view for a plugin document, we already have fetched some
- of its main resource's data. Embedded plugins do not have this issue because WebKit is not
- involved in loading their content.
- Call -webPlugInMainResourceDidReceivResponse: on the plugin if necessary. This lets the plugin
- know how much and what kind of data is going to be received.
- (-[WebPluginDocumentView dataSourceUpdated:]):
- If the plugin implements the new request-sharing SPI, don't cancel the in-progress request.
- (-[WebPluginDocumentView receivedData:withDataSource:]):
- Forward to the plugin via the new request-sharing SPI.
- (-[WebPluginDocumentView receivedError:withDataSource:]):
- ditto
- (-[WebPluginDocumentView finishedLoadingWithDataSource:]):
- ditto
-
- * Plugins/WebPluginPackage.m:
- Added WebPlugInShouldLoadMainResourceKey, tweaked some style a bit.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
- Pass YES for WebPlugInShouldLoadMainResourceKey. Embedded plugins must load their own data.
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
- ditto
-
- * WebKit.xcodeproj/project.pbxproj:
- Added WebPluginPrivate.h
-
-2006-04-24 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/4525364> REGRESSION (yesterday?): LOG() mechanism is broken
-
- - initialize WebKit's log channels
-
- * Misc/WebKitLogging.h:
- * Misc/WebKitLogging.m:
- (initializeLogChannel):
- (WebKitInitializeLoggingChannelsIfNecessary):
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
- * WebView/WebView.m:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2006-04-24 Maciej Stachowiak <mjs@apple.com>
-
- Build fix:
-
- - move some prematurely moved code back
-
- * WebCoreSupport/WebFrameBridge.h:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge fini]):
- (-[WebFrameBridge _preferences]):
- (-[WebFrameBridge _retrieveKeyboardUIModeFromPreferences:]):
- (-[WebFrameBridge keyboardUIMode]):
-
-2006-04-24 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - move more code from WebFrameBridge to WebCoreFrameBridge
-
- * WebCoreSupport/WebFrameBridge.h:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge fini]):
- (-[WebFrameBridge expiresTimeForResponse:]):
- (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
- (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
- (-[WebFrameBridge valueForKey:keys:values:]):
- (-[WebFrameBridge _preferences]):
-
-2006-04-24 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - Remove use of _webSuperviewOfClass: and related
- http://bugs.webkit.org/show_bug.cgi?id=8562
-
- I removed all use of these, now objects get at each other via
- actual pointers, not using the view hierarchy. However, I left two
- of the calls in because other clients rely on them as SPI (ugh).
-
- * History/WebHistoryItem.m:
- * Misc/WebNSViewExtras.h:
- * Misc/WebNSViewExtras.m:
- (-[NSView _web_superviewOfClass:]):
- (-[NSView _web_parentWebFrameView]):
- * Plugins/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView layout]):
- * Plugins/WebNetscapePluginEmbeddedView.h:
- * Plugins/WebNetscapePluginEmbeddedView.m:
- (-[WebNetscapePluginEmbeddedView setWebFrame:]):
- (-[WebNetscapePluginEmbeddedView dataSource]):
- * Plugins/WebNullPluginView.h:
- * Plugins/WebNullPluginView.m:
- (-[WebNullPluginView setWebFrame:]):
- (-[WebNullPluginView viewDidMoveToWindow]):
- * Plugins/WebPluginController.h:
- * Plugins/WebPluginController.m:
- (-[WebPluginController setDataSource:]):
- (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
- (-[WebPluginController webPlugInContainerShowStatus:]):
- (-[WebPluginController webPlugInContainerSelectionColor]):
- (-[WebPluginController webFrame]):
- * Plugins/WebPluginDocumentView.h:
- * Plugins/WebPluginDocumentView.m:
- (-[WebPluginDocumentView setDataSource:]):
- (-[WebPluginDocumentView layout]):
- (-[WebPluginDocumentView currentWindow]):
- (-[WebPluginDocumentView viewWillMoveToWindow:]):
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge formControlIsBecomingFirstResponder:]):
- (-[WebFrameBridge formControlIsResigningFirstResponder:]):
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
- * WebCoreSupport/WebViewFactory.m:
- (-[WebViewFactory bridgeForView:]):
- * WebView/WebClipView.m:
- (-[NSView initWithFrame:]):
- * WebView/WebFrameView.m:
- (-[WebFrameView _shouldDrawBorder]):
- (-[WebFrameView webCoreBridge]):
- * WebView/WebHTMLView.m:
- (-[WebTextCompleteController dealloc]):
- (-[WebHTMLView _dataSource]):
- (-[WebHTMLView _bridge]):
- (-[WebHTMLView _webView]):
- (-[WebHTMLView _frameView]):
- (-[WebHTMLView _web_firstResponderCausesFocusDisplay]):
- (-[WebHTMLView becomeFirstResponder]):
- (-[WebHTMLView setDataSource:]):
- (-[WebHTMLView pageUp:]):
- (-[WebHTMLView pageDown:]):
- (-[WebHTMLView pageUpAndModifySelection:]):
- (-[WebHTMLView pageDownAndModifySelection:]):
- (-[WebHTMLView _frame]):
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebImageView.h:
- * WebView/WebImageView.m:
- (-[WebImageView drawRect:]):
- (-[WebImageView adjustFrameSize]):
- (-[WebImageView setDataSource:]):
- (-[WebImageView webView]):
- (-[WebImageView writeImageToPasteboard:types:]):
- (-[WebImageView copy:]):
- (-[WebImageView elementAtPoint:]):
- (-[WebImageView mouseDragged:]):
- * WebView/WebPDFView.h:
- * WebView/WebPDFView.m:
- (-[WebPDFView _applyPDFDefaults]):
- (-[WebPDFView _trackFirstResponder]):
- (-[PDFPrefUpdatingProxy forwardInvocation:]):
- * WebView/WebRenderNode.m:
- (-[WebRenderNode initWithWebFrameView:]):
- * WebView/WebTextView.h:
- * WebView/WebTextView.m:
- (-[WebTextView _textSizeMultiplierFromWebView]):
- (-[WebTextView _preferences]):
- (-[WebTextView setDataSource:]):
- (-[WebTextView _webFrame]):
- (-[WebTextView dragSelectionWithEvent:offset:slideBack:]):
- (-[WebTextView menuForEvent:]):
- (-[WebTextView resignFirstResponder]):
- (-[WebTextView drawPageBorderWithSize:]):
- (-[WebTextView knowsPageRange:]):
- * WebView/WebView.m:
- (-[WebView searchFor:direction:caseSensitive:wrap:]):
- (containingFrameView):
- (-[WebView _focusedFrame]):
- (-[WebView _frameViewAtWindowPoint:]):
-
-2006-04-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - push WebFileButton and WebStringTruncator code down to WebCore
- http://bugs.webkit.org/show_bug.cgi?id=8552
-
- * Misc/WebStringTruncator.m:
- (+[WebStringTruncator centerTruncateString:toWidth:]):
- (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
- (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
- (+[WebStringTruncator widthOfString:font:]):
- * WebCoreSupport/WebFileButton.h: Removed.
- * WebCoreSupport/WebFileButton.m: Removed.
- * WebCoreSupport/WebFrameBridge.h:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
- * WebCoreSupport/WebViewFactory.m:
- (-[WebViewFactory fileButtonChooseFileLabel]):
- (-[WebViewFactory fileButtonNoFileSelectedLabel]):
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-04-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- - remove WebCookieAdapter, WebCore can just use Foundation directly.
-
- * WebCoreSupport/WebCookieAdapter.h: Removed.
- * WebCoreSupport/WebCookieAdapter.m: Removed.
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebFrameView.m:
- (-[WebFrameView initWithFrame:]):
-
-2006-04-23 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adele.
-
- - prune WebView SPI of unused calls
-
- Specifically I moved methods that have no callers outside WebKit
- to WebViewInternal.h or removed them entirely.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- * Plugins/WebBaseNetscapePluginView.m:
- * Plugins/WebNetscapePluginDocumentView.m:
- * Plugins/WebNetscapePluginStream.m:
- * Plugins/WebNullPluginView.m:
- * Plugins/WebPluginContainerCheck.m:
- * Plugins/WebPluginController.m:
- * WebCoreSupport/WebFrameBridge.m:
- * WebCoreSupport/WebPageBridge.m:
- * WebCoreSupport/WebSubresourceLoader.m:
- * WebView/WebDataSource.m:
- * WebView/WebHTMLView.m:
- * WebView/WebImageView.m:
- * WebView/WebLoader.m:
- * WebView/WebMainResourceLoader.m:
- * WebView/WebPDFView.m:
- * WebView/WebScriptDebugDelegate.m:
- * WebView/WebView.m:
- (-[WebView _downloadURL:]):
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-2006-04-22 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- - remove WebKit copy of assertions code, use the assertions
- stuff from JavaScriptCore instead.
-
- * Carbon/HIViewAdapter.m:
- * DOM/WebDOMOperations.m:
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- * DefaultDelegates/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate webView:unableToImplementPolicyWithError:frame:]):
- * History/WebBackForwardList.m:
- * History/WebHistory.m:
- (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
- (-[WebHistoryPrivate _saveHistoryGuts:URL:error:]):
- * History/WebHistoryItem.m:
- * Misc/WebAssertions.h: Removed.
- * Misc/WebAssertions.m: Removed.
- * Misc/WebDatabase.m:
- * Misc/WebDownload.m:
- * Misc/WebFileDatabase.m:
- (SetThreadPriority):
- * Misc/WebIconDatabase.m:
- (-[NSMutableDictionary iconForURL:withSize:cache:]):
- (-[NSMutableDictionary releaseIconForURL:]):
- (-[NSMutableDictionary delayDatabaseCleanup]):
- (-[NSMutableDictionary allowDatabaseCleanup]):
- (-[WebIconDatabase _loadIconDictionaries]):
- (-[WebIconDatabase _updateFileDatabase]):
- (-[WebIconDatabase _iconsBySplittingRepresentationsOfIcon:]):
- * Misc/WebIconLoader.m:
- * Misc/WebKitLogging.h:
- * Misc/WebKitLogging.m:
- * Misc/WebKitSystemBits.m:
- (initCapabilities):
- * Misc/WebLRUFileList.m:
- (WebLRUFileListRemoveOldestFileFromList):
- (WebLRUFileListGetFileSize):
- * Misc/WebLocalizableStrings.m:
- * Misc/WebNSCalendarDateExtras.m:
- * Misc/WebNSDataExtras.m:
- * Misc/WebNSDictionaryExtras.m:
- * Misc/WebNSFileManagerExtras.m:
- * Misc/WebNSPasteboardExtras.m:
- * Misc/WebNSURLExtras.m:
- (hexDigit):
- (hexDigitValue):
- (allCharactersInIDNScriptWhiteList):
- * Misc/WebNSURLRequestExtras.m:
- * Misc/WebNSUserDefaultsExtras.m:
- * Misc/WebStringTruncator.m:
- * Panels/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel loadNib]):
- * Panels/WebPanelAuthenticationHandler.m:
- * Plugins/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
- * Plugins/WebBaseNetscapePluginView.m:
- (TSMEventHandler):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView status:]):
- (-[WebBaseNetscapePluginView _printedPluginBitmap]):
- * Plugins/WebBasePluginPackage.m:
- * Plugins/WebNetscapePluginDocumentView.m:
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
- * Plugins/WebNetscapePluginRepresentation.m:
- * Plugins/WebPluginContainerCheck.m:
- * Plugins/WebPluginController.m:
- (-[WebPluginController addPlugin:]):
- (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
- (-[WebPluginController webPlugInContainerShowStatus:]):
- * Plugins/WebPluginDatabase.m:
- * Plugins/WebPluginDocumentView.m:
- * WebCoreSupport/WebCookieAdapter.m:
- * WebCoreSupport/WebFileButton.m:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge runModal]):
- * WebCoreSupport/WebImageData.m:
- (-[WebImageData _checkSolidColor:]):
- (-[WebImageData tileInRect:fromPoint:context:]):
- (-[WebImageData scaleAndTileInRect:fromRect:withHorizontalTileRule:withVerticalTileRule:context:]):
- * WebCoreSupport/WebImageDecoder.m:
- * WebCoreSupport/WebImageRenderer.m:
- (-[WebImageRenderer TIFFRepresentation]):
- * WebCoreSupport/WebImageRendererFactory.m:
- * WebCoreSupport/WebJavaScriptTextInputPanel.m:
- * WebCoreSupport/WebKeyGenerator.m:
- * WebCoreSupport/WebPageBridge.m:
- * WebCoreSupport/WebSubresourceLoader.m:
- * WebCoreSupport/WebTextRenderer.m:
- (widthForGlyph):
- (-[WebTextRenderer initWithFont:]):
- (drawGlyphs):
- (initializeATSUStyle):
- (createATSULayoutParameters):
- (getTextBounds):
- (ATSU_draw):
- * WebCoreSupport/WebTextRendererFactory.m:
- * WebCoreSupport/WebViewFactory.m:
- * WebKit.exp:
- * WebKit.xcodeproj/project.pbxproj:
- * WebKitPrefix.h:
- * WebView/WebArchiver.m:
- (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
- * WebView/WebClipView.m:
- * WebView/WebDataProtocol.m:
- * WebView/WebDataSource.m:
- (-[WebDataSource _startLoading]):
- * WebView/WebFormDataStream.m:
- (formEventCallback):
- (webSetHTTPBody):
- * WebView/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]):
- * WebView/WebFrameView.m:
- * WebView/WebHTMLRepresentation.m:
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
- (-[WebHTMLView drawSingleRect:]):
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
- (-[WebHTMLView _scaleFactorForPrintOperation:]):
- (-[WebHTMLView deleteBackwardByDecomposingPreviousCharacter:]):
- (-[WebHTMLView checkSpelling:]):
- (-[WebHTMLView showGuessPanel:]):
- (-[WebHTMLView _changeSpellingToWord:]):
- (-[WebHTMLView ignoreSpelling:]):
- (-[WebHTMLView performFindPanelAction:]):
- (-[WebTextCompleteController doCompletion]):
- * WebView/WebImageView.m:
- * WebView/WebLoader.m:
- (-[NSURLProtocol connection:willCacheResponse:]):
- * WebView/WebPDFRepresentation.m:
- (+[WebPDFRepresentation PDFDocumentClass]):
- * WebView/WebPDFView.m:
- (+[WebPDFView PDFKitBundle]):
- (+[WebPDFView PDFViewClass]):
- (-[WebPDFView _menuItemsFromPDFKitForEvent:]):
- * WebView/WebTextRepresentation.m:
- * WebView/WebTextView.m:
- * WebView/WebUnarchivingState.m:
- * WebView/WebView.m:
-
-2006-04-22 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Eric.
-
- http://bugs.webkit.org/show_bug.cgi?id=8514
- Bug 8514: Web Inspector hides when the app is in the background
-
- Makes the inspector not hide in the background. Since the inspector is a floating panel
- we need to call setFloatingPanel:NO when the app is switching into the background. Then
- call setFloatingPanel:YES when the app is activated again. Without this the inspector
- would float above all applications.
-
- * WebInspector/WebInspector.m:
- (-[NSWindow window]): setHidesOnDeactivate:NO
- (-[NSWindow windowWillClose:]): de-regiser appliction active notifications
- (-[NSWindow showWindow:]): register for appliction active notifications
- (-[WebInspector _applicationWillResignActive]): setFloatingPanel:NO
- (-[WebInspector _applicationDidBecomeActive]): setFloatingPanel:YES
-
-2006-04-21 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- - Fix for http://bugs.webkit.org/show_bug.cgi?id=8181
- REGRESSION: After tabbing in page's field, attempting to tab from Google toolbar search to page fails on first try
-
- Test: manual-tests/tabbing-input-google.html
-
- * WebView/WebHTMLView.m: (-[WebHTMLView resignFirstResponder]):
- When resigning first responder, reset willBecomeFirstResponderForNodeFocus, so when the WebHTMLView gets focus again
- it knows it can start moving through the tab cycle.
-
-2006-04-20 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4476875> Support printing for embedded Netscape plugins
-
- NOTE: This only works with the Flash plugin right now. It appears that the other
- major plugins either have awful printing support, or no printing support. If someone
- can find an example of any other embedded Netscape plugin printing in any browser on
- the Mac, I will be happy to eat my own words!
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView drawRect:]):
- When printing, get the printed bitmap via -_printedPluginBitmap, and draw it into the
- plugin view.
- (-[WebBaseNetscapePluginView _printedPluginBitmap]):
- Call NPP_Print on the plugin to render it into a GWorld. This GWorld has the same
- underlying buffer as an NSBitmapImageRep, which is returned to the caller.
-
-2006-04-20 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin.
-
- WebKit part of:
- - fix http://bugs.webkit.org/show_bug.cgi?id=8276
- REGRESSION (NativeTextField): Pasting a Finder item into a text field results in
- a file: URL being pasted instead of just the file name
- - fix http://bugs.webkit.org/show_bug.cgi?id=8283
- REGRESSION: File's path doesn't appear after dragging file into input field
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _plainTextFromPasteboard:]): Added method that tries to copy AppKit
- text fields' logic for extracting plain text from the pasteboard.
- (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Added helper method.
- (-[WebHTMLView _shouldInsertText:replacingDOMRange:givenAction:]):
- (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]):
- (-[WebHTMLView readSelectionFromPasteboard:]): Paste as plain text if
- rich text is not allowed.
- (-[WebHTMLView validateUserInterfaceItem:]): Changed to not allow pasteAsRichText:
- if the paste is not going to be handled by the DOM and the selection
- does not allow pasting rich text.
- (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Paste as plain text if
- rich text is not allowed.
- (-[WebHTMLView paste:]): Ditto.
- (-[WebHTMLView pasteAsPlainText:]):
-
-2006-04-20 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - WebKit part of http://bugs.webkit.org/show_bug.cgi?id=8505
- eliminate WebCoreGraphics bridge, demonstrate new SystemInterface technique
-
- * WebCoreSupport/WebGraphicsBridge.h: Removed.
- * WebCoreSupport/WebGraphicsBridge.m: Removed.
- * WebCoreSupport/WebSystemInterface.h: Added.
- * WebCoreSupport/WebSystemInterface.m: Added.
-
- * WebKit.xcodeproj/project.pbxproj: Updated for removed and added files.
-
- * WebCoreSupport/WebImageData.m: Removed unneeded include of WebGraphicsBridge.h.
- * WebCoreSupport/WebImageRenderer.m: Ditto.
- * WebCoreSupport/WebTextRenderer.m: Ditto.
-
- * WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Guarded all the one-time
- initialization inside a boolean, just in case some things take a little time. Added
- a call to InitWebCoreSystemInterface to the one-time initialization here. Later, we
- will need to add it in some other places if we call code that requires the use of
- WebCoreSystemInterface functions from anywhere that can be invoked before creations
- of the first WebFrameView, but for now there is no need.
-
-2006-04-19 James G. Speth <speth@end.com>
-
- Reviewed by Timothy.
-
- http://bugs.webkit.org/show_bug.cgi?id=8442
- Bug 8442: improvements to Cocoa bindings support in WebView - code simplification
-
- Removes the WebController class added earlier; changes NSTreeController and
- WebView to together without it. Now you can just bind the contentObject binding
- of the tree controller directly to the mainFrameDocument key of the WebView.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge windowObjectCleared]):
- * WebView/WebDataSource.m:
- (-[WebDataSource _setTitle:]):
- * WebView/WebFrame.m:
- (-[WebFrame _closeOldDataSources]):
- * WebView/WebView.m:
- (-[WebView _progressStarted:]):
- (-[WebView _finalProgressComplete]):
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView setMainFrameDocumentReady:]):
- (-[WebView mainFrameDocument]):
- * WebView/WebViewPrivate.h:
-
-2006-04-19 James G. Speth <speth@end.com>
-
- Reviewed by Timothy.
-
- http://bugs.webkit.org/show_bug.cgi?id=6635
- Bug 6635: Crash selecting inspector nodes for tabs that aren't foremost
-
- Stop observing window will close notifications before we tell the highlight window to close,
- this prevents the crash. Also prevent drawing highlights for hidden tabs.
-
- * WebInspector/WebInspector.m:
- (-[WebInspector _highlightNode:]):
- * WebInspector/WebNodeHighlight.m:
- (-[WebNodeHighlight expire]):
-
-2006-04-19 James G. Speth <speth@end.com>
-
- Reviewed by Timothy.
-
- http://bugs.webkit.org/show_bug.cgi?id=6637
- Bug 6637: selecting node in Inspector after closing window crashes Safari
-
- When the window the Web Inspector was inspecting is closed, the inspector goes into its
- no-selection state. Choosing to inspect another element activates it again. The inspector
- will also follow the WebView if the URL changes and select the root element on the new page.
-
- * WebInspector/WebInspector.m:
- (-[NSWindow setWebFrame:]):
- (-[NSWindow setRootDOMNode:]):
- (-[WebInspector _revealAndSelectNodeInTree:]):
- (-[WebInspector _update]):
- (-[WebInspector _updateRoot]):
- (-[WebInspector inspectedWebViewProgressFinished:]):
- (-[WebInspector inspectedWindowWillClose:]):
- (-[WebInspector webView:didFinishLoadForFrame:]):
- * WebInspector/WebInspectorPanel.m:
- (-[WebInspectorPanel canBecomeMainWindow]):
-
-2006-04-18 Darin Adler <darin@apple.com>
-
- Reviewed by Beth.
-
- * WebInspector/webInspector/inspector.css: Add "-webkit-" prefixes to the border
- radius properties to make the corners rounded again.
-
-2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin.
-
- - WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=8324
- REGRESSION: textarea :focus not applied immediately
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge formControlIsBecomingFirstResponder:]): Added. Calls the ancestor
- WebHTMLView's _formControlIsBecomingFirstResponder:
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _updateFocusState:]): If a descendant is becoming first responder,
- enable focused appearance.
- (-[WebHTMLView _formControlIsBecomingFirstResponder:]): Added. Calls _updateFocusState,
- causing the frame to display with focus attributes.
- * WebView/WebHTMLViewInternal.h:
-
-2006-04-14 James G. Speth <speth@end.com>
-
- Reviewed by Timothy.
-
- Bug 8389: support for Cocoa bindings - binding an NSTreeController to the WebView's DOM
- http://bugs.webkit.org/show_bug.cgi?id=8389
-
- Added a controller class, WebController, that is a subclass of
- NSTreeController that has a new outlet/binding for the WebView.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge windowObjectCleared]): notify bindings about the document change
- * WebView/WebView.m:
- (-[WebView _progressStarted:]): notify bindings about the document change
- (-[WebView _finalProgressComplete]): notify bindings about the document change
- (-[WebView _declaredKeys]): added a key for the main frame document
- (-[WebController init]):
- (-[WebController exposedBindings]):
- (-[WebController valueClassForBinding:]):
- (-[WebController setContent:]):
- (-[WebController webView]):
- (-[WebController setWebView:]):
- (-[WebView mainFrameDocument]): get the main frame's DOMDocument
- * WebView/WebViewPrivate.h: Adds mainFrameDocument to pending public.
-
-2006-04-12 David Harrison <harrison@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4386640> AX: AXPreviousSentenceStartTextMarkerForTextMarker does not respect paragraph boundary
- <rdar://problem/4414575> AX: Dictionary popup cannot find some words on Dictionary.app
-
- (see related changes in WebCore)
-
- Tests added:
- * editing/selection/extend-by-sentence-001.html: Added.
- * fast/dom/inner-text-001.html: Added.
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView validateUserInterfaceItem:]):
- (-[WebHTMLView moveToBeginningOfSentence:]):
- (-[WebHTMLView moveToBeginningOfSentenceAndModifySelection:]):
- (-[WebHTMLView moveToEndOfSentence:]):
- (-[WebHTMLView moveToEndOfSentenceAndModifySelection:]):
- (-[WebHTMLView selectSentence:]):
- * WebView/WebView.m:
- * WebView/WebViewPrivate.h:
- Add sentence navigation and selection.
-
-2006-04-12 Tim Omernick <timo@apple.com>
-
- Reviewed by Darin.
-
- Part of <rdar://problem/4482530>
-
- * WebView/WebView.m:
- (-[WebView _focusedFrame]):
- Fixed up the logic here to take into account immediate subviews of WebView, which are not actually in a WebFrameView
- (they are peers to the main frame's WebFrameView).
-
-2006-04-10 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - fixed <rdar://problem/4139799> Seed: Safari: Private Browsing leaves traces in Icon Cache
-
- * Misc/WebIconDatabasePrivate.h:
- new ivars: pageURLsBoundDuringPrivateBrowsing, iconURLsBoundDuringPrivateBrowsing, and privateBrowsingEnabled
-
- * Misc/WebIconDatabase.m:
- (-[NSMutableDictionary init]):
- initialize new ivars, and listen for notifications that WebPreferences changed so we can react to changes
- to private browsing.
- (-[NSMutableDictionary iconForURL:withSize:cache:]):
- Don't remove icon URL from extraRetain dictionary; that's now done in _forgetIconForIconURLString. (I left a
- comment here earlier about why I was worried about this change, but I convinced myself that it's fine.)
- (-[WebIconDatabase removeAllIcons]):
- Removed no-longer-true (and never very clear) comment, and braces. Also remove all objects from the two
- private-browsing-related dictionaries.
- (-[WebIconDatabase _setIcon:forIconURL:]):
- remember icon URL if private browsing is enabled
- (-[WebIconDatabase _setHaveNoIconForIconURL:]):
- remember icon URL if private browsing is enabled
- (-[WebIconDatabase _setIconURL:forURL:]):
- added an assert that helped me out at one point
- (-[WebIconDatabase _clearDictionaries]):
- clear the two new dictionaries too
- (-[WebIconDatabase _loadIconDictionaries]):
- made an existing ERROR not fire in the expected case where there are no icons at all on disk
- (-[WebIconDatabase _updateFileDatabase]):
- when saving the pageURLToIconURL dictionary to disk, first remove any values that were created during
- private browsing
- (-[WebIconDatabase _retainIconForIconURLString:]):
- skip the code that deals with saving changes to disk if private browsing is enabled
- (-[WebIconDatabase _forgetIconForIconURLString:]):
- Remove the icon URL from extraRetain dictionary here. We're forgetting everything about this icon URL
- so we should forget its former extraRetain count too.
- (-[WebIconDatabase _resetCachedWebPreferences:]):
- Cache the new value of private browsing. If it has now been turned off, forget everything we learned
- while it was on. This causes (e.g.) icons for bookmarks or pre-existing history items to be forgotten
- if the icon was only learned during private browsing.
-
- * History/WebHistoryItem.m:
- removed an unnecessary #import I happened to notice
-
-2006-04-10 David Hyatt <hyatt@apple.com>
-
- Make the broken CG focus ring painting work when WebCore sets a clip
- (in addition to respecting the dirty rect clip).
-
- Reviewed by darin
-
- * WebCoreSupport/WebGraphicsBridge.m:
- (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
-
-2006-04-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=8100
- REGRESSION (NativeTextField): Right-aligned and RTL text jitters in new text fields
-
- * WebCoreSupport/WebTextRenderer.m:
- (overrideLayoutOperation): For RTL runs, apply the word-rounding on the left.
- (CG_floatWidthForRun): For RTL runs, apply the last character's rounding
- on the left by adjusting the start position.
- (initializeWidthIterator): Added finalRoundingWidth field to WidthIterator.
- (advanceWidthIterator): For RTL runs, apply rounding on the left of the character,
- by increasing the width of the next character (which is the character to the left). For
- the last character, keep the rounding width in the iterator's finalRoundingWidth, to be used by
- CG_floatWidthForRun().
-
-2006-04-08 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adele Peterson.
-
- - fixed http://bugs.webkit.org/show_bug.cgi?id=8260
- REGRESSION: Assertion failure: ![_private->iconsToSaveWithURLs containsObject:iconURLString]
- in WebIconDatabase.m:695-[WebIconDatabase(WebInternal) _retainIconForIconURLString:]
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase _retainIconForIconURLString:]):
- This new assertion was one block too high; moved it in.
-
-2006-04-07 David Hyatt <hyatt@apple.com>
-
- A fix that makes coalesced updates work much better (and makes our
- single animated GIF timer work better). The new rect painting algorithm
- for WebHTMLView will use the single unioned rect if the # of rects exceeds
- a threshold (10 is my initial cut), or if the union has enough "wasted"
- additional pixels (conservatively set at 75%).
-
- Reviewed by darin
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView drawSingleRect:]):
- (-[WebHTMLView drawRect:]):
-
-2006-04-07 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - simplify archive loading
-
- * WebView/WebDataSource.m:
- (-[WebDataSource representation]): fix whitespace
- * WebView/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation loadArchive]): Use WebFrame's loadArchive: instead
- of trying to do a manual load here.
- (-[WebHTMLRepresentation documentSource]): No more special case for WebArchive.
-
-2006-04-07 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - fixed <rdar://problem/4507054> If an icon file is removed from disk behind Safari's back,
- Safari will not try to refetch it
-
- In addition to letting WebIconDatabase recover from disk/memory mismatches as per 4507054, I also found
- a bug in the way icons are remembered that could account for some of the other cases where
- site icons didn't appear (and you'd get an ERROR on debug builds about WebIconDatabase saying it
- had some icon when it really doesn't).
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase iconForURL:withSize:cache:]):
- When the icon file for a previously-saved site icon isn't found, forget about the darn icon URL thoroughly
- so that this situation is self-correcting. Formerly, once you got into this state WebKit would never find
- the icon again (short of removing the entire icon database cleanly). Note that this does *not* change
- the behavior of sites that didn't have a site icon when WebKit checked -- these will continue to not
- return a site icon indefinitely (that's a separate, possibly performance-sensitive issue).
- (-[WebIconDatabase _retainIconForIconURLString:]):
- This code did the wrong thing in the case where an icon was in the process of being forgotten about. In
- that case, the icon would still be in _private->iconsOnDiskWithURLs, so we wouldn't try to save it here,
- so the new icon wouldn't stick.
-
-2006-04-07 David Hyatt <hyatt@apple.com>
-
- Re-enable coalesced updates. Our move to a single timer has essentially
- implemented coalescing of updates anyway, so the regression has already
- come back. Since we have to deal with that now anyway, there's no reason
- to visually tear also. :)
-
- Reviewed by darin
-
- * ChangeLog:
- * WebView/WebView.m:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2006-04-05 Darin Adler <darin@apple.com>
-
- - fixed a storage leak from that last check-in
-
- * WebView/WebUnarchivingState.m: (-[WebUnarchivingState dealloc]):
- Release the two dictionaries.
-
-2006-04-05 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- - start on factoring WebArchive unpacking more into a separate class.
- http://bugs.webkit.org/show_bug.cgi?id=8208
-
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebDataSource.m:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _addToUnarchiveState:]):
- (-[WebDataSource _popSubframeArchiveWithName:]):
- (-[WebDataSource _documentFragmentWithArchive:]):
- (-[WebDataSource _setupForReplaceByMIMEType:]):
- (-[WebDataSource subresourceForURL:]):
- * WebView/WebDataSourcePrivate.h:
- * WebView/WebFrame.m:
- (-[WebFrame _loadRequest:archive:]):
- (-[WebFrame loadRequest:]):
- (-[WebFrame loadArchive:]):
- * WebView/WebFramePrivate.h:
- * WebView/WebHTMLRepresentation.m:
- (-[WebHTMLRepresentation loadArchive]):
- * WebView/WebUnarchivingState.h: Added.
- * WebView/WebUnarchivingState.m: Added.
- (-[WebUnarchivingState init]):
- (-[WebUnarchivingState addArchive:]):
- (-[WebUnarchivingState archivedResourceForURL:]):
- (-[WebUnarchivingState popSubframeArchiveWithFrameName:]):
-
-2006-04-04 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- The Debug and Release frameworks are now built with install paths relative to the build products directory.
- This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2006-04-04 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adele Peterson.
-
- - WebKit part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
-
- * WebView/WebView.m:
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
- Pass private browsing setting down to WebCore.
-
-2006-04-03 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Hatcher.
-
- - re-fixed <rdar://problem/4481198> REGRESSION (TOT): search results list in bookmarks view
- remains when search text is deleted
-
- * WebView/WebView.m:
- (-[WebView searchFor:direction:caseSensitive:wrap:]):
- I fixed this recently, but then broke it again by adding an early bail-out to this method. So
- now I'm removing the early bail-out.
-
-2006-04-02 Trey Matteson <trey@usa.net>
-
- Reviewed by Maciej.
-
- fix http://bugs.webkit.org/show_bug.cgi?id=8121
- REGRESSION: 404s are not displayed
-
- * WebView/WebMainResourceLoader.m:
- (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
- Only cancel failed loads for object elements, not for frames or a whole page.
-
-2006-04-02 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Hyatt.
-
- - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
- - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
- (http://bugs.webkit.org/show_bug.cgi?id=6811)
- - fixed tab and shift tab don't select the right things
- http://bugs.webkit.org/show_bug.cgi?id=5685
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge willMakeFirstResponderForNodeFocus]): New method
- - let WebHTMLView know that the next time it becomes first
- responder, it's to change focus within the page and the right node
- has already been set, so it should not move focus forward or
- backward inside it.
- * WebView/WebHTMLView.m:
- (-[WebHTMLView needsPanelToBecomeKey]): Override to return YES, oddly enough this
- is the right way to tell AppKit that you should be in the tab cycle loop.
- (-[WebHTMLView becomeFirstResponder]): Don't move forward or back in tab cycle
- when this becomeFirstResponder is for tabbing from a control in the page.
- (-[WebHTMLView _willMakeFirstResponderForNodeFocus]): Note that the next
- time this view becomes first responder, it will be for in-page focus
- navigation.
- * WebView/WebHTMLViewInternal.h:
-
-2006-04-01 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=8105
- REGRESSION (NativeTextField): Option-delete deletes one space before the deleted word
-
- Test: fast/forms/input-text-option-delete.html
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Pass NO for
- smartDeleteOK. Smart deletion only applies to deleting a word at a time, and none of
- the callers of this function that delete a word at a time want smart deletion.
- (-[WebHTMLView deleteToEndOfLine:]): Fixed tiny formatting glitch.
-
-2006-03-31 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- We need to set reachedTerminalState to YES before we release
- the resources to prevent a double dealloc of WebView
-
- Fixes <rdar://problem/4372628> crash deallocating a WebView in -[WebFrame stopLoading]
-
- * WebView/WebLoader.m:
- (-[NSURLProtocol releaseResources]): set reachedTerminalState earlier
-
-2006-03-31 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- Some cleanup in the WebIconDatabase code in a fruitless search for the cause
- of the mysterious -[WebFileDatabase performSetObject:forKey] crash
-
- * Misc/WebIconDatabase.m:
- (-[WebIconDatabase _createFileDatabase]):
- removed obsolete comment
- (-[WebIconDatabase _loadIconDictionaries]):
- Added ERRORs for unexpected early returns. Made dictionaries be autoreleased until
- the end of the method where they are retained, so that the early returns don't leak;
- added ASSERTs that the _private->dictionary values aren't being leaked.
- (-[WebIconDatabase _updateFileDatabase]):
- Added an ERROR for an unexpected early return, and made a trivial style fix.
-
-2006-03-31 Trey Matteson <trey@usa.net>
-
- Reviewed by Maciej, landed by ap.
-
- http://bugs.webkit.org/show_bug.cgi?id=7739
- REGRESSION: Assertion failure loading acid2 test in -[WebCoreFrameBridge installInFrame:]
-
- Tests: http/tests/misc/acid2.html, http/tests/misc/acid2-pixel.html
-
- The gist of this change is that we must cancel the load from the Webkit side when we
- realize we're switching to the fallback content. This is somewhat a temp workaround
- since control of loading will be moving to WebCore.
-
- * WebView/WebMainResourceLoader.m:
- (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
-
-2006-03-30 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by darin
-
- http://bugs.webkit.org/show_bug.cgi?id=6989
- REGRESSION: Plain-text mode needed for contenteditable area used in new text field
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _canEditRichly]): Added.
- (-[WebHTMLView _canIncreaseSelectionListLevel]): Use _canEditRichly
- (-[WebHTMLView _canDecreaseSelectionListLevel]): Ditto.
- (-[WebHTMLView _increaseSelectionListLevel]):
- (-[WebHTMLView _decreaseSelectionListLevel]):
- (-[WebHTMLView validateUserInterfaceItem:]):
- Split rich text editing actions off from ones that can be applied anywhere.
- (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
- (-[WebHTMLView _applyParagraphStyleToSelection:withUndoAction:]):
- (-[WebHTMLView _alignSelectionUsingCSSValue:withUndoAction:]):
- * WebView/WebHTMLViewPrivate.h:
-
-2006-03-29 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4495316> REGRESSION (420+): After page has loaded, spinning progress indicator is displayed on
- tab at versiontracker.com
-
- * WebView/WebFrame.m:
- (-[WebFrame _receivedMainResourceError:]):
- Call -_clientRedirectCancelledOrFinished: here so that the frame load delegate is notified that the redirect's
- status has changed, if there was a redirect. The frame load delegate may have saved some state about
- the redirect in its -webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:. Since we are definitely
- not going to use this provisional resource, as it was cancelled, notify the frame load delegate that the redirect
- has ended.
- The fix for 4432562 was similar to this, but only took care of the case where the redirect load was actually
- committed to the frame. The new call to -_clientRedirectCancelledOrFinished: handles the case where the redirect
- load was successful, but was not committed. This happens with downloads.
-
-2006-03-29 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - fixed these bugs:
- <rdar://problem/4483806> REGRESSION (417.8-TOT): PDFs don't scale correctly with auto-size (5356)
- <rdar://problem/3874856> Safari PDF display should be full width by default rather than
- sized to show the entire page
-
- * WebView/WebPDFRepresentation.m:
- (-[WebPDFRepresentation finishedLoadingWithDataSource:]):
- Let the WebPDFView handle setting the document, because that's the best time to apply
- the sizing-related preferences.
-
- * WebView/WebPDFView.h:
- eliminated firstLayoutDone ivar and -PDFSubview public method; added -setPDFDocument:
-
- * WebView/WebPDFView.m:
- (-[WebPDFView initWithFrame:]):
- eliminate use of obsolete firstLayoutDone ivar
- (-[WebPDFView _applyPDFDefaults]):
- renamed from _readPDFDefaults for clarity
- (-[WebPDFView layout]):
- removed code that applied the preferences here. This was too early to handle auto-sizing correctly,
- because -layout can be called before the document exists, and calling setAutoSize:YES at that
- point confuses PDFView into setting the scale factor to 20 (the maximum).
- (-[WebPDFView setPDFDocument:]):
- New method, does what WebPDFRepresentation used to do and also applies the preferences here.
- This is a good place to apply them because the document is guaranteed to now exist (of course).
- (-[WebPDFView PDFSubview]):
- Moved this into a new FileInternal category because it's still needed by another class in
- this file but no longer needs to be public.
-
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
- Change WebKitPDFScaleFactorPreferenceKey to 0, which represents auto-size. This fixes 3874856,
- but wasn't feasible until 4483806 was fixed.
-
-2006-03-28 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff.
-
- - added a build step that checks for init routines
-
- * WebKit.xcodeproj/project.pbxproj: Added a custom build phase that invokes the
- check-for-global-initializers script.
-
-2006-03-28 Tim Omernick <timo@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
-
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView initWithFrame:]):
- Don't observe preferences changes here -- we only want to observe preferences while the view is
- installed in the view hierarchy. Plugins will appropriately start and stop themselves when added to
- or removed from a window.
- (-[WebBaseNetscapePluginView dealloc]):
- Don't remove observers here -- they should have been removed when the view was removed from its
- window.
- (-[WebBaseNetscapePluginView finalize]):
- ditto
- (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
- Stop observing preferences when the view is removed from its window.
- (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
- Start observing preferences when the view is added to a window.
-
-2006-03-27 Tim Omernick <timo@apple.com>
-
- Reviewed by Eric.
-
- <rdar://problem/3694090> -[WebBaseNetscapePluginView finalize] is incorrect; design change needed
-
- * ChangeLog:
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView dealloc]):
- Instead of calling -stop, assert that the plugin is not running. A plugin view cannot be deallocated
- until it is removed from its window. When a plugin view is removed from its window, it calls -stop
- on itself. Therefore I believe that this call to -stop is unnecessary; if I'm wrong, then the
- assertion will help catch any edge cases.
- (-[WebBaseNetscapePluginView finalize]):
- ditto
-
-2006-03-27 Tim Omernick <timo@apple.com>
-
- Reviewed by Eric.
-
- <rdar://problem/3694086> -[WebBaseNetscapePluginStream finalize] is incorrect; design change needed
-
- * Plugins/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream dealloc]):
- Assert that the stream file path either never existed, or was deleted and NULL-ed out. The stream file
- is now deleted immediately after calling NPP_StreamAsFile().
- (-[WebBaseNetscapePluginStream finalize]):
- ditto
- (-[WebBaseNetscapePluginStream _destroyStream]):
- Delete the file after calling NPP_StreamAsFile(), instead of in -dealloc/-finalize. It should be OK
- to delete the file here -- NPP_StreamAsFile() is always called immediately before NPP_DestroyStream()
- (the stream destruction function), so there can be no expectation that a plugin will read the stream file
- asynchronously after NPP_StreamAsFile() is called.
-
-2006-03-27 Tim Omernick <timo@apple.com>
-
- Reviewed by Eric.
-
- <rdar://problem/3694093> -[WebBasePluginPackage finalize] is incorrect; design change needed
-
- Call -unload on plug-in packages instead of relying on -dealloc/-finalize to do it. Currently
- the only place plug-in packages are deallocated is when refreshing the set of plugins, as when
- handling JavaScript's navigator.plugins.refresh().
-
- * Plugins/WebBasePluginPackage.m:
- (-[WebBasePluginPackage dealloc]):
- Assert that the plug-in has been unloaded by the time -dealloc is called.
- (-[WebBasePluginPackage finalize]):
- ditto
-
- * Plugins/WebPluginDatabase.m:
- (-[WebPluginDatabase refresh]):
- Call -unload on the plug-in packages before releasing them.
-
-2006-03-27 Tim Omernick <timo@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Part of <rdar://problem/4448350> Deprecated ObjC language API used in JavaScriptCore, WebCore,
- WebKit and WebBrowser
-
- * Carbon/HIViewAdapter.h:
- HIViewAdapter is no longer an NSView subclass, since we no longer pose it as NSView.
- * Carbon/HIViewAdapter.m:
- (+[NSView bindHIViewToNSView:nsView:]):
- Replace individual NSView methods instead of posing as NSView.
- (_webkit_NSView_setNeedsDisplay):
- Replacement implementation of -[NSView setNeedsDisplay:].
- (_webkit_NSView_setNeedsDisplayInRect):
- Replacement implementation of -[NSView setNeedsDisplayInRect:]
- (_webkit_NSView_nextValidKeyView):
- Replacement implementation of -[NSView nextValidKeyView]
-
-2006-03-27 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- Removed two overzealous assertions that the steps to reproduce 4451831 were running into.
- Improved comments to match.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
- Remove assertion that _inNextKeyViewOutsideWebFrameViews should always be false here.
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView nextValidKeyView]):
- Removed assertion that the frame should never be the main frame here.
-
-2006-03-27 Tim Omernick <timo@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Removed tabs & reformatted code.
-
- * Carbon/HIViewAdapter.m:
- (+[NSView bindHIViewToNSView:nsView:]):
- (+[NSView getHIViewForNSView:]):
- (+[NSView unbindNSView:]):
- (-[NSView setNeedsDisplay:]):
- (-[NSView setNeedsDisplayInRect:]):
- (-[NSView nextValidKeyView]):
- (SetViewNeedsDisplay):
-
-2006-03-26 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by darin
-
- <http://bugs.webkit.org/show_bug.cgi?id=7974>
- Add EditActions and WebUndoActions for CreateLink and Unlink
-
- * English.lproj/Localizable.strings:
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge nameForUndoAction:]):
-
-2006-03-23 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- At John's suggestion, renamed a private WebFrame method and tightened up some of the redirect logic I recently touched.
-
- * WebView/WebFramePrivate.h:
- Renamed -_clientRedirectCancelled: to -_clientRedirectCancelledOrFinished:, since we call this both when a redirect is
- cancelled and when a redirect is successfully committed.
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge reportClientRedirectCancelled:]):
- Call renamed WebFrame method.
- * WebView/WebFrame.m:
- Added sentRedirectNotification flag to WebFramePrivate. This flag is set when we notify the frame load delegate that a
- redirect will occur. We check this flag when committing a provisional load to ensure that the frame load delegate is
- notified that the redirect finished.
- (-[WebFrame _commitProvisionalLoad:]):
- After committing a provisional load, make sure that the frame load delegate is notified that there is no longer a pending
- redirect.
- (-[WebFrame _clientRedirectedTo:delay:fireDate:lockHistory:isJavaScriptFormAction:]):
- Set the new sentRedirectNotification flag.
- (-[WebFrame _clientRedirectCancelledOrFinished:]):
- Renamed method.
- Clear the sentRedirectNotification flag.
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- Call renamed method.
-
-2006-03-23 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4439752> TinyMCE: "Search in Google" context menu is active but fails to work when selection is active
- in textarea field.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.m:
- (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
- Added a representedObject parameter, which is set on the newly created menu item.
- (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
- Instead of setting the representedObject on each menu item after creating them all, pass the element to
- -menuItemWithTag:target:representedObject:.
- (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
- ditto. This fixes 4439752 because this method failed to set the representedObject on the menu items as
- -contextMenuItemsForElement:defaultMenuItems: did.
-
-2006-03-23 Darin Adler <darin@apple.com>
-
- Reviewed by Eric.
-
- - fix <rdar://problem/4380465> repro crash when unsuccessfully attempting to import image from Services menu
-
- * WebView/WebDataSource.m:
- (-[WebDataSource _imageElementWithImageResource:]): Quietly do nothing if passed nil.
- (-[WebDataSource _documentFragmentWithImageResource:]): Ditto.
-
-2006-03-22 Tim Omernick <timo@apple.com>
-
- Reviewed by Kevin Decker.
-
- Even better fix for <rdar://problem/4432562>. We need to notify the frame delegate of a finished redirect for both
- "fast" and "slow" redirects, after committing the load. My previous change only notified for "fast", history-locking
- redirects. Now we notify the frame delegate after committing any kind of provisional load, not just in the case of
- a fast redirect.
-
- * WebView/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _commitProvisionalLoad:]):
-
-2006-03-22 Tim Omernick <timo@apple.com>
-
- Reviewed by Kevin Decker.
-
- Better fix for <rdar://problem/4432562> REGRESSION (TOT): Safari's "stop loading" active, "view source" inactive after page load [7058]
-
- * WebView/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]):
- Cancel the client redirect when we commit the provisional load, if we were waiting for a redirect.
- This is a better fix for 7058 (<rdar://problem/4432562>). The original fix for 7058 changed the timing of the redirect cancel
- in such a way that WebKit was precluded from ever reusing back/forward list entries for redirects. Clearing the redirect state
- here actually makes logical sense, as the redirect's target page is being committed at this point.
-
-2006-03-21 Darin Adler <darin@apple.com>
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=3784
- <rdar://problem/4483827> JavaScript save dialog disappears right away (sheet triggers blur event) (3784)
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _updateFocusState]): Treat window as having focus if its sheet is key.
- (-[WebHTMLView addWindowObservers]): Observe all focus notifications, not just the ones involving this window.
- (-[WebHTMLView removeWindowObservers]): Ditto.
- (-[WebHTMLView windowDidBecomeKey:]): Add checks so that we call the methods only when appropriate,
- since this will now be called for all windows.
- (-[WebHTMLView windowDidResignKey:]): Ditto.
-
-2006-03-21 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- - Fix for http://bugs.webkit.org/show_bug.cgi?id=6813
- elementAtPoint needs to return input element when clicking on new text field
-
- * WebView/WebDocumentInternal.h: Added elementAtPoint:allowShadowContent:
- * WebView/WebHTMLView.m:
- (-[WebHTMLView elementAtPoint:]): Does not allow shadow content. This way, by default, callers would get the input element instead of the inner div.
- (-[WebHTMLView elementAtPoint:allowShadowContent:]): Allows callers to specify whether or not the element can be a shadow node.
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Allows shadow content when getting element.
- (-[WebHTMLView _mayStartDragAtEventLocation:]): ditto.
- (-[WebHTMLView _isSelectionEvent:]): ditto.
- (-[WebHTMLView _canProcessDragWithDraggingInfo:]): ditto.
- * WebView/WebFrame.m: (-[WebFrame _actionInformationForNavigationType:event:originalURL:]): Does not allow shadow content when getting element.
- * WebView/WebImageView.m: (-[WebImageView elementAtPoint:allowShadowContent:]): Added to conform to the WebDocumentElement protocol.
- * WebView/WebPDFView.m: (-[WebPDFView elementAtPoint:allowShadowContent:]): ditto.
- * WebView/WebTextView.m: (-[WebTextView elementAtPoint:allowShadowContent:]): ditto.
-
-2006-03-21 Tim Omernick <timo@apple.com>
-
- Reviewed by Tim Hatcher and Darin.
-
- <rdar://problem/4427068> LMGetCurApRefNum, CloseConnection and GetDiskFragment deprecated, used in Netscape
- plugin code
-
- * Plugins/WebNetscapeDeprecatedFunctions.h: Added.
- * Plugins/WebNetscapeDeprecatedFunctions.c: Added.
- Added wrappers for deprecated CFM and LowMem functions. These exist in a separate file so that we can set
- -Wno-deprecated-declarations on this one file without ignoring other deprecated function usage elsewhere.
- (WebGetDiskFragment):
- (WebCloseConnection):
- (WebLMGetCurApRefNum):
- (WebLMSetCurApRefNum):
-
- * Plugins/WebNetscapePluginPackage.h:
- Don't include connID ivar in 64-bit, since CFM is not supported in 64-bit.
- * Plugins/WebNetscapePluginPackage.m:
- (+[WebNetscapePluginPackage initialize]):
- Don't bother setting the resource refNum in 64-bit, because the API to get and set it does not exist.
- A theoretical 64-bit plugin couldn't possibly rely this, since there is no API.
- (-[WebNetscapePluginPackage unloadWithoutShutdown]):
- No need to close the connID in 64-bit.
- (-[WebNetscapePluginPackage load]):
- Don't load CFM bundles in 64-bit, because CFM is not supported.
-
- * WebKit.xcodeproj/project.pbxproj:
- Added WebNetscapeDeprecatedFunctions.[hm].
-
-2006-03-21 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker.
-
- - fixed <rdar://problem/4485637> Implementors of searchFor:direction:caseSensitive:wrap: should bail
- out early if search string is empty
-
- This doesn't change any existing behavior, but avoids unnecessary work.
-
- * Misc/WebSearchableTextView.m:
- (-[WebSearchableTextView searchFor:direction:caseSensitive:wrap:]):
- bail out immediately (returning NO) if search string is empty
-
- * WebView/WebHTMLView.m:
- (-[WebView searchFor:direction:caseSensitive:wrap:]):
- ditto
-
- * WebView/WebPDFView.m:
- (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
- ditto
-
- * WebView/WebView.m:
- (-[WebView searchFor:direction:caseSensitive:wrap:]):
- ditto
-
-2006-03-20 Tim Omernick <timo@apple.com>
-
- Reviewed by John Sullivan.
-
- Moved -_contentView from WebFrameViewInternal to WebFrameViewPrivate. Safari
- needs this.
-
- * WebView/WebFrameView.m:
- (-[WebFrameView _contentView]):
- * WebView/WebFrameViewInternal.h:
- * WebView/WebFrameViewPrivate.h:
-
-2006-03-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Reviewed by Darin, landed by Beth.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=7693
- WebKit relies on unpredictable timing for onload events
-
- * WebView/WebDataSource.m:
- (-[WebDataSource _receivedMainResourceError:complete:]): Check for
- completion on the WebCore side before checking on the WebKit side,
- to ensure that the onload event is emitted before the WebFrame load
- delegate is sent the webView:didFinishLoadForFrame: message. For
- DumpRenderTree, this ensures that the render tree is dumped after
- the onload handler is run.
- * WebView/WebLoader.m:
- (-[NSURLProtocol didFailWithError:]): If load has already been
- cancelled (which could happen if the parent's onload handler caused
- the frame to detach), do nothing.
-
-2006-03-17 John Sullivan <sullivan@apple.com>
-
- Reviewed by Beth Dakin
-
- - fixed <rdar://problem/4239051> Sometimes "Copy Link" in Safari results in a
- URL on the pasteboard with no usable "title"
-
- * History/WebURLsWithTitles.m:
- (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
- trim whitespace from titles that are put on pasteboard. This leaves an empty string
- for the title in cases where there's no displayed text, like an image in an <a> element
- that happens to have whitespace in the source, e.g. <a href="foo"> <img whatever></a>
-
-2006-03-17 Darin Adler <darin@apple.com>
-
- - missing bit of my check-in yesterday
-
- Maciej moved setWindowFrame for me, but I also had removed
- setWindowContentRect.
-
- * WebCoreSupport/WebFrameBridge.m: Removed unused setWindowContextRect and
- windowContentRect methods.
-
-2006-03-17 Adele Peterson <adele@apple.com>
-
- Reviewed by Hyatt.
-
- WebKit part of fix for:
- http://bugs.webkit.org/show_bug.cgi?id=7797
- Can't set background color on new text fields
-
- Added function to draw bezeled text field without drawing background.
-
- * WebCoreSupport/WebGraphicsBridge.m:
- (-[WebGraphicsBridge drawBezeledTextFieldCell:enabled:]): Added.
-
-2006-03-16 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Eric.
-
- - move setWindowFrame / windowFrame to WebPageBridge to fix build
-
- * WebCoreSupport/WebFrameBridge.m:
- * WebCoreSupport/WebPageBridge.m:
- (-[WebPageBridge setWindowFrame:]):
- (-[WebPageBridge windowFrame]):
-
-2006-03-15 Darin Adler <darin@apple.com>
-
- Fix by Patrick Beard, reviewed by me.
-
- - fix <rdar://problem/4478181> WebPluginController leaks NSArray and NSMutableSet objects
-
- * Plugins/WebPluginController.m:
- (-[WebPluginController initWithDocumentView:]): Call CFMakeCollectable on the CFSet
- so we can act like it's an NSSet.
- (-[WebPluginController dealloc]): Release _views and _checksInProgress.
-
-2006-03-13 Tim Omernick <timo@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/4476873> Support printing for plugin documents (not embedded plugins)
-
- * WebView/WebFrameViewPrivate.h:
- * WebView/WebFrameView.m:
- (-[WebFrameView documentViewShouldHandlePrint]):
- Called by the host application before it initializes and runs a print operation. If NO
- is returned, the host application will abort its print operation and call
- -printDocumentView on the WebFrameView. The document view is then expected to run its
- own print operation. If YES is returned, the host application's print operation will
- continue as normal.
- (-[WebFrameView printDocumentView]):
- Called by the host application when the WebFrameView returns YES from -documentViewShouldHandlePrint.
-
- * Plugins/WebNetscapePluginDocumentView.m:
- (-[WebNetscapePluginDocumentView documentViewShouldHandlePrint]):
- Allow the plugin to take over printing if it defines an NPP_Print function
- (-[WebNetscapePluginDocumentView printDocumentView]):
- Print the plugin document.
-
-2006-03-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by timo.
-
- - Fixed the load progress indicator to give more incremental feedback,
- and to stop spending so much time near 100%.
-
- I did two things:
- (1) Fixed some bugs and a misspelling in the previous heuristic's
- implementation
- (2) Added two new rules to the heuristic:
- (a) Treat the first layout as the half-way point.
- (b) Just like we jump the first 10% to indicate that a load has
- started, jump the last 10% to indicate that a load has finished.
-
- Rule 2a is good for two reasons. First, it seems unnatural for loading
- to be "more than half done" when you can't even see anything. Second,
- in the early stages of laading our estimate of how much we'll need to
- load is often off by as much as 6000% (e.g., cnn.com). So anything that
- makes the progress indicator more conservative in the early stages of
- loading is helpful.
-
- Rule 2b is good because it's confusing for loading to be "100% done"
- but still ongoing.
-
- FIXME: The indicator still isn't perfect. For example, the old behavior
- shows up @ moviefone.com. Two areas for future work:
- (1) Estimate number of linked resources. Our code estimates the size
- of a single resource, but does nothing to estimate the number of
- resources that resource might link to. This is the key to why we're
- so wrong at the beginning.
- (2) Improve "when to do first layout" heuristic. A JavaScript query
- for a style property forces layout, creating a phantom first layout
- with no content, essentially nullifying 2a for certain pages.
-
- Filed <rdar://problem/4475834> to track estimating the number of
- linked resources. Phantom layouts are already on Hyatt's radar.
-
- * WebView/WebFrame.m:
- (-[WebFrame _setState:]): Update firstLayoutDone
- (-[WebFrame _numPendingOrLoadingRequests:]): Bug fix: In the recurisve
- case, query 'frame' instead of 'self', so that we actually recurse.
- (-[WebFrame _firstLayoutDone]): New method
- (-[WebFrame _didFirstLayout]): Update firstLayoutDone
- * WebView/WebFramePrivate.h: Added firstLayoutDone ivar
- * WebView/WebView.m:
- (-[WebView _incrementProgressForConnectionDelegate:data:]):
- (1) Implemented 2a and 2b
- (2) Bug fix: only update the 'last time I sent a notification' time if
- we actually send a notification.
- (3) Don't test for progress < 0 because ensuring progress < max
- also ensures max - progress > 0. (Do still test for progress > max
- because rounding errors make that a possibility -- although a very
- minor one.)
- (4) Query only the loading frame and its subframes for pending
- requests instead of defaulting to the main frame. This is a slight
- optimization in cases where the main frame did not begin the load,
- and it makes the code more consistent.
-
-2006-03-13 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- - fixed <rdar://problem/4475857> API: Setting a history item limit programmatically doesn't work
-
- * History/WebHistory.m:
- (-[WebHistoryPrivate _loadHistoryGuts:URL:error:]):
- use [self historyItemLimit], which prefers the explicitly-set value and falls back to the
- NSUserDefaults value, instead of using the NSUserDefaults value explicitly.
-
-2006-03-10 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- * WebCoreSupport/WebFrameBridge.m: Remove unused requestedURLString method.
-
-2006-03-10 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff.
-
- - change how frame namespacing works to be more completely on the WebCore side
-
- * WebView/WebFrameInternal.h: Remove _setFrameNamespace: and _frameNamespace.
- * WebView/WebFrame.m: Ditto.
-
- * WebView/WebView.m:
- (-[WebView setGroupName:]): Call -[WebCorePageBridge setGroupName:].
- (-[WebView groupName]): Call -[WebCorePageBridge groupName].
-
-2006-03-09 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Darin.
-
- - http://bugs.webkit.org/show_bug.cgi?id=7656
- Query string always appended to Flash URLs, instead of being replaced.
-
- * Misc/WebNSURLExtras.h: Added _webkit_URLByRemovingResourceSpecifier.
- * Misc/WebNSURLExtras.m:
- (+[NSURL _web_URLWithData:relativeToURL:]): Call _webkit_URLByRemovingResourceSpecifier to
- work around CFURL not removing non-path components from base URLs in some cases.
- (-[NSURL _webkit_URLByRemovingComponent:]): New generic function for removing URL components.
- (-[NSURL _webkit_URLByRemovingFragment]): Moved implementation to the above method.
- (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Added.
-
-2006-03-07 Darin Adler <darin@apple.com>
-
- Reviewed by Anders.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=7655
- unwanted output while running layout tests
-
- * WebView/WebDataSourcePrivate.h:
- * WebView/WebDataSource.m:
- (-[WebDataSource _setRepresentation:]): Clear the flag that records whether we've sent
- all the data to the representation or not; need this to prevent telling the same representation
- both that we've succeeded and then later that we've failed.
- (-[WebDataSource _setMainDocumentError:]): Don't send an error if representationFinishedLoading
- is already YES. Set representationFinishedLoading.
- (-[WebDataSource _finishedLoading]): Set representationFinishedLoading.
- (-[WebDataSource _setupForReplaceByMIMEType:]): Ditto.
-
-2006-03-06 Tim Omernick <timo@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/4457574> assertion failure watching trailers at netflix.com -[WebNetscapePluginRepresentation
- receivedData:withDataSource:] + 684
-
- * Plugins/WebNetscapePluginRepresentation.m:
- (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
- Moved the ASSERT(instance) to the block that actually requires an assertion -- the plugin view should never
- have a NULL instance by the time we start the NPStream (by calling -startStreamWithResponse:).
- Some stream teardown logic changed with my fix to 4153419: when a WebBaseNetscapePluginStream is destroyed,
- it now clears its NPP instance backpointer. The WebBaseNetscapePluginStream may be destroyed from within
- -startStreamWithResponse: if NPP_NewStream() returns an error. We can handle this gracefully by changing
- the assertion before -receivedData: to a simple NULL check.
- This is unrelated to the Radar, but prior to this fix, we would attempt an NPP_Write() with the initial
- stream data even if NPP_NewStream() returned an error. Seems like that alone could cause issues, though
- I'm guessing that plugins handle this in practice.
-
-2006-03-03 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/4411822> wrong element shown in Inspector inspecting main image at apple.com
- <rdar://problem/4411908> in the Web Inspector, state of disclosure triangles should be preserved after search
- http://bugs.webkit.org/show_bug.cgi?id=6616
- Bug 6616: Double-clicking on a search result seems broken
- http://bugs.webkit.org/show_bug.cgi?id=6709
- Bug 6709: TypeError: Value undefined (result of expression treeScrollbar.refresh) is not object.
-
- Code clean up and move more code into JavaScript.
- Removes a few unused ObjC methods.
- Many search fixes. Reveals the focused node when exiting the search.
- Shows a "No Selection" screen when there are no search results.
- Shows a node count for the number of results.
- Fixes a couple of TypeErrors that show on the console.
- Uses the system selection color in the Style pane tables.
-
- * English.lproj/Localizable.strings: removed localized strings
- * WebInspector.subproj/WebInspector.m:
- (-[WebInspector init]):
- (-[WebInspector dealloc]):
- (-[WebInspector window]):
- (-[WebInspector setSearchQuery:]):
- (-[WebInspector resizeTopArea]):
- (-[WebInspector searchPerformed:]): called from JavaScript when a search happens
- (-[WebInspector _toggleIgnoreWhitespace:]):
- (-[WebInspector _exitSearch:]): exit search results on double click
- (-[WebInspector _focusRootNode:]):
- (-[WebInspector _revealAndSelectNodeInTree:]):
- (-[WebInspector _refreshSearch]):
- (-[WebInspector _update]):
- (-[WebInspector _updateTraversalButtons]):
- (-[WebInspector _updateRoot]):
- (-[WebInspector _updateTreeScrollbar]):
- (-[WebInspector _updateSystemColors]): update CSS with system colors
- (-[WebInspector webView:didFinishLoadForFrame:]):
- (-[WebInspector webView:plugInViewWithArguments:]):
- (-[WebInspector outlineViewSelectionDidChange:]): test for webViewLoaded
- (-[WebInspectorPrivate init]): alloc rightArrowImage and downArrowImage
- (-[WebInspectorPrivate dealloc]): no more matchedRules
- (-[DOMNode _displayName]): removed localization UI_STRING calls.
- * WebInspector.subproj/WebInspectorInternal.h:
- * WebInspector.subproj/webInspector/inspector.css:
- * WebInspector.subproj/webInspector/inspector.html:
- * WebInspector.subproj/webInspector/inspector.js:
-
-2006-03-02 Alexey Proskuryakov <ap@nypop.com>
-
- Fixed a typo in the comments added in the previous checkin.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- * WebCoreSupport/WebSubresourceLoader.m:
- (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
- (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
-
-2006-03-02 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Darin.
-
- - http://bugs.webkit.org/show_bug.cgi?id=7540
- REGRESSION: frequent cache-related crashes
-
- - http://bugs.webkit.org/show_bug.cgi?id=7393
- A stale comment about XMLHttpRequest responses being never cached
-
- * WebCoreSupport/WebFrameBridge.m: Don't call setHTTPHeader if the method is GET.
- (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- * WebCoreSupport/WebSubresourceLoader.m: Ditto. Also removed a stale comment about
- XMLHTTPRequests.
- (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
- (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
-
-2006-02-23 David Harrison <harrison@apple.com>
-
- Reviewed by Justin.
-
- <rdar://problem/4359736> Support outlining ability with lists
-
- Added Mail SPI for list level changes. It is SPI because it is not complete support
- for outlining. See <rdar://problem/4457070> "API for html lists as note outlines".
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _canIncreaseSelectionListLevel]):
- (-[WebHTMLView _canDecreaseSelectionListLevel]):
- (-[WebHTMLView _increaseSelectionListLevel]):
- (-[WebHTMLView _decreaseSelectionListLevel]):
- * WebView/WebHTMLViewPrivate.h:
-
-2006-03-01 Alexey Proskuryakov <ap@nypop.com>
-
- Reviewed by Darin.
-
- - http://bugs.webkit.org/show_bug.cgi?id=3812
- XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET.
-
- All WebKit changes are to use the method parameter passed from WebCore.
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
- (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
- (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- * WebCoreSupport/WebSubresourceLoader.h:
- * WebCoreSupport/WebSubresourceLoader.m:
- (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forDataSource:]):
- (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forDataSource:]):
-
-2006-03-01 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin.
-
- http://bugs.webkit.org/show_bug.cgi?id=7450
- elementAtPoint is expensive and should return a smart dictionary
-
- <rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450)
-
- elementAtPoint for WebHTMLView now returns a WebElementDictionary,
- when objectForKey is called it will lookup in the DOM, cache and return the value
-
- * Misc/WebElementDictionary.h: Added.
- * Misc/WebElementDictionary.m: Added.
- (addLookupKey):
- (cacheValueForKey):
- (+[WebElementDictionary initializeLookupTable]):
- (-[WebElementDictionary initWithInnerNonSharedNode:innerNode:URLElement:andPoint:]):
- (-[WebElementDictionary dealloc]):
- (-[WebElementDictionary _fillCache]):
- (-[WebElementDictionary count]):
- (-[WebElementDictionary keyEnumerator]):
- (-[WebElementDictionary objectForKey:]):
- (-[WebElementDictionary _domNode]):
- (-[WebElementDictionary _webFrame]):
- (-[WebElementDictionary _targetWebFrame]):
- (-[WebElementDictionary _title]):
- (-[WebElementDictionary _imageRect]):
- (-[WebElementDictionary _isSelected]):
- * Misc/WebNSViewExtras.m:
- (-[NSView _web_dragImage:element:rect:event:pasteboard:source:offset:]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _updateMouseoverWithEvent:]):
- (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
- (-[WebHTMLView elementAtPoint:]):
- * WebView/WebView.m:
- * WebView/WebViewPrivate.h:
-
-2006-02-28 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - remove obsolete WebCoreScrollView class
-
- * WebView/WebDynamicScrollBarsView.h: Change base class to NSScrollView instead of WebCoreScrollView.
- * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView autoforwardsScrollWheelEvents]): Added.
-
-2006-02-28 John Sullivan <sullivan@apple.com>
-
- Reviewed by Eric Seidel
-
- Wean WebKit from one more SPI call. We learned about this new-to-Tiger
- API from filing Radar 4433222.
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _autoscroll]):
- use public CGEventSourceButtonState() instead of WKMouseIsDown() (which was using SPI internally)
-
-2006-02-27 Tim Omernick <timo@apple.com>
-
- Reviewed by Adele.
-
- <rdar://problem/4222043> Safari should reduce null events sent to invisible plugins
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.m:
- (-[WebBaseNetscapePluginView restartNullEvents]):
- Check to see if the plugin view is completely obscured (scrolled out of view, for example). If it is
- obscured and it wasn't before, or the other way around, then restart the null event timer so it can
- fire at the appropriate rate.
- (-[WebBaseNetscapePluginView viewHasMoved:]):
- If a plugin is obscured, send it null events as if it were in an inactive window.
-
-2006-02-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
-
- Test: fast/frames/empty-frame-document.html
-
- Reviewed by Darin.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=7293
- REGRESSION: Using Javascript Bookmarklets that reference location.href on a blank tab crashes WebKit
-
- The crash happened because an empty frame did not have a document.
-
- * WebView/WebFrame.m:
- (-[WebFrame _commitProvisionalLoad:]): Use "about:blank" instead of an empty URL for empty
- frames. This causes a document to be created for the frame.
-
-2006-02-21 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin.
-
- Backed out my previous check in. Since these methods are internal to WebKit (and not private)
- it's perfectly OK for them to remain as categories.
- * ChangeLog:
- * WebView/WebPreferences.m:
- (-[WebPreferences _integerValueForKey:]):
- (-[WebPreferences _setIntegerValue:forKey:]):
- (-[WebPreferences _floatValueForKey:]):
- (-[WebPreferences _setFloatValue:forKey:]):
- (-[WebPreferences _boolValueForKey:]):
- (-[WebPreferences _setBoolValue:forKey:]):
- * WebView/WebPreferencesPrivate.h:
-
-2006-02-20 Darin Adler <darin@apple.com>
-
- Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this.
-
- - WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=6831
- contentEditable outline darkens as caret moves
-
- * WebCoreSupport/WebGraphicsBridge.m:
- (-[WebGraphicsBridge drawFocusRingWithPath:radius:color:]):
- Replaced the old bridge function that set up style with this one that renders a path.
-
-2006-02-19 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - cut out a little unneeded bridge code
-
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge webView]): Added. Helper, since the WebCore side of the bridge no longer
- has this method.
- (-[WebFrameBridge createWindowWithURL:]): Removed the frameName parameter -- this is now
- handled on the WebCore side. Also return a page bridge instead of a frame bridge.
- (-[WebFrameBridge createModalDialogWithURL:]): Changed to return a page bridge instead of
- a frame bridge.
-
- * WebView/WebFrame.m: (-[WebFrame webView]): Change to get the webView from the page bridge
- instead of the frame bridge, since it's a per-page thing.
-
- * WebView/WebView.m: Removed init method since it just does what the default does (calls
- initWithFrame: with a zero rect).
- (-[WebView initWithCoder:]): Added checking so that if the obejcts have the wrong type
- we will fail gracefully instead of hitting "method not found" and the like.
- (-[WebView setPreferencesIdentifier:]): Fix storage leak. The WebPreferences object was
- not released.
- (-[WebView mainFrame]): Removed excess "return nil".
- (-[WebView _pageBridge]): Added. Helper to let you go from the WebView to the bridge
- from outside the WebView class.
- * WebView/WebViewInternal.h: Put _pageBridge into an internal header.
-
- * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge outerView]): Added. Replaces "webView"
- as public method to tell the WebCore side about the view everything's embedded in.
-
- - other cleanup
-
- * WebCoreSupport/WebPageBridge.h: Removed some unneeded declarations.
-
- * Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView loadPluginRequest:]):
- Rearrange code so it doesn't have to get the main frame twice.
-
-2006-02-18 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed.
-
- - fix build broken by my last checkin, the remaining code was not doing anything.
-
- * WebView/WebDataSource.m:
- * WebView/WebDataSourcePrivate.h:
- * WebView/WebFrame.m:
- (-[WebFrame _createPageCacheForItem:]):
-
-2006-02-16 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin.
-
- - removed a few unused fields and methods of WebDataSource
-
- * WebView/WebDataSource.m:
- * WebView/WebDataSourcePrivate.h:
- * WebView/WebView.m:
- (+[WebView _MIMETypeForFile:]):
- (-[WebView _updateWebCoreSettingsFromPreferences:]):
-
-2006-02-15 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by darin
-
- <http://bugs.webkit.org/show_bug.cgi?id=7148>
- Add drag and drop support to DumpRenderTree
-
- Added a UI delegate method so that DumpRenderTree can perform dragging on its own.
- Made _updateFocusState SPI, to allow us to test the behavior and appearance of
- windows that have or don't have focus.
-
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _updateFocusState]):
- (-[WebHTMLView viewDidMoveToWindow]):
- (-[WebHTMLView windowDidBecomeKey:]):
- (-[WebHTMLView windowDidResignKey:]):
- (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
- (-[WebHTMLView becomeFirstResponder]):
- (-[WebHTMLView resignFirstResponder]):
- (-[WebHTMLView _formControlIsResigningFirstResponder:]):
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebHTMLViewPrivate.h:
- * WebView/WebUIDelegatePrivate.h:
- * WebView/WebView.m:
-
-2006-02-15 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
-
-2006-02-15 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Anders.
-
- * WebView/WebControllerPolicyHandlerDelegate.h: Removed.
-
-2006-02-15 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - remove some voodoo code
-
- * WebView/WebDataSource.m:
- (-[WebDataSource _setLoading:]): Removed useless ref/deref of self and WebView.
- A WebDataSource cannot be loading unless it is still connected to the WebView that
- owns it and retained by it, because getting disconnected stops loading.
-
-2006-02-13 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- Improvements to frame loading:
-
- - remove LayoutAcceptable state entirely
- - fix WebImageView to work right without LayoutAcceptable state
- - move guts of commitIfReady: to WebFrame
- - try to separate page cache loading from normal loading a bit more
-
- * English.lproj/StringsNotToBeLocalized.txt:
- * WebView/WebDataSource.m:
- (-[WebDataSource _prepareForLoadStart]):
- (-[WebDataSource _loadFromPageCache:]):
- (-[WebDataSource _startLoading]):
- (-[WebDataSource _commitIfReady]):
- (-[WebDataSource _setupForReplaceByMIMEType:]):
- * WebView/WebDataSourcePrivate.h:
- * WebView/WebFrame.m:
- (-[WebFrame _transitionToCommitted:]):
- (-[WebFrame _commitProvisionalLoad:]):
- (-[WebFrame _checkLoadCompleteForThisFrame]):
- (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
- * WebView/WebFramePrivate.h:
- * WebView/WebImageRepresentation.h:
- * WebView/WebImageRepresentation.m:
- * WebView/WebImageView.m:
- (-[WebImageView dataSourceUpdated:]):
- (-[WebImageView setNeedsLayout:]):
- (-[WebImageView writeImageToPasteboard:types:]):
- (-[WebImageView copy:]):
- (-[WebImageView mouseDragged:]):
- * WebView/WebView.m:
- (-[WebView _finishedLoadingResourceFromDataSource:]):
- (-[WebView _mainReceivedBytesSoFar:fromDataSource:complete:]):
-
-2006-02-13 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Omernick.
-
- Support for highlighting multiple text matches.
-
- * WebView/WebHTMLViewPrivate.h:
- * WebView/WebHTMLView.m:
- (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
- new method, calls through to bridge
- (-[WebHTMLView clearHighlightedMatches]):
- ditto
-
- * WebView/WebViewPrivate.h:
- * WebView/WebView.m:
- (-[WebView highlightAllMatchesForString:caseSensitive:]):
- new method, calls through to documentView. For now this is hardwired to only work
- with WebHTMLViews.
- (-[WebView clearHighlightedMatches]):
- ditto
-
-2006-02-13 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej.
-
- - move pointer from frame to page over to WebCore
-
- * WebCoreSupport/WebPageBridge.m: (-[WebPageBridge initWithMainFrameName:webView:frameView:]):
- Call super init to create the page before creating the main frame and calling setMainFrame: with it.
-
- * WebCoreSupport/WebFrameBridge.h: Remove page pointer, and change init function parameters.
- * WebCoreSupport/WebFrameBridge.m:
- (-[WebFrameBridge initMainFrameWithPage:frameName:view:]): New function that is used only for
- the main frame. Passes the page over to the other side of the bridge.
- (-[WebFrameBridge initSubframeWithRenderer:frameName:view:]): New function that is used only for
- subframes. Passes the renderer over to the other side of the bridge.
- (-[WebFrameBridge mainFrame]):
- (-[WebFrameBridge webView]):
- (-[WebFrameBridge createWindowWithURL:frameName:]):
- (-[WebFrameBridge showWindow]):
- (-[WebFrameBridge areToolbarsVisible]):
- (-[WebFrameBridge setToolbarsVisible:]):
- (-[WebFrameBridge isStatusbarVisible]):
- (-[WebFrameBridge setStatusbarVisible:]):
- (-[WebFrameBridge setWindowFrame:]):
- (-[WebFrameBridge windowFrame]):
- (-[WebFrameBridge setWindowContentRect:]):
- (-[WebFrameBridge windowContentRect]):
- (-[WebFrameBridge setWindowIsResizable:]):
- (-[WebFrameBridge windowIsResizable]):
- (-[WebFrameBridge firstResponder]):
- (-[WebFrameBridge makeFirstResponder:]):
- (-[WebFrameBridge closeWindowSoon]):
- (-[WebFrameBridge runJavaScriptAlertPanelWithMessage:]):
- (-[WebFrameBridge runJavaScriptConfirmPanelWithMessage:]):
- (-[WebFrameBridge canRunBeforeUnloadConfirmPanel]):
- (-[WebFrameBridge runBeforeUnloadConfirmPanelWithMessage:]):
- (-[WebFrameBridge runJavaScriptTextInputPanelWithPrompt:defaultText:returningText:]):
- (-[WebFrameBridge addMessageToConsole:]):
- (-[WebFrameBridge runOpenPanelForFileButtonWithResultListener:]):
- (-[WebFrameBridge setStatusText:]):
- (-[WebFrameBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
- (-[WebFrameBridge focusWindow]):
- (-[WebFrameBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]):
- (-[WebFrameBridge userAgentForURL:]):
- (-[WebFrameBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]):
- (-[WebFrameBridge previousKeyViewOutsideWebFrameViews]):
- (-[WebFrameBridge defersLoading]):
- (-[WebFrameBridge setDefersLoading:]):
- (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
- (-[WebFrameBridge _preferences]):
- (-[WebFrameBridge selectWordBeforeMenuEvent]):
- (-[WebFrameBridge historyLength]):
- (-[WebFrameBridge canGoBackOrForward:]):
- (-[WebFrameBridge goBackOrForward:]):
- (-[WebFrameBridge print]):
- (-[WebFrameBridge pollForAppletInView:]):
- (-[WebFrameBridge respondToChangedContents]):
- (-[WebFrameBridge respondToChangedSelection]):
- (-[WebFrameBridge undoManager]):
- (-[WebFrameBridge issueCutCommand]):
- (-[WebFrameBridge issueCopyCommand]):
- (-[WebFrameBridge issuePasteCommand]):
- (-[WebFrameBridge issuePasteAndMatchStyleCommand]):
- (-[WebFrameBridge canPaste]):
- (-[WebFrameBridge overrideMediaType]):
- (-[WebFrameBridge isEditable]):
- (-[WebFrameBridge shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
- (-[WebFrameBridge shouldBeginEditing:]):
- (-[WebFrameBridge shouldEndEditing:]):
- (-[WebFrameBridge windowObjectCleared]):
- (-[WebFrameBridge spellCheckerDocumentTag]):
- (-[WebFrameBridge isContinuousSpellCheckingEnabled]):
- (-[WebFrameBridge didFirstLayout]):
- (-[WebFrameBridge dashboardRegionsChanged:]):
- (-[WebFrameBridge createModalDialogWithURL:]):
- (-[WebFrameBridge canRunModal]):
- (-[WebFrameBridge runModal]):
- Change all calls to [_page webView] to use [self webView] instead.
-
-=== WebKit-521.7
-
-2006-02-11 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Hyatt.
-
- - factor WebArchive creation code out of other classes into new WebArchiver
- http://bugs.webkit.org/show_bug.cgi?id=7208
-
- * DOM/WebDOMOperations.m:
- (-[DOMNode webArchive]):
- (-[DOMRange webArchive]):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebArchiver.h: Added.
- * WebView/WebArchiver.m: Added.
- (+[WebArchiver _subframeArchivesForFrame:]):
- (+[WebArchiver archiveFrame:]):
- (+[WebArchiver _archiveCurrentStateForFrame:]):
- (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
- (+[WebArchiver archiveRange:]):
- (+[WebArchiver archiveNode:]):
- (+[WebArchiver archiveSelectionInFrame:]):
- * WebView/WebDataSource.m:
- (-[WebDataSource webArchive]):
- * WebView/WebDataSourcePrivate.h:
- * WebView/WebHTMLView.m:
- (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
- (-[WebHTMLView _writeSelectionToPasteboard:]):
- * WebView/WebHTMLViewPrivate.h:
-
-2006-02-11 Darin Adler <darin@apple.com>
-
- * English.lproj/StringsNotToBeLocalized.txt: Updated paths for recent changes in directory structure.
-
-2006-02-11 David Kilzer <ddkilzer@kilzer.net>
-
- Reviewed by John Sullivan.
-
- - Fix http://bugs.webkit.org/show_bug.cgi?id=7171
- No description in WebKitErrors.m for WebKitErrorPlugInWillHandleLoad
-
- * English.lproj/Localizable.strings: Added new UI_STRING().
- * Misc/WebKitErrors.m: Added #define for description.
- (registerErrors): Added dictionary entry.
-
-2006-02-09 Tim Omernick <timo@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/4153419> CrashTracer: 576 crashes in Safari at com.apple.WebKit: NPN_DestroyStream + 56
-
- I never could reproduce this crasher, which seems to be caused by the Speed Download plugin. However,
- I did find a way to make the affected code more bulletproof for those who are experiencing the crash.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- Keep a WebBaseNetscapePluginView instead of the WebNetscapePluginPackage, since the plugin view could
- potentially be deallocated before the stream finishes loading.
- * Plugins/WebBaseNetscapePluginStream.m:
- (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
- Use pluginView instead of plugin.
- (-[WebBaseNetscapePluginStream dealloc]):
- Assert that the plugin instance has been nulled out, since that's now part of the stream's teardown
- phase.
- Release pluginView instead of plugin.
- (-[WebBaseNetscapePluginStream setPluginPointer:]):
- Retain the plugin view instead of the plugin package, since the plugin view could be deallocated while
- the stream is running.
- This method now accepts a NULL argument so that we can easily clear out the pluginView backpointer
- (and other ivars derived from it).
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
- Use pluginView instead of plugin.
- (-[WebBaseNetscapePluginStream _destroyStream]):
- ditto
- (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
- ditto
- (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError]):
- Set the plugin instance to NULL, so that the pluginView backpointer is released. This method is called
- for every plugin view's stream when the plugin view is stopped/destroyed.
- (-[WebBaseNetscapePluginStream _deliverData]):
- Use pluginView instead of plugin.
-
-== Rolled over to ChangeLog-2006-02-09 ==
diff --git a/Source/WebKit/mac/ChangeLog-2010-01-29 b/Source/WebKit/mac/ChangeLog-2010-01-29
deleted file mode 100644
index e73430964..000000000
--- a/Source/WebKit/mac/ChangeLog-2010-01-29
+++ /dev/null
@@ -1,23230 +0,0 @@
-2010-01-29 Mark Rowe <mrowe@apple.com>
-
- Fix the Mac build.
-
- Disable ENABLE_INDEXED_DATABASE since it is "completely non-functional".
-
- As the comment in FeatureDefines.xcconfig notes, the list of feature defines
- needs to be kept in sync across the various files. The default values also
- need to be kept in sync between these files and build-webkit.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-01-29 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/7441982> REGRESSION (TOT): Adobe CS4: Installer alerts are displayed as
- blank windows
-
- * WebView/WebView.mm:
- (shouldEnableLoadDeferring): Load deferring is enabled unless the application is Adobe
- Installer.
- (-[WebView _preferencesChangedNotification:]): Call setLoadDeferringEnabled().
-
-2010-01-28 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Huge plain text pastes are slow
- <rdar://problem/5195056>
- https://bugs.webkit.org/show_bug.cgi?id=34237
-
- Mail is ignoring the fragment created from plain text or HTML that is
- passed to the delegate function, that creates a new one.
- This fix avoids creating the fragment twice.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
-
-2010-01-25 Anders Carlsson <andersca@apple.com>
-
- Featureless build fixes.
-
- * Misc/WebCache.mm:
- (+[WebCache empty]):
- * WebCoreSupport/WebApplicationCache.mm:
- * WebCoreSupport/WebChromeClient.h:
- * WebView/WebDataSource.mm:
- (-[WebDataSource _transferApplicationCache:]):
- * WebView/WebFrame.mm:
- (-[WebFrame _cacheabilityDictionary]):
- * WebView/WebView.mm:
- (WebKitInitializeApplicationCachePathIfNecessary):
- (-[WebView _close]):
- * WebView/WebViewData.mm:
- (-[WebViewPrivate dealloc]):
- (-[WebViewPrivate finalize]):
-
-2010-01-25 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Simon Fraser.
-
- A WebGeolocationControllerClient is leaked for every WebView
- https://bugs.webkit.org/show_bug.cgi?id=34145
-
- * WebCoreSupport/WebGeolocationControllerClient.h:
- * WebCoreSupport/WebGeolocationControllerClient.mm:
- (WebGeolocationControllerClient::geolocationDestroyed):
-
-2010-01-22 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=34025
- Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-01-22 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adele Peterson.
-
- [WebFrame loadRequest:] does not null check the WebCore::Frame
- <rdar://problem/7416286> and https://bugs.webkit.org/show_bug.cgi?id=34021
-
- * WebView/WebFrame.mm:
- (-[WebFrame loadRequest:]): Null check the WebCore::Frame as it can disappear
- out of underneath a WebFrame.
-
-2010-01-22 Peter Kasting <pkasting@google.com>
-
- Reviewed by David Hyatt.
-
- When scrolling by page, hold back 1/8th of the visible size instead of
- 40 px.
- https://bugs.webkit.org/show_bug.cgi?id=32595
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _verticalPageScrollDistance]):
- (-[WebFrameView initWithFrame:]):
- (-[WebFrameView _horizontalPageScrollDistance]):
-
-2010-01-20 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Implement File and Blob interfaces as defined in File API spec.
- https://bugs.webkit.org/show_bug.cgi?id=32912
-
- * MigrateHeaders.make:
-
-2010-01-19 Timothy Hatcher <timothy@apple.com>
-
- Fix erroneous page scrolls when trying to select text or use form elements
- with the Web Inspector docked.
-
- http://webkit.org/b/24403
- rdar://problem/6753925
-
- Reviewed by John Sullivan and Darin Adler.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::scrollRectIntoView): The scrollRect.move() call was
- incorrectly converting the rect under the assumption that the frame view
- is the same size as the WebView. Using convertRect:fromView: instead
- is enough to fix the bug, but that code isn't needed since WebCore
- already takes care of scrolling the main frame's document view, so it
- was redundant to do it here too.
-
-2010-01-20 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler and Adam Roben.
-
- Feature defines are difficult to maintain on Windows builds
- https://bugs.webkit.org/show_bug.cgi?id=33883
-
- * Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
-
-2010-01-20 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7489504> Clicking on an overflow scrollbar when the window doesn't have
- focus only focuses the window; it should start scrolling too
- https://bugs.webkit.org/show_bug.cgi?id=33906
-
- * Misc/WebElementDictionary.mm:
- (+[WebElementDictionary initializeLookupTable]): Initialize WebElementIsInScrollBarKey.
- (-[WebElementDictionary _isInScrollBar]): Added. Returns whether the HitTestResult contains
- a scroll bar.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _isScrollBarEvent:]): Added. Returns whether the event point is in a scroll
- bar in this view.
- (-[WebHTMLView acceptsFirstMouse:]): Accept scroll bar events.
- * WebView/WebView.mm: Define WebElementIsInScrollBarKey.
- * WebView/WebViewPrivate.h: Declare WebElementIsInScrollBarKey.
-
-2010-01-19 Dan Bernstein <mitz@apple.com>
-
- Redo Tiger build fix without making WebTypesInternal.h a private header
-
- * WebView/WebHTMLRepresentation.h: Define and use WebNSUInteger.
- * WebView/WebHTMLRepresentation.mm: Import WebTypesInternal.h.
-
-2009-12-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/7068584> Crash at NetscapePluginHostProxy::processRequests
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::waitForReply): Wrapped with calls
- to willCallPluginFunction/didCallPluginFunction. This prevents the plug-in
- from being stopped while waiting for reply.
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Protect the
- instance proxy in case the plug-in host crashes while waiting for reply.
- * Plugins/Hosted/ProxyInstance.h:
- (WebKit::ProxyInstance::waitForReply): Added. Calls through to
- NetscapePluginInstanceProxy::waitForReply(), but returns a null reply if the
- proxy gets invalidated while waiting for the reply.
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::invoke): Use ProxyInstance::waitForReply().
- (WebKit::ProxyInstance::supportsInvokeDefaultMethod): Ditto.
- (WebKit::ProxyInstance::supportsConstruct): Ditto.
- (WebKit::ProxyInstance::getPropertyNames): Ditto.
- (WebKit::ProxyInstance::methodsNamed): Ditto.
- (WebKit::ProxyInstance::fieldNamed): Ditto.
- (WebKit::ProxyInstance::fieldValue): Ditto.
- (WebKit::ProxyInstance::setFieldValue): Ditto.
-
-2010-01-19 John Sullivan <sullivan@apple.com>
-
- Tiger build fix.
-
- * WebView/WebHTMLRepresentation.h:
- Added #import for WebTypesInternal.h so NSUInteger will be defined on Tiger.
-
-2010-01-19 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Part of <http://webkit.org/b/28622>.
- Caught exceptions still pause the debugger.
-
- Update WebScriptDebugger::exception to have the hasHandler parameter.
-
- This just adds a new parameter, no behavior is changed.
-
- * WebView/WebScriptDebugger.h:
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::exception):
-
-2010-01-19 Jon Honeycutt <jhoneycutt@apple.com>
-
- MSAA: The child <option> elements of a non-multiple <select> are not
- exposed
-
- https://bugs.webkit.org/show_bug.cgi?id=33773
- <rdar://problem/7550556>
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory AXMenuListPopupActionVerb]):
- Stubbed.
- (-[WebViewFactory AXMenuListActionVerb]):
- Stubbed.
-
-2010-01-19 John Sullivan <sullivan@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=33854
- Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns
- more info about where the result was found
-
- Reviewed by Darin Adler
-
- * WebView/WebHTMLRepresentation.h:
- Declare -searchForLabels:beforeElement:resultDistance:resultIsInCellAbove.
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation searchForLabels:beforeElement:]):
- Now calls through to searchForLabels:beforeElement:resultDistance:resultIsInCellAbove.
- (-[WebHTMLRepresentation searchForLabels:beforeElement:resultDistance:resultIsInCellAbove:]):
- New method, calls through to WebCore.
-
-2010-01-19 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Adam Roben.
-
- Add an API to obtain the WebScriptWorld for a given JSGlobalContextRef.
-
- * WebView/WebScriptWorld.h:
- * WebView/WebScriptWorld.mm:
- (+[WebScriptWorld scriptWorldForGlobalContext:]):
-
-2010-01-19 Steve Block <steveblock@google.com>
-
- Unreviewed build fix.
-
- Fixes Snow Leopard build due to http://trac.webkit.org/changeset/53464
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm: Modified. Import <WebCore/Bridge.h>
-
-2010-01-19 Steve Block <steveblock@google.com>
-
- Reviewed by Adam Barth.
-
- Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
- https://bugs.webkit.org/show_bug.cgi?id=33801
-
- * Plugins/Hosted/ProxyInstance.h:
-
-2010-01-18 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Darin Adler.
-
- Script attributes are copied and pasted, making cross-domain attacks possible (30019)
- <rdar://problem/6008809>
- https://bugs.webkit.org/show_bug.cgi?id=30019
-
- * WebView/WebFrame.mm:
- (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Modified the call to createMarkupString.
-
-2010-01-18 Steve Falkenburg <sfalken@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Add missing export for Geolocation.
-
- * WebKit.exp:
-
-2010-01-18 Adam Roben <aroben@apple.com>
-
- Add +[WebView _setDomainRelaxationForbidden:forURLScheme:]
-
- WebKit/mac part of fixing <http://webkit.org/b/33806>
- <rdar://problem/7552837> Would like API to disallow setting of
- document.domain for pages with certain URL schemes
-
- Reviewed by Sam Weinig.
-
- * WebView/WebView.mm:
- (+[WebView _setDomainRelaxationForbidden:forURLScheme:]):
- * WebView/WebViewPrivate.h:
- Added. Calls through to SecurityOrigin.
-
-2010-01-16 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Cache JS string values made from DOM strings (Dromaeo speedup)
- https://bugs.webkit.org/show_bug.cgi?id=33768
- <rdar://problem/7353576>
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::stringValue): Explicitly make a String, since char*
- is now ambiguous.
-
-2010-01-13 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7532544>
-
- Expose new method on WebKitSystemInterface, WKGetUserToBaseCTM(), which will
- be used for a shadow drawing fix.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2010-01-13 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=33610
- <rdar://problem/7288546> Silverlight full screen performance problem seen on Snow Leopard.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView _workaroundSilverlightFullScreenBug:]): Added. Work around Silverlight full screen
- performance issue by maintaining an accelerated GL pixel format. We can safely remove this at some point in
- the future when both Microsoft releases a genuine fix for 7288546 and enough Silverlight users update to the
- new Silverlight. For now, we'll distinguish older broken versions of Silverlight by asking the plug-in if it
- resolved its full screen badness.
- (-[WebNetscapePluginView _createPlugin]): Call _workaroundSilverlightFullScreenBug:YES if this is Silverlight.
- (-[WebNetscapePluginView _destroyPlugin]): Call _workaroundSilverlightFullScreenBug:NO if this is Silverlight.
-
-2010-01-11 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7512726> Flash full-screen does not work correctly with Flash 10.1 beta
-
- Explicitly track when the plug-in shows and hides a full-screen window to determine
- whether a plug-in is currently full-screen, rather than relying on menu bar visibility.
- This ensures that we activate the plug-in host process and client application as
- appropriate when the plug-in enters or exits full-screen.
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- (WebKit::NetscapePluginHostProxy::isFullScreenWindowShowing):
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
- (WebKit::NetscapePluginHostProxy::setMenuBarVisible):
- (WebKit::NetscapePluginHostProxy::didEnterFullScreen):
- (WebKit::NetscapePluginHostProxy::didExitFullScreen):
- (WebKit::NetscapePluginHostProxy::setFullScreenWindowIsShowing):
- (WKPCSetMenuBarVisible):
- (WKPCSetFullScreenWindowIsShowing):
- * Plugins/Hosted/WebKitPluginClient.defs:
-
-2010-01-11 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Kevin Decker.
-
- https://bugs.webkit.org/show_bug.cgi?id=33455
- Allows plugins to participate in accelerated compositing
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView createPlugin]):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView createPlugin]): If accelerated compositing is
- available, don't use a layer-backed NSView for plugins. Instead, tickle the
- accelerated compositing code via setNeedsStyleRecalc(SyntheticStyleChange),
- which will parent the plugin's layer in the accelerated compositing layer
- tree.
-
-2010-01-09 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- ScriptController::isEnabled needs to be renamed
- https://bugs.webkit.org/show_bug.cgi?id=32063
-
- Rename ScriptController::isEnabled to
- ScriptController::canExecuteScripts.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
- (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
-
-2010-01-07 Daniel Bates <dbates@rim.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=32987
-
- Added ENABLE_XHTMLMP flag. Disabled by default.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-01-07 Alexey Proskuryakov <ap@apple.com>
-
- More build fix.
-
- * WebKitPrefix.h: Define JS_EXPORTCLASS here, as well (as empty).
-
-2010-01-07 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Simon Fraser.
-
- REGRESSION (r48075): Clicking and dragging in a widget's text field doesn't create a selection; drags widget instead ( Translation, Weather, Ski Report )
- https://bugs.webkit.org/show_bug.cgi?id=33348
- <rdar://problem/7310616>
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): We only want to
- handle file: URLs for the user stylesheet now, so special-case the
- DashboardClient's funky user stylesheet URL by mapping it to the
- equivalent file URL.
-
-2010-01-07 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=33331
- (WebHostedNetscapePluginView should pass acceleratedCompositingEnabled bool to NetscapePluginHostManager when instantiating plug-ins)
-
- * Plugins/Hosted/NetscapePluginHostManager.h: Modify method signature for instantiatePlugin to include acceleratedCompositingEnabled bool.
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView createPlugin]): Pass accelerated compositing status to NetscapePluginHostManage
-
-2010-01-06 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Simon Fraser.
-
- Third step of:
- <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView getVariable:value:]): Add case for WKNVSupportsCompositingCoreAnimationPluginsBool.
-
-2010-01-06 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Simon Fraser.
-
- Second step of:
- <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
-
- * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView pluginLayer]): Added.
- * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView pluginLayer]): Added.
-
-2010-01-06 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Eric Carlson.
-
- First step toward:
- <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
-
- Small refactoring moving the PluginWidget class from WebKit to WebCore.
-
- * WebCoreSupport/WebFrameLoaderClient.mm: Use the WebCore version of PluginWidget.
-
-2010-01-05 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- Re-enable plug-in halting on Mac after r51953
-
- * WebCoreSupport/WebPluginHalterClient.mm:
- (WebPluginHalterClient::enabled): Test for the correct selector.
-
-2010-01-04 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Ada Chan and Mark Rowe.
-
- Updated copyright string
-
- * Info.plist:
-
-2009-12-27 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- plugins/get-url-with-iframe-target.html fails on SnowLeopard (64-bit)
- https://bugs.webkit.org/show_bug.cgi?id=32982
-
- This test has been failing on SnowLeopard since it was landed.
-
- The problem is that we never delivered the notification for
- NPN_GetURLNotify, in the frame-targeting case, for out-of-process
- plugins on Mac.
-
- I implemented support for this based on how in-process Mac plugins
- do it.
-
- * Plugins/Hosted/HostedNetscapePluginStream.h:
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::reasonForError):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::PluginRequest::create):
- (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
- (WebKit::NetscapePluginInstanceProxy::destroy):
- (WebKit::NetscapePluginInstanceProxy::performRequest):
- (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
- (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
- (WebKit::NetscapePluginInstanceProxy::loadRequest):
- * Plugins/Hosted/WebHostedNetscapePluginView.h:
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView webFrame:didFinishLoadWithReason:]):
- (-[WebHostedNetscapePluginView webFrame:didFinishLoadWithError:]):
-
-2009-12-22 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- Turn off datagrid by default, at least for all platforms Apple ships.
- The datagrid implementation isn't ready for general web use yet.
-
- * Configurations/FeatureDefines.xcconfig: Turn off datagrid by default.
-
-2009-12-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't allocate a WebGeolocationControllerClient unless that compile-time setting is enabled.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2009-12-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Add Mac WebKit side of the client based geolocation provider.
-
- * Misc/WebKitErrors.m:
- (registerErrors): Add Geolocation errors.
- * Misc/WebKitErrorsPrivate.h:
- * WebCoreSupport/WebGeolocationControllerClient.h: Added.
- (WebGeolocationControllerClient::webView):
- * WebCoreSupport/WebGeolocationControllerClient.mm: Added.
- (WebGeolocationControllerClient::WebGeolocationControllerClient):
- (WebGeolocationControllerClient::startUpdating):
- (WebGeolocationControllerClient::stopUpdating):
- (WebGeolocationControllerClient::lastPosition):
- Add implementation of the WebGeolocationControllerClient.
-
- * WebView/WebGeolocationPosition.h: Added.
- * WebView/WebGeolocationPosition.mm: Added.
- (-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]):
- (core):
- (-[WebGeolocationPosition initWithTimestamp:latitude:longitude:accuracy:]):
- * WebView/WebGeolocationPositionInternal.h: Added.
- Add an Objective-C wrapper for GeolocationPosition.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Set the GeolocationControllerClient.
- (-[WebView _setGeolocationProvider:]): Set the GeolocationProvider
- (-[WebView _geolocationProvider]): Return the GeolocationProvider.
- (-[WebView _geolocationDidChangePosition:]): Notify WebCore that the position changed.
- (-[WebView _geolocationDidFailWithError:]): Notify WebCore that an error occured.
- * WebView/WebViewData.h:
- * WebView/WebViewPrivate.h:
-
-2009-12-18 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- REGRESSION(52325) Chromium build broken due to link failure
- https://bugs.webkit.org/show_bug.cgi?id=32753
-
- * WebCoreSupport/WebSystemInterface.m:
- - Chromium Mac builds use this file, but do not
- enable Pre-compiled Header (PCH) files so that
- Chromium build bots can take advantage of the faster
- distcc 3. Eventually all mac builds will likely use
- distcc, but for now we'll add Platform.h here and document
- its usage so it's not removed by accident.
-
-2009-12-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix preference key name.
-
- * WebView/WebPreferenceKeysPrivate.h:
-
-2009-12-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Pass preference to plug-in host.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
-
-2009-12-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add WKPCRunSyncOpenPanel implementation.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCRunSyncOpenPanel):
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2009-12-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a useProxiedOpenPanel WebPreference and tunnel it through to the plug-in host.
-
- * Plugins/Hosted/NetscapePluginHostManager.h:
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::hostForPackage):
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences usesProxiedOpenPanel]):
- (-[WebPreferences setUsesProxiedOpenPanel:]):
- * WebView/WebPreferencesPrivate.h:
-
-2009-12-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Update WebKitSystemInterface for <rdar://problem/7237059>.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2009-12-18 Adam Roben <aroben@apple.com>
-
- Add #includes needed after WebCore clean-up
-
- Rubber-stamped by Anders Carlsson.
-
- Fixes <http://webkit.org/b/32718>.
-
- * WebView/WebFrame.mm:
- * WebView/WebFrameView.mm:
- * WebView/WebView.mm:
-
-2009-12-17 Adam Roben <aroben@apple.com>
-
- Mac build fix
-
- * WebView/WebVideoFullscreenController.mm: Added now-needed #import.
-
-2009-12-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
- Add client based Geolocation provider
-
- Add first cut of a client based Geolocation provider. This is guarded by
- ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
- GeolocationControllerClient interface that no-one currently implements,
- but will in a subsequent patch.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2009-12-10 Jon Honeycutt <jhoneycutt@apple.com>
-
- Mac build fix. Unreviewed.
-
- Re-adds code that was mistakenly removed from my last patch.
-
- * WebCoreSupport/WebPluginHalterClient.mm:
- Add necessary #import.
-
- * WebView/WebDelegateImplementationCaching.h:
- Declare a new overload of CallUIDelegateReturningBoolean.
-
- * WebView/WebDelegateImplementationCaching.mm:
- (CallDelegateReturningBoolean):
- Add a new overload with different arguments.
- (CallUIDelegateReturningBoolean):
- Ditto.
-
-2009-12-10 Jon Honeycutt <jhoneycutt@apple.com>
-
- Pass more information about a plug-in to the PluginHalterDelegate
-
- Reviewed by Adam Roben.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (WebHaltablePlugin::isWindowed):
- Return false - the Mac doesn't really have windowed plug-ins.
- (WebHaltablePlugin::pluginName):
- Return the name from the plug-in package.
-
- * WebCoreSupport/WebPluginHalterClient.h:
- Update for new parameters.
-
- * WebCoreSupport/WebPluginHalterClient.mm:
- (WebPluginHalterClient::shouldHaltPlugin):
- Ditto; pass them when making the delegate call.
-
- * WebView/WebUIDelegatePrivate.h:
- Update for new parameters.
-
-2009-12-08 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/7295070> WebKit video fullscreen keeps playing after closing the window
-
- Fix a leak of the QTMovieView when exiting fullscreen video, and remove the
- old workaround.
-
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController windowDidLoad]): Set the movie view as the contentView directly.
- (-[WebVideoFullscreenController setMediaElement:WebCore::]): Cast the contentView to a movie view.
- (-[WebVideoFullscreenController windowDidExitFullscreen]): Remove the old workaround.
-
-2009-12-08 Dmitry Titov <dimich@chromium.org>
-
- Rubber-stamped by David Levin.
-
- Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
- It may have caused massive increase of reported leaks on the bots.
- https://bugs.webkit.org/show_bug.cgi?id=31639
-
- * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
-
-2009-12-08 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Darin Adler.
-
- Add asserts to RefCounted to make sure ref/deref happens on the right thread.
- https://bugs.webkit.org/show_bug.cgi?id=31639
-
- * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
-
-2009-12-07 Dmitry Titov <dimich@chromium.org>
-
- Rubber-stamped by Darin Adler.
-
- Remove ENABLE_SHARED_SCRIPT flags
- https://bugs.webkit.org/show_bug.cgi?id=32245
- This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-12-07 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7450481> One compositing test keeps DRT in "compositing mode", breaks repaint tests
-
- The counter that WebView used to keep track of the number of enclosed WebHTMLViews using
- accelerated compositing was hard to manage, and maintained incorrectly in a number of cases.
- This caused one compositing test make DumpRenderTree think that all subsequent tests
- were compositing too.
-
- Replace this counter with notifications, which are only fired if a client (DRT) requests them. The
- notification informs the client that a WebHTMLView entered compositing mode (or an already-
- compositing WebHTML was added); it does not say when a view becomes uncomposited, or all
- compositing subviews were removed, since this is tricky to get right.
-
- Change -[WebView _isUsingAcceleratedCompositing] to manually walk the frames, and
- return YES if any document view is composited.
-
- * WebKit.exp:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView close]):
- (-[WebHTMLView viewDidMoveToSuperview]):
- (-[WebHTMLView attachRootLayer:]):
- (-[WebHTMLView detachRootLayer]):
- * WebView/WebView.mm:
- (+[WebView automaticallyNotifiesObserversForKey:]):
- (-[WebView _postsAcceleratedCompositingNotifications]):
- (-[WebView _setPostsAcceleratedCompositingNotifications:]):
- (-[WebView _isUsingAcceleratedCompositing]):
- * WebView/WebViewData.h:
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-2009-12-07 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=32184
- Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
- Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
-
- * WebView/WebView.mm:
- (aeDescFromJSValue):
-
-2009-12-07 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Holger Hans Peter Freyther.
-
- Turn on (SVG) Filters support, by default.
- https://bugs.webkit.org/show_bug.cgi?id=32224
-
- * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag.
-
-2009-12-03 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidPushStateWithinPage):
- (WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
- (WebFrameLoaderClient::dispatchDidPopStateWithinPage):
- * WebView/WebDelegateImplementationCaching.h:
- * WebView/WebFrameLoadDelegatePrivate.h:
- * WebView/WebView.mm:
- (-[WebView _cacheFrameLoadDelegateImplementations]):
-
-2009-12-03 Pavel Feldman <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Simplify the settings support in inspector controller.
-
- https://bugs.webkit.org/show_bug.cgi?id=32076
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController showWindow:]):
- (-[WebInspectorWindowController attach]):
- (-[WebInspectorWindowController detach]):
-
-2009-12-03 Ben Murdoch <benm@google.com>
-
- Reviewed by Brady Eidson.
-
- [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed.
- https://bugs.webkit.org/show_bug.cgi?id=31915
-
- * History/WebHistoryItem.mm:
- (WKNotifyHistoryItemChanged): Update WKNotifyHistoryItemChanged() to add the new HistoryItem parameter added in the WebCore portion of this patch.
- * History/WebHistoryItemInternal.h: ditto.
-
-2009-12-03 Ben Murdoch <benm@google.com>
-
- Reviewed by Brady Eidson.
-
- [Android] The FrameLoaderClient is unaware of BackForwardList changes.
- https://bugs.webkit.org/show_bug.cgi?id=31914
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
- (WebFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
- (WebFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
-
-2009-12-02 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fix a mistake in the previous change
-
- * WebView/WebView.mm:
- (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
- Make sure to include the image types’ view and representation classes
- even when plug-ins are not allowed.
-
-2009-12-02 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Fixed <rdar://problem/7254127> WebKit can load plug-ins even when
- plug-ins are disabled
-
- Ensure that the shared WebPluginDatabase is not instantiated if no
- WebViews are used that have plug-ins enabled.
-
- * DefaultDelegates/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
- Call -[WebView _canShowMIMEType:] on the WebView instead of calling the
- class method.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::canShowMIMEType): Ditto.
- (WebFrameLoaderClient::transitionToCommittedForNewPage): Call
- -[WebFrameView _viewClassForMIMEType:] on the WebView instead of calling
- the class method.
- (WebFrameLoaderClient::objectContentType): Ditto.
-
- * WebView/WebDataSource.mm:
- (+[WebDataSource _representationClassForMIMEType:allowingPlugins:]):
- Added the allowPlugins parameter, which is passed through to
- +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:].
- (-[WebDataSource _makeRepresentation]): Pass an allowPlugins value
- based on the WebView’s preferences.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _makeDocumentViewForDataSource:]): Call
- -[WebFrameView _viewClassForMIMEType:] instead of calling the class
- method.
- (+[WebFrameView _viewClassForMIMEType:allowingPlugins:]): Added the
- allowPlugins parameter, which is passed through to
- +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:].
- (-[WebFrameView _viewClassForMIMEType:]): Added. Passes an allowPlugins
- value based on the WebView’s preferences.
-
- * WebView/WebFrameViewInternal.h:
- * WebView/WebView.mm:
- (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
- Added the allowPlugins parameter. If false, skip the instantiation of
- the shared WebPluginDatabase.
- (-[WebView _viewClass:andRepresentationClass:forMIMEType:]): Pass an
- allowPlugins value based on the WebView’s preferences.
- (+[WebView _canShowMIMEType:allowingPlugins:]): Passes allowPlugins to
- +_viewClass:andRepresentationClass:forMIMEType:allowingPlugins:.
- (+[WebView canShowMIMEType:]): Changed to pass YES to
- +_canShowMIMEType:allowingPlugins:.
- (-[WebView _canShowMIMEType:]): Added. Passes an allowPlugins value
- based on the WebView’s preferences.
- (-[WebView _pluginForMIMEType:]): Return nil if plug-ins are disabled.
- (-[WebView _pluginForExtension:]): Ditto.
- (-[WebView _isMIMETypeRegisteredAsPlugin:]): Return NO if plug-ins are
- disabled.
- * WebView/WebViewInternal.h:
-
-2009-12-02 Timothy Hatcher <timothy@apple.com>
-
- Fixes a crash when scrolling a frame that goes away mid-scroll.
-
- <rdar://problem/7400263>
-
- Reviewed by John Sullivan.
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView scrollWheel:]): Retain self incase the last
- reference is released when calling super.
-
-2009-11-13 Timothy Hatcher <timothy@apple.com>
-
- Migrate DOMHTMLInputElementPrivate.h as a private header.
-
- Reviewed by Darin Adler.
-
- * MigrateHeaders.make:
-
-2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Simon Fraser.
-
- Add SVG animation test framework with 'snapshot' functionality
- https://bugs.webkit.org/show_bug.cgi?id=31897
-
- Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method,
- forwarding the call to SVGDocumentExtensions, if SVG is enabled.
-
- Implemented just like the existing pauseAnimation* methods for CSS animations.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _pauseSVGAnimation:onSMILNode:atTime:]):
- * WebView/WebFramePrivate.h:
-
-2009-12-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Simplify [WebView userAgentForURL:]. No need to call into helper function.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::userAgent):
- * WebView/WebView.mm:
- (-[WebView userAgentForURL:]):
- * WebView/WebViewInternal.h:
-
-2009-11-24 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
-
- WebCore presently has to explicitly specify the world before entering into JSC,
- which is a little fragile (particularly since property access via a
- getter/setter might invoke execution). Instead derive the current world from
- the lexical global object.
-
- Since WebCore no longer needs to explicitly specify the world on entry to JSC DebuggerCallFrame::evaluate can be called directly.
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame evaluateWebScript:]):
-
-2009-11-24 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
- https://bugs.webkit.org/show_bug.cgi?id=31444
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-11-24 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Brady Eidson.
-
- https://bugs.webkit.org/show_bug.cgi?id=31844
- SocketStreamHandleCFNet should support CONNECT proxy credentials
-
- * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add WKSI methods.
-
-2009-11-23 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- DocumentMarkers need to be educated about transforms
- https://bugs.webkit.org/show_bug.cgi?id=31751
-
- Find highlight is incorrect with transforms
- <rdar://problem/6358394>
-
- Allow callers to specify that Frame::selectionTextRects() takes transforms into account
- when computing the set of rects that encompass a selection. For transformed elemenets, the
- selection rect will be the bounding box of the selected content.
-
- Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView selectionTextRects]):
- Pass RespectTransforms to get a list of rects with transforms taken into account.
-
-2009-11-23 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Adam Roben.
-
- <rdar://problem/7401503>
-
- Added a workaround for plug-ins not drawing immediately.
-
- * Plugins/WebBaseNetscapePluginView.mm: Added new constant.
- (-[WebBaseNetscapePluginView _clearSubstituteImage]): Added.
- (-[WebBaseNetscapePluginView resumeFromHalt]): Call above new method.
-
-2009-11-20 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Darin Adler.
-
- Make sure to export WebSerializedJSValue.
-
- * WebKit.exp:
-
-2009-11-20 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Oliver Hunt and Jon Honeycutt.
-
- Add support for WebSerializedJSValue to WebKit. This object wraps the SerializedScriptValue functionality in WebCore
- and exposes the ability to do JS value serialization/deserialization to WebKit clients.
-
- * WebView/WebSerializedJSValue.h: Added.
- * WebView/WebSerializedJSValue.mm: Added.
- (-[WebSerializedJSValue initWithValue:context:]):
- (-[WebSerializedJSValue deserialize:]):
- (-[WebSerializedJSValue dealloc]):
-
-2009-11-20 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- WAI-ARIA: add support for 'math' role
- https://bugs.webkit.org/show_bug.cgi?id=31706
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory AXARIAContentGroupText:]):
-
-2009-11-19 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/7035231>
- Support closed caption in <video> element
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
- Add QTMovieHasClosedCaptions and QTMovieSetShowClosedCaptions.
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory localizedMediaControlElementString:]):
- (-[WebViewFactory localizedMediaControlElementHelpText:]):
- Add accessibility help strings for media controller closed caption button.
-
-2009-11-18 Michelangelo De Simone <micdesim@gmail.com>
-
- Reviewed by Darin Adler.
-
- Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
- Support for validationMessage attribute, as per HTML5 specs.
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory validationMessageValueMissingText]):
- (-[WebViewFactory validationMessageTypeMismatchText]):
- (-[WebViewFactory validationMessagePatternMismatchText]):
- (-[WebViewFactory validationMessageTooLongText]):
- (-[WebViewFactory validationMessageRangeUnderflowText]):
- (-[WebViewFactory validationMessageRangeOverflowText]):
- (-[WebViewFactory validationMessageStepMismatchText]):
-
-2009-11-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Make the Mac Geolocation API async.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::requestGeolocationPermissionForFrame):
- (-[WebGeolocationPolicyListener initWithGeolocation:]):
- (-[WebGeolocationPolicyListener allow]):
- (-[WebGeolocationPolicyListener deny]):
- Add WebGeolocationPolicyListener implementation of the new WebGeolocationPolicyListener
- protocol and use if to implement requestGeolocationPermissionForFrame using the new async
- API.
-
- * WebCoreSupport/WebGeolocation.mm: Removed.
- * WebCoreSupport/WebGeolocationInternal.h: Removed.
- * WebCoreSupport/WebGeolocationMock.mm: Remove bogus include.
- * WebCoreSupport/WebGeolocationPrivate.h: Removed.
- * WebView/WebUIDelegatePrivate.h: Remove requestGeolocationPermission and add
- WebGeolocationPolicyListener protocol and decidePolicyForGeolocationRequestFromOrigin delegate
- method.
-
-2009-11-18 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Add Preferences for WebKitShowDebugBorders and WebKitShowRepaintCounter
- https://bugs.webkit.org/show_bug.cgi?id=31601
-
- These are used to debug accelerated compositing layers
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences showDebugBorders]):
- (-[WebPreferences setShowDebugBorders:]):
- (-[WebPreferences showRepaintCounter]):
- (-[WebPreferences setShowRepaintCounter:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2009-11-17 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
- - Updated DRT to show/close inspector for all tests under /inspector
- - Introduced LayoutTestController::setTimelineProfilingEnabled and
- WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
- - Removed reload on each inspector test
- - Renamed fast/inspector to fast/inspector-support in order not to trigger
- inspector for those.
- - Reimplemented timeline tests in order to get rid of reload there.
- - Moved tests that don't require harness into the fast group.
-
- https://bugs.webkit.org/show_bug.cgi?id=31472
-
- * WebInspector/WebInspector.h:
- * WebInspector/WebInspector.mm:
- (-[WebInspector isTimelineProfilingEnabled]):
- (-[WebInspector setTimelineProfilingEnabled:]):
-
-2009-11-14 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- Need to implement ARIA role="directory"
- https://bugs.webkit.org/show_bug.cgi?id=31516
-
- Fix a spelling error in the comment of a localized (accessibility) string.
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory AXARIAContentGroupText:]):
-
-2009-11-14 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <rdar://problem/7287487>
- Do not use QuickTime version to detect media controller theme
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Initialize wkMediaControllerThemeAvailable.
-
-2009-11-13 Adam Roben <aroben@apple.com>
-
- Tell the WebFrameLoadDelegate when window objects in isolated worlds
- are cleared
-
- Fixes <http://webkit.org/b/31124>.
-
- Reviewed by Dave Hyatt.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
- Replaced windowObjectCleared with this function. If the delegate
- implements it, call
- -webView:didClearWindowObjectForFrame:inScriptWorld:. Otherwise, if
- the passed-in world is the mainThreadNormalWorld(), call
- -webView:didClearWindowObject:forFrame:.
-
- * WebView/WebDelegateImplementationCaching.h: Added a new entry in the
- frame load delegate implementation cache for the new delegate method.
-
- * WebView/WebFrameLoadDelegatePrivate.h:
- * WebView/WebScriptWorld.mm:
- (allWorlds): Added. Returns a HashMap of all the WebScriptWorlds in
- existence.
- (-[WebScriptWorld initWithWorld:]): Add ourselves to allWorlds().
- (-[WebScriptWorld dealloc]): Remove ourselves from allWorlds().
- (+[WebScriptWorld findOrCreateWorld:]): Returns the existing
- WebScriptWorld for this DOMWrapperWorld, or a new one if one doesn't
- already exist.
-
- * WebView/WebScriptWorldInternal.h: Declared +findOrCreateWorld:.
-
- * WebView/WebView.mm:
- (-[WebView _cacheFrameLoadDelegateImplementations]): Cache the
- implementation of the new frame load delegate method.
-
-2009-11-13 Adam Roben <aroben@apple.com>
-
- Finish replacing worldIDs with world objects
-
- The only remaining use of worldIDs was in a method only used by DRT
- for the isolated worlds tests.
-
- Fixes <http://webkit.org/b/31414> Replace worldIDs with world objects
-
- Reviewed by Mark Rowe.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
- * WebView/WebFramePrivate.h:
- Renamed from
- _stringByEvaluatingJavaScriptInIsolatedWorld:WithGobalObject:FromString:.
- Now takes a WebScriptWorld instead of a worldID, so we don't need to
- maintain a map of worldID -> world anymore.
-
-2009-11-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adele Peterson.
-
- When exiting full-screen video, rather than resetting the system UI
- mode, restore it to what it was when full-screen mode was entered.
-
- * WebView/WebVideoFullscreenController.h: Cleaned up style, removed
- unnecessary imports, and added _savedUIMode and _savedUIOptions ivars.
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController delegate]): Cleaned up style.
- (-[WebVideoFullscreenController setDelegate:]): Ditto.
- (-[WebVideoFullscreenController windowDidExitFullscreen]): Restore the
- system UI mode.
- (-[WebVideoFullscreenController windowDidEnterFullscreen]): Save the
- system UI mode.
- * WebView/WebView.mm: Added now-necessary import.
-
-2009-11-12 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- externalRepresentation should take Frame as the argument
- https://bugs.webkit.org/show_bug.cgi?id=31393
-
- No new tests as this is just a refactoring.
-
- * Misc/WebCoreStatistics.mm:
- (-[WebFrame renderTreeAsExternalRepresentation]):
-
-2009-11-12 Adam Roben <aroben@apple.com>
-
- Replace worldIDs with world objects
-
- WebScriptWorld is the new object that represents a world. The only
- place worldID is still used is in -[WebFrame
- _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:],
- but that will change soon.
-
- Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
- user scripts/stylesheets and isolated worlds
-
- Reviewed by Sam Weinig.
-
- * WebKit.exp: Export WebScriptWorld.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:]):
- Moved the bizarre world caching/creation logic that DRT depends on
- here from the findWorld function in ScriptController.cpp. Updated to
- use ScriptController::executeScriptInWorld instead of
- ScriptController::executeScriptInIsolatedWorld.
- (-[WebFrame _contextForWorld:]): Renamed from contextForWorldID:. Now
- takes a WebScriptWorld.
-
- * WebView/WebFramePrivate.h: Replaced contextForWorldID: with
- _contextForWorld:.
-
- * WebView/WebScriptWorld.h: Added.
- * WebView/WebScriptWorld.mm: Added.
- (-[WebScriptWorld initWithWorld:]): Store the passed-in world in our
- _private member.
- (-[WebScriptWorld init]): Create a new DOMWrapperWorld and pass it to
- -initWithWorld:.
- (-[WebScriptWorld dealloc]): Release _private.
- (+[WebScriptWorld standardWorld]): Returns a shared instance that
- represents WebCore's mainThreadNormalWorld().
- (+[WebScriptWorld world]): Returns a new instance.
- (core): Returns the DOMWrapperWorld for this WebScriptWorld.
-
- * WebView/WebScriptWorldInternal.h: Added.
-
- * WebView/WebView.mm:
- (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
- (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
- (+[WebView _removeUserScriptFromGroup:world:url:]):
- (+[WebView _removeUserStyleSheetFromGroup:world:url:]):
- (+[WebView _removeUserScriptsFromGroup:world:]):
- (+[WebView _removeUserStyleSheetsFromGroup:world:]):
- * WebView/WebViewPrivate.h:
- Changed these functions to take a WebScriptWorld instead of a worldID.
-
-2009-11-12 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- ARIA: add alert type roles
- https://bugs.webkit.org/show_bug.cgi?id=31392
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory AXARIAContentGroupText:]):
-
-2009-11-10 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=30754
-
- Removed method draggedImage:movedTo:
-
- * WebView/WebFrame.mm:
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.mm:
-
-2009-11-10 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
-
- Small WebKit part of:
- Fix for <rdar://problem/7059710>
- -and corresponding-
- https://bugs.webkit.org/show_bug.cgi?id=31196 Implement -webkit-
- color-correction for CSS colors
-
- * Misc/WebKitNSStringExtras.mm:
- (-[NSString _web_drawAtPoint:font:textColor:]): setFillColor now
- requires callers to pass a ColorSpace.
-
-2009-11-10 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Eric Carlson and Darin Adler.
-
- WebKit part of making full-screen video pause during scrubbing.
-
- * WebView/WebVideoFullscreenHUDWindowController.h: Added _isScrubbing
- ivar.
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController dealloc]): Assert that
- _isScrubbing is NO.
- (-[WebVideoFullscreenHUDWindowController endScrubbing]): Call
- HTMLMediaElement::endScrubbing().
- (-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]):
- If scrubbing has just begun, call HTMLMediaElement::beginScrubbing()
- and schedule -endScrubbing to be called when mouse tracking ends.
-
-2009-11-09 Mark Mentovai <mark@chromium.org>
-
- Reviewed by Dan Bernstein.
-
- Track "can have scrollbar" state within FrameView independently of the
- individual scrollbar states in ScrollView.
-
- rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
- REGRESSION (r48064): mint.com loses scrollbars after coming out of
- edit mode.
-
- rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
- REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
-
- Test: fast/overflow/scrollbar-restored.html
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _install]):
-
-2009-11-08 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Eric Carlson.
-
- Made the full-screen video HUD appear when playback stops, such as when
- the end of the video is reached.
-
- * WebView/WebVideoFullscreenHUDWindowController.h: Cleaned up.
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Updated
- for the renaming of -updateRate to -updatePlayButton.
- (-[WebVideoFullscreenHUDWindowController updatePlayButton]): Renamed
- -updateRate to this.
- (-[WebVideoFullscreenHUDWindowController updateRate]): This method now
- responds to changes to the playback rate by updating the play button
- and showing or hiding the HUD as necessary.
- (-[WebVideoFullscreenHUDWindowController togglePlaying:]): Now only
- toggles playing. UI updates are driven by -updateRate being called.
- (-[WebVideoFullscreenHUDWindowController playing]): Cleaned up.
-
-2009-11-02 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by John Sullivan and Mark Rowe.
-
- <rdar://problem/7356733> Voiceover does not read correct media controller time values
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory localizedMediaTimeDescription:]):
-
-2009-11-02 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Made the remaining time display show negative zero at the end of the
- video.
-
- Made other cleanup.
-
- * WebView/WebVideoFullscreenHUDWindowController.h: Reverted the types of
- _timeline and _volumeSlider to the more generic NSControl.
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Cleaned
- up style.
- (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Added an
- assertion that the cast to NSButton * is legal. Removed casts.
- (-[WebVideoFullscreenHUDWindowController updateTime]): Use
- -setValue:forKey: instead of an NSSlider method.
- (timeToString): Changed to support only non-negative values and
- simplified.
- (-[WebVideoFullscreenHUDWindowController remainingTimeText]): Always
- prepend a “-” to the time.
-
-2009-11-02 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- WebKit part of making the appearance of the full-screen video HUD match
- QuickTime Player X’s HUD.
-
- * WebView/WebVideoFullscreenHUDWindowController.h: Removed unnecessary
- #import statements, cleaned up style, and changed _timeline,
- _volumeSlider and _playButton to have more specific types.
- * WebView/WebVideoFullscreenHUDWindowController.mm: Updated #import
- statements.
- (webkit_CGFloor): Added this helper function.
- (-[WebVideoFullscreenHUDWindowController init]): Cleaned up style.
- (createTimeTextField): Changed to use the bold system font.
- (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Changed the
- subviews’ metrics and the text fields’ text alignment.
- (-[WebVideoFullscreenHUDWindowController updateTime]): Avoid conversion
- from double to float.
- (stringToTimeTextAttributed): Removed this useless function that
- returned an NSAttributedString masquerading as an NSString.
- (-[WebVideoFullscreenHUDWindowController remainingTimeText]): Removed
- call to stringToTimeTextAttributed().
- (-[WebVideoFullscreenHUDWindowController elapsedTimeText]): Ditto.
-
-2009-11-02 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- Support ARIA "tab" roles
- https://bugs.webkit.org/show_bug.cgi?id=30842
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory AXARIAContentGroupText:]):
-
-2009-11-01 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- Made the space bar toggle playing state in full-screen video when
- modifier keys are down. Made it do so without highlighting the
- Play/Pause button.
-
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController keyDown:]):
-
-2009-11-01 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- Made the full-screen video HUD respond to the up and down arrow keys by
- increasing and decreasing the volume by 1/10 of the range or, when
- combined with the Option key, all the way up or down.
-
- Made the volume buttons in the full-screen video HUD match the behavior
- of their equivalents in the QuickTime Player HUD by turning the volume
- all the way up or down.
-
- Made the volume slider update immediately when the keyboard or volume
- buttons are used to change the volume, rather than at the nearest 1/4
- second interval.
-
- Made the elapsed and remaining time displays update immediately when the
- play head is dragged across the timeline, rather than at 1/4 second
- intervals.
-
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController keyDown:]): Handle the up and
- down arrow keys.
- (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Changed the
- actions of the volume up and volume down buttons.
- (-[WebVideoFullscreenHUDWindowController setCurrentTime:]): Call
- -updateTime.
- (-[WebVideoFullscreenHUDWindowController setVolumeToZero:]): Added this
- action for the volume down button.
- (-[WebVideoFullscreenHUDWindowController setVolumeToMaximum:]): Added
- this action for the volume up button.
- (-[WebVideoFullscreenHUDWindowController decrementVolume]): No longer
- and action method.
- (-[WebVideoFullscreenHUDWindowController incrementVolume]): Ditto.
- (-[WebVideoFullscreenHUDWindowController setVolume:]): Call
- -updateVolume.
-
-2009-10-30 Evan Stade <estade@chromium.org>
-
- Reviewed by David Levin.
-
- Notify the chrome when the focused node has changed.
- https://bugs.webkit.org/show_bug.cgi?id=30832
-
- Added stub implementation for new ChromeClient function.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::focusedNodeChanged):
-
-2009-10-30 Roland Steiner <rolandsteiner@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.
-
- Bug 28420 - Implement HTML5 <ruby> rendering
- (https://bugs.webkit.org/show_bug.cgi?id=28420)
-
- No new tests (no functional change).
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-10-29 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Validate the stopSpeaking: selector so that is not always enabled when a WebView is first responder.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
-
-2009-10-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=30932
- <rdar://problem/7350269>
-
- REGRESSION: Crash when turning on Private Browsing on site with flash.
-
- Null check setValue.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView privateBrowsingModeDidChange]):
-
-2009-10-29 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Kevin Decker.
-
- Refactor some duplicate plug-in clean up code into shared functions.
-
- * Plugins/WebPluginController.mm:
- (-[WebPluginController stopOnePlugin:]): New, stop a plug-in.
- (-[WebPluginController destroyOnePlugin:]): New, destroy plug-in.
- (-[WebPluginController stopAllPlugins]): Call stopOnePlugin.
- (-[WebPluginController destroyPlugin:]): Call stopOnePlugin and destroyOnePlugin.
- (-[WebPluginController destroyAllPlugins]): Call destroyOnePlugin.
-
-2009-10-28 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7303145>
- Can't exit full screen mode or restart movie after pressing command -R.
-
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController _requestExit]):
- New, call media element's exitFullscreen method.
- (-[WebVideoFullscreenController requestExitFullscreenWithAnimation:]):
- Call mediaElement->exitFullscreen() after a delay as it turns around and calls
- WebVideoFullscreenController:exitFullscreen.
-
- * WebView/WebVideoFullscreenHUDWindowController.h:
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindow resignFirstResponder]):
- New, don't give up responder status.
- (-[WebVideoFullscreenHUDWindow performKeyEquivalent:]):
- New, block all command key events.
- (-[WebVideoFullscreenHUDWindowController exitFullscreen:]):
- Remember when we are in the process of exiting fullscreen, don't allow recursion.
-
- * WebView/WebView.mm:
- (-[WebView _exitFullscreen]):
- Early return if fullscreen controller is nil.
-
- * WebView/WebWindowAnimation.h:
- Correct comment about _window retain status.
- * WebView/WebWindowAnimation.m:
- (-[WebWindowScaleAnimation dealloc]):
- Don't release _window, we never reatained it.
-
-2009-10-27 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Provide a way to get counter values with layoutTestContoller
- https://bugs.webkit.org/show_bug.cgi?id=30555
-
- Add counterValueForElement in WebFrame to call WebCore::counterValueForElement.
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (-[WebFrame counterValueForElement:]):
-
-2009-10-27 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Updated for refactoring in the date code.
-
- * WebView/WebView.mm:
- (aeDescFromJSValue): Since we just want a number of milliseconds, do that
- instead of something more complicated.
-
-2009-10-26 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Move some WebView event handling code into its own file, WebViewEventHandling.mm
-
- * WebView/WebView.mm:
- (-[WebView _close]):
- (-[WebView _selectedOrMainFrame]):
- * WebView/WebViewEventHandling.mm: Added.
- (-[WebView _closingEventHandling]):
- (-[WebView _setMouseDownEvent:]):
- (-[WebView mouseDown:]):
- (-[WebView mouseUp:]):
- (+[WebView _updateMouseoverWithEvent:]):
- (-[WebView _updateMouseoverWithFakeEvent]):
- (_updateMouseoverWithEvent:fakeEvent::if):
- (-[WebView _stopAutoscrollTimer]):
- (-[WebView _setToolTip:]):
- * WebView/WebViewInternal.h:
-
-2009-10-26 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/6988966> Hardware layers do not show up in page snapshots
-
- * WebView/WebHTMLViewPrivate.h:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _compositingLayersHostingView]):
- Add a private method that returns the NSView used to host compositing layers.
-
-2009-10-23 Mark Rowe <mrowe@apple.com>
-
- Fix engineering builds in the mysterious future.
-
- * Configurations/DebugRelease.xcconfig:
-
-2009-10-23 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=30729
- Provide private API to request the global context for a specific world.
- Used to initialize parameters on the global object.
-
- * WebView/WebFramePrivate.h:
- * WebView/WebFrame.mm:
- (-[WebFrame contextForWorldID:]):
-
-2009-10-22 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/7322847>
- Pressing space bar key in full screen mode should pause movie but doesn't
-
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController keyDown:]): New, toggle playback on space key.
- (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Play button action is now called togglePlaying.
- (-[WebVideoFullscreenHUDWindowController togglePlaying:]): Rename from playingChanged.
-
-2009-10-22 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (build fix).
- Build fix following bug #30696.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
- (WebKit::NetscapePluginInstanceProxy::getProperty):
- (WebKit::NetscapePluginInstanceProxy::setProperty):
- (WebKit::NetscapePluginInstanceProxy::removeProperty):
- (WebKit::NetscapePluginInstanceProxy::hasProperty):
- (WebKit::NetscapePluginInstanceProxy::hasMethod):
- (WebKit::NetscapePluginInstanceProxy::enumerate):
-
-2009-10-16 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig & Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=30696
- Update to incorporate support for IsolatedWorlds in JSC bindings.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _attachScriptDebugger]):
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- (-[WebFrame globalContext]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView/WebView.mm:
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
-
-2009-10-22 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Dan Bernstein & Simon Fraser.
-
- <rdar://problem/7297717>
- https://bugs.webkit.org/show_bug.cgi?id=30323
- Play/pause button in full-screen video controller does not reflect current state
-
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController setMediaElement:WebCore::]): Register for QTMovieRateDidChangeNotification
- (-[WebVideoFullscreenController rateChanged:]): Call HUD controller when rate changes.
-
- * WebView/WebVideoFullscreenHUDWindowController.h:
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Call updateRate so play button
- reflects playback state.
- (-[WebVideoFullscreenHUDWindowController updateRate]): New, set play button state according to
- movie state.
- (-[WebVideoFullscreenHUDWindowController playingChanged:]): Only call [self playing] once.
-
-2009-10-21 John Sullivan <sullivan@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- * WebView/WebDynamicScrollBarsView.h:
- Corrected a couple of long-obsolete comments regarding Safari's use of this class.
-
-2009-10-20 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- <rdar://problem/7319749> REGRESSION(r49806): Contextual Menu items missing
- https://bugs.webkit.org/show_bug.cgi?id=30568
-
- Revert accidental change from r49806.
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::getCustomMenuFromDefaultItems):
-
-2009-10-20 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by David Levin.
-
- Removed WebSocket runtime settings.
- https://bugs.webkit.org/show_bug.cgi?id=29896
-
- WebSocket runtime configuration is supported by chromium/v8 only.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2009-10-19 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Update call to loadFrameRequest to match new parameters.
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Update call to loadFrameRequest.
-
-2009-10-19 David Kilzer <ddkilzer@apple.com>
-
- Documentation fix for -[NSObject(WebResourceLoadDelegate) webView:resource:willSendRequest:redirectResponse:fromDataSource:]
-
- Reviewed by Dan Bernstein.
-
- * WebView/WebResourceLoadDelegate.h: Prepended "webView:" to the
- @method declaration of
- -webView:resource:willSendRequest:redirectResponse:fromDataSource:
- which was absent before r3953 and was missed during the great
- documentation clean up of r4269.
-
-2009-10-19 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
-
-2009-10-19 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Split assertions of conjunctions into separate statements or remove
- redundant assertions.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::deadNameNotificationCallback):
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView setAttributeKeys:andValues:]):
- (-[WebHostedNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView halt]):
- (-[WebBaseNetscapePluginView resumeFromHalt]):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::getCustomMenuFromDefaultItems):
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::checkGrammarOfString):
- (WebEditorClient::checkTextOfParagraph):
- * WebView/WebTextCompletionController.mm:
- (-[WebTextCompletionController _reflectSelection]):
-
-2009-10-18 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/7309062> Crashes in WebCore::DocumentLoader::isStopping below WebKit::NetscapePluginInstanceProxy::loadRequest.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::loadRequest): Null-check the DocumentLoader before deferencing it.
-
-2009-10-16 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- <rdar://problem/7304575>
-
- * Plugins/WebBaseNetscapePluginView.h: Added new boolean ivar and -hasBeenHalted instance method.
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView halt]):Update _hasBeenHalted.
- (-[WebBaseNetscapePluginView hasBeenHalted]): Added.
- * WebView/WebView.mm:
- (+[WebView _hasPluginForNodeBeenHalted:]): Checks to see if a plug-in node's been halted.
- * WebView/WebViewPrivate.h: Added -_hasPluginForNodeBeenHalted method.
-
-2009-10-16 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlson.
-
- Small code cleanup
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (WebHaltablePlugin::halt): Just call -[WebBaseNetscapePluginView halt].
- (WebHaltablePlugin::restart): Just call -[WebBaseNetscapePluginView resumeFromHalt]
- (-[WebBaseNetscapePluginView halt]):
- (-[WebBaseNetscapePluginView resumeFromHalt]):
- * WebView/WebView.mm:
- (_pluginViewForNode): Added a check if a render is a widget. This prevents a later assertion.
-
-2009-10-16 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlson.
-
- Last part of:
- <rdar://problem/7273354>
-
- * WebView/WebView.mm:
- (_pluginViewForNode): Added with code extracted from _isNodeHaltedPlugin
- (+[WebView _isNodeHaltedPlugin:]): Made this a class method.
- (+[WebView _restartHaltedPluginForNode:]): Added. Restarts a plug-in
- * WebView/WebViewPrivate.h: Added +_restartHaltedPluginForNode to header.
-
-2009-10-16 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders.
-
- <rdar://problem/7273354>
-
- * Plugins/WebBaseNetscapePluginView.h: Added _isHalted ivar and three new methods: -halt, -resumeFromHalt, and -isHalted
- * Plugins/WebBaseNetscapePluginView.mm:
- (WebHaltablePlugin::halt): Call -halt instead of -stop.
- (WebHaltablePlugin::restart):Call -resumeFromHalt instead of -start.
- (-[WebBaseNetscapePluginView halt]): Added. Stop the plug-in, update _isHalted.
- (-[WebBaseNetscapePluginView resumeFromHalt]): Added. Start the plug-in, update _isHalted.
- (-[WebBaseNetscapePluginView isHalted]): Added.
- * WebView/WebView.mm:
- (-[WebView _isNodeHaltedPlugin:]): Added. Queries a DOMNode to determine if it's a halted plug-in.
- * WebView/WebViewPrivate.h: Added _isNodeHaltedPlugin.
-
-2009-10-15 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Adele Peterson.
-
- <rdar://problem/7306052> Fullscreen max/min volume buttons non-functional
-
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Set volume buttons target and action.
- (-[WebVideoFullscreenHUDWindowController decrementVolume:]): New, decrement the volume by 10%.
- (-[WebVideoFullscreenHUDWindowController incrementVolume:]): New, increment the volume by 10%.
-
-2009-10-15 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode
-
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController setVolume:]): Unmute movie before changing volume.
-
-2009-10-14 Kevin Decker <kdecker@apple.com>
-
- Unbreak the world.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (WebHaltablePlugin::restart):
-
-2009-10-14 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlsson and Jon Honeycutt
-
- <rdar://problem/7304295> snapshots of halted plug-ins are missing
-
- * Plugins/WebBaseNetscapePluginView.mm: Move bodies of WebHaltablePlugin virtual functions from WebHaltablePlugin class definition.
- (WebHaltablePlugin::halt): Provide a substitute image to the RenderWidget for the plug-in view.
- (WebHaltablePlugin::restart): Clear the substitute image.
-
-2009-10-13 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Adam Roben.
-
- Change the order of arguments on some methods. Split removal for user stylesheets and script into
- separate functions based off the type of object being removed.
-
- * WebView/WebView.mm:
- (+[WebView _addUserScriptToGroup:worldID:source:url:whitelist:blacklist:injectionTime:]):
- (+[WebView _addUserStyleSheetToGroup:worldID:source:url:whitelist:blacklist:]):
- (+[WebView _removeUserScriptFromGroup:worldID:url:]):
- (+[WebView _removeUserStyleSheetFromGroup:worldID:url:]):
- (+[WebView _removeUserScriptsFromGroup:worldID:]):
- (+[WebView _removeUserStyleSheetsFromGroup:worldID:]):
- * WebView/WebViewPrivate.h:
-
-2009-10-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/6660507> Add "privacy mode" to Netscape Plug-in API
-
- Listen for WebPreferences notifications and update the _isPrivateBrowsingEnabled ivar
- when the value changes. Also call -[WebBaseNetscapePluginView privateBrowsingModeDidChange] when the
- value changes. In process this just calls NPP_SetValue, and OOP it sends a MIG message to the plug-in host.
-
- * Plugins/Hosted/NetscapePluginHostManager.h:
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::privateBrowsingModeDidChange):
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView createPlugin]):
- (-[WebHostedNetscapePluginView privateBrowsingModeDidChange]):
- * Plugins/Hosted/WebKitPluginHost.defs:
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView privateBrowsingModeDidChange]):
- (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
- (-[WebBaseNetscapePluginView preferencesHaveChanged:]):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView privateBrowsingModeDidChange]):
- (-[WebNetscapePluginView getVariable:value:]):
-
-2009-10-12 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- Video keeps playing after going fullscreen, then closing window
- https://bugs.webkit.org/show_bug.cgi?id=30164
-
- Clear the QTMovie on the QTMovieView when coming out of fullscreen,
- to fix issue where the underlying movie keeps playing.
-
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController windowDidExitFullscreen]):
-
-2009-10-11 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7294267> REGRESSION (r48492): Gmail voice and video chat
- doesn’t work
- https://bugs.webkit.org/show_bug.cgi?id=30295
-
- Test: plugins/setProperty.html
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::setFieldValue): Fixed a typo. The function
- should return early if m_instanceProxy is null.
-
-2009-10-09 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Factor HistoryController out of FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=30246
-
- Update API call.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::restoreViewState):
- * WebView/WebView.mm:
- (-[WebView _loadBackForwardListFromOtherView:]):
-
-2009-10-09 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Brady Eidson.
-
- <rdar://problem/7290671> Crash after navigating away from a page with subframe containing plug-in
-
- At the time that -stop is called on a WebBaseNetscapePluginView that is contained within a subframe
- the WebFrame's data source has been zeroed out. This was causing -[WebBaseNetscapePluginView webFrame]
- to return nil during -stop, preventing the plug-in view from unregistering itself from the PluginHalter.
- We fix this by having -webFrame retrieve the frame directly rather than retrieving it from the data source.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView dataSource]): Get the data source from the WebFrame.
- (-[WebBaseNetscapePluginView webFrame]): Get the Frame directly from the element's document rather
- than taking a windy route through the WebDataSource.
-
-2009-10-09 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add SPI to specifically enable visited link tracking.
-
- * History/WebHistory.mm:
- (+[WebHistory _setVisitedLinkTrackingEnabled:]):
- * History/WebHistoryPrivate.h:
-
-2009-10-08 Jon Honeycutt <jhoneycutt@apple.com>
-
- Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking
- for the existence of a PluginHalterDelegate.
-
- Reviewed by Dan Bernstein.
-
- * WebCoreSupport/WebPluginHalterClient.h:
- Add declaration for new function.
-
- * WebCoreSupport/WebPluginHalterClient.mm:
- (WebPluginHalterClient::enabled):
- Check whether the UIDelegate responds to shouldHaltPlugin.
-
- * WebView/WebPreferenceKeysPrivate.h:
- Remove the "enabled" preference key.
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- Remove the initialization of the pref.
-
- * WebView/WebPreferencesPrivate.h:
- Remove the getter/setter for this pref.
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
- Remove propagation of the pref.
-
-2009-10-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move executeScript from FrameLoader to ScriptController
- https://bugs.webkit.org/show_bug.cgi?id=30200
-
- Update API call.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- * WebView/WebView.mm:
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
-
-2009-10-08 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Ask the History Delegate to populate the visited links hash.
- <rdar://problem/7285293> and https://webkit.org/b/29904
-
- * History/WebHistory.mm:
- (+[WebHistory _removeAllVisitedLinks]):
- * History/WebHistoryPrivate.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::populateVisitedLinks):
- * WebView/WebDelegateImplementationCaching.h:
- * WebView/WebDelegateImplementationCaching.mm:
- (CallHistoryDelegate):
- * WebView/WebHistoryDelegate.h:
- * WebView/WebView.mm:
- (-[WebView _cacheHistoryDelegateImplementations]):
- (-[WebView addVisitedLinks:]):
- * WebView/WebViewPrivate.h:
-
-2009-10-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove the shouldLoadMediaElementURL implementation.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebView/WebPolicyDelegatePrivate.h:
-
-2009-10-07 Simon Fraser <simon.fraser@apple.com>
-
- Re-land 49269-49271 since reverting them did not fix the tests.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawRect:]):
-
-2009-10-07 Simon Fraser <simon.fraser@apple.com>
-
- Revert 49269-49271 to see if it fixes test failures on SnowLeopard that do not
- reproduce locally.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawRect:]):
-
-2009-10-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Factor PolicyChecker out of FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=30155
-
- Move the policy callback to the policy object.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchWillSubmitForm):
- (WebFrameLoaderClient::receivedPolicyDecison):
-
-2009-10-07 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- Send title changes to the global history delegate.
- <rdar://problem/7285293> and https://webkit.org/b/29904
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::setTitle):
- * WebView/WebDelegateImplementationCaching.h:
- * WebView/WebHistoryDelegate.h:
- * WebView/WebView.mm:
- (-[WebView _cacheHistoryDelegateImplementations]):
-
-2009-10-07 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- Make the setMetadataURL function foolproof by having it remove user info
- https://bugs.webkit.org/show_bug.cgi?id=30178
- rdar://problem/6544670
-
- * Misc/WebNSFileManagerExtras.m:
- (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]):
- Call _web_URLByRemovingUserInfo on the passed in URL string after converting
- it to a URL, and then convert it back to a string.
-
- * Misc/WebNSURLExtras.h: Added _web_URLByRemovingUserInfo.
- * Misc/WebNSURLExtras.mm: Removed unused WebKitURLComponents struct.
- (-[NSURL _web_URLByTruncatingOneCharacterBeforeComponent:]): Renamed to be
- clearer on what this does.
- (-[NSURL _webkit_URLByRemovingFragment]): Changed to call new name.
- (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Ditto.
- (-[NSURL _web_URLByRemovingComponentAndSubsequentCharacter:]): Added.
- (-[NSURL _web_URLByRemovingUserInfo]): Added.
-
-2009-10-07 Simon Fraser <simon.fraser@apple.com>
-
- Make Dan Bernstein happy.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawRect:]):
-
-2009-10-07 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Avoid Obj-C message dispatch when possible by storing accessed objects
- in local variables.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawRect:]):
-
-2009-10-07 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Animation stalls for a few seconds partway through
- https://bugs.webkit.org/show_bug.cgi?id=30182
-
- Make sure that we only call -disableScreenUpdatesUntilFlush when a window
- update is actually going to happen, otherwise screen updates are disabled
- for too long.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawRect:]):
-
-2009-10-06 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: default to an attached inspector window on Windows (as on Mac).
-
- https://bugs.webkit.org/show_bug.cgi?id=30134
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController showWindow:]):
-
-2009-10-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move FrameLoader::canLoad to SecurityOrigin
- https://bugs.webkit.org/show_bug.cgi?id=30111
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::loadRequest):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::WebNetscapePluginStream):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
- * Plugins/WebPluginContainerCheck.mm:
- (-[WebPluginContainerCheck _isForbiddenFileLoad]):
- * WebView/WebFrame.mm:
- (-[WebFrame _allowsFollowingLink:]):
-
-2009-10-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move setLocalLoadPolicy and friends to SecurityOrigin
- https://bugs.webkit.org/show_bug.cgi?id=30110
-
- Call the new API.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2009-10-06 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Mark Rowe.
-
- accessibility/media-element.html crashes (and has incorrect result)
- https://bugs.webkit.org/show_bug.cgi?id=30108
-
- Fix up the accessibilty label for the newly added fullscreen button,
- and update the test result accordingly.
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory localizedMediaControlElementString:]):
- Handle "ControlsPanel" which is just an empty container, to avoid
- asserting in debug builds.
-
-2009-10-06 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=30107
-
- Fixes an issue where the Mac build does return the correct drop effect
- with respect to the HTML 5 specification when effectAllowed == "none".
-
- Currently, when effectAllowed == "none" and dropEffect == "copy" or
- dropEffect == "move" the resulting drop effect is "copy" and "move",
- respectively. However, the HTML 5 specification states that regardless
- of the specified dropEffect, when effectAllowed == "none" the resulting
- drop effect should be "none".
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
-
-2009-10-06 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: close inspector client view on
- InspectorController::close API call.
-
- In order to run batch web inspector layout tests (and not affect
- subsequent tests) we should close inspector client's view upon
- InspectorController::close API call.
-
- https://bugs.webkit.org/show_bug.cgi?id=30009
-
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::createPage):
-
-2009-10-05 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- Moved a WebPluginHalterClient out of the WebCore namesapce.
-
- * WebCoreSupport/WebPluginHalterClient.h:
-
-2009-10-05 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Added new PluginHalter client, delegate and few more WebPreferences keys.
-
- * WebView/WebPreferenceKeysPrivate.h: Added two new keys.
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Initialize newly added key.
- (-[WebPreferences pluginAllowedRunTime]): Added.
- (-[WebPreferences setPluginAllowedRunTime:]): Added.
- * WebView/WebPreferencesPrivate.h: Added above two methods.
- * WebView/WebUIDelegatePrivate.h: Added shouldHaltPlugin delegate.
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- Setup a new WebPluginHalterClient.
- (-[WebView _preferencesChangedNotification:]): Update WebCore settings accordingly.
- * WebCoreSupport/WebPluginHalterClient.h: Added.
- * WebCoreSupport/WebPluginHalterClient.mm: Added.
- (WebPluginHalterClient::WebPluginHalterClient):
- (WebPluginHalterClient::shouldHaltPlugin): Added, invoke the delegate.
-
-2009-10-05 Simon Fraser <simon.fraser@apple.com>
-
- More build fixes for Tiger.
-
- * WebView/WebVideoFullscreenController.mm:
-
-2009-10-05 Simon Fraser <simon.fraser@apple.com>
-
- More build fixes for Tiger.
-
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenWindow animationDidEnd:]):
- * WebView/WebWindowAnimation.m:
-
-2009-10-05 Simon Fraser <simon.fraser@apple.com>
-
- More build fixes for Tiger.
-
- * WebView/WebVideoFullscreenController.mm:
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]):
- (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]):
- (-[WebVideoFullscreenHUDWindowController fadeWindowIn]):
- (-[WebVideoFullscreenHUDWindowController fadeWindowOut]):
- (-[WebVideoFullscreenHUDWindowController closeWindow]):
-
-2009-10-05 Simon Fraser <simon.fraser@apple.com>
-
- Build fixes for Tiger.
-
- * WebView/WebVideoFullscreenHUDWindowController.h:
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]):
- (-[WebVideoFullscreenHUDWindowController dealloc]):
- (-[WebVideoFullscreenHUDWindowController closeWindow]):
- (-[WebVideoFullscreenHUDWindowController windowDidLoad]):
-
-2009-10-05 Simon Fraser <simon.fraser@apple.com>
-
- Build fix. If you call Node::hasTagName(), you also have to include Element.h.
-
- * WebCoreSupport/WebChromeClient.mm:
-
-2009-10-05 Pierre d'Herbemont <pdherbemont@webkit.org>
-
- Reviewed by Simon Fraser
-
- Support fullscreen in MediaPlayer (Mac)
- https://bugs.webkit.org/show_bug.cgi?id=26742
-
- Add a fullscreen button to the <video> controller if the media engine,
- and the theme have support for fullscreen, and can show appropriate controls.
- Clicking the button calls through the ChromeClient to the WebVideoFullscreenController
- in WebKit to do a nice animation to fullscreen, with a custom controller.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::supportsFullscreenForNode):
- (WebChromeClient::enterFullscreenForNode):
- (WebChromeClient::exitFullscreenForNode):
- New methods to ask whether fullscreen is possible for a given node, and
- notifications on enterying and exiting fullscreen.
-
- * WebView/WebVideoFullscreenController.h: Added.
- * WebView/WebVideoFullscreenController.mm: Added.
- WebVideoFullscreenController is responsible for creating the fullscreen window,
- and coordinating the various animations when going fullscreen.
-
- * WebView/WebVideoFullscreenHUDWindowController.h: Added.
- * WebView/WebVideoFullscreenHUDWindowController.mm: Added.
- This class manages the heads-up display (HUD) control bar.
-
- * WebView/WebView.mm:
- (-[WebView _close]):
- Make sure we come out of fullscreen if the WebView is torn down (e.g. if
- you close a background window).
-
- (-[WebView _enterFullscreenForNode:WebCore::]):
- Make a WebVideoFullscreenController and tell is to start to go fullscreen.
-
- (-[WebView _exitFullscreen]):
- Tell the WebVideoFullscreenController to come out of fullscreen, and clean up.
-
- * WebView/WebViewData.h:
- * WebView/WebViewData.mm:
- (-[WebViewPrivate dealloc]):
- (-[WebViewPrivate finalize]):
- * WebView/WebViewInternal.h:
- Keep a pointer to the WebVideoFullscreenController.
-
- * WebView/WebWindowAnimation.h: Added.
- * WebView/WebWindowAnimation.m: Added.
- (WebWindowAnimationDurationFromDuration):
- (scaledRect):
- (squaredDistance):
- Handle the animations used during the transitition to fullscreen.
-
-2009-10-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- WebKit side of <rdar://problem/7179166>
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- Add an m_pluginIsWaitingForDraw member variable.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- Initialize m_pluginIsWaitingForDraw.
-
- (WebKit::NetscapePluginInstanceProxy::invalidateRect):
- Set m_pluginIsWaitingForDraw to true.
-
- (WebKit::NetscapePluginInstanceProxy::didDraw):
- If m_pluginIsWaitingForDraw is true, call _WKPHPluginInstanceDidDraw.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView drawRect:]):
- Call didDraw.
-
- * Plugins/Hosted/WebKitPluginHost.defs:
- Add PHPluginInstanceDidDraw.
-
-2009-10-02 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Adele Peterson.
-
- Add functionality to pause/throttle CSS transitions/animations in a WebView
- https://bugs.webkit.org/show_bug.cgi?id=29942
-
- Added both a setter and getter function
-
- * WebView/WebView.mm:
- (-[WebView cssAnimationsSuspended]):
- (-[WebView setCSSAnimationsSuspended:]):
- * WebView/WebViewData.h:
- * WebView/WebViewData.mm:
- (-[WebViewPrivate init]):
- * WebView/WebViewPrivate.h:
-
-2009-10-04 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7273363> Plug-ins should use PluginHalter
-
- * Plugins/WebBaseNetscapePluginView.h: Add WebHaltablePlugin forward declare and _haltable ivar.
- * Plugins/WebBaseNetscapePluginView.mm:
- (WebHaltablePlugin::WebHaltablePlugin): Added.
- (WebHaltablePlugin::halt): New method that stops a plug-in.
- (WebHaltablePlugin::restart): New method that starts a plug-in.
- (WebHaltablePlugin::node): Added. Provides the DOMNode corresponding to the plug-in in WebBaseNetscapePluginView.
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
- Initialize new _haltable ivar.
- (-[WebBaseNetscapePluginView start]): Call the page's didStartPlugin() upon starting a plug-in.
- (-[WebBaseNetscapePluginView stop]): Call the page's didStopPlugin() upon stopping a plug-in.
-
-2009-10-05 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: add testing harness for Web Inspector.
-
- https://bugs.webkit.org/show_bug.cgi?id=30010
-
- * WebInspector/WebInspector.mm:
- (-[WebInspector evaluateInFrontend:callId:script:]):
- * WebInspector/WebInspectorPrivate.h: Added.
-
-2009-10-04 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- * WebView/WebPreferenceKeysPrivate.h: Added new key.
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Leave plug-in halting disabled by default.
- (-[WebPreferences pluginHalterEnabled]): Added.
- (-[WebPreferences setPluginHalterEnabled:]): Ditto.
- * WebView/WebPreferencesPrivate.h: Added above new methods.
-
-2009-10-02 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Adam Roben.
-
- Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns.
-
- * WebView/WebView.mm:
- (toStringVector):
- (+[WebView _addUserScriptToGroup:source:url:worldID:whitelist:blacklist:injectionTime:]):
- (+[WebView _addUserStyleSheetToGroup:source:url:worldID:whitelist:blacklist:]):
- * WebView/WebViewPrivate.h:
-
-2009-10-01 Mark Rowe <mrowe@apple.com>
-
- Fix the Tiger build. Don't unconditionally enable 3D canvas as it is not supported on Tiger.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-10-01 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Turn on ENABLE_3D_CANVAS in TOT
- https://bugs.webkit.org/show_bug.cgi?id=29906
-
- * Configurations/FeatureDefines.xcconfig:
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences webGLEnabled]):
- (-[WebPreferences setWebGLEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2009-09-30 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Fix for <rdar://problem/7259706>
- Need WebKit API or SPI on Mac and Windows to test whether it's safe to load a page in a new tab/window
-
- * WebView/WebFrame.mm:
- (-[WebFrame _allowsFollowingLink:]):
- * WebView/WebFramePrivate.h:
-
-2009-09-30 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Adam Roben.
-
- Add the ability to remove user stylesheets and scripts by URL.
-
- * WebView/WebView.mm:
- (+[WebView _removeUserContentFromGroup:url:worldID:]):
- * WebView/WebViewPrivate.h:
-
-2009-09-29 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Dan Bernstein.
-
- Fix license and some sorting in new files.
-
- * WebView/WebHistoryDelegate.h:
- * WebView/WebNavigationData.h:
- * WebView/WebNavigationData.mm:
-
-2009-09-29 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Sullivan.
-
- WebKit Mac API should provide a delegate interface for global history.
- <rdar://problem/7042773> and https://webkit.org/b/29904
-
- * WebView/WebHistoryDelegate.h: Added. New interface for WebKit clients to implement to manage
- their own global history store.
-
- Object to store all of the bits of data relevant to a page visit:
- * WebView/WebNavigationData.h: Added.
- * WebView/WebNavigationData.mm: Added.
- (-[WebNavigationDataPrivate dealloc]):
- (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
- (-[WebNavigationData url]):
- (-[WebNavigationData title]):
- (-[WebNavigationData originalRequest]):
- (-[WebNavigationData response]):
- (-[WebNavigationData hasSubstituteData]):
- (-[WebNavigationData clientRedirectSource]):
- (-[WebNavigationData dealloc]):
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::updateGlobalHistory): If the delegate exists, don't use the built-in WebHistory.
- If the implementation for this method exists, call it.
- (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): Ditto
-
- * WebView/WebDelegateImplementationCaching.h:
- * WebView/WebDelegateImplementationCaching.mm:
- (WebViewGetHistoryDelegateImplementations):
- (CallHistoryDelegate):
-
- * WebView/WebView.mm:
- (-[WebView _cacheHistoryDelegateImplementations]):
- (-[WebView setHistoryDelegate:]):
- (-[WebView historyDelegate]):
- * WebView/WebViewData.h:
- * WebView/WebViewPrivate.h:
-
-2009-09-29 Kenneth Russell <kbr@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Add support for run-time flag for 3D canvas
- https://bugs.webkit.org/show_bug.cgi?id=29826
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Enable experimental
- WebGL flag when 3D_CANVAS is enabled in the build.
-
-2009-09-28 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Add experimentalWebSocketsEnabled in WebPreferences.
- https://bugs.webkit.org/show_bug.cgi?id=28941
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences experimentalWebSocketsEnabled]):
- (-[WebPreferences setExperimentalWebSocketsEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2009-09-28 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading
- a PDF
-
- CGPDFObjectRef is not a CFTypeRef, and cannot be retained or released.
- Its lifetime is managed by its container. Just use a Vector to store
- CGPDFObjectRefs, relying on the CGPDFDocument to keep them alive.
-
- * WebView/WebPDFDocumentExtras.mm:
- (appendValuesInPDFNameSubtreeToVector):
- (getAllValuesInPDFNameTree):
- (web_PDFDocumentAllScripts):
-
-2009-09-24 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Alice Liu.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- Pass 0 for new Page constructor argument.
-
-2009-09-14 John Gregg <johnnyg@google.com>
-
- Reviewed by Eric Seidel.
-
- isEnabled switch for notifications (experimental) in Page Settings
- https://bugs.webkit.org/show_bug.cgi?id=28930
-
- Adds support for the experimentalNotificationsEnabled flag in Settings
- through WebPreferencesPrivate.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences experimentalNotificationsEnabled]):
- (-[WebPreferences setExperimentalNotificationsEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2009-09-23 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Updated for a WebCore rename.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _cacheabilityDictionary]):
-
-2009-09-23 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Speed up access to history items by caching date computation.
-
- * History/WebHistory.mm:
- (getDayBoundaries): Refactored from timeIntervalForBeginningOfDay.
- Returns the beginning of the day that the passed time is within and
- the beginning of the next day.
- (beginningOfDay): Added. Uses getDayBoundaries so it can be fast for
- multiple dates within the same day, which is the common case.
- (dateKey): Added. Calls beginningOfDay and converts to an integer.
- (-[WebHistoryPrivate findKey:forDay:]): Changed to call dateKey
- insetad of timeIntervalForBeginningOfDay.
-
-2009-09-23 David Kilzer <ddkilzer@apple.com>
-
- Move definition of USE(PLUGIN_HOST_PROCESS) from WebKitPrefix.h to Platform.h
-
- Reviewed by Mark Rowe.
-
- * WebKitPrefix.h: Removed definition of
- WTF_USE_PLUGIN_HOST_PROCESS.
-
-2009-09-22 Timothy Hatcher <timothy@apple.com>
-
- Prevent scrolling multiple frames during latched wheel events.
-
- Reviewed by Anders Carlsson.
-
- * WebView/WebDynamicScrollBarsView.h:
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView scrollWheel:]):
-
-2009-09-22 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading
- a PDF
-
- * WebView/WebPDFDocumentExtras.mm:
- (addWebPDFDocumentExtras): Made methodList static, because
- class_addMethods() doesn't copy it.
-
-2009-09-21 Dan Bernstein <mitz@apple.com>
-
- Attempt to fix the Tiger build
-
- * WebView/WebPDFDocumentExtras.mm:
- (addWebPDFDocumentExtras):
-
-2009-09-21 Dan Bernstein <mitz@apple.com>
-
- Attempt to fix the Tiger build
-
- * WebView/WebPDFDocumentExtras.mm:
- (web_PDFDocumentAllScripts):
- (addWebPDFDocumentExtras):
-
-2009-09-21 Dan Bernstein <mitz@apple.com>
-
- Attempt to fix the Tiger build
-
- * WebView/WebPDFDocumentExtras.mm:
- * WebView/WebPDFRepresentation.mm:
-
-2009-09-21 Dan Bernstein <mitz@apple.com>
-
- Attempt to fix the Leopard and Tiger builds
-
- * WebView/WebPDFDocumentExtras.mm:
-
-2009-09-21 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/4137135> iFrame with PDF not being handled correctly on
- usps.com
- https://bugs.webkit.org/show_bug.cgi?id=4151
-
- * WebView/WebJSPDFDoc.h: Added.
- * WebView/WebJSPDFDoc.mm: Added.
- (jsPDFDocInitialize): Retains the WebDataSource.
- (jsPDFDocFinalize): Releases the WebDataSource.
- (jsPDFDocPrint): Call the WebUIDelegate method -webView:printFrameView:
- with the PDF document's view.
- (makeJSPDFDoc): Makes and returns a JavaScript Doc instance that wraps
- the WebDataSource.
- * WebView/WebPDFDocumentExtras.h: Added.
- * WebView/WebPDFDocumentExtras.mm: Added.
- (appendValuesInPDFNameSubtreeToArray): Traverses a subtree of a PDF name
- tree and adds all values in the subtree to an array.
- (allValuesInPDFNameTree): Returns an array with all of the values in a
- PDF name tree.
- (web_PDFDocumentAllScripts): This is the implementation of -[PDFDocument
- _web_allScripts]. It gets all values in the document-level "JavaScript"
- name tree, which are action dictionaries, and returns an array of the
- actions' scripts.
- (addWebPDFDocumentExtras): Adds the -_web_allScripts method to
- PDFDocument.
- * WebView/WebPDFRepresentation.h:
- * WebView/WebPDFRepresentation.m: Removed.
- * WebView/WebPDFRepresentation.mm: Copied from WebKit/mac/WebView/WebPDFRepresentation.m.
- (+[WebPDFRepresentation initialize]): Added. Calls
- addWebPDFDocumentExtras().
- (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Get the
- scripts from the PDF document, create a JavaScript Doc object for the
- document, and a JavaScript execution context, then execute every script
- in the context, with the Doc object as "this".
-
-2009-09-17 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Compositing layers are incorrectly positioned after scrolling with position:fixed
- https://bugs.webkit.org/show_bug.cgi?id=29262
-
- When scrolling a page with compositing layers inside a position:fixed element,
- we need to update the compositing layer positions when the scroll position changes.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _frameOrBoundsChanged]):
- Call the new FrameView::scrollPositionChanged() method rather than sending the
- scroll event directly.
-
-2009-09-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Make PlatformWindow return something else than PlatformWidget
- https://bugs.webkit.org/show_bug.cgi?id=29085
-
- Reflect the rename of platformWindow and it's return type.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::platformPageClient):
-
-2009-09-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <rdar://problem/7007541>
- CrashTracer: 4800+ crashes in Safari at com.apple.WebKit • WTF::HashTableIterator...
-
- Add null checks for m_instanceProxy (It will be null when a plug-in has crashed).
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::invoke):
- (WebKit::ProxyInstance::supportsInvokeDefaultMethod):
- (WebKit::ProxyInstance::supportsConstruct):
- (WebKit::ProxyInstance::getPropertyNames):
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
- (WebKit::ProxyInstance::fieldValue):
- (WebKit::ProxyInstance::setFieldValue):
- (WebKit::ProxyInstance::invalidate):
-
-2009-09-16 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and
- become misplaced when the WebHTMLView is resized or scrolled sometimes.
- <rdar://problem/7071636>
-
- The previous fix didn't fix the case where the layers jiggle when resizing the docked
- inspector when the view size is over 2048px tall, on Leopard.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _updateLayerHostingViewPosition]):
-
-2009-09-16 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and
- become misplaced when the WebHTMLView is resized or scrolled sometimes.
- <rdar://problem/7071636>
-
- We call an internal AppKit method to make sure the layer geometry is updated correctly.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _updateLayerHostingViewPosition]):
-
-2009-09-15 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fixed position elements flash when CSS transforms are applied on page > 2048px tall
- https://bugs.webkit.org/show_bug.cgi?id=27272
-
- Update the previous workaround for misplaced compositing layers, which used a 4096px
- threshold, to 2048px since that's the GPU max texture size on some older hardware.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _updateLayerHostingViewPosition]):
-
-2009-09-15 Alex Milowski <alex@milowski.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Added the ENABLE_MATHML to the feaure defines
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-09-15 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/7224378> REGRESSION(r48360): Dragging a tab with a plug-in out of a window, the plug-in gets slow and confused
-
- In r48360, the fix for <rdar://problem/7090444>, I neglected to consider the case where the plug-in had already been started and
- -start would do an early-return rather than calling -restartTimers and -addWindowObservers itself.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Reinstate the call to -restartTimers and -addWindowObservers, but guard them
- with a check that the view is still in the window.
-
-2009-09-14 Brady Eidson <beidson@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Safari 4 cannot be used to update firmware on Linksys routers.
- <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
-
- Adopt the new WebCore::CredentialStorage in WebKit/Mac.
-
- * Misc/WebDownload.mm:
- (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (WebKit::getAuthenticationInfo):
-
-2009-09-12 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Fix <rdar://problem/7090444> Crashes in-[WebBaseNetscapePluginView stop] handling NSWindowWillCloseNotification.
-
- It's not valid to call -addWindowObservers when the view is not in a window, but this can happen when -start
- initializes a plug-in and the plug-in removes itself from the document during initialization. -viewDidMoveToWindow
- calls -start and then calls -addWindowObservers without ensuring that the view is still in a window.
-
- If -[WebBaseNetscapePluginView addWindowObservers] is incorrectly called when the view is not in a window, it will
- observe NSWindowWillCloseNotification on all windows. This unexpected observer registration is not balanced by an
- unregistration so the notification can be delivered after the view is deallocated, causing the crash seen in
- <rdar://problem/7090444>.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView start]): Only call -updateAndSetWindow if we still have a current window.
- (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Remove unnecessary calls to -restartTimers and -addWindowObservers
- from -[WebBaseNetscapePluginView viewDidMoveToWindow]. They are already called from within -start with the extra benefit
- of ensuring that the view is still in a window when they are called.
-
-2009-09-11 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- Fix <rdar://problem/7145242> Crashes inside WTF::HashTable below NetscapePluginInstanceProxy::disconnectStream
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::cancelLoad): Canceling the load can result in calling through to disconnectStream.
- If the plug-in instance holds the last reference to the plug-in stream this will result in the stream being deallocated.
- This leads to HostedNetscapePluginStream::cancelLoad's call to disconnectStream being passed a deallocated stream object.
- Since the stream was already disconnected by the call to cancel there's no need to call disconnectStream a second time.
-
-2009-09-11 Eric Seidel <eric@webkit.org>
-
- No review, rolling out r48229.
- http://trac.webkit.org/changeset/48229
-
- * WebView/WebFrame.mm:
- (-[WebFrame _dragSourceMovedTo:]):
-
-2009-09-10 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Update JavaScriptCore and WebKit's FeatureDefines.xcconfig so that they are in sync with WebCore as they need to be.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-09-09 Jens Alfke <snej@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Initialize DataTransfer's effectAllowed and dropEffect properties correctly
- according to HTML5 spec (sec. 7.9.2-7.9.3).
- https://bugs.webkit.org/show_bug.cgi?id=26700
-
- * WebView/WebFrame.mm:
- (-[WebFrame _dragSourceMovedTo:]):
- Pass current drag operation (if known) to EventHandler::dragSourceMovedTo().
-
-2009-09-09 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection. This is similar
- to user script injection but allows for user stylesheets to be added. The stylesheets are applied immediately
- to all Frames in the PageGroup.
-
- Added userscripts/simple-stylesheet.html test case.
-
- * WebView/WebView.mm:
- (+[WebView _addUserStyleSheetToGroup:source:url:worldID:patterns:]):
- * WebView/WebViewPrivate.h:
-
-2009-09-07 Steve Block <steveblock@google.com>
-
- Reviewed by Adam Barth.
-
- Adds a mock Geolocation service. This will be used to provide predictable behavior of the
- Geolocation API for use in LayoutTests. Later changes will integrate the the mock
- Geolocation service with DumpRenderTree.
- https://bugs.webkit.org/show_bug.cgi?id=28264
-
- * WebCoreSupport/WebGeolocationMockPrivate.h: Added.
- * WebCoreSupport/WebGeolocationMock.mm: Added.
- (+[WebGeolocationMock setError:code:]): Added. Used by DumpRender tree to configure the mock Geolocation service.
- (+[WebGeolocationMock setPosition:latitude:longitude:accuracy:]): Added. Used by DumpRender tree to configure the mock Geolocation service.
- * WebKit.exp: Modified. Exports WebGeolocationMock.
-
-2009-09-07 Drew Wilson <atwilson@google.com>
-
- Reviewed by David Levin.
-
- Enable SHARED_WORKERS by default.
- https://bugs.webkit.org/show_bug.cgi?id=28959
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-09-06 Cameron McCormack <cam@mcc.id.au>
-
- Reviewed by Eric Seidel.
-
- Drop <definition-src> support
- https://bugs.webkit.org/show_bug.cgi?id=28991
-
- * MigrateHeaders.make: Remove reference to ObjC definition-src
- binding class.
-
-2009-09-04 Mark Mentovai <mark@chromium.org>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=28614
-
- Account for scrollbar state changes that occur during layout.
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView updateScrollers]):
-
- Perform a layout prior to checking whether the scrollbar modes are
- off, on, or automatic. The modes may change during layout.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _install]):
-
- Eliminate duplicated (and incorrect) scrollbar mode tracking between
- FrameView and ScrollView.
-
-2009-09-03 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
-
- This patch adds new API for adding and removing user scripts from page groups. User scripts
- are bundled together in isolated worlds (you can have multiple scripts together in the same
- world).
-
- Added userscripts/ directory for holding new tests (along with a simple test of script injection).
-
- * WebView/WebView.mm:
- (+[WebView _addUserScriptToGroup:source:url:worldID:patterns:injectionTime:]):
- (+[WebView _removeUserContentFromGroup:worldID:]):
- (+[WebView _removeAllUserContentFromGroup:]):
- * WebView/WebViewPrivate.h:
-
-2009-09-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=24696
-
- Plumb mixed content notifications to WebFrameLoadDelegatePrivate.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::didDisplayInsecureContent):
- (WebFrameLoaderClient::didRunInsecureContent):
- * WebView/WebDelegateImplementationCaching.h:
- * WebView/WebFrameLoadDelegatePrivate.h: Added.
-
-2009-09-03 Adam Barth <abarth@webkit.org>
-
- Unreviewed build fix.
-
- Change notImplemented() to a FIXME.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::didDisplayInsecureContent):
- (WebFrameLoaderClient::didRunInsecureContent):
-
-2009-09-03 Adam Barth <abarth@webkit.org>
-
- Reviewed by eric@webkit.org.
-
- https://bugs.webkit.org/show_bug.cgi?id=24696
-
- Plumb mixed content notifications to WebFrameLoadDelegatePrivate.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::didDisplayInsecureContent):
- (WebFrameLoaderClient::didRunInsecureContent):
- * WebView/WebDelegateImplementationCaching.h:
- * WebView/WebFrameLoadDelegatePrivate.h: Added.
-
-2009-09-03 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=24696
-
- Stub implementations of mixed content methods of FrameLoaderClient.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::didDisplayInsecureContent):
- (WebFrameLoaderClient::didRunInsecureContent):
-
-2009-09-02 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- More partial work towards "Page Cache should support pages with Frames"
- https://bugs.webkit.org/show_bug.cgi?id=13631
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _topHTMLView]): Rework the ASSERT in this method to reflect the
- reality of calling this method for pages currently in the PageCache.
-
-2009-08-31 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reverting http://trac.webkit.org/changeset/47904, because it caused
- layout test failure.
-
-2009-08-31 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=28852
- Rename KURL single argument constructor to avoid confusion
-
- * WebView/WebScriptDebugger.mm: (toNSURL): Adapt to the change.
-
-2009-08-31 Mark Mentovai <mark@chromium.org>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=28614
-
- Perform a layout prior to checking whether the scrollbar modes are
- off, on, or automatic. The modes may change during layout.
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView updateScrollers]):
-
-2009-08-28 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by John Sullivan.
-
- update-webkit-localizable-strings script can no longer complete
- https://bugs.webkit.org/show_bug.cgi?id=28792
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory AXARIAContentGroupText:]):
-
-2009-08-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=25889
- [GTK] scrollbar policy for main frame is not implementable
-
- Add empty implementation for new ChromeClient method.
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::scrollbarsModeDidChange):
-
-2009-08-25 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <video> and <audio> controller should be accessible
- https://bugs.webkit.org/show_bug.cgi?id=28081
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory localizedMediaControlElementString:]):
- (-[WebViewFactory localizedMediaControlElementHelpText:]):
- (-[WebViewFactory localizedMediaTimeDescription:]):
- New.
-
-2009-08-24 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by NOBODY (build fix)
-
- Turn off ENABLE_3D_CANVAS in the xconfig files.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-08-22 Adam Barth <abarth@webkit.org>
-
- Revert 47684. We're going to do this later once clients have had a
- chance to opt into the setting they like.
-
- * Misc/WebKitVersionChecks.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
-
-2009-08-22 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Don't let local files access web URLs
- https://bugs.webkit.org/show_bug.cgi?id=28480
-
- * Misc/WebKitVersionChecks.m:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
-
-2009-08-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7162480>
- Sometimes WebKit does not layout correctly when a WebView is embedded in an HICocoaView
-
- Add a null check for the current context when reflectScrolledClipView: is called from outside a
- draw operation.
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
-
-2009-08-20 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- Enable various "grouping" ARIA roles
- https://bugs.webkit.org/show_bug.cgi?id=28486
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory AXARIAContentGroupText:]):
-
-2009-08-19 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fix <http://webkit.org/b/28484> Plug-in-related leaks seen on the build bot
-
- When the plug-in data is being loaded manually there is a reference cycle between the
- NetscapePluginInstanceProxy and the HostedNetscapePluginStream. We need to explicitly
- break the reference cycle in NetscapePluginInstanceProxy::cleanup so that both objects
- will be destroyed.
-
- Take the opportunity to add RefCountedLeakCounter support to HostedNetscapePluginStream
- and NetscapePluginInstanceProxy to simplify tracking down leaks of these objects in the future.
-
- * Plugins/Hosted/HostedNetscapePluginStream.h:
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
- (WebKit::HostedNetscapePluginStream::~HostedNetscapePluginStream):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
- (WebKit::NetscapePluginInstanceProxy::cleanup): Clear m_manualStream to break the reference
- cycle.
-
-2009-08-19 Aaron Boodman <aa@chromium.org>
-
- Reviewed by David Levin.
-
- https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
- specify a more granular policy for cross-origin XHR access.
-
- * WebView/WebView.mm: Add SPI to manipulate origin access whitelists.
- (+[WebView _whiteListAccessFromOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Ditto.
- (+[WebView _resetOriginAccessWhiteLists]): Ditto.
- * WebView/WebViewPrivate.h: Ditto.
-
-2009-08-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adele Peterson.
-
- Mac specific part of
-
- <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- Implement shouldLoadMediaElementURL by asking the policy delegate.
-
- * WebView/WebPolicyDelegatePrivate.h:
- Add new delegate method, remove some unused cruft.
-
-2009-08-18 Drew Wilson <atwilson@google.com>
-
- Reviewed by Eric Seidel.
-
- Need to extend DumpRenderTree to expose number of worker threads.
- https://bugs.webkit.org/show_bug.cgi?id=28292
-
- * WebKit.exp:
- Exported WebWorkersPrivate so DumpRenderTree can access it.
- * Workers/WebWorkersPrivate.h: Added.
- * Workers/WebWorkersPrivate.mm: Added.
- (+[WebWorkersPrivate workerThreadCount]):
- Added WebWorkersPrivate::workerThreadCount() API for DumpRenderTree.
-
-2009-08-17 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Use a HashMap instead of a list of if statements for the command
- name exception map.
-
- * WebView/WebHTMLView.mm:
- (createSelectorExceptionMap): Added.
- (commandNameForSelector): Use createSelectorExceptionMap.
-
-2009-08-16 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/28366> WebHTMLViewInternal.h: add @class CALayer declaration
-
- Reviewed by Simon Fraser.
-
- Without WebKitPrefix.h, the missing @class CALayer declaration
- causes a compile-time error.
-
- * WebView/WebHTMLViewInternal.h: Added @class CALayer
- declaration with USE(ACCELERATED_COMPOSITING).
-
-2009-08-16 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates
-
- Reviewed by Dan Bernstein.
-
- * Plugins/WebBaseNetscapePluginStream.mm: Added using std::min
- statement.
- (WebNetscapePluginStream::deliverData): Changed MIN() to min().
- Changed C-style cast to a static_cast.
- * Plugins/WebNetscapePluginView.mm: Added using std::min
- statement.
- (-[WebNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
- Changed MIN() to min(). Changed C-style cast to a static_cast.
- * WebView/WebHTMLView.mm: Added using std::max statement.
- (-[WebHTMLView _dragImageForURL:withLabel:]): Changed MAX() to
- max().
- (-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto.
- * WebView/WebTextCompletionController.mm: Added using std::max
- and using std::min statements.
- (-[WebTextCompletionController _placePopupWindow:]): Changed
- type of maxWidth variable from float to CGFloat to prevent a
- type mismatch on x86_64. Changed MAX() to max() and MIN() to
- min(). Added static_cast for a constant value since CGFloat is
- defined as a float on i386 and as a double on x86_64.
-
-2009-08-15 Adam Bergkvist <adam.bergkvist@ericsson.com>
-
- Reviewed by Sam Weinig.
-
- Added ENABLE_EVENTSOURCE flag.
- https://bugs.webkit.org/show_bug.cgi?id=14997
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-08-14 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::enumerate): Add the necessary .get() calls.
-
-2009-08-14 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/7091546> - Assertion failure in plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html
- on 64-bit SnowLeopard
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::cancelLoad): Since this might be called while the FrameLoader is switching DocumentLoaders
- during the brief moment where there is no activeDocumentLoader(), accept and handle a validly null DocumentLoader.
-
-2009-08-14 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Brady Eidson.
-
- Fix leaks of NSNumber and NSMutableArray objects seen during layout tests.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::enumerate): Don't leak an NSMutableArray that we allocate.
-
-2009-08-14 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Fix leaks of HostedNetscapePluginStream and NetscapePlugInStreamLoader objects seen during layout tests.
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::didFail): Disconnect the stream from the plug-in instance proxy
- when the load fails.
-
-2009-08-13 Darin Adler <darin@apple.com>
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Updated includes.
- * WebView/WebScriptDebugger.mm: Ditto.
-
-2009-08-12 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/6017913> Replace use of HISearchWindowShow in -[WebView _searchWithSpotlightFromMenu].
-
- * WebView/WebView.mm:
- (-[WebView _searchWithSpotlightFromMenu:]): Use -[NSWorkspace showSearchResultsForQueryString:] post-Leopard.
-
-2009-08-12 Greg Bolsinga <bolsinga@apple.com>
-
- Reviewed by Eric Seidel.
-
- Add delegate methods about focus and blur and state change
- https://bugs.webkit.org/show_bug.cgi?id=27153
-
- Have ObjC delegate methods match C++ method names in the ChromeClient.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::formDidFocus):
- (WebChromeClient::formDidBlur):
- * WebView/WebUIDelegatePrivate.h:
-
-2009-08-11 John Gregg <johnnyg@google.com>
-
- Reviewed by Maciej Stachowiak.
-
- Desktop Notifications API
- https://bugs.webkit.org/show_bug.cgi?id=25643
-
- Adds ENABLE_NOTIFICATION flag.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-08-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove dead declarations.
-
- * WebView/WebViewInternal.h:
-
-2009-08-11 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Adam Roben.
-
- Originally implemented by Glenn Wilson <gwilson@chromium.org>.
-
- Added new methods for overriding default WebPreference values
- and for resetting preferences to their defaults.
- See https://bugs.webkit.org/show_bug.cgi?id=20534
-
- * WebView/WebPreferences.mm:
- (-[WebPreferences _setPreferenceForTestWithValue:withKey:]): added.
- * WebView/WebPreferencesPrivate.h: same.
-
-2009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
-
- Reviewed by George Staikos.
-
- [WML] Deck access control is completly broken
- https://bugs.webkit.org/show_bug.cgi?id=27721
-
- Synchronize WebFrameLoadType with FrameLoadType enum. Append 'WebFrameLoadTypeBackWMLDeckNotAccessible'.
-
- * WebView/WebFramePrivate.h:
-
-2009-08-07 Simon Fraser <simon.fraser@apple.com>
-
- Fix the build on 10.6.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView attachRootLayer:]):
-
-2009-08-07 Simon Fraser <simon.fraser@apple.com>
-
- Fix a stylistic nit related to the location of the *, which, for some
- ridiculous reason, WebKit style dictates to be different between Objective-C and C++.
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
-
-2009-08-07 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Work around an issue on Leopard where composited layers are misplaced and squished when the page
- gets over 4096px tall.
- https://bugs.webkit.org/show_bug.cgi?id=27272
- <rdar://problem/7067892> [Leopard] Composisted layers are misplaced and squished on on long pages
- <rdar://problem/7068252> [Leopard] When switching to a tab with HW layers, they fade in
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
- Call -_updateLayerHostingViewPosition after scrolling.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _frameOrBoundsChanged]):
- Call -_updateLayerHostingViewPosition after the view changes size.
-
- (-[WebHTMLView attachRootLayer:]):
- Turn off default animations, to avoid animations of sublayer transform, and fading-in
- when tab switching.
-
- * WebView/WebHTMLViewInternal.h:
- (-[WebHTMLView _updateLayerHostingViewPosition]):
- New method that constrains the height of the layer-hosting view to a max height
- of 4096px, and compensates for the height restriction by placing the layer-hosting
- view at the top of the visible part of the WebHTMLView, and adjusting the position
- of the hosted layers via sublayer transform.
-
-2009-08-07 Anders Carlsson <andersca@apple.com>
-
- Fix Tiger build.
-
- * WebView/WebRenderNode.mm:
- (-[WebRenderNode _initWithCoreFrame:]):
-
-2009-08-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Timothy Hatcher and Sam Weinig.
-
- Change WebRenderNode to take a WebFrame instead of a WebFrameView.
-
- * WebView/WebRenderNode.h:
- * WebView/WebRenderNode.mm:
- (-[WebRenderNode _initWithName:position:rect:coreFrame:children:]):
- (copyRenderNode):
- (-[WebRenderNode _initWithCoreFrame:]):
- (-[WebRenderNode initWithWebFrame:]):
-
-2009-08-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler and Dan Bernstein.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::hasHTMLView):
- Always return true when we're in viewless mode.
-
-2009-08-06 Anders Carlsson <andersca@apple.com>
-
- Remove WebGraphicsExtras.h include.
-
- * Plugins/WebNetscapePluginView.mm:
-
-2009-08-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove WebGraphicsExtras, it is no longer used.
-
- * Misc/WebGraphicsExtras.c: Removed.
- * Misc/WebGraphicsExtras.h: Removed.
-
-2009-08-06 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by David Hyatt.
-
- Added ENABLE_3D_CANVAS flag to build, default to off
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-08-04 Michael Nordman <michaeln@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=27821
-
- Mods to keep up with ApplicationCacheHost refactoring.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource _transferApplicationCache:]):
-
-2009-07-30 Darin Adler <darin@apple.com>
-
- Reviewed by David Levin.
-
- Use checked casts for render tree
- https://bugs.webkit.org/show_bug.cgi?id=23522
-
- * Misc/WebNSAttributedStringExtras.mm:
- (fileWrapperForElement):
- * Misc/WebNSPasteboardExtras.mm:
- (imageFromElement):
- (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
- * WebView/WebFrame.mm:
- (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
- (-[WebFrame _accessibilityTree]):
- * WebView/WebRenderNode.mm:
- (copyRenderNode):
- Use checked casts.
-
-2009-07-31 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Accelerated animations stutter on pages with lots of animations and 3d transforms
- https://bugs.webkit.org/show_bug.cgi?id=27884
-
- This patch changes the strategy for synchronizing painting view the view,
- and compositing layer updates. Previously the strategy was to disable screen
- updates between the time we updated the layer tree, and painted the view. That
- left screen updates disabled for too long (hundreds of milliseconds) in some
- cases, causing animation stutter.
-
- The new strategy is to batch up changes to the CA layer tree, and commit them
- all at once just before painting happens (referred to as a "sync" in the code).
- GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
- the values stored in GraphicsLayer into the CA layer tree at commit time.
-
- Compositing layers are then synced in FrameView::paintContents(). However, not
- all style/layout changes will result in painting; to deal with style changes that
- touch only compositing properties, we set up a runloop observer that takes care
- of comitting layer changes when no painting happens.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::scheduleCompositingLayerSync):
- scheduleViewUpdate() renamed to syncCompositingStateRecursive()
-
- * WebView/WebView.mm:
- (-[WebView _close]):
- (-[WebView _clearLayerSyncLoopObserver]):
- "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".
-
- (-[WebView _syncCompositingChanges]):
- Helper method that calls syncCompositingStateRecursive() on the FrameView.
-
- (layerSyncRunLoopObserverCallBack):
- (-[WebView _scheduleCompositingLayerSync]):
- This is all about layer sycning now. Also, the run loop observer is repeating,
- because it has to keep firing until syncCompositingStateRecursive() says that it
- has completed.
-
- * WebView/WebViewData.h:
- "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".
-
- * WebView/WebViewInternal.h:
- _scheduleViewUpdate is now _scheduleCompositingLayerSync
-
-2009-07-30 Michael Nordman <michaeln@google.com>
-
- Reviewed by Darin Fisher.
-
- https://bugs.webkit.org/show_bug.cgi?id=27821
-
- Mods to keep up with ApplicationCacheHost refactoring.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource _transferApplicationCache:]):
-
-2009-07-29 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/27788> Don't export WebPluginController.h as a private header
-
- Reviewed by Mark Rowe.
-
- * Plugins/WebPluginController.h: Changed #import of
- WebPluginContainerCheck.h to use a framework-style include in
- case other platforms wish to export WebPluginController.h as a
- private header.
-
-2009-07-29 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Darin Adler.
-
- Added foundation work to allow a testing infrastructure for the Web
- Inspector.
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::inspectorWindowObjectCleared): Send the delegate
- callback.
- * WebView/WebDelegateImplementationCaching.h:
- * WebView/WebView.mm:
- (-[WebView _cacheFrameLoadDelegateImplementations]):
- * WebView/WebViewPrivate.h: The delegate SPI.
-
-2009-07-27 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
-
- In some situations Microsoft Messenger can attempt to manipulate the DOM from a secondary thread while
- updating its file transfer progress bar. This results in corruption of WebCore data structures that is
- quickly followed by a crash. We can work around this by having -[WebFrame DOMDocument] return nil when
- called from a secondary thread by Microsoft Messenger, which has the effect of turning its attempts at
- DOM manipulation in to no-ops.
-
- * WebView/WebFrame.mm:
- (needsMicrosoftMessengerDOMDocumentWorkaround):
- (-[WebFrame DOMDocument]):
-
-2009-07-27 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=27735
- Give a helpful name to JSLock constructor argument
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics shouldPrintExceptions]):
- (+[WebCoreStatistics setShouldPrintExceptions:]):
- (+[WebCoreStatistics memoryStatistics]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
- (WebKit::NetscapePluginInstanceProxy::getProperty):
- (WebKit::NetscapePluginInstanceProxy::setProperty):
- (WebKit::NetscapePluginInstanceProxy::removeProperty):
- (WebKit::NetscapePluginInstanceProxy::hasMethod):
- (WebKit::NetscapePluginInstanceProxy::enumerate):
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::wantsAllStreams):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView sendEvent:isDrawRect:]):
- (-[WebNetscapePluginView setWindowIfNecessary]):
- (-[WebNetscapePluginView createPluginScriptableObject]):
- (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
- (-[WebNetscapePluginView loadPluginRequest:]):
- (-[WebNetscapePluginView _printedPluginBitmap]):
- * Plugins/WebPluginController.mm:
- (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
- (-[WebPluginController startAllPlugins]):
- (-[WebPluginController stopAllPlugins]):
- (-[WebPluginController addPlugin:]):
- (-[WebPluginController destroyPlugin:]):
- (-[WebPluginController destroyAllPlugins]):
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView/WebView.mm:
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
-
-2009-07-24 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- REGRESSION (r46298): Exception after clicking on Bookmarks button in the Bookmarks Bar
- https://bugs.webkit.org/show_bug.cgi?id=27667
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::transitionToCommittedForNewPage): Moved the code to set the
- title here. This is late enough that both the view and representation exist.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource _makeRepresentation]): Removed the code to set the title from here.
- It's a bit too early.
-
-2009-07-24 Andrei Popescu <andreip@google.com>
-
- Reviewed by Anders Carlsson.
-
- ApplicationCache should have size limit
- https://bugs.webkit.org/show_bug.cgi?id=22700
-
- Adds the WebApplicationCache class that is
- used by the DumpRenderTree test application to
- configure the Application Cache maximum size.
-
- * WebCoreSupport/WebApplicationCache.h: Added.
- * WebCoreSupport/WebApplicationCache.mm: Added.
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::reachedMaxAppCacheSize):
- Adds empty implementation of the reachedMaxAppCacheSize callback.
- * WebKit.exp:
-
-2009-07-23 Darin Adler <darin@apple.com>
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource _makeRepresentation]): Landed a comment I forgot last time.
-
-2009-07-23 Darin Adler <darin@apple.com>
-
- Reviewed by Brady Eidson.
-
- URL appears in back/forward button menu instead of title for items with custom representation
- https://bugs.webkit.org/show_bug.cgi?id=27586
- rdar://problem/5060337
-
- The problem is that DocumentLoader expects to store a title, but for custom representations
- it is never passed to the document loader.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource _makeRepresentation]): Added a call to DocumentLoader::setTitle.
- Works as long as the title does not change during the document's lifetime, which
- is good enough for the simple cases in Safari.
-
-2009-07-20 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- REGRESSION (r39185): Safari adds ".jpeg" extension to images that already have ".JPG" extension
- https://bugs.webkit.org/show_bug.cgi?id=27472
-
- * WebView/WebHTMLView.mm:
- (matchesExtensionOrEquivalent): Changed category method into a C function.
- Made it require the leading dot when checking for the extension and do it
- in a non-case-sensitive way.
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Changed to call
- the function.
-
-2009-07-21 Roland Steiner <rolandsteiner@google.com>
-
- Reviewed by David Levin.
-
- Add ENABLE_RUBY to list of build options
- https://bugs.webkit.org/show_bug.cgi?id=27324
-
- * Configurations/FeatureDefines.xcconfig: Added flag ENABLE_RUBY.
-
-2009-07-17 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
- https://bugs.webkit.org/show_bug.cgi?id=14272
-
- Removed size calculation code from [WebInspectorWindowController setInitialAttachedHeight] into
- InspectorController.cpp to make it cross platform, and use InspectorController to store the
- user's preferred size for an attached window, instead of NSUserDefaults.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController showWindow:]):
- (-[WebInspectorWindowController setAttachedWindowHeight:]):
-
-2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
-
- Reviewed by David Levin.
-
- Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
- https://bugs.webkit.org/show_bug.cgi?id=27206
-
- Add ENABLE_WEB_SOCKETS
-
- * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
-
-2009-07-16 Xiaomei Ji <xji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fix tooltip does not get its directionality from its element's directionality.
- https://bugs.webkit.org/show_bug.cgi?id=24187
-
- Per mitz's suggestion in comment #6, while getting the plain-text
- title, we also get the directionality of the title. How to handle
- the directionality is up to clients. Clients could ignore it,
- or use attribute or unicode control characters to display the title
- as what they want.
-
- * Misc/WebElementDictionary.mm:
- (-[WebElementDictionary _spellingToolTip]): Change spellingToolTip caller due to signature change.
- (-[WebElementDictionary _title]): Change title caller due to signature change.
- * WebCoreSupport/WebChromeClient.h: Add directionality as 2nd parameter to setToolTip().
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::setToolTip): Add directionality as 2nd parameter to setToopTip() (without handling it yet).
-
-2009-07-15 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Renamed parseURL to deprecatedParseURL.
-
- * DOM/WebDOMOperations.mm:
- (-[DOMDocument URLWithAttributeString:]): Renamed.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin): Renamed.
-
-2009-07-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=27304
- WebKit should provide usage and eligibility information about the page cache.
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics numberCachedPages]):
- (+[WebCoreStatistics numberCachedFrames]):
- (+[WebCoreStatistics numberAutoreleasedPages]):
- * WebKit.exp:
-
- * WebView/WebFrame.mm:
- (-[WebFrame _cacheabilityDictionary]): Returns a dictionary with all the data about
- why the frame is not cacheable. If the frame *is* cacheable, the dictionary is
- empty.
- * WebView/WebFramePrivate.h:
-
-2009-07-13 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein, Adam Roben.
-
- "Unrecognized selector" console log when the Safari 4 Welcome page navigates to Top Sites.
- <rdar://problem/6994893
-
- attachRootGraphicsLayer() should not assume that the frameView's documentView
- is a WebHTMLView.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::attachRootGraphicsLayer):
-
-2009-07-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler and Kevin Decker.
-
- <rdar://problem/7053687> Core Animation plug-ins continue to grow larger and larger when opening new tabs (32 bit-only)
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView setLayer:]):
- Add a FIXME.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView setLayer:]):
- Make sure to set the size of the layer before changing the autoresizing mask so it won't grow everytime it's inserted
- into the layer tree.
-
-2009-07-13 Greg Bolsinga <bolsinga@apple.com>
-
- Reviewed by Simon Fraser.
-
- Correct these delegate methods' declarations by adding parameter names.
-
- * WebView/WebUIDelegatePrivate.h:
-
-2009-07-13 Drew Wilson <atwilson@google.com>
-
- Reviewed by David Levin.
-
- Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
- https://bugs.webkit.org/show_bug.cgi?id=26932
-
- Added ENABLE(SHARED_WORKERS) flag (disabled by default).
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-07-12 Keishi Hattori <casey.hattori@gmail.com>
-
- Reviewed by Timothy Hatcher.
-
- Refactor ConsoleMessage to add MessageType attribute.
- https://bugs.webkit.org/show_bug.cgi?id=20625
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::addMessageToConsole):
-
-2009-07-11 Simon Fraser <simon.fraser@apple.com>
-
- Enable support for accelerated compositing and 3d transforms on Leopard.
- <https://bugs.webkit.org/show_bug.cgi?id=20166>
- <rdar://problem/6120614>
-
- Reviewed by Oliver Hunt.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-07-10 David Kilzer <ddkilzer@apple.com>
-
- Bug 27007: Build fixes when ICONDATABASE is disabled
-
- <https://bugs.webkit.org/show_bug.cgi?id=27007>
-
- Reviewed by Sam Weinig.
-
- * Misc/WebIconDatabase.mm:
- (defaultClient): Return 0 if ICONDATABASE is disabled.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidReceiveIcon): Commented out
- the body of the method if ICONDATABASE is disabled.
- (WebFrameLoaderClient::registerForIconNotification): Ditto.
- * WebCoreSupport/WebIconDatabaseClient.mm: Added #if
- ENABLE(ICONDATABASE)/#endif guard to source.
- * WebView/WebView.mm:
- (-[WebView setFrameLoadDelegate:]): Wrapped code that starts the
- icon database machinery in #if ENABLE(ICONDATABASE)/#endif.
- (-[WebView _registerForIconNotification:]): Wrapped method in
- #if ENABLE(ICONDATABASE)/#endif guard.
- (-[WebView _dispatchDidReceiveIconFromWebFrame:]): Ditto.
- * WebView/WebViewInternal.h: Wrapped methods in #if
- ENABLE(ICONDATABASE)/#endif guard.
- (-[WebView _registerForIconNotification:]):
- (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
-
-2009-07-10 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by John Sullivan.
-
- Flashing as hardware layers are created and destroyed in some content
- <rdar://problem/7032246>
-
- There's a window of time between the end of one runloop cycle, after CA layers changes
- have been committed, and the window display at the start of the next cycle when
- CA may push updates to the screen before AppKit has drawn the view contents. If
- we know that we need to do drawing synchronization (which we do when content moves
- between a layer and the view), then we need to call -disableScreenUpdatesUntilFlush
- from the existing runloop observer that is set up when layers need repainting to
- ensure that layer updates don't reach the screen before view-based painting does.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawRect:]):
- Tweak the comments
-
- * WebView/WebView.mm:
- (viewUpdateRunLoopObserverCallBack):
- (-[WebView _scheduleViewUpdate]):
- Add a big comment to explain the timing of things.
- Call -disableScreenUpdatesUntilFlush when the view _needsOneShotDrawingSynchronization.
-
- 2009-07-09 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Tim Hatcher.
-2009-07-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Sam Weinig with the power of Grayskull.
-
- Enable XSSAuditor by default.
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
-
-2009-07-10 Greg Bolsinga <bolsinga@apple.com>
-
- Reviewed by Antti Koivisto.
-
- Add delegate methods about focus and blur and state change
- https://bugs.webkit.org/show_bug.cgi?id=27153
-
- Call the appropriate private delegate methods from the ChromeClient.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::formStateDidChange):
- (WebChromeClient::formDidFocus):
- (WebChromeClient::formDidBlur):
- * WebView/WebUIDelegatePrivate.h:
-
-2009-07-09 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Tim Hatcher.
-
- https://bugs.webkit.org/show_bug.cgi?id=27141
-
- Updated WebInspectorClient to use Web Inspector Preferences to remember whether or not it should be
- docked or a free window instead of NSUserDefaults it used to have.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController init]):
- (-[WebInspectorWindowController showWindow:]):
- (-[WebInspectorWindowController attach]):
- (-[WebInspectorWindowController detach]):
-
-2009-07-09 Drew Wilson <atwilson@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=26903
-
- Turned on CHANNEL_MESSAGING by default because the MessageChannel API
- can now be implemented for Web Workers and is reasonably stable.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-07-09 Darin Adler <darin@apple.com>
-
- Reviewed by Adele Peterson and Dan Bernstein.
-
- <rdar://problem/7024972> Cannot set font to Helvetica Neue Light in Mail compose window
-
- No regression test because this only affects the font panel.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _addToStyle:fontA:fontB:]): Fix code that detects whether the font would
- survive a round trip by using the weight corresponding to "bold" or "normal" rather than
- the actual weight number.
-
-2009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Make Widget RefCounted to fix:
-
- <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
- at WebCore::Widget::afterMouseDown() after clicking To Do's close
- box
- <rdar://problem/6978804> WER #16: Repro Access Violation in
- WebCore::PluginView::bindingInstance (1310178023)
- -and-
- <rdar://problem/6991251> WER #13: Crash in WebKit!
- WebCore::PluginView::performRequest+203 (1311461169)
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin):
-
-2009-07-09 Sam Weinig <sam@webkit.org>
-
- Reviewed by Steve Falkenburg.
-
- Roll out r43848. The quirk is no longer necessary.
-
- * WebView/WebView.mm:
- (-[WebView WebCore::_userAgentForURL:WebCore::]):
-
-2009-07-09 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Geoff Garen.
-
- <rdar://problem/6921671> Visit count shouldn't be incremented by redirects.
-
- * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory):
- Do not increase visit count if there is a redirect source. As a result, only pages that were
- explicitly visited by the user (by typing a URL, choosing one from bookmarks, or clicking
- a link) will be counted.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate visitedURL:withTitle:increaseVisitCount:]):
- (-[WebHistory _visitedURL:withTitle:method:wasFailure:increaseVisitCount:]):
- * History/WebHistoryInternal.h:
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem _visitedWithTitle:increaseVisitCount:]):
- * History/WebHistoryItemInternal.h:
- Marshal this new argument all the way down to WebCore.
-
-2009-07-08 Greg Bolsinga <bolsinga@apple.com>
-
- Reviewed by Darin Adler.
-
- Add -[WebView _isProcessingUserGesture]
- https://bugs.webkit.org/show_bug.cgi?id=27084
-
- Add -_isProcessingUserGesture that calls into WebCore::FrameLoader::isProcessingUserGesture()
- so that WebView code can determine if a user gesture is in progress.
-
- * WebView/WebView.mm:
- (-[WebView _isProcessingUserGesture]):
- * WebView/WebViewPrivate.h:
-
-2009-07-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- - Fix <rdar://problem/6544693>.
-
- For Flash, don't cache which methods or fields in an object are missing, since they can
- be added at any time.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::hostForPackage):
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- (WebKit::NetscapePluginHostProxy::shouldCacheMissingPropertiesAndMethods):
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
-
-2009-07-06 David Kilzer <ddkilzer@apple.com>
-
- Bug 27006: Build fix when MAC_JAVA_BRIDGE is disabled
-
- <https://bugs.webkit.org/show_bug.cgi?id=27006>
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createJavaAppletWidget): Wrap contents of
- the method in #if ENABLE(MAC_JAVA_BRIDGE)/#endif and return 0
- when this feature is disabled.
-
-2009-07-06 David Kilzer <ddkilzer@apple.com>
-
- Bug 27005: Build fixes when NETSCAPE_PLUGIN_API is disabled
-
- <https://bugs.webkit.org/show_bug.cgi?id=27005>
-
- Reviewed by Geoff Garen.
-
- * Plugins/WebPluginController.mm:
- (-[WebPluginController destroyPlugin:]): Wrap call to
- ScriptController::cleanupScriptObjectsForPlugin() in
- #if ENABLE(NETSCAPE_PLUGIN_API)/#endif macro.
- (-[WebPluginController destroyAllPlugins]): Ditto.
- * Plugins/WebPluginDatabase.mm:
- (-[WebPluginDatabase removePluginInstanceViewsFor:]): Wrap
- WebBaseNetscapePluginView class checks in
- #if ENABLE(NETSCAPE_PLUGIN_API)/#endif macro.
- (-[WebPluginDatabase destroyAllPluginInstanceViews]): Ditto.
-
-2009-07-06 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX: Use ENABLE(NETSCAPE_PLUGIN_API) instead of USE(PLUGIN_HOST_PROCESS)
-
- In r45579, #if/#endif macros for USE(PLUGIN_HOST_PROCESS) were
- used, but ENABLE(NETSCAPE_PLUGIN_API) should have been used
- instead.
-
- * Plugins/WebNetscapeContainerCheckContextInfo.h:
- * Plugins/WebNetscapeContainerCheckContextInfo.mm:
- * Plugins/WebNetscapeContainerCheckPrivate.mm:
-
-2009-07-06 David Kilzer <ddkilzer@apple.com>
-
- Bug 27004: Build fix for ENABLE(PLUGIN_PROXY_FOR_VIDEO) after r42618
-
- <https://bugs.webkit.org/show_bug.cgi?id=27004>
-
- Reviewed by Geoff Garen.
-
- * Plugins/WebPluginController.mm:
- (mediaProxyClient): Use core() method to convert from
- DOMElement to WebCore::Element.
-
-2009-07-06 David Kilzer <ddkilzer@apple.com>
-
- Bug 27003: Build fix when USE(PLUGIN_HOST_PROCESS) is disabled
-
- <https://bugs.webkit.org/show_bug.cgi?id=27003>
-
- Reviewed by Geoff Garen.
-
- * Plugins/WebNetscapeContainerCheckContextInfo.h: Added #if
- USE(PLUGIN_HOST_PROCESS)/#endif guards.
- * Plugins/WebNetscapeContainerCheckContextInfo.mm: Ditto.
- * Plugins/WebNetscapeContainerCheckPrivate.mm: Ditto.
-
-2009-07-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adele Peterson.
-
- Initialize wkIsLatchingWheelEvent.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2009-07-03 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- - fix <rdar://problem/6964278> REGRESSION (r42118): Scrolling redraw
- problem in FileMaker Pro
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- Perform layout if needed, even on Mac OS X versions that have
- -viewWillDraw. This prevents attempts to draw without layout in case
- -viewWillDraw was not called due to NSView issues or the client
- did something during the display operation that re-invalidated the
- layout.
-
-2009-07-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6978783>
- Software-rendered plug-in does not update correctly when inside a hardware layer
-
- Replace calls to setNeedsDisplay: and setNeedsDisplayInRect: with a call to the new method
- invalidatePluginContentRect:. This new method will ask WebCore to do the repainting, taking
- transforms into account.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invalidateRect):
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView pluginHostDied]):
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView windowBecameKey:]):
- (-[WebBaseNetscapePluginView windowResignedKey:]):
- (-[WebBaseNetscapePluginView preferencesHaveChanged:]):
- (-[WebBaseNetscapePluginView invalidatePluginContentRect:]):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView invalidateRect:]):
- (-[WebNetscapePluginView invalidateRegion:]):
- (-[WebNetscapePluginView forceRedraw]):
-
-2009-07-02 Adam Roben <aroben@apple.com>
-
- Fix warnings from update-webkit-localizable-strings
-
- Rubber-stamped by Eric Carlson.
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory mediaElementLoadingStateText]):
- (-[WebViewFactory mediaElementLiveBroadcastStateText]):
- Changed the localization comments to match the comments in the Windows
- version of this file, to avoid warnings about different comments for
- the same localized string.
-
-2009-07-02 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Compositing-related preference methods are not public API; should move to WebPreferencesPrivate.h
- <rdar://problem/7027363>
-
- Move accelerated-compositing pref to WebPreferencesPrivate.h
-
- * WebView/WebPreferences.h:
- * WebView/WebPreferences.mm:
- (-[WebPreferences acceleratedCompositingEnabled]):
- (-[WebPreferences setAcceleratedCompositingEnabled:]):
- * WebView/WebPreferencesPrivate.h:
-
-2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/6518119>
-
- Add localized strings for media controller status messages.
-
- * WebCoreSupport/WebViewFactory.mm: Add new localized text.
- (-[WebViewFactory mediaElementLoadingStateText]):
- (-[WebViewFactory mediaElementLiveBroadcastStateText]):
-
-2009-07-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
-
- * WebView/WebPreferenceKeysPrivate.h:
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences localFileContentSniffingEnabled]):
- (-[WebPreferences setLocalFileContentSniffingEnabled:]):
- * WebView/WebPreferencesPrivate.h:
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2009-07-01 David Hyatt <hyatt@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
- even though the field is not actually focused for keyboard input
-
- Add the concept of whether or not the Page is focused by adding a boolean to the focusController. This allows the
- focused frame and focused node to both be cached and changed programmatically without causing errors when the Page doesn't
- have focus.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView becomeFirstResponder]):
- (-[WebHTMLView resignFirstResponder]):
-
-2009-06-30 Adele Peterson <adele@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fix for <rdar://problem/7014389> REGRESSION(4-TOT): Hyperlinks have no tooltips in Mail unless you first click in the message body
-
- Updated these new methods (added as part of the viewless WebKit effort) that call through to WebHTMLView to use _selectedOrMainFrame,
- instead of just selectedFrame. When the selection changes, I don't think there is a situation where there's no selected frame, but
- it seems better to keep these two uses the same, since if there is a case, this will be more like the old behavior, before there was
- a version of _selectionChanged in WebView.
-
- * WebView/WebView.mm:
- (-[WebView _setToolTip:]):
- (-[WebView _selectionChanged]):
-
-2009-06-30 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- <rdar://problem/7006959> 'Save as…’ does not work in Mail
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView initWithFrame:]): Call _needMailThreadWorkaroundIfCalledOffMainThread rather than
- needMailThreadWorkaround, as the latter is intended to be used at the point which a workaround would
- be applied and thus contains a main thread check. Since -initWithFrame: is called on the main thread,
- this was causing us to not switch from exception-throwing to logging for the thread violation behavior.
-
-2009-06-30 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
- to Grid" window is clipping
-
- * Misc/WebKitVersionChecks.h: Added
- WEBKIT_FIRST_VERSION_WITHOUT_SHADE10_QUIRK
- * WebView/WebView.mm:
- (-[WebView _needsLinkElementTextCSSQuirk]): Added. Returns YES if the
- client app is a version of Shade 10 earlier than 10.6 and it was
- linked against a version of WebKit earlier than 531.2.
- (-[WebView _preferencesChangedNotification:]): Added a call to
- Settings::setTreatsAnyTextCSSLinkAsStylesheet().
-
-2009-06-29 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
- Add QTMovieGetType.
-
-2009-06-29 David Hyatt <hyatt@apple.com>
-
- Reviewed by Adam Roben.
-
- Put datagrid behind an #ifdef.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-06-26 John Sullivan <sullivan@apple.com>
-
- Added support for disabling Stop Speaking when there is no speaking to stop.
- Also fixed Stop Speaking so that it works (formerly it would throw an exception, and
- selecting it from the menu would perform a web search instead (!)).
-
- Reviewed by Tim Hatcher.
-
- * WebCoreSupport/WebContextMenuClient.h:
- declare isSpeaking()
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::isSpeaking):
- implement by calling through to NSApplication
- (WebContextMenuClient::stopSpeaking):
- fixed implementation by correcting the signature of the NSApplication method
-
-2009-06-26 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser <simon.fraser@apple.com>.
-
- Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651
-
- The flag should always default to true to avoid it getting set
- to false in a build with accelerated compositing turned off
- and then disabling accelerated compositing when subsequently
- running a build with it turned on.
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
-
-2009-06-26 Brady Eidson <beidson@apple.com>
-
- Fix SnowLeopard build.
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::didReceiveResponse):
-
-2009-06-26 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
-
- Replace all usage of the now obsolete [NSURLResponse _webcore_MIMEType].
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::didReceiveResponse):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView pluginView:receivedData:]):
- * Plugins/WebPluginController.mm:
- (-[WebPluginController pluginView:receivedResponse:]):
- * WebView/WebDataSource.mm:
- (-[WebDataSource _responseMIMEType]):
- * WebView/WebResource.mm:
- (-[WebResource _initWithData:URL:response:]):
-
-2009-06-26 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/6651201> Update lookalike character list.
-
- * Misc/WebNSURLExtras.mm: (isLookalikeCharacter): Added more characters to the list.
-
-2009-06-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <rdar://problem/6989017>
- REGRESSION (SnowLeopard): RealPlayer content replays when opening a new tab or switching back to the RealPlayer tab
-
- If a plug-in fails in NPP_New, we would try to recreate it whenever the preferences for a web view would change.
-
- Fix this by setting a flag when we fail to instantiate the plug-in, so we only try once.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView start]):
-
-2009-06-25 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser <simon.fraser@apple.com>.
-
- https://bugs.webkit.org/show_bug.cgi?id=26651
-
- Preference is named "WebKitAcceleratedCompositingEnabled"
- and is a boolean value. When false, prevents compositing layers from
- being created, which prevents hardware animation from running.
- Also forces video to do software rendering. Added a cache for
- the flag in RenderLayerCompositing and made it all work
- on-the-fly when the flag is changed while a page is loaded.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences acceleratedCompositingEnabled]):
- (-[WebPreferences setAcceleratedCompositingEnabled:]):
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2009-06-24 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Fix the most recently seen kind of crash in <rdar://problem/5983224>
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Null-check the
- Frame.
-
-2009-06-24 Jeff Johnson <opendarwin@lapcatsoftware.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=26638 WebKitErrors.m: _initWithPluginErrorCode: does not set localizedDescription
-
- Add localized descriptions for plugin errors.
- The localized strings already existed but were unused; now NSLocalizedDescriptionKey is added to the NSError userInfo.
-
- * Misc/WebKitErrors.m:
- (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
-
-2009-06-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6950660> REGRESSION: iSale 5.5.3 crashes after I click a template to load
-
- Due to some subtle WebKit changes - presumably some delegate callback behavior - a latent bug in
- iSale was uncovered where they aren't properly retaining their FrameLoadDelegate, and we ended up
- calling back to a dealloc'ed object.
-
- * WebView/WebView.mm:
- (-[WebView _needsAdobeFrameReloadingQuirk]): Use more intelligent C++-style initialization.
- (-[WebView _needsKeyboardEventDisambiguationQuirks]): Ditto.
- (-[WebView _needsFrameLoadDelegateRetainQuirk]): YES for iSale versions under 5.6
- (-[WebView dealloc]): Release the delegate if the quirk is in effect.
- (-[WebView setFrameLoadDelegate:]): Retain the new delegate if the quirk is in effect.
-
-2009-06-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- - Fix <rdar://problem/6965672>
-
- Defer calls to WKPCInvalidateRect, so we don't try to invalidate while waiting for a reply, since
- that is too early.
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- (WebKit::NetscapePluginHostProxy::isProcessingRequests):
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
- (WebKit::NetscapePluginHostProxy::processRequests):
- (WKPCInvalidateRect):
-
-2009-06-22 Timothy Hatcher <timothy@apple.com>
-
- Add Mail on Tiger and Leopard to the list of applications that need the WebView init thread workaround.
-
- <rdar://problem/6929524> Console shows WebKit Threading Violations from Mail
-
- Reviewed by Anders Carlsson.
-
- * WebView/WebView.mm:
- (clientNeedsWebViewInitThreadWorkaround): Return true for com.apple.Mail.
-
-2009-06-22 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- - speculative fix for <rdar://problem/6889082>
- Crash at -[WebHTMLView(WebPrivate) _updateMouseoverWithEvent:]
-
- The crash seems to happen because lastHitView points to a deleted
- object. Since -close calls -_clearLastHitViewIfSelf, I speculate that
- lastHitView has been set to an already-closed view.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView hitTest:]): Return nil if the view is closed.
-
-2009-06-22 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input,
- Japanese can't be input.
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView _updateSelectionForInputManager]): Removed an
- unnecessary check - the function has an early return for null frame.
-
-2009-06-22 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - fix <rdar://problem/6990938> REGRESSION (r42787): After showing and
- hiding the Find banner, the WebHTMLView's height is not restored
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView setFrameSize:]): Mark the FrameView for layout when the
- WebFrameView's size changes.
- * WebView/WebView.mm:
- (-[WebView setFrameSize:]): Left the resize logic here, but only for
- the single view model.
-
-2009-06-20 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/6964221> Need more processing of pluginspage.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin): Check protocolInHTTPFamily.
-
-2009-06-18 Adam Barth <abarth@webkit.org>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=26199
-
- Added preference to enable the XSSAuditor.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences isXSSAuditorEnabled]):
- (-[WebPreferences setXSSAuditorEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2009-06-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/6926859>
- NPN_ConvertPoint doesn't give the right value when converting to/from NPCoordinateSpaceFlippedScreen
-
- When inverting Y, use the height of the first screen instead of the screen the window is on.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::windowFrameChanged):
- (WebKit::NetscapePluginInstanceProxy::mouseEvent):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
-
-2009-06-16 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein
-
- <rdar://problem/6976766> Control-click on pages with accelerated compositing
- content does not work.
-
- Part deux. #ifdef the use of _private->layerHostingView with
- USE(ACCELERATED_COMPOSITING)
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView hitTest:]):
-
-2009-06-16 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein
-
- <rdar://problem/6976766> Control-click on pages with accelerated compositing
- content does not work.
-
- Remove the WebLayerHostingView subclass of NSView, with its attempts to
- forward events to the WebHTMLView, and just fix -[WebHTMLView hitTest:]
- to ignore the layerHostingView.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView hitTest:]):
- (-[WebHTMLView attachRootLayer:]):
-
-2009-06-15 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Mark Rowe.
-
- <rdar://problem/6974857>
-
- Define ENABLE_3D_RENDERING when building on 10.6, and move ENABLE_3D_RENDERING
- switch from config.h to wtf/Platform.h.
-
- * Configurations/FeatureDefines.xcconfig:
- * WebKitPrefix.h:
-
-2009-06-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6967569>
- CrashTracer: 15 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostManager::didCreateWindow + 85
-
- Make sure to remove the entry from the plug-in host map so we won't end up with an entry that has a null value.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::hostForPackage):
-
-2009-06-15 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Tim Hatcher.
-
- - make the source code font in the Web Inspector match Mac defaults
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController init]): Set the default monospace font
- to 11px Menlo, except on Leopard and Tiger where it is 10px Monaco.
-
-2009-06-09 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Eric Seidel. Landed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=26281
-
- REGRESSION: Copying from TextEdit/OmniGraffle and pasting into editable
- region loses images
-
- Prefer RTFD (RTF with inline images) over RTF. In
- http://trac.webkit.org/changeset/19745 I accidently reversed their
- order.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
-
-2009-06-13 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Fisher.
-
- https://bugs.webkit.org/show_bug.cgi?id=24492
-
- Move registerURLSchemeAsLocal from FrameLoader to SecurityOrigin
-
- * WebView/WebView.mm:
- (+[WebView registerURLSchemeAsLocal:]):
-
-2009-06-12 Peter Kasting <pkasting@google.com>
-
- Reviewed by Eric Seidel.
-
- * ChangeLog-2007-10-14: Change pseudonym "Don Gibson" to me (was used while Google Chrome was not public); update my email address.
-
-2009-06-08 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- - gave Objective-C++ files the .mm extension
-
- * Carbon/HIWebView.m: Removed.
- * Carbon/HIWebView.mm: Copied from WebKit/mac/Carbon/HIWebView.m.
- * Misc/WebKitNSStringExtras.m: Removed.
- * Misc/WebKitNSStringExtras.mm: Copied from WebKit/mac/Misc/WebKitNSStringExtras.m.
- * Misc/WebStringTruncator.m: Removed.
- * Misc/WebStringTruncator.mm: Copied from WebKit/mac/Misc/WebStringTruncator.m.
- * WebInspector/WebNodeHighlight.m: Removed.
- * WebInspector/WebNodeHighlight.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlight.m.
- * WebInspector/WebNodeHighlightView.m: Removed.
- * WebInspector/WebNodeHighlightView.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlightView.m.
- * WebView/WebDynamicScrollBarsView.m: Removed.
- * WebView/WebDynamicScrollBarsView.mm: Copied from WebKit/mac/WebView/WebDynamicScrollBarsView.m.
-
-2009-06-05 David Hyatt <hyatt@apple.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=26220
-
- Update a WebView's active state when it moves to a different window.
-
- * WebView/WebView.mm:
- (-[WebView viewDidMoveToWindow]):
-
-2009-06-04 Sam Weinig <sam@webkit.org>
-
- Reviewed by Alice Liu.
-
- Move WebView internal data into WebViewData.h/mm.
-
- * WebView/WebDelegateImplementationCaching.mm:
- * WebView/WebView.mm:
- * WebView/WebViewData.h: Copied from mac/WebView/WebViewInternal.h.
- * WebView/WebViewData.mm: Copied from mac/WebView/WebViewInternal.mm.
- * WebView/WebViewInternal.h:
- * WebView/WebViewInternal.mm: Removed.
-
-2009-06-04 David Hyatt <hyatt@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove _updateFocusedStateForFrame, since it's actually not even necessary now that I made
- setFocusedFrame get called explicitly from become/ResignFirstResponder. setFocusedFrame does
- the work of focusing the selection already.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView becomeFirstResponder]):
- (-[WebHTMLView resignFirstResponder]):
- * WebView/WebView.mm:
- * WebView/WebViewInternal.h:
-
-2009-06-04 Dan Bernstein <mitz@apple.com>
-
- - build fix
-
- * WebView/WebViewInternal.mm:
-
-2009-06-03 David Hyatt <hyatt@apple.com>
-
- Reviewed by Sam Weinig.
-
- Reworking of focus and active state updating for WebHTMLViews so that it actually works instead of reporting wrong answers.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
- WebHTMLViews become first responders before they are able to reach their Frames/Pages. This happens because the NSClipView
- becomes first responder when the WebHTMLView gets destroyed, and then we transfer the responder state back to the new WebHTMLView
- when it is first connected. Once we have transitioned to a new page and have the Frame/Page available, go ahead and explicitly
- focus the frame in WebCore and update our focused state. This change allows us to remove the updateFocusedActive timer and the
- code from viewDidMoveToWindow.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView close]):
- (-[WebHTMLView addWindowObservers]):
- (-[WebHTMLView viewWillMoveToWindow:]):
- (-[WebHTMLView viewDidMoveToWindow]):
- (-[WebHTMLView _removeWindowObservers]):
- Remove all the updateFocusedActiveState timer code, since it no longer exists.
-
- (-[WebHTMLView windowDidBecomeKey:]):
- (-[WebHTMLView windowDidResignKey:]):
- Active state updating is no longer done by WebHTMLViews. It is handled by the WebView instead.
-
- (-[WebHTMLView becomeFirstResponder]):
- (-[WebHTMLView resignFirstResponder]):
- Reworking of WebHTMLView's code for gaining/losing responder status. No longer update active state here, since the active state
- can never change just because of responder changes. Make sure that the focused frame gets updated properly (and most importantly
- actually cleared when a WebHTMLView resigns responder status).
-
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebHTMLViewPrivate.h:
- State updating for focused and active states has been made independent.
-
- * WebView/WebView.mm:
- (-[WebView _updateActiveState]):
- WebView now handles updating of active state in _updateActiveState. It is now purely based off whether the window is key and nothing
- else.
-
- (-[WebView addWindowObserversForWindow:]):
- (-[WebView removeWindowObservers]):
- Start listening for the window becoming/losing key even in the usesDocumentViews case.
-
- (-[WebView _updateFocusedStateForFrame:]):
- Focused state updating is split into its own method now and called when WebHTMLViews gain and lose responder status.
-
- (-[WebView _windowDidBecomeKey:]):
- (-[WebView _windowDidResignKey:]):
- Make sure to call _updateActiveState as the window gains/loses key.
-
- (-[WebView _windowWillOrderOnScreen:]):
- Run this code now that WebHTMLView no longer does it.
-
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
- Updating for the split of focused and active state updating into separate methods.
-
-2009-06-04 Mark Rowe <mrowe@apple.com>
-
- Speculative Tiger build fix.
-
- * WebView/WebDelegateImplementationCaching.h:
-
-2009-06-03 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Move delegate implementation caching logic into its own files.
-
- * WebView/WebDelegateImplementationCaching.h: Copied from mac/WebView/WebViewInternal.h.
- * WebView/WebDelegateImplementationCaching.mm: Copied from mac/WebView/WebView.mm.
- (WebViewGetResourceLoadDelegateImplementations):
- (WebViewGetFrameLoadDelegateImplementations):
- (WebViewGetScriptDebugDelegateImplementations):
- * WebView/WebView.mm:
- * WebView/WebViewInternal.h:
-
-2009-06-03 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Move WebViewPrivate structure to WebViewInternal.h/mm.
-
- * WebView/WebView.mm:
- * WebView/WebViewInternal.h:
- * WebView/WebViewInternal.mm: Added.
- (+[WebViewPrivate initialize]):
- (-[WebViewPrivate init]):
- (-[WebViewPrivate dealloc]):
- (-[WebViewPrivate finalize]):
-
-2009-06-03 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Small cleanup in WebView.
- - Move global data initialization to WebView's initialization method.
- - Move _clearViewUpdateRunLoopObserver from WebViewPrivate to WebView (FileInternal)
-
- * WebView/WebView.mm:
- (-[WebViewPrivate init]): Remove global initializers.
- (-[WebViewPrivate dealloc]): Cleanup whitespace.
- (-[WebViewPrivate finalize]): Ditto.
- (-[WebView _close]): Call [self _clearViewUpdateRunLoopObserver] instead of
- [_private _clearViewUpdateRunLoopObserver]
- (+[WebView initialize]): Move global initializers here.
- (-[WebView _clearViewUpdateRunLoopObserver]): Moved from WebViewPrivate.
- (viewUpdateRunLoopObserverCallBack): Call [self _clearViewUpdateRunLoopObserver]
- instead of [_private _clearViewUpdateRunLoopObserver]
-
-2009-06-03 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- - WebKit part of eliminating WebCoreTextRenderer
-
- * Misc/WebKitNSStringExtras.m:
- (webkit_CGCeiling): Added.
- (-[NSString _web_drawAtPoint:font:textColor:]): Replaced the malloc()ed
- string buffer with a Vector. Moved code from
- WebCoreDrawTextAtPoint() to here.
- (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]):
- (-[NSString _web_widthWithFont:]): Replaced the malloc()ed string buffer
- with a Vector. Moved code from WebCoreTextFloatWidth() to here.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _addToStyle:fontA:fontB:]): Replaced call to
- WebCoreFindFont() with use of
- +[WebFontCache fontWithFamily:traits:weight:size:].
- * WebView/WebView.mm:
- (+[WebView _setAlwaysUsesComplexTextCodePath:]): Changed to call
- Font::setCodePath() directly.
- (+[WebView _setShouldUseFontSmoothing:]): Changed to call
- Font::setShouldUseSmoothing().
- (+[WebView _shouldUseFontSmoothing]): Changed to call
- Font::shouldUseSmoothing().
-
-2009-06-03 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- - remove a private method that was used only by Safari 3.0.
-
- * WebView/WebView.mm: Removed +_minimumRequiredSafariBuildNumber.
- * WebView/WebViewPrivate.h: Ditto.
-
-2009-06-03 Dan Bernstein <mitz@apple.com>
-
- - build fix
-
- * WebView/WebHTMLView.mm:
-
-2009-06-03 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- - build fix
-
- * WebView/WebHTMLView.mm:
- * WebView/WebView.mm:
-
-2009-06-02 Darin Adler <darin@apple.com>
-
- Reviewed by David Hyatt.
-
- Bug 26112: viewless WebKit -- make events work
- https://bugs.webkit.org/show_bug.cgi?id=26112
-
- One change here is to make the -[WebFrame frameView] function assert if ever called
- in viewless mode, and fix many callers that would trip that assertion.
-
- A major change is to put some methods and data in WebView that are currently in
- WebHTMLView, used only in viewless mode. A next step will be to use the WebView
- methods whenever possible, even when not in the viewless mode.
-
- Also fix FrameView to do normal reference counting instead of a strange model with
- an explicit deref near creation time.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::scrollRectIntoView): Add code to start in the appropriate place
- when dealing with viewless mode. This gets triggered when visiting the Google home page.
- (WebChromeClient::setToolTip): Changed to call WebView instead of WebHTMLView.
- (WebChromeClient::print): Changed to use a new selector that doesn't require a
- WebFrameView if present. Also don't even try to use the old selector in viewless mode.
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::respondToChangedSelection): Changed to call WebView instead of WebHTMLView.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::transitionToCommittedForNewPage): Added more code paths for
- viewless mode to skip things we can't do in that mode, with appropriate FIXME.
- Use Frame::create and RefPtr and eliminate the strange reference counting of FrameView.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource _receivedData:]): Added a _usesDocumentViews guard around code that's
- specific to document views.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Added a _usesDocumentViews
- guard around code that's specific to document views.
- (-[WebFrame _hasSelection]): Added an implementation for viewless mode.
- (-[WebFrame _clearSelection]): Assert we're not in viewless mode; it doesn't really
- make sense to clear the selection in only one frame in viewless mode. Later we can
- decide what to do.
- (-[WebFrame _dragSourceMovedTo:]): Assert we're not in viewless mode; the dragging
- code for viewless mode shouldn't have to involve the WebFrame object at all.
- (-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
- (-[WebFrame frameView]): Assert we're not in viewless mode. This assertion fires
- often, but it's a great pointer to code that needs to be changed.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView hitTest:]): Tweaked a comment.
- (-[WebHTMLView _updateMouseoverWithEvent:]): Fixed a bug where the fake event for
- moving the mouse out of the old view ended up overwriting the event for moving
- the mouse within the new view.
- (-[WebHTMLView mouseDown:]): Got rid of explicit conversion of event to
- PlatformMouseEvent in call to sendContextMenuEvent; that's no longer possible
- without passing another argument, and it's now handled in EventHandler.
-
- * WebView/WebTextCompletionController.h: Copied from WebKit/mac/WebView/WebHTMLView.mm.
- Removed everything except for the WebTextCompletionController class.
- * WebView/WebTextCompletionController.mm: Copied from WebKit/mac/WebView/WebHTMLView.mm.
- Ditto.
-
- * WebView/WebUIDelegatePrivate.h: Added webView:printFrame: method.
-
- * WebView/WebView.mm: Moved includes and fields in from WebHTMLView.
- (-[WebView _usesDocumentViews]): Updated for name change from useDocumentViews
- to usesDocumentViews.
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Ditto.
- (-[WebView drawSingleRect:]): Ditto.
- (-[WebView isFlipped]): Ditto.
- (-[WebView setFrameSize:]): Ditto. Also changed to use _mainCoreFrame method.
- (-[WebView _viewWillDrawInternal]): Ditto.
- (-[WebView viewWillDraw]): Ditto.
- (-[WebView drawRect:]): Ditto.
- (-[WebView _close]): Added code to nil out the lastMouseoverView global.
- (-[WebView _dashboardRegions]): Use _mainCoreFrame.
- (-[WebView setProhibitsMainFrameScrolling:]): Ditto.
- (-[WebView _setInViewSourceMode:]): Ditto.
- (-[WebView _inViewSourceMode]): Ditto.
- (-[WebView _attachScriptDebuggerToAllFrames]): Ditto.
- (-[WebView _detachScriptDebuggerFromAllFrames]): Ditto.
- (-[WebView textIteratorForRect:]): Ditto.
- (-[WebView _executeCoreCommandByName:value:]): Ditto.
- (-[WebView addWindowObserversForWindow:]): Ditto.
- (-[WebView removeWindowObservers]): Ditto.
- (-[WebView _updateFocusedAndActiveState]): Ditto.
- (-[WebView _updateFocusedAndActiveStateForFrame:]): Turned into a class method.
- Added code to handle the viewless case without calling frameView.
- (-[WebView _windowDidBecomeKey:]): Updated for name change from useDocumentViews
- to usesDocumentViews.
- (-[WebView _windowDidResignKey:]): Ditto.
- (-[WebView _windowWillOrderOnScreen:]): Ditto.
- (-[WebView mainFrame]): Tweaked.
- (-[WebView selectedFrame]): Added a conditional to avoid trying to get at the
- frame view in viewless case.
- (-[WebView _setZoomMultiplier:isTextOnly:]): Use _mainCoreFrame.
- (-[WebView setCustomTextEncodingName:]): Ditto.
- (-[WebView windowScriptObject]): Ditto.
- (-[WebView setHostWindow:]): Ditto. Also put some code that's needed only for
- document views inside _private->usesDocumentViews.
- (-[WebView _hitTest:dragTypes:]): Tweaked.
- (-[WebView acceptsFirstResponder]): Added case for viewless mode along with a
- FIXME, since it's not complete.
- (-[WebView becomeFirstResponder]): Ditto.
- (-[WebView _webcore_effectiveFirstResponder]): Put the body of this inside
- a usesDocumentView check, because we don't need the first responder forwarding
- in viewless mode.
- (-[WebView setNextKeyView:]): Ditto.
- (-[WebView mouseDown:]): Added. Copied from WebHTMLView. FIXME in here suggests
- that we make WebHTMLView share this one soon, which I think is practical.
- (-[WebView mouseUp:]): Ditto.
- (-[WebView setHoverFeedbackSuspended:]): Added a code path for viewless mode.
- (-[WebView shouldClose]): Use _mainCoreFrame.
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
- (-[WebView setEditable:]): Ditto.
- (-[WebView _frameViewAtWindowPoint:]): Added an assertion that we're not in
- viewless mode since this method makes no sense in that mode.
- (-[WebView _setMouseDownEvent:]): Added. Copied from WebHTMLView. I plan to
- eliminate the one in WebHTMLView soon.
- (-[WebView _cancelUpdateMouseoverTimer]): Ditto.
- (-[WebView _stopAutoscrollTimer]): Ditto.
- (+[WebView _updateMouseoverWithEvent:]): Ditto.
- (-[WebView _updateMouseoverWithFakeEvent]): Ditto.
- (-[WebView _setToolTip:]): Added. Calls through to the WebHTMLView version.
- (-[WebView _selectionChanged]): Ditto.
- (-[WebView _mainCoreFrame]): Added.
- (-[WebView _needsOneShotDrawingSynchronization]): Moved into the WebInternal
- category.
- (-[WebView _setNeedsOneShotDrawingSynchronization:]): Ditto.
- (-[WebView _startedAcceleratedCompositingForFrame:]): Ditto.
- (-[WebView _stoppedAcceleratedCompositingForFrame:]): Ditto.
- (viewUpdateRunLoopObserverCallBack): Ditto.
- (-[WebView _scheduleViewUpdate]): Ditto.
-
- * WebView/WebViewInternal.h: Made most of the file not compile at all when
- included from non-C++ source files, elminating some excess declarations and
- typedefs. Moved more methods into the real internal category. Added new
- methods _setMouseDownEvent, _cancelUpdateMouseoverTimer, _stopAutoscrollTimer,
- _updateMouseoverWithFakeEvent, _selectionChanged, and _setToolTip:.
-
-2009-06-02 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
-
- * Configurations/Base.xcconfig:
-
-2009-06-01 Darin Adler <darin@apple.com>
-
- * WebView/WebTextCompletionController.mm: Fix Tiger build by adding import
- of WebTypesInternal.h.
-
-2009-06-01 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Bug 26113: break WebTextCompletionController out into its own source file
- https://bugs.webkit.org/show_bug.cgi?id=26113
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLViewPrivate dealloc]): Updated for new name.
- (-[WebHTMLViewPrivate clear]): Ditto.
- (-[WebHTMLView _frameOrBoundsChanged]): Ditto.
- (-[WebHTMLView menuForEvent:]): Ditto.
- (-[WebHTMLView windowDidResignKey:]): Ditto.
- (-[WebHTMLView windowWillClose:]): Ditto.
- (-[WebHTMLView mouseDown:]): Ditto.
- (-[WebHTMLView resignFirstResponder]): Ditto.
- (-[WebHTMLView keyDown:]): Ditto.
- (-[WebHTMLView complete:]): Ditto. Also pass WebView to init method.
- (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Ditto.
-
- * WebView/WebTextCompletionController.h: Copied from mac/WebView/WebHTMLView.mm.
- * WebView/WebTextCompletionController.mm: Copied from mac/WebView/WebHTMLView.mm.
- Changed initializer to pass in a spearate WebView and WebHTMLView, to smooth the
- way for handling viewless mode properly in the future.
-
-2009-05-30 David Kilzer <ddkilzer@apple.com>
-
- Add JSLock to -[WebScriptCallFrame scopeChain]
-
- Reviewed by Darin Adler.
-
- In Debug builds of WebKit, Dashcode launching MobileSafari could
- cause the ASSERT(JSLock::lockCount() > 0) assertion to fire in
- JSC::Heap::heapAllocate() because the JSLock wasn't taken.
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]): Take JSLock before calling
- into JavaScriptCore.
-
-2009-05-28 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- Build fix. Move off a deprecated NSFileManager method.
-
- * Misc/WebNSFileManagerExtras.h:
- * Misc/WebNSFileManagerExtras.m:
- (-[NSFileManager destinationOfSymbolicLinkAtPath:error:]): Implement a new-in-Leopard method for Tiger to use.
- (-[NSFileManager attributesOfItemAtPath:error:]): Ditto.
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage _initWithPath:]): Use the new non-deprecated methods.
-
-2009-05-28 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Added new build flag --filters. More details in WebCore/ChangeLog.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-05-27 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=26009
- <rdar://problem/6925656> REGRESSION (r43973): Problems While Working With OpenVanilla
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _updateSelectionForInputManager]): Don't call updateWindows if the selection
- is None. This routinely happens during editing, and it doesn't mean that we left an editable
- area (in which case the selection changes to a non-editable one).
-
-2009-05-26 Sam Weinig <sam@webkit.org>
-
- Reviewed by Brady Eidson.
-
- Fix for <rdar://problem/6916371>
- iWeb 'Announce' button does nothing after publishing to MobileMe
-
- Add linked-on-or-after check to allow older WebKit apps to use the
- old behavior of sniffing everything (including file: urls)
-
- * Misc/WebKitVersionChecks.h:
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2009-05-26 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Ada Chan and Oliver Hunt.
-
- Remove WebView observers in during fast teardown.
- <rdar://problem/6922619> REGRESSION (Tiger-only?): After restoring windows from the previous session, a crash occurs while attempting to quit Safari
-
- * WebView/WebView.mm:
- (-[WebView _closeWithFastTeardown]):
-
-2009-05-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6901751>
- REGRESSION (r35515): Tiger crash painting the selection on registration page of car2go.com
-
- Remove WKCGContextIsSafeToClip.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2009-05-26 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - fix <rdar://problem/6922371> REGRESSION (r43973): Can't type first
- character with an umlaut, circumflex, or accent in Mail or in a wiki
-
- * WebView/WebHTMLView.mm:
- (isTextInput): Moved here.
- (isInPasswordField): Moved here.
- (-[WebHTMLView becomeFirstResponder]): Update the exposeInputContext
- flag and let NSApplication update the input manager with the new input
- context if necessary.
- (-[WebHTMLView _updateSelectionForInputManager]): Changed to use the
- NSApp global instead of +[NSApplication sharedApplication].
-
-2009-05-26 Mark Rowe <mrowe@apple.com>
-
- Fix the Tiger build.
-
- * Misc/WebNSObjectExtras.mm:
- (-[NSInvocation _webkit_invokeAndHandleException:]): Rename the local variable so that
- it doesn't conflict with a member variable on Tiger.
-
-2009-05-26 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- <rdar://problem/6921835> REGRESSION (r44115): Crash in Leopard Mail viewing message
-
- Fix case where we autorelease an object on the main thread that we are returning
- to another thread when using our _webkit_invokeOnMainThread method.
-
- * Misc/WebNSObjectExtras.mm:
- (returnTypeIsObject): Added.
- (-[WebMainThreadInvoker forwardInvocation:]): Autorelease the object on the calling
- thread, balancing a retain done on the main thread.
- (-[NSInvocation _webkit_invokeAndHandleException:]): Retain the object on the main
- thread.
-
-2009-05-26 David Hyatt <hyatt@apple.com>
-
- Back out the workaround for Mail crashing. Darin is working on the real fix.
-
- * Misc/WebNSObjectExtras.mm:
- (-[WebMainThreadInvoker forwardInvocation:]):
-
-2009-05-26 David Hyatt <hyatt@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=25969.
-
- Stop using notifications for boundsChanged, since the notifications are being sent too late.
- Since subviews get resized before parents do, the notification comes in telling the WebHTMLView
- that its size has changed *before* we've done setNeedsLayout in the WebView size change callback.
-
- Become more like the Windows platform and just do the bounds changed immediately as our size is
- being altered by subclassing setFrameSize in WebView.
-
- Also patch WebDynamicScrollbarsView to detect the case where neither axis is really spilling out
- past the viewport, so that in shrinking situations we figure out that we don't need scrollbars
- any more.
-
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]):
- * WebView/WebView.mm:
- (-[WebView _boundsChangedToNewSize:]):
- (-[WebView setFrameSize:]):
- (-[WebView viewWillMoveToWindow:]):
- (-[WebView viewDidMoveToWindow]):
-
-2009-05-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- - WebKit side of <rdar://problem/6914001>.
-
- * Plugins/Hosted/NetscapePluginHostManager.h:
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::didCreateWindow):
- Iterate over all plug-in hosts. If one is in full-screen mode, make sure to activate the
- WebKit app instead.
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- (WebKit::NetscapePluginHostProxy::isMenuBarVisible):
- Add getter.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCEvaluate):
- Add allowPopups flag.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
- (WebKit::NetscapePluginInstanceProxy::PluginRequest::allowPopups):
- (WebKit::NetscapePluginInstanceProxy::loadURL):
- (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript):
- (WebKit::NetscapePluginInstanceProxy::loadRequest):
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- Use "allowPopups" instead of "userGesture".
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- Add allowPopups argument to Evaluate.
-
- * Plugins/Hosted/WebKitPluginHostTypes.h:
- Use "allowPopups" instead of "userGesture".
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::createWindow):
- Call didCreateWindow here.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchCreatePage):
- Ditto.
-
-2009-05-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- - Fix <rdar://problem/6915849>.
-
- Release the placeholder window after -[NSApplication runModalForWindow] returns.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::beginModal):
- (WebKit::NetscapePluginHostProxy::endModal):
-
-2009-05-24 Dan Bernstein <mitz@apple.com>
-
- - revert an accidental change from r43964.
-
- * WebView/WebView.mm:
- (+[WebView _setShouldUseFontSmoothing:]):
-
-2009-05-24 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein and Tim Hatcher.
-
- <rdar://problem/6913045> New console message spewed by automator CLI after installing JetstreamLeo40B21a
-
- * Misc/WebNSObjectExtras.mm:
- (-[WebMainThreadInvoker initWithTarget:]): Tweaked argument name.
- (-[WebMainThreadInvoker forwardInvocation:]): Removed call to retainArguments.
- This was unneeded and in the case of a newly created but not yet fully initialized
- NSView object it caused the abovementioned bug.
- (-[WebMainThreadInvoker handleException:]): Tweaked argument name. Added assertion.
- (-[NSInvocation _webkit_invokeAndHandleException:]): Tweaked name of local variable
- that holds the exception.
-
-2009-05-23 David Kilzer <ddkilzer@apple.com>
-
- Part 2 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
-
- <https://bugs.webkit.org/show_bug.cgi?id=25495>
-
- Reviewed by Oliver Hunt.
-
- * History/WebHistory.mm:
- (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): Return
- 0 instead of an empty auto_ptr<>.
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem initFromDictionaryRepresentation:]): Use
- OwnPtr<> instead of auto_ptr<> for stack variable.
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::createHTMLParserQuirks): Return a PassOwnPtr<>
- instead of a raw HTMLParserQuirks pointer.
-
-2009-05-23 David Kilzer <ddkilzer@apple.com>
-
- Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
-
- <https://bugs.webkit.org/show_bug.cgi?id=25495>
-
- Reviewed by Oliver Hunt.
-
- * ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
- * ForwardingHeaders/wtf/PassOwnPtr.h: Added.
-
-2009-05-22 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - Fix <rdar://problem/6913765> REGRESSION (r42331-r42334): Extra scroll
- bars appearing on Welcome panels of iLife '09 apps
-
- * WebView/WebView.mm:
- (needsUnwantedScrollBarWorkaround): Added. Checks if this is a panel
- where scroll bars are unwanted. For safety, limited to only Apple applications.
- (-[WebView viewDidMoveToWindow]): If the workaround is needed, disallow
- scrolling the main frame. This prevents scroll bars from appearing.
-
-2009-05-22 Adam Barth <abarth@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=25955
-
- Remove the policyBaseURL parameter from setCookie. This parameter is
- redudant with the document parameter.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::setCookies):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView setVariable:forURL:value:length:]):
-
-2009-05-21 Darin Fisher <darin@chromium.org>
-
- Fix-up coding style.
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::getAutoCorrectSuggestionForMisspelledWord):
-
-2009-05-20 Siddhartha Chattopadhyaya <sidchat@google.com>
-
- Reviewed by Justin Garcia.
-
- Add automatic spell correction support in WebKit
-
- https://bugs.webkit.org/show_bug.cgi?id=24953
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::getAutoCorrectSuggestionForMisspelledWord):
-
-2009-05-21 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6907542> REGRESSION (r43143): Hang in RenderLineBoxList::dirtyLinesFromChangedChild
- when clicking link to load Flash animation (http://www.roambi.com)
-
- * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection):
- Don't call -[NSApplication updateWindows] here, WebHTMLView can take care of this.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView inputContext]): Use a precomputed boolean stored in WebHTMLViewPrivate, as
- calling isTextInput() is not always safe.
- (-[WebHTMLView textStorage]): Ditto.
- (-[WebHTMLView _updateSelectionForInputManager]): Update _private->exposeInputContext when
- selection changes, and let AppKit update its cache if necessary.
-
-2009-05-21 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5579292> REGRESSION (2-3): "Default default" encoding for Korean changed
- from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Update the existing fix
- for the changed result of CFStringConvertEncodingToIANACharSetName().
-
-2009-05-21 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6883758> REGRESSION (r43143): First character typed with input method does
- not go into inline hole (seen with Chinese & Kotoeri on top Chinese website www.baidu.com)
-
- * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection):
- Call -[NSApplication updateWindows] to make AppKit re-fetch the input context when selection
- changes. Since we use SelectionController to check whether the view is editable, it is
- important not to re-fetch the context too early, e.g. from a focus changed notification.
-
-2009-05-21 Eric Seidel <eric@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Rename DragController::dragOperation() to sourceDragOperation() for clarity
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
-
-2009-05-21 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- - WebKit part of <rdar://problem/6901751> REGRESSION (r35515): Tiger
- crash painting the selection on registration page of car2go.com
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Added CGContextIsSafeToClip.
-
-2009-05-20 Stephanie Lewis <slewis@apple.com>
-
- Update the order files. <rdar://problem/6881750> Generate new order files.
-
- * WebKit.order:
-
-2009-05-20 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6905336> REGRESSION: "Clear History" does not save empty history to disk
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate data]): If there are no entries, return an empty NSData instead of nil.
-
-2009-05-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler and Kevin Decker.
-
- WebKit side of <rdar://problem/6895072>
-
- Pass the localization as a launch property.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
-
-2009-05-20 Dan Bernstein <mitz@apple.com>
-
- - fix the build after r43918
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::setCursor):
-
-2009-05-20 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/4023899> Shift-Tab skips key views in toolbar in Safari, although Tab
- iterates through them properly
-
- * WebView/WebView.mm:
- (-[WebView previousValidKeyView]): Work around a bug in -[NSView previousValidKeyView].
-
-2009-05-19 Timothy Hatcher <timothy@apple.com>
-
- Add a new private API method that will dispatch pending loads that have been scheduled
- because of recent DOM additions or style changes.
-
- <rdar://problem/6889218> REGRESSION: Some iChat transcript resources are not
- loaded because willSendRequest doesn't happen immediately
-
- Reviewed by Antti Koivisto.
-
- * WebView/WebView.mm:
- (-[WebView _dispatchPendingLoadRequests]): Call Loader::servePendingRequests().
- * WebView/WebViewPrivate.h: Added _dispatchPendingLoadRequests.
-
-2009-05-18 Sam Weinig <sam@webkit.org>
-
- <rdar://problem/6899044> Can't see Apple ad on nytimes.com unless I spoof the user agent
-
- Add user agent hack for pointroll.com.
-
- Reviewed by Steve Falkenburg.
-
- * WebView/WebView.mm:
- (-[WebView WebCore::_userAgentForURL:WebCore::]):
-
-2009-05-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig and Dan Bernstein.
-
- Fix <rdar://problem/6889644>
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
-
-2009-05-16 Dan Bernstein <mitz@apple.com>
-
- - revert an accidental change from r43802.
-
- * WebInspector/WebInspector.mm:
-
-2009-05-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6895347> Mouse wheeling in the QuickTime plug-in (incorrectly) scrolls the page
-
- Fix logic. The plug-in returns true if it handled the event.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView sendEvent:isDrawRect:]):
-
-2009-05-16 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- - fix <rdar://problem/6873305> Two distinct characters are not displayed
- correctly with 2 of the font selections from the stickies widget
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _plainTextFromPasteboard:]): Return precomposed text.
- This is consistent with
- -_documentFragmentFromPasteboard:forType:inContext:subresources:.
-
-2009-05-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fix <rdar://problem/6875398>.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- If we failed to instantiate the plug-in, call cleanup() so that any streams created by the plug-in from its
- NPP_New callback are destroyed.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- Make cleanup() public.
-
-2009-05-15 Darin Adler <darin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/6889823> hash table iterator used after hash table modified in
- ProxyInstance::fieldNamed() when viewing movie trailer
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::methodsNamed): Move add call after the waitForReply call.
- Anders says that by the time we return someone else might have done the same add
- for us.
- (WebKit::ProxyInstance::fieldNamed): Ditto.
-
-2009-05-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6892055>
- Replace WKN_GetLocation with WKN_ResolveURL (WKN_GetLocation was confusing and did not take the base URL into account)
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCResolveURL):
- New MIG callback.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::resolveURL):
- Use FrameLoader::complete URL here.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- Add new MIG definition.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]):
- * Plugins/WebNetscapeContainerCheckPrivate.h:
- * Plugins/WebNetscapeContainerCheckPrivate.mm:
- (browserContainerCheckFuncs):
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView resolveURL:forTarget:]):
- * Plugins/npapi.mm:
- (WKN_ResolveURL):
-
-2009-05-15 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - fix <rdar://problem/6892052> WebTextIterator should not “emit
- characters between all visible positions”
-
- * WebView/WebTextIterator.mm:
- (-[WebTextIterator initWithRange:]): Changed to construct a TextIterator
- with emitCharactersBetweenAllVisiblePositions set to false.
-
-2009-05-15 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dave Kilzer.
-
- Look for libWebKitSystemInterface.a in a more reasonable location.
-
- * Configurations/DebugRelease.xcconfig:
-
-2009-05-14 David Hyatt <hyatt@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Fix for <rdar://problem/6886217> REGRESSION (S4 beta-ToT): Adium chat window contents no longer resize.
-
- Technically this is a bug in Adium. It appears that Adium has subclassed the WebView and implemented
- viewDidMoveToWindow in its subclass improperly. It doesn't call up to the base class WebView like it
- should and so our boundsChanged notification never gets added.
-
- Reduce the dependence on viewDidMoveToWindow by moving the registration of observers into
- viewWillMoveToWindow instead.
-
- * WebView/WebView.mm:
- (-[WebView addSizeObserversForWindow:]):
- (-[WebView removeWindowObservers]):
- (-[WebView addWindowObserversForWindow:]):
- (-[WebView viewWillMoveToWindow:]):
- (-[WebView viewDidMoveToWindow]):
- (-[WebView viewDidMoveToSuperview]):
-
-2009-05-14 David Levin <levin@chromium.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=24704
-
- Allow the local cache directory to be set using a defaults key.
-
- * Misc/WebKitNSStringExtras.h:
- * Misc/WebKitNSStringExtras.m:
- (+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
- * WebKit.exp:
-
-2009-05-14 Darin Adler <darin@apple.com>
-
- Reviewed by Adam Roben.
-
- <rdar://problem/6879999> Automator actions that use WebKit on a background thread fail when run outside of Automator
-
- * WebView/WebView.mm:
- (clientNeedsWebViewInitThreadWorkaround): Added. Contains new broader rule.
- (needsWebViewInitThreadWorkaround): Changed to call clientNeedsWebViewInitThreadWorkaround.
-
-2009-05-14 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- Bug 24049: Second right-click crashes safari when alert invoked
- https://bugs.webkit.org/show_bug.cgi?id=24049
- rdar://problem/6878977
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView rightMouseUp:]): Added a retain/autorelease of the event.
- (-[WebHTMLView menuForEvent:]): Ditto. Also cleaned up the logic here and
- eliminated some use of pointers that might be invalid after calling through
- to WebCore.
- (-[WebHTMLView scrollWheel:]): Ditto.
- (-[WebHTMLView acceptsFirstMouse:]): Ditto.
- (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Ditto.
- (-[WebHTMLView mouseDown:]): Ditto.
- (-[WebHTMLView mouseDragged:]): Ditto.
- (-[WebHTMLView mouseUp:]): Ditto.
- (-[WebHTMLView keyDown:]): Ditto.
- (-[WebHTMLView keyUp:]): Ditto.
- (-[WebHTMLView flagsChanged:]): Ditto.
- (-[WebHTMLView performKeyEquivalent:]): Ditto.
-
-2009-05-14 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Darin Adler.
-
- <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
-
- The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode.
- Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR
- if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not.
-
- * Configurations/Base.xcconfig:
-
-2009-05-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKit side of <rdar://problem/6884476>.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCGetLocation):
- Forward this to the plug-in instance proxy.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::getLocation):
- Ask the plug-in view for the location.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- Add MIG definition.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView locationStringForTarget:]):
- Return the URL for a given frame.
-
- * Plugins/WebNetscapeContainerCheckPrivate.h:
- Bump version. Add new declaration to the vtable.
-
- * Plugins/WebNetscapeContainerCheckPrivate.mm:
- (browserContainerCheckFuncs):
- Add new declaration to the vtable.
-
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView locationForTarget:]):
- Call the base class method.
-
- * Plugins/npapi.mm:
- (WKN_GetLocation):
- Forward this to the plug-in view.
-
-2009-05-13 Douglas R. Davidson <ddavidso@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6871587> Smart Copy/Paste setting should persist as continuous
- spell checking setting does
-
- * WebView/WebPreferenceKeysPrivate.h: Added WebSmartInsertDeleteEnabled.
-
- * WebView/WebView.mm:
- (-[WebViewPrivate init]): Initialize based on WebSmartInsertDeleteEnabled
- default.
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- Removed code that initialized here.
- (-[WebView setSmartInsertDeleteEnabled:]): Set default here was with
- continuous spell checking setting.
-
-2009-05-13 Darin Adler <darin@apple.com>
-
- Revert the parser arena change. It was a slowdown, not a speedup.
- Better luck next time (I'll break it up into pieces).
-
-2009-05-13 Darin Adler <darin@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- Bug 25674: syntax tree nodes should use arena allocation
- https://bugs.webkit.org/show_bug.cgi?id=25674
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Updated includes.
- New ones needed due to reducing includes of JSDOMBinding.h.
- * WebView/WebScriptDebugger.mm: Ditto.
-
-2009-05-13 Douglas R. Davidson <ddavidso@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6879145>
- Generate a contextual menu item allowing autocorrections to
- easily be changed back. Refrain from re-correcting items
- that have already been autocorrected once.
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory contextMenuItemTagChangeBack:]):
- * WebView/WebUIDelegatePrivate.h:
-
-2009-05-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fix <rdar://problem/6878105>.
-
- When instantiating the QT plug-in under Dashboard, force "kiosk mode".
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
-
-2009-05-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - declare a forgotten method
-
- * DOM/WebDOMOperationsPrivate.h: Declare -[DOMNode markupString] in the
- WebDOMNodeOperationsPendingPublic category.
-
-2009-05-10 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page
-
- * Misc/WebDownload.m: Removed.
- * Misc/WebDownload.mm: Copied from WebKit/mac/Misc/WebDownload.m.
- (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Try to use
- credentials from WebCore storage.
-
-2009-05-08 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
-
- Not reviewed. Fix clean builds, forgot to land name() -> formControlName() rename patch in WebKit. Only landed the WebCore side.
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation elementWithName:inForm:]):
-
-2009-05-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- - Fix <rdar://problem/6866712>.
-
- Instead of just caching whether a plug-in object _has_ a field or method, also add an entry to the cache
- if it _doesn't_ have a certain field or method. This way we have to make fewer calls to the plug-in host.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
-
-2009-05-08 Douglas R. Davidson <ddavidso@apple.com>
-
- Reviewed by Darin Adler.
-
- Fixes for <rdar://problem/6852771>.
- Disable text checking menu items if view is not editable.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
- (-[WebHTMLView smartInsertDeleteEnabled]):
- (-[WebHTMLView setSmartInsertDeleteEnabled:]):
- (-[WebHTMLView toggleSmartInsertDelete:]):
- * WebView/WebHTMLViewInternal.h:
-
-2009-05-08 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- <rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials
-
- * Plugins/WebBaseNetscapePluginView.mm: (WebKit::getAuthenticationInfo): Ask WebCore for
- credentials first (but also ask NSURLCredentialStorage, because WebCore won't know about
- permanent credentials).
-
-2009-05-05 Ben Murdoch <benm@google.com>
-
- Reviewed by Eric Seidel.
-
- Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds.
- https://bugs.webkit.org/show_bug.cgi?id=24776
-
- * Storage/WebDatabaseManager.mm:
- * Storage/WebDatabaseManagerInternal.h:
- * Storage/WebDatabaseManagerPrivate.h:
- * Storage/WebDatabaseTrackerClient.h:
- * Storage/WebDatabaseTrackerClient.mm:
- * Storage/WebSecurityOrigin.mm:
- (-[WebSecurityOrigin usage]):
- (-[WebSecurityOrigin quota]):
- (-[WebSecurityOrigin setQuota:]):
- * Storage/WebSecurityOriginPrivate.h:
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2009-05-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Fix <rdar://problem/6797644>.
-
- Make sure to send a reply even when an instance proxy can't be found.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCEvaluate):
- (WKPCInvoke):
- (WKPCInvokeDefault):
- (WKPCGetProperty):
- (WKPCHasProperty):
- (WKPCHasMethod):
- (WKPCEnumerate):
-
-2009-05-04 Darin Adler <darin@apple.com>
-
- Reviewed by Eric Seidel.
-
- Bug 24924: remove Document.h include of Attr.h and HTMLCollection.h,
- and NamedMappedAttrMap.h include of MappedAttribute.h
- https://bugs.webkit.org/show_bug.cgi?id=24924
-
- * WebView/WebFrame.mm: Added include of CSSMutableStyleDeclaration.h
- and ScriptValue.h.
-
-2009-05-02 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Simplified null-ish JSValues.
-
- Replaced calls to noValue() with calls to JSValue() (which is what
- noValue() returned). Removed noValue().
-
- Removed "JSValue()" initialiazers, since default construction happens...
- by default.
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame evaluateWebScript:]):
-
-2009-05-02 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6741615> REGRESSION (r38629): Shortcut "Flag/Junk" in MobileMe does not work
- when Kotoeri is used.
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView inputContext]): Return a nil input context when
- focus is not in editable content.
-
-2009-05-01 Geoffrey Garen <ggaren@apple.com>
-
- Rubber Stamped by Sam Weinig.
-
- Renamed JSValuePtr => JSValue.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
- (WebKit::NetscapePluginInstanceProxy::getProperty):
- (WebKit::NetscapePluginInstanceProxy::setProperty):
- (WebKit::NetscapePluginInstanceProxy::hasMethod):
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- (WebKit::NetscapePluginInstanceProxy::marshalValue):
- (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
- (WebKit::NetscapePluginInstanceProxy::demarshalValue):
- (WebKit::NetscapePluginInstanceProxy::demarshalValues):
- * Plugins/Hosted/ProxyInstance.h:
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyField::valueFromInstance):
- (WebKit::ProxyField::setValueToInstance):
- (WebKit::ProxyInstance::invoke):
- (WebKit::ProxyInstance::invokeMethod):
- (WebKit::ProxyInstance::invokeDefaultMethod):
- (WebKit::ProxyInstance::invokeConstruct):
- (WebKit::ProxyInstance::defaultValue):
- (WebKit::ProxyInstance::stringValue):
- (WebKit::ProxyInstance::numberValue):
- (WebKit::ProxyInstance::booleanValue):
- (WebKit::ProxyInstance::valueOf):
- (WebKit::ProxyInstance::fieldValue):
- (WebKit::ProxyInstance::setFieldValue):
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame _convertValueToObjcValue:]):
- (-[WebScriptCallFrame exception]):
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView/WebView.mm:
- (aeDescFromJSValue):
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
-
-2009-05-01 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest.
-
- https://bugs.webkit.org/show_bug.cgi?id=25347
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
-
-2009-04-30 David Kilzer <ddkilzer@apple.com>
-
- Provide a mechanism to create a quirks delegate for HTMLParser
-
- Reviewed by David Hyatt.
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::createHTMLParserQuirks): Added. The default
- implementation of this factory method returns 0.
-
-2009-04-30 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- https://bugs.webkit.org/show_bug.cgi?id=25470
- Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
-
- * Configurations/FeatureDefines.xcconfig: Added ENABLE_JAVASCRIPT_DEBUGGER define.
-
-2009-04-30 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlson.
-
- <rdar://problem/6823049>
-
- Fix an issue where some plug-ins would cause the application icon to constantly bounce
- up and down in the Dock.
-
- * Plugins/Hosted/NetscapePluginHostProxy.h: Change m_placeholderWindow ivar to be
- a subclass of NSWindow, WebPlaceholderModalWindow.
- * Plugins/Hosted/NetscapePluginHostProxy.mm: Added WebPlaceholderModalWindow NSWindow subclass.
- (-[WebPlaceholderModalWindow _wantsUserAttention]): Prevent NSApp from calling requestUserAttention:
- when the window is shown modally, even if the app is inactive.
- (WebKit::NetscapePluginHostProxy::beginModal): NSWindow -> WebPlaceholderModalWindow.
-
-2009-04-30 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- https://bugs.webkit.org/show_bug.cgi?id=25342
- Add MessageSource and MessageLevel parameters to the ChromeClient::addMessageToConsole.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::addMessageToConsole):
-
-2009-04-29 Mark Rowe <mrowe@apple.com>
-
- More build fixing after r43037.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
- (WebKit::NetscapePluginInstanceProxy::demarshalValues):
-
-2009-04-29 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- - WebKit part of <rdar://problem/6609509> Select All and then Delete
- should put Mail editing back into the same state as a new message
-
- * WebView/WebView.mm:
- (-[WebView _selectionIsCaret]): Added.
- (-[WebView _selectionIsAll]): Added. Returns whether the selection
- encompasses the entire document.
- * WebView/WebViewPrivate.h:
-
-2009-04-29 Douglas Davidson <ddavidso@apple.com>
-
- Reviewed by Justin Garcia.
-
- <rdar://problem/6836921> Mail exhibits issues with text checking, e.g. menu items not always validated correctly
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
- (-[WebHTMLView orderFrontSubstitutionsPanel:]):
- * WebView/WebView.mm:
- (-[WebView validateUserInterfaceItemWithoutDelegate:]):
-
-2009-04-29 David Hyatt <hyatt@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fix a bug in the bounds checking for setNeedsLayout dirtying when a WebView's size changes. The superview
- of the WebView was being incorrectly checked instead of the WebView itself.
-
- * WebView/WebView.mm:
- (-[WebView _boundsChanged]):
-
-2009-04-29 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlson.
-
- Allow WKN_CheckIfAllowedToLoadURL() to take an optional void* context parameter.
-
- * Plugins/WebNetscapeContainerCheckContextInfo.h:
- * Plugins/WebNetscapeContainerCheckContextInfo.mm:
- (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
- (-[WebNetscapeContainerCheckContextInfo callback]):
- (-[WebNetscapeContainerCheckContextInfo context]):
- * Plugins/WebNetscapeContainerCheckPrivate.h:
- * Plugins/WebNetscapeContainerCheckPrivate.mm:
- (browserContainerCheckFuncs):
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
- (-[WebNetscapePluginView _containerCheckResult:contextInfo:]):
- * Plugins/npapi.mm:
- (WKN_CheckIfAllowedToLoadURL):
-
-2009-04-29 David Hyatt <hyatt@apple.com>
-
- Reviewed by John Sullivan.
-
- Fix for <rdar://problem/6835573>, Find Banner turns invisible when WebView is resized. Make sure
- not to resize the interior views of a WebView in response to its bounds changing when not using
- viewless WebKit. Auto-resizing rules were already in place to handle size adjustments for us.
- Just mark as needing layout and do nothing else.
-
- This does mean viewless WebKit is broken with the Find Banner, and that will likely require a
- Safari change (using a new API that will enable clients to define the edges of the content area as offsets
- from the sides of the WebView).
-
- * WebView/WebView.mm:
- (-[WebView _boundsChanged]):
-
-2009-04-28 Geoffrey Garen <ggaren@apple.com>
-
- Rubber stamped by Beth Dakin.
-
- Removed scaffolding supporting dynamically converting between 32bit and
- 64bit value representations.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::marshalValues):
-
-2009-04-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker and Darin Adler.
-
- Fix <rdar://problem/6836132>.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCCheckIfAllowedToLoadURL):
- Call the instance proxy.
-
- (WKPCCancelCheckIfAllowedToLoadURL):
- Ditto.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- Initialize the check ID counter.
-
- (WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURL):
- Create a WebPluginContainerCheck, add it to the map, and start it.
-
- (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
- Remove the check from the map.
-
- (WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURLResult):
- Call the WKPH MIG callback.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.h:
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
- Call the instance proxy.
-
- (-[WebHostedNetscapePluginView _containerCheckResult:contextInfo:]):
- Ditto.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
- Add MIG declarations.
-
-2009-04-28 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - fix <rdar://problem/6786360> Make PDF an insertable pasteboard type
-
- * WebCoreSupport/WebPasteboardHelper.mm:
- (WebPasteboardHelper::insertablePasteboardTypes):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
- (+[WebHTMLView _insertablePasteboardTypes]):
- (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
-
-2009-04-27 Douglas R. Davidson <ddavidso@apple.com>
-
- Add the various switches and context menu items needed for
- <rdar://problem/6724106> WebViews need to implement text checking
- and adopt updatePanels in place of old SPI _updateGrammar.
-
- Reviewed by Justin Garcia.
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (fixMenusReceivedFromOldClients):
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::uppercaseWord):
- (WebEditorClient::lowercaseWord):
- (WebEditorClient::capitalizeWord):
- (WebEditorClient::showSubstitutionsPanel):
- (WebEditorClient::substitutionsPanelIsShowing):
- (WebEditorClient::toggleSmartInsertDelete):
- (WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
- (WebEditorClient::toggleAutomaticQuoteSubstitution):
- (WebEditorClient::isAutomaticLinkDetectionEnabled):
- (WebEditorClient::toggleAutomaticLinkDetection):
- (WebEditorClient::isAutomaticDashSubstitutionEnabled):
- (WebEditorClient::toggleAutomaticDashSubstitution):
- (WebEditorClient::isAutomaticTextReplacementEnabled):
- (WebEditorClient::toggleAutomaticTextReplacement):
- (WebEditorClient::isAutomaticSpellingCorrectionEnabled):
- (WebEditorClient::toggleAutomaticSpellingCorrection):
- (WebEditorClient::checkTextOfParagraph):
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory contextMenuItemTagShowColors]):
- (-[WebViewFactory contextMenuItemTagCorrectSpellingAutomatically]):
- (-[WebViewFactory contextMenuItemTagSubstitutionsMenu]):
- (-[WebViewFactory contextMenuItemTagShowSubstitutions:]):
- (-[WebViewFactory contextMenuItemTagSmartCopyPaste]):
- (-[WebViewFactory contextMenuItemTagSmartQuotes]):
- (-[WebViewFactory contextMenuItemTagSmartDashes]):
- (-[WebViewFactory contextMenuItemTagSmartLinks]):
- (-[WebViewFactory contextMenuItemTagTextReplacement]):
- (-[WebViewFactory contextMenuItemTagTransformationsMenu]):
- (-[WebViewFactory contextMenuItemTagMakeUpperCase]):
- (-[WebViewFactory contextMenuItemTagMakeLowerCase]):
- (-[WebViewFactory contextMenuItemTagCapitalize]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
- (-[WebHTMLView isAutomaticQuoteSubstitutionEnabled]):
- (-[WebHTMLView setAutomaticQuoteSubstitutionEnabled:]):
- (-[WebHTMLView toggleAutomaticQuoteSubstitution:]):
- (-[WebHTMLView isAutomaticLinkDetectionEnabled]):
- (-[WebHTMLView setAutomaticLinkDetectionEnabled:]):
- (-[WebHTMLView toggleAutomaticLinkDetection:]):
- (-[WebHTMLView isAutomaticDashSubstitutionEnabled]):
- (-[WebHTMLView setAutomaticDashSubstitutionEnabled:]):
- (-[WebHTMLView toggleAutomaticDashSubstitution:]):
- (-[WebHTMLView isAutomaticTextReplacementEnabled]):
- (-[WebHTMLView setAutomaticTextReplacementEnabled:]):
- (-[WebHTMLView toggleAutomaticTextReplacement:]):
- (-[WebHTMLView isAutomaticSpellingCorrectionEnabled]):
- (-[WebHTMLView setAutomaticSpellingCorrectionEnabled:]):
- (-[WebHTMLView toggleAutomaticSpellingCorrection:]):
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebUIDelegatePrivate.h:
- * WebView/WebView.mm:
- (-[WebViewPrivate init]):
- (-[WebView validateUserInterfaceItemWithoutDelegate:]):
- (-[WebView setGrammarCheckingEnabled:]):
- (-[WebView isAutomaticQuoteSubstitutionEnabled]):
- (-[WebView isAutomaticLinkDetectionEnabled]):
- (-[WebView isAutomaticDashSubstitutionEnabled]):
- (-[WebView isAutomaticTextReplacementEnabled]):
- (-[WebView isAutomaticSpellingCorrectionEnabled]):
- (-[WebView setAutomaticQuoteSubstitutionEnabled:]):
- (-[WebView toggleAutomaticQuoteSubstitution:]):
- (-[WebView setAutomaticLinkDetectionEnabled:]):
- (-[WebView toggleAutomaticLinkDetection:]):
- (-[WebView setAutomaticDashSubstitutionEnabled:]):
- (-[WebView toggleAutomaticDashSubstitution:]):
- (-[WebView setAutomaticTextReplacementEnabled:]):
- (-[WebView toggleAutomaticTextReplacement:]):
- (-[WebView setAutomaticSpellingCorrectionEnabled:]):
- (-[WebView toggleAutomaticSpellingCorrection:]):
- * WebView/WebViewPrivate.h:
-
-2009-04-27 David Kilzer <ddkilzer@apple.com>
-
- Consolidate runtime application checks for Apple Mail and Safari
-
- Reviewed by Mark Rowe and Darin Adler.
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (isAppleMail): Removed.
- (fixMenusToSendToOldClients): Switched to use
- applicationIsAppleMail().
- * WebView/WebFrame.mm:
- (-[WebFrame reload]): Switched to use applicationIsSafari().
- * WebView/WebPDFView.mm:
- (-[WebPDFView menuForEvent:]): Ditto.
- * WebView/WebResource.mm:
- (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]):
- Switched to use applicationIsAppleMail().
- * WebView/WebView.mm:
- (runningLeopardMail): Ditto.
- (runningTigerMail): Ditto.
- (-[WebView _needsKeyboardEventDisambiguationQuirks]): Switched
- to use applicationIsSafari().
-
-2009-04-27 Kevin Decker <kdecker@apple.com>
-
- Fix the Tiger build.
-
- * Plugins/WebNetscapePluginView.mm: The base class of WebNetscapePluginView.mm, WebBaseNetscapePluginView, already implemented
- the two methods below. But the Tiger compiler didn't know that.
- (-[WebNetscapePluginView webView]):
- (-[WebNetscapePluginView webFrame]):
-
-2009-04-27 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/6352982>
-
- * Plugins/WebBaseNetscapePluginView.mm: Removed checkIfAllowedToLoadURL:frame:callbackFunc, cancelCheckIfAllowedToLoadURL, and
- _webPluginContainerCancelCheckIfAllowedToLoadRequest from the base class. These methods now exist in the subclass WebNetscapePluginView.
-
- Added WebNetscapeContainerCheckContextInfo, which is used as a "contextInfo" object in
- -[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]
- * Plugins/WebNetscapeContainerCheckContextInfo.h: Added.
- * Plugins/WebNetscapeContainerCheckContextInfo.mm: Added.
- (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:]): Added desiginated initializer.
- (-[WebNetscapeContainerCheckContextInfo checkRequestID]): Added. Returns the checkRequestID.
- (-[WebNetscapeContainerCheckContextInfo callback]): Added. Returns the callback.
-
- * Plugins/WebNetscapePluginView.h: Added two new ivars: _containerChecksInProgress and _currentContainerCheckRequestID.
- * Plugins/WebNetscapePluginView.mm: #import both WebPluginContainerCheck.h and WebNetscapeContainerCheckContextInfo.h
-
- (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]): Added. This is the implementation of WKN_CheckIfAllowedToLoadURL.
- Here, we increment the request ID and start the container check.
-
- (-[WebNetscapePluginView _containerCheckResult:contextInfo:]): Added. This is a callback method for WebPluginContainerCheck.
- It's where we actually call into the plug-in and provide the allow-or-deny result.
-
- (-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Added. This is the implementation of WKN_CancelCheckIfAllowedToLoadURL.
- Here we lookup the check, cancel it, and remove it from _containerChecksInProgress.
-
- (-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Added. WebPluginContainerCheck automatically calls
- this method after invoking our _containerCheckResult: selector. It works this way because calling -[WebPluginContainerCheck cancel] allows
- it to do it's teardown process.
-
- (-[WebNetscapePluginView fini]): Release _containerChecksInProgress ivar.
-
- * Plugins/WebPluginContainerCheck.h: Removed initWithRequest: method from header; no client was using this method directly.
- * Plugins/WebPluginContainerCheck.mm:
- (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:contextInfo:]): Added optional contextInfo parameter.
- (-[WebPluginContainerCheck _continueWithPolicy:]): If there's a contextInfo object, pass it as a parameter to resultSelector.
- (-[WebPluginContainerCheck cancel]): Release _contextInfo ivar.
- (-[WebPluginContainerCheck contextInfo]): Added new method. Returns the contextInfo object, if one so exists.
- * Plugins/WebPluginController.mm:
- (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Pass nil for contextInfo. WebKit-style
- plug-ins do not need additional context information.
-
-2009-04-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- Some *obvious* style cleanup in my last patch.
-
- * History/WebBackForwardList.mm:
- (bumperCarBackForwardHackNeeded):
-
-2009-04-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Oliver Hunt
-
- <rdar://problem/6817607> BumperCar 2.2 crashes going back (invalid WebHistoryItem)
-
- BumperCar was holding a pointer to a WebHistoryItem they never retain, then later
- tried to go to it. In some cases it would be dealloc'ed first.
- When WebHistoryItems were pure Objective-C they probably got away with this more often.
- With the WebCore/Obj-C mixed WebHistoryItems it's more likely to crash.
-
- * History/WebBackForwardList.mm:
- (bumperCarBackForwardHackNeeded):
- (-[WebBackForwardList backListWithLimit:]): If this is BumperCar, hang on to the
- NSArray of WebHistoryItems until the next time this method is called.
- (-[WebBackForwardList forwardListWithLimit:]): Ditto.
-
- * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITHOUT_BUMPERCAR_BACK_FORWARD_QUIRK.
-
-2009-04-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix <rdar://problem/6761635>.
-
- Make sure to keep an extra reference to the instance proxy in case the plug-in host crashes while
- we're waiting for a reply.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::destroy):
-
-2009-04-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein
-
- Currently working on a bug where a WebHistoryItem was being used after being dealloc'ed.
- I added this assertion to help catch the case as soon as it happens instead of random
- issues downstream. Figured it's worth checking in by itself.
-
- * History/WebHistoryItem.mm:
- (core): ASSERT that the WebCore::HistoryItem inside this WebHistoryItem is supposed to have
- this WebHistoryItem as a wrapper.
-
-2009-04-23 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for <rdar://problem/6333461> REGRESSION (r36864-r36869):
- Dragging stocks widget scrollbar drags the whole widget
-
- Look for our new WebCore scrollbars in the WebHTMLView and add
- proper Dashboard regions for them.
-
- * WebView/WebView.mm:
- (-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]):
- (-[WebView _addScrollerDashboardRegions:from:]):
-
-2009-04-23 John Sullivan <sullivan@apple.com>
-
- fixed <rdar://problem/6822479> Assertion failure after Reset Safari in new history-writing code
-
- Reviewed by Oliver Hunt
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate data]):
- Return nil immediately if there are no entries; this matches a recent Windows-platform fix.
-
-2009-04-23 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=25313
- Missing scroll bars in GMail.
-
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]): Added check for the ScrollbarAlwaysOn
- scroll mode.
-
-2009-04-23 Kevin Decker <kdecker@apple.com>
-
- * Plugins/WebPluginContainerCheck.h: Fix the Tiger build.
-
-2009-04-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Fix <rdar://problem/6821992>
-
- Add a new m_inDestroy member variable. Set it to true when in destroy, and have all NPRuntime functions return false
- when m_inDestroy is true.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- (WebKit::NetscapePluginInstanceProxy::destroy):
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
- (WebKit::NetscapePluginInstanceProxy::getProperty):
- (WebKit::NetscapePluginInstanceProxy::setProperty):
- (WebKit::NetscapePluginInstanceProxy::removeProperty):
- (WebKit::NetscapePluginInstanceProxy::hasProperty):
- (WebKit::NetscapePluginInstanceProxy::hasMethod):
- (WebKit::NetscapePluginInstanceProxy::enumerate):
-
-2009-04-23 David Hyatt <hyatt@apple.com>
-
- Reviewed by Maciej.
-
- Fix for <rdar://problem/6789879> REGRESSION (42464): Hitting assertion when loading message in Mail + TOT WebKit
-
- Make the Mac platform the same as all the other platforms. Instead of (incorrectly) marking a FrameView for layout
- when its underlying document view changes, just mark the outermost frame view for layout when the WebView's size changes.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _frameOrBoundsChanged]):
- (-[WebHTMLView addSuperviewObservers]):
- * WebView/WebView.mm:
- (-[WebView _boundsChanged]):
- (-[WebView removeSizeObservers]):
- (-[WebView addSizeObservers]):
-
-2009-04-23 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Second part of the fix for <rdar://problem/6352982>
-
- * Plugins/WebBaseNetscapePluginView.h: Make this class conform to WebPluginContainerCheckController
- * Plugins/WebBaseNetscapePluginView.mm: Likewise.
- (-[WebBaseNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Added skeleton method.
- * Plugins/WebPluginContainerCheck.h: Added protocol for <WebPluginContainerCheckController>
- * Plugins/WebPluginContainerCheck.mm:
- (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]):
- * Plugins/WebPluginController.h: Make this class conform to WebPluginContainerCheckController
-
-2009-04-23 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlsson.
-
- First part of <rdar://problem/6352982>
-
- * Plugins/WebBaseNetscapePluginView.h: Imported #WebNetscapeContainerCheckPrivate.h; Added two new method:
- checkIfAllowedToLoadURL:url:frame:callbackFunc: and cancelCheckIfAllowedToLoadURL:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]): Added skeleton method, does nothing interesting
- yet.
- (-[WebBaseNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Likewise.
- * Plugins/WebNetscapeContainerCheckPrivate.h: Added.
- * Plugins/WebNetscapeContainerCheckPrivate.mm: Added.
- (browserContainerCheckFuncs): Added.
- * Plugins/WebNetscapePluginView.h: Imported #WebNetscapeContainerCheckPrivate.h;
- * Plugins/WebNetscapePluginView.mm: Imported #WebNetscapeContainerCheckPrivate.h; added WKN_CheckIfAllowedToLoadURL
- and WKN_CancelCheckIfAllowedToLoadURL functions.
- (-[WebNetscapePluginView getVariable:value:]): Return vtable for container check functions.
- * Plugins/npapi.mm:
- (WKN_CheckIfAllowedToLoadURL): Added new private function.
- (WKN_CancelCheckIfAllowedToLoadURL): Ditto.
-
-2009-04-22 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves
-
- Make mouseUP forward to the root view as we do for mouseMoves and mouseDragged:.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView mouseUp:]):
-
-2009-04-22 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves
-
- Make mouseDragged forward to the root view as we do for mouseMoves.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView mouseDragged:]):
-
-2009-04-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fix <rdar://problem/6792694>
-
- When we're trying to instantiate a plug-in and the plug-in host has died, we need to invalidate the
- instance so that it doesn't stick around and do bad things.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
-
-2009-04-22 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Darin Adler.
-
- Fix for <rdar://problem/6816957>
- Turn off Geolocation by default
-
- * Configurations/FeatureDefines.xcconfig:
-
-2009-04-21 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- - Mac part of fixing for <rdar://problem/6755137> Action dictionary for
- policy decision is missing keys when full-page zoom is used
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::actionDictionary): Use absoluteLocation() instead
- of pageX() and pageY(), which are adjusted for zoom.
-
-2009-04-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler and Kevin Decker.
-
- WebKit side of <rdar://problem/6781642>.
-
- When we call resize with an actual changed size, block until the plug-in host is done.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::resize):
- * Plugins/Hosted/WebHostedNetscapePluginView.h:
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView updateAndSetWindow]):
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2009-04-17 Timothy Hatcher <timothy@apple.com>
-
- Change how sudden termination works with WebView teardown.
-
- <rdar://problem/6383352&6383379&6383940>
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebChromeClient.h: Remove disableSuddenTermination/enableSuddenTermination.
- * WebCoreSupport/WebChromeClient.mm: Ditto.
- * WebView/WebFrame.mm:
- (-[WebFrame _pendingFrameUnloadEventCount]): Ask the DOMWindow.
- * WebView/WebView.mm:
- (+[WebView canCloseAllWebViews]): Call DOMWindow::dispatchAllPendingBeforeUnloadEvents.
- (+[WebView closeAllWebViews]): Call DOMWindow::dispatchAllPendingUnloadEvents and
- call close on all the WebViews.
- (-[WebView _closeWithFastTeardown]): Remove code for unload event dispatch.
- (-[WebView _close]): Correct a comment.
- (+[WebView _applicationWillTerminate]): Call closeAllWebViews.
- * WebView/WebViewPrivate.h: Add canCloseAllWebViews and closeAllWebViews.
-
-2009-04-21 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Mark Rowe.
-
- Tiger crash fix: Put VM tags in their own header file, and fixed up the
- #ifdefs so they're not used on Tiger.
-
- * ForwardingHeaders/wtf/VMTags.h: Copied from ForwardingHeaders/wtf/HashTraits.h.
-
-2009-04-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/6722845>
- In the Cocoa event model, NPWindow's window field should be null
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCConvertPoint):
- Get the instance proxy and call it's convertPoint function.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::convertPoint):
- Call convertPoint on the plug-in view.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- Add PCConvertPoint.
-
- * Plugins/WebBaseNetscapePluginView.h:
- Add a declaration for convertFromX:andY:space:toX:andY:space:.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
- Convert a point from one coordinate system to another.
-
- * Plugins/WebNetscapePluginEventHandler.h:
- * Plugins/WebNetscapePluginEventHandlerCarbon.h:
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
- (WebNetscapePluginEventHandlerCarbon::drawRect):
- * Plugins/WebNetscapePluginEventHandlerCocoa.h:
- Add CGContextRef to drawRect.
-
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- (WebNetscapePluginEventHandlerCocoa::drawRect):
- Set the passed in context.
-
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage _tryLoad]):
- Add NPN_ConvertPoint to the browserFuncs vtable.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- Only set the window for the Carbon event model.
-
- (-[WebNetscapePluginView restorePortState:]):
- It's OK for the window context to be null.
-
- (-[WebNetscapePluginView sendDrawRectEvent:]):
- Pass the CGContextRef to drawRect.
-
- * Plugins/npapi.mm:
- (NPN_ConvertPoint):
- Call the plug-in view method.
-
-2009-04-20 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Tim Hatcher.
-
- Add licenses for xcconfig files.
-
- * Configurations/Base.xcconfig:
- * Configurations/DebugRelease.xcconfig:
- * Configurations/FeatureDefines.xcconfig:
- * Configurations/Version.xcconfig:
- * Configurations/WebKit.xcconfig:
-
-2009-04-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WebKit side of <rdar://problem/6781302>
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::keyEvent):
- Pass the event keyChar.
-
- (WebKit::NetscapePluginInstanceProxy::syntheticKeyDownWithCommandModifier):
- Ditto.
-
- (WebKit::NetscapePluginInstanceProxy::flagsChanged):
- Pass a 0 keyChar.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView flagsChanged:]):
- Call NetscapePluginInstanceProxy::flagsChanged.
-
- * Plugins/Hosted/WebKitPluginHost.defs:
- Add a keyChar argument.
-
-2009-04-19 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for <rdar://problem/6804809> REGRESSION: In Mail, Home and End do not scroll message
-
- If no scrolling occurs, call tryToPerform on the next responder. Then our WebResponderChainSink
- will correctly detect if no responders handle the selector.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _scrollToBeginningOfDocument]):
- (-[WebFrameView _scrollToEndOfDocument]):
- (-[WebFrameView scrollToBeginningOfDocument:]):
- (-[WebFrameView scrollToEndOfDocument:]):
- (-[WebFrameView scrollLineUp:]):
- (-[WebFrameView scrollLineDown:]):
-
-2009-04-19 David Kilzer <ddkilzer@apple.com>
-
- Make FEATURE_DEFINES completely dynamic
-
- Reviewed by Darin Adler.
-
- Make FEATURE_DEFINES depend on individual ENABLE_FEATURE_NAME
- variables for each feature, making it possible to remove all
- knowledge of FEATURE_DEFINES from build-webkit.
-
- * Configurations/FeatureDefines.xcconfig: Extract a variable
- from FEATURE_DEFINES for each feature setting.
-
-2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>
-
- Reviewed by Mark Rowe.
-
- <rdar://problem/6781295> video.buffered and video.seekable are not
- the same. video.buffered should return only what is buffered and
- not what is seekable
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Add wkQTMovieMaxTimeSeekable.
-
-2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>
-
- Reviewed by Adele Peterson.
-
- <rdar://problem/6747241> work around QTKit no longer reaching
- QTMovieLoadStateComplete
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Init the new WKSI exported symbol.
-
-2009-04-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6714488>
- REGRESSION (Safari 3-4): Edit menu commands (cut/copy/paste/select all) do not work on Flash content
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::syntheticKeyDownWithCommandModifier):
- Send a keyDown event to the plug-in host.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView sendModifierEventWithKeyCode:character:]):
- Call the plug-in instance proxy.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
- Add this. Subclasses are required to override it.
-
- (-[WebBaseNetscapePluginView cut:]):
- (-[WebBaseNetscapePluginView copy:]):
- (-[WebBaseNetscapePluginView paste:]):
- (-[WebBaseNetscapePluginView selectAll:]):
- Call sendModifierEventWithKeyCode.
-
- * Plugins/WebNetscapePluginEventHandler.h:
- Add syntheticKeyDownWithCommandModifier.
-
- * Plugins/WebNetscapePluginEventHandlerCarbon.h:
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
- (WebNetscapePluginEventHandlerCarbon::syntheticKeyDownWithCommandModifier):
- Send the synthetic event.
-
- * Plugins/WebNetscapePluginEventHandlerCocoa.h:
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- (WebNetscapePluginEventHandlerCocoa::syntheticKeyDownWithCommandModifier):
- Send the synthetic event.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView sendModifierEventWithKeyCode:character:]):
- Call the event handler.
-
-2009-04-17 David Kilzer <ddkilzer@apple.com>
-
- Simplify FEATURE_DEFINES definition
-
- Reviewed by Darin Adler.
-
- This moves FEATURE_DEFINES and its related ENABLE_FEATURE_NAME
- variables to their own FeatureDefines.xcconfig file. It also
- extracts a new ENABLE_GEOLOCATION variable so that
- FEATURE_DEFINES only needs to be defined once.
-
- * Configurations/FeatureDefines.xcconfig: Added.
- * Configurations/WebKit.xcconfig: Removed definition of
- ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES. Added include
- of FeatureDefines.xcconfig.
-
-2009-04-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix crashes seen in regression tests with hosted plug-ins.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::cancelStreamLoad): Check the stream for 0,
- not the stream ID.
-
-2009-04-17 Darin Adler <darin@apple.com>
-
- Reviewed by Antti Koivisto.
-
- Bug 25210: don't use ObjC methods to wrap/unwrap DOM objects with ObjC
- https://bugs.webkit.org/show_bug.cgi?id=25210
-
- * DOM/WebDOMOperations.mm:
- (-[DOMNode markupString]): Use the core function instead of an Objective-C method.
- (-[DOMNode _subresourceURLs]): Ditto.
- (-[DOMDocument _focusableNodes]): Ditto.
- (-[DOMRange webArchive]): Ditto.
- (-[DOMRange markupString]): Ditto.
-
- * Misc/WebElementDictionary.mm: Added now-needed include since the core and kit
- functions now come from the internal headers from DOM bindings.
- * Misc/WebNSPasteboardExtras.mm: Ditto.
- * Plugins/WebNullPluginView.mm: Ditto.
- * Plugins/WebPluginController.mm: Ditto.
- * WebCoreSupport/WebChromeClient.mm: Ditto.
- * WebCoreSupport/WebInspectorClient.mm: Ditto.
- * WebCoreSupport/WebPasteboardHelper.mm: Ditto.
- * WebView/WebHTMLView.mm: Ditto.
-
- * WebCoreSupport/WebEditorClient.mm: Made kit function have internal linkage
- since it's only used in this file. Someone had instead added a declaration to
- suppress the warning you would otherwise get. Removed the core function.
- (WebEditorClient::textFieldDidBeginEditing): Added correct type checking.
- Previously the function would check only that something was an HTMLElement,
- but then cast it to HTMLInputElement. Also call kit instead of old wrap method.
- (WebEditorClient::textFieldDidEndEditing): Ditto.
- (WebEditorClient::textDidChangeInTextField): Ditto.
- (WebEditorClient::doTextFieldCommandFromEvent): Ditto.
- (WebEditorClient::textWillBeDeletedInTextField): Ditto.
- (WebEditorClient::textDidChangeInTextArea): Ditto, but for HTMLTextAreaElement.
-
- * WebView/WebFrame.mm: Removed the core and kit functions here which are no longer
- needed since they're automatically generated now.
- (-[WebFrame _nodesFromList:]): Use kit.
- (-[WebFrame _markupStringFromRange:nodes:]): Use core.
- (-[WebFrame _stringForRange:]): More of the same.
- (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
- (-[WebFrame _firstRectForDOMRange:]): Ditto.
- (-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
- (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
- Ditto.
- (-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
- (-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
- (-[WebFrame _markDOMRange]): Ditto.
- (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
- (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
- (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
- (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
- (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
- (-[WebFrame _characterRangeAtPoint:]): Ditto.
- (-[WebFrame _typingStyle]): Ditto.
- (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
- (-[WebFrame _pauseAnimation:onNode:atTime:]): Ditto.
- (-[WebFrame _pauseTransitionOfProperty:onNode:atTime:]): Ditto.
- (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
-
- * WebView/WebFrameInternal.h: Removed the core and kit functions here which are no longer
- needed since they're automatically generated now.
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): Use core.
- (formElementFromDOMElement): Ditto.
- (inputElementFromDOMElement): Ditto.
- * WebView/WebTextIterator.mm:
- (-[WebTextIterator initWithRange:]): Ditto.
- (-[WebTextIterator currentRange]): Ditto.
- (-[WebTextIterator currentNode]): Ditto.
- * WebView/WebView.mm:
- (-[WebView textIteratorForRect:]): Ditto.
- (-[WebView setSelectedDOMRange:affinity:]): Ditto.
-
-2009-04-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKit side of <rdar://problem/6449642>.
-
- * Plugins/Hosted/HostedNetscapePluginStream.h:
- (WebKit::HostedNetscapePluginStream::create):
- New function that creates a stream from a frame loader.
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
- Add the constructor that takes a frame loader.
-
- * Plugins/Hosted/NetscapePluginHostManager.h:
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- Pass "fullFrame" to the plug-in host.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCCancelLoadURL):
- Call NetscapePluginInstanceProxy::cancelStreamLoad.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::create):
- Pass "fullFrame" to the constructor.
-
- (WebKit::NetscapePluginInstanceProxy::manualStream):
- New getter for the manual stream.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- Take the implicit request into account if we have a full frame plug-in.
-
- (WebKit::NetscapePluginInstanceProxy::setManualStream):
- Setter for the manual stream.
-
- (WebKit::NetscapePluginInstanceProxy::cancelStreamLoad):
- Cancel the manual stream if necessary.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.h:
- WebHostedNetscapePluginView now conforms to the WebPluginManualLoader protocol.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView createPlugin]):
- Pass "fullFrame" to instantiatePlugin.
-
- (-[WebHostedNetscapePluginView pluginView:receivedResponse:]):
- (-[WebHostedNetscapePluginView pluginView:receivedData:]):
- (-[WebHostedNetscapePluginView pluginView:receivedError:]):
- (-[WebHostedNetscapePluginView pluginViewFinishedLoading:]):
- Call the equivalent manual stream functions.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin):
- Use a macro for getting the plug-in view type.
-
-2009-04-14 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein
-
- https://bugs.webkit.org/show_bug.cgi?id=25157
-
- Move the run loop observer cleanup from -close
- to -_close.
-
- * WebView/WebView.mm:
- (-[WebView _close]):
- (-[WebView close]):
-
-2009-04-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- - Speculative fix for <rdar://problem/6781422>
-
- Protect the plug-in instance proxy in case it's deleted while waiting for a reply.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::wheelEvent):
-
-2009-04-14 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin.
-
- Initialize WebKitSystemInterface in class methods that could get called before a WebView/WebFrame is set up. This was causing Mail to crash on launch.
-
- * Misc/WebCache.mm: (+[WebCache initialize]):
- * WebView/WebView.mm: (+[WebView initialize]):
-
-2009-04-13 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin.
-
- <rdar://problem/6784955> REGRESSION: closing a tab containing a PDF causes world leaks
-
- Simplify the _trackFirstResponder method by just caching the value instead of retaining
- a Cocoa object.
-
- * WebView/WebPDFView.h: Eliminated trackedFirstResponder object and replaced it with
- a firstResponderIsPDFDocumentView boolean.
- * WebView/WebPDFView.mm:
- (-[WebPDFView dealloc]): Removed no longer necessary ASSERT.
- (-[WebPDFView viewWillMoveToWindow:]): Removed call to release and nil-out trackedFirstResponder,
- which no longer exists. In the new code all we do now is set firstResponderIsPDFDocumentView to NO.
- (-[WebPDFView _trackFirstResponder]): Rewrote this method to just cache the value instead
- of retaining an object.
-
-2009-04-13 David Hyatt <hyatt@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=25125. Rework scrolling so that a layout happens first when
- it's already needed so that the code doesn't end up making bad decisions based off invalid document sizes.
-
- This patch also eliminates WebHTMLView's separate notion of needing a layout and just consolidates it with
- WebCore's notion of needing layout.
-
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _frameOrBoundsChanged]):
- (-[WebHTMLView initWithFrame:]):
- (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
- (-[WebHTMLView setNeedsLayout:]):
- (-[WebHTMLView _layoutIfNeeded]):
- (-[WebHTMLView _needsLayout]):
- * WebView/WebHTMLViewInternal.h:
-
-2009-04-13 Darin Adler <darin@apple.com>
-
- * WebView/WebViewPrivate.h: Updated comments.
-
-2009-04-13 Antti Koivisto <antti@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6740294> Increase the connection count per host
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2009-04-13 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher
-
- Tweak my last check-in, moving the thread violation check up to the API-level calls so the logging is more
- useful to developers/users.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): If not on the main thread, only
- perform the "call on main thead" workaround, as the log/exception raising is now up at the API level.
- (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Perform a thread violation check here so logging
- is more meaningful.
- (-[WebFrame loadHTMLString:baseURL:]): Ditto.
- (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
-
-2009-04-13 Brady Eidson <beidson@apple.com>
-
- Reviewed by Kevin Decker
-
- <rdar://problem/6712063> Garmin WebUpdater crashes
-
- * WebView/WebFrame.mm:
- (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): If not called on the main thread,
- add a ThreadViolationCheckRoundTwo() call to either log or raise an exception. In the case where it's
- only a log, reschedule the _loadData call to occur on the main thread.
-
-2009-04-10 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- - fix <rdar://problem/6752340> Light blue-green background in content
- area in Mail
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- Use device white, rather than calibrated white, as the default
- background color.
-
-2009-04-10 Darin Adler <darin@apple.com>
-
- Reviewed by Brady Eidson.
-
- <rdar://problem/6773515> crash in push_heap inside WebCore when printing
-
- The crash was due to manipulating a timer on a different thread than the one it was created on.
-
- * History/WebHistoryItem.mm:
- (-[WebWindowWatcher windowWillClose:]): Call later on main thread, if called on non-main thread.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView windowDidBecomeKey:]): Ditto.
- (-[WebHTMLView windowDidResignKey:]): Ditto.
- (-[WebHTMLView windowWillClose:]): Ditto.
- (-[WebHTMLView _updateControlTints]): Added. Factored out the non-thread-safe part of
- our override of _windowChangedKeyState.
- (-[WebHTMLView _windowChangedKeyState]): Call _updateControlTints later on main thread, if
- called on non-main thread.
- * WebView/WebPreferences.mm:
- (-[WebPreferences _postPreferencesChangesNotification]): Call later on main thread, if called
- on non-main thread
-
-2009-04-10 Timothy Hatcher <timothy@apple.com>
-
- Remove DOMDocumentPrivate.h now that <rdar://problem/6730996> is fixed.
-
- Rubber-stamped by Mark Rowe.
-
- * Misc/DOMDocumentPrivate.h: Removed.
-
-2009-04-10 Pierre d'Herbemont <pdherbemont@apple.com>
-
- Reviewed by Adele Peterson.
-
- <rdar://problem/6646998> Avoid starting QTKitServer if possible
- Add the requires symbol in the WebSystemInterface. It is used by
- WebCore.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Add wkQTIncludeOnlyModernMediaFileTypes.
-
-2009-04-09 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Hyatt.
-
- <rdar://problem/4680397> tearing seen because deferred updates are disabled
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView initWithFrame:]): Don't call WKDisableCGDeferredUpdates on post-Leopard if
- NSAppKitVersionNumberWithDeferredWindowDisplaySupport is defined.
-
-2009-04-09 John Sullivan <sullivan@apple.com>
-
- <rdar://problem/6775682> WebKit's support for SnowLeopard sudden termination for
- downloads is broken and should be removed
-
- Reviewed by Darin Adler
-
- * Misc/WebDownload.m:
- (-[WebDownloadInternal downloadDidBegin:]):
- remove disableSuddenTermination call
- (-[WebDownloadInternal downloadDidFinish:]):
- remove enableSuddenTermination call
- (-[WebDownloadInternal download:didFailWithError:]):
- remove enableSuddenTermination call
-
-2009-04-09 Darin Adler <darin@apple.com>
-
- Reviewed by Anders Carlsson and Sam Weinig.
-
- Part of <rdar://problem/5438063> Saving history containing 100,000 entries causes pauses of 2s while browsing
-
- Longer term solution is to change the design so Safari doesn't read and write all of history.
- This patch is step one: Do the serializing, which is done on the main thread, much faster.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate data]): Added. Returns the NSData object containing serialized history.
- For creating new SPI so you can get the data in memory instead of on disk. Uses WebHistoryWriter.
- (-[WebHistoryPrivate saveToURL:error:]): Changed to call [self data
- (-[WebHistory _data]): Added.
- (WebHistoryWriter::WebHistoryWriter): Added.
- (WebHistoryWriter::writeHistoryItems): Added.
-
- * History/WebHistoryPrivate.h: Added a new _data method.
-
-2009-04-09 Mike Thole <mthole@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- Fix 64-bit build
-
- * Panels/WebAuthenticationPanel.h:
- Declare the 'separateRealmLabel' IBOutlet as an NSTextField instead of 'id'.
- This fixes a duplicate method warning (setAutoresizingMask: on NSView and CALayer)
-
-2009-04-09 Mike Thole <mthole@apple.com>
-
- Reviewed by Ada Chan.
-
- <rdar://problem/5697111> Basic authentication dialog spoofing vulnerability
-
- * Panels/WebAuthenticationPanel.h:
- Added IBOutlet for separateRealmLabel
- * Panels/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForChallenge:]):
- In the realm case, decide if it is a simple or complex realm name. A realm name
- is considered complex if it has any whitespace or newline characters. Present
- alternative text and layout for the complex case, where the realm name isn't inline
- with the rest of the sheet's text.
-
- * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
- * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
- Updated the nib with a new 'separateRealmLabel' outlet.
- Updated the File's Owner to correctly be WebAuthenticationPanel.
- Fixed springs on the sheet's icon to keep it from moving during a resize.
-
-2009-04-09 David Kilzer <ddkilzer@apple.com>
-
- Reinstating <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
-
- Rolled r42345 back in. The build failure was caused by an
- internal script which had not been updated the same way that
- build-webkit was updated.
-
- * Configurations/WebKit.xcconfig:
- * DOM/WebDOMOperations.mm:
- * MigrateHeaders.make:
-
-2009-04-09 Alexey Proskuryakov <ap@webkit.org>
-
- Reverting <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings.
- It broke Mac build, and I don't know how to fix it.
-
- * Configurations/WebKit.xcconfig:
- * DOM/WebDOMOperations.mm:
- * MigrateHeaders.make:
-
-2009-04-08 David Kilzer <ddkilzer@apple.com>
-
- <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
-
- Reviewed by Darin Adler and Maciej Stachowiak.
-
- Introduce the ENABLE_SVG_DOM_OBJC_BINDINGS feature define so
- that SVG DOM Objective-C bindings may be optionally disabled.
-
- * Configurations/WebKit.xcconfig: Added
- ENABLE_SVG_DOM_OBJC_BINDINGS variable and use it in
- FEATURE_DEFINES.
- * DOM/WebDOMOperations.mm: Removed unused header.
- * MigrateHeaders.make: Switched from using ENABLE_SVG to using
- ENABLE_SVG_DOM_OBJC_BINDINGS.
-
-2009-04-08 David Hyatt <hyatt@apple.com>
-
- Reviewed by Adam Roben and Darin Adler
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=12440, fixed positioned elements end up in
- inconsistent positions. Rewrite updateScrollers to improve the correctness.
-
- * WebView/WebDynamicScrollBarsView.h:
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]):
-
-2009-04-07 Anders Carlsson <andersca@apple.com>
-
- Fix Tiger build for real this time.
-
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView getVariable:forURL:value:length:]):
- (-[WebNetscapePluginView setVariable:forURL:value:length:]):
- (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
- * Plugins/npapi.mm:
- (NPN_GetValueForURL):
- (NPN_SetValueForURL):
-
-2009-04-07 David Hyatt <hyatt@apple.com>
-
- Reviewed by Adam Roben
-
- Mac portion of fix to make DumpRenderTree always produce accurate scrollbar results. Change
- updateScrollers to call minimumContentsSize when a WebHTMLView is inside the WebDynamicScrollbarsView.
-
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]):
-
-2009-04-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Anders Carlsson.
-
- Trying to fix Tiger build.
-
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
-
-2009-04-07 Anders Carlsson <andersca@apple.com>
-
- Try to fix the Leopard build once more.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView getVariable:forURL:value:length:]):
-
-2009-04-07 Anders Carlsson <andersca@apple.com>
-
- ...and try to fix the Leopard build.
-
- * Plugins/npapi.mm:
- (NPN_GetAuthenticationInfo):
-
-2009-04-07 Anders Carlsson <andersca@apple.com>
-
- Try to fix the Tiger build.
-
- * Plugins/WebBaseNetscapePluginView.mm:
-
-2009-04-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/6667001>
- NPAPI: need NPN_Get/SetValueForURL() and NPN_GetAuthenticationInfo()
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCGetCookies):
- (WKPCGetProxy):
- (WKPCSetCookies):
- (WKPCGetAuthenticationInfo):
- New MIG functions to be used by the plug-in host.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::getCookies):
- (WebKit::NetscapePluginInstanceProxy::setCookies):
- (WebKit::NetscapePluginInstanceProxy::getProxy):
- (WebKit::NetscapePluginInstanceProxy::getAuthenticationInfo):
- Implement these.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- Add callbacks.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView URLWithCString:]):
- Factor this out of URLWithCString.
-
- (-[WebBaseNetscapePluginView requestWithURLCString:]):
- Call URLWithCString.
-
- (WebKit::proxiesForURL):
- Return a string representation of proxies for a given URL.
-
- (WebKit::getAuthenticationInfo):
- Get the authentication info for a given host/protocol/scheme/realm/port combination.
-
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage _tryLoad]):
- Initialize the new vtable functions.
-
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView getVariable:forURL:value:length:]):
- (-[WebNetscapePluginView setVariable:forURL:value:length:]):
- (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
- Implement these.
-
- * Plugins/npapi.mm:
- (NPN_GetValueForURL):
- (NPN_SetValueForURL):
- (NPN_GetAuthenticationInfo):
- Call the plug-in view functions.
-
-2009-04-03 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/6756512>
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::spawnPluginHost): Tweaked the visibleName property.
-
-2009-04-03 John Sullivan <sullivan@apple.com>
-
- Reviewed by Ada Chan
-
- <rdar://problem/6755838> Removing all icons can delete other items from disk.
-
- * Misc/WebIconDatabase.mm:
- (importToWebCoreFormat):
- When snooping around in various directories looking for a directory full of Safari-2-style
- icon database information to convert and delete, bail out without doing the delete part if
- we didn't actually find any Safari-2-style icon database information.
-
-2009-04-03 John Sullivan <sullivan@apple.com>
-
- fixed <rdar://problem/6355573> [WebView _setCacheModel:] leaks the result of _CFURLCacheCopyCacheDirectory
-
- Reviewed by Adam Roben
-
- * WebView/WebView.mm:
- (+[WebView _setCacheModel:]):
- use WebCFAutorelease rather than autorelease on result of method that returns CFStringRef
-
-2009-04-03 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by David Hyatt.
-
- Fixed https://bugs.webkit.org/show_bug.cgi?id=24941
-
- This fix essentially does a -viewWillDraw call for layout. It adds
- a CFRunLoopObserver which performs layout just before drawing on the
- Mac platform. This makes sure layout is complete before rendering and
- avoids a flash.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::attachRootGraphicsLayer):
- (WebChromeClient::setNeedsOneShotDrawingSynchronization):
- (WebChromeClient::scheduleViewUpdate):
- * WebView/WebView.mm:
- (-[WebViewPrivate _clearViewUpdateRunLoopObserver]):
- (-[WebView _viewWillDrawInternal]):
- (-[WebView viewWillDraw]):
- (-[WebView close]):
- (viewUpdateRunLoopObserverCallBack):
- (-[WebView _scheduleViewUpdate]):
- * WebView/WebViewInternal.h:
-
-2009-04-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- WebKit side of <rdar://problem/6752953>.
-
- Pass the clip rect to the plug-in host.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::resize):
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2009-04-02 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein and Timothy Hatcher.
-
- <rdar://problem/6684745> Crash in -[WebView removeSizeObservers] when loading NIB file
-
- The implementation of -[NSView initWithCoder:] can result in -viewWillMoveToSuperview:/-viewDidMoveToSuperview: being sent to
- our view before we've had a chance to initialize _private, so we need to ensure it is non-nil before dereferencing it in those
- methods.
-
- * WebView/WebView.mm:
- (-[WebView removeSizeObservers]): Nil-check _private before dereferencing it.
- (-[WebView addSizeObservers]): Ditto.
-
-2009-04-02 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- Add a way to get a list of focusable nodes.
-
- * DOM/WebDOMOperations.mm:
- (-[DOMDocument _focusableNodes]):
- * DOM/WebDOMOperationsInternal.h: Added.
- * DOM/WebDOMOperationsPrivate.h: Make this a private header.
- Move old methods to WebDOMOperationsInternal.h
- * WebView/WebHTMLView.mm: Use methods from WebDOMOperationsInternal.h
-
-2009-04-01 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 22378: Crash submitting a form when parsing an XHTML document
- https://bugs.webkit.org/show_bug.cgi?id=22378
- rdar://problem/6388377
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem targetItem]): Call targetItem directly instead of callling
- isTargetItem, hasChildren, and recurseToFindTargetItem.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchWillSubmitForm): Updated for the new
- textFieldValues function in FormState.
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Updated for name and
- argument change of loadFrameRequest.
-
-2009-04-01 Greg Bolsinga <bolsinga@apple.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=24990
- Put SECTORDER_FLAGS into xcconfig files.
-
- * Configurations/Base.xcconfig:
- * Configurations/DebugRelease.xcconfig:
-
-2009-03-31 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit side of <rdar://problem/6500266>.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::wheelEvent):
- Send the event.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView scrollWheel:]):
- Call NetscapePluginInstanceProxy::wheelEvent. If the plug-in processed the event, don't
- call super.
-
- * Plugins/Hosted/WebKitPluginHost.defs:
- Add definition.
-
-2009-03-31 Darin Adler <darin@apple.com>
-
- Reviewed by Adele Peterson.
-
- <rdar://problem/6740581> REGRESSION (r41793): Page Down and Page Up don’t work in Leopard Mail
-
- * WebView/WebHTMLView.mm:
- (-[WebResponderChainSink tryToPerform:with:]): Added. Without this we would think we had
- handled an event when we actually hadn't. Specifically, when -[WebFrameView scrollPageDown:]
- calls tryToPerform on the next responder.
-
-2009-03-30 Greg Bolsinga <bolsinga@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=24938
-
- Build fixes when building --no-svg
-
- DOMHTMLFrameElementPrivate.h and DOMHTMLIFrameElementPrivate.h are only available with ENABLE_SVG.
-
- * MigrateHeaders.make:
-
-2009-03-29 Darin Adler <darin@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- * Plugins/WebNullPluginView.mm: Added now-needed includes.
- * WebView/WebHTMLRepresentation.mm: Ditto.
- * WebView/WebHTMLView.mm: Ditto.
-
-2009-03-27 Timothy Hatcher <timothy@apple.com>
-
- * MigrateHeaders.make: Remove DOMHTMLBodyElementPrivate.h since it
- is not generated anymore.
-
-2009-03-27 Adam Roben <aroben@apple.com>
-
- Don't include substitute data URLs in global history redirect chains
-
- <rdar://6690169>
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::updateGlobalHistory): Don't call
- updateGlobalHistoryRedirectLinks. FrameLoader calls this for us now.
- (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
- Added an assertion to help catch cases where we might be adding a
- substitute data URL into a redirect chain.
-
-2009-03-27 Darin Adler <darin@apple.com>
-
- Reviewed by Adam Roben.
-
- <rdar://problem/6541923> REGRESSION (r38629): Tab cycle in empty tab is broken
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _wantsKeyDownForEvent:]): Only return YES when we have a Frame.
-
-2009-03-27 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan and Anders Carlsson.
-
- <rdar://problem/5987442> Pasteboard not exposed to WebEditingDelegate for WebViewInsertActionPasted (needed for system services)
-
- Added SPI to tell which pasteboard is currently being inserted.
- I chose to put it on WebView to be forward-looking since we're migrating things
- from WebHTMLView to WebView in the future.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Add calls to _setInsertionPasteboard.
- (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
- * WebView/WebView.mm:
- (-[WebViewPrivate dealloc]): Assert the pasteboard is nil.
- (-[WebViewPrivate finalize]): Ditto.
- (-[WebView _insertionPasteboard]): Return the pastebaord.
- (-[WebView _setInsertionPasteboard:]): Set the pasteboard.
- * WebView/WebViewInternal.h: Added _setInsertionPasteboard.
- * WebView/WebViewPrivate.h: Added _insertionPasteboard.
-
-2009-03-25 Timothy Hatcher <timothy@apple.com>
-
- Expose new DOM methods as public Objective-C API.
-
- <rdar://problem/5837350> Expose new DOM classes and methods
- as public API (match the additions to the JavaScript DOM)
-
- Reviewed by Mark Rowe and Darin Adler.
-
- * MigrateHeaders.make:
- * Misc/DOMDocumentPrivate.h: Added. Forwarding header for
- <rdar://problem/6730996>.
-
-2009-03-26 Jungshik Shin <jshin@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Add WebPreferences for encoding autodetection on Mac.
-
- http://bugs.webkit.org/show_bug.cgi?id=16482
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences usesEncodingDetector]):
- (-[WebPreferences setUsesEncodingDetector:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2009-03-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - Fix <rdar://problem/6687055> and <rdar://problem/6713639>.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCInvalidateRect):
- Call NetscapePluginInstanceProxy::invalidateRect.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::cleanup):
- Stop the request timer, set m_pluginView to nil.
-
- (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
- No need to set m_pluginView to nil here anymore, it's now done in cleanup().
-
- (WebKit::NetscapePluginInstanceProxy::performRequest):
- (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
- Assert that the plug-in view is not nil.
-
- (WebKit::NetscapePluginInstanceProxy::invalidateRect):
- Call setNeedsDisplayInRect here.
-
-2009-03-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6714964>
- CrashTracer: [REGRESSION] 51 crashes in Safari at com.apple.WebKit • WebNetscapePluginStream::deliverData + 775
-
- Don't release m_deliveryData since it's a RetainPtr. Also, use adoptNS instead of releasing newDeliveryData manually.
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::deliverData):
-
-2009-03-25 Mike Thole <mthole@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/6453738> call SetWindow when user creates a new tab
-
- CoreGraphics plug-ins now receive an NPP_SetWindow call when moving to a background tab.
- Flash is excluded from this change in behavior, as it has historical WebKit-specific code
- that isn't compatible with this change.
-
- * Plugins/WebNetscapePluginView.h:
- Added an _isFlash ivar.
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView _createPlugin]):
- Set the new _isFlash ivar based on the bundle identifier.
- (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- When using the CG drawing model and in a non-drawable state, set the portState
- to NULL and return early.
- (-[WebNetscapePluginView updateAndSetWindow]):
- When using the CG drawing model, call -setWindowIfNecessary even if the portState is NULL.
- Flash is an exception to this, due to its historical behavior.
- (-[WebNetscapePluginView setWindowIfNecessary]):
- Removed an assertion that was no longer true. The [NSView focus] view
- is no longer guaranteed to be 'self' at this point.
- Also modified the debug logging for CG plug-ins to include the size of the
- window's clipRect, which was useful in verifying the correct behavior of this patch.
-
-2009-03-24 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Oliver Hunt.
-
- - speculative fix for <rdar://problem/6630134> Crash at
- Editor::compositionRange()
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView markedRange]): Null-check the Frame like most other
- methods in this class.
-
-2009-03-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Fix for <rdar://problem/6140966>
- Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache
-
- * Misc/WebCache.mm:
- (+[WebCache empty]):
-
-2009-03-23 Adele Peterson <adele@apple.com>
-
- Reviewed by Mark Rowe & Dave Hyatt.
-
- Merge some of the individual Mail quirks into two settings that we can check for future quirks.
-
- * WebView/WebView.mm:
- (runningLeopardMail):
- (runningTigerMail):
- (-[WebView _preferencesChangedNotification:]):
-
-2009-03-23 Darin Adler <darin@apple.com>
-
- * WebView/WebTextIterator.h: Fixed a spelling error in a comment.
-
-2009-03-22 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - fix <rdar://problem/6640741> Messages not displaying after the
- Safari 4 beta was installed
-
- Mail assumes that if -[WebArchive subresources] is not nil, then it
- contains at least one object.
-
- * WebView/WebArchive.mm:
- (-[WebArchive subresources]): Preserve the behavior of returning nil
- if there are no subresources.
-
-2009-03-20 Adele Peterson <adele@apple.com>
-
- Build fix.
-
- Reviewed by Darin Adler.
-
- * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]):
-
-2009-03-20 Timothy Hatcher <timothy@apple.com>
-
- Change how threading exceptions are checked so they are reported
- by what round they were added. That way WebKit can decided the
- behavior per-round based on linked-on-or-after checks.
-
- <rdar://problem/6626741&6648478&6635474&6674079>
-
- Reviewed by Darin Adler.
-
- * History/WebBackForwardList.mm: Use the new WebCoreThreadViolationCheckRoundOne macro.
- * History/WebHistoryItem.mm: Ditto.
- * Misc/WebIconDatabase.mm: Ditto.
-
- * WebView/WebArchive.mm: Use the new WebCoreThreadViolationCheckRoundTwo macro.
- * WebView/WebResource.mm: Ditto.
- (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Check Mail's bundle version
- to truly decide if it is an old Mail client.
- * WebView/WebView.mm: Ditto.
-
- * Misc/WebKitVersionChecks.h: Add a new linked-on-or-after version define.
- * WebView/WebFrameView.mm:
- (-[WebFrameView initWithFrame:]): Set the default thread violation behavior per-round
- based on difference version checks and the Mail workaround check.
-
-2009-03-20 Darin Adler <darin@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- * WebView/WebTextIterator.h: Improved comments to point out some of the pitfalls
- of this SPI.
-
-2009-03-20 Darin Adler <darin@apple.com>
-
- Reviewed by Adele Peterson.
-
- Use a better technique to handle finding out if something responds to a selector
- in WebHTMLView's doCommandBySelector method.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView doCommandBySelector:]): Removed unneeded check for 0 coreFrame;
- this is already handled by coreCommandBySelector: so doesn't need to be checked
- twice. Got rid of initial value for eventWasHandled boolean to make it more clear.
- Use WebResponderChainSink to find out if a command is handled rather than walking
- the responder chain explicitly.
- (-[WebResponderChainSink initWithResponderChain:]): Added.
- (-[WebResponderChainSink detach]): Added.
- (-[WebResponderChainSink receivedUnhandledCommand]): Added.
- (-[WebResponderChainSink noResponderFor:]): Added.
- (-[WebResponderChainSink doCommandBySelector:]): Added.
-
-2009-03-19 Timothy Hatcher <timothy@apple.com>
-
- Remove #ifndef BUILDING_ON_TIGER around code that schedules runloop modes
- for Page, so the new RunLoopTimer in WebCore always gets a default mode.
- Fixes the layout test failures on the Tiger build bots.
-
- Reviewed by Mark Rowe.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView scheduleInRunLoop:forMode:]):
- (-[WebView unscheduleFromRunLoop:forMode:]):
-
-2009-03-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- WebKit side of <rdar://problem/6688244>.
-
- Try reinitializing the vendor port if it's invalid.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
-
-2009-03-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6504776>
- CrashTracer: [USER] 188 crashes in Safari at com.apple.WebCore • WTF::HashTableIterator<WTF::RefPtr<WebCore::ResourceLoader>, ...
-
- If the m_pluginView member was zeroed out as a result of making a call into the plug-in, the pluginFunctionCallDepth would be off
- causing the plug-in never to be stopped. Simplify the code by using a RAII object.
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (PluginStopDeferrer::PluginStopDeferrer):
- (PluginStopDeferrer::~PluginStopDeferrer):
- (WebNetscapePluginStream::startStream):
- (WebNetscapePluginStream::wantsAllStreams):
- (WebNetscapePluginStream::destroyStream):
-
-2009-03-17 Darin Adler <darin@apple.com>
-
- Reviewed by Adele Peterson.
-
- <rdar://problem/6687005> Need support for new move-left/right selectors.
-
- * WebView/WebHTMLView.mm: Added the four new selectors to the command-forwarding list.
- * WebView/WebView.mm: Ditto.
-
-2009-03-17 Darin Adler <darin@apple.com>
-
- Reviewed by Adele Peterson.
-
- Bug 24477: REGRESSION (r41467): Page Down key scrolls two pages
- https://bugs.webkit.org/show_bug.cgi?id=24477
- rdar://problem/6674184
-
- * WebView/WebHTMLView.mm:
- (responderChainRespondsToSelector): Added.
- (-[WebHTMLView doCommandBySelector:]): Set eventWasHandled based on whether we
- can find a responder that responds to this selector rather than always assuming
- the selector will not be handled.
-
-2009-03-17 Mark Rowe <mrowe@apple.com>
-
- Fix the build.
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
-
-2009-03-17 David Kilzer <ddkilzer@apple.com>
-
- Use -[NSURLResponse(WebCoreURLResponse) _webcore_MIMEType] consistently
-
- Reviewed by Darin Adler.
-
- WebKit r30323 added -_webcore_MIMEType to fix issues with
- incorrect MIME types in NS[HTTP]URLResponse objects. However,
- uses of -[NSURLResponse MIMEType] still persist in WebKit that
- should be switched to use -_webcore_MIMEType. Note that
- -[WebDataSource _responseMIMEType] calls back into WebCore to
- get the MIME type from the ResourceResponse object, which has
- already retrieved it via -_webcore_MIMEType.
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::didReceiveResponse): Use
- -_webcore_MIMEType.
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::didReceiveResponse): Ditto.
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView pluginView:receivedData:]): Ditto.
- * Plugins/WebPluginController.mm:
- (-[WebPluginController pluginView:receivedResponse:]): Ditto.
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation _isDisplayingWebArchive]): Use
- -[WebDataSource _responseMIMEType] instead.
- * WebView/WebPDFRepresentation.m:
- (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Ditto.
- * WebView/WebPDFView.mm:
- (-[WebPDFView menuForEvent:]): Ditto.
-
-2009-03-17 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler
-
- https://bugs.webkit.org/show_bug.cgi?id=24396
-
- Add WTF_USE_ACCELERATED_COMPOSITING, defined to 0 for now.
-
- * WebKitPrefix.h:
-
-2009-03-17 Kevin Ollivier <kevino@theolliviers.com>
-
- Reviewed by Mark Rowe.
-
- Get BUILDING_ON_* defines from Platform.h.
-
- https://bugs.webkit.org/show_bug.cgi?id=24630
-
- * WebKitPrefix.h:
-
-2009-03-16 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6577174> Rename the text directionality submenus to “Paragraph Direction” and “Selection Direction”
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory contextMenuItemTagParagraphDirectionMenu]): Changed string here, but only
- post-Leopard, since we want this to match the Mac OS X menu on Tiger and Leopard.
- (-[WebViewFactory contextMenuItemTagSelectionDirectionMenu]): Changed string here.
-
-2009-03-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Don't mig_deallocate random data in case an instance proxy method returns false.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCEvaluate):
- (WKPCInvoke):
- (WKPCInvokeDefault):
- (WKPCGetProperty):
- (WKPCEnumerate):
-
-2009-03-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <rdar://problem/6633944>
- REGRESSION (Safari 4 PB): Many crashes in Flip4Mac involving loading the plugin
-
- Defer loading while calling webPlugInInitialize since it can end up spinning the run loop.
-
- * Plugins/WebPluginController.mm:
- (-[WebPluginController addPlugin:]):
-
-2009-03-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix <rdar://problem/6622601>
-
- Make sure to update both the window frame and the plug-in frame.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView addWindowObservers]):
-
-2009-03-15 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adele Peterson.
-
- - fix <rdar://problem/6607773> WebKit should support the "Default"
- paragraph writing direction -- or at least validate the menu item
- appropriately
-
- Made WebHTMLView validate user interface items with the selector
- -makeBaseWritingDirectionNatural: by returning NO and, if the item is
- a menu item, setting its state to "off".
-
- Strictly speaking, since -makeBaseWritingDirectionNatural: is never
- valid for WebViews, WebHTMLView should not need to respond to it and
- validate it, however because other responders respond to all three
- -makeBaseWritingDirection*: messages and set the menu item state, having
- WebHTMLView do the same makes application developers' lives easier.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
- (-[WebHTMLView makeBaseWritingDirectionNatural:]):
-
-2009-03-13 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- Take advantage of the ability of recent versions of Xcode to easily switch the active
- architecture.
-
- * Configurations/DebugRelease.xcconfig:
-
-2009-03-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker and Geoffrey Garen.
-
- <rdar://problem/6590384>
- REGRESSION (Safari 3-4): Tiger-only Crash occurs at WebView hostWindow () after reloading a set of tabs then quitting
-
- When we're doing fast teardown, plug-in views can be destroyed from -[WebView dealloc]'s [super dealloc] call,
- and thus calling -[WebView hostWindow] will crash since _private is nil.
-
- * WebView/WebView.mm:
- (-[WebView hostWindow]):
-
-2009-03-13 Anders Carlsson <andersca@apple.com>
-
- And yet another attempt...
-
- * Plugins/WebNetscapePluginEventHandlerCocoa.h:
- (WebNetscapePluginEventHandlerCocoa::installKeyEventHandler):
- (WebNetscapePluginEventHandlerCocoa::removeKeyEventHandler):
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
-
-2009-03-13 Anders Carlsson <andersca@apple.com>
-
- Another attempt at fixing the build.
-
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
-
-2009-03-13 Anders Carlsson <andersca@apple.com>
-
- Try to fix the SL build.
-
- * Plugins/WebNetscapePluginEventHandlerCocoa.h:
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- (WebNetscapePluginEventHandlerCocoa::keyDown):
-
-2009-03-13 Greg Bolsinga <bolsinga@apple.com>
-
- Reviewed by Simon Fraser.
-
- Update Geolocation perimission dialogs to be asynchronous.
- https://bugs.webkit.org/show_bug.cgi?id=24505
-
- WebGeolocation is a wrapper around WebCore::Geolocation. It mimics the
- coding style set by WebSecurityOrigin.
-
- WebChromeClient now calls the private UI delegate method
- -webView:frame:requestGeolocationPermission:securityOrigin:
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::requestGeolocationPermissionForFrame):
- * WebCoreSupport/WebGeolocation.mm: Added.
- (WebCore::if):
- (-[WebGeolocation shouldClearCache]):
- (-[WebGeolocation setIsAllowed:]):
- (-[WebGeolocation dealloc]):
- * WebCoreSupport/WebGeolocationInternal.h: Added.
- * WebCoreSupport/WebGeolocationPrivate.h: Added.
- * WebView/WebUIDelegatePrivate.h:
-
-2009-03-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6610666> Revise the Cocoa event model text API
-
- Replace the text input API with a simpler API that uses a separate text input window.
-
- * Plugins/WebNetscapePluginEventHandlerCocoa.h:
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
- Initialize m_keyEventHandler to 0.
-
- (WebNetscapePluginEventHandlerCocoa::keyDown):
- If the plug-in returns 0 from NPP_HandleEvent, pass the event to the TSM machinery.
-
- (WebNetscapePluginEventHandlerCocoa::focusChanged):
- Install/remove the key event handler as needed.
-
- (WebNetscapePluginEventHandlerCocoa::handleTSMEvent):
- Get the text and send a TextInput event.
-
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- Remove the old text input API.
-
- (-[WebNetscapePluginView inputContext]):
- Always return nil here.
-
- * Plugins/npapi.mm:
- * Plugins/nptextinput.h: Removed.
-
-2009-03-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mike Thole and Mark Rowe.
-
- Fix <rdar://problem/6624105>.
-
- Make sure to process incoming messages for the NSEventTrackingRunLoopMode as well.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
-
-2009-03-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- WebKit side of <rdar://problem/6607801>
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::destroy):
- Pass a requestID to _WKPCDestroyPluginInstance and wait until we get a reply back.
-
- * Plugins/Hosted/WebKitPluginHost.defs:
- Add requestID parameter.
-
-2009-03-12 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlsson.
-
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage _unloadWithShutdown:]): Simply a small SUPPORT_CFM code block.
-
-2009-03-12 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Fixed: <rdar://problem/5815862> Opening a subclassed NSWindow from a Safari plugin causes Safari to crash on Quit
-
- This fix addresses crashes in both Silverlight and ChemDraw. This type of crash would occur because AppKit still
- had a reference to open windows that the plugin created (which no longer exist).
-
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage _unloadWithShutdown:]): Do not unload the plug-in bundle on browser shutdown.
-
-2009-03-11 David Kilzer <ddkilzer@apple.com>
-
- Remove duplicate header include
-
- Rubber-stamped by Mark Rowe.
-
- * WebView/WebView.mm: Remove duplicate #include <runtime/InitializeThreading.h>.
- Also realphabetized lowercase #include statements.
-
-2009-03-11 David Kilzer <ddkilzer@apple.com>
-
- Clarify comments regarding order of FEATURE_DEFINES
-
- Rubber-stamped by Mark Rowe.
-
- * Configurations/WebKit.xcconfig: Added warning about the
- consequences when FEATURE_DEFINES are not kept in sync.
-
-2009-03-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKit side of <rdar://problem/6656147>.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- Pass the requestID to _WKPHInstantiatePlugin.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- Pass the requestID to setCurrentReply.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::setCurrentReply):
- Store the reply in a map with the requestID as the key.
-
- (WebKit::NetscapePluginInstanceProxy::waitForReply):
- Wait for a reply that matches the given requestID.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- Initialize member variables.
-
- (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
- Delete all requests.
-
- (WebKit::NetscapePluginInstanceProxy::print):
- Pass the requestID to _WKPHPluginInstancePrint.
-
- (WebKit::NetscapePluginInstanceProxy::loadRequest):
- Rename m_currentRequestID to m_currentURLRequestID.
-
- (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
- Process requests until we find a reply with the right requestID.
-
- (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
- Pass a requestID to the _WKPH function.
-
- (WebKit::NetscapePluginInstanceProxy::nextRequestID):
- Ditto.
-
- * Plugins/Hosted/ProxyInstance.mm:
- Pass a requestID to the _WKPH functions.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
- Add requestID parameters.
-
-2009-03-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix <rdar://problem/6620064>.
-
- * Plugins/WebPluginContainerPrivate.h:
-
-2009-03-10 Xan Lopez <xlopez@igalia.com>
-
- Build fix, no review.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _smartDeleteRangeForProposedRange:]):
-
-2009-03-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- WebKit side of <rdar://problem/6530007>
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCEnumerate):
- Call NetscapePluginInstanceProxy::enumerate.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::enumerate):
- Enumerate the JS object and serialize its values.
-
- * Plugins/Hosted/ProxyInstance.h:
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::getPropertyNames):
- Ask the plug-in host to get the property names and deserialize them.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2009-03-09 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Oliver Hunt and Cameron Zwarich
-
- https://bugs.webkit.org/show_bug.cgi?id=24440
-
- The sublayer added to WebHTMLView to host accelerated compositing layers needs to
- be a subclass of NSView which allows context menu clicks through.
-
- * WebView/WebHTMLView.mm:
- (-[WebLayerHostingView rightMouseDown:]):
- (-[WebHTMLView attachRootLayer:]):
-
-2009-03-08 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that
- Frame.h no longer needs to include it. This cuts the size of the symbols
- for a debug build by around 3%.
-
- * Plugins/WebNetscapePluginView.mm:
- * WebView/WebFrame.mm:
- (-[WebFrame _scrollDOMRangeToVisible:]):
- (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
- (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView jumpToSelection:]):
- (-[WebHTMLView centerSelectionInVisibleArea:]):
-
-2009-03-07 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- - fix a bug where debug builds were clearing the HTML5 application cache
- on application termination
-
- * WebView/WebView.mm:
- (-[WebView _close]): Call -[WebCache setDisabled:YES] instead of
- -[WebCache empty].
-
-2009-03-06 Douglas R. Davidson <ddavidso@apple.com>
-
- Reviewed by Justin Garcia.
-
- https://bugs.webkit.org/show_bug.cgi?id=24108
-
- Update spelling and grammar checking to use the new combined text
- checking (with automatic language identification) on Snow Leopard.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::checkSpellingAndGrammarOfParagraph):
-
-2009-03-05 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=24079
- <rdar://problem/6611233> REGRESSION (r39549): Page loads cannot be interrupted with Command-. or Escape
- <rdar://problem/6636563> Ctrl-tab shortcut doesn't switch tabs when focus is in text field
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView doCommandBySelector:]):
- If WebKit does not support the command, we need to pass the selector to super. In this case,
- we'll consider the event not to be handled. This is not perfect because in theory, [super doCommandBySelector:]
- can do some action that would cause WebKit to need to consider the event handled. But in practice, I've found no
- example of that happening and causing broken behavior.
-
-2009-03-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6206172> Adoption of new Cocoa API for dictionary contextual menu
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
-
-2009-03-04 Adam Barth <abath@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=24356
-
- Fix WebKit style for allowUniversalAccessFromFileURLs.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences allowUniversalAccessFromFileURLs]):
- (-[WebPreferences setAllowUniversalAccessFromFileURLs:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2009-03-03 David Kilzer <ddkilzer@apple.com>
-
- <rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase
-
- Reviewed by Mark Rowe.
-
- The fix is to add INSTALLHDRS_COPY_PHASE = YES and
- INSTALLHDRS_SCRIPT_PHASE = YES to WebKit.xcconfig, then to
- make sure various build phase scripts work with the installhdrs
- build phase.
-
- * Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME
- based on PLATFORM_NAME to work around the missing definition on
- Tiger.
- * Configurations/WebKit.xcconfig: Added
- WEBCORE_PRIVATE_HEADERS_DIR variable to remove definition of
- UMBRELLA_FRAMEWORKS_DIR for Debug and Release builds in the
- Xcode project file. Added INSTALLHDRS_COPY_PHASE = YES and
- INSTALLHDRS_SCRIPT_PHASE = YES.
-
-2009-03-03 David Kilzer <ddkilzer@apple.com>
-
- Remove last vestiges of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR from WebKit
-
- Reviewed by Adam Roben.
-
- Use of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR was removed in r37465
- since NPAPI headers had migrated from JavaScriptCore to WebCore
- before that.
-
- * Configurations/WebKit.xcconfig: Removed definition of
- JAVASCRIPTCORE_PRIVATE_HEADERS_DIR used in Production builds.
-
-2009-03-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix <rdar://problem/6633834>.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- Create a new plug-in instance if the plug-in host has crashed.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invalidate):
- Add a null check for the plug-in host proxy.
-
-2009-03-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Enable Geolocation (except on Tiger and Leopard).
-
- * Configurations/WebKit.xcconfig:
-
-2009-03-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WebKit part of <rdar://problem/6638658>.
-
- * Plugins/Hosted/NetscapePluginHostManager.h:
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::createPropertyListFile):
- Spawn the plug-in host and wait for it to create the property list.
-
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage createPropertyListFile]):
- Factor code out into a new method.
-
- (-[WebBasePluginPackage pListForPath:createFile:]):
- Call the newly added createPropertyListFile method.
-
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage createPropertyListFile]):
- Tell the plug-in host manager to create a property list file for us.
-
-2009-03-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Fix for <rdar://problem/6507404> Add Geolocation support.
-
- This is not yet turned on for any Mac platform.
-
- Add SPI to ask the embedding application whether to allow
- Geolocation for an origin.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::shouldAllowGeolocationForFrame):
- * WebView/WebUIDelegatePrivate.h:
-
-2009-03-02 Anders Carlsson <andersca@apple.com>
-
- Fix PowerPC build.
-
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage _tryLoad]):
-
-2009-03-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan, Ada Chan.
-
- Factor loading code out into its own method and get rid of a bunch of gotos.
-
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage _tryLoad]):
- (-[WebNetscapePluginPackage load]):
-
-2009-03-02 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * Plugins/WebNetscapeDeprecatedFunctions.h:
-
-2009-03-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John Sullivan.
-
- Rename WebNetscapePluginPackage.m to WebNetscapePluginPackage.mm
-
- * Plugins/WebNetscapePluginPackage.m: Removed.
- * Plugins/WebNetscapePluginPackage.mm: Copied from mac/Plugins/WebNetscapePluginPackage.m.
-
-2009-03-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKit side of <rdar://problem/6449689>
-
- Pass the visible name to the plug-in host.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
-
-2009-02-27 Alice Liu <alice.liu@apple.com>
-
- Fix <rdar://problem/6531265> REGRESSION (r39185): adding ".jpeg"
- extension to images that already have .jpg extension
-
- Reviewed by Oliver Hunt.
-
- * WebView/WebHTMLView.mm:
- (-[NSString matchesExtensionEquivalent:]):
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
- Relax the check for the proper extension to allow for known
- equivalents, special-cased in matchesExtensionEquivalent function.
-
-2009-02-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- <rdar://problem/6631436>
- CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::addValueToArray + 55
-
- Port the NPN_Evaluate code over from WebCore instead of using the frame loader.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluate):
-
-2009-02-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- WebKit side of <rdar://problem/6626814>.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCInvokeDefault):
- Make InvokeDefault async.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- Handle passing NPObjects back to the plug-in host.
-
- * Plugins/Hosted/ProxyInstance.h:
- (WebKit::ProxyInstance::objectID):
- Add objectID getter.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- Make InvokeDefault a simpleroutine.
-
-2009-02-27 Timothy Hatcher <timothy@apple.com>
-
- Fixes an exception by null checking the WebResource before adding it to
- the subresources array.
-
- <rdar://problem/5950769> Bug in [WebDataSource subresources] can throw an exception
-
- Reviewed by Geoff Garen and Anders Carlsson.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource subresources]): Null check the WebResource before adding it.
-
-2009-02-27 Timothy Hatcher <timothy@apple.com>
-
- Adds a workaround for Automator creating a WebView from a secondary thread.
-
- <rdar://problem/6631951> REGRESSION (Safari 4 Beta): Automator crash on
- secondary thread beneath -[WebView initWithFrame:frameName:groupName:]
-
- Reviewed by Geoff Garen.
-
- * WebView/WebView.mm:
- (needsWebViewInitThreadWorkaround): Check for com.apple.Automator.
-
-2009-02-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add a preference to reduce the power of file:// URLs.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences allowUniversalAccessFromFileUrls]):
- (-[WebPreferences setAllowUniversalAccessFromFileUrls:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2009-02-27 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson
-
- https://bugs.webkit.org/show_bug.cgi?id=24242
-
- setCursor(), and resetCursorRects() on Tiger, were using global, not local
- coordinates for elementAtPoint:
-
- * WebView/WebHTMLView.mm:
- (resetCursorRects):
- (setCursor):
-
-2009-02-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add a preference to reduce the power of file:// URLs.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences allowUniversalAccessFromFileUrls]):
- (-[WebPreferences setAllowUniversalAccessFromFileUrls:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2009-02-26 Adele Peterson <adele@apple.com>
-
- Reviewed by Geoff Garen.
-
- Fix for <rdar://problem/6618166>
- https://bugs.webkit.org/show_bug.cgi?id=24216
- (REGRESSION r36919) Safari 4 Beta causes MSN Messenger's text entry field to lose focus after entering a message
-
- During a series of firstResponder changes, at some point while the WebHTMLView was losing first responder status,
- we incorrectly marked the page as active, and then when the WebHTMLView became first responder again, setActive did nothing.
- This change restores behavior from before r36919 to check if the WebHTMLView is in the middle of losing first responder when calling setActive.
-
- In addition to updating editing/selection/designmode-no-caret.html results, I also made sure the test cases that were
- fixed in r36919 and r38570 are still fixed.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView resignFirstResponder]): Keep track if we're in the process of resigning first responder.
- (-[WebHTMLView _isResigningFirstResponder]): Added.
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebView.mm: (-[WebView _updateFocusedAndActiveStateForFrame:]): Don't set the page to be active
- if the document view is currently resigning first responder.
-
-2009-02-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Fix <rdar://problem/6623697>.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::print):
- Ask the plug-in host to print, create a CGImage of the returned bytes and draw
- the image into the passed in context.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView drawRect:]):
- When printing, call NetscapePluginInstanceProxy::print.
-
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2009-02-19 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=24024
- REGRESSION (r39845): Assertion failure in -[WebHistoryItem dictionaryRepresentation] when
- archiving a submission to about:blank
-
- I don't know how to make an automated test for this bug.
-
- * History/WebHistory.mm: (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
- Account for the fact that HTTP method may be non-empty for non-HTTP requests.
-
-2009-02-25 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- Naming change from
- Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
- https://bugs.webkit.org/show_bug.cgi?id=24143
-
- * WebView/WebFrame.mm:
- (-[WebFrame _accessibilityTree]):
-
-2009-02-25 Simon Fraser <simon.fraser@apple.com>
-
- Build fix with ACCELERATED_COMPOSITING turned on.
-
- I missed a spot in my last commit in renaming to
- _stoppedAcceleratedCompositingForFrame:
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView close]):
-
-2009-02-25 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein
-
- https://bugs.webkit.org/show_bug.cgi?id=23854
-
- Make an observable property, _isUsingAcceleratedCompositing, on
- WebView that DumpRenderTree can use to specialize behavior.
-
- This is implemented via a count of Frames that are using
- accelerated compositing.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLViewPrivate clear]):
- (-[WebHTMLView close]):
- (-[WebHTMLView attachRootLayer:]):
- (-[WebHTMLView detachRootLayer]):
- * WebView/WebView.mm:
- (+[WebView automaticallyNotifiesObserversForKey:]):
- (-[WebView _startedAcceleratedCompositingForFrame:]):
- (-[WebView _stoppedAcceleratedCompositingForFrame:]):
- (-[WebView _isUsingAcceleratedCompositing]):
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-2009-02-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Related to <rdar://problem/6590295>
- Allow disabling javascript: urls.
-
- * WebView/WebView.mm:
- (-[WebView _setJavaScriptURLsAreAllowed:]):
- * WebView/WebViewPrivate.h:
-
-2009-02-24 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <rdar://problem/6259220> Rename AVAILABLE_AFTER_WEBKIT_VERSION_3_1 (etc.) to match the other macros
-
- * Carbon/CarbonUtils.h:
- * Carbon/HIWebView.h:
- * Plugins/WebPlugin.h:
- * Plugins/WebPluginViewFactory.h:
- * WebView/WebUIDelegate.h:
-
-2009-02-24 Peter Ammon <pammon@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fix <rdar://problem/6251410> Services can modify non-editable content in Safari
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validRequestorForSendType:returnType:]): Return self only if we can handle
- both the send and return type. We should also handle a nil send or return type by ignoring
- the argument and returning whether we can handle the other type passed in.
-
-2009-02-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoffrey Garen and Darin Adler.
-
- WebKit side of <rdar://problem/6613151>.
-
- Make sure to vm_deallocate all memory we get from MIG callbacks.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (DataDeallocator::DataDeallocator):
- (DataDeallocator::~DataDeallocator):
- Add a simple deallocator class.
-
- (WKPCStatusText):
- (WKPCLoadURL):
- (WKPCBooleanAndDataReply):
- (WKPCEvaluate):
- (WKPCGetStringIdentifier):
- (WKPCInvoke):
- (WKPCInvokeDefault):
- (WKPCConstruct):
- (WKPCSetProperty):
- Use the new deallocator class.
-
-2009-02-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix <rdar://problem/6450656>.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::insertText):
- Add insert text which just calls the new WKPH function.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView inputContext]):
- Get the input context from the shared input panel.
-
- (-[WebHostedNetscapePluginView keyDown:]):
- Let the shared input panel have a go at the event first.
-
- * Plugins/Hosted/WebKitPluginHost.defs:
- Add new InsertText function.
-
-2009-02-23 Mark Rowe <mrowe@apple.com>
-
- Fix the build after r41126.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
-
-2009-02-22 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - fix <rdar://problem/5966123> REGRESSION (r30741): Generic Sun Applet loading logo appears half off screen
-
- * WebCoreSupport/WebFrameLoaderClient.mm: Correct a copy & paste error
- in r30741, and assign the height value, rather than the width, to the
- "height" parameter.
-
-2009-02-21 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * Plugins/Hosted/WebTextInputWindowController.m:
-
-2009-02-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add a shared floating text input window implementation, to be used by the hosted plug-in view.
-
- * Plugins/Hosted/WebTextInputWindowController.h: Added.
- * Plugins/Hosted/WebTextInputWindowController.m: Added.
-
-2009-02-20 Kevin Decker <kdecker@apple.com>
-
- Reviewed by andersca.
-
- <rdar://problem/6496140> Safari sometimes hangs in WKSetMetadataURL for several seconds after downloading a file
-
- Spawn a background thread for WKSetMetadataURL because this function will not return until mds has journaled the data
- we are trying to set. Depending on what other I/O is going on, it can take some time.
-
- * Misc/WebNSFileManagerExtras.m: Import pthread.h and FoundationExtras.h
- (setMetaData): Added. Calls WKSetMetadataURL().
- (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Call setMetaData on a background thread
-
-2009-02-19 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- - WebKit part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
- Do not send loader callbacks during CSS styling
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Reverted the
- iChat-specific quirk added in <http://trac.webkit.org/changeset/41071>.
-
-2009-02-18 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Brady Eidson.
-
- - WebKit part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Activate the WebCore
- workaround for this crash in iChat.
-
-2009-02-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix for <rdar://problem/6542390>
-
- There's no need to call setDefersLoading here - we already defer anything a plug-in can do that
- would cause a load to begin.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView sendEvent:isDrawRect:]):
-
-2009-02-18 Adam Roben <aroben@apple.com>
-
- Add SPI to get WebKit's custom pointing-hand cursor
-
- Reviewed by John Sullivan.
-
- * WebView/WebView.mm:
- (+[WebView _pointingHandCursor]): Added. Returns the custom
- pointing-hand cursor that WebKit uses.
- * WebView/WebViewPrivate.h: Added +_pointingHandCursor.
-
-2009-02-17 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Antti Koivisto.
-
- https://bugs.webkit.org/show_bug.cgi?id=23917
- Allow a WebKit plug-in to act as a proxy for the <audio> and <video>
- element.
-
- * Plugins/WebPluginContainerPrivate.h:
- * Plugins/WebPluginController.mm:
- (mediaProxyClient): New, cast to HTMLMediaElement if it is a video or audio element
- (-[WebPluginController _setMediaPlayerProxy:forElement:]): New, pass proxy to HTMLMediaElement
- (-[WebPluginController _postMediaPlayerNotification:forElement:]): New, deliver event to HTMLMediaElement
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin): Don't allow a media player proxy plug-in to be chosen by
- file extension, only want a match for the new MIME type proxy plug-ins should have.
-
-2009-02-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/6584834> ESPN radio live stream link hangs Safari
-
- When a plug-in invokes JavaScript code that will destroy the plug-in, we need to
- defer destruction until we're done executing the script.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::PluginDestroyDeferrer::PluginDestroyDeferrer):
- (WebKit::PluginDestroyDeferrer::~PluginDestroyDeferrer):
- Add a simple RAII object for deferring destruction of the plug-in instance.
-
- (WKPCEvaluate):
- (WKPCInvoke):
- (WKPCInvokeDefault):
- (WKPCConstruct):
- (WKPCGetProperty):
- (WKPCSetProperty):
- (WKPCRemoveProperty):
- (WKPCHasProperty):
- (WKPCHasMethod):
- Use the PluginDestroyDeferrer.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::pluginID):
- Assert that the plug-in ID is not 0 here.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- Initialize the call depth.
-
- (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
- Set the plug-in ID to 0 to aid debugging.
-
- (WebKit::NetscapePluginInstanceProxy::willCallPluginFunction):
- Increment the call depth.
-
- (WebKit::NetscapePluginInstanceProxy::didCallPluginFunction):
- Decrement the call depth, if it's 0 and we should stop the plug-in, do so.
-
- (WebKit::NetscapePluginInstanceProxy::shouldStop):
- If we're called this with a non-zero call depth, set shouldStopSoon to true.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView shouldStop]):
- Call the proxy.
-
-2009-02-12 Brady Eidson <beidson@apple.com>
-
- Reviewed by Kevin Decker
-
- <rdar://problem/6582180> - Wrong HTTP method applied to history item.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::updateGlobalHistory): Check the original request, not any
- redirected request.
-
-2009-02-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/6579412>
- REGRESSION (3.2.1-ToT): Crash in Silverlight viewing streaming lecture
-
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView userAgent]):
- Apply workaround for Silverlight workaround.
-
- (-[WebNetscapePluginView _createPlugin]):
- Check if the plug-in that we're creating is the silverlight plug-in.
-
-2009-02-12 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler
-
- Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
-
- * History/WebBackForwardList.mm:
- (-[WebBackForwardList dealloc]): Null check before deref()'ing.
- (-[WebBackForwardList finalize]): Ditto.
-
- * Misc/WebIconFetcher.mm:
- (-[WebIconFetcher dealloc]): Null check before deref()'ing.
- (-[WebIconFetcher finalize]): Ditto.
-
- * WebCoreSupport/WebEditorClient.mm: Change to use RefPtr<> instead of ref()/deref().
- (-[WebEditCommand initWithEditCommand:]):
- (-[WebEditCommand dealloc]):
- (-[WebEditCommand finalize]):
- (-[WebEditCommand command]):
-
- * WebView/WebArchive.mm: Change to use RefPtr<> instead of ref()/deref().
- (-[WebArchivePrivate init]):
- (-[WebArchivePrivate initWithCoreArchive:]):
- (-[WebArchivePrivate coreArchive]):
- (-[WebArchivePrivate setCoreArchive:]):
- (-[WebArchivePrivate dealloc]):
- (-[WebArchivePrivate finalize]):
-
- * WebView/WebDataSource.mm:
- (-[WebDataSourcePrivate dealloc]): Null check before deref()'ing.
- (-[WebDataSourcePrivate finalize]): Ditto.
-
-2009-02-12 Brady Eidson <beidson@apple.com>
-
- Reviewed by Kevin Decker
-
- <rdar://problem/6579750> - Crash in WebArchivePrivate in Tiger TextEdit
-
- NSHTMLReader tries to create a WebArchive from a random chunk of data. Previously, WebArchive creation would
- fail and return nil and NSHTMLReader would try something else. When we changed the behavior to return an invalid
- WebArchive object, things started getting weird.
-
- * WebView/WebArchive.mm:
- (-[WebArchivePrivate setCoreArchive:]): Null check the pointer before calling ->deref()
- (-[WebArchivePrivate dealloc]): Remove the ASSERT which is now invalid, and null check the pointer before ->deref().
- (-[WebArchivePrivate finalize]): Ditto
- (-[WebArchive initWithData:]): If the LegacyWebArchive cannot be created, return nil instead of an invalid object.
-
-2009-02-11 Mark Rowe <mrowe@apple.com>
-
- Fix the build.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate visitedURL:withTitle:]): Use ASSERT_UNUSED in a manner that makes sense.
-
-2009-02-11 Brady Eidson <beidson@apple.com>
-
- Reviewed by Mark Rowe
-
- <rdar://problem/6570573> Some visit counts in History.plist have insanely high values, can roll over to negative
-
- Remove the item from the date caches before registering the visit. Otherwise it might not be successfully removed
- and when we add it back later it will exist in the list twice. This will cause the entry to be written out twice,
- which would lead to doubling (or more!) the visit count on next launch when these multiple items are merged.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate visitedURL:withTitle:]): Swap the removeItemFromDateCaches and visitedWithTitle calls.
- (-[WebHistoryPrivate addItem:discardDuplicate:]): Add a mode that allows the entry being added to be discarded
- if an entry for the URL already exists. Use that mode when reading the History.plist so only the most
- recent entry for a given URL will be used.
- (-[WebHistoryPrivate addItems:]):
- (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
-
-2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>
-
- Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645).
- This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown.
-
- Reviewed by Timothy Hatcher.
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::hiddenPanels):
-
-2009-02-11 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6562920> Pasted text should be normalized to NFC
-
- * Misc/WebNSURLExtras.mm: (-[NSURL _web_userVisibleString]): Route the URL string through
- -[NSString precomposedStringWithCanonicalMapping].
-
- * WebCoreSupport/WebPasteboardHelper.mm:
- (WebPasteboardHelper::plainTextFromPasteboard): Ditto.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
- Ditto. The affected cases are all plain text ones - RTF, RTFD and HTML are assumed to be
- precomposed already, and the conversion is performed outside WebKit for those anyway.
-
-2009-02-10 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dan Bernstein
-
- <https://bugs.webkit.org/show_bug.cgi?id=23889>, <rdar://problem/6572300>
- Negative visit counts stored in History.plist aren't corrected.
-
- It's not clear how a huge negative visit count ended up in History.plist, but we can't
- trust data read from disk so we can at least reset this to something sane. WebCore has
- no guard against a visit count overflowing an int, but that seems very unlikely to have
- caused this.
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- If a negative visit count is in the dictionary, replace it with 1. If a negative daily or
- weekly visit count is in the dictionary, replace it with 0.
-
-2009-02-10 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dan Bernstein
-
- <https://bugs.webkit.org/show_bug.cgi?id=23891>
- [WebHistoryItem _setVisitCount:] is unused and should be removed
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem _setVisitCount:]):
- removed this unused method, which is a synonym for setVisitCount: that was introduced
- recently and abandoned even more recently
-
- * History/WebHistoryItemInternal.h:
- removed declaration of _setVisitCount:
-
-2009-02-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe.
-
- <rdar://problem/6573916>
- CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::pluginHostDied + 25.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- If we failed to instantiate the plug-in, invalidate the instance proxy.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invalidate):
- Remove the instance from the plug-in host's set.
-
- (WebKit::NetscapePluginInstanceProxy::destroy):
- Call invalidate().
-
-2009-02-09 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fix <https://bugs.webkit.org/show_bug.cgi?id=23863> / <rdar://problem/6571390>.
- Bug 23863: Reproducible crash in Mail with TOT WebKit when creating a new message
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _removeMouseMovedObserverUnconditionally]): Nil-check _private as it may have not
- yet been initialized if this WebHTMLView was loaded from a nib.
- (-[WebHTMLView _removeSuperviewObservers]): Ditto.
-
-2009-02-09 Eric Seidel <eric@webkit.org>
-
- Reviewed by Dave Hyatt.
-
- Rename Selection to VisibleSelection to allow us to separate
- the selections the user works with from the ones used by
- the JS editing APIs.
- https://bugs.webkit.org/show_bug.cgi?id=23852
-
- * WebView/WebFrame.mm:
- (-[WebFrame _selectNSRange:]):
- * WebView/WebView.mm:
- (-[WebView textIteratorForRect:]):
-
-2009-02-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Fix crash when plug-in host dies.
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::didFail):
-
-2009-02-05 Eric Seidel <eric@webkit.org>
-
- Reviewed by Justin Garcia.
-
- DOMSelection.getRangeAt() returns a different range than the selection
- https://bugs.webkit.org/show_bug.cgi?id=23601
-
- Rename toRange to toNormalizedRange and add new firstRange which returns an unmodified range
-
- * WebView/WebFrame.mm:
- (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
- (-[WebFrame _markDOMRange]):
- (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
- (-[WebFrame _selectedNSRange]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _selectedRange]):
- (-[WebTextCompleteController doCompletion]):
- (-[WebHTMLView selectedAttributedString]):
- * WebView/WebView.mm:
- (-[WebView textIteratorForRect:]):
- (-[WebView selectedDOMRange]):
-
-2009-02-06 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Part III of <rdar://problem/6552272>.
-
- Refactored to use the redirect data WebCore makes available, instead of
- tracking loading state in WebKit.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate dealloc]):
- (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
- (-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]):
- * History/WebHistoryInternal.h:
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::updateGlobalHistory):
- (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
-
-2009-02-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/6562220>
- CrashTracer: [USER] 21 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostProxy::port
-
- Make the handling of crashes in the plug-in host more robust.
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- Add m_portSet.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
- Initialize m_portSet.
-
- (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
- Free m_portSet.
-
- (WebKit::NetscapePluginHostProxy::processRequests):
- Listen for messages on the port set. If we get a message to the port death notification port,
- then call pluginHostDied. Otherwise, process the message.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::cleanup):
- Factor code that should be shared between destroy() and pluginHostDied() into cleanup.
-
- (WebKit::NetscapePluginInstanceProxy::destroy):
- Call cleanup().
-
- (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
- Call cleanup().
-
- (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
- Call NetscapePluginHostProxy::processRequests.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::invalidate):
- Add a null check for the host proxy.
-
-2009-02-06 Dan Bernstein <mitz@apple.com>
-
- - try to fix the Tiger build
-
- * Misc/WebNSArrayExtras.h:
-
-2009-02-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6563650>
- Add Netscape plug-in API to tell the browser not to load streams (some plug-ins handle network loading manually)
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView loadStream]):
- (-[WebNetscapePluginView pluginView:receivedData:]):
- (-[WebNetscapePluginView _shouldCancelSrcStream]):
-
-2009-02-05 Maciej Stachowiak <mjs@apple.com> and Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein and Geoff Garen.
-
- - WebKit code to track per-day and per-week visit counts in history
-
- For now this data is only exposed via SPI for performance reasons.
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem initFromDictionaryRepresentation:]): Add parsing support
- for new data.
- (-[WebHistoryItem _recordInitialVisit]): Tell WebCore to record an initial visit.
- (-[WebHistoryItem dictionaryRepresentation]): Add saving support for new data.
- (-[WebHistoryItem _getDailyVisitCounts:]): SPI accessor.
- (-[WebHistoryItem _getWeeklyVisitCounts:]): SPI accessor.
- * History/WebHistoryItemInternal.h: Declare new methods.
- * History/WebHistoryItemPrivate.h: Ditto.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate visitedURL:withTitle:]): For the initial visit, use
- the new _recordInitialVisit method instead of setting visit count to 1.
-
- * Misc/WebNSArrayExtras.h:
- * Misc/WebNSArrayExtras.m:
- (-[NSArray _webkit_numberAtIndex:]): Helper to retrieve an NSNumber or nil from an NSArray
- (-[NSArray _webkit_stringAtIndex:]): Helper to retrieve an NSString of nil from an NSArray
-
-2009-02-05 Aaron Boodman <aa@chromium.org>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=23708
- Adds documentElementAvailable() callback to FrameLoaderClient.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- Stub out documentElementAvailable().
- * WebCoreSupport/WebFrameLoaderClient.mm:
- Ditto.
-
-2009-02-05 Dan Bernstein <mitz@apple.com>
-
- - build fix
-
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::initGlobalCallFrame):
-
-2009-02-05 Beth Dakin <bdakin@apple.com>
-
- Reviewed by John Sullivan and Brady Eidson.
-
- Fix for <rdar://problem/6557595> REGRESSION: In Mail, selecting a
- mail note message doesn't display it in Mail's preview pane
-
- This was failing because revision 36962 removed a version of
- setVerticalScrollingMode that mail calls. This patch simply adds
- that method back.
-
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
-
-2009-02-04 Anders Carlsson <andersca@apple.com>
-
- Build fix fix.
-
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::initGlobalCallFrame):
-
-2009-02-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Change PCHasProperty, PCHasMethod and PCGetProperty into simpleroutines.
-
- Rename PHEvaluateReply to PHBooleanAndDataReply and add PHBooleanReply.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCEvaluate):
- (WKPCInvoke):
- (WKPCGetProperty):
- (WKPCHasProperty):
- (WKPCHasMethod):
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2009-02-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fix 64-bit build.
-
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::initGlobalCallFrame):
-
-2009-02-04 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Mark Rowe.
-
- Part I of <rdar://problem/6552272>.
-
- Clear the redirectURLs entry when first visiting a site, so sites that
- only redirect you the first time you visit them can later learn that
- they don't redirect.
-
- * History/WebHistory.mm:
- (-[WebHistory _visitedURL:withTitle:method:wasFailure:serverRedirectURL:isClientRedirect:]):
-
-2009-02-04 Timothy Hatcher <timothy@apple.com>
-
- Change the WebSourceId typedef from int to intptr_t now that <rdar://problem/6263297> is fixed.
-
- <rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for sourceId, not int
-
- Reviewed by Oliver Hunt.
-
- * WebView/WebScriptDebugDelegate.h:
-
-2009-02-04 Timothy Hatcher <timothy@apple.com>
-
- Switched over from using the WebSafeForwarder for the Script Debug
- delegate and added high performance CallScriptDebugDelegate functions.
-
- <rdar://problem/6508457> Launching widget in Dashcode debugger is
- super-slow due forwardInvocation: calling debug delegate
-
- Reviewed by Oliver Hunt.
-
- * DefaultDelegates/WebDefaultScriptDebugDelegate.h: Removed.
- * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Removed.
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::initGlobalCallFrame): Use CallScriptDebugDelegate.
- (WebScriptDebugger::sourceParsed): Ditto.
- (WebScriptDebugger::callEvent): Ditto.
- (WebScriptDebugger::atStatement): Ditto.
- (WebScriptDebugger::returnEvent): Ditto.
- (WebScriptDebugger::exception): Ditto.
- * WebView/WebView.mm:
- (-[WebViewPrivate dealloc]): Removed scriptDebugDelegateForwarder.
- (-[WebView _cacheScriptDebugDelegateImplementations]): Added. Gets the
- method implementations for the script debug delegate. Also caches what
- didParseSource method to use.
- (WebViewGetScriptDebugDelegateImplementations): Added. Returns the
- WebScriptDebugDelegateImplementations structure.
- (-[WebView setScriptDebugDelegate:]): Call _cacheScriptDebugDelegateImplementations.
- (CallDelegate): Added more overloaded versions that take different arguments.
- (CallScriptDebugDelegate): Added overloaded versions that take different arguments.
- * WebView/WebViewInternal.h:
-
-2009-02-03 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dave Hyatt
-
- https://bugs.webkit.org/show_bug.cgi?id=23365
-
- Hook up accelerated compositing layers the native
- view system on Mac.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::attachRootGraphicsLayer):
- (WebChromeClient::setNeedsOneShotDrawingSynchronization):
- New methods to hook up the root GraphicsLayer to the native
- view system, and to synchronize layer changes with view-based
- drawing when layers come and go.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLViewPrivate clear]):
- Clear the pointer to layerHostingView.
-
- (-[WebHTMLView _setAsideSubviews]):
- (-[WebHTMLView willRemoveSubview:]):
- Keep the special layer-hosting view in the subviews even
- when the rest of the subviews are ripped out for
- painting.
-
- (-[WebHTMLView _isUsingAcceleratedCompositing]):
- New utility method for DumpRenderTree to know if we're
- hosting layers.
-
- (-[WebHTMLView drawRect:]):
- Call -disableScreenUpdatesUntilFlush if we have to
- synchronize layer changes with painting.
-
- (-[WebHTMLView attachRootLayer:]):
- (-[WebHTMLView detachRootLayer]):
- Attach and detach the root GraphicsLayer.
-
- * WebView/WebViewInternal.h:
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebHTMLViewPrivate.h:
- New method declarations.
-
- * WebView/WebView.mm:
- (-[WebView _needsOneShotDrawingSynchronization]):
- (-[WebView _setNeedsOneShotDrawingSynchronization:]):
- Set the flag to say if we need to synchronize layer
- changes and painting on the next -drawRect: call.
-
- (-[WebView viewWillMoveToWindow:]):
- (-[WebView viewDidMoveToWindow]):
- Call new notifications that the view was added to or removed from
- the window, which are required by the layer hosting mechanism.
-
-2009-02-02 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * Plugins/WebPluginController.mm:
- (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
-
-2009-02-02 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Track redirects in global history.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate dealloc]):
- (-[WebHistoryPrivate lastVisitedEntry]):
- (-[WebHistoryPrivate setLastVisitedEntry:]): Remember the last global history
- entry in case we're asked to add redirect information to it later.
-
- (-[WebHistory _visitedURL:withTitle:method:wasFailure:serverRedirectURL:isClientRedirect:]):
- (-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]): Record redirect
- information in global history.
-
- * History/WebHistoryInternal.h:
- * WebCoreSupport/WebFrameLoaderClient.h: See above and below.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::updateGlobalHistory):
- (WebFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem): Record redirect
- information in global history.
-
- * WebView/WebFrame.mm:
- (-[WebFrame loadRequest:]):
- (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
- * WebView/WebFramePrivate.h: Updated for rename and extra parameter.
-
-2009-02-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Work around a limitation in MIG where two functions can't have the same name even if they're
- not in the same subsystem.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2009-02-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement WKPCGetPluginElementObject.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCGetPluginElementNPObject):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView WebCore::]):
-
-2009-02-02 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * WebView/WebHTMLView.mm:
-
-2009-02-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Make WebBaseNetscapePluginView hold a reference to a HTMLPlugInElement instead of a DOMElement.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.h:
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
- (-[WebBaseNetscapePluginView _windowClipRect]):
- (-[WebBaseNetscapePluginView visibleRect]):
- (-[WebBaseNetscapePluginView dataSource]):
- * Plugins/WebKitPluginContainerView.h: Removed.
- * Plugins/WebKitPluginContainerView.mm: Removed.
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
- (-[WebNetscapePluginView getVariable:value:]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin):
-
-2009-02-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Update for changes to WebCore.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin):
-
-2009-02-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- When a new Web View was not created, report back to the plug-in host.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::performRequest):
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2009-02-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Draw the regular missing plug-in icon instead of a red rect when a plug-in has crashed.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView drawRect:]):
-
-2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
-
- https://bugs.webkit.org/show_bug.cgi?id=23428
-
- FrameView::forceLayout could be killed but the comment might
- contain a value over the the plain FrameView::layout...
-
- Adjust the WebCore/WebKit consumers of these methods.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
-
-2009-01-31 John Sullivan <sullivan@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=23665
-
- Cleaned up code to add/remove NSNotification observers, to avoid performance hit
- of calling removeObserver with unspecified notifications, or calling removeObserver
- multiple times for the same notification.
-
- Reviewed by Darin Adler
-
- * WebView/WebHTMLView.mm:
- added observingMouseMovedNotifications, observingSuperviewNotifications, and
- observingWindowNotifications as BOOL ivars of _private object
- (-[WebHTMLView _removeMouseMovedObserverUnconditionally]):
- moved to file-internal section of file, added leading underscore, now bails out
- if we aren't observing the relevant notifications, now records that we are no longer
- observing the relevant notifications
- (-[WebHTMLView _removeSuperviewObservers]):
- ditto, also stores [NSNoticationCenter defaultCenter] in local var to avoid objc dispatch
- (-[WebHTMLView _removeWindowObservers]):
- ditto
- (-[WebHTMLView close]):
- replace general removeObserver: call with three specific calls for all the notifications
- that this class actually observes
- (-[WebHTMLView addMouseMovedObserver]):
- bail out if already observing relevant notifications, now records that we are observing
- the relevant notifications
- (-[WebHTMLView removeMouseMovedObserver]):
- updated for name change
- (-[WebHTMLView addSuperviewObservers]):
- bail out if already observing relevant notifications, now records that we are observing
- the relevant notifications; also stores [NSNoticationCenter defaultCenter] in local var
- to avoid objc dispatch
- (-[WebHTMLView addWindowObservers]):
- ditto
- (-[WebHTMLView viewWillMoveToSuperview:]):
- updated for name change
- (-[WebHTMLView viewWillMoveToWindow:]):
- updated for name changes
-
-2009-01-31 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fix code that assumes all command selectors end in colons.
- rdar://problem/6545874
-
- * WebView/WebHTMLView.mm:
- (commandNameForSelector): Don't assert, just return a null string, when
- the selector doesn't end in a colon.
-
-2009-01-30 Adam Barth <abarth@webkit.org>
-
- Reviewed by Sam Weinig.
-
- Add a pref to disable web security.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences isWebSecurityEnabled]):
- (-[WebPreferences setWebSecurityEnabled:]):
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler
-
- Carry out the move and catch up in two call sites.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _frameOrBoundsChanged]):
-
-2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- isFrameSet was moved from Frame to Document. Update the
- WebKit usage.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _isFrameSet]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView knowsPageRange:]):
-
-2009-01-30 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebView/WebFramePrivate.h:
-
-2009-01-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
- preparation for setting them differently during a redirect.
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
-
-2009-01-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix <rdar://problem/6544048>
-
- Have NetscapePluginInstanceProxy keep track of all the ProxyInstance objects associated.
-
- When the plug-in instance is destroyed, invalidate all proxy instances.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::destroy):
- (WebKit::NetscapePluginInstanceProxy::addInstance):
- (WebKit::NetscapePluginInstanceProxy::removeInstance):
- * Plugins/Hosted/ProxyInstance.h:
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::ProxyInstance):
- (WebKit::ProxyInstance::~ProxyInstance):
- (WebKit::ProxyInstance::invalidate):
-
-2009-01-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix <rdar://problem/6490778>.
-
- Change the NPRuntime related functions to use IdentifierRep directly, and make sure to always
- validate IdentifierReps before dereferencing them.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCEvaluate):
- (WKPCGetStringIdentifier):
- (WKPCGetIntIdentifier):
- (identifierFromIdentifierRep):
- (WKPCInvoke):
- (WKPCGetProperty):
- (WKPCSetProperty):
- (WKPCRemoveProperty):
- (WKPCHasProperty):
- (WKPCHasMethod):
- (WKPCIdentifierInfo):
-
-2009-01-30 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- Remove FrameLoaderClient code that is now handled by FrameLoader itself
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::frameLoadCompleted):
-
-2009-01-29 Stephanie Lewis <slewis@apple.com>
-
- RS by Oliver Hunt.
-
- Update the order files.
-
- * WebKit.order:
-
-2009-01-29 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Second step in tracking the urls a HistoryItem was redirected through
- Add SPI to access the array of redirect urls associated with a HistoryItem.
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem dictionaryRepresentation]):
- (-[WebHistoryItem _redirectURLs]):
- * History/WebHistoryItemPrivate.h:
-
-2009-01-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Always activate the plug-in host process if we're in "modal mode" and are being told to activate.
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::pluginHostDied):
- Call endModal here.
-
- (WebKit::NetscapePluginHostProxy::applicationDidBecomeActive):
- If we're modal, we should always bring the plug-in host process to the front.
-
- (WebKit::NetscapePluginHostProxy::beginModal):
- Add an observer for the NSApplicationWillBecomeActiveNotification callback.
-
- (WebKit::NetscapePluginHostProxy::endModal):
- Remove the observer.
-
-2009-01-29 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- First step in tracking the urls a HistoryItem was redirected through.
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- (-[WebHistoryItem dictionaryRepresentation]):
- * Misc/WebNSDictionaryExtras.h:
- * Misc/WebNSDictionaryExtras.m:
- (-[NSDictionary _webkit_arrayForKey:]): Add helper.
-
-2009-01-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Pass the PSN of the client to the host, and get the PSN of the host back when checking in.
-
- * Plugins/Hosted/NetscapePluginHostManager.h:
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::hostForPackage):
- Get the current PSN and pass it to spawnPluginHost.
-
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
- Pass the PSN to the "check in" function.
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
-
- (WebKit::NetscapePluginHostProxy::pluginHostDied):
- Fix a bug noticed by Julien Chaffraix. Call endModal if necessary.
-
- (WebKit::NetscapePluginHostProxy::beginModal):
- (WebKit::NetscapePluginHostProxy::endModal):
- (WebKit::NetscapePluginHostProxy::setModal):
- Split out the code that does all of the work into beginModal and endModal methods.
-
- * Plugins/Hosted/WebKitPluginHost.defs:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView loadStream]):
-
-2009-01-29 David Kilzer <ddkilzer@apple.com>
-
- Remove semi-colons from the end of ObjC method implementations
-
- Rubber-stamped by Adam Roben.
-
- $ find WebKit -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;
-
- * DefaultDelegates/WebDefaultUIDelegate.m:
- (-[WebDefaultUIDelegate webView:setResizable:]):
- (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
- (-[WebDefaultUIDelegate webView:dragSourceActionMaskForPoint:]):
- (-[WebDefaultUIDelegate webView:willPerformDragSourceAction:fromPoint:withPasteboard:]):
- * History/WebBackForwardList.mm:
- (-[WebBackForwardList addItem:]):
- (-[WebBackForwardList backListWithLimit:]):
- (-[WebBackForwardList forwardListWithLimit:]):
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem alternateTitle]):
- (-[WebHistoryItem setViewState:]):
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging:]):
- * Misc/WebKitNSStringExtras.m:
- (-[NSString _web_drawAtPoint:font:textColor:]):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView setAttributeKeys:andValues:]):
- * WebCoreSupport/WebEditorClient.mm:
- (-[WebEditCommand command]):
- * WebView/WebFrame.mm:
- (-[WebFrame _getVisibleRect:]):
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView elementAtPoint:allowShadowContent:]):
- * WebView/WebPreferences.mm:
- (-[WebPreferences setAllowsAnimatedImages:]):
- (-[WebPreferences setAutosaves:]):
- (-[WebPreferences PDFDisplayMode]):
- * WebView/WebView.mm:
- (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
- (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
- (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
- (+[WebView _registerViewClass:representationClass:forURLScheme:]):
- (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
- (-[WebView _insertNewlineInQuotedContent]):
-
-2009-01-28 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Updated for WebCore rename.
-
- * WebView/WebView.mm:
- (-[WebView setCustomTextEncodingName:]):
-
-2009-01-28 David Kilzer <ddkilzer@apple.com>
-
- Add missing declaration for -[NSURL(WebNSURLExtras) _webkit_isFileURL]
-
- Reviewed by Dan Bernstein.
-
- * Misc/WebNSURLExtras.h:
- (-[NSURL(WebNSURLExtras) _webkit_isFileURL]): Added missing
- declaration after the implementation was added in r9258.
-
-2009-01-28 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoff Garen.
-
- Fix for <rdar://problem/6129678>
- REGRESSION (Safari 3-4): Local variable not accessible from Dashcode console or variables view
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]): Wrap JSActivations in DebuggerActivations.
-
-2009-01-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fix two bugs with Core Animation based plug-ins.
-
- 1. The plug-in view was marked as opaque even though it's not.
- (This would leave garbage in the plug-in view).
- 2. The plug-in layer needs to have autoresizing turned on.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView setLayer:]):
-
-2009-01-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein
-
- Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage
-
- * History/WebHistoryItem.mm:
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::savePlatformDataToCachedFrame):
- (WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
- * WebKit.order:
-
-2009-01-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add the ability for plug-ins to make WebKit operate in "modal mode"
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
- (WebKit::NetscapePluginHostProxy::pluginHostDied):
- If the plug-in crashes while we're modal, make sure to leave the modal mode.
-
- (WebKit::NetscapePluginHostProxy::setModal):
- (WKPCSetModal):
- * Plugins/Hosted/WebKitPluginClient.defs:
-
-2009-01-26 John Sullivan <sullivan@apple.com>
-
- fixed <rdar://problem/6530053> REGRESSION (Leopard): Shift-tab in http authentication window gets
- stuck in the Name field rather than cycling around
-
- Reviewed by Dan Bernstein
-
- * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
- * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
- The two static text fields and the last button all had their "next key view" outlets set to the
- name field, which caused shift-tab from the name field to do the wrong thing. Fixed by making each
- selectable view have exactly one "next key view" set to it.
-
-2009-01-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add the ability for a plug-in to show or hide the menu bar.
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
- (WebKit::NetscapePluginHostProxy::pluginHostDied):
- (WebKit::NetscapePluginHostProxy::setMenuBarVisible):
- (WKPCSetMenuBarVisible):
- * Plugins/Hosted/WebKitPluginClient.defs:
-
-2009-01-26 Cameron Zwarich <cwzwarich@uwaterloo.ca>
-
- Reviewed by Gavin Barraclough.
-
- Bug 23552: Dashcode evaluator no longer works after making ExecStates actual call frames
- <https://bugs.webkit.org/show_bug.cgi?id=23552>
- <rdar://problem/6398839>
-
- Dashcode will crash when using the evaluator because it saves a global call
- frame, even after global code has finished executing, and then uses this as
- a launching pad to execute new JS in the evaluator. The fix is to detect
- when Dashcode is attempting to do this and execute code from a global call
- frame instead.
-
- * ForwardingHeaders/runtime/Protect.h: Added.
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame _initWithGlobalObject:debugger:caller:debuggerCallFrame:]):
- Added debugger, a WebScriptDebugger* argument.
- (-[WebScriptCallFrame evaluateWebScript:]): Detect when Dashcode is using
- a stale WebScriptCallFrame to execute new JS and evaluate it starting from
- the global object's global call frame instead.
- * WebView/WebScriptDebugger.h:
- (WebScriptDebugger::globalObject): Added.
- (WebScriptDebugger::globalCallFrame): Added.
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::WebScriptDebugger): Initialize m_globalObject.
- (WebScriptDebugger::initGlobalCallFrame): Created as a clone of callEvent
- so that the global call frame can be saved immediately after being created.
- (WebScriptDebugger::callEvent): Pass 'this' as the debugger argument of
- WebScriptCallFrame's _initWithGlobalObject method.
-
-2009-01-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Make WKPCInvoke a simpleroutine.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCInvoke):
- * Plugins/Hosted/WebKitPluginClient.defs:
-
-2009-01-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement using plug-in objects as constructors, and setting and getting properties from a plug-in object.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCBooleanAndDataReply):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::Reply::):
- (WebKit::NetscapePluginInstanceProxy::BooleanAndDataReply::BooleanAndDataReply):
- Rename NPObjectInvokeReply to BooleanAndDataReply.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- Fix a cut and paste error.
-
- (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
- Handle NPObjects.
-
- * Plugins/Hosted/ProxyInstance.h:
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyField::valueFromInstance):
- (WebKit::ProxyField::setValueToInstance):
- Call the ProxyInstance method.
-
- (WebKit::ProxyInstance::~ProxyInstance):
- Release the NPObject.
-
- (WebKit::ProxyInstance::supportsConstruct):
- Ask the plug-in host if an instance supports construct.
-
- (WebKit::ProxyInstance::fieldValue):
- (WebKit::ProxyInstance::setFieldValue):
- Call the plug-in host methods.
-
- * Plugins/Hosted/WebKitPluginHostTypes.h:
- Rename ObjectValueType to JSObjectValueType, and add NPObjectValueType.
-
-2009-01-26 Mark Rowe <mrowe@apple.com>
-
- Fix the build.
-
- Remove -Wformat=2 from the warning flags as newer versions of GCC emit
- warnings about non-literal format strings for uses of our UI_STRING macro.
-
- * Configurations/Base.xcconfig:
-
-2009-01-26 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Clean up after r40240.
-
- * Configurations/Base.xcconfig: Don't dead code strip in debug builds for now as it leads to link errors.
- * Plugins/Hosted/HostedNetscapePluginStream.mm: Revert change that is no longer needed now that WebKitPluginHost.defs
- is back in the build.
-
-2009-01-25 Darin Adler <darin@apple.com>
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm: Added a missing extern "C".
-
-2009-01-25 Darin Adler <darin@apple.com>
-
- Discussed with Mark Rowe; not sure he reviewed it.
-
- * Configurations/Base.xcconfig: Add all the same warnings as in WebCore except for
- -Wcast-qual and -Wunused-parameter, which both need to be off at least for now.
-
-2009-01-25 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- Improve the consistency of settings in our .xcconfig files.
-
- * Configurations/Base.xcconfig: Only dead code strip the normal variant.
- Handle all cases in GCC_GENERATE_DEBUGGING_SYMBOLS.
-
-2009-01-25 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Bug 23522: use checked casts for render tree
- https://bugs.webkit.org/show_bug.cgi?id=23522
-
- Step one: RenderText.
-
- * WebView/WebRenderNode.mm:
- (copyRenderNode): Use toRenderText.
-
-2009-01-23 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Darin Adler
-
- Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role.
-
- * WebCoreSupport/WebCachedFramePlatformData.h: Copied from WebKit/mac/WebCoreSupport/WebCachedPagePlatformData.h.
- (WebCachedFramePlatformData::WebCachedFramePlatformData):
- * WebCoreSupport/WebCachedPagePlatformData.h: Removed.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::savePlatformDataToCachedPage):
- (WebFrameLoaderClient::transitionToCommittedFromCachedPage):
-
- * WebKit.order:
-
-2009-01-23 Adele Peterson <adele@apple.com>
-
- Build fix.
-
- Use new linesBoundingBox method instead of
- boundingBoxWidth and boundingBoxHeight for RenderText objects.
-
- * WebView/WebRenderNode.mm: (copyRenderNode):
-
-2009-01-23 Anders Carlsson <andersca@apple.com>
-
- Fix 64-bit build.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::proxyClass):
-
-2009-01-23 Anders Carlsson <andersca@apple.com>
-
- Fix GCC 4.0 build.
-
- * Configurations/Base.xcconfig:
-
-2009-01-23 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Turn on -Wmissing-prototypes and fix the resulting warnings.
-
- * Configurations/Base.xcconfig:
- * History/WebHistory.mm:
- (timeIntervalForBeginningOfDay):
- * History/WebHistoryItem.mm:
- (historyItemWrappers):
- * Misc/WebNSPasteboardExtras.mm:
- (imageFromElement):
- * WebView/WebFrame.mm:
- * WebView/WebScriptDebugger.mm:
- (toNSString):
-
-2009-01-22 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Anders Carlsson.
-
- Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
-
- Current versions of Xcode only respect it for C and Objective-C files,
- and our code doesn't currently compile if it is applied to C++ and
- Objective-C++ files.
-
- * Configurations/Base.xcconfig:
-
-2009-01-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add support for Invoke and InvokeDefault. Clean up code.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCBooleanReply):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::Reply::):
- (WebKit::NetscapePluginInstanceProxy::BooleanReply::BooleanReply):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
- * Plugins/Hosted/ProxyInstance.h:
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::invoke):
- (WebKit::ProxyInstance::invokeMethod):
- (WebKit::ProxyInstance::supportsInvokeDefaultMethod):
- (WebKit::ProxyInstance::invokeDefaultMethod):
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
- * Plugins/Hosted/WebKitPluginHostTypes.h:
-
-2009-01-22 Eric Roman <eroman@chromium.og>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=20806
- Deprecate RSSFeedReferrer() and setRSSFeedReferrer().
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem RSSFeedReferrer]):
- (-[WebHistoryItem setRSSFeedReferrer:]):
-
-2009-01-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Don't crash or hang when we fail to instantiate a plug-in.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- Return 0 on failure.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView JSC::Bindings::createPluginBindingsInstance:JSC::Bindings::]):
- Null check for the proxy member.
-
-2009-01-21 David Hyatt <hyatt@apple.com>
-
- Devirtualize width/height/x/y on RenderObject and move the methods to RenderBox.
-
- Reviewed by Eric Seidel and Darin Adler
-
- * WebView/WebRenderNode.mm:
- (copyRenderNode):
-
-2009-01-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- More browser->plug-in scripting support.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCNPObjectHasPropertyReply):
- (WKPCNPObjectHasMethodReply):
- (WKPCNPObjectInvokeReply):
- MIG reply functions.
-
- (WKPCIdentifierInfo):
- Return information about an identifier given its 64-bit value.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- Add new reply structs.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- Split out code that adds values to the arrays from marshalValue.
-
- (WebKit::NetscapePluginInstanceProxy::marshalValue):
- Call addValueToArray.
-
- (WebKit::NetscapePluginInstanceProxy::marshalValues):
- Marshal a list of values.
-
- (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
- Actually create a proxy instance.
-
- * Plugins/Hosted/ProxyInstance.h:
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyClass::methodsNamed):
- (WebKit::ProxyClass::fieldNamed):
- Add a proxy ProxyClass class that just forwards everything to the ProxyInstance class.
-
- (WebKit::proxyClass):
- Shared proxyClass getter.
-
- (WebKit::ProxyField::ProxyField):
- (WebKit::ProxyField::valueFromInstance):
- (WebKit::ProxyField::setValueToInstance):
- Add a proxy ProxyField class that just forwards everything to the ProxyInstance class.
-
- (WebKit::ProxyMethod::ProxyMethod):
- (WebKit::ProxyMethod::serverIdentifier):
- (WebKit::ProxyMethod::numParameters):
- Add a dummy ProxyMethod class.
-
- (WebKit::ProxyInstance::invokeMethod):
- Call _WKPHNPObjectInvoke.
-
- (WebKit::ProxyInstance::defaultValue):
- (WebKit::ProxyInstance::stringValue):
- (WebKit::ProxyInstance::numberValue):
- (WebKit::ProxyInstance::booleanValue):
- (WebKit::ProxyInstance::valueOf):
- Add dummy implementations (taken from CInstance).
-
- (WebKit::ProxyInstance::methodsNamed):
- Call _WKPHNPObjectHasMethod to determine whether a method with the given name exists.
-
- (WebKit::ProxyInstance::fieldNamed):
- Call _WKPHNPObjectHasProperty to determine whether a property with the given name exists.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
- Add new MIG definitions.
-
-2009-01-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Clean up how we force invocations of API that happened on background threads over to the main thread.
-
- This was previously accomplished in a somewhat ad-hoc manner using a mutable dictionary to pass arguments
- and return values back from the function. The new approach is to use a proxy object that forwards an
- NSInvocation over to the main thread and applies it to the target object, which leads to a much cleaner
- call site.
-
- * Misc/WebNSObjectExtras.h:
- * Misc/WebNSObjectExtras.mm:
- (-[WebMainThreadInvoker initWithTarget:]):
- (-[WebMainThreadInvoker forwardInvocation:]):
- (-[WebMainThreadInvoker methodSignatureForSelector:]):
- (-[WebMainThreadInvoker handleException:]):
- (-[NSInvocation _webkit_invokeAndHandleException:]): Execute the invocation and forward any exception that was
- raised back to the WebMainThreadInvoker.
- (-[NSObject _webkit_invokeOnMainThread]):
-
- The following methods are updated to use the proxy object to forward methods to the main thread:
-
- * WebView/WebArchive.mm:
- (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
- (-[WebArchive mainResource]):
- (-[WebArchive subresources]):
- (-[WebArchive subframeArchives]):
- * WebView/WebResource.mm:
- (-[WebResource data]):
- (-[WebResource URL]):
- (-[WebResource MIMEType]):
- (-[WebResource textEncodingName]):
- (-[WebResource frameName]):
- (-[WebResource _ignoreWhenUnarchiving]):
- (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
- (-[WebResource _initWithData:URL:response:]):
- (-[WebResource _suggestedFilename]):
- (-[WebResource _response]):
- (-[WebResource _stringValue]):
- * WebView/WebView.mm:
- (-[WebView initWithFrame:frameName:groupName:]):
- (-[WebView initWithCoder:]):
-
-2009-01-20 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Fixes: https://bugs.webkit.org/show_bug.cgi?id=23434 (Add WML <input> element support)
-
- Protect text field related WebEditorClient.mm methods against non-HTMLElement callers.
- WebEditorClient.mm relies on HTMLInputElement as input element. Ignore calls from non-HTMLElement elements.
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::textFieldDidBeginEditing):
- (WebEditorClient::textFieldDidEndEditing):
- (WebEditorClient::textDidChangeInTextField):
- (WebEditorClient::doTextFieldCommandFromEvent):
- (WebEditorClient::textWillBeDeletedInTextField):
- (WebEditorClient::textDidChangeInTextArea):
-
-2009-01-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add and implement GetScriptableNPObject.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCGetScriptableNPObjectReply):
- Create a new reply struct and set it as the current reply.
-
- (WKPCEvaluate):
- Get rid of an unused variable.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::Reply::):
- (WebKit::NetscapePluginInstanceProxy::GetScriptableNPObjectReply::GetScriptableNPObjectReply):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
- Call _WKPHGetScriptableNPObject and wait for a reply.
-
- * Plugins/Hosted/ProxyInstance.h: Added.
- * Plugins/Hosted/ProxyInstance.mm: Added.
- Add empty files.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView JSC::Bindings::createPluginBindingsInstance:JSC::Bindings::]):
- Call NetscapePluginInstanceProxy::createBindingsInstance.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
- Add new declarations.
-
-2009-01-19 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Gavin Barraclough.
-
- Remove temporary operator-> from JSValuePtr.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::hasMethod):
- (WebKit::NetscapePluginInstanceProxy::marshalValue):
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- * WebView/WebView.mm:
- (aeDescFromJSValue):
-
-2009-01-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make Evaluate an asynchronous method that has a reply method.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCEvaluate):
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2009-01-19 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Tim Hatcher
-
- Fix long standing typo.
-
- * History/WebBackForwardList.h:
-
-2009-01-19 Mark Rowe <mrowe@apple.com>
-
- Fix the build!
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::demarshalValue):
- (WebKit::NetscapePluginInstanceProxy::demarshalValues):
-
-2009-01-18 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Fix <https://bugs.webkit.org/show_bug.cgi?id=23414>.
- Bug 23414: Reproducible crash accessing View menu with plugins disabled
-
- * WebView/WebFrame.mm:
- (-[WebFrame _canProvideDocumentSource]): Null-check the PluginData before using it.
-
-2009-01-17 David Hyatt <hyatt@apple.com>
-
- Eliminate dependencies on "backslashAsCurrencySymbol()" from WebKit, and make sure these alterations
- are done in WebCore instead.
-
- Reviewed by Oliver Hunt
-
- * WebView/WebFrame.mm:
- (-[WebFrame _selectedString]):
- (-[WebFrame _stringForRange:]):
-
-2009-01-17 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Adele Peterson
-
- Complete <rdar://problem/6293969>
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Remove UseSharedMediaUI
-
-2009-01-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein
-
- Fix problem where a URL visited as non-GET once is flagged as non-GET forever.
-
- * History/WebHistory.mm:
- (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): Always update the HTTPNonGet
- flag for all loads with an HTTP Method
-
-2009-01-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement InvokeDefault, Construct, GetProperty and SetProperty.
-
- Fully implement marshalValue.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCInvokeDefault):
- (WKPCConstruct):
- (WKPCGetProperty):
- (WKPCSetProperty):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
- (WebKit::NetscapePluginInstanceProxy::getProperty):
- (WebKit::NetscapePluginInstanceProxy::setProperty):
- (WebKit::NetscapePluginInstanceProxy::marshalValue):
- (WebKit::NetscapePluginInstanceProxy::demarshalValue):
- * Plugins/Hosted/WebKitPluginClient.defs:
-
-2009-01-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Demarshal arguments and pass them to the JS call.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCInvoke):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
- (WebKit::NetscapePluginInstanceProxy::demarshalValues):
-
-2009-01-14 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- <rdar://problem/6496520> REGRESSION: In Mail, a crash occurs when attempting to display a mail message
-
- Move WebArchive and WebResource to use the same approach for initializing themselves on the main thread
- that WebView uses.
-
- * WebView/WebArchive.mm:
- (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Use _webkit_performSelectorOnMainThread:withObject:.
- (-[WebArchive _initWithArguments:]):
- * WebView/WebResource.mm:
- (-[WebResource _initWithArguments:]): Unbox the BOOL argument.
-
-2009-01-14 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fix crash I ran into while printing. I was unable to reproduce it, but also,
- it's clear there's no guarantee that the frame will be non-zero in this case,
- so it seems fine to check it.
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView reapplyStyles]): Check frame for zero
- and don't do anything with it if it's zero.
-
-2009-01-14 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - update copyright
-
- * Info.plist:
-
-2009-01-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Add a bunch of methods to WebKitPluginClient.defs, and implement them.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::fromUTF8WithLatin1Fallback):
- If the length isn't specified, get it by calling strlen.
-
- (WKPCEvaluate):
- Evaluate doesn't take any arguments.
-
- (WKPCGetIntIdentifier):
- Call _NPN_GetIntIdentifier.
-
- (identifierFromServerIdentifier):
- New helper function that returns a JSC Identifier from an NPIdentifier.
-
- (WKPCInvoke):
- Call identifierFromServerIdentifier.
-
- (WKPCRemoveProperty):
- (WKPCHasProperty):
- (WKPCHasMethod):
- Call NetscapePluginInstanceProxy.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::removeProperty):
- (WebKit::NetscapePluginInstanceProxy::hasProperty):
- (WebKit::NetscapePluginInstanceProxy::hasMethod):
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- Add new definitions.
-
-2009-01-13 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * WebView/WebView.mm:
- (-[WebView _initWithArguments:]):
-
-2009-01-13 Timothy Hatcher <timothy@apple.com>
-
- Adds a workaround for the flip4mac installer plugin decoding a WebView from a NIB on a secondary thread.
-
- <rdar://problem/6489788> New WebKit thread checks break installation of flip4mac (thread violation)
-
- Reviewed by Darin Adler.
-
- * Misc/WebKitVersionChecks.h: Add WEBKIT_FIRST_VERSION_WITHOUT_WEBVIEW_INIT_THREAD_WORKAROUND.
- * Misc/WebNSObjectExtras.h: Add _webkit_performSelectorOnMainThread:withObject:.
- * Misc/WebNSObjectExtras.mm:
- (-[NSObject _webkit_performSelectorWithArguments:]): Renamed from _webkit_getPropertyWithArguments.
- Passes the optional object to the selector.
- (-[NSObject _webkit_performSelectorOnMainThread:withObject:]): Renamed from _webkit_getPropertyOnMainThread:.
- Put the optional object into the arguments dictionary.
- (-[NSObject _webkit_getPropertyOnMainThread:]): Call _webkit_performSelectorOnMainThread with a nil object.
- * WebView/WebResource.mm:
- (-[WebResource _ignoreWhenUnarchiving]): Use _cmd instead of making the selector again.
- (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): Use the new
- _webkit_performSelectorOnMainThread:withObject: method instead of performSelectorOnMainThread.
- * WebView/WebView.mm:
- (-[WebView _initWithArguments:]): Added. Pulls arguments out of the dictionary and calls the right init method.
- (needsWebViewInitThreadWorkaround): Checks if the thead is not the main thread and if we are in the Installer bundle.
- (-[WebView initWithFrame:frameName:groupName:]): Call needsWebViewInitThreadWorkaround and use _webkit_performSelectorOnMainThread
- to call _initWithArguments: passing the frame, frameName and groupName.
- (-[WebView initWithCoder:]): Ditto, except pass the coder to _initWithArguments:.
-
-2009-01-12 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Deprecate JSValuePtr::getNumber() - two ways to get a number should be enough.
-
- * WebView/WebView.mm:
- (aeDescFromJSValue):
-
-2009-01-12 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler
-
- <rdar://problem/6468274> - Track Non-get requests in global history
-
- * History/WebHistory.mm:
- (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
- * History/WebHistoryInternal.h:
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- (-[WebHistoryItem dictionaryRepresentation]):
- (-[WebHistoryItem _lastVisitWasHTTPNonGet]):
- * History/WebHistoryItemPrivate.h:
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::updateGlobalHistory): Only pass the method through if it was an HTTP load
-
-2009-01-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Move marshalling into NetscapePluginInstanceProxy.
-
- Add support for marshallin strings.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCEvaluate):
- (WKPCInvoke):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::marshalValue):
- * Plugins/Hosted/WebKitPluginHostTypes.h:
-
-2009-01-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Implement WKPCInvoke.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCEvaluate):
- (WKPCInvoke):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::idForObject):
- (WebKit::NetscapePluginInstanceProxy::invoke):
- * Plugins/Hosted/WebKitPluginClient.defs:
-
-2009-01-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Move marshalling code to NetscapePluginInstanceProxy. Add support for marshalling JS objects.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCEvaluate):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::marshalValue):
- * Plugins/Hosted/WebKitPluginHostTypes.h:
-
-2009-01-12 Julien Chaffraix <jchaffraix@pleyo.com>
-
- Reviewed by Darin Adler.
-
- Bug 22861: Turn the FontCache into a singleton
- https://bugs.webkit.org/show_bug.cgi?id=22861
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics cachedFontDataCount]):
- (+[WebCoreStatistics cachedFontDataInactiveCount]):
- (+[WebCoreStatistics purgeInactiveFontData]):
- Redirected all the static calls to the global FontCache
- instance.
-
-2009-01-11 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=23207
- Moved currentTime() to from WebCore to WTF.
-
- * WebView/WebFrame.mm: a different header file included.
-
-2009-01-10 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/5845089> REGRESSION (r30044): Mail custom stationery missing images
- because of change to -[HTMLObjectElement data]
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Added a thread
- violation check because I saw this being done off the main thread while testing Mail, and it
- caused problems. Put all the one time initialization under a single guard to make things just
- a little faster other times, and to make it clearer which things are one-time. Added a call to
- the new patchMailRemoveAttributesMethod function.
- (-[WebView initWithFrame:frameName:groupName:]): Added a thread violation check here too,
- because I assumed it would be slightly better to have a public method name in the violation
- message. This calls commonInitialization later, so it will hit that one eventually.
- (objectElementDataAttribute): Added. Just returns the value of the "data" attribute.
- (recursivelyRemoveMailAttributes): Added. Patch to an internal Mail method that in turn patches
- a WebKit method and removes the patch again on the way out.
- (patchMailRemoveAttributesMethod): Added. On Leopard only, checks the Mail version, and then
- applies the patch that fixes this bug.
-
-2009-01-09 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - fixed <rdar://problem/6234347> Add/change conditional key
- bindings for changing paragraph- and character-level writing
- direction (to match NSTextView)
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Added
- code to validate makeBaseWritingDirectionLeftToRight: and
- makeBaseWritingDirectionRightToLeft:.
- (writingDirectionKeyBindingsEnabled): Changed this function to
- always return YES, except on Tiger and Leopard.
- (-[WebHTMLView makeBaseWritingDirectionLeftToRight:]): Renamed
- changeBaseWritingDirectionToLTR: to this.
- (-[WebHTMLView makeBaseWritingDirectionRightToLeft:]): Renamed
- changeBaseWritingDirectionToRTL: to this.
- (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Now calls
- makeBaseWritingDirectionLeftToRight:.
- (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Now calls
- makeBaseWritingDirectionRightToLeft:.
- * WebView/WebView.mm: Added makeBaseWritingDirectionLeftToRight
- and makeBaseWritingDirectionRightToLeft to
- FOR_EACH_RESPONDER_SELECTOR.
-
-2009-01-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add and implement WKPCGetStringIdentifier.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCGetStringIdentifier):
- * Plugins/Hosted/WebKitPluginClient.defs:
-
-2009-01-08 Stephanie Lewis <slewis@gmail.com>
-
- Fix Tiger build.
-
- * WebView/WebTextIterator.mm:
-
-2009-01-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add basic support for evaluating scripts.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::fromUTF8WithLatin1Fallback):
- (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
- (WKPCReleaseObject):
- (marshalValue):
- (WKPCEvaluate):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::releaseObject):
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHostTypes.h:
-
-2009-01-08 David Hyatt <hyatt@apple.com>
-
- Fix for <rdar://problem/6465682> REGRESSION: In Mail, can't force a message to auto scroll
-
- Add a new ChromeClient method for handling exposure of scrolled rects.
-
- Reviewed by Oliver Hunt
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::scrollRectIntoView):
-
-2009-01-08 Darin Adler <darin@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Bug 23185: add a currentRange method to the WebTextIterator SPI
- https://bugs.webkit.org/show_bug.cgi?id=23185
- rdar://problem/6455834
-
- I also noticed a garbage-collection-related threading issue that I fixed, and
- that the SPI for getting text was unnecessarily inefficient, so I fixed that too.
-
- * WebView/WebTextIterator.h: Moved currentNode and currentText into a "deprecated"
- category. Added currentTextPointer and currentTextLength.
-
- * WebView/WebTextIterator.mm: Changed m_textIterator into an OwnPtr, and also
- used _textIterator to be consistent with ObjC rather than C++ naming.
- (+[WebTextIteratorPrivate initialize]): Added. Calls WebCoreObjCFinalizeOnMainThread,
- since the finalize method here works with main-thread only WebCore objects.
- (-[WebTextIterator initWithRange:]): Changed since _textIterator is an OwnPtr now.
- (-[WebTextIterator advance]): Changed name of m_textIterator. Removed null assertion,
- since I don't think it provides much value.
- (-[WebTextIterator atEnd]): Ditto.
- (-[WebTextIterator currentRange]): Added.
- (-[WebTextIterator currentTextPointer]): Added.
- (-[WebTextIterator currentTextLength]): Added.
- (-[WebTextIterator currentNode]): Did same as above, but also put into new category.
- (-[WebTextIterator currentText]): Ditto.
-
-2009-01-08 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Adele Peterson.
-
- Simplify Mac interfaces for drawing media controller elements
-
- <rdar://problem/6293969>
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Update for changes to media controller functions
-
-2009-01-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fix build.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::idForObject):
-
-2009-01-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add a way for a plug-in to get a reference to the Window JS object.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCGetWindowNPObject):
- Call the appropriate instance.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- Add object ID counter.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::destroy):
- Clear the object ID map.
-
- (WebKit::NetscapePluginInstanceProxy::idForObject):
- New method that returns a unique ID for a given JS object.
-
- (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
- Return the object ID for the window JS object.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- Add GetWindowNPObject.
-
-2009-01-07 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed
- https://bugs.webkit.org/show_bug.cgi?id=23160
-
- * WebView/WebView.mm:
- (-[WebView setMemoryCacheDelegateCallsEnabled:]): Added.
- (-[WebView areMemoryCacheDelegateCallsEnabled]): Added
- * WebView/WebViewPrivate.h: Ditto.
-
-2009-01-05 Gavin Barraclough <baraclough@apple.com>
-
- Rubber Stamped by Oliver Hunt.
-
- Replace all uses of JSValue* with new wrapper class, JSValuePtr.
- See JavaScriptCore/ChangeLog for more detailed description.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame _convertValueToObjcValue:]):
- (-[WebScriptCallFrame exception]):
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView/WebView.mm:
- (aeDescFromJSValue):
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
-
-2009-01-06 Pierre-Olivier Latour <pol@apple.com>
-
- Reviewed by Darin Adler.
-
- Exposed through WebFrame private interface the new WebCore API AnimationController::numberOfActiveAnimations() to be used by DRT.
-
- https://bugs.webkit.org/show_bug.cgi?id=23126
-
- * WebView/WebFrame.mm:
- (-[WebFrame _numberOfActiveAnimations]):
- * WebView/WebFramePrivate.h:
-
-2009-01-05 David Kilzer <ddkilzer@apple.com>
-
- Add SPI to enable, disable and check state of WebIconDatabase
-
- Reviewed by Darin Adler & Timothy Hatcher.
-
- Add -[WebIconDatabase isEnabled] and -[WebIconDatabase setEnabled:]
- SPI to make it possible to enable, disable and check the state of
- the icon database.
-
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase init]): Extracted code into -_startUpIconDatabase.
- (-[WebIconDatabase iconForURL:withSize:cache:]): Switched to use
- -isEnabled instead of -_isEnabled.
- (-[WebIconDatabase iconURLForURL:]): Ditto.
- (-[WebIconDatabase retainIconForURL:]): Ditto.
- (-[WebIconDatabase releaseIconForURL:]): Ditto.
- (-[WebIconDatabase isEnabled]): Renamed from -_isEnabled in
- WebInternal category.
- (-[WebIconDatabase setEnabled:]): Added. Takes care of changing
- the enabled/disabled state of the icon database.
- (-[WebIconDatabase removeAllIcons]): Switched to use -isEnabled
- instead of -_isEnabled.
- (-[WebIconDatabase _startUpIconDatabase]): Added. Extrated from
- -init.
- (-[WebIconDatabase _shutDownIconDatabase]): Added. Remove
- observers when the icon database is disabled.
- * Misc/WebIconDatabaseInternal.h: Added declarations for
- -_startUpIconDatabase and -_shutDownIconDatabase.
- * Misc/WebIconDatabasePrivate.h: Added declarations for
- -isEnabled and -setEnabled:.
-
-2009-01-05 Brady Eidson <beidson@apple.com>
-
- Reviewed by Jon Honeycutt
-
- Expose setting the last-visit-was-failure flag on a history items in preparation for <rdar://problem/6173319>
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem _setLastVisitWasFailure:]):
- * History/WebHistoryItemPrivate.h:
-
-2009-01-05 Adam Treat <adam.treat@torchmobile.com>
-
- Another blind mac build fix
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::contentsSizeChanged):
-
-2009-01-05 Adam Treat <adam.treat@torchmobile.com>
-
- Blind mac build fix
-
- * WebCoreSupport/WebChromeClient.mm:
-
-2009-01-05 Adam Treat <adam.treat@torchmobile.com>
-
- Fix mac build
-
- * WebCoreSupport/WebChromeClient.h:
-
-2009-01-05 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Build fix for contentsSizeChanged
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::contentsSizeChanged):
-
-2009-01-02 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears
- inside its web view when resizing its window
- https://bugs.webkit.org/show_bug.cgi?id=23072
- rdar://problem/6368028
-
- The first attempt at fixing this did not work.
- This time I was able to reproduce the bug and test the fix.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (applyAppleDictionaryApplicationQuirkNonInlinePart): Changed the arguments and
- function names around a bit to make even less code at the call site.
- (applyAppleDictionaryApplicationQuirk): Put the check for whether this is the
- Dictionary application in here.
- (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): Put a call to
- applyAppleDictionaryApplicationQuirk here. This was a case I had missed before,
- when the script is cached. This fixes one of the two problems with the initial
- patch; the other fix is in WebCore.
- (WebFrameLoaderClient::dispatchWillSendRequest): Changed the
- applyAppleDictionaryApplicationQuirk call here to work the new simpler way.
-
- * WebView/WebView.mm: Had to add an include due to changes in WebCore header includes.
-
-2009-01-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>
-
- Reviewed by Darin Adler.
-
- Bug 23060: REGRESSION (r38629): Cannot scroll a WebHTMLView using Home/End/Page up/Page down
- <https://bugs.webkit.org/show_bug.cgi?id=23060>
- <rdar://problem/6467830>
-
- After r38629, all keyboard events get sent by Editor to the EditorClient, even
- if the selection is not editable. If the event's command is unsupported by
- WebHTMLView, WebHTMLView mistakenly thinks that the event was handled when it
- was not. When using the page up / page down keys, the events generated are of
- the form scrollPageUp rather than movePageUp, so they are unsupported by
- WebHTMLView and cause this bug to occur.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView doCommandBySelector:]):
-
-2009-01-02 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears inside its web view when resizing its window
- https://bugs.webkit.org/show_bug.cgi?id=23072
- rdar://problem/6368028
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (isAppleDictionaryApplication): Added.
- (applyAppleDictionaryApplicationQuirk): Added. Under the right conditions, sets
- a flag to ask HTMLFrameElementBase to ignore the scrolling attribute.
- (WebFrameLoaderClient::dispatchWillSendRequest): Call the two functions above to
- apply the quirk when the relevant script is loaded.
-
-2008-12-26 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- - fix <rdar://problem/6467608> lastVisitWasFailure flag persists in
- global history after a successful visit
-
- * History/WebHistory.mm:
- (-[WebHistory _visitedURL:withTitle:wasFailure:]): Changed to always
- update the wasFailure flag on the HistoryItem.
-
-2008-12-23 Darin Adler <darin@apple.com>
-
- Reviewed by Alexey Proskuryakov (a slightly earlier version).
-
- - fix https://bugs.webkit.org/show_bug.cgi?id=22976
- crash due to Mail's use of WebArchive and WebResource on non-main thread
-
- * Misc/WebKitLogging.h: Improved comments for ASSERT_MAIN_THREAD. Got rid of
- WebKitRunningOnMainThread function, which was just a cover for pthread_main_np.
- * Misc/WebKitLogging.m: Ditto.
-
- * Misc/WebKitVersionChecks.h: Added a version after which we won't do the
- main thread workaround.
-
- * Misc/WebNSObjectExtras.h: Added a new method, _webkit_getPropertyOnMainThread:,
- which performs a selector on the main thread, waits for it to complete, and then
- returns the value on the caller thread.
- * Misc/WebNSObjectExtras.mm: Added.
-
- * WebView/WebArchive.mm:
- (-[WebArchive init]): Added WebCoreThreadViolationCheck.
- (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Perform
- initialization on main thread if needMailThreadWorkaround is true.
- Also added WebCoreThreadViolationCheck.
- (-[WebArchive initWithData:]): Added WebCoreThreadViolationCheck.
- (-[WebArchive mainResource]): Get property on main thread if
- needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
- (-[WebArchive subresources]): Ditto.
- (-[WebArchive subframeArchives]): Ditto.
- (-[WebArchive data]): Ditto.
- (-[WebArchive _initWithCoreLegacyWebArchive:]): Added WebCoreThreadViolationCheck.
- (-[WebArchive _coreLegacyWebArchive]): Ditto.
- (-[WebArchive _initWithArguments:]): Added. Used to implement the cross-thread
- version of initWithMainResource above.
-
- * WebView/WebResource.mm:
- (-[WebResource initWithCoder:]): Added WebCoreThreadViolationCheck.
- (-[WebResource data]): Get property on main thread if
- needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
- (-[WebResource URL]): Ditto.
- (-[WebResource MIMEType]): Ditto.
- (-[WebResource textEncodingName]): Ditto.
- (-[WebResource frameName]): Ditto.
- (-[WebResource _ignoreWhenUnarchiving]): Ditto.
- (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
- Perform initialization on main thread if needMailThreadWorkaround is true.
- Also added WebCoreThreadViolationCheck.
- (-[WebResource _suggestedFilename]): Added. Helper for _fileWrapperRepresentation.
- (-[WebResource _fileWrapperRepresentation]): Rewrote to use methods instead of
- getting at coreResource directly.
- (-[WebResource _response]): Get property on main thread if
- needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
- (-[WebResource _stringValue]): Ditto.
- (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Added.
- (-[WebResource _initWithArguments:]): Added. Used to implement the cross-thread
- version of _initWithData above.
-
- * WebView/WebResourceInternal.h: Changed to include WebResourcePrivate.h since internal
- clients have access to the SPI as well as the API. Added definition of MAIL_THREAD_WORKAROUND
- and the needMainThreadWorkaround helper function.
-
- * Misc/WebIconDatabase.mm: Removed include of now-defunct FoundationExtras.h
- file. This probably fixes clean builds.
- * WebCoreSupport/WebIconDatabaseClient.mm: Ditto.
-
- * WebCoreSupport/WebFrameLoaderClient.mm: Removed include of WebResourcePrivate.h,
- since it's not actually used.
- * WebView/WebDataSource.mm: Ditto.
- * WebView/WebHTMLRepresentation.mm: Ditto.
-
-2008-12-23 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - fix https://bugs.webkit.org/show_bug.cgi?id=22979
- crash seen in -[WebView drawsBackground] when quitting
- <rdar://problem/6464601>
-
- * WebView/WebView.mm:
- (-[WebView drawsBackground]): Added comment and a null check for _private.
-
-2008-12-22 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/6449588> REGRESSION (r38279-r38280): Minimize them remaximize a window with a flash plugin, plugin doesn't resume at full speed
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): Deminiaturizing should restart timers, not stop timers.
-
-2008-12-19 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler, Adele Peterson, Brady Eidson.
-
- Added SPI for getting an unsorted vector of all items in history.
-
- * History/WebHistory.h:
- * History/WebHistory.mm:
- (-[WebHistory allItems]):
-
-2008-12-18 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- - implement FrameLoaderClient::shouldUseCredentialStorage() by calling
- a new resource load delegae method.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::shouldUseCredentialStorage): Added. Calls the
- delegate method. If the method is unimplemented, returns true for
- backwards compatibility.
- * WebView/WebView.mm:
- (-[WebView _cacheResourceLoadDelegateImplementations]): Initialize the
- shouldUseCredentialStorageFunc member.
- (CallResourceLoadDelegateReturningBoolean): Added.
- * WebView/WebViewInternal.h:
- * WebView/WebResourceLoadDelegatePrivate.h: Declared the delegate method
- -webView:resource:shouldUseCredentialStorageForDataSource:.
-
-2008-12-18 Cameron Zwarich <zwarich@apple.com>
-
- Reviewed by Jonathan Honeycutt.
-
- Fix an apparent typo in r39385 that is causing lots of crashes.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
-
-2008-12-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Sullivan
-
- Initial visit to a website creates history items that start with a visit count of
- zero instead of one
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate visitedURL:withTitle:]): Set the visit count on new items
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem _setVisitCount:]): Call through to the WebCore item
- * History/WebHistoryItemInternal.h:
-
-2008-12-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by John Sullivan.
-
- Implement FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout() by calling
- a new private frame load delegate method.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
- * WebView/WebView.mm:
- (-[WebView _cacheFrameLoadDelegateImplementations]):
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-2008-12-16 Antti Koivisto <antti@apple.com>
-
- Reviewed by John Sullivan.
-
- Add version check for shift-reload behavior.
-
- * Misc/WebKitVersionChecks.h:
- * WebView/WebFrame.mm:
- (-[WebFrame reload]):
-
-2008-12-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Start sending keyboard events to the plug-in host.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::keyEvent):
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView keyDown:]):
- (-[WebHostedNetscapePluginView keyUp:]):
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2008-12-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/6450538>
-
- Fix flag enumeration.
-
- * Plugins/Hosted/WebKitPluginHostTypes.h:
-
-2008-12-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Instead of passing a gazillion booleans to WKPCLoadURL, pass a single set of flags.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCLoadURL):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::loadURL):
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHostTypes.h:
-
-2008-12-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Add trailing null to headers to avoid a crash in the plug-in host.
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::didReceiveResponse):
-
-2008-12-15 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Cameron Zwarich.
-
- <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
-
- * Configurations/Base.xcconfig:
- * Configurations/DebugRelease.xcconfig:
-
-2008-12-15 Stephanie Lewis <slewis@apple.com>
-
- Fix build.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
-
-2008-12-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Change InstantiatePlugin to be asynchronous so we won't deadlock if the plug-in tries to call
- back into us while it's being instantiated.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- (WebKit::NetscapePluginHostProxy::clientPort):
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCInstantiatePluginReply):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::Reply::):
- (WebKit::NetscapePluginInstanceProxy::Reply::Reply):
- (WebKit::NetscapePluginInstanceProxy::Reply::~Reply):
- (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply):
- (WebKit::NetscapePluginInstanceProxy::setCurrentReply):
- (WebKit::NetscapePluginInstanceProxy::waitForReply):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2008-12-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Let WebKit generate a plug-in ID instead of having the plug-in host do it.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- Create the plug-in proxy before instantiating the plug-in.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::create):
- (WebKit::NetscapePluginInstanceProxy::setRenderContextID):
- (WebKit::NetscapePluginInstanceProxy::setUseSoftwareRenderer):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2008-12-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- LoadURL doesn't need to be asynchronous.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCLoadURL):
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2008-12-15 Antti Koivisto <antti@apple.com>
-
- Reviewed by Darin Adler.
-
- - Add [WebFrame reloadFromOrigin] for performing end-to-end reload.
- - Add corresponding IBAction to WebView.
- - Temporarily make [WebFrame reload] trigger end-to-end reload if shift modifier is pressed when it is called.
-
- * WebView/WebFrame.h:
- * WebView/WebFrame.mm:
- (-[WebFrame reload]):
- (-[WebFrame reloadFromOrigin]):
- * WebView/WebFramePrivate.h: Match the FrameLoadType enum in WebCore.
- * WebView/WebView.h:
- * WebView/WebView.mm:
- (-[WebView reloadFromOrigin:]):
-
-2008-12-14 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - fix <rdar://problem/3258561> WebHistoryAllItemsRemovedNotification
- should add items to userInfo
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate allItems]): Added this helper method, which returns
- all values in the _entriesByURL dictionary.
- (-[WebHistory removeAllItems]): Changed to send the array of all items
- in the notification.
-
-2008-12-13 Darin Adler <darin@apple.com>
-
- - <rdar://problem/6441035> WebTextIterator class not exported in WebKit
-
- * WebKit.exp: Added the class. We forgot to export it when we added
- the WebTextIterator SPI.
-
-2008-12-12 Darin Adler <darin@apple.com>
-
- Rubber stamped by Adam Roben.
-
- - fix <rdar://problem/5648301> Can't tab around to text fields in Safari
- login sheet after clicking static text, due to AppKit key loop change
-
- * Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib: Removed.
- * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: Added.
- * Panels/English.lproj/WebAuthenticationPanel.nib/info.nib: Removed.
- * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
- Set nextKeyView of the selectable static texts to the editable text.
- Updated nib format.
-
-2008-12-12 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Geoff Garen.
-
- Shrink Cache Sizes.
-
- * WebView/WebView.mm:
- (+[WebView _setCacheModel:]):
-
-2008-12-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Don't try to free the dummy "1" port state.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView sendEvent:isDrawRect:]):
- (-[WebNetscapePluginView updateAndSetWindow]):
-
-2008-12-11 Cameron Zwarich <zwarich@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- Roll out r39212 due to assertion failures during layout tests, multiple
- layout test failures, memory leaks, and obvious incorrectness.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (-[WebPreferences fullDocumentTeardownEnabled]):
- * WebView/WebPreferencesPrivate.h:
-
-2008-12-11 Stephanie Lewis <slewis@apple.com>
-
- Fix build.
-
- * WebView/WebView.mm:
-
-2008-12-11 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Empty Web cache before quitting a debug build in order
- to report accurate CachedResource leaks.
-
- * WebView/WebView.mm:
- (-[WebView _close]):
-
-2008-12-11 Anders Carlsson <andersca@apple.com>
-
- Fix Tiger build.
-
- * Misc/WebNSDataExtras.h:
-
-2008-12-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- https://bugs.webkit.org/show_bug.cgi?id=22797
- REGRESSION: Crash at http://news.cnet.com/8301-17939_109-10119149-2.html
-
- Make sure to protect the stream because destroyStream can otherwise cause it to be deleted.
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::destroyStreamWithReason):
-
-2008-12-10 Glenn Wilson <gwilson@google.com>
-
- Reviewed by Adam Roben.
-
- Added new methods for overriding default WebPreference values
- and for resetting preferences to their defaults.
- https://bugs.webkit.org/show_bug.cgi?id=20534
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (-[WebPreferences resetToDefaults]): new method
- (-[WebPreferences overridePreference:flag:]): new method
- * WebView/WebPreferencesPrivate.h: new method signatures
-
-2008-12-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Implement support for NPN_PostURL/NPN_PostURLNotify in WebKit.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- Add stopAllStreams.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::stopAllStreams):
- Factored out this from ::destroy.
-
- (WebKit::NetscapePluginInstanceProxy::destroy):
- Call stopAllStreams().
-
- (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
- Ditto.
-
- (WebKit::NetscapePluginInstanceProxy::loadURL):
- Handle post being true. This code has been copied from WebNetscapePluginView.mm (for now).
-
-2008-12-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Move two NSData category methods to WebNSDataExtras.m.
-
- * Misc/WebNSDataExtras.h:
- * Misc/WebNSDataExtras.m:
- (-[NSData _web_startsWithBlankLine]):
- (-[NSData _web_locationAfterFirstBlankLine]):
- * Plugins/WebNetscapePluginView.mm:
-
-2008-12-10 Alice Liu <alice.liu@apple.com>
-
- fixed https://bugs.webkit.org/show_bug.cgi?id=20685
-
- Reviewed by Darin Adler.
-
- * Misc/WebNSPasteboardExtras.mm:
- Ask image for its file extension instead of falling back on MIME type and file path.
- Also moved this code to before setting the pasteboard data so as not to set any if
- no extension can be determined.
- (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
-
- * WebView/WebHTMLView.mm:
- Fixed a separate but related long-standing bug of how the filename for the promised
- drag data is determined by asking the image for a proper file extension.
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
-
-2008-12-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix typecast.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
-
-2008-12-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Implement software rendering of hosted plug-ins.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCInvalidateRect):
- New MiG function. This is called by the plug-in host when it has drawn something.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.h:
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView createPlugin]):
- Create a software renderer.
-
- (-[WebHostedNetscapePluginView destroyPlugin]):
- Destroy the software renderer.
-
- (-[WebHostedNetscapePluginView drawRect:]):
- Draw using the software renderer.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- Add InvalidateRect.
-
-2008-12-09 Brett Wilson <brettw@chromium.org>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=22177
-
- Add a callback on ChromeClient that the state of form elements on
- the page has changed. This is to allow clients implementing session
- saving to know when the current state is dirty.
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::formStateDidChange):
-
-2008-12-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Make sure to pause null events for hosted plug-ins as well.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
-
-2008-12-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
- (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
- Unfortunately we can't use a libdispatch source right now, because of <rdar://problem/6393180>.
-
-2008-12-09 Timothy Hatcher <timothy@apple.com>
-
- Implement a few methods needed to keep Dictionary.app working on Leopard.
-
- <rdar://problem/6002160> Internal changes to WebKit in Safari 4
- Developer Preview might break Dictionary
-
- Reviewed by Dan Bernstein.
-
- * WebView/WebFrame.mm:
- (-[WebFrame convertNSRangeToDOMRange:]): Added. Calls _convertNSRangeToDOMRange.
- (-[WebFrame convertDOMRangeToNSRange:]): Added. Calls _convertDOMRangeToNSRange.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _bridge]): Added. Returns the WebFrame, which has the methods
- that Dictionary.app is using.
-
-2008-12-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- More work towards getting NPN_GetURL working.
-
- * Plugins/Hosted/HostedNetscapePluginStream.h:
- Inherit from NetscapePlugInStreamLoaderClient.
-
- (WebKit::HostedNetscapePluginStream::streamID):
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::startStream):
- Keep track of the resposne URL and the MIME type. Pass the response URL to the
- plug-in host.
-
- (WebKit::HostedNetscapePluginStream::didFinishLoading):
- Disconnect the stream.
-
- (WebKit::HostedNetscapePluginStream::start):
- Create a plug-in stream loader and start loading.
-
- (WebKit::HostedNetscapePluginStream::stop):
- Cancel the load.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCLoadURL):
- Fix the parameter order.
-
- (WKPCCancelLoadURL):
- New function that cancels a load of a stream with a given reason.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::destroy):
- Stop the streams.
-
- (WebKit::NetscapePluginInstanceProxy::pluginStream):
- Return a plug-in stream given a stream ID.
-
- (WebKit::NetscapePluginInstanceProxy::disconnectStream):
- Remove the stream from the streams map.
-
- (WebKit::NetscapePluginInstanceProxy::loadRequest):
- Create a stream and load it.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- Add CancelLoadURL.
-
- * Plugins/Hosted/WebKitPluginHost.defs:
- Add responseURL to StartStream.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView pluginPackage]):
- Move this down to the base class from WebNetscapePluginView.
-
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
-
-2008-12-08 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - WebKit/mac part of tracking the global history item for a WebView
-
- * WebView/WebView.mm:
- (-[WebView _globalHistoryItem]): Added. Returns the page's global
- history item.
- * WebView/WebViewPrivate.h:
-
-2008-12-06 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dave Hyatt
-
- https://bugs.webkit.org/show_bug.cgi?id=15671
-
- VisiblePosition::caretRect() was renaemd to absoluteCaretBounds().
-
- * WebView/WebFrame.mm:
- (-[WebFrame _caretRectAtNode:offset:affinity:]):
-
-2008-12-06 David Kilzer <ddkilzer@apple.com>
-
- Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
-
- <https://bugs.webkit.org/show_bug.cgi?id=22666>
-
- Reviewed by Darin Adler.
-
- * DOM/WebDOMOperations.mm:
- (-[DOMNode _subresourceURLs]): Changed from using Vector<KURL> to
- ListHashSet<KURL> when calling WebCore::Node::getSubresourceURLs().
-
-2008-12-05 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
- in Safari before opening a mail message in Mail
-
- * Carbon/CarbonWindowAdapter.m: Removed.
- * Carbon/CarbonWindowAdapter.mm: Copied from WebKit/mac/Carbon/CarbonWindowAdapter.m.
- (+[CarbonWindowAdapter initialize]):
- * History/WebBackForwardList.mm:
- (+[WebBackForwardList initialize]):
- * History/WebHistoryItem.mm:
- (+[WebHistoryItem initialize]):
- * Misc/WebElementDictionary.mm:
- (+[WebElementDictionary initialize]):
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (+[WebHostedNetscapePluginView initialize]):
- * Plugins/WebBaseNetscapePluginView.mm:
- * Plugins/WebBasePluginPackage.m: Removed.
- * Plugins/WebBasePluginPackage.mm: Copied from WebKit/mac/Plugins/WebBasePluginPackage.m.
- (+[WebBasePluginPackage initialize]):
- * Plugins/WebNetscapePluginView.mm:
- (+[WebNetscapePluginView initialize]):
- * WebCoreSupport/WebEditorClient.mm:
- (+[WebEditCommand initialize]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebView/WebArchive.mm:
- (+[WebArchivePrivate initialize]):
- * WebView/WebDataSource.mm:
- (+[WebDataSourcePrivate initialize]):
- * WebView/WebHTMLView.mm:
- (+[WebHTMLViewPrivate initialize]):
- (+[WebHTMLView initialize]):
- * WebView/WebResource.mm:
- (+[WebResourcePrivate initialize]):
- * WebView/WebView.mm:
- (+[WebViewPrivate initialize]):
- Call JSC::initializeThreading();
-
-2008-12-04 Stephanie Lewis <slewis@apple.com>
-
- Fix build.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCLoadURL):
-
-2008-12-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- More work on streams.
-
- * Plugins/Hosted/HostedNetscapePluginStream.h: Added.
- (WebKit::HostedNetscapePluginStream::create):
- * Plugins/Hosted/HostedNetscapePluginStream.mm: Added.
- (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
- (WebKit::HostedNetscapePluginStream::startStreamWithResponse):
- (WebKit::HostedNetscapePluginStream::startStream):
- (WebKit::HostedNetscapePluginStream::didReceiveData):
- (WebKit::HostedNetscapePluginStream::didFinishLoading):
- (WebKit::HostedNetscapePluginStream::didReceiveResponse):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::pluginView):
- (WebKit::NetscapePluginInstanceProxy::hostProxy):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
- (WebKit::NetscapePluginInstanceProxy::PluginRequest::requestID):
- (WebKit::NetscapePluginInstanceProxy::PluginRequest::request):
- (WebKit::NetscapePluginInstanceProxy::PluginRequest::frameName):
- (WebKit::NetscapePluginInstanceProxy::PluginRequest::didStartFromUserGesture):
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- (WebKit::NetscapePluginInstanceProxy::performRequest):
- (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript):
- (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
- (WebKit::NetscapePluginInstanceProxy::loadRequest):
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2008-12-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Start implementing WKPCLoadURL. Currently this has copied a lot of code from WebNetscapePluginView
- but once we have a more complete implementation of NPStreams we can start refactoring things so that the
- implementations can share more code.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCLoadURL):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- (WebKit::NetscapePluginInstanceProxy::loadURL):
- (WebKit::NetscapePluginInstanceProxy::performRequest):
- (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
- (WebKit::NetscapePluginInstanceProxy::loadRequest):
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2008-12-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Move requestWithURLCString to WebBaseNetscapePluginView.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView requestWithURLCString:]):
- * Plugins/WebNetscapePluginView.mm:
-
-2008-12-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Move WebPluginRequest to its own file.
-
- * Plugins/WebNetscapePluginView.mm:
- * Plugins/WebPluginRequest.h: Added.
- * Plugins/WebPluginRequest.m: Added.
- (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
- (-[WebPluginRequest dealloc]):
- (-[WebPluginRequest request]):
- (-[WebPluginRequest frameName]):
- (-[WebPluginRequest isCurrentEventUserGesture]):
- (-[WebPluginRequest sendNotification]):
- (-[WebPluginRequest notifyData]):
-
-2008-12-03 Anders Carlsson <andersca@apple.com>
-
- Handle the CA model.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView setWindowIfNecessary]):
-
-2008-12-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/6412293>
- Call NPP_SetWindow for CA plug-ins.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebNetscapePluginView restorePortState:]):
- (-[WebNetscapePluginView isNewWindowEqualToOldWindow]):
- (-[WebNetscapePluginView updateAndSetWindow]):
- (-[WebNetscapePluginView setWindowIfNecessary]):
-
-2008-12-03 Anders Carlsson <andersca@apple.com>
-
- Fix the release build.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::deadNameNotificationCallback):
-
-2008-12-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6412234>
- Don't crash if we can't launch the plug-in host.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
-
-2008-12-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Start processing messages sent to the client port.
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- Add a map from ports to plug-in proxies. Turn the set of instances into a map from
- pluginID to instance proxy.
-
- (WKPCStatusText):
- Look up the right instance proxy and call status().
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::pluginID):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::status):
- Implement this.
-
- * Plugins/Hosted/WebKitPluginClient.defs:
- Add the plug-in ID to StatusText.
-
-2008-12-02 Gregory Hughes <ghughes@apple.com>
-
- Reviewed by Beth Dakin.
-
- Bug 22513: ZOOM: text selection does not send correct zoom bounds
-
- When zoomed, text selection must send the zoom bounds in flipped
- screen coordinates.
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory accessibilityConvertScreenRect:]):
-
-2008-12-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Create a client mach port and pass it to the plug-in host.
-
- * Plugins/Hosted/NetscapePluginHostManager.h:
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::hostForPackage):
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2008-12-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Let the plug-in views know if the plug-in host crashes.
-
- * Plugins/Hosted/NetscapePluginHostManager.h:
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::pluginHostDied):
- (WebKit::NetscapePluginHostProxy::addPluginInstance):
- (WebKit::NetscapePluginHostProxy::removePluginInstance):
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::create):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- Keep a pointer to the host proxy.
-
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- Add the instance to the host set.
-
- (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
- Remove the instance form the host set.
-
- (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
- Tell the plug-in view that the plug-in died.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.h:
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView createPlugin]):
- Pass the plug-in view to the instantiatePlugin.
-
- (-[WebHostedNetscapePluginView pluginHostDied]):
- Handle the plug-in host crashing.
-
- (-[WebHostedNetscapePluginView drawRect:]):
- Fill the plug-in view with a nice red shade if the plug-in crashes.
-
-2008-12-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Recover if the plug-in host dies and we try to instantiate another plugin before we get the port death notification
-
- * Plugins/Hosted/NetscapePluginHostManager.h:
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::pluginHostDied):
- Remove the plug-in host from the map.
-
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- NetscapePluginHostProxy is no longer refcounted.
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- This is no longer refcounted. Add a set of plug-in instances (unused for now).
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
- Create a death notification port.
-
- (WebKit::NetscapePluginHostProxy::pluginHostDied):
- Tell the manager that we're gone and delete ourselves.
-
- (WebKit::NetscapePluginHostProxy::deathPortCallback):
- New CFMachPort callback.
-
-2008-12-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Move instantiatePlugin to NetscapePluginHostManager.
-
- * Plugins/Hosted/NetscapePluginHostManager.h:
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView createPlugin]):
-
-2008-12-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Pass the plug-in host port directly to the instance proxy.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::instantiatePlugin):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::create):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- (WebKit::NetscapePluginInstanceProxy::resize):
- (WebKit::NetscapePluginInstanceProxy::destroy):
- (WebKit::NetscapePluginInstanceProxy::focusChanged):
- (WebKit::NetscapePluginInstanceProxy::windowFocusChanged):
- (WebKit::NetscapePluginInstanceProxy::windowFrameChanged):
- (WebKit::NetscapePluginInstanceProxy::startTimers):
- (WebKit::NetscapePluginInstanceProxy::mouseEvent):
- (WebKit::NetscapePluginInstanceProxy::stopTimers):
-
-2008-12-01 Anders Carlsson <andersca@apple.com>
-
- Try to fix the Tiger build.
-
- * Plugins/WebNetscapePluginView.mm:
-
-2008-12-01 Anders Carlsson <andersca@apple.com>
-
- Rename _layer to _pluginLayer where I forgot to do so.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView destroyPlugin]):
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView createPlugin]):
- (-[WebNetscapePluginView setLayer:]):
- (-[WebNetscapePluginView destroyPlugin]):
-
-2008-12-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Make sure to re-insert layers as needed so they won't be lost when the layer backed
- view is removed from the view hierarchy.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.h:
- Add _pluginLayer ivar.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView createPlugin]):
- Don't add the layer here.
-
- (-[WebHostedNetscapePluginView setLayer:]):
- Instead, add it here.
-
- (-[WebHostedNetscapePluginView destroyPlugin]):
- Set _pluginLayer to 0.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView createPlugin]):
- Don't add the layer here.
-
- (-[WebNetscapePluginView setLayer:]):
- Do it here.
-
-2008-11-30 Antti Koivisto <antti@apple.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=22557
-
- Report free size in central and thread caches too.
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics memoryStatistics]):
-
-2008-11-29 Antti Koivisto <antti@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=22557
- Add statistics for JavaScript GC heap.
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics memoryStatistics]):
-
-2008-11-29 Antti Koivisto <antti@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=22557
-
- - Add purgeable memory statistics to cache statistics.
- - Add method for getting fastMalloc statistics.
- - Add method to force returning free memory back to system.
-
- * Misc/WebCache.mm:
- (+[WebCache statistics]):
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics stopIgnoringWebCoreNodeLeaks]):
- (+[WebCoreStatistics memoryStatistics]):
- (+[WebCoreStatistics returnFreeMemoryToSystem]):
-
-2008-11-26 Mark Rowe <mrowe@apple.com>
-
- Fix the Tiger build.
-
- mig.h does not always define __MigTypeCheck on Tiger, which leads to problems when the generated
- code is built with -Wundef.
-
- * Plugins/Hosted/WebKitPluginHostTypes.h:
-
-2008-11-26 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * Configurations/Base.xcconfig:
-
-2008-11-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe.
-
- Move WebHostedNetscapePluginView.{h|mm} to Plugins/Hosted.
-
- (-[WebHostedNetscapePluginView handleMouseMoved:]):
- (-[WebHostedNetscapePluginView setAttributeKeys:andValues:]):
- Fix a leak.
-
- (-[WebHostedNetscapePluginView createPlugin]):
- Instantiate the plug-in, store the plug-in proxy in the _proxy ivar.
-
- (-[WebHostedNetscapePluginView loadStream]):
- (-[WebHostedNetscapePluginView shouldStop]):
- Add stubs for these.
-
- (-[WebHostedNetscapePluginView updateAndSetWindow]):
- (-[WebHostedNetscapePluginView windowFocusChanged:]):
- (-[WebHostedNetscapePluginView destroyPlugin]):
- (-[WebHostedNetscapePluginView startTimers]):
- (-[WebHostedNetscapePluginView stopTimers]):
- (-[WebHostedNetscapePluginView focusChanged]):
- (-[WebHostedNetscapePluginView windowFrameDidChange:]):
- (-[WebHostedNetscapePluginView mouseDown:]):
- (-[WebHostedNetscapePluginView mouseUp:]):
- (-[WebHostedNetscapePluginView mouseDragged:]):
- (-[WebHostedNetscapePluginView mouseEntered:]):
- (-[WebHostedNetscapePluginView mouseExited:]):
- Call the proxy.
-
- (-[WebHostedNetscapePluginView addWindowObservers]):
- (-[WebHostedNetscapePluginView removeWindowObservers]):
- Add/remove observers for when the window frame changes.
-
- * Plugins/WebHostedNetscapePluginView.h: Removed.
- * Plugins/WebHostedNetscapePluginView.mm: Removed.
-
-2008-11-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe.
-
- Add the plug-in host proxy and plug-in instance proxy objects.
-
- These are just simple objects that forward their calls to the plug-in host.
-
- * Plugins/Hosted/NetscapePluginHostProxy.h: Added.
- (WebKit::NetscapePluginHostProxy::create):
- (WebKit::NetscapePluginHostProxy::port):
- * Plugins/Hosted/NetscapePluginHostProxy.mm: Added.
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
- (WebKit::NetscapePluginHostProxy::instantiatePlugin):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h: Added.
- (WebKit::NetscapePluginInstanceProxy::create):
- (WebKit::NetscapePluginInstanceProxy::renderContextID):
- (WebKit::NetscapePluginInstanceProxy::useSoftwareRenderer):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Added.
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- (WebKit::NetscapePluginInstanceProxy::resize):
- (WebKit::NetscapePluginInstanceProxy::destroy):
- (WebKit::NetscapePluginInstanceProxy::focusChanged):
- (WebKit::NetscapePluginInstanceProxy::windowFocusChanged):
- (WebKit::NetscapePluginInstanceProxy::windowFrameChanged):
- (WebKit::NetscapePluginInstanceProxy::startTimers):
- (WebKit::NetscapePluginInstanceProxy::mouseEvent):
- (WebKit::NetscapePluginInstanceProxy::stopTimers):
-
-2008-11-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein, Mark Rowe and Kevin Decker.
-
- Add the plug-in host manager singleton.
-
- * Plugins/Hosted/NetscapePluginHostManager.h: Added.
- * Plugins/Hosted/NetscapePluginHostManager.mm: Added.
-
- (WebKit::NetscapePluginHostManager::hostForPackage):
- If there's an existing host proxy available, just return it. Otherwise spawn a new plug-in host and
- create a new plug-in host proxy from the new plug-in host port.
-
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
- Pass the plug-in host path and the preferred CPU type to the plug-in agent. When the plug-in host has
- finished launching, pass it the path to the plug-in bundle.
-
- (WebKit::NetscapePluginHostManager::initializeVendorPort):
- Check in with the plug-in agent and get the new plug-in vendor port back.
-
-2008-11-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe.
-
- * Plugins/Hosted/WebKitPluginHostTypes.h:
- Add copyright headers and fix the spacing around the *'s.
-
-2008-11-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- * Plugins/Hosted/WebKitPluginHost.defs:
- Add copyright headers.
-
- * Plugins/Hosted/WebKitPluginHostTypes.h: Added.
- Forgot to add this.
-
-2008-11-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add plug-in host .defs.
-
- * Plugins/Hosted/WebKitPluginAgent.defs: Added.
- * Plugins/Hosted/WebKitPluginAgentReply.defs: Added.
- * Plugins/Hosted/WebKitPluginClient.defs: Added.
- * Plugins/Hosted/WebKitPluginHost.defs: Added.
- * Plugins/Hosted/WebKitPluginHostTypes.defs: Added.
-
-2008-11-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe and Kevin Decker.
-
- Minor plug-in changes.
-
- * Plugins/WebBaseNetscapePluginView.h:
- Add add/remove observer method declarations.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView isFlipped]):
- Move this down from WebNetscapePluginView.
-
- * Plugins/WebNetscapePluginPackage.h:
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage pluginHostArchitecture]):
- Getter for the plug-in host architecture.
-
- * Plugins/WebNetscapePluginView.mm:
-
-2008-11-25 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- - include the text direction submenu in context menus when appropriate
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Changed the default
- textDirectionSubmenuInclusionBehavior to "automatically", which includes
- the menu when the selection is confined to a single paragraph the either
- has right-to-left base writing direction or contains right-to-left or
- embedded text. Left the default for Tiger and Leopard to be "never".
-
-2008-11-24 Darin Fisher <darin@chromium.org>
-
- Fix bustage.
-
- * History/WebHistory.mm:
-
-2008-11-24 Glenn Wilson <gwilson@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- http://bugs.webkit.org/show_bug.cgi?id=15643
-
- Added API support for the "trailing whitespace" work-around. This includes an APIs
- to get and set the state of this configuration variable.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::selectTrailingWhitespaceEnabled):
- * WebView/WebView.mm:
- (-[WebView setSelectTrailingWhitespaceEnabled:]):
- (-[WebView isSelectTrailingWhitespaceEnabled]):
- (-[WebView setSmartInsertDeleteEnabled:]):
- * WebView/WebViewPrivate.h:
-
-2008-11-24 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - https://bugs.webkit.org/show_bug.cgi?id=22470
- remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
-
- * WebCoreSupport/WebFrameLoaderClient.h: Remove argument.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::updateGlobalHistory): Get the URL from the
- DocumentLoader, just as we do the title and the failure flag.
-
-2008-11-24 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - finish https://bugs.webkit.org/show_bug.cgi?id=22295
- track which history items are from page load failures
-
- Last time around I did this only for the back/forward list and missed the
- global history list.
-
- * History/WebHistory.mm:
- (-[WebHistory _visitedURL:withTitle:wasFailure:]): Added wasFailure argument.
- Set the flag on the newly created history item. Also eliminated the use of
- autorelease on the added-items array.
- * History/WebHistoryInternal.h: Ditto.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::updateGlobalHistory): Added code to check for failure
- and pass the argument in to WebHistory. Given that this function gets other
- data from the DocumentLoader, I think we should get rid of the KURL argument,
- but that's a separate issue so I don't do it in this patch.
-
-2008-11-24 Simon Fraser <simon.fraser@apple.com>
-
- Fix call to Frame::selectionBounds in Tiger build.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
-
-2008-11-24 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein
-
- Via: https://bugs.webkit.org/show_bug.cgi?id=22433
-
- Rename RenderView::selectionRect() to selectionBounds(), to remove
- longstanding ambiguity with the base class selectionRect() method.
- Do the same on Frame for consistency with RenderView.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
- (-[WebHTMLView selectionRect]):
- (-[WebHTMLView selectionImageRect]):
-
-2008-11-20 Pierre-Olivier Latour <pol@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WebKit should be using Device RGB colorspace everywhere for
- consistency.
-
- https://bugs.webkit.org/show_bug.cgi?id=22300
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _dragImageForURL:withLabel:]):
- (-[WebHTMLView _colorAsString:]):
-
-2008-11-20 Darin Adler <darin@apple.com>
-
- Earlier version reviewed by Justin Garcia.
-
- - part of fix for <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
- Also resolves <rdar://problem/5000134>.
-
- * WebView/WebHTMLView.mm: Removed some unused code, and made the Tiger workaround for bug 3789278
- be Tiger-only.
- (-[WebHTMLView resignFirstResponder]): Removed code setting unused resigningFirstResponder flag.
- (-[WebHTMLView _wantsKeyDownForEvent:]): Added. Returns YES.
- (-[WebHTMLView insertText:]): Don't try to insert text if the selection is not editable. We used
- to prevent even processing the input, but that's not practical since some commands need to work
- even in non-editable regions.
-
-2008-11-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- Move some frame/page checking code down to the base class.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView start]):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView _createPlugin]):
-
-2008-11-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Test: plugins/netscape-plugin-setwindow-size-2.html
-
- Fix bug where NPP_SetWindow wasn't getting called for some plug-ins.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView updateAndSetWindow]):
- Don't bail if the drawing model is not the CA drawing model. Remove some code
- that was doing the wrong thing.
-
-2008-11-19 Darin Fisher <darin@chromium.org>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=22345
- Define ScriptValue as a thin container for a JSC::Value*.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- * WebView/WebView.mm:
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
-
-2008-11-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/6383762> WebKit r38340 crash on key press in plugin
-
- Set the value to 0 before calling NPP_GetValue, in case the plug-in returns NPERR_NO_ERROR but does not
- update the value.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView createPlugin]):
-
-2008-11-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make sure to copy the MIME type.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
-
-2008-11-19 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- First step toward fixing <rdar://problem/6263293> WebScriptDebugDelegate
- should use intptr_t for sourceId, not int
-
- Added a conditional typedef (currently disabled) to switch sourceId to
- intptr_t in non-Tiger, non-Leopard builds.
-
- * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
- (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]):
- (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
- (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
- (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]):
- (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
- (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
- * WebView/WebScriptDebugDelegate.h:
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::sourceParsed):
- (WebScriptDebugger::callEvent):
- (WebScriptDebugger::atStatement):
- (WebScriptDebugger::returnEvent):
- (WebScriptDebugger::exception):
-
-2008-11-18 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- - fix https://bugs.webkit.org/show_bug.cgi?id=22331
- <rdar://problem/6381657> REGRESSION: Contextual menu no longer has an "Inspect Element" item
-
- * WebView/WebUIDelegatePrivate.h: Reorder new enum values after existing
- ones.
-
-2008-11-17 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adele Peterson.
-
- Fix for <rdar://problem/6373102> REGRESSION (r36919): In a new mail
- message, the caret appears in message body by default
-
- This fixes a regression caused by http://trac.webkit.org/changeset/36919.
- That change was too sweeping; we do not want to
- unconditionally set the page to be active, but we can be looser
- than the original constraints. This patch set the window active if
- the first responder is or is a descendant of the main frame's frame
- view.
-
- * WebView/WebView.mm:
- (-[WebView _updateFocusedAndActiveStateForFrame:]):
-
-2008-11-18 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=22337
- Enable workers by default
-
- * Configurations/WebKit.xcconfig: Define ENABLE_WORKERS (change from ENABLE_WORKER_THREADS,
- which was accidentally committed before).
-
-2008-11-17 Geoffrey Garen <ggaren@apple.com>
-
- Not reviewed.
-
- Try to fix Mac build.
-
- * WebView/WebScriptDebugDelegate.mm:
-
-2008-11-17 Pierre-Olivier Latour <pol@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added SPI to allow pausing a running CSS transition or animation
- at a given time for testing purposes.
-
- https://bugs.webkit.org/show_bug.cgi?id=21261
-
- * WebView/WebFrame.mm:
- (-[WebFrame _pauseAnimation:onNode:atTime:]):
- (-[WebFrame _pauseTransitionOfProperty:onNode:atTime:]):
- * WebView/WebFramePrivate.h:
-
-2008-11-17 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Updated for JavaScriptCore renames.
-
- * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/runtime/Interpreter.h.
- * ForwardingHeaders/runtime/Interpreter.h: Removed.
- * WebView/WebScriptDebugDelegate.mm:
-
-2008-11-16 Greg Bolsinga <bolsinga@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=21810
- Remove use of static C++ objects that are destroyed at exit time (destructors)
-
- Use DEFINE_STATIC_LOCAL for static RetainPtr<T>
-
- * Misc/WebNSPasteboardExtras.mm: Use DEFINE_STATIC_LOCAL
- (+[NSPasteboard _web_writableTypesForURL]):
- (_createWritableTypesForImageWithoutArchive): Created so accessor has one line initialization
- (_writableTypesForImageWithoutArchive): Use create function for one line initialization
- (_createWritableTypesForImageWithArchive): Created so accessor has one line initialization
- (_writableTypesForImageWithArchive): Use create function for one line initialization
- * WebCoreSupport/WebPasteboardHelper.mm: Use DEFINE_STATIC_LOCAL
- (WebPasteboardHelper::insertablePasteboardTypes):
- * WebView/WebHTMLRepresentation.mm: Use DEFINE_STATIC_LOCAL
- (+[WebHTMLRepresentation supportedMIMETypes]):
- (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
- (+[WebHTMLRepresentation supportedImageMIMETypes]):
-
-2008-11-16 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - https://bugs.webkit.org/show_bug.cgi?id=22295
- track which history items are from page load failures
-
- * History/WebHistoryItem.mm: Added lastVisitWasFailureKey.
- (-[WebHistoryItem initFromDictionaryRepresentation:]): Set the lastVisitWasFailure
- flag in the history item if the dictionary had lastVisitWasFailureKey true.
- (-[WebHistoryItem dictionaryRepresentation]): Set the lastVisitWasFailureKey boolean
- in the dictionary if the history item had the lastVisitWasFailure flag.
- (-[WebHistoryItem lastVisitWasFailure]): Added.
-
- * History/WebHistoryItemInternal.h: Moved include of WebBackForwardList here from
- WebHistoryItemPrivate.h; removed other unneeded includes.
-
- * History/WebHistoryItemPrivate.h: Added lastVisitWasFailure method.
- Removed unneeded includes.
-
- * Misc/WebNSDictionaryExtras.h: Added _webkit_boolForKey.
- * Misc/WebNSDictionaryExtras.m:
- (-[NSDictionary _webkit_boolForKey:]): Added.
-
-2008-11-14 Greg Bolsinga <bolsinga@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=21810
- Remove use of static C++ objects that are destroyed at exit time (destructors)
-
- Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
- exit-time destructor. Update code that was changed to fix this issue that ran
- into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
- in gcc build 5465). Also typdefs for template types needed to be added in some
- cases so the type could make it through the macro successfully.
-
- Basically code of the form:
- static T m;
- becomes:
- DEFINE_STATIC_LOCAL(T, m, ());
-
- Also any code of the form:
- static T& m = *new T;
- also becomes:
- DEFINE_STATIC_LOCAL(T, m, ());
-
- * ForwardingHeaders/wtf/StdLibExtras.h: Added.
- * History/WebBackForwardList.mm:
- (backForwardLists):
- * History/WebHistoryItem.mm:
- (historyItemWrappers):
- * Misc/WebStringTruncator.m:
- (fontFromNSFont):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (streams):
- * WebView/WebView.mm:
- (aeDescFromJSValue):
-
-2008-11-14 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - <rdar://problem/6234333> Implement action methods for setting and clearing character-level directionality
- - part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory contextMenuItemTagTextDirectionMenu]): Added.
- * WebView/WebFrame.mm:
- (core): Added a convertor from WebTextDirectionSubmenuInclusionBehavior
- to WebCore::TextDirectionSubmenuInclusionBehavior.
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.mm:
- Added makeTextWritingDirectionLeftToRight:,
- makeTextWritingDirectionNatural: and
- makeTextWritingDirectionRightToLeft: using the WEBCORE_COMMAND macro.
- * WebView/WebPreferenceKeysPrivate.h:
- Added WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey.
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Set the default Text Direction
- submenu inclusion behavior to never include.
- (-[WebPreferences textDirectionSubmenuInclusionBehavior]): Added this
- accessor.
- (-[WebPreferences setTextDirectionSubmenuInclusionBehavior:]): Ditto.
- * WebView/WebPreferencesPrivate.h: Defined the
- WebTextDirectionSubmenuInclusionBehavior enum and declared
- accessors.
- * WebView/WebUIDelegatePrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Added code to transfer
- the Text Direction submenu inclusion behavior preference to WebCore
- settings.
-
-2008-11-14 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- - fix https://bugs.webkit.org/show_bug.cgi?id=22222
- selectKeyViewPrecedingView: with document view that can't be first responder
- makes WebFrameView be first responder
-
- * WebView/WebFrameView.mm: (-[WebFrameView becomeFirstResponder]):
- Moved the acceptsFirstResponder special case inside the if statement so it won't
- run in the "selecting previous" case. Also removed the "just before shipping Tiger"
- code that doesn't need to be here any more.
-
-2008-11-13 Mark Rowe <mrowe@apple.com>
-
- Fix the build.
-
- Don't use NSPICTPboardType on systems where it is deprecated. The system will take care of converting
- from this format to a format that we can understand.
-
- * WebCoreSupport/WebPasteboardHelper.mm:
- (WebPasteboardHelper::insertablePasteboardTypes):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
- (+[WebHTMLView _insertablePasteboardTypes]):
- (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
-
-2008-11-13 John Sullivan <sullivan@apple.com>
-
- fixed <rdar://problem/6361578> Web Kit UI strings: a few edits
-
- Reviewed by Tim Hatcher
-
- * Misc/WebKitErrors.m:
- "Cannot show content with specified mime type" -> "Content with specified MIME type can't be shown"
- "Cannot show URL" -> "The URL can't be shown"
- "Cannot find plug-in" -> "The plug-in can't be found"
- "Cannot load plug-in" -> "The plug-in can't be loaded"
-
- * Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib:
- * Panels/English.lproj/WebAuthenticationPanel.nib/info.nib:
- * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: Added.
- * Panels/English.lproj/WebAuthenticationPanel.nib/objects.nib: Removed.
- Changed placeholder fine print in the nib to match one of the two strings it might be replaced by.
- This automagically updated the nib to a newer format, hence the objects -> keyedobjects change.
- I could have changed the placeholder fine print to be empty but this lets localizers understand
- the dialog layout better.
-
- * Panels/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForChallenge:]):
- "you need to log in" -> "you must log in"
- "Your log-in information" -> "Your login information"
- "The name or password entered" -> "The user name or password you entered"
- "Please try again." -> "Make sure you're entering them correctly, and then try again."
-
-2008-11-12 Stephanie Lewis <slewis@apple.com>
-
- Fix Mac build.
-
- * Panels/WebAuthenticationPanel.m:
-
-2008-11-12 John Sullivan <sullivan@apple.com>
-
- fixed <rdar://problem/3839110> Authentication dialogs talk about passwords being sent "in the clear"
-
- Reviewed by Tim Hatcher
-
- * Panels/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForChallenge:]):
- use "unencrypted" instead of "in the clear". Also, use the "Your log-in information
- will be sent securely" version when the receiving server is https, regardless of
- whether it uses basic or digest authentication.
-
-2008-11-12 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- - fix https://bugs.webkit.org/show_bug.cgi?id=22223
- <rdar://problem/6366864> REGRESSION(r38245): "View Source" crashes the browser
-
- * WebView/WebFrameView.mm: (-[WebFrameView viewDidMoveToWindow]):
- Add missing null check.
-
-2008-11-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Fix stupid bug.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView createPlugin]):
-
-2008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Move _web_encodingForResource from WebKit into WebCore and change return type
-
- This change is needed to implement NSAPI in WebCore for Mac, see:
-
- https://bugs.webkit.org/show_bug.cgi?id=21427
-
-
- * Misc/WebKitNSStringExtras.m:
- (+[NSString _web_encodingForResource:]):
-
-2008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
- WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
-
- This change is needed to implement NSAPI in WebCore for Mac, see:
-
- https://bugs.webkit.org/show_bug.cgi?id=21427
-
- * Misc/WebKitNSStringExtras.m:
- (-[NSString _webkit_isCaseInsensitiveEqualToString:]):
-
-2008-11-11 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit/mac part of adding a master volume control for media elements in a WebView
-
- * WebView/WebView.mm:
- (-[WebView setMediaVolume:]): Added.
- (-[WebView mediaVolume]): Added.
- * WebView/WebViewPrivate.h:
-
-2008-11-11 Aaron Golden <agolden@apple.com>
-
- Bug 22134: -[WebHistoryItem dictionaryRepresentation] accesses past the end of a vector
-
- <https://bugs.webkit.org/show_bug.cgi?id=22134>
-
- Reviewed by Geoff Garen.
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- (-[WebHistoryItem dictionaryRepresentation]):
-
-2008-11-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Move renewGState to the base class.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView renewGState]):
- * Plugins/WebNetscapePluginView.mm:
-
-2008-11-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Move start, stop and all the related methods down to WebBaseNetscapePluginView.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView updateAndSetWindow]):
- (-[WebBaseNetscapePluginView addWindowObservers]):
- (-[WebBaseNetscapePluginView removeWindowObservers]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView stop]):
- (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
- (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
- (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
- (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
- (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]):
- (-[WebBaseNetscapePluginView windowWillClose:]):
- (-[WebBaseNetscapePluginView windowBecameKey:]):
- (-[WebBaseNetscapePluginView windowResignedKey:]):
- (-[WebBaseNetscapePluginView windowDidMiniaturize:]):
- (-[WebBaseNetscapePluginView windowDidDeminiaturize:]):
- (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]):
- (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]):
- (-[WebBaseNetscapePluginView preferencesHaveChanged:]):
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
-
-2008-11-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Move rightMouseDown, rightMouseUp and sendActivateEvent to the base plugin view.
- Add stubs for createPlugin, loadStream, shouldStop and destroyPlugin.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView windowFocusChanged:]):
- (-[WebBaseNetscapePluginView createPlugin]):
- (-[WebBaseNetscapePluginView loadStream]):
- (-[WebBaseNetscapePluginView destroyPlugin]):
- (-[WebBaseNetscapePluginView sendActivateEvent:]):
- (-[WebBaseNetscapePluginView rightMouseDown:]):
- (-[WebBaseNetscapePluginView rightMouseUp:]):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView windowFocusChanged:]):
-
-2008-11-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Factor plug-in type specific code out to three new methods, createPlugin, destroyPlugin and loadStream.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView createPlugin]):
- (-[WebNetscapePluginView loadStream]):
- (-[WebNetscapePluginView start]):
- (-[WebNetscapePluginView shouldStop]):
- (-[WebNetscapePluginView destroyPlugin]):
- (-[WebNetscapePluginView stop]):
-
-2008-11-10 Anders Carlsson <andersca@apple.com>
-
- Fix Tiger build.
-
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
-
-2008-11-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Move even more code down to WebBaseNetscapePluginView, get rid of some unnecessary methods.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView focusChanged]):
- (-[WebBaseNetscapePluginView visibleRect]):
- (-[WebBaseNetscapePluginView acceptsFirstResponder]):
- (-[WebBaseNetscapePluginView setHasFocus:]):
- (-[WebBaseNetscapePluginView becomeFirstResponder]):
- (-[WebBaseNetscapePluginView resignFirstResponder]):
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView focusChanged]):
- (-[WebNetscapePluginView tellQuickTimeToChill]):
- (-[WebNetscapePluginView updateAndSetWindow]):
- (-[WebNetscapePluginView start]):
- (-[WebNetscapePluginView stop]):
- (-[WebNetscapePluginView viewWillMoveToWindow:]):
- (-[WebNetscapePluginView createPluginScriptableObject]):
- (-[WebNetscapePluginView pluginView:receivedData:]):
- (-[WebNetscapePluginView pluginView:receivedError:]):
- (-[WebNetscapePluginView pluginViewFinishedLoading:]):
- (-[WebNetscapePluginView inputContext]):
- (-[WebNetscapePluginView hasMarkedText]):
- (-[WebNetscapePluginView insertText:]):
- (-[WebNetscapePluginView markedRange]):
- (-[WebNetscapePluginView selectedRange]):
- (-[WebNetscapePluginView setMarkedText:selectedRange:]):
- (-[WebNetscapePluginView unmarkText]):
- (-[WebNetscapePluginView validAttributesForMarkedText]):
- (-[WebNetscapePluginView attributedSubstringFromRange:]):
- (-[WebNetscapePluginView characterIndexForPoint:]):
- (-[WebNetscapePluginView doCommandBySelector:]):
- (-[WebNetscapePluginView firstRectForCharacterRange:]):
- (-[WebNetscapePluginView _viewHasMoved]):
- (-[WebNetscapePluginView _redeliverStream]):
-
-2008-11-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Move timer handling code down to WebBaseNetscapePluginView.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView stopTimers]):
- (-[WebBaseNetscapePluginView startTimers]):
- (-[WebBaseNetscapePluginView restartTimers]):
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView stopTimers]):
- (-[WebNetscapePluginView startTimers]):
- (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
-
-2008-11-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Move a bunch of methods and ivars up to WebBaseNetscapePluginView.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView dealloc]):
- (-[WebBaseNetscapePluginView finalize]):
- (-[WebBaseNetscapePluginView removeTrackingRect]):
- (-[WebBaseNetscapePluginView resetTrackingRect]):
- (-[WebBaseNetscapePluginView dataSource]):
- (-[WebBaseNetscapePluginView webFrame]):
- (-[WebBaseNetscapePluginView webView]):
- (-[WebBaseNetscapePluginView currentWindow]):
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
- (WebNetscapePluginEventHandlerCarbon::windowFocusChanged):
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView sendEvent:isDrawRect:]):
- (-[WebNetscapePluginView sendActivateEvent:]):
- (-[WebNetscapePluginView restartTimers]):
- (-[WebNetscapePluginView setHasFocus:]):
- (-[WebNetscapePluginView mouseDown:]):
- (-[WebNetscapePluginView mouseUp:]):
- (-[WebNetscapePluginView mouseEntered:]):
- (-[WebNetscapePluginView mouseExited:]):
- (-[WebNetscapePluginView handleMouseMoved:]):
- (-[WebNetscapePluginView mouseDragged:]):
- (-[WebNetscapePluginView scrollWheel:]):
- (-[WebNetscapePluginView keyUp:]):
- (-[WebNetscapePluginView keyDown:]):
- (-[WebNetscapePluginView flagsChanged:]):
- (-[WebNetscapePluginView updateAndSetWindow]):
- (-[WebNetscapePluginView setWindowIfNecessary]):
- (-[WebNetscapePluginView start]):
- (-[WebNetscapePluginView stop]):
- (-[WebNetscapePluginView isStarted]):
- (-[WebNetscapePluginView dealloc]):
- (-[WebNetscapePluginView finalize]):
- (-[WebNetscapePluginView drawRect:]):
- (-[WebNetscapePluginView windowBecameKey:]):
- (-[WebNetscapePluginView preferencesHaveChanged:]):
- (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
- (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
- (-[WebNetscapePluginView _viewHasMoved]):
-
-2008-11-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker and Mark Rowe.
-
- Add a WebHostedNetscapePluginView class.
-
- * Plugins/WebHostedNetscapePluginView.h: Added.
- * Plugins/WebHostedNetscapePluginView.mm: Added.
-
- * Plugins/WebNetscapePluginPackage.h:
- Use the right define.
-
- * Plugins/WebPluginDatabase.mm:
- (-[WebPluginDatabase removePluginInstanceViewsFor:]):
- Check for WebBaseNetscapePluginView.
-
- (-[WebPluginDatabase destroyAllPluginInstanceViews]):
- Check for WebBaseNetscapePluginView.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (NetscapePluginWidget::NetscapePluginWidget):
- (NetscapePluginWidget::handleEvent):
- Use WebBaseNetscapePluginView.
-
- (netscapePluginViewClass):
- New function that returns the right netscape plugin view type to use.
-
- (WebFrameLoaderClient::createPlugin):
- Get the right class.
-
- * WebKitPrefix.h:
- Prefix the #define with WTF_.
-
- * WebView/WebHTMLView.mm:
- (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
- Check for WebBaseNetscapePluginView.
-
- * WebView/WebView.mm:
- Remove an unnecessary include.
-
-2008-11-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't use individual ivars for each plug-in vtable function. Instead, get them from the plugin package.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
- * Plugins/WebNetscapePluginPackage.h:
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
- (-[WebNetscapePluginPackage _unloadWithShutdown:]):
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView sendEvent:isDrawRect:]):
- (-[WebNetscapePluginView setWindowIfNecessary]):
- (-[WebNetscapePluginView start]):
- (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
- (-[WebNetscapePluginView createPluginScriptableObject]):
- (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
- (-[WebNetscapePluginView loadPluginRequest:]):
- (-[WebNetscapePluginView _createPlugin]):
- (-[WebNetscapePluginView _destroyPlugin]):
- (-[WebNetscapePluginView _printedPluginBitmap]):
-
-2008-11-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Add a new WebBaseNetscapePluginView class.
-
- * Plugins/WebBaseNetscapePluginView.h: Added.
- * Plugins/WebBaseNetscapePluginView.mm: Added.
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
- (-[WebBaseNetscapePluginView setAttributeKeys:andValues:]):
- (-[WebBaseNetscapePluginView handleMouseMoved:]):
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView cut:]):
- (-[WebNetscapePluginView copy:]):
- (-[WebNetscapePluginView paste:]):
- (-[WebNetscapePluginView selectAll:]):
- (-[WebNetscapePluginView start]):
- (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
-
-2008-11-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Rename WebBaseNetscapePluginView to WebNetscapePluginView.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::WebNetscapePluginStream):
- (WebNetscapePluginStream::setPlugin):
- * Plugins/WebBaseNetscapePluginView.h: Removed.
- * Plugins/WebBaseNetscapePluginView.mm: Removed.
- * Plugins/WebNetscapePluginEventHandler.h:
- (WebNetscapePluginEventHandler::WebNetscapePluginEventHandler):
- * Plugins/WebNetscapePluginEventHandler.mm:
- (WebNetscapePluginEventHandler::create):
- * Plugins/WebNetscapePluginEventHandlerCarbon.h:
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
- (WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon):
- * Plugins/WebNetscapePluginEventHandlerCocoa.h:
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
- * Plugins/WebNetscapePluginView.h: Copied from mac/Plugins/WebBaseNetscapePluginView.h.
- * Plugins/WebNetscapePluginView.mm: Copied from mac/Plugins/WebBaseNetscapePluginView.mm.
- (+[WebNetscapePluginView setCurrentPluginView:]):
- (+[WebNetscapePluginView currentPluginView]):
- (-[WebNetscapePluginView loadPluginRequest:]):
- * Plugins/WebPluginDatabase.mm:
- (-[WebPluginDatabase removePluginInstanceViewsFor:]):
- (-[WebPluginDatabase destroyAllPluginInstanceViews]):
- * Plugins/npapi.mm:
- (pluginViewForInstance):
- (NPN_MarkedTextAbandoned):
- (NPN_MarkedTextSelectionChanged):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (NetscapePluginWidget::NetscapePluginWidget):
- (NetscapePluginWidget::handleEvent):
- (WebFrameLoaderClient::createPlugin):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
- (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
- (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
- * WebView/WebView.mm:
-
-2008-11-09 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - fix https://bugs.webkit.org/show_bug.cgi?id=15063
- <rdar://problem/5452227> REGRESSION (r25151): Switching to a tab waiting
- for first data does not clear the window
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::frameLoadCompleted): Added comments, and got rid of
- a local variable to make this code match the code in the function below
- more closely.
- (WebFrameLoaderClient::provisionalLoadStarted): Added comments.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Improved comment.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _scrollView]): Tweaked formatting.
- (-[WebFrameView initWithFrame:]): Ditto.
- (-[WebFrameView setFrameSize:]): Added a comment and tweaked formatting.
- (-[WebFrameView viewDidMoveToWindow]): Added. This is the change that fixes
- the bug. Calls setDrawsBackground:YES as appropriate since moving the view
- out of the window to switch to another view disrupts the special technique
- for showing the old page during the start of loading. This is the identical
- reason for the setFrameSize: method above, and the code is almost the same.
-
-2008-11-08 David Kilzer <ddkilzer@apple.com>
-
- Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
-
- <https://bugs.webkit.org/show_bug.cgi?id=22137>
-
- Reviewed by Darin Adler.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _accessibilityTree]): Return nil if HAVE(ACCESSIBILITY)
- is false.
-
-2008-11-08 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - WebKit/mac part of adding WebPreferences for controlling databases and local storage
-
- * WebView/WebPreferenceKeysPrivate.h: Added
- WebKitDatabasesEnabledPreferenceKey and
- WebKitLocalStorageEnabledPreferenceKey.
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Made databases and local storage enabled
- by default.
- (-[WebPreferences databasesEnabled]): Added.
- (-[WebPreferences setDatabasesEnabled:]): Added.
- (-[WebPreferences localStorageEnabled]): Added.
- (-[WebPreferences setLocalStorageEnabled:]): Added.
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Transfer the databases
- and local storage preferences to WebCore settings.
-
-2008-11-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- https://bugs.webkit.org/show_bug.cgi?id=22115
- NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
-
- Initialize the browser funcs correctly.
-
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
-
-2008-11-06 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
-
- Apparently older versions of gcc have issues with this patch.
- Backing out a second time until the issues are resolved.
-
-2008-11-06 Cameron Zwarich <zwarich@apple.com>
-
- Reviewed by Geoff Garen.
-
- Move the remaining files in the kjs subdirectory of JavaScriptCore to
- a new parser subdirectory, and remove the kjs subdirectory entirely.
-
- The header SavedBuiltins.h was removed in r32587, so it no longer needs
- a forwarding header.
-
- * ForwardingHeaders/kjs: Removed.
- * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
-
-2008-11-06 David Kilzer <ddkilzer@apple.com>
-
- BUILD WAS NOT BROKEN: Rolling r38189 back in.
-
- Please perform a clean build if you see crashes.
-
-2008-11-06 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX: Backed out r38189 since it apparently broke the world.
-
-2008-11-06 John Sullivan <sullivan@apple.com>
-
- Fixed problem with switching between text-only zoom and full-content zoom
-
- There were two booleans tracking whether zoom was text-only, one in WebCore settings
- and one in WebViewPrivate. Fixed by eliminating the one in WebViewPrivate.
-
- Reviewed by Adam Roben
-
- * WebView/WebView.mm:
- remove declaration of zoomMultiplierIsTextOnly instance variable in WebViewPrivate
- (-[WebViewPrivate init]):
- removed initialization of zoomMultiplierIsTextOnly
- (-[WebView textSizeMultiplier]):
- call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable
- (-[WebView _setZoomMultiplier:isTextOnly:]):
- update WebCore settings rather than WebViewPrivate instance variable
- (-[WebView _zoomMultiplier:]):
- call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable
- (-[WebView _realZoomMultiplierIsTextOnly]):
- return value from WebCore settings instead of accessing WebViewPrivate instance variable
- (-[WebView pageSizeMultiplier]):
- call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable
-
-2008-11-06 Greg Bolsinga <bolsinga@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
- https://bugs.webkit.org/show_bug.cgi?id=21810
-
- * History/WebBackForwardList.mm:
- (backForwardLists): Changed to leak an object to avoid an exit-time destructor.
- * History/WebHistoryItem.mm:
- (historyItemWrappers): Ditto
- * Misc/WebStringTruncator.m:
- (fontFromNSFont): Ditto
- * Plugins/WebBaseNetscapePluginStream.mm:
- (streams): Ditto
- * WebView/WebView.mm:
- (aeDescFromJSValue): Ditto
-
-2008-11-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe.
-
- Keep track of which plug-in host architecture would be needed for a given plug-in package.
-
- * Plugins/WebNetscapePluginPackage.h:
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage _initWithPath:]):
- * WebKitPrefix.h:
-
-2008-11-05 Cameron Zwarich <zwarich@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Correct forwarding headers for files moved to the runtime subdirectory
- of JavaScriptCore and remove unused forwarding headers.
-
- * ForwardingHeaders/kjs/collector.h: Removed.
- * ForwardingHeaders/kjs/identifier.h: Removed.
- * ForwardingHeaders/kjs/interpreter.h: Removed.
- * ForwardingHeaders/kjs/lookup.h: Removed.
- * ForwardingHeaders/kjs/operations.h: Removed.
- * ForwardingHeaders/kjs/protect.h: Removed.
- * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
- * WebView/WebScriptDebugDelegate.mm:
-
-2008-11-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Remove WebPlugInStreamLoaderDelegate.h
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebPlugInStreamLoaderDelegate.h: Removed.
-
-2008-11-05 Dan Bernstein <mitz@apple.com>
-
- - Tiger build fix
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView stop]):
-
-2008-11-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Don't leak the CALayer.
-
- * Plugins/WebBaseNetscapePluginView.h:
- Make the layer a RetainPtr.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView start]):
-
- (-[WebBaseNetscapePluginView stop]):
- Make sure to clear out the layer here.
-
-2008-11-04 Cameron Zwarich <zwarich@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Remove the unused kjs/dtoa.h forwarding header.
-
- * ForwardingHeaders/kjs/dtoa.h: Removed.
-
-2008-11-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- More cleanup. Make a bunch of instance variables RetainPtrs.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView visibleRect]):
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebBaseNetscapePluginView sendActivateEvent:]):
- (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
- (-[WebBaseNetscapePluginView stopTimers]):
- (-[WebBaseNetscapePluginView restartTimers]):
- (-[WebBaseNetscapePluginView setHasFocus:]):
- (-[WebBaseNetscapePluginView mouseDown:]):
- (-[WebBaseNetscapePluginView mouseUp:]):
- (-[WebBaseNetscapePluginView mouseEntered:]):
- (-[WebBaseNetscapePluginView mouseExited:]):
- (-[WebBaseNetscapePluginView handleMouseMoved:]):
- (-[WebBaseNetscapePluginView mouseDragged:]):
- (-[WebBaseNetscapePluginView scrollWheel:]):
- (-[WebBaseNetscapePluginView keyUp:]):
- (-[WebBaseNetscapePluginView keyDown:]):
- (-[WebBaseNetscapePluginView flagsChanged:]):
- (-[WebBaseNetscapePluginView cut:]):
- (-[WebBaseNetscapePluginView copy:]):
- (-[WebBaseNetscapePluginView paste:]):
- (-[WebBaseNetscapePluginView selectAll:]):
- (-[WebBaseNetscapePluginView didStart]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView stop]):
- (-[WebBaseNetscapePluginView dataSource]):
- (-[WebBaseNetscapePluginView pluginPackage]):
- (-[WebBaseNetscapePluginView setPluginPackage:]):
- (-[WebBaseNetscapePluginView setAttributeKeys:andValues:]):
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
- (-[WebBaseNetscapePluginView fini]):
- (-[WebBaseNetscapePluginView dealloc]):
- (-[WebBaseNetscapePluginView pluginView:receivedError:]):
- (-[WebBaseNetscapePluginView requestWithURLCString:]):
- (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
- (-[WebBaseNetscapePluginView userAgent]):
- (-[WebBaseNetscapePluginView getVariable:value:]):
- (-[WebBaseNetscapePluginView setVariable:value:]):
- (-[WebBaseNetscapePluginView _createPlugin]):
- (-[WebBaseNetscapePluginView _redeliverStream]):
-
-2008-11-04 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Sullivan
-
- Cleanup global history a tad.
-
- Used to _addItemForURL always create a new item and merge it with a previous item if one existed.
-
- It is more efficient and less complicated to update the previous item if one exists.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate visitedURL:withTitle:]):
- (-[WebHistory _visitedURL:withTitle:]): Instead of calling the general purpose [WebHistoryPrivate addItem:]
- with a new history item, call the new special purposed visitedURL:withTitle:
- * History/WebHistoryInternal.h:
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem _visitedWithTitle:]): Call "visited()" on the WebCore history item with the pertinent info.
- * History/WebHistoryItemInternal.h:
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::updateGlobalHistory):
-
-2008-11-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- https://bugs.webkit.org/show_bug.cgi?id=22065
-
- Only create the plug-in stream loader when the stream is started.
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::WebNetscapePluginStream):
- (WebNetscapePluginStream::start):
-
-2008-11-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- https://bugs.webkit.org/show_bug.cgi?id=22065
-
- Remove some old, unused plug-in code.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView setVariable:value:]):
-
-2008-11-04 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dave Hyatt
-
- https://bugs.webkit.org/show_bug.cgi?id=21941
-
- Rename absolutePosition() to localToAbsolute(), and add the ability
- to optionally take transforms into account (which will eventually be the
- default behavior).
-
- * WebView/WebRenderNode.mm:
- (copyRenderNode):
-
-2008-11-01 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=22030
- Make EventNames usable from multiple threads
-
- * WebView/WebHTMLView.mm:
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
- Access event names via eventNames() function.
-
-2008-11-04 Cameron Zwarich <zwarich@apple.com>
-
- Reviewed by Mark Rowe.
-
- Delete a forwarding header for a file that no longer exists.
-
- * ForwardingHeaders/kjs/string_object.h: Removed.
-
-2008-11-03 Cameron Zwarich <zwarich@apple.com>
-
- Rubber-stamped by Maciej Stachowiak.
-
- Move more files into the runtime subdirectory of JavaScriptCore.
-
- * ForwardingHeaders/kjs/JSLock.h: Removed.
- * ForwardingHeaders/kjs/SymbolTable.h: Removed.
- * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
- * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
- * Misc/WebCoreStatistics.mm:
- * Plugins/WebBaseNetscapePluginStream.mm:
- * Plugins/WebBaseNetscapePluginView.mm:
- * Plugins/WebPluginController.mm:
- * WebView/WebFrame.mm:
- * WebView/WebScriptDebugDelegate.mm:
- * WebView/WebView.mm:
-
-2008-11-03 Mark Rowe <mrowe@apple.com>
-
- Fix the 64-bit build.
-
- Pull the frequently-made check for drawingModel == NPDrawingModelQuickDraw out into a
- helper function to avoid #ifdef'ing all of the new places that this check is made.
-
- A few other #ifdef's are moved inside functions to allow their call sites to remain #ifdef-free,
- and we rely on the compiler to optimise out the check (which will always be false in 64-bit) instead.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (isDrawingModelQuickDraw):
- (-[WebBaseNetscapePluginView fixWindowPort]):
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
- (-[WebBaseNetscapePluginView updateAndSetWindow]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
- (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
- (-[WebBaseNetscapePluginView _viewHasMoved]):
-
-2008-11-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Kevin Decker.
-
- - fix release build (and unitialized variable for CG drawing model!)
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): initialize portState in all code paths
-
-2008-11-03 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=22053
-
- This patch adds initial support for the NPDrawingModelCoreAnimation drawing model.
-
- * Plugins/WebBaseNetscapePluginView.h: Added _layer ivar.
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): ASSERT this is not a plug-in using NPDrawingModelCoreAnimation.
- (-[WebBaseNetscapePluginView restorePortState:]): Ditto.
- (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Slightly refactored a small block of code which with the PortState.
- Plug-ins using the NPDrawingModelCoreAnimation drawing model have no PortState.
- (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): ASSERT this is not a plug-in using NPDrawingModelCoreAnimation
- (-[WebBaseNetscapePluginView updateAndSetWindow]): Ditto.
- (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto.
- (-[WebBaseNetscapePluginView start]): If the plug-in is a plug-in using the Core Animation model, request a layer from it.
- (-[WebBaseNetscapePluginView drawRect:]): Return early for NPDrawingModelCoreAnimation plug-ins.
- (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins running on post-Tiger systems WebKit supports
- NPDrawingModelCoreAnimation.
- (-[WebBaseNetscapePluginView setVariable:value:]): Added the new NPDrawingModelCoreAnimation case, which initializes drawingMode.
- (-[WebBaseNetscapePluginView _viewHasMoved]): Reworded the conditional call to updateAndSetWindow to be specific to
- CoreGraphics and QuickDraw plug-ins.
-
-2008-10-31 Cameron Zwarich <zwarich@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
- <https://bugs.webkit.org/show_bug.cgi?id=22019>
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics shouldPrintExceptions]):
- (+[WebCoreStatistics setShouldPrintExceptions:]):
-
-2008-10-31 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - WebKit/mac part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
-
- * WebView/WebView.mm:
- (-[WebView _cookieEnabled]):
- (-[WebView _setCookieEnabled:]):
- * WebView/WebViewPrivate.h:
-
-2008-10-31 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler
-
- [WebHistory setLastVisitedTimeInterval:forItem] was internal to WebHistory.mm and
- completely unused. Nuke it!
-
- * History/WebHistory.mm:
-
-2008-10-31 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/4361197> Screen Reader's Item Chooser shows scroll area for WebKit Application window
-
- If a WebFrameView does not allow scrolling, its scrollbars should not appear in the accessibility hierarchy.
-
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView accessibilityIsIgnored]):
-
-2008-10-30 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Jon Homeycutt.
-
- Explicitly default to building for only the native architecture in debug and release builds.
-
- * Configurations/DebugRelease.xcconfig:
-
-2008-10-30 Cameron Zwarich <zwarich@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Create a debugger directory in JavaScriptCore and move the relevant
- files to it.
-
- * ForwardingHeaders/debugger: Added.
- * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
- * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
- * WebView/WebScriptDebugDelegate.mm:
- * WebView/WebScriptDebugger.h:
- * WebView/WebScriptDebugger.mm:
-
-2008-10-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::WebNetscapePluginStream):
- (WebNetscapePluginStream::~WebNetscapePluginStream):
- (WebNetscapePluginStream::start):
-
-2008-10-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove an unused forward class declaration.
-
- * Plugins/WebBaseNetscapePluginView.h:
-
-2008-10-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove WebBaseNetscapePluginViewInternal.h and WebBaseNetscapePluginViewPrivate.h.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginViewInternal.h: Removed.
- * Plugins/WebBaseNetscapePluginViewPrivate.h: Removed.
- * Plugins/WebNetscapePluginEventHandler.mm:
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- * Plugins/npapi.mm:
- * WebView/WebHTMLView.mm:
-
-2008-10-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove WebNetscapePluginEmbeddedView, it adds nothing extra now.
-
- Remove WebNetscapePlugInStreamLoaderClient since WebNetscapePluginStream is the client now.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebKitPluginContainerView.h:
- * Plugins/WebNetscapePluginEmbeddedView.h: Removed.
- * Plugins/WebNetscapePluginEmbeddedView.mm: Removed.
- * Plugins/WebNetscapePluginEventHandler.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (NetscapePluginWidget::NetscapePluginWidget):
- (NetscapePluginWidget::handleEvent):
- (WebFrameLoaderClient::createPlugin):
- * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Removed.
- * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Removed.
- * WebView/WebHTMLView.mm:
- (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
-
-2008-10-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove the WebBaseNetscapePluginStream Objective-C object.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- (WebNetscapePluginStream::create):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::WebNetscapePluginStream):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
-
-2008-10-29 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- https://bugs.webkit.org/show_bug.cgi?id=21952
-
- Address an outstanding FIXME by removing unused SPI
-
- * History/WebHistory.mm:
- (-[WebHistory _addItemForURL:title:]): Fold addItem: into this method
-
- * History/WebHistoryPrivate.h: Removed unused/unneccessary SPI
-
-2008-10-28 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
-
- * WebView/WebHTMLView.mm: IgnoreSpelling is now a WebCore command. That command handles
- calling back into WebKit to perform the cross platform work that was removed in this change.
-
-2008-10-28 Cameron Zwarich <zwarich@apple.com>
-
- Reviewed by Mark Rowe.
-
- Move ForwardingHeaders to their correct location after the creation of
- the runtime directory in JavaScriptCore.
-
- * ForwardingHeaders/kjs/JSFunction.h: Removed.
- * ForwardingHeaders/kjs/JSObject.h: Removed.
- * ForwardingHeaders/kjs/JSString.h: Removed.
- * ForwardingHeaders/kjs/JSValue.h: Removed.
- * ForwardingHeaders/runtime: Added.
- * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
- * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
- * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
- * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
- * WebView/WebScriptDebugDelegate.mm:
- * WebView/WebScriptDebugger.mm:
- * WebView/WebView.mm:
-
-2008-10-28 Adele Peterson <adele@apple.com>
-
- Reviewed by John Sullivan.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
- "files" string for multifile uploads needs to be localized
-
- * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory multipleFileUploadTextForNumberOfFiles:]):
- Added.
-
-2008-10-28 Timothy Hatcher <timothy@apple.com>
-
- Add WebInspector methods to enable the profiler.
-
- https://bugs.webkit.org/show_bug.cgi?id=21927
-
- <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
- not slow down JavaScript all the time
-
- Reviewed by Darin Adler and Kevin McCullough.
-
- * WebInspector/WebInspector.h:
- * WebInspector/WebInspector.mm:
- (-[WebInspector isJavaScriptProfilingEnabled]): Added. Calls InspectorController::profilerEnabled.
- (-[WebInspector setJavaScriptProfilingEnabled:]): Added. Call InspectorController's disableProfiler
- or enableProfiler methods.
-
-2008-10-27 Timothy Hatcher <timothy@apple.com>
-
- Rename a few methods related to attaching and detaching the debugger.
-
- * Rename attachDebugger to enableDebugger.
- * Rename detachDebugger to disableDebugger.
- * Rename the debuggerAttached getter to debuggerEnabled.
-
- Reviewed by Darin Adler.
-
- * WebInspector/WebInspector.mm:
- (-[WebInspector isDebuggingJavaScript]):
- (-[WebInspector startDebuggingJavaScript:]):
- (-[WebInspector stopDebuggingJavaScript:]):
-
-2008-10-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Use the C++ stream object for JS requests as well.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebBaseNetscapePluginView destroyStream:reason:]):
-
-2008-10-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Use the C++ stream object in WebBaseNetscapePluginView. Use a HashSet of RefPtrs to keep track of the streams.
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::~WebNetscapePluginStream):
- (WebNetscapePluginStream::setPlugin):
- (WebNetscapePluginStream::startStream):
- (WebNetscapePluginStream::destroyStream):
- (WebNetscapePluginStream::destroyStreamWithReason):
- (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError):
- (WebNetscapePluginStream::deliverData):
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView stop]):
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
- (-[WebBaseNetscapePluginView disconnectStream:]):
- (-[WebBaseNetscapePluginView dealloc]):
- (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
- (-[WebBaseNetscapePluginView pluginView:receivedData:]):
- (-[WebBaseNetscapePluginView pluginView:receivedError:]):
- (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
-
-2008-10-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Move code from dealloc and finalize to the WebNetscapePluginStream destructor.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::~WebNetscapePluginStream):
- (-[WebBaseNetscapePluginStream dealloc]):
- (-[WebBaseNetscapePluginStream finalize]):
-
-2008-10-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Get rid of WebNetscapePlugInStreamLoaderClient, the plug-in stream is its own client.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::WebNetscapePluginStream):
- (-[WebBaseNetscapePluginStream dealloc]):
- (-[WebBaseNetscapePluginStream finalize]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView pluginView:receivedError:]):
- (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebBaseNetscapePluginView destroyStream:reason:]):
-
-2008-10-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Change the Obj-C init methods to simply call WebNetscapePluginStream::create.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- (WebNetscapePluginStream::create):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
- (WebNetscapePluginStream::WebNetscapePluginStream):
- (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
-
-2008-10-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Convert more code over to C++.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- (WebNetscapePluginStream::plugin):
- (WebNetscapePluginStream::setRequestURL):
- Convert to C++.
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::start):
- (WebNetscapePluginStream::stop):
- Ditto.
-
- (WebNetscapePluginStream::startStreamWithResponse):
- Ditto.
-
- (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
- Call the C++ version.
-
- (-[WebBaseNetscapePluginStream impl]):
- New accessor for the C++ class.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView pluginView:receivedData:]):
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
- (-[WebBaseNetscapePluginView destroyStream:reason:]):
- Call the C++ methods.
-
-2008-10-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Fix https://bugs.webkit.org/show_bug.cgi?id=21759
- Layering violation: FileChooser should not depend on Document/Frame/Page
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::runOpenPanel):
-
-2008-10-24 Anders Carlsson <andersca@apple.com>
-
- Fix Tiger build.
-
- * WebView/WebUIDelegate.h:
-
-2008-10-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/5440917> Support NPN_Construct
-
- Set construct.
-
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
-
-2008-10-24 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Tim Hatcher.
-
- <rdar://problem/6119711> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS__ define.
-
- * Misc/EmptyProtocolDefinitions.h:
-
-2008-10-24 Adele Peterson <adele@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKit part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::runOpenPanel):
- (-[WebOpenPanelResultListener chooseFilenames:]):
- * WebView/WebUIDelegate.h:
-
-2008-10-24 Timothy Hatcher <timothy@apple.com>
-
- Implement new InspectorClient methods to work with Settings.
-
- https://bugs.webkit.org/show_bug.cgi?id=21856
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebInspectorClient.h: Add the new methods and
- guard the ObjC parts of the header.
-
-2008-10-24 Darin Adler <darin@apple.com>
-
- - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
-
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame _convertValueToObjcValue:]):
- (-[WebScriptCallFrame exception]):
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView/WebView.mm:
- (aeDescFromJSValue):
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
- Use JSValue* instead of JSValuePtr.
-
-2008-10-23 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- * Misc/WebKitErrors.m:
- (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
-
-2008-10-20 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
-
-2008-10-20 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- <rdar://problem/6277777> REGRESSION (r36954): XMLHttpRequest not working when
- certain WebView delegate actions are taken
-
- * WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]): Don't accidentally create
- a window shell if there is none yet.
-
-2008-10-19 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
- improve performance by eliminating JSValue as a base class for JSCell
-
- Remove most uses of JSValue, which will be removed in a future patch.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- Use JSValuePtr instead of JSValue.
- * WebView/WebScriptDebugger.h: Removed declaration of JSValue.
-
-2008-10-18 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
- improve performance by eliminating JSValue as a base class for JSCell
-
- Tweak a little more to get closer to where we can make JSValuePtr a class.
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame _convertValueToObjcValue:]): Use JSValuePtr.
- (-[WebScriptCallFrame exception]): Ditto.
- (-[WebScriptCallFrame evaluateWebScript:]): Ditto. And noValue.
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::WebScriptDebugger): Use new DebuggerCallFrame
- constructor that doesn't require explicitly passing an exception.
- * WebView/WebView.mm:
- (aeDescFromJSValue): Use JSValuePtr.
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
-
-2008-10-18 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- - WebKit/mac part of https://bugs.webkit.org/show_bug.cgi?id=21736
- Long-dead decoded image data make up for most of the object cache's memory use over time
-
- * WebView/WebView.mm:
- (+[WebView _setCacheModel:]): In the primary web browser model, set the
- cache's dead decoded data deletion interval to 60 seconds.
-
-2008-10-15 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- Fix a leak of a CFStringRef reported by the build bot.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Use a autoreleased
- NSString rather than manually releasing a CFStringRef when we're done with it.
-
-2008-10-15 Kenneth Russell <kenneth.russell@sun.com>
-
- Reviewed and landed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=21572
-
- Initialize pluginFunc.size to the correct size before calling NP_GetEntryPoints.
-
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
-
-2008-10-15 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6272508> Crash occurs after loading flash content at http://www.macrumors.com/
-
- Restore some code related to the CoreGraphics drawing model that was misplaced in r37131.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView invalidateRegion:]):
- (-[WebBaseNetscapePluginView setVariable:value:]):
-
-2008-10-15 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
- Start the debugger without reloading the inspected page
-
- * WebInspector/WebInspector.mm:
- (-[WebInspector startDebuggingJavaScript:]): Updated for rename.
-
-2008-10-14 Maxime Britto <britto@apple.com>
-
- Reviewed by Darin Adler.
-
- Added SPI to use WebCore's TextIterator with WebKit.
-
- * WebView/WebTextIterator.h: Added.
- * WebView/WebTextIterator.mm: Added.
- (-[WebTextIteratorPrivate dealloc]):
- (-[WebTextIterator dealloc]):
- (-[WebTextIterator initWithRange:]): Creates a TextIterator
- instance
- (-[WebTextIterator advance]): Asks the iterator to advance() .
- (-[WebTextIterator currentNode]): Returns the current DOMNode from
- the iterator
- (-[WebTextIterator currentText]): Returns the current text from the
- iterator
- (-[WebTextIterator atEnd]): Indicated whether the iterator has
- reached the end of the range.
- * WebView/WebView.h:
- * WebView/WebView.mm:
- (-[WebView textIteratorForRect:]): Returns a WebTextIterator with
- the DOMRange contained in the rectangle given as a parameter.
-
-2008-10-15 Timothy Hatcher <timothy@apple.com>
-
- Clean up user agent generation to simplify the _standardUserAgentWithApplicationName:
- class method to not require a WebKit version.
-
- Reviewed by Darin Adler.
-
- * WebView/WebView.mm:
- (+[WebView _standardUserAgentWithApplicationName:]): Create the WebKit version.
- (-[WebView WebCore::_userAgentForURL:]): Use the simplified _standardUserAgentWithApplicationName:.
- Remove code that created the WebKit version.
- * WebView/WebViewPrivate.h: Change the method name of _standardUserAgentWithApplicationName:.
-
-2008-10-14 Timothy Hatcher <timothy@apple.com>
-
- Make the user agent generation method a class method and cache the WebKit
- version in a static to prevent generating it every time. This is needed
- clean up to fix <rdar://problem/6292331>. Moved all code to WebPrivate so
- the class method can be in the WebViewPrivate.h header.
-
- Reviewed by John Sullivan.
-
- * WebView/WebView.mm:
- (callGestalt): Moved. Same code.
- (createMacOSXVersionString): Moved. Same code.
- (createUserVisibleWebKitVersionString): Moved from _userVisibleBundleVersionFromFullVersion:
- and returns a copied string.
- (+[WebView _standardUserAgentWithApplicationName:andWebKitVersion:]): Made into a class method.
- (-[WebView WebCore::_userAgentForURL:]): Changed to cache the WebKit version.
- * WebView/WebViewPrivate.h: Added +_standardUserAgentWithApplicationName:andWebKitVersion:.
-
-2008-10-13 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Mark Rowe.
-
- - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
-
- * Configurations/DebugRelease.xcconfig:
-
-2008-10-11 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- - rename _setAlwaysUseATSU to _setAlwaysUsesComplexTextCodePath and
- update it for the renamed WebCoreTextRenderer method; keep the old
- method around for clients that use it
-
- * WebView/WebView.mm:
- (+[WebView _setAlwaysUseATSU:]):
- (+[WebView _setAlwaysUsesComplexTextCodePath:]):
- * WebView/WebViewPrivate.h:
-
-2008-10-09 Timothy Hatcher <timothy@apple.com>
-
- Don't convert JavaScriptCore header include paths to WebKit paths. This was needed
- back when NPAPI and WebScriptObject migrated from JavaScriptCore. Also remove
- JavaScriptCore from the VPATH.
-
- Reviewed by Sam Weinig.
-
- * MigrateHeaders.make:
-
-2008-10-08 Darin Adler <darin@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- - https://bugs.webkit.org/show_bug.cgi?id=21403
- Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
-
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
-
-2008-10-08 Timothy Hatcher <timothy@apple.com>
-
- Roll out r37427 because it causes an infinite recursion loading about:blank.
-
- https://bugs.webkit.org/show_bug.cgi?id=21476
-
-2008-10-08 Darin Adler <darin@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- - https://bugs.webkit.org/show_bug.cgi?id=21403
- Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
-
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
-
-2008-10-07 David Hyatt <hyatt@apple.com>
-
- Move viewless WebKit methods that Safari needs from WebViewInternal to WebViewPrivate.
-
- Reviewed by Tim Hatcher
-
- * WebView/WebView.mm:
- (WebKitInitializeApplicationCachePathIfNecessary):
- (-[WebView _registerDraggedTypes]):
- (-[WebView _usesDocumentViews]):
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
- (-[WebView isFlipped]):
- (-[WebView viewWillDraw]):
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-2008-10-07 David Hyatt <hyatt@apple.com>
-
- Fix crash in isFlipped. Null check _private since isFlipped can get called from within AppKit
- machinery during teardown of the WebView.
-
- Reviewed by Adam Roben
-
- * WebView/WebView.mm:
- (-[WebView isFlipped]):
-
-2008-10-07 David Hyatt <hyatt@apple.com>
-
- Make viewless WebKit update focused and active state when the window becomes and loses key.
- The focus controller has been patched to understand that in viewless mode it can recur down and
- update all of the frames, which is why this code works now when placed just on the WebView.
-
- Reviewed by Adam Roben
-
- * WebView/WebView.mm:
- (-[WebView addWindowObservers]):
- (-[WebView removeWindowObservers]):
- (-[WebView viewWillMoveToWindow:]):
- (-[WebView viewDidMoveToWindow]):
- (-[WebView _updateFocusedAndActiveState]):
- (-[WebView _windowDidBecomeKey:]):
- (-[WebView _windowDidResignKey:]):
- (-[WebView _windowWillOrderOnScreen:]):
-
-2008-10-07 David Hyatt <hyatt@apple.com>
-
- Make sure the parent visibility state is set up properly on the outermost ScrollView widget.
- This fixes the repainting issues with viewless WebKit on Mac.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
-
-2008-10-07 David Hyatt <hyatt@apple.com>
-
- Make sure viewless Mac WebKit does a layout if needed before drawing.
-
- Reviewed by Sam Weinig
-
- * WebView/WebView.mm:
- (-[WebView viewWillDraw]):
-
-2008-10-07 David Hyatt <hyatt@apple.com>
-
- Make sure observers get hooked up to watch for size changes in viewless WebKit mode.
-
- Reviewed by Sam Weinig
-
- * ChangeLog:
- * WebView/WebFrame.mm:
- (-[WebFrame _drawRect:contentsOnly:]):
- * WebView/WebView.mm:
- (-[WebView viewWillDraw]):
- (-[WebView _boundsChanged]):
- (-[WebView addSizeObservers]):
- (-[WebView viewDidMoveToWindow]):
- (-[WebView viewDidMoveToSuperview]):
-
-2008-10-07 David Hyatt <hyatt@apple.com>
-
- Make sure WebView listens for size changes and resizes the frame view in viewless mode.
-
- Reviewed by Sam Weinig
-
- * WebView/WebView.mm:
- (-[WebView addSizeObservers]):
- (-[WebView viewDidMoveToWindow]):
- (-[WebView viewDidMoveToSuperview]):
-
-2008-10-06 David Hyatt <hyatt@apple.com>
-
- Enable viewless Mac WebKit to paint some basic pages.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::windowResizerRect):
- (WebChromeClient::repaint):
- (WebChromeClient::screenToWindow):
- (WebChromeClient::windowToScreen):
- (WebChromeClient::platformWindow):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::forceLayoutForNonHTML):
- (WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
- (WebFrameLoaderClient::createFrame):
- * WebView/WebFrame.mm:
- (-[WebFrame _drawRect:contentsOnly:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFrameView.mm:
- * WebView/WebFrameViewInternal.h:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawSingleRect:]):
- (-[WebHTMLView drawRect:]):
- * WebView/WebView.mm:
- (-[WebView isFlipped]):
- (-[WebView _boundsChanged]):
- (-[WebView _mustDrawUnionedRect:singleRects:count:]):
- (-[WebView drawSingleRect:]):
- (-[WebView drawRect:]):
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView initWithFrame:frameName:groupName:]):
- (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
- (-[WebView initWithCoder:]):
- (-[WebView removeSizeObservers]):
- (-[WebView viewWillMoveToWindow:]):
- (-[WebView viewWillMoveToSuperview:]):
- (-[WebView _usesDocumentViews]):
- * WebView/WebViewInternal.h:
-
-2008-10-06 Kevin Decker <kdecker@apple.com>
-
- Rubber-stamped by Anders Carlsson.
-
- Rename _webkit_applicationCacheDirectoryWithBundleIdentifier to _webkit_localCacheDirectoryWithBundleIdentifier.
-
- * Misc/WebKitNSStringExtras.h:
- * Misc/WebKitNSStringExtras.m:
- (+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
- * WebView/WebDataSource.mm:
- (-[WebDataSource _transferApplicationCache:]):
- * WebView/WebView.mm:
- (WebKitInitializeApplicationCachePathIfNecessary):
-
-2008-10-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make WebNetscapePluginStream a WebCore::NetscapePlugInStreamLoaderClient.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- (WebNetscapePluginStream::~WebNetscapePluginStream):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::didReceiveResponse):
- (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
- (WebNetscapePluginStream::wantsAllStreams):
- (-[WebBaseNetscapePluginStream wantsAllStreams]):
- (WebNetscapePluginStream::didFail):
- (-[WebBaseNetscapePluginStream destroyStreamWithError:]):
- (WebNetscapePluginStream::didFinishLoading):
- (-[WebBaseNetscapePluginStream finishedLoading]):
- (WebNetscapePluginStream::didReceiveData):
- (-[WebBaseNetscapePluginStream receivedData:]):
-
-2008-10-06 Anders Carlsson <andersca@apple.com>
-
- Bring back the stop method. It was called through performSelector, which
- is why I couldn't find any references to it.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream stop]):
-
-2008-10-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- More conversion and cleanup.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::startStream):
- (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
-
-2008-10-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fold initWithRequestURL into initWithRequest.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
-
-2008-10-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Change the init methods not to return nil on failures. (These failures never occur anyway)
-
- Use initWithRequest as the initializer, initWithRequestURL is going to be merged with it.
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
- (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
-
-2008-10-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by David Hyatt.
-
- Convert more methods over to C++.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::ownerForStream):
- (WebNetscapePluginStream::pluginCancelledConnectionError):
- (WebNetscapePluginStream::errorForReason):
- (-[WebBaseNetscapePluginStream errorForReason:]):
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
- (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError):
- (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
- (WebNetscapePluginStream::deliverData):
- (WebNetscapePluginStream::deliverDataTimerFired):
- (WebNetscapePluginStream::deliverDataToFile):
- (-[WebBaseNetscapePluginStream finishedLoading]):
- (-[WebBaseNetscapePluginStream receivedData:]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView destroyStream:reason:]):
-
-2008-10-06 David Hyatt <hyatt@apple.com>
-
- Add SPI for a new viewless WebKit mode. The idea is that when this flag is set there will be no
- views created except for the outermost WebView.
-
- Reviewed by Tim Hatcher
-
- * WebView/WebView.mm:
- * WebView/WebViewInternal.h:
-
-2008-10-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by David Hyatt.
-
- Convert more methods over to C++.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::reasonForError):
- (WebNetscapePluginStream::destroyStreamWithReason):
- (WebNetscapePluginStream::cancelLoadWithError):
- (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
- (WebNetscapePluginStream::destroyStreamWithError):
- (-[WebBaseNetscapePluginStream destroyStreamWithError:]):
- (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
- (-[WebBaseNetscapePluginStream _deliverDataToFile:]):
- (-[WebBaseNetscapePluginStream finishedLoading]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]):
-
-2008-10-04 Darin Adler <darin@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- - https://bugs.webkit.org/show_bug.cgi?id=21295
- Bug 21295: Replace ExecState with a call frame Register pointer
-
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::WebScriptDebugger): Remove 0 passed for ExecState.
-
-2008-10-03 John Sullivan <sullivan@apple.com>
-
- Fixed Release build
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::destroyStream):
- added !LOG_DISABLED guard around declaration of npErr used only in LOG
-
-2008-10-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by David Hyatt.
-
- Convert destroyStream over to C++.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::destroyStream):
- (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
- (-[WebBaseNetscapePluginStream _deliverData]):
-
-2008-10-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by David Hyatt.
-
- Use a Timer instead of -[NSObject performSelector:withObject:afterDelay];
-
- * Plugins/WebBaseNetscapePluginStream.h:
- (WebNetscapePluginStream::WebNetscapePluginStream):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream _destroyStream]):
- (-[WebBaseNetscapePluginStream _deliverData]):
- (WebNetscapePluginStream::deliverDataTimerFired):
-
-2008-10-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by David Hyatt.
-
- More plug-in stream cleanup.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- (WebNetscapePluginStream::create):
- (WebNetscapePluginStream::WebNetscapePluginStream):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
- (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
- (-[WebBaseNetscapePluginStream dealloc]):
- (-[WebBaseNetscapePluginStream finalize]):
- (-[WebBaseNetscapePluginStream setPlugin:]):
- (WebNetscapePluginStream::setPlugin):
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
- (-[WebBaseNetscapePluginStream _destroyStream]):
-
-2008-10-03 David Hyatt <hyatt@apple.com>
-
- Remove addToDirtyRegion.
-
- Reviewed by Oliver Hunt
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
-
-2008-10-02 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21328
-
- Make widget invalidation more cross-platform.
-
- (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
-
- (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
- This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
-
- (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
-
- (4) FrameViews now do a repaintRectangle on their owner element's renderer.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (PluginWidget::PluginWidget):
- (PluginWidget::invalidateRect):
- (NetscapePluginWidget::NetscapePluginWidget):
- (WebFrameLoaderClient::createPlugin):
-
-2008-10-02 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff Garen.
-
- - https://bugs.webkit.org/show_bug.cgi?id=21321
- Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]): Use heap. instead of heap-> to
- work with the heap.
- (+[WebCoreStatistics javaScriptGlobalObjectsCount]): Ditto.
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]): Ditto.
- (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): Ditto.
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): Ditto.
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]): Ditto.
-
-2008-10-02 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21314
-
- Make scrollBackingStore cross-platform.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::repaint):
- (WebChromeClient::scroll):
-
-2008-10-01 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler and Cameron Zwarich.
-
- Updated for JavaScriptCore API changes: use a SourceCode instead of
- broken out parameters; treat sourceId as intptr_t.
-
- We still treat sourceId as int in some cases because of DashCode. See
- <rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for
- sourceId, not int.
-
- * WebView/WebScriptDebugger.h:
- * WebView/WebScriptDebugger.mm:
- (toNSString):
- (WebScriptDebugger::sourceParsed):
- (WebScriptDebugger::callEvent):
- (WebScriptDebugger::atStatement):
- (WebScriptDebugger::returnEvent):
- (WebScriptDebugger::exception):
- (WebScriptDebugger::willExecuteProgram):
- (WebScriptDebugger::didExecuteProgram):
- (WebScriptDebugger::didReachBreakpoint):
-
-2008-10-01 David Hyatt <hyatt@apple.com>
-
- Move prohibitsScrolling from the Frame to the ScrollView.
-
- Reviewed by Sam Weinig
-
- * WebView/WebView.mm:
- (-[WebView setProhibitsMainFrameScrolling:]):
-
-2008-10-01 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21282
-
- Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
-
- Reviewed by Adam Roben
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::repaint):
- (WebChromeClient::screenToWindow):
- (WebChromeClient::windowToScreen):
-
-2008-09-30 Dave Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21269
-
- This patch makes the ScrollView::paint method cross-platform. The paint method calls the base class
- Widget paint on platforms with native widgets (Mac and wx). Otherwise it calls a virtual function,
- paintContents, to paint the ScrollView's contents, and then it paints each of the two scrollbars and
- the scrollbar corner.
-
- The scrollbar themes are now responsible for painting scrollbar corners. At the moment ScrollbarThemeWin still
- paints white (which is incorrect), so a future patch will actually implement proper native scroll corner painting
- for Windows.
-
- paintContents is implemented by FrameView, and replaces Frame::paint. All of the FramePrivate member
- variables used by Frame::paint have moved to FrameViewPrivate instead. All callers of Frame::paint have
- been patched to use FrameView::paintContents instead.
-
- Reviewed by Darin Adler
-
- * WebView/WebFrame.mm:
- (-[WebFrame _drawRect:]):
-
-2008-09-30 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Remove the NPDrawingModelOpenGL entirely. To my knowledge no shipping plug-in ever used it, and no other browser engine
- ever supported it.
-
- * Plugins/WebBaseNetscapePluginView.h: Removed AGL.h import and OpenGL related ivars.
- * Plugins/WebBaseNetscapePluginView.mm: Removed soft linking for OpenGL and AGL frameworks.
- Also removed many methods AGL/CGL support methods that are no longer necessary.
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed NPDrawingModelOpenGL related code.
- (-[WebBaseNetscapePluginView restorePortState:]): Ditto.
- (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Ditto.
- (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): Ditto.
- (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto.
- (-[WebBaseNetscapePluginView stop]): Ditto.
- (-[WebBaseNetscapePluginView dealloc]): Ditto.
- (-[WebBaseNetscapePluginView drawRect:]):
- (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Ditto.
- (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto.
- (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins WebKit does not support NPDrawingModelOpenGL.
- (-[WebBaseNetscapePluginView setVariable:value:]): Removed NPDrawingModelOpenGL related code.
- (-[WebBaseNetscapePluginView _viewHasMoved]): Ditto.
-
-2008-09-30 Dave Hyatt <hyatt@apple.com>
-
- http://bugs.webkit.org/show_bug.cgi?id=21250
-
- Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
- repaints up through the ChromeClient.
-
- Reviewed by Darin Adler
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::repaint):
-
-2008-09-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark Rowe and Adam Roben.
-
- No need to use pointers to store C++ objects as pointers in WebViewPrivate, we can just
- store them directly.
-
- * Configurations/Base.xcconfig:
- Set GCC_OBJC_CALL_CXX_CDTORS to YES.
-
- * WebView/WebView.mm:
- (-[WebViewPrivate init]):
- (-[WebViewPrivate dealloc]):
- (-[WebViewPrivate finalize]):
- (-[WebView _preferencesChangedNotification:]):
- (-[WebView setApplicationNameForUserAgent:]):
- (-[WebView setCustomUserAgent:]):
- (-[WebView customUserAgent]):
- (-[WebView WebCore::_userAgentForURL:WebCore::]):
- (-[WebView _addObject:forIdentifier:]):
- (-[WebView _objectForIdentifier:]):
- (-[WebView _removeObjectForIdentifier:]):
-
-2008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
-
- Reviewed by Simon.
-
- Changed copyright from Trolltech ASA to Nokia.
-
- Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
-
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
-
-2008-09-28 Timothy Hatcher <timothy@apple.com>
-
- Improves the Web Inspector node highlight so it does not scroll
- to reveal the node in the page. This makes the highlight less
- invasive and causes less things to change on screen. Also makes
- the highlight redraw when the WebView draws, so it stays current
- if the node changes on the page for any reason.
-
- <rdar://problem/6115804> Don't scroll when highlighting (21000)
- https://bugs.webkit.org/show_bug.cgi?id=21000
-
- Reviewed by Dan Bernstein.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController highlightNode:]): Call setNeedsDisplay:YES
- if there is an existing highlight.
- (-[WebInspectorWindowController didAttachWebNodeHighlight:]): Set the current
- highlight node on the inspected WebView.
- (-[WebInspectorWindowController willDetachWebNodeHighlight:]): Set the current
- highlight node on the inspected WebView to nil.
- * WebInspector/WebNodeHighlight.m:
- (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Disable screen updates
- until flush for the inspected window. Invalidate the whole highlight view since
- we don't know the rect that needs updated since the highlight can be larger than
- the highlighted element due to the margins and other factors.
- * WebInspector/WebNodeHighlightView.m:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawSingleRect:]): Call setNeedsUpdateInTargetViewRect: on the
- current highlight node.
- * WebView/WebView.mm:
- (-[WebViewPrivate dealloc]): Release the current highlight node.
- (-[WebView setCurrentNodeHighlight:]): Set the current highlight node.
- (-[WebView currentNodeHighlight]): Return the current highlight node.
- * WebView/WebViewInternal.h:
-
-2008-09-28 David Kilzer <ddkilzer@apple.com>
-
- Fix build warning in WebDefaultUIDelegate.m
-
- Reviewed by Dan Bernstein.
-
- This fixes a warning noticed by the clang static analyzer:
- .../WebDefaultUIDelegate.m: In function ‘-[WebDefaultUIDelegate webViewFirstResponder:]’:
- .../WebDefaultUIDelegate.m:92: warning: initialization from distinct Objective-C type
-
- Note that this doesn't actually cause any change in behavior since
- the gcc compiler ignores the semi-colon anyway.
-
- * DefaultDelegates/WebDefaultUIDelegate.m:
- (-[WebDefaultUIDelegate webViewFirstResponder:]): Removed semi-colon
- from method signature.
-
-2008-09-27 David Hyatt <hyatt@apple.com>
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=21182
-
- Make sure Mac null checks the view like the other platforms do now that Mac goes through WebCore
- to call setAllowsScrolling.
-
- Reviewed by Mark Rowe
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createFrame):
-
-2008-09-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=21178
- <rdar://problem/6248651>
-
- Check if the plug-in is allowed to load the resource. This matches Firefox.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
-
-2008-09-26 Matt Lilek <webkit@mattlilek.com>
-
- Reviewed by Tim Hatcher.
-
- Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.
-
- * Configurations/WebKit.xcconfig:
-
-2008-09-26 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21164
-
- Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createFrame):
- * WebView/WebDynamicScrollBarsView.h:
- * WebView/WebDynamicScrollBarsView.m:
- * WebView/WebDynamicScrollBarsViewInternal.h:
- * WebView/WebFrameView.mm:
- (-[WebFrameView setAllowsScrolling:]):
- (-[WebFrameView allowsScrolling]):
-
-2008-09-26 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21149
-
- More refactoring to make scrollbar modes cross-platform. Reduce the protocol that
- WebDynamicScrollBarsView has to implement for communicating with WebCore to just three methods.
-
- Reviewed by Sam Weinig
-
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]):
- (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]):
- (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]):
- (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
- * WebView/WebDynamicScrollBarsViewInternal.h:
- * WebView/WebFrameView.mm:
- (-[WebFrameView setAllowsScrolling:]):
- * WebView/WebView.mm:
- (-[WebView setAlwaysShowVerticalScroller:]):
- (-[WebView setAlwaysShowHorizontalScroller:]):
-
-2008-09-26 David Kilzer <ddkilzer@apple.com>
-
- Fix Mac build with XSLT disabled
-
- Reviewed by Alexey.
-
- * Misc/WebCache.mm:
- (+[WebCache statistics]): Populate xslStyleSheet statistics with
- zeros if XSLT is disabled.
-
-2008-09-25 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21101
-
- Fix the updating of the active state to not be dumb, so that viewless scrollbars repaint properly.
-
- Reviewed by Tim Hatcher
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _updateFocusedAndActiveState]):
-
-2008-09-24 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - https://bugs.webkit.org/show_bug.cgi?id=21079
- <rdar://problem/6203938> Disallow embedding Safari-generated pages
- (e.g bookmarks collection) in subframes
-
- * DefaultDelegates/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
- Use the new +[WebView _canHandleRequest:forMainFrame:] so we can give
- a different answer for the main frame and subframes.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::canHandleRequest): Ditto.
-
- * WebView/WebView.mm:
- (+[WebView _canHandleRequest:forMainFrame:]): Added forMainFrame. Only look
- for scheme-specific representations for the main frame, not subframes.
- (+[WebView _canHandleRequest:]): Give answer for main frame -- calls the
- method above with YES for main frame.
-
- * WebView/WebViewInternal.h: Added _canHandleRequest:forMainFrame:.
-
-2008-09-23 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21039
-
- Teach the viewless Mac scrollbar how to avoid the NSWindow resizer.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::windowResizerRect):
-
-2008-09-23 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Beth Dakin.
-
- - fix <rdar://problem/6233388> Crash beneath -[WebFrameView keyDown:]
-
- Test: fast/events/keydown-remove-frame.html
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView keyDown:]): Added a null check.
-
-2008-09-21 Dirk Schulze <vbs85@gmx.de>
-
- Reviewed and landed by Eric Seidel.
-
- Moved CGFloat definition to WebKitPrefix so CGFloat can be used more
- freely throughout WebCore without worrying about breaking Tiger.
-
- * Misc/WebTypesInternal.h: Removed it from here.
- * WebKitPrefix.h: Added it here.
-
-2008-09-20 Matt Lilek <webkit@mattlilek.com>
-
- Reviewed by Tim Hatcher.
-
- Revert r35688. We use a textured window on Leopard, which does not have the
- square corners of the standard Aqua window on Tiger.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController window]): Add back the call to WKNSWindowMakeBottomCornersSquare.
-
-2008-09-19 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - speculative fix for https://bugs.webkit.org/show_bug.cgi?id=20943
- Assertion failure in RefCountedLeakCounter::cancelMessageSuppression() when closing a window
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]): Moved call to
- RefCountedLeakCounter::suppressMessages in here.
- (-[WebView initWithFrame:frameName:groupName:]): Moved it out of here.
-
-2008-09-18 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add SPI to WebView to allow DRT to clear the main frame's name between tests.
-
- * WebView/WebView.mm:
- (-[WebView _clearMainFrameName]):
- * WebView/WebViewPrivate.h:
-
-2008-09-18 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- - fix https://bugs.webkit.org/show_bug.cgi?id=20925
- LEAK messages appear every time I quit
-
- * WebView/WebPreferences.mm:
- (-[WebPreferences setFullDocumentTeardownEnabled:]): Removed unneeded call
- to setLogLeakMessages.
- * WebView/WebView.mm:
- (-[WebView _closeWithFastTeardown]): Call RefCountedLeakCounter::suppressMessages,
- telling it that we can't track leaks because at least one WebView was closed with
- fast teardown.
- (-[WebView _close]): Removed unneeded call to setLogLeakMessages. Added a call to
- cancelMessageSuppression since the WebView is no longer open.
- Added an explicit garbage collect to help with the case where we're closing during
- the quit process -- the garbageCollectSoon() calls done inside WebCore won't help
- us in that case.
- (-[WebView initWithFrame:frameName:groupName:]): Call
- RefCountedLeakCounter::suppressMessages telling it that we can't track leaks
- because at least one WebView is currently open.
-
-2008-09-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Move the remainder of the stream ivars to the C++ object.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- (WebNetscapePluginStream::WebNetscapePluginStream):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
- (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
- (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
- (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
- (-[WebBaseNetscapePluginStream dealloc]):
- (-[WebBaseNetscapePluginStream finalize]):
- (-[WebBaseNetscapePluginStream setPlugin:]):
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
- (-[WebBaseNetscapePluginStream start]):
- (-[WebBaseNetscapePluginStream stop]):
- (-[WebBaseNetscapePluginStream wantsAllStreams]):
- (-[WebBaseNetscapePluginStream _destroyStream]):
- (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
- (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
- (-[WebBaseNetscapePluginStream _deliverData]):
-
-2008-09-17 David Hyatt <hyatt@apple.com>
-
- Make the notion of Widget having an underlying native widget cross-platform.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (NetscapePluginWidget::handleEvent):
- * WebView/WebFrame.mm:
- (-[WebFrame _dragSourceMovedTo:]):
- (-[WebFrame _dragSourceEndedAt:operation:]):
- * WebView/WebFrameView.mm:
- (-[WebFrameView _install]):
- * WebView/WebRenderNode.mm:
- (copyRenderNode):
-
-2008-09-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- Move more instance variables down to the C++ class.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- (WebNetscapePluginStream::WebNetscapePluginStream):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
- (-[WebBaseNetscapePluginStream dealloc]):
- (-[WebBaseNetscapePluginStream finalize]):
- (-[WebBaseNetscapePluginStream transferMode]):
- (-[WebBaseNetscapePluginStream plugin]):
- (-[WebBaseNetscapePluginStream setPlugin:]):
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
- (-[WebBaseNetscapePluginStream wantsAllStreams]):
- (-[WebBaseNetscapePluginStream _destroyStream]):
- (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
- (-[WebBaseNetscapePluginStream _deliverData]):
- (-[WebBaseNetscapePluginStream _deliverDataToFile:]):
- (-[WebBaseNetscapePluginStream finishedLoading]):
- (-[WebBaseNetscapePluginStream receivedData:]):
-
-2008-09-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Move a bunch of instance variables into the C++ class.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
- (-[WebBaseNetscapePluginStream errorForReason:]):
- (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
- (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
- (-[WebBaseNetscapePluginStream dealloc]):
- (-[WebBaseNetscapePluginStream setRequestURL:]):
- (-[WebBaseNetscapePluginStream setResponseURL:]):
- (-[WebBaseNetscapePluginStream setMIMEType:]):
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
- (-[WebBaseNetscapePluginStream _destroyStream]):
- (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
- (-[WebBaseNetscapePluginStream _deliverData]):
- (-[WebBaseNetscapePluginStream receivedData:]):
-
-2008-09-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Add a new WebNetscapePluginStream C++ class. The idea is that it is supposed to replace the Obj-C
- WebBaseNetscapePluginStream class. The plan is to gradually move/rewrite code from the Obj-C class to the C++ class
- until the C++ class can replace the Obj-C class.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- (WebNetscapePluginStream::create):
- (WebNetscapePluginStream::WebNetscapePluginStream):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
- (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
- (-[WebBaseNetscapePluginStream dealloc]):
- (-[WebBaseNetscapePluginStream finalize]):
-
-2008-09-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Instead of storing a pointer to NPP method individually, just store a pointer to the NPNetscapeFuncs vtable.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream setPlugin:]):
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
- (-[WebBaseNetscapePluginStream wantsAllStreams]):
- (-[WebBaseNetscapePluginStream _destroyStream]):
- (-[WebBaseNetscapePluginStream _deliverData]):
- * Plugins/WebNetscapePluginPackage.h:
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage pluginFuncs]):
-
-2008-09-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Remove references to WebNetscapePluginStream.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebNetscapePluginEmbeddedView.h:
-
-2008-09-15 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - fix https://bugs.webkit.org/show_bug.cgi?id=20860
- REGRESSION: Crash in RenderLayer::hasVisibleContent() loading wavy.com
-
- * WebView/WebFrame.mm:
- (-[WebFrame _getVisibleRect:]): Changed to check if the RenderPart has
- layout before accessing it, instead of checking if the frame inside it
- has layout.
-
-2008-09-15 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler, Beth Dakin
-
- Support strings for AXLists
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory AXDefinitionListTermText]):
- (-[WebViewFactory AXDefinitionListDefinitionText]):
-
-2008-09-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mitz.
-
- Merge WebNetscapePluginStream into WebBaseNetscapePluginStream.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
- (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
- (-[WebBaseNetscapePluginStream dealloc]):
- (-[WebBaseNetscapePluginStream finalize]):
- (-[WebBaseNetscapePluginStream start]):
- (-[WebBaseNetscapePluginStream stop]):
- (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
- * Plugins/WebNetscapePluginEmbeddedView.mm:
- * Plugins/WebNetscapePluginStream.h: Removed.
- * Plugins/WebNetscapePluginStream.mm: Removed.
-
-2008-09-12 John Sullivan <sullivan@apple.com>
-
- Fixed <rdar://problem/6110941> Clicking the print button in PDF content does nothing
-
- Reviewed by Darin Adler
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewPerformPrint:]):
- Implemented PDFKit delegate method that's called after a Print action in the PDF content
-
-2008-09-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - fix a crash in -visibleRect when it is called during WebFrameView deallocation
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView visibleRect]): Added an early return if _private is 0.
-
-2008-09-11 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - eliminate excessive repainting when a clipped iframe is moved (noticed in <rdar://problem/6204032>)
-
- * WebView/WebFrame.mm:
- (-[WebFrame _getVisibleRect:]): Added. If the frame is in a RenderPart
- and has layout, gets the visible rect of the RenderPart and returns
- YES. Returns NO otherwise.
- * WebView/WebFrameInternal.h:
- * WebView/WebFrameView.mm:
- (-[WebFrameView visibleRect]): Added. Overrides this NSView method to
- take clipping in the render tree into account.
-
-2008-09-09 Dan Bernstein <mitz@apple.com>
-
- - Tiger build fix
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2008-09-09 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - WebKit part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
-
- Reviewed by Maciej Stachowiak.
-
- Bug 20704: Replace the KJS namespace
- <https://bugs.webkit.org/show_bug.cgi?id=20704>
-
- Rename the KJS namespace to JSC.
-
- * Misc/WebCoreStatistics.mm:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream wantsAllStreams]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
- (-[WebBaseNetscapePluginView setWindowIfNecessary]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView createPluginScriptableObject]):
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- (-[WebBaseNetscapePluginView _printedPluginBitmap]):
- * Plugins/WebPluginController.mm:
- (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
- (-[WebPluginController startAllPlugins]):
- (-[WebPluginController stopAllPlugins]):
- (-[WebPluginController addPlugin:]):
- (-[WebPluginController destroyPlugin:]):
- (-[WebPluginController destroyAllPlugins]):
- * WebView/WebFrame.mm:
- * WebView/WebScriptDebugDelegate.mm:
- * WebView/WebScriptDebugger.h:
- * WebView/WebScriptDebugger.mm:
- * WebView/WebView.mm:
- (-[WebViewPrivate init]):
-
-2008-09-05 Timothy Hatcher <timothy@apple.com>
-
- Correct a typo in the setApplicationChromeModeEnabledEnabled:
- method name, remove the extra "Enabled".
-
- * WebView/WebPreferences.mm:
- * WebView/WebPreferencesPrivate.h:
-
-2008-09-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Eric Seidel.
-
- Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
- Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
-
- * Configurations/WebKit.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
-
-2008-09-03 Eric Seidel <eric@webkit.org>
-
- Reviewed by Sam.
-
- Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
-
- * Configurations/WebKit.xcconfig:
- * WebKitPrefix.h: add rules for V8_BINDINGS
-
-2008-09-01 Adam Barth <abarth@webkit.org>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=19760
-
- Add a linked-on-or-after check to prevent substitute data from loading
- local resources on newer users of WebKit.
-
- * Misc/WebKitVersionChecks.h:
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2008-08-29 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- Fix regression I introducted in 35946
- Already covered by media/video-click-dlbclick-standalone.html
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation receivedData:withDataSource:]): Cancel the load here after
- calling [WebFrame _receivedData:] which more closely follows the path taken by PluginDocuments
-
-2008-08-28 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/6095949> REGRESSION (5525.8-6527.1?): "this" is null
- when you first hit a breakpoint in Dashcode
- - We wanted to reset the callframe whenever eval() was called but
- dashcode uses eval() when broken to evaluate the state of the current
- call frame.
-
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::willExecuteProgram):
- (WebScriptDebugger::didExecuteProgram):
-
-2008-08-27 Robert Kroeger <rjkroege@liqui.org>
-
- Tweaked by Sam Weinig.
-
- Reviewed by Eric Seidel.
-
- Fix https://bugs.webkit.org/show_bug.cgi?id=6595
- <rdar://problem/4432150>
- Right-click does not fire mouseup event
-
- Adds a rightMouseUp handler to the WebHTMLView.
-
- The added method generates mouseup events for button 2. The result
- is that webkit will deliver mousedown and mouseup events for button
- 2 in a fashion identical to FireFox and will retain event ordering
- identical to Internet Explorer.
-
- Test: fast/events/mouseup-from-button2.html
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView rightMouseUp:]):
-
-2008-08-27 Timothy Hatcher <timothy@apple.com>
-
- Add support for support for -webkit-appearance: default-button on the Mac platform.
-
- <rdar://problem/6173530>
-
- Reviewed by Dave Hyatt.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Init AdvanceDefaultButtonPulseAnimation.
- * WebView/WebPreferenceKeysPrivate.h: Added WebKitApplicationChromeModeEnabledPreferenceKey.
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Set WebKitApplicationChromeModeEnabledPreferenceKey to NO.
- (-[WebPreferences applicationChromeModeEnabled]): Added.
- (-[WebPreferences setApplicationChromeModeEnabledEnabled:]): Added.
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Call Settings::setApplicationChromeMode
- with the value of -[WebPreferences applicationChromeModeEnabled].
-
-2008-08-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- <rdar://problem/6134133> - Crash when loading large movie as a standalone document
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::pluginWillHandleLoadError):
-
-2008-08-20 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by John Sullivan.
-
- - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen,
- rename related methods and variables accordingly, and make
- -setShouldUpdateWhileOffscreen: and -shouldUpdateWhileOffscreen
- WebView API.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
- * WebView/WebFrame.mm:
- (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView windowWillOrderOnScreen:]):
- * WebView/WebView.h:
- * WebView/WebView.mm:
- (-[WebViewPrivate init]):
- (-[WebView setBackgroundColor:]):
- (-[WebView setDrawsBackground:]):
- (-[WebView setShouldUpdateWhileOffscreen:]):
- (-[WebView shouldUpdateWhileOffscreen]):
- * WebView/WebViewPrivate.h:
-
-2008-08-18 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- Switch to non-deprecated NSFileManager API.
-
- In order to minimize #if's the new NSFileManager APIs have been implemented for
- Tiger and call sites updated to use the new methods.
-
- * Misc/WebIconDatabase.mm:
- (importToWebCoreFormat):
- * Misc/WebKitNSStringExtras.m:
- (-[NSString _webkit_fixedCarbonPOSIXPath]):
- * Misc/WebKitSystemBits.m:
- * Misc/WebNSFileManagerExtras.h:
- * Misc/WebNSFileManagerExtras.m: Remove implementations of methods that are not used.
- (-[NSFileManager _webkit_backgroundRemoveFileAtPath:]):
- (-[NSFileManager attributesOfFileSystemForPath:error:]): Implement new API for Tiger in terms of Tiger API.
- (-[NSFileManager contentsOfDirectoryAtPath:error:]): Ditto.
- (-[NSFileManager moveItemAtPath:toPath:error:]): Ditto.
- (-[NSFileManager removeItemAtPath:error:]): Ditto.
- * Plugins/WebPluginDatabase.mm:
- (-[WebPluginDatabase _scanForNewPlugins]):
-
-2008-08-20 Josh Aas <joshmoz@gmail.com>
-
- Reviewed and landed by Anders.
-
- <rdar://problem/6163636>
- rename NPCocoaEvent's "event" struct to "data" (20446)
-
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- (WebNetscapePluginEventHandlerCocoa::drawRect):
- (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
- (WebNetscapePluginEventHandlerCocoa::flagsChanged):
- (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
- (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
- (WebNetscapePluginEventHandlerCocoa::focusChanged):
-
-2008-08-20 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for <rdar://problem/6145626>
- Allows a WebKit client to mark a frame as not-text-searchable
- through SPI.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _setExcludeFromTextSearch:]):
- * WebView/WebFramePrivate.h:
-
-2008-08-19 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Geoff Garen.
-
- Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
-
- * ForwardingHeaders/runtime/JSLock.h: Added.
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics shouldPrintExceptions]):
- (+[WebCoreStatistics setShouldPrintExceptions:]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream wantsAllStreams]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
- (-[WebBaseNetscapePluginView setWindowIfNecessary]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView createPluginScriptableObject]):
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- (-[WebBaseNetscapePluginView _printedPluginBitmap]):
- * Plugins/WebPluginController.mm:
- (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
- (-[WebPluginController startAllPlugins]):
- (-[WebPluginController stopAllPlugins]):
- (-[WebPluginController addPlugin:]):
- (-[WebPluginController destroyPlugin:]):
- (-[WebPluginController destroyAllPlugins]):
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView/WebView.mm:
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
-
-2008-08-19 Timothy Hatcher <timothy@apple.com>
-
- Fixes the Web Inspector flashing white while resizing after
- highlighting a page element. Calling disableScreenUpdatesUntilFlush
- when attaching and detaching the Inspector page highlight is bad,
- since the browser window might not flush again for a while. So screen
- updates could be disabled for long periods of time, causing backing store
- flashing while resizing. There is no need to call disableScreenUpdatesUntilFlush
- when attaching or detaching the child window.
-
- Reviewed by John Sullivan and Kevin McCullough.
-
- * WebInspector/WebNodeHighlight.m:
- (-[WebNodeHighlight attach]): Remove the call to disableScreenUpdatesUntilFlush.
- (-[WebNodeHighlight detach]): Ditto.
-
-2008-08-19 Timothy Hatcher <timothy@apple.com>
-
- Correctly remembers the attached state of the Web Inspector so
- it opens in that state for the next window, or next launch.
-
- Reviewed by Kevin McCullough.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController attach]): Set WebKitInspectorAttachedKey
- to YES in the user defaults.
- (-[WebInspectorWindowController detach]): Set WebKitInspectorAttachedKey
- to NO in the user defaults.
-
-2008-08-18 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=19347
- <rdar://problem/5977562> Input methods do not work after switching to a password field
- and back.
-
- Fix <rdar://problem/5522011> (The content of the password field of Safari is displayed by
- reconversion) in a different way which doesn't conflict with context caching performed
- by AppKit.
-
- This original bug does not really occur in ToT or shipping Safari under Mac OS X 10.5.4,
- because input methods are disabled in password fields. Attempting to reconvert text typed
- with Romaji only yields a string of bullets. Still, it is probably better to match Cocoa
- password field behavior and disable reconversion completely.
-
- * WebView/WebHTMLView.mm:
- (isInPasswordField): Factored out code to determine that the current selection is in
- a password field.
- (inputContext): Removed a hack that was breaking TSMGetActiveDocument().
- (-[WebHTMLView attributedSubstringFromRange:]): Check for password fields.
- (-[WebHTMLView textStorage]): Ditto.
-
-2008-08-12 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff.
-
- - eliminate JSValue::type()
-
- * WebView/WebView.mm:
- (aeDescFromJSValue): Rewrite to use the JSValue::is functions instead
- of a switch on JSValue::type().
-
-2008-08-17 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- Made room for a free word in JSCell.
-
- (Updated for JavaScriptCore changes.)
-
-2008-08-15 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Geoff Garen.
-
- <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
-
- * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
- between the Debug configuration and debug Production variant.
-
-2008-08-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen and Timothy Hatcher.
-
- Add WebView SPI to set HTMLTokenizer yielding parameters.
-
- * WebView/WebView.mm:
- (-[WebView _setCustomHTMLTokenizerTimeDelay:]):
- (-[WebView _setCustomHTMLTokenizerChunkSize:]):
- * WebView/WebViewPrivate.h:
-
-2008-08-13 Timothy Hatcher <timothy@apple.com>
-
- Fixes a bug where Safari's find banner would be permanently hidden
- when attaching or closing the Web Inspector while attached.
-
- https://bugs.webkit.org/show_bug.cgi?id=20376
-
- Reviewed by Kevin McCullough.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController close]):
- Carefully manipulate the WebFrameView's frame when closing to
- not assume the WebFrameView's frame fills the inspected WebView.
- (-[WebInspectorWindowController setAttachedWindowHeight:]):
- Carefully manipulate the WebFrameView's frame when docking to
- not assume the WebFrameView plus the Web Inspector WebViews fills
- the full inspected WebView.
-
-2008-08-13 Stephanie Lewis <slewis@apple.com>
-
- fix 64bit build
-
- * WebCoreSupport/WebInspectorClient.mm:
-
-2008-08-13 Timothy Hatcher <timothy@apple.com>
-
- Remember the docked state of the Web Inspector, so it can be
- reopened docked if it was last docked.
-
- https://bugs.webkit.org/show_bug.cgi?id=14271
-
- Reviewed by Kevin McCullough.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController init]): Initialize _shouldAttach
- to the value stored in the user defaults. If there has never
- been a value stored, default to being attached.
- (-[WebInspectorWindowController showWindow:]): Pass the attached
- state to InspectorController::setWindowVisible.
-
-2008-08-12 Timothy Hatcher <timothy@apple.com>
-
- Remove the Inspector's WebView for the view hierarchy when closed
- while attached. This prevents it from showing in the background
- while the page changes.
-
- Reviewed by Kevin McCullough.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController close:]): Call removeFromSuperview
- on the Inspector's WebView if it isn't attached, so it will not
- be visible when navigating pages while closed.
-
-2008-08-12 Timothy Hatcher <timothy@apple.com>
-
- Make the docked Web Inspector resizable.
-
- https://bugs.webkit.org/show_bug.cgi?id=14282
-
- Reviewed by Kevin McCullough.
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::setAttachedWindowHeight): Call setAttachedWindowHeight:
- on the WebInspectorWindowController.
- (-[WebInspectorWindowController showWindow:]): Call setAttachedWindowHeight:.
- (-[WebInspectorWindowController setAttachedWindowHeight:]): Moved code
- from showWindow: and generalized to allow being called multiple times.
- Remembers the last height passed, which is used by showWindow: the next
- time the Inspector attaches.
-
-2008-08-12 Timothy Hatcher <timothy@apple.com>
-
- Remove unneeded header imports from some Web Inspector files.
-
- Reviewed by Adam Roben.
-
- * WebCoreSupport/WebInspectorClient.mm:
- * WebInspector/WebInspector.mm:
- * WebInspector/WebNodeHighlightView.m:
-
-2008-08-12 Timothy Hatcher <timothy@apple.com>
-
- Remove the call to WKNSWindowMakeBottomCornersSquare on the
- Web Inspector's window. This isn't needed anymore since the
- window style masks used always have square bottom corners.
-
- Reviewed by Adam Roben.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController window]): Remove the call
- to WKNSWindowMakeBottomCornersSquare.
-
-2008-08-12 Timothy Hatcher <timothy@apple.com>
-
- Make attaching and detaching the Web Inspector instantaneous.
- This also preserves the current view, other state, and keeps
- the script debugger attached.
-
- https://bugs.webkit.org/show_bug.cgi?id=19301
-
- Reviewed by Adam Roben.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController close]): Only call setWindowVisible(false)
- when not moving windows.
-
-2008-08-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - replace -[WebPreferences updatesWhenOffscreen] with -[WebView shouldUpdateWhileHidden]
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
- * WebView/WebFrame.mm:
- (-[WebFrame _updateBackgroundAndUpdatesWhileHidden]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView windowWillOrderOnScreen:]):
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebViewPrivate init]):
- (-[WebView _preferencesChangedNotification:]):
- (-[WebView setBackgroundColor:]):
- (-[WebView setDrawsBackground:]):
- (-[WebView shouldUpdateWhileHidden]):
- (-[WebView setShouldUpdateWhileHidden:]):
- * WebView/WebViewPrivate.h:
-
-2008-08-08 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - fix <rdar://problem/6130216> Exception "windowRegionBeingDrawn != nil" in NSView when caching image of a subframe
-
- This change reintroduces <https://bugs.webkit.org/show_bug.cgi?id=5195> on Leopard.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]): Removed an
- unsuccessful workaround for <rdar://problem/5668489>, because invoking
- layout may change the view hierarchy during the drawing operation,
- which is not supported on Leopard.
-
-2008-08-08 Maxime Britto <britto@apple.com>
-
- Reviewed by Adele.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _scrollDOMRangeToVisible:]):
-
-2008-08-08 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- Fix for <rdar://problem/5865504>
-
- This bug was actually *largely* fixed by http://trac.webkit.org/changeset/35538.
- But with that same patch, it became possible for a WebResource to fail to initialize.
- Therefore we were trying to add nil to an NSCFArray for certain situations, which is bad.
- Lets fix that, shall we?
-
- * WebView/WebArchive.mm:
- (-[WebArchive subresources]):
-
-2008-08-06 Eric Seidel <eric@webkit.org>
-
- Reviewed by Cameron Zwarich.
-
- Move more methods from Frame into ScriptController
- https://bugs.webkit.org/show_bug.cgi?id=20294
-
- The WebKit side of this move. Calls to frame() are now frame()->script()
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView getVariable:value:]):
- (-[WebBaseNetscapePluginView _destroyPlugin]):
- * Plugins/WebPluginController.mm:
- (-[WebPluginController destroyPlugin:]):
- (-[WebPluginController destroyAllPlugins]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebView/WebFrame.mm:
- (-[WebFrame windowObject]):
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::callEvent):
- * WebView/WebView.mm:
- (-[WebView windowScriptObject]):
-
-2008-08-06 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- - fix an assertion failure in Cache::setCapacities()
-
- * Misc/WebKitSystemBits.h: Changed the return type of WebMemorySize()
- to uint64_t.
- * Misc/WebKitSystemBits.m:
- (WebMemorySize):
- * WebView/WebView.mm:
- (+[WebView _setCacheModel:]):
-
-2008-08-05 Anders Carlsson <andersca@apple.com>
-
- Pass in the correct class here.
-
- * WebView/WebResource.mm:
- (-[WebResourcePrivate dealloc]):
-
-2008-08-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/6037398>
- ER: Deallocate WebKit objects on the main thread, even if released on secondary thread
-
- Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose.
-
- * Carbon/CarbonWindowAdapter.m:
- (-[CarbonWindowAdapter dealloc]):
- * History/WebBackForwardList.mm:
- (-[WebBackForwardList dealloc]):
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem dealloc]):
- * Misc/WebElementDictionary.mm:
- (+[WebElementDictionary initialize]):
- (-[WebElementDictionary dealloc]):
- * WebCoreSupport/WebEditorClient.mm:
- (-[WebEditCommand dealloc]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebView/WebArchive.mm:
- (-[WebArchivePrivate dealloc]):
- * WebView/WebDataSource.mm:
- (-[WebDataSourcePrivate dealloc]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLViewPrivate dealloc]):
- (-[WebHTMLView dealloc]):
- * WebView/WebResource.mm:
- (-[WebResourcePrivate dealloc]):
-
-2008-08-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Remove MainThreadObjectDeallocator.{h|mm}.
-
- * WebView/MainThreadObjectDeallocator.h: Removed.
- * WebView/MainThreadObjectDeallocator.mm: Removed.
-
- * WebView/WebView.mm:
- (-[WebView dealloc]):
- Call WebCoreObjCScheduleDeallocateOnMainThread instead.
-
-2008-08-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Make the main thread object deallocator work with subclasses.
-
- * WebView/MainThreadObjectDeallocator.h:
- * WebView/MainThreadObjectDeallocator.mm:
- (deallocCallback):
- Call the correct dealloc method.
-
- (scheduleDeallocateOnMainThread):
- Store both the class and the instance, so we know which dealloc method to call.
-
- * WebView/WebView.mm:
- (-[WebViewPrivate dealloc]):
- Schedule deallocation on the main thread.
-
-2008-08-05 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe and Anders Carlsson.
-
- - fix WebMemorySize() reporting a value capped at 2GB
-
- * misc/WebKitSystemBits.m:
- (WebMemorySize): Changed to return the max_mem field, which, unlike
- memory_size, is not capped at 2GB.
- * WebView/WebView.mm:
- (+[WebView _setCacheModel:]): Made the cache sizes for over 2GB RAM the
- same as for 2GB, so that behavior on machines that have more than 2GB
- RAM is not affected by the fix to WebMemorySize().
-
-2008-08-04 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- * WebView/WebHTMLView.mm:
-
-2008-08-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Kevin Decker.
-
- Adopt the formal protocols where necessary.
- Final part of fix for <rdar://problem/5853147>.
-
- * WebCoreSupport/WebInspectorClient.mm:
- * WebView/WebHTMLView.mm:
- * WebView/WebView.mm:
- (-[WebView _openFrameInNewWindowFromMenu:]):
-
-2008-08-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- Declare empty protocols when using versions of AppKit that do not use formal protocols for delegates and data sources.
- Part one of fix for <rdar://problem/5853147>.
-
- * Misc/EmptyProtocolDefinitions.h:
- * WebKitPrefix.h:
-
-2008-08-04 Brady Eidson <beidson@apple.com>
-
- Reviewed by Mitz Pettel
-
- Fix <rdar://problem/5820157> - Saving WebArchives of Mail attachments broken.
-
- This broke in r31355 when we stopped returning nil WebResources when there was nil
- resource data.
-
- * WebView/WebResource.mm:
- (-[WebResource _initWithCoreResource:]): Restore previous behavior of returning nil
- when the resource data is null.
-
-2008-08-02 Matt Lilek <webkit@mattlilek.com>
-
- Reviewed by Tim Hatcher.
-
- Update the window gradient offset to match the inspector toolbar's new height.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController window]):
-
-2008-08-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Jon.
-
- <rdar://problem/6120206>
- Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
-
- Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream wantsAllStreams]):
-
-2008-07-31 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5949410>
- Add the ability to transfer a given application cache to a new database.
-
- * Misc/WebKitNSStringExtras.h:
- * Misc/WebKitNSStringExtras.m:
- (+[NSString _webkit_applicationCacheDirectoryWithBundleIdentifier:]):
- New method which returns the appopriate cache directory for a given bundle identifier.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource _transferApplicationCache:]):
- Transfer the application cache.
-
- * WebView/WebDataSourcePrivate.h:
- * WebView/WebView.mm:
- (WebKitInitializeApplicationCachePathIfNecessary):
- Change this to use _webkit_applicationCacheDirectoryWithBundleIdentifier.
-
-2008-07-31 John Sullivan <sullivan@apple.com>
-
- WebKit part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs
-
- Reviewed by Hyatt
-
- * WebView/WebPreferenceKeysPrivate.h:
- added WebKitZoomsTextOnlyPreferenceKey
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- default value of YES for WebKitZoomsTextOnlyPreferenceKey
- (-[WebPreferences zoomsTextOnly]):
- getter for WebKitZoomsTextOnlyPreferenceKey
- (-[WebPreferences setZoomsTextOnly:]):
- setter for WebKitZoomsTextOnlyPreferenceKey
-
- * WebView/WebPreferencesPrivate.h:
- declare zoomsTextOnly/setZoomsTextOnly:
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
- update WebCore::Settings value for zoomsTextOnly
-
-2008-07-31 David D. Kilzer <ddkilzer@webkit.org>
-
- Fix layout test results for webarchive/test-xml-stylesheet.xml
-
- Reviewed by Darin Adler.
-
- Needed to expose -[WebHTMLRepresentation supportedNonImageMIMETypes]
- for DumpRenderTree.
-
- * WebView/WebHTMLRepresentationInternal.h: Added.
-
-2008-07-31 Alexey Proskuryakov <ap@webkit.org>
-
- Release build fix.
-
- * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView setWindowIfNecessary]):
- Don't define to npErr in release builds, as it is only used for logging.
-
-2008-07-31 John Sullivan <sullivan@apple.com>
-
- Fixed <https://bugs.webkit.org/show_bug.cgi?id=5195>
- drawing with cacheDisplayInRect:toBitmapImageRep: doesn't trigger layout on Leopard
-
- Reviewed by Dan
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
- include Leopard in the #ifdef that forces a layout if needed
-
-2008-07-30 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam and Hyatt
-
- Fix for <rdar://problem/6099748>
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Set the "don't enforce CSS mime type in strict mode"
- quirk when running under iWeb 2
-
-2008-07-31 Alexey Proskuryakov <ap@webkit.org>
-
- Rubber-stamped by Maciej.
-
- Eliminate JSLock (it was already disabled, removing the stub implementaion and all
- call sites now).
-
- * ForwardingHeaders/runtime/JSLock.h: Removed.
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics shouldPrintExceptions]):
- (+[WebCoreStatistics setShouldPrintExceptions:]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream wantsAllStreams]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
- (-[WebBaseNetscapePluginView setWindowIfNecessary]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView createPluginScriptableObject]):
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- (-[WebBaseNetscapePluginView _printedPluginBitmap]):
- * Plugins/WebPluginController.mm:
- (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
- (-[WebPluginController startAllPlugins]):
- (-[WebPluginController stopAllPlugins]):
- (-[WebPluginController addPlugin:]):
- (-[WebPluginController destroyPlugin:]):
- (-[WebPluginController destroyAllPlugins]):
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView/WebView.mm:
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
-
-2008-07-30 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Fixes <rdar://problem/6041390>
-
- Adds the ability to have a frame that is "disconnected" from the
- main frame from the perspective of top and parent in
- Javascript.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _setIsDisconnectedFrame]):
- * WebView/WebFramePrivate.h:
-
-2008-07-29 Mark Rowe <mrowe@apple.com>
-
- Tweak to the build fix to keep Dan happy.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- * WebView/WebHTMLView.mm:
-
-2008-07-29 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView inputContext]):
- * WebView/WebHTMLView.mm:
-
-2008-07-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Based on a patch by Dimcho Balev.
-
- https://bugs.webkit.org/show_bug.cgi?id=18676
- <rdar://problem/6106578>
- Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
-
- * Plugins/WebBaseNetscapePluginStream.h:
- Add NPP_GetValue pointer.
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream setPlugin:]):
- Initialize NPP_GetValue.
-
- (-[WebBaseNetscapePluginStream wantsAllStreams]):
- Call NPP_GetValue.
-
- * Plugins/WebPlugInStreamLoaderDelegate.h:
- * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h:
- * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm:
- (WebNetscapePlugInStreamLoaderClient::wantsAllStreams):
- Implement this and call down to the stream.
-
-2008-07-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/6105529>
- https://bugs.webkit.org/show_bug.cgi?id=19659
- Turning off plugins causes crash
-
- When an active page has plug-ins, and plug-ins are disabled, they will be stopped and will
- end up in a state where they don't have an event handler. Because of this, we need to
- check that the plug-in has been started before calling the event handler.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView sendActivateEvent:]):
- (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
- (-[WebBaseNetscapePluginView setHasFocus:]):
- (-[WebBaseNetscapePluginView mouseDown:]):
- (-[WebBaseNetscapePluginView mouseUp:]):
- (-[WebBaseNetscapePluginView mouseEntered:]):
- (-[WebBaseNetscapePluginView mouseExited:]):
- (-[WebBaseNetscapePluginView handleMouseMoved:]):
- (-[WebBaseNetscapePluginView mouseDragged:]):
- (-[WebBaseNetscapePluginView scrollWheel:]):
- (-[WebBaseNetscapePluginView keyUp:]):
- (-[WebBaseNetscapePluginView keyDown:]):
- (-[WebBaseNetscapePluginView flagsChanged:]):
- (-[WebBaseNetscapePluginView cut:]):
- (-[WebBaseNetscapePluginView copy:]):
- (-[WebBaseNetscapePluginView paste:]):
- (-[WebBaseNetscapePluginView selectAll:]):
- (-[WebBaseNetscapePluginView drawRect:]):
- (-[WebBaseNetscapePluginView inputContext]):
-
-2008-07-26 Daniel Jalkut <jalkut@red-sweater.com>
-
- Reviewed by Geoff Garen.
-
- Changes to accommodate newly named/signatured loading methods in WebCore.
-
- * Plugins/WebNetscapePluginStream.mm:
- (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
- * Plugins/WebPluginContainerCheck.mm:
- (-[WebPluginContainerCheck _isForbiddenFileLoad]):
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
-
-2008-07-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
-
- * Configurations/Version.xcconfig:
- * Info.plist:
-
-2008-07-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoff.
-
- <rdar://problem/5820667>
- CrashTracer: [USER] 3759 crashes in Safari at FrameLoader::activeDocumentLoader const + 6 while canceling plug-in load
-
- Don't allow URLs to be loaded in response to an NPP_DestroyStream that happens when tearing down the plug-in.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
-
-2008-07-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Adam Roben.
-
- <rdar://problem/5624143> WebView printing doesn't work correctly in x86_64
-
- Fix the return type of an NSView method that we override so that the correct data type is used in 64-bit.
- This prevents a garbage value being used for the scale factor that the NSView print machinery applies.
-
- * WebView/WebHTMLView.mm:
-
-2008-07-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Adam Roben.
-
- Fix CallDelegateReturningFloat for x86_64. The x86_64 Objective-C runtime
- only uses objc_msgSend_fpret for long double return values. For float return
- values the standard objc_msgSend is used, as on ppc and ppc64.
-
- * WebView/WebView.mm: Use objc_msgSend_float_return as the name of our version of
- objc_msgSend with the correct return type. We can no longer call it objc_msgSend_fpret
- as that method is defined by the Objective-C runtime for x86_64.
- (CallDelegateReturningFloat):
-
-2008-07-14 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - WebKit part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Changed
- to account for the case of being drawn into a bitmap context that is not
- a window's backing store. In that case, there are no valid "rects being
- drawn" to clip to.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
- Added an override of this NSView method which is used in for
- -cacheDisplayInRect:toBitmapImageRep:. Like two existing NSView drawing
- machinery overrides, it sets subviews aside before invoking the
- superclass implementation. On Tiger, it also updates the layout.
-
-2008-07-14 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Geoff Garen.
-
- Eliminate per-thread JavaScript global data instance support and make arbitrary
- global data/global object combinations possible.
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- Ask WebCore for its instance of JSGlobalData, now that it is not in per-thread storage.
-
-2008-07-11 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Darin Adler.
-
- Disable WTF leak messages when using fast teardown. Use full document teardown while running in debug.
-
- * WebView/WebPreferences.m: Removed.
- * WebView/WebPreferences.mm: Copied from http:/svn.webkit.org/repository/webkit/trunk/WebKit/mac/WebView/WebPreferences.m.
- (+[WebPreferences initialize]): if running in Default enable full document teardown
- (-[WebPreferences editableLinkBehavior]):
- (-[WebPreferences setFullDocumentTeardownEnabled:]):
- * WebView/WebView.mm:
- (-[WebView _close]): disable leak messages if using fast teardown
-
-2008-07-10 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
-
- * Configurations/WebKit.xcconfig:
-
-2008-07-10 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix the Tiger build by omitting annotations from methods declared in categories when using old versions of GCC.
-
- * Plugins/WebPlugin.h: Wrap annotations on methods declared in categories in the WEBKIT_CATEGORY_METHOD_ANNOTATION macro.
- * WebView/WebFrameLoadDelegate.h: Ditto.
- * WebView/WebUIDelegate.h: Ditto.
-
-2008-07-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark.
-
- Add availability macros for the new WebPlugin methods.
-
- * Plugins/WebPlugin.h:
- * Plugins/WebPluginViewFactory.h:
-
-2008-07-09 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Geoff Garen.
-
- Don't warn about deprecated functions in production builds.
-
- * Configurations/Base.xcconfig:
- * Configurations/DebugRelease.xcconfig:
-
-2008-07-09 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
- has been installed in a frame tree.
-
- The root of this problem was that calling init() on a new frame could end up calling arbitrary
- javascript that might end up removing the frame from the tree. This opened up a small can of worms
- such as the frame not having yet been installed in its frame tree, and other assumed behavior while
- destroying the frame.
-
- Note that each platforms WebKit API layer needs to make this new guarantee:
- "The new Frame must be installed in its FrameTree before newCoreFrame->init() is called"
- I am fixing Mac, and Windows and GTK already have this property. Wx currently has subframes disabled
- but will need to add this guarantee when re-enabling, and Qt is currently vulnerable to this same bug.
-
- Alternately, the way frames are created right now is roundabout and asinine, and this is a key
- architectural improvement we can make in the future so the individual platform clients are no longer
- vulnerable to this problem, which should really have been a WebCore issue.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createFrame): Don't bother null checking the newCoreFrame - can't be NULL.
- Don't appendChild() the new frame here.
- Null-check the new frame's page before loading the URL into it, as it might already have been
- removed from the page.
-
- * WebView/WebFrame.mm:
- (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): If there is an ownerElement,
- go ahead and install the new frame in the frame tree *before* calling init() on it.
-
-2008-07-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Make some WebPlugin and WebPluginFactory SPI public.
-
- * Plugins/WebPlugin.h:
- * Plugins/WebPluginPrivate.h:
- * Plugins/WebPluginViewFactory.h:
- * Plugins/WebPluginViewFactoryPrivate.h:
-
-2008-07-08 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Anders.
-
- Port r34988 to Mac: don't call NPP_DestroyStream if NPP_NewStream was
- unsuccessful.
-
- * Plugins/WebBaseNetscapePluginStream.h: Added new member,
- newStreamSuccessful.
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): Initialize new member.
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): If NPP_NewStream is successful, set
- newStreamSuccessful to YES.
- (-[WebBaseNetscapePluginStream _destroyStream]): Only call
- NPP_DestroyStream if newStreamSuccessful is true.
-
-2008-07-08 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - WebKit part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView addWindowObservers]): Added code to observe when the
- window goes onscreen.
- (-[WebHTMLView removeWindowObservers]): Added.
- (-[WebHTMLView windowWillOrderOnScreen:]): Added. If the view is set to
- not update when offscreen, calls -setNeedsDisplay: just before it comes
- onscreen.
- * WebView/WebPreferenceKeysPrivate.h: Added preference key.
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]): Made updates when offscreen on by
- default.
- (-[WebPreferences updatesWhenOffscreen]): Added.
- (-[WebPreferences setUpdatesWhenOffscreen:]): Added.
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Added code to update the
- updatesWhenOffscreen setting in WebCore.
-
-2008-07-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Speculative fix for
- <rdar://problem/5839800>
- CrashTracer: [USER] 5802 crashes in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
-
- Set _private->closed to YES before calling -[WebPluginController destroyAllPlugins].
-
- My theory is that the plug-in destruction callbacks could end up rescheduling timers or re-adding notifications.
- This is usually protected by _private->closed, but in this case it might still be false.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView close]):
-
-2008-07-05 Mark Rowe <mrowe@apple.com>
-
- Reviewed by John Sullivan.
-
- Remove WebSearchableTextView as it has been unused for some time now.
-
- * Misc/WebSearchableTextView.h: Removed.
- * Misc/WebSearchableTextView.m: Removed.
-
-2008-07-05 Mark Rowe <mrowe@apple.com>
-
- Reviewed by John Sullivan.
-
- Don't leak the result of WKCopyCFLocalizationPreferredName when running under GC.
-
- * Misc/WebNSUserDefaultsExtras.m:
- (-[NSString _webkit_HTTPStyleLanguageCode]):
-
-2008-07-02 Alexey Proskuryakov <ap@webkit.org>
-
- Inspired and reviewed by Mark Rowe.
-
- Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
-
- * Carbon/HIViewAdapter.m:
- * DOM/WebDOMOperations.mm:
- * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
- * DefaultDelegates/WebDefaultPolicyDelegate.m:
- * History/WebBackForwardList.mm:
- * History/WebHistory.mm:
- * History/WebHistoryItem.mm:
- * History/WebHistoryItemInternal.h:
- * Misc/WebCoreStatistics.mm:
- * Misc/WebDownload.m:
- * Misc/WebGraphicsExtras.c:
- * Misc/WebKitLogging.h:
- * Misc/WebKitSystemBits.m:
- * Misc/WebLocalizableStrings.m:
- * Misc/WebNSArrayExtras.m:
- * Misc/WebNSDataExtras.m:
- * Misc/WebNSDictionaryExtras.m:
- * Misc/WebNSFileManagerExtras.m:
- * Misc/WebNSPasteboardExtras.mm:
- * Misc/WebNSURLExtras.mm:
- * Misc/WebNSUserDefaultsExtras.m:
- * Panels/WebAuthenticationPanel.m:
- * Panels/WebPanelAuthenticationHandler.m:
- * Plugins/WebBaseNetscapePluginView.mm:
- * Plugins/WebBasePluginPackage.m:
- * Plugins/WebNetscapePluginEmbeddedView.mm:
- * Plugins/WebPluginContainerCheck.mm:
- * Plugins/WebPluginController.mm:
- * Plugins/WebPluginDatabase.mm:
- * WebCoreSupport/WebJavaScriptTextInputPanel.m:
- * WebCoreSupport/WebKeyGenerator.m:
- * WebCoreSupport/WebViewFactory.mm:
- * WebKitPrefix.h:
- * WebView/WebHTMLRepresentation.mm:
- * WebView/WebPDFRepresentation.m:
- * WebView/WebPDFView.mm:
- * WebView/WebScriptDebugger.mm:
-
-2008-07-01 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- Disable JSLock for per-thread contexts.
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics shouldPrintExceptions]):
- (+[WebCoreStatistics setShouldPrintExceptions:]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
- (-[WebBaseNetscapePluginView setWindowIfNecessary]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView createPluginScriptableObject]):
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- (-[WebBaseNetscapePluginView _printedPluginBitmap]):
- * Plugins/WebPluginController.mm:
- (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
- (-[WebPluginController startAllPlugins]):
- (-[WebPluginController stopAllPlugins]):
- (-[WebPluginController addPlugin:]):
- (-[WebPluginController destroyPlugin:]):
- (-[WebPluginController destroyAllPlugins]):
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView/WebView.mm:
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
- Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebKit
- doesn't need locking. In the future, it may be possible to remove some of these if we
- establish that this won't make JSC assertions fail (and that we don't want to add such
- assertions either).
- Added includes that are now needed.
-
-2008-07-01 Kevin McCullough <kmccullough@apple.com>
-
- Build fix.
-
- * WebView/WebView.mm:
-
-2008-07-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Use the PluginMainThreadScheduler, and implement NPN_PluginThreadAsyncCall.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView _createPlugin]):
- Register the plug-in instance.
-
- (-[WebBaseNetscapePluginView _destroyPlugin]):
- Unegister the plug-in instance.
-
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
- Set NPN_PluginThreadAsyncCall.
-
- * Plugins/npapi.mm:
- (NPN_PluginThreadAsyncCall):
- Implement this.
-
-2008-07-01 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - WebKit part of moving the method to set the base writing direction from Frame to Editor
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView toggleBaseWritingDirection:]): Changed back to call the
- Editor method.
- (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
- (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
-
-2008-07-01 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: forgot to check in this file.
-
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::WebScriptDebugger):
-
-2008-06-30 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adele Peterson.
-
- - WebKit/mac part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
- WebCore::Frame::setSelectionBaseWritingDirection() instead of
- WebCore::Editor::setBaseWritingDirection().
- (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
- (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
-
-2008-06-28 Darin Adler <darin@apple.com>
-
- - fix build
-
- * WebView/WebView.mm:
- (aeDescFromJSValue): Use get instead of getItem, which no longer exists.
-
-2008-06-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Add a new MainThreadObjectDeallocator which can schedule dealloc calls on the main thread
- if necessary. Use this for the WebView class.
-
- * WebView/MainThreadObjectDeallocator.h: Added.
- * WebView/MainThreadObjectDeallocator.mm: Added.
- (deallocCallback):
- (scheduleDeallocateOnMainThread):
- * WebView/WebView.mm:
- (-[WebViewPrivate dealloc]):
- (+[WebView initialize]):
-
-2008-06-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark.
-
- <rdar://problem/5984270>
- REGRESSION (Tiger only) : Mail crashes because message load is being processed on a secondary thread
-
- * WebView/WebView.mm:
- (tigerMailReleaseIMP):
- New method that makes sure that the final release happens on the main thread.
-
- (-[WebView release]):
- New method that just calls [super release];
-
- (+[WebView initialize]):
- When running under Tiger mail, replace the release method with tigerMailReleaseIMP.
-
-2008-06-19 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Geoff.
-
- Make Machine per-JSGlobalData.
-
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::WebScriptDebugger):
-
-2008-06-17 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- Prepare JavaScript heap for being per-thread.
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- Use JSGlobalData::threadInstance()->heap instead of static Collector calls.
-
-2008-06-17 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Use create instead of new
- to create a CSSMutableStyleDeclaration.
-
-2008-06-16 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5951874> WebHTMLHighlighter mistakenly gained two new methods, causing compile warnings
-
- _pauseNullEventsForAllNetscapePlugins and _resumeNullEventsForAllNetscapePlugins ended up being declared both in
- WebHTMLViewInternal.h and as members of the WebHTMLHighlighter protocol in WebHTMLViewPrivate.h. They don't belong
- in the protocol, but they do need to be available outside of WebKit so they're being moved to the correct location
- in WebHTMLViewPrivate.h and removed from WebHTMLViewInternal.h.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
- (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebHTMLViewPrivate.h:
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- - give Frame object functions shorter names: scriptProxy() -> script(),
- selectionController() -> selection(), animationController() -> animation()
-
- * Plugins/WebPluginController.mm:
- (-[WebPluginController webPlugInContainerSelectionColor]):
- * WebView/WebFrame.mm:
- (-[WebFrame _attachScriptDebugger]):
- (-[WebFrame _hasSelection]):
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
- (-[WebFrame _convertToNSRange:]):
- (-[WebFrame _convertToDOMRange:]):
- (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
- (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
- (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
- (-[WebFrame _selectedNSRange]):
- (-[WebFrame _selectNSRange:]):
- (-[WebFrame globalContext]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _selectedRange]):
- (-[WebHTMLView _hasSelection]):
- (-[WebHTMLView _hasSelectionOrInsertionPoint]):
- (-[WebHTMLView _hasInsertionPoint]):
- (-[WebHTMLView _isEditable]):
- (-[WebHTMLView _updateFocusedAndActiveState]):
- (-[WebHTMLView readSelectionFromPasteboard:]):
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
- (-[WebHTMLView maintainsInactiveSelection]):
- (-[WebHTMLView paste:]):
- (isTextInput):
- (-[WebHTMLView inputContext]):
- (-[WebTextCompleteController doCompletion]):
- (-[WebHTMLView selectAll]):
- (-[WebHTMLView deselectAll]):
- (-[WebHTMLView selectedAttributedString]):
- * WebView/WebView.mm:
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
- (-[WebView setSelectedDOMRange:affinity:]):
- (-[WebView selectedDOMRange]):
- (-[WebView selectionAffinity]):
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- - rename KJS::List to KJS::ArgList
-
- * WebView/WebScriptDebugger.h:
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- - new names for more JavaScriptCore files
-
- * WebView/WebView.mm:
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- - new names for a few key JavaScriptCore files
-
- * ForwardingHeaders/kjs/JSFunction.h: Copied from WebKit/mac/ForwardingHeaders/kjs/function.h.
- * ForwardingHeaders/kjs/JSObject.h: Copied from WebKit/mac/ForwardingHeaders/kjs/object.h.
- * ForwardingHeaders/kjs/JSString.h: Copied from WebKit/mac/ForwardingHeaders/kjs/internal.h.
- * ForwardingHeaders/kjs/JSValue.h: Copied from WebKit/mac/ForwardingHeaders/kjs/value.h.
- * ForwardingHeaders/kjs/function.h: Removed.
- * ForwardingHeaders/kjs/internal.h: Removed.
- * ForwardingHeaders/kjs/object.h: Removed.
- * ForwardingHeaders/kjs/value.h: Removed.
- * WebView/WebScriptDebugDelegate.mm:
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- Rubber stamped by Sam.
-
- - use JS prefix and simpler names for basic JavaScriptCore types,
- to complement JSValue and JSObject
-
- * WebView/WebView.mm:
- (aeDescFromJSValue):
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- Rubber stamped by Sam.
-
- - new names for kjs_binding.h and kjs_proxy.h
-
- * WebView/WebFrame.mm:
- * WebView/WebScriptDebugDelegate.mm:
- * WebView/WebView.mm:
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- Rubber stamped by Sam.
-
- - renamed HTMLGenericFormElement to HTMLFormControlElement
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation elementWithName:inForm:]):
- (-[WebHTMLRepresentation controlsInForm:]):
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - more of https://bugs.webkit.org/show_bug.cgi?id=17257
- start ref counts at 1 instead of 0 for speed
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createDocumentLoader): Use create instead of new.
- (WebFrameLoaderClient::createFrame): Remove now-obsolete adoptRef that was balanced by
- a ref call inside the Frame constructor. The lifetime rules for Frame are now the
- conventional ones without a special case.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource _initWithDocumentLoader:]): Changed argument to be a PassRefPtr, since
- this function takes ownership of the DocumentLoader.
- (-[WebDataSource initWithRequest:]): Use create instead of new.
- * WebView/WebDataSourceInternal.h: Changed _initWithDocumentLoader argument to be a
- PassRefPtr and also cleaned up the header a bit.
-
- * WebView/WebDocumentLoaderMac.h:
- (WebDocumentLoaderMac::create): Added. Also made the constructor and a couple of virtual
- functions private.
-
- * WebView/WebFrame.mm:
- (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Use create instead
- of new.
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
- start ref counts at 1 instead of 0 for speed
-
- * WebView/WebFrame.mm:
- (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
-
-2008-06-13 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - updated for addition of FormState argument to action policy functions
- - added WebActionFormKey
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
- (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- (WebFrameLoaderClient::actionDictionary):
- * WebKit.exp:
- * WebView/WebPolicyDelegate.mm:
- * WebView/WebPolicyDelegatePrivate.h:
-
-2008-06-12 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dan and Darin
-
- Clear up the confusion about _close (older private method) vs -close (newer public method).
-
- * WebView/WebView.mm:
- (-[WebView _isClosed]):
- simplified style
- (-[WebView _close]):
- added a comment about how clients and subclasses should use -close instead
- (-[WebView dealloc]):
- call -close instead of _close, so subclasses that override the public method will have the intended behavior
- (-[WebView close]):
- added a comment
- (-[WebView _windowWillClose:]):
- call -close instead of _close, so subclasses that override the public method will have the intended behavior
-
- * WebView/WebViewPrivate.h:
- added a comment about how clients and subclasses should use -close instead
-
-2008-06-07 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - work on https://bugs.webkit.org/show_bug.cgi?id=17257
- start ref counts at 1 instead of 0 for speed
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem init]):
- (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
- (-[WebHistoryItem initWithURL:target:parent:title:]):
- (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
- * WebView/WebView.mm:
- (+[WebView _decodeData:]):
-
-2008-06-03 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Tim.
-
- Bug 12983: Web Inspector break on the debugger keyword
- <https://bugs.webkit.org/show_bug.cgi?id=12983>
-
- Add stubs to allow old webkit debugger interface to build.
-
- * WebView/WebScriptDebugger.h:
- * WebView/WebScriptDebugger.mm:
-
-2008-06-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5980961>
-
- In 64-bit Web Kit, converting between float and double, can cause rounding errors which in turn causes
- newBottom to be larger than oldBottom which is illegal.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
-
-2008-06-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mitz.
-
- Speculative fix for <rdar://problem/5661112>
- CrashTracer: [USER] 49 crashes in DashboardClient at com.apple.WebCore: WebCore::RenderPart::setWidget + 62
-
- Defer loads while calling NPP_New. Some plug-ins start a run-loop inside NPP_New and finished loads could cause
- layouts to be triggered.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView _createPlugin]):
-
-2008-05-29 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5949462> REGRESSION: Can't paste screen captures into Mail
-
- AppKit started putting PNG instead of PICT onto the pasteboard for screen
- captures. Added support for PNG with kUTTypePNG. Tiger doesn't support
- setting and retrieving pasteboard types with UTIs, but we don't know of any
- applications on Tiger that put only PNG on the pasteboard.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
- (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
-
-2008-05-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Brady.
-
- <rdar://problem/5970312>
- icon file specified for stand alone web app causes crash if the icon can't be found
-
- Handle the case where iconData is null.
-
- * Misc/WebIconFetcher.mm:
- (WebIconFetcherClient::finishedFetchingIcon):
-
-2008-05-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mitz.
-
- <rdar://problem/5971845>
- https://bugs.webkit.org/show_bug.cgi?id=19313
- Add version member to NPCocoaEvent
-
- Initialize the version member to 0 for all events.
-
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- (initializeEvent):
- (WebNetscapePluginEventHandlerCocoa::drawRect):
- (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
- (WebNetscapePluginEventHandlerCocoa::flagsChanged):
- (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
- (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
- (WebNetscapePluginEventHandlerCocoa::focusChanged):
-
-2008-05-29 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Jessica Kahn.
-
- - fix <rdar://problem/5965013> Page 2 does not print correctly
-
- When printing, _recursiveDisplayRectIfNeededIgnoringOpacity:... and
- _recursiveDisplayAllDirtyWithLockFocus:... can be invoked without
- -viewWillDraw being sent first, which could lead to painting without
- valid layout. The fix is to ensure up-to-date layout in those methods
- when printing.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
-
-2008-05-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Jon.
-
- Remove workaround, this is no longer a problem.
-
- * WebView/WebView.mm:
- (-[WebView _removeObjectForIdentifier:]):
-
-2008-05-27 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
- REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
- clicking button in returnEvent-crash.html
-
- Added implementations for willExecuteProgram and didExecuteProgram, which
- take care of making sure we're not hanging on to stale data.
-
-2008-05-27 Timothy Hatcher <timothy@apple.com>
-
- Fixes a bug where unplugging the monitor from a video card and
- moving it to another video card would no longer show OpenGL plugins
- until you relaunched Safari.
-
- <rdar://problem/5790983> Add AllowOfflineDisplays pixel format
- attribute to OpenGL contexts
-
- Reviewed by Kevin Decker.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView _createWindowedAGLContext]): Added
- AGL_ALLOW_OFFLINE_RENDERERS for non-Tiger builds.
- (-[WebBaseNetscapePluginView _createWindowlessAGLContext]): Ditto.
-
-2008-05-25 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5840884> _recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
-
- Follow-up for r33052. _recursive_resumeNullEventsForAllNetscapePlugins and _recursive_pauseNullEventsForAllNetscapePlugins
- need to be declared in WebFramePrivate.h rather than WebFrameInternal.h so they can be used from outside of WebKit.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
- (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFramePrivate.h:
-
-2008-05-23 Timothy Hatcher <timothy@apple.com>
-
- Fix attaching and detaching the Web Inspector. This change removes
- the clunky animation that never looked right and was causing issues
- where the inspected WebView would get into a no useable state.
-
- <rdar://problem/5958812> Attaching and Detaching the Web Inspector
- can cause the inspected WebVIew to be unusable
-
- Reviewed by Adam Roben.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController close]): Removes animation code.
- Sets the frame directly and does a displayIfNeeded to prevent
- showing the Inspector in the page and in the Inspector window.
- (-[WebInspectorWindowController showWindow:]): Removes animation code.
- Sets the frame directly.
- (-[WebInspectorWindowController attach]): Simplified.
- (-[WebInspectorWindowController detach]): Ditto.
-
-2008-05-22 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - fix broken documentation of
- webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
-
- * WebView/WebUIDelegate.h: Fixed method name in HeaderDoc for
- -webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
-
-2008-05-22 Timothy Hatcher <timothy@apple.com>
-
- <rdar://problem/5956403> Update the Develop menu to match the new Inspector items
-
- Reviewed by Adam Roben.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController showWebInspector:]):
- (-[WebInspectorWindowController showErrorConsole:]):
- (-[WebInspectorWindowController toggleDebuggingJavaScript:]):
- (-[WebInspectorWindowController toggleProfilingJavaScript:]):
- (-[WebInspectorWindowController validateUserInterfaceItem:]):
- * WebInspector/WebInspector.h:
- * WebInspector/WebInspector.mm:
- (-[WebInspector showConsole:]):
- (-[WebInspector showTimeline:]):
- (-[WebInspector isDebuggingJavaScript]):
- (-[WebInspector toggleDebuggingJavaScript:]):
- (-[WebInspector startDebuggingJavaScript:]):
- (-[WebInspector stopDebuggingJavaScript:]):
- (-[WebInspector isProfilingJavaScript]):
- (-[WebInspector toggleProfilingJavaScript:]):
- (-[WebInspector startProfilingJavaScript:]):
- (-[WebInspector stopProfilingJavaScript:]):
-
-2008-05-22 Josh Aas <joshmoz@gmail.com>
-
- Reviewed by Anders.
-
- <rdar://problem/5956429>
- https://bugs.webkit.org/show_bug.cgi?id=19192
- remove NPNVpluginEventModel, fix example plugin
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView getVariable:value:]):
-
-2008-05-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Maciej.
-
- Add WebIconFetcher.
-
- * Misc/WebIconFetcher.h: Added.
- * Misc/WebIconFetcher.mm: Added.
- (WebIconFetcherClient::WebIconFetcherClient):
- (WebIconFetcherClient::finishedFetchingIcon):
- (WebIconFetcherClient::setFetcher):
- (-[WebIconFetcher init]):
- (-[WebIconFetcher dealloc]):
- (-[WebIconFetcher finalize]):
- (-[WebIconFetcher cancel]):
- (-[WebIconFetcher _initWithIconFetcher:client:]):
- (+[WebIconFetcher _fetchApplicationIconForFrame:target:selector:]):
- * Misc/WebIconFetcherInternal.h: Added.
- * WebView/WebFrame.mm:
- (-[WebFrame fetchApplicationIcon:selector:]):
- * WebView/WebFramePrivate.h:
-
-=== End merge of squirrelfish ===
-
-2008-05-21 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Updated for API changes from merging with trunk WebCore's new debugger.
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame evaluateWebScript:]): Explicitly check for an
- exception return, since the DebuggerCallFrame no longer automatically
- substitutes the exception for the return value.
-
- * WebView/WebScriptDebugger.mm: Use the dynamic global object, not the
- lexical global object, since the debugger attaches based on dynamic
- global object.
-
-2008-05-17 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Re-enabled previously disabled debugging functionality.
-
- There are two major changes from how the WebKit debugger used to work:
-
- (1) All the interesting bits are implemented down in JavaScriptCore. The
- debugger just calls through to KJS::DebuggerCallFrame for everything.
-
- (2) Instead of copyihng a pointer to an ExecState once, the debugger
- copies the DebuggerCallFrame passed to it in each callback. This is
- because the VM no longer maintains a fully transparent execution state
- to which you can hold a pointer, and the DebuggerCallFrames it vends
- are temporaries.
-
- Also, we NULL out a WebScriptCallFrame's DebuggerCallFrame upon return
- from its function. This is safer than the old method, which was to
- hold a stale ExecState* and hope for the best.
-
-2008-05-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Updated for API changes in KJS::Debugger.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _attachScriptDebugger]): Changed the order of operations to
- fix an ASSERT that can happen when re-entering _attachScriptDebugger.
-
-2008-05-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Updated WebScriptDebugger API to accept a SourceProvider instead
- of a WebCore::String, to avoid copying.
-
- (WebScriptDebugger::sourceParsed): Updated this function not to return
- a value.
-
-2008-04-30 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: #ifdef'd out some code that doesn't work anymore.
-
-2008-04-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- #ifdef'd out some debugger code that doesn't work anymore.
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
-
-2008-04-21 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * ChangeLog:
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
-
-2008-03-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Build fix.
-
-=== Start merge of squirrelfish ===
-
-2008-05-21 Darin Adler <darin@apple.com>
-
- - fix build
-
- * WebView/WebViewPrivate.h: Remove declaration of closeWithFastTeardown. We can add it back later
- if we want, but if we do, we should probably make some refinements like checking _private->closed
- and applicationIsTerminating.
-
-2008-05-21 Darin Adler <darin@apple.com>
-
- Reviewed by Anders and Kevin Decker.
-
- - fix <rdar://problem/5951130> REGRESSION: crash on quit after reopening windows from previous session
-
- * WebView/WebView.mm:
- (-[WebViewPrivate dealloc]): Fix assertions to not complain when fast teardown is used.
- (-[WebView _closePluginDatabases]): Factored out some common code from both versions of close.
- (-[WebView _closeWithFastTeardown]): Added an underscore to this method's name, since it's internal.
- Streamlined the code a bit. Added a line of code to set _private->closed (this is the bug fix).
- (-[WebView _close]): Changed for new method name and to use _closePluginDatabases.
-
-2008-05-19 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Darin Adler.
-
- more fast teardown performance work
-
- * Misc/WebDownload.m:
- (-[WebDownloadInternal downloadDidBegin:]):
- (-[WebDownloadInternal downloadDidFinish:]):
- (-[WebDownloadInternal download:didFailWithError:]):
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::disableSuddenTermination):
- (WebChromeClient::enableSuddenTermination):
-
-2008-05-18 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- - fix <rdar://problem/5944596> IDNs are displayed as punycode in the authentication panel
-
- * Panels/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForChallenge:]):
-
-2008-05-16 Timothy Hatcher <timothy@apple.com>
-
- Removes WebScriptDebugServer files and related calls. This removes
- the hooks that Drosera uses for debugging. Now that the Web Inspector
- has a better debugger, we don't need these anymore.
-
- Reviewed by Sam Weinig.
-
- * DefaultDelegates/WebScriptDebugServer.h: Removed.
- * DefaultDelegates/WebScriptDebugServer.m: Removed.
- * DefaultDelegates/WebScriptDebugServerPrivate.h: Removed.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebKit.exp:
- * WebView/WebScriptDebugDelegate.mm:
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::sourceParsed):
- (WebScriptDebugger::callEvent):
- (WebScriptDebugger::atStatement):
- (WebScriptDebugger::returnEvent):
- (WebScriptDebugger::exception):
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- * WebView/WebViewPrivate.h:
-
-2008-05-16 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- <rdar://problem/5942616> - Need to standardize LocalStorage persistence path
-
- Took the opportunity to touch up another pref that needs the same standardization.
- That pref is currently not in use on Mac.
-
- * WebView/WebPreferences.m:
- (-[WebPreferences _setFTPDirectoryTemplatePath:]):
- (-[WebPreferences _localStorageDatabasePath]):
- (-[WebPreferences _setLocalStorageDatabasePath:]):
- (-[WebPreferences _ftpDirectoryTemplatePath]):
-
-2008-05-16 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Alice Liu
-
- <rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310)
-
- * WebView/WebFrame.mm:
- (-[WebFrame _accessibilityTree]):
-
-2008-05-15 Stephanie Lewis <slewis@apple.com>
-
- fix mac build
-
- * WebView/WebView.mm:
- (-[WebView closeWithFastTeardown]):
-
-2008-05-15 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Anders.
-
- Turn on fast teardown. I added a preference for using full teardown because
- the LEAKS output will be useless without a full teardown.
-
- preference for fullteardown
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.m:
- (-[WebPreferences setFullDocumentTeardownEnabled:]):
- (-[WebPreferences fullDocumentTeardownEnabled]):
- * WebView/WebPreferencesPrivate.h:
-
- on application quit dispatch unload events and destroy plugins then exit
- * WebView/WebView.mm:
- (-[WebView closeWithFastTeardown]):
- (-[WebView _close]):
- * WebView/WebViewPrivate.h:
-
-2008-05-15 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Anders.
-
- get the pending frame unload count from WebCore
-
- * WebView/WebFrame.mm:
- (-[WebFrame _pendingFrameUnloadEventCount]):
- * WebView/WebFramePrivate.h:
-
-2008-05-15 John Sullivan <sullivan@apple.com>
-
- Reviewed by Kevin Decker
-
- - fixed <rdar://problem/5940275> Inspector highlighting moves to bottom-left corner of
- screen when new tab appears
-
- The highlight should go away entirely, but this simple patch just makes it not jump away.
- The issue with it not going away entirely is harder to fix and covered by <rdar://problem/5322306>
-
- * WebInspector/WebNodeHighlight.m:
- (-[WebNodeHighlight _repositionHighlightWindow]):
- Bail out if target view isn't in a window
-
-2008-05-15 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Anders.
-
- Track views that contain plugin instances so that they can be destroyed at application
- quit without walking the entire document tree.
-
- Add/Remove Netscape plugin views from instance list. Start/stop are when netscape
- plugins are created and destroyed
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView stop]):
-
- Add/remove WebKit plugin views from instance list
- * Plugins/WebPluginController.mm:
- (-[WebPluginController addPlugin:]):
- (-[WebPluginController destroyPlugin:]):
- (-[WebPluginController destroyAllPlugins]):
-
- Add a set of views with plugin instances to the WebPluginDatabase
- * Plugins/WebPluginDatabase.h:
- * Plugins/WebPluginDatabase.mm:
- (-[WebPluginDatabase init]):
- (-[WebPluginDatabase dealloc]):
- (-[WebPluginDatabase addPluginInstanceView:]):
- (-[WebPluginDatabase removePluginInstanceView:]):
- (-[WebPluginDatabase removePluginInstanceViewsFor:]):
- (-[WebPluginDatabase destroyAllPluginInstanceViews]):
-
- Handle cases where plugin views are detached before the plugin is destroyed.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::detachedFromParent2):
- (WebFrameLoaderClient::transitionToCommittedFromCachedPage):
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
-
- Add plugin instances to the set in the WebPluginDatabase by way of the WebView
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _destroyAllWebPlugins]):
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebView.mm:
- (-[WebView addPluginInstanceView:]):
- (-[WebView removePluginInstanceView:]):
- (-[WebView removePluginInstanceViewsFor:]):
- * WebView/WebViewInternal.h:
-
-2008-05-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher
-
- Until the settings/preferences equation can be reworked, we'll need to manually set the local storage path
- before setting the page group of the new page.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]): Set the LocalStorage path
- immediately after creating the page so it is in place for initializing the LocalStorageThread
-
-2008-05-15 Timothy Hatcher <timothy@apple.com>
-
- Fixes the bug where the Web Inspector would flash white while resizing.
- This was cause by deferring the window creation.
-
- <rdar://problem/5873549> REGRESSION: Inspector flickers horribly while resizing (17979)
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController window]): Don't defer the window creation.
-
-2008-05-15 Alexey Proskuryakov <ap@webkit.org>
-
- Tiger build fix.
-
- * Misc/WebNSAttributedStringExtras.mm: Import WebTypesInternal.h for NSUInteger.
-
-2008-05-15 Adele Peterson <adele@apple.com>
-
- Reviewed and landed by Alexey.
-
- Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:].
-
- * Misc/WebNSAttributedStringExtras.mm:
- (+[NSAttributedString _web_attributedStringFromRange:]):
-
-2008-05-14 Eric Seidel <eric@webkit.org>
-
- Reviewed by Oliver.
-
- Add missing NULL check to match rest of file, this was found by the editing fuzzer.
-
- * WebView/WebResource.mm:
- (-[WebResource data]):
-
-2008-05-14 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- NPP_ValidAttributesForMarkedText should return NSArray*, not NSArray.
-
- * Plugins/nptextinput.h:
-
-2008-05-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam.
-
- Don't empty the application cache in _setCacheModel, since it will be called during initialization.
- Instead, do it in [WebCache empty].
-
- * Misc/WebCache.mm:
- (+[WebCache empty]):
- * WebView/WebView.mm:
- (+[WebView _setCacheModel:]):
-
-2008-05-13 chris fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin
-
- <rdar://problem/4780592> WebKit application has its window announced as HTML content
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory AXWebAreaText]):
-
-2008-05-13 Timothy Hatcher <timothy@apple.com>
-
- Fixes a crash seen in Xcode where CallUIDelegateReturningBoolean
- was referencing a nil WebView under validateUserInterfaceItem.
- The validateUserInterfaceItem methods was being called at a time
- when the WebHTMLView is being torndown.
-
- <rdar://problem/5806229> A crash occurs at CallUIDelegateReturningBoolean()
- while mousing down on menu bar after Xcode News window is opened
-
- Reviewed by Ada Chan.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItem:]): NULL check the WebView and
- return NO when it is nil. Adds a comment.
- * WebView/WebPDFView.mm:
- (-[WebPDFView validateUserInterfaceItem:]): Ditto.
-
-2008-05-13 Mark Rowe <mrowe@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/5926425> HIWebViewCreateWithClass declared as API in HIWebView.h but never exported from WebKit.framework
-
- * Carbon/HIWebView.h: Remove HIWebViewCreateWithClass.
- * Carbon/HIWebView.m: Ditto.
- (HIWebViewCreate):
- (HIWebViewConstructor):
-
-2008-05-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Ada Chan.
-
- - WebKit/mac changes for https://bugs.webkit.org/show_bug.cgi?id=17097
- <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
-
- Added font cache statistics and a function to purge inactive font data.
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics cachedFontDataCount]):
- (+[WebCoreStatistics cachedFontDataInactiveCount]):
- (+[WebCoreStatistics purgeInactiveFontData]):
- (+[WebCoreStatistics glyphPageCount]):
-
-2008-05-12 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Decorate some deprecated delegate methods with the availability macros.
-
- The compiler doesn't appear to warn if a delegate implements these methods, but using the availability
- macros is good for consistency and documentation.
-
- * WebView/WebFrameLoadDelegate.h:
- * WebView/WebUIDelegate.h:
-
-2008-05-12 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/5835604> Deprecate HIWebView
-
- Use of HIWebView is deprecated in favor of embedding a WebView in a HICocoaView.
-
- * Carbon/CarbonUtils.h: Include the availability macro header and decorate the functions appropriately.
- * Carbon/HIWebView.h: Ditto.
-
-2008-05-12 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders.
-
- Fixed: <rdar://problem/5840884>_recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
-
- Re-added these SPI methods because they are needed by some clients. They were accidentally removed
- in changeset <http://trac.webkit.org/changeset/31028>
-
- * Plugins/WebBaseNetscapePluginView.h: Added stopTimers, restartTimers to the header.
- * WebView/WebFrame.mm:
- (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): Re-addd.
- (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): Ditto.
- * WebView/WebFrameInternal.h: Ditto.
- * WebView/WebHTMLView.mm: Ditto.
- (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): Ditto.
- (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): Ditto.
- * WebView/WebHTMLViewInternal.h: Ditto.
- * WebView/WebHTMLViewPrivate.h: Ditto.
-
-2008-05-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Alexey.
-
- Empty the application cache when changing the cache model.
-
- * WebView/WebView.mm:
- (+[WebView _setCacheModel:]):
-
-2008-05-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver.
-
- <rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView start]):
- Get the plug-in text input vtable pointer.
-
- (-[WebBaseNetscapePluginView stop]):
- Set the plug-in text input vtable pointer to 0.
-
- (-[WebBaseNetscapePluginView inputContext]):
- Return 0 for Carbon plug-ins since we don't want Cocoa to handle text input for them.
-
- (-[WebBaseNetscapePluginView hasMarkedText]):
- (-[WebBaseNetscapePluginView insertText:]):
- (-[WebBaseNetscapePluginView markedRange]):
- (-[WebBaseNetscapePluginView selectedRange]):
- (-[WebBaseNetscapePluginView setMarkedText:selectedRange:]):
- (-[WebBaseNetscapePluginView unmarkText]):
- (-[WebBaseNetscapePluginView validAttributesForMarkedText]):
- (-[WebBaseNetscapePluginView attributedSubstringFromRange:]):
- (-[WebBaseNetscapePluginView characterIndexForPoint:]):
- (-[WebBaseNetscapePluginView doCommandBySelector:]):
- (-[WebBaseNetscapePluginView firstRectForCharacterRange:]):
- (-[WebBaseNetscapePluginView conversationIdentifier]):
- Implement NSTextInput and call into the plug-in text input vtable.
-
- (browserTextInputFuncs):
- New method which returns the browser input vtable.
-
- (-[WebBaseNetscapePluginView getVariable:value:]):
- Support getting the browser input vtable pointer.
-
- * Plugins/WebNetscapePluginEventHandlerCocoa.h:
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- (WebNetscapePluginEventHandlerCocoa::keyDown):
- (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
- If the plug-in returns 0 when a NPCocoaEventKeyDown is passed to NPP_HandleEvent,
- it means that the event should be passed on to the input manager.
-
- * Plugins/npapi.mm:
- (NPN_MarkedTextAbandoned):
- (NPN_MarkedTextSelectionChanged):
- Add implementations of browser input method methods.
-
- * Plugins/nptextinput.h: Added.
- Add file with new text input API.
-
-2008-05-12 Alexey Proskuryakov <ap@webkit.org>
-
- Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify
- SquirrelFish merging.
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame evaluateWebScript:]):
-
-2008-05-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mitz.
-
- REGRESSION (3.1.1-TOT): Arrow keys are sticky in Google Maps street view
- https://bugs.webkit.org/show_bug.cgi?id=18880
- <rdar://problem/5909513>
-
- Stop suspending key up events before calling handleEvent.
-
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
- (WebNetscapePluginEventHandlerCarbon::sendEvent):
-
-2008-05-06 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Andersca.
-
- prepare for plugin fast teardown work - make WebPluginDatabase a objective C++ file.
-
- * Plugins/WebPluginDatabase.m: Removed.
- * Plugins/WebPluginDatabase.mm: Copied from WebKit/mac/Plugins/WebPluginDatabase.m.
- * Plugins/npapi.m: Removed.
- * Plugins/npapi.mm: Copied from WebKit/mac/Plugins/npapi.m.
-
-2008-05-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Initialize numArchs to 0.
-
- * Plugins/WebBasePluginPackage.m:
- (-[WebBasePluginPackage isNativeLibraryData:]):
-
-2008-05-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Add implementation of NPN_PopUpContextMenu.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView popUpContextMenu:]):
- * Plugins/WebBaseNetscapePluginViewPrivate.h:
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
- * Plugins/npapi.m:
- (NPN_PopUpContextMenu):
-
-2008-05-06 Anders Carlsson <andersca@apple.com>
-
- Fix typo (don't read random memory).
-
- * Plugins/WebBasePluginPackage.m:
- (-[WebBasePluginPackage isNativeLibraryData:]):
-
-2008-05-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Change the isNativeLibraryData: method to handle universal binaries.
-
- * Plugins/WebBasePluginPackage.m:
- (swapIntsInHeader):
- (-[WebBasePluginPackage isNativeLibraryData:]):
-
-2008-05-06 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler
-
- Preparation for upcoming work making LocalStorage persistent.
-
- When the application terminates, all LocalStorage areas must be sync'ed out to disk first.
-
- * WebView/WebView.mm:
- (+[WebView _applicationWillTerminate]): Close all LocalStorage areas before quitting.
-
-2008-05-05 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix for <rdar://problem/5884383>
- Escape look-a-like characters from the the entire url.
-
- * Misc/WebNSURLExtras.mm:
- (escapeUnsafeCharacters):
- (-[NSURL _web_userVisibleString]):
-
-2008-05-05 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end
-
- * WebView/WebView.mm:
- (-[WebView _updateSettingsFromPreferences:]): Disable Range mutation on changes to
- the document for Tiger and Leopard Mail. There is code in Mail that does it, and
- the two interfere.
-
-2008-05-05 Sam Weinig <sam@webkit.org>
-
- Reviewed by Tim Hatcher.
-
- Make the Inspector's localizable strings file match the format used by Dashboard widgets.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::localizedStringsURL):
-
-2008-05-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Jess.
-
- Apparently preflighting can cause hangs for some reason. Revert this for now.
-
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage _initWithPath:]):
- * Plugins/WebPluginPackage.m:
- (-[WebPluginPackage initWithPath:]):
-
-2008-05-05 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - https://bugs.webkit.org/show_bug.cgi?id=18789
- fix some shouldCloseWithWindow edge cases
-
- * WebView/WebView.mm:
- (-[WebView viewWillMoveToWindow:]): Fix bug where we would stop observing the
- NSWindowWillCloseNotification if the view was moved out of the window but still
- had that window set as the host window. Also make sure this function doesn't do
- anything if the WebView is already closed.
- (-[WebView setHostWindow:]): Ditto.
-
-2008-05-04 David Kilzer <ddkilzer@apple.com>
-
- Make parameters match for WebChromeClient::addMessageToConsole()
-
- Reviewed by John.
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::addMessageToConsole): Renamed sourceID parameter
- to sourceURL to match implementation in WebChromeClient.mm.
-
-2008-05-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark.
-
- Various Cocoa event model and 64-bit plug-in fixes.
-
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
- Set click count.
-
- (WebNetscapePluginEventHandlerCocoa::flagsChanged):
- (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
- Don't try to get the mouse location for keyboard events.
-
- * Plugins/WebPluginPackage.m:
- (-[WebPluginPackage initWithPath:]):
- Preflight the bundle so we won't show 32-bit WebKit plug-ins when running as 64-bit.
-
-2008-05-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam.
-
- The event union is now named.
-
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- (WebNetscapePluginEventHandlerCocoa::drawRect):
- (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
- (WebNetscapePluginEventHandlerCocoa::flagsChanged):
- (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
- (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
- (WebNetscapePluginEventHandlerCocoa::focusChanged):
-
-2008-05-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark.
-
- Make sure that 32-bit only plug-ins aren't shown when running as 64-bit.
-
- Call preflightAndReturnError on the bundle, which will check if any of the architectures
- in the bundle match the current architecture.
-
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage _initWithPath:]):
-
-2008-05-02 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=18826
- Make JavaScript heap per-thread
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- Replaced static Collector calls with calls to a current thread's instance.
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame evaluateWebScript:]):
- Pass ExecState to jsString().
-
-2008-05-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mark.
-
- 64-bit NPAPI plugin build fixes.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebBaseNetscapePluginView updateAndSetWindow]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView windowBecameKey:]):
- * Plugins/WebNetscapeDeprecatedFunctions.c:
- * Plugins/WebNetscapeDeprecatedFunctions.h:
- * Plugins/WebNetscapePluginEventHandler.mm:
- (WebNetscapePluginEventHandler::create):
- * Plugins/WebNetscapePluginEventHandlerCarbon.h:
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
- * Plugins/WebPluginDatabase.m:
- (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
-
-2008-05-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Tim.
-
- Remove duplicate npfunctions.h header from WebKit.
-
- * MigrateHeaders.make:
- Migrate npfunctions.h
-
- * Plugins/npfunctions.h: Removed.
-
-2008-05-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John.
-
- Add null checks for the event handler.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView stopTimers]):
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
-
-2008-05-01 Anders Carlsson <andersca@apple.com>
-
- Fix 64-bit build.
-
- * Plugins/WebNetscapePluginEventHandlerCocoa.h:
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- * WebCoreSupport/WebFrameLoaderClient.mm:
-
-2008-05-01 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * Plugins/npfunctions.h:
-
-2008-05-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Forward mouse move events to the Netscape plug-in view.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView handleMouseMoved:]):
- New method that just calls the current event handler.
-
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
- (WebNetscapePluginEventHandlerCocoa::flagsChanged):
- NSFlagsChanged is not a regular keyboard event and some of the NSEvent accessors
- don't work on it so don't call them.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (NetscapePluginWidget::NetscapePluginWidget):
- New Widget subclass to be used for Netscape plug-ins.
-
- (NetscapePluginWidget::handleEvent):
- Forward NSMouseMoved events to the plug-in.
-
- (WebFrameLoaderClient::createPlugin):
- Wrap the plug-in view in a NetscapePluginWidget.
-
-2008-05-01 Alp Toker <alp@nuanti.com>
-
- Rubber-stamped by Anders.
-
- GTK+ build fix for changes in r32752. Use int32, not int32_t types in
- npapi.h.
-
- Additional fix to use same signedness in npapi.h and Mac for the
- interval parameter.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (PluginTimer::PluginTimer):
- (-[WebBaseNetscapePluginView stopTimers]):
- (-[WebBaseNetscapePluginView restartTimers]):
- (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
- (-[WebBaseNetscapePluginView unscheduleTimer:]):
- * Plugins/WebBaseNetscapePluginViewPrivate.h:
- * Plugins/npapi.m:
- (NPN_ScheduleTimer):
- (NPN_UnscheduleTimer):
- * Plugins/npfunctions.h:
-
-2008-04-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Add new Cocoa event model and the NPN_ScheduleTimer/NPN_UnscheduleTimer methods.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (PluginTimer::PluginTimer):
- (PluginTimer::start):
- (PluginTimer::fired):
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebBaseNetscapePluginView stopTimers]):
- (-[WebBaseNetscapePluginView restartTimers]):
- (-[WebBaseNetscapePluginView scrollWheel:]):
- (-[WebBaseNetscapePluginView flagsChanged:]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView eventModel]):
- (-[WebBaseNetscapePluginView fini]):
- (-[WebBaseNetscapePluginView getVariable:value:]):
- (-[WebBaseNetscapePluginView setVariable:value:]):
- (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
- (-[WebBaseNetscapePluginView unscheduleTimer:]):
- * Plugins/WebBaseNetscapePluginViewInternal.h:
- * Plugins/WebBaseNetscapePluginViewPrivate.h:
- * Plugins/WebNetscapePluginEventHandler.h:
- * Plugins/WebNetscapePluginEventHandler.mm:
- (WebNetscapePluginEventHandler::create):
- * Plugins/WebNetscapePluginEventHandlerCarbon.h:
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
- (WebNetscapePluginEventHandlerCarbon::scrollWheel):
- (WebNetscapePluginEventHandlerCarbon::flagsChanged):
- (WebNetscapePluginEventHandlerCarbon::platformWindow):
- * Plugins/WebNetscapePluginEventHandlerCocoa.h: Added.
- (WebNetscapePluginEventHandlerCocoa::startTimers):
- (WebNetscapePluginEventHandlerCocoa::stopTimers):
- * Plugins/WebNetscapePluginEventHandlerCocoa.mm: Added.
- (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
- (WebNetscapePluginEventHandlerCocoa::drawRect):
- (WebNetscapePluginEventHandlerCocoa::mouseDown):
- (WebNetscapePluginEventHandlerCocoa::mouseDragged):
- (WebNetscapePluginEventHandlerCocoa::mouseEntered):
- (WebNetscapePluginEventHandlerCocoa::mouseExited):
- (WebNetscapePluginEventHandlerCocoa::mouseMoved):
- (WebNetscapePluginEventHandlerCocoa::mouseUp):
- (WebNetscapePluginEventHandlerCocoa::scrollWheel):
- (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
- (WebNetscapePluginEventHandlerCocoa::keyDown):
- (WebNetscapePluginEventHandlerCocoa::keyUp):
- (WebNetscapePluginEventHandlerCocoa::flagsChanged):
- (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
- (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
- (WebNetscapePluginEventHandlerCocoa::focusChanged):
- (WebNetscapePluginEventHandlerCocoa::platformWindow):
- (WebNetscapePluginEventHandlerCocoa::sendEvent):
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
- * Plugins/npapi.m:
- (NPN_ScheduleTimer):
- (NPN_UnscheduleTimer):
- * Plugins/npfunctions.h:
-
-2008-04-30 Brady Eidson <beidson@apple.com>
-
- Fix my WebPreferences revert check-in
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2008-04-30 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by John Sullivan
-
- Revert the remainder of my original preferences changes from last week.
- They caused a massive PLT regression (too many notifications being sent out
- or listened to that weren't previously) and it's not in my schedule to refine
- the preferences code instead of working on my feature!
-
- * WebView/WebView.mm:
- (-[WebView _updateSettingsFromPreferences:]):
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2008-04-30 Anders Carlsson <andersca@apple.com>
-
- Fix the 64-bit build.
-
- * Plugins/WebNetscapePluginEventHandler.h:
- * Plugins/WebNetscapePluginEventHandler.mm:
- * Plugins/WebNetscapePluginEventHandlerCarbon.h:
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
-
-2008-04-29 David D. Kilzer <ddkilzer@apple.com>
-
- BUILD FIX for Release build.
-
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
- (WebNetscapePluginEventHandlerCarbon::drawRect): Declare acceptedEvent
- separately so the compiler doesn't complain about an unused variable.
- (WebNetscapePluginEventHandlerCarbon::TSMEventHandler): Ditto.
-
-2008-04-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Refactor the Carbon event handling code out into a separate class in preparation for adding
- the Cocoa event handling code.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
- (-[WebBaseNetscapePluginView sendActivateEvent:]):
- (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
- (-[WebBaseNetscapePluginView stopTimers]):
- (-[WebBaseNetscapePluginView restartTimers]):
- (-[WebBaseNetscapePluginView setHasFocus:]):
- (-[WebBaseNetscapePluginView mouseDown:]):
- (-[WebBaseNetscapePluginView mouseUp:]):
- (-[WebBaseNetscapePluginView mouseEntered:]):
- (-[WebBaseNetscapePluginView mouseExited:]):
- (-[WebBaseNetscapePluginView mouseDragged:]):
- (-[WebBaseNetscapePluginView keyUp:]):
- (-[WebBaseNetscapePluginView keyDown:]):
- (-[WebBaseNetscapePluginView cut:]):
- (-[WebBaseNetscapePluginView copy:]):
- (-[WebBaseNetscapePluginView paste:]):
- (-[WebBaseNetscapePluginView selectAll:]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView stop]):
- (-[WebBaseNetscapePluginView fini]):
- (-[WebBaseNetscapePluginView drawRect:]):
- (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
- (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
- (-[WebBaseNetscapePluginView windowBecameKey:]):
- (-[WebBaseNetscapePluginView windowResignedKey:]):
- (-[WebBaseNetscapePluginView windowDidMiniaturize:]):
- (-[WebBaseNetscapePluginView windowDidDeminiaturize:]):
- (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]):
- (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]):
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
- (-[WebBaseNetscapePluginView _viewHasMoved]):
- * Plugins/WebBaseNetscapePluginViewInternal.h:
- * Plugins/WebNetscapePluginEmbeddedView.h:
- * Plugins/WebNetscapePluginEventHandler.h: Added.
- (WebNetscapePluginEventHandler::~WebNetscapePluginEventHandler):
- (WebNetscapePluginEventHandler::currentEventIsUserGesture):
- (WebNetscapePluginEventHandler::WebNetscapePluginEventHandler):
- * Plugins/WebNetscapePluginEventHandler.mm: Added.
- (WebNetscapePluginEventHandler::create):
- * Plugins/WebNetscapePluginEventHandlerCarbon.h: Added.
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm: Added.
- (WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon):
- (getCarbonEvent):
- (modifiersForEvent):
- (WebNetscapePluginEventHandlerCarbon::sendNullEvent):
- (WebNetscapePluginEventHandlerCarbon::drawRect):
- (WebNetscapePluginEventHandlerCarbon::mouseDown):
- (WebNetscapePluginEventHandlerCarbon::mouseUp):
- (WebNetscapePluginEventHandlerCarbon::mouseEntered):
- (WebNetscapePluginEventHandlerCarbon::mouseExited):
- (WebNetscapePluginEventHandlerCarbon::mouseDragged):
- (WebNetscapePluginEventHandlerCarbon::mouseMoved):
- (WebNetscapePluginEventHandlerCarbon::keyDown):
- (keyMessageForEvent):
- (WebNetscapePluginEventHandlerCarbon::keyUp):
- (WebNetscapePluginEventHandlerCarbon::focusChanged):
- (WebNetscapePluginEventHandlerCarbon::windowFocusChanged):
- (WebNetscapePluginEventHandlerCarbon::TSMEventHandler):
- (WebNetscapePluginEventHandlerCarbon::installKeyEventHandler):
- (WebNetscapePluginEventHandlerCarbon::removeKeyEventHandler):
- (WebNetscapePluginEventHandlerCarbon::nullEventTimerFired):
- (WebNetscapePluginEventHandlerCarbon::startTimers):
- (WebNetscapePluginEventHandlerCarbon::stopTimers):
- (WebNetscapePluginEventHandlerCarbon::sendEvent):
-
-2008-04-29 Mark Rowe <mrowe@apple.com>
-
- Reviewed by David Harrison.
-
- Ensure that WebDynamicScrollBarsView defines WebCoreScrollbarAlwaysOn to keep Mail building.
-
- * WebKit.exp:
- * WebView/WebDynamicScrollBarsView.h:
- * WebView/WebDynamicScrollBarsView.m:
-
-2008-04-29 Greg Bolsinga <bolsinga@apple.com>
-
- Reviewed by Darin Adler.
-
- Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- * WebView/WebClipView.m:
- (-[WebClipView scrollWheel:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView addMouseMovedObserver]):
- (-[WebHTMLView removeMouseMovedObserver]):
- (-[WebHTMLView acceptsFirstMouse:]):
- * WebView/WebUIDelegatePrivate.h:
- * WebView/WebView.mm:
- (-[WebViewPrivate init]):
- * WebView/WebViewPrivate.h:
-
-2008-04-28 Rob Buis <buis@kde.org>
-
- Reviewed by Maciej.
-
- Build fix for Tiger.
-
- * WebView/WebView.mm:
- (WebKitInitializeApplicationCachePathIfNecessary):
-
-2008-04-28 Adele Peterson <adele@apple.com>
-
- Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.
-
- WebKit part of fix for <rdar://problem/3709505>
- Safari should have a way to upload bundles from the file upload control (as zip)
-
- Added UIDelegate methods to let the application handle generating replacement files for uploads.
- In this case, Safari will create archived files for bundles so they can be uploaded properly.
-
- * DefaultDelegates/WebDefaultUIDelegate.m:
- (-[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]):
- (-[WebDefaultUIDelegate webView:generateReplacementFile:]):
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::shouldReplaceWithGeneratedFileForUpload):
- (WebChromeClient::generateReplacementFile):
- * WebView/WebUIDelegatePrivate.h:
-
-2008-04-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam, Mark, Adele and Darin.
-
- Initialize the application cache path.
-
- * WebView/WebView.mm:
- (WebKitInitializeApplicationCachePathIfNecessary):
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2008-04-28 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix <rdar://problem/4911289> Add tabindex property to all children
- of HTMLElement (7138)
- http://bugs.webkit.org/show_bug.cgi?id=7138
-
- * MigrateHeaders.make:
- Removing DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h
- because now that focus() has been moved to DOMHTMLElement.h, these
- files are no longer needed.
-
-2008-04-25 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix run-webkit-tests --threading
- and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
- Proxy server issue in Sunday's Nightly
-
- * WebView/WebView.mm: (-[WebViewPrivate init]): Initialize threading. Previously, this was
- only done from icon database code, which is not robust enough.
-
-2008-04-20 Adam Barth <hk9565@gmail.com>
-
- Reviewed by Adam Roben and Sam Weinig.
-
- Updated WebSecurityOrigin to match new SecurityOrigin API.
-
- Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
-
- * Storage/WebSecurityOrigin.mm:
- (-[WebSecurityOrigin host]):
- (-[WebSecurityOrigin domain]):
- * Storage/WebSecurityOriginPrivate.h:
-
-2008-04-25 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Add some content to an empty ICU header file to prevent verification errors.
-
- * icu/unicode/utf_old.h:
-
-2008-04-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam.
-
- Add offlineWebApplicationCacheEnabled preference.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
- (-[WebPreferences offlineWebApplicationCacheEnabled]):
- (-[WebPreferences setOfflineWebApplicationCacheEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _updateSettingsFromPreferences:]):
-
-2008-04-24 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove code for calculating the glyph cache size.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Remove unused symbol.
-
-2008-04-24 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.
-
- * WebKitPrefix.h:
-
-2008-04-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- Fix layout test regressions from my earlier preferences/settings tweak.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]): Even if we're not posting
- the notification to update the settings, each WebView still needs to register for the
- notification - restore that behavior.
-
-2008-04-24 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
- <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
-
- * WebView/WebFrame.mm:
- (-[WebFrame _caretRectAtNode:offset:affinity:]): Changed to use
- VisiblePosition::caretRect() instead of the RenderObject method which
- was removed.
-
-2008-04-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- Rework the Settings population again.
-
- * WebView/WebView.mm:
- (-[WebView _updateSettingsFromPreferences:]): This method is called both from _preferencesChangedNotification
- and directly from WebView's common init function.
- (-[WebView _preferencesChangedNotification:]):
- (-[WebView _commonInitializationWithFrameName:groupName:]): Call _updateSettingsFromPreferences immediately
- after creating the new Page
-
-2008-04-24 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff.
-
- - fix crash in regression test where we'd ask a frame for a user agent string
- after the WebView was already closed
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::userAgent): Assert that the WebView is not nil. Also
- added some code to prevent the crash in release builds if this problem happens
- again.
-
-2008-04-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam.
-
- Change some String arguments to be const references instead.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::shouldInsertText):
-
-2008-04-24 John Sullivan <sullivan@apple.com>
-
- Mac build fix
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory AXButtonActionVerb]):
- implement this method using the text in WebCoreLocalizedStrings.cpp
- (-[WebViewFactory AXRadioButtonActionVerb]):
- ditto
- (-[WebViewFactory AXTextFieldActionVerb]):
- ditto
- (-[WebViewFactory AXCheckedCheckBoxActionVerb]):
- ditto
- (-[WebViewFactory AXUncheckedCheckBoxActionVerb]):
- ditto
- (-[WebViewFactory AXLinkActionVerb]):
- ditto
-
-2008-04-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
- object before the Settings object is initialized. It seems quite prudent to post the preferences changed notification,
- thereby populating the Settings object, immediately after the Page is created.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]): Post the notification right after the Page is created
-
-2008-04-24 John Sullivan <sullivan@apple.com>
-
- Reviewed by Jess
-
- - fixed <rdar://problem/5886655> JavaScript input panel automatic resizing doesn't work right with HiDPI
-
- * Misc/WebNSControlExtras.m:
- (-[NSControl sizeToFitAndAdjustWindowHeight]):
- deploy userSpaceScaleFactor when using view distances on the window
-
-2008-04-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.
-
- * Plugins/npfunctions.h:
-
-2008-04-20 Matt Lilek <webkit@mattlilek.com>
-
- Mysteriously reviewed by mitz|away.
-
- Bug 18111: Closing a tab while dragging crashes Safari
- https://bugs.webkit.org/show_bug.cgi?id=18111
-
- Null check the page before handling drag events.
-
- * WebView/WebView.mm:
- (-[WebView draggingUpdated:]):
- (-[WebView draggingExited:]):
-
-2008-04-19 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher
-
- Add a WebPreference for the path of the local storage persistent store.
-
- * WebView/WebPreferenceKeysPrivate.h:
-
- * WebView/WebPreferences.m:
- (-[WebPreferences _localStorageDatabasePath]):
- (-[WebPreferences _setLocalStorageDatabasePath:]):
- * WebView/WebPreferencesPrivate.h:
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2008-04-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- Don't clear the PageGroup on _close, as the WebCore::Page destructor already does this.
- No reason to do the work twice...
-
- * WebView/WebView.mm:
- (-[WebView _close]):
-
-2008-04-17 Eric Seidel <eric@webkit.org>
-
- Reviewed by beth.
-
- Rename Frame::renderer() to contentRenderer() and fix uses.
-
- * Misc/WebCoreStatistics.mm:
- * WebView/WebRenderNode.mm:
- (-[WebRenderNode initWithWebFrameView:]):
-
-2008-04-17 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by mrowe.
-
- * WebView/WebFrame.mm: Remove temporary build fix.
-
-2008-04-17 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fix <rdar://problem/5863552> REGRESSION (r30741): Attachments don't appear in the iChat message window after sending
-
- The order of arguments to -[NSDictionary initWithObjects:andKeys:] had been transposed accidentally during refactoring.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin): Pass the arguments in the correct order.
-
-2008-04-17 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- Fix the Mac build.
-
- * WebView/WebFrame.mm: Define HAVE_ACCESSIBILITY before including AccessibilityObject.h and AXObjectCache.h to get things building
- for now. This comes from config.h in WebCore but we don't have an equivalent in WebKit so we'll need to work out the correct place
- for this to live going forward.
-
-2008-04-15 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders.
-
- <rdar://problem/5412759> CrashTracer: [USER] 22 crashes in Safari at com.apple.quicktime.webplugin: NPN_SetValue + 15403
-
- In certain situations, code in WebBasePluginPackage would load a plug-in only for the explicit reason of asking it to create a
- preference file, but wouldn't actually unload the bundle. This created problems for the QuickTime WebKit plug-in by unloading
- a bundle out from underneath itself.
-
- * Plugins/WebBasePluginPackage.h: Added unload method.
- * Plugins/WebBasePluginPackage.m:
- (-[WebBasePluginPackage unload]): Added new method. Currently, only Netscape plug-ins support unload.
- (-[WebBasePluginPackage pListForPath:createFile:]): Added a call to unload.
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage unload]): Added.
-
-2008-04-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
-
- * Configurations/WebKit.xcconfig:
-
-2008-04-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Sullivan
-
- Do a more complete job adding the "WebArchiveDebugMode" pref
-
- * WebView/WebPreferences.m: Add both getter *and* setter
- (-[WebPreferences webArchiveDebugModeEnabled]):
- (-[WebPreferences setWebArchiveDebugModeEnabled:]):
- * WebView/WebPreferencesPrivate.h:
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Call the renamed getter
-
-2008-04-14 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- Add a hidden pref to debug WebArchive loading. With this pref on, when loading a WebArchive,
- if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the
- network and will instead fail the load as "cancelled."
-
- * WebView/WebPreferenceKeysPrivate.h:
-
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
- (-[WebPreferences _webArchiveDebugModeEnabled]):
- * WebView/WebPreferencesPrivate.h:
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2008-04-11 David Hyatt <hyatt@apple.com>
-
- Rename CachedResource ref/deref methods to addClient/removeClient.
-
- Reviewed by olliej
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLViewPrivate dealloc]):
- (-[WebHTMLViewPrivate finalize]):
- (-[WebHTMLViewPrivate clear]):
- (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
-
-2008-04-07 Brady Eidson <beidson@apple.com>
-
- Add "ENABLE_DOM_STORAGE" to keep in sync with the rest of the project
-
- * Configurations/WebKit.xcconfig:
-
-2008-04-04 Adam Roben <aroben@apple.com>
-
- Use WebCore's ICU headers instead of our own copy
-
- Rubberstamped by Tim Hatcher.
-
- * Configurations/WebKit.xcconfig: Pick up ICU headers from WebCore's
- PrivateHeaders.
-
-2008-04-04 Adam Roben <aroben@apple.com>
-
- Fix <rdar://problem/5804776> Would like to use WebCore's
- ForwardingHeaders in WebKit without manually creating copies
-
- Patch by Tim Hatcher, typed by me.
-
- * Configurations/WebKit.xcconfig: Use the copy of ForwardingHeaders in
- WebCore's PrivateHeaders instead of our own copy.
-
-2008-04-04 Ada Chan <adachan@apple.com>
-
- Now we pass width and height directly as integers to format
- the window title for a standalone image.
-
- Reviewed by Dan.
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory imageTitleForFilename:width:height:]):
-
-2008-04-03 Nicholas Shanks <webkit@nickshanks.com>
-
- Updated by Dan Bernstein. Reviewed by Dave Hyatt.
-
- - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484
- font-weight does not properly support graded weights
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _styleFromFontAttributes:]):
- (-[WebHTMLView _originalFontB]):
- (-[WebHTMLView _addToStyle:fontA:fontB:]):
-
-2008-04-02 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Ensure that debug symbols are generated for x86_64 and ppc64 builds.
-
- * Configurations/Base.xcconfig:
-
-2008-03-31 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Darin Adler.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _accessibilityTree]):
- The syntax for fetching an object from the AXObjectCache changed slightly
-
-2008-03-31 Brady Eidson <beidson@apple.com>
-
- Reviewed by Jon Honeycutt
-
- Move a WebArchive loading check into WebCore
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation receivedData:withDataSource:]): Don't check "isDisplayingWebArchive" as WebCore is now
- responsible for checking that state
-
-2008-03-31 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin and Mitz's rubber stamp
-
- Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore
-
- * WebCoreSupport/WebEditorClient.mm:
- * WebCoreSupport/WebEditorClient.h:
-
-2008-03-28 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Darin Adler
-
- Remove WebArchiver.h/mm
-
- * WebView/WebArchiver.h: Removed.
- * WebView/WebArchiver.mm: Removed.
-
- * DOM/WebDOMOperations.mm:
- * WebCoreSupport/WebDragClient.mm:
- * WebCoreSupport/WebEditorClient.mm:
- * WebView/WebDataSource.mm:
- * WebView/WebHTMLView.mm:
-
-2008-03-28 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler
-
- Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::dataForArchivedSelection):
-
- * WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users
- * WebView/WebArchiver.mm: Ditto
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
-
-2008-03-28 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler
-
- More Kit->Core WebArchive changes.
-
- Create an archive from the current selection in a frame
-
- * WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off
- easily in a followup
-
-2008-03-28 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- WebArchive saga continues - Can now make archives from ranges in WebCore
-
- * DOM/WebDOMOperations.mm:
- (-[DOMRange webArchive]):
- (-[DOMRange markupString]):
-
- * WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:]
- * WebView/WebArchiver.mm:
-
-2008-03-28 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- More Kit->Core webarchive code movement
-
- * DOM/WebDOMOperations.mm:
- (-[DOMNode markupString]): Call createFullMarkup() instead
-
- * WebView/WebFrame.mm: Remove obsolete _markupStringFromNode
- * WebView/WebFrameInternal.h: Ditto
-
-2008-03-28 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller
-
- * WebView/WebArchiver.h:
- * WebView/WebArchiver.mm:
- * WebView/WebDataSource.mm:
- (-[WebDataSource webArchive]):
-
-2008-03-28 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- Remove unused [WebArchiver archiveNode:], made obsolete in r31400
-
- * WebView/WebArchiver.h:
- * WebView/WebArchiver.mm:
-
-2008-03-28 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- "Yet another transitional step" to empty out WebKit-based code for archiving.
-
- With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
- entirely within WebCore, and opens the door to saving WebArchives on Windows.
-
- * DOM/WebDOMOperations.mm:
- * WebView/WebArchiver.mm:
- (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
-
-2008-03-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam Roben
-
- Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
- as the push to core-ify WebArchives continues.
-
- This patch also introduces a behavior change. WebCore allows ArchiveResources with null or empty data.
- WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.
- Since WebResource is API, I decided to leave it be to avoid a behavior change. But internally created resources
- (as in "while archiving a page") are accepting of null or empty data.
-
- This actually fixes a bug where not all subframes are archived, and resulted in a layout test change.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource mainResource]): Call DocumentLoader implementation
- (-[WebDataSource subresources]): Ditto
- * WebView/WebFrame.mm: Remove [WebFrame _getAllResourceDatas:andResponses:] as its only caller is obsolete
- * WebView/WebFrameInternal.h:
-
-2008-03-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- Change the "init from WebCore resource" version of WebResource to take PassRefPtr
- (more efficient)
-
- * WebView/WebResource.mm:
- (-[WebResource _initWithCoreResource:]):
- * WebView/WebResourceInternal.h:
-
-2008-03-26 Brady Eidson <beidson@apple.com>
-
- Build fix - accidentally checked in this change which was work in progress
-
- * DOM/WebDOMOperations.mm:
-
-2008-03-26 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- When we create a WebArchive, we walk every node from some starting point, asking each node
- along the way "What are your subresource URLs?"
-
- That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
- WebCore::Node
-
- * DOM/WebDOMOperations.mm:
- (-[DOMNode _subresourceURLs]): One generic DOMNode method can now handle all DOMNodes by
- calling into individual WebCore::Node implementations
- * DOM/WebDOMOperationsPrivate.h:
-
-2008-03-26 Brady Eidson <beidson@apple.com>
-
- Reviewed by Mark Rowe
-
- Part of the continued push to move WebArchive-related code down to WebCore, this
- moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource subresourceForURL:]): Call through to the DocumentLoader
-
- * WebView/WebFrame.mm: Remove [WebFrame _getData:andResponse:forURL:], as its only use
- has now been ported down to WebCore
- * WebView/WebFrameInternal.h:
-
-2008-03-26 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Brady Eidson.
-
- Update FEATURE_DEFINES to be consistent with the other locations in which it is defined.
-
- * Configurations/WebKit.xcconfig:
-
-2008-03-26 Mark Rowe <mrowe@apple.com>
-
- Reviewed by David Hyatt.
-
- Make the Ahem font antialias correctly on Acid3 on Tiger.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2008-03-26 Mark Rowe <mrowe@apple.com>
-
- Fix the Mac build.
-
- * MigrateHeaders.make: Copy the newly generated header into the right place.
-
-2008-03-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Beth Dakin
-
- Remove entirely unused internal method
-
- * WebView/WebArchiver.h:
- * WebView/WebArchiver.mm:
-
-2008-03-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam Roben
-
- <rdar://problem/5819308> - View Source is empty when view webarchives
-
- * WebCore.base.exp:
- * loader/DocumentLoader.cpp:
- (WebCore::DocumentLoader::setParsedArchiveData):
- (WebCore::DocumentLoader::parsedArchiveData):
- * loader/DocumentLoader.h:
-
- * loader/FrameLoader.cpp:
- (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData
- in the DocumentLoader
-
-2008-03-25 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=17933
- Reopen All Windows From Last Session causes crash
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Added null
- check.
-
-2008-03-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Jon Honeycutt's rubberstamp
-
- Fix a leak with the new WebArchive setup
-
- * WebView/WebArchive.mm:
- (-[WebArchivePrivate setCoreArchive:]): Deref() the old WebArchive
-
-2008-03-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- Removed the concept of "pending archive resources" and the "archive resources delivery timer"
- from WebFrameLoaderClient, as those concepts have been pushed into WebCore
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::WebFrameLoaderClient):
-
-2008-03-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- Remove newly obsolete FrameLoaderClient methods
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
-
-2008-03-25 Brady Eidson <beidson@apple.com>
-
- Release build fix
-
- * WebView/WebArchive.mm:
- (-[WebArchive subresources]):
- (-[WebArchive subframeArchives]):
-
-2008-03-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- <rdar://problem/4516169> - Support WebArchives on Windows
- And paves the way for many future WebArchive bug fixes and enhancements
-
- This change moves most of the real workhorse code about WebArchives into WebCore. It maintains
- 1-to-1 relationships between a few objects in WebCore and WebKit. Such as:
- * WebArchive <-> LegacyWebArchive
- * WebResource <-> ArchiveResource
- * WebUnarchivingState <-> ArchiveResourceCollection
-
- The other biggest changes involve many FrameLoaderClient methods that existed soley for WebArchives
- and now exist in WebCore
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::clearUnarchivingState): Emptied - to be removed in a followup patch
- (WebFrameLoaderClient::finalSetupForReplace):
- (WebFrameLoaderClient::setDefersLoading):
- (WebFrameLoaderClient::willUseArchive):
- (WebFrameLoaderClient::isArchiveLoadPending):
- (WebFrameLoaderClient::cancelPendingArchiveLoad):
- (WebFrameLoaderClient::clearArchivedResources):
- (WebFrameLoaderClient::createFrame):
-
- * WebView/WebArchive.mm:
- (+[WebArchivePrivate initialize]):
- (-[WebArchivePrivate init]):
- (-[WebArchivePrivate initWithCoreArchive:]):
- (-[WebArchivePrivate coreArchive]):
- (-[WebArchivePrivate setCoreArchive:]):
- (-[WebArchivePrivate dealloc]):
- (-[WebArchivePrivate finalize]):
- (-[WebArchive init]):
- (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
- (-[WebArchive initWithData:]):
- (-[WebArchive initWithCoder:]):
- (-[WebArchive encodeWithCoder:]):
- (-[WebArchive mainResource]):
- (-[WebArchive subresources]):
- (-[WebArchive subframeArchives]):
- (-[WebArchive data]):
- (-[WebArchive _initWithCoreLegacyWebArchive:WebCore::]):
- (-[WebArchive WebCore::]):
- * WebView/WebArchiveInternal.h: Added.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSourcePrivate dealloc]):
- (-[WebDataSource _addSubframeArchives:]):
- (-[WebDataSource _documentFragmentWithArchive:]):
- (-[WebDataSource subresourceForURL:]):
- (-[WebDataSource addSubresource:]):
- * WebView/WebDataSourceInternal.h:
-
- * WebView/WebFrame.mm:
- (-[WebFrame loadArchive:]):
- * WebView/WebFrameInternal.h:
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
-
- * WebView/WebResource.mm:
- (+[WebResourcePrivate initialize]):
- (-[WebResourcePrivate init]):
- (-[WebResourcePrivate initWithCoreResource:]):
- (-[WebResourcePrivate dealloc]):
- (-[WebResourcePrivate finalize]):
- (-[WebResource initWithCoder:]):
- (-[WebResource encodeWithCoder:]):
- (-[WebResource data]):
- (-[WebResource URL]):
- (-[WebResource MIMEType]):
- (-[WebResource textEncodingName]):
- (-[WebResource frameName]):
- (-[WebResource _initWithCoreResource:WebCore::]):
- (-[WebResource WebCore::]):
- (-[WebResource _ignoreWhenUnarchiving]):
- (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
- (-[WebResource _fileWrapperRepresentation]):
- (-[WebResource _response]):
- (-[WebResource _stringValue]):
- * WebView/WebResourceInternal.h: Added.
- * WebView/WebResourcePrivate.h:
-
- * WebView/WebUnarchivingState.h: Removed.
- * WebView/WebUnarchivingState.m: Removed.
-
-2008-03-24 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Mark Rowe.
-
- Bug 18030: REGRESSION(r31236): Space bar fails to scroll down page
- <http://bugs.webkit.org/show_bug.cgi?id=18030>
-
- Rollout keyDown changes from r31236 -- fix for keyDown behaviour is
- tracked by Bug 18057: keyDown incorrectly propagates up the frame tree
- <http://bugs.webkit.org/show_bug.cgi?id=18057>
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView keyDown:]):
-
-2008-03-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>
-
- Reviewed by Maciej, landed by Brady
-
- Bug 3580: iFrames Appear to be Cached
- <http://bugs.webkit.org/show_bug.cgi?id=3580>
-
- Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
- <http://bugs.webkit.org/show_bug.cgi?id=15486>
-
- Bug 15554: Reload causes <object> to use old data
- <http://bugs.webkit.org/show_bug.cgi?id=15554>
-
- If a page is reloaded, a child frame's URL can not be taken from a history item.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _loadURL:referrer:intoChild:]):
-
-2008-03-24 Darin Adler <darin@apple.com>
-
- Reviewed by Beth.
-
- - fix <rdar://problem/5817067> -[WebDataSource unreachableURL] invokes KURL's copy constructor
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem URL]): Use a reference to avoid making a copy.
- * WebView/WebDataSource.mm:
- (-[WebDataSource _URL]): Ditto.
- (-[WebDataSource unreachableURL]): Ditto.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
- * History/WebHistory.mm:
- * Misc/WebElementDictionary.mm:
- * Misc/WebNSAttributedStringExtras.mm:
- Remove unneeded imports of KURL.h.
-
-2008-03-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin's rubberstamp
-
- Rename this file for upcoming work.
-
- * WebView/WebArchive.m: Removed.
- * WebView/WebArchive.mm: Copied from WebKit/mac/WebView/WebArchive.m.
-
-2008-03-24 Alexey Proskuryakov <ap@webkit.org>
-
- Build fix.
-
- * MigrateHeaders.make: Added DOMSVGAltGlyphElement.h and DOMSVGAltGlyphElementInternal.h.
-
-2008-03-23 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej.
-
- Bug 17670: Key events may improperly propagate from iframe to parent frame
- <http://bugs.webkit.org/show_bug.cgi?id=17670>
- Bug 16381: REGRESSION: Shift, command, option, ctrl keys in Gmail Rich Text changes focus
- <http://bugs.webkit.org/show_bug.cgi?id=16381>
-
- Prevent the Cocoa event system from propagating key events to the parent WebHTMLView,
- as that results in us dispatching the key events for each frame going up the frame
- tree.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView keyDown:]):
- (-[WebHTMLView keyUp:]):
- (-[WebHTMLView flagsChanged:]):
-
-2008-03-21 Timothy Hatcher <timothy@apple.com>
-
- Bug 17980: Regression: Inspector highlighting of webpage not cleared when going to new URL
- http://bugs.webkit.org/show_bug.cgi?id=17980
-
- Reviewed by Adam.
-
- The new highlight drawing was not honoring the fade value, so it was
- always drawing at full opacity. The animation code didn't match Windows
- and the new highlight anyway, so it has been removed. The highlight
- how just detaches when it is hidden.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController windowShouldClose:]): Call hideHighlight.
- (-[WebInspectorWindowController close]): Ditto.
- (-[WebInspectorWindowController highlightNode:]): Call attach.
- (-[WebInspectorWindowController hideHighlight]): Call detach and release _currentHighlight.
- * WebInspector/WebNodeHighlight.h:
- * WebInspector/WebNodeHighlight.m:
- (-[WebNodeHighlight initWithTargetView:inspectorController:]):
- (-[WebNodeHighlight dealloc]): Assert we have no _highlightView.
- (-[WebNodeHighlight attach]): Renamed from attachHighlight.
- (-[WebNodeHighlight detach]): Renamed from detachHighlight.
- (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Renamed from setHolesNeedUpdateInTargetViewRect:.
- * WebInspector/WebNodeHighlightView.h:
- * WebInspector/WebNodeHighlightView.m:
- (-[WebNodeHighlightView setNeedsDisplayInRect:]): Renamed from setHolesNeedUpdateInRect:.
-
-2008-03-20 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit.
- This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the
- command-line.
-
- * Configurations/WebKit.xcconfig:
-
-2008-03-20 Adam Roben <aroben@apple.com>
-
- Make WebNodeHighlightView use InspectorController to do its painting
-
- Reviewed by Tim Hatcher.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController highlightNode:]): Pass the
- InspectorController to the WebNodeHighlight, and don't call
- setHighlightedNode: (which has been removed).
- (-[WebInspectorWindowController hideHighlight]): Removed call to
- setHighlightedNode:.
- * WebInspector/WebNodeHighlight.h:
- - Replaced _highlightNode with _inspectorController
- - Removed _highlightedNode accessors
- - Added -inspectorController method
- * WebInspector/WebNodeHighlight.m:
- (-[WebNodeHighlight initWithTargetView:inspectorController:]): Now
- takes an InspectorController* and stores it in _inspectorController.
- (-[WebNodeHighlight dealloc]): Removed code dealing with
- _highlightedNode.
- (-[WebNodeHighlight inspectorController]): Added.
- * WebInspector/WebNodeHighlightView.m: Removed FileInternal category.
- (-[WebNodeHighlightView isFlipped]): Added. WebCore expects all
- GraphicsContexts to be based on a flipped CGContext, so we have to
- specify that this view is flipped.
- (-[WebNodeHighlightView drawRect:]): Changed to create a
- GraphicsContext and pass it to InspectorController::drawNodeHighlight.
-
-2008-03-18 David Hyatt <hyatt@apple.com>
-
- Add support for a preference in WebKit that can be used in nightly builds to test full page
- zoom.
-
- Reviewed by Antti
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebView.mm:
- (-[WebView setTextSizeMultiplier:]):
- (-[WebView canMakeTextSmaller]):
- (-[WebView makeTextSmaller:]):
- (-[WebView canMakeTextLarger]):
- (-[WebView makeTextLarger:]):
- (-[WebView canMakeTextStandardSize]):
- (-[WebView makeTextStandardSize:]):
-
-2008-03-17 Eric Seidel <eric@webkit.org>
-
- Reviewed by darin.
-
- Export _NPN_IntFromIdentifier as part of our NPAPI interface
-
- * Plugins/WebNetscapePluginPackage.m:
- (-[WebNetscapePluginPackage load]):
-
-2008-03-14 Brady Eidson <beidson@apple.com>
-
- Reviewed by Brian Dash's rubberstamp
-
- Remove a class declaration for a class that has never existed
-
- * WebView/WebResource.h:
-
-2008-03-14 David D. Kilzer <ddkilzer@apple.com>
-
- Unify concept of enabling the Mac Java bridge.
-
- Reviewed by Darin and Anders.
-
- * Plugins/WebPluginJava.h: Removed unused file.
- * WebCoreSupport/WebFrameLoaderClient.h:
- (WebFrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
- * WebCoreSupport/WebFrameLoaderClient.mm: Ditto for #import and NSView SPI method.
- (WebFrameLoaderClient::javaApplet): Ditto.
-
-2008-03-13 Antti Koivisto <antti@apple.com>
-
- Reviewed by Darin Adler.
-
- * ForwardingHeaders/wtf/Deque.h: Added.
-
-2008-03-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Call originalRequest, not initialRequest.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource initialRequest]):
-
-2008-03-12 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - cleanup after removing the bridge
-
- * DOM/WebDOMOperations.mm:
- (-[DOMDocument URLWithAttributeString:]): Call computeURL directly.
-
- * Misc/WebCoreStatistics.mm:
- (-[WebFrame renderTreeAsExternalRepresentation]): Call externalRepresentation directly.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView loadPluginRequest:]): Use core function instead of
- _frameLoader method.
- (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
- Ditto.
- * Plugins/WebPluginController.mm:
- (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Ditto.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::frameLoaderDestroyed): Added a call to the new _clearCoreFrame
- method. Without this we could leave a stale frame pointer around.
- (WebFrameLoaderClient::dispatchDidReceiveIcon): Rewrote assertion so it's not the single
- caller of the _isMainFrame method.
- (WebFrameLoaderClient::transitionToCommittedForNewPage): Use core function instead of
- _frameLoader method.
- (WebFrameLoaderClient::createFrame): Moved code here from _addChild.
-
- * WebView/WebFrame.mm: Removed lots of methods. Some were moved elsewhere, others
- turned out to be unused.
- (core): Added overload for DocumentFragment.
- (kit): Ditto.
- (-[WebFrame _loadURL:referrer:intoChild:]): Get to Frame using _private->coreFrame and
- to FrameLoader with _private->coreFrame->loader().
- (-[WebFrame _attachScriptDebugger]): Ditto.
- (-[WebFrame _clearCoreFrame]): Added.
- (-[WebFrame _updateBackground]): More of the same.
- (-[WebFrame _unmarkAllBadGrammar]): Ditto.
- (-[WebFrame _unmarkAllMisspellings]): Ditto.
- (-[WebFrame _hasSelection]): Ditto.
- (-[WebFrame _atMostOneFrameHasSelection]): Ditto.
- (-[WebFrame _findFrameWithSelection]): Ditto.
- (-[WebFrame _dataSource]): Ditto.
- (-[WebFrame _addData:]): Streamlined code a bit.
- (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
- (-[WebFrame _receivedData:textEncodingName:]): Ditto.
- (-[WebFrame _isDescendantOfFrame:]): Ditto.
- (-[WebFrame _bodyBackgroundColor]): Ditto.
- (-[WebFrame _isFrameSet]): Ditto.
- (-[WebFrame _firstLayoutDone]): Ditto.
- (-[WebFrame _loadType]): Ditto.
- (-[WebFrame _isDisplayingStandaloneImage]): Ditto.
- (-[WebFrame name]): Ditto.
- (-[WebFrame DOMDocument]): Ditto.
- (-[WebFrame frameElement]): Ditto.
- (-[WebFrame provisionalDataSource]): Ditto.
- (-[WebFrame dataSource]): Ditto.
- (-[WebFrame loadRequest:]): Ditto.
- (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Ditto.
- (-[WebFrame loadArchive:]): Ditto.
- (-[WebFrame stopLoading]): Ditto.
- (-[WebFrame reload]): Ditto.
- (-[WebFrame findFrameNamed:]): Ditto.
- (-[WebFrame parentFrame]): Ditto.
- (-[WebFrame childFrames]): Ditto.
- (-[WebFrame windowObject]): Ditto.
- (-[WebFrame globalContext]): Ditto.
-
- * WebView/WebFrameInternal.h: Added overloads of core and kit.
- Removed method declarations.
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation documentSource]): Moved code here from WebFrame.
- (formElementFromDOMElement): Ditto.
- (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
- (inputElementFromDOMElement): Ditto.
- (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
- (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
- (-[WebHTMLRepresentation formForElement:]): Ditto.
- (-[WebHTMLRepresentation currentForm]): Ditto.
- (-[WebHTMLRepresentation controlsInForm:]): Ditto.
- (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
- (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _frameOrBoundsChanged]): Moved sendScrollEvent code here from WebFrame.
- (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
- Call createFragmentFromText directly instead of via WebFrame.
- (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
- Moved layout calls here from WebFrame.
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
- (-[WebHTMLView _updateFontPanel]): Ditto, but with fontForSelection.
- (-[WebHTMLView _canSmartCopyOrDelete]): Ditto, but with selectionGranularity.
- (-[WebHTMLView markedRange]): Moved code here from _markedTextNSRange.
- (-[WebHTMLView attributedSubstringFromRange:]): Tweaked code a bit.
- (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
- Moved code here from WebFrame.
- (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
- (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
- (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
- (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
- (-[WebHTMLView unmarkAllTextMatches]): Ditto.
- (-[WebHTMLView rectsForTextMatches]): Ditto.
-
- * WebView/WebHTMLViewInternal.h: Removed unused method declarations.
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Use core function instead of
- _frameLoader method.
-
- * WebView/WebRenderNode.mm:
- (copyRenderNode): Moved code here from WebFrame.
- (-[WebRenderNode initWithWebFrameView:]): Ditto.
-
- * WebView/WebResource.mm:
- (-[WebResource _stringValue]): Moved code here from WebFrame.
-
- * WebView/WebView.mm:
- (-[WebView _close]): Use core function intsead of _frameLoader method.
- (-[WebView setCustomTextEncodingName:]): Ditto.
- (-[WebView setHostWindow:]): Moved code here from WebFrame.
- (aeDescFromJSValue): Moved this here from WebFrame.
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Moved code here from WebFrame.
-
-2008-03-12 Darin Adler <darin@apple.com>
-
- Reviewed by Anders.
-
- - http://bugs.webkit.org/show_bug.cgi?id=17640
- eliminate WebCoreFrameBridge
-
- Moved all the code from the bridge into WebFrame. This need not be the final
- home of these methods -- they can be moved closer to their callers and improved
- further -- but it eliminates the bridge without requiring a rewrite of the code.
- It's a fairly mechanical process (just adding underscores to method names really).
-
- There's even a chance that some of the methods are unused. Those we can remove
- after checking if that's so.
-
- * DOM/WebDOMOperations.mm:
- (-[DOMNode markupString]): Use WebFrame rather than bridge.
- (-[DOMDocument webFrame]): Changed to use the core and kit functions
- instead of using the bridge.
- (-[DOMDocument URLWithAttributeString:]): Use WebFrame rather than bridge.
- (-[DOMRange markupString]): Ditto.
- * DOM/WebDOMOperationsPrivate.h: Removed _bridge methods.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded import.
- * History/WebHistoryItem.mm: Ditto.
-
- * MigrateHeaders.make: Added DOMDocumentFragmentInternal.h.
- * Misc/WebCoreStatistics.mm:
- (-[WebFrame renderTreeAsExternalRepresentation]): Use WebFrame rather than bridge.
-
- * Misc/WebElementDictionary.mm: Removed unneeded import.
-
- * Misc/WebKitStatistics.m:
- (+[WebKitStatistics bridgeCount]): Removed WebBridgeCount and just return 0.
- * Misc/WebKitStatisticsPrivate.h: Ditto.
-
- * Misc/WebNSAttributedStringExtras.mm: Removed unneeded import.
- * Misc/WebNSPasteboardExtras.mm: Ditto.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Use WebFrame
- rather than bridge.
-
- * Plugins/WebNetscapePluginEmbeddedView.mm: Removed unneeded import.
- * Plugins/WebNetscapePluginStream.mm: Ditto.
-
- * Plugins/WebPluginContainerCheck.mm:
- (-[WebPluginContainerCheck _isForbiddenFileLoad]): Use WebFrame rather than
- bridge to get to the WebCore::Frame.
-
- * Plugins/WebPluginController.h: Declare webFrame method and remove bridge method.
- * Plugins/WebPluginController.mm:
- (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Use WebFrame
- rather than bridge.
-
- * WebCoreSupport/WebEditorClient.mm:
- (selectorForKeyEvent): Tweaked comment.
-
- * WebCoreSupport/WebFrameBridge.h: Removed.
- * WebCoreSupport/WebFrameBridge.mm: Removed.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::frameLoaderDestroyed): Removed bridge assertion.
- (WebFrameLoaderClient::detachedFromParent4): Removed bridge teardown code.
- I could remove this function entirely, but it looks like the Qt port is using it.
-
- * WebCoreSupport/WebViewFactory.mm: Removed unneeded import.
-
- * WebView/WebArchiver.mm:
- (+[WebArchiver archiveRange:]): Use WebFrame rather than bridge.
- (+[WebArchiver archiveNode:]): Ditto.
- (+[WebArchiver archiveSelectionInFrame:]): Ditto.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): Ditto.
- (-[WebDataSource _documentFragmentWithArchive:]): Ditto.
- (-[WebDataSource subresources]): Ditto.
- (-[WebDataSource subresourceForURL:]): Ditto.
-
- * WebView/WebDataSourceInternal.h: Removed _bridge method.
-
- * WebView/WebFrame.mm:
- (-[WebFramePrivate dealloc]): Removed code to release the bridge.
- (core): Go directly to the core frame, not via the bridge.
- (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
- Remove the code to deal with the bridge.
- (-[WebFrame _initWithWebFrameView:webView:]): Ditto. Also added code to set the
- shouldCreateRenderers flag, formerly on the bridge.
- (-[WebFrame _updateBackground]): Change to call mehods on self, not bridge.
- (aeDescFromJSValue): Moved here from bridge.
- (-[WebFrame _domain]): Ditto.
- (-[WebFrame _addData:]): Ditto.
- (-[WebFrame _stringWithDocumentTypeStringAndMarkupString:]): Ditto.
- (-[WebFrame _nodesFromList:]): Ditto.
- (-[WebFrame _markupStringFromNode:nodes:]): Ditto.
- (-[WebFrame _markupStringFromRange:nodes:]): Ditto.
- (-[WebFrame _selectedString]): Ditto.
- (-[WebFrame _stringForRange:]): Ditto.
- (-[WebFrame _forceLayoutAdjustingViewSize:]): Ditto.
- (-[WebFrame _forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
- (-[WebFrame _sendScrollEvent]): Ditto.
- (-[WebFrame _drawRect:]): Ditto.
- (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): Ditto.
- (-[WebFrame _adjustPageHeightNew:top:bottom:limit:]): Ditto.
- (-[WebFrame _copyRenderNode:copier:]): Ditto.
- (-[WebFrame _copyRenderTree:]): Ditto.
- (inputElementFromDOMElement): Ditto.
- (formElementFromDOMElement): Ditto.
- (-[WebFrame _elementWithName:inForm:]): Ditto.
- (-[WebFrame _elementDoesAutoComplete:]): Ditto.
- (-[WebFrame _elementIsPassword:]): Ditto.
- (-[WebFrame _formForElement:]): Ditto.
- (-[WebFrame _currentForm]): Ditto.
- (-[WebFrame _controlsInForm:]): Ditto.
- (-[WebFrame _searchForLabels:beforeElement:]): Ditto.
- (-[WebFrame _matchLabels:againstElement:]): Ditto.
- (-[WebFrame _URLWithAttributeString:]): Ditto.
- (-[WebFrame _searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
- (-[WebFrame _markAllMatchesForText:caseSensitive:limit:]): Ditto.
- (-[WebFrame _markedTextMatchesAreHighlighted]): Ditto.
- (-[WebFrame _setMarkedTextMatchesAreHighlighted:]): Ditto.
- (-[WebFrame _unmarkAllTextMatches]): Ditto.
- (-[WebFrame _rectsForTextMatches]): Ditto.
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:]): Ditto.
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto.
- (-[WebFrame _aeDescByEvaluatingJavaScriptFromString:]): Ditto.
- (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
- (-[WebFrame _firstRectForDOMRange:]): Ditto.
- (-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
- (-[WebFrame _baseURL]): Ditto.
- (-[WebFrame _stringWithData:]): Ditto.
- (+[WebFrame _stringWithData:textEncodingName:]): Ditto.
- (-[WebFrame _needsLayout]): Ditto.
- (-[WebFrame _renderTreeAsExternalRepresentation]): Ditto.
- (-[WebFrame _accessibilityTree]): Ditto.
- (-[WebFrame _setBaseBackgroundColor:]): Ditto.
- (-[WebFrame _setDrawsBackground:]): Ditto.
- (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
- Ditto.
- (-[WebFrame _selectionGranularity]): Ditto.
- (-[WebFrame _convertToNSRange:]): Ditto.
- (-[WebFrame _convertToDOMRange:]): Ditto.
- (-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
- (-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
- (-[WebFrame _markDOMRange]): Ditto.
- (-[WebFrame _markedTextNSRange]): Ditto.
- (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
- (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
- (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
- (-[WebFrame _documentFragmentWithText:inContext:]): Ditto.
- (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
- (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
- (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
- (-[WebFrame _replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): Ditto.
- (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
- (-[WebFrame _insertParagraphSeparatorInQuotedContent]): Ditto.
- (-[WebFrame _visiblePositionForPoint:]): Ditto.
- (-[WebFrame _characterRangeAtPoint:]): Ditto.
- (-[WebFrame _typingStyle]): Ditto.
- (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
- (-[WebFrame _fontForSelection:]): Ditto.
- (-[WebFrame _dragSourceMovedTo:]): Ditto.
- (-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
- (-[WebFrame _getData:andResponse:forURL:]): Ditto.
- (-[WebFrame _getAllResourceDatas:andResponses:]): Ditto.
- (-[WebFrame _canProvideDocumentSource]): Ditto.
- (-[WebFrame _canSaveAsWebArchive]): Ditto.
- (-[WebFrame _receivedData:textEncodingName:]): Ditto.
- (-[WebFrame _setShouldCreateRenderers:]): Put the code from the bridge in this preexisting
- function. Couldn't just keep the bridge method because this was already here with the same name.
- (-[WebFrame _selectedNSRange]): Ditto.
- (-[WebFrame _selectNSRange:]): Ditto.
- (-[WebFrame dealloc]): Remove bridge-related code.
- (-[WebFrame finalize]): Ditto.
-
- * WebView/WebFrameInternal.h: Added all the method declarations from the bridge.
- Removed the bridge parameter from the init method. Removed the #if blocks that
- tried to make this header work in non-C++ ObjC files -- they were broken and unused.
- Removed the _bridge method.
-
- * WebView/WebFrameView.mm: Removed the _bridge method.
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation setDataSource:]): Removed the code to set up the bridge
- field.
- (-[WebHTMLRepresentation receivedData:withDataSource:]): Use WebFrame instead of bridge.
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Ditto.
- (-[WebHTMLRepresentation canProvideDocumentSource]): Ditto.
- (-[WebHTMLRepresentation canSaveAsWebArchive]): Ditto.
- (-[WebHTMLRepresentation documentSource]): Ditto.
- (-[WebHTMLRepresentation DOMDocument]): Ditto.
- (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
- (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
- (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
- (-[WebHTMLRepresentation formForElement:]): Ditto.
- (-[WebHTMLRepresentation currentForm]): Ditto.
- (-[WebHTMLRepresentation controlsInForm:]): Ditto.
- (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
- (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
-
- * WebView/WebHTMLRepresentationPrivate.h: Removed the _bridge method.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _documentFragmentWithPaths:]): Use WebFrame instead of bridge.
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Ditto.
- (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
- (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
- (-[WebHTMLView _frameOrBoundsChanged]): Ditto.
- (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
- (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
- (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
- (-[WebHTMLView drawSingleRect:]): Ditto.
- (-[WebHTMLView draggedImage:movedTo:]): Ditto.
- (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
- (-[WebHTMLView knowsPageRange:]): Ditto.
- (-[WebHTMLView accessibilityAttributeValue:]): Ditto.
- (-[WebHTMLView accessibilityFocusedUIElement]): Ditto.
- (-[WebHTMLView accessibilityHitTest:]): Ditto.
- (-[WebHTMLView _accessibilityParentForSubview:]): Ditto.
- (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
- (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
- (-[WebHTMLView _changeSpellingToWord:]): Ditto.
- (-[WebHTMLView startSpeaking:]): Ditto.
- (-[WebHTMLView _updateFontPanel]): Ditto.
- (-[WebHTMLView _canSmartCopyOrDelete]): Ditto.
- (-[WebHTMLView _layoutIfNeeded]): Ditto.
- (-[WebHTMLView characterIndexForPoint:]): Ditto.
- (-[WebHTMLView firstRectForCharacterRange:]): Ditto.
- (-[WebHTMLView selectedRange]): Ditto.
- (-[WebHTMLView markedRange]): Ditto.
- (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
- (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
- (-[WebHTMLView insertText:]): Ditto.
- (-[WebTextCompleteController _insertMatch:]): Ditto.
- (-[WebTextCompleteController doCompletion]): Ditto.
- (-[WebTextCompleteController endRevertingChange:moveLeft:]): Ditto.
- (-[WebHTMLView string]): Ditto.
- (-[WebHTMLView selectedString]): Ditto.
- (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
- (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
- (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
- (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
- (-[WebHTMLView unmarkAllTextMatches]): Ditto.
- (-[WebHTMLView rectsForTextMatches]): Ditto.
- * WebView/WebRenderNode.mm:
- (-[WebRenderNode initWithWebFrameView:]): Ditto.
- * WebView/WebResource.mm:
- (-[WebResource _stringValue]): Ditto.
-
- * WebView/WebScriptDebugDelegate.mm: Removed unneeded include.
-
- * WebView/WebView.mm:
- (-[WebView _dashboardRegions]): Use WebFrame instead of bridge.
- (-[WebView setProhibitsMainFrameScrolling:]): Ditto.
- (-[WebView _setInViewSourceMode:]): Ditto.
- (-[WebView _inViewSourceMode]): Ditto.
- (-[WebView _executeCoreCommandByName:value:]): Ditto.
- (-[WebView stringByEvaluatingJavaScriptFromString:]): Ditto.
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
- (-[WebView scrollDOMRangeToVisible:]): Ditto.
- (-[WebView setSelectedDOMRange:affinity:]): Ditto.
- (-[WebView setEditable:]): Ditto.
- (-[WebView setTypingStyle:]): Ditto.
- (-[WebView typingStyle]): Ditto.
- (-[WebView replaceSelectionWithNode:]): Ditto.
- (-[WebView replaceSelectionWithText:]): Ditto.
- (-[WebView replaceSelectionWithMarkupString:]): Ditto.
- (-[WebView replaceSelectionWithArchive:]): Ditto.
- (-[WebView _insertNewlineInQuotedContent]): Ditto.
- (-[WebView _replaceSelectionWithNode:matchStyle:]): Ditto.
-
-2008-03-12 David Hyatt <hyatt@apple.com>
-
- Make the zoom factor a float and not a percent.
-
- Reviewed by antti
-
- * WebView/WebView.mm:
- (-[WebView _setZoomMultiplier:isTextOnly:]):
-
-2008-03-11 David Hyatt <hyatt@apple.com>
-
- This patch prepares Mac WebKit to handle two different zooming modes (full page zoom and text only zoom).
- New API is added that is parallel to the text zoom public API. You can get/set a pageSizeMultiplier and you
- can zoom the page in, out or reset it to the standard size.
-
- In the implementation only one zoom factor is stored, and setting one multiplier will shift you into that mode
- and set the common zoom factor. In other words you can't combine text zoom and page zoom. One will always
- win.
-
- Reviewed by Tim H.
-
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
- * WebView/WebDocumentInternal.h:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView viewDidMoveToSuperview]):
- * WebView/WebPDFView.h:
- * WebView/WebPDFView.mm:
- (-[WebPDFView _zoomOut:]):
- (-[WebPDFView _zoomIn:]):
- (-[WebPDFView _resetZoom:]):
- (-[WebPDFView _canZoomOut]):
- (-[WebPDFView _canZoomIn]):
- (-[WebPDFView _canResetZoom]):
- * WebView/WebView.mm:
- (-[WebViewPrivate init]):
- (-[WebView setTextSizeMultiplier:]):
- (-[WebView textSizeMultiplier]):
- (-[WebView _setZoomMultiplier:isTextOnly:]):
- (-[WebView _zoomMultiplier:]):
- (-[WebView _realZoomMultiplier]):
- (-[WebView _realZoomMultiplierIsTextOnly]):
- (-[WebView _canZoomOut:]):
- (-[WebView _canZoomIn:]):
- (-[WebView _zoomOut:isTextOnly:]):
- (-[WebView _zoomIn:isTextOnly:]):
- (-[WebView _canResetZoom:]):
- (-[WebView _resetZoom:isTextOnly:]):
- (-[WebView canMakeTextSmaller]):
- (-[WebView makeTextSmaller:]):
- (-[WebView canMakeTextLarger]):
- (-[WebView makeTextLarger:]):
- (-[WebView canMakeTextStandardSize]):
- (-[WebView makeTextStandardSize:]):
- (-[WebView setPageSizeMultiplier:]):
- (-[WebView pageSizeMultiplier]):
- (-[WebView canZoomPageIn]):
- (-[WebView zoomPageIn:]):
- (-[WebView canZoomPageOut]):
- (-[WebView zoomPageOut:]):
- (-[WebView canResetPageZoom]):
- (-[WebView resetPageZoom:]):
- (-[WebView _searchWithSpotlightFromMenu:]):
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-2008-03-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler and Sam Weinig.
-
- - <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Made WKGetCGFontFromNSFont and
- WKGetNSFontATSUFontId Tiger-only.
-
-2008-03-12 Darin Adler <darin@apple.com>
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=17794
- REGRESSION (r30980): 23 tests hanging on the Mac buildbot
-
- * WebView/WebFrame.mm:
- (-[WebFrame _initWithWebFrameView:webView:bridge:]): Added missing call to set
- up pointer from the bridge to the frame. (My next check-in removes the bridge
- entirely, but we need this until then.)
-
-2008-03-11 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - remove all bridge-related things from WebCore except the bridge itself
-
- * DOM/WebDOMOperations.mm:
- (-[DOMNode _bridge]): Reimplemented to not use the bridgeForDOMDocument: method.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded include.
-
- * Plugins/WebPluginController.mm: Ditto.
-
- * WebCoreSupport/WebFrameBridge.h: Removed unneeded things, including the
- init and close methods. Added a setWebFrame: method.
-
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge setWebFrame:]): Added.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::frameLoaderDestroyed): Added an assertion.
- (WebFrameLoaderClient::detachedFromParent4): Moved the call to close on the
- bridge here. Soon we will be able to remove this entirely!
- (WebFrameLoaderClient::createFrame): Rewrote this to use the method moved
- into WebFrame from the bridge.
-
- * WebView/WebFrame.mm:
- (-[WebFramePrivate dealloc]): Added code to release the bridge, because it's
- now owned by the frame.
- (-[WebFramePrivate finalize]): Added this missing method. We'd leak the script
- debugger under GC without this!
- (kit): Rewrote the function that maps from a WebCore::Frame to a WebFrame to
- use WebFrameLoaderClient instead of the bridge.
- (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Added.
- This is code that used to live in the bridge's init function.
- (+[WebFrame _createMainFrameWithPage:frameName:frameView:]): Ditto.
- (+[WebFrame WebCore::_createSubframeWithOwnerElement:frameName:frameView:]): Ditto.
- (-[WebFrame _initWithWebFrameView:webView:bridge:]): Retain the bridge, since
- the WebView is now the bridge's owner.
- (-[WebFrame _updateBackground]): Changed this one call site that was calling the
- WebCore::Frame::bridge function directly to use the kit function instead.
- (-[WebFrame dealloc]): Added code to clear the WebFrame pointer in the bridge.
- This code won't last long -- we're eliminating the bridge soon.
- (-[WebFrame finalize]): Ditto.
-
- * WebView/WebFrameInternal.h: Added a coreFrame backpointer and two new methods
- for creating frames.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]): Rewrote this to use
- the method moved into WebFrame from the bridge. Gets rid of the unpleasant idiom
- where we have to allocate a WebFrameBridge and then immediately release it.
-
-2008-03-11 Darin Adler <darin@apple.com>
-
- Reviewed by Anders.
-
- - remove code depending on the bridge to get from an NSView to a WebCore::Frame
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::transitionToCommittedForNewPage): Remove incorrect call
- to setView. A couple lines later, there is a call to _install, which sets the
- view to the scroll view.
-
- * WebCoreSupport/WebViewFactory.mm: Removed bridgeForView method.
-
- * WebView/WebDynamicScrollBarsView.h: Moved most of the declarations out of
- this file, since it's used by Safari.
- * WebView/WebDynamicScrollBarsViewInternal.h: Added.
- * WebView/WebDynamicScrollBarsView.m:
- (-[WebDynamicScrollBarsView updateScrollers]): Ditto.
- (-[WebDynamicScrollBarsView setAllowsScrolling:]): Ditto.
- (-[WebDynamicScrollBarsView allowsScrolling]): Ditto.
- (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): Ditto.
- (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]): Ditto.
- (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): Ditto.
- (-[WebDynamicScrollBarsView allowsVerticalScrolling]): Ditto.
- (-[WebDynamicScrollBarsView horizontalScrollingMode]): Ditto.
- (-[WebDynamicScrollBarsView verticalScrollingMode]): Ditto.
- (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): Ditto.
- (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): Ditto.
- (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): Ditto.
- (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): Ditto.
- (-[WebDynamicScrollBarsView setScrollingMode:]): Ditto.
- (-[WebDynamicScrollBarsView setScrollingMode:andLock:]): Ditto.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _web_frame]): Added. Replaces the webCoreBridge method.
-
- * WebView/WebView.mm:
- (-[WebView setAlwaysShowVerticalScroller:]): Updated for changes to WebCoreFrameView.h.
- (-[WebView alwaysShowVerticalScroller]): Ditto.
- (-[WebView setAlwaysShowHorizontalScroller:]): Ditto.
- (-[WebView alwaysShowHorizontalScroller]): Ditto.
-
-2008-03-11 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
-
- * WebCoreSupport/WebChromeClient.h: Added new virtual functions that replace
- bridge methods.
- * WebCoreSupport/WebChromeClient.mm: Added lots of BEGIN_BLOCK_OBJC_EXCEPTIONS
- to recently-created functions.
- (WebChromeClient::firstResponder): Moved code here from the bridge.
- (WebChromeClient::makeFirstResponder): Ditto.
- (WebChromeClient::runOpenPanel): Ditto.
- (WebChromeClient::willPopUpMenu): Ditto.
-
- * WebCoreSupport/WebFrameBridge.h: Removed almost everything. What's left
- is related to creating the bridge and connecting it to WebCore, which will
- go next when I eliminate use of the bridge to get to/from the Frame*.
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge close]): Moved the code to track the bridge count here
- instead of the dealloc and finalize methods.
-
-2008-03-11 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - update code affected by Range changes
-
- * Misc/WebNSAttributedStringExtras.mm:
- (+[NSAttributedString _web_attributedStringFromRange:]): Update for name changes.
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
- Use Range::create.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView attributedString]): Ditto.
-
-2008-03-10 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - eliminate keyboard UI mode method from WebCoreFrameBridge
-
- * WebCoreSupport/WebChromeClient.h: Added keyboardUIMode function.
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::keyboardUIMode): Ditto. Calls WebView.
- * WebCoreSupport/WebFrameBridge.h: Removed unused things, including the
- fields for keyboard UI mode.
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge dealloc]): Removed unneeded code; eliminated the fini
- method.
- (-[WebFrameBridge finalize]): Ditto.
- * WebView/WebView.mm: Moved the keyboard mode code in here.
- (-[WebView _close]): Remove observer from the distributed notification
- center as well as the normal one.
- (-[WebView _retrieveKeyboardUIModeFromPreferences:]): Added. Code moved
- here from the bridge.
- (-[WebView _keyboardUIMode]): Ditto.
- * WebView/WebViewInternal.h: Added _keyboardUIMode method.
-
-2008-03-10 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - eliminate Java applet methods from WebCoreFrameBridge
-
- * WebCoreSupport/WebChromeClient.mm: Removed unneeded headers and declarations.
- * WebCoreSupport/WebFrameBridge.mm: Ditto. Also removed unneeded methods, including
- the ones that load Java applets.
- * WebCoreSupport/WebFrameLoaderClient.h: Added javaApplet function.
- * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
-
-2008-03-07 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Darin Adler.
-
- Done with Lars.
-
- Simplified WebViewFactory's refreshPlugins method to only refresh the
- plugins and not reload the frames anymore since that's now done in a
- platform independent manner by WebCore::Page.
-
- Also removed the now unused pluginNameForMIMEType and
- pluginSupportsMIMEType methods.
-
- * WebCoreSupport/WebViewFactory.mm:
- * WebView/WebFrame.mm:
- * WebView/WebFrameInternal.h:
- * WebView/WebView.mm:
-
-2008-03-08 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix 64-bit build with GCC 4.2.
-
- * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Use NSUInteger in place of unsigned where required.
- * DefaultDelegates/WebDefaultUIDelegate.m: Ditto.
- * History/WebHistoryItem.mm: Ditto.
- * Misc/WebElementDictionary.mm: Ditto.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::objectContentType): Move variable declaration outside of if to avoid warning about the
- variable being unused in 64-bit.
- * WebCoreSupport/WebInspectorClient.mm: Use NSUInteger in place of unsigned where required.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Use CGFloat in place of float where required.
- (-[WebTextCompleteController numberOfRowsInTableView:]): Use NSInteger in place of int where required.
-
-2008-03-08 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - eliminate custom highlight methods from WebCoreFrameBridge
-
- * WebCoreSupport/WebChromeClient.h: Added custom highlight functions.
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::customHighlightRect): Moved code here from bridge.
- (WebChromeClient::paintCustomHighlight): Ditto.
- * WebCoreSupport/WebFrameBridge.mm: Removed code here.
-
-2008-03-07 David D. Kilzer <ddkilzer@apple.com>
-
- Unify concept of enabling Netscape Plug-in API (NPAPI).
-
- Reviewed by Darin Adler.
-
- * WebKit.exp: Removed unused class export for WebBaseNetscapePluginView.
-
- * WebKitPrefix.h: Removed WTF_USE_NPOBJECT since we now use
- ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.
-
- * Plugins/WebBaseNetscapePluginStream.h: Replaced #ifndef __LP64__ with
- #if ENABLE(NETSCAPE_PLUGIN_API).
- * Plugins/WebBaseNetscapePluginStream.mm: Ditto.
- * Plugins/WebBaseNetscapePluginView.h: Ditto.
- * Plugins/WebBaseNetscapePluginView.mm: Ditto.
- * Plugins/WebBaseNetscapePluginViewInternal.h: Ditto.
- * Plugins/WebBaseNetscapePluginViewPrivate.h: Ditto.
- * Plugins/WebBasePluginPackage.h: Ditto.
- * Plugins/WebBasePluginPackage.m: Ditto.
- (+[WebBasePluginPackage pluginWithPath:]):
- * Plugins/WebNetscapeDeprecatedFunctions.c: Ditto.
- * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
- * Plugins/WebNetscapePluginEmbeddedView.h: Ditto.
- * Plugins/WebNetscapePluginEmbeddedView.mm: Ditto.
- * Plugins/WebNetscapePluginPackage.h: Ditto.
- * Plugins/WebNetscapePluginPackage.m: Ditto.
- * Plugins/WebNetscapePluginStream.h: Ditto.
- * Plugins/WebNetscapePluginStream.mm: Ditto.
- * Plugins/WebPluginDatabase.m: Ditto.
- (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
- * Plugins/npapi.m: Ditto.
- * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
- (WebFrameLoaderClient::objectContentType):
- (WebFrameLoaderClient::createPlugin):
- * WebView/WebHTMLView.mm: Ditto.
- (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
- * WebView/WebHTMLViewInternal.h: Ditto.
-
- * WebView/WebFrame.mm: Replaced #ifndef __LP64__ with
- #if ENABLE(NETSCAPE_PLUGIN_API). Moved methods below from (WebPrivate)
- category to (WebInternal) category so we don't expose the ENABLE() macro
- from the private header.
- (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
- (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
- * WebView/WebFrameInternal.h: Ditto.
- * WebView/WebFramePrivate.h: Ditto.
-
-2008-03-07 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5579292> REGRESSION: (safari 2-3): "Default default" encoding for Korean
- changed from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites
-
- * WebView/WebPreferences.m:
- (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Make encoding name match
- the one used in Safari.
-
-2008-03-07 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fix WebKit build with GCC 4.2.
-
- * Plugins/WebBaseNetscapePluginView.mm: Use the correct return type in method signature.
-
-2008-03-07 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - eliminated WebCoreFrameBridge runOpenPanel
-
- * WebCoreSupport/WebChromeClient.h: Added runOpenPanel.
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::runOpenPanel): Added.
- (-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the
- FileChooser so it can get a result from the UI delegate.
- (-[WebOpenPanelResultListener dealloc]): Added.
- (-[WebOpenPanelResultListener finalize]): Added.
- (-[WebOpenPanelResultListener cancel]): Added.
- (-[WebOpenPanelResultListener chooseFilename:]): Added.
-
-2008-03-06 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - fix regression test failures from the visited-link change
-
- * History/WebHistory.mm:
- (+[WebHistory setOptionalSharedHistory:]): Call PageGroup::setShouldTrackVisitedLinks
- to turn off visited links if there is no history object. Also call
- removeAllVisitedLinks so we can start over from scratch with the new history.
-
-2008-03-06 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - fix a regression from r30741: a crash under
- WebFrameLoaderClient::createPlugin() when showing a Mail message with
- an attachment
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin):
-
-2008-03-06 Darin Adler <darin@apple.com>
-
- - fix Tiger build
-
- * History/WebHistory.mm: Added include of WebTypesInternal.h.
-
-2008-03-06 Darin Adler <darin@apple.com>
-
- - fix Release build
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore.
- (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if.
- (-[WebHistoryPrivate saveToURL:error:]): Ditto.
-
-2008-03-06 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=17526
- REGRESSION: iframes are added to Safari's History menu
- by separating the visited link machinery from global history
-
- * History/WebHistory.mm: Moved WebHistoryPrivate inside this file.
- (-[WebHistoryPrivate removeItemFromDateCaches:]): Removed the underscore from this
- method name, since it's on a private object.
- (-[WebHistoryPrivate removeItemForURLString:]): Added a call to the
- PageGroup::removeAllVisitedLinks function if the last URL was removed.
- (-[WebHistoryPrivate addItemToDateCaches:]): Removed the underscore from this
- method name, since it's on a private object.
- (-[WebHistoryPrivate removeAllItems]): Call PageGroup::removeAllVisitedLinks.
- (-[WebHistoryPrivate ageLimitDate]): Removed the underscore from this
- method name, since it's on a private object.
- (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
- Ditto.
- (-[WebHistoryPrivate saveHistoryGuts:URL:error:]): Ditto. Also changed this
- to correctly return the error by using the newer version of writeToURL: and
- removed the FIXME about that.
- (-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Added. Calls addVisitedLink
- for every link in the history.
- (-[WebHistory saveToURL:error:]): Removed the FIXME, since we do get the error now.
- (-[WebHistory addItem:]): Moved into the WebPrivate category.
- (-[WebHistory addItemForURL:]): Ditto.
- (-[WebHistory _addItemForURL:title:]): Added. Used for the normal case where we
- create an item and already know its title.
- (-[WebHistory ageLimitDate]): Moved into the WebPrivate category.
- (-[WebHistory containsItemForURLString:]): Ditto.
- (-[WebHistory removeItem:]): Ditto.
- (-[WebHistory setLastVisitedTimeInterval:forItem:]): Ditto.
- (-[WebHistory _itemForURLString:]): Ditto.
- (-[WebHistory _addVisitedLinksToPageGroup:]): Added. For use only inside WebKit.
-
- * History/WebHistoryInternal.h: Added.
- * History/WebHistoryItemInternal.h: Tweaked formatting and includes.
- * History/WebHistoryPrivate.h: Moved the WebHistoryPrivate class out of this header.
- Also reorganized what was left behind.
-
- * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks.
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::populateVisitedLinks): Added a call to the new
- -[WebHistory _addVisitedLinksToPageGroup:] method.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::updateGlobalHistory): Changed code to use the new
- -[WebHistory _addItemForURL:title:] method.
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}
-
- Reviewed by Kevin M.
-
- * WebView/WebFrame.mm:
- * WebView/WebScriptDebugDelegate.mm:
- * WebView/WebScriptDebugger.h: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.h.
- * WebView/WebScriptDebugger.mm: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.mm.
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Rename WebCoreScriptDebuggerImp to WebScriptDebugger
-
- Reviewed by Kevin M.
-
- * WebView/WebCoreScriptDebuggerImp.h:
- * WebView/WebCoreScriptDebuggerImp.mm:
- * WebView/WebFrame.mm:
- (-[WebFrame _attachScriptDebugger]):
- * WebView/WebFrameInternal.h:
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Remove WebScriptDebugger
-
- Uses of WebScriptDebugger have been replaced with
- WebCoreScriptDebuggerImp.
-
- Reviewed by Kevin M.
-
- * WebView/WebFrame.mm:
- (-[WebFramePrivate dealloc]): Use delete instead of release since
- WebCoreScriptDebuggerImp is a C++ class.
- (-[WebFrame _attachScriptDebugger]): Updated to use early returns and
- WebCoreScriptDebuggerImp.
- (-[WebFrame _detachScriptDebugger]): Ditto.
- * WebView/WebFrameInternal.h:
- * WebView/WebScriptDebugDelegate.mm: Removed WebScriptDebugger
- * WebView/WebScriptDebugDelegatePrivate.h: Removed.
- * WebView/WebView.mm:
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Remove -webFrame and -globalObject from WebScriptDebugger
-
- WebCoreScriptDebuggerImp is now unaware of WebScriptDebugger
-
- Reviewed by Kevin M.
-
- * WebView/WebCoreScriptDebuggerImp.h: Removed WebScriptDebugger*
- parameter to the constructor.
- * WebView/WebCoreScriptDebuggerImp.mm:
- (toWebFrame): Added.
- (WebCoreScriptDebuggerImp::sourceParsed): Call toWebFrame.
- (WebCoreScriptDebuggerImp::callEvent): Ditto, and get the Frame's
- WindowScriptObject ourselves instead of asking WebScriptDebugger for
- it.
- (WebCoreScriptDebuggerImp::atStatement): Call toWebFrame.
- (WebCoreScriptDebuggerImp::returnEvent): Ditto.
- (WebCoreScriptDebuggerImp::exception): Ditto.
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptDebugger initWithWebFrame:]): Updated for change to
- WebScriptDebuggerImp's constructor.
- * WebView/WebScriptDebugDelegatePrivate.h: Removed
- -webFrame/-globalObject.
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Remove -enterFrame: and -leaveFrame from WebScriptDebugger
-
- Reviewed by Kevin M.
-
- * WebView/WebCoreScriptDebuggerImp.h: Changed to store m_topCallFrame
- in a RetainPtr, now that WebCoreScriptDebuggerImp is in charge of its
- lifetime.
- * WebView/WebCoreScriptDebuggerImp.mm:
- - Added declaration of -[WebScriptCallFrame
- _initWithGlobalObject:caller:state:].
- - Changed most uses of m_topCallFrame to m_topCallFrame.get()
- (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Removed
- now-unnecessary initialization of m_topCallFrame.
- (WebCoreScriptDebuggerImp::callEvent): Replaced call to enterFrame:
- with its implementation. The one difference between this
- implementation and the old enterFrame: method is that we don't hand
- our reference to m_topCallFrame to _initWithGlobalObject: -- that
- method must now retain the passed-in WebScriptCallFrame manually.
- (WebCoreScriptDebuggerImp::atStatement):
- (WebCoreScriptDebuggerImp::returnEvent): Replaced call to leaveFrame
- with its implementation.
- (WebCoreScriptDebuggerImp::exception):
- * WebView/WebScriptDebugDelegate.mm: Removed declaration of
- -[WebScriptCallFrame _initWithGlobalObject:caller:state:].
- (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Changed
- to retain the passed-in caller.
- * WebView/WebScriptDebugDelegatePrivate.h:
- - Removed _current ivar
- - Removed enterFrame:/leaveFrame declarations.
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Remove -parsedSource: from WebScriptDebugger
-
- Reviewed by Kevin M.
-
- * WebView/WebCoreScriptDebuggerImp.mm:
- (WebCoreScriptDebuggerImp::sourceParsed): Moved code here from
- -[WebScriptDebugger parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]
- * WebView/WebScriptDebugDelegate.mm: Removed -parsedSource:.
- * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Remove -enteredFrame:, -leavingFrame:, and -exceptionRaised: from WebScriptDebugger
-
- Reviewed by Kevin M.
-
- * WebView/WebCoreScriptDebuggerImp.mm:
- (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Changed to call
- trhough to callEvent instead of duplicating its code here.
- (WebCoreScriptDebuggerImp::callEvent): Moved code from
- -[WebScriptDebugger enteredFrame:sourceId:line:] here.
- (WebCoreScriptDebuggerImp::returnEvent): Moved code from
- -[WebScriptDebugger leavingFrame:sourceId:line:] here.
- (WebCoreScriptDebuggerImp::exception): Moved code from
- -[WebScriptDebugger exceptionRaised:sourceId:line:] here.
- * WebView/WebScriptDebugDelegate.mm: Removed -enteredFrame:,
- -leavingFrame:, and -exceptionRaised:.
- * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Remove -[WebScriptDebugger hitStatement:sourceId:line:]
-
- Reviewed by Kevin M.
-
- * WebView/WebCoreScriptDebuggerImp.mm:
- (WebCoreScriptDebuggerImp::atStatement): Moved code here from
- -[WebScriptDebugger hitStatement:sourceId:line:].
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptDebugger webFrame]): Added.
- * WebView/WebScriptDebugDelegatePrivate.h:
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Remove WebCoreScriptDebugger
-
- Reviewed by Kevin M.
-
- * WebView/WebCoreScriptDebugger.h: Removed.
- * WebView/WebCoreScriptDebugger.mm: Removed.
- * WebView/WebCoreScriptDebuggerImp.h: Replaced WebCoreScriptDebugger
- with WebScriptDebugger.
- * WebView/WebCoreScriptDebuggerImp.mm: Ditto, and replaced [m_debugger
- delegate] with just m_debugger.
- (toNSString): Moved here from WebCoreScriptDebugger.mm.
- (toNSURL): Ditto.
- (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
- (WebCoreScriptDebuggerImp::sourceParsed):
- (WebCoreScriptDebuggerImp::callEvent):
- (WebCoreScriptDebuggerImp::atStatement):
- (WebCoreScriptDebuggerImp::returnEvent):
- (WebCoreScriptDebuggerImp::exception):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptDebugger initWithWebFrame:]): _debugger now holds a
- WebCoreScriptDebuggerImp, so initialize it properly.
- * WebView/WebScriptDebugDelegatePrivate.h: Changed _debugger to hold a
- WebCoreScriptDebuggerImp.
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Move WebCoreScriptDebuggerImp to its own source files
-
- Also changed WebCoreScriptDebuggerImp coding style to match our style
- guidelines.
-
- Reviewed by Kevin M.
-
- * WebView/WebCoreScriptDebugger.h: Added declaration of toNSURL
- function.
- * WebView/WebCoreScriptDebugger.mm: Removed WebCoreScriptDebuggerImp
- implementation.
- (toNSURL): Made no longer static.
- * WebView/WebCoreScriptDebuggerImp.h: Added.
- * WebView/WebCoreScriptDebuggerImp.mm: Added. Code was moved here from
- WebCoreScriptDebugger.mm and cleaned up.
- (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
- (WebCoreScriptDebuggerImp::sourceParsed):
- (WebCoreScriptDebuggerImp::callEvent):
- (WebCoreScriptDebuggerImp::atStatement):
- (WebCoreScriptDebuggerImp::returnEvent):
- (WebCoreScriptDebuggerImp::exception):
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDebugger
-
- Reviewed by Kevin M.
-
- * WebView/WebCoreScriptDebugger.h:
- - Removed newFrameWithGlobalObject:caller:state: from
- WebScriptDebugger protocol
- - Added enterFrame: and leaveFrame: to WebScriptDebugger protocol
- - Removed _current ivar from WebCoreScriptDebugger
- * WebView/WebCoreScriptDebugger.mm:
- (WebCoreScriptDebuggerImp::callEvent): Changed to call enterFrame on
- the delegate.
- (WebCoreScriptDebuggerImp::returnEvent): Ditto for leaveFrame.
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptDebugger dealloc]): Added code to release _current.
- (-[WebScriptDebugger enterFrame:]): Added. Code came from
- WebCoreScriptDebugger.
- (-[WebScriptDebugger leaveFrame]): Ditto.
- * WebView/WebScriptDebugDelegatePrivate.h: Added _current ivar.
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Remove WebCoreScriptCallFrame
-
- Reviewed by Tim.
-
- * WebView/WebCoreScriptDebugger.h:
- - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
- - Replaced -newWrapperForFrame: with
- -newFrameWithGlobalObject:caller:state:
- - Removed WebCoreScriptCallFrame interface.
- * WebView/WebCoreScriptDebugger.mm: Replaced WebCoreScriptCallFrame
- with WebScriptCallFrame.
- (-[WebCoreScriptDebugger _enterFrame:]): Changed to call
- -newFrameWithGlobalObject:caller:state.
- (-[WebCoreScriptDebugger _leaveFrame]):
- * WebView/WebScriptDebugDelegate.h: Changed WebScriptCallFrame's
- _private ivar to be of type WebScriptCallFramePrivate*.
- * WebView/WebScriptDebugDelegate.mm:
- - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
- - Added WebScriptCallFramePrivate
- (-[WebScriptDebugger enteredFrame:sourceId:line:]):
- (-[WebScriptDebugger hitStatement:sourceId:line:]):
- (-[WebScriptDebugger leavingFrame:sourceId:line:]):
- (-[WebScriptDebugger exceptionRaised:sourceId:line:]):
- (-[WebScriptCallFramePrivate dealloc]): Added.
- (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Added.
- Code came from WebCoreScriptCallFrame.
- (-[WebScriptCallFrame dealloc]): Added a call to release the _private
- ivar.
- (-[WebScriptCallFrame _convertValueToObjcValue:]): Replaced calls to
- _private with direct access of _private's ivars.
- (-[WebScriptCallFrame caller]): Ditto.
- (-[WebScriptCallFrame scopeChain]): Ditto.
- (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Move -_convertValueToObjcValue to WebScriptCallFrame
-
- Reviewed by Darin Adler.
-
- * WebView/WebCoreScriptDebugger.h: Removed declaration of
- -_convertValueToObjcValue.
- * WebView/WebCoreScriptDebugger.mm: Removed -_convertValueToObjcValue.
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame _convertValueToObjcValue:]): Added. Code came
- from -[WebCoreScriptCallFrame _convertValueToObjcValue].
- (-[WebScriptCallFrame scopeChain]): Changed to call
- -_convertValueToObjcValue on self instead of _private.
- (-[WebScriptCallFrame exception]): Ditto.
- (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Move -exception and -evaluateWebScript: to WebScriptCallFrame
-
- Reviewed by Darin Adler.
-
- * WebView/WebCoreScriptDebugger.h: Removed declarations of -exception
- and -evaluateWebScript:.
- * WebView/WebCoreScriptDebugger.mm: Removed -exception and
- -evaluateWebScript:.
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame exception]): Added. Code came from
- -[WebCoreScriptCallFrame exception].
- (-[WebScriptCallFrame evaluateWebScript:]): Added. Code came from
- -[WebCoreScriptCallFrame evaluateWebScript:].
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Move -scopeChain to WebScriptCallFrame
-
- Reviewed by Darin Adler.
-
- * WebView/WebCoreScriptDebugger.h:
- - Added declarations of -globalObject and -_convertValueToObjcValue:
- to WebCoreScriptCallFrame
- - Removed declaration of -scopeChain.
- * WebView/WebCoreScriptDebugger.mm: Moved -_convertValueToObjcValue
- within the main WebCoreScriptCallFrame implementation.
- (-[WebCoreScriptCallFrame globalObject]): Added.
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]): Added. Code came from
- -[WebCoreScriptCallFrame scopeChain].
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Move -functionName from WebCoreScriptCallFrame to WebScriptCallFrame
-
- Reviewed by Darin Adler.
-
- * WebView/WebCoreScriptDebugger.h:
- - Removed #else case of #ifdef __cplusplus since this file is only
- ever used by C++ Objective-C files
- - Removed 'using KJS::ExecState' statement since we prefer not to
- have using statements in header files
- - Consequently prefixed uses of ExecState with KJS::
- - Added declaration of toNSString method that takes a const
- UString&
- - Added declaration of -[WebCoreScriptCallFrame state]
- - Removed declaration of -[WebCoreScriptCallFrame functionName]
- * WebView/WebCoreScriptDebugger.mm:
- (toNSString): Made this no longer static.
- (-[WebCoreScriptCallFrame state]): Added.
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame functionName]): Added. Code came from
- -[WebCoreScriptCallFrame functionName], though I changed some nested
- ifs into early returns.
-
-2008-03-05 Adam Roben <aroben@apple.com>
-
- Move WebCoreScriptDebugger to WebKit
-
- Reviewed by Darin Adler.
-
- * WebView/WebCoreScriptDebugger.h: Renamed from WebCore/page/mac/WebCoreScriptDebugger.h.
- * WebView/WebCoreScriptDebugger.mm: Renamed from WebCore/page/mac/WebCoreScriptDebugger.mm.
- (toNSString):
- (toNSURL):
- (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
- (WebCoreScriptDebuggerImp::sourceParsed):
- (WebCoreScriptDebuggerImp::callEvent):
- (WebCoreScriptDebuggerImp::atStatement):
- (WebCoreScriptDebuggerImp::returnEvent):
- (WebCoreScriptDebuggerImp::exception):
- (+[WebCoreScriptDebugger initialize]):
- (-[WebCoreScriptDebugger initWithDelegate:]):
- (-[WebCoreScriptDebugger dealloc]):
- (-[WebCoreScriptDebugger finalize]):
- (-[WebCoreScriptDebugger delegate]):
- (-[WebCoreScriptDebugger _enterFrame:]):
- (-[WebCoreScriptDebugger _leaveFrame]):
- (-[WebCoreScriptCallFrame _initWithGlobalObject:caller:state:]):
- (-[WebCoreScriptCallFrame _setWrapper:]):
- (-[WebCoreScriptCallFrame _convertValueToObjcValue:]):
- (-[WebCoreScriptCallFrame dealloc]):
- (-[WebCoreScriptCallFrame wrapper]):
- (-[WebCoreScriptCallFrame caller]):
- (-[WebCoreScriptCallFrame scopeChain]):
- (-[WebCoreScriptCallFrame functionName]):
- (-[WebCoreScriptCallFrame exception]):
- (-[WebCoreScriptCallFrame evaluateWebScript:]):
- * WebView/WebScriptDebugDelegate.mm: Updated header path.
- * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
-
-2008-03-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoff.
-
- Include file changes.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- * Plugins/WebNetscapePluginPackage.m:
-
-2008-03-04 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5720160> Browser windows "do nothing" while modal
- dialog or menu is up due to run loop modes (or while scrolling)
-
- Add new API that lets a WebView be scheduled with multiple runloops and modes.
- This lets loading continue when in a nested runloop or in a different mode.
-
- * Misc/WebKitVersionChecks.h: Add a new version define:
- WEBKIT_FIRST_VERSION_WITH_LOADING_DURING_COMMON_RUNLOOP_MODES.
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]): Schedule in the main runloop and with
- the default runloop mode if we are linked on an earlier WebKit version, use common modes otherwise.
- (-[WebView scheduleInRunLoop:forMode:]): New API, that calls through to Page.
- (-[WebView unscheduleFromRunLoop:forMode:]): Ditto.
- * WebView/WebViewPrivate.h: Add the new pending API methods.
-
-2008-03-04 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix crash that happens when trying to load a page with a Java applet.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- Don't release the names and values array - the kit method returns an autoreleased array.
-
-2008-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - fix 200+ failing regression tests
- - fix http://bugs.webkit.org/show_bug.cgi?id=17668
- Vertical scrollbar at slashdot.org is randomly not shown
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::transitionToCommittedForNewPage): Changed the refcounting
- code here to exactly match the way it was before it was moved from WebCore. I had
- introduced a storage leak and that was causing problems with scroll bars!
-
-2008-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - remove WebCoreFrameBridge reapplyStyles method
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView reapplyStyles]): Moved code to reapply styles here from the bridge.
-
-2008-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - eliminate WebCoreFrameBridge createFrameViewWithNSView
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
- Moved code here from createFrameViewWithNSView.
-
-2008-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - removed WebCoreFrameBridge scrollOverflowInDirection
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _scrollOverflowInDirection:granularity:]): Changed to call
- EventHandler directly instead of using the bridge.
- (-[WebFrameView scrollToBeginningOfDocument:]): Updated to use WebCore enums instead
- of the ones from the bridge.
- (-[WebFrameView scrollToEndOfDocument:]): Ditto.
- (-[WebFrameView _pageVertically:]): Ditto.
- (-[WebFrameView _pageHorizontally:]): Ditto.
- (-[WebFrameView _scrollLineVertically:]): Ditto.
- (-[WebFrameView _scrollLineHorizontally:]): Ditto.
-
-2008-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - remove WebCoreFrameBridge installInFrame: method
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::transitionToCommittedForNewPage): Call
- -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
- * WebView/WebFrameView.mm:
- (-[WebFrameView _install]): Added. Has code from -[WebCoreFrameBridge installInFrame:].
- (-[WebFrameView _setCustomScrollViewClass:]): Used early return idiom so the entire
- method isn't nested inside an if statement. Call
- -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
- * WebView/WebFrameViewInternal.h: Added declaration of _install method so it can be
- used in WebFrameLoaderClient.mm.
-
-2008-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - remove WebCoreFrameBridge window method
-
- * WebCoreSupport/WebFrameBridge.mm: Removed window method.
-
-2008-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - move code from WebFrameBridge into WebFrameLoaderClient
-
- * WebCoreSupport/WebFrameBridge.h: Removed unused fields, changed frame name parameters
- to use WebCore::String instead of NSString, add initSubframeWithOwnerElement declaration,
- removed viewForPluginWithFrame, viewForJavaAppletWithFrame, createChildFrameNamed,
- redirectDataToPlugin, determineObjectFromMIMEType, and windowObjectCleared methods.
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
- Changed to use WebCore::String.
- (-[WebFrameBridge initMainFrameWithPage:frameName:WebCore::frameView:]): Ditto.
- (-[WebFrameBridge initSubframeWithOwnerElement:frameName:WebCore::frameView:]): Ditto.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::setOriginalURLForDownload): Removed some dead code I found here
- and added a FIXME.
- (WebFrameLoaderClient::createFrame): Moved the code from WebFrameBridge here.
- (WebFrameLoaderClient::objectContentType): Ditto.
- (parameterValue): Added. Helper function, based on code originally in WebFrameBridge.
- (pluginView): Ditto.
- (WebFrameLoaderClient::createPlugin): Moved the code from WebFrameBridge here.
-
-2008-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::dashboardRegionsChanged): Moved code here from the bridge.
- The WebCore side now calls this only when there's an actual change.
- * WebCoreSupport/WebFrameBridge.h: Removed lastDashboardRegions.
- * WebCoreSupport/WebFrameBridge.mm:
- (-[WebFrameBridge dealloc]): Removed code to release lastDashboardRegions.
- Removed _compareDashboardRegions: and dashboardRegionsChanged: methods.
-
-2008-03-04 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - remove WebCoreFrameBridge issuePasteComand method
-
- * WebCoreSupport/WebFrameBridge.mm: Removed issuePasteCommand method.
- * WebView/WebHTMLViewInternal.h: Removed declaration of paste: method.
-
-2008-03-03 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - some "cleanup" on the path to removing WebCoreFrameBridge
-
- * Storage/WebDatabaseManager.mm: Tweak includes.
- * Storage/WebDatabaseTrackerClient.mm: Ditto.
- * Storage/WebSecurityOrigin.mm: Ditto.
- * Storage/WebSecurityOriginInternal.h: Ditto.
-
- * WebView/WebFrame.mm:
- (core): Changed to get rid of the requirement that WebKitEditableLinkBehavior exactly
- match WebCore::EditableLinkBehavior.
- * WebView/WebFrameInternal.h: Removed unused kit function.
-
- * WebView/WebHTMLView.mm: Moved WebHTMLViewPrivate class in here.
- * WebView/WebHTMLViewInternal.h: Moved WebHTMLVewPrivate class out of here.
- * WebView/WebHTMLViewPrivate.h: Tweaked formatting and removed some unneeded declarations.
-
- * WebView/WebPreferencesPrivate.h: Removed a no-longer-needed comment.
-
-2008-03-01 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Update Xcode configuration to support building debug and release from the mysterious future.
-
- * Configurations/DebugRelease.xcconfig:
-
-2008-02-29 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Replace use of WKPathFromFont with implementation in terms of public API.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Remove unused symbol.
-
-2008-02-29 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fix spelling of "request" in name of WKNSURLProtocolClassForRequest.
-
- * Misc/WebNSURLExtras.mm:
- (-[NSURL _webkit_canonicalize]):
- * WebKit.order:
-
-2008-02-29 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2008-02-29 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Remove obsolete code that had been left intact to support users running WebKit with older versions of Safari.
-
- * Misc/WebNSViewExtras.m: Remove _web_superviewOfClass:stoppingAtClass:.
- * Misc/WebNSWindowExtras.m: Remove _webkit_displayThrottledWindows.
- * Misc/WebSearchableTextView.m: Remove selectionImageForcingWhiteText:.
- * WebCoreSupport/WebImageRendererFactory.m: Update comment to mention the last version of Safari that
- requires this class.
- * WebInspector/WebInspector.mm: Remove sharedWebInspector and update comments to mention the last version
- of Safari that calls other obsolete methods.
- * WebView/WebDocumentPrivate.h: Remove selectionImageForcingWhiteText:.
- * WebView/WebHTMLView.mm: Ditto.
- * WebView/WebPDFView.mm: Ditto.
- * WebView/WebView.mm: Update comment to mentoin the last version of Safari that requires the obsolete method.
-
-2008-02-29 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Eric Seidel.
-
- Remove unneeded includes of WebKitSystemInterface.h.
-
- * History/WebHistoryItem.mm:
- * Misc/WebNSViewExtras.m:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebView/WebDataSource.mm:
- * WebView/WebPDFView.mm:
-
-2008-02-29 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt and Oliver Hunt.
-
- <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Remove unused symbol.
- * WebKit.order: Ditto.
-
-2008-02-28 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Only initialize wkGetFontMetrics on Tiger.
-
-2008-02-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Mark Rowe (code) and Darin (concept)
-
- Much better fix for <rdar://problem/4930688> (see r19549)
- Original fix for <rdar://problem/3947312> (and 14 dupes)
-
- Let me tell you a story:
- A long time ago, in a cvs repository far, far away, loader code was almost all up in WebKit.
- WebArchive code was intertwined with that code in bizarre and complex ways.
- During the months long loader re-factoring where we pushed much loader code down into WebCore,
- many portions of the WebKit loader were thinned out until they ceased to exist. Others remained
- with a sole purpose.
-
- One such section of code whose lineage traces back from WebFrameLoaderClient to WebFrameLoader
- to WebLoader was originally rooted in the method [WebLoader loadRequest:]. This method was the
- single entry point for almost all loading (network or web archives)
-
- This method would check various headers and other fields on the NSURLRequest and NSURLResponse
- to make decisions about the load. If the cache control fields were expired or other conditions
- in the headers were met, the load would be forced to go out to the network.
-
- As the loader was moved and tweaked repeatedly, most of this code was pruned or re-factored.
- At some point, all that remained was the special cases for loading WebArchives.
-
- Somewhere in the r16,000s, this remaining responsibility was noticed and related methods we renamed
- to be WebArchive specific, further cementing the assumed design.
-
- Problem is, the design was bad. A WebArchive is meant to be a static snapshot of a WebPage at a
- specific point in time. Referring to the request to see if the resource should be reloaded seems
- nonsensical, as does referring to the response headers to see if the resource is "expired". In the
- context of loading a WebArchive, available data should *always* be loaded from the WebArchive, at least
- during the initial load!
-
- After discovering the secret to reproducing all of these bugs is both emptying our your Foundation
- cache and disconnecting your network, it was easy to reproduce the 16 individually reported cases
- that were all symptoms of this bug, and easy to verify that they are fixed with this patch.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::willUseArchive): Do not call either form of "canUseArchivedResource()" that
- inspect the request or response objects - We are loading from a WebArchive, and we should never
- make the decision to go out to the network when we actually have the resource available.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface): Remove two methods that are no longer used anywhere in WebKit
-
-2008-02-27 Matt Lilek <webkit@mattlilek.com>
-
- Reviewed by Adam Roben.
-
- Bug 14348: Messing up the inspector by dragging an URL into it
- http://bugs.webkit.org/show_bug.cgi?id=14348
- <rdar://problem/5283620> and <rdar://problem/5712808>
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController init]): Remove duplicate preference setting.
- (-[WebInspectorWindowController webView:dragDestinationActionMaskForDraggingInfo:]):
-
-2008-02-25 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- * WebView/WebArchiver.mm:
- (+[WebArchiver archiveSelectionInFrame:]): Use blankURL.
- * WebView/WebFrame.mm:
- (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Avoid the
- variable name URL to avoid clashing with the renamed KURL in the future. Also use
- blankURL.
- (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Ditto.
- (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]): Ditto.
- (-[WebFrame loadHTMLString:baseURL:]): Ditto.
- (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
-
-2008-02-24 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - remove separate client calls for "standard" and "reload' history
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::updateGlobalHistory):
-
-2008-02-23 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- Move basic threading support from WebCore to WTF.
-
- * ForwardingHeaders/wtf/Threading.h: Added.
- * ForwardingHeaders/wtf/Locker.h: Added.
-
-2008-02-23 David Kilzer <ddkilzer@apple.com>
-
- Please clarify licensing for some files
- <http://bugs.webkit.org/show_bug.cgi?id=14970>
-
- Reviewed by Darin Adler.
-
- * Plugins/WebNetscapeDeprecatedFunctions.c: Updated copyright statement
- and added Apple BSD-style license.
- * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
-
-2008-02-22 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adam Roben
-
- Reverted the changed from yesterday to add pasteAndMatchStyle:, as the existing
- pasteAsPlainText: has the same behavior.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
- (-[WebHTMLView readSelectionFromPasteboard:]):
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
- (-[WebHTMLView pasteAsRichText:]):
- (-[WebHTMLView paste:]):
- * WebView/WebView.mm:
- * WebView/WebViewPrivate.h:
-
-2008-02-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam.
-
- Use BackForwardList::create instead.
-
- * History/WebBackForwardList.mm:
- (-[WebBackForwardList init]):
-
-2008-02-21 John Sullivan <sullivan@apple.com>
-
- Reviewed by Jessica Kahn
-
- support for pasteAndMatchStyle: command (see <rdar://problem/5723952>)
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:matchStyle:]):
- added matchStyle parameter, passed along to bridge (formerly always passed NO to bridge)
- (-[WebHTMLView readSelectionFromPasteboard:]):
- pass NO for new matchStyle parameter to match old behavior
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
- validate pasteAndMatchStyle the same way as pasteAsRichText
- (-[WebHTMLView pasteAndMatchStyle:]):
- just like pasteAsRichText but passes YES for matchStyle
- (-[WebHTMLView pasteAsRichText:]):
- pass NO for new matchStyle parameter to match old behavior
- (-[WebHTMLView paste:]):
- ditto
-
- * WebView/WebView.mm:
- added macro(pasteAndMatchStyle)
-
- * WebView/WebViewPrivate.h:
- added pasteAndMatchStyle: to WebViewEditingActionsPendingPublic category
-
-2008-02-20 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin and Geoff.
-
- - WebKit part of <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Added a call to Settings::setNeedsSiteSpecificQuirks.
- There are currently no site-specific quirks on Mac, but we will propagate the state
- to WebCore to avoid possible mistakes later.
-
-2008-02-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Move back WebKit methods that were unused in WebCore.
-
- * Misc/WebNSURLExtras.mm:
- (+[NSURL _web_URLWithData:]):
- (+[NSURL _web_URLWithData:relativeToURL:]):
- (-[NSURL _web_originalData]):
- (-[NSURL _web_originalDataAsString]):
- (-[NSURL _web_isEmpty]):
- (-[NSURL _webkit_canonicalize]):
- (-[NSURL _webkit_URLByRemovingComponent:]):
- (-[NSURL _webkit_URLByRemovingFragment]):
- (-[NSURL _webkit_URLByRemovingResourceSpecifier]):
- (-[NSURL _webkit_isFileURL]):
- (-[NSString _webkit_isFileURL]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::setTitle):
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2008-02-18 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- * Misc/WebNSAttributedStringExtras.mm:
- (+[NSAttributedString _web_attributedStringFromRange:]): Eliminate use of
- DeprecatedString.
-
-2008-02-17 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
- document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
-
- * MigrateHeaders.make: Migrate DOMProgressEvent.h and DOMTextPrivate.h which were
- mistakenly not migrated.
-
-2008-02-15 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360
- <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html
-
- * WebView/WebDataSource.mm:
- (+[WebDataSource _representationClassForMIMEType:]):
- (-[WebDataSource _responseMIMEType]):
- (-[WebDataSource subresources]):
- (-[WebDataSource subresourceForURL:]):
- * WebView/WebResource.mm:
- (-[WebResource _initWithData:URL:response:]):
- * WebView/WebResourcePrivate.h:
-
-2008-02-15 Adam Roben <aroben@apple.com>
-
- Make WebKit's FEATURE_DEFINES match WebCore's
-
- Reviewed by Mark.
-
- * Configurations/WebKit.xcconfig:
-
-2008-02-14 Darin Adler <darin@apple.com>
-
- Reviewed by Eric Seidel.
-
- - updated for WebCore KURL changes
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem URL]): Removed getNSURL call.
- * Misc/WebElementDictionary.mm:
- (-[WebElementDictionary _absoluteImageURL]): Ditto.
- (-[WebElementDictionary _absoluteLinkURL]): Ditto.
- * Misc/WebNSAttributedStringExtras.mm:
- (fileWrapperForElement): Ditto.
- (+[NSAttributedString _web_attributedStringFromRange:]): Ditto.
- * Misc/WebNSURLExtras.mm:
- (-[NSString _webkit_stringByReplacingValidPercentEscapes]): Updated
- for function name change.
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::downloadURL): Removed getNSURL call.
- * WebCoreSupport/WebDragClient.mm:
- (WebDragClient::createDragImageForLink): Ditto.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchWillPerformClientRedirect): Ditto.
- (WebFrameLoaderClient::startDownload): Ditto.
- (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad): Ditto.
- (WebFrameLoaderClient::updateGlobalHistoryForReload): Ditto.
- (WebFrameLoaderClient::cancelledError): Ditto.
- (WebFrameLoaderClient::blockedError): Ditto.
- (WebFrameLoaderClient::cannotShowURLError): Ditto.
- (WebFrameLoaderClient::interruptForPolicyChangeError): Ditto.
- (WebFrameLoaderClient::cannotShowMIMETypeError): Ditto.
- (WebFrameLoaderClient::fileDoesNotExistError): Ditto.
- (WebFrameLoaderClient::willUseArchive): Ditto.
- (WebFrameLoaderClient::setTitle): Ditto.
- (WebFrameLoaderClient::actionDictionary): Ditto.
- (WebFrameLoaderClient::createFrame): Ditto.
- (WebFrameLoaderClient::objectContentType): Ditto.
- (WebFrameLoaderClient::createPlugin): Ditto.
- (WebFrameLoaderClient::createJavaAppletWidget): Ditto.
- * WebView/WebDataSource.mm:
- (-[WebDataSource _URL]): Ditto.
- (-[WebDataSource _initWithDocumentLoader:]): Ditto.
- (-[WebDataSource unreachableURL]): Ditto.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
-
-2008-02-14 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Geoff.
-
- Update order files.
-
- * WebKit.order:
-
-2008-02-14 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Adam Roben.
-
- http://bugs.webkit.org/show_bug.cgi?id=17207
- Database example doesn't work (requires not-yet-released Safari)
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::exceededDatabaseQuota): Check Safari version, and allow 5 megabytes of storage
- if it's too old.
-
-2008-02-11 Darin Adler <darin@apple.com>
-
- - roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders
- incorrectly due to visibility fix
-
- Removed the Xcode-specific quirk at the request of some folks on the Xcode team.
-
- * Misc/WebKitVersionChecks.h: Removed the constant.
-
- * WebView/WebView.mm:
- (-[WebView _needsXcodeVisibilityQuirk]): Removed.
- (-[WebView _preferencesChangedNotification:]): Removed call to
- setNeedsXcodeVisibilityQuirk.
-
-2008-02-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mitz.
-
- * WebCoreSupport/WebFrameBridge.mm:
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory imageTitleForFilename:size:]):
- Move implementation from WebFrameBridge to WebViewFactory.
-
-2008-02-11 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - fix <rdar://problem/5726016> REGRESSION: Xcode News window renders
- incorrectly due to visibility fix
-
- Added an Xcode-specific quirk.
-
- * Misc/WebKitVersionChecks.h: Added a constant for the "linked on or after"
- part of the check.
-
- * WebView/WebView.mm:
- (-[WebView _needsXcodeVisibilityQuirk]): Added.
- (-[WebView _preferencesChangedNotification:]): Added a call to
- setNeedsXcodeVisibilityQuirk based on _needsXcodeVisibilityQuirk.
-
-2008-02-10 Darin Adler <darin@apple.com>
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=17274
- REGRESSION: User Agent string broken in r30119
-
- * WebView/WebView.mm:
- (-[WebView _userAgentWithApplicationName:andWebKitVersion:]):
- Fix wrong variable name. Doh!
-
-2008-02-09 Darin Adler <darin@apple.com>
-
- Reviewed by Tim Hatcher.
-
- - fix <rdar://problem/5725996> crash every time you open the Xcode documentation window
-
- * WebView/WebView.mm:
- (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Work around a bug in the
- garbage collector's Objective C++ support by not initializing a static to an object
- that needs to be marked when running under GC.
-
-2008-02-05 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - WebKit part of <rdar://problem/5724303> Should implement writing direction shortcuts
-
- The key bindings are Command-Control-left arrow and
- Command-Control-right arrow. To match AppKit, the bindings are enabled
- only when certain user defaults are set.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
- (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
- Frame::baseWritingDirectionForSelectionStart() and
- Editor::setBaseWritingDirection() directly.
- (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
- (writingDirectionKeyBindingsEnabled): Added.
- (-[WebHTMLView _changeBaseWritingDirectionTo:]): Added this helper
- method.
- (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Added.
- (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Added.
- * WebView/WebView.mm:
-
-2008-02-05 Mark Rowe <mrowe@apple.com>
-
- Unreviewed build fix.
-
- * WebView/WebView.mm: Add missing #import.
-
-2008-02-05 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Update versioning to support the mysterious future.
-
- * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
-
-2008-01-30 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Brought
- this back, it's used by Mail.
- (-[WebHTMLView _canSmartReplaceWithPasteboard:]): This WebInternal method is
- also used by Mail. Moved to WebPrivate.
- * WebView/WebHTMLViewPrivate.h: Expose two methods that Mail uses here, so that we don't
- accidently remove them in the future.
-
-2008-01-30 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Move off deprecated NSTableView methods.
-
- * WebView/WebHTMLView.mm:
- (-[WebTextCompleteController _buildUI]): Switch from -setDrawsGrid: to -setGridStyleMask:.
- (-[WebTextCompleteController _placePopupWindow:]): Switch from -selectRow:byExtendingSelection: to -selectRowIndexes:byExtendingSelection:.
- (-[WebTextCompleteController filterKeyDown:]): Ditto.
-
-2008-01-26 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix leaks seen after loading <http://www.funnyordie.com/videos/d70b5a11cb>.
-
- * Misc/WebNSDataExtras.m:
- (-[NSString _web_capitalizeRFC822HeaderFieldName]): Transfer ownerhip of the allocated buffers
- to the new CFString so that they will be freed when no longer needed.
-
-2008-01-26 Greg Bolsinga <bolsinga@apple.com>
-
- <rdar://problem/5708388> WebDashboardRegion.h duplicated between WebCore / WebKit
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebDashboardRegion.h: Removed.
- * WebView/WebView.mm: Updated #import to use copy of WebDashboardRegion.h from WebCore.
-
-2008-01-21 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
- - add a missing export of WebDatabaseExpectedSizeKey
- - implement deleteOrigin: and remove deleteDatabasesWithOrigin:
-
- * Storage/WebDatabaseManager.mm:
- (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Updated to check for a null
- name instead of calling isValid().
- (-[WebDatabaseManager deleteOrigin:]): Implemented.
- (WebKitInitializeDatabasesIfNecessary): Updated for name change.
-
- * Storage/WebDatabaseManagerPrivate.h: Removed deleteDatabasesWithOrigin:.
-
- * WebCoreSupport/WebChromeClient.h: Updated for changes to ChromeClient.
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::exceededDatabaseQuota): Replaced the two different client functions
- we had before with a single one.
-
- * WebKit.exp: Added missing export for WebDatabaseExpectedSizeKey.
-
- * WebView/WebPreferenceKeysPrivate.h: Removed WebKitDefaultDatabaseQuotaKey.
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]): Removed the default for WebKitDefaultDatabaseQuotaKey.
- * WebView/WebPreferencesPrivate.h: Removed defaultDatabaseQuota and
- setDefaultDatabaseQuota:.
-
- * WebView/WebUIDelegatePrivate.h: Replaced the two different database quota delegate
- methods we had before with a single one.
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Removed the code to set the
- default database origin quota in WebCore::Settings based on WebPreferences.
-
- * WebView/WebViewInternal.h: Removed delegate method dispatch functions for unusual
- types of parameters that the database UI delegate methods had before.
-
-2008-01-20 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Remove code bracketed by REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM as we are no longer
- interested in supporting Safari 2 with TOT WebKit.
-
- * WebView/WebView.mm:
- (+[WebView initialize]):
-
-2008-01-17 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Adam Roben.
-
- <rdar://problem/5693558> REGRESSION (r29581): no form field focus rings
- and inactive text selection after loading a page
- Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance
-
- The problem was other frames were changing the FocusController's active
- status to false after the first responder frame set it to true. The last
- frame to call _updateActiveState would win.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _updateActiveState]): Only call page->focusController()->setActive()
- if the first responder is the current WebHTMLView or the WebFrameView.
- (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Removed, inlined code in _updateActiveState.
-
-2008-01-18 Adam Roben <aroben@apple.com>
-
- Rename _updateActiveState to _updateFocusedAndActiveState
-
- Also renamed any related methods/members similarly.
-
- Reviewed by Adele.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLViewPrivate dealloc]):
- (-[WebHTMLView _cancelUpdateFocusedAndActiveStateTimer]):
- (-[WebHTMLView close]):
- (_updateFocusedAndActiveStateTimerCallback):
- (-[WebHTMLView viewWillMoveToWindow:]):
- (-[WebHTMLView viewDidMoveToWindow]):
- (-[WebHTMLView windowDidBecomeKey:]):
- (-[WebHTMLView windowDidResignKey:]):
- (-[WebHTMLView becomeFirstResponder]):
- (-[WebHTMLView resignFirstResponder]):
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebHTMLViewPrivate.h:
-
-2008-01-17 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- - fixed <rdar://problem/5692068> -1 WebFrameView world leaks reported after closing view source window
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView initWithCoder:]):
- override to bump the global WebFrameView count
-
-2008-01-16 Adam Roben <aroben@apple.com>
-
- Updated for renames/removal of WebCore methods.
-
- Reviewed by Darin Adler.
-
- * Plugins/WebPluginController.mm:
- (-[WebPluginController webPlugInContainerSelectionColor]): Changed to
- ask isFocusedAndActive directly, instead of going through the frame
- bridge.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _updateActiveState]): Updated for method renames.
-
-2008-01-16 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adam and Dan
-
- - cleaned up some existing logging
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView setNeedsDisplay:]):
- add method name to log, use "YES" and "NO" instead of (int)flag
- (-[WebHTMLView setNeedsLayout:]):
- ditto
- (-[WebHTMLView setNeedsToApplyStyles:]):
- ditto
-
-2008-01-15 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Andre Boule.
-
- Fixed <rdar://problem/5667627> [WebCache empty] implementation should
- not disable/enable the cache
-
- Toggle the cache model instead -- toggling disable/enable just causes
- the cache to forget about resources, not reclaim their memory.
-
- * Misc/WebCache.mm:
- (+[WebCache empty]):
- * WebView/WebView.mm:
- * WebView/WebViewInternal.h:
-
-2008-01-15 Adele Peterson <adele@apple.com>
-
- Reviewed by Adam and Antti.
-
- WebKit part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
-
- * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
- Removed initialization for GetMediaControlBackgroundImageData. Added initialization for DrawMediaSliderTrack.
-
-2008-01-10 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by John Sullivan.
-
- Fixed some world leak reports:
- * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
- Interpreter after running cvs-base suite
-
- * <rdar://problem/5669423> PLT complains about world leak if browser
- window is open when PLT starts
-
- These were both bugs in the reporting mechanism, so I took the
- opportunity to do some house cleaning there.
-
- * Misc/WebCoreStatistics.h: Did a little renaming, to match
- JavaScriptCore better. I kept the methods with the old names around,
- though, because old versions of Safari need them.
-
- * Misc/WebCoreStatistics.mm: Removed dependence on
- WebCore::JavaScriptStatistics, which is gone now.
-
- These two methods are now distinct, for the sake of world leak reporting:
- (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
-
-2008-01-10 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed. Build fix.
-
- - Attempt to fix mac build.
-
- * Storage/WebDatabaseManager.mm:
-
-2008-01-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Sam.
-
- - remove SecurityOriginData and fold its functionality into SecurityOrigin
-
- * Storage/WebDatabaseManager.mm:
- (-[WebDatabaseManager origins]):
- (-[WebDatabaseManager databasesWithOrigin:]):
- (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
- (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
- (-[WebDatabaseManager deleteDatabase:withOrigin:]):
- * Storage/WebDatabaseTrackerClient.h:
- * Storage/WebDatabaseTrackerClient.mm:
- (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
- (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
- * Storage/WebSecurityOrigin.mm:
- (-[WebSecurityOrigin initWithProtocol:domain:port:]):
- (-[WebSecurityOrigin protocol]):
- (-[WebSecurityOrigin domain]):
- (-[WebSecurityOrigin port]):
- (-[WebSecurityOrigin usage]):
- (-[WebSecurityOrigin quota]):
- (-[WebSecurityOrigin setQuota:]):
- (-[WebSecurityOrigin isEqual:]):
- (-[WebSecurityOrigin dealloc]):
- (-[WebSecurityOrigin finalize]):
- (-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]):
- (-[WebSecurityOrigin _core]):
- * Storage/WebSecurityOriginInternal.h:
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::requestQuotaIncreaseForNewDatabase):
- (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
-
-2008-01-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
- <rdar://problem/5657355>
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView loadPluginRequest:]): call findFrameForNavigation
- to ensure the shouldAllowNavigation check is made.
-
-2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
-
- Reviewed by Mark.
-
- Enable SVG_FONTS by default.
-
- * Configurations/WebKit.xcconfig:
-
-2008-01-07 Adele Peterson <adele@apple.com>
-
- Reviewed by Antti, Adam, and Mitz.
-
- WebKit part of fix for
- <rdar://problem/5619073> Updated look for <video> controls
- <rdar://problem/5619057> Add volume control to video controls
-
- * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
-
-2008-01-07 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
-
- * Misc/WebNSAttributedStringExtras.mm:
-
-2008-01-03 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5463489> A number of layout tests should be using execCommand instead of textInputController
-
- * WebView/WebView.mm:
- (-[WebView _executeCoreCommandByName:value:]):
- * WebView/WebViewPrivate.h:
- Added an SPI to implement layoutTestController.execCommand.
-
-2008-01-03 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin Adler.
-
- Fixed: <rdar://problem/4106190> Include "Where from" metadata in drag-and-dropped images
-
- * Misc/WebNSFileManagerExtras.h:
- * Misc/WebNSFileManagerExtras.m:
- (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Added new method. Uses WebKitSystemInterface to set
- "Where from:" metadata information.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Added "Where from:" metadata for drag and dropped images.
-
-2008-01-03 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Darin Adler.
-
- This fixes pageup/down in iframes. test for this is fast/frames/iframe-scroll-page-up-down.html
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView doCommandBySelector:]):
- Have the editor handle all the commands it supports instead of just text commands.
- If not handled by the editor, the webview will handle the command.
-
-2008-01-02 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin Adler.
-
- Fixed: <rdar://problem/5660603> QuickDraw plug-ins can cause a 100% reproducible assertion failure in AppKit (breaks Safari UI)
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView updateAndSetWindow]): Simplified an early return for non-QuickDraw plug-ins and switched
- to using the more NSView friendly version of lockFocus, lockFocusIfCanDraw.
-
-2008-01-01 David D. Kilzer <ddkilzer@webkit.org>
-
- Reviewed by Dan.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=16700
- Fix -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
-
- * DefaultDelegates/WebDefaultPolicyDelegate.m: Check return value of
- -[NSFileManager fileExistsAtPath:isDirectory:] before using the value
- of isDirectory.
-
-2007-12-29 Nikolas Zimmermann <zimmermann@kde.org>
-
- Reviewed by Eric.
-
- Add DOMSVGFontElement/DOMSVGGlyphElement/DOMSVGMissingGlyphElement to MigrateHeaders.make
-
- * MigrateHeaders.make:
-
-2007-12-25 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Oliver Hunt.
-
- - fix an assertion failure when pressing the num lock key
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView flagsChanged:]): Avoid passing key code 10 down to
- WebCore.
-
-2007-12-20 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver.
-
- - fix <rdar://problem/5658787> Selector -[WebView insertLineBreak:] is not implemented
-
- * WebView/WebView.mm: Added all selectors implemented by WebHTMLView to the list of
- selectors to forward here. The new ones are: changeBaseWritingDirection:, changeSpelling:,
- deleteToMark:, insertLineBreak:, moveParagraphBackwardAndModifySelection:,
- moveParagraphForwardAndModifySelection:, pageDownAndModifySelection:, pageUpAndModifySelection:,
- selectToMark:, setMark:, swapWithMark:, takeFindStringFromSelection:, toggleBaseWritingDirection:,
- and transpose:.
-
-2007-12-20 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders.
-
- Fixed: <rdar://problem/5638288> REGRESSION: Flash movies show up in other tabs above the page (16373)
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView updateAndSetWindow]): QuickDraw plug-ins must manually be told when to stop
- writing to the window backing store. The problem was that change-set 28400 introduced an early return
- which prevented this necessary operation. The fix is to limit the scope of the early return to CG and GL
- plug-ins and to tweak the needsFocus check to prevent an exception from occurring in QuickDraw-based plug-ins.
-
-2007-12-19 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Build fix.
-
- * ForwardingHeaders/kjs/SymbolTable.h: Added.
- * ForwardingHeaders/wtf/VectorTraits.h: Added.
-
-2007-12-16 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebNetscapePluginStream.h:
- * Plugins/WebNetscapePluginStream.mm:
- (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
- (-[WebNetscapePluginStream dealloc]):
- (-[WebNetscapePluginStream finalize]):
- * Plugins/WebPlugInStreamLoaderDelegate.h: Moved from WebCore.
- * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Added.
- (WebNetscapePlugInStreamLoaderClient::WebNetscapePlugInStreamLoaderClient):
- * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Added.
- (WebNetscapePlugInStreamLoaderClient::didReceiveResponse): Call through to the equivalent WebPlugInStreamLoaderDelegate method.
- (WebNetscapePlugInStreamLoaderClient::didReceiveData): Ditto.
- (WebNetscapePlugInStreamLoaderClient::didFail): Ditto.
- (WebNetscapePlugInStreamLoaderClient::didFinishLoading): Ditto.
-
-2007-12-16 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- http://bugs.webkit.org/show_bug.cgi?id=14140
- <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Made command replaying work
- when handling keypress, too.
- (-[WebHTMLView doCommandBySelector:]): Adapted for the new way to store commands in events.
- (-[WebHTMLView insertText:]): Append a command, not replace the whole existing vector. Also,
- restore the state for additional commands to be saved correctly.
-
-2007-12-14 David D. Kilzer <ddkilzer@apple.com>
-
- <rdar://problem/5647272> Remove user agent string hack for flickr.com
-
- Reviewed by Darin Adler.
-
- * WebView/WebView.mm:
- (-[WebView _userAgentForURL:]): Removed hack.
-
-2007-12-14 David D. Kilzer <ddkilzer@apple.com>
-
- <rdar://problem/5647261> Remove user agent string hack for yahoo.com
-
- Reviewed by Darin Adler.
-
- * WebView/WebView.mm:
- (-[WebView _userAgentForURL:]): Removed hack.
-
-2007-12-14 Darin Adler <darin@apple.com>
-
- Reviewed by Brady.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=16296
- <rdar://problem/5635641> -[WebFrameLoadDelegate didReceiveIcon:forFrame:] never called
-
- * WebView/WebView.mm:
- (-[WebView setFrameLoadDelegate:]): Call [WebIconDatabase sharedIconDatabase] if the
- a didReceiveIcon method is present.
-
-2007-12-14 Darin Adler <darin@apple.com>
-
- Reviewed by Alexey.
-
- - Changed a few more editing operations to use WebCore instead of WebKit.
- - Removed some obsolete unused code.
-
- * WebCoreSupport/WebFrameBridge.h: Moved declarations of methods that are both
- defined and used on the WebKit side to here. These no longer belong on the bridge
- and should be moved to the WebFrame class (or elsewhere).
- * WebCoreSupport/WebFrameBridge.mm: Removed some unused methods.
-
- * WebView/WebFrameView.mm:
- (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Fix typo in comment.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLViewPrivate dealloc]): Removed unused firstResponderTextViewAtMouseDownTime.
- (-[WebHTMLViewPrivate clear]): Ditto.
- (-[WebHTMLView _setMouseDownEvent:]): Ditto.
- (commandNameForSelector): Added special cases for pageDown:, pageDownAndModifySelection:,
- pageUp:, and pageUpAndModifySelection:, since those names probably aren't specific enough
- to be used in WebCore (what AppKit calls scrollPageDown: vs. pageDown: needs to be
- disambiguated with the word "Move"). Added deleteBackward:,
- deleteBackwardByDecomposingPreviousCharacter:, deleteForward:, deleteToBeginningOfLine:,
- deleteToBeginningOfParagraph:, deleteToEndOfLine:, deleteToEndOfParagraph:, pageDown:,
- pageDownAndModifySelection:, pageUp:, pageUpAndModifySelection:, selectLine:,
- selectParagraph:, selectSentence:, and selectWord: to the list of commands that are
- forwarded to WebCore.
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Eliminated the long list of
- operations that we forward to WebCore. Instead, look up any command that WebCore can
- handle, after any that we handle specially in WebHTMLView. Also fixed a bug where
- an item that's not a menu item with changeBaseWritingDirection:NSWritingDirectionNatural
- would end up enabled instead of disabled and streamlined the logic for toggleGrammarChecking:.
- (-[WebHTMLView mouseDown:]): Removed unused firstResponderTextViewAtMouseDownTime.
- (-[WebHTMLView becomeFirstResponder]): Removed unused willBecomeFirstResponderForNodeFocus.
- (-[WebHTMLView resignFirstResponder]): Ditto.
- (-[WebHTMLView checkSpelling:]): Took unneeded extra initialization of NSSpellChecker.
-
- * WebView/WebHTMLViewInternal.h: Removed unused willBecomeFirstResponderForNodeFocus,
- firstResponderTextViewAtMouseDownTime, _textViewWasFirstResponderAtMouseDownTime: and
- _willMakeFirstResponderForNodeFocus.
-
-2007-12-13 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
-
- * Misc/WebKitVersionChecks.h:
- * WebView/WebView.mm:
- (-[WebView _needsKeyboardEventHandlingQuirks]):
- (-[WebView _preferencesChangedNotification:]):
-
-2007-12-12 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
-
- * WebCoreSupport/WebCachedPagePlatformData.h: Added.
- (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes a WebDocumentView for later restoration
- (WebCachedPagePlatformData::clear):
- (WebCachedPagePlatformData::webDocumentView):
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::savePlatformDataToCachedPage):
- (WebFrameLoaderClient::transitionToCommittedFromCachedPage): Don't set the DocumentLoader to the Frame here,
- because that is now done in WebCore.
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
-
-2007-12-12 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dave Kilzer.
-
- Remove abuse of projectDirPath from WebKit.xcodeproj to fix Production builds.
-
- * Configurations/WebKit.xcconfig:
-
-2007-12-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Scrub URL out of the tree in preparation for renaming KURL to URL.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::actionDictionary):
- * WebView/WebDataSource.mm:
- (-[WebDataSource _URL]):
- * WebView/WebView.mm:
- (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
-
-2007-12-11 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff.
-
- - change more editing commands to use WebCore::Editor
- - change to use the new WebCore::Editor::command() function
-
- * WebView/WebHTMLView.mm: Changed alignCenter, alignJustified, alignLeft,
- alignRight, cut, copy, deleteToMark, indent, insertNewlineIgnoringFieldEditor,
- insertTabIgnoringFieldEditor, outdent, selectAll, selectToMark, setMark,
- subscript, superscript, swapWithMark, underline, unscript, yank, and yankAndSelect
- to use the "forward to WebCore" macro instead of having hand-written implementations.
- (kit): Added function to change a TriState to an AppKit-style tri-state value.
- (-[WebHTMLView coreCommandBySelector:]): Added. No longer converts case of the
- first character or copies the selector name, since the Editor commands are not case
- sensitive any more. Returns a command object.
- (-[WebHTMLView coreCommandByName:]): Added.
- (-[WebHTMLView executeCoreCommandBySelector:]): Renamed from callWebCoreCommand:,
- and changed to use the new coreCommandBySelector: method.
- (-[WebHTMLView executeCoreCommandByName:]): Added.
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Changed all the
- methods that call through to WebCore to also use the state() and isEnabled()
- functions on the commands for the menu item state and user interface item enabling.
- (-[WebHTMLView _handleStyleKeyEquivalent:]): Use ToggleBold and ToggleItalic by
- name rather than having local methods for them; no need for methods with a single
- call site.
- (-[WebHTMLView insertParagraphSeparator:]): Use executeCoreCommandByName: rather
- than the deprecated execCommand().
- (-[WebHTMLView doCommandBySelector:]): Changed to use command().execute() rather
- than the deprecated execCommand().
- * WebView/WebHTMLViewInternal.h: Removed some unneeded method declarations.
-
-2007-12-07 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5535636>
- Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
-
- http://bugs.webkit.org/show_bug.cgi?id=13916
- JavaScript detects Tab as a character input on a textfield validation
-
- * WebCoreSupport/WebEditorClient.h:
- Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
- Renamed handleInputMethodKeypress() to handleInputMethodKeydown().
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::handleKeyboardEvent): This change makes sense only remotely, but it helped
- to get tests working. I guess Mac keyboard event handling needs further refactoring.
-
- * WebView/WebHTMLView.mm:
- (selectorToCommandName): Convert AppKit editing selector name to Editor command name - extracted
- from callWebCoreCommand:.
- (_interceptEditingKeyEvent:shouldSaveCommand:): Insert text from keypress.
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
- Convert incoming platform KeyDown into RawKeyDown, as this is what the view is interested in.
-
-2007-12-10 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Sullivan
-
- Fix for <rdar://problem/5640080> - Database UI delegate calls need to specify WebFrame
-
- This is because a common UI case is to want to know the originating URL of a Database
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::requestQuotaIncreaseForNewDatabase):
- (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
-
- * WebView/WebUIDelegatePrivate.h:
-
- * WebView/WebView.mm:
- (CallDelegateReturningUnsignedLongLong):
- (CallUIDelegateReturningUnsignedLongLong):
- * WebView/WebViewInternal.h:
-
-2007-12-10 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mark Rowe.
-
- <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
-
- * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
- so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
-
-2007-12-10 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin Adler.
-
- Fixed: <rdar://problem/4290098> Right-mouse click on element doesn't call onmousedown handler
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView menuForEvent:]): Match behavior of other browsers by sending an onmousedown event for right clicks.
-
-2007-12-08 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Sam W.
-
- Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
-
- Fixes <rdar://problem/5620249> Must disable SVG animation
- <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
-
- Minor updates to the feature flags used.
-
- * Configurations/WebKit.xcconfig:
- * DOM/WebDOMOperations.mm:
-
-2007-12-07 Darin Adler <darin@apple.com>
-
- Reviewed by Kevin Decker and Tim Hatcher.
-
- - speculative fix for <rdar://problem/5400159> CrashTracer: [USER] 726 crashes
- in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _frameOrBoundsChanged]): Only schedule the mouseover timer if we are in a window
- and not closed. That's because viewDidMoveToWindow and close are the entry points for cancelling.
- (-[WebHTMLView close]): Add code to cancel both timers. Needed for the case where the entire
- window goes away, and the view is never removed from the window.
- (-[WebHTMLView viewDidMoveToWindow]): Don't do work if the view is closed.
-
-2007-12-07 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - http://bugs.webkit.org/show_bug.cgi?id=15981
- speed up visited-link code a bit
-
- * History/WebHistory.mm: Removed unused Latin-1 code path.
- (-[_WebCoreHistoryProvider containsURL:length:]): Updated for method name change.
-
-2007-12-07 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added a forwarding header, since we now #include nodes.h through some
- JavaScriptCore headers.
-
- * ForwardingHeaders/wtf/ListRefPtr.h: Added.
-
-2007-12-06 Brady Eidson <beidson@apple.com>
-
- Reviewed by Oliver's rubber stamp
-
- Let's go ahead and call the correct UI Delegate method, shall we?
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Call the correct UI delegate
-
-2007-12-06 Adam Roben <aroben@apple.com>
-
- Remove some assertions we know can fire and replace them with a FIXME
-
- Reviewed by Anders.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
-
-2007-12-06 Timothy Hatcher <timothy@apple.com>
-
- Change the ASSERT added for the previous fix. The ASSERT was firing for 10.5.0.
- Only assert if the major version is zero, since zero is handled in the other cases.
-
- * WebView/WebView.mm:
- (callGestalt): Remove the ASSERT.
- (createMacOSXVersionString): ASSERT that major is not zero.
-
-2007-12-06 Darin Adler <darin@apple.com>
-
- Reviewed by Tim Hatcher.
-
- - fix <rdar://problem/5513394> No way to detect Tiger vs Leopard from Safari's user agent string
-
- * WebView/WebView.mm:
- (callGestalt): Added.
- (createMacOSXVersionString): Added.
- (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Added Mac OS X version string,
- right after the string "Mac OS X", but with underscores instead of dots to avoid the dreaded
- "4." problem (old libraries that think a "4." anywhere in the user agent means Netscape 4).
- (-[WebView _userAgentForURL:]): Fixed incorrect bug numbers.
-
-2007-12-04 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Third step in refactoring JSGlobalObject: Moved data members and data
- member access from Interpreter to JSGlobalObject.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _attachScriptDebugger]):
-
-2007-12-04 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Darin Adler.
-
- - <rdar://5621435>
- - Security Fix. Instead of having it off by default, WebKit now must
- explicitly turn off local-resource restriction when needed for backwards
- coimpatibility reasons.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2007-12-05 Brady Eidson <beidson@apple.com>
-
- Reviewed by Kevin Deckers rubberstamp
-
- Disclose and export the Databases Directory defaults key
-
- * Storage/WebDatabaseManager.mm:
- * Storage/WebDatabaseManagerPrivate.h:
- * WebKit.exp:
-
-2007-12-04 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders.
-
- <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory pluginNameForMIMEType:]): Added.
-
-2007-12-04 Brady Eidson <beidson@apple.com>
-
- Reviewed by Mark Rowe
-
- Tweaked the way we typedef and cast these objc_msgSend calls
-
- * WebView/WebView.mm:
- (CallDelegateReturningUnsignedLongLong):
-
-2007-12-04 John Sullivan <sullivan@apple.com>
-
- Reviewed by Brady Eidson (with help from Mark Rowe)
-
- Fixed return values for unsigned-long-long delegate methods
-
- * WebView/WebView.mm:
- (CallDelegateReturningUnsignedLongLong):
- redid the change that Brady did at home over the weekend but forgot to check in
-
-2007-11-27 Adam Roben <aroben@apple.com>
-
- Remove -[WebFrameBridge setNeedsReapplyStyles]
-
- This functionality is now WebCore's responsibility.
-
- Reviewed by Hyatt.
-
- * WebCoreSupport/WebFrameBridge.mm:
- * WebKit.order:
-
-2007-12-04 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- Added deleteOrigin: SPI, which isn't fully implemented
-
- * Storage/WebDatabaseManagerPrivate.h:
- * Storage/WebDatabaseManager.mm:
- (-[WebDatabaseManager deleteOrigin:]):
- just calls deleteDatabasesWithOrigin: for now, but needs to delete origin itself too
-
-2007-12-04 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mark Rowe.
-
- Remove a check for early versions of Leopard CFNetwork now that
- Leopard has shipped.
-
- * Misc/WebKitVersionChecks.h: Remove WEBKIT_FIRST_CFNETWORK_VERSION_WITH_LARGE_DISK_CACHE_FIX.
- * WebView/WebView.mm:
- (+[WebView _setCacheModel:]): Remove the early Leopard CFNetwork check.
-
-2007-12-04 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin Adler.
-
- Revised fix for: <rdar://problem/5586978> REGRESSION (Safari 2-3): WebKit sometimes doesn't invoke Flash's NPP_SetWindow function and causes a hang
-
- This fix is exactly the same as chageset 28359 with the exception of an added early return in
- updateAndSetWindow to cover the additional case of when a plug-in isn't drawable.
-
- The CG-based Flash player would sometimes hang because (for CoreGraphics-based plug-ins) our code would
- only call into the NPP_SetWindow() function when we tell the plug-in to draw. This created havoc with
- Flash because Flash expects the browser to call NPP_SetWindow() and provide a valid graphics context
- regardless of whether or not it actually needs to draw.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed an incorrect comment and toned
- down an ASSERT that was too strict.
- (-[WebBaseNetscapePluginView updateAndSetWindow]): Removed an early return for CoreGraphics-based plug-ins
- which would sometimes altogether prevent updating the PortState and calling into a plug-ins NPP_SetWindow()
- function. Also tweaked a comment and added an early return if the plug-in can't draw.
-
-2007-12-04 Darin Adler <darin@apple.com>
-
- Reviewed by Kevin Decker.
-
- * WebCoreSupport/WebFrameLoaderClient.h: Removed obsolete privateBrowsingEnabled.
- * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
- * WebKit.order: Ditto.
-
-2007-12-03 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Removed the code
- that checked if the view had resized and sent the resize event, since
- FrameView sends resize events now.
- * WebView/WebHTMLViewInternal.h:
-
-2007-12-03 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Darin Adler.
-
- Change WebViewGetResourceLoadDelegateImplementations and WebViewGetFrameLoadDelegateImplementations
- to return a pointer to the implementation struct instead of a copy of the struct. This changes
- all of the callers to dereference the pointer to access the struct fields.
-
- * Plugins/WebNullPluginView.mm:
- (-[WebNullPluginView reportFailure]):
- * WebCoreSupport/WebFrameBridge.mm:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
- (WebFrameLoaderClient::assignIdentifierToInitialRequest):
- (WebFrameLoaderClient::dispatchWillSendRequest):
- (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidReceiveResponse):
- (WebFrameLoaderClient::willCacheResponse):
- (WebFrameLoaderClient::dispatchDidReceiveContentLength):
- (WebFrameLoaderClient::dispatchDidFinishLoading):
- (WebFrameLoaderClient::dispatchDidFailLoading):
- (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
- (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
- (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
- (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebFrameLoaderClient::dispatchWillClose):
- (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidFailLoad):
- (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
- (WebFrameLoaderClient::dispatchDidFinishLoad):
- (WebFrameLoaderClient::dispatchDidFirstLayout):
- * WebView/WebView.mm:
- (WebViewGetResourceLoadDelegateImplementations):
- (WebViewGetFrameLoadDelegateImplementations):
- (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
- * WebView/WebViewInternal.h:
-
-2007-12-03 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Brady Eidson.
-
- <rdar://problem/5539913> 188 crashes in WebViewGetFrameLoadDelegateImplementations
- <rdar://problem/5586095> CrashTracer: [USER] 5000+ crashes in Safari and Dashboard in dispatchDidFailLoading
- <rdar://problem/5607081> CrashTracer: [USER] 2150 crashes in Safari at com.apple.WebKit:
- WebViewGetResourceLoadDelegateImplementations + 28
-
- * WebView/WebView.mm:
- (-[WebView _cacheResourceLoadDelegateImplementations]): If the delegate is nil, bzero the
- implementation cache. This just prevents us from calling getMethod() multiple times just to zero.
- (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto.
- (WebViewGetResourceLoadDelegateImplementations): Return a zeroed implementations struct
- if the WebView is nil. This fixes the crashes.
- (WebViewGetFrameLoadDelegateImplementations): Ditto.
-
-2007-12-02 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Eric Seidel.
-
- Updated to match the JavaScriptCore change to move virtual methods from
- Interpreter to JSGlobalObject.
-
- * WebView/WebFrame.mm:
- (-[WebFrame globalContext]): Use the toRef function instead of manually
- casting.
-
-2007-12-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim
-
- Added a default database quota of 5mb to the default WebPreferences
-
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
-
-2007-11-30 John Sullivan <sullivan@apple.com>
-
- Reviewed by Geoff Garen
-
- Added another symbol for WebDatabaseManager clients
-
- * WebKit.exp:
- added .objc_class_name_WebSecurityOrigin
-
-2007-11-30 Brady Eidson <beidson@apple.com>
-
- Reviewed by Geoff
-
- Add isEqual operator to WebSecurityOrigin
-
- * Storage/WebSecurityOrigin.mm:
- (-[WebSecurityOrigin isEqual:]):
-
-2007-11-30 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin
-
- Tweaks to newly-declared NSString * constants to make them usable from clients
-
- * Storage/WebDatabaseManagerPrivate.h:
- * Storage/WebDatabaseManager.mm:
- removed "const" from new NSNotification names and userInfo keys; these generate compiler warnings when used
-
- * WebKit.exp:
- export new NSNotification names and userInfo keys so clients can use them
-
-2007-11-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John.
-
- Rename WebKitShrinksStandaloneImagesToFitKey to WebKitShrinksStandaloneImagesToFit.
-
- This is safe to do because the preference is off by default and Safari 3, which is the only client that turns it on,
- is using the setter and not messing around with NSUserDefaults.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
- (-[WebPreferences shrinksStandaloneImagesToFit]):
- (-[WebPreferences setShrinksStandaloneImagesToFit:]):
-
-2007-11-29 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- Support for <rdar://problem/5556381> and <rdar://problem/5556379>
-
- Hook up UI Delegate calls for the database engine feature and other small tweaks
-
- * Storage/WebDatabaseManager.mm:
- (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
- (-[WebDatabaseManager deleteDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
- * Storage/WebDatabaseManagerPrivate.h:
-
- * Storage/WebDatabaseTrackerClient.h:
- * Storage/WebDatabaseTrackerClient.mm:
- (WebDatabaseTrackerClient::dispatchDidModifyDatabase): Renamed databaseName parameter to databaseIdentifier for clarity
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::requestQuotaIncreaseForNewDatabase): Call through to the UI Delegate
- (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Ditto
-
- * WebView/WebUIDelegatePrivate.h: Added the two UI Delegate methods
-
- * WebView/WebView.mm:
- (CallDelegateReturningUnsignedLongLong):
- (CallUIDelegateReturningUnsignedLongLong):
- * WebView/WebViewInternal.h:
-
-2007-11-28 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Sam.
-
- - Added recursive runloop guards.
-
- * DefaultDelegates/WebScriptDebugServer.m:
- (-[WebScriptDebugServer suspendProcessIfPaused]):
-
-2007-11-29 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fix an assertion failure seen on the layout tests, and when closing the window after
- visiting <http://www.coudal.com/losalamos/>.
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream _destroyStream]): Unlink the file and close the file
- descriptor even when the stream is being destroyed without the load completing. This
- avoids leaking the path and file descriptor, and leaving the temporary file on disk.
-
-2007-11-28 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for <rdar://problem/5524216> CrashTracer: [USER] 496 crashes in Safari at com.apple.WebCore: WebCore::Frame::eventHandler const + 6
-
- The CrashTracer shows a variety of crashes in different methods (including keyDown and keyUp). This change adds nil checks for the frame in
- WebHTMLView to prevent future problems in other methods as well.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
- (-[WebHTMLView keyDown:]):
- (-[WebHTMLView keyUp:]):
- (-[WebHTMLView flagsChanged:]):
- (-[WebHTMLView _selectionStartFontAttributesAsRTF]):
- (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
- (-[WebHTMLView checkSpelling:]):
- (-[WebHTMLView showGuessPanel:]):
- (-[WebHTMLView indent:]):
- (-[WebHTMLView outdent:]):
- (-[WebHTMLView paste:]):
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
- (-[WebHTMLView insertText:]):
- (-[WebHTMLView selectionTextRects]):
-
-2007-11-28 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- - fix <rdar://problem/5596160> fast/events/objc-event-api.html fails when run alone (or first)
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView setDataSource:]): This method calls addMouseMovedObserver
- because addMouseMovedObserver returns early if the dataSource
- is not nil. But if the dataSource is already set (which happens when
- a WebHTMLView is being reused) then addMouseMovedObserver must not
- be called again.
-
-2007-11-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Brady.
-
- * Storage/WebDatabaseManager.mm:
- * Storage/WebDatabaseManagerPrivate.h:
- * Storage/WebDatabaseTrackerClient.mm:
- (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
- (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
- * Storage/WebSecurityOrigin.mm:
- (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
- * Storage/WebSecurityOriginInternal.h:
-
-2007-11-27 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin, landed by Anders.
-
- Fixed: <rdar://problem/4610818> CrashTracer: 1533 crashes in Safari at com.macromedia.Flash Player.plugin: native_ShockwaveFlash_TCallLabel + 271131
-
- The problem was that some Leopard users were still inadvertently using the old Flash 8 plug-in, even though Leopard
- shipped with Flash 9. To avoid loading an older version of a plug-in when a newer version is installed, the plug-in
- database will compare bundle versions and always load the latest version.
-
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.m:
- (-[WebBasePluginPackage versionNumber]): New method. CFBundleGetVersionNumber doesn't work with all possible versioning schemes,
- but we think for now it's good enough for us.
- * Plugins/WebPluginDatabase.m:
- (considerCandidate): Added a C utility function which compares the current plug-in against a candidate plug-in's version number.
- If both plug-ins have the same bundle ID and the candiate is newer, the current plug-in becomes the candidate.
- (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Calls the new considerCandidate() function.
-
-2007-11-26 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Dave Hyatt.
-
- <rdar://problem/5569233> Add the ability to disable author and user CSS styles
-
- * WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey.
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES.
- (-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value.
- (-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value.
- * WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:.
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled.
-
-2007-11-26 Brady Eidson <beidson@apple.com>
-
- Reviewed by Mark Rowe
-
- Provide API for setting the default storage quota per database origin
-
- * Misc/WebNSDictionaryExtras.h:
- * Misc/WebNSDictionaryExtras.m:
- (-[NSMutableDictionary _webkit_setUnsignedLongLong:forKey:]): Helper for UINT64 preferences
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.m:
- (-[WebPreferences _unsignedLongLongValueForKey:]): Helper for UINT64 prefs
- (-[WebPreferences _setUnsignedLongLongValue:forKey:]): Ditto
- (-[WebPreferences defaultDatabaseQuota]):
- (-[WebPreferences setDefaultDatabaseQuota:]):
- * WebView/WebPreferencesPrivate.h:
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Set the WebCore Settings version of the default storage pref
-
-2007-11-26 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - some middle-mouse-button-related fixes
-
- These don't affect Safari since it maps the middle mouse button to the command key,
- but that might not always be the case for future versions.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore.
- (-[WebHTMLView otherMouseDragged:]): Ditto, for drag events.
- (-[WebHTMLView otherMouseUp:]): Ditto, for up events.
-
- * WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey.
-
-2007-11-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Brady.
-
- Get rid of the WebSecurityOriginPrivate object and store
- the WebCore::SecurityOriginData pointer in the _private field of
- the WebSecurityOrigin object instead.
-
- * Storage/WebDatabaseManager.mm:
- (-[WebDatabaseManager databasesWithOrigin:]):
- (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
- (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
- (-[WebDatabaseManager deleteDatabase:withOrigin:]):
- * Storage/WebSecurityOrigin.mm:
- (-[WebSecurityOrigin initWithProtocol:domain:port:]):
- (-[WebSecurityOrigin protocol]):
- (-[WebSecurityOrigin domain]):
- (-[WebSecurityOrigin port]):
- (-[WebSecurityOrigin usage]):
- (-[WebSecurityOrigin quota]):
- (-[WebSecurityOrigin setQuota:]):
- (-[WebSecurityOrigin dealloc]):
- (-[WebSecurityOrigin finalize]):
- (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
- (-[WebSecurityOrigin _core]):
- * Storage/WebSecurityOriginInternal.h:
-
-2007-11-26 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Adam Roben.
-
- Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
- http://bugs.webkit.org/show_bug.cgi?id=16137
-
- Create the Web Inspector window with the textured style. Set the content border
- thickness for the top of the window or the height of the toolbar. Also make the
- window's bottom corners square, since a normal textured window normally has
- rounded bottom corners.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController window]):
-
-2007-11-24 Mark Rowe <mrowe@apple.com>
-
- Tiger build fix.
-
- * Plugins/WebBaseNetscapePluginStream.mm:
- (CarbonPathFromPOSIXPath): Use WebCFAutorelease as this also works on Tiger.
-
-2007-11-24 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
- http://bugs.webkit.org/show_bug.cgi?id=13705
-
- Have NP_ASFILE and NP_ASFILEONLY streams write the data to disk as they receive it rather than
- dumping the data to disk in a single go when the stream has completed loading. On a test case
- involving a 150MB Flash movie being streamed from a local web server this reduces memory consumption
- on page load from around 400MB to 22MB.
-
- The only plugin I have found that uses NP_ASFILE or NP_ASFILEONLY on the Mac is our NetscapeMoviePlugin
- example code so the NP_ASFILE portion of this change has not had any testing with a real-world plugin.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
- (-[WebBaseNetscapePluginStream dealloc]):
- (-[WebBaseNetscapePluginStream finalize]):
- (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
- (-[WebBaseNetscapePluginStream _destroyStream]): Update to work with paths as NSStrings.
- (-[WebBaseNetscapePluginStream _deliverDataToFile:]): Open the file if it is not already open, and write any data
- to disk.
- (-[WebBaseNetscapePluginStream finishedLoading]): If the stream is NP_ASFILE or NP_ASFILEONLY we need to ensure
- that the file exists before _destroyStream passes it to the plugin. Simulating the arrival of an empty data block
- ensure that the file will be created if it has not already.
- (-[WebBaseNetscapePluginStream receivedData:]):
- (CarbonPathFromPOSIXPath):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]): Data is dealt with incrementally so there's no need to pass
- it to finishedLoading.
- (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Ditto.
-
-2007-11-23 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fixed <rdar://problem/3759190> allow input methods the option of processing mouse events themselves
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView mouseDown:]):
-
-2007-11-22 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Antti Koivisto.
-
- - http://bugs.webkit.org/show_bug.cgi?id=15811
- WebKit plug-ins can re-enter WebKit under attach()
- <rdar://problem/5577978>
-
- * Plugins/WebNullPluginView.mm:
- (-[WebNullPluginView viewDidMoveToWindow]): Removed workaround for the
- above bug that added as part of fixing
- <http://bugs.webkit.org/show_bug.cgi?id=15804>.
-
-2007-11-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Eric.
-
- Fix WebKit to build without warnings under GCC 4.2.
-
- * Configurations/Base.xcconfig:
-
-2007-11-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
-
- Update format strings to use format specifiers that match the argument types.
-
- * Misc/WebGraphicsExtras.c:
- (WebConvertBGRAToARGB):
-
-2007-11-19 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- Finished hooking up the WebKit API for database management.
- Most of the API is actually implemented in WebCore and some of those methods might
- only be stubs for now.
-
- * Storage/WebDatabaseManager.mm:
- (-[WebDatabaseManager origins]): Call through to the WebCore tracker and construct an API result
- (-[WebDatabaseManager databasesWithOrigin:]): Ditto
- (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Ditto
-
- * Storage/WebSecurityOrigin.mm:
- (-[WebSecurityOrigin usage]): Call through to WebCore
- (-[WebSecurityOrigin quota]): Ditto
- (-[WebSecurityOrigin setQuota:]): Ditto
- (-[WebSecurityOrigin _core]): Get WebCore version of this object
- * Storage/WebSecurityOriginInternal.h:
-
-2007-11-17 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mark Rowe.
-
- Bug 13470: i18n: The Web Inspector is not localizable
- http://bugs.webkit.org/show_bug.cgi?id=13470
-
- Implement the localizedStringsURL() client method to return the
- localized URL of InspectorLocalizedStrings.js in WebCore.
-
- * WebCoreSupport/WebInspectorClient.h: Added localizedStringsURL.
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::localizedStringsURL): Added.
- (WebInspectorClient::updateWindowTitle): Localized the window title.
- (-[WebInspectorWindowController init]): Remove a FIXME that dosen't make sense anymore.
- (-[WebInspectorWindowController initWithInspectedWebView:]): Code style cleanup.
-
-2007-11-17 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- http://bugs.webkit.org/show_bug.cgi?id=15969
- Eliminate Editor::deleteRange()
-
- * WebView/WebHTMLView.mm:
- (+[WebHTMLView initialize]):
- (-[WebHTMLView yank:]):
- (-[WebHTMLView yankAndSelect:]):
- (-[WebHTMLView setMark:]):
- (-[WebHTMLView deleteToMark:]):
- (-[WebHTMLView selectToMark:]):
- (-[WebHTMLView swapWithMark:]):
- Pushed all kill ring methods to WebCore. They were guilty of using Editor::deleteRange()!
-
-2007-11-16 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Build WebCore as a sub-framework of WebKit in all configurations.
-
- * Configurations/WebKit.xcconfig:
-
-2007-11-16 John Sullivan <sullivan@apple.com>
-
- Reviewed by Brady
-
- * WebKit.exp:
- Exported some new database-related symbols
-
-2007-11-16 Brady Eidson <beidson@apple.com>
-
- Reviewed by John
-
- Database management API tweaks
-
- Fleshed out "WebSecurityOrigin" to be the API object representing an origin. This relieves some
- burden off WebDatabaseManager and allows usage/quota operations on the SecurityOrigin object itself
-
- Also added a new subdirectory for Storage related API - Why are we afraid to add new directories to
- the WebKit tree?
-
- * Misc/WebSecurityOrigin.mm: Removed.
- * Misc/WebSecurityOriginInternal.h: Removed.
- * Misc/WebSecurityOriginPrivate.h: Removed.
-
- * Storage/WebDatabaseManager.mm: Work in terms of WebSecurityOrigin
- * Storage/WebDatabaseManagerPrivate.h:
-
- * Storage/WebSecurityOrigin.mm: Added.
- (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
- (-[WebSecurityOriginPrivate initWithWebCoreSecurityOrigin:]):
- (-[WebSecurityOriginPrivate finalize]):
- (-[WebSecurityOriginPrivate dealloc]):
- (-[WebSecurityOrigin initWithProtocol:domain:]):
- (-[WebSecurityOrigin initWithProtocol:domain:port:]):
- (-[WebSecurityOrigin protocol]):
- (-[WebSecurityOrigin domain]):
- (-[WebSecurityOrigin port]):
- (-[WebSecurityOrigin usage]):
- (-[WebSecurityOrigin quota]):
- (-[WebSecurityOrigin setQuota:]): Clients will set quotas on the WebSecurityOrigin object itself
- (-[WebSecurityOrigin dealloc]):
- (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
- * Storage/WebSecurityOriginInternal.h: Added.
- * Storage/WebSecurityOriginPrivate.h: Added.
-
-2007-11-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by John
-
- Stubbing out everything required for a WebKit API for databases
-
- These interfaces seem to provide everything we need for UI and management at the browser level
-
- * Misc/WebDatabaseManager.h: Removed.
- * Misc/WebDatabaseManager.mm: Removed.
- * Misc/WebDatabaseManagerPrivate.h: Removed.
-
- * Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple"
- (protocol, domain, and port)
- (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
- (-[WebSecurityOriginPrivate dealloc]):
- (-[WebSecurityOrigin initWithProtocol:domain:]):
- (-[WebSecurityOrigin initWithProtocol:domain:port:]):
- (-[WebSecurityOrigin protocol]):
- (-[WebSecurityOrigin domain]):
- (-[WebSecurityOrigin port]):
- (-[WebSecurityOrigin dealloc]):
- (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]):
- * Misc/WebSecurityOriginInternal.h: Added.
- * Misc/WebSecurityOriginPrivate.h: Added.
-
- * Storage/WebDatabaseManager.mm: Added.
- (+[WebDatabaseManager sharedWebDatabaseManager]):
- (-[WebDatabaseManager origins]): Get a list of all origins currently tracked
- (-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin
- (-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin
- (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database
- (-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota
- (-[WebDatabaseManager deleteAllDatabases]):
- (-[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
- (-[WebDatabaseManager deleteDatabase:withOrigin:]):
- * Storage/WebDatabaseManagerPrivate.h: Added.
- * Storage/WebDatabaseManagerInternal.h: Added.
- (WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things
-
- * Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications
- * Storage/WebDatabaseTrackerClient.mm: Added.
- (WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient):
- (WebDatabaseTrackerClient::WebDatabaseTrackerClient):
- (WebDatabaseTrackerClient::~WebDatabaseTrackerClient):
- (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
- (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of
- Database-related things here
-
-2007-11-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Renamed Shared to RefCounted.
-
- * ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
- * ForwardingHeaders/wtf/Shared.h: Removed.
- * WebCoreSupport/WebContextMenuClient.h:
-
-2007-11-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Moved Shared.h into wtf so it could be used in more places.
-
- * ChangeLog:
- * WebCoreSupport/WebContextMenuClient.h:
-
-2007-11-13 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- removed recently-added PreferredType concept; we found a better way to do what
- ths was accomplishing
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::createWindow):
- removed use of PreferredType
-
-2007-11-13 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - fixed <rdar://problem/5567954> REGRESSION (Safari 2-3): Autofill no longer automatically fills in
- form fields other than the one you're typing into
-
- * WebCoreSupport/WebEditorClient.mm:
- (selectorForKeyEvent):
- correct the key identifier strings for Tab and Esc; these were updated in WebCore as part of r21445
- but didn't get updated here.
-
-2007-11-12 Josh Aas <joshmoz@gmail.com>
-
- Reviewed by Darin Adler.
-
- - http://bugs.webkit.org/show_bug.cgi?id=15946
- add NPPValue NPPVpluginDrawingModel (Mozilla bug 403418 compat)
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView setVariable:value:]):
-
-2007-11-12 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- http://bugs.webkit.org/show_bug.cgi?id=15954
- Move DOM Selection operations out of SelectionController
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _expandSelectionToGranularity:]):
- (-[WebHTMLView selectToMark:]):
- (-[WebHTMLView swapWithMark:]):
- * WebView/WebView.mm:
- (-[WebView setSelectedDOMRange:affinity:]):
- Adapted for SelectionController::setSelectedRange() now returning a bool.
-
-2007-11-12 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin and Geoff.
-
- <rdar://problem/5522011> The content of the password field of
- Safari is displayed by reconversion.
-
- Some input methods (notably Kotoeri) can incorrectly provide
- access to the raw text of a password field. To work around
- this we forcefully override the inputContext whenever a password
- field is active.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView inputContext]):
-
-2007-11-12 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Hatcher
-
- - speculative fix for <rdar://problem/5509989> CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit:
- -[WebPDFView(FileInternal) _updatePreferencesSoon] + 56
-
- The crash is probably due to messaging a dealloc'ed dataSource ivar. The dataSource ivar isn't retained
- by this class, but should be. (It is retained by WebHTMLView, e.g.).
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView dealloc]):
- release dataSource ivar
- (-[WebPDFView setDataSource:]):
- retain dataSource ivar
-
-2007-11-09 Tristan O'Tierney <tristan@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- This patch is for the WebKit side of <rdar://problem/5591115>.
- We need a way to tell context menu navigations, such as "Open in New Window"
- to override any sort of browser preference for tab based navigation.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::createWindow):
- Pass up the new preferredType parameter as a string.
-
-2007-11-09 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John.
-
- <rdar://problem/5103720> REGRESSION: [WebView stringByEvaluatingJavaScriptFromString:] fails if "return" is used
-
- Extend the linked on or after check to every application when a script passed to
- stringByEvaluatingJavaScriptFromString: has a return statement. Before the check
- was limited to VitalSource Bookshelf, but other developers are running into this.
-
- * Misc/WebKitVersionChecks.h: Add the WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK define.
- * WebView/WebDocumentLoaderMac.mm:
- (needsDataLoadWorkaround): Use WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK sicne the
- WebKitLinkedOnOrAfter check here was about the Adobe installer, not VitalSource.
- * WebView/WebView.mm:
- (-[WebView stringByEvaluatingJavaScriptFromString:]): Remove the bundle ID check and use
- WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK for the WebKitLinkedOnOrAfter call.
-
-2007-11-08 Kevin McCullough <kmccullough@apple.com>
-
- Build Fix.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::windowObjectCleared):
-
-2007-11-07 Darin Adler <darin@apple.com>
-
- Reviewed by Steve.
-
- - removed some unused WebCore bridge methods
-
- * WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of
- using the bridge object.
-
-2007-11-06 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Dave Kilzer.
-
- Move Mac files from WebKit into WebKit/mac.
-
- * Carbon: Copied from WebKit/Carbon.
- * ChangeLog: Copied from WebKit/ChangeLog.
- * ChangeLog-2002-12-03: Copied from WebKit/ChangeLog-2002-12-03.
- * ChangeLog-2006-02-09: Copied from WebKit/ChangeLog-2006-02-09.
- * ChangeLog-2007-10-14: Copied from WebKit/ChangeLog-2007-10-14.
- * Configurations: Copied from WebKit/Configurations.
- * DOM: Copied from WebKit/DOM.
- * DefaultDelegates: Copied from WebKit/DefaultDelegates.
- * ForwardingHeaders: Copied from WebKit/ForwardingHeaders.
- * History: Copied from WebKit/History.
- * Info.plist: Copied from WebKit/Info.plist.
- * MigrateHeaders.make: Copied from WebKit/MigrateHeaders.make.
- * Misc: Copied from WebKit/Misc.
- * Panels: Copied from WebKit/Panels.
- * Plugins: Copied from WebKit/Plugins.
- * PublicHeaderChangesFromTiger.txt: Copied from WebKit/PublicHeaderChangesFromTiger.txt.
- * Resources: Copied from WebKit/Resources.
- * WebCoreSupport: Copied from WebKit/WebCoreSupport.
- * WebInspector: Copied from WebKit/WebInspector.
- * WebKit.exp: Copied from WebKit/WebKit.exp.
- * WebKit.order: Copied from WebKit/WebKit.order.
- * WebKitPrefix.h: Copied from WebKit/WebKitPrefix.h.
- * WebView: Copied from WebKit/WebView.
- * icu: Copied from WebKit/icu.
-
-2007-11-06 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- http://bugs.webkit.org/show_bug.cgi?id=15847
- Some editing cleanup
-
- No change in functionality.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView deleteToEndOfLine:]):
- (-[WebHTMLView deleteToEndOfParagraph:]):
- WebCore had a duplicate of the same logic already. We are passing a boundary value to
- a function that expects granularity, this may need to be straightened out in the future.
-
-2007-11-05 John Sullivan <sullivan@apple.com>
-
- * WebView/WebView.mm:
- (-[WebView _searchWithSpotlightFromMenu:]):
-
- Teeny style tweak to test svn access on other machine
-
-2007-11-05 John Sullivan <sullivan@apple.com>
-
- * WebView/WebView.mm:
- (-[WebView computedStyleForElement:pseudoElement:]):
-
- Teeny style tweak to test svn access
-
-2007-11-02 Tristan O'Tierney <tristan@apple.com>
-
- Reviewed by Darin Adler.
-
- * DefaultDelegates/WebDefaultUIDelegate.m:
- (-[WebDefaultUIDelegate webView:createWebViewWithRequest:windowFeatures:]):
- Forward the UI delegate to call webView:createWebViewWithRequest: if
- this method doesn't exist.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchCreatePage):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView loadPluginRequest:]):
- * WebView/WebView.mm:
- (-[WebView _openNewWindowWithRequest:]):
- Revised to use new webView:createWebViewWithRequest:windowFeatures: callback.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::createWindow):
- Added a new createWindow that accepts 3 parameters, so we can pass up windowFeatures to the chrome.
- Removed createModalDialog to use new createWindow function.
-
- * WebView/WebUIDelegatePrivate.h:
- Added new webView:createWebViewWithRequest:windowFeatures: method.
-
-2007-11-05 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- http://bugs.webkit.org/show_bug.cgi?id=15835
-
- Small adaptations to new KJS::List class.
-
- * ForwardingHeaders/kjs/value.h: Added.
-
-2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
-
- Sort files(...); sections of Xcode project files.
-
- Rubber-stamped by Darin Adler.
-
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-11-02 Antti Koivisto <antti@apple.com>
-
- Reviewed by Darin Adler.
-
- Add method to enable video composition.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2007-11-02 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - fix problem I ran into while doing some testing on Mac for
- <rdar://problem/5530185> WebKit does not show <object>
- fallback content when both URL and MIME type is omitted
-
- I don't know how to reproduce this failure in DumpRenderTree, so there is no
- regression test.
-
- * Plugins/WebNullPluginView.h: Removed some unneeded declarations, including
- the didSendError local variable. Instead we just set the error to nil once
- we've sent it.
- * Plugins/WebNullPluginView.mm:
- (-[WebNullPluginView initWithFrame:error:DOMElement:]): Refactored so that
- the null plug-in image code is separate from the rest of the function and
- so that the whole thing is not inside an if statement. Also don't hold a
- reference to the DOM element if there is no error to report.
- (-[WebNullPluginView reportFailure]): Added. Does the actual delegate
- callback. Happens back at the top level of the run loop so it doesn't
- fire deep inside layout. Also wrote this so that it is guaranteed not to
- reenter and so that it can handle the case where the delegate destroys
- the world (including this object). NOTE: This is not a real, general
- solution to the problem of plug-ins that do work inside layout. We will need
- a more general fix that works for other plug-ins, and we'll track that with
- a separate bug report.
- (-[WebNullPluginView viewDidMoveToWindow]): Removed most of the code;
- changed so it just does a performSelector:afterDelay:0.
-
-2007-11-02 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix http://bugs.webkit.org/show_bug.cgi?id=15780
- Bug 15780: WebFrameLoaderClient: WebActionElementKey wrong if view is scrolled
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::actionDictionary): Retrieve the mouse event coordinates
- in the page coordinate system rather than the client area coordinate system.
-
-2007-11-01 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Oliver Hunt.
-
- - fix an assertion failure when Command-Tabbing out of Safari
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView flagsChanged:]): Avoid passing key code 0 down to
- WebCore.
-
-2007-11-01 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Oliver Hunt.
-
- <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
-
- No need to match style when pasting plain text, since the fragment we build for plain text
- won't have any style information on it.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): There's no
- longer a need to know whether this function chosePlaintext.
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
- (-[WebHTMLView _documentFragmentFromPasteboard:]):
-
-2007-10-31 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John Sullivan.
-
- Move the developer extras preference to WebPreferences.
-
- * WebView/WebPreferenceKeysPrivate.h: Add WebKitDeveloperExtrasEnabledPreferenceKey
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]): Initialize WebKitDeveloperExtrasEnabledPreferenceKey to NO.
- (-[WebPreferences developerExtrasEnabled]): Check DisableWebKitDeveloperExtras, WebKitDeveloperExtras
- and IncludeDebugMenu in addition to WebKitDeveloperExtrasEnabledPreferenceKey.
- (-[WebPreferences setDeveloperExtrasEnabled:]): Set WebKitDeveloperExtrasEnabledPreferenceKey.
- * WebView/WebPreferencesPrivate.h: Add developerExtrasEnabled and setDeveloperExtrasEnabled:.
- * WebView/WebView.mm:
- (+[WebView _developerExtrasEnabled]): Removed.
- (-[WebView _preferencesChangedNotification:]): Check the WebPreferences object for developerExtrasEnabled.
- * WebView/WebViewPrivate.h: Removed _developerExtrasEnabled.
-
-2007-10-30 David D. Kilzer <ddkilzer@webkit.org>
-
- Generated files missing from WebCore's Xcode project file
- <http://bugs.webkit.org/show_bug.cgi?id=15406>
-
- Reviewed by Darin Adler.
-
- Added the following private header files to MigrateHeaders.make:
-
- - DOMCSSStyleSheetPrivate.h
- - DOMEventPrivate.h
- - DOMHTMLCollectionPrivate.h
- - DOMHTMLEmbedElementPrivate.h
- - DOMHTMLIFrameElementPrivate.h
- - DOMHTMLObjectElementPrivate.h
- - DOMHTMLSelectElementPrivate.h
-
- * MigrateHeaders.make:
-
-2007-10-29 Antti Koivisto <antti@apple.com>
-
- Reviewed by Maciej.
-
- Some SPIs for media support.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2007-10-29 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by John Sullivan.
-
- Various semi-related changes:
- - A WebView can now be asked for it's WebInspector. There is one
- WebInspector per WebView.
- - Refactor the WebInspector class and move obsolete methods to
- a special category.
- - Add new WebInspector methods to show, hide and show the
- console/timeline panels.
- - Add an isDisabled method to WebCache.
- - Allow WebLocalizableStrings.h to be used in C files.
-
- * Misc/WebCache.h: Add isDisabled.
- * Misc/WebCache.mm:
- (+[WebCache isDisabled]): New method.
-
- * Misc/WebLocalizableStrings.h: Changes to allow use in plain C files.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController showWindow:]): Call super if already visible
- so the window will be ordered front.
- (-[WebInspectorWindowController showWebInspector:]): Method used by menu items,
- so they are enabled and work when the Inspector window is key.
- (-[WebInspectorWindowController showErrorConsole:]): Ditto.
- (-[WebInspectorWindowController showNetworkTimeline:]): Ditto.
-
- * WebInspector/WebInspector.h: Add and remove methods.
- * WebInspector/WebInspector.mm:
- (-[WebInspector webViewClosed]): Called when the WebView is closed/dealloced.
- Clears the _webView pointer.
- (-[WebInspector show:]): Calls thru to the Page's InspectorController.
- (-[WebInspector showConsole:]): Ditto.
- (-[WebInspector showTimeline:]): Ditto.
- (-[WebInspector close:]): Ditto.
- (-[WebInspector attach:]): Ditto.
- (-[WebInspector detach:]): Ditto.
- (+[WebInspector sharedWebInspector]): Moved to the obsolete category.
- (+[WebInspector webInspector]): Ditto.
- (-[WebInspector setWebFrame:]): Ditto.
- (-[WebInspector window]): Ditto.
- (-[WebInspector showWindow:]): Ditto.
-
- * WebView/WebView.mm:
- (-[WebViewPrivate dealloc]): Release the WebInspector.
- (-[WebView _close]): Call webViewClosed on the WebInspector.
- (-[WebView inspector]): Create a WebInspector if needed and return it.
- * WebView/WebViewPrivate.h: Add the inspector method.
-
-2007-10-30 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
- <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView flagsChanged:]): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
- (+[WebHTMLView _postFlagsChangedEvent:]): Added a comment with a Radar number for why this isn't just in flagsChanged.
- (-[WebHTMLView scrollWheel:]): Instead of calling the next responder explicitly, we can just call super, which will take care of this.
-
-2007-10-27 Mark Ambachtsheer <mark.a@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for bug 15710, When QD plugins draw to an offscreen bitmap and the plugin is not at
- (0, 0) the clipping rectangle is not correct.
- Added the origin to the window clip rectangle coordinates to account for plugins that
- don't originate at (0,0); affects code for offscreen GWorlds only.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
-
-2007-10-26 Adele Peterson <adele@apple.com>
-
- Reviewed by Oliver.
-
- Adding WebKitSystemInterface support for the caps lock indicator
-
- * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
-
-2007-10-25 David Hyatt <hyatt@apple.com>
-
- Fix for bug 15672, backgrounds don't tile properly inside transforms. This patch fixes tiling
- of backgrounds inside CSS transforms and also of HTML content with background images inside SVG
- transforms.
-
- Reviewed by aroben and mmitz
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-10-25 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Hatcher
-
- Removed the support for toggling whether WebKit uses the 10.5 PDFKit improvements. Now it
- always does, when available.
-
- * WebView/WebPreferencesPrivate.h:
- removed _usePDFPreviewView and _setUsePDFPreviewView:. Note that these were guarded with
- a comment that says that they can be removed when no longer needed. That time is now.
-
- * WebView/WebPreferences.m:
- (+[WebPreferences initialize]):
- removed WebKitUsePDFPreviewViewPreferenceKey
- (-[WebPreferences _usePDFPreviewView]):
- removed
- (-[WebPreferences _setUsePDFPreviewView:]):
- removed
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView initWithFrame:]):
- don't check _usePDFPreviewView
-
- * WebView/WebPreferenceKeysPrivate.h:
- removed WebKitUsePDFPreviewViewPreferenceKey
-
-2007-10-24 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mark Rowe.
-
- <rdar://problem/5069711> OpenSource version of libWebKitSystemInterface.a is Tiger only, causes issues if used on Leopard
-
- Use the WebKitSystemInterface that matches the system version.
-
- * Configurations/DebugRelease.xcconfig:
- * WebKit.xcodeproj/project.pbxproj:
-
-2007-10-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- <rdar://problem/5554130> DatabaseTracker.o has a global initializer
-
- * Misc/WebDatabaseManager.mm:
- (WebKitSetWebDatabasesPathIfNecessary): Call the member function instead of a static one
-
-2007-10-23 Mark Rowe <mrowe@apple.com>
-
- Build fix for Eric's build fix in r26916.
-
- * MigrateHeaders.make:
-
-2007-10-22 Eric Seidel <eric@webkit.org>
-
- Reviewed by Maciej.
-
- * MigrateHeaders.make: copy over font-face related DOM headers
-
-2007-10-22 Andrew Wellington <proton@wiretapped.net>
-
- Reviewed by Mark Rowe.
-
- Fix for local database support after r26879
- Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
-
- * Configurations/WebKit.xcconfig:
-
-2007-10-19 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher
-
- Added support for Chrome prompts required by the Storage API
- Added support API for future managing of databases from the WebKit client
- Added preference and initialization for the databases path
-
- * Misc/WebDatabaseManager.h: Added. WebDatabaseManager is how a WebKit application can list and
- remove the current available databases
- * Misc/WebDatabaseManager.mm: Added.
- (+[WebDatabaseManager origins]):
- (+[WebDatabaseManager databasesWithOrigin:]):
- (+[WebDatabaseManager deleteAllDatabases]):
- (+[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
- (+[WebDatabaseManager deleteDatabaseWithOrigin:named:]):
- (WebKitSetWebDatabasesPathIfNecessary): Setup the database path
- * Misc/WebDatabaseManagerPrivate.h: Added.
-
- * WebCoreSupport/WebChromeClient.h: Support for calling the delegate to run the prompt for
- an origin exceeding its size limit
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::runDatabaseSizeLimitPrompt):
- * WebKit.xcodeproj/project.pbxproj:
- * WebView/WebUIDelegate.h:
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]): Setup the database path
- * WebView/WebViewInternal.h:
-
-2007-10-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Hatcher
-
- - fixed <rdar://problem/5540325> REGRESSION (2.0.4-3): History menu looks odd after clearing history
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate removeAllItems]):
- This was fallout from r25275. We need to clear the orderedLastVisitedDays cache here, in addition
- to the other places where it's cleared.
-
-2007-10-18 Dan Bernstein <mitz@apple.com>
-
- Tiger build fix.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource _MIMETypeOfResponse:]):
-
-2007-10-18 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adam Roben.
-
- - fix <rdar://problem/5313523>
- REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::makeDocumentView): Changed to use _responseMIMEType.
- * WebView/WebDataSource.mm:
- (-[WebDataSource _MIMETypeOfResponse:]): Added. Works around
- <rdar://problem/5321972> by testing for the case of an NSHTTPURLResponse
- with a MIMEType of application/octet-stream and a Content-Type header
- starting with text/plain and returning text/plain as the MIME type in
- that case.
- (-[WebDataSource _responseMIMEType]): Added. Used to get the correct
- response MIME type.
- (-[WebDataSource _isDocumentHTML]): Changed to use _responseMIMEType.
- (-[WebDataSource _makeRepresentation]): Ditto.
- (-[WebDataSource mainResource]): Ditto.
- (-[WebDataSource subresources]): Changed to use _MIMETypeOfResponse and
- pass the MIME type explicitly.
- (-[WebDataSource subresourceForURL:]): Ditto.
- * WebView/WebDataSourcePrivate.h:
- * WebView/WebFrameView.mm:
- (-[WebFrameView _makeDocumentViewForDataSource:]): Changed to use
- _responseMIMEType.
- * WebView/WebResource.mm:
- (-[WebResource _initWithData:URL:response:MIMEType:]): Changed this
- method to take a MIME type instead of extracting it from the response,
- so that WebDataSource could pass the correct MIME type.
- * WebView/WebResourcePrivate.h:
-
-2007-10-17 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- - fix <rdar://problem/5183775> Uninitialized memory in -[WebDynamicScrollBarsView updateScrollers]
-
- * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
- Change code path so it doesn't dispatch a method that returns an NSSize passing a nil object.
- It's safe to do that for functions that return integers or pointers, but not structures.
-
-2007-10-16 David Kilzer <ddkilzer@apple.com>
-
- Reviewed by Timothy.
-
- <rdar://problem/5544354> Wrong delegate method called in
- WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Fixed selector name.
-
-2007-10-16 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - moved transpose command implementation into WebCore
-
- * WebView/WebHTMLView.mm: Removed transpose: and replaced it with standard WebCore forwarding.
-
-2007-10-16 Darin Adler <darin@apple.com>
-
- Reviewed by Maciej and Geoff (and looked over by Eric).
-
- - http://bugs.webkit.org/show_bug.cgi?id=15519
- eliminate use of <ctype.h> for processing ASCII
-
- * ForwardingHeaders/wtf/ASCIICType.h: Added.
- * ForwardingHeaders/wtf/DisallowCType.h: Added.
-
- * WebKitPrefix.h: Include DisallowCType.h.
-
- * Misc/WebNSURLExtras.mm: (-[NSURL _web_URLWithLowercasedScheme]): Use toASCIILower.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView callWebCoreCommand:]): Use toASCIIUpper.
- (-[WebTextCompleteController filterKeyDown:]): Add a list of specific character codes,
- instead of using ispunct.
-
-2007-10-16 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adam Roben
-
- Cleaned up localizable strings
-
- * English.lproj/Localizable.strings:
- updated
- * StringsNotToBeLocalized.txt:
- updated
- * WebKit.xcodeproj/project.pbxproj:
- StringsNotToBeLocalized.txt recently moved but project file wasn't updated to match; now it is
-
-2007-10-15 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Darin Adler.
-
- Fixed: <rdar://problem/5520541> REGRESSION: Broken image when forwarding certain email on Tiger
-
- * WebCoreSupport/WebFrameBridge.mm: The problem was that we were loading Mail's WebKit plug-in
- too soon, which borked some necessary housekeeping on behalf of Mail. The fix is to add a quirk
- that treats Tiger Mail's WebKit plug-in like a Netscape plug-in, thus ensuring the plug-in will
- load during first layout and not attach time. For this plug-in, loading at first layout is
- expected and is consistent with Safari 2 behavior.
-
-2007-10-15 John Sullivan <sullivan@apple.com>
-
- Reviewed by Geoff Garen
-
- Replaced NS_DURING/NS_HANDLER with @try/@catch throughout WebKit
-
- I made the following changes:
- - replaced NS_DURING with @try, and added opening brace if there wasn't one
- - replaced NS_HANDLER with @catch (NSException *localException), and added braces if there weren't any
- - removed NS_ENDHANDLER, and added a closing brace if there wasn't one
- - in a couple of places, fixed indentation therein
-
- * Misc/WebIconDatabase.mm:
- (objectFromPathForKey):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawSingleRect:]):
- (-[WebHTMLView beginDocument]):
- (-[WebHTMLView deleteToMark:]):
- * WebView/WebView.mm:
- (-[WebView initWithCoder:]):
-
-== Rolled over to ChangeLog-2007-10-14 ==
diff --git a/Source/WebKit/mac/ChangeLog-2012-10-02 b/Source/WebKit/mac/ChangeLog-2012-10-02
deleted file mode 100644
index 9581a0467..000000000
--- a/Source/WebKit/mac/ChangeLog-2012-10-02
+++ /dev/null
@@ -1,21815 +0,0 @@
-2012-10-02 Anders Carlsson <andersca@apple.com>
-
- Build fixes.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
- (WebKit::NetscapePluginHostManager::didCreateWindow):
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- (NetscapePluginHostProxy):
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::didEnterFullscreen):
- (WebKit::NetscapePluginHostProxy::didExitFullscreen):
- (WebKit::NetscapePluginHostProxy::applicationDidBecomeActive):
- (WebKit::NetscapePluginHostProxy::endModal):
- (WebKit):
- (WebKit::NetscapePluginHostProxy::makeCurrentProcessFrontProcess):
- (WebKit::NetscapePluginHostProxy::makePluginHostProcessFrontProcess):
- (WebKit::NetscapePluginHostProxy::isPluginHostProcessFrontProcess):
-
-2012-10-01 Brady Eidson <beidson@apple.com>
-
- Remove the Safari 2 -> Safari 3 icon database import code.
- https://bugs.webkit.org/show_bug.cgi?id=98113
-
- Reviewed by Maciej Stachowiak.
-
- Nuke the performImport() IconDatabaseClient method, as well as the supporting methods.
-
- * Misc/WebIconDatabase.mm:
- * Misc/WebIconDatabaseInternal.h:
- * Misc/WebIconDatabasePrivate.h:
- * WebCoreSupport/WebIconDatabaseClient.h:
- * WebCoreSupport/WebIconDatabaseClient.mm:
- * WebKit.exp:
-
-2012-09-28 Anders Carlsson <andersca@apple.com>
-
- Remove support for method overloading from bridge code
- https://bugs.webkit.org/show_bug.cgi?id=97959
-
- Reviewed by Dan Bernstein.
-
- Update for WebCore changes; MethodList has been replaced with a single Method* everywhere.
-
- * Plugins/Hosted/ProxyInstance.h:
- (ProxyInstance):
- * Plugins/Hosted/ProxyInstance.mm:
- (ProxyClass):
- (WebKit::ProxyClass::methodNamed):
- (WebKit::ProxyRuntimeMethod::create):
- (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
- (WebKit::ProxyInstance::getMethod):
- (WebKit::ProxyInstance::invokeMethod):
- (WebKit::ProxyInstance::methodNamed):
-
-2012-09-28 Anders Carlsson <andersca@apple.com>
-
- Remove Java bridge
- https://bugs.webkit.org/show_bug.cgi?id=97954
-
- Reviewed by Sam Weinig.
-
- The Java bridge is not used by any port; Mac now has a NPAPI Java plug-in.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- Make sure that we try to load the NPAPI Java plug-in.
-
-2012-09-27 Anders Carlsson <andersca@apple.com>
-
- Get rid of more unused WK1 plug-in code
- https://bugs.webkit.org/show_bug.cgi?id=97835
-
- Reviewed by Mark Rowe.
-
- * Plugins/WebBasePluginPackage.mm:
- Remove JavaCFMPluginFilename #define.
-
- (-[WebBasePluginPackage initWithPath:]):
- #ifndef __ppc__ is always true now.
-
- (-[WebBasePluginPackage isJavaPlugIn]):
- Remove JavaCFMPluginFilename.
-
- * Plugins/WebNetscapeDeprecatedFunctions.c: Removed.
- * Plugins/WebNetscapeDeprecatedFunctions.h: Removed.
- Remove functions that nobody calls anymore.
-
- * Plugins/WebNetscapePluginPackage.mm:
- Remove +initialize call, the earliest version of Shockwave we now support doesn't
- require us to have a valid CurApRefNum file anymore.
-
- (-[WebNetscapePluginPackage _tryLoad]):
- Remove more unused code.
-
- * Plugins/WebPluginDatabase.h:
- Remove CFM from a comment.
-
-2012-09-27 Anders Carlsson <andersca@apple.com>
-
- Fix 32-bit build.
-
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage _initWithPath:]):
- Add back the architecture check that i accidentally.
-
-2012-09-27 Anders Carlsson <andersca@apple.com>
-
- Remove support for CFM plug-ins in WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=97822
-
- Reviewed by Mark Rowe.
-
- I'm pretty sure that CFM style plug-ins haven't been used for the last ten years or so,
- so it's safe to remove them (especially since they're PPC only).
-
- * Plugins/WebNetscapePluginPackage.h:
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage openResourceFile]):
- (-[WebNetscapePluginPackage closeResourceFile:]):
- (-[WebNetscapePluginPackage _initWithPath:]):
- (-[WebNetscapePluginPackage _tryLoad]):
- (-[WebNetscapePluginPackage _unloadWithShutdown:]):
- * Plugins/WebPluginDatabase.mm:
- (PluginPackageCandidates::PluginPackageCandidates):
- (PluginPackageCandidates::update):
- (PluginPackageCandidates::bestCandidate):
- (PluginPackageCandidates):
-
-2012-09-26 Anders Carlsson <andersca@apple.com>
-
- Stop using kCFURLHFSPathStyle
- https://bugs.webkit.org/show_bug.cgi?id=97731
- <rdar://problem/12378980>
-
- Reviewed by Tim Horton.
-
- Stop passing Carbon style paths to the plug-in. Both WebKitPluginHost, WebKit2 and Firefox
- pass POSIX style paths which makes more sense.
-
- * Plugins/WebNetscapePluginStream.mm:
- (WebNetscapePluginStream::destroyStream):
-
-2012-09-25 Dan Bernstein <mitz@apple.com>
-
- WebKit/mac part of <rdar://problem/11455228> [mac] Stop using screen fonts
- https://bugs.webkit.org/show_bug.cgi?id=97620
-
- Reviewed by John Sullivan.
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Changed the default value of the screenFontSubstitutionEnabled
- preference to NO.
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]): Changed to enable screen font substitution also if
- the value of the NSFontDefaultScreenFontSubstitutionEnabled user defaults key is YES.
-
-2012-09-21 Jeffrey Pfau <jpfau@apple.com>
-
- Add WebKit1 SPI for storage blocking preference
- https://bugs.webkit.org/show_bug.cgi?id=97356
-
- Reviewed by Brady Eidson.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences setStorageBlockingPolicy:]):
- (-[WebPreferences storageBlockingPolicy]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2012-09-24 Simon Fraser <simon.fraser@apple.com>
-
- <rdar://problem/12351906> Have DumpRenderTree and WebKitTestRunner crash logs show which test crashed
-
- Reviewed by Mark Rowe.
-
- Use a new WebKitSytemInterface function to add data to crash logs about which
- test was running when the crash happened.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Hook up the function pointer for [wk|WK]SetCrashReportApplicationSpecificInformation.
-
-2012-09-25 Beth Dakin <bdakin@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=95397
- Need to merge didFirstVisuallyNonEmptyLayout and
- didNewFirstVisuallyNonEmptyLayout
- -and corresponding-
- <rdar://problem/10791680>
-
- Reviewed by Sam Weinig.
-
- The new API has two parts. First, the client has to opt into which
- layout milestones they are interested in hearing about using
- [WebView _layoutMilestones]. Then, WebKit will call
- the WebFrameLoader delegate's didLayout(WebLayoutMilestones)
- callback when the specified layout milestones have fired.
- didLayout takes the WebLayoutMilestones bit mask, which will
- indicate which milestones have fired since it is possible for two
- to fire at the same time.
-
- Remove dispatchDidFirstLayout,
- dispatchDidFirstVisuallyNonEmptyLayout, and
- dispatchDidNewFirstVisuallyNonEmptyLayout. They are now replaced
- by dispatchDidLayout(LayoutMilestones)
- * WebCoreSupport/WebFrameLoaderClient.h:
- (WebFrameLoaderClient):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidLayout):
-
- Add new function to the delegate for didLayout.
- * WebView/WebDelegateImplementationCaching.h:
- (WebFrameLoadDelegateImplementationCache):
-
- We need a delegate template that takes an NSUInteger.
- * WebView/WebDelegateImplementationCaching.mm:
- (CallDelegate):
- (CallFrameLoadDelegate):
-
- Convert between WebCore and WebKit versions of the bit mask.
- * WebView/WebView.mm:
- (coreLayoutMilestones):
- (kitLayoutMilestones):
-
- Add new delegate, and set the appropriate layout milestones in
- WebCore based on old delegates having implementations.
- (-[WebView _cacheFrameLoadDelegateImplementations]):
-
- Call into WebCore.
- (-[WebView _listenForLayoutMilestones:]):
- (-[WebView _layoutMilestones]):
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-2012-09-24 Benjamin Poulain <bpoulain@apple.com>
-
- Fix Geolocation error reporting in the test support
- https://bugs.webkit.org/show_bug.cgi?id=97386
-
- Reviewed by Sam Weinig.
-
- * WebView/WebView.mm:
- (-[WebView _geolocationDidFailWithMessage:]):
- * WebView/WebViewPrivate.h:
-
-2012-09-24 Ryosuke Niwa <rniwa@webkit.org>
-
- suspend/resumeWidgetHierarchyUpdates should be a RAII object
- https://bugs.webkit.org/show_bug.cgi?id=96706
-
- Reviewed by Simon Fraser.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _invalidateGStatesForTree]):
-
-2012-09-21 Chris Rogers <crogers@google.com>
-
- Add Web Audio support for deprecated/legacy APIs
- https://bugs.webkit.org/show_bug.cgi?id=97050
-
- Reviewed by Eric Carlson.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-09-19 Dan Bernstein <mitz@apple.com>
-
- WebKit/mac part of adding a setting and API for disabling screen font substitution
- https://bugs.webkit.org/show_bug.cgi?id=97168
-
- Reviewed by Tim Horton.
-
- * WebView/WebPreferenceKeysPrivate.h: Defined WebKitScreenFontSubstitutionEnabledKey.
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Added a default value of YES for the new preference key.
- (-[WebPreferences setScreenFontSubstitutionEnabled:]): Added this setter.
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]): Added a call to Settings::setScreenFontSubstitutionEnabled
- to push the preference down to Settings.
-
-2012-09-17 Dan Bernstein <mitz@apple.com>
-
- <rdar://problem/12316935> [mac WebKit1]: -[WebView _setPaginationBehavesLikeColumns:] is a no-op
- https://bugs.webkit.org/show_bug.cgi?id=96971
-
- Reviewed by Sam Weinig.
-
- * WebView/WebView.mm:
- (-[WebView _setPaginationBehavesLikeColumns:]): Added a call to setPagination().
-
-2012-09-14 Adam Barth <abarth@webkit.org>
-
- Remove webkitPostMessage
- https://bugs.webkit.org/show_bug.cgi?id=96577
-
- Reviewed by Ojan Vafai.
-
- Add ENABLE_LEGACY_VENDOR_PREFIXES flag.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-09-14 Beth Dakin <bdakin@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=96688
- Put position:fixed elements in their own layers and allow them to
- create a stacking context
- -and corresponding-
- <rdar://problem/11467961>
-
- Reviewed by Simon Fraser.
-
- Enable these settings in WK1 too for consistency.
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2012-09-13 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r128552.
- http://trac.webkit.org/changeset/128552
- https://bugs.webkit.org/show_bug.cgi?id=96729
-
- Still breaks the test on chromium linux debug. It's quite
- annoying. (Requested by rniwa on #webkit).
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _invalidateGStatesForTree]):
-
-2012-09-13 Ryosuke Niwa <rniwa@webkit.org>
-
- suspend/resumeWidgetHierarchyUpdates should be a RAII object
- https://bugs.webkit.org/show_bug.cgi?id=96706
-
- Reviewed by Simon Fraser.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _invalidateGStatesForTree]):
-
-2012-09-13 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r128531.
- http://trac.webkit.org/changeset/128531
- https://bugs.webkit.org/show_bug.cgi?id=96719
-
- plugins/document-open.html crash on Chromium-Linux (Requested
- by tkent1 on #webkit).
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _invalidateGStatesForTree]):
-
-2012-09-13 Benjamin Poulain <bpoulain@apple.com>
-
- Improve the SourceProvider hierarchy
- https://bugs.webkit.org/show_bug.cgi?id=95635
-
- Reviewed by Geoffrey Garen.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Fix a #include abuse.
- * WebView/WebScriptDebugger.mm:
- (toNSString): We can now use the (faster) implicit conversion
- from String to NSString.
-
-2012-09-13 Ryosuke Niwa <rniwa@webkit.org>
-
- suspend/resumeWidgetHierarchyUpdates should be a RAII object
- https://bugs.webkit.org/show_bug.cgi?id=96706
-
- Reviewed by Simon Fraser.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _invalidateGStatesForTree]):
-
-2012-09-12 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r127876.
- http://trac.webkit.org/changeset/127876
- https://bugs.webkit.org/show_bug.cgi?id=96600
-
- mouse click doesn't work for spin button if spin button in
- iframe (Requested by yosin on #webkit).
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::actionDictionary):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView elementAtPoint:allowShadowContent:]):
-
-2012-09-11 Geoffrey Garen <ggaren@apple.com>
-
- Mac build fix: Commit a file I forgot.
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame functionName]):
-
-2012-09-11 Michael Saboff <msaboff@apple.com>
-
- Build fixed for http://trac.webkit.org/changeset/128243
-
- Rubber stamped by Stephanie Lewis.
-
- Added missing include file needed by 96422.
-
- * icu/unicode/unorm2.h: Added.
-
-2012-09-11 Michael Saboff <msaboff@apple.com>
-
- Build fixed for http://trac.webkit.org/changeset/128243
-
- Rubber stamped by Stephanie Lewis.
-
- Added missing include file needed by 96422.
-
- * icu/unicode/ptypes.h: Added.
-
-2012-09-11 Michael Saboff <msaboff@apple.com>
-
- Update ICU header files to more recent version
- https://bugs.webkit.org/show_bug.cgi?id=96422
-
- Reviewed by Geoff Garen.
-
- Updated ICU header files to 4.6.1. Modifications made as part of the merge are:
- platform.h - Changed ifndef / define / endif for U_HAVE_UINT8_T, U_HAVE_UINT16_T, U_HAVE_UINT32_T,
- U_HAVE_UINT64_T, U_IS_BIG_ENDIAN and U_ENABLE_TRACING to match the existing platform.h
- putil.h (line 132) - Changes defined(U_WINDOWS) to defined(WIN32) || defined(OS2) to match existing putil.h
- ustring.h (line 945) - Wrapped macro argument cs with { (const UChar *)cs } to match existing ustring.h
- utypes.h (line 545) - Changed defined(U_WINDOWS) to defined(WIN32) to match existing utypes.h
-
- * icu/unicode/localpointer.h: Added.
- * icu/unicode/parseerr.h:
- * icu/unicode/platform.h:
- * icu/unicode/putil.h:
- * icu/unicode/uchar.h:
- * icu/unicode/uconfig.h:
- * icu/unicode/uidna.h:
- * icu/unicode/uiter.h:
- * icu/unicode/umachine.h:
- * icu/unicode/unorm.h:
- * icu/unicode/urename.h:
- * icu/unicode/uscript.h:
- * icu/unicode/ustring.h:
- * icu/unicode/utf.h:
- * icu/unicode/utf16.h:
- * icu/unicode/utf8.h:
- * icu/unicode/utypes.h:
- * icu/unicode/uvernum.h: Added.
- * icu/unicode/uversion.h:
-
-2012-09-11 Matt Lilek <mrl@apple.com>
-
- OS X port should compile with newer versions of clang
- https://bugs.webkit.org/show_bug.cgi?id=96434
-
- m_isTerminated is unused in the Hosted flavor of NetscapePluginStream.
-
- Reviewed by Anders Carlsson.
-
- * Plugins/Hosted/HostedNetscapePluginStream.h:
- (HostedNetscapePluginStream):
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
-
-2012-09-10 Jer Noble <jer.noble@apple.com>
-
- Unreviewed; rolling out r128081.
- http://trac.webkit.org/changeset/128081
- https://bugs.webkit.org/show_bug.cgi?id=96134
-
- New test http/tests/media/video-donottrack.html fails to run on Apple test bots.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebView/WebDelegateImplementationCaching.h:
- (WebFrameLoadDelegateImplementationCache):
- * WebView/WebDelegateImplementationCaching.mm:
- * WebView/WebView.mm:
- (-[WebView _cacheFrameLoadDelegateImplementations]):
-
-2012-09-07 Jon Lee <jonlee@apple.com>
-
- Update notifications to latest spec
- https://bugs.webkit.org/show_bug.cgi?id=91726
- <rdar://problem/11910451>
-
- Reviewed by Alexey Proskuryakov.
-
- Expose lang and dir.
-
- * WebView/WebNotification.h:
- * WebView/WebNotification.mm:
- (-[WebNotification lang]):
- (-[WebNotification dir]):
-
-2012-09-10 Jer Noble <jer.noble@apple.com>
-
- NSInvalidArgumentException in WebFrameLoaderClient::shouldSendDoNotTrackHTTPHeader()
- https://bugs.webkit.org/show_bug.cgi?id=96320
-
- Reviewed by Geoffrey Garen.
-
- Client was being cached as the FrameLoaderClient, but requests were sent to the ResourceLoadClient.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::shouldSendDoNotTrackHTTPHeader): Send the request to the FrameLoadDelegate.
- * WebView/WebDelegateImplementationCaching.h:
- * WebView/WebDelegateImplementationCaching.mm:
- (CallFrameLoadDelegateReturningBoolean): Added.
-
-2012-09-07 Jer Noble <jer.noble@apple.com>
-
- <audio> and <video> should send Do Not Track when appropriate
- https://bugs.webkit.org/show_bug.cgi?id=96134
-
- Reviewed by Eric Carlson.
-
- Add support for the shouldSendDoNotTrackHTTPHeader by passing the request
- on to the WebFrameLoadDelegate.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::shouldSendDoNotTrackHeader):
- Pass the question on to the WebFrameLoadDelegate.
- * WebView/WebDelegateImplementationCaching.h:
- (WebFrameLoadDelegateImplementationCache):
- Add an entry for the delegate's webViewShouldSendDoNotTrackHeader method.
- * WebView/WebDelegateImplementationCaching.mm:
- (CallResourceLoadDelegateReturningBoolean): Added a 0-parameter overloaded function.
- * WebView/WebView.mm:
- (-[WebView _cacheFrameLoadDelegateImplementations]): initialize the
- cached value for shouldSendDoNotTrackHeaderFunc.
-
-2012-09-07 Benjamin Poulain <bpoulain@apple.com>
-
- Rename the ustring() accessor to string()
- https://bugs.webkit.org/show_bug.cgi?id=95919
-
- Reviewed by Geoffrey Garen.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::enumerate):
-
-2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
-
- Simplify hitTestResultAtPoint and nodesFromRect APIs
- https://bugs.webkit.org/show_bug.cgi?id=95720
-
- Reviewed by Antonio Gomes.
-
- Update calls to new API.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::actionDictionary):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView elementAtPoint:allowShadowContent:]):
-
-2012-09-05 Sam Weinig <sam@webkit.org>
-
- Part 2 of removing PlatformString.h, remove PlatformString.h
- https://bugs.webkit.org/show_bug.cgi?id=95931
-
- Reviewed by Adam Barth.
-
- Remove PlatformString.h
-
- * History/WebHistoryItem.mm:
- * Misc/WebStringTruncator.mm:
- * Plugins/Hosted/NetscapePluginHostManager.h:
- (NetscapePluginHostManager):
- * Plugins/WebPluginController.mm:
- * Storage/WebStorageTrackerClient.mm:
- * WebCoreSupport/WebChromeClient.mm:
- * WebCoreSupport/WebEditorClient.mm:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebCoreSupport/WebIconDatabaseClient.mm:
- * WebCoreSupport/WebInspectorClient.h:
- (WebInspectorClient):
- (WebInspectorFrontendClient):
- * WebView/WebRenderLayer.mm:
- * WebView/WebViewData.h:
-
-2012-09-05 Benjamin Poulain <bpoulain@apple.com>
-
- More fixes for String::operator+=() on Mac
- https://bugs.webkit.org/show_bug.cgi?id=95880
-
- Reviewed by Adam Barth.
-
- * WebView/WebRenderLayer.mm:
- (+[WebRenderLayer nameForLayer:]): Use StringBuilder to concatenate the class names
- efficiently.
- * WebView/WebView.mm:
- (+[WebView _decodeData:]): This is a legitimate use of String::append(), there
- is no other concatenation done on that string.
-
-2012-09-01 Mark Lam <mark.lam@apple.com>
-
- Added #include <JavaScriptCore/Identifier.h>.
- https://bugs.webkit.org/show_bug.cgi?id=95641.
-
- Reviewed by Dan Bernstein.
-
- The code references JSC::Indentifier but was previously depending on
- someone else to #include it. This results in build problems when
- building for the llint C loop configuration.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
-
-2012-08-31 Tony Chang <tony@chromium.org>
-
- Remove ENABLE_CSS3_FLEXBOX compile time flag
- https://bugs.webkit.org/show_bug.cgi?id=95382
-
- Reviewed by Ojan Vafai.
-
- Everyone is already enabling this by default and the spec has stablized.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-08-31 Pratik Solanki <psolanki@apple.com>
-
- objc_msgSend and IMP should be cast appropriately before using
- https://bugs.webkit.org/show_bug.cgi?id=95242
-
- Reviewed by Benjamin Poulain.
-
- Fix for older compilers. Pass id as the return type to the template
- instead of relying on default type.
-
- * WebView/WebDelegateImplementationCaching.mm:
- (CallDelegate):
- (CallFormDelegate):
- * WebView/WebHTMLView.mm:
- (setCursor):
- (setNeedsDisplayInRect):
-
-2012-08-30 Geoffrey Garen <ggaren@apple.com>
-
- Use one object instead of two for closures, eliminating ScopeChainNode
- https://bugs.webkit.org/show_bug.cgi?id=95501
-
- Reviewed by Filip Pizlo.
-
- Mechanical change to update for JSC interface change.
-
-2012-08-30 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r127171.
- http://trac.webkit.org/changeset/127171
- https://bugs.webkit.org/show_bug.cgi?id=95505
-
- testRunner does not need dumpWebNotificationCallbacks().
- (Requested by jonlee on #webkit).
-
- * WebKit.exp:
-
-2012-08-30 Pratik Solanki <psolanki@apple.com>
-
- objc_msgSend and IMP should be cast appropriately before using
- https://bugs.webkit.org/show_bug.cgi?id=95242
-
- Reviewed by Benjamin Poulain.
-
- Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
- to a function pointer with right types when calling objc_msgSend and an
- IMP method directly.
-
- * WebCoreSupport/WebCachedFramePlatformData.h:
- (WebCachedFramePlatformData::clear):
- * WebCoreSupport/WebDeviceOrientationClient.mm:
- (WebDeviceOrientationClient::getProvider):
- * WebView/WebDelegateImplementationCaching.mm:
- (CallDelegate):
- (CallDelegateReturningBoolean):
- (CallResourceLoadDelegateReturningBoolean):
- (CallFormDelegate):
- (CallFormDelegateReturningBoolean):
- * WebView/WebHTMLView.mm:
- (setCursor):
- (setNeedsDisplayInRect):
-
-2012-08-30 Benjamin Poulain <bpoulain@apple.com>
-
- Replace JSC::UString by WTF::String
- https://bugs.webkit.org/show_bug.cgi?id=95271
-
- Reviewed by Geoffrey Garen.
-
- Get rid of UString, replace it by String, and simplify the code when possible.
-
- On x86_64, this reduces the binary size by 7kb.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (identifierFromIdentifierRep):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyRuntimeMethod::create):
- (WebKit::ProxyRuntimeMethod::finishCreation):
- (WebKit::ProxyInstance::getPropertyNames):
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame functionName]):
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView/WebScriptDebugger.h:
- (WTF):
- (JSC):
- (WebScriptDebugger):
- * WebView/WebScriptDebugger.mm:
- (toNSURL):
- (WebScriptDebugger::sourceParsed):
- * WebView/WebView.mm:
- (aeDescFromJSValue):
-
-2012-08-30 Jon Lee <jonlee@apple.com>
-
- [Mac] Add testRunner.dumpWebNotificationCallbacks() to DRT
- https://bugs.webkit.org/show_bug.cgi?id=95232
- <rdar://problem/12190776>
-
- Reviewed by Alexey Proskuryakov.
-
- * WebKit.exp: Export WebNotification class.
-
-2012-08-30 Jon Lee <jonlee@apple.com>
-
- [Mac] Registering web views for notifications is unbalanced
- https://bugs.webkit.org/show_bug.cgi?id=95465
- <rdar://problem/12206765>
-
- Reviewed by Darin Adler.
-
- Setting the notification provider for a WK1 WebView registers that web view to the
- provider. When the WebView is closed, WebCore is essentially responsible for
- unregistering the web view. This leads to an imbalance on Lion since notifications are
- not supported, and the NotificationController responsible for making the unregistration
- call doesn't exist.
-
- Instead, the unregisterWebView method should be called when the web view is closed.
-
- * WebView/WebViewPrivate.h: Remove _notificationControllerDestroyed, since it is
- unneeded.
-
- * WebCoreSupport/WebNotificationClient.mm:
- (WebNotificationClient::notificationControllerDestroyed):
- * WebView/WebView.mm:
- (-[WebView _close]): Unregister the web view from the assigned provider here.
- (-[WebView _setNotificationProvider:]): Only allow setting the provider once, to avoid
- registering the web view to multiple providers.
-
-2012-08-29 Jon Lee <jonlee@apple.com>
-
- [Mac] Add iconURL to WebNotification
- https://bugs.webkit.org/show_bug.cgi?id=95249
- <rdar://problem/12192060>
-
- Reviewed by Jessie Berlin.
-
- * WebView/WebNotification.h: Expose iconURL.
- * WebView/WebNotification.mm: Remove unnecessary ASSERTs.
- (-[WebNotification title]):
- (-[WebNotification body]):
- (-[WebNotification tag]):
- (-[WebNotification iconURL]): Added.
- (-[WebNotification origin]):
- (-[WebNotification notificationID]):
- (-[WebNotification dispatchShowEvent]):
- (-[WebNotification dispatchCloseEvent]):
- (-[WebNotification dispatchClickEvent]):
- (-[WebNotification dispatchErrorEvent]):
-
-2012-08-28 Geoffrey Garen <ggaren@apple.com>
-
- Added JSScope::objectInScope(), and refactored callers to use it
- https://bugs.webkit.org/show_bug.cgi?id=95281
-
- Reviewed by Gavin Barraclough.
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
-
-2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r126914.
- http://trac.webkit.org/changeset/126914
- https://bugs.webkit.org/show_bug.cgi?id=95239
-
- it breaks everything and fixes nothing (Requested by pizlo on
- #webkit).
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate removeItemFromDateCaches:]):
- (-[WebHistoryPrivate orderedLastVisitedDays]):
- (WebHistoryWriter::WebHistoryWriter):
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics javaScriptObjectTypeCounts]):
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::hostForPlugin):
- (WebKit::NetscapePluginHostManager::pluginHostDied):
- (WebKit::NetscapePluginHostManager::didCreateWindow):
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::pluginHostDied):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
- (WebKit::NetscapePluginInstanceProxy::destroy):
- (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
- (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView stopTimers]):
- (-[WebNetscapePluginView startTimers]):
- * WebCoreSupport/WebNotificationClient.mm:
- (WebNotificationClient::show):
- (WebNotificationClient::clearNotifications):
- (WebNotificationClient::notificationObjectDestroyed):
- * WebView/WebHTMLView.mm:
- (commandNameForSelector):
-
-2012-08-28 Jon Lee <jonlee@apple.com>
-
- Second build fix to r126909.
-
- Added needed #else clause.
-
- * WebView/WebView.mm:
- (-[WebView _notificationIDForTesting:]):
-
-2012-08-28 Jon Lee <jonlee@apple.com>
-
- Build fix to r126909.
-
- Needed ENABLE(NOTIFICATIONS) guards.
-
- * WebView/WebView.mm:
- (-[WebView _notificationIDForTesting:]):
-
-2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
-
- Rename first/second to key/value in HashMap iterators
- https://bugs.webkit.org/show_bug.cgi?id=82784
-
- Reviewed by Eric Seidel.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate removeItemFromDateCaches:]):
- (-[WebHistoryPrivate orderedLastVisitedDays]):
- (WebHistoryWriter::WebHistoryWriter):
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics javaScriptObjectTypeCounts]):
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::hostForPlugin):
- (WebKit::NetscapePluginHostManager::pluginHostDied):
- (WebKit::NetscapePluginHostManager::didCreateWindow):
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::pluginHostDied):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
- (WebKit::NetscapePluginInstanceProxy::destroy):
- (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
- (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView stopTimers]):
- (-[WebNetscapePluginView startTimers]):
- * WebCoreSupport/WebNotificationClient.mm:
- (WebNotificationClient::show):
- (WebNotificationClient::clearNotifications):
- (WebNotificationClient::notificationObjectDestroyed):
- * WebView/WebHTMLView.mm:
- (commandNameForSelector):
-
-2012-08-28 Jon Lee <jonlee@apple.com>
-
- [Mac] Add SPI to WK1 to retrieve internal IDs for web notifications
- https://bugs.webkit.org/show_bug.cgi?id=95099
- <rdar://problem/12180186>
-
- Reviewed by Jessie Berlin.
-
- This is work toward providing Mac support for web notifications in DRT and WTR (77969).
-
- Add function to retrieve the internal ID for a notification. This is needed by layout tests to support simulating
- a user click on a notification.
-
- * WebCoreSupport/WebNotificationClient.h:
- (WebNotificationClient):
- * WebCoreSupport/WebNotificationClient.mm:
- (WebNotificationClient::notificationIDForTesting): Converts the JS notification to a WebCore notification, and passes
- that to [WebView _notificationIDForTesting:].
- * WebView/WebView.mm:
- (-[WebView _notificationIDForTesting:]): Retrieves the notification ID based on the WebCore notification instance.
- * WebView/WebViewPrivate.h:
-
-2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r126836.
- http://trac.webkit.org/changeset/126836
- https://bugs.webkit.org/show_bug.cgi?id=95163
-
- Broke all Apple ports, EFL, and Qt. (Requested by tkent on
- #webkit).
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate removeItemFromDateCaches:]):
- (-[WebHistoryPrivate orderedLastVisitedDays]):
- (WebHistoryWriter::WebHistoryWriter):
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics javaScriptObjectTypeCounts]):
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::hostForPlugin):
- (WebKit::NetscapePluginHostManager::pluginHostDied):
- (WebKit::NetscapePluginHostManager::didCreateWindow):
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::pluginHostDied):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
- (WebKit::NetscapePluginInstanceProxy::destroy):
- (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
- (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView stopTimers]):
- (-[WebNetscapePluginView startTimers]):
- * WebCoreSupport/WebNotificationClient.mm:
- (WebNotificationClient::show):
- (WebNotificationClient::clearNotifications):
- (WebNotificationClient::notificationObjectDestroyed):
- * WebView/WebHTMLView.mm:
- (commandNameForSelector):
-
-2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
-
- Rename first/second to key/value in HashMap iterators
- https://bugs.webkit.org/show_bug.cgi?id=82784
-
- Reviewed by Eric Seidel.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate removeItemFromDateCaches:]):
- (-[WebHistoryPrivate orderedLastVisitedDays]):
- (WebHistoryWriter::WebHistoryWriter):
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics javaScriptObjectTypeCounts]):
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::hostForPlugin):
- (WebKit::NetscapePluginHostManager::pluginHostDied):
- (WebKit::NetscapePluginHostManager::didCreateWindow):
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::pluginHostDied):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
- (WebKit::NetscapePluginInstanceProxy::destroy):
- (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
- (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView stopTimers]):
- (-[WebNetscapePluginView startTimers]):
- * WebCoreSupport/WebNotificationClient.mm:
- (WebNotificationClient::show):
- (WebNotificationClient::clearNotifications):
- (WebNotificationClient::notificationObjectDestroyed):
- * WebView/WebHTMLView.mm:
- (commandNameForSelector):
-
-2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
-
- Rename RegisterProtocolHandler API to NavigatorContentUtils
- https://bugs.webkit.org/show_bug.cgi?id=94920
-
- Reviewed by Adam Barth.
-
- ENABLE_REGISTER_PROTOCOL_HANDLER is renamed to ENABLE_NAVIGATOR_CONTENT_UTILS.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-08-24 Pratik Solanki <psolanki@apple.com>
-
- Don't create a new ResourceRequest if delegate returns the same NSURLRequest we passed it
- https://bugs.webkit.org/show_bug.cgi?id=94962
-
- Reviewed by Geoffrey Garen.
-
- If the NSURLRequest returned from the delegate callback is the same as the one we passed to
- it, then avoid creating a new ResourceRequest object. This reduces the number of calls to
- ResourceRequest::doUpdateResourceRequest().
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchWillSendRequest):
-
-2012-08-23 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
- https://bugs.webkit.org/show_bug.cgi?id=93884
-
- Reviewed by Filip Pizlo.
-
- With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of
- MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,
- we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined
- objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).
- For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not
- masquerade as undefined within frame B, but it will continue to masquerade in frame A.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::addValueToArray): Passing ExecState to toBoolean call.
-
-2012-08-22 Beth Dakin <bdakin@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=94401
- Add support for making a web site become paginated using overflow:
- paged-x | paged-y
- -and corresponding-
- <rdar://problem/11831783>
-
- Reviewed by Dave Hyatt.
-
- WebCore::Page::Pagination is now just WebCore::Pagination.
- * WebView/WebView.mm:
- (-[WebView _setPaginationMode:]):
- (-[WebView _paginationMode]):
- (-[WebView _setPaginationBehavesLikeColumns:]):
- (-[WebView _setPageLength:]):
- (-[WebView _setGapBetweenPages:]):
-
-2012-08-15 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
-
- [css3-text] Add CSS3 Text decoration compile flag
- https://bugs.webkit.org/show_bug.cgi?id=93863
-
- Reviewed by Julien Chaffraix.
-
- This patch handles the compile flag implementation, which will come disabled by
- default, thus not exposing the CSS3 text decoration features to the web, unless
- when explicitly enabling it with "--css3-text-decoration" build parameter.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-08-15 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r125687.
- http://trac.webkit.org/changeset/125687
- https://bugs.webkit.org/show_bug.cgi?id=94147
-
- It broke the whole world (Requested by Ossy_night on #webkit).
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
-
-2012-08-14 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
- https://bugs.webkit.org/show_bug.cgi?id=93884
-
- Reviewed by Geoffrey Garen.
-
- With some upcoming changes to the DFG to remove uses of ClassInfo, we will be changing the behavior of
- MasqueradesAsUndefined. In order to make this change consistent across all of our execution engines,
- we will make this change to MasqueradesAsUndefined as a separate patch. After this patch, MasqueradesAsUndefined
- objects will only masquerade as undefined in their original context (i.e. their original JSGlobalObject).
- For example, if an object that masquerades as undefined in frame A is passed to frame B, it will not
- masquerade as undefined within frame B, but it will continue to masquerade in frame A.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::addValueToArray): Passing ExecState to toBoolean call.
-
-2012-08-14 Adam Barth <abarth@webkit.org>
-
- Delete Frame::domWindow() and Frame::existingDOMWindow()
- https://bugs.webkit.org/show_bug.cgi?id=93990
-
- Reviewed by Eric Seidel.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _pendingFrameUnloadEventCount]):
- (-[WebFrame _cacheabilityDictionary]):
-
-2012-08-14 Tom Sepez <tsepez@chromium.org>
-
- REGRESSION r125500: 7 tests crashing on Mac bots
- https://bugs.webkit.org/show_bug.cgi?id=93970
-
- Reviewed by Eric Seidel.
-
- Make WebFrameLoaderClient::redirectDataToPlugin expect the now real possibility
- of a NULL pluginWidget argument.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::redirectDataToPlugin)
-
-2012-08-09 Kinuko Yasuda <kinuko@chromium.org>
-
- http/tests/security/mixedContent/blob-url-in-iframe.html fails on Mac
- https://bugs.webkit.org/show_bug.cgi?id=88736
-
- Reviewed by Alexey Proskuryakov.
-
- WebView::_canHandleRequest should return true for "blob:" URL so that it can be shown in iframe.
-
- * WebView/WebView.mm:
- (+[WebView _canHandleRequest:forMainFrame:]):
-
-2012-08-08 Shane Stephens <shanestephens@google.com>
-
- Compile flag for CSS Hierarchies
- https://bugs.webkit.org/show_bug.cgi?id=92433
-
- Reviewed by Tony Chang.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-08-05 Peter Wang <peter.wang@torchmobile.com.cn>
-
- Web Inspector: [JSC] implement setting breakpoints by line:column
- https://bugs.webkit.org/show_bug.cgi?id=53003
-
- Unreviewed, just changed the interface according the changes of base class JSC::Debugger.
-
- No JSC can provide the column info of current JS statement, mac porting can use it to support
- "Pretty Print" debug mode.
-
- * WebView/WebScriptDebugger.h:
- (WebScriptDebugger):
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::callEvent):
- (WebScriptDebugger::atStatement):
- (WebScriptDebugger::returnEvent):
- (WebScriptDebugger::exception):
- (WebScriptDebugger::willExecuteProgram):
- (WebScriptDebugger::didExecuteProgram):
- (WebScriptDebugger::didReachBreakpoint):
-
-2012-08-01 Jian Li <jianli@chromium.org>
-
- Add new CSS property "-webkit-widget-region" to expose dashboard region support for other port
- https://bugs.webkit.org/show_bug.cgi?id=90298
-
- Reviewed by Adam Barth.
-
- * Configurations/FeatureDefines.xcconfig: Add ENABLE_WIDGET_REGION define.
-
-2012-08-01 Antti Koivisto <antti@apple.com>
-
- Assertion failure in inspector/profiler/heap-snapshot-containment-show-all.html on Lion bot
- https://bugs.webkit.org/show_bug.cgi?id=92888
-
- Reviewed by Andreas Kling.
-
- Protect the WebInspectorWindowController so it doesn't get destroyed during [WebView close] and cause
- unsafe [WebView dealloc].
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController destroyInspectorView:]):
-
-2012-07-29 Rik Cabanier <cabanier@adobe.com>
-
- Add ENABLE_CSS_COMPOSITING flag
- https://bugs.webkit.org/show_bug.cgi?id=92553
-
- Reviewed by Dirk Schulze.
-
- Adds compiler flag CSS_COMPOSITING to build systems to enable CSS blending and compositing. See spec https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-07-27 Anders Carlsson <andersca@apple.com>
-
- Show the unavailable plug-in indicator for Java applets as well
- https://bugs.webkit.org/show_bug.cgi?id=92521
-
- Reviewed by Sam Weinig.
-
- Check if the Java plug-in is blocked before trying to instantiate it.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
-
-2012-07-25 Jer Noble <jer.noble@apple.com>
-
- Add setting to enable and disable diagnostic logging.
- https://bugs.webkit.org/show_bug.cgi?id=92337
-
- Reviewed by Anders Carlsson.
-
- Add a WebKit WebPreferences API to set set the WebCore diagnosticLoggingEnabled setting.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Register the default value to false.
- (-[WebPreferences diagnosticLoggingEnabled]): Simple userDefaults accessor.
- (-[WebPreferences setDiagnosticLoggingEnabled:]): Ditto.
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]): Ensure this preference is propagated to Settings
- whenever the preferences change.
-
-2012-07-25 Pratik Solanki <psolanki@apple.com>
-
- Remove catchesDelegateExceptions from WebViewData and related accessor methods
- https://bugs.webkit.org/show_bug.cgi?id=90898
-
- Reviewed by Darin Adler.
-
- Remove catchesDelegateException ivar from WebViewData and all its accesor methods from
- WebView. All uses of this flag in WebKit set it to YES and no one calls
- _setCatchesDelegateExceptions with NO.
-
- * WebCoreSupport/WebDragClient.mm:
- (WebDragClient::startDrag):
- * WebView/WebDelegateImplementationCaching.mm:
- (CallDelegate):
- (CallDelegateReturningFloat):
- (CallDelegateReturningBoolean):
- (CallResourceLoadDelegateReturningBoolean):
- (CallFormDelegate):
- (CallFormDelegateReturningBoolean):
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView _policyDelegateForwarder]):
- (-[WebView _UIDelegateForwarder]):
- (-[WebView _editingDelegateForwarder]):
- (-[_WebSafeForwarder initWithTarget:defaultTarget:]):
- (-[_WebSafeForwarder forwardInvocation:]):
- * WebView/WebViewData.h:
- * WebView/WebViewPrivate.h:
-
-2012-07-23 Simon Fraser <simon.fraser@apple.com>
-
- Part 2 of: Implement sticky positioning
- https://bugs.webkit.org/show_bug.cgi?id=90046
-
- Reviewed by Ojan Vafai.
-
- Turn on ENABLE_CSS_STICKY_POSITION.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-07-23 Pierre Rossi <pierre.rossi@gmail.com>
-
- Unify numTouchEventHandlersChanged and needTouchEvents in the chrome client
- https://bugs.webkit.org/show_bug.cgi?id=91006
-
- Reviewed by Ryosuke Niwa.
-
- Remove numTouchEventHandlersChanged stub.
-
- * WebCoreSupport/WebChromeClient.h:
-
-2012-07-23 Simon Fraser <simon.fraser@apple.com>
-
- Part 1 of: Implement sticky positioning
- https://bugs.webkit.org/show_bug.cgi?id=90046
-
- Reviewed by Ojan Vafai.
-
- Add ENABLE_CSS_STICKY_POSITION, defaulting to off initially.
-
- Sort the ENABLE_CSS lines in the file. Make sure all the flags
- are in FEATURE_DEFINES.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-07-23 Kent Tamura <tkent@chromium.org>
-
- Rename ENABLE_METER_TAG and ENABLE_PROGRESS_TAG to ENABLE_METER_ELEMENT and ENABLE_PROGRESS_ELEMENT respectively
- https://bugs.webkit.org/show_bug.cgi?id=91941
-
- Reviewed by Kentaro Hara.
-
- A flag name for an elmement should be ENABLE_*_ELEMENT.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-07-22 Kent Tamura <tkent@chromium.org>
-
- Rename ENABLE_DETAILS to ENABLE_DETAILS_ELEMENT
- https://bugs.webkit.org/show_bug.cgi?id=91928
-
- Reviewed by Kentaro Hara.
-
- A flag name for an elmement should be ENABLE_*_ELEMENT.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-07-20 Kent Tamura <tkent@chromium.org>
-
- Rename ENABLE_DATALIST to ENABLE_DATALIST_ELEMENT
- https://bugs.webkit.org/show_bug.cgi?id=91846
-
- Reviewed by Kentaro Hara.
-
- A flag name for an elmement should be ENABLE_*_ELEMENT.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-07-18 Benjamin Poulain <bpoulain@apple.com>
-
- [Mac] Make WebDataSourcePrivate lighter
- https://bugs.webkit.org/show_bug.cgi?id=91511
-
- Reviewed by Anders Carlsson.
-
- Make WebDataSourcePrivate a simple C++ class and use smart pointers for memory management.
-
- Since the "loader" attribute is only set on initialization, all the assertions spread in
- various function are removed in favor of assertions on initialization.
-
- * WebView/WebDataSource.h:
- * WebView/WebDataSource.mm:
- (WebDataSourcePrivate):
- (WebDataSourcePrivate::WebDataSourcePrivate):
- (WebDataSourcePrivate::~WebDataSourcePrivate):
- Use a class instead of a Objective-C object for WebDataSourcePrivate.
- Use smart pointers instead of ref counting manually.
-
- (-[WebDataSource _setRepresentation:]):
- (-[WebDataSource _addSubframeArchives:]):
- (-[WebDataSource _transferApplicationCache:]):
- (-[WebDataSource _setDeferMainResourceDataLoad:]):
- (-[WebDataSource _documentFragmentWithArchive:]):
- (-[WebDataSource _initWithDocumentLoader:]):
-
- (+[WebDataSource initialize]):
- (-[WebDataSource dealloc]):
- (-[WebDataSource finalize]):
- WebDataSource takes the special initialization and destruction that was done in WebDataSourcePrivate.
-
- (-[WebDataSource representation]):
-
-2012-07-17 Vivek Galatage <vivekgalatage@gmail.com>
-
- Web Inspector: refactor InspectorController::connectFrontend() to accept InspectorFrontendChannel.
- https://bugs.webkit.org/show_bug.cgi?id=91196
-
- Reviewed by Pavel Feldman.
-
- Refactoring InspectorClients. InspectorClient::openInspectorFrontend
- now returning the InspectorFrontendChannel.
-
- * WebCoreSupport/WebInspectorClient.h:
- (WebInspectorClient):
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::openInspectorFrontend):
-
-2012-07-17 David Barr <davidbarr@chromium.org>
-
- Introduce ENABLE_CSS_IMAGE_ORIENTATION compile flag
- https://bugs.webkit.org/show_bug.cgi?id=89055
-
- Reviewed by Kent Tamura.
-
- The css3-images module is at candidate recommendation.
- http://www.w3.org/TR/2012/CR-css3-images-20120417/#the-image-orientation
-
- Add a configuration option for CSS image-orientation support, disabling it by default.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-07-15 Joseph Pecoraro <pecoraro@apple.com>
-
- Fix case sensitive build issue.
-
- Unreviewed build fix.
-
- * WebView/WebPreferences.mm:
-
-2012-07-15 Benjamin Poulain <benjamin@webkit.org>
-
- Make WebPreferencesPrivate a simple struct
- https://bugs.webkit.org/show_bug.cgi?id=91330
-
- Reviewed by Filip Pizlo.
-
- To avoid taking time creating a new Objective-C object for WebPreferencesPrivate, we can just make
- it a simple struct.
-
- * WebView/WebPreferences.h:
- * WebView/WebPreferences.mm:
- (WebPreferencesPrivate):
- (WebPreferencesPrivate::WebPreferencesPrivate):
- Replace the Objective-C WebPreferencesPrivate by a struct.
- Remove IBCreatorID from the object as it is unused.
- Use RetainPtr for the Objective-C attribute to avoid tracking their memory manually.
-
- (-[WebPreferences initWithIdentifier:]):
- Change the order of the initialization to avoid allocating anyting if a WebPreferences exists
- for the identifier.
- Both [NSObject init] and WebPreferencesPrivate allocation are moved after the fast path.
-
- (-[WebPreferences initWithCoder:]):
- (-[WebPreferences encodeWithCoder:]):
- (-[WebPreferences dealloc]):
- (-[WebPreferences identifier]):
- (-[WebPreferences _valueForKey:]):
- (-[WebPreferences _setStringValue:forKey:]):
- (-[WebPreferences _setIntegerValue:forKey:]):
- (-[WebPreferences _setFloatValue:forKey:]):
- (-[WebPreferences _setBoolValue:forKey:]):
- (-[WebPreferences _setLongLongValue:forKey:]):
- (-[WebPreferences _setUnsignedLongLongValue:forKey:]):
-
-2012-07-14 Benjamin Poulain <bpoulain@apple.com>
-
- [Mac] Do not try to update the cache model for every WebPreferences change
- https://bugs.webkit.org/show_bug.cgi?id=91302
-
- Reviewed by Joseph Pecoraro.
-
- WebView was listening to any change on any WebPreferences in order to update the cache model. This is unneeded in most cases,
- we can just listen to updates of the CacheModel property.
-
- * WebView/WebPreferences.mm:
- (-[WebPreferences initWithIdentifier:]):
- (-[WebPreferences _postCacheModelChangedNotification]):
- (-[WebPreferences setCacheModel:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (+[WebView initialize]):
- (+[WebView _cacheModelChangedNotification:]):
-
-2012-07-14 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r122665.
- http://trac.webkit.org/changeset/122665
- https://bugs.webkit.org/show_bug.cgi?id=91321
-
- Broke Mac builds (Requested by rniwa on #webkit).
-
- * WebView/WebPreferences.mm:
- (-[WebPreferences initWithIdentifier:]):
- (-[WebPreferences setCacheModel:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (+[WebView initialize]):
- (+[WebView _preferencesChangedNotification:]):
-
-2012-07-13 Benjamin Poulain <bpoulain@apple.com>
-
- [Mac] Do not try to update the cache model for every WebPreferences change
- https://bugs.webkit.org/show_bug.cgi?id=91302
-
- Reviewed by Joseph Pecoraro.
-
- WebView was listening to any change on any WebPreferences in order to update the cache model. This is unneeded in most cases,
- we can just listen to updates of the CacheModel property.
-
- * WebView/WebPreferences.mm:
- (-[WebPreferences initWithIdentifier:]):
- (-[WebPreferences _postCacheModelChangedNotification]):
- (-[WebPreferences setCacheModel:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (+[WebView initialize]):
- (+[WebView _cacheModelChangedNotification:]):
-
-2012-07-11 Mark Rowe <mrowe@apple.com>
-
- Fix a logic error in the #if so that the correct code is compiled on Snow Leopard.
-
- I introduced this in r122403 when I inverted the sense of the #if.
-
- * WebView/WebFullScreenController.mm:
-
-2012-07-11 Mark Rowe <mrowe@apple.com>
-
- <http://webkit.org/b/91024> Build against the latest SDK when targeting older OS X versions.
-
- Reviewed by Dan Bernstein.
-
- The deployment target is already set to the version that we're targeting, and it's that setting
- which determines which functionality from the SDK is available to us.
-
- * Configurations/Base.xcconfig:
-
-2012-07-11 Mark Rowe <mrowe@apple.com>
-
- <http://webkit.org/b/91022> WebFullScreenController and WKFullScreenWindowController shouldn't add unprefixed methods to AppKit classes
-
- Reviewed by Dan Bernstein.
-
- * WebView/WebFullScreenController.mm:
- (convertRectToScreen): Add a static helper method that calls through to -[NSWindow convertRectToScreen:] on OS versions where it exists
- but otherwise provides a compatibility implementation of it.
- (-[WebFullScreenController enterFullScreen:]): Call our new helper.
-
-2012-07-11 Mark Rowe <mrowe@apple.com>
-
- <http://webkit.org/b/91015> Remove BUILDING_ON / TARGETING macros in favor of system availability macros
-
- This removal was handled by a script that translates the relevant macros in to the equivalent checks
- using the system availability macros.
-
- Reviewed by Filip Pizlo.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
- * Misc/WebKitErrors.m:
- * Misc/WebNSControlExtras.m:
- * Misc/WebNSFileManagerExtras.mm:
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- * Plugins/WebBaseNetscapePluginView.mm:
- * Plugins/WebNetscapePluginView.mm:
- * WebCoreSupport/WebChromeClient.mm:
- * WebCoreSupport/WebEditorClient.mm:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebCoreSupport/WebSystemInterface.mm:
- * WebView/WebClipView.mm:
- * WebView/WebDynamicScrollBarsView.mm:
- * WebView/WebFrameView.mm:
- * WebView/WebFullScreenController.mm:
- * WebView/WebHTMLView.mm:
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebPDFDocumentExtras.mm:
- * WebView/WebPreferences.mm:
- * WebView/WebResourceInternal.h:
- * WebView/WebScriptDebugDelegate.h:
- * WebView/WebView.mm:
- * WebView/WebViewPrivate.h:
-
-2012-07-11 Anders Carlsson <andersca@apple.com>
-
- Add -Wtautological-compare and -Wsign-compare warning flags
- https://bugs.webkit.org/show_bug.cgi?id=90994
-
- Reviewed by Mark Rowe.
-
- * Configurations/Base.xcconfig:
-
-2012-07-11 Mark Rowe <mrowe@apple.com>
-
- Add a Mountain Lion version of libWebKitSystemInterface.a.
-
- Reviewed by John Sullivan.
-
- * Configurations/DebugRelease.xcconfig: Look for the library under its expected name.
-
-2012-07-10 Adam Barth <abarth@webkit.org>
-
- WebCore::Settings for Hixie76 WebSocket protocol doesn't do anything and should be removed
- https://bugs.webkit.org/show_bug.cgi?id=90910
-
- Reviewed by Eric Seidel.
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences setHixie76WebSocketProtocolEnabled:]):
- (-[WebPreferences isHixie76WebSocketProtocolEnabled]):
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2012-07-09 Matt Falkenhagen <falken@chromium.org>
-
- Add ENABLE_DIALOG_ELEMENT and skeleton files
- https://bugs.webkit.org/show_bug.cgi?id=90521
-
- Reviewed by Kent Tamura.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-07-09 Yongjun Zhang <yongjun_zhang@apple.com>
-
- Consider closing unused localStorage database after a timeout.
- https://bugs.webkit.org/show_bug.cgi?id=90713
-
- For a localStorage, if there is no active document referencing to it for certain amount of time (300 seconds),
- we can close the underlying sqlite database.
-
- Reviewed by Brady Eidson.
-
- * Storage/WebStorageManager.mm:
- (+[WebStorageManager setStorageDatabaseIdleInterval:]): add a new method for DumpRenderTree to set the timeout
- that we will wait before closing database.
- (initializeLocalStoragePath):
- * Storage/WebStorageManagerPrivate.h:
-
-2012-07-09 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r122107.
- http://trac.webkit.org/changeset/122107
- https://bugs.webkit.org/show_bug.cgi?id=90794
-
- Build failure on Mac debug bots (Requested by falken_ on
- #webkit).
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-07-09 Matt Falkenhagen <falken@chromium.org>
-
- Add ENABLE_DIALOG_ELEMENT and skeleton files
- https://bugs.webkit.org/show_bug.cgi?id=90521
-
- Reviewed by Kent Tamura.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-07-04 John Mellor <johnme@chromium.org>
-
- Text Autosizing: Add compile flag and runtime setting
- https://bugs.webkit.org/show_bug.cgi?id=87394
-
- This patch renames Font Boosting to Text Autosizing.
-
- Reviewed by Adam Barth.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-07-02 Benjamin Poulain <bpoulain@apple.com>
-
- Do not do any logging initialization when logging is disabled
- https://bugs.webkit.org/show_bug.cgi?id=90228
-
- Reviewed by Simon Fraser.
-
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase _scaleIcon:toSize:]):
- * Misc/WebKitLogging.h:
- * Misc/WebKitLogging.m:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _attributeStringFromDOMRange:]):
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2012-07-01 Timothy Hatcher <timothy@apple.com>
-
- Make the "Inspect Element" context menu item appear in nightly builds again.
-
- rdar://problem/11702613
- https://webkit.org/b/89323
-
- Reviewed by Dan Bernstein.
-
- * WebView/WebUIDelegatePrivate.h:
- Add missing enums that were added in ContextMenuItem.h but left out here.
-
-2012-06-29 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r121529.
- http://trac.webkit.org/changeset/121529
- https://bugs.webkit.org/show_bug.cgi?id=90260
-
- Failed to compile on Chromium WebKitMacBuilder (Requested by
- keishi on #webkit).
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
- (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
- * Misc/WebNSControlExtras.m:
- (-[NSControl sizeToFitAndAdjustWindowHeight]):
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::shouldEraseMarkersAfterChangeSelection):
- (WebEditorClient::getGuessesForWord):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidFirstLayout):
- (WebFrameLoaderClient::provisionalLoadStarted):
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView scrollWheel:]):
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController finishedEnterFullScreenAnimation:]):
- (-[WebFullScreenController exitFullScreen]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
- * WebView/WebView.mm:
- (+[WebView initialize]):
- (-[WebView _deviceScaleFactor]):
-
-2012-06-29 Eric Seidel <eric@webkit.org>
-
- Remove more BUILDING_ON_LEOPARD branches now that no port builds on Leopard
- https://bugs.webkit.org/show_bug.cgi?id=90252
-
- Reviewed by Ryosuke Niwa.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
- (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
- * Misc/WebNSControlExtras.m:
- (-[NSControl sizeToFitAndAdjustWindowHeight]):
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::shouldEraseMarkersAfterChangeSelection):
- (WebEditorClient::getGuessesForWord):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidFirstLayout):
- (WebFrameLoaderClient::provisionalLoadStarted):
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView scrollWheel:]):
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController finishedEnterFullScreenAnimation:]):
- (-[WebFullScreenController exitFullScreen]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
- * WebView/WebView.mm:
- (+[WebView initialize]):
- (-[WebView _deviceScaleFactor]):
-
-2012-06-25 Mark Hahnenberg <mhahnenberg@apple.com>
-
- JSLock should be per-JSGlobalData
- https://bugs.webkit.org/show_bug.cgi?id=89123
-
- Reviewed by Geoffrey Garen.
-
- Changed all sites that used JSLock to instead use the new JSLockHolder
- and pass in the correct JS context that the code is about to interact with that
- needs protection. Also added a couple JSLocks to places that didn't already
- have it that needed it.
-
- * DOM/WebDOMOperations.mm:
- (JSC):
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics javaScriptObjectTypeCounts]):
- (+[WebCoreStatistics shouldPrintExceptions]):
- (+[WebCoreStatistics setShouldPrintExceptions:]):
- (+[WebCoreStatistics memoryStatistics]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
- (WebKit::NetscapePluginInstanceProxy::getProperty):
- (WebKit::NetscapePluginInstanceProxy::setProperty):
- (WebKit::NetscapePluginInstanceProxy::removeProperty):
- (WebKit::NetscapePluginInstanceProxy::hasMethod):
- (WebKit::NetscapePluginInstanceProxy::enumerate):
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
- * Plugins/WebNetscapePluginStream.mm:
- (WebNetscapePluginStream::wantsAllStreams):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView sendEvent:isDrawRect:]):
- (-[WebNetscapePluginView privateBrowsingModeDidChange]):
- (-[WebNetscapePluginView setWindowIfNecessary]):
- (-[WebNetscapePluginView createPluginScriptableObject]):
- (-[WebNetscapePluginView getFormValue:]):
- (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
- (-[WebNetscapePluginView loadPluginRequest:]):
- (-[WebNetscapePluginView _printedPluginBitmap]):
- * Plugins/WebPluginController.mm:
- (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
- (-[WebPluginController stopOnePlugin:]):
- (-[WebPluginController destroyOnePlugin:]):
- (-[WebPluginController startAllPlugins]):
- (-[WebPluginController addPlugin:]):
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView/WebView.mm:
- (+[WebView _reportException:inContext:]):
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
- (-[WebView _computedStyleIncludingVisitedInfo:forElement:]):
-
-2012-06-23 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r121058.
- http://trac.webkit.org/changeset/121058
- https://bugs.webkit.org/show_bug.cgi?id=89809
-
- Patch causes plugins tests to crash in GTK debug builds
- (Requested by zdobersek on #webkit).
-
- * DOM/WebDOMOperations.mm:
- (JSC):
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics javaScriptObjectTypeCounts]):
- (+[WebCoreStatistics shouldPrintExceptions]):
- (+[WebCoreStatistics setShouldPrintExceptions:]):
- (+[WebCoreStatistics memoryStatistics]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
- (WebKit::NetscapePluginInstanceProxy::getProperty):
- (WebKit::NetscapePluginInstanceProxy::setProperty):
- (WebKit::NetscapePluginInstanceProxy::removeProperty):
- (WebKit::NetscapePluginInstanceProxy::hasMethod):
- (WebKit::NetscapePluginInstanceProxy::enumerate):
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
- * Plugins/WebNetscapePluginStream.mm:
- (WebNetscapePluginStream::wantsAllStreams):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView sendEvent:isDrawRect:]):
- (-[WebNetscapePluginView privateBrowsingModeDidChange]):
- (-[WebNetscapePluginView setWindowIfNecessary]):
- (-[WebNetscapePluginView createPluginScriptableObject]):
- (-[WebNetscapePluginView getFormValue:]):
- (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
- (-[WebNetscapePluginView loadPluginRequest:]):
- (-[WebNetscapePluginView _printedPluginBitmap]):
- * Plugins/WebPluginController.mm:
- (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
- (-[WebPluginController stopOnePlugin:]):
- (-[WebPluginController destroyOnePlugin:]):
- (-[WebPluginController startAllPlugins]):
- (-[WebPluginController addPlugin:]):
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView/WebView.mm:
- (+[WebView _reportException:inContext:]):
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
- (-[WebView _computedStyleIncludingVisitedInfo:forElement:]):
-
-2012-06-22 Alexandru Chiculita <achicu@adobe.com>
-
- [CSS Shaders] Re-enable the CSS Shaders compile time flag on Safari Mac
- https://bugs.webkit.org/show_bug.cgi?id=89781
-
- Reviewed by Dean Jackson.
-
- Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-06-20 Mark Hahnenberg <mhahnenberg@apple.com>
-
- JSLock should be per-JSGlobalData
- https://bugs.webkit.org/show_bug.cgi?id=89123
-
- Reviewed by Gavin Barraclough.
-
- Changed all sites that used JSLock to instead use the new JSLockHolder
- and pass in the correct JS context that the code is about to interact with that
- needs protection.
-
- * DOM/WebDOMOperations.mm:
- (JSC):
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectsCount]):
- (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics javaScriptObjectTypeCounts]):
- (+[WebCoreStatistics shouldPrintExceptions]):
- (+[WebCoreStatistics setShouldPrintExceptions:]):
- (+[WebCoreStatistics memoryStatistics]):
- (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
- (WebKit::NetscapePluginInstanceProxy::getProperty):
- (WebKit::NetscapePluginInstanceProxy::setProperty):
- (WebKit::NetscapePluginInstanceProxy::removeProperty):
- (WebKit::NetscapePluginInstanceProxy::hasMethod):
- (WebKit::NetscapePluginInstanceProxy::enumerate):
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
- * Plugins/WebNetscapePluginStream.mm:
- (WebNetscapePluginStream::wantsAllStreams):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView sendEvent:isDrawRect:]):
- (-[WebNetscapePluginView privateBrowsingModeDidChange]):
- (-[WebNetscapePluginView setWindowIfNecessary]):
- (-[WebNetscapePluginView createPluginScriptableObject]):
- (-[WebNetscapePluginView getFormValue:]):
- (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
- (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
- (-[WebNetscapePluginView loadPluginRequest:]):
- (-[WebNetscapePluginView _printedPluginBitmap]):
- * Plugins/WebPluginController.mm:
- (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
- (-[WebPluginController stopOnePlugin:]):
- (-[WebPluginController destroyOnePlugin:]):
- (-[WebPluginController startAllPlugins]):
- (-[WebPluginController addPlugin:]):
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView/WebView.mm:
- (+[WebView _reportException:inContext:]):
- (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
- (-[WebView _computedStyleIncludingVisitedInfo:forElement:]):
-
-2012-06-22 Amy Ousterhout <aousterh@chromium.org>
-
- Renamed DeviceOrientation to DeviceOrientationData
- https://bugs.webkit.org/show_bug.cgi?id=88663
-
- Reviewed by Steve Block.
-
- Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
- This change makes DeviceOrientationData consistent with DeviceMotionData.
- * WebCoreSupport/WebDeviceOrientationClient.h:
- (WebDeviceOrientationClient):
- * WebCoreSupport/WebDeviceOrientationClient.mm:
- (WebDeviceOrientationClient::lastOrientation):
- * WebView/WebDeviceOrientation.mm:
- * WebView/WebDeviceOrientationInternal.h:
-
-2012-06-20 Garret Kelly <gdk@chromium.org>
-
- Moving cookieEnabled/setCookieEnabled from Page to Settings.
- https://bugs.webkit.org/show_bug.cgi?id=89545
-
- Reviewed by Adam Barth.
-
- * WebView/WebView.mm:
- (-[WebView _cookieEnabled]):
- (-[WebView _setCookieEnabled:]):
-
-2012-06-19 Dan Bernstein <mitz@apple.com>
-
- WebKit/mac part of: Paginated display API doesn’t allow setting the page progression direction
- https://bugs.webkit.org/show_bug.cgi?id=89394
-
- Reviewed by Darin Adler.
-
- * WebView/WebView.mm:
- (-[WebView _setPaginationMode:]): Changed to map new WebPaginationMode values to new
- Pagination::Mode values.
- (-[WebView _paginationMode]): Similarly, in the opposite direction.
- * WebView/WebViewPrivate.h: Replaced WebPaginationMode values with ones that specify an
- axis and a direction along that axis.
-
-2012-06-18 Andy Estes <aestes@apple.com>
-
- [Mac] -[WebPDFView _menuItemsFromPDFKitForEvent:] leaks NSMenuItems
- https://bugs.webkit.org/show_bug.cgi?id=89434
-
- Reviewed by Darin Adler.
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView _menuItemsFromPDFKitForEvent:]): Release copied
- NSMenuItems once they're stored in copiedItems.
-
-2012-06-19 Mike West <mkwst@chromium.org>
-
- Introduce ENABLE_CSP_NEXT configuration flag.
- https://bugs.webkit.org/show_bug.cgi?id=89300
-
- Reviewed by Adam Barth.
-
- The 1.0 draft of the Content Security Policy spec is just about to
- move to Last Call. We'll hide work on the upcoming 1.1 spec behind
- this ENABLE flag, disabled by default.
-
- Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-06-14 Jia Pu <jpu@apple.com>
-
- Mark text with text alternative with blue underline.
- https://bugs.webkit.org/show_bug.cgi?id=83047
-
- Reviewed by Enrica Casucci.
-
- Changes in WebKit include implementation of new functions declared in AlternativeTextClient,
- and logic for calling Editor::insertDictatedText() instead of Editor::insertText() when there's
- alternatives attached to the input string.
-
- * WebCoreSupport/CorrectionPanel.mm:
- (correctionIndicatorType):
- (CorrectionPanel::handleAcceptedReplacement):
- * WebCoreSupport/WebAlternativeTextClient.h:
- (WebAlternativeTextClient):
- * WebCoreSupport/WebAlternativeTextClient.mm:
- (WebAlternativeTextClient::showCorrectionAlternative):
- (WebAlternativeTextClient::dismissAlternative):
- (WebAlternativeTextClient::dismissAlternativeSoon):
- (WebAlternativeTextClient::recordAutocorrectionResponse):
- (WebAlternativeTextClient::removeDictationAlternatives):
- (WebAlternativeTextClient::showDictationAlternativeUI):
- (WebAlternativeTextClient::dismissDictationAlternativeUI):
- (WebAlternativeTextClient::dictationAlternatives):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validAttributesForMarkedText]):
- (-[WebHTMLView insertText:]):
- * WebView/WebView.mm:
- (-[WebView handleAcceptedAlternativeText:]):
- (-[WebView _getWebCoreDictationAlternatives:fromTextAlternatives:]):
- (-[WebView _showDictationAlternativeUI:WebCore::forDictationContext:]):
- (-[WebView _dismissDictationAlternativeUI]):
- (-[WebView _removeDictationAlternatives:]):
- (-[WebView _dictationAlternatives:]):
- * WebView/WebViewData.h:
- * WebView/WebViewData.mm:
- (-[WebViewPrivate init]):
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-2012-06-11 Alexis Menard <alexis.menard@openbossa.org>
-
- [CSS3 Backgrounds and Borders] Protect box-decoration-break behind a feature flag.
- https://bugs.webkit.org/show_bug.cgi?id=88804
-
- Reviewed by Tony Chang.
-
- Protect box-decoration-break behind a feature flag enabled by default.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-06-11 Sam Weinig <sam@webkit.org>
-
- Remove support for disconnected/excluded from search frames, they are not used by Safari anymore
- https://bugs.webkit.org/show_bug.cgi?id=88723
-
- Reviewed by Dan Bernstein.
-
- * WebView/WebFrame.mm:
- * WebView/WebFramePrivate.h:
- Remove -[WebFrame _setIsDisconnected:] and -[WebFrame _setExcludeFromTextSearch:]
-
-2012-06-10 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r119955.
- http://trac.webkit.org/changeset/119955
- https://bugs.webkit.org/show_bug.cgi?id=88758
-
- Breaks Chromium compile - Chromium depends on removed API
- (Requested by dominicc on #webkit).
-
- * WebView/WebFrame.mm:
- (-[WebFrame _setIsDisconnected:]):
- (-[WebFrame _setExcludeFromTextSearch:]):
- * WebView/WebFramePrivate.h:
-
-2012-06-10 Sam Weinig <sam@webkit.org>
-
- Remove support for disconnected/excluded from search frames, they are not used by Safari anymore
- https://bugs.webkit.org/show_bug.cgi?id=88723
-
- Reviewed by Dan Bernstein.
-
- * WebView/WebFrame.mm:
- * WebView/WebFramePrivate.h:
- Remove -[WebFrame _setIsDisconnected:] and -[WebFrame _setExcludeFromTextSearch:]
-
-2012-06-09 Sukolsak Sakshuwong <sukolsak@google.com>
-
- Add UNDO_MANAGER flag
- https://bugs.webkit.org/show_bug.cgi?id=87908
-
- Reviewed by Tony Chang.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-06-07 Kentaro Hara <haraken@chromium.org>
-
- Reduce Node object size from 72 byte to 64 byte
- https://bugs.webkit.org/show_bug.cgi?id=88528
-
- Reviewed by Ryosuke Niwa.
-
- Added a symbol for callRemovedLastRef().
-
- * WebKit.order:
-
-2012-06-06 Andy Estes <aestes@apple.com>
-
- Wrap uppercaseWord, lowercaseWord, and capitalizeWord with USE(APPKIT)
- https://bugs.webkit.org/show_bug.cgi?id=88504
-
- Reviewed by Dan Bernstein.
-
- uppercaseWord, lowercaseWord, and capitalizeWord are methods declared
- by NSResponder that subclasses are expected to implement. WebKit should
- only support these implementations on platforms that use AppKit.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
-
-2012-06-05 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin):
- The error constant has been renamed.
-
-2012-06-05 Anders Carlsson <andersca@apple.com>
-
- Rename a plug-in loading error constant
- https://bugs.webkit.org/show_bug.cgi?id=88381
- <rdar://problem/11602601>
-
- Reviewed by Sam Weinig.
-
- * Misc/WebKitErrors.h:
-
-2012-06-05 Dongwoo Im <dw.im@samsung.com>
-
- Add 'isProtocolHandlerRegistered' and 'unregisterProtocolHandler'.
- https://bugs.webkit.org/show_bug.cgi?id=73176
-
- Reviewed by Adam Barth.
-
- Two more APIs are added in Custom Scheme Handler specification.
- http://dev.w3.org/html5/spec/Overview.html#custom-handlers
- One is 'isProtocolHandlerRegistered' to query whether the specific URL
- is registered or not.
- The other is 'unregisterProtocolHandler' to remove the registered URL.
-
- * Configurations/FeatureDefines.xcconfig: Add a macro 'ENABLE_CUSTOM_SCHEME_HANDLER'.
-
-2012-06-04 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX: FeatureDefines.xcconfig should match across projects
-
- * Configurations/FeatureDefines.xcconfig:
- - Fix sort order of ENABLE_CSS3_FLEXBOX.
- - Fix typo in ENABLE_FONT_BOOSTING.
- - Add missing ENABLE_LEGACY_CSS_VENDOR_PREFIXES.
-
-2012-06-02 Yongjun Zhang <yongjun_zhang@apple.com>
-
- loadRequest should check for empty URLs.
- https://bugs.webkit.org/show_bug.cgi?id=88154
-
- In [WebFrame loadRequest], if the url is invalid and not nil, we transform it to file: url.
- However, WebKit client could send down an empty URL that makes us transform it to file: url
- as well. We should skip that as we did for nil URLs.
-
- Reviewed by Brady Eidson.
-
- * WebView/WebFrame.mm:
- (-[WebFrame loadRequest:]):
-
-2012-06-01 Michael Saboff <msaboff@apple.com>
-
- WebFrame::_stringByEvaluatingJavaScriptFromString methods don't handle nil string
- https://bugs.webkit.org/show_bug.cgi?id=88109
-
- Reviewed by Geoffrey Garen.
-
- Added short circuit return when the NSString to evaluate is nil.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
-
-2012-05-31 Hajime Morrita <morrita@chromium.org>
-
- REGRESSION(r117572): editing/spelling/spellcheck-async-remove-frame.html crashes on Mac
- https://bugs.webkit.org/show_bug.cgi?id=86859
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (-[WebEditorSpellCheckResponder initWithClient:sequence:results:]):
- (-[WebEditorSpellCheckResponder perform]):
- (WebEditorClient::didCheckSucceeded):
- (WebEditorClient::requestCheckingOfString):
-
-2012-05-31 Andy Estes <aestes@apple.com>
-
- Disentangle code that relies on USE(AUTOMATIC_TEXT_REPLACEMENT) from that which merely relies on PLATFORM(MAC)
- https://bugs.webkit.org/show_bug.cgi?id=87933
-
- Reviewed by Dan Bernstein.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
-
-2012-05-29 David Barr <davidbarr@chromium.org>
-
- Introduce ENABLE_CSS_IMAGE_RESOLUTION compile flag
- https://bugs.webkit.org/show_bug.cgi?id=87685
-
- Reviewed by Eric Seidel.
-
- Add a configuration option for CSS image-resolution support, disabling it by default.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-05-29 Nikolas Zimmermann <nzimmermann@rim.com>
-
- SVGViewSpec DOM bindings aka SVGSVGElement.currentView is unimplemented
- https://bugs.webkit.org/show_bug.cgi?id=15495
-
- Reviewed by Rob Buis.
-
- * MigrateHeaders.make: Copy DOMSVGViewSpec*.h headers.
-
-2012-05-25 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- WebKitTestRunner needs to support layoutTestController.setJavaScriptProfilingEnabled
- https://bugs.webkit.org/show_bug.cgi?id=42328
-
- Reviewed by Eric Seidel.
-
- * WebInspector/WebInspector.mm:
- (-[WebInspector setJavaScriptProfilingEnabled:]):
-
-2012-05-24 Tim Horton <timothy_horton@apple.com>
-
- Add feature defines for web-facing parts of CSS Regions and Exclusions
- https://bugs.webkit.org/show_bug.cgi?id=87442
- <rdar://problem/10887709>
-
- Reviewed by Dan Bernstein.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-05-24 John Mellor <johnme@chromium.org>
-
- Font Boosting: Add compile flag and runtime setting
- https://bugs.webkit.org/show_bug.cgi?id=87394
-
- Reviewed by Adam Barth.
-
- Add ENABLE_FONT_BOOSTING.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-05-23 Ojan Vafai <ojan@chromium.org>
-
- add back the ability to disable flexbox
- https://bugs.webkit.org/show_bug.cgi?id=87147
-
- Reviewed by Tony Chang.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-05-22 Tim Horton <timothy_horton@apple.com>
-
- Add a quirk for applications that depend on the relative ordering of progressCompleted/didFinishLoad
- https://bugs.webkit.org/show_bug.cgi?id=87178
- <rdar://problem/11468434>
-
- Reviewed by Maciej Stachowiak.
-
- Add plumbing for the quirk to flip the relative ordering of progressCompleted/didFinishLoad back
- to the behavior before http://trac.webkit.org/changeset/94105. Make it apply to any Mail.app linked
- against WebKit before that revision.
-
- * Misc/WebKitVersionChecks.h:
- * WebView/WebView.mm:
- (-[WebView _needsDidFinishLoadOrderQuirk]):
- (-[WebView _preferencesChanged:]):
-
-2012-05-21 Gavin Barraclough <barraclough@apple.com>
-
- Disable private names by default in WebCore
- https://bugs.webkit.org/show_bug.cgi?id=87088
-
- Reviewed by Geoff Garen.
-
- r117859 introduced a preliminary implementation of ES6-like private name objects to JSC.
- These are probably not yet ready to be web-facing, so disabling by default in WebCore.
- Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences setJavaScriptExperimentsEnabled:]):
- (-[WebPreferences javaScriptExperimentsEnabled]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
- - Added JavaScriptExperimentsEnabled to WebPreferences.
-
-2012-05-15 Gavin Barraclough <barraclough@apple.com>
-
- Add support for private names
- https://bugs.webkit.org/show_bug.cgi?id=86509
-
- Reviewed by Oliver Hunt.
-
- The spec isn't final, but we can start adding support to allow property maps
- to contain keys that aren't identifiers.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyClass::methodsNamed):
- (WebKit::ProxyClass::fieldNamed):
- (WebKit::ProxyInstance::getMethod):
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
- - Removed PropertyName::impl(), call publicName() to get the string associated with a name.
-
-2012-05-21 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
-
- Move setEditingBehavior() from layoutTestController to window.internals
- https://bugs.webkit.org/show_bug.cgi?id=42689
-
- Reviewed by Hajime Morita and Kenneth Rohde Christiansen.
-
- Remove Mac private API to get/set the editing behavior, since it was only there
- for the DRT.
-
- * WebKit.order:
- * WebView/WebFrame.mm:
- * WebView/WebFrameInternal.h:
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2012-05-20 Ryosuke Niwa <rniwa@webkit.org>
-
- Using createContextualFragment to insert a <script> does not cause the script to execute
- https://bugs.webkit.org/show_bug.cgi?id=12234
-
- Reviewed by Adam Barth.
-
- Renamed FragmentScriptingNotAllowed to DisallowScriptingContent.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]):
-
-2012-05-19 Andy Estes <aestes@apple.com>
-
- Fix build errors found when disabling ENABLE_DRAG_SUPPORT
- https://bugs.webkit.org/show_bug.cgi?id=86947
-
- Reviewed by Jon Honeycutt.
-
- * WebCoreSupport/WebDragClient.h:
- * WebCoreSupport/WebDragClient.mm:
- * WebView/WebFrame.mm:
- * WebView/WebFrameInternal.h:
- * WebView/WebFrameView.mm:
- (-[WebFrameView _setDocumentView:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView acceptsFirstMouse:]):
- (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
- (matchesExtensionOrEquivalent):
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView moveDragCaretToPoint:]):
- (-[WebView removeDragCaret]):
-
-2012-04-27 Filip Pizlo <fpizlo@apple.com>
-
- DFG should have control flow graph simplification
- https://bugs.webkit.org/show_bug.cgi?id=84553
-
- Reviewed by Oliver Hunt.
-
- Merged r115512 from dfgopt.
-
- JSValue::toBoolean(ExecState*) -> JSValue::toBoolean()
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
-
-2012-05-18 Tony Chang <tony@chromium.org>
-
- remove the CSS_GRID_LAYOUT compiler define, but default grid layout to off
- https://bugs.webkit.org/show_bug.cgi?id=86767
-
- Reviewed by Ojan Vafai.
-
- * Configurations/FeatureDefines.xcconfig:
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences cssGridLayoutEnabled]):
- (-[WebPreferences setCSSGridLayoutEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2012-05-18 MORITA Hajime <morrita@google.com>
-
- Another unreviewed attempt to fix build breakage on r117572.
-
- * WebCoreSupport/WebEditorClient.h:
-
-2012-05-18 MORITA Hajime <morrita@google.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=85515
- Stale frame in WebCore::SpellChecker::didCheckSucceeded
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/WebEditorClient.h:
-
-2012-05-17 Andy Estes <aestes@apple.com>
-
- Don't let -[CALayer renderInContext:] try to render WebView's root layer
- https://bugs.webkit.org/show_bug.cgi?id=86773
- <rdar://problem/10950075>
-
- Reviewed by Dan Bernstein.
-
- -[CALayer renderInContext:] doesn't correctly render our layer tree, so
- don't let it try. Calling drawRect: with a bitmap context will already
- do the right thing for WebViews.
-
- * WebView/WebHTMLView.mm: Create a subclass of CALayer called WebLayerHostingLayer.
- (-[WebLayerHostingLayer renderInContext:]): override renderInContext: to be a NOOP.
- (-[WebHTMLView attachRootLayer:]): Create a WebLayerHostingLayer rather than a CALayer.
-
-2012-05-17 Hironori Bono <hbono@chromium.org>
-
- [Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer
- https://bugs.webkit.org/show_bug.cgi?id=86591
-
- Reviewed by Ryosuke Niwa.
-
- This change adds a TextCheckerClient::shouldEraseMarkersAfterChangeSelection
- function to remove platform-specific code from Editor::respondToChangedSelection
- function.
-
- No new tests, no change in behavior.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::shouldEraseMarkersAfterChangeSelection):
-
-2012-05-17 Dan Bernstein <mitz@apple.com>
-
- REGRESSION (r117428): WebKit API/SPI was removed
- https://bugs.webkit.org/show_bug.cgi?id=86748
-
- Reverted r117428.
-
- * WebKit.order:
- * WebView/WebView.mm:
- (+[WebView _setDomainRelaxationForbidden:forURLScheme:]):
- * WebView/WebViewPrivate.h:
-
-2012-05-17 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- Convert setDomainRelaxationForbiddenForURLScheme to use InternalSettings interface
- https://bugs.webkit.org/show_bug.cgi?id=86704
-
- Reviewed by Eric Seidel.
-
- Remove setDomainRelaxationForbiddenForURLScheme functions, because it is able to work in the
- cross-port way through the InternalSettings interface.
-
- * WebKit.order:
- * WebView/WebView.mm:
- * WebView/WebViewPrivate.h:
-
-2012-05-15 Anders Carlsson <andersca@apple.com>
-
- Use unaccelerated scrolling deltas when rubber-banding
- https://bugs.webkit.org/show_bug.cgi?id=86503
- <rdar://problem/11378742>
-
- Reviewed by Sam Weinig.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- Init new WKSI functions.
-
-2012-05-14 Luke Macpherson <macpherson@chromium.org>
-
- Introduce ENABLE_CSS_VARIABLES compile flag.
- https://bugs.webkit.org/show_bug.cgi?id=86338
-
- Reviewed by Dimitri Glazkov.
-
- Add a configuration option for CSS Variables support, disabling it by default.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-05-14 Michael Saboff <msaboff@apple.com>
-
- Enh: Add the Ability to Disable / Enable JavaScript GC Timer
- https://bugs.webkit.org/show_bug.cgi?id=86382
-
- Reviewed by Darin Adler.
-
- Plumbing to set / clear JS GC activity timer enable flag.
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics setJavaScriptGarbageCollectorTimerEnabled:]):
-
-2012-05-11 Gavin Barraclough <barraclough@apple.com>
-
- Introduce PropertyName class
- https://bugs.webkit.org/show_bug.cgi?id=86241
-
- Reviewed by Geoff Garen.
-
- Replace 'const Identifier&' arguments to functions accessing object properties with a new 'PropertyName' type.
- This change paves the way to allow for properties keyed by values that are not Identifiers.
-
- This change is largely a mechanical find & replace.
- It also changes JSFunction's constructor to take a UString& instead of an Identifier&
- (since in some cases we can no longer guarantee that we'lll have an Identifier), and
- unifies Identifier's methods to obtain array indices onto PropertyName.
-
- The new PropertyName class retains the ability to support .impl() and .ustring(), but
- in a future patch we may need to rework this, since not all PropertyNames should be
- equal based on their string representation.
-
- * Plugins/Hosted/ProxyInstance.h:
- (ProxyInstance):
- * Plugins/Hosted/ProxyInstance.mm:
- (ProxyClass):
- (WebKit::ProxyClass::methodsNamed):
- (WebKit::ProxyClass::fieldNamed):
- (WebKit::ProxyRuntimeMethod::create):
- (WebKit::ProxyRuntimeMethod::finishCreation):
- (WebKit::ProxyInstance::getMethod):
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
-
-2012-05-11 Brady Eidson <beidson@apple.com>
-
- <rdar://problem/11361907> and https://bugs.webkit.org/show_bug.cgi?id=86265
- REGRESSION(r104885): Images missing from printed YummySoup! recipes
-
- We thought clients were passing paths as URLs.
- It turns out it was more likely they were passing file: URLs with the file: scheme removed.
- And that jives perfectly with the behavior change caused by r104885.
-
- Reviewed by Alexey Proskuryakov.
-
- Rename _webkit_URLFromURLOrPath to _webkit_URLFromURLOrSchemelessFileURL, and change it
- to create the new URL simply by appending "file:":
- * Misc/WebNSURLExtras.h:
- * Misc/WebNSURLExtras.mm:
- (-[NSURL _webkit_URLFromURLOrSchemelessFileURL]):
-
- * WebView/WebFrame.mm:
- (-[WebFrame loadRequest:]): Create the fixed url simply by appending "file:" to the
- existing URL string.
- (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
- (-[WebFrame loadHTMLString:baseURL:]):
- (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]):
-
-2012-05-10 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- Move resumeAnimations to use Internals interface
- https://bugs.webkit.org/show_bug.cgi?id=86063
-
- Reviewed by Alexey Proskuryakov.
-
- Remove resumeAnimations functions, because it is able to work in the
- cross-port way through the Internals interface.
-
- * WebKit.order:
- * WebView/WebFrame.mm:
- * WebView/WebFramePrivate.h:
-
-2012-05-10 Anders Carlsson <andersca@apple.com>
-
- WebKit1: Add a way to blacklist specific plug-ins/plug-in versions
- https://bugs.webkit.org/show_bug.cgi?id=86150
- <rdar://problem/9551196>
-
- Reviewed by Sam Weinig.
-
- * Misc/WebKitErrors.h:
- Add WebKitErrorInsecurePlugInVersion enum.
-
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage bundleIdentifier]):
- (-[WebBasePluginPackage bundleVersion]):
- Add bundleIdentifier and bundleVersion getters.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin):
- Check if the plug-in is blocked. If it is, set the unavailability reason and the error code.
-
-2012-05-10 Anders Carlsson <andersca@apple.com>
-
- Rename the missing plug-in indicator to the unavailable plug-in indicator
- https://bugs.webkit.org/show_bug.cgi?id=86136
-
- Reviewed by Sam Weinig.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView pluginHostDied]):
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::shouldUnavailablePluginMessageBeButton):
- (WebChromeClient::unavailablePluginButtonClicked):
-
-2012-05-09 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- Move suspendAnimations to use Internals interface.
- https://bugs.webkit.org/show_bug.cgi?id=85986
-
- Reviewed by Ryosuke Niwa.
-
- Remove suspendAnimations functions, because it is able to work in the
- cross-port way through the Internals interface.
-
- * WebKit.order:
- * WebView/WebFrame.mm:
- * WebView/WebFramePrivate.h:
-
-2012-05-08 Kent Tamura <tkent@chromium.org>
-
- Fixe Chromium build, and add a FIXME comment about a layering violation.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2012-05-08 Jon Lee <jonlee@apple.com>
-
- Safari warns that it needs to resend the form in an iFrame when going back
- https://bugs.webkit.org/show_bug.cgi?id=82658
- <rdar://problem/11292558>
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Add wkCFURLRequestAllowAllPostCaching.
-
-2012-05-08 Timothy Hatcher <timothy@apple.com>
-
- Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen.
-
- <rdar://problem/11406517>
-
- Reviewed by Mark Rowe.
-
- * WebCoreSupport/WebInspectorClient.mm: Pass A to SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL for the version.
-
-2012-05-07 Andy Estes <aestes@apple.com>
-
- ENABLE_IFRAME_SEAMLESS should be part of FEATURE_DEFINES.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-05-07 Eric Seidel <eric@webkit.org>
-
- Add ENABLE_IFRAME_SEAMLESS so Apple can turn off SEAMLESS if needed
- https://bugs.webkit.org/show_bug.cgi?id=85822
-
- Reviewed by Adam Barth.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-05-05 Dean Jackson <dino@apple.com>
-
- Add new Setting/Preference to disable requestAnimationFrame
- https://bugs.webkit.org/show_bug.cgi?id=85693
-
- Reviewed by Simon Fraser.
-
- Exposes a new WebPreference: WebKitRequestAnimationFrameEnabled.
- The default value is true. The majority of applications will leave
- it this way.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences requestAnimationFrameEnabled]):
- (-[WebPreferences setRequestAnimationFrameEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2012-05-04 Jer Noble <jer.noble@apple.com>
-
- REGRESSION (r116127-r116165): 6 tests failing on Lion Debug (Tests)
- https://bugs.webkit.org/show_bug.cgi?id=85674
-
- Reviewed by Oliver Hunt.
-
- Null check the results of core([frame DOMDocument]).
-
- * WebView/WebView.mm:
- (-[WebView _didStartProvisionalLoadForFrame:]):
-
-2012-05-02 Jer Noble <jer.noble@apple.com>
-
- Taking a visibility:hidden element full screen causes full screen window to disappear.
- https://bugs.webkit.org/show_bug.cgi?id=85432
-
- Reviewed by Maciej Stachowiak.
-
- When given an initial or final frame with a zero width or height, return a rect representing
- the entire screen, rather than a rect with a zero or infinite size. Doing otherwise will
- confuse the window server when it's instructed to scale the full screen window to that size.
-
- * WebView/WebFullScreenController.mm:
- (windowFrameFromApparentFrames):
-
-2012-05-04 Jer Noble <jer.noble@apple.com>
-
- Full screen will exit during a provisional load of a non-ancestor iframe.
- https://bugs.webkit.org/show_bug.cgi?id=85230
-
- Reviewed by Maciej Stachowiak .
-
- Only exit full screen mode if the frame being loaded contains the full
- screen element.
-
- * WebView/WebView.mm:
- (-[WebView _didStartProvisionalLoadForFrame:]): Give the UIDelegate a first crack at handling the
- request to close the full screen window when a provisional load occurs.
-
-2012-05-04 Jer Noble <jer.noble@apple.com>
-
- Move WebKitFullScreenListener into its own file.
- https://bugs.webkit.org/show_bug.cgi?id=85640
-
- Reviewed by Maciej Stachowiak.
-
- Move WebKitFullScreenListener into its own file, so it can be used by multiple classes.
-
- * WebCoreSupport/WebKitFullScreenListener.h: Added.
- * WebCoreSupport/WebKitFullScreenListener.mm: Added.
- (-[WebKitFullScreenListener webkitWillEnterFullScreen]):
- (-[WebKitFullScreenListener webkitDidEnterFullScreen]):
- (-[WebKitFullScreenListener webkitWillExitFullScreen]):
- (-[WebKitFullScreenListener webkitDidExitFullScreen]):
- * WebCoreSupport/WebChromeClient.mm:
-
-2012-05-04 Brady Eidson <beidson@apple.com>
-
- <rdar://problem/11312853> and https://bugs.webkit.org/show_bug.cgi?id=85635
- Exception in [WebFrame loadRequest:] breaks some WebKit apps
-
- Reviewed by Alexey Proskuryakov.
-
- Some API clients pass in nil requests or requests with nil URLs.
- In r112571 we started rewriting these URLs resulting in an exception.
- Since we've supported nil requests until now, we should not try to rewrite these URLs.
-
- * WebView/WebFrame.mm:
- (-[WebFrame loadRequest:]): Don't try to rewrite invalid URLs if they are also null.
-
-2012-05-04 Nate Chapin <japhet@chromium.org>
-
- Don't require FrameLoaderClient to manufacture a commitData() call for empty documents.
- https://bugs.webkit.org/show_bug.cgi?id=85533
-
- Reviewed by Alexey Proskuryakov.
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Calling commitData when finishing is no longer necessary,
- as WebCore will take care of simulating the receipt of data and ensuring the requisite work gets done in the blank document case.
-
-2012-05-03 Anders Carlsson <andersca@apple.com>
-
- useWebKitWebInspector should be more robust against missing files
- https://bugs.webkit.org/show_bug.cgi?id=85563
- <rdar://problem/11373948>
-
- Reviewed by Dan Bernstein.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (useWebKitWebInspector):
-
-2012-05-03 Tobias Netzel <tobias.netzel@googlemail.com>
-
- Bugs in WebFullScreenController
- https://bugs.webkit.org/show_bug.cgi?id=85388
-
- Reviewed by Alexey Proskuryakov.
-
- Leopard specific fixes:
- NSWindow doesn't respond to isOnActiveSpace so find out first.
- Values passed to SetSystemUIMode were swapped.
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController exitFullScreen]):
- (-[WebFullScreenController _updateMenuAndDockForFullScreen]):
-
-2012-05-02 Jon Lee <jonlee@apple.com>
-
- Migrate permission functions to Notification from NotificationCenter
- https://bugs.webkit.org/show_bug.cgi?id=80485
- <rdar://problem/10965458>
-
- Reviewed by Jian Li.
-
- * WebCoreSupport/WebNotificationClient.h: *
- WebCoreSupport/WebNotificationClient.mm: Add a separate callback
- variable depending on the notifications API enabled.
- (WebNotificationClient::requestPermission): Add
- NotificationPermissionCallback version of the same
- function. And refactor common code into private function.
- (-[WebNotificationPolicyListener initWithCallback:]): Refactor to
- take the NotificationPermissionCallback as a parameter.
- (-[WebNotificationPolicyListener initWithVoidCallback:]): Add new
- init method to handle legacy API.
- (-[WebNotificationPolicyListener allow]): Invoke the callback for
- both variables. If only one of the APIs is enabled, we are
- guaranteed that the relevant callback variable exists. If both
- APIs are supported, it is possible that _voidCallback will be nil
- if the callback is NotificationPermissionCallback, so we need the
- extra pointer check.
- (-[WebNotificationPolicyListener deny]): Ditto.
-
-2012-05-02 Eric Seidel <eric@webkit.org>
-
- Sort ENABLE_ defines in FeatureDefines.xcconfig files to make them easier to compare with one another (and easier to autogenerate)
- https://bugs.webkit.org/show_bug.cgi?id=85433
-
- Reviewed by Adam Barth.
-
- I have a script which can autogenerate these xcconfig files as well as the
- vsprops files (and soon the Chromium, cmake, gnumake and qmake) feature lists
- from a central feature list file.
- In preparation for posting such a tool, I'm re-sorting these xcconfig files to be
- alphabetically ordered (currently they're close, but not quite).
- There is also at least one inconsistency between these files (CSS_LEGACY_PREFIXES) which
- I will fix in a second pass. I will also sort the FEATURE_DEFINES = line in a follow-up patch.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-04-18 Jon Honeycutt <jhoneycutt@apple.com>
-
- FrameLoaderClient::dispatchWillSendSubmitEvent() should be given more
- information about the form being submitted
- https://bugs.webkit.org/show_bug.cgi?id=84297
-
- Reviewed by Andy Estes.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- Updated method declaration.
-
-2012-05-01 Jon Honeycutt <jhoneycutt@apple.com>
-
- Make Page::setDefersLoading() have a call count so that each time
- loading is deferred, it must be balanced with a call to resume.
- https://bugs.webkit.org/show_bug.cgi?id=84522
-
- Reviewed by Andy Estes.
-
- * WebView/WebPreferenceKeysPrivate.h:
- Declare a new key for this preference.
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- Initialize new preference to NO.
- (-[WebPreferences setWantsBalancedSetDefersLoadingBehavior:]):
- Setter.
- (-[WebPreferences wantsBalancedSetDefersLoadingBehavior]):
- Getter.
-
- * WebView/WebPreferencesPrivate.h:
- Declare setter and getter.
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
- Set the setting from the WebPreferences object's value.
-
-2012-05-01 Jeffrey Pfau <jpfau@apple.com>
-
- <rdar://problem/10422318> Support for web content filter delegate for filtering https content
- https://bugs.webkit.org/show_bug.cgi?id=85300
-
- Reviewed by Alexey Proskuryakov.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2012-05-01 Ryosuke Niwa <rniwa@webkit.org>
-
- *Command.h files shouldn't be exported to WebKit layer
- https://bugs.webkit.org/show_bug.cgi?id=74778
-
- Reviewed by Eric Seidel.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
-
-2012-04-28 Geoffrey Garen <ggaren@apple.com>
-
- Clarified JSGlobalData (JavaScript VM) lifetime
- https://bugs.webkit.org/show_bug.cgi?id=85142
-
- Reviewed by Anders Carlsson.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
-
-2012-04-27 Gavin Peters <gavinp@chromium.org>
-
- Add new ENABLE_LINK_PRERENDER define to control the Prerendering API
- https://bugs.webkit.org/show_bug.cgi?id=84871
-
- Reviewed by Adam Barth.
-
- Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
- API separates it from prefetching. Having separate include guards lets ports enable prefetching,
- a relatively easy change, without needing to build the infrastructure for prerendering, which
- is considerably more complicated.
-
-2012-04-26 Jon Lee <jonlee@apple.com>
-
- [WK2] AlternativeTextClient leaks when the page is destroyed
- https://bugs.webkit.org/show_bug.cgi?id=84307
- <rdar://problem/11328431>
-
- Reviewed by Enrica Casucci.
-
- * WebCoreSupport/WebAlternativeTextClient.h: Implement pageDestroyed(), as in EditorClient.
- (WebAlternativeTextClient):
- * WebCoreSupport/WebAlternativeTextClient.mm:
- (WebAlternativeTextClient::pageDestroyed): Deletes itself.
-
-2012-04-26 Jer Noble <jer.noble@apple.com>
-
- Full Screen mode does not preserve CALayer ordering after exiting.
- https://bugs.webkit.org/show_bug.cgi?id=83931
-
- Reviewed by Eric Carlson.
-
- Further corrections to r114567. When swapping view for otherView, give the correct
- relative view to -[NSView addSubview:positioned:relativeTo:].
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController _swapView:with:]):
-
-2012-04-25 Jer Noble <jer.noble@apple.com>
-
- Placeholder view is immediately removed from hosting window upon entering full screen.
- https://bugs.webkit.org/show_bug.cgi?id=84916
-
- Reviewed by Darin Adler.
-
- Correct a mistake added in r114567. When swapping view for otherView, add otherView and
- remove view (rather than adding otherView and removing otherView).
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController _swapView:with:]):
-
-2012-04-25 Beth Dakin <bdakin@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=84913
- WebKit 1: Initialize deviceScaleFactor on creation of the WebView
- -and corresponding-
- <rdar://problem/11322716>
-
- Reviewed by Darin Adler.
-
- Before this patch, we weren't setting the deviceScaleFactor until
- viewDidMoveToWindow which is quite late for background tabs. setHostWindow will
- happen early on though. For applications that don't use host windows, also set it
- from _initWithFrame.
- * WebView/WebView.mm:
- (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
- (-[WebView setHostWindow:]):
- (-[WebView _deviceScaleFactor]):
-
-2012-04-24 Alexis Menard <alexis.menard@openbossa.org>
-
- Replace occurences of style selector from variables and methods names by style resolver.
- https://bugs.webkit.org/show_bug.cgi?id=84765
-
- Reviewed by Andreas Kling.
-
- Rename methods and variables to follow the new name StyleResolver. It requires to update the
- local variables, methods parameters, and function names to match the new name and to remove
- the concept of "selector" to avoid clashing with the CSS concept. The next and last patch
- will be to rename CSSStyleSelector file and update the includes.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView reapplyStyles]):
- (-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustViewSize:paginateScreenContent:]):
-
-2012-04-23 Andy Estes <aestes@apple.com>
-
- Incremental rendering should be unsuppressed after the load event or a configurable timeout, whichever occurs first.
- https://bugs.webkit.org/show_bug.cgi?id=84583
-
- Add a private WebPreference for setting the incremental rendering suppression timeout.
-
- Reviewed by Anders Carlsson.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (-[WebPreferences setIncrementalRenderingSuppressionTimeoutInSeconds:]):
- (-[WebPreferences incrementalRenderingSuppressionTimeoutInSeconds]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2012-04-23 Julien Chaffraix <jchaffraix@webkit.org>
-
- Cut dependency on RenderLayer::scrollRectToVisible outside rendering
- https://bugs.webkit.org/show_bug.cgi?id=84607
-
- Reviewed by Simon Fraser.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _scrollDOMRangeToVisible:]):
- Updated to use RenderObject::scrollRectToVisible and not depend on RenderLayer.
-
-2012-04-22 Jon Lee <jonlee@apple.com>
-
- Remove notifications support on Mac Lion.
- https://bugs.webkit.org/show_bug.cgi?id=84554
- <rdar://problem/11297128>
-
- Reviewed by Sam Weinig.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-04-20 Jon Lee <jonlee@apple.com>
-
- Add Notification constructor
- https://bugs.webkit.org/show_bug.cgi?id=80477
- <rdar://problem/10912431>
-
- Reviewed by Jian Li.
-
- * WebCoreSupport/WebNotificationClient.mm:
- (WebNotificationClient::clearNotifications): When clearing notifications, finalize
- them so that they can be cleaned up by the GC.
-
-2012-04-20 Timothy Hatcher <timothy@apple.com>
-
- Make the Web Inspector be the first responder when opening docked.
-
- <rdar://problem/11294217>
-
- Reviewed by Brian Weinstein.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController showWindow:]): Call makeFirstResponder: on
- the window and pass the Inspector's WebView.
-
-2012-04-18 Hironori Bono <hbono@chromium.org>
-
- Split SpellChecker::didCheck() to SpellChecker::didCheckSucceeded() and SpellChecker::didCheckCanceled()
- https://bugs.webkit.org/show_bug.cgi?id=83748
-
- Reviewed by Ryosuke Niwa.
-
- This change replaces a call for SpellChecker::didCheck() with one for
- SpellChecker::didCheckSucceeded() because didCheck has been split into
- didCheckSucceeded(0 and didCheckCanceled().
-
- * WebCoreSupport/WebEditorClient.mm:
- (-[WebEditorSpellCheckResponder perform]): Replaced didCheck with didCheckSucceeded.
-
-2012-04-18 Jer Noble <jer.noble@apple.com>
-
- Full Screen mode does not preserve CALayer ordering after exiting.
- https://bugs.webkit.org/show_bug.cgi?id=83931
-
- Reviewed by Eric Carlson.
-
- When swapping the placeholder and web views, use -[NSView addSubview:positioned:relativeTo:]
- instead of -[NSView replaceSubview:with:], as the latter does not preserve the relative order
- of the view's backing CALayers.
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController _swapView:with:]):
-
-2012-04-18 Alexey Proskuryakov <ap@apple.com>
-
- [WK2] Sandbox violations prevent attaching files to gmail messages
- https://bugs.webkit.org/show_bug.cgi?id=84263
- <rdar://problem/11248260>
-
- Reviewed by Oliver Hunt.
-
- * WebCoreSupport/WebDragClient.mm: (WebDragClient::willPerformDragDestinationAction):
- DragDestinationActionUpload no longer exists, so we don't need a special case for it.
-
-2012-04-17 Jer Noble <jer.noble@apple.com>
-
- Exiting full screen video brings the wrong Safari window to the foreground
- https://bugs.webkit.org/show_bug.cgi?id=83936
-
- Reviewed by Adele Peterson.
-
- Tell the original webView's window to makeKeyAndOrderFront once the exit
- animation completes.
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController finishedExitFullScreenAnimation:]):
-
-2012-04-16 Anders Carlsson <andersca@apple.com>
-
- Use a MIG call when creating a plug-in property list file
- https://bugs.webkit.org/show_bug.cgi?id=84084
- <rdar://problem/11197341>
-
- Reviewed by Sam Weinig.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::createPropertyListFile):
- Get a plug-in host and call _WKPHCreatePluginMIMETypesPreferences instead.
-
- * Plugins/Hosted/WebKitPluginHost.defs:
- Add PHCreatePluginMIMETypesPreferences.
-
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage createPropertyListFile]):
- NetscapePluginHostManager::createPropertyListFile is no longer a static member function.
-
-2012-04-12 Andy Estes <aestes@apple.com>
-
- REGRESSION (r102262): iAd Producer relies on CSSStyleDeclaration property setters respecting '!important'
- https://bugs.webkit.org/show_bug.cgi?id=83832
-
- Reviewed by Alexey Proskuryakov.
-
- * Misc/WebKitVersionChecks.h: Indicate that 535.13.0 was the first
- version of WebKit.framework to ignore '!important' in
- CSSStyleDeclaration property setters.
- * WebView/WebView.mm:
- (shouldRespectPriorityInCSSAttributeSetters):
- (-[WebView _commonInitializationWithFrameName:groupName:]): Enable a
- quirk to restore pre-r102262 behavior if the application is iAd Producer
- and was linked against a version of WebKit.framework that had the old behavior.
-
-2012-04-12 Andy Estes <aestes@apple.com>
-
- Remove unused WebKit1 SPI for suppressing incremental rendering.
- https://bugs.webkit.org/show_bug.cgi?id=83801
-
- Reviewed by Simon Fraser.
-
- This SPI is unused and has been replaced by API ([setS|s]uppressesIncrementalRendering).
-
- * WebView/WebPreferences.mm:
- * WebView/WebPreferencesPrivate.h:
-
-2012-04-08 Dan Bernstein <mitz@apple.com>
-
- [mac] REGRESSION (r113467): Some canvas tests are failing in WebKit1 when run after compositing/tiled-layers-hidpi.html
- https://bugs.webkit.org/show_bug.cgi?id=83453
-
- Reviewed by Sam Weinig.
-
- * WebView/WebView.mm:
- (-[WebView _setCustomBackingScaleFactor:]): When the scale factor parameter was 0, meaning
- no custom scale factor, this method was setting the Page scale factor to 0, and that value
- was used by canvas. Changed it to correctly set the Page scale factor back to the device
- scale factor.
-
-2012-04-06 Alexey Proskuryakov <ap@apple.com>
-
- [Mac] Adopt a different method of telling AppKit when inline input isn't supported
- https://bugs.webkit.org/show_bug.cgi?id=83408
- <rdar://problem/9205734>
-
- Reviewed by Adele Peterson.
-
- * Plugins/Hosted/WebTextInputWindowController.m:
- (-[WebTextInputView validAttributesForMarkedText]):
- (-[WebTextInputPanel init]):
- (-[WebTextInputPanel _interpretKeyEvent:string:]): Added a comment about old approach.
-
-2012-04-06 Enrica Casucci <enrica@apple.com>
-
- Provide Obj-C private API to simplify markup.
- https://bugs.webkit.org/show_bug.cgi?id=83334
- <rdar://problem/11033861>
-
- Reviewed by Sam Weinig.
-
- * WebView/WebView.mm:
- (-[WebView _simplifyMarkup:endNode:]): Added.
- * WebView/WebViewPrivate.h:
-
-2012-04-06 Tim Horton <timothy_horton@apple.com>
-
- Add autodetection of image orientation from EXIF information
- https://bugs.webkit.org/show_bug.cgi?id=19688
- <rdar://problem/4126979> and <rdar://problem/11091578>
-
- Original patch by David Carson and Eric Seidel.
-
- Reviewed by Simon Fraser.
-
- Add a preference, ShouldRespectImageOrientation, which will cause WebCore to respect EXIF orientation in all images.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences setShouldRespectImageOrientation:]):
- (-[WebPreferences shouldRespectImageOrientation]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2012-04-06 Dan Bernstein <mitz@apple.com>
-
- <rdar://problem/10912476> HiDPI: Have canvas use a hidpi backing store, but downsample upon access
-
- Reviewed by Sam Weinig.
-
- * Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS.
-
-2012-04-05 Jia Pu <jpu@apple.com>
-
- Move correction panel related functions from EditorClient into separated AlternativeTextClient class.
- https://bugs.webkit.org/show_bug.cgi?id=82970
-
- Reviewed by Enrica Casucci.
-
- Move correction panel related functions from WebEditorClient to the new WebAlternativeTextClient.
- See WebCore/ChangeLog for details.
-
- * WebCoreSupport/CorrectionPanel.h:
- * WebCoreSupport/CorrectionPanel.mm:
- * WebCoreSupport/WebAlternativeTextClient.h: Added.
- (WebAlternativeTextClient):
- * WebCoreSupport/WebAlternativeTextClient.mm: Added.
- (WebAlternativeTextClient::WebAlternativeTextClient):
- (WebAlternativeTextClient::~WebAlternativeTextClient):
- (WebAlternativeTextClient::showCorrectionAlternative):
- (WebAlternativeTextClient::dismissAlternative):
- (WebAlternativeTextClient::dismissAlternativeSoon):
- (WebAlternativeTextClient::recordAutocorrectionResponse):
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::~WebEditorClient):
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2012-03-15 Jer Noble <jer.noble@apple.com>
-
- Full Screen mode should cancel before navigation.
- https://bugs.webkit.org/show_bug.cgi?id=81295
-
- Reviewed by Anders Carlsson.
-
- When a provisional load is started, if the page is currently in full screen mode, instruct
- the full screen controller to close the full screen window immediately.
-
- * WebView/WebFullScreenController.h:
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController isFullScreen]): Added.
- * WebView/WebView.mm:
- (-[WebView _didStartProvisionalLoadForFrame:]): Close the full screen window controller, if
- present and in full screen mode.
-
-2012-04-03 Keishi Hattori <keishi@webkit.org>
-
- Disable ENABLE_DATALIST for now
- https://bugs.webkit.org/show_bug.cgi?id=82871
-
- Reviewed by Kent Tamura.
-
- * Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.
-
-2012-04-03 Anders Carlsson <andersca@apple.com>
-
- Add audit token to PHCheckInWithPluginHost
- https://bugs.webkit.org/show_bug.cgi?id=83102
-
- Reviewed by Sam Weinig.
-
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2012-04-02 Jia Pu <jpu@apple.com>
-
- Rename SpellingCorrectionController to AlternativeTextController.
- https://bugs.webkit.org/show_bug.cgi?id=82942
-
- Reviewed by Enrica Casucci.
-
- These changes are simply adopting new class names.
-
- * WebCoreSupport/CorrectionPanel.h:
- (CorrectionPanel):
- * WebCoreSupport/CorrectionPanel.mm:
- (correctionIndicatorType):
- (CorrectionPanel::CorrectionPanel):
- (CorrectionPanel::~CorrectionPanel):
- (CorrectionPanel::show):
- (CorrectionPanel::dismiss):
- (CorrectionPanel::dismissInternal):
- (CorrectionPanel::handleAcceptedReplacement):
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::~WebEditorClient):
- (WebEditorClient::showCorrectionPanel):
- (WebEditorClient::dismissCorrectionPanel):
- (WebEditorClient::dismissCorrectionPanelSoon):
- * WebView/WebView.mm:
- (-[WebView handleCorrectionPanelResult:]):
-
-2012-04-03 Jer Noble <jer.noble@apple.com>
-
- ESC key in full screen does not result in webkitFullScreenChange event.
- https://bugs.webkit.org/show_bug.cgi?id=82755
- <rdar://problem/11093513>
-
- Reviewed by Eric Carlson.
-
- Instead of exiting full screen directly, ask the document to initiate exiting full screen. This ensures
- that the entire full screen element stack is cleared and that webkitFullScreenChange events are sent
- out correctly.
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController cancelOperation:]):
- (-[WebFullScreenController requestExitFullScreen]):
-
-2012-04-01 Jon Lee <jonlee@apple.com>
-
- Rename notification properties and functions
- https://bugs.webkit.org/show_bug.cgi?id=80482
- <rdar://problem/10912432>
-
- Reviewed by Kentaro Hara.
-
- * WebView/WebNotification.h: Rename replaceID to tag.
- * WebView/WebNotification.mm:
- (-[WebNotification tag]):
-
-2012-03-31 Timothy Hatcher <timothy@apple.com>
-
- Prevent opening external URLs in the Web Inspector's WebView.
-
- All URLs not handled by the Inspector's JavaScript are now opened in the inspected WebView.
-
- https://webkit.org/b/82812
- rdar://problem/9488558
-
- Reviewed by Joseph Pecoraro.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController init]): Factored the URL code out of here into inspectorPagePath.
- (-[WebInspectorWindowController inspectorPagePath]): Added.
- (-[WebInspectorWindowController webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Added.
- Only allow non-main frame and the inspector page. All other URLs will be opened in the inspected page.
-
-2012-03-30 Emil A Eklund <eae@chromium.org>
-
- Change WebKit/WebKit2 platform code to use pixel snapped values
- https://bugs.webkit.org/show_bug.cgi?id=82549
-
- Change WebKit and WebKit2 platform code to use rounded locations and
- pixel snapped rects and sizes. This largely avoids having to expose the
- fractional layout types to the platform code.
-
- Reviewed by Eric Seidel.
-
- * DOM/WebDOMOperations.mm:
- (-[DOMNode _renderRect:]):
-
-2012-03-30 Mark Pilgrim <pilgrim@chromium.org>
-
- GEOLOCATION should be implemented as Page Supplement
- https://bugs.webkit.org/show_bug.cgi?id=82228
-
- Reviewed by Adam Barth.
-
- Geolocation is now a Supplement in Page so the interface
- has changed for setting up the page's geolocation client
- initially and accessing the controller later.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView _geolocationDidChangePosition:]):
- (-[WebView _geolocationDidFailWithError:]):
-
-2012-03-30 Keishi Hattori <keishi@webkit.org>
-
- Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
- https://bugs.webkit.org/show_bug.cgi?id=80972
-
- Reviewed by Kent Tamura.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-03-28 Alexey Proskuryakov <ap@apple.com>
-
- [Mac] REGRESSION: Removing translation of local paths in KURL constructor broke some applications
- https://bugs.webkit.org/show_bug.cgi?id=82548
- <rdar://problem/11125355>
- <rdar://problem/11142152>
-
- Reviewed by Brady Eidson.
-
- * WebView/WebFrame.mm:
- (-[WebFrame loadRequest:]): Fixed this bug.
- (-[WebFrame loadHTMLString:baseURL:]): Also added translation to another API, so that I don't
- have to come back again.
- (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
-
- * WebView/WebView.mm: (-[WebView setMainFrameURL:]): Changed another place where clients used
- to pass file paths instead of URLs.
-
-2012-03-29 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r112553.
- http://trac.webkit.org/changeset/112553
- https://bugs.webkit.org/show_bug.cgi?id=82638
-
- It made all tests crash on Qt WK2 (Requested by Ossy_away on
- #webkit).
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView _geolocationDidChangePosition:]):
- (-[WebView _geolocationDidFailWithError:]):
-
-2012-03-29 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
-
- HashMap<>::add should return a more descriptive object
- https://bugs.webkit.org/show_bug.cgi?id=71063
-
- Reviewed by Ryosuke Niwa.
-
- Update code to use AddResult instead of a pair.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::hostForPlugin):
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
- * WebCoreSupport/WebNotificationClient.mm:
- (WebNotificationClient::show):
-
-2012-03-29 Mark Pilgrim <pilgrim@chromium.org>
-
- GEOLOCATION should be implemented as Page Supplement
- https://bugs.webkit.org/show_bug.cgi?id=82228
-
- Reviewed by Adam Barth.
-
- Geolocation is now a Supplement in Page so the interface
- has changed for setting up the page's geolocation client
- initially and accessing the controller later.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView _geolocationDidChangePosition:]):
- (-[WebView _geolocationDidFailWithError:]):
-
-2012-03-28 Nate Chapin <japhet@chromium.org>
-
- Remove dispatchDidLoadMainResource callback, since no
- port implements it.
- https://bugs.webkit.org/show_bug.cgi?id=82539
-
- Reviewed by Alexey Proskuryakov.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebKit.order:
-
-2012-03-28 Joseph Pecoraro <pecoraro@apple.com>
-
- <http://webkit.org/b/82419> Web Inspector: Create -[DOMNode inspect] from IDL
-
- Reviewed by Timothy Hatcher.
-
- * MigrateHeaders.make: Copy DOMNodePrivate.h to PrivateHeaders.
-
-2012-03-27 Timothy Hatcher <timothy@apple.com>
-
- Make WebKit properly load a staged framework when soft linking.
-
- https://webkit.org/b/82371
- rdar://problem/11125989
-
- Reviewed by Dan Bernstein.
-
- * WebCoreSupport/WebInspectorClient.mm: Use SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL to properly
- load the WebInspector framework.
-
-2012-03-26 Adam Barth <abarth@webkit.org>
-
- FrameLoader::shouldAllowNavigation uses Frame for context rather than Document
- https://bugs.webkit.org/show_bug.cgi?id=81020
-
- Reviewed by Eric Seidel.
-
- Update call site to new function name.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchWillSubmitForm):
-
-2012-03-23 Alexey Proskuryakov <ap@apple.com>
-
- [Mac] No need for platform-specific ENABLE_BLOB values
- https://bugs.webkit.org/show_bug.cgi?id=82102
-
- Reviewed by David Kilzer.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-03-23 Dean Jackson <dino@apple.com>
-
- Disable CSS_SHADERS in Apple builds
- https://bugs.webkit.org/show_bug.cgi?id=81996
-
- Reviewed by Simon Fraser.
-
- Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-03-22 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- Convert hasGrammarMarker to use Internals interface
- https://bugs.webkit.org/show_bug.cgi?id=82004
-
- Reviewed by Ryosuke Niwa.
-
- Remove hasGrammarMarker support, since it can support in the cross-port way
- through the Internals interface.
-
- * WebKit.order:
- * WebView/WebFrame.mm:
- * WebView/WebFramePrivate.h:
-
-2012-03-22 Benjamin Poulain <bpoulain@apple.com>
-
- Build fix for WebHistory is busted after changing time zone
- https://bugs.webkit.org/show_bug.cgi?id=81849
-
- Unreviewed build fix.
-
- When generating warning for undefined message signature, rebuildHistoryByDayIfNeeded
- fail to compile due to addItemToDateCaches: being undefined.
-
- Move the definition to the right place in the file to use the private method.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate rebuildHistoryByDayIfNeeded:]):
-
-2012-03-22 Benjamin Poulain <bpoulain@apple.com>
-
- WebHistory is busted after changing time zone
- https://bugs.webkit.org/show_bug.cgi?id=81849
-
- Reviewed by Brady Eidson.
-
- The date used for choosing the bucket of a new entry is computed
- with the system TimeZone.
-
- When the Time Zone change, or the daylight saving time change, all the dates
- in _entriesByDate are offset from the new entries.
-
- This patch solves the issue by re-distributing the WebHistoryItems if the time zone
- changes.
- The clients of WebHistory are notified of this change through the regular Notifications.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate rebuildHistoryByDayIfNeeded:]):
- (-[WebHistoryPrivate init]):
- (-[WebHistory timeZoneChanged:]):
- (-[WebHistory init]):
- (-[WebHistory dealloc]):
- (-[WebHistory finalize]):
-
-2012-03-21 Tim Horton <timothy_horton@apple.com>
-
- Make use of CG rounded-rect primitives
- https://bugs.webkit.org/show_bug.cgi?id=79932
- <rdar://problem/9274953>
-
- Reviewed by Simon Fraser.
-
- Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
-
- Add wkCGPathAddRoundedRect.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2012-03-20 Gyuyoung Kim <gyuyoung.kim@samsung.com>
-
- Convert hasSpellingMarker to use Internals interface.
- https://bugs.webkit.org/show_bug.cgi?id=81300
-
- Reviewed by Ryosuke Niwa.
-
- Remove hasSpellingMarker support, since it can support in the cross-port way
- through the Internals interface.
-
- * WebKit.order:
- * WebView/WebFrame.mm:
- * WebView/WebFramePrivate.h:
-
-2012-03-19 Adam Barth <abarth@webkit.org>
-
- Remove support for "magic" iframe
- https://bugs.webkit.org/show_bug.cgi?id=81590
-
- Reviewed by Eric Seidel.
-
- Remove FrameLoaderClient methods that no longer exist.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
-
-2012-03-19 Enrica Casucci <enrica@apple.com>
-
- WebKit2: create sandbox extensions for files that are dropped in an input control.
- https://bugs.webkit.org/show_bug.cgi?id=81153
- <rdar://problem/11031207>
-
- Reviewed by Alexey Proskuryakov.
-
- * WebCoreSupport/WebDragClient.mm:
- (WebDragClient::willPerformDragDestinationAction): Avoid calling the delegate with the new drag action.
- We want to avoid any unwanted side effects for the WebKit clients.
-
-2012-03-19 Emil A Eklund <eae@chromium.org>
-
- [mac/chromium] Change platform code to use pixelSnappedRect methods
- https://bugs.webkit.org/show_bug.cgi?id=81016
-
- Reviewed by Eric Seidel.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView actualVisibleRectInWindow]):
- * WebView/WebFrame.mm:
- (-[WebFrame _getVisibleRect:]):
- (-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]):
- * WebView/WebView.mm:
- (-[WebView _dashboardRegions]):
- (-[WebView trackedRepaintRects]):
-
-2012-03-16 Brady Eidson <beidson@apple.com>
-
- <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412
- REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted
-
- Reviewed by Geoff Garen.
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::setInsertionPasteboard):
- * WebCoreSupport/WebPlatformStrategies.h:
- (WebPlatformStrategies):
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::url):
-
-2012-03-08 Jer Noble <jer.noble@apple.com>
-
- Support W3C Full Screen API proposal
- https://bugs.webkit.org/show_bug.cgi?id=80660
-
- Reviewed by Alexey Proskuryakov.
-
- Allow full screen elements to access the keyboard.
-
- * WebView/WebView.mm:
- (-[WebView _supportsFullScreenForElement:WebCore::withKeyboard:]):
-
-2012-03-07 Jon Lee <jonlee@apple.com>
-
- Move NotificationContents into Notification
- https://bugs.webkit.org/show_bug.cgi?id=80487
- <rdar://problem/10965519>
-
- Reviewed by Jian Li.
-
- * WebView/WebNotification.mm: Refactor to use accessor methods on Notification.
- (-[WebNotification title]):
- (-[WebNotification body]):
-
-2012-03-15 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=81258
-
- Add a preference for enabling the new multi-column layout code that will be based on regions.
-
- Reviewed by Beth Dakin.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences setRegionBasedColumnsEnabled:]):
- (-[WebPreferences regionBasedColumnsEnabled]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2012-03-15 Brady Eidson <beidson@apple.com>
-
- <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
- REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
-
- Reviewed by Sam Weinig.
-
- Add the non-destructive "addTypes" to supplement the destructive "setTypes"
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::addTypes):
-
-2012-03-14 Anders Carlsson <andersca@apple.com>
-
- java/java-and-plugins.html test failing
- https://bugs.webkit.org/show_bug.cgi?id=81188
- <rdar://problem/11048657>
-
- Reviewed by Sam Weinig.
-
- When we're marshaling JSObjects that wrap plug-in objects, make sure to check that the
- current plug-in instance is the same as the plug-in instance the object came from and don't
- pass the unwrapped object ID if that is the case.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::getObjectID):
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- (WebKit::NetscapePluginInstanceProxy::marshalValues):
- * Plugins/Hosted/ProxyInstance.h:
- (ProxyInstance):
- (WebKit::ProxyInstance::instanceProxy):
-
-2012-03-14 Michael Saboff <msaboff@apple.com>
-
- REGRESSION(r110383): ASSERTION failures in JSCell::finishCreation causing multiple tests to "crash" on the Lion Intel Debug Bots
- https://bugs.webkit.org/show_bug.cgi?id=80993
-
- Reviewed by Mark Rowe.
-
- Moved $(BUILT_PRODUCTS_DIR)/usr/local/include to the front of HEADER_SEARCH_PATH
- to fix builds given the wtf move.
-
- * Configurations/WebKit.xcconfig:
-
-2012-03-13 Jon Lee <jonlee@apple.com>
-
- Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
- https://bugs.webkit.org/show_bug.cgi?id=80922
- <rdar://problem/11035082>
-
- Reviewed by Jian Li.
-
- You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
- LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
- new API. Therefore, APIs that are common between the two will have:
- #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-
- This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
- the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
-
- Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- * WebCoreSupport/WebNotificationClient.h:
- * WebCoreSupport/WebNotificationClient.mm:
- (WebNotificationClient::show):
- (WebNotificationClient::cancel):
- (WebNotificationClient::clearNotifications):
- (WebNotificationClient::notificationObjectDestroyed):
- (WebNotificationClient::notificationControllerDestroyed):
- (WebNotificationClient::requestPermission):
- (WebNotificationClient::checkPermission):
- * WebView/WebNotification.mm:
- (-[WebNotification title]):
- (-[WebNotification body]):
- (-[WebNotification replaceID]):
- (-[WebNotification origin]):
- (-[WebNotification notificationID]):
- (-[WebNotification dispatchShowEvent]):
- (-[WebNotification dispatchCloseEvent]):
- (-[WebNotification dispatchClickEvent]):
- (-[WebNotification dispatchErrorEvent]):
- * WebView/WebNotificationInternal.h:
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2012-03-13 Adam Barth <abarth@webkit.org> && Benjamin Poulain <bpoulain@apple.com>
-
- Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
- https://bugs.webkit.org/show_bug.cgi?id=78853
-
- Reviewed by Adam Barth.
-
- * Configurations/FeatureDefines.xcconfig:
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient):
- * WebCoreSupport/WebGeolocationClient.mm:
- (WebGeolocationClient::lastPosition):
- * WebView/WebGeolocationPosition.mm:
- (-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]):
- (core):
- (-[WebGeolocationPosition initWithTimestamp:latitude:longitude:accuracy:]):
- * WebView/WebGeolocationPositionInternal.h:
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (-[WebView _geolocationDidChangePosition:]):
- (-[WebView _geolocationDidFailWithError:]):
-
-2012-03-12 Antonio Gomes <agomes@rim.com>
-
- Convert nodesFromRect tests to use Internals interface
- https://bugs.webkit.org/show_bug.cgi?id=80886
-
- Reviewed by Ryosuke Niwa.
-
- Removed mac specific support for nodesFromRect for testing purposes only,
- since it can work in a cross-port way through the Internals interface.
-
- * WebKit.order:
- * WebView/WebView.mm:
- * WebView/WebViewPrivate.h:
-
-2012-03-13 Anders Carlsson <andersca@apple.com>
-
- Remove a nonexistent WebUIDelegate method from WebUIDelegatePrivate.h
- https://bugs.webkit.org/show_bug.cgi?id=81014
-
- Reviewed by Sam Weinig.
-
- Remove a plug-in halter related WebUIDelegate method.
-
- * WebView/WebUIDelegatePrivate.h:
-
-2012-03-13 Shinya Kawanaka <shinyak@chromium.org>
-
- REGRESSION: Spellcheck tests hit assertions on Mac.
- https://bugs.webkit.org/show_bug.cgi?id=80883
-
- Reviewed by Ryosuke Niwa.
-
- The bug was caused by the closure object created in requestCheckingOfString accessing
- request's member variables even though the request object is not an NSObject or allocated
- in stack. This resulted in the closure not being able to access those variables when invoked.
-
- Fixed the bug by making local copies of those member variables.
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::requestCheckingOfString):
-
-2012-03-11 Timothy Hatcher <timothy@apple.com>
-
- Update how the Web Inspector resources are loaded.
-
- https://bugs.webkit.org/show_bug.cgi?id=80798
- rdar://problem/10359959
-
- Reviewed by Brian Weinstein.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (useWebKitWebInspector): Return if we are using the WebCore resources for compatibility
- with local and nightly builds.
- (WebInspectorFrontendClient::localizedStringsURL): Decide what path to use.
- (-[WebInspectorWindowController init]): Ditto.
- (-[WebInspectorWindowController window]): Decide if the window is textured or not.
-
-2012-03-09 Jon Lee <jonlee@apple.com>
-
- Rename NotificationPresenter to NotificationClient
- https://bugs.webkit.org/show_bug.cgi?id=80488
- <rdar://problem/10965558>
-
- Reviewed by Kentaro Hara.
-
- Refactor to use renamed WebCore::NotificationClient.
- * WebCoreSupport/WebNotificationClient.h:
- * WebCoreSupport/WebNotificationClient.mm:
- (WebNotificationClient::checkPermission):
- * WebView/WebViewPrivate.h:
-
-2012-03-09 Enrica Casucci <enrica@apple.com>
-
- Move WebNSURLExtras code down to WebCore.
- https://bugs.webkit.org/show_bug.cgi?id=80611
-
- Reviewed by Alexey Proskuryakov.
-
- Changed the implementation to use newly moved WebCore functions.
-
- * Misc/WebKitNSStringExtras.mm:
- (-[NSString _webkit_hasCaseInsensitivePrefix:]):
- * Misc/WebNSURLExtras.mm:
- (+[NSURL _web_URLWithUserTypedString:]):
- (+[NSURL _web_URLWithDataAsString:relativeToURL:]):
- (+[NSURL _web_URLWithData:]):
- (+[NSURL _web_URLWithData:relativeToURL:]):
- (-[NSURL _web_originalData]):
- (-[NSURL _web_originalDataAsString]):
- (-[NSURL _web_userVisibleString]):
- (-[NSURL _web_isEmpty]):
- (-[NSURL _web_URLCString]):
- (-[NSURL _web_URLByTruncatingOneCharacterBeforeComponent:]):
- (-[NSURL _webkit_URLByRemovingFragment]):
- (-[NSURL _webkit_URLByRemovingResourceSpecifier]):
- (-[NSURL _web_URLByRemovingUserInfo]):
- (-[NSURL _web_dataForURLComponentType:]):
- (-[NSURL _web_schemeData]):
- (-[NSURL _web_hostData]):
- (-[NSString _web_isUserVisibleURL]):
- (-[NSString _web_hostNameNeedsDecodingWithRange:]):
- (-[NSString _web_hostNameNeedsEncodingWithRange:]):
- (-[NSString _web_decodeHostNameWithRange:]):
- (-[NSString _web_encodeHostNameWithRange:]):
- (-[NSString _web_decodeHostName]):
- (-[NSString _web_encodeHostName]):
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2012-03-09 Emil A Eklund <eae@chromium.org>
-
- Add roundedPoint to HitTestResult and change platform code to use it
- https://bugs.webkit.org/show_bug.cgi?id=80715
-
- Reviewed by James Robinson.
-
- Change ports to use roundedPoint to avoid exposing subpixel types to
- platform code.
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::showContextMenu):
-
-2012-03-09 Jon Lee <jonlee@apple.com>
-
- Add support for ENABLE(LEGACY_NOTIFICATIONS)
- https://bugs.webkit.org/show_bug.cgi?id=80497
-
- Reviewed by Adam Barth.
-
- Prep for b80472: Update API for Web Notifications
- * Configurations/FeatureDefines.xcconfig:
-
-2012-03-08 Ryosuke Niwa <rniwa@webkit.org>
-
- Mac build fix for micro data API.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-03-08 Jer Noble <jer.noble@apple.com>
-
- Unreviewed Snow Leopard build fix.
-
- On Leopard and Snow Leopard, provide an implementation for -[NSWindow convertRectToScreen:].
-
- * WebView/WebFullScreenController.mm:
- (-[NSWindow convertRectToScreen:]):
-
-2012-02-20 Jer Noble <jer.noble@apple.com>
-
- Full Screen Refactor Part 4: Animate into Full Screen mode using new animation classes, WebKit edition.
- https://bugs.webkit.org/show_bug.cgi?id=78930
-
- Reviewed by Anders Carlsson.
-
- Revise WebFullScreenController to have the same general functionality and code path as WKFullScreenWindowController
- in WebKit2. As such, the following functions are copies of their equivalents in WKFullScreenWindowController:
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController init]):
- (-[WebFullScreenController dealloc]):
- (-[WebFullScreenController windowDidLoad]):
- (-[WebFullScreenController cancelOperation:]):
- (-[WebFullScreenController applicationDidResignActive:]):
- (-[WebFullScreenController applicationDidChangeScreenParameters:]):
- (-[WebFullScreenController finishedEnterFullScreenAnimation:]):
- (-[WebFullScreenController finishedExitFullScreenAnimation:]):
- (-[WebFullScreenController close]):
- (-[WebFullScreenController animationDidEnd:]):
- (-[WebFullScreenController _updateMenuAndDockForFullScreen]):
- (-[WebFullScreenController _swapView:with:]):
- (createBackgroundFullscreenWindow):
- (windowFrameFromApparentFrames):
- (-[WebFullScreenController _startEnterFullScreenAnimationWithDuration:]):
- (-[WebFullScreenController _startExitFullScreenAnimationWithDuration:]):
-
- The following is a copy of the equivalent function in WebFullScreenManager:
- * WebView/WebFullScreenController.mm:
- (screenRectOfContents):
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::fullScreenRendererChanged): No longer tell the WebView the renderer changed (as it doesn't care.)
- * WebView/WebFullScreenController.h:
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController setElement:]): No need to add event listeners to the media element.
- (-[WebFullScreenController enterFullScreen:]): Same as WKFullScreenWindowController, but not asynchronous.
- (-[WebFullScreenController exitFullScreen]): Ditto.
- * WebView/WebView.mm:
- (-[WebView _enterFullScreenForElement:WebCore::]): Fullscreen -> FullScreen.
- (-[WebView _exitFullScreenForElement:WebCore::]): Ditto.
-
-2012-03-08 Matt Lilek <mrl@apple.com>
-
- Don't enable VIDEO_TRACK on all OS X platforms
- https://bugs.webkit.org/show_bug.cgi?id=80635
-
- Reviewed by Eric Carlson.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-03-07 Joseph Pecoraro <pecoraro@apple.com>
-
- <http://webkit.org/b/80510> Web Inspector crash (iCab)
-
- Reviewed by Timothy Hatcher.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::didResizeMainFrame):
-
-2012-03-06 Benjamin Poulain <bpoulain@apple.com>
-
- [Mac] Update the configuration files for iOS
- https://bugs.webkit.org/show_bug.cgi?id=80435
-
- Reviewed by David Kilzer.
-
- * Configurations/WebKit.xcconfig:
-
-2012-03-06 Eric Seidel <eric@webkit.org>
-
- Make WTF public headers use fully-qualified include paths and remove ForwardingHeaders/wtf
- https://bugs.webkit.org/show_bug.cgi?id=80363
-
- Reviewed by Mark Rowe.
-
- ForwardingHeaders/wtf is no longer necessary (or functional) now that JavaScriptCore
- no longer includes the WTF headers as private headers.
-
- * ForwardingHeaders/wtf/ASCIICType.h: Removed.
- * ForwardingHeaders/wtf/AlwaysInline.h: Removed.
- * ForwardingHeaders/wtf/Assertions.h: Removed.
- * ForwardingHeaders/wtf/Deque.h: Removed.
- * ForwardingHeaders/wtf/DisallowCType.h: Removed.
- * ForwardingHeaders/wtf/FastMalloc.h: Removed.
- * ForwardingHeaders/wtf/Forward.h: Removed.
- * ForwardingHeaders/wtf/GetPtr.h: Removed.
- * ForwardingHeaders/wtf/HashCountedSet.h: Removed.
- * ForwardingHeaders/wtf/HashMap.h: Removed.
- * ForwardingHeaders/wtf/HashSet.h: Removed.
- * ForwardingHeaders/wtf/HashTraits.h: Removed.
- * ForwardingHeaders/wtf/ListHashSet.h: Removed.
- * ForwardingHeaders/wtf/ListRefPtr.h: Removed.
- * ForwardingHeaders/wtf/Locker.h: Removed.
- * ForwardingHeaders/wtf/MathExtras.h: Removed.
- * ForwardingHeaders/wtf/Noncopyable.h: Removed.
- * ForwardingHeaders/wtf/OwnArrayPtr.h: Removed.
- * ForwardingHeaders/wtf/OwnPtr.h: Removed.
- * ForwardingHeaders/wtf/OwnPtrCommon.h: Removed.
- * ForwardingHeaders/wtf/PassOwnPtr.h: Removed.
- * ForwardingHeaders/wtf/PassRefPtr.h: Removed.
- * ForwardingHeaders/wtf/Platform.h: Removed.
- * ForwardingHeaders/wtf/RefCounted.h: Removed.
- * ForwardingHeaders/wtf/RefCountedLeakCounter.h: Removed.
- * ForwardingHeaders/wtf/RefPtr.h: Removed.
- * ForwardingHeaders/wtf/RetainPtr.h: Removed.
- * ForwardingHeaders/wtf/StdLibExtras.h: Removed.
- * ForwardingHeaders/wtf/TemporaryChange.h: Removed.
- * ForwardingHeaders/wtf/Threading.h: Removed.
- * ForwardingHeaders/wtf/UnusedParam.h: Removed.
- * ForwardingHeaders/wtf/VMTags.h: Removed.
- * ForwardingHeaders/wtf/ValueCheck.h: Removed.
- * ForwardingHeaders/wtf/Vector.h: Removed.
- * ForwardingHeaders/wtf/VectorTraits.h: Removed.
- * ForwardingHeaders/wtf/unicode/Unicode.h: Removed.
- * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Removed.
-
-2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
-
- Web Inspector: Hide dock button when not allowed to dock
- https://bugs.webkit.org/show_bug.cgi?id=78575
-
- Reviewed by Pavel Feldman.
-
- * WebCoreSupport/WebInspectorClient.h:
- (WebCore):
- (WebInspectorClient):
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::didResizeMainFrame):
-
-2012-03-05 Gavin Barraclough <barraclough@apple.com>
-
- putByIndex should throw in strict mode
- https://bugs.webkit.org/show_bug.cgi?id=80335
-
- Reviewed by Filip Pizlo.
-
- Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::setProperty):
-
-2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
-
- Unreviewed rollout of r109858 for restructuring.
-
-2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
-
- <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
-
- Reviewed by Timothy Hatcher.
-
- * WebCoreSupport/WebInspectorClient.h:
- (WebInspectorClient):
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::updateDockingAvailability):
-
-2012-03-02 Jon Lee <jonlee@apple.com>
-
- Add support for notification replaceId in Mac WebKit and WK2
- https://bugs.webkit.org/show_bug.cgi?id=80206
- <rdar://problem/10965574>
-
- Reviewed by Sam Weinig.
-
- * WebView/WebNotification.h: Add replaceID method.
- * WebView/WebNotification.mm:
- (-[WebNotification replaceID]):
-
-2012-03-05 Adam Barth <abarth@webkit.org>
-
- Geolocation should use a ScriptExecutionContext as its context object
- https://bugs.webkit.org/show_bug.cgi?id=80248
-
- Reviewed by Kentaro Hara.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _cacheabilityDictionary]):
- - We no longer special-case Geolocation.
-
-2012-03-03 Benjamin Poulain <benjamin@webkit.org>
-
- Remove the redundant method KURL::protocolInHTTPFamily()
- https://bugs.webkit.org/show_bug.cgi?id=80216
-
- Reviewed by Anders Carlsson.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin):
-
-2012-03-03 Hans Wennborg <hans@chromium.org>
-
- Implement Speech JavaScript API
- https://bugs.webkit.org/show_bug.cgi?id=80019
-
- Reviewed by Adam Barth.
-
- Add ENABLE_SCRIPTED_SPEECH.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-03-03 Anders Carlsson <andersca@apple.com>
-
- Fix build with newer versions of clang.
-
- * Panels/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForChallenge:]):
- Use %ld and cast to long.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView getVariable:value:]):
- Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type.
-
-2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Unreviewed, rolling out r109255.
- http://trac.webkit.org/changeset/109255
- https://bugs.webkit.org/show_bug.cgi?id=79932
-
- Breaks rounded rects with dashed strokes in SVG
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2012-02-29 Adam Barth <abarth@webkit.org>
-
- ScriptExecutionContext has too many ifdef ENABLE(SQL_DATABASE)
- https://bugs.webkit.org/show_bug.cgi?id=79633
-
- Reviewed by Eric Seidel.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _cacheabilityDictionary]):
-
-2012-02-29 Tim Horton <timothy_horton@apple.com>
-
- Make use of CG rounded-rect primitives
- https://bugs.webkit.org/show_bug.cgi?id=79932
- <rdar://problem/9274953>
-
- Reviewed by Simon Fraser.
-
- Add wkCGPathAddRoundedRect.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2012-02-29 Enrica Casucci <enrica@apple.com>
-
- Crash at -[WebFrame(WebInternal) _setTypingStyle:withUndoAction:]
- https://bugs.webkit.org/show_bug.cgi?id=79937
- <rdar://problem/10942936>
-
- Reviewed by Dan Bernstein.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _setTypingStyle:withUndoAction:]): Adding a null check.
-
-2012-02-28 Simon Fraser <simon.fraser@apple.com>
-
- Update WebKitSystemInterface.
-
- Reviewed by Sam Weinig.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2012-02-28 Enrica Casucci <enrica@apple.com>
-
- More Pasteboard code cleanup.
- https://bugs.webkit.org/show_bug.cgi?id=79816
-
- Removing the last references to NSPasteboard.
-
- Reviewed by Alexey Proskuryakov.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::setInsertionPasteboard):
-
-2012-02-26 Hajime Morrita <morrita@chromium.org>
-
- Move ChromeClient::showContextMenu() to ContextMenuClient
- https://bugs.webkit.org/show_bug.cgi?id=79427
-
- Reviewed by Adam Barth.
-
- * WebCoreSupport/WebContextMenuClient.h:
- (WebContextMenuClient):
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::showContextMenu): Moved from WebChromeClient
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
-
-2012-02-25 Sam Weinig <sam@webkit.org>
-
- QuickLook events don't make it to WebKit plugins.
- <rdar://problem/10931721>
-
- Reviewed by Anders Carlsson.
-
- * WebView/WebHTMLView.mm:
- (isQuickLookEvent):
- (-[WebHTMLView hitTest:]):
- Allow QuickLook events to hit test down to subviews.
-
-2012-02-24 Brady Eidson <beidson@apple.com>
-
- <rdar://problem/10805709> and https://bugs.webkit.org/show_bug.cgi?id=79421
- Need a WK1 Mac API to filter which subframes go into WebArchives as they are created
-
- Reviewed by Sam Weinig (with additional comments by Adam Roben)
-
- Add webArchiveByFilteringSubframes: which takes a callback block:
- * DOM/WebDOMOperationsPrivate.h:
-
- Add FrameFilter that adapts the block, and use it to implement the new SPI:
- * DOM/WebDOMOperations.mm:
- (WebFrameFilter):
- (WebFrameFilter::WebFrameFilter):
- (WebFrameFilter::~WebFrameFilter):
- (WebFrameFilter::shouldIncludeSubframe):
- (-[DOMNode webArchiveByFilteringSubframes:]):
-
-2012-02-24 Shinya Kawanaka <shinyak@chromium.org>
-
- SpellCheckRequest needs to know the context where the spellcheck happened.
- https://bugs.webkit.org/show_bug.cgi?id=79320
-
- Reviewed by Hajime Morita.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::requestCheckingOfString):
-
-2012-02-23 Andy Estes <aestes@apple.com>
-
- Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
- https://bugs.webkit.org/show_bug.cgi?id=79433
-
- Reviewed by Dan Bernstein.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController init]):
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences setSuppressesIncrementalRendering:]):
- (-[WebPreferences suppressesIncrementalRendering]):
- (-[WebPreferences setSuppressIncrementalRendering:]):
- (-[WebPreferences suppressIncrementalRendering]):
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2012-02-22 Hajime Morrita <morrita@chromium.org>
-
- NOTIFICATIONS should be implemented as PageSupplement
- https://bugs.webkit.org/show_bug.cgi?id=79052
-
- Reviewed by Adam Barth.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2012-02-21 Ryosuke Niwa <rniwa@webkit.org>
-
- Remove the remaining uses of CSSStyleDeclaration in Editor
- https://bugs.webkit.org/show_bug.cgi?id=78939
-
- Reviewed by Enrica Casucci.
-
- * WebCoreSupport/WebEditorClient.h:
- (WebEditorClient):
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::shouldApplyStyle):
- * WebView/WebFrame.mm:
- (-[WebFrame _setTypingStyle:withUndoAction:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
- (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
- * WebView/WebView.mm:
- (-[WebView applyStyle:]):
-
-2012-02-22 Ryosuke Niwa <rniwa@webkit.org>
-
- Remove the remaining uses of CSSStyleDeclaration in Editor
- https://bugs.webkit.org/show_bug.cgi?id=78939
-
- Reviewed by Enrica Casucci.
-
- * WebCoreSupport/WebEditorClient.h:
- (WebEditorClient):
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::shouldApplyStyle):
- * WebView/WebFrame.mm:
- (-[WebFrame _setTypingStyle:withUndoAction:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
- (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
- * WebView/WebView.mm:
- (-[WebView applyStyle:]):
-
-2012-02-22 Jon Lee <jonlee@apple.com>
-
- Part of r108409 was incorrect, and incorporated an older version of a sub-patch.
- This is the actual sub-patch that should have been submitted.
-
- * WebCoreSupport/WebNotificationClient.h:
- * WebCoreSupport/WebNotificationClient.mm:
- (WebNotificationClient::show):
- (WebNotificationClient::cancel):
- (WebNotificationClient::clearNotifications):
- (WebNotificationClient::notificationObjectDestroyed):
- (WebNotificationClient::notificationControllerDestroyed):
-
-2012-02-21 Jon Lee <jonlee@apple.com>
-
- Build fix. Push ENABLE_NOTIFICATIONS into .mm file.
-
- * WebCoreSupport/WebNotificationClient.h:
- * WebView/WebNotification.h:
- * WebView/WebNotification.mm:
- (-[WebNotification title]):
- (-[WebNotification body]):
- (-[WebNotification origin]):
- (-[WebNotification notificationID]):
- (-[WebNotification dispatchShowEvent]):
- (-[WebNotification dispatchCloseEvent]):
- (-[WebNotification dispatchClickEvent]):
- (-[WebNotification dispatchErrorEvent]):
-
-2012-02-21 John Sullivan <sullivan@apple.com>
-
- Build fix.
-
- * WebView/WebUIDelegatePrivate.h:
- Added @class declarations for DOMNode and DOMElement.
-
-2012-02-21 Jon Lee <jonlee@apple.com>
-
- Build fix for r108409.
-
- * WebCoreSupport/WebNotificationClient.h:
- (WebCore):
- * WebCoreSupport/WebNotificationClient.mm:
- * WebView/WebNotification.h:
- (WebSecurityOrigin):
- * WebView/WebNotification.mm:
- (core):
- (-[WebNotification initWithCoreNotification:notificationID:]):
-
-2012-02-21 Jon Lee <jonlee@apple.com>
-
- Bring notifications support to WK1 mac: permission requests
- https://bugs.webkit.org/show_bug.cgi?id=78783
- <rdar://problem/10610578>
-
- Reviewed by Anders Carlsson.
-
- * WebCoreSupport/WebNotificationClient.h:
- * WebCoreSupport/WebNotificationClient.mm: Create policy listener, which conforms to the
- WebAllowDenyPolicyListener protocol, similar to geolocation.
- (WebNotificationClient::requestPermission):
- (WebNotificationClient::checkPermission):
- (-[WebNotificationPolicyListener initWithCallback:]):
- (-[WebNotificationPolicyListener allow]): Call the callback.
- (-[WebNotificationPolicyListener deny]): Call the callback.
- * WebView/WebUIDelegatePrivate.h: Define new UI delegate method to ask the user to decide a
- policy for navigations.
-
- ====
- Bring notifications support to WK1 mac: showing, canceling, removing notifications
-
- Create a WebKit wrapper object for WebCore::Notification, which also keeps track of an assigned
- ID.
- * WebView/WebNotification.h: Added.
- (WebSecurityOrigin):
- * WebView/WebNotification.mm: Added.
- (core):
- (-[WebNotification initWithCoreNotification:notificationID:]):
- (-[WebNotification init]):
- (-[WebNotification dealloc]):
- (-[WebNotification title]):
- (-[WebNotification body]):
- (-[WebNotification origin]):
- (-[WebNotification notificationID]):
- (-[WebNotification dispatchShowEvent]):
- (-[WebNotification dispatchCloseEvent]):
- (-[WebNotification dispatchClickEvent]):
- (-[WebNotification dispatchErrorEvent]):
- * WebView/WebNotificationInternal.h: Added.
- (WebCore): Internal category to allow creating instances with WebCore objects.
-
- Extend WebView to include a WebNotificationProvider, which clients implement.
- * WebView/WebViewData.h: Add a private member for the provider.
- * WebView/WebViewPrivate.h:
- * Define an enum WebNotificationPermission that mirrors WebCore::NotificationPresenter::Permission
- that client which implement the provider can use to return policy decisions.
- * Define WebNotificationProvider.
- * Category WebViewNotification extends WebView with methods that set and manager the
- notification provider, and handle events from the platform notifications.
- * WebView/WebView.mm:
- (-[WebView _setNotificationProvider:]): Sets the provider when initializing the WebView.
- (-[WebView _notificationControllerDestroyed]):
- (-[WebView _notificationProvider]):
- (-[WebView _notificationDidShow:]):
- (-[WebView _notificationDidClick:]):
- (-[WebView _notificationsDidClose:]):
-
- * WebCoreSupport/WebNotificationClient.h: Add variables that map between WebCore::Notification
- instances, their assigned IDs, their contexts, and corresponding WebKit wrapper objects.
- * WebCoreSupport/WebNotificationClient.mm:
- (generateNotificationID): Created unique IDs for each shown notification.
- (WebNotificationClient::show): Create wrapper object for notification, assign ID, cache the
- mappings between the objects, and forward it to the provider.
- (WebNotificationClient::cancel):
- (WebNotificationClient::clearNotifications): Clear all notifications associated with the
- provided context.
- (WebNotificationClient::notificationObjectDestroyed): Remove the notification from the maps.
- (WebNotificationClient::notificationControllerDestroyed): If the controller is destroyed, tell
- the provider to clear of the notifications related to this web view.
-
- ====
- (Prep work for) Bring notifications support to WK1 mac
-
- Rename WebGeolocationPolicyListener. The interface is generic enough to be reused for
- notification requests. To avoid having to create a new listener type, instead rename it
- to WebAllowDenyPolicyListener.
- * WebView/WebUIDelegatePrivate.h: Rename the protocol.
- * WebCoreSupport/WebGeolocationClient.mm: Refactor geolocation request listener to use
- new name.
-
- Add preference to keep track of whether notifications are enabled in general.
- * WebView/WebPreferenceKeysPrivate.h: Add WebNotificationsEnabledKey for storing the
- preference.
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): By default have them enabled.
- (-[WebPreferences setNotificationsEnabled:]):
- (-[WebPreferences notificationsEnabled]):
- * WebView/WebPreferencesPrivate.h:
-
- Add a stringValue method that exposes WebCore::SecurityOrigin::toString() for storing the
- notification policy for a given origin.
- * WebCoreSupport/WebSecurityOrigin.mm:
- (-[WebSecurityOrigin stringValue]):
- * WebCoreSupport/WebSecurityOriginPrivate.h:
-
-2012-02-21 Sam Weinig <sam@webkit.org>
-
- Attempt to fix the Snow Leopard build.
-
- * Configurations/Base.xcconfig:
-
-2012-02-21 Sam Weinig <sam@webkit.org>
-
- Use libc++ when building with Clang on Mac
- https://bugs.webkit.org/show_bug.cgi?id=78981
-
- Reviewed by Dan Bernstein.
-
- * Configurations/Base.xcconfig:
-
-2012-02-17 Mihnea Ovidenie <mihnea@adobe.com>
-
- CSS regions enabled by default
- https://bugs.webkit.org/show_bug.cgi?id=78525
-
- Reviewed by David Hyatt.
-
- Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
- CSSRegions are still enabled by default.
- In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences cssRegionsEnabled]):
- (-[WebPreferences setCSSRegionsEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2012-02-17 Enrica Casucci <enrica@apple.com>
-
- Refactor DragData class to use PlatformStrategies in the Mac implementation.
- https://bugs.webkit.org/show_bug.cgi?id=78768
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebPlatformStrategies.h: Added color() method.
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::color):
-
-2012-02-16 Brady Eidson <beidson@apple.com>
-
- <rdar://problem/10616280> and https://bugs.webkit.org/show_bug.cgi?id=78767
- REGRESSION (r90471) - iAd Producer 2.0.1 produces blank pages
-
- Reviewed by Sam Weinig.
-
- * WebView/WebView.mm:
- (-[WebView _needsIsLoadingInAPISenseQuirk]):
- (-[WebView _preferencesChanged:]):
-
-2012-02-15 Enrica Casucci <enrica@apple.com>
-
- Refactor ClipboardMac class to use PlatformStrategies.
- https://bugs.webkit.org/show_bug.cgi?id=78554
-
- Reviewed by Anders Carlsson.
-
- * WebCoreSupport/WebDragClient.h: Changed methods signature to use name based pasteboard.
- * WebCoreSupport/WebDragClient.mm: Ditto.
- (WebDragClient::willPerformDragSourceAction):
- (WebDragClient::startDrag):
- (WebDragClient::declareAndWriteDragImage):
- * WebCoreSupport/WebPlatformStrategies.h: Added new methods.
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::changeCount):
- (WebPlatformStrategies::uniqueName):
-
-2012-02-15 Sadrul Habib Chowdhury <sadrul@chromium.org>
-
- Notify ChromeClient when touch-event handlers are installed/removed.
- https://bugs.webkit.org/show_bug.cgi?id=77440
-
- Reviewed by Darin Fisher and Ryosuke Niwa.
-
- * WebCoreSupport/WebChromeClient.h:
-
-2012-02-14 Matt Lilek <mrl@apple.com>
-
- Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms
- https://bugs.webkit.org/show_bug.cgi?id=78629
-
- Reviewed by David Kilzer.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-02-14 Alexey Proskuryakov <ap@apple.com>
-
- [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets
- https://bugs.webkit.org/show_bug.cgi?id=78541
- <rdar://problem/10036695>
-
- Reviewed by Kent Tamura.
-
- * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Changed default value of the
- preference.
-
-2012-02-11 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Convert svg/animations to use SMIL methods for driving the timeline
- https://bugs.webkit.org/show_bug.cgi?id=78422
-
- Reviewed by Dirk Schulze.
-
- Remove SVG animation sampling functionality provided for DRT, which no longer uses it.
- Instead we switched the svg/animations tests to use SVGSVGElement.setCurrentTime.
-
- * WebKit.order:
- * WebView/WebFrame.mm:
- * WebView/WebFramePrivate.h:
-
-2012-02-13 Enrica Casucci <enrica@apple.com>
-
- Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
- https://bugs.webkit.org/show_bug.cgi?id=78282
-
- This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
- now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
- WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
- class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
- interface but this one more step in the direction of removing access to NSPasteboard from
- the WebProcess.
- As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
-
- Reviewed by Anders Carlsson.
-
- * WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
- * WebCoreSupport/WebPlatformStrategies.mm: Added implementation of PasteboardStrategy interface.
- (WebPlatformStrategies::createPasteboardStrategy):
- (WebPlatformStrategies::getTypes):
- (WebPlatformStrategies::bufferForType):
- (WebPlatformStrategies::getPathnamesForType):
- (WebPlatformStrategies::stringForType):
- (WebPlatformStrategies::copy):
- (WebPlatformStrategies::setTypes):
- (WebPlatformStrategies::setBufferForType):
- (WebPlatformStrategies::setPathnamesForType):
- (WebPlatformStrategies::setStringForType):
-
-2012-02-12 Hajime Morrita <morrita@chromium.org>
-
- Page should have less intrusive way to associate API implementation objects.
- https://bugs.webkit.org/show_bug.cgi?id=78085
-
- Reviewed by Adam Barth.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2012-02-11 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r107435.
- http://trac.webkit.org/changeset/107435
- https://bugs.webkit.org/show_bug.cgi?id=78410
-
- It broke the Qt build (Requested by Ossy on #webkit).
-
- * WebCoreSupport/WebPlatformStrategies.h:
- (WebPlatformStrategies):
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::addVisitedLink):
-
-2012-02-10 Adam Klein <adamk@chromium.org>
-
- Enable MUTATION_OBSERVERS by default on all platforms
- https://bugs.webkit.org/show_bug.cgi?id=78196
-
- Reviewed by Ojan Vafai.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-02-10 Enrica Casucci <enrica@apple.com>
-
- Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
- https://bugs.webkit.org/show_bug.cgi?id=78282
-
- This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
- now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
- WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
- class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
- interface but this one more step in the direction of removing access to NSPasteboard from
- the WebProcess.
- As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
-
- Reviewed by Anders Carlsson.
-
- * WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
- * WebCoreSupport/WebPlatformStrategies.mm: Added implementation of PasteboardStrategy interface.
- (WebPlatformStrategies::createPasteboardStrategy):
- (WebPlatformStrategies::getTypes):
- (WebPlatformStrategies::bufferForType):
- (WebPlatformStrategies::getPathnamesForType):
- (WebPlatformStrategies::stringForType):
- (WebPlatformStrategies::copy):
- (WebPlatformStrategies::setTypes):
- (WebPlatformStrategies::setBufferForType):
- (WebPlatformStrategies::setPathnamesForType):
- (WebPlatformStrategies::setStringForType):
-
-2012-02-10 Benjamin Poulain <bpoulain@apple.com>
-
- [Mac] DYLIB_INSTALL_NAME_BASE should not be prefixed by the SDKROOT
- https://bugs.webkit.org/show_bug.cgi?id=78320
-
- Reviewed by Joseph Pecoraro.
-
- <rdar://problem/10839750>
-
- * Configurations/WebKit.xcconfig:
-
-2012-02-09 Alexey Proskuryakov <ap@apple.com>
-
- REGRESSION (r104885): Articles not displayed in Vienna RSS reader
- https://bugs.webkit.org/show_bug.cgi?id=78280
- <rdar://problem/10762545>
-
- Reviewed by Oliver Hunt.
-
- * Misc/WebNSURLExtras.h:
- * Misc/WebNSURLExtras.mm: (-[NSURL _webkit_URLFromURLOrPath]):
- Added a method to create a URL from a path, similarly to what KURL used to do.
-
- * WebView/WebFrame.mm: (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
- Use it in an API where a known regression occurred.
-
-2012-02-07 Antti Koivisto <antti@apple.com>
-
- REGRESSION (r106681): Null check missing in [WebFrame(WebInternal) _typingStyle]
- https://bugs.webkit.org/show_bug.cgi?id=78080
-
- Reviewed by Reviewed by Andreas Kling, Darin Adler and Dan Bernstein.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _typingStyle]):
-
-2012-02-07 Tony Chang <tony@chromium.org>
-
- merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
- https://bugs.webkit.org/show_bug.cgi?id=78036
-
- Reviewed by Darin Adler.
-
- * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
-
-2012-02-06 Anders Carlsson <andersca@apple.com>
-
- Overlay scrollbars flash when window is simply activated
- https://bugs.webkit.org/show_bug.cgi?id=77911
- <rdar://problem/10211995>
-
- Reviewed by Kenneth Russell.
-
- * WebView/WebView.mm:
- (-[WebView _windowWillOrderOnScreen:]):
- (-[WebView _windowWillOrderOffScreen:]):
- Call FocusController::setContainingWindowIsVisible.
-
-
-2012-02-06 Matthew Delaney <mdelaney@apple.com>
-
- toDataURL() uses stale data after putImageData()
- https://bugs.webkit.org/show_bug.cgi?id=65767
-
- Reviewed by Chris Marrin.
-
- * WebCoreSupport/WebSystemInterface.mm:
-
-2012-02-03 Antti Koivisto <antti@apple.com>
-
- Rename CSSMutableStyleDeclaration.h/.cpp to StylePropertySet.h/.cpp
- https://bugs.webkit.org/show_bug.cgi?id=77779
-
- Reviewed by Darin Adler.
-
- * WebView/WebHTMLView.mm:
-
-2012-02-03 Antti Koivisto <antti@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=77740
- Split CSSMutableStyleDeclaration into separate internal and CSSOM types
-
- Reviewed by Andreas Kling and Darin Adler.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _typingStyle]):
-
-2012-02-03 Beth Dakin <bdakin@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=77691
- Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use
- of device scale
-
- Reviewed by Andy Estes.
-
- toUserSpace() and toDeviceSpace() don't need to take device scale. Also
- restore a comment that I needlessly removed.
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::setWindowRect):
- (WebChromeClient::windowRect):
-
-2012-02-01 Dan Bernstein <mitz@apple.com>
-
- WebKit/mac part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
- https://bugs.webkit.org/show_bug.cgi?id=77505
-
- Reviewed by Darin Adler.
-
- * WebView/WebView.mm:
- (-[WebView _setPaginationBehavesLikeColumns:]): Added this setter.
- (-[WebView _paginationBehavesLikeColumns]): Added this getter.
- * WebView/WebViewPrivate.h:
-
-2012-01-25 Eric Seidel <eric@webkit.org>
-
- HTMLIsIndexElement should not expose HTMLInputElement properties
- https://bugs.webkit.org/show_bug.cgi?id=76095
-
- Reviewed by Adam Barth.
-
- * MigrateHeaders.make:
-
-2012-01-31 Pablo Flouret <pablof@motorola.com>
-
- Fix compilation errors on build-webkit --debug --no-workers on mac.
- https://bugs.webkit.org/show_bug.cgi?id=75869
-
- Reviewed by Adam Barth.
-
- * Workers/WebWorkersPrivate.mm:
- (+[WebWorkersPrivate workerThreadCount]):
-
-2012-01-30 Beth Dakin <bdakin@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=77263
- PlatformScreenMac should not rely on NSWindow for important bits of data
-
- Reviewed by Geoff Garen.
-
- toUserSpace() and toDeviceSpace() now take a parameter for the
- deviceScaleFactor.
- * WebCoreSupport/WebChromeClient.mm:
- (windowScaleFactor):
- (WebChromeClient::setWindowRect):
- (WebChromeClient::windowRect):
-
-2012-01-25 Mark Rowe <mrowe@apple.com>
-
- Build in to an alternate location when USE_STAGING_INSTALL_PATH is set.
-
- <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH
-
- Reviewed by David Kilzer.
-
- * Configurations/WebKit.xcconfig: Define NORMAL_WEBKIT_FRAMEWORKS_DIR, which contains
- the path where WebKit is normally installed. Update WEBKIT_FRAMEWORKS_DIR to point to
- the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Define
- NORMAL_PRODUCTION_FRAMEWORKS_DIR, which contains the path where our public frameworks
- are normally installed. Update PRODUCTION_FRAMEWORKS_DIR to point to the staged frameworks
- directory when USE_STAGING_INSTALL_PATH is set. Always set the framework's install name
- based on the normal framework location. This prevents an incorrect install name from being
- used when installing in to the staged frameworks directory. Look for our other frameworks
- in the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Update
- WEBCORE_PRIVATE_HEADERS_DIR to find WebCore at the top level of the staged frameworks
- directory when USE_STAGING_INSTALL_PATH is set, rather than finding it embedded inside of
- WebKit.framework.
-
-2012-01-25 Eric Seidel <eric@webkit.org>
-
- HTMLIsIndexElement should not expose HTMLInputElement properties
- https://bugs.webkit.org/show_bug.cgi?id=76095
-
- Reviewed by Adam Barth.
-
- * MigrateHeaders.make:
-
-2012-01-25 Hajime Morita <morrita@google.com>
-
- ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom
- https://bugs.webkit.org/show_bug.cgi?id=76863
-
- Reviewed by Dimitri Glazkov.
-
- Added a feature flag.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-01-25 Enrica Casucci <enrica@apple.com>
-
- WebView should implement typingAttributes methods to work correctly with the Inspector bar in Mail.
- https://bugs.webkit.org/show_bug.cgi?id=76951
- <rdar://problem/9325158>
-
- Reviewed by Alexey Proskuryakov.
-
- * WebView/WebHTMLView.mm: Removed typingAttributes implementation.
- * WebView/WebView.mm:
- (-[WebView typingAttributes]): Added.
-
-2012-01-24 Enrica Casucci <enrica@apple.com>
-
- WebHTMLView should implement typingAttributes methods to work correctly with the Inspector bar in Mail.
- https://bugs.webkit.org/show_bug.cgi?id=76951
- <rdar://problem/9325158>
-
- The Inspector bar calls the typingAttributes methods on the clients that support it
- to retrieve the set of attributes representing the style at the selection and uses
- this information to update the state of the B, I and U buttons.
- If this method is not supported, it defaults to the attributes of the previous
- character position, reporting an incorrect state.
- This occurs only when we have a caret selection.
-
- Reviewed by Alexey Proskuryakov.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _styleForAttributeChange:]): Removed dead code.
- (-[WebHTMLView _updateFontPanel]): Removed comment that doesn't apply anymore.
- (-[WebHTMLView typingAttributes]): Added.
-
-2012-01-24 Benjamin Poulain <bpoulain@apple.com>
-
- pageCacheSupportsPlugins should default to true on WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=76891
-
- Reviewed by Joseph Pecoraro.
-
- The default was left out of r102619 by accident.
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
-
-2012-01-23 Geoffrey Garen <ggaren@apple.com>
-
- JSValue::toString() should return a JSString* instead of a UString
- https://bugs.webkit.org/show_bug.cgi?id=76861
-
- Reviewed by Gavin Barraclough.
-
- Mechanical changes to call value() after calling toString(), to
- convert from "JS string" (JSString*) to "C++ string" (UString), since
- toString() no longer returns a "C++ string".
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
-
-2012-01-20 Sam Weinig <sam@webkit.org>
-
- Make WebCore RunLoop work for WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=76739
-
- Reviewed by Anders Carlsson.
-
- * Carbon/CarbonWindowAdapter.mm:
- (+[CarbonWindowAdapter initialize]):
- * History/WebBackForwardList.mm:
- (+[WebBackForwardList initialize]):
- * History/WebHistoryItem.mm:
- (+[WebHistoryItem initialize]):
- * Misc/WebElementDictionary.mm:
- (+[WebElementDictionary initialize]):
- * Misc/WebIconDatabase.mm:
- (+[WebIconDatabase initialize]):
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (+[WebHostedNetscapePluginView initialize]):
- * Plugins/WebBaseNetscapePluginView.mm:
- * Plugins/WebBasePluginPackage.mm:
- * Plugins/WebNetscapePluginView.mm:
- (+[WebNetscapePluginView initialize]):
- * WebCoreSupport/WebEditorClient.mm:
- (+[WebUndoStep initialize]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebView/WebArchive.mm:
- (+[WebArchivePrivate initialize]):
- * WebView/WebDataSource.mm:
- (+[WebDataSourcePrivate initialize]):
- * WebView/WebHTMLView.mm:
- (+[WebHTMLViewPrivate initialize]):
- (+[WebHTMLView initialize]):
- * WebView/WebResource.mm:
- (+[WebResourcePrivate initialize]):
- * WebView/WebTextIterator.mm:
- (+[WebTextIteratorPrivate initialize]):
- * WebView/WebView.mm:
- (+[WebView initialize]):
- * WebView/WebViewData.mm:
- (+[WebViewPrivate initialize]):
- Initialized the main run loop in addition to other initialization.
-
-2012-01-20 Simon Fraser <simon.fraser@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=76444
-
- #if ENABLE(CSS_SHADERS) cannot appear in framework headers.
- This breaks builds.
-
- * WebView/WebPreferences.mm:
- * WebView/WebPreferencesPrivate.h:
-
-2012-01-20 Alexandru Chiculita <achicu@adobe.com>
-
- CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
- https://bugs.webkit.org/show_bug.cgi?id=76444
-
- Added private WebPreference property called "WebKitCSSCustomFilterEnabled".
-
- Reviewed by Nikolas Zimmermann.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences cssCustomFilterEnabled]):
- (-[WebPreferences setCSSCustomFilterEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2012-01-17 Enrica Casucci <enrica@apple.com>
-
- Missing NSForegroundColorAttributeName should be treated as black instead of transparent.
- https://bugs.webkit.org/show_bug.cgi?id=76490
- <rdar://problem/9460733>
-
- Starting with Lion, there is no more NSForegroundColor attribute in the dictionary
- if the color matches the default (solid black).
- The fix consists in treating the lack of color as solid black instead of transparent as
- we did before.
-
- Added a TestWebKitAPI test.
-
- Reviewed by Darin Adler and Dan Bernstein.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _styleForAttributeChange:]):
-
-2012-01-17 Matthew Delaney <mdelaney@apple.com>
-
- On post-Lion releases, preserve the Lion behavior where WebKit explicitly calls -setGeometryFlipped on the hosting layer for applications that were linked on Lion or earlier.
- <rdar://problem/10692025>
-
- Reviewed by Simon Fraser.
-
- * WebCoreSupport/WebSystemInterface.mm: Init newly added function.
- * WebView/WebHTMLView.mm: Added case for post-Lion builds that calls -setGeometryFlipped if the app is linked on or before Lion.
-
-2012-01-17 Enrica Casucci <enrica@apple.com>
-
- REGRESSION (r101413): Correction panel overlaps misspelled text.
- https://bugs.webkit.org/show_bug.cgi?id=74589
- <rdar://problem/10585115>
-
- When converting the rectangle from the root view, we need
- to take into account the height of the rectangle.
-
- Reviewed by Anders Carlsson.
-
- * WebView/WebView.mm:
- (-[WebView _convertRectFromRootView:]):
-
-2012-01-16 Simon Fraser <simon.fraser@apple.com>
-
- <rdar://problem/10703228> ASSERTION FAILED: Uncaught exception - Cannot lock focus on image <NSImage 0x1206572a0 Size={0, 0} Reps=( )>, because it is size zero loading techcrunch.com
-
- Reviewed by Anders Carlsson.
-
- Avoid trying to create image snapshots for zero-sized plugins, because
- it causes -[NSView lockFocus] to throw an exception.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView cacheSnapshot]):
-
-2012-01-16 Alexey Proskuryakov <ap@apple.com>
-
- A follow-up fix for:
- A warning is logged to console when typing a bare "/" in Safari address bar
- https://bugs.webkit.org/show_bug.cgi?id=76236
-
- <rdar://problem/10702986>
-
- Reviewed by John Sullivan.
-
- * Misc/WebNSURLExtras.mm: (+[NSURL _web_URLWithData:relativeToURL:]): It's OK to have a
- path when there is a base URL.
-
-2012-01-16 Jon Lee <jonlee@apple.com>
-
- Build fix for r105086.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2012-01-12 Alexey Proskuryakov <ap@apple.com>
-
- A warning is logged to console when typing a bare "/" in Safari address bar
- https://bugs.webkit.org/show_bug.cgi?id=76236
-
- Reviewed by John Sullivan.
-
- * Misc/WebNSURLExtras.mm: (+[NSURL _web_URLWithData:relativeToURL:]): Bail out early for paths.
-
-2012-01-16 Pablo Flouret <pablof@motorola.com>
-
- Fix compilation errors on build-webkit --debug --no-svg --no-svg-fonts --no-svg-dom-objc-bindings on mac.
- https://bugs.webkit.org/show_bug.cgi?id=75865
-
- Reviewed by Hajime Morita.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _pauseSVGAnimation:onSMILNode:atTime:]):
-
-2012-01-15 Pablo Flouret <pablof@motorola.com>
-
- Fix compilation errors on build-webkit --debug --no-video on mac.
- https://bugs.webkit.org/show_bug.cgi?id=75867
-
- Reviewed by Philippe Normand.
-
- - WebChromeClient::fullScreenRendererChanged() declaration wrongly guarded
- by VIDEO feature instead of FULLSCREEN_API.
- - _isAnyMoviePlaying implementation depends on VIDEO.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController _isAnyMoviePlaying]):
-
-2012-01-11 Beth Dakin <bdakin@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=75904
- WebKit 1: Scrollbar uiStateTransitionProgress requires tracking the mouse all
- the time
- -and corresponding-
- <rdar://problem/10498816>
-
- Reviewed by Darin Adler.
-
- New ivar trackingAreaForNonKeyWindow stores our NSTrackingArea whenever we
- have one.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLViewPrivate dealloc]):
- (-[WebHTMLViewPrivate clear]):
-
- When we know that mouse movements won't affect anything other than
- scrollbars, call our new function passMouseMovedEventToScrollbars(),
- otherwise we'll call the old mouseMoved().
- (mouseEventIsPartOfClickOrDrag):
- (-[WebHTMLView _updateMouseoverWithEvent:]):
-
- Make sure not to remove the mouse observer when there are legacy scrollbars.
- (-[WebHTMLView removeMouseMovedObserver]):
-
- Set up a tracking area when the window is not key to ensure that the WebView
- gets the relevant events. Remove it when the window is key again so that we
- rely on the existing mechanism.
- (-[WebHTMLView windowDidBecomeKey:]):
- (-[WebHTMLView windowDidResignKey:]):
-
-2012-01-10 Dan Bernstein <mitz@apple.com>
-
- Made -[WebHistoryItem copyWithZone:] allocate an object of the same class as the receiver.
-
- Reviewed by Mark Rowe.
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem copyWithZone:]):
-
-2012-01-10 Chris Marrin <cmarrin@apple.com>
-
- Wrapped allowedCompositingTriggers in ACCELERATED_COMPOSITING ifdef to make non-accelerated builds work
-
- Unreviewed.
-
- * WebCoreSupport/WebChromeClient.h:
-
-2012-01-10 Chris Marrin <cmarrin@apple.com>
-
- Turn off the FilterTrigger in WebKit and WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=75914
-
- Reviewed by Simon Fraser.
-
- Implement allowedCompositingTriggers to turn on all compositing triggers except FilterTrigger.
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::allowedCompositingTriggers):
-
-2012-01-10 Dan Bernstein <mitz@apple.com>
-
- Change -[WebHistoryItem copyWithZone:] to not use NSCopyObject()
- https://bugs.webkit.org/show_bug.cgi?id=75980
-
- Reviewed by Mark Rowe.
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem copyWithZone:]): Replaced NSCopyObject() with
- -alloc, -initWithWebCoreHistoryItem:.
-
-2012-01-06 Simon Fraser <simon.fraser@apple.com>
-
- Mitigate scrollbar differences when running pixel tests
- https://bugs.webkit.org/show_bug.cgi?id=67217
-
- Reviewed by Dan Bernstein.
-
- Make it possible to register a custom NSScroller class, which
- the WebDynamicScrollBarsView will use when mock scrollbars are enabled.
-
- Also ensure that the WebPreferences mock scrollbars preference is
- migrated into Settings.
-
- * WebView/WebDynamicScrollBarsView.h:
- * WebView/WebDynamicScrollBarsView.mm:
- (+[WebDynamicScrollBarsView _horizontalScrollerClass]):
- (+[WebDynamicScrollBarsView _verticalScrollerClass]):
- (+[WebDynamicScrollBarsView setCustomScrollerClass:]):
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2012-01-05 Dan Bernstein <mitz@apple.com>
-
- <rdar://problem/10633760> Update copyright strings
-
- Reviewed by Mark Rowe.
-
- * Info.plist:
-
-2012-01-05 Pratik Solanki <psolanki@apple.com>
-
- WebFrameLoaderClient::userAgent does unnecessary NSString/NSURL conversions
- https://bugs.webkit.org/show_bug.cgi?id=75586
-
- Reviewed by Alexey Proskuryakov.
-
- We do unnecessary KURL->NSURL* and String<->NSString* when calling [WebView
- userAgentForURL:] from WebFrameLoaderClient::userAgent. Instead we add a separate function,
- _userAgentString that returns a WTF::String to make this call faster.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::userAgent):
- * WebView/WebView.mm:
- (-[WebView _userAgentString]):
- (-[WebView userAgentForURL:]):
- * WebView/WebViewInternal.h:
-
-2012-01-04 Anders Carlsson <andersca@apple.com>
-
- Ambiguous if-then-else in Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm
- https://bugs.webkit.org/show_bug.cgi?id=75447
-
- Reviewed by Brian Weinstein.
-
- Resolve the ambiguity.
-
- * Misc/WebNSPasteboardExtras.mm:
- (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:source:]):
-
-2012-01-04 Mihnea Ovidenie <mihnea@adobe.com>
-
- [Mac]Fix build after changeset 103997
- https://bugs.webkit.org/show_bug.cgi?id=75530
-
- Reviewed by Andreas Kling.
-
- * WebView/WebFrame.mm:
- * WebView/WebHTMLView.mm:
- * WebView/WebPDFView.mm:
- * WebView/WebView.mm:
-
-2012-01-03 Jon Lee <jonlee@apple.com>
-
- Leak of WebNotificationClient when page is destroyed
- https://bugs.webkit.org/show_bug.cgi?id=74980
- <rdar://problem/10611231>
-
- Reviewed by Mark Rowe.
-
- * WebCoreSupport/WebNotificationClient.h:
- * WebCoreSupport/WebNotificationClient.mm:
- (WebNotificationClient::notificationControllerDestroyed): Remove the instance.
-
-2012-01-02 Dan Bernstein <mitz@apple.com>
-
- [mac] Remove -[WebView setHoverFeedbackSuspended:]
- https://bugs.webkit.org/show_bug.cgi?id=75406
-
- Reviewed by Tim Hatcher.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _updateMouseoverWithEvent:]): Removed check for suspended hover updates.
- * WebView/WebHTMLViewInternal.h: Removed -_hoverFeedbackSuspendedChanged.
- * WebView/WebView.mm:
- (-[WebView setHoverFeedbackSuspended:]): Left empty implementation to support versions of
- Safari that call this.
- (-[WebView isHoverFeedbackSuspended]): Left implementation that always returns NO to support
- versions of Safari that call this.
- * WebView/WebViewData.h: Removed hoverFeedbackSuspended ivar.
- * WebView/WebViewPrivate.h: Removed method definitions.
-
-2011-12-31 Dan Bernstein <mitz@apple.com>
-
- WebKit/mac changes for: REGRESSION (WebKit2): Cursor, hover states not updated when page scrolls under stationary mouse pointer
- https://bugs.webkit.org/show_bug.cgi?id=75405
-
- Reviewed by Anders Carlsson.
-
- Removed the WebKit/mac mechanism for dispatching fake mouse moved events
- when an HTML frame scrolls, since FrameView now does this.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLViewPrivate dealloc]): Removed an assertion about a removed ivar.
- (-[WebHTMLView _updateMouseoverWithFakeEvent]): Removed call to
- -_cancelUpdateMouseoverTimer.
- (-[WebHTMLView _frameOrBoundsChanged]): Removed code to schedule a timer
- for dispatching a mouse moved event on scroll.
- (-[WebHTMLView close]): Removed call to _cancelUpdateMouseoverTimer.
- (-[WebHTMLView viewWillMoveToWindow:]): Ditto.
- (-[WebHTMLView mouseDown:]): Ditto.
-
-2011-12-23 Ryosuke Niwa <rniwa@webkit.org>
-
- Chromium Mac build fix.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-12-21 Sam Weinig <sam@webkit.org>
-
- Start extracting platform specific bits out of PlatformEvents
- https://bugs.webkit.org/show_bug.cgi?id=75063
-
- Reviewed by Anders Carlsson.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- * WebView/WebFrame.mm:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView menuForEvent:]):
- (-[WebHTMLView acceptsFirstMouse:]):
- (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
- (currentKeyboardEvent):
- (-[WebHTMLView flagsChanged:]):
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
- * WebView/WebView.mm:
-
-2011-12-21 Timothy Hatcher <timothy@apple.com>
-
- Web Inspector: suppress incremental rendering and use application chrome mode
-
- https://webkit.org/b/75026
-
- Reviewed by Joseph Pecoraro.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController init]): Sort the preferences, remove the Leopard font family setting,
- set suppress incremental rendering and use application chrome mode.
-
-2011-12-20 Pavel Feldman <pavel.feldman@gmail.com>
-
- Web Inspector: reproducible crash after closing web inspector and browser window (iCab)
- https://bugs.webkit.org/show_bug.cgi?id=74255
-
- Reviewed by Yury Semikhatsky.
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::bringFrontendToFront):
- (-[WebInspectorWindowController destroyInspectorView:]):
-
-2011-12-19 Eric Carlson <eric.carlson@apple.com>
-
- Enable <track> for Mac build
- https://bugs.webkit.org/show_bug.cgi?id=74838
-
- Reviewed by Darin Adler.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-12-16 Ryosuke Niwa <rniwa@webkit.org>
-
- Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
- https://bugs.webkit.org/show_bug.cgi?id=74748
-
- Reviewed by Eric Seidel.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::registerUndoOrRedoStep):
- (WebEditorClient::registerUndoStep):
- (WebEditorClient::registerRedoStep):
-
-2011-12-16 Sam Weinig <sam@webkit.org>
-
- Give PlatformEvents a base class
- https://bugs.webkit.org/show_bug.cgi?id=74685
-
- Reviewed by Anders Carlsson.
-
- Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent
- and PlatformGestureEvent and move Type enumeration and modifiers down to it.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _dragSourceEndedAt:operation:]):
- * WebView/WebHTMLView.mm:
- (currentKeyboardEvent):
- (-[WebHTMLView _interpretKeyEvent:savingCommands:]):
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
-
-2011-12-16 Simon Fraser <simon.fraser@apple.com>
-
- Fix a #elsif fumble in my earlier commit.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView attachRootLayer:]):
-
-2011-12-16 Ryosuke Niwa <rniwa@webkit.org>
-
- Only EditCommandComposition should implement unapply and reapply
- https://bugs.webkit.org/show_bug.cgi?id=74490
-
- Reviewed by Eric Seidel.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (-[WebUndoStep initWithUndoStep:]):
- (-[WebUndoStep dealloc]):
- (+[WebUndoStep stepWithUndoStep:]):
- (-[WebUndoStep step]):
- (-[WebEditorUndoTarget undoEditing:]):
- (-[WebEditorUndoTarget redoEditing:]):
- (WebEditorClient::registerCommandForUndoOrRedo):
- (WebEditorClient::registerCommandForUndo):
- (WebEditorClient::registerCommandForRedo):
-
-2011-12-16 Simon Fraser <simon.fraser@apple.com>
-
- <rdar://problem/10589427> Avoid calling -setGeometryFlipped ourselves on the layer hosting view's layer
-
- Reviewed by Sam Weinig.
-
- Now that we're using a flipped view to host the compositing layers,
- we should not set geometryFlipped on the root layer ourselves.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView attachRootLayer:]):
-
-2011-12-16 Mark Hahnenberg <mhahnenberg@apple.com>
-
- De-virtualize destructors
- https://bugs.webkit.org/show_bug.cgi?id=74331
-
- Reviewed by Geoffrey Garen.
-
- * Plugins/Hosted/ProxyRuntimeObject.h: Remove empty virtual destructor.
- * Plugins/Hosted/ProxyRuntimeObject.mm:
-
-2011-12-14 Ryosuke Niwa <rniwa@webkit.org>
-
- Mac build fix after r102874.
-
- * WebCoreSupport/WebChromeClient.mm:
-
-2011-12-14 Jing Zhao <jingzhao@chromium.org>
-
- Opening two popup menus by dispatchEvent() makes problems.
- https://bugs.webkit.org/show_bug.cgi?id=73304
-
- Reviewed by Kent Tamura.
-
- * WebCoreSupport/WebChromeClient.h: Overrides hasOpenedPopup().
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::hasOpenedPopup): Not implemented.
-
-2011-12-14 Michael Saboff <msaboff@apple.com>
-
- Mac WebScriptDebugger crashes beneath sourceParsed()
- https://bugs.webkit.org/show_bug.cgi?id=74564
-
- Reviewed by Gavin Barraclough.
-
- * WebView/WebScriptDebugger.mm:
- (toNSString): Change to use ->characters() method to
- actually get characters for string conversion.
-
-2011-12-14 Hajime Morrita <morrita@chromium.org>
-
- JS_INLINE and WTF_INLINE should be visible from WebCore
- https://bugs.webkit.org/show_bug.cgi?id=73191
-
- Reviewed by Kevin Ollivier.
-
- Removed macro definitions which is now provided by Platform.h
-
- * WebKitPrefix.h:
-
-2011-12-13 Jon Lee <jonlee@apple.com>
-
- Enable notifications on Mac.
-
- Reviewed by Sam Weinig.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-12-12 Ryosuke Niwa <rniwa@webkit.org>
-
- WebKit code shouldn't be calling applyCommand directly
- https://bugs.webkit.org/show_bug.cgi?id=74337
-
- Reviewed by Darin Adler.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
-
-2011-12-12 Brady Eidson <beidson@apple.com>
-
- Page cache should support pages with plugins.
- <rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634
-
- Expose a WebKit preference for the page cache supporting plugins (on by default).
-
- Reviewed by Anders Carlsson.
-
- * WebView/WebPreferenceKeysPrivate.h:
-
- * WebView/WebPreferences.mm:
- (-[WebPreferences pageCacheSupportsPlugins]):
- (-[WebPreferences setPageCacheSupportsPlugins:]):
- * WebView/WebPreferencesPrivate.h:
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2011-12-12 Dan Bernstein <mitz@apple.com>
-
- <rdar://problem/10328474> Text highlight changes to gray selection color when menu extra is shown
-
- Reviewed by John Sullivan.
-
- * WebView/WebView.mm:
- (-[WebView _updateActiveState]): Changed to use -[NSWindow _hasKeyAppearance] instead
- of -isKeyWindow. The former also returns YES when a menu extra is open.
- (-[WebView addWindowObserversForWindow:]): Removed code to observe
- NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification.
- (-[WebView removeWindowObservers]): Removed code to stop observing the above.
- (-[WebView _windowChangedKeyState]): Overridden this to call _updateActiveState.
- This is called when the result of -_hasKeyAppearance changes.
- (-[WebView _windowWillOrderOnScreen:]): Removed call to _updateActiveState,
- previously needed for popovers, because _windowChangedKeyState is invoked
- at the right time for them.
- (-[WebView _windowWillOrderOffScreen:]): Ditto.
-
-2011-12-07 Mark Rowe <mrowe@apple.com>
-
- Fix the 32-bit build.
-
- Ignore some warnings that only occur in 32-bit.
-
- * Plugins/WebNetscapePluginPackage.mm:
-
-2011-12-07 Mary Wu <mary.wu@torchmobile.com.cn>
-
- Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline
- https://bugs.webkit.org/show_bug.cgi?id=73986
-
- Reviewed by Kenneth Rohde Christiansen.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2011-12-06 Alexey Proskuryakov <ap@apple.com>
-
- REGRESSION (WebKit2): Kill ring is not cleared when selection changes
- https://bugs.webkit.org/show_bug.cgi?id=73888
- <rdar://problem/10532310>
-
- Reviewed by Mark Rowe.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView becomeFirstResponder]): Added a FIXME comment.
- (-[WebHTMLView _selectionChanged]): Moved the code to clear kill ring to WebCore. The rest
- of kill ring implementation is there, so it makes no sense to have this call in WebKits.
-
-2011-12-05 Anders Carlsson <andersca@apple.com>
-
- Make LayerFlushSchedulerClient::flushLayers indicate whether the flush was successful or not
- https://bugs.webkit.org/show_bug.cgi?id=73862
-
- Reviewed by Andy Estes.
-
- Remove the call to LayerFlushScheduler::invalidate and return true instead. Return false for the cases
- where we don't want the layer flush scheduler to be invalidated.
-
- * WebView/WebView.mm:
- (LayerFlushController::flushLayers):
- * WebView/WebViewData.h:
-
-2011-12-05 Eric Carlson <eric.carlson@apple.com>
-
- Add WebKit preferences for text track settings
- https://bugs.webkit.org/show_bug.cgi?id=73721
-
- Reviewed by John Sullivan.
-
- * WebView/WebPreferenceKeysPrivate.h: Added #define for shouldDisplaySubtitles, shouldDisplayCaptions,
- and shouldDisplayTextDescriptions properties.
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Initialize new preferences to NO.
- (-[WebPreferences setShouldDisplaySubtitles:]): Added.
- (-[WebPreferences shouldDisplaySubtitles]): Ditto.
- (-[WebPreferences setShouldDisplayCaptions:]): Ditto.
- (-[WebPreferences shouldDisplayCaptions]): Ditto.
- (-[WebPreferences setShouldDisplayTextDescriptions:]): Ditto.
- (-[WebPreferences shouldDisplayTextDescriptions]): Ditto.
- * WebView/WebPreferencesPrivate.h:
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]): Updates WebCore settings from WebKit prefs.
-
-2011-12-03 Dan Bernstein <mitz@apple.com>
-
- <rdar://problem/10523721> Crash at WebCore::SubresourceLoader::releaseResources
- Reviewed by Darin Adler.
-
- * WebView/WebView.mm:
- (-[WebView _removeObjectForIdentifier:]): Changed the CFRelease(self) into
- a WebCFAutorelease(self). This prevents re-entry into this method due to
- the WebView closing and canceling all subresource loads, including the
- one we have just removed.
-
-2011-12-02 David Levin <levin@chromium.org>
-
- Rename WTF class from TemporarilyChange to TemporaryChange.
- https://bugs.webkit.org/show_bug.cgi?id=73479
-
- Reviewed by Eric Seidel.
-
- * ForwardingHeaders/wtf/TemporarilyChange.h: Removed.
- * ForwardingHeaders/wtf/TemporaryChange.h: Added.
-
-2011-12-02 Simon Fraser <simon.fraser@apple.com>
-
- <rdar://problem/10423627> Layers are flipped in WebKit1 views
-
- Reviewed by Sam Weinig.
-
- Host the compositing layers in an NSView which is flipped, which helps AppKit
- get the geometry right in some situations.
-
- * WebView/WebHTMLView.mm:
- (-[WebLayerHostingFlippedView isFlipped]):
- (-[WebHTMLView attachRootLayer:]):
-
-2011-12-02 Hajime Morrita <morrita@chromium.org>
-
- Unreviewed, rolling out r101751 and r101775.
- http://trac.webkit.org/changeset/101751
- http://trac.webkit.org/changeset/101775
- https://bugs.webkit.org/show_bug.cgi?id=73191
-
- breaks Windows build
-
- * WebKitPrefix.h:
-
-2011-12-01 Hajime Morrita <morrita@chromium.org>
-
- JS_INLINE and WTF_INLINE should be visible from WebCore
- https://bugs.webkit.org/show_bug.cgi?id=73191
-
- Reviewed by Kevin Ollivier.
-
- Removed macro definitions which is now provided by Platform.h
-
- * WebKitPrefix.h:
-
-2011-11-30 Alexey Proskuryakov <ap@apple.com>
-
- Remove an unneeded argument from FrameLoaderClient::download
- https://bugs.webkit.org/show_bug.cgi?id=73486
-
- Reviewed by Andreas Kling.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::download):
- Updated for the change.
-
-2011-11-30 Dan Bernstein <mitz@apple.com>
-
- WebKit/mac part of: Allow the length of a page along the pagination axis to differ from the length of the view
- https://bugs.webkit.org/show_bug.cgi?id=73476
-
- Reviewed by Anders Carlsson.
-
- * WebView/WebView.mm:
- (-[WebView _setPageLength:]): Added this accessor.
- (-[WebView _pageLength]): Ditto.
- * WebView/WebViewPrivate.h:
-
-2011-11-30 Alexey Proskuryakov <ap@apple.com>
-
- Download page URL should be set by WebCore
- https://bugs.webkit.org/show_bug.cgi?id=73358
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebFrameLoaderClient.h: Removed setOriginalURLForDownload, which is now
- in WebCore.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::download): There is no need to set original URL post factum any more.
- (WebFrameLoaderClient::startDownload): Ditto.
-
-2011-11-29 David Levin <levin@chromium.org>
-
- Add a way to revert a variable to its previous value after leaving a scope.
- https://bugs.webkit.org/show_bug.cgi?id=73371
-
- Reviewed by Adam Barth.
-
- * ForwardingHeaders/wtf/TemporarilyChange.h: Added.
-
-2011-11-29 Jessie Berlin <jberlin@apple.com>
-
- WKKeyValueStorageManagerGetKeyValueStorageOrigins may not report the correct list of origins
- the first time it is called.
- https://bugs.webkit.org/show_bug.cgi?id=73374 (<rdar://problem/10196057>)
-
- Reviewed by Brady Eidson.
-
- * Storage/WebStorageTrackerClient.h:
- * Storage/WebStorageTrackerClient.mm:
- (WebStorageTrackerClient::didFinishLoadingOrigins):
-
-2011-11-15 Anders Carlsson <andersca@apple.com>
-
- DragClient::dragSourceActionMaskForPoint should use root view coordinates
- https://bugs.webkit.org/show_bug.cgi?id=72409
-
- Reviewed by Sam Weinig.
-
- * WebCoreSupport/WebDragClient.mm:
- (WebDragClient::dragSourceActionMaskForPoint):
- Use -[WebView _convertPointFromRootView:] to convert the point to the web view coordinate system.
-
-2011-11-15 Anders Carlsson <andersca@apple.com>
-
- EditorClient::showCorrectionPanel should pass the string bounding box in root view coordinates
- https://bugs.webkit.org/show_bug.cgi?id=72408
-
- Reviewed by Sam Weinig.
-
- * WebCoreSupport/CorrectionPanel.mm:
- (CorrectionPanel::show):
- Convert the bounding rect to web view coordinates.
-
- * WebView/WebView.mm:
- (-[WebView _convertPointFromRootView:]):
- (-[WebView _convertRectFromRootView:]):
- * WebView/WebViewInternal.h:
- Add helper methods for converting from root view coordinates to web view coordinates.
-
-2011-11-29 Roland Steiner <rolandsteiner@chromium.org>
-
- <style scoped>: add ENABLE(STYLE_SCOPED) flag to WebKit
- https://bugs.webkit.org/show_bug.cgi?id=72848
-
- Reviewed by Dimitri Glazkov.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-11-28 Jon Lee <jonlee@apple.com>
-
- Create skeleton framework for notifications support in WK2
- https://bugs.webkit.org/show_bug.cgi?id=73253
- <rdar://problem/10356943>
-
- Reviewed by Sam Weinig.
-
- * Configurations/FeatureDefines.xcconfig: Split out ENABLE_NOTIFICATIONS based on platform.
-
- * WebCoreSupport/WebNotificationClient.h: Added.
- (WebNotificationClient::webView):
- * WebCoreSupport/WebNotificationClient.mm: Added. Implemented as stubs for now.
- (WebNotificationClient::WebNotificationClient):
- (WebNotificationClient::show):
- (WebNotificationClient::cancel):
- (WebNotificationClient::notificationObjectDestroyed):
- (WebNotificationClient::requestPermission):
- (WebNotificationClient::cancelRequestsForPermission):
- (WebNotificationClient::checkPermission):
- * WebView/WebView.mm: Set PageClient's notification client to an instance of this stubbed class.
-
-2011-11-28 Adam Roben <aroben@apple.com>
-
- Properly retain the OS X version string
-
- Fixes <http://webkit.org/b/73214> REGRESSION (r101215): Crash on launch beneath +[WebView
- _standardUserAgentWithApplicationName:]
-
- Reviewed by Antti Koivisto.
-
- * WebView/WebView.mm:
- (createMacOSXVersionString): Retain the string we're returning, since this function is
- supposed to return an owning reference to the caller.
-
-2011-11-28 Hayato Ito <hayato@chromium.org>
-
- Fix chromium canary build after r101215.
- Unreviewed. Build fix.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-11-27 Mark Rowe <mrowe@apple.com>
-
- <http://webkit.org/b/72665> Switch to a more modern approach to retrieving the OS marketing version
-
- Reviewed by Dan Bernstein.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Set up wkGetMacOSXVersionString.
- * WebView/WebView.mm:
- (createMacOSXVersionString): Use WKGetMacOSXVersionString.
-
-2011-11-26 Pavel Feldman <pfeldman@google.com>
-
- Web Inspector: remove disconnectFromBackend from the protocol.
- https://bugs.webkit.org/show_bug.cgi?id=73127
-
- Reviewed by Yury Semikhatsky.
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::inspectorDestroyed):
- (WebInspectorClient::closeInspectorFrontend):
-
-2011-11-26 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r101193.
- http://trac.webkit.org/changeset/101193
- https://bugs.webkit.org/show_bug.cgi?id=73158
-
- Breaks Windows and Qt minimal. (Requested by pfeldman on
- #webkit).
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::inspectorDestroyed):
-
-2011-11-26 Pavel Feldman <pfeldman@google.com>
-
- Web Inspector: remove disconnectFromBackend from the protocol.
- https://bugs.webkit.org/show_bug.cgi?id=73127
-
- Reviewed by Yury Semikhatsky.
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::inspectorDestroyed):
- (WebInspectorClient::closeInspectorFrontend):
-
-2011-11-22 Pavel Feldman <pfeldman@google.com>
-
- Web Inspector: remove Inspector::bringToFront from the protocol.
- https://bugs.webkit.org/show_bug.cgi?id=72937
-
- Reviewed by Yury Semikhatsky.
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::openInspectorFrontend):
- (WebInspectorClient::bringFrontendToFront):
-
-2011-11-21 Mark Rowe <mrowe@apple.com>
-
- Fix the SnowLeopard build.
-
- * Misc/WebNSFileManagerExtras.mm: Forward-declare DADiskCreateFromVolumePath on SnowLeopard as it was
- not yet declared in a public header.
-
-2011-11-20 Mark Rowe <mrowe@apple.com>
-
- <http://webkit.org/b/72661> Switch to a more modern approach to retrieving the startup volume name
-
- Use the DiskArbitration framework to retrieve the name of the startup volume rather than using Carbon
- File Manager APIs.
-
- Reviewed by Dan Bernstein.
-
- * Misc/WebNSFileManagerExtras.mm:
- (-[NSFileManager _webkit_startupVolumeName]): Retrieve a DADiskRef for the startup volume and copy
- the volume name from its description dictionary.
-
-2011-06-20 Pavel Feldman <pfeldman@chromium.org>
-
- Web Inspector: introduce InspectorFrontendAPI for actions initiated from the application menu.
- https://bugs.webkit.org/show_bug.cgi?id=62985
-
- Both: inspector protocol and WebCore/InspectorController have a number of unnecessary
- methods for plumbing the menu action handlers through the WebKit and WebCore.
- I intend to remove this menu support from the protocol and WebCore/InspectorController API.
- I am starting with exposing the new front-end API in the WebCore and using it in the WebKit/mac port.
- WebKit/win and WebKit2 to follow.
-
- Reviewed by Yury Semikhatsky.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController destroyInspectorView:]):
- * WebInspector/WebInspector.mm:
- (-[WebInspector showWindow]):
- (-[WebInspector show:]):
- (-[WebInspector showConsole:]):
- (-[WebInspector isDebuggingJavaScript]):
- (-[WebInspector toggleDebuggingJavaScript:]):
- (-[WebInspector startDebuggingJavaScript:]):
- (-[WebInspector stopDebuggingJavaScript:]):
- (-[WebInspector isProfilingJavaScript]):
- (-[WebInspector toggleProfilingJavaScript:]):
- (-[WebInspector startProfilingJavaScript:]):
- (-[WebInspector stopProfilingJavaScript:]):
- (-[WebInspector isJavaScriptProfilingEnabled]):
- (-[WebInspector setJavaScriptProfilingEnabled:]):
- (-[WebInspector isTimelineProfilingEnabled]):
- (-[WebInspector setTimelineProfilingEnabled:]):
- (-[WebInspector setFrontend:]):
- (-[WebInspector releaseFrontend]):
- (-[WebInspector showWindow:]):
- * WebInspector/WebInspectorFrontend.h:
- * WebInspector/WebInspectorFrontend.mm:
- (-[WebInspectorFrontend isDebuggingEnabled]):
- (-[WebInspectorFrontend setDebuggingEnabled:]):
- (-[WebInspectorFrontend isProfilingJavaScript]):
- (-[WebInspectorFrontend startProfilingJavaScript]):
- (-[WebInspectorFrontend stopProfilingJavaScript]):
- (-[WebInspectorFrontend isJavaScriptProfilingEnabled]):
- (-[WebInspectorFrontend setJavaScriptProfilingEnabled:]):
- (-[WebInspectorFrontend isTimelineProfilingEnabled]):
- (-[WebInspectorFrontend setTimelineProfilingEnabled:]):
- * WebInspector/WebInspectorPrivate.h:
-
-2011-11-21 Jochen Eisinger <jochen@chromium.org>
-
- Implement Meta referrer
- https://bugs.webkit.org/show_bug.cgi?id=72674
-
- Reviewed by Adam Barth.
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
- * Plugins/WebNetscapePluginStream.mm:
- (WebNetscapePluginStream::WebNetscapePluginStream):
-
-2011-10-17 Antonio Gomes <agomes@rim.com>
-
- Pass a Frame* parameter in EditorClient::respondToChangedSelection
- https://bugs.webkit.org/show_bug.cgi?id=70248
-
- Reviewed by Ryosuke Niwa.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm: Make use of the newly added Frame* parameter.
- (WebEditorClient::respondToChangedSelection):
-
-2011-11-17 Mark Rowe <mrowe@apple.com>
-
- <http://webkit.org/b/72646> Disable deprecation warnings around code where we cannot easily
- switch away from the deprecated APIs.
-
- Reviewed by Sam Weinig.
-
- * Plugins/WebBasePluginPackage.mm:
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage _tryLoad]):
-
-2011-11-18 Anton D'Auria <adauria@apple.com>
-
- bool WebChromeClient::shouldInterruptJavaScript casts pointer to bool and always returns true
- https://bugs.webkit.org/show_bug.cgi?id=72568
-
- Reviewed by David Kilzer.
-
- WebChromeClient::shouldInterruptJavaScript called CallUIDelegate, which used an id
- as the return value, which was then cast to a bool and always returned true. This
- patch uses CallUIDelegateReturningBoolean instead of CallUIDelegate, with the default
- return value of NO.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::shouldInterruptJavaScript):
-
-2011-11-16 Dan Bernstein <mitz@apple.com>
-
- WebKit/mac part of <rdar://problem/10262242> Add API for paginated display
- https://bugs.webkit.org/show_bug.cgi?id=72537
-
- Reviewed by Anders Carlsson.
-
- * WebView/WebView.mm:
- (-[WebView _setPaginationMode:]): Added this accessor.
- (-[WebView _paginationMode]): Ditto.
- (-[WebView _setGapBetweenPages:]): Ditto.
- (-[WebView _gapBetweenPages]): Ditto.
- (-[WebView _pageCount]): Ditto.
- * WebView/WebViewPrivate.h: Defined WebPaginationMode enum and values.
-
-2011-11-15 Andy Estes <aestes@apple.com>
-
- Consolidate the logic that creates run loop observers for flushing layer tree changes to CoreAnimation
- https://bugs.webkit.org/show_bug.cgi?id=72106
-
- Reviewed by Anders Carlsson.
-
- Remove code that schedules layer flushes and use LayerFlushScheduler instead.
-
- * WebView/WebView.mm:
- (-[WebView _close]): Invalidate the run loop observer and destroy the
- LayerFlushController.
- (LayerFlushController::flushLayers): Perform the work that
- layerSyncRunLoopObserverCallBack used to do.
- (-[WebView _scheduleCompositingLayerSync]): If layerFlushController has
- yet to be created, create it, then schedule a layer flush.
- * WebView/WebViewData.h:
- (LayerFlushController::create): Create a LayerFlushController that
- implements the LayerFlushSchedulerClient interface and contains a
- LayerFlushScheduler with itself as the client.
- * WebView/WebViewData.mm:
- (LayerFlushController::scheduleLayerFlush):
- (LayerFlushController::invalidateObserver):
- (LayerFlushController::LayerFlushController):
-
-2011-11-15 Jochen Eisinger <jochen@chromium.org>
-
- Rename ReferrerPolicy to clarify its meaning
- https://bugs.webkit.org/show_bug.cgi?id=72420
-
- Reviewed by Nate Chapin.
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
-
-2011-11-15 Anders Carlsson <andersca@apple.com>
-
- HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen
- https://bugs.webkit.org/show_bug.cgi?id=72397
-
- Reviewed by Dan Bernstein.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::screenToRootView):
- (WebChromeClient::rootViewToScreen):
-
-2011-11-14 Anders Carlsson <andersca@apple.com>
-
- HostWindow invalidation functions should use root view coordinates
- https://bugs.webkit.org/show_bug.cgi?id=72338
-
- Reviewed by Dan Bernstein.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::invalidateRootView):
- (WebChromeClient::invalidateContentsAndRootView):
- (WebChromeClient::invalidateContentsForSlowScroll):
-
-2011-11-14 Julien Chaffraix <jchaffraix@webkit.org>
-
- Add --css-grid-layout to build-webkit and the build systems
- https://bugs.webkit.org/show_bug.cgi?id=72320
-
- Reviewed by Ojan Vafai.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-11-14 Tony Chang <tony@chromium.org>
-
- Remove the CSS3_FLEXBOX compile time flag and enable on all ports
- https://bugs.webkit.org/show_bug.cgi?id=72196
-
- Reviewed by Ojan Vafai.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-11-07 Adam Barth <abarth@webkit.org>
-
- Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
- https://bugs.webkit.org/show_bug.cgi?id=71755
-
- Reviewed by Eric Seidel.
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
- * Plugins/WebNetscapePluginStream.mm:
- (WebNetscapePluginStream::WebNetscapePluginStream):
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- (+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
- (+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
- (+[WebView _resetOriginAccessWhitelists]):
-
-2011-11-08 Joseph Pecoraro <pecoraro@apple.com>
-
- Move NSRange / DOMRange functions back to WebFrameInternal
- https://bugs.webkit.org/show_bug.cgi?id=71844
-
- Reviewed by Alexey Proskuryakov.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _convertNSRangeToDOMRange:]):
- (-[WebFrame _convertDOMRangeToNSRange:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFramePrivate.h:
-
-2011-11-08 Michael Saboff <msaboff@apple.com>
-
- Towards 8 Bit Strings: Templatize JSC::Parser class by Lexer type
- https://bugs.webkit.org/show_bug.cgi?id=71761
-
- Changed WKPCEvaluate() to use emptyString() when the source is
- zero length.
-
- Reviewed by Gavin Barraclough.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCEvaluate):
-
-2011-11-08 Beth Dakin <bdakin@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=71856
- WebKit should use new NSWindowDidChangeBackingPropertiesNotification instead of
- old NSWindowDidChangeResolutionNotification
- -and corresponding-
- <rdar://problem/10317253>
-
- Reviewed by Tim Hatcher.
-
- * WebView/WebView.mm:
- (-[WebView addWindowObserversForWindow:]):
- (-[WebView removeWindowObservers]):
-
- We have to check that the backing scale factor actually changed since this
- notification can also be used to signify other changes.
- (-[WebView _windowDidChangeBackingProperties:]):
-
-2011-11-07 Adam Barth <abarth@webkit.org>
-
- Move DomainRelaxationForbidden scheme registry to SchemeRegistry
- https://bugs.webkit.org/show_bug.cgi?id=71750
-
- Reviewed by Eric Seidel.
-
- * WebView/WebView.mm:
- (+[WebView _setDomainRelaxationForbidden:forURLScheme:]):
-
-2011-11-07 Jessie Berlin <jberlin@apple.com>
-
- Need a way to allow a scheme access to Local Storage and Databases while Private Browsing is
- enabled.
- https://bugs.webkit.org/show_bug.cgi?id=71631
-
- Reviewed by Jon Honeycutt.
-
- Add WebKit1 API to register a scheme as ignoring Private Browsing for Local Storage and
- Databases.
-
- * WebView/WebView.mm:
- (+[WebView _registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing:]):
- Call through to the SchemeRegistry function.
- (+[WebView _registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing:]):
- Ditto.
- * WebView/WebViewPrivate.h:
-
-2011-11-03 Mark Hahnenberg <mhahnenberg@apple.com>
-
- De-virtualize JSObject::getPropertyNames
- https://bugs.webkit.org/show_bug.cgi?id=71306
-
- Reviewed by Darin Adler.
-
- Added getPropertyNames to the MethodTable, changed all the virtual
- implementations of getPropertyNames to static ones, and replaced
- all call sites with corresponding lookups in the MethodTable.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::enumerate):
-
-2011-11-02 Darin Adler <darin@apple.com>
-
- Change remaining callers of releaseRef to call leakRef
- https://bugs.webkit.org/show_bug.cgi?id=71422
-
- Reviewed by Darin Fisher.
-
- * History/WebBackForwardList.mm:
- (-[WebBackForwardList initWithBackForwardList:]):
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem copyWithZone:]):
- (-[WebHistoryItem initWithWebCoreHistoryItem:]):
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView createPlugin]):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView createPlugin]):
- * WebCoreSupport/WebOpenPanelResultListener.mm:
- * WebView/WebDataSource.mm:
- (-[WebDataSource _initWithDocumentLoader:]):
- * WebView/WebResource.mm:
- (-[WebResourcePrivate initWithCoreResource:]):
- Use leakRef.
-
-2011-11-02 Joseph Pecoraro <pecoraro@apple.com>
-
- Move NSRange / DOMRange conversion functions to WebFramePrivate
- https://bugs.webkit.org/show_bug.cgi?id=71435
-
- Reviewed by Sam Weinig.
-
- Move conversion functions to WebFramePrivate,
- and remove the no longer used versions.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _convertNSRangeToDOMRange:]):
- (-[WebFrame _convertDOMRangeToNSRange:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFramePrivate.h:
-
-2011-11-02 Dean Jackson <dino@apple.com>
-
- Add ENABLE_CSS_SHADERS flag
- https://bugs.webkit.org/show_bug.cgi?id=71394
-
- Reviewed by Sam Weinig.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-11-02 Jon Lee <jonlee@apple.com>
-
- Expand DragController to provide more information about the dragging session
- https://bugs.webkit.org/show_bug.cgi?id=71324
- <rdar://problem/10379175>
-
- Reviewed by Darin Adler.
-
- * WebView/WebView.mm:
- (-[WebView draggingEntered:]): DragOperation is now inside the DragSession struct.
- (-[WebView draggingUpdated:]):
-
-2011-11-02 Tom Sepez <tsepez@chromium.org>
-
- XSSAuditor is silent
- https://bugs.webkit.org/show_bug.cgi?id=70973
-
- Reviewed by Adam Barth.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::didRunInsecureContent):
- (WebFrameLoaderClient::didDetectXSS):
- * WebView/WebDelegateImplementationCaching.h:
- * WebView/WebFrameLoadDelegatePrivate.h:
- * WebView/WebView.mm:
- (-[WebView _cacheFrameLoadDelegateImplementations]):
-
-2011-11-01 Darin Adler <darin@apple.com>
-
- Crash in PDF code when script has illegal UTF-8 or UTF-16 sequences
- https://bugs.webkit.org/show_bug.cgi?id=71289
-
- Reviewed by Dan Bernstein.
-
- Just adding a null check. I don't have access to an actual PDF with
- this problem but crashes from the field indicate they exist.
-
- * WebView/WebPDFDocumentExtras.mm:
- (allScriptsInPDFDocument): Skip the code to add the script text
- to an array when the script is null.
-
-2011-10-28 John Sullivan <sullivan@apple.com>
-
- WebKit part of:
- https://bugs.webkit.org/show_bug.cgi?id=71142
- Whether backspace goes Back should be configurable
-
- Reviewed by Sam Weinig.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView keyDown:]):
- Honor the new preference.
-
- * WebView/WebPreferenceKeysPrivate.h:
- Added #define for WebKitBackspaceKeyNavigationEnabledKey
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- Initialize new pref to YES, to match current behavior.
- (-[WebPreferences setBackspaceKeyNavigationEnabled:]):
- New method, standard prefs setter.
- (-[WebPreferences backspaceKeyNavigationEnabled]):
- New method, standard prefs getter.
-
- * WebView/WebPreferencesPrivate.h:
- Declared new methods.
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
- Updates WebCore settings from WebKit prefs.
-
-2011-10-28 Jochen Eisinger <jochen@chromium.org>
-
- Rename a number of methods mentioning JavaScript to just Script instead
- https://bugs.webkit.org/show_bug.cgi?id=71105
-
- Reviewed by Adam Barth.
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2011-10-27 Joseph Pecoraro <pecoraro@apple.com>
-
- Reviewed by David Kilzer.
-
- Make FeatureDefines Identical Across OS X Projects
- https://bugs.webkit.org/show_bug.cgi?id=71051
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-10-27 Mark Hahnenberg <mhahnenberg@apple.com>
-
- De-virtualize JSCell::toThisObject
- https://bugs.webkit.org/show_bug.cgi?id=70958
-
- Reviewed by Geoffrey Garen.
-
- Converted all instances of toThisObject to static functions,
- added toThisObject to the MethodTable, and replaced all call sites
- with a corresponding lookup in the MethodTable.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
-
-2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Remove deletePropertyVirtual
- https://bugs.webkit.org/show_bug.cgi?id=70738
-
- Reviewed by Geoffrey Garen.
-
- Removed all declarations and definitions of deletePropertyVirtual.
- Also replaced all call sites to deletePropertyVirtual with a
- corresponding lookup in the MethodTable.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::removeProperty):
-
-2011-10-25 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Remove putVirtual
- https://bugs.webkit.org/show_bug.cgi?id=70740
-
- Reviewed by Geoffrey Garen.
-
- Removed all declarations and definitions of putVirtual.
- Also replaced all call sites to putVirtual with a
- corresponding lookup in the MethodTable.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::setProperty):
-
-2011-10-24 Geoffrey Garen <ggaren@apple.com>
-
- Removed SharedUChar and tightened language around its previous uses
- https://bugs.webkit.org/show_bug.cgi?id=70698
-
- Reviewed by David Levin.
-
- - Renamed "threadSafeCopy" and "crossThreadCopy" to "isolatedCopy" because
- the former names gave the dangerous misimpression that the resulting object
- was thread-safe, which is not true.
-
- * Storage/WebDatabaseTrackerClient.mm:
- (DidModifyOriginData::dispatchToMainThread):
-
-2011-10-24 Michael Saboff <msaboff@apple.com>
-
- WebKit doesn't build with recent changes to libdispatch
- https://bugs.webkit.org/show_bug.cgi?id=70737
-
- Added initialization for new WebKitSystemInterface function
- CreateVMPressureDispatchOnMainQueue.
-
- Reviewed by Geoffrey Garen.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-10-23 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Remove getConstructDataVirtual
- https://bugs.webkit.org/show_bug.cgi?id=70638
-
- Reviewed by Darin Adler.
-
- Removed all declarations and definitions of getConstructDataVirtual.
- Also replaced all call sites to getConstructDataVirtual with a
- corresponding lookup in the MethodTable.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::construct):
-
-2011-10-20 Ian Henderson <ianh@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=70541
- There are two WebFrameLoadDelegatePrivate categories on NSObject
-
- Reviewed by David Kilzer.
-
- * WebView/WebViewPrivate.h: Rename the private delegate categories in
- WebViewPrivate.h with a "WebView" prefix to avoid collision.
-
-2011-10-20 Alexey Proskuryakov <ap@apple.com>
-
- REGRESSION (r96823): Contextual menu closes immediately when control-clicking in Flash plug-in
- https://bugs.webkit.org/show_bug.cgi?id=70534
- <rdar://problem/10308827>
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): Return true
- for contextmenu event, so that plug-ins won't get a default WebKit context menu. We can't
- know if the plug-in is handling mousedown (or even mouseup) by displaying a menu.
-
-2011-10-19 Beth Dakin <bdakin@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=70396
- Focus rings are too thin in HiDPI in WebKit2
- -and corresponding-
- <rdar://problem/10086876>
-
- Reviewed by Dan Bernstein.
-
- Rename wkSetPatternBaseCTM to wkSetBaseCTM
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
- To create a HiDPI context in DRT, we have to set the base CTM, which currently
- requires CG SPI, so we have to do it through WebKitSystemInterface.
- * WebView/WebView.mm:
- (-[WebView _setBaseCTM:forContext:]):
- * WebView/WebViewPrivate.h:
-
-2011-10-18 Adam Barth <abarth@webkit.org>
-
- Always enable ENABLE(XPATH)
- https://bugs.webkit.org/show_bug.cgi?id=70217
-
- Reviewed by Eric Seidel.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-10-14 Chris Marrin <cmarrin@apple.com>
-
- Throttle rate of requestAnimationFrame when page is not visible
- https://bugs.webkit.org/show_bug.cgi?id=67873
-
- Reviewed by Anders Carlsson.
-
- Plumb through notification when the window is hidden/shown or
- minimized/unminimized
-
- * WebView/WebView.mm:
- (-[WebView _windowWillOrderOnScreen:]):
- (-[WebView _windowWillOrderOffScreen:]):
-
-2011-10-16 Adam Barth <abarth@webkit.org>
-
- Always enable ENABLE(DOM_STORAGE)
- https://bugs.webkit.org/show_bug.cgi?id=70189
-
- Reviewed by Eric Seidel.
-
- * Configurations/FeatureDefines.xcconfig:
- * Storage/WebStorageManager.mm:
- * Storage/WebStorageManagerInternal.h:
- * Storage/WebStorageTrackerClient.h:
- * Storage/WebStorageTrackerClient.mm:
- (WebStorageTrackerClient::dispatchDidModifyOrigin):
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
-
-2011-10-14 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/70158> Fix clang compiler warnings
-
- Reviewed by Darin Adler.
-
- The following two methods in WebDelegateImplementationCaching.h
- are ambiguous in WebChromeClient::runJavaScriptPrompt() because
- the compiler can't decide how to convert the WTF::String
- defaultText argument:
-
- id CallUIDelegate(WebView *, SEL, id, id);
- id CallUIDelegate(WebView *, SEL, id, BOOL);
-
- The fix is to perform the conversion explicitly.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::runJavaScriptPrompt): Extract a defaultString
- variable to convert the WTF::String to an NSString*, then
- use defaultString in place of defaultText.
-
-2011-10-14 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Rename virtual put to putVirtual
- https://bugs.webkit.org/show_bug.cgi?id=69851
-
- Reviewed by Darin Adler.
-
- Renamed virtual versions of put to putVirtual in prepration for
- adding the static put to the MethodTable in ClassInfo since the
- compiler gets mad if the virtual and static versions have the same
- name.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::setProperty):
-
-2011-10-14 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Rename virtual deleteProperty to deletePropertyVirtual
- https://bugs.webkit.org/show_bug.cgi?id=69884
-
- Reviewed by Darin Adler.
-
- Renamed virtual versions of deleteProperty to deletePropertyVirtual in prepration for
- adding the static deleteProperty to the MethodTable in ClassInfo since the
- compiler gets mad if the virtual and static versions have the same name.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::removeProperty):
-
-2011-10-12 Ryosuke Niwa <rniwa@webkit.org>
-
- Make the interface of locationAndLengthFromRange and rangeFromLocationAndLength consistent
- https://bugs.webkit.org/show_bug.cgi?id=69964
-
- Reviewed by Enrica Casucci.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _convertToNSRange:]):
- (-[WebFrame _convertToDOMRange:]):
-
-2011-10-13 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Rename virtual getConstructData to getConstructDataVirtual
- https://bugs.webkit.org/show_bug.cgi?id=69872
-
- Reviewed by Geoffrey Garen.
-
- Renamed virtual getConstructData functions to getConstructDataVirtual to
- avoid conflicts when we add static getConstructData to the MethodTable.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::construct):
-
-2011-10-13 Beth Dakin <bdakin@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=70050
- DRT and WRT should have HiDPI testing capabilities
-
- Reviewed by Darin Adler.
-
- New method _backingScaleFactor matches SPI of a similar name that I added
- recently to WKPage in WebKit2. Equivalent functionality is needed for
- DumpRenderTree's HiDPI support.
- * WebView/WebView.mm:
- (-[WebView _backingScaleFactor]):
- * WebView/WebViewPrivate.h:
-
-2011-10-12 Chris Marrin <cmarrin@apple.com>
-
- Sync requestAnimationFrame callback to CVDisplayLink on Mac
- https://bugs.webkit.org/show_bug.cgi?id=68911
-
- Reviewed by Simon Fraser.
-
- Add windowDidChangeScreen function which listens for the window changing
- screens and passes the new displayID along to WebCore::Page. It also sends
- one on windowWillOrderOnScreen, so the Page has a fresh displayID after it's
- created.
-
- * WebView/WebView.mm:
- (-[WebView addWindowObserversForWindow:]):
- (-[WebView removeWindowObservers]):
- (-[WebView _windowDidChangeScreen:]):
- (-[WebView _windowWillOrderOnScreen:]):
-
-2011-10-12 Adam Barth <abarth@webkit.org>
-
- Remove ENABLE(XHTMLMP) and associated code
- https://bugs.webkit.org/show_bug.cgi?id=69729
-
- Reviewed by David Levin.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-10-10 Nate Chapin <japhet@chromium.org>
-
- Use a CachedImageClient instead of CachedResourceClient
- in WebHTMLView.
- https://bugs.webkit.org/show_bug.cgi?id=69790
-
- Reviewed by Adam Barth.
-
- * WebView/WebHTMLView.mm:
- (promisedDataClient):
-
-2011-10-10 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Remove getCallDataVirtual methods
- https://bugs.webkit.org/show_bug.cgi?id=69186
-
- Reviewed by Geoffrey Garen.
-
- Removed all getCallDataVirtual methods and replaced their call sites
- with an explicit lookup in the MethodTable.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
-
-2011-10-10 Joseph Pecoraro <joepeck@webkit.org>
-
- Extract WebOpenPanelResultListener out into its own file
- https://bugs.webkit.org/show_bug.cgi?id=69575
-
- Reviewed by David Kilzer.
-
- Extract the WebOpenPanelResultListener class out into
- its own file. No functional change.
-
- * WebCoreSupport/WebChromeClient.mm:
- * WebCoreSupport/WebOpenPanelResultListener.h: Added.
- * WebCoreSupport/WebOpenPanelResultListener.mm: Added.
- (-[WebOpenPanelResultListener dealloc]):
- (-[WebOpenPanelResultListener finalize]):
- (-[WebOpenPanelResultListener cancel]):
- (-[WebOpenPanelResultListener chooseFilename:]):
- (-[WebOpenPanelResultListener chooseFilenames:]):
- * WebView/WebUIDelegate.h:
-
-2011-10-08 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r96996.
- http://trac.webkit.org/changeset/96996
- https://bugs.webkit.org/show_bug.cgi?id=69697
-
- It broke all tests on the Qt bot (Requested by Ossy_night on
- #webkit).
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
-
-2011-10-07 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Remove getCallDataVirtual methods
- https://bugs.webkit.org/show_bug.cgi?id=69186
-
- Reviewed by Geoffrey Garen.
-
- Removed all getCallDataVirtual methods and replaced their call sites
- with an explicit lookup in the MethodTable.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
-
-2011-10-06 Anders Carlsson <andersca@apple.com>
-
- When building with clang, enable -Wglobal-constructors and -Wexit-time-destructors
- https://bugs.webkit.org/show_bug.cgi?id=69586
-
- Reviewed by Darin Adler.
-
- * Configurations/Base.xcconfig:
- Add -Wglobal-constructors and -Wexit-time-destructors when building with clang.
-
-2011-10-06 Anders Carlsson <andersca@apple.com>
-
- Add DEFINE_DEBUG_ONLY_GLOBAL for globals that should be defined in debug builds
- https://bugs.webkit.org/show_bug.cgi?id=69584
-
- Reviewed by Darin Adler.
-
- Adopt the DEFINE_DEBUG_ONLY_GLOBAL macro.
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
-
-2011-10-03 Andy Estes <aestes@apple.com>
-
- Add an option to suppress rendering until the document's load event fires.
- https://bugs.webkit.org/show_bug.cgi?id=69298
-
- Reviewed by Simon Fraser.
-
- Add a new private WebPreference.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences setSuppressRenderingWhileInitiallyLoading:]):
- (-[WebPreferences suppressRenderingWhileInitiallyLoading]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2011-10-05 Jer Noble <jer.noble@apple.com>
-
- Enable WEB_AUDIO by default in the WebKit/mac port.
- https://bugs.webkit.org/show_bug.cgi?id=68587
-
- Reviewed by Simon Fraser.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-10-05 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/69386> REGRESSION: Curious Location of StorageTracker.db
-
- Reviewed by Alexey Proskuryakov.
-
- * Storage/WebStorageManager.mm:
- (+[WebStorageManager _storageDirectoryPath]): Restore call to
- -[NSString stringByStandardizingPath]. Also fix over-release of
- sLocalStoragePath if the initial -objectForKey: call returned an
- NSString object. Use pthread_once to be thread-safe.
-
-2011-10-04 Kent Tamura <tkent@chromium.org>
-
- Introduce feature flags for incomplete input types
- https://bugs.webkit.org/show_bug.cgi?id=68971
-
- Reviewed by Hajime Morita.
-
- * Configurations/FeatureDefines.xcconfig:
- Add ENABLE_INPUT_TYPE_* flags. They are enabled only for iOS.
-
-2011-10-03 Geoffrey Garen <ggaren@apple.com>
-
- Some JSValue cleanup
- https://bugs.webkit.org/show_bug.cgi?id=69320
-
- Reviewed by Darin Adler.
-
- * WebView/WebView.mm:
- (aeDescFromJSValue): Updated for JSC changes.
-
-2011-10-04 Scott Graham <scottmg@chromium.org>
-
- Add GAMEPAD feature flag
- https://bugs.webkit.org/show_bug.cgi?id=66859
-
- Reviewed by Darin Fisher.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-10-03 Jer Noble <jer.noble@apple.com>
-
- Unreviewed, rolling out r96526.
- http://trac.webkit.org/changeset/96526
- https://bugs.webkit.org/show_bug.cgi?id=68587
-
- WEB_AUDIO has numerous 64->32 bit casting warnings, causing
- build breakages where -Wall is enabled.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-10-03 Jer Noble <jer.noble@apple.com>
-
- Enable WEB_AUDIO by default in the WebKit/mac port.
- https://bugs.webkit.org/show_bug.cgi?id=68587
-
- Reviewed by Simon Fraser.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-10-02 Sam Weinig <sam@webkit.org>
-
- Strength reduce Mac only Frame::searchForLabelsBeforeElement and Frame::matchLabelsAgainstElement into callers
- https://bugs.webkit.org/show_bug.cgi?id=69230
-
- Reviewed by Anders Carlsson.
-
- * WebView/WebHTMLRepresentation.mm:
- (regExpForLabels):
- (searchForLabelsBeforeElement):
- (matchLabelsAgainstString):
- (matchLabelsAgainstElement):
- (-[WebHTMLRepresentation searchForLabels:beforeElement:resultDistance:resultIsInCellAbove:]):
- (-[WebHTMLRepresentation matchLabels:againstElement:]):
-
-2011-10-02 Alexey Proskuryakov <ap@apple.com>
-
- REGRESSION (r95474): Unable to type anywhere in nightly builds in WebKit1 mode
- https://bugs.webkit.org/show_bug.cgi?id=68542
-
- Reviewed by Mark Rowe.
-
- * WebView/WebView.mm: (-[WebView _usesDocumentViews]): Re-add this method for now.
-
-2011-10-01 Geoffrey Garen <ggaren@apple.com>
-
- Leopard build fix: Updated for Strong<T> changes.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- * WebView/WebScriptDebugger.mm:
-
-2011-09-28 Joseph Pecoraro <joepeck@webkit.org>
-
- ASSERT if WebView's UIDelegate does not implement webView:runOpenPanel
- https://bugs.webkit.org/show_bug.cgi?id=69037
-
- Reviewed by Alexey Proskuryakov.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::runOpenPanel):
- If no delegate is implemented, dismiss the listener
- with a cancel. It expects some action.
-
-2011-09-28 Anton D'Auria <adauria@apple.com>
-
- Expose +[WebStorageManager _storageDirectoryPath] as SPI
- https://bugs.webkit.org/show_bug.cgi?id=68951
-
- Reviewed by Brady Eidson.
-
- This patch exposes +[WebStorageManager _storageDirectoryPath], which
- pulls the path from NSUserDefaults if the preference is set. Otherwise,
- it falls back on the default path.
-
- * Storage/WebStorageManager.mm:
- (+[WebStorageManager _storageDirectoryPath]): Adding static variable
- so that we don't reread user defaults repeatedly.
- (WebKitInitializeStorageIfNecessary):
- * Storage/WebStorageManagerPrivate.h:
-
-2011-09-27 Andy Estes <aestes@apple.com>
-
- WebKitLinkedOnOrAfter() check is ineffective for Solar Walk app-specific hack.
- https://bugs.webkit.org/show_bug.cgi?id=68863
-
- Reviewed by Darin Adler.
-
- The SolarWalk binary does not link against WebKit.framework directly,
- so calling NSVersionOfLinkTimeLibrary() will not return the version of
- WebKit against which SolarWalk was linked. Since Solar Walk has
- released an update that addresses the issue for which this app-specific
- hack was originally added, we should just remove the hack.
-
- * Misc/SolarWalkQuirksUserScript.js: Removed.
- * WebView/WebView.mm: Removed needsSolarWalkQuirksScript(),
- leakSolarWalkQuirksUserScriptContents(), and
- -[WebView _injectSolarWalkQuirksScript].
- (-[WebView _commonInitializationWithFrameName:groupName:]): Do not
- inject the Solar Walk quirks script.
-
-2011-09-27 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Add static version of JSCell::getCallData
- https://bugs.webkit.org/show_bug.cgi?id=68741
-
- Reviewed by Darin Adler.
-
- In this patch we just extract the bodies of the virtual getCallData methods
- throughout the JSCell inheritance hierarchy out into static methods, which are
- now called from the virtual methods. This is an intermediate step in trying to
- move the virtual-ness of getCallData into our own method table stored in
- ClassInfo. We need to convert the methods to static methods because static methods
- can be represented as function pointers rather than pointers to member functions, and
- function pointers are smaller and faster to call than pointers to member functions.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
-
-2011-09-23 Simon Fraser <simon.fraser@apple.com>
-
- Repaint tests don't work in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=68453
-
- Reviewed by Sam Weinig.
-
- Have FrameView keep track of repaint rects when asked to, and
- expose this set of repaint rects via private WebKit API for later
- use by DumpRenderTree.
-
- * WebView/WebView.mm:
- (-[WebView setTracksRepaints:]):
- (-[WebView isTrackingRepaints]):
- (-[WebView resetTrackedRepaints]):
- (-[WebView trackedRepaintRects]):
- * WebView/WebViewPrivate.h:
-
-2011-09-25 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Add custom vtable struct to ClassInfo struct
- https://bugs.webkit.org/show_bug.cgi?id=68567
-
- Reviewed by Oliver Hunt.
-
- Added CREATE_METHOD_TABLE macro to generate the custom vtable for the
- specified class in its ClassInfo. Also added to it the first function to use
- this macro, visitChildren. This is part of the process of getting rid of all
- C++ virtual methods in JSCell. Eventually all virtual functions in JSCell
- that can't easily be converted to non-virtual functions will be put into
- this custom vtable structure.
-
- * Plugins/Hosted/ProxyInstance.mm:
- * Plugins/Hosted/ProxyRuntimeObject.mm:
-
-2011-09-24 Adam Barth <abarth@webkit.org>
-
- Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
- https://bugs.webkit.org/show_bug.cgi?id=68767
-
- Reviewed by Eric Seidel.
-
- * Configurations/FeatureDefines.xcconfig:
- * Misc/WebCache.mm:
- (+[WebCache empty]):
- * WebCoreSupport/WebApplicationCache.mm:
- * WebCoreSupport/WebApplicationCacheQuotaManager.mm:
- (-[WebApplicationCacheQuotaManager usage]):
- (-[WebApplicationCacheQuotaManager quota]):
- (-[WebApplicationCacheQuotaManager setQuota:]):
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- * WebView/WebDataSource.mm:
- (-[WebDataSource _transferApplicationCache:]):
- * WebView/WebFrame.mm:
- (-[WebFrame _cacheabilityDictionary]):
- * WebView/WebView.mm:
- (WebKitInitializeApplicationCachePathIfNecessary):
-
-2011-09-23 Adam Klein <adamk@chromium.org>
-
- Add ENABLE_MUTATION_OBSERVERS feature flag
- https://bugs.webkit.org/show_bug.cgi?id=68732
-
- Reviewed by Ojan Vafai.
-
- This flag will guard an implementation of the "Mutation Observers" proposed in
- http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-09-23 Anders Carlsson <andersca@apple.com>
-
- Axe WebImageRendererFactory
- https://bugs.webkit.org/show_bug.cgi?id=68715
-
- Reviewed by Darin Adler.
-
- Remove WebImageRendererFactory, it was used by Safari 3, many a moon ago.
-
- * WebCoreSupport/WebImageRendererFactory.m: Removed.
-
-2011-09-23 Anders Carlsson <andersca@apple.com>
-
- Add OVERRIDE to a bunch of virtual member functions on clients
- https://bugs.webkit.org/show_bug.cgi?id=68712
-
- Reviewed by Sam Weinig.
-
- * Configurations/Base.xcconfig:
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebContextMenuClient.h:
- * WebCoreSupport/WebDeviceOrientationClient.h:
- * WebCoreSupport/WebDragClient.h:
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameNetworkingContext.h:
- * WebCoreSupport/WebGeolocationClient.h:
- * WebCoreSupport/WebIconDatabaseClient.h:
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebPlatformStrategies.h:
-
-2011-09-22 Dean Jackson <dino@apple.com>
-
- Add ENABLE_CSS_FILTERS
- https://bugs.webkit.org/show_bug.cgi?id=68652
-
- Reviewed by Simon Fraser.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-09-22 Anders Carlsson <andersca@apple.com>
-
- Get rid of Widget::setBoundsSize
- https://bugs.webkit.org/show_bug.cgi?id=68491
-
- Reviewed by Sam Weinig.
-
- This basically reverts http://trac.webkit.org/changeset/79167 and http://trac.webkit.org/changeset/75897
- which were added to make zoom gestures work with WebKit1, but since we don't support zoom gestures in WebKit1
- anymore, it's better for code cleanliness to get rid of Widget::setBoundsSize and the associated code. While this
- will unfortunately break transformed iframes in WebKit1, but Simon says that it's an acceptable tradeoff.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView updateAndSetWindow]):
- * WebView/WebFrameView.mm:
-
-2011-09-19 Jer Noble <jer.noble@apple.com>
-
- Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
- https://bugs.webkit.org/show_bug.cgi?id=68382
-
- Reviewed by Darin Adler.
-
- Initialize the webAudioEnabled preference to NO by default.
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
-
-2011-09-21 Anders Carlsson <andersca@apple.com>
-
- Remove checks for Leopard-only Objective-C APIs
- https://bugs.webkit.org/show_bug.cgi?id=68579
-
- Reviewed by Sam Weinig.
-
- We can always assume that OBJC_API_VERSION is at least 2, it's been 2 since Leopard.
-
- * Misc/WebNSObjectExtras.h:
-
-2011-09-21 Andras Becsi <andras.becsi@nokia.com>
-
- [Qt] Remove Qt specific code from css/SelectorChecker.cpp
- https://bugs.webkit.org/show_bug.cgi?id=67702
-
- Reviewed by Csaba Osztrogonác.
-
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::isLinkVisited):
-
-2011-09-20 Anders Carlsson <andersca@apple.com>
-
- Remove ScrollView::platformContentsSize
- https://bugs.webkit.org/show_bug.cgi?id=68188
-
- Reviewed by Darin Adler.
-
- When creating the document view, make sure it's zero sized which matches the initial size
- of the ScrollView. This is fine to do early since DocumentWriter::begin sets the contents
- size to a zero size anyway.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _makeDocumentViewForDataSource:]):
-
-2011-09-19 Pavel Feldman <pfeldman@google.com>
-
- Web Inspector: streamline Console's MessageType and MessageSource semantics.
- https://bugs.webkit.org/show_bug.cgi?id=68342
-
- This change fixes semantics of the MessageSource and MessageType:
- MessageSource is now the source of the message (be it Network, HTML
- parser or Console API). MessageType is only defined for the Console API
- messages and contains the name of the API call (log, dir, dirxml, etc.).
- Subsequent https://bugs.webkit.org/show_bug.cgi?id=66371 will make MessageType
- private to the inspector.
-
- Reviewed by Tony Gentilcore.
-
- * WebCoreSupport/WebChromeClient.mm:
- (stringForMessageSource):
- (stringForMessageType):
- * WebView/WebUIDelegatePrivate.h:
-
-2011-09-19 Timothy Hatcher <timothy@apple.com>
-
- Make WebViews in NSPopovers render as they would in active windows.
-
- The NSWindowDid{Become,Resign}KeyNotifications are not fired when NSPopovers
- are shown or hidden since they share key with the parent window. So WebView
- and WebHTMLView need to also observe the will order on/off screen notifications.
-
- https://webkit.org/b/68402
- rdar://problem/9754099
-
- Reviewed by John Sullivan.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _removeWindowObservers]): Remove order on/off screen notification obversers.
- (-[WebHTMLView addWindowObservers]): Add order on/off screen notification obversers.
- (-[WebHTMLView windowWillOrderOnScreen:]): Check if the window is already a key window,
- which can be the case for NSPopovers.
- (-[WebHTMLView windowWillOrderOffScreen:]): Remove the mouse moved observer.
- * WebView/WebView.mm:
- (-[WebView addWindowObserversForWindow:]): Add order off screen notification obverser.
- (-[WebView removeWindowObservers]): Remove order off screen notification obverser.
- (-[WebView _windowWillOrderOnScreen:]): Call _updateActiveState.
- (-[WebView _windowWillOrderOffScreen:]): Ditto.
-
-2011-09-19 Mark Rowe <mrowe@apple.com>
-
- <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect
-
- On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking
- in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and
- a NoIdleSleep assertion as the latter is implied by the former.
-
- Adopt the DisplaySleepDisabler class that was added to WebCore and remove all of duplicated logic from WebFullScreenController.
-
- Reviewed by Dan Bernstein.
-
- * WebView/WebFullScreenController.h:
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController dealloc]):
- (-[WebFullScreenController _updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting
- display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any
- disabler that we own.
-
-2011-09-19 Adam Barth <abarth@webkit.org>
-
- Always enable ENABLE(EVENTSOURCE)
- https://bugs.webkit.org/show_bug.cgi?id=68414
-
- Reviewed by Eric Seidel.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-09-19 Anders Carlsson <andersca@apple.com>
-
- Fix crashes when running WebKit1 tests.
-
- -[WebView _mustDrawUnionedRect:singleRects:count:] was removed, so just put back the
- equivalent code directly into -[WebHTMLView drawRect:].
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawRect:]):
- * WebView/WebViewInternal.h:
-
-2011-09-19 Anders Carlsson <andersca@apple.com>
-
- Remove the last remains of viewless WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=68388
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::forceLayoutForNonHTML):
- Remove null check.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:]):
- Remove usesDocumentViews parameter and checks.
-
- (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
- Add an assertion that usesDocumentViews is always true.
-
- (-[WebView _isUsingAcceleratedCompositing]):
- Remove usesDocumentViews check.
-
- (-[WebView _isSoftwareRenderable]):
- Remove usesDocumentViews check.
-
- (-[WebView initWithFrame:frameName:groupName:]):
- Remove usesDocumentViews parameter and always pass YES to the _initWithFrame method.
-
- (-[WebView initWithCoder:]):
- Remove usesDocumentViews parameter.
-
- (-[WebView _frameViewAtWindowPoint:]):
- Remove usesDocumentViews check.
-
- * WebView/WebViewData.h:
- Remove usesDocumentViews ivar.
-
- * WebView/WebViewPrivate.h:
- Remove usesDocumentViews parameters.
-
-2011-09-19 Anders Carlsson <andersca@apple.com>
-
- Remove WebViewEventHandling.mm
- https://bugs.webkit.org/show_bug.cgi?id=68387
-
- Reviewed by Adam Roben.
-
- WebViewEventHandling.mm was all about event handling in viewless WebKit, so rip it out since
- we're getting rid of viewless WebKit1.
-
- * WebView/WebView.mm:
- (-[WebView _close]):
- * WebView/WebViewData.h:
- * WebView/WebViewEventHandling.mm: Removed.
- * WebView/WebViewInternal.h:
-
-2011-09-19 Anders Carlsson <andersca@apple.com>
-
- Remove -[WebView _selectionChanged] and -[WebView _setTooltip:]
- https://bugs.webkit.org/show_bug.cgi?id=68385
-
- Reviewed by Adam Roben.
-
- Move these functions back into the respective clients and remove usesDocumentViews checks.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::setToolTip):
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::respondToChangedSelection):
- * WebView/WebView.mm:
- * WebView/WebViewEventHandling.mm:
- * WebView/WebViewInternal.h:
-
-2011-09-19 Anders Carlsson <andersca@apple.com>
-
- Begin removing -[WebView _usesDocumentCalls] from WebView.mm
- https://bugs.webkit.org/show_bug.cgi?id=68383
-
- Reviewed by Adam Roben.
-
- Remove checks and begin assuming that -[WebView _usesDocumentViews] always
- returns true, since viewless WebKit1 has been abandoned.
-
- * WebView/WebView.mm:
- (-[WebView selectedFrame]):
- (-[WebView setHostWindow:]):
- (-[WebView acceptsFirstResponder]):
- (-[WebView becomeFirstResponder]):
- (-[WebView _webcore_effectiveFirstResponder]):
- (-[WebView setNextKeyView:]):
- (-[WebView setHoverFeedbackSuspended:]):
-
-2011-09-19 Anders Carlsson <andersca@apple.com>
-
- Remove calls to -[WebView _usesDocumentViews] from WebFrameLoaderClient.mm
- https://bugs.webkit.org/show_bug.cgi?id=68379
-
- Reviewed by Adam Roben.
-
- Remove checks and begin assuming that -[WebView _usesDocumentViews] always
- returns true, since viewless WebKit1 has been abandoned.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::hasHTMLView):
- (WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
- (WebFrameLoaderClient::createFrame):
- * WebView/WebFrame.mm:
- (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
- (-[WebFrame _hasSelection]):
- (-[WebFrame _clearSelection]):
- (-[WebFrame _shouldFlattenCompositingLayers:]):
- (-[WebFrame _dragSourceEndedAt:operation:]):
- (-[WebFrame frameView]):
-
-2011-09-19 Anders Carlsson <andersca@apple.com>
-
- Remove calls to -[WebView _usesDocumentViews]
- https://bugs.webkit.org/show_bug.cgi?id=68377
-
- Reviewed by Adam Roben.
-
- Remove checks and begin assuming that -[WebView _usesDocumentViews] always
- returns true, since viewless WebKit1 has been abandoned.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::windowResizerRect):
- (WebChromeClient::invalidateContentsAndWindow):
- (WebChromeClient::screenToWindow):
- (WebChromeClient::windowToScreen):
- (WebChromeClient::platformPageClient):
- (WebChromeClient::scrollRectIntoView):
- (WebChromeClient::print):
- * WebView/WebDataSource.mm:
- (-[WebDataSource _receivedData:]):
-
-2011-09-19 Dan Bernstein <mitz@apple.com>
-
- WebKit part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes
- https://bugs.webkit.org/show_bug.cgi?id=68323
-
- Reviewed by Sam Weinig.
-
- Renamed NonBlockingPanel to WebNonBlockingPanel.
- Renamed ThreadEnabler to WebCocoaThreadingEnabler.
- Renamed PDFPrefUpdatingProxy to WebPDFPrefUpdatingProxy.
-
- * Misc/WebIconDatabase.mm:
- (+[WebCocoaThreadingEnabler enableThreading]):
- (importToWebCoreFormat):
- * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
- * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
- * Panels/WebAuthenticationPanel.h:
- * Panels/WebAuthenticationPanel.m: Renamed NonBlockingPanel to
- WebNonBlockingPanel. Because Safari 5.1 uses NonBlockingPanel, this will
- cause nightly builds to log an error message when showing the Safari
- HTTP authentication sheet and disable the Quit command while the sheet
- is disaplyed.
- * WebView/WebPDFView.mm:
- (-[WebPDFView initWithFrame:]):
- (-[WebPDFView _updatePreferencesSoon]):
-
-2011-09-17 Mihai Parparita <mihaip@chromium.org>
-
- FrameLoaderClient BackForwardList-related methods are unsued
- https://bugs.webkit.org/show_bug.cgi?id=68293
-
- Reviewed by Darin Adler.
-
- Remove FrameLoaderClient methods that were added by r51629, since only
- the old (since-deleted) Android port needed them.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebKit.order:
-
-2011-09-16 Simon Fraser <simon.fraser@apple.com>
-
- Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
- https://bugs.webkit.org/show_bug.cgi?id=68134
-
- Reviewed by Sam Weinig.
-
- Hook up a private preference that enables the mock scrollbar theme.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (-[WebPreferences mockScrollbarsEnabled]):
- (-[WebPreferences setMockScrollbarsEnabled:]):
- * WebView/WebPreferencesPrivate.h:
-
-2011-09-15 Adam Barth <abarth@webkit.org>
-
- Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
- https://bugs.webkit.org/show_bug.cgi?id=68205
-
- Reviewed by Eric Seidel.
-
- * Storage/WebDatabaseManager.mm:
- * Storage/WebDatabaseManagerInternal.h:
- * Storage/WebDatabaseManagerPrivate.h:
- * Storage/WebDatabaseQuotaManager.mm:
- (-[WebDatabaseQuotaManager usage]):
- (-[WebDatabaseQuotaManager quota]):
- (-[WebDatabaseQuotaManager setQuota:]):
- * Storage/WebDatabaseTrackerClient.h:
- * Storage/WebDatabaseTrackerClient.mm:
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- * WebCoreSupport/WebSecurityOrigin.mm:
- (-[WebSecurityOrigin usage]):
- (-[WebSecurityOrigin quota]):
- (-[WebSecurityOrigin setQuota:]):
- * WebView/WebFrame.mm:
- (-[WebFrame _cacheabilityDictionary]):
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView _preferencesChanged:]):
-
-2011-09-15 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Unzip initialization lists and constructors in JSCell hierarchy (7/7)
- https://bugs.webkit.org/show_bug.cgi?id=68122
-
- Reviewed by Geoffrey Garen.
-
- Completed the seventh and final level of the refactoring to add finishCreation()
- methods to all classes within the JSCell hierarchy with non-trivial
- constructor bodies.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyRuntimeMethod::create):
- (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
- * Plugins/Hosted/ProxyRuntimeObject.h:
- (WebKit::ProxyRuntimeObject::create):
- * Plugins/Hosted/ProxyRuntimeObject.mm:
- (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
-
-2011-09-15 Kentaro Hara <haraken@google.com>
-
- A single line must not be split into two pages.
- https://bugs.webkit.org/show_bug.cgi?id=65005
-
- Reviewed by David Hyatt.
-
- When the document width of a page is overflowed, the last line of the page can be
- split into the next page. This is the regression caused by r88737. r88737 tried to
- fix rounding errors in rendering calculations by expanding and shrinking a page
- using one common method, resizePageRectsKeepingRatio(), but overlooked the case where
- a document width gets overflowed.
-
- Test: printing/single-line-must-not-be-split-into-two-pages.html
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _web_setPrintingModeRecursive]): Passes an original page size to setPrinting().
- (-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto.
- (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto.
- (-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]): Ditto.
- (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]): Ditto.
- (-[WebHTMLView _endPrintMode]): Ditto.
- (-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]): Ditto.
- (-[WebHTMLView _endScreenPaginationMode]): Ditto.
- (-[WebHTMLView layoutToMinimumPageWidth:height:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustingViewSize:]): Ditto.
- (-[WebHTMLView layout]): Ditto.
- (-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustViewSize:paginateScreenContent:]): Ditto.
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
- (-[WebHTMLView setPageWidthForPrinting:]): Ditto.
-
-2011-09-15 Eric Seidel <eric@webkit.org>
-
- Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default
- https://bugs.webkit.org/show_bug.cgi?id=68182
-
- Reviewed by Adam Barth.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-09-15 Eric Seidel <eric@webkit.org>
-
- Remove ENABLE_SVG_ANIMATION as all major ports have it on by default
- https://bugs.webkit.org/show_bug.cgi?id=68022
-
- Reviewed by Ryosuke Niwa.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-09-14 Anders Carlsson <andersca@apple.com>
-
- Get rid of WebCoreViewFactory and its WebViewFactory subclass
- https://bugs.webkit.org/show_bug.cgi?id=68124
-
- Reviewed by Sam Weinig.
-
- * WebCoreSupport/WebContextMenuClient.mm:
- * WebCoreSupport/WebViewFactory.h: Removed.
- * WebCoreSupport/WebViewFactory.mm: Removed.
- * WebView/WebFrameView.mm:
- (-[WebFrameView initWithFrame:]):
-
-2011-09-14 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Unzip initialization lists and constructors in JSCell hierarchy (6/7)
- https://bugs.webkit.org/show_bug.cgi?id=67692
-
- Reviewed by Geoffrey Garen.
-
- Completed the sixth level of the refactoring to add finishCreation()
- methods to all classes within the JSCell hierarchy with non-trivial
- constructor bodies.
-
- This primarily consists of pushing the calls to finishCreation() down
- into the constructors of the subclasses of the fifth level of the hierarchy
- as well as pulling the finishCreation() calls out into the class's corresponding
- create() method if it has one. Doing both simultaneously allows us to
- maintain the invariant that the finishCreation() method chain is called exactly
- once during the creation of an object, since calling it any other number of
- times (0, 2, or more) will cause an assertion failure.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
- (WebKit::ProxyRuntimeMethod::finishCreation):
-
-2011-09-13 Eric Seidel <eric@webkit.org>
-
- Remove ENABLE_SVG_USE as <use> is required by HTML5
- https://bugs.webkit.org/show_bug.cgi?id=68019
-
- Reviewed by Ryosuke Niwa.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-09-13 Anders Carlsson <andersca@apple.com>
-
- Disable C++ exceptions when building with clang
- https://bugs.webkit.org/show_bug.cgi?id=68031
- <rdar://problem/9556880>
-
- Reviewed by Mark Rowe.
-
- * Configurations/Base.xcconfig:
-
-2011-09-13 Eric Seidel <eric@webkit.org>
-
- Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
- https://bugs.webkit.org/show_bug.cgi?id=68018
-
- Reviewed by Ryosuke Niwa.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-09-09 Oliver Hunt <oliver@apple.com>
-
- Remove support for anonymous storage from jsobjects
- https://bugs.webkit.org/show_bug.cgi?id=67881
-
- Reviewed by Sam Weinig.
-
- Remove the use of AnonymousSlotCount
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyRuntimeMethod::createStructure):
- * Plugins/Hosted/ProxyRuntimeObject.h:
- (WebKit::ProxyRuntimeObject::createStructure):
-
-2011-09-09 Chris Marrin <cmarrin@apple.com>
-
- requestAnimationFrame doesn't throttle on Mac
- https://bugs.webkit.org/show_bug.cgi?id=67171
-
- Reviewed by Simon Fraser.
-
- Removed runLoopObserver for requestAnimationFrame. It's now
- done by a Timer in ScriptedAnimationController in WebCore.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- * WebView/WebView.mm:
- (-[WebView _close]):
- * WebView/WebViewData.h:
- * WebView/WebViewInternal.h:
-
-2011-09-09 Fady Samuel <fsamuel@chromium.org>
-
- Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
- https://bugs.webkit.org/show_bug.cgi?id=67250
-
- Reviewed by Simon Fraser.
-
- * WebView/WebView.mm:
- (-[WebView _scaleWebView:atOrigin:]):
- (-[WebView _viewScaleFactor]):
-
-2011-09-09 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Unzip initialization lists and constructors in JSCell hierarchy (5/7)
- https://bugs.webkit.org/show_bug.cgi?id=67420
-
- Reviewed by Geoffrey Garen.
-
- Completed the fifth level of the refactoring to add finishCreation()
- methods to all classes within the JSCell hierarchy with non-trivial
- constructor bodies.
-
- This primarily consists of pushing the calls to finishCreation() down
- into the constructors of the subclasses of the second level of the hierarchy
- as well as pulling the finishCreation() calls out into the class's corresponding
- create() method if it has one. Doing both simultaneously allows us to
- maintain the invariant that the finishCreation() method chain is called exactly
- once during the creation of an object, since calling it any other number of
- times (0, 2, or more) will cause an assertion failure.
-
- * Plugins/Hosted/ProxyRuntimeObject.h:
- * Plugins/Hosted/ProxyRuntimeObject.mm:
- (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
- (WebKit::ProxyRuntimeObject::finishCreation):
-
-2011-09-08 Sam Weinig <sam@webkit.org>
-
- Remove the Completion object from JSC, I have never liked it
- https://bugs.webkit.org/show_bug.cgi?id=67755
-
- Reviewed by Gavin Barraclough.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluate):
-
-2011-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r94627 and r94632.
- http://trac.webkit.org/changeset/94627
- http://trac.webkit.org/changeset/94632
- https://bugs.webkit.org/show_bug.cgi?id=67698
-
- It broke tests on GTK and Qt (Requested by Ossy on #webkit).
-
- * Plugins/Hosted/ProxyRuntimeObject.h:
- * Plugins/Hosted/ProxyRuntimeObject.mm:
- (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
-
-2011-09-06 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Unzip initialization lists and constructors in JSCell hierarchy (5/7)
- https://bugs.webkit.org/show_bug.cgi?id=67420
-
- Reviewed by Geoffrey Garen.
-
- Completed the fifth level of the refactoring to add finishCreation()
- methods to all classes within the JSCell hierarchy with non-trivial
- constructor bodies.
-
- This primarily consists of pushing the calls to finishCreation() down
- into the constructors of the subclasses of the second level of the hierarchy
- as well as pulling the finishCreation() calls out into the class's corresponding
- create() method if it has one. Doing both simultaneously allows us to
- maintain the invariant that the finishCreation() method chain is called exactly
- once during the creation of an object, since calling it any other number of
- times (0, 2, or more) will cause an assertion failure.
-
- * Plugins/Hosted/ProxyRuntimeObject.h:
- * Plugins/Hosted/ProxyRuntimeObject.mm:
- (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
- (WebKit::ProxyRuntimeObject::finishCreation):
-
-2011-09-06 Ryosuke Niwa <rniwa@webkit.org>
-
- Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
- https://bugs.webkit.org/show_bug.cgi?id=67569
-
- Reviewed by Antonio Gomes.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _updateSelectionForInputManager]):
-
-2011-09-05 Oliver Hunt <oliver@apple.com>
-
- An object's structure should reference the global object responsible for its creation
- https://bugs.webkit.org/show_bug.cgi?id=67624
-
- Reviewed by Gavin Barraclough.
-
- Update for new Structure::create() globalObject parameter.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyRuntimeMethod::createStructure):
- * Plugins/Hosted/ProxyRuntimeObject.h:
- (WebKit::ProxyRuntimeObject::createStructure):
-
-2011-09-01 Mark Rowe <mrowe@apple.com>
-
- Fix the build by adding some more missing return types.
-
- * WebView/WebDashboardRegion.h:
- * WebView/WebDashboardRegion.mm:
- (-[WebDashboardRegion initWithRect:clip:type:]):
-
-2011-09-01 Tim Horton <timothy_horton@apple.com>
-
- REGRESSION: Rendering artifacts on a rotated, pattern filled shape
- https://bugs.webkit.org/show_bug.cgi?id=53055
- <rdar://problem/8910917>
-
- Reviewed by Simon Fraser.
-
- Introduce wkCGPatternCreateWithImageAndTransform.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-08-31 Beth Dakin <bdakin@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=67322
- Re-name overrideBackingScaleFactor
-
- Reviewed by John Sullivan.
-
- _setOverrideBackingScaleFactor is now _setCustomBackingScaleFactor
- * WebView/WebView.mm:
- (-[WebView _setCustomBackingScaleFactor:]):
- (-[WebView _deviceScaleFactor]):
- * WebView/WebViewData.h:
- * WebView/WebViewPrivate.h:
-
-2011-08-30 Dan Bernstein <mitz@apple.com>
-
- <rdar://problem/9281695> Add text search API for getting the DOM range of a text match
- https://bugs.webkit.org/show_bug.cgi?id=67230
-
- Reviewed by Darin Adler.
-
- * WebView/WebHTMLView.mm:
- * WebView/WebView.mm:
- (coreOptions): Moved this function from WebHTMLView.mm to here and made
- it accessible from both this file and WebHTMLView.mm.
- (-[WebView DOMRangeOfString:relativeTo:options:]): Added this new API.
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-2011-08-30 Beth Dakin <bdakin@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=67150
- Would like API to use a custom device scale factor for a particular WebView/WKView
- -and corresponding-
- <rdar://problem/10041016>
-
- Reviewed by Darin Adler.
-
- New API is _setOverrideBackingScaleFactor:(CGFloat)
- * WebView/WebView.mm:
- (-[WebView _setOverrideBackingScaleFactor:]):
- (-[WebView _deviceScaleFactor]):
- * WebView/WebViewData.h:
- * WebView/WebViewPrivate.h:
-
-2011-08-30 Aaron Colwell <acolwell@chromium.org>
-
- Add MediaSource API to HTMLMediaElement
- https://bugs.webkit.org/show_bug.cgi?id=64731
-
- Reviewed by Eric Carlson.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-08-29 Alexey Proskuryakov <ap@apple.com>
-
- DumpRenderTree should begin each test with an empty cookie store
- https://bugs.webkit.org/show_bug.cgi?id=63545
- <rdar://problem/5666907>
-
- Reviewed by Darin Adler.
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (+[WebPreferences _switchNetworkLoaderToNewTestingSession]):
- (+[WebPreferences _setCurrentNetworkLoaderSessionCookieAcceptPolicy:]):
- * WebView/WebPreferencesPrivate.h:
- Exposed an SPI to use a private default session. It's separate from private browsing,
- because some tests enable the latter, and we don't want to mix them up.
- Also exposed an SPI to set cookie accept policy regardless of what session we are currently
- using.
-
- * WebView/WebView.mm: (-[WebView _cachedResponseForURL:]): Updated to use currentStorageSession()
- instead of privateBrowsingStorageSession().
-
-2011-08-30 Kaustubh Atrawalkar <kaustubh@motorola.com>
-
- The unused ScrollView* argument can and should be removed from
- scrollRectIntoView.
- https://bugs.webkit.org/show_bug.cgi?id=67117
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::scrollRectIntoView):
-
-2011-08-29 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r93987, r93992, r93995, r93998, and
- r93999.
- http://trac.webkit.org/changeset/93987
- http://trac.webkit.org/changeset/93992
- http://trac.webkit.org/changeset/93995
- http://trac.webkit.org/changeset/93998
- http://trac.webkit.org/changeset/93999
- https://bugs.webkit.org/show_bug.cgi?id=67147
-
- Many failing tests (Requested by ap on #webkit).
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- * WebView/WebPreferencesPrivate.h:
-
-2011-08-26 Alexey Proskuryakov <ap@apple.com>
-
- DumpRenderTree should begin each test with an empty cookie store
- https://bugs.webkit.org/show_bug.cgi?id=63545
- <rdar://problem/5666907>
-
- Reviewed by Darin Adler.
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (+[WebPreferences _usePrivateSessionForNetworkLoading]):
- * WebView/WebPreferencesPrivate.h:
- Exposed an SPI to use a private default session. It's separate from private browsing,
- because some tests enable the latter, and we don't want to mix them up.
-
-2011-08-23 Chris Marrin <cmarrin@apple.com>
-
- [mac] requestAnimationFrame support for mac port
- https://bugs.webkit.org/show_bug.cgi?id=59146
-
- Reviewed by Simon Fraser.
-
- Implement requestAnimationFrame for WebKit. Add a
- CFRunLoopObserver to WebView, which runs just before
- the syncCompositingState RLO and calls into the
- ScriptedAnimationController if scheduleAnimation() has
- been called.
-
- * Configurations/FeatureDefines.xcconfig:
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::scheduleAnimation):
- * WebView/WebView.mm:
- (-[WebView _close]):
- (-[WebView _unscheduleAnimation]):
- (-[WebView _scheduleCompositingLayerSync]):
- (requestAnimationFrameRunLoopObserverCallback):
- (-[WebView _scheduleAnimation]):
- * WebView/WebViewData.h:
- * WebView/WebViewInternal.h:
-
-2011-08-24 Alexey Proskuryakov <ap@apple.com>
-
- Plug-in tests are flaky on Mac
- https://bugs.webkit.org/show_bug.cgi?id=66822
-
- Reviewed by Anders Carlsson.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript):
- Protect objects that can be removed by a script.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto.
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): Ditto.
- Also fixed some nonsense code.
-
-2011-08-23 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Add checks to ensure allocation does not take place during initialization of GC-managed objects
- https://bugs.webkit.org/show_bug.cgi?id=65288
-
- Reviewed by Darin Adler.
-
- Adding the new validation functionality. In its current state, it will performs checks,
- but they don't fail unless you do allocation in the arguments to the parent constructor in the
- initialization list of a class. The allocateCell() method turns on the global flag disallowing any new
- allocations, and the constructorBody() method in JSCell turns it off. This way, allocation is still
- allowed in constructor bodies while other refactoring efforts continue.
-
- * Plugins/Hosted/ProxyRuntimeObject.h:
- (WebKit::ProxyRuntimeObject::create):
- * Plugins/Hosted/ProxyRuntimeObject.mm:
- (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
-
-2011-08-18 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=66495
- Lion-specific scroller SPIs can use forward declaration instead of
- WebKitSystemInterface
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-08-18 Anders Carlsson <andersca@apple.com>
-
- More C++0x libc++ build fixes
- https://bugs.webkit.org/show_bug.cgi?id=66476
-
- Reviewed by Adam Roben.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCSetException):
- Use a WTF String here instead of an STL string.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
- std::make_pair now takes rvalue references, so get rid of the template arguments and let
- the compiler deduce them instead.
-
-2011-08-18 Adam Roben <aroben@apple.com>
-
- Update the device scale factor when the WebView's window changes
-
- Fixes <http://webkit.org/b/66412> <rdar://problem/9971958> WebKit doesn't react when a
- WebView is moved between windows with different backing scale factors
-
- Reviewed by Anders Carlsson.
-
- * WebView/WebView.mm:
- (-[WebView viewDidMoveToWindow]): Call setDeviceScaleFactor because our new window (or no
- window at all) might have a different backing scale factor than the previous one.
- (-[WebView _deviceScaleFactor]): Moved to the WebFileInternal category.
-
-2011-08-17 Adam Roben <aroben@apple.com>
-
- Make WebCore keep track of the current device scale factor
-
- Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
- device scale factor
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- Moved code to calculate the device scale factor from here...
-
- * WebView/WebView.mm:
- (-[WebView _deviceScaleFactor]):
- ...to here.
-
- (-[WebView _windowDidChangeResolution:]): Now calls Page::setDeviceScaleFactor.
-
-2011-08-17 Dan Bernstein <mitz@apple.com>
-
- Removed some code that is not needed when building for Leopard or later.
-
- Reviewed by Anders Carlsson.
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (fixMenusToSendToOldClients): Removed check for Tiger Mail.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::objectContentType):
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView _preferencesChanged:]):
-
-2011-08-17 Dan Bernstein <mitz@apple.com>
-
- Eliminate the WebCGFloat compatibility definition that was needed for Tiger.
-
- Rubber-stamped by Anders Carlsson.
-
- * WebView/WebHTMLViewPrivate.h:
-
-2011-08-17 Dan Bernstein <mitz@apple.com>
-
- Eliminate the WebNSInteger and WebNSUInteger compatibility definitions that were
- needed for Tiger.
-
- Reviewed by Darin Adler.
-
- * History/WebBackForwardList.h:
- * WebView/WebDocumentInternal.h:
- * WebView/WebHTMLRepresentation.h:
- * WebView/WebPreferences.h:
- * WebView/WebResourceLoadDelegate.h:
- * WebView/WebResourceLoadDelegatePrivate.h:
- * WebView/WebScriptDebugDelegate.h:
- * WebView/WebTextIterator.h:
- * WebView/WebUIDelegate.h:
- * WebView/WebView.h:
- * WebView/WebViewPrivate.h:
-
-2011-08-15 Dmitry Titov <dimich@chromium.org>
-
- FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
- https://bugs.webkit.org/show_bug.cgi?id=66165
-
- Reviewed by Darin Fisher.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::transferLoadingResourceFromPage):
-
-2011-08-15 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Refactor JS objects to allocate in static create methods rather than constructors
- https://bugs.webkit.org/show_bug.cgi?id=65347
-
- Reviewed by Geoffrey Garen.
-
- Removed all calls to deprecatedGetDOMObject from initialization lists as part of a
- larger refactoring to get rid of all allocation during initialization.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyRuntimeMethod::create):
- (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
-
-2011-08-15 Adam Roben <aroben@apple.com>
-
- Update pages' style and content scale when the window's backing scale factor changes
-
- Unfortunately, I couldn't think of a way to test this in an automated fashion.
-
- Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device
- scale factor changes
-
- Reviewed by Simon Fraser.
-
- * WebView/WebView.mm:
- (-[WebView addWindowObserversForWindow:]):
- (-[WebView removeWindowObservers]):
- Listen for the notification that tells us the window's backing scale has changed.
-
- (-[WebView _windowDidChangeResolution:]): Tell the page about the change to the device scale
- factor so that, e.g., scale-factor-dependent media queries will be reevaluated.
-
-2011-08-10 Adam Roben <aroben@apple.com>
-
- Clear up scale factor terminology
-
- WebKit by and large deals with two scale factors: one intrinsic to the device on which the
- software is running, and one that is per-Page and can be controlled via API calls. This
- patch names the former "deviceScaleFactor" and the latter "pageScaleFactor", and makes the
- code use those names. It should introduce no behavior changes.
-
- Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the
- device scale factor
-
- Reviewed by Simon Fraser.
-
- * Misc/WebNSControlExtras.m:
- (-[NSControl sizeToFitAndAdjustWindowHeight]): Updated this function to use more modern
- AppKit scale factor terminology. (This is unrelated to the rest of the patch.)
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
-
-2011-08-13 Dan Bernstein <mitz@apple.com>
-
- Changed the value of WebKitShowsToolTipOverTruncatedTextPreferenceKey to match the naming everywhere else.
-
- Reviewed by Joseph Pecoraro.
-
- * WebView/WebPreferenceKeysPrivate.h:
-
-2011-08-13 Sam Weinig <sam@webkit.org>
-
- Remove unused variables from WebView/WebFullScreenController.h
- https://bugs.webkit.org/show_bug.cgi?id=66194
-
- Reviewed by Dan Bernstein.
-
- * WebView/WebFullScreenController.h:
- Remove a few variables which were not used.
-
-2011-08-12 Dan Bernstein <mitz@apple.com>
-
- Add an option to automatically show tooltips (with the full text) over truncated text
- https://bugs.webkit.org/show_bug.cgi?id=66178
-
- Reviewed by Simon Fraser.
-
- * WebView/WebPreferenceKeysPrivate.h: Defined a preference key.
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Added a default value of NO for the
- ShowsToolTipOverTruncatedText preference.
- (-[WebPreferences showsToolTipOverTruncatedText]): Added this getter.
- (-[WebPreferences setShowsToolTipOverTruncatedText:]): Added this setter.
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]): Added call to Settings::setShowsToolTipOverTruncatedText().
-
-2011-08-12 Sam Weinig <sam@webkit.org>
-
- Use __builtin_trap() for CRASH when building with clang
- https://bugs.webkit.org/show_bug.cgi?id=66152
-
- Reviewed by Anders Carlsson.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView setAttributeKeys:andValues:]):
- (-[WebBaseNetscapePluginView handleMouseMoved:]):
- (-[WebBaseNetscapePluginView handleMouseEntered:]):
- (-[WebBaseNetscapePluginView handleMouseExited:]):
- (-[WebBaseNetscapePluginView focusChanged]):
- (-[WebBaseNetscapePluginView windowFocusChanged:]):
- (-[WebBaseNetscapePluginView createPlugin]):
- (-[WebBaseNetscapePluginView loadStream]):
- (-[WebBaseNetscapePluginView shouldStop]):
- (-[WebBaseNetscapePluginView destroyPlugin]):
- (-[WebBaseNetscapePluginView updateAndSetWindow]):
- (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
- (-[WebBaseNetscapePluginView pluginLayer]):
- (-[WebBaseNetscapePluginView getFormValue:]):
- Remove the ASSERT_NOT_REACHED from the base class methods. They were not
- adding much value and were getting in the way of making the static analyzer
- work. A better way to do this would be to use a formal protocol.
-
-2011-08-12 Mark Rowe <mrowe@apple.com>
-
- Be more forward-looking in the choice of compiler.
-
- Rubber-stamped by Jon Honeycutt.
-
- * Configurations/CompilerVersion.xcconfig:
-
-2011-08-10 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=66004
-
- Removing the CSS Regions and Exclusions ifdefs.
-
- Reviewed by Adam Roben.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-08-09 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Add ParentClass typedef in all JSC classes
- https://bugs.webkit.org/show_bug.cgi?id=65731
-
- Reviewed by Oliver Hunt.
-
- Just added the Base typedefs in all the classes that are a subclass of JSCell
- to point at their parent classes. This is a change to support future changes to the way
- constructors and destructors are implemented in JS objects, among other things.
-
- * Plugins/Hosted/ProxyInstance.mm:
- * Plugins/Hosted/ProxyRuntimeObject.h:
-
-2011-08-08 Chris Marrin <cmarrin@apple.com>
-
- Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState
- https://bugs.webkit.org/show_bug.cgi?id=65708
-
- Supply initial display rects for the full-screen case
-
- Reviewed by Simon Fraser.
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController enterFullscreen:]):
- (-[WebFullScreenController exitFullscreen]):
-
-2011-08-06 Joseph Pecoraro <joepeck@webkit.org>
-
- Potential Leaks - RetainPtr<> over retaining Create'd objects
- https://bugs.webkit.org/show_bug.cgi?id=65806
-
- Reviewed by Darin Adler.
-
- Fix a possible leak by adopting an allocation instead of retaining it.
-
- * WebView/WebView.mm:
- (-[WebView previousValidKeyView]):
-
-2011-08-05 Anders Carlsson <andersca@apple.com>
-
- Remove PluginHalter
- https://bugs.webkit.org/show_bug.cgi?id=65729
-
- Reviewed by Darin Adler.
-
- Remove plug-in halter and associated classes.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
- (-[WebBaseNetscapePluginView start]):
- (-[WebBaseNetscapePluginView stop]):
- * WebCoreSupport/WebPluginHalterClient.h: Removed.
- * WebCoreSupport/WebPluginHalterClient.mm: Removed.
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView _preferencesChanged:]):
- * WebView/WebViewPrivate.h:
-
-2011-08-04 Mark Rowe <mrowe@apple.com>
-
- Future-proof Xcode configuration settings.
-
- * Configurations/Base.xcconfig:
- * Configurations/DebugRelease.xcconfig:
- * Configurations/Version.xcconfig:
- * Configurations/WebKit.xcconfig:
-
-2011-08-03 Kent Tamura <tkent@chromium.org>
-
- Fix incorrect checks for HTMLMediaElement
- https://bugs.webkit.org/show_bug.cgi?id=65590
-
- Reviewed by Dimitri Glazkov.
-
- <video> and <audio> can be an HTMLElement instance instead of
- HTMLMediaElement if MediaPlayer::isAvailable() returns false or
- the media feature is disabled at runtime.
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController _isAnyMoviePlaying]):
-
-2011-08-03 Mark Rowe <mrowe@apple.com>
-
- Bring some order to FeatureDefines.xcconfig to make it easier to follow.
-
- Reviewed by Sam Weinig.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-08-03 Mark Rowe <mrowe@apple.com>
-
- Clean up FeatureDefines.xcconfig to remove some unnecessary conditional settings
-
- Reviewed by Dave Kilzer.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-08-03 Joseph Pecoraro <joepeck@webkit.org>
-
- Web Inspector: Remove InspectorFrontendHost load/saveSessionSetting
- https://bugs.webkit.org/show_bug.cgi?id=65582
-
- Reviewed by Pavel Feldman.
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
-
-2011-08-03 Pavel Feldman <pfeldman@google.com>
-
- Web Inspector: [Timeline] Hover on paint events and see rect outline around that area.
- https://bugs.webkit.org/show_bug.cgi?id=65510
-
- Reviewed by Yury Semikhatsky.
-
- * WebInspector/WebNodeHighlightView.mm:
- (-[WebNodeHighlightView drawRect:]):
-
-2011-08-03 Pavel Feldman <pfeldman@chromium.org>
-
- Web Inspector: remove Node parameter from the InspectorClient::highlight
- https://bugs.webkit.org/show_bug.cgi?id=65549
-
- Reviewed by Yury Semikhatsky.
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::highlight):
- * WebInspector/WebNodeHighlighter.h:
- * WebInspector/WebNodeHighlighter.mm:
- (-[WebNodeHighlighter highlight]):
-
-2011-07-30 Patrick Gansterer <paroga@webkit.org>
-
- Remove inclusion of MainThread.h from Threading.h
- https://bugs.webkit.org/show_bug.cgi?id=65081
-
- Reviewed by Darin Adler.
-
- Add missing include statements for MainThread.
-
- * Carbon/CarbonWindowAdapter.mm:
- * History/WebBackForwardList.mm:
- * History/WebHistoryItem.mm:
- * Misc/WebElementDictionary.mm:
- * Misc/WebIconDatabase.mm:
- * Misc/WebLocalizableStrings.mm:
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- * Plugins/WebBaseNetscapePluginView.mm:
- * Plugins/WebBasePluginPackage.mm:
- * Plugins/WebNetscapePluginView.mm:
- * WebCoreSupport/WebEditorClient.mm:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebView/WebArchive.mm:
- * WebView/WebDataSource.mm:
- * WebView/WebHTMLView.mm:
- * WebView/WebResource.mm:
- * WebView/WebTextIterator.mm:
- * WebView/WebView.mm:
- * WebView/WebViewData.mm:
-
-2011-07-28 Dan Bernstein <mitz@apple.com>
-
- <rdar://problem/9589433> Displaying Japanese dictionary contents in vertical orientation takes a couple of seconds
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Initialize wkGetVerticalGlyphsForCharacters.
-
-2011-07-28 Brady Eidson <beidson@apple.com>
-
- <rdar://problem/9714337> and https://bugs.webkit.org/show_bug.cgi?id=65306
- WebKitInitializeStorageIfNecessary() can take awhile performing i/o, isn't necessary for every WebView
-
- Reviewed by Maciej Stachowiak.
-
- * Storage/WebStorageManager.mm:
- (WebKitInitializeStorageIfNecessary): Pass the client along in initializeTracker().
-
-2011-07-27 Mark Hahnenberg <mhahnenberg@apple.com>
-
- Remove operator new from JSCell
- https://bugs.webkit.org/show_bug.cgi?id=64999
-
- Reviewed by Oliver Hunt.
-
- Removed the implementation of operator new in JSCell, so any further uses
- will not successfully link. Also removed any remaining uses of operator new.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::newRuntimeObject):
- (WebKit::ProxyRuntimeMethod::create):
- (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
- (WebKit::ProxyInstance::getMethod):
- * Plugins/Hosted/ProxyRuntimeObject.h:
- (WebKit::ProxyRuntimeObject::create):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
-
-2011-07-26 Dan Bernstein <mitz@apple.com>
-
- <rdar://problem/9842889> Add a generic pictograph font family
- https://bugs.webkit.org/show_bug.cgi?id=65197
-
- Reviewed by Anders Carlsson.
-
- * WebView/WebPreferenceKeysPrivate.h: Added WebKitPictographFontPreferenceKey.
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Set the default pictograph font family to
- "Apple Color Emoji".
- (-[WebPreferences pictographFontFamily]): Added this getter.
- (-[WebPreferences setPictographFontFamily:]): Added this setter.
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]): Pass the preference through to WebCore.
-
-2011-07-25 Ian Henderson <ianh@apple.com>
-
- WebFrame should have a method to determine its visual emptiness
- https://bugs.webkit.org/show_bug.cgi?id=64223
-
- Reviewed by Dan Bernstein.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _isVisuallyNonEmpty]): Pipe the isVisuallyNonEmpty method
- through WebKit.
- * WebView/WebFramePrivate.h:
-
-2011-07-19 Leo Yang <leoyang.webkit@gmail.com>
-
- SVG: Missing implementation of <altGlyphDef>, <altGlyphItem> and <glyphRef>
- https://bugs.webkit.org/show_bug.cgi?id=60850
-
- Reviewed by Nikolas Zimmermann.
-
- SVG spec: http://www.w3.org/TR/SVG/text.html#AlternateGlyphDefinitions.
- This patch is to implement SVG <altGlyphDef>, <altGlyphItem> and <glyphRef>
- elements for alternative glyph features.
-
- * MigrateHeaders.make:
-
-2011-07-18 Andy Estes <aestes@apple.com>
-
- Solar Walk app-specific hack accidentally strips stylesheets from the document.
- https://bugs.webkit.org/show_bug.cgi?id=64777
-
- Reviewed by Adam Barth.
-
- Solar Walk uses a self-closed title tag in its documents ("<title />").
- The HTML5 parser does not recognize this as a valid self-closing tag,
- so it treats the remainder of the document as title text.
-
- We work around this in WebKit by injecting a script that calls
- document.write() on the contents of document.title, thereby restoring
- the contents of the document. Unfortunately this overwrote several
- <style> tags that existed before the <title>, thereby causing the
- document to not have the intended styling.
-
- Fix this by having the injected script concatenate document.title to
- the document instead of overwriting it during document.write(). We can
- also take the opportunity to remove document.title since it does not
- contain useful information.
-
- * Misc/SolarWalkQuirksUserScript.js:
-
-2011-07-18 Dean Jackson <dino@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=64742
- Expose WebPreferences for media playback requiring user gestures and inline playback
-
- Reviewed by Simon Fraser.
-
- Two new WebPreferences: MediaPlaybackRequiresUserGesture and
- MediaPlaybackAllowsInline.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences mediaPlaybackRequiresUserGesture]):
- (-[WebPreferences setMediaPlaybackRequiresUserGesture:]):
- (-[WebPreferences mediaPlaybackAllowsInline]):
- (-[WebPreferences setMediaPlaybackAllowsInline:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2011-07-18 Pratik Solanki <psolanki@apple.com>
-
- Part of https://bugs.webkit.org/show_bug.cgi?id=63674
- Get webkit to compile with USE(CFNETWORK) enabled on Mac
-
- Reviewed by David Kilzer.
-
- Create an NSURLDownload from the CF objects that we have.
-
- * Misc/WebDownload.mm:
- (-[WebDownload _initWithLoadingCFURLConnection:request:response:delegate:proxy:]):
- * Misc/WebDownloadInternal.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::download):
-
-2011-07-15 Pratik Solanki <psolanki@apple.com>
-
- Part of https://bugs.webkit.org/show_bug.cgi?id=63674
- Get webkit to compile with USE(CFNETWORK) enabled on Mac
-
- Reviewed by David Kilzer.
-
- New WebKitSystemInterface functions for CFNetwork-based loader.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-07-15 Tim Horton <timothy_horton@apple.com>
-
- Overlay scrollbars in overflow areas no longer pulse when revealed
- https://bugs.webkit.org/show_bug.cgi?id=64606
- <rdar://problem/9390674>
-
- Reviewed by Simon Fraser.
-
- Ensure that the state of the scrollbar implementation is kept in sync
- with WebCore's internal representation. Previously, we synchronized them
- at paint time, causing pulsing to be skipped due to the scrollbars being
- disabled.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-07-15 Andy Estes <aestes@apple.com>
-
- Rename applicationIsSolarWalk() to applicationIsSolarWalkMac().
- https://bugs.webkit.org/show_bug.cgi?id=64641
-
- Reviewed by Brian Weinstein.
-
- * WebView/WebView.mm:
- (needsSolarWalkQuirksScript): Call applicationIsSolarWalkMac().
-
-2011-07-15 Dan Bernstein <mitz@apple.com>
-
- REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
- https://bugs.webkit.org/show_bug.cgi?id=64615
-
- Reviewed by Anders Carlsson.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::setCursorHiddenUntilMouseMoves): Added. Calls
- +[NSCursor setHiddenUntilMouseMoves:].
-
-2011-07-14 Gavin Barraclough <barraclough@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=64250
- Global strict mode function leaking global object as "this".
-
- Reviewed by Oliver Hunt.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- - Change call to pass DOM Window shell, instead of the global varaible object.
-
-2011-07-13 Joseph Pecoraro <joepeck@webkit.org>
-
- Improve names of some ApplicationCacheStorage accessor methods
- https://bugs.webkit.org/show_bug.cgi?id=64433
-
- Reviewed by Alexey Proskuryakov.
-
- * WebCoreSupport/WebApplicationCacheQuotaManager.mm:
- (-[WebApplicationCacheQuotaManager usage]):
- (-[WebApplicationCacheQuotaManager quota]):
- Renamed methods.
-
-2011-07-12 Joseph Pecoraro <joepeck@webkit.org>
-
- ApplicationCache update should not immediately fail when reaching per-origin quota
- https://bugs.webkit.org/show_bug.cgi?id=64177
-
- Reviewed by Alexey Proskuryakov.
-
- * WebView/WebUIDelegatePrivate.h:
- * DefaultDelegates/WebDefaultUIDelegate.m:
- (-[WebDefaultUIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:spaceNeeded:]):
- Update the delegate to include a space needed parameter.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::reachedApplicationCacheOriginQuota):
- Call the delegate with the new space needed information.
-
-2011-07-12 Adam Roben <aroben@apple.com>
-
- Delete some redundant code in WebHTMLView
-
- This code had no user-visible effect, as we were just duplicating work that AppKit would do
- for us at a slightly different time.
-
- Fixes <http://webkit.org/b/64390> WebHTMLView sets its root layer's transform unnecessarily
-
- Reviewed by Simon Fraser.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView viewDidMoveToWindow]):
- (-[WebHTMLView attachRootLayer:]):
- Don't bother setting the root layer's transform to account for the scale factor. AppKit
- takes care of this for us nowadays.
-
-2011-07-10 Kenichi Ishibashi <bashi@chromium.org>
-
- Let plugins participate in form submission
- https://bugs.webkit.org/show_bug.cgi?id=13061
-
- Adds methods to get form value from NPAPI plugins.
-
- Reviewed by Anders Carlsson.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.h:
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView getFormValue:]): Added.
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView getFormValue:]): Added.
- * Plugins/WebNetscapePluginPackage.h:
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage browserFuncs]): Added.
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView getFormValue:]): Added.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (NetscapePluginWidget::getFormValue): Added.
-
-2011-07-04 Dan Bernstein <mitz@apple.com>
-
- Moved handling of frame size changes into its own method.
-
- Reviewed by Oliver Hunt.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _frameSizeChanged]): Added. Moved code here...
- (-[WebFrameView setFrameSize:]): ...from here.
- * WebView/WebFrameViewInternal.h:
-
-2011-07-01 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit part of fix for https://bugs.webkit.org/show_bug.cgi?id=63851
- <rdar://problem/8981062> Crash when loading a document in an editable WebView that has a subframe with an unstyled body
-
- * WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
- Only call applyEditingStyleToBodyElement for the main frame. There's no need to apply break-word,
- space, and after-white-space properties to subframes in the editable document.
-
-2011-07-01 Andy Estes <aestes@apple.com>
-
- Reviewed by Mark Rowe.
-
- Simplify MailQuirksUserScript.js
- https://bugs.webkit.org/show_bug.cgi?id=63800
-
- MailQuirksUserScript.js is injected into WebViews in Mail.app on
- Leopard to resolve an incompatibility between it and the HTML5 parser.
- It did so by taking all nodes in the document between <html> and <body>
- and moving them to be children of <body>. This maintains Mail.app's
- assumption that document.firstChild.firstChild == document.body.
-
- While this script fixed a specific issue with the Signature panel in
- Mail.app, it caused regressions in other WebViews. Since the issue with
- the Signature panel is with the empty <head> node implicitly created by
- the parser, we can simplify this script by removing this implicit
- <head> in the case it has no attributes and no children. This fixes the
- Signature panel without affecting other WebViews that have non-trivial
- <head> nodes.
-
- * Misc/MailQuirksUserScript.js: If <head> exists but has no attributes
- and no children, remove it.
-
-2011-06-30 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adele Peterson.
-
- Add +[WebView _allowsRoundingHacks]
- https://bugs.webkit.org/show_bug.cgi?id=63734
-
- * WebView/WebView.mm:
- (+[WebView _allowsRoundingHacks]): Added this accessor.
- * WebView/WebViewPrivate.h:
-
-2011-06-29 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- [Mac] Use system cursors instead of custom bitmaps where possible
- https://bugs.webkit.org/show_bug.cgi?id=63679
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Added WKCursor.
-
-2011-06-28 Ilya Sherman <isherman@chromium.org>
-
- Reviewed by Adam Barth.
-
- form.autocomplete="off" does not work
- https://bugs.webkit.org/show_bug.cgi?id=35823
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation elementDoesAutoComplete:]): Update callsite.
-
-2011-06-26 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Use a separate file name for Lion's WebKitSystemInterface.
-
- * Configurations/DebugRelease.xcconfig:
-
-2011-06-24 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Add an option to enable legacy rounding hacks
- https://bugs.webkit.org/show_bug.cgi?id=63363
-
- * Misc/WebKitNSStringExtras.mm:
- (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
- Disabled rounding hacks.
- (-[NSString _web_widthWithFont:]): Ditto.
- * WebView/WebView.mm:
- (+[WebView _setAllowsRoundingHacks:]): Added this setter.
- * WebView/WebViewPrivate.h:
-
-2011-06-24 Dominic Cooney <dominicc@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Convert shadow DOM-related tests to use window.internals
- https://bugs.webkit.org/show_bug.cgi?id=61671
-
- Remove shadow DOM-related methods from Mac API. These are not
- required any more.
-
- * DOM/WebDOMOperations.mm:
- * DOM/WebDOMOperationsPrivate.h:
-
-2011-06-24 Yuta Kitamura <yutak@chromium.org>
-
- Reviewed by Adam Barth.
-
- WebSocket: Add run-time flag for new HyBi protocol
- https://bugs.webkit.org/show_bug.cgi?id=60348
-
- Make a new flag (Setting::m_useHixie76WebSocketProtocol)
- switchable from WebView and WebPreferences.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences setHixie76WebSocketProtocolEnabled:]):
- (-[WebPreferences isHixie76WebSocketProtocolEnabled]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2011-06-22 Sam Weinig <sam@webkit.org>
-
- Roll out r89469 (Add preference for setting the html parser depth limit)
-
- The preference is not needed at this time, so there is no reason to expose it.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2011-06-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add preference for setting the html parser depth limit
- https://bugs.webkit.org/show_bug.cgi?id=63163
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences setMaximumHTMLParserDOMTreeDepth:]):
- (-[WebPreferences maximumHTMLParserDOMTreeDepth]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
- Add private preference for setting the parser depth limit.
-
-2011-06-22 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Darin Adler.
-
- Make instantiation of legacy editing position more explicit
- https://bugs.webkit.org/show_bug.cgi?id=63037
-
- Create new positions since we can't create a legacy editing position outside of WebCore anymore.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _smartDeleteRangeForProposedRange:]): Calls createLegacyEditingPosition.
- (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
-
-2011-06-20 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Kent Tamura.
-
- FileChooser should be only created when we need to choose files.
- https://bugs.webkit.org/show_bug.cgi?id=63039
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::runOpenPanel): Changed to use settings.
-
-2011-06-21 MORITA Hajime <morrita@google.com>
-
- Unreviewed, rolling out r89401 and r89403.
- http://trac.webkit.org/changeset/89401
- http://trac.webkit.org/changeset/89403
- https://bugs.webkit.org/show_bug.cgi?id=62970
-
- Breaks mac build and mistakenly enables the spellcheck API
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-06-20 MORITA Hajime <morrita@google.com>
-
- Reviewed by Kent Tamura.
-
- Spellcheck API should be build-able.
- https://bugs.webkit.org/show_bug.cgi?id=62970
-
- No new tests, changing only build related files
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-06-21 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r89354.
- http://trac.webkit.org/changeset/89354
- https://bugs.webkit.org/show_bug.cgi?id=63099
-
- Broke tests on Mac (Requested by rniwa on #webkit).
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController destroyInspectorView:]):
- * WebInspector/WebInspector.mm:
- (-[WebInspector show:]):
- (-[WebInspector showConsole:]):
- (-[WebInspector isDebuggingJavaScript]):
- (-[WebInspector toggleDebuggingJavaScript:]):
- (-[WebInspector startDebuggingJavaScript:]):
- (-[WebInspector stopDebuggingJavaScript:]):
- (-[WebInspector isProfilingJavaScript]):
- (-[WebInspector toggleProfilingJavaScript:]):
- (-[WebInspector startProfilingJavaScript:]):
- (-[WebInspector stopProfilingJavaScript:]):
- (-[WebInspector isJavaScriptProfilingEnabled]):
- (-[WebInspector setJavaScriptProfilingEnabled:]):
- (-[WebInspector isTimelineProfilingEnabled]):
- (-[WebInspector setTimelineProfilingEnabled:]):
- (-[WebInspector setFrontend:]):
- (-[WebInspector showWindow:]):
- * WebInspector/WebInspectorFrontend.h:
- * WebInspector/WebInspectorFrontend.mm:
- * WebInspector/WebInspectorPrivate.h:
-
-2011-06-20 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: introduce InspectorFrontendAPI for actions initiated from the application menu.
- https://bugs.webkit.org/show_bug.cgi?id=62985
-
- Both: inspector protocol and WebCore/InspectorController have a number of unnecessary
- methods for plumbing the menu action handlers through the WebKit and WebCore.
- I intend to remove this menu support from the protocol and WebCore/InspectorController API.
- I am starting with exposing the new front-end API in the WebCore and using it in the WebKit/mac port.
- WebKit/win and WebKit2 to follow.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController destroyInspectorView:]):
- * WebInspector/WebInspector.mm:
- (-[WebInspector showWindow]):
- (-[WebInspector show:]):
- (-[WebInspector showConsole:]):
- (-[WebInspector isDebuggingJavaScript]):
- (-[WebInspector toggleDebuggingJavaScript:]):
- (-[WebInspector startDebuggingJavaScript:]):
- (-[WebInspector stopDebuggingJavaScript:]):
- (-[WebInspector isProfilingJavaScript]):
- (-[WebInspector toggleProfilingJavaScript:]):
- (-[WebInspector startProfilingJavaScript:]):
- (-[WebInspector stopProfilingJavaScript:]):
- (-[WebInspector isJavaScriptProfilingEnabled]):
- (-[WebInspector setJavaScriptProfilingEnabled:]):
- (-[WebInspector isTimelineProfilingEnabled]):
- (-[WebInspector setTimelineProfilingEnabled:]):
- (-[WebInspector setFrontend:]):
- (-[WebInspector releaseFrontend]):
- (-[WebInspector showWindow:]):
- * WebInspector/WebInspectorFrontend.h:
- * WebInspector/WebInspectorFrontend.mm:
- (-[WebInspectorFrontend isDebuggingEnabled]):
- (-[WebInspectorFrontend setDebuggingEnabled:]):
- (-[WebInspectorFrontend isProfilingJavaScript]):
- (-[WebInspectorFrontend startProfilingJavaScript]):
- (-[WebInspectorFrontend stopProfilingJavaScript]):
- (-[WebInspectorFrontend isJavaScriptProfilingEnabled]):
- (-[WebInspectorFrontend setJavaScriptProfilingEnabled:]):
- (-[WebInspectorFrontend isTimelineProfilingEnabled]):
- (-[WebInspectorFrontend setTimelineProfilingEnabled:]):
- * WebInspector/WebInspectorPrivate.h:
-
-2011-06-01 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Eric Carlson.
-
- Move Full Screen Controllers into WebCore.
-
- Remove dependency on QTKit from wekitExitFullscreen()
- https://bugs.webkit.org/show_bug.cgi?id=61843
-
- WebVideoFullscreenController, WebVideoFullscreenHUDController, and WebWindowAnimation
- have been moved into WebCore.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Add support for four WKSI functions in WCSI.
- * WebView/WebFullScreenController.mm: Remove unused #include.
- * WebView/WebView.mm: Change the include location of
- WebVideoFullscreenController.h
-
-2011-06-18 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Darin Adler.
-
- Separate concerns of loading file icons and choosing files.
- https://bugs.webkit.org/show_bug.cgi?id=62931
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::loadIconForFiles): Renamed.
-
-2011-06-18 Andrew Wellington <andrew@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=62843
- WebKit Mac API calls didReceiveAuthenticationChallenge instead of
- didCancelAuthenticationChallenge
-
- * WebView/WebView.mm:
- (-[WebView _cacheResourceLoadDelegateImplementations]):
-
-2011-06-16 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r89026.
- http://trac.webkit.org/changeset/89026
- https://bugs.webkit.org/show_bug.cgi?id=62804
-
- These patches were likely correct. I'll investigate the
- browser_test failures. (Requested by abarth on #webkit).
-
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController setPlaying:]):
-
-2011-06-16 Vitaly Repeshko <vitalyr@chromium.org>
-
- Unreviewed.
-
- Revert Adam's user gesture patch series r89002, r89005, r89007, r89018
- https://bugs.webkit.org/show_bug.cgi?id=62796
-
- The patches broke chromium browser tests.
-
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController setPlaying:]):
-
-2011-06-16 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove HTMLVideoElement::processingUserGesture
- https://bugs.webkit.org/show_bug.cgi?id=62784
-
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController setPlaying:]):
-
-2011-06-15 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove ScriptController::setAllowPopupsFromPlugin
- https://bugs.webkit.org/show_bug.cgi?id=62706
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView sendEvent:isDrawRect:]):
-
-2011-06-15 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/62745> Convert WebNSFileManagerExtras.m to Objective-C++
-
- Reviewed by Joseph Pecoraro.
-
- * Misc/WebNSFileManagerExtras.mm: Renamed from Source/WebKit/mac/Misc/WebNSFileManagerExtras.m.
- (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]):
- Added static_cast<MetaDataInfo *>.
-
-2011-06-14 Stephanie Lewis <slewis@apple.com>
-
- Rubber stamped by Oliver Hunt.
-
- <rdar://problem/9511169>
- Update order files.
-
- * WebKit.order:
-
-2011-06-13 Kentaro Hara <haraken@google.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Add resizePageRectsKeepingRatio(), which expands/shrinks a page, keeping the ratio of the original page
- https://bugs.webkit.org/show_bug.cgi?id=61256
-
- In order to prevent rounding error caused by expanding/shrinking a page
- using different calculation here and there, I added a common calculation
- method, resizePageRectsKeepingRatio(), which expands/shrinks a page,
- keeping the ratio of width and height of the original page.
- [WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]
- and [WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]
- use resizePageRectsKeepingRatio() to expand/shrink a page.
-
- Test: printing/page-count-with-one-word.html
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _web_setPrintingModeRecursive]):
- (-[WebHTMLView _web_clearPrintingModeRecursive]):
- (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]):
- (-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumShrinkRatio:]):
- (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]):
- (-[WebHTMLView _endPrintMode]):
- (-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]):
- (-[WebHTMLView _endScreenPaginationMode]):
- (-[WebHTMLView layoutToMinimumPageWidth:height:maximumShrinkRatio:adjustingViewSize:]):
- (-[WebHTMLView layout]):
- (-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:maximumShrinkRatio:adjustViewSize:paginateScreenContent:]):
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
- (-[WebHTMLView setPageWidthForPrinting:]):
-
-2011-06-13 Tony Chang <tony@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- rename ENABLE_NEW_FLEXBOX to ENABLE_CSS3_FLEXBOX
- https://bugs.webkit.org/show_bug.cgi?id=62578
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-06-13 Tony Chang <tony@chromium.org>
-
- Reviewed by Adam Barth.
-
- rename ENABLE_FLEXBOX to ENABLE_NEW_FLEXBOX
- https://bugs.webkit.org/show_bug.cgi?id=62545
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-06-12 Adam Barth <abarth@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense
- https://bugs.webkit.org/show_bug.cgi?id=62516
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::interruptedForPolicyChangeError):
-
-2011-06-12 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove FrameLoader::isProcessingUserGesture
- https://bugs.webkit.org/show_bug.cgi?id=62519
-
- * WebView/WebView.mm:
- (-[WebView _isProcessingUserGesture]):
-
-2011-06-12 Adam Barth <abarth@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Remove trival "forward-to-client" member functions from FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=62510
-
- * WebCoreSupport/WebFrameNetworkingContext.mm:
- (WebFrameNetworkingContext::blockedError):
-
-2011-06-10 Tony Chang <tony@chromium.org>
-
- Reviewed by Ojan Vafai.
-
- add a compile guard ENABLE(FLEXBOX)
- https://bugs.webkit.org/show_bug.cgi?id=62049
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-06-06 Michael Saboff <msaboff@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Fonts returned by FontCache::getFontDataForCharacters() are never released
- https://bugs.webkit.org/show_bug.cgi?id=61875
-
- This change allows fonts allocated as system fallback fonts to be
- released. Previously, the reference counts for these fonts grew
- without bound. This is implemented as an auto release class that wraps
- accesses to the cache for system fallback fonts. All such accesses are
- via the method FontCache::getFontDataForCharacters. The new class is
- called FontCachePurgePreventer. When such an object exists, it protects
- these fonts from deletion.
-
- See more comments for this defect in Source/WebCore/ChangeLog.
-
- * Misc/WebKitNSStringExtras.mm:
- (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
- (-[NSString _web_widthWithFont:]):
- Wrapped code accessing fallback fonts with local
- FontCachePurgePreventer in these methods.
-
- * Misc/WebStringTruncator.mm:
- (+[WebStringTruncator centerTruncateString:toWidth:]):
- (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
- (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
- (+[WebStringTruncator widthOfString:font:]):
- Wrapped code accessing fallback fonts with local
- FontCachePurgePreventer in these methods.
-
-2011-06-06 Peter Kasting <pkasting@google.com>
-
- Reviewed by Antonio Gomes.
-
- Remove unnecessary args from scroll functions.
- https://bugs.webkit.org/show_bug.cgi?id=61648
-
- * WebView/WebFrame.mm:
- (-[WebFrame _scrollDOMRangeToVisible:]):
-
-2011-06-06 Alexandru Chiculita <achicu@adobe.com>
-
- Reviewed by Kent Tamura.
-
- Add ENABLE_CSS_EXCLUSIONS support for build-webkit script
- https://bugs.webkit.org/show_bug.cgi?id=61628
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-06-06 Mihnea Ovidenie <mihnea@adobe.com>
-
- Reviewed by Kent Tamura.
-
- Add ENABLE(CSS_REGIONS) guard for CSS Regions support
- https://bugs.webkit.org/show_bug.cgi?id=61631
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-06-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Need a way to install the memory pressure handler without initializing WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=61975
-
- Add a WebInstallMemoryPressureHandler function which will install the memory pressure handler.
- -[WebView WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:] will do this,
- but we'd like to be able to install a memory pressure handler without creating a WebView or even
- calling any WebView method since that will call +[WebView initialize].
-
- * WebKit.exp:
- * WebView/WebView.mm:
- (WebInstallMemoryPressureHandler):
- * WebView/WebViewPrivate.h:
-
-2011-05-27 Stephanie Lewis <slewis@apple.com>
-
- Unreviewed.
-
- Fix a typo in the order_file flag.
-
- * Configurations/Base.xcconfig:
-
-2011-05-27 Stephanie Lewis <slewis@apple.com>
-
- Rubber Stamped by Adam Roben.
-
- Update Order Files. Use -order_file flag since it can order more of the binary.
-
- * Configurations/Base.xcconfig:
- * WebKit.order:
-
-2011-05-25 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Brady Eidson.
-
- https://bugs.webkit.org/show_bug.cgi?id=61407
- part of <rdar://problem/8675177>
- Remove Quicklook pref. Moving it enirely down into WebCore so it can
- be calculated only on reloads.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]):
-
-2011-05-24 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Darin Adler.
-
- Video fails to play on Vimeo
- https://bugs.webkit.org/show_bug.cgi?id=61403
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Added support for wkAVAssetResolvedURL and
- wkQTMovieResolvedURL.
-
-2011-05-24 Keishi Hattori <keishi@webkit.org>
-
- Reviewed by Kent Tamura.
-
- Disable input color. Add INPUT_COLOR feature flag. Implement input color sanitizer.
- https://bugs.webkit.org/show_bug.cgi?id=61273
-
- * Configurations/FeatureDefines.xcconfig: Added INPUT_COLOR feature flag.
-
-2011-05-24 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add FIXME comments about removing FrameLoader::isProcessingUserGesture
- https://bugs.webkit.org/show_bug.cgi?id=61395
-
- * WebView/WebView.mm:
- (-[WebView _isProcessingUserGesture]):
-
-2011-05-24 Michael Saboff <msaboff@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Improve handling in WebCore of low memory situations
- https://bugs.webkit.org/show_bug.cgi?id=61222
-
- Added call to enable memory pressure handling.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- * WebView/WebViewInternal.h:
-
-2011-05-24 Jay Civelli <jcivelli@chromium.org>
-
- Rubberstamped by David Kilzer.
-
- Updated some files that I forgot in my previous MHTML CL.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-05-20 Jeremy Noble <jer.noble@apple.com>
-
- Reviewed by Simon Fraser.
-
- Stack overflow in WebFullScreenController when built on Leopard and run on SnowLeopard.
- https://bugs.webkit.org/show_bug.cgi?id=61224
-
- Remove the CATransaction(SnowLeopardConvenience) functions, and replace them with the Leopard
- versions of same.
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController windowDidEnterFullscreen:]):
- (-[WebFullScreenController enterFullscreen:]):
- (-[WebFullScreenController exitFullscreen]):
- (-[WebFullscreenWindow setRendererLayer:]):
-
-2011-05-20 Andy Estes <aestes@apple.com>
-
- Reviewed by Darin Adler.
-
- WebView loses firstResponder status when entering full-screen mode.
- https://bugs.webkit.org/show_bug.cgi?id=61153
-
- * Misc/WebNSWindowExtras.h:
- * Misc/WebNSWindowExtras.m:
- (-[NSWindow makeResponder:firstResponderIfDescendantOfView:]): Add a
- convenience method to NSWindow that makes the given NSResponder first
- responder only if it is a descendant of the given view.
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController windowDidEnterFullscreen:]): If the WebView
- was a descendant of the browser window's first responder when entering
- full-screen mode, set the full-screen window's first responder to that
- same NSResponder.
- (-[WebFullScreenController exitFullscreen]): Do the reverse of what is
- done in windowDidEnterFullscreen:.
-
-2011-05-20 Enrica Casucci <enrica@apple.com>
-
- Reviewed by David Kilzer.
-
- Add delegate methods about focus and blur to all elements.
- https://bugs.webkit.org/show_bug.cgi?id=61218
-
- We want to have delegates for these events for all the elements, not only the form elements.
- The patch changes the name of the methods in a way that is not form element specific.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::elementDidFocus):
- (WebChromeClient::elementDidBlur):
- * WebView/WebUIDelegatePrivate.h:
-
-2011-05-20 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Sam Weinig.
-
- numberOfActiveAnimations() can include animations from documents in the page cache
- https://bugs.webkit.org/show_bug.cgi?id=53641
-
- Pass the Frame's document as the one to count animations on.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _numberOfActiveAnimations]):
-
-2011-05-17 Timothy Hatcher <timothy@apple.com>
-
- Update the the context menu to reflect the system search provider on Mac.
-
- <rdar://problem/9198419>
-
- Reviewed by Sam Weinig.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
- (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]): Use wkCopyDefaultSearchProviderDisplayName to
- create the web search context menu title.
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Added CopyDefaultSearchProviderDisplayName.
-
-2011-05-16 Emil A Eklund <eae@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Replace docTop/Right/Bottom/Left/Width/Height with documentRect
- https://bugs.webkit.org/show_bug.cgi?id=60743
-
- Replace uses of docWidth/Height with documentRect.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]):
-
-2011-05-16 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Antti Koivisto.
-
- Fix for Bug 43704 - Web font is printed as blank if it is not cached
- https://bugs.webkit.org/show_bug.cgi?id=43704
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]): Use ResourceCacheValidationSuppressor to allow stale resources in printing.
-
-2011-05-16 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/60913> C++ exceptions should not be enabled when building with llvm-gcc-4.2
- <rdar://problem/9446430>
-
- Reviewed by Mark Rowe.
-
- * Configurations/Base.xcconfig: Fixed typo.
-
-2011-05-13 Jon Lee <jonlee@apple.com>
-
- Reviewed by Simon Fraser.
-
- Can't horizontally scroll iframes and overflow because wheel events are always accepted
- https://bugs.webkit.org/show_bug.cgi?id=60779
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::numWheelEventHandlersChanged): Default impl of new ChromeClient method
- (WebChromeClient::shouldRubberBandInDirection): Default impl of new ChromeClient method
-
-2011-05-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Prune #includes from FrameView.h (Part 2)
- https://bugs.webkit.org/show_bug.cgi?id=60748
-
- - Update files that were depending on FrameView.h #including Frame.h or
- Page.h.
-
- * WebView/WebClipView.mm:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]):
-
-2011-05-12 Pratik Solanki <psolanki@apple.com>
-
- Reviewed by Antti Koivisto.
-
- Part of WebCore should use CFNetwork-based loader on Mac
- https://bugs.webkit.org/show_bug.cgi?id=51836
-
- Use CFRunLoop when using CFNetwork.
-
- * WebView/WebView.mm:
- (-[WebView scheduleInRunLoop:forMode:]):
- (-[WebView unscheduleFromRunLoop:forMode:]):
-
-2011-05-12 Pratik Solanki <psolanki@apple.com>
-
- Reviewed by Antti Koivisto.
-
- Part of WebCore should use CFNetwork-based loader on Mac
- https://bugs.webkit.org/show_bug.cgi?id=51836
-
- Include AuthenticationCF.h header file.
-
- * Misc/WebDownload.mm:
- * Plugins/WebBaseNetscapePluginView.mm:
- * WebCoreSupport/WebFrameLoaderClient.mm:
-
-2011-05-12 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler and Adam Barth.
-
- Fix for <rdar://problem/9253454> Solar Walk For Mac: Info window is blank (HTML5 parser)
- https://bugs.webkit.org/show_bug.cgi?id=60685
-
- Solar Walk uses a self closing title tag, so to match the behavior of the old parser,
- we use a UserScript to write the contents of the title element to the end of the document so it can be re-parsed.
-
- * Misc/SolarWalkQuirksUserScript.js: Added.
- * WebView/WebView.mm:
- (needsSolarWalkQuirksScript):
- (leakSolarWalkQuirksUserScriptContents):
- (-[WebView _injectSolarWalkQuirksScript]):
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2011-05-12 Jia Pu <jpu@apple.com>
-
- Reviewed by Darin Adler.
-
- Regression caused by changeset 86281
- https://bugs.webkit.org/show_bug.cgi?id=60712
- <rdar://problem/9427970>
-
- Removed the condition variable. [NSSpellChecker dismissCorrectionIndicatorForView:] is blocking.
- So handleAcceptedReplacement() triggered by dismissInternal() will return before dismissInternal()
- returns. So we don't need to use the condition to coordinate between these two function. In fact,
- all callbacks are delivered on main thread. We don't really need any locking here.
-
- Since now we don't have distinction between dismiss() and dismissSoon(). dismissSoon() has
- been removed.
-
- * WebCoreSupport/CorrectionPanel.h:
- * WebCoreSupport/CorrectionPanel.mm:
- (CorrectionPanel::CorrectionPanel):
- (CorrectionPanel::show):
- (CorrectionPanel::dismiss):
- (CorrectionPanel::dismissInternal):
- (CorrectionPanel::handleAcceptedReplacement):
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::dismissCorrectionPanelSoon):
-
-2011-05-12 Patrick Gansterer <paroga@webkit.org>
-
- Reviewed by Adam Barth.
-
- Enable OwnPtr strict mode in PluginHalter
- https://bugs.webkit.org/show_bug.cgi?id=60681
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2011-05-12 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Darin Adler.
-
- String operator+ reallocates unnecessarily when concatting > 2 strings
- https://bugs.webkit.org/show_bug.cgi?id=58420
-
- Provide a faster String append operator. See Source/JavaScriptCore/ChangeLog for details.
-
- * WebView/WebFrame.mm: Explicitely cast to Strings first, so operator NSString*() can be invoked.
- (-[WebFrame _stringWithDocumentTypeStringAndMarkupString:]):
-
-2011-05-10 Tony Gentilcore <tonyg@chromium.org>
-
- Reviewed by Darin Adler.
-
- Perform some forward declarations suggested by include-what-you-use
- https://bugs.webkit.org/show_bug.cgi?id=60545
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- * WebView/WebFrame.mm:
-
-2011-05-11 Jia Pu <jpu@apple.com>
-
- Reviewed by Darin Adler.
-
- CorrectionPanel sometimes hangs in dismissSoon().
- https://bugs.webkit.org/show_bug.cgi?id=60599
- <rdar://problem/9313628>
-
- Make sure dismissSoon() won't wait indefinitely if handleAcceptedReplacement() sets m_resultForSynchronousDismissal
- to nil. Added a designated variable m_isDismissing, instead of piggy-backing m_resultForSynchronousDismissal,
- for condition checking.
-
- * WebCoreSupport/CorrectionPanel.h:
- * WebCoreSupport/CorrectionPanel.mm:
- (CorrectionPanel::CorrectionPanel):
- (CorrectionPanel::show):
- (CorrectionPanel::dismissSoon):
- (CorrectionPanel::dismissInternal):
- (CorrectionPanel::handleAcceptedReplacement):
-
-2011-05-10 Anton D'Auria <adauria@apple.com>
-
- Reviewed by David Levin.
-
- Add ApplicationCache API to get disk usage per origin
- https://bugs.webkit.org/show_bug.cgi?id=57127
-
- Added Mac port API.
-
- * WebCoreSupport/WebApplicationCache.h:
- * WebCoreSupport/WebApplicationCache.mm:
- (+[WebApplicationCache diskUsageForOrigin:]):
-
-2011-05-10 Anton D'Auria <adauria@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Add ApplicationCache API to get disk usage per origin
- https://bugs.webkit.org/show_bug.cgi?id=57127
-
- Added Mac port API.
-
- * WebCoreSupport/WebApplicationCache.h:
- * WebCoreSupport/WebApplicationCache.mm:
- (+[WebApplicationCache diskUsageForOrigin:]):
-
-2011-05-10 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=60582
- Crash switching overlay/non-overlay scrollbar preference still possible
- -and corresponding-
- <rdar://problem/9323983>
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-05-09 Jeremy Noble <jer.noble@apple.com>
-
- Reviewed by Darin Adler.
-
- Command-~/Exposé to another window while <video> is in full screen, breaks Safari, eventually leading to crash
- https://bugs.webkit.org/show_bug.cgi?id=60496
-
- When animating into and out of full screen, order out and back in the original webView window,
- disabling animations when necessary. The exitFullscreen method was targeting the wrong window,
- as the webView is hosted in the full screen window when we ask for it's parent window.
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController windowDidEnterFullscreen:]):
- (-[WebFullScreenController exitFullscreen]):
-
-2011-05-04 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Dimitri Glazkov.
-
- Implement LayoutTestController::pseudoShadowId()
- https://bugs.webkit.org/show_bug.cgi?id=60034
-
- * DOM/WebDOMOperations.mm:
- (-[DOMElement _shadowPseudoId]):
- * DOM/WebDOMOperationsPrivate.h:
-
-2011-05-05 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- WebKit part of <rdar://problem/9155590> Broken animation in iAd producer
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Initialize wkExecutableWasLinkedOnOrBeforeSnowLeopard.
-
-2011-05-05 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Rename SelectionController to FrameSelection
- https://bugs.webkit.org/show_bug.cgi?id=60234
-
- * WebView/WebFrame.mm:
- (-[WebFrame _rangeByAlteringCurrentSelection:FrameSelection::direction:granularity:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.mm:
- * WebView/WebTextCompletionController.mm:
- (-[WebTextCompletionController doCompletion]):
- * WebView/WebView.mm:
-
-2011-05-04 Cris Neckar <cdn@chromium.org>
-
- Reviewed by Adam Barth.
-
- Expose WebView directly through ChromeClient.
- https://bugs.webkit.org/show_bug.cgi?id=49902
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::webView):
- * WebView/WebFrame.mm:
- (kit):
-
-2011-05-04 Tao Bai <michaelbai@chromium.org>
-
- Reviewed by David Kilzer.
-
- Populate touch-icon url to FrameLoaderClient
- https://bugs.webkit.org/show_bug.cgi?id=59143
-
- Respect the interface change in FrameLoaderClient.
-
- * Configurations/FeatureDefines.xcconfig:
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidChangeIcons):
-
-2011-05-03 Julien Chaffraix <jchaffraix@codeaurora.org>
-
- Reviewed by Dimitri Glazkov.
-
- Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot*
- https://bugs.webkit.org/show_bug.cgi?id=58703
-
- * DOM/WebDOMOperations.mm: Added #include for ShadowRoot.h.
-
-2011-05-02 Adam Roben <aroben@apple.com>
-
- Take advantage of implicit conversion from nullptr_t to PassOwnPtr
-
- Fixes <http://webkit.org/b/59964> Implicit conversion from std::nullptr_t to PassOwnPtr
- doesn't work, but should
-
- Reviewed by Adam Barth.
-
- * History/WebHistory.mm:
- * Plugins/WebNetscapePluginEventHandler.mm:
- * WebView/WebView.mm:
-
-2011-05-02 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/9340945> and https://bugs.webkit.org/show_bug.cgi?id=59973
- In Aperture, a WebView might be dealloc'ed before it finishes loading.
-
- * WebView/WebView.mm:
- (needsSelfRetainWhileLoadingQuirk):
- (-[WebView _didStartProvisionalLoadForFrame:]): If we need the quirk, retain self.
- (-[WebView _didFinishLoadForFrame:]): If we need the quirk, release self on a delay.
- (-[WebView _didFailLoadWithError:forFrame:]): Ditto.
- (-[WebView _didFailProvisionalLoadWithError:forFrame:]): Ditto.
-
-2011-05-02 Adam Barth <abarth@webkit.org>
-
- Reviewed by David Levin.
-
- PLATFORM(MAC) should (almost!) build with strict PassOwnPtr
- https://bugs.webkit.org/show_bug.cgi?id=59924
-
- * History/WebHistory.mm:
- (-[WebHistory _visitedURL:withTitle:method:wasFailure:increaseVisitCount:]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::savePlatformDataToCachedFrame):
- * WebView/WebView.mm:
- (-[WebView _injectMailQuirksScript]):
- (-[WebView _injectOutlookQuirksScript]):
- (toStringVector):
-
-2011-05-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Barth.
-
- Prune some #includes from DOMWindow.h
- https://bugs.webkit.org/show_bug.cgi?id=59907
-
- * Plugins/WebBaseNetscapePluginView.mm:
- * WebView/WebFrame.mm:
- Add now missing SecurityOrigin.h #includes.
-
-2011-05-01 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Get rid of versions of sendContextMenuEvent and eventMayStartDrag that takes NSEvent
- https://bugs.webkit.org/show_bug.cgi?id=59837
-
- Call sendContextMenuEvent and eventMayStartDrag with PlatformMouseEvent instead of NSEvent.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView menuForEvent:]):
- (-[WebHTMLView acceptsFirstMouse:]):
- (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
-
-2011-05-01 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move currentKeyboardEvent from EventHandlerMac.mm to WebHTMLView.mm
- https://bugs.webkit.org/show_bug.cgi?id=59835
-
- Moved currentKeyboardEvent.
-
- * WebView/WebHTMLView.mm:
- (currentKeyboardEvent):
- (-[WebHTMLView becomeFirstResponder]):
-
-2011-04-29 Dean Jackson <dino@apple.com>
-
- Reviewed by Simon Fraser.
-
- Add ENABLE macro for WebKitAnimation
- https://bugs.webkit.org/show_bug.cgi?id=59729
-
- Add new feature to toggle WebKit Animation API.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-04-28 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/59758> Fix static analyzer warnings for missing assignment to 'self' in -init methods
-
- Reviewed by Anders Carlsson.
-
- * History/WebHistory.mm:
- (-[WebHistoryPrivate init]):
- * Misc/WebElementDictionary.mm:
- (-[WebElementDictionary initWithHitTestResult:]):
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase init]):
- * Plugins/WebPluginController.mm:
- (-[WebPluginController initWithDocumentView:]):
- * Plugins/WebPluginRequest.m:
- (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
- * WebCoreSupport/WebEditorClient.mm:
- (-[WebEditCommand initWithEditCommand:]):
- * WebCoreSupport/WebJavaScriptTextInputPanel.m:
- (-[WebJavaScriptTextInputPanel initWithPrompt:text:]):
- * WebView/WebNavigationData.mm:
- (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
-
-2011-04-28 David Levin <levin@chromium.org>
-
- Reviewed by Adam Barth.
-
- Remove IMAGE_RESIZER related code.
- https://bugs.webkit.org/show_bug.cgi?id=59735
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-04-28 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove WML
- https://bugs.webkit.org/show_bug.cgi?id=59678
-
- Remove WML-related configuration options and private APIs.
-
- * Configurations/FeatureDefines.xcconfig:
- * WebCoreSupport/WebChromeClient.mm:
- (stringForMessageSource):
- * WebView/WebFramePrivate.h:
- * WebView/WebUIDelegatePrivate.h:
-
-2011-04-28 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: REGRESSION(85051): Develop Menu items are wrong when inspector is frontmost window
- https://bugs.webkit.org/show_bug.cgi?id=59747
-
- Restore functions that were removed in r85051. They were needed when the inspector is the frontmost window.
- Also update them to call _inspectedWebView.get() - since it's a RetainPtr now.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController showWebInspector:]):
- (-[WebInspectorWindowController showErrorConsole:]):
- (-[WebInspectorWindowController toggleDebuggingJavaScript:]):
- (-[WebInspectorWindowController toggleProfilingJavaScript:]):
- (-[WebInspectorWindowController validateUserInterfaceItem:]):
-
-2011-04-28 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/59725> -[WebFullscreenWindow initWithContentRect:styleMask:backing:defer:] leaks a CALayer
-
- Reviewed by Dan Bernstein.
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullscreenWindow initWithContentRect:styleMask:backing:defer:]):
- Use a RetainPtr to hold the CALayer and to fix the leak.
-
-2011-04-28 David Kilzer <ddkilzer@apple.com>
-
- Follow-up fix: <http://webkit.org/b/59727> -[WebPDFView menuForEvent:] leaks NSMenuItem objects
-
- Addresses review comment from Darin Adler.
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView menuForEvent:]): Use a local variable and -release
- instead of -autorelease.
-
-2011-04-28 Anders Carlsson <andersca@apple.com>
-
- Fix a thinko - separateRealmLabel is not an NSImageView.
-
- * Panels/WebAuthenticationPanel.h:
-
-2011-04-28 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/59727> -[WebPDFView menuForEvent:] leaks NSMenuItem objects
-
- Reviewed by Dan Bernstein.
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView menuForEvent:]): Call -autorelease after copying
- each NSMenuItem. Regressed in r9566 for Bug 3711.
-
-2011-04-28 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Beth Dakin.
-
- Momentum scroll tweak for WebKit.
- https://bugs.webkit.org/show_bug.cgi?id=59723
- <rdar://problem/9259933>
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView scrollWheel:]): Changed constant.
-
-2011-04-27 Anders Carlsson <andersca@apple.com>
-
- Follow-up Leopard build fix.
-
- * Carbon/HIViewAdapter.m:
- (_webkit_NSView_setNeedsDisplayInRect):
-
-2011-04-27 Anders Carlsson <andersca@apple.com>
-
- More clang++ 32-bit build fixes.
-
- * Carbon/CarbonWindowAdapter.mm:
- (-[CarbonWindowAdapter reconcileToCarbonWindowBounds]):
- (-[CarbonWindowAdapter setContentView:]):
- (-[CarbonWindowAdapter _handleContentBoundsChanged]):
- * Carbon/HIViewAdapter.m:
- (_webkit_NSView_setNeedsDisplayInRect):
- * Panels/WebAuthenticationPanel.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
- (getCarbonEvent):
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::scrollRectIntoView):
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory accessibilityConvertScreenRect:]):
- * WebView/WebFrameView.mm:
- (-[WebFrameView _scrollToBeginningOfDocument]):
- (-[WebFrameView _scrollToEndOfDocument]):
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController windowDidEnterFullscreen:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _hitViewForEvent:]):
- (coreGraphicsScreenPointForAppKitScreenPoint):
- * WebView/WebPDFView.mm:
- (-[WebPDFView setScrollPoint:]):
-
-2011-04-27 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
- https://bugs.webkit.org/show_bug.cgi?id=44230
-
- Use RetainPtr access inspected view from the inspector one to avoid inspected view being deleted before
- inspector is closed.
-
- * WebCoreSupport/WebInspectorClient.mm: store reference to inspected view in RetainPtr. Despite the removed
- comment in initWithInspectedWebView this doesn't introduce cyclic reference since there are no retaining
- pointers to the WebInspectorWindowController from the inspected page or from the WebInspectorClient.
- There is only one reference to it from WebInspectorFrontendClient which is held by the inspector
- front-end page.
-
- Drive-by fix: removed several unused methods which are currently implemented in mac/WebInspector/WebInspector.mm
- (-[WebInspectorWindowController initWithInspectedWebView:]):
- (-[WebInspectorWindowController close]):
- (-[WebInspectorWindowController showWindow:]):
- (-[WebInspectorWindowController setAttachedWindowHeight:]):
- (-[WebInspectorWindowController destroyInspectorView:]):
-
-2011-04-26 Sam Weinig <sam@webkit.org>
-
- Reviewed by David Hyatt.
-
- Remove Datagrid from the tree
- https://bugs.webkit.org/show_bug.cgi?id=59543
-
- * Configurations/FeatureDefines.xcconfig:
- Remove feature.
-
-2011-04-26 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- Choose the compiler based on the Xcode version for Snow Leopard debug builds.
-
- * Configurations/Base.xcconfig:
- * Configurations/CompilerVersion.xcconfig: Added.
-
-2011-04-25 Adam Barth <abarth@webkit.org>
-
- Reviewed by David Levin.
-
- WebKit2 should play nice with strict OwnPtrs
- https://bugs.webkit.org/show_bug.cgi?id=59426
-
- Fix include ordering.
-
- * WebView/WebDeviceOrientationProviderMock.mm:
-
-2011-04-25 Adam Barth <abarth@webkit.org>
-
- Reviewed by David Levin.
-
- WebKit1 should build cleanly with strict OwnPtrs
- https://bugs.webkit.org/show_bug.cgi?id=59424
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem initFromDictionaryRepresentation:]):
- * Plugins/WebNetscapePluginEventHandler.h:
- * Plugins/WebNetscapePluginEventHandler.mm:
- (WebNetscapePluginEventHandler::create):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView createPlugin]):
- * WebView/WebDeviceOrientationProviderMock.mm:
- * WebView/WebTextIterator.mm:
- (-[WebTextIterator initWithRange:]):
-
-2011-04-25 Jon Lee <jonlee@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Overlay scroller hard to see on pages with dark background (59183)
- https://bugs.webkit.org/show_bug.cgi?id=59183
- <rdar://problem/8975367>
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): adding method to allow changing style
-
-2011-04-23 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r84740.
- http://trac.webkit.org/changeset/84740
- https://bugs.webkit.org/show_bug.cgi?id=59290
-
- change breaks apple internal builds and is incorrect
- (Requested by smfr on #webkit).
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-04-22 Jon Lee <jonlee@apple.com>
-
- Reviewed by Beth Dakin.
-
- Overlay scroller hard to see on pages with dark background (59183)
- https://bugs.webkit.org/show_bug.cgi?id=59183
- <rdar://problem/8975367>
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): adding method to allow changing style
-
-2011-04-19 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Daniel Bates.
-
- Full Screen from within an <iframe> does not cause <iframe> to resize.
- https://bugs.webkit.org/show_bug.cgi?id=58638
-
- Tests: fullscreen/full-screen-frameset-allowed.html
- fullscreen/full-screen-frameset-not-allowed.html
-
- Return the _element's document instead of the WKView's document, which
- will be different in the case of elements within <iframe>s.
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController _document]):
-
-2011-04-22 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Disable MediaPlayerPrivateAVFoundation when using old full screen mode.
- https://bugs.webkit.org/show_bug.cgi?id=59147
-
- Add a new user default preference, and plumb that preference down to WebCore
- Settings. Allow the fullScreenEnabled preference to override the new
- isAVFoundationEnabled preference, so that clients of the legacy full screen
- mode will continue to use that mode normally.
-
- * WebView/WebPreferenceKeysPrivate.h: Add new preference key.
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Set the default value of new
- preference.
- (-[WebPreferences setAVFoundationEnabled:]): Added.
- (-[WebPreferences isAVFoundationEnabled]): Added.
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]): Update the WebCore settings with the
- new values from WebPreferences.
-
-2011-04-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Remove remaining uses of deprecated version of toJS
- https://bugs.webkit.org/show_bug.cgi?id=59170
-
- * DOM/WebDOMOperations.mm:
- (-[DOMElement _shadowRoot:]):
- (-[DOMElement _ensureShadowRoot:]):
- Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype.
-
-2011-04-21 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam Roben.
-
- Add a feature define to allow <details> and <summary> to be disabled
- https://bugs.webkit.org/show_bug.cgi?id=59118
- <rdar://problem/9257045>
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-04-21 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Sam Weinig.
-
- Add Frame* to the argument lists of canCopyCut and canPaste
- https://bugs.webkit.org/show_bug.cgi?id=59153
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::canCopyCut):
- (WebEditorClient::canPaste):
-
-2011-04-21 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r82052.
- http://trac.webkit.org/changeset/82052
- https://bugs.webkit.org/show_bug.cgi?id=59135
-
- New full screen api should be opt-in, not opt-out. (Requested
- by jernoble on #webkit).
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
-
-2011-04-21 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=59048
- Need to track whether overlay scrollbar is currently visible and in lower-
- righthand corner
- -and corresponding-
- <rdar://problem/9211232>
-
- A new WebSystemInterface is needed for this.
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-04-21 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- SVG feDropShadow implementation of SVG Filters 1.2
- https://bugs.webkit.org/show_bug.cgi?id=52513
-
- * MigrateHeaders.make:
-
-2011-04-20 Dominic Cooney <dominicc@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- layoutTestController can create and destroy shadow DOM
- https://bugs.webkit.org/show_bug.cgi?id=59058
-
- Support for new methods in Mac DRT.
-
- * DOM/WebDOMOperations.mm:
- (-[DOMElement _ensureShadowRoot:]):
- (-[DOMElement _removeShadowRoot]):
- * DOM/WebDOMOperationsPrivate.h:
-
-2011-04-20 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Adopt QTKit API for listing and deleting file in its media cache.
- <rdar://problem/9130029>
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Initialize new functions.
-
-2011-04-19 Matthew Delaney <mdelaney@apple.com>
-
- Reviewed by Simon Fraser.
-
- WebPreferences in WebKit1 should have CanvasUsesAcceleratedDrawing set to NO by default
- https://bugs.webkit.org/show_bug.cgi?id=58936
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
-
-2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
- https://bugs.webkit.org/show_bug.cgi?id=58883
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidReceiveContentLength):
-
-2011-04-18 Jia Pu <jpu@apple.com>
-
- Reviewed by Mark Rowe.
-
- WebKit needs to stop importing <AppKit/NSTextChecker.h>
- https://bugs.webkit.org/show_bug.cgi?id=58798
- <rdar://problem/9294938>
-
- Use public header <AppKit/NSSpellChecker.h> instead.
-
- * WebCoreSupport/CorrectionPanel.h:
- * WebCoreSupport/CorrectionPanel.mm:
- (correctionIndicatorType):
- (CorrectionPanel::show):
- (CorrectionPanel::dismissInternal):
- (CorrectionPanel::handleAcceptedReplacement):
- * WebCoreSupport/WebEditorClient.mm:
- * WebView/WebView.mm:
-
-2011-04-17 Cameron Zwarich <zwarich@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- Stop using -[NSString initWithContentsOfFile:]
- https://bugs.webkit.org/show_bug.cgi?id=58763
-
- -[NSString initWithContentsOfFile:] was deprecated in 10.4, so we should stop using it.
-
- * WebView/WebView.mm:
- (leakMailQuirksUserScriptContents):
- (leakOutlookQuirksUserScriptContents):
-
-2011-04-17 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting
- <rdar://problem/9268729>
-
- Reviewed by Dan Bernstein.
-
- This replaces support for the WebKitEnableHTTPPipelining user
- default with methods on the WebCore::ResourceRequest class in
- WebCore, the WebView class in WebKit1, and the WebContext class
- in WebKit2. It also removes support for the
- WebKitForceHTTPPipeliningPriorityHigh user default which was not
- needed.
-
- * WebView/WebView.mm:
- (+[WebView(WebPrivate) _HTTPPipeliningEnabled]): Added.
- (+[WebView(WebPrivate) _setHTTPPipeliningEnabled:]): Added.
- * WebView/WebViewPrivate.h:
- (+[WebView(WebPrivate) _HTTPPipeliningEnabled]): Added declaration.
- (+[WebView(WebPrivate) _setHTTPPipeliningEnabled:]): Added declaration.
-
-2011-04-17 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Assign to self in WebInspectorWindowController constructors
- https://bugs.webkit.org/show_bug.cgi?id=58749
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController init]):
- (-[WebInspectorWindowController initWithInspectedWebView:]):
-
-2011-04-17 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- Move WebNodeHighlighter into its own file
- https://bugs.webkit.org/show_bug.cgi?id=58746
-
- Extract this class into its own file alongside the
- other WebNodeHighlight files. In doing so do some
- cleanup on WebInspectorClient removing some methods
- that were never called.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::WebInspectorClient): style fix.
- * WebInspector/WebNodeHighlighter.h: Added.
- * WebInspector/WebNodeHighlighter.mm: Added.
- (-[WebNodeHighlighter initWithInspectedWebView:]): call super init.
- (-[WebNodeHighlighter dealloc]):
- (-[WebNodeHighlighter highlightNode:]):
- (-[WebNodeHighlighter hideHighlight]):
- (-[WebNodeHighlighter didAttachWebNodeHighlight:]):
- (-[WebNodeHighlighter willDetachWebNodeHighlight:]):
-
-2011-04-15 Jia Pu <jpu@apple.com>
-
- Reviewed by Dan Bernstein.
-
- [Mac] WebKit needs to convert the bounding box of autocorrected word to view coordinate.
- https://bugs.webkit.org/show_bug.cgi?id=58717
-
- Convert the bounding box from window coordinate to view coordinate, which is expected by NSCorrectionPanel.
-
- * WebCoreSupport/CorrectionPanel.mm:
- (CorrectionPanel::show):
-
-2011-04-15 Shishir Agrawal <shishir@chromium.org>
-
- Reviewed by James Robinson.
-
- Add a flag to guard Page Visibility API changes.
- https://bugs.webkit.org/show_bug.cgi?id=58464
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-04-15 Oliver Hunt <oliver@apple.com>
-
- GC allocate Structure
- https://bugs.webkit.org/show_bug.cgi?id=58483
-
- Rolling r83894 r83827 r83810 r83809 r83808 back in with
- a workaround for the gcc bug seen by the gtk bots
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyRuntimeMethod::createStructure):
- * Plugins/Hosted/ProxyRuntimeObject.h:
- (WebKit::ProxyRuntimeObject::createStructure):
-
-2011-04-14 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WebKit2: Password field input does not switch to ASCII-compatible source
- https://bugs.webkit.org/show_bug.cgi?id=58583
- <rdar://problem/9059651>
-
- Now that WebCore doesn't set secure input mode, WebKit has to. Happily, it already has the
- necessary logic, needed to return a nil text input context when in password fields.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView close]): If the view is still enforcing secure event mode, stop.
- (-[WebHTMLView windowDidBecomeKey:]): Call _updateSecureInputState.
- (-[WebHTMLView windowDidResignKey:]): Ditto.
- (-[WebHTMLView becomeFirstResponder]): Call _updateSecureInputState. It's a bit tricky
- because the first responder is still different an this point, so set a boolean variable to
- let _updateSecureInputState know what's going on.
- (-[WebHTMLView resignFirstResponder]): Disable secure event mode if it's on.
- (-[WebHTMLView _updateSecureInputState]): Update HIToolbox secure event input state and
- allowed input sources accorsing to current selection.
- (-[WebHTMLView _updateSelectionForInputManager]): Call _updateSecureInputState.
-
-2011-04-15 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Make mac WebKit1 use the default localization strategy
- https://bugs.webkit.org/show_bug.cgi?id=58628
-
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
- Remove the localization strategy code. The equivalent is now
- in WebCore/platform/DefaultLocalizationStrategy.cpp.
-
-2011-04-15 Anna Cavender <annacc@chromium.org>
-
- Reviewed by Eric Carlson.
-
- Renaming TRACK feature define to VIDEO_TRACK
- https://bugs.webkit.org/show_bug.cgi?id=53556
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-04-14 Pratik Solanki <psolanki@apple.com>
-
- Reviewed by David Kilzer.
-
- Set minimum priority for fast lane connections
- https://bugs.webkit.org/show_bug.cgi?id=58353
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Support for new WKSI method WKSetHTTPPipeliningMinimumFastLanePriority.
-
-2011-04-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- WebKit2 doesn't keep overlay scrollers shown while scroll gesture held
- <rdar://problem/9260518>
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- Initialize new WKSI functions.
-
-2011-04-13 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/58172> Fix -Wcast-align warning in WebBasePluginPackage.mm
-
- Reviewed by Anders Carlsson.
-
- Fixes the following warning with -Wcast-align enabled:
-
- Source/WebKit/mac/Plugins/WebBasePluginPackage.mm:402:21:{402:21-402:93}{402:39-402:93}: error: cast from 'uint8_t *' (aka 'unsigned char *') to 'struct fat_arch *' increases required alignment from 1 to 4 [-Werror,-Wcast-align,3]
- archs = (struct fat_arch*)((uint8_t*)rawData.data() + sizeof(struct fat_header));
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage isNativeLibraryData:]): Added
- COMPILE_ASSERT() to make sure our pointer math is valid.
- Removed cast to (uint8_t*) and divide sizeof(struct fat_header)
- by sizeof(uint32_t) to fix the pointer math. Replaced C-style
- casts with reinterpret_cast.
-
-2011-04-12 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Infinite recursion in WebHTMLView executeSavedKeypressCommands.
- https://bugs.webkit.org/show_bug.cgi?id=58382
- <rdar://problem/9239370>
-
- Execution of some editing commands could trigger a call to selectedRange that
- internally calls executeSavedKeypressCommands creating an infinite recursion.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _executeSavedKeypressCommands]): Added a flag to avoid recursion.
- (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Added flag initialization.
-
-2011-04-12 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=58292
- Provide new setting to allow site icon loading despite disabling automatic image loading in general.
-
- * WebView/WebPreferenceKeysPrivate.h: Add preference key.
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Initialize to false.
- (-[WebPreferences setLoadsSiteIconsIgnoringImageLoadingPreference:]): Added.
- (-[WebPreferences loadsSiteIconsIgnoringImageLoadingPreference]): Added.
- * WebView/WebPreferencesPrivate.h: Add setter/getter definitions.
- * WebView/WebView.mm:
- (-[WebView _preferencesChanged:]): Add to settings that get propagated upon changes.
-
-2011-04-11 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- WebKit2: Safari doesn't respect cmd-arrows (and variations) as custom keyboard shortcuts
- https://bugs.webkit.org/show_bug.cgi?id=58175
- <rdar://problem/9060555>
-
- * WebView/WebFrameView.mm: (-[WebFrameView keyDown:]): Added a comment explaining how this
- should be changed to match WebKit2.
-
-2011-04-06 Timothy Hatcher <timothy@apple.com>
-
- Fix a bug where the context menu does not show in PDF documents if there is no
- UI delegate or the UI delegate does not respond to the context menu selector.
-
- https://webkit.org/b/57958
-
- Reviewed by Darin Adler.
-
- * WebView/WebView.mm:
- (-[WebView _menuForElement:defaultItems:]): CallUIDelegate returns nil
- if UIDelegate is nil or doesn't respond to the selector. So check that
- here to distinguish between using defaultMenuItems or the delegate
- really returning nil to say "no context menu".
-
-2011-04-11 Jer Noble <jer.noble@apple.com>
-
- Unreviewed; roll out unintentional change to WebFullScreenController.mm.
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController enterFullscreen:]):
-
-2011-04-08 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- A few heap-related renames and file moves.
-
- WeakGCPtr<T> => Weak<T>
- Global<T> => Strong<T>
- collector/ => heap/
- collector/* => heap/*
- runtime/WeakGCPtr.h => heap/Weak.h
-
- (Eventually, even more files should move into the heap directory. Like
- Heap.h and Heap.cpp, for example.)
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- * WebView/WebScriptDebugger.h:
-
-2011-04-08 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit2: Safari doesn't respect cmd-arrows (and variations) as custom keyboard shortcuts
- https://bugs.webkit.org/show_bug.cgi?id=58175
- <rdar://problem/9060555>
-
- * WebView/WebFrameView.mm: (-[WebFrameView keyDown:]): Added a comment explaining how this
- should be changed to match WebKit2.
-
-2011-04-08 Alpha Lam <hclam@chromium.org>
-
- Unreviewed, rolling out r83335.
- http://trac.webkit.org/changeset/83335
- https://bugs.webkit.org/show_bug.cgi?id=53556
-
- GTK and QT bots are broken
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-04-07 Anna Cavender <annacc@chromium.org>
-
- Reviewed by Eric Carlson.
-
- Setup ENABLE(TRACK) feature define
- https://bugs.webkit.org/show_bug.cgi?id=53556
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-04-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Darin Adler.
-
- -[WebView setPreferences:] can take a lot of time if loading lots of webviews at once
- https://bugs.webkit.org/show_bug.cgi?id=58128
- <rdar://problem/9244553>
-
- The root of the problem here was an O(N^2) issue - each WebView,
- upon having its preferences initialized, would broadcast a
- notification that was listened to by all other WebViews sharing
- its preferences.
-
- To maintain the API contract, I split the notification into two,
- one that is for public API consumption, and the other which is for
- internal use only. Changes that don't need to be picked up by
- other WebViews broadcast the public notification only. And we
- avoid WebView broadcasting a notification just to get itself to
- update.
-
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase _startUpIconDatabase]):
- (-[WebIconDatabase _shutDownIconDatabase]):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
- (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
- (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
- (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
- * WebView/WebPreferences.mm:
- (-[WebPreferences initWithIdentifier:]):
- (-[WebPreferences _setStringValue:forKey:]):
- (-[WebPreferences _setIntegerValue:forKey:]):
- (-[WebPreferences _setFloatValue:forKey:]):
- (-[WebPreferences _setBoolValue:forKey:]):
- (-[WebPreferences _setLongLongValue:forKey:]):
- (-[WebPreferences _setUnsignedLongLongValue:forKey:]):
- (-[WebPreferences _postPreferencesChangedNotification]):
- (-[WebPreferences _postPreferencesChangedAPINotification]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView _preferencesChangedNotification:]):
- (-[WebView _preferencesChanged:]):
- (-[WebView setUsesPageCache:]):
- (+[WebView initialize]):
- (-[WebView setPreferences:]):
- (-[WebView _keyboardUIMode]):
- * WebView/WebViewInternal.h:
-
-2011-04-07 Andrew Scherkus <scherkus@chromium.org>
-
- Revert ENABLE_TRACK patch due to compile failures.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-04-07 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
- https://bugs.webkit.org/show_bug.cgi?id=58066
- <rdar://problem/8965302>
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView attributedSubstringFromRange:]):
- (-[WebHTMLView attributedString]):
- (-[WebHTMLView selectedAttributedString]):
- Updated for editingAttributedStringFromRange: now taking a WebCore::Range instead of DOMRange.
-
-2011-04-07 Andy Estes <aestes@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (r64712): Microsoft Outlook 2011: original message contents
- not included when replying to an email.
- https://bugs.webkit.org/show_bug.cgi?id=57794
-
- Outlook populates a reply message by creating an empty WebView and
- using DOM API to populate the WebView's empty document with content
- from the original message. It expects the initial empty document to
- simply be "<html></html>", and it proceeds to dynamically create and
- append a BODY node and add the original message content as a child of
- that node. Outlook then takes the innerHTML of the frame's first body
- element and copies it into a *new* document that is displayed and
- edited in the reply message window.
-
- Due to implementing the HTML5 tree building algorithm in r64712,
- initial empty documents went from being "<html></html>" to being
- "<html><head></head><body></body></html>". Outlook still dynamically
- creates a BODY node to parent the original message content, but this
- BODY node duplicates the one created by the tree builder. When Outlook
- then takes the innerHTML of the first body element to populate the
- reply message window it gets the empty body element created by the
- parser, not the one it created with the original message content.
-
- Fix this by injecting a user script into the initial empty document
- that removes the HEAD and BODY nodes created by the parser. This
- ensures that the BODY created by Outlook is the only BODY in the
- document.
-
- * Misc/OutlookQuirksUserScript.js: Added.
- * WebView/WebView.mm:
- (leakMailQuirksUserScriptContents):
- (-[WebView _injectMailQuirksScript]):
- (needsOutlookQuirksScript):
- (leakOutlookQuirksUserScriptContents):
- (-[WebView _injectOutlookQuirksScript]):
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2011-04-06 Dai Mikurube <dmikurube@chromium.org>
-
- Reviewed by David Levin.
-
- Add QUOTA build flag for unified quota API
- https://bugs.webkit.org/show_bug.cgi?id=57918
-
- * Configurations/FeatureDefines.xcconfig: Added QUOTA build flag
-
-2011-04-06 Robert Sesek <rsesek@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too
- https://bugs.webkit.org/show_bug.cgi?id=54969
-
- * WebView/WebFrame.mm:
- (-[WebFrame _convertToNSRange:]): Moved duplicated code to WebCore
- (-[WebFrame _characterRangeAtPoint:]): Moved duplicated code to WebCore
-
-2011-04-05 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- Move attributedStringFromRange down to WebCore
- https://bugs.webkit.org/show_bug.cgi?id=57905
-
- * Misc/WebNSAttributedStringExtras.h: Removed.
- * Misc/WebNSAttributedStringExtras.mm: Removed.
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
- (-[WebHTMLView attributedSubstringFromRange:]):
- (-[WebHTMLView attributedString]):
- (-[WebHTMLView selectedAttributedString]):
- * WebView/WebPDFView.mm:
- (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
-
-2011-04-04 MORITA Hajime <morrita@google.com>
-
- Reviewed by Ryosuke Niwa.
-
- [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult
- https://bugs.webkit.org/show_bug.cgi?id=56085
-
- Removed NSTextCheckingResult to SpellCheckingResult convertion, and extracted
- NSTextCheckingResult to TextCheckingResult convertio from checkTextOfParagraph method.
- for requestCheckingOfString method.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (toCoreTextCheckingResults):
- (WebEditorClient::checkTextOfParagraph):
- (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:types:WebCore::results:]):
- (-[WebEditorSpellCheckResponder perform]):
- (WebEditorClient::requestCheckingOfString):
- * WebView/WebFrame.mm:
- (-[WebFrame markersForSelectionStartAsText]):
- * WebView/WebFramePrivate.h:
-
-2011-04-05 Anders Carlsson <andersca@apple.com>
-
- Didn't mean to land this.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView getVariable:value:]):
-
-2011-04-04 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match
-
- Reviewed by Alexey Proskuryakov.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Added initialization for
- wkSetHTTPPipeliningMaximumPriority().
-
-2011-04-04 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=51230
- <rdar://problem/8780989>
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView flagsChanged:]): Moved Caps Lock handling from
- WebKits to WebCore, because WebKit shouldn't be smart.
-
-2011-04-01 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION: Assertion failure when executing a complex custom key binding
- https://bugs.webkit.org/show_bug.cgi?id=57681
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView hasMarkedText]): There is no need to execute saved
- commands when they can't possibly change the result.
-
-2011-04-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Shockwave plug-in doesn't accept mouse events
- https://bugs.webkit.org/show_bug.cgi?id=57653
- <rdar://problem/8483273>
-
- Fix an unrelated bug found by the added test.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
- Make sure to always set destX and destY.
-
-2011-04-01 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- Make WebKit2 text input handling more like WebKit1
- https://bugs.webkit.org/show_bug.cgi?id=57649
-
- * WebView/WebFrameInternal.h: Expose _convertToDOMRange for use in WebHTMLView.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _executeSavedKeypressCommands]): Renamed, since these are not editor commands.
- (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Updated for the renamed _executeSavedKeypressCommands.
- (-[WebHTMLView characterIndexForPoint:]): Ditto.
- (-[WebHTMLView firstRectForCharacterRange:]): Ditto.
- (-[WebHTMLView selectedRange]): Ditto.
- (-[WebHTMLView markedRange]): Ditto.
- (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
- (-[WebHTMLView hasMarkedText]): Ditto.
- (-[WebHTMLView unmarkText]): Ditto.
- (-[WebHTMLView setMarkedText:selectedRange:]): Ditto. Changed the comment about the argument
- type into an assertion. Removed resetting interpretKeyEventsParameters to 0, as we shouldn't
- be able to call text input protocol methods from here (and we didn't even reset it back on
- return). Changed to retrieve all data before starting to apply actions to better match WK2 code.
- (-[WebHTMLView insertText:]): Ditto.
-
-2011-04-01 Timothy Hatcher <timothy@apple.com>
-
- Make momentum scroll event latching work in WebKit2 on Mac.
-
- <rdar://problem/8751861>
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Remove IsLatchingWheelEvent, add GetNSEventMomentumPhase.
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView scrollWheel:]): Use WKGetNSEventMomentumPhase to set isLatchingEvent.
-
-2011-03-31 Darin Adler <darin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Assertion failure in -[WebHTMLView _handleStyleKeyEquivalent:]
- https://bugs.webkit.org/show_bug.cgi?id=26667
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _handleStyleKeyEquivalent:]): Handle the case where WebView is
- nil rather than asserting that it is non-nil. One case where WebView will be nil
- is when the frame is closed, but in any case where it is nil, the correct thing
- to do is to not try to handle the style key.
-
-2011-03-31 Alexey Proskuryakov <ap@apple.com>
-
- Patch by John Harvey, reviewed and tweaked by me.
-
- <rdar://problem/8644403> Should notify TSM that plug-ins would show a bottom input window for marked text.
-
- * Plugins/Hosted/WebTextInputWindowController.m:
- (-[WebTextInputPanel _interpretKeyEvent:string:]):
-
-2011-03-31 Evan Martin <evan@chromium.org>
-
- Reviewed by Eric Seidel.
-
- <title> should support dir attribute
- https://bugs.webkit.org/show_bug.cgi?id=50961
-
- Update to new FrameLoaderClient interface.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebFrameLoaderClient::setTitle):
-
-2011-03-30 Dominic Cooney <dominicc@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- Adds layoutTestController.shadowRoot accessor to Mac DRT.
- https://bugs.webkit.org/show_bug.cgi?id=57415
-
- * DOM/WebDOMOperations.mm:
- (-[DOMElement _shadowRoot:]):
- * DOM/WebDOMOperationsPrivate.h:
-
-2011-03-30 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- WebHTMLView shouldn't resend noop: commands
- https://bugs.webkit.org/show_bug.cgi?id=57504
- <rdar://problem/9209390>
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView _executeSavedEditingCommands]): Filter out NOOPs,
- which we get e.g. when handling Cmd-key combos.
-
-2011-03-30 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (r82320): Spacebar no longer pages down
- https://bugs.webkit.org/show_bug.cgi?id=57423
- <rdar://problem/9207702>
-
- Also includes some unrelated cleanup that I had in my tree.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Added an assertion that the event is
- being dispatched to the right frame.
- (-[WebHTMLView setMarkedText:selectedRange:]): Use 0 for a pointer, not NULL.
- (-[WebHTMLView doCommandBySelector:]): Update eventInterpretationHadSideEffects with "|=".
- Even if this specific command hasn't been handled, that doesn't nullify side effects from
- previous commands.
- (-[WebHTMLView insertText:]): Besides looking at the return value of insertText() to fix the
- bug, removed setting _private->interpretKeyEventsParameters to 0. I don't see any way for
- another WebHTMLView NSTextInput method to be called from within insertText:, so no one is
- going to look at it.
-
-2011-03-30 Sam Weinig <sam@webkit.org>
-
- Reviewed by Brady Eidson.
-
- WebKit2: Attempting to view css file from url causes it to download
- <rdar://problem/9102611>
- https://bugs.webkit.org/show_bug.cgi?id=57501
-
- * WebView/WebHTMLRepresentation.h:
- * WebView/WebHTMLRepresentation.mm:
- (+[WebHTMLRepresentation unsupportedTextMIMETypes]):
- * WebView/WebHTMLView.mm:
- (+[WebHTMLView unsupportedTextMIMETypes]):
- Re-factor unsupportedTextMIMETypes to pull from WebCore's
- MIMETypeRegistry, so that the list can be shared with WebKit2.
-
-2011-03-29 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=57408
- webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard
- -and corresponding-
- <rdar://problem/8665411>
-
- * Misc/WebNSControlExtras.m:
- (-[NSControl sizeToFitAndAdjustWindowHeight]):
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::scaleFactor):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView viewDidMoveToWindow]):
- (-[WebHTMLView attachRootLayer:]):
-
-2011-03-29 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Make validation message bubble testable
- https://bugs.webkit.org/show_bug.cgi?id=57290
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Copy the private value of
- the timer magnification to WebCore::Settings.
- (-[WebView validationMessageTimerMagnification]): Added.
- (-[WebView setValidationMessageTimerMagnification:]): Added.
- * WebView/WebViewData.h: Declare a member for the timer magnification.
- * WebView/WebViewData.mm:
- (-[WebViewPrivate init]): Initialize the timer magnification.
- * WebView/WebViewPrivate.h:
- Declare a setter and a getter for the timer magnification.
-
-2011-03-29 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- [Mac] Enable interactive-validation tests on Mac DRT
- https://bugs.webkit.org/show_bug.cgi?id=57308
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
- Convey a WebView flag for interactive validation to WebCore::Settings.
- (-[WebView interactiveFormValidationEnabled]): Added.
- (-[WebView setInteractiveFormValidationEnabled:]): Added.
- * WebView/WebViewData.h: Add interactiveFormValidationEnabled.
- * WebView/WebViewData.mm:
- (-[WebViewPrivate init]): Initialize interactiveFormValidationEnabled.
- * WebView/WebViewPrivate.h: Add setter and getter for interactiveFormValidationEnabled.
-
-2011-03-29 Timothy Hatcher <timothy@apple.com>
-
- Update the order of the context menu to better match AppKit on Mac.
-
- <rdar://problem/9054893>
-
- Reviewed by John Sullivan.
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
- (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]): Update the order of items.
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::contextMenuItemTagLookUpInDictionary): Added argument for selected string.
-
-2011-03-29 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=57379
- Clean up WK1 key event handling logic
-
- No bugs knowingly fixed, but this makes the code more consistent.
-
- * WebView/WebHTMLView.mm:
- (struct WebHTMLViewInterpretKeyEventsParameters): Renamed eventWasHandled to
- eventInterpretationHadSideEffects, because "handled" doesn't really mean much.
- (-[WebHTMLView _executeSavedEditingCommands]): Factored out from _interpretKeyEvent for use
- from other functions. We need to execute saved commands when an input method asks for current
- state, because providing stale state could confuse it.
- (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Heavily commented, and updated for other
- changes.
- (-[WebHTMLView characterIndexForPoint:]): Call _executeSavedEditingCommands, because otherwise,
- the answer would be stale.
- (-[WebHTMLView firstRectForCharacterRange:]): Ditto.
- (-[WebHTMLView selectedRange]): Ditto.
- (-[WebHTMLView markedRange]): Ditto.
- (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
- (-[WebHTMLView hasMarkedText]): Ditto.
- (-[WebHTMLView unmarkText]): Call _executeSavedEditingCommands, because otherwise, we'd be
- operating on stale data. Also, updated for eventWasHandled renaming.
- (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
- (-[WebHTMLView doCommandBySelector:]): Removed special handling for noop:. I verified that
- it's no longer needed for bug 14522, presumably due to WebCore level changes. It was also
- fragile, because there is no guarantee about when noop: is sent (also, a custom key binding
- could have a noop: as one of its commands, although that's hardly practical).
- Added the same "from input method" logic that we have in insertText: - I don't know of any
- IMs that call this method, but we clearly need to execute it as part of IM processing when
- there is marked text.
- (-[WebHTMLView insertText:]): Removed a confusing check for [text length]. Always set
- eventInterpretationHadSideEffects to true, becasue there is no reason to try multiple times
- if current selection isn't editable. This is different from doCommandBySelector:, where we
- need to give super class a chance to handle the event if our processing fails.
- Removed a nonsense "consumedByIM = true" assignment - we no longer need it now that the
- return value of _interpretKeyEvent is computed differently.
-
-2011-03-28 Adele Peterson <adele@apple.com>
-
- Reviewed by Eric Seidel.
-
- Fix for <rdar://problem/9112694> REGRESSION (r79411): "Check grammar with spelling" context menu doesn't check as you type
- https://bugs.webkit.org/show_bug.cgi?id=57173
-
- * WebView/WebFrame.mm:
- (-[WebFrame hasSpellingMarker:length:]): Call new selectionStartHasMarkerFor method instead of selectionStartHasSpellingMarkerFor.
- (-[WebFrame hasGrammarMarker:length:]): Call new selectionStartHasMarkerFor method.
- * WebView/WebFramePrivate.h: Add hasGrammarMarker so grammar marking can be tested.
-
-2011-03-28 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=57260
- Clean up text input code a little
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::handleKeyboardEvent):
- (WebEditorClient::handleInputMethodKeydown):
- * WebView/WebHTMLViewInternal.h:
- Renamed _interceptEditingKeyEvent:shouldSaveCommand:, becasue it doesn't really intercept
- anything. It's just a version it interpretKeyEvents: that tells us whether it was handled,
- and also possibly saves resulting commands for later execution.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Changed to use early return. Changed
- return value in case platformEvent is null to be less mysterious. Moved receivedNOOP from
- WebHTMLViewPrivate to WebHTMLViewInterpretKeyEventsParameters, as this is just part of event
- handling state, like the other booleans there. Don't call interpretKeyEvents: again simply
- because the first call resulted in no saved commands, becasue it's confusing and apparently
- useless (I couldn't find any broken behavior).
- (-[WebHTMLView unmarkText]): Cleaned upo BOOL vs. bool constants.
- (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
- (-[WebHTMLView doCommandBySelector:]): Ditto.
- (-[WebHTMLView insertText:]): Ditto.
-
- * WebView/WebViewInternal.h: There was no _interceptEditingKeyEvent:shouldSaveCommand:
- method on WebView.
-
-2011-03-27 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Full Screen: disable keyboard access by default
- https://bugs.webkit.org/show_bug.cgi?id=56684
-
- Take into account whether keyboard access was requested when deciding whether full
- screen mode is supported.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::supportsFullScreenForElement):
- * WebView/WebView.mm:
- (-[WebView _supportsFullScreenForElement:WebCore::withKeyboard:]):
- * WebView/WebViewInternal.h:
-
-2011-03-26 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Eric Carlson.
-
- Enable the Full Screen API by default in WebKit/mac and WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=56956
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Default the WebKitFullScreenEnabled preference to true.
-
-2011-03-25 Andy Estes <aestes@apple.com>
-
- Reviewed by Adele Peterson.
-
- REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
- https://bugs.webkit.org/show_bug.cgi?id=49016
-
- Update objectContentType() implementation to handle the
- shouldPreferPlugInsForImages flag.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::objectContentType):
-
-2011-03-24 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r81939.
- http://trac.webkit.org/changeset/81939
- https://bugs.webkit.org/show_bug.cgi?id=57084
-
- Rolling out 81939, as it's causing a number of app cache test
- failures. (Requested by jernoble on #webkit).
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2011-03-23 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Application Cache should save audio/ and video/ mime types as flat files
- https://bugs.webkit.org/show_bug.cgi?id=53784
- <rdar://problem/8932473>
-
- No new tests.
-
- Initialize the AppCache Total size quotas with the values for WebKitPreferences
- upon startup.
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2011-03-24 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r81916 and r81917.
- http://trac.webkit.org/changeset/81916
- http://trac.webkit.org/changeset/81917
- https://bugs.webkit.org/show_bug.cgi?id=57071
-
- broke a test on platforms that do not have QuickTime installed
- (Requested by estes on #webkit).
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::objectContentType):
-
-2011-03-24 Andy Estes <aestes@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
- https://bugs.webkit.org/show_bug.cgi?id=49016
-
- Update objectContentType() implementation to handle the
- shouldPreferPlugInsForImages flag.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::objectContentType):
-
-2011-03-24 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Ensure that all compilation takes place within a dynamic global object scope
- https://bugs.webkit.org/show_bug.cgi?id=57054
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame evaluateWebScript:]): Updated for signature change.
-
-2011-03-24 Jia Pu <jpu@apple.com>
-
- Reviewed by Darin Adler.
-
- Dismissed reversion suggestion is incorrectly learned.
- https://bugs.webkit.org/show_bug.cgi?id=57039
-
- CorrectionPanel should always use [NSSpellChecker dismissCorrectionBubbleForView].
- [NSSpellChecker cancelCorrectionBubbleForView] is reserved for situation where correction panel
- is dismissed explicitly by ESC key or clicking the dimiss button. Misusing these causes
- incorrect automatic learning.
-
- * WebCoreSupport/CorrectionPanel.mm:
- (CorrectionPanel::dismissInternal):
-
-2011-03-24 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/56993> ENABLE_PLUGIN_PROXY_FOR_VIDEO should be defined to 0 on Mac OS X
-
- Reviewed by Joseph Pecoraro.
-
- * Plugins/WebPluginContainerPrivate.h: Changed value of
- ENABLE_PLUGIN_PROXY_FOR_VIDEO from 1 to 0.
-
-2011-03-23 Jia Pu <jpu@apple.com>
-
- Reviewed by Darin Adler.
-
- Hook up new AppKit autocorrection UI with WK2.
- https://bugs.webkit.org/show_bug.cgi?id=56055
- <rdar://problem/8947463>
-
- Please see WebCore/ChangeLog for detail.
-
- * WebCoreSupport/CorrectionPanel.h: Added.
- (CorrectionPanel::isShowing):
- * WebCoreSupport/CorrectionPanel.mm: Added.
- (correctionBubbleType):
- (CorrectionPanel::CorrectionPanel):
- (CorrectionPanel::~CorrectionPanel):
- (CorrectionPanel::show):
- (CorrectionPanel::dismiss):
- (CorrectionPanel::dismissSoon):
- (CorrectionPanel::dismissInternal):
- (CorrectionPanel::recordAutocorrectionResponse):
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::WebEditorClient):
- (WebEditorClient::showCorrectionPanel):
- (WebEditorClient::dismissCorrectionPanel):
- (WebEditorClient::dismissCorrectionPanelSoon):
- (WebEditorClient::recordAutocorrectionResponse):
- * WebView/WebView.mm:
- (-[WebView handleCorrectionPanelResult:]):
- * WebView/WebViewPrivate.h:
-
-2011-03-23 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Services menu item to convert selected Simplified/Traditional Chinese Text is not working.
- https://bugs.webkit.org/show_bug.cgi?id=56974
- <rdar://problem/8284642>
-
- This fixes a regression introduced by http://trac.webkit.org/changeset/61794
- where readSelectionFromPasteboard was accidentally removed.
- This method and writeSelectionToPasteboard are needed to support Mac OS X
- services.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Added.
- (-[WebHTMLView readSelectionFromPasteboard:]): Added.
-
-2011-03-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Change IconDatabase opening to allow for arbitrary filenames
- https://bugs.webkit.org/show_bug.cgi?id=56977
-
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase _startUpIconDatabase]):
-
-2011-03-22 Anton D'Auria <adauria@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Add +[WebApplicationCache getOriginsWithCache]
- https://bugs.webkit.org/show_bug.cgi?id=56722
-
- Call existing WebCore::ApplicationCacheStorage::getOriginsWithCache API.
-
- * WebCoreSupport/WebApplicationCache.h:
- * WebCoreSupport/WebApplicationCache.mm:
- (+[WebApplicationCache originsWithCache]):
-
-2011-03-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- OBJECT element with DivX source is always downloaded
- https://bugs.webkit.org/show_bug.cgi?id=56879
-
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage getPluginInfoFromPLists]):
- Always try to split every element in the "WebPluginExtensions" array, since the DivX plug-in
- specifies multiple file extensions in a single element.
-
-2011-03-22 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56876
- WK2 Icon DB: Expand IconDatabaseClient interface and move it to the main thread
-
- Note that while the new client calls always come through on the main thread, our mechanisms to
- route dispatches to the main thread are still valid and will still work.
-
- Update to the new IconDatabaseClient interface:
- * WebCoreSupport/WebIconDatabaseClient.h:
- * WebCoreSupport/WebIconDatabaseClient.mm:
- (WebIconDatabaseClient::didRemoveAllIcons):
- (WebIconDatabaseClient::didImportIconURLForPageURL):
- (WebIconDatabaseClient::didImportIconDataForPageURL):
- (WebIconDatabaseClient::didChangeIconForPageURL):
- (WebIconDatabaseClient::didFinishURLImport):
-
-2011-03-22 Matthew Delaney <mdelaney@apple.com>
-
- Reviewed by Simon Fraser.
-
- Have WebKit push acceleratedDrawing preferences to settings
- https://bugs.webkit.org/show_bug.cgi?id=56792
-
- * WebView/WebView.mm:
-
-2011-03-21 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Brady Eidson.
-
- Expose a preference to use caching quirks for QuickLook,
- and use it if the QuickLook framework is loaded.
-
- https://bugs.webkit.org/show_bug.cgi?id=38690
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (useQuickLookQuirks):
- (+[WebPreferences initialize]):
- (-[WebPreferences useQuickLookResourceCachingQuirks]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2011-03-21 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- AX: showContextMenu not working in WK2
- https://bugs.webkit.org/show_bug.cgi?id=56734
-
- Implement showContextMenu() so accessibility related code can call this
- independent of whether WK1 or WK2 is running.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::showContextMenu):
-
-2011-03-21 Chang Shu <cshu@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- REGRESSION (r79953): Can't type in MS Outlook 2011
- https://bugs.webkit.org/show_bug.cgi?id=56665
-
- r79953 removed the WebView level editablity which is persistent no matter whether
- underlying document itself is changed and editability gets lost. The resolution is to
- set this WebView editable value to WebCore. This avoids the callback from WebCore to
- WebKit which was the main goal in r79953 to improve performance.
-
- * WebView/WebView.mm:
- (-[WebView setEditable:]):
- (-[WebView isEditable]):
-
-2011-03-19 Anton D'Auria <adauria@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- ApplicationCacheGroup is not obsolete after being deleted via ApplicationCacheStorage::deleteEntriesForOrigin
- https://bugs.webkit.org/show_bug.cgi?id=56415
-
- Use new ApplicationCache API to delete all cache for an origin.
-
- * WebCoreSupport/WebApplicationCache.h:
- * WebCoreSupport/WebApplicationCache.mm:
- (+[WebApplicationCache deleteOrigin:]):
-
-2011-03-17 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=56425
- More groundwork for WebKit2 IconDatabase
-
- Update already-used function names:
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase iconForURL:withSize:cache:]):
- (-[WebIconDatabase iconURLForURL:]):
- * WebView/WebView.mm:
- (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
-
-2011-03-18 Pavel Podivilov <podivilov@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: implement inspector session storage.
- https://bugs.webkit.org/show_bug.cgi?id=56643
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::saveSessionSetting):
- (WebInspectorClient::loadSessionSetting):
- (WebInspectorFrontendClient::saveSessionSetting):
- (WebInspectorFrontendClient::loadSessionSetting):
- (-[WebInspectorWindowController inspectorClient]):
-
-2011-03-17 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fixed a leak seen on the buildbot.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::openInspectorFrontend): Smart pointers are smart.
-
-2011-03-16 Jeff Johnson <github@lapcatsoftware.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Logic error in -[WebHTMLView close]
- https://bugs.webkit.org/show_bug.cgi?id=56445
-
- Page is always nil at this point, because [self _webView] is nil,
- so the conditional code is never run.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView close]):
-
-2011-03-16 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- WK2: Need to propagate enhanced accessibility flag from UI -> web process
- https://bugs.webkit.org/show_bug.cgi?id=56379
-
- * WebView/WebFrame.mm:
- (-[WebFrame accessibilityRoot]):
-
-2011-03-15 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Make Structure creation require a JSGlobalData
- https://bugs.webkit.org/show_bug.cgi?id=56438
-
- Mechanical change to make all Structure creation use a JSGlobalData&
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyRuntimeMethod::createStructure):
- * Plugins/Hosted/ProxyRuntimeObject.h:
- (WebKit::ProxyRuntimeObject::createStructure):
-
-2011-03-15 Alexey Proskuryakov <ap@apple.com>
-
- Forgot to save a modification to this file when committing.
-
- * WebCoreSupport/WebKeyGenerator.mm: Changed "Apple Computer" to "Apple" in copyright header.
-
-2011-03-15 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (WebKit2): keygen element doesn't work
- https://bugs.webkit.org/show_bug.cgi?id=56402
- <rdar://problem/9006545>
-
- * WebCoreSupport/WebKeyGenerator.h:
- * WebCoreSupport/WebKeyGenerator.m: Removed.
- * WebCoreSupport/WebKeyGenerator.mm: Copied from Source/WebKit/mac/WebCoreSupport/WebKeyGenerator.m.
- (+[WebKeyGenerator sharedGenerator]):
- (toWebCertificateParseResult):
- WebCore no longer needs WebKeyGenerator. Safari still does need a part of it, so keeping
- this misnamed and misplaced code for now.
-
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::keygenMenuItem512):
- (WebPlatformStrategies::keygenMenuItem1024):
- (WebPlatformStrategies::keygenMenuItem2048):
- (WebPlatformStrategies::keygenKeychainItemName):
- Added strings used by keygen.
-
- * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize a WebCore
- pointer to a function used by keygen.
-
- * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]): WebKeyGenerator can be lazily
- initialized now.
-
-2011-03-15 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Simon Fraser.
-
- WebKit part of <rdar://problem/9075624> Overlay scrollbars slow down PLT by 6%
-
- New WebKitystemInterface function to force the scrollbars to flash
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-03-15 Ilya Sherman <isherman@chromium.org>
-
- Reviewed by Tony Chang.
-
- Autofilled form elements are assigned fixed background color but not text color
- https://bugs.webkit.org/show_bug.cgi?id=48382
-
- * DOM/WebDOMOperations.mm:
- (-[DOMHTMLInputElement _setAutofilled:]): Added (wrapper).
- * DOM/WebDOMOperationsPrivate.h:
-
-2011-03-15 Adam Roben <aroben@apple.com>
-
- Fix a leak in WebStorageTrackerClient::dispatchDidModifyOrigin
-
- Fixes <http://webkit.org/b/56385> SecurityOrigin leaks seen in
- WebStorageTrackerClient::dispatchDidModifyOrigin
-
- Reviewed by Antti Koivisto.
-
- * Storage/WebStorageTrackerClient.mm:
- (WebStorageTrackerClient::dispatchDidModifyOriginOnMainThread): Adopt the reference passed
- to us by dispatchDidModifyOrigin.
- (WebStorageTrackerClient::dispatchDidModifyOrigin): Added a comment and removed an
- unnecessary cast.
-
-2011-03-15 Kevin Ollivier <kevino@theolliviers.com>
-
- Reviewed by Darin Adler.
-
- Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
- info into the headers rather than in export symbol definition files, but disable it on
- all platforms initially so we can deal with port build issues one port at a time.
-
- https://bugs.webkit.org/show_bug.cgi?id=27551
-
- * WebKitPrefix.h:
-
-2011-03-14 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=56320
- Remove HistoryItem::icon() and the WebCore dependency on "IconDatabaseBase::defaultIcon()"
-
- * History/WebHistoryItem.mm:
- (-[WebHistoryItem icon]): This far-future FIXME is now irrelevant.
-
-2011-03-13 Pratik Solanki <psolanki@apple.com>
-
- Reviewed by Brady Eidson.
-
- Make adjustMIMETypeIfNecessary use CFNetwork directly
- https://bugs.webkit.org/show_bug.cgi?id=55912
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Support for new WKSI functions.
-
-2011-03-12 Mark Rowe <mrowe@apple.com>
-
- Fix the 32-bit build.
-
- * Carbon/CarbonWindowAdapter.mm:
- (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]): Use a more appropriate format specifier.
- (-[CarbonWindowAdapter _carbonWindowClass]): Ditto.
-
-2011-03-11 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson
-
- <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56216
- Rework disabled IconDatabase builds while allowing for a pluggable icon database implementation.
-
- * Misc/WebIconDatabase.mm:
- (+[WebIconDatabase _checkIntegrityBeforeOpening]): Call these static methods on IconDatabase::, not iconDatabase().
- (-[WebIconDatabase _startUpIconDatabase]): Ditto.
- (importToWebCoreFormat):
-
-2011-03-11 Anton D'Auria <adauria@apple.com>
-
- Reviewed and landed by Brady Eidson.
-
- https://bugs.webkit.org/show_bug.cgi?id=51878
- Add WebKit1 API to view and delete local storage
-
- * Storage/WebStorageManager.mm: Added.
- (+[WebStorageManager sharedWebStorageManager]):
- (-[WebStorageManager origins]):
- (-[WebStorageManager deleteAllOrigins]):
- (-[WebStorageManager deleteOrigin:]):
- (-[WebStorageManager syncLocalStorage]):
- (-[WebStorageManager syncFileSystemAndTrackerDatabase]):
- (storageDirectoryPath):
- (WebKitInitializeStorageIfNecessary):
- * Storage/WebStorageManagerInternal.h: Added.
- * Storage/WebStorageManagerPrivate.h: Added.
- * Storage/WebStorageTrackerClient.h: Added.
- * Storage/WebStorageTrackerClient.mm: Added.
- (WebStorageTrackerClient::sharedWebStorageTrackerClient):
- (WebStorageTrackerClient::WebStorageTrackerClient):
- (WebStorageTrackerClient::~WebStorageTrackerClient):
- (WebStorageTrackerClient::dispatchDidModifyOriginOnMainThread):
- (WebStorageTrackerClient::dispatchDidModifyOrigin):
- * WebCoreSupport/WebSecurityOrigin.mm:
- (-[WebSecurityOrigin protocol]):
- (-[WebSecurityOrigin host]):
- (-[WebSecurityOrigin databaseIdentifier]):
- (-[WebSecurityOrigin domain]):
- (-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]):
- * WebCoreSupport/WebSecurityOriginPrivate.h:
- * WebKit.exp:
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2011-03-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/9117047>
- Don't paint more than 60 times per second even when scrolling
-
- * WebView/WebClipView.mm:
- (-[WebClipView _immediateScrollToPoint:]):
-
-2011-03-09 Matthew Delaney <mdelaney@apple.com>
-
- Reviewed by Simon Fraser.
-
- Plumb through settings for accelerated drawing for canvas
- https://bugs.webkit.org/show_bug.cgi?id=56039
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- * WebView/WebPreferencesPrivate.h:
-
-2011-03-10 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Tony Chang.
-
- VisiblePosition's next and previous should take an enum instead of a boolean
- https://bugs.webkit.org/show_bug.cgi?id=56135
-
- SelectionController::isAll now takes EditingBoundaryCrossingRule instead of
- StayInEditableContent.
-
- * WebView/WebView.mm:
- (-[WebView _selectionIsAll]):
-
-2011-03-09 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Adam Roben.
-
- Use the Cookie Storage from the Private Browsing Storage Session directly
- https://bugs.webkit.org/show_bug.cgi?id=55986
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-03-08 Darin Adler <darin@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- Promote a method used outside WebKit from internal to private
- https://bugs.webkit.org/show_bug.cgi?id=55949
-
- * Misc/WebNSPasteboardExtras.mm: Removed an unused category declaration.
- Minor tweak, not directly related to the rest of this patch.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]): Moved
- this method from the internal category into the private category.
- Streamlined the code a bit.
-
- * WebView/WebFrameInternal.h: Removed _computePageRects method.
- * WebView/WebFramePrivate.h: Added _computePageRects method.
-
-2011-03-07 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Darin Adler.
-
- selectionHasStyle and selectionStartHasStyle should use EditingStyle
- https://bugs.webkit.org/show_bug.cgi?id=55902
-
- selectionHasStyle now takes a property id and a value instead of a CSSMutableStyleDeclaration.
-
- * WebView/WebHTMLView.mm: Removed unused selectionHasStyle.
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Calls Editor::selectionHasStyle.
-
-2011-03-07 Dan Bernstein <mitz@apple.com>
-
- LLVM Compiler build fix.
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::checkGrammarOfString):
-
-2011-03-07 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Beth Dakin.
-
- AX: WK1 needs to use ScrollView attachment for AXScrollArea, WK2 does not
- https://bugs.webkit.org/show_bug.cgi?id=55706
-
- Make sure WebDynamicScrollBarsView appear in the AX tree in WK1 (since this object
- returns the scroll bar objects).
- Make the accessibilityRoot object be the web area in WK1 because WebDynamicScrollBarsView
- will expect that as its child, instead of the WebCore ScrollView object.
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView accessibilityIsIgnored]):
- * WebView/WebFrame.mm:
- (-[WebFrame accessibilityRoot]):
-
-2011-03-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse
- https://bugs.webkit.org/show_bug.cgi?id=55827
-
- Renamed FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse
- and pass the entire response, instead of just the MIMEType.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDecidePolicyForResponse):
-
-2011-03-06 Dan Bernstein <mitz@apple.com>
-
- LLVM Compiler build fix.
-
- * DOM/WebDOMOperations.mm:
- (-[DOMHTMLInputElement _setValueForUser:]):
-
-2011-03-06 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKit2: Use CFNetwork Sessions API.
- https://bugs.webkit.org/show_bug.cgi?id=55435.
-
- When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the
- Private Browsing Storage Session.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- Add support for using the new WKSI functions in WebCore.
-
-2011-03-05 Ilya Sherman <isherman@chromium.org>
-
- Reviewed by Darin Adler.
-
- HTMLInputElement::setValue() should schedule change event when the element is focused
- In service of https://code.google.com/p/chromium/issues/detail?id=42716
- https://bugs.webkit.org/show_bug.cgi?id=53160
-
- * DOM/WebDOMOperations.mm:
- (-[DOMHTMLInputElement _setValueForUser:]): Expose HTMLInputElement::setValueForUser() to tests
- * DOM/WebDOMOperationsPrivate.h:
- * WebView/WebViewInternal.h:
-
-2011-03-04 Jia Pu <jpu@apple.com>
-
- Reviewed by Darin Adler.
-
- On Mac, the bounding box sent to EditorClient::showCorrectionPanel() is incorrect when the correction occurs in an iframe.
- https://bugs.webkit.org/show_bug.cgi?id=55717
- <rdar://problem/9018127>
-
- With the change in WebCore, the bounding box passed into EditorClient::showCorrectionPanel()
- is already in window coordinate. We don't need to do further conversion anymore.
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::showCorrectionPanel):
-
-2011-03-04 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- WebKit2: Use CFNetwork Sessions API.
- https://bugs.webkit.org/show_bug.cgi?id=55435.
-
- When Private Browsing is enabled, get the cached url response from the cache associated with
- the Private Browsing Storage Session.
-
- * WebView/WebView.mm:
- (-[WebView _cachedResponseForURL:]):
-
-2011-03-03 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Get rid of Page::globalHistoryItem
- https://bugs.webkit.org/show_bug.cgi?id=55738
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::updateGlobalHistoryItemForPage):
- Get the current history item and update it using -[WebView _setGlobalHistoryItem:].
-
- * WebView/WebView.mm:
- (-[WebView _globalHistoryItem]):
- (-[WebView _setGlobalHistoryItem:]):
- Set _globalHistoryItem ivar.
-
- * WebView/WebViewData.h:
- * WebView/WebViewData.mm:
- Add _globalHistoryItem ivar.
-
-2011-03-03 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=55721
- Global IconDatabase should be returned by reference, not as a pointer
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics iconPageURLMappingCount]):
- (+[WebCoreStatistics iconRetainedPageURLCount]):
- (+[WebCoreStatistics iconRecordCount]):
- (+[WebCoreStatistics iconsWithDataCount]):
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase init]):
- (-[WebIconDatabase iconForURL:withSize:cache:]):
- (-[WebIconDatabase iconURLForURL:]):
- (-[WebIconDatabase defaultIconWithSize:]):
- (-[WebIconDatabase retainIconForURL:]):
- (-[WebIconDatabase releaseIconForURL:]):
- (-[WebIconDatabase isEnabled]):
- (-[WebIconDatabase setEnabled:]):
- (-[WebIconDatabase removeAllIcons]):
- (+[WebIconDatabase _checkIntegrityBeforeOpening]):
- (-[WebIconDatabase _startUpIconDatabase]):
- (-[WebIconDatabase _applicationWillTerminate:]):
- (-[WebIconDatabase _resetCachedWebPreferences:]):
- (importToWebCoreFormat):
- * WebView/WebView.mm:
- (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
-
-2011-03-03 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit2: Use CFNetwork Sessions API.
- https://bugs.webkit.org/show_bug.cgi?id=55435.
-
- Set the Private Browsing Storage Session on requests when Private Browsing is enabled.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- Support using WKCopyRequestWithStorageSession in WebCore.
-
-2011-03-02 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access
- https://bugs.webkit.org/show_bug.cgi?id=55633
- <rdar://problem/8963023>
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- Removed tabsToLinks(). Mac WebKit already implements keyboardUIMode().
-
- * WebView/WebView.mm: (-[WebView _retrieveKeyboardUIModeFromPreferences:]):
- Removed an incorrect comment. We actually get a value of 2 on Snow Leopard, and we don't
- require both bits to be set. The rest of the comment might be wrong too, but I'm not sure,
- so I've preserved it.
-
-2011-03-02 Jessie Berlin <jberlin@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- Fix crashes in private browsing tests in WK1 on Snow Leopard.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- Put the INIT call for wkCreatePrivateStorageSession outside of the
- #if !defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD) && !defined(BUILDING_ON_SNOW_LEOPARD)
- guards.
-
-2011-03-02 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit2: Use CFNetwork Sessions API.
- https://bugs.webkit.org/show_bug.cgi?id=55435.
-
- Add the ability to create a Private Browsing Storage Session.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- Support calling wkCreatePrivateStorageSession from WebCore.
-
-2011-03-02 Daniel Cheng <dcheng@chromium.org>
-
- Reviewed by David Levin.
-
- Add feature define for data transfer items
- https://bugs.webkit.org/show_bug.cgi?id=55510
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-03-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Fix remaining localization issues by piping all localized strings through WebCore's
- localization bottleneck.
- <rdar://problem/8728860>
-
- * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
- (-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
- * Misc/WebKitErrors.m:
- * Misc/WebLocalizableStringsInternal.h: Added.
- * Misc/WebLocalizableStringsInternal.mm: Added.
- (WebLocalizedStringInternal):
- * Panels/WebAuthenticationPanel.m:
- (-[WebAuthenticationPanel setUpForChallenge:]):
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
- * WebCoreSupport/WebEditorClient.mm:
- (undoNameForEditAction):
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorFrontendClient::updateWindowTitle):
- (-[WebInspectorWindowController validateUserInterfaceItem:]):
- * WebCoreSupport/WebKeyGenerator.m:
- (-[WebKeyGenerator strengthMenuItemTitles]):
- (-[WebKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]):
- * WebCoreSupport/WebPlatformStrategies.mm:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
- * WebView/WebPDFView.mm:
- (-[WebPDFView menuForEvent:]):
-
-2011-03-01 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- Part of WebKit2: Need a way to send notifications to client when cookies change
- https://bugs.webkit.org/show_bug.cgi?id=55427
- <rdar://problem/9056027>
-
- Add stubs for CookiesStrategy on Mac WebKit1.
-
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::createCookiesStrategy):
- (WebPlatformStrategies::notifyCookiesChanged):
-
-2011-03-01 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Carlson.
-
- [GStreamer] support in mac video fullscreen controller
- https://bugs.webkit.org/show_bug.cgi?id=52280
-
- Factored the code to configure the video overlay in a new private
- method of the controller and added GStreamer support to it.
-
- * WebView/WebVideoFullscreenController.h:
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController setupVideoOverlay:]):
- (-[WebVideoFullscreenController windowDidLoad]):
- (-[WebVideoFullscreenController setMediaElement:WebCore::]):
- (-[WebVideoFullscreenController windowDidExitFullscreen]):
-
-2011-02-23 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- All Console Messages should be passed to ChromeClients.
- https://bugs.webkit.org/show_bug.cgi?id=54926
-
- Add a new private UIDelegate method, -webView:addMessageToConsole:withSource:,
- which supersedes -webView:addMessageToConsole if it exists. The new delegate
- does not filter to only JavaScript originated console messages. The old
- delegate is left around for clients that expect filtered messages, like
- DashCode and older versions of Safari.
-
- The dictionary message passed to the delegate now includes more information
- about the message source, type, and level.
-
- * WebCoreSupport/WebChromeClient.mm:
- (stringForMessageSource):
- (stringForMessageType):
- (stringForMessageLevel):
- (WebChromeClient::addMessageToConsole):
- * WebView/WebUIDelegatePrivate.h:
-
-2011-03-01 Levi Weintraub <leviw@chromium.org>
-
- Reviewed by Ryosuke Niwa.
-
- Stop instantiating legacy editing Positions in VisiblePosition
- https://bugs.webkit.org/show_bug.cgi?id=52919
-
- Changing usage of legacy VisiblePosition constructor. Since we were dealing
- with positions from DOM Ranges, we're guaranteed a parent-anchored position.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _caretRectAtPosition:affinity:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebTextCompletionController.mm:
- (-[WebTextCompletionController doCompletion]):
-
-2011-03-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Timothy Hatcher.
-
- WebKit2 needs to be made localizable
- https://bugs.webkit.org/show_bug.cgi?id=55483
-
- * WebCoreSupport/WebPlatformStrategies.mm:
- Use WebCore's localizedString function instead of WebLocalizableStrings
- since WebCore is now responsible for localization.
-
-2011-02-25 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Bridge.h should not include BridgeJSC.h
- https://bugs.webkit.org/show_bug.cgi?id=55212
-
- Include BridgeJSC.h directly instead.
-
- * Plugins/Hosted/ProxyInstance.h:
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
-
-2011-02-28 Chang Shu <cshu@webkit.org>
-
- Reviewed by Ryosuke Niwa.
-
- Remove the support of Frame::isContentEditable and its dependencies.
- https://bugs.webkit.org/show_bug.cgi?id=54292
-
- Remove the WebKit side implementation. Make WebKit support depend on Document::inDesignMode.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- * WebView/WebView.mm:
- (-[WebView setEditable:]):
- (-[WebView isEditable]):
- * WebView/WebViewData.h:
-
-2011-02-28 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Make ScopeChainNode GC allocated
- https://bugs.webkit.org/show_bug.cgi?id=55283
-
- More updates for the absence of the ScopeChain class
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
-
-2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- DumpRenderTree should reset frame opener between tests.
- https://bugs.webkit.org/show_bug.cgi?id=54874
-
- Added clearOpener method to WebFramePrivate.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _clearOpener]):
- * WebView/WebFramePrivate.h:
-
-2011-02-26 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r79764.
- http://trac.webkit.org/changeset/79764
- https://bugs.webkit.org/show_bug.cgi?id=55295
-
- "broke Chromium builds" (Requested by rniwa on #webkit).
-
- * WebView/WebFrame.mm:
- * WebView/WebFramePrivate.h:
-
-2011-02-26 Yongjun Zhang <yongjun_zhang@apple.com>
-
- Reviewed by David Kilzer.
-
- https://bugs.webkit.org/show_bug.cgi?id=48781
-
- Add a resource load delegate method to query if WebCore should paint the default broken image for failed images.
-
- Add a new resource load client method (shouldPaintBrokenImage). WebKit client can decide if WebCore
- should paint the default broken image when an image fails to load or decode. The method also passes the
- URL of the failed image.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::shouldPaintBrokenImage):
- * WebView/WebDelegateImplementationCaching.h:
- * WebView/WebDelegateImplementationCaching.mm: Added case for passing one object.
- (CallResourceLoadDelegateReturningBoolean):
- * WebView/WebResourceLoadDelegatePrivate.h:
- * WebView/WebView.mm:
- (-[WebView _cacheResourceLoadDelegateImplementations]):
-
-2011-02-26 Vsevolod Vlasov <vsevik@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- DumpRenderTree should reset frame opener between tests.
- https://bugs.webkit.org/show_bug.cgi?id=54874
-
- Added clearOpener method to WebFramePrivate.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _clearOpener]):
- * WebView/WebFramePrivate.h:
-
-2011-02-25 Mark Rowe <mrowe@apple.com>
-
- <rdar://problem/8902546> Build fix.
-
- * Misc/QuickDrawCompatibility.h:
-
-2011-02-24 Anders Carlsson <andersca@apple.com>
-
- Fix clang build.
-
- * WebCoreSupport/WebKeyGenerator.m:
- (toWebCertificateParseResult):
- (-[WebKeyGenerator addCertificatesToKeychainFromData:]):
- * WebView/WebTextCompletionController.mm:
-
-2011-02-24 Peter Kasting <pkasting@google.com>
-
- Reviewed by Eric Seidel.
-
- Drop the "U; " encryption level from the User Agent string.
- https://bugs.webkit.org/show_bug.cgi?id=54566
-
- * WebView/WebView.mm:
- (+[WebView _standardUserAgentWithApplicationName:]):
-
-2011-02-24 Andrew Wilson <atwilson@chromium.org>
-
- Unreviewed, rolling out r79570.
- http://trac.webkit.org/changeset/79570
- https://bugs.webkit.org/show_bug.cgi?id=54874
-
- Breaks chromium build because glue/mocks/mock_web_frame.h/cc
- was not updated
-
- * WebView/WebFrame.mm:
- * WebView/WebFramePrivate.h:
-
-2011-02-24 Vsevolod Vlasov <vsevik@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- DumpRenderTree should reset frame opener between tests.
- https://bugs.webkit.org/show_bug.cgi?id=54874
-
- Added clearOpener method to WebFramePrivate.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _clearOpener]):
- * WebView/WebFramePrivate.h:
-
-2011-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Drop the language tag part from the User Agent string
- https://bugs.webkit.org/show_bug.cgi?id=54560
-
- * WebView/WebView.mm:
- (+[WebView _standardUserAgentWithApplicationName:]): Drop the
- language tag part.
-
-2011-02-22 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
- API to view and delete Application Cache data by origin.
-
- * WebCoreSupport/WebApplicationCache.mm:
- (+[WebApplicationCache deleteAllApplicationCaches]): Move this implementation into WebCore itself.
-
-2011-02-17 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Kent Tamura.
-
- Rename Position::node() to Position::deprecatedNode()
- https://bugs.webkit.org/show_bug.cgi?id=54622
-
- * WebView/WebFrame.mm:
- (-[WebFrame _smartDeleteRangeForProposedRange:]):
-
-2011-02-17 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Kent Tamura.
-
- Rename Position::node() to Position::deprecatedNode()
- https://bugs.webkit.org/show_bug.cgi?id=54622
-
- Done the rename.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _smartDeleteRangeForProposedRange:]): Since newStart and newEnd are parent-anchored,
- use containerNode() and offsetInContainerNode() instead of deprecated member functions.
-
-2011-02-18 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Bug 54786 - Devirtualize JSCell::classInfo()
-
- Instead of making a virtual function call, add a pointer to the ClassInfo
- onto Structure.
-
- This removes a virtual function call, and paves the way towards removing all
- the createStructure methods, and StructureFlags/AnonymousSlotCount properties
- (these should be able to move onto ClassInfo).
-
- Calls to Structure::create must now pass a pointer to the ClassInfo for the
- structure. All objects now have a ClassInfo pointer, non-object cell types
- still do not.
-
- Changes are most mechanical, involving three steps:
- * Remove virtual classInfo() methods.
- * Add &s_info parameter to calls to Structure::create.
- * Rename ClassInfo static members on classes from 'info' to 's_info',
- for consistency.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
- (WebKit::ProxyRuntimeMethod::createStructure):
- * Plugins/Hosted/ProxyRuntimeObject.h:
- (WebKit::ProxyRuntimeObject::createStructure):
- * Plugins/Hosted/ProxyRuntimeObject.mm:
- (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
- * WebView/WebView.mm:
- (aeDescFromJSValue):
-
-2011-02-19 Brian Ryner <bryner@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add missing #include of DocumentLoader.h, needed since the transitive
- include through Document.h is removed.
- https://bugs.webkit.org/show_bug.cgi?id=50489
-
- * WebView/WebFrame.mm:
-
-2011-02-19 Charlie Reis <creis@chromium.org>
-
- Reviewed by Mihai Parparita.
-
- Ensure loading has stopped in HistoryController::goToItem
- https://bugs.webkit.org/show_bug.cgi?id=54517
-
- Add a FrameLoaderClient callback for whether to stop loading before goToItem.
-
- Test: http/tests/navigation/forward-to-fragment-fires-onload.html
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::shouldStopLoadingForHistoryItem): Added.
- * WebCoreSupport/WebFrameLoaderClient.h:
-
-2011-02-16 David Hyatt <hyatt@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=54244
-
- Convert the line box tree to floating point and eliminate font rounding hacks. This patch removes all of the rounding
- hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats.
-
- The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have
- been changed as well.
-
- In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height).
-
- Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
-
- Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
- still have a precise floating point position.
-
- Justification will now allow subpixel positioning to occur as well. Platforms that don't support subpixel positioning should already
- be rounding justification spacing in their font code.
-
- Many layout test results change on Mac, since rounding hacks were used there and are now gone.
-
- * Misc/WebKitNSStringExtras.mm:
- (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
- (-[NSString _web_widthWithFont:]):
-
-2011-02-10 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Adam Roben.
-
- HTML5 <details> and <summary>: localized text
- https://bugs.webkit.org/show_bug.cgi?id=54260
-
- The method defaultDetailsSummaryText was added to LocalizationStrategy class. It is used to
- provide the default label to be used by a <details> tag that has no <summary> child.
-
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::defaultDetailsSummaryText):
-
-2011-02-16 Matthew Delaney <mdelaney@apple.com>
-
- Reviewed by Simon Fraser.
-
- Allow acceleratesDrawing for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=54511
-
- Plumb through preference for accelerated drawing.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences acceleratedDrawingEnabled]):
- (-[WebPreferences setAcceleratedDrawingEnabled:]):
- * WebView/WebPreferencesPrivate.h:
-
-2011-02-15 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/54505> Move -[WebDynamicScrollBarsView inProgrammaticScroll] to WebDynamicScrollBarsViewInternal.h
-
- Reviewed by Darin Adler.
-
- * WebView/WebDynamicScrollBarsView.h:
- (-[WebDynamicScrollBarsView inProgrammaticScroll]): Removed
- declaration.
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView inProgrammaticScroll]): Moved
- implementation into correct category.
- * WebView/WebDynamicScrollBarsViewInternal.h:
- (-[WebDynamicScrollBarsView inProgrammaticScroll]): Added
- declaration.
- * WebView/WebHTMLView.mm: Included
- WebDynamicScrollBarsViewInternal.h instead of
- WebDynamicScrollBarsView.h.
-
-2011-02-14 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough and Geoff Garen.
-
- Refactor handles and weak pointers to become nicer and more automatic
- https://bugs.webkit.org/show_bug.cgi?id=54415
-
- Update to use Global<> instead of ProtectedPtr, and refactored slightly
- to get global data to places it's needed for when we're assigning to
- Global<>s
-
- * ForwardingHeaders/collector/handles/Global.h: Added.
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
- (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
- (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- * WebView/WebScriptDebugger.h:
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::WebScriptDebugger):
-
-2011-02-15 Jia Pu <jpu@apple.com>
-
- Reviewed by Darin Adler.
-
- Autocorrection should respect undo.
- https://bugs.webkit.org/show_bug.cgi?id=52221
- <rdar://problem/8663399>
-
- Please see WebCore/ChangeLog for detailed description.
-
- * WebCoreSupport/WebEditorClient.h: Updated for the new function declared in EditorClient.
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::recordAutocorrectionResponse): Ditto.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
- Adopted new signature of ReplaceSelectionCommand::create().
-
-2011-02-15 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/54485> Fix spelling of -inProgramaticScroll
-
- Reviewed by Darin Adler.
-
- * WebView/WebDynamicScrollBarsView.h:
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView inProgrammaticScroll]): Renamed from
- -inProgramaticScroll.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _frameOrBoundsChanged]): Corrected method name.
-
-2011-02-15 Kenneth Russell <kbr@google.com>
-
- Reviewed by Darin Fisher.
-
- Allow controlling minimum DOMTimer interval on a per-page basis
- https://bugs.webkit.org/show_bug.cgi?id=54312
-
- Added needed methods to implement LayoutTestController's new
- setMinimumTimerInterval method.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (+[WebView _defaultMinimumTimerInterval]):
- (-[WebView _setMinimumTimerInterval:]):
- * WebView/WebViewPrivate.h:
-
-2011-02-11 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- A little more encapsulation for the heap: Removed CollectorHeapIterator
- https://bugs.webkit.org/show_bug.cgi?id=54298
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
- (+[WebCoreStatistics javaScriptObjectTypeCounts]): Updated for new typedef.
-
-2011-02-10 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]):
-
-2011-02-10 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Anders Carlsson.
-
- AX: AX needs to stop using WebCoreViewFactory
- https://bugs.webkit.org/show_bug.cgi?id=54153
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-02-10 Peter Varga <pvarga@webkit.org>
-
- Reviewed by Csaba Osztrogonác.
-
- Remove PCRE source from trunk
- https://bugs.webkit.org/show_bug.cgi?id=54188
-
- * ForwardingHeaders/pcre/pcre.h: Removed.
-
-2011-02-09 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: follow up on InspectorAgent split -
- removing unnecessary methods from InspectorController.
- https://bugs.webkit.org/show_bug.cgi?id=54093
-
- * WebInspector/WebInspector.mm:
- (-[WebInspector showConsole:]):
- (-[WebInspector stopProfilingJavaScript:]):
-
-2011-02-08 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Jon Honeycutt and Maciej Stachowiak.
-
- <rdar://problem/8959420> Find in Mail no longer cycles around
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Set
- the wrap option according to the flag.
-
-2011-02-08 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r77980.
- http://trac.webkit.org/changeset/77980
- https://bugs.webkit.org/show_bug.cgi?id=54043
-
- "Crashes on Windows and Linux..." (Requested by leviw on
- #webkit).
-
- * WebView/WebFrame.mm:
- (-[WebFrame _caretRectAtNode:offset:affinity:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebTextCompletionController.mm:
- (-[WebTextCompletionController doCompletion]):
-
-2011-02-08 Levi Weintraub <leviw@chromium.org>
-
- Reviewed by Ryosuke Niwa.
-
- Stop instantiating legacy editing Positions in VisiblePosition
- https://bugs.webkit.org/show_bug.cgi?id=52919
-
- Changing usage of legacy VisiblePosition constructor. Since we were dealing
- with positions from DOM Ranges, we're guaranteed a parent-anchored position.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _caretRectAtPosition:affinity:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebTextCompletionController.mm:
- (-[WebTextCompletionController doCompletion]):
-
-2011-02-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove orphan code from old parser
- https://bugs.webkit.org/show_bug.cgi?id=53984
-
- * WebCoreSupport/WebChromeClient.h:
-
-2011-02-02 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: move InspectorController's methods from InspectorAgent to InspectorController.
-
- https://bugs.webkit.org/show_bug.cgi?id=53169
-
- Minor change enforced by major changes in WebCore/inspector/InspectorController.
-
- * WebInspector/WebInspector.mm:
- (-[WebInspector isTimelineProfilingEnabled]):
-
-2011-02-07 Enrica Casucci <enrica@apple.com>
-
- Reviewed Adam Roben and Darin Adler.
-
- WebKit2: drag and drop support on Windows.
- https://bugs.webkit.org/show_bug.cgi?id=52775
-
- Removed createDragImageForLink from DragClient.
-
- * WebCoreSupport/WebDragClient.h:
- * WebCoreSupport/WebDragClient.mm:
- (WebDragClient::startDrag):
-
-2011-02-03 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: remove settings related methods from InspectorClient
- https://bugs.webkit.org/show_bug.cgi?id=53686
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::openInspectorFrontend):
- (WebInspectorFrontendClient::WebInspectorFrontendClient):
-
-2011-02-03 James Kozianski <koz@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Add navigator.registerProtocolHandler behind a flag.
- https://bugs.webkit.org/show_bug.cgi?id=52609
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-02-03 Adam Langley <agl@chromium.org>
-
- Reviewed by Adam Barth.
-
- Plumb mixed script URL to FrameLoaderClient
- https://bugs.webkit.org/show_bug.cgi?id=52384
-
- Regressions covered by http/tests/security/mixedContent/*
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::didRunInsecureContent):
-
-2011-02-03 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix for <rdar://problem/8944544> Ability to animate track
- for WKPainter scrollers
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-02-02 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Beth Dakin.
-
- <rdar://problem/8928367> Crash when loading canvas pages inside HTMLCanvasElement::createImageBuffer().
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Add some missing initializers.
-
-2011-02-02 Steve Lacey <sjl@chromium.org>
-
- Reviewed by Eric Carlson.
-
- Implement basic media statistics on media elements.
- https://bugs.webkit.org/show_bug.cgi?id=53322
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-02-01 Sam Weinig <sam@webkit.org>
-
- Reviewed by Beth Dakin.
-
- Part 2 for <rdar://problem/8492788>
- Adopt WKScrollbarPainterController
-
- Use header detection to define scrollbar painting controller #define.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-02-01 David Hyatt <hyatt@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=53520
-
- Remove the physical terminology from IntRect and FloatRect.
-
- Now that we have flipped RenderBlocks for vertical-rl and horizontal-bt writing modes,
- we need to update our terminology to be more accurate.
-
- I'm borrowing a page from AppKit here (which also supports flipped NSViews) and
- renaming right() and bottom() to maxX() and maxY(). These terms remain accurate
- even for flipped rectangles.
-
- * WebView/WebHTMLView.mm:
- (setNeedsDisplayInRect):
-
-2011-02-01 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix for <rdar://problem/8492788> Adopt WKScrollbarPainterController
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-02-01 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=46422, make printing and pagination work
- with vertical text.
-
- Change printing functions to check writing-mode and properly swap width and height
- as needed.
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView setScrollOrigin:updatePositionAtAll:immediately:]):
- * WebView/WebFrame.mm:
- (-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _web_setPrintingModeRecursive]):
- (-[WebHTMLView _web_clearPrintingModeRecursive]):
- (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]):
- (-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]):
- (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]):
- (-[WebHTMLView _endPrintMode]):
- (-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]):
- (-[WebHTMLView _endScreenPaginationMode]):
- (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]):
- (-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:maximumPageLogicalWidth:adjustViewSize:paginateScreenContent:]):
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
- (-[WebHTMLView _scaleFactorForPrintOperation:]):
- (-[WebHTMLView setPageWidthForPrinting:]):
- (-[WebHTMLView knowsPageRange:]):
-
-2011-01-31 Oliver Hunt <oliver@apple.com>
-
- Convert markstack to a slot visitor API
- https://bugs.webkit.org/show_bug.cgi?id=53219
-
- rolling r77098, r77099, r77100, r77109, and
- r77111 back in, along with a few more Qt fix attempts.
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
-
-2011-01-30 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed, rolling out r77098, r77099, r77100, r77109, and
- r77111.
- http://trac.webkit.org/changeset/77098
- http://trac.webkit.org/changeset/77099
- http://trac.webkit.org/changeset/77100
- http://trac.webkit.org/changeset/77109
- http://trac.webkit.org/changeset/77111
- https://bugs.webkit.org/show_bug.cgi?id=53219
-
- Qt build is broken
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
-
-2011-01-30 Oliver Hunt <oliver@apple.com>
-
- Convert markstack to a slot visitor API
- https://bugs.webkit.org/show_bug.cgi?id=53219
-
- rolling r77006 and r77020 back in.
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
-
-2011-01-28 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- Some more Heap cleanup.
- https://bugs.webkit.org/show_bug.cgi?id=53357
-
- Updated for JavaScriptCore changes.
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics memoryStatistics]):
-
-2011-01-28 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r77006 and r77020.
- http://trac.webkit.org/changeset/77006
- http://trac.webkit.org/changeset/77020
- https://bugs.webkit.org/show_bug.cgi?id=53360
-
- "Broke Windows tests" (Requested by rniwa on #webkit).
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
-
-2011-01-27 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Convert markstack to a slot visitor API
- https://bugs.webkit.org/show_bug.cgi?id=53219
-
- Update to new marking api
-
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame scopeChain]):
-
-2011-01-28 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- <select> can't display right-to-left (rtl) languages
- https://bugs.webkit.org/show_bug.cgi?id=19785
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::selectItemWritingDirectionIsNatural): Changed to return false.
- (WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection): Added. Returns true.
-
-2011-01-27 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r76891.
- http://trac.webkit.org/changeset/76891
- https://bugs.webkit.org/show_bug.cgi?id=53280
-
- Makes every layout test crash (Requested by othermaciej on
- #webkit).
-
- * Misc/WebIconDatabase.mm:
- (-[ThreadEnabler threadEnablingSelector:]):
- (importToWebCoreFormat):
-
-2011-01-27 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Adam Barth.
-
- Use Document::url() instead of FrameLoader::url().
- https://bugs.webkit.org/show_bug.cgi?id=41165
-
- * WebView/WebView.mm:
- (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
-
-2011-01-27 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by Anders Carlsson.
-
- Reverted an accidental change in r76561.
-
- * WebView/WebHTMLView.mm:
-
-2011-01-26 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/53192> Add experimental support for HTTP pipelining in CFNetwork
- <rdar://problem/8821760>
-
- Reviewed by Antti Koivisto.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Added initialization for
- GetHTTPPipeliningPriority and SetHTTPPipeliningPriority.
-
-2011-01-26 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for <rdar://problem/8895140> Adopt WKScrollbar metrics
- when using WKScrollbars.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-01-25 Darin Adler <darin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- WebKit is using CSBackupSetItemExcluded incorrectly
- https://bugs.webkit.org/show_bug.cgi?id=53095
- rdar://problem/8790540
-
- * Misc/WebIconDatabase.mm:
- (importToWebCoreFormat): Removed code that was calling CSBackupSetItemExcluded.
- It was incorrect, and this responsibility has been moved to WebCore.
-
-2011-01-24 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Eric Seidel.
-
- Change ENABLE_3D_CANVAS to ENABLE_WEBGL
- https://bugs.webkit.org/show_bug.cgi?id=53041
-
- * Configurations/FeatureDefines.xcconfig:
-
-2011-01-25 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: remove "attached" state related methods from InspectorAgent
- https://bugs.webkit.org/show_bug.cgi?id=53086
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController showWindow:]):
- (-[WebInspectorWindowController attach]):
- (-[WebInspectorWindowController detach]):
-
-2011-01-23 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/6097826> Mail's cursor does not become a resize cursor when moving mouse from scrolled email to the horizontal splitter
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::setCursor): If the current cursor comes from a cursor rect, do not override it.
-
-2011-01-22 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=52473
- Auto-scaling to avoid orphans is broken, remove dysfunctional code
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]):
- (-[WebHTMLView _scaleFactorForPrintOperation:]):
- (-[WebHTMLView knowsPageRange:]):
-
-2011-01-21 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Jon Honeycutt.
-
- Fix the build when using Clang by removing some unused variables.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView updateAndSetWindow]):
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController enterFullscreen:]):
- (-[WebFullScreenController exitFullscreen]):
-
-2011-01-21 Chris Rogers <crogers@google.com>
-
- Reviewed by Darin Fisher.
-
- Add run-time enable support for the web audio API
- https://bugs.webkit.org/show_bug.cgi?id=52741
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (-[WebPreferences webAudioEnabled]):
- (-[WebPreferences setWebAudioEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2011-01-20 John Sullivan <sullivan@apple.com>
-
- Reviewed by Mark Rowe.
-
- Shift-tab doesn't cycle through fields in http authentication panel
- https://bugs.webkit.org/show_bug.cgi?id=52850
-
- * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
- * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
- Re-wired the key loop so that there aren't two views with the same nextKeyView.
-
-2011-01-20 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Fix for <rdar://problem/8890255>
-
- Allow WebKitSystemInterface to draw scrollbars
- when appropriate.
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2011-01-19 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Sam Weinig.
-
- GraphicsLayers in subframes can get sync'd multiple times
- https://bugs.webkit.org/show_bug.cgi?id=52489
-
- * WebView/WebView.mm:
- (-[WebView _syncCompositingChanges]): syncCompositingStateRecursive()
- was renamed to syncCompositingStateIncludingSubframes().
-
-2011-01-19 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Would like script debugging protocol method to differentiate between caught and uncaught exceptions
- https://bugs.webkit.org/show_bug.cgi?id=52104
- rdar://problem/8704226
-
- * WebView/WebDelegateImplementationCaching.h:
- Fix type of second integer in CallScriptDebugDelegate function overload
- to be int to match the actual Objective-C method. Added a new overload
- that includes a BOOL in the right place. Added a boolean named
- exceptionWasRaisedExpectsHasHandlerFlag.
-
- * WebView/WebDelegateImplementationCaching.mm:
- (CallDelegate): Added overloads as above.
- (CallScriptDebugDelegate): Ditto.
-
- * WebView/WebScriptDebugDelegate.h: Added new method with the additional
- boolean argument. Marked the old method informally deprecated.
-
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::exception): Added code to call with or without the
- boolean depending on exceptionWasRaisedExpectsHasHandlerFlag.
-
- * WebView/WebView.mm:
- (-[WebView _cacheScriptDebugDelegateImplementations]): Set up the
- exceptionWasRaisedExpectsHasHandlerFlag. Also fixed old code that was not
- guaranteed to set didParseSourceExpectsBaseLineNumber to NO.
-
-2011-01-19 Tony Gentilcore <tonyg@chromium.org>
-
- Reviewed by Mihai Parparita.
-
- Perform some forward declaration
- https://bugs.webkit.org/show_bug.cgi?id=52522
-
- * Misc/WebKitNSStringExtras.mm:
-
-2011-01-19 Pavel Podivilov <podivilov@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: [JSC] scripts have incorrect starting line (always 1).
- https://bugs.webkit.org/show_bug.cgi?id=52721
-
- * WebView/WebScriptDebugger.h:
- * WebView/WebScriptDebugger.mm:
- (toNSString):
- (WebScriptDebugger::sourceParsed):
-
-2011-01-19 Levi Weintraub <leviw@google.com>
-
- Reviewed by Ryosuke Niwa.
-
- Updating to use Position::parentAnchoredEquivalent instead of
- the old htmlediting rangeCompliantEquivalent.
-
- remove rangeCompliantEquivalent and replace it with Position methods
- https://bugs.webkit.org/show_bug.cgi?id=25057
-
- * WebView/WebFrame.mm:
- (-[WebFrame _smartDeleteRangeForProposedRange:]):
-
-2011-01-18 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION: A problem with Voiceover and finding links
- https://bugs.webkit.org/show_bug.cgi?id=52324
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView accessibilityIsIgnored]):
-
-2011-01-17 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project
-
- Reviewed by Dan Bernstein.
-
- * MigrateHeaders.make: Copy DOMDocumentFragmentPrivate.h and
- DOMDocumentPrivate.h to the PrivateHeaders directory.
-
-2011-01-17 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Drag and drop support: refactoring of image from link and image from selection
- https://bugs.webkit.org/show_bug.cgi?id=52496
-
- This work cleans up the Mac code and makes it more similar to the Windows implementation,
- avoiding the use of an NSView when the FrameView can be used.
- The refactoring is a necessary step towards the complete support of drag and drop
- in WebKit2.
-
- * WebCoreSupport/WebDragClient.mm:
- (WebDragClient::createDragImageForLink): Added.
- * WebView/WebHTMLView.mm: Removed dragImageFromLink and dragImageFromURL.
- * WebView/WebHTMLViewPrivate.h: Removed dragImageFromLink and dragImageFromURL.
-
-2011-01-17 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: simplify debugger enabling routine.
- https://bugs.webkit.org/show_bug.cgi?id=52472
-
- * WebInspector/WebInspector.mm:
- (-[WebInspector startDebuggingJavaScript:]):
-
-2011-01-16 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- Assertion failure (!inSetWindow) with in-process plug-in in plugins/destroy-on-setwindow.html
- https://bugs.webkit.org/show_bug.cgi?id=52550
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView setWindowIfNecessary]): Removed the assertion, making sure
- that inSetWindow remains YES until we exit the top-level setWindowIfNecessary.
-
-2011-01-16 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Issues with iframes and plugins when the WebView is scaled.
- <rdar://problem/6213380>
-
- When _scaleWebView has been called on a WebView, iframes
- in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up.
- This is caused by AppKit NSViews not playing nicely with the scale
- applied through style.
-
- Work around most of these issues by adjusting the bounds size
- of widgets to allow iframe contents to paint with the correct scale,
- and fix various places in the code where we relied on coordinate
- transforms via NSViews (which ignore CSS transforms).
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView updateAndSetWindow]):
- * WebView/WebFrameView.mm:
- (-[WebFrameView setBoundsSize:]):
-
-2011-01-16 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Kevin Decker.
-
- Fix for <rdar://problem/8871204>
-
- Don't try to save elasticity state. Just rely on
- NSScrollElasticityAutomatic to restore the correct state.
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::WebFrameLoaderClient):
- (WebFrameLoaderClient::dispatchDidFirstLayout):
- (WebFrameLoaderClient::provisionalLoadStarted):
-
-2011-01-14 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Plugins render incorrectly with transformed ancestors
- https://bugs.webkit.org/show_bug.cgi?id=52507
-
- -[NSView visibleRect] gives the wrong answer if there are CSS transforms
- in the ancestor chain of a plugin.
-
- So use of this method with calls to -actualVisibleRectInWindow, which
- maps rects through the render tree to compute the correct rect,
- clipping via windowClipRect() if necessary.
-
- Not testable, because doing so relies on the behavior of some
- plugins, which stop rendering if setWindow passes an empty rect.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView updateAndSetWindow]):
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView actualVisibleRectInWindow]):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
-
-2011-01-14 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Antti Koivisto.
-
- Rename cache() to memoryCache()
- https://bugs.webkit.org/show_bug.cgi?id=52433
-
- * Misc/WebCache.mm:
- (+[WebCache statistics]):
- (+[WebCache setDisabled:]):
- (+[WebCache isDisabled]):
- * WebView/WebView.mm:
- (+[WebView _setCacheModel:]):
-
-2011-01-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Split out a MarkedSpace strategy object from Heap.
- https://bugs.webkit.org/show_bug.cgi?id=52421
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics memoryStatistics]): Updated for class move.
-
-2011-01-14 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- WebKit/mac part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree]
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _invalidateGStatesForTree]): Override this NSView method, and bracket the call
- to the superclass implementation with suspending WebCore Widget hierarchy updates. This ensures
- that the NSView tree doesn’t change from under AppKit as it traverses it.
-
-2011-01-14 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fix for <rdar://problem/7793902> Artifacts when scrolling
- page in Safari while page is loading
-
- Call setDrawsBackground:YES on the scrollView in
- dispatchDidFirstLayout() rather than waiting until
- frameLoadCompleted(). Also suspend scrolling elasticity
- between provisionalLoadStarted() and dispatchDidFirstLayout()
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::WebFrameLoaderClient):
- (WebFrameLoaderClient::dispatchDidFirstLayout):
- (WebFrameLoaderClient::provisionalLoadStarted):
-
-2011-01-12 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit2: Add support for drag and drop
- https://bugs.webkit.org/show_bug.cgi?id=52343
- <rdar://problem/7660558>
-
- The DragData class has been extended to provide
- additional context from the application (keyboard state, modal windows, etc.)
- as well as information of the drag pasteboard being used.
- These are the changes to align the behavior for WebKit.
-
- * WebView/WebView.mm:
- (-[WebView applicationFlags:]): Added.
- (-[WebView draggingEntered:]): Added parameter to the DragData constructor.
- (-[WebView draggingUpdated:]): Added parameter to the DragData constructor.
- (-[WebView draggingExited:]): Added parameter to the DragData constructor.
- (-[WebView performDragOperation:]): Added parameter to the DragData constructor.
-
-2011-01-12 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309
- Expose fixed layout through WebKit SPI
- -and corresponding-
- <rdar://problem/8844464>
-
- And now with getters!
- * WebView/WebView.mm:
- (-[WebView _useFixedLayout]):
- (-[WebView _fixedLayoutSize]):
- * WebView/WebViewPrivate.h:
-
-2011-01-12 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
- fixed layout through WebKit SPI
- -and corresponding-
- <rdar://problem/8844464>
-
- * WebView/WebView.mm:
- (-[WebView _setUseFixedLayout:]):
- (-[WebView _setFixedLayoutSize:]):
- * WebView/WebViewPrivate.h:
-
-2011-01-07 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Paste and drag and drop use different code paths to interact with the pasteboard.
- https://bugs.webkit.org/show_bug.cgi?id=52093
- The change consists in a refactoring of the code to have only one class that
- deals with the pasteboard on Mac.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm: Added two methods to provide to WebCore functionality
- exposed by NSURLExtras.
- (WebEditorClient::canonicalizeURL):
- (WebEditorClient::canonicalizeURLString):
- * WebCoreSupport/WebPasteboardHelper.h: Removed.
- * WebCoreSupport/WebPasteboardHelper.mm: Removed.
- * WebView/WebHTMLView.mm: Removed comment.
- * WebView/WebView.mm: The following methods have been changed to use the new DragData
- constructor that doesn't use the WebPasteboardHelper reference.
- (-[WebView draggingEntered:]):
- (-[WebView draggingUpdated:]):
- (-[WebView draggingExited:]):
- (-[WebView performDragOperation:]):
-
-2011-01-09 Tony Gentilcore <tonyg@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Forward declare some headers where possible
- https://bugs.webkit.org/show_bug.cgi?id=52133
-
- * WebView/WebFrame.mm:
-
-2011-01-09 Xianzhu Wang <phnixwxz@gmail.com>
-
- Reviewed by Darin Fisher.
-
- https://bugs.webkit.org/show_bug.cgi?id=41441
- createWindow method should only do window-creating without URL navigation
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::createWindow):
-
-2011-01-08 Dan Bernstein <mitz@apple.com>
-
- Try to fix the Leopard build.
-
- * WebView/WebFullScreenController.mm:
-
-2011-01-07 Jer Noble <jer.noble@apple.com>
-
- Yet another Leopard build fix: NSRect and CGRect are not inter-
- changable in 32-bit.
-
- * WebView/WebFullScreenController.mm:
- (-[WebFullScreenController exitFullscreen]):
-
-2011-01-07 Jer Noble <jer.noble@apple.com>
-
- Fix the Leopard build: Replace CoreAnimation SL-only functions
- with Leopard equivalents.
-
- * WebView/WebFullScreenController.mm:
- (+[CATransaction setDisableActions:]):
- (+[CATransaction setAnimationDuration:]):
- (-[WebFullScreenController _animationDuration]):
- (-[WebFullscreenWindow initWithContentRect:styleMask:backing:defer:]):
-
-2010-12-21 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Simon Fraser.
-
- Implement WebKit Full Screen support.
- https://bugs.webkit.org/show_bug.cgi?id=49481
- rdar://problem/8247444
-
- Support the new fullscreen Chrome client requests. WebView will pass
- through these requests to a WebFullscreenController.
-
- * WebCoreSupport/WebChromeClient.h: Add fullScreenRendererChanged().
- * WebView/WebView.mm:
- (-[WebView _supportsFullScreenForElement:WebCore::]): Check to see if the fullscreen pref has been enabled.
- (-[WebView _enterFullScreenForElement:WebCore::]): Create a WebFullScreenController.
- (-[WebView _exitFullScreenForElement:WebCore::]): Request that the WebFullScreenController exit fullscreen.
- (-[WebView _fullScreenRendererChanged:WebCore::]): Notify the WebFullScreenController that its renderer has changed.
- * WebView/WebViewData.h: Add ivar newFullscreenController.
-
-2010-12-17 Jer Noble <jer@kokode.apple.com>
-
- Reviewed by Simon Fraser.
-
- Implement WebKit Full Screen support.
- https://bugs.webkit.org/show_bug.cgi?id=49481
- rdar://problem/8247444
-
- This patch implements the FullScreen APIs using the new RenderFullScreen renderer and the new
- Document client APIs. The RenderFullScreen renderer's CALayer is hosted in a new, fullscreen
- window, and a custom CAAnimation animates that layer between the initial screen rect of the
- full screen element, to its final value. WebFullscreenController will swap the WebView out of
- its original window, and into the fullscreen window. The controller will replace the WebView
- with a placeholder view, so that if the placeholder moves or resized while the WebView is
- absent, the WebView will move back to the correct location when exiting fullscreen.
-
- * WebView/WebFullscreenController.h: Added.
- * WebView/WebFullscreenController.mm: Added.
- (-[WebFullscreenController windowDidExitFullscreen:]): Close the fullscreen window.
- (-[WebFullscreenController windowDidEnterFullscreen:]): Swap the webView back into the fullscreen window.
- (-[WebFullscreenController animationDidStop:finished:]): Call windowDid{Exit|Enter}FullScreen as appropriate.
- (-[WebFullscreenController applicationDidResignActive:]):
- (-[WebFullscreenController applicationDidChangeScreenParameters:]): Resize the fullscreen window to match
- the new screen parameters.
- (-[WebFullscreenController enterFullscreen:]): Set up the animation that will take the fullscreen element
- from its original screen rect into fullscreen.
- (-[WebFullscreenController exitFullscreen]): Swap the webView back into its original window.
- Set up the animation that will take the fullscreen element back into its original screen
- rect.
- (-[WebFullscreenController _updatePowerAssertions]): Now checks _isAnyMoviePlaying to determine
- whether to disable screensaver and sleep.
- (-[WebFullscreenController _isAnyMoviePlaying]): Walks through the sub-tree starting at the fullscreen element
- looking for HTMLVideoElements; returns whether any are found to be playing.
- (-[WebFullscreenController _animationDuration]): Returns the current animation duration, affected by control
- and shift keys.
- (-[WebFullscreenWindow canBecomeKeyWindow]): Allow the window to become key.
- (-[WebFullscreenWindow keyDown:]): Handle the 'Esc' key.
- (-[WebFullscreenWindow cancelOperation:]): Request to exit fullscreen.
- (-[WebFullscreenWindow rendererLayer]): Convenience accessor.
- (-[WebFullscreenWindow setRendererLayer:]): Ditto.
- (-[WebFullscreenWindow backgroundLayer]): Ditto.
- (-[WebFullscreenWindow animationView]): Ditto.
- (MediaEventListener::MediaEventListener): Implements the EventListener protocol.
- (MediaEventListener::handleEvent): Tells its delegate to _updatePowerAssertions.
-
-2011-01-07 James Robinson <jamesr@chromium.org>
-
- Revert "Implement mozilla's animationTime property"
- https://bugs.webkit.org/show_bug.cgi?id=51952
-
- This approach isn't quite right.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawRect:]):
- * WebView/WebView.mm:
- (layerSyncRunLoopObserverCallBack):
-
-2011-01-06 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
-
- The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
- destructor early, in order to release wrappers once we know we no longer intend to use them.
- Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
- lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
- A sequence of events that triggers the bug would look like this:
-
- (1) Create a DOMWrapperWorld.
- (2) Register a timer in the world.
- (3) Call unregisterWorld() on the world.
- (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
- (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
- called forgetWorld() none exists.
- (6) Attempt to add a wrapper to a NULL map.
-
- Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
-
- * WebView/WebScriptWorld.mm:
- (-[WebScriptWorld unregisterWorld]):
-
-2011-01-04 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Sam Weinig.
-
- WK2: Support Accessibility
- https://bugs.webkit.org/show_bug.cgi?id=51859
-
- Use rootObject() method to get top of AX tree.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- (WebFrameLoaderClient::accessibilityRemoteObject):
- * WebView/WebFrame.mm:
- (-[WebFrame setAccessibleName:]):
- (-[WebFrame accessibilityRoot]):
- * WebView/WebFrameInternal.h:
- * WebView/WebFramePrivate.h:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView accessibilityAttributeValue:]):
- (-[WebHTMLView accessibilityFocusedUIElement]):
- (-[WebHTMLView accessibilityHitTest:]):
- (-[WebHTMLView _accessibilityParentForSubview:]):
-
-2011-01-04 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/51889> WebFrameLoaderClient::createMediaPlayerProxyPlugin() should use WebCore::PluginInfo.name
-
- Reviewed by Eric Carlson.
-
- This originally broke in r61581. It is inside an
- ENABLE(PLUGIN_PROXY_FOR_VIDEO) macro, so it didn't break the Mac
- build then.
-
- * WebCoreSupport/WebFrameLoaderClient.mm: Call
- (WebFrameLoaderClient::createMediaPlayerProxyPlugin): Updated to
- use WebCore::PluginInfo.name instead of
- -[WebBasePluginPackage name].
-
-2011-01-02 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by Simon Fraser.
-
- <rdar://problem/8812159> Update copyright strings
-
- * Info.plist:
-
-2010-12-29 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Ada Chan.
-
- <rdar://problem/8758191> REGRESSION (r72887): Mail crashes when doing searches in a message due to method name conflict
- https://bugs.webkit.org/show_bug.cgi?id=51717
-
- Renamed -findString:options: to -_findString:options: in the WebDocumentOptionsSearching
- protocol to avoid conflict with -[WebHTMLView(MailExtras) findString:options:] which Mail defines.
-
- * WebView/WebDocumentInternal.h:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
- (-[WebHTMLView _findString:options:]):
- * WebView/WebView.mm:
- (findString):
-
-2010-12-28 Daniel Bates <dbates@rim.com>
-
- Reviewed by Sam Weinig.
-
- Substitute // MARK: for compiler-specific #pragma mark
- https://bugs.webkit.org/show_bug.cgi?id=51657
-
- For consistency, we should substitute "// MARK:" for compiler-
- specific "#pragma mark" in the source files for the Mac port.
-
- * History/WebHistory.mm:
- * Plugins/WebBaseNetscapePluginView.mm:
- * Plugins/WebNetscapePluginView.mm:
- * WebCoreSupport/WebInspectorClient.mm:
- * WebCoreSupport/WebSecurityOrigin.mm:
- * WebView/WebPDFView.mm:
- * WebView/WebVideoFullscreenController.mm:
- * WebView/WebVideoFullscreenHUDWindowController.mm:
-
-2010-12-23 Yongjun Zhang <yongjun_zhang@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit crashes at DebuggerCallFrame::functionName() if m_callFrame is the top global callframe.
- https://bugs.webkit.org/show_bug.cgi?id=38535
-
- WebScriptDebugger in WebKit has empty implementations for willExecuteProgram and didExecuteProgram. As a result,
- if the top call frame is from a program, WebKitScriptDebugger doesn't record that callframe as the top frame, and
- WebScriptDebugger's callframe stack is wrong from this point. That could cause crash if we trying to access the top
- call frame from this stack when an exception throws because the saved top frame could be invalid.
-
- To fix that, we need to maintain the call frame stack in willExecuteProgram and didExecuteProgram, as we did in
- callEvent and returnEvent.
-
- * WebView/WebScriptDebugger.mm:
- (WebScriptDebugger::willExecuteProgram):
- (WebScriptDebugger::didExecuteProgram):
-
-2010-12-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- WebKit2 needs to mirror the frame tree in the UIProcess
- https://bugs.webkit.org/show_bug.cgi?id=51546
-
- - Add client functions to notify that a frame has been added or
- removed from the page cache.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::didSaveToPageCache):
- (WebFrameLoaderClient::didRestoreFromPageCache):
-
-2010-12-22 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Editor.h doesn't need to include SelectionController.h
- https://bugs.webkit.org/show_bug.cgi?id=51441
-
- Renamed SelectionController::EDirection to SelectionDirection.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:granularity:]):
- Takes SelectionDirection instead of SelectionController::EDirection.
- * WebView/WebFrameInternal.h:
- * WebView/WebTextCompletionController.mm:
- (-[WebTextCompletionController doCompletion]): Calls _rangeByAlteringCurrentSelection:SelectionController.
-
-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.
-
- Right-to-left pages should be scrollable to reveal left overflow.
- https://bugs.webkit.org/show_bug.cgi?id=23556
-
- Set and get the original x-axis scroll position and reset scroll position on HOME/END key press.
- Modify WebFrameView to support setting the initial horizontal scroller's thumb position to the right for
- pages with a left overflow.
-
- * WebView/WebDynamicScrollBarsView.h:
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView inProgramaticScroll]):
- (-[WebDynamicScrollBarsView refreshInitialScrollbarPosition]):
- (-[WebDynamicScrollBarsView updateScrollers]):
- (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
- (-[WebDynamicScrollBarsView setScrollOriginX:]):
- (-[WebDynamicScrollBarsView scrollOriginX]):
- * WebView/WebFrameView.mm:
- (-[WebFrameView _scrollToBeginningOfDocument]):
- (-[WebFrameView _scrollToEndOfDocument]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _frameOrBoundsChanged]):
-
-2010-11-22 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Tony Chang.
-
- SelectionController::typingStyle() should return EditingStyle*
- https://bugs.webkit.org/show_bug.cgi?id=49813
-
- Changed the return value of SelectionController::typingStyle() to EditingStyle*.
- Also added SelectionController::copyTypingStyle() to copy the typing style
- as an instance of CSSMutableStyleDeclaration.
-
- No tests are added since this is no behavioral change.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _typingStyle]): Calls SelectionController::copyTypingStyle()
-
-2010-11-19 Michael Saboff <msaboff@apple.com>
-
- Reviewed by Sam Weinig
-
- Remove DOMSVGAnimatedPathData.h from all: target to fix build.
-
- * MigrateHeaders.make:
-
-2010-11-19 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
- https://bugs.webkit.org/show_bug.cgi?id=49580
-
- * WebView/WebRenderLayer.mm: Add missing StyledElement.h include.
-
-2010-11-18 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Adam Roben.
-
- <rdar://problem/8602509&8602717&8602724> Enable compaction support.
-
- * Configurations/WebKit.xcconfig:
-
-2010-11-18 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r72288.
- http://trac.webkit.org/changeset/72288
- https://bugs.webkit.org/show_bug.cgi?id=49730
-
- 'krit attempted to do that, but revert got stuck' (Requested
- by antonm on #webkit).
-
- * WebView/WebRenderLayer.mm:
-
-2010-11-17 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Dirk Schulze.
-
- Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
- https://bugs.webkit.org/show_bug.cgi?id=49580
-
- * WebView/WebRenderLayer.mm: Add missing StyledElement.h include.
-
-2010-11-16 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Geoff Garen.
-
- <rdar://problem/8624267> Leak creating offscreen webview running fast/dom tests
-
- Make a static provider for WebDeviceOrientationProviderMock. The old code allocated a new WebDeviceOrientationProviderMock for
- every WebView, and the WebKit API doesn't support that ownership model.
-
- * WebView/WebDeviceOrientationProviderMock.h:
- * WebView/WebDeviceOrientationProviderMock.mm:
- (+[WebDeviceOrientationProviderMock shared]):
-
-2010-11-16 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=11004
-
- font-size:0 is ignored. Remove the minimum font size of 1 in CSSStyleSelector.
- Change the pref value for minimum font size from 1 to 0. Make sure to never use the NSFont's size,
- since it doesn't honor a size of 0. Instead pass the size in to the FontPlatformData(NSFont*) version
- of the constructor rather than using [NSFont pointSize].
-
- https://bugs.webkit.org/show_bug.cgi?id=49582
-
- Negative leading is not handled correctly. There are two bugs here. The first is that
- maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
- set them before so that we can allow them to be < 0.
-
- The second issue is that we should understand where fonts will end up relative to
- our baseline (excluding line height), and only allow those boxes to impact ascent and
- descent if the actual font box (without factoring in line height) is above or below the
- root line box baseline.
-
- Added fast/css/negative-leading.html
-
- These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
-
- * Misc/WebKitNSStringExtras.mm:
- (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
- (-[NSString _web_widthWithFont:]):
- * Misc/WebStringTruncator.mm:
- (fontFromNSFont):
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
-
-2010-11-16 Anders Carlsson <andersca@apple.com>
-
- Fix clang++ build.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
-
-2010-11-14 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Andreas Kling.
-
- KeyboardEvent::keyIdentifier() should return "const String&"
- https://bugs.webkit.org/show_bug.cgi?id=49426
-
- * WebCoreSupport/WebEditorClient.mm:
- (selectorForKeyEvent):
- Change the type of a variable to have keyIdentifier(); String -> const String&
-
-2010-11-12 John Knottenbelt <jknotten@chromium.org>
-
- Reviewed by Steve Block.
-
- Rename GeolocationControllerClient to GeolocationClient.
- https://bugs.webkit.org/show_bug.cgi?id=49259
-
- * WebCoreSupport/WebGeolocationClient.h: Renamed from WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.h.
- (WebGeolocationClient::webView):
- (WebGeolocationClient::setEnableHighAccuracy):
- * WebCoreSupport/WebGeolocationClient.mm: Renamed from WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.mm.
- (WebGeolocationClient::WebGeolocationClient):
- (WebGeolocationClient::geolocationDestroyed):
- (WebGeolocationClient::startUpdating):
- (WebGeolocationClient::stopUpdating):
- (WebGeolocationClient::lastPosition):
- * WebKit.order:
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2010-11-10 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=49356
- -[WebView _scaleWebView:] should take and origin and scroll the
- document
- -and corresponding-
- <rdar://problem/8643921>
-
- * WebView/WebView.mm:
- (-[WebView _scaleWebView:atOrigin:]):
- * WebView/WebViewPrivate.h:
-
-2010-11-10 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by David Hyatt.
-
- HTML5 Ruby support should be mandatory feature
- https://bugs.webkit.org/show_bug.cgi?id=49272
-
- Remove Ruby as optional feature.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-11-08 Ned Holbrook <nholbrook@apple.com>
-
- Reviewed by Adam Barth.
-
- Avoid CFAttributedString creation in ComplexTextController by adopting UniChar provider SPI.
- https://bugs.webkit.org/show_bug.cgi?id=48886
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2010-11-08 Nate Chapin <japhet@chromium.org>
-
- Unreviewed, build fix.
-
- Clumsy typo in r71562.
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::start):
-
-2010-11-08 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Interface changes in https://bugs.webkit.org/show_bug.cgi?id=27165
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::start): Move duplicate code into NetscapePluginStreamLoader
- * Plugins/WebNetscapePluginStream.mm:
- (WebNetscapePluginStream::start): Move duplicate code into NetscapePluginStreamLoader
- * WebView/WebView.mm:
- (-[WebView _dispatchPendingLoadRequests]): Use resourceLoadScheduler() instead of cache()->loader().
-
-2010-11-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Plug-in views should not assume that plugins are RenderEmbeddedObjects
- https://bugs.webkit.org/show_bug.cgi?id=49196
- <rdar://problem/8638467>
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView pluginHostDied]):
-
-2010-11-08 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=48685
- Notify UI process about focused frame
-
- Added an empty implementation of the new ChromeClient method.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::focusedFrameChanged):
-
-2010-11-08 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * MigrateHeaders.make:
-
-2010-11-08 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Remove use of HIGetScaleFactor
- https://bugs.webkit.org/show_bug.cgi?id=49186
- <rdar://problem/8618410>
-
- Scale factors can vary on a display-by-display basis and it doesn't make sense
- to compute scale factor event coordinates like this.
-
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
- (getCarbonEvent):
-
-2010-11-08 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Sam Weinig.
-
- Allow applets to participate in accelerated compositing
- https://bugs.webkit.org/show_bug.cgi?id=49117
- <rdar://problem/8625819>
-
- If Java is being loaded via the Netscape Plugin API, create a
- NetscapePluginWidget so that it has an implementation of platformLayer().
-
- Also clean up by using early returns.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
-
-2010-11-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Rename Cache to MemoryCache
- https://bugs.webkit.org/show_bug.cgi?id=49159
-
- * Misc/WebCache.mm:
- (+[WebCache statistics]):
- * WebCoreSupport/WebDeviceOrientationClient.mm:
- (WebDeviceOrientationClient::setController):
- * WebView/WebView.mm:
-
-2010-11-05 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=49100
- ASSERT([self window]) fails in -[WebBaseNetscapePluginView restartTimers]
-
- * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView restartTimers]):
- Removed the assertion. Multiple callers provide no guarantee that the plug-in is still alive
- (see bug comments), and there seems to be no harm in executing this function in that case.
-
-2010-11-05 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Move resumeAnimations/suspendAnimations from Frame to AnimationController.
- https://bugs.webkit.org/show_bug.cgi?id=49073
-
- * WebView/WebFrame.mm:
- (-[WebFrame _suspendAnimations]):
- (-[WebFrame _resumeAnimations]):
-
-2010-11-04 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=49008
- <rdar://problem/7906226> Frequent crashes on mail.yahoo.co.jp
-
- Callers of NetscapePluginInstanceProxy::waitForReply() are not prepared to be deleted during
- the call, unless it returns 0. There are two reasons for NetscapePluginInstanceProxy to be
- deleted during wait:
- - plugin crashed;
- - plugin was stopped (e.g. due to a DOM modification performed by another reply that came in
- while waiting).
-
- We didn't recognize the latter.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::PluginDestroyDeferrer::~PluginDestroyDeferrer):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::waitForReply):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::didCallPluginFunction):
-
-2010-11-05 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Make suspendAnimations/resumeAnimations and setCSSAnimations traverse through subframes and remember state
- https://bugs.webkit.org/show_bug.cgi?id=46945
-
- * WebView/WebFrame.mm:
- (-[WebFrame _suspendAnimations]):
- (-[WebFrame _resumeAnimations]):
-
-2010-11-04 Jia Pu <jpu@apple.com>
-
- Reviewed by Dan Bernstein.
-
- reversion bubble in WebViews
- https://bugs.webkit.org/show_bug.cgi?id=47630
- <rdar://problem/8530960>
-
- This patch is to add reversion to correction panel. Please see WebCore/ChangeLog for detail.
-
- * WebCoreSupport/WebEditorClient.h: Adopted new signature of base class method.
- * WebCoreSupport/WebEditorClient.mm: Adopted new signature of base class method. And code
- change to use new reversion API in AppKit.
- (WebEditorClient::WebEditorClient):
- (WebEditorClient::~WebEditorClient):
- (WebEditorClient::respondToChangedSelection):
- (WebEditorClient::showCorrectionPanel):
- (WebEditorClient::dismissCorrectionPanel):
- (WebEditorClient::isShowingCorrectionPanel):
-
-2010-11-04 Mike Thole <mthole@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Title for images should use localized numerals
- https://bugs.webkit.org/show_bug.cgi?id=49017
-
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::imageTitle): Use localized numerals on Snow Leopard or newer.
-
-2010-11-02 Daniel Bates <dbates@rim.com>
-
- Reviewed by Adam Barth.
-
- For unnamed frames, window.name returns a generated name
- https://bugs.webkit.org/show_bug.cgi?id=6751
-
- Part 1 of 2.
-
- Substitute FrameTree::uniqueName() for FrameTree::name() in the Mac port.
-
- * WebView/WebFrame.mm:
- (-[WebFrame name]):
-
-2010-11-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
- Context menu support for WebKit 2.
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::showContextMenu):
-
-2010-10-29 Daniel Bates <dbates@rim.com>
-
- No review, rolling out 70971.
- http://trac.webkit.org/changeset/70971
- https://bugs.webkit.org/show_bug.cgi?id=6751
-
- Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
- it caused layout test failures on all bots. In particular, the
- child count in a generated frame name differs after this patch. We need
- to look into this further.
-
- * WebView/WebFrame.mm:
- (-[WebFrame name]):
-
-2010-10-28 Antonio Gomes <agomes@rim.com>
-
- Reviewed by Ojan Vafai.
-
- Needs a "LinuxEditingBehavior", perhaps with a better name
- https://bugs.webkit.org/show_bug.cgi?id=36627
-
- Added the corresponding GTK+ setting to WebCore's EditingUnixBehavior: WebKitEditingUnixBehavior.
-
- * WebView/WebFrame.mm:
- (core):
- * WebView/WebPreferencesPrivate.h:
-
-2010-10-29 Daniel Bates <dbates@rim.com>
-
- Reviewed by Adam Barth.
-
- For unnamed frames, window.name returns a generated name
- https://bugs.webkit.org/show_bug.cgi?id=6751
-
- Modified Mac-port to use FrameTree::uniqueName().
-
- * WebView/WebFrame.mm:
- (-[WebFrame name]):
-
-2010-10-29 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Change BackForwardList clients to use BackForwardListImpl to prepare for further refactoring
- https://bugs.webkit.org/show_bug.cgi?id=48574
-
- * History/WebBackForwardList.mm:
- Use BackForwardListImpl.
-
-2010-10-29 Alexey Proskuryakov <ap@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Comment for usesDocumentViews explains it backwards. This flag is true in ToT, and we do
- create views for subframes.
-
- * WebView/WebViewData.h: Double negation is better than a lie.
-
-2010-10-27 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Darin Adler.
-
- Full screen video in Safari (still) exits full-screen if you switch to another
- app on a multi-display system.
- https://bugs.webkit.org/show_bug.cgi?id=47364
- <rdar://problem/8382299>
-
- The FullScreen window does not technically close when it deactivates, but the
- two NSWindows that make up the FullScreen feature should not hide when deactivated.
-
- * WebView/WebVideoFullscreenController.mm:
- (createBackgroundFullscreenWindow): Do not set hidesOnDeactivate.
- (-[WebVideoFullscreenWindow initWithContentRect:styleMask:backing:defer:]): Ditto.
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]): Ditto.
-
-2010-10-29 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=48576
- Let WebKit2 client know when a frame is a frameset
-
- Added a blank implementation of the new FrameLoaderClient method.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidBecomeFrameset):
-
-2010-10-29 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Adam Roben and David Kilzer.
-
- Fix and cleanup of build systems
- https://bugs.webkit.org/show_bug.cgi?id=48342
-
- * Configurations/FeatureDefines.xcconfig: Remove unnecessary ENABLE_SANDBOX.
-
-2010-10-28 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- LLVM compiler build fix
-
- * Misc/WebDownload.mm:
- (-[WebDownload initWithRequest:delegate:]): Changed the delegate type from id to
- id<NSURLDownloadDelegate> to match the method signature in NSURLDownload.
-
-2010-10-28 Ivan Krstić <ike@apple.com>
-
- Reviewed by Mark Rowe.
-
- Remove unused experimental proxied panel interface.
- <rdar://problem/7237059>
-
- * Plugins/Hosted/NetscapePluginHostManager.h:
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::hostForPlugin):
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/Hosted/WebKitPluginHost.defs:
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- * WebView/WebPreferencesPrivate.h:
-
-2010-10-27 Pratik Solanki <psolanki@apple.com>
-
- Reviewed by Darin Adler.
-
- Improve memSize calculation in [WebView _setCacheModel]
- https://bugs.webkit.org/show_bug.cgi?id=48484
-
- * WebView/WebView.mm:
- (roundUpToPowerOf2): Added. Utility function to calculate the nearest power of 2.
- (+[WebView _setCacheModel:]): Update memSize calculation to set it to the next
- bigger power of 2. Also update WebCore cache settings.
-
-2010-10-26 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
- https://bugs.webkit.org/show_bug.cgi?id=42322
- rdar://problem/8193631
-
- WebKitTestRunner needs to support layoutTestController.clearBackForwardList
- https://bugs.webkit.org/show_bug.cgi?id=42333
- rdar://problem/8193643
-
- * History/WebBackForwardList.mm:
- (core): Return BackForwardListImpl.
- (kit): Take BackForwardListImpl.
- (-[WebBackForwardList initWithBackForwardList:]): Use BackForwardListImpl.
- (-[WebBackForwardList dealloc]): Ditto.
- (-[WebBackForwardList finalize]): Ditto.
- (-[WebBackForwardList description]): Ditto.
- (-[WebBackForwardList setPageCacheSize:]): Ditto.
- (-[WebBackForwardList pageCacheSize]): Ditto.
- * History/WebBackForwardListInternal.h: Ditto.
- * WebView/WebFrameView.mm:
- (-[WebFrameView keyDown:]): Ditto.
- * WebView/WebView.mm:
- (-[WebView initWithCoder:]): Ditto.
- (-[WebView encodeWithCoder:]): Ditto.
- (-[WebView backForwardList]): Ditto.
- (-[WebView setMaintainsBackForwardList:]): Ditto.
-
-2010-10-27 Chris Rogers <crogers@google.com>
-
- Reviewed by Chris Marrin.
-
- Add ENABLE_WEB_AUDIO feature enable flag (initially disabled) to build-webkit
- https://bugs.webkit.org/show_bug.cgi?id=48279
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-10-27 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit
- SPI to scale a WebView
- -and corresponding-
- <rdar://problem/8107667>
-
- This patch adds SPI to Mac WebKit that scales the page by the given
- scale factor.
-
- * WebView/WebView.mm:
- (-[WebView _scaleWebView:]):
- (-[WebView _viewScaleFactor]):
- * WebView/WebViewPrivate.h:
-
-2010-10-27 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (r70335): Incorrect article layout in Safari Reader
- https://bugs.webkit.org/show_bug.cgi?id=48436
-
- * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_GET_MATCHED_CSS_RULES_RESTRICTIONS.
- * WebView/WebView.mm:
- (-[WebView _needsUnrestrictedGetMatchedCSSRules]): Added. Returns YES for Safari linked against
- versions of WebKit that did not have the cross-origin restrictions in getMatchedCSSRules().
- (-[WebView _preferencesChangedNotification:]): Call Settings::setCrossOriginCheckInGetMatchedCSSRulesDisabled()
- based on the above.
-
-2010-10-18 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Eric Carlson.
-
- Safari fullscreen media element tickles when it should not.
-
- https://bugs.webkit.org/show_bug.cgi?id=47861
-
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController updatePowerAssertions]):
-
-2010-10-26 Jenn Braithwaite <jennb@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Resource tracking failure when trying to move a frame between documents
- https://bugs.webkit.org/show_bug.cgi?id=44713
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::didTransferChildFrameToNewDocument):
- Empty method.
- (WebFrameLoaderClient::transferLoadingResourceFromPage):
- Update resource tracking for a resource load that has been transferred
- to a new page.
-
-2010-10-25 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Gavin Barraclough.
-
- Remove exec and globalData arguments from jsNumber
- https://bugs.webkit.org/show_bug.cgi?id=48270
-
- Mechanical removal of exec parameter to jsNumber
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::numberValue):
-
-2010-10-24 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Expose HitTestResult::absoluteMediaURL() via WebKit API
- https://bugs.webkit.org/show_bug.cgi?id=48219
-
- * Misc/WebElementDictionary.mm:
- (+[WebElementDictionary initializeLookupTable]): Map WebElementMediaURLKey to
- _absoluteMediaURL.
- (-[WebElementDictionary _absoluteMediaURL]): Added. Returns absoluteMediaURL().
- * WebKit.exp: Export WebElementMediaURLKey.
- * WebView/WebView.mm: Define WebElementMediaURLKey.
- * WebView/WebViewPrivate.h: Declare WebElementMediaURLKey.
-
-2010-10-24 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- Removed deprecated methods from the WebHTMLHighlighter private protocol.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::customHighlightRect): Call -highlightRectForLine:representedNode:
- unconditionally.
- (WebChromeClient::paintCustomHighlight): Call
- -paintHighlightForBox:onLine:behindText:entireLine:representedNode: unconditionally.
- * WebView/WebHTMLViewPrivate.h:
-
-2010-10-23 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Sam Weinig.
-
- Unify globalData APIs
- https://bugs.webkit.org/show_bug.cgi?id=47969
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame evaluateWebScript:]):
-
-2010-10-23 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/48186> Remove unneeded WebHTMLRepresentationInternal.h header
-
- Reviewed by Sam Weinig.
-
- The only method defined in WebHTMLRepresentationInternal.h is
- also defined in WebHTMLRepresentation.h, so use that instead.
-
- * WebView/WebHTMLRepresentationInternal.h: Removed.
-
-2010-10-23 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=48083
- <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
-
- * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize the new method.
-
-2010-10-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WebKit2 needs to pass the current event modifier flags when requesting a new window
- https://bugs.webkit.org/show_bug.cgi?id=48140
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::createWindow):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchCreatePage):
- Add NavigationAction parameter.
-
-2010-10-21 Andy Estes <aestes@apple.com>
-
- Reviewed by Eric Carlson.
-
- WebKit shouldn't load a plug-in based on file extension if a MIME type
- is specified.
- https://bugs.webkit.org/show_bug.cgi?id=48046
-
- If a MIME type is specified in an object or embed element, and that MIME
- type isn't supported by an installed plug-in, WebKit shouldn't attempt
- to find a plug-in based on the file extension of the url attribute.
- Doing so can lead to cases where a plug-in is loaded that can't handle
- resources of the MIME type specified by the author.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin): Only check for a pluginPackage by
- extension if MIME type is the empty string.
-
-2010-10-20 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Composited elements drawn twice when WebView is layer-backed
- https://bugs.webkit.org/show_bug.cgi?id=48024
- <rdar://problem/7916580>
-
- When drawing content in a layer-backed WebView, WebFrame's test
- for drawing to a bitmap succeeded, causing us to paint flattened
- compositing layers into the view. They would also be rendered
- by the normal compositing path, resulting in double rendering.
-
- Fix this by detecting when the WebHTMLView is being drawn into
- a layer, and avoiding flattening in that case.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _showFlattenedCompositingLayers:]):
- (-[WebFrame _drawRect:contentsOnly:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawLayer:inContext:]):
- (-[WebHTMLView _web_isDrawingIntoLayer]):
- * WebView/WebHTMLViewInternal.h:
-
-2010-10-20 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by David Levin.
-
- Repost the DatabaseTracker notifications to the main thread, if needed.
- https://bugs.webkit.org/show_bug.cgi?id=40655
-
- * Storage/WebDatabaseTrackerClient.mm:
- (DidModifyOriginData::dispatchToMainThread):
- (DidModifyOriginData::DidModifyOriginData):
- (DidModifyOriginData::dispatchDidModifyOriginOnMainThread):
- (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
- (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
-
-2010-10-20 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION(r67568-r67643): Some HTML/CSS renders upside down and backwards on Leopard
- https://bugs.webkit.org/show_bug.cgi?id=47369
-
- r46947 added code that limits the size of the layer-backed view on Leopard when
- the page height exceeds 4096px (later adjusted to 2048px in r48401).
-
- Later, r67576 altered the geometry flipping behavior to push the geometry flipping
- down into WebKit. However, the code that adjusts the hosting layer's sublayer transform
- to account for layer-backed view size-limiting was not fixed at the same time.
- This change corrects that.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _updateLayerHostingViewPosition]):
-
-2010-10-19 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/8508422> Compositing layers aren't always displayed correctly in layer-backed WebViews
-
- AppKit has some special code to prevent it meddling with view's layers
- under layer-backed WebViews. When a layer-backed WebView became composited,
- this caused our layer to remain zero-sized. Fix this by manually
- setting the geometry for our layer, if the WebHTMLView has a layer.
-
- This does not seem to be a problem if the WebView becomes layer-backed, or
- stops being layer-backed after the WebView starts using compositing.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView attachRootLayer:]):
-
-2010-10-20 Dirk Schulze <krit@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Merge ColorSpace and ImageColorSpace enums
- https://bugs.webkit.org/show_bug.cgi?id=47922
-
- Renamed ColorSpace enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB
- to follow webkit style rules.
-
- * Misc/WebKitNSStringExtras.mm:
- (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
-
-2010-10-19 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=47933
- <rdar://problem/8494337> navigator.language doesn't work in WebKit2
-
- * Misc/WebNSUserDefaultsExtras.mm: Moved code for computing default language to WebCore.
- We need to keep _webkit_preferredLanguageCode for Safari.
-
- * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface):
- Initialize wkCopyCFLocalizationPreferredName.
-
- * WebCoreSupport/WebViewFactory.mm: Removed defaultLanguage. WebCore was the only caller.
-
-2010-10-18 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by David Kilzer.
-
- https://bugs.webkit.org/show_bug.cgi?id=47864
- Convert WebNSUserDefaultsExtras.m to .mm
-
- Also, fixed some issues in the process:
- - removed locking, which was only necessary when this code was in Foundation;
- - fixed notification center observer to actually work (previously, it picked up changes
- when application preferences changed, not when system language did);
- - removed unused NSString category;
- - updated style.
-
- * Misc/WebNSUserDefaultsExtras.m: Removed.
- * Misc/WebNSUserDefaultsExtras.mm: Copied from WebKit/mac/Misc/WebNSUserDefaultsExtras.m.
- (createHTTPStyleLanguageCode):
- (+[NSUserDefaults _webkit_defaultsDidChange]):
- (addLanguageChangeObserver):
- (+[NSUserDefaults _webkit_preferredLanguageCode]):
-
-2010-10-18 Stuart Morgan <stuartmorgan@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Switch to using the new Carbon NPAPI event declarations, and remove
- the old ones.
-
- https://bugs.webkit.org/show_bug.cgi?id=40784
-
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
- (WebNetscapePluginEventHandlerCarbon::mouseEntered):
- (WebNetscapePluginEventHandlerCarbon::mouseExited):
- (WebNetscapePluginEventHandlerCarbon::mouseMoved):
- (WebNetscapePluginEventHandlerCarbon::focusChanged):
-
-2010-10-18 Pavel Podivilov <podivilov@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: disable private browsing for inspector
- https://bugs.webkit.org/show_bug.cgi?id=47827
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController init]):
-
-2010-10-14 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: inspector settings/properties/states management
- should be extracted into separate class.
-
- We have a lot of flags/values in InspectorController.
- Some flags are persisting into profile.
- Others are part of inspector state for frontend.
- All these flags should keep their values after navigation.
- It'd be better to extract these flags/values into separate
- class which will care about theirs lifetime.
-
- https://bugs.webkit.org/show_bug.cgi?id=47275
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController showWindow:]):
- (-[WebInspectorWindowController attach]):
- (-[WebInspectorWindowController detach]):
-
-2010-10-13 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=43987
- Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
- to construct their internal result string. Remove ScriptString (this is now
- redundant).
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
-
-2010-10-12 Andy Estes <aestes@apple.com>
-
- Rubber-stamped by Darin Adler.
-
- Check in some cleanup from the previous commit.
-
- * WebView/WebView.mm:
- (leakMailQuirksUserScriptPath): Renamed to indicate that this function
- leaks an NSString.
- (-[WebView _injectMailQuirksScript]): Moved a static initialization from
- a separate class method into the only method that used it and removed
- the now-unnecessary class method.
-
-2010-10-12 Eric Seidel <eric@webkit.org>
-
- Reviewed by Darin Adler.
-
- REGRESSION (new parser): Leopard/Tiger Mail <head>/<body> quirk is gone
- https://bugs.webkit.org/show_bug.cgi?id=45693
-
- Re-implement this former WebCore parser quirk as a
- Mac-only userscript-based quirk. As far as I can tell
- from Darin's description this should satisfy Mail's needs.
-
- * Misc/MailQuirksUserScript.js: Added.
- * WebView/WebView.mm:
- (+[WebView _mailQuirksUserScript]):
- (-[WebView _injectMailQuirksScript]):
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2010-10-12 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add 'didDraw' callback for framerate tracking
- https://bugs.webkit.org/show_bug.cgi?id=47478
-
- Add a callback at the end of -[WebHTMLView drawRect:] so
- a delegate can get notified when a draw happens.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawRect:]):
- * WebView/WebUIDelegatePrivate.h:
-
-2010-10-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Remove WebIconFetcher from WebKit and IconFetcher from WebCore
- https://bugs.webkit.org/show_bug.cgi?id=47523
-
- Remove all traces of the WebKit WebIconFetcher class. It's SPI that nobody uses.
-
- * Misc/WebIconFetcher.h: Removed.
- * Misc/WebIconFetcher.mm: Removed.
- * Misc/WebIconFetcherInternal.h: Removed.
- * WebView/WebFrame.mm:
- * WebView/WebFramePrivate.h:
-
-2010-10-11 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Darin Adler.
-
- Add Private API for creating a WebKit2 WebSerializedScriptValue from the internal
- representation of a WebKit1 WebSerializedJSValue.
- https://bugs.webkit.org/show_bug.cgi?id=47439
-
- * WebView/WebSerializedJSValue.mm:
- (-[WebSerializedJSValue internalRepresentation]):
- * WebView/WebSerializedJSValuePrivate.h:
-
-2010-10-07 Jessie Berlin <jberlin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add Private API for creating a WebKit1 WebSerializedJSValue from the internal
- representation of a WebKit2 WebSerializedScriptValue.
- https://bugs.webkit.org/show_bug.cgi?id=47390
-
- * WebView/WebSerializedJSValue.mm:
- (-[WebSerializedJSValue initWithInternalRepresentation:]):
- Set the WebSerializedJSValuePrivate's WebCore::SerializedScriptValue to be the passed in
- internal representation.
- * WebView/WebSerializedJSValuePrivate.h: Added.
-
-2010-10-07 Antonio Gomes <agomes@rim.com>
-
- Reviewed by Simon Fraser.
-
- [Mac] [DRT] implement setSpatialNavigationEnabled
- https://bugs.webkit.org/show_bug.cgi?id=47291
-
- Added the needed bits to make it possible to enabled spatial navigation
- for the Mac port. For now it is being only used by DRT.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences isSpatialNavigationEnabled]):
- (-[WebPreferences setSpatialNavigationEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-10-07 Jer Noble <jer.noble@apple.com>
-
- Fix the Leopard 64-bit build.
-
- * Configurations/WebKit.xcconfig: Add CoreServices.framework/Frameworks to the
- framework search path.
- * WebView/WebVideoFullscreenController.mm: Explicitly import <OSStatus/Power.h>.
-
-2010-10-06 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Darin Adler.
-
- Screensaver starts while watching fullscreen playback.
- https://bugs.webkit.org/show_bug.cgi?id=47299
- <rdar://problem/8478956>
-
- To disable the Screen Saver, we need to periodically call UpdateSystemActivity().
-
- * WebView/WebVideoFullscreenController.h: Added _tickleTimer.
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController dealloc]): Invalidate _tickleTimer.
- (-[WebVideoFullscreenController _enableTickleTimer]): Create _tickleTimer.
- (-[WebVideoFullscreenController _disableTickleTimer]): Invalidate _tickleTimer.
- (-[WebVideoFullscreenController _tickleTimerFired]): Call UpdateSystemActivity().
- (-[WebVideoFullscreenController updatePowerAssertions]): Call _enableTickleTimer
- or _disableTickleTimer.
-
-2010-10-05 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Martin Robinson.
-
- check for ENABLE(GLIB_SUPPORT) in WebView
- https://bugs.webkit.org/show_bug.cgi?id=46788
-
- Use ENABLE(GLIB_SUPPORT) in WebView to guard the glib runloop observer.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView _close]):
- * WebView/WebViewData.h:
- * WebView/WebViewInternal.h:
-
-2010-10-01 Anders Carlsson <andersca@apple.com>
-
- Fix Snow Leopard build.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::getProxy):
-
-2010-10-01 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add proxy server query function proxyServersForURL and change the Mac plug-in code to use it
- https://bugs.webkit.org/show_bug.cgi?id=47022
- <rdar://problem/8504712>
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::getProxy):
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView getVariable:forURL:value:length:]):
-
-2010-09-30 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove remaining calls to deprecatedParseURL
- https://bugs.webkit.org/show_bug.cgi?id=26599
-
- * DOM/WebDOMOperations.mm:
- (-[DOMDocument URLWithAttributeString:]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin):
- Call stripLeadingAndTrailingHTMLSpaces instead of deprecatedParseURL.
-
-2010-09-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- -[DOMDocument _documentRange] throws an exception if there is no document element
- https://bugs.webkit.org/show_bug.cgi?id=46934
- <rdar://problem/8169260>
-
- If there is no document element, just return an empty range. Otherwise we'll try to call
- Range::selectNode with a null Node which will throw a NOT_FOUND exception.
-
- * DOM/WebDOMOperations.mm:
- (-[DOMDocument _documentRange]):
-
-2010-09-30 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Make 2D accelerated canvas rendering build on Mac
- https://bugs.webkit.org/show_bug.cgi?id=46007
-
- Added ACCELERATED_2D_CANVAS to FeatureDefines
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-09-30 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- Add printing SPI allowing full control over shrink-to-fit
- https://bugs.webkit.org/show_bug.cgi?id=46877
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]): Added.
- * WebView/WebHTMLViewPrivate.h:
-
-2010-09-28 Johnny Ding <jnd@chromium.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=41292
- Some windowed plugins did not handle events through EventHandler, so we
- never set right gesture state for those events.
- This change is to set right allowPopupsFromPlugin flag to current
- execution frame, so WeKit can always get right gesture state on Mac.
- From Mac Snow Leopard, the plugin is run under "WebKitPluginHost,app"
- process, that process passes the allowPopupsFromPlugin flag to
- WKPCEvaluate(in NetscapePluginHostProxy.mm), then flag is set in
- NetscapePluginInstanceProxy::evaluate.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView sendEvent:isDrawRect:]):
-
-2010-09-28 Jenn Braithwaite <jennb@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
- https://bugs.webkit.org/show_bug.cgi?id=46663
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::didTransferChildFrameToNewDocument):
-
-2010-09-26 Antonio Gomes <agomes@rim.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- DRT/Mac nodesFromRect support
-
- [Mac][DRT] Implement LayoutTestController::nodesFromRect
- https://bugs.webkit.org/show_bug.cgi?id=46580
-
- Implement nodesFromRect as a private method to access non-exposed Document
- methods, similarly to computedStyleIncludingVisitedInfo.
-
- * WebView/WebView.mm: Added JSDocument.h and JSNodeList.h to the include list.
- These headers makes it possible to:
- 1) Get a Document off of a JSDocument;
- 2) Call toJS function, defined in JSNodeList.cpp|h so we can convert RefPtr<NodeList>
- gotten from Document::nodesFromRect to JS bindings.
- (-[WebView _nodesFromRect:forDocument:x:y:hPadding:vPadding:ignoreClipping:]):
- * WebView/WebViewPrivate.h: Added nodesFromRect method to access methods of the
- Document class not exposed to JavaScript. It works similarly to computedStyleIncludingVisitedInfo.
-
-2010-09-24 Jia Pu <jpu@apple.com>
-
- Reviewed by Dan Bernstein.
-
- automaticSpellingCorrectionEnabled isn't updated.
- https://bugs.webkit.org/show_bug.cgi?id=46486
- <rdar://problem/8475212>
-
- * WebView/WebView.mm:
- (+[WebView initialize]): Should update "automaticSpellingCorrectionEnabled"
- instead of "automaticTextReplacementEnabled".
-
-2010-09-23 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=46380
- REGRESSION: Crash when downloading a file
-
- Downloading cannot be tested in DRT.
-
- * Misc/WebNSFileManagerExtras.m: (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]):
- Don't copy null strings.
-
-2010-09-24 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Web Inspector: CRASH at node highlight on MAC Safari.
- 1) run-safari --debug
- 2) open inspector
- 3) open elements panel
- 4) hover mouse over elements panel items multiple times
- 5) CRASH
- Looks like it is a race condition. WebNodeHighlightView doesn't check
- the pointer to WebNodeHighligh object and it can be nil.
-
- https://bugs.webkit.org/show_bug.cgi?id=46261
-
- * WebInspector/WebNodeHighlightView.mm:
- (-[WebNodeHighlightView drawRect:]):
-
-2010-09-23 Andy Estes <aestes@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (r61285): some Dashboard widgets are always invisible due to
- HTML parser changes.
- https://bugs.webkit.org/show_bug.cgi?id=46435
-
- Enable pre-HTML5 parser quirks if Dashboard is in backward compatibility
- mode.
-
- * WebView/WebView.mm:
- (-[WebView _needsPreHTML5ParserQuirks]): Renamed from
- shouldUsePreHTML5ParserQuirks(). Return true if
- WebCore::Settings::usesDashboardCompatibilityMode() is true.
- (-[WebView _preferencesChangedNotification:]):
- (-[WebView _setDashboardBehavior:to:]): Enable pre-HTML5 parser quirks
- if Dashboard behavior is set to backward compatibility mode.
-
-2010-09-23 Matthew Delaney <mdelaney@apple.com>
-
- Reviewed by Simon Fraser.
-
- Reduce minimum DOMTimer interval
- https://bugs.webkit.org/show_bug.cgi?id=45362
-
- * WebView/WebView.mm:
- Updating set interval call to use Settings' static version inside
- one time init block.
-
-2010-09-22 Andy Estes <aestes@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (r61285): Microsoft Entourage 2008 does not invoke My Day window
- https://bugs.webkit.org/show_bug.cgi?id=46334
-
- Microsoft My Day loads scripts using self-closing script tags, markup
- which is incompatible with the HTML5 parser. Enable parser quirks for
- this application.
-
- * WebView/WebView.mm:
- (shouldUsePreHTML5ParserQuirks): Return true if the application is
- Microsoft My Day and was linked against a version of WebKit prior to the
- introduction of the HTML5 parser.
-
-2010-09-23 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Add hyperlink auditing settings (i.e., <a ping>).
- https://bugs.webkit.org/show_bug.cgi?id=30458
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences setMemoryInfoEnabled:]):
- (-[WebPreferences hyperlinkAuditingEnabled]):
- (-[WebPreferences setHyperlinkAuditingEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-09-22 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=43667
- ASSERT failure in NetscapePluginInstanceProxy::disconnectStream
-
- Test: plugins/get-javascript-url.html
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript): Add the stream to m_streams, just
- like any other one.
-
-2010-09-21 Darin Adler <darin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Fix some Objective-C GC problems and use RetainPtr instead of HardRetain/Release
- https://bugs.webkit.org/show_bug.cgi?id=46220
-
- * Misc/WebNSFileManagerExtras.m:
- (setMetaData): Use CFRelease instead of HardRelease.
- (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Use CFStringCreateCopy
- instead of -[NSObject copy] combined with HardRetainWithNSRelease.
-
-2010-09-22 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- PluginStrategy should satisfy the needs of Qt
- https://bugs.webkit.org/show_bug.cgi?id=45857
- No new functionality so no new tests.
-
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::getPluginInfo):
-
-2010-09-22 Paul Knight <pknight@apple.com>
-
- Reviewed by Simon Fraser.
-
- -[WebView _scheduleCompositingLayerSync] should wake the run loop
- https://bugs.webkit.org/show_bug.cgi?id=46226
-
- Call CFRunLoopWakeUp to make sure the run loop is not sleeping, which could delay layer painting.
-
- * WebView/WebView.mm:
- (-[WebView _scheduleCompositingLayerSync]):
-
-2010-09-21 Andy Estes <aestes@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (r61285): AIM 2.1.296: Code rendered as text in Welcome screen
- https://bugs.webkit.org/show_bug.cgi?id=46134
-
- AIM clients linked against versions of WebKit prior to the introduction
- of the HTML5 parser contain markup incompatible with the new parser.
- Enable parser quirks in this case to remain compatible with these
- clients.
-
- * WebView/WebView.mm:
- (shouldUsePreHTML5ParserQuirks): Returns true if the embedding
- application is AIM and was linked against a version of WebKit prior to
- the introduction of the HTML5 parser, or if the
- WebKitPreHTML5ParserQuirks WebPreference is enabled.
- (-[WebView _preferencesChangedNotification:]): Call
- WebCore::Settings::setUsePreHTML5ParserQuirks().
-
-2010-09-21 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- DeviceOrientationClient and DeviceMotionClient should have controllerDestroyed() methods
- https://bugs.webkit.org/show_bug.cgi?id=45891
-
- Implements WebDeviceOrientationClient::deviceOrientationControllerDestroyed to delete the client.
-
- * WebCoreSupport/WebDeviceOrientationClient.h:
- * WebCoreSupport/WebDeviceOrientationClient.mm:
- (WebDeviceOrientationClient::deviceOrientationControllerDestroyed):
-
-2010-09-20 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Carlson.
-
- [GTK] enhanced context menu for media elements
- https://bugs.webkit.org/show_bug.cgi?id=45021
-
- New localized strings for the media element context-menu.
-
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::contextMenuItemTagOpenVideoInNewWindow):
- (WebPlatformStrategies::contextMenuItemTagOpenAudioInNewWindow):
- (WebPlatformStrategies::contextMenuItemTagCopyVideoLinkToClipboard):
- (WebPlatformStrategies::contextMenuItemTagCopyAudioLinkToClipboard):
- (WebPlatformStrategies::contextMenuItemTagToggleMediaControls):
- (WebPlatformStrategies::contextMenuItemTagToggleMediaLoop):
- (WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen):
- (WebPlatformStrategies::contextMenuItemTagMediaPlay):
- (WebPlatformStrategies::contextMenuItemTagMediaPause):
- (WebPlatformStrategies::contextMenuItemTagMediaMute):
-
-2010-09-20 Andy Estes <aestes@apple.com>
-
- Reviewed by Adam Barth.
-
- REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
- https://bugs.webkit.org/show_bug.cgi?id=40961
-
- Implement WebKitUsePreHTML5ParserQuirks preference.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Default WebKitUsePreHTML5ParserQuirks to
- false.
- (-[WebPreferences usePreHTML5ParserQuirks]):
- (-[WebPreferences setUsePreHTML5ParserQuirks:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings
- with the value of WebKitUsePreHTML5ParserQuirks when a preference
- changes.
-
-2010-09-20 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Sam Weinig.
-
- Pasteboard doesn't work in WebKit2.
- https://bugs.webkit.org/show_bug.cgi?id=42317
- <rdar://problem/7660537>
-
- Some changes to fix style inconsistencies.
- Added OBJC 2.0 style enumeration.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::userVisibleString):
- (createExcludedElementsForAttributedStringConversion):
- (WebEditorClient::documentFragmentFromAttributedString): Changed parameter to be
- a Vector of RefPtr.
- (WebEditorClient::setInsertionPasteboard):
- (WebEditorClient::pasteboardTypesForSelection):
-
-2010-09-17 David Hyatt <hyatt@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=45993, convert printing to the new pagination model.
-
- Make printing store the page height in the RenderView and push that into the layout state to
- use the new pagination model. The old pagination model is retained because it is still used
- for embedded WebViews.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]):
-
-2010-09-17 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
- https://bugs.webkit.org/show_bug.cgi?id=42863
-
- * WebView/WebView.mm:
- (-[WebView _setZoomMultiplier:isTextOnly:]):
- Call functions on Frame instead of FrameView.
-
-2010-09-17 Matthew Delaney <mdelaney@apple.com>
-
- Reviewed by Simon Fraser.
-
- Reduce minimum DOMTimer interval
- https://bugs.webkit.org/show_bug.cgi?id=45362
-
- * WebView/WebView.mm: Added in a call to set the mimimum allowed DOMTimer to 4ms.
-
-2010-09-17 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Add WebKitAccelerated2dCanvasEnabled flag to WebKit for Mac
- https://bugs.webkit.org/show_bug.cgi?id=45911
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences accelerated2dCanvasEnabled]):
- (-[WebPreferences setAccelerated2dCanvasEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-09-17 Jia Pu <jpu@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WebKit should use system wide spell checking preference when application specific one isn't set.
- https://bugs.webkit.org/show_bug.cgi?id=45789
- <rdar://problem/8416041>
-
- * WebView/WebView.mm:
- (+[WebView initialize]): Use system wide autocorrection and text substitution preferences
- when the application level preferences are not set.
-
-2010-09-16 John Sullivan <sullivan@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/8395558>
- https://bugs.webkit.org/show_bug.cgi?id=45938
- _web_makePluginViewsPerformSelector:: mutates subviews array while iterating it
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _web_makePluginSubviewsPerformSelector:withObject:]):
- Converted from -[NSArray _web_makePluginViewsPerformSelector:withObject:]. The old method
- was only ever called on the result of -[WebHTMLView subviews]. By moving that knowledge into
- this helper method, it can't be used incorrectly. Now it makes a copy of [WebHTMLView subviews]
- before enumerating it, to ensure that the selector can't mutate the array being enumerated.
- (-[WebHTMLView viewWillMoveToHostWindow:]):
- Updated for _web_makePluginSubviewsPerformSelector:: signature change.
- (-[WebHTMLView viewDidMoveToHostWindow]):
- Ditto.
-
-2010-09-16 Darin Adler <darin@apple.com>
-
- Reviewed by Andreas Kling.
-
- Reduce use of HTMLInputElement::inputType so we can remove it later
- https://bugs.webkit.org/show_bug.cgi?id=45903
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation elementDoesAutoComplete:]): Use isPasswordField.
- (-[WebHTMLRepresentation elementIsPassword:]): Use isPasswordField.
-
-2010-09-16 Patrick Gansterer <paroga@paroga.com>
-
- Reviewed by Darin Adler.
-
- Always use a valid string when setting WebKitUserStyleSheetLocationPreferenceKey.
- https://bugs.webkit.org/show_bug.cgi?id=41510
-
- This prevents usage of nil value, which would cause an uncaught exception.
-
- * WebView/WebPreferences.mm:
- (-[WebPreferences setUserStyleSheetLocation:]):
-
-2010-09-16 Dan Bernstein <mitz@apple.com>
-
- Reverted the previous change because r67628 has been reverted.
-
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
-
-2010-09-16 Dan Bernstein <mitz@apple.com>
-
- Build fix after r67628. Added context menu item localizable strings for the items
- added in r67628, following equivalent menu items in Mac OS X when possible. However,
- this set of menu items does not make much sense for Mac OS X, and this should be
- addressed separately.
-
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::contextMenuItemTagOpenMediaInNewWindow):
- (WebPlatformStrategies::contextMenuItemTagCopyMediaLinkToClipboard):
- (WebPlatformStrategies::contextMenuItemTagToggleMediaControls):
- (WebPlatformStrategies::contextMenuItemTagToggleMediaLoop):
- (WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen):
- (WebPlatformStrategies::contextMenuItemTagMediaPlay):
- (WebPlatformStrategies::contextMenuItemTagMediaPause):
- (WebPlatformStrategies::contextMenuItemTagMediaMute):
- (WebPlatformStrategies::contextMenuItemTagMediaUnMute):
-
-2010-09-16 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by Jian Li.
-
- Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM.
- https://bugs.webkit.org/show_bug.cgi?id=45798
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-09-15 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=44715
- maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac
-
- Move geometry flipping to platform-specific code.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView attachRootLayer:]):
-
-2010-09-14 Jia Pu <jpu@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Only intercept ESC key press when autocorrection UI is visible.
- https://bugs.webkit.org/show_bug.cgi?id=45071
-
- * WebCoreSupport/WebEditorClient.h: Added declaration of isShowingCorrectionPanel(),
- which provides an inteface to query whether autocorrection panel is shown.
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::WebEditorClient): Defined a constant, InvalidCorrectionPanelTag,
- for invalid correction panel tag. Replaced -1 with this constant.
- (WebEditorClient::dismissCorrectionPanel): Ditto
- (WebEditorClient::isShowingCorrectionPanel): Query whether autocorrection panel is shown.
-
-2010-09-14 Mark Rowe <mrowe@apple.com>
-
- Reviewed by John Sullivan.
-
- Part of <rdar://problem/8420003>. Make it possible to override the version number used in linked-in-or-after checks.
-
- * Misc/WebKitVersionChecks.h: Remove two unused functions from the header and add a method to set the overriden version.
- * Misc/WebKitVersionChecks.m:
- (WebKitLinkedOnOrAfter):
- (setWebKitLinkTimeVersion): Set the overridden version.
- (WebKitLinkTimeVersion): Return the overridden version if set, otherwise do the old thing.
- * WebView/WebPreferences.mm:
- (+[WebPreferences setWebKitLinkTimeVersion:]): Call through to set the overridden version.
- * WebView/WebPreferencesPrivate.h:
-
-2010-09-14 Eric Seidel <eric@webkit.org>
-
- Unreviewed, reverting changes r67451 and r67451.
- Broke lots of builders.
-
- Only intercept ESC key press when autocorrection UI is visible.
- https://bugs.webkit.org/show_bug.cgi?id=45071
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::WebEditorClient):
- (WebEditorClient::dismissCorrectionPanel):
-
-2010-09-14 Jia Pu <jpu@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Only intercept ESC key press when autocorrection UI is visible.
- https://bugs.webkit.org/show_bug.cgi?id=45071
-
- * WebCoreSupport/WebEditorClient.h: Added declaration of isShowingCorrectionPanel(),
- which provides an inteface to query whether autocorrection panel is shown.
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::WebEditorClient): Defined a constant, InvalidCorrectionPanelTag,
- for invalid correction panel tag. Replaced -1 with this constant.
- (WebEditorClient::dismissCorrectionPanel): Ditto
- (WebEditorClient::isShowingCorrectionPanel): Query whether autocorrection panel is shown.
-
-2010-09-13 Darin Adler <darin@apple.com>
-
- Reviewed by Adam Barth.
-
- Preparation for eliminating deprecatedParseURL
- https://bugs.webkit.org/show_bug.cgi?id=45695
-
- * DOM/WebDOMOperations.mm:
- (-[DOMDocument webFrame]): Get rid of unneeded local variable.
- (-[DOMDocument URLWithAttributeString:]): Remove unhelpful comment.
-
-2010-09-13 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Sam Weinig.
-
- Paste should be implemented in WebCore like Copy and Cut for Mac also.
- https://bugs.webkit.org/show_bug.cgi?id=45494
- <rdar://problem/7660537>
-
- On the Mac platform, the implementation of the paste operation is all done
- at the WebKit level. In order to support it on WebKit2 it is necessary to
- refactor the code and move this functionality at the level of WebCore like
- we already have on Windows.
- The original code relies on some in AppKit functions that call back into
- WebKit causing problems in WebKit2. All this functionality has been moved
- at the level of the editor client where it can be dealt with appropriately.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (excludedElementsForAttributedStringConversion):
- (WebEditorClient::documentFragmentFromAttributedString): Added.
- (WebEditorClient::setInsertionPasteboard):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::canShowMIMETypeAsHTML): Re-implemented at the level
- of the editor client.
- * WebView/WebHTMLView.mm: Removed paste method.
-
-2010-09-13 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=45677
- [WebView canMarkAllTextMatches] can crash if called after [WebView close]
-
- <rdar://problem/8404890>
-
- * WebView/WebView.mm:
- (-[WebView canMarkAllTextMatches]):
- Return NO immediately if the webview has already been closed. This was an overlooked
- case from the fix for 45175.
-
-2010-09-10 MORITA Hajime <morrita@google.com>
-
- Reviewed by Tony Chang.
-
- [Chromium] Implement textInputController.hasSpellingMarker() for Chromium
- https://bugs.webkit.org/show_bug.cgi?id=45441
-
- Moved the actual logic of hasSpellingMarker into WebCore to share
- it with other ports.
-
- * WebView/WebFrame.mm:
- (-[WebFrame hasSpellingMarker:length:]):
-
-2010-09-11 Adam Barth <abarth@webkit.org>
-
- Reviewed by Sam Weinig.
-
- Make SecurityOrigin::canDisplay an instance function
- https://bugs.webkit.org/show_bug.cgi?id=45219
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::loadRequest):
- * Plugins/WebNetscapePluginStream.mm:
- (WebNetscapePluginStream::WebNetscapePluginStream):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
- * Plugins/WebPluginContainerCheck.mm:
- (-[WebPluginContainerCheck _isForbiddenFileLoad]):
- * WebView/WebFrame.mm:
- (-[WebFrame _allowsFollowingLink:]):
-
-2010-09-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
- Precursor to <rdar://problem/7660657>
- https://bugs.webkit.org/show_bug.cgi?id=45522
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
- (-[WebView _setZoomMultiplier:isTextOnly:]):
- (-[WebView _realZoomMultiplierIsTextOnly]):
- * WebView/WebViewData.h:
- * WebView/WebViewData.mm:
- (-[WebViewPrivate init]):
- Move tracking of text only zoom here from WebCore.
-
-2010-09-10 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Refactor JavaScriptCore memory statistics so that WebKit doesn't need to know about the JIT and
- other implementation details of JavaScriptCore. Necessary to fix PPC build.
-
- https://bugs.webkit.org/show_bug.cgi?id=45528
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics memoryStatistics]):
-
-2010-09-10 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Move some Dashboard stuff from WebCore to WebKit along with a bit more FrameMac cleanup
- https://bugs.webkit.org/show_bug.cgi?id=45582
-
- * MigrateHeaders.make: Removed WebDashboardRegion.h from the set of header to copy.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::dashboardRegionsChanged): Changed this to call
- -[WebView _dashboardRegions] so we don't have two copies of that code.
-
- * WebView/WebDashboardRegion.h: Copied from WebCore/page/mac/WebDashboardRegion.h.
- * WebView/WebDashboardRegion.mm: Copied from WebCore/page/mac/WebDashboardRegion.m.
-
- * WebView/WebView.mm:
- (-[WebView _dashboardRegions]): Moved the code from Frame::dashboardRegions here.
-
-2010-09-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Fisher.
-
- Move code from WebKit-layer to DocumentLoader
- https://bugs.webkit.org/show_bug.cgi?id=45569
-
- This code is the most confused, but now should be a bit cleaner.
- There's still a magical fake-setting for creating renderers that needs
- to be cleaned up, but we can do that in a separate patch.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _commitData:]):
- * WebView/WebFrameInternal.h:
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation receivedData:withDataSource:]):
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
-
-2010-09-09 Darin Adler <darin@apple.com>
-
- Reviewed by Adam Barth.
-
- Move functions from Frame to SelectionController as planned
- https://bugs.webkit.org/show_bug.cgi?id=45508
-
- * WebView/WebFrame.mm:
- (-[WebFrame _selectionGranularity]):
- (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
- (-[WebFrame _typingStyle]):
- (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation currentForm]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView jumpToSelection:]):
- (-[WebHTMLView centerSelectionInVisibleArea:]):
- (-[WebHTMLView _canSmartCopyOrDelete]):
- (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
- (-[WebHTMLView selectionRect]):
- (-[WebHTMLView selectionTextRects]):
- (-[WebHTMLView selectionImageRect]):
- * WebView/WebView.mm:
- (-[WebView setEditable:]):
- Call functions on selection().
-
-2010-09-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Main resource bytes shouldn't bounce through FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=45496
-
- Now return the bytes to the DocumentLoader.
-
- Previously, we were checking the document for null. However, Frame can
- never have a null document, so this check is no longer needed.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _addData:]):
-
-2010-09-09 John Therrell <jtherrell@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Added statistics sampling and reporting for JavaScriptCore's RegisterFile and ExecutableAllocator classes
- https://bugs.webkit.org/show_bug.cgi?id=45134
-
- Added ability to enable new JavaScriptCore statistics sampling and reporting for RegisterFile
- and ExecutableAllocator classes. Added reporting of JavaScriptCore's stack committed memory
- and JIT code committed memory statistics to WebCoreStatistics memoryStatistics.
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics memoryStatistics]):
- Added statistics reporting for JSC RegisterFile and ExecutableAllocator.
-
-2010-09-09 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Mark Rowe.
-
- Use of ENABLE macro in WebUIDelegatePrivate.h breaks use from outside WebKit
- <rdar://problem/8412657>
-
- * WebView/WebUIDelegatePrivate.h: Use ENABLE_FULLSCREEN_API instead of ENABLE(FULLSCREEN_API)
-
-2010-09-08 Darin Adler <darin@apple.com>
-
- Reviewed by Adam Barth.
-
- Move functions from Frame to Editor as planned
- https://bugs.webkit.org/show_bug.cgi?id=45218
-
- * WebView/WebFrame.mm:
- (-[WebFrame _selectedString]):
- (-[WebFrame _firstRectForDOMRange:]):
- (-[WebFrame _markDOMRange]):
- (-[WebFrame _setTypingStyle:withUndoAction:]):
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _selectionStartFontAttributesAsRTF]):
- (-[WebHTMLView toggleBaseWritingDirection:]):
- (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
- (-[WebHTMLView countMatchesForText:caseSensitive:limit:markMatches:]):
- (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
- (-[WebHTMLView markedTextMatchesAreHighlighted]):
- * WebView/WebView.mm:
- (-[WebView setEditable:]):
- Changed call sites to use editor().
-
-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
- https://bugs.webkit.org/show_bug.cgi?id=41423
-
- Switched to use a anchorNode of the selection instead of a focused
- node for finer control of node selection in spellingNode():
- With the focused node, we cannot select other nodes but the first
- child of that node. In some case, we need to inspect these.
-
- The API is only for LayoutTests, and the change is compatible for
- existing test cases.
-
- * WebView/WebFrame.mm:
- (spellingNode):
-
-2010-09-08 Adam Barth <abarth@webkit.org>
-
- Rubber-stamped by Eric Seidel.
-
- Rename DocLoader to CachedResourceLoader because that's what it does.
-
- * WebView/WebFrame.mm:
-
-2010-09-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Fix clang++ build.
-
- * Misc/WebLocalizableStrings.h:
- Fix a struct/tag mismatch.
-
- * WebView/WebDeviceOrientationProviderMock.mm:
- (-[WebDeviceOrientationProviderMock init]):
- Remove stray semicolon.
-
- * WebView/WebViewData.h:
- Remove unused class forward declaration.
-
-2010-09-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
-
- Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
-
- * Configurations/Base.xcconfig:
-
-2010-09-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Rename SecurityOrigin::canLoad to canDisplay
- https://bugs.webkit.org/show_bug.cgi?id=45214
-
- Propagate name change.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::loadRequest):
- * Plugins/WebNetscapePluginStream.mm:
- (WebNetscapePluginStream::WebNetscapePluginStream):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
- * Plugins/WebPluginContainerCheck.mm:
- (-[WebPluginContainerCheck _isForbiddenFileLoad]):
- * WebView/WebFrame.mm:
- (-[WebFrame _allowsFollowingLink:]):
-
-2010-09-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Darin Adler.
-
- Add NetworkingContext to avoid layer violations
- https://bugs.webkit.org/show_bug.cgi?id=42292
-
- Add Mac's specific implementation of FrameNetworkingContext.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- * WebCoreSupport/WebFrameNetworkingContext.mm:
- (WebFrameNetworkingContext::needsSiteSpecificQuirks):
- (WebFrameNetworkingContext::localFileContentSniffingEnabled):
- (WebFrameNetworkingContext::scheduledRunLoopPairs):
- (WebFrameNetworkingContext::blockedError):
-
-2010-09-03 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=45175
- [WebView unmarkAllTextMatches] will crash if the webview is already closed
-
- Made this and related methods robust against being called when the WebView is closed.
-
- * WebView/WebView.mm:
- (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
- Bail out if the WebView is closed.
- (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]):
- Ditto.
- (-[WebView unmarkAllTextMatches]):
- Ditto.
- (-[WebView rectsForTextMatches]):
- Ditto.
-
-2010-09-03 Hironori Bono <hbono@chromium.org>
-
- Reviewed by Kent Tamura.
-
- Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests
- and implements it for Mac.
- https://bugs.webkit.org/show_bug.cgi?id=41832
-
- * WebView/WebFrame.mm: Implemented [WebFrame hasSpellingMarker:length:].
- (spellingNode):
- (-[WebFrame hasSpellingMarker:length:]):
- * WebView/WebFramePrivate.h: Added [WebFrame hasSpellingMarker:length:] so TextInputController can use it.
-
-2010-09-02 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
- https://bugs.webkit.org/show_bug.cgi?id=44230
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorFrontendClient::closeWindow):
- (WebInspectorFrontendClient::disconnectFromBackend):
- (-[WebInspectorWindowController windowShouldClose:]):
- (-[WebInspectorWindowController destroyInspectorView:]):
-
-2010-09-02 Steve Block <steveblock@google.com>
-
- Reviewed by Adam Barth.
-
- Hook up LayoutTestController.setMockDeviceOrientation() on Mac.
- https://bugs.webkit.org/show_bug.cgi?id=43181
-
- This patch hooks up the mock device orientation client on Mac for use
- in DumpRenderTree.
-
- The patch adds a new WebDeviceOrientationClient for Mac. This client acts
- as a proxy to either a real or mock device orientation provider, both of
- which implement a new WebDeviceOrientationProvider interface.
-
- The provider is created by the embedder and passed to the WebView, from
- where WebDeviceOrientationClient can access it.
-
- The mock provider, WebDeviceOrientationProviderMock, is a wrapper around
- the existing WebCore mock.
-
- * WebCoreSupport/WebDeviceOrientationClient.h: Added.
- * WebCoreSupport/WebDeviceOrientationClient.mm: Added.
- (WebDeviceOrientationClient::WebDeviceOrientationClient):
- (WebDeviceOrientationClient::setController):
- (WebDeviceOrientationClient::startUpdating):
- (WebDeviceOrientationClient::stopUpdating):
- (WebDeviceOrientationClient::lastOrientation):
- * WebKit.exp:
- * WebView/WebDeviceOrientation.h: Added.
- * WebView/WebDeviceOrientation.mm: Added.
- (-[WebDeviceOrientation initWithCoreDeviceOrientation:WebCore::]):
- (core):
- (-[WebDeviceOrientation initWithCanProvideAlpha:alpha:canProvideBeta:beta:canProvideGamma:gamma:]):
- (-[WebDeviceOrientation dealloc]):
- * WebView/WebDeviceOrientationInternal.h: Added.
- * WebView/WebDeviceOrientationProvider.h: Added.
- * WebView/WebDeviceOrientationProviderMock.h: Added.
- * WebView/WebDeviceOrientationProviderMock.mm: Added.
- (-[WebDeviceOrientationProviderMockInternal setOrientation:]):
- (-[WebDeviceOrientationProviderMockInternal setController:]):
- (-[WebDeviceOrientationProviderMockInternal startUpdating]):
- (-[WebDeviceOrientationProviderMockInternal stopUpdating]):
- (-[WebDeviceOrientationProviderMockInternal lastOrientation]):
- (-[WebDeviceOrientationProviderMock init]):
- (-[WebDeviceOrientationProviderMock dealloc]):
- (-[WebDeviceOrientationProviderMock setOrientation:]):
- (-[WebDeviceOrientationProviderMock setController:]):
- (-[WebDeviceOrientationProviderMock startUpdating]):
- (-[WebDeviceOrientationProviderMock stopUpdating]):
- (-[WebDeviceOrientationProviderMock lastOrientation]):
- * WebView/WebDeviceOrientationProviderMockInternal.h: Added.
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView _setDeviceOrientationProvider:]):
- (-[WebView _deviceOrientationProvider]):
- * WebView/WebViewData.h:
- * WebView/WebViewPrivate.h:
-
-2010-09-01 Jia Pu <jpu@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add support for autocorrection UI on Mac OS X.
- https://bugs.webkit.org/show_bug.cgi?id=44958
- <rdar://problem/7326847>
-
- See detailed high level description in WebCore/ChangeLog.
-
- * WebCoreSupport/WebEditorClient.h: Added new member methods declared in
- EditorClient. Added m_correctionPanelTag to store the ID of current autocorrection UI object.
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::WebEditorClient): Initialize m_correctionPanelTag.
- (WebEditorClient::~WebEditorClient): Make sure the autocorrection UI is
- dismissed before destroying the object.
- (WebEditorClient::respondToChangedSelection): Dismiss autocorrection UI whenever the selection changes.
- (WebEditorClient::showCorrectionPanel): Show autocorrection UI.
- (WebEditorClient::dismissCorrectionPanel): Dismiss autocorrection UI.
-
-2010-09-01 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Adam Roben.
-
- <rdar://problem/8374711> WebKit needs to compile without access to QuickDraw private headers.
-
- * Carbon/HIViewAdapter.m:
- * Carbon/HIWebView.mm:
- * Misc/QuickDrawCompatibility.h: Added.
- * Plugins/WebNetscapePluginView.mm:
-
-2010-08-31 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=44863, disentangle style recalc from layout, so that
- the former can occur in more places without having to do the latter.
-
- Eliminate Mac-specific code for style re-application and recursive layout/style updating in
- favor of the cross-platform code that all the other ports use.
-
- * Carbon/HIWebView.mm:
- (Draw):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::forceLayout):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]):
- (-[WebHTMLView viewWillDraw]):
- (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
- (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
- (-[WebHTMLView reapplyStyles]):
- (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]):
- (-[WebHTMLView setNeedsToApplyStyles:]):
- (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]):
- (-[WebHTMLView _layoutIfNeeded]):
- (-[WebHTMLView _web_updateLayoutAndStyleIfNeededRecursive]):
- * WebView/WebHTMLViewInternal.h:
- * WebView/WebView.mm:
- (-[WebView _viewWillDrawInternal]):
-
-2010-08-31 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Add ability to count text matches without marking
- https://bugs.webkit.org/show_bug.cgi?id=43996
-
- Safari needs to be able to count text matches without triggering lots of repainting.
- Rename markAllMatchesForText: to countMatchesForText: and add a markMatches:
- parameter. For backwards compatibility markAllMatchesForText: calls
- countMatchesForText: and passes YES for markMatches:.
-
- * WebView/WebDocumentInternal.h:
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
- (-[WebHTMLView countMatchesForText:caseSensitive:limit:markMatches:]):
- * WebView/WebPDFView.mm:
- (-[WebPDFView markAllMatchesForText:caseSensitive:limit:]):
- (-[WebPDFView countMatchesForText:caseSensitive:limit:markMatches:]):
- * WebView/WebView.mm:
- (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
- (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]):
- * WebView/WebViewPrivate.h:
-
-2010-08-31 Darin Adler <darin@apple.com>
-
- Reviewed by Anders Carlsson.
-
- * WebInspector/WebInspectorFrontend.mm:
- (-[WebInspectorFrontend initWithFrontendClient:]): Remove a stray semicolon.
-
-2010-08-30 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/8369736> WebKit build fails.
-
- Temporarily add some extra includes in order to get things building again until <rdar://problem/8374711> is addressed.
-
- * Carbon/HIViewAdapter.m:
- * Carbon/HIWebView.mm:
- * Plugins/WebNetscapePluginView.mm:
-
-2010-08-30 Andy Estes <aestes@apple.com>
-
- Reviewed by Darin Adler.
-
- REGRESSION (r66156): Sites using AppleConnect for authentication fail to log in.
- https://bugs.webkit.org/show_bug.cgi?id=44865
-
- After http://trac.webkit.org/changeset/66156, sites using the AppleConnect plug-in
- for authentication fail to log in. This is due to a bug in AppleConnect that r66156
- exposed, but since this will have a significant impact on users of WebKit nightly
- builds, a plugin-specific hack should be added while the underlying issue is being
- addressed.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin): Convert plug-in parameter names to lowercase
- if the plugin is of type 'application/x-snkp'.
-
-2010-08-27 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Eric Carlson.
-
- text/plain non-video files cause <video> to hang (while reading them?)
- https://bugs.webkit.org/show_bug.cgi?id=44212
-
- Add the new WebKitSystemInterface function WKQTMovieDisableComponent to
- the initialization routine.
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Initialize WKQTMovieDisableComponent.
-
-2010-08-30 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r66198.
- http://trac.webkit.org/changeset/66198
- https://bugs.webkit.org/show_bug.cgi?id=44856
-
- It made tests crash on Qt bot (Requested by Ossy_ on #webkit).
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorFrontendClient::closeWindow):
- (-[WebInspectorWindowController windowShouldClose:]):
- (-[WebInspectorWindowController destroyInspectorView]):
-
-2010-08-28 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make an internal method used by Apple Mail into SPI
- https://bugs.webkit.org/show_bug.cgi?id=44832
- rdar://problem/5748951
-
- * WebView/WebFrame.mm:
- (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Moved this method
- from the internal section to the private section.
- * WebView/WebFrameInternal.h: Moved the method declaration out of here.
- * WebView/WebFramePrivate.h: Moved the method declaration in here.
-
-2010-08-27 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Eric Carlson.
-
- Add JavaScript API to allow a page to go fullscreen.
- rdar://problem/6867795
-
- Added chrome client overrides which support entering and exiting full screen. A new preference has
- been added (setFullScreenEnabled:) to control at runtime whether full screen support is enabled
- (defaults to disabled). Added a new WebKitFullScreenListener callback object which notifies WebCore
- when the chrome has started/finished its full screen animation.
-
- * Configurations/FeatureDefines.xcconfig:
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::supportsFullscreenForElement):
- (WebChromeClient::enterFullscreenForElement):
- (WebChromeClient::exitFullscreenForElement):
- (-[WebKitFullScreenListener initWithElement:]):
- (-[WebKitFullScreenListener webkitWillEnterFullScreen]):
- (-[WebKitFullScreenListener webkitDidEnterFullScreen]):
- (-[WebKitFullScreenListener webkitWillExitFullScreen]):
- (-[WebKitFullScreenListener webkitDidExitFullScreen]):
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences setFullScreenEnabled:]):
- (-[WebPreferences fullScreenEnabled]):
- * WebView/WebUIDelegatePrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-08-27 David Hyatt <hyatt@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=44788, implement HTML5-compliant doctype switching.
-
- Rename the various modes to match the HTML5 specification:
- ParseMode -> CompatibilityMode
- CompatMode -> QuirksMode
- AlmostStrictMode -> LimitedQuirksMode
- StrictMode -> NoQuirksMode
-
- Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document
- instead. This makes switching modes avoid forcing all RenderStyles to detect as changed.
-
- Clean up user stylesheets to minimize style recalculation when the mode is switched.
-
- Fix bugs with the propagation of correct modes in the HTML5 parser. Make sure the
- dummy document created for fragment parsing properly inherits the real document's CompatibilityMode.
- Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling
- a doctype token.
-
- determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm
- precisely.
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-08-27 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
- https://bugs.webkit.org/show_bug.cgi?id=44230
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorFrontendClient::closeWindow):
- (WebInspectorFrontendClient::disconnectFromBackend):
- (-[WebInspectorWindowController windowShouldClose:]):
- (-[WebInspectorWindowController destroyInspectorView:]):
-
-2010-08-26 Yury Semikhatsky <yurys@chromium.org>
-
- Unreviewed. Revert r66103 since Qt tests are failing.
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorFrontendClient::closeWindow):
- (-[WebInspectorWindowController windowShouldClose:]):
- (-[WebInspectorWindowController destroyInspectorView]):
-
-2010-08-26 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
- https://bugs.webkit.org/show_bug.cgi?id=44230
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorFrontendClient::closeWindow):
- (WebInspectorFrontendClient::disconnectFromBackend):
- (-[WebInspectorWindowController windowShouldClose:]):
- (-[WebInspectorWindowController destroyInspectorView:]):
-
-2010-08-24 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Remove HTML5 parser testing infrastructure now that we don't need it
- https://bugs.webkit.org/show_bug.cgi?id=44581
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-08-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Paste event fires twice for mac WebKit
- <rdar://problem/8094611>
- https://bugs.webkit.org/show_bug.cgi?id=44535
-
- The mac implementation of paste in WebKit was accidentally calling
- Editor::tryDHTMLPaste twice, once in -[WebHTMLView paste:] and once
- in Editor::pasteAsPlainText (which is called -[WebHTMLView paste:]).
- Use the new pasteAsPlainTextBypassingDHTML function to bypass the
- second call.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView paste:]):
-
-2010-08-24 Daniel Cheng <dcheng@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [chromium] Generate drag images for HTML elements and selections.
- https://bugs.webkit.org/show_bug.cgi?id=43449
-
- Fix up calls to Frame::nodeImage, which has a new signature.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView halt]):
-
-2010-08-23 Mike Thole <mthole@apple.com>
-
- Reviewed by Dan Bernstein.
-
- WebPDFView should remove itself as the delegate of its PDFView before being dealloced
- https://bugs.webkit.org/show_bug.cgi?id=44441
-
- * WebView/WebPDFView.mm:
- (-[WebPDFView dealloc]): Set the PDFView's delegate to nil.
-
-2010-08-22 Daniel Bates <dbates@rim.com>
-
- Reviewed by Eric Seidel.
-
- Encapsulate document marker management into DocumentMarkerController
- https://bugs.webkit.org/show_bug.cgi?id=44383
-
- Modify call sites in the Apple Mac port to use DocumentMarkerController.
-
- No functionality was changed, so no new tests.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _unmarkAllBadGrammar]):
- (-[WebFrame _unmarkAllMisspellings]):
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView unmarkAllTextMatches]):
- (-[WebHTMLView rectsForTextMatches]):
-
-2010-08-19 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
-
- Reviewed by Joseph Pecoraro.
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm: Changed
- USE(PLUGIN_HOST_PROCESS) to
- USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API).
- * Plugins/Hosted/NetscapePluginHostManager.mm: Ditto.
- * Plugins/Hosted/NetscapePluginHostProxy.mm: Ditto.
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Ditto.
- * Plugins/Hosted/ProxyInstance.mm: Ditto.
- * Plugins/Hosted/WebHostedNetscapePluginView.mm: Ditto.
- * WebCoreSupport/WebChromeClient.mm: Ditto.
- (WebChromeClient::createWindow):
- * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
- (WebFrameLoaderClient::dispatchCreatePage):
- * WebView/WebHTMLView.mm:
- (needsCursorRectsSupportAtPoint): Added #if
- ENABLE(NETSCAPE_PLUGIN_API) and #endif macros as needed.
- * WebView/WebView.mm:
- (+[WebView _isNodeHaltedPlugin:]): Ditto.
- (+[WebView _hasPluginForNodeBeenHalted:]): Ditto.
- (+[WebView _restartHaltedPluginForNode:]): Ditto.
-
-2010-08-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Darin Adler.
-
- Add NetworkingContext to avoid layer violations
- https://bugs.webkit.org/show_bug.cgi?id=42292
-
- Preparation: Just add the files to the build system.
-
- * WebCoreSupport/WebFrameNetworkingContext.h: Added.
- Placeholder with tentative code that might be changed when landing
- the rest of it.
- * WebCoreSupport/WebFrameNetworkingContext.mm: Added.
- Empty placeholder for now.
-
-2010-08-17 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
- <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
-
- * WebView/WebView.mm:
- (-[WebView canGoBack]): Return false if loads are deferred.
- (-[WebView canGoForward]): Ditto.
-
-2010-08-14 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: -[WebInspector attach] and detach should work
- https://bugs.webkit.org/show_bug.cgi?id=43924
-
- For actions that relate only to the Web Inspector's Frontend
- window (actions on the InspectorFrontendClient) the new Obj-C
- wrapper class WebInspectorFrontend can be used. For now, this
- is just attach and detach.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::openInspectorFrontend): setup and attach the WebInspectorFrontend to the WebInspector.
- * WebInspector/WebInspector.h:
- * WebInspector/WebInspector.mm:
- (-[WebInspector dealloc]):
- (-[WebInspector attach:]): delegate to the frontend.
- (-[WebInspector detach:]): delegate to the frontend.
- (-[WebInspector setFrontend:]):
- * WebInspector/WebInspectorFrontend.h: Added.
- * WebInspector/WebInspectorFrontend.mm: Added.
- (-[WebInspectorFrontend initWithFrontendClient:]):
- (-[WebInspectorFrontend attach]):
- (-[WebInspectorFrontend detach]):
- * WebInspector/WebInspectorPrivate.h:
-
-2010-08-13 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig.
- Switch String::/UString::ascii() to return a CString.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
-
-2010-08-13 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig
-
- Unify UString::UTF8String() & String::utf8() methods,
- remove UString::cost() & make atArrayIndex a free function.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::enumerate):
-
-2010-08-12 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r65295.
- http://trac.webkit.org/changeset/65295
- https://bugs.webkit.org/show_bug.cgi?id=43950
-
- It broke 4 sputnik tests (Requested by Ossy on #webkit).
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::enumerate):
-
-2010-08-12 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig
-
- Unify UString::UTF8String() & String::utf8() methods,
- remove UString::cost() & make atArrayIndex a free function.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::enumerate):
-
-2010-08-12 Jeremy Orlow <jorlow@chromium.org>
-
- Revert for now
- https://bugs.webkit.org/show_bug.cgi?id=43794
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView _preferencesChangedNotification:]):
-
-2010-08-10 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Adam Barth.
-
- Some settings are linked to the PageGroup not the Page. Create a new class for those.
- https://bugs.webkit.org/show_bug.cgi?id=43794
-
- Change WebView to use the new GroupSettings class rather than Settings for the
- settings that moved. This is sub-optimal since the settings aren't really
- per-view, but we can't really change the API at this point.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView _preferencesChangedNotification:]):
-
-2010-08-11 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamps by Darin Adler & Sam Weinig.
-
- Bug 43867 - Some UString cleanup
-
- Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
- Move string concatenation methods to a new header to simplify down UString.h. Remove is8Bit().
-
- * WebView/WebScriptDebugger.mm:
- (toNSString):
-
-2010-08-10 David Hyatt <hyatt@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=43806, add ability to paginate screen content.
-
- Add SPI for entering and exiting screen pagination mode. This is similar to printing mode but it can be done for on-screen
- content.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _web_setPrintingModeRecursive]):
- (-[WebHTMLView _web_clearPrintingModeRecursive]):
- (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]):
- (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]):
- (-[WebHTMLView _endPrintMode]):
- (-[WebHTMLView _isInScreenPaginationMode]):
- (-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]):
- (-[WebHTMLView _endScreenPaginationMode]):
- (-[WebHTMLView reapplyStyles]):
- (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]):
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
- (-[WebHTMLView setPageWidthForPrinting:]):
- * WebView/WebHTMLViewPrivate.h:
-
-2010-08-10 Gavin Barraclough <barraclough@apple.com>
-
- Build fix (update more includes)
-
- * Plugins/Hosted/NetscapePluginHostManager.h:
-
-2010-08-10 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Add suspendAnimations/resumeAnimation API to DRT
- https://bugs.webkit.org/show_bug.cgi?id=43733
-
- Mac specific API. Plumbs suspendAnimations/resumeAnimations down to WebCore.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _suspendAnimations]):
- (-[WebFrame _resumeAnimations]):
- * WebView/WebFramePrivate.h:
-
-2010-08-10 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig
-
- Bug 43817 - Remove UString::Rep
- UString::Rep has for a long time been replaced by UStringImpl (Rep
- remaining as a typedef). UStringImpl has since been removed too
- (unified with StringImpl). Remove Rep, rename rep() to impl() and
- m_rep to m_impl. Also add impl() method to Identifier, and rename
- its UString member from _ustring to m_string.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::methodsNamed):
- (WebKit::ProxyInstance::fieldNamed):
-
-2010-08-06 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig
-
- Bug 43594 - Add string forwards to Forward.h
- This allows us to remove forward declarations for these classes from
- WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/WebBaseNetscapePluginView.h:
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebIconDatabaseClient.h:
- * WebCoreSupport/WebPluginHalterClient.h:
- * WebView/WebViewInternal.h:
-
-2010-08-04 MORITA Hajime <morrita@google.com>
-
- Reviewed by Tony Chang.
-
- Pasting should fire textInput event.
- https://bugs.webkit.org/show_bug.cgi?id=42958
-
- On paste, invoke Editor instead of direct command invocation,
- which allows dispatching events before actual paste.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
-
-2010-08-06 Yongjun Zhang <yongjun_zhang@apple.com>
-
- Reviewed by Eric Seidel.
-
- add "const" to WebChromeClient::webView().
- https://bugs.webkit.org/show_bug.cgi?id=43631
-
- Change WebChromeClient::webView() to be const because ChromeClient::didReceiveViewportArguments
- is const method now, and calling webView() inside port-specific didReceiveViewportArguments
- implementation fails compiling if webView() is not const.
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::webView):
-
-2010-08-06 Jessie Berlin <jberlin@apple.com>
-
- Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
- Unreviewed.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/WebBaseNetscapePluginView.h:
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebIconDatabaseClient.h:
- * WebCoreSupport/WebPluginHalterClient.h:
- * WebView/WebViewInternal.h:
-
-2010-08-05 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Remove Invalid Asserts for Application Cache Quotas
- https://bugs.webkit.org/show_bug.cgi?id=43585
-
- Removed Invalid ASSERTs that would always happen for quotas
- that were not noQuota().
-
- * WebView/WebPreferences.mm:
- (-[WebPreferences applicationCacheTotalQuota]):
- (-[WebPreferences applicationCacheDefaultOriginQuota]):
-
-2010-08-05 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig
-
- Bug 43594 - Add string forwards to Forward.h
- This allows us to remove forward declarations for these classes from
- WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/WebBaseNetscapePluginView.h:
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebIconDatabaseClient.h:
- * WebCoreSupport/WebPluginHalterClient.h:
- * WebView/WebViewInternal.h:
-
-2010-08-05 Jian Li <jianli@chromium.org>
-
- Reviewed by David Levin.
-
- Unify blob related feature defines to ENABLE(BLOB).
- https://bugs.webkit.org/show_bug.cgi?id=43081
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-08-03 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
- https://bugs.webkit.org/show_bug.cgi?id=40627
-
- Part 6 - LayoutTest and Cleanup
-
- * WebCoreSupport/WebApplicationCache.h:
- * WebCoreSupport/WebApplicationCache.mm:
- (+[WebApplicationCache setMaximumSize:]): refactor out deleting the application caches.
- (+[WebApplicationCache deleteAllApplicationCaches]): delete application caches.
-
-2010-08-03 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
- https://bugs.webkit.org/show_bug.cgi?id=40627
-
- Part 5 - Refactor Quota Management in WebSecurityOrigin into Managers
-
- Per-Origin quotas exist for Databases and Application Caches. Clients
- given a WebSecurityOrigin have the ability to set the quota for any
- per-origin quota type. This puts quota management into an interface
- and WebSecurityOrigin allows access to quota managers for the
- different types of quotas.
-
- This also deprecates the old methods on WebSecurityOrigin. They are
- left in for now to prevent breaking older clients.
-
- The WebQuotaManager interface allows querying and modifying a
- per-origin quota. This is implemented for both Databases and
- Application Caches.
-
- * Misc/WebQuotaManager.h: Added. Interface for quota management (usage, quota, setQuota).
- * Storage/WebDatabaseQuotaManager.h: Added.
- * Storage/WebDatabaseQuotaManager.mm: Added.
- (-[WebDatabaseQuotaManager origin]):
- (-[WebDatabaseQuotaManager usage]):
- (-[WebDatabaseQuotaManager quota]):
- (-[WebDatabaseQuotaManager setQuota:]):
- * Storage/WebDatabaseSecurityOrigin.h: Removed.
- * Storage/WebDatabaseSecurityOrigin.mm: Removed.
- * WebCoreSupport/WebApplicationCacheQuotaManager.h: Added.
- * WebCoreSupport/WebApplicationCacheQuotaManager.mm: Added.
- (-[WebApplicationCacheQuotaManager origin]):
- (-[WebApplicationCacheQuotaManager usage]):
- (-[WebApplicationCacheQuotaManager quota]):
- (-[WebApplicationCacheQuotaManager setQuota:]):
- * WebCoreSupport/WebSecurityOriginPrivate.h: Added a category to access managers. Deprecated old methods.
-
- Remove the WebSecurityOrigin sub-classes. Managers are better.
-
- * WebCoreSupport/WebApplicationCacheSecurityOrigin.h: Removed.
- * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm: Removed.
-
- Create the managers lazily. Change old style calls to make use
- of the managers.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::exceededDatabaseQuota):
- (WebChromeClient::reachedApplicationCacheOriginQuota):
- * WebCoreSupport/WebSecurityOrigin.mm:
- (-[WebSecurityOrigin applicationCacheQuotaManager]):
- (-[WebSecurityOrigin databaseQuotaManager]):
- (-[WebSecurityOrigin dealloc]): release the managers if they exist.
-
-2010-08-03 Alex Milowski <alex@milowski.com>
-
- Reviewed by Beth Dakin.
-
- Changed the ENABLE_MATHML value to enable MathML by default.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-08-02 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Add VisitedLinkStrategy for each platform to implement
- https://bugs.webkit.org/show_bug.cgi?id=43393
-
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::createVisitedLinkStrategy):
- (WebPlatformStrategies::isLinkVisited): Call back into PageGroup's visited links.
- (WebPlatformStrategies::addVisitedLink): Ditto.
-
-2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Darin Fisher.
-
- PopupMenu refactoring in preparation to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42592
-
- As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
- instances, concrete classes that inherit from ChromeClient needed to be changed to
- implement the new methods.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::selectItemWritingDirectionIsNatural):
- (WebChromeClient::createPopupMenu):
- (WebChromeClient::createSearchPopupMenu):
-
-2010-08-02 Jeremy Orlow <jorlow@chromium.org>
-
- Speculative revert of 64425 due to Chromium instability
- https://bugs.webkit.org/show_bug.cgi?id=43347
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
-
-2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Darin Fisher.
-
- PopupMenu refactoring in preparation to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42592
-
- As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
- instances, concrete classes that inherit from ChromeClient needed to be changed to
- implement the new methods.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::selectItemWritingDirectionIsNatural):
- (WebChromeClient::createPopupMenu):
- (WebChromeClient::createSearchPopupMenu):
-
-2010-07-31 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r64422.
- http://trac.webkit.org/changeset/64422
- https://bugs.webkit.org/show_bug.cgi?id=43304
-
- Build fixes are needed for Snow Leopard and Windows.
- (Requested by lca on #webkit).
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
-
-2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Darin Fisher.
-
- PopupMenu refactoring in preparation to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42592
-
- As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
- instances, concrete classes that inherit from ChromeClient needed to be changed to
- implement the new methods.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::selectItemWritingDirectionIsNatural):
- (WebChromeClient::createPopupMenu):
- (WebChromeClient::createSearchPopupMenu):
-
-2010-07-31 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/43300> Simplify variables in *.xcconfig files after adding iOS support
-
- Reviewed by Darin Adler.
-
- * Configurations/WebKit.xcconfig: Extracted
- PRODUCTION_FRAMEWORKS_DIR and PRODUCTION_ROOT variables.
-
-2010-07-30 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/8257783> Short documents may print a second blank page
- https://bugs.webkit.org/show_bug.cgi?id=43271
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _web_setPrintingModeRecursive]): Updated for additional height parameter
- to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
- (-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto.
- (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto.
- (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]): Added height parameter,
- which is scaled and passed on to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
- (-[WebHTMLView _endPrintMode]): Updated for additional height parameter to
- _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
- (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]): Added
- height parameter, which is passed on to FrameView::forceLayoutForPagination().
- (-[WebHTMLView layout]): Updated for additional height parameter.
- (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:]): Added height
- parameter, which is passed on to -layoutToMinimumPageWidth:height:maximumPageWidth:adjustViewSize:.
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Updated for additional height
- parameter.
- (-[WebHTMLView setPageWidthForPrinting:]): Ditto.
- (-[WebHTMLView knowsPageRange:]): Pass the available height on the page on to
- _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize.
- * WebView/WebHTMLViewPrivate.h:
-
-2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
-
- Fix for tests that broke after r64400. Tracking a more
- ideal solution in https://bugs.webkit.org/show_bug.cgi?id=40627
-
- Switch the interface back to (unsigned long long), and move
- the WebDatabaseSecurityOrigin implementation up into WebSecurityOrigin.
- The subclasses' implementations were not getting called.
-
- * Storage/WebDatabaseSecurityOrigin.mm:
- * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm:
- (-[WebApplicationCacheSecurityOrigin quota]):
- (-[WebApplicationCacheSecurityOrigin setQuota:]):
- * WebCoreSupport/WebSecurityOrigin.mm:
- (-[WebSecurityOrigin usage]):
- (-[WebSecurityOrigin quota]):
- (-[WebSecurityOrigin setQuota:]):
- * WebCoreSupport/WebSecurityOriginPrivate.h:
-
-2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
- https://bugs.webkit.org/show_bug.cgi?id=40627
-
- Part 4 - Client Notification when the Quota is Reached
-
- Notify the WebKit client when the per-origin quota is reached
- via a delegate method reachedApplicationCacheOriginQuota.
-
- Refactor the WebSecurityOrigin class to be generic enough to
- allow quota management of both Databases or Application Caches
- via subclasses.
-
- * Storage/WebDatabaseSecurityOrigin.h: Added.
- * Storage/WebDatabaseSecurityOrigin.mm: Added.
- (-[WebDatabaseSecurityOrigin quota]):
- (-[WebDatabaseSecurityOrigin setQuota:]):
- * WebCoreSupport/WebApplicationCacheSecurityOrigin.h: Added.
- * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm: Added.
- (-[WebApplicationCacheSecurityOrigin quota]):
- (-[WebApplicationCacheSecurityOrigin setQuota:]):
- * Storage/WebSecurityOrigin.mm: Removed. (Moved to WebCoreSupport)
- * Storage/WebSecurityOriginPrivate.h: Removed. (Moved to WebCoreSupport)
- * WebCoreSupport/WebSecurityOrigin.mm: Added.
- (-[WebSecurityOrigin usage]): to be implemented by subclasses.
- (-[WebSecurityOrigin quota]): to be implemented by subclasses.
- (-[WebSecurityOrigin setQuota:]): to be implemented by subclasses.
- * WebCoreSupport/WebSecurityOriginInternal.h: Renamed from WebKit/mac/Storage/WebSecurityOriginInternal.h.
- * WebCoreSupport/WebSecurityOriginPrivate.h: Added.
-
- Turn the notification into a WebUI Delegate to call. Following
- the example of Databases.
-
- * DefaultDelegates/WebDefaultUIDelegate.m:
- (-[WebDefaultUIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:]):
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::exceededDatabaseQuota): use the Databases Security Origin subclass.
- (WebChromeClient::reachedApplicationCacheOriginQuota): use the Application Cache Security Origin subclass.
- * WebView/WebUIDelegatePrivate.h:
-
-2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
- https://bugs.webkit.org/show_bug.cgi?id=40627
-
- Part 1 - Add Total and Per-Origin Quota Preferences.
-
- Allow the application cache total size to be a preference, and
- add a new preference for the default per-origin quota.
-
- Storage quotas were int64_t (long long). Boilerplate for
- these types added for consistency.
-
- * Misc/WebNSDictionaryExtras.h:
- * Misc/WebNSDictionaryExtras.m:
- (-[NSMutableDictionary _webkit_setLongLong:forKey:]):
- * WebCoreSupport/WebApplicationCache.h: setters and accessors for WebCore's cacheStorage.
- * WebCoreSupport/WebApplicationCache.mm:
- (+[WebApplicationCache maximumSize:]):
- (+[WebApplicationCache setMaximumSize:]):
- (+[WebApplicationCache defaultOriginQuota]):
- (+[WebApplicationCache setDefaultOriginQuota:]):
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): defaults to noQuota for both preferences.
- (-[WebPreferences _longLongValueForKey:]):
- (-[WebPreferences _setLongLongValue:forKey:]):
- (-[WebPreferences applicationCacheTotalQuota]):
- (-[WebPreferences setApplicationCacheTotalQuota:]):
- (-[WebPreferences applicationCacheDefaultOriginQuota]):
- (-[WebPreferences setApplicationCacheDefaultOriginQuota:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): respect updates to the preferences.
-
-2010-07-30 Andy Estes <aestes@apple.com>
-
- Reviewed by David Kilzer.
-
- Add Xcode support for compiling WebKit against iOS SDKs.
- https://bugs.webkit.org/show_bug.cgi?id=42796
-
- * Configurations/Base.xcconfig:
- * Configurations/DebugRelease.xcconfig:
- * Configurations/FeatureDefines.xcconfig:
- * Configurations/Version.xcconfig:
- * Configurations/WebKit.xcconfig:
-
-2010-07-26 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Page clients should be passed to Page constructor via structure of pointers
- https://bugs.webkit.org/show_bug.cgi?id=42834
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2010-07-27 Kinuko Yasuda <kinuko@chromium.org>
-
- Reviewed by Ojan Vafai.
-
- Add FILE_SYSTEM build flag for FileSystem API
- https://bugs.webkit.org/show_bug.cgi?id=42915
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-07-27 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Client-based Geolocation does not pass enableHighAccuracy option to controller and client
- https://bugs.webkit.org/show_bug.cgi?id=40374
-
- Stub out setEnableHighAccuracy method for the Mac port.
-
- * WebCoreSupport/WebGeolocationControllerClient.h:
- (WebGeolocationControllerClient::setEnableHighAccuracy):
-
-2010-07-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix for <rdar://problem/8222626>
- Send textDidChangeInTextField delegate callback only in response to typing or other forms of user text input.
-
- The function name no longer perfectly matches the behavior, but I didn't want to break any existing clients. Maybe we
- should migrate to a new function name eventually
-
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::textDidChangeInTextField):
-
-2010-07-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=42836
- Add localized strings stubs for WebKit2.
-
- - Convert WebKit (mac) to use a LocalizationStrategy rather than the WebCoreViewFactory
- for localized strings.
-
- Gets us below 200 tests failing in WebKitTestRunner.
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (fixMenusReceivedFromOldClients): Use LocalizedStrings rather than the factory.
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
- * WebCoreSupport/WebViewFactory.mm:
-
-2010-07-21 Brady Eidson <beidson@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
- https://bugs.webkit.org/show_bug.cgi?id=42783
-
- * WebView/WebView.mm:
- (+[WebView _registerURLSchemeAsSecure:]):
- (+[WebView registerURLSchemeAsLocal:]):
-
-2010-07-21 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Composited layers don't scroll in WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42771
-
- Prep work: FrameView::scrollPositionChanged() sounds like a generic "did scroll" bottleneck,
- but this is deceiving. It's only every called on one platform (Mac) when the NSScrollView gets
- scrolled, so rename it to FrameView::scrollPositionChangedViaPlatformWidget().
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _frameOrBoundsChanged]):
-
-2010-07-21 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Simon Fraser.
-
- Update plug-in proxy backed <video> and <audio> elements.
- https://bugs.webkit.org/show_bug.cgi?id=42770
- <rdar://problem/7963467>
-
- * Plugins/WebPluginController.h:
- * Plugins/WebPluginController.mm:
- (-[WebPluginController dealloc]): Release _viewsNotInDocument.
- (-[WebPluginController stopAllPlugins]): Stop plug-ins not in the document.
- (-[WebPluginController pluginViewCreated:]): New, add a View (plug-in) to _viewsNotInDocument.
- (+[WebPluginController pluginViewHidden:]): New, remove the view (plug-in) from pluginViews.
- (-[WebPluginController addPlugin:]): Remove the new plug-in from _viewsNotInDocument.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin): Remove PLUGIN_PROXY_FOR_VIDEO code, the media
- player proxy plug-in should never be allocated by this method.
- (WebFrameLoaderClient::createMediaPlayerProxyPlugin): New, allocate a media player proxy.
-
- * WebView/WebView.mm:
- (-[WebView _videoProxyPluginForMIMEType:]): New. Identical to _pluginForMIMEType except it doesn't
- consider the arePlugInsEnabled preference.
- * WebView/WebViewInternal.h:
-
-
-2010-07-19 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=42118
- Disable WebGL on Leopard for now.
-
- LayoutTests fail on some graphics hardware on Leopard because one of the features we use,
- GL_ARB_framebuffer_object, is not universally available in Leopard like it is in
- SnowLeopard. This will allow LayoutTests to pass on Leopard until we add logic to use a
- software OpenGL driver on machines without this support.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-07-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Move PluginWidget to WebKit
- https://bugs.webkit.org/show_bug.cgi?id=42530
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView pluginLayer]):
- Add default pluginLayer implementation.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (PluginWidget::PluginWidget):
- (PluginWidget::invalidateRect):
- Move the guts of PluginWidget here from WebCore.
-
- (NetscapePluginWidget::platformLayer):
- Get the layer from the plug-in view.
-
-2010-07-18 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/42522> Add missing (id) return type to Obj-C methods
-
- Reviewed by Dan Bernstein.
-
- * Carbon/CarbonWindowAdapter.mm:
- (-[NSWindow(HIWebFrameView) _initContent:styleMask:backing:defer:contentView:]):
- (-[CarbonWindowAdapter _destroyRealWindow:]):
- (-[CarbonWindowAdapter _clearModalWindowLevel]):
- * Misc/WebIconDatabase.mm:
- (-[WebIconDatabase init]):
- * Misc/WebNSPasteboardExtras.mm:
- (-[NSFilePromiseDragSource initWithSource:]):
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation init]):
- * WebView/WebPreferences.mm:
- (-[WebPreferences init]):
- * WebView/WebView.mm:
- (-[WebView UIDelegate]):
- (-[WebView resourceLoadDelegate]):
- (-[WebView downloadDelegate]):
- (-[WebView policyDelegate]):
- (-[WebView frameLoadDelegate]):
-
-2010-07-16 Zhe Su <suzhe@chromium.org>
-
- Reviewed by Darin Adler.
-
- REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
- https://bugs.webkit.org/show_bug.cgi?id=42253
-
- Dummy implementation of EditorClient::willSetInputMethodState.
-
- * WebCoreSupport/WebEditorClient.h:
- * WebCoreSupport/WebEditorClient.mm:
- (WebEditorClient::willSetInputMethodState):
-
-2010-07-16 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- Part of <rdar://problem/7233974> Deprecate +[WebView _setShouldUseFontSmoothing:]
- https://bugs.webkit.org/show_bug.cgi?id=29355
-
- * Misc/WebKitNSStringExtras.h:
- * Misc/WebKitNSStringExtras.mm:
- (-[NSString _web_drawAtPoint:font:textColor:]): Now calls through to
- -_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing YES for the last
- parameter.
- (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Added
- allowingFontSmoothing:. If font smoothing is not allowed, sets the font smoothing
- mode to antialiased. Otherwise, sets it to auto.
- (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]): Instead of
- changing the font smoothing setting in the graphics context, call
- -_web_drawAtPoint:font:textColor:allowingFontSmoothing: passing NO for the last
- parameter.
-
-2010-07-16 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove semicolons from Objective-C method declarations.
-
- * WebView/WebRenderLayer.mm:
- (+[WebRenderLayer nameForLayer:]):
- (+[WebRenderLayer compositingInfoForLayer:]):
-
-2010-07-16 Mikhail Naganov <mnaganov@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Make JS memory stats available via 'Performance' object (Web Timing).
- This statistics is populated only if 'WebKitMemoryInfoEnabled'
- preference is set.
-
- 'console.memory' is kept until Web Timing object becomes visible by
- default (currently it is hidden under compile-time flag). These stats
- are guarded with the same preference.
-
- https://bugs.webkit.org/show_bug.cgi?id=41617
-
- * WebKit.order:
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences memoryInfoEnabled]):
- (-[WebPreferences setMemoryInfoEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-07-15 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Printing test results differ between machines, we should use ImageDiff instead
- https://bugs.webkit.org/show_bug.cgi?id=20011
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (-[WebFrame printToCGContext:cgContext:pageWidthInPixels:]):
-
-2010-07-15 Daniel Bates <dbates@rim.com>
-
- Reviewed by Darin Adler.
-
- [Mac] Implement LayoutTestController::markerTextForListItem()
- https://bugs.webkit.org/show_bug.cgi?id=37929
-
- Implements support for markerTextForListItem in the Mac port.
-
- * DOM/WebDOMOperations.mm:
- (+[DOMElement _DOMElementFromJSContext]): Added.
- (-[DOMElement _markerTextForListItem]): Added.
- * DOM/WebDOMOperationsPrivate.h:
-
-2010-07-14 Simon Fraser <simon.fraser@apple.com>
-
- Fix non-ACCELERATED_COMPOSITING build.
-
- * WebView/WebRenderLayer.mm:
- (+[WebRenderLayer compositingInfoForLayer:]):
-
-2010-07-14 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/8186963> Expose information about compositing layers.
-
- Use RenderLayerBacking::compositingLayerType() to add more information about compositing to
- WebRenderLayer, via a compositingInfo property. Also show element classnames.
-
- Also add separator items between the various z-order lists.
-
- * WebView/WebRenderLayer.h:
- * WebView/WebRenderLayer.mm:
- (+[WebRenderLayer nameForLayer:]):
- (+[WebRenderLayer compositingInfoForLayer:]):
- (-[WebRenderLayer initWithRenderLayer:]):
- (-[WebRenderLayer initWithName:]):
- (-[WebRenderLayer initWithWebFrame:]):
- (-[WebRenderLayer dealloc]):
- (-[WebRenderLayer buildDescendantLayers:]):
- (-[WebRenderLayer compositingInfo]):
- (-[WebRenderLayer isComposited]):
- (-[WebRenderLayer isSeparator]):
-
-2010-07-14 Darin Adler <darin@apple.com>
-
- Another try at fixing the Tiger build.
-
- Avoid non-ASCII in source files to keep Tiger compiler happy.
-
- * WebView/WebRenderLayer.mm:
- (+[WebRenderLayer nameForLayer:]): Use %C for the non-ASCII characters.
-
-2010-07-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
- Make changing Cursors work in WebKit2.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::setCursor):
- * WebView/WebView.mm:
- Implement cursor changing at the WebKit level for the sake of WebKit2.
- This functionality is being moved from WidgetMac.mm.
- (+[WebView _pointingHandCursor]):
- Update to use platformCursor() instead of impl().
-
-2010-07-13 Simon Fraser <simon.fraser@apple.com>
-
- Fix Tiger build.
-
- Avoid non-ASCII in souce files to keep Tiger compiler happy.
-
- * WebView/WebRenderLayer.mm:
- (+[WebRenderLayer nameForLayer:]):
-
-2010-07-13 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/8186963> Expose RenderLayer hierarchy via Obj-C for debugging.
-
- Add a WebRenderLayer class that reflects the RenderLayer tree into a hierarchy
- of Objective-C objects suitable for display in an outline view.
-
- * WebKit.exp: Export the WebRenderLayer Objective-C class.
- * WebView/WebRenderLayer.h: Added.
- * WebView/WebRenderLayer.mm: Added.
-
-2010-07-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Darin Adler.
-
- Prevent assertion/duplicate loads for non-deferred subtitute-data loads
-
- https://bugs.webkit.org/show_bug.cgi?id=30879
-
- MainResourceLoader uses the member m_initialRequest to store requests for future
- deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
- have to clear this request so that subsequent entries into the loader will not
- start yet another load.
-
- This can happen as a result of a PageGroupLoadDeferrer going out of scope when
- returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
- but only in the case of using both substitute-data and non-deferred main resource
- load together. That's why two new DRT functions were added:
-
- * queueLoadHTMLString()
- * setDeferMainResourceLoad()
-
- The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
- and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
- added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource _setDeferMainResourceDataLoad:]):
- * WebView/WebDataSourcePrivate.h:
-
-2010-07-13 Philippe Normand <pnormand@igalia.com>
-
- Rubber-stamped by Xan Lopez.
-
- Updated the copyright headers of the files modified in r62476.
-
- * WebView/WebView.mm:
- * WebView/WebViewData.h:
- * WebView/WebViewInternal.h:
-
-2010-07-09 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=13075
- XMLHttpRequest with failed authentication should set status to 401
-
- https://bugs.webkit.org/show_bug.cgi?id=6871
- <rdar://problem/3363403> 401 error page is never shown
-
- * Panels/WebPanelAuthenticationHandler.m:
- (-[WebPanelAuthenticationHandler startAuthentication:window:]): Updated a comment - this
- code cancels loading, not authentication (canceling authentication means telling to
- continue without credentials).
- (-[WebPanelAuthenticationHandler _authenticationDoneWithChallenge:result:]): If there were
- no credentials provided, tell to continue without any. There may be alternative content
- returned with 401.
-
-2010-07-09 Leon Clarke <leonclarke@google.com>
-
- Reviewed by Adam Barth.
-
- add support for link prefetching
- https://bugs.webkit.org/show_bug.cgi?id=3652
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-07-08 Aaron Boodman <aa@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Add the ability for user scripts and user styles to affect just the top frame.
-
- https://bugs.webkit.org/show_bug.cgi?id=41529
-
- * WebView/WebView.mm:
- (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
- (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
- (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
- (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
- * WebView/WebViewPrivate.h:
-
-2010-07-08 Adele Peterson <adele@apple.com>
-
- Reviewed by Jon Honeycutt, Adam Roben, and Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=41721
- <rdar://problem/8158561> Missing plug-in indicator should have a pressed state
-
- Implement shouldMissingPluginMessageBeButton.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::shouldMissingPluginMessageBeButton):
-
-2010-07-08 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/8136327> - Crash in Entourage calling WebCache method from background thread
-
- * Misc/WebCache.mm:
- (+[WebCache setDisabled:]): Forward the call to the main thread if called from a background thread.
-
- * Misc/WebNSObjectExtras.h:
- * Misc/WebNSObjectExtras.mm:
- (+[NSObject _webkit_invokeOnMainThread]): Add a class version of the main thread invoker.
-
-2010-07-08 Mike Thole <mthole@apple.com>
-
- Reviewed by Darin Adler.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41896
- Crash under allScriptsInPDFDocument() in WebPDFDocumentExtras.mm for certain PDFs
-
- * WebView/WebPDFDocumentExtras.mm:
- (allScriptsInPDFDocument): Null-check 'data', as CGPDFStreamCopyData() may have returned 0.
-
-2010-07-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
- Convert BackForwardList to an abstract base class and add BackForwardListImpl
- as the concrete implementation of it.
-
- * History/WebBackForwardList.mm:
- (-[WebBackForwardList init]):
- (-[WebBackForwardList setPageCacheSize:]):
- (-[WebBackForwardList pageCacheSize]):
-
-2010-07-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
- Add basic piping for BackForwardControllerClient.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2010-07-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Change requestURL to a KURL.
- https://bugs.webkit.org/show_bug.cgi?id=41775
-
- * Plugins/WebNetscapePluginStream.h:
- (WebNetscapePluginStream::setRequestURL):
- * Plugins/WebNetscapePluginStream.mm:
- (WebNetscapePluginStream::pluginCancelledConnectionError):
- (WebNetscapePluginStream::errorForReason):
- (WebNetscapePluginStream::startStream):
- (WebNetscapePluginStream::didReceiveResponse):
- (WebNetscapePluginStream::destroyStream):
-
-2010-07-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Rename the WebBaseNetscapePluginStream.cpp and .h files to WebNetscapePluginStream.cpp and .h to match the class name.
-
- * Plugins/WebNetscapePluginStream.h: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.h.
- * Plugins/WebNetscapePluginStream.mm: Renamed from WebKit/mac/Plugins/WebBaseNetscapePluginStream.mm.
-
-2010-07-06 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Simon Fraser.
-
- Expose URL matching from WebUserContentURLPattern
- https://bugs.webkit.org/show_bug.cgi?id=41726
- <rdar://problem/7910144>
-
- We previously had a way to construct WebUserContentURLPattern
- instances via WebKit, but no way for callers to perform matching.
- This patch adds the matchesURL functionality to allow for this.
-
- * Misc/WebUserContentURLPattern.h: Added matchesURL.
- * Misc/WebUserContentURLPattern.mm:
- (-[WebUserContentURLPattern matchesURL:]): Added. Calls through to WebCore::UserContentURLPattern::matches.
-
-2010-06-23 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Carlson.
-
- [GStreamer] on Mac OS use a runloop observer to process the glib context iterations
- https://bugs.webkit.org/show_bug.cgi?id=35747
-
- If VIDEO and GSTREAMER are enabled, make the WebView start a
- runloop observer that will trigger the glib main context
- iterations. Those are needed by the GStreamer player only at the
- moment but could later be used for other GLib-dependant components
- if required.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView _close]):
- (-[WebView _clearGlibLoopObserver]):
- (glibContextIterationCallback):
- (-[WebView _scheduleGlibContextIterations]):
- * WebView/WebViewData.h:
- * WebView/WebViewInternal.h:
-
-2010-07-03 Jon Honeycutt <jhoneycutt@apple.com>
-
- The missing plug-in indicator should be clickable
-
- https://bugs.webkit.org/show_bug.cgi?id=41550
- <rdar://problem/8132162>
-
- From an original patch by Kevin Decker.
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebChromeClient.h:
- Declare an override of missingPluginButtonClicked().
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::missingPluginButtonClicked):
- Call the UIDelegate's method.
-
- * WebView/WebUIDelegatePrivate.h:
- Declare didPressMissingPluginButton.
-
-2010-07-01 Timothy Hatcher <timothy@apple.com>
-
- Provide a WebView preference to disable DNS prefetching.
-
- https://bugs.webkit.org/show_bug.cgi?id=28825
- rdar://problem/7181249
-
- Reviewed by Darin Adler.
-
- * WebView/WebPreferenceKeysPrivate.h: Added WebKitDNSPrefetchingEnabledPreferenceKey.
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Set WebKitDNSPrefetchingEnabledPreferenceKey to YES.
- (-[WebPreferences isDNSPrefetchingEnabled]): Added. Return WebKitDNSPrefetchingEnabledPreferenceKey's value.
- (-[WebPreferences setDNSPrefetchingEnabled:]): Added. Set WebKitDNSPrefetchingEnabledPreferenceKey's value.
- * WebView/WebPreferencesPrivate.h: Added isDNSPrefetchingEnabled and setDNSPrefetchingEnabled:.
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Call WebCore::Settings::setDNSPrefetchingEnabled.
-
-2010-07-01 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
- REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction
-
- Strengthen m_inDestroy "swipe under the carpet" fix.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h: Added a long comment about m_inDestroy, and
- changed it to static.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): m_inDestroy is now
- static, so we don't initialize it in constructor.
- (WebKit::NetscapePluginInstanceProxy::destroy): Assert that we aren't already destroying
- some plug-in.
- (WebKit::NetscapePluginInstanceProxy::evaluate): This function accidentally lacked an
- m_inDestroy check in r42789.
-
-2010-06-29 Zoltan Herczeg <zherczeg@webkit.org>
-
- Reviewed by Nikolas Zimmermann.
-
- Add ConvolveMatrixElement to MigrateHeaders.make
- https://bugs.webkit.org/show_bug.cgi?id=5861
-
- * MigrateHeaders.make:
-
-2010-06-23 John Gregg <johnnyg@google.com>
-
- Reviewed by Kent Tamura.
-
- add ENABLE_DIRECTORY_UPLOAD build support
- https://bugs.webkit.org/show_bug.cgi?id=41100
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-06-28 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Make it possible to test the new HTML5 TreeBuilder
- https://bugs.webkit.org/show_bug.cgi?id=41276
-
- Adam was concerned that someone might make their port
- depend on this setting (I guess we had some trouble with that
- with the HTML5Parser setting), so I littered the code with warnings.
-
- test-html5-parser now tests this code path.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences html5TreeBuilderEnabled]):
- (-[WebPreferences setHTML5TreeBuilderEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-06-25 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Shinichiro Hamaji.
-
- Improve default value handling for page format properties.
- https://bugs.webkit.org/show_bug.cgi?id=41150
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (-[WebFrame pageSizeAndMarginsInPixels:pageNumber:width:height:marginTop:marginRight:marginBottom:]):
-
-2010-06-26 Tony Gentilcore <tonyg@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Add an ENABLE_WEB_TIMING option for enabling Web Timing support.
- https://bugs.webkit.org/show_bug.cgi?id=38924
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-06-24 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Eric Carlson.
-
- Full-screened content doesn't keep the display on: Safari not grabbing a power assertion?
- https://bugs.webkit.org/show_bug.cgi?id=40939
- rdar://problem/7996172
-
- Take a IOKit power assertion when playing video in fullscreen mode. Release the
- assertion when paused in fullscreen mode, and when exiting fullscreen mode.
-
- * WebView/WebVideoFullscreenController.h:
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController windowDidExitFullscreen]): Call updatePowerAssertions.
- (-[WebVideoFullscreenController windowDidEnterFullscreen]): Call updatePowerAssertions.
- (-[WebVideoFullscreenController _disableIdleDisplaySleep]):
- (-[WebVideoFullscreenController _enableIdleDisplaySleep]):
- (-[WebVideoFullscreenController _disableIdleSystemSleep]):
- (-[WebVideoFullscreenController _enableIdleSystemSleep]):
- (-[WebVideoFullscreenController updatePowerAssertions]): Call _(enable|disable)Idle(System|Display)sleep depending on current playback rate and fullscreen status.
- (-[WebVideoFullscreenController rateChanged:]): Call updatePowerAssertions.
-
-2010-06-24 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Darin Adler.
-
- Playing movie full screen on second monitor hides menu bar and title bar on main monitor
- https://bugs.webkit.org/show_bug.cgi?id=40933
- rdar://problem/7858452
-
- Remove all references to GetSystemUIMode and SetSystemUIMode. Replace these calls with
- [NSApplication setPresentationOptions:]. Do not auto-hide the menu bar if the fullscreen
- screen is does not contain the menu-bar. Do not auto-hide the dock if the fullscreen screen
- is both not the menu-bar screen and not the dock screen.
-
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController windowDidLoad]): Register the applicationDidChangeScreenParameters: listener.
- (-[WebVideoFullscreenController windowDidExitFullscreen]): Calls updateMenuAndDockForFullscreen.
- (-[WebVideoFullscreenController windowDidEnterFullscreen]): Calls updateMenuAndDockForFullscreen.
- (-[WebVideoFullscreenController applicationDidChangeScreenParameters:]): New notification handler; catches NSApplicationDidChangeScreenParameters.
- (-[WebVideoFullscreenController updateMenuAndDockForFullscreen]): Hide/show the menu-bar and dock according to the fullscreen window's screen.
-
-2010-06-24 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Eric Carlson.
-
- Full screen video in Safari exits full-screen if you switch to another app
- https://bugs.webkit.org/show_bug.cgi?id=40635
- rdar://problem/7885101
-
- Implement the following rules for exiting full screen when switching apps:
- 1. If the system has a single screen, switching apps will cause Safari to exit full-screen.
- 2. Otherwise, if the full-screen screen is the "main screen" (the one with the title bar),
- switching apps will cause Safari to exit full-screen.
- 3. Overriding rules 1 & 2, if the full-screen screen is not on the "current space",
- switching apps will NOT cause Safari to exit full-screen.
-
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController windowDidLoad]):
- (-[WebVideoFullscreenController applicationDidResignActive:]):
-
-2010-06-24 Adele Peterson <adele@apple.com>
-
- Reviewed by Sam Weinig.
-
- Updated fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
- https://bugs.webkit.org/show_bug.cgi?id=41085
-
- * WebView/WebHTMLView.mm: Use the WebCore command system for the pasteAsPlainText selector.
- Also remove internal methods that no one is using.
-
-2010-06-24 Damian Kaleta <dkaleta@apple.com>
-
- Reviewed by Sam Weinig.
-
- Added an ObjC wrapper to Node::renderRect(bool&).
-
- * DOM/WebDOMOperations.mm:
- (-[DOMNode _renderRect:]):
- * DOM/WebDOMOperationsPrivate.h:
-
-2010-06-24 Adele Peterson <adele@apple.com>
-
- Reviewed by Eric Carlson.
-
- Fix for <rdar://problem/8093680> "Paste and Match Style" should fire paste events
- https://bugs.webkit.org/show_bug.cgi?id=41085
-
- * WebView/WebHTMLView.mm: (-[WebHTMLView pasteAsPlainText:]): Reuse code in WebCore
- which does everything done here and also fires paste events.
-
-2010-06-23 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Shinichiro Hamaji.
-
- Implement page format data programming interface.
- Add methods for testing.
- https://bugs.webkit.org/show_bug.cgi?id=37538
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (-[WebFrame isPageBoxVisible:]):
- (-[WebFrame pageAreaRectInPixels:]):
- (-[WebFrame preferredPageSizeInPixels:]):
-
-2010-06-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Get rid of more USE_LIBDISPATCH code.
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
-
-2010-06-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Get rid of the USE_LIBDISPATCH code.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
- (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
-
-2010-06-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Wean NetscapePluginHostManager of any knowledge about WebNetscapePluginPackage
- https://bugs.webkit.org/show_bug.cgi?id=41006
-
- * Plugins/Hosted/NetscapePluginHostManager.h:
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::hostForPlugin):
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- (WebKit::NetscapePluginHostManager::createPropertyListFile):
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView createPlugin]):
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage createPropertyListFile]):
-
-2010-06-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fix an off-by-one bug I introduced.
-
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage getPluginInfoFromResources]):
-
-2010-06-21 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Adam Barth.
-
- FrameLoader cleanup: Split high level subframe and plugin
- loading functions into a separate class.
- https://bugs.webkit.org/show_bug.cgi?id=40453
-
- * WebView/WebFrame.mm:
- (-[WebFrame _cacheabilityDictionary]):
-
-2010-06-21 Anders Carlsson <andersca@apple.com>
-
- Another Tiger build fix.
-
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage _tryLoad]):
-
-2010-06-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- More WebBasePluginPackage cleanup
- https://bugs.webkit.org/show_bug.cgi?id=40944
-
- * Plugins/Hosted/HostedNetscapePluginStream.mm:
- (WebKit::HostedNetscapePluginStream::pluginCancelledConnectionError):
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::pluginCancelledConnectionError):
- * Plugins/WebBaseNetscapePluginView.mm:
- (WebHaltablePlugin::pluginName):
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage initWithPath:]):
- (-[WebBasePluginPackage _objectForInfoDictionaryKey:]):
- (-[WebBasePluginPackage getPluginInfoFromPLists]):
- (-[WebBasePluginPackage load]):
- (-[WebBasePluginPackage dealloc]):
- (-[WebBasePluginPackage finalize]):
- (-[WebBasePluginPackage pluginInfo]):
- (-[WebBasePluginPackage supportsExtension:]):
- (-[WebBasePluginPackage supportsMIMEType:WebCore::]):
- (-[WebBasePluginPackage MIMETypeForExtension:]):
- (-[WebBasePluginPackage isJavaPlugIn]):
- (-[WebBasePluginPackage versionNumber]):
- (-[WebBasePluginPackage WebCore::]):
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage openResourceFile]):
- (-[WebNetscapePluginPackage closeResourceFile:]):
- (-[WebNetscapePluginPackage getPluginInfoFromResources]):
- (-[WebNetscapePluginPackage _initWithPath:]):
- (-[WebNetscapePluginPackage _applyDjVuWorkaround]):
- (-[WebNetscapePluginPackage _tryLoad]):
- (-[WebNetscapePluginPackage supportsSnapshotting]):
- (-[WebNetscapePluginPackage _unloadWithShutdown:]):
- * Plugins/WebPluginDatabase.mm:
- (-[WebPluginDatabase refresh]):
- (-[WebPluginDatabase _removePlugin:]):
- * Plugins/WebPluginPackage.mm:
- (-[WebPluginPackage initWithPath:]):
- (-[WebPluginPackage load]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin):
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::getPluginInfo):
-
-2010-06-21 Anders Carlsson <andersca@apple.com>
-
- Another PowerPC build fix.
-
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage openResourceFile]):
- (-[WebNetscapePluginPackage _tryLoad]):
-
-2010-06-21 Anders Carlsson <andersca@apple.com>
-
- Try to fix the PowerPC build.
-
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage _tryLoad]):
-
-2010-06-21 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Adam Barth.
-
- Update relevant calls into FrameLoader to make use of
- FrameLoaderStateMachine.
- https://bugs.webkit.org/show_bug.cgi?id=39695
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
- * WebView/WebFrame.mm:
- (-[WebFrame _firstLayoutDone]):
-
-2010-06-21 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Dan Bernstein.
-
- Chromium/Mac build fix.
-
- * WebCoreSupport/WebSystemInterface.mm: Change the order of wtf/Platform.h include to let other
- headers smell it.
-
-2010-06-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Make all of WebKit build with clang++
-
- * DefaultDelegates/WebDefaultPolicyDelegate.m:
- (-[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]):
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView setSuppressLayout:]):
- * WebView/WebHTMLRepresentation.mm:
- * WebView/WebNavigationData.mm:
- (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
- * WebView/WebPDFRepresentation.mm:
- (-[WebPDFRepresentation setDataSource:]):
- (-[WebPDFRepresentation receivedData:withDataSource:]):
- (-[WebPDFRepresentation receivedError:withDataSource:]):
- * WebView/WebResource.mm:
- (-[WebResource description]):
- * WebView/WebSerializedJSValue.mm:
- (-[WebSerializedJSValue initWithValue:context:exception:]):
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController WebCore::]):
- (-[WebVideoFullscreenController setMediaElement:WebCore::]):
- (-[WebVideoFullscreenController setDelegate:]):
- (-[WebVideoFullscreenController enterFullscreen:]):
- * WebView/WebView.mm:
- (-[WebView _openFrameInNewWindowFromMenu:]):
- (-[WebView _geolocationDidChangePosition:]):
-
-2010-06-21 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove unused dictionary ivars from WebBasePluginPackage
- https://bugs.webkit.org/show_bug.cgi?id=40928
-
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage getPluginInfoFromPLists]):
- (-[WebBasePluginPackage dealloc]):
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage getPluginInfoFromResources]):
-
-2010-06-21 Dan Bernstein <mitz@apple.com>
-
- Build fix
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface):
-
-2010-06-21 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit part of implementing the 'hyphens' and 'hyphenate-character' properties
- https://bugs.webkit.org/show_bug.cgi?id=10228
-
- * WebCoreSupport/WebSystemInterface.mm:
- (InitWebCoreSystemInterface): Initialize wkGetHyphenationLocationBeforeIndex.
-
-2010-06-21 Satish Sampath <satish@chromium.org>
-
- Reviewed by Steve Block.
-
- Speech Input Patch 0: Added compilation argument to conditionally compile pending patches.
- https://bugs.webkit.org/show_bug.cgi?id=40878
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-06-20 Anders Carlsson <andersca@apple.com>
-
- Fix Tiger build.
-
- * Plugins/WebNetscapePluginPackage.mm:
-
-2010-06-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Get rid of the old MIMETypes getter method
- https://bugs.webkit.org/show_bug.cgi?id=40898
-
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage supportsExtension:]):
- (-[WebBasePluginPackage supportsMIMEType:WebCore::]):
- (-[WebBasePluginPackage MIMETypeForExtension:]):
- * Plugins/WebPluginDatabase.mm:
- (-[WebPluginDatabase refresh]):
- (-[WebPluginDatabase _removePlugin:]):
-
-2010-06-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Remove bogus const qualifiers.
-
- * WebCoreSupport/WebPasteboardHelper.h:
- * WebCoreSupport/WebPasteboardHelper.mm:
- (WebPasteboardHelper::urlFromPasteboard):
- (WebPasteboardHelper::plainTextFromPasteboard):
- (WebPasteboardHelper::fragmentFromPasteboard):
-
-2010-06-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Get rid of the extensionToMIME mapping in WebBasePluginPackage
- https://bugs.webkit.org/show_bug.cgi?id=40897
-
- Instead of using the extensionToMIME mutable dictionary, use the MIME types vector.
- While this makes lookup of MIME types based on extensions linear instead of constant,
- the number of extensions per plug-in is too small for it to matter.
-
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage initWithPath:]):
- (-[WebBasePluginPackage dealloc]):
- (-[WebBasePluginPackage supportsExtension:]):
- (-[WebBasePluginPackage MIMETypeForExtension:]):
- (-[WebBasePluginPackage setMIMEToExtensionsDictionary:]):
-
-2010-06-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add a MimeClassInfo Vector to WebBasePluginPackage
- https://bugs.webkit.org/show_bug.cgi?id=40896
-
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage getPluginInfoFromPLists]):
- (-[WebBasePluginPackage WebCore::]):
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage getPluginInfoFromResources]):
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::getPluginInfo):
-
-2010-06-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Move the NSBundle ivar to WebPluginPackage
- https://bugs.webkit.org/show_bug.cgi?id=40894
-
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage initWithPath:]):
- (-[WebBasePluginPackage _objectForInfoDictionaryKey:]):
- (-[WebBasePluginPackage getPluginInfoFromPLists]):
- (-[WebBasePluginPackage load]):
- (-[WebBasePluginPackage dealloc]):
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage _initWithPath:]):
- * Plugins/WebPluginPackage.h:
- * Plugins/WebPluginPackage.mm:
- (-[WebPluginPackage initWithPath:]):
- (-[WebPluginPackage dealloc]):
- (-[WebPluginPackage viewFactory]):
- (-[WebPluginPackage load]):
-
-2010-06-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Remove -[WebBasePluginPackage bundle]
- https://bugs.webkit.org/show_bug.cgi?id=40892
-
- Add -[WebBasePluginPackage bundleIdentifier] and switch clients over to it.
-
- Move the supportsSnapshotting method over to the plug-in package.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::hostForPackage):
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
- (-[WebBaseNetscapePluginView supportsSnapshotting]):
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage isQuickTimePlugIn]):
- (-[WebBasePluginPackage isJavaPlugIn]):
- (-[WebBasePluginPackage WebCore::]):
- Call bundleIdentifier directly instead of asking the bundle
- * Plugins/WebNetscapePluginPackage.h:
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage supportsSnapshotting]):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView setAttributeKeys:andValues:]):
- (-[WebNetscapePluginView _createPlugin]):
- * Plugins/WebPluginDatabase.mm:
- (checkCandidate):
-
-2010-06-20 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Change some WebPluginDabase ivars to use WebCore::String instead of NSString.
- https://bugs.webkit.org/show_bug.cgi?id=40869
-
- Re-land r61459, with extra null-checks in WebFrameLoaderClient.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage initWithPath:]):
- (-[WebBasePluginPackage getPluginInfoFromPLists]):
- (-[WebBasePluginPackage dealloc]):
- (-[WebBasePluginPackage name]):
- (-[WebBasePluginPackage path]):
- (-[WebBasePluginPackage filename]):
- (-[WebBasePluginPackage pluginDescription]):
- (-[WebBasePluginPackage description]):
- (-[WebBasePluginPackage isJavaPlugIn]):
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage getPluginInfoFromResources]):
- (-[WebNetscapePluginPackage _tryLoad]):
- (-[WebNetscapePluginPackage _unloadWithShutdown:]):
- * Plugins/WebPluginPackage.mm:
- (-[WebPluginPackage load]):
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin):
-
-2010-06-18 Adam Barth <abarth@webkit.org>
-
- Unreviewed, rolling out r61459.
- http://trac.webkit.org/changeset/61459
- https://bugs.webkit.org/show_bug.cgi?id=40869
-
- Seems to have broken two tests on the Tiger buildbot:
-
- dom/html/level2/html/AppletsCollection.html
- plugins/qt-qwidget-plugin.html
-
- Anders wasn't on #webkit...
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage initWithPath:]):
- (-[WebBasePluginPackage getPluginInfoFromPLists]):
- (-[WebBasePluginPackage dealloc]):
- (-[WebBasePluginPackage name]):
- (-[WebBasePluginPackage path]):
- (-[WebBasePluginPackage filename]):
- (-[WebBasePluginPackage pluginDescription]):
- (-[WebBasePluginPackage setName:]):
- (-[WebBasePluginPackage setPath:]):
- (-[WebBasePluginPackage setPluginDescription:]):
- (-[WebBasePluginPackage description]):
- (-[WebBasePluginPackage isJavaPlugIn]):
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage getPluginInfoFromResources]):
- (-[WebNetscapePluginPackage _tryLoad]):
- (-[WebNetscapePluginPackage _unloadWithShutdown:]):
- * Plugins/WebPluginPackage.mm:
- (-[WebPluginPackage load]):
-
-2010-06-18 Anders Carlsson <andersca@apple.com>
-
- Fix Tiger build.
-
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage isJavaPlugIn]):
-
-2010-06-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Change some WebPluginDabase ivars to use WebCore::String instead of NSString.
- https://bugs.webkit.org/show_bug.cgi?id=40869
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::spawnPluginHost):
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage initWithPath:]):
- (-[WebBasePluginPackage getPluginInfoFromPLists]):
- (-[WebBasePluginPackage dealloc]):
- (-[WebBasePluginPackage name]):
- (-[WebBasePluginPackage path]):
- (-[WebBasePluginPackage filename]):
- (-[WebBasePluginPackage pluginDescription]):
- (-[WebBasePluginPackage description]):
- (-[WebBasePluginPackage isJavaPlugIn]):
- * Plugins/WebNetscapePluginPackage.mm:
- (-[WebNetscapePluginPackage getPluginInfoFromResources]):
- (-[WebNetscapePluginPackage _tryLoad]):
- (-[WebNetscapePluginPackage _unloadWithShutdown:]):
- * Plugins/WebPluginPackage.mm:
- (-[WebPluginPackage load]):
-
-2010-06-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Rename WebPluginPackage.m to make it an Objective-C++ file.
-
- * Plugins/WebPluginPackage.m: Removed.
- * Plugins/WebPluginPackage.mm: Copied from Plugins/WebPluginPackage.m.
-
-2010-06-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Get rid of the NSEnumerators from WebBasePluginPackage
- https://bugs.webkit.org/show_bug.cgi?id=40868
-
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage MIMETypes]):
- (-[WebBasePluginPackage supportsExtension:]):
- (-[WebBasePluginPackage supportsMIMEType:]):
- * Plugins/WebPluginDatabase.mm:
- (-[WebPluginDatabase pluginForMIMEType:]):
- (-[WebPluginDatabase pluginForExtension:]):
- (-[WebPluginDatabase refresh]):
- (-[WebPluginDatabase _removePlugin:]):
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::getPluginInfo):
-
-2010-06-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make WebCoreSystemInterface.h a C++ only header
- https://bugs.webkit.org/show_bug.cgi?id=40867
-
- * WebCoreSupport/WebSystemInterface.h:
- * WebCoreSupport/WebSystemInterface.m: Removed.
- * WebCoreSupport/WebSystemInterface.mm: Copied from WebKit/mac/WebCoreSupport/WebSystemInterface.m.
-
-2010-06-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Clean up WebPluginDatabase.mm
- https://bugs.webkit.org/show_bug.cgi?id=40866
-
- * Plugins/WebBasePluginPackage.h:
- * Plugins/WebBasePluginPackage.mm:
- (pathByResolvingSymlinksAndAliases):
- (-[WebBasePluginPackage initWithPath:]):
- Change an instance method into a static function.
-
- * Plugins/WebPluginDatabase.mm:
- (PluginPackageCandidates::PluginPackageCandidates):
- (PluginPackageCandidates::update):
- (PluginPackageCandidates::bestCandidate):
- Add a new PluginPackageCandidates class.
-
- (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
- Use PluginPackageCandidates here.
-
-2010-06-18 Anders Carlsson <andersca@apple.com>
-
- Fix Tiger build.
-
- * WebCoreSupport/WebPlatformStrategies.mm:
-
-2010-06-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Get rid of PluginDataMac.mm and use the plug-in strategy instead
- https://bugs.webkit.org/show_bug.cgi?id=40860
-
- * Plugins/WebBasePluginPackage.h:
- * WebCoreSupport/WebPlatformStrategies.h:
- * WebCoreSupport/WebPlatformStrategies.mm:
- (WebPlatformStrategies::createPluginStrategy):
- (WebPlatformStrategies::refreshPlugins):
- (WebPlatformStrategies::getPluginInfo):
- * WebCoreSupport/WebViewFactory.mm:
-
-2010-06-18 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add stubbed out WebPlatformStrategies class to WebKit.
- https://bugs.webkit.org/show_bug.cgi?id=40851
-
- * WebCoreSupport/WebPlatformStrategies.h: Added.
- * WebCoreSupport/WebPlatformStrategies.mm: Added.
- (WebPlatformStrategies::initialize):
- (WebPlatformStrategies::WebPlatformStrategies):
- (WebPlatformStrategies::createPluginStrategy):
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2010-06-15 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Barth.
-
- Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
- https://bugs.webkit.org/show_bug.cgi?id=39041
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-06-17 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Use adoptRef and create functions in more code paths
- https://bugs.webkit.org/show_bug.cgi?id=40760
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h: Made create no longer
- be an inline function.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- Moved the call to addPluginInstance out of here.
- (WebKit::NetscapePluginInstanceProxy::create): Move it in here.
- This makes sure we call adoptRef on the new proxy before any caller
- calls ref on it.
-
-2010-06-16 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Enable HTML5 Parser in Safari on Mac
- https://bugs.webkit.org/show_bug.cgi?id=40739
-
- The HTML5 parser is probably off on all webkit ports.
- We should either flip the meaning of the default so that
- "false" means HTML5 on all ports, or we'll have to write
- more code like this for all the other ports.
-
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
-
-2010-06-15 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Don't leak WebGeolocationPositionInternal and GeolocationPosition instances for every WebGeolocationPosition created.
-
- * WebView/WebGeolocationPosition.mm:
- (-[WebGeolocationPosition dealloc]): Implement -dealloc and release our WebGeolocationPositionInternal instance.
-
-2010-06-10 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Shinichiro Hamaji.
-
- Implement render style selection for pages to support CSS3 Paged Media.
- https://bugs.webkit.org/show_bug.cgi?id=35961
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (-[WebFrame pageProperty:propertyName:]):
-
-2010-06-15 Darin Adler <darin@apple.com>
-
- Reviewed by Adam Barth.
-
- Move functions out of Frame class that were marked "move to Chrome"
- https://bugs.webkit.org/show_bug.cgi?id=39636
-
- * WebView/WebView.mm:
- (-[WebView shouldClose]): Call shouldClose on FrameLoader instead of
- going through Frame.
-
-2010-06-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Remove getPluginInfoFromBundleAndMIMEDictionary:
-
- * Plugins/WebBasePluginPackage.mm:
-
-2010-06-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fold getPluginInfoFromBundleAndMIMEDictionary: into its sole caller.
-
- * Plugins/WebBasePluginPackage.mm:
- (-[WebBasePluginPackage getPluginInfoFromPLists]):
-
-2010-06-11 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/8084721> Pages using accelerated compositing fail to update correctly in Carbon apps
-
- The run loop observer used to commit compositing layer changes does not do
- updates if [window viewsNeedDisplay] is true, because this indicates that a delayed window
- update is pending (added in r58623).
-
- However, Carbon apps don't use the NSWindow updating mechanism, so [window viewsNeedDisplay] always returns YES.
- This caused us to never sync compositing layers.
-
- So detect if the current window is wrapping a carbon window, and in that case consult the root
- HIView to detect if display is pending.
-
- * WebView/WebView.mm:
- (layerSyncRunLoopObserverCallBack):
-
-2010-06-15 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/8077032> REGRESSION (r50796): Black background on AppleScript generated email
-
- Test: platform/mac/editing/input/NSBackgroundColor-transparent.html
-
- r50796 changed the initial background color from invalid to transparent. As a result,
- NSAttributedStrings returned from +_web_attributedStringFromRange started including the
- NSBackgroundColor attribute, with a transparent color as the value. This caused problems for
- components in the system that ignore the alpha component, turning the color into opaque black.
-
- * Misc/WebNSAttributedStringExtras.mm:
- (+[NSAttributedString _web_attributedStringFromRange:]): Change to not include the background
- and foreground color attributes if the color are transparent.
-
-2010-06-14 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
- data from inspected page to WebInspector as JSON string via http. The native
- serialization to JSON string is supported by InspectorValue's classes. This patch
- has the implementation of sendMessageToFrontend function. WebKit version of it still
- uses ScriptFunctionCall and will be switched to another transport a little bit later.
- https://bugs.webkit.org/show_bug.cgi?id=40134
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::WebInspectorClient):
- (WebInspectorClient::openInspectorFrontend):
-
-2010-06-10 David Hyatt <hyatt@apple.com>
-
- Reviewed by John Sullivan.
-
- https://bugs.webkit.org/show_bug.cgi?id=40441, back out the original fix for 29601, since it has broken continuous
- wheel delta values.
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView scrollWheel:]):
-
-2010-06-09 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r60889.
- http://trac.webkit.org/changeset/60889
- https://bugs.webkit.org/show_bug.cgi?id=40365
-
- gtk bot has some kind of memory corruption (Requested by
- loislo on #webkit).
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::WebInspectorClient):
- (WebInspectorClient::openInspectorFrontend):
- (-[WebInspectorWindowController destroyInspectorView]):
-
-2010-06-07 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
- data from inspected page to WebInspector as JSON string via http. The native
- serialization to JSON string is supported by InspectorValue's classes. This patch
- has the implementation of sendMessageToFrontend function. WebKit version of it still
- uses ScriptFunctionCall and will be switched to another transport a little bit later.
- https://bugs.webkit.org/show_bug.cgi?id=40134
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::WebInspectorClient):
- (WebInspectorClient::openInspectorFrontend):
-
-2010-06-08 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Adele Peterson.
-
- <rdar://problem/8072136> REGRESSION (r56051): Inspect Element context menu does nothing in applications linked against 10.4 SDK
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (fixMenusReceivedFromOldClients): Fix up the tag on the Inspect Element menu item. This ensures that even if the
- context menu layout doesn't match our expectations that the menu item will continue to trigger the web inspector.
-
-2010-06-08 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Ojan Vafai and Darin Adler.
-
- Refactor platform dependent editing behavior code out of Settings
- https://bugs.webkit.org/show_bug.cgi?id=39854
-
- EditingBehavior enum was renamed to EditingBehaviorTypes and moved out from Settings.h to
- EditingBehaviorTypes.h . Call sites in WebKit/ adjusted accordingly.
-
- * WebView/WebFrame.mm:
- (core):
- * WebView/WebFrameInternal.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-06-06 MORITA Hajime <morrita@google.com>
-
- Unreviewd, follow up to r60820
-
- https://bugs.webkit.org/show_bug.cgi?id=40219
- [Mac] ENABLE_METER_TAG should be enabled
-
- Added ENABLE_METER_TAG.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-06-06 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig.
-
- Bug 40214 - Clean up error construction / throwing in JSC.
-
- The one egregious insanity here is that creating an error requires
- a VM-entry-esqe-host call (the string argument is wrapped as a JS
- object & pushed on the RegisterFile, then unwrapped back to a
- UString). Changing this also means you only require a global
- object, not an ExecState, to create an error.
-
- The methods to create error objects are also parameterized
- requiring a switch on the type, which can be made cleaner and
- faster by moving to a separate method per error type. Code to add
- divot information to error had been duplicated, and is coalesced
- back into a single function.
-
- Convenience methods added to create & throw type & syntax error
- with a default error message, since this is a common case.
-
- Also, errors are currently thrown either using
- "throwError(exec, error)" or "exec->setException(error)" - unify
- on the former, since this is more commonly used. Add
- "throwVMError(exec, error)" equivalents, as a convenience for
- cases where the result was being wrapped in "JSValue::encode(...)".
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::invokeMethod):
-
-2010-06-02 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Bug 40094 - The return type of NativeFunction should be EncodedJSValue
- On Windows & Linux, using JSVALUE32_64, EncodedJSValue is returned in registers, but JSValue is not.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::invoke):
-
-2010-06-02 Sterling Swigart <sswigart@google.com>
-
- Reviewed by David Levin.
-
- Image Resizer Patch 0: Added compilation argument to conditionally compile pending patches.
- https://bugs.webkit.org/show_bug.cgi?id=39906
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-06-01 David Hyatt <hyatt@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Add a preference for paginating during layout (the new model for computing page breaks).
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (-[WebPreferences paginateDuringLayoutEnabled]):
- (-[WebPreferences setPaginateDuringLayoutEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-06-01 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=40025
- <rdar://problem/8046273> All Flash content crashes after installing CS5 Design Premium.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView supportsSnapshotting]): Do not support snapshotting Flash 10.1 if
- the version is less than 10.1.53.60.
-
-2010-06-01 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=39434
- REGRESSION (r59811): Geolocation callbacks cannot be created
-
- Removing unused WebGeolocationMock.
-
- * WebCoreSupport/WebGeolocationMock.mm: Removed.
- * WebCoreSupport/WebGeolocationMockPrivate.h: Removed.
- * WebKit.exp:
-
-2010-05-30 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Make more HTML DOM members private, especially constructors, third and final batch
- https://bugs.webkit.org/show_bug.cgi?id=39916
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation elementWithName:inForm:]): Use the new HTMLFormElement
- function, associatedElements, rather than getting directly at a data member
- named formElements.
- (-[WebHTMLRepresentation controlsInForm:]): Ditto.
-
-2010-05-28 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
-
- Simplified the host calling convention.
-
- PART ONE: Functional code changes.
-
- [ None in WebKit ]
-
- PART TWO: Global search and replace.
-
- In the areas below, I used global search-and-replace to change
- (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
- args.size() => exec->argumentCount()
- args.at(i) => exec->argument(i)
-
- * Plugins/Hosted/ProxyInstance.h:
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::invoke):
- (WebKit::ProxyInstance::invokeMethod):
- (WebKit::ProxyInstance::invokeDefaultMethod):
-
-2010-05-27 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Change z-component to 1.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView viewDidMoveToWindow]):
- (-[WebHTMLView attachRootLayer:]):
-
-2010-05-26 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Beth Dakin and Darin Adler.
-
- Fix for <rdar://problem/7464703> HiDPI: [Layers] Compositing layers
- do not scale properly when running with a resolution independent
- scale
-
- Apply the userSpaceScaleFactor as a scale on the layerHostingView.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView viewDidMoveToWindow]):
- (-[WebHTMLView attachRootLayer:]):
-
-2010-05-25 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=39621
- <rdar://problem/8009738> Extreme memory growth on DOM Hanoi test
-
- Removed formStateDidChange support, which is not needed by any client.
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::formStateDidChange):
- * WebCoreSupport/WebChromeClient.mm:
- * WebView/WebUIDelegatePrivate.h:
-
-2010-05-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- Database origins aren't populated at launch (missing db in prefs sheet, possible other symptoms)
- <rdar://problem/8013233> and https://bugs.webkit.org/show_bug.cgi?id=39486
-
- * Storage/WebDatabaseManager.mm:
- (WebKitInitializeDatabasesIfNecessary): Call initializeTracker() instead of trying to set the path on
- an already created tracker that already has its origins populated.
-
-2010-05-24 Darin Adler <darin@apple.com>
-
- Reviewed by Eric Seidel.
-
- Move view-related functions from Frame to FrameView
- https://bugs.webkit.org/show_bug.cgi?id=39366
-
- * WebView/WebView.mm:
- (-[WebView _setZoomMultiplier:isTextOnly:]): Call function on FrameView.
- (-[WebView setEditable:]): Get rid of call to empty function,
- removeEditingStyleFromBodyElement.
-
-2010-05-21 David Hyatt <hyatt@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=39420
-
- Make sure everyone who needs to is using visitedDependentColor rather than accessing styles
- directly.
-
- * Misc/WebNSAttributedStringExtras.mm:
- (+[NSAttributedString _web_attributedStringFromRange:]):
- * WebView/WebFrame.mm:
- (-[WebFrame _bodyBackgroundColor]):
-
-2010-05-21 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- All callable objects should have a global object reference
- https://bugs.webkit.org/show_bug.cgi?id=39495
-
- Update the plugin proxy to handle the need for global object.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::newRuntimeObject):
- (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod):
- (WebKit::ProxyInstance::getMethod):
- * Plugins/Hosted/ProxyRuntimeObject.h:
- * Plugins/Hosted/ProxyRuntimeObject.mm:
- (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
-
-2010-05-21 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Add DeviceOrientation and DeviceOrientationClient
- https://bugs.webkit.org/show_bug.cgi?id=39479
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
-
-2010-05-20 Mike Thole <mthole@apple.com>
-
- Reviewed by Dave Hyatt.
-
- When using a scale factor > 1, scrollbars sometimes appear when not necessary
- https://bugs.webkit.org/show_bug.cgi?id=39458
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView updateScrollers]): Round up non-integral sizes from AppKit
- so that they can be compared against the integral document size.
-
-2010-05-20 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=39441
- <rdar://problem/7985715> Flash context menu is both horizontally and vertically offset from point of click
- <rdar://problem/7986109> Youtube video controller UI entirely missing
- <rdar://problem/7986154> Flash content paints at horizontally and vertically shifted locations (within the plug-in region)
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView updateAndSetWindow]): The base coordinates of a window and
- it's contentView happen to be the equal at a userSpaceScaleFactor of 1. For non-1.0 scale
- factors this assumption is false. Accordingly we now convert to the window contentView
- coordinate system when computing bounds in "window" and the visible rect.
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): Ditto.
-
-2010-05-20 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Provide bindings for DeviceOrientation
- https://bugs.webkit.org/show_bug.cgi?id=39210
-
- Adds ENABLE_DEVICE_ORIENTATION to XCode project file, always disabled.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-05-20 Martin Robinson <mrobinson@webkit.org>
-
- Reviewed by Ojan Vafai.
-
- Expose the editing behavior setting in DRT to test all editing code paths
- https://bugs.webkit.org/show_bug.cgi?id=38603
-
- * WebView/WebFrame.mm:
- (core):
- * WebView/WebFrameInternal.h: Added a conversion method from the API enum to the WebCore enum.
- * WebView/WebPreferenceKeysPrivate.h: Added a preference key for the new setting.
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]): Initialize the EditingBehavior to Mac style.
- (-[WebPreferences editingBehavior]): Added.
- (-[WebPreferences setEditingBehavior:]): Added.
- * WebView/WebPreferencesPrivate.h: Added the new API points to the private API.
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]): Set the editing behavior via the WebPreferences setting.
-
-2010-05-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker and Simon Fraser.
-
- <rdar://problem/8004528>
- REGRESSION: Coordinate system for Core Animation NPAPI plug-ins is flipped with accelerated compositing turned on
-
- When needed, create a new CALayer and set it's geometry to be flipped. Add the plug-in layer as a sublayer and then return
- the newly created layer.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView createPlugin]):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView createPlugin]):
-
-2010-05-18 Tony Chang <tony@chromium.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=24943
- Command-B and Command-I do not generate keydown events in contentEditable regions.
-
- Manual test because performKeyEquivalent is not called by DRT.
-
- Test: manual-tests/style-keypress-events.html
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView performKeyEquivalent:]): Move style key handling until after webcore gets a chance to handle the event
-
-2010-05-18 Daniel Cheng <dcheng@chromium.org>
-
- Reviewed by Darin Adler, Jian Li.
-
- DragData::asURL() shouldn't do file validity checks
- https://bugs.webkit.org/show_bug.cgi?id=38711
-
- Change [NSPasteboard _web_bestURL] to still return a file URL for paths
- that don't exist. Callers who care about the existence of the file or
- whether or not it is a directory should check themselves when they
- want to use the file. The directory check has been left in for now,
- since the Mac implementation of ResourceHandle, which uses this function
- indirectly via DragController::performDrag) handles directories somewhat
- non-intuitively: it opens the parent directory in the Finder, rather
- than opening the directory itself.
-
- * Misc/WebNSPasteboardExtras.mm:
- (-[NSPasteboard _web_bestURL]):
-
-2010-05-18 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth (and Maciej Stachowiak).
-
- Make it possible to enable the new HTML5Tokenizer for testing
- https://bugs.webkit.org/show_bug.cgi?id=39275
-
- Expose the WebCore::Settings::html5ParserEnabled as a private WebKit setting.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (-[WebPreferences html5ParserEnabled]):
- (-[WebPreferences setHTML5ParserEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-05-17 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r59652.
- http://trac.webkit.org/changeset/59652
- https://bugs.webkit.org/show_bug.cgi?id=39268
-
- file-input-files-access test is broken on Mac (Requested by
- dcheng on #webkit).
-
- * Misc/WebNSPasteboardExtras.mm:
- (-[NSPasteboard _web_bestURL]):
-
-2010-05-17 Daniel Cheng <dcheng@chromium.org>
-
- Reviewed by Darin Adler.
-
- DragData::asURL() shouldn't do file validity checks
- https://bugs.webkit.org/show_bug.cgi?id=38711
-
- Change [NSPasteboard _web_bestURL] to still return a file URL for paths
- that don't exist. Callers who care about the existence of the file or
- whether or not it is a directory should check themselves when they
- want to use the file. The directory check has been left in for now,
- since the Mac implementation of ResourceHandle, which uses this function
- indirectly via DragController::performDrag) handles directories somewhat
- non-intuitively: it opens the parent directory in the Finder, rather
- than opening the directory itself.
-
- * Misc/WebNSPasteboardExtras.mm:
- (-[NSPasteboard _web_bestURL]):
-
-2010-05-14 Stephanie Lewis <slewis@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- Update order files.
-
- * WebKit.order:
-
-2010-05-13 Timothy Hatcher <timothy@apple.com>
-
- Allow reporting exceptions that occur when using JavaScriptCore APIs
- to the Web Inspector.
-
- <rdar://problem/7975410>
-
- Reviewed by Sam Weinig.
-
- * WebView/WebView.mm:
- (+[WebView _reportException:inContext:]): Call WebCore::reportException after checking
- that the global object is a DOMWindow.
- * WebView/WebViewPrivate.h: Added _reportException:inContext:.
-
-2010-05-13 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=39089
- <rdar://problem/7974044> Domain names in Russian '.рф' domain are displayed as punycode
-
- Add a custom check for this domain. Currently, this is the only non-ASCII TLD, we'll
- investigate a more extensible solution when there are more, and we know what the
- typical restictions are.
-
- * Misc/WebNSURLExtras.mm:
- (allCharactersAllowedByTLDRules):
- (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
-
-2010-05-12 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by David Hyatt.
-
- Composited plug-ins can cause missed painting
- https://bugs.webkit.org/show_bug.cgi?id=39033
- <rdar://problem/7972478>
-
- Eagerly enable compositing mode via the enclosing FrameView when the plug-in tells us it wants
- to do compositing.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView createPlugin]):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView createPlugin]):
-
-2010-05-12 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 38689: #34005 will break fullscreen video playback
- https://bugs.webkit.org/show_bug.cgi?id=38689
-
- Use the new definition of PlatformMedia to check the actual type
- returned by MediaPlayer.
-
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController windowDidLoad]):
-
-2010-05-11 Mark Rowe <mrowe@apple.com>
-
- Fix the world.
-
- In r59162 a change was made to WebCore's FeatureDefines.xcconfig that enabled FILE_READER and FILE_WRITER.
- The author and reviewer of that patch ignored the carefully-worded warning at the top of that file asking
- that changes to the file be kept in sync across JavaScriptCore, WebCore and WebKit, as well as being kept
- in sync with build-webkit. This led to WebCore and WebKit having different views of Document's vtable
- and results in crashes in Safari shortly after launch when virtual function calls resulted in the wrong
- function in WebCore being called.
-
- We fix this by bringing the FeatureDefines.xcconfig files in to sync. Based on the ChangeLog message and
- other changes in r59162 it appears that enabling FILE_WRITER was unintentional so that particular change
- has been reverted.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-05-10 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson.
-
- Allow compositing layers to be connected across iframe boundaries on Mac
- https://bugs.webkit.org/show_bug.cgi?id=38856
-
- When painting an iframe into a compositing layer, the "PaintBehaviorFlattenCompositingLayers"
- flag was mistakenly set, because we'd detect that we were drawing into a bitmap. This caused
- content to show up in both compositing layers, and the painted background inside the iframe.
-
- Fix by taking the flattening state from the parent frame, if there is one. For the root
- frame, we continue to look to see if we're painting into a bitmap.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _drawRect:contentsOnly:]):
-
-2010-05-10 Timothy Hatcher <timothy@apple.com>
-
- Fix a crash when closing a WebView while the Web Inspector is open.
-
- <rdar://problem/7966830>
-
- Reviewed by Mark Rowe.
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController destroyInspectorView]): Null check Page since it can be null.
- * WebView/WebView.mm:
- (-[WebView _close]): Null out _private->page before deleting the page, so code called
- during destruction don't access a half deleted Page object.
-
-2010-05-10 Anders Carlsson <andersca@apple.com>
-
- Unbreak the world. (Fix Mac builds).
-
- * Plugins/Hosted/WebKitPluginHostTypes.h:
-
-2010-05-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Simon Fraser.
-
- Change the order of the RendererType enum values, so that old versions of WebKitPluginHost will
- use accelerated compositing and not layer backed views.
-
- * Plugins/Hosted/WebKitPluginHostTypes.h:
-
-2010-05-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig and Simon Fraser.
-
- <rdar://problem/7947356>
- QT Plug-in in hardware-accelerated WebKit is missing the controller
-
- Replace the useSoftwareRenderer boolean with an enum that lets the plug-in host opt into using a layer
- backed NSView instead of inserting the layer into the WebCore layer hierarchy.
-
- * Plugins/Hosted/NetscapePluginHostManager.mm:
- (WebKit::NetscapePluginHostManager::instantiatePlugin):
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCInstantiatePluginReply):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::rendererType):
- (WebKit::NetscapePluginInstanceProxy::setRendererType):
- (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
- Replace the useSoftwareRenderer boolean everywhere with the RendererType enum.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView createPlugin]):
- Only go into full compositing mode when the renderer type returned is UseAcceleratedCompositing.
- Otherwise, use a layer backed NSView.
-
- * Plugins/Hosted/WebKitPluginHostTypes.h:
- Add a RendererType enum.
-
-2010-05-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler and Dan Bernstein..
-
- REGRESSION (r51617): when plugins are disabled, plugins show up as garbage characters
- https://bugs.webkit.org/show_bug.cgi?id=38698
- <rdar://problem/7942075>
-
- When the plug-in database is initialized, we will register all the MIME types it supports with the global
- WebView dictionary. When plug-ins are disabled for a single web view, the MIME types still need to be
- in the global mapping (because other web views might still have plug-ins enabled).
-
- Prior to r51617 we would always look at the plug-in database to determine that the MIME type belongs to a
- plug-in, but now we won't even touch the plug-in database when plug-ins are disabled.
-
- In order to fix this, a new set of registered MIME types that are known to be plug-ins is added. When
- +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:] is called and allowingPlugins is FALSE
- we check if the MIME type is a known plug-in MIME type and return false in that case.
-
- * Plugins/WebPluginDatabase.mm:
- (-[WebPluginDatabase refresh]):
- (-[WebPluginDatabase _removePlugin:]):
- * WebView/WebView.mm:
- (knownPluginMIMETypes):
- (+[WebView _registerPluginMIMEType:]):
- (+[WebView _unregisterPluginMIMEType:]):
- (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
- * WebView/WebViewInternal.h:
-
-2010-05-06 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7951285> REGRESSION (r58847): Composited iframe content obscures Safari's application chrome
-
- Fixed this other regression from r58847. The regression was caused by overriding -visibleRect to
- return the WebClipView’s full bounds. AppKit uses -visibleRect to determine the geometry
- of the surface for the child WebFrameView. The fix is to restrict the special behavior of
- -[WebClipView visibleRect] to when AppKit is consulting it for the purpose of invalidating
- areas while scrolling.
-
- * WebView/WebClipView.h:
- * WebView/WebClipView.mm:
- (-[WebClipView visibleRect]): If the WebClipView is not scrolling, always return
- [super visibleRect].
- (-[WebClipView _immediateScrollToPoint:]): Override this internal NSClipView method
- to set a flag telling -visibleRect that the view is scrolling.
- * WebView/WebView.mm:
- (layerSyncRunLoopObserverCallBack): Ensure that screen updates, disabled by AppKit
- when it thinks an upcoming window flush will re-enable them, are enabled here in
- case the -setNeedsDisplayInRect: override has prevented the window from needing to be
- flushed.
-
-2010-05-06 Steve Block <steveblock@google.com>
-
- Reviewed by Eric Seidel.
-
- MAC_JAVA_BRIDGE should be renamed JAVA_BRIDGE
- https://bugs.webkit.org/show_bug.cgi?id=38544
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
-
-2010-05-05 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fixed a crash when closing Top Sites after r58847.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView webFrame]): Null-check _private.
-
-2010-05-05 Dan Bernstein <mitz@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- Fixed test crashes after r58847.
-
- * WebView/WebHTMLView.mm:
- (setNeedsDisplayInRect): Null-check the frame.
-
-2010-05-05 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7932072> Iframes in composited layers don’t repaint correctly (affects Yahoo! Mail with Flash Player 10.1)
- https://bugs.webkit.org/show_bug.cgi?id=38427
-
- * WebView/WebClipView.m: Renamed to WebClipView.mm.
- * WebView/WebClipView.mm:
- (-[WebClipView visibleRect]): Added this override, which for instances used for WebFrameViews in
- composited layers, returns the clip view’s entire bounds. This prevents drawing from being clipped to
- AppKit’s idea of what part of the view would be visible if it was drawn as part of the view hierarchy.
- Since it is drawn into a compositing layer, that’s irrelevant, and we should not be clipping.
- * WebView/WebHTMLView.mm:
- (setCursor): Style tweak.
- (setNeedsDisplayInRect): Added. Replaces the default implementation of -[NSView setNeedsDisplayInRect:],
- so that if the receiver is a descendant of a WebFrameView that draws into a composited layer, the invalidation
- is routed back through the WebCore FrameView, which propagates it to the layer.
- (+[WebHTMLViewPrivate initialize]): Swizzle the setNeedsDisplayInRect: override in.
- (-[WebHTMLView visibleRect]): Removed whitespace.
- * WebView/WebView.mm:
- (layerSyncRunLoopObserverCallBack): If we bailed out on syncing, due to pending layout, do an eager layout
- in preparation for the displaying of compositing layers.
-
-2010-05-05 John Sullivan <sullivan@apple.com>
-
- <rdar://problem/7942606> Output appears in Console when exiting Safari with multiple windows opened
-
- Reviewed by Mark Rowe.
-
- * WebView/WebView.mm:
- (+[WebView closeAllWebViews]):
- Make copy of allWebViewsSet to avoid mutating it while iterating through it.
-
-2010-05-04 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Improve check for drawing into the window that was added in r58623
- https://bugs.webkit.org/show_bug.cgi?id=38562
-
- Rather than assuming that any non-bitmap context is the window's context,
- compare the current graphics context with -[NSWindow graphicsContext] to
- determine that we're drawing into the window.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawRect:]):
-
-2010-05-04 Ada Chan <adachan@apple.com>
-
- Reviewed by David Kilzer.
-
- https://bugs.webkit.org/show_bug.cgi?id=38555
-
- Small code refactoring: move the logic to figure out the path to the
- databases directory to another method.
-
- * Storage/WebDatabaseManager.mm:
- (databasesDirectoryPath):
- (WebKitInitializeDatabasesIfNecessary):
-
-2010-05-04 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Mike Thole.
-
- Fix for <rdar://problem/7818509> Crash occurs when exiting Safari
-
- We can avoid this crash if we call [self _removeFromAllWebViewsSet]
- even in the case when we are doing a fastDocumentTeardown. This is
- a much safer approach.
- * WebView/WebView.mm:
- (-[WebView _close]):
-
-2010-05-03 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add support for controlling clipboard access from javascript.
- Clipboard access from javascript is disabled by default.
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences javaScriptCanAccessClipboard]):
- (-[WebPreferences setJavaScriptCanAccessClipboard:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-05-03 Jens Alfke <snej@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
- https://bugs.webkit.org/show_bug.cgi?id=38397
-
- No tests (functionality is exposed only through native WebKit API.)
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- (WebFrameLoaderClient::dispatchWillSendSubmitEvent):
-
-2010-04-30 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/7477071> REGRESSION: Bad flicker when wheel-scrolling Google Maps, iPad gallery and other sites
-
- Sites that frequently toggle content in and out of compositing layers (like http://www.tumblr.com/boothed)
- can cause flickering because of unsychronized compositing layer and view-based updates. There were two
- underlying issues:
-
- 1. On SnowLeopard, AppKit can throttle window updates, thus breaking an assumption that
- NSView drawing will happen on the runloop cycle after a repaint. This provided a window
- for the layerSyncRunLoopObserver to fire and commit layer changes too early.
-
- Fix this by having the layerSyncRunLoopObserver in WebView check to see if a display is pending,
- and not commit layer changes in that case. We'll commit layer changes later when we
- finally draw.
-
- 2. The change in r49269 was wrong; it was attempting to fix an issue that was actually caused
- by -drawRects: coming in for page snapshots. The correct approach is to avoid hitting the
- synchronization and update disabling code in WebHTMLView for draws that are not to the screen.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView drawRect:]):
- * WebView/WebView.mm:
- (layerSyncRunLoopObserverCallBack):
- (-[WebView _scheduleCompositingLayerSync]):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Part of the previous part (forgot to save).
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView stopTimers]):
- (-[WebNetscapePluginView startTimers]):
- (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
- (-[WebNetscapePluginView _containerCheckResult:contextInfo:]):
- (-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]):
- (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
- (-[WebNetscapePluginView unscheduleTimer:]):
- (-[WebNetscapePluginView getVariable:forURL:value:length:]):
- (-[WebNetscapePluginView setVariable:forURL:value:length:]):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Use C99 integer types in more places.
-
- * Plugins/WebNetscapePluginView.mm:
- (getNPRect):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Fix Tiger build.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::startStream):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Another 32-bit build fix.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Fix 32-bit build (again).
-
- * Plugins/WebNetscapeContainerCheckContextInfo.h:
- * Plugins/WebNetscapeContainerCheckContextInfo.mm:
- (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
- (-[WebNetscapeContainerCheckContextInfo checkRequestID]):
- (-[WebNetscapeContainerCheckContextInfo callback]):
- * Plugins/WebNetscapePluginPackage.h:
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Fix 32-bit build.
-
- * Plugins/WebNetscapeContainerCheckContextInfo.h:
- * Plugins/WebNetscapeContainerCheckContextInfo.mm:
- (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
- * Plugins/WebNetscapeContainerCheckPrivate.h:
- * Plugins/WebNetscapePluginPackage.mm:
- (functionPointerForTVector):
- * Plugins/WebNetscapePluginView.mm:
- (PluginTimer::PluginTimer):
- (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
- (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
-
-2010-04-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- Next step towards fixing
-
- https://bugs.webkit.org/show_bug.cgi?id=20784
- move npapi.h to C99 integer types
-
- Use the C99 types everywhere. The "old" types are still around but will be removed
- in a subsequent commit.
-
- * Plugins/WebBaseNetscapePluginStream.h:
- * Plugins/WebBaseNetscapePluginStream.mm:
- (WebNetscapePluginStream::deliverData):
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
- (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
- * Plugins/npapi.mm:
- (NPN_MemAlloc):
- (NPN_MemFlush):
- (NPN_PostURLNotify):
- (NPN_PostURL):
- (NPN_Write):
- (NPN_ScheduleTimer):
- (NPN_UnscheduleTimer):
- (NPN_GetValueForURL):
- (NPN_SetValueForURL):
- (NPN_GetAuthenticationInfo):
- (WKN_CheckIfAllowedToLoadURL):
- (WKN_CancelCheckIfAllowedToLoadURL):
-
-2010-04-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- First part of
- https://bugs.webkit.org/show_bug.cgi?id=20784
- move npapi.h to C99 integer types.
-
- * MigrateHeaders.make:
-
-2010-04-28 Mike Thole <mthole@apple.com>
-
- Reviewed by David Kilzer.
-
- Add canAuthenticateAgainstProtectionSpace() to frame loader so that a protection space
- can be inspected before attempting to authenticate against it
- https://bugs.webkit.org/show_bug.cgi?id=38271
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
- Added. If the resource load delegate implements the callback, use its answer. If it does
- not, then only send authentication challenges for pre-10.6 protection spaces, which matches
- CFNetwork's default behavior.
- * WebView/WebDelegateImplementationCaching.h:
- * WebView/WebDelegateImplementationCaching.mm:
- (CallResourceLoadDelegateReturningBoolean): Added case for passing three objects.
- * WebView/WebResourceLoadDelegatePrivate.h:
- Added private SPI definition: webView:resource:canAuthenticateAgainstProtectionSpace:forDataSource:
- * WebView/WebView.mm:
- (-[WebView _cacheResourceLoadDelegateImplementations]):
-
-2010-04-28 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7918719> ASSERT(isMainThread()) from Font::setShouldUseSmoothing()
-
- Ensure that the WebView +initialize method initializes threading, so that things are correctly
- initialized when the first call into the WebKit framework is via a WebView class method.
-
- * WebView/WebView.mm:
- (+[WebView initialize]):
-
-2010-04-28 Darin Adler <darin@apple.com>
-
- Reviewed by Adele Peterson.
-
- REGRESSION: Autoscroll does not work in Mail messages
- https://bugs.webkit.org/show_bug.cgi?id=38267
- rdar://problem/7559799
-
- The machinery to make autoscrolling work on Mac OS X when a WebView is embedded in another
- view had gotten broken in multiple ways. For some reason, a combination of bugs made it
- partly work until around r48064. This brings it back.
-
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::scrollRectIntoView): When converting coordinates, use the document view
- rather than the WebView itself. This logic may not be correct for the case where
- usesDocumentViews is NO, but that is currently an experimental mode and can be fixed later.
-
-2010-04-27 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler and Eric Seidel.
-
- Add layoutTestController.setPrinting()
- https://bugs.webkit.org/show_bug.cgi?id=37203
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (-[WebFrame renderTreeAsExternalRepresentationForPrinting:]):
-
-2010-04-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
- Disentangle initializing the main thread from initializing threading
-
- Calls initializeMainThreadToProcessMainThread since there is no way to ensure
- that the initialize method will be called on the main thread.
-
- * Carbon/CarbonWindowAdapter.mm:
- (+[CarbonWindowAdapter initialize]): Add call to initializeMainThreadToProcessMainThread.
- * History/WebBackForwardList.mm:
- (+[WebBackForwardList initialize]): Ditto.
- * History/WebHistoryItem.mm:
- (+[WebHistoryItem initialize]): Ditto.
- * Misc/WebElementDictionary.mm:
- (+[WebElementDictionary initialize]): Ditto.
- * Misc/WebIconDatabase.mm:
- (+[WebIconDatabase initialize]): Ditto.
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (+[WebHostedNetscapePluginView initialize]): Ditto.
- * Plugins/WebBaseNetscapePluginView.mm:
- (+[WebBaseNetscapePluginView initialize]): Ditto.
- * Plugins/WebBasePluginPackage.mm:
- (+[WebBasePluginPackage initialize]): Ditto.
- * Plugins/WebNetscapePluginView.mm:
- (+[WebNetscapePluginView initialize]): Ditto.
- * WebCoreSupport/WebEditorClient.mm:
- (+[WebEditCommand initialize]): Ditto.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (+[WebFramePolicyListener initialize]): Ditto.
- * WebView/WebArchive.mm:
- (+[WebArchivePrivate initialize]): Ditto.
- * WebView/WebDataSource.mm:
- (+[WebDataSourcePrivate initialize]): Ditto.
- * WebView/WebHTMLView.mm:
- (+[WebHTMLViewPrivate initialize]): Ditto.
- (+[WebHTMLView initialize]): Ditto.
- * WebView/WebResource.mm:
- (+[WebResourcePrivate initialize]): Ditto.
- * WebView/WebTextIterator.mm:
- (+[WebTextIteratorPrivate initialize]): Ditto.
- * WebView/WebView.mm:
- * WebView/WebViewData.mm: Ditto.
- (+[WebViewPrivate initialize]): Ditto.
-
-2010-04-24 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7903728> REGRESSION (r51617): WebView fails to load plug-in MIME types
- https://bugs.webkit.org/show_bug.cgi?id=38085
-
- WebView was calling -_webView in a few places where it should have just used itself. It never
- makes sense for WebView to call -_webView on itself, and these calls look like they were copied
- from similar code in WebHTMLView, WebFrameView and WebDataSource, where -_webView has a different,
- useful meaning.
-
- * WebView/WebView.mm:
- (-[WebView drawSingleRect:]): Replaced [self _webView] with self.
- (-[WebView _viewClass:andRepresentationClass:forMIMEType:]): Replaced [[self _webView] preferences]
- with _private->preferences.
- (-[WebView _canShowMIMEType:]): Ditto.
-
-2010-04-23 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/7894489> When printing Flash, send a drawRect event, rather than NPPrint
-
- When printing Flash plug-ins in 32-bit, send a drawRect event with a CGContextRef, rather than calling
- NPPrint with a GWorldPtr, since Flash prefers the CGContext path.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView drawRect:]):
-
-2010-04-22 David Kilzer <ddkilzer@apple.com>
-
- <http://webkit.org/b/38029> +[WebTextIteratorPrivate initialize] is missing call to JSC::initializeThreading()
-
- Reviewed by Timothy Hatcher.
-
- Every other Objective-C class that calls
- WebCoreObjCFinalizeOnMainThread(self) in +initialize also calls
- JSC::initializeThreading(). The WebTextIteratorPrivate class
- was the only one missing this call.
-
- * WebView/WebTextIterator.mm:
- (+[WebTextIteratorPrivate initialize]): Added call to
- JSC::initializeThreading().
-
-2010-04-22 Alexey Proskuryakov <ap@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- <rdar://problem/7805969> REGRESSION: iTunes unable to play trailers
-
- Undo the changes made for https://bugs.webkit.org/show_bug.cgi?id=35215 (<rdar://problem/7673157>)
- for now. Clients rely on the old behavior, so a fix that changes it will need to account for
- those.
-
- * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::createPlugin): Pass pluginURL
- instead of baseURL again.
-
-2010-04-22 Dave Moore <davemoore@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Added notification when the favicons for a page are changed
- from a script.
- The Document object will notify the frame loader, which will
- notify the client. Implementations of FrameLoaderClient will
- have to add one method; dispatchDidChangeIcons().
-
- https://bugs.webkit.org/show_bug.cgi?id=33812
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::dispatchDidChangeIcons):
-
-2010-04-22 Adam Barth <abarth@webkit.org>
-
- Unreviewed, rolling out r58069.
- http://trac.webkit.org/changeset/58069
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- Broke compile on Windows.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-04-22 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add support for controlling clipboard access from javascript.
- Clipboard access from javascript is disabled by default.
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences javaScriptCanAccessClipboard]):
- (-[WebPreferences setJavaScriptCanAccessClipboard:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-04-21 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Shinichiro Hamaji.
-
- https://bugs.webkit.org/show_bug.cgi?id=37964
- Fix a typo in comments - Korean encoding name is windows-949, not windows-939
-
- * WebView/WebPreferences.mm: (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]):
-
-2010-04-21 Mark Rowe <mrowe@apple.com>
-
- Tiger build fix.
-
- * Plugins/WebPluginController.mm: Add an #import that is necessary on Tiger.
-
-2010-04-21 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Eric Carlson.
-
- <rdar://problem/7313430> Many crashes in Safari inside Flip4Mac below -[NSAlert didEndAlert:returnCode:contextInfo:]
-
- Existing versions of the Flip4Mac WebKit plug-in have an object lifetime bug related to an NSAlert that is
- used to notify the user about updates to the plug-in. This bug can result in Safari crashing if the page
- containing the plug-in navigates while the alert is displayed (<rdar://problem/7313430>).
-
- The gist of the bug is thus: Flip4Mac sets an instance of the TSUpdateCheck class as the modal delegate of the
- NSAlert instance. This TSUpdateCheck instance itself has a delegate. The delegate is set to the WmvPlugin
- instance which is the NSView subclass that is exposed to WebKit as the plug-in view. Since this relationship
- is that of delegates the TSUpdateCheck does not retain the WmvPlugin. This leads to a bug if the WmvPlugin
- instance is destroyed before the TSUpdateCheck instance as the TSUpdateCheck instance will be left with a
- pointer to a stale object. This will happen if a page containing the Flip4Mac plug-in triggers a navigation
- while the update sheet is visible as the WmvPlugin instance is removed from the view hierarchy and there are
- no other references to keep the object alive.
-
- We work around this bug by patching the following two messages:
-
- 1) -[NSAlert beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:]
- 2) -[TSUpdateCheck alertDidEnd:returnCode:contextInfo:]
-
- Our override of 1) detects whether it is Flip4Mac's update sheet triggering the alert by checking whether the
- modal delegate is an instance of TSUpdateCheck. If it is, it retains the modal delegate's delegate.
-
- Our override of 2) then autoreleases the delegate, balancing the retain we added in 1).
-
- These two overrides have the effect of ensuring that the WmvPlugin instance will always outlive the TSUpdateCheck
- instance, preventing the TSUpdateCheck instance from accessing a stale delegate pointer and crashing the application.
-
- * Plugins/WebPluginController.mm:
- (-[WebPluginController addPlugin:]): Check whether the plug-in being instantiated is the Flip4Mac plug-in and
- install our workaround if it is.
- (isKindOfClass): Helper function that checks whether the given object is an instance of the named class.
- (WebKit_TSUpdateCheck_alertDidEnd_returnCode_contextInfo_): Autorelease the delegate.
- (WebKit_NSAlert_beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_): Retain the modal delegate's
- delegate if this NSAlert belongs to the Flip4Mac plug-in.
- (installFlip4MacPlugInWorkaroundIfNecessary): Swizzle the necessary methods. We swizzle the TSUpdateCheck methods
- first since it is possible that in some versions of Flip4Mac the TSUpdateCheck class may not exist or may not have
- the method we're interested in. In that case we want to bail out before patching any methods.
-
-2010-04-20 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- <rdar://problem/7856151> REGRESSION: NPP_Destroy is not called when page navigates when plug-in is displaying modal dialog
-
- An interaction between the plug-in host and WebKit was resulting in WKPCSetModal being called while
- NetscapePluginInstanceProxy was waiting on a reply to the GetScriptableNPObject message. This resulted
- in calls to stop the plug-in being deferred due to the presence of plug-in code up the stack. This
- could lead to crashes as it was possible for the plug-in view to be deallocated during the modal runloop.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCInvalidateRect):
- (WKPCSetModal): Defer the handling of setModal until the next runloop iteration if the host proxy
- is already processing requests. This ensures that there will be no plug-in code on the stack when
- the modal runloop is entered, which allows the plug-in to be stopped when the page is navigated while
- a modal dialog is displayed.
-
-2010-04-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Factor DocumentWriter out of FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=37175
-
- Update these callsites because the method moved to DocumentWriter.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _canProvideDocumentSource]):
- (-[WebFrame _receivedData:textEncodingName:]):
-
-2010-04-20 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Change a parameter type of chooseIconForFiles()
- https://bugs.webkit.org/show_bug.cgi?id=37504
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::chooseIconForFiles):
-
-2010-04-20 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57892.
- http://trac.webkit.org/changeset/57892
- https://bugs.webkit.org/show_bug.cgi?id=37864
-
- Caused an assertion in Mac builds (Requested by smfr on
- #webkit).
-
- * WebView/WebFrame.mm:
- (-[WebFrame _getVisibleRect:]):
- * WebView/WebFrameView.mm:
- (-[WebFrameView _install]):
-
-2010-04-20 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Clean up RenderPart/RenderPartObject/RenderFrame/RenderEmbeddedObject
- https://bugs.webkit.org/show_bug.cgi?id=37741
-
- Make Frame::ownerRenderer() return a RenderFrameBase* rather than a
- RenderPart*, and add the necessary toRenderFrameBase() and isRenderFrameBase().
-
- * WebView/WebFrame.mm:
- (-[WebFrame _getVisibleRect:]):
- * WebView/WebFrameView.mm:
- (-[WebFrameView _install]):
-
-2010-04-19 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- Finish exposing extremal shrink factors WebHTMLView uses when shrinking pages to fit in the
- printing width as SPI.
-
- * WebKit.exp: Export _WebHTMLViewPrintingMinimumShrinkFactor and _WebHTMLViewPrintingMaximumShrinkFactor.
-
-2010-04-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig & Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=37675
- Remove casts/constructors to/from JSC::UString type from WebCore::String
-
- WebCore's strings should not know about JSC::UString, this should be abstracted
- away in the bindings. Add explicit conversion methods rather than relying on
- overloaded cast operators / constructors being implicitly called.
-
- This patch only changes the class String, once this has landed StringImpl, and
- hopefully AtomicString too, should follow suit.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (identifierFromIdentifierRep):
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::getPropertyNames):
- * WebView/WebFrame.mm:
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
- * WebView/WebScriptDebugDelegate.mm:
- (-[WebScriptCallFrame evaluateWebScript:]):
- * WebView/WebScriptDebugger.mm:
- (toNSURL):
- * WebView/WebView.mm:
- (aeDescFromJSValue):
-
-2010-04-16 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- Expose the extremal shrink factors WebHTMLView uses when shrinking pages to fit in the
- printing width as SPI.
-
- * WebView/WebHTMLView.mm:
- Replaced two macros with constants.
- (-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Changed to use the constants.
- (-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto.
- * WebView/WebHTMLViewPrivate.h: Declared _WebHTMLViewPrintingMinimumShrinkFactor and
- _WebHTMLViewPrintingMaximumShrinkFactor.
-
-2010-04-15 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7870651> WebDynamicScrollBarsView.h generates compile errors when included in plain Objective-C files.
-
- * WebView/WebDynamicScrollBarsView.h:
-
-2010-04-15 Adam Roben <aroben@apple.com>
-
- Export WebUserContentURLPattern from WebKit
-
- Rubber-stamped by Mark Rowe.
-
- * WebKit.exp:
-
-2010-04-15 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- Made consecutive calls to -[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:] work
- without intermediate calls -[WebHTMLView _endPrintMode].
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]):
-
-2010-04-15 Adam Roben <aroben@apple.com>
-
- Expose UserContentURLPattern as WebKit SPI
-
- Fixes <http://webkit.org/b/37354>.
-
- Reviewed by Tim Hatcher.
-
- * Misc/WebUserContentURLPattern.h: Added.
-
- * Misc/WebUserContentURLPattern.mm: Added.
- (-[WebUserContentURLPattern initWithPatternString:]): Initialize
- _private and then parse the passed-in string into a
- UserContentURLPattern.
- (-[WebUserContentURLPattern dealloc]): Release _private.
-
- (-[WebUserContentURLPattern isValid]):
- (-[WebUserContentURLPattern scheme]):
- (-[WebUserContentURLPattern host]):
- (-[WebUserContentURLPattern matchesSubdomains]):
- Call through to UserContentURLPattern.
-
-2010-04-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Separated a DOMWrapperWorld's behavior of keeping wrappers alive from
- its own lifetime, so a DOMWrapperWorld's controller can throw away
- its wrappers even before its refcount reaches 0.
-
- * WebView/WebScriptWorld.h:
- * WebView/WebScriptWorld.mm:
- (-[WebScriptWorld unregisterWorld]): Exported this function through WebKit.
-
-2010-04-12 Timothy Hatcher <timothy@apple.com>
-
- SecurityOrigin needs a way to remove individual OriginAccessEntries
- https://bugs.webkit.org/show_bug.cgi?id=37449
-
- Reviewed by Dave Hyatt.
-
- * WebView/WebView.mm:
- (+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
- Call SecurityOrigin::removeOriginAccessWhitelistEntry.
- * WebView/WebViewPrivate.h: Added _removeOriginAccessWhitelistEntryWithSourceOrigin.
-
-2010-04-13 Timothy Hatcher <timothy@apple.com>
-
- Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
- And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
-
- SecurityOrigin needs a way to remove individual OriginAccessEntries
- https://bugs.webkit.org/show_bug.cgi?id=37449
-
- Reviewed by Dave Hyatt.
-
- * WebView/WebView.mm:
- (+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
- (+[WebView _resetOriginAccessWhitelists]):
- * WebView/WebViewPrivate.h:
-
-2010-04-11 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57468.
- http://trac.webkit.org/changeset/57468
- https://bugs.webkit.org/show_bug.cgi?id=37433
-
- Broke the world... Must have applied the patch wrong
- (Requested by abarth on #webkit).
-
- * WebView/WebFrame.mm:
- (-[WebFrame _canProvideDocumentSource]):
- (-[WebFrame _receivedData:textEncodingName:]):
-
-2010-04-11 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Factor DocumentWriter out of FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=37175
-
- Update these callsites because the method moved to DocumentWriter.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _canProvideDocumentSource]):
- (-[WebFrame _receivedData:textEncodingName:]):
-
-2010-04-10 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/7845305> Further adoption of formal protocols for delegates.
-
- Move EmptyProtocolDefinitions.h down in to WebCore, and add the new protocols. Adopt the protocols in the appropriate places.
-
- * Misc/EmptyProtocolDefinitions.h: Removed.
- * Misc/WebDownload.mm:
- * WebKitPrefix.h:
-
-2010-04-09 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Darin Adler.
-
- Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead.
- https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993>
-
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController windowDidLoad]):
- (-[WebVideoFullscreenController setMediaElement:WebCore::]):
-
-2010-04-09 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=24572
- XMLHttpRequest.statusText returns always "OK" on Mac
-
- * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
-
-2010-04-09 Eric Seidel <eric@webkit.org>
-
- Unreviewed, rolling out r57343.
- http://trac.webkit.org/changeset/57343
- https://bugs.webkit.org/show_bug.cgi?id=37311
-
- Broke Tiger compile.
-
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController windowDidLoad]):
- (-[WebVideoFullscreenController setMediaElement:WebCore::]):
-
-2010-04-09 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7846015> REGRESSION (r57332) - Crash in [WebDynamicScrollBarsView(WebInternal) reflectScrolledClipView:] when opening the Downloads window
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView initWithCoder:]): Added. Calls super and then initializes _private.
-
-2010-04-09 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Darin Adler.
-
- Work around QTMovieView bug (<rdar://problem/7712713>) by using a QTMovieLayer instead.
- https://bugs.webkit.org/show_bug.cgi?id=37311 / <rdar://problem/7749993>
-
- * WebView/WebVideoFullscreenController.mm:
- (-[WebVideoFullscreenController windowDidLoad]):
- (-[WebVideoFullscreenController setMediaElement:WebCore::]):
-
-2010-04-08 Mark Rowe <mrowe@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/7814899> REGRESSION(r56008): iTunes crashes on quit inside -[NSScrollView dealloc]
-
- In r56008 new instance variables were added to WebDynamicScrollBarsView, increasing its size.
- This causes problems for 32-bit applications that derive from WebDynamicScrollBarsView, as the
- size and layout of their subclasses is baked in at compile time. This results in instances
- being allocated that are smaller than the new code expects, and may result in the new instance
- variables sharing the same memory space as any instance variables that the subclass defines.
-
- We can avoid this problem by having the class contain only a single member that acts as a pointer
- to a heap-allocated structure that acts as storage for the real instance variables. This makes
- us free to add instance variables in the future without risk of changing the size of the class.
- To ensure that 32-bit applications that are built against this new WebDynamicScrollBarsView header
- are able to run against older versions of WebKit we pad the class out to its previous size. This
- results in any subclasses of WebDynamicScrollBarsView being created with a layout that is compatible
- with both versions of the code.
-
- This change could potentially break a subclass of WebDynamicScrollBarsView that directly accesses
- instance variables of its superclass. However, this is a private header and no known subclasses
- of WebDynamicScrollBarsView access superclass instance variables in this fashion.
-
- * WebView/WebDynamicScrollBarsView.h:
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView initWithFrame:]):
- (-[WebDynamicScrollBarsView dealloc]):
- (-[WebDynamicScrollBarsView finalize]):
- (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
- (-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]):
- (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
- (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
- (-[WebDynamicScrollBarsView horizontalScrollingAllowed]):
- (-[WebDynamicScrollBarsView verticalScrollingAllowed]):
- (-[WebDynamicScrollBarsView contentViewFrame]):
- (-[WebDynamicScrollBarsView tile]):
- (-[WebDynamicScrollBarsView setSuppressLayout:]):
- (-[WebDynamicScrollBarsView setScrollBarsSuppressed:repaintOnUnsuppress:]):
- (-[WebDynamicScrollBarsView updateScrollers]):
- (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
- (-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
- (-[WebDynamicScrollBarsView allowsVerticalScrolling]):
- (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]):
- (-[WebDynamicScrollBarsView horizontalScrollingMode]):
- (-[WebDynamicScrollBarsView verticalScrollingMode]):
- (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
- (-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]):
- (-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]):
- (-[WebDynamicScrollBarsView setScrollingModesLocked:]):
- (-[WebDynamicScrollBarsView horizontalScrollingModeLocked]):
- (-[WebDynamicScrollBarsView verticalScrollingModeLocked]):
- (-[WebDynamicScrollBarsView scrollWheel:]):
-
-2010-04-07 David Hyatt <hyatt@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=24300, don't expose history info via CSS
-
- Add SPI so that layout tests can access computed style including :visited information.
-
- * WebView/WebRenderNode.mm:
- (copyRenderNode):
- * WebView/WebView.mm:
- (-[WebView _computedStyleIncludingVisitedInfo:forElement:]):
- * WebView/WebViewInternal.h:
- * WebView/WebViewPrivate.h:
-
-2010-04-07 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adele Peterson.
-
- Refactor WebHTMLView printing code and add private methods to enter and exit printing mode.
- https://bugs.webkit.org/show_bug.cgi?id=37246
-
- * Misc/WebNSPrintOperationExtras.h: Declared -_web_availablePaperWidth and -_web_availablePaperHeight.
- * Misc/WebNSPrintOperationExtras.m:
- (-[NSPrintOperation _web_availablePaperWidth]): Turned -[WebHTMLView _availablePaperWidthForPrintOperation:]
- into this method.
- (-[NSPrintOperation _web_availablePaperHeight]): Turned -[WebHTMLView _calculatePrintHeight] into this
- method.
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _isInPrintMode]): Added this accessor.
- (-[WebHTMLView _beginPrintModeWithPageWidth:shrinkToFit:]): Added. Moved the code from -knowsPageRange: that
- computes the layout widths and enters printing mode into this private method.
- (-[WebHTMLView _endPrintMode]): New private method (the old -_endPrintMode has been renamed).
- (-[WebHTMLView _scaleFactorForPrintOperation:]): Use -[NSPrintOperation _web_availablePaperWidth].
- (-[WebHTMLView _endPrintModeAndRestoreWindowAutodisplay]): Renamed -_endPrintMode to this, changed it to call
- _endPrintMode.
- (-[WebHTMLView _delayedEndPrintMode:]): Updated for rename.
- (-[WebHTMLView knowsPageRange:]): Use -_beginPrintModeWithPageWidth:shrintToFit:,
- -[NSPrintOperation _web_availablePaperWidth], and -[NSPrintOperation _web_availablePaperHeight]. Updated for
- rename.
- (-[WebHTMLView beginDocument]): Updated for rename.
- (-[WebHTMLView endDocument]): Ditto.
- * WebView/WebHTMLViewPrivate.h: Declared new private methods -_isInPrintMode,
- -_beginPrintModeWithPageWidth:shrinkToFit: and -_endPrintMode.
-
-2010-04-07 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
- https://bugs.webkit.org/show_bug.cgi?id=36949
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
-
-2010-04-06 Dan Bernstein <mitz@apple.com>
-
- Tiger build fix after r57184.
-
- * WebView/WebHTMLViewPrivate.h:
-
-2010-04-06 Dan Bernstein <mitz@apple.com>
-
- Tiger build fix after r57184.
-
- * WebView/WebHTMLViewPrivate.h:
-
-2010-04-06 Adam Barth <abarth@webkit.org>
-
- Unreviewed.
-
- Speculative build fix for Tiger.
-
- * WebView/WebHTMLViewPrivate.h:
-
-2010-04-06 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig and Anders Carlsson.
-
- Expose WebHTMLView’s page breaking logic as SPI.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]): Factored out of -adjustPageHeightNew:top:bottom:limit:
- (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Call -_adjustedBottomOfPageWithTop:bottom:limit:
- * WebView/WebHTMLViewPrivate.h: Declared -_adjustedBottomOfPageWithTop:bottom:limit:
-
-2010-04-06 Mark Rowe <mrowe@apple.com>
-
- Add an #if in order to make Tiger happy.
-
- * WebView/WebViewData.mm:
- (-[WebViewPrivate init]):
-
-2010-04-06 Mark Rowe <mrowe@apple.com>
-
- Build fix.
-
- * WebView/WebViewData.mm:
- (-[WebViewPrivate init]): Use objc_collectingEnabled like we do elsewhere in WebKit.
-
-2010-04-05 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Adele Peterson.
-
- Test case for <http://webkit.org/b/37115> / <rdar://problem/7829331>.
- REGRESSION(r56989): Crash in Mail in WebCore::Position::isCandidate when deleting block using block deletion UI
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _updateFontPanel]): Ask the window whether it is the key window rather than doing the comparison
- manually. This allows DumpRenderTree's override of isKeyWindow to force this code path to be taken during tests.
-
-2010-04-05 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=37111
- <rdar://problem/7790327> Draw replacement text when plug-in host crashes
-
- * Plugins/Hosted/WebHostedNetscapePluginView.h: Removed _pluginDied - it was only used
- for drawing replacement icon, and this information is now in WebCore.
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView pluginHostDied]): Tell RenderEmbeddedObject that the plug-in
- has crashed.
- (-[WebHostedNetscapePluginView drawRect:]): Removed the case for crashed plug-in host. It is
- handled by WebCore now.
-
- * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory crashedPluginText]): Added a string
- for plug-in failure.
-
-2010-04-03 yael aharon <yael.aharon@nokia.com>
-
- Reviewed by Darin Adler.
-
- Enable HTMLProgressElement for Safari on OSX
- https://bugs.webkit.org/show_bug.cgi?id=36961
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-04-02 Jer Noble <jer.noble@apple.com>
-
- Reviewed by Eric Carlson.
-
- https://bugs.webkit.org/show_bug.cgi?id=36624
- Add an INIT macro for the WebKitSystemInterface function wkQTMovieSelectPreferredAlternates.
-
- * WebCoreSupport/WebSystemInterface.m:
- (InitWebCoreSystemInterface):
-
-2010-04-02 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=37043
- Java regression tests spam stderr about being unable to set status message
-
- With this change, there is still spam about "Attempt to access JavaScript from destroyed
- applet, type 9." I haven't investigated if that indicates a problem or not.
-
- * Plugins/WebPluginController.mm: (-[WebPluginController webPlugInContainerShowStatus:]):
- Removed check for _documentView. We don't seem to care.
-
-2010-04-01 Kinuko Yasuda <kinuko@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Add FileThread for async file operation support in FileReader and FileWriter
- https://bugs.webkit.org/show_bug.cgi?id=36896
-
- Add FILE_READER or FILE_WRITER feature defines.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-04-01 Ada Chan <adachan@apple.com>
-
- Reviewed by Darin Adler.
-
- Change WebDatabaseManager::deleteOrigin() to return true if there are no errors in deleting the origin.
- Ditto for WebDatabaseManager::deleteDatabase().
-
- https://bugs.webkit.org/show_bug.cgi?id=36988
-
- * Storage/WebDatabaseManager.mm:
- (-[WebDatabaseManager deleteOrigin:]):
- (-[WebDatabaseManager deleteDatabase:withOrigin:]):
- * Storage/WebDatabaseManagerPrivate.h:
-
-2010-04-01 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=36976
- <rdar://problem/7817498>
- REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): The HashTable assertions aren't
- there to catch potential future attempts to store empty/deleted values before these happen -
- it's actually wrong to try to look up these values. Added an early return.
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Ditto.
-
-2010-04-01 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Added layerTreeAsText function to DRT (for Mac)
- https://bugs.webkit.org/show_bug.cgi?id=36782
-
- This is the WebKit side for Mac. It plumbs the
- call from WebCore to DRT.
-
- * WebView/WebFrame.mm:WebKit (Mac) side of plumbing
- (-[WebFrame _layerTreeAsText]):
- * WebView/WebFramePrivate.h:
-
-2010-04-01 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=36976
- <rdar://problem/7817498>
- REGRESSION(r54783): Silverlight plug-in causes Safari to crash if JavaScript is disabled
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get): Use find() instead of get(),
- because the latter fails with an assertion when looking up 0 or -1.
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Be prepared for unexpected
- object IDs coming from plug-in host.
-
-2010-03-31 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler.
-
- Bug 36845 - AX: need a way to set the label of a AXWebArea through WebKit
- https://bugs.webkit.org/show_bug.cgi?id=36845
-
- Provide a way through WebKit to set an accessible label that describes the web area.
-
- * WebView/WebFrame.mm:
- (-[WebFrame setAccessibleName:]):
- * WebView/WebFramePrivate.h:
-
-2010-03-31 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Adds Geolocation param for cancelGeolocationPermissionRequestForFrame.
- https://bugs.webkit.org/show_bug.cgi?id=35031
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::cancelGeolocationPermissionRequestForFrame):
-
-2010-03-30 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=36866
- Move CString to WTF
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::getCookies):
- (WebKit::NetscapePluginInstanceProxy::getProxy):
- (WebKit::NetscapePluginInstanceProxy::getAuthenticationInfo):
- (WebKit::NetscapePluginInstanceProxy::resolveURL):
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView resolveURL:forTarget:]):
-
-2010-03-30 John Sullivan <sullivan@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=36848
- <rdar://problem/7362913>
- Menu items appropriate only for rich-content editing can appear in plain-text contexts
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView validRequestorForSendType:returnType:]):
- Don't return self for non-string content if _canEditRichly is false.
-
-2010-03-29 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=36791
- Add assertions for instance proxy validity
-
- Add some assertions that the instance proxy hasn't been deleted. We sometimes keep a raw
- pointer to one across complicated function calls, relying on the caller to protect the
- reference.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::renderContextID):
- (WebKit::NetscapePluginInstanceProxy::pluginView):
- (WebKit::NetscapePluginInstanceProxy::hostProxy):
-
-2010-03-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by David Kilzer.
-
- Explicit guards for ENABLE_GEOLOCATION
- https://bugs.webkit.org/show_bug.cgi?id=25756
-
- * WebCoreSupport/WebGeolocationMock.mm:
- (-[WebGeolocationMock setError:code:]): Make the body conditional on
- ENABLE(GEOLOCATION)
- (-[WebGeolocationMock setPosition:]): Ditto.
-
-2010-03-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Antti Koivisto.
-
- Change method name due to it dealing with both flattening
- of frame sets and inner frames.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences isFrameFlatteningEnabled]):
- (-[WebPreferences setFrameFlatteningEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-03-27 Darin Adler <darin@apple.com>
-
- * Misc/WebNSFileManagerExtras.m:
- (-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]):
- Removed stray "!". How did that get in there?
-
-2010-03-27 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- WebKit NSFileManager methods don't handle broken symlinks correctly.
- Part of <rdar://problem/7574046>.
-
- * Misc/WebNSFileManagerExtras.h: Removed unused defines and methods.
- * Misc/WebNSFileManagerExtras.m: Removed unused methods.
- (fileExists): Added. For use instead of fileExistsAtPath: for cases where we'd like
- to treat a broken symlink as a file that does indeed exist.
- (-[NSFileManager _webkit_pathWithUniqueFilenameForPath:]): Use fileExists.
-
-2010-03-25 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Mark Rowe.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): Re-fetch host proxy in
- a way that works in a function that doesn't have a pluginID argument for some reason.
-
-2010-03-25 Simon Fraser <simon.fraser@apple.com>
-
- Build fix: no review.
-
- Another c_str() -> data().
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::enumerate):
-
-2010-03-25 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Mark Rowe.
-
- Correctness fix after r56493.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm: (WKPCRunSyncOpenPanel): We still need to update
- our hostProxy reference, even though we didn't use to have instanceProxy. Nothing guarantees
- that the host proxy won't go away while the open panel is up.
-
-2010-03-24 Mark Rowe <mrowe@apple.com>
-
- Build fix after r56474.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCRunSyncOpenPanel):
-
-2010-03-24 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=36563
- A plug-in makes Safari crash on http://www.itscodingtime.com/
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- (WebKit::NetscapePluginHostProxy::port): Assert that the object is still alive. This isn't
- beautifully systemic, but helped catch a bug, and may help catch more.
- (WebKit::NetscapePluginHostProxy::clientPort): Ditto.
- (WebKit::NetscapePluginHostProxy::isProcessingRequests): Changed m_processingRequests to a
- static. This doesn't change behavior much, but helps avoid writing into deallocated memory.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): Changed m_processingRequests
- to a static.
- (WebKit::NetscapePluginHostProxy::processRequests): Ditto. Changing m_processingRequests
- after destroying the object in pluginHostDied() was wrong, but reasonably harmless, as there
- wasn't much time for some other object to be allocated at this address.
- (WKPCEvaluate): Refetch host proxy, as it may have been destroyed.
- (WKPCInvoke): Ditto.
- (WKPCInvokeDefault): Ditto.
- (WKPCGetProperty): Ditto.
- (WKPCSetProperty): Ditto.
- (WKPCRemoveProperty): Ditto.
- (WKPCHasProperty): Ditto.
- (WKPCHasMethod): Ditto.
- (WKPCEnumerate): Ditto.
- (WKPCRunSyncOpenPanel): Ditto.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply): Bail out of the
- "event loop" if host proxy went away while processing a request.
-
-2010-03-24 Hayato Ito <hayato@chromium.org>
-
- Reviewed by Shinichiro Hamaji.
-
- Refactor computePageRects so that Mac can make use of it.
- https://bugs.webkit.org/show_bug.cgi?id=36159
-
- Refactoring only, so no new tests.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
-
-2010-03-24 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Make Icon::createIconForFiles() optional.
- https://bugs.webkit.org/show_bug.cgi?id=35072
-
- - Rename iconForFiles() to chooseIconForFiles().
- - Call Icon::createIconForFiles() from chooseIconForFiles().
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::chooseIconForFiles):
-
-2010-03-23 Dan Bernstein <mitz@apple.com>
-
- Reverted accidental change from r56429.
-
- * WebCoreSupport/WebContextMenuClient.mm:
- (WebContextMenuClient::getCustomMenuFromDefaultItems):
-
-2010-03-23 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- WebKit part of
- <rdar://problem/7197736> Plug-in clip rect does not update when overflow
- clip changes
- https://bugs.webkit.org/show_bug.cgi?id=36479.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView visibleRectDidChange]): Added. Calls
- WKSyncSurfaceToView().
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView _windowClipRect]): Changed to use Widget::windowClipRect().
- (-[WebBaseNetscapePluginView visibleRectDidChange]): Added. Invokes -renewGState.
-
-2010-03-22 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=36328
-
- This patch entirely WebNullPluginView.
-
- * Plugins/WebNetscapePluginView.mm:
- * Plugins/WebNullPluginView.h: Removed.
- * Plugins/WebNullPluginView.mm: Removed.
- * Resources/nullplugin.tiff: Removed.
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin): Invoke the resource load delegate if the plug-in failed to load.
-
-2010-03-22 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by John Sullivan.
-
- https://bugs.webkit.org/show_bug.cgi?id=36455
- Make WebKit more resistant against plug-in crashes
-
- No tests, because crashing on build bots isn't good, even if it's only helper processes
- that crash.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::waitForReply): Protect "this", because this function
- needs it after waiting for reply. Some callers used to do this, but not all, and we really
- shouldn't depend on callers here.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::wheelEvent): Don't protect the plug-in instance proxy,
- because this function doesn't use it after waiting for reply.
- (WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Ditto.
-
- * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invoke): Added an m_instanceProxy
- null check for another code path.
-
-2010-03-22 Kevin Decker <kdecker@apple.com>
-
- Reviewed by John Sullivan.
-
- https://bugs.webkit.org/show_bug.cgi?id=36328
-
- * WebCoreSupport/WebViewFactory.mm:
- (-[WebViewFactory missingPluginText]): Added.
-
-2010-03-18 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=36337
- Log an error when an OOP plug-in sends an unknown object id
-
- Making these LOG_ERROR and not ASSERTs, because I don't want early returns to look
- temporary or redundant.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::evaluate):
- (WebKit::NetscapePluginInstanceProxy::invoke):
- (WebKit::NetscapePluginInstanceProxy::invokeDefault):
- (WebKit::NetscapePluginInstanceProxy::construct):
- (WebKit::NetscapePluginInstanceProxy::getProperty):
- (WebKit::NetscapePluginInstanceProxy::setProperty):
- (WebKit::NetscapePluginInstanceProxy::removeProperty):
- (WebKit::NetscapePluginInstanceProxy::hasProperty):
- (WebKit::NetscapePluginInstanceProxy::hasMethod):
- (WebKit::NetscapePluginInstanceProxy::enumerate):
-
-2010-03-16 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=36184
- YouTube video resizing doesn't work with OOP plug-ins
-
- Test: plugins/resize-from-plugin.html
-
- We were calling _WKPHResizePluginInstance synchronously or asynchronously, depending on
- whether the size has changed. But sync and async messages are not necessarily delivered in
- order - plug-in host listens only to the former while waiting for a response to a message it
- sent (a call to invoke() in this case).
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::resize):
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView updateAndSetWindow]):
-
-2010-03-16 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost.
-
- Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
- https://bugs.webkit.org/show_bug.cgi?id=35036
-
- * WebCoreSupport/WebInspectorClient.h:
- * WebCoreSupport/WebInspectorClient.mm:
- (WebInspectorClient::WebInspectorClient):
- (WebInspectorClient::inspectorDestroyed):
- (WebInspectorClient::openInspectorFrontend):
- (WebInspectorClient::highlight):
- (WebInspectorClient::hideHighlight):
- (WebInspectorFrontendClient::WebInspectorFrontendClient):
- (WebInspectorFrontendClient::frontendLoaded):
- (WebInspectorFrontendClient::localizedStringsURL):
- (WebInspectorFrontendClient::hiddenPanels):
- (WebInspectorFrontendClient::bringToFront):
- (WebInspectorFrontendClient::closeWindow):
- (WebInspectorFrontendClient::attachWindow):
- (WebInspectorFrontendClient::detachWindow):
- (WebInspectorFrontendClient::setAttachedWindowHeight):
- (WebInspectorFrontendClient::inspectedURLChanged):
- (WebInspectorFrontendClient::updateWindowTitle):
- (-[WebInspectorWindowController dealloc]):
- (-[WebInspectorWindowController windowShouldClose:]):
- (-[WebInspectorWindowController close]):
- (-[WebInspectorWindowController showWindow:]):
- (-[WebInspectorWindowController attach]):
- (-[WebInspectorWindowController detach]):
- (-[WebInspectorWindowController attached]):
- (-[WebInspectorWindowController setFrontendClient:]):
- (-[WebInspectorWindowController destroyInspectorView]):
- (-[WebNodeHighlighter initWithInspectedWebView:]):
- (-[WebNodeHighlighter dealloc]):
- (-[WebNodeHighlighter highlightNode:]):
- (-[WebNodeHighlighter hideHighlight]):
- (-[WebNodeHighlighter didAttachWebNodeHighlight:]):
- (-[WebNodeHighlighter willDetachWebNodeHighlight:]):
- * WebInspector/WebInspector.mm:
- (-[WebInspector attach:]):
- (-[WebInspector detach:]):
-
-2010-03-15 Andy Estes <aestes@apple.com>
-
- Reviewed by John Sullivan.
-
- Updated call to WKGetWheelEventDeltas() to match new method signature.
-
- https://bugs.webkit.org/show_bug.cgi?id=29601
- <rdar://problem/7453254>
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView scrollWheel:]):
-
-2010-03-15 John Sullivan <sullivan@apple.com>
-
- Reviewed by Adam Roben.
-
- -[WebFrame setAlwaysHideHorizontal/VerticalScroller:] prevents keyboard scrolling
- <https://bugs.webkit.org/show_bug.cgi?id=36125>
-
- * WebView/WebDynamicScrollBarsView.h:
- Added instance variables horizontalScrollingAllowedButScrollerHidden and
- verticalScrollingAllowedButScrollerHidden. Renamed instance variables
- hideHorizontal/VerticalScroller to alwaysHideHorizontal/VerticalScroller for clarity.
- Declared methods -horizontalScrollingAllowed and -verticalScrollingAllowed.
- Added comments.
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
- Updated for instance variable renaming.
- (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
- Ditto.
- (-[WebDynamicScrollBarsView horizontalScrollingAllowed]):
- New method, returns YES if the scroller is showing or the only reason that the scroller
- is not showing is that setAlwaysHideHorizontalScrolling has been called.
- (-[WebDynamicScrollBarsView verticalScrollingAllowed]):
- New method, returns YES if the scroller is showing or the only reason that the scroller
- is not showing is that setAlwaysHideVerticalScrolling has been called.
- (-[WebDynamicScrollBarsView updateScrollers]):
- Updated for instance variable renamings. Now updates horizontalScrollingAllowedButScrollerHidden
- and verticalScrollingAllowedButScrollerHidden. Now takes the always-hidden state into account
- in the early-return code path, to avoid taking it into account twice in the regular code path.
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _scrollToBeginningOfDocument]):
- Use _isScrollable instead of _hasScrollBars.
- (-[WebFrameView _scrollToEndOfDocument]):
- Ditto.
- (-[WebFrameView scrollToBeginningOfDocument:]):
- Use _largestScrollableChild instead of _largestChildWithScrollBars.
- (-[WebFrameView scrollToEndOfDocument:]):
- Ditto.
- (-[WebFrameView _pageVertically:]):
- Use _isScrollable and _largestScrollableChild instead of _hasScrollBars
- and _largestChildWithScrollBars.
- (-[WebFrameView _pageHorizontally:]):
- Ditto.
- (-[WebFrameView _scrollLineVertically:]):
- Ditto.
- (-[WebFrameView _scrollLineHorizontally:]):
- Ditto.
- (-[WebFrameView keyDown:]):
- Use _largestScrollableChild instead of _largestChildWithScrollBars.
- (-[WebFrameView _isScrollable]):
- New method, calls -[WebDynamicScrollBarsView horizontalScrollingAllowed] and
- -[WebDynamicScrollBarsView verticalScrollingAllowed]
- (-[WebFrameView _largestScrollableChild]):
- New method, like _largestChildWithScrollBars but uses _isScrollable.
- (-[WebFrameView _hasScrollBars]):
- Added a comment that this is no longer used by Safari, and can thus probably be
- deleted once we no longer want to support it for nightly build compatibility with
- old versions of Safari.
- (-[WebFrameView _largestChildWithScrollBars]):
- Ditto.
-
- * WebView/WebFrameViewPrivate.h:
- Declared -_isScrollable and -_largestScrollableChild. Added comments to
- _hasScrollBars and _largestChildWithScrollBars saying that they are no longer
- used by Safari, and can thus probably be deleted once we no longer want to
- support them for nightly build compatibility with old versions of Safari.
-
-2010-03-15 John Sullivan <sullivan@apple.com>
-
- Method name and parameter name mistakes from recent SPI addition
- <https://bugs.webkit.org/show_bug.cgi?id=36119>
-
- Reviewed by Dan Bernstein.
-
- * WebView/WebDynamicScrollBarsView.h:
- Renamed instance variable and method name from "setAllowXXX" to "setAllowsXXX".
-
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView setAllowsScrollersToOverlapContent:]):
- Updated for renamed instance variable and method.
- (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]):
- Changed parameter name from shouldBeVisible to shouldBeHidden.
- (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]):
- Ditto.
- (-[WebDynamicScrollBarsView contentViewFrame]):
- Updated for renamed instance variable.
- (-[WebDynamicScrollBarsView tile]):
- Ditto.
- (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
- Ditto.
-
- * WebView/WebFrame.mm:
- (-[WebFrame setAllowsScrollersToOverlapContent:]):
- Renamed method from setAllowXXX, and updated for same change in WebDynamicScrollBarsView.
-
- * WebView/WebFramePrivate.h:
- Renamed method name from "setAllowXXX" to "setAllowsXXX".
-
-2010-03-14 Darin Adler <darin@apple.com>
-
- Reviewed by Mark Rowe.
-
- Remove unneeded dependency on non-string identifier for an NSTableColumn
- https://bugs.webkit.org/show_bug.cgi?id=36106
-
- * WebView/WebTextCompletionController.mm:
- (-[WebTextCompletionController _buildUI]): Use init instead of initWithIdentifier:
- because the table has only one column and that column does not need an identifier.
-
-2010-03-12 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=34942 Fullscreen
- API naming is inconsistent
- -and corresponding-
- <rdar://problem/7729165>
-
- This patch changes all occurrences of "fullScreen" to the more
- popular "fullscreen."
-
- * Plugins/Hosted/NetscapePluginHostProxy.h:
- (WebKit::NetscapePluginHostProxy::isFullscreenWindowShowing):
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
- (WebKit::NetscapePluginHostProxy::didEnterFullscreen):
- (WebKit::NetscapePluginHostProxy::didExitFullscreen):
- (WebKit::NetscapePluginHostProxy::setFullscreenWindowIsShowing):
- (WKPCSetFullscreenWindowIsShowing):
- * Plugins/Hosted/WebKitPluginClient.defs:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView _workaroundSilverlightFullscreenBug:]):
- (-[WebNetscapePluginView _createPlugin]):
- (-[WebNetscapePluginView _destroyPlugin]):
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController windowDidLoad]):
-
-2010-03-12 Andy Estes <aestes@apple.com>
-
- Reviewed by Brady Eidson.
-
- Expose WebPDFView's underlying PDFDocument.
-
- https://bugs.webkit.org/show_bug.cgi?id=36045
-
- * WebView/WebDocumentPrivate.h: Create a new protocol called
- WebDocumentPDF.
- * WebView/WebPDFView.h: Have WebPDFView implement said protocol.
- * WebView/WebPDFView.mm:
- (-[WebPDFView PDFDocument]): Expose WebPDFView's underlying
- PDFDocument by implementing -(PDFDocument*)PDFDocument from
- WebDocumentPDF.
-
-2010-03-12 Andy Estes <aestes@apple.com>
-
- Reviewed by Brady Eidson.
-
- Remove an unused method.
-
- https://bugs.webkit.org/show_bug.cgi?id=35940
-
- * Plugins/WebPluginController.mm:
- removed - (void)showURL:(NSURL *) inFrame:(NSString *)
-
-2010-03-11 Mark Rowe <mrowe@apple.com>
-
- Reviewed by David Kilzer.
-
- <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
-
- Default to using the appropriate SDK if the target Mac OS X version is not the current Mac OS X version.
-
- * Configurations/Base.xcconfig:
-
-2010-03-11 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/7745082> Make it possible to build WebKit for older Mac OS X versions from the current Mac OS X version
-
- Introduce TARGET_MAC_OS_X_VERSION_MAJOR to represent the Mac OS X version that is being targeted. It defaults to the
- current Mac OS X version unless otherwise specified.
-
- Key off TARGET_MAC_OS_X_VERSION_MAJOR where we'd previously been keying off MAC_OS_X_VERSION_MAJOR.
-
- Explicitly map from the target Mac OS X version to the preferred compiler since Xcode's default compiler choice
- may not be usable when targetting a different Mac OS X version.
-
- Key off TARGET_GCC_VERSION rather than MAC_OS_X_VERSION_MAJOR in locations where we'd previously been keying off
- MAC_OS_X_VERSION_MAJOR but the decision is really related to the compiler version being used.
-
- * Configurations/Base.xcconfig:
- * Configurations/DebugRelease.xcconfig:
- * Configurations/FeatureDefines.xcconfig:
- * Configurations/Version.xcconfig:
-
-2010-03-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by David Hyatt.
-
- Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
-
-2010-03-11 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=35965
- <rdar://problem/7742771> Crash when passing an object returned from plug-in back to the plug-in
-
- Test: plugins/round-trip-npobject.html
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::retainLocalObject): Corrected the check - there is
- now a separate ProxyRuntimeObject class for proxy pbjects.
- (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): Ditto.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::invoke): Check if m_instanceProxy is still non-zero. The plug-in
- could have crashed while we were waiting for response.
- (WebKit::ProxyInstance::setFieldValue): Ditto.
-
-2010-03-10 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=35975
- <rdar://problem/7739922> Flash 10.1b crashes when generating snapshots
-
- Do a version check before sending a drawRect event to a Flash plugin,
- since 10.1.d51 has a bug that crashes when called this way.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView drawRect:]):
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView supportsSnapshotting]):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView drawRect:]):
-
-2010-03-10 John Sullivan <sullivan@apple.com>
-
- Reviewed by Tim Hatcher.
-
- <rdar://problem/7735387> input type other than text won't work with autofill
- <https://bugs.webkit.org/show_bug.cgi?id=35963>
-
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation elementDoesAutoComplete:]):
- Return true for any text field that's not a password, rather than only
- for TEXT type.
-
-2010-03-09 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher.
-
- REGRESSION: WebInspector docking busted on Windows
- <rdar://problem/7728433> and https://bugs.webkit.org/show_bug.cgi?id=35953
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController showWindow:]): Use the InspectorController:: copy of the should attach settings key.
- (-[WebInspectorWindowController attach]): Ditto.
- (-[WebInspectorWindowController detach]): Ditto.
-
-2010-03-09 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Updated for FastMalloc reporting changes.
-
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics memoryStatistics]):
-
-2010-03-08 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Mark Rowe.
-
- Move the new method to the end of the MIG definitions file, to avoid breaking
- compatibility between WebKit and older versions of WebKitPluginHost.
-
- * Plugins/Hosted/WebKitPluginHost.defs:
-
-2010-03-08 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/7714340> Need to grab image snapshot of Core Animation plugins
-
- Allow plug-ins using the Core Animation drawing model to be captured when doing a flattening paint,
- by sending them a drawRect event as if they were software-painting.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::snapshot):
- New snapshot() method that calls over to the plugin host, and then draws the image that comes back.
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView drawRect:]): If we don't have a software renderer, but we're doing
- a flattening paint, then call the snapshot method.
-
- * Plugins/Hosted/WebKitPluginHost.defs: Added snapshot method.
-
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView inFlatteningPaint]):
- New utility method that asks the FrameView whether the current paint behavior is
- flattening.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView drawRect:]): If the plug-in is using CA but this is a flattening
- paint, go ahead and send a drawRect event to the plug-in.
-
-2010-03-08 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Fix crash when you quit inside an unload handler.
- rdar://problem/6958347
-
- Test: manual-tests/quit-inside-unload.html
-
- * WebView/WebView.mm:
- (-[WebView _closeWithFastTeardown]): Removed code to set
- _private->closed since _close now does this earlier, before
- calling this method.
- (-[WebView _close]): Moved code to set _private->closed to the
- top of this method.
- (-[WebView setHostWindow:]): Rewrote the code that forbade
- setting the host window after closing so that it only forbids
- non-nil host windows. That way, the code to clear away the host
- window can run safely after setting _private->closed, yet client
- code cannot set a new host window after closing.
-
-2010-03-08 Darin Adler <darin@apple.com>
-
- Roll out a file I checked in by accident.
-
- * WebView/WebView.mm: Back to previous version.
-
-2010-03-08 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Darin Adler.
-
- Turn on HW accel on Leopard even if coreVideoHas7228836Fix() is false, when WebGL is enabled
- https://bugs.webkit.org/show_bug.cgi?id=35759
-
- This allows WebGL to work on Leopard without the fix. It exposes these users to the crash
- that happens because of the CoreVideo bug, but it limits the exposure to those who have
- chosen to enable WebGL.
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-03-02 Adam Treat <atreat@rim.com>
-
- Reviewed by Dave Hyatt.
-
- Adapt the mac port to the refactoring of repaint methods.
-
- https://bugs.webkit.org/show_bug.cgi?id=34214
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::invalidateContents):
- (WebChromeClient::invalidateWindow):
- (WebChromeClient::invalidateContentsAndWindow):
- (WebChromeClient::invalidateContentsForSlowScroll):
-
-2010-03-08 Jian Li <jianli@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Blob.slice support.
- https://bugs.webkit.org/show_bug.cgi?id=32993
-
- Add ENABLE_BLOB_SLICE feature define.
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-03-08 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by David Levin.
-
- Remove the now-redundant Settings fields for the Database
- https://bugs.webkit.org/show_bug.cgi?id=35763
-
- No new tests; this code isn't called.
-
- * WebView/WebView.mm: Remove the call into Settings.
- (-[WebView _preferencesChangedNotification:]):
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Cameron Zwarich.
-
- Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
-
- * Misc/WebIconDatabase.mm:
-
-2010-03-07 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Cameron Zwarich.
-
- Remove unnecessary includes from header files, adding them to the handful of implementation files that need them.
-
- * Misc/WebNSPasteboardExtras.mm:
-
-2010-03-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7717249> DOMSVG.h includes a non-existent DOMSVGFEMorphologyElement.h
-
- * MigrateHeaders.make: Migrate DOMSVGFEMorphologyElement.h and DOMSVGFEMorphologyElementInternal.h.
-
-2010-03-04 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Sam Weinig.
-
- Use a framework-style include to pull in WebInspector.h for consistency
- with other parts of WebKit.
-
- * WebInspector/WebInspectorPrivate.h:
-
-2010-03-04 Brady Eidson <beidson@apple.com>
-
- Reviewed by Geoff Garen.
-
- REGRESSION (31281): -[WebArchive initWithCoder:] leaks
- <rdar://problem/7702420> and https://bugs.webkit.org/show_bug.cgi?id=35534
-
- * WebView/WebArchive.mm:
- (-[WebArchive initWithCoder:]): Don't retain objects we don't own.
-
-2010-03-03 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- https://bugs.webkit.org/show_bug.cgi?id=35692
- <rdar://problem/7703622> Crash when calling abort() on an XHR while in a windowless WebView
-
- * Panels/WebAuthenticationPanel.m: (-[WebAuthenticationPanel runAsModalDialogWithChallenge:]):
- Retain the challenge, just like it's done for sheet.
-
-2010-03-02 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by David Levin.
-
- Move database enable bit fully out of settings
- This is stage one of a three-stage commit [webkit, then chromium, then
- webkit again]. In this change I'm adding calls to
- Database::setIsAvailable inside Settings::setDatabaseEnabled and
- anywhere else that called it, and switching webkit fully over to using
- that flag [added in a previous checkin]. Phase two will remove
- Chromium's use of Settings for the Database, and phase three will remove
- the Setting for the Database enable entirely, leaving only
- Database::isAvailable/setIsAvailable.
-
- No new tests; tested by existing storage tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=35310
-
- * WebView/WebView.mm: Added a call to Database::setIsAvailable.
- (-[WebView _preferencesChangedNotification:]):
-
-2010-03-02 Adam Roben <aroben@apple.com>
-
- Add -[WebView _registerURLSchemeAsSecure:]
-
- Fixes <http://webkit.org/b/35580> <rdar://problem/7706407> Expose
- SecurityOrigin::registerURLSchemeAsSecure as WebKit SPI
-
- Reviewed by Tim Hatcher.
-
- * WebView/WebView.mm:
- (+[WebView _registerURLSchemeAsSecure:]):
- * WebView/WebViewPrivate.h:
- Added. Calls through to SecurityOrigin::registerURLSchemeAsSecure.
-
-2010-03-01 Jakob Petsovits <jpetsovits@rim.com>
-
- Reviewed by Adam Barth.
-
- Adapt to the new ZoomMode enum.
- https://bugs.webkit.org/show_bug.cgi?id=35347
-
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
- (-[WebView _setZoomMultiplier:isTextOnly:]):
- (-[WebView _realZoomMultiplierIsTextOnly]):
-
-2010-02-27 Jing Jin <jjin@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- Move implementation of Bug 35449 into WebFramePrivate.
-
- * WebView/WebFrame.h:
- * WebView/WebFrame.mm:
- (-[WebFrame setAllowScrollersToOverlapContent:]):
- (-[WebFrame setAlwaysHideHorizontalScroller:]):
- (-[WebFrame setAlwaysHideVerticalScroller:]):
- * WebView/WebFramePrivate.h:
-
-2010-02-26 Jing Jin <jjin@apple.com>
-
- Reviewed by Timothy Hatcher.
-
- https://bugs.webkit.org/show_bug.cgi?id=35449
- Add ability to hide WebFrame scrollbars and to allow scrollbars to overlap with content.
-
- * WebView/WebDynamicScrollBarsView.h:
- * WebView/WebDynamicScrollBarsView.mm:
- (-[WebDynamicScrollBarsView setAllowScrollersToOverlapContent:]): Allows scrollbars to
- overlap with the document and re-layouts the document.
- (-[WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]): Hides the horizontal scrollbar.
- (-[WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]): Hides the vertical scrollbar.
- (-[WebDynamicScrollBarsView contentViewFrame]): Calculates the appropriate frame based
- on allowScrollersToOverlapContent.
- (-[WebDynamicScrollBarsView tile]): If allowScrollersToOverlapContent is YES, set the
- contentView's frame so it overlaps with the scrollbar.
- (-[WebDynamicScrollBarsView updateScrollers]): Take into account hideHorizontalScroller
- and hideVerticalScroller.
- (-[WebDynamicScrollBarsView reflectScrolledClipView:]): set drawsBackground to NO when
- scrollbars are overlapping with content, so we don't get trails during scrollbar draw updates.
- * WebView/WebDynamicScrollBarsViewInternal.h:
- * WebView/WebFrame.h:
- * WebView/WebFrame.mm:
- (-[WebFrame setAllowScrollersToOverlapContent:]): Hook for [WebDynamicScrollBarsView setAllowScrollersToOverlapContent:]
- (-[WebFrame setAlwaysHideHorizontalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideHorizontalScroller:]
- (-[WebFrame setAlwaysHideVerticalScroller:]): Hook for [WebDynamicScrollBarsView setAlwaysHideVerticalScroller:]
-
-2010-02-26 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Bug 35401 - Fix handling of errors in handling calls over bridge,
- where base object bridge-type does not match method bridge-type.
-
- The code assumes users will only attempt to invoke a Java method
- on a Java base object, etc.
- Add language specific subclasses of RuntimeMethod, and pass the
- RuntimeMethod into invokeMethod, so we can typecheck before
- casting. Throw an exception on type mismatch.
-
- * Plugins/Hosted/ProxyInstance.h:
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::PluginRuntimeMethod::PluginRuntimeMethod): new class to distinguish this type of RuntimeMethod.
- (WebKit::ProxyInstance::getMethod): create an appropriate sublclass of RuntimeMethod.
- (WebKit::ProxyInstance::invokeMethod): dynamically check the type of the RuntimeMethod.
-
-2010-02-25 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=35394
- <rdar://problem/7685262> Make passing objects between Java and plug-ins work
-
- Added a ProxyInstance implementation of RuntimeObject.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- * Plugins/Hosted/ProxyInstance.h:
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::newRuntimeObject):
- (WebKit::ProxyInstance::getClass):
- * Plugins/Hosted/ProxyRuntimeObject.h: Added.
- (WebKit::ProxyRuntimeObject::classInfo):
- * Plugins/Hosted/ProxyRuntimeObject.mm: Added.
- (WebKit::ProxyRuntimeObject::ProxyRuntimeObject):
- (WebKit::ProxyRuntimeObject::~ProxyRuntimeObject):
- (WebKit::ProxyRuntimeObject::getInternalProxyInstance):
-
-2010-02-24 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Fisher.
-
- [Chromium API] Disambiguate allowJavaScript from didNotAllowScript
- https://bugs.webkit.org/show_bug.cgi?id=35205
-
- Make these two callsites explicit about not running script immediately.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
- (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
-
-2010-02-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher and Pavel Feldman.
-
- Regression (r55107) - WebInspector docking is busted.
- https://bugs.webkit.org/show_bug.cgi?id=35274
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController showWindow:]): Swap the order of the "should attach?" check
- to get the expected behavior.
-
-2010-02-23 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- <rdar://problem/7611158> Incomplete repaint of YouTube timeline thumb while scrolling
- https://bugs.webkit.org/show_bug.cgi?id=34381
-
- Test: fast/repaint/repaint-during-scroll.html
-
- NSClipView offsets any rects marked as needing display during scrolling
- by the scroll offset. Compensate for this when -setNeedsDisplay: is called
- during scrolling.
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _frameOrBoundsChanged]): Set inScrollPositionChanged to YES
- around to call to FrameView::scrollPositionChanged().
- (-[WebHTMLView setNeedsDisplayInRect:]): When called beneath
- scrollPositionChanged(), adjust the rect by the inverse of the scroll offset.
-
-2010-02-23 Steve Block <steveblock@google.com>
-
- Reviewed by Darin Adler.
-
- Adds ChromeClient::cancelGeolocationPermissionRequestForFrame
- https://bugs.webkit.org/show_bug.cgi?id=34962
-
- This method is required so that a Geolocation object can cancel an
- asynchronous permission request. This allows the chrome client to cancel
- any UI it is showing for the permission request.
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::cancelGeolocationPermissionRequestForFrame):
-
-2010-02-22 Alexey Proskuryakov <ap@apple.com>
-
- Rubber-stamped by Geoff Garen.
-
- Rename RuntimeObjectImp to RuntimeObject.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::addValueToArray):
- (WebKit::NetscapePluginInstanceProxy::retainLocalObject):
- (WebKit::NetscapePluginInstanceProxy::releaseLocalObject):
-
-2010-02-22 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher.
-
- Disable WebView docking to views that are too small.
- <rdar://problem/7248409> and https://bugs.webkit.org/show_bug.cgi?id=35254
-
- * WebCoreSupport/WebInspectorClient.mm:
- (-[WebInspectorWindowController showWindow:]): No matter the preference, don't open the inspector
- window attached if WebCore says it shouldn't be attached.
-
-2010-02-22 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by John Sullivan.
-
- <rdar://problem/7285392>
- On Leopard, we have to disable hardware acceleration if we detect that the
- installed Core Video framework has bug <rdar://problem/7228836>.
-
- * WebView/WebView.mm:
- (coreVideoHas7228836Fix):
- (-[WebView _preferencesChangedNotification:]):
-
-2010-02-21 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- False warnings about needing layout in
- -[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
- https://bugs.webkit.org/show_bug.cgi?id=35218
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
- Suppress the warning and the forced layout if the view is not being drawn
- in this display operation.
-
-2010-02-21 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Sam Weinig.
-
- plugInViewWithArguments: API sends wrong parameter for WebPlugInBaseURLKey
- https://bugs.webkit.org/show_bug.cgi?id=35215
- <rdar://problem/7673157>
-
- The plugInViewWithArguments: API passes a dictionary of plugin arguments. One of the parameters
- is WebPlugInBaseURLKey, which is a key that represents the base URL of the document containing
- the plug-in's view. Instead of sending the base URL, code in WebFrameLoaderClient::createPlugin
- would incorrectly pass the source URL of the plug-in resource.
-
- * WebCoreSupport/WebFrameLoaderClient.mm:
- (WebFrameLoaderClient::createPlugin): When building the plug-in arguments dictionary, pass the
- real base URL for the WebPlugInBaseURLKey key.
-
-2010-02-19 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by David Levin.
-
- Add an ENABLE flag for sandboxed iframes to make it possible to disable it in releases
- https://bugs.webkit.org/show_bug.cgi?id=35147
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-02-19 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- https://bugs.webkit.org/show_bug.cgi?id=35132
- <rdar://problem/7664353> Mouse cursor sometimes flickers over Flash content (35132)
-
- * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
- (WebNetscapePluginEventHandlerCarbon::mouseMoved): Send adjustCursor events on every mouse
- move. This matches Firefox, and is actually required for plug-ins to manipulate cursor wihout
- resorting to techniques such as fast firing timers.
-
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView handleMouseEntered:]): Some plug-ins handle mouse cursor internally,
- but those that don't just need to get an arrow cursor (matching Firefox). This means that
- e.g. a plugin inside <A> won't get a finger mouse pointer.
-
- * Plugins/WebHostedNetscapePluginView.mm:
- (-[WebNetscapePluginView handleMouseEntered:]):
- (-[WebNetscapePluginView handleMouseExited:]):
- Implement this behavior here, too. Also, out of process code didn't reset mouse pointer on
- mouse exit, which it needed to do.
-
- * WebView/WebHTMLView.mm:
- (needsCursorRectsSupportAtPoint):
- (setCursor):
- (resetCursorRects):
- Make sure that the same workaround we have for Web content also applies to Netscape plug-ins,
- as AppKit would reset the mouse pointer to arrow if given a chance.
- (+[WebHTMLViewPrivate initialize]): Renamed setCursorIMP on Leopard and higher to prevent
- confusion - the method we override is completely different.
- (-[WebHTMLView hitTest:]): Added a FIXME about a likely bug.
-
-2010-02-19 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
-
- Followup to avoid capturing compositing layers twice in snapshots. Add private
- methods to WebView to specify whether drawing the WebView into an image will
- include flattened compositing layers (the default behavior) or not.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _drawRect:contentsOnly:]): Consult the WebView flag to see if we
- want flattening.
-
- * WebView/WebViewPrivate.h: New methods.
- * WebView/WebView.mm: Ditto.
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView _setIncludesFlattenedCompositingLayersWhenDrawingToBitmap:]):
- (-[WebView _includesFlattenedCompositingLayersWhenDrawingToBitmap]):
-
- * WebView/WebViewData.h: New member variable.
-
-2010-02-19 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=35165
- plugins/set-status.html fails on Windows bot
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::status):
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView status:]):
- Match Windows port behavior (and also Firefox one, in a way) - pass null status messages as
- empty ones to chrome.
-
-2010-02-18 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/7535894> Page contents missing from snapshot on Newsweek.com article
-
- Add logic to determine when painting via the software rendering path will give an equivalent
- result to the accelerated compositing presentation. This tests for the presence of 3D transforms.
-
- Also have -[WebFrame _drawRect:contentsOnly:] set the PaintBehaviorFlattenCompositingLayers
- paint behavior when painting into a bitmap context, so that snapshots contain composited layers.
-
- * WebView/WebFrame.mm:
- (-[WebFrame _drawRect:contentsOnly:]): Set the PaintBehaviorFlattenCompositingLayers flag
- when painting into a bitmap context.
- * WebView/WebView.mm:
- (-[WebView _isSoftwareRenderable]): Returns YES if all frames can be software-rendered.
- * WebView/WebViewPrivate.h: New _isSoftwareRenderable method.
-
-2010-02-18 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Dan Bernstein.
-
- https://bugs.webkit.org/show_bug.cgi?id=35134
- <rdar://problem/7246280> Crash when a plugin calls NPN_SetStatus(0)
-
- Test: plugins/set-status.html
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::status):
- (WebKit::NetscapePluginInstanceProxy::loadURL):
- Added null checks for CFStringCreateWithCString arguments.
-
-2010-02-17 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by David Levin, Darin Fisher, Simon Hausmann.
-
- When a live iframe element is moved between pages, it still depends on the old page.
- https://bugs.webkit.org/show_bug.cgi?id=34382
-
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebCoreSupport/WebFrameLoaderClient.mm:
- Added empty implementation of a new virtual method.
-
- (WebFrameLoaderClient::didTransferChildFrameToNewDocument):
-
-2010-02-17 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Introduces new Icon loading interface in order to support
- asynchronous loading.
- https://bugs.webkit.org/show_bug.cgi?id=32054
-
- Add an empty implementation of ChromeClient::iconForFiles().
-
- * WebCoreSupport/WebChromeClient.h:
- * WebCoreSupport/WebChromeClient.mm:
- (WebChromeClient::iconForFiles):
-
-2010-02-17 Timothy Hatcher <timothy@apple.com>
-
- Add a way for WebView and its dependancies to be selectively included
- in WebKitStatistics leak tracking. By default WebView is not included and
- you need to subclass WebView and implement +isIncludedInWebKitStatistics
- to be included.
-
- rdar://problem/7567677&7572900
- https://webkit.org/b/35045
-
- Reviewed by Adam Roben.
-
- * WebView/WebDataSource.mm:
- (-[WebDataSource _initWithDocumentLoader:]): Increment WebDataSourceCount if the WebFrame is included in statistics.
- (-[WebDataSource dealloc]): Only --WebDataSourceCount if _private->includedInWebKitStatistics is YES.
- (-[WebDataSource finalize]): Ditto.
- * WebView/WebFrame.mm:
- (-[WebFrame _isIncludedInWebKitStatistics]): Return _private->includedInWebKitStatistics.
- (-[WebFrame _initWithWebFrameView:webView:]): Increment WebFrameCount if the WebView's class is included in statistics.
- (-[WebFrame dealloc]): Only --WebFrameCount if _private->includedInWebKitStatistics is YES.
- (-[WebFrame finalize]): Ditto.
- * WebView/WebFrameInternal.h:
- * WebView/WebFrameView.mm:
- (-[WebFrameView _setWebFrame:]): Increment WebFrameViewCount if the WebFrame is included in statistics.
- (-[WebFrameView initWithFrame:]): Move ++WebFrameViewCount from here since we don't
- know what WebFrame we belong to yet.
- (-[WebFrameView dealloc]): Only --WebFrameViewCount if _private->includedInWebKitStatistics is YES.
- (-[WebFrameView finalize]): Ditto.
- * WebView/WebHTMLRepresentation.mm:
- (-[WebHTMLRepresentation init]): Move ++WebHTMLRepresentationCount from here since we don't
- know what WebFrame we belong to yet.
- (-[WebHTMLRepresentation dealloc]): Only --WebHTMLRepresentationCount if _private->includedInWebKitStatistics is YES.
- (-[WebHTMLRepresentation finalize]): Ditto.
- (-[WebHTMLRepresentation setDataSource:]): Increment WebHTMLRepresentationCount if the WebFrame of the dataSource is
- included in statistics.
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- (-[WebView dealloc]):
- (+[WebView shouldIncludeInWebKitStatistics]): Return NO, so any WebView wont be included.
- Subclasses that care can return YES to be included.
- * WebView/WebViewInternal.h:
-
-2010-02-16 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Generalize delayed plug-in start for background tabs for use for other media
- https://bugs.webkit.org/show_bug.cgi?id=34981
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView viewWillMoveToWindow:]): Added comment.
- (-[WebHTMLView viewDidMoveToWindow]): Ditto.
-
- * WebView/WebView.mm:
- (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
- Call setCanStartMedia right away so that if this view is not in a window, it
- will not start any media.
- (-[WebView viewWillMoveToWindow:]): Call setCanStartMedia(false) when moving
- to a window of nil.
- (-[WebView viewDidMoveToWindow]): Call setCanStartMedia(true) when moved to
- a window that is non-nil.
-
-2010-02-16 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Simon Fraser.
-
- https://bugs.webkit.org/show_bug.cgi?id=34988
- WebHTMLView.mm has two -willRemoveSubview: methods
-
- * WebView/WebHTMLView.mm:
- (-[WebHTMLView willRemoveSubview:]): Consolidate the two copies of this method.
-
-2010-02-16 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoffrey Garen and Kevin Decker.
-
- https://bugs.webkit.org/show_bug.cgi?id=34989
- <rdar://problem/7417965> Cursor disappears on scroll bars that are over plugin content
-
- This fixes event dispatch for both Cocoa and Carbon event models (mouseEntered/mouseExited
- in the former case, and adjustCursor in the latter).
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView handleMouseEntered:]):
- (-[WebHostedNetscapePluginView handleMouseExited:]):
- * Plugins/WebBaseNetscapePluginView.h:
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView handleMouseEntered:]):
- (-[WebBaseNetscapePluginView handleMouseExited:]):
- * Plugins/WebNetscapePluginView.h:
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView handleMouseEntered:]):
- (-[WebNetscapePluginView handleMouseExited:]):
- AppKit cannot reliably dispatch events for overlapping views. We are now asking WebCore to
- notify plug-in views of mouse entered/exited as part of DOM event dispatch.
-
- * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): Besides
- mouse moved, dispatch plugin mouse entered/exit events in HTMLPlugInElement default event
- handler. Other mouse events are passed down by EventHandler.
-
-2010-02-15 Alexey Proskuryakov <ap@apple.com>
-
- More build fixing (for what is actually a 64-bit failure, as 32-bit apparently includes
- headers that aren't included in 64-bit).
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::contains):
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::get):
- Move inline functions to .cpp; also made the class Noncopyable.
-
-2010-02-15 Alexey Proskuryakov <ap@apple.com>
-
- Mac release build fix attempt.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::~LocalObjectMap):
- Implement destructor in .cpp file, where necessary headers are already included.
-
-2010-02-12 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Kevin Decker.
-
- <rdar://problem/7130641> Browser objects identity is not preserved by Safari
-
- Out of process part.
-
- To avoid excessive IPC, plugin process doesn't send each NPObject release/retain call to
- Safari. It only sends one when the last one is removed, and it can destroy the proxy
- NPObject.
-
- However, the browser may be sending the same object out to plug-in as a function call
- argument at the same time - neither side can know what the other one is up to. The solution
- is to make the "destroying object" call return a boolean result, making it possible for
- the browser to make plugin host keep the proxy with zero refcount for a little longer.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCForgetBrowserObject): This function (that used to be named ReleaseObject) is only
- called when plug-in releases all of its references, so renamed it. Its boolean result
- is returned as call success or failure.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap): Made the numeric ID to JSObject map
- two-way.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject): This method is tricky
- in that it creates objects with refcount of 1, but doesn't increase refcount when returning
- found objects. This extra count accounts for the "reference" kept by plugin process.
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain): Only retaining for the
- duration of calls out to plug-in, which means that refcount is almost always equal to 1.
- Note that we can't use "++" here, due to how std::pair works!
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release): Ditto.
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::clear): Clear all references when
- stopping plug-in.
- (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget): Like release(), but only
- functional when recount is 1 (meaning that the object is not being sent out to plug-in at
- the moment).
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Updated for other changes.
- (WebKit::NetscapePluginInstanceProxy::cleanup): Ditto.
- (WebKit::NetscapePluginInstanceProxy::getWindowNPObject): Ditto.
- (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject): Ditto.
- (WebKit::NetscapePluginInstanceProxy::forgetBrowserObjectID): Ditto.
- (WebKit::NetscapePluginInstanceProxy::evaluate): Ditto.
- (WebKit::NetscapePluginInstanceProxy::invoke): Ditto.
- (WebKit::NetscapePluginInstanceProxy::invokeDefault): Ditto.
- (WebKit::NetscapePluginInstanceProxy::construct): Ditto.
- (WebKit::NetscapePluginInstanceProxy::getProperty): Ditto.
- (WebKit::NetscapePluginInstanceProxy::setProperty): Ditto.
- (WebKit::NetscapePluginInstanceProxy::removeProperty): Ditto.
- (WebKit::NetscapePluginInstanceProxy::hasProperty): Ditto.
- (WebKit::NetscapePluginInstanceProxy::hasMethod): Ditto.
- (WebKit::NetscapePluginInstanceProxy::enumerate): Ditto.
- (WebKit::NetscapePluginInstanceProxy::addValueToArray): Ditto.
- (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): Ditto.
- (WebKit::NetscapePluginInstanceProxy::retainLocalObject): Helper for calling retain when
- making calls out to plug-in. No-op for objects that aren't wrapped to be sent (i.e. for
- objects wrapping ProxyInstance wrappers for plug-in objects being sent bak).
- (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): Ditto.
-
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::invoke): Retain/release arguments during call.
- (WebKit::ProxyInstance::setFieldValue): Ditto.
-
- * Plugins/Hosted/WebKitPluginClient.defs: Renamed PCReleaseObject to PCForgetBrowserObject.
-
-2010-02-12 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Removed unneeded custom implementation of isDescendantOf.
-
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView shouldClipOutPlugin]): Use the
- -[NSView isDescendantOf:] method instead of our own method
- named superviewsHaveSuperviews.
-
-2010-02-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/7615234> REGRESSION (r48586): Loading an HTML page causes
- PDFKit to be loaded
-
- * WebView/WebPDFDocumentExtras.h: Removed the category declaration and
- addWebPDFDocumentExtras(). Declare allScriptsInPDFDocument().
- * WebView/WebPDFDocumentExtras.mm:
- (allScriptsInPDFDocument): Changed the -_web_allScripts method into this function.
- * WebView/WebPDFRepresentation.mm: Removed +initialize.
- (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Use
- allScriptsInPDFDocument() instead of -_web_allScripts.
-
-2010-02-10 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Exported some new JavaScript heap introspection.
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (+[WebCoreStatistics javaScriptObjectTypeCounts]): Just like
- javaScriptProtectedObjectTypeCounts, except this function enumerates all
- live objects, not just protected objects.
-
-2010-02-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
- https://bugs.webkit.org/show_bug.cgi?id=34698
-
- * Configurations/FeatureDefines.xcconfig:
-
-2010-02-09 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=34490
- WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
-
- * ForwardingHeaders/wtf/ValueCheck.h: Added.
-
-2010-02-10 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Support frameset flattening
- https://bugs.webkit.org/show_bug.cgi?id=32717
-
- Add support for enabling/disabling FrameSet Flattening on the Mac port.
-
- * WebView/WebPreferenceKeysPrivate.h:
- * WebView/WebPreferences.mm:
- (+[WebPreferences initialize]):
- (-[WebPreferences isFrameSetFlatteningEnabled]):
- (-[WebPreferences setFrameSetFlatteningEnabled:]):
- * WebView/WebPreferencesPrivate.h:
- * WebView/WebView.mm:
- (-[WebView _preferencesChangedNotification:]):
-
-2010-02-09 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- https://bugs.webkit.org/show_bug.cgi?id=34771
- A stray mouse moved event is sent to plug-ins after mouse exit
-
- * WebCoreSupport/WebFrameLoaderClient.mm: (NetscapePluginWidget::handleEvent): A mouseout
- DOM event is dispatched while handling NSMouseMoved - but we shouldn't be sending a
- mouse moved event to plug-ins at this point.
-
-2010-02-09 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Provide a way to get total number of pages to be printed
- https://bugs.webkit.org/show_bug.cgi?id=34699
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (-[WebFrame numberOfPages:pageWidthInPixels:]):
-
-2010-02-08 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=34727
- Assertion crashes and freezes when plug-in property access results in an exception
-
- * Plugins/Hosted/WebKitPluginClient.defs: Made PCSetProperty and PCRemoveProperty async.
- A plug-in can call back whil processing this call (e.g. for NPN_SetException), so we need
- to listen for messages while waiting for reply.
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCEvaluate): If there is no instance proxy, return KERN_FAILURE. This improves consistency
- between method implementations, and leaves us with one less IPC call to make in failure case
- (returning false with KERN_SUCCESS and returning KERN_FAILURE looks the same from plugin
- host code).
- (WKPCInvoke): Ditto.
- (WKPCInvokeDefault): Ditto.
- (WKPCGetProperty): Ditto.
- (WKPCSetProperty): Send a reply once done.
- (WKPCRemoveProperty): Ditto.
- (WKPCHasProperty): If there is no instance proxy, return KERN_FAILURE.
- (WKPCHasMethod): Ditto.
- (WKPCEnumerate): Ditto.
-
-2010-02-08 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/6530010> OOP: Support NPN_SetException
-
- Tested by plugins/netscape-throw-exception.html (removed it from skipped list).
-
- * Plugins/Hosted/NetscapePluginHostProxy.mm:
- (WKPCSetException):
- * Plugins/Hosted/NetscapePluginInstanceProxy.h:
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::globalExceptionString):
- (WebKit::NetscapePluginInstanceProxy::setGlobalException):
- (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
- * Plugins/Hosted/ProxyInstance.mm:
- (WebKit::ProxyInstance::invoke):
- (WebKit::ProxyInstance::getPropertyNames):
- (WebKit::ProxyInstance::fieldValue):
- (WebKit::ProxyInstance::setFieldValue):
- * Plugins/Hosted/WebKitPluginClient.defs:
- Route exception string to a global that's checked after calling into plug-in (just like in
- in-process case).
-
-2010-02-05 Kevin Decker <kdecker@apple.com>
-
- Reviewed by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=34661
- <rdar://problem/7614067> REGRESSION (Safari 4.0-> Safari 4.0.4): NPP_SetWindow no longer sets a clipRect of (0,0,0,0) when it becomes hidden
-
- * Plugins/Hosted/WebHostedNetscapePluginView.mm:
- (-[WebHostedNetscapePluginView updateAndSetWindow]): When clipping out NPDrawingModelCoreAnimation plug-ins, provide a zero'd out clipRect.
- * Plugins/WebBaseNetscapePluginView.h: Moved superviewsHaveSuperviews to the base class.
- * Plugins/WebBaseNetscapePluginView.mm:
- (-[WebBaseNetscapePluginView superviewsHaveSuperviews]): Added to the base class; extracted from WebNetscapePluginView.
- (-[WebBaseNetscapePluginView shouldClipOutPlugin]): Added new method with code extracted from WebNetscapePluginView.
- * Plugins/WebNetscapePluginView.mm:
- (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]): When clipping out NPDrawingModelCoreAnimation plug-ins, provide a zero'd out clipRect.
-
-2010-02-04 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Dan Bernstein.
-
- Fix the ability to #include <WebKit/DOMFile.h>.
-
- * MigrateHeaders.make: Mark DOMBlob.h as a public header since the already-public DOMFile.h depends on it.
-
-2010-02-04 John Sullivan <sullivan@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=34611
- WebLocalizedString() could use an assertion that it is being called on the main thread
-
- Reviewed by Tim Hatcher.
-
- * Misc/WebLocalizableStrings.m: Removed.
- * Misc/WebLocalizableStrings.mm: Copied from mac/Misc/WebLocalizableStrings.m.
- Renamed to use .mm extension so it can include a C++ header.
- (WebLocalizedString):
- Added an assertion that this is being called on the main thread.
-
-2010-02-04 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Simon Fraser.
-
- REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big
- https://bugs.webkit.org/show_bug.cgi?id=34371
-
- * WebView/WebFrameView.mm:
- (-[WebFrameView _verticalPageScrollDistance]): Use Scrollbar methods instead of
- constants, and cap the scroll distance.
- (-[WebFrameView initWithFrame:]): Use Scrollbar::pixelsPerLineStep() instead of
- cScrollbarPixelsPerLineStep.
- (-[WebFrameView _horizontalPageScrollDistance]):Use Scrollbar methods instead of
- constants, and cap the scroll distance.
-
-2010-02-01 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Provide a way to get page number with layoutTestController
- https://bugs.webkit.org/show_bug.cgi?id=33840
-
- * Misc/WebCoreStatistics.h:
- * Misc/WebCoreStatistics.mm:
- (-[WebFrame pageNumberForElement:element:pageWidth:]):
-
-2010-01-29 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Sam Weinig + Oliver Hunt.
-
- Bug 34346 - With JSC bindings, make processingUserGesture work with events in Isolated Worlds
-
- Pass processeing user gensture flag to media play/pause methods.
-
- * WebView/WebVideoFullscreenHUDWindowController.mm:
- (-[WebVideoFullscreenHUDWindowController setPlaying:]):
-
-2010-02-01 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/7044385> Crash at NetscapePlugInStreamLoader::didReceiveResponse()
-
- The crash was caused by having two streams with a streamID of 1.
-
- * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
- (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy): Fixed a typo. Now
- correctly increments m_currentURLRequestID to account for the manual stream.
- (WebKit::NetscapePluginInstanceProxy::disconnectStream): If the stream is the manual stream,
- null it out instead of trying to remove it from the map. Added an assertion.
- (WebKit::NetscapePluginInstanceProxy::loadRequest): Added an assertion.
-
-== Rolled over to ChangeLog-2010-01-29 ==
diff --git a/Source/WebKit/mac/Configurations/Base.xcconfig b/Source/WebKit/mac/Configurations/Base.xcconfig
deleted file mode 100644
index da46584b0..000000000
--- a/Source/WebKit/mac/Configurations/Base.xcconfig
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright (C) 2009, 2010 Apple 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 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 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.
-
-CLANG_CXX_LANGUAGE_STANDARD = gnu++0x;
-CLANG_CXX_LIBRARY = libc++;
-CLANG_WARN_CXX0X_EXTENSIONS = NO;
-DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;
-GCC_C_LANGUAGE_STANDARD = gnu99;
-GCC_DEBUGGING_SYMBOLS = default;
-GCC_DYNAMIC_NO_PIC = NO;
-GCC_ENABLE_CPP_EXCEPTIONS = NO;
-GCC_ENABLE_CPP_RTTI = NO;
-GCC_ENABLE_OBJC_EXCEPTIONS = YES;
-GCC_ENABLE_OBJC_GC = $(GCC_ENABLE_OBJC_GC_$(PLATFORM_NAME));
-GCC_ENABLE_OBJC_GC_iphoneos = NO;
-GCC_ENABLE_OBJC_GC_iphonesimulator = NO;
-GCC_ENABLE_OBJC_GC_macosx = supported;
-GCC_ENABLE_SYMBOL_SEPARATION = NO;
-GCC_FAST_OBJC_DISPATCH = YES;
-GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
-GCC_MODEL_TUNING = $(GCC_MODEL_TUNING_$(PLATFORM_NAME));
-GCC_MODEL_TUNING_macosx = G5;
-GCC_OBJC_CALL_CXX_CDTORS = YES;
-GCC_PRECOMPILE_PREFIX_HEADER = YES;
-GCC_THREADSAFE_STATICS = NO;
-GCC_TREAT_WARNINGS_AS_ERRORS = YES;
-GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
-// FIXME: <http://webkit.org/b/10192> WebKit should build with -Wshorten-64-to-32
-GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
-GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
-GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
-GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
-GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
-GCC_WARN_SIGN_COMPARE = YES;
-LINKER_DISPLAYS_MANGLED_NAMES = YES;
-OTHER_MIGFLAGS = -F$(BUILT_PRODUCTS_DIR);
-PREBINDING = NO;
-VALID_ARCHS = $(VALID_ARCHS_$(PLATFORM_NAME));
-VALID_ARCHS_iphoneos = $(ARCHS_STANDARD_32_BIT);
-VALID_ARCHS_iphonesimulator = $(ARCHS_STANDARD_32_BIT);
-VALID_ARCHS_macosx = i386 ppc x86_64 ppc64;
-WARNING_CFLAGS = -Wall -Wextra -Wchar-subscripts -Wextra-tokens -Wformat-security -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wno-unused-parameter -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare;
-
-TARGET_MAC_OS_X_VERSION_MAJOR = $(MAC_OS_X_VERSION_MAJOR);
-
-
-// DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL, STRIP_INSTALLED_PRODUCT and DEAD_CODE_STRIPPING vary between the debug and normal variants.
-// We set up the values for each variant here, and have the Debug configuration in the Xcode project use the _debug variant.
-DEBUG_DEFINES_debug = DISABLE_THREAD_CHECK;
-DEBUG_DEFINES_normal = NDEBUG;
-DEBUG_DEFINES = $(DEBUG_DEFINES_$(CURRENT_VARIANT));
-
-GCC_OPTIMIZATION_LEVEL = $(GCC_OPTIMIZATION_LEVEL_$(CURRENT_VARIANT));
-GCC_OPTIMIZATION_LEVEL_normal = 2;
-GCC_OPTIMIZATION_LEVEL_debug = 0;
-
-STRIP_INSTALLED_PRODUCT = $(STRIP_INSTALLED_PRODUCT_$(CURRENT_VARIANT));
-STRIP_INSTALLED_PRODUCT_normal = YES;
-STRIP_INSTALLED_PRODUCT_debug = NO;
-
-// Dead code stripping needs to be on in the debug variant to avoid link errors. This is due to unconditionally
-// building the MiG bindings for WebKitPluginClient even when the functions that the bindings wrap are not built.
-DEAD_CODE_STRIPPING = YES;
-
-SECTORDER_FLAGS = -Wl,-order_file,mac/WebKit.order;
-
-TARGETING_SAME_OS_X_VERSION = $(TARGETING_SAME_OS_X_VERSION_$(MAC_OS_X_VERSION_MAJOR)_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-TARGETING_SAME_OS_X_VERSION_1070_1070 = YES;
-TARGETING_SAME_OS_X_VERSION_1080_1080 = YES;
-TARGETING_SAME_OS_X_VERSION_1090_1090 = YES;
-
-// Don't build against an SDK unless we're targeting an older OS version.
-SDKROOT = $(SDKROOT_TARGETING_SAME_OS_X_VERSION_$(TARGETING_SAME_OS_X_VERSION));
-SDKROOT_TARGETING_SAME_OS_X_VERSION_ = macosx;
diff --git a/Source/WebKit/mac/Configurations/DebugRelease.xcconfig b/Source/WebKit/mac/Configurations/DebugRelease.xcconfig
deleted file mode 100644
index 645d2786f..000000000
--- a/Source/WebKit/mac/Configurations/DebugRelease.xcconfig
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright (C) 2009, 2010 Apple 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 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 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 "Base.xcconfig"
-
-ARCHS = $(ARCHS_$(PLATFORM_NAME));
-ARCHS_iphoneos = $(ARCHS_STANDARD_32_BIT);
-ARCHS_iphonesimulator = $(ARCHS_STANDARD_32_BIT);
-ARCHS_macosx = $(ARCHS_STANDARD_32_64_BIT);
-
-ONLY_ACTIVE_ARCH = YES;
-
-MACOSX_DEPLOYMENT_TARGET = $(MACOSX_DEPLOYMENT_TARGET_$(PLATFORM_NAME));
-MACOSX_DEPLOYMENT_TARGET_iphoneos = 10.5;
-MACOSX_DEPLOYMENT_TARGET_iphonesimulator = 10.5;
-MACOSX_DEPLOYMENT_TARGET_macosx = $(MACOSX_DEPLOYMENT_TARGET_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-MACOSX_DEPLOYMENT_TARGET_macosx_1070 = 10.7;
-MACOSX_DEPLOYMENT_TARGET_macosx_1080 = 10.8;
-MACOSX_DEPLOYMENT_TARGET_macosx_1090 = 10.9;
-
-GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
-DEBUG_INFORMATION_FORMAT = dwarf;
-
-SECTORDER_FLAGS = ;
-
-WEBKIT_SYSTEM_INTERFACE_LIBRARY = $(WEBKIT_SYSTEM_INTERFACE_LIBRARY_$(PLATFORM_NAME));
-WEBKIT_SYSTEM_INTERFACE_LIBRARY_iphoneos = WebKitSystemInterface;
-WEBKIT_SYSTEM_INTERFACE_LIBRARY_iphonesimulator = $(WEBKIT_SYSTEM_INTERFACE_LIBRARY_iphoneos);
-WEBKIT_SYSTEM_INTERFACE_LIBRARY_macosx = $(WEBKIT_SYSTEM_INTERFACE_LIBRARY_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-WEBKIT_SYSTEM_INTERFACE_LIBRARY_macosx_1070 = WebKitSystemInterfaceLion;
-WEBKIT_SYSTEM_INTERFACE_LIBRARY_macosx_1080 = WebKitSystemInterfaceMountainLion;
-WEBKIT_SYSTEM_INTERFACE_LIBRARY_macosx_1090 = WebKitSystemInterfaceMountainLion;
diff --git a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig b/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
deleted file mode 100644
index 72aee65b4..000000000
--- a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
+++ /dev/null
@@ -1,187 +0,0 @@
-// Copyright (C) 2009, 2010 Apple Inc. All rights reserved.
-// Copyright (C) 2009 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 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 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.
-
-// The contents of this file must be kept in sync with FeatureDefines.xcconfig in JavaScriptCore,
-// WebCore, WebKit and WebKit2. Also the default values of the ENABLE_FEATURE_NAME macros in
-// build-webkit should match the values below, but they do not need to be in the same order.
-
-// Keep this list of features (not enabled/disabled state) in sync with FeatureDefines.vsprops
-// and FeatureDefinesCairo.vsprops in WebKitLibraries/win/tools/vsprops.
-
-// Set any ENABLE_FEATURE_NAME macro to an empty string to disable that feature.
-
-ENABLE_3D_RENDERING = ENABLE_3D_RENDERING;
-ENABLE_ACCELERATED_2D_CANVAS = ;
-ENABLE_BLOB = ENABLE_BLOB;
-ENABLE_CACHE_PARTITIONING = $(ENABLE_CACHE_PARTITIONING_$(PLATFORM_NAME));
-ENABLE_CACHE_PARTITIONING_macosx = $(ENABLE_CACHE_PARTITIONING_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-ENABLE_CACHE_PARTITIONING_macosx_1070 = ;
-ENABLE_CACHE_PARTITIONING_macosx_1080 = ENABLE_CACHE_PARTITIONING;
-ENABLE_CACHE_PARTITIONING_macosx_1090 = ENABLE_CACHE_PARTITIONING;
-ENABLE_CANVAS_PATH = ENABLE_CANVAS_PATH;
-ENABLE_CANVAS_PROXY = ;
-ENABLE_CHANNEL_MESSAGING = ENABLE_CHANNEL_MESSAGING;
-ENABLE_CSP_NEXT = ;
-ENABLE_CSS_BOX_DECORATION_BREAK = ENABLE_CSS_BOX_DECORATION_BREAK;
-ENABLE_CSS_COMPOSITING = ENABLE_CSS_COMPOSITING;
-ENABLE_CSS_DEVICE_ADAPTATION = ;
-ENABLE_CSS_EXCLUSIONS = ENABLE_CSS_EXCLUSIONS;
-ENABLE_CSS_FILTERS = ENABLE_CSS_FILTERS;
-ENABLE_CSS_IMAGE_ORIENTATION = ;
-ENABLE_CSS_IMAGE_RESOLUTION = ;
-ENABLE_CSS_REGIONS = ENABLE_CSS_REGIONS;
-ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS;
-ENABLE_CSS_SHAPES = ENABLE_CSS_SHAPES;
-ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
-ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED = ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED;
-ENABLE_CSS_VARIABLES = ;
-ENABLE_CSS3_CONDITIONAL_RULES = ;
-ENABLE_CSS3_TEXT = ;
-ENABLE_CSS3_TEXT_LINE_BREAK = ;
-ENABLE_CURSOR_VISIBILITY = ENABLE_CURSOR_VISIBILITY;
-ENABLE_CUSTOM_SCHEME_HANDLER = ;
-ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(PLATFORM_NAME));
-ENABLE_DASHBOARD_SUPPORT_macosx = ENABLE_DASHBOARD_SUPPORT;
-ENABLE_DATALIST_ELEMENT = ;
-ENABLE_DATA_TRANSFER_ITEMS = ;
-ENABLE_DETAILS_ELEMENT = ENABLE_DETAILS_ELEMENT;
-ENABLE_DEVICE_ORIENTATION = $(ENABLE_DEVICE_ORIENTATION_$(PLATFORM_NAME));
-ENABLE_DEVICE_ORIENTATION_iphoneos = ENABLE_DEVICE_ORIENTATION;
-ENABLE_DEVICE_ORIENTATION_iphonesimulator = $(ENABLE_DEVICE_ORIENTATION_iphoneos);
-ENABLE_DIALOG_ELEMENT = ;
-ENABLE_DIRECTORY_UPLOAD = ;
-ENABLE_DOM4_EVENTS_CONSTRUCTOR = ENABLE_DOM4_EVENTS_CONSTRUCTOR;
-ENABLE_DRAGGABLE_REGION = ;
-ENABLE_ENCRYPTED_MEDIA = $(ENABLE_ENCRYPTED_MEDIA_$(PLATFORM_NAME));
-ENABLE_ENCRYPTED_MEDIA_macosx = $(ENABLE_ENCRYPTED_MEDIA_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-ENABLE_ENCRYPTED_MEDIA_macosx_1070 = ;
-ENABLE_ENCRYPTED_MEDIA_macosx_1080 = ;
-ENABLE_ENCRYPTED_MEDIA_macosx_1090 = ENABLE_ENCRYPTED_MEDIA;
-ENABLE_ENCRYPTED_MEDIA_V2 = $(ENABLE_ENCRYPTED_MEDIA_V2_$(PLATFORM_NAME));
-ENABLE_ENCRYPTED_MEDIA_V2_macosx = $(ENABLE_ENCRYPTED_MEDIA_V2_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-ENABLE_ENCRYPTED_MEDIA_V2_macosx_1070 = ;
-ENABLE_ENCRYPTED_MEDIA_V2_macosx_1080 = ;
-ENABLE_ENCRYPTED_MEDIA_V2_macosx_1090 = ENABLE_ENCRYPTED_MEDIA_V2;
-ENABLE_FILE_SYSTEM = ;
-ENABLE_FILTERS = ENABLE_FILTERS;
-ENABLE_FONT_LOAD_EVENTS = ;
-ENABLE_FULLSCREEN_API = $(ENABLE_FULLSCREEN_API_$(PLATFORM_NAME));
-ENABLE_FULLSCREEN_API_macosx = ENABLE_FULLSCREEN_API;
-ENABLE_GAMEPAD = ;
-ENABLE_GEOLOCATION = ENABLE_GEOLOCATION;
-ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING = $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING_$(PLATFORM_NAME));
-ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING_macosx = ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING;
-ENABLE_HIGH_DPI_CANVAS = $(ENABLE_HIGH_DPI_CANVAS_$(PLATFORM_NAME));
-ENABLE_ICONDATABASE = $(ENABLE_ICONDATABASE_$(PLATFORM_NAME));
-ENABLE_ICONDATABASE_macosx = ENABLE_ICONDATABASE;
-ENABLE_IFRAME_SEAMLESS = ENABLE_IFRAME_SEAMLESS;
-ENABLE_INDEXED_DATABASE = ;
-ENABLE_INPUT_SPEECH = ;
-ENABLE_INPUT_TYPE_COLOR = ;
-ENABLE_INPUT_TYPE_DATE = $(ENABLE_INPUT_TYPE_DATE_$(PLATFORM_NAME));
-ENABLE_INPUT_TYPE_DATE_iphoneos = ENABLE_INPUT_TYPE_DATE;
-ENABLE_INPUT_TYPE_DATE_iphonesimulator = $(ENABLE_INPUT_TYPE_DATE_iphoneos);
-ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE = $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE_$(PLATFORM_NAME));
-ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE_iphoneos = ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE;
-ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE_iphonesimulator = $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE_iphoneos);
-ENABLE_INPUT_TYPE_DATETIMELOCAL = $(ENABLE_INPUT_TYPE_DATETIMELOCAL_$(PLATFORM_NAME));
-ENABLE_INPUT_TYPE_DATETIMELOCAL_iphoneos = ENABLE_INPUT_TYPE_DATETIMELOCAL;
-ENABLE_INPUT_TYPE_DATETIMELOCAL_iphonesimulator = $(ENABLE_INPUT_TYPE_DATETIMELOCAL_iphoneos);
-ENABLE_INPUT_TYPE_MONTH = $(ENABLE_INPUT_TYPE_MONTH_$(PLATFORM_NAME));
-ENABLE_INPUT_TYPE_MONTH_iphoneos = ENABLE_INPUT_TYPE_MONTH;
-ENABLE_INPUT_TYPE_MONTH_iphonesimulator = $(ENABLE_INPUT_TYPE_MONTH_iphoneos);
-ENABLE_INPUT_TYPE_TIME = $(ENABLE_INPUT_TYPE_TIME_$(PLATFORM_NAME));
-ENABLE_INPUT_TYPE_TIME_iphoneos = ENABLE_INPUT_TYPE_TIME;
-ENABLE_INPUT_TYPE_TIME_iphonesimulator = $(ENABLE_INPUT_TYPE_TIME_iphoneos);
-ENABLE_INPUT_TYPE_WEEK = $(ENABLE_INPUT_TYPE_WEEK_$(PLATFORM_NAME));
-ENABLE_INPUT_TYPE_WEEK_iphoneos = ENABLE_INPUT_TYPE_WEEK;
-ENABLE_INPUT_TYPE_WEEK_iphonesimulator = $(ENABLE_INPUT_TYPE_WEEK_iphoneos);
-ENABLE_JAVASCRIPT_DEBUGGER = ENABLE_JAVASCRIPT_DEBUGGER;
-ENABLE_LEGACY_CSS_VENDOR_PREFIXES = ENABLE_LEGACY_CSS_VENDOR_PREFIXES;
-ENABLE_LEGACY_NOTIFICATIONS = $(ENABLE_LEGACY_NOTIFICATIONS_$(PLATFORM_NAME));
-ENABLE_LEGACY_NOTIFICATIONS_macosx = $(ENABLE_LEGACY_NOTIFICATIONS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-ENABLE_LEGACY_NOTIFICATIONS_macosx_1070 = ;
-ENABLE_LEGACY_NOTIFICATIONS_macosx_1080 = ENABLE_LEGACY_NOTIFICATIONS;
-ENABLE_LEGACY_NOTIFICATIONS_macosx_1090 = ENABLE_LEGACY_NOTIFICATIONS;
-ENABLE_LEGACY_VENDOR_PREFIXES = ENABLE_LEGACY_VENDOR_PREFIXES;
-ENABLE_LEGACY_WEB_AUDIO = ENABLE_LEGACY_WEB_AUDIO;
-ENABLE_LINK_PREFETCH = ;
-ENABLE_MATHML = ENABLE_MATHML;
-ENABLE_MEDIA_SOURCE = ;
-ENABLE_MEDIA_STATISTICS = ;
-ENABLE_METER_ELEMENT = ENABLE_METER_ELEMENT;
-ENABLE_MHTML = ;
-ENABLE_MICRODATA = ;
-ENABLE_MOUSE_CURSOR_SCALE = ENABLE_MOUSE_CURSOR_SCALE;
-ENABLE_NAVIGATOR_CONTENT_UTILS = ;
-ENABLE_NOSNIFF = ;
-ENABLE_NOTIFICATIONS = $(ENABLE_NOTIFICATIONS_$(PLATFORM_NAME));
-ENABLE_NOTIFICATIONS_macosx = $(ENABLE_NOTIFICATIONS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-ENABLE_NOTIFICATIONS_macosx_1070 = ;
-ENABLE_NOTIFICATIONS_macosx_1080 = ENABLE_NOTIFICATIONS;
-ENABLE_NOTIFICATIONS_macosx_1090 = ENABLE_NOTIFICATIONS;
-ENABLE_PAGE_VISIBILITY_API = ENABLE_PAGE_VISIBILITY_API;
-ENABLE_PDFKIT_PLUGIN = $(ENABLE_PDFKIT_PLUGIN_$(PLATFORM_NAME));
-ENABLE_PDFKIT_PLUGIN_macosx = ENABLE_PDFKIT_PLUGIN;
-ENABLE_PLUGIN_PROXY_FOR_VIDEO = $(ENABLE_PLUGIN_PROXY_FOR_VIDEO_$(PLATFORM_NAME));
-ENABLE_PLUGIN_PROXY_FOR_VIDEO_iphoneos = ENABLE_PLUGIN_PROXY_FOR_VIDEO;
-ENABLE_PLUGIN_PROXY_FOR_VIDEO_iphonesimulator = $(ENABLE_PLUGIN_PROXY_FOR_VIDEO_iphoneos);
-ENABLE_PROGRESS_ELEMENT = ENABLE_PROGRESS_ELEMENT;
-ENABLE_PROXIMITY_EVENTS = ;
-ENABLE_PUBLIC_SUFFIX_LIST = $(ENABLE_PUBLIC_SUFFIX_LIST_$(PLATFORM_NAME));
-ENABLE_PUBLIC_SUFFIX_LIST_macosx = $(ENABLE_PUBLIC_SUFFIX_LIST_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-ENABLE_PUBLIC_SUFFIX_LIST_macosx_1070 = ;
-ENABLE_PUBLIC_SUFFIX_LIST_macosx_1080 = ENABLE_PUBLIC_SUFFIX_LIST;
-ENABLE_PUBLIC_SUFFIX_LIST_macosx_1090 = ENABLE_PUBLIC_SUFFIX_LIST;
-ENABLE_QUOTA = ;
-ENABLE_REQUEST_ANIMATION_FRAME = ENABLE_REQUEST_ANIMATION_FRAME;
-ENABLE_RESOLUTION_MEDIA_QUERY = ;
-ENABLE_SCRIPTED_SPEECH = ;
-ENABLE_SHADOW_DOM = ;
-ENABLE_SHARED_WORKERS = ENABLE_SHARED_WORKERS;
-ENABLE_SPEECH_SYNTHESIS = $(ENABLE_SPEECH_SYNTHESIS_$(PLATFORM_NAME));
-ENABLE_SPEECH_SYNTHESIS_macosx = ENABLE_SPEECH_SYNTHESIS;
-ENABLE_SQL_DATABASE = ENABLE_SQL_DATABASE;
-ENABLE_STYLE_SCOPED = ;
-ENABLE_SUBPIXEL_LAYOUT = ;
-ENABLE_SVG = ENABLE_SVG;
-ENABLE_SVG_FONTS = ENABLE_SVG_FONTS;
-ENABLE_TEMPLATE_ELEMENT = ;
-ENABLE_TEXT_AUTOSIZING = ;
-ENABLE_THREADED_HTML_PARSER = ;
-ENABLE_TOUCH_ICON_LOADING = ;
-ENABLE_USERSELECT_ALL = ENABLE_USERSELECT_ALL;
-ENABLE_VIDEO = ENABLE_VIDEO;
-ENABLE_VIDEO_TRACK = $(ENABLE_VIDEO_TRACK_$(PLATFORM_NAME));
-ENABLE_VIDEO_TRACK_macosx = ENABLE_VIDEO_TRACK;
-ENABLE_VIEW_MODE_CSS_MEDIA = ;
-ENABLE_WEBGL = ENABLE_WEBGL;
-ENABLE_WEB_AUDIO = ENABLE_WEB_AUDIO;
-ENABLE_WEB_SOCKETS = ENABLE_WEB_SOCKETS;
-ENABLE_WEB_TIMING = ;
-ENABLE_WORKERS = ENABLE_WORKERS;
-ENABLE_XHR_TIMEOUT = ENABLE_XHR_TIMEOUT;
-ENABLE_XSLT = ENABLE_XSLT;
-
-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_BLOB) $(ENABLE_CACHE_PARTITIONING) $(ENABLE_CANVAS_PATH) $(ENABLE_CANVAS_PROXY) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_DEVICE_ADAPTATION) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_SHAPES) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_CONDITIONAL_RULES) $(ENABLE_CSS3_TEXT) $(ENABLE_CSS3_TEXT_LINE_BREAK) $(ENABLE_CURSOR_VISIBILITY) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_DOM4_EVENTS_CONSTRUCTOR) $(ENABLE_DRAGGABLE_REGION) $(ENABLE_ENCRYPTED_MEDIA) $(ENABLE_ENCRYPTED_MEDIA_V2) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FONT_LOAD_EVENTS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LEGACY_VENDOR_PREFIXES) $(ENABLE_LEGACY_WEB_AUDIO) $(ENABLE_LINK_PREFETCH) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MOUSE_CURSOR_SCALE) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PDFKIT_PLUGIN) $(ENABLE_PLUGIN_PROXY_FOR_VIDEO) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_PROXIMITY_EVENTS) $(ENABLE_PUBLIC_SUFFIX_LIST) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_RESOLUTION_MEDIA_QUERY) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SPEECH_SYNTHESIS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SUBPIXEL_LAYOUT) $(ENABLE_SVG) $(ENABLE_SVG_FONTS) $(ENABLE_TEMPLATE_ELEMENT) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_THREADED_HTML_PARSER) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_USERSELECT_ALL) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_VIEW_MODE_CSS_MEDIA) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WORKERS) $(ENABLE_XHR_TIMEOUT) $(ENABLE_XSLT) $(FEATURE_DEFINES_$(PLATFORM_NAME));
diff --git a/Source/WebKit/mac/Configurations/Version.xcconfig b/Source/WebKit/mac/Configurations/Version.xcconfig
index 1ba128a0c..0b5600b61 100644
--- a/Source/WebKit/mac/Configurations/Version.xcconfig
+++ b/Source/WebKit/mac/Configurations/Version.xcconfig
@@ -21,23 +21,23 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-MAJOR_VERSION = 538;
+MAJOR_VERSION = 602;
MINOR_VERSION = 1;
-TINY_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION);
+TINY_VERSION = 20;
+MICRO_VERSION = 0;
+NANO_VERSION = 0;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
// The bundle version and short version string are set based on the current build configuration, see below.
BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));
SHORT_VERSION_STRING = $(SHORT_VERSION_STRING_$(CONFIGURATION))
// The system version prefix is based on the current system version.
-SYSTEM_VERSION_PREFIX = $(SYSTEM_VERSION_PREFIX_$(PLATFORM_NAME));
-SYSTEM_VERSION_PREFIX_iphoneos = 6; // iPhone OS is most like SnowLeopard currently.
-SYSTEM_VERSION_PREFIX_iphonesimulator = $(SYSTEM_VERSION_PREFIX_iphoneos);
-SYSTEM_VERSION_PREFIX_macosx = $(SYSTEM_VERSION_PREFIX_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-SYSTEM_VERSION_PREFIX_macosx_1070 = 7;
-SYSTEM_VERSION_PREFIX_macosx_1080 = 8;
-SYSTEM_VERSION_PREFIX_macosx_1090 = 9;
+SYSTEM_VERSION_PREFIX[sdk=iphone*] = 8;
+SYSTEM_VERSION_PREFIX = $(SYSTEM_VERSION_PREFIX_$(PLATFORM_NAME)_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+SYSTEM_VERSION_PREFIX_macosx_101000 = 10;
+SYSTEM_VERSION_PREFIX_macosx_101100 = 11;
+SYSTEM_VERSION_PREFIX_macosx_101200 = 12;
// The production build always uses the full version with a system version prefix.
BUNDLE_VERSION_Production = $(SYSTEM_VERSION_PREFIX)$(FULL_VERSION);
diff --git a/Source/WebKit/mac/Configurations/WebKit.xcconfig b/Source/WebKit/mac/Configurations/WebKit.xcconfig
deleted file mode 100644
index cfad0eb0e..000000000
--- a/Source/WebKit/mac/Configurations/WebKit.xcconfig
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright (C) 2009, 2010 Apple 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 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 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 "FeatureDefines.xcconfig"
-#include "Version.xcconfig"
-
-EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME));
-EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *.nib *.pdf *.tiff;
-EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator = $(EXCLUDED_SOURCE_FILE_NAMES_iphoneos);
-
-EXPORTED_SYMBOLS_FILE = $(EXPORTED_SYMBOLS_FILE_$(CURRENT_ARCH));
-EXPORTED_SYMBOLS_FILE_ = mac/WebKit.exp;
-EXPORTED_SYMBOLS_FILE_armv6 = $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/WebKit.generated.exp;
-EXPORTED_SYMBOLS_FILE_armv7 = $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/WebKit.generated.exp;
-EXPORTED_SYMBOLS_FILE_i386 = mac/WebKit.exp;
-EXPORTED_SYMBOLS_FILE_ppc = mac/WebKit.exp;
-EXPORTED_SYMBOLS_FILE_x86_64 = $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit/WebKit.LP64.exp;
-
-FRAMEWORK_SEARCH_PATHS = $(FRAMEWORK_SEARCH_PATHS_$(PLATFORM_NAME));
-FRAMEWORK_SEARCH_PATHS_iphoneos = $(FRAMEWORK_SEARCH_PATHS_iphoneos_$(CONFIGURATION));
-FRAMEWORK_SEARCH_PATHS_iphoneos_Debug = $(BUILT_PRODUCTS_DIR) $(PRODUCTION_FRAMEWORKS_DIR);
-FRAMEWORK_SEARCH_PATHS_iphoneos_Release = $(FRAMEWORK_SEARCH_PATHS_iphoneos_Debug);
-FRAMEWORK_SEARCH_PATHS_iphoneos_Production = $(PRODUCTION_FRAMEWORKS_DIR);
-FRAMEWORK_SEARCH_PATHS_iphonesimulator = $(FRAMEWORK_SEARCH_PATHS_iphoneos_$(CONFIGURATION));
-FRAMEWORK_SEARCH_PATHS_macosx = $(STAGED_FRAMEWORKS_SEARCH_PATH) $(UMBRELLA_FRAMEWORKS_DIR) $(SYSTEM_LIBRARY_DIR)/Frameworks/ApplicationServices.framework/Frameworks $(SYSTEM_LIBRARY_DIR)/Frameworks/Carbon.framework/Frameworks $(SYSTEM_LIBRARY_DIR)/Frameworks/Quartz.framework/Frameworks $(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Frameworks $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks $(FRAMEWORK_SEARCH_PATHS);
-
-STAGED_FRAMEWORKS_SEARCH_PATH = $(STAGED_FRAMEWORKS_SEARCH_PATH_$(USE_STAGING_INSTALL_PATH));
-STAGED_FRAMEWORKS_SEARCH_PATH_YES = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
-
-GCC_PREFIX_HEADER = mac/WebKitPrefix.h;
-GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) $(FEATURE_DEFINES) FRAMEWORK_NAME=WebKit WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST $(GCC_PREPROCESSOR_DEFINITIONS);
-HEADER_SEARCH_PATHS = $(WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH) $(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders $(WEBCORE_PRIVATE_HEADERS_DIR)/icu "${BUILT_PRODUCTS_DIR}/DerivedSources/WebKit" $(HEADER_SEARCH_PATHS);
-INFOPLIST_FILE = mac/Info.plist;
-INSTALL_PATH = $(INSTALL_PATH_$(PLATFORM_NAME));
-INSTALL_PATH_iphoneos = $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
-INSTALL_PATH_iphonesimulator = $(INDIGO_INSTALL_PATH_PREFIX)$(INSTALL_PATH_ACTUAL);
-INSTALL_PATH_macosx = $(WEBKIT_FRAMEWORKS_DIR);
-INSTALL_PATH_ACTUAL = $(INSTALL_PATH_ACTUAL_$(PLATFORM_NAME));
-INSTALL_PATH_ACTUAL_iphonesimulator = $(INSTALL_PATH_iphoneos);
-DYLIB_INSTALL_NAME_BASE = $(DYLIB_INSTALL_NAME_BASE_$(PLATFORM_NAME));
-DYLIB_INSTALL_NAME_BASE_macosx = $(NORMAL_WEBKIT_FRAMEWORKS_DIR);
-DYLIB_INSTALL_NAME_BASE_iphoneos = $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
-DYLIB_INSTALL_NAME_BASE_iphonesimulator = $(SDKROOT)$(DYLIB_INSTALL_NAME_BASE_iphoneos);
-INSTALLHDRS_COPY_PHASE = YES;
-INSTALLHDRS_SCRIPT_PHASE = YES;
-PRODUCT_NAME = WebKit;
-UMBRELLA_FRAMEWORKS_DIR = $(PRODUCTION_FRAMEWORKS_DIR)/WebKit.framework/Versions/A/Frameworks;
-
-OTHER_LDFLAGS_BASE = -licucore -framework JavaScriptCore -framework QuartzCore -framework WebCore;
-OTHER_LDFLAGS = $(OTHER_LDFLAGS_BASE) $(OTHER_LDFLAGS_$(PLATFORM_NAME));
-OTHER_LDFLAGS_iphoneos = -lobjc -framework CFNetwork -framework CoreFoundation -framework CoreGraphics -framework CoreText -framework Foundation -framework GraphicsServices -framework ImageIO;
-OTHER_LDFLAGS_iphonesimulator = $(OTHER_LDFLAGS_iphoneos);
-OTHER_LDFLAGS_macosx = -sub_umbrella WebCore -framework Carbon -framework Cocoa -framework DiskArbitration -framework IOKit -framework OpenGL -framework Security;
-
-NORMAL_WEBKIT_FRAMEWORKS_DIR = $(NORMAL_WEBKIT_FRAMEWORKS_DIR_$(PLATFORM_NAME));
-NORMAL_WEBKIT_FRAMEWORKS_DIR_iphoneos = $(PRODUCTION_FRAMEWORKS_DIR);
-NORMAL_WEBKIT_FRAMEWORKS_DIR_iphonesimulator = $(PRODUCTION_FRAMEWORKS_DIR);
-NORMAL_WEBKIT_FRAMEWORKS_DIR_macosx = $(SYSTEM_LIBRARY_DIR)/Frameworks;
-
-WEBKIT_FRAMEWORKS_DIR = $(WEBKIT_FRAMEWORKS_DIR_$(PLATFORM_NAME));
-WEBKIT_FRAMEWORKS_DIR_iphoneos = $(NORMAL_WEBKIT_FRAMEWORKS_DIR_iphoneos);
-WEBKIT_FRAMEWORKS_DIR_iphonesimulator = $(WEBKIT_FRAMEWORKS_DIR_iphoneos);
-WEBKIT_FRAMEWORKS_DIR_macosx = $(WEBKIT_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
-WEBKIT_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_ = $(WEBKIT_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO);
-WEBKIT_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO = $(NORMAL_WEBKIT_FRAMEWORKS_DIR);
-WEBKIT_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_YES = $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
-
-NORMAL_PRODUCTION_FRAMEWORKS_DIR = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR_$(PLATFORM_NAME));
-NORMAL_PRODUCTION_FRAMEWORKS_DIR_iphoneos = $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
-NORMAL_PRODUCTION_FRAMEWORKS_DIR_iphonesimulator = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR_iphoneos);
-NORMAL_PRODUCTION_FRAMEWORKS_DIR_macosx = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/Frameworks;
-
-PRODUCTION_FRAMEWORKS_DIR = $(PRODUCTION_FRAMEWORKS_DIR_$(PLATFORM_NAME));
-PRODUCTION_FRAMEWORKS_DIR_iphoneos = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR_iphoneos);
-PRODUCTION_FRAMEWORKS_DIR_iphonesimulator = $(PRODUCTION_FRAMEWORKS_DIR_iphoneos);
-PRODUCTION_FRAMEWORKS_DIR_macosx = $(PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
-PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_ = $(PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO);
-PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_NO = $(NORMAL_PRODUCTION_FRAMEWORKS_DIR_macosx);
-PRODUCTION_FRAMEWORKS_DIR_macosx_USE_STAGING_INSTALL_PATH_YES = $(NEXT_ROOT)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari;
-
-
-PRODUCTION_ROOT = $(PRODUCTION_ROOT_$(REAL_PLATORM_NAME));
-PRODUCTION_ROOT_iphoneos = $(SDKROOT);
-PRODUCTION_ROOT_iphonesimulator = $(SDKROOT);
-PRODUCTION_ROOT_macosx = $(NEXT_ROOT);
-
-WEBCORE_PRIVATE_HEADERS_DIR = $(WEBCORE_PRIVATE_HEADERS_DIR_$(CONFIGURATION));
-WEBCORE_PRIVATE_HEADERS_DIR_Release = $(WEBCORE_PRIVATE_HEADERS_engineering);
-WEBCORE_PRIVATE_HEADERS_DIR_Debug = $(WEBCORE_PRIVATE_HEADERS_engineering);
-WEBCORE_PRIVATE_HEADERS_DIR_Production = $(WEBCORE_PRIVATE_HEADERS_DIR_Production_$(PLATFORM_NAME));
-WEBCORE_PRIVATE_HEADERS_DIR_Production_iphoneos = $(PRODUCTION_FRAMEWORKS_DIR)/WebCore.framework/PrivateHeaders;
-WEBCORE_PRIVATE_HEADERS_DIR_Production_iphonesimulator = $(WEBCORE_PRIVATE_HEADERS_DIR_Production_iphoneos);
-WEBCORE_PRIVATE_HEADERS_DIR_Production_macosx = $(SDKROOT)$(WEBCORE_PRIVATE_HEADERS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_$(USE_STAGING_INSTALL_PATH));
-WEBCORE_PRIVATE_HEADERS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_ = $(WEBCORE_PRIVATE_HEADERS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_NO);
-WEBCORE_PRIVATE_HEADERS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_NO = $(UMBRELLA_FRAMEWORKS_DIR)/WebCore.framework/PrivateHeaders;
-WEBCORE_PRIVATE_HEADERS_DIR_Production_macosx_USE_STAGING_INSTALL_PATH_YES = $(PRODUCTION_FRAMEWORKS_DIR)/WebCore.framework/PrivateHeaders;
-WEBCORE_PRIVATE_HEADERS_engineering = $(BUILT_PRODUCTS_DIR)/WebCore.framework/PrivateHeaders;
-
-WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH = $(WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_$(CONFIGURATION));
-WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_Debug = $(WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_engineering);
-WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_Release = $(WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_engineering);
-WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_Production = $(PRODUCTION_ROOT)/usr/local/include;
-WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_engineering = $(WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_engineering_$(PLATFORM_NAME));
-WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_engineering_iphoneos = $(BUILT_PRODUCTS_DIR)/usr/local/include;
-WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_engineering_iphonesimulator = $(BUILT_PRODUCTS_DIR)$(PRODUCTION_ROOT_iphonesimulator)/usr/local/include;
-WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_engineering_macosx = $(BUILT_PRODUCTS_DIR)/usr/local/include;
-
diff --git a/Source/WebKit/mac/DOM/WebDOMOperations.h b/Source/WebKit/mac/DOM/WebDOMOperations.h
deleted file mode 100644
index 606dd19aa..000000000
--- a/Source/WebKit/mac/DOM/WebDOMOperations.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2004, 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/DOMCore.h>
-#import <WebKit/DOMHTML.h>
-#import <WebKit/DOMRange.h>
-
-@class WebArchive;
-@class WebFrame;
-
-@interface DOMNode (WebDOMNodeOperations)
-
-/*!
- @method webArchive
- @result A WebArchive representing the node and the children of the node.
-*/
-- (WebArchive *)webArchive;
-
-@end
-
-@interface DOMDocument (WebDOMDocumentOperations)
-
-/*!
- @method webFrame
- @abstract Returns the frame of the DOM document.
-*/
-- (WebFrame *)webFrame;
-
-/*!
- @method URLWithAttributeString:
- @abstract Constructs a URL given an attribute string.
- @discussion This method constructs a URL given an attribute string just as WebKit does.
- An attribute string is the value of an attribute of an element such as the href attribute on
- the DOMHTMLAnchorElement class. This method is only applicable to attributes that refer to URLs.
-*/
-- (NSURL *)URLWithAttributeString:(NSString *)string;
-
-@end
-
-@interface DOMRange (WebDOMRangeOperations)
-
-/*!
- @method webArchive
- @result A WebArchive representing the range.
-*/
-- (WebArchive *)webArchive;
-
-/*!
- @method markupString
- @result A markup string representing the range.
-*/
-- (NSString *)markupString;
-
-@end
-
-@interface DOMHTMLFrameElement (WebDOMHTMLFrameElementOperations)
-
-/*!
- @method contentFrame
- @abstract Returns the content frame of the element.
-*/
-- (WebFrame *)contentFrame;
-
-@end
-
-@interface DOMHTMLIFrameElement (WebDOMHTMLIFrameElementOperations)
-
-/*!
- @method contentFrame
- @abstract Returns the content frame of the element.
-*/
-- (WebFrame *)contentFrame;
-
-@end
-
-@interface DOMHTMLObjectElement (WebDOMHTMLObjectElementOperations)
-
-/*!
- @method contentFrame
- @abstract Returns the content frame of the element.
- @discussion Returns non-nil only if the object represents a child frame
- such as if the data of the object is HTML content.
-*/
-- (WebFrame *)contentFrame;
-
-@end
diff --git a/Source/WebKit/mac/DOM/WebDOMOperations.mm b/Source/WebKit/mac/DOM/WebDOMOperations.mm
deleted file mode 100644
index 4e70b2142..000000000
--- a/Source/WebKit/mac/DOM/WebDOMOperations.mm
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (C) 2005, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebDOMOperationsPrivate.h"
-
-#import "DOMDocumentInternal.h"
-#import "DOMElementInternal.h"
-#import "DOMNodeInternal.h"
-#import "DOMRangeInternal.h"
-#import "WebArchiveInternal.h"
-#import "WebDataSourcePrivate.h"
-#import "WebFrameInternal.h"
-#import "WebFrameLoaderClient.h"
-#import "WebFramePrivate.h"
-#import "WebKitNSStringExtras.h"
-#import <JavaScriptCore/APICast.h>
-#import <WebCore/Document.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/HTMLInputElement.h>
-#import <WebCore/HTMLParserIdioms.h>
-#import <WebCore/JSElement.h>
-#import <WebCore/LegacyWebArchive.h>
-#import <WebCore/markup.h>
-#import <WebCore/RenderTreeAsText.h>
-#import <WebCore/ShadowRoot.h>
-#import <WebKit/DOMExtensions.h>
-#import <WebKit/DOMHTML.h>
-#import <runtime/JSLock.h>
-#import <runtime/JSCJSValue.h>
-#import <wtf/Assertions.h>
-
-using namespace WebCore;
-using namespace JSC;
-
-@implementation DOMElement (WebDOMElementOperationsPrivate)
-
-+ (DOMElement *)_DOMElementFromJSContext:(JSContextRef)context value:(JSValueRef)value
-{
- if (!context)
- return 0;
-
- if (!value)
- return 0;
-
- ExecState* exec = toJS(context);
- JSLockHolder lock(exec);
- return kit(toElement(toJS(exec, value)));
-}
-
-@end
-
-class WebFrameFilter : public WebCore::FrameFilter {
-public:
- WebFrameFilter(WebArchiveSubframeFilter filterBlock);
- ~WebFrameFilter();
-private:
- virtual bool shouldIncludeSubframe(Frame*) const OVERRIDE;
-
- WebArchiveSubframeFilter m_filterBlock;
-};
-
-WebFrameFilter::WebFrameFilter(WebArchiveSubframeFilter filterBlock)
- : m_filterBlock(Block_copy(filterBlock))
-{
-}
-
-WebFrameFilter::~WebFrameFilter()
-{
- Block_release(m_filterBlock);
-}
-
-bool WebFrameFilter::shouldIncludeSubframe(Frame* frame) const
-{
- if (!m_filterBlock)
- return true;
-
- return m_filterBlock(kit(frame));
-}
-
-@implementation DOMNode (WebDOMNodeOperations)
-
-- (WebArchive *)webArchive
-{
- return [[[WebArchive alloc] _initWithCoreLegacyWebArchive:LegacyWebArchive::create(core(self))] autorelease];
-}
-
-- (WebArchive *)webArchiveByFilteringSubframes:(WebArchiveSubframeFilter)webArchiveSubframeFilter
-{
- WebFrameFilter filter(webArchiveSubframeFilter);
- return [[[WebArchive alloc] _initWithCoreLegacyWebArchive:LegacyWebArchive::create(core(self), &filter)] autorelease];
-}
-
-@end
-
-@implementation DOMNode (WebDOMNodeOperationsPendingPublic)
-
-- (NSString *)markupString
-{
- return createFullMarkup(core(self));
-}
-
-- (NSRect)_renderRect:(bool *)isReplaced
-{
- return NSRect(core(self)->pixelSnappedRenderRect(isReplaced));
-}
-
-@end
-
-@implementation DOMDocument (WebDOMDocumentOperations)
-
-- (WebFrame *)webFrame
-{
- Frame* frame = core(self)->frame();
- if (!frame)
- return nil;
- return kit(frame);
-}
-
-- (NSURL *)URLWithAttributeString:(NSString *)string
-{
- return core(self)->completeURL(stripLeadingAndTrailingHTMLSpaces(string));
-}
-
-@end
-
-@implementation DOMDocument (WebDOMDocumentOperationsInternal)
-
-- (DOMRange *)_documentRange
-{
- DOMRange *range = [self createRange];
-
- if (DOMNode* documentElement = [self documentElement])
- [range selectNode:documentElement];
-
- return range;
-}
-
-@end
-
-@implementation DOMRange (WebDOMRangeOperations)
-
-- (WebArchive *)webArchive
-{
- return [[[WebArchive alloc] _initWithCoreLegacyWebArchive:LegacyWebArchive::create(core(self))] autorelease];
-}
-
-- (NSString *)markupString
-{
- return createFullMarkup(core(self));
-}
-
-@end
-
-@implementation DOMHTMLFrameElement (WebDOMHTMLFrameElementOperations)
-
-- (WebFrame *)contentFrame
-{
- return [[self contentDocument] webFrame];
-}
-
-@end
-
-@implementation DOMHTMLIFrameElement (WebDOMHTMLIFrameElementOperations)
-
-- (WebFrame *)contentFrame
-{
- return [[self contentDocument] webFrame];
-}
-
-@end
-
-@implementation DOMHTMLInputElement (WebDOMHTMLInputElementOperationsPrivate)
-
-- (void)_setAutofilled:(BOOL)autofilled
-{
- toHTMLInputElement(core((DOMElement *)self))->setAutofilled(autofilled);
-}
-
-@end
-
-@implementation DOMHTMLObjectElement (WebDOMHTMLObjectElementOperations)
-
-- (WebFrame *)contentFrame
-{
- return [[self contentDocument] webFrame];
-}
-
-@end
diff --git a/Source/WebKit/mac/DOM/WebDOMOperationsInternal.h b/Source/WebKit/mac/DOM/WebDOMOperationsInternal.h
deleted file mode 100644
index c86817d8c..000000000
--- a/Source/WebKit/mac/DOM/WebDOMOperationsInternal.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebDOMOperations.h>
-
-@interface DOMDocument (WebDOMDocumentOperationsInternal)
-- (DOMRange *)_documentRange;
-@end
diff --git a/Source/WebKit/mac/DOM/WebDOMOperationsPrivate.h b/Source/WebKit/mac/DOM/WebDOMOperationsPrivate.h
deleted file mode 100644
index 3c7d6a077..000000000
--- a/Source/WebKit/mac/DOM/WebDOMOperationsPrivate.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2005, 2008, 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebDOMOperations.h>
-#import <JavaScriptCore/JSBase.h>
-
-@interface DOMElement (WebDOMElementOperationsPrivate)
-+ (DOMElement *)_DOMElementFromJSContext:(JSContextRef)context value:(JSValueRef)value;
-@end
-
-@interface DOMHTMLInputElement (WebDOMHTMLInputElementOperationsPrivate)
-- (void)_setAutofilled:(BOOL)autofilled;
-@end
-
-@interface DOMNode (WebDOMNodeOperationsPendingPublic)
-- (NSString *)markupString;
-- (NSRect)_renderRect:(bool *)isReplaced;
-@end
-
-typedef BOOL (^WebArchiveSubframeFilter)(WebFrame* subframe);
-
-@interface DOMNode (WebDOMNodeOperationsPrivate)
-- (WebArchive *)webArchiveByFilteringSubframes:(WebArchiveSubframeFilter)webArchiveSubframeFilter;
-@end
diff --git a/Source/WebKit/mac/DefaultDelegates/WebDefaultContextMenuDelegate.h b/Source/WebKit/mac/DefaultDelegates/WebDefaultContextMenuDelegate.h
deleted file mode 100644
index 98ef76b0c..000000000
--- a/Source/WebKit/mac/DefaultDelegates/WebDefaultContextMenuDelegate.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import <WebKit/WebDefaultUIDelegate.h>
-
-@interface WebDefaultUIDelegate (WebContextMenu)
-@end
diff --git a/Source/WebKit/mac/DefaultDelegates/WebDefaultContextMenuDelegate.mm b/Source/WebKit/mac/DefaultDelegates/WebDefaultContextMenuDelegate.mm
deleted file mode 100644
index bc2dfbe83..000000000
--- a/Source/WebKit/mac/DefaultDelegates/WebDefaultContextMenuDelegate.mm
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebDefaultContextMenuDelegate.h"
-
-#import "WebDOMOperations.h"
-#import "WebDataSourcePrivate.h"
-#import "WebDefaultUIDelegate.h"
-#import "WebFrameInternal.h"
-#import "WebFrameView.h"
-#import "WebHTMLViewPrivate.h"
-#import "WebLocalizableStringsInternal.h"
-#import "WebNSPasteboardExtras.h"
-#import "WebNSURLRequestExtras.h"
-#import "WebPolicyDelegate.h"
-#import "WebUIDelegate.h"
-#import "WebUIDelegatePrivate.h"
-#import "WebViewInternal.h"
-#import <Foundation/NSURLConnection.h>
-#import <Foundation/NSURLRequest.h>
-#import <WebCore/Editor.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebKit/DOM.h>
-#import <WebKit/DOMPrivate.h>
-#import <WebKitSystemInterface.h>
-#import <wtf/Assertions.h>
-
-@implementation WebDefaultUIDelegate (WebContextMenu)
-
-- (NSMenuItem *)menuItemWithTag:(int)tag target:(id)target representedObject:(id)representedObject
-{
- NSMenuItem *menuItem = [[[NSMenuItem alloc] init] autorelease];
- [menuItem setTag:tag];
- [menuItem setTarget:target]; // can be nil
- [menuItem setRepresentedObject:representedObject];
-
- NSString *title = nil;
- SEL action = NULL;
-
- switch(tag) {
- case WebMenuItemTagCopy:
- title = UI_STRING_INTERNAL("Copy", "Copy context menu item");
- action = @selector(copy:);
- break;
- case WebMenuItemTagGoBack:
- title = UI_STRING_INTERNAL("Back", "Back context menu item");
- action = @selector(goBack:);
- break;
- case WebMenuItemTagGoForward:
- title = UI_STRING_INTERNAL("Forward", "Forward context menu item");
- action = @selector(goForward:);
- break;
- case WebMenuItemTagStop:
- title = UI_STRING_INTERNAL("Stop", "Stop context menu item");
- action = @selector(stopLoading:);
- break;
- case WebMenuItemTagReload:
- title = UI_STRING_INTERNAL("Reload", "Reload context menu item");
- action = @selector(reload:);
- break;
- case WebMenuItemTagSearchInSpotlight:
- title = UI_STRING_INTERNAL("Search in Spotlight", "Search in Spotlight context menu item");
- action = @selector(_searchWithSpotlightFromMenu:);
- break;
- case WebMenuItemTagSearchWeb: {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- RetainPtr<CFStringRef> searchProviderName = adoptCF(WKCopyDefaultSearchProviderDisplayName());
- title = [NSString stringWithFormat:UI_STRING_INTERNAL("Search with %@", "Search with search provider context menu item with provider name inserted"), searchProviderName.get()];
-#else
- title = UI_STRING_INTERNAL("Search with Google", "Search with Google context menu item");
-#endif
- action = @selector(_searchWithGoogleFromMenu:);
- break;
- }
- case WebMenuItemTagLookUpInDictionary:
- title = UI_STRING_INTERNAL("Look Up in Dictionary", "Look Up in Dictionary context menu item");
- action = @selector(_lookUpInDictionaryFromMenu:);
- break;
- case WebMenuItemTagOpenFrameInNewWindow:
- title = UI_STRING_INTERNAL("Open Frame in New Window", "Open Frame in New Window context menu item");
- action = @selector(_openFrameInNewWindowFromMenu:);
- break;
- default:
- ASSERT_NOT_REACHED();
- return nil;
- }
-
- if (title)
- [menuItem setTitle:title];
-
- [menuItem setAction:action];
-
- return menuItem;
-}
-
-- (void)appendDefaultItems:(NSArray *)defaultItems toArray:(NSMutableArray *)menuItems
-{
- ASSERT_ARG(menuItems, menuItems != nil);
- if ([defaultItems count] > 0) {
- ASSERT(![[menuItems lastObject] isSeparatorItem]);
- if (![[defaultItems objectAtIndex:0] isSeparatorItem]) {
- [menuItems addObject:[NSMenuItem separatorItem]];
-
- NSEnumerator *e = [defaultItems objectEnumerator];
- NSMenuItem *item;
- while ((item = [e nextObject]) != nil) {
- [menuItems addObject:item];
- }
- }
- }
-}
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED == 1060
-#define INCLUDE_SPOTLIGHT_CONTEXT_MENU_ITEM 1
-#else
-#define INCLUDE_SPOTLIGHT_CONTEXT_MENU_ITEM 0
-#endif
-
-- (NSArray *)webView:(WebView *)wv contextMenuItemsForElement:(NSDictionary *)element defaultMenuItems:(NSArray *)defaultMenuItems
-{
- // The defaultMenuItems here are ones supplied by the WebDocumentView protocol implementation. WebPDFView is
- // one case that has non-nil default items here.
- NSMutableArray *menuItems = [NSMutableArray array];
-
- WebFrame *webFrame = [element objectForKey:WebElementFrameKey];
-
- if ([[element objectForKey:WebElementIsSelectedKey] boolValue]) {
- // The Spotlight and Google items are implemented in WebView, and require that the
- // current document view conforms to WebDocumentText
- ASSERT([[[webFrame frameView] documentView] conformsToProtocol:@protocol(WebDocumentText)]);
-
- // FIXME 4184640: The Look Up in Dictionary item is only implemented in WebHTMLView, and so is present but
- // dimmed for other cases where WebElementIsSelectedKey is present. It would probably
- // be better not to include it in the menu if the documentView isn't a WebHTMLView, but that could break
- // existing clients that have code that relies on it being present (unlikely for clients outside of Apple,
- // but Safari has such code).
-
-#if INCLUDE_SPOTLIGHT_CONTEXT_MENU_ITEM
- [menuItems addObject:[self menuItemWithTag:WebMenuItemTagSearchInSpotlight target:nil representedObject:element]];
-#else
- NSMenuItem *lookupMenuItem = [self menuItemWithTag:WebMenuItemTagLookUpInDictionary target:nil representedObject:element];
- NSString *selectedString = [(id <WebDocumentText>)[[webFrame frameView] documentView] selectedString];
- [lookupMenuItem setTitle:[NSString stringWithFormat:UI_STRING_INTERNAL("Look Up “%@”", "Look Up context menu item with selected word"), selectedString]];
- [menuItems addObject:lookupMenuItem];
-#endif
-
- [menuItems addObject:[self menuItemWithTag:WebMenuItemTagSearchWeb target:nil representedObject:element]];
-
-#if INCLUDE_SPOTLIGHT_CONTEXT_MENU_ITEM
- [menuItems addObject:[NSMenuItem separatorItem]];
- [menuItems addObject:[self menuItemWithTag:WebMenuItemTagLookUpInDictionary target:nil representedObject:element]];
-#endif
-
- [menuItems addObject:[NSMenuItem separatorItem]];
- [menuItems addObject:[self menuItemWithTag:WebMenuItemTagCopy target:nil representedObject:element]];
- } else {
- WebView *wv = [webFrame webView];
- if ([wv canGoBack]) {
- [menuItems addObject:[self menuItemWithTag:WebMenuItemTagGoBack target:wv representedObject:element]];
- }
- if ([wv canGoForward]) {
- [menuItems addObject:[self menuItemWithTag:WebMenuItemTagGoForward target:wv representedObject:element]];
- }
- if ([wv isLoading]) {
- [menuItems addObject:[self menuItemWithTag:WebMenuItemTagStop target:wv representedObject:element]];
- } else {
- [menuItems addObject:[self menuItemWithTag:WebMenuItemTagReload target:wv representedObject:element]];
- }
-
- if (webFrame != [wv mainFrame]) {
- [menuItems addObject:[self menuItemWithTag:WebMenuItemTagOpenFrameInNewWindow target:wv representedObject:element]];
- }
- }
-
- // Add the default items at the end, if any, after a separator
- [self appendDefaultItems:defaultMenuItems toArray:menuItems];
-
- return menuItems;
-}
-
-@end
diff --git a/Source/WebKit/mac/DefaultDelegates/WebDefaultEditingDelegate.h b/Source/WebKit/mac/DefaultDelegates/WebDefaultEditingDelegate.h
deleted file mode 100644
index c0f7c5b49..000000000
--- a/Source/WebKit/mac/DefaultDelegates/WebDefaultEditingDelegate.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@interface WebDefaultEditingDelegate : NSObject
-+ (WebDefaultEditingDelegate *)sharedEditingDelegate;
-@end
diff --git a/Source/WebKit/mac/DefaultDelegates/WebDefaultEditingDelegate.m b/Source/WebKit/mac/DefaultDelegates/WebDefaultEditingDelegate.m
deleted file mode 100644
index bf7ee17d9..000000000
--- a/Source/WebKit/mac/DefaultDelegates/WebDefaultEditingDelegate.m
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-#import <WebKit/WebDefaultEditingDelegate.h>
-
-#import <WebKit/DOM.h>
-#import <WebKit/WebEditingDelegate.h>
-#import <WebKit/WebEditingDelegatePrivate.h>
-#import <WebKit/WebView.h>
-
-@implementation WebDefaultEditingDelegate
-
-static WebDefaultEditingDelegate *sharedDelegate = nil;
-
-+ (WebDefaultEditingDelegate *)sharedEditingDelegate
-{
- if (!sharedDelegate) {
- sharedDelegate = [[WebDefaultEditingDelegate alloc] init];
- }
- return sharedDelegate;
-}
-
-- (BOOL)webView:(WebView *)webView shouldShowDeleteInterfaceForElement:(DOMHTMLElement *)element
-{
- return NO;
-}
-
-- (BOOL)webView:(WebView *)webView shouldBeginEditingInDOMRange:(DOMRange *)range
-{
- return YES;
-}
-
-- (BOOL)webView:(WebView *)webView shouldEndEditingInDOMRange:(DOMRange *)range
-{
- return YES;
-}
-
-- (BOOL)webView:(WebView *)webView shouldInsertNode:(DOMNode *)node replacingDOMRange:(DOMRange *)range givenAction:(WebViewInsertAction)action
-{
- return YES;
-}
-
-- (BOOL)webView:(WebView *)webView shouldInsertText:(NSString *)text replacingDOMRange:(DOMRange *)range givenAction:(WebViewInsertAction)action
-{
- return YES;
-}
-
-- (BOOL)webView:(WebView *)webView shouldDeleteDOMRange:(DOMRange *)range
-{
- return YES;
-}
-
-- (BOOL)webView:(WebView *)webView shouldChangeSelectedDOMRange:(DOMRange *)currentRange toDOMRange:(DOMRange *)proposedRange affinity:(NSSelectionAffinity)selectionAffinity stillSelecting:(BOOL)flag
-{
- return YES;
-}
-
-- (BOOL)webView:(WebView *)webView shouldApplyStyle:(DOMCSSStyleDeclaration *)style toElementsInDOMRange:(DOMRange *)range
-{
- return YES;
-}
-
-- (BOOL)webView:(WebView *)webView shouldMoveRangeAfterDelete:(DOMRange *)range replacingRange:(DOMRange *)rangeToBeReplaced
-{
- return YES;
-}
-
-- (BOOL)webView:(WebView *)webView shouldChangeTypingStyle:(DOMCSSStyleDeclaration *)currentStyle toStyle:(DOMCSSStyleDeclaration *)proposedStyle
-{
- return YES;
-}
-
-- (BOOL)webView:(WebView *)webView doCommandBySelector:(SEL)selector
-{
- return NO;
-}
-
-- (void)webView:(WebView *)webView didWriteSelectionToPasteboard:(NSPasteboard *)pasteboard
-{
-}
-
-- (void)webView:(WebView *)webView didSetSelectionTypesForPasteboard:(NSPasteboard *)pasteboard
-{
-}
-
-- (void)webViewDidBeginEditing:(NSNotification *)notification
-{
-}
-
-- (void)webViewDidChange:(NSNotification *)notification
-{
-}
-
-- (void)webViewDidEndEditing:(NSNotification *)notification
-{
-}
-
-- (void)webViewDidChangeTypingStyle:(NSNotification *)notification
-{
-}
-
-- (void)webViewDidChangeSelection:(NSNotification *)notification
-{
-}
-
-- (NSUndoManager *)undoManagerForWebView:(WebView *)webView
-{
- return nil;
-}
-
-@end
diff --git a/Source/WebKit/mac/DefaultDelegates/WebDefaultPolicyDelegate.h b/Source/WebKit/mac/DefaultDelegates/WebDefaultPolicyDelegate.h
deleted file mode 100644
index 3796864e5..000000000
--- a/Source/WebKit/mac/DefaultDelegates/WebDefaultPolicyDelegate.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/*!
- @class WebDefaultPolicyDelegate
- @discussion WebDefaultPolicyDelegate will be used as a WebView's
- default policy delegate. It can be subclassed to modify policies.
-*/
-@interface WebDefaultPolicyDelegate : NSObject
-+ (WebDefaultPolicyDelegate *)sharedPolicyDelegate;
-@end
-
diff --git a/Source/WebKit/mac/DefaultDelegates/WebDefaultPolicyDelegate.m b/Source/WebKit/mac/DefaultDelegates/WebDefaultPolicyDelegate.m
deleted file mode 100644
index bad87d5c3..000000000
--- a/Source/WebKit/mac/DefaultDelegates/WebDefaultPolicyDelegate.m
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2005, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebDefaultPolicyDelegate.h"
-
-#import "WebDataSource.h"
-#import "WebFrame.h"
-#import "WebPolicyDelegatePrivate.h"
-#import "WebViewInternal.h"
-#import <Foundation/NSURLConnection.h>
-#import <Foundation/NSURLRequest.h>
-#import <Foundation/NSURLResponse.h>
-#import <wtf/Assertions.h>
-
-@implementation WebDefaultPolicyDelegate
-
-static WebDefaultPolicyDelegate *sharedDelegate = nil;
-
-// Return a object with vanilla implementations of the protocol's methods
-// Note this feature relies on our default delegate being stateless
-+ (WebDefaultPolicyDelegate *)sharedPolicyDelegate
-{
- if (!sharedDelegate) {
- sharedDelegate = [[WebDefaultPolicyDelegate alloc] init];
- }
- return sharedDelegate;
-}
-
-- (void)webView: (WebView *)wv unableToImplementPolicyWithError:(NSError *)error frame:(WebFrame *)frame
-{
- LOG_ERROR("called unableToImplementPolicyWithError:%@ inFrame:%@", error, frame);
-}
-
-
-- (void)webView: (WebView *)wv decidePolicyForMIMEType:(NSString *)type
- request:(NSURLRequest *)request
- frame:(WebFrame *)frame
- decisionListener:(id <WebPolicyDecisionListener>)listener
-{
- if ([[request URL] isFileURL]) {
- BOOL isDirectory = NO;
- BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:[[request URL] path] isDirectory:&isDirectory];
-
- if (exists && !isDirectory && [wv _canShowMIMEType:type])
- [listener use];
- else
- [listener ignore];
- } else if ([wv _canShowMIMEType:type])
- [listener use];
- else
- [listener ignore];
-}
-
-- (void)webView: (WebView *)wv decidePolicyForNavigationAction:(NSDictionary *)actionInformation
- request:(NSURLRequest *)request
- frame:(WebFrame *)frame
- decisionListener:(id <WebPolicyDecisionListener>)listener
-{
- WebNavigationType navType = [[actionInformation objectForKey:WebActionNavigationTypeKey] intValue];
-
- if ([WebView _canHandleRequest:request forMainFrame:frame == [wv mainFrame]]) {
- [listener use];
- } else if (navType == WebNavigationTypePlugInRequest) {
- [listener use];
- } else {
- // A file URL shouldn't fall through to here, but if it did,
- // it would be a security risk to open it.
- if (![[request URL] isFileURL]) {
- [[NSWorkspace sharedWorkspace] openURL:[request URL]];
- }
- [listener ignore];
- }
-}
-
-- (void)webView: (WebView *)wv decidePolicyForNewWindowAction:(NSDictionary *)actionInformation
- request:(NSURLRequest *)request
- newFrameName:(NSString *)frameName
- decisionListener:(id <WebPolicyDecisionListener>)listener
-{
- [listener use];
-}
-
-// Temporary SPI needed for <rdar://problem/3951283> can view pages from the back/forward cache that should be disallowed by Parental Controls
-- (BOOL)webView:(WebView *)webView shouldGoToHistoryItem:(WebHistoryItem *)item
-{
- return YES;
-}
-
-@end
-
diff --git a/Source/WebKit/mac/DefaultDelegates/WebDefaultUIDelegate.h b/Source/WebKit/mac/DefaultDelegates/WebDefaultUIDelegate.h
deleted file mode 100644
index 4315121ad..000000000
--- a/Source/WebKit/mac/DefaultDelegates/WebDefaultUIDelegate.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@interface WebDefaultUIDelegate : NSObject
-{
- IBOutlet NSMenu *defaultMenu;
-}
-+ (WebDefaultUIDelegate *)sharedUIDelegate;
-@end
diff --git a/Source/WebKit/mac/DefaultDelegates/WebDefaultUIDelegate.m b/Source/WebKit/mac/DefaultDelegates/WebDefaultUIDelegate.m
deleted file mode 100644
index e17d8fbf7..000000000
--- a/Source/WebKit/mac/DefaultDelegates/WebDefaultUIDelegate.m
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-#import <Foundation/NSURLRequest.h>
-
-#import <WebKit/WebDefaultUIDelegate.h>
-#import <WebKit/WebJavaScriptTextInputPanel.h>
-#import <WebKit/WebView.h>
-#import <WebKit/WebUIDelegatePrivate.h>
-#import <WebKit/DOM.h>
-#import "WebTypesInternal.h"
-
-@interface NSApplication (DeclarationStolenFromAppKit)
-- (void)_cycleWindowsReversed:(BOOL)reversed;
-@end
-
-@implementation WebDefaultUIDelegate
-
-static WebDefaultUIDelegate *sharedDelegate = nil;
-
-// Return a object with vanilla implementations of the protocol's methods
-// Note this feature relies on our default delegate being stateless. This
-// is probably an invalid assumption for the WebUIDelegate.
-// If we add any real functionality to this default delegate we probably
-// won't be able to use a singleton.
-+ (WebDefaultUIDelegate *)sharedUIDelegate
-{
- if (!sharedDelegate) {
- sharedDelegate = [[WebDefaultUIDelegate alloc] init];
- }
- return sharedDelegate;
-}
-
-- (WebView *)webView: (WebView *)wv createWebViewWithRequest:(NSURLRequest *)request windowFeatures:(NSDictionary *)features
-{
- // If the new API method doesn't exist, fallback to the old version of createWebViewWithRequest
- // for backwards compatability
- if (![[wv UIDelegate] respondsToSelector:@selector(webView:createWebViewWithRequest:windowFeatures:)] && [[wv UIDelegate] respondsToSelector:@selector(webView:createWebViewWithRequest:)])
- return [[wv UIDelegate] webView:wv createWebViewWithRequest:request];
- return nil;
-}
-
-- (void)webViewShow: (WebView *)wv
-{
-}
-
-- (void)webViewClose: (WebView *)wv
-{
- [[wv window] close];
-}
-
-- (void)webViewFocus: (WebView *)wv
-{
- [[wv window] makeKeyAndOrderFront:wv];
-}
-
-- (void)webViewUnfocus: (WebView *)wv
-{
- if ([[wv window] isKeyWindow] || [[[wv window] attachedSheet] isKeyWindow]) {
- [NSApp _cycleWindowsReversed:FALSE];
- }
-}
-
-- (NSResponder *)webViewFirstResponder: (WebView *)wv
-{
- return [[wv window] firstResponder];
-}
-
-- (void)webView: (WebView *)wv makeFirstResponder:(NSResponder *)responder
-{
- [[wv window] makeFirstResponder:responder];
-}
-
-- (void)webView: (WebView *)wv setStatusText:(NSString *)text
-{
-}
-
-- (NSString *)webViewStatusText: (WebView *)wv
-{
- return nil;
-}
-
-- (void)webView: (WebView *)wv mouseDidMoveOverElement:(NSDictionary *)elementInformation modifierFlags:(NSUInteger)modifierFlags
-{
-}
-
-- (BOOL)webViewAreToolbarsVisible: (WebView *)wv
-{
- return NO;
-}
-
-- (void)webView: (WebView *)wv setToolbarsVisible:(BOOL)visible
-{
-}
-
-- (BOOL)webViewIsStatusBarVisible: (WebView *)wv
-{
- return NO;
-}
-
-- (void)webView: (WebView *)wv setStatusBarVisible:(BOOL)visible
-{
-}
-
-- (BOOL)webViewIsResizable: (WebView *)wv
-{
- return [[wv window] showsResizeIndicator];
-}
-
-- (void)webView: (WebView *)wv setResizable:(BOOL)resizable
-{
- // FIXME: This doesn't actually change the resizability of the window,
- // only visibility of the indicator.
- [[wv window] setShowsResizeIndicator:resizable];
-}
-
-- (void)webView: (WebView *)wv setFrame:(NSRect)frame
-{
- [[wv window] setFrame:frame display:YES];
-}
-
-- (NSRect)webViewFrame: (WebView *)wv
-{
- NSWindow *window = [wv window];
- return window == nil ? NSZeroRect : [window frame];
-}
-
-- (void)webView: (WebView *)wv runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame
-{
- // FIXME: We want a default here, but that would add localized strings.
-}
-
-- (BOOL)webView: (WebView *)wv runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame
-{
- // FIXME: We want a default here, but that would add localized strings.
- return NO;
-}
-
-- (NSString *)webView: (WebView *)wv runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)defaultText initiatedByFrame:(WebFrame *)frame
-{
- WebJavaScriptTextInputPanel *panel = [[WebJavaScriptTextInputPanel alloc] initWithPrompt:prompt text:defaultText];
- [panel showWindow:nil];
- NSString *result;
- if ([NSApp runModalForWindow:[panel window]]) {
- result = [panel text];
- } else {
- result = nil;
- }
- [[panel window] close];
- [panel release];
- return result;
-}
-
-- (void)webView: (WebView *)wv runOpenPanelForFileButtonWithResultListener:(id<WebOpenPanelResultListener>)resultListener
-{
- // FIXME: We want a default here, but that would add localized strings.
-}
-
-- (void)webView:(WebView *)sender printFrameView:(WebFrameView *)frameView
-{
-}
-
-
-- (BOOL)webView:(WebView *)webView shouldBeginDragForElement:(NSDictionary *)element dragImage:(NSImage *)dragImage mouseDownEvent:(NSEvent *)mouseDownEvent mouseDraggedEvent:(NSEvent *)mouseDraggedEvent
-{
- return YES;
-}
-
-- (NSUInteger)webView:(WebView *)webView dragDestinationActionMaskForDraggingInfo:(id <NSDraggingInfo>)draggingInfo
-{
- return WebDragDestinationActionAny;
-}
-
-- (void)webView:(WebView *)webView willPerformDragDestinationAction:(WebDragDestinationAction)action forDraggingInfo:(id <NSDraggingInfo>)draggingInfo
-{
-}
-
-- (NSUInteger)webView:(WebView *)webView dragSourceActionMaskForPoint:(NSPoint)point
-{
- return WebDragSourceActionAny;
-}
-
-- (void)webView:(WebView *)webView willPerformDragSourceAction:(WebDragSourceAction)action fromPoint:(NSPoint)point withPasteboard:(NSPasteboard *)pasteboard
-{
-}
-
-- (void)webView:(WebView *)sender didDrawRect:(NSRect)rect
-{
-}
-
-- (void)webView:(WebView *)sender didScrollDocumentInFrameView:(WebFrameView *)frameView
-{
-}
-
-- (void)webView:(WebView *)sender willPopupMenu:(NSMenu *)menu
-{
-}
-
-- (void)webView:(WebView *)sender contextMenuItemSelected:(NSMenuItem *)item forElement:(NSDictionary *)element
-{
-}
-
-- (void)webView:(WebView *)sender exceededApplicationCacheOriginQuotaForSecurityOrigin:(WebSecurityOrigin *)origin totalSpaceNeeded:(NSUInteger)totalSpaceNeeded
-{
-}
-
-- (BOOL)webView:(WebView *)sender shouldReplaceUploadFile:(NSString *)path usingGeneratedFilename:(NSString **)filename
-{
- return NO;
-}
-
-- (NSString *)webView:(WebView *)sender generateReplacementFile:(NSString *)path
-{
- return nil;
-}
-
-@end
diff --git a/Source/WebKit/mac/ForwardingHeaders/collector/handles/Global.h b/Source/WebKit/mac/ForwardingHeaders/collector/handles/Global.h
deleted file mode 100644
index 02065ad24..000000000
--- a/Source/WebKit/mac/ForwardingHeaders/collector/handles/Global.h
+++ /dev/null
@@ -1 +0,0 @@
-#import <JavaScriptCore/Global.h>
diff --git a/Source/WebKit/mac/ForwardingHeaders/debugger/DebuggerCallFrame.h b/Source/WebKit/mac/ForwardingHeaders/debugger/DebuggerCallFrame.h
deleted file mode 100644
index fc658e5be..000000000
--- a/Source/WebKit/mac/ForwardingHeaders/debugger/DebuggerCallFrame.h
+++ /dev/null
@@ -1 +0,0 @@
-#import <JavaScriptCore/DebuggerCallFrame.h>
diff --git a/Source/WebKit/mac/ForwardingHeaders/runtime/Completion.h b/Source/WebKit/mac/ForwardingHeaders/runtime/Completion.h
deleted file mode 100644
index 25f9cecbe..000000000
--- a/Source/WebKit/mac/ForwardingHeaders/runtime/Completion.h
+++ /dev/null
@@ -1 +0,0 @@
-#import <JavaScriptCore/Completion.h>
diff --git a/Source/WebKit/mac/ForwardingHeaders/runtime/Error.h b/Source/WebKit/mac/ForwardingHeaders/runtime/Error.h
deleted file mode 100644
index 05d77529e..000000000
--- a/Source/WebKit/mac/ForwardingHeaders/runtime/Error.h
+++ /dev/null
@@ -1 +0,0 @@
-#import <JavaScriptCore/Error.h>
diff --git a/Source/WebKit/mac/ForwardingHeaders/runtime/JSCJSValue.h b/Source/WebKit/mac/ForwardingHeaders/runtime/JSCJSValue.h
deleted file mode 100644
index c19372fce..000000000
--- a/Source/WebKit/mac/ForwardingHeaders/runtime/JSCJSValue.h
+++ /dev/null
@@ -1 +0,0 @@
-#import <JavaScriptCore/JSCJSValue.h>
diff --git a/Source/WebKit/mac/ForwardingHeaders/runtime/JSFunction.h b/Source/WebKit/mac/ForwardingHeaders/runtime/JSFunction.h
deleted file mode 100644
index 396407d4c..000000000
--- a/Source/WebKit/mac/ForwardingHeaders/runtime/JSFunction.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <JavaScriptCore/JSFunction.h>
diff --git a/Source/WebKit/mac/ForwardingHeaders/runtime/JSLock.h b/Source/WebKit/mac/ForwardingHeaders/runtime/JSLock.h
deleted file mode 100644
index 9f0a0be37..000000000
--- a/Source/WebKit/mac/ForwardingHeaders/runtime/JSLock.h
+++ /dev/null
@@ -1 +0,0 @@
-#import <JavaScriptCore/JSLock.h>
diff --git a/Source/WebKit/mac/ForwardingHeaders/runtime/JSObject.h b/Source/WebKit/mac/ForwardingHeaders/runtime/JSObject.h
deleted file mode 100644
index 5d4c157a7..000000000
--- a/Source/WebKit/mac/ForwardingHeaders/runtime/JSObject.h
+++ /dev/null
@@ -1 +0,0 @@
-#import <JavaScriptCore/JSObject.h>
diff --git a/Source/WebKit/mac/ForwardingHeaders/runtime/JSString.h b/Source/WebKit/mac/ForwardingHeaders/runtime/JSString.h
deleted file mode 100644
index 346912966..000000000
--- a/Source/WebKit/mac/ForwardingHeaders/runtime/JSString.h
+++ /dev/null
@@ -1 +0,0 @@
-#import <JavaScriptCore/JSString.h>
diff --git a/Source/WebKit/mac/ForwardingHeaders/runtime/Protect.h b/Source/WebKit/mac/ForwardingHeaders/runtime/Protect.h
deleted file mode 100644
index f1186aa94..000000000
--- a/Source/WebKit/mac/ForwardingHeaders/runtime/Protect.h
+++ /dev/null
@@ -1 +0,0 @@
-#import <JavaScriptCore/Protect.h>
diff --git a/Source/WebKit/mac/ForwardingHeaders/runtime/SymbolTable.h b/Source/WebKit/mac/ForwardingHeaders/runtime/SymbolTable.h
deleted file mode 100644
index 0868c0283..000000000
--- a/Source/WebKit/mac/ForwardingHeaders/runtime/SymbolTable.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <JavaScriptCore/SymbolTable.h>
diff --git a/Source/WebKit/mac/History/BinaryPropertyList.cpp b/Source/WebKit/mac/History/BinaryPropertyList.cpp
deleted file mode 100644
index e28eb7058..000000000
--- a/Source/WebKit/mac/History/BinaryPropertyList.cpp
+++ /dev/null
@@ -1,824 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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 "BinaryPropertyList.h"
-
-#include <limits>
-#include <wtf/HashMap.h>
-#include <wtf/HashSet.h>
-#include <wtf/text/StringHash.h>
-
-static const size_t headerSize = 8;
-static const size_t trailerSize = 32;
-
-static const UInt8 booleanTrueMarkerByte = 0x09;
-static const UInt8 oneByteIntegerMarkerByte = 0x10;
-static const UInt8 twoByteIntegerMarkerByte = 0x11;
-static const UInt8 fourByteIntegerMarkerByte = 0x12;
-static const UInt8 eightByteIntegerMarkerByte = 0x13;
-static const UInt8 asciiStringMarkerByte = 0x50;
-static const UInt8 asciiStringWithSeparateLengthMarkerByte = 0x5F;
-static const UInt8 unicodeStringMarkerByte = 0x60;
-static const UInt8 unicodeStringWithSeparateLengthMarkerByte = 0x6F;
-static const UInt8 arrayMarkerByte = 0xA0;
-static const UInt8 arrayWithSeparateLengthMarkerByte = 0xAF;
-static const UInt8 dictionaryMarkerByte = 0xD0;
-static const UInt8 dictionaryWithSeparateLengthMarkerByte = 0xDF;
-static const size_t maxLengthInMarkerByte = 0xE;
-
-class IntegerArray {
-public:
- IntegerArray() : m_integers(0), m_size(0) { }
- IntegerArray(const int* integers, size_t size) : m_integers(integers), m_size(size) { ASSERT(integers); ASSERT(size); }
-
- void markDeleted() { m_integers = 0; m_size = deletedValueSize(); }
- bool isDeletedValue() const { return m_size == deletedValueSize(); }
-
- const int* integers() const { ASSERT(!isDeletedValue()); return m_integers; }
- size_t size() const { ASSERT(!isDeletedValue()); return m_size; }
-
-private:
- static size_t deletedValueSize() { return std::numeric_limits<size_t>::max(); }
-
- friend bool operator==(const IntegerArray&, const IntegerArray&);
-
- const int* m_integers;
- size_t m_size;
-};
-
-inline bool operator==(const IntegerArray& a, const IntegerArray& b)
-{
- return a.m_integers == b.m_integers && a.m_size == b.m_size;
-}
-
-struct IntegerArrayHashTraits : WTF::GenericHashTraits<IntegerArray> {
- static const bool needsDestruction = false;
- static void constructDeletedValue(IntegerArray& slot) { slot.markDeleted(); }
- static bool isDeletedValue(const IntegerArray& array) { return array.isDeletedValue(); }
-};
-
-struct IntegerArrayHash {
- static unsigned hash(const IntegerArray&);
- static bool equal(const IntegerArray&, const IntegerArray&);
- static const bool safeToCompareToEmptyOrDeleted = true;
-};
-
-unsigned IntegerArrayHash::hash(const IntegerArray& array)
-{
- return StringHasher::hashMemory(array.integers(), array.size() * sizeof(int));
-}
-
-bool IntegerArrayHash::equal(const IntegerArray& a, const IntegerArray& b)
-{
- if (a.isDeletedValue() || b.isDeletedValue())
- return a.isDeletedValue() == b.isDeletedValue();
- if (a.size() != b.size())
- return false;
- for (size_t i = 0; i < a.size(); ++i) {
- if (a.integers()[i] != b.integers()[i])
- return false;
- }
- return true;
-}
-
-typedef size_t ObjectReference;
-
-class BinaryPropertyListPlan : private BinaryPropertyListObjectStream {
-public:
- BinaryPropertyListPlan(BinaryPropertyListWriter&);
-
- ObjectReference booleanTrueObjectReference() const;
- ObjectReference integerObjectReference(int) const;
- ObjectReference stringObjectReference(const String&) const;
- ObjectReference integerArrayObjectReference(const int*, size_t) const;
-
- ObjectReference objectCount() const { return m_currentObjectReference; }
-
- ObjectReference byteCount() const { return m_byteCount; }
- ObjectReference objectReferenceCount() const { return m_objectReferenceCount; }
-
-private:
- virtual void writeBooleanTrue();
- virtual void writeInteger(int);
- virtual void writeString(const String&);
- virtual void writeIntegerArray(const int*, size_t);
- virtual void writeUniqueString(const String&);
- virtual void writeUniqueString(const char*);
- virtual size_t writeArrayStart();
- virtual void writeArrayEnd(size_t);
- virtual size_t writeDictionaryStart();
- virtual void writeDictionaryEnd(size_t);
-
- void writeArrayObject(size_t);
- void writeDictionaryObject(size_t);
- void writeStringObject(const String&);
- void writeStringObject(const char*);
-
- static ObjectReference invalidObjectReference() { return std::numeric_limits<ObjectReference>::max(); }
-
- typedef HashMap<IntegerArray, ObjectReference, IntegerArrayHash, IntegerArrayHashTraits> IntegerArrayMap;
-
- ObjectReference m_booleanTrueObjectReference;
- ObjectReference m_integerZeroObjectReference;
- HashMap<int, ObjectReference> m_integers;
- HashMap<String, ObjectReference> m_strings;
- IntegerArrayMap m_integerArrays;
-
- ObjectReference m_currentObjectReference;
-
- size_t m_currentAggregateSize;
-
- size_t m_byteCount;
- size_t m_objectReferenceCount;
-};
-
-BinaryPropertyListPlan::BinaryPropertyListPlan(BinaryPropertyListWriter& client)
- : m_booleanTrueObjectReference(invalidObjectReference())
- , m_integerZeroObjectReference(invalidObjectReference())
- , m_currentObjectReference(0)
- , m_currentAggregateSize(0)
- , m_byteCount(0)
- , m_objectReferenceCount(0)
-{
- client.writeObjects(*this);
- ASSERT(m_currentAggregateSize == 1);
-}
-
-void BinaryPropertyListPlan::writeBooleanTrue()
-{
- ++m_currentAggregateSize;
- if (m_booleanTrueObjectReference != invalidObjectReference())
- return;
- m_booleanTrueObjectReference = m_currentObjectReference++;
- ++m_byteCount;
-}
-
-static inline int integerByteCount(size_t integer)
-{
- if (integer <= 0xFF)
- return 2;
- if (integer <= 0xFFFF)
- return 3;
-#ifdef __LP64__
- if (integer <= 0xFFFFFFFFULL)
- return 5;
- return 9;
-#else
- return 5;
-#endif
-}
-
-void BinaryPropertyListPlan::writeInteger(int integer)
-{
- ASSERT(integer >= 0);
- ++m_currentAggregateSize;
- if (!integer) {
- if (m_integerZeroObjectReference != invalidObjectReference())
- return;
- m_integerZeroObjectReference = m_currentObjectReference;
- } else {
- if (!m_integers.add(integer, m_currentObjectReference).isNewEntry)
- return;
- }
- ++m_currentObjectReference;
- m_byteCount += integerByteCount(integer);
-}
-
-void BinaryPropertyListPlan::writeString(const String& string)
-{
- ++m_currentAggregateSize;
- if (!m_strings.add(string, m_currentObjectReference).isNewEntry)
- return;
- ++m_currentObjectReference;
- writeStringObject(string);
-}
-
-void BinaryPropertyListPlan::writeIntegerArray(const int* integers, size_t size)
-{
- size_t savedAggregateSize = ++m_currentAggregateSize;
- ASSERT(size);
- IntegerArrayMap::AddResult addResult = m_integerArrays.add(IntegerArray(integers, size), 0);
- if (!addResult.isNewEntry)
- return;
- for (size_t i = 0; i < size; ++i)
- writeInteger(integers[i]);
- addResult.iterator->value = m_currentObjectReference++;
- writeArrayObject(size);
- m_currentAggregateSize = savedAggregateSize;
-}
-
-void BinaryPropertyListPlan::writeUniqueString(const String& string)
-{
- ++m_currentAggregateSize;
- ++m_currentObjectReference;
- writeStringObject(string);
-}
-
-void BinaryPropertyListPlan::writeUniqueString(const char* string)
-{
- ++m_currentAggregateSize;
- ++m_currentObjectReference;
- writeStringObject(string);
-}
-
-size_t BinaryPropertyListPlan::writeArrayStart()
-{
- size_t savedAggregateSize = m_currentAggregateSize;
- m_currentAggregateSize = 0;
- return savedAggregateSize;
-}
-
-void BinaryPropertyListPlan::writeArrayEnd(size_t savedAggregateSize)
-{
- ++m_currentObjectReference;
- writeArrayObject(m_currentAggregateSize);
- m_currentAggregateSize = savedAggregateSize + 1;
-}
-
-size_t BinaryPropertyListPlan::writeDictionaryStart()
-{
- size_t savedAggregateSize = m_currentAggregateSize;
- m_currentAggregateSize = 0;
- return savedAggregateSize;
-}
-
-void BinaryPropertyListPlan::writeDictionaryEnd(size_t savedAggregateSize)
-{
- ++m_currentObjectReference;
- writeDictionaryObject(m_currentAggregateSize);
- m_currentAggregateSize = savedAggregateSize + 1;
-}
-
-static size_t markerPlusLengthByteCount(size_t length)
-{
- if (length <= maxLengthInMarkerByte)
- return 1;
- return 1 + integerByteCount(length);
-}
-
-void BinaryPropertyListPlan::writeStringObject(const String& string)
-{
- unsigned length = string.length();
- m_byteCount += markerPlusLengthByteCount(length) + length;
- if (!string.containsOnlyASCII())
- m_byteCount += length;
-}
-
-void BinaryPropertyListPlan::writeStringObject(const char* string)
-{
- unsigned length = strlen(string);
- m_byteCount += markerPlusLengthByteCount(length) + length;
-}
-
-void BinaryPropertyListPlan::writeArrayObject(size_t size)
-{
- ASSERT(size);
- m_byteCount += markerPlusLengthByteCount(size);
- m_objectReferenceCount += size;
-}
-
-void BinaryPropertyListPlan::writeDictionaryObject(size_t size)
-{
- ASSERT(size);
- ASSERT(!(size & 1));
- m_byteCount += markerPlusLengthByteCount(size / 2);
- m_objectReferenceCount += size;
-}
-
-ObjectReference BinaryPropertyListPlan::booleanTrueObjectReference() const
-{
- ASSERT(m_booleanTrueObjectReference != invalidObjectReference());
- return m_booleanTrueObjectReference;
-}
-
-ObjectReference BinaryPropertyListPlan::integerObjectReference(int integer) const
-{
- ASSERT(integer >= 0);
- if (!integer) {
- ASSERT(m_integerZeroObjectReference != invalidObjectReference());
- return m_integerZeroObjectReference;
- }
- ASSERT(m_integers.contains(integer));
- return m_integers.get(integer);
-}
-
-ObjectReference BinaryPropertyListPlan::stringObjectReference(const String& string) const
-{
- ASSERT(m_strings.contains(string));
- return m_strings.get(string);
-}
-
-ObjectReference BinaryPropertyListPlan::integerArrayObjectReference(const int* integers, size_t size) const
-{
- ASSERT(m_integerArrays.contains(IntegerArray(integers, size)));
- return m_integerArrays.get(IntegerArray(integers, size));
-}
-
-class BinaryPropertyListSerializer : private BinaryPropertyListObjectStream {
-public:
- BinaryPropertyListSerializer(BinaryPropertyListWriter&);
-
-private:
- virtual void writeBooleanTrue();
- virtual void writeInteger(int);
- virtual void writeString(const String&);
- virtual void writeIntegerArray(const int*, size_t);
- virtual void writeUniqueString(const String&);
- virtual void writeUniqueString(const char*);
- virtual size_t writeArrayStart();
- virtual void writeArrayEnd(size_t);
- virtual size_t writeDictionaryStart();
- virtual void writeDictionaryEnd(size_t);
-
- ObjectReference writeIntegerWithoutAddingAggregateObjectReference(int);
-
- void appendIntegerObject(int);
- void appendStringObject(const String&);
- void appendStringObject(const char*);
- void appendIntegerArrayObject(const int*, size_t);
-
- void appendByte(unsigned char);
- void appendByte(unsigned);
- void appendByte(unsigned long);
- void appendByte(int);
-
- void appendInteger(size_t);
-
- void appendObjectReference(ObjectReference);
-
- void addAggregateObjectReference(ObjectReference);
-
- void startObject();
-
- const BinaryPropertyListPlan m_plan;
- const int m_objectReferenceSize;
- const size_t m_offsetTableStart;
- const int m_offsetSize;
- const size_t m_bufferSize;
- UInt8* const m_buffer;
-
- UInt8* m_currentByte;
- ObjectReference m_currentObjectReference;
- UInt8* m_currentAggregateBufferByte;
-};
-
-inline void BinaryPropertyListSerializer::appendByte(unsigned char byte)
-{
- *m_currentByte++ = byte;
- ASSERT(m_currentByte <= m_currentAggregateBufferByte);
-}
-
-inline void BinaryPropertyListSerializer::appendByte(unsigned byte)
-{
- *m_currentByte++ = byte;
- ASSERT(m_currentByte <= m_currentAggregateBufferByte);
-}
-
-inline void BinaryPropertyListSerializer::appendByte(unsigned long byte)
-{
- *m_currentByte++ = byte;
- ASSERT(m_currentByte <= m_currentAggregateBufferByte);
-}
-
-inline void BinaryPropertyListSerializer::appendByte(int byte)
-{
- *m_currentByte++ = byte;
- ASSERT(m_currentByte <= m_currentAggregateBufferByte);
-}
-
-static int bytesNeeded(size_t count)
-{
- ASSERT(count);
- int bytesNeeded = 1;
- for (size_t mask = std::numeric_limits<size_t>::max() << 8; count & mask; mask <<= 8)
- ++bytesNeeded;
- return bytesNeeded;
-}
-
-static inline void storeLength(UInt8* destination, size_t length)
-{
-#ifdef __LP64__
- destination[0] = length >> 56;
- destination[1] = length >> 48;
- destination[2] = length >> 40;
- destination[3] = length >> 32;
-#else
- destination[0] = 0;
- destination[1] = 0;
- destination[2] = 0;
- destination[3] = 0;
-#endif
- destination[4] = length >> 24;
- destination[5] = length >> 16;
- destination[6] = length >> 8;
- destination[7] = length;
-}
-
-// Like memmove, but reverses the bytes.
-static void moveAndReverseBytes(UInt8* destination, const UInt8* source, size_t length)
-{
- ASSERT(length);
- memmove(destination, source, length);
- UInt8* start = destination;
- UInt8* end = destination + length;
- while (end - start > 1)
- std::swap(*start++, *--end);
-}
-
-// The serializer uses a single buffer for the property list.
-// The buffer contains:
-//
-// 8-byte header
-// object data
-// offset table
-// 32-byte trailer
-//
-// While serializing object, the offset table entry for each object is written just before
-// the object data for that object is written. Aggregates, arrays and dictionaries, are a
-// special case. The objects that go into an aggregate are written before the aggregate is.
-// As each object is written, the object reference is put in the aggregate buffer. Then,
-// when the aggregate is written, the aggregate buffer is copied into place in the object
-// data. Finally, the header and trailer are written.
-//
-// The aggregate buffer shares space with the object data, like this:
-//
-// 8-byte header
-// object data
-// >>> aggregate buffer <<<
-// offset table
-// 32-byte trailer
-//
-// To make it easy to build it incrementally, the buffer starts at the end of the object
-// data space, and grows backwards. We're guaranteed the aggregate buffer will never collide
-// with the object data pointer because we know that the object data is correctly sized
-// based on our plan, and all the data in the aggregate buffer will be used to create the
-// actual aggregate objects; in the worst case the aggregate buffer will already be in
-// exactly the right place, but backwards.
-
-BinaryPropertyListSerializer::BinaryPropertyListSerializer(BinaryPropertyListWriter& client)
- : m_plan(client)
- , m_objectReferenceSize(bytesNeeded(m_plan.objectCount()))
- , m_offsetTableStart(headerSize + m_plan.byteCount() + m_plan.objectReferenceCount() * m_objectReferenceSize)
- , m_offsetSize(bytesNeeded(m_offsetTableStart))
- , m_bufferSize(m_offsetTableStart + m_plan.objectCount() * m_offsetSize + trailerSize)
- , m_buffer(client.buffer(m_bufferSize))
- , m_currentObjectReference(0)
-{
- ASSERT(m_objectReferenceSize > 0);
- ASSERT(m_offsetSize > 0);
-
-#ifdef __LP64__
- ASSERT(m_objectReferenceSize <= 8);
- ASSERT(m_offsetSize <= 8);
-#else
- ASSERT(m_objectReferenceSize <= 4);
- ASSERT(m_offsetSize <= 4);
-#endif
-
- if (!m_buffer)
- return;
-
- // Write objects and offset table.
- m_currentByte = m_buffer + headerSize;
- m_currentAggregateBufferByte = m_buffer + m_offsetTableStart;
- client.writeObjects(*this);
- ASSERT(m_currentObjectReference == m_plan.objectCount());
- ASSERT(m_currentAggregateBufferByte == m_buffer + m_offsetTableStart);
- ASSERT(m_currentByte == m_buffer + m_offsetTableStart);
-
- // Write header.
- memcpy(m_buffer, "bplist00", headerSize);
-
- // Write trailer.
- UInt8* trailer = m_buffer + m_bufferSize - trailerSize;
- memset(trailer, 0, 6);
- trailer[6] = m_offsetSize;
- trailer[7] = m_objectReferenceSize;
- storeLength(trailer + 8, m_plan.objectCount());
- storeLength(trailer + 16, m_plan.objectCount() - 1);
- storeLength(trailer + 24, m_offsetTableStart);
-}
-
-void BinaryPropertyListSerializer::writeBooleanTrue()
-{
- ObjectReference reference = m_plan.booleanTrueObjectReference();
- if (m_currentObjectReference != reference)
- ASSERT(reference < m_currentObjectReference);
- else {
- startObject();
- appendByte(booleanTrueMarkerByte);
- }
- addAggregateObjectReference(reference);
-}
-
-inline ObjectReference BinaryPropertyListSerializer::writeIntegerWithoutAddingAggregateObjectReference(int integer)
-{
- ObjectReference reference = m_plan.integerObjectReference(integer);
- if (m_currentObjectReference != reference)
- ASSERT(reference < m_currentObjectReference);
- else
- appendIntegerObject(integer);
- return reference;
-}
-
-void BinaryPropertyListSerializer::writeInteger(int integer)
-{
- addAggregateObjectReference(writeIntegerWithoutAddingAggregateObjectReference(integer));
-}
-
-void BinaryPropertyListSerializer::writeString(const String& string)
-{
- ObjectReference reference = m_plan.stringObjectReference(string);
- if (m_currentObjectReference != reference)
- ASSERT(reference < m_currentObjectReference);
- else
- appendStringObject(string);
- addAggregateObjectReference(reference);
-}
-
-void BinaryPropertyListSerializer::writeIntegerArray(const int* integers, size_t size)
-{
- ObjectReference reference = m_plan.integerArrayObjectReference(integers, size);
- for (size_t i = 0; i < size; ++i)
- writeIntegerWithoutAddingAggregateObjectReference(integers[i]);
- if (m_currentObjectReference != reference)
- ASSERT(reference < m_currentObjectReference);
- else
- appendIntegerArrayObject(integers, size);
- addAggregateObjectReference(reference);
-}
-
-void BinaryPropertyListSerializer::writeUniqueString(const char* string)
-{
- addAggregateObjectReference(m_currentObjectReference);
- appendStringObject(string);
-}
-
-void BinaryPropertyListSerializer::writeUniqueString(const String& string)
-{
- addAggregateObjectReference(m_currentObjectReference);
- appendStringObject(string);
-}
-
-size_t BinaryPropertyListSerializer::writeArrayStart()
-{
- return m_currentAggregateBufferByte - m_buffer;
-}
-
-void BinaryPropertyListSerializer::writeArrayEnd(size_t savedAggregateBufferOffset)
-{
- ObjectReference reference = m_currentObjectReference;
- startObject();
- size_t aggregateBufferByteCount = savedAggregateBufferOffset - (m_currentAggregateBufferByte - m_buffer);
- ASSERT(aggregateBufferByteCount);
- ASSERT(!(aggregateBufferByteCount % m_objectReferenceSize));
- size_t size = aggregateBufferByteCount / m_objectReferenceSize;
- if (size <= maxLengthInMarkerByte)
- appendByte(arrayMarkerByte | size);
- else {
- appendByte(arrayWithSeparateLengthMarkerByte);
- appendInteger(size);
- }
- m_currentAggregateBufferByte = m_buffer + savedAggregateBufferOffset;
- ASSERT(m_currentByte <= m_currentAggregateBufferByte);
- moveAndReverseBytes(m_currentByte, m_currentAggregateBufferByte - aggregateBufferByteCount, aggregateBufferByteCount);
- m_currentByte += aggregateBufferByteCount;
- ASSERT(m_currentByte <= m_currentAggregateBufferByte);
- if (m_currentObjectReference < m_plan.objectCount())
- addAggregateObjectReference(reference);
- else
- ASSERT(m_currentObjectReference == m_plan.objectCount());
-}
-
-size_t BinaryPropertyListSerializer::writeDictionaryStart()
-{
- return m_currentAggregateBufferByte - m_buffer;
-}
-
-void BinaryPropertyListSerializer::writeDictionaryEnd(size_t savedAggregateBufferOffset)
-{
- ObjectReference reference = m_currentObjectReference;
- startObject();
- size_t aggregateBufferByteCount = savedAggregateBufferOffset - (m_currentAggregateBufferByte - m_buffer);
- ASSERT(aggregateBufferByteCount);
- ASSERT(!(aggregateBufferByteCount % (m_objectReferenceSize * 2)));
- size_t size = aggregateBufferByteCount / (m_objectReferenceSize * 2);
- if (size <= maxLengthInMarkerByte)
- appendByte(dictionaryMarkerByte | size);
- else {
- appendByte(dictionaryWithSeparateLengthMarkerByte);
- appendInteger(size);
- }
- m_currentAggregateBufferByte = m_buffer + savedAggregateBufferOffset;
- ASSERT(m_currentByte <= m_currentAggregateBufferByte);
- moveAndReverseBytes(m_currentByte, m_currentAggregateBufferByte - aggregateBufferByteCount, aggregateBufferByteCount);
- m_currentByte += aggregateBufferByteCount;
- ASSERT(m_currentByte <= m_currentAggregateBufferByte);
- if (m_currentObjectReference != m_plan.objectCount())
- addAggregateObjectReference(reference);
- else
- ASSERT(m_currentObjectReference == m_plan.objectCount());
-}
-
-void BinaryPropertyListSerializer::appendIntegerObject(int integer)
-{
- startObject();
- ASSERT(integer >= 0);
- appendInteger(integer);
-}
-
-void BinaryPropertyListSerializer::appendInteger(size_t integer)
-{
- if (integer <= 0xFF) {
- appendByte(oneByteIntegerMarkerByte);
- appendByte(integer);
- return;
- }
- if (integer <= 0xFFFF) {
- appendByte(twoByteIntegerMarkerByte);
- appendByte(integer >> 8);
- appendByte(integer);
- return;
- }
-#ifdef __LP64__
- if (integer <= 0xFFFFFFFFULL) {
-#endif
- appendByte(fourByteIntegerMarkerByte);
- appendByte(integer >> 24);
- appendByte(integer >> 16);
- appendByte(integer >> 8);
- appendByte(integer);
-#ifdef __LP64__
- return;
- }
- appendByte(eightByteIntegerMarkerByte);
- appendByte(integer >> 56);
- appendByte(integer >> 48);
- appendByte(integer >> 40);
- appendByte(integer >> 32);
- appendByte(integer >> 24);
- appendByte(integer >> 16);
- appendByte(integer >> 8);
- appendByte(integer);
-#endif
-}
-
-void BinaryPropertyListSerializer::appendStringObject(const String& string)
-{
- startObject();
- const UChar* characters = string.characters();
- unsigned length = string.length();
- if (charactersAreAllASCII(characters, length)) {
- if (length <= maxLengthInMarkerByte)
- appendByte(static_cast<unsigned char>(asciiStringMarkerByte | length));
- else {
- appendByte(asciiStringWithSeparateLengthMarkerByte);
- appendInteger(length);
- }
- for (unsigned i = 0; i < length; ++i)
- appendByte(characters[i]);
- } else {
- if (length <= maxLengthInMarkerByte)
- appendByte(static_cast<unsigned char>(unicodeStringMarkerByte | length));
- else {
- appendByte(unicodeStringWithSeparateLengthMarkerByte);
- appendInteger(length);
- }
- for (unsigned i = 0; i < length; ++i) {
- appendByte(characters[i] >> 8);
- appendByte(characters[i]);
- }
- }
-}
-
-void BinaryPropertyListSerializer::appendStringObject(const char* string)
-{
- startObject();
- unsigned length = strlen(string);
- if (length <= maxLengthInMarkerByte)
- appendByte(static_cast<unsigned char>(asciiStringMarkerByte | length));
- else {
- appendByte(asciiStringWithSeparateLengthMarkerByte);
- appendInteger(length);
- }
- for (unsigned i = 0; i < length; ++i)
- appendByte(string[i]);
-}
-
-void BinaryPropertyListSerializer::appendIntegerArrayObject(const int* integers, size_t size)
-{
- startObject();
- if (size <= maxLengthInMarkerByte)
- appendByte(arrayMarkerByte | size);
- else {
- appendByte(arrayWithSeparateLengthMarkerByte);
- appendInteger(size);
- }
- for (unsigned i = 0; i < size; ++i)
- appendObjectReference(m_plan.integerObjectReference(integers[i]));
-}
-
-void BinaryPropertyListSerializer::appendObjectReference(ObjectReference reference)
-{
- switch (m_objectReferenceSize) {
-#ifdef __LP64__
- case 8:
- appendByte(reference >> 56);
- case 7:
- appendByte(reference >> 48);
- case 6:
- appendByte(reference >> 40);
- case 5:
- appendByte(reference >> 32);
-#endif
- case 4:
- appendByte(reference >> 24);
- case 3:
- appendByte(reference >> 16);
- case 2:
- appendByte(reference >> 8);
- case 1:
- appendByte(reference);
- }
-}
-
-void BinaryPropertyListSerializer::startObject()
-{
- ObjectReference reference = m_currentObjectReference++;
-
- size_t offset = m_currentByte - m_buffer;
-
- UInt8* offsetTableEntry = m_buffer + m_offsetTableStart + reference * m_offsetSize + m_offsetSize;
- switch (m_offsetSize) {
-#ifdef __LP64__
- case 8:
- offsetTableEntry[-8] = offset >> 56;
- case 7:
- offsetTableEntry[-7] = offset >> 48;
- case 6:
- offsetTableEntry[-6] = offset >> 40;
- case 5:
- offsetTableEntry[-5] = offset >> 32;
-#endif
- case 4:
- offsetTableEntry[-4] = offset >> 24;
- case 3:
- offsetTableEntry[-3] = offset >> 16;
- case 2:
- offsetTableEntry[-2] = offset >> 8;
- case 1:
- offsetTableEntry[-1] = offset;
- }
-}
-
-void BinaryPropertyListSerializer::addAggregateObjectReference(ObjectReference reference)
-{
- switch (m_objectReferenceSize) {
-#ifdef __LP64__
- case 8:
- *--m_currentAggregateBufferByte = reference >> 56;
- case 7:
- *--m_currentAggregateBufferByte = reference >> 48;
- case 6:
- *--m_currentAggregateBufferByte = reference >> 40;
- case 5:
- *--m_currentAggregateBufferByte = reference >> 32;
-#endif
- case 4:
- *--m_currentAggregateBufferByte = reference >> 24;
- case 3:
- *--m_currentAggregateBufferByte = reference >> 16;
- case 2:
- *--m_currentAggregateBufferByte = reference >> 8;
- case 1:
- *--m_currentAggregateBufferByte = reference;
- }
- ASSERT(m_currentByte <= m_currentAggregateBufferByte);
-}
-
-void BinaryPropertyListWriter::writePropertyList()
-{
- BinaryPropertyListSerializer serializer(*this);
-}
diff --git a/Source/WebKit/mac/History/BinaryPropertyList.h b/Source/WebKit/mac/History/BinaryPropertyList.h
deleted file mode 100644
index 62914eff2..000000000
--- a/Source/WebKit/mac/History/BinaryPropertyList.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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 BinaryPropertyList_h
-#define BinaryPropertyList_h
-
-#include <CoreFoundation/CoreFoundation.h>
-
-#include <wtf/Forward.h>
-#include <wtf/Vector.h>
-
-// Writes a limited subset of binary property lists.
-// Covers only what's needed for writing browser history as of this writing.
-class BinaryPropertyListObjectStream {
-public:
- // Call writeBooleanTrue to write the boolean true value.
- // A single shared object will be used in the serialized list.
- virtual void writeBooleanTrue() = 0;
-
- // Call writeInteger to write an integer value.
- // A single shared object will be used for each integer in the serialized list.
- virtual void writeInteger(int) = 0;
-
- // Call writeString to write a string value.
- // A single shared object will be used for each string in the serialized list.
- virtual void writeString(const String&) = 0;
-
- // Call writeUniqueString instead of writeString when it's unlikely the
- // string will be written twice in the same property list; this saves hash
- // table overhead for such strings. A separate object will be used for each
- // of these strings in the serialized list.
- virtual void writeUniqueString(const String&) = 0;
- virtual void writeUniqueString(const char*) = 0;
-
- // Call writeIntegerArray instead of writeArrayStart/writeArrayEnd for
- // arrays entirely composed of integers. A single shared object will be used
- // for each identical array in the serialized list. Warning: The integer
- // pointer must remain valid until the writeBinaryPropertyList function
- // returns, because these lists are put into a hash table without copying
- // them -- that's OK if the client already has a Vector<int>.
- virtual void writeIntegerArray(const int*, size_t) = 0;
-
- // After calling writeArrayStart, write array elements.
- // Then call writeArrayEnd, passing in the result from writeArrayStart.
- // A separate object will be used for each of these arrays in the serialized list.
- virtual size_t writeArrayStart() = 0;
- virtual void writeArrayEnd(size_t resultFromWriteArrayStart) = 0;
-
- // After calling writeDictionaryStart, write all keys, then all values.
- // Then call writeDictionaryEnd, passing in the result from writeDictionaryStart.
- // A separate object will be used for each dictionary in the serialized list.
- virtual size_t writeDictionaryStart() = 0;
- virtual void writeDictionaryEnd(size_t resultFromWriteDictionaryStart) = 0;
-
-protected:
- virtual ~BinaryPropertyListObjectStream() { }
-};
-
-class BinaryPropertyListWriter {
-public:
- // Calls writeObjects once to prepare for writing and determine how big a
- // buffer is required. Then calls buffer to get the appropriately-sized
- // buffer, then calls writeObjects a second time and writes the property list.
- void writePropertyList();
-
-protected:
- virtual ~BinaryPropertyListWriter() { }
-
-private:
- // Called by writePropertyList.
- // Must call the object stream functions for the objects to be written
- // into the property list.
- virtual void writeObjects(BinaryPropertyListObjectStream&) = 0;
-
- // Called by writePropertyList.
- // Returns the buffer that the writer should write into.
- virtual UInt8* buffer(size_t) = 0;
-
- friend class BinaryPropertyListPlan;
- friend class BinaryPropertyListSerializer;
-};
-
-#endif // BinaryPropertyList_h
diff --git a/Source/WebKit/mac/History/HistoryPropertyList.cpp b/Source/WebKit/mac/History/HistoryPropertyList.cpp
deleted file mode 100644
index 67a1d2a03..000000000
--- a/Source/WebKit/mac/History/HistoryPropertyList.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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 "HistoryPropertyList.h"
-
-#include <WebCore/HistoryItem.h>
-#include <wtf/StringExtras.h>
-
-using namespace WebCore;
-
-static const int currentFileVersion = 1;
-
-HistoryPropertyListWriter::HistoryPropertyListWriter()
- : m_dailyVisitCountsKey("D")
- , m_displayTitleKey("displayTitle")
- , m_lastVisitWasFailureKey("lastVisitWasFailure")
- , m_lastVisitWasHTTPNonGetKey("lastVisitWasHTTPNonGet")
- , m_lastVisitedDateKey("lastVisitedDate")
- , m_redirectURLsKey("redirectURLs")
- , m_titleKey("title")
- , m_urlKey("")
- , m_visitCountKey("visitCount")
- , m_weeklyVisitCountsKey("W")
- , m_buffer(0)
-{
-}
-
-UInt8* HistoryPropertyListWriter::buffer(size_t size)
-{
- ASSERT(!m_buffer);
- m_buffer = static_cast<UInt8*>(CFAllocatorAllocate(0, size, 0));
- m_bufferSize = size;
- return m_buffer;
-}
-
-RetainPtr<CFDataRef> HistoryPropertyListWriter::releaseData()
-{
- UInt8* buffer = m_buffer;
- if (!buffer)
- return 0;
- m_buffer = 0;
- RetainPtr<CFDataRef> data = adoptCF(CFDataCreateWithBytesNoCopy(0, buffer, m_bufferSize, 0));
- if (!data) {
- CFAllocatorDeallocate(0, buffer);
- return 0;
- }
- return data;
-}
-
-void HistoryPropertyListWriter::writeObjects(BinaryPropertyListObjectStream& stream)
-{
- size_t outerDictionaryStart = stream.writeDictionaryStart();
-
- stream.writeString("WebHistoryFileVersion");
- stream.writeString("WebHistoryDates");
-
- stream.writeInteger(currentFileVersion);
- size_t outerDateArrayStart = stream.writeArrayStart();
- writeHistoryItems(stream);
- stream.writeArrayEnd(outerDateArrayStart);
-
- stream.writeDictionaryEnd(outerDictionaryStart);
-}
-
-void HistoryPropertyListWriter::writeHistoryItem(BinaryPropertyListObjectStream& stream, HistoryItem* item)
-{
- size_t itemDictionaryStart = stream.writeDictionaryStart();
-
- const String& title = item->title();
- const String& displayTitle = item->alternateTitle();
- double lastVisitedDate = item->lastVisitedTime();
- int visitCount = item->visitCount();
- Vector<String>* redirectURLs = item->redirectURLs();
- const Vector<int>& dailyVisitCounts = item->dailyVisitCounts();
- const Vector<int>& weeklyVisitCounts = item->weeklyVisitCounts();
-
- // keys
- stream.writeString(m_urlKey);
- if (!title.isEmpty())
- stream.writeString(m_titleKey);
- if (!displayTitle.isEmpty())
- stream.writeString(m_displayTitleKey);
- if (lastVisitedDate)
- stream.writeString(m_lastVisitedDateKey);
- if (visitCount)
- stream.writeString(m_visitCountKey);
- if (item->lastVisitWasFailure())
- stream.writeString(m_lastVisitWasFailureKey);
- if (item->lastVisitWasHTTPNonGet())
- stream.writeString(m_lastVisitWasHTTPNonGetKey);
- if (redirectURLs)
- stream.writeString(m_redirectURLsKey);
- if (!dailyVisitCounts.isEmpty())
- stream.writeString(m_dailyVisitCountsKey);
- if (!weeklyVisitCounts.isEmpty())
- stream.writeString(m_weeklyVisitCountsKey);
-
- // values
- stream.writeUniqueString(item->urlString());
- if (!title.isEmpty())
- stream.writeString(title);
- if (!displayTitle.isEmpty())
- stream.writeString(displayTitle);
- if (lastVisitedDate) {
- char buffer[32];
- snprintf(buffer, sizeof(buffer), "%.1lf", lastVisitedDate);
- stream.writeUniqueString(buffer);
- }
- if (visitCount)
- stream.writeInteger(visitCount);
- if (item->lastVisitWasFailure())
- stream.writeBooleanTrue();
- if (item->lastVisitWasHTTPNonGet()) {
- ASSERT(item->urlString().startsWith("http:", false) || item->urlString().startsWith("https:", false));
- stream.writeBooleanTrue();
- }
- if (redirectURLs) {
- size_t redirectArrayStart = stream.writeArrayStart();
- size_t size = redirectURLs->size();
- ASSERT(size);
- for (size_t i = 0; i < size; ++i)
- stream.writeUniqueString(redirectURLs->at(i));
- stream.writeArrayEnd(redirectArrayStart);
- }
- if (size_t size = dailyVisitCounts.size())
- stream.writeIntegerArray(dailyVisitCounts.data(), size);
- if (size_t size = weeklyVisitCounts.size())
- stream.writeIntegerArray(weeklyVisitCounts.data(), size);
-
- stream.writeDictionaryEnd(itemDictionaryStart);
-}
-
diff --git a/Source/WebKit/mac/History/WebBackForwardList.h b/Source/WebKit/mac/History/WebBackForwardList.h
deleted file mode 100644
index 7af1b2eae..000000000
--- a/Source/WebKit/mac/History/WebBackForwardList.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (C) 2003 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class WebHistoryItem;
-@class WebBackForwardListPrivate;
-
-/*!
- @class WebBackForwardList
- WebBackForwardList holds an ordered list of WebHistoryItems that comprises the back and
- forward lists.
-
- Note that the methods which modify instances of this class do not cause
- navigation to happen in other layers of the stack; they are only for maintaining this data
- structure.
-*/
-@interface WebBackForwardList : NSObject {
-@private
- WebBackForwardListPrivate *_private;
-}
-
-/*!
- @method addItem:
- @abstract Adds an entry to the list.
- @param entry The entry to add.
- @discussion The added entry is inserted immediately after the current entry.
- If the current position in the list is not at the end of the list, elements in the
- forward list will be dropped at this point. In addition, entries may be dropped to keep
- the size of the list within the maximum size.
-*/
-- (void)addItem:(WebHistoryItem *)item;
-
-/*!
- @method goBack
- @abstract Move the current pointer back to the entry before the current entry.
-*/
-- (void)goBack;
-
-/*!
- @method goForward
- @abstract Move the current pointer ahead to the entry after the current entry.
-*/
-- (void)goForward;
-
-/*!
- @method goToItem:
- @abstract Move the current pointer to the given entry.
- @param item The history item to move the pointer to
-*/
-- (void)goToItem:(WebHistoryItem *)item;
-
-/*!
- @method backItem
- @abstract Returns the entry right before the current entry.
- @result The entry right before the current entry, or nil if there isn't one.
-*/
-- (WebHistoryItem *)backItem;
-
-/*!
- @method currentItem
- @abstract Returns the current entry.
- @result The current entry.
-*/
-- (WebHistoryItem *)currentItem;
-
-/*!
- @method forwardItem
- @abstract Returns the entry right after the current entry.
- @result The entry right after the current entry, or nil if there isn't one.
-*/
-- (WebHistoryItem *)forwardItem;
-
-/*!
- @method backListWithLimit:
- @abstract Returns a portion of the list before the current entry.
- @param limit A cap on the size of the array returned.
- @result An array of items before the current entry, or nil if there are none. The entries are in the order that they were originally visited.
-*/
-- (NSArray *)backListWithLimit:(int)limit;
-
-/*!
- @method forwardListWithLimit:
- @abstract Returns a portion of the list after the current entry.
- @param limit A cap on the size of the array returned.
- @result An array of items after the current entry, or nil if there are none. The entries are in the order that they were originally visited.
-*/
-- (NSArray *)forwardListWithLimit:(int)limit;
-
-/*!
- @method capacity
- @abstract Returns the list's maximum size.
- @result The list's maximum size.
-*/
-- (int)capacity;
-
-/*!
- @method setCapacity
- @abstract Sets the list's maximum size.
- @param size The new maximum size for the list.
-*/
-- (void)setCapacity:(int)size;
-
-/*!
- @method backListCount
- @abstract Returns the back list's current count.
- @result The number of items in the list.
-*/
-- (int)backListCount;
-
-/*!
- @method forwardListCount
- @abstract Returns the forward list's current count.
- @result The number of items in the list.
-*/
-- (int)forwardListCount;
-
-/*!
- @method containsItem:
- @param item The item that will be checked for presence in the WebBackForwardList.
- @result Returns YES if the item is in the list.
-*/
-- (BOOL)containsItem:(WebHistoryItem *)item;
-
-/*!
- @method itemAtIndex:
- @abstract Returns an entry the given distance from the current entry.
- @param index Index of the desired list item relative to the current item; 0 is current item, -1 is back item, 1 is forward item, etc.
- @result The entry the given distance from the current entry. If index exceeds the limits of the list, nil is returned.
-*/
-- (WebHistoryItem *)itemAtIndex:(int)index;
-
-@end
-
-@interface WebBackForwardList(WebBackForwardListDeprecated)
-
-// The following methods are deprecated, and exist for backward compatibility only.
-// Use -[WebPreferences setUsesPageCache] and -[WebPreferences usesPageCache]
-// instead.
-
-/*!
- @method setPageCacheSize:
- @abstract The size passed to this method determines whether the WebView
- associated with this WebBackForwardList will use the shared page cache.
- @param size If size is 0, the WebView associated with this WebBackForwardList
- will not use the shared page cache. Otherwise, it will.
-*/
-- (void)setPageCacheSize:(NSUInteger)size;
-
-/*!
- @method pageCacheSize
- @abstract Returns the size of the shared page cache, or 0.
- @result The size of the shared page cache (in pages), or 0 if the WebView
- associated with this WebBackForwardList will not use the shared page cache.
-*/
-- (NSUInteger)pageCacheSize;
-@end
diff --git a/Source/WebKit/mac/History/WebBackForwardList.mm b/Source/WebKit/mac/History/WebBackForwardList.mm
deleted file mode 100644
index 683b9a85d..000000000
--- a/Source/WebKit/mac/History/WebBackForwardList.mm
+++ /dev/null
@@ -1,321 +0,0 @@
-/*
- * Copyright (C) 2005, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebBackForwardList.h"
-#import "WebBackForwardListInternal.h"
-
-#import "WebFrameInternal.h"
-#import "WebHistoryItemInternal.h"
-#import "WebHistoryItemPrivate.h"
-#import "WebKitLogging.h"
-#import "WebKitVersionChecks.h"
-#import "WebNSObjectExtras.h"
-#import "WebPreferencesPrivate.h"
-#import "WebTypesInternal.h"
-#import "WebViewPrivate.h"
-#import <WebCore/BackForwardListImpl.h>
-#import <WebCore/HistoryItem.h>
-#import <WebCore/Page.h>
-#import <WebCore/PageCache.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/Settings.h>
-#import <WebCore/ThreadCheck.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/Assertions.h>
-#import <wtf/MainThread.h>
-#import <wtf/RetainPtr.h>
-#import <wtf/StdLibExtras.h>
-
-using namespace WebCore;
-
-typedef HashMap<BackForwardListImpl*, WebBackForwardList*> BackForwardListMap;
-
-// FIXME: Instead of this we could just create a class derived from BackForwardListImpl
-// with a pointer to a WebBackForwardList in it.
-static BackForwardListMap& backForwardLists()
-{
- DEFINE_STATIC_LOCAL(BackForwardListMap, staticBackForwardLists, ());
- return staticBackForwardLists;
-}
-
-@implementation WebBackForwardList (WebBackForwardListInternal)
-
-BackForwardListImpl* core(WebBackForwardList *webBackForwardList)
-{
- if (!webBackForwardList)
- return 0;
-
- return reinterpret_cast<BackForwardListImpl*>(webBackForwardList->_private);
-}
-
-WebBackForwardList *kit(BackForwardListImpl* backForwardList)
-{
- if (!backForwardList)
- return nil;
-
- if (WebBackForwardList *webBackForwardList = backForwardLists().get(backForwardList))
- return webBackForwardList;
-
- return [[[WebBackForwardList alloc] initWithBackForwardList:backForwardList] autorelease];
-}
-
-- (id)initWithBackForwardList:(PassRefPtr<BackForwardListImpl>)backForwardList
-{
- WebCoreThreadViolationCheckRoundOne();
- self = [super init];
- if (!self)
- return nil;
-
- _private = reinterpret_cast<WebBackForwardListPrivate*>(backForwardList.leakRef());
- backForwardLists().set(core(self), self);
- return self;
-}
-
-@end
-
-@implementation WebBackForwardList
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
-}
-
-- (id)init
-{
- return [self initWithBackForwardList:BackForwardListImpl::create(0)];
-}
-
-- (void)dealloc
-{
- if (WebCoreObjCScheduleDeallocateOnMainThread([WebBackForwardList class], self))
- return;
-
- BackForwardListImpl* backForwardList = core(self);
- ASSERT(backForwardList);
- if (backForwardList) {
- ASSERT(backForwardList->closed());
- backForwardLists().remove(backForwardList);
- backForwardList->deref();
- }
-
- [super dealloc];
-}
-
-- (void)finalize
-{
- WebCoreThreadViolationCheckRoundOne();
- BackForwardListImpl* backForwardList = core(self);
- ASSERT(backForwardList);
- if (backForwardList) {
- ASSERT(backForwardList->closed());
- backForwardLists().remove(backForwardList);
- backForwardList->deref();
- }
-
- [super finalize];
-}
-
-- (void)_close
-{
- core(self)->close();
-}
-
-- (void)addItem:(WebHistoryItem *)entry
-{
- core(self)->addItem(core(entry));
-
- // Since the assumed contract with WebBackForwardList is that it retains its WebHistoryItems,
- // the following line prevents a whole class of problems where a history item will be created in
- // a function, added to the BFlist, then used in the rest of that function.
- [[entry retain] autorelease];
-}
-
-- (void)removeItem:(WebHistoryItem *)item
-{
- core(self)->removeItem(core(item));
-}
-
-- (BOOL)containsItem:(WebHistoryItem *)item
-{
- return core(self)->containsItem(core(item));
-}
-
-- (void)goBack
-{
- core(self)->goBack();
-}
-
-- (void)goForward
-{
- core(self)->goForward();
-}
-
-- (void)goToItem:(WebHistoryItem *)item
-{
- core(self)->goToItem(core(item));
-}
-
-- (WebHistoryItem *)backItem
-{
- return [[kit(core(self)->backItem()) retain] autorelease];
-}
-
-- (WebHistoryItem *)currentItem
-{
- return [[kit(core(self)->currentItem()) retain] autorelease];
-}
-
-- (WebHistoryItem *)forwardItem
-{
- return [[kit(core(self)->forwardItem()) retain] autorelease];
-}
-
-static NSArray* vectorToNSArray(HistoryItemVector& list)
-{
- unsigned size = list.size();
- NSMutableArray *result = [[[NSMutableArray alloc] initWithCapacity:size] autorelease];
- for (unsigned i = 0; i < size; ++i)
- [result addObject:kit(list[i].get())];
-
- return result;
-}
-
-static bool bumperCarBackForwardHackNeeded()
-{
- static bool hackNeeded = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.freeverse.bumpercar"] &&
- !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITHOUT_BUMPERCAR_BACK_FORWARD_QUIRK);
-
- return hackNeeded;
-}
-
-- (NSArray *)backListWithLimit:(int)limit
-{
- HistoryItemVector list;
- core(self)->backListWithLimit(limit, list);
- NSArray *result = vectorToNSArray(list);
-
- if (bumperCarBackForwardHackNeeded()) {
- static NSArray *lastBackListArray = nil;
- [lastBackListArray release];
- lastBackListArray = [result retain];
- }
-
- return result;
-}
-
-- (NSArray *)forwardListWithLimit:(int)limit
-{
- HistoryItemVector list;
- core(self)->forwardListWithLimit(limit, list);
- NSArray *result = vectorToNSArray(list);
-
- if (bumperCarBackForwardHackNeeded()) {
- static NSArray *lastForwardListArray = nil;
- [lastForwardListArray release];
- lastForwardListArray = [result retain];
- }
-
- return result;
-}
-
-- (int)capacity
-{
- return core(self)->capacity();
-}
-
-- (void)setCapacity:(int)size
-{
- core(self)->setCapacity(size);
-}
-
-
--(NSString *)description
-{
- NSMutableString *result;
-
- result = [NSMutableString stringWithCapacity:512];
-
- [result appendString:@"\n--------------------------------------------\n"];
- [result appendString:@"WebBackForwardList:\n"];
-
- BackForwardListImpl* backForwardList = core(self);
- HistoryItemVector& entries = backForwardList->entries();
-
- unsigned size = entries.size();
- for (unsigned i = 0; i < size; ++i) {
- if (entries[i] == backForwardList->currentItem()) {
- [result appendString:@" >>>"];
- } else {
- [result appendString:@" "];
- }
- [result appendFormat:@"%2d) ", i];
- int currPos = [result length];
- [result appendString:[kit(entries[i].get()) description]];
-
- // shift all the contents over. a bit slow, but this is for debugging
- NSRange replRange = { static_cast<NSUInteger>(currPos), [result length] - currPos };
- [result replaceOccurrencesOfString:@"\n" withString:@"\n " options:0 range:replRange];
-
- [result appendString:@"\n"];
- }
-
- [result appendString:@"\n--------------------------------------------\n"];
-
- return result;
-}
-
-- (void)setPageCacheSize:(NSUInteger)size
-{
- [kit(core(self)->page()) setUsesPageCache:size != 0];
-}
-
-- (NSUInteger)pageCacheSize
-{
- return [kit(core(self)->page()) usesPageCache] ? pageCache()->capacity() : 0;
-}
-
-- (int)backListCount
-{
- return core(self)->backListCount();
-}
-
-- (int)forwardListCount
-{
- return core(self)->forwardListCount();
-}
-
-- (WebHistoryItem *)itemAtIndex:(int)index
-{
- return [[kit(core(self)->itemAtIndex(index)) retain] autorelease];
-}
-
-@end
diff --git a/Source/WebKit/mac/History/WebBackForwardListInternal.h b/Source/WebKit/mac/History/WebBackForwardListInternal.h
deleted file mode 100644
index 1afb833d2..000000000
--- a/Source/WebKit/mac/History/WebBackForwardListInternal.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebBackForwardList.h>
-#import <wtf/PassRefPtr.h>
-
-namespace WebCore {
- class BackForwardListImpl;
-}
-
-WebCore::BackForwardListImpl* core(WebBackForwardList *);
-WebBackForwardList *kit(WebCore::BackForwardListImpl*);
-
-@interface WebBackForwardList (WebBackForwardListInternal)
-- (id)initWithBackForwardList:(PassRefPtr<WebCore::BackForwardListImpl>)backForwardList;
-@end
diff --git a/Source/WebKit/mac/History/WebBackForwardListPrivate.h b/Source/WebKit/mac/History/WebBackForwardListPrivate.h
deleted file mode 100644
index 7e76e9b2e..000000000
--- a/Source/WebKit/mac/History/WebBackForwardListPrivate.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-#import <WebKit/WebBackForwardList.h>
-
-@interface WebBackForwardList (WebBackForwardListPrivate)
-
-/*!
- @method removeItem:
- @abstract Removes an entry from the list.
- @param entry The entry to remove. Cannot be the current item.
-*/
-- (void)removeItem:(WebHistoryItem *)item;
-
-@end
diff --git a/Source/WebKit/mac/History/WebHistory.h b/Source/WebKit/mac/History/WebHistory.h
deleted file mode 100644
index 8a6ec0bc5..000000000
--- a/Source/WebKit/mac/History/WebHistory.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (C) 2003, 2004 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class NSError;
-
-@class WebHistoryItem;
-@class WebHistoryPrivate;
-
-/*
- @discussion Notifications sent when history is modified.
- @constant WebHistoryItemsAddedNotification Posted from addItems:. This
- notification comes with a userInfo dictionary that contains the array of
- items added. The key for the array is WebHistoryItemsKey.
- @constant WebHistoryItemsRemovedNotification Posted from removeItems:.
- This notification comes with a userInfo dictionary that contains the array of
- items removed. The key for the array is WebHistoryItemsKey.
- @constant WebHistoryAllItemsRemovedNotification Posted from removeAllItems
- @constant WebHistoryLoadedNotification Posted from loadFromURL:error:.
-*/
-extern NSString *WebHistoryItemsAddedNotification;
-extern NSString *WebHistoryItemsRemovedNotification;
-extern NSString *WebHistoryAllItemsRemovedNotification;
-extern NSString *WebHistoryLoadedNotification;
-extern NSString *WebHistorySavedNotification;
-
-extern NSString *WebHistoryItemsKey;
-
-/*!
- @class WebHistory
- @discussion WebHistory is used to track pages that have been loaded
- by WebKit.
-*/
-@interface WebHistory : NSObject {
-@private
- WebHistoryPrivate *_historyPrivate;
-}
-
-/*!
- @method optionalSharedHistory
- @abstract Returns a shared WebHistory instance initialized with the default history file.
- @result A WebHistory object.
-*/
-+ (WebHistory *)optionalSharedHistory;
-
-/*!
- @method setOptionalSharedHistory:
- @param history The history to use for the global WebHistory.
-*/
-+ (void)setOptionalSharedHistory:(WebHistory *)history;
-
-/*!
- @method loadFromURL:error:
- @param URL The URL to use to initialize the WebHistory.
- @param error Set to nil or an NSError instance if an error occurred.
- @abstract The designated initializer for WebHistory.
- @result Returns YES if successful, NO otherwise.
-*/
-- (BOOL)loadFromURL:(NSURL *)URL error:(NSError **)error;
-
-/*!
- @method saveToURL:error:
- @discussion Save history to URL. It is the client's responsibility to call this at appropriate times.
- @param URL The URL to use to save the WebHistory.
- @param error Set to nil or an NSError instance if an error occurred.
- @result Returns YES if successful, NO otherwise.
-*/
-- (BOOL)saveToURL:(NSURL *)URL error:(NSError **)error;
-
-/*!
- @method addItems:
- @param newItems An array of WebHistoryItems to add to the WebHistory.
-*/
-- (void)addItems:(NSArray *)newItems;
-
-/*!
- @method removeItems:
- @param items An array of WebHistoryItems to remove from the WebHistory.
-*/
-- (void)removeItems:(NSArray *)items;
-
-/*!
- @method removeAllItems
-*/
-- (void)removeAllItems;
-
-/*!
- @method orderedLastVisitedDays
- @discussion Get an array of NSCalendarDates, each one representing a unique day that contains one
- or more history items, ordered from most recent to oldest.
- @result Returns an array of NSCalendarDates for which history items exist in the WebHistory.
-*/
-- (NSArray *)orderedLastVisitedDays;
-
-/*!
- @method orderedItemsLastVisitedOnDay:
- @discussion Get an array of WebHistoryItem that were last visited on the day represented by the
- specified NSCalendarDate, ordered from most recent to oldest.
- @param calendarDate A date identifying the unique day of interest.
- @result Returns an array of WebHistoryItems last visited on the indicated day.
-*/
-- (NSArray *)orderedItemsLastVisitedOnDay:(NSCalendarDate *)calendarDate;
-
-/*!
- @method itemForURL:
- @abstract Get an item for a specific URL
- @param URL The URL of the history item to search for
- @result Returns an item matching the URL
-*/
-- (WebHistoryItem *)itemForURL:(NSURL *)URL;
-
-/*!
- @method setHistoryItemLimit:
- @discussion Limits the number of items that will be stored by the WebHistory.
- @param limit The maximum number of items that will be stored by the WebHistory.
-*/
-- (void)setHistoryItemLimit:(int)limit;
-
-/*!
- @method historyItemLimit
- @result The maximum number of items that will be stored by the WebHistory.
-*/
-- (int)historyItemLimit;
-
-/*!
- @method setHistoryAgeInDaysLimit:
- @discussion setHistoryAgeInDaysLimit: sets the maximum number of days to be read from
- stored history.
- @param limit The maximum number of days to be read from stored history.
-*/
-- (void)setHistoryAgeInDaysLimit:(int)limit;
-
-/*!
- @method historyAgeInDaysLimit
- @return Returns the maximum number of days to be read from stored history.
-*/
-- (int)historyAgeInDaysLimit;
-
-@end
diff --git a/Source/WebKit/mac/History/WebHistory.mm b/Source/WebKit/mac/History/WebHistory.mm
deleted file mode 100644
index e0378b767..000000000
--- a/Source/WebKit/mac/History/WebHistory.mm
+++ /dev/null
@@ -1,913 +0,0 @@
-/*
- * Copyright (C) 2005, 2008, 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebHistoryInternal.h"
-
-#import "HistoryPropertyList.h"
-#import "WebHistoryItemInternal.h"
-#import "WebKitLogging.h"
-#import "WebNSURLExtras.h"
-#import "WebTypesInternal.h"
-#import <WebCore/HistoryItem.h>
-#import <WebCore/PageGroup.h>
-
-using namespace WebCore;
-
-typedef int64_t WebHistoryDateKey;
-typedef HashMap<WebHistoryDateKey, RetainPtr<NSMutableArray> > DateToEntriesMap;
-
-NSString *WebHistoryItemsAddedNotification = @"WebHistoryItemsAddedNotification";
-NSString *WebHistoryItemsRemovedNotification = @"WebHistoryItemsRemovedNotification";
-NSString *WebHistoryAllItemsRemovedNotification = @"WebHistoryAllItemsRemovedNotification";
-NSString *WebHistoryLoadedNotification = @"WebHistoryLoadedNotification";
-NSString *WebHistoryItemsDiscardedWhileLoadingNotification = @"WebHistoryItemsDiscardedWhileLoadingNotification";
-NSString *WebHistorySavedNotification = @"WebHistorySavedNotification";
-NSString *WebHistoryItemsKey = @"WebHistoryItems";
-
-static WebHistory *_sharedHistory = nil;
-
-NSString *FileVersionKey = @"WebHistoryFileVersion";
-NSString *DatesArrayKey = @"WebHistoryDates";
-
-#define currentFileVersion 1
-
-class WebHistoryWriter : public HistoryPropertyListWriter {
-public:
- WebHistoryWriter(DateToEntriesMap*);
-
-private:
- virtual void writeHistoryItems(BinaryPropertyListObjectStream&);
-
- DateToEntriesMap* m_entriesByDate;
- Vector<int> m_dateKeys;
-};
-
-@interface WebHistory ()
-- (void)_sendNotification:(NSString *)name entries:(NSArray *)entries;
-@end
-
-@interface WebHistoryPrivate : NSObject {
-@private
- NSMutableDictionary *_entriesByURL;
- DateToEntriesMap* _entriesByDate;
- NSMutableArray *_orderedLastVisitedDays;
- BOOL itemLimitSet;
- int itemLimit;
- BOOL ageInDaysLimitSet;
- int ageInDaysLimit;
-}
-
-- (WebHistoryItem *)visitedURL:(NSURL *)url withTitle:(NSString *)title increaseVisitCount:(BOOL)increaseVisitCount;
-
-- (BOOL)addItem:(WebHistoryItem *)entry discardDuplicate:(BOOL)discardDuplicate;
-- (void)addItems:(NSArray *)newEntries;
-- (BOOL)removeItem:(WebHistoryItem *)entry;
-- (BOOL)removeItems:(NSArray *)entries;
-- (BOOL)removeAllItems;
-- (void)rebuildHistoryByDayIfNeeded:(WebHistory *)webHistory;
-
-- (NSArray *)orderedLastVisitedDays;
-- (NSArray *)orderedItemsLastVisitedOnDay:(NSCalendarDate *)calendarDate;
-- (BOOL)containsURL:(NSURL *)URL;
-- (WebHistoryItem *)itemForURL:(NSURL *)URL;
-- (WebHistoryItem *)itemForURLString:(NSString *)URLString;
-- (NSArray *)allItems;
-
-- (BOOL)loadFromURL:(NSURL *)URL collectDiscardedItemsInto:(NSMutableArray *)discardedItems error:(NSError **)error;
-- (BOOL)saveToURL:(NSURL *)URL error:(NSError **)error;
-
-- (NSCalendarDate *)ageLimitDate;
-
-- (void)setHistoryItemLimit:(int)limit;
-- (int)historyItemLimit;
-- (void)setHistoryAgeInDaysLimit:(int)limit;
-- (int)historyAgeInDaysLimit;
-
-- (void)addVisitedLinksToPageGroup:(PageGroup&)group;
-
-@end
-
-@implementation WebHistoryPrivate
-
-// MARK: OBJECT FRAMEWORK
-
-+ (void)initialize
-{
- [[NSUserDefaults standardUserDefaults] registerDefaults:
- [NSDictionary dictionaryWithObjectsAndKeys:
- @"1000", @"WebKitHistoryItemLimit",
- @"7", @"WebKitHistoryAgeInDaysLimit",
- nil]];
-}
-
-- (id)init
-{
- self = [super init];
- if (!self)
- return nil;
-
- _entriesByURL = [[NSMutableDictionary alloc] init];
- _entriesByDate = new DateToEntriesMap;
-
- return self;
-}
-
-- (void)dealloc
-{
- [_entriesByURL release];
- [_orderedLastVisitedDays release];
- delete _entriesByDate;
- [super dealloc];
-}
-
-- (void)finalize
-{
- delete _entriesByDate;
- [super finalize];
-}
-
-// MARK: MODIFYING CONTENTS
-
-static void getDayBoundaries(NSTimeInterval interval, NSTimeInterval& beginningOfDay, NSTimeInterval& beginningOfNextDay)
-{
- CFTimeZoneRef timeZone = CFTimeZoneCopyDefault();
- CFGregorianDate date = CFAbsoluteTimeGetGregorianDate(interval, timeZone);
- date.hour = 0;
- date.minute = 0;
- date.second = 0;
- beginningOfDay = CFGregorianDateGetAbsoluteTime(date, timeZone);
- date.day += 1;
- beginningOfNextDay = CFGregorianDateGetAbsoluteTime(date, timeZone);
- CFRelease(timeZone);
-}
-
-static inline NSTimeInterval beginningOfDay(NSTimeInterval date)
-{
- static NSTimeInterval cachedBeginningOfDay = NAN;
- static NSTimeInterval cachedBeginningOfNextDay;
- if (!(date >= cachedBeginningOfDay && date < cachedBeginningOfNextDay))
- getDayBoundaries(date, cachedBeginningOfDay, cachedBeginningOfNextDay);
- return cachedBeginningOfDay;
-}
-
-static inline WebHistoryDateKey dateKey(NSTimeInterval date)
-{
- // Converting from double (NSTimeInterval) to int64_t (WebHistoryDateKey) is
- // safe here because all sensible dates are in the range -2**48 .. 2**47 which
- // safely fits in an int64_t.
- return beginningOfDay(date);
-}
-
-// Returns whether the day is already in the list of days,
-// and fills in *key with the key used to access its location
-- (BOOL)findKey:(WebHistoryDateKey*)key forDay:(NSTimeInterval)date
-{
- ASSERT_ARG(key, key);
- *key = dateKey(date);
- return _entriesByDate->contains(*key);
-}
-
-- (void)insertItem:(WebHistoryItem *)entry forDateKey:(WebHistoryDateKey)dateKey
-{
- ASSERT_ARG(entry, entry != nil);
- ASSERT(_entriesByDate->contains(dateKey));
-
- NSMutableArray *entriesForDate = _entriesByDate->get(dateKey).get();
- NSTimeInterval entryDate = [entry lastVisitedTimeInterval];
-
- unsigned count = [entriesForDate count];
-
- // The entries for each day are stored in a sorted array with the most recent entry first
- // Check for the common cases of the entry being newer than all existing entries or the first entry of the day
- if (!count || [[entriesForDate objectAtIndex:0] lastVisitedTimeInterval] < entryDate) {
- [entriesForDate insertObject:entry atIndex:0];
- return;
- }
- // .. or older than all existing entries
- if (count > 0 && [[entriesForDate objectAtIndex:count - 1] lastVisitedTimeInterval] >= entryDate) {
- [entriesForDate insertObject:entry atIndex:count];
- return;
- }
-
- unsigned low = 0;
- unsigned high = count;
- while (low < high) {
- unsigned mid = low + (high - low) / 2;
- if ([[entriesForDate objectAtIndex:mid] lastVisitedTimeInterval] >= entryDate)
- low = mid + 1;
- else
- high = mid;
- }
-
- // low is now the index of the first entry that is older than entryDate
- [entriesForDate insertObject:entry atIndex:low];
-}
-
-- (BOOL)removeItemFromDateCaches:(WebHistoryItem *)entry
-{
- WebHistoryDateKey dateKey;
- BOOL foundDate = [self findKey:&dateKey forDay:[entry lastVisitedTimeInterval]];
-
- if (!foundDate)
- return NO;
-
- DateToEntriesMap::iterator it = _entriesByDate->find(dateKey);
- NSMutableArray *entriesForDate = it->value.get();
- [entriesForDate removeObjectIdenticalTo:entry];
-
- // remove this date entirely if there are no other entries on it
- if ([entriesForDate count] == 0) {
- _entriesByDate->remove(it);
- // Clear _orderedLastVisitedDays so it will be regenerated when next requested.
- [_orderedLastVisitedDays release];
- _orderedLastVisitedDays = nil;
- }
-
- return YES;
-}
-
-- (BOOL)removeItemForURLString:(NSString *)URLString
-{
- WebHistoryItem *entry = [_entriesByURL objectForKey:URLString];
- if (!entry)
- return NO;
-
- [_entriesByURL removeObjectForKey:URLString];
-
-#if ASSERT_DISABLED
- [self removeItemFromDateCaches:entry];
-#else
- BOOL itemWasInDateCaches = [self removeItemFromDateCaches:entry];
- ASSERT(itemWasInDateCaches);
-#endif
-
- if (![_entriesByURL count])
- PageGroup::removeAllVisitedLinks();
-
- return YES;
-}
-
-- (void)addItemToDateCaches:(WebHistoryItem *)entry
-{
- WebHistoryDateKey dateKey;
- if ([self findKey:&dateKey forDay:[entry lastVisitedTimeInterval]])
- // other entries already exist for this date
- [self insertItem:entry forDateKey:dateKey];
- else {
- // no other entries exist for this date
- NSMutableArray *entries = [[NSMutableArray alloc] initWithObjects:&entry count:1];
- _entriesByDate->set(dateKey, entries);
- [entries release];
- // Clear _orderedLastVisitedDays so it will be regenerated when next requested.
- [_orderedLastVisitedDays release];
- _orderedLastVisitedDays = nil;
- }
-}
-
-- (WebHistoryItem *)visitedURL:(NSURL *)url withTitle:(NSString *)title increaseVisitCount:(BOOL)increaseVisitCount
-{
- ASSERT(url);
- ASSERT(title);
-
- NSString *URLString = [url _web_originalDataAsString];
- if (!URLString)
- URLString = @"";
- WebHistoryItem *entry = [_entriesByURL objectForKey:URLString];
-
- if (entry) {
- LOG(History, "Updating global history entry %@", entry);
- // Remove the item from date caches before changing its last visited date. Otherwise we might get duplicate entries
- // as seen in <rdar://problem/6570573>.
- BOOL itemWasInDateCaches = [self removeItemFromDateCaches:entry];
- ASSERT_UNUSED(itemWasInDateCaches, itemWasInDateCaches);
-
- [entry _visitedWithTitle:title increaseVisitCount:increaseVisitCount];
- } else {
- LOG(History, "Adding new global history entry for %@", url);
- entry = [[WebHistoryItem alloc] initWithURLString:URLString title:title lastVisitedTimeInterval:[NSDate timeIntervalSinceReferenceDate]];
- [entry _recordInitialVisit];
- [_entriesByURL setObject:entry forKey:URLString];
- [entry release];
- }
-
- [self addItemToDateCaches:entry];
-
- return entry;
-}
-
-- (BOOL)addItem:(WebHistoryItem *)entry discardDuplicate:(BOOL)discardDuplicate
-{
- ASSERT_ARG(entry, entry);
- ASSERT_ARG(entry, [entry lastVisitedTimeInterval] != 0);
-
- NSString *URLString = [entry URLString];
-
- WebHistoryItem *oldEntry = [_entriesByURL objectForKey:URLString];
- if (oldEntry) {
- if (discardDuplicate)
- return NO;
-
- // The last reference to oldEntry might be this dictionary, so we hold onto a reference
- // until we're done with oldEntry.
- [oldEntry retain];
- [self removeItemForURLString:URLString];
-
- // If we already have an item with this URL, we need to merge info that drives the
- // URL autocomplete heuristics from that item into the new one.
- [entry _mergeAutoCompleteHints:oldEntry];
- [oldEntry release];
- }
-
- [self addItemToDateCaches:entry];
- [_entriesByURL setObject:entry forKey:URLString];
-
- return YES;
-}
-
-- (void)rebuildHistoryByDayIfNeeded:(WebHistory *)webHistory
-{
- // We clear all the values to present a consistent state when sending the notifications.
- // We keep a reference to the entries for rebuilding the history after the notification.
- Vector <RetainPtr<NSMutableArray> > entryArrays;
- copyValuesToVector(*_entriesByDate, entryArrays);
- _entriesByDate->clear();
-
- NSMutableDictionary *entriesByURL = _entriesByURL;
- _entriesByURL = nil;
-
- [_orderedLastVisitedDays release];
- _orderedLastVisitedDays = nil;
-
- NSArray *allEntries = [entriesByURL allValues];
- [webHistory _sendNotification:WebHistoryAllItemsRemovedNotification entries:allEntries];
-
- // Next, we rebuild the history, restore the states, and notify the clients.
- _entriesByURL = entriesByURL;
- for (size_t dayIndex = 0; dayIndex < entryArrays.size(); ++dayIndex) {
- for (WebHistoryItem *entry in (entryArrays[dayIndex]).get())
- [self addItemToDateCaches:entry];
- }
- [webHistory _sendNotification:WebHistoryItemsAddedNotification entries:allEntries];
-}
-
-- (BOOL)removeItem:(WebHistoryItem *)entry
-{
- NSString *URLString = [entry URLString];
-
- // If this exact object isn't stored, then make no change.
- // FIXME: Is this the right behavior if this entry isn't present, but another entry for the same URL is?
- // Maybe need to change the API to make something like removeEntryForURLString public instead.
- WebHistoryItem *matchingEntry = [_entriesByURL objectForKey:URLString];
- if (matchingEntry != entry)
- return NO;
-
- [self removeItemForURLString:URLString];
-
- return YES;
-}
-
-- (BOOL)removeItems:(NSArray *)entries
-{
- NSUInteger count = [entries count];
- if (!count)
- return NO;
-
- for (NSUInteger index = 0; index < count; ++index)
- [self removeItem:[entries objectAtIndex:index]];
-
- return YES;
-}
-
-- (BOOL)removeAllItems
-{
- if (_entriesByDate->isEmpty())
- return NO;
-
- _entriesByDate->clear();
- [_entriesByURL removeAllObjects];
-
- // Clear _orderedLastVisitedDays so it will be regenerated when next requested.
- [_orderedLastVisitedDays release];
- _orderedLastVisitedDays = nil;
-
- PageGroup::removeAllVisitedLinks();
-
- return YES;
-}
-
-- (void)addItems:(NSArray *)newEntries
-{
- // There is no guarantee that the incoming entries are in any particular
- // order, but if this is called with a set of entries that were created by
- // iterating through the results of orderedLastVisitedDays and orderedItemsLastVisitedOnDayy
- // then they will be ordered chronologically from newest to oldest. We can make adding them
- // faster (fewer compares) by inserting them from oldest to newest.
- NSEnumerator *enumerator = [newEntries reverseObjectEnumerator];
- while (WebHistoryItem *entry = [enumerator nextObject])
- [self addItem:entry discardDuplicate:NO];
-}
-
-// MARK: DATE-BASED RETRIEVAL
-
-- (NSArray *)orderedLastVisitedDays
-{
- if (!_orderedLastVisitedDays) {
- Vector<int> daysAsTimeIntervals;
- daysAsTimeIntervals.reserveCapacity(_entriesByDate->size());
- DateToEntriesMap::const_iterator end = _entriesByDate->end();
- for (DateToEntriesMap::const_iterator it = _entriesByDate->begin(); it != end; ++it)
- daysAsTimeIntervals.append(it->key);
-
- std::sort(daysAsTimeIntervals.begin(), daysAsTimeIntervals.end());
- size_t count = daysAsTimeIntervals.size();
- _orderedLastVisitedDays = [[NSMutableArray alloc] initWithCapacity:count];
- for (int i = count - 1; i >= 0; i--) {
- NSTimeInterval interval = daysAsTimeIntervals[i];
- NSCalendarDate *date = [[NSCalendarDate alloc] initWithTimeIntervalSinceReferenceDate:interval];
- [_orderedLastVisitedDays addObject:date];
- [date release];
- }
- }
- return _orderedLastVisitedDays;
-}
-
-- (NSArray *)orderedItemsLastVisitedOnDay:(NSCalendarDate *)date
-{
- WebHistoryDateKey dateKey;
- if (![self findKey:&dateKey forDay:[date timeIntervalSinceReferenceDate]])
- return nil;
- return _entriesByDate->get(dateKey).get();
-}
-
-// MARK: URL MATCHING
-
-- (WebHistoryItem *)itemForURLString:(NSString *)URLString
-{
- return [_entriesByURL objectForKey:URLString];
-}
-
-- (BOOL)containsURL:(NSURL *)URL
-{
- return [self itemForURLString:[URL _web_originalDataAsString]] != nil;
-}
-
-- (WebHistoryItem *)itemForURL:(NSURL *)URL
-{
- return [self itemForURLString:[URL _web_originalDataAsString]];
-}
-
-- (NSArray *)allItems
-{
- return [_entriesByURL allValues];
-}
-
-// MARK: ARCHIVING/UNARCHIVING
-
-- (void)setHistoryAgeInDaysLimit:(int)limit
-{
- ageInDaysLimitSet = YES;
- ageInDaysLimit = limit;
-}
-
-- (int)historyAgeInDaysLimit
-{
- if (ageInDaysLimitSet)
- return ageInDaysLimit;
- return [[NSUserDefaults standardUserDefaults] integerForKey:@"WebKitHistoryAgeInDaysLimit"];
-}
-
-- (void)setHistoryItemLimit:(int)limit
-{
- itemLimitSet = YES;
- itemLimit = limit;
-}
-
-- (int)historyItemLimit
-{
- if (itemLimitSet)
- return itemLimit;
- return [[NSUserDefaults standardUserDefaults] integerForKey:@"WebKitHistoryItemLimit"];
-}
-
-// Return a date that marks the age limit for history entries saved to or
-// loaded from disk. Any entry older than this item should be rejected.
-- (NSCalendarDate *)ageLimitDate
-{
- return [[NSCalendarDate calendarDate] dateByAddingYears:0 months:0 days:-[self historyAgeInDaysLimit]
- hours:0 minutes:0 seconds:0];
-}
-
-- (BOOL)loadHistoryGutsFromURL:(NSURL *)URL savedItemsCount:(int *)numberOfItemsLoaded collectDiscardedItemsInto:(NSMutableArray *)discardedItems error:(NSError **)error
-{
- *numberOfItemsLoaded = 0;
- NSDictionary *dictionary = nil;
-
- // Optimize loading from local file, which is faster than using the general URL loading mechanism
- if ([URL isFileURL]) {
- dictionary = [NSDictionary dictionaryWithContentsOfFile:[URL path]];
- if (!dictionary) {
-#if !LOG_DISABLED
- if ([[NSFileManager defaultManager] fileExistsAtPath:[URL path]])
- LOG_ERROR("unable to read history from file %@; perhaps contents are corrupted", [URL path]);
-#endif
- // else file doesn't exist, which is normal the first time
- return NO;
- }
- } else {
- NSData *data = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:URL] returningResponse:nil error:error];
- if (data && [data length] > 0) {
- dictionary = [NSPropertyListSerialization propertyListFromData:data
- mutabilityOption:NSPropertyListImmutable
- format:nil
- errorDescription:nil];
- }
- }
-
- // We used to support NSArrays here, but that was before Safari 1.0 shipped. We will no longer support
- // that ancient format, so anything that isn't an NSDictionary is bogus.
- if (![dictionary isKindOfClass:[NSDictionary class]])
- return NO;
-
- NSNumber *fileVersionObject = [dictionary objectForKey:FileVersionKey];
- int fileVersion;
- // we don't trust data obtained from elsewhere, so double-check
- if (!fileVersionObject || ![fileVersionObject isKindOfClass:[NSNumber class]]) {
- LOG_ERROR("history file version can't be determined, therefore not loading");
- return NO;
- }
- fileVersion = [fileVersionObject intValue];
- if (fileVersion > currentFileVersion) {
- LOG_ERROR("history file version is %d, newer than newest known version %d, therefore not loading", fileVersion, currentFileVersion);
- return NO;
- }
-
- NSArray *array = [dictionary objectForKey:DatesArrayKey];
-
- int itemCountLimit = [self historyItemLimit];
- NSTimeInterval ageLimitDate = [[self ageLimitDate] timeIntervalSinceReferenceDate];
- NSEnumerator *enumerator = [array objectEnumerator];
- BOOL ageLimitPassed = NO;
- BOOL itemLimitPassed = NO;
- ASSERT(*numberOfItemsLoaded == 0);
-
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- NSDictionary *itemAsDictionary;
- while ((itemAsDictionary = [enumerator nextObject]) != nil) {
- WebHistoryItem *item = [[WebHistoryItem alloc] initFromDictionaryRepresentation:itemAsDictionary];
-
- // item without URL is useless; data on disk must have been bad; ignore
- if ([item URLString]) {
- // Test against date limit. Since the items are ordered newest to oldest, we can stop comparing
- // once we've found the first item that's too old.
- if (!ageLimitPassed && [item lastVisitedTimeInterval] <= ageLimitDate)
- ageLimitPassed = YES;
-
- if (ageLimitPassed || itemLimitPassed)
- [discardedItems addObject:item];
- else {
- if ([self addItem:item discardDuplicate:YES])
- ++(*numberOfItemsLoaded);
- if (*numberOfItemsLoaded == itemCountLimit)
- itemLimitPassed = YES;
-
- // Draining the autorelease pool every 50 iterations was found by experimentation to be optimal
- if (*numberOfItemsLoaded % 50 == 0) {
- [pool drain];
- pool = [[NSAutoreleasePool alloc] init];
- }
- }
- }
- [item release];
- }
- [pool drain];
-
- return YES;
-}
-
-- (BOOL)loadFromURL:(NSURL *)URL collectDiscardedItemsInto:(NSMutableArray *)discardedItems error:(NSError **)error
-{
-#if !LOG_DISABLED
- double start = CFAbsoluteTimeGetCurrent();
-#endif
-
- int numberOfItems;
- if (![self loadHistoryGutsFromURL:URL savedItemsCount:&numberOfItems collectDiscardedItemsInto:discardedItems error:error])
- return NO;
-
-#if !LOG_DISABLED
- double duration = CFAbsoluteTimeGetCurrent() - start;
- LOG(Timing, "loading %d history entries from %@ took %f seconds", numberOfItems, URL, duration);
-#endif
-
- return YES;
-}
-
-- (NSData *)data
-{
- if (_entriesByDate->isEmpty()) {
- static NSData *emptyHistoryData = (NSData *)CFDataCreate(0, 0, 0);
- return emptyHistoryData;
- }
-
- // Ignores the date and item count limits; these are respected when loading instead of when saving, so
- // that clients can learn of discarded items by listening to WebHistoryItemsDiscardedWhileLoadingNotification.
- WebHistoryWriter writer(_entriesByDate);
- writer.writePropertyList();
- return [[(NSData *)writer.releaseData().get() retain] autorelease];
-}
-
-- (BOOL)saveToURL:(NSURL *)URL error:(NSError **)error
-{
-#if !LOG_DISABLED
- double start = CFAbsoluteTimeGetCurrent();
-#endif
-
- BOOL result = [[self data] writeToURL:URL options:0 error:error];
-
-#if !LOG_DISABLED
- double duration = CFAbsoluteTimeGetCurrent() - start;
- LOG(Timing, "saving history to %@ took %f seconds", URL, duration);
-#endif
-
- return result;
-}
-
-- (void)addVisitedLinksToPageGroup:(PageGroup&)group
-{
- NSEnumerator *enumerator = [_entriesByURL keyEnumerator];
- while (NSString *url = [enumerator nextObject]) {
- size_t length = [url length];
- const UChar* characters = CFStringGetCharactersPtr(reinterpret_cast<CFStringRef>(url));
- if (characters)
- group.addVisitedLink(characters, length);
- else {
- Vector<UChar, 512> buffer(length);
- [url getCharacters:buffer.data()];
- group.addVisitedLink(buffer.data(), length);
- }
- }
-}
-
-@end
-
-@implementation WebHistory
-
-+ (WebHistory *)optionalSharedHistory
-{
- return _sharedHistory;
-}
-
-+ (void)setOptionalSharedHistory:(WebHistory *)history
-{
- if (_sharedHistory == history)
- return;
- // FIXME: Need to think about multiple instances of WebHistory per application
- // and correct synchronization of history file between applications.
- [_sharedHistory release];
- _sharedHistory = [history retain];
- PageGroup::setShouldTrackVisitedLinks(history);
- PageGroup::removeAllVisitedLinks();
-}
-
-- (void)timeZoneChanged:(NSNotification *)notification
-{
- [_historyPrivate rebuildHistoryByDayIfNeeded:self];
-}
-
-- (id)init
-{
- self = [super init];
- if (!self)
- return nil;
- _historyPrivate = [[WebHistoryPrivate alloc] init];
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(timeZoneChanged:)
- name:NSSystemTimeZoneDidChangeNotification
- object:nil];
- return self;
-}
-
-- (void)dealloc
-{
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:NSSystemTimeZoneDidChangeNotification
- object:nil];
- [_historyPrivate release];
- [super dealloc];
-}
-
-- (void)finalize
-{
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:NSSystemTimeZoneDidChangeNotification
- object:nil];
- [super finalize];
-}
-
-// MARK: MODIFYING CONTENTS
-
-- (void)_sendNotification:(NSString *)name entries:(NSArray *)entries
-{
- NSDictionary *userInfo = [NSDictionary dictionaryWithObjectsAndKeys:entries, WebHistoryItemsKey, nil];
- [[NSNotificationCenter defaultCenter]
- postNotificationName:name object:self userInfo:userInfo];
-}
-
-- (void)removeItems:(NSArray *)entries
-{
- if ([_historyPrivate removeItems:entries]) {
- [self _sendNotification:WebHistoryItemsRemovedNotification
- entries:entries];
- }
-}
-
-- (void)removeAllItems
-{
- NSArray *entries = [_historyPrivate allItems];
- if ([_historyPrivate removeAllItems])
- [self _sendNotification:WebHistoryAllItemsRemovedNotification entries:entries];
-}
-
-- (void)addItems:(NSArray *)newEntries
-{
- [_historyPrivate addItems:newEntries];
- [self _sendNotification:WebHistoryItemsAddedNotification
- entries:newEntries];
-}
-
-// MARK: DATE-BASED RETRIEVAL
-
-- (NSArray *)orderedLastVisitedDays
-{
- return [_historyPrivate orderedLastVisitedDays];
-}
-
-- (NSArray *)orderedItemsLastVisitedOnDay:(NSCalendarDate *)date
-{
- return [_historyPrivate orderedItemsLastVisitedOnDay:date];
-}
-
-// MARK: URL MATCHING
-
-- (BOOL)containsURL:(NSURL *)URL
-{
- return [_historyPrivate containsURL:URL];
-}
-
-- (WebHistoryItem *)itemForURL:(NSURL *)URL
-{
- return [_historyPrivate itemForURL:URL];
-}
-
-// MARK: SAVING TO DISK
-
-- (BOOL)loadFromURL:(NSURL *)URL error:(NSError **)error
-{
- NSMutableArray *discardedItems = [[NSMutableArray alloc] init];
- if (![_historyPrivate loadFromURL:URL collectDiscardedItemsInto:discardedItems error:error]) {
- [discardedItems release];
- return NO;
- }
-
- [[NSNotificationCenter defaultCenter]
- postNotificationName:WebHistoryLoadedNotification
- object:self];
-
- if ([discardedItems count])
- [self _sendNotification:WebHistoryItemsDiscardedWhileLoadingNotification entries:discardedItems];
-
- [discardedItems release];
- return YES;
-}
-
-- (BOOL)saveToURL:(NSURL *)URL error:(NSError **)error
-{
- if (![_historyPrivate saveToURL:URL error:error])
- return NO;
- [[NSNotificationCenter defaultCenter]
- postNotificationName:WebHistorySavedNotification
- object:self];
- return YES;
-}
-
-- (void)setHistoryItemLimit:(int)limit
-{
- [_historyPrivate setHistoryItemLimit:limit];
-}
-
-- (int)historyItemLimit
-{
- return [_historyPrivate historyItemLimit];
-}
-
-- (void)setHistoryAgeInDaysLimit:(int)limit
-{
- [_historyPrivate setHistoryAgeInDaysLimit:limit];
-}
-
-- (int)historyAgeInDaysLimit
-{
- return [_historyPrivate historyAgeInDaysLimit];
-}
-
-@end
-
-@implementation WebHistory (WebPrivate)
-
-- (WebHistoryItem *)_itemForURLString:(NSString *)URLString
-{
- return [_historyPrivate itemForURLString:URLString];
-}
-
-- (NSArray *)allItems
-{
- return [_historyPrivate allItems];
-}
-
-- (NSData *)_data
-{
- return [_historyPrivate data];
-}
-
-+ (void)_setVisitedLinkTrackingEnabled:(BOOL)visitedLinkTrackingEnabled
-{
- PageGroup::setShouldTrackVisitedLinks(visitedLinkTrackingEnabled);
-}
-
-+ (void)_removeAllVisitedLinks
-{
- PageGroup::removeAllVisitedLinks();
-}
-
-@end
-
-@implementation WebHistory (WebInternal)
-
-- (void)_visitedURL:(NSURL *)url withTitle:(NSString *)title method:(NSString *)method wasFailure:(BOOL)wasFailure increaseVisitCount:(BOOL)increaseVisitCount
-{
- WebHistoryItem *entry = [_historyPrivate visitedURL:url withTitle:title increaseVisitCount:increaseVisitCount];
-
- HistoryItem* item = core(entry);
- item->setLastVisitWasFailure(wasFailure);
-
- if ([method length])
- item->setLastVisitWasHTTPNonGet([method caseInsensitiveCompare:@"GET"] && (![[url scheme] caseInsensitiveCompare:@"http"] || ![[url scheme] caseInsensitiveCompare:@"https"]));
-
- item->setRedirectURLs(nullptr);
-
- NSArray *entries = [[NSArray alloc] initWithObjects:entry, nil];
- [self _sendNotification:WebHistoryItemsAddedNotification entries:entries];
- [entries release];
-}
-
-- (void)_addVisitedLinksToPageGroup:(WebCore::PageGroup&)group
-{
- [_historyPrivate addVisitedLinksToPageGroup:group];
-}
-
-@end
-
-WebHistoryWriter::WebHistoryWriter(DateToEntriesMap* entriesByDate)
- : m_entriesByDate(entriesByDate)
-{
- m_dateKeys.reserveCapacity(m_entriesByDate->size());
- DateToEntriesMap::const_iterator end = m_entriesByDate->end();
- for (DateToEntriesMap::const_iterator it = m_entriesByDate->begin(); it != end; ++it)
- m_dateKeys.append(it->key);
- std::sort(m_dateKeys.begin(), m_dateKeys.end());
-}
-
-void WebHistoryWriter::writeHistoryItems(BinaryPropertyListObjectStream& stream)
-{
- for (int dateIndex = m_dateKeys.size() - 1; dateIndex >= 0; dateIndex--) {
- NSArray *entries = m_entriesByDate->get(m_dateKeys[dateIndex]).get();
- NSUInteger entryCount = [entries count];
- for (NSUInteger entryIndex = 0; entryIndex < entryCount; ++entryIndex)
- writeHistoryItem(stream, core([entries objectAtIndex:entryIndex]));
- }
-}
diff --git a/Source/WebKit/mac/History/WebHistoryItem.h b/Source/WebKit/mac/History/WebHistoryItem.h
deleted file mode 100644
index 4de4344a3..000000000
--- a/Source/WebKit/mac/History/WebHistoryItem.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (C) 2003 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-@class WebHistoryItemPrivate;
-@class NSURL;
-
-/*
- @discussion Notification sent when history item is modified.
- @constant WebHistoryItemChanged Posted from whenever the value of
- either the item's title, alternate title, url strings, or last visited interval
- changes. The userInfo will be nil.
-*/
-extern NSString *WebHistoryItemChangedNotification;
-
-/*!
- @class WebHistoryItem
- @discussion WebHistoryItems are created by WebKit to represent pages visited.
- The WebBackForwardList and WebHistory classes both use WebHistoryItems to represent
- pages visited. With the exception of the displayTitle, the properties of
- WebHistoryItems are set by WebKit. WebHistoryItems are normally never created directly.
-*/
-@interface WebHistoryItem : NSObject <NSCopying>
-{
-@private
- WebHistoryItemPrivate *_private;
-}
-
-/*!
- @method initWithURLString:title:lastVisitedTimeInterval:
- @param URLString The URL string for the item.
- @param title The title to use for the item. This is normally the <title> of a page.
- @param time The time used to indicate when the item was used.
- @abstract Initialize a new WebHistoryItem
- @discussion WebHistoryItems are normally created for you by the WebKit.
- You may use this method to prepopulate a WebBackForwardList, or create
- 'artificial' items to add to a WebBackForwardList. When first initialized
- the URLString and originalURLString will be the same.
-*/
-- (id)initWithURLString:(NSString *)URLString title:(NSString *)title lastVisitedTimeInterval:(NSTimeInterval)time;
-
-/*!
- @method originalURLString
- @abstract The string representation of the originial URL of this item.
- This value is normally set by the WebKit.
- @result The string corresponding to the initial URL of this item.
-*/
-- (NSString *)originalURLString;
-
-/*!
- @method URLString
- @abstract The string representation of the URL represented by this item.
- @discussion The URLString may be different than the originalURLString if the page
- redirected to a new location. This value is normally set by the WebKit.
- @result The string corresponding to the final URL of this item.
-*/
-- (NSString *)URLString;
-
-
-/*!
- @method title
- @abstract The title of the page represented by this item.
- @discussion This title cannot be changed by the client. This value
- is normally set by the WebKit when a page title for the item is received.
- @result The title of this item.
-*/
-- (NSString *)title;
-
-/*!
- @method lastVisitedTimeInterval
- @abstract The last time the page represented by this item was visited. The interval
- is since the reference date as determined by NSDate. This value is normally set by
- the WebKit.
- @result The last time this item was visited.
-*/
-- (NSTimeInterval)lastVisitedTimeInterval;
-
-/*!
- @method setAlternateTitle:
- @param alternateTitle The new display title for this item.
- @abstract A title that may be used by the client to display this item.
-*/
-- (void)setAlternateTitle:(NSString *)alternateTitle;
-
-/*
- @method title
- @abstract A title that may be used by the client to display this item.
- @result The alternate title for this item.
-*/
-- (NSString *)alternateTitle;
-
-/*!
- @method icon
- @abstract The favorite icon of the page represented by this item.
- @discussion This icon returned will be determined by the WebKit.
- @result The icon associated with this item's URL.
-*/
-- (NSImage *)icon;
-
-@end
diff --git a/Source/WebKit/mac/History/WebHistoryItem.mm b/Source/WebKit/mac/History/WebHistoryItem.mm
deleted file mode 100644
index cceba0b6b..000000000
--- a/Source/WebKit/mac/History/WebHistoryItem.mm
+++ /dev/null
@@ -1,632 +0,0 @@
-/*
- * Copyright (C) 2005, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebHistoryItemInternal.h"
-#import "WebHistoryItemPrivate.h"
-
-#import "WebFrameInternal.h"
-#import "WebFrameView.h"
-#import "WebHTMLViewInternal.h"
-#import "WebIconDatabase.h"
-#import "WebKitLogging.h"
-#import "WebKitNSStringExtras.h"
-#import "WebNSArrayExtras.h"
-#import "WebNSDictionaryExtras.h"
-#import "WebNSObjectExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebNSURLRequestExtras.h"
-#import "WebNSViewExtras.h"
-#import "WebPluginController.h"
-#import "WebTypesInternal.h"
-#import <WebCore/HistoryItem.h>
-#import <WebCore/Image.h>
-#import <WebCore/KURL.h>
-#import <WebCore/PageCache.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/ThreadCheck.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/Assertions.h>
-#import <wtf/MainThread.h>
-#import <wtf/StdLibExtras.h>
-#import <wtf/text/WTFString.h>
-
-// Private keys used in the WebHistoryItem's dictionary representation.
-// see 3245793 for explanation of "lastVisitedDate"
-static NSString *lastVisitedTimeIntervalKey = @"lastVisitedDate";
-static NSString *visitCountKey = @"visitCount";
-static NSString *titleKey = @"title";
-static NSString *childrenKey = @"children";
-static NSString *displayTitleKey = @"displayTitle";
-static NSString *lastVisitWasFailureKey = @"lastVisitWasFailure";
-static NSString *lastVisitWasHTTPNonGetKey = @"lastVisitWasHTTPNonGet";
-static NSString *redirectURLsKey = @"redirectURLs";
-static NSString *dailyVisitCountKey = @"D"; // short key to save space
-static NSString *weeklyVisitCountKey = @"W"; // short key to save space
-
-// Notification strings.
-NSString *WebHistoryItemChangedNotification = @"WebHistoryItemChangedNotification";
-
-using namespace WebCore;
-
-typedef HashMap<HistoryItem*, WebHistoryItem*> HistoryItemMap;
-
-static inline WebHistoryItemPrivate* kitPrivate(WebCoreHistoryItem* list) { return (WebHistoryItemPrivate*)list; }
-static inline WebCoreHistoryItem* core(WebHistoryItemPrivate* list) { return (WebCoreHistoryItem*)list; }
-
-static HistoryItemMap& historyItemWrappers()
-{
- DEFINE_STATIC_LOCAL(HistoryItemMap, historyItemWrappers, ());
- return historyItemWrappers;
-}
-
-void WKNotifyHistoryItemChanged(HistoryItem*)
-{
- [[NSNotificationCenter defaultCenter]
- postNotificationName:WebHistoryItemChangedNotification object:nil userInfo:nil];
-}
-
-@implementation WebHistoryItem
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
-}
-
-- (id)init
-{
- return [self initWithWebCoreHistoryItem:HistoryItem::create()];
-}
-
-- (id)initWithURLString:(NSString *)URLString title:(NSString *)title lastVisitedTimeInterval:(NSTimeInterval)time
-{
- WebCoreThreadViolationCheckRoundOne();
- return [self initWithWebCoreHistoryItem:HistoryItem::create(URLString, title, time)];
-}
-
-- (void)dealloc
-{
- if (WebCoreObjCScheduleDeallocateOnMainThread([WebHistoryItem class], self))
- return;
-
- if (_private) {
- HistoryItem* coreItem = core(_private);
- coreItem->deref();
- historyItemWrappers().remove(coreItem);
- }
- [super dealloc];
-}
-
-- (void)finalize
-{
- WebCoreThreadViolationCheckRoundOne();
- // FIXME: ~HistoryItem is what releases the history item's icon from the icon database
- // It's probably not good to release icons from the database only when the object is garbage-collected.
- // Need to change design so this happens at a predictable time.
- if (_private) {
- HistoryItem* coreItem = core(_private);
- coreItem->deref();
- historyItemWrappers().remove(coreItem);
- }
- [super finalize];
-}
-
-- (id)copyWithZone:(NSZone *)zone
-{
- WebCoreThreadViolationCheckRoundOne();
- WebHistoryItem *copy = [[[self class] alloc] initWithWebCoreHistoryItem:core(_private)->copy()];
- historyItemWrappers().set(core(copy->_private), copy);
-
- return copy;
-}
-
-// FIXME: Need to decide if this class ever returns URLs and decide on the name of this method
-- (NSString *)URLString
-{
- ASSERT_MAIN_THREAD();
- return nsStringNilIfEmpty(core(_private)->urlString());
-}
-
-// The first URL we loaded to get to where this history item points. Includes both client
-// and server redirects.
-- (NSString *)originalURLString
-{
- ASSERT_MAIN_THREAD();
- return nsStringNilIfEmpty(core(_private)->originalURLString());
-}
-
-- (NSString *)title
-{
- ASSERT_MAIN_THREAD();
- return nsStringNilIfEmpty(core(_private)->title());
-}
-
-- (void)setAlternateTitle:(NSString *)alternateTitle
-{
- core(_private)->setAlternateTitle(alternateTitle);
-}
-
-- (NSString *)alternateTitle
-{
- return nsStringNilIfEmpty(core(_private)->alternateTitle());
-}
-
-- (NSImage *)icon
-{
- return [[WebIconDatabase sharedIconDatabase] iconForURL:[self URLString] withSize:WebIconSmallSize];
-}
-
-- (NSTimeInterval)lastVisitedTimeInterval
-{
- ASSERT_MAIN_THREAD();
- return core(_private)->lastVisitedTime();
-}
-
-- (NSUInteger)hash
-{
- return [(NSString*)core(_private)->urlString() hash];
-}
-
-- (BOOL)isEqual:(id)anObject
-{
- ASSERT_MAIN_THREAD();
- if (![anObject isMemberOfClass:[WebHistoryItem class]]) {
- return NO;
- }
-
- return core(_private)->urlString() == core(((WebHistoryItem*)anObject)->_private)->urlString();
-}
-
-- (NSString *)description
-{
- ASSERT_MAIN_THREAD();
- HistoryItem* coreItem = core(_private);
- NSMutableString *result = [NSMutableString stringWithFormat:@"%@ %@", [super description], (NSString*)coreItem->urlString()];
- if (!coreItem->target().isEmpty()) {
- NSString *target = coreItem->target();
- [result appendFormat:@" in \"%@\"", target];
- }
- if (coreItem->isTargetItem()) {
- [result appendString:@" *target*"];
- }
- if (coreItem->formData()) {
- [result appendString:@" *POST*"];
- }
-
- if (coreItem->children().size()) {
- const HistoryItemVector& children = coreItem->children();
- int currPos = [result length];
- unsigned size = children.size();
- for (unsigned i = 0; i < size; ++i) {
- WebHistoryItem *child = kit(children[i].get());
- [result appendString:@"\n"];
- [result appendString:[child description]];
- }
- // shift all the contents over. A bit slow, but hey, this is for debugging.
- NSRange replRange = { static_cast<NSUInteger>(currPos), [result length] - currPos };
- [result replaceOccurrencesOfString:@"\n" withString:@"\n " options:0 range:replRange];
- }
-
- return result;
-}
-
-@end
-
-@implementation WebHistoryItem (WebInternal)
-
-HistoryItem* core(WebHistoryItem *item)
-{
- if (!item)
- return 0;
-
- ASSERT(historyItemWrappers().get(core(item->_private)) == item);
-
- return core(item->_private);
-}
-
-WebHistoryItem *kit(HistoryItem* item)
-{
- if (!item)
- return nil;
-
- WebHistoryItem *kitItem = historyItemWrappers().get(item);
- if (kitItem)
- return kitItem;
-
- return [[[WebHistoryItem alloc] initWithWebCoreHistoryItem:item] autorelease];
-}
-
-+ (WebHistoryItem *)entryWithURL:(NSURL *)URL
-{
- return [[[self alloc] initWithURL:URL title:nil] autorelease];
-}
-
-- (id)initWithURL:(NSURL *)URL target:(NSString *)target parent:(NSString *)parent title:(NSString *)title
-{
- return [self initWithWebCoreHistoryItem:HistoryItem::create(URL, target, parent, title)];
-}
-
-- (id)initWithURLString:(NSString *)URLString title:(NSString *)title displayTitle:(NSString *)displayTitle lastVisitedTimeInterval:(NSTimeInterval)time
-{
- return [self initWithWebCoreHistoryItem:HistoryItem::create(URLString, title, displayTitle, time)];
-}
-
-- (id)initWithWebCoreHistoryItem:(PassRefPtr<HistoryItem>)item
-{
- WebCoreThreadViolationCheckRoundOne();
- // Need to tell WebCore what function to call for the
- // "History Item has Changed" notification - no harm in doing this
- // everytime a WebHistoryItem is created
- // Note: We also do this in [WebFrameView initWithFrame:] where we do
- // other "init before WebKit is used" type things
- WebCore::notifyHistoryItemChanged = WKNotifyHistoryItemChanged;
-
- self = [super init];
-
- _private = kitPrivate(item.leakRef());
- ASSERT(!historyItemWrappers().get(core(_private)));
- historyItemWrappers().set(core(_private), self);
- return self;
-}
-
-- (void)setTitle:(NSString *)title
-{
- core(_private)->setTitle(title);
-}
-
-- (void)setVisitCount:(int)count
-{
- core(_private)->setVisitCount(count);
-}
-
-- (void)setViewState:(id)statePList
-{
- core(_private)->setViewState(statePList);
-}
-
-- (void)_mergeAutoCompleteHints:(WebHistoryItem *)otherItem
-{
- ASSERT_ARG(otherItem, otherItem);
- core(_private)->mergeAutoCompleteHints(core(otherItem->_private));
-}
-
-- (id)initFromDictionaryRepresentation:(NSDictionary *)dict
-{
- ASSERT_MAIN_THREAD();
- NSString *URLString = [dict _webkit_stringForKey:@""];
- NSString *title = [dict _webkit_stringForKey:titleKey];
-
- // Do an existence check to avoid calling doubleValue on a nil string. Leave
- // time interval at 0 if there's no value in dict.
- NSString *timeIntervalString = [dict _webkit_stringForKey:lastVisitedTimeIntervalKey];
- NSTimeInterval lastVisited = timeIntervalString == nil ? 0 : [timeIntervalString doubleValue];
-
- self = [self initWithURLString:URLString title:title displayTitle:[dict _webkit_stringForKey:displayTitleKey] lastVisitedTimeInterval:lastVisited];
-
- // Check if we've read a broken URL from the file that has non-Latin1 chars. If so, try to convert
- // as if it was from user typing.
- if (![URLString canBeConvertedToEncoding:NSISOLatin1StringEncoding]) {
- NSURL *tempURL = [NSURL _web_URLWithUserTypedString:URLString];
- ASSERT(tempURL);
- NSString *newURLString = [tempURL _web_originalDataAsString];
- core(_private)->setURLString(newURLString);
- core(_private)->setOriginalURLString(newURLString);
- }
-
- int visitCount = [dict _webkit_intForKey:visitCountKey];
-
- // Can't trust data on disk, and we've had at least one report of this (<rdar://6572300>).
- if (visitCount < 0) {
- LOG_ERROR("visit count for history item \"%@\" is negative (%d), will be reset to 1", URLString, visitCount);
- visitCount = 1;
- }
- core(_private)->setVisitCount(visitCount);
-
- if ([dict _webkit_boolForKey:lastVisitWasFailureKey])
- core(_private)->setLastVisitWasFailure(true);
-
- BOOL lastVisitWasHTTPNonGet = [dict _webkit_boolForKey:lastVisitWasHTTPNonGetKey];
- NSString *tempURLString = [URLString lowercaseString];
- if (lastVisitWasHTTPNonGet && ([tempURLString hasPrefix:@"http:"] || [tempURLString hasPrefix:@"https:"]))
- core(_private)->setLastVisitWasHTTPNonGet(lastVisitWasHTTPNonGet);
-
- if (NSArray *redirectURLs = [dict _webkit_arrayForKey:redirectURLsKey]) {
- NSUInteger size = [redirectURLs count];
- OwnPtr<Vector<String> > redirectURLsVector = adoptPtr(new Vector<String>(size));
- for (NSUInteger i = 0; i < size; ++i)
- (*redirectURLsVector)[i] = String([redirectURLs _webkit_stringAtIndex:i]);
- core(_private)->setRedirectURLs(redirectURLsVector.release());
- }
-
- NSArray *dailyCounts = [dict _webkit_arrayForKey:dailyVisitCountKey];
- NSArray *weeklyCounts = [dict _webkit_arrayForKey:weeklyVisitCountKey];
- if (dailyCounts || weeklyCounts) {
- Vector<int> coreDailyCounts([dailyCounts count]);
- Vector<int> coreWeeklyCounts([weeklyCounts count]);
-
- // Daily and weekly counts < 0 are errors in the data read from disk, so reset to 0.
- for (size_t i = 0; i < coreDailyCounts.size(); ++i)
- coreDailyCounts[i] = std::max([[dailyCounts _webkit_numberAtIndex:i] intValue], 0);
- for (size_t i = 0; i < coreWeeklyCounts.size(); ++i)
- coreWeeklyCounts[i] = std::max([[weeklyCounts _webkit_numberAtIndex:i] intValue], 0);
-
- core(_private)->adoptVisitCounts(coreDailyCounts, coreWeeklyCounts);
- }
-
- NSArray *childDicts = [dict objectForKey:childrenKey];
- if (childDicts) {
- for (int i = [childDicts count] - 1; i >= 0; i--) {
- WebHistoryItem *child = [[WebHistoryItem alloc] initFromDictionaryRepresentation:[childDicts objectAtIndex:i]];
- core(_private)->addChildItem(core(child->_private));
- [child release];
- }
- }
-
- return self;
-}
-
-- (NSPoint)scrollPoint
-{
- ASSERT_MAIN_THREAD();
- return core(_private)->scrollPoint();
-}
-
-- (void)_visitedWithTitle:(NSString *)title increaseVisitCount:(BOOL)increaseVisitCount
-{
- core(_private)->visited(title, [NSDate timeIntervalSinceReferenceDate], increaseVisitCount ? IncreaseVisitCount : DoNotIncreaseVisitCount);
-}
-
-- (void)_recordInitialVisit
-{
- core(_private)->recordInitialVisit();
-}
-
-@end
-
-@implementation WebHistoryItem (WebPrivate)
-
-- (id)initWithURL:(NSURL *)URL title:(NSString *)title
-{
- return [self initWithURLString:[URL _web_originalDataAsString] title:title lastVisitedTimeInterval:0];
-}
-
-- (NSDictionary *)dictionaryRepresentation
-{
- ASSERT_MAIN_THREAD();
- NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:8];
-
- HistoryItem* coreItem = core(_private);
-
- if (!coreItem->urlString().isEmpty())
- [dict setObject:(NSString*)coreItem->urlString() forKey:@""];
- if (!coreItem->title().isEmpty())
- [dict setObject:(NSString*)coreItem->title() forKey:titleKey];
- if (!coreItem->alternateTitle().isEmpty())
- [dict setObject:(NSString*)coreItem->alternateTitle() forKey:displayTitleKey];
- if (coreItem->lastVisitedTime() != 0.0) {
- // Store as a string to maintain backward compatibility. (See 3245793)
- [dict setObject:[NSString stringWithFormat:@"%.1lf", coreItem->lastVisitedTime()]
- forKey:lastVisitedTimeIntervalKey];
- }
- if (coreItem->visitCount())
- [dict setObject:[NSNumber numberWithInt:coreItem->visitCount()] forKey:visitCountKey];
- if (coreItem->lastVisitWasFailure())
- [dict setObject:[NSNumber numberWithBool:YES] forKey:lastVisitWasFailureKey];
- if (coreItem->lastVisitWasHTTPNonGet()) {
- ASSERT(coreItem->urlString().startsWith("http:", false) || coreItem->urlString().startsWith("https:", false));
- [dict setObject:[NSNumber numberWithBool:YES] forKey:lastVisitWasHTTPNonGetKey];
- }
- if (Vector<String>* redirectURLs = coreItem->redirectURLs()) {
- size_t size = redirectURLs->size();
- ASSERT(size);
- NSMutableArray *result = [[NSMutableArray alloc] initWithCapacity:size];
- for (size_t i = 0; i < size; ++i)
- [result addObject:(NSString*)redirectURLs->at(i)];
- [dict setObject:result forKey:redirectURLsKey];
- [result release];
- }
-
- const Vector<int>& dailyVisitCounts = coreItem->dailyVisitCounts();
- if (dailyVisitCounts.size()) {
- NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:13];
- for (size_t i = 0; i < dailyVisitCounts.size(); ++i)
- [array addObject:[NSNumber numberWithInt:dailyVisitCounts[i]]];
- [dict setObject:array forKey:dailyVisitCountKey];
- [array release];
- }
-
- const Vector<int>& weeklyVisitCounts = coreItem->weeklyVisitCounts();
- if (weeklyVisitCounts.size()) {
- NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:5];
- for (size_t i = 0; i < weeklyVisitCounts.size(); ++i)
- [array addObject:[NSNumber numberWithInt:weeklyVisitCounts[i]]];
- [dict setObject:array forKey:weeklyVisitCountKey];
- [array release];
- }
-
- if (coreItem->children().size()) {
- const HistoryItemVector& children = coreItem->children();
- NSMutableArray *childDicts = [NSMutableArray arrayWithCapacity:children.size()];
-
- for (int i = children.size() - 1; i >= 0; i--)
- [childDicts addObject:[kit(children[i].get()) dictionaryRepresentation]];
- [dict setObject: childDicts forKey:childrenKey];
- }
-
- return dict;
-}
-
-- (NSString *)target
-{
- ASSERT_MAIN_THREAD();
- return nsStringNilIfEmpty(core(_private)->target());
-}
-
-- (BOOL)isTargetItem
-{
- return core(_private)->isTargetItem();
-}
-
-- (int)visitCount
-{
- ASSERT_MAIN_THREAD();
- return core(_private)->visitCount();
-}
-
-- (NSString *)RSSFeedReferrer
-{
- return nsStringNilIfEmpty(core(_private)->referrer());
-}
-
-- (void)setRSSFeedReferrer:(NSString *)referrer
-{
- core(_private)->setReferrer(referrer);
-}
-
-- (NSArray *)children
-{
- ASSERT_MAIN_THREAD();
- const HistoryItemVector& children = core(_private)->children();
- if (!children.size())
- return nil;
-
- unsigned size = children.size();
- NSMutableArray *result = [[[NSMutableArray alloc] initWithCapacity:size] autorelease];
-
- for (unsigned i = 0; i < size; ++i)
- [result addObject:kit(children[i].get())];
-
- return result;
-}
-
-- (void)setAlwaysAttemptToUsePageCache:(BOOL)flag
-{
- // Safari 2.0 uses this for SnapBack, so we stub it out to avoid a crash.
-}
-
-- (NSURL *)URL
-{
- ASSERT_MAIN_THREAD();
- const KURL& url = core(_private)->url();
- if (url.isEmpty())
- return nil;
- return url;
-}
-
-// This should not be called directly for WebHistoryItems that are already included
-// in WebHistory. Use -[WebHistory setLastVisitedTimeInterval:forItem:] instead.
-- (void)_setLastVisitedTimeInterval:(NSTimeInterval)time
-{
- core(_private)->setLastVisitedTime(time);
-}
-
-// FIXME: <rdar://problem/4880065> - Push Global History into WebCore
-// Once that task is complete, this accessor can go away
-- (NSCalendarDate *)_lastVisitedDate
-{
- ASSERT_MAIN_THREAD();
- return [[[NSCalendarDate alloc] initWithTimeIntervalSinceReferenceDate:core(_private)->lastVisitedTime()] autorelease];
-}
-
-- (WebHistoryItem *)targetItem
-{
- ASSERT_MAIN_THREAD();
- return kit(core(_private)->targetItem());
-}
-
-+ (void)_releaseAllPendingPageCaches
-{
-}
-
-- (id)_transientPropertyForKey:(NSString *)key
-{
- return core(_private)->getTransientProperty(key);
-}
-
-- (void)_setTransientProperty:(id)property forKey:(NSString *)key
-{
- core(_private)->setTransientProperty(key, property);
-}
-
-- (BOOL)lastVisitWasFailure
-{
- return core(_private)->lastVisitWasFailure();
-}
-
-- (void)_setLastVisitWasFailure:(BOOL)failure
-{
- core(_private)->setLastVisitWasFailure(failure);
-}
-
-- (BOOL)_lastVisitWasHTTPNonGet
-{
- return core(_private)->lastVisitWasHTTPNonGet();
-}
-
-- (NSArray *)_redirectURLs
-{
- Vector<String>* redirectURLs = core(_private)->redirectURLs();
- if (!redirectURLs)
- return nil;
-
- size_t size = redirectURLs->size();
- ASSERT(size);
- NSMutableArray *result = [[NSMutableArray alloc] initWithCapacity:size];
- for (size_t i = 0; i < size; ++i)
- [result addObject:(NSString*)redirectURLs->at(i)];
- return [result autorelease];
-}
-
-- (size_t)_getDailyVisitCounts:(const int**)counts
-{
- HistoryItem* coreItem = core(_private);
- *counts = coreItem->dailyVisitCounts().data();
- return coreItem->dailyVisitCounts().size();
-}
-
-- (size_t)_getWeeklyVisitCounts:(const int**)counts
-{
- HistoryItem* coreItem = core(_private);
- *counts = coreItem->weeklyVisitCounts().data();
- return coreItem->weeklyVisitCounts().size();
-}
-
-- (BOOL)_isInPageCache
-{
- return core(_private)->isInPageCache();
-}
-
-- (BOOL)_hasCachedPageExpired
-{
- return core(_private)->hasCachedPageExpired();
-}
-
-@end
diff --git a/Source/WebKit/mac/History/WebHistoryItemInternal.h b/Source/WebKit/mac/History/WebHistoryItemInternal.h
deleted file mode 100644
index f5a4fd70f..000000000
--- a/Source/WebKit/mac/History/WebHistoryItemInternal.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2006, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebBackForwardList.h"
-#import "WebHistoryItemPrivate.h"
-#import <wtf/Forward.h>
-
-namespace WebCore {
- class HistoryItem;
-}
-
-WebCore::HistoryItem* core(WebHistoryItem *item);
-WebHistoryItem *kit(WebCore::HistoryItem* item);
-
-extern void WKNotifyHistoryItemChanged(WebCore::HistoryItem*);
-
-@interface WebHistoryItem (WebInternal)
-
-+ (WebHistoryItem *)entryWithURL:(NSURL *)URL;
-
-- (id)initWithURL:(NSURL *)URL target:(NSString *)target parent:(NSString *)parent title:(NSString *)title;
-- (id)initWithURLString:(NSString *)URLString title:(NSString *)title displayTitle:(NSString *)displayTitle lastVisitedTimeInterval:(NSTimeInterval)time;
-- (id)initFromDictionaryRepresentation:(NSDictionary *)dict;
-- (id)initWithWebCoreHistoryItem:(PassRefPtr<WebCore::HistoryItem>)item;
-
-- (void)_mergeAutoCompleteHints:(WebHistoryItem *)otherItem;
-- (void)setTitle:(NSString *)title;
-- (void)_visitedWithTitle:(NSString *)title increaseVisitCount:(BOOL)increaseVisitCount;
-- (void)_recordInitialVisit;
-
-@end
-
-@interface WebBackForwardList (WebInternal)
-- (void)_close;
-@end
diff --git a/Source/WebKit/mac/History/WebHistoryItemPrivate.h b/Source/WebKit/mac/History/WebHistoryItemPrivate.h
deleted file mode 100644
index affc74a0b..000000000
--- a/Source/WebKit/mac/History/WebHistoryItemPrivate.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebHistoryItem.h>
-
-@interface WebHistoryItem (WebPrivate)
-
-+ (void)_releaseAllPendingPageCaches;
-
-- (id)initWithURL:(NSURL *)URL title:(NSString *)title;
-
-- (NSURL *)URL;
-- (int)visitCount;
-- (BOOL)lastVisitWasFailure;
-- (void)_setLastVisitWasFailure:(BOOL)failure;
-
-- (BOOL)_lastVisitWasHTTPNonGet;
-
-- (NSString *)RSSFeedReferrer;
-- (void)setRSSFeedReferrer:(NSString *)referrer;
-- (NSCalendarDate *)_lastVisitedDate;
-
-- (NSArray *)_redirectURLs;
-
-- (WebHistoryItem *)targetItem;
-- (NSString *)target;
-- (BOOL)isTargetItem;
-- (NSArray *)children;
-- (NSDictionary *)dictionaryRepresentation;
-
-// This should not be called directly for WebHistoryItems that are already included
-// in WebHistory. Use -[WebHistory setLastVisitedTimeInterval:forItem:] instead.
-- (void)_setLastVisitedTimeInterval:(NSTimeInterval)time;
-// Transient properties may be of any ObjC type. They are intended to be used to store state per back/forward list entry.
-// The properties will not be persisted; when the history item is removed, the properties will be lost.
-- (id)_transientPropertyForKey:(NSString *)key;
-- (void)_setTransientProperty:(id)property forKey:(NSString *)key;
-
-- (size_t)_getDailyVisitCounts:(const int**)counts;
-- (size_t)_getWeeklyVisitCounts:(const int**)counts;
-
-- (BOOL)_isInPageCache;
-- (BOOL)_hasCachedPageExpired;
-
-@end
diff --git a/Source/WebKit/mac/History/WebHistoryPrivate.h b/Source/WebKit/mac/History/WebHistoryPrivate.h
deleted file mode 100644
index b93472fa2..000000000
--- a/Source/WebKit/mac/History/WebHistoryPrivate.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2005, 2008, 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebHistory.h>
-
-/*
- @constant WebHistoryItemsDiscardedWhileLoadingNotification Posted from loadFromURL:error:.
- This notification comes with a userInfo dictionary that contains the array of
- items discarded due to the date limit or item limit. The key for the array is WebHistoryItemsKey.
-*/
-// FIXME: This notification should become public API.
-extern NSString *WebHistoryItemsDiscardedWhileLoadingNotification;
-
-@interface WebHistory (WebPrivate)
-
-// FIXME: The following SPI is used by Safari. Should it be made into public API?
-- (WebHistoryItem *)_itemForURLString:(NSString *)URLString;
-
-/*!
- @method allItems
- @result Returns an array of all WebHistoryItems in WebHistory, in an undefined order.
-*/
-- (NSArray *)allItems;
-
-/*!
- @method _data
- @result A data object with the entire history in the same format used by the saveToURL:error: method.
-*/
-- (NSData *)_data;
-
-+ (void)_setVisitedLinkTrackingEnabled:(BOOL)visitedLinkTrackingEnabled;
-+ (void)_removeAllVisitedLinks;
-@end
diff --git a/Source/WebKit/mac/History/WebURLsWithTitles.h b/Source/WebKit/mac/History/WebURLsWithTitles.h
deleted file mode 100644
index 905588ef0..000000000
--- a/Source/WebKit/mac/History/WebURLsWithTitles.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-#define WebURLsWithTitlesPboardType @"WebURLsWithTitlesPboardType"
-
-// Convenience class for getting URLs and associated titles on and off an NSPasteboard
-
-@interface WebURLsWithTitles : NSObject
-
-// Writes parallel arrays of URLs and titles to the pasteboard. These items can be retrieved by
-// calling URLsFromPasteboard and titlesFromPasteboard. URLs must consist of NSURL objects.
-// titles must consist of NSStrings, or be nil. If titles is nil, or if titles is a different
-// length than URLs, empty strings will be used for all titles. If URLs is nil, this method
-// returns without doing anything. You must declare an WebURLsWithTitlesPboardType data type
-// for pasteboard before invoking this method, or it will return without doing anything.
-+ (void)writeURLs:(NSArray *)URLs andTitles:(NSArray *)titles toPasteboard:(NSPasteboard *)pasteboard;
-
-// Reads an array of NSURLs off the pasteboard. Returns nil if pasteboard does not contain
-// data of type WebURLsWithTitlesPboardType. This array consists of the URLs that correspond to
-// the titles returned from titlesFromPasteboard.
-+ (NSArray *)URLsFromPasteboard:(NSPasteboard *)pasteboard;
-
-// Reads an array of NSStrings off the pasteboard. Returns nil if pasteboard does not contain
-// data of type WebURLsWithTitlesPboardType. This array consists of the titles that correspond to
-// the URLs returned from URLsFromPasteboard.
-+ (NSArray *)titlesFromPasteboard:(NSPasteboard *)pasteboard;
-
-@end
diff --git a/Source/WebKit/mac/History/WebURLsWithTitles.m b/Source/WebKit/mac/History/WebURLsWithTitles.m
deleted file mode 100644
index df9ef7556..000000000
--- a/Source/WebKit/mac/History/WebURLsWithTitles.m
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebURLsWithTitles.h"
-
-#import <WebKit/WebNSURLExtras.h>
-#import <WebKit/WebKitNSStringExtras.h>
-
-@implementation WebURLsWithTitles
-
-+ (NSArray *)arrayWithIFURLsWithTitlesPboardType
-{
- // Make a canned array so we don't construct it on the fly over and over.
- static NSArray *cannedArray = nil;
-
- if (cannedArray == nil) {
- cannedArray = [[NSArray arrayWithObject:WebURLsWithTitlesPboardType] retain];
- }
-
- return cannedArray;
-}
-
-+(void)writeURLs:(NSArray *)URLs andTitles:(NSArray *)titles toPasteboard:(NSPasteboard *)pasteboard
-{
- NSMutableArray *URLStrings;
- NSMutableArray *titlesOrEmptyStrings;
- unsigned index, count;
-
- count = [URLs count];
- if (count == 0) {
- return;
- }
-
- if ([pasteboard availableTypeFromArray:[self arrayWithIFURLsWithTitlesPboardType]] == nil) {
- return;
- }
-
- if (count != [titles count]) {
- titles = nil;
- }
-
- URLStrings = [NSMutableArray arrayWithCapacity:count];
- titlesOrEmptyStrings = [NSMutableArray arrayWithCapacity:count];
- for (index = 0; index < count; ++index) {
- [URLStrings addObject:[[URLs objectAtIndex:index] _web_originalDataAsString]];
- [titlesOrEmptyStrings addObject:(titles == nil) ? @"" : [[titles objectAtIndex:index] _webkit_stringByTrimmingWhitespace]];
- }
-
- [pasteboard setPropertyList:[NSArray arrayWithObjects:URLStrings, titlesOrEmptyStrings, nil]
- forType:WebURLsWithTitlesPboardType];
-}
-
-+(NSArray *)titlesFromPasteboard:(NSPasteboard *)pasteboard
-{
- if ([pasteboard availableTypeFromArray:[self arrayWithIFURLsWithTitlesPboardType]] == nil) {
- return nil;
- }
-
- return [[pasteboard propertyListForType:WebURLsWithTitlesPboardType] objectAtIndex:1];
-}
-
-+(NSArray *)URLsFromPasteboard:(NSPasteboard *)pasteboard
-{
- NSArray *URLStrings;
- NSMutableArray *URLs;
- unsigned index, count;
-
- if ([pasteboard availableTypeFromArray:[self arrayWithIFURLsWithTitlesPboardType]] == nil) {
- return nil;
- }
-
- URLStrings = [[pasteboard propertyListForType:WebURLsWithTitlesPboardType] objectAtIndex:0];
- count = [URLStrings count];
- URLs = [NSMutableArray arrayWithCapacity:count];
- for (index = 0; index < count; ++index) {
- [URLs addObject:[NSURL _web_URLWithDataAsString:[URLStrings objectAtIndex:index]]];
- }
-
- return URLs;
-}
-
-@end
diff --git a/Source/WebKit/mac/Info.plist b/Source/WebKit/mac/Info.plist
deleted file mode 100644
index ff2b07b54..000000000
--- a/Source/WebKit/mac/Info.plist
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundleGetInfoString</key>
- <string>${BUNDLE_VERSION}, Copyright 2003-2013 Apple Inc.</string>
- <key>CFBundleIdentifier</key>
- <string>com.apple.${PRODUCT_NAME}</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>${PRODUCT_NAME}</string>
- <key>CFBundlePackageType</key>
- <string>FMWK</string>
- <key>CFBundleShortVersionString</key>
- <string>${SHORT_VERSION_STRING}</string>
- <key>CFBundleVersion</key>
- <string>${BUNDLE_VERSION}</string>
-</dict>
-</plist>
diff --git a/Source/WebKit/mac/MigrateHeaders.make b/Source/WebKit/mac/MigrateHeaders.make
deleted file mode 100644
index 673f6b455..000000000
--- a/Source/WebKit/mac/MigrateHeaders.make
+++ /dev/null
@@ -1,208 +0,0 @@
-# Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
-# Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.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.
-# 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
-
-VPATH = $(WEBCORE_PRIVATE_HEADERS_DIR)
-
-INTERNAL_HEADERS_DIR = $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit
-PUBLIC_HEADERS_DIR = $(TARGET_BUILD_DIR)/$(PUBLIC_HEADERS_FOLDER_PATH)
-PRIVATE_HEADERS_DIR = $(TARGET_BUILD_DIR)/$(PRIVATE_HEADERS_FOLDER_PATH)
-
-.PHONY : all
-all : \
- $(PUBLIC_HEADERS_DIR)/DOM.h \
- $(PUBLIC_HEADERS_DIR)/DOMAbstractView.h \
- $(PUBLIC_HEADERS_DIR)/DOMAttr.h \
- $(PUBLIC_HEADERS_DIR)/DOMBlob.h \
- $(INTERNAL_HEADERS_DIR)/DOMBlobInternal.h \
- $(PUBLIC_HEADERS_DIR)/DOMCDATASection.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSS.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSCharsetRule.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSFontFaceRule.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSImportRule.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSMediaRule.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSPageRule.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSPrimitiveValue.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSRule.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSRuleList.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSStyleDeclaration.h \
- $(INTERNAL_HEADERS_DIR)/DOMCSSStyleDeclarationInternal.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSStyleRule.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSStyleSheet.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSUnknownRule.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSValue.h \
- $(PUBLIC_HEADERS_DIR)/DOMCSSValueList.h \
- $(PUBLIC_HEADERS_DIR)/DOMCharacterData.h \
- $(PUBLIC_HEADERS_DIR)/DOMComment.h \
- $(PUBLIC_HEADERS_DIR)/DOMCore.h \
- $(PUBLIC_HEADERS_DIR)/DOMCounter.h \
- $(PUBLIC_HEADERS_DIR)/DOMDocument.h \
- $(PUBLIC_HEADERS_DIR)/DOMDocumentFragment.h \
- $(INTERNAL_HEADERS_DIR)/DOMDocumentFragmentInternal.h \
- $(PRIVATE_HEADERS_DIR)/DOMDocumentFragmentPrivate.h \
- $(INTERNAL_HEADERS_DIR)/DOMDocumentInternal.h \
- $(PRIVATE_HEADERS_DIR)/DOMDocumentPrivate.h \
- $(PUBLIC_HEADERS_DIR)/DOMDocumentType.h \
- $(PUBLIC_HEADERS_DIR)/DOMElement.h \
- $(INTERNAL_HEADERS_DIR)/DOMElementInternal.h \
- $(PUBLIC_HEADERS_DIR)/DOMEntity.h \
- $(PUBLIC_HEADERS_DIR)/DOMEntityReference.h \
- $(PUBLIC_HEADERS_DIR)/DOMEvent.h \
- $(PUBLIC_HEADERS_DIR)/DOMEventException.h \
- $(PUBLIC_HEADERS_DIR)/DOMEventListener.h \
- $(PUBLIC_HEADERS_DIR)/DOMEventTarget.h \
- $(PUBLIC_HEADERS_DIR)/DOMEvents.h \
- $(PUBLIC_HEADERS_DIR)/DOMException.h \
- $(PUBLIC_HEADERS_DIR)/DOMExtensions.h \
- $(PUBLIC_HEADERS_DIR)/DOMFile.h \
- $(PUBLIC_HEADERS_DIR)/DOMFileList.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTML.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLAnchorElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLAppletElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLAreaElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLBRElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLBaseElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLBaseFontElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLBodyElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLButtonElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLCollection.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLDListElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLDirectoryElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLDivElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLDocument.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLElement.h \
- $(INTERNAL_HEADERS_DIR)/DOMHTMLElementInternal.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLEmbedElement.h \
- $(PRIVATE_HEADERS_DIR)/DOMHTMLEmbedElementPrivate.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLFieldSetElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLFontElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLFormElement.h \
- $(INTERNAL_HEADERS_DIR)/DOMHTMLFormElementInternal.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLFrameElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLFrameSetElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLHRElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLHeadElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLHeadingElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLHtmlElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLIFrameElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLImageElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLInputElement.h \
- $(PRIVATE_HEADERS_DIR)/DOMHTMLInputElementPrivate.h \
- $(INTERNAL_HEADERS_DIR)/DOMHTMLInputElementInternal.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLLIElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLLabelElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLLegendElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLLinkElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLMapElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLMarqueeElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLMenuElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLMetaElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLModElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLOListElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLObjectElement.h \
- $(PRIVATE_HEADERS_DIR)/DOMHTMLObjectElementPrivate.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLOptGroupElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLOptionElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLOptionsCollection.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLParagraphElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLParamElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLPreElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLQuoteElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLScriptElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLSelectElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLStyleElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLTableCaptionElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLTableCellElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLTableColElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLTableElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLTableRowElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLTableSectionElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLTextAreaElement.h \
- $(INTERNAL_HEADERS_DIR)/DOMHTMLTextAreaElementInternal.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLTitleElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMHTMLUListElement.h \
- $(PUBLIC_HEADERS_DIR)/DOMImplementation.h \
- $(PUBLIC_HEADERS_DIR)/DOMKeyboardEvent.h \
- $(PUBLIC_HEADERS_DIR)/DOMMediaList.h \
- $(PUBLIC_HEADERS_DIR)/DOMMouseEvent.h \
- $(PUBLIC_HEADERS_DIR)/DOMMutationEvent.h \
- $(PUBLIC_HEADERS_DIR)/DOMNamedNodeMap.h \
- $(PUBLIC_HEADERS_DIR)/DOMNode.h \
- $(INTERNAL_HEADERS_DIR)/DOMNodeInternal.h \
- $(PRIVATE_HEADERS_DIR)/DOMNodePrivate.h \
- $(PUBLIC_HEADERS_DIR)/DOMNodeFilter.h \
- $(PUBLIC_HEADERS_DIR)/DOMNodeIterator.h \
- $(PUBLIC_HEADERS_DIR)/DOMNodeList.h \
- $(PUBLIC_HEADERS_DIR)/DOMNotation.h \
- $(PUBLIC_HEADERS_DIR)/DOMObject.h \
- $(PUBLIC_HEADERS_DIR)/DOMOverflowEvent.h \
- $(PRIVATE_HEADERS_DIR)/DOMPrivate.h \
- $(PUBLIC_HEADERS_DIR)/DOMProcessingInstruction.h \
- $(PUBLIC_HEADERS_DIR)/DOMProgressEvent.h \
- $(PUBLIC_HEADERS_DIR)/DOMRGBColor.h \
- $(PUBLIC_HEADERS_DIR)/DOMRange.h \
- $(INTERNAL_HEADERS_DIR)/DOMRangeInternal.h \
- $(PUBLIC_HEADERS_DIR)/DOMRangeException.h \
- $(PUBLIC_HEADERS_DIR)/DOMRanges.h \
- $(PUBLIC_HEADERS_DIR)/DOMRect.h \
- $(PUBLIC_HEADERS_DIR)/DOMStyleSheet.h \
- $(PUBLIC_HEADERS_DIR)/DOMStyleSheetList.h \
- $(PUBLIC_HEADERS_DIR)/DOMStylesheets.h \
- $(PUBLIC_HEADERS_DIR)/DOMText.h \
- $(PUBLIC_HEADERS_DIR)/DOMTraversal.h \
- $(PUBLIC_HEADERS_DIR)/DOMTreeWalker.h \
- $(PUBLIC_HEADERS_DIR)/DOMUIEvent.h \
- $(PUBLIC_HEADERS_DIR)/DOMViews.h \
- $(PUBLIC_HEADERS_DIR)/DOMWheelEvent.h \
- $(PUBLIC_HEADERS_DIR)/DOMXPath.h \
- $(PUBLIC_HEADERS_DIR)/DOMXPathException.h \
- $(PUBLIC_HEADERS_DIR)/DOMXPathExpression.h \
- $(PUBLIC_HEADERS_DIR)/DOMXPathNSResolver.h \
- $(PUBLIC_HEADERS_DIR)/DOMXPathResult.h \
- $(PUBLIC_HEADERS_DIR)/WebScriptObject.h \
- $(PUBLIC_HEADERS_DIR)/npapi.h \
- $(PUBLIC_HEADERS_DIR)/npfunctions.h \
- $(PUBLIC_HEADERS_DIR)/npruntime.h \
- $(PUBLIC_HEADERS_DIR)/nptypes.h \
-#
-
-REPLACE_RULES = -e s/\<WebCore/\<WebKit/ -e s/DOMDOMImplementation/DOMImplementation/
-HEADER_MIGRATE_CMD = sed $(REPLACE_RULES) $< > $@
-
-$(PUBLIC_HEADERS_DIR)/DOM% : DOMDOM% MigrateHeaders.make
- $(HEADER_MIGRATE_CMD)
-
-$(PRIVATE_HEADERS_DIR)/DOM% : DOMDOM% MigrateHeaders.make
- $(HEADER_MIGRATE_CMD)
-
-$(PUBLIC_HEADERS_DIR)/% : % MigrateHeaders.make
- $(HEADER_MIGRATE_CMD)
-
-$(PRIVATE_HEADERS_DIR)/% : % MigrateHeaders.make
- $(HEADER_MIGRATE_CMD)
-
-$(INTERNAL_HEADERS_DIR)/% : % MigrateHeaders.make
- $(HEADER_MIGRATE_CMD)
diff --git a/Source/WebKit/mac/Misc/MailQuirksUserScript.js b/Source/WebKit/mac/Misc/MailQuirksUserScript.js
deleted file mode 100644
index 4a5a89f5c..000000000
--- a/Source/WebKit/mac/Misc/MailQuirksUserScript.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
- * Copyright (C) 2011 Apple 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.
- */
-
-(function() {
- // The Mail.app signature panel makes the assumption that
- // document.firstChild.firstChild == document.body. This is no longer true
- // now that WebKit implements the HTML5 parser, which creates an implicit
- // <head> node if not explicitly specified in content. Remove this implicit
- // <head> so that Mail.app's assumption remains true.
- if (document.head && !document.head.childNodes.length && !document.head.attributes.length)
- document.documentElement.removeChild(document.head);
-})();
diff --git a/Source/WebKit/mac/Misc/OldWebAssertions.c b/Source/WebKit/mac/Misc/OldWebAssertions.c
deleted file mode 100644
index b84cdbc98..000000000
--- a/Source/WebKit/mac/Misc/OldWebAssertions.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, 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 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.
- */
-
-/* These functions are not used anymore, but need to stay for binary compatibility <rdar://problem/4841432>. */
-/* You should use <wtf/Assertions.h>. */
-
-void WebReportAssertionFailure(const char *file, int line, const char *function, const char *assertion);
-void WebReportError(const char *file, int line, const char *function, const char *format, ...);
-
-void WebReportAssertionFailure(const char *file, int line, const char *function, const char *assertion)
-{
-}
-
-void WebReportError(const char *file, int line, const char *function, const char *format, ...)
-{
-}
diff --git a/Source/WebKit/mac/Misc/OutlookQuirksUserScript.js b/Source/WebKit/mac/Misc/OutlookQuirksUserScript.js
deleted file mode 100644
index 65f610765..000000000
--- a/Source/WebKit/mac/Misc/OutlookQuirksUserScript.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2011 Apple 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 INC. 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 INC. 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.
- */
-(function() {
- // This should only apply to the initial empty document, which should look like:
- // <html><head></head><body></body></html>
- if (document.documentElement.outerHTML != "<html><head></head><body></body></html>")
- return;
-
- // Outlook expects the initial empty document to only contain the document
- // element. It will explicitly insert a BODY node.
- document.documentElement.removeChild(document.head);
- document.documentElement.removeChild(document.body);
-})();
-
- \ No newline at end of file
diff --git a/Source/WebKit/mac/Misc/QuickDrawCompatibility.h b/Source/WebKit/mac/Misc/QuickDrawCompatibility.h
deleted file mode 100644
index cff553fc0..000000000
--- a/Source/WebKit/mac/Misc/QuickDrawCompatibility.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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 QuickDrawCompatibility_h
-#define QuickDrawCompatibility_h
-
-#ifndef __LP64__
-
-#import <Carbon/Carbon.h>
-
-#if defined(QD_HEADERS_ARE_PRIVATE) && QD_HEADERS_ARE_PRIVATE
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MacSetRect SetRect
-#define MacSetRectRgn SetRectRgn
-#define MacUnionRgn UnionRgn
-
-extern Boolean EmptyRgn(RgnHandle);
-extern OSStatus CreateCGContextForPort(CGrafPtr, CGContextRef*);
-extern OSStatus SyncCGContextOriginWithPort(CGContextRef, CGrafPtr);
-extern PixMapHandle GetPortPixMap(CGrafPtr);
-extern QDErr NewGWorldFromPtr(GWorldPtr*, UInt32, const Rect*, CTabHandle, GDHandle, GWorldFlags, Ptr, SInt32);
-extern Rect* GetPortBounds(CGrafPtr, Rect*);
-extern Rect* GetRegionBounds(RgnHandle, Rect*);
-extern RgnHandle GetPortClipRegion(CGrafPtr, RgnHandle);
-extern RgnHandle GetPortVisibleRegion(CGrafPtr, RgnHandle);
-extern RgnHandle NewRgn();
-extern void BackColor(long);
-extern void DisposeGWorld(GWorldPtr);
-extern void DisposeRgn(RgnHandle);
-extern void ForeColor(long);
-extern void GetGWorld(CGrafPtr*, GDHandle*);
-extern void GetPort(GrafPtr*);
-extern void GlobalToLocal(Point*);
-extern void MacSetRect(Rect*, short, short, short, short);
-extern void MacSetRectRgn(RgnHandle, short, short, short, short);
-extern void MacUnionRgn(RgnHandle, RgnHandle, RgnHandle);
-extern void MovePortTo(short, short);
-extern void OffsetRect(Rect*, short, short);
-extern void OffsetRgn(RgnHandle, short, short);
-extern void PaintRect(const Rect*);
-extern void PenNormal();
-extern void PortSize(short, short);
-extern void RectRgn(RgnHandle, const Rect*);
-extern void SectRgn(RgnHandle, RgnHandle, RgnHandle);
-extern void SetGWorld(CGrafPtr, GDHandle);
-extern void SetOrigin(short, short);
-extern void SetPort(GrafPtr);
-extern void SetPortClipRegion(CGrafPtr, RgnHandle);
-extern void SetPortVisibleRegion(CGrafPtr, RgnHandle);
-
-enum {
- blackColor = 33,
- whiteColor = 30,
- greenColor = 341,
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // defined(QD_HEADERS_ARE_PRIVATE) && QD_HEADERS_ARE_PRIVATE
-
-#endif // __LP64__
-
-#endif // QuickDrawCompatibility_h
diff --git a/Source/WebKit/mac/Misc/WebAssertions.h b/Source/WebKit/mac/Misc/WebAssertions.h
deleted file mode 100644
index 482409092..000000000
--- a/Source/WebKit/mac/Misc/WebAssertions.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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.
- */
-
-/* This header is needed only for backwards-compatibility with internal clients
- * which have yet to move away from it: <rdar://problem/5141290>.
- */
-
-#warning <WebKit/WebAssertions.h> is deprecated. Please move away from this SPI as soon as is possible.
-
-#define ASSERT(...) ((void)0)
-#define ASSERT_NOT_REACHED(...) ((void)0)
-#define ASSERT_ARG(...) ((void)0)
-#define ERROR(...) ((void)0)
diff --git a/Source/WebKit/mac/Misc/WebCache.h b/Source/WebKit/mac/Misc/WebCache.h
deleted file mode 100644
index 1b5662b0e..000000000
--- a/Source/WebKit/mac/Misc/WebCache.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, 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 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.
- */
-
-@interface WebCache : NSObject
-{
-}
-
-+ (NSArray *)statistics;
-+ (void)empty;
-+ (void)setDisabled:(BOOL)disabled;
-+ (BOOL)isDisabled;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebCache.mm b/Source/WebKit/mac/Misc/WebCache.mm
deleted file mode 100644
index 5260e7fa0..000000000
--- a/Source/WebKit/mac/Misc/WebCache.mm
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, 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 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.
- */
-
-#import "WebCache.h"
-
-#import "WebNSObjectExtras.h"
-#import "WebPreferences.h"
-#import "WebSystemInterface.h"
-#import "WebView.h"
-#import "WebViewInternal.h"
-#import <WebCore/ApplicationCacheStorage.h>
-#import <WebCore/CrossOriginPreflightResultCache.h>
-#import <WebCore/MemoryCache.h>
-#import <WebCore/RunLoop.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/MainThread.h>
-
-@implementation WebCache
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- InitWebCoreSystemInterface();
-}
-
-+ (NSArray *)statistics
-{
- WebCore::MemoryCache::Statistics s = WebCore::memoryCache()->getStatistics();
-
- return [NSArray arrayWithObjects:
- [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithInt:s.images.count], @"Images",
- [NSNumber numberWithInt:s.cssStyleSheets.count], @"CSS",
-#if ENABLE(XSLT)
- [NSNumber numberWithInt:s.xslStyleSheets.count], @"XSL",
-#else
- [NSNumber numberWithInt:0], @"XSL",
-#endif
- [NSNumber numberWithInt:s.scripts.count], @"JavaScript",
- nil],
- [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithInt:s.images.size], @"Images",
- [NSNumber numberWithInt:s.cssStyleSheets.size] ,@"CSS",
-#if ENABLE(XSLT)
- [NSNumber numberWithInt:s.xslStyleSheets.size], @"XSL",
-#else
- [NSNumber numberWithInt:0], @"XSL",
-#endif
- [NSNumber numberWithInt:s.scripts.size], @"JavaScript",
- nil],
- [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithInt:s.images.liveSize], @"Images",
- [NSNumber numberWithInt:s.cssStyleSheets.liveSize] ,@"CSS",
-#if ENABLE(XSLT)
- [NSNumber numberWithInt:s.xslStyleSheets.liveSize], @"XSL",
-#else
- [NSNumber numberWithInt:0], @"XSL",
-#endif
- [NSNumber numberWithInt:s.scripts.liveSize], @"JavaScript",
- nil],
- [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithInt:s.images.decodedSize], @"Images",
- [NSNumber numberWithInt:s.cssStyleSheets.decodedSize] ,@"CSS",
-#if ENABLE(XSLT)
- [NSNumber numberWithInt:s.xslStyleSheets.decodedSize], @"XSL",
-#else
- [NSNumber numberWithInt:0], @"XSL",
-#endif
- [NSNumber numberWithInt:s.scripts.decodedSize], @"JavaScript",
- nil],
- [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithInt:s.images.purgeableSize], @"Images",
- [NSNumber numberWithInt:s.cssStyleSheets.purgeableSize] ,@"CSS",
-#if ENABLE(XSLT)
- [NSNumber numberWithInt:s.xslStyleSheets.purgeableSize], @"XSL",
-#else
- [NSNumber numberWithInt:0], @"XSL",
-#endif
- [NSNumber numberWithInt:s.scripts.purgeableSize], @"JavaScript",
- nil],
- [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithInt:s.images.purgedSize], @"Images",
- [NSNumber numberWithInt:s.cssStyleSheets.purgedSize] ,@"CSS",
-#if ENABLE(XSLT)
- [NSNumber numberWithInt:s.xslStyleSheets.purgedSize], @"XSL",
-#else
- [NSNumber numberWithInt:0], @"XSL",
-#endif
- [NSNumber numberWithInt:s.scripts.purgedSize], @"JavaScript",
- nil],
- nil];
-}
-
-+ (void)empty
-{
- // Toggling the cache model like this forces the cache to evict all its in-memory resources.
- WebCacheModel cacheModel = [WebView _cacheModel];
- [WebView _setCacheModel:WebCacheModelDocumentViewer];
- [WebView _setCacheModel:cacheModel];
-
- // Empty the application cache.
- WebCore::cacheStorage().empty();
-
- // Empty the Cross-Origin Preflight cache
- WebCore::CrossOriginPreflightResultCache::shared().empty();
-}
-
-+ (void)setDisabled:(BOOL)disabled
-{
- if (!pthread_main_np())
- return [[self _webkit_invokeOnMainThread] setDisabled:disabled];
-
- WebCore::memoryCache()->setDisabled(disabled);
-}
-
-+ (BOOL)isDisabled
-{
- return WebCore::memoryCache()->disabled();
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebCoreStatistics.h b/Source/WebKit/mac/Misc/WebCoreStatistics.h
deleted file mode 100644
index a0d9cc4e4..000000000
--- a/Source/WebKit/mac/Misc/WebCoreStatistics.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (C) 2005, 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import <WebKit/WebFrame.h>
-
-@class DOMElement;
-
-@interface WebCoreStatistics : NSObject
-{
-}
-
-+ (NSArray *)statistics;
-
-+ (size_t)javaScriptObjectsCount;
-+ (size_t)javaScriptGlobalObjectsCount;
-+ (size_t)javaScriptProtectedObjectsCount;
-+ (size_t)javaScriptProtectedGlobalObjectsCount;
-+ (NSCountedSet *)javaScriptProtectedObjectTypeCounts;
-+ (NSCountedSet *)javaScriptObjectTypeCounts;
-
-+ (void)garbageCollectJavaScriptObjects;
-+ (void)garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging:(BOOL)waitUntilDone;
-+ (void)setJavaScriptGarbageCollectorTimerEnabled:(BOOL)enabled;
-
-+ (size_t)iconPageURLMappingCount;
-+ (size_t)iconRetainedPageURLCount;
-+ (size_t)iconRecordCount;
-+ (size_t)iconsWithDataCount;
-
-+ (size_t)cachedFontDataCount;
-+ (size_t)cachedFontDataInactiveCount;
-+ (void)purgeInactiveFontData;
-+ (size_t)glyphPageCount;
-
-+ (BOOL)shouldPrintExceptions;
-+ (void)setShouldPrintExceptions:(BOOL)print;
-
-+ (void)startIgnoringWebCoreNodeLeaks;
-+ (void)stopIgnoringWebCoreNodeLeaks;
-
-+ (NSDictionary *)memoryStatistics;
-+ (void)returnFreeMemoryToSystem;
-
-+ (int)cachedPageCount;
-+ (int)cachedFrameCount;
-+ (int)autoreleasedPageCount;
-
-// Deprecated, but used by older versions of Safari.
-+ (void)emptyCache;
-+ (void)setCacheDisabled:(BOOL)disabled;
-+ (size_t)javaScriptNoGCAllowedObjectsCount;
-+ (size_t)javaScriptReferencedObjectsCount;
-+ (NSSet *)javaScriptRootObjectClasses;
-+ (NSCountedSet *)javaScriptRootObjectTypeCounts;
-+ (size_t)javaScriptInterpretersCount;
-
-@end
-
-@interface WebFrame (WebKitDebug)
-- (NSString *)renderTreeAsExternalRepresentationForPrinting:(BOOL)forPrinting;
-- (int)numberOfPagesWithPageWidth:(float)pageWidthInPixels pageHeight:(float)pageHeightInPixels;
-- (void)printToCGContext:(CGContextRef)cgContext pageWidth:(float)pageWidthInPixels pageHeight:(float)pageHeightInPixels;
-@end
diff --git a/Source/WebKit/mac/Misc/WebCoreStatistics.mm b/Source/WebKit/mac/Misc/WebCoreStatistics.mm
deleted file mode 100644
index bb3677dda..000000000
--- a/Source/WebKit/mac/Misc/WebCoreStatistics.mm
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebCoreStatistics.h"
-
-#import "DOMElementInternal.h"
-#import "WebCache.h"
-#import "WebFrameInternal.h"
-#import <JavaScriptCore/JSLock.h>
-#import <JavaScriptCore/MemoryStatistics.h>
-#import <WebCore/FontCache.h>
-#import <WebCore/Frame.h>
-#import <WebCore/GCController.h>
-#import <WebCore/GlyphPageTreeNode.h>
-#import <WebCore/GraphicsContext.h>
-#import <WebCore/IconDatabase.h>
-#import <WebCore/JSDOMWindow.h>
-#import <WebCore/PageCache.h>
-#import <WebCore/PageConsole.h>
-#import <WebCore/PrintContext.h>
-#import <WebCore/RenderTreeAsText.h>
-#import <WebCore/RenderView.h>
-
-using namespace JSC;
-using namespace WebCore;
-
-@implementation WebCoreStatistics
-
-+ (NSArray *)statistics
-{
- return [WebCache statistics];
-}
-
-+ (size_t)javaScriptObjectsCount
-{
- JSLockHolder lock(JSDOMWindow::commonVM());
- return JSDOMWindow::commonVM()->heap.objectCount();
-}
-
-+ (size_t)javaScriptGlobalObjectsCount
-{
- JSLockHolder lock(JSDOMWindow::commonVM());
- return JSDOMWindow::commonVM()->heap.globalObjectCount();
-}
-
-+ (size_t)javaScriptProtectedObjectsCount
-{
- JSLockHolder lock(JSDOMWindow::commonVM());
- return JSDOMWindow::commonVM()->heap.protectedObjectCount();
-}
-
-+ (size_t)javaScriptProtectedGlobalObjectsCount
-{
- JSLockHolder lock(JSDOMWindow::commonVM());
- return JSDOMWindow::commonVM()->heap.protectedGlobalObjectCount();
-}
-
-+ (NSCountedSet *)javaScriptProtectedObjectTypeCounts
-{
- JSLockHolder lock(JSDOMWindow::commonVM());
-
- NSCountedSet *result = [NSCountedSet set];
-
- OwnPtr<TypeCountSet> counts(JSDOMWindow::commonVM()->heap.protectedObjectTypeCounts());
- HashCountedSet<const char*>::iterator end = counts->end();
- for (HashCountedSet<const char*>::iterator it = counts->begin(); it != end; ++it)
- for (unsigned i = 0; i < it->value; ++i)
- [result addObject:[NSString stringWithUTF8String:it->key]];
-
- return result;
-}
-
-+ (NSCountedSet *)javaScriptObjectTypeCounts
-{
- JSLockHolder lock(JSDOMWindow::commonVM());
-
- NSCountedSet *result = [NSCountedSet set];
-
- OwnPtr<TypeCountSet> counts(JSDOMWindow::commonVM()->heap.objectTypeCounts());
- HashCountedSet<const char*>::iterator end = counts->end();
- for (HashCountedSet<const char*>::iterator it = counts->begin(); it != end; ++it)
- for (unsigned i = 0; i < it->value; ++i)
- [result addObject:[NSString stringWithUTF8String:it->key]];
-
- return result;
-}
-
-+ (void)garbageCollectJavaScriptObjects
-{
- gcController().garbageCollectNow();
-}
-
-+ (void)garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging:(BOOL)waitUntilDone
-{
- gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
-}
-
-+ (void)setJavaScriptGarbageCollectorTimerEnabled:(BOOL)enable
-{
- gcController().setJavaScriptGarbageCollectorTimerEnabled(enable);
-}
-
-+ (size_t)iconPageURLMappingCount
-{
- return iconDatabase().pageURLMappingCount();
-}
-
-+ (size_t)iconRetainedPageURLCount
-{
- return iconDatabase().retainedPageURLCount();
-}
-
-+ (size_t)iconRecordCount
-{
- return iconDatabase().iconRecordCount();
-}
-
-+ (size_t)iconsWithDataCount
-{
- return iconDatabase().iconRecordCountWithData();
-}
-
-+ (size_t)cachedFontDataCount
-{
- return fontCache()->fontDataCount();
-}
-
-+ (size_t)cachedFontDataInactiveCount
-{
- return fontCache()->inactiveFontDataCount();
-}
-
-+ (void)purgeInactiveFontData
-{
- fontCache()->purgeInactiveFontData();
-}
-
-+ (size_t)glyphPageCount
-{
- return GlyphPageTreeNode::treeGlyphPageCount();
-}
-
-+ (BOOL)shouldPrintExceptions
-{
- JSLockHolder lock(JSDOMWindow::commonVM());
- return PageConsole::shouldPrintExceptions();
-}
-
-+ (void)setShouldPrintExceptions:(BOOL)print
-{
- JSLockHolder lock(JSDOMWindow::commonVM());
- PageConsole::setShouldPrintExceptions(print);
-}
-
-+ (void)emptyCache
-{
- [WebCache empty];
-}
-
-+ (void)setCacheDisabled:(BOOL)disabled
-{
- [WebCache setDisabled:disabled];
-}
-
-+ (void)startIgnoringWebCoreNodeLeaks
-{
- WebCore::Node::startIgnoringLeaks();
-}
-
-+ (void)stopIgnoringWebCoreNodeLeaks
-{
- WebCore::Node::stopIgnoringLeaks();
-}
-
-+ (NSDictionary *)memoryStatistics
-{
- WTF::FastMallocStatistics fastMallocStatistics = WTF::fastMallocStatistics();
-
- JSLockHolder lock(JSDOMWindow::commonVM());
- size_t heapSize = JSDOMWindow::commonVM()->heap.size();
- size_t heapFree = JSDOMWindow::commonVM()->heap.capacity() - heapSize;
- GlobalMemoryStatistics globalMemoryStats = globalMemoryStatistics();
-
- return [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithInt:fastMallocStatistics.reservedVMBytes], @"FastMallocReservedVMBytes",
- [NSNumber numberWithInt:fastMallocStatistics.committedVMBytes], @"FastMallocCommittedVMBytes",
- [NSNumber numberWithInt:fastMallocStatistics.freeListBytes], @"FastMallocFreeListBytes",
- [NSNumber numberWithInt:heapSize], @"JavaScriptHeapSize",
- [NSNumber numberWithInt:heapFree], @"JavaScriptFreeSize",
- [NSNumber numberWithUnsignedInt:(unsigned int)globalMemoryStats.stackBytes], @"JavaScriptStackSize",
- [NSNumber numberWithUnsignedInt:(unsigned int)globalMemoryStats.JITBytes], @"JavaScriptJITSize",
- nil];
-}
-
-+ (void)returnFreeMemoryToSystem
-{
- WTF::releaseFastMallocFreeMemory();
-}
-
-+ (int)cachedPageCount
-{
- return pageCache()->pageCount();
-}
-
-+ (int)cachedFrameCount
-{
- return pageCache()->frameCount();
-}
-
-// Deprecated
-+ (int)autoreleasedPageCount
-{
- return 0;
-}
-
-// Deprecated
-+ (size_t)javaScriptNoGCAllowedObjectsCount
-{
- return 0;
-}
-
-+ (size_t)javaScriptReferencedObjectsCount
-{
- JSLockHolder lock(JSDOMWindow::commonVM());
- return JSDOMWindow::commonVM()->heap.protectedObjectCount();
-}
-
-+ (NSSet *)javaScriptRootObjectClasses
-{
- return [self javaScriptRootObjectTypeCounts];
-}
-
-+ (size_t)javaScriptInterpretersCount
-{
- return [self javaScriptProtectedGlobalObjectsCount];
-}
-
-+ (NSCountedSet *)javaScriptRootObjectTypeCounts
-{
- return [self javaScriptProtectedObjectTypeCounts];
-}
-
-@end
-
-@implementation WebFrame (WebKitDebug)
-
-- (NSString *)renderTreeAsExternalRepresentationForPrinting:(BOOL)forPrinting
-{
- return externalRepresentation(_private->coreFrame, forPrinting ? RenderAsTextPrintingMode : RenderAsTextBehaviorNormal);
-}
-
-- (int)numberOfPagesWithPageWidth:(float)pageWidthInPixels pageHeight:(float)pageHeightInPixels
-{
- return PrintContext::numberOfPages(_private->coreFrame, FloatSize(pageWidthInPixels, pageHeightInPixels));
-}
-
-- (void)printToCGContext:(CGContextRef)cgContext pageWidth:(float)pageWidthInPixels pageHeight:(float)pageHeightInPixels
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return;
-
- GraphicsContext graphicsContext(cgContext);
- PrintContext::spoolAllPagesWithBoundaries(coreFrame, graphicsContext, FloatSize(pageWidthInPixels, pageHeightInPixels));
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebDownload.h b/Source/WebKit/mac/Misc/WebDownload.h
deleted file mode 100644
index 68dfda996..000000000
--- a/Source/WebKit/mac/Misc/WebDownload.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2003 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/NSURLDownload.h>
-
-@class WebDownloadInternal;
-
-/*!
- @class WebDownload
- @discussion A WebDownload works just like an NSURLDownload, with
- one extra feature: if you do not implement the
- authentication-related delegate methods, it will automatically
- prompt for authentication using the standard WebKit authentication
- panel, as either a sheet or window. It provides no extra methods,
- but does have one additional delegate method.
-*/
-
-
-@interface WebDownload : NSURLDownload
-{
-@private
- WebDownloadInternal *_webInternal;
-}
-
-@end
-
-/*!
- @protocol WebDownloadDelegate
- @discussion The WebDownloadDelegate delegate has one extra method used to choose
- the right window when automatically prompting with a sheet.
-*/
-@interface NSObject (WebDownloadDelegate)
-
-/*!
- @method downloadWindowForAuthenticationSheet:
- @abstract
- @param
- @result
-*/
-- (NSWindow *)downloadWindowForAuthenticationSheet:(WebDownload *)download;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebDownload.mm b/Source/WebKit/mac/Misc/WebDownload.mm
deleted file mode 100644
index 8af0b7aa5..000000000
--- a/Source/WebKit/mac/Misc/WebDownload.mm
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebDownload.h>
-
-#import <Foundation/NSURLAuthenticationChallenge.h>
-#import <Foundation/NSURLDownload.h>
-#import <WebCore/AuthenticationCF.h>
-#import <WebCore/AuthenticationMac.h>
-#import <WebCore/Credential.h>
-#import <WebCore/CredentialStorage.h>
-#import <WebCore/ProtectionSpace.h>
-#import <WebKit/WebPanelAuthenticationHandler.h>
-#import <wtf/Assertions.h>
-
-#import "WebTypesInternal.h"
-
-#if USE(CFNETWORK)
-#import <CFNetwork/CFNetwork.h>
-#import <CFNetwork/CFURLConnection.h>
-#endif
-
-using namespace WebCore;
-
-@class NSURLConnectionDelegateProxy;
-
-// FIXME: The following are NSURLDownload SPI - it would be nice to not have to override them at
-// some point in the future
-@interface NSURLDownload (WebDownloadCapability)
-- (id)_initWithLoadingConnection:(NSURLConnection *)connection
- request:(NSURLRequest *)request
- response:(NSURLResponse *)response
- delegate:(id)delegate
- proxy:(NSURLConnectionDelegateProxy *)proxy;
-- (id)_initWithRequest:(NSURLRequest *)request
- delegate:(id)delegate
- directory:(NSString *)directory;
-
-#if USE(CFNETWORK)
-- (id)_initWithLoadingCFURLConnection:(CFURLConnectionRef)connection
- request:(CFURLRequestRef)request
- response:(CFURLResponseRef)response
- delegate:(id)delegate
- proxy:(NSURLConnectionDelegateProxy *)proxy;
-#endif
-
-@end
-
-@interface WebDownloadInternal : NSObject <NSURLDownloadDelegate>
-{
-@public
- id realDelegate;
-}
-
-- (void)setRealDelegate:(id)rd;
-
-@end
-
-@implementation WebDownloadInternal
-
-- (void)dealloc
-{
- [realDelegate release];
- [super dealloc];
-}
-
-- (void)setRealDelegate:(id)rd
-{
- [rd retain];
- [realDelegate release];
- realDelegate = rd;
-}
-
-- (BOOL)respondsToSelector:(SEL)selector
-{
- if (selector == @selector(downloadDidBegin:) ||
- selector == @selector(download:willSendRequest:redirectResponse:) ||
- selector == @selector(download:didReceiveResponse:) ||
- selector == @selector(download:didReceiveDataOfLength:) ||
- selector == @selector(download:shouldDecodeSourceDataOfMIMEType:) ||
- selector == @selector(download:decideDestinationWithSuggestedFilename:) ||
- selector == @selector(download:didCreateDestination:) ||
- selector == @selector(downloadDidFinish:) ||
- selector == @selector(download:didFailWithError:) ||
- selector == @selector(download:shouldBeginChildDownloadOfSource:delegate:) ||
- selector == @selector(download:didBeginChildDownload:)) {
- return [realDelegate respondsToSelector:selector];
- }
-
- return [super respondsToSelector:selector];
-}
-
-- (void)downloadDidBegin:(NSURLDownload *)download
-{
- [realDelegate downloadDidBegin:download];
-}
-
-- (NSURLRequest *)download:(NSURLDownload *)download willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse
-{
- return [realDelegate download:download willSendRequest:request redirectResponse:redirectResponse];
-}
-
-- (void)download:(NSURLDownload *)download didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
-{
- // Try previously stored credential first.
- if (![challenge previousFailureCount]) {
- NSURLCredential *credential = mac(CredentialStorage::get(core([challenge protectionSpace])));
- if (credential) {
- [[challenge sender] useCredential:credential forAuthenticationChallenge:challenge];
- return;
- }
- }
-
- if ([realDelegate respondsToSelector:@selector(download:didReceiveAuthenticationChallenge:)]) {
- [realDelegate download:download didReceiveAuthenticationChallenge:challenge];
- } else {
- NSWindow *window = nil;
- if ([realDelegate respondsToSelector:@selector(downloadWindowForAuthenticationSheet:)]) {
- window = [realDelegate downloadWindowForAuthenticationSheet:(WebDownload *)download];
- }
-
- [[WebPanelAuthenticationHandler sharedHandler] startAuthentication:challenge window:window];
- }
-}
-
-- (void)download:(NSURLDownload *)download didCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
-{
- if ([realDelegate respondsToSelector:@selector(download:didCancelAuthenticationChallenge:)]) {
- [realDelegate download:download didCancelAuthenticationChallenge:challenge];
- } else {
- [[WebPanelAuthenticationHandler sharedHandler] cancelAuthentication:challenge];
- }
-}
-
-- (void)download:(NSURLDownload *)download didReceiveResponse:(NSURLResponse *)response
-{
- [realDelegate download:download didReceiveResponse:response];
-}
-
-- (void)download:(NSURLDownload *)download didReceiveDataOfLength:(NSUInteger)length
-{
- [realDelegate download:download didReceiveDataOfLength:length];
-}
-
-- (BOOL)download:(NSURLDownload *)download shouldDecodeSourceDataOfMIMEType:(NSString *)encodingType
-{
- return [realDelegate download:download shouldDecodeSourceDataOfMIMEType:encodingType];
-}
-
-- (void)download:(NSURLDownload *)download decideDestinationWithSuggestedFilename:(NSString *)filename
-{
- [realDelegate download:download decideDestinationWithSuggestedFilename:filename];
-}
-
-- (void)download:(NSURLDownload *)download didCreateDestination:(NSString *)path
-{
- [realDelegate download:download didCreateDestination:path];
-}
-
-- (void)downloadDidFinish:(NSURLDownload *)download
-{
- [realDelegate downloadDidFinish:download];
-}
-
-- (void)download:(NSURLDownload *)download didFailWithError:(NSError *)error
-{
- [realDelegate download:download didFailWithError:error];
-}
-
-- (NSURLRequest *)download:(NSURLDownload *)download shouldBeginChildDownloadOfSource:(NSURLRequest *)child delegate:(id *)childDelegate
-{
- return [realDelegate download:download shouldBeginChildDownloadOfSource:child delegate:childDelegate];
-}
-
-- (void)download:(NSURLDownload *)parent didBeginChildDownload:(NSURLDownload *)child
-{
- [realDelegate download:parent didBeginChildDownload:child];
-}
-
-@end
-
-@implementation WebDownload
-
-- (void)_setRealDelegate:(id)delegate
-{
- if (_webInternal == nil) {
- _webInternal = [[WebDownloadInternal alloc] init];
- [_webInternal setRealDelegate:delegate];
- } else {
- ASSERT(_webInternal == delegate);
- }
-}
-
-- (id)init
-{
- self = [super init];
- if (self != nil) {
- // _webInternal can be set up before init by _setRealDelegate
- if (_webInternal == nil) {
- _webInternal = [[WebDownloadInternal alloc] init];
- }
- }
- return self;
-}
-
-- (void)dealloc
-{
- [_webInternal release];
- [super dealloc];
-}
-
-- (id)initWithRequest:(NSURLRequest *)request delegate:(id<NSURLDownloadDelegate>)delegate
-{
- [self _setRealDelegate:delegate];
- return [super initWithRequest:request delegate:_webInternal];
-}
-
-- (id)_initWithLoadingConnection:(NSURLConnection *)connection
- request:(NSURLRequest *)request
- response:(NSURLResponse *)response
- delegate:(id)delegate
- proxy:(NSURLConnectionDelegateProxy *)proxy
-{
- [self _setRealDelegate:delegate];
- return [super _initWithLoadingConnection:connection request:request response:response delegate:_webInternal proxy:proxy];
-}
-
-#if USE(CFNETWORK)
-- (id)_initWithLoadingCFURLConnection:(CFURLConnectionRef)connection
- request:(CFURLRequestRef)request
- response:(CFURLResponseRef)response
- delegate:(id)delegate
- proxy:(NSURLConnectionDelegateProxy *)proxy
-{
- [self _setRealDelegate:delegate];
- return [super _initWithLoadingCFURLConnection:connection request:request response:response delegate:_webInternal proxy:proxy];
-}
-#endif
-
-- (id)_initWithRequest:(NSURLRequest *)request
- delegate:(id)delegate
- directory:(NSString *)directory
-{
- [self _setRealDelegate:delegate];
- return [super _initWithRequest:request delegate:_webInternal directory:directory];
-}
-
-- (void)connection:(NSURLConnection *)connection willStopBufferingData:(NSData *)data
-{
- // NSURLConnection calls this method even if it is not implemented.
- // This happens because NSURLConnection caches the results of respondsToSelector.
- // Those results become invalid when the delegate of NSURLConnectionDelegateProxy is changed.
- // This is a workaround since this problem needs to be fixed in NSURLConnectionDelegateProxy.
- // <rdar://problem/3913270> NSURLConnection calls unimplemented delegate method in WebDownload
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebDownloadInternal.h b/Source/WebKit/mac/Misc/WebDownloadInternal.h
deleted file mode 100644
index 782d87f6e..000000000
--- a/Source/WebKit/mac/Misc/WebDownloadInternal.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
-*/
-
-#import <WebKit/WebDownload.h>
-
-#if USE(CFNETWORK)
-#import <CFNetwork/CFURLConnection.h>
-#endif
-
-@interface WebDownload (WebDownloadCreation)
-+(id)_downloadWithLoadingConnection:(NSURLConnection *)connection
- request:(NSURLRequest *)request
- response:(NSURLResponse *)r
- delegate:(id)delegate
- proxy:(id)proxy;
-
-+(id)_downloadWithRequest:(NSURLRequest *)request
- delegate:(id)delegate
- directory:(NSString *)directory;
-
-#if USE(CFNETWORK)
-+ (id)_downloadWithLoadingCFURLConnection:(CFURLConnectionRef)connection
- request:(CFURLRequestRef)request
- response:(CFURLResponseRef)response
- delegate:(id)delegate
- proxy:(id)proxy;
-#endif
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebElementDictionary.h b/Source/WebKit/mac/Misc/WebElementDictionary.h
deleted file mode 100644
index b835b5c6f..000000000
--- a/Source/WebKit/mac/Misc/WebElementDictionary.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/NSDictionary.h>
-
-namespace WebCore {
- class HitTestResult;
-}
-
-@interface WebElementDictionary : NSDictionary {
- WebCore::HitTestResult* _result;
- NSMutableDictionary *_cache;
- NSMutableSet *_nilValues;
- BOOL _cacheComplete;
-}
-- (id)initWithHitTestResult:(const WebCore::HitTestResult&)result;
-@end
diff --git a/Source/WebKit/mac/Misc/WebElementDictionary.mm b/Source/WebKit/mac/Misc/WebElementDictionary.mm
deleted file mode 100644
index 17f220190..000000000
--- a/Source/WebKit/mac/Misc/WebElementDictionary.mm
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2010 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebElementDictionary.h"
-
-#import "DOMNodeInternal.h"
-#import "WebDOMOperations.h"
-#import "WebFrame.h"
-#import "WebFrameInternal.h"
-#import "WebKitLogging.h"
-#import "WebTypesInternal.h"
-#import "WebView.h"
-#import "WebViewPrivate.h"
-#import <WebCore/Frame.h>
-#import <WebCore/HitTestResult.h>
-#import <WebCore/Image.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <WebKit/DOMCore.h>
-#import <WebKit/DOMExtensions.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/MainThread.h>
-
-using namespace WebCore;
-
-static CFMutableDictionaryRef lookupTable = NULL;
-
-static void addLookupKey(NSString *key, SEL selector)
-{
- CFDictionaryAddValue(lookupTable, key, selector);
-}
-
-static void cacheValueForKey(const void *key, const void *value, void *self)
-{
- // calling objectForKey will cache the value in our _cache dictionary
- [(WebElementDictionary *)self objectForKey:(NSString *)key];
-}
-
-@implementation WebElementDictionary
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
-}
-
-+ (void)initializeLookupTable
-{
- if (lookupTable)
- return;
-
- lookupTable = CFDictionaryCreateMutable(kCFAllocatorDefault, 0, &kCFCopyStringDictionaryKeyCallBacks, NULL);
-
- addLookupKey(WebElementDOMNodeKey, @selector(_domNode));
- addLookupKey(WebElementFrameKey, @selector(_webFrame));
- addLookupKey(WebElementImageAltStringKey, @selector(_altDisplayString));
- addLookupKey(WebElementImageKey, @selector(_image));
- addLookupKey(WebElementImageRectKey, @selector(_imageRect));
- addLookupKey(WebElementImageURLKey, @selector(_absoluteImageURL));
- addLookupKey(WebElementIsSelectedKey, @selector(_isSelected));
- addLookupKey(WebElementMediaURLKey, @selector(_absoluteMediaURL));
- addLookupKey(WebElementSpellingToolTipKey, @selector(_spellingToolTip));
- addLookupKey(WebElementTitleKey, @selector(_title));
- addLookupKey(WebElementLinkURLKey, @selector(_absoluteLinkURL));
- addLookupKey(WebElementLinkTargetFrameKey, @selector(_targetWebFrame));
- addLookupKey(WebElementLinkTitleKey, @selector(_titleDisplayString));
- addLookupKey(WebElementLinkLabelKey, @selector(_textContent));
- addLookupKey(WebElementLinkIsLiveKey, @selector(_isLiveLink));
- addLookupKey(WebElementIsContentEditableKey, @selector(_isContentEditable));
- addLookupKey(WebElementIsInScrollBarKey, @selector(_isInScrollBar));
-}
-
-- (id)initWithHitTestResult:(const HitTestResult&)result
-{
- [[self class] initializeLookupTable];
- self = [super init];
- if (!self)
- return nil;
- _result = new HitTestResult(result);
- return self;
-}
-
-- (void)dealloc
-{
- if (WebCoreObjCScheduleDeallocateOnMainThread([WebElementDictionary class], self))
- return;
-
- delete _result;
- [_cache release];
- [_nilValues release];
- [super dealloc];
-}
-
-- (void)finalize
-{
- ASSERT_MAIN_THREAD();
- delete _result;
- [super finalize];
-}
-
-- (void)_fillCache
-{
- CFDictionaryApplyFunction(lookupTable, cacheValueForKey, self);
- _cacheComplete = YES;
-}
-
-- (NSUInteger)count
-{
- if (!_cacheComplete)
- [self _fillCache];
- return [_cache count];
-}
-
-- (NSEnumerator *)keyEnumerator
-{
- if (!_cacheComplete)
- [self _fillCache];
- return [_cache keyEnumerator];
-}
-
-- (id)objectForKey:(id)key
-{
- id value = [_cache objectForKey:key];
- if (value || _cacheComplete || [_nilValues containsObject:key])
- return value;
-
- SEL selector = (SEL)CFDictionaryGetValue(lookupTable, key);
- if (!selector)
- return nil;
- value = [self performSelector:selector];
-
- unsigned lookupTableCount = CFDictionaryGetCount(lookupTable);
- if (value) {
- if (!_cache)
- _cache = [[NSMutableDictionary alloc] initWithCapacity:lookupTableCount];
- [_cache setObject:value forKey:key];
- } else {
- if (!_nilValues)
- _nilValues = [[NSMutableSet alloc] initWithCapacity:lookupTableCount];
- [_nilValues addObject:key];
- }
-
- _cacheComplete = ([_cache count] + [_nilValues count]) == lookupTableCount;
-
- return value;
-}
-
-- (DOMNode *)_domNode
-{
- return kit(_result->innerNonSharedNode());
-}
-
-- (WebFrame *)_webFrame
-{
- return [[[self _domNode] ownerDocument] webFrame];
-}
-
-// String's NSString* operator converts null Strings to empty NSStrings for compatibility
-// with AppKit. We need to work around that here.
-static NSString* NSStringOrNil(String coreString)
-{
- if (coreString.isNull())
- return nil;
- return coreString;
-}
-
-- (NSString *)_altDisplayString
-{
- return NSStringOrNil(_result->altDisplayString());
-}
-
-- (NSString *)_spellingToolTip
-{
- TextDirection dir;
- return NSStringOrNil(_result->spellingToolTip(dir));
-}
-
-- (NSImage *)_image
-{
- Image* image = _result->image();
- return image ? image->getNSImage() : nil;
-}
-
-- (NSValue *)_imageRect
-{
- IntRect rect = _result->imageRect();
- return rect.isEmpty() ? nil : [NSValue valueWithRect:rect];
-}
-
-- (NSURL *)_absoluteImageURL
-{
- return _result->absoluteImageURL();
-}
-
-- (NSURL *)_absoluteMediaURL
-{
- return _result->absoluteMediaURL();
-}
-
-- (NSNumber *)_isSelected
-{
- return [NSNumber numberWithBool:_result->isSelected()];
-}
-
-- (NSString *)_title
-{
- TextDirection dir;
- return NSStringOrNil(_result->title(dir));
-}
-
-- (NSURL *)_absoluteLinkURL
-{
- return _result->absoluteLinkURL();
-}
-
-- (WebFrame *)_targetWebFrame
-{
- return kit(_result->targetFrame());
-}
-
-- (NSString *)_titleDisplayString
-{
- return NSStringOrNil(_result->titleDisplayString());
-}
-
-- (NSString *)_textContent
-{
- return NSStringOrNil(_result->textContent());
-}
-
-- (NSNumber *)_isLiveLink
-{
- return [NSNumber numberWithBool:_result->isLiveLink()];
-}
-
-- (NSNumber *)_isContentEditable
-{
- return [NSNumber numberWithBool:_result->isContentEditable()];
-}
-
-- (NSNumber *)_isInScrollBar
-{
- return [NSNumber numberWithBool:_result->scrollbar() != 0];
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebIconDatabase.h b/Source/WebKit/mac/Misc/WebIconDatabase.h
deleted file mode 100644
index 8dc3d45c6..000000000
--- a/Source/WebKit/mac/Misc/WebIconDatabase.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-// Sent whenever a site icon has changed. The object of the notification is the icon database.
-// The userInfo contains the site URL whose icon has changed.
-// It can be accessed with the key WebIconNotificationUserInfoURLKey.
-extern NSString *WebIconDatabaseDidAddIconNotification;
-
-extern NSString *WebIconNotificationUserInfoURLKey;
-
-extern NSString *WebIconDatabaseDirectoryDefaultsKey;
-extern NSString *WebIconDatabaseEnabledDefaultsKey;
-
-extern NSSize WebIconSmallSize; // 16 x 16
-extern NSSize WebIconMediumSize; // 32 x 32
-extern NSSize WebIconLargeSize; // 128 x 128
-
-@class WebIconDatabasePrivate;
-
-/*!
- @class WebIconDatabase
- @discussion Features:
- - memory cache icons at different sizes
- - disk storage
- - icon update notification
-
- Uses:
- - UI elements to retrieve icons that represent site URLs.
- - Save icons to disk for later use.
-
- Every icon in the database has a retain count. If an icon has a retain count greater than 0, it will be written to disk for later use. If an icon's retain count equals zero it will be removed from disk. The retain count is not persistent across launches. If the WebKit client wishes to retain an icon it should retain the icon once for every launch. This is best done at initialization time before the database begins removing icons. To make sure that the database does not remove unretained icons prematurely, call delayDatabaseCleanup until all desired icons are retained. Once all are retained, call allowDatabaseCleanup.
-
- Note that an icon can be retained after the database clean-up has begun. This just has to be done before the icon is removed. Icons are removed from the database whenever new icons are added to it.
-
- Retention methods can be called for icons that are not yet in the database.
-*/
-@interface WebIconDatabase : NSObject {
-
-@private
- WebIconDatabasePrivate *_private;
- BOOL _isClosing;
-}
-
-
-/*!
- @method sharedIconDatabase
- @abstract Returns a shared instance of the icon database
-*/
-+ (WebIconDatabase *)sharedIconDatabase;
-
-/*!
- @method iconForURL:withSize:
- @discussion Calls iconForURL:withSize:cache: with YES for cache.
- @param URL
- @param size
-*/
-- (NSImage *)iconForURL:(NSString *)URL withSize:(NSSize)size;
-
-/*!
- @method iconForURL:withSize:cache:
- @discussion Returns an icon for a web site URL from memory or disk. nil if none is found.
- Usually called by a UI element to determine if a site URL has an associated icon.
- Often called by the observer of WebIconChangedNotification after the notification is sent.
- @param URL
- @param size
- @param cache If yes, caches the returned image in memory if not already cached
-*/
-- (NSImage *)iconForURL:(NSString *)URL withSize:(NSSize)size cache:(BOOL)cache;
-
-/*!
- @method iconURLForURL:withSize:cache:
- @discussion Returns an icon URL for a web site URL from memory or disk. nil if none is found.
- @param URL
-*/
-- (NSString *)iconURLForURL:(NSString *)URL;
-
-/*!
- @method defaultIconWithSize:
- @param size
-*/
-- (NSImage *)defaultIconWithSize:(NSSize)size;
-- (NSImage *)defaultIconForURL:(NSString *)URL withSize:(NSSize)size;
-
-/*!
- @method retainIconForURL:
- @abstract Increments the retain count of the icon.
- @param URL
-*/
-- (void)retainIconForURL:(NSString *)URL;
-
-/*!
- @method releaseIconForURL:
- @abstract Decrements the retain count of the icon.
- @param URL
-*/
-- (void)releaseIconForURL:(NSString *)URL;
-
-/*!
- @method delayDatabaseCleanup:
- @discussion Only effective if called before the database begins removing icons.
- delayDatabaseCleanUp increments an internal counter that when 0 begins the database clean-up.
- The counter equals 0 at initialization.
-*/
-+ (void)delayDatabaseCleanup;
-
-/*!
- @method allowDatabaseCleanup:
- @discussion Informs the database that it now can begin removing icons.
- allowDatabaseCleanup decrements an internal counter that when 0 begins the database clean-up.
- The counter equals 0 at initialization.
-*/
-+ (void)allowDatabaseCleanup;
-
-- (void)setDelegate:(id)delegate;
-- (id)delegate;
-
-@end
-
-
diff --git a/Source/WebKit/mac/Misc/WebIconDatabase.mm b/Source/WebKit/mac/Misc/WebIconDatabase.mm
deleted file mode 100644
index bbf6ec3d0..000000000
--- a/Source/WebKit/mac/Misc/WebIconDatabase.mm
+++ /dev/null
@@ -1,494 +0,0 @@
-/*
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebIconDatabaseInternal.h"
-
-#import "WebIconDatabaseClient.h"
-#import "WebIconDatabaseDelegate.h"
-#import "WebKitLogging.h"
-#import "WebKitNSStringExtras.h"
-#import "WebNSFileManagerExtras.h"
-#import "WebNSNotificationCenterExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebPreferencesPrivate.h"
-#import "WebTypesInternal.h"
-#import <WebCore/IconDatabase.h>
-#import <WebCore/Image.h>
-#import <WebCore/IntSize.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/SharedBuffer.h>
-#import <WebCore/ThreadCheck.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/MainThread.h>
-
-using namespace WebCore;
-
-NSString * const WebIconDatabaseVersionKey = @"WebIconDatabaseVersion";
-NSString * const WebURLToIconURLKey = @"WebSiteURLToIconURLKey";
-
-NSString *WebIconDatabaseDidAddIconNotification = @"WebIconDatabaseDidAddIconNotification";
-NSString *WebIconNotificationUserInfoURLKey = @"WebIconNotificationUserInfoURLKey";
-NSString *WebIconDatabaseDidRemoveAllIconsNotification = @"WebIconDatabaseDidRemoveAllIconsNotification";
-
-NSString *WebIconDatabaseDirectoryDefaultsKey = @"WebIconDatabaseDirectoryDefaultsKey";
-NSString *WebIconDatabaseEnabledDefaultsKey = @"WebIconDatabaseEnabled";
-
-NSString *WebIconDatabasePath = @"~/Library/Icons";
-
-NSSize WebIconSmallSize = {16, 16};
-NSSize WebIconMediumSize = {32, 32};
-NSSize WebIconLargeSize = {128, 128};
-
-#define UniqueFilePathSize (34)
-
-static WebIconDatabaseClient* defaultClient()
-{
-#if ENABLE(ICONDATABASE)
- static WebIconDatabaseClient* defaultClient = new WebIconDatabaseClient();
- return defaultClient;
-#else
- return 0;
-#endif
-}
-
-@interface WebIconDatabase (WebReallyInternal)
-- (void)_sendNotificationForURL:(NSString *)URL;
-- (void)_sendDidRemoveAllIconsNotification;
-- (NSImage *)_iconForFileURL:(NSString *)fileURL withSize:(NSSize)size;
-- (void)_resetCachedWebPreferences:(NSNotification *)notification;
-- (NSImage *)_largestIconFromDictionary:(NSMutableDictionary *)icons;
-- (NSMutableDictionary *)_iconsBySplittingRepresentationsOfIcon:(NSImage *)icon;
-- (NSImage *)_iconFromDictionary:(NSMutableDictionary *)icons forSize:(NSSize)size cache:(BOOL)cache;
-- (void)_scaleIcon:(NSImage *)icon toSize:(NSSize)size;
-- (NSString *)_databaseDirectory;
-@end
-
-@implementation WebIconDatabase
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
-}
-
-+ (WebIconDatabase *)sharedIconDatabase
-{
- static WebIconDatabase *database = nil;
- if (!database)
- database = [[WebIconDatabase alloc] init];
- return database;
-}
-
-- (id)init
-{
- self = [super init];
- if (!self)
- return nil;
- WebCoreThreadViolationCheckRoundOne();
-
- _private = [[WebIconDatabasePrivate alloc] init];
-
- // Check the user defaults and see if the icon database should even be enabled.
- // Inform the bridge and, if we're disabled, bail from init right here
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- // <rdar://problem/4741419> - IconDatabase should be disabled by default
- NSDictionary *initialDefaults = [[NSDictionary alloc] initWithObjectsAndKeys:[NSNumber numberWithBool:YES], WebIconDatabaseEnabledDefaultsKey, nil];
- [defaults registerDefaults:initialDefaults];
- [initialDefaults release];
- BOOL enabled = [defaults boolForKey:WebIconDatabaseEnabledDefaultsKey];
- iconDatabase().setEnabled(enabled);
- if (enabled)
- [self _startUpIconDatabase];
- return self;
-}
-
-- (NSImage *)iconForURL:(NSString *)URL withSize:(NSSize)size cache:(BOOL)cache
-{
- ASSERT_MAIN_THREAD();
- ASSERT(size.width);
- ASSERT(size.height);
-
- if (!URL || ![self isEnabled])
- return [self defaultIconForURL:URL withSize:size];
-
- // FIXME - <rdar://problem/4697934> - Move the handling of FileURLs to WebCore and implement in ObjC++
- if ([URL _webkit_isFileURL])
- return [self _iconForFileURL:URL withSize:size];
-
- if (Image* image = iconDatabase().synchronousIconForPageURL(URL, IntSize(size)))
- if (NSImage *icon = webGetNSImage(image, size))
- return icon;
- return [self defaultIconForURL:URL withSize:size];
-}
-
-- (NSImage *)iconForURL:(NSString *)URL withSize:(NSSize)size
-{
- return [self iconForURL:URL withSize:size cache:YES];
-}
-
-- (NSString *)iconURLForURL:(NSString *)URL
-{
- if (![self isEnabled])
- return nil;
- ASSERT_MAIN_THREAD();
-
- return iconDatabase().synchronousIconURLForPageURL(URL);
-}
-
-- (NSImage *)defaultIconWithSize:(NSSize)size
-{
- ASSERT_MAIN_THREAD();
- ASSERT(size.width);
- ASSERT(size.height);
-
- Image* image = iconDatabase().defaultIcon(IntSize(size));
- return image ? image->getNSImage() : nil;
-}
-
-- (NSImage *)defaultIconForURL:(NSString *)URL withSize:(NSSize)size
-{
- if (_private->delegateImplementsDefaultIconForURL)
- return [_private->delegate webIconDatabase:self defaultIconForURL:URL withSize:size];
- return [self defaultIconWithSize:size];
-}
-
-- (void)retainIconForURL:(NSString *)URL
-{
- ASSERT_MAIN_THREAD();
- ASSERT(URL);
- if (![self isEnabled])
- return;
-
- iconDatabase().retainIconForPageURL(URL);
-}
-
-- (void)releaseIconForURL:(NSString *)pageURL
-{
- ASSERT_MAIN_THREAD();
- ASSERT(pageURL);
- if (![self isEnabled])
- return;
-
- iconDatabase().releaseIconForPageURL(pageURL);
-}
-
-+ (void)delayDatabaseCleanup
-{
- ASSERT_MAIN_THREAD();
-
- IconDatabase::delayDatabaseCleanup();
-}
-
-+ (void)allowDatabaseCleanup
-{
- ASSERT_MAIN_THREAD();
-
- IconDatabase::allowDatabaseCleanup();
-}
-
-- (void)setDelegate:(id)delegate
-{
- _private->delegate = delegate;
- _private->delegateImplementsDefaultIconForURL = [delegate respondsToSelector:@selector(webIconDatabase:defaultIconForURL:withSize:)];
-}
-
-- (id)delegate
-{
- return _private->delegate;
-}
-
-@end
-
-
-@implementation WebIconDatabase (WebPendingPublic)
-
-- (BOOL)isEnabled
-{
- return iconDatabase().isEnabled();
-}
-
-- (void)setEnabled:(BOOL)flag
-{
- BOOL currentlyEnabled = [self isEnabled];
- if (currentlyEnabled && !flag) {
- iconDatabase().setEnabled(false);
- [self _shutDownIconDatabase];
- } else if (!currentlyEnabled && flag) {
- iconDatabase().setEnabled(true);
- [self _startUpIconDatabase];
- }
-}
-
-- (void)removeAllIcons
-{
- ASSERT_MAIN_THREAD();
- if (![self isEnabled])
- return;
-
- // Via the IconDatabaseClient interface, removeAllIcons() will send the WebIconDatabaseDidRemoveAllIconsNotification
- iconDatabase().removeAllIcons();
-}
-
-@end
-
-@implementation WebIconDatabase (WebPrivate)
-
-+ (void)_checkIntegrityBeforeOpening
-{
- IconDatabase::checkIntegrityBeforeOpening();
-}
-
-@end
-
-@implementation WebIconDatabase (WebInternal)
-
-- (void)_sendNotificationForURL:(NSString *)URL
-{
- ASSERT(URL);
-
- NSDictionary *userInfo = [NSDictionary dictionaryWithObject:URL
- forKey:WebIconNotificationUserInfoURLKey];
-
- [[NSNotificationCenter defaultCenter] postNotificationOnMainThreadWithName:WebIconDatabaseDidAddIconNotification
- object:self
- userInfo:userInfo];
-}
-
-- (void)_sendDidRemoveAllIconsNotification
-{
- [[NSNotificationCenter defaultCenter] postNotificationOnMainThreadWithName:WebIconDatabaseDidRemoveAllIconsNotification
- object:self
- userInfo:nil];
-}
-
-- (void)_startUpIconDatabase
-{
- iconDatabase().setClient(defaultClient());
-
- // Figure out the directory we should be using for the icon.db
- NSString *databaseDirectory = [self _databaseDirectory];
-
- // Rename legacy icon database files to the new icon database name
- BOOL isDirectory = NO;
- NSString *legacyDB = [databaseDirectory stringByAppendingPathComponent:@"icon.db"];
- NSFileManager *defaultManager = [NSFileManager defaultManager];
- if ([defaultManager fileExistsAtPath:legacyDB isDirectory:&isDirectory] && !isDirectory) {
- NSString *newDB = [databaseDirectory stringByAppendingPathComponent:IconDatabase::defaultDatabaseFilename()];
- if (![defaultManager fileExistsAtPath:newDB])
- rename([legacyDB fileSystemRepresentation], [newDB fileSystemRepresentation]);
- }
-
- // Set the private browsing pref then open the WebCore icon database
- iconDatabase().setPrivateBrowsingEnabled([[WebPreferences standardPreferences] privateBrowsingEnabled]);
- if (!iconDatabase().open(databaseDirectory, IconDatabase::defaultDatabaseFilename()))
- LOG_ERROR("Unable to open icon database");
-
- // Register for important notifications
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(_applicationWillTerminate:)
- name:NSApplicationWillTerminateNotification
- object:NSApp];
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(_resetCachedWebPreferences:)
- name:WebPreferencesChangedInternalNotification
- object:nil];
-}
-
-- (void)_shutDownIconDatabase
-{
- // Unregister for important notifications
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:NSApplicationWillTerminateNotification
- object:NSApp];
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:WebPreferencesChangedInternalNotification
- object:nil];
-}
-
-- (void)_applicationWillTerminate:(NSNotification *)notification
-{
- iconDatabase().close();
-}
-
-- (NSImage *)_iconForFileURL:(NSString *)file withSize:(NSSize)size
-{
- ASSERT_MAIN_THREAD();
- ASSERT(size.width);
- ASSERT(size.height);
-
- NSWorkspace *workspace = [NSWorkspace sharedWorkspace];
- NSString *path = [[NSURL _web_URLWithDataAsString:file] path];
- NSString *suffix = [path pathExtension];
- NSImage *icon = nil;
-
- if ([suffix _webkit_isCaseInsensitiveEqualToString:@"htm"] || [suffix _webkit_isCaseInsensitiveEqualToString:@"html"]) {
- if (!_private->htmlIcons) {
- icon = [workspace iconForFileType:@"html"];
- _private->htmlIcons = [[self _iconsBySplittingRepresentationsOfIcon:icon] retain];
- }
- icon = [self _iconFromDictionary:_private->htmlIcons forSize:size cache:YES];
- } else {
- if (!path || ![path isAbsolutePath]) {
- // Return the generic icon when there is no path.
- icon = [workspace iconForFileType:NSFileTypeForHFSTypeCode(kGenericDocumentIcon)];
- } else {
- icon = [workspace iconForFile:path];
- }
- [self _scaleIcon:icon toSize:size];
- }
-
- return icon;
-}
-
-- (void)_resetCachedWebPreferences:(NSNotification *)notification
-{
- BOOL privateBrowsingEnabledNow = [[WebPreferences standardPreferences] privateBrowsingEnabled];
- iconDatabase().setPrivateBrowsingEnabled(privateBrowsingEnabledNow);
-}
-
-- (NSImage *)_largestIconFromDictionary:(NSMutableDictionary *)icons
-{
- ASSERT(icons);
-
- NSEnumerator *enumerator = [icons keyEnumerator];
- NSValue *currentSize, *largestSize=nil;
- float largestSizeArea=0;
-
- while ((currentSize = [enumerator nextObject]) != nil) {
- NSSize currentSizeSize = [currentSize sizeValue];
- float currentSizeArea = currentSizeSize.width * currentSizeSize.height;
- if(!largestSizeArea || (currentSizeArea > largestSizeArea)){
- largestSize = currentSize;
- largestSizeArea = currentSizeArea;
- }
- }
-
- return [icons objectForKey:largestSize];
-}
-
-- (NSMutableDictionary *)_iconsBySplittingRepresentationsOfIcon:(NSImage *)icon
-{
- ASSERT(icon);
-
- NSMutableDictionary *icons = [NSMutableDictionary dictionary];
- NSEnumerator *enumerator = [[icon representations] objectEnumerator];
- NSImageRep *rep;
-
- while ((rep = [enumerator nextObject]) != nil) {
- NSSize size = [rep size];
- NSImage *subIcon = [[NSImage alloc] initWithSize:size];
- [subIcon addRepresentation:rep];
- [icons setObject:subIcon forKey:[NSValue valueWithSize:size]];
- [subIcon release];
- }
-
- if([icons count] > 0)
- return icons;
-
- LOG_ERROR("icon has no representations");
-
- return nil;
-}
-
-- (NSImage *)_iconFromDictionary:(NSMutableDictionary *)icons forSize:(NSSize)size cache:(BOOL)cache
-{
- ASSERT(size.width);
- ASSERT(size.height);
-
- NSImage *icon = [icons objectForKey:[NSValue valueWithSize:size]];
-
- if(!icon){
- icon = [[[self _largestIconFromDictionary:icons] copy] autorelease];
- [self _scaleIcon:icon toSize:size];
-
- if(cache){
- [icons setObject:icon forKey:[NSValue valueWithSize:size]];
- }
- }
-
- return icon;
-}
-
-- (void)_scaleIcon:(NSImage *)icon toSize:(NSSize)size
-{
- ASSERT(size.width);
- ASSERT(size.height);
-
-#if !LOG_DISABLED
- double start = CFAbsoluteTimeGetCurrent();
-#endif
-
- [icon setScalesWhenResized:YES];
- [icon setSize:size];
-
-#if !LOG_DISABLED
- double duration = CFAbsoluteTimeGetCurrent() - start;
- LOG(Timing, "scaling icon took %f seconds.", duration);
-#endif
-}
-
-- (NSString *)_databaseDirectory
-{
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
-
- // Figure out the directory we should be using for the icon.db
- NSString *databaseDirectory = [defaults objectForKey:WebIconDatabaseDirectoryDefaultsKey];
- if (!databaseDirectory) {
- databaseDirectory = WebIconDatabasePath;
- [defaults setObject:databaseDirectory forKey:WebIconDatabaseDirectoryDefaultsKey];
- }
-
- return [[databaseDirectory stringByExpandingTildeInPath] stringByStandardizingPath];
-}
-
-@end
-
-@implementation WebIconDatabasePrivate
-@end
-
-NSImage *webGetNSImage(Image* image, NSSize size)
-{
- ASSERT_MAIN_THREAD();
- ASSERT(size.width);
- ASSERT(size.height);
-
- // FIXME: We're doing the resize here for now because WebCore::Image doesn't yet support resizing/multiple representations
- // This makes it so there's effectively only one size of a particular icon in the system at a time. We should move this
- // to WebCore::Image at some point.
- if (!image)
- return nil;
- NSImage* nsImage = image->getNSImage();
- if (!nsImage)
- return nil;
- if (!NSEqualSizes([nsImage size], size)) {
- [nsImage setScalesWhenResized:YES];
- [nsImage setSize:size];
- }
- return nsImage;
-}
diff --git a/Source/WebKit/mac/Misc/WebIconDatabaseDelegate.h b/Source/WebKit/mac/Misc/WebIconDatabaseDelegate.h
deleted file mode 100644
index ad6aed21f..000000000
--- a/Source/WebKit/mac/Misc/WebIconDatabaseDelegate.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-@interface NSObject (WebIconDatabaseDelegate)
-
-- (NSImage *)webIconDatabase:(WebIconDatabase *)webIconDatabase defaultIconForURL:(NSString *)URL withSize:(NSSize)size;
-
-@end
-
-
diff --git a/Source/WebKit/mac/Misc/WebIconDatabaseInternal.h b/Source/WebKit/mac/Misc/WebIconDatabaseInternal.h
deleted file mode 100644
index 498fa7556..000000000
--- a/Source/WebKit/mac/Misc/WebIconDatabaseInternal.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebIconDatabasePrivate.h"
-
-namespace WebCore {
- class Image;
-}
-
-@interface WebIconDatabasePrivate : NSObject {
-@public
- id delegate;
- BOOL delegateImplementsDefaultIconForURL;
- NSMutableDictionary *htmlIcons;
-}
-@end
-
-@interface WebIconDatabase (WebInternal)
-- (void)_sendNotificationForURL:(NSString *)URL;
-- (void)_sendDidRemoveAllIconsNotification;
-- (void)_shutDownIconDatabase;
-- (void)_startUpIconDatabase;
-@end
-
-NSImage *webGetNSImage(WebCore::Image*, NSSize);
diff --git a/Source/WebKit/mac/Misc/WebIconDatabasePrivate.h b/Source/WebKit/mac/Misc/WebIconDatabasePrivate.h
deleted file mode 100644
index e7bdadbf9..000000000
--- a/Source/WebKit/mac/Misc/WebIconDatabasePrivate.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebIconDatabase.h>
-
-// FIXME: Some of the following is not API and should be moved
-// either inside WebIconDatabase.mm, or to WebIconDatabaseInternal.h.
-
-// Sent when all icons are removed from the database. The object of the notification is
-// the icon database. There is no userInfo. Clients should react by removing any cached
-// icon images from the user interface. Clients need not and should not call
-// releaseIconForURL: in response to this notification.
-extern NSString *WebIconDatabaseDidRemoveAllIconsNotification;
-
-@interface WebIconDatabase (WebPendingPublic)
-
-/*!
- @method isEnabled
- @discussion Returns true if the icon database is currently enabled, or false if it
- is disabled.
-*/
-- (BOOL)isEnabled;
-
-/*!
- @method setEnabled:
- @discussion Enables or disables the icon database based on the flag passed in.
- @param flag Pass true to enable the icon database, or false to disable it.
-*/
-- (void)setEnabled:(BOOL)flag;
-
-/*!
- @method removeAllIcons
- @discussion Causes the icon database to delete all of the images that it has stored,
- and to send out the notification WebIconDatabaseDidRemoveAllIconsNotification.
-*/
-- (void)removeAllIcons;
-
-@end
-
-@interface WebIconDatabase (WebPrivate)
-
-+ (void)_checkIntegrityBeforeOpening;
-
-@end
-
diff --git a/Source/WebKit/mac/Misc/WebKit.h b/Source/WebKit/mac/Misc/WebKit.h
deleted file mode 100644
index 84bfd37f7..000000000
--- a/Source/WebKit/mac/Misc/WebKit.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2003, 2004 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/DOM.h>
-#import <WebKit/WebArchive.h>
-#import <WebKit/WebBackForwardList.h>
-#import <WebKit/WebDataSource.h>
-#import <WebKit/WebDocument.h>
-#import <WebKit/WebDOMOperations.h>
-#import <WebKit/WebDownload.h>
-#import <WebKit/WebEditingDelegate.h>
-#import <WebKit/WebFrame.h>
-#import <WebKit/WebFrameLoadDelegate.h>
-#import <WebKit/WebFrameView.h>
-#import <WebKit/WebHistory.h>
-#import <WebKit/WebHistoryItem.h>
-#import <WebKit/WebKitErrors.h>
-#import <WebKit/WebPlugin.h>
-#import <WebKit/WebPluginContainer.h>
-#import <WebKit/WebPluginViewFactory.h>
-#import <WebKit/WebPolicyDelegate.h>
-#import <WebKit/WebPreferences.h>
-#import <WebKit/WebResource.h>
-#import <WebKit/WebResourceLoadDelegate.h>
-#import <WebKit/WebScriptObject.h>
-#import <WebKit/WebUIDelegate.h>
-#import <WebKit/WebView.h>
diff --git a/Source/WebKit/mac/Misc/WebKitErrors.h b/Source/WebKit/mac/Misc/WebKitErrors.h
deleted file mode 100644
index 1683745fa..000000000
--- a/Source/WebKit/mac/Misc/WebKitErrors.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2003 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-extern NSString *WebKitErrorDomain;
-
-extern NSString * const WebKitErrorMIMETypeKey;
-extern NSString * const WebKitErrorPlugInNameKey;
-extern NSString * const WebKitErrorPlugInPageURLStringKey;
-
-/*!
- @enum
- @abstract Policy errors
- @constant WebKitErrorCannotShowMIMEType
- @constant WebKitErrorCannotShowURL
- @constant WebKitErrorFrameLoadInterruptedByPolicyChange
-*/
-enum {
- WebKitErrorCannotShowMIMEType = 100,
- WebKitErrorCannotShowURL = 101,
- WebKitErrorFrameLoadInterruptedByPolicyChange = 102,
-};
-
-/*!
- @enum
- @abstract Plug-in and java errors
- @constant WebKitErrorCannotFindPlugIn
- @constant WebKitErrorCannotLoadPlugIn
- @constant WebKitErrorJavaUnavailable
- @constant WebKitErrorBlockedPlugInVersion
-*/
-enum {
- WebKitErrorCannotFindPlugIn = 200,
- WebKitErrorCannotLoadPlugIn = 201,
- WebKitErrorJavaUnavailable = 202,
- WebKitErrorBlockedPlugInVersion = 203,
-};
diff --git a/Source/WebKit/mac/Misc/WebKitErrors.m b/Source/WebKit/mac/Misc/WebKitErrors.m
deleted file mode 100644
index 941793ffa..000000000
--- a/Source/WebKit/mac/Misc/WebKitErrors.m
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebKitErrors.h>
-
-#import "WebLocalizableStringsInternal.h"
-#import <WebKit/WebKitErrorsPrivate.h>
-#import <WebKit/WebNSURLExtras.h>
-
-#import <pthread.h>
-
-NSString *WebKitErrorDomain = @"WebKitErrorDomain";
-
-NSString * const WebKitErrorMIMETypeKey = @"WebKitErrorMIMETypeKey";
-NSString * const WebKitErrorPlugInNameKey = @"WebKitErrorPlugInNameKey";
-NSString * const WebKitErrorPlugInPageURLStringKey = @"WebKitErrorPlugInPageURLStringKey";
-
-// Policy errors
-#define WebKitErrorDescriptionCannotShowMIMEType UI_STRING_INTERNAL("Content with specified MIME type can’t be shown", "WebKitErrorCannotShowMIMEType description")
-#define WebKitErrorDescriptionCannotShowURL UI_STRING_INTERNAL("The URL can’t be shown", "WebKitErrorCannotShowURL description")
-#define WebKitErrorDescriptionFrameLoadInterruptedByPolicyChange UI_STRING_INTERNAL("Frame load interrupted", "WebKitErrorFrameLoadInterruptedByPolicyChange description")
-#define WebKitErrorDescriptionCannotUseRestrictedPort UI_STRING_INTERNAL("Not allowed to use restricted network port", "WebKitErrorCannotUseRestrictedPort description")
-
-// Plug-in and java errors
-#define WebKitErrorDescriptionCannotFindPlugin UI_STRING_INTERNAL("The plug-in can’t be found", "WebKitErrorCannotFindPlugin description")
-#define WebKitErrorDescriptionCannotLoadPlugin UI_STRING_INTERNAL("The plug-in can’t be loaded", "WebKitErrorCannotLoadPlugin description")
-#define WebKitErrorDescriptionJavaUnavailable UI_STRING_INTERNAL("Java is unavailable", "WebKitErrorJavaUnavailable description")
-#define WebKitErrorDescriptionPlugInCancelledConnection UI_STRING_INTERNAL("Plug-in cancelled", "WebKitErrorPlugInCancelledConnection description")
-#define WebKitErrorDescriptionPlugInWillHandleLoad UI_STRING_INTERNAL("Plug-in handled load", "WebKitErrorPlugInWillHandleLoad description")
-
-// Geolocations errors
-
-#define WebKitErrorDescriptionGeolocationLocationUnknown UI_STRING_INTERNAL("The current location cannot be found.", "WebKitErrorGeolocationLocationUnknown description")
-
-static pthread_once_t registerErrorsControl = PTHREAD_ONCE_INIT;
-static void registerErrors(void);
-
-@implementation NSError (WebKitExtras)
-
-static NSMutableDictionary *descriptions = nil;
-
-+ (void)_registerWebKitErrors
-{
- pthread_once(&registerErrorsControl, registerErrors);
-}
-
--(id)_webkit_initWithDomain:(NSString *)domain code:(int)code URL:(NSURL *)URL
-{
- NSDictionary *descriptionsDict;
- NSString *localizedDesc;
- NSDictionary *dict;
- // insert a localized string here for those folks not savvy to our category methods
- descriptionsDict = [descriptions objectForKey:domain];
- localizedDesc = descriptionsDict ? [descriptionsDict objectForKey:[NSNumber numberWithInt:code]] : nil;
- dict = [NSDictionary dictionaryWithObjectsAndKeys:
- URL, @"NSErrorFailingURLKey",
- [URL absoluteString], @"NSErrorFailingURLStringKey",
- localizedDesc, NSLocalizedDescriptionKey,
- nil];
- return [self initWithDomain:domain code:code userInfo:dict];
-}
-
-+(id)_webkit_errorWithDomain:(NSString *)domain code:(int)code URL:(NSURL *)URL
-{
- return [[[self alloc] _webkit_initWithDomain:domain code:code URL:URL] autorelease];
-}
-
-+ (NSError *)_webKitErrorWithDomain:(NSString *)domain code:(int)code URL:(NSURL *)URL
-{
- [self _registerWebKitErrors];
- return [self _webkit_errorWithDomain:domain code:code URL:URL];
-}
-
-+ (NSError *)_webKitErrorWithCode:(int)code failingURL:(NSString *)URLString
-{
- return [self _webKitErrorWithDomain:WebKitErrorDomain code:code URL:[NSURL _web_URLWithUserTypedString:URLString]];
-}
-
-- (id)_initWithPluginErrorCode:(int)code
- contentURL:(NSURL *)contentURL
- pluginPageURL:(NSURL *)pluginPageURL
- pluginName:(NSString *)pluginName
- MIMEType:(NSString *)MIMEType
-{
- [[self class] _registerWebKitErrors];
-
- NSMutableDictionary *userInfo = [[NSMutableDictionary alloc] init];
- NSDictionary *descriptionsForWebKitErrorDomain = [descriptions objectForKey:WebKitErrorDomain];
- NSString *localizedDescription = [descriptionsForWebKitErrorDomain objectForKey:[NSNumber numberWithInt:code]];
- if (localizedDescription)
- [userInfo setObject:localizedDescription forKey:NSLocalizedDescriptionKey];
- if (contentURL) {
- [userInfo setObject:contentURL forKey:@"NSErrorFailingURLKey"];
- [userInfo setObject:[contentURL _web_userVisibleString] forKey:NSURLErrorFailingURLStringErrorKey];
- }
- if (pluginPageURL) {
- [userInfo setObject:[pluginPageURL _web_userVisibleString] forKey:WebKitErrorPlugInPageURLStringKey];
- }
- if (pluginName) {
- [userInfo setObject:pluginName forKey:WebKitErrorPlugInNameKey];
- }
- if (MIMEType) {
- [userInfo setObject:MIMEType forKey:WebKitErrorMIMETypeKey];
- }
-
- NSDictionary *userInfoCopy = [userInfo count] > 0 ? [[NSDictionary alloc] initWithDictionary:userInfo] : nil;
- [userInfo release];
- NSError *error = [self initWithDomain:WebKitErrorDomain code:code userInfo:userInfoCopy];
- [userInfoCopy release];
-
- return error;
-}
-
-+ (void)_webkit_addErrorsWithCodesAndDescriptions:(NSDictionary *)dictionary inDomain:(NSString *)domain
-{
- if (!descriptions)
- descriptions = [[NSMutableDictionary alloc] init];
-
- [descriptions setObject:dictionary forKey:domain];
-}
-
-static void registerErrors()
-{
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-
- NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
- // Policy errors
- WebKitErrorDescriptionCannotShowMIMEType, [NSNumber numberWithInt: WebKitErrorCannotShowMIMEType],
- WebKitErrorDescriptionCannotShowURL, [NSNumber numberWithInt: WebKitErrorCannotShowURL],
- WebKitErrorDescriptionFrameLoadInterruptedByPolicyChange, [NSNumber numberWithInt: WebKitErrorFrameLoadInterruptedByPolicyChange],
- WebKitErrorDescriptionCannotUseRestrictedPort, [NSNumber numberWithInt: WebKitErrorCannotUseRestrictedPort],
-
- // Plug-in and java errors
- WebKitErrorDescriptionCannotFindPlugin, [NSNumber numberWithInt: WebKitErrorCannotFindPlugIn],
- WebKitErrorDescriptionCannotLoadPlugin, [NSNumber numberWithInt: WebKitErrorCannotLoadPlugIn],
- WebKitErrorDescriptionJavaUnavailable, [NSNumber numberWithInt: WebKitErrorJavaUnavailable],
- WebKitErrorDescriptionPlugInCancelledConnection, [NSNumber numberWithInt: WebKitErrorPlugInCancelledConnection],
- WebKitErrorDescriptionPlugInWillHandleLoad, [NSNumber numberWithInt: WebKitErrorPlugInWillHandleLoad],
-
- // Geolocation errors
- WebKitErrorDescriptionGeolocationLocationUnknown, [NSNumber numberWithInt: WebKitErrorGeolocationLocationUnknown],
- nil];
-
- [NSError _webkit_addErrorsWithCodesAndDescriptions:dict inDomain:WebKitErrorDomain];
-
- [pool drain];
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebKitErrorsPrivate.h b/Source/WebKit/mac/Misc/WebKitErrorsPrivate.h
deleted file mode 100644
index eee50a003..000000000
--- a/Source/WebKit/mac/Misc/WebKitErrorsPrivate.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebKitErrors.h>
-
-#define WebKitErrorPlugInCancelledConnection 203
-// FIXME: WebKitErrorPlugInWillHandleLoad is used for the cancel we do to prevent loading plugin content twice. See <rdar://problem/4258008>
-#define WebKitErrorPlugInWillHandleLoad 204
-
-/*!
- @enum
- @abstract Policy errors - Pending Public API Review
- @constant WebKitErrorCannotUseRestrictedPort
-*/
-enum {
- WebKitErrorCannotUseRestrictedPort = 103,
-};
-
-/*!
- @enum
- @abstract Geolocation errors
- @constant WebKitErrorGeolocationLocationUnknown
-*/
-enum {
- WebKitErrorGeolocationLocationUnknown = 300,
-};
-
-@interface NSError (WebKitExtras)
-+ (NSError *)_webKitErrorWithCode:(int)code failingURL:(NSString *)URL;
-+ (NSError *)_webKitErrorWithDomain:(NSString *)domain code:(int)code URL:(NSURL *)URL;
-
-- (id)_initWithPluginErrorCode:(int)code
- contentURL:(NSURL *)contentURL
- pluginPageURL:(NSURL *)pluginPageURL
- pluginName:(NSString *)pluginName
- MIMEType:(NSString *)MIMEType;
-@end
diff --git a/Source/WebKit/mac/Misc/WebKitLogging.h b/Source/WebKit/mac/Misc/WebKitLogging.h
deleted file mode 100644
index 5f3428da3..000000000
--- a/Source/WebKit/mac/Misc/WebKitLogging.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2005, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <wtf/Assertions.h>
-
-#ifndef LOG_CHANNEL_PREFIX
-#define LOG_CHANNEL_PREFIX WebKitLog
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if !LOG_DISABLED
-extern WTFLogChannel WebKitLogTiming;
-extern WTFLogChannel WebKitLogLoading;
-extern WTFLogChannel WebKitLogFontCache;
-extern WTFLogChannel WebKitLogFontSubstitution;
-extern WTFLogChannel WebKitLogFontSelection;
-extern WTFLogChannel WebKitLogDownload;
-extern WTFLogChannel WebKitLogDocumentLoad;
-extern WTFLogChannel WebKitLogPlugins;
-extern WTFLogChannel WebKitLogEvents;
-extern WTFLogChannel WebKitLogView;
-extern WTFLogChannel WebKitLogRedirect;
-extern WTFLogChannel WebKitLogPageCache;
-extern WTFLogChannel WebKitLogCacheSizes;
-extern WTFLogChannel WebKitLogFormDelegate;
-extern WTFLogChannel WebKitLogFileDatabaseActivity;
-extern WTFLogChannel WebKitLogHistory;
-extern WTFLogChannel WebKitLogBindings;
-extern WTFLogChannel WebKitLogEncoding;
-extern WTFLogChannel WebKitLogLiveConnect;
-extern WTFLogChannel WebKitLogBackForward;
-extern WTFLogChannel WebKitLogProgress;
-extern WTFLogChannel WebKitLogPluginEvents;
-extern WTFLogChannel WebKitLogIconDatabase;
-extern WTFLogChannel WebKitLogTextInput;
-
-void WebKitInitializeLoggingChannelsIfNecessary(void);
-#endif // !LOG_DISABLED
-
-// FIXME: Why is this in the "logging" header file?
-// Use WebCoreThreadViolationCheck instead for checks that throw an exception even in production builds.
-#if !defined(NDEBUG) && !defined(DISABLE_THREAD_CHECK)
-#define ASSERT_MAIN_THREAD() do \
- if (!pthread_main_np()) { \
- WTFReportAssertionFailure(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, "<not running on main thread>"); \
- CRASH(); \
- } \
-while (0)
-#else
-#define ASSERT_MAIN_THREAD() ((void)0)
-#endif
-
-void ReportDiscardedDelegateException(SEL delegateSelector, id exception);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/Source/WebKit/mac/Misc/WebKitLogging.m b/Source/WebKit/mac/Misc/WebKitLogging.m
deleted file mode 100644
index e8d0378e4..000000000
--- a/Source/WebKit/mac/Misc/WebKitLogging.m
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2005, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebKitLogging.h"
-
-#if !LOG_DISABLED
-
-WTFLogChannel WebKitLogTextInput = { 0x00000010, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogTiming = { 0x00000020, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogLoading = { 0x00000040, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogFontCache = { 0x00000100, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogFontSubstitution = { 0x00000200, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogDownload = { 0x00000800, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogDocumentLoad = { 0x00001000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogPlugins = { 0x00002000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogEvents = { 0x00010000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogView = { 0x00020000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogRedirect = { 0x00040000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogPageCache = { 0x00080000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogCacheSizes = { 0x00100000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogFormDelegate = { 0x00200000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogFileDatabaseActivity = { 0x00400000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogHistory = { 0x00800000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogBindings = { 0x01000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogFontSelection = { 0x02000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogEncoding = { 0x04000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogLiveConnect = { 0x08000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogBackForward = { 0x10000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogProgress = { 0x20000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogPluginEvents = { 0x40000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogIconDatabase = { 0x80000000, "WebKitLogLevel", WTFLogChannelOff };
-
-static void initializeLogChannel(WTFLogChannel *channel)
-{
- NSString *logLevelString = [[NSUserDefaults standardUserDefaults] objectForKey:[NSString stringWithUTF8String:channel->defaultName]];
-
- // If there's no log level string from the user defaults, don't obliterate the compiled in values.
- if (logLevelString) {
- channel->state = WTFLogChannelOff;
- unsigned logLevel;
- if (![[NSScanner scannerWithString:logLevelString] scanHexInt:&logLevel])
- NSLog(@"unable to parse hex value for %s (%@), logging is off", channel->defaultName, logLevelString);
- if ((logLevel & channel->mask) == channel->mask)
- channel->state = WTFLogChannelOn;
- }
-}
-
-void WebKitInitializeLoggingChannelsIfNecessary()
-{
- static bool haveInitializedLoggingChannels = false;
- if (haveInitializedLoggingChannels)
- return;
- haveInitializedLoggingChannels = true;
-
- initializeLogChannel(&WebKitLogTiming);
- initializeLogChannel(&WebKitLogLoading);
- initializeLogChannel(&WebKitLogFontCache);
- initializeLogChannel(&WebKitLogFontSubstitution);
- initializeLogChannel(&WebKitLogDownload);
- initializeLogChannel(&WebKitLogDocumentLoad);
- initializeLogChannel(&WebKitLogPlugins);
- initializeLogChannel(&WebKitLogEvents);
- initializeLogChannel(&WebKitLogView);
- initializeLogChannel(&WebKitLogRedirect);
- initializeLogChannel(&WebKitLogPageCache);
- initializeLogChannel(&WebKitLogCacheSizes);
- initializeLogChannel(&WebKitLogFormDelegate);
- initializeLogChannel(&WebKitLogFileDatabaseActivity);
- initializeLogChannel(&WebKitLogHistory);
- initializeLogChannel(&WebKitLogBindings);
- initializeLogChannel(&WebKitLogFontSelection);
- initializeLogChannel(&WebKitLogEncoding);
- initializeLogChannel(&WebKitLogLiveConnect);
- initializeLogChannel(&WebKitLogBackForward);
- initializeLogChannel(&WebKitLogProgress);
- initializeLogChannel(&WebKitLogPluginEvents);
- initializeLogChannel(&WebKitLogIconDatabase);
- initializeLogChannel(&WebKitLogTextInput);
-}
-#endif // !LOG_DISABLED
-
-void ReportDiscardedDelegateException(SEL delegateSelector, id exception)
-{
- if ([exception isKindOfClass:[NSException class]])
- NSLog(@"*** WebKit discarded an uncaught exception in the %s delegate: <%@> %@",
- sel_getName(delegateSelector), [exception name], [exception reason]);
- else
- NSLog(@"*** WebKit discarded an uncaught exception in the %s delegate: %@",
- sel_getName(delegateSelector), exception);
-}
diff --git a/Source/WebKit/mac/Misc/WebKitNSStringExtras.h b/Source/WebKit/mac/Misc/WebKitNSStringExtras.h
deleted file mode 100644
index ddc49f031..000000000
--- a/Source/WebKit/mac/Misc/WebKitNSStringExtras.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-extern NSString *WebKitLocalCacheDefaultsKey;
-
-@interface NSString (WebKitExtras)
-
-- (void)_web_drawAtPoint:(NSPoint)point font:(NSFont *)font textColor:(NSColor *)textColor allowingFontSmoothing:(BOOL)fontSmoothingIsAllowed;
-- (void)_web_drawAtPoint:(NSPoint)point font:(NSFont *)font textColor:(NSColor *)textColor;
-- (void)_web_drawDoubledAtPoint:(NSPoint)textPoint withTopColor:(NSColor *)topColor bottomColor:(NSColor *)bottomColor font:(NSFont *)font;
-
-- (float)_web_widthWithFont:(NSFont *)font;
-
-// Handles home directories that have symlinks in their paths.
-// This works around 2774250.
-- (NSString *)_web_stringByAbbreviatingWithTildeInPath;
-
-- (NSString *)_web_stringByStrippingReturnCharacters;
-
-+ (NSStringEncoding)_web_encodingForResource:(Handle)resource;
-
-- (BOOL)_webkit_isCaseInsensitiveEqualToString:(NSString *)string;
-- (BOOL)_webkit_hasCaseInsensitivePrefix:(NSString *)suffix;
-- (BOOL)_webkit_hasCaseInsensitiveSuffix:(NSString *)suffix;
-- (BOOL)_webkit_hasCaseInsensitiveSubstring:(NSString *)substring;
-- (NSString *)_webkit_filenameByFixingIllegalCharacters;
-
-- (NSString *)_webkit_stringByTrimmingWhitespace;
-- (NSString *)_webkit_stringByCollapsingNonPrintingCharacters;
-- (NSString *)_webkit_stringByCollapsingWhitespaceCharacters;
-- (NSString *)_webkit_fixedCarbonPOSIXPath;
-
-+ (NSString *)_webkit_localCacheDirectoryWithBundleIdentifier:(NSString*)bundleIdentifier;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebKitNSStringExtras.mm b/Source/WebKit/mac/Misc/WebKitNSStringExtras.mm
deleted file mode 100644
index 08f8e6aff..000000000
--- a/Source/WebKit/mac/Misc/WebKitNSStringExtras.mm
+++ /dev/null
@@ -1,346 +0,0 @@
-/*
- * Copyright (C) 2005, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebKitNSStringExtras.h"
-
-#import <WebCore/Font.h>
-#import <WebCore/FontCache.h>
-#import <WebCore/GraphicsContext.h>
-#import <WebCore/TextRun.h>
-#import <WebCore/WebCoreNSStringExtras.h>
-#import <WebKit/WebNSFileManagerExtras.h>
-#import <WebKit/WebNSObjectExtras.h>
-#import <unicode/uchar.h>
-#import <sys/param.h>
-
-NSString *WebKitLocalCacheDefaultsKey = @"WebKitLocalCache";
-
-static inline CGFloat webkit_CGCeiling(CGFloat value)
-{
- if (sizeof(value) == sizeof(float))
- return ceilf(value);
- return ceil(value);
-}
-
-using namespace WebCore;
-
-@implementation NSString (WebKitExtras)
-
-static BOOL canUseFastRenderer(const UniChar *buffer, unsigned length)
-{
- unsigned i;
- for (i = 0; i < length; i++) {
- UCharDirection direction = u_charDirection(buffer[i]);
- if (direction == U_RIGHT_TO_LEFT || direction > U_OTHER_NEUTRAL)
- return NO;
- }
- return YES;
-}
-
-- (void)_web_drawAtPoint:(NSPoint)point font:(NSFont *)font textColor:(NSColor *)textColor
-{
- [self _web_drawAtPoint:point font:font textColor:textColor allowingFontSmoothing:YES];
-}
-
-- (void)_web_drawAtPoint:(NSPoint)point font:(NSFont *)font textColor:(NSColor *)textColor allowingFontSmoothing:(BOOL)fontSmoothingIsAllowed
-{
- unsigned length = [self length];
- Vector<UniChar, 2048> buffer(length);
-
- [self getCharacters:buffer.data()];
-
- if (canUseFastRenderer(buffer.data(), length)) {
- // The following is a half-assed attempt to match AppKit's rounding rules for drawAtPoint.
- // It's probably incorrect for high DPI.
- // If you change this, be sure to test all the text drawn this way in Safari, including
- // the status bar, bookmarks bar, tab bar, and activity window.
- point.y = webkit_CGCeiling(point.y);
-
- NSGraphicsContext *nsContext = [NSGraphicsContext currentContext];
- CGContextRef cgContext = static_cast<CGContextRef>([nsContext graphicsPort]);
- GraphicsContext graphicsContext(cgContext);
-
- // Safari doesn't flip the NSGraphicsContext before calling WebKit, yet WebCore requires a flipped graphics context.
- BOOL flipped = [nsContext isFlipped];
- if (!flipped)
- CGContextScaleCTM(cgContext, 1, -1);
-
- FontCachePurgePreventer fontCachePurgePreventer;
-
- Font webCoreFont(FontPlatformData(font, [font pointSize]), ![nsContext isDrawingToScreen], fontSmoothingIsAllowed ? AutoSmoothing : Antialiased);
- TextRun run(buffer.data(), length);
- run.disableRoundingHacks();
-
- CGFloat red;
- CGFloat green;
- CGFloat blue;
- CGFloat alpha;
- [[textColor colorUsingColorSpaceName:NSDeviceRGBColorSpace] getRed:&red green:&green blue:&blue alpha:&alpha];
- graphicsContext.setFillColor(makeRGBA(red * 255, green * 255, blue * 255, alpha * 255), ColorSpaceDeviceRGB);
-
- webCoreFont.drawText(&graphicsContext, run, FloatPoint(point.x, (flipped ? point.y : (-1 * point.y))));
-
- if (!flipped)
- CGContextScaleCTM(cgContext, 1, -1);
- } else {
- // The given point is on the baseline.
- if ([[NSView focusView] isFlipped])
- point.y -= [font ascender];
- else
- point.y += [font descender];
-
- [self drawAtPoint:point withAttributes:[NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName, textColor, NSForegroundColorAttributeName, nil]];
- }
-}
-
-- (void)_web_drawDoubledAtPoint:(NSPoint)textPoint
- withTopColor:(NSColor *)topColor
- bottomColor:(NSColor *)bottomColor
- font:(NSFont *)font
-{
- // turn off font smoothing so translucent text draws correctly (Radar 3118455)
- [self _web_drawAtPoint:textPoint font:font textColor:bottomColor allowingFontSmoothing:NO];
-
- textPoint.y += 1;
- [self _web_drawAtPoint:textPoint font:font textColor:topColor allowingFontSmoothing:NO];
-}
-
-- (float)_web_widthWithFont:(NSFont *)font
-{
- unsigned length = [self length];
- Vector<UniChar, 2048> buffer(length);
-
- [self getCharacters:buffer.data()];
-
- if (canUseFastRenderer(buffer.data(), length)) {
- FontCachePurgePreventer fontCachePurgePreventer;
-
- Font webCoreFont(FontPlatformData(font, [font pointSize]), ![[NSGraphicsContext currentContext] isDrawingToScreen]);
- TextRun run(buffer.data(), length);
- run.disableRoundingHacks();
- return webCoreFont.width(run);
- }
-
- return [self sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:font, NSFontAttributeName, nil]].width;
-}
-
-- (NSString *)_web_stringByAbbreviatingWithTildeInPath
-{
- NSString *resolvedHomeDirectory = [NSHomeDirectory() stringByResolvingSymlinksInPath];
- NSString *path;
-
- if ([self hasPrefix:resolvedHomeDirectory]) {
- NSString *relativePath = [self substringFromIndex:[resolvedHomeDirectory length]];
- path = [NSHomeDirectory() stringByAppendingPathComponent:relativePath];
- } else {
- path = self;
- }
-
- return [path stringByAbbreviatingWithTildeInPath];
-}
-
-- (NSString *)_web_stringByStrippingReturnCharacters
-{
- NSMutableString *newString = [[self mutableCopy] autorelease];
- [newString replaceOccurrencesOfString:@"\r" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [newString length])];
- [newString replaceOccurrencesOfString:@"\n" withString:@"" options:NSLiteralSearch range:NSMakeRange(0, [newString length])];
- return newString;
-}
-
-+ (NSStringEncoding)_web_encodingForResource:(Handle)resource
-{
- return CFStringConvertEncodingToNSStringEncoding(stringEncodingForResource(resource));
-}
-
-- (BOOL)_webkit_isCaseInsensitiveEqualToString:(NSString *)string
-{
- return stringIsCaseInsensitiveEqualToString(self, string);
-}
-
--(BOOL)_webkit_hasCaseInsensitivePrefix:(NSString *)prefix
-{
- return hasCaseInsensitivePrefix(self, prefix);
-}
-
--(BOOL)_webkit_hasCaseInsensitiveSuffix:(NSString *)suffix
-{
- return hasCaseInsensitiveSuffix(self, suffix);
-}
-
--(BOOL)_webkit_hasCaseInsensitiveSubstring:(NSString *)substring
-{
- return hasCaseInsensitiveSubstring(self, substring);
-}
-
--(NSString *)_webkit_filenameByFixingIllegalCharacters
-{
- return filenameByFixingIllegalCharacters(self);
-}
-
--(NSString *)_webkit_stringByTrimmingWhitespace
-{
- NSMutableString *trimmed = [[self mutableCopy] autorelease];
- CFStringTrimWhitespace((CFMutableStringRef)trimmed);
- return trimmed;
-}
-
-- (NSString *)_webkit_stringByCollapsingNonPrintingCharacters
-{
- NSMutableString *result = [NSMutableString string];
- static NSCharacterSet *charactersToTurnIntoSpaces = nil;
- static NSCharacterSet *charactersToNotTurnIntoSpaces = nil;
-
- if (charactersToTurnIntoSpaces == nil) {
- NSMutableCharacterSet *set = [[NSMutableCharacterSet alloc] init];
- [set addCharactersInRange:NSMakeRange(0x00, 0x21)];
- [set addCharactersInRange:NSMakeRange(0x7F, 0x01)];
- charactersToTurnIntoSpaces = [set copy];
- [set release];
- charactersToNotTurnIntoSpaces = [[charactersToTurnIntoSpaces invertedSet] retain];
- }
-
- unsigned length = [self length];
- unsigned position = 0;
- while (position != length) {
- NSRange nonSpace = [self rangeOfCharacterFromSet:charactersToNotTurnIntoSpaces
- options:0 range:NSMakeRange(position, length - position)];
- if (nonSpace.location == NSNotFound) {
- break;
- }
-
- NSRange space = [self rangeOfCharacterFromSet:charactersToTurnIntoSpaces
- options:0 range:NSMakeRange(nonSpace.location, length - nonSpace.location)];
- if (space.location == NSNotFound) {
- space.location = length;
- }
-
- if (space.location > nonSpace.location) {
- if (position != 0) {
- [result appendString:@" "];
- }
- [result appendString:[self substringWithRange:
- NSMakeRange(nonSpace.location, space.location - nonSpace.location)]];
- }
-
- position = space.location;
- }
-
- return result;
-}
-
-- (NSString *)_webkit_stringByCollapsingWhitespaceCharacters
-{
- NSMutableString *result = [[NSMutableString alloc] initWithCapacity:[self length]];
- NSCharacterSet *spaces = [NSCharacterSet whitespaceAndNewlineCharacterSet];
- static NSCharacterSet *notSpaces = nil;
-
- if (notSpaces == nil)
- notSpaces = [[spaces invertedSet] retain];
-
- unsigned length = [self length];
- unsigned position = 0;
- while (position != length) {
- NSRange nonSpace = [self rangeOfCharacterFromSet:notSpaces options:0 range:NSMakeRange(position, length - position)];
- if (nonSpace.location == NSNotFound)
- break;
-
- NSRange space = [self rangeOfCharacterFromSet:spaces options:0 range:NSMakeRange(nonSpace.location, length - nonSpace.location)];
- if (space.location == NSNotFound)
- space.location = length;
-
- if (space.location > nonSpace.location) {
- if (position != 0)
- [result appendString:@" "];
- [result appendString:[self substringWithRange:NSMakeRange(nonSpace.location, space.location - nonSpace.location)]];
- }
-
- position = space.location;
- }
-
- return [result autorelease];
-}
-
--(NSString *)_webkit_fixedCarbonPOSIXPath
-{
- NSFileManager *fileManager = [NSFileManager defaultManager];
- if ([fileManager fileExistsAtPath:self]) {
- // Files exists, no need to fix.
- return self;
- }
-
- NSMutableArray *pathComponents = [[[self pathComponents] mutableCopy] autorelease];
- NSString *volumeName = [pathComponents objectAtIndex:1];
- if ([volumeName isEqualToString:@"Volumes"]) {
- // Path starts with "/Volumes", so the volume name is the next path component.
- volumeName = [pathComponents objectAtIndex:2];
- // Remove "Volumes" from the path because it may incorrectly be part of the path (3163647).
- // We'll add it back if we have to.
- [pathComponents removeObjectAtIndex:1];
- }
-
- if (!volumeName) {
- // Should only happen if self == "/", so this shouldn't happen because that always exists.
- return self;
- }
-
- if ([[fileManager _webkit_startupVolumeName] isEqualToString:volumeName]) {
- // Startup volume name is included in path, remove it.
- [pathComponents removeObjectAtIndex:1];
- } else if ([[fileManager contentsOfDirectoryAtPath:@"/Volumes" error:NULL] containsObject:volumeName]) {
- // Path starts with other volume name, prepend "/Volumes".
- [pathComponents insertObject:@"Volumes" atIndex:1];
- } else
- // It's valid.
- return self;
-
- NSString *path = [NSString pathWithComponents:pathComponents];
-
- if (![fileManager fileExistsAtPath:path])
- // File at canonicalized path doesn't exist, return original.
- return self;
-
- return path;
-}
-
-+ (NSString *)_webkit_localCacheDirectoryWithBundleIdentifier:(NSString*)bundleIdentifier
-{
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- NSString *cacheDir = [defaults objectForKey:WebKitLocalCacheDefaultsKey];
-
- if (!cacheDir || ![cacheDir isKindOfClass:[NSString class]]) {
- char cacheDirectory[MAXPATHLEN];
- size_t cacheDirectoryLen = confstr(_CS_DARWIN_USER_CACHE_DIR, cacheDirectory, MAXPATHLEN);
-
- if (cacheDirectoryLen)
- cacheDir = [[NSFileManager defaultManager] stringWithFileSystemRepresentation:cacheDirectory length:cacheDirectoryLen - 1];
- }
-
- return [cacheDir stringByAppendingPathComponent:bundleIdentifier];
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebKitStatistics.h b/Source/WebKit/mac/Misc/WebKitStatistics.h
deleted file mode 100644
index 040a40b90..000000000
--- a/Source/WebKit/mac/Misc/WebKitStatistics.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-// These values are only incremented and decremented if the WebView is subclassed and
-// +[WebView shouldIncludeInWebKitStatistics] returns YES. By default WebView returns NO.
-
-@interface WebKitStatistics : NSObject
-
-+ (int)webViewCount;
-
-+ (int)frameCount;
-+ (int)dataSourceCount;
-+ (int)viewCount;
-+ (int)HTMLRepresentationCount;
-+ (int)bridgeCount;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebKitStatistics.m b/Source/WebKit/mac/Misc/WebKitStatistics.m
deleted file mode 100644
index 3e4032453..000000000
--- a/Source/WebKit/mac/Misc/WebKitStatistics.m
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebKitStatistics.h"
-
-#import "WebKitStatisticsPrivate.h"
-
-int WebViewCount;
-int WebDataSourceCount;
-int WebFrameCount;
-int WebHTMLRepresentationCount;
-int WebFrameViewCount;
-
-@implementation WebKitStatistics
-
-+ (int)webViewCount
-{
- return WebViewCount;
-}
-
-+ (int)frameCount
-{
- return WebFrameCount;
-}
-
-+ (int)dataSourceCount
-{
- return WebDataSourceCount;
-}
-
-+ (int)viewCount
-{
- return WebFrameViewCount;
-}
-
-+ (int)bridgeCount
-{
- // No such thing as a bridge any more. Just return 0.
- return 0;
-}
-
-+ (int)HTMLRepresentationCount
-{
- return WebHTMLRepresentationCount;
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebKitStatisticsPrivate.h b/Source/WebKit/mac/Misc/WebKitStatisticsPrivate.h
deleted file mode 100644
index e69bc511e..000000000
--- a/Source/WebKit/mac/Misc/WebKitStatisticsPrivate.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-extern int WebViewCount;
-extern int WebDataSourceCount;
-extern int WebFrameCount;
-extern int WebHTMLRepresentationCount;
-extern int WebFrameViewCount;
diff --git a/Source/WebKit/mac/Misc/WebKitSystemBits.h b/Source/WebKit/mac/Misc/WebKitSystemBits.h
deleted file mode 100644
index fe627ee54..000000000
--- a/Source/WebKit/mac/Misc/WebKitSystemBits.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-uint64_t WebMemorySize(void);
-unsigned long long WebVolumeFreeSize(NSString *path);
-int WebNumberOfCPUs(void);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/Source/WebKit/mac/Misc/WebKitSystemBits.m b/Source/WebKit/mac/Misc/WebKitSystemBits.m
deleted file mode 100644
index d64f2de98..000000000
--- a/Source/WebKit/mac/Misc/WebKitSystemBits.m
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebKitSystemBits.h"
-
-#import "WebNSFileManagerExtras.h"
-#import <mach/host_info.h>
-#import <mach/mach.h>
-#import <mach/mach_error.h>
-#import <sys/sysctl.h>
-#import <sys/types.h>
-#import <wtf/Assertions.h>
-
-static host_basic_info_data_t gHostBasicInfo;
-static pthread_once_t initControl = PTHREAD_ONCE_INIT;
-
-static void initCapabilities(void)
-{
- mach_msg_type_number_t count;
- kern_return_t r;
- mach_port_t host;
-
- /* Discover our CPU type */
- host = mach_host_self();
- count = HOST_BASIC_INFO_COUNT;
- r = host_info(host, HOST_BASIC_INFO, (host_info_t) &gHostBasicInfo, &count);
- mach_port_deallocate(mach_task_self(), host);
- if (r != KERN_SUCCESS) {
- LOG_ERROR("%s : host_info(%d) : %s.\n", __FUNCTION__, r, mach_error_string(r));
- }
-}
-
-uint64_t WebMemorySize(void)
-{
- pthread_once(&initControl, initCapabilities);
- return gHostBasicInfo.max_mem;
-}
-
-int WebNumberOfCPUs(void)
-{
- static int numCPUs = 0;
-
- if (numCPUs == 0) {
- int mib[2];
- size_t len;
-
- mib[0] = CTL_HW;
- mib[1] = HW_NCPU;
- len = sizeof(numCPUs);
- sysctl(mib, 2, &numCPUs, &len, NULL, 0);
- }
- return numCPUs;
-}
-
-unsigned long long WebVolumeFreeSize(NSString *path)
-{
- NSDictionary *fileSystemAttributesDictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:path error:NULL];
- return [[fileSystemAttributesDictionary objectForKey:NSFileSystemFreeSize] unsignedLongLongValue];
-}
diff --git a/Source/WebKit/mac/Misc/WebKitVersionChecks.h b/Source/WebKit/mac/Misc/WebKitVersionChecks.h
deleted file mode 100644
index 5f79099f2..000000000
--- a/Source/WebKit/mac/Misc/WebKitVersionChecks.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-/*
- Version numbers are based on the 'current library version' specified in the WebKit build rules.
- All of these methods return or take version numbers with each part shifted to the left 2 bytes.
- For example the version 1.2.3 is returned as 0x00010203 and version 200.3.5 is returned as 0x00C80305
- A version of -1 is returned if the main executable did not link against WebKit.
-
- Please use the current WebKit version number, available in WebKit/mac/Configurations/Version.xcconfig,
- when adding a new version constant.
-*/
-
-#define WEBKIT_FIRST_VERSION_WITH_3_0_CONTEXT_MENU_TAGS 0x020A0000 // 522.0.0
-#define WEBKIT_FIRST_VERSION_WITH_LOCAL_RESOURCE_SECURITY_RESTRICTION 0x020A0000 // 522.0.0
-#define WEBKIT_FIRST_VERSION_WITHOUT_APERTURE_QUIRK 0x020A0000 // 522.0.0
-#define WEBKIT_FIRST_VERSION_WITHOUT_QUICKBOOKS_QUIRK 0x020A0000 // 522.0.0
-#define WEBKIT_FIRST_VERSION_WITH_MAIN_THREAD_EXCEPTIONS 0x020A0000 // 522.0.0
-#define WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK 0x020A0000 // 522.0.0
-#define WEBKIT_FIRST_VERSION_WITH_INSPECT_ELEMENT_MENU_TAG 0x020A0C00 // 522.12.0
-#define WEBKIT_FIRST_VERSION_WITH_CACHE_MODEL_API 0x020B0500 // 523.5.0
-#define WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK 0x020D0100 // 525.1.0
-#define WEBKIT_FIRST_VERSION_WITH_IE_COMPATIBLE_KEYBOARD_EVENT_DISPATCH 0x020D0100 // 525.1.0
-#define WEBKIT_FIRST_VERSION_WITH_LOADING_DURING_COMMON_RUNLOOP_MODES 0x020E0000 // 526.0.0
-#define WEBKIT_FIRST_VERSION_WITH_MORE_STRICT_LOCAL_RESOURCE_SECURITY_RESTRICTION 0x02100200 // 528.2.0
-#define WEBKIT_FIRST_VERSION_WITH_RELOAD_FROM_ORIGIN 0x02100700 // 528.7.0
-#define WEBKIT_FIRST_VERSION_WITHOUT_WEBVIEW_INIT_THREAD_WORKAROUND 0x02100700 // 528.7.0
-#define WEBKIT_FIRST_VERSION_WITH_ROUND_TWO_MAIN_THREAD_EXCEPTIONS 0x02120400 // 530.4.0
-#define WEBKIT_FIRST_VERSION_WITHOUT_BUMPERCAR_BACK_FORWARD_QUIRK 0x02120700 // 530.7.0
-#define WEBKIT_FIRST_VERSION_WITHOUT_CONTENT_SNIFFING_FOR_FILE_URLS 0x02120A00 // 530.10.0
-#define WEBKIT_FIRST_VERSION_WITHOUT_LINK_ELEMENT_TEXT_CSS_QUIRK 0x02130200 // 531.2.0
-#define WEBKIT_FIRST_VERSION_WITH_HTML5_PARSER 0x02160900 // 534.9.0
-#define WEBKIT_FIRST_VERSION_WITH_GET_MATCHED_CSS_RULES_RESTRICTIONS 0x02160B00 // 534.11.0
-#define WEBKIT_FIRST_VERSION_WITH_CORRECT_DID_FINISH_LOAD_ORDER 0x02170304 // 535.3.4
-#define WEBKIT_FIRST_VERSION_WITH_CSS_ATTRIBUTE_SETTERS_IGNORING_PRIORITY 0x02170D00 // 535.13.0
-#define WEBKIT_FIRST_VERSION_WITHOUT_LEGACY_BACKGROUNDSIZE_SHORTHAND_BEHAVIOR 0x02190100 // 537.1.0
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-BOOL WebKitLinkedOnOrAfter(int version);
-void setWebKitLinkTimeVersion(int);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/Source/WebKit/mac/Misc/WebKitVersionChecks.m b/Source/WebKit/mac/Misc/WebKitVersionChecks.m
deleted file mode 100644
index a63e10b36..000000000
--- a/Source/WebKit/mac/Misc/WebKitVersionChecks.m
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebKitVersionChecks.h"
-#import <mach-o/dyld.h>
-
-static int WebKitLinkTimeVersion(void);
-static int overridenWebKitLinkTimeVersion;
-
-BOOL WebKitLinkedOnOrAfter(int version)
-{
- return (WebKitLinkTimeVersion() >= version);
-}
-
-void setWebKitLinkTimeVersion(int version)
-{
- overridenWebKitLinkTimeVersion = version;
-}
-
-static int WebKitLinkTimeVersion(void)
-{
- if (overridenWebKitLinkTimeVersion)
- return overridenWebKitLinkTimeVersion;
-
- return NSVersionOfLinkTimeLibrary("WebKit");
-}
diff --git a/Source/WebKit/mac/Misc/WebLocalizableStrings.h b/Source/WebKit/mac/Misc/WebLocalizableStrings.h
deleted file mode 100644
index 853b601f4..000000000
--- a/Source/WebKit/mac/Misc/WebLocalizableStrings.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2005, 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#if __OBJC__
-@class NSBundle;
-#elif __cplusplus
-class NSBundle;
-#else
-typedef struct NSBundle NSBundle;
-#endif
-
-typedef struct {
- const char *identifier;
- NSBundle *bundle;
-} WebLocalizableStringsBundle;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if __OBJC__
-NSString *WebLocalizedString(WebLocalizableStringsBundle *bundle, const char *key);
-#else
-CFStringRef WebLocalizedString(WebLocalizableStringsBundle *bundle, const char *key);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef FRAMEWORK_NAME
-
-#define LOCALIZABLE_STRINGS_BUNDLE(F) LOCALIZABLE_STRINGS_BUNDLE_HELPER(F)
-#define LOCALIZABLE_STRINGS_BUNDLE_HELPER(F) F ## LocalizableStringsBundle
-extern WebLocalizableStringsBundle LOCALIZABLE_STRINGS_BUNDLE(FRAMEWORK_NAME);
-
-#define UI_STRING(string, comment) WebLocalizedString(&LOCALIZABLE_STRINGS_BUNDLE(FRAMEWORK_NAME), string)
-#define UI_STRING_KEY(string, key, comment) WebLocalizedString(&LOCALIZABLE_STRINGS_BUNDLE(FRAMEWORK_NAME), key)
-
-#else
-
-#define UI_STRING(string, comment) WebLocalizedString(0, string)
-#define UI_STRING_KEY(string, key, comment) WebLocalizedString(0, key)
-
-#endif
diff --git a/Source/WebKit/mac/Misc/WebLocalizableStrings.mm b/Source/WebKit/mac/Misc/WebLocalizableStrings.mm
deleted file mode 100644
index 506cb5c2f..000000000
--- a/Source/WebKit/mac/Misc/WebLocalizableStrings.mm
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebLocalizableStrings.h>
-
-#import <wtf/Assertions.h>
-#import <wtf/MainThread.h>
-
-WebLocalizableStringsBundle WebKitLocalizableStringsBundle = { "com.apple.WebKit", 0 };
-
-NSString *WebLocalizedString(WebLocalizableStringsBundle *stringsBundle, const char *key)
-{
- // This function is not thread-safe due at least to its unguarded use of the mainBundle static variable
- // and its use of [NSBundle localizedStringForKey:::], which is not guaranteed to be thread-safe. If
- // we decide we need to use this on background threads, we'll need to add locking here and make sure
- // it doesn't affect performance.
- ASSERT(isMainThread());
-
- NSBundle *bundle;
- if (stringsBundle == NULL) {
- static NSBundle *mainBundle;
- if (mainBundle == nil) {
- mainBundle = [NSBundle mainBundle];
- ASSERT(mainBundle);
- CFRetain(mainBundle);
- }
- bundle = mainBundle;
- } else {
- bundle = stringsBundle->bundle;
- if (bundle == nil) {
- bundle = [NSBundle bundleWithIdentifier:[NSString stringWithUTF8String:stringsBundle->identifier]];
- ASSERT(bundle);
- stringsBundle->bundle = bundle;
- }
- }
- NSString *notFound = @"localized string not found";
- CFStringRef keyString = CFStringCreateWithCStringNoCopy(NULL, key, kCFStringEncodingUTF8, kCFAllocatorNull);
- NSString *result = [bundle localizedStringForKey:(NSString *)keyString value:notFound table:nil];
- CFRelease(keyString);
- ASSERT_WITH_MESSAGE(result != notFound, "could not find localizable string %s in bundle", key);
- return result;
-}
diff --git a/Source/WebKit/mac/Misc/WebLocalizableStringsInternal.h b/Source/WebKit/mac/Misc/WebLocalizableStringsInternal.h
deleted file mode 100644
index 2155819c2..000000000
--- a/Source/WebKit/mac/Misc/WebLocalizableStringsInternal.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2011 Apple 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 INC. 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 INC. 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 WebLocalizableStringsInternal_h
-#define WebLocalizableStringsInternal_h
-
-// This file should be used for localizing strings internal to the WebKit and WebCore frameworks.
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-NSString *WebLocalizedStringInternal(const char* key);
-
-#ifdef __cplusplus
-}
-#endif
-
-#define UI_STRING_INTERNAL(string, comment) WebLocalizedStringInternal(string)
-#define UI_STRING_KEY_INTERNAL(string, key, comment) WebLocalizedStringInternal(key)
-
-#endif // WebLocalizableStringsInternal_h
diff --git a/Source/WebKit/mac/Misc/WebNSArrayExtras.h b/Source/WebKit/mac/Misc/WebNSArrayExtras.h
deleted file mode 100644
index a69a69454..000000000
--- a/Source/WebKit/mac/Misc/WebNSArrayExtras.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebTypesInternal.h"
-#import <Cocoa/Cocoa.h>
-
-@interface NSArray (WebNSArrayExtras)
-
--(NSNumber *)_webkit_numberAtIndex:(NSUInteger)index;
--(NSString *)_webkit_stringAtIndex:(NSUInteger)index;
-
-@end
-
-@interface NSMutableArray (WebNSArrayExtras)
-
-- (void)_webkit_removeUselessMenuItemSeparators;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSArrayExtras.m b/Source/WebKit/mac/Misc/WebNSArrayExtras.m
deleted file mode 100644
index 6377010e5..000000000
--- a/Source/WebKit/mac/Misc/WebNSArrayExtras.m
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNSArrayExtras.h"
-
-#import <wtf/Assertions.h>
-
-@implementation NSArray (WebNSArrayExtras)
-
--(NSNumber *)_webkit_numberAtIndex:(NSUInteger)index
-{
- id object = [self objectAtIndex:index];
- return [object isKindOfClass:[NSNumber class]] ? object : nil;
-}
-
--(NSString *)_webkit_stringAtIndex:(NSUInteger)index
-{
- id object = [self objectAtIndex:index];
- return [object isKindOfClass:[NSString class]] ? object : nil;
-}
-
-@end
-
-@implementation NSMutableArray (WebNSArrayExtras)
-
-- (void)_webkit_removeUselessMenuItemSeparators
-{
- // Starting with a mutable array of NSMenuItems, removes any separators at the start,
- // removes any separators at the end, and collapses any other adjacent separators to
- // a single separator.
-
- int index;
- // Start this with YES so very last item will be removed if it's a separator.
- BOOL removePreviousItemIfSeparator = YES;
- for (index = [self count] - 1; index >= 0; --index) {
- NSMenuItem *item = [self objectAtIndex:index];
- ASSERT([item isKindOfClass:[NSMenuItem class]]);
- BOOL itemIsSeparator = [item isSeparatorItem];
- if (itemIsSeparator && (removePreviousItemIfSeparator || index == 0))
- [self removeObjectAtIndex:index];
- removePreviousItemIfSeparator = itemIsSeparator;
- }
-
- // This could leave us with one initial separator; kill it off too
- if ([self count] && [[self objectAtIndex:0] isSeparatorItem])
- [self removeObjectAtIndex:0];
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSControlExtras.h b/Source/WebKit/mac/Misc/WebNSControlExtras.h
deleted file mode 100644
index cf4cfa6b3..000000000
--- a/Source/WebKit/mac/Misc/WebNSControlExtras.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-@interface NSControl (WebExtras)
-- (void)sizeToFitAndAdjustWindowHeight;
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSControlExtras.m b/Source/WebKit/mac/Misc/WebNSControlExtras.m
deleted file mode 100644
index 81b5c858f..000000000
--- a/Source/WebKit/mac/Misc/WebNSControlExtras.m
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNSControlExtras.h"
-
-@implementation NSControl (WebExtras)
-
-- (void)sizeToFitAndAdjustWindowHeight
-{
- NSRect frame = [self frame];
-
- NSSize bestSize = [[self cell] cellSizeForBounds:NSMakeRect(0.0f, 0.0f, frame.size.width, 10000.0f)];
-
- float heightDelta = bestSize.height - frame.size.height;
-
- frame.size.height += heightDelta;
- frame.origin.y -= heightDelta;
- [self setFrame:frame];
-
- NSWindow *window = [self window];
- NSRect windowFrame = [window frame];
-
- CGFloat backingScaleFactor;
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- backingScaleFactor = [window backingScaleFactor];
-#else
- backingScaleFactor = [window userSpaceScaleFactor];
-#endif
-
- windowFrame.size.height += heightDelta * backingScaleFactor;
- [window setFrame:windowFrame display:NO];
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSDataExtras.h b/Source/WebKit/mac/Misc/WebNSDataExtras.h
deleted file mode 100644
index 689077c47..000000000
--- a/Source/WebKit/mac/Misc/WebNSDataExtras.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import "WebTypesInternal.h"
-
-#define WEB_GUESS_MIME_TYPE_PEEK_LENGTH 1024
-
-@interface NSData (WebNSDataExtras)
-
--(BOOL)_web_isCaseInsensitiveEqualToCString:(const char *)string;
--(NSMutableDictionary *)_webkit_parseRFC822HeaderFields;
-- (BOOL)_web_startsWithBlankLine;
-- (NSInteger)_web_locationAfterFirstBlankLine;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSDataExtras.m b/Source/WebKit/mac/Misc/WebNSDataExtras.m
deleted file mode 100644
index e4466617d..000000000
--- a/Source/WebKit/mac/Misc/WebNSDataExtras.m
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebNSDataExtras.h>
-#import <WebKit/WebNSDataExtrasPrivate.h>
-
-#import <wtf/Assertions.h>
-
-@interface NSString (WebNSDataExtrasInternal)
-- (NSString *)_web_capitalizeRFC822HeaderFieldName;
-@end
-
-@implementation NSString (WebNSDataExtrasInternal)
-
--(NSString *)_web_capitalizeRFC822HeaderFieldName
-{
- CFStringRef name = (CFStringRef)self;
- NSString *result = nil;
-
- CFIndex i;
- CFIndex len = CFStringGetLength(name);
- char *charPtr = NULL;
- UniChar *uniCharPtr = NULL;
- Boolean useUniCharPtr = FALSE;
- Boolean shouldCapitalize = TRUE;
- Boolean somethingChanged = FALSE;
-
- for (i = 0; i < len; i ++) {
- UniChar ch = CFStringGetCharacterAtIndex(name, i);
- Boolean replace = FALSE;
- if (shouldCapitalize && ch >= 'a' && ch <= 'z') {
- ch = ch + 'A' - 'a';
- replace = TRUE;
- }
- else if (!shouldCapitalize && ch >= 'A' && ch <= 'Z') {
- ch = ch + 'a' - 'A';
- replace = TRUE;
- }
- if (replace) {
- if (!somethingChanged) {
- somethingChanged = TRUE;
- if (CFStringGetBytes(name, CFRangeMake(0, len), kCFStringEncodingISOLatin1, 0, FALSE, NULL, 0, NULL) == len) {
- // Can be encoded in ISOLatin1
- useUniCharPtr = FALSE;
- charPtr = CFAllocatorAllocate(NULL, len + 1, 0);
- CFStringGetCString(name, charPtr, len+1, kCFStringEncodingISOLatin1);
- }
- else {
- useUniCharPtr = TRUE;
- uniCharPtr = CFAllocatorAllocate(NULL, len * sizeof(UniChar), 0);
- CFStringGetCharacters(name, CFRangeMake(0, len), uniCharPtr);
- }
- }
- if (useUniCharPtr) {
- uniCharPtr[i] = ch;
- }
- else {
- charPtr[i] = ch;
- }
- }
- if (ch == '-') {
- shouldCapitalize = TRUE;
- }
- else {
- shouldCapitalize = FALSE;
- }
- }
- if (somethingChanged) {
- if (useUniCharPtr) {
- result = (NSString *)CFMakeCollectable(CFStringCreateWithCharactersNoCopy(NULL, uniCharPtr, len, NULL));
- }
- else {
- result = (NSString *)CFMakeCollectable(CFStringCreateWithCStringNoCopy(NULL, charPtr, kCFStringEncodingISOLatin1, NULL));
- }
- }
- else {
- result = [self retain];
- }
-
- return [result autorelease];
-}
-
-@end
-
-@implementation NSData (WebKitExtras)
-
--(NSString *)_webkit_guessedMIMETypeForXML
-{
- int length = [self length];
- const UInt8 *bytes = [self bytes];
-
-#define CHANNEL_TAG_LENGTH 7
-
- const char *p = (const char *)bytes;
- int remaining = MIN(length, WEB_GUESS_MIME_TYPE_PEEK_LENGTH) - (CHANNEL_TAG_LENGTH - 1);
-
- BOOL foundRDF = false;
-
- while (remaining > 0) {
- // Look for a "<".
- const char *hit = memchr(p, '<', remaining);
- if (!hit) {
- break;
- }
-
- // We are trying to identify RSS or Atom. RSS has a top-level
- // element of either <rss> or <rdf>. However, there are
- // non-RSS RDF files, so in the case of <rdf> we further look
- // for a <channel> element. In the case of an Atom file, a
- // top-level <feed> element is all we need to see. Only tags
- // starting with <? or <! can precede the root element. We
- // bail if we don't find an <rss>, <feed> or <rdf> element
- // right after those.
-
- if (foundRDF) {
- if (strncasecmp(hit, "<channel", strlen("<channel")) == 0) {
- return @"application/rss+xml";
- }
- } else if (strncasecmp(hit, "<rdf", strlen("<rdf")) == 0) {
- foundRDF = TRUE;
- } else if (strncasecmp(hit, "<rss", strlen("<rss")) == 0) {
- return @"application/rss+xml";
- } else if (strncasecmp(hit, "<feed", strlen("<feed")) == 0) {
- return @"application/atom+xml";
- } else if (strncasecmp(hit, "<?", strlen("<?")) != 0 && strncasecmp(hit, "<!", strlen("<!")) != 0) {
- return nil;
- }
-
- // Skip the "<" and continue.
- remaining -= (hit + 1) - p;
- p = hit + 1;
- }
-
- return nil;
-}
-
--(NSString *)_webkit_guessedMIMEType
-{
-#define JPEG_MAGIC_NUMBER_LENGTH 4
-#define SCRIPT_TAG_LENGTH 7
-#define TEXT_HTML_LENGTH 9
-#define VCARD_HEADER_LENGTH 11
-#define VCAL_HEADER_LENGTH 15
-
- NSString *MIMEType = [self _webkit_guessedMIMETypeForXML];
- if ([MIMEType length])
- return MIMEType;
-
- int length = [self length];
- const char *bytes = [self bytes];
-
- const char *p = bytes;
- int remaining = MIN(length, WEB_GUESS_MIME_TYPE_PEEK_LENGTH) - (SCRIPT_TAG_LENGTH - 1);
- while (remaining > 0) {
- // Look for a "<".
- const char *hit = memchr(p, '<', remaining);
- if (!hit) {
- break;
- }
-
- // If we found a "<", look for "<html>" or "<a " or "<script".
- if (strncasecmp(hit, "<html>", strlen("<html>")) == 0 ||
- strncasecmp(hit, "<a ", strlen("<a ")) == 0 ||
- strncasecmp(hit, "<script", strlen("<script")) == 0 ||
- strncasecmp(hit, "<title>", strlen("<title>")) == 0) {
- return @"text/html";
- }
-
- // Skip the "<" and continue.
- remaining -= (hit + 1) - p;
- p = hit + 1;
- }
-
- // Test for a broken server which has sent the content type as part of the content.
- // This code could be improved to look for other mime types.
- p = bytes;
- remaining = MIN(length, WEB_GUESS_MIME_TYPE_PEEK_LENGTH) - (TEXT_HTML_LENGTH - 1);
- while (remaining > 0) {
- // Look for a "t" or "T".
- const char *hit = NULL;
- const char *lowerhit = memchr(p, 't', remaining);
- const char *upperhit = memchr(p, 'T', remaining);
- if (!lowerhit && !upperhit) {
- break;
- }
- if (!lowerhit) {
- hit = upperhit;
- }
- else if (!upperhit) {
- hit = lowerhit;
- }
- else {
- hit = MIN(lowerhit, upperhit);
- }
-
- // If we found a "t/T", look for "text/html".
- if (strncasecmp(hit, "text/html", TEXT_HTML_LENGTH) == 0) {
- return @"text/html";
- }
-
- // Skip the "t/T" and continue.
- remaining -= (hit + 1) - p;
- p = hit + 1;
- }
-
- if ((length >= VCARD_HEADER_LENGTH) && strncmp(bytes, "BEGIN:VCARD", VCARD_HEADER_LENGTH) == 0) {
- return @"text/vcard";
- }
- if ((length >= VCAL_HEADER_LENGTH) && strncmp(bytes, "BEGIN:VCALENDAR", VCAL_HEADER_LENGTH) == 0) {
- return @"text/calendar";
- }
-
- // Test for plain text.
- int i;
- for(i=0; i<length; i++){
- char c = bytes[i];
- if ((c < 0x20 || c > 0x7E) && (c != '\t' && c != '\r' && c != '\n')) {
- break;
- }
- }
- if (i == length) {
- // Didn't encounter any bad characters, looks like plain text.
- return @"text/plain";
- }
-
- // Looks like this is a binary file.
-
- // Sniff for the JPEG magic number.
- if ((length >= JPEG_MAGIC_NUMBER_LENGTH) && strncmp(bytes, "\xFF\xD8\xFF\xE0", JPEG_MAGIC_NUMBER_LENGTH) == 0) {
- return @"image/jpeg";
- }
-
-#undef JPEG_MAGIC_NUMBER_LENGTH
-#undef SCRIPT_TAG_LENGTH
-#undef TEXT_HTML_LENGTH
-#undef VCARD_HEADER_LENGTH
-#undef VCAL_HEADER_LENGTH
-
- return nil;
-}
-
-@end
-
-@implementation NSData (WebNSDataExtras)
-
--(BOOL)_web_isCaseInsensitiveEqualToCString:(const char *)string
-{
- ASSERT(string);
-
- const char *bytes = [self bytes];
- return strncasecmp(bytes, string, [self length]) == 0;
-}
-
-static const UInt8 *_findEOL(const UInt8 *bytes, CFIndex len) {
-
- // According to the HTTP specification EOL is defined as
- // a CRLF pair. Unfortunately, some servers will use LF
- // instead. Worse yet, some servers will use a combination
- // of both (e.g. <header>CRLFLF<body>), so findEOL needs
- // to be more forgiving. It will now accept CRLF, LF, or
- // CR.
- //
- // It returns NULL if EOL is not found or it will return
- // a pointer to the first terminating character.
- CFIndex i;
- for (i = 0; i < len; i++)
- {
- UInt8 c = bytes[i];
- if ('\n' == c) return bytes + i;
- if ('\r' == c)
- {
- // Check to see if spanning buffer bounds
- // (CRLF is across reads). If so, wait for
- // next read.
- if (i + 1 == len) break;
-
- return bytes + i;
- }
- }
-
- return NULL;
-}
-
--(NSMutableDictionary *)_webkit_parseRFC822HeaderFields
-{
- NSMutableDictionary *headerFields = [NSMutableDictionary dictionary];
-
- const UInt8 *bytes = [self bytes];
- unsigned length = [self length];
- NSString *lastKey = nil;
- const UInt8 *eol;
-
- // Loop over lines until we're past the header, or we can't find any more end-of-lines
- while ((eol = _findEOL(bytes, length))) {
- const UInt8 *line = bytes;
- SInt32 lineLength = eol - bytes;
-
- // Move bytes to the character after the terminator as returned by _findEOL.
- bytes = eol + 1;
- if (('\r' == *eol) && ('\n' == *bytes)) {
- bytes++; // Safe since _findEOL won't return a spanning CRLF.
- }
-
- length -= (bytes - line);
- if (lineLength == 0) {
- // Blank line; we're at the end of the header
- break;
- }
- else if (*line == ' ' || *line == '\t') {
- // Continuation of the previous header
- if (!lastKey) {
- // malformed header; ignore it and continue
- continue;
- }
- else {
- // Merge the continuation of the previous header
- NSString *currentValue = [headerFields objectForKey:lastKey];
- NSString *newValue = (NSString *)CFMakeCollectable(CFStringCreateWithBytes(NULL, line, lineLength, kCFStringEncodingISOLatin1, FALSE));
- ASSERT(currentValue);
- ASSERT(newValue);
- NSString *mergedValue = [[NSString alloc] initWithFormat:@"%@%@", currentValue, newValue];
- [headerFields setObject:(NSString *)mergedValue forKey:lastKey];
- [newValue release];
- [mergedValue release];
- // Note: currentValue is autoreleased
- }
- }
- else {
- // Brand new header
- const UInt8 *colon;
- for (colon = line; *colon != ':' && colon != eol; colon ++) {
- // empty loop
- }
- if (colon == eol) {
- // malformed header; ignore it and continue
- continue;
- }
- else {
- lastKey = (NSString *)CFMakeCollectable(CFStringCreateWithBytes(NULL, line, colon - line, kCFStringEncodingISOLatin1, FALSE));
- [lastKey autorelease];
- NSString *value = [lastKey _web_capitalizeRFC822HeaderFieldName];
- lastKey = value;
- for (colon++; colon != eol; colon++) {
- if (*colon != ' ' && *colon != '\t') {
- break;
- }
- }
- if (colon == eol) {
- value = [[NSString alloc] initWithString:@""];
- [value autorelease];
- }
- else {
- value = (NSString *)CFMakeCollectable(CFStringCreateWithBytes(NULL, colon, eol-colon, kCFStringEncodingISOLatin1, FALSE));
- [value autorelease];
- }
- NSString *oldValue = [headerFields objectForKey:lastKey];
- if (oldValue) {
- NSString *newValue = [[NSString alloc] initWithFormat:@"%@, %@", oldValue, value];
- value = newValue;
- [newValue autorelease];
- }
- [headerFields setObject:(NSString *)value forKey:lastKey];
- }
- }
- }
-
- return headerFields;
-}
-
-- (BOOL)_web_startsWithBlankLine
-{
- return [self length] > 0 && ((const char *)[self bytes])[0] == '\n';
-}
-
-- (NSInteger)_web_locationAfterFirstBlankLine
-{
- const char *bytes = (const char *)[self bytes];
- unsigned length = [self length];
-
- unsigned i;
- for (i = 0; i < length - 4; i++) {
-
- // Support for Acrobat. It sends "\n\n".
- if (bytes[i] == '\n' && bytes[i+1] == '\n') {
- return i+2;
- }
-
- // Returns the position after 2 CRLF's or 1 CRLF if it is the first line.
- if (bytes[i] == '\r' && bytes[i+1] == '\n') {
- i += 2;
- if (i == 2) {
- return i;
- } else if (bytes[i] == '\n') {
- // Support for Director. It sends "\r\n\n" (3880387).
- return i+1;
- } else if (bytes[i] == '\r' && bytes[i+1] == '\n') {
- // Support for Flash. It sends "\r\n\r\n" (3758113).
- return i+2;
- }
- }
- }
- return NSNotFound;
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSDataExtrasPrivate.h b/Source/WebKit/mac/Misc/WebNSDataExtrasPrivate.h
deleted file mode 100644
index 5f5ea68e2..000000000
--- a/Source/WebKit/mac/Misc/WebNSDataExtrasPrivate.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@interface NSData (WebKitExtras)
-
--(NSString *)_webkit_guessedMIMEType;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSDictionaryExtras.h b/Source/WebKit/mac/Misc/WebNSDictionaryExtras.h
deleted file mode 100644
index 928679af1..000000000
--- a/Source/WebKit/mac/Misc/WebNSDictionaryExtras.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (C) 2005, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@interface NSDictionary (WebNSDictionaryExtras)
-- (BOOL)_webkit_boolForKey:(id)key;
-- (int)_webkit_intForKey:(id)key;
-- (NSString *)_webkit_stringForKey:(id)key; // Returns nil if the value is not an NSString.
-- (NSArray *)_webkit_arrayForKey:(id)key; // Returns nil if the value is not an NSArray.
-
-// Searches for the full MIME type, then the prefix (e.g., "text/" for "text/html")
-- (id)_webkit_objectForMIMEType:(NSString *)MIMEType;
-@end
-
-@interface NSMutableDictionary (WebNSDictionaryExtras)
-- (void)_webkit_setInt:(int)value forKey:(id)key;
-- (void)_webkit_setFloat:(float)value forKey:(id)key;
-- (void)_webkit_setBool:(BOOL)value forKey:(id)key;
-- (void)_webkit_setLongLong:(long long)value forKey:(id)key;
-- (void)_webkit_setUnsignedLongLong:(unsigned long long)value forKey:(id)key;
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSDictionaryExtras.m b/Source/WebKit/mac/Misc/WebNSDictionaryExtras.m
deleted file mode 100644
index 645a081e5..000000000
--- a/Source/WebKit/mac/Misc/WebNSDictionaryExtras.m
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (C) 2005, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebNSDataExtras.h>
-
-#import <wtf/Assertions.h>
-
-@implementation NSDictionary (WebNSDictionaryExtras)
--(NSNumber *)_webkit_numberForKey:(id)key
-{
- id object = [self objectForKey:key];
- return [object isKindOfClass:[NSNumber class]] ? object : nil;
-}
-
--(int)_webkit_intForKey:(NSString *)key
-{
- NSNumber *number = [self _webkit_numberForKey:key];
- return number == nil ? 0 : [number intValue];
-}
-
--(NSString *)_webkit_stringForKey:(id)key
-{
- id object = [self objectForKey:key];
- return [object isKindOfClass:[NSString class]] ? object : nil;
-}
-
--(NSArray *)_webkit_arrayForKey:(id)key
-{
- id object = [self objectForKey:key];
- return [object isKindOfClass:[NSArray class]] ? object : nil;
-}
-
--(id)_webkit_objectForMIMEType:(NSString *)MIMEType
-{
- id result;
- NSRange slashRange;
-
- result = [self objectForKey:MIMEType];
- if (result) {
- return result;
- }
-
- slashRange = [MIMEType rangeOfString:@"/"];
- if (slashRange.location == NSNotFound) {
- return nil;
- }
-
- return [self objectForKey:[MIMEType substringToIndex:slashRange.location + 1]];
-}
-
-- (BOOL)_webkit_boolForKey:(id)key
-{
- NSNumber *number = [self _webkit_numberForKey:key];
- return number && [number boolValue];
-}
-
-@end
-
-@implementation NSMutableDictionary (WebNSDictionaryExtras)
-
--(void)_webkit_setInt:(int)value forKey:(id)key
-{
- NSNumber *object = [[NSNumber alloc] initWithInt:value];
- [self setObject:object forKey:key];
- [object release];
-}
-
--(void)_webkit_setFloat:(float)value forKey:(id)key
-{
- NSNumber *object = [[NSNumber alloc] initWithFloat:value];
- [self setObject:object forKey:key];
- [object release];
-}
-
--(void)_webkit_setBool:(BOOL)value forKey:(id)key
-{
- NSNumber *object = [[NSNumber alloc] initWithBool:value];
- [self setObject:object forKey:key];
- [object release];
-}
-
-- (void)_webkit_setLongLong:(long long)value forKey:(id)key
-{
- NSNumber *object = [[NSNumber alloc] initWithLongLong:value];
- [self setObject:object forKey:key];
- [object release];
-}
-
-- (void)_webkit_setUnsignedLongLong:(unsigned long long)value forKey:(id)key
-{
- NSNumber *object = [[NSNumber alloc] initWithUnsignedLongLong:value];
- [self setObject:object forKey:key];
- [object release];
-}
-
-@end
-
diff --git a/Source/WebKit/mac/Misc/WebNSEventExtras.h b/Source/WebKit/mac/Misc/WebNSEventExtras.h
deleted file mode 100644
index e35ff529b..000000000
--- a/Source/WebKit/mac/Misc/WebNSEventExtras.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <AppKit/AppKit.h>
-
-@interface NSEvent (WebExtras)
-
--(BOOL)_web_isKeyEvent:(unichar)key;
-
--(BOOL)_web_isDeleteKeyEvent;
--(BOOL)_web_isEscapeKeyEvent;
--(BOOL)_web_isOptionTabKeyEvent;
--(BOOL)_web_isReturnOrEnterKeyEvent;
--(BOOL)_web_isTabKeyEvent;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSEventExtras.m b/Source/WebKit/mac/Misc/WebNSEventExtras.m
deleted file mode 100644
index 60fb3cfb9..000000000
--- a/Source/WebKit/mac/Misc/WebNSEventExtras.m
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebNSEventExtras.h>
-
-@implementation NSEvent (WebExtras)
-
--(BOOL)_web_isKeyEvent:(unichar)key
-{
- int type = [self type];
- if (type != NSKeyDown && type != NSKeyUp)
- return NO;
-
- NSString *chars = [self charactersIgnoringModifiers];
- if ([chars length] != 1)
- return NO;
-
- unichar c = [chars characterAtIndex:0];
- if (c != key)
- return NO;
-
- return YES;
-}
-
-- (BOOL)_web_isDeleteKeyEvent
-{
- const unichar deleteKey = NSDeleteCharacter;
- const unichar deleteForwardKey = NSDeleteFunctionKey;
- return [self _web_isKeyEvent:deleteKey] || [self _web_isKeyEvent:deleteForwardKey];
-}
-
-- (BOOL)_web_isEscapeKeyEvent
-{
- const unichar escapeKey = 0x001b;
- return [self _web_isKeyEvent:escapeKey];
-}
-
-- (BOOL)_web_isOptionTabKeyEvent
-{
- return ([self modifierFlags] & NSAlternateKeyMask) && [self _web_isTabKeyEvent];
-}
-
-- (BOOL)_web_isReturnOrEnterKeyEvent
-{
- const unichar enterKey = NSEnterCharacter;
- const unichar returnKey = NSCarriageReturnCharacter;
- return [self _web_isKeyEvent:enterKey] || [self _web_isKeyEvent:returnKey];
-}
-
-- (BOOL)_web_isTabKeyEvent
-{
- const unichar tabKey = 0x0009;
- const unichar shiftTabKey = 0x0019;
- return [self _web_isKeyEvent:tabKey] || [self _web_isKeyEvent:shiftTabKey];
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSFileManagerExtras.h b/Source/WebKit/mac/Misc/WebNSFileManagerExtras.h
deleted file mode 100644
index e9a0fec47..000000000
--- a/Source/WebKit/mac/Misc/WebNSFileManagerExtras.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2005, 2010 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@interface NSFileManager (WebNSFileManagerExtras)
-- (void)_webkit_setMetadataURL:(NSString *)URLString referrer:(NSString *)referrer atPath:(NSString *)path;
-- (NSString *)_webkit_startupVolumeName;
-- (NSString *)_webkit_pathWithUniqueFilenameForPath:(NSString *)path;
-@end
-
-
diff --git a/Source/WebKit/mac/Misc/WebNSFileManagerExtras.mm b/Source/WebKit/mac/Misc/WebNSFileManagerExtras.mm
deleted file mode 100644
index 5fe657e06..000000000
--- a/Source/WebKit/mac/Misc/WebNSFileManagerExtras.mm
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebNSFileManagerExtras.h>
-
-#import "WebKitNSStringExtras.h"
-#import "WebNSObjectExtras.h"
-#import "WebNSURLExtras.h"
-#import <wtf/Assertions.h>
-#import <WebKitSystemInterface.h>
-#import <sys/stat.h>
-#import <wtf/RetainPtr.h>
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED == 1060
-extern "C" DADiskRef DADiskCreateFromVolumePath(CFAllocatorRef allocator, DASessionRef session, CFURLRef path);
-#endif
-
-@implementation NSFileManager (WebNSFileManagerExtras)
-
-
-typedef struct MetaDataInfo
-{
- CFStringRef URLString;
- CFStringRef referrer;
- CFStringRef path;
-} 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)
- CFRelease(info->URLString);
- if (info->referrer)
- CFRelease(info->referrer);
- if (info->path)
- CFRelease(info->path);
-
- free(info);
- [pool drain];
-
- return 0;
-}
-
-- (void)_webkit_setMetadataURL:(NSString *)URLString referrer:(NSString *)referrer atPath:(NSString *)path
-{
- ASSERT(URLString);
- ASSERT(path);
-
- NSURL *URL = [NSURL _web_URLWithUserTypedString:URLString];
- if (URL)
- URLString = [[URL _web_URLByRemovingUserInfo] _web_userVisibleString];
-
- // Spawn a background thread for WKSetMetadataURL because this function will not return until mds has
- // journaled the data we're're trying to set. Depending on what other I/O is going on, it can take some
- // time.
- pthread_t tid;
- pthread_attr_t attr;
- pthread_attr_init(&attr);
- pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
-
- MetaDataInfo *info = static_cast<MetaDataInfo *>(malloc(sizeof(MetaDataInfo)));
-
- info->URLString = URLString ? CFStringCreateCopy(0, (CFStringRef)URLString) : 0;
- info->referrer = referrer ? CFStringCreateCopy(0, (CFStringRef)referrer) : 0;
- info->path = path ? CFStringCreateCopy(0, (CFStringRef)path) : 0;
-
- pthread_create(&tid, &attr, setMetaData, info);
- pthread_attr_destroy(&attr);
-}
-
-- (NSString *)_webkit_startupVolumeName
-{
- RetainPtr<DASessionRef> session = adoptCF(DASessionCreate(kCFAllocatorDefault));
- RetainPtr<DADiskRef> disk = adoptCF(DADiskCreateFromVolumePath(kCFAllocatorDefault, session.get(), (CFURLRef)[NSURL fileURLWithPath:@"/"]));
- RetainPtr<CFDictionaryRef> diskDescription = adoptCF(DADiskCopyDescription(disk.get()));
- RetainPtr<NSString> diskName = (NSString *)CFDictionaryGetValue(diskDescription.get(), kDADiskDescriptionVolumeNameKey);
- return WebCFAutorelease(diskName.leakRef());
-}
-
-// -[NSFileManager fileExistsAtPath:] returns NO if there is a broken symlink at the path.
-// So we use this function instead, which returns YES if there is anything there, including
-// a broken symlink.
-static BOOL fileExists(NSString *path)
-{
- struct stat statBuffer;
- return !lstat([path fileSystemRepresentation], &statBuffer);
-}
-
-- (NSString *)_webkit_pathWithUniqueFilenameForPath:(NSString *)path
-{
- // "Fix" the filename of the path.
- NSString *filename = [[path lastPathComponent] _webkit_filenameByFixingIllegalCharacters];
- path = [[path stringByDeletingLastPathComponent] stringByAppendingPathComponent:filename];
-
- if (fileExists(path)) {
- // Don't overwrite existing file by appending "-n", "-n.ext" or "-n.ext.ext" to the filename.
- NSString *extensions = nil;
- NSString *pathWithoutExtensions;
- NSString *lastPathComponent = [path lastPathComponent];
- NSRange periodRange = [lastPathComponent rangeOfString:@"."];
-
- if (periodRange.location == NSNotFound) {
- pathWithoutExtensions = path;
- } else {
- extensions = [lastPathComponent substringFromIndex:periodRange.location + 1];
- lastPathComponent = [lastPathComponent substringToIndex:periodRange.location];
- pathWithoutExtensions = [[path stringByDeletingLastPathComponent] stringByAppendingPathComponent:lastPathComponent];
- }
-
- for (unsigned i = 1; ; i++) {
- NSString *pathWithAppendedNumber = [NSString stringWithFormat:@"%@-%d", pathWithoutExtensions, i];
- path = [extensions length] ? [pathWithAppendedNumber stringByAppendingPathExtension:extensions] : pathWithAppendedNumber;
- if (!fileExists(path))
- break;
- }
- }
-
- return path;
-}
-
-@end
-
diff --git a/Source/WebKit/mac/Misc/WebNSImageExtras.h b/Source/WebKit/mac/Misc/WebNSImageExtras.h
deleted file mode 100644
index b8ac5b557..000000000
--- a/Source/WebKit/mac/Misc/WebNSImageExtras.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-@interface NSImage (WebExtras)
-
-- (void)_web_scaleToMaxSize:(NSSize)size;
-
-- (void)_web_dissolveToFraction:(float)delta;
-
-// Debug method. Saves an image and opens it in the preferred TIFF viewing application.
-- (void)_web_saveAndOpen;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSImageExtras.m b/Source/WebKit/mac/Misc/WebNSImageExtras.m
deleted file mode 100644
index 7124f8584..000000000
--- a/Source/WebKit/mac/Misc/WebNSImageExtras.m
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebNSImageExtras.h>
-
-#import <WebKit/WebKitLogging.h>
-
-@implementation NSImage (WebExtras)
-
-- (void)_web_scaleToMaxSize:(NSSize)size
-{
- float heightResizeDelta = 0.0f, widthResizeDelta = 0.0f, resizeDelta = 0.0f;
- NSSize originalSize = [self size];
-
- if(originalSize.width > size.width){
- widthResizeDelta = size.width / originalSize.width;
- resizeDelta = widthResizeDelta;
- }
-
- if(originalSize.height > size.height){
- heightResizeDelta = size.height / originalSize.height;
- if((resizeDelta == 0.0) || (resizeDelta > heightResizeDelta)){
- resizeDelta = heightResizeDelta;
- }
- }
-
- if(resizeDelta > 0.0){
- NSSize newSize = NSMakeSize((originalSize.width * resizeDelta), (originalSize.height * resizeDelta));
- [self setScalesWhenResized:YES];
- [self setSize:newSize];
- }
-}
-
-- (void)_web_dissolveToFraction:(float)delta
-{
- NSImage *dissolvedImage = [[NSImage alloc] initWithSize:[self size]];
-
- NSPoint point = [self isFlipped] ? NSMakePoint(0, [self size].height) : NSZeroPoint;
-
- // In this case the dragging image is always correct.
- [dissolvedImage setFlipped:[self isFlipped]];
-
- [dissolvedImage lockFocus];
- [self dissolveToPoint:point fraction: delta];
- [dissolvedImage unlockFocus];
-
- [self lockFocus];
- [dissolvedImage compositeToPoint:point operation:NSCompositeCopy];
- [self unlockFocus];
-
- [dissolvedImage release];
-}
-
-- (void)_web_saveAndOpen
-{
- char path[] = "/tmp/XXXXXX.tiff";
- int fd = mkstemps(path, 5);
- if (fd != -1) {
- NSData *data = [self TIFFRepresentation];
- write(fd, [data bytes], [data length]);
- close(fd);
- [[NSWorkspace sharedWorkspace] openFile:[NSString stringWithUTF8String:path]];
- }
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSNotificationCenterExtras.h b/Source/WebKit/mac/Misc/WebNSNotificationCenterExtras.h
deleted file mode 100644
index 1a2e16cc3..000000000
--- a/Source/WebKit/mac/Misc/WebNSNotificationCenterExtras.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNSNotificationCenterExtras.h"
-
-@interface NSNotificationCenter (WebNSNotificationCenterExtras)
-
-- (void)postNotificationOnMainThreadWithName:(NSString *)name object:(id)object;
-- (void)postNotificationOnMainThreadWithName:(NSString *)name object:(id)object userInfo:(NSDictionary *)userInfo;
-- (void)postNotificationOnMainThreadWithName:(NSString *)name object:(id)object userInfo:(NSDictionary *)userInfo waitUntilDone:(BOOL)wait;
-
-+ (void)_postNotificationName:(NSDictionary *)info;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSNotificationCenterExtras.m b/Source/WebKit/mac/Misc/WebNSNotificationCenterExtras.m
deleted file mode 100644
index bc5b4eda5..000000000
--- a/Source/WebKit/mac/Misc/WebNSNotificationCenterExtras.m
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNSNotificationCenterExtras.h"
-
-@implementation NSNotificationCenter (WebNSNotificationCenterExtras)
-
-- (void)postNotificationOnMainThreadWithName:(NSString *)name object:(id)object
-{
- [self postNotificationOnMainThreadWithName:name object:object userInfo:nil waitUntilDone:NO];
-}
-
-- (void)postNotificationOnMainThreadWithName:(NSString *)name object:(id)object userInfo:(NSDictionary *)userInfo
-{
- [self postNotificationOnMainThreadWithName:name object:object userInfo:userInfo waitUntilDone:NO];
-}
-
-- (void)postNotificationOnMainThreadWithName:(NSString *)name object:(id)object userInfo:(NSDictionary *)userInfo waitUntilDone:(BOOL)wait
-{
- NSMutableDictionary *info = [[NSMutableDictionary alloc] initWithCapacity:3];
- if (name)
- [info setObject:name forKey:@"name"];
-
- if (object)
- [info setObject:object forKey:@"object"];
-
- if (userInfo)
- [info setObject:userInfo forKey:@"userInfo"];
-
- [[self class] performSelectorOnMainThread:@selector(_postNotificationName:) withObject:info waitUntilDone:wait];
-}
-
-+ (void)_postNotificationName:(NSDictionary *)info
-{
- NSString *name = [info objectForKey:@"name"];
- id object = [info objectForKey:@"object"];
- NSDictionary *userInfo = [info objectForKey:@"userInfo"];
-
- [[self defaultCenter] postNotificationName:name object:object userInfo:userInfo];
-
- [info release];
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSObjectExtras.h b/Source/WebKit/mac/Misc/WebNSObjectExtras.h
deleted file mode 100644
index b76e91322..000000000
--- a/Source/WebKit/mac/Misc/WebNSObjectExtras.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2005, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-#import <objc/objc-class.h>
-#import <objc/objc.h>
-
-// Use WebCFAutorelease to return an object made by a CoreFoundation
-// "create" or "copy" function as an autoreleased and garbage collected
-// object. CF objects need to be "made collectable" for autorelease to work
-// properly under GC.
-static inline id WebCFAutorelease(CFTypeRef obj)
-{
- if (obj)
- CFMakeCollectable(obj);
- [(id)obj autorelease];
- return (id)obj;
-}
-
-@interface NSObject (WebNSObjectExtras)
-+ (id)_webkit_invokeOnMainThread;
-- (id)_webkit_invokeOnMainThread;
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSObjectExtras.mm b/Source/WebKit/mac/Misc/WebNSObjectExtras.mm
deleted file mode 100644
index d00726b5f..000000000
--- a/Source/WebKit/mac/Misc/WebNSObjectExtras.mm
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (C) 2008, 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNSObjectExtras.h"
-
-#import <wtf/Assertions.h>
-
-@interface WebMainThreadInvoker : NSProxy
-{
- id target;
- id exception;
-}
-@end
-
-static bool returnTypeIsObject(NSInvocation *invocation)
-{
- // Could use either _C_ID or NSObjCObjectType, but it seems that neither is
- // both available and non-deprecated on all versions of Mac OS X we support.
- return strchr([[invocation methodSignature] methodReturnType], '@');
-}
-
-@implementation WebMainThreadInvoker
-
-- (id)initWithTarget:(id)passedTarget
-{
- target = passedTarget;
- return self;
-}
-
-- (void)forwardInvocation:(NSInvocation *)invocation
-{
- [invocation setTarget:target];
- [invocation performSelectorOnMainThread:@selector(_webkit_invokeAndHandleException:) withObject:self waitUntilDone:YES];
- if (exception) {
- id exceptionToThrow = [exception autorelease];
- exception = nil;
- @throw exceptionToThrow;
- } else if (returnTypeIsObject(invocation)) {
- // _webkit_invokeAndHandleException retained the return value on the main thread.
- // Now autorelease it on the calling thread.
- id returnValue;
- [invocation getReturnValue:&returnValue];
- [returnValue autorelease];
- }
-}
-
-- (NSMethodSignature *)methodSignatureForSelector:(SEL)selector
-{
- return [target methodSignatureForSelector:selector];
-}
-
-- (void)handleException:(id)passedException
-{
- ASSERT(!exception);
- exception = [passedException retain];
-}
-
-@end
-
-@implementation NSInvocation (WebMainThreadInvoker)
-
-- (void)_webkit_invokeAndHandleException:(WebMainThreadInvoker *)exceptionHandler
-{
- @try {
- [self invoke];
- } @catch (id exception) {
- [exceptionHandler handleException:exception];
- return;
- }
- if (returnTypeIsObject(self)) {
- // Retain the return value on the main thread.
- // -[WebMainThreadInvoker forwardInvocation:] will autorelease it on the calling thread.
- id value;
- [self getReturnValue:&value];
- [value retain];
- }
-}
-
-@end
-
-@implementation NSObject (WebNSObjectExtras)
-
-+ (id)_webkit_invokeOnMainThread
-{
- return [[[WebMainThreadInvoker alloc] initWithTarget:self] autorelease];
-}
-
-- (id)_webkit_invokeOnMainThread
-{
- return [[[WebMainThreadInvoker alloc] initWithTarget:self] autorelease];
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSPasteboardExtras.h b/Source/WebKit/mac/Misc/WebNSPasteboardExtras.h
deleted file mode 100644
index b99451229..000000000
--- a/Source/WebKit/mac/Misc/WebNSPasteboardExtras.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class DOMElement;
-@class WebArchive;
-@class WebHTMLView;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern NSString *WebURLPboardType;
-extern NSString *WebURLNamePboardType;
-
-@interface NSPasteboard (WebExtras)
-
-// Returns the array of types that _web_writeURL:andTitle: handles.
-+ (NSArray *)_web_writableTypesForURL;
-
-// Returns the array of types that _web_writeImage handles.
-+ (NSArray *)_web_writableTypesForImageIncludingArchive:(BOOL)hasArchive;
-
-// Returns the array of drag types that _web_bestURL handles; note that the presence
-// of one or more of these drag types on the pasteboard is not a guarantee that
-// _web_bestURL will return a non-nil result.
-+ (NSArray *)_web_dragTypesForURL;
-
-// Finds the best URL from the data on the pasteboard, giving priority to http and https URLs
-- (NSURL *)_web_bestURL;
-
-// Writes the URL to the pasteboard with the passed types.
-- (void)_web_writeURL:(NSURL *)URL andTitle:(NSString *)title types:(NSArray *)types;
-
-// Sets the text on the NSFindPboard. Returns the new changeCount for the NSFindPboard.
-+ (int)_web_setFindPasteboardString:(NSString *)string withOwner:(id)owner;
-
-// Writes a file wrapper to the pasteboard as an RTFD attachment.
-// NSRTFDPboardType must be declared on the pasteboard before calling this method.
-- (void)_web_writeFileWrapperAsRTFDAttachment:(NSFileWrapper *)wrapper;
-
-// Writes an image, URL and other optional types to the pasteboard.
-- (void)_web_writeImage:(NSImage *)image
- element:(DOMElement*)element
- URL:(NSURL *)URL
- title:(NSString *)title
- archive:(WebArchive *)archive
- types:(NSArray *)types
- source:(WebHTMLView *)source;
-
-- (id)_web_declareAndWriteDragImageForElement:(DOMElement *)element
- URL:(NSURL *)URL
- title:(NSString *)title
- archive:(WebArchive *)archive
- source:(WebHTMLView *)source;
-
-- (void)_web_writePromisedRTFDFromArchive:(WebArchive*)archive containsImage:(BOOL)containsImage;
-
-@end
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm b/Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm
deleted file mode 100644
index a4af935db..000000000
--- a/Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNSPasteboardExtras.h"
-
-#import "DOMElementInternal.h"
-#import "WebArchive.h"
-#import "WebFrameInternal.h"
-#import "WebHTMLViewInternal.h"
-#import "WebNSURLExtras.h"
-#import "WebResourcePrivate.h"
-#import "WebURLsWithTitles.h"
-#import "WebViewPrivate.h"
-#import <WebCore/CachedImage.h>
-#import <WebCore/Element.h>
-#import <WebCore/Image.h>
-#import <WebCore/MIMETypeRegistry.h>
-#import <WebCore/RenderImage.h>
-#import <WebKit/DOMExtensions.h>
-#import <WebKit/DOMPrivate.h>
-#import <WebKitSystemInterface.h>
-#import <wtf/Assertions.h>
-#import <wtf/RetainPtr.h>
-#import <wtf/StdLibExtras.h>
-
-using namespace WebCore;
-
-NSString *WebURLPboardType = @"public.url";
-NSString *WebURLNamePboardType = @"public.url-name";
-
-@implementation NSPasteboard (WebExtras)
-
-+ (NSArray *)_web_writableTypesForURL
-{
- DEFINE_STATIC_LOCAL(RetainPtr<NSArray>, types, ([[NSArray alloc] initWithObjects:
- WebURLsWithTitlesPboardType,
- NSURLPboardType,
- WebURLPboardType,
- WebURLNamePboardType,
- NSStringPboardType,
- nil]));
- return types.get();
-}
-
-static inline NSArray *_createWritableTypesForImageWithoutArchive()
-{
- NSMutableArray *types = [[NSMutableArray alloc] initWithObjects:NSTIFFPboardType, nil];
- [types addObjectsFromArray:[NSPasteboard _web_writableTypesForURL]];
- return types;
-}
-
-static NSArray *_writableTypesForImageWithoutArchive (void)
-{
- DEFINE_STATIC_LOCAL(RetainPtr<NSArray>, types, (_createWritableTypesForImageWithoutArchive()));
- return types.get();
-}
-
-static inline NSArray *_createWritableTypesForImageWithArchive()
-{
- NSMutableArray *types = [_writableTypesForImageWithoutArchive() mutableCopy];
- [types addObject:NSRTFDPboardType];
- [types addObject:WebArchivePboardType];
- return types;
-}
-
-static NSArray *_writableTypesForImageWithArchive (void)
-{
- DEFINE_STATIC_LOCAL(RetainPtr<NSArray>, types, (_createWritableTypesForImageWithArchive()));
- return types.get();
-}
-
-+ (NSArray *)_web_writableTypesForImageIncludingArchive:(BOOL)hasArchive
-{
- return hasArchive
- ? _writableTypesForImageWithArchive()
- : _writableTypesForImageWithoutArchive();
-}
-
-+ (NSArray *)_web_dragTypesForURL
-{
- return [NSArray arrayWithObjects:
- WebURLsWithTitlesPboardType,
- NSURLPboardType,
- WebURLPboardType,
- WebURLNamePboardType,
- NSStringPboardType,
- NSFilenamesPboardType,
- nil];
-}
-
-- (NSURL *)_web_bestURL
-{
- NSArray *types = [self types];
-
- if ([types containsObject:NSURLPboardType]) {
- NSURL *URLFromPasteboard = [NSURL URLFromPasteboard:self];
- NSString *scheme = [URLFromPasteboard scheme];
- if ([scheme isEqualToString:@"http"] || [scheme isEqualToString:@"https"]) {
- return [URLFromPasteboard _webkit_canonicalize];
- }
- }
-
- if ([types containsObject:NSStringPboardType]) {
- NSString *URLString = [self stringForType:NSStringPboardType];
- if ([URLString _webkit_looksLikeAbsoluteURL]) {
- NSURL *URL = [[NSURL _web_URLWithUserTypedString:URLString] _webkit_canonicalize];
- if (URL) {
- return URL;
- }
- }
- }
-
- if ([types containsObject:NSFilenamesPboardType]) {
- NSArray *files = [self propertyListForType:NSFilenamesPboardType];
- // FIXME: Maybe it makes more sense to allow multiple files and only use the first one?
- if ([files count] == 1) {
- NSString *file = [files objectAtIndex:0];
- // FIXME: We are filtering out directories because that's what the original code used to
- // do. Without this check, if the URL points to a local directory, Safari will open the
- // parent directory of the directory in Finder. This check should go away as soon as
- // possible.
- BOOL isDirectory;
- if ([[NSFileManager defaultManager] fileExistsAtPath:file isDirectory:&isDirectory] && isDirectory)
- return nil;
- return [[NSURL fileURLWithPath:file] _webkit_canonicalize];
- }
- }
-
- return nil;
-}
-
-- (void)_web_writeURL:(NSURL *)URL andTitle:(NSString *)title types:(NSArray *)types
-{
- ASSERT(URL);
-
- if ([title length] == 0) {
- title = [[URL path] lastPathComponent];
- if ([title length] == 0)
- title = [URL _web_userVisibleString];
- }
-
- if ([types containsObject:NSURLPboardType])
- [URL writeToPasteboard:self];
- if ([types containsObject:WebURLPboardType])
- [self setString:[URL _web_originalDataAsString] forType:WebURLPboardType];
- if ([types containsObject:WebURLNamePboardType])
- [self setString:title forType:WebURLNamePboardType];
- if ([types containsObject:NSStringPboardType])
- [self setString:[URL _web_userVisibleString] forType:NSStringPboardType];
- if ([types containsObject:WebURLsWithTitlesPboardType])
- [WebURLsWithTitles writeURLs:[NSArray arrayWithObject:URL] andTitles:[NSArray arrayWithObject:title] toPasteboard:self];
-}
-
-+ (int)_web_setFindPasteboardString:(NSString *)string withOwner:(id)owner
-{
- NSPasteboard *findPasteboard = [NSPasteboard pasteboardWithName:NSFindPboard];
- [findPasteboard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:owner];
- [findPasteboard setString:string forType:NSStringPboardType];
- return [findPasteboard changeCount];
-}
-
-- (void)_web_writeFileWrapperAsRTFDAttachment:(NSFileWrapper *)wrapper
-{
- NSTextAttachment *attachment = [[NSTextAttachment alloc] initWithFileWrapper:wrapper];
-
- NSAttributedString *string = [NSAttributedString attributedStringWithAttachment:attachment];
- [attachment release];
-
- NSData *RTFDData = [string RTFDFromRange:NSMakeRange(0, [string length]) documentAttributes:nil];
- [self setData:RTFDData forType:NSRTFDPboardType];
-}
-
-
-- (void)_web_writePromisedRTFDFromArchive:(WebArchive*)archive containsImage:(BOOL)containsImage
-{
- ASSERT(archive);
- // This image data is either the only subresource of an archive (HTML image case)
- // or the main resource (standalone image case).
- NSArray *subresources = [archive subresources];
- WebResource *resource = [archive mainResource];
- if (containsImage && [subresources count] > 0
- && MIMETypeRegistry::isSupportedImageResourceMIMEType([[subresources objectAtIndex:0] MIMEType]))
- resource = (WebResource *)[subresources objectAtIndex:0];
- ASSERT(resource != nil);
-
- ASSERT(!containsImage || MIMETypeRegistry::isSupportedImageResourceMIMEType([resource MIMEType]));
- if (!containsImage || MIMETypeRegistry::isSupportedImageResourceMIMEType([resource MIMEType]))
- [self _web_writeFileWrapperAsRTFDAttachment:[resource _fileWrapperRepresentation]];
-
-}
-
-static CachedImage* imageFromElement(DOMElement *domElement)
-{
- Element* element = core(domElement);
- if (!element)
- return 0;
-
- RenderObject* renderer = element->renderer();
- RenderImage* imageRenderer = toRenderImage(renderer);
- if (!imageRenderer->cachedImage() || imageRenderer->cachedImage()->errorOccurred())
- return 0;
- return imageRenderer->cachedImage();
-}
-
-- (void)_web_writeImage:(NSImage *)image
- element:(DOMElement *)element
- URL:(NSURL *)URL
- title:(NSString *)title
- archive:(WebArchive *)archive
- types:(NSArray *)types
- source:(WebHTMLView *)source
-{
- ASSERT(image || element);
- ASSERT(URL);
-
- [self _web_writeURL:URL andTitle:title types:types];
-
- if ([types containsObject:NSTIFFPboardType]) {
- if (image)
- [self setData:[image TIFFRepresentation] forType:NSTIFFPboardType];
- else if (source && element)
- [source setPromisedDragTIFFDataSource:imageFromElement(element)];
- else if (element)
- [self setData:[element _imageTIFFRepresentation] forType:NSTIFFPboardType];
- }
-
- if (archive) {
- if ([types containsObject:WebArchivePboardType])
- [self setData:[archive data] forType:WebArchivePboardType];
- return;
- }
-
- // We should not have declared types that we aren't going to write (4031826).
- ASSERT(![types containsObject:NSRTFDPboardType]);
- ASSERT(![types containsObject:WebArchivePboardType]);
-}
-
-- (id)_web_declareAndWriteDragImageForElement:(DOMElement *)element
- URL:(NSURL *)URL
- title:(NSString *)title
- archive:(WebArchive *)archive
- source:(WebHTMLView *)source
-{
- ASSERT(self == [NSPasteboard pasteboardWithName:NSDragPboard]);
-
- NSString *extension = @"";
- if (RenderObject* renderer = core(element)->renderer()) {
- if (renderer->isImage()) {
- if (CachedImage* image = toRenderImage(renderer)->cachedImage()) {
- extension = image->image()->filenameExtension();
- if (![extension length])
- return 0;
- }
- }
- }
-
- NSMutableArray *types = [[NSMutableArray alloc] initWithObjects:NSFilesPromisePboardType, nil];
- [types addObjectsFromArray:[NSPasteboard _web_writableTypesForImageIncludingArchive:(archive != nil)]];
- [self declareTypes:types owner:source];
- [self _web_writeImage:nil element:element URL:URL title:title archive:archive types:types source:source];
- [types release];
-
- NSArray *extensions = [[NSArray alloc] initWithObjects:extension, nil];
- [self setPropertyList:extensions forType:NSFilesPromisePboardType];
- [extensions release];
-
- return source;
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSPrintOperationExtras.h b/Source/WebKit/mac/Misc/WebNSPrintOperationExtras.h
deleted file mode 100644
index 353536995..000000000
--- a/Source/WebKit/mac/Misc/WebNSPrintOperationExtras.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-@interface NSPrintOperation (WebKitExtras)
-
-- (float)_web_pageSetupScaleFactor;
-- (float)_web_availablePaperWidth;
-- (float)_web_availablePaperHeight;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSPrintOperationExtras.m b/Source/WebKit/mac/Misc/WebNSPrintOperationExtras.m
deleted file mode 100644
index 0982b964b..000000000
--- a/Source/WebKit/mac/Misc/WebNSPrintOperationExtras.m
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNSPrintOperationExtras.h"
-
-@implementation NSPrintOperation (WebKitExtras)
-
-- (float)_web_pageSetupScaleFactor
-{
- return [[[[self printInfo] dictionary] objectForKey:NSPrintScalingFactor] floatValue];
-}
-
-- (float)_web_availablePaperWidth
-{
- NSPrintInfo *printInfo = [self printInfo];
- return [printInfo paperSize].width - [printInfo leftMargin] - [printInfo rightMargin];
-}
-
-- (float)_web_availablePaperHeight
-{
- NSPrintInfo *printInfo = [self printInfo];
- return [printInfo paperSize].height - [printInfo topMargin] - [printInfo bottomMargin];
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSURLExtras.h b/Source/WebKit/mac/Misc/WebNSURLExtras.h
deleted file mode 100644
index 964db844c..000000000
--- a/Source/WebKit/mac/Misc/WebNSURLExtras.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-// FIXME: Change method names back to _web_ from _webkit_ when identically-named
-// methods are no longer present in Foundation.
-
-@interface NSURL (WebNSURLExtras)
-
-+ (NSURL *)_web_URLWithUserTypedString:(NSString *)string;
-+ (NSURL *)_web_URLWithUserTypedString:(NSString *)string relativeToURL:(NSURL *)URL;
-
-+ (NSURL *)_web_URLWithDataAsString:(NSString *)string;
-+ (NSURL *)_web_URLWithDataAsString:(NSString *)string relativeToURL:(NSURL *)baseURL;
-
-+ (NSURL *)_web_URLWithData:(NSData *)data;
-+ (NSURL *)_web_URLWithData:(NSData *)data relativeToURL:(NSURL *)baseURL;
-
-- (NSURL *)_web_URLWithLowercasedScheme;
-
-- (NSData *)_web_originalData;
-- (NSString *)_web_originalDataAsString;
-- (const char *)_web_URLCString;
-
-- (NSData *)_web_hostData;
-- (NSString *)_web_hostString;
-
-- (NSString *)_web_userVisibleString;
-
-- (BOOL)_web_isEmpty;
-
-- (NSURL *)_webkit_canonicalize;
-- (NSURL *)_webkit_URLByRemovingFragment;
-- (NSURL *)_webkit_URLByRemovingResourceSpecifier;
-- (NSURL *)_web_URLByRemovingUserInfo;
-
-- (BOOL)_webkit_isJavaScriptURL;
-- (BOOL)_webkit_isFileURL;
-- (NSString *)_webkit_scriptIfJavaScriptURL;
-- (BOOL)_webkit_isFTPDirectoryURL;
-
-- (BOOL)_webkit_shouldLoadAsEmptyDocument;
-
-- (NSString *)_webkit_suggestedFilenameWithMIMEType:(NSString *)MIMEType;
-
-- (NSURL *)_webkit_URLFromURLOrSchemelessFileURL;
-
-@end
-
-@interface NSString (WebNSURLExtras)
-
-- (BOOL)_web_isUserVisibleURL;
-
-- (BOOL)_web_hostNameNeedsDecodingWithRange:(NSRange)range; // returns NO if decodeHostNameWithRange: would return nil, but more efficient
-- (BOOL)_web_hostNameNeedsEncodingWithRange:(NSRange)range; // returns NO if encodeHostNameWithRange: would return nil, but more efficient
-
-- (NSString *)_web_decodeHostNameWithRange:(NSRange)range; // turns funny-looking ASCII form into Unicode, returns nil if no decoding needed
-- (NSString *)_web_encodeHostNameWithRange:(NSRange)range; // turns Unicode into funny-looking ASCII form, returns nil if no decoding needed
-
-- (NSString *)_web_decodeHostName; // turns funny-looking ASCII form into Unicode, returns self if no decoding needed, convenient cover
-- (NSString *)_web_encodeHostName; // turns Unicode into funny-looking ASCII form, returns self if no decoding needed, convenient cover
-
-- (BOOL)_webkit_isJavaScriptURL;
-- (BOOL)_webkit_isFTPDirectoryURL;
-- (BOOL)_webkit_isFileURL;
-- (BOOL)_webkit_looksLikeAbsoluteURL;
-- (NSRange)_webkit_rangeOfURLScheme;
-- (NSString *)_webkit_URLFragment;
-- (NSString *)_webkit_scriptIfJavaScriptURL;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSURLExtras.mm b/Source/WebKit/mac/Misc/WebNSURLExtras.mm
deleted file mode 100644
index c2c1c9f81..000000000
--- a/Source/WebKit/mac/Misc/WebNSURLExtras.mm
+++ /dev/null
@@ -1,393 +0,0 @@
-/*
- * Copyright (C) 2005, 2007, 2008, 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNSURLExtras.h"
-
-#import "WebKitNSStringExtras.h"
-#import "WebLocalizableStrings.h"
-#import "WebNSDataExtras.h"
-#import "WebNSObjectExtras.h"
-#import "WebSystemInterface.h"
-#import <Foundation/NSURLRequest.h>
-#import <WebCore/KURL.h>
-#import <WebCore/LoaderNSURLExtras.h>
-#import <WebCore/WebCoreNSURLExtras.h>
-#import <WebKitSystemInterface.h>
-#import <wtf/Assertions.h>
-#import <unicode/uchar.h>
-#import <unicode/uscript.h>
-
-using namespace WebCore;
-using namespace WTF;
-
-#define URL_BYTES_BUFFER_LENGTH 2048
-
-@implementation NSURL (WebNSURLExtras)
-
-+ (NSURL *)_web_URLWithUserTypedString:(NSString *)string relativeToURL:(NSURL *)URL
-{
- return URLWithUserTypedString(string, URL);
-}
-
-+ (NSURL *)_web_URLWithUserTypedString:(NSString *)string
-{
- return URLWithUserTypedString(string, nil);
-}
-
-+ (NSURL *)_web_URLWithDataAsString:(NSString *)string
-{
- if (string == nil) {
- return nil;
- }
- return [self _web_URLWithDataAsString:string relativeToURL:nil];
-}
-
-+ (NSURL *)_web_URLWithDataAsString:(NSString *)string relativeToURL:(NSURL *)baseURL
-{
- if (string == nil) {
- return nil;
- }
- string = [string _webkit_stringByTrimmingWhitespace];
- NSData *data = [string dataUsingEncoding:NSISOLatin1StringEncoding];
- return URLWithData(data, baseURL);
-}
-
-+ (NSURL *)_web_URLWithData:(NSData *)data
-{
- return URLWithData(data, nil);
-}
-
-+ (NSURL *)_web_URLWithData:(NSData *)data relativeToURL:(NSURL *)baseURL
-{
- return URLWithData(data, baseURL);
-}
-
-- (NSData *)_web_originalData
-{
- return originalURLData(self);
-}
-
-- (NSString *)_web_originalDataAsString
-{
- return [[[NSString alloc] initWithData:originalURLData(self) encoding:NSISOLatin1StringEncoding] autorelease];
-}
-
-- (NSString *)_web_userVisibleString
-{
- return userVisibleString(self);
-}
-
-- (BOOL)_web_isEmpty
-{
- if (!CFURLGetBaseURL((CFURLRef)self))
- return CFURLGetBytes((CFURLRef)self, NULL, 0) == 0;
- return [originalURLData(self) length] == 0;
-}
-
-- (const char *)_web_URLCString
-{
- NSMutableData *data = [NSMutableData data];
- [data appendData:originalURLData(self)];
- [data appendBytes:"\0" length:1];
- return (const char *)[data bytes];
- }
-
-- (NSURL *)_webkit_canonicalize
-{
- NSURLRequest *request = [[NSURLRequest alloc] initWithURL:self];
- Class concreteClass = WKNSURLProtocolClassForRequest(request);
- if (!concreteClass) {
- [request release];
- return self;
- }
-
- // This applies NSURL's concept of canonicalization, but not KURL's concept. It would
- // make sense to apply both, but when we tried that it caused a performance degradation
- // (see 5315926). It might make sense to apply only the KURL concept and not the NSURL
- // concept, but it's too risky to make that change for WebKit 3.0.
- NSURLRequest *newRequest = [concreteClass canonicalRequestForRequest:request];
- NSURL *newURL = [newRequest URL];
- NSURL *result = [[newURL retain] autorelease];
- [request release];
-
- return result;
-}
-
-- (NSURL *)_web_URLByTruncatingOneCharacterBeforeComponent:(CFURLComponentType)component
-{
- return URLByTruncatingOneCharacterBeforeComponent(self, component);
-}
-
-- (NSURL *)_webkit_URLByRemovingFragment
-{
- return URLByTruncatingOneCharacterBeforeComponent(self, kCFURLComponentFragment);
-}
-
-- (NSURL *)_webkit_URLByRemovingResourceSpecifier
-{
- return URLByTruncatingOneCharacterBeforeComponent(self, kCFURLComponentResourceSpecifier);
-}
-
-- (NSURL *)_web_URLByRemovingUserInfo
-{
- return URLByRemovingUserInfo(self);
-}
-
-- (BOOL)_webkit_isJavaScriptURL
-{
- return [[self _web_originalDataAsString] _webkit_isJavaScriptURL];
-}
-
-- (NSString *)_webkit_scriptIfJavaScriptURL
-{
- return [[self absoluteString] _webkit_scriptIfJavaScriptURL];
-}
-
-- (BOOL)_webkit_isFileURL
-{
- return [[self _web_originalDataAsString] _webkit_isFileURL];
-}
-
-- (BOOL)_webkit_isFTPDirectoryURL
-{
- return [[self _web_originalDataAsString] _webkit_isFTPDirectoryURL];
-}
-
-- (BOOL)_webkit_shouldLoadAsEmptyDocument
-{
- return [[self _web_originalDataAsString] _webkit_hasCaseInsensitivePrefix:@"about:"] || [self _web_isEmpty];
-}
-
-- (NSURL *)_web_URLWithLowercasedScheme
-{
- CFRange range;
- CFURLGetByteRangeForComponent((CFURLRef)self, kCFURLComponentScheme, &range);
- if (range.location == kCFNotFound) {
- return self;
- }
-
- UInt8 static_buffer[URL_BYTES_BUFFER_LENGTH];
- UInt8 *buffer = static_buffer;
- CFIndex bytesFilled = CFURLGetBytes((CFURLRef)self, buffer, URL_BYTES_BUFFER_LENGTH);
- if (bytesFilled == -1) {
- CFIndex bytesToAllocate = CFURLGetBytes((CFURLRef)self, NULL, 0);
- buffer = static_cast<UInt8 *>(malloc(bytesToAllocate));
- bytesFilled = CFURLGetBytes((CFURLRef)self, buffer, bytesToAllocate);
- ASSERT(bytesFilled == bytesToAllocate);
- }
-
- int i;
- BOOL changed = NO;
- for (i = 0; i < range.length; ++i) {
- char c = buffer[range.location + i];
- char lower = toASCIILower(c);
- if (c != lower) {
- buffer[range.location + i] = lower;
- changed = YES;
- }
- }
-
- NSURL *result = changed
- ? (NSURL *)WebCFAutorelease(CFURLCreateAbsoluteURLWithBytes(NULL, buffer, bytesFilled, kCFStringEncodingUTF8, nil, YES))
- : (NSURL *)self;
-
- if (buffer != static_buffer) {
- free(buffer);
- }
-
- return result;
-}
-
-
--(NSData *)_web_schemeSeparatorWithoutColon
-{
- NSData *result = nil;
- CFRange rangeWithSeparators;
- CFRange range = CFURLGetByteRangeForComponent((CFURLRef)self, kCFURLComponentScheme, &rangeWithSeparators);
- if (rangeWithSeparators.location != kCFNotFound) {
- NSString *absoluteString = [self absoluteString];
- NSRange separatorsRange = NSMakeRange(range.location + range.length + 1, rangeWithSeparators.length - range.length - 1);
- if (separatorsRange.location + separatorsRange.length <= [absoluteString length]) {
- NSString *slashes = [absoluteString substringWithRange:separatorsRange];
- result = [slashes dataUsingEncoding:NSISOLatin1StringEncoding];
- }
- }
- return result;
-}
-
--(NSData *)_web_dataForURLComponentType:(CFURLComponentType)componentType
-{
- return dataForURLComponentType(self, componentType);
-}
-
--(NSData *)_web_schemeData
-{
- return dataForURLComponentType(self, kCFURLComponentScheme);
-}
-
--(NSData *)_web_hostData
-{
- NSData *result = dataForURLComponentType(self, kCFURLComponentHost);
- NSData *scheme = [self _web_schemeData];
- // Take off localhost for file
- if ([scheme _web_isCaseInsensitiveEqualToCString:"file"]) {
- return ([result _web_isCaseInsensitiveEqualToCString:"localhost"]) ? nil : result;
- }
- return result;
-}
-
-- (NSString *)_web_hostString
-{
- return [[[NSString alloc] initWithData:[self _web_hostData] encoding:NSUTF8StringEncoding] autorelease];
-}
-
-- (NSString *)_webkit_suggestedFilenameWithMIMEType:(NSString *)MIMEType
-{
- return suggestedFilenameWithMIMEType(self, MIMEType);
-}
-
-- (NSURL *)_webkit_URLFromURLOrSchemelessFileURL
-{
- if ([self scheme])
- return self;
-
- return [NSURL URLWithString:[@"file:" stringByAppendingString:[self absoluteString]]];
-}
-
-@end
-
-@implementation NSString (WebNSURLExtras)
-
-- (BOOL)_web_isUserVisibleURL
-{
- return isUserVisibleURL(self);
-}
-
-- (BOOL)_webkit_isJavaScriptURL
-{
- return [self _webkit_hasCaseInsensitivePrefix:@"javascript:"];
-}
-
-- (BOOL)_webkit_isFileURL
-{
- return [self rangeOfString:@"file:" options:(NSCaseInsensitiveSearch | NSAnchoredSearch)].location != NSNotFound;
-}
-
-- (NSString *)_webkit_stringByReplacingValidPercentEscapes
-{
- return decodeURLEscapeSequences(self);
-}
-
-- (NSString *)_webkit_scriptIfJavaScriptURL
-{
- if (![self _webkit_isJavaScriptURL]) {
- return nil;
- }
- return [[self substringFromIndex:11] _webkit_stringByReplacingValidPercentEscapes];
-}
-
-- (BOOL)_webkit_isFTPDirectoryURL
-{
- int length = [self length];
- if (length < 5) { // 5 is length of "ftp:/"
- return NO;
- }
- unichar lastChar = [self characterAtIndex:length - 1];
- return lastChar == '/' && [self _webkit_hasCaseInsensitivePrefix:@"ftp:"];
-}
-
-- (BOOL)_web_hostNameNeedsDecodingWithRange:(NSRange)range
-{
- return hostNameNeedsDecodingWithRange(self, range);
-}
-
-- (BOOL)_web_hostNameNeedsEncodingWithRange:(NSRange)range
-{
- return hostNameNeedsEncodingWithRange(self, range);
-}
-
-- (NSString *)_web_decodeHostNameWithRange:(NSRange)range
-{
- return decodeHostNameWithRange(self, range);
-}
-
-- (NSString *)_web_encodeHostNameWithRange:(NSRange)range
-{
- return encodeHostNameWithRange(self, range);
-}
-
-- (NSString *)_web_decodeHostName
-{
- return decodeHostName(self);
-}
-
-- (NSString *)_web_encodeHostName
-{
- return encodeHostName(self);
-}
-
--(NSRange)_webkit_rangeOfURLScheme
-{
- NSRange colon = [self rangeOfString:@":"];
- if (colon.location != NSNotFound && colon.location > 0) {
- NSRange scheme = {0, colon.location};
- static NSCharacterSet *InverseSchemeCharacterSet = nil;
- if (!InverseSchemeCharacterSet) {
- /*
- This stuff is very expensive. 10-15 msec on a 2x1.2GHz. If not cached it swamps
- everything else when adding items to the autocomplete DB. Makes me wonder if we
- even need to enforce the character set here.
- */
- NSString *acceptableCharacters = @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+.-";
- InverseSchemeCharacterSet = [[[NSCharacterSet characterSetWithCharactersInString:acceptableCharacters] invertedSet] retain];
- }
- NSRange illegals = [self rangeOfCharacterFromSet:InverseSchemeCharacterSet options:0 range:scheme];
- if (illegals.location == NSNotFound)
- return scheme;
- }
- return NSMakeRange(NSNotFound, 0);
-}
-
--(BOOL)_webkit_looksLikeAbsoluteURL
-{
- // Trim whitespace because _web_URLWithString allows whitespace.
- return [[self _webkit_stringByTrimmingWhitespace] _webkit_rangeOfURLScheme].location != NSNotFound;
-}
-
-- (NSString *)_webkit_URLFragment
-{
- NSRange fragmentRange;
-
- fragmentRange = [self rangeOfString:@"#" options:NSLiteralSearch];
- if (fragmentRange.location == NSNotFound)
- return nil;
- return [self substringFromIndex:fragmentRange.location + 1];
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSURLRequestExtras.h b/Source/WebKit/mac/Misc/WebNSURLRequestExtras.h
deleted file mode 100644
index 5dc30a2d8..000000000
--- a/Source/WebKit/mac/Misc/WebNSURLRequestExtras.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@interface NSURLRequest (WebNSURLRequestExtras)
-
-- (NSString *)_web_HTTPReferrer;
-- (NSString *)_web_HTTPContentType;
-- (BOOL)_web_isConditionalRequest;
-@end
-
-@interface NSMutableURLRequest (WebNSURLRequestExtras)
-
-- (void)_web_setHTTPContentType:(NSString *)contentType;
-- (void)_web_setHTTPReferrer:(NSString *)theReferrer;
-- (void)_web_setHTTPUserAgent:(NSString *)theUserAgent;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSURLRequestExtras.m b/Source/WebKit/mac/Misc/WebNSURLRequestExtras.m
deleted file mode 100644
index 770ff8f9b..000000000
--- a/Source/WebKit/mac/Misc/WebNSURLRequestExtras.m
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNSURLRequestExtras.h"
-
-#import "WebNSURLExtras.h"
-
-#define WebContentType (@"Content-Type")
-#define WebUserAgent (@"User-Agent")
-#define WebReferrer (@"Referer")
-
-@implementation NSURLRequest (WebNSURLRequestExtras)
-
-- (NSString *)_web_HTTPReferrer
-{
- return [self valueForHTTPHeaderField:WebReferrer];
-}
-
-- (NSString *)_web_HTTPContentType
-{
- return [self valueForHTTPHeaderField:WebContentType];
-}
-
-- (BOOL)_web_isConditionalRequest
-{
- if ([self valueForHTTPHeaderField:@"If-Match"] ||
- [self valueForHTTPHeaderField:@"If-Modified-Since"] ||
- [self valueForHTTPHeaderField:@"If-None-Match"] ||
- [self valueForHTTPHeaderField:@"If-Range"] ||
- [self valueForHTTPHeaderField:@"If-Unmodified-Since"])
- return YES;
- return NO;
-}
-
-@end
-
-@implementation NSMutableURLRequest (WebNSURLRequestExtras)
-
-- (void)_web_setHTTPContentType:(NSString *)contentType
-{
- [self setValue:contentType forHTTPHeaderField:WebContentType];
-}
-
-- (void)_web_setHTTPReferrer:(NSString *)referrer
-{
- // Do not set the referrer to a string that refers to a file URL.
- // That is a potential security hole.
- if ([referrer _webkit_isFileURL])
- return;
-
- // Don't allow empty Referer: headers; some servers refuse them
- if ([referrer length] == 0)
- return;
-
- [self setValue:referrer forHTTPHeaderField:WebReferrer];
-}
-
-- (void)_web_setHTTPUserAgent:(NSString *)userAgent
-{
- [self setValue:userAgent forHTTPHeaderField:WebUserAgent];
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSUserDefaultsExtras.h b/Source/WebKit/mac/Misc/WebNSUserDefaultsExtras.h
deleted file mode 100644
index 487fbc0f9..000000000
--- a/Source/WebKit/mac/Misc/WebNSUserDefaultsExtras.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@interface NSUserDefaults (WebNSUserDefaultsExtras)
-+ (NSString *)_webkit_preferredLanguageCode;
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSUserDefaultsExtras.mm b/Source/WebKit/mac/Misc/WebNSUserDefaultsExtras.mm
deleted file mode 100644
index a25593580..000000000
--- a/Source/WebKit/mac/Misc/WebNSUserDefaultsExtras.mm
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2005, 2010 Apple, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNSUserDefaultsExtras.h"
-
-#import <WebCore/Language.h>
-#import <wtf/text/WTFString.h>
-
-using namespace WebCore;
-
-@implementation NSUserDefaults (WebNSUserDefaultsExtras)
-
-+ (NSString *)_webkit_preferredLanguageCode
-{
- return defaultLanguage();
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSViewExtras.h b/Source/WebKit/mac/Misc/WebNSViewExtras.h
deleted file mode 100644
index a9c27178f..000000000
--- a/Source/WebKit/mac/Misc/WebNSViewExtras.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2005, 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <AppKit/AppKit.h>
-
-#define WebDragImageAlpha 0.75f
-
-@class DOMElement;
-@class WebFrameView;
-@class WebView;
-
-@interface NSView (WebExtras)
-
-// Returns the nearest enclosing view of the given class, or nil if none.
-- (NSView *)_web_superviewOfClass:(Class)viewClass;
-- (WebFrameView *)_web_parentWebFrameView;
-- (WebView *)_webView;
-
-// returns whether a drag should begin starting with mouseDownEvent; if the time
-// passes expiration or the mouse moves less than the hysteresis before the mouseUp event,
-// returns NO, else returns YES.
-- (BOOL)_web_dragShouldBeginFromMouseDown:(NSEvent *)mouseDownEvent
- withExpiration:(NSDate *)expiration
- xHysteresis:(float)xHysteresis
- yHysteresis:(float)yHysteresis;
-
-// Calls _web_dragShouldBeginFromMouseDown:withExpiration:xHysteresis:yHysteresis: with
-// the default values for xHysteresis and yHysteresis
-- (BOOL)_web_dragShouldBeginFromMouseDown:(NSEvent *)mouseDownEvent
- withExpiration:(NSDate *)expiration;
-
-// Convenience method. Returns NSDragOperationCopy if _web_bestURLFromPasteboard doesn't return nil.
-// Returns NSDragOperationNone otherwise.
-- (NSDragOperation)_web_dragOperationForDraggingInfo:(id <NSDraggingInfo>)sender;
-
-// Resizes and applies alpha to image and drags it.
-- (void)_web_DragImageForElement:(DOMElement *)element
- rect:(NSRect)rect
- event:(NSEvent *)event
- pasteboard:(NSPasteboard *)pasteboard
- source:(id)source
- offset:(NSPoint *)dragImageOffset;
-
-- (BOOL)_web_firstResponderIsSelfOrDescendantView;
-
-- (NSRect)_web_convertRect:(NSRect)aRect toView:(NSView *)aView;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSViewExtras.m b/Source/WebKit/mac/Misc/WebNSViewExtras.m
deleted file mode 100644
index 70ff68a6a..000000000
--- a/Source/WebKit/mac/Misc/WebNSViewExtras.m
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * Copyright (C) 2005, 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebNSViewExtras.h>
-
-#import <WebKit/DOMExtensions.h>
-#import <WebKit/WebDataSource.h>
-#import <WebKit/WebFramePrivate.h>
-#import <WebKit/WebFrameViewInternal.h>
-#import <WebKit/WebNSImageExtras.h>
-#import <WebKit/WebNSPasteboardExtras.h>
-#import <WebKit/WebNSURLExtras.h>
-#import <WebKit/WebView.h>
-
-#define WebDragStartHysteresisX 5.0f
-#define WebDragStartHysteresisY 5.0f
-#define WebMaxDragImageSize NSMakeSize(400.0f, 400.0f)
-#define WebMaxOriginalImageArea (1500.0f * 1500.0f)
-#define WebDragIconRightInset 7.0f
-#define WebDragIconBottomInset 3.0f
-
-@implementation NSView (WebExtras)
-
-- (NSView *)_web_superviewOfClass:(Class)class
-{
- NSView *view = [self superview];
- while (view && ![view isKindOfClass:class])
- view = [view superview];
- return view;
-}
-
-- (WebFrameView *)_web_parentWebFrameView
-{
- return (WebFrameView *)[self _web_superviewOfClass:[WebFrameView class]];
-}
-
-// FIXME: Mail is the only client of _webView, remove this method once no versions of Mail need it.
-- (WebView *)_webView
-{
- return (WebView *)[self _web_superviewOfClass:[WebView class]];
-}
-
-/* Determine whether a mouse down should turn into a drag; started as copy of NSTableView code */
-- (BOOL)_web_dragShouldBeginFromMouseDown:(NSEvent *)mouseDownEvent
- withExpiration:(NSDate *)expiration
- xHysteresis:(float)xHysteresis
- yHysteresis:(float)yHysteresis
-{
- NSEvent *nextEvent, *firstEvent, *dragEvent, *mouseUp;
- BOOL dragIt;
-
- if ([mouseDownEvent type] != NSLeftMouseDown) {
- return NO;
- }
-
- nextEvent = nil;
- firstEvent = nil;
- dragEvent = nil;
- mouseUp = nil;
- dragIt = NO;
-
- while ((nextEvent = [[self window] nextEventMatchingMask:(NSLeftMouseUpMask | NSLeftMouseDraggedMask)
- untilDate:expiration
- inMode:NSEventTrackingRunLoopMode
- dequeue:YES]) != nil) {
- if (firstEvent == nil) {
- firstEvent = nextEvent;
- }
-
- if ([nextEvent type] == NSLeftMouseDragged) {
- float deltax = ABS([nextEvent locationInWindow].x - [mouseDownEvent locationInWindow].x);
- float deltay = ABS([nextEvent locationInWindow].y - [mouseDownEvent locationInWindow].y);
- dragEvent = nextEvent;
-
- if (deltax >= xHysteresis) {
- dragIt = YES;
- break;
- }
-
- if (deltay >= yHysteresis) {
- dragIt = YES;
- break;
- }
- } else if ([nextEvent type] == NSLeftMouseUp) {
- mouseUp = nextEvent;
- break;
- }
- }
-
- // Since we've been dequeuing the events (If we don't, we'll never see the mouse up...),
- // we need to push some of the events back on. It makes sense to put the first and last
- // drag events and the mouse up if there was one.
- if (mouseUp != nil) {
- [NSApp postEvent:mouseUp atStart:YES];
- }
- if (dragEvent != nil) {
- [NSApp postEvent:dragEvent atStart:YES];
- }
- if (firstEvent != mouseUp && firstEvent != dragEvent) {
- [NSApp postEvent:firstEvent atStart:YES];
- }
-
- return dragIt;
-}
-
-- (BOOL)_web_dragShouldBeginFromMouseDown:(NSEvent *)mouseDownEvent
- withExpiration:(NSDate *)expiration
-{
- return [self _web_dragShouldBeginFromMouseDown:mouseDownEvent
- withExpiration:expiration
- xHysteresis:WebDragStartHysteresisX
- yHysteresis:WebDragStartHysteresisY];
-}
-
-
-- (NSDragOperation)_web_dragOperationForDraggingInfo:(id <NSDraggingInfo>)sender
-{
- if (![NSApp modalWindow] &&
- ![[self window] attachedSheet] &&
- [sender draggingSource] != self &&
- [[sender draggingPasteboard] _web_bestURL]) {
-
- return NSDragOperationCopy;
- }
-
- return NSDragOperationNone;
-}
-
-- (void)_web_DragImageForElement:(DOMElement *)element
- rect:(NSRect)rect
- event:(NSEvent *)event
- pasteboard:(NSPasteboard *)pasteboard
- source:(id)source
- offset:(NSPoint *)dragImageOffset
-{
- NSPoint mouseDownPoint = [self convertPoint:[event locationInWindow] fromView:nil];
- NSImage *dragImage;
- NSPoint origin;
-
- NSImage *image = [element image];
- if (image != nil && [image size].height * [image size].width <= WebMaxOriginalImageArea) {
- NSSize originalSize = rect.size;
- origin = rect.origin;
-
- dragImage = [[image copy] autorelease];
- [dragImage setScalesWhenResized:YES];
- [dragImage setSize:originalSize];
-
- [dragImage _web_scaleToMaxSize:WebMaxDragImageSize];
- NSSize newSize = [dragImage size];
-
- [dragImage _web_dissolveToFraction:WebDragImageAlpha];
-
- // Properly orient the drag image and orient it differently if it's smaller than the original
- origin.x = mouseDownPoint.x - (((mouseDownPoint.x - origin.x) / originalSize.width) * newSize.width);
- origin.y = origin.y + originalSize.height;
- origin.y = mouseDownPoint.y - (((mouseDownPoint.y - origin.y) / originalSize.height) * newSize.height);
- } else {
- // FIXME: This has been broken for a while.
- // There's no way to get the MIME type for the image from a DOM element.
- // The old code used WKGetPreferredExtensionForMIMEType([image MIMEType]);
- NSString *extension = @"";
- dragImage = [[NSWorkspace sharedWorkspace] iconForFileType:extension];
- NSSize offset = NSMakeSize([dragImage size].width - WebDragIconRightInset, -WebDragIconBottomInset);
- origin = NSMakePoint(mouseDownPoint.x - offset.width, mouseDownPoint.y - offset.height);
- }
-
- // This is the offset from the lower left corner of the image to the mouse location. Because we
- // are a flipped view the calculation of Y is inverted.
- if (dragImageOffset) {
- dragImageOffset->x = mouseDownPoint.x - origin.x;
- dragImageOffset->y = origin.y - mouseDownPoint.y;
- }
-
- // Per kwebster, offset arg is ignored
- [self dragImage:dragImage at:origin offset:NSZeroSize event:event pasteboard:pasteboard source:source slideBack:YES];
-}
-
-- (BOOL)_web_firstResponderIsSelfOrDescendantView
-{
- NSResponder *responder = [[self window] firstResponder];
- return (responder &&
- (responder == self ||
- ([responder isKindOfClass:[NSView class]] && [(NSView *)responder isDescendantOf:self])));
-}
-
-- (NSRect)_web_convertRect:(NSRect)aRect toView:(NSView *)aView
-{
- // Converting to this view's window; let -convertRect:toView: handle it
- if (aView == nil)
- return [self convertRect:aRect toView:nil];
-
- // This view must be in a window. Do whatever weird thing -convertRect:toView: does in this situation.
- NSWindow *thisWindow = [self window];
- if (!thisWindow)
- return [self convertRect:aRect toView:aView];
-
- // The other view must be in a window, too.
- NSWindow *otherWindow = [aView window];
- if (!otherWindow)
- return [self convertRect:aRect toView:aView];
-
- // Convert to this window's coordinates
- NSRect convertedRect = [self convertRect:aRect toView:nil];
-
- // Convert to screen coordinates
- convertedRect.origin = [thisWindow convertBaseToScreen:convertedRect.origin];
-
- // Convert to other window's coordinates
- convertedRect.origin = [otherWindow convertScreenToBase:convertedRect.origin];
-
- // Convert to other view's coordinates
- convertedRect = [aView convertRect:convertedRect fromView:nil];
-
- return convertedRect;
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSWindowExtras.h b/Source/WebKit/mac/Misc/WebNSWindowExtras.h
deleted file mode 100644
index e6e1b0146..000000000
--- a/Source/WebKit/mac/Misc/WebNSWindowExtras.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-@interface NSWindow (WebExtras)
-// centers "visually", putting 1/3 of the remaining space above, and 2/3 below
-- (void)centerOverMainWindow;
-- (void)makeResponder:(NSResponder *)responder firstResponderIfDescendantOfView:(NSView *)view;
-@end
diff --git a/Source/WebKit/mac/Misc/WebNSWindowExtras.m b/Source/WebKit/mac/Misc/WebNSWindowExtras.m
deleted file mode 100644
index fd21c24fc..000000000
--- a/Source/WebKit/mac/Misc/WebNSWindowExtras.m
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNSWindowExtras.h"
-
-@implementation NSWindow (WebExtras)
-
-- (void)centerOverMainWindow
-{
- NSRect frameToCenterOver;
- if ([NSApp mainWindow]) {
- frameToCenterOver = [[NSApp mainWindow] frame];
- } else {
- frameToCenterOver = [[NSScreen mainScreen] visibleFrame];
- }
-
- NSSize size = [self frame].size;
- NSPoint origin;
- origin.y = NSMaxY(frameToCenterOver)
- - (frameToCenterOver.size.height - size.height) / 3
- - size.height;
- origin.x = frameToCenterOver.origin.x
- + (frameToCenterOver.size.width - size.width) / 2;
- [self setFrameOrigin:origin];
-}
-
-- (void)makeResponder:(NSResponder *)responder firstResponderIfDescendantOfView:(NSView *)view
-{
- if ([responder isKindOfClass:[NSView class]] && [(id)responder isDescendantOf:view])
- [self makeFirstResponder:responder];
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebQuotaManager.h b/Source/WebKit/mac/Misc/WebQuotaManager.h
deleted file mode 100644
index 45074e4b8..000000000
--- a/Source/WebKit/mac/Misc/WebQuotaManager.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 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 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.
- */
-
-@class WebSecurityOrigin;
-
-/*!
- @protocol WebQuotaManager
- @discussion This protocol is used to view and manipulate a per-origin storage quota.
-*/
-@protocol WebQuotaManager
-
-/*!
- @method initWithOrigin:
- @param The security origin this will manage.
- @result A new WebQuotaManager object.
-*/
-- (id)initWithOrigin:(WebSecurityOrigin *)origin;
-
-/*!
- @method origin
- @result The security origin this manager is managing.
-*/
-- (WebSecurityOrigin *)origin;
-
-/*!
- @method usage
- @result The current total usage of all relevant items in this security origin in bytes.
-*/
-- (unsigned long long)usage;
-
-/*!
- @method quota
- @result The current quota of security origin in bytes.
-*/
-- (unsigned long long)quota;
-
-/*!
- @method setQuota:
- @param Sets a new quota, in bytes, on this security origin.
-*/
-- (void)setQuota:(unsigned long long)quota;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebStringTruncator.h b/Source/WebKit/mac/Misc/WebStringTruncator.h
deleted file mode 100644
index ed00d2770..000000000
--- a/Source/WebKit/mac/Misc/WebStringTruncator.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class NSFont;
-
-@interface WebStringTruncator : NSObject
-
-+ (NSString *)centerTruncateString:(NSString *)string toWidth:(float)maxWidth withFont:(NSFont *)font;
-
-// Default font is [NSFont menuFontOfSize:0].
-+ (NSString *)centerTruncateString:(NSString *)string toWidth:(float)maxWidth;
-
-+ (NSString *)rightTruncateString:(NSString *)string toWidth:(float)maxWidth withFont:(NSFont *)font;
-
-+ (float)widthOfString:(NSString *)string font:(NSFont *)font;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebStringTruncator.mm b/Source/WebKit/mac/Misc/WebStringTruncator.mm
deleted file mode 100644
index 345a2df71..000000000
--- a/Source/WebKit/mac/Misc/WebStringTruncator.mm
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (C) 2005, 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebStringTruncator.h"
-
-#import "WebSystemInterface.h"
-#import <WebCore/Font.h>
-#import <WebCore/FontCache.h>
-#import <WebCore/FontPlatformData.h>
-#import <WebCore/StringTruncator.h>
-#import <wtf/StdLibExtras.h>
-#import <wtf/text/WTFString.h>
-
-using namespace WebCore;
-
-static NSFont *defaultMenuFont()
-{
- static NSFont *defaultMenuFont = nil;
- if (!defaultMenuFont) {
- defaultMenuFont = [NSFont menuFontOfSize:0];
- CFRetain(defaultMenuFont);
- }
- return defaultMenuFont;
-}
-
-static Font& fontFromNSFont(NSFont *font)
-{
- static NSFont *currentFont;
- DEFINE_STATIC_LOCAL(Font, currentRenderer, ());
-
- if ([font isEqual:currentFont])
- return currentRenderer;
- if (currentFont)
- CFRelease(currentFont);
- currentFont = font;
- CFRetain(currentFont);
- FontPlatformData f(font, [font pointSize]);
- currentRenderer = Font(f, ![[NSGraphicsContext currentContext] isDrawingToScreen]);
- return currentRenderer;
-}
-
-@implementation WebStringTruncator
-
-+ (void)initialize
-{
- InitWebCoreSystemInterface();
-}
-
-+ (NSString *)centerTruncateString:(NSString *)string toWidth:(float)maxWidth
-{
- FontCachePurgePreventer fontCachePurgePreventer;
- return StringTruncator::centerTruncate(string, maxWidth, fontFromNSFont(defaultMenuFont()));
-}
-
-+ (NSString *)centerTruncateString:(NSString *)string toWidth:(float)maxWidth withFont:(NSFont *)font
-{
- FontCachePurgePreventer fontCachePurgePreventer;
- return StringTruncator::centerTruncate(string, maxWidth, fontFromNSFont(font));
-}
-
-+ (NSString *)rightTruncateString:(NSString *)string toWidth:(float)maxWidth withFont:(NSFont *)font
-{
- FontCachePurgePreventer fontCachePurgePreventer;
- return StringTruncator::rightTruncate(string, maxWidth, fontFromNSFont(font));
-}
-
-+ (float)widthOfString:(NSString *)string font:(NSFont *)font
-{
- FontCachePurgePreventer fontCachePurgePreventer;
- return StringTruncator::width(string, fontFromNSFont(font));
-}
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebTypesInternal.h b/Source/WebKit/mac/Misc/WebTypesInternal.h
deleted file mode 100644
index 4ef95e390..000000000
--- a/Source/WebKit/mac/Misc/WebTypesInternal.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-
-
diff --git a/Source/WebKit/mac/Misc/WebUserContentURLPattern.h b/Source/WebKit/mac/Misc/WebUserContentURLPattern.h
deleted file mode 100644
index e7ccac4a3..000000000
--- a/Source/WebKit/mac/Misc/WebUserContentURLPattern.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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.
- */
-
-@class WebUserContentURLPatternPrivate;
-
-@interface WebUserContentURLPattern : NSObject {
- WebUserContentURLPatternPrivate *_private;
-}
-
-- (id)initWithPatternString:(NSString *)patternString;
-
-- (BOOL)isValid;
-- (NSString *)scheme;
-- (NSString *)host;
-- (BOOL)matchesSubdomains;
-- (BOOL)matchesURL:(NSURL *)url;
-
-@end
diff --git a/Source/WebKit/mac/Misc/WebUserContentURLPattern.mm b/Source/WebKit/mac/Misc/WebUserContentURLPattern.mm
deleted file mode 100644
index 883f2e6ae..000000000
--- a/Source/WebKit/mac/Misc/WebUserContentURLPattern.mm
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebUserContentURLPattern.h"
-
-#import <WebCore/KURL.h>
-#import <WebCore/UserContentURLPattern.h>
-
-using namespace WebCore;
-
-@interface WebUserContentURLPatternPrivate : NSObject
-{
-@public
- UserContentURLPattern pattern;
-}
-@end
-
-@implementation WebUserContentURLPatternPrivate
-@end
-
-@implementation WebUserContentURLPattern
-
-- (id)initWithPatternString:(NSString *)patternString
-{
- self = [super init];
- if (!self)
- return nil;
-
- _private = [[WebUserContentURLPatternPrivate alloc] init];
- _private->pattern = UserContentURLPattern(patternString);
-
- return self;
-}
-
-- (void)dealloc
-{
- [_private release];
- _private = nil;
-
- [super dealloc];
-}
-
-- (BOOL)isValid
-{
- return _private->pattern.isValid();
-}
-
-- (NSString *)scheme
-{
- return _private->pattern.scheme();
-}
-
-- (NSString *)host
-{
- return _private->pattern.host();
-}
-
-- (BOOL)matchesSubdomains
-{
- return _private->pattern.matchSubdomains();
-}
-
-- (BOOL)matchesURL:(NSURL *)url
-{
- return _private->pattern.matches(url);
-}
-
-@end
diff --git a/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib b/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib
deleted file mode 100644
index ec2c72257..000000000
--- a/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib
+++ /dev/null
@@ -1,1335 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
- <data>
- <int key="IBDocument.SystemTarget">1050</int>
- <string key="IBDocument.SystemVersion">11C57</string>
- <string key="IBDocument.InterfaceBuilderVersion">1938</string>
- <string key="IBDocument.AppKitVersion">1138.21</string>
- <string key="IBDocument.HIToolboxVersion">567.00</string>
- <object class="NSMutableDictionary" key="IBDocument.PluginVersions">
- <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string key="NS.object.0">1938</string>
- </object>
- <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>NSTextField</string>
- <string>NSView</string>
- <string>NSWindowTemplate</string>
- <string>NSTextFieldCell</string>
- <string>NSButtonCell</string>
- <string>NSImageCell</string>
- <string>NSImageView</string>
- <string>NSButton</string>
- <string>NSCustomObject</string>
- </object>
- <object class="NSArray" key="IBDocument.PluginDependencies">
- <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">
- <string key="NSClassName">WebAuthenticationPanel</string>
- </object>
- <object class="NSCustomObject" id="729335755">
- <string key="NSClassName">FirstResponder</string>
- </object>
- <object class="NSCustomObject" id="239643893">
- <string key="NSClassName">NSApplication</string>
- </object>
- <object class="NSWindowTemplate" id="118512579">
- <int key="NSWindowStyleMask">1</int>
- <int key="NSWindowBacking">2</int>
- <string key="NSWindowRect">{{93, 97}, {424, 254}}</string>
- <int key="NSWTFlags">1886912512</int>
- <string key="NSWindowTitle">Log In</string>
- <string key="NSWindowClass">WebNonBlockingPanel</string>
- <object class="NSMutableString" key="NSViewClass">
- <characters key="NS.bytes">View</characters>
- </object>
- <nil key="NSUserInterfaceItemIdentifier"/>
- <object class="NSView" key="NSWindowView" id="327235052">
- <reference key="NSNextResponder"/>
- <int key="NSvFlags">256</int>
- <object class="NSMutableArray" key="NSSubviews">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSTextField" id="705333610">
- <reference key="NSNextResponder" ref="327235052"/>
- <int key="NSvFlags">266</int>
- <string key="NSFrame">{{101, 200}, {306, 34}}</string>
- <reference key="NSSuperview" ref="327235052"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="1000280557"/>
- <int key="NSTag">1</int>
- <bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="240004773">
- <int key="NSCellFlags">69336577</int>
- <int key="NSCellFlags2">4194304</int>
- <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">13</double>
- <int key="NSfFlags">1044</int>
- </object>
- <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">MC42NjY2NjY2NjY3AA</bytes>
- </object>
- </object>
- <object class="NSColor" key="NSTextColor" id="644083014">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">controlTextColor</string>
- <object class="NSColor" key="NSColor" id="170747205">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MAA</bytes>
- </object>
- </object>
- </object>
- </object>
- <object class="NSTextField" id="199018347">
- <reference key="NSNextResponder" ref="327235052"/>
- <int key="NSvFlags">290</int>
- <string key="NSFrame">{{101, 147}, {306, 20}}</string>
- <reference key="NSSuperview" ref="327235052"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="477300420"/>
- <int key="NSTag">2</int>
- <bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="213641065">
- <int key="NSCellFlags">69336577</int>
- <int key="NSCellFlags2">4194304</int>
- <string key="NSContents">Your password will be sent unencrypted.</string>
- <object class="NSFont" key="NSSupport">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">11</double>
- <int key="NSfFlags">3100</int>
- </object>
- <reference key="NSControlView" ref="199018347"/>
- <int key="NSTag">2</int>
- <reference key="NSBackgroundColor" ref="475108766"/>
- <reference key="NSTextColor" ref="644083014"/>
- </object>
- </object>
- <object class="NSButton" id="305175176">
- <reference key="NSNextResponder" ref="327235052"/>
- <int key="NSvFlags">289</int>
- <string key="NSFrame">{{326, 12}, {84, 32}}</string>
- <reference key="NSSuperview" ref="327235052"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="568224179">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">137887744</int>
- <string key="NSContents">Log In</string>
- <reference key="NSSupport" ref="897649771"/>
- <reference key="NSControlView" ref="305175176"/>
- <int key="NSButtonFlags">-2038284033</int>
- <int key="NSButtonFlags2">1</int>
- <object class="NSFont" key="NSAlternateImage" id="784044296">
- <string key="NSName">Helvetica</string>
- <double key="NSSize">13</double>
- <int key="NSfFlags">16</int>
- </object>
- <string key="NSAlternateContents"/>
- <string type="base64-UTF8" key="NSKeyEquivalent">DQ</string>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
- </object>
- </object>
- <object class="NSButton" id="494193237">
- <reference key="NSNextResponder" ref="327235052"/>
- <int key="NSvFlags">289</int>
- <string key="NSFrame">{{242, 12}, {84, 32}}</string>
- <reference key="NSSuperview" ref="327235052"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="305175176"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="55525334">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">137887744</int>
- <string key="NSContents">Cancel</string>
- <reference key="NSSupport" ref="897649771"/>
- <reference key="NSControlView" ref="494193237"/>
- <int key="NSButtonFlags">-2038284033</int>
- <int key="NSButtonFlags2">1</int>
- <reference key="NSAlternateImage" ref="784044296"/>
- <string key="NSAlternateContents"/>
- <string type="base64-UTF8" key="NSKeyEquivalent">Gw</string>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
- </object>
- </object>
- <object class="NSTextField" id="71972597">
- <reference key="NSNextResponder" ref="327235052"/>
- <int key="NSvFlags">290</int>
- <string key="NSFrame">{{174, 117}, {230, 22}}</string>
- <reference key="NSSuperview" ref="327235052"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="833115728"/>
- <int key="NSTag">3</int>
- <bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="439646453">
- <int key="NSCellFlags">-1804468671</int>
- <int key="NSCellFlags2">4195328</int>
- <string key="NSContents"/>
- <reference key="NSSupport" ref="897649771"/>
- <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>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">textBackgroundColor</string>
- <object class="NSColor" key="NSColor">
- <int key="NSColorSpace">3</int>
- <bytes key="NSWhite">MQA</bytes>
- </object>
- </object>
- <object class="NSColor" key="NSTextColor" id="577315227">
- <int key="NSColorSpace">6</int>
- <string key="NSCatalogName">System</string>
- <string key="NSColorName">textColor</string>
- <reference key="NSColor" ref="170747205"/>
- </object>
- </object>
- </object>
- <object class="NSTextField" id="368270689">
- <reference key="NSNextResponder" ref="327235052"/>
- <int key="NSvFlags">290</int>
- <string key="NSFrame">{{174, 87}, {230, 22}}</string>
- <reference key="NSSuperview" ref="327235052"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="657854151"/>
- <int key="NSTag">4</int>
- <bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="743913118">
- <int key="NSCellFlags">-1804468671</int>
- <int key="NSCellFlags2">4195328</int>
- <string key="NSContents"/>
- <reference key="NSSupport" ref="897649771"/>
- <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"/>
- </object>
- </object>
- <object class="NSTextField" id="477300420">
- <reference key="NSNextResponder" ref="327235052"/>
- <int key="NSvFlags">292</int>
- <string key="NSFrame">{{101, 119}, {68, 17}}</string>
- <reference key="NSSuperview" ref="327235052"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="71972597"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="159596654">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">4194304</int>
- <string key="NSContents">Name:</string>
- <reference key="NSSupport" ref="897649771"/>
- <reference key="NSControlView" ref="477300420"/>
- <reference key="NSBackgroundColor" ref="475108766"/>
- <reference key="NSTextColor" ref="644083014"/>
- </object>
- </object>
- <object class="NSTextField" id="833115728">
- <reference key="NSNextResponder" ref="327235052"/>
- <int key="NSvFlags">292</int>
- <string key="NSFrame">{{101, 89}, {68, 17}}</string>
- <reference key="NSSuperview" ref="327235052"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="368270689"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSTextFieldCell" key="NSCell" id="766878508">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">4194304</int>
- <string key="NSContents">Password:</string>
- <reference key="NSSupport" ref="897649771"/>
- <reference key="NSControlView" ref="833115728"/>
- <reference key="NSBackgroundColor" ref="475108766"/>
- <reference key="NSTextColor" ref="644083014"/>
- </object>
- </object>
- <object class="NSImageView" id="285173040">
- <reference key="NSNextResponder" ref="327235052"/>
- <int key="NSvFlags">268</int>
- <object class="NSMutableSet" key="NSDragTypes">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="set.sortedObjects">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>Apple PDF pasteboard type</string>
- <string>Apple PICT pasteboard type</string>
- <string>Apple PNG pasteboard type</string>
- <string>NSFilenamesPboardType</string>
- <string>NeXT Encapsulated PostScript v1.2 pasteboard type</string>
- <string>NeXT TIFF v4.0 pasteboard type</string>
- </object>
- </object>
- <string key="NSFrame">{{20, 170}, {64, 64}}</string>
- <reference key="NSSuperview" ref="327235052"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="705333610"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSImageCell" key="NSCell" id="375502905">
- <int key="NSCellFlags">130560</int>
- <int key="NSCellFlags2">33554432</int>
- <int key="NSAlign">0</int>
- <int key="NSScale">0</int>
- <int key="NSStyle">0</int>
- <bool key="NSAnimates">NO</bool>
- </object>
- <bool key="NSEditable">YES</bool>
- </object>
- <object class="NSButton" id="657854151">
- <reference key="NSNextResponder" ref="327235052"/>
- <int key="NSvFlags">292</int>
- <string key="NSFrame">{{102, 58}, {280, 18}}</string>
- <reference key="NSSuperview" ref="327235052"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="494193237"/>
- <bool key="NSEnabled">YES</bool>
- <object class="NSButtonCell" key="NSCell" id="358614001">
- <int key="NSCellFlags">67239424</int>
- <int key="NSCellFlags2">0</int>
- <string key="NSContents">Remember this password in my keychain</string>
- <reference key="NSSupport" ref="897649771"/>
- <reference key="NSControlView" ref="657854151"/>
- <int key="NSButtonFlags">1211912703</int>
- <int key="NSButtonFlags2">2</int>
- <object class="NSButtonImageSource" key="NSAlternateImage">
- <string key="NSImageName">NSSwitch</string>
- </object>
- <string key="NSAlternateContents"/>
- <string key="NSKeyEquivalent"/>
- <int key="NSPeriodicDelay">200</int>
- <int key="NSPeriodicInterval">25</int>
- </object>
- </object>
- <object class="NSTextField" id="1000280557">
- <reference key="NSNextResponder" ref="327235052"/>
- <int key="NSvFlags">290</int>
- <string key="NSFrame">{{113, 175}, {282, 17}}</string>
- <reference key="NSSuperview" ref="327235052"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="199018347"/>
- <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 key="NSContents">&lt;-- do not localize; will contain realm name --&gt;</string>
- <object class="NSFont" key="NSSupport">
- <string key="NSName">LucidaGrande</string>
- <double key="NSSize">11</double>
- <int key="NSfFlags">16</int>
- </object>
- <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, 254}</string>
- <reference key="NSSuperview"/>
- <reference key="NSWindow"/>
- <reference key="NSNextKeyView" ref="285173040"/>
- </object>
- <string key="NSScreenRect">{{0, 0}, {2560, 1418}}</string>
- <string key="NSMaxSize">{10000000000000, 10000000000000}</string>
- <string key="NSFrameAutosaveName">Authentication Panel</string>
- <bool key="NSWindowIsRestorable">YES</bool>
- </object>
- </object>
- <object class="IBObjectContainer" key="IBDocument.Objects">
- <object class="NSMutableArray" key="connectionRecords">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">panel</string>
- <reference key="source" ref="238662661"/>
- <reference key="destination" ref="118512579"/>
- </object>
- <int key="connectionID">27</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">username</string>
- <reference key="source" ref="238662661"/>
- <reference key="destination" ref="71972597"/>
- </object>
- <int key="connectionID">28</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">password</string>
- <reference key="source" ref="238662661"/>
- <reference key="destination" ref="368270689"/>
- </object>
- <int key="connectionID">29</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">logIn:</string>
- <reference key="source" ref="238662661"/>
- <reference key="destination" ref="305175176"/>
- </object>
- <int key="connectionID">30</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBActionConnection" key="connection">
- <string key="label">cancel:</string>
- <reference key="source" ref="238662661"/>
- <reference key="destination" ref="494193237"/>
- </object>
- <int key="connectionID">31</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">mainLabel</string>
- <reference key="source" ref="238662661"/>
- <reference key="destination" ref="705333610"/>
- </object>
- <int key="connectionID">34</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">smallLabel</string>
- <reference key="source" ref="238662661"/>
- <reference key="destination" ref="199018347"/>
- </object>
- <int key="connectionID">35</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">imageView</string>
- <reference key="source" ref="238662661"/>
- <reference key="destination" ref="285173040"/>
- </object>
- <int key="connectionID">38</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">remember</string>
- <reference key="source" ref="238662661"/>
- <reference key="destination" ref="657854151"/>
- </object>
- <int key="connectionID">40</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">separateRealmLabel</string>
- <reference key="source" ref="238662661"/>
- <reference key="destination" ref="1000280557"/>
- </object>
- <int key="connectionID">100057</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">initialFirstResponder</string>
- <reference key="source" ref="118512579"/>
- <reference key="destination" ref="71972597"/>
- </object>
- <int key="connectionID">26</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
- <reference key="source" ref="705333610"/>
- <reference key="destination" ref="1000280557"/>
- </object>
- <int key="connectionID">100058</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
- <reference key="source" ref="199018347"/>
- <reference key="destination" ref="477300420"/>
- </object>
- <int key="connectionID">100060</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
- <reference key="source" ref="305175176"/>
- <reference key="destination" ref="705333610"/>
- </object>
- <int key="connectionID">100067</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
- <reference key="source" ref="494193237"/>
- <reference key="destination" ref="305175176"/>
- </object>
- <int key="connectionID">100066</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
- <reference key="source" ref="71972597"/>
- <reference key="destination" ref="833115728"/>
- </object>
- <int key="connectionID">100062</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
- <reference key="source" ref="368270689"/>
- <reference key="destination" ref="657854151"/>
- </object>
- <int key="connectionID">100064</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
- <reference key="source" ref="477300420"/>
- <reference key="destination" ref="71972597"/>
- </object>
- <int key="connectionID">100061</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
- <reference key="source" ref="833115728"/>
- <reference key="destination" ref="368270689"/>
- </object>
- <int key="connectionID">100063</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
- <reference key="source" ref="657854151"/>
- <reference key="destination" ref="494193237"/>
- </object>
- <int key="connectionID">100065</int>
- </object>
- <object class="IBConnectionRecord">
- <object class="IBOutletConnection" key="connection">
- <string key="label">nextKeyView</string>
- <reference key="source" ref="1000280557"/>
- <reference key="destination" ref="199018347"/>
- </object>
- <int key="connectionID">100059</int>
- </object>
- </object>
- <object class="IBMutableOrderedSet" key="objectRecords">
- <object class="NSArray" key="orderedObjects">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBObjectRecord">
- <int key="objectID">0</int>
- <object class="NSArray" key="object" id="498544300">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
- <reference key="children" ref="563121920"/>
- <nil key="parent"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-2</int>
- <reference key="object" ref="238662661"/>
- <reference key="parent" ref="498544300"/>
- <string key="objectName">File's Owner</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-1</int>
- <reference key="object" ref="729335755"/>
- <reference key="parent" ref="498544300"/>
- <string key="objectName">First Responder</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">-3</int>
- <reference key="object" ref="239643893"/>
- <reference key="parent" ref="498544300"/>
- <string key="objectName">Application</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">5</int>
- <reference key="object" ref="118512579"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="327235052"/>
- </object>
- <reference key="parent" ref="498544300"/>
- <string key="objectName">Panel</string>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">6</int>
- <reference key="object" ref="327235052"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="305175176"/>
- <reference ref="494193237"/>
- <reference ref="71972597"/>
- <reference ref="368270689"/>
- <reference ref="477300420"/>
- <reference ref="833115728"/>
- <reference ref="285173040"/>
- <reference ref="657854151"/>
- <reference ref="705333610"/>
- <reference ref="199018347"/>
- <reference ref="1000280557"/>
- </object>
- <reference key="parent" ref="118512579"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">10</int>
- <reference key="object" ref="705333610"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="240004773"/>
- </object>
- <reference key="parent" ref="327235052"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">11</int>
- <reference key="object" ref="199018347"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="213641065"/>
- </object>
- <reference key="parent" ref="327235052"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">12</int>
- <reference key="object" ref="305175176"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="568224179"/>
- </object>
- <reference key="parent" ref="327235052"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">13</int>
- <reference key="object" ref="494193237"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="55525334"/>
- </object>
- <reference key="parent" ref="327235052"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">14</int>
- <reference key="object" ref="71972597"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="439646453"/>
- </object>
- <reference key="parent" ref="327235052"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">15</int>
- <reference key="object" ref="368270689"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="743913118"/>
- </object>
- <reference key="parent" ref="327235052"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">16</int>
- <reference key="object" ref="477300420"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="159596654"/>
- </object>
- <reference key="parent" ref="327235052"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">17</int>
- <reference key="object" ref="833115728"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="766878508"/>
- </object>
- <reference key="parent" ref="327235052"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">19</int>
- <reference key="object" ref="285173040"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="375502905"/>
- </object>
- <reference key="parent" ref="327235052"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">39</int>
- <reference key="object" ref="657854151"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="358614001"/>
- </object>
- <reference key="parent" ref="327235052"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100010</int>
- <reference key="object" ref="240004773"/>
- <reference key="parent" ref="705333610"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100011</int>
- <reference key="object" ref="213641065"/>
- <reference key="parent" ref="199018347"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100012</int>
- <reference key="object" ref="568224179"/>
- <reference key="parent" ref="305175176"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100013</int>
- <reference key="object" ref="55525334"/>
- <reference key="parent" ref="494193237"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100014</int>
- <reference key="object" ref="439646453"/>
- <reference key="parent" ref="71972597"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100015</int>
- <reference key="object" ref="743913118"/>
- <reference key="parent" ref="368270689"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100016</int>
- <reference key="object" ref="159596654"/>
- <reference key="parent" ref="477300420"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100017</int>
- <reference key="object" ref="766878508"/>
- <reference key="parent" ref="833115728"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100019</int>
- <reference key="object" ref="375502905"/>
- <reference key="parent" ref="285173040"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100039</int>
- <reference key="object" ref="358614001"/>
- <reference key="parent" ref="657854151"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100047</int>
- <reference key="object" ref="1000280557"/>
- <object class="NSMutableArray" key="children">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference ref="96725843"/>
- </object>
- <reference key="parent" ref="327235052"/>
- </object>
- <object class="IBObjectRecord">
- <int key="objectID">100050</int>
- <reference key="object" ref="96725843"/>
- <reference key="parent" ref="1000280557"/>
- </object>
- </object>
- </object>
- <object class="NSMutableDictionary" key="flattenedProperties">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>-1.IBPluginDependency</string>
- <string>-2.IBPluginDependency</string>
- <string>-3.IBPluginDependency</string>
- <string>10.IBPluginDependency</string>
- <string>100010.IBPluginDependency</string>
- <string>100011.IBPluginDependency</string>
- <string>100012.IBPluginDependency</string>
- <string>100013.IBPluginDependency</string>
- <string>100014.IBPluginDependency</string>
- <string>100015.IBPluginDependency</string>
- <string>100016.IBPluginDependency</string>
- <string>100017.IBPluginDependency</string>
- <string>100019.IBPluginDependency</string>
- <string>100039.IBPluginDependency</string>
- <string>100047.IBPluginDependency</string>
- <string>100050.IBPluginDependency</string>
- <string>11.IBPluginDependency</string>
- <string>12.IBPluginDependency</string>
- <string>13.IBPluginDependency</string>
- <string>14.IBPluginDependency</string>
- <string>15.CustomClassName</string>
- <string>15.IBPluginDependency</string>
- <string>16.IBPluginDependency</string>
- <string>17.IBPluginDependency</string>
- <string>19.IBPluginDependency</string>
- <string>39.IBPluginDependency</string>
- <string>5.IBPluginDependency</string>
- <string>5.IBWindowTemplateEditedContentRect</string>
- <string>6.IBPluginDependency</string>
- </object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>NSSecureTextField</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- <string>{{288, 843}, {424, 254}}</string>
- <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
- </object>
- </object>
- <object class="NSMutableDictionary" key="unlocalizedProperties">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference key="dict.sortedKeys" ref="498544300"/>
- <reference key="dict.values" ref="498544300"/>
- </object>
- <nil key="activeLocalization"/>
- <object class="NSMutableDictionary" key="localizations">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <reference key="dict.sortedKeys" ref="498544300"/>
- <reference key="dict.values" ref="498544300"/>
- </object>
- <nil key="sourceID"/>
- <int key="maxID">100067</int>
- </object>
- <object class="IBClassDescriber" key="IBDocument.Classes">
- <object class="NSMutableArray" key="referencedPartialClassDescriptions">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="NSMutableDictionary" key="actions">
- <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>
- <string>WebView</string>
- <string>WebView</string>
- <string>WebView</string>
- <string>WebView</string>
- <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">./Classes/NSObject.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">WebAuthenticationPanel</string>
- <string key="superclassName">NSObject</string>
- <object class="NSMutableDictionary" key="actions">
- <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>
- <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>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="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>
- <string>id</string>
- <string>id</string>
- <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>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/WebAuthenticationPanel.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">WebNonBlockingPanel</string>
- <string key="superclassName">NSPanel</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/WebNonBlockingPanel.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">WebView</string>
- <object class="NSMutableDictionary" key="actions">
- <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>
- <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>moveToBeginningOfSentence:</string>
- <string>moveToBeginningOfSentenceAndModifySelection:</string>
- <string>moveToEndOfSentence:</string>
- <string>moveToEndOfSentenceAndModifySelection:</string>
- <string>outdent:</string>
- <string>paste:</string>
- <string>pasteAsPlainText:</string>
- <string>pasteAsRichText:</string>
- <string>pasteFont:</string>
- <string>performFindPanelAction:</string>
- <string>reloadFromOrigin:</string>
- <string>resetPageZoom:</string>
- <string>selectSentence:</string>
- <string>showGuessPanel:</string>
- <string>startSpeaking:</string>
- <string>stopSpeaking:</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>
- <string>NSMenuItem</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <string>id</string>
- <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>_openFrameInNewWindowFromMenu:</string>
- <string>_searchWithGoogleFromMenu:</string>
- <string>_searchWithSpotlightFromMenu:</string>
- <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>moveToBeginningOfSentence:</string>
- <string>moveToBeginningOfSentenceAndModifySelection:</string>
- <string>moveToEndOfSentence:</string>
- <string>moveToEndOfSentenceAndModifySelection:</string>
- <string>outdent:</string>
- <string>paste:</string>
- <string>pasteAsPlainText:</string>
- <string>pasteAsRichText:</string>
- <string>pasteFont:</string>
- <string>performFindPanelAction:</string>
- <string>reloadFromOrigin:</string>
- <string>resetPageZoom:</string>
- <string>selectSentence:</string>
- <string>showGuessPanel:</string>
- <string>startSpeaking:</string>
- <string>stopSpeaking:</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">_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 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">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">outdent:</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">reloadFromOrigin:</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">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">stopSpeaking:</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>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">./Classes/WebView.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>
- <int key="IBDocument.defaultPropertyAccessControl">3</int>
- </data>
-</archive>
diff --git a/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib b/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib
deleted file mode 100644
index d6d591baf..000000000
--- a/Source/WebKit/mac/Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/mac/Panels/WebAuthenticationPanel.h b/Source/WebKit/mac/Panels/WebAuthenticationPanel.h
deleted file mode 100644
index 8f04f17c5..000000000
--- a/Source/WebKit/mac/Panels/WebAuthenticationPanel.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-#import <Foundation/NSURLCredentialStorage.h>
-
-@class NSURLAuthenticationChallenge;
-
-@interface WebAuthenticationPanel : NSObject
-{
- IBOutlet NSTextField *mainLabel;
- IBOutlet NSPanel *panel;
- IBOutlet NSTextField *password;
- IBOutlet NSTextField *smallLabel;
- IBOutlet NSTextField *username;
- IBOutlet NSImageView *imageView;
- IBOutlet NSButton *remember;
- IBOutlet NSTextField *separateRealmLabel;
- BOOL nibLoaded;
- BOOL usingSheet;
- id callback;
- SEL selector;
- NSURLAuthenticationChallenge *challenge;
-}
-
--(id)initWithCallback:(id)cb selector:(SEL)sel;
-
-// Interface-related methods
-- (IBAction)cancel:(id)sender;
-- (IBAction)logIn:(id)sender;
-
-- (BOOL)loadNib;
-
-- (void)runAsModalDialogWithChallenge:(NSURLAuthenticationChallenge *)chall;
-- (void)runAsSheetOnWindow:(NSWindow *)window withChallenge:(NSURLAuthenticationChallenge *)chall;
-
-- (void)sheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo;
-
-@end
-
-// This is in the header so it can be used from the nib file
-@interface WebNonBlockingPanel : NSPanel
-@end
-
diff --git a/Source/WebKit/mac/Panels/WebAuthenticationPanel.m b/Source/WebKit/mac/Panels/WebAuthenticationPanel.m
deleted file mode 100644
index 3dada58f9..000000000
--- a/Source/WebKit/mac/Panels/WebAuthenticationPanel.m
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebAuthenticationPanel.h>
-
-#import "WebLocalizableStringsInternal.h"
-#import <Foundation/NSURLAuthenticationChallenge.h>
-#import <Foundation/NSURLProtectionSpace.h>
-#import <Foundation/NSURLCredential.h>
-#import <WebKit/WebKitNSStringExtras.h>
-#import <WebKit/WebNSURLExtras.h>
-#import <wtf/Assertions.h>
-
-#import <WebKit/WebNSControlExtras.h>
-
-#define WebAuthenticationPanelNibName @"WebAuthenticationPanel"
-
-@implementation WebAuthenticationPanel
-
--(id)initWithCallback:(id)cb selector:(SEL)sel
-{
- self = [self init];
- if (self != nil) {
- callback = [cb retain];
- selector = sel;
- }
- return self;
-}
-
-
-- (void)dealloc
-{
- [panel release];
-
- [callback release];
-
- [super dealloc];
-}
-
-// IB actions
-
-- (IBAction)cancel:(id)sender
-{
- // This is required because the body of this method is going to
- // remove all of the panel's remaining refs, which can cause a
- // crash later when finishing button hit tracking. So we make
- // sure it lives on a bit longer.
- [[panel retain] autorelease];
-
- // This is required as a workaround for AppKit issue 4118422
- [[self retain] autorelease];
-
- [panel close];
- if (usingSheet) {
- [[NSApplication sharedApplication] endSheet:panel returnCode:1];
- } else {
- [[NSApplication sharedApplication] stopModalWithCode:1];
- }
-}
-
-- (IBAction)logIn:(id)sender
-{
- // This is required because the body of this method is going to
- // remove all of the panel's remaining refs, which can cause a
- // crash later when finishing button hit tracking. So we make
- // sure it lives on a bit longer.
- [[panel retain] autorelease];
-
- [panel close];
- if (usingSheet) {
- [[NSApplication sharedApplication] endSheet:panel returnCode:0];
- } else {
- [[NSApplication sharedApplication] stopModalWithCode:0];
- }
-}
-
-- (BOOL)loadNib
-{
- if (!nibLoaded) {
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- if ([NSBundle loadNibNamed:WebAuthenticationPanelNibName owner:self]) {
-#pragma clang diagnostic pop
- nibLoaded = YES;
- [imageView setImage:[NSImage imageNamed:@"NSApplicationIcon"]];
- } else {
- LOG_ERROR("couldn't load nib named '%@'", WebAuthenticationPanelNibName);
- return FALSE;
- }
- }
- return TRUE;
-}
-
-// Methods related to displaying the panel
-
--(void)setUpForChallenge:(NSURLAuthenticationChallenge *)chall
-{
- [self loadNib];
-
- NSURLProtectionSpace *space = [chall protectionSpace];
-
- NSString *host;
- if ([space port] == 0) {
- host = [[space host] _web_decodeHostName];
- } else {
- host = [NSString stringWithFormat:@"%@:%ld", [[space host] _web_decodeHostName], (long)[space port]];
- }
-
- 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.
- // If the realm name is determined to be complex, we will use a slightly different sheet layout, designed
- // to keep a malicious realm name from spoofing the wording in the sheet text.
- BOOL realmNameIsSimple = [realm rangeOfCharacterFromSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]].location == NSNotFound;
-
- if ([chall previousFailureCount] == 0) {
- if ([space isProxy]) {
- message = [NSString stringWithFormat:UI_STRING_INTERNAL("To view this page, you must log in to the %@ proxy server %@.",
- "prompt string in authentication panel"),
- [space proxyType], host];
- } else {
- if (realmNameIsSimple)
- message = [NSString stringWithFormat:UI_STRING_INTERNAL("To view this page, you must log in to area “%@” on %@.",
- "prompt string in authentication panel"), realm, host];
- else
- message = [NSString stringWithFormat:UI_STRING_INTERNAL("To view this page, you must log in to this area on %@:",
- "prompt string in authentication panel"), host];
- }
- } else {
- if ([space isProxy]) {
- message = [NSString stringWithFormat:UI_STRING_INTERNAL("The user name or password you entered for the %@ proxy server %@ was incorrect. Make sure you’re entering them correctly, and then try again.",
- "prompt string in authentication panel"),
- [space proxyType], host];
- } else {
- if (realmNameIsSimple)
- message = [NSString stringWithFormat:UI_STRING_INTERNAL("The user name or password you entered for area “%@” on %@ was incorrect. Make sure you’re entering them correctly, and then try again.",
- "prompt string in authentication panel"), realm, host];
- else
- message = [NSString stringWithFormat:UI_STRING_INTERNAL("The user name or password you entered for this area on %@ was incorrect. Make sure you’re entering them correctly, and then try again.",
- "prompt string in authentication panel"), host];
- }
- }
-
- if (![space isProxy] && !realmNameIsSimple) {
- [separateRealmLabel setHidden:NO];
- [separateRealmLabel setStringValue:realm];
- [separateRealmLabel setAutoresizingMask:NSViewMinYMargin];
- [separateRealmLabel sizeToFitAndAdjustWindowHeight];
- [separateRealmLabel setAutoresizingMask:NSViewMaxYMargin];
- } else {
- // In the proxy or "simple" realm name case, we need to hide the 'separateRealmLabel'
- // and move the rest of the contents up appropriately to fill the space.
- NSRect mainLabelFrame = [mainLabel frame];
- NSRect realmFrame = [separateRealmLabel frame];
- NSRect smallLabelFrame = [smallLabel frame];
-
- // Find the distance between the 'smallLabel' and the label above it, initially the 'separateRealmLabel'.
- // Then, find the current distance between 'smallLabel' and 'mainLabel'. The difference between
- // these two is how much shorter the panel needs to be after hiding the 'separateRealmLabel'.
- CGFloat smallLabelMargin = NSMinY(realmFrame) - NSMaxY(smallLabelFrame);
- CGFloat smallLabelToMainLabel = NSMinY(mainLabelFrame) - NSMaxY(smallLabelFrame);
- CGFloat deltaMargin = smallLabelToMainLabel - smallLabelMargin;
-
- [separateRealmLabel setHidden:YES];
- NSRect windowFrame = [panel frame];
- windowFrame.size.height -= deltaMargin;
- [panel setFrame:windowFrame display:NO];
- }
-
- [mainLabel setStringValue:message];
- [mainLabel sizeToFitAndAdjustWindowHeight];
-
- if ([space receivesCredentialSecurely] || [[space protocol] _webkit_isCaseInsensitiveEqualToString:@"https"]) {
- [smallLabel setStringValue:
- UI_STRING_INTERNAL("Your login information will be sent securely.",
- "message in authentication panel")];
- } else {
- // Use this scary-sounding phrase only when using basic auth with non-https servers. In this case the password
- // could be sniffed by intercepting the network traffic.
- [smallLabel setStringValue:
- UI_STRING_INTERNAL("Your password will be sent unencrypted.",
- "message in authentication panel")];
- }
-
- if ([[chall proposedCredential] user] != nil) {
- [username setStringValue:[[chall proposedCredential] user]];
- [panel setInitialFirstResponder:password];
- } else {
- [username setStringValue:@""];
- [password setStringValue:@""];
- [panel setInitialFirstResponder:username];
- }
-}
-
-- (void)runAsModalDialogWithChallenge:(NSURLAuthenticationChallenge *)chall
-{
- [self setUpForChallenge:chall];
-
- usingSheet = FALSE;
- [chall retain];
- NSURLCredential *credential = nil;
-
- if ([[NSApplication sharedApplication] runModalForWindow:panel] == 0) {
- credential = [[NSURLCredential alloc] initWithUser:[username stringValue] password:[password stringValue] persistence:([remember state] == NSOnState) ? NSURLCredentialPersistencePermanent : NSURLCredentialPersistenceForSession];
- }
-
- [callback performSelector:selector withObject:chall withObject:credential];
- [credential release];
- [chall release];
-}
-
-- (void)runAsSheetOnWindow:(NSWindow *)window withChallenge:(NSURLAuthenticationChallenge *)chall
-{
- ASSERT(!usingSheet);
-
- [self setUpForChallenge:chall];
-
- usingSheet = TRUE;
- challenge = [chall retain];
-
- [[NSApplication sharedApplication] beginSheet:panel modalForWindow:window modalDelegate:self didEndSelector:@selector(sheetDidEnd:returnCode:contextInfo:) contextInfo:NULL];
-}
-
-- (void)sheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
-{
- NSURLCredential *credential = nil;
- NSURLAuthenticationChallenge *chall;
-
- ASSERT(usingSheet);
- ASSERT(challenge != nil);
-
- if (returnCode == 0) {
- credential = [[NSURLCredential alloc] initWithUser:[username stringValue] password:[password stringValue] persistence:([remember state] == NSOnState) ? NSURLCredentialPersistencePermanent : NSURLCredentialPersistenceForSession];
- }
-
- // We take this tricky approach to nilling out and releasing the challenge
- // because the callback below might remove our last ref.
- chall = challenge;
- challenge = nil;
- [callback performSelector:selector withObject:chall withObject:credential];
- [credential release];
- [chall release];
-}
-
-@end
-
-@implementation WebNonBlockingPanel
-
-- (BOOL)_blocksActionWhenModal:(SEL)theAction
-{
- // This override of a private AppKit method allows the user to quit when a login dialog
- // is onscreen, which is nice in general but in particular prevents pathological cases
- // like 3744583 from requiring a Force Quit.
- //
- // It would be nice to allow closing the individual window as well as quitting the app when
- // a login sheet is up, but this _blocksActionWhenModal: mechanism doesn't support that.
- // This override matches those in NSOpenPanel and NSToolbarConfigPanel.
- if (theAction == @selector(terminate:)) {
- return NO;
- }
- return YES;
-}
-
-@end
diff --git a/Source/WebKit/mac/Panels/WebPanelAuthenticationHandler.h b/Source/WebKit/mac/Panels/WebPanelAuthenticationHandler.h
deleted file mode 100644
index d54a0862b..000000000
--- a/Source/WebKit/mac/Panels/WebPanelAuthenticationHandler.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-#import <Foundation/NSURLCredentialStorage.h>
-
-@class NSURLAuthenticationChallenge;
-
-@interface WebPanelAuthenticationHandler : NSObject
-{
- NSMapTable *windowToPanel;
- NSMapTable *challengeToWindow;
- NSMapTable *windowToChallengeQueue;
-}
-
-+ (id)sharedHandler;
-- (void)startAuthentication:(NSURLAuthenticationChallenge *)challenge window:(NSWindow *)w;
-- (void)cancelAuthentication:(NSURLAuthenticationChallenge *)challenge;
-
-@end
diff --git a/Source/WebKit/mac/Panels/WebPanelAuthenticationHandler.m b/Source/WebKit/mac/Panels/WebPanelAuthenticationHandler.m
deleted file mode 100644
index ea255f08d..000000000
--- a/Source/WebKit/mac/Panels/WebPanelAuthenticationHandler.m
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebPanelAuthenticationHandler.h>
-
-#import <Foundation/NSURLAuthenticationChallenge.h>
-#import <WebKit/WebAuthenticationPanel.h>
-#import <wtf/Assertions.h>
-
-static NSString *WebModalDialogPretendWindow = @"WebModalDialogPretendWindow";
-
-@implementation WebPanelAuthenticationHandler
-
-WebPanelAuthenticationHandler *sharedHandler;
-
-+ (id)sharedHandler
-{
- if (sharedHandler == nil)
- sharedHandler = [[self alloc] init];
- return sharedHandler;
-}
-
--(id)init
-{
- self = [super init];
- if (self != nil) {
- windowToPanel = [[NSMapTable alloc] initWithKeyOptions:NSPointerFunctionsStrongMemory valueOptions:NSPointerFunctionsStrongMemory capacity:0];
- challengeToWindow = [[NSMapTable alloc] initWithKeyOptions:NSPointerFunctionsStrongMemory valueOptions:NSPointerFunctionsStrongMemory capacity:0];
- windowToChallengeQueue = [[NSMapTable alloc] initWithKeyOptions:NSPointerFunctionsStrongMemory valueOptions:NSPointerFunctionsStrongMemory capacity:0];
- }
-
- return self;
-}
-
--(void)dealloc
-{
- [windowToPanel release];
- [challengeToWindow release];
- [windowToChallengeQueue release];
- [super dealloc];
-}
-
--(void)enqueueChallenge:(NSURLAuthenticationChallenge *)challenge forWindow:(id)window
-{
- NSMutableArray *queue = [windowToChallengeQueue objectForKey:window];
- if (!queue) {
- queue = [[NSMutableArray alloc] init];
- [windowToChallengeQueue setObject:queue forKey:window];
- [queue release];
- }
- [queue addObject:challenge];
-}
-
--(void)tryNextChallengeForWindow:(id)window
-{
- NSMutableArray *queue = [windowToChallengeQueue objectForKey:window];
- if (!queue)
- return;
-
- NSURLAuthenticationChallenge *challenge = [[queue objectAtIndex:0] retain];
- [queue removeObjectAtIndex:0];
- if (![queue count])
- [windowToChallengeQueue removeObjectForKey:window];
-
- NSURLCredential *latestCredential = [[NSURLCredentialStorage sharedCredentialStorage] defaultCredentialForProtectionSpace:[challenge protectionSpace]];
-
- if ([latestCredential hasPassword]) {
- [[challenge sender] useCredential:latestCredential forAuthenticationChallenge:challenge];
- [challenge release];
- return;
- }
-
- [self startAuthentication:challenge window:(window == WebModalDialogPretendWindow ? nil : window)];
- [challenge release];
-}
-
-
--(void)startAuthentication:(NSURLAuthenticationChallenge *)challenge window:(NSWindow *)w
-{
- id window = w ? (id)w : (id)WebModalDialogPretendWindow;
-
- if ([windowToPanel objectForKey:window] != nil) {
- [self enqueueChallenge:challenge forWindow:window];
- return;
- }
-
- // In this case, we have an attached sheet that's not one of our
- // authentication panels, so enqueing is not an option. Just
- // cancel loading instead, since this case is fairly
- // unlikely (how would you be loading a page if you had an error
- // sheet up?)
- if ([w attachedSheet] != nil) {
- [[challenge sender] cancelAuthenticationChallenge:challenge];
- return;
- }
-
- WebAuthenticationPanel *panel = [[WebAuthenticationPanel alloc] initWithCallback:self selector:@selector(_authenticationDoneWithChallenge:result:)];
- [challengeToWindow setObject:window forKey:challenge];
- [windowToPanel setObject:panel forKey:window];
- [panel release];
-
- if (window == WebModalDialogPretendWindow)
- [panel runAsModalDialogWithChallenge:challenge];
- else
- [panel runAsSheetOnWindow:window withChallenge:challenge];
-}
-
--(void)cancelAuthentication:(NSURLAuthenticationChallenge *)challenge
-{
- id window = [challengeToWindow objectForKey:challenge];
- if (!window)
- return;
-
- WebAuthenticationPanel *panel = [windowToPanel objectForKey:window];
- [panel cancel:self];
-}
-
--(void)_authenticationDoneWithChallenge:(NSURLAuthenticationChallenge *)challenge result:(NSURLCredential *)credential
-{
- id window = [challengeToWindow objectForKey:challenge];
- [window retain];
- if (window != nil) {
- [windowToPanel removeObjectForKey:window];
- [challengeToWindow removeObjectForKey:challenge];
- }
-
- if (credential == nil) {
- [[challenge sender] continueWithoutCredentialForAuthenticationChallenge:challenge];
- } else {
- [[challenge sender] useCredential:credential forAuthenticationChallenge:challenge];
- }
-
- [self tryNextChallengeForWindow:window];
- [window release];
-}
-
-@end
diff --git a/Source/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.h b/Source/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.h
deleted file mode 100644
index a338029e3..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS)
-
-#ifndef HostedNetscapePluginStream_h
-#define HostedNetscapePluginStream_h
-
-#include <WebCore/NetscapePlugInStreamLoader.h>
-#include <WebKit/npapi.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/RefPtr.h>
-#include <wtf/RetainPtr.h>
-
-namespace WebCore {
- class FrameLoader;
- class NetscapePlugInStreamLoader;
-}
-
-namespace WebKit {
-
-class NetscapePluginInstanceProxy;
-
-class HostedNetscapePluginStream : public RefCounted<HostedNetscapePluginStream>
- , private WebCore::NetscapePlugInStreamLoaderClient {
-public:
- static PassRefPtr<HostedNetscapePluginStream> create(NetscapePluginInstanceProxy* instance, uint32_t streamID, NSURLRequest *request)
- {
- return adoptRef(new HostedNetscapePluginStream(instance, streamID, request));
- }
- static PassRefPtr<HostedNetscapePluginStream> create(NetscapePluginInstanceProxy* instance, WebCore::FrameLoader* frameLoader)
- {
- return adoptRef(new HostedNetscapePluginStream(instance, frameLoader));
- }
-
- ~HostedNetscapePluginStream();
-
- uint32_t streamID() const { return m_streamID; }
-
- void startStreamWithResponse(NSURLResponse *response);
- void didReceiveData(WebCore::NetscapePlugInStreamLoader*, const char* bytes, int length);
- void didFinishLoading(WebCore::NetscapePlugInStreamLoader*);
- void didFail(WebCore::NetscapePlugInStreamLoader*, const WebCore::ResourceError&);
-
- void start();
- void stop();
-
- void cancelLoad(NPReason reason);
-
- static NPReason reasonForError(NSError* error);
-
-private:
- NSError *errorForReason(NPReason) const;
- void cancelLoad(NSError *);
-
- HostedNetscapePluginStream(NetscapePluginInstanceProxy*, uint32_t streamID, NSURLRequest *);
- HostedNetscapePluginStream(NetscapePluginInstanceProxy*, WebCore::FrameLoader*);
-
- void startStream(NSURL *, long long expectedContentLength, NSDate *lastModifiedDate, NSString *mimeType, NSData *headers);
-
- NSError *pluginCancelledConnectionError() const;
-
- // NetscapePlugInStreamLoaderClient methods.
- void didReceiveResponse(WebCore::NetscapePlugInStreamLoader*, const WebCore::ResourceResponse&);
- bool wantsAllStreams() const;
-
- RefPtr<NetscapePluginInstanceProxy> m_instance;
- uint32_t m_streamID;
- RetainPtr<NSMutableURLRequest> m_request;
-
- RetainPtr<NSURL> m_requestURL;
- RetainPtr<NSURL> m_responseURL;
- RetainPtr<NSString> m_mimeType;
-
- WebCore::FrameLoader* m_frameLoader;
- RefPtr<WebCore::NetscapePlugInStreamLoader> m_loader;
-};
-
-}
-
-#endif // HostedNetscapePluginStream_h
-#endif // USE(PLUGIN_HOST_PROCESS)
diff --git a/Source/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.mm b/Source/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.mm
deleted file mode 100644
index 0a7a57e20..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/HostedNetscapePluginStream.mm
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
-
-#import "HostedNetscapePluginStream.h"
-
-#import "NetscapePluginHostProxy.h"
-#import "NetscapePluginInstanceProxy.h"
-#import "WebFrameInternal.h"
-#import "WebHostedNetscapePluginView.h"
-#import "WebKitErrorsPrivate.h"
-#import "WebKitPluginHost.h"
-#import "WebKitSystemInterface.h"
-#import "WebNSURLExtras.h"
-#import "WebNSURLRequestExtras.h"
-#import <WebCore/Document.h>
-#import <WebCore/DocumentLoader.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/ResourceLoadScheduler.h>
-#import <WebCore/SecurityOrigin.h>
-#import <WebCore/SecurityPolicy.h>
-#import <WebCore/WebCoreURLResponse.h>
-#import <wtf/RefCountedLeakCounter.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, hostedNetscapePluginStreamCounter, ("HostedNetscapePluginStream"));
-
-HostedNetscapePluginStream::HostedNetscapePluginStream(NetscapePluginInstanceProxy* instance, uint32_t streamID, NSURLRequest *request)
- : m_instance(instance)
- , m_streamID(streamID)
- , m_request(adoptNS([request mutableCopy]))
- , m_requestURL([request URL])
- , m_frameLoader(0)
-{
- String referrer = SecurityPolicy::generateReferrerHeader(core([instance->pluginView() webFrame])->document()->referrerPolicy(), [request URL], core([instance->pluginView() webFrame])->loader()->outgoingReferrer());
- if (referrer.isEmpty())
- [m_request.get() _web_setHTTPReferrer:nil];
- else
- [m_request.get() _web_setHTTPReferrer:referrer];
-
-#ifndef NDEBUG
- hostedNetscapePluginStreamCounter.increment();
-#endif
-}
-
-HostedNetscapePluginStream::HostedNetscapePluginStream(NetscapePluginInstanceProxy* instance, WebCore::FrameLoader* frameLoader)
- : m_instance(instance)
- , m_streamID(1)
- , m_frameLoader(frameLoader)
-{
-#ifndef NDEBUG
- hostedNetscapePluginStreamCounter.increment();
-#endif
-}
-
-HostedNetscapePluginStream::~HostedNetscapePluginStream()
-{
-#ifndef NDEBUG
- hostedNetscapePluginStreamCounter.decrement();
-#endif
-}
-
-void HostedNetscapePluginStream::startStreamWithResponse(NSURLResponse *response)
-{
- didReceiveResponse(0, response);
-}
-
-void HostedNetscapePluginStream::startStream(NSURL *responseURL, long long expectedContentLength, NSDate *lastModifiedDate, NSString *mimeType, NSData *headers)
-{
- m_responseURL = responseURL;
- m_mimeType = mimeType;
-
- char* mimeTypeUTF8 = const_cast<char*>([mimeType UTF8String]);
- int mimeTypeUTF8Length = mimeTypeUTF8 ? strlen (mimeTypeUTF8) + 1 : 0;
-
- const char *url = [responseURL _web_URLCString];
- int urlLength = url ? strlen(url) + 1 : 0;
-
- _WKPHStartStream(m_instance->hostProxy()->port(),
- m_instance->pluginID(),
- m_streamID,
- const_cast<char*>(url), urlLength,
- expectedContentLength,
- [lastModifiedDate timeIntervalSince1970],
- mimeTypeUTF8, mimeTypeUTF8Length,
- const_cast<char*>(reinterpret_cast<const char*>([headers bytes])), [headers length]);
-}
-
-void HostedNetscapePluginStream::didReceiveData(WebCore::NetscapePlugInStreamLoader*, const char* bytes, int length)
-{
- _WKPHStreamDidReceiveData(m_instance->hostProxy()->port(),
- m_instance->pluginID(),
- m_streamID,
- const_cast<char*>(bytes), length);
-}
-
-void HostedNetscapePluginStream::didFinishLoading(WebCore::NetscapePlugInStreamLoader*)
-{
- _WKPHStreamDidFinishLoading(m_instance->hostProxy()->port(),
- m_instance->pluginID(),
- m_streamID);
- m_instance->disconnectStream(this);
-}
-
-void HostedNetscapePluginStream::didReceiveResponse(NetscapePlugInStreamLoader*, const ResourceResponse& response)
-{
- NSURLResponse *r = response.nsURLResponse();
-
- NSMutableData *theHeaders = nil;
- long long expectedContentLength = [r expectedContentLength];
-
- if ([r isKindOfClass:[NSHTTPURLResponse class]]) {
- NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)r;
- theHeaders = [NSMutableData dataWithCapacity:1024];
-
- // FIXME: it would be nice to be able to get the raw HTTP header block.
- // This includes the HTTP version, the real status text,
- // all headers in their original order and including duplicates,
- // and all original bytes verbatim, rather than sent through Unicode translation.
- // Unfortunately NSHTTPURLResponse doesn't provide access at that low a level.
-
- [theHeaders appendBytes:"HTTP " length:5];
- char statusStr[10];
- long statusCode = [httpResponse statusCode];
- snprintf(statusStr, sizeof(statusStr), "%ld", statusCode);
- [theHeaders appendBytes:statusStr length:strlen(statusStr)];
- [theHeaders appendBytes:" OK\n" length:4];
-
- // HACK: pass the headers through as UTF-8.
- // This is not the intended behavior; we're supposed to pass original bytes verbatim.
- // But we don't have the original bytes, we have NSStrings built by the URL loading system.
- // It hopefully shouldn't matter, since RFC2616/RFC822 require ASCII-only headers,
- // but surely someone out there is using non-ASCII characters, and hopefully UTF-8 is adequate here.
- // It seems better than NSASCIIStringEncoding, which will lose information if non-ASCII is used.
-
- NSDictionary *headerDict = [httpResponse allHeaderFields];
- NSArray *keys = [[headerDict allKeys] sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
- NSEnumerator *i = [keys objectEnumerator];
- NSString *k;
- while ((k = [i nextObject]) != nil) {
- NSString *v = [headerDict objectForKey:k];
- [theHeaders appendData:[k dataUsingEncoding:NSUTF8StringEncoding]];
- [theHeaders appendBytes:": " length:2];
- [theHeaders appendData:[v dataUsingEncoding:NSUTF8StringEncoding]];
- [theHeaders appendBytes:"\n" length:1];
- }
-
- // If the content is encoded (most likely compressed), then don't send its length to the plugin,
- // which is only interested in the decoded length, not yet known at the moment.
- // <rdar://problem/4470599> tracks a request for -[NSURLResponse expectedContentLength] to incorporate this logic.
- NSString *contentEncoding = (NSString *)[[(NSHTTPURLResponse *)r allHeaderFields] objectForKey:@"Content-Encoding"];
- if (contentEncoding && ![contentEncoding isEqualToString:@"identity"])
- expectedContentLength = -1;
-
- [theHeaders appendBytes:"\0" length:1];
- }
-
- startStream([r URL], expectedContentLength, WKGetNSURLResponseLastModifiedDate(r), [r MIMEType], theHeaders);
-}
-
-NPReason HostedNetscapePluginStream::reasonForError(NSError *error)
-{
- if (!error)
- return NPRES_DONE;
-
- if ([[error domain] isEqualToString:NSURLErrorDomain] && [error code] == NSURLErrorCancelled)
- return NPRES_USER_BREAK;
-
- return NPRES_NETWORK_ERR;
-}
-
-void HostedNetscapePluginStream::didFail(WebCore::NetscapePlugInStreamLoader*, const WebCore::ResourceError& error)
-{
- if (NetscapePluginHostProxy* hostProxy = m_instance->hostProxy())
- _WKPHStreamDidFail(hostProxy->port(), m_instance->pluginID(), m_streamID, reasonForError(error));
- m_instance->disconnectStream(this);
-}
-
-bool HostedNetscapePluginStream::wantsAllStreams() const
-{
- // FIXME: Implement.
- return false;
-}
-
-void HostedNetscapePluginStream::start()
-{
- ASSERT(m_request);
- ASSERT(!m_frameLoader);
- ASSERT(!m_loader);
-
- m_loader = resourceLoadScheduler()->schedulePluginStreamLoad(core([m_instance->pluginView() webFrame]), this, m_request.get());
-}
-
-void HostedNetscapePluginStream::stop()
-{
- ASSERT(!m_frameLoader);
-
- if (!m_loader->isDone())
- m_loader->cancel(m_loader->cancelledError());
-}
-
-void HostedNetscapePluginStream::cancelLoad(NPReason reason)
-{
- cancelLoad(errorForReason(reason));
-}
-
-void HostedNetscapePluginStream::cancelLoad(NSError *error)
-{
- if (m_frameLoader) {
- ASSERT(!m_loader);
-
- DocumentLoader* documentLoader = m_frameLoader->activeDocumentLoader();
- if (documentLoader && documentLoader->isLoadingMainResource())
- documentLoader->cancelMainResourceLoad(error);
- return;
- }
-
- if (!m_loader->isDone()) {
- // Cancelling the load will disconnect the stream so there's no need to do it explicitly.
- m_loader->cancel(error);
- } else
- m_instance->disconnectStream(this);
-}
-
-NSError *HostedNetscapePluginStream::pluginCancelledConnectionError() const
-{
- return [[[NSError alloc] _initWithPluginErrorCode:WebKitErrorPlugInCancelledConnection
- contentURL:m_responseURL ? m_responseURL.get() : m_requestURL.get()
- pluginPageURL:nil
- pluginName:[[m_instance->pluginView() pluginPackage] pluginInfo].name
- MIMEType:m_mimeType.get()] autorelease];
-}
-
-NSError *HostedNetscapePluginStream::errorForReason(NPReason reason) const
-{
- if (reason == NPRES_DONE)
- return nil;
-
- if (reason == NPRES_USER_BREAK)
- return [NSError _webKitErrorWithDomain:NSURLErrorDomain
- code:NSURLErrorCancelled
- URL:m_responseURL ? m_responseURL.get() : m_requestURL.get()];
-
- return pluginCancelledConnectionError();
-}
-
-} // namespace WebKit
-
-#endif // USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
-
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h
deleted file mode 100644
index a97712f72..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS)
-
-#ifndef NetscapePluginHostManager_h
-#define NetscapePluginHostManager_h
-
-#import <wtf/HashMap.h>
-#import <wtf/PassRefPtr.h>
-#import <wtf/text/StringHash.h>
-#import <wtf/text/WTFString.h>
-
-@class WebHostedNetscapePluginView;
-
-namespace WebKit {
-
-class NetscapePluginInstanceProxy;
-class NetscapePluginHostProxy;
-
-class NetscapePluginHostManager {
-public:
- static NetscapePluginHostManager& shared();
-
- PassRefPtr<NetscapePluginInstanceProxy> instantiatePlugin(const String& pluginPath, cpu_type_t pluginArchitecture, const String& bundleIdentifier, WebHostedNetscapePluginView *, NSString *mimeType, NSArray *attributeKeys, NSArray *attributeValues, NSString *userAgent, NSURL *sourceURL, bool fullFrame, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled);
-
- void pluginHostDied(NetscapePluginHostProxy*);
-
- void createPropertyListFile(const String& pluginPath, cpu_type_t pluginArchitecture, const String& bundleIdentifier);
-
- void didCreateWindow();
-
-private:
- NetscapePluginHostProxy* hostForPlugin(const String& pluginPath, cpu_type_t pluginArchitecture, const String& bundleIdentifier);
-
- NetscapePluginHostManager();
- ~NetscapePluginHostManager();
-
- bool spawnPluginHost(const String& pluginPath, cpu_type_t pluginArchitecture, mach_port_t clientPort, mach_port_t& pluginHostPort, ProcessSerialNumber& pluginHostPSN);
-
- bool initializeVendorPort();
-
- mach_port_t m_pluginVendorPort;
-
- // FIXME: This should really be a HashMap of RetainPtrs, but that doesn't work right now.
- typedef HashMap<String, NetscapePluginHostProxy*> PluginHostMap;
- PluginHostMap m_pluginHosts;
-};
-
-} // namespace WebKit
-
-#endif // NetscapePluginHostManager_h
-#endif // USE(PLUGIN_HOST_PROCESS)
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.mm b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.mm
deleted file mode 100644
index fbda79949..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.mm
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
-
-#import "NetscapePluginHostManager.h"
-
-#import "NetscapePluginHostProxy.h"
-#import "NetscapePluginInstanceProxy.h"
-#import "WebLocalizableStringsInternal.h"
-#import "WebKitSystemInterface.h"
-#import "WebNetscapePluginPackage.h"
-#import <mach/mach_port.h>
-#import <servers/bootstrap.h>
-#import <spawn.h>
-#import <wtf/Assertions.h>
-#import <wtf/RetainPtr.h>
-#import <wtf/StdLibExtras.h>
-
-extern "C" {
-#import "WebKitPluginAgent.h"
-#import "WebKitPluginHost.h"
-}
-
-using namespace WebCore;
-
-namespace WebKit {
-
-NetscapePluginHostManager& NetscapePluginHostManager::shared()
-{
- DEFINE_STATIC_LOCAL(NetscapePluginHostManager, pluginHostManager, ());
-
- return pluginHostManager;
-}
-
-static NSString * const pluginHostAppName = @"WebKitPluginHost.app";
-
-NetscapePluginHostManager::NetscapePluginHostManager()
- : m_pluginVendorPort(MACH_PORT_NULL)
-{
-}
-
-NetscapePluginHostManager::~NetscapePluginHostManager()
-{
-}
-
-NetscapePluginHostProxy* NetscapePluginHostManager::hostForPlugin(const WTF::String& pluginPath, cpu_type_t pluginArchitecture, const String& bundleIdentifier)
-{
- PluginHostMap::AddResult result = m_pluginHosts.add(pluginPath, 0);
-
- // The package was already in the map, just return it.
- if (!result.isNewEntry)
- return result.iterator->value;
-
- mach_port_t clientPort;
- if (mach_port_allocate(mach_task_self(), MACH_PORT_RIGHT_RECEIVE, &clientPort) != KERN_SUCCESS) {
- m_pluginHosts.remove(result.iterator);
- return 0;
- }
-
- mach_port_t pluginHostPort;
- ProcessSerialNumber pluginHostPSN;
- if (!spawnPluginHost(pluginPath, pluginArchitecture, clientPort, pluginHostPort, pluginHostPSN)) {
- mach_port_destroy(mach_task_self(), clientPort);
- m_pluginHosts.remove(result.iterator);
- return 0;
- }
-
- // Since Flash NPObjects add methods dynamically, we don't want to cache when a property/method doesn't exist
- // on an object because it could be added later.
- bool shouldCacheMissingPropertiesAndMethods = bundleIdentifier != "com.macromedia.Flash Player.plugin";
-
- NetscapePluginHostProxy* hostProxy = new NetscapePluginHostProxy(clientPort, pluginHostPort, pluginHostPSN, shouldCacheMissingPropertiesAndMethods);
-
- result.iterator->value = hostProxy;
-
- return hostProxy;
-}
-
-bool NetscapePluginHostManager::spawnPluginHost(const String& pluginPath, cpu_type_t pluginArchitecture, mach_port_t clientPort, mach_port_t& pluginHostPort, ProcessSerialNumber& pluginHostPSN)
-{
- if (m_pluginVendorPort == MACH_PORT_NULL) {
- if (!initializeVendorPort())
- return false;
- }
-
- mach_port_t renderServerPort = WKInitializeRenderServer();
- if (renderServerPort == MACH_PORT_NULL)
- return false;
-
- NSString *pluginHostAppPath = [[NSBundle bundleWithIdentifier:@"com.apple.WebKit"] pathForAuxiliaryExecutable:pluginHostAppName];
- NSString *pluginHostAppExecutablePath = [[NSBundle bundleWithPath:pluginHostAppPath] executablePath];
-
- RetainPtr<CFStringRef> localization = adoptCF(WKCopyCFLocalizationPreferredName(NULL));
-
- NSDictionary *launchProperties = [[NSDictionary alloc] initWithObjectsAndKeys:
- pluginHostAppExecutablePath, @"pluginHostPath",
- [NSNumber numberWithInt:pluginArchitecture], @"cpuType",
- (NSString *)localization.get(), @"localization",
- nil];
-
- NSData *data = [NSPropertyListSerialization dataFromPropertyList:launchProperties format:NSPropertyListBinaryFormat_v1_0 errorDescription:0];
- ASSERT(data);
-
- [launchProperties release];
-
- kern_return_t kr = _WKPASpawnPluginHost(m_pluginVendorPort, reinterpret_cast<uint8_t*>(const_cast<void*>([data bytes])), [data length], &pluginHostPort);
-
- if (kr == MACH_SEND_INVALID_DEST) {
- // The plug-in vendor port has gone away for some reason. Try to reinitialize it.
- m_pluginVendorPort = MACH_PORT_NULL;
- if (!initializeVendorPort())
- return false;
-
- // And spawn the plug-in host again.
- kr = _WKPASpawnPluginHost(m_pluginVendorPort, reinterpret_cast<uint8_t*>(const_cast<void*>([data bytes])), [data length], &pluginHostPort);
- }
-
- if (kr != KERN_SUCCESS) {
- // FIXME: Check for invalid dest and try to re-spawn the plug-in agent.
- LOG_ERROR("Failed to spawn plug-in host, error %x", kr);
- return false;
- }
-
- NSString *visibleName = [NSString stringWithFormat:UI_STRING_INTERNAL("%@ (%@ Internet plug-in)",
- "visible name of the plug-in host process. The first argument is the plug-in name "
- "and the second argument is the application name."),
- [[(NSString*)pluginPath lastPathComponent] stringByDeletingPathExtension], [[NSProcessInfo processInfo] processName]];
-
- NSDictionary *hostProperties = [[NSDictionary alloc] initWithObjectsAndKeys:
- visibleName, @"visibleName",
- (NSString *)pluginPath, @"bundlePath",
- nil];
-
- data = [NSPropertyListSerialization dataFromPropertyList:hostProperties format:NSPropertyListBinaryFormat_v1_0 errorDescription:nil];
- ASSERT(data);
-
- [hostProperties release];
-
- ProcessSerialNumber psn;
-
-#if COMPILER(CLANG)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-#endif
- GetCurrentProcess(&psn);
-#if COMPILER(CLANG)
-#pragma clang diagnostic pop
-#endif
-
- kr = _WKPHCheckInWithPluginHost(pluginHostPort, (uint8_t*)[data bytes], [data length], clientPort, psn.highLongOfPSN, psn.lowLongOfPSN, renderServerPort,
- &pluginHostPSN.highLongOfPSN, &pluginHostPSN.lowLongOfPSN);
-
- if (kr != KERN_SUCCESS) {
- mach_port_deallocate(mach_task_self(), pluginHostPort);
- LOG_ERROR("Failed to check in with plug-in host, error %x", kr);
-
- return false;
- }
-
- return true;
-}
-
-bool NetscapePluginHostManager::initializeVendorPort()
-{
- ASSERT(m_pluginVendorPort == MACH_PORT_NULL);
-
- // Get the plug-in agent port.
- mach_port_t pluginAgentPort;
- if (bootstrap_look_up(bootstrap_port, "com.apple.WebKit.PluginAgent", &pluginAgentPort) != KERN_SUCCESS) {
- LOG_ERROR("Failed to look up the plug-in agent port");
- return false;
- }
-
- NSData *appNameData = [[[NSProcessInfo processInfo] processName] dataUsingEncoding:NSUTF8StringEncoding];
-
- // Tell the plug-in agent that we exist.
- if (_WKPACheckInApplication(pluginAgentPort, (uint8_t*)[appNameData bytes], [appNameData length], &m_pluginVendorPort) != KERN_SUCCESS)
- return false;
-
- // FIXME: Should we add a notification for when the vendor port dies?
-
- return true;
-}
-
-void NetscapePluginHostManager::pluginHostDied(NetscapePluginHostProxy* pluginHost)
-{
- PluginHostMap::iterator end = m_pluginHosts.end();
-
- // This has O(n) complexity but the number of active plug-in hosts is very small so it shouldn't matter.
- for (PluginHostMap::iterator it = m_pluginHosts.begin(); it != end; ++it) {
- if (it->value == pluginHost) {
- m_pluginHosts.remove(it);
- return;
- }
- }
-}
-
-PassRefPtr<NetscapePluginInstanceProxy> NetscapePluginHostManager::instantiatePlugin(const String& pluginPath, cpu_type_t pluginArchitecture, const String& bundleIdentifier, WebHostedNetscapePluginView *pluginView, NSString *mimeType, NSArray *attributeKeys, NSArray *attributeValues, NSString *userAgent, NSURL *sourceURL, bool fullFrame, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled)
-{
- NetscapePluginHostProxy* hostProxy = hostForPlugin(pluginPath, pluginArchitecture, bundleIdentifier);
- if (!hostProxy)
- return 0;
-
- RetainPtr<NSMutableDictionary> properties = adoptNS([[NSMutableDictionary alloc] init]);
-
- if (mimeType)
- [properties.get() setObject:mimeType forKey:@"mimeType"];
-
- ASSERT_ARG(userAgent, userAgent);
- [properties.get() setObject:userAgent forKey:@"userAgent"];
-
- ASSERT_ARG(attributeKeys, attributeKeys);
- [properties.get() setObject:attributeKeys forKey:@"attributeKeys"];
-
- ASSERT_ARG(attributeValues, attributeValues);
- [properties.get() setObject:attributeValues forKey:@"attributeValues"];
-
- if (sourceURL)
- [properties.get() setObject:[sourceURL absoluteString] forKey:@"sourceURL"];
-
- [properties.get() setObject:[NSNumber numberWithBool:fullFrame] forKey:@"fullFrame"];
- [properties.get() setObject:[NSNumber numberWithBool:isPrivateBrowsingEnabled] forKey:@"privateBrowsingEnabled"];
- [properties.get() setObject:[NSNumber numberWithBool:isAcceleratedCompositingEnabled] forKey:@"acceleratedCompositingEnabled"];
-
- NSData *data = [NSPropertyListSerialization dataFromPropertyList:properties.get() format:NSPropertyListBinaryFormat_v1_0 errorDescription:nil];
- ASSERT(data);
-
- RefPtr<NetscapePluginInstanceProxy> instance = NetscapePluginInstanceProxy::create(hostProxy, pluginView, fullFrame);
- uint32_t requestID = instance->nextRequestID();
- kern_return_t kr = _WKPHInstantiatePlugin(hostProxy->port(), requestID, (uint8_t*)[data bytes], [data length], instance->pluginID());
- if (kr == MACH_SEND_INVALID_DEST) {
- // Invalidate the instance.
- instance->invalidate();
-
- // The plug-in host must have died, but we haven't received the death notification yet.
- pluginHostDied(hostProxy);
-
- // Try to spawn it again.
- hostProxy = hostForPlugin(pluginPath, pluginArchitecture, bundleIdentifier);
-
- // Create a new instance.
- instance = NetscapePluginInstanceProxy::create(hostProxy, pluginView, fullFrame);
- requestID = instance->nextRequestID();
- _WKPHInstantiatePlugin(hostProxy->port(), requestID, (uint8_t*)[data bytes], [data length], instance->pluginID());
- }
-
- std::auto_ptr<NetscapePluginInstanceProxy::InstantiatePluginReply> reply = instance->waitForReply<NetscapePluginInstanceProxy::InstantiatePluginReply>(requestID);
- if (!reply.get() || reply->m_resultCode != KERN_SUCCESS) {
- instance->cleanup();
- return 0;
- }
-
- instance->setRenderContextID(reply->m_renderContextID);
- instance->setRendererType(reply->m_rendererType);
-
- return instance.release();
-}
-
-void NetscapePluginHostManager::createPropertyListFile(const String& pluginPath, cpu_type_t pluginArchitecture, const String& bundleIdentifier)
-{
- NetscapePluginHostProxy* hostProxy = hostForPlugin(pluginPath, pluginArchitecture, bundleIdentifier);
- if (!hostProxy)
- return;
-
- _WKPHCreatePluginMIMETypesPreferences(hostProxy->port());
-}
-
-void NetscapePluginHostManager::didCreateWindow()
-{
- // See if any of our hosts are in full-screen mode.
- PluginHostMap::iterator end = m_pluginHosts.end();
- for (PluginHostMap::iterator it = m_pluginHosts.begin(); it != end; ++it) {
- NetscapePluginHostProxy* hostProxy = it->value;
-
- if (!hostProxy->isMenuBarVisible()) {
- // Make ourselves the front process.
- ProcessSerialNumber psn;
-#if COMPILER(CLANG)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-#endif
- GetCurrentProcess(&psn);
- SetFrontProcess(&psn);
-#if COMPILER(CLANG)
-#pragma clang diagnostic pop
-#endif
- return;
- }
- }
-}
-
-} // namespace WebKit
-
-#endif // USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.h b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.h
deleted file mode 100644
index dca86f8a8..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS)
-
-#ifndef NetscapePluginHostProxy_h
-#define NetscapePluginHostProxy_h
-
-#include <dispatch/dispatch.h>
-#include <wtf/HashMap.h>
-#include <wtf/RetainPtr.h>
-#include <wtf/PassRefPtr.h>
-
-@class WebPlaceholderModalWindow;
-
-namespace WebKit {
-
-class NetscapePluginInstanceProxy;
-
-class NetscapePluginHostProxy {
-public:
- NetscapePluginHostProxy(mach_port_t clientPort, mach_port_t pluginHostPort, const ProcessSerialNumber& pluginHostPSN, bool shouldCacheMissingPropertiesAndMethods);
-
- mach_port_t port() const { ASSERT(fastMallocSize(this)); return m_pluginHostPort; }
- mach_port_t clientPort() const { ASSERT(fastMallocSize(this)); return m_clientPort; }
-
- void addPluginInstance(NetscapePluginInstanceProxy*);
- void removePluginInstance(NetscapePluginInstanceProxy*);
-
- NetscapePluginInstanceProxy* pluginInstance(uint32_t pluginID);
-
- bool isMenuBarVisible() const { return m_menuBarIsVisible; }
- void setMenuBarVisible(bool);
-
- bool isFullscreenWindowShowing() const { return m_fullscreenWindowIsShowing; }
- void setFullscreenWindowIsShowing(bool);
-
- void setModal(bool);
-
- void applicationDidBecomeActive();
-
- bool processRequests();
- static bool isProcessingRequests() { return s_processingRequests; }
-
- bool shouldCacheMissingPropertiesAndMethods() const { return m_shouldCacheMissingPropertiesAndMethods; }
-
- static void makeCurrentProcessFrontProcess();
- void makePluginHostProcessFrontProcess() const;
- bool isPluginHostProcessFrontProcess() const;
-
-private:
-
- ~NetscapePluginHostProxy();
- void pluginHostDied();
-
- void beginModal();
- void endModal();
-
- void didEnterFullscreen() const;
- void didExitFullscreen() const;
-
- static void deadNameNotificationCallback(CFMachPortRef, void *msg, CFIndex size, void *info);
-
- typedef HashMap<uint32_t, RefPtr<NetscapePluginInstanceProxy> > PluginInstanceMap;
- PluginInstanceMap m_instances;
-
- mach_port_t m_clientPort;
- mach_port_t m_portSet;
-
- RetainPtr<CFRunLoopSourceRef> m_clientPortSource;
- mach_port_t m_pluginHostPort;
- RetainPtr<CFMachPortRef> m_deadNameNotificationPort;
-
- RetainPtr<id> m_activationObserver;
- RetainPtr<WebPlaceholderModalWindow *> m_placeholderWindow;
- unsigned m_isModal;
- bool m_menuBarIsVisible;
- bool m_fullscreenWindowIsShowing;
- const ProcessSerialNumber m_pluginHostPSN;
-
- static unsigned s_processingRequests;
-
- bool m_shouldCacheMissingPropertiesAndMethods;
-};
-
-} // namespace WebKit
-
-#endif // NetscapePluginHostProxy_h
-#endif // USE(PLUGIN_HOST_PROCESS)
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm
deleted file mode 100644
index 1b8e2e347..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm
+++ /dev/null
@@ -1,1163 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
-
-#import "NetscapePluginHostProxy.h"
-
-#import <mach/mach.h>
-#import <wtf/StdLibExtras.h>
-
-#import "HostedNetscapePluginStream.h"
-#import "NetscapePluginHostManager.h"
-#import "NetscapePluginInstanceProxy.h"
-#import "WebFrameInternal.h"
-#import "WebHostedNetscapePluginView.h"
-#import "WebKitSystemInterface.h"
-#import <WebCore/Frame.h>
-#import <WebCore/IdentifierRep.h>
-#import <WebCore/ScriptController.h>
-
-extern "C" {
-#import "WebKitPluginHost.h"
-#import "WebKitPluginClientServer.h"
-}
-
-using namespace JSC;
-using namespace WebCore;
-
-@interface WebPlaceholderModalWindow : NSWindow
-@end
-
-@implementation WebPlaceholderModalWindow
-// Prevent NSApp from calling requestUserAttention: when the window is shown
-// modally, even if the app is inactive. See 6823049.
-- (BOOL)_wantsUserAttention
-{
- return NO;
-}
-@end
-
-namespace WebKit {
-
-class PluginDestroyDeferrer {
-public:
- PluginDestroyDeferrer(NetscapePluginInstanceProxy* proxy)
- : m_proxy(proxy)
- {
- m_proxy->willCallPluginFunction();
- }
-
- ~PluginDestroyDeferrer()
- {
- bool stopped;
- m_proxy->didCallPluginFunction(stopped);
- }
-
-private:
- RefPtr<NetscapePluginInstanceProxy> m_proxy;
-};
-
-typedef HashMap<mach_port_t, NetscapePluginHostProxy*> PluginProxyMap;
-static PluginProxyMap& pluginProxyMap()
-{
- DEFINE_STATIC_LOCAL(PluginProxyMap, pluginProxyMap, ());
-
- return pluginProxyMap;
-}
-
-unsigned NetscapePluginHostProxy::s_processingRequests;
-
-NetscapePluginHostProxy::NetscapePluginHostProxy(mach_port_t clientPort, mach_port_t pluginHostPort, const ProcessSerialNumber& pluginHostPSN, bool shouldCacheMissingPropertiesAndMethods)
- : m_clientPort(clientPort)
- , m_portSet(MACH_PORT_NULL)
- , m_pluginHostPort(pluginHostPort)
- , m_isModal(false)
- , m_menuBarIsVisible(true)
- , m_fullscreenWindowIsShowing(false)
- , m_pluginHostPSN(pluginHostPSN)
- , m_shouldCacheMissingPropertiesAndMethods(shouldCacheMissingPropertiesAndMethods)
-{
- pluginProxyMap().add(m_clientPort, this);
-
- // FIXME: We should use libdispatch for this.
- CFMachPortContext context = { 0, this, 0, 0, 0 };
- m_deadNameNotificationPort = adoptCF(CFMachPortCreate(0, deadNameNotificationCallback, &context, 0));
-
- mach_port_t previous;
- mach_port_request_notification(mach_task_self(), pluginHostPort, MACH_NOTIFY_DEAD_NAME, 0,
- CFMachPortGetPort(m_deadNameNotificationPort.get()), MACH_MSG_TYPE_MAKE_SEND_ONCE, &previous);
- ASSERT(previous == MACH_PORT_NULL);
-
- RetainPtr<CFRunLoopSourceRef> deathPortSource = adoptCF(CFMachPortCreateRunLoopSource(0, m_deadNameNotificationPort.get(), 0));
-
- CFRunLoopAddSource(CFRunLoopGetCurrent(), deathPortSource.get(), kCFRunLoopDefaultMode);
-
- m_clientPortSource = adoptCF(WKCreateMIGServerSource((mig_subsystem_t)&WKWebKitPluginClient_subsystem, m_clientPort));
- CFRunLoopAddSource(CFRunLoopGetCurrent(), m_clientPortSource.get(), kCFRunLoopDefaultMode);
- CFRunLoopAddSource(CFRunLoopGetCurrent(), m_clientPortSource.get(), (CFStringRef)NSEventTrackingRunLoopMode);
-}
-
-NetscapePluginHostProxy::~NetscapePluginHostProxy()
-{
- pluginProxyMap().remove(m_clientPort);
-
- // Free the port set
- if (m_portSet) {
- mach_port_extract_member(mach_task_self(), m_clientPort, m_portSet);
- mach_port_extract_member(mach_task_self(), CFMachPortGetPort(m_deadNameNotificationPort.get()), m_portSet);
- mach_port_destroy(mach_task_self(), m_portSet);
- }
-
- ASSERT(m_clientPortSource);
- CFRunLoopSourceInvalidate(m_clientPortSource.get());
- m_clientPortSource = 0;
-}
-
-void NetscapePluginHostProxy::pluginHostDied()
-{
- PluginInstanceMap instances;
- m_instances.swap(instances);
-
- PluginInstanceMap::const_iterator end = instances.end();
- for (PluginInstanceMap::const_iterator it = instances.begin(); it != end; ++it)
- it->value->pluginHostDied();
-
- NetscapePluginHostManager::shared().pluginHostDied(this);
-
- // The plug-in crashed while its menu bar was hidden. Make sure to show it.
- if (!m_menuBarIsVisible)
- setMenuBarVisible(true);
-
- // The plug-in crashed while it had a modal dialog up.
- if (m_isModal)
- endModal();
-
- delete this;
-}
-
-void NetscapePluginHostProxy::addPluginInstance(NetscapePluginInstanceProxy* instance)
-{
- ASSERT(!m_instances.contains(instance->pluginID()));
-
- m_instances.set(instance->pluginID(), instance);
-}
-
-void NetscapePluginHostProxy::removePluginInstance(NetscapePluginInstanceProxy* instance)
-{
- ASSERT(m_instances.get(instance->pluginID()) == instance);
-
- m_instances.remove(instance->pluginID());
-}
-
-NetscapePluginInstanceProxy* NetscapePluginHostProxy::pluginInstance(uint32_t pluginID)
-{
- NetscapePluginInstanceProxy* result = m_instances.get(pluginID);
- ASSERT(!result || result->hostProxy() == this);
- return result;
-}
-
-void NetscapePluginHostProxy::deadNameNotificationCallback(CFMachPortRef port, void *msg, CFIndex size, void *info)
-{
- ASSERT(msg);
- ASSERT(static_cast<mach_msg_header_t*>(msg)->msgh_id == MACH_NOTIFY_DEAD_NAME);
-
- static_cast<NetscapePluginHostProxy*>(info)->pluginHostDied();
-}
-
-void NetscapePluginHostProxy::setMenuBarVisible(bool visible)
-{
- m_menuBarIsVisible = visible;
-
- [NSMenu setMenuBarVisible:visible];
-}
-
-void NetscapePluginHostProxy::didEnterFullscreen() const
-{
- makePluginHostProcessFrontProcess();
-}
-
-void NetscapePluginHostProxy::didExitFullscreen() const
-{
- // If the plug-in host is the current application then we should bring ourselves to the front when it exits full-screen mode.
- if (isPluginHostProcessFrontProcess())
- makeCurrentProcessFrontProcess();
-}
-
-void NetscapePluginHostProxy::setFullscreenWindowIsShowing(bool isShowing)
-{
- if (m_fullscreenWindowIsShowing == isShowing)
- return;
-
- m_fullscreenWindowIsShowing = isShowing;
- if (m_fullscreenWindowIsShowing)
- didEnterFullscreen();
- else
- didExitFullscreen();
-
-}
-
-void NetscapePluginHostProxy::applicationDidBecomeActive()
-{
- makePluginHostProcessFrontProcess();
-}
-
-void NetscapePluginHostProxy::beginModal()
-{
- ASSERT(!m_placeholderWindow);
- ASSERT(!m_activationObserver);
-
- m_placeholderWindow = adoptNS([[WebPlaceholderModalWindow alloc] initWithContentRect:NSMakeRect(0, 0, 1, 1) styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:YES]);
-
- m_activationObserver = [[NSNotificationCenter defaultCenter] addObserverForName:NSApplicationWillBecomeActiveNotification object:NSApp queue:nil
- usingBlock:^(NSNotification *){ applicationDidBecomeActive(); }];
-
- // We need to be able to get the setModal(false) call from the plug-in host.
- CFRunLoopAddSource(CFRunLoopGetCurrent(), m_clientPortSource.get(), (CFStringRef)NSModalPanelRunLoopMode);
-
- [NSApp runModalForWindow:m_placeholderWindow.get()];
-
- [m_placeholderWindow.get() orderOut:nil];
- m_placeholderWindow = 0;
-}
-
-void NetscapePluginHostProxy::endModal()
-{
- ASSERT(m_placeholderWindow);
- ASSERT(m_activationObserver);
-
- [[NSNotificationCenter defaultCenter] removeObserver:m_activationObserver.get()];
- m_activationObserver = nil;
-
- CFRunLoopRemoveSource(CFRunLoopGetCurrent(), m_clientPortSource.get(), (CFStringRef)NSModalPanelRunLoopMode);
-
- [NSApp stopModal];
-
- makeCurrentProcessFrontProcess();
-}
-
-
-void NetscapePluginHostProxy::setModal(bool modal)
-{
- if (modal == m_isModal)
- return;
-
- m_isModal = modal;
-
- if (m_isModal)
- beginModal();
- else
- endModal();
-}
-
-bool NetscapePluginHostProxy::processRequests()
-{
- s_processingRequests++;
-
- if (!m_portSet) {
- mach_port_allocate(mach_task_self(), MACH_PORT_RIGHT_PORT_SET, &m_portSet);
- mach_port_insert_member(mach_task_self(), m_clientPort, m_portSet);
- mach_port_insert_member(mach_task_self(), CFMachPortGetPort(m_deadNameNotificationPort.get()), m_portSet);
- }
-
- char buffer[4096];
-
- mach_msg_header_t* msg = reinterpret_cast<mach_msg_header_t*>(buffer);
-
- kern_return_t kr = mach_msg(msg, MACH_RCV_MSG, 0, sizeof(buffer), m_portSet, 0, MACH_PORT_NULL);
-
- if (kr != KERN_SUCCESS) {
- LOG_ERROR("Could not receive mach message, error %x", kr);
- s_processingRequests--;
- return false;
- }
-
- if (msg->msgh_local_port == m_clientPort) {
- __ReplyUnion__WKWebKitPluginClient_subsystem reply;
- mach_msg_header_t* replyHeader = reinterpret_cast<mach_msg_header_t*>(&reply);
-
- if (WebKitPluginClient_server(msg, replyHeader) && replyHeader->msgh_remote_port != MACH_PORT_NULL) {
- kr = mach_msg(replyHeader, MACH_SEND_MSG, replyHeader->msgh_size, 0, MACH_PORT_NULL, 0, MACH_PORT_NULL);
-
- if (kr != KERN_SUCCESS) {
- LOG_ERROR("Could not send mach message, error %x", kr);
- s_processingRequests--;
- return false;
- }
- }
-
- s_processingRequests--;
- return true;
- }
-
- if (msg->msgh_local_port == CFMachPortGetPort(m_deadNameNotificationPort.get())) {
- ASSERT(msg->msgh_id == MACH_NOTIFY_DEAD_NAME);
- pluginHostDied();
- s_processingRequests--;
- return false;
- }
-
- ASSERT_NOT_REACHED();
- s_processingRequests--;
- return false;
-}
-
-void NetscapePluginHostProxy::makeCurrentProcessFrontProcess()
-{
-#if COMPILER(CLANG)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-#endif
- ProcessSerialNumber psn;
- GetCurrentProcess(&psn);
- SetFrontProcess(&psn);
-#if COMPILER(CLANG)
-#pragma clang diagnostic pop
-#endif
-}
-
-void NetscapePluginHostProxy::makePluginHostProcessFrontProcess() const
-{
-#if COMPILER(CLANG)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-#endif
- SetFrontProcess(&m_pluginHostPSN);
-#if COMPILER(CLANG)
-#pragma clang diagnostic pop
-#endif
-}
-
-bool NetscapePluginHostProxy::isPluginHostProcessFrontProcess() const
-{
-#if COMPILER(CLANG)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-#endif
- ProcessSerialNumber frontProcess;
- GetFrontProcess(&frontProcess);
-
- Boolean isSameProcess = 0;
- SameProcess(&frontProcess, &m_pluginHostPSN, &isSameProcess);
-#if COMPILER(CLANG)
-#pragma clang diagnostic pop
-#endif
-
- return isSameProcess;
-}
-
-} // namespace WebKit
-
-using namespace WebKit;
-
-// Helper class for deallocating data
-class DataDeallocator {
-public:
- DataDeallocator(data_t data, mach_msg_type_number_t dataLength)
- : m_data(reinterpret_cast<vm_address_t>(data))
- , m_dataLength(dataLength)
- {
- }
-
- ~DataDeallocator()
- {
- if (!m_data)
- return;
-
- vm_deallocate(mach_task_self(), m_data, m_dataLength);
- }
-
-private:
- vm_address_t m_data;
- vm_size_t m_dataLength;
-};
-
-// MiG callbacks
-kern_return_t WKPCStatusText(mach_port_t clientPort, uint32_t pluginID, data_t text, mach_msg_type_number_t textCnt)
-{
- DataDeallocator deallocator(text, textCnt);
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- instanceProxy->status(text);
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCLoadURL(mach_port_t clientPort, uint32_t pluginID, data_t url, mach_msg_type_number_t urlLength, data_t target, mach_msg_type_number_t targetLength,
- data_t postData, mach_msg_type_number_t postDataLength, uint32_t flags,
- uint16_t* outResult, uint32_t* outStreamID)
-{
- DataDeallocator urlDeallocator(url, urlLength);
- DataDeallocator targetDeallocator(target, targetLength);
- DataDeallocator postDataDeallocator(postData, postDataLength);
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- uint32_t streamID = 0;
- NPError result = instanceProxy->loadURL(url, target, postData, postDataLength, static_cast<LoadURLFlags>(flags), streamID);
-
- *outResult = result;
- *outStreamID = streamID;
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCCancelLoadURL(mach_port_t clientPort, uint32_t pluginID, uint32_t streamID, int16_t reason)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- if (!instanceProxy->cancelStreamLoad(streamID, reason))
- return KERN_FAILURE;
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCInvalidateRect(mach_port_t clientPort, uint32_t pluginID, double x, double y, double width, double height)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_SUCCESS;
-
- if (!hostProxy->isProcessingRequests()) {
- if (NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID))
- instanceProxy->invalidateRect(x, y, width, height);
- return KERN_SUCCESS;
- }
-
- // Defer the work
- CFRunLoopPerformBlock(CFRunLoopGetMain(), kCFRunLoopDefaultMode, ^{
- if (NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort)) {
- if (NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID))
- instanceProxy->invalidateRect(x, y, width, height);
- }
- });
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCGetScriptableNPObjectReply(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, uint32_t objectID)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- instanceProxy->setCurrentReply(requestID, new NetscapePluginInstanceProxy::GetScriptableNPObjectReply(objectID));
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCBooleanReply(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, boolean_t result)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- instanceProxy->setCurrentReply(requestID, new NetscapePluginInstanceProxy::BooleanReply(result));
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCBooleanAndDataReply(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, boolean_t returnValue, data_t resultData, mach_msg_type_number_t resultLength)
-{
- DataDeallocator deallocator(resultData, resultLength);
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- RetainPtr<CFDataRef> result = adoptCF(CFDataCreate(0, reinterpret_cast<UInt8*>(resultData), resultLength));
- instanceProxy->setCurrentReply(requestID, new NetscapePluginInstanceProxy::BooleanAndDataReply(returnValue, result));
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCInstantiatePluginReply(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, kern_return_t result, uint32_t renderContextID, uint32_t rendererType)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- instanceProxy->setCurrentReply(requestID, new NetscapePluginInstanceProxy::InstantiatePluginReply(result, renderContextID, static_cast<RendererType>(rendererType)));
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCGetWindowNPObject(mach_port_t clientPort, uint32_t pluginID, uint32_t* outObjectID)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- uint32_t objectID;
- if (!instanceProxy->getWindowNPObject(objectID))
- return KERN_FAILURE;
-
- *outObjectID = objectID;
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCGetPluginElementNPObject(mach_port_t clientPort, uint32_t pluginID, uint32_t* outObjectID)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- uint32_t objectID;
- if (!instanceProxy->getPluginElementNPObject(objectID))
- return KERN_FAILURE;
-
- *outObjectID = objectID;
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCForgetBrowserObject(mach_port_t clientPort, uint32_t pluginID, uint32_t objectID)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- return instanceProxy->forgetBrowserObjectID(objectID) ? KERN_SUCCESS : KERN_FAILURE;
-}
-
-kern_return_t WKPCEvaluate(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, uint32_t objectID, data_t scriptData, mach_msg_type_number_t scriptLength, boolean_t allowPopups)
-{
- DataDeallocator deallocator(scriptData, scriptLength);
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- PluginDestroyDeferrer deferrer(instanceProxy);
-
- String script = scriptLength ? String::fromUTF8WithLatin1Fallback(scriptData, scriptLength) : emptyString();
-
- data_t resultData = 0;
- mach_msg_type_number_t resultLength = 0;
- boolean_t returnValue = instanceProxy->evaluate(objectID, script, resultData, resultLength, allowPopups);
-
- hostProxy = instanceProxy->hostProxy();
- if (!hostProxy)
- return KERN_FAILURE;
-
- _WKPHBooleanAndDataReply(hostProxy->port(), instanceProxy->pluginID(), requestID, returnValue, resultData, resultLength);
- if (resultData)
- mig_deallocate(reinterpret_cast<vm_address_t>(resultData), resultLength);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCGetStringIdentifier(mach_port_t clientPort, data_t name, mach_msg_type_number_t nameCnt, uint64_t* identifier)
-{
- DataDeallocator deallocator(name, nameCnt);
-
- COMPILE_ASSERT(sizeof(*identifier) == sizeof(IdentifierRep*), identifier_sizes);
-
- *identifier = reinterpret_cast<uint64_t>(IdentifierRep::get(name));
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCGetIntIdentifier(mach_port_t clientPort, int32_t value, uint64_t* identifier)
-{
- COMPILE_ASSERT(sizeof(*identifier) == sizeof(NPIdentifier), identifier_sizes);
-
- *identifier = reinterpret_cast<uint64_t>(IdentifierRep::get(value));
- return KERN_SUCCESS;
-}
-
-static Identifier identifierFromIdentifierRep(IdentifierRep* identifier)
-{
- ASSERT(IdentifierRep::isValid(identifier));
- ASSERT(identifier->isString());
-
- const char* str = identifier->string();
- return Identifier(JSDOMWindow::commonVM(), String::fromUTF8WithLatin1Fallback(str, strlen(str)));
-}
-
-kern_return_t WKPCInvoke(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, uint32_t objectID, uint64_t serverIdentifier,
- data_t argumentsData, mach_msg_type_number_t argumentsLength)
-{
- DataDeallocator deallocator(argumentsData, argumentsLength);
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- PluginDestroyDeferrer deferrer(instanceProxy);
-
- IdentifierRep* identifier = reinterpret_cast<IdentifierRep*>(serverIdentifier);
- if (!IdentifierRep::isValid(identifier))
- return KERN_FAILURE;
-
- Identifier methodNameIdentifier = identifierFromIdentifierRep(identifier);
-
- data_t resultData = 0;
- mach_msg_type_number_t resultLength = 0;
- boolean_t returnValue = instanceProxy->invoke(objectID, methodNameIdentifier, argumentsData, argumentsLength, resultData, resultLength);
-
- hostProxy = instanceProxy->hostProxy();
- if (!hostProxy)
- return KERN_FAILURE;
-
- _WKPHBooleanAndDataReply(hostProxy->port(), instanceProxy->pluginID(), requestID, returnValue, resultData, resultLength);
- if (resultData)
- mig_deallocate(reinterpret_cast<vm_address_t>(resultData), resultLength);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCInvokeDefault(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, uint32_t objectID,
- data_t argumentsData, mach_msg_type_number_t argumentsLength)
-{
- DataDeallocator deallocator(argumentsData, argumentsLength);
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- PluginDestroyDeferrer deferrer(instanceProxy);
-
- data_t resultData = 0;
- mach_msg_type_number_t resultLength = 0;
- boolean_t returnValue = instanceProxy->invokeDefault(objectID, argumentsData, argumentsLength, resultData, resultLength);
-
- hostProxy = instanceProxy->hostProxy();
- if (!hostProxy)
- return KERN_FAILURE;
-
- _WKPHBooleanAndDataReply(hostProxy->port(), instanceProxy->pluginID(), requestID, returnValue, resultData, resultLength);
- if (resultData)
- mig_deallocate(reinterpret_cast<vm_address_t>(resultData), resultLength);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCConstruct(mach_port_t clientPort, uint32_t pluginID, uint32_t objectID,
- data_t argumentsData, mach_msg_type_number_t argumentsLength,
- boolean_t* returnValue, data_t* resultData, mach_msg_type_number_t* resultLength)
-{
- DataDeallocator deallocator(argumentsData, argumentsLength);
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- PluginDestroyDeferrer deferrer(instanceProxy);
-
- *returnValue = instanceProxy->construct(objectID, argumentsData, argumentsLength, *resultData, *resultLength);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCGetProperty(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, uint32_t objectID, uint64_t serverIdentifier)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- IdentifierRep* identifier = reinterpret_cast<IdentifierRep*>(serverIdentifier);
- if (!IdentifierRep::isValid(identifier))
- return KERN_FAILURE;
-
- PluginDestroyDeferrer deferrer(instanceProxy);
-
- data_t resultData = 0;
- mach_msg_type_number_t resultLength = 0;
- boolean_t returnValue;
-
- if (identifier->isString()) {
- Identifier propertyNameIdentifier = identifierFromIdentifierRep(identifier);
- returnValue = instanceProxy->getProperty(objectID, propertyNameIdentifier, resultData, resultLength);
- } else
- returnValue = instanceProxy->setProperty(objectID, identifier->number(), resultData, resultLength);
-
- hostProxy = instanceProxy->hostProxy();
- if (!hostProxy)
- return KERN_FAILURE;
-
- _WKPHBooleanAndDataReply(hostProxy->port(), instanceProxy->pluginID(), requestID, returnValue, resultData, resultLength);
- if (resultData)
- mig_deallocate(reinterpret_cast<vm_address_t>(resultData), resultLength);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCSetProperty(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, uint32_t objectID, uint64_t serverIdentifier, data_t valueData, mach_msg_type_number_t valueLength)
-{
- DataDeallocator deallocator(valueData, valueLength);
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- PluginDestroyDeferrer deferrer(instanceProxy);
-
- IdentifierRep* identifier = reinterpret_cast<IdentifierRep*>(serverIdentifier);
- if (!IdentifierRep::isValid(identifier))
- return KERN_FAILURE;
-
- bool result;
- if (identifier->isString()) {
- Identifier propertyNameIdentifier = identifierFromIdentifierRep(identifier);
- result = instanceProxy->setProperty(objectID, propertyNameIdentifier, valueData, valueLength);
- } else
- result = instanceProxy->setProperty(objectID, identifier->number(), valueData, valueLength);
-
- hostProxy = instanceProxy->hostProxy();
- if (!hostProxy)
- return KERN_FAILURE;
-
- _WKPHBooleanReply(hostProxy->port(), instanceProxy->pluginID(), requestID, result);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCRemoveProperty(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, uint32_t objectID, uint64_t serverIdentifier)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- PluginDestroyDeferrer deferrer(instanceProxy);
-
- IdentifierRep* identifier = reinterpret_cast<IdentifierRep*>(serverIdentifier);
- if (!IdentifierRep::isValid(identifier))
- return KERN_FAILURE;
-
- bool result;
- if (identifier->isString()) {
- Identifier propertyNameIdentifier = identifierFromIdentifierRep(identifier);
- result = instanceProxy->removeProperty(objectID, propertyNameIdentifier);
- } else
- result = instanceProxy->removeProperty(objectID, identifier->number());
-
- hostProxy = instanceProxy->hostProxy();
- if (!hostProxy)
- return KERN_FAILURE;
-
- _WKPHBooleanReply(hostProxy->port(), instanceProxy->pluginID(), requestID, result);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCHasProperty(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, uint32_t objectID, uint64_t serverIdentifier)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- PluginDestroyDeferrer deferrer(instanceProxy);
-
- IdentifierRep* identifier = reinterpret_cast<IdentifierRep*>(serverIdentifier);
- if (!IdentifierRep::isValid(identifier))
- return KERN_FAILURE;
-
- boolean_t returnValue;
- if (identifier->isString()) {
- Identifier propertyNameIdentifier = identifierFromIdentifierRep(identifier);
- returnValue = instanceProxy->hasProperty(objectID, propertyNameIdentifier);
- } else
- returnValue = instanceProxy->hasProperty(objectID, identifier->number());
-
- hostProxy = instanceProxy->hostProxy();
- if (!hostProxy)
- return KERN_FAILURE;
-
- _WKPHBooleanReply(hostProxy->port(), instanceProxy->pluginID(), requestID, returnValue);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCHasMethod(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, uint32_t objectID, uint64_t serverIdentifier)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- PluginDestroyDeferrer deferrer(instanceProxy);
-
- IdentifierRep* identifier = reinterpret_cast<IdentifierRep*>(serverIdentifier);
- if (!IdentifierRep::isValid(identifier))
- return KERN_FAILURE;
-
- Identifier methodNameIdentifier = identifierFromIdentifierRep(identifier);
- boolean_t returnValue = instanceProxy->hasMethod(objectID, methodNameIdentifier);
-
- hostProxy = instanceProxy->hostProxy();
- if (!hostProxy)
- return KERN_FAILURE;
-
- _WKPHBooleanReply(hostProxy->port(), instanceProxy->pluginID(), requestID, returnValue);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCIdentifierInfo(mach_port_t clientPort, uint64_t serverIdentifier, data_t* infoData, mach_msg_type_number_t* infoLength)
-{
- IdentifierRep* identifier = reinterpret_cast<IdentifierRep*>(serverIdentifier);
- if (!IdentifierRep::isValid(identifier))
- return KERN_FAILURE;
-
- id info;
- if (identifier->isString()) {
- const char* str = identifier->string();
- info = [NSData dataWithBytesNoCopy:(void*)str length:strlen(str) freeWhenDone:NO];
- } else
- info = [NSNumber numberWithInt:identifier->number()];
-
- RetainPtr<NSData*> data = [NSPropertyListSerialization dataFromPropertyList:info format:NSPropertyListBinaryFormat_v1_0 errorDescription:0];
- ASSERT(data);
-
- *infoLength = [data.get() length];
- mig_allocate(reinterpret_cast<vm_address_t*>(infoData), *infoLength);
-
- memcpy(*infoData, [data.get() bytes], *infoLength);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCEnumerate(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, uint32_t objectID)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- data_t resultData = 0;
- mach_msg_type_number_t resultLength = 0;
- boolean_t returnValue = instanceProxy->enumerate(objectID, resultData, resultLength);
-
- hostProxy = instanceProxy->hostProxy();
- if (!hostProxy)
- return KERN_FAILURE;
-
- _WKPHBooleanAndDataReply(hostProxy->port(), instanceProxy->pluginID(), requestID, returnValue, resultData, resultLength);
-
- if (resultData)
- mig_deallocate(reinterpret_cast<vm_address_t>(resultData), resultLength);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCSetMenuBarVisible(mach_port_t clientPort, boolean_t menuBarVisible)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- hostProxy->setMenuBarVisible(menuBarVisible);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCSetFullscreenWindowIsShowing(mach_port_t clientPort, boolean_t fullscreenWindowIsShowing)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- hostProxy->setFullscreenWindowIsShowing(fullscreenWindowIsShowing);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCSetModal(mach_port_t clientPort, boolean_t modal)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- if (!hostProxy->isProcessingRequests()) {
- hostProxy->setModal(modal);
- return KERN_SUCCESS;
- }
-
- // Defer the work
- CFRunLoopPerformBlock(CFRunLoopGetMain(), kCFRunLoopDefaultMode, ^{
- if (NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort))
- hostProxy->setModal(modal);
- });
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCGetCookies(mach_port_t clientPort, uint32_t pluginID,
- data_t urlData, mach_msg_type_number_t urlLength,
- boolean_t* returnValue, data_t* cookiesData, mach_msg_type_number_t* cookiesLength)
-{
- *cookiesData = 0;
- *cookiesLength = 0;
-
- DataDeallocator deallocator(urlData, urlLength);
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- *returnValue = instanceProxy->getCookies(urlData, urlLength, *cookiesData, *cookiesLength);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCGetProxy(mach_port_t clientPort, uint32_t pluginID,
- data_t urlData, mach_msg_type_number_t urlLength,
- boolean_t* returnValue, data_t* proxyData, mach_msg_type_number_t* proxyLength)
-{
- *proxyData = 0;
- *proxyLength = 0;
-
- DataDeallocator deallocator(urlData, urlLength);
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- *returnValue = instanceProxy->getProxy(urlData, urlLength, *proxyData, *proxyLength);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCSetCookies(mach_port_t clientPort, uint32_t pluginID,
- data_t urlData, mach_msg_type_number_t urlLength,
- data_t cookiesData, mach_msg_type_number_t cookiesLength,
- boolean_t* returnValue)
-{
- DataDeallocator urlDeallocator(urlData, urlLength);
- DataDeallocator cookiesDeallocator(cookiesData, cookiesLength);
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- *returnValue = instanceProxy->setCookies(urlData, urlLength, cookiesData, cookiesLength);
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCGetAuthenticationInfo(mach_port_t clientPort, uint32_t pluginID,
- data_t protocolData, mach_msg_type_number_t protocolLength,
- data_t hostData, mach_msg_type_number_t hostLength,
- uint32_t port,
- data_t schemeData, mach_msg_type_number_t schemeLength,
- data_t realmData, mach_msg_type_number_t realmLength,
- boolean_t* returnValue,
- data_t* usernameData, mach_msg_type_number_t *usernameLength,
- data_t* passwordData, mach_msg_type_number_t *passwordLength)
-{
- DataDeallocator protocolDeallocator(protocolData, protocolLength);
- DataDeallocator hostDeallocator(hostData, hostLength);
- DataDeallocator schemeDeallocator(schemeData, schemeLength);
- DataDeallocator realmDeallocator(realmData, realmLength);
-
- *usernameData = 0;
- *usernameLength = 0;
- *passwordData = 0;
- *passwordLength = 0;
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- *returnValue = instanceProxy->getAuthenticationInfo(protocolData, hostData, port, schemeData, realmData, *usernameData, *usernameLength, *passwordData, *passwordLength);
-
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCConvertPoint(mach_port_t clientPort, uint32_t pluginID,
- double sourceX, double sourceY, uint32_t sourceSpace,
- uint32_t destSpace, boolean_t *returnValue, double *destX, double *destY)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- *returnValue = instanceProxy->convertPoint(sourceX, sourceY, static_cast<NPCoordinateSpace>(sourceSpace),
- *destX, *destY, static_cast<NPCoordinateSpace>(destSpace));
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCCheckIfAllowedToLoadURL(mach_port_t clientPort, uint32_t pluginID, data_t urlData, mach_msg_type_number_t urlLength,
- data_t targetData, mach_msg_type_number_t targetLength, uint32_t *checkID)
-{
- DataDeallocator urlDeallocator(urlData, urlLength);
- DataDeallocator targetDeallocator(targetData, targetLength);
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- *checkID = instanceProxy->checkIfAllowedToLoadURL(urlData, targetData);
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCCancelCheckIfAllowedToLoadURL(mach_port_t clientPort, uint32_t pluginID, uint32_t checkID)
-{
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- instanceProxy->cancelCheckIfAllowedToLoadURL(checkID);
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCResolveURL(mach_port_t clientPort, uint32_t pluginID, data_t urlData, mach_msg_type_number_t urlLength,
- data_t targetData, mach_msg_type_number_t targetLength,
- data_t *resolvedURLData, mach_msg_type_number_t *resolvedURLLength)
-{
- DataDeallocator urlDeallocator(urlData, urlLength);
- DataDeallocator targetDeallocator(targetData, targetLength);
-
- *resolvedURLData = 0;
- *resolvedURLLength = 0;
-
- NetscapePluginHostProxy* hostProxy = pluginProxyMap().get(clientPort);
- if (!hostProxy)
- return KERN_FAILURE;
-
- NetscapePluginInstanceProxy* instanceProxy = hostProxy->pluginInstance(pluginID);
- if (!instanceProxy)
- return KERN_FAILURE;
-
- instanceProxy->resolveURL(urlData, targetData, *resolvedURLData, *resolvedURLLength);
- return KERN_SUCCESS;
-}
-
-kern_return_t WKPCSetException(mach_port_t clientPort, data_t message, mach_msg_type_number_t messageCnt)
-{
- DataDeallocator deallocator(message, messageCnt);
-
- NetscapePluginInstanceProxy::setGlobalException(String::fromUTF8WithLatin1Fallback(message, messageCnt));
-
- return KERN_SUCCESS;
-}
-
-#endif // USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
deleted file mode 100644
index 995897964..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
- * Copyright (C) 2008, 2009, 2010 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS)
-
-#ifndef NetscapePluginInstanceProxy_h
-#define NetscapePluginInstanceProxy_h
-
-#include <JavaScriptCore/Identifier.h>
-#include <JavaScriptCore/VM.h>
-#include <JavaScriptCore/Strong.h>
-#include <WebCore/Timer.h>
-#include <WebKit/npapi.h>
-#include <wtf/Deque.h>
-#include <wtf/Forward.h>
-#include <wtf/HashMap.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefCounted.h>
-#include <wtf/RetainPtr.h>
-#include "WebKitPluginHostTypes.h"
-
-namespace JSC {
- namespace Bindings {
- class Instance;
- class RootObject;
- }
- class ArgList;
-}
-@class WebHostedNetscapePluginView;
-@class WebFrame;
-
-namespace WebKit {
-
-class HostedNetscapePluginStream;
-class NetscapePluginHostProxy;
-class PluginRequest;
-class ProxyInstance;
-
-class NetscapePluginInstanceProxy : public RefCounted<NetscapePluginInstanceProxy> {
-public:
- static PassRefPtr<NetscapePluginInstanceProxy> create(NetscapePluginHostProxy*, WebHostedNetscapePluginView *, bool fullFramePlugin);
- ~NetscapePluginInstanceProxy();
-
- uint32_t pluginID() const
- {
- ASSERT(m_pluginID);
-
- return m_pluginID;
- }
- uint32_t renderContextID() const { ASSERT(fastMallocSize(this)); return m_renderContextID; }
- void setRenderContextID(uint32_t renderContextID) { m_renderContextID = renderContextID; }
-
- RendererType rendererType() const { return m_rendererType; }
- void setRendererType(RendererType rendererType) { m_rendererType = rendererType; }
-
- WebHostedNetscapePluginView *pluginView() const { ASSERT(fastMallocSize(this)); return m_pluginView; }
- NetscapePluginHostProxy* hostProxy() const { ASSERT(fastMallocSize(this)); return m_pluginHostProxy; }
-
- bool cancelStreamLoad(uint32_t streamID, NPReason);
- void disconnectStream(HostedNetscapePluginStream*);
-
- void setManualStream(PassRefPtr<HostedNetscapePluginStream>);
- HostedNetscapePluginStream* manualStream() const { return m_manualStream.get(); }
-
- void pluginHostDied();
-
- void resize(NSRect size, NSRect clipRect);
- void destroy();
- void focusChanged(bool hasFocus);
- void windowFocusChanged(bool hasFocus);
- void windowFrameChanged(NSRect frame);
-
- void mouseEvent(NSView *pluginView, NSEvent *, NPCocoaEventType);
- void keyEvent(NSView *pluginView, NSEvent *, NPCocoaEventType);
- void insertText(NSString *);
- bool wheelEvent(NSView *pluginView, NSEvent *);
- void syntheticKeyDownWithCommandModifier(int keyCode, char character);
- void flagsChanged(NSEvent *);
- void print(CGContextRef, unsigned width, unsigned height);
- void snapshot(CGContextRef, unsigned width, unsigned height);
-
- void startTimers(bool throttleTimers);
- void stopTimers();
-
- void invalidateRect(double x, double y, double width, double height);
-
- // NPRuntime
- bool getWindowNPObject(uint32_t& objectID);
- bool getPluginElementNPObject(uint32_t& objectID);
- bool forgetBrowserObjectID(uint32_t objectID); // Will fail if the ID is being sent to plug-in right now (i.e., retain/release calls aren't balanced).
-
- bool evaluate(uint32_t objectID, const WTF::String& script, data_t& resultData, mach_msg_type_number_t& resultLength, bool allowPopups);
- bool invoke(uint32_t objectID, const JSC::Identifier& methodName, data_t argumentsData, mach_msg_type_number_t argumentsLength, data_t& resultData, mach_msg_type_number_t& resultLength);
- bool invokeDefault(uint32_t objectID, data_t argumentsData, mach_msg_type_number_t argumentsLength, data_t& resultData, mach_msg_type_number_t& resultLength);
- bool construct(uint32_t objectID, data_t argumentsData, mach_msg_type_number_t argumentsLength, data_t& resultData, mach_msg_type_number_t& resultLength);
- bool enumerate(uint32_t objectID, data_t& resultData, mach_msg_type_number_t& resultLength);
-
- bool getProperty(uint32_t objectID, const JSC::Identifier& propertyName, data_t &resultData, mach_msg_type_number_t& resultLength);
- bool getProperty(uint32_t objectID, unsigned propertyName, data_t &resultData, mach_msg_type_number_t& resultLength);
- bool setProperty(uint32_t objectID, const JSC::Identifier& propertyName, data_t valueData, mach_msg_type_number_t valueLength);
- bool setProperty(uint32_t objectID, unsigned propertyName, data_t valueData, mach_msg_type_number_t valueLength);
- bool removeProperty(uint32_t objectID, const JSC::Identifier& propertyName);
- bool removeProperty(uint32_t objectID, unsigned propertyName);
- bool hasProperty(uint32_t objectID, const JSC::Identifier& propertyName);
- bool hasProperty(uint32_t objectID, unsigned propertyName);
- bool hasMethod(uint32_t objectID, const JSC::Identifier& methodName);
-
- void status(const char* message);
- NPError loadURL(const char* url, const char* target, const char* postData, uint32_t postDataLength, LoadURLFlags, uint32_t& requestID);
-
- bool getCookies(data_t urlData, mach_msg_type_number_t urlLength, data_t& cookiesData, mach_msg_type_number_t& cookiesLength);
- bool setCookies(data_t urlData, mach_msg_type_number_t urlLength, data_t cookiesData, mach_msg_type_number_t cookiesLength);
-
- bool getProxy(data_t urlData, mach_msg_type_number_t urlLength, data_t& proxyData, mach_msg_type_number_t& proxyLength);
- bool getAuthenticationInfo(data_t protocolData, data_t hostData, uint32_t port, data_t schemeData, data_t realmData,
- data_t& usernameData, mach_msg_type_number_t& usernameLength, data_t& passwordData, mach_msg_type_number_t& passwordLength);
- bool convertPoint(double sourceX, double sourceY, NPCoordinateSpace sourceSpace,
- double& destX, double& destY, NPCoordinateSpace destSpace);
-
- PassRefPtr<JSC::Bindings::Instance> createBindingsInstance(PassRefPtr<JSC::Bindings::RootObject>);
- RetainPtr<NSData *> marshalValues(JSC::ExecState*, const JSC::ArgList& args);
- void marshalValue(JSC::ExecState*, JSC::JSValue, data_t& resultData, mach_msg_type_number_t& resultLength);
- JSC::JSValue demarshalValue(JSC::ExecState*, const char* valueData, mach_msg_type_number_t valueLength);
-
- // No-op if the value does not contain a local object.
- void retainLocalObject(JSC::JSValue);
- void releaseLocalObject(JSC::JSValue);
-
- void addInstance(ProxyInstance*);
- void removeInstance(ProxyInstance*);
-
- void cleanup();
- void invalidate();
-
- void willCallPluginFunction();
- void didCallPluginFunction(bool& stopped);
- bool shouldStop();
-
- uint32_t nextRequestID();
-
- uint32_t checkIfAllowedToLoadURL(const char* url, const char* target);
- void cancelCheckIfAllowedToLoadURL(uint32_t checkID);
- void checkIfAllowedToLoadURLResult(uint32_t checkID, bool allowed);
-
- void resolveURL(const char* url, const char* target, data_t& resolvedURLData, mach_msg_type_number_t& resolvedURLLength);
-
- void didDraw();
- void privateBrowsingModeDidChange(bool isPrivateBrowsingEnabled);
-
- static void setGlobalException(const WTF::String&);
- static void moveGlobalExceptionToExecState(JSC::ExecState*);
-
- // Reply structs
- struct Reply {
- enum Type {
- InstantiatePlugin,
- GetScriptableNPObject,
- BooleanAndData,
- Boolean
- };
-
- Reply(Type type)
- : m_type(type)
- {
- }
-
- virtual ~Reply() { }
-
- Type m_type;
- };
-
- struct InstantiatePluginReply : public Reply {
- static const int ReplyType = InstantiatePlugin;
-
- InstantiatePluginReply(kern_return_t resultCode, uint32_t renderContextID, RendererType rendererType)
- : Reply(InstantiatePlugin)
- , m_resultCode(resultCode)
- , m_renderContextID(renderContextID)
- , m_rendererType(rendererType)
- {
- }
-
- kern_return_t m_resultCode;
- uint32_t m_renderContextID;
- RendererType m_rendererType;
- };
-
- struct GetScriptableNPObjectReply : public Reply {
- static const Reply::Type ReplyType = GetScriptableNPObject;
-
- GetScriptableNPObjectReply(uint32_t objectID)
- : Reply(ReplyType)
- , m_objectID(objectID)
- {
- }
-
- uint32_t m_objectID;
- };
-
- struct BooleanReply : public Reply {
- static const Reply::Type ReplyType = Boolean;
-
- BooleanReply(boolean_t result)
- : Reply(ReplyType)
- , m_result(result)
- {
- }
-
- boolean_t m_result;
- };
-
- struct BooleanAndDataReply : public Reply {
- static const Reply::Type ReplyType = BooleanAndData;
-
- BooleanAndDataReply(boolean_t returnValue, RetainPtr<CFDataRef> result)
- : Reply(ReplyType)
- , m_returnValue(returnValue)
- , m_result(result)
- {
- }
-
- boolean_t m_returnValue;
- RetainPtr<CFDataRef> m_result;
- };
-
- void setCurrentReply(uint32_t requestID, Reply* reply)
- {
- ASSERT(!m_replies.contains(requestID));
- m_replies.set(requestID, reply);
- }
-
- template <typename T>
- std::auto_ptr<T> waitForReply(uint32_t requestID)
- {
- RefPtr<NetscapePluginInstanceProxy> protect(this); // Plug-in host may crash while we are waiting for reply, releasing all instances to the instance proxy.
-
- willCallPluginFunction();
- m_waitingForReply = true;
-
- Reply* reply = processRequestsAndWaitForReply(requestID);
- if (reply)
- ASSERT(reply->m_type == T::ReplyType);
-
- m_waitingForReply = false;
-
- bool stopped = false;
- didCallPluginFunction(stopped);
- if (stopped) {
- // The instance proxy may have been deleted from didCallPluginFunction(), so a null reply needs to be returned.
- delete static_cast<T*>(reply);
- return std::auto_ptr<T>();
- }
-
- return std::auto_ptr<T>(static_cast<T*>(reply));
- }
-
- void webFrameDidFinishLoadWithReason(WebFrame*, NPReason);
-
-private:
- NetscapePluginInstanceProxy(NetscapePluginHostProxy*, WebHostedNetscapePluginView*, bool fullFramePlugin);
-
- NPError loadRequest(NSURLRequest*, const char* cTarget, bool currentEventIsUserGesture, uint32_t& streamID);
-
- class PluginRequest;
- void performRequest(PluginRequest*);
- void evaluateJavaScript(PluginRequest*);
-
- void stopAllStreams();
- Reply* processRequestsAndWaitForReply(uint32_t requestID);
-
- NetscapePluginHostProxy* m_pluginHostProxy;
- WebHostedNetscapePluginView *m_pluginView;
-
- void requestTimerFired(WebCore::Timer<NetscapePluginInstanceProxy>*);
- WebCore::Timer<NetscapePluginInstanceProxy> m_requestTimer;
- Deque<RefPtr<PluginRequest> > m_pluginRequests;
-
- HashMap<uint32_t, RefPtr<HostedNetscapePluginStream> > m_streams;
-
- uint32_t m_currentURLRequestID;
-
- uint32_t m_pluginID;
- uint32_t m_renderContextID;
- RendererType m_rendererType;
-
- bool m_waitingForReply;
- HashMap<uint32_t, Reply*> m_replies;
-
- // NPRuntime
-
- void addValueToArray(NSMutableArray *, JSC::ExecState* exec, JSC::JSValue value);
-
- bool demarshalValueFromArray(JSC::ExecState*, NSArray *array, NSUInteger& index, JSC::JSValue& result);
- void demarshalValues(JSC::ExecState*, data_t valuesData, mach_msg_type_number_t valuesLength, JSC::MarkedArgumentBuffer& result);
-
- class LocalObjectMap {
- WTF_MAKE_NONCOPYABLE(LocalObjectMap);
- public:
- LocalObjectMap();
- ~LocalObjectMap();
- uint32_t idForObject(JSC::VM&, JSC::JSObject*);
- void retain(JSC::JSObject*);
- void release(JSC::JSObject*);
- void clear();
- bool forget(uint32_t);
- bool contains(uint32_t) const;
- JSC::JSObject* get(uint32_t) const;
-
- private:
- HashMap<uint32_t, JSC::Strong<JSC::JSObject> > m_idToJSObjectMap;
- // The pair consists of object ID and a reference count. One reference belongs to remote plug-in,
- // and the proxy will add transient references for arguments that are being sent out.
- HashMap<JSC::JSObject*, pair<uint32_t, uint32_t> > m_jsObjectToIDMap;
- uint32_t m_objectIDCounter;
- };
-
- LocalObjectMap m_localObjects;
-
- typedef HashSet<ProxyInstance*> ProxyInstanceSet;
- ProxyInstanceSet m_instances;
-
- uint32_t m_urlCheckCounter;
- typedef HashMap<uint32_t, RetainPtr<id> > URLCheckMap;
- URLCheckMap m_urlChecks;
-
- unsigned m_pluginFunctionCallDepth;
- bool m_shouldStopSoon;
- uint32_t m_currentRequestID;
-
- // All NPRuntime functions will return false when destroying a plug-in. This is necessary because there may be unhandled messages waiting,
- // and spinning in processRequests() will unexpectedly execute them from inside destroy(). That's not a good time to execute arbitrary JavaScript,
- // since both loading and rendering data structures may be in inconsistent state.
- // This suppresses calls from all plug-ins, even those in different pages, since JS might affect the frame with plug-in that's being stopped.
- //
- // FIXME: Plug-ins can execute arbitrary JS from destroy() in same process case, and other browsers also support that.
- // A better fix may be to make sure that unrelated messages are postponed until after destroy() returns.
- // Another possible fix may be to send destroy message at a time when internal structures are consistent.
- //
- // FIXME: We lack similar message suppression in other cases - resize() is also triggered by layout, so executing arbitrary JS is also problematic.
- static bool m_inDestroy;
-
- bool m_pluginIsWaitingForDraw;
-
- RefPtr<HostedNetscapePluginStream> m_manualStream;
-
- typedef HashMap<WebFrame*, RefPtr<PluginRequest> > FrameLoadMap;
- FrameLoadMap m_pendingFrameLoads;
-};
-
-} // namespace WebKit
-
-#endif // NetscapePluginInstanceProxy_h
-#endif // USE(PLUGIN_HOST_PROCESS)
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
deleted file mode 100644
index 6cb861312..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
+++ /dev/null
@@ -1,1681 +0,0 @@
-/*
- * Copyright (C) 2008, 2009, 2010 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
-
-#import "NetscapePluginInstanceProxy.h"
-
-#import "HostedNetscapePluginStream.h"
-#import "NetscapePluginHostProxy.h"
-#import "ProxyInstance.h"
-#import "ProxyRuntimeObject.h"
-#import "WebDataSourceInternal.h"
-#import "WebFrameInternal.h"
-#import "WebHostedNetscapePluginView.h"
-#import "WebKitNSStringExtras.h"
-#import "WebNSDataExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebPluginRequest.h"
-#import "WebUIDelegate.h"
-#import "WebUIDelegatePrivate.h"
-#import "WebViewInternal.h"
-#import <JavaScriptCore/Completion.h>
-#import <JavaScriptCore/Error.h>
-#import <JavaScriptCore/JSLock.h>
-#import <JavaScriptCore/PropertyNameArray.h>
-#import <JavaScriptCore/SourceCode.h>
-#import <JavaScriptCore/StrongInlines.h>
-#import <WebCore/CookieJar.h>
-#import <WebCore/DocumentLoader.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/FrameTree.h>
-#import <WebCore/KURL.h>
-#import <WebCore/ProxyServer.h>
-#import <WebCore/SecurityOrigin.h>
-#import <WebCore/ScriptController.h>
-#import <WebCore/ScriptValue.h>
-#import <WebCore/UserGestureIndicator.h>
-#import <WebCore/npruntime_impl.h>
-#import <WebCore/runtime_object.h>
-#import <WebKitSystemInterface.h>
-#import <mach/mach.h>
-#import <utility>
-#import <wtf/RefCountedLeakCounter.h>
-#import <wtf/text/CString.h>
-
-extern "C" {
-#import "WebKitPluginClientServer.h"
-#import "WebKitPluginHost.h"
-}
-
-using namespace JSC;
-using namespace JSC::Bindings;
-using namespace WebCore;
-
-namespace WebKit {
-
-class NetscapePluginInstanceProxy::PluginRequest : public RefCounted<NetscapePluginInstanceProxy::PluginRequest> {
-public:
- static PassRefPtr<PluginRequest> create(uint32_t requestID, NSURLRequest* request, NSString* frameName, bool allowPopups)
- {
- return adoptRef(new PluginRequest(requestID, request, frameName, allowPopups));
- }
-
- uint32_t requestID() const { return m_requestID; }
- NSURLRequest* request() const { return m_request.get(); }
- NSString* frameName() const { return m_frameName.get(); }
- bool allowPopups() const { return m_allowPopups; }
-
-private:
- PluginRequest(uint32_t requestID, NSURLRequest* request, NSString* frameName, bool allowPopups)
- : m_requestID(requestID)
- , m_request(request)
- , m_frameName(frameName)
- , m_allowPopups(allowPopups)
- {
- }
-
- uint32_t m_requestID;
- RetainPtr<NSURLRequest*> m_request;
- RetainPtr<NSString*> m_frameName;
- bool m_allowPopups;
-};
-
-NetscapePluginInstanceProxy::LocalObjectMap::LocalObjectMap()
- : m_objectIDCounter(0)
-{
-}
-
-NetscapePluginInstanceProxy::LocalObjectMap::~LocalObjectMap()
-{
-}
-
-inline bool NetscapePluginInstanceProxy::LocalObjectMap::contains(uint32_t objectID) const
-{
- return m_idToJSObjectMap.contains(objectID);
-}
-
-inline JSC::JSObject* NetscapePluginInstanceProxy::LocalObjectMap::get(uint32_t objectID) const
-{
- if (objectID == HashTraits<uint32_t>::emptyValue() || HashTraits<uint32_t>::isDeletedValue(objectID))
- return 0;
-
- return m_idToJSObjectMap.get(objectID).get();
-}
-
-uint32_t NetscapePluginInstanceProxy::LocalObjectMap::idForObject(VM& vm, JSObject* object)
-{
- // This method creates objects with refcount of 1, but doesn't increase refcount when returning
- // found objects. This extra count accounts for the main "reference" kept by plugin process.
-
- // To avoid excessive IPC, plugin process doesn't send each NPObject release/retain call to
- // Safari. It only sends one when the last reference is removed, and it can destroy the proxy
- // NPObject.
-
- // However, the browser may be sending the same object out to plug-in as a function call
- // argument at the same time - neither side can know what the other one is doing. So,
- // is to make PCForgetBrowserObject call return a boolean result, making it possible for
- // the browser to make plugin host keep the proxy with zero refcount for a little longer.
-
- uint32_t objectID = 0;
-
- HashMap<JSC::JSObject*, pair<uint32_t, uint32_t> >::iterator iter = m_jsObjectToIDMap.find(object);
- if (iter != m_jsObjectToIDMap.end())
- return iter->value.first;
-
- do {
- objectID = ++m_objectIDCounter;
- } while (!m_objectIDCounter || m_objectIDCounter == static_cast<uint32_t>(-1) || m_idToJSObjectMap.contains(objectID));
-
- m_idToJSObjectMap.set(objectID, Strong<JSObject>(vm, object));
- m_jsObjectToIDMap.set(object, std::make_pair(objectID, 1));
-
- return objectID;
-}
-
-void NetscapePluginInstanceProxy::LocalObjectMap::retain(JSC::JSObject* object)
-{
- HashMap<JSC::JSObject*, pair<uint32_t, uint32_t> >::iterator iter = m_jsObjectToIDMap.find(object);
- ASSERT(iter != m_jsObjectToIDMap.end());
-
- iter->value.second = iter->value.second + 1;
-}
-
-void NetscapePluginInstanceProxy::LocalObjectMap::release(JSC::JSObject* object)
-{
- HashMap<JSC::JSObject*, pair<uint32_t, uint32_t> >::iterator iter = m_jsObjectToIDMap.find(object);
- ASSERT(iter != m_jsObjectToIDMap.end());
-
- ASSERT(iter->value.second > 0);
- iter->value.second = iter->value.second - 1;
- if (!iter->value.second) {
- m_idToJSObjectMap.remove(iter->value.first);
- m_jsObjectToIDMap.remove(iter);
- }
-}
-
-void NetscapePluginInstanceProxy::LocalObjectMap::clear()
-{
- m_idToJSObjectMap.clear();
- m_jsObjectToIDMap.clear();
-}
-
-bool NetscapePluginInstanceProxy::LocalObjectMap::forget(uint32_t objectID)
-{
- if (objectID == HashTraits<uint32_t>::emptyValue() || HashTraits<uint32_t>::isDeletedValue(objectID)) {
- LOG_ERROR("NetscapePluginInstanceProxy::LocalObjectMap::forget: local object id %u is not valid.", objectID);
- return true;
- }
-
- HashMap<uint32_t, JSC::Strong<JSC::JSObject> >::iterator iter = m_idToJSObjectMap.find(objectID);
- if (iter == m_idToJSObjectMap.end()) {
- LOG_ERROR("NetscapePluginInstanceProxy::LocalObjectMap::forget: local object %u doesn't exist.", objectID);
- return true;
- }
-
- HashMap<JSC::JSObject*, pair<uint32_t, uint32_t> >::iterator rIter = m_jsObjectToIDMap.find(iter->value.get());
-
- // If the object is being sent to plug-in right now, then it's not the time to forget.
- if (rIter->value.second != 1)
- return false;
-
- m_jsObjectToIDMap.remove(rIter);
- m_idToJSObjectMap.remove(iter);
- return true;
-}
-
-static uint32_t pluginIDCounter;
-
-bool NetscapePluginInstanceProxy::m_inDestroy;
-
-DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, netscapePluginInstanceProxyCounter, ("NetscapePluginInstanceProxy"));
-
-NetscapePluginInstanceProxy::NetscapePluginInstanceProxy(NetscapePluginHostProxy* pluginHostProxy, WebHostedNetscapePluginView *pluginView, bool fullFramePlugin)
- : m_pluginHostProxy(pluginHostProxy)
- , m_pluginView(pluginView)
- , m_requestTimer(this, &NetscapePluginInstanceProxy::requestTimerFired)
- , m_currentURLRequestID(0)
- , m_renderContextID(0)
- , m_rendererType(UseSoftwareRenderer)
- , m_waitingForReply(false)
- , m_urlCheckCounter(0)
- , m_pluginFunctionCallDepth(0)
- , m_shouldStopSoon(false)
- , m_currentRequestID(0)
- , m_pluginIsWaitingForDraw(false)
-{
- ASSERT(m_pluginView);
-
- if (fullFramePlugin) {
- // For full frame plug-ins, the first requestID will always be the one for the already
- // open stream.
- ++m_currentURLRequestID;
- }
-
- // Assign a plug-in ID.
- do {
- m_pluginID = ++pluginIDCounter;
- } while (pluginHostProxy->pluginInstance(m_pluginID) || !m_pluginID);
-
-#ifndef NDEBUG
- netscapePluginInstanceProxyCounter.increment();
-#endif
-}
-
-PassRefPtr<NetscapePluginInstanceProxy> NetscapePluginInstanceProxy::create(NetscapePluginHostProxy* pluginHostProxy, WebHostedNetscapePluginView *pluginView, bool fullFramePlugin)
-{
- RefPtr<NetscapePluginInstanceProxy> proxy = adoptRef(new NetscapePluginInstanceProxy(pluginHostProxy, pluginView, fullFramePlugin));
- pluginHostProxy->addPluginInstance(proxy.get());
- return proxy.release();
-}
-
-NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy()
-{
- ASSERT(!m_pluginHostProxy);
-
- m_pluginID = 0;
- deleteAllValues(m_replies);
-
-#ifndef NDEBUG
- netscapePluginInstanceProxyCounter.decrement();
-#endif
-}
-
-void NetscapePluginInstanceProxy::resize(NSRect size, NSRect clipRect)
-{
- uint32_t requestID = 0;
-
- requestID = nextRequestID();
-
- _WKPHResizePluginInstance(m_pluginHostProxy->port(), m_pluginID, requestID,
- size.origin.x, size.origin.y, size.size.width, size.size.height,
- clipRect.origin.x, clipRect.origin.y, clipRect.size.width, clipRect.size.height);
-
- waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
-}
-
-void NetscapePluginInstanceProxy::stopAllStreams()
-{
- Vector<RefPtr<HostedNetscapePluginStream> > streamsCopy;
- copyValuesToVector(m_streams, streamsCopy);
- for (size_t i = 0; i < streamsCopy.size(); i++)
- streamsCopy[i]->stop();
-}
-
-void NetscapePluginInstanceProxy::cleanup()
-{
- stopAllStreams();
-
- m_requestTimer.stop();
-
- // Clear the object map, this will cause any outstanding JS objects that the plug-in had a reference to
- // to go away when the next garbage collection takes place.
- m_localObjects.clear();
-
- if (Frame* frame = core([m_pluginView webFrame]))
- frame->script()->cleanupScriptObjectsForPlugin(m_pluginView);
-
- ProxyInstanceSet instances;
- instances.swap(m_instances);
-
- // Invalidate all proxy instances.
- ProxyInstanceSet::const_iterator end = instances.end();
- for (ProxyInstanceSet::const_iterator it = instances.begin(); it != end; ++it)
- (*it)->invalidate();
-
- m_pluginView = nil;
- m_manualStream = 0;
-}
-
-void NetscapePluginInstanceProxy::invalidate()
-{
- // If the plug-in host has died, the proxy will be null.
- if (!m_pluginHostProxy)
- return;
-
- m_pluginHostProxy->removePluginInstance(this);
- m_pluginHostProxy = 0;
-}
-
-void NetscapePluginInstanceProxy::destroy()
-{
- uint32_t requestID = nextRequestID();
-
- ASSERT(!m_inDestroy);
- m_inDestroy = true;
-
- FrameLoadMap::iterator end = m_pendingFrameLoads.end();
- for (FrameLoadMap::iterator it = m_pendingFrameLoads.begin(); it != end; ++it)
- [(it->key) _setInternalLoadDelegate:nil];
-
- _WKPHDestroyPluginInstance(m_pluginHostProxy->port(), m_pluginID, requestID);
-
- // If the plug-in host crashes while we're waiting for a reply, the last reference to the instance proxy
- // will go away. Prevent this by protecting it here.
- RefPtr<NetscapePluginInstanceProxy> protect(this);
-
- // We don't care about the reply here - we just want to block until the plug-in instance has been torn down.
- waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
-
- m_inDestroy = false;
-
- cleanup();
- invalidate();
-}
-
-void NetscapePluginInstanceProxy::setManualStream(PassRefPtr<HostedNetscapePluginStream> manualStream)
-{
- ASSERT(!m_manualStream);
-
- m_manualStream = manualStream;
-}
-
-bool NetscapePluginInstanceProxy::cancelStreamLoad(uint32_t streamID, NPReason reason)
-{
- HostedNetscapePluginStream* stream = 0;
-
- if (m_manualStream && streamID == 1)
- stream = m_manualStream.get();
- else
- stream = m_streams.get(streamID);
-
- if (!stream)
- return false;
-
- stream->cancelLoad(reason);
- return true;
-}
-
-void NetscapePluginInstanceProxy::disconnectStream(HostedNetscapePluginStream* stream)
-{
- if (stream == m_manualStream) {
- m_manualStream = 0;
- return;
- }
-
- ASSERT(m_streams.get(stream->streamID()) == stream);
- m_streams.remove(stream->streamID());
-}
-
-void NetscapePluginInstanceProxy::pluginHostDied()
-{
- m_pluginHostProxy = 0;
-
- [m_pluginView pluginHostDied];
-
- cleanup();
-}
-
-void NetscapePluginInstanceProxy::focusChanged(bool hasFocus)
-{
- _WKPHPluginInstanceFocusChanged(m_pluginHostProxy->port(), m_pluginID, hasFocus);
-}
-
-void NetscapePluginInstanceProxy::windowFocusChanged(bool hasFocus)
-{
- _WKPHPluginInstanceWindowFocusChanged(m_pluginHostProxy->port(), m_pluginID, hasFocus);
-}
-
-void NetscapePluginInstanceProxy::windowFrameChanged(NSRect frame)
-{
- _WKPHPluginInstanceWindowFrameChanged(m_pluginHostProxy->port(), m_pluginID, frame.origin.x, frame.origin.y, frame.size.width, frame.size.height,
- NSMaxY([[[NSScreen screens] objectAtIndex:0] frame]));
-}
-
-void NetscapePluginInstanceProxy::startTimers(bool throttleTimers)
-{
- _WKPHPluginInstanceStartTimers(m_pluginHostProxy->port(), m_pluginID, throttleTimers);
-}
-
-void NetscapePluginInstanceProxy::mouseEvent(NSView *pluginView, NSEvent *event, NPCocoaEventType type)
-{
- NSPoint screenPoint = [[event window] convertBaseToScreen:[event locationInWindow]];
- NSPoint pluginPoint = [pluginView convertPoint:[event locationInWindow] fromView:nil];
-
- int clickCount;
- if (type == NPCocoaEventMouseEntered || type == NPCocoaEventMouseExited)
- clickCount = 0;
- else
- clickCount = [event clickCount];
-
-
- _WKPHPluginInstanceMouseEvent(m_pluginHostProxy->port(), m_pluginID,
- [event timestamp],
- type, [event modifierFlags],
- pluginPoint.x, pluginPoint.y,
- screenPoint.x, screenPoint.y,
- NSMaxY([[[NSScreen screens] objectAtIndex:0] frame]),
- [event buttonNumber], clickCount,
- [event deltaX], [event deltaY], [event deltaZ]);
-}
-
-void NetscapePluginInstanceProxy::keyEvent(NSView *pluginView, NSEvent *event, NPCocoaEventType type)
-{
- NSData *charactersData = [[event characters] dataUsingEncoding:NSUTF8StringEncoding];
- NSData *charactersIgnoringModifiersData = [[event charactersIgnoringModifiers] dataUsingEncoding:NSUTF8StringEncoding];
-
- _WKPHPluginInstanceKeyboardEvent(m_pluginHostProxy->port(), m_pluginID,
- [event timestamp],
- type, [event modifierFlags],
- const_cast<char*>(reinterpret_cast<const char*>([charactersData bytes])), [charactersData length],
- const_cast<char*>(reinterpret_cast<const char*>([charactersIgnoringModifiersData bytes])), [charactersIgnoringModifiersData length],
- [event isARepeat], [event keyCode], WKGetNSEventKeyChar(event));
-}
-
-void NetscapePluginInstanceProxy::syntheticKeyDownWithCommandModifier(int keyCode, char character)
-{
- NSData *charactersData = [NSData dataWithBytes:&character length:1];
-
- _WKPHPluginInstanceKeyboardEvent(m_pluginHostProxy->port(), m_pluginID,
- [NSDate timeIntervalSinceReferenceDate],
- NPCocoaEventKeyDown, NSCommandKeyMask,
- const_cast<char*>(reinterpret_cast<const char*>([charactersData bytes])), [charactersData length],
- const_cast<char*>(reinterpret_cast<const char*>([charactersData bytes])), [charactersData length],
- false, keyCode, character);
-}
-
-void NetscapePluginInstanceProxy::flagsChanged(NSEvent *event)
-{
- _WKPHPluginInstanceKeyboardEvent(m_pluginHostProxy->port(), m_pluginID,
- [event timestamp], NPCocoaEventFlagsChanged,
- [event modifierFlags], 0, 0, 0, 0, false, [event keyCode], 0);
-}
-
-void NetscapePluginInstanceProxy::insertText(NSString *text)
-{
- NSData *textData = [text dataUsingEncoding:NSUTF8StringEncoding];
-
- _WKPHPluginInstanceInsertText(m_pluginHostProxy->port(), m_pluginID,
- const_cast<char*>(reinterpret_cast<const char*>([textData bytes])), [textData length]);
-}
-
-bool NetscapePluginInstanceProxy::wheelEvent(NSView *pluginView, NSEvent *event)
-{
- NSPoint pluginPoint = [pluginView convertPoint:[event locationInWindow] fromView:nil];
-
- uint32_t requestID = nextRequestID();
- _WKPHPluginInstanceWheelEvent(m_pluginHostProxy->port(), m_pluginID, requestID,
- [event timestamp], [event modifierFlags],
- pluginPoint.x, pluginPoint.y, [event buttonNumber],
- [event deltaX], [event deltaY], [event deltaZ]);
-
- std::auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
- if (!reply.get() || !reply->m_result)
- return false;
-
- return true;
-}
-
-void NetscapePluginInstanceProxy::print(CGContextRef context, unsigned width, unsigned height)
-{
- uint32_t requestID = nextRequestID();
- _WKPHPluginInstancePrint(m_pluginHostProxy->port(), m_pluginID, requestID, width, height);
-
- std::auto_ptr<NetscapePluginInstanceProxy::BooleanAndDataReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanAndDataReply>(requestID);
- if (!reply.get() || !reply->m_returnValue)
- return;
-
- RetainPtr<CGDataProvider> dataProvider = adoptCF(CGDataProviderCreateWithCFData(reply->m_result.get()));
- RetainPtr<CGColorSpaceRef> colorSpace = adoptCF(CGColorSpaceCreateDeviceRGB());
- RetainPtr<CGImageRef> image = adoptCF(CGImageCreate(width, height, 8, 32, width * 4, colorSpace.get(), kCGImageAlphaFirst, dataProvider.get(), 0, false, kCGRenderingIntentDefault));
-
- // Flip the context and draw the image.
- CGContextSaveGState(context);
- CGContextTranslateCTM(context, 0.0, height);
- CGContextScaleCTM(context, 1.0, -1.0);
-
- CGContextDrawImage(context, CGRectMake(0, 0, width, height), image.get());
-
- CGContextRestoreGState(context);
-}
-
-void NetscapePluginInstanceProxy::snapshot(CGContextRef context, unsigned width, unsigned height)
-{
- uint32_t requestID = nextRequestID();
- _WKPHPluginInstanceSnapshot(m_pluginHostProxy->port(), m_pluginID, requestID, width, height);
-
- std::auto_ptr<NetscapePluginInstanceProxy::BooleanAndDataReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanAndDataReply>(requestID);
- if (!reply.get() || !reply->m_returnValue)
- return;
-
- RetainPtr<CGDataProvider> dataProvider = adoptCF(CGDataProviderCreateWithCFData(reply->m_result.get()));
- RetainPtr<CGColorSpaceRef> colorSpace = adoptCF(CGColorSpaceCreateDeviceRGB());
- RetainPtr<CGImageRef> image = adoptCF(CGImageCreate(width, height, 8, 32, width * 4, colorSpace.get(), kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host, dataProvider.get(), 0, false, kCGRenderingIntentDefault));
-
- CGContextDrawImage(context, CGRectMake(0, 0, width, height), image.get());
-}
-
-void NetscapePluginInstanceProxy::stopTimers()
-{
- _WKPHPluginInstanceStopTimers(m_pluginHostProxy->port(), m_pluginID);
-}
-
-void NetscapePluginInstanceProxy::status(const char* message)
-{
- RetainPtr<CFStringRef> status = adoptCF(CFStringCreateWithCString(0, message ? message : "", kCFStringEncodingUTF8));
- if (!status)
- return;
-
- WebView *wv = [m_pluginView webView];
- [[wv _UIDelegateForwarder] webView:wv setStatusText:(NSString *)status.get()];
-}
-
-NPError NetscapePluginInstanceProxy::loadURL(const char* url, const char* target, const char* postData, uint32_t postLen, LoadURLFlags flags, uint32_t& streamID)
-{
- if (!url)
- return NPERR_INVALID_PARAM;
-
- NSMutableURLRequest *request = [m_pluginView requestWithURLCString:url];
-
- if (flags & IsPost) {
- NSData *httpBody = nil;
-
- if (flags & PostDataIsFile) {
- // If we're posting a file, buf is either a file URL or a path to the file.
- if (!postData)
- return NPERR_INVALID_PARAM;
- RetainPtr<CFStringRef> bufString = adoptCF(CFStringCreateWithCString(kCFAllocatorDefault, postData, kCFStringEncodingWindowsLatin1));
- if (!bufString)
- return NPERR_INVALID_PARAM;
-
- NSURL *fileURL = [NSURL _web_URLWithDataAsString:(NSString *)bufString.get()];
- NSString *path;
- if ([fileURL isFileURL])
- path = [fileURL path];
- else
- path = (NSString *)bufString.get();
- httpBody = [NSData dataWithContentsOfFile:[path _webkit_fixedCarbonPOSIXPath]];
- if (!httpBody)
- return NPERR_FILE_NOT_FOUND;
- } else
- httpBody = [NSData dataWithBytes:postData length:postLen];
-
- if (![httpBody length])
- return NPERR_INVALID_PARAM;
-
- [request setHTTPMethod:@"POST"];
-
- if (flags & AllowHeadersInPostData) {
- if ([httpBody _web_startsWithBlankLine])
- httpBody = [httpBody subdataWithRange:NSMakeRange(1, [httpBody length] - 1)];
- else {
- NSInteger location = [httpBody _web_locationAfterFirstBlankLine];
- if (location != NSNotFound) {
- // If the blank line is somewhere in the middle of postData, everything before is the header.
- NSData *headerData = [httpBody subdataWithRange:NSMakeRange(0, location)];
- NSMutableDictionary *header = [headerData _webkit_parseRFC822HeaderFields];
- unsigned dataLength = [httpBody length] - location;
-
- // Sometimes plugins like to set Content-Length themselves when they post,
- // but CFNetwork does not like that. So we will remove the header
- // and instead truncate the data to the requested length.
- NSString *contentLength = [header objectForKey:@"Content-Length"];
-
- if (contentLength)
- dataLength = std::min(static_cast<unsigned>([contentLength intValue]), dataLength);
- [header removeObjectForKey:@"Content-Length"];
-
- if ([header count] > 0)
- [request setAllHTTPHeaderFields:header];
-
- // Everything after the blank line is the actual content of the POST.
- httpBody = [httpBody subdataWithRange:NSMakeRange(location, dataLength)];
- }
- }
- }
-
- if (![httpBody length])
- return NPERR_INVALID_PARAM;
-
- // Plug-ins expect to receive uncached data when doing a POST (3347134).
- [request setCachePolicy:NSURLRequestReloadIgnoringCacheData];
- [request setHTTPBody:httpBody];
- }
-
- return loadRequest(request, target, flags & AllowPopups, streamID);
-}
-
-void NetscapePluginInstanceProxy::performRequest(PluginRequest* pluginRequest)
-{
- // Loading the request can cause the instance proxy to go away, so protect it.
- RefPtr<NetscapePluginInstanceProxy> protect(this);
-
- ASSERT(m_pluginView);
-
- NSURLRequest *request = pluginRequest->request();
- NSString *frameName = pluginRequest->frameName();
- WebFrame *frame = nil;
-
- NSURL *URL = [request URL];
- NSString *JSString = [URL _webkit_scriptIfJavaScriptURL];
-
- ASSERT(frameName || JSString);
- if (frameName) {
- // FIXME - need to get rid of this window creation which
- // bypasses normal targeted link handling
- frame = kit(core([m_pluginView webFrame])->loader()->findFrameForNavigation(frameName));
- if (!frame) {
- WebView *currentWebView = [m_pluginView webView];
- NSDictionary *features = [[NSDictionary alloc] init];
- WebView *newWebView = [[currentWebView _UIDelegateForwarder] webView:currentWebView
- createWebViewWithRequest:nil
- windowFeatures:features];
- [features release];
-
- if (!newWebView) {
- _WKPHLoadURLNotify(m_pluginHostProxy->port(), m_pluginID, pluginRequest->requestID(), NPERR_GENERIC_ERROR);
- return;
- }
-
- frame = [newWebView mainFrame];
- core(frame)->tree()->setName(frameName);
- [[newWebView _UIDelegateForwarder] webViewShow:newWebView];
- }
- }
-
- if (JSString) {
- ASSERT(!frame || [m_pluginView webFrame] == frame);
- evaluateJavaScript(pluginRequest);
- } else {
- [frame loadRequest:request];
-
- // Check if another plug-in view or even this view is waiting for the frame to load.
- // If it is, tell it that the load was cancelled because it will be anyway.
- WebHostedNetscapePluginView *view = [frame _internalLoadDelegate];
- if (view != nil) {
- ASSERT([view isKindOfClass:[WebHostedNetscapePluginView class]]);
- [view webFrame:frame didFinishLoadWithReason:NPRES_USER_BREAK];
- }
- m_pendingFrameLoads.set(frame, pluginRequest);
- [frame _setInternalLoadDelegate:m_pluginView];
- }
-
-}
-
-void NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason(WebFrame* webFrame, NPReason reason)
-{
- FrameLoadMap::iterator it = m_pendingFrameLoads.find(webFrame);
- ASSERT(it != m_pendingFrameLoads.end());
-
- PluginRequest* pluginRequest = it->value.get();
- _WKPHLoadURLNotify(m_pluginHostProxy->port(), m_pluginID, pluginRequest->requestID(), reason);
-
- m_pendingFrameLoads.remove(it);
-
- [webFrame _setInternalLoadDelegate:nil];
-}
-
-void NetscapePluginInstanceProxy::evaluateJavaScript(PluginRequest* pluginRequest)
-{
- NSURL *URL = [pluginRequest->request() URL];
- NSString *JSString = [URL _webkit_scriptIfJavaScriptURL];
- ASSERT(JSString);
-
- RefPtr<NetscapePluginInstanceProxy> protect(this); // Executing arbitrary JavaScript can destroy the proxy.
-
- NSString *result = [[m_pluginView webFrame] _stringByEvaluatingJavaScriptFromString:JSString forceUserGesture:pluginRequest->allowPopups()];
-
- // Don't continue if stringByEvaluatingJavaScriptFromString caused the plug-in to stop.
- if (!m_pluginHostProxy)
- return;
-
- if (pluginRequest->frameName() != nil)
- return;
-
- if ([result length] > 0) {
- // Don't call NPP_NewStream and other stream methods if there is no JS result to deliver. This is what Mozilla does.
- NSData *JSData = [result dataUsingEncoding:NSUTF8StringEncoding];
-
- RefPtr<HostedNetscapePluginStream> stream = HostedNetscapePluginStream::create(this, pluginRequest->requestID(), pluginRequest->request());
- m_streams.add(stream->streamID(), stream);
-
- RetainPtr<NSURLResponse> response = adoptNS([[NSURLResponse alloc] initWithURL:URL
- MIMEType:@"text/plain"
- expectedContentLength:[JSData length]
- textEncodingName:nil]);
- stream->startStreamWithResponse(response.get());
- stream->didReceiveData(0, static_cast<const char*>([JSData bytes]), [JSData length]);
- stream->didFinishLoading(0);
- }
-}
-
-void NetscapePluginInstanceProxy::requestTimerFired(Timer<NetscapePluginInstanceProxy>*)
-{
- ASSERT(!m_pluginRequests.isEmpty());
- ASSERT(m_pluginView);
-
- RefPtr<PluginRequest> request = m_pluginRequests.first();
- m_pluginRequests.removeFirst();
-
- if (!m_pluginRequests.isEmpty())
- m_requestTimer.startOneShot(0);
-
- performRequest(request.get());
-}
-
-NPError NetscapePluginInstanceProxy::loadRequest(NSURLRequest *request, const char* cTarget, bool allowPopups, uint32_t& requestID)
-{
- NSURL *URL = [request URL];
-
- if (!URL)
- return NPERR_INVALID_URL;
-
- // Don't allow requests to be loaded when the document loader is stopping all loaders.
- DocumentLoader* documentLoader = [[m_pluginView dataSource] _documentLoader];
- if (!documentLoader || documentLoader->isStopping())
- return NPERR_GENERIC_ERROR;
-
- NSString *target = nil;
- if (cTarget) {
- // Find the frame given the target string.
- target = [NSString stringWithCString:cTarget encoding:NSISOLatin1StringEncoding];
- }
- WebFrame *frame = [m_pluginView webFrame];
-
- // don't let a plugin start any loads if it is no longer part of a document that is being
- // displayed unless the loads are in the same frame as the plugin.
- if (documentLoader != core([m_pluginView webFrame])->loader()->activeDocumentLoader() &&
- (!cTarget || [frame findFrameNamed:target] != frame)) {
- return NPERR_GENERIC_ERROR;
- }
-
- NSString *JSString = [URL _webkit_scriptIfJavaScriptURL];
- if (JSString != nil) {
- if (![[[m_pluginView webView] preferences] isJavaScriptEnabled]) {
- // Return NPERR_GENERIC_ERROR if JS is disabled. This is what Mozilla does.
- return NPERR_GENERIC_ERROR;
- }
- } else {
- if (!core([m_pluginView webFrame])->document()->securityOrigin()->canDisplay(URL))
- return NPERR_GENERIC_ERROR;
- }
-
- // FIXME: Handle wraparound
- requestID = ++m_currentURLRequestID;
-
- if (cTarget || JSString) {
- // Make when targetting a frame or evaluating a JS string, perform the request after a delay because we don't
- // want to potentially kill the plug-in inside of its URL request.
-
- if (JSString && target && [frame findFrameNamed:target] != frame) {
- // For security reasons, only allow JS requests to be made on the frame that contains the plug-in.
- return NPERR_INVALID_PARAM;
- }
-
- RefPtr<PluginRequest> pluginRequest = PluginRequest::create(requestID, request, target, allowPopups);
- m_pluginRequests.append(pluginRequest.release());
- m_requestTimer.startOneShot(0);
- } else {
- RefPtr<HostedNetscapePluginStream> stream = HostedNetscapePluginStream::create(this, requestID, request);
-
- ASSERT(!m_streams.contains(requestID));
- m_streams.add(requestID, stream);
- stream->start();
- }
-
- return NPERR_NO_ERROR;
-}
-
-NetscapePluginInstanceProxy::Reply* NetscapePluginInstanceProxy::processRequestsAndWaitForReply(uint32_t requestID)
-{
- Reply* reply = 0;
-
- ASSERT(m_pluginHostProxy);
- while (!(reply = m_replies.take(requestID))) {
- if (!m_pluginHostProxy->processRequests())
- return 0;
-
- // The host proxy can be destroyed while executing a nested processRequests() call, in which case it's normal
- // to get a success result, but be unable to keep looping.
- if (!m_pluginHostProxy)
- return 0;
- }
-
- ASSERT(reply);
- return reply;
-}
-
-// NPRuntime support
-bool NetscapePluginInstanceProxy::getWindowNPObject(uint32_t& objectID)
-{
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- if (!frame->script()->canExecuteScripts(NotAboutToExecuteScript))
- objectID = 0;
- else
- objectID = m_localObjects.idForObject(*pluginWorld()->vm(), frame->script()->windowShell(pluginWorld())->window());
-
- return true;
-}
-
-bool NetscapePluginInstanceProxy::getPluginElementNPObject(uint32_t& objectID)
-{
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- if (JSObject* object = frame->script()->jsObjectForPluginElement([m_pluginView element]))
- objectID = m_localObjects.idForObject(*pluginWorld()->vm(), object);
- else
- objectID = 0;
-
- return true;
-}
-
-bool NetscapePluginInstanceProxy::forgetBrowserObjectID(uint32_t objectID)
-{
- return m_localObjects.forget(objectID);
-}
-
-bool NetscapePluginInstanceProxy::evaluate(uint32_t objectID, const String& script, data_t& resultData, mach_msg_type_number_t& resultLength, bool allowPopups)
-{
- resultData = 0;
- resultLength = 0;
-
- if (m_inDestroy)
- return false;
-
- if (!m_localObjects.contains(objectID)) {
- LOG_ERROR("NetscapePluginInstanceProxy::evaluate: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- JSLockHolder lock(pluginWorld()->vm());
- Strong<JSGlobalObject> globalObject(*pluginWorld()->vm(), frame->script()->globalObject(pluginWorld()));
- ExecState* exec = globalObject->globalExec();
-
- UserGestureIndicator gestureIndicator(allowPopups ? DefinitelyProcessingUserGesture : PossiblyProcessingUserGesture);
-
- JSValue result = JSC::evaluate(exec, makeSource(script));
-
- marshalValue(exec, result, resultData, resultLength);
- exec->clearException();
- return true;
-}
-
-bool NetscapePluginInstanceProxy::invoke(uint32_t objectID, const Identifier& methodName, data_t argumentsData, mach_msg_type_number_t argumentsLength, data_t& resultData, mach_msg_type_number_t& resultLength)
-{
- resultData = 0;
- resultLength = 0;
-
- if (m_inDestroy)
- return false;
-
- JSObject* object = m_localObjects.get(objectID);
- if (!object) {
- LOG_ERROR("NetscapePluginInstanceProxy::invoke: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- ExecState* exec = frame->script()->globalObject(pluginWorld())->globalExec();
- JSLockHolder lock(exec);
- JSValue function = object->get(exec, methodName);
- CallData callData;
- CallType callType = getCallData(function, callData);
- if (callType == CallTypeNone)
- return false;
-
- MarkedArgumentBuffer argList;
- demarshalValues(exec, argumentsData, argumentsLength, argList);
-
- JSValue value = call(exec, function, callType, callData, object->methodTable()->toThisObject(object, exec), argList);
-
- marshalValue(exec, value, resultData, resultLength);
- exec->clearException();
- return true;
-}
-
-bool NetscapePluginInstanceProxy::invokeDefault(uint32_t objectID, data_t argumentsData, mach_msg_type_number_t argumentsLength, data_t& resultData, mach_msg_type_number_t& resultLength)
-{
- if (m_inDestroy)
- return false;
-
- JSObject* object = m_localObjects.get(objectID);
- if (!object) {
- LOG_ERROR("NetscapePluginInstanceProxy::invokeDefault: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- ExecState* exec = frame->script()->globalObject(pluginWorld())->globalExec();
- JSLockHolder lock(exec);
- CallData callData;
- CallType callType = object->methodTable()->getCallData(object, callData);
- if (callType == CallTypeNone)
- return false;
-
- MarkedArgumentBuffer argList;
- demarshalValues(exec, argumentsData, argumentsLength, argList);
-
- JSValue value = call(exec, object, callType, callData, object->methodTable()->toThisObject(object, exec), argList);
-
- marshalValue(exec, value, resultData, resultLength);
- exec->clearException();
- return true;
-}
-
-bool NetscapePluginInstanceProxy::construct(uint32_t objectID, data_t argumentsData, mach_msg_type_number_t argumentsLength, data_t& resultData, mach_msg_type_number_t& resultLength)
-{
- if (m_inDestroy)
- return false;
-
- JSObject* object = m_localObjects.get(objectID);
- if (!object) {
- LOG_ERROR("NetscapePluginInstanceProxy::construct: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- ExecState* exec = frame->script()->globalObject(pluginWorld())->globalExec();
- JSLockHolder lock(exec);
-
- ConstructData constructData;
- ConstructType constructType = object->methodTable()->getConstructData(object, constructData);
- if (constructType == ConstructTypeNone)
- return false;
-
- MarkedArgumentBuffer argList;
- demarshalValues(exec, argumentsData, argumentsLength, argList);
-
- JSValue value = JSC::construct(exec, object, constructType, constructData, argList);
-
- marshalValue(exec, value, resultData, resultLength);
- exec->clearException();
- return true;
-}
-
-bool NetscapePluginInstanceProxy::getProperty(uint32_t objectID, const Identifier& propertyName, data_t& resultData, mach_msg_type_number_t& resultLength)
-{
- if (m_inDestroy)
- return false;
-
- JSObject* object = m_localObjects.get(objectID);
- if (!object) {
- LOG_ERROR("NetscapePluginInstanceProxy::getProperty: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- ExecState* exec = frame->script()->globalObject(pluginWorld())->globalExec();
- JSLockHolder lock(exec);
- JSValue value = object->get(exec, propertyName);
-
- marshalValue(exec, value, resultData, resultLength);
- exec->clearException();
- return true;
-}
-
-bool NetscapePluginInstanceProxy::getProperty(uint32_t objectID, unsigned propertyName, data_t& resultData, mach_msg_type_number_t& resultLength)
-{
- JSObject* object = m_localObjects.get(objectID);
- if (!object) {
- LOG_ERROR("NetscapePluginInstanceProxy::getProperty: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- ExecState* exec = frame->script()->globalObject(pluginWorld())->globalExec();
- JSLockHolder lock(exec);
- JSValue value = object->get(exec, propertyName);
-
- marshalValue(exec, value, resultData, resultLength);
- exec->clearException();
- return true;
-}
-
-bool NetscapePluginInstanceProxy::setProperty(uint32_t objectID, const Identifier& propertyName, data_t valueData, mach_msg_type_number_t valueLength)
-{
- if (m_inDestroy)
- return false;
-
- JSObject* object = m_localObjects.get(objectID);
- if (!object) {
- LOG_ERROR("NetscapePluginInstanceProxy::setProperty: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- ExecState* exec = frame->script()->globalObject(pluginWorld())->globalExec();
- JSLockHolder lock(exec);
-
- JSValue value = demarshalValue(exec, valueData, valueLength);
- PutPropertySlot slot;
- object->methodTable()->put(object, exec, propertyName, value, slot);
-
- exec->clearException();
- return true;
-}
-
-bool NetscapePluginInstanceProxy::setProperty(uint32_t objectID, unsigned propertyName, data_t valueData, mach_msg_type_number_t valueLength)
-{
- if (m_inDestroy)
- return false;
-
- JSObject* object = m_localObjects.get(objectID);
- if (!object) {
- LOG_ERROR("NetscapePluginInstanceProxy::setProperty: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- ExecState* exec = frame->script()->globalObject(pluginWorld())->globalExec();
- JSLockHolder lock(exec);
-
- JSValue value = demarshalValue(exec, valueData, valueLength);
- object->methodTable()->putByIndex(object, exec, propertyName, value, false);
-
- exec->clearException();
- return true;
-}
-
-bool NetscapePluginInstanceProxy::removeProperty(uint32_t objectID, const Identifier& propertyName)
-{
- if (m_inDestroy)
- return false;
-
- JSObject* object = m_localObjects.get(objectID);
- if (!object) {
- LOG_ERROR("NetscapePluginInstanceProxy::removeProperty: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- ExecState* exec = frame->script()->globalObject(pluginWorld())->globalExec();
- JSLockHolder lock(exec);
- if (!object->hasProperty(exec, propertyName)) {
- exec->clearException();
- return false;
- }
-
- object->methodTable()->deleteProperty(object, exec, propertyName);
- exec->clearException();
- return true;
-}
-
-bool NetscapePluginInstanceProxy::removeProperty(uint32_t objectID, unsigned propertyName)
-{
- if (m_inDestroy)
- return false;
-
- JSObject* object = m_localObjects.get(objectID);
- if (!object) {
- LOG_ERROR("NetscapePluginInstanceProxy::removeProperty: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- ExecState* exec = frame->script()->globalObject(pluginWorld())->globalExec();
- JSLockHolder lock(exec);
- if (!object->hasProperty(exec, propertyName)) {
- exec->clearException();
- return false;
- }
-
- object->methodTable()->deletePropertyByIndex(object, exec, propertyName);
- exec->clearException();
- return true;
-}
-
-bool NetscapePluginInstanceProxy::hasProperty(uint32_t objectID, const Identifier& propertyName)
-{
- if (m_inDestroy)
- return false;
-
- JSObject* object = m_localObjects.get(objectID);
- if (!object) {
- LOG_ERROR("NetscapePluginInstanceProxy::hasProperty: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- ExecState* exec = frame->script()->globalObject(pluginWorld())->globalExec();
- bool result = object->hasProperty(exec, propertyName);
- exec->clearException();
-
- return result;
-}
-
-bool NetscapePluginInstanceProxy::hasProperty(uint32_t objectID, unsigned propertyName)
-{
- if (m_inDestroy)
- return false;
-
- JSObject* object = m_localObjects.get(objectID);
- if (!object) {
- LOG_ERROR("NetscapePluginInstanceProxy::hasProperty: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- ExecState* exec = frame->script()->globalObject(pluginWorld())->globalExec();
- bool result = object->hasProperty(exec, propertyName);
- exec->clearException();
-
- return result;
-}
-
-bool NetscapePluginInstanceProxy::hasMethod(uint32_t objectID, const Identifier& methodName)
-{
- if (m_inDestroy)
- return false;
-
- JSObject* object = m_localObjects.get(objectID);
- if (!object) {
- LOG_ERROR("NetscapePluginInstanceProxy::hasMethod: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- ExecState* exec = frame->script()->globalObject(pluginWorld())->globalExec();
- JSLockHolder lock(exec);
- JSValue func = object->get(exec, methodName);
- exec->clearException();
- return !func.isUndefined();
-}
-
-bool NetscapePluginInstanceProxy::enumerate(uint32_t objectID, data_t& resultData, mach_msg_type_number_t& resultLength)
-{
- if (m_inDestroy)
- return false;
-
- JSObject* object = m_localObjects.get(objectID);
- if (!object) {
- LOG_ERROR("NetscapePluginInstanceProxy::enumerate: local object %u doesn't exist.", objectID);
- return false;
- }
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- ExecState* exec = frame->script()->globalObject(pluginWorld())->globalExec();
- JSLockHolder lock(exec);
-
- PropertyNameArray propertyNames(exec);
- object->methodTable()->getPropertyNames(object, exec, propertyNames, ExcludeDontEnumProperties);
-
- RetainPtr<NSMutableArray*> array = adoptNS([[NSMutableArray alloc] init]);
- for (unsigned i = 0; i < propertyNames.size(); i++) {
- uint64_t methodName = reinterpret_cast<uint64_t>(_NPN_GetStringIdentifier(propertyNames[i].string().utf8().data()));
-
- [array.get() addObject:[NSNumber numberWithLongLong:methodName]];
- }
-
- NSData *data = [NSPropertyListSerialization dataFromPropertyList:array.get() format:NSPropertyListBinaryFormat_v1_0 errorDescription:0];
- ASSERT(data);
-
- resultLength = [data length];
- mig_allocate(reinterpret_cast<vm_address_t*>(&resultData), resultLength);
-
- memcpy(resultData, [data bytes], resultLength);
-
- exec->clearException();
-
- return true;
-}
-
-static bool getObjectID(NetscapePluginInstanceProxy* pluginInstanceProxy, JSObject* object, uint64_t& objectID)
-{
- if (object->classInfo() != &ProxyRuntimeObject::s_info)
- return false;
-
- ProxyRuntimeObject* runtimeObject = static_cast<ProxyRuntimeObject*>(object);
- ProxyInstance* instance = runtimeObject->getInternalProxyInstance();
- if (!instance)
- return false;
-
- if (instance->instanceProxy() != pluginInstanceProxy)
- return false;
-
- objectID = instance->objectID();
- return true;
-}
-
-void NetscapePluginInstanceProxy::addValueToArray(NSMutableArray *array, ExecState* exec, JSValue value)
-{
- JSLockHolder lock(exec);
-
- if (value.isString()) {
- [array addObject:[NSNumber numberWithInt:StringValueType]];
- [array addObject:value.toWTFString(exec)];
- } else if (value.isNumber()) {
- [array addObject:[NSNumber numberWithInt:DoubleValueType]];
- [array addObject:[NSNumber numberWithDouble:value.toNumber(exec)]];
- } else if (value.isBoolean()) {
- [array addObject:[NSNumber numberWithInt:BoolValueType]];
- [array addObject:[NSNumber numberWithBool:value.toBoolean(exec)]];
- } else if (value.isNull())
- [array addObject:[NSNumber numberWithInt:NullValueType]];
- else if (value.isObject()) {
- JSObject* object = asObject(value);
- uint64_t objectID;
- if (getObjectID(this, object, objectID)) {
- [array addObject:[NSNumber numberWithInt:NPObjectValueType]];
- [array addObject:[NSNumber numberWithInt:objectID]];
- } else {
- [array addObject:[NSNumber numberWithInt:JSObjectValueType]];
- [array addObject:[NSNumber numberWithInt:m_localObjects.idForObject(exec->vm(), object)]];
- }
- } else
- [array addObject:[NSNumber numberWithInt:VoidValueType]];
-}
-
-void NetscapePluginInstanceProxy::marshalValue(ExecState* exec, JSValue value, data_t& resultData, mach_msg_type_number_t& resultLength)
-{
- RetainPtr<NSMutableArray*> array = adoptNS([[NSMutableArray alloc] init]);
-
- addValueToArray(array.get(), exec, value);
-
- RetainPtr<NSData *> data = [NSPropertyListSerialization dataFromPropertyList:array.get() format:NSPropertyListBinaryFormat_v1_0 errorDescription:0];
- ASSERT(data);
-
- resultLength = [data.get() length];
- mig_allocate(reinterpret_cast<vm_address_t*>(&resultData), resultLength);
-
- memcpy(resultData, [data.get() bytes], resultLength);
-}
-
-RetainPtr<NSData *> NetscapePluginInstanceProxy::marshalValues(ExecState* exec, const ArgList& args)
-{
- RetainPtr<NSMutableArray*> array = adoptNS([[NSMutableArray alloc] init]);
-
- for (unsigned i = 0; i < args.size(); i++)
- addValueToArray(array.get(), exec, args.at(i));
-
- RetainPtr<NSData *> data = [NSPropertyListSerialization dataFromPropertyList:array.get() format:NSPropertyListBinaryFormat_v1_0 errorDescription:0];
- ASSERT(data);
-
- return data;
-}
-
-bool NetscapePluginInstanceProxy::demarshalValueFromArray(ExecState* exec, NSArray *array, NSUInteger& index, JSValue& result)
-{
- if (index == [array count])
- return false;
-
- int type = [[array objectAtIndex:index++] intValue];
- switch (type) {
- case VoidValueType:
- result = jsUndefined();
- return true;
- case NullValueType:
- result = jsNull();
- return true;
- case BoolValueType:
- result = jsBoolean([[array objectAtIndex:index++] boolValue]);
- return true;
- case DoubleValueType:
- result = jsNumber([[array objectAtIndex:index++] doubleValue]);
- return true;
- case StringValueType: {
- NSString *string = [array objectAtIndex:index++];
-
- result = jsString(exec, String(string));
- return true;
- }
- case JSObjectValueType: {
- uint32_t objectID = [[array objectAtIndex:index++] intValue];
-
- result = m_localObjects.get(objectID);
- ASSERT(result);
- return true;
- }
- case NPObjectValueType: {
- uint32_t objectID = [[array objectAtIndex:index++] intValue];
-
- Frame* frame = core([m_pluginView webFrame]);
- if (!frame)
- return false;
-
- if (!frame->script()->canExecuteScripts(NotAboutToExecuteScript))
- return false;
-
- RefPtr<RootObject> rootObject = frame->script()->createRootObject(m_pluginView);
- if (!rootObject)
- return false;
-
- result = ProxyInstance::create(rootObject.release(), this, objectID)->createRuntimeObject(exec);
- return true;
- }
- default:
- ASSERT_NOT_REACHED();
- return false;
- }
-}
-
-JSValue NetscapePluginInstanceProxy::demarshalValue(ExecState* exec, const char* valueData, mach_msg_type_number_t valueLength)
-{
- RetainPtr<NSData*> data = adoptNS([[NSData alloc] initWithBytesNoCopy:(void*)valueData length:valueLength freeWhenDone:NO]);
-
- RetainPtr<NSArray*> array = [NSPropertyListSerialization propertyListFromData:data.get()
- mutabilityOption:NSPropertyListImmutable
- format:0
- errorDescription:0];
- NSUInteger position = 0;
- JSValue value;
- bool result = demarshalValueFromArray(exec, array.get(), position, value);
- ASSERT_UNUSED(result, result);
-
- return value;
-}
-
-void NetscapePluginInstanceProxy::demarshalValues(ExecState* exec, data_t valuesData, mach_msg_type_number_t valuesLength, MarkedArgumentBuffer& result)
-{
- RetainPtr<NSData*> data = adoptNS([[NSData alloc] initWithBytesNoCopy:valuesData length:valuesLength freeWhenDone:NO]);
-
- RetainPtr<NSArray*> array = [NSPropertyListSerialization propertyListFromData:data.get()
- mutabilityOption:NSPropertyListImmutable
- format:0
- errorDescription:0];
- NSUInteger position = 0;
- JSValue value;
- while (demarshalValueFromArray(exec, array.get(), position, value))
- result.append(value);
-}
-
-void NetscapePluginInstanceProxy::retainLocalObject(JSC::JSValue value)
-{
- if (!value.isObject() || value.inherits(&ProxyRuntimeObject::s_info))
- return;
-
- m_localObjects.retain(asObject(value));
-}
-
-void NetscapePluginInstanceProxy::releaseLocalObject(JSC::JSValue value)
-{
- if (!value.isObject() || value.inherits(&ProxyRuntimeObject::s_info))
- return;
-
- m_localObjects.release(asObject(value));
-}
-
-PassRefPtr<Instance> NetscapePluginInstanceProxy::createBindingsInstance(PassRefPtr<RootObject> rootObject)
-{
- uint32_t requestID = nextRequestID();
-
- if (_WKPHGetScriptableNPObject(m_pluginHostProxy->port(), m_pluginID, requestID) != KERN_SUCCESS)
- return 0;
-
- std::auto_ptr<GetScriptableNPObjectReply> reply = waitForReply<GetScriptableNPObjectReply>(requestID);
- if (!reply.get())
- return 0;
-
- if (!reply->m_objectID)
- return 0;
-
- // Since the reply was non-null, "this" is still a valid pointer.
- return ProxyInstance::create(rootObject, this, reply->m_objectID);
-}
-
-void NetscapePluginInstanceProxy::addInstance(ProxyInstance* instance)
-{
- ASSERT(!m_instances.contains(instance));
-
- m_instances.add(instance);
-}
-
-void NetscapePluginInstanceProxy::removeInstance(ProxyInstance* instance)
-{
- ASSERT(m_instances.contains(instance));
-
- m_instances.remove(instance);
-}
-
-void NetscapePluginInstanceProxy::willCallPluginFunction()
-{
- m_pluginFunctionCallDepth++;
-}
-
-void NetscapePluginInstanceProxy::didCallPluginFunction(bool& stopped)
-{
- ASSERT(m_pluginFunctionCallDepth > 0);
- m_pluginFunctionCallDepth--;
-
- // If -stop was called while we were calling into a plug-in function, and we're no longer
- // inside a plug-in function, stop now.
- if (!m_pluginFunctionCallDepth && m_shouldStopSoon) {
- m_shouldStopSoon = false;
- [m_pluginView stop];
- stopped = true;
- }
-}
-
-bool NetscapePluginInstanceProxy::shouldStop()
-{
- if (m_pluginFunctionCallDepth) {
- m_shouldStopSoon = true;
- return false;
- }
-
- return true;
-}
-
-uint32_t NetscapePluginInstanceProxy::nextRequestID()
-{
- uint32_t requestID = ++m_currentRequestID;
-
- // We don't want to return the HashMap empty/deleted "special keys"
- if (requestID == 0 || requestID == static_cast<uint32_t>(-1))
- return nextRequestID();
-
- return requestID;
-}
-
-void NetscapePluginInstanceProxy::invalidateRect(double x, double y, double width, double height)
-{
- ASSERT(m_pluginView);
-
- m_pluginIsWaitingForDraw = true;
- [m_pluginView invalidatePluginContentRect:NSMakeRect(x, y, width, height)];
-}
-
-void NetscapePluginInstanceProxy::didDraw()
-{
- if (!m_pluginIsWaitingForDraw)
- return;
-
- m_pluginIsWaitingForDraw = false;
- _WKPHPluginInstanceDidDraw(m_pluginHostProxy->port(), m_pluginID);
-}
-
-bool NetscapePluginInstanceProxy::getCookies(data_t urlData, mach_msg_type_number_t urlLength, data_t& cookiesData, mach_msg_type_number_t& cookiesLength)
-{
- ASSERT(m_pluginView);
-
- NSURL *url = [m_pluginView URLWithCString:urlData];
- if (!url)
- return false;
-
- if (Frame* frame = core([m_pluginView webFrame])) {
- String cookieString = cookies(frame->document(), url);
- WTF::CString cookieStringUTF8 = cookieString.utf8();
- if (cookieStringUTF8.isNull())
- return false;
-
- cookiesLength = cookieStringUTF8.length();
- mig_allocate(reinterpret_cast<vm_address_t*>(&cookiesData), cookiesLength);
- memcpy(cookiesData, cookieStringUTF8.data(), cookiesLength);
-
- return true;
- }
-
- return false;
-}
-
-bool NetscapePluginInstanceProxy::setCookies(data_t urlData, mach_msg_type_number_t urlLength, data_t cookiesData, mach_msg_type_number_t cookiesLength)
-{
- ASSERT(m_pluginView);
-
- NSURL *url = [m_pluginView URLWithCString:urlData];
- if (!url)
- return false;
-
- if (Frame* frame = core([m_pluginView webFrame])) {
- String cookieString = String::fromUTF8(cookiesData, cookiesLength);
- if (!cookieString)
- return false;
-
- WebCore::setCookies(frame->document(), url, cookieString);
- return true;
- }
-
- return false;
-}
-
-bool NetscapePluginInstanceProxy::getProxy(data_t urlData, mach_msg_type_number_t urlLength, data_t& proxyData, mach_msg_type_number_t& proxyLength)
-{
- ASSERT(m_pluginView);
-
- NSURL *url = [m_pluginView URLWithCString:urlData];
- if (!url)
- return false;
-
- Vector<ProxyServer> proxyServers = proxyServersForURL(url, 0);
- WTF::CString proxyStringUTF8 = toString(proxyServers).utf8();
-
- proxyLength = proxyStringUTF8.length();
- mig_allocate(reinterpret_cast<vm_address_t*>(&proxyData), proxyLength);
- memcpy(proxyData, proxyStringUTF8.data(), proxyLength);
-
- return true;
-}
-
-bool NetscapePluginInstanceProxy::getAuthenticationInfo(data_t protocolData, data_t hostData, uint32_t port, data_t schemeData, data_t realmData,
- data_t& usernameData, mach_msg_type_number_t& usernameLength, data_t& passwordData, mach_msg_type_number_t& passwordLength)
-{
- WTF::CString username;
- WTF::CString password;
-
- if (!WebKit::getAuthenticationInfo(protocolData, hostData, port, schemeData, realmData, username, password))
- return false;
-
- usernameLength = username.length();
- mig_allocate(reinterpret_cast<vm_address_t*>(&usernameData), usernameLength);
- memcpy(usernameData, username.data(), usernameLength);
-
- passwordLength = password.length();
- mig_allocate(reinterpret_cast<vm_address_t*>(&passwordData), passwordLength);
- memcpy(passwordData, password.data(), passwordLength);
-
- return true;
-}
-
-bool NetscapePluginInstanceProxy::convertPoint(double sourceX, double sourceY, NPCoordinateSpace sourceSpace,
- double& destX, double& destY, NPCoordinateSpace destSpace)
-{
- ASSERT(m_pluginView);
-
- return [m_pluginView convertFromX:sourceX andY:sourceY space:sourceSpace toX:&destX andY:&destY space:destSpace];
-}
-
-uint32_t NetscapePluginInstanceProxy::checkIfAllowedToLoadURL(const char* url, const char* target)
-{
- uint32_t checkID;
-
- // Assign a check ID
- do {
- checkID = ++m_urlCheckCounter;
- } while (m_urlChecks.contains(checkID) || !m_urlCheckCounter);
-
- NSString *frameName = target ? [NSString stringWithCString:target encoding:NSISOLatin1StringEncoding] : nil;
-
- NSNumber *contextInfo = [[NSNumber alloc] initWithUnsignedInt:checkID];
- WebPluginContainerCheck *check = [WebPluginContainerCheck checkWithRequest:[m_pluginView requestWithURLCString:url]
- target:frameName
- resultObject:m_pluginView
- selector:@selector(_containerCheckResult:contextInfo:)
- controller:m_pluginView
- contextInfo:contextInfo];
-
- [contextInfo release];
- m_urlChecks.set(checkID, check);
- [check start];
-
- return checkID;
-}
-
-void NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL(uint32_t checkID)
-{
- URLCheckMap::iterator it = m_urlChecks.find(checkID);
- if (it == m_urlChecks.end())
- return;
-
- WebPluginContainerCheck *check = it->value.get();
- [check cancel];
- m_urlChecks.remove(it);
-}
-
-void NetscapePluginInstanceProxy::checkIfAllowedToLoadURLResult(uint32_t checkID, bool allowed)
-{
- _WKPHCheckIfAllowedToLoadURLResult(m_pluginHostProxy->port(), m_pluginID, checkID, allowed);
-}
-
-void NetscapePluginInstanceProxy::resolveURL(const char* url, const char* target, data_t& resolvedURLData, mach_msg_type_number_t& resolvedURLLength)
-{
- ASSERT(m_pluginView);
-
- WTF::CString resolvedURL = [m_pluginView resolvedURLStringForURL:url target:target];
-
- resolvedURLLength = resolvedURL.length();
- mig_allocate(reinterpret_cast<vm_address_t*>(&resolvedURLData), resolvedURLLength);
- memcpy(resolvedURLData, resolvedURL.data(), resolvedURLLength);
-}
-
-void NetscapePluginInstanceProxy::privateBrowsingModeDidChange(bool isPrivateBrowsingEnabled)
-{
- _WKPHPluginInstancePrivateBrowsingModeDidChange(m_pluginHostProxy->port(), m_pluginID, isPrivateBrowsingEnabled);
-}
-
-static String& globalExceptionString()
-{
- DEFINE_STATIC_LOCAL(String, exceptionString, ());
- return exceptionString;
-}
-
-void NetscapePluginInstanceProxy::setGlobalException(const String& exception)
-{
- globalExceptionString() = exception;
-}
-
-void NetscapePluginInstanceProxy::moveGlobalExceptionToExecState(ExecState* exec)
-{
- if (globalExceptionString().isNull())
- return;
-
- {
- JSLockHolder lock(exec);
- throwError(exec, createError(exec, globalExceptionString()));
- }
-
- globalExceptionString() = String();
-}
-
-} // namespace WebKit
-
-#endif // USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
diff --git a/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.h b/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.h
deleted file mode 100644
index 5d0801f29..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (C) 2009, 2010 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS)
-
-#ifndef ProxyInstance_h
-#define ProxyInstance_h
-
-#import "NetscapePluginInstanceProxy.h"
-#import "WebKitPluginHostTypes.h"
-#import <WebCore/BridgeJSC.h>
-#import <WebCore/runtime_root.h>
-#import <wtf/OwnPtr.h>
-
-namespace WebKit {
-
-class ProxyClass;
-
-class ProxyInstance : public JSC::Bindings::Instance {
-public:
- static PassRefPtr<ProxyInstance> create(PassRefPtr<JSC::Bindings::RootObject> rootObject, NetscapePluginInstanceProxy* instanceProxy, uint32_t objectID)
- {
- return adoptRef(new ProxyInstance(rootObject, instanceProxy, objectID));
- }
- ~ProxyInstance();
-
- JSC::Bindings::Method* methodNamed(JSC::PropertyName);
- JSC::Bindings::Field* fieldNamed(JSC::PropertyName);
-
- JSC::JSValue fieldValue(JSC::ExecState*, const JSC::Bindings::Field*) const;
- void setFieldValue(JSC::ExecState*, const JSC::Bindings::Field*, JSC::JSValue) const;
-
-
- NetscapePluginInstanceProxy* instanceProxy() { return m_instanceProxy; }
-
- void invalidate();
-
- uint32_t objectID() const { return m_objectID; }
-
-private:
- ProxyInstance(PassRefPtr<JSC::Bindings::RootObject>, NetscapePluginInstanceProxy*, uint32_t objectID);
-
- virtual JSC::Bindings::RuntimeObject* newRuntimeObject(JSC::ExecState*);
-
- virtual JSC::Bindings::Class* getClass() const;
-
- virtual JSC::JSValue getMethod(JSC::ExecState*, JSC::PropertyName);
- virtual JSC::JSValue invokeMethod(JSC::ExecState*, JSC::RuntimeMethod*);
-
- virtual bool supportsInvokeDefaultMethod() const;
- virtual JSC::JSValue invokeDefaultMethod(JSC::ExecState*);
-
- virtual bool supportsConstruct() const;
- virtual JSC::JSValue invokeConstruct(JSC::ExecState*, const JSC::ArgList&);
-
- virtual JSC::JSValue defaultValue(JSC::ExecState*, JSC::PreferredPrimitiveType) const;
- virtual JSC::JSValue valueOf(JSC::ExecState*) const;
-
- virtual void getPropertyNames(JSC::ExecState*, JSC::PropertyNameArray&);
-
- JSC::JSValue stringValue(JSC::ExecState*) const;
- JSC::JSValue numberValue(JSC::ExecState*) const;
- JSC::JSValue booleanValue() const;
-
- JSC::JSValue invoke(JSC::ExecState*, InvokeType, uint64_t identifier, const JSC::ArgList&);
-
- template <typename T>
- std::auto_ptr<T> waitForReply(uint32_t requestID) const {
- std::auto_ptr<T> reply = m_instanceProxy->waitForReply<T>(requestID);
-
- // If the instance proxy was invalidated, just return a null reply.
- if (!m_instanceProxy)
- return std::auto_ptr<T>();
-
- return reply;
- }
-
- NetscapePluginInstanceProxy* m_instanceProxy;
- uint32_t m_objectID;
- JSC::Bindings::FieldMap m_fields;
- JSC::Bindings::MethodMap m_methods;
-};
-
-}
-
-#endif // ProxyInstance_h
-#endif // USE(PLUGIN_HOST_PROCESS)
diff --git a/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm b/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
deleted file mode 100644
index 991dc82c9..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
+++ /dev/null
@@ -1,480 +0,0 @@
-/*
- * Copyright (C) 2008, 2009, 2010 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
-
-#import "ProxyInstance.h"
-
-#import "NetscapePluginHostProxy.h"
-#import "ProxyRuntimeObject.h"
-#import <WebCore/IdentifierRep.h>
-#import <WebCore/JSDOMWindow.h>
-#import <WebCore/npruntime_impl.h>
-#import <WebCore/runtime_method.h>
-#import <runtime/Error.h>
-#import <runtime/FunctionPrototype.h>
-#import <runtime/PropertyNameArray.h>
-
-extern "C" {
-#import "WebKitPluginHost.h"
-}
-
-using namespace JSC;
-using namespace JSC::Bindings;
-using namespace WebCore;
-
-namespace WebKit {
-
-class ProxyClass : public JSC::Bindings::Class {
-private:
- virtual Method* methodNamed(PropertyName, Instance*) const;
- virtual Field* fieldNamed(PropertyName, Instance*) const;
-};
-
-Method* ProxyClass::methodNamed(PropertyName propertyName, Instance* instance) const
-{
- return static_cast<ProxyInstance*>(instance)->methodNamed(propertyName);
-}
-
-Field* ProxyClass::fieldNamed(PropertyName propertyName, Instance* instance) const
-{
- return static_cast<ProxyInstance*>(instance)->fieldNamed(propertyName);
-}
-
-static ProxyClass* proxyClass()
-{
- DEFINE_STATIC_LOCAL(ProxyClass, proxyClass, ());
- return &proxyClass;
-}
-
-class ProxyField : public JSC::Bindings::Field {
-public:
- ProxyField(uint64_t serverIdentifier)
- : m_serverIdentifier(serverIdentifier)
- {
- }
-
- uint64_t serverIdentifier() const { return m_serverIdentifier; }
-
-private:
- virtual JSValue valueFromInstance(ExecState*, const Instance*) const;
- virtual void setValueToInstance(ExecState*, const Instance*, JSValue) const;
-
- uint64_t m_serverIdentifier;
-};
-
-JSValue ProxyField::valueFromInstance(ExecState* exec, const Instance* instance) const
-{
- return static_cast<const ProxyInstance*>(instance)->fieldValue(exec, this);
-}
-
-void ProxyField::setValueToInstance(ExecState* exec, const Instance* instance, JSValue value) const
-{
- static_cast<const ProxyInstance*>(instance)->setFieldValue(exec, this, value);
-}
-
-class ProxyMethod : public JSC::Bindings::Method {
-public:
- ProxyMethod(uint64_t serverIdentifier)
- : m_serverIdentifier(serverIdentifier)
- {
- }
-
- uint64_t serverIdentifier() const { return m_serverIdentifier; }
-
-private:
- virtual int numParameters() const { return 0; }
-
- uint64_t m_serverIdentifier;
-};
-
-ProxyInstance::ProxyInstance(PassRefPtr<RootObject> rootObject, NetscapePluginInstanceProxy* instanceProxy, uint32_t objectID)
- : Instance(rootObject)
- , m_instanceProxy(instanceProxy)
- , m_objectID(objectID)
-{
- m_instanceProxy->addInstance(this);
-}
-
-ProxyInstance::~ProxyInstance()
-{
- deleteAllValues(m_fields);
- deleteAllValues(m_methods);
-
- if (!m_instanceProxy)
- return;
-
- m_instanceProxy->removeInstance(this);
-
- invalidate();
-}
-
-RuntimeObject* ProxyInstance::newRuntimeObject(ExecState* exec)
-{
- return ProxyRuntimeObject::create(exec, exec->lexicalGlobalObject(), this);
-}
-
-JSC::Bindings::Class* ProxyInstance::getClass() const
-{
- return proxyClass();
-}
-
-JSValue ProxyInstance::invoke(JSC::ExecState* exec, InvokeType type, uint64_t identifier, const ArgList& args)
-{
- if (!m_instanceProxy)
- return jsUndefined();
-
- RetainPtr<NSData*> arguments(m_instanceProxy->marshalValues(exec, args));
-
- uint32_t requestID = m_instanceProxy->nextRequestID();
-
- for (unsigned i = 0; i < args.size(); i++)
- m_instanceProxy->retainLocalObject(args.at(i));
-
- if (_WKPHNPObjectInvoke(m_instanceProxy->hostProxy()->port(), m_instanceProxy->pluginID(), requestID, m_objectID,
- type, identifier, (char*)[arguments.get() bytes], [arguments.get() length]) != KERN_SUCCESS) {
- if (m_instanceProxy) {
- for (unsigned i = 0; i < args.size(); i++)
- m_instanceProxy->releaseLocalObject(args.at(i));
- }
- return jsUndefined();
- }
-
- std::auto_ptr<NetscapePluginInstanceProxy::BooleanAndDataReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanAndDataReply>(requestID);
- NetscapePluginInstanceProxy::moveGlobalExceptionToExecState(exec);
-
- if (m_instanceProxy) {
- for (unsigned i = 0; i < args.size(); i++)
- m_instanceProxy->releaseLocalObject(args.at(i));
- }
-
- if (!reply.get() || !reply->m_returnValue)
- return jsUndefined();
-
- return m_instanceProxy->demarshalValue(exec, (char*)CFDataGetBytePtr(reply->m_result.get()), CFDataGetLength(reply->m_result.get()));
-}
-
-class ProxyRuntimeMethod : public RuntimeMethod {
-public:
- typedef RuntimeMethod Base;
-
- static ProxyRuntimeMethod* create(ExecState* exec, JSGlobalObject* globalObject, const String& name, Bindings::Method* method)
- {
- // FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object
- // exec-vm() is also likely wrong.
- Structure* domStructure = deprecatedGetDOMStructure<ProxyRuntimeMethod>(exec);
- ProxyRuntimeMethod* runtimeMethod = new (allocateCell<ProxyRuntimeMethod>(*exec->heap())) ProxyRuntimeMethod(globalObject, domStructure, method);
- runtimeMethod->finishCreation(exec->vm(), name);
- return runtimeMethod;
- }
-
- static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
- {
- return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
- }
-
- static const ClassInfo s_info;
-
-private:
- ProxyRuntimeMethod(JSGlobalObject* globalObject, Structure* structure, Bindings::Method* method)
- : RuntimeMethod(globalObject, structure, method)
- {
- }
-
- void finishCreation(VM& vm, const String& name)
- {
- Base::finishCreation(vm, name);
- ASSERT(inherits(&s_info));
- }
-};
-
-const ClassInfo ProxyRuntimeMethod::s_info = { "ProxyRuntimeMethod", &RuntimeMethod::s_info, 0, 0, CREATE_METHOD_TABLE(ProxyRuntimeMethod) };
-
-JSValue ProxyInstance::getMethod(JSC::ExecState* exec, PropertyName propertyName)
-{
- Method* method = getClass()->methodNamed(propertyName, this);
- return ProxyRuntimeMethod::create(exec, exec->lexicalGlobalObject(), propertyName.publicName(), method);
-}
-
-JSValue ProxyInstance::invokeMethod(ExecState* exec, JSC::RuntimeMethod* runtimeMethod)
-{
- if (!asObject(runtimeMethod)->inherits(&ProxyRuntimeMethod::s_info))
- return throwError(exec, createTypeError(exec, "Attempt to invoke non-plug-in method on plug-in object."));
-
- ProxyMethod* method = static_cast<ProxyMethod*>(runtimeMethod->method());
- ASSERT(method);
-
- return invoke(exec, Invoke, method->serverIdentifier(), ArgList(exec));
-}
-
-bool ProxyInstance::supportsInvokeDefaultMethod() const
-{
- if (!m_instanceProxy)
- return false;
-
- uint32_t requestID = m_instanceProxy->nextRequestID();
-
- if (_WKPHNPObjectHasInvokeDefaultMethod(m_instanceProxy->hostProxy()->port(),
- m_instanceProxy->pluginID(), requestID,
- m_objectID) != KERN_SUCCESS)
- return false;
-
- std::auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
- if (reply.get() && reply->m_result)
- return true;
-
- return false;
-}
-
-JSValue ProxyInstance::invokeDefaultMethod(ExecState* exec)
-{
- return invoke(exec, InvokeDefault, 0, ArgList(exec));
-}
-
-bool ProxyInstance::supportsConstruct() const
-{
- if (!m_instanceProxy)
- return false;
-
- uint32_t requestID = m_instanceProxy->nextRequestID();
-
- if (_WKPHNPObjectHasConstructMethod(m_instanceProxy->hostProxy()->port(),
- m_instanceProxy->pluginID(), requestID,
- m_objectID) != KERN_SUCCESS)
- return false;
-
- std::auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
- if (reply.get() && reply->m_result)
- return true;
-
- return false;
-}
-
-JSValue ProxyInstance::invokeConstruct(ExecState* exec, const ArgList& args)
-{
- return invoke(exec, Construct, 0, args);
-}
-
-JSValue ProxyInstance::defaultValue(ExecState* exec, PreferredPrimitiveType hint) const
-{
- if (hint == PreferString)
- return stringValue(exec);
- if (hint == PreferNumber)
- return numberValue(exec);
- return valueOf(exec);
-}
-
-JSValue ProxyInstance::stringValue(ExecState* exec) const
-{
- // FIXME: Implement something sensible.
- return jsEmptyString(exec);
-}
-
-JSValue ProxyInstance::numberValue(ExecState*) const
-{
- // FIXME: Implement something sensible.
- return jsNumber(0);
-}
-
-JSValue ProxyInstance::booleanValue() const
-{
- // FIXME: Implement something sensible.
- return jsBoolean(false);
-}
-
-JSValue ProxyInstance::valueOf(ExecState* exec) const
-{
- return stringValue(exec);
-}
-
-void ProxyInstance::getPropertyNames(ExecState* exec, PropertyNameArray& nameArray)
-{
- if (!m_instanceProxy)
- return;
-
- uint32_t requestID = m_instanceProxy->nextRequestID();
-
- if (_WKPHNPObjectEnumerate(m_instanceProxy->hostProxy()->port(), m_instanceProxy->pluginID(), requestID, m_objectID) != KERN_SUCCESS)
- return;
-
- std::auto_ptr<NetscapePluginInstanceProxy::BooleanAndDataReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanAndDataReply>(requestID);
- NetscapePluginInstanceProxy::moveGlobalExceptionToExecState(exec);
- if (!reply.get() || !reply->m_returnValue)
- return;
-
- RetainPtr<NSArray*> array = [NSPropertyListSerialization propertyListFromData:(NSData *)reply->m_result.get()
- mutabilityOption:NSPropertyListImmutable
- format:0
- errorDescription:0];
-
- for (NSNumber *number in array.get()) {
- IdentifierRep* identifier = reinterpret_cast<IdentifierRep*>([number longLongValue]);
- if (!IdentifierRep::isValid(identifier))
- continue;
-
- if (identifier->isString()) {
- const char* str = identifier->string();
- nameArray.add(Identifier(JSDOMWindow::commonVM(), String::fromUTF8WithLatin1Fallback(str, strlen(str))));
- } else
- nameArray.add(Identifier::from(exec, identifier->number()));
- }
-}
-
-Method* ProxyInstance::methodNamed(PropertyName propertyName)
-{
- String name(propertyName.publicName());
- if (name.isNull())
- return 0;
-
- if (!m_instanceProxy)
- return 0;
-
- // If we already have an entry in the map, use it.
- MethodMap::iterator existingMapEntry = m_methods.find(name.impl());
- if (existingMapEntry != m_methods.end()) {
- if (existingMapEntry->value)
- return existingMapEntry->value;
- }
-
- uint64_t methodName = reinterpret_cast<uint64_t>(_NPN_GetStringIdentifier(name.ascii().data()));
- uint32_t requestID = m_instanceProxy->nextRequestID();
-
- if (_WKPHNPObjectHasMethod(m_instanceProxy->hostProxy()->port(),
- m_instanceProxy->pluginID(), requestID,
- m_objectID, methodName) != KERN_SUCCESS)
- return 0;
-
- std::auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
- if (!reply.get())
- return 0;
-
- if (!reply->m_result && !m_instanceProxy->hostProxy()->shouldCacheMissingPropertiesAndMethods())
- return 0;
-
- // Add a new entry to the map unless an entry was added while we were in waitForReply.
- MethodMap::AddResult mapAddResult = m_methods.add(name.impl(), 0);
- if (mapAddResult.isNewEntry && reply->m_result)
- mapAddResult.iterator->value = new ProxyMethod(methodName);
-
- return mapAddResult.iterator->value;
-}
-
-Field* ProxyInstance::fieldNamed(PropertyName propertyName)
-{
- String name(propertyName.publicName());
- if (name.isNull())
- return 0;
-
- if (!m_instanceProxy)
- return 0;
-
- // If we already have an entry in the map, use it.
- FieldMap::iterator existingMapEntry = m_fields.find(name.impl());
- if (existingMapEntry != m_fields.end())
- return existingMapEntry->value;
-
- uint64_t identifier = reinterpret_cast<uint64_t>(_NPN_GetStringIdentifier(name.ascii().data()));
- uint32_t requestID = m_instanceProxy->nextRequestID();
-
- if (_WKPHNPObjectHasProperty(m_instanceProxy->hostProxy()->port(),
- m_instanceProxy->pluginID(), requestID,
- m_objectID, identifier) != KERN_SUCCESS)
- return 0;
-
- std::auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
- if (!reply.get())
- return 0;
-
- if (!reply->m_result && !m_instanceProxy->hostProxy()->shouldCacheMissingPropertiesAndMethods())
- return 0;
-
- // Add a new entry to the map unless an entry was added while we were in waitForReply.
- FieldMap::AddResult mapAddResult = m_fields.add(name.impl(), 0);
- if (mapAddResult.isNewEntry && reply->m_result)
- mapAddResult.iterator->value = new ProxyField(identifier);
- return mapAddResult.iterator->value;
-}
-
-JSC::JSValue ProxyInstance::fieldValue(ExecState* exec, const Field* field) const
-{
- if (!m_instanceProxy)
- return jsUndefined();
-
- uint64_t serverIdentifier = static_cast<const ProxyField*>(field)->serverIdentifier();
- uint32_t requestID = m_instanceProxy->nextRequestID();
-
- if (_WKPHNPObjectGetProperty(m_instanceProxy->hostProxy()->port(),
- m_instanceProxy->pluginID(), requestID,
- m_objectID, serverIdentifier) != KERN_SUCCESS)
- return jsUndefined();
-
- std::auto_ptr<NetscapePluginInstanceProxy::BooleanAndDataReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanAndDataReply>(requestID);
- NetscapePluginInstanceProxy::moveGlobalExceptionToExecState(exec);
- if (!reply.get() || !reply->m_returnValue)
- return jsUndefined();
-
- return m_instanceProxy->demarshalValue(exec, (char*)CFDataGetBytePtr(reply->m_result.get()), CFDataGetLength(reply->m_result.get()));
-}
-
-void ProxyInstance::setFieldValue(ExecState* exec, const Field* field, JSValue value) const
-{
- if (!m_instanceProxy)
- return;
-
- uint64_t serverIdentifier = static_cast<const ProxyField*>(field)->serverIdentifier();
- uint32_t requestID = m_instanceProxy->nextRequestID();
-
- data_t valueData;
- mach_msg_type_number_t valueLength;
-
- m_instanceProxy->marshalValue(exec, value, valueData, valueLength);
- m_instanceProxy->retainLocalObject(value);
- kern_return_t kr = _WKPHNPObjectSetProperty(m_instanceProxy->hostProxy()->port(),
- m_instanceProxy->pluginID(), requestID,
- m_objectID, serverIdentifier, valueData, valueLength);
- mig_deallocate(reinterpret_cast<vm_address_t>(valueData), valueLength);
- if (m_instanceProxy)
- m_instanceProxy->releaseLocalObject(value);
- if (kr != KERN_SUCCESS)
- return;
-
- std::auto_ptr<NetscapePluginInstanceProxy::BooleanReply> reply = waitForReply<NetscapePluginInstanceProxy::BooleanReply>(requestID);
- NetscapePluginInstanceProxy::moveGlobalExceptionToExecState(exec);
-}
-
-void ProxyInstance::invalidate()
-{
- ASSERT(m_instanceProxy);
-
- if (NetscapePluginHostProxy* hostProxy = m_instanceProxy->hostProxy())
- _WKPHNPObjectRelease(hostProxy->port(),
- m_instanceProxy->pluginID(), m_objectID);
- m_instanceProxy = 0;
-}
-
-} // namespace WebKit
-
-#endif // USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
-
diff --git a/Source/WebKit/mac/Plugins/Hosted/ProxyRuntimeObject.h b/Source/WebKit/mac/Plugins/Hosted/ProxyRuntimeObject.h
deleted file mode 100644
index b9eeffeb1..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/ProxyRuntimeObject.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS)
-
-#ifndef ProxyRuntimeObject_h
-#define ProxyRuntimeObject_h
-
-#include <WebCore/JSDOMBinding.h>
-#include <WebCore/runtime_object.h>
-
-namespace WebKit {
-
-class ProxyInstance;
-
-class ProxyRuntimeObject : public JSC::Bindings::RuntimeObject {
-public:
- typedef JSC::Bindings::RuntimeObject Base;
-
- static ProxyRuntimeObject* create(JSC::ExecState* exec, JSC::JSGlobalObject* globalObject, PassRefPtr<ProxyInstance> instance)
- {
- // FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object.
- // exec->vm() is also likely wrong.
- JSC::Structure* structure = WebCore::deprecatedGetDOMStructure<ProxyRuntimeObject>(exec);
- ProxyRuntimeObject* object = new (JSC::allocateCell<ProxyRuntimeObject>(*exec->heap())) ProxyRuntimeObject(exec, globalObject, structure, instance);
- object->finishCreation(globalObject);
- return object;
- }
-
- ProxyInstance* getInternalProxyInstance() const;
-
- static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
- {
- return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), &s_info);
- }
-
- static const JSC::ClassInfo s_info;
-private:
- ProxyRuntimeObject(JSC::ExecState*, JSC::JSGlobalObject*, JSC::Structure*, PassRefPtr<ProxyInstance>);
- void finishCreation(JSC::JSGlobalObject*);
-};
-
-}
-
-#endif
-#endif
diff --git a/Source/WebKit/mac/Plugins/Hosted/ProxyRuntimeObject.mm b/Source/WebKit/mac/Plugins/Hosted/ProxyRuntimeObject.mm
deleted file mode 100644
index c27e728cd..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/ProxyRuntimeObject.mm
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS)
-
-#include "runtime/ObjectPrototype.h"
-#include "ProxyInstance.h"
-#include "ProxyRuntimeObject.h"
-
-using namespace JSC;
-
-namespace WebKit {
-
-
-const ClassInfo ProxyRuntimeObject::s_info = { "ProxyRuntimeObject", &RuntimeObject::s_info, 0, 0, CREATE_METHOD_TABLE(ProxyRuntimeObject) };
-
-ProxyRuntimeObject::ProxyRuntimeObject(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, PassRefPtr<ProxyInstance> instance)
- : RuntimeObject(exec, globalObject, structure, instance)
-{
-}
-
-void ProxyRuntimeObject::finishCreation(JSGlobalObject* globalObject)
-{
- Base::finishCreation(globalObject);
- ASSERT(inherits(&s_info));
-}
-
-ProxyInstance* ProxyRuntimeObject::getInternalProxyInstance() const
-{
- return static_cast<ProxyInstance*>(getInternalInstance());
-}
-
-
-}
-
-#endif
diff --git a/Source/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.h b/Source/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.h
deleted file mode 100644
index 43947ab2e..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS)
-
-#import "WebBaseNetscapePluginView.h"
-#import "WebKitSystemInterface.h"
-
-#import <wtf/RefPtr.h>
-
-namespace WebKit {
- class HostedNetscapePluginStream;
- class NetscapePluginInstanceProxy;
-}
-
-@interface WebHostedNetscapePluginView : WebBaseNetscapePluginView<WebPluginManualLoader, WebPluginContainerCheckController>
-{
- RetainPtr<NSArray> _attributeKeys;
- RetainPtr<NSArray> _attributeValues;
-
- RetainPtr<CALayer> _pluginLayer;
- WKSoftwareCARendererRef _softwareRenderer;
-
- NSSize _previousSize;
- RefPtr<WebKit::NetscapePluginInstanceProxy> _proxy;
-}
-
-- (id)initWithFrame:(NSRect)r
- pluginPackage:(WebNetscapePluginPackage *)thePluginPackage
- URL:(NSURL *)URL
- baseURL:(NSURL *)baseURL
- MIMEType:(NSString *)MIME
- attributeKeys:(NSArray *)keys
- attributeValues:(NSArray *)values
- loadManually:(BOOL)loadManually
- element:(PassRefPtr<WebCore::HTMLPlugInElement>)element;
-
-- (void)pluginHostDied;
-- (CALayer *)pluginLayer;
-- (BOOL)getFormValue:(NSString **)value;
-- (void)webFrame:(WebFrame *)webFrame didFinishLoadWithReason:(NPReason)reason;
-
-@end
-
-#endif // USE(PLUGIN_HOST_PROCESS)
-
diff --git a/Source/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm b/Source/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm
deleted file mode 100644
index 1c226319f..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/WebHostedNetscapePluginView.mm
+++ /dev/null
@@ -1,524 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
-
-#import "WebHostedNetscapePluginView.h"
-
-#import "HostedNetscapePluginStream.h"
-#import "NetscapePluginInstanceProxy.h"
-#import "NetscapePluginHostManager.h"
-#import "NetscapePluginHostProxy.h"
-#import "WebTextInputWindowController.h"
-#import "WebFrameInternal.h"
-#import "WebView.h"
-#import "WebViewInternal.h"
-#import "WebUIDelegate.h"
-
-#import <CoreFoundation/CoreFoundation.h>
-#import <WebCore/BridgeJSC.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoaderTypes.h>
-#import <WebCore/FrameView.h>
-#import <WebCore/HTMLPlugInElement.h>
-#import <WebCore/RenderEmbeddedObject.h>
-#import <WebCore/ResourceError.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/runtime_root.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/Assertions.h>
-#import <wtf/MainThread.h>
-
-using namespace WebCore;
-using namespace WebKit;
-
-extern "C" {
-#include "WebKitPluginClientServer.h"
-#include "WebKitPluginHost.h"
-}
-
-@implementation WebHostedNetscapePluginView
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
- WKSendUserChangeNotifications();
-}
-
-- (id)initWithFrame:(NSRect)frame
- pluginPackage:(WebNetscapePluginPackage *)pluginPackage
- URL:(NSURL *)URL
- baseURL:(NSURL *)baseURL
- MIMEType:(NSString *)MIME
- attributeKeys:(NSArray *)keys
- attributeValues:(NSArray *)values
- loadManually:(BOOL)loadManually
- element:(PassRefPtr<WebCore::HTMLPlugInElement>)element
-{
- self = [super initWithFrame:frame pluginPackage:pluginPackage URL:URL baseURL:baseURL MIMEType:MIME attributeKeys:keys attributeValues:values loadManually:loadManually element:element];
- if (!self)
- return nil;
-
- return self;
-}
-
-- (void)handleMouseMoved:(NSEvent *)event
-{
- if (_isStarted && _proxy)
- _proxy->mouseEvent(self, event, NPCocoaEventMouseMoved);
-}
-
-- (void)setAttributeKeys:(NSArray *)keys andValues:(NSArray *)values
-{
- ASSERT(!_attributeKeys);
- ASSERT(!_attributeValues);
-
- _attributeKeys = adoptNS([keys copy]);
- _attributeValues = adoptNS([values copy]);
-}
-
-- (BOOL)createPlugin
-{
- ASSERT(!_proxy);
-
- NSString *userAgent = [[self webView] userAgentForURL:_baseURL.get()];
- BOOL accleratedCompositingEnabled = false;
-#if USE(ACCELERATED_COMPOSITING)
- accleratedCompositingEnabled = [[[self webView] preferences] acceleratedCompositingEnabled];
-#endif
-
- _proxy = NetscapePluginHostManager::shared().instantiatePlugin([_pluginPackage.get() path], [_pluginPackage.get() pluginHostArchitecture], [_pluginPackage.get() bundleIdentifier], self, _MIMEType.get(), _attributeKeys.get(), _attributeValues.get(), userAgent, _sourceURL.get(),
- _mode == NP_FULL, _isPrivateBrowsingEnabled, accleratedCompositingEnabled);
- if (!_proxy)
- return NO;
-
- if (_proxy->rendererType() == UseSoftwareRenderer)
- _softwareRenderer = WKSoftwareCARendererCreate(_proxy->renderContextID());
- else {
- _pluginLayer = WKMakeRenderLayer(_proxy->renderContextID());
-
- if (accleratedCompositingEnabled && _proxy->rendererType() == UseAcceleratedCompositing) {
- // FIXME: This code can be shared between WebHostedNetscapePluginView and WebNetscapePluginView.
- // Since this layer isn't going to be inserted into a view, we need to create another layer and flip its geometry
- // in order to get the coordinate system right.
- RetainPtr<CALayer> realPluginLayer = adoptNS(_pluginLayer.leakRef());
-
- _pluginLayer = adoptNS([[CALayer alloc] init]);
- _pluginLayer.get().bounds = realPluginLayer.get().bounds;
- _pluginLayer.get().geometryFlipped = YES;
-
- realPluginLayer.get().autoresizingMask = kCALayerWidthSizable | kCALayerHeightSizable;
- [_pluginLayer.get() addSublayer:realPluginLayer.get()];
-
- // Eagerly enter compositing mode, since we know we'll need it. This avoids firing setNeedsStyleRecalc()
- // for iframes that contain composited plugins at bad times. https://bugs.webkit.org/show_bug.cgi?id=39033
- core([self webFrame])->view()->enterCompositingMode();
- [self element]->setNeedsStyleRecalc(SyntheticStyleChange);
- } else
- self.wantsLayer = YES;
- }
-
- // Update the window frame.
- _proxy->windowFrameChanged([[self window] frame]);
-
- return YES;
-}
-
-// FIXME: This method is an ideal candidate to move up to the base class
-- (CALayer *)pluginLayer
-{
- return _pluginLayer.get();
-}
-
-- (BOOL)getFormValue:(NSString **)value
-{
- // FIXME: We cannot implement this method for now because NPP_GetValue
- // is not currently exposed by the plugin host. Once we have an IPC routine
- // which allows us to invoke NPP_GetValue, we could implement this method.
- return false;
-}
-
-- (void)setLayer:(CALayer *)newLayer
-{
- // FIXME: This should use the same implementation as WebNetscapePluginView (and move to the base class).
- [super setLayer:newLayer];
-
- if (_pluginLayer)
- [newLayer addSublayer:_pluginLayer.get()];
-}
-
-- (void)privateBrowsingModeDidChange
-{
- if (_proxy)
- _proxy->privateBrowsingModeDidChange(_isPrivateBrowsingEnabled);
-}
-
-- (void)loadStream
-{
-}
-
-- (void)updateAndSetWindow
-{
- if (!_proxy)
- return;
-
- // The base coordinates of a window and it's contentView happen to be the equal at a userSpaceScaleFactor
- // of 1. For non-1.0 scale factors this assumption is false.
- NSView *windowContentView = [[self window] contentView];
- NSRect boundsInWindow = [self convertRect:[self bounds] toView:windowContentView];
-
- NSRect visibleRectInWindow;
-
- // Core Animation plug-ins need to be updated (with a 0,0,0,0 clipRect) when
- // moved to a background tab. We don't do this for Core Graphics plug-ins as
- // older versions of Flash have historical WebKit-specific code that isn't
- // compatible with this behavior.
- BOOL shouldClipOutPlugin = _pluginLayer && [self shouldClipOutPlugin];
- if (!shouldClipOutPlugin)
- visibleRectInWindow = [self actualVisibleRectInWindow];
- else
- visibleRectInWindow = NSZeroRect;
-
- // Flip Y to convert NSWindow coordinates to top-left-based window coordinates.
- float borderViewHeight = [[self currentWindow] frame].size.height;
- boundsInWindow.origin.y = borderViewHeight - NSMaxY(boundsInWindow);
-
- if (!shouldClipOutPlugin)
- visibleRectInWindow.origin.y = borderViewHeight - NSMaxY(visibleRectInWindow);
-
- _previousSize = boundsInWindow.size;
-
- _proxy->resize(boundsInWindow, visibleRectInWindow);
-}
-
-- (void)windowFocusChanged:(BOOL)hasFocus
-{
- if (_proxy)
- _proxy->windowFocusChanged(hasFocus);
-}
-
-- (BOOL)shouldStop
-{
- if (!_proxy)
- return YES;
-
- return _proxy->shouldStop();
-}
-
-- (void)destroyPlugin
-{
- if (_proxy) {
- if (_softwareRenderer) {
- WKSoftwareCARendererDestroy(_softwareRenderer);
- _softwareRenderer = 0;
- }
-
- _proxy->destroy();
- _proxy = 0;
- }
-
- _pluginLayer = 0;
-}
-
-- (void)startTimers
-{
- if (_proxy)
- _proxy->startTimers(_isCompletelyObscured);
-}
-
-- (void)stopTimers
-{
- if (_proxy)
- _proxy->stopTimers();
-}
-
-- (void)focusChanged
-{
- if (_proxy)
- _proxy->focusChanged(_hasFocus);
-}
-
-- (void)windowFrameDidChange:(NSNotification *)notification
-{
- if (_proxy && [self window])
- _proxy->windowFrameChanged([[self window] frame]);
-}
-
-- (void)addWindowObservers
-{
- [super addWindowObservers];
-
- ASSERT([self window]);
-
- NSWindow *window = [self window];
-
- NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
- [notificationCenter addObserver:self selector:@selector(windowFrameDidChange:)
- name:NSWindowDidMoveNotification object:window];
- [notificationCenter addObserver:self selector:@selector(windowFrameDidChange:)
- name:NSWindowDidResizeNotification object:window];
-
- if (_proxy)
- _proxy->windowFrameChanged([window frame]);
- [self updateAndSetWindow];
-}
-
-- (void)removeWindowObservers
-{
- [super removeWindowObservers];
-
- NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
- [notificationCenter removeObserver:self name:NSWindowDidMoveNotification object:nil];
- [notificationCenter removeObserver:self name:NSWindowDidResizeNotification object:nil];
-}
-
-- (void)mouseDown:(NSEvent *)event
-{
- if (_isStarted && _proxy)
- _proxy->mouseEvent(self, event, NPCocoaEventMouseDown);
-}
-
-- (void)mouseUp:(NSEvent *)event
-{
- if (_isStarted && _proxy)
- _proxy->mouseEvent(self, event, NPCocoaEventMouseUp);
-}
-
-- (void)mouseDragged:(NSEvent *)event
-{
- if (_isStarted && _proxy)
- _proxy->mouseEvent(self, event, NPCocoaEventMouseDragged);
-}
-
-- (void)handleMouseEntered:(NSEvent *)event
-{
- // Set cursor to arrow. Plugins often handle cursor internally, but those that don't will just get this default one.
- [[NSCursor arrowCursor] set];
-
- if (_isStarted && _proxy)
- _proxy->mouseEvent(self, event, NPCocoaEventMouseEntered);
-}
-
-- (void)handleMouseExited:(NSEvent *)event
-{
- if (_isStarted && _proxy)
- _proxy->mouseEvent(self, event, NPCocoaEventMouseExited);
-
- // Set cursor back to arrow cursor. Because NSCursor doesn't know about changes that the plugin made, we could get confused about what we think the
- // current cursor is otherwise. Therefore we have no choice but to unconditionally reset the cursor when the mouse exits the plugin.
- // FIXME: This should be job of plugin host, see <rdar://problem/7654434>.
- [[NSCursor arrowCursor] set];
-}
-
-- (void)scrollWheel:(NSEvent *)event
-{
- bool processedEvent = false;
-
- if (_isStarted && _proxy)
- processedEvent = _proxy->wheelEvent(self, event);
-
- if (!processedEvent)
- [super scrollWheel:event];
-}
-
-- (NSTextInputContext *)inputContext
-{
- return [[WebTextInputWindowController sharedTextInputWindowController] inputContext];
-}
-
-- (void)keyDown:(NSEvent *)event
-{
- if (!_isStarted || !_proxy)
- return;
-
- NSString *string = nil;
- if ([[WebTextInputWindowController sharedTextInputWindowController] interpretKeyEvent:event string:&string]) {
- if (string)
- _proxy->insertText(string);
- return;
- }
-
- _proxy->keyEvent(self, event, NPCocoaEventKeyDown);
-}
-
-- (void)keyUp:(NSEvent *)event
-{
- if (_isStarted && _proxy)
- _proxy->keyEvent(self, event, NPCocoaEventKeyUp);
-}
-
-- (void)flagsChanged:(NSEvent *)event
-{
- if (_isStarted && _proxy)
- _proxy->flagsChanged(event);
-}
-
-- (void)sendModifierEventWithKeyCode:(int)keyCode character:(char)character
-{
- if (_isStarted && _proxy)
- _proxy->syntheticKeyDownWithCommandModifier(keyCode, character);
-}
-
-- (void)pluginHostDied
-{
- if (_element->renderer() && _element->renderer()->isEmbeddedObject()) {
- // FIXME: The renderer could also be a RenderApplet, we should handle that.
- RenderEmbeddedObject* renderer = toRenderEmbeddedObject(_element->renderer());
- renderer->setPluginUnavailabilityReason(RenderEmbeddedObject::PluginCrashed);
- }
-
- _pluginLayer = nil;
- _proxy = 0;
-
- // No need for us to be layer backed anymore
- self.wantsLayer = NO;
-
- [self invalidatePluginContentRect:[self bounds]];
-}
-
-- (void)visibleRectDidChange
-{
- [super visibleRectDidChange];
- WKSyncSurfaceToView(self);
-}
-
-- (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]) {
- WKSoftwareCARendererRender(_softwareRenderer, (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort], NSRectToCGRect(rect));
- _proxy->didDraw();
- } else
- _proxy->print(reinterpret_cast<CGContextRef>([[NSGraphicsContext currentContext] graphicsPort]), [self bounds].size.width, [self bounds].size.height);
- } else if (_snapshotting && [self supportsSnapshotting]) {
- _proxy->snapshot(reinterpret_cast<CGContextRef>([[NSGraphicsContext currentContext] graphicsPort]), [self bounds].size.width, [self bounds].size.height);
- }
-
- return;
- }
-}
-
-- (PassRefPtr<JSC::Bindings::Instance>)createPluginBindingsInstance:(PassRefPtr<JSC::Bindings::RootObject>)rootObject
-{
- if (!_proxy)
- return 0;
-
- return _proxy->createBindingsInstance(rootObject);
-}
-
-- (void)pluginView:(NSView *)pluginView receivedResponse:(NSURLResponse *)response
-{
- ASSERT(_loadManually);
- if (!_proxy)
- return;
-
- ASSERT(!_proxy->manualStream());
-
- _proxy->setManualStream(HostedNetscapePluginStream::create(_proxy.get(), core([self webFrame])->loader()));
- _proxy->manualStream()->startStreamWithResponse(response);
-}
-
-- (void)pluginView:(NSView *)pluginView receivedData:(NSData *)data
-{
- ASSERT(_loadManually);
- if (!_proxy)
- return;
-
- if (HostedNetscapePluginStream* manualStream = _proxy->manualStream())
- manualStream->didReceiveData(0, static_cast<const char*>([data bytes]), [data length]);
-}
-
-- (void)pluginView:(NSView *)pluginView receivedError:(NSError *)error
-{
- ASSERT(_loadManually);
- if (!_proxy)
- return;
-
- if (HostedNetscapePluginStream* manualStream = _proxy->manualStream())
- manualStream->didFail(0, error);
-}
-
-- (void)pluginViewFinishedLoading:(NSView *)pluginView
-{
- ASSERT(_loadManually);
- if (!_proxy)
- return;
-
- if (HostedNetscapePluginStream* manualStream = _proxy->manualStream())
- manualStream->didFinishLoading(0);
-}
-
-- (void)_webPluginContainerCancelCheckIfAllowedToLoadRequest:(id)webPluginContainerCheck
-{
- ASSERT([webPluginContainerCheck isKindOfClass:[WebPluginContainerCheck class]]);
-
- id contextInfo = [webPluginContainerCheck contextInfo];
- ASSERT([contextInfo isKindOfClass:[NSNumber class]]);
-
- if (!_proxy)
- return;
-
- uint32_t checkID = [(NSNumber *)contextInfo unsignedIntValue];
- _proxy->cancelCheckIfAllowedToLoadURL(checkID);
-}
-
-- (void)_containerCheckResult:(PolicyAction)policy contextInfo:(id)contextInfo
-{
- ASSERT([contextInfo isKindOfClass:[NSNumber class]]);
- if (!_proxy)
- return;
-
- uint32_t checkID = [(NSNumber *)contextInfo unsignedIntValue];
- _proxy->checkIfAllowedToLoadURLResult(checkID, (policy == PolicyUse));
-}
-
-- (void)webFrame:(WebFrame *)webFrame didFinishLoadWithReason:(NPReason)reason
-{
- if (_isStarted && _proxy)
- _proxy->webFrameDidFinishLoadWithReason(webFrame, reason);
-}
-
-- (void)webFrame:(WebFrame *)webFrame didFinishLoadWithError:(NSError *)error
-{
- NPReason reason = NPRES_DONE;
- if (error)
- reason = HostedNetscapePluginStream::reasonForError(error);
- [self webFrame:webFrame didFinishLoadWithReason:reason];
-}
-
-@end
-
-#endif // USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
diff --git a/Source/WebKit/mac/Plugins/Hosted/WebKitPluginAgent.defs b/Source/WebKit/mac/Plugins/Hosted/WebKitPluginAgent.defs
deleted file mode 100644
index 0f332b6fa..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/WebKitPluginAgent.defs
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 <WebKit/WebKitPluginHostTypes.defs>
-
-subsystem WebKitPluginAgent 100;
-
-serverprefix WKPA;
-userprefix _WKPA;
-
-routine CheckInApplication(serverPort :mach_port_t;
- ServerAuditToken token :audit_token_t;
- applicationName :application_name_t;
- out pluginVendorPort :mach_port_make_send_t);
-
-routine SpawnPluginHost(pluginVendorPort :mach_port_t;
- sreplyport _replyPort :mach_port_make_send_once_t;
- options :plist_bytes_t;
- out pluginHostPort: mach_port_move_send_t);
-
-routine CheckInPluginHost(serverPort :mach_port_t;
- pluginHostPort :mach_port_move_send_t;
- ServerAuditToken token :audit_token_t);
diff --git a/Source/WebKit/mac/Plugins/Hosted/WebKitPluginAgentReply.defs b/Source/WebKit/mac/Plugins/Hosted/WebKitPluginAgentReply.defs
deleted file mode 100644
index c802b3d6a..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/WebKitPluginAgentReply.defs
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 <WebKit/WebKitPluginHostTypes.defs>
-
-subsystem WebKitPluginAgentReply 200;
-
-serverprefix WKPA;
-userprefix _WKPA;
-
-skip; // CheckInApplication
-
-simpleroutine SpawnPluginHostReply(_replyPort :mach_port_move_send_once_t;
- in pluginHostPort: mach_port_move_send_t);
-
-skip; // CheckInPluginHost
diff --git a/Source/WebKit/mac/Plugins/Hosted/WebKitPluginClient.defs b/Source/WebKit/mac/Plugins/Hosted/WebKitPluginClient.defs
deleted file mode 100644
index 15fc5fae3..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/WebKitPluginClient.defs
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 <WebKit/WebKitPluginHostTypes.defs>
-
-// FIXME: Come up with a better name.
-subsystem WebKitPluginClient 300;
-
-serverprefix WK;
-userprefix _WK;
-
-simpleroutine PCStatusText(clientPort :mach_port_t;
- pluginID :uint32_t;
- text :data_t);
-
-routine PCLoadURL(clientPort :mach_port_t;
- pluginID :uint32_t;
- url :data_t;
- target :data_t;
- postData :data_t;
- flags: uint32_t;
- out resultCode :uint16_t;
- out requestID :uint32_t);
-
-simpleroutine PCCancelLoadURL(clientPort :mach_port_t;
- pluginID :uint32_t;
- streamID :uint32_t;
- reason :int16_t);
-
-simpleroutine PCInvalidateRect(clientPort :mach_port_t;
- pluginID :uint32_t;
- x :double;
- y :double;
- width :double;
- height :double);
-
-routine PCGetCookies(clientPort :mach_port_t;
- pluginID :uint32_t;
- url :data_t;
- out returnValue :boolean_t;
- out cookies :data_t, dealloc);
-
-routine PCSetCookies(clientPort :mach_port_t;
- pluginID :uint32_t;
- url :data_t;
- cookies :data_t;
- out returnValue :boolean_t);
-
-routine PCGetProxy(clientPort :mach_port_t;
- pluginID :uint32_t;
- url :data_t;
- out returnValue :boolean_t;
- out proxy :data_t, dealloc);
-
-routine PCGetAuthenticationInfo(clientPort :mach_port_t;
- pluginID :uint32_t;
- protocol :data_t;
- host :data_t;
- port :uint32_t;
- scheme :data_t;
- realm :data_t;
- out returnValue :boolean_t;
- out username :data_t, dealloc;
- out password :data_t, dealloc);
-
-routine PCConvertPoint(clientPort :mach_port_t;
- pluginID :uint32_t;
- sourceX :double;
- sourceY :double;
- sourceSpace :uint32_t;
- destSpace :uint32_t;
- out returnValue :boolean_t;
- out destX :double;
- out destY :double);
-
-// NPRuntime
-
-routine PCGetStringIdentifier(clientPort :mach_port_t;
- name :data_t;
- out identifier :uint64_t);
-
-routine PCGetIntIdentifier(clientPort :mach_port_t;
- value :int32_t;
- out identifier: uint64_t);
-
-routine PCGetWindowNPObject(clientPort :mach_port_t;
- pluginID :uint32_t;
- out objectID :uint32_t);
-routine PCGetPluginElementNPObject(clientPort :mach_port_t;
- pluginID :uint32_t;
- out objectID :uint32_t);
-
-routine PCForgetBrowserObject(clientPort :mach_port_t;
- pluginID :uint32_t;
- objectID :uint32_t);
-
-simpleroutine PCEvaluate(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t;
- script :data_t;
- allowPopups :boolean_t);
-
-simpleroutine PCInvoke(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t;
- methodNameIdentifier :uint64_t;
- arguments :data_t);
-
-simpleroutine PCInvokeDefault(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t;
- arguments :data_t);
-
-routine PCConstruct(clientPort :mach_port_t;
- pluginID :uint32_t;
- objectID :uint32_t;
- arguments :data_t;
- out returnValue :boolean_t;
- out result :data_t, dealloc);
-
-simpleroutine PCGetProperty(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t;
- propertyNameIdentifier :uint64_t);
-
-simpleroutine PCSetProperty(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t;
- propertyNameIdentifier :uint64_t;
- value :data_t);
-
-simpleroutine PCRemoveProperty(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t;
- propertyNameIdentifier :uint64_t);
-
-simpleroutine PCHasProperty(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t;
- propertyNameIdentifier :uint64_t);
-
-simpleroutine PCHasMethod(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t;
- methodNameIdentifier :uint64_t);
-
-routine PCIdentifierInfo(clientPort :mach_port_t;
- identifier :uint64_t;
- out info :data_t, dealloc);
-
-simpleroutine PCEnumerate(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t);
-
-// Misc
-
-simpleroutine PCSetMenuBarVisible(clientPort :mach_port_t;
- visible :boolean_t);
-
-simpleroutine PCSetModal(clientPort :mach_port_t;
- modal :boolean_t);
-
-routine PCCheckIfAllowedToLoadURL(clientPort :mach_port_t;
- pluginID :uint32_t;
- url :data_t;
- target :data_t;
- out checkID :uint32_t);
-
-simpleroutine PCCancelCheckIfAllowedToLoadURL(clientPort :mach_port_t;
- pluginID :uint32_t;
- checkID :uint32_t);
-
-routine PCResolveURL(clientPort :mach_port_t;
- pluginID :uint32_t;
- url :data_t;
- target :data_t;
- out resolvedURL :data_t, dealloc);
-
-// Replies
-simpleroutine PCInstantiatePluginReply(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- result :kern_return_t;
- renderContextID :uint32_t;
- rendererType :uint32_t);
-
-simpleroutine PCGetScriptableNPObjectReply(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t);
-
-simpleroutine PCBooleanReply(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- result :boolean_t);
-
-simpleroutine PCBooleanAndDataReply(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- returnValue :boolean_t;
- result :data_t);
-
-simpleroutine PCSetFullscreenWindowIsShowing(clientPort :mach_port_t;
- isShowing :boolean_t);
-
-simpleroutine PCSetException(clientPort :mach_port_t;
- message :data_t);
diff --git a/Source/WebKit/mac/Plugins/Hosted/WebKitPluginHost.defs b/Source/WebKit/mac/Plugins/Hosted/WebKitPluginHost.defs
deleted file mode 100644
index ecf01b373..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/WebKitPluginHost.defs
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 <WebKit/WebKitPluginHostTypes.defs>
-
-subsystem WebKitPluginHost 300;
-
-serverprefix WK;
-userprefix _WK;
-
-routine PHCheckInWithPluginHost(pluginHostPort :mach_port_t;
- ServerAuditToken token :audit_token_t;
- options :plist_bytes_t;
- clientPort :mach_port_make_send_t;
- clientPSNHigh :uint32_t;
- clientPSNLow :uint32_t;
- renderPort :mach_port_copy_send_t;
- out pluginHostPSNHigh :uint32_t;
- out pluginHostPSNLow :uint32_t);
-
-simpleroutine PHInstantiatePlugin(pluginHostPort :mach_port_t;
- requestID :uint32_t;
- options :plist_bytes_t;
- pluginID :uint32_t);
-
-simpleroutine PHResizePluginInstance(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- pluginX :double;
- pluginY :double;
- pluginWidth :double;
- pluginHeight :double;
- clipX :double;
- clipY :double;
- clipWidth :double;
- clipHeight :double);
-
-simpleroutine PHPluginInstanceFocusChanged(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- hasFocus :boolean_t);
-simpleroutine PHPluginInstanceWindowFocusChanged(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- hasFocus :boolean_t);
-simpleroutine PHPluginInstanceWindowFrameChanged(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- x :double;
- y :double;
- width :double;
- height :double;
- maxScreenY :double);
-
-simpleroutine PHPluginInstanceMouseEvent(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- timestamp :double;
- eventType :uint32_t;
- modifierFlags :uint32_t;
- pluginX :double;
- pluginY :double;
- screenX :double;
- screenY :double;
- maxScreenY :double;
- buttonNumber :int32_t;
- clickCount :int32_t;
- deltaX :double;
- deltaY :double;
- deltaZ: double);
-
-simpleroutine PHPluginInstanceKeyboardEvent(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- timestamp :double;
- eventType :uint32_t;
- modifierFlags :uint32_t;
- characters :data_t;
- charactersIgnoringModifiers :data_t;
- isARepeat :boolean_t;
- keyCode :uint16_t;
- keyChar :uint8_t);
-
-simpleroutine PHPluginInstanceWheelEvent(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- timestamp :double;
- modifierFlags :uint32_t;
- pluginX :double;
- pluginY :double;
- buttonNumber :int32_t;
- deltaX :double;
- deltaY :double;
- deltaZ: double);
-
-simpleroutine PHPluginInstanceInsertText(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- text :data_t);
-
-simpleroutine PHPluginInstanceStartTimers(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- throttleTimers :boolean_t);
-simpleroutine PHPluginInstanceStopTimers(pluginHostPort :mach_port_t;
- pluginID :uint32_t);
-
-simpleroutine PHPluginInstancePrint(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- width :uint32_t;
- height :uint32_t);
-
-simpleroutine PHDestroyPluginInstance(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t);
-
-simpleroutine PHCheckIfAllowedToLoadURLResult(clientPort :mach_port_t;
- pluginID :uint32_t;
- checkID :uint32_t;
- result :boolean_t);
-
-// Streams
-simpleroutine PHStartStream(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- streamID :uint32_t;
- responseURL :data_t;
- expectedContentLength :int64_t;
- lastModifiedTimeInterval :double;
- mimeType :data_t;
- headers :data_t);
-
-simpleroutine PHStreamDidReceiveData(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- streamID :uint32_t;
- data :data_t);
-
-simpleroutine PHStreamDidFinishLoading(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- streamID :uint32_t);
-
-simpleroutine PHStreamDidFail(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- streamID :uint32_t;
- reason :int16_t);
-
-simpleroutine PHLoadURLNotify(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- reason :int16_t);
-
-// NPRuntime
-
-simpleroutine PHGetScriptableNPObject(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t);
-
-simpleroutine PHNPObjectHasProperty(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t;
- propertyName :uint64_t);
-
-simpleroutine PHNPObjectHasMethod(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t;
- methodName :uint64_t);
-
-simpleroutine PHNPObjectInvoke(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t;
- invokeType :uint32_t;
- methodName :uint64_t;
- arguments :data_t);
-
-simpleroutine PHNPObjectHasInvokeDefaultMethod(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t);
-
-simpleroutine PHNPObjectHasConstructMethod(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t);
-
-simpleroutine PHNPObjectGetProperty(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t;
- propertyName :uint64_t);
-
-simpleroutine PHNPObjectSetProperty(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t;
- propertyName :uint64_t;
- value :data_t);
-
-simpleroutine PHNPObjectRelease(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- objectID :uint32_t);
-
-simpleroutine PHNPObjectEnumerate(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- objectID :uint32_t);
-
-// Replies
-
-simpleroutine PHBooleanReply(clientPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- result :boolean_t);
-
-simpleroutine PHBooleanAndDataReply(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- returnValue :boolean_t;
- result :data_t);
-
-simpleroutine PHPluginInstanceDidDraw(pluginHostPort :mach_port_t;
- pluginID :uint32_t);
-simpleroutine PHPluginInstancePrivateBrowsingModeDidChange(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- privateBrowsingEnabled :boolean_t);
-
-simpleroutine PHPluginInstanceSnapshot(pluginHostPort :mach_port_t;
- pluginID :uint32_t;
- requestID :uint32_t;
- width :uint32_t;
- height :uint32_t);
-
-routine PHCreatePluginMIMETypesPreferences(pluginHostPort :mach_port_t);
diff --git a/Source/WebKit/mac/Plugins/Hosted/WebKitPluginHostTypes.defs b/Source/WebKit/mac/Plugins/Hosted/WebKitPluginHostTypes.defs
deleted file mode 100644
index ee5352008..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/WebKitPluginHostTypes.defs
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 <mach/std_types.defs>
-#include <mach/mach_types.defs>
-
-import <WebKit/WebKitPluginHostTypes.h>;
-
-type plist_bytes_t = ^array [] of uint8_t;
-type application_name_t = ^array [] of uint8_t;
-type data_t = ^array [] of char;
diff --git a/Source/WebKit/mac/Plugins/Hosted/WebTextInputWindowController.h b/Source/WebKit/mac/Plugins/Hosted/WebTextInputWindowController.h
deleted file mode 100644
index 9f036ee2b..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/WebTextInputWindowController.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS)
-
-#ifndef WebTextInputWindowController_h
-#define WebTextInputWindowController_h
-
-@class WebTextInputPanel;
-
-@interface WebTextInputWindowController : NSObject {
- WebTextInputPanel *_panel;
-}
-
-+ (WebTextInputWindowController *)sharedTextInputWindowController;
-
-- (NSTextInputContext *)inputContext;
-- (BOOL)interpretKeyEvent:(NSEvent *)event string:(NSString **)string;
-
-@end
-
-#endif // WebTextInputWindowController_h
-
-#endif // USE(PLUGIN_HOST_PROCESS)
diff --git a/Source/WebKit/mac/Plugins/Hosted/WebTextInputWindowController.m b/Source/WebKit/mac/Plugins/Hosted/WebTextInputWindowController.m
deleted file mode 100644
index dc9f4a7fc..000000000
--- a/Source/WebKit/mac/Plugins/Hosted/WebTextInputWindowController.m
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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.
- */
-
-#if USE(PLUGIN_HOST_PROCESS)
-
-#import "WebTextInputWindowController.h"
-
-#import <WebKitSystemInterface.h>
-
-@interface WebTextInputView : NSTextView {
-}
-@end
-
-@implementation WebTextInputView
-
-- (NSArray *)validAttributesForMarkedText
-{
- // Let TSM know that a bottom input window would be created for marked text.
- NSArray *regularAttributes = [super validAttributesForMarkedText];
- NSMutableArray *floatingWindowAttributes = [NSMutableArray arrayWithArray:regularAttributes];
- [floatingWindowAttributes addObject:@"__NSUsesFloatingInputWindow"];
- return floatingWindowAttributes;
-}
-
-@end
-
-@interface WebTextInputPanel : NSPanel {
- NSTextView *_inputTextView;
-}
-
-- (NSTextInputContext *)_inputContext;
-- (BOOL)_interpretKeyEvent:(NSEvent *)event string:(NSString **)string;
-
-@end
-
-#define inputWindowHeight 20
-
-@implementation WebTextInputPanel
-
-- (void)dealloc
-{
- [[NSNotificationCenter defaultCenter] removeObserver:self];
-
- [_inputTextView release];
-
- [super dealloc];
-}
-
-- (id)init
-{
- self = [super initWithContentRect:NSZeroRect styleMask:WKGetInputPanelWindowStyle() backing:NSBackingStoreBuffered defer:YES];
- if (!self)
- return nil;
-
- // Set the frame size.
- NSRect visibleFrame = [[NSScreen mainScreen] visibleFrame];
- NSRect frame = NSMakeRect(visibleFrame.origin.x, visibleFrame.origin.y, visibleFrame.size.width, inputWindowHeight);
-
- [self setFrame:frame display:NO];
-
- _inputTextView = [[WebTextInputView alloc] initWithFrame:[self.contentView frame]];
- _inputTextView.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable | NSViewMaxXMargin | NSViewMinXMargin | NSViewMaxYMargin | NSViewMinYMargin;
-
- NSScrollView* scrollView = [[NSScrollView alloc] initWithFrame:[self.contentView frame]];
- scrollView.documentView = _inputTextView;
- self.contentView = scrollView;
- [scrollView release];
-
- [self setFloatingPanel:YES];
-
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(_keyboardInputSourceChanged:)
- name:NSTextInputContextKeyboardSelectionDidChangeNotification
- object:nil];
-
- return self;
-}
-
-- (void)_keyboardInputSourceChanged:(NSNotification *)notification
-{
- [_inputTextView setString:@""];
- [self orderOut:nil];
-}
-
-- (BOOL)_interpretKeyEvent:(NSEvent *)event string:(NSString **)string
-{
- BOOL hadMarkedText = [_inputTextView hasMarkedText];
-
- *string = nil;
-
- // Let TSM know that a bottom input window would be created for marked text.
- // FIXME: Can be removed once we can rely on __NSUsesFloatingInputWindow (or a better API) being available everywhere.
- EventRef carbonEvent = (EventRef)[event eventRef];
- if (carbonEvent) {
- Boolean ignorePAH = true;
- SetEventParameter(carbonEvent, 'iPAH', typeBoolean, sizeof(ignorePAH), &ignorePAH);
- }
-
- if (![[_inputTextView inputContext] handleEvent:event])
- return NO;
-
- if ([_inputTextView hasMarkedText]) {
- // Don't show the input method window for dead keys
- if ([[event characters] length] > 0)
- [self orderFront:nil];
-
- return YES;
- }
-
- if (hadMarkedText) {
- [self orderOut:nil];
-
- NSString *text = [[_inputTextView textStorage] string];
- if ([text length] > 0)
- *string = [[text copy] autorelease];
- }
-
- [_inputTextView setString:@""];
- return hadMarkedText;
-}
-
-- (NSTextInputContext *)_inputContext
-{
- return [_inputTextView inputContext];
-}
-
-@end
-
-@implementation WebTextInputWindowController
-
-+ (WebTextInputWindowController *)sharedTextInputWindowController
-{
- static WebTextInputWindowController *textInputWindowController;
- if (!textInputWindowController)
- textInputWindowController = [[WebTextInputWindowController alloc] init];
-
- return textInputWindowController;
-}
-
-- (id)init
-{
- self = [super init];
- if (!self)
- return nil;
-
- _panel = [[WebTextInputPanel alloc] init];
-
- return self;
-}
-
-- (NSTextInputContext *)inputContext
-{
- return [_panel _inputContext];
-}
-
-- (BOOL)interpretKeyEvent:(NSEvent *)event string:(NSString **)string
-{
- return [_panel _interpretKeyEvent:event string:string];
-}
-
-@end
-
-#endif // USE(PLUGIN_HOST_PROCESS)
-
diff --git a/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.h b/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.h
deleted file mode 100644
index 9b933f419..000000000
--- a/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (C) 2005, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-#import <Cocoa/Cocoa.h>
-
-#import "WebNetscapePluginPackage.h"
-#import "WebPluginContainerCheck.h"
-#import <wtf/Forward.h>
-#import <wtf/OwnPtr.h>
-#import <wtf/PassRefPtr.h>
-#import <wtf/RefPtr.h>
-#import <wtf/RetainPtr.h>
-
-@class DOMElement;
-@class WebDataSource;
-@class WebFrame;
-@class WebView;
-
-namespace WebCore {
- class HTMLPlugInElement;
-}
-
-// Also declared in WebCore/WidgetMac.mm
-@interface NSView (Widget)
-- (void)visibleRectDidChange;
-@end
-
-@interface WebBaseNetscapePluginView : NSView
-{
- RetainPtr<WebNetscapePluginPackage> _pluginPackage;
-
- WebFrame *_webFrame;
-
- int _mode;
-
- BOOL _triedAndFailedToCreatePlugin;
- BOOL _loadManually;
- BOOL _shouldFireTimers;
- BOOL _isStarted;
- BOOL _hasFocus;
- BOOL _isCompletelyObscured;
- BOOL _isPrivateBrowsingEnabled;
- BOOL _snapshotting;
-
- RefPtr<WebCore::HTMLPlugInElement> _element;
- RetainPtr<NSString> _MIMEType;
- RetainPtr<NSURL> _baseURL;
- RetainPtr<NSURL> _sourceURL;
- RetainPtr<NSImage> _cachedSnapshot;
-
- NSTrackingRectTag _trackingTag;
-}
-
-- (id)initWithFrame:(NSRect)r
- pluginPackage:(WebNetscapePluginPackage *)thePluginPackage
- URL:(NSURL *)URL
- baseURL:(NSURL *)baseURL
- MIMEType:(NSString *)MIME
- attributeKeys:(NSArray *)keys
- attributeValues:(NSArray *)values
- loadManually:(BOOL)loadManually
- element:(PassRefPtr<WebCore::HTMLPlugInElement>)element;
-
-- (WebNetscapePluginPackage *)pluginPackage;
-
-- (NSURL *)URLWithCString:(const char *)URLCString;
-- (NSMutableURLRequest *)requestWithURLCString:(const char *)URLCString;
-
-// Subclasses must override these.
-// The "handle" prefix is needed to avoid overriding NSView methods.
-- (void)handleMouseMoved:(NSEvent *)event;
-- (void)handleMouseEntered:(NSEvent *)event;
-- (void)handleMouseExited:(NSEvent *)event;
-- (void)setAttributeKeys:(NSArray *)keys andValues:(NSArray *)values;
-- (void)focusChanged;
-- (void)updateAndSetWindow;
-
-- (WebFrame *)webFrame;
-- (WebDataSource *)dataSource;
-- (WebView *)webView;
-- (NSWindow *)currentWindow;
-- (WebCore::HTMLPlugInElement*)element;
-
-- (void)removeTrackingRect;
-- (void)resetTrackingRect;
-
-- (void)stopTimers;
-- (void)startTimers;
-- (void)restartTimers;
-
-- (void)start;
-- (void)stop;
-
-- (void)addWindowObservers;
-- (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;
-- (WTF::CString)resolvedURLStringForURL:(const char*)url target:(const char*)target;
-
-- (void)invalidatePluginContentRect:(NSRect)rect;
-
-- (NSRect)actualVisibleRectInWindow; // takes transforms into account.
-
-- (CALayer *)pluginLayer;
-
-- (BOOL)getFormValue:(NSString **)value;
-
-@end
-
-
-namespace WebKit {
-bool getAuthenticationInfo(const char* protocolStr, const char* hostStr, int32_t port, const char* schemeStr, const char* realmStr,
- WTF::CString& username, WTF::CString& password);
-}
-
-#endif
-
diff --git a/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm b/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
deleted file mode 100644
index b23bd9b58..000000000
--- a/Source/WebKit/mac/Plugins/WebBaseNetscapePluginView.mm
+++ /dev/null
@@ -1,944 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-#import "WebBaseNetscapePluginView.h"
-
-#import "WebFrameInternal.h"
-#import "WebKitLogging.h"
-#import "WebKitNSStringExtras.h"
-#import "WebKitSystemInterface.h"
-#import "WebPluginContainerCheck.h"
-#import "WebNetscapeContainerCheckContextInfo.h"
-#import "WebNSURLExtras.h"
-#import "WebNSURLRequestExtras.h"
-#import "WebView.h"
-#import "WebViewInternal.h"
-
-#import <WebCore/AuthenticationCF.h>
-#import <WebCore/AuthenticationMac.h>
-#import <WebCore/BitmapImage.h>
-#import <WebCore/Credential.h>
-#import <WebCore/CredentialStorage.h>
-#import <WebCore/Document.h>
-#import <WebCore/Element.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/HTMLPlugInElement.h>
-#import <WebCore/Page.h>
-#import <WebCore/ProtectionSpace.h>
-#import <WebCore/RenderView.h>
-#import <WebCore/RenderWidget.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/SecurityOrigin.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <WebKit/DOMPrivate.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/Assertions.h>
-#import <wtf/MainThread.h>
-#import <wtf/text/CString.h>
-
-#define LoginWindowDidSwitchFromUserNotification @"WebLoginWindowDidSwitchFromUserNotification"
-#define LoginWindowDidSwitchToUserNotification @"WebLoginWindowDidSwitchToUserNotification"
-
-static const NSTimeInterval ClearSubstituteImageDelay = 0.5;
-
-using namespace WebCore;
-
-@implementation WebBaseNetscapePluginView
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
- WKSendUserChangeNotifications();
-}
-
-- (id)initWithFrame:(NSRect)frame
- pluginPackage:(WebNetscapePluginPackage *)pluginPackage
- URL:(NSURL *)URL
- baseURL:(NSURL *)baseURL
- MIMEType:(NSString *)MIME
- attributeKeys:(NSArray *)keys
- attributeValues:(NSArray *)values
- loadManually:(BOOL)loadManually
- element:(PassRefPtr<WebCore::HTMLPlugInElement>)element
-{
- self = [super initWithFrame:frame];
- if (!self)
- return nil;
-
- _pluginPackage = pluginPackage;
- _element = element;
- _sourceURL = adoptNS([URL copy]);
- _baseURL = adoptNS([baseURL copy]);
- _MIMEType = adoptNS([MIME copy]);
-
- // Enable "kiosk mode" when instantiating the QT plug-in inside of Dashboard. See <rdar://problem/6878105>
- if ([[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.dashboard.client"] &&
- [_pluginPackage.get() bundleIdentifier] == "com.apple.QuickTime Plugin.plugin") {
- RetainPtr<NSMutableArray> mutableKeys = adoptNS([keys mutableCopy]);
- RetainPtr<NSMutableArray> mutableValues = adoptNS([values mutableCopy]);
-
- [mutableKeys.get() addObject:@"kioskmode"];
- [mutableValues.get() addObject:@"true"];
- [self setAttributeKeys:mutableKeys.get() andValues:mutableValues.get()];
- } else
- [self setAttributeKeys:keys andValues:values];
-
- if (loadManually)
- _mode = NP_FULL;
- else
- _mode = NP_EMBED;
-
- _loadManually = loadManually;
- return self;
-}
-
-- (void)dealloc
-{
- ASSERT(!_isStarted);
-
- [super dealloc];
-}
-
-- (void)finalize
-{
- ASSERT_MAIN_THREAD();
- ASSERT(!_isStarted);
-
- [super finalize];
-}
-
-- (WebNetscapePluginPackage *)pluginPackage
-{
- return _pluginPackage.get();
-}
-
-- (BOOL)isFlipped
-{
- return YES;
-}
-
-- (NSURL *)URLWithCString:(const char *)URLCString
-{
- if (!URLCString)
- return nil;
-
- CFStringRef string = CFStringCreateWithCString(kCFAllocatorDefault, URLCString, kCFStringEncodingISOLatin1);
- ASSERT(string); // All strings should be representable in ISO Latin 1
-
- NSString *URLString = [(NSString *)string _web_stringByStrippingReturnCharacters];
- NSURL *URL = [NSURL _web_URLWithDataAsString:URLString relativeToURL:_baseURL.get()];
- CFRelease(string);
- if (!URL)
- return nil;
-
- return URL;
-}
-
-- (NSMutableURLRequest *)requestWithURLCString:(const char *)URLCString
-{
- NSURL *URL = [self URLWithCString:URLCString];
- if (!URL)
- return nil;
-
- NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
- Frame* frame = core([self webFrame]);
- if (!frame)
- return nil;
- [request _web_setHTTPReferrer:frame->loader()->outgoingReferrer()];
- return request;
-}
-
-// Methods that subclasses must override
-- (void)setAttributeKeys:(NSArray *)keys andValues:(NSArray *)values
-{
- // This needs to be overridden by subclasses.
-}
-
-- (void)handleMouseMoved:(NSEvent *)event
-{
- // This needs to be overriden by subclasses.
-}
-
-- (void)handleMouseEntered:(NSEvent *)event
-{
- // This needs to be overridden by subclasses.
-}
-
-- (void)handleMouseExited:(NSEvent *)event
-{
- // This needs to be overridden by subclasses.
-}
-
-- (void)focusChanged
-{
- // This needs to be overridden by subclasses.
-}
-
-- (void)windowFocusChanged:(BOOL)hasFocus
-{
- // This needs to be overridden by subclasses.
-}
-
-- (BOOL)createPlugin
-{
- // This needs to be overridden by subclasses.
- return NO;
-}
-
-- (void)loadStream
-{
- // This needs to be overridden by subclasses.
-}
-
-- (BOOL)shouldStop
-{
- // This needs to be overridden by subclasses.
- return YES;
-}
-
-- (void)destroyPlugin
-{
- // This needs to be overridden by subclasses.
-}
-
-- (void)updateAndSetWindow
-{
- // This needs to be overridden by subclasses.
-}
-
-- (void)sendModifierEventWithKeyCode:(int)keyCode character:(char)character
-{
- // This needs to be overridden by subclasses.
-}
-
-- (void)privateBrowsingModeDidChange
-{
-}
-
-- (void)removeTrackingRect
-{
- if (_trackingTag) {
- [self removeTrackingRect:_trackingTag];
- _trackingTag = 0;
-
- // Do the following after setting trackingTag to 0 so we don't re-enter.
-
- // Balance the retain in resetTrackingRect. Use autorelease in case we hold
- // the last reference to the window during tear-down, to avoid crashing AppKit.
- [[self window] autorelease];
- }
-}
-
-- (void)resetTrackingRect
-{
- [self removeTrackingRect];
- if (_isStarted) {
- // Retain the window so that removeTrackingRect can work after the window is closed.
- [[self window] retain];
- _trackingTag = [self addTrackingRect:[self bounds] owner:self userData:nil assumeInside:NO];
- }
-}
-
-- (void)stopTimers
-{
- _shouldFireTimers = NO;
-}
-
-- (void)startTimers
-{
- _shouldFireTimers = YES;
-}
-
-- (void)restartTimers
-{
- [self stopTimers];
-
- if (!_isStarted || [[self window] isMiniaturized])
- return;
-
- [self startTimers];
-}
-
-- (NSRect)_windowClipRect
-{
- RenderObject* renderer = _element->renderer();
- if (!renderer || !renderer->view())
- return NSZeroRect;
-
- return toRenderWidget(renderer)->windowClipRect();
-}
-
-- (NSRect)visibleRect
-{
- // WebCore may impose an additional clip (via CSS overflow or clip properties). Fetch
- // that clip now.
- return NSIntersectionRect([self convertRect:[self _windowClipRect] fromView:nil], [super visibleRect]);
-}
-
-- (void)visibleRectDidChange
-{
- [self renewGState];
-}
-
-- (BOOL)acceptsFirstResponder
-{
- return YES;
-}
-
-- (void)sendActivateEvent:(BOOL)activate
-{
- if (!_isStarted)
- return;
-
- [self windowFocusChanged:activate];
-}
-
-- (void)setHasFocus:(BOOL)flag
-{
- if (!_isStarted)
- return;
-
- if (_hasFocus == flag)
- return;
-
- _hasFocus = flag;
-
- [self focusChanged];
-}
-
-- (void)addWindowObservers
-{
- ASSERT([self window]);
-
- NSWindow *theWindow = [self window];
-
- NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
- [notificationCenter addObserver:self selector:@selector(windowWillClose:)
- name:NSWindowWillCloseNotification object:theWindow];
- [notificationCenter addObserver:self selector:@selector(windowBecameKey:)
- name:NSWindowDidBecomeKeyNotification object:theWindow];
- [notificationCenter addObserver:self selector:@selector(windowResignedKey:)
- name:NSWindowDidResignKeyNotification object:theWindow];
- [notificationCenter addObserver:self selector:@selector(windowDidMiniaturize:)
- name:NSWindowDidMiniaturizeNotification object:theWindow];
- [notificationCenter addObserver:self selector:@selector(windowDidDeminiaturize:)
- name:NSWindowDidDeminiaturizeNotification object:theWindow];
-
- [notificationCenter addObserver:self selector:@selector(loginWindowDidSwitchFromUser:)
- name:LoginWindowDidSwitchFromUserNotification object:nil];
- [notificationCenter addObserver:self selector:@selector(loginWindowDidSwitchToUser:)
- name:LoginWindowDidSwitchToUserNotification object:nil];
-}
-
-- (void)removeWindowObservers
-{
- NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
- [notificationCenter removeObserver:self name:NSWindowWillCloseNotification object:nil];
- [notificationCenter removeObserver:self name:NSWindowDidBecomeKeyNotification object:nil];
- [notificationCenter removeObserver:self name:NSWindowDidResignKeyNotification object:nil];
- [notificationCenter removeObserver:self name:NSWindowDidMiniaturizeNotification object:nil];
- [notificationCenter removeObserver:self name:NSWindowDidDeminiaturizeNotification object:nil];
- [notificationCenter removeObserver:self name:LoginWindowDidSwitchFromUserNotification object:nil];
- [notificationCenter removeObserver:self name:LoginWindowDidSwitchToUserNotification object:nil];
-}
-
-- (void)start
-{
- ASSERT([self currentWindow]);
-
- if (_isStarted)
- return;
-
- if (_triedAndFailedToCreatePlugin)
- return;
-
- ASSERT([self webView]);
-
- if (![[[self webView] preferences] arePlugInsEnabled])
- return;
-
- Frame* frame = core([self webFrame]);
- if (!frame)
- return;
- Page* page = frame->page();
- if (!page)
- return;
-
- bool wasDeferring = page->defersLoading();
- if (!wasDeferring)
- page->setDefersLoading(true);
-
- BOOL result = [self createPlugin];
-
- if (!wasDeferring)
- page->setDefersLoading(false);
-
- if (!result) {
- _triedAndFailedToCreatePlugin = YES;
- return;
- }
-
- _isStarted = YES;
-
- [[self webView] addPluginInstanceView:self];
-
- if ([self currentWindow])
- [self updateAndSetWindow];
-
- if ([self window]) {
- [self addWindowObservers];
- if ([[self window] isKeyWindow]) {
- [self sendActivateEvent:YES];
- }
- [self restartTimers];
- }
-
- [self resetTrackingRect];
-
- [self loadStream];
-}
-
-- (void)stop
-{
- if (![self shouldStop])
- return;
-
- [self removeTrackingRect];
-
- if (!_isStarted)
- return;
-
- _isStarted = NO;
-
- [[self webView] removePluginInstanceView:self];
-
- // Stop the timers
- [self stopTimers];
-
- // Stop notifications and callbacks.
- [self removeWindowObservers];
-
- [self destroyPlugin];
-}
-
-- (BOOL)shouldClipOutPlugin
-{
- NSWindow *window = [self window];
- return !window || [window isMiniaturized] || [NSApp isHidden] || ![self isDescendantOf:[[self window] contentView]] || [self isHiddenOrHasHiddenAncestor];
-}
-
-- (BOOL)inFlatteningPaint
-{
- RenderObject* renderer = _element->renderer();
- if (renderer && renderer->view()) {
- if (FrameView* frameView = renderer->view()->frameView())
- return frameView->paintBehavior() & PaintBehaviorFlattenCompositingLayers;
- }
-
- return NO;
-}
-
-- (BOOL)supportsSnapshotting
-{
- return [_pluginPackage.get() supportsSnapshotting];
-}
-
-- (void)cacheSnapshot
-{
- NSSize boundsSize = [self bounds].size;
- if (!boundsSize.height || !boundsSize.width)
- return;
-
- NSImage *snapshot = [[NSImage alloc] initWithSize:boundsSize];
-
- _snapshotting = YES;
- [snapshot lockFocus];
- [self drawRect:[self bounds]];
- [snapshot unlockFocus];
- _snapshotting = NO;
-
- _cachedSnapshot = adoptNS(snapshot);
-}
-
-- (void)clearCachedSnapshot
-{
- _cachedSnapshot.clear();
-}
-
-- (void)viewWillMoveToWindow:(NSWindow *)newWindow
-{
- // We must remove the tracking rect before we move to the new window.
- // Once we move to the new window, it will be too late.
- [self removeTrackingRect];
- [self removeWindowObservers];
-
- // Workaround for: <rdar://problem/3822871> resignFirstResponder is not sent to first responder view when it is removed from the window
- [self setHasFocus:NO];
-
- if (!newWindow) {
- if ([[self webView] hostWindow]) {
- // View will be moved out of the actual window but it still has a host window.
- [self stopTimers];
- } else {
- // View will have no associated windows.
- [self stop];
-
- // Stop observing WebPreferencesChangedInternalNotification -- we only need to observe this when installed in the view hierarchy.
- // When not in the view hierarchy, -viewWillMoveToWindow: and -viewDidMoveToWindow will start/stop the plugin as needed.
- [[NSNotificationCenter defaultCenter] removeObserver:self name:WebPreferencesChangedInternalNotification object:nil];
- }
- }
-}
-
-- (void)viewWillMoveToSuperview:(NSView *)newSuperview
-{
- if (!newSuperview) {
- // Stop the plug-in when it is removed from its superview. It is not sufficient to do this in -viewWillMoveToWindow:nil, because
- // the WebView might still has a hostWindow at that point, which prevents the plug-in from being destroyed.
- // There is no need to start the plug-in when moving into a superview. -viewDidMoveToWindow takes care of that.
- [self stop];
-
- // Stop observing WebPreferencesChangedInternalNotification -- we only need to observe this when installed in the view hierarchy.
- // When not in the view hierarchy, -viewWillMoveToWindow: and -viewDidMoveToWindow will start/stop the plugin as needed.
- [[NSNotificationCenter defaultCenter] removeObserver:self name:WebPreferencesChangedInternalNotification object:nil];
- }
-}
-
-- (void)viewDidMoveToWindow
-{
- [self resetTrackingRect];
-
- if ([self window]) {
- // While in the view hierarchy, observe WebPreferencesChangedInternalNotification so that we can start/stop depending
- // on whether plugins are enabled.
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(preferencesHaveChanged:)
- name:WebPreferencesChangedInternalNotification
- object:nil];
-
- _isPrivateBrowsingEnabled = [[[self webView] preferences] privateBrowsingEnabled];
-
- // View moved to an actual window. Start it if not already started.
- [self start];
-
- // Starting the plug-in can result in it removing itself from the window so we need to ensure that we're still in
- // place before doing anything that requires a window.
- if ([self window]) {
- [self restartTimers];
- [self addWindowObservers];
- }
- } else if ([[self webView] hostWindow]) {
- // View moved out of an actual window, but still has a host window.
- // Call setWindow to explicitly "clip out" the plug-in from sight.
- // FIXME: It would be nice to do this where we call stopNullEvents in viewWillMoveToWindow.
- [self updateAndSetWindow];
- }
-}
-
-- (void)viewWillMoveToHostWindow:(NSWindow *)hostWindow
-{
- if (!hostWindow && ![self window]) {
- // View will have no associated windows.
- [self stop];
-
- // Remove WebPreferencesChangedInternalNotification observer -- we will observe once again when we move back into the window
- [[NSNotificationCenter defaultCenter] removeObserver:self name:WebPreferencesChangedInternalNotification object:nil];
- }
-}
-
-- (void)viewDidMoveToHostWindow
-{
- if ([[self webView] hostWindow]) {
- // View now has an associated window. Start it if not already started.
- [self start];
- }
-}
-
-// MARK: NOTIFICATIONS
-
-- (void)windowWillClose:(NSNotification *)notification
-{
- [self stop];
-}
-
-- (void)windowBecameKey:(NSNotification *)notification
-{
- [self sendActivateEvent:YES];
- [self invalidatePluginContentRect:[self bounds]];
- [self restartTimers];
-}
-
-- (void)windowResignedKey:(NSNotification *)notification
-{
- [self sendActivateEvent:NO];
- [self invalidatePluginContentRect:[self bounds]];
- [self restartTimers];
-}
-
-- (void)windowDidMiniaturize:(NSNotification *)notification
-{
- [self stopTimers];
-}
-
-- (void)windowDidDeminiaturize:(NSNotification *)notification
-{
- [self restartTimers];
-}
-
-- (void)loginWindowDidSwitchFromUser:(NSNotification *)notification
-{
- [self stopTimers];
-}
-
--(void)loginWindowDidSwitchToUser:(NSNotification *)notification
-{
- [self restartTimers];
-}
-
-- (void)preferencesHaveChanged:(NSNotification *)notification
-{
- WebPreferences *preferences = [[self webView] preferences];
-
- if ([notification object] != preferences)
- return;
-
- BOOL arePlugInsEnabled = [preferences arePlugInsEnabled];
- if (_isStarted != arePlugInsEnabled) {
- if (arePlugInsEnabled) {
- if ([self currentWindow]) {
- [self start];
- }
- } else {
- [self stop];
- [self invalidatePluginContentRect:[self bounds]];
- }
- }
-
- BOOL isPrivateBrowsingEnabled = [preferences privateBrowsingEnabled];
- if (isPrivateBrowsingEnabled != _isPrivateBrowsingEnabled) {
- _isPrivateBrowsingEnabled = isPrivateBrowsingEnabled;
- [self privateBrowsingModeDidChange];
- }
-}
-
-- (void)renewGState
-{
- [super renewGState];
-
- // -renewGState is called whenever the view's geometry changes. It's a little hacky to override this method, but
- // much safer than walking up the view hierarchy and observing frame/bounds changed notifications, since you don't
- // have to track subsequent changes to the view hierarchy and add/remove notification observers.
- // NSOpenGLView uses the exact same technique to reshape its OpenGL surface.
-
- // All of the work this method does may safely be skipped if the view is not in a window. When the view
- // is moved back into a window, everything should be set up correctly.
- if (![self window])
- return;
-
- [self updateAndSetWindow];
-
- [self resetTrackingRect];
-
- // Check to see if the plugin view is completely obscured (scrolled out of view, for example).
- // For performance reasons, we send null events at a lower rate to plugins which are obscured.
- BOOL oldIsObscured = _isCompletelyObscured;
- _isCompletelyObscured = NSIsEmptyRect([self visibleRect]);
- if (_isCompletelyObscured != oldIsObscured)
- [self restartTimers];
-}
-
-- (BOOL)becomeFirstResponder
-{
- [self setHasFocus:YES];
- return YES;
-}
-
-- (BOOL)resignFirstResponder
-{
- [self setHasFocus:NO];
- return YES;
-}
-
-- (WebDataSource *)dataSource
-{
- return [[self webFrame] _dataSource];
-}
-
-- (WebFrame *)webFrame
-{
- return kit(_element->document()->frame());
-}
-
-- (WebView *)webView
-{
- return [[self webFrame] webView];
-}
-
-- (NSWindow *)currentWindow
-{
- return [self window] ? [self window] : [[self webView] hostWindow];
-}
-
-- (WebCore::HTMLPlugInElement*)element
-{
- return _element.get();
-}
-
-- (void)cut:(id)sender
-{
- [self sendModifierEventWithKeyCode:7 character:'x'];
-}
-
-- (void)copy:(id)sender
-{
- [self sendModifierEventWithKeyCode:8 character:'c'];
-}
-
-- (void)paste:(id)sender
-{
- [self sendModifierEventWithKeyCode:9 character:'v'];
-}
-
-- (void)selectAll:(id)sender
-{
- [self sendModifierEventWithKeyCode:0 character:'a'];
-}
-
-// AppKit doesn't call mouseDown or mouseUp on right-click. Simulate control-click
-// mouseDown and mouseUp so plug-ins get the right-click event as they do in Carbon (3125743).
-- (void)rightMouseDown:(NSEvent *)theEvent
-{
- [self mouseDown:theEvent];
-}
-
-- (void)rightMouseUp:(NSEvent *)theEvent
-{
- [self mouseUp:theEvent];
-}
-
-
-- (BOOL)convertFromX:(double)sourceX andY:(double)sourceY space:(NPCoordinateSpace)sourceSpace
- toX:(double *)destX andY:(double *)destY space:(NPCoordinateSpace)destSpace
-{
- // Nothing to do
- if (sourceSpace == destSpace) {
- if (destX)
- *destX = sourceX;
- if (destY)
- *destY = sourceY;
- return YES;
- }
-
- NSPoint sourcePoint = NSMakePoint(sourceX, sourceY);
-
- NSPoint sourcePointInScreenSpace;
-
- // First convert to screen space
- switch (sourceSpace) {
- case NPCoordinateSpacePlugin:
- sourcePointInScreenSpace = [self convertPoint:sourcePoint toView:nil];
- sourcePointInScreenSpace = [[self currentWindow] convertBaseToScreen:sourcePointInScreenSpace];
- break;
-
- case NPCoordinateSpaceWindow:
- sourcePointInScreenSpace = [[self currentWindow] convertBaseToScreen:sourcePoint];
- break;
-
- case NPCoordinateSpaceFlippedWindow:
- sourcePoint.y = [[self currentWindow] frame].size.height - sourcePoint.y;
- sourcePointInScreenSpace = [[self currentWindow] convertBaseToScreen:sourcePoint];
- break;
-
- case NPCoordinateSpaceScreen:
- sourcePointInScreenSpace = sourcePoint;
- break;
-
- case NPCoordinateSpaceFlippedScreen:
- sourcePoint.y = [(NSScreen *)[[NSScreen screens] objectAtIndex:0] frame].size.height - sourcePoint.y;
- sourcePointInScreenSpace = sourcePoint;
- break;
- default:
- return FALSE;
- }
-
- NSPoint destPoint;
-
- // Then convert back to the destination space
- switch (destSpace) {
- case NPCoordinateSpacePlugin:
- destPoint = [[self currentWindow] convertScreenToBase:sourcePointInScreenSpace];
- destPoint = [self convertPoint:destPoint fromView:nil];
- break;
-
- case NPCoordinateSpaceWindow:
- destPoint = [[self currentWindow] convertScreenToBase:sourcePointInScreenSpace];
- break;
-
- case NPCoordinateSpaceFlippedWindow:
- destPoint = [[self currentWindow] convertScreenToBase:sourcePointInScreenSpace];
- destPoint.y = [[self currentWindow] frame].size.height - destPoint.y;
- break;
-
- case NPCoordinateSpaceScreen:
- destPoint = sourcePointInScreenSpace;
- break;
-
- case NPCoordinateSpaceFlippedScreen:
- destPoint = sourcePointInScreenSpace;
- destPoint.y = [(NSScreen *)[[NSScreen screens] objectAtIndex:0] frame].size.height - destPoint.y;
- break;
-
- default:
- return FALSE;
- }
-
- if (destX)
- *destX = destPoint.x;
- if (destY)
- *destY = destPoint.y;
-
- return TRUE;
-}
-
-
-- (CString)resolvedURLStringForURL:(const char*)url target:(const char*)target
-{
- String relativeURLString = String::fromUTF8(url);
- if (relativeURLString.isNull())
- return CString();
-
- Frame* frame = core([self webFrame]);
- if (!frame)
- return CString();
-
- Frame* targetFrame = frame->tree()->find(String::fromUTF8(target));
- if (!targetFrame)
- return CString();
-
- if (!frame->document()->securityOrigin()->canAccess(targetFrame->document()->securityOrigin()))
- return CString();
-
- KURL absoluteURL = targetFrame->document()->completeURL(relativeURLString);
- return absoluteURL.string().utf8();
-}
-
-- (void)invalidatePluginContentRect:(NSRect)rect
-{
- if (RenderBoxModelObject *renderer = toRenderBoxModelObject(_element->renderer())) {
- IntRect contentRect(rect);
- contentRect.move(renderer->borderLeft() + renderer->paddingLeft(), renderer->borderTop() + renderer->paddingTop());
-
- renderer->repaintRectangle(contentRect);
- }
-}
-
-- (NSRect)actualVisibleRectInWindow
-{
- RenderObject* renderer = _element->renderer();
- if (!renderer || !renderer->view())
- return NSZeroRect;
-
- FrameView* frameView = renderer->view()->frameView();
- if (!frameView)
- return NSZeroRect;
-
- IntRect widgetRect = renderer->pixelSnappedAbsoluteClippedOverflowRect();
- widgetRect = frameView->contentsToWindow(widgetRect);
- return intersection(toRenderWidget(renderer)->windowClipRect(), widgetRect);
-}
-
-- (CALayer *)pluginLayer
-{
- // This needs to be overridden by subclasses.
- return nil;
-}
-
-- (BOOL)getFormValue:(NSString **)value
-{
- // This needs to be overridden by subclasses.
- return false;
-}
-
-@end
-
-namespace WebKit {
-
-bool getAuthenticationInfo(const char* protocolStr, const char* hostStr, int32_t port, const char* schemeStr, const char* realmStr,
- CString& username, CString& password)
-{
- if (strcasecmp(protocolStr, "http") != 0 &&
- strcasecmp(protocolStr, "https") != 0)
- return false;
-
- NSString *host = [NSString stringWithUTF8String:hostStr];
- if (!hostStr)
- return false;
-
- NSString *protocol = [NSString stringWithUTF8String:protocolStr];
- if (!protocol)
- return false;
-
- NSString *realm = [NSString stringWithUTF8String:realmStr];
- if (!realm)
- return NPERR_GENERIC_ERROR;
-
- NSString *authenticationMethod = NSURLAuthenticationMethodDefault;
- if (!strcasecmp(protocolStr, "http")) {
- if (!strcasecmp(schemeStr, "basic"))
- authenticationMethod = NSURLAuthenticationMethodHTTPBasic;
- else if (!strcasecmp(schemeStr, "digest"))
- authenticationMethod = NSURLAuthenticationMethodHTTPDigest;
- }
-
- RetainPtr<NSURLProtectionSpace> protectionSpace = adoptNS([[NSURLProtectionSpace alloc] initWithHost:host port:port protocol:protocol realm:realm authenticationMethod:authenticationMethod]);
-
- NSURLCredential *credential = mac(CredentialStorage::get(core(protectionSpace.get())));
- if (!credential)
- credential = [[NSURLCredentialStorage sharedCredentialStorage] defaultCredentialForProtectionSpace:protectionSpace.get()];
- if (!credential)
- return false;
-
- if (![credential hasPassword])
- return false;
-
- username = [[credential user] UTF8String];
- password = [[credential password] UTF8String];
-
- return true;
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
-
diff --git a/Source/WebKit/mac/Plugins/WebBasePluginPackage.h b/Source/WebKit/mac/Plugins/WebBasePluginPackage.h
deleted file mode 100644
index cf8846410..000000000
--- a/Source/WebKit/mac/Plugins/WebBasePluginPackage.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebCore/PluginData.h>
-#import <wtf/RetainPtr.h>
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-#import <WebKit/npfunctions.h>
-#else
-typedef void (*BP_CreatePluginMIMETypesPreferencesFuncPtr)(void);
-#endif
-
-@class WebPluginDatabase;
-
-@protocol WebPluginManualLoader
-- (void)pluginView:(NSView *)pluginView receivedResponse:(NSURLResponse *)response;
-- (void)pluginView:(NSView *)pluginView receivedData:(NSData *)data;
-- (void)pluginView:(NSView *)pluginView receivedError:(NSError *)error;
-- (void)pluginViewFinishedLoading:(NSView *)pluginView;
-@end
-
-#define WebPluginExtensionsKey @"WebPluginExtensions"
-#define WebPluginDescriptionKey @"WebPluginDescription"
-#define WebPluginLocalizationNameKey @"WebPluginLocalizationName"
-#define WebPluginMIMETypesFilenameKey @"WebPluginMIMETypesFilename"
-#define WebPluginMIMETypesKey @"WebPluginMIMETypes"
-#define WebPluginNameKey @"WebPluginName"
-#define WebPluginTypeDescriptionKey @"WebPluginTypeDescription"
-#define WebPluginTypeEnabledKey @"WebPluginTypeEnabled"
-
-@interface WebBasePluginPackage : NSObject
-{
- NSMutableSet *pluginDatabases;
-
- WTF::String path;
- WebCore::PluginInfo pluginInfo;
-
- RetainPtr<CFBundleRef> cfBundle;
-
- BP_CreatePluginMIMETypesPreferencesFuncPtr BP_CreatePluginMIMETypesPreferences;
-}
-
-+ (WebBasePluginPackage *)pluginWithPath:(NSString *)pluginPath;
-- (id)initWithPath:(NSString *)pluginPath;
-
-- (BOOL)getPluginInfoFromPLists;
-
-- (BOOL)load;
-- (void)unload;
-
-- (const WTF::String&)path;
-
-- (const WebCore::PluginInfo&)pluginInfo;
-
-- (String)bundleIdentifier;
-- (String)bundleVersion;
-
-- (BOOL)supportsExtension:(const WTF::String&)extension;
-- (BOOL)supportsMIMEType:(const WTF::String&)MIMEType;
-
-- (NSString *)MIMETypeForExtension:(const WTF::String&)extension;
-
-- (BOOL)isQuickTimePlugIn;
-- (BOOL)isJavaPlugIn;
-
-- (BOOL)isNativeLibraryData:(NSData *)data;
-- (UInt32)versionNumber;
-- (void)wasAddedToPluginDatabase:(WebPluginDatabase *)database;
-- (void)wasRemovedFromPluginDatabase:(WebPluginDatabase *)database;
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm b/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm
deleted file mode 100644
index d452a4e84..000000000
--- a/Source/WebKit/mac/Plugins/WebBasePluginPackage.mm
+++ /dev/null
@@ -1,491 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebBasePluginPackage.h>
-
-#import <algorithm>
-#import <WebCore/RunLoop.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <WebKit/WebKitNSStringExtras.h>
-#import <WebKit/WebNSObjectExtras.h>
-#import <WebKit/WebNetscapePluginPackage.h>
-#import <WebKit/WebPluginPackage.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/Assertions.h>
-#import <wtf/MainThread.h>
-#import <wtf/Vector.h>
-#import <wtf/text/CString.h>
-
-#import <WebKitSystemInterface.h>
-
-#import "WebKitLogging.h"
-#import "WebTypesInternal.h"
-
-#import <mach-o/arch.h>
-#import <mach-o/fat.h>
-#import <mach-o/loader.h>
-
-#define JavaCocoaPluginIdentifier "com.apple.JavaPluginCocoa"
-#define JavaCarbonPluginIdentifier "com.apple.JavaAppletPlugin"
-
-#define QuickTimeCarbonPluginIdentifier "com.apple.QuickTime Plugin.plugin"
-#define QuickTimeCocoaPluginIdentifier "com.apple.quicktime.webplugin"
-
-@interface NSArray (WebPluginExtensions)
-- (NSArray *)_web_lowercaseStrings;
-@end;
-
-using namespace WebCore;
-
-@implementation WebBasePluginPackage
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
-}
-
-+ (WebBasePluginPackage *)pluginWithPath:(NSString *)pluginPath
-{
-
- WebBasePluginPackage *pluginPackage = [[WebPluginPackage alloc] initWithPath:pluginPath];
-
- if (!pluginPackage) {
-#if ENABLE(NETSCAPE_PLUGIN_API)
- pluginPackage = [[WebNetscapePluginPackage alloc] initWithPath:pluginPath];
-#else
- return nil;
-#endif
- }
-
- return [pluginPackage autorelease];
-}
-
-+ (NSString *)preferredLocalizationName
-{
- return WebCFAutorelease(WKCopyCFLocalizationPreferredName(NULL));
-}
-
-#if COMPILER(CLANG)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-#endif
-// FIXME: Rewrite this in terms of -[NSURL URLByResolvingBookmarkData:…].
-static NSString *pathByResolvingSymlinksAndAliases(NSString *thePath)
-{
- NSString *newPath = [thePath stringByResolvingSymlinksInPath];
-
- FSRef fref;
- OSStatus err;
-
- err = FSPathMakeRef((const UInt8 *)[thePath fileSystemRepresentation], &fref, NULL);
- if (err != noErr)
- return newPath;
-
- Boolean targetIsFolder;
- Boolean wasAliased;
- err = FSResolveAliasFileWithMountFlags(&fref, TRUE, &targetIsFolder, &wasAliased, kResolveAliasFileNoUI);
- if (err != noErr)
- return newPath;
-
- if (wasAliased) {
- CFURLRef URL = CFURLCreateFromFSRef(kCFAllocatorDefault, &fref);
- newPath = [(NSURL *)URL path];
- CFRelease(URL);
- }
-
- return newPath;
-}
-#if COMPILER(CLANG)
-#pragma clang diagnostic pop
-#endif
-
-- (id)initWithPath:(NSString *)pluginPath
-{
- if (!(self = [super init]))
- return nil;
-
- path = pathByResolvingSymlinksAndAliases(pluginPath);
- cfBundle = adoptCF(CFBundleCreate(kCFAllocatorDefault, (CFURLRef)[NSURL fileURLWithPath:path]));
-
- if (!cfBundle) {
- [self release];
- return nil;
- }
-
- return self;
-}
-
-- (void)unload
-{
-}
-
-- (void)createPropertyListFile
-{
- if ([self load] && BP_CreatePluginMIMETypesPreferences) {
- BP_CreatePluginMIMETypesPreferences();
- [self unload];
- }
-}
-
-- (NSDictionary *)pListForPath:(NSString *)pListPath createFile:(BOOL)createFile
-{
- if (createFile)
- [self createPropertyListFile];
-
- NSDictionary *pList = nil;
- NSData *data = [NSData dataWithContentsOfFile:pListPath];
- if (data) {
- pList = [NSPropertyListSerialization propertyListFromData:data
- mutabilityOption:NSPropertyListImmutable
- format:nil
- errorDescription:nil];
- }
-
- return pList;
-}
-
-- (id)_objectForInfoDictionaryKey:(NSString *)key
-{
- CFDictionaryRef bundleInfoDictionary = CFBundleGetInfoDictionary(cfBundle.get());
- if (!bundleInfoDictionary)
- return nil;
-
- return (id)CFDictionaryGetValue(bundleInfoDictionary, key);
-}
-
-- (BOOL)getPluginInfoFromPLists
-{
- if (!cfBundle)
- return NO;
-
- NSDictionary *MIMETypes = nil;
- NSString *pListFilename = [self _objectForInfoDictionaryKey:WebPluginMIMETypesFilenameKey];
-
- // Check if the MIME types are claimed in a plist in the user's preferences directory.
- if (pListFilename) {
- NSString *pListPath = [NSString stringWithFormat:@"%@/Library/Preferences/%@", NSHomeDirectory(), pListFilename];
- NSDictionary *pList = [self pListForPath:pListPath createFile:NO];
- if (pList) {
- // If the plist isn't localized, have the plug-in recreate it in the preferred language.
- NSString *localizationName = [pList objectForKey:WebPluginLocalizationNameKey];
- if (![localizationName isEqualToString:[[self class] preferredLocalizationName]])
- pList = [self pListForPath:pListPath createFile:YES];
- MIMETypes = [pList objectForKey:WebPluginMIMETypesKey];
- } else
- // Plist doesn't exist, ask the plug-in to create it.
- MIMETypes = [[self pListForPath:pListPath createFile:YES] objectForKey:WebPluginMIMETypesKey];
- }
-
- if (!MIMETypes) {
- MIMETypes = [self _objectForInfoDictionaryKey:WebPluginMIMETypesKey];
- if (!MIMETypes)
- return NO;
- }
-
- NSEnumerator *keyEnumerator = [MIMETypes keyEnumerator];
- NSDictionary *MIMEDictionary;
- NSString *MIME;
-
- while ((MIME = [keyEnumerator nextObject]) != nil) {
- MIMEDictionary = [MIMETypes objectForKey:MIME];
-
- // FIXME: Consider storing disabled MIME types.
- NSNumber *isEnabled = [MIMEDictionary objectForKey:WebPluginTypeEnabledKey];
- if (isEnabled && [isEnabled boolValue] == NO)
- continue;
-
- MimeClassInfo mimeClassInfo;
-
- NSArray *extensions = [[MIMEDictionary objectForKey:WebPluginExtensionsKey] _web_lowercaseStrings];
- for (NSUInteger i = 0; i < [extensions count]; ++i) {
- // The DivX plug-in lists multiple extensions in a comma separated string instead of using
- // multiple array elements in the property list. Work around this here by splitting the
- // extension string into components.
- NSArray *extensionComponents = [[extensions objectAtIndex:i] componentsSeparatedByString:@","];
-
- for (NSString *extension in extensionComponents)
- mimeClassInfo.extensions.append(extension);
- }
-
- mimeClassInfo.type = String(MIME).lower();
-
- mimeClassInfo.desc = [MIMEDictionary objectForKey:WebPluginTypeDescriptionKey];
-
- pluginInfo.mimes.append(mimeClassInfo);
- }
-
- NSString *filename = [(NSString *)path lastPathComponent];
- pluginInfo.file = filename;
-
- NSString *theName = [self _objectForInfoDictionaryKey:WebPluginNameKey];
- if (!theName)
- theName = filename;
- pluginInfo.name = theName;
-
- NSString *description = [self _objectForInfoDictionaryKey:WebPluginDescriptionKey];
- if (!description)
- description = filename;
- pluginInfo.desc = description;
-
- pluginInfo.isApplicationPlugin = false;
-
- return YES;
-}
-
-- (BOOL)load
-{
- if (cfBundle && !BP_CreatePluginMIMETypesPreferences)
- BP_CreatePluginMIMETypesPreferences = (BP_CreatePluginMIMETypesPreferencesFuncPtr)CFBundleGetFunctionPointerForName(cfBundle.get(), CFSTR("BP_CreatePluginMIMETypesPreferences"));
-
- return YES;
-}
-
-- (void)dealloc
-{
- ASSERT(!pluginDatabases || [pluginDatabases count] == 0);
- [pluginDatabases release];
-
- [super dealloc];
-}
-
-- (void)finalize
-{
- ASSERT_MAIN_THREAD();
- ASSERT(!pluginDatabases || [pluginDatabases count] == 0);
- [pluginDatabases release];
-
- [super finalize];
-}
-
-- (const String&)path
-{
- return path;
-}
-
-- (const PluginInfo&)pluginInfo
-{
- return pluginInfo;
-}
-
-- (BOOL)supportsExtension:(const String&)extension
-{
- ASSERT(extension.lower() == extension);
-
- for (size_t i = 0; i < pluginInfo.mimes.size(); ++i) {
- const Vector<String>& extensions = pluginInfo.mimes[i].extensions;
-
- if (std::find(extensions.begin(), extensions.end(), extension) != extensions.end())
- return YES;
- }
-
- return NO;
-}
-
-- (BOOL)supportsMIMEType:(const WTF::String&)mimeType
-{
- ASSERT(mimeType.lower() == mimeType);
-
- for (size_t i = 0; i < pluginInfo.mimes.size(); ++i) {
- if (pluginInfo.mimes[i].type == mimeType)
- return YES;
- }
-
- return NO;
-}
-
-- (NSString *)MIMETypeForExtension:(const String&)extension
-{
- ASSERT(extension.lower() == extension);
-
- for (size_t i = 0; i < pluginInfo.mimes.size(); ++i) {
- const MimeClassInfo& mimeClassInfo = pluginInfo.mimes[i];
- const Vector<String>& extensions = mimeClassInfo.extensions;
-
- if (std::find(extensions.begin(), extensions.end(), extension) != extensions.end())
- return mimeClassInfo.type;
- }
-
- return nil;
-}
-
-- (BOOL)isQuickTimePlugIn
-{
- const String& bundleIdentifier = [self bundleIdentifier];
- return bundleIdentifier == QuickTimeCocoaPluginIdentifier || bundleIdentifier == QuickTimeCocoaPluginIdentifier;
-}
-
-- (BOOL)isJavaPlugIn
-{
- const String& bundleIdentifier = [self bundleIdentifier];
- return bundleIdentifier == JavaCocoaPluginIdentifier || bundleIdentifier == JavaCarbonPluginIdentifier;
-}
-
-static inline void swapIntsInHeader(uint32_t* rawData, size_t length)
-{
- for (size_t i = 0; i < length; ++i)
- rawData[i] = OSSwapInt32(rawData[i]);
-}
-
-- (BOOL)isNativeLibraryData:(NSData *)data
-{
- 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 (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*)rawData.data();
-
- // Check if we need to swap the bytes
- if (magic == MH_CIGAM)
- swapIntsInHeader(rawData.data(), rawData.size());
-
- singleArch.cputype = header->cputype;
- singleArch.cpusubtype = header->cpusubtype;
-
- archs = &singleArch;
- 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*)rawData.data();
-
- // Check if we need to swap the bytes
- if (magic == MH_CIGAM_64)
- swapIntsInHeader(rawData.data(), rawData.size());
-
- singleArch.cputype = header->cputype;
- singleArch.cpusubtype = header->cpusubtype;
-
- archs = &singleArch;
- numArchs = 1;
- } else if (magic == FAT_MAGIC || magic == FAT_CIGAM) {
- // We have a fat (universal) binary
-
- // Check if we need to swap the bytes
- if (magic == FAT_CIGAM)
- swapIntsInHeader(rawData.data(), rawData.size());
-
- COMPILE_ASSERT(sizeof(struct fat_header) % sizeof(uint32_t) == 0, struct_fat_header_must_be_integral_size_of_uint32_t);
- archs = reinterpret_cast<struct fat_arch*>(rawData.data() + sizeof(struct fat_header) / sizeof(uint32_t));
- numArchs = reinterpret_cast<struct fat_header*>(rawData.data())->nfat_arch;
-
- unsigned maxArchs = (sizeInBytes - sizeof(struct fat_header)) / sizeof(struct fat_arch);
- if (numArchs > maxArchs)
- numArchs = maxArchs;
- }
- }
-
- if (!archs || !numArchs)
- return NO;
-
- const NXArchInfo* localArch = NXGetLocalArchInfo();
- if (!localArch)
- return NO;
-
- cpu_type_t cputype = localArch->cputype;
- cpu_subtype_t cpusubtype = localArch->cpusubtype;
-
-#ifdef __x86_64__
- // NXGetLocalArchInfo returns CPU_TYPE_X86 even when running in 64-bit.
- // See <rdar://problem/4996965> for more information.
- cputype = CPU_TYPE_X86_64;
-#endif
-
- return NXFindBestFatArch(cputype, cpusubtype, archs, numArchs) != 0;
-}
-
-- (UInt32)versionNumber
-{
- // CFBundleGetVersionNumber doesn't work with all possible versioning schemes, but we think for now it's good enough for us.
- return CFBundleGetVersionNumber(cfBundle.get());
-}
-
-- (void)wasAddedToPluginDatabase:(WebPluginDatabase *)database
-{
- if (!pluginDatabases)
- pluginDatabases = [[NSMutableSet alloc] init];
-
- ASSERT(![pluginDatabases containsObject:database]);
- [pluginDatabases addObject:database];
-}
-
-- (void)wasRemovedFromPluginDatabase:(WebPluginDatabase *)database
-{
- ASSERT(pluginDatabases);
- ASSERT([pluginDatabases containsObject:database]);
-
- [pluginDatabases removeObject:database];
-}
-
-- (String)bundleIdentifier
-{
- return CFBundleGetIdentifier(cfBundle.get());
-}
-
-- (String)bundleVersion
-{
- CFDictionaryRef infoDictionary = CFBundleGetInfoDictionary(cfBundle.get());
- if (!infoDictionary)
- return String();
-
- CFTypeRef bundleVersionString = CFDictionaryGetValue(infoDictionary, kCFBundleVersionKey);
- if (!bundleVersionString || CFGetTypeID(bundleVersionString) != CFStringGetTypeID())
- return String();
-
- return reinterpret_cast<CFStringRef>(bundleVersionString);
-}
-
-@end
-
-@implementation NSArray (WebPluginExtensions)
-
-- (NSArray *)_web_lowercaseStrings
-{
- NSMutableArray *lowercaseStrings = [NSMutableArray arrayWithCapacity:[self count]];
- NSEnumerator *strings = [self objectEnumerator];
- NSString *string;
-
- while ((string = [strings nextObject]) != nil) {
- if ([string isKindOfClass:[NSString class]])
- [lowercaseStrings addObject:[string lowercaseString]];
- }
-
- return lowercaseStrings;
-}
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebJavaPlugIn.h b/Source/WebKit/mac/Plugins/WebJavaPlugIn.h
deleted file mode 100644
index 5a1be6db4..000000000
--- a/Source/WebKit/mac/Plugins/WebJavaPlugIn.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2004 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <JavaVM/jni.h>
-
-/*!
- The Java plug-in adds the following additional methods to facilitate JNI
- access to Java VM via the plug-in.
-*/
-
-typedef enum {
- WebJNIReturnTypeInvalid = 0,
- WebJNIReturnTypeVoid,
- WebJNIReturnTypeObject,
- WebJNIReturnTypeBoolean,
- WebJNIReturnTypeByte,
- WebJNIReturnTypeChar,
- WebJNIReturnTypeShort,
- WebJNIReturnTypeInt,
- WebJNIReturnTypeLong,
- WebJNIReturnTypeFloat,
- WebJNIReturnTypeDouble
-} WebJNIReturnType;
-
-@interface NSObject (WebJavaPlugIn)
-
-/*!
- @method webPlugInGetApplet
- @discusssion This returns the jobject representing the java applet to the
- WebPlugInContainer. It should always be called from the AppKit Main Thread.
- This method is only implemented by the Java plug-in.
-*/
-- (jobject)webPlugInGetApplet;
-
-/*!
- @method webPlugInCallJava:isStatic:returnType:method:arguments:callingURL:exceptionDescription:
- @param object The Java instance that will receive the method call.
- @param isStatic A flag that indicated whether the method is a class method.
- @param returnType The return type of the Java method.
- @param method The ID of the Java method to call.
- @param args The arguments to use with the method invocation.
- @param callingURL The URL of the page that contains the JavaScript that is calling Java.
- @param exceptionDescription Pass in nil or the address of pointer to a string object. If any exception
- is thrown by Java the return value will be a description of the exception, otherwise nil.
- @discussion Calls to Java from native code should not make direct
- use of JNI. Instead they should use this method to dispatch calls to the
- Java VM. This is required to guarantee that the correct thread will receive
- the call. webPlugInCallJava:isStatic:returnType:method:arguments:callingURL:exceptionDescription: must
- always be called from the AppKit main thread. This method is only implemented by the Java plug-in.
- @result The result of the method invocation.
-*/
-- (jvalue)webPlugInCallJava:(jobject)object
- isStatic:(BOOL)isStatic
- returnType:(WebJNIReturnType)returnType
- method:(jmethodID)method
- arguments:(jvalue*)args
- callingURL:(NSURL *)url
- exceptionDescription:(NSString **)exceptionString;
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebNetscapeContainerCheckContextInfo.h b/Source/WebKit/mac/Plugins/WebNetscapeContainerCheckContextInfo.h
deleted file mode 100644
index dcd4dd4a1..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapeContainerCheckContextInfo.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebBaseNetscapePluginView.h"
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-@interface WebNetscapeContainerCheckContextInfo : NSObject {
- uint32_t _checkRequestID;
- void (*_callback)(NPP npp, uint32_t, NPBool, void *);
- void *_context;
-}
-
-- (id)initWithCheckRequestID:(uint32_t)checkRequestID callbackFunc:(void (*)(NPP npp, uint32_t checkID, NPBool allowed, void* context))callbackFunc context:(void*)context;
-- (uint32_t)checkRequestID;
-- (void (*)(NPP npp, uint32_t, NPBool, void*))callback;
-- (void*)context;
-
-@end
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
diff --git a/Source/WebKit/mac/Plugins/WebNetscapeContainerCheckPrivate.h b/Source/WebKit/mac/Plugins/WebNetscapeContainerCheckPrivate.h
deleted file mode 100644
index 799680b6f..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapeContainerCheckPrivate.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebNetscapeContainerCheckPrivate_h
-#define WebNetscapeContainerCheckPrivate_h
-
-#include <WebKit/npapi.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define WKNVBrowserContainerCheckFuncs 1701
-#define WKNVBrowserContainerCheckFuncsVersion 2
-
-#define WKNVBrowserContainerCheckFuncsVersionHasGetLocation 2
-
-typedef uint32_t (*WKN_CheckIfAllowedToLoadURLProcPtr)(NPP npp, const char* url, const char* frame, void (*callbackFunc)(NPP npp, uint32_t, NPBool allowed, void* context), void* context);
-typedef void (*WKN_CancelCheckIfAllowedToLoadURLProcPtr)(NPP npp, uint32_t);
-typedef char* (*WKN_ResolveURLProcPtr)(NPP npp, const char* url, const char* target);
-
-uint32_t WKN_CheckIfAllowedToLoadURL(NPP npp, const char* url, const char* frame, void (*callbackFunc)(NPP npp, uint32_t, NPBool allowed, void* context), void* context);
-void WKN_CancelCheckIfAllowedToLoadURL(NPP npp, uint32_t);
-char* WKN_ResolveURL(NPP npp, const char* url, const char* target);
-
-typedef struct _WKNBrowserContainerCheckFuncs {
- uint16_t size;
- uint16_t version;
-
- WKN_CheckIfAllowedToLoadURLProcPtr checkIfAllowedToLoadURL;
- WKN_CancelCheckIfAllowedToLoadURLProcPtr cancelCheckIfAllowedToLoadURL;
- WKN_ResolveURLProcPtr resolveURL;
-} WKNBrowserContainerCheckFuncs;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // WebNetscapeContainerCheckPrivate_h
diff --git a/Source/WebKit/mac/Plugins/WebNetscapeContainerCheckPrivate.mm b/Source/WebKit/mac/Plugins/WebNetscapeContainerCheckPrivate.mm
deleted file mode 100644
index d326b563f..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapeContainerCheckPrivate.mm
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNetscapeContainerCheckPrivate.h"
-
-#import "WebNetscapePluginView.h"
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-WKNBrowserContainerCheckFuncs *browserContainerCheckFuncs()
-{
- static WKNBrowserContainerCheckFuncs funcs = {
- sizeof(WKNBrowserContainerCheckFuncs),
- WKNVBrowserContainerCheckFuncsVersion,
- WKN_CheckIfAllowedToLoadURL,
- WKN_CancelCheckIfAllowedToLoadURL,
- WKN_ResolveURL
- };
-
- return &funcs;
-}
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
diff --git a/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandler.h b/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandler.h
deleted file mode 100644
index 9e32e2fbf..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandler.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 WebNetscapePluginEventHandler_h
-#define WebNetscapePluginEventHandler_h
-
-#import "WebNetscapePluginView.h"
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-@class NSEvent;
-@class WebNetscapePluginView;
-
-struct CGRect;
-
-class WebNetscapePluginEventHandler {
-public:
- static PassOwnPtr<WebNetscapePluginEventHandler> create(WebNetscapePluginView*);
- virtual ~WebNetscapePluginEventHandler() { }
-
- virtual void drawRect(CGContextRef, const NSRect&) = 0;
-
- virtual void mouseDown(NSEvent*) = 0;
- virtual void mouseDragged(NSEvent*) = 0;
- virtual void mouseEntered(NSEvent*) = 0;
- virtual void mouseExited(NSEvent*) = 0;
- virtual void mouseMoved(NSEvent*) = 0;
- virtual void mouseUp(NSEvent*) = 0;
- virtual bool scrollWheel(NSEvent*) = 0;
-
- virtual void keyDown(NSEvent*) = 0;
- virtual void keyUp(NSEvent*) = 0;
- virtual void flagsChanged(NSEvent*) = 0;
- virtual void syntheticKeyDownWithCommandModifier(int keyCode, char character) = 0;
-
- virtual void focusChanged(bool hasFocus) = 0;
- virtual void windowFocusChanged(bool hasFocus) = 0;
-
- virtual void startTimers(bool throttleTimers) { }
- virtual void stopTimers() { }
-
- // Returns the platform specific window used in NPP_SetWindow
- virtual void* platformWindow(NSWindow*) = 0;
-
- bool currentEventIsUserGesture() const { return m_currentEventIsUserGesture; }
-protected:
- WebNetscapePluginEventHandler(WebNetscapePluginView* pluginView)
- : m_pluginView(pluginView)
- , m_currentEventIsUserGesture(false)
- {
- }
-
- WebNetscapePluginView* m_pluginView;
- bool m_currentEventIsUserGesture;
-};
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
-
-#endif // WebNetscapePluginEventHandler_h
-
-
diff --git a/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandler.mm b/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandler.mm
deleted file mode 100644
index 9c2dc505e..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandler.mm
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-#import "WebNetscapePluginEventHandler.h"
-
-#import <wtf/Assertions.h>
-#import <wtf/PassOwnPtr.h>
-#import "WebNetscapePluginView.h"
-#import "WebNetscapePluginEventHandlerCarbon.h"
-#import "WebNetscapePluginEventHandlerCocoa.h"
-
-PassOwnPtr<WebNetscapePluginEventHandler> WebNetscapePluginEventHandler::create(WebNetscapePluginView* pluginView)
-{
- switch ([pluginView eventModel]) {
-#ifndef NP_NO_CARBON
- case NPEventModelCarbon:
- return adoptPtr(new WebNetscapePluginEventHandlerCarbon(pluginView));
-#endif // NP_NO_CARBON
- case NPEventModelCocoa:
- return adoptPtr(new WebNetscapePluginEventHandlerCocoa(pluginView));
- default:
- ASSERT_NOT_REACHED();
- return nullptr;
- }
-}
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
diff --git a/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCarbon.h b/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCarbon.h
deleted file mode 100644
index 676fd1789..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCarbon.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API) && !defined(__LP64__)
-
-#ifndef WebNetscapePluginEventHandlerCarbon_h
-#define WebNetscapePluginEventHandlerCarbon_h
-
-#include "WebNetscapePluginEventHandler.h"
-
-#import <Carbon/Carbon.h>
-#import <wtf/RetainPtr.h>
-
-class WebNetscapePluginEventHandlerCarbon : public WebNetscapePluginEventHandler {
-public:
- WebNetscapePluginEventHandlerCarbon(WebNetscapePluginView*);
-
- virtual void drawRect(CGContextRef, const NSRect&);
-
- virtual void mouseDown(NSEvent*);
- virtual void mouseDragged(NSEvent*);
- virtual void mouseEntered(NSEvent*);
- virtual void mouseExited(NSEvent*);
- virtual void mouseMoved(NSEvent*);
- virtual void mouseUp(NSEvent*);
- virtual bool scrollWheel(NSEvent*);
-
- virtual void keyDown(NSEvent*);
- virtual void keyUp(NSEvent*);
- virtual void flagsChanged(NSEvent*);
- virtual void syntheticKeyDownWithCommandModifier(int keyCode, char character);
-
- virtual void windowFocusChanged(bool hasFocus);
- virtual void focusChanged(bool hasFocus);
-
- virtual void startTimers(bool throttleTimers);
- virtual void stopTimers();
-
- virtual void* platformWindow(NSWindow*);
-
-private:
- void sendNullEvent();
-
- void installKeyEventHandler();
- void removeKeyEventHandler();
-
- static OSStatus TSMEventHandler(EventHandlerCallRef, EventRef, void *eventHandler);
- static void nullEventTimerFired(CFRunLoopTimerRef, void *context);
-
- bool sendEvent(EventRecord*);
-
- EventHandlerRef m_keyEventHandler;
- bool m_suspendKeyUpEvents;
- RetainPtr<CFRunLoopTimerRef> m_nullEventTimer;
-};
-
-#endif // WebNetscapePluginEventHandlerCarbon_h
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API) && !defined(__LP64__)
-
diff --git a/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCarbon.mm b/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCarbon.mm
deleted file mode 100644
index f2d7e9f41..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCarbon.mm
+++ /dev/null
@@ -1,429 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API) && !defined(__LP64__)
-
-#import "WebNetscapePluginEventHandlerCarbon.h"
-
-#import "WebNetscapePluginView.h"
-#import "WebKitLogging.h"
-#import "WebKitSystemInterface.h"
-
-// Send null events 50 times a second when active, so plug-ins like Flash get high frame rates.
-#define NullEventIntervalActive 0.02
-#define NullEventIntervalNotActive 0.25
-
-WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon(WebNetscapePluginView* pluginView)
- : WebNetscapePluginEventHandler(pluginView)
- , m_keyEventHandler(0)
- , m_suspendKeyUpEvents(false)
-{
-}
-
-static void getCarbonEvent(EventRecord* carbonEvent)
-{
- carbonEvent->what = nullEvent;
- carbonEvent->message = 0;
- carbonEvent->when = TickCount();
-
- GetGlobalMouse(&carbonEvent->where);
- carbonEvent->modifiers = GetCurrentKeyModifiers();
- if (!Button())
- carbonEvent->modifiers |= btnState;
-}
-
-static EventModifiers modifiersForEvent(NSEvent *event)
-{
- EventModifiers modifiers;
- unsigned int modifierFlags = [event modifierFlags];
- NSEventType eventType = [event type];
-
- modifiers = 0;
-
- if (eventType != NSLeftMouseDown && eventType != NSRightMouseDown)
- modifiers |= btnState;
-
- if (modifierFlags & NSCommandKeyMask)
- modifiers |= cmdKey;
-
- if (modifierFlags & NSShiftKeyMask)
- modifiers |= shiftKey;
-
- if (modifierFlags & NSAlphaShiftKeyMask)
- modifiers |= alphaLock;
-
- if (modifierFlags & NSAlternateKeyMask)
- modifiers |= optionKey;
-
- if (modifierFlags & NSControlKeyMask || eventType == NSRightMouseDown)
- modifiers |= controlKey;
-
- return modifiers;
-}
-
-static void getCarbonEvent(EventRecord *carbonEvent, NSEvent *cocoaEvent)
-{
- if (WKConvertNSEventToCarbonEvent(carbonEvent, cocoaEvent))
- return;
-
- NSPoint where = [[cocoaEvent window] convertBaseToScreen:[cocoaEvent locationInWindow]];
-
- carbonEvent->what = nullEvent;
- carbonEvent->message = 0;
- carbonEvent->when = (UInt32)([cocoaEvent timestamp] * 60); // seconds to ticks
- carbonEvent->where.h = (short)where.x;
- carbonEvent->where.v = (short)(NSMaxY([(NSScreen *)[[NSScreen screens] objectAtIndex:0] frame]) - where.y);
- carbonEvent->modifiers = modifiersForEvent(cocoaEvent);
-}
-
-void WebNetscapePluginEventHandlerCarbon::sendNullEvent()
-{
- EventRecord event;
-
- getCarbonEvent(&event);
-
- // Plug-in should not react to cursor position when not active or when a menu is down.
- MenuTrackingData trackingData;
- OSStatus error = GetMenuTrackingData(NULL, &trackingData);
-
- // Plug-in should not react to cursor position when the actual window is not key.
- if (![[m_pluginView window] isKeyWindow] || (error == noErr && trackingData.menu)) {
- // FIXME: Does passing a v and h of -1 really prevent it from reacting to the cursor position?
- event.where.v = -1;
- event.where.h = -1;
- }
-
- sendEvent(&event);
-}
-
-void WebNetscapePluginEventHandlerCarbon::drawRect(CGContextRef, const NSRect&)
-{
- EventRecord event;
-
- getCarbonEvent(&event);
- event.what = updateEvt;
- WindowRef windowRef = (WindowRef)[[m_pluginView window] windowRef];
- event.message = (unsigned long)windowRef;
-
- BOOL acceptedEvent;
- acceptedEvent = sendEvent(&event);
-
- LOG(PluginEvents, "NPP_HandleEvent(updateEvt): %d", acceptedEvent);
-}
-
-void WebNetscapePluginEventHandlerCarbon::mouseDown(NSEvent* theEvent)
-{
- EventRecord event;
-
- getCarbonEvent(&event, theEvent);
- event.what = ::mouseDown;
-
- BOOL acceptedEvent;
- acceptedEvent = sendEvent(&event);
-
- LOG(PluginEvents, "NPP_HandleEvent(mouseDown): %d pt.v=%d, pt.h=%d", acceptedEvent, event.where.v, event.where.h);
-}
-
-void WebNetscapePluginEventHandlerCarbon::mouseUp(NSEvent* theEvent)
-{
- EventRecord event;
-
- getCarbonEvent(&event, theEvent);
- event.what = ::mouseUp;
-
- BOOL acceptedEvent;
- acceptedEvent = sendEvent(&event);
-
- LOG(PluginEvents, "NPP_HandleEvent(mouseUp): %d pt.v=%d, pt.h=%d", acceptedEvent, event.where.v, event.where.h);
-}
-
-bool WebNetscapePluginEventHandlerCarbon::scrollWheel(NSEvent* theEvent)
-{
- return false;
-}
-
-void WebNetscapePluginEventHandlerCarbon::mouseEntered(NSEvent* theEvent)
-{
- EventRecord event;
-
- getCarbonEvent(&event, theEvent);
- event.what = NPEventType_AdjustCursorEvent;
-
- BOOL acceptedEvent;
- acceptedEvent = sendEvent(&event);
-
- LOG(PluginEvents, "NPP_HandleEvent(mouseEntered): %d", acceptedEvent);
-}
-
-void WebNetscapePluginEventHandlerCarbon::mouseExited(NSEvent* theEvent)
-{
- EventRecord event;
-
- getCarbonEvent(&event, theEvent);
- event.what = NPEventType_AdjustCursorEvent;
-
- BOOL acceptedEvent;
- acceptedEvent = sendEvent(&event);
-
- LOG(PluginEvents, "NPP_HandleEvent(mouseExited): %d", acceptedEvent);
-}
-
-void WebNetscapePluginEventHandlerCarbon::mouseDragged(NSEvent*)
-{
-}
-
-void WebNetscapePluginEventHandlerCarbon::mouseMoved(NSEvent* theEvent)
-{
- EventRecord event;
-
- getCarbonEvent(&event, theEvent);
- event.what = NPEventType_AdjustCursorEvent;
-
- BOOL acceptedEvent;
- acceptedEvent = sendEvent(&event);
-
- LOG(PluginEvents, "NPP_HandleEvent(mouseMoved): %d", acceptedEvent);
-}
-
-void WebNetscapePluginEventHandlerCarbon::keyDown(NSEvent *theEvent)
-{
- m_suspendKeyUpEvents = true;
- WKSendKeyEventToTSM(theEvent);
-}
-
-void WebNetscapePluginEventHandlerCarbon::syntheticKeyDownWithCommandModifier(int keyCode, char character)
-{
- EventRecord event;
- getCarbonEvent(&event);
-
- event.what = ::keyDown;
- event.modifiers |= cmdKey;
- event.message = keyCode << 8 | character;
- sendEvent(&event);
-}
-
-static UInt32 keyMessageForEvent(NSEvent *event)
-{
- NSData *data = [[event characters] dataUsingEncoding:CFStringConvertEncodingToNSStringEncoding(CFStringGetSystemEncoding())];
- if (!data)
- return 0;
-
- UInt8 characterCode;
- [data getBytes:&characterCode length:1];
- UInt16 keyCode = [event keyCode];
- return keyCode << 8 | characterCode;
-}
-
-void WebNetscapePluginEventHandlerCarbon::keyUp(NSEvent* theEvent)
-{
- WKSendKeyEventToTSM(theEvent);
-
- // TSM won't send keyUp events so we have to send them ourselves.
- // Only send keyUp events after we receive the TSM callback because this is what plug-in expect from OS 9.
- if (!m_suspendKeyUpEvents) {
- EventRecord event;
-
- getCarbonEvent(&event, theEvent);
- event.what = ::keyUp;
-
- if (event.message == 0)
- event.message = keyMessageForEvent(theEvent);
-
- sendEvent(&event);
- }
-}
-
-void WebNetscapePluginEventHandlerCarbon::flagsChanged(NSEvent*)
-{
-}
-
-void WebNetscapePluginEventHandlerCarbon::focusChanged(bool hasFocus)
-{
- EventRecord event;
-
- getCarbonEvent(&event);
- bool acceptedEvent;
- if (hasFocus) {
- event.what = NPEventType_GetFocusEvent;
- acceptedEvent = sendEvent(&event);
- LOG(PluginEvents, "NPP_HandleEvent(NPEventType_GetFocusEvent): %d", acceptedEvent);
- installKeyEventHandler();
- } else {
- event.what = NPEventType_LoseFocusEvent;
- acceptedEvent = sendEvent(&event);
- LOG(PluginEvents, "NPP_HandleEvent(NPEventType_LoseFocusEvent): %d", acceptedEvent);
- removeKeyEventHandler();
- }
-}
-
-void WebNetscapePluginEventHandlerCarbon::windowFocusChanged(bool hasFocus)
-{
- WindowRef windowRef = (WindowRef)[[m_pluginView window] windowRef];
-
- SetUserFocusWindow(windowRef);
-
- EventRecord event;
-
- getCarbonEvent(&event);
- event.what = activateEvt;
- event.message = (unsigned long)windowRef;
- if (hasFocus)
- event.modifiers |= activeFlag;
-
- BOOL acceptedEvent;
- acceptedEvent = sendEvent(&event);
-
- LOG(PluginEvents, "NPP_HandleEvent(activateEvent): %d isActive: %d", acceptedEvent, hasFocus);
-}
-
-OSStatus WebNetscapePluginEventHandlerCarbon::TSMEventHandler(EventHandlerCallRef inHandlerRef, EventRef inEvent, void *eventHandler)
-{
- EventRef rawKeyEventRef;
- OSStatus status = GetEventParameter(inEvent, kEventParamTextInputSendKeyboardEvent, typeEventRef, NULL, sizeof(EventRef), NULL, &rawKeyEventRef);
- if (status != noErr) {
- LOG_ERROR("GetEventParameter failed with error: %d", status);
- return noErr;
- }
-
- // Two-pass read to allocate/extract Mac charCodes
- ByteCount numBytes;
- status = GetEventParameter(rawKeyEventRef, kEventParamKeyMacCharCodes, typeChar, NULL, 0, &numBytes, NULL);
- if (status != noErr) {
- LOG_ERROR("GetEventParameter failed with error: %d", status);
- return noErr;
- }
- char *buffer = (char *)malloc(numBytes);
- status = GetEventParameter(rawKeyEventRef, kEventParamKeyMacCharCodes, typeChar, NULL, numBytes, NULL, buffer);
- if (status != noErr) {
- LOG_ERROR("GetEventParameter failed with error: %d", status);
- free(buffer);
- return noErr;
- }
-
- EventRef cloneEvent = CopyEvent(rawKeyEventRef);
- unsigned i;
- for (i = 0; i < numBytes; i++) {
- status = SetEventParameter(cloneEvent, kEventParamKeyMacCharCodes, typeChar, 1 /* one char code */, &buffer[i]);
- if (status != noErr) {
- LOG_ERROR("SetEventParameter failed with error: %d", status);
- free(buffer);
- return noErr;
- }
-
- EventRecord eventRec;
- if (ConvertEventRefToEventRecord(cloneEvent, &eventRec)) {
- BOOL acceptedEvent;
- acceptedEvent = static_cast<WebNetscapePluginEventHandlerCarbon*>(eventHandler)->sendEvent(&eventRec);
-
- LOG(PluginEvents, "NPP_HandleEvent(keyDown): %d charCode:%c keyCode:%lu",
- acceptedEvent, (char) (eventRec.message & charCodeMask), (eventRec.message & keyCodeMask));
-
- // We originally thought that if the plug-in didn't accept this event,
- // we should pass it along so that keyboard scrolling, for example, will work.
- // In practice, this is not a good idea, because plug-ins tend to eat the event but return false.
- // MacIE handles each key event twice because of this, but we will emulate the other browsers instead.
- }
- }
- ReleaseEvent(cloneEvent);
-
- free(buffer);
-
- return noErr;
-}
-
-void WebNetscapePluginEventHandlerCarbon::installKeyEventHandler()
-{
- static const EventTypeSpec sTSMEvents[] =
- {
- { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent }
- };
-
- if (!m_keyEventHandler) {
- InstallEventHandler(GetWindowEventTarget((WindowRef)[[m_pluginView window] windowRef]),
- NewEventHandlerUPP(TSMEventHandler),
- GetEventTypeCount(sTSMEvents),
- sTSMEvents,
- this,
- &m_keyEventHandler);
- }
-}
-
-void WebNetscapePluginEventHandlerCarbon::removeKeyEventHandler()
-{
- if (m_keyEventHandler) {
- RemoveEventHandler(m_keyEventHandler);
- m_keyEventHandler = 0;
- }
-}
-
-void WebNetscapePluginEventHandlerCarbon::nullEventTimerFired(CFRunLoopTimerRef timerRef, void *context)
-{
- static_cast<WebNetscapePluginEventHandlerCarbon*>(context)->sendNullEvent();
-}
-
-void WebNetscapePluginEventHandlerCarbon::startTimers(bool throttleTimers)
-{
- ASSERT(!m_nullEventTimer);
-
- CFTimeInterval interval = !throttleTimers ? NullEventIntervalActive : NullEventIntervalNotActive;
-
- CFRunLoopTimerContext context = { 0, this, NULL, NULL, NULL };
- m_nullEventTimer = adoptCF(CFRunLoopTimerCreate(0, CFAbsoluteTimeGetCurrent() + interval, interval,
- 0, 0, nullEventTimerFired, &context));
- CFRunLoopAddTimer(CFRunLoopGetCurrent(), m_nullEventTimer.get(), kCFRunLoopDefaultMode);
-}
-
-void WebNetscapePluginEventHandlerCarbon::stopTimers()
-{
- if (!m_nullEventTimer)
- return;
-
- CFRunLoopTimerInvalidate(m_nullEventTimer.get());
- m_nullEventTimer = 0;
-}
-
-void* WebNetscapePluginEventHandlerCarbon::platformWindow(NSWindow* window)
-{
- return [window windowRef];
-}
-
-bool WebNetscapePluginEventHandlerCarbon::sendEvent(EventRecord* event)
-{
- // If at any point the user clicks or presses a key from within a plugin, set the
- // currentEventIsUserGesture flag to true. This is important to differentiate legitimate
- // window.open() calls; we still want to allow those. See rdar://problem/4010765
- if (event->what == ::mouseDown || event->what == ::keyDown || event->what == ::mouseUp || event->what == ::autoKey)
- m_currentEventIsUserGesture = true;
-
- m_suspendKeyUpEvents = false;
-
- bool result = [m_pluginView sendEvent:event isDrawRect:event->what == updateEvt];
-
- m_currentEventIsUserGesture = false;
-
- return result;
-}
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API) && !defined(__LP64__)
diff --git a/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCocoa.h b/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCocoa.h
deleted file mode 100644
index 3a2f03f3a..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCocoa.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-#ifndef WebNetscapePluginEventHandlerCocoa_h
-#define WebNetscapePluginEventHandlerCocoa_h
-
-#include <WebKit/npapi.h>
-#include "WebNetscapePluginEventHandler.h"
-
-class WebNetscapePluginEventHandlerCocoa : public WebNetscapePluginEventHandler {
-public:
- WebNetscapePluginEventHandlerCocoa(WebNetscapePluginView*);
-
- virtual void drawRect(CGContextRef, const NSRect&);
-
- virtual void mouseDown(NSEvent*);
- virtual void mouseDragged(NSEvent*);
- virtual void mouseEntered(NSEvent*);
- virtual void mouseExited(NSEvent*);
- virtual void mouseMoved(NSEvent*);
- virtual void mouseUp(NSEvent*);
- virtual bool scrollWheel(NSEvent*);
-
- virtual void keyDown(NSEvent*);
- virtual void keyUp(NSEvent*);
- virtual void flagsChanged(NSEvent*);
- virtual void syntheticKeyDownWithCommandModifier(int keyCode, char character);
-
- virtual void windowFocusChanged(bool hasFocus);
- virtual void focusChanged(bool hasFocus);
-
- virtual void* platformWindow(NSWindow*);
-
-private:
- bool sendMouseEvent(NSEvent*, NPCocoaEventType);
- bool sendKeyEvent(NSEvent*, NPCocoaEventType);
- bool sendEvent(NPCocoaEvent*);
-
-#ifndef __LP64__
- void installKeyEventHandler();
- void removeKeyEventHandler();
-
- static OSStatus TSMEventHandler(EventHandlerCallRef, EventRef, void *eventHandler);
- OSStatus handleTSMEvent(EventRef);
-
- EventHandlerRef m_keyEventHandler;
-#else
- inline void installKeyEventHandler() { }
- void removeKeyEventHandler() { }
-#endif
-};
-
-#endif //WebNetscapePluginEventHandlerCocoa_h
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
-
diff --git a/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCocoa.mm b/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCocoa.mm
deleted file mode 100644
index 8e71d52c9..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapePluginEventHandlerCocoa.mm
+++ /dev/null
@@ -1,302 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-#import "WebNetscapePluginEventHandlerCocoa.h"
-
-#import "WebKitSystemInterface.h"
-#import "WebNetscapePluginView.h"
-#import <wtf/Vector.h>
-
-WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa(WebNetscapePluginView* pluginView)
- : WebNetscapePluginEventHandler(pluginView)
-#ifndef __LP64__
- , m_keyEventHandler(0)
-#endif
-{
-}
-
-static inline void initializeEvent(NPCocoaEvent* event, NPCocoaEventType type)
-{
- event->type = type;
- event->version = 0;
-}
-
-void WebNetscapePluginEventHandlerCocoa::drawRect(CGContextRef context, const NSRect& rect)
-{
- NPCocoaEvent event;
-
- initializeEvent(&event, NPCocoaEventDrawRect);
- event.data.draw.context = context;
- event.data.draw.x = rect.origin.x;
- event.data.draw.y = rect.origin.y;
- event.data.draw.width = rect.size.width;
- event.data.draw.height = rect.size.height;
-
- RetainPtr<CGContextRef> protect(context);
-
- sendEvent(&event);
-}
-
-void WebNetscapePluginEventHandlerCocoa::mouseDown(NSEvent *event)
-{
- sendMouseEvent(event, NPCocoaEventMouseDown);
-}
-
-void WebNetscapePluginEventHandlerCocoa::mouseDragged(NSEvent *event)
-{
- sendMouseEvent(event, NPCocoaEventMouseDragged);
-}
-
-void WebNetscapePluginEventHandlerCocoa::mouseEntered(NSEvent *event)
-{
- sendMouseEvent(event, NPCocoaEventMouseEntered);
-}
-
-void WebNetscapePluginEventHandlerCocoa::mouseExited(NSEvent *event)
-{
- sendMouseEvent(event, NPCocoaEventMouseExited);
-}
-
-void WebNetscapePluginEventHandlerCocoa::mouseMoved(NSEvent *event)
-{
- sendMouseEvent(event, NPCocoaEventMouseMoved);
-}
-
-void WebNetscapePluginEventHandlerCocoa::mouseUp(NSEvent *event)
-{
- sendMouseEvent(event, NPCocoaEventMouseUp);
-}
-
-bool WebNetscapePluginEventHandlerCocoa::scrollWheel(NSEvent* event)
-{
- return sendMouseEvent(event, NPCocoaEventScrollWheel);
-}
-
-bool WebNetscapePluginEventHandlerCocoa::sendMouseEvent(NSEvent *nsEvent, NPCocoaEventType type)
-{
- NPCocoaEvent event;
-
- NSPoint point = [m_pluginView convertPoint:[nsEvent locationInWindow] fromView:nil];
-
- int clickCount;
- if (type == NPCocoaEventMouseEntered || type == NPCocoaEventMouseExited || type == NPCocoaEventScrollWheel)
- clickCount = 0;
- else
- clickCount = [nsEvent clickCount];
-
- initializeEvent(&event, type);
- event.data.mouse.modifierFlags = [nsEvent modifierFlags];
- event.data.mouse.buttonNumber = [nsEvent buttonNumber];
- event.data.mouse.clickCount = clickCount;
- event.data.mouse.pluginX = point.x;
- event.data.mouse.pluginY = point.y;
- event.data.mouse.deltaX = [nsEvent deltaX];
- event.data.mouse.deltaY = [nsEvent deltaY];
- event.data.mouse.deltaZ = [nsEvent deltaZ];
-
- return sendEvent(&event);
-}
-
-void WebNetscapePluginEventHandlerCocoa::keyDown(NSEvent *event)
-{
- bool retval = sendKeyEvent(event, NPCocoaEventKeyDown);
-
-#ifndef __LP64__
- // If the plug-in did not handle the event, pass it on to the Input Manager.
- if (retval)
- WKSendKeyEventToTSM(event);
-#else
- UNUSED_PARAM(retval);
-#endif
-}
-
-void WebNetscapePluginEventHandlerCocoa::keyUp(NSEvent *event)
-{
- sendKeyEvent(event, NPCocoaEventKeyUp);
-}
-
-void WebNetscapePluginEventHandlerCocoa::flagsChanged(NSEvent *nsEvent)
-{
- NPCocoaEvent event;
-
- initializeEvent(&event, NPCocoaEventFlagsChanged);
- event.data.key.modifierFlags = [nsEvent modifierFlags];
- event.data.key.keyCode = [nsEvent keyCode];
- event.data.key.isARepeat = false;
- event.data.key.characters = 0;
- event.data.key.charactersIgnoringModifiers = 0;
-
- sendEvent(&event);
-}
-
-void WebNetscapePluginEventHandlerCocoa::syntheticKeyDownWithCommandModifier(int keyCode, char character)
-{
- char nullTerminatedString[] = { character, '\0' };
-
- RetainPtr<NSString> characters = adoptNS([[NSString alloc] initWithUTF8String:nullTerminatedString]);
-
- NPCocoaEvent event;
- initializeEvent(&event, NPCocoaEventKeyDown);
- event.data.key.modifierFlags = NSCommandKeyMask;
- event.data.key.keyCode = keyCode;
- event.data.key.isARepeat = false;
- event.data.key.characters = (NPNSString *)characters.get();
- event.data.key.charactersIgnoringModifiers = (NPNSString *)characters.get();
-
- sendEvent(&event);
-}
-
-bool WebNetscapePluginEventHandlerCocoa::sendKeyEvent(NSEvent* nsEvent, NPCocoaEventType type)
-{
- NPCocoaEvent event;
-
- initializeEvent(&event, type);
- event.data.key.modifierFlags = [nsEvent modifierFlags];
- event.data.key.keyCode = [nsEvent keyCode];
- event.data.key.isARepeat = [nsEvent isARepeat];
- event.data.key.characters = (NPNSString *)[nsEvent characters];
- event.data.key.charactersIgnoringModifiers = (NPNSString *)[nsEvent charactersIgnoringModifiers];
-
- return sendEvent(&event);
-}
-
-void WebNetscapePluginEventHandlerCocoa::windowFocusChanged(bool hasFocus)
-{
- NPCocoaEvent event;
-
- initializeEvent(&event, NPCocoaEventWindowFocusChanged);
- event.data.focus.hasFocus = hasFocus;
-
- sendEvent(&event);
-}
-
-void WebNetscapePluginEventHandlerCocoa::focusChanged(bool hasFocus)
-{
- NPCocoaEvent event;
-
- initializeEvent(&event, NPCocoaEventFocusChanged);
- event.data.focus.hasFocus = hasFocus;
-
- sendEvent(&event);
-
- if (hasFocus)
- installKeyEventHandler();
- else
- removeKeyEventHandler();
-}
-
-void* WebNetscapePluginEventHandlerCocoa::platformWindow(NSWindow* window)
-{
- return window;
-}
-
-bool WebNetscapePluginEventHandlerCocoa::sendEvent(NPCocoaEvent* event)
-{
- switch (event->type) {
- case NPCocoaEventMouseDown:
- case NPCocoaEventMouseUp:
- case NPCocoaEventMouseDragged:
- case NPCocoaEventKeyDown:
- case NPCocoaEventKeyUp:
- case NPCocoaEventFlagsChanged:
- case NPCocoaEventScrollWheel:
- m_currentEventIsUserGesture = true;
- break;
- default:
- m_currentEventIsUserGesture = false;
- }
-
- bool result = [m_pluginView sendEvent:event isDrawRect:event->type == NPCocoaEventDrawRect];
-
- m_currentEventIsUserGesture = false;
- return result;
-}
-
-#ifndef __LP64__
-
-void WebNetscapePluginEventHandlerCocoa::installKeyEventHandler()
-{
- static const EventTypeSpec TSMEvents[] =
- {
- { kEventClassTextInput, kEventTextInputUnicodeForKeyEvent }
- };
-
- if (!m_keyEventHandler)
- InstallEventHandler(GetWindowEventTarget((WindowRef)[[m_pluginView window] windowRef]),
- NewEventHandlerUPP(TSMEventHandler),
- GetEventTypeCount(TSMEvents),
- TSMEvents,
- this,
- &m_keyEventHandler);
-}
-
-void WebNetscapePluginEventHandlerCocoa::removeKeyEventHandler()
-{
- if (m_keyEventHandler) {
- RemoveEventHandler(m_keyEventHandler);
- m_keyEventHandler = 0;
- }
-}
-
-OSStatus WebNetscapePluginEventHandlerCocoa::TSMEventHandler(EventHandlerCallRef inHandlerRef, EventRef event, void* eventHandler)
-{
- return static_cast<WebNetscapePluginEventHandlerCocoa*>(eventHandler)->handleTSMEvent(event);
-}
-
-OSStatus WebNetscapePluginEventHandlerCocoa::handleTSMEvent(EventRef eventRef)
-{
- ASSERT(GetEventKind(eventRef) == kEventTextInputUnicodeForKeyEvent);
-
- // Get the text buffer size.
- ByteCount size;
- OSStatus result = GetEventParameter(eventRef, kEventParamTextInputSendText, typeUnicodeText, 0, 0, &size, 0);
- if (result != noErr)
- return result;
-
- unsigned length = size / sizeof(UniChar);
- Vector<UniChar, 16> characters(length);
-
- // Now get the actual text.
- result = GetEventParameter(eventRef, kEventParamTextInputSendText, typeUnicodeText, 0, size, 0, characters.data());
- if (result != noErr)
- return result;
-
- RetainPtr<CFStringRef> text = adoptCF(CFStringCreateWithCharacters(0, characters.data(), length));
-
- NPCocoaEvent event;
-
- initializeEvent(&event, NPCocoaEventTextInput);
- event.data.text.text = (NPNSString*)text.get();
-
- sendEvent(&event);
-
- return noErr;
-}
-
-#endif // __LP64__
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
diff --git a/Source/WebKit/mac/Plugins/WebNetscapePluginPackage.h b/Source/WebKit/mac/Plugins/WebNetscapePluginPackage.h
deleted file mode 100644
index 5313cea45..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapePluginPackage.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-#import "WebBasePluginPackage.h"
-
-
-@interface WebNetscapePluginPackage : WebBasePluginPackage
-{
- NPPluginFuncs pluginFuncs;
- NPNetscapeFuncs browserFuncs;
-
- uint16_t pluginSize;
- uint16_t pluginVersion;
-
- ResFileRefNum resourceRef;
-
- NPP_ShutdownProcPtr NP_Shutdown;
-
- BOOL isLoaded;
- BOOL needsUnload;
- unsigned int instanceCount;
-
-#if USE(PLUGIN_HOST_PROCESS)
- cpu_type_t pluginHostArchitecture;
-#endif
-}
-
-// Netscape plug-in packages must be explicitly opened and closed by each plug-in instance.
-// This is to protect Netscape plug-ins from being unloaded while they are in use.
-- (void)open;
-- (void)close;
-
-- (NPPluginFuncs *)pluginFuncs;
-- (NPNetscapeFuncs *)browserFuncs;
-
-- (BOOL)supportsSnapshotting;
-
-#if USE(PLUGIN_HOST_PROCESS)
-- (cpu_type_t)pluginHostArchitecture;
-#endif
-
-@end
-#endif
diff --git a/Source/WebKit/mac/Plugins/WebNetscapePluginPackage.mm b/Source/WebKit/mac/Plugins/WebNetscapePluginPackage.mm
deleted file mode 100644
index 58b5173f6..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapePluginPackage.mm
+++ /dev/null
@@ -1,466 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-#import "WebNetscapePluginPackage.h"
-
-#import "WebTypesInternal.h"
-#import "WebKitLogging.h"
-#import "WebKitNSStringExtras.h"
-#import "WebNSFileManagerExtras.h"
-#import "WebNSObjectExtras.h"
-#import <WebCore/npruntime_impl.h>
-#import <wtf/RetainPtr.h>
-
-#if USE(PLUGIN_HOST_PROCESS)
-#import "NetscapePluginHostManager.h"
-
-using namespace WebKit;
-#endif
-
-using namespace WebCore;
-
-#define PluginNameOrDescriptionStringNumber 126
-#define MIMEDescriptionStringNumber 127
-#define MIMEListStringStringNumber 128
-
-@interface WebNetscapePluginPackage (Internal)
-- (void)_unloadWithShutdown:(BOOL)shutdown;
-@end
-
-@implementation WebNetscapePluginPackage
-
-- (ResFileRefNum)openResourceFile
-{
- return CFBundleOpenBundleResourceMap(cfBundle.get());
-}
-
-- (void)closeResourceFile:(ResFileRefNum)resRef
-{
- CFBundleCloseBundleResourceMap(cfBundle.get(), resRef);
-}
-
-#if COMPILER(CLANG)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-#endif
-
-- (NSString *)stringForStringListID:(SInt16)stringListID andIndex:(SInt16)index
-{
- // Get resource, and dereference the handle.
- Handle stringHandle = Get1Resource('STR#', stringListID);
- if (stringHandle == NULL) {
- return nil;
- }
- unsigned char *p = (unsigned char *)*stringHandle;
- if (!p)
- return nil;
-
- // Check the index against the length of the string list, then skip the length.
- if (index < 1 || index > *(SInt16 *)p)
- return nil;
- p += sizeof(SInt16);
-
- // Skip any strings that come before the one we are looking for.
- while (--index)
- p += 1 + *p;
-
- // Convert the one we found into an NSString.
- return [[[NSString alloc] initWithBytes:(p + 1) length:*p encoding:[NSString _web_encodingForResource:stringHandle]] autorelease];
-}
-
-- (BOOL)getPluginInfoFromResources
-{
- SInt16 resRef = [self openResourceFile];
- if (resRef == -1)
- return NO;
-
- UseResFile(resRef);
- if (ResError() != noErr)
- return NO;
-
- NSString *MIME, *extensionsList, *description;
- NSArray *extensions;
- unsigned i;
-
- for (i=1; 1; i+=2) {
- MIME = [[self stringForStringListID:MIMEListStringStringNumber
- andIndex:i] lowercaseString];
- if (!MIME)
- break;
-
- MimeClassInfo mimeClassInfo;
- mimeClassInfo.type = String(MIME).lower();
-
- extensionsList = [[self stringForStringListID:MIMEListStringStringNumber andIndex:i+1] lowercaseString];
- if (extensionsList) {
- extensions = [extensionsList componentsSeparatedByString:@","];
- for (NSUInteger j = 0; j < [extensions count]; ++j)
- mimeClassInfo.extensions.append((NSString *)[extensions objectAtIndex:j]);
- }
-
- description = [self stringForStringListID:MIMEDescriptionStringNumber
- andIndex:pluginInfo.mimes.size() + 1];
- mimeClassInfo.desc = description;
-
- pluginInfo.mimes.append(mimeClassInfo);
- }
-
- NSString *filename = [(NSString *)path lastPathComponent];
- pluginInfo.file = filename;
-
- description = [self stringForStringListID:PluginNameOrDescriptionStringNumber andIndex:1];
- if (!description)
- description = filename;
- pluginInfo.desc = description;
-
-
- NSString *theName = [self stringForStringListID:PluginNameOrDescriptionStringNumber andIndex:2];
- if (!theName)
- theName = filename;
- pluginInfo.name = theName;
-
- pluginInfo.isApplicationPlugin = false;
-
- [self closeResourceFile:resRef];
-
- return YES;
-}
-#if COMPILER(CLANG)
-#pragma clang diagnostic pop
-#endif
-
-- (BOOL)_initWithPath:(NSString *)pluginPath
-{
- resourceRef = -1;
-
- OSType type = 0;
-
- if (!cfBundle)
- return NO;
-
- CFBundleGetPackageInfo(cfBundle.get(), &type, NULL);
-
- if (type != FOUR_CHAR_CODE('BRPL'))
- return NO;
-
-#if USE(PLUGIN_HOST_PROCESS)
- RetainPtr<CFArrayRef> archs = adoptCF(CFBundleCopyExecutableArchitectures(cfBundle.get()));
-
- if ([(NSArray *)archs.get() containsObject:[NSNumber numberWithInteger:NSBundleExecutableArchitectureX86_64]])
- pluginHostArchitecture = CPU_TYPE_X86_64;
- else if ([(NSArray *)archs.get() containsObject:[NSNumber numberWithInteger:NSBundleExecutableArchitectureI386]])
- pluginHostArchitecture = CPU_TYPE_X86;
- else
- return NO;
-#else
- RetainPtr<CFURLRef> executableURL = adoptCF(CFBundleCopyExecutableURL(cfBundle.get()));
- if (!executableURL)
- return NO;
- NSFileHandle *executableFile = [NSFileHandle fileHandleForReadingAtPath:[(NSURL *)executableURL.get() path]];
- NSData *data = [executableFile readDataOfLength:512];
- [executableFile closeFile];
-
- if (![self isNativeLibraryData:data])
- return NO;
-
-#endif
-
- if (![self getPluginInfoFromPLists] && ![self getPluginInfoFromResources])
- return NO;
-
- return YES;
-}
-
-- (id)initWithPath:(NSString *)pluginPath
-{
- if (!(self = [super initWithPath:pluginPath]))
- return nil;
-
- // Initializing a plugin package can cause it to be loaded. If there was an error initializing the plugin package,
- // ensure that it is unloaded before deallocating it (WebBasePluginPackage requires & asserts this).
- if (![self _initWithPath:pluginPath]) {
- [self _unloadWithShutdown:YES];
- [self release];
- return nil;
- }
-
- return self;
-}
-
-#if USE(PLUGIN_HOST_PROCESS)
-- (cpu_type_t)pluginHostArchitecture
-{
- return pluginHostArchitecture;
-}
-
-- (void)createPropertyListFile
-{
- NetscapePluginHostManager::shared().createPropertyListFile(path, pluginHostArchitecture, [self bundleIdentifier]);
-}
-
-#endif
-
-- (void)unload
-{
- [self _unloadWithShutdown:YES];
-}
-
-- (BOOL)_tryLoad
-{
- NP_GetEntryPointsFuncPtr NP_GetEntryPoints = NULL;
- NP_InitializeFuncPtr NP_Initialize = NULL;
- NPError npErr;
-
-#if !LOG_DISABLED
- CFAbsoluteTime start = CFAbsoluteTimeGetCurrent();
- CFAbsoluteTime currentTime;
- CFAbsoluteTime duration;
-#endif
- LOG(Plugins, "%f Load timing started for: %@", start, (NSString *)[self pluginInfo].name);
-
- if (isLoaded)
- return YES;
-
- if (!CFBundleLoadExecutable(cfBundle.get()))
- return NO;
-#if !LOG_DISABLED
- currentTime = CFAbsoluteTimeGetCurrent();
- duration = currentTime - start;
-#endif
- LOG(Plugins, "%f CFBundleLoadExecutable took %f seconds", currentTime, duration);
- isLoaded = YES;
-
- NP_Initialize = (NP_InitializeFuncPtr)CFBundleGetFunctionPointerForName(cfBundle.get(), CFSTR("NP_Initialize"));
- NP_GetEntryPoints = (NP_GetEntryPointsFuncPtr)CFBundleGetFunctionPointerForName(cfBundle.get(), CFSTR("NP_GetEntryPoints"));
- NP_Shutdown = (NPP_ShutdownProcPtr)CFBundleGetFunctionPointerForName(cfBundle.get(), CFSTR("NP_Shutdown"));
- if (!NP_Initialize || !NP_GetEntryPoints || !NP_Shutdown)
- return NO;
-
-#if COMPILER(CLANG)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-#endif
- // Plugins (at least QT) require that you call UseResFile on the resource file before loading it.
- resourceRef = [self openResourceFile];
- if (resourceRef != -1) {
- UseResFile(resourceRef);
- }
-#if COMPILER(CLANG)
-#pragma clang diagnostic pop
-#endif
-
- browserFuncs.version = NP_VERSION_MINOR;
- browserFuncs.size = sizeof(NPNetscapeFuncs);
- browserFuncs.geturl = NPN_GetURL;
- browserFuncs.posturl = NPN_PostURL;
- browserFuncs.requestread = NPN_RequestRead;
- browserFuncs.newstream = NPN_NewStream;
- browserFuncs.write = NPN_Write;
- browserFuncs.destroystream = NPN_DestroyStream;
- browserFuncs.status = NPN_Status;
- browserFuncs.uagent = NPN_UserAgent;
- browserFuncs.memalloc = NPN_MemAlloc;
- browserFuncs.memfree = NPN_MemFree;
- browserFuncs.memflush = NPN_MemFlush;
- browserFuncs.reloadplugins = NPN_ReloadPlugins;
- browserFuncs.geturlnotify = NPN_GetURLNotify;
- browserFuncs.posturlnotify = NPN_PostURLNotify;
- browserFuncs.getvalue = NPN_GetValue;
- browserFuncs.setvalue = NPN_SetValue;
- browserFuncs.invalidaterect = NPN_InvalidateRect;
- browserFuncs.invalidateregion = NPN_InvalidateRegion;
- browserFuncs.forceredraw = NPN_ForceRedraw;
- browserFuncs.getJavaEnv = NPN_GetJavaEnv;
- browserFuncs.getJavaPeer = NPN_GetJavaPeer;
- browserFuncs.pushpopupsenabledstate = NPN_PushPopupsEnabledState;
- browserFuncs.poppopupsenabledstate = NPN_PopPopupsEnabledState;
- browserFuncs.pluginthreadasynccall = NPN_PluginThreadAsyncCall;
- browserFuncs.getvalueforurl = NPN_GetValueForURL;
- browserFuncs.setvalueforurl = NPN_SetValueForURL;
- browserFuncs.getauthenticationinfo = NPN_GetAuthenticationInfo;
- browserFuncs.scheduletimer = NPN_ScheduleTimer;
- browserFuncs.unscheduletimer = NPN_UnscheduleTimer;
- browserFuncs.popupcontextmenu = NPN_PopUpContextMenu;
- browserFuncs.convertpoint = NPN_ConvertPoint;
-
- browserFuncs.releasevariantvalue = _NPN_ReleaseVariantValue;
- browserFuncs.getstringidentifier = _NPN_GetStringIdentifier;
- browserFuncs.getstringidentifiers = _NPN_GetStringIdentifiers;
- browserFuncs.getintidentifier = _NPN_GetIntIdentifier;
- browserFuncs.identifierisstring = _NPN_IdentifierIsString;
- browserFuncs.utf8fromidentifier = _NPN_UTF8FromIdentifier;
- browserFuncs.intfromidentifier = _NPN_IntFromIdentifier;
- browserFuncs.createobject = _NPN_CreateObject;
- browserFuncs.retainobject = _NPN_RetainObject;
- browserFuncs.releaseobject = _NPN_ReleaseObject;
- browserFuncs.hasmethod = _NPN_HasMethod;
- browserFuncs.invoke = _NPN_Invoke;
- browserFuncs.invokeDefault = _NPN_InvokeDefault;
- browserFuncs.evaluate = _NPN_Evaluate;
- browserFuncs.hasproperty = _NPN_HasProperty;
- browserFuncs.getproperty = _NPN_GetProperty;
- browserFuncs.setproperty = _NPN_SetProperty;
- browserFuncs.removeproperty = _NPN_RemoveProperty;
- browserFuncs.setexception = _NPN_SetException;
- browserFuncs.enumerate = _NPN_Enumerate;
- browserFuncs.construct = _NPN_Construct;
-
-#if !LOG_DISABLED
- CFAbsoluteTime initializeStart = CFAbsoluteTimeGetCurrent();
-#endif
- LOG(Plugins, "%f NP_Initialize timing started", initializeStart);
- npErr = NP_Initialize(&browserFuncs);
- if (npErr != NPERR_NO_ERROR)
- return NO;
-#if !LOG_DISABLED
- currentTime = CFAbsoluteTimeGetCurrent();
- duration = currentTime - initializeStart;
-#endif
- LOG(Plugins, "%f NP_Initialize took %f seconds", currentTime, duration);
-
- pluginFuncs.size = sizeof(NPPluginFuncs);
-
- npErr = NP_GetEntryPoints(&pluginFuncs);
- if (npErr != NPERR_NO_ERROR)
- return NO;
-
- pluginSize = pluginFuncs.size;
- pluginVersion = pluginFuncs.version;
-
- if (pluginFuncs.javaClass)
- LOG(LiveConnect, "%@: mach-o entry point for NPP_GetJavaClass = %p", (NSString *)[self pluginInfo].name, pluginFuncs.javaClass);
- else
- LOG(LiveConnect, "%@: no entry point for NPP_GetJavaClass", (NSString *)[self pluginInfo].name);
-
-#if !LOG_DISABLED
- currentTime = CFAbsoluteTimeGetCurrent();
- duration = currentTime - start;
-#endif
- LOG(Plugins, "%f Total load time: %f seconds", currentTime, duration);
-
- return YES;
-}
-
-- (BOOL)load
-{
- if ([self _tryLoad])
- return [super load];
-
- [self _unloadWithShutdown:NO];
- return NO;
-}
-
-- (NPPluginFuncs *)pluginFuncs
-{
- return &pluginFuncs;
-}
-
-- (NPNetscapeFuncs *)browserFuncs
-{
- return &browserFuncs;
-}
-
-- (void)wasRemovedFromPluginDatabase:(WebPluginDatabase *)database
-{
- [super wasRemovedFromPluginDatabase:database];
-
- // Unload when removed from final plug-in database
- if ([pluginDatabases count] == 0)
- [self _unloadWithShutdown:YES];
-}
-
-- (void)open
-{
- instanceCount++;
-
- // Handle the case where all instances close a plug-in package, but another
- // instance opens the package before it is unloaded (which only happens when
- // the plug-in database is refreshed)
- needsUnload = NO;
-
- if (!isLoaded) {
- // Should load when the first instance opens the plug-in package
- ASSERT(instanceCount == 1);
- [self load];
- }
-}
-
-- (void)close
-{
- ASSERT(instanceCount > 0);
- instanceCount--;
- if (instanceCount == 0 && needsUnload)
- [self _unloadWithShutdown:YES];
-}
-
-
-- (BOOL)supportsSnapshotting
-{
- if ([self bundleIdentifier] != "com.macromedia.Flash Player.plugin")
- return YES;
-
- // Flash has a bogus Info.plist entry for CFBundleVersionString, so use CFBundleShortVersionString.
- NSString *versionString = (NSString *)CFDictionaryGetValue(CFBundleGetInfoDictionary(cfBundle.get()), CFSTR("CFBundleShortVersionString"));
-
- if (![versionString hasPrefix:@"10.1"])
- return YES;
-
- // Some prerelease versions of Flash 10.1 crash when sent a drawRect event using the CA drawing model: <rdar://problem/7739922>
- return CFStringCompare((CFStringRef)versionString, CFSTR("10.1.53.60"), kCFCompareNumerically) != kCFCompareLessThan;
-}
-
-@end
-
-@implementation WebNetscapePluginPackage (Internal)
-
-- (void)_unloadWithShutdown:(BOOL)shutdown
-{
- if (!isLoaded)
- return;
-
- LOG(Plugins, "Unloading %@...", (NSString *)pluginInfo.name);
-
- // Cannot unload a plug-in package while an instance is still using it
- if (instanceCount > 0) {
- needsUnload = YES;
- return;
- }
-
- if (shutdown && NP_Shutdown)
- NP_Shutdown();
-
- if (resourceRef != -1)
- [self closeResourceFile:resourceRef];
-
- LOG(Plugins, "Plugin Unloaded");
- isLoaded = NO;
-}
-
-@end
-#endif
diff --git a/Source/WebKit/mac/Plugins/WebNetscapePluginStream.h b/Source/WebKit/mac/Plugins/WebNetscapePluginStream.h
deleted file mode 100644
index 20beee240..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapePluginStream.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-#import <Foundation/Foundation.h>
-
-#import <WebCore/Timer.h>
-#import <WebCore/NetscapePlugInStreamLoader.h>
-#import <WebKit/npfunctions.h>
-#import <wtf/PassRefPtr.h>
-#import <wtf/RefCounted.h>
-#import <wtf/RefPtr.h>
-#import <wtf/RetainPtr.h>
-#import <wtf/text/CString.h>
-
-#import "WebNetscapePluginView.h"
-
-namespace WebCore {
- class FrameLoader;
- class NetscapePlugInStreamLoader;
-}
-
-@class WebNetscapePluginView;
-@class NSURLResponse;
-
-class WebNetscapePluginStream : public RefCounted<WebNetscapePluginStream>
- , private WebCore::NetscapePlugInStreamLoaderClient
-{
-public:
- static PassRefPtr<WebNetscapePluginStream> create(NSURLRequest *request, NPP plugin, bool sendNotification, void* notifyData)
- {
- return adoptRef(new WebNetscapePluginStream(request, plugin, sendNotification, notifyData));
- }
- static PassRefPtr<WebNetscapePluginStream> create(WebCore::FrameLoader* frameLoader)
- {
- return adoptRef(new WebNetscapePluginStream(frameLoader));
- }
- virtual ~WebNetscapePluginStream();
-
- NPP plugin() const { return m_plugin; }
- void setPlugin(NPP);
-
- static NPP ownerForStream(NPStream *);
-
- static NPReason reasonForError(NSError *);
- NSError *errorForReason(NPReason) const;
-
- void cancelLoadAndDestroyStreamWithError(NSError *);
-
- void setRequestURL(const WebCore::KURL& requestURL) { m_requestURL = requestURL; }
-
- void start();
- void stop();
-
- void startStreamWithResponse(NSURLResponse *response);
-
- void didReceiveData(WebCore::NetscapePlugInStreamLoader*, const char* bytes, int length);
- void destroyStreamWithError(NSError *);
- void didFinishLoading(WebCore::NetscapePlugInStreamLoader*);
-
-private:
- void destroyStream();
- void cancelLoadWithError(NSError *);
- void destroyStreamWithReason(NPReason);
- void deliverDataToFile(NSData *data);
- void deliverData();
-
- void startStream(NSURL *, long long expectedContentLength, NSDate *lastModifiedDate, const WTF::String& mimeType, NSData *headers);
-
- NSError *pluginCancelledConnectionError() const;
-
- // NetscapePlugInStreamLoaderClient methods.
- void didReceiveResponse(WebCore::NetscapePlugInStreamLoader*, const WebCore::ResourceResponse&);
- void didFail(WebCore::NetscapePlugInStreamLoader*, const WebCore::ResourceError&);
- bool wantsAllStreams() const;
-
- RetainPtr<NSMutableData> m_deliveryData;
- WebCore::KURL m_requestURL;
- RetainPtr<NSURL> m_responseURL;
- CString m_mimeType;
-
- NPP m_plugin;
- uint16_t m_transferMode;
- int32_t m_offset;
- NPStream m_stream;
- RetainPtr<NSString> m_path;
- int m_fileDescriptor;
- BOOL m_sendNotification;
- void *m_notifyData;
- char *m_headers;
- RetainPtr<WebNetscapePluginView> m_pluginView;
- NPReason m_reason;
- bool m_isTerminated;
- bool m_newStreamSuccessful;
-
- WebCore::FrameLoader* m_frameLoader;
- RefPtr<WebCore::NetscapePlugInStreamLoader> m_loader;
- RetainPtr<NSMutableURLRequest> m_request;
- NPPluginFuncs *m_pluginFuncs;
-
- void deliverDataTimerFired(WebCore::Timer<WebNetscapePluginStream>* timer);
- WebCore::Timer<WebNetscapePluginStream> m_deliverDataTimer;
-
- WebNetscapePluginStream(WebCore::FrameLoader*);
- WebNetscapePluginStream(NSURLRequest *, NPP, bool sendNotification, void* notifyData);
-};
-
-#endif
diff --git a/Source/WebKit/mac/Plugins/WebNetscapePluginStream.mm b/Source/WebKit/mac/Plugins/WebNetscapePluginStream.mm
deleted file mode 100644
index 664cd872c..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapePluginStream.mm
+++ /dev/null
@@ -1,629 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-#import "WebNetscapePluginStream.h"
-
-#import "WebFrameInternal.h"
-#import "WebKitErrorsPrivate.h"
-#import "WebKitLogging.h"
-#import "WebNSObjectExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebNSURLRequestExtras.h"
-#import "WebNetscapePluginPackage.h"
-#import "WebNetscapePluginView.h"
-#import <Foundation/NSURLResponse.h>
-#import <WebCore/Document.h>
-#import <WebCore/DocumentLoader.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/JSDOMWindowBase.h>
-#import <WebCore/ResourceLoadScheduler.h>
-#import <WebCore/SecurityOrigin.h>
-#import <WebCore/SecurityPolicy.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <WebCore/WebCoreURLResponse.h>
-#import <WebKitSystemInterface.h>
-#import <runtime/JSLock.h>
-#import <wtf/HashMap.h>
-#import <wtf/StdLibExtras.h>
-
-using namespace WebCore;
-
-#define WEB_REASON_NONE -1
-
-class PluginStopDeferrer {
-public:
- PluginStopDeferrer(WebNetscapePluginView* pluginView)
- : m_pluginView(pluginView)
- {
- ASSERT(m_pluginView);
-
- [m_pluginView.get() willCallPlugInFunction];
- }
-
- ~PluginStopDeferrer()
- {
- ASSERT(m_pluginView);
- [m_pluginView.get() didCallPlugInFunction];
- }
-
-private:
- RetainPtr<WebNetscapePluginView> m_pluginView;
-};
-
-typedef HashMap<NPStream*, NPP> StreamMap;
-static StreamMap& streams()
-{
- DEFINE_STATIC_LOCAL(StreamMap, staticStreams, ());
- return staticStreams;
-}
-
-NPP WebNetscapePluginStream::ownerForStream(NPStream *stream)
-{
- return streams().get(stream);
-}
-
-NPReason WebNetscapePluginStream::reasonForError(NSError *error)
-{
- if (!error)
- return NPRES_DONE;
-
- if ([[error domain] isEqualToString:NSURLErrorDomain] && [error code] == NSURLErrorCancelled)
- return NPRES_USER_BREAK;
-
- return NPRES_NETWORK_ERR;
-}
-
-NSError *WebNetscapePluginStream::pluginCancelledConnectionError() const
-{
- return [[[NSError alloc] _initWithPluginErrorCode:WebKitErrorPlugInCancelledConnection
- contentURL:m_responseURL ? m_responseURL.get() : (NSURL *)m_requestURL
- pluginPageURL:nil
- pluginName:[[m_pluginView.get() pluginPackage] pluginInfo].name
- MIMEType:(NSString *)String::fromUTF8(m_mimeType.data(), m_mimeType.length())] autorelease];
-}
-
-NSError *WebNetscapePluginStream::errorForReason(NPReason reason) const
-{
- if (reason == NPRES_DONE)
- return nil;
-
- if (reason == NPRES_USER_BREAK)
- return [NSError _webKitErrorWithDomain:NSURLErrorDomain
- code:NSURLErrorCancelled
- URL:m_responseURL ? m_responseURL.get() : (NSURL *)m_requestURL];
-
- return pluginCancelledConnectionError();
-}
-
-WebNetscapePluginStream::WebNetscapePluginStream(FrameLoader* frameLoader)
- : m_plugin(0)
- , m_transferMode(0)
- , m_offset(0)
- , m_fileDescriptor(-1)
- , m_sendNotification(false)
- , m_notifyData(0)
- , m_headers(0)
- , m_reason(NPRES_BASE)
- , m_isTerminated(false)
- , m_newStreamSuccessful(false)
- , m_frameLoader(frameLoader)
- , m_pluginFuncs(0)
- , m_deliverDataTimer(this, &WebNetscapePluginStream::deliverDataTimerFired)
-{
- memset(&m_stream, 0, sizeof(NPStream));
-}
-
-WebNetscapePluginStream::WebNetscapePluginStream(NSURLRequest *request, NPP plugin, bool sendNotification, void* notifyData)
- : m_requestURL([request URL])
- , m_plugin(0)
- , m_transferMode(0)
- , m_offset(0)
- , m_fileDescriptor(-1)
- , m_sendNotification(sendNotification)
- , m_notifyData(notifyData)
- , m_headers(0)
- , m_reason(NPRES_BASE)
- , m_isTerminated(false)
- , m_newStreamSuccessful(false)
- , m_frameLoader(0)
- , m_request(adoptNS([request mutableCopy]))
- , m_pluginFuncs(0)
- , m_deliverDataTimer(this, &WebNetscapePluginStream::deliverDataTimerFired)
-{
- memset(&m_stream, 0, sizeof(NPStream));
-
- WebNetscapePluginView *view = (WebNetscapePluginView *)plugin->ndata;
-
- // This check has already been done by the plug-in view.
- ASSERT(core([view webFrame])->document()->securityOrigin()->canDisplay([request URL]));
-
- ASSERT([request URL]);
- ASSERT(plugin);
-
- setPlugin(plugin);
-
- streams().add(&m_stream, plugin);
-
- String referrer = SecurityPolicy::generateReferrerHeader(core([view webFrame])->document()->referrerPolicy(), [request URL], core([view webFrame])->loader()->outgoingReferrer());
- if (referrer.isEmpty())
- [m_request.get() _web_setHTTPReferrer:nil];
- else
- [m_request.get() _web_setHTTPReferrer:referrer];
-}
-
-WebNetscapePluginStream::~WebNetscapePluginStream()
-{
- ASSERT(!m_plugin);
- ASSERT(m_isTerminated);
- ASSERT(!m_stream.ndata);
-
- // The stream file should have been deleted, and the path freed, in -_destroyStream
- ASSERT(!m_path);
- ASSERT(m_fileDescriptor == -1);
-
- free((void *)m_stream.url);
- free(m_headers);
-
- streams().remove(&m_stream);
-}
-
-void WebNetscapePluginStream::setPlugin(NPP plugin)
-{
- if (plugin) {
- m_plugin = plugin;
- m_pluginView = static_cast<WebNetscapePluginView *>(m_plugin->ndata);
-
- WebNetscapePluginPackage *pluginPackage = [m_pluginView.get() pluginPackage];
-
- m_pluginFuncs = [pluginPackage pluginFuncs];
- } else {
- WebNetscapePluginView *view = m_pluginView.get();
- m_plugin = 0;
- m_pluginFuncs = 0;
-
- [view disconnectStream:this];
- m_pluginView = 0;
- }
-}
-
-void WebNetscapePluginStream::startStream(NSURL *url, long long expectedContentLength, NSDate *lastModifiedDate, const String& mimeType, NSData *headers)
-{
- ASSERT(!m_isTerminated);
-
- m_responseURL = url;
- m_mimeType = mimeType.utf8();
-
- free((void *)m_stream.url);
- m_stream.url = strdup([m_responseURL.get() _web_URLCString]);
-
- m_stream.ndata = this;
- m_stream.end = expectedContentLength > 0 ? (uint32_t)expectedContentLength : 0;
- m_stream.lastmodified = (uint32_t)[lastModifiedDate timeIntervalSince1970];
- m_stream.notifyData = m_notifyData;
-
- if (headers) {
- unsigned len = [headers length];
- m_headers = (char*) malloc(len + 1);
- [headers getBytes:m_headers];
- m_headers[len] = 0;
- m_stream.headers = m_headers;
- }
-
- m_transferMode = NP_NORMAL;
- m_offset = 0;
- m_reason = WEB_REASON_NONE;
- // FIXME: If WebNetscapePluginStream called our initializer we wouldn't have to do this here.
- m_fileDescriptor = -1;
-
- // FIXME: Need a way to check if stream is seekable
-
- NPError npErr;
- {
- PluginStopDeferrer deferrer(m_pluginView.get());
- npErr = m_pluginFuncs->newstream(m_plugin, m_mimeType.mutableData(), &m_stream, NO, &m_transferMode);
- }
-
- LOG(Plugins, "NPP_NewStream URL=%@ MIME=%s error=%d", m_responseURL.get(), m_mimeType.data(), npErr);
-
- if (npErr != NPERR_NO_ERROR) {
- LOG_ERROR("NPP_NewStream failed with error: %d responseURL: %@", npErr, m_responseURL.get());
- // Calling cancelLoadWithError: cancels the load, but doesn't call NPP_DestroyStream.
- cancelLoadWithError(pluginCancelledConnectionError());
- return;
- }
-
- m_newStreamSuccessful = true;
-
- switch (m_transferMode) {
- case NP_NORMAL:
- LOG(Plugins, "Stream type: NP_NORMAL");
- break;
- case NP_ASFILEONLY:
- LOG(Plugins, "Stream type: NP_ASFILEONLY");
- break;
- case NP_ASFILE:
- LOG(Plugins, "Stream type: NP_ASFILE");
- break;
- case NP_SEEK:
- LOG_ERROR("Stream type: NP_SEEK not yet supported");
- cancelLoadAndDestroyStreamWithError(pluginCancelledConnectionError());
- break;
- default:
- LOG_ERROR("unknown stream type");
- }
-}
-
-void WebNetscapePluginStream::start()
-{
- ASSERT(m_request);
- ASSERT(!m_frameLoader);
- ASSERT(!m_loader);
-
- m_loader = resourceLoadScheduler()->schedulePluginStreamLoad(core([m_pluginView.get() webFrame]), this, m_request.get());
-}
-
-void WebNetscapePluginStream::stop()
-{
- ASSERT(!m_frameLoader);
-
- if (!m_loader->isDone())
- cancelLoadAndDestroyStreamWithError(m_loader->cancelledError());
-}
-
-void WebNetscapePluginStream::didReceiveResponse(NetscapePlugInStreamLoader*, const ResourceResponse& response)
-{
- NSURLResponse *r = response.nsURLResponse();
-
- NSMutableData *theHeaders = nil;
- long long expectedContentLength = [r expectedContentLength];
-
- if ([r isKindOfClass:[NSHTTPURLResponse class]]) {
- NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)r;
- theHeaders = [NSMutableData dataWithCapacity:1024];
-
- // FIXME: it would be nice to be able to get the raw HTTP header block.
- // This includes the HTTP version, the real status text,
- // all headers in their original order and including duplicates,
- // and all original bytes verbatim, rather than sent through Unicode translation.
- // Unfortunately NSHTTPURLResponse doesn't provide access at that low a level.
-
- [theHeaders appendBytes:"HTTP " length:5];
- char statusStr[10];
- long statusCode = [httpResponse statusCode];
- snprintf(statusStr, sizeof(statusStr), "%ld", statusCode);
- [theHeaders appendBytes:statusStr length:strlen(statusStr)];
- [theHeaders appendBytes:" OK\n" length:4];
-
- // HACK: pass the headers through as UTF-8.
- // This is not the intended behavior; we're supposed to pass original bytes verbatim.
- // But we don't have the original bytes, we have NSStrings built by the URL loading system.
- // It hopefully shouldn't matter, since RFC2616/RFC822 require ASCII-only headers,
- // but surely someone out there is using non-ASCII characters, and hopefully UTF-8 is adequate here.
- // It seems better than NSASCIIStringEncoding, which will lose information if non-ASCII is used.
-
- NSDictionary *headerDict = [httpResponse allHeaderFields];
- NSArray *keys = [[headerDict allKeys] sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
- NSEnumerator *i = [keys objectEnumerator];
- NSString *k;
- while ((k = [i nextObject]) != nil) {
- NSString *v = [headerDict objectForKey:k];
- [theHeaders appendData:[k dataUsingEncoding:NSUTF8StringEncoding]];
- [theHeaders appendBytes:": " length:2];
- [theHeaders appendData:[v dataUsingEncoding:NSUTF8StringEncoding]];
- [theHeaders appendBytes:"\n" length:1];
- }
-
- // If the content is encoded (most likely compressed), then don't send its length to the plugin,
- // which is only interested in the decoded length, not yet known at the moment.
- // <rdar://problem/4470599> tracks a request for -[NSURLResponse expectedContentLength] to incorporate this logic.
- NSString *contentEncoding = (NSString *)[[(NSHTTPURLResponse *)r allHeaderFields] objectForKey:@"Content-Encoding"];
- if (contentEncoding && ![contentEncoding isEqualToString:@"identity"])
- expectedContentLength = -1;
-
- // startStreamResponseURL:... will null-terminate.
- }
-
- startStream([r URL], expectedContentLength, WKGetNSURLResponseLastModifiedDate(r), response.mimeType(), theHeaders);
-}
-
-void WebNetscapePluginStream::startStreamWithResponse(NSURLResponse *response)
-{
- didReceiveResponse(0, response);
-}
-
-bool WebNetscapePluginStream::wantsAllStreams() const
-{
- if (!m_pluginFuncs->getvalue)
- return false;
-
- void *value = 0;
- NPError error;
- {
- PluginStopDeferrer deferrer(m_pluginView.get());
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- error = m_pluginFuncs->getvalue(m_plugin, NPPVpluginWantsAllNetworkStreams, &value);
- }
- if (error != NPERR_NO_ERROR)
- return false;
-
- return value;
-}
-
-void WebNetscapePluginStream::destroyStream()
-{
- if (m_isTerminated)
- return;
-
- RefPtr<WebNetscapePluginStream> protect(this);
-
- ASSERT(m_reason != WEB_REASON_NONE);
- ASSERT([m_deliveryData.get() length] == 0);
-
- m_deliverDataTimer.stop();
-
- if (m_stream.ndata) {
- if (m_reason == NPRES_DONE && (m_transferMode == NP_ASFILE || m_transferMode == NP_ASFILEONLY)) {
- ASSERT(m_fileDescriptor == -1);
- ASSERT(m_path);
-
- PluginStopDeferrer deferrer(m_pluginView.get());
- m_pluginFuncs->asfile(m_plugin, &m_stream, [m_path.get() fileSystemRepresentation]);
- LOG(Plugins, "NPP_StreamAsFile responseURL=%@ path=%s", m_responseURL.get(), m_path.get());
- }
-
- if (m_path) {
- // Delete the file after calling NPP_StreamAsFile(), instead of in -dealloc/-finalize. It should be OK
- // to delete the file here -- NPP_StreamAsFile() is always called immediately before NPP_DestroyStream()
- // (the stream destruction function), so there can be no expectation that a plugin will read the stream
- // file asynchronously after NPP_StreamAsFile() is called.
- unlink([m_path.get() fileSystemRepresentation]);
- m_path = 0;
-
- if (m_isTerminated)
- return;
- }
-
- if (m_fileDescriptor != -1) {
- // The file may still be open if we are destroying the stream before it completed loading.
- close(m_fileDescriptor);
- m_fileDescriptor = -1;
- }
-
- if (m_newStreamSuccessful) {
- PluginStopDeferrer deferrer(m_pluginView.get());
-#if !LOG_DISABLED
- NPError npErr =
-#endif
- m_pluginFuncs->destroystream(m_plugin, &m_stream, m_reason);
- LOG(Plugins, "NPP_DestroyStream responseURL=%@ error=%d", m_responseURL.get(), npErr);
- }
-
- free(m_headers);
- m_headers = NULL;
- m_stream.headers = NULL;
-
- m_stream.ndata = 0;
-
- if (m_isTerminated)
- return;
- }
-
- if (m_sendNotification) {
- // NPP_URLNotify expects the request URL, not the response URL.
- PluginStopDeferrer deferrer(m_pluginView.get());
- m_pluginFuncs->urlnotify(m_plugin, m_requestURL.string().utf8().data(), m_reason, m_notifyData);
- LOG(Plugins, "NPP_URLNotify requestURL=%@ reason=%d", (NSURL *)m_requestURL, m_reason);
- }
-
- m_isTerminated = true;
-
- setPlugin(0);
-}
-
-void WebNetscapePluginStream::destroyStreamWithReason(NPReason reason)
-{
- m_reason = reason;
- if (m_reason != NPRES_DONE) {
- // Stop any pending data from being streamed.
- [m_deliveryData.get() setLength:0];
- } else if ([m_deliveryData.get() length] > 0) {
- // There is more data to be streamed, don't destroy the stream now.
- return;
- }
-
- RefPtr<WebNetscapePluginStream> protect(this);
- destroyStream();
- ASSERT(!m_stream.ndata);
-}
-
-void WebNetscapePluginStream::cancelLoadWithError(NSError *error)
-{
- if (m_frameLoader) {
- ASSERT(!m_loader);
-
- DocumentLoader* documentLoader = m_frameLoader->activeDocumentLoader();
- ASSERT(documentLoader);
-
- if (documentLoader->isLoadingMainResource())
- documentLoader->cancelMainResourceLoad(error);
- return;
- }
-
- if (!m_loader->isDone())
- m_loader->cancel(error);
-}
-
-void WebNetscapePluginStream::destroyStreamWithError(NSError *error)
-{
- destroyStreamWithReason(reasonForError(error));
-}
-
-void WebNetscapePluginStream::didFail(WebCore::NetscapePlugInStreamLoader*, const WebCore::ResourceError& error)
-{
- destroyStreamWithError(error);
-}
-
-void WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError(NSError *error)
-{
- RefPtr<WebNetscapePluginStream> protect(this);
- cancelLoadWithError(error);
- destroyStreamWithError(error);
- setPlugin(0);
-}
-
-void WebNetscapePluginStream::deliverData()
-{
- if (!m_stream.ndata || [m_deliveryData.get() length] == 0)
- return;
-
- RefPtr<WebNetscapePluginStream> protect(this);
-
- int32_t totalBytes = [m_deliveryData.get() length];
- int32_t totalBytesDelivered = 0;
-
- while (totalBytesDelivered < totalBytes) {
- PluginStopDeferrer deferrer(m_pluginView.get());
- int32_t deliveryBytes = m_pluginFuncs->writeready(m_plugin, &m_stream);
- LOG(Plugins, "NPP_WriteReady responseURL=%@ bytes=%d", m_responseURL.get(), deliveryBytes);
-
- if (m_isTerminated)
- return;
-
- if (deliveryBytes <= 0) {
- // Plug-in can't receive anymore data right now. Send it later.
- if (!m_deliverDataTimer.isActive())
- m_deliverDataTimer.startOneShot(0);
- break;
- } else {
- deliveryBytes = std::min(deliveryBytes, totalBytes - totalBytesDelivered);
- NSData *subdata = [m_deliveryData.get() subdataWithRange:NSMakeRange(totalBytesDelivered, deliveryBytes)];
- PluginStopDeferrer deferrer(m_pluginView.get());
- deliveryBytes = m_pluginFuncs->write(m_plugin, &m_stream, m_offset, [subdata length], (void *)[subdata bytes]);
- if (deliveryBytes < 0) {
- // Netscape documentation says that a negative result from NPP_Write means cancel the load.
- cancelLoadAndDestroyStreamWithError(pluginCancelledConnectionError());
- return;
- }
- deliveryBytes = std::min<int32_t>(deliveryBytes, [subdata length]);
- m_offset += deliveryBytes;
- totalBytesDelivered += deliveryBytes;
- LOG(Plugins, "NPP_Write responseURL=%@ bytes=%d total-delivered=%d/%d", m_responseURL.get(), deliveryBytes, m_offset, m_stream.end);
- }
- }
-
- if (totalBytesDelivered > 0) {
- if (totalBytesDelivered < totalBytes) {
- NSMutableData *newDeliveryData = [[NSMutableData alloc] initWithCapacity:totalBytes - totalBytesDelivered];
- [newDeliveryData appendBytes:(char *)[m_deliveryData.get() bytes] + totalBytesDelivered length:totalBytes - totalBytesDelivered];
-
- m_deliveryData = adoptNS(newDeliveryData);
- } else {
- [m_deliveryData.get() setLength:0];
- if (m_reason != WEB_REASON_NONE)
- destroyStream();
- }
- }
-}
-
-void WebNetscapePluginStream::deliverDataTimerFired(WebCore::Timer<WebNetscapePluginStream>* timer)
-{
- deliverData();
-}
-
-void WebNetscapePluginStream::deliverDataToFile(NSData *data)
-{
- if (m_fileDescriptor == -1 && !m_path) {
- NSString *temporaryFileMask = [NSTemporaryDirectory() stringByAppendingPathComponent:@"WebKitPlugInStreamXXXXXX"];
- char *temporaryFileName = strdup([temporaryFileMask fileSystemRepresentation]);
- m_fileDescriptor = mkstemp(temporaryFileName);
- if (m_fileDescriptor == -1) {
- LOG_ERROR("Can't create a temporary file.");
- // This is not a network error, but the only error codes are "network error" and "user break".
- destroyStreamWithReason(NPRES_NETWORK_ERR);
- free(temporaryFileName);
- return;
- }
-
- m_path = [NSString stringWithUTF8String:temporaryFileName];
- free(temporaryFileName);
- }
-
- int dataLength = [data length];
- if (!dataLength)
- return;
-
- int byteCount = write(m_fileDescriptor, [data bytes], dataLength);
- if (byteCount != dataLength) {
- // This happens only rarely, when we are out of disk space or have a disk I/O error.
- LOG_ERROR("error writing to temporary file, errno %d", errno);
- close(m_fileDescriptor);
- m_fileDescriptor = -1;
-
- // This is not a network error, but the only error codes are "network error" and "user break".
- destroyStreamWithReason(NPRES_NETWORK_ERR);
- m_path = 0;
- }
-}
-
-void WebNetscapePluginStream::didFinishLoading(NetscapePlugInStreamLoader*)
-{
- if (!m_stream.ndata)
- return;
-
- if (m_transferMode == NP_ASFILE || m_transferMode == NP_ASFILEONLY) {
- // Fake the delivery of an empty data to ensure that the file has been created
- deliverDataToFile([NSData data]);
- if (m_fileDescriptor != -1)
- close(m_fileDescriptor);
- m_fileDescriptor = -1;
- }
-
- destroyStreamWithReason(NPRES_DONE);
-}
-
-void WebNetscapePluginStream::didReceiveData(NetscapePlugInStreamLoader*, const char* bytes, int length)
-{
- NSData *data = [[NSData alloc] initWithBytesNoCopy:(void*)bytes length:length freeWhenDone:NO];
-
- ASSERT([data length] > 0);
-
- if (m_transferMode != NP_ASFILEONLY) {
- if (!m_deliveryData)
- m_deliveryData = adoptNS([[NSMutableData alloc] initWithCapacity:[data length]]);
- [m_deliveryData.get() appendData:data];
- deliverData();
- }
- if (m_transferMode == NP_ASFILE || m_transferMode == NP_ASFILEONLY)
- deliverDataToFile(data);
-
- [data release];
-}
-
-#endif
diff --git a/Source/WebKit/mac/Plugins/WebNetscapePluginView.h b/Source/WebKit/mac/Plugins/WebNetscapePluginView.h
deleted file mode 100644
index 6af3f25a7..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapePluginView.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (C) 2005, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-#import "WebBaseNetscapePluginView.h"
-
-#import "WebNetscapeContainerCheckPrivate.h"
-#import <WebKit/npfunctions.h>
-#import <WebKit/npapi.h>
-#import <wtf/HashMap.h>
-#import <wtf/HashSet.h>
-#import <wtf/OwnPtr.h>
-
-@class WebDataSource;
-@class WebFrame;
-@class WebNetscapePluginPackage;
-@class WebView;
-
-class PluginTimer;
-class WebNetscapePluginStream;
-class WebNetscapePluginEventHandler;
-
-typedef union PluginPort {
-#ifndef NP_NO_QUICKDRAW
- NP_Port qdPort;
-#endif
- NP_CGContext cgPort;
-} PluginPort;
-
-// Because the Adobe 7.x Acrobat plug-in has a hard coded check for a view named
-// "WebNetscapePluginDocumentView", this class must retain the old name in order
-// for the plug-in to function correctly. (rdar://problem/4699455)
-#define WebNetscapePluginView WebNetscapePluginDocumentView
-
-@interface WebNetscapePluginView : WebBaseNetscapePluginView<WebPluginManualLoader, WebPluginContainerCheckController>
-{
- RefPtr<WebNetscapePluginStream> _manualStream;
- RetainPtr<CALayer> _pluginLayer;
- unsigned _dataLengthReceived;
- RetainPtr<NSError> _error;
-
- unsigned argsCount;
- char **cAttributes;
- char **cValues;
-
- NPP plugin;
- NPWindow window;
- NPWindow lastSetWindow;
- PluginPort nPort;
- PluginPort lastSetPort;
- NPDrawingModel drawingModel;
- NPEventModel eventModel;
-
-#ifndef NP_NO_QUICKDRAW
- // This is only valid when drawingModel is NPDrawingModelQuickDraw
- GWorldPtr offscreenGWorld;
-#endif
-
- OwnPtr<WebNetscapePluginEventHandler> _eventHandler;
-
- BOOL inSetWindow;
- BOOL shouldStopSoon;
-
- uint32_t currentTimerID;
- HashMap<uint32_t, PluginTimer*>* timers;
-
- unsigned pluginFunctionCallDepth;
-
- int32_t specifiedHeight;
- int32_t specifiedWidth;
-
- HashSet<RefPtr<WebNetscapePluginStream> > streams;
- RetainPtr<NSMapTable> _pendingFrameLoads;
-
- BOOL _isFlash;
- BOOL _isSilverlight;
-
- NSMutableDictionary *_containerChecksInProgress;
- uint32_t _currentContainerCheckRequestID;
-}
-
-+ (WebNetscapePluginView *)currentPluginView;
-
-
-- (id)initWithFrame:(NSRect)r
- pluginPackage:(WebNetscapePluginPackage *)thePluginPackage
- URL:(NSURL *)URL
- baseURL:(NSURL *)baseURL
- MIMEType:(NSString *)MIME
- attributeKeys:(NSArray *)keys
- attributeValues:(NSArray *)values
- loadManually:(BOOL)loadManually
- element:(PassRefPtr<WebCore::HTMLPlugInElement>)element;
-
-
-- (NPP)plugin;
-
-- (void)disconnectStream:(WebNetscapePluginStream*)stream;
-
-// Returns the NPObject that represents the plugin interface.
-// The return value is expected to be retained.
-- (NPObject *)createPluginScriptableObject;
-
-// Returns the form value associated with the plugin instance.
-- (BOOL)getFormValue:(NSString **)value;
-
-// -willCallPlugInFunction must be called before calling any of the NPP_* functions for this view's plugin.
-// This is necessary to ensure that plug-ins are not destroyed while WebKit calls into them. Some plug-ins (Flash
-// at least) are written with the assumption that nothing they do in their plug-in functions can cause NPP_Destroy()
-// to be called. Unfortunately, this is not true, especially if the plug-in uses NPN_Invoke() to execute a
-// document.write(), which clears the document and destroys the plug-in.
-// See <rdar://problem/4480737>.
-- (void)willCallPlugInFunction;
-
-// -didCallPlugInFunction should be called after returning from a plug-in function. It should be called exactly
-// once for every call to -willCallPlugInFunction.
-// See <rdar://problem/4480737>.
-- (void)didCallPlugInFunction;
-
-- (void)handleMouseMoved:(NSEvent *)event;
-- (void)handleMouseEntered:(NSEvent *)event;
-- (void)handleMouseExited:(NSEvent *)event;
-
-- (uint32_t)checkIfAllowedToLoadURL:(const char*)urlCString frame:(const char*)frameNameCString callbackFunc:(void (*)(NPP npp, uint32_t checkID, NPBool allowed, void* context))callbackFunc context:(void*)context;
-- (void)cancelCheckIfAllowedToLoadURL:(uint32_t)checkID;
-
-@end
-
-@interface WebNetscapePluginView (WebInternal)
-- (BOOL)sendEvent:(void*)event isDrawRect:(BOOL)eventIsDrawRect;
-- (NPEventModel)eventModel;
-- (CALayer *)pluginLayer;
-- (NPError)loadRequest:(NSURLRequest *)request inTarget:(NSString *)target withNotifyData:(void *)notifyData sendNotification:(BOOL)sendNotification;
-- (NPError)getURLNotify:(const char *)URL target:(const char *)target notifyData:(void *)notifyData;
-- (NPError)getURL:(const char *)URL target:(const char *)target;
-- (NPError)postURLNotify:(const char *)URL target:(const char *)target len:(UInt32)len buf:(const char *)buf file:(NPBool)file notifyData:(void *)notifyData;
-- (NPError)postURL:(const char *)URL target:(const char *)target len:(UInt32)len buf:(const char *)buf file:(NPBool)file;
-- (NPError)newStream:(NPMIMEType)type target:(const char *)target stream:(NPStream**)stream;
-- (NPError)write:(NPStream*)stream len:(SInt32)len buffer:(void *)buffer;
-- (NPError)destroyStream:(NPStream*)stream reason:(NPReason)reason;
-- (void)status:(const char *)message;
-- (const char *)userAgent;
-- (void)invalidateRect:(NPRect *)invalidRect;
-- (void)invalidateRegion:(NPRegion)invalidateRegion;
-- (void)forceRedraw;
-- (NPError)getVariable:(NPNVariable)variable value:(void *)value;
-- (NPError)setVariable:(NPPVariable)variable value:(void *)value;
-- (uint32_t)scheduleTimerWithInterval:(uint32_t)interval repeat:(NPBool)repeat timerFunc:(void (*)(NPP npp, uint32_t timerID))timerFunc;
-- (void)unscheduleTimer:(uint32_t)timerID;
-- (NPError)popUpContextMenu:(NPMenu *)menu;
-- (NPError)getVariable:(NPNURLVariable)variable forURL:(const char*)url value:(char**)value length:(uint32_t*)length;
-- (NPError)setVariable:(NPNURLVariable)variable forURL:(const char*)url value:(const char*)value length:(uint32_t)length;
-- (NPError)getAuthenticationInfoWithProtocol:(const char*) protocol host:(const char*)host port:(int32_t)port scheme:(const char*)scheme realm:(const char*)realm
- username:(char**)username usernameLength:(uint32_t*)usernameLength
- password:(char**)password passwordLength:(uint32_t*)passwordLength;
-- (char*)resolveURL:(const char*)url forTarget:(const char*)target;
-@end
-
-WKNBrowserContainerCheckFuncs *browserContainerCheckFuncs();
-
-#endif
-
diff --git a/Source/WebKit/mac/Plugins/WebNetscapePluginView.mm b/Source/WebKit/mac/Plugins/WebNetscapePluginView.mm
deleted file mode 100644
index 89e8cd04b..000000000
--- a/Source/WebKit/mac/Plugins/WebNetscapePluginView.mm
+++ /dev/null
@@ -1,2499 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-#import "WebNetscapePluginView.h"
-
-#import "QuickDrawCompatibility.h"
-#import "WebDataSourceInternal.h"
-#import "WebDefaultUIDelegate.h"
-#import "WebFrameInternal.h"
-#import "WebFrameView.h"
-#import "WebKitErrorsPrivate.h"
-#import "WebKitLogging.h"
-#import "WebKitNSStringExtras.h"
-#import "WebKitSystemInterface.h"
-#import "WebNSDataExtras.h"
-#import "WebNSDictionaryExtras.h"
-#import "WebNSObjectExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebNSURLRequestExtras.h"
-#import "WebNSViewExtras.h"
-#import "WebNetscapeContainerCheckContextInfo.h"
-#import "WebNetscapeContainerCheckPrivate.h"
-#import "WebNetscapePluginEventHandler.h"
-#import "WebNetscapePluginPackage.h"
-#import "WebNetscapePluginStream.h"
-#import "WebPluginContainerCheck.h"
-#import "WebPluginRequest.h"
-#import "WebPreferences.h"
-#import "WebUIDelegatePrivate.h"
-#import "WebViewInternal.h"
-#import <Carbon/Carbon.h>
-#import <WebCore/CookieJar.h>
-#import <WebCore/DocumentLoader.h>
-#import <WebCore/Element.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/FrameTree.h>
-#import <WebCore/FrameView.h>
-#import <WebCore/HTMLPlugInElement.h>
-#import <WebCore/Page.h>
-#import <WebCore/PluginMainThreadScheduler.h>
-#import <WebCore/ProxyServer.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/ScriptController.h>
-#import <WebCore/SecurityOrigin.h>
-#import <WebCore/SoftLinking.h>
-#import <WebCore/UserGestureIndicator.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <WebCore/WebCoreURLResponse.h>
-#import <WebCore/npruntime_impl.h>
-#import <WebKit/DOMPrivate.h>
-#import <WebKit/WebUIDelegate.h>
-#import <objc/runtime.h>
-#import <runtime/InitializeThreading.h>
-#import <runtime/JSLock.h>
-#import <wtf/Assertions.h>
-#import <wtf/MainThread.h>
-#import <wtf/text/CString.h>
-
-#define LoginWindowDidSwitchFromUserNotification @"WebLoginWindowDidSwitchFromUserNotification"
-#define LoginWindowDidSwitchToUserNotification @"WebLoginWindowDidSwitchToUserNotification"
-#define WKNVSupportsCompositingCoreAnimationPluginsBool 74656 /* TRUE if the browser supports hardware compositing of Core Animation plug-ins */
-static const int WKNVSilverlightFullscreenPerformanceIssueFixed = 7288546; /* TRUE if Siverlight addressed its underlying bug in <rdar://problem/7288546> */
-
-using namespace WebCore;
-using namespace WebKit;
-
-static inline bool isDrawingModelQuickDraw(NPDrawingModel drawingModel)
-{
-#ifndef NP_NO_QUICKDRAW
- return drawingModel == NPDrawingModelQuickDraw;
-#else
- return false;
-#endif
-};
-
-@interface WebNetscapePluginView (Internal)
-- (NPError)_createPlugin;
-- (void)_destroyPlugin;
-- (NSBitmapImageRep *)_printedPluginBitmap;
-- (void)_redeliverStream;
-- (BOOL)_shouldCancelSrcStream;
-@end
-
-static WebNetscapePluginView *currentPluginView = nil;
-
-typedef struct OpaquePortState* PortState;
-
-static const double ThrottledTimerInterval = 0.25;
-
-class PluginTimer : public TimerBase {
-public:
- typedef void (*TimerFunc)(NPP npp, uint32_t timerID);
-
- PluginTimer(NPP npp, uint32_t timerID, uint32_t interval, NPBool repeat, TimerFunc timerFunc)
- : m_npp(npp)
- , m_timerID(timerID)
- , m_interval(interval)
- , m_repeat(repeat)
- , m_timerFunc(timerFunc)
- {
- }
-
- void start(bool throttle)
- {
- ASSERT(!isActive());
-
- double timeInterval = m_interval / 1000.0;
-
- if (throttle)
- timeInterval = std::max(timeInterval, ThrottledTimerInterval);
-
- if (m_repeat)
- startRepeating(timeInterval);
- else
- startOneShot(timeInterval);
- }
-
-private:
- virtual void fired()
- {
- m_timerFunc(m_npp, m_timerID);
- if (!m_repeat)
- delete this;
- }
-
- NPP m_npp;
- uint32_t m_timerID;
- uint32_t m_interval;
- NPBool m_repeat;
- TimerFunc m_timerFunc;
-};
-
-#ifndef NP_NO_QUICKDRAW
-
-// QuickDraw is not available in 64-bit
-
-typedef struct {
- GrafPtr oldPort;
- GDHandle oldDevice;
- Point oldOrigin;
- RgnHandle oldClipRegion;
- RgnHandle oldVisibleRegion;
- RgnHandle clipRegion;
- BOOL forUpdate;
-} PortState_QD;
-
-#endif /* NP_NO_QUICKDRAW */
-
-typedef struct {
- CGContextRef context;
-} PortState_CG;
-
-@class NSTextInputContext;
-@interface NSResponder (AppKitDetails)
-- (NSTextInputContext *)inputContext;
-@end
-
-@interface WebNetscapePluginView (ForwardDeclarations)
-- (void)setWindowIfNecessary;
-- (NPError)loadRequest:(NSMutableURLRequest *)request inTarget:(const char *)cTarget withNotifyData:(void *)notifyData sendNotification:(BOOL)sendNotification;
-@end
-
-@implementation WebNetscapePluginView
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
- WKSendUserChangeNotifications();
-}
-
-// MARK: EVENTS
-
-// The WindowRef created by -[NSWindow windowRef] has a QuickDraw GrafPort that covers
-// the entire window frame (or structure region to use the Carbon term) rather then just the window content.
-// We can remove this when <rdar://problem/4201099> is fixed.
-- (void)fixWindowPort
-{
-#ifndef NP_NO_QUICKDRAW
- ASSERT(isDrawingModelQuickDraw(drawingModel));
-
- NSWindow *currentWindow = [self currentWindow];
- if ([currentWindow isKindOfClass:objc_getClass("NSCarbonWindow")])
- return;
-
- float windowHeight = [currentWindow frame].size.height;
- NSView *contentView = [currentWindow contentView];
- NSRect contentRect = [contentView convertRect:[contentView frame] toView:nil]; // convert to window-relative coordinates
-
- CGrafPtr oldPort;
- GetPort(&oldPort);
- SetPort(GetWindowPort((WindowRef)[currentWindow windowRef]));
-
- MovePortTo(static_cast<short>(contentRect.origin.x), /* Flip Y */ static_cast<short>(windowHeight - NSMaxY(contentRect)));
- PortSize(static_cast<short>(contentRect.size.width), static_cast<short>(contentRect.size.height));
-
- SetPort(oldPort);
-#endif
-}
-
-#ifndef NP_NO_QUICKDRAW
-static UInt32 getQDPixelFormatForBitmapContext(CGContextRef context)
-{
- UInt32 byteOrder = CGBitmapContextGetBitmapInfo(context) & kCGBitmapByteOrderMask;
- if (byteOrder == kCGBitmapByteOrderDefault)
- switch (CGBitmapContextGetBitsPerPixel(context)) {
- case 16:
- byteOrder = kCGBitmapByteOrder16Host;
- break;
- case 32:
- byteOrder = kCGBitmapByteOrder32Host;
- break;
- }
- switch (byteOrder) {
- case kCGBitmapByteOrder16Little:
- return k16LE555PixelFormat;
- case kCGBitmapByteOrder32Little:
- return k32BGRAPixelFormat;
- case kCGBitmapByteOrder16Big:
- return k16BE555PixelFormat;
- case kCGBitmapByteOrder32Big:
- return k32ARGBPixelFormat;
- }
- ASSERT_NOT_REACHED();
- return 0;
-}
-
-static inline void getNPRect(const CGRect& cgr, NPRect& npr)
-{
- npr.top = static_cast<uint16_t>(cgr.origin.y);
- npr.left = static_cast<uint16_t>(cgr.origin.x);
- npr.bottom = static_cast<uint16_t>(CGRectGetMaxY(cgr));
- npr.right = static_cast<uint16_t>(CGRectGetMaxX(cgr));
-}
-
-#endif
-
-static inline void getNPRect(const NSRect& nr, NPRect& npr)
-{
- npr.top = static_cast<uint16_t>(nr.origin.y);
- npr.left = static_cast<uint16_t>(nr.origin.x);
- npr.bottom = static_cast<uint16_t>(NSMaxY(nr));
- npr.right = static_cast<uint16_t>(NSMaxX(nr));
-}
-
-- (PortState)saveAndSetNewPortStateForUpdate:(BOOL)forUpdate
-{
- ASSERT([self currentWindow] != nil);
-
- // The base coordinates of a window and it's contentView happen to be the equal at a userSpaceScaleFactor
- // of 1. For non-1.0 scale factors this assumption is false.
- NSView *windowContentView = [[self window] contentView];
- NSRect boundsInWindow = [self convertRect:[self bounds] toView:windowContentView];
- NSRect visibleRectInWindow = [self actualVisibleRectInWindow];
-
- // Flip Y to convert -[NSWindow contentView] coordinates to top-left-based window coordinates.
- float borderViewHeight = [[self currentWindow] frame].size.height;
- boundsInWindow.origin.y = borderViewHeight - NSMaxY(boundsInWindow);
- visibleRectInWindow.origin.y = borderViewHeight - NSMaxY(visibleRectInWindow);
-
-#ifndef NP_NO_QUICKDRAW
- WindowRef windowRef = (WindowRef)[[self currentWindow] windowRef];
- ASSERT(windowRef);
-
- // Look at the Carbon port to convert top-left-based window coordinates into top-left-based content coordinates.
- if (isDrawingModelQuickDraw(drawingModel)) {
- // If drawing with QuickDraw, fix the window port so that it has the same bounds as the NSWindow's
- // content view. This makes it easier to convert between AppKit view and QuickDraw port coordinates.
- [self fixWindowPort];
-
- ::Rect portBounds;
- CGrafPtr port = GetWindowPort(windowRef);
- GetPortBounds(port, &portBounds);
-
- PixMap *pix = *GetPortPixMap(port);
- boundsInWindow.origin.x += pix->bounds.left - portBounds.left;
- boundsInWindow.origin.y += pix->bounds.top - portBounds.top;
- visibleRectInWindow.origin.x += pix->bounds.left - portBounds.left;
- visibleRectInWindow.origin.y += pix->bounds.top - portBounds.top;
- }
-#endif
-
- window.type = NPWindowTypeWindow;
- window.x = (int32_t)boundsInWindow.origin.x;
- window.y = (int32_t)boundsInWindow.origin.y;
- window.width = static_cast<uint32_t>(NSWidth(boundsInWindow));
- window.height = static_cast<uint32_t>(NSHeight(boundsInWindow));
-
- // "Clip-out" the plug-in when:
- // 1) it's not really in a window or off-screen or has no height or width.
- // 2) window.x is a "big negative number" which is how WebCore expresses off-screen widgets.
- // 3) the window is miniaturized or the app is hidden
- // 4) we're inside of viewWillMoveToWindow: with a nil window. In this case, superviews may already have nil
- // superviews and nil windows and results from convertRect:toView: are incorrect.
- if (window.width <= 0 || window.height <= 0 || window.x < -100000 || [self shouldClipOutPlugin]) {
-
- // The following code tries to give plug-ins the same size they will eventually have.
- // The specifiedWidth and specifiedHeight variables are used to predict the size that
- // WebCore will eventually resize us to.
-
- // The QuickTime plug-in has problems if you give it a width or height of 0.
- // Since other plug-ins also might have the same sort of trouble, we make sure
- // to always give plug-ins a size other than 0,0.
-
- if (window.width <= 0)
- window.width = specifiedWidth > 0 ? specifiedWidth : 100;
- if (window.height <= 0)
- window.height = specifiedHeight > 0 ? specifiedHeight : 100;
-
- window.clipRect.bottom = window.clipRect.top;
- window.clipRect.left = window.clipRect.right;
-
- // Core Animation plug-ins need to be updated (with a 0,0,0,0 clipRect) when
- // moved to a background tab. We don't do this for Core Graphics plug-ins as
- // older versions of Flash have historical WebKit-specific code that isn't
- // compatible with this behavior.
- if (drawingModel == NPDrawingModelCoreAnimation)
- getNPRect(NSZeroRect, window.clipRect);
- } else {
- getNPRect(visibleRectInWindow, window.clipRect);
- }
-
- // Save the port state, set up the port for entry into the plugin
- PortState portState;
- switch (drawingModel) {
-#ifndef NP_NO_QUICKDRAW
- case NPDrawingModelQuickDraw: {
- // Set up NS_Port.
- ::Rect portBounds;
- CGrafPtr port = GetWindowPort(windowRef);
- GetPortBounds(port, &portBounds);
- nPort.qdPort.port = port;
- nPort.qdPort.portx = (int32_t)-boundsInWindow.origin.x;
- nPort.qdPort.porty = (int32_t)-boundsInWindow.origin.y;
- window.window = &nPort;
-
- PortState_QD *qdPortState = (PortState_QD*)malloc(sizeof(PortState_QD));
- portState = (PortState)qdPortState;
-
- GetGWorld(&qdPortState->oldPort, &qdPortState->oldDevice);
-
- qdPortState->oldOrigin.h = portBounds.left;
- qdPortState->oldOrigin.v = portBounds.top;
-
- qdPortState->oldClipRegion = NewRgn();
- GetPortClipRegion(port, qdPortState->oldClipRegion);
-
- qdPortState->oldVisibleRegion = NewRgn();
- GetPortVisibleRegion(port, qdPortState->oldVisibleRegion);
-
- RgnHandle clipRegion = NewRgn();
- qdPortState->clipRegion = clipRegion;
-
- CGContextRef currentContext = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort];
- if (currentContext && WKCGContextIsBitmapContext(currentContext)) {
- // We use WKCGContextIsBitmapContext here, because if we just called CGBitmapContextGetData
- // on any context, we'd log to the console every time. But even if WKCGContextIsBitmapContext
- // returns true, it still might not be a context we need to create a GWorld for; for example
- // transparency layers will return true, but return 0 for CGBitmapContextGetData.
- void* offscreenData = CGBitmapContextGetData(currentContext);
- if (offscreenData) {
- // If the current context is an offscreen bitmap, then create a GWorld for it.
- ::Rect offscreenBounds;
- offscreenBounds.top = 0;
- offscreenBounds.left = 0;
- offscreenBounds.right = CGBitmapContextGetWidth(currentContext);
- offscreenBounds.bottom = CGBitmapContextGetHeight(currentContext);
- GWorldPtr newOffscreenGWorld;
- QDErr err = NewGWorldFromPtr(&newOffscreenGWorld,
- getQDPixelFormatForBitmapContext(currentContext), &offscreenBounds, 0, 0, 0,
- static_cast<char*>(offscreenData), CGBitmapContextGetBytesPerRow(currentContext));
- ASSERT(newOffscreenGWorld);
- ASSERT(!err);
- if (!err) {
- if (offscreenGWorld)
- DisposeGWorld(offscreenGWorld);
- offscreenGWorld = newOffscreenGWorld;
-
- SetGWorld(offscreenGWorld, NULL);
-
- port = offscreenGWorld;
-
- nPort.qdPort.port = port;
- boundsInWindow = [self bounds];
-
- // Generate a QD origin based on the current affine transform for currentContext.
- CGAffineTransform offscreenMatrix = CGContextGetCTM(currentContext);
- CGPoint origin = {0,0};
- CGPoint axisFlip = {1,1};
- origin = CGPointApplyAffineTransform(origin, offscreenMatrix);
- axisFlip = CGPointApplyAffineTransform(axisFlip, offscreenMatrix);
-
- // Quartz bitmaps have origins at the bottom left, but the axes may be inverted, so handle that.
- origin.x = offscreenBounds.left - origin.x * (axisFlip.x - origin.x);
- origin.y = offscreenBounds.bottom + origin.y * (axisFlip.y - origin.y);
-
- nPort.qdPort.portx = static_cast<int32_t>(-boundsInWindow.origin.x + origin.x);
- nPort.qdPort.porty = static_cast<int32_t>(-boundsInWindow.origin.y - origin.y);
- window.x = 0;
- window.y = 0;
- window.window = &nPort;
-
- // Use the clip bounds from the context instead of the bounds we created
- // from the window above.
- getNPRect(CGRectOffset(CGContextGetClipBoundingBox(currentContext), -origin.x, origin.y), window.clipRect);
- }
- }
- }
-
- MacSetRectRgn(clipRegion,
- window.clipRect.left + nPort.qdPort.portx, window.clipRect.top + nPort.qdPort.porty,
- window.clipRect.right + nPort.qdPort.portx, window.clipRect.bottom + nPort.qdPort.porty);
-
- // Clip to the dirty region if drawing to a window. When drawing to another bitmap context, do not clip.
- if ([NSGraphicsContext currentContext] == [[self currentWindow] graphicsContext]) {
- // Clip to dirty region so plug-in does not draw over already-drawn regions of the window that are
- // not going to be redrawn this update. This forces plug-ins to play nice with z-index ordering.
- if (forUpdate) {
- RgnHandle viewClipRegion = NewRgn();
-
- // Get list of dirty rects from the opaque ancestor -- WebKit does some tricks with invalidation and
- // display to enable z-ordering for NSViews; a side-effect of this is that only the WebHTMLView
- // knows about the true set of dirty rects.
- NSView *opaqueAncestor = [self opaqueAncestor];
- const NSRect *dirtyRects;
- NSInteger dirtyRectCount, dirtyRectIndex;
- [opaqueAncestor getRectsBeingDrawn:&dirtyRects count:&dirtyRectCount];
-
- for (dirtyRectIndex = 0; dirtyRectIndex < dirtyRectCount; dirtyRectIndex++) {
- NSRect dirtyRect = [self convertRect:dirtyRects[dirtyRectIndex] fromView:opaqueAncestor];
- if (!NSEqualSizes(dirtyRect.size, NSZeroSize)) {
- // Create a region for this dirty rect
- RgnHandle dirtyRectRegion = NewRgn();
- SetRectRgn(dirtyRectRegion, static_cast<short>(NSMinX(dirtyRect)), static_cast<short>(NSMinY(dirtyRect)), static_cast<short>(NSMaxX(dirtyRect)), static_cast<short>(NSMaxY(dirtyRect)));
-
- // Union this dirty rect with the rest of the dirty rects
- UnionRgn(viewClipRegion, dirtyRectRegion, viewClipRegion);
- DisposeRgn(dirtyRectRegion);
- }
- }
-
- // Intersect the dirty region with the clip region, so that we only draw over dirty parts
- SectRgn(clipRegion, viewClipRegion, clipRegion);
- DisposeRgn(viewClipRegion);
- }
- }
-
- // Switch to the port and set it up.
- SetPort(port);
- PenNormal();
- ForeColor(blackColor);
- BackColor(whiteColor);
- SetOrigin(nPort.qdPort.portx, nPort.qdPort.porty);
- SetPortClipRegion(nPort.qdPort.port, clipRegion);
-
- if (forUpdate) {
- // AppKit may have tried to help us by doing a BeginUpdate.
- // But the invalid region at that level didn't include AppKit's notion of what was not valid.
- // We reset the port's visible region to counteract what BeginUpdate did.
- SetPortVisibleRegion(nPort.qdPort.port, clipRegion);
- InvalWindowRgn(windowRef, clipRegion);
- }
-
- qdPortState->forUpdate = forUpdate;
- break;
- }
-#endif /* NP_NO_QUICKDRAW */
-
- case NPDrawingModelCoreGraphics: {
- if (![self canDraw]) {
- portState = NULL;
- break;
- }
-
- ASSERT([NSView focusView] == self);
-
- CGContextRef context = static_cast<CGContextRef>([[NSGraphicsContext currentContext] graphicsPort]);
-
- PortState_CG *cgPortState = (PortState_CG *)malloc(sizeof(PortState_CG));
- portState = (PortState)cgPortState;
- cgPortState->context = context;
-
-#ifndef NP_NO_CARBON
- if (eventModel != NPEventModelCocoa) {
- // Update the plugin's window/context
- nPort.cgPort.window = windowRef;
- nPort.cgPort.context = context;
- window.window = &nPort.cgPort;
- }
-#endif /* NP_NO_CARBON */
-
- // Save current graphics context's state; will be restored by -restorePortState:
- CGContextSaveGState(context);
-
- // Clip to the dirty region if drawing to a window. When drawing to another bitmap context, do not clip.
- if ([NSGraphicsContext currentContext] == [[self currentWindow] graphicsContext]) {
- // Get list of dirty rects from the opaque ancestor -- WebKit does some tricks with invalidation and
- // display to enable z-ordering for NSViews; a side-effect of this is that only the WebHTMLView
- // knows about the true set of dirty rects.
- NSView *opaqueAncestor = [self opaqueAncestor];
- const NSRect *dirtyRects;
- NSInteger count;
- [opaqueAncestor getRectsBeingDrawn:&dirtyRects count:&count];
- Vector<CGRect, 16> convertedDirtyRects;
- convertedDirtyRects.resize(count);
- for (int i = 0; i < count; ++i)
- reinterpret_cast<NSRect&>(convertedDirtyRects[i]) = [self convertRect:dirtyRects[i] fromView:opaqueAncestor];
- CGContextClipToRects(context, convertedDirtyRects.data(), count);
- }
-
- break;
- }
-
- case NPDrawingModelCoreAnimation:
- // Just set the port state to a dummy value.
- portState = (PortState)1;
- break;
-
- default:
- ASSERT_NOT_REACHED();
- portState = NULL;
- break;
- }
-
- return portState;
-}
-
-- (PortState)saveAndSetNewPortState
-{
- return [self saveAndSetNewPortStateForUpdate:NO];
-}
-
-- (void)restorePortState:(PortState)portState
-{
- ASSERT([self currentWindow]);
- ASSERT(portState);
-
- switch (drawingModel) {
-#ifndef NP_NO_QUICKDRAW
- case NPDrawingModelQuickDraw: {
- PortState_QD *qdPortState = (PortState_QD *)portState;
- WindowRef windowRef = (WindowRef)[[self currentWindow] windowRef];
- CGrafPtr port = GetWindowPort(windowRef);
-
- SetPort(port);
-
- if (qdPortState->forUpdate)
- ValidWindowRgn(windowRef, qdPortState->clipRegion);
-
- SetOrigin(qdPortState->oldOrigin.h, qdPortState->oldOrigin.v);
-
- SetPortClipRegion(port, qdPortState->oldClipRegion);
- if (qdPortState->forUpdate)
- SetPortVisibleRegion(port, qdPortState->oldVisibleRegion);
-
- DisposeRgn(qdPortState->oldClipRegion);
- DisposeRgn(qdPortState->oldVisibleRegion);
- DisposeRgn(qdPortState->clipRegion);
-
- SetGWorld(qdPortState->oldPort, qdPortState->oldDevice);
- break;
- }
-#endif /* NP_NO_QUICKDRAW */
-
- case NPDrawingModelCoreGraphics: {
- ASSERT([NSView focusView] == self);
-
- CGContextRef context = ((PortState_CG *)portState)->context;
- ASSERT(!nPort.cgPort.context || (context == nPort.cgPort.context));
- CGContextRestoreGState(context);
- break;
- }
-
- case NPDrawingModelCoreAnimation:
- ASSERT(portState == (PortState)1);
- break;
- default:
- ASSERT_NOT_REACHED();
- break;
- }
-}
-
-- (BOOL)sendEvent:(void*)event isDrawRect:(BOOL)eventIsDrawRect
-{
- if (![self window])
- return NO;
- ASSERT(event);
-
- if (!_isStarted)
- return NO;
-
- ASSERT([_pluginPackage.get() pluginFuncs]->event);
-
- // Make sure we don't call NPP_HandleEvent while we're inside NPP_SetWindow.
- // We probably don't want more general reentrancy protection; we are really
- // protecting only against this one case, which actually comes up when
- // you first install the SVG viewer plug-in.
- if (inSetWindow)
- return NO;
-
- Frame* frame = core([self webFrame]);
- if (!frame)
- return NO;
- Page* page = frame->page();
- if (!page)
- return NO;
-
- // Can only send drawRect (updateEvt) to CoreGraphics plugins when actually drawing
- ASSERT((drawingModel != NPDrawingModelCoreGraphics) || !eventIsDrawRect || [NSView focusView] == self);
-
- PortState portState = NULL;
-
- if (isDrawingModelQuickDraw(drawingModel) || (drawingModel != NPDrawingModelCoreAnimation && eventIsDrawRect)) {
- // In CoreGraphics mode, the port state only needs to be saved/set when redrawing the plug-in view.
- // The plug-in is not allowed to draw at any other time.
- portState = [self saveAndSetNewPortStateForUpdate:eventIsDrawRect];
- // We may have changed the window, so inform the plug-in.
- [self setWindowIfNecessary];
- }
-
-#if !defined(NDEBUG) && !defined(NP_NO_QUICKDRAW)
- // Draw green to help debug.
- // If we see any green we know something's wrong.
- // Note that PaintRect() only works for QuickDraw plugins; otherwise the current QD port is undefined.
- if (isDrawingModelQuickDraw(drawingModel) && eventIsDrawRect) {
- ForeColor(greenColor);
- const ::Rect bigRect = { -10000, -10000, 10000, 10000 };
- PaintRect(&bigRect);
- ForeColor(blackColor);
- }
-#endif
-
- // Temporarily retain self in case the plug-in view is released while sending an event.
- [[self retain] autorelease];
-
- BOOL acceptedEvent;
- [self willCallPlugInFunction];
- // Set the pluginAllowPopup flag.
- ASSERT(_eventHandler);
- {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- UserGestureIndicator gestureIndicator(_eventHandler->currentEventIsUserGesture() ? DefinitelyProcessingUserGesture : PossiblyProcessingUserGesture);
- acceptedEvent = [_pluginPackage.get() pluginFuncs]->event(plugin, event);
- }
- [self didCallPlugInFunction];
-
- if (portState) {
- if ([self currentWindow])
- [self restorePortState:portState];
- if (portState != (PortState)1)
- free(portState);
- }
-
- return acceptedEvent;
-}
-
-- (void)windowFocusChanged:(BOOL)hasFocus
-{
- _eventHandler->windowFocusChanged(hasFocus);
-}
-
-- (void)sendDrawRectEvent:(NSRect)rect
-{
- ASSERT(_eventHandler);
-
- CGContextRef context = static_cast<CGContextRef>([[NSGraphicsContext currentContext] graphicsPort]);
- _eventHandler->drawRect(context, rect);
-}
-
-- (void)stopTimers
-{
- [super stopTimers];
-
- if (_eventHandler)
- _eventHandler->stopTimers();
-
- if (!timers)
- return;
-
- HashMap<uint32_t, PluginTimer*>::const_iterator end = timers->end();
- for (HashMap<uint32_t, PluginTimer*>::const_iterator it = timers->begin(); it != end; ++it) {
- PluginTimer* timer = it->value;
- timer->stop();
- }
-}
-
-- (void)startTimers
-{
- [super startTimers];
-
- // If the plugin is completely obscured (scrolled out of view, for example), then we will
- // send null events at a reduced rate.
- _eventHandler->startTimers(_isCompletelyObscured);
-
- if (!timers)
- return;
-
- HashMap<uint32_t, PluginTimer*>::const_iterator end = timers->end();
- for (HashMap<uint32_t, PluginTimer*>::const_iterator it = timers->begin(); it != end; ++it) {
- PluginTimer* timer = it->value;
- ASSERT(!timer->isActive());
- timer->start(_isCompletelyObscured);
- }
-}
-
-- (void)focusChanged
-{
- // We need to null check the event handler here because
- // the plug-in view can resign focus after it's been stopped
- // and the event handler has been deleted.
- if (_eventHandler)
- _eventHandler->focusChanged(_hasFocus);
-}
-
-- (void)mouseDown:(NSEvent *)theEvent
-{
- if (!_isStarted)
- return;
-
- _eventHandler->mouseDown(theEvent);
-}
-
-- (void)mouseUp:(NSEvent *)theEvent
-{
- if (!_isStarted)
- return;
-
- _eventHandler->mouseUp(theEvent);
-}
-
-- (void)handleMouseEntered:(NSEvent *)theEvent
-{
- if (!_isStarted)
- return;
-
- // Set cursor to arrow. Plugins often handle cursor internally, but those that don't will just get this default one.
- [[NSCursor arrowCursor] set];
-
- _eventHandler->mouseEntered(theEvent);
-}
-
-- (void)handleMouseExited:(NSEvent *)theEvent
-{
- if (!_isStarted)
- return;
-
- _eventHandler->mouseExited(theEvent);
-
- // Set cursor back to arrow cursor. Because NSCursor doesn't know about changes that the plugin made, we could get confused about what we think the
- // current cursor is otherwise. Therefore we have no choice but to unconditionally reset the cursor when the mouse exits the plugin.
- [[NSCursor arrowCursor] set];
-}
-
-- (void)handleMouseMoved:(NSEvent *)theEvent
-{
- if (!_isStarted)
- return;
-
- _eventHandler->mouseMoved(theEvent);
-}
-
-- (void)mouseDragged:(NSEvent *)theEvent
-{
- if (!_isStarted)
- return;
-
- _eventHandler->mouseDragged(theEvent);
-}
-
-- (void)scrollWheel:(NSEvent *)theEvent
-{
- if (!_isStarted) {
- [super scrollWheel:theEvent];
- return;
- }
-
- if (!_eventHandler->scrollWheel(theEvent))
- [super scrollWheel:theEvent];
-}
-
-- (void)keyUp:(NSEvent *)theEvent
-{
- if (!_isStarted)
- return;
-
- _eventHandler->keyUp(theEvent);
-}
-
-- (void)keyDown:(NSEvent *)theEvent
-{
- if (!_isStarted)
- return;
-
- _eventHandler->keyDown(theEvent);
-}
-
-- (void)flagsChanged:(NSEvent *)theEvent
-{
- if (!_isStarted)
- return;
-
- _eventHandler->flagsChanged(theEvent);
-}
-
-- (void)sendModifierEventWithKeyCode:(int)keyCode character:(char)character
-{
- if (!_isStarted)
- return;
-
- _eventHandler->syntheticKeyDownWithCommandModifier(keyCode, character);
-}
-
-- (void)privateBrowsingModeDidChange
-{
- if (!_isStarted)
- return;
-
- NPBool value = _isPrivateBrowsingEnabled;
-
- [self willCallPlugInFunction];
- {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- if ([_pluginPackage.get() pluginFuncs]->setvalue)
- [_pluginPackage.get() pluginFuncs]->setvalue(plugin, NPNVprivateModeBool, &value);
- }
- [self didCallPlugInFunction];
-}
-
-// MARK: WEB_NETSCAPE_PLUGIN
-
-- (BOOL)isNewWindowEqualToOldWindow
-{
- if (window.x != lastSetWindow.x)
- return NO;
- if (window.y != lastSetWindow.y)
- return NO;
- if (window.width != lastSetWindow.width)
- return NO;
- if (window.height != lastSetWindow.height)
- return NO;
- if (window.clipRect.top != lastSetWindow.clipRect.top)
- return NO;
- if (window.clipRect.left != lastSetWindow.clipRect.left)
- return NO;
- if (window.clipRect.bottom != lastSetWindow.clipRect.bottom)
- return NO;
- if (window.clipRect.right != lastSetWindow.clipRect.right)
- return NO;
- if (window.type != lastSetWindow.type)
- return NO;
-
- switch (drawingModel) {
-#ifndef NP_NO_QUICKDRAW
- case NPDrawingModelQuickDraw:
- if (nPort.qdPort.portx != lastSetPort.qdPort.portx)
- return NO;
- if (nPort.qdPort.porty != lastSetPort.qdPort.porty)
- return NO;
- if (nPort.qdPort.port != lastSetPort.qdPort.port)
- return NO;
- break;
-#endif /* NP_NO_QUICKDRAW */
-
- case NPDrawingModelCoreGraphics:
- if (nPort.cgPort.window != lastSetPort.cgPort.window)
- return NO;
- if (nPort.cgPort.context != lastSetPort.cgPort.context)
- return NO;
- break;
-
- case NPDrawingModelCoreAnimation:
- if (window.window != lastSetWindow.window)
- return NO;
- break;
- default:
- ASSERT_NOT_REACHED();
- break;
- }
-
- return YES;
-}
-
--(void)tellQuickTimeToChill
-{
-#ifndef NP_NO_QUICKDRAW
- ASSERT(isDrawingModelQuickDraw(drawingModel));
-
- // Make a call to the secret QuickDraw API that makes QuickTime calm down.
- WindowRef windowRef = (WindowRef)[[self window] windowRef];
- if (!windowRef) {
- return;
- }
- CGrafPtr port = GetWindowPort(windowRef);
- ::Rect bounds;
- GetPortBounds(port, &bounds);
- WKCallDrawingNotification(port, &bounds);
-#endif /* NP_NO_QUICKDRAW */
-}
-
-- (void)updateAndSetWindow
-{
- // A plug-in can only update if it's (1) already been started (2) isn't stopped
- // and (3) is able to draw on-screen. To meet condition (3) the plug-in must not
- // be hidden and be attached to a window. There are two exceptions to this rule:
- //
- // Exception 1: QuickDraw plug-ins must be manually told when to stop writing
- // bits to the window backing store, thus to do so requires a new call to
- // NPP_SetWindow() with an empty NPWindow struct.
- //
- // Exception 2: CoreGraphics plug-ins expect to have their drawable area updated
- // when they are moved to a background tab, via a NPP_SetWindow call. This is
- // accomplished by allowing -saveAndSetNewPortStateForUpdate to "clip-out" the window's
- // clipRect. Flash is curently an exception to this. See 6453738.
- //
-
- if (!_isStarted)
- return;
-
-#ifdef NP_NO_QUICKDRAW
- if (![self canDraw])
- return;
-#else
- if (drawingModel == NPDrawingModelQuickDraw)
- [self tellQuickTimeToChill];
- else if (drawingModel == NPDrawingModelCoreGraphics && ![self canDraw] && _isFlash) {
- // The Flash plug-in does not expect an NPP_SetWindow call from WebKit in this case.
- // See Exception 2 above.
- return;
- }
-#endif // NP_NO_QUICKDRAW
-
- BOOL didLockFocus = [NSView focusView] != self && [self lockFocusIfCanDraw];
-
- PortState portState = [self saveAndSetNewPortState];
- if (portState) {
- [self setWindowIfNecessary];
- [self restorePortState:portState];
- if (portState != (PortState)1)
- free(portState);
- } else if (drawingModel == NPDrawingModelCoreGraphics)
- [self setWindowIfNecessary];
-
- if (didLockFocus)
- [self unlockFocus];
-}
-
-- (void)setWindowIfNecessary
-{
- if (!_isStarted)
- return;
-
- if (![self isNewWindowEqualToOldWindow]) {
- // Make sure we don't call NPP_HandleEvent while we're inside NPP_SetWindow.
- // We probably don't want more general reentrancy protection; we are really
- // protecting only against this one case, which actually comes up when
- // you first install the SVG viewer plug-in.
- NPError npErr;
-
- BOOL wasInSetWindow = inSetWindow;
- inSetWindow = YES;
- [self willCallPlugInFunction];
- {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- npErr = [_pluginPackage.get() pluginFuncs]->setwindow(plugin, &window);
- }
- [self didCallPlugInFunction];
- inSetWindow = wasInSetWindow;
-
-#ifndef NDEBUG
- switch (drawingModel) {
-#ifndef NP_NO_QUICKDRAW
- case NPDrawingModelQuickDraw:
- LOG(Plugins, "NPP_SetWindow (QuickDraw): %d, port=0x%08x, window.x:%d window.y:%d window.width:%d window.height:%d",
- npErr, (int)nPort.qdPort.port, (int)window.x, (int)window.y, (int)window.width, (int)window.height);
- break;
-#endif /* NP_NO_QUICKDRAW */
-
- case NPDrawingModelCoreGraphics:
- LOG(Plugins, "NPP_SetWindow (CoreGraphics): %d, window=%p, context=%p, window.x:%d window.y:%d window.width:%d window.height:%d window.clipRect size:%dx%d",
- npErr, nPort.cgPort.window, nPort.cgPort.context, (int)window.x, (int)window.y, (int)window.width, (int)window.height,
- window.clipRect.right - window.clipRect.left, window.clipRect.bottom - window.clipRect.top);
- break;
-
- case NPDrawingModelCoreAnimation:
- LOG(Plugins, "NPP_SetWindow (CoreAnimation): %d, window=%p window.x:%d window.y:%d window.width:%d window.height:%d",
- npErr, window.window, nPort.cgPort.context, (int)window.x, (int)window.y, (int)window.width, (int)window.height);
- break;
-
- default:
- ASSERT_NOT_REACHED();
- break;
- }
-#endif /* !defined(NDEBUG) */
-
- lastSetWindow = window;
- lastSetPort = nPort;
- }
-}
-
-+ (void)setCurrentPluginView:(WebNetscapePluginView *)view
-{
- currentPluginView = view;
-}
-
-+ (WebNetscapePluginView *)currentPluginView
-{
- return currentPluginView;
-}
-
-- (BOOL)createPlugin
-{
- // Open the plug-in package so it remains loaded while our plugin uses it
- [_pluginPackage.get() open];
-
- // Initialize drawingModel to an invalid value so that we can detect when the plugin does not specify a drawingModel
- drawingModel = (NPDrawingModel)-1;
-
- // Initialize eventModel to an invalid value so that we can detect when the plugin does not specify an event model.
- eventModel = (NPEventModel)-1;
-
- NPError npErr = [self _createPlugin];
- if (npErr != NPERR_NO_ERROR) {
- LOG_ERROR("NPP_New failed with error: %d", npErr);
- [self _destroyPlugin];
- [_pluginPackage.get() close];
- return NO;
- }
-
- if (drawingModel == (NPDrawingModel)-1) {
-#ifndef NP_NO_QUICKDRAW
- // Default to QuickDraw if the plugin did not specify a drawing model.
- drawingModel = NPDrawingModelQuickDraw;
-#else
- // QuickDraw is not available, so we can't default to it. Instead, default to CoreGraphics.
- drawingModel = NPDrawingModelCoreGraphics;
-#endif
- }
-
- if (eventModel == (NPEventModel)-1) {
- // If the plug-in did not specify a drawing model we default to Carbon when it is available.
-#ifndef NP_NO_CARBON
- eventModel = NPEventModelCarbon;
-#else
- eventModel = NPEventModelCocoa;
-#endif // NP_NO_CARBON
- }
-
-#ifndef NP_NO_CARBON
- if (eventModel == NPEventModelCocoa && isDrawingModelQuickDraw(drawingModel)) {
- LOG(Plugins, "Plugin can't use use Cocoa event model with QuickDraw drawing model: %@", _pluginPackage.get());
- [self _destroyPlugin];
- [_pluginPackage.get() close];
-
- return NO;
- }
-#endif // NP_NO_CARBON
-
- if (drawingModel == NPDrawingModelCoreAnimation) {
- void *value = 0;
- if ([_pluginPackage.get() pluginFuncs]->getvalue(plugin, NPPVpluginCoreAnimationLayer, &value) == NPERR_NO_ERROR && value) {
-
- // The plug-in gives us a retained layer.
- _pluginLayer = adoptNS((CALayer *)value);
-
- BOOL accleratedCompositingEnabled = false;
-#if USE(ACCELERATED_COMPOSITING)
- accleratedCompositingEnabled = [[[self webView] preferences] acceleratedCompositingEnabled];
-#endif
- if (accleratedCompositingEnabled) {
- // FIXME: This code can be shared between WebHostedNetscapePluginView and WebNetscapePluginView.
- // Since this layer isn't going to be inserted into a view, we need to create another layer and flip its geometry
- // in order to get the coordinate system right.
- RetainPtr<CALayer> realPluginLayer = adoptNS(_pluginLayer.leakRef());
-
- _pluginLayer = adoptNS([[CALayer alloc] init]);
- _pluginLayer.get().bounds = realPluginLayer.get().bounds;
- _pluginLayer.get().geometryFlipped = YES;
-
- realPluginLayer.get().autoresizingMask = kCALayerWidthSizable | kCALayerHeightSizable;
- [_pluginLayer.get() addSublayer:realPluginLayer.get()];
-
- // Eagerly enter compositing mode, since we know we'll need it. This avoids firing setNeedsStyleRecalc()
- // for iframes that contain composited plugins at bad times. https://bugs.webkit.org/show_bug.cgi?id=39033
- core([self webFrame])->view()->enterCompositingMode();
- [self element]->setNeedsStyleRecalc(SyntheticStyleChange);
- } else
- [self setWantsLayer:YES];
-
- LOG(Plugins, "%@ is using Core Animation drawing model with layer %@", _pluginPackage.get(), _pluginLayer.get());
- }
-
- ASSERT(_pluginLayer);
- }
-
- // Create the event handler
- _eventHandler = WebNetscapePluginEventHandler::create(self);
-
- return YES;
-}
-
-// FIXME: This method is an ideal candidate to move up to the base class
-- (CALayer *)pluginLayer
-{
- return _pluginLayer.get();
-}
-
-- (void)setLayer:(CALayer *)newLayer
-{
- [super setLayer:newLayer];
-
- if (newLayer && _pluginLayer) {
- _pluginLayer.get().frame = [newLayer frame];
- _pluginLayer.get().autoresizingMask = kCALayerWidthSizable | kCALayerHeightSizable;
- [newLayer addSublayer:_pluginLayer.get()];
- }
-}
-
-- (void)loadStream
-{
- if ([self _shouldCancelSrcStream])
- return;
-
- if (_loadManually) {
- [self _redeliverStream];
- return;
- }
-
- // If the OBJECT/EMBED tag has no SRC, the URL is passed to us as "".
- // Check for this and don't start a load in this case.
- if (_sourceURL && ![_sourceURL.get() _web_isEmpty]) {
- NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:_sourceURL.get()];
- [request _web_setHTTPReferrer:core([self webFrame])->loader()->outgoingReferrer()];
- [self loadRequest:request inTarget:nil withNotifyData:nil sendNotification:NO];
- }
-}
-
-- (BOOL)shouldStop
-{
- // If we're already calling a plug-in function, do not call NPP_Destroy(). The plug-in function we are calling
- // may assume that its instance->pdata, or other memory freed by NPP_Destroy(), is valid and unchanged until said
- // plugin-function returns.
- // See <rdar://problem/4480737>.
- if (pluginFunctionCallDepth > 0) {
- shouldStopSoon = YES;
- return NO;
- }
-
- return YES;
-}
-
-- (void)destroyPlugin
-{
- // To stop active streams it's necessary to invoke stop() on a copy
- // of streams. This is because calling WebNetscapePluginStream::stop() also has the side effect
- // of removing a stream from this hash set.
- Vector<RefPtr<WebNetscapePluginStream> > streamsCopy;
- copyToVector(streams, streamsCopy);
- for (size_t i = 0; i < streamsCopy.size(); i++)
- streamsCopy[i]->stop();
-
- for (WebFrame *frame in [_pendingFrameLoads keyEnumerator])
- [frame _setInternalLoadDelegate:nil];
- [NSObject cancelPreviousPerformRequestsWithTarget:self];
-
- // Setting the window type to 0 ensures that NPP_SetWindow will be called if the plug-in is restarted.
- lastSetWindow.type = (NPWindowType)0;
-
- _pluginLayer = 0;
-
- [self _destroyPlugin];
- [_pluginPackage.get() close];
-
- _eventHandler.clear();
-}
-
-- (NPEventModel)eventModel
-{
- return eventModel;
-}
-
-- (NPP)plugin
-{
- return plugin;
-}
-
-- (void)setAttributeKeys:(NSArray *)keys andValues:(NSArray *)values
-{
- ASSERT([keys count] == [values count]);
-
- // Convert the attributes to 2 C string arrays.
- // These arrays are passed to NPP_New, but the strings need to be
- // modifiable and live the entire life of the plugin.
-
- // The Java plug-in requires the first argument to be the base URL
- if ([_MIMEType.get() isEqualToString:@"application/x-java-applet"]) {
- cAttributes = (char **)malloc(([keys count] + 1) * sizeof(char *));
- cValues = (char **)malloc(([values count] + 1) * sizeof(char *));
- cAttributes[0] = strdup("DOCBASE");
- cValues[0] = strdup([_baseURL.get() _web_URLCString]);
- argsCount++;
- } else {
- cAttributes = (char **)malloc([keys count] * sizeof(char *));
- cValues = (char **)malloc([values count] * sizeof(char *));
- }
-
- BOOL isWMP = [_pluginPackage.get() bundleIdentifier] == "com.microsoft.WMP.defaultplugin";
-
- unsigned i;
- unsigned count = [keys count];
- for (i = 0; i < count; i++) {
- NSString *key = [keys objectAtIndex:i];
- NSString *value = [values objectAtIndex:i];
- if ([key _webkit_isCaseInsensitiveEqualToString:@"height"]) {
- specifiedHeight = [value intValue];
- } else if ([key _webkit_isCaseInsensitiveEqualToString:@"width"]) {
- specifiedWidth = [value intValue];
- }
- // Avoid Window Media Player crash when these attributes are present.
- if (isWMP && ([key _webkit_isCaseInsensitiveEqualToString:@"SAMIStyle"] || [key _webkit_isCaseInsensitiveEqualToString:@"SAMILang"])) {
- continue;
- }
- cAttributes[argsCount] = strdup([key UTF8String]);
- cValues[argsCount] = strdup([value UTF8String]);
- LOG(Plugins, "%@ = %@", key, value);
- argsCount++;
- }
-}
-
-- (uint32_t)checkIfAllowedToLoadURL:(const char*)urlCString frame:(const char*)frameNameCString
- callbackFunc:(void (*)(NPP npp, uint32_t checkID, NPBool allowed, void* context))callbackFunc
- context:(void*)context
-{
- if (!_containerChecksInProgress)
- _containerChecksInProgress = [[NSMutableDictionary alloc] init];
-
- NSString *frameName = frameNameCString ? [NSString stringWithCString:frameNameCString encoding:NSISOLatin1StringEncoding] : nil;
-
- ++_currentContainerCheckRequestID;
- WebNetscapeContainerCheckContextInfo *contextInfo = [[WebNetscapeContainerCheckContextInfo alloc] initWithCheckRequestID:_currentContainerCheckRequestID
- callbackFunc:callbackFunc
- context:context];
-
- WebPluginContainerCheck *check = [WebPluginContainerCheck checkWithRequest:[self requestWithURLCString:urlCString]
- target:frameName
- resultObject:self
- selector:@selector(_containerCheckResult:contextInfo:)
- controller:self
- contextInfo:contextInfo];
-
- [contextInfo release];
- [_containerChecksInProgress setObject:check forKey:[NSNumber numberWithInt:_currentContainerCheckRequestID]];
- [check start];
-
- return _currentContainerCheckRequestID;
-}
-
-- (void)_containerCheckResult:(PolicyAction)policy contextInfo:(id)contextInfo
-{
- ASSERT([contextInfo isKindOfClass:[WebNetscapeContainerCheckContextInfo class]]);
- void (*pluginCallback)(NPP npp, uint32_t, NPBool, void*) = [contextInfo callback];
-
- if (!pluginCallback) {
- ASSERT_NOT_REACHED();
- return;
- }
-
- pluginCallback([self plugin], [contextInfo checkRequestID], (policy == PolicyUse), [contextInfo context]);
-}
-
-- (void)cancelCheckIfAllowedToLoadURL:(uint32_t)checkID
-{
- WebPluginContainerCheck *check = (WebPluginContainerCheck *)[_containerChecksInProgress objectForKey:[NSNumber numberWithInt:checkID]];
-
- if (!check)
- return;
-
- [check cancel];
- [_containerChecksInProgress removeObjectForKey:[NSNumber numberWithInt:checkID]];
-}
-
-// WebPluginContainerCheck automatically calls this method after invoking our _containerCheckResult: selector.
-// It works this way because calling -[WebPluginContainerCheck cancel] allows it to do it's teardown process.
-- (void)_webPluginContainerCancelCheckIfAllowedToLoadRequest:(id)webPluginContainerCheck
-{
- ASSERT([webPluginContainerCheck isKindOfClass:[WebPluginContainerCheck class]]);
- WebPluginContainerCheck *check = (WebPluginContainerCheck *)webPluginContainerCheck;
- ASSERT([[check contextInfo] isKindOfClass:[WebNetscapeContainerCheckContextInfo class]]);
-
- [self cancelCheckIfAllowedToLoadURL:[[check contextInfo] checkRequestID]];
-}
-
-
-// MARK: NSVIEW
-
-- (id)initWithFrame:(NSRect)frame
- pluginPackage:(WebNetscapePluginPackage *)pluginPackage
- URL:(NSURL *)URL
- baseURL:(NSURL *)baseURL
- MIMEType:(NSString *)MIME
- attributeKeys:(NSArray *)keys
- attributeValues:(NSArray *)values
- loadManually:(BOOL)loadManually
- element:(PassRefPtr<WebCore::HTMLPlugInElement>)element
-{
- self = [super initWithFrame:frame pluginPackage:pluginPackage URL:URL baseURL:baseURL MIMEType:MIME attributeKeys:keys attributeValues:values loadManually:loadManually element:element];
- if (!self)
- return nil;
-
- _pendingFrameLoads = adoptNS([[NSMapTable alloc] initWithKeyOptions:NSPointerFunctionsStrongMemory valueOptions:NSPointerFunctionsStrongMemory capacity:0]);
-
- // load the plug-in if it is not already loaded
- if (![pluginPackage load]) {
- [self release];
- return nil;
- }
-
- return self;
-}
-
-- (id)initWithFrame:(NSRect)frame
-{
- ASSERT_NOT_REACHED();
- return nil;
-}
-
-- (void)fini
-{
-#ifndef NP_NO_QUICKDRAW
- if (offscreenGWorld)
- DisposeGWorld(offscreenGWorld);
-#endif
-
- for (unsigned i = 0; i < argsCount; i++) {
- free(cAttributes[i]);
- free(cValues[i]);
- }
- free(cAttributes);
- free(cValues);
-
- ASSERT(!_eventHandler);
-
- if (timers) {
- deleteAllValues(*timers);
- delete timers;
- }
-
- [_containerChecksInProgress release];
-}
-
-- (void)disconnectStream:(WebNetscapePluginStream*)stream
-{
- streams.remove(stream);
-}
-
-- (void)dealloc
-{
- ASSERT(!_isStarted);
- ASSERT(!plugin);
-
- [self fini];
-
- [super dealloc];
-}
-
-- (void)finalize
-{
- ASSERT_MAIN_THREAD();
- ASSERT(!_isStarted);
-
- [self fini];
-
- [super finalize];
-}
-
-- (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 (drawingModel == NPDrawingModelCoreAnimation && (!_snapshotting || ![self supportsSnapshotting]))
- return;
-
- if (!_isStarted)
- return;
-
- if ([NSGraphicsContext currentContextDrawingToScreen] || _isFlash)
- [self sendDrawRectEvent:rect];
- else {
- NSBitmapImageRep *printedPluginBitmap = [self _printedPluginBitmap];
- if (printedPluginBitmap) {
- // Flip the bitmap before drawing because the QuickDraw port is flipped relative
- // to this view.
- CGContextRef cgContext = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort];
- CGContextSaveGState(cgContext);
- NSRect bounds = [self bounds];
- CGContextTranslateCTM(cgContext, 0.0f, NSHeight(bounds));
- CGContextScaleCTM(cgContext, 1.0f, -1.0f);
- [printedPluginBitmap drawInRect:bounds];
- CGContextRestoreGState(cgContext);
- }
- }
-}
-
-- (NPObject *)createPluginScriptableObject
-{
- if (![_pluginPackage.get() pluginFuncs]->getvalue || !_isStarted)
- return NULL;
-
- NPObject *value = NULL;
- NPError error;
- [self willCallPlugInFunction];
- {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- error = [_pluginPackage.get() pluginFuncs]->getvalue(plugin, NPPVpluginScriptableNPObject, &value);
- }
- [self didCallPlugInFunction];
- if (error != NPERR_NO_ERROR)
- return NULL;
-
- return value;
-}
-
-- (BOOL)getFormValue:(NSString **)value
-{
- if (![_pluginPackage.get() pluginFuncs]->getvalue || !_isStarted)
- return false;
- // Plugins will allocate memory for the buffer by using NPN_MemAlloc().
- char* buffer = NULL;
- NPError error;
- [self willCallPlugInFunction];
- {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- error = [_pluginPackage.get() pluginFuncs]->getvalue(plugin, NPPVformValue, &buffer);
- }
- [self didCallPlugInFunction];
- if (error != NPERR_NO_ERROR || !buffer)
- return false;
- *value = [[NSString alloc] initWithUTF8String:buffer];
- [_pluginPackage.get() browserFuncs]->memfree(buffer);
- return true;
-}
-
-- (void)willCallPlugInFunction
-{
- ASSERT(plugin);
-
- // Could try to prevent infinite recursion here, but it's probably not worth the effort.
- pluginFunctionCallDepth++;
-}
-
-- (void)didCallPlugInFunction
-{
- ASSERT(pluginFunctionCallDepth > 0);
- pluginFunctionCallDepth--;
-
- // If -stop was called while we were calling into a plug-in function, and we're no longer
- // inside a plug-in function, stop now.
- if (pluginFunctionCallDepth == 0 && shouldStopSoon) {
- shouldStopSoon = NO;
- [self stop];
- }
-}
-
--(void)pluginView:(NSView *)pluginView receivedResponse:(NSURLResponse *)response
-{
- ASSERT(_loadManually);
- ASSERT(!_manualStream);
-
- _manualStream = WebNetscapePluginStream::create(core([self webFrame])->loader());
-}
-
-- (void)pluginView:(NSView *)pluginView receivedData:(NSData *)data
-{
- ASSERT(_loadManually);
- ASSERT(_manualStream);
-
- _dataLengthReceived += [data length];
-
- if (!_isStarted)
- return;
-
- if (!_manualStream->plugin()) {
- // Check if the load should be cancelled
- if ([self _shouldCancelSrcStream]) {
- NSURLResponse *response = [[self dataSource] response];
-
- NSError *error = [[NSError alloc] _initWithPluginErrorCode:WebKitErrorPlugInWillHandleLoad
- contentURL:[response URL]
- pluginPageURL:nil
- pluginName:nil // FIXME: Get this from somewhere
- MIMEType:[response MIMEType]];
- [[self dataSource] _documentLoader]->cancelMainResourceLoad(error);
- [error release];
- return;
- }
-
- _manualStream->setRequestURL([[[self dataSource] request] URL]);
- _manualStream->setPlugin([self plugin]);
- ASSERT(_manualStream->plugin());
-
- _manualStream->startStreamWithResponse([[self dataSource] response]);
- }
-
- if (_manualStream->plugin())
- _manualStream->didReceiveData(0, static_cast<const char *>([data bytes]), [data length]);
-}
-
-- (void)pluginView:(NSView *)pluginView receivedError:(NSError *)error
-{
- ASSERT(_loadManually);
-
- _error = error;
-
- if (!_isStarted) {
- return;
- }
-
- _manualStream->destroyStreamWithError(error);
-}
-
-- (void)pluginViewFinishedLoading:(NSView *)pluginView
-{
- ASSERT(_loadManually);
- ASSERT(_manualStream);
-
- if (_isStarted)
- _manualStream->didFinishLoading(0);
-}
-
-- (NSTextInputContext *)inputContext
-{
- return nil;
-}
-
-@end
-
-@implementation WebNetscapePluginView (WebNPPCallbacks)
-
-- (void)evaluateJavaScriptPluginRequest:(WebPluginRequest *)JSPluginRequest
-{
- // FIXME: Is this isStarted check needed here? evaluateJavaScriptPluginRequest should not be called
- // if we are stopped since this method is called after a delay and we call
- // cancelPreviousPerformRequestsWithTarget inside of stop.
- if (!_isStarted) {
- return;
- }
-
- NSURL *URL = [[JSPluginRequest request] URL];
- NSString *JSString = [URL _webkit_scriptIfJavaScriptURL];
- ASSERT(JSString);
-
- NSString *result = [[self webFrame] _stringByEvaluatingJavaScriptFromString:JSString forceUserGesture:[JSPluginRequest isCurrentEventUserGesture]];
-
- // Don't continue if stringByEvaluatingJavaScriptFromString caused the plug-in to stop.
- if (!_isStarted) {
- return;
- }
-
- if ([JSPluginRequest frameName] != nil) {
- // FIXME: If the result is a string, we probably want to put that string into the frame.
- if ([JSPluginRequest sendNotification]) {
- [self willCallPlugInFunction];
- {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [_pluginPackage.get() pluginFuncs]->urlnotify(plugin, [URL _web_URLCString], NPRES_DONE, [JSPluginRequest notifyData]);
- }
- [self didCallPlugInFunction];
- }
- } else if ([result length] > 0) {
- // Don't call NPP_NewStream and other stream methods if there is no JS result to deliver. This is what Mozilla does.
- NSData *JSData = [result dataUsingEncoding:NSUTF8StringEncoding];
-
- RefPtr<WebNetscapePluginStream> stream = WebNetscapePluginStream::create([NSURLRequest requestWithURL:URL], plugin, [JSPluginRequest sendNotification], [JSPluginRequest notifyData]);
-
- RetainPtr<NSURLResponse> response = adoptNS([[NSURLResponse alloc] initWithURL:URL
- MIMEType:@"text/plain"
- expectedContentLength:[JSData length]
- textEncodingName:nil]);
-
- stream->startStreamWithResponse(response.get());
- stream->didReceiveData(0, static_cast<const char*>([JSData bytes]), [JSData length]);
- stream->didFinishLoading(0);
- }
-}
-
-- (void)webFrame:(WebFrame *)webFrame didFinishLoadWithReason:(NPReason)reason
-{
- ASSERT(_isStarted);
-
- WebPluginRequest *pluginRequest = [_pendingFrameLoads objectForKey:webFrame];
- ASSERT(pluginRequest != nil);
- ASSERT([pluginRequest sendNotification]);
-
- [self willCallPlugInFunction];
- {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [_pluginPackage.get() pluginFuncs]->urlnotify(plugin, [[[pluginRequest request] URL] _web_URLCString], reason, [pluginRequest notifyData]);
- }
- [self didCallPlugInFunction];
-
- [_pendingFrameLoads removeObjectForKey:webFrame];
- [webFrame _setInternalLoadDelegate:nil];
-}
-
-- (void)webFrame:(WebFrame *)webFrame didFinishLoadWithError:(NSError *)error
-{
- NPReason reason = NPRES_DONE;
- if (error != nil)
- reason = WebNetscapePluginStream::reasonForError(error);
- [self webFrame:webFrame didFinishLoadWithReason:reason];
-}
-
-- (void)loadPluginRequest:(WebPluginRequest *)pluginRequest
-{
- NSURLRequest *request = [pluginRequest request];
- NSString *frameName = [pluginRequest frameName];
- WebFrame *frame = nil;
-
- NSURL *URL = [request URL];
- NSString *JSString = [URL _webkit_scriptIfJavaScriptURL];
-
- ASSERT(frameName || JSString);
-
- if (frameName) {
- // FIXME - need to get rid of this window creation which
- // bypasses normal targeted link handling
- frame = kit(core([self webFrame])->loader()->findFrameForNavigation(frameName));
- if (frame == nil) {
- WebView *currentWebView = [self webView];
- NSDictionary *features = [[NSDictionary alloc] init];
- WebView *newWebView = [[currentWebView _UIDelegateForwarder] webView:currentWebView
- createWebViewWithRequest:nil
- windowFeatures:features];
- [features release];
-
- if (!newWebView) {
- if ([pluginRequest sendNotification]) {
- [self willCallPlugInFunction];
- {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [_pluginPackage.get() pluginFuncs]->urlnotify(plugin, [[[pluginRequest request] URL] _web_URLCString], NPERR_GENERIC_ERROR, [pluginRequest notifyData]);
- }
- [self didCallPlugInFunction];
- }
- return;
- }
-
- frame = [newWebView mainFrame];
- core(frame)->tree()->setName(frameName);
- [[newWebView _UIDelegateForwarder] webViewShow:newWebView];
- }
- }
-
- if (JSString) {
- ASSERT(frame == nil || [self webFrame] == frame);
- [self evaluateJavaScriptPluginRequest:pluginRequest];
- } else {
- [frame loadRequest:request];
- if ([pluginRequest sendNotification]) {
- // Check if another plug-in view or even this view is waiting for the frame to load.
- // If it is, tell it that the load was cancelled because it will be anyway.
- WebNetscapePluginView *view = [frame _internalLoadDelegate];
- if (view != nil) {
- ASSERT([view isKindOfClass:[WebNetscapePluginView class]]);
- [view webFrame:frame didFinishLoadWithReason:NPRES_USER_BREAK];
- }
- [_pendingFrameLoads setObject:pluginRequest forKey:frame];
- [frame _setInternalLoadDelegate:self];
- }
- }
-}
-
-- (NPError)loadRequest:(NSMutableURLRequest *)request inTarget:(const char *)cTarget withNotifyData:(void *)notifyData sendNotification:(BOOL)sendNotification
-{
- NSURL *URL = [request URL];
-
- if (!URL)
- return NPERR_INVALID_URL;
-
- // Don't allow requests to be loaded when the document loader is stopping all loaders.
- if ([[self dataSource] _documentLoader]->isStopping())
- return NPERR_GENERIC_ERROR;
-
- NSString *target = nil;
- if (cTarget) {
- // Find the frame given the target string.
- target = [NSString stringWithCString:cTarget encoding:NSISOLatin1StringEncoding];
- }
- WebFrame *frame = [self webFrame];
-
- // don't let a plugin start any loads if it is no longer part of a document that is being
- // displayed unless the loads are in the same frame as the plugin.
- if ([[self dataSource] _documentLoader] != core([self webFrame])->loader()->activeDocumentLoader() &&
- (!cTarget || [frame findFrameNamed:target] != frame)) {
- return NPERR_GENERIC_ERROR;
- }
-
- NSString *JSString = [URL _webkit_scriptIfJavaScriptURL];
- if (JSString != nil) {
- if (![[[self webView] preferences] isJavaScriptEnabled]) {
- // Return NPERR_GENERIC_ERROR if JS is disabled. This is what Mozilla does.
- return NPERR_GENERIC_ERROR;
- } else if (cTarget == NULL && _mode == NP_FULL) {
- // Don't allow a JavaScript request from a standalone plug-in that is self-targetted
- // because this can cause the user to be redirected to a blank page (3424039).
- return NPERR_INVALID_PARAM;
- }
- } else {
- if (!core([self webFrame])->document()->securityOrigin()->canDisplay(URL))
- return NPERR_GENERIC_ERROR;
- }
-
- if (cTarget || JSString) {
- // Make when targetting a frame or evaluating a JS string, perform the request after a delay because we don't
- // want to potentially kill the plug-in inside of its URL request.
-
- if (JSString && target && [frame findFrameNamed:target] != frame) {
- // For security reasons, only allow JS requests to be made on the frame that contains the plug-in.
- return NPERR_INVALID_PARAM;
- }
-
- bool currentEventIsUserGesture = false;
- if (_eventHandler)
- currentEventIsUserGesture = _eventHandler->currentEventIsUserGesture();
-
- WebPluginRequest *pluginRequest = [[WebPluginRequest alloc] initWithRequest:request
- frameName:target
- notifyData:notifyData
- sendNotification:sendNotification
- didStartFromUserGesture:currentEventIsUserGesture];
- [self performSelector:@selector(loadPluginRequest:) withObject:pluginRequest afterDelay:0];
- [pluginRequest release];
- } else {
- RefPtr<WebNetscapePluginStream> stream = WebNetscapePluginStream::create(request, plugin, sendNotification, notifyData);
-
- streams.add(stream.get());
- stream->start();
- }
-
- return NPERR_NO_ERROR;
-}
-
--(NPError)getURLNotify:(const char *)URLCString target:(const char *)cTarget notifyData:(void *)notifyData
-{
- LOG(Plugins, "NPN_GetURLNotify: %s target: %s", URLCString, cTarget);
-
- NSMutableURLRequest *request = [self requestWithURLCString:URLCString];
- return [self loadRequest:request inTarget:cTarget withNotifyData:notifyData sendNotification:YES];
-}
-
--(NPError)getURL:(const char *)URLCString target:(const char *)cTarget
-{
- LOG(Plugins, "NPN_GetURL: %s target: %s", URLCString, cTarget);
-
- NSMutableURLRequest *request = [self requestWithURLCString:URLCString];
- return [self loadRequest:request inTarget:cTarget withNotifyData:NULL sendNotification:NO];
-}
-
-- (NPError)_postURL:(const char *)URLCString
- target:(const char *)target
- len:(UInt32)len
- buf:(const char *)buf
- file:(NPBool)file
- notifyData:(void *)notifyData
- sendNotification:(BOOL)sendNotification
- allowHeaders:(BOOL)allowHeaders
-{
- if (!URLCString || !len || !buf) {
- return NPERR_INVALID_PARAM;
- }
-
- NSData *postData = nil;
-
- if (file) {
- // If we're posting a file, buf is either a file URL or a path to the file.
- NSString *bufString = (NSString *)CFStringCreateWithCString(kCFAllocatorDefault, buf, kCFStringEncodingWindowsLatin1);
- if (!bufString) {
- return NPERR_INVALID_PARAM;
- }
- NSURL *fileURL = [NSURL _web_URLWithDataAsString:bufString];
- NSString *path;
- if ([fileURL isFileURL]) {
- path = [fileURL path];
- } else {
- path = bufString;
- }
- postData = [NSData dataWithContentsOfFile:[path _webkit_fixedCarbonPOSIXPath]];
- CFRelease(bufString);
- if (!postData) {
- return NPERR_FILE_NOT_FOUND;
- }
- } else {
- postData = [NSData dataWithBytes:buf length:len];
- }
-
- if ([postData length] == 0) {
- return NPERR_INVALID_PARAM;
- }
-
- NSMutableURLRequest *request = [self requestWithURLCString:URLCString];
- [request setHTTPMethod:@"POST"];
-
- if (allowHeaders) {
- if ([postData _web_startsWithBlankLine]) {
- postData = [postData subdataWithRange:NSMakeRange(1, [postData length] - 1)];
- } else {
- NSInteger location = [postData _web_locationAfterFirstBlankLine];
- if (location != NSNotFound) {
- // If the blank line is somewhere in the middle of postData, everything before is the header.
- NSData *headerData = [postData subdataWithRange:NSMakeRange(0, location)];
- NSMutableDictionary *header = [headerData _webkit_parseRFC822HeaderFields];
- unsigned dataLength = [postData length] - location;
-
- // Sometimes plugins like to set Content-Length themselves when they post,
- // but WebFoundation does not like that. So we will remove the header
- // and instead truncate the data to the requested length.
- NSString *contentLength = [header objectForKey:@"Content-Length"];
-
- if (contentLength != nil)
- dataLength = std::min<unsigned>([contentLength intValue], dataLength);
- [header removeObjectForKey:@"Content-Length"];
-
- if ([header count] > 0) {
- [request setAllHTTPHeaderFields:header];
- }
- // Everything after the blank line is the actual content of the POST.
- postData = [postData subdataWithRange:NSMakeRange(location, dataLength)];
-
- }
- }
- if ([postData length] == 0) {
- return NPERR_INVALID_PARAM;
- }
- }
-
- // Plug-ins expect to receive uncached data when doing a POST (3347134).
- [request setCachePolicy:NSURLRequestReloadIgnoringCacheData];
- [request setHTTPBody:postData];
-
- return [self loadRequest:request inTarget:target withNotifyData:notifyData sendNotification:sendNotification];
-}
-
-- (NPError)postURLNotify:(const char *)URLCString
- target:(const char *)target
- len:(UInt32)len
- buf:(const char *)buf
- file:(NPBool)file
- notifyData:(void *)notifyData
-{
- LOG(Plugins, "NPN_PostURLNotify: %s", URLCString);
- return [self _postURL:URLCString target:target len:len buf:buf file:file notifyData:notifyData sendNotification:YES allowHeaders:YES];
-}
-
--(NPError)postURL:(const char *)URLCString
- target:(const char *)target
- len:(UInt32)len
- buf:(const char *)buf
- file:(NPBool)file
-{
- LOG(Plugins, "NPN_PostURL: %s", URLCString);
- // As documented, only allow headers to be specified via NPP_PostURL when using a file.
- return [self _postURL:URLCString target:target len:len buf:buf file:file notifyData:NULL sendNotification:NO allowHeaders:file];
-}
-
--(NPError)newStream:(NPMIMEType)type target:(const char *)target stream:(NPStream**)stream
-{
- LOG(Plugins, "NPN_NewStream");
- return NPERR_GENERIC_ERROR;
-}
-
--(NPError)write:(NPStream*)stream len:(SInt32)len buffer:(void *)buffer
-{
- LOG(Plugins, "NPN_Write");
- return NPERR_GENERIC_ERROR;
-}
-
--(NPError)destroyStream:(NPStream*)stream reason:(NPReason)reason
-{
- LOG(Plugins, "NPN_DestroyStream");
- // This function does a sanity check to ensure that the NPStream provided actually
- // belongs to the plug-in that provided it, which fixes a crash in the DivX
- // plug-in: <rdar://problem/5093862> | http://bugs.webkit.org/show_bug.cgi?id=13203
- if (!stream || WebNetscapePluginStream::ownerForStream(stream) != plugin) {
- LOG(Plugins, "Invalid NPStream passed to NPN_DestroyStream: %p", stream);
- return NPERR_INVALID_INSTANCE_ERROR;
- }
-
- WebNetscapePluginStream* browserStream = static_cast<WebNetscapePluginStream*>(stream->ndata);
- browserStream->cancelLoadAndDestroyStreamWithError(browserStream->errorForReason(reason));
-
- return NPERR_NO_ERROR;
-}
-
-- (const char *)userAgent
-{
- NSString *userAgent = [[self webView] userAgentForURL:_baseURL.get()];
-
- if (_isSilverlight) {
- // Silverlight has a workaround for a leak in Safari 2. This workaround is
- // applied when the user agent does not contain "Version/3" so we append it
- // at the end of the user agent.
- userAgent = [userAgent stringByAppendingString:@" Version/3.2.1"];
- }
-
- return [userAgent UTF8String];
-}
-
--(void)status:(const char *)message
-{
- CFStringRef status = CFStringCreateWithCString(NULL, message ? message : "", kCFStringEncodingUTF8);
- if (!status) {
- LOG_ERROR("NPN_Status: the message was not valid UTF-8");
- return;
- }
-
- LOG(Plugins, "NPN_Status: %@", status);
- WebView *wv = [self webView];
- [[wv _UIDelegateForwarder] webView:wv setStatusText:(NSString *)status];
- CFRelease(status);
-}
-
--(void)invalidateRect:(NPRect *)invalidRect
-{
- LOG(Plugins, "NPN_InvalidateRect");
- [self invalidatePluginContentRect:NSMakeRect(invalidRect->left, invalidRect->top,
- (float)invalidRect->right - invalidRect->left, (float)invalidRect->bottom - invalidRect->top)];
-}
-
-- (void)invalidateRegion:(NPRegion)invalidRegion
-{
- LOG(Plugins, "NPN_InvalidateRegion");
- NSRect invalidRect = NSZeroRect;
- switch (drawingModel) {
-#ifndef NP_NO_QUICKDRAW
- case NPDrawingModelQuickDraw:
- {
- ::Rect qdRect;
- GetRegionBounds((NPQDRegion)invalidRegion, &qdRect);
- invalidRect = NSMakeRect(qdRect.left, qdRect.top, qdRect.right - qdRect.left, qdRect.bottom - qdRect.top);
- }
- break;
-#endif /* NP_NO_QUICKDRAW */
-
- case NPDrawingModelCoreGraphics:
- {
- CGRect cgRect = CGPathGetBoundingBox((NPCGRegion)invalidRegion);
- invalidRect = *(NSRect*)&cgRect;
- break;
- }
- default:
- ASSERT_NOT_REACHED();
- break;
- }
-
- [self invalidatePluginContentRect:invalidRect];
-}
-
--(void)forceRedraw
-{
- LOG(Plugins, "forceRedraw");
- [self invalidatePluginContentRect:[self bounds]];
- [[self window] displayIfNeeded];
-}
-
-- (NPError)getVariable:(NPNVariable)variable value:(void *)value
-{
- switch (static_cast<unsigned>(variable)) {
- case NPNVWindowNPObject:
- {
- Frame* frame = core([self webFrame]);
- NPObject* windowScriptObject = frame ? frame->script()->windowScriptNPObject() : 0;
-
- // Return value is expected to be retained, as described here: <http://www.mozilla.org/projects/plugins/npruntime.html#browseraccess>
- if (windowScriptObject)
- _NPN_RetainObject(windowScriptObject);
-
- void **v = (void **)value;
- *v = windowScriptObject;
-
- return NPERR_NO_ERROR;
- }
-
- case NPNVPluginElementNPObject:
- {
- if (!_element)
- return NPERR_GENERIC_ERROR;
-
- NPObject *plugInScriptObject = _element->getNPObject();
-
- // Return value is expected to be retained, as described here: <http://www.mozilla.org/projects/plugins/npruntime.html#browseraccess>
- if (plugInScriptObject)
- _NPN_RetainObject(plugInScriptObject);
-
- void **v = (void **)value;
- *v = plugInScriptObject;
-
- return NPERR_NO_ERROR;
- }
-
- case NPNVpluginDrawingModel:
- {
- *(NPDrawingModel *)value = drawingModel;
- return NPERR_NO_ERROR;
- }
-
-#ifndef NP_NO_QUICKDRAW
- case NPNVsupportsQuickDrawBool:
- {
- *(NPBool *)value = TRUE;
- return NPERR_NO_ERROR;
- }
-#endif /* NP_NO_QUICKDRAW */
-
- case NPNVsupportsCoreGraphicsBool:
- {
- *(NPBool *)value = TRUE;
- return NPERR_NO_ERROR;
- }
-
- case NPNVsupportsOpenGLBool:
- {
- *(NPBool *)value = FALSE;
- return NPERR_NO_ERROR;
- }
-
- case NPNVsupportsCoreAnimationBool:
- {
- *(NPBool *)value = TRUE;
- return NPERR_NO_ERROR;
- }
-
-#ifndef NP_NO_CARBON
- case NPNVsupportsCarbonBool:
- {
- *(NPBool *)value = TRUE;
- return NPERR_NO_ERROR;
- }
-#endif /* NP_NO_CARBON */
-
- case NPNVsupportsCocoaBool:
- {
- *(NPBool *)value = TRUE;
- return NPERR_NO_ERROR;
- }
-
- case NPNVprivateModeBool:
- {
- *(NPBool *)value = _isPrivateBrowsingEnabled;
- return NPERR_NO_ERROR;
- }
-
- case WKNVBrowserContainerCheckFuncs:
- {
- *(WKNBrowserContainerCheckFuncs **)value = browserContainerCheckFuncs();
- return NPERR_NO_ERROR;
- }
-#if USE(ACCELERATED_COMPOSITING)
- case WKNVSupportsCompositingCoreAnimationPluginsBool:
- {
- *(NPBool *)value = [[[self webView] preferences] acceleratedCompositingEnabled];
- return NPERR_NO_ERROR;
- }
-#endif
- default:
- break;
- }
-
- return NPERR_GENERIC_ERROR;
-}
-
-- (NPError)setVariable:(NPPVariable)variable value:(void *)value
-{
- switch (variable) {
- case NPPVpluginDrawingModel:
- {
- // Can only set drawing model inside NPP_New()
- if (self != [[self class] currentPluginView])
- return NPERR_GENERIC_ERROR;
-
- // Check for valid, supported drawing model
- NPDrawingModel newDrawingModel = (NPDrawingModel)(uintptr_t)value;
- switch (newDrawingModel) {
- // Supported drawing models:
-#ifndef NP_NO_QUICKDRAW
- case NPDrawingModelQuickDraw:
-#endif
- case NPDrawingModelCoreGraphics:
- case NPDrawingModelCoreAnimation:
- drawingModel = newDrawingModel;
- return NPERR_NO_ERROR;
-
-
- // Unsupported (or unknown) drawing models:
- default:
- LOG(Plugins, "Plugin %@ uses unsupported drawing model: %d", _eventHandler.get(), drawingModel);
- return NPERR_GENERIC_ERROR;
- }
- }
-
- case NPPVpluginEventModel:
- {
- // Can only set event model inside NPP_New()
- if (self != [[self class] currentPluginView])
- return NPERR_GENERIC_ERROR;
-
- // Check for valid, supported event model
- NPEventModel newEventModel = (NPEventModel)(uintptr_t)value;
- switch (newEventModel) {
- // Supported event models:
-#ifndef NP_NO_CARBON
- case NPEventModelCarbon:
-#endif
- case NPEventModelCocoa:
- eventModel = newEventModel;
- return NPERR_NO_ERROR;
-
- // Unsupported (or unknown) event models:
- default:
- LOG(Plugins, "Plugin %@ uses unsupported event model: %d", _eventHandler.get(), eventModel);
- return NPERR_GENERIC_ERROR;
- }
- }
-
- default:
- return NPERR_GENERIC_ERROR;
- }
-}
-
-- (uint32_t)scheduleTimerWithInterval:(uint32_t)interval repeat:(NPBool)repeat timerFunc:(void (*)(NPP npp, uint32_t timerID))timerFunc
-{
- if (!timerFunc)
- return 0;
-
- if (!timers)
- timers = new HashMap<uint32_t, PluginTimer*>;
-
- uint32_t timerID;
-
- do {
- timerID = ++currentTimerID;
- } while (timers->contains(timerID) || timerID == 0);
-
- PluginTimer* timer = new PluginTimer(plugin, timerID, interval, repeat, timerFunc);
- timers->set(timerID, timer);
-
- if (_shouldFireTimers)
- timer->start(_isCompletelyObscured);
-
- return timerID;
-}
-
-- (void)unscheduleTimer:(uint32_t)timerID
-{
- if (!timers)
- return;
-
- if (PluginTimer* timer = timers->take(timerID))
- delete timer;
-}
-
-- (NPError)popUpContextMenu:(NPMenu *)menu
-{
- NSEvent *currentEvent = [NSApp currentEvent];
-
- // NPN_PopUpContextMenu must be called from within the plug-in's NPP_HandleEvent.
- if (!currentEvent)
- return NPERR_GENERIC_ERROR;
-
- [NSMenu popUpContextMenu:(NSMenu *)menu withEvent:currentEvent forView:self];
- return NPERR_NO_ERROR;
-}
-
-- (NPError)getVariable:(NPNURLVariable)variable forURL:(const char*)url value:(char**)value length:(uint32_t*)length
-{
- switch (variable) {
- case NPNURLVCookie: {
- if (!value)
- break;
-
- NSURL *URL = [self URLWithCString:url];
- if (!URL)
- break;
-
- if (Frame* frame = core([self webFrame])) {
- String cookieString = cookies(frame->document(), URL);
- CString cookieStringUTF8 = cookieString.utf8();
- if (cookieStringUTF8.isNull())
- return NPERR_GENERIC_ERROR;
-
- *value = static_cast<char*>(NPN_MemAlloc(cookieStringUTF8.length()));
- memcpy(*value, cookieStringUTF8.data(), cookieStringUTF8.length());
-
- if (length)
- *length = cookieStringUTF8.length();
- return NPERR_NO_ERROR;
- }
- break;
- }
- case NPNURLVProxy: {
- if (!value)
- break;
-
- NSURL *URL = [self URLWithCString:url];
- if (!URL)
- break;
-
- Vector<ProxyServer> proxyServers = proxyServersForURL(URL, 0);
- CString proxiesUTF8 = toString(proxyServers).utf8();
-
- *value = static_cast<char*>(NPN_MemAlloc(proxiesUTF8.length()));
- memcpy(*value, proxiesUTF8.data(), proxiesUTF8.length());
-
- if (length)
- *length = proxiesUTF8.length();
-
- return NPERR_NO_ERROR;
- }
- }
- return NPERR_GENERIC_ERROR;
-}
-
-- (NPError)setVariable:(NPNURLVariable)variable forURL:(const char*)url value:(const char*)value length:(uint32_t)length
-{
- switch (variable) {
- case NPNURLVCookie: {
- NSURL *URL = [self URLWithCString:url];
- if (!URL)
- break;
-
- String cookieString = String::fromUTF8(value, length);
- if (!cookieString)
- break;
-
- if (Frame* frame = core([self webFrame])) {
- setCookies(frame->document(), URL, cookieString);
- return NPERR_NO_ERROR;
- }
-
- break;
- }
- case NPNURLVProxy:
- // Can't set the proxy for a URL.
- break;
- }
- return NPERR_GENERIC_ERROR;
-}
-
-- (NPError)getAuthenticationInfoWithProtocol:(const char*)protocolStr host:(const char*)hostStr port:(int32_t)port scheme:(const char*)schemeStr realm:(const char*)realmStr
- username:(char**)usernameStr usernameLength:(uint32_t*)usernameLength
- password:(char**)passwordStr passwordLength:(uint32_t*)passwordLength
-{
- if (!protocolStr || !hostStr || !schemeStr || !realmStr || !usernameStr || !usernameLength || !passwordStr || !passwordLength)
- return NPERR_GENERIC_ERROR;
-
- CString username;
- CString password;
- if (!getAuthenticationInfo(protocolStr, hostStr, port, schemeStr, realmStr, username, password))
- return NPERR_GENERIC_ERROR;
-
- *usernameLength = username.length();
- *usernameStr = static_cast<char*>(NPN_MemAlloc(username.length()));
- memcpy(*usernameStr, username.data(), username.length());
-
- *passwordLength = password.length();
- *passwordStr = static_cast<char*>(NPN_MemAlloc(password.length()));
- memcpy(*passwordStr, password.data(), password.length());
-
- return NPERR_NO_ERROR;
-}
-
-- (char*)resolveURL:(const char*)url forTarget:(const char*)target
-{
- CString location = [self resolvedURLStringForURL:url target:target];
-
- if (location.isNull())
- return 0;
-
- // We use strdup here because the caller needs to free it with NPN_MemFree (which calls free).
- return strdup(location.data());
-}
-
-@end
-
-@implementation WebNetscapePluginView (Internal)
-
-- (BOOL)_shouldCancelSrcStream
-{
- ASSERT(_isStarted);
-
- // Check if we should cancel the load
- NPBool cancelSrcStream = 0;
- if ([_pluginPackage.get() pluginFuncs]->getvalue &&
- [_pluginPackage.get() pluginFuncs]->getvalue(plugin, NPPVpluginCancelSrcStream, &cancelSrcStream) == NPERR_NO_ERROR && cancelSrcStream)
- return YES;
-
- return NO;
-}
-
-// Work around Silverlight full screen performance issue by maintaining an accelerated GL pixel format.
-// We can safely remove it at some point in the future when both:
-// 1) Microsoft releases a genuine fix for 7288546.
-// 2) Enough Silverlight users update to the new Silverlight.
-// For now, we'll distinguish older broken versions of Silverlight by asking the plug-in if it resolved its full screen badness.
-- (void)_workaroundSilverlightFullscreenBug:(BOOL)initializedPlugin
-{
- ASSERT(_isSilverlight);
- NPBool isFullscreenPerformanceIssueFixed = 0;
- NPPluginFuncs *pluginFuncs = [_pluginPackage.get() pluginFuncs];
- if (pluginFuncs->getvalue && pluginFuncs->getvalue(plugin, static_cast<NPPVariable>(WKNVSilverlightFullscreenPerformanceIssueFixed), &isFullscreenPerformanceIssueFixed) == NPERR_NO_ERROR && isFullscreenPerformanceIssueFixed)
- return;
-
- static CGLPixelFormatObj pixelFormatObject = 0;
- static unsigned refCount = 0;
-
- if (initializedPlugin) {
- refCount++;
- if (refCount == 1) {
- const CGLPixelFormatAttribute attributes[] = { kCGLPFAAccelerated, static_cast<CGLPixelFormatAttribute>(0) };
- GLint npix;
- CGLChoosePixelFormat(attributes, &pixelFormatObject, &npix);
- }
- } else {
- ASSERT(pixelFormatObject);
- refCount--;
- if (!refCount)
- CGLReleasePixelFormat(pixelFormatObject);
- }
-}
-
-- (NPError)_createPlugin
-{
- plugin = (NPP)calloc(1, sizeof(NPP_t));
- plugin->ndata = self;
-
- ASSERT([_pluginPackage.get() pluginFuncs]->newp);
-
- // NPN_New(), which creates the plug-in instance, should never be called while calling a plug-in function for that instance.
- ASSERT(pluginFunctionCallDepth == 0);
-
- PluginMainThreadScheduler::scheduler().registerPlugin(plugin);
-
- _isFlash = [_pluginPackage.get() bundleIdentifier] == "com.macromedia.Flash Player.plugin";
- _isSilverlight = [_pluginPackage.get() bundleIdentifier] == "com.microsoft.SilverlightPlugin";
-
- [[self class] setCurrentPluginView:self];
- NPError npErr = [_pluginPackage.get() pluginFuncs]->newp((char *)[_MIMEType.get() cString], plugin, _mode, argsCount, cAttributes, cValues, NULL);
- [[self class] setCurrentPluginView:nil];
- if (_isSilverlight)
- [self _workaroundSilverlightFullscreenBug:YES];
- LOG(Plugins, "NPP_New: %d", npErr);
- return npErr;
-}
-
-- (void)_destroyPlugin
-{
- PluginMainThreadScheduler::scheduler().unregisterPlugin(plugin);
-
- if (_isSilverlight)
- [self _workaroundSilverlightFullscreenBug:NO];
-
- NPError npErr;
- npErr = ![_pluginPackage.get() pluginFuncs]->destroy(plugin, NULL);
- LOG(Plugins, "NPP_Destroy: %d", npErr);
-
- if (Frame* frame = core([self webFrame]))
- frame->script()->cleanupScriptObjectsForPlugin(self);
-
- free(plugin);
- plugin = NULL;
-}
-
-- (NSBitmapImageRep *)_printedPluginBitmap
-{
-#ifdef NP_NO_QUICKDRAW
- return nil;
-#else
- // Cannot print plugins that do not implement NPP_Print
- if (![_pluginPackage.get() pluginFuncs]->print)
- return nil;
-
- // This NSBitmapImageRep will share its bitmap buffer with a GWorld that the plugin will draw into.
- // The bitmap is created in 32-bits-per-pixel ARGB format, which is the default GWorld pixel format.
- NSBitmapImageRep *bitmap = [[[NSBitmapImageRep alloc] initWithBitmapDataPlanes:NULL
- pixelsWide:window.width
- pixelsHigh:window.height
- bitsPerSample:8
- samplesPerPixel:4
- hasAlpha:YES
- isPlanar:NO
- colorSpaceName:NSDeviceRGBColorSpace
- bitmapFormat:NSAlphaFirstBitmapFormat
- bytesPerRow:0
- bitsPerPixel:0] autorelease];
- ASSERT(bitmap);
-
- // Create a GWorld with the same underlying buffer into which the plugin can draw
- ::Rect printGWorldBounds;
- SetRect(&printGWorldBounds, 0, 0, window.width, window.height);
- GWorldPtr printGWorld;
- if (NewGWorldFromPtr(&printGWorld,
- k32ARGBPixelFormat,
- &printGWorldBounds,
- NULL,
- NULL,
- 0,
- (Ptr)[bitmap bitmapData],
- [bitmap bytesPerRow]) != noErr) {
- LOG_ERROR("Could not create GWorld for printing");
- return nil;
- }
-
- /// Create NPWindow for the GWorld
- NPWindow printNPWindow;
- printNPWindow.window = &printGWorld; // Normally this is an NP_Port, but when printing it is the actual CGrafPtr
- printNPWindow.x = 0;
- printNPWindow.y = 0;
- printNPWindow.width = window.width;
- printNPWindow.height = window.height;
- printNPWindow.clipRect.top = 0;
- printNPWindow.clipRect.left = 0;
- printNPWindow.clipRect.right = window.width;
- printNPWindow.clipRect.bottom = window.height;
- printNPWindow.type = NPWindowTypeDrawable; // Offscreen graphics port as opposed to a proper window
-
- // Create embed-mode NPPrint
- NPPrint npPrint;
- npPrint.mode = NP_EMBED;
- npPrint.print.embedPrint.window = printNPWindow;
- npPrint.print.embedPrint.platformPrint = printGWorld;
-
- // Tell the plugin to print into the GWorld
- [self willCallPlugInFunction];
- {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [_pluginPackage.get() pluginFuncs]->print(plugin, &npPrint);
- }
- [self didCallPlugInFunction];
-
- // Don't need the GWorld anymore
- DisposeGWorld(printGWorld);
-
- return bitmap;
-#endif
-}
-
-- (void)_redeliverStream
-{
- if ([self dataSource] && _isStarted) {
- // Deliver what has not been passed to the plug-in up to this point.
- if (_dataLengthReceived > 0) {
- NSData *data = [[[self dataSource] data] subdataWithRange:NSMakeRange(0, _dataLengthReceived)];
- _dataLengthReceived = 0;
- [self pluginView:self receivedData:data];
- if (![[self dataSource] isLoading]) {
- if (_error)
- [self pluginView:self receivedError:_error.get()];
- else
- [self pluginViewFinishedLoading:self];
- }
- }
- }
-}
-
-@end
-
-#endif
diff --git a/Source/WebKit/mac/Plugins/WebPlugin.h b/Source/WebKit/mac/Plugins/WebPlugin.h
deleted file mode 100644
index 797634f71..000000000
--- a/Source/WebKit/mac/Plugins/WebPlugin.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (C) 2004 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-#import <JavaScriptCore/WebKitAvailability.h>
-
-/*!
- WebPlugIn is an informal protocol that enables interaction between an application
- and web related plug-ins it may contain.
-*/
-
-@interface NSObject (WebPlugIn)
-
-/*!
- @method webPlugInInitialize
- @abstract Tell the plug-in to perform one-time initialization.
- @discussion This method must be only called once per instance of the plug-in
- object and must be called before any other methods in this protocol.
-*/
-- (void)webPlugInInitialize;
-
-/*!
- @method webPlugInStart
- @abstract Tell the plug-in to start normal operation.
- @discussion The plug-in usually begins drawing, playing sounds and/or
- animation in this method. This method must be called before calling webPlugInStop.
- This method may called more than once, provided that the application has
- already called webPlugInInitialize and that each call to webPlugInStart is followed
- by a call to webPlugInStop.
-*/
-- (void)webPlugInStart;
-
-/*!
- @method webPlugInStop
- @abstract Tell the plug-in to stop normal operation.
- @discussion webPlugInStop must be called before this method. This method may be
- called more than once, provided that the application has already called
- webPlugInInitialize and that each call to webPlugInStop is preceded by a call to
- webPlugInStart.
-*/
-- (void)webPlugInStop;
-
-/*!
- @method webPlugInDestroy
- @abstract Tell the plug-in perform cleanup and prepare to be deallocated.
- @discussion The plug-in typically releases memory and other resources in this
- method. If the plug-in has retained the WebPlugInContainer, it must release
- it in this mehthod. This method must be only called once per instance of the
- plug-in object. No other methods in this interface may be called after the
- application has called webPlugInDestroy.
-*/
-- (void)webPlugInDestroy;
-
-/*!
- @method webPlugInSetIsSelected:
- @discusssion Informs the plug-in whether or not it is selected. This is typically
- used to allow the plug-in to alter it's appearance when selected.
-*/
-- (void)webPlugInSetIsSelected:(BOOL)isSelected;
-
-/*!
- @method objectForWebScript
- @discussion objectForWebScript is used to expose a plug-in's scripting interface. The
- methods of the object are exposed to the script environment. See the WebScripting
- informal protocol for more details.
- @result Returns the object that exposes the plug-in's interface. The class of this
- object can implement methods from the WebScripting informal protocol.
-*/
-- (id)objectForWebScript;
-
-/*!
- @method webPlugInMainResourceDidReceiveResponse:
- @abstract Called on the plug-in when WebKit receives -connection:didReceiveResponse:
- for the plug-in's main resource.
- @discussion This method is only sent to the plug-in if the
- WebPlugInShouldLoadMainResourceKey argument passed to the plug-in was NO.
-*/
-- (void)webPlugInMainResourceDidReceiveResponse:(NSURLResponse *)response WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_IN_WEBKIT_VERSION_4_0);
-
-/*!
- @method webPlugInMainResourceDidReceiveData:
- @abstract Called on the plug-in when WebKit recieves -connection:didReceiveData:
- for the plug-in's main resource.
- @discussion This method is only sent to the plug-in if the
- WebPlugInShouldLoadMainResourceKey argument passed to the plug-in was NO.
-*/
-- (void)webPlugInMainResourceDidReceiveData:(NSData *)data WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_IN_WEBKIT_VERSION_4_0);
-
-/*!
- @method webPlugInMainResourceDidFailWithError:
- @abstract Called on the plug-in when WebKit receives -connection:didFailWithError:
- for the plug-in's main resource.
- @discussion This method is only sent to the plug-in if the
- WebPlugInShouldLoadMainResourceKey argument passed to the plug-in was NO.
-*/
-- (void)webPlugInMainResourceDidFailWithError:(NSError *)error WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_IN_WEBKIT_VERSION_4_0);
-
-/*!
- @method webPlugInMainResourceDidFinishLoading
- @abstract Called on the plug-in when WebKit receives -connectionDidFinishLoading:
- for the plug-in's main resource.
- @discussion This method is only sent to the plug-in if the
- WebPlugInShouldLoadMainResourceKey argument passed to the plug-in was NO.
-*/
-- (void)webPlugInMainResourceDidFinishLoading WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_IN_WEBKIT_VERSION_4_0);
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebPluginContainer.h b/Source/WebKit/mac/Plugins/WebPluginContainer.h
deleted file mode 100644
index 112b6770e..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginContainer.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2004 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-/*!
- This informal protocol enables a plug-in to request that its containing application
- perform certain operations.
-*/
-
-@interface NSObject (WebPlugInContainer)
-
-/*!
- @method webPlugInContainerLoadRequest:inFrame:
- @abstract Tell the application to show a URL in a target frame
- @param request The request to be loaded.
- @param target The target frame. If the frame with the specified target is not
- found, a new window is opened and the main frame of the new window is named
- with the specified target. If nil is specified, the frame that contains
- the applet is targeted.
-*/
-- (void)webPlugInContainerLoadRequest:(NSURLRequest *)request inFrame:(NSString *)target;
-
-/*!
- @method webPlugInContainerShowStatus:
- @abstract Tell the application to show the specified status message.
- @param message The string to be shown.
-*/
-- (void)webPlugInContainerShowStatus:(NSString *)message;
-
-/*!
- @method webPlugInContainerSelectionColor
- @result Returns the color that should be used for any special drawing when
- plug-in is selected.
-*/
-- (NSColor *)webPlugInContainerSelectionColor;
-
-/*!
- @method webFrame
- @discussion The webFrame method allows the plug-in to access the WebFrame that
- contains the plug-in. This method will not be implemented by containers that
- are not WebKit based.
- @result Return the WebFrame that contains the plug-in.
-*/
-- (WebFrame *)webFrame;
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebPluginContainerCheck.h b/Source/WebKit/mac/Plugins/WebPluginContainerCheck.h
deleted file mode 100644
index 419be510d..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginContainerCheck.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class NSURLRequest;
-@class NSString;
-@class WebFrame;
-@class WebView;
-@class WebPolicyDecisionListener;
-
-@protocol WebPluginContainerCheckController <NSObject>
-- (void)_webPluginContainerCancelCheckIfAllowedToLoadRequest:(id)checkIdentifier;
-- (WebFrame *)webFrame;
-- (WebView *)webView;
-@end
-
-@interface WebPluginContainerCheck : NSObject
-{
- NSURLRequest *_request;
- NSString *_target;
- id <WebPluginContainerCheckController> _controller;
- id _resultObject;
- SEL _resultSelector;
- id _contextInfo;
- BOOL _done;
- WebPolicyDecisionListener *_listener;
-}
-
-+ (id)checkWithRequest:(NSURLRequest *)request target:(NSString *)target resultObject:(id)obj selector:(SEL)selector controller:(id <WebPluginContainerCheckController>)controller contextInfo:(id)/*optional*/contextInfo;
-- (void)start;
-- (void)cancel;
-- (id)contextInfo;
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebPluginContainerCheck.mm b/Source/WebKit/mac/Plugins/WebPluginContainerCheck.mm
deleted file mode 100644
index 26bed7a45..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginContainerCheck.mm
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (C) 2005, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebPluginContainerCheck.h"
-
-#import "WebFrameInternal.h"
-#import "WebPluginContainerPrivate.h"
-#import "WebPluginController.h"
-#import "WebPolicyDelegatePrivate.h"
-#import "WebView.h"
-#import "WebViewInternal.h"
-#import <Foundation/NSDictionary.h>
-#import <Foundation/NSURL.h>
-#import <Foundation/NSURLRequest.h>
-#import <WebCore/Document.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/FrameLoaderTypes.h>
-#import <WebCore/SecurityOrigin.h>
-#import <wtf/Assertions.h>
-#import <wtf/ObjcRuntimeExtras.h>
-
-using namespace WebCore;
-
-@implementation WebPluginContainerCheck
-
-- (id)initWithRequest:(NSURLRequest *)request target:(NSString *)target resultObject:(id)obj selector:(SEL)selector controller:(id <WebPluginContainerCheckController>)controller contextInfo:(id)contextInfo /*optional*/
-{
- if (!(self = [super init]))
- return nil;
-
- _request = [request copy];
- _target = [target copy];
- _resultObject = [obj retain];
- _resultSelector = selector;
- _contextInfo = [contextInfo retain];
-
- // controller owns us so don't retain, to avoid cycle
- _controller = controller;
-
- return self;
-}
-
-+ (id)checkWithRequest:(NSURLRequest *)request target:(NSString *)target resultObject:(id)obj selector:(SEL)selector controller:(id <WebPluginContainerCheckController>)controller contextInfo:(id)contextInfo /*optional*/
-{
- return [[[self alloc] initWithRequest:request target:target resultObject:obj selector:selector controller:controller contextInfo:contextInfo] autorelease];
-}
-
-- (void)finalize
-{
- // mandatory to complete or cancel before releasing this object
- ASSERT(_done);
- [super finalize];
-}
-
-- (void)dealloc
-{
- // mandatory to complete or cancel before releasing this object
- ASSERT(_done);
- [super dealloc];
-}
-
-- (void)_continueWithPolicy:(PolicyAction)policy
-{
- if (_contextInfo)
- wtfObjcMsgSend<void>(_resultObject, _resultSelector, (policy == PolicyUse), _contextInfo);
- else
- wtfObjcMsgSend<void>(_resultObject, _resultSelector, (policy == PolicyUse));
-
- // this will call indirectly call cancel
- [_controller _webPluginContainerCancelCheckIfAllowedToLoadRequest:self];
-}
-
-- (BOOL)_isForbiddenFileLoad
-{
- Frame* coreFrame = core([_controller webFrame]);
- ASSERT(coreFrame);
- if (!coreFrame->document()->securityOrigin()->canDisplay([_request URL])) {
- [self _continueWithPolicy:PolicyIgnore];
- return YES;
- }
-
- return NO;
-}
-
-- (NSDictionary *)_actionInformationWithURL:(NSURL *)URL
-{
- return [NSDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithInt:WebNavigationTypePlugInRequest], WebActionNavigationTypeKey,
- [NSNumber numberWithInt:0], WebActionModifierFlagsKey,
- URL, WebActionOriginalURLKey,
- nil];
-}
-
-- (void)_askPolicyDelegate
-{
- WebView *webView = [_controller webView];
-
- WebFrame *targetFrame;
- if ([_target length] > 0) {
- targetFrame = [[_controller webFrame] findFrameNamed:_target];
- } else {
- targetFrame = [_controller webFrame];
- }
-
- NSDictionary *action = [self _actionInformationWithURL:[_request URL]];
-
- _listener = [[WebPolicyDecisionListener alloc] _initWithTarget:self action:@selector(_continueWithPolicy:)];
-
- if (targetFrame == nil) {
- // would open new window
- [[webView _policyDelegateForwarder] webView:webView
- decidePolicyForNewWindowAction:action
- request:_request
- newFrameName:_target
- decisionListener:_listener];
- } else {
- // would target existing frame
- [[webView _policyDelegateForwarder] webView:webView
- decidePolicyForNavigationAction:action
- request:_request
- frame:targetFrame
- decisionListener:_listener];
- }
-}
-
-- (void)start
-{
- ASSERT(!_listener);
- ASSERT(!_done);
-
- if ([self _isForbiddenFileLoad])
- return;
-
- [self _askPolicyDelegate];
-}
-
-- (void)cancel
-{
- if (_done)
- return;
-
- [_request release];
- _request = nil;
-
- [_target release];
- _target = nil;
-
- [_listener _invalidate];
- [_listener release];
- _listener = nil;
-
- [_resultObject autorelease];
- _resultObject = nil;
-
- _controller = nil;
-
- [_contextInfo release];
- _contextInfo = nil;
-
- _done = YES;
-}
-
-- (id)contextInfo
-{
- return _contextInfo;
-}
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebPluginContainerPrivate.h b/Source/WebKit/mac/Plugins/WebPluginContainerPrivate.h
deleted file mode 100644
index 1b8de418c..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginContainerPrivate.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-#if !defined(ENABLE_PLUGIN_PROXY_FOR_VIDEO)
-#define ENABLE_PLUGIN_PROXY_FOR_VIDEO 0
-#endif
-
-#if ENABLE_PLUGIN_PROXY_FOR_VIDEO
-@class WebMediaPlayerProxy;
-#endif
-
-@interface NSObject (WebPlugInContainerPrivate)
-
-- (id)_webPluginContainerCheckIfAllowedToLoadRequest:(NSURLRequest *)Request inFrame:(NSString *)target resultObject:(id)obj selector:(SEL)selector;
-
-- (void)_webPluginContainerCancelCheckIfAllowedToLoadRequest:(id)checkIdentifier;
-
-#if ENABLE_PLUGIN_PROXY_FOR_VIDEO
-- (void)_webPluginContainerSetMediaPlayerProxy:(WebMediaPlayerProxy *)proxy forElement:(DOMElement *)element;
-
-- (void)_webPluginContainerPostMediaPlayerNotification:(int)notification forElement:(DOMElement *)element;
-#endif
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebPluginController.h b/Source/WebKit/mac/Plugins/WebPluginController.h
deleted file mode 100644
index dc1f41374..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginController.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2005, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebBasePluginPackage.h>
-#import <WebKit/WebPluginContainerCheck.h>
-
-@class WebFrame;
-@class WebHTMLView;
-@class WebPluginPackage;
-@class WebView;
-@class WebDataSource;
-
-@interface WebPluginController : NSObject <WebPluginManualLoader, WebPluginContainerCheckController>
-{
- NSView *_documentView;
- WebDataSource *_dataSource;
- NSMutableArray *_views;
- BOOL _started;
- NSMutableSet *_checksInProgress;
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
- NSMutableArray *_viewsNotInDocument;
-#endif
-}
-
-+ (NSView *)plugInViewWithArguments:(NSDictionary *)arguments fromPluginPackage:(WebPluginPackage *)plugin;
-+ (BOOL)isPlugInView:(NSView *)view;
-
-- (id)initWithDocumentView:(NSView *)view;
-
-- (void)setDataSource:(WebDataSource *)dataSource;
-
-- (void)addPlugin:(NSView *)view;
-- (void)destroyPlugin:(NSView *)view;
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
-- (void)pluginViewCreated:(NSView *)view;
-+ (void)pluginViewHidden:(NSView *)view;
-#endif
-
-- (void)startAllPlugins;
-- (void)stopAllPlugins;
-- (void)destroyAllPlugins;
-
-- (WebFrame *)webFrame;
-- (WebView *)webView;
-
-- (NSString *)URLPolicyCheckReferrer;
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebPluginController.mm b/Source/WebKit/mac/Plugins/WebPluginController.mm
deleted file mode 100644
index bd47194b4..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginController.mm
+++ /dev/null
@@ -1,607 +0,0 @@
-/*
- * Copyright (C) 2005, 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-
-#import "WebPluginController.h"
-
-#import "DOMNodeInternal.h"
-#import "WebDataSourceInternal.h"
-#import "WebFrameInternal.h"
-#import "WebFrameView.h"
-#import "WebHTMLViewPrivate.h"
-#import "WebKitErrorsPrivate.h"
-#import "WebKitLogging.h"
-#import "WebNSObjectExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebNSViewExtras.h"
-#import "WebPlugin.h"
-#import "WebPluginContainer.h"
-#import "WebPluginContainerCheck.h"
-#import "WebPluginPackage.h"
-#import "WebPluginPrivate.h"
-#import "WebPluginViewFactory.h"
-#import "WebUIDelegate.h"
-#import "WebViewInternal.h"
-#import <Foundation/NSURLRequest.h>
-#import <WebCore/DocumentLoader.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoadRequest.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/HTMLMediaElement.h>
-#import <WebCore/HTMLNames.h>
-#import <WebCore/MediaPlayerProxy.h>
-#import <WebCore/ResourceRequest.h>
-#import <WebCore/ScriptController.h>
-#import <WebCore/WebCoreURLResponse.h>
-#import <objc/runtime.h>
-#import <runtime/JSLock.h>
-#import <wtf/text/WTFString.h>
-
-using namespace WebCore;
-using namespace HTMLNames;
-
-@interface NSView (PluginSecrets)
-- (void)setContainingWindow:(NSWindow *)w;
-@end
-
-// For compatibility only.
-@interface NSObject (OldPluginAPI)
-+ (NSView *)pluginViewWithArguments:(NSDictionary *)arguments;
-@end
-
-@interface NSView (OldPluginAPI)
-- (void)pluginInitialize;
-- (void)pluginStart;
-- (void)pluginStop;
-- (void)pluginDestroy;
-@end
-
-static bool isKindOfClass(id, NSString* className);
-static void installFlip4MacPlugInWorkaroundIfNecessary();
-
-
-static NSMutableSet *pluginViews = nil;
-
-@implementation WebPluginController
-
-+ (NSView *)plugInViewWithArguments:(NSDictionary *)arguments fromPluginPackage:(WebPluginPackage *)pluginPackage
-{
- [pluginPackage load];
- Class viewFactory = [pluginPackage viewFactory];
-
- NSView *view = nil;
-
- if ([viewFactory respondsToSelector:@selector(plugInViewWithArguments:)]) {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- view = [viewFactory plugInViewWithArguments:arguments];
- } else if ([viewFactory respondsToSelector:@selector(pluginViewWithArguments:)]) {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- view = [viewFactory pluginViewWithArguments:arguments];
- }
-
- if (view == nil) {
- return nil;
- }
-
- if (pluginViews == nil) {
- pluginViews = [[NSMutableSet alloc] init];
- }
- [pluginViews addObject:view];
-
- return view;
-}
-
-+ (BOOL)isPlugInView:(NSView *)view
-{
- return [pluginViews containsObject:view];
-}
-
-- (id)initWithDocumentView:(NSView *)view
-{
- self = [super init];
- if (!self)
- return nil;
- _documentView = view;
- _views = [[NSMutableArray alloc] init];
- _checksInProgress = (NSMutableSet *)CFMakeCollectable(CFSetCreateMutable(NULL, 0, NULL));
- return self;
-}
-
-- (void)setDataSource:(WebDataSource *)dataSource
-{
- _dataSource = dataSource;
-}
-
-- (void)dealloc
-{
- [_views release];
- [_checksInProgress release];
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
- [_viewsNotInDocument release];
-#endif
- [super dealloc];
-}
-
-- (void)stopOnePlugin:(NSView *)view
-{
- if ([view respondsToSelector:@selector(webPlugInStop)]) {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [view webPlugInStop];
- } else if ([view respondsToSelector:@selector(pluginStop)]) {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [view pluginStop];
- }
-}
-
-- (void)destroyOnePlugin:(NSView *)view
-{
- if ([view respondsToSelector:@selector(webPlugInDestroy)]) {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [view webPlugInDestroy];
- } else if ([view respondsToSelector:@selector(pluginDestroy)]) {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [view pluginDestroy];
- }
-}
-
-- (void)startAllPlugins
-{
- if (_started)
- return;
-
- if ([_views count] > 0)
- LOG(Plugins, "starting WebKit plugins : %@", [_views description]);
-
- 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(JSDOMWindowBase::commonVM());
- [aView webPlugInStart];
- } else if ([aView respondsToSelector:@selector(pluginStart)]) {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [aView pluginStart];
- }
- }
- _started = YES;
-}
-
-- (void)stopAllPlugins
-{
- if (!_started)
- return;
-
- if ([_views count] > 0) {
- LOG(Plugins, "stopping WebKit plugins: %@", [_views description]);
- }
-
- int viewsCount = [_views count];
- for (int i = 0; i < viewsCount; i++)
- [self stopOnePlugin:[_views objectAtIndex:i]];
-
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
- int viewsNotInDocumentCount = [_viewsNotInDocument count];
- for (int i = 0; i < viewsNotInDocumentCount; i++)
- [self stopOnePlugin:[_viewsNotInDocument objectAtIndex:i]];
-#endif
-
- _started = NO;
-}
-
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
-- (void)pluginViewCreated:(NSView *)view
-{
- if (!_viewsNotInDocument)
- _viewsNotInDocument= [[NSMutableArray alloc] init];
- if (![_viewsNotInDocument containsObject:view])
- [_viewsNotInDocument addObject:view];
-}
-
-+ (void)pluginViewHidden:(NSView *)view
-{
- [pluginViews removeObject:view];
-}
-#endif
-
-- (void)addPlugin:(NSView *)view
-{
- if (!_documentView) {
- LOG_ERROR("can't add a plug-in to a defunct WebPluginController");
- return;
- }
-
- if (![_views containsObject:view]) {
- [_views addObject:view];
- [[_documentView _webView] addPluginInstanceView:view];
-
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
- if ([_viewsNotInDocument containsObject:view])
- [_viewsNotInDocument removeObject:view];
-#endif
-
- BOOL oldDefersCallbacks = [[self webView] defersCallbacks];
- if (!oldDefersCallbacks)
- [[self webView] setDefersCallbacks:YES];
-
- if (isKindOfClass(view, @"WmvPlugin"))
- installFlip4MacPlugInWorkaroundIfNecessary();
-
- LOG(Plugins, "initializing plug-in %@", view);
- if ([view respondsToSelector:@selector(webPlugInInitialize)]) {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [view webPlugInInitialize];
- } else if ([view respondsToSelector:@selector(pluginInitialize)]) {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [view pluginInitialize];
- }
-
- if (!oldDefersCallbacks)
- [[self webView] setDefersCallbacks:NO];
-
- if (_started) {
- LOG(Plugins, "starting plug-in %@", view);
- if ([view respondsToSelector:@selector(webPlugInStart)]) {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [view webPlugInStart];
- } else if ([view respondsToSelector:@selector(pluginStart)]) {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [view pluginStart];
- }
-
- if ([view respondsToSelector:@selector(setContainingWindow:)]) {
- JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
- [view setContainingWindow:[_documentView window]];
- }
- }
- }
-}
-
-- (void)destroyPlugin:(NSView *)view
-{
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
- if ([_views containsObject:view] || [_viewsNotInDocument containsObject:view]) {
-#else
- if ([_views containsObject:view]) {
-#endif
- if (_started)
- [self stopOnePlugin:view];
- [self destroyOnePlugin:view];
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
- if (Frame* frame = core([self webFrame]))
- frame->script()->cleanupScriptObjectsForPlugin(self);
-#endif
-
- [pluginViews removeObject:view];
- [[_documentView _webView] removePluginInstanceView:view];
- [_views removeObject:view];
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
- [_viewsNotInDocument removeObject:view];
-#endif
- }
-}
-
-- (void)_webPluginContainerCancelCheckIfAllowedToLoadRequest:(id)checkIdentifier
-{
- [checkIdentifier cancel];
- [_checksInProgress removeObject:checkIdentifier];
-}
-
-static void cancelOutstandingCheck(const void *item, void *context)
-{
- [(id)item cancel];
-}
-
-- (void)_cancelOutstandingChecks
-{
- if (_checksInProgress) {
- CFSetApplyFunction((CFSetRef)_checksInProgress, cancelOutstandingCheck, NULL);
- [_checksInProgress release];
- _checksInProgress = nil;
- }
-}
-
-- (void)destroyAllPlugins
-{
- [self stopAllPlugins];
-
- if ([_views count] > 0) {
- LOG(Plugins, "destroying WebKit plugins: %@", [_views description]);
- }
-
- [self _cancelOutstandingChecks];
-
- int viewsCount = [_views count];
- for (int i = 0; i < viewsCount; i++) {
- id aView = [_views objectAtIndex:i];
- [self destroyOnePlugin:aView];
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
- if (Frame* frame = core([self webFrame]))
- frame->script()->cleanupScriptObjectsForPlugin(self);
-#endif
-
- [pluginViews removeObject:aView];
- [[_documentView _webView] removePluginInstanceView:aView];
- }
-
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
- int viewsNotInDocumentCount = [_viewsNotInDocument count];
- for (int i = 0; i < viewsNotInDocumentCount; i++)
- [self destroyOnePlugin:[_viewsNotInDocument objectAtIndex:i]];
-#endif
-
- [_views makeObjectsPerformSelector:@selector(removeFromSuperviewWithoutNeedingDisplay)];
- [_views release];
- _views = nil;
-
- _documentView = nil;
-}
-
-- (id)_webPluginContainerCheckIfAllowedToLoadRequest:(NSURLRequest *)request inFrame:(NSString *)target resultObject:(id)obj selector:(SEL)selector
-{
- WebPluginContainerCheck *check = [WebPluginContainerCheck checkWithRequest:request target:target resultObject:obj selector:selector controller:self contextInfo:nil];
- [_checksInProgress addObject:check];
- [check start];
-
- return check;
-}
-
-- (void)webPlugInContainerLoadRequest:(NSURLRequest *)request inFrame:(NSString *)target
-{
- if (!request) {
- LOG_ERROR("nil URL passed");
- return;
- }
- if (!_documentView) {
- LOG_ERROR("could not load URL %@ because plug-in has already been destroyed", request);
- return;
- }
- WebFrame *frame = [_dataSource webFrame];
- if (!frame) {
- LOG_ERROR("could not load URL %@ because plug-in has already been stopped", request);
- return;
- }
- if (!target) {
- target = @"_top";
- }
- NSString *JSString = [[request URL] _webkit_scriptIfJavaScriptURL];
- if (JSString) {
- if ([frame findFrameNamed:target] != frame) {
- LOG_ERROR("JavaScript requests can only be made on the frame that contains the plug-in");
- return;
- }
- [frame _stringByEvaluatingJavaScriptFromString:JSString];
- } else {
- if (!request) {
- LOG_ERROR("could not load URL %@", [request URL]);
- return;
- }
- FrameLoadRequest frameRequest(core(frame), request);
- frameRequest.setFrameName(target);
- frameRequest.setShouldCheckNewWindowPolicy(true);
- core(frame)->loader()->load(frameRequest);
- }
-}
-
-- (void)webPlugInContainerShowStatus:(NSString *)message
-{
- if (!message)
- message = @"";
-
- WebView *v = [_dataSource _webView];
- [[v _UIDelegateForwarder] webView:v setStatusText:message];
-}
-
-// For compatibility only.
-- (void)showStatus:(NSString *)message
-{
- [self webPlugInContainerShowStatus:message];
-}
-
-- (NSColor *)webPlugInContainerSelectionColor
-{
- bool primary = true;
- if (Frame* frame = core([self webFrame]))
- primary = frame->selection()->isFocusedAndActive();
- return primary ? [NSColor selectedTextBackgroundColor] : [NSColor secondarySelectedControlColor];
-}
-
-// For compatibility only.
-- (NSColor *)selectionColor
-{
- return [self webPlugInContainerSelectionColor];
-}
-
-- (WebFrame *)webFrame
-{
- return [_dataSource webFrame];
-}
-
-- (WebView *)webView
-{
- return [[self webFrame] webView];
-}
-
-- (NSString *)URLPolicyCheckReferrer
-{
- NSURL *responseURL = [[[[self webFrame] _dataSource] response] URL];
- ASSERT(responseURL);
- return [responseURL _web_originalDataAsString];
-}
-
-- (void)pluginView:(NSView *)pluginView receivedResponse:(NSURLResponse *)response
-{
- if ([pluginView respondsToSelector:@selector(webPlugInMainResourceDidReceiveResponse:)])
- [pluginView webPlugInMainResourceDidReceiveResponse:response];
- else {
- // Cancel the load since this plug-in does its own loading.
- // FIXME: See <rdar://problem/4258008> for a problem with this.
- NSError *error = [[NSError alloc] _initWithPluginErrorCode:WebKitErrorPlugInWillHandleLoad
- contentURL:[response URL]
- pluginPageURL:nil
- pluginName:nil // FIXME: Get this from somewhere
- MIMEType:[response MIMEType]];
- [_dataSource _documentLoader]->cancelMainResourceLoad(error);
- [error release];
- }
-}
-
-- (void)pluginView:(NSView *)pluginView receivedData:(NSData *)data
-{
- if ([pluginView respondsToSelector:@selector(webPlugInMainResourceDidReceiveData:)])
- [pluginView webPlugInMainResourceDidReceiveData:data];
-}
-
-- (void)pluginView:(NSView *)pluginView receivedError:(NSError *)error
-{
- if ([pluginView respondsToSelector:@selector(webPlugInMainResourceDidFailWithError:)])
- [pluginView webPlugInMainResourceDidFailWithError:error];
-}
-
-- (void)pluginViewFinishedLoading:(NSView *)pluginView
-{
- if ([pluginView respondsToSelector:@selector(webPlugInMainResourceDidFinishLoading)])
- [pluginView webPlugInMainResourceDidFinishLoading];
-}
-
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
-static WebCore::HTMLMediaElement* mediaProxyClient(DOMElement* element)
-{
- if (!element) {
- LOG_ERROR("nil element passed");
- return nil;
- }
-
- Element* node = core(element);
- if (!node || (!node->hasTagName(HTMLNames::videoTag) && !isHTMLAudioElement(node))) {
- LOG_ERROR("invalid media element passed");
- return nil;
- }
-
- return static_cast<WebCore::HTMLMediaElement*>(node);
-}
-
-- (void)_webPluginContainerSetMediaPlayerProxy:(WebMediaPlayerProxy *)proxy forElement:(DOMElement *)element
-{
- WebCore::HTMLMediaElement* client = mediaProxyClient(element);
- if (client)
- client->setMediaPlayerProxy(proxy);
-}
-
-- (void)_webPluginContainerPostMediaPlayerNotification:(int)notification forElement:(DOMElement *)element
-{
- WebCore::HTMLMediaElement* client = mediaProxyClient(element);
- if (client)
- client->deliverNotification((MediaPlayerProxyNotificationType)notification);
-}
-#endif
-
-@end
-
-static bool isKindOfClass(id object, NSString *className)
-{
- Class cls = NSClassFromString(className);
-
- if (!cls)
- return false;
-
- return [object isKindOfClass:cls];
-}
-
-
-// Existing versions of the Flip4Mac WebKit plug-in have an object lifetime bug related to an NSAlert that is
-// used to notify the user about updates to the plug-in. This bug can result in Safari crashing if the page
-// containing the plug-in navigates while the alert is displayed (<rdar://problem/7313430>).
-//
-// The gist of the bug is thus: Flip4Mac sets an instance of the TSUpdateCheck class as the modal delegate of the
-// NSAlert instance. This TSUpdateCheck instance itself has a delegate. The delegate is set to the WmvPlugin
-// instance which is the NSView subclass that is exposed to WebKit as the plug-in view. Since this relationship
-// is that of delegates the TSUpdateCheck does not retain the WmvPlugin. This leads to a bug if the WmvPlugin
-// instance is destroyed before the TSUpdateCheck instance as the TSUpdateCheck instance will be left with a
-// pointer to a stale object. This will happen if a page containing the Flip4Mac plug-in triggers a navigation
-// while the update sheet is visible as the WmvPlugin instance is removed from the view hierarchy and there are
-// no other references to keep the object alive.
-//
-// We work around this bug by patching the following two messages:
-//
-// 1) -[NSAlert beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:]
-// 2) -[TSUpdateCheck alertDidEnd:returnCode:contextInfo:]
-//
-// Our override of 1) detects whether it is Flip4Mac's update sheet triggering the alert by checking whether the
-// modal delegate is an instance of TSUpdateCheck. If it is, it retains the modal delegate's delegate.
-//
-// Our override of 2) then autoreleases the delegate, balancing the retain we added in 1).
-//
-// These two overrides have the effect of ensuring that the WmvPlugin instance will always outlive the TSUpdateCheck
-// instance, preventing the TSUpdateCheck instance from accessing a stale delegate pointer and crashing the application.
-
-
-typedef void (*beginSheetModalForWindowIMP)(id, SEL, NSWindow *, id, SEL, void*);
-static beginSheetModalForWindowIMP original_NSAlert_beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_;
-
-typedef void (*alertDidEndIMP)(id, SEL, NSAlert *, NSInteger, void*);
-static alertDidEndIMP original_TSUpdateCheck_alertDidEnd_returnCode_contextInfo_;
-
-static void WebKit_TSUpdateCheck_alertDidEnd_returnCode_contextInfo_(id object, SEL selector, NSAlert *alert, NSInteger returnCode, void* contextInfo)
-{
- [[object delegate] autorelease];
-
- original_TSUpdateCheck_alertDidEnd_returnCode_contextInfo_(object, selector, alert, returnCode, contextInfo);
-}
-
-static void WebKit_NSAlert_beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_(id object, SEL selector, NSWindow *window, id modalDelegate, SEL didEndSelector, void* contextInfo)
-{
- if (isKindOfClass(modalDelegate, @"TSUpdateCheck"))
- [[modalDelegate delegate] retain];
-
- original_NSAlert_beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_(object, selector, window, modalDelegate, didEndSelector, contextInfo);
-}
-
-static void installFlip4MacPlugInWorkaroundIfNecessary()
-{
- static bool hasInstalledFlip4MacPlugInWorkaround;
- if (!hasInstalledFlip4MacPlugInWorkaround) {
- Class TSUpdateCheck = objc_lookUpClass("TSUpdateCheck");
- if (!TSUpdateCheck)
- return;
-
- Method methodToPatch = class_getInstanceMethod(TSUpdateCheck, @selector(alertDidEnd:returnCode:contextInfo:));
- if (!methodToPatch)
- return;
-
- IMP originalMethod = method_setImplementation(methodToPatch, reinterpret_cast<IMP>(WebKit_TSUpdateCheck_alertDidEnd_returnCode_contextInfo_));
- original_TSUpdateCheck_alertDidEnd_returnCode_contextInfo_ = reinterpret_cast<alertDidEndIMP>(originalMethod);
-
- methodToPatch = class_getInstanceMethod(objc_getRequiredClass("NSAlert"), @selector(beginSheetModalForWindow:modalDelegate:didEndSelector:contextInfo:));
- originalMethod = method_setImplementation(methodToPatch, reinterpret_cast<IMP>(WebKit_NSAlert_beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_));
- original_NSAlert_beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_ = reinterpret_cast<beginSheetModalForWindowIMP>(originalMethod);
-
- hasInstalledFlip4MacPlugInWorkaround = true;
- }
-}
diff --git a/Source/WebKit/mac/Plugins/WebPluginDatabase.h b/Source/WebKit/mac/Plugins/WebPluginDatabase.h
deleted file mode 100644
index 15ff71c31..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginDatabase.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class WebBasePluginPackage;
-@class WebFrame;
-
-@interface WebPluginDatabase : NSObject
-{
- NSMutableDictionary *plugins;
- NSMutableSet *registeredMIMETypes;
- NSArray *plugInPaths;
-
- // Set of views with plugins attached
- NSMutableSet *pluginInstanceViews;
-}
-
-+ (WebPluginDatabase *)sharedDatabase;
-+ (void)closeSharedDatabase; // avoids creating the database just to close it
-
-// Plug-ins are returned in this order: New plug-in (WBPL), Mach-O Netscape
-- (WebBasePluginPackage *)pluginForMIMEType:(NSString *)mimeType;
-- (WebBasePluginPackage *)pluginForExtension:(NSString *)extension;
-
-- (BOOL)isMIMETypeRegistered:(NSString *)MIMEType;
-
-- (NSArray *)plugins;
-
-- (void)refresh;
-
-- (void)setPlugInPaths:(NSArray *)newPaths;
-
-- (void)close;
-
-- (void)addPluginInstanceView:(NSView *)view;
-- (void)removePluginInstanceView:(NSView *)view;
-- (void)removePluginInstanceViewsFor:(WebFrame *)webFrame;
-- (void)destroyAllPluginInstanceViews;
-@end
-
-@interface NSObject (WebPlugInDatabase)
-
-+ (void)setAdditionalWebPlugInPaths:(NSArray *)path;
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebPluginDatabase.mm b/Source/WebKit/mac/Plugins/WebPluginDatabase.mm
deleted file mode 100644
index 029dcb8fb..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginDatabase.mm
+++ /dev/null
@@ -1,475 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebPluginDatabase.h"
-
-#import "WebBaseNetscapePluginView.h"
-#import "WebBasePluginPackage.h"
-#import "WebDataSourcePrivate.h"
-#import "WebFrame.h"
-#import "WebFrameViewInternal.h"
-#import "WebHTMLRepresentation.h"
-#import "WebHTMLView.h"
-#import "WebKitLogging.h"
-#import "WebNSFileManagerExtras.h"
-#import "WebNetscapePluginPackage.h"
-#import "WebPluginController.h"
-#import "WebPluginPackage.h"
-#import "WebViewPrivate.h"
-#import "WebViewInternal.h"
-#import <WebKitSystemInterface.h>
-#import <wtf/Assertions.h>
-
-using namespace WebCore;
-
-static void checkCandidate(WebBasePluginPackage **currentPlugin, WebBasePluginPackage **candidatePlugin);
-
-@interface WebPluginDatabase (Internal)
-+ (NSArray *)_defaultPlugInPaths;
-- (NSArray *)_plugInPaths;
-- (void)_addPlugin:(WebBasePluginPackage *)plugin;
-- (void)_removePlugin:(WebBasePluginPackage *)plugin;
-- (NSMutableSet *)_scanForNewPlugins;
-@end
-
-@implementation WebPluginDatabase
-
-static WebPluginDatabase *sharedDatabase = nil;
-
-+ (WebPluginDatabase *)sharedDatabase
-{
- if (!sharedDatabase) {
- sharedDatabase = [[WebPluginDatabase alloc] init];
- [sharedDatabase setPlugInPaths:[self _defaultPlugInPaths]];
- [sharedDatabase refresh];
- }
-
- return sharedDatabase;
-}
-
-+ (void)closeSharedDatabase
-{
- [sharedDatabase close];
-}
-
-static void checkCandidate(WebBasePluginPackage **currentPlugin, WebBasePluginPackage **candidatePlugin)
-{
- if (!*currentPlugin) {
- *currentPlugin = *candidatePlugin;
- return;
- }
-
- if ([*currentPlugin bundleIdentifier] == [*candidatePlugin bundleIdentifier] && [*candidatePlugin versionNumber] > [*currentPlugin versionNumber])
- *currentPlugin = *candidatePlugin;
-}
-
-struct PluginPackageCandidates {
- PluginPackageCandidates()
- : webPlugin(nil)
- , netscapePlugin(nil)
- {
- }
-
- void update(WebBasePluginPackage *plugin)
- {
- if ([plugin isKindOfClass:[WebPluginPackage class]]) {
- checkCandidate(&webPlugin, &plugin);
- return;
- }
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
- if([plugin isKindOfClass:[WebNetscapePluginPackage class]]) {
- checkCandidate(&netscapePlugin, &plugin);
- return;
- }
-#endif
- ASSERT_NOT_REACHED();
- }
-
- WebBasePluginPackage *bestCandidate()
- {
- // Allow other plug-ins to win over QT because if the user has installed a plug-in that can handle a type
- // that the QT plug-in can handle, they probably intended to override QT.
- if (webPlugin && ![webPlugin isQuickTimePlugIn])
- return webPlugin;
-
- if (netscapePlugin && ![netscapePlugin isQuickTimePlugIn])
- return netscapePlugin;
-
- if (webPlugin)
- return webPlugin;
- if (netscapePlugin)
- return netscapePlugin;
-
- return nil;
- }
-
- WebBasePluginPackage *webPlugin;
- WebBasePluginPackage *netscapePlugin;
-};
-
-- (WebBasePluginPackage *)pluginForMIMEType:(NSString *)MIMEType
-{
- PluginPackageCandidates candidates;
-
- MIMEType = [MIMEType lowercaseString];
- NSEnumerator *pluginEnumerator = [plugins objectEnumerator];
-
- while (WebBasePluginPackage *plugin = [pluginEnumerator nextObject]) {
- if ([plugin supportsMIMEType:MIMEType])
- candidates.update(plugin);
- }
-
- return candidates.bestCandidate();
-}
-
-- (WebBasePluginPackage *)pluginForExtension:(NSString *)extension
-{
- PluginPackageCandidates candidates;
-
- extension = [extension lowercaseString];
- NSEnumerator *pluginEnumerator = [plugins objectEnumerator];
-
- while (WebBasePluginPackage *plugin = [pluginEnumerator nextObject]) {
- if ([plugin supportsExtension:extension])
- candidates.update(plugin);
- }
-
- WebBasePluginPackage *plugin = candidates.bestCandidate();
-
- if (!plugin) {
- // If no plug-in was found from the extension, attempt to map from the extension to a MIME type
- // and find the a plug-in from the MIME type. This is done in case the plug-in has not fully specified
- // an extension <-> MIME type mapping.
- NSString *MIMEType = WKGetMIMETypeForExtension(extension);
- if ([MIMEType length] > 0)
- plugin = [self pluginForMIMEType:MIMEType];
- }
- return plugin;
-}
-
-- (NSArray *)plugins
-{
- return [plugins allValues];
-}
-
-static NSArray *additionalWebPlugInPaths;
-
-+ (void)setAdditionalWebPlugInPaths:(NSArray *)additionalPaths
-{
- if (additionalPaths == additionalWebPlugInPaths)
- return;
-
- [additionalWebPlugInPaths release];
- additionalWebPlugInPaths = [additionalPaths copy];
-
- // One might be tempted to add additionalWebPlugInPaths to the global WebPluginDatabase here.
- // For backward compatibility with earlier versions of the +setAdditionalWebPlugInPaths: SPI,
- // we need to save a copy of the additional paths and not cause a refresh of the plugin DB
- // at this time.
- // See Radars 4608487 and 4609047.
-}
-
-- (void)setPlugInPaths:(NSArray *)newPaths
-{
- if (plugInPaths == newPaths)
- return;
-
- [plugInPaths release];
- plugInPaths = [newPaths copy];
-}
-
-- (void)close
-{
- NSEnumerator *pluginEnumerator = [[self plugins] objectEnumerator];
- WebBasePluginPackage *plugin;
- while ((plugin = [pluginEnumerator nextObject]) != nil)
- [self _removePlugin:plugin];
- [plugins release];
- plugins = nil;
-}
-
-- (id)init
-{
- if (!(self = [super init]))
- return nil;
-
- registeredMIMETypes = [[NSMutableSet alloc] init];
- pluginInstanceViews = [[NSMutableSet alloc] init];
-
- return self;
-}
-
-- (void)dealloc
-{
- [plugInPaths release];
- [plugins release];
- [registeredMIMETypes release];
- [pluginInstanceViews release];
-
- [super dealloc];
-}
-
-- (void)refresh
-{
- // This method does a bit of autoreleasing, so create an autorelease pool to ensure that calling
- // -refresh multiple times does not bloat the default pool.
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-
- // Create map from plug-in path to WebBasePluginPackage
- if (!plugins)
- plugins = [[NSMutableDictionary alloc] initWithCapacity:12];
-
- // Find all plug-ins on disk
- NSMutableSet *newPlugins = [self _scanForNewPlugins];
-
- // Find plug-ins to remove from database (i.e., plug-ins that no longer exist on disk)
- NSMutableSet *pluginsToRemove = [NSMutableSet set];
- NSEnumerator *pluginEnumerator = [plugins objectEnumerator];
- WebBasePluginPackage *plugin;
- while ((plugin = [pluginEnumerator nextObject]) != nil) {
- // Any plug-ins that were removed from disk since the last refresh should be removed from
- // the database.
- if (![newPlugins containsObject:plugin])
- [pluginsToRemove addObject:plugin];
-
- // Remove every member of 'plugins' from 'newPlugins'. After this loop exits, 'newPlugins'
- // will be the set of new plug-ins that should be added to the database.
- [newPlugins removeObject:plugin];
- }
-
-#if !LOG_DISABLED
- if ([newPlugins count] > 0)
- LOG(Plugins, "New plugins:\n%@", newPlugins);
- if ([pluginsToRemove count] > 0)
- LOG(Plugins, "Removed plugins:\n%@", pluginsToRemove);
-#endif
-
- // Remove plugins from database
- pluginEnumerator = [pluginsToRemove objectEnumerator];
- while ((plugin = [pluginEnumerator nextObject]) != nil)
- [self _removePlugin:plugin];
-
- // Add new plugins to database
- pluginEnumerator = [newPlugins objectEnumerator];
- while ((plugin = [pluginEnumerator nextObject]) != nil)
- [self _addPlugin:plugin];
-
- // Build a list of MIME types.
- NSMutableSet *MIMETypes = [[NSMutableSet alloc] init];
- pluginEnumerator = [plugins objectEnumerator];
- while ((plugin = [pluginEnumerator nextObject])) {
- const PluginInfo& pluginInfo = [plugin pluginInfo];
- for (size_t i = 0; i < pluginInfo.mimes.size(); ++i)
- [MIMETypes addObject:pluginInfo.mimes[i].type];
- }
-
- // Register plug-in views and representations.
- NSEnumerator *MIMEEnumerator = [MIMETypes objectEnumerator];
- NSString *MIMEType;
- while ((MIMEType = [MIMEEnumerator nextObject]) != nil) {
- [registeredMIMETypes addObject:MIMEType];
-
- if ([WebView canShowMIMETypeAsHTML:MIMEType])
- // Don't allow plug-ins to override our core HTML types.
- continue;
- plugin = [self pluginForMIMEType:MIMEType];
- if ([plugin isJavaPlugIn])
- // Don't register the Java plug-in for a document view since Java files should be downloaded when not embedded.
- continue;
- if ([plugin isQuickTimePlugIn] && [[WebFrameView _viewTypesAllowImageTypeOmission:NO] objectForKey:MIMEType])
- // Don't allow the QT plug-in to override any types because it claims many that we can handle ourselves.
- continue;
-
- if (self == sharedDatabase)
- [WebView _registerPluginMIMEType:MIMEType];
- }
- [MIMETypes release];
-
- [pool drain];
-}
-
-- (BOOL)isMIMETypeRegistered:(NSString *)MIMEType
-{
- return [registeredMIMETypes containsObject:MIMEType];
-}
-
-- (void)addPluginInstanceView:(NSView *)view
-{
- [pluginInstanceViews addObject:view];
-}
-
-- (void)removePluginInstanceView:(NSView *)view
-{
- [pluginInstanceViews removeObject:view];
-}
-
-- (void)removePluginInstanceViewsFor:(WebFrame*)webFrame
-{
- // This handles handles the case where a frame or view is being destroyed and the plugin needs to be removed from the list first
-
- if( [pluginInstanceViews count] == 0 )
- return;
-
- NSView <WebDocumentView> *documentView = [[webFrame frameView] documentView];
- if ([documentView isKindOfClass:[WebHTMLView class]]) {
- NSArray *subviews = [documentView subviews];
- unsigned int subviewCount = [subviews count];
- unsigned int subviewIndex;
-
- for (subviewIndex = 0; subviewIndex < subviewCount; subviewIndex++) {
- NSView *subview = [subviews objectAtIndex:subviewIndex];
-#if ENABLE(NETSCAPE_PLUGIN_API)
- if ([subview isKindOfClass:[WebBaseNetscapePluginView class]] || [WebPluginController isPlugInView:subview])
-#else
- if ([WebPluginController isPlugInView:subview])
-#endif
- [pluginInstanceViews removeObject:subview];
- }
- }
-}
-
-- (void)destroyAllPluginInstanceViews
-{
- NSView *view;
- NSArray *pli = [pluginInstanceViews allObjects];
- NSEnumerator *enumerator = [pli objectEnumerator];
- while ((view = [enumerator nextObject]) != nil) {
-#if ENABLE(NETSCAPE_PLUGIN_API)
- if ([view isKindOfClass:[WebBaseNetscapePluginView class]]) {
- ASSERT([view respondsToSelector:@selector(stop)]);
- [view performSelector:@selector(stop)];
- } else
-#endif
- if ([WebPluginController isPlugInView:view]) {
- ASSERT([[view superview] isKindOfClass:[WebHTMLView class]]);
- ASSERT([[view superview] respondsToSelector:@selector(_destroyAllWebPlugins)]);
- // this will actually destroy all plugin instances for a webHTMLView and remove them from this list
- [[view superview] performSelector:@selector(_destroyAllWebPlugins)];
- }
- }
-}
-
-@end
-
-@implementation WebPluginDatabase (Internal)
-
-+ (NSArray *)_defaultPlugInPaths
-{
- // Plug-ins are found in order of precedence.
- // If there are duplicates, the first found plug-in is used.
- // For example, if there is a QuickTime.plugin in the users's home directory
- // that is used instead of the /Library/Internet Plug-ins version.
- // The purpose is to allow non-admin users to update their plug-ins.
- return [NSArray arrayWithObjects:
- [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Internet Plug-Ins"],
- @"/Library/Internet Plug-Ins",
- [[NSBundle mainBundle] builtInPlugInsPath],
- nil];
-}
-
-- (NSArray *)_plugInPaths
-{
- if (self == sharedDatabase && additionalWebPlugInPaths) {
- // Add additionalWebPlugInPaths to the global WebPluginDatabase. We do this here for
- // backward compatibility with earlier versions of the +setAdditionalWebPlugInPaths: SPI,
- // which simply saved a copy of the additional paths and did not cause the plugin DB to
- // refresh. See Radars 4608487 and 4609047.
- NSMutableArray *modifiedPlugInPaths = [[plugInPaths mutableCopy] autorelease];
- [modifiedPlugInPaths addObjectsFromArray:additionalWebPlugInPaths];
- return modifiedPlugInPaths;
- } else
- return plugInPaths;
-}
-
-- (void)_addPlugin:(WebBasePluginPackage *)plugin
-{
- ASSERT(plugin);
- NSString *pluginPath = [plugin path];
- ASSERT(pluginPath);
- [plugins setObject:plugin forKey:pluginPath];
- [plugin wasAddedToPluginDatabase:self];
-}
-
-- (void)_removePlugin:(WebBasePluginPackage *)plugin
-{
- ASSERT(plugin);
-
- // Unregister plug-in's MIME type registrations
- const PluginInfo& pluginInfo = [plugin pluginInfo];
- for (size_t i = 0; i < pluginInfo.mimes.size(); ++i) {
- NSString *MIMEType = pluginInfo.mimes[i].type;
-
- if ([registeredMIMETypes containsObject:MIMEType]) {
- if (self == sharedDatabase)
- [WebView _unregisterPluginMIMEType:MIMEType];
- [registeredMIMETypes removeObject:MIMEType];
- }
- }
-
- // Remove plug-in from database
- NSString *pluginPath = [plugin path];
- ASSERT(pluginPath);
- [plugin retain];
- [plugins removeObjectForKey:pluginPath];
- [plugin wasRemovedFromPluginDatabase:self];
- [plugin release];
-}
-
-- (NSMutableSet *)_scanForNewPlugins
-{
- NSMutableSet *newPlugins = [NSMutableSet set];
- NSEnumerator *directoryEnumerator = [[self _plugInPaths] objectEnumerator];
- NSMutableSet *uniqueFilenames = [[NSMutableSet alloc] init];
- NSFileManager *fileManager = [NSFileManager defaultManager];
- NSString *pluginDirectory;
- while ((pluginDirectory = [directoryEnumerator nextObject]) != nil) {
- // Get contents of each plug-in directory
- NSEnumerator *filenameEnumerator = [[fileManager contentsOfDirectoryAtPath:pluginDirectory error:NULL] objectEnumerator];
- NSString *filename;
- while ((filename = [filenameEnumerator nextObject]) != nil) {
- // Unique plug-ins by filename
- if ([uniqueFilenames containsObject:filename])
- continue;
- [uniqueFilenames addObject:filename];
-
- // Create a plug-in package for this path
- NSString *pluginPath = [pluginDirectory stringByAppendingPathComponent:filename];
- WebBasePluginPackage *pluginPackage = [plugins objectForKey:pluginPath];
- if (!pluginPackage)
- pluginPackage = [WebBasePluginPackage pluginWithPath:pluginPath];
- if (pluginPackage)
- [newPlugins addObject:pluginPackage];
- }
- }
- [uniqueFilenames release];
-
- return newPlugins;
-}
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebPluginPackage.h b/Source/WebKit/mac/Plugins/WebPluginPackage.h
deleted file mode 100644
index f8c8146a9..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginPackage.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import <WebKit/WebBasePluginPackage.h>
-
-@protocol WebPluginViewFactory;
-
-@interface WebPluginPackage : WebBasePluginPackage {
- NSBundle *nsBundle;
-}
-
-- (Class)viewFactory;
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebPluginPackage.mm b/Source/WebKit/mac/Plugins/WebPluginPackage.mm
deleted file mode 100644
index a60806887..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginPackage.mm
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebPluginPackage.h>
-
-#import <WebKit/WebKitLogging.h>
-#import <WebKit/WebKitNSStringExtras.h>
-
-NSString *WebPlugInBaseURLKey = @"WebPlugInBaseURLKey";
-NSString *WebPlugInAttributesKey = @"WebPlugInAttributesKey";
-NSString *WebPlugInContainerKey = @"WebPlugInContainerKey";
-NSString *WebPlugInModeKey = @"WebPlugInModeKey";
-NSString *WebPlugInShouldLoadMainResourceKey = @"WebPlugInShouldLoadMainResourceKey";
-NSString *WebPlugInContainingElementKey = @"WebPlugInContainingElementKey";
-
-@implementation WebPluginPackage
-
-- (id)initWithPath:(NSString *)pluginPath
-{
- if (!(self = [super initWithPath:pluginPath]))
- return nil;
-
- nsBundle = [[NSBundle alloc] initWithPath:path];
-
- if (!nsBundle) {
- [self release];
- return nil;
- }
-
- if (![[pluginPath pathExtension] _webkit_isCaseInsensitiveEqualToString:@"webplugin"]) {
- UInt32 type = 0;
- CFBundleGetPackageInfo(cfBundle.get(), &type, NULL);
- if (type != FOUR_CHAR_CODE('WBPL')) {
- [self release];
- return nil;
- }
- }
-
- NSFileHandle *executableFile = [NSFileHandle fileHandleForReadingAtPath:[nsBundle executablePath]];
- NSData *data = [executableFile readDataOfLength:512];
- [executableFile closeFile];
- if (![self isNativeLibraryData:data]) {
- [self release];
- return nil;
- }
-
- if (![self getPluginInfoFromPLists]) {
- [self release];
- return nil;
- }
-
- return self;
-}
-
-- (void)dealloc
-{
- [nsBundle release];
-
- [super dealloc];
-}
-
-- (Class)viewFactory
-{
- return [nsBundle principalClass];
-}
-
-- (BOOL)load
-{
-#if !LOG_DISABLED
- CFAbsoluteTime start = CFAbsoluteTimeGetCurrent();
-#endif
-
- // Load the bundle
- if (![nsBundle isLoaded]) {
- if (![nsBundle load])
- return NO;
- }
-
-#if !LOG_DISABLED
- CFAbsoluteTime duration = CFAbsoluteTimeGetCurrent() - start;
- LOG(Plugins, "principalClass took %f seconds for: %@", duration, (NSString *)[self pluginInfo].name);
-#endif
- return [super load];
-}
-
-@end
-
-@implementation NSObject (WebScripting)
-
-+ (BOOL)isSelectorExcludedFromWebScript:(SEL)aSelector
-{
- return YES;
-}
-
-+ (BOOL)isKeyExcludedFromWebScript:(const char *)name
-{
- return YES;
-}
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebPluginPrivate.h b/Source/WebKit/mac/Plugins/WebPluginPrivate.h
deleted file mode 100644
index 56e4a3ae9..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginPrivate.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2004 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-@interface NSObject (WebPlugInPrivate)
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebPluginRequest.h b/Source/WebKit/mac/Plugins/WebPluginRequest.h
deleted file mode 100644
index 5336dcb70..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginRequest.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2005, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-@interface WebPluginRequest : NSObject
-{
- NSURLRequest *_request;
- NSString *_frameName;
- void *_notifyData;
- BOOL _didStartFromUserGesture;
- BOOL _sendNotification;
-}
-
-- (id)initWithRequest:(NSURLRequest *)request frameName:(NSString *)frameName notifyData:(void *)notifyData sendNotification:(BOOL)sendNotification didStartFromUserGesture:(BOOL)currentEventIsUserGesture;
-
-- (NSURLRequest *)request;
-- (NSString *)frameName;
-- (void *)notifyData;
-- (BOOL)isCurrentEventUserGesture;
-- (BOOL)sendNotification;
-
-@end
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
diff --git a/Source/WebKit/mac/Plugins/WebPluginRequest.m b/Source/WebKit/mac/Plugins/WebPluginRequest.m
deleted file mode 100644
index 7ca34076e..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginRequest.m
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2005, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-#import "WebPluginRequest.h"
-
-@implementation WebPluginRequest
-
-- (id)initWithRequest:(NSURLRequest *)request frameName:(NSString *)frameName notifyData:(void *)notifyData sendNotification:(BOOL)sendNotification didStartFromUserGesture:(BOOL)currentEventIsUserGesture
-{
- self = [super init];
- if (!self)
- return nil;
- _didStartFromUserGesture = currentEventIsUserGesture;
- _request = [request retain];
- _frameName = [frameName retain];
- _notifyData = notifyData;
- _sendNotification = sendNotification;
- return self;
-}
-
-- (void)dealloc
-{
- [_request release];
- [_frameName release];
- [super dealloc];
-}
-
-- (NSURLRequest *)request
-{
- return _request;
-}
-
-- (NSString *)frameName
-{
- return _frameName;
-}
-
-- (BOOL)isCurrentEventUserGesture
-{
- return _didStartFromUserGesture;
-}
-
-- (BOOL)sendNotification
-{
- return _sendNotification;
-}
-
-- (void *)notifyData
-{
- return _notifyData;
-}
-
-@end
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
diff --git a/Source/WebKit/mac/Plugins/WebPluginViewFactory.h b/Source/WebKit/mac/Plugins/WebPluginViewFactory.h
deleted file mode 100644
index a21590665..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginViewFactory.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (C) 2004 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-#import <JavaScriptCore/WebKitAvailability.h>
-
-/*!
- @constant WebPlugInBaseURLKey REQUIRED. The base URL of the document containing
- the plug-in's view.
-*/
-extern NSString *WebPlugInBaseURLKey;
-
-/*!
- @constant WebPlugInAttributesKey REQUIRED. The dictionary containing the names
- and values of all attributes of the HTML element associated with the plug-in AND
- the names and values of all parameters to be passed to the plug-in (e.g. PARAM
- elements within an APPLET element). In the case of a conflict between names,
- the attributes of an element take precedence over any PARAMs. All of the keys
- and values in this NSDictionary must be NSStrings.
-*/
-extern NSString *WebPlugInAttributesKey;
-
-/*!
- @constant WebPlugInContainer OPTIONAL. An object that conforms to the
- WebPlugInContainer informal protocol. This object is used for
- callbacks from the plug-in to the app. if this argument is nil, no callbacks will
- occur.
-*/
-extern NSString *WebPlugInContainerKey;
-
-/*!
- @constant WebPlugInContainingElementKey The DOMElement that was used to specify
- the plug-in. May be nil.
-*/
-extern NSString *WebPlugInContainingElementKey;
-
-/*!
- @constant WebPlugInShouldLoadMainResourceKey REQUIRED. NSNumber (BOOL) indicating whether the plug-in should load its
- own main resource (the "src" URL, in most cases). If YES, the plug-in should load its own main resource. If NO, the
- plug-in should use the data provided by WebKit. See -webPlugInMainResourceReceivedData: in WebPluginPrivate.h.
- For compatibility with older versions of WebKit, the plug-in should assume that the value for
- WebPlugInShouldLoadMainResourceKey is NO if it is absent from the arguments dictionary.
- */
-extern NSString *WebPlugInShouldLoadMainResourceKey AVAILABLE_IN_WEBKIT_VERSION_4_0;
-
-/*!
- @protocol WebPlugInViewFactory
- @discussion WebPlugInViewFactory are used to create the NSView for a plug-in.
- The principal class of the plug-in bundle must implement this protocol.
-*/
-
-@protocol WebPlugInViewFactory <NSObject>
-
-/*!
- @method plugInViewWithArguments:
- @param arguments The arguments dictionary with the mentioned keys and objects. This method is required to implement.
- @result Returns an NSView object that conforms to the WebPlugIn informal protocol.
-*/
-+ (NSView *)plugInViewWithArguments:(NSDictionary *)arguments;
-
-@end
diff --git a/Source/WebKit/mac/Plugins/WebPluginViewFactoryPrivate.h b/Source/WebKit/mac/Plugins/WebPluginViewFactoryPrivate.h
deleted file mode 100644
index 51d428370..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginViewFactoryPrivate.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebPluginViewFactory.h>
-
-typedef enum {
- WebPlugInModeEmbed = 0,
- WebPlugInModeFull = 1
-} WebPlugInMode;
-
-/*!
- @constant WebPlugInModeKey REQUIRED. Number with one of the values from the WebPlugInMode enum.
-*/
-extern NSString *WebPlugInModeKey;
diff --git a/Source/WebKit/mac/Plugins/WebPluginsPrivate.h b/Source/WebKit/mac/Plugins/WebPluginsPrivate.h
deleted file mode 100644
index fc0067d66..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginsPrivate.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-// WebPluginWillPresentNativeUserInterfaceNotification is sent by plugins to notify the WebKit client
-// application that the plugin will present a dialog or some other "native" user interface to the user.
-// This is currently only needed by Dashboard, which must hide itself when a plugin presents a dialog
-// box (4318632).
-extern NSString *WebPluginWillPresentNativeUserInterfaceNotification;
diff --git a/Source/WebKit/mac/Plugins/WebPluginsPrivate.m b/Source/WebKit/mac/Plugins/WebPluginsPrivate.m
deleted file mode 100644
index 79896b66f..000000000
--- a/Source/WebKit/mac/Plugins/WebPluginsPrivate.m
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebPluginsPrivate.h"
-
-NSString *WebPluginWillPresentNativeUserInterfaceNotification = @"WebPluginWillPresentNativeUserInterface";
diff --git a/Source/WebKit/mac/Plugins/npapi.mm b/Source/WebKit/mac/Plugins/npapi.mm
deleted file mode 100644
index 8b1cfd65c..000000000
--- a/Source/WebKit/mac/Plugins/npapi.mm
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-#import <WebKit/npapi.h>
-
-#import "WebNetscapePluginView.h"
-#import "WebKitLogging.h"
-#import <WebCore/PluginMainThreadScheduler.h>
-
-using namespace WebCore;
-
-WebNetscapePluginView *pluginViewForInstance(NPP instance);
-
-// general plug-in to browser functions
-
-void* NPN_MemAlloc(uint32_t size)
-{
- return malloc(size);
-}
-
-void NPN_MemFree(void* ptr)
-{
- free(ptr);
-}
-
-uint32_t NPN_MemFlush(uint32_t size)
-{
- LOG(Plugins, "NPN_MemFlush");
- return size;
-}
-
-void NPN_ReloadPlugins(NPBool reloadPages)
-{
- LOG(Plugins, "NPN_ReloadPlugins");
-}
-
-NPError NPN_RequestRead(NPStream* stream, NPByteRange* rangeList)
-{
- LOG(Plugins, "NPN_RequestRead");
- return NPERR_GENERIC_ERROR;
-}
-
-// instance-specific functions
-// The plugin view is always the ndata of the instance. Sometimes, plug-ins will call an instance-specific function
-// with a NULL instance. To workaround this, call the last plug-in view that made a call to a plug-in.
-// Currently, the current plug-in view is only set before NPP_New in [WebNetscapePluginView start].
-// This specifically works around Flash and Shockwave. When we call NPP_New, they call NPN_UserAgent with a NULL instance.
-WebNetscapePluginView *pluginViewForInstance(NPP instance)
-{
- if (instance && instance->ndata)
- return (WebNetscapePluginView *)instance->ndata;
- else
- return [WebNetscapePluginView currentPluginView];
-}
-
-NPError NPN_GetURLNotify(NPP instance, const char* URL, const char* target, void* notifyData)
-{
- return [pluginViewForInstance(instance) getURLNotify:URL target:target notifyData:notifyData];
-}
-
-NPError NPN_GetURL(NPP instance, const char* URL, const char* target)
-{
- return [pluginViewForInstance(instance) getURL:URL target:target];
-}
-
-NPError NPN_PostURLNotify(NPP instance, const char* URL, const char* target, uint32_t len, const char* buf, NPBool file, void* notifyData)
-{
- return [pluginViewForInstance(instance) postURLNotify:URL target:target len:len buf:buf file:file notifyData:notifyData];
-}
-
-NPError NPN_PostURL(NPP instance, const char* URL, const char* target, uint32_t len, const char* buf, NPBool file)
-{
- return [pluginViewForInstance(instance) postURL:URL target:target len:len buf:buf file:file];
-}
-
-NPError NPN_NewStream(NPP instance, NPMIMEType type, const char* target, NPStream** stream)
-{
- return [pluginViewForInstance(instance) newStream:type target:target stream:stream];
-}
-
-int32_t NPN_Write(NPP instance, NPStream* stream, int32_t len, void* buffer)
-{
- return [pluginViewForInstance(instance) write:stream len:len buffer:buffer];
-}
-
-NPError NPN_DestroyStream(NPP instance, NPStream* stream, NPReason reason)
-{
- return [pluginViewForInstance(instance) destroyStream:stream reason:reason];
-}
-
-const char* NPN_UserAgent(NPP instance)
-{
- return [pluginViewForInstance(instance) userAgent];
-}
-
-void NPN_Status(NPP instance, const char* message)
-{
- [pluginViewForInstance(instance) status:message];
-}
-
-void NPN_InvalidateRect(NPP instance, NPRect *invalidRect)
-{
- [pluginViewForInstance(instance) invalidateRect:invalidRect];
-}
-
-void NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion)
-{
- [pluginViewForInstance(instance) invalidateRegion:invalidRegion];
-}
-
-void NPN_ForceRedraw(NPP instance)
-{
- [pluginViewForInstance(instance) forceRedraw];
-}
-
-NPError NPN_GetValue(NPP instance, NPNVariable variable, void *value)
-{
- return [pluginViewForInstance(instance) getVariable:variable value:value];
-}
-
-NPError NPN_SetValue(NPP instance, NPPVariable variable, void *value)
-{
- return [pluginViewForInstance(instance) setVariable:variable value:value];
-}
-
-// Unsupported functions
-
-void* NPN_GetJavaEnv(void)
-{
- LOG(Plugins, "NPN_GetJavaEnv");
- return NULL;
-}
-
-void* NPN_GetJavaPeer(NPP instance)
-{
- LOG(Plugins, "NPN_GetJavaPeer");
- return NULL;
-}
-
-void NPN_PushPopupsEnabledState(NPP instance, NPBool enabled)
-{
-}
-
-void NPN_PopPopupsEnabledState(NPP instance)
-{
-}
-
-void NPN_PluginThreadAsyncCall(NPP instance, void (*func) (void *), void *userData)
-{
- PluginMainThreadScheduler::scheduler().scheduleCall(instance, func, userData);
-}
-
-uint32_t NPN_ScheduleTimer(NPP instance, uint32_t interval, NPBool repeat, void (*timerFunc)(NPP npp, uint32_t timerID))
-{
- return [pluginViewForInstance(instance) scheduleTimerWithInterval:interval repeat:repeat timerFunc:timerFunc];
-}
-
-void NPN_UnscheduleTimer(NPP instance, uint32_t timerID)
-{
- [pluginViewForInstance(instance) unscheduleTimer:timerID];
-}
-
-NPError NPN_PopUpContextMenu(NPP instance, NPMenu *menu)
-{
- return [pluginViewForInstance(instance) popUpContextMenu:menu];
-}
-
-NPError NPN_GetValueForURL(NPP instance, NPNURLVariable variable, const char* url, char** value, uint32_t* len)
-{
- return [pluginViewForInstance(instance) getVariable:variable forURL:url value:value length:len];
-}
-
-NPError NPN_SetValueForURL(NPP instance, NPNURLVariable variable, const char* url, const char* value, uint32_t len)
-{
- return [pluginViewForInstance(instance) setVariable:variable forURL:url value:value length:len];
-}
-
-NPError NPN_GetAuthenticationInfo(NPP instance, const char* protocol, const char* host, int32_t port, const char* scheme, const char *realm, char** username, uint32_t* ulen, char** password, uint32_t* plen)
-{
- return [pluginViewForInstance(instance) getAuthenticationInfoWithProtocol:protocol
- host:host
- port:port
- scheme:scheme
- realm:realm
- username:username usernameLength:ulen
- password:password passwordLength:plen];
-}
-
-NPBool NPN_ConvertPoint(NPP instance, double sourceX, double sourceY, NPCoordinateSpace sourceSpace, double *destX, double *destY, NPCoordinateSpace destSpace)
-{
- return [pluginViewForInstance(instance) convertFromX:sourceX andY:sourceY space:sourceSpace toX:destX andY:destY space:destSpace];
-}
-
-uint32_t WKN_CheckIfAllowedToLoadURL(NPP instance, const char* url, const char* frame, void (*callbackFunc)(NPP npp, uint32_t, NPBool, void*), void* context)
-{
- return [pluginViewForInstance(instance) checkIfAllowedToLoadURL:url frame:frame callbackFunc:callbackFunc context:context];
-}
-
-void WKN_CancelCheckIfAllowedToLoadURL(NPP instance, uint32_t checkID)
-{
- [pluginViewForInstance(instance) cancelCheckIfAllowedToLoadURL:checkID];
-}
-
-char* WKN_ResolveURL(NPP instance, const char* url, const char* target)
-{
- return [pluginViewForInstance(instance) resolveURL:url forTarget:target];
-}
-
-#endif
diff --git a/Source/WebKit/mac/PublicHeaderChangesFromTiger.txt b/Source/WebKit/mac/PublicHeaderChangesFromTiger.txt
deleted file mode 100644
index f8cb96ad2..000000000
--- a/Source/WebKit/mac/PublicHeaderChangesFromTiger.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-This file lists changes to WebKit public header files that have been made since WebKit-412, which shipped with Mac OS X 10.4. All of these changes will have to be approved by the Apple API approval process, or rolled out, before Apple ships a new version of WebKit.
-
-When you make changes to public header files, please update this file, in the same general style as the ChangeLog file (new entries at top).
-===============================================
-
-2005-08-01 John Sullivan <sullivan@apple.com>
-
-Removed -[DOMHTMLInputElement isTextField] from DOMExtensions.h. I changed it to _isTextField and put it in
-DOMPrivate.h instead, until we decide what we want to do about the public API.
-
-2005-07-22 John Sullivan <sullivan@apple.com>
-
-Added -[DOMHTMLInputElement isTextField] to DOMExtensions.h (in WebCore, copied by build steps to WebKit).
-This is used by autocomplete code in Safari and could be moved there, but is a better fit in WebKit and
-is useful for developers.
-
-2005-06-22 John Sullivan <sullivan@apple.com>
-
-Added the following values to the enum of WebMenuItem tags in WebUIDelegate.h:
-
- WebMenuItemTagOpenWithDefaultApplication,
- WebMenuItemPDFActualSize,
- WebMenuItemPDFZoomIn,
- WebMenuItemPDFZoomOut,
- WebMenuItemPDFAutoSize,
- WebMenuItemPDFSinglePage,
- WebMenuItemPDFFacingPages,
- WebMenuItemPDFContinuous,
- WebMenuItemPDFNextPage,
- WebMenuItemPDFPreviousPage,
-
-These are all used by the context menu for PDF documents.
diff --git a/Source/WebKit/mac/Resources/Dock.pdf b/Source/WebKit/mac/Resources/Dock.pdf
deleted file mode 100644
index 88e93a775..000000000
--- a/Source/WebKit/mac/Resources/Dock.pdf
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/mac/Resources/url_icon.tiff b/Source/WebKit/mac/Resources/url_icon.tiff
deleted file mode 100644
index 2b1b153cf..000000000
--- a/Source/WebKit/mac/Resources/url_icon.tiff
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/mac/Storage/WebDatabaseManager.mm b/Source/WebKit/mac/Storage/WebDatabaseManager.mm
deleted file mode 100644
index 49b5618c7..000000000
--- a/Source/WebKit/mac/Storage/WebDatabaseManager.mm
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebDatabaseManagerPrivate.h"
-
-#if ENABLE(SQL_DATABASE)
-
-#import "WebDatabaseManagerClient.h"
-#import "WebPlatformStrategies.h"
-#import "WebSecurityOriginInternal.h"
-
-#import <WebCore/DatabaseManager.h>
-#import <WebCore/SecurityOrigin.h>
-
-using namespace WebCore;
-
-NSString *WebDatabaseDirectoryDefaultsKey = @"WebDatabaseDirectory";
-
-NSString *WebDatabaseDisplayNameKey = @"WebDatabaseDisplayNameKey";
-NSString *WebDatabaseExpectedSizeKey = @"WebDatabaseExpectedSizeKey";
-NSString *WebDatabaseUsageKey = @"WebDatabaseUsageKey";
-
-NSString *WebDatabaseDidModifyOriginNotification = @"WebDatabaseDidModifyOriginNotification";
-NSString *WebDatabaseDidModifyDatabaseNotification = @"WebDatabaseDidModifyDatabaseNotification";
-NSString *WebDatabaseIdentifierKey = @"WebDatabaseIdentifierKey";
-
-static NSString *databasesDirectoryPath();
-
-@implementation WebDatabaseManager
-
-+ (WebDatabaseManager *) sharedWebDatabaseManager
-{
- static WebDatabaseManager *sharedManager = [[WebDatabaseManager alloc] init];
- return sharedManager;
-}
-
-- (id)init
-{
- if (!(self = [super init]))
- return nil;
-
- WebPlatformStrategies::initializeIfNecessary();
-
- DatabaseManager& dbManager = DatabaseManager::manager();
-
- // Set the database root path in WebCore
- dbManager.initialize(databasesDirectoryPath());
-
- // Set the DatabaseManagerClient
- dbManager.setClient(WebDatabaseManagerClient::sharedWebDatabaseManagerClient());
-
- return self;
-}
-
-- (NSArray *)origins
-{
- Vector<RefPtr<SecurityOrigin> > coreOrigins;
- DatabaseManager::manager().origins(coreOrigins);
- NSMutableArray *webOrigins = [[NSMutableArray alloc] initWithCapacity:coreOrigins.size()];
-
- for (unsigned i = 0; i < coreOrigins.size(); ++i) {
- WebSecurityOrigin *webOrigin = [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:coreOrigins[i].get()];
- [webOrigins addObject:webOrigin];
- [webOrigin release];
- }
-
- return [webOrigins autorelease];
-}
-
-- (NSArray *)databasesWithOrigin:(WebSecurityOrigin *)origin
-{
- Vector<String> nameVector;
- if (!DatabaseManager::manager().databaseNamesForOrigin([origin _core], nameVector))
- return nil;
-
- NSMutableArray *names = [[NSMutableArray alloc] initWithCapacity:nameVector.size()];
-
- for (unsigned i = 0; i < nameVector.size(); ++i)
- [names addObject:(NSString *)nameVector[i]];
-
- return [names autorelease];
-}
-
-- (NSDictionary *)detailsForDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin
-{
- static id keys[3] = {WebDatabaseDisplayNameKey, WebDatabaseExpectedSizeKey, WebDatabaseUsageKey};
-
- DatabaseDetails details = DatabaseManager::manager().detailsForNameAndOrigin(databaseIdentifier, [origin _core]);
- if (details.name().isNull())
- return nil;
-
- id objects[3];
- objects[0] = details.displayName().isEmpty() ? databaseIdentifier : (NSString *)details.displayName();
- objects[1] = [NSNumber numberWithUnsignedLongLong:details.expectedUsage()];
- objects[2] = [NSNumber numberWithUnsignedLongLong:details.currentUsage()];
-
- return [[[NSDictionary alloc] initWithObjects:objects forKeys:keys count:3] autorelease];
-}
-
-- (void)deleteAllDatabases
-{
- DatabaseManager::manager().deleteAllDatabases();
-}
-
-- (BOOL)deleteOrigin:(WebSecurityOrigin *)origin
-{
- return DatabaseManager::manager().deleteOrigin([origin _core]);
-}
-
-- (BOOL)deleteDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin
-{
- return DatabaseManager::manager().deleteDatabase([origin _core], databaseIdentifier);
-}
-
-@end
-
-static NSString *databasesDirectoryPath()
-{
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- NSString *databasesDirectory = [defaults objectForKey:WebDatabaseDirectoryDefaultsKey];
- if (!databasesDirectory || ![databasesDirectory isKindOfClass:[NSString class]])
- databasesDirectory = @"~/Library/WebKit/Databases";
-
- return [databasesDirectory stringByStandardizingPath];
-}
-
-#endif
diff --git a/Source/WebKit/mac/Storage/WebDatabaseManagerClient.mm b/Source/WebKit/mac/Storage/WebDatabaseManagerClient.mm
deleted file mode 100644
index 02e73f3cb..000000000
--- a/Source/WebKit/mac/Storage/WebDatabaseManagerClient.mm
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (C) 2007,2012 Apple 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 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 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.
- */
-
-#import "WebDatabaseManagerClient.h"
-
-#if ENABLE(SQL_DATABASE)
-
-#import "WebDatabaseManagerPrivate.h"
-#import "WebSecurityOriginInternal.h"
-#import <wtf/MainThread.h>
-#import <wtf/RetainPtr.h>
-#import <WebCore/SecurityOrigin.h>
-
-using namespace WebCore;
-
-WebDatabaseManagerClient* WebDatabaseManagerClient::sharedWebDatabaseManagerClient()
-{
- static WebDatabaseManagerClient* sharedClient = new WebDatabaseManagerClient();
- return sharedClient;
-}
-
-WebDatabaseManagerClient::WebDatabaseManagerClient()
-{
-}
-
-WebDatabaseManagerClient::~WebDatabaseManagerClient()
-{
-}
-
-class DidModifyOriginData {
- WTF_MAKE_NONCOPYABLE(DidModifyOriginData);
-public:
- static void dispatchToMainThread(WebDatabaseManagerClient* client, SecurityOrigin* origin)
- {
- DidModifyOriginData* context = new DidModifyOriginData(client, origin->isolatedCopy());
- callOnMainThread(&DidModifyOriginData::dispatchDidModifyOriginOnMainThread, context);
- }
-
-private:
- DidModifyOriginData(WebDatabaseManagerClient* client, PassRefPtr<SecurityOrigin> origin)
- : client(client)
- , origin(origin)
- {
- }
-
- static void dispatchDidModifyOriginOnMainThread(void* context)
- {
- ASSERT(isMainThread());
- DidModifyOriginData* info = static_cast<DidModifyOriginData*>(context);
- info->client->dispatchDidModifyOrigin(info->origin.get());
- delete info;
- }
-
- WebDatabaseManagerClient* client;
- RefPtr<SecurityOrigin> origin;
-};
-
-void WebDatabaseManagerClient::dispatchDidModifyOrigin(SecurityOrigin* origin)
-{
- if (!isMainThread()) {
- DidModifyOriginData::dispatchToMainThread(this, origin);
- return;
- }
-
- RetainPtr<WebSecurityOrigin> webSecurityOrigin = adoptNS([[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:origin]);
-
- [[NSNotificationCenter defaultCenter] postNotificationName:WebDatabaseDidModifyOriginNotification
- object:webSecurityOrigin.get()];
-}
-
-void WebDatabaseManagerClient::dispatchDidModifyDatabase(SecurityOrigin* origin, const String& databaseIdentifier)
-{
- if (!isMainThread()) {
- DidModifyOriginData::dispatchToMainThread(this, origin);
- return;
- }
-
- RetainPtr<WebSecurityOrigin> webSecurityOrigin = adoptNS([[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:origin]);
- RetainPtr<NSDictionary> userInfo = adoptNS([[NSDictionary alloc]
- initWithObjectsAndKeys:(NSString *)databaseIdentifier, WebDatabaseIdentifierKey, nil]);
-
- [[NSNotificationCenter defaultCenter] postNotificationName:WebDatabaseDidModifyDatabaseNotification
- object:webSecurityOrigin.get()
- userInfo:userInfo.get()];
-}
-
-#endif
diff --git a/Source/WebKit/mac/Storage/WebDatabaseManagerPrivate.h b/Source/WebKit/mac/Storage/WebDatabaseManagerPrivate.h
deleted file mode 100644
index 6ce7e25ac..000000000
--- a/Source/WebKit/mac/Storage/WebDatabaseManagerPrivate.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#if ENABLE(SQL_DATABASE)
-
-extern NSString *WebDatabaseDirectoryDefaultsKey;
-
-extern NSString *WebDatabaseDisplayNameKey;
-extern NSString *WebDatabaseExpectedSizeKey;
-extern NSString *WebDatabaseUsageKey;
-
-// Posted with an origin is created from scratch, gets a new database, has a database deleted, has a quota change, etc
-// The notification object will be a WebSecurityOrigin object corresponding to the origin.
-extern NSString *WebDatabaseDidModifyOriginNotification;
-
-// Posted when a database is created, its size increases, its display name changes, or its estimated size changes, or the database is removed
-// The notification object will be a WebSecurityOrigin object corresponding to the origin.
-// The notification userInfo will have a WebDatabaseNameKey whose value is the database name.
-extern NSString *WebDatabaseDidModifyDatabaseNotification;
-extern NSString *WebDatabaseIdentifierKey;
-
-@class WebSecurityOrigin;
-
-@interface WebDatabaseManager : NSObject
-
-+ (WebDatabaseManager *)sharedWebDatabaseManager;
-
-// Will return an array of WebSecurityOrigin objects.
-- (NSArray *)origins;
-
-// Will return an array of strings, the identifiers of each database in the given origin.
-- (NSArray *)databasesWithOrigin:(WebSecurityOrigin *)origin;
-
-// Will return the dictionary describing everything about the database for the passed identifier and origin.
-- (NSDictionary *)detailsForDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin;
-
-- (void)deleteAllDatabases; // Deletes all databases and all origins.
-- (BOOL)deleteOrigin:(WebSecurityOrigin *)origin;
-- (BOOL)deleteDatabase:(NSString *)databaseIdentifier withOrigin:(WebSecurityOrigin *)origin;
-
-@end
-
-#endif
diff --git a/Source/WebKit/mac/Storage/WebDatabaseQuotaManager.h b/Source/WebKit/mac/Storage/WebDatabaseQuotaManager.h
deleted file mode 100644
index 8219da400..000000000
--- a/Source/WebKit/mac/Storage/WebDatabaseQuotaManager.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebQuotaManager.h"
-
-@interface WebDatabaseQuotaManager : NSObject <WebQuotaManager> {
- WebSecurityOrigin *_origin;
-}
-
-@end
diff --git a/Source/WebKit/mac/Storage/WebDatabaseQuotaManager.mm b/Source/WebKit/mac/Storage/WebDatabaseQuotaManager.mm
deleted file mode 100644
index 138830c4f..000000000
--- a/Source/WebKit/mac/Storage/WebDatabaseQuotaManager.mm
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2007, 2010 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebDatabaseQuotaManager.h"
-
-#import "WebSecurityOriginInternal.h"
-#import <WebCore/DatabaseManager.h>
-
-using namespace WebCore;
-
-@implementation WebDatabaseQuotaManager
-
-- (id)initWithOrigin:(WebSecurityOrigin *)origin
-{
- self = [super init];
- if (!self)
- return nil;
-
- _origin = origin;
- return self;
-}
-
-- (WebSecurityOrigin *)origin
-{
- return _origin;
-}
-
-- (unsigned long long)usage
-{
-#if ENABLE(SQL_DATABASE)
- return DatabaseManager::manager().usageForOrigin([_origin _core]);
-#else
- return 0;
-#endif
-}
-
-- (unsigned long long)quota
-{
-#if ENABLE(SQL_DATABASE)
- return DatabaseManager::manager().quotaForOrigin([_origin _core]);
-#else
- return 0;
-#endif
-}
-
-// If the quota is set to a value lower than the current usage, that quota will
-// "stick" but no data will be purged to meet the new quota. This will simply
-// prevent new data from being added to databases in that origin.
-- (void)setQuota:(unsigned long long)quota
-{
-#if ENABLE(SQL_DATABASE)
- DatabaseManager::manager().setQuota([_origin _core], quota);
-#endif
-}
-
-@end
diff --git a/Source/WebKit/mac/Storage/WebStorageManager.mm b/Source/WebKit/mac/Storage/WebStorageManager.mm
deleted file mode 100644
index ed3247e36..000000000
--- a/Source/WebKit/mac/Storage/WebStorageManager.mm
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (C) 2011 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebSecurityOriginInternal.h"
-#import "WebStorageManagerPrivate.h"
-#import "WebStorageManagerInternal.h"
-#import "WebStorageTrackerClient.h"
-
-#import <WebCore/PageGroup.h>
-#import <WebCore/SecurityOrigin.h>
-#import <WebCore/StorageTracker.h>
-#import <pthread.h>
-
-using namespace WebCore;
-
-NSString * const WebStorageDirectoryDefaultsKey = @"WebKitLocalStorageDatabasePathPreferenceKey";
-NSString * const WebStorageDidModifyOriginNotification = @"WebStorageDidModifyOriginNotification";
-
-static NSString *sLocalStoragePath;
-static void initializeLocalStoragePath();
-static pthread_once_t registerLocalStoragePath = PTHREAD_ONCE_INIT;
-
-@implementation WebStorageManager
-
-+ (WebStorageManager *)sharedWebStorageManager
-{
- static WebStorageManager *sharedManager = [[WebStorageManager alloc] init];
- return sharedManager;
-}
-
-- (NSArray *)origins
-{
- Vector<RefPtr<SecurityOrigin> > coreOrigins;
-
- StorageTracker::tracker().origins(coreOrigins);
-
- NSMutableArray *webOrigins = [[NSMutableArray alloc] initWithCapacity:coreOrigins.size()];
-
- for (size_t i = 0; i < coreOrigins.size(); ++i) {
- WebSecurityOrigin *webOrigin = [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:coreOrigins[i].get()];
- [webOrigins addObject:webOrigin];
- [webOrigin release];
- }
-
- return [webOrigins autorelease];
-}
-
-- (void)deleteAllOrigins
-{
- StorageTracker::tracker().deleteAllOrigins();
-}
-
-- (void)deleteOrigin:(WebSecurityOrigin *)origin
-{
- StorageTracker::tracker().deleteOrigin([origin _core]);
-}
-
-- (unsigned long long)diskUsageForOrigin:(WebSecurityOrigin *)origin
-{
- return StorageTracker::tracker().diskUsageForOrigin([origin _core]);
-}
-
-- (void)syncLocalStorage
-{
- PageGroup::syncLocalStorage();
-}
-
-- (void)syncFileSystemAndTrackerDatabase
-{
- StorageTracker::tracker().syncFileSystemAndTrackerDatabase();
-}
-
-+ (NSString *)_storageDirectoryPath
-{
- pthread_once(&registerLocalStoragePath, initializeLocalStoragePath);
- return sLocalStoragePath;
-}
-
-+ (void)setStorageDatabaseIdleInterval:(double)interval
-{
- StorageTracker::tracker().setStorageDatabaseIdleInterval(interval);
-}
-
-+ (void)closeIdleLocalStorageDatabases
-{
- PageGroup::closeIdleLocalStorageDatabases();
-}
-
-static void initializeLocalStoragePath()
-{
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- sLocalStoragePath = [defaults objectForKey:WebStorageDirectoryDefaultsKey];
- if (!sLocalStoragePath || ![sLocalStoragePath isKindOfClass:[NSString class]]) {
- NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
- NSString *libraryDirectory = [paths objectAtIndex:0];
- sLocalStoragePath = [libraryDirectory stringByAppendingPathComponent:@"WebKit/LocalStorage"];
- }
- sLocalStoragePath = [[sLocalStoragePath stringByStandardizingPath] retain];
-}
-
-void WebKitInitializeStorageIfNecessary()
-{
- static BOOL initialized = NO;
- if (initialized)
- return;
-
- StorageTracker::initializeTracker([WebStorageManager _storageDirectoryPath], WebStorageTrackerClient::sharedWebStorageTrackerClient());
-
- initialized = YES;
-}
-
-@end
diff --git a/Source/WebKit/mac/Storage/WebStorageManagerInternal.h b/Source/WebKit/mac/Storage/WebStorageManagerInternal.h
deleted file mode 100644
index 688b4bc73..000000000
--- a/Source/WebKit/mac/Storage/WebStorageManagerInternal.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2011 Apple 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 INC. 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 INC. 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.
- */
-
-void WebKitInitializeStorageIfNecessary();
diff --git a/Source/WebKit/mac/Storage/WebStorageManagerPrivate.h b/Source/WebKit/mac/Storage/WebStorageManagerPrivate.h
deleted file mode 100644
index e7ca4e8a4..000000000
--- a/Source/WebKit/mac/Storage/WebStorageManagerPrivate.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2011 Apple 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 INC. 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 INC. 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.
- */
-
-extern NSString * const WebStorageDirectoryDefaultsKey;
-extern NSString * const WebStorageDidModifyOriginNotification;
-
-@class WebSecurityOrigin;
-
-@interface WebStorageManager : NSObject
-
-+ (WebStorageManager *)sharedWebStorageManager;
-
-// Returns an array of WebSecurityOrigin objects that have LocalStorage.
-- (NSArray *)origins;
-
-- (void)deleteAllOrigins;
-- (void)deleteOrigin:(WebSecurityOrigin *)origin;
-- (unsigned long long)diskUsageForOrigin:(WebSecurityOrigin *)origin;
-
-- (void)syncLocalStorage;
-- (void)syncFileSystemAndTrackerDatabase;
-
-+ (NSString *)_storageDirectoryPath;
-+ (void)setStorageDatabaseIdleInterval:(double)interval;
-+ (void)closeIdleLocalStorageDatabases;
-@end
-
diff --git a/Source/WebKit/mac/Storage/WebStorageTrackerClient.h b/Source/WebKit/mac/Storage/WebStorageTrackerClient.h
deleted file mode 100644
index f3f25717f..000000000
--- a/Source/WebKit/mac/Storage/WebStorageTrackerClient.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2011 Apple 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 INC. 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 INC. 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.
- */
-
-#import <WebCore/SecurityOrigin.h>
-#import <WebCore/StorageTrackerClient.h>
-
-using namespace WebCore;
-
-class WebStorageTrackerClient : public WebCore::StorageTrackerClient {
-public:
- static WebStorageTrackerClient* sharedWebStorageTrackerClient();
- static void dispatchDidModifyOriginOnMainThread(void* context);
-
- virtual ~WebStorageTrackerClient();
- virtual void dispatchDidModifyOrigin(const String& originIdentifier);
- virtual void dispatchDidModifyOrigin(PassRefPtr<SecurityOrigin>);
-
-private:
- WebStorageTrackerClient();
-
- // WebCore::StorageTrackerClient
- virtual void didFinishLoadingOrigins() OVERRIDE;
-};
diff --git a/Source/WebKit/mac/Storage/WebStorageTrackerClient.mm b/Source/WebKit/mac/Storage/WebStorageTrackerClient.mm
deleted file mode 100644
index 49183b44e..000000000
--- a/Source/WebKit/mac/Storage/WebStorageTrackerClient.mm
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2011 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebStorageTrackerClient.h"
-
-#import "WebSecurityOriginInternal.h"
-#import "WebStorageManagerPrivate.h"
-#import <WebCore/SecurityOrigin.h>
-#import <wtf/MainThread.h>
-#import <wtf/RetainPtr.h>
-#import <wtf/text/WTFString.h>
-
-using namespace WebCore;
-
-WebStorageTrackerClient* WebStorageTrackerClient::sharedWebStorageTrackerClient()
-{
- static WebStorageTrackerClient* sharedClient = new WebStorageTrackerClient();
- return sharedClient;
-}
-
-WebStorageTrackerClient::WebStorageTrackerClient()
-{
-}
-
-WebStorageTrackerClient::~WebStorageTrackerClient()
-{
-}
-
-void WebStorageTrackerClient::dispatchDidModifyOriginOnMainThread(void* context)
-{
- ASSERT(isMainThread());
- // adoptRef is balanced by leakRef in dispatchDidModifyOrigin.
- RefPtr<SecurityOrigin> origin = adoptRef(static_cast<SecurityOrigin*>(context));
- WebStorageTrackerClient::sharedWebStorageTrackerClient()->dispatchDidModifyOrigin(origin.get());
-}
-
-void WebStorageTrackerClient::dispatchDidModifyOrigin(PassRefPtr<SecurityOrigin> origin)
-{
- RetainPtr<WebSecurityOrigin> webSecurityOrigin = adoptNS([[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:origin.get()]);
-
- [[NSNotificationCenter defaultCenter] postNotificationName:WebStorageDidModifyOriginNotification
- object:webSecurityOrigin.get()];
-}
-
-void WebStorageTrackerClient::dispatchDidModifyOrigin(const String& originIdentifier)
-{
- PassRefPtr<SecurityOrigin> origin = SecurityOrigin::createFromDatabaseIdentifier(originIdentifier);
-
- if (!isMainThread()) {
- // leakRef is balanced by adoptRef in dispatchDidModifyOriginOnMainThread.
- callOnMainThread(dispatchDidModifyOriginOnMainThread, origin.leakRef());
- return;
- }
-
- dispatchDidModifyOrigin(origin);
-}
-
-void WebStorageTrackerClient::didFinishLoadingOrigins()
-{
-}
diff --git a/Source/WebKit/mac/WebCoreSupport/CorrectionPanel.h b/Source/WebKit/mac/WebCoreSupport/CorrectionPanel.h
deleted file mode 100644
index cf6c2e448..000000000
--- a/Source/WebKit/mac/WebCoreSupport/CorrectionPanel.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2011 Apple 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 INC. 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 INC. 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 CorrectionPanel_h
-#define CorrectionPanel_h
-
-#import <AppKit/NSSpellChecker.h>
-#import <WebCore/AlternativeTextClient.h>
-#import <wtf/RetainPtr.h>
-
-#if USE(AUTOCORRECTION_PANEL)
-
-@class WebView;
-
-class CorrectionPanel {
- WTF_MAKE_NONCOPYABLE(CorrectionPanel);
-public:
- CorrectionPanel();
- ~CorrectionPanel();
- void show(WebView*, WebCore::AlternativeTextType, const WebCore::FloatRect& boundingBoxOfReplacedString, const String& replacedString, const String& replacementString, const Vector<String>& alternativeReplacementStrings);
- String dismiss(WebCore::ReasonForDismissingAlternativeText);
- static void recordAutocorrectionResponse(WebView*, NSCorrectionResponse, const String& replacedString, const String& replacementString);
-
-private:
- bool isShowing() const { return m_view; }
- String dismissInternal(WebCore::ReasonForDismissingAlternativeText, bool dismissingExternally);
- void handleAcceptedReplacement(NSString* acceptedReplacement, NSString* replaced, NSString* proposedReplacement, NSCorrectionIndicatorType);
-
- bool m_wasDismissedExternally;
- WebCore::ReasonForDismissingAlternativeText m_reasonForDismissing;
- RetainPtr<WebView> m_view;
- RetainPtr<NSString> m_resultForDismissal;
-};
-
-#endif // USE(AUTOCORRECTION_PANEL)
-
-#endif // CorrectionPanel_h
diff --git a/Source/WebKit/mac/WebCoreSupport/CorrectionPanel.mm b/Source/WebKit/mac/WebCoreSupport/CorrectionPanel.mm
deleted file mode 100644
index d73d0df91..000000000
--- a/Source/WebKit/mac/WebCoreSupport/CorrectionPanel.mm
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (C) 2011 Apple 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 INC. 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 INC. 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.
- */
-#import "CorrectionPanel.h"
-
-#import "WebViewInternal.h"
-
-#if USE(AUTOCORRECTION_PANEL)
-using namespace WebCore;
-
-static inline NSCorrectionIndicatorType correctionIndicatorType(AlternativeTextType alternativeTextType)
-{
- switch (alternativeTextType) {
- case AlternativeTextTypeCorrection:
- return NSCorrectionIndicatorTypeDefault;
- case AlternativeTextTypeReversion:
- return NSCorrectionIndicatorTypeReversion;
- case AlternativeTextTypeSpellingSuggestions:
- return NSCorrectionIndicatorTypeGuesses;
- case AlternativeTextTypeDictationAlternatives:
- ASSERT_NOT_REACHED();
- break;
- }
- ASSERT_NOT_REACHED();
- return NSCorrectionIndicatorTypeDefault;
-}
-
-CorrectionPanel::CorrectionPanel()
- : m_wasDismissedExternally(false)
- , m_reasonForDismissing(ReasonForDismissingAlternativeTextIgnored)
-{
-}
-
-CorrectionPanel::~CorrectionPanel()
-{
- dismissInternal(ReasonForDismissingAlternativeTextIgnored, false);
-}
-
-void CorrectionPanel::show(WebView* view, AlternativeTextType type, const FloatRect& boundingBoxOfReplacedString, const String& replacedString, const String& replacementString, const Vector<String>& alternativeReplacementStrings)
-{
- dismissInternal(ReasonForDismissingAlternativeTextIgnored, false);
-
- if (!view)
- return;
-
- NSString* replacedStringAsNSString = replacedString;
- NSString* replacementStringAsNSString = replacementString;
- m_view = view;
- NSCorrectionIndicatorType indicatorType = correctionIndicatorType(type);
-
- NSMutableArray* alternativeStrings = 0;
- 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 sharedSpellChecker] showCorrectionIndicatorOfType:indicatorType primaryString:replacementStringAsNSString alternativeStrings:alternativeStrings forStringInRect:[view _convertRectFromRootView:boundingBoxOfReplacedString] view:m_view.get() completionHandler:^(NSString* acceptedString) {
- handleAcceptedReplacement(acceptedString, replacedStringAsNSString, replacementStringAsNSString, indicatorType);
- }];
-}
-
-String CorrectionPanel::dismiss(ReasonForDismissingAlternativeText reason)
-{
- return dismissInternal(reason, true);
-}
-
-String CorrectionPanel::dismissInternal(ReasonForDismissingAlternativeText reason, bool dismissingExternally)
-{
- if (!isShowing())
- return String();
-
- m_wasDismissedExternally = dismissingExternally;
- m_reasonForDismissing = reason;
- m_resultForDismissal.clear();
- [[NSSpellChecker sharedSpellChecker] dismissCorrectionIndicatorForView:m_view.get()];
- return m_resultForDismissal.get();
-}
-
-void CorrectionPanel::recordAutocorrectionResponse(WebView* view, NSCorrectionResponse response, const String& replacedString, const String& replacementString)
-{
- [[NSSpellChecker sharedSpellChecker] recordResponse:response toCorrection:replacementString forWord:replacedString language:nil inSpellDocumentWithTag:[view spellCheckerDocumentTag]];
-}
-
-void CorrectionPanel::handleAcceptedReplacement(NSString* acceptedReplacement, NSString* replaced, NSString* proposedReplacement, NSCorrectionIndicatorType correctionIndicatorType)
-{
- if (!m_view)
- return;
-
- NSSpellChecker* spellChecker = [NSSpellChecker sharedSpellChecker];
- NSInteger documentTag = [m_view.get() spellCheckerDocumentTag];
-
- switch (correctionIndicatorType) {
- case NSCorrectionIndicatorTypeDefault:
- if (acceptedReplacement)
- [spellChecker recordResponse:NSCorrectionResponseAccepted toCorrection:acceptedReplacement forWord:replaced language:nil inSpellDocumentWithTag:documentTag];
- else {
- if (!m_wasDismissedExternally || m_reasonForDismissing == ReasonForDismissingAlternativeTextCancelled)
- [spellChecker recordResponse:NSCorrectionResponseRejected toCorrection:proposedReplacement forWord:replaced language:nil inSpellDocumentWithTag:documentTag];
- else
- [spellChecker recordResponse:NSCorrectionResponseIgnored toCorrection:proposedReplacement forWord:replaced language:nil inSpellDocumentWithTag:documentTag];
- }
- break;
- case NSCorrectionIndicatorTypeReversion:
- if (acceptedReplacement)
- [spellChecker recordResponse:NSCorrectionResponseReverted toCorrection:replaced forWord:acceptedReplacement language:nil inSpellDocumentWithTag:documentTag];
- break;
- case NSCorrectionIndicatorTypeGuesses:
- if (acceptedReplacement)
- [spellChecker recordResponse:NSCorrectionResponseAccepted toCorrection:acceptedReplacement forWord:replaced language:nil inSpellDocumentWithTag:documentTag];
- break;
- }
-
- [m_view.get() handleAcceptedAlternativeText:acceptedReplacement];
- m_view.clear();
- if (acceptedReplacement)
- m_resultForDismissal = adoptNS([acceptedReplacement copy]);
-}
-
-#endif //USE(AUTOCORRECTION_PANEL)
-
diff --git a/Source/WebKit/mac/WebCoreSupport/PopupMenuMac.h b/Source/WebKit/mac/WebCoreSupport/PopupMenuMac.h
deleted file mode 100644
index b2b58d9fe..000000000
--- a/Source/WebKit/mac/WebCoreSupport/PopupMenuMac.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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 PopupMenuMac_h
-#define PopupMenuMac_h
-
-#include <WebCore/PopupMenu.h>
-#include <wtf/RetainPtr.h>
-
-@class NSPopUpButtonCell;
-
-namespace WebCore {
-class PopupMenuClient;
-}
-
-class PopupMenuMac : public WebCore::PopupMenu {
-public:
- PopupMenuMac(WebCore::PopupMenuClient*);
- ~PopupMenuMac();
-
- virtual void show(const WebCore::IntRect&, WebCore::FrameView*, int index) override;
- virtual void hide() override;
- virtual void updateFromElement() override;
- virtual void disconnectClient() override;
-
-private:
- void clear();
- void populate();
-
- WebCore::PopupMenuClient* m_client;
- RetainPtr<NSPopUpButtonCell> m_popup;
-};
-
-#endif // PopupMenuMac_h
diff --git a/Source/WebKit/mac/WebCoreSupport/PopupMenuMac.mm b/Source/WebKit/mac/WebCoreSupport/PopupMenuMac.mm
deleted file mode 100644
index 58f878046..000000000
--- a/Source/WebKit/mac/WebCoreSupport/PopupMenuMac.mm
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * Copyright (C) 2006, 2008, 2010, 2011 Apple Inc. All rights reserved.
- * 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.
- */
-
-#import "PopupMenuMac.h"
-
-#import "WebDelegateImplementationCaching.h"
-#import "WebFrameInternal.h"
-#import <WebCore/IntRect.h>
-#import <WebCore/AXObjectCache.h>
-#import <WebCore/BlockExceptions.h>
-#import <WebCore/Chrome.h>
-#import <WebCore/ChromeClient.h>
-#import <WebCore/EventHandler.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameView.h>
-#import <WebCore/Page.h>
-#import <WebCore/PopupMenuClient.h>
-#import <WebCore/SimpleFontData.h>
-#import <WebCore/WebCoreSystemInterface.h>
-
-using namespace WebCore;
-
-PopupMenuMac::PopupMenuMac(PopupMenuClient* client)
- : m_client(client)
-{
-}
-
-PopupMenuMac::~PopupMenuMac()
-{
- [m_popup setControlView:nil];
-}
-
-void PopupMenuMac::clear()
-{
- [m_popup removeAllItems];
-}
-
-void PopupMenuMac::populate()
-{
- if (m_popup)
- clear();
- else {
- m_popup = adoptNS([[NSPopUpButtonCell alloc] initTextCell:@"" pullsDown:!m_client->shouldPopOver()]);
- [m_popup setUsesItemFromMenu:NO];
- [m_popup setAutoenablesItems:NO];
- }
-
- BOOL messagesEnabled = [[m_popup menu] menuChangedMessagesEnabled];
- [[m_popup menu] setMenuChangedMessagesEnabled:NO];
-
- // For pullDown menus the first item is hidden.
- if (!m_client->shouldPopOver())
- [m_popup addItemWithTitle:@""];
-
- TextDirection menuTextDirection = m_client->menuStyle().textDirection();
- [m_popup setUserInterfaceLayoutDirection:menuTextDirection == LTR ? NSUserInterfaceLayoutDirectionLeftToRight : NSUserInterfaceLayoutDirectionRightToLeft];
-
- ASSERT(m_client);
- int size = m_client->listSize();
-
- for (int i = 0; i < size; i++) {
- if (m_client->itemIsSeparator(i)) {
- [[m_popup menu] addItem:[NSMenuItem separatorItem]];
- continue;
- }
-
- PopupMenuStyle style = m_client->itemStyle(i);
- RetainPtr<NSMutableDictionary> attributes = adoptNS([[NSMutableDictionary alloc] init]);
- if (style.font() != Font()) {
- NSFont *font = style.font().primaryFont()->getNSFont();
- if (!font) {
- CGFloat size = style.font().primaryFont()->platformData().size();
- font = style.font().weight() < FontWeightBold ? [NSFont systemFontOfSize:size] : [NSFont boldSystemFontOfSize:size];
- }
- [attributes setObject:font forKey:NSFontAttributeName];
- }
-
- RetainPtr<NSMutableParagraphStyle> paragraphStyle = adoptNS([[NSParagraphStyle defaultParagraphStyle] mutableCopy]);
- [paragraphStyle setAlignment:menuTextDirection == LTR ? NSLeftTextAlignment : NSRightTextAlignment];
- NSWritingDirection writingDirection = style.textDirection() == LTR ? NSWritingDirectionLeftToRight : NSWritingDirectionRightToLeft;
- [paragraphStyle setBaseWritingDirection:writingDirection];
- if (style.hasTextDirectionOverride()) {
- RetainPtr<NSNumber> writingDirectionValue = adoptNS([[NSNumber alloc] initWithInteger:writingDirection + NSTextWritingDirectionOverride]);
- RetainPtr<NSArray> writingDirectionArray = adoptNS([[NSArray alloc] initWithObjects:writingDirectionValue.get(), nil]);
- [attributes setObject:writingDirectionArray.get() forKey:NSWritingDirectionAttributeName];
- }
- [attributes setObject:paragraphStyle.get() forKey:NSParagraphStyleAttributeName];
-
- // FIXME: Add support for styling the foreground and background colors.
- // FIXME: Find a way to customize text color when an item is highlighted.
- RetainPtr<NSAttributedString> string = adoptNS([[NSAttributedString alloc] initWithString:m_client->itemText(i) attributes:attributes.get()]);
-
- [m_popup addItemWithTitle:@""];
- NSMenuItem *menuItem = [m_popup lastItem];
- [menuItem setAttributedTitle:string.get()];
- // We set the title as well as the attributed title here. The attributed title will be displayed in the menu,
- // but typeahead will use the non-attributed string that doesn't contain any leading or trailing whitespace.
- [menuItem setTitle:[[string string] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]];
- [menuItem setEnabled:m_client->itemIsEnabled(i)];
- [menuItem setToolTip:m_client->itemToolTip(i)];
-
- // Allow the accessible text of the item to be overriden if necessary.
- if (AXObjectCache::accessibilityEnabled()) {
- NSString *accessibilityOverride = m_client->itemAccessibilityText(i);
- if ([accessibilityOverride length])
- [menuItem accessibilitySetOverrideValue:accessibilityOverride forAttribute:NSAccessibilityDescriptionAttribute];
- }
- }
-
- [[m_popup menu] setMenuChangedMessagesEnabled:messagesEnabled];
-}
-
-void PopupMenuMac::show(const IntRect& r, FrameView* v, int index)
-{
- populate();
- int numItems = [m_popup numberOfItems];
- if (numItems <= 0) {
- if (m_client)
- m_client->popupDidHide();
- return;
- }
- ASSERT(numItems > index);
-
- // Workaround for crazy bug where a selected index of -1 for a menu with only 1 item will cause a blank menu.
- if (index == -1 && numItems == 2 && !m_client->shouldPopOver() && ![[m_popup itemAtIndex:1] isEnabled])
- index = 0;
-
- NSView* view = v->documentView();
-
- [m_popup attachPopUpWithFrame:r inView:view];
- [m_popup selectItemAtIndex:index];
-
- NSMenu* menu = [m_popup menu];
-
- NSPoint location;
- NSFont* font = m_client->menuStyle().font().primaryFont()->getNSFont();
-
- // These values were borrowed from AppKit to match their placement of the menu.
- const int popOverHorizontalAdjust = -10;
- const int popUnderHorizontalAdjust = 6;
- const int popUnderVerticalAdjust = 6;
- if (m_client->shouldPopOver()) {
- NSRect titleFrame = [m_popup titleRectForBounds:r];
- if (titleFrame.size.width <= 0 || titleFrame.size.height <= 0)
- titleFrame = r;
- float vertOffset = roundf((NSMaxY(r) - NSMaxY(titleFrame)) + NSHeight(titleFrame));
- // Adjust for fonts other than the system font.
- NSFont* defaultFont = [NSFont systemFontOfSize:[font pointSize]];
- vertOffset += [font descender] - [defaultFont descender];
- vertOffset = fminf(NSHeight(r), vertOffset);
-
- location = NSMakePoint(NSMinX(r) + popOverHorizontalAdjust, NSMaxY(r) - vertOffset);
- } else
- location = NSMakePoint(NSMinX(r) + popUnderHorizontalAdjust, NSMaxY(r) + popUnderVerticalAdjust);
-
- // Save the current event that triggered the popup, so we can clean up our event
- // state after the NSMenu goes away.
- RefPtr<Frame> frame = v->frame();
- RetainPtr<NSEvent> event = frame->eventHandler()->currentNSEvent();
-
- RefPtr<PopupMenuMac> protector(this);
-
- RetainPtr<NSView> dummyView = adoptNS([[NSView alloc] initWithFrame:r]);
- [view addSubview:dummyView.get()];
- location = [dummyView convertPoint:location fromView:view];
-
- if (Page* page = frame->page()) {
- WebView* webView = kit(page);
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- CallUIDelegate(webView, @selector(webView:willPopupMenu:), menu);
- END_BLOCK_OBJC_EXCEPTIONS;
- }
-
- wkPopupMenu(menu, location, roundf(NSWidth(r)), dummyView.get(), index, font);
-
- [m_popup dismissPopUp];
- [dummyView removeFromSuperview];
-
- if (!m_client)
- return;
-
- int newIndex = [m_popup indexOfSelectedItem];
- m_client->popupDidHide();
-
- // Adjust newIndex for hidden first item.
- if (!m_client->shouldPopOver())
- newIndex--;
-
- if (index != newIndex && newIndex >= 0)
- m_client->valueChanged(newIndex);
-
- // Give the frame a chance to fix up its event state, since the popup eats all the
- // events during tracking.
- frame->eventHandler()->sendFakeEventsAfterWidgetTracking(event.get());
-}
-
-void PopupMenuMac::hide()
-{
- [m_popup dismissPopUp];
-}
-
-void PopupMenuMac::updateFromElement()
-{
-}
-
-void PopupMenuMac::disconnectClient()
-{
- m_client = 0;
-}
diff --git a/Source/WebKit/mac/WebCoreSupport/SearchPopupMenuMac.h b/Source/WebKit/mac/WebCoreSupport/SearchPopupMenuMac.h
deleted file mode 100644
index 4c1cc7983..000000000
--- a/Source/WebKit/mac/WebCoreSupport/SearchPopupMenuMac.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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 SearchPopupMenuMac_h
-#define SearchPopupMenuMac_h
-
-#include <WebCore/SearchPopupMenu.h>
-
-namespace WebCore {
-class PopupMenuClient;
-}
-
-class PopupMenuMac;
-
-class SearchPopupMenuMac : public WebCore::SearchPopupMenu {
-public:
- SearchPopupMenuMac(WebCore::PopupMenuClient*);
- ~SearchPopupMenuMac();
-
- virtual WebCore::PopupMenu* popupMenu() override;
- virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems) override;
- virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems) override;
- virtual bool enabled() override;
-
-private:
- RefPtr<PopupMenuMac> m_popup;
-};
-
-
-#endif // SearchPopupMenuMac_h
diff --git a/Source/WebKit/mac/WebCoreSupport/SearchPopupMenuMac.mm b/Source/WebKit/mac/WebCoreSupport/SearchPopupMenuMac.mm
deleted file mode 100644
index 925cc8bbb..000000000
--- a/Source/WebKit/mac/WebCoreSupport/SearchPopupMenuMac.mm
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, Inc.
- * 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.
- */
-
-#import "SearchPopupMenuMac.h"
-
-#include "PopupMenuMac.h"
-#include <wtf/text/AtomicString.h>
-
-using namespace WebCore;
-
-SearchPopupMenuMac::SearchPopupMenuMac(PopupMenuClient* client)
- : m_popup(adoptRef(new PopupMenuMac(client)))
-{
-}
-
-SearchPopupMenuMac::~SearchPopupMenuMac()
-{
-}
-
-static NSString *autosaveKey(const String& name)
-{
- return [@"com.apple.WebKit.searchField:" stringByAppendingString:name];
-}
-
-PopupMenu* SearchPopupMenuMac::popupMenu()
-{
- return m_popup.get();
-}
-
-bool SearchPopupMenuMac::enabled()
-{
- return true;
-}
-
-void SearchPopupMenuMac::saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems)
-{
- if (name.isEmpty())
- return;
-
- if (searchItems.isEmpty()) {
- [[NSUserDefaults standardUserDefaults] removeObjectForKey:autosaveKey(name)];
- return;
- }
-
- RetainPtr<NSMutableArray> items = adoptNS([[NSMutableArray alloc] initWithCapacity:searchItems.size()]);
- for (const auto& searchItem: searchItems)
- [items addObject:searchItem];
-
- [[NSUserDefaults standardUserDefaults] setObject:items.get() forKey:autosaveKey(name)];
-}
-
-void SearchPopupMenuMac::loadRecentSearches(const AtomicString& name, Vector<String>& searchItems)
-{
- if (name.isEmpty())
- return;
-
- searchItems.clear();
- for (NSString *item in [[NSUserDefaults standardUserDefaults] arrayForKey:autosaveKey(name)]) {
- if ([item isKindOfClass:[NSString class]])
- searchItems.append(item);
- }
-}
diff --git a/Source/WebKit/mac/WebCoreSupport/WebAlternativeTextClient.h b/Source/WebKit/mac/WebCoreSupport/WebAlternativeTextClient.h
deleted file mode 100644
index 226d15b06..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebAlternativeTextClient.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2012 Apple 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 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 WebAlternativeTextClient_h
-#define WebAlternativeTextClient_h
-
-#import "CorrectionPanel.h"
-#import <WebCore/AlternativeTextClient.h>
-
-@class WebView;
-
-class WebAlternativeTextClient : public WebCore::AlternativeTextClient {
-public:
- WebAlternativeTextClient(WebView *);
- virtual ~WebAlternativeTextClient();
- virtual void pageDestroyed() OVERRIDE;
-#if USE(AUTOCORRECTION_PANEL)
- virtual void showCorrectionAlternative(WebCore::AlternativeTextType, const WebCore::FloatRect& boundingBoxOfReplacedString, const String& replacedString, const String& replacementString, const Vector<String>& alternativeReplacementStrings) OVERRIDE;
- virtual void dismissAlternative(WebCore::ReasonForDismissingAlternativeText) OVERRIDE;
- virtual String dismissAlternativeSoon(WebCore::ReasonForDismissingAlternativeText) OVERRIDE;
- virtual void recordAutocorrectionResponse(WebCore::AutocorrectionResponseType, const String& replacedString, const String& replacementString) OVERRIDE;
-#endif
-#if USE(DICTATION_ALTERNATIVES)
- virtual void showDictationAlternativeUI(const WebCore::FloatRect& boundingBoxOfDictatedText, uint64_t dictationContext) OVERRIDE;
- virtual void removeDictationAlternatives(uint64_t dictationContext) OVERRIDE;
- virtual Vector<String> dictationAlternatives(uint64_t dictationContext) OVERRIDE;
-#endif
-private:
- WebView* m_webView;
-#if USE(AUTOCORRECTION_PANEL)
- CorrectionPanel m_correctionPanel;
-#endif
-};
-
-#endif // WebAlternativeTextClient_h
diff --git a/Source/WebKit/mac/WebCoreSupport/WebAlternativeTextClient.mm b/Source/WebKit/mac/WebCoreSupport/WebAlternativeTextClient.mm
deleted file mode 100644
index 34e6560d9..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebAlternativeTextClient.mm
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2012 Apple 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 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 "WebAlternativeTextClient.h"
-
-#include "WebViewInternal.h"
-
-using namespace WebCore;
-
-WebAlternativeTextClient::WebAlternativeTextClient(WebView* webView)
-: m_webView(webView)
-{
-}
-
-WebAlternativeTextClient::~WebAlternativeTextClient()
-{
-#if USE(AUTOCORRECTION_PANEL)
- dismissAlternative(ReasonForDismissingAlternativeTextIgnored);
-#endif
-}
-
-void WebAlternativeTextClient::pageDestroyed()
-{
- delete this;
-}
-
-#if USE(AUTOCORRECTION_PANEL)
-void WebAlternativeTextClient::showCorrectionAlternative(AlternativeTextType type, const FloatRect& boundingBoxOfReplacedString, const String& replacedString, const String& replacementString, const Vector<String>& alternativeReplacementStrings)
-{
- m_correctionPanel.show(m_webView, type, boundingBoxOfReplacedString, replacedString, replacementString, alternativeReplacementStrings);
-}
-
-void WebAlternativeTextClient::dismissAlternative(ReasonForDismissingAlternativeText reason)
-{
- m_correctionPanel.dismiss(reason);
-}
-
-String WebAlternativeTextClient::dismissAlternativeSoon(ReasonForDismissingAlternativeText reason)
-{
- return m_correctionPanel.dismiss(reason);
-}
-
-void WebAlternativeTextClient::recordAutocorrectionResponse(AutocorrectionResponseType responseType, const String& replacedString, const String& replacementString)
-{
- NSCorrectionResponse response = responseType == AutocorrectionReverted ? NSCorrectionResponseReverted : NSCorrectionResponseEdited;
- CorrectionPanel::recordAutocorrectionResponse(m_webView, response, replacedString, replacementString);
-}
-#endif
-
-#if USE(DICTATION_ALTERNATIVES)
-void WebAlternativeTextClient::removeDictationAlternatives(uint64_t dictationContext)
-{
- [m_webView _removeDictationAlternatives:dictationContext];
-}
-
-void WebAlternativeTextClient::showDictationAlternativeUI(const WebCore::FloatRect& boundingBoxOfDictatedText, uint64_t dictationContext)
-{
- [m_webView _showDictationAlternativeUI:boundingBoxOfDictatedText forDictationContext:dictationContext];
-}
-
-Vector<String> WebAlternativeTextClient::dictationAlternatives(uint64_t dictationContext)
-{
- return [m_webView _dictationAlternatives:dictationContext];
-}
-#endif
diff --git a/Source/WebKit/mac/WebCoreSupport/WebApplicationCache.h b/Source/WebKit/mac/WebCoreSupport/WebApplicationCache.h
deleted file mode 100644
index 494d0c42a..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebApplicationCache.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class WebSecurityOrigin;
-
-@interface WebApplicationCache: NSObject
-
-+ (long long)maximumSize;
-+ (void)setMaximumSize:(long long)size;
-
-+ (long long)defaultOriginQuota;
-+ (void)setDefaultOriginQuota:(long long)size;
-
-+ (long long)diskUsageForOrigin:(WebSecurityOrigin *)origin;
-
-+ (void)deleteAllApplicationCaches;
-+ (void)deleteCacheForOrigin:(WebSecurityOrigin *)origin;
-
-+ (NSArray *)originsWithCache;
-
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebApplicationCache.mm b/Source/WebKit/mac/WebCoreSupport/WebApplicationCache.mm
deleted file mode 100644
index d77edbcc9..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebApplicationCache.mm
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (C) 2009, 2011 Apple 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 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 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.
- */
-
-#import "WebApplicationCache.h"
-
-#import "WebSecurityOriginInternal.h"
-#import <WebCore/ApplicationCache.h>
-#import <WebCore/ApplicationCacheStorage.h>
-#import <WebCore/SecurityOrigin.h>
-#import <wtf/RetainPtr.h>
-
-using namespace WebCore;
-
-@implementation WebApplicationCache
-
-+ (long long)maximumSize
-{
- return cacheStorage().maximumSize();
-}
-
-+ (void)setMaximumSize:(long long)size
-{
- [WebApplicationCache deleteAllApplicationCaches];
- cacheStorage().setMaximumSize(size);
-}
-
-+ (long long)defaultOriginQuota
-{
- return cacheStorage().defaultOriginQuota();
-}
-
-+ (void)setDefaultOriginQuota:(long long)size
-{
- cacheStorage().setDefaultOriginQuota(size);
-}
-
-+ (long long)diskUsageForOrigin:(WebSecurityOrigin *)origin
-{
- return ApplicationCache::diskUsageForOrigin([origin _core]);
-}
-
-+ (void)deleteAllApplicationCaches
-{
- cacheStorage().deleteAllEntries();
-}
-
-+ (void)deleteCacheForOrigin:(WebSecurityOrigin *)origin
-{
- ApplicationCache::deleteCacheForOrigin([origin _core]);
-}
-
-+ (NSArray *)originsWithCache
-{
- HashSet<RefPtr<SecurityOrigin> > coreOrigins;
- cacheStorage().getOriginsWithCache(coreOrigins);
-
- NSMutableArray *webOrigins = [[[NSMutableArray alloc] initWithCapacity:coreOrigins.size()] autorelease];
-
- HashSet<RefPtr<SecurityOrigin> >::const_iterator end = coreOrigins.end();
- for (HashSet<RefPtr<SecurityOrigin> >::const_iterator it = coreOrigins.begin(); it != end; ++it) {
- RetainPtr<WebSecurityOrigin> webOrigin = adoptNS([[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:(*it).get()]);
- [webOrigins addObject:webOrigin.get()];
- }
-
- return webOrigins;
-}
-
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebApplicationCacheQuotaManager.h b/Source/WebKit/mac/WebCoreSupport/WebApplicationCacheQuotaManager.h
deleted file mode 100644
index 6d3014847..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebApplicationCacheQuotaManager.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebQuotaManager.h"
-
-@interface WebApplicationCacheQuotaManager : NSObject <WebQuotaManager> {
- WebSecurityOrigin *_origin;
-}
-
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebApplicationCacheQuotaManager.mm b/Source/WebKit/mac/WebCoreSupport/WebApplicationCacheQuotaManager.mm
deleted file mode 100644
index c4d52fd1b..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebApplicationCacheQuotaManager.mm
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebApplicationCacheQuotaManager.h"
-
-#import "WebSecurityOriginInternal.h"
-#import <WebCore/ApplicationCacheStorage.h>
-
-using namespace WebCore;
-
-@implementation WebApplicationCacheQuotaManager
-
-- (id)initWithOrigin:(WebSecurityOrigin *)origin
-{
- self = [super init];
- if (!self)
- return nil;
-
- _origin = origin;
- return self;
-}
-
-- (WebSecurityOrigin *)origin
-{
- return _origin;
-}
-
-- (unsigned long long)usage
-{
- long long usage;
- if (cacheStorage().calculateUsageForOrigin([_origin _core], usage))
- return usage;
- return 0;
-}
-
-- (unsigned long long)quota
-{
- long long quota;
- if (cacheStorage().calculateQuotaForOrigin([_origin _core], quota))
- return quota;
- return 0;
-}
-
-- (void)setQuota:(unsigned long long)quota
-{
- cacheStorage().storeUpdatedQuotaForOrigin([_origin _core], quota);
-}
-
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h b/Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h
deleted file mode 100644
index f7481b828..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebCore/CachedFramePlatformData.h>
-#import <wtf/ObjcRuntimeExtras.h>
-#import <wtf/RetainPtr.h>
-
-class WebCachedFramePlatformData : public WebCore::CachedFramePlatformData {
-public:
- WebCachedFramePlatformData(id webDocumentView) : m_webDocumentView(webDocumentView) { }
-
- virtual void clear() { wtfObjcMsgSend<void>(m_webDocumentView.get(), @selector(closeIfNotCurrentView)); }
-
- id webDocumentView() { return m_webDocumentView.get(); }
-private:
- RetainPtr<id> m_webDocumentView;
-};
-
diff --git a/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h b/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h
deleted file mode 100644
index c32b3f6d2..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebChromeClient.h
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies)
- *
- * 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebCore/ChromeClient.h>
-#import <WebCore/FocusDirection.h>
-#import <wtf/Forward.h>
-
-@class WebView;
-
-class WebChromeClient : public WebCore::ChromeClient {
-public:
- WebChromeClient(WebView*);
-
- virtual void chromeDestroyed() OVERRIDE;
-
- virtual void setWindowRect(const WebCore::FloatRect&) OVERRIDE;
- virtual WebCore::FloatRect windowRect() OVERRIDE;
-
- virtual WebCore::FloatRect pageRect() OVERRIDE;
-
- virtual void focus() OVERRIDE;
- virtual void unfocus() OVERRIDE;
-
- virtual bool canTakeFocus(WebCore::FocusDirection) OVERRIDE;
- virtual void takeFocus(WebCore::FocusDirection) OVERRIDE;
-
- virtual void focusedNodeChanged(WebCore::Node*) OVERRIDE;
- virtual void focusedFrameChanged(WebCore::Frame*) OVERRIDE;
-
- virtual WebCore::Page* createWindow(WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&, const WebCore::NavigationAction&) OVERRIDE;
- virtual void show() OVERRIDE;
-
- virtual bool canRunModal() OVERRIDE;
- virtual void runModal() OVERRIDE;
-
- virtual void setToolbarsVisible(bool) OVERRIDE;
- virtual bool toolbarsVisible() OVERRIDE;
-
- virtual void setStatusbarVisible(bool) OVERRIDE;
- virtual bool statusbarVisible() OVERRIDE;
-
- virtual void setScrollbarsVisible(bool) OVERRIDE;
- virtual bool scrollbarsVisible() OVERRIDE;
-
- virtual void setMenubarVisible(bool) OVERRIDE;
- virtual bool menubarVisible() OVERRIDE;
-
- virtual void setResizable(bool) OVERRIDE;
-
- virtual void addMessageToConsole(WebCore::MessageSource, WebCore::MessageLevel, const WTF::String& message, unsigned lineNumber, unsigned columnNumber, const WTF::String& sourceURL) OVERRIDE;
-
- virtual bool canRunBeforeUnloadConfirmPanel() OVERRIDE;
- virtual bool runBeforeUnloadConfirmPanel(const WTF::String& message, WebCore::Frame*) OVERRIDE;
-
- virtual void closeWindowSoon() OVERRIDE;
-
- virtual void runJavaScriptAlert(WebCore::Frame*, const WTF::String&) OVERRIDE;
- virtual bool runJavaScriptConfirm(WebCore::Frame*, const WTF::String&) OVERRIDE;
- virtual bool runJavaScriptPrompt(WebCore::Frame*, const WTF::String& message, const WTF::String& defaultValue, WTF::String& result) OVERRIDE;
- virtual bool shouldInterruptJavaScript() OVERRIDE;
-
- virtual WebCore::IntRect windowResizerRect() const OVERRIDE;
-
- virtual bool supportsImmediateInvalidation() OVERRIDE;
- virtual void invalidateRootView(const WebCore::IntRect&, bool) OVERRIDE;
- virtual void invalidateContentsAndRootView(const WebCore::IntRect&, bool) OVERRIDE;
- virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool) OVERRIDE;
- virtual void scroll(const WebCore::IntSize& scrollDelta, const WebCore::IntRect& rectToScroll, const WebCore::IntRect& clipRect) OVERRIDE;
-
- virtual WebCore::IntPoint screenToRootView(const WebCore::IntPoint&) const OVERRIDE;
- virtual WebCore::IntRect rootViewToScreen(const WebCore::IntRect&) const OVERRIDE;
- virtual PlatformPageClient platformPageClient() const OVERRIDE;
- virtual void contentsSizeChanged(WebCore::Frame*, const WebCore::IntSize&) const OVERRIDE;
- virtual void scrollRectIntoView(const WebCore::IntRect&) const OVERRIDE;
-
- virtual void setStatusbarText(const WTF::String&) OVERRIDE;
-
- virtual void scrollbarsModeDidChange() const OVERRIDE { }
- virtual bool shouldUnavailablePluginMessageBeButton(WebCore::RenderEmbeddedObject::PluginUnavailabilityReason) const OVERRIDE;
- virtual void unavailablePluginButtonClicked(WebCore::Element*, WebCore::RenderEmbeddedObject::PluginUnavailabilityReason) const OVERRIDE;
- virtual void mouseDidMoveOverElement(const WebCore::HitTestResult&, unsigned modifierFlags) OVERRIDE;
-
- virtual void setToolTip(const WTF::String&, WebCore::TextDirection) OVERRIDE;
-
- virtual void print(WebCore::Frame*) OVERRIDE;
-#if ENABLE(SQL_DATABASE)
- virtual void exceededDatabaseQuota(WebCore::Frame*, const WTF::String& databaseName, WebCore::DatabaseDetails) OVERRIDE;
-#endif
- virtual void reachedMaxAppCacheSize(int64_t spaceNeeded) OVERRIDE;
- virtual void reachedApplicationCacheOriginQuota(WebCore::SecurityOrigin*, int64_t totalSpaceNeeded) OVERRIDE;
- virtual void populateVisitedLinks() OVERRIDE;
-
-#if ENABLE(DASHBOARD_SUPPORT)
- virtual void annotatedRegionsChanged() OVERRIDE;
-#endif
-
- virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>) OVERRIDE;
- virtual void loadIconForFiles(const Vector<WTF::String>&, WebCore::FileIconLoader*) OVERRIDE;
-
- virtual void setCursor(const WebCore::Cursor&) OVERRIDE;
- virtual void setCursorHiddenUntilMouseMoves(bool) OVERRIDE;
-
- virtual WebCore::FloatRect customHighlightRect(WebCore::Node*, const WTF::AtomicString& type, const WebCore::FloatRect& lineRect) OVERRIDE;
- virtual void paintCustomHighlight(WebCore::Node*, const WTF::AtomicString& type, const WebCore::FloatRect& boxRect, const WebCore::FloatRect& lineRect, bool behindText, bool entireLine) OVERRIDE;
-
- virtual WebCore::KeyboardUIMode keyboardUIMode() OVERRIDE;
-
- virtual NSResponder *firstResponder() OVERRIDE;
- virtual void makeFirstResponder(NSResponder *) OVERRIDE;
-
- virtual void enableSuddenTermination() OVERRIDE;
- virtual void disableSuddenTermination() OVERRIDE;
-
- virtual bool shouldReplaceWithGeneratedFileForUpload(const WTF::String& path, WTF::String &generatedFilename) OVERRIDE;
- virtual WTF::String generateReplacementFile(const WTF::String& path) OVERRIDE;
-
- virtual void formStateDidChange(const WebCore::Node*) OVERRIDE { }
-
- virtual void elementDidFocus(const WebCore::Node*) OVERRIDE;
- virtual void elementDidBlur(const WebCore::Node*) OVERRIDE;
-
- virtual bool shouldPaintEntireContents() const OVERRIDE;
-
-#if USE(ACCELERATED_COMPOSITING)
- virtual void attachRootGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*) OVERRIDE;
- virtual void setNeedsOneShotDrawingSynchronization() OVERRIDE;
- virtual void scheduleCompositingLayerFlush() OVERRIDE;
-
- virtual CompositingTriggerFlags allowedCompositingTriggers() const
- {
- return static_cast<CompositingTriggerFlags>(
- ThreeDTransformTrigger |
- VideoTrigger |
- PluginTrigger|
- CanvasTrigger |
- AnimationTrigger);
- }
-#endif
-
-#if ENABLE(VIDEO)
- virtual bool supportsFullscreenForNode(const WebCore::Node*) OVERRIDE;
- virtual void enterFullscreenForNode(WebCore::Node*) OVERRIDE;
- virtual void exitFullscreenForNode(WebCore::Node*) OVERRIDE;
-#endif
-
-#if ENABLE(FULLSCREEN_API)
- virtual bool supportsFullScreenForElement(const WebCore::Element*, bool withKeyboard) OVERRIDE;
- virtual void enterFullScreenForElement(WebCore::Element*) OVERRIDE;
- virtual void exitFullScreenForElement(WebCore::Element*) OVERRIDE;
- virtual void fullScreenRendererChanged(WebCore::RenderBox*) OVERRIDE;
-#endif
-
- virtual bool selectItemWritingDirectionIsNatural() OVERRIDE;
- virtual bool selectItemAlignmentFollowsMenuWritingDirection() OVERRIDE;
- virtual bool hasOpenedPopup() const OVERRIDE;
- virtual PassRefPtr<WebCore::PopupMenu> createPopupMenu(WebCore::PopupMenuClient*) const OVERRIDE;
- virtual PassRefPtr<WebCore::SearchPopupMenu> createSearchPopupMenu(WebCore::PopupMenuClient*) const OVERRIDE;
-
- virtual void numWheelEventHandlersChanged(unsigned) OVERRIDE { }
- virtual bool shouldRubberBandInDirection(WebCore::ScrollDirection) const OVERRIDE { return false; }
-
- WebView* webView() { return m_webView; }
-
-private:
- WebView *m_webView;
-};
diff --git a/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm b/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm
deleted file mode 100644
index 3f0b05385..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm
+++ /dev/null
@@ -1,951 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
- * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies)
- *
- * 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebChromeClient.h"
-
-#import "DOMElementInternal.h"
-#import "DOMNodeInternal.h"
-#import "PopupMenuMac.h"
-#import "SearchPopupMenuMac.h"
-#import "WebBasePluginPackage.h"
-#import "WebDefaultUIDelegate.h"
-#import "WebDelegateImplementationCaching.h"
-#import "WebElementDictionary.h"
-#import "WebFrameInternal.h"
-#import "WebFrameView.h"
-#import "WebHTMLViewInternal.h"
-#import "WebHistoryInternal.h"
-#import "WebKitFullScreenListener.h"
-#import "WebKitPrefix.h"
-#import "WebKitSystemInterface.h"
-#import "WebNSURLRequestExtras.h"
-#import "WebOpenPanelResultListener.h"
-#import "WebPlugin.h"
-#import "WebQuotaManager.h"
-#import "WebSecurityOriginInternal.h"
-#import "WebUIDelegatePrivate.h"
-#import "WebView.h"
-#import "WebViewInternal.h"
-#import <Foundation/Foundation.h>
-#import <WebCore/BlockExceptions.h>
-#import <WebCore/Console.h>
-#import <WebCore/ContextMenu.h>
-#import <WebCore/ContextMenuController.h>
-#import <WebCore/Cursor.h>
-#import <WebCore/Element.h>
-#import <WebCore/FileChooser.h>
-#import <WebCore/FileIconLoader.h>
-#import <WebCore/FloatRect.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoadRequest.h>
-#import <WebCore/FrameView.h>
-#import <WebCore/HTMLInputElement.h>
-#import <WebCore/HTMLNames.h>
-#import <WebCore/HTMLPlugInImageElement.h>
-#import <WebCore/HitTestResult.h>
-#import <WebCore/Icon.h>
-#import <WebCore/IntPoint.h>
-#import <WebCore/IntRect.h>
-#import <WebCore/NavigationAction.h>
-#import <WebCore/NotImplemented.h>
-#import <WebCore/Page.h>
-#import <WebCore/PlatformScreen.h>
-#import <WebCore/ResourceRequest.h>
-#import <WebCore/Widget.h>
-#import <WebCore/WindowFeatures.h>
-#import <wtf/PassRefPtr.h>
-#import <wtf/Vector.h>
-#import <wtf/text/WTFString.h>
-
-#if USE(ACCELERATED_COMPOSITING)
-#import <WebCore/GraphicsLayer.h>
-#endif
-
-#if USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
-#import "NetscapePluginHostManager.h"
-#endif
-
-NSString *WebConsoleMessageXMLMessageSource = @"XMLMessageSource";
-NSString *WebConsoleMessageJSMessageSource = @"JSMessageSource";
-NSString *WebConsoleMessageNetworkMessageSource = @"NetworkMessageSource";
-NSString *WebConsoleMessageConsoleAPIMessageSource = @"ConsoleAPIMessageSource";
-NSString *WebConsoleMessageStorageMessageSource = @"StorageMessageSource";
-NSString *WebConsoleMessageAppCacheMessageSource = @"AppCacheMessageSource";
-NSString *WebConsoleMessageRenderingMessageSource = @"RenderingMessageSource";
-NSString *WebConsoleMessageCSSMessageSource = @"CSSMessageSource";
-NSString *WebConsoleMessageSecurityMessageSource = @"SecurityMessageSource";
-NSString *WebConsoleMessageOtherMessageSource = @"OtherMessageSource";
-
-NSString *WebConsoleMessageDebugMessageLevel = @"DebugMessageLevel";
-NSString *WebConsoleMessageLogMessageLevel = @"LogMessageLevel";
-NSString *WebConsoleMessageWarningMessageLevel = @"WarningMessageLevel";
-NSString *WebConsoleMessageErrorMessageLevel = @"ErrorMessageLevel";
-
-
-@interface NSApplication (WebNSApplicationDetails)
-- (NSCursor *)_cursorRectCursor;
-@end
-
-@interface NSView (WebNSViewDetails)
-- (NSView *)_findLastViewInKeyViewLoop;
-@end
-
-// For compatibility with old SPI.
-@interface NSView (WebOldWebKitPlugInDetails)
-- (void)setIsSelected:(BOOL)isSelected;
-@end
-
-@interface NSWindow (AppKitSecretsIKnowAbout)
-- (NSRect)_growBoxRect;
-@end
-
-using namespace WebCore;
-using namespace HTMLNames;
-
-WebChromeClient::WebChromeClient(WebView *webView)
- : m_webView(webView)
-{
-}
-
-void WebChromeClient::chromeDestroyed()
-{
- delete this;
-}
-
-// These functions scale between window and WebView coordinates because JavaScript/DOM operations
-// assume that the WebView and the window share the same coordinate system.
-
-void WebChromeClient::setWindowRect(const FloatRect& rect)
-{
- NSRect windowRect = toDeviceSpace(rect, [m_webView window]);
- [[m_webView _UIDelegateForwarder] webView:m_webView setFrame:windowRect];
-}
-
-FloatRect WebChromeClient::windowRect()
-{
- NSRect windowRect = [[m_webView _UIDelegateForwarder] webViewFrame:m_webView];
- return toUserSpace(windowRect, [m_webView window]);
-}
-
-// FIXME: We need to add API for setting and getting this.
-FloatRect WebChromeClient::pageRect()
-{
- return [m_webView frame];
-}
-
-void WebChromeClient::focus()
-{
- [[m_webView _UIDelegateForwarder] webViewFocus:m_webView];
-}
-
-void WebChromeClient::unfocus()
-{
- [[m_webView _UIDelegateForwarder] webViewUnfocus:m_webView];
-}
-
-bool WebChromeClient::canTakeFocus(FocusDirection)
-{
- // There's unfortunately no way to determine if we will become first responder again
- // once we give it up, so we just have to guess that we won't.
- return true;
-}
-
-void WebChromeClient::takeFocus(FocusDirection direction)
-{
- if (direction == FocusDirectionForward) {
- // Since we're trying to move focus out of m_webView, and because
- // m_webView may contain subviews within it, we ask it for the next key
- // view of the last view in its key view loop. This makes m_webView
- // behave as if it had no subviews, which is the behavior we want.
- NSView *lastView = [m_webView _findLastViewInKeyViewLoop];
- // avoid triggering assertions if the WebView is the only thing in the key loop
- if ([m_webView _becomingFirstResponderFromOutside] && m_webView == [lastView nextValidKeyView])
- return;
- [[m_webView window] selectKeyViewFollowingView:lastView];
- } else {
- // avoid triggering assertions if the WebView is the only thing in the key loop
- if ([m_webView _becomingFirstResponderFromOutside] && m_webView == [m_webView previousValidKeyView])
- return;
- [[m_webView window] selectKeyViewPrecedingView:m_webView];
- }
-}
-
-void WebChromeClient::focusedNodeChanged(Node* node)
-{
- if (!node)
- return;
- if (!isHTMLInputElement(node))
- return;
-
- HTMLInputElement* inputElement = toHTMLInputElement(node);
- if (!inputElement->isText())
- return;
-
- CallFormDelegate(m_webView, @selector(didFocusTextField:inFrame:), kit(inputElement), kit(inputElement->document()->frame()));
-}
-
-void WebChromeClient::focusedFrameChanged(Frame*)
-{
-}
-
-Page* WebChromeClient::createWindow(Frame* frame, const FrameLoadRequest&, const WindowFeatures& features, const NavigationAction&)
-{
- id delegate = [m_webView UIDelegate];
- WebView *newWebView;
-
- if ([delegate respondsToSelector:@selector(webView:createWebViewWithRequest:windowFeatures:)]) {
- NSNumber *x = features.xSet ? [[NSNumber alloc] initWithFloat:features.x] : nil;
- NSNumber *y = features.ySet ? [[NSNumber alloc] initWithFloat:features.y] : nil;
- NSNumber *width = features.widthSet ? [[NSNumber alloc] initWithFloat:features.width] : nil;
- NSNumber *height = features.heightSet ? [[NSNumber alloc] initWithFloat:features.height] : nil;
- NSNumber *menuBarVisible = [[NSNumber alloc] initWithBool:features.menuBarVisible];
- NSNumber *statusBarVisible = [[NSNumber alloc] initWithBool:features.statusBarVisible];
- NSNumber *toolBarVisible = [[NSNumber alloc] initWithBool:features.toolBarVisible];
- NSNumber *scrollbarsVisible = [[NSNumber alloc] initWithBool:features.scrollbarsVisible];
- NSNumber *resizable = [[NSNumber alloc] initWithBool:features.resizable];
- NSNumber *fullscreen = [[NSNumber alloc] initWithBool:features.fullscreen];
- NSNumber *dialog = [[NSNumber alloc] initWithBool:features.dialog];
-
- NSMutableDictionary *dictFeatures = [[NSMutableDictionary alloc] initWithObjectsAndKeys:
- menuBarVisible, @"menuBarVisible",
- statusBarVisible, @"statusBarVisible",
- toolBarVisible, @"toolBarVisible",
- scrollbarsVisible, @"scrollbarsVisible",
- resizable, @"resizable",
- fullscreen, @"fullscreen",
- dialog, @"dialog",
- nil];
-
- if (x)
- [dictFeatures setObject:x forKey:@"x"];
- if (y)
- [dictFeatures setObject:y forKey:@"y"];
- if (width)
- [dictFeatures setObject:width forKey:@"width"];
- if (height)
- [dictFeatures setObject:height forKey:@"height"];
-
- newWebView = CallUIDelegate(m_webView, @selector(webView:createWebViewWithRequest:windowFeatures:), nil, dictFeatures);
-
- [dictFeatures release];
- [x release];
- [y release];
- [width release];
- [height release];
- [menuBarVisible release];
- [statusBarVisible release];
- [toolBarVisible release];
- [scrollbarsVisible release];
- [resizable release];
- [fullscreen release];
- [dialog release];
- } else if (features.dialog && [delegate respondsToSelector:@selector(webView:createWebViewModalDialogWithRequest:)]) {
- newWebView = CallUIDelegate(m_webView, @selector(webView:createWebViewModalDialogWithRequest:), nil);
- } else {
- newWebView = CallUIDelegate(m_webView, @selector(webView:createWebViewWithRequest:), nil);
- }
-
-#if USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
- if (newWebView)
- WebKit::NetscapePluginHostManager::shared().didCreateWindow();
-#endif
-
- return core(newWebView);
-}
-
-void WebChromeClient::show()
-{
- [[m_webView _UIDelegateForwarder] webViewShow:m_webView];
-}
-
-bool WebChromeClient::canRunModal()
-{
- return [[m_webView UIDelegate] respondsToSelector:@selector(webViewRunModal:)];
-}
-
-void WebChromeClient::runModal()
-{
- CallUIDelegate(m_webView, @selector(webViewRunModal:));
-}
-
-void WebChromeClient::setToolbarsVisible(bool b)
-{
- [[m_webView _UIDelegateForwarder] webView:m_webView setToolbarsVisible:b];
-}
-
-bool WebChromeClient::toolbarsVisible()
-{
- return CallUIDelegateReturningBoolean(NO, m_webView, @selector(webViewAreToolbarsVisible:));
-}
-
-void WebChromeClient::setStatusbarVisible(bool b)
-{
- [[m_webView _UIDelegateForwarder] webView:m_webView setStatusBarVisible:b];
-}
-
-bool WebChromeClient::statusbarVisible()
-{
- return CallUIDelegateReturningBoolean(NO, m_webView, @selector(webViewIsStatusBarVisible:));
-}
-
-void WebChromeClient::setScrollbarsVisible(bool b)
-{
- [[[m_webView mainFrame] frameView] setAllowsScrolling:b];
-}
-
-bool WebChromeClient::scrollbarsVisible()
-{
- return [[[m_webView mainFrame] frameView] allowsScrolling];
-}
-
-void WebChromeClient::setMenubarVisible(bool)
-{
- // The menubar is always visible in Mac OS X.
- return;
-}
-
-bool WebChromeClient::menubarVisible()
-{
- // The menubar is always visible in Mac OS X.
- return true;
-}
-
-void WebChromeClient::setResizable(bool b)
-{
- [[m_webView _UIDelegateForwarder] webView:m_webView setResizable:b];
-}
-
-inline static NSString *stringForMessageSource(MessageSource source)
-{
- switch (source) {
- case XMLMessageSource:
- return WebConsoleMessageXMLMessageSource;
- case JSMessageSource:
- return WebConsoleMessageJSMessageSource;
- case NetworkMessageSource:
- return WebConsoleMessageNetworkMessageSource;
- case ConsoleAPIMessageSource:
- return WebConsoleMessageConsoleAPIMessageSource;
- case StorageMessageSource:
- return WebConsoleMessageStorageMessageSource;
- case AppCacheMessageSource:
- return WebConsoleMessageAppCacheMessageSource;
- case RenderingMessageSource:
- return WebConsoleMessageRenderingMessageSource;
- case CSSMessageSource:
- return WebConsoleMessageCSSMessageSource;
- case SecurityMessageSource:
- return WebConsoleMessageSecurityMessageSource;
- case OtherMessageSource:
- return WebConsoleMessageOtherMessageSource;
- }
- ASSERT_NOT_REACHED();
- return @"";
-}
-
-inline static NSString *stringForMessageLevel(MessageLevel level)
-{
- switch (level) {
- case DebugMessageLevel:
- return WebConsoleMessageDebugMessageLevel;
- case LogMessageLevel:
- return WebConsoleMessageLogMessageLevel;
- case WarningMessageLevel:
- return WebConsoleMessageWarningMessageLevel;
- case ErrorMessageLevel:
- return WebConsoleMessageErrorMessageLevel;
- }
- ASSERT_NOT_REACHED();
- return @"";
-}
-
-void WebChromeClient::addMessageToConsole(MessageSource source, MessageLevel level, const String& message, unsigned int lineNumber, unsigned columnNumber, const String& sourceURL)
-{
- id delegate = [m_webView UIDelegate];
- BOOL respondsToNewSelector = NO;
-
- SEL selector = @selector(webView:addMessageToConsole:withSource:);
- if ([delegate respondsToSelector:selector])
- respondsToNewSelector = YES;
- else {
- // The old selector only takes JSMessageSource messages.
- if (source != JSMessageSource)
- return;
- selector = @selector(webView:addMessageToConsole:);
- if (![delegate respondsToSelector:selector])
- return;
- }
-
- NSString *messageSource = stringForMessageSource(source);
- NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:
- (NSString *)message, @"message",
- [NSNumber numberWithUnsignedInt:lineNumber], @"lineNumber",
- [NSNumber numberWithUnsignedInt:columnNumber], @"columnNumber",
- (NSString *)sourceURL, @"sourceURL",
- messageSource, @"MessageSource",
- stringForMessageLevel(level), @"MessageLevel",
- NULL];
-
- if (respondsToNewSelector)
- CallUIDelegate(m_webView, selector, dictionary, messageSource);
- else
- CallUIDelegate(m_webView, selector, dictionary);
-
- [dictionary release];
-}
-
-bool WebChromeClient::canRunBeforeUnloadConfirmPanel()
-{
- return [[m_webView UIDelegate] respondsToSelector:@selector(webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:)];
-}
-
-bool WebChromeClient::runBeforeUnloadConfirmPanel(const String& message, Frame* frame)
-{
- return CallUIDelegateReturningBoolean(true, m_webView, @selector(webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:), message, kit(frame));
-}
-
-void WebChromeClient::closeWindowSoon()
-{
- // We need to remove the parent WebView from WebViewSets here, before it actually
- // closes, to make sure that JavaScript code that executes before it closes
- // can't find it. Otherwise, window.open will select a closed WebView instead of
- // opening a new one <rdar://problem/3572585>.
-
- // We also need to stop the load to prevent further parsing or JavaScript execution
- // after the window has torn down <rdar://problem/4161660>.
-
- // FIXME: This code assumes that the UI delegate will respond to a webViewClose
- // message by actually closing the WebView. Safari guarantees this behavior, but other apps might not.
- // This approach is an inherent limitation of not making a close execute immediately
- // after a call to window.close.
-
- [m_webView setGroupName:nil];
- [m_webView stopLoading:nil];
- [m_webView performSelector:@selector(_closeWindow) withObject:nil afterDelay:0.0];
-}
-
-void WebChromeClient::runJavaScriptAlert(Frame* frame, const String& message)
-{
- id delegate = [m_webView UIDelegate];
- SEL selector = @selector(webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:);
- if ([delegate respondsToSelector:selector]) {
- CallUIDelegate(m_webView, selector, message, kit(frame));
- return;
- }
-
- // Call the old version of the delegate method if it is implemented.
- selector = @selector(webView:runJavaScriptAlertPanelWithMessage:);
- if ([delegate respondsToSelector:selector]) {
- CallUIDelegate(m_webView, selector, message);
- return;
- }
-}
-
-bool WebChromeClient::runJavaScriptConfirm(Frame* frame, const String& message)
-{
- id delegate = [m_webView UIDelegate];
- SEL selector = @selector(webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:);
- if ([delegate respondsToSelector:selector])
- return CallUIDelegateReturningBoolean(NO, m_webView, selector, message, kit(frame));
-
- // Call the old version of the delegate method if it is implemented.
- selector = @selector(webView:runJavaScriptConfirmPanelWithMessage:);
- if ([delegate respondsToSelector:selector])
- return CallUIDelegateReturningBoolean(NO, m_webView, selector, message);
-
- return NO;
-}
-
-bool WebChromeClient::runJavaScriptPrompt(Frame* frame, const String& prompt, const String& defaultText, String& result)
-{
- id delegate = [m_webView UIDelegate];
- SEL selector = @selector(webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:);
- NSString *defaultString = defaultText;
- if ([delegate respondsToSelector:selector]) {
- result = (NSString *)CallUIDelegate(m_webView, selector, prompt, defaultString, kit(frame));
- return !result.isNull();
- }
-
- // Call the old version of the delegate method if it is implemented.
- selector = @selector(webView:runJavaScriptTextInputPanelWithPrompt:defaultText:);
- if ([delegate respondsToSelector:selector]) {
- result = (NSString *)CallUIDelegate(m_webView, selector, prompt, defaultString);
- return !result.isNull();
- }
-
- result = [[WebDefaultUIDelegate sharedUIDelegate] webView:m_webView runJavaScriptTextInputPanelWithPrompt:prompt defaultText:defaultString initiatedByFrame:kit(frame)];
- return !result.isNull();
-}
-
-bool WebChromeClient::shouldInterruptJavaScript()
-{
- return CallUIDelegateReturningBoolean(NO, m_webView, @selector(webViewShouldInterruptJavaScript:));
-}
-
-void WebChromeClient::setStatusbarText(const String& status)
-{
- // We want the temporaries allocated here to be released even before returning to the
- // event loop; see <http://bugs.webkit.org/show_bug.cgi?id=9880>.
- NSAutoreleasePool* localPool = [[NSAutoreleasePool alloc] init];
- CallUIDelegate(m_webView, @selector(webView:setStatusText:), (NSString *)status);
- [localPool drain];
-}
-
-IntRect WebChromeClient::windowResizerRect() const
-{
- return enclosingIntRect([[m_webView window] _growBoxRect]);
-}
-
-bool WebChromeClient::supportsImmediateInvalidation()
-{
- return true;
-}
-
-void WebChromeClient::invalidateRootView(const IntRect&, bool immediate)
-{
- if (immediate) {
- [[m_webView window] displayIfNeeded];
- [[m_webView window] flushWindowIfNeeded];
- }
-}
-
-void WebChromeClient::invalidateContentsAndRootView(const IntRect& rect, bool immediate)
-{
-}
-
-void WebChromeClient::invalidateContentsForSlowScroll(const IntRect& rect, bool immediate)
-{
- invalidateContentsAndRootView(rect, immediate);
-}
-
-void WebChromeClient::scroll(const IntSize&, const IntRect&, const IntRect&)
-{
-}
-
-IntPoint WebChromeClient::screenToRootView(const IntPoint& p) const
-{
- // FIXME: Implement this.
- return p;
-}
-
-IntRect WebChromeClient::rootViewToScreen(const IntRect& r) const
-{
- // FIXME: Implement this.
- return r;
-}
-
-PlatformPageClient WebChromeClient::platformPageClient() const
-{
- return 0;
-}
-
-void WebChromeClient::contentsSizeChanged(Frame*, const IntSize&) const
-{
-}
-
-void WebChromeClient::scrollRectIntoView(const IntRect& r) const
-{
- // FIXME: This scrolling behavior should be under the control of the embedding client,
- // perhaps in a delegate method, rather than something WebKit does unconditionally.
- NSView *coordinateView = [[[m_webView mainFrame] frameView] documentView];
- NSRect rect = r;
- for (NSView *view = m_webView; view; view = [view superview]) {
- if ([view isKindOfClass:[NSClipView class]]) {
- NSClipView *clipView = (NSClipView *)view;
- NSView *documentView = [clipView documentView];
- [documentView scrollRectToVisible:[documentView convertRect:rect fromView:coordinateView]];
- }
- }
-}
-
-// End host window methods.
-
-bool WebChromeClient::shouldUnavailablePluginMessageBeButton(RenderEmbeddedObject::PluginUnavailabilityReason pluginUnavailabilityReason) const
-{
- if (pluginUnavailabilityReason == RenderEmbeddedObject::PluginMissing)
- return [[m_webView UIDelegate] respondsToSelector:@selector(webView:didPressMissingPluginButton:)];
-
- return false;
-}
-
-void WebChromeClient::unavailablePluginButtonClicked(Element* element, RenderEmbeddedObject::PluginUnavailabilityReason pluginUnavailabilityReason) const
-{
- ASSERT(element->hasTagName(objectTag) || element->hasTagName(embedTag) || element->hasTagName(appletTag));
-
- ASSERT(pluginUnavailabilityReason == RenderEmbeddedObject::PluginMissing);
- CallUIDelegate(m_webView, @selector(webView:didPressMissingPluginButton:), kit(element));
-}
-
-void WebChromeClient::mouseDidMoveOverElement(const HitTestResult& result, unsigned modifierFlags)
-{
- WebElementDictionary *element = [[WebElementDictionary alloc] initWithHitTestResult:result];
- [m_webView _mouseDidMoveOverElement:element modifierFlags:modifierFlags];
- [element release];
-}
-
-void WebChromeClient::setToolTip(const String& toolTip, TextDirection)
-{
- NSView<WebDocumentView> *documentView = [[[m_webView _selectedOrMainFrame] frameView] documentView];
- if ([documentView isKindOfClass:[WebHTMLView class]])
- [(WebHTMLView *)documentView _setToolTip:toolTip];
-}
-
-void WebChromeClient::print(Frame* frame)
-{
- WebFrame *webFrame = kit(frame);
- if ([[m_webView UIDelegate] respondsToSelector:@selector(webView:printFrame:)])
- CallUIDelegate(m_webView, @selector(webView:printFrame:), webFrame);
- else
- CallUIDelegate(m_webView, @selector(webView:printFrameView:), [webFrame frameView]);
-}
-
-#if ENABLE(SQL_DATABASE)
-
-void WebChromeClient::exceededDatabaseQuota(Frame* frame, const String& databaseName, DatabaseDetails)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- WebSecurityOrigin *webOrigin = [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:frame->document()->securityOrigin()];
- // FIXME: remove this workaround once shipping Safari has the necessary delegate implemented.
- if (WKAppVersionCheckLessThan(@"com.apple.Safari", -1, 3.1)) {
- const unsigned long long defaultQuota = 5 * 1024 * 1024; // 5 megabytes should hopefully be enough to test storage support.
- [[webOrigin databaseQuotaManager] setQuota:defaultQuota];
- } else
- CallUIDelegate(m_webView, @selector(webView:frame:exceededDatabaseQuotaForSecurityOrigin:database:), kit(frame), webOrigin, (NSString *)databaseName);
- [webOrigin release];
-
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-#endif
-
-void WebChromeClient::reachedMaxAppCacheSize(int64_t spaceNeeded)
-{
- // FIXME: Free some space.
-}
-
-void WebChromeClient::reachedApplicationCacheOriginQuota(SecurityOrigin* origin, int64_t totalSpaceNeeded)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- WebSecurityOrigin *webOrigin = [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:origin];
- CallUIDelegate(m_webView, @selector(webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:totalSpaceNeeded:), webOrigin, static_cast<NSUInteger>(totalSpaceNeeded));
- [webOrigin release];
-
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-void WebChromeClient::populateVisitedLinks()
-{
- if ([m_webView historyDelegate]) {
- WebHistoryDelegateImplementationCache* implementations = WebViewGetHistoryDelegateImplementations(m_webView);
-
- if (implementations->populateVisitedLinksFunc)
- CallHistoryDelegate(implementations->populateVisitedLinksFunc, m_webView, @selector(populateVisitedLinksForWebView:));
-
- return;
- }
-
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- [[WebHistory optionalSharedHistory] _addVisitedLinksToPageGroup:[m_webView page]->group()];
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-#if ENABLE(DASHBOARD_SUPPORT)
-
-void WebChromeClient::annotatedRegionsChanged()
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- CallUIDelegate(m_webView, @selector(webView:dashboardRegionsChanged:), [m_webView _dashboardRegions]);
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-#endif
-
-FloatRect WebChromeClient::customHighlightRect(Node* node, const AtomicString& type, const FloatRect& lineRect)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- NSView *documentView = [[kit(node->document()->frame()) frameView] documentView];
- if (![documentView isKindOfClass:[WebHTMLView class]])
- return NSZeroRect;
-
- WebHTMLView *webHTMLView = (WebHTMLView *)documentView;
- id<WebHTMLHighlighter> highlighter = [webHTMLView _highlighterForType:type];
- return [highlighter highlightRectForLine:lineRect representedNode:kit(node)];
-
- END_BLOCK_OBJC_EXCEPTIONS;
-
- return NSZeroRect;
-}
-
-void WebChromeClient::paintCustomHighlight(Node* node, const AtomicString& type, const FloatRect& boxRect, const FloatRect& lineRect,
- bool behindText, bool entireLine)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- NSView *documentView = [[kit(node->document()->frame()) frameView] documentView];
- if (![documentView isKindOfClass:[WebHTMLView class]])
- return;
-
- WebHTMLView *webHTMLView = (WebHTMLView *)documentView;
- id<WebHTMLHighlighter> highlighter = [webHTMLView _highlighterForType:type];
- [highlighter paintHighlightForBox:boxRect onLine:lineRect behindText:behindText entireLine:entireLine representedNode:kit(node)];
-
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-void WebChromeClient::runOpenPanel(Frame*, PassRefPtr<FileChooser> chooser)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- BOOL allowMultipleFiles = chooser->settings().allowsMultipleFiles;
- WebOpenPanelResultListener *listener = [[WebOpenPanelResultListener alloc] initWithChooser:chooser];
- id delegate = [m_webView UIDelegate];
- if ([delegate respondsToSelector:@selector(webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:)])
- CallUIDelegate(m_webView, @selector(webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:), listener, allowMultipleFiles);
- else if ([delegate respondsToSelector:@selector(webView:runOpenPanelForFileButtonWithResultListener:)])
- CallUIDelegate(m_webView, @selector(webView:runOpenPanelForFileButtonWithResultListener:), listener);
- else
- [listener cancel];
- [listener release];
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-void WebChromeClient::loadIconForFiles(const Vector<String>& filenames, FileIconLoader* iconLoader)
-{
- iconLoader->notifyFinished(Icon::createIconForFiles(filenames));
-}
-
-void WebChromeClient::setCursor(const WebCore::Cursor& cursor)
-{
- if ([NSApp _cursorRectCursor])
- return;
-
- NSCursor *platformCursor = cursor.platformCursor();
- if ([NSCursor currentCursor] == platformCursor)
- return;
- [platformCursor set];
-}
-
-void WebChromeClient::setCursorHiddenUntilMouseMoves(bool hiddenUntilMouseMoves)
-{
- [NSCursor setHiddenUntilMouseMoves:hiddenUntilMouseMoves];
-}
-
-KeyboardUIMode WebChromeClient::keyboardUIMode()
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- return [m_webView _keyboardUIMode];
- END_BLOCK_OBJC_EXCEPTIONS;
- return KeyboardAccessDefault;
-}
-
-NSResponder *WebChromeClient::firstResponder()
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- return [[m_webView _UIDelegateForwarder] webViewFirstResponder:m_webView];
- END_BLOCK_OBJC_EXCEPTIONS;
- return nil;
-}
-
-void WebChromeClient::makeFirstResponder(NSResponder *responder)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- [m_webView _pushPerformingProgrammaticFocus];
- [[m_webView _UIDelegateForwarder] webView:m_webView makeFirstResponder:responder];
- [m_webView _popPerformingProgrammaticFocus];
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-void WebChromeClient::enableSuddenTermination()
-{
- [[NSProcessInfo processInfo] enableSuddenTermination];
-}
-
-void WebChromeClient::disableSuddenTermination()
-{
- [[NSProcessInfo processInfo] disableSuddenTermination];
-}
-
-bool WebChromeClient::shouldReplaceWithGeneratedFileForUpload(const String& path, String& generatedFilename)
-{
- NSString* filename;
- if (![[m_webView _UIDelegateForwarder] webView:m_webView shouldReplaceUploadFile:path usingGeneratedFilename:&filename])
- return false;
- generatedFilename = filename;
- return true;
-}
-
-String WebChromeClient::generateReplacementFile(const String& path)
-{
- return [[m_webView _UIDelegateForwarder] webView:m_webView generateReplacementFile:path];
-}
-
-void WebChromeClient::elementDidFocus(const WebCore::Node* node)
-{
- CallUIDelegate(m_webView, @selector(webView:formDidFocusNode:), kit(const_cast<WebCore::Node*>(node)));
-}
-
-void WebChromeClient::elementDidBlur(const WebCore::Node* node)
-{
- CallUIDelegate(m_webView, @selector(webView:formDidBlurNode:), kit(const_cast<WebCore::Node*>(node)));
-}
-
-bool WebChromeClient::selectItemWritingDirectionIsNatural()
-{
- return false;
-}
-
-bool WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection()
-{
- return true;
-}
-
-bool WebChromeClient::hasOpenedPopup() const
-{
- notImplemented();
- return false;
-}
-
-PassRefPtr<WebCore::PopupMenu> WebChromeClient::createPopupMenu(WebCore::PopupMenuClient* client) const
-{
- return adoptRef(new PopupMenuMac(client));
-}
-
-PassRefPtr<WebCore::SearchPopupMenu> WebChromeClient::createSearchPopupMenu(WebCore::PopupMenuClient* client) const
-{
- return adoptRef(new SearchPopupMenuMac(client));
-}
-
-bool WebChromeClient::shouldPaintEntireContents() const
-{
- NSView *documentView = [[[m_webView mainFrame] frameView] documentView];
- return [documentView layer];
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-
-void WebChromeClient::attachRootGraphicsLayer(Frame* frame, GraphicsLayer* graphicsLayer)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- NSView *documentView = [[kit(frame) frameView] documentView];
- if (![documentView isKindOfClass:[WebHTMLView class]]) {
- // We should never be attaching when we don't have a WebHTMLView.
- ASSERT(!graphicsLayer);
- return;
- }
-
- WebHTMLView *webHTMLView = (WebHTMLView *)documentView;
- if (graphicsLayer)
- [webHTMLView attachRootLayer:graphicsLayer->platformLayer()];
- else
- [webHTMLView detachRootLayer];
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-void WebChromeClient::setNeedsOneShotDrawingSynchronization()
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- [m_webView _setNeedsOneShotDrawingSynchronization:YES];
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-void WebChromeClient::scheduleCompositingLayerFlush()
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- [m_webView _scheduleCompositingLayerFlush];
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-#endif
-
-#if ENABLE(VIDEO)
-
-bool WebChromeClient::supportsFullscreenForNode(const Node* node)
-{
- return node->hasTagName(WebCore::HTMLNames::videoTag);
-}
-
-void WebChromeClient::enterFullscreenForNode(Node* node)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- [m_webView _enterFullscreenForNode:node];
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-void WebChromeClient::exitFullscreenForNode(Node*)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- [m_webView _exitFullscreen];
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-#endif
-
-#if ENABLE(FULLSCREEN_API)
-
-bool WebChromeClient::supportsFullScreenForElement(const Element* element, bool withKeyboard)
-{
- SEL selector = @selector(webView:supportsFullScreenForElement:withKeyboard:);
- if ([[m_webView UIDelegate] respondsToSelector:selector])
- return CallUIDelegateReturningBoolean(false, m_webView, selector, kit(const_cast<WebCore::Element*>(element)), withKeyboard);
- return [m_webView _supportsFullScreenForElement:const_cast<WebCore::Element*>(element) withKeyboard:withKeyboard];
-}
-
-void WebChromeClient::enterFullScreenForElement(Element* element)
-{
- SEL selector = @selector(webView:enterFullScreenForElement:listener:);
- if ([[m_webView UIDelegate] respondsToSelector:selector]) {
- WebKitFullScreenListener* listener = [[WebKitFullScreenListener alloc] initWithElement:element];
- CallUIDelegate(m_webView, selector, kit(element), listener);
- [listener release];
- } else
- [m_webView _enterFullScreenForElement:element];
-}
-
-void WebChromeClient::exitFullScreenForElement(Element* element)
-{
- SEL selector = @selector(webView:exitFullScreenForElement:listener:);
- if ([[m_webView UIDelegate] respondsToSelector:selector]) {
- WebKitFullScreenListener* listener = [[WebKitFullScreenListener alloc] initWithElement:element];
- CallUIDelegate(m_webView, selector, kit(element), listener);
- [listener release];
- } else
- [m_webView _exitFullScreenForElement:element];
-}
-
-void WebChromeClient::fullScreenRendererChanged(RenderBox* renderer)
-{
- SEL selector = @selector(webView:fullScreenRendererChanged:);
- if ([[m_webView UIDelegate] respondsToSelector:selector])
- CallUIDelegate(m_webView, selector, (id)renderer);
-}
-
-#endif
diff --git a/Source/WebKit/mac/WebCoreSupport/WebContextMenuClient.h b/Source/WebKit/mac/WebCoreSupport/WebContextMenuClient.h
deleted file mode 100644
index e536f3c24..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebContextMenuClient.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebCore/ContextMenuClient.h>
-
-@class WebView;
-
-class WebContextMenuClient : public WebCore::ContextMenuClient {
-public:
- WebContextMenuClient(WebView *webView);
-
- virtual void contextMenuDestroyed() OVERRIDE;
-
- virtual NSMutableArray* getCustomMenuFromDefaultItems(WebCore::ContextMenu*) OVERRIDE;
- virtual void contextMenuItemSelected(WebCore::ContextMenuItem*, const WebCore::ContextMenu*) OVERRIDE;
-
- virtual void downloadURL(const WebCore::KURL&) OVERRIDE;
- virtual void searchWithGoogle(const WebCore::Frame*) OVERRIDE;
- virtual void lookUpInDictionary(WebCore::Frame*) OVERRIDE;
- virtual bool isSpeaking() OVERRIDE;
- virtual void speak(const WTF::String&) OVERRIDE;
- virtual void stopSpeaking() OVERRIDE;
- virtual void searchWithSpotlight() OVERRIDE;
- virtual void showContextMenu() OVERRIDE;
-
- WebView *webView() { return m_webView; }
-
-private:
- WebView *m_webView;
-};
diff --git a/Source/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm b/Source/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm
deleted file mode 100644
index 1d5191b54..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebContextMenuClient.mm
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebContextMenuClient.h"
-
-#import "WebDelegateImplementationCaching.h"
-#import "WebElementDictionary.h"
-#import "WebFrame.h"
-#import "WebFrameInternal.h"
-#import "WebHTMLView.h"
-#import "WebHTMLViewInternal.h"
-#import "WebKitVersionChecks.h"
-#import "WebNSPasteboardExtras.h"
-#import "WebUIDelegate.h"
-#import "WebUIDelegatePrivate.h"
-#import "WebView.h"
-#import "WebViewInternal.h"
-#import <WebCore/ContextMenu.h>
-#import <WebCore/ContextMenuController.h>
-#import <WebCore/Document.h>
-#import <WebCore/KURL.h>
-#import <WebCore/LocalizedStrings.h>
-#import <WebCore/Page.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameView.h>
-#import <WebCore/RuntimeApplicationChecks.h>
-#import <WebKit/DOMPrivate.h>
-
-using namespace WebCore;
-
-@interface NSApplication (AppKitSecretsIKnowAbout)
-- (void)speakString:(NSString *)string;
-@end
-
-WebContextMenuClient::WebContextMenuClient(WebView *webView)
- : m_webView(webView)
-{
-}
-
-void WebContextMenuClient::contextMenuDestroyed()
-{
- delete this;
-}
-
-static BOOL isPreVersion3Client(void)
-{
- static BOOL preVersion3Client = !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_3_0_CONTEXT_MENU_TAGS);
- return preVersion3Client;
-}
-
-static BOOL isPreInspectElementTagClient(void)
-{
- static BOOL preInspectElementTagClient = !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_INSPECT_ELEMENT_MENU_TAG);
- return preInspectElementTagClient;
-}
-
-static NSMutableArray *fixMenusToSendToOldClients(NSMutableArray *defaultMenuItems)
-{
- NSMutableArray *savedItems = nil;
-
- unsigned defaultItemsCount = [defaultMenuItems count];
-
- if (isPreInspectElementTagClient() && defaultItemsCount >= 2) {
- NSMenuItem *secondToLastItem = [defaultMenuItems objectAtIndex:defaultItemsCount - 2];
- NSMenuItem *lastItem = [defaultMenuItems objectAtIndex:defaultItemsCount - 1];
-
- if ([secondToLastItem isSeparatorItem] && [lastItem tag] == WebMenuItemTagInspectElement) {
- savedItems = [NSMutableArray arrayWithCapacity:2];
- [savedItems addObject:secondToLastItem];
- [savedItems addObject:lastItem];
-
- [defaultMenuItems removeObject:secondToLastItem];
- [defaultMenuItems removeObject:lastItem];
- defaultItemsCount -= 2;
- }
- }
-
- BOOL preVersion3Client = isPreVersion3Client();
- if (!preVersion3Client)
- return savedItems;
-
- for (unsigned i = 0; i < defaultItemsCount; ++i) {
- NSMenuItem *item = [defaultMenuItems objectAtIndex:i];
- int tag = [item tag];
- int oldStyleTag = tag;
-
- if (tag >= WEBMENUITEMTAG_WEBKIT_3_0_SPI_START) {
- // Change all editing-related SPI tags listed in WebUIDelegatePrivate.h to WebMenuItemTagOther
- // to match our old WebKit context menu behavior.
- oldStyleTag = WebMenuItemTagOther;
- } else {
- // All items are expected to have useful tags coming into this method.
- ASSERT(tag != WebMenuItemTagOther);
-
- // Use the pre-3.0 tags for the few items that changed tags as they moved from SPI to API. We
- // do this only for old clients; new Mail already expects the new symbols in this case.
- if (preVersion3Client) {
- switch (tag) {
- case WebMenuItemTagSearchInSpotlight:
- oldStyleTag = OldWebMenuItemTagSearchInSpotlight;
- break;
- case WebMenuItemTagSearchWeb:
- oldStyleTag = OldWebMenuItemTagSearchWeb;
- break;
- case WebMenuItemTagLookUpInDictionary:
- oldStyleTag = OldWebMenuItemTagLookUpInDictionary;
- break;
- default:
- break;
- }
- }
- }
-
- if (oldStyleTag != tag)
- [item setTag:oldStyleTag];
- }
-
- return savedItems;
-}
-
-static void fixMenusReceivedFromOldClients(NSMutableArray *newMenuItems, NSMutableArray *savedItems)
-{
- if (savedItems)
- [newMenuItems addObjectsFromArray:savedItems];
-
- BOOL preVersion3Client = isPreVersion3Client();
- if (!preVersion3Client)
- return;
-
- // Restore the modern tags to the menu items whose tags we altered in fixMenusToSendToOldClients.
- unsigned newItemsCount = [newMenuItems count];
- for (unsigned i = 0; i < newItemsCount; ++i) {
- NSMenuItem *item = [newMenuItems objectAtIndex:i];
-
- int tag = [item tag];
- int modernTag = tag;
-
- if (tag == WebMenuItemTagOther) {
- // Restore the specific tag for items on which we temporarily set WebMenuItemTagOther to match old behavior.
- NSString *title = [item title];
- if ([title isEqualToString:contextMenuItemTagOpenLink()])
- modernTag = WebMenuItemTagOpenLink;
- else if ([title isEqualToString:contextMenuItemTagIgnoreGrammar()])
- modernTag = WebMenuItemTagIgnoreGrammar;
- else if ([title isEqualToString:contextMenuItemTagSpellingMenu()])
- modernTag = WebMenuItemTagSpellingMenu;
- else if ([title isEqualToString:contextMenuItemTagShowSpellingPanel(true)]
- || [title isEqualToString:contextMenuItemTagShowSpellingPanel(false)])
- modernTag = WebMenuItemTagShowSpellingPanel;
- else if ([title isEqualToString:contextMenuItemTagCheckSpelling()])
- modernTag = WebMenuItemTagCheckSpelling;
- else if ([title isEqualToString:contextMenuItemTagCheckSpellingWhileTyping()])
- modernTag = WebMenuItemTagCheckSpellingWhileTyping;
- else if ([title isEqualToString:contextMenuItemTagCheckGrammarWithSpelling()])
- modernTag = WebMenuItemTagCheckGrammarWithSpelling;
- else if ([title isEqualToString:contextMenuItemTagFontMenu()])
- modernTag = WebMenuItemTagFontMenu;
- else if ([title isEqualToString:contextMenuItemTagShowFonts()])
- modernTag = WebMenuItemTagShowFonts;
- else if ([title isEqualToString:contextMenuItemTagBold()])
- modernTag = WebMenuItemTagBold;
- else if ([title isEqualToString:contextMenuItemTagItalic()])
- modernTag = WebMenuItemTagItalic;
- else if ([title isEqualToString:contextMenuItemTagUnderline()])
- modernTag = WebMenuItemTagUnderline;
- else if ([title isEqualToString:contextMenuItemTagOutline()])
- modernTag = WebMenuItemTagOutline;
- else if ([title isEqualToString:contextMenuItemTagStyles()])
- modernTag = WebMenuItemTagStyles;
- else if ([title isEqualToString:contextMenuItemTagShowColors()])
- modernTag = WebMenuItemTagShowColors;
- else if ([title isEqualToString:contextMenuItemTagSpeechMenu()])
- modernTag = WebMenuItemTagSpeechMenu;
- else if ([title isEqualToString:contextMenuItemTagStartSpeaking()])
- modernTag = WebMenuItemTagStartSpeaking;
- else if ([title isEqualToString:contextMenuItemTagStopSpeaking()])
- modernTag = WebMenuItemTagStopSpeaking;
- else if ([title isEqualToString:contextMenuItemTagWritingDirectionMenu()])
- modernTag = WebMenuItemTagWritingDirectionMenu;
- else if ([title isEqualToString:contextMenuItemTagDefaultDirection()])
- modernTag = WebMenuItemTagDefaultDirection;
- else if ([title isEqualToString:contextMenuItemTagLeftToRight()])
- modernTag = WebMenuItemTagLeftToRight;
- else if ([title isEqualToString:contextMenuItemTagRightToLeft()])
- modernTag = WebMenuItemTagRightToLeft;
- else if ([title isEqualToString:contextMenuItemTagInspectElement()])
- modernTag = WebMenuItemTagInspectElement;
- else if ([title isEqualToString:contextMenuItemTagCorrectSpellingAutomatically()])
- modernTag = WebMenuItemTagCorrectSpellingAutomatically;
- else if ([title isEqualToString:contextMenuItemTagSubstitutionsMenu()])
- modernTag = WebMenuItemTagSubstitutionsMenu;
- else if ([title isEqualToString:contextMenuItemTagShowSubstitutions(true)]
- || [title isEqualToString:contextMenuItemTagShowSubstitutions(false)])
- modernTag = WebMenuItemTagShowSubstitutions;
- else if ([title isEqualToString:contextMenuItemTagSmartCopyPaste()])
- modernTag = WebMenuItemTagSmartCopyPaste;
- else if ([title isEqualToString:contextMenuItemTagSmartQuotes()])
- modernTag = WebMenuItemTagSmartQuotes;
- else if ([title isEqualToString:contextMenuItemTagSmartDashes()])
- modernTag = WebMenuItemTagSmartDashes;
- else if ([title isEqualToString:contextMenuItemTagSmartLinks()])
- modernTag = WebMenuItemTagSmartLinks;
- else if ([title isEqualToString:contextMenuItemTagTextReplacement()])
- modernTag = WebMenuItemTagTextReplacement;
- else if ([title isEqualToString:contextMenuItemTagTransformationsMenu()])
- modernTag = WebMenuItemTagTransformationsMenu;
- else if ([title isEqualToString:contextMenuItemTagMakeUpperCase()])
- modernTag = WebMenuItemTagMakeUpperCase;
- else if ([title isEqualToString:contextMenuItemTagMakeLowerCase()])
- modernTag = WebMenuItemTagMakeLowerCase;
- else if ([title isEqualToString:contextMenuItemTagCapitalize()])
- modernTag = WebMenuItemTagCapitalize;
- else {
- // We don't expect WebMenuItemTagOther for any items other than the ones we explicitly handle.
- // There's nothing to prevent an app from applying this tag, but they are supposed to only
- // use tags in the range starting with WebMenuItemBaseApplicationTag=10000
- ASSERT_NOT_REACHED();
- }
- } else if (preVersion3Client) {
- // Restore the new API tag for items on which we temporarily set the old SPI tag. The old SPI tag was
- // needed to avoid confusing clients linked against earlier WebKits; the new API tag is needed for
- // WebCore to handle the menu items appropriately (without needing to know about the old SPI tags).
- switch (tag) {
- case OldWebMenuItemTagSearchInSpotlight:
- modernTag = WebMenuItemTagSearchInSpotlight;
- break;
- case OldWebMenuItemTagSearchWeb:
- modernTag = WebMenuItemTagSearchWeb;
- break;
- case OldWebMenuItemTagLookUpInDictionary:
- modernTag = WebMenuItemTagLookUpInDictionary;
- break;
- default:
- break;
- }
- }
-
- if (modernTag != tag)
- [item setTag:modernTag];
- }
-}
-
-NSMutableArray* WebContextMenuClient::getCustomMenuFromDefaultItems(ContextMenu* defaultMenu)
-{
- id delegate = [m_webView UIDelegate];
- SEL selector = @selector(webView:contextMenuItemsForElement:defaultMenuItems:);
- if (![delegate respondsToSelector:selector])
- return defaultMenu->platformDescription();
-
- NSDictionary *element = [[[WebElementDictionary alloc] initWithHitTestResult:[m_webView page]->contextMenuController()->hitTestResult()] autorelease];
-
- BOOL preVersion3Client = isPreVersion3Client();
- if (preVersion3Client) {
- DOMNode *node = [element objectForKey:WebElementDOMNodeKey];
- if ([node isKindOfClass:[DOMHTMLInputElement class]] && [(DOMHTMLInputElement *)node _isTextField])
- return defaultMenu->platformDescription();
- if ([node isKindOfClass:[DOMHTMLTextAreaElement class]])
- return defaultMenu->platformDescription();
- }
-
- NSMutableArray *defaultMenuItems = defaultMenu->platformDescription();
-
- unsigned defaultItemsCount = [defaultMenuItems count];
- for (unsigned i = 0; i < defaultItemsCount; ++i)
- [[defaultMenuItems objectAtIndex:i] setRepresentedObject:element];
-
- NSMutableArray *savedItems = [fixMenusToSendToOldClients(defaultMenuItems) retain];
- NSArray *delegateSuppliedItems = CallUIDelegate(m_webView, selector, element, defaultMenuItems);
- NSMutableArray *newMenuItems = [delegateSuppliedItems mutableCopy];
- fixMenusReceivedFromOldClients(newMenuItems, savedItems);
- [savedItems release];
- return [newMenuItems autorelease];
-}
-
-void WebContextMenuClient::contextMenuItemSelected(ContextMenuItem* item, const ContextMenu* parentMenu)
-{
- id delegate = [m_webView UIDelegate];
- SEL selector = @selector(webView:contextMenuItemSelected:forElement:);
- if ([delegate respondsToSelector:selector]) {
- NSDictionary *element = [[WebElementDictionary alloc] initWithHitTestResult:[m_webView page]->contextMenuController()->hitTestResult()];
- NSMenuItem *platformItem = item->releasePlatformDescription();
-
- CallUIDelegate(m_webView, selector, platformItem, element);
-
- [element release];
- [platformItem release];
- }
-}
-
-void WebContextMenuClient::downloadURL(const KURL& url)
-{
- [m_webView _downloadURL:url];
-}
-
-void WebContextMenuClient::searchWithSpotlight()
-{
- [m_webView _searchWithSpotlightFromMenu:nil];
-}
-
-void WebContextMenuClient::searchWithGoogle(const Frame*)
-{
- [m_webView _searchWithGoogleFromMenu:nil];
-}
-
-void WebContextMenuClient::lookUpInDictionary(Frame* frame)
-{
- WebHTMLView* htmlView = (WebHTMLView*)[[kit(frame) frameView] documentView];
- if(![htmlView isKindOfClass:[WebHTMLView class]])
- return;
- [htmlView _lookUpInDictionaryFromMenu:nil];
-}
-
-bool WebContextMenuClient::isSpeaking()
-{
- return [NSApp isSpeaking];
-}
-
-void WebContextMenuClient::speak(const String& string)
-{
- [NSApp speakString:[[(NSString*)string copy] autorelease]];
-}
-
-void WebContextMenuClient::stopSpeaking()
-{
- [NSApp stopSpeaking:nil];
-}
-
-void WebContextMenuClient::showContextMenu()
-{
- Page* page = [m_webView page];
- if (!page)
- return;
- ContextMenuController* controller = page->contextMenuController();
- Frame* frame = controller->hitTestResult().innerNodeFrame();
- if (!frame)
- return;
- FrameView* frameView = frame->view();
- if (!frameView)
- return;
-
- IntPoint point = frameView->contentsToWindow(controller->hitTestResult().roundedPointInInnerNodeFrame());
- NSView* view = frameView->documentView();
- NSPoint nsScreenPoint = [view convertPoint:point toView:nil];
- // Show the contextual menu for this event.
- NSEvent* event = [NSEvent mouseEventWithType:NSRightMouseDown location:nsScreenPoint modifierFlags:0 timestamp:0 windowNumber:[[view window] windowNumber] context:0 eventNumber:0 clickCount:1 pressure:1];
- NSMenu* nsMenu = [view menuForEvent:event];
- if (nsMenu)
- [NSMenu popUpContextMenu:nsMenu withEvent:event forView:view];
-}
diff --git a/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.h b/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.h
deleted file mode 100644
index 7e49871c0..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``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.
- */
-
-#import "WebDeviceOrientationProvider.h"
-#import <WebCore/DeviceOrientationClient.h>
-
-namespace WebCore {
-class DeviceOrientationController;
-}
-
-@class WebView;
-
-// This class is the Mac implementation of DeviceOrientationClient. It is
-// passed to the Page constructor by the WebView. It is a simple proxy to
-// either the real or mock client which is passed to the WebView. It is
-// required because the WebView must pass a client to the Page constructor,
-// but the real or mock client can not be specified until after the Page has
-// been constructed.
-class WebDeviceOrientationClient : public WebCore::DeviceOrientationClient {
-public:
- WebDeviceOrientationClient(WebView*);
-
- // DeviceOrientationClient methods
- virtual void setController(WebCore::DeviceOrientationController*) OVERRIDE;
- virtual void startUpdating() OVERRIDE;
- virtual void stopUpdating() OVERRIDE;
- virtual WebCore::DeviceOrientationData* lastOrientation() const OVERRIDE;
- virtual void deviceOrientationControllerDestroyed() OVERRIDE;
-
-private:
- id<WebDeviceOrientationProvider> getProvider() const;
-
- WebView* m_webView;
- WebCore::DeviceOrientationController* m_controller;
- mutable id<WebDeviceOrientationProvider> m_provider;
-};
diff --git a/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm b/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm
deleted file mode 100644
index 511cc10ea..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``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.
- */
-
-#import "WebDeviceOrientationClient.h"
-
-#import "WebDeviceOrientationInternal.h"
-#import "WebDeviceOrientationProvider.h"
-#import "WebViewInternal.h"
-#import <wtf/ObjcRuntimeExtras.h>
-
-using namespace WebCore;
-
-WebDeviceOrientationClient::WebDeviceOrientationClient(WebView* webView)
- : m_webView(webView)
- , m_controller(0)
-{
-}
-
-void WebDeviceOrientationClient::setController(DeviceOrientationController* controller)
-{
- // This is called by the Page constructor before our WebView has the provider set up.
- // MemoryCache the controller for later use.
- m_controller = controller;
-}
-
-void WebDeviceOrientationClient::startUpdating()
-{
- [getProvider() startUpdating];
-}
-
-void WebDeviceOrientationClient::stopUpdating()
-{
- [getProvider() stopUpdating];
-}
-
-DeviceOrientationData* WebDeviceOrientationClient::lastOrientation() const
-{
- return core([getProvider() lastOrientation]);
-}
-
-void WebDeviceOrientationClient::deviceOrientationControllerDestroyed()
-{
- delete this;
-}
-
-id<WebDeviceOrientationProvider> WebDeviceOrientationClient::getProvider() const
-{
- if (!m_provider) {
- m_provider = [m_webView _deviceOrientationProvider];
- if ([m_provider respondsToSelector:@selector(setController:)])
- wtfObjcMsgSend<void>(m_provider, @selector(setController:), m_controller);
- }
- return m_provider;
-}
diff --git a/Source/WebKit/mac/WebCoreSupport/WebDragClient.h b/Source/WebKit/mac/WebCoreSupport/WebDragClient.h
deleted file mode 100644
index a7d0e69af..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebDragClient.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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.
- */
-
-#if ENABLE(DRAG_SUPPORT)
-
-#import <WebCore/DragClient.h>
-
-@class WebView;
-
-class WebDragClient : public WebCore::DragClient {
-public:
- WebDragClient(WebView*);
- virtual void willPerformDragDestinationAction(WebCore::DragDestinationAction, WebCore::DragData*) OVERRIDE;
- virtual void willPerformDragSourceAction(WebCore::DragSourceAction, const WebCore::IntPoint&, WebCore::Clipboard*) OVERRIDE;
- virtual WebCore::DragDestinationAction actionMaskForDrag(WebCore::DragData*) OVERRIDE;
- virtual void dragControllerDestroyed() OVERRIDE;
- virtual WebCore::DragSourceAction dragSourceActionMaskForPoint(const WebCore::IntPoint& windowPoint) OVERRIDE;
- virtual void startDrag(WebCore::DragImageRef, const WebCore::IntPoint& dragPos, const WebCore::IntPoint& eventPos, WebCore::Clipboard*, WebCore::Frame*, bool linkDrag) OVERRIDE;
- virtual void declareAndWriteDragImage(const String& pasteboardName, DOMElement*, NSURL*, NSString*, WebCore::Frame*) OVERRIDE;
-private:
- WebView* m_webView;
-};
-
-#endif // ENABLE(DRAG_SUPPORT)
diff --git a/Source/WebKit/mac/WebCoreSupport/WebDragClient.mm b/Source/WebKit/mac/WebCoreSupport/WebDragClient.mm
deleted file mode 100644
index e69a6ebca..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebDragClient.mm
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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 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.
- */
-
-#import "WebDragClient.h"
-
-#if ENABLE(DRAG_SUPPORT)
-
-#import "WebArchive.h"
-#import "WebDOMOperations.h"
-#import "WebFrame.h"
-#import "WebFrameInternal.h"
-#import "WebHTMLViewInternal.h"
-#import "WebHTMLViewPrivate.h"
-#import "WebKitLogging.h"
-#import "WebKitNSStringExtras.h"
-#import "WebNSPasteboardExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebStringTruncator.h"
-#import "WebUIDelegate.h"
-#import "WebUIDelegatePrivate.h"
-#import "WebViewInternal.h"
-#import <WebCore/Clipboard.h>
-#import <WebCore/DragData.h>
-#import <WebCore/Editor.h>
-#import <WebCore/EditorClient.h>
-#import <WebCore/EventHandler.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameView.h>
-#import <WebCore/Image.h>
-#import <WebCore/Page.h>
-#import <WebCore/Pasteboard.h>
-
-using namespace WebCore;
-
-WebDragClient::WebDragClient(WebView* webView)
- : m_webView(webView)
-{
-}
-
-static WebHTMLView *getTopHTMLView(Frame* frame)
-{
- ASSERT(frame);
- ASSERT(frame->page());
- return (WebHTMLView*)[[kit(frame->page()->mainFrame()) frameView] documentView];
-}
-
-WebCore::DragDestinationAction WebDragClient::actionMaskForDrag(WebCore::DragData* dragData)
-{
- return (WebCore::DragDestinationAction)[[m_webView _UIDelegateForwarder] webView:m_webView dragDestinationActionMaskForDraggingInfo:dragData->platformData()];
-}
-
-void WebDragClient::willPerformDragDestinationAction(WebCore::DragDestinationAction action, WebCore::DragData* dragData)
-{
- [[m_webView _UIDelegateForwarder] webView:m_webView willPerformDragDestinationAction:(WebDragDestinationAction)action forDraggingInfo:dragData->platformData()];
-}
-
-
-WebCore::DragSourceAction WebDragClient::dragSourceActionMaskForPoint(const IntPoint& rootViewPoint)
-{
- NSPoint viewPoint = [m_webView _convertPointFromRootView:rootViewPoint];
- return (DragSourceAction)[[m_webView _UIDelegateForwarder] webView:m_webView dragSourceActionMaskForPoint:viewPoint];
-}
-
-void WebDragClient::willPerformDragSourceAction(WebCore::DragSourceAction action, const WebCore::IntPoint& mouseDownPoint, WebCore::Clipboard* clipboard)
-{
- ASSERT(clipboard);
- [[m_webView _UIDelegateForwarder] webView:m_webView willPerformDragSourceAction:(WebDragSourceAction)action fromPoint:mouseDownPoint withPasteboard:[NSPasteboard pasteboardWithName:clipboard->pasteboard().name()]];
-}
-
-void WebDragClient::startDrag(DragImageRef dragImage, const IntPoint& at, const IntPoint& eventPos, Clipboard* clipboard, Frame* frame, bool linkDrag)
-{
- if (!frame)
- return;
- ASSERT(clipboard);
- RetainPtr<WebHTMLView> htmlView = (WebHTMLView*)[[kit(frame) frameView] documentView];
- if (![htmlView.get() isKindOfClass:[WebHTMLView class]])
- return;
-
- NSEvent *event = linkDrag ? frame->eventHandler()->currentNSEvent() : [htmlView.get() _mouseDownEvent];
- WebHTMLView* topHTMLView = getTopHTMLView(frame);
- RetainPtr<WebHTMLView> topViewProtector = topHTMLView;
-
- [topHTMLView _stopAutoscrollTimer];
- NSPasteboard *pasteboard = [NSPasteboard pasteboardWithName:clipboard->pasteboard().name()];
-
- NSImage *dragNSImage = dragImage.get();
- WebHTMLView *sourceHTMLView = htmlView.get();
-
- id delegate = [m_webView UIDelegate];
- SEL selector = @selector(webView:dragImage:at:offset:event:pasteboard:source:slideBack:forView:);
- if ([delegate respondsToSelector:selector]) {
- @try {
- [delegate webView:m_webView dragImage:dragNSImage at:at offset:NSZeroSize event:event pasteboard:pasteboard source:sourceHTMLView slideBack:YES forView:topHTMLView];
- } @catch (id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- } else
- [topHTMLView dragImage:dragNSImage at:at offset:NSZeroSize event:event pasteboard:pasteboard source:sourceHTMLView slideBack:YES];
-}
-
-void WebDragClient::declareAndWriteDragImage(const String& pasteboardName, DOMElement* element, NSURL* URL, NSString* title, WebCore::Frame* frame)
-{
- ASSERT(pasteboardName);
- ASSERT(element);
- WebHTMLView *source = getTopHTMLView(frame);
- WebArchive *archive = [element webArchive];
-
- [[NSPasteboard pasteboardWithName:pasteboardName] _web_declareAndWriteDragImageForElement:element URL:URL title:title archive:archive source:source];
-}
-
-void WebDragClient::dragControllerDestroyed()
-{
- delete this;
-}
-
-#endif // ENABLE(DRAG_SUPPORT)
diff --git a/Source/WebKit/mac/WebCoreSupport/WebEditorClient.h b/Source/WebKit/mac/WebCoreSupport/WebEditorClient.h
deleted file mode 100644
index 9864f1353..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebEditorClient.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
- * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
- *
- * 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebCore/EditorClient.h>
-#import <WebCore/TextCheckerClient.h>
-#import <wtf/Forward.h>
-#import <wtf/RetainPtr.h>
-#import <wtf/Vector.h>
-
-@class WebView;
-@class WebEditorUndoTarget;
-
-class WebEditorClient : public WebCore::EditorClient, public WebCore::TextCheckerClient {
-public:
- WebEditorClient(WebView *);
- virtual ~WebEditorClient();
- virtual void pageDestroyed() OVERRIDE;
- virtual void frameWillDetachPage(WebCore::Frame*) OVERRIDE { }
-
- virtual bool isGrammarCheckingEnabled() OVERRIDE;
- virtual void toggleGrammarChecking() OVERRIDE;
- virtual bool isContinuousSpellCheckingEnabled() OVERRIDE;
- virtual void toggleContinuousSpellChecking() OVERRIDE;
- virtual int spellCheckerDocumentTag() OVERRIDE;
-
- virtual bool smartInsertDeleteEnabled() OVERRIDE;
- virtual bool isSelectTrailingWhitespaceEnabled() OVERRIDE;
-
- virtual bool shouldDeleteRange(WebCore::Range*) OVERRIDE;
-
- virtual bool shouldBeginEditing(WebCore::Range*) OVERRIDE;
- virtual bool shouldEndEditing(WebCore::Range*) OVERRIDE;
- virtual bool shouldInsertNode(WebCore::Node*, WebCore::Range*, WebCore::EditorInsertAction) OVERRIDE;
- virtual bool shouldInsertText(const WTF::String&, WebCore::Range*, WebCore::EditorInsertAction) OVERRIDE;
- virtual bool shouldChangeSelectedRange(WebCore::Range* fromRange, WebCore::Range* toRange, WebCore::EAffinity, bool stillSelecting) OVERRIDE;
-
- virtual bool shouldApplyStyle(WebCore::StylePropertySet*, WebCore::Range*) OVERRIDE;
-
- virtual bool shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range* rangeToBeReplaced) OVERRIDE;
-
- virtual void didBeginEditing() OVERRIDE;
- virtual void didEndEditing() OVERRIDE;
- virtual void willWriteSelectionToPasteboard(WebCore::Range*) OVERRIDE;
- virtual void didWriteSelectionToPasteboard() OVERRIDE;
- virtual void getClientPasteboardDataForRange(WebCore::Range*, Vector<String>& pasteboardTypes, Vector<RefPtr<WebCore::SharedBuffer> >& pasteboardData) OVERRIDE;
- virtual void didSetSelectionTypesForPasteboard() OVERRIDE;
-
- virtual NSString* userVisibleString(NSURL *) OVERRIDE;
- virtual WebCore::DocumentFragment* documentFragmentFromAttributedString(NSAttributedString *, Vector< RefPtr<WebCore::ArchiveResource> >&) OVERRIDE;
- virtual void setInsertionPasteboard(const String&) OVERRIDE;
- virtual NSURL* canonicalizeURL(NSURL*) OVERRIDE;
- virtual NSURL* canonicalizeURLString(NSString*) OVERRIDE;
-
-#if USE(APPKIT)
- virtual void uppercaseWord() OVERRIDE;
- virtual void lowercaseWord() OVERRIDE;
- virtual void capitalizeWord() OVERRIDE;
-#endif
-
-#if USE(AUTOMATIC_TEXT_REPLACEMENT)
- virtual void showSubstitutionsPanel(bool show) OVERRIDE;
- virtual bool substitutionsPanelIsShowing() OVERRIDE;
- virtual void toggleSmartInsertDelete() OVERRIDE;
- virtual bool isAutomaticQuoteSubstitutionEnabled() OVERRIDE;
- virtual void toggleAutomaticQuoteSubstitution() OVERRIDE;
- virtual bool isAutomaticLinkDetectionEnabled() OVERRIDE;
- virtual void toggleAutomaticLinkDetection() OVERRIDE;
- virtual bool isAutomaticDashSubstitutionEnabled() OVERRIDE;
- virtual void toggleAutomaticDashSubstitution() OVERRIDE;
- virtual bool isAutomaticTextReplacementEnabled() OVERRIDE;
- virtual void toggleAutomaticTextReplacement() OVERRIDE;
- virtual bool isAutomaticSpellingCorrectionEnabled() OVERRIDE;
- virtual void toggleAutomaticSpellingCorrection() OVERRIDE;
-#endif
-
-#if ENABLE(DELETION_UI)
- virtual bool shouldShowDeleteInterface(WebCore::HTMLElement*) OVERRIDE;
-#endif
-
- TextCheckerClient* textChecker() OVERRIDE { return this; }
-
- virtual void respondToChangedContents() OVERRIDE;
- virtual void respondToChangedSelection(WebCore::Frame*) OVERRIDE;
-
- virtual void registerUndoStep(PassRefPtr<WebCore::UndoStep>) OVERRIDE;
- virtual void registerRedoStep(PassRefPtr<WebCore::UndoStep>) OVERRIDE;
- virtual void clearUndoRedoOperations() OVERRIDE;
-
- virtual bool canCopyCut(WebCore::Frame*, bool defaultValue) const OVERRIDE;
- virtual bool canPaste(WebCore::Frame*, bool defaultValue) const OVERRIDE;
- virtual bool canUndo() const OVERRIDE;
- virtual bool canRedo() const OVERRIDE;
-
- virtual void undo() OVERRIDE;
- virtual void redo() OVERRIDE;
-
- virtual void handleKeyboardEvent(WebCore::KeyboardEvent*) OVERRIDE;
- virtual void handleInputMethodKeydown(WebCore::KeyboardEvent*) OVERRIDE;
-
- virtual void textFieldDidBeginEditing(WebCore::Element*) OVERRIDE;
- virtual void textFieldDidEndEditing(WebCore::Element*) OVERRIDE;
- virtual void textDidChangeInTextField(WebCore::Element*) OVERRIDE;
- virtual bool doTextFieldCommandFromEvent(WebCore::Element*, WebCore::KeyboardEvent*) OVERRIDE;
- virtual void textWillBeDeletedInTextField(WebCore::Element*) OVERRIDE;
- virtual void textDidChangeInTextArea(WebCore::Element*) OVERRIDE;
-
- virtual bool shouldEraseMarkersAfterChangeSelection(WebCore::TextCheckingType) const OVERRIDE;
- virtual void ignoreWordInSpellDocument(const WTF::String&) OVERRIDE;
- virtual void learnWord(const WTF::String&) OVERRIDE;
- virtual void checkSpellingOfString(const UChar*, int length, int* misspellingLocation, int* misspellingLength) OVERRIDE;
- virtual WTF::String getAutoCorrectSuggestionForMisspelledWord(const WTF::String&) OVERRIDE;
- virtual void checkGrammarOfString(const UChar*, int length, WTF::Vector<WebCore::GrammarDetail>&, int* badGrammarLocation, int* badGrammarLength) OVERRIDE;
- virtual void checkTextOfParagraph(const UChar* text, int length, WebCore::TextCheckingTypeMask checkingTypes, WTF::Vector<WebCore::TextCheckingResult>& results) OVERRIDE;
- virtual void updateSpellingUIWithGrammarString(const WTF::String&, const WebCore::GrammarDetail&) OVERRIDE;
- virtual void updateSpellingUIWithMisspelledWord(const WTF::String&) OVERRIDE;
- virtual void showSpellingUI(bool show) OVERRIDE;
- virtual bool spellingUIIsShowing() OVERRIDE;
- virtual void getGuessesForWord(const WTF::String& word, const WTF::String& context, WTF::Vector<WTF::String>& guesses) OVERRIDE;
- virtual void willSetInputMethodState() OVERRIDE;
- virtual void setInputMethodState(bool enabled) OVERRIDE;
- virtual void requestCheckingOfString(PassRefPtr<WebCore::TextCheckingRequest>) OVERRIDE;
-
- void didCheckSucceed(int sequence, NSArray* results);
-
-private:
- void registerUndoOrRedoStep(PassRefPtr<WebCore::UndoStep>, bool isRedo);
- WebEditorClient();
-
- WebView *m_webView;
- RetainPtr<WebEditorUndoTarget> m_undoTarget;
- bool m_haveUndoRedoOperations;
- RefPtr<WebCore::TextCheckingRequest> m_textCheckingRequest;
-};
diff --git a/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm b/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm
deleted file mode 100644
index ec28e3f79..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm
+++ /dev/null
@@ -1,996 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, Inc. All rights reserved.
- * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
- *
- * 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebEditorClient.h"
-
-#import "DOMCSSStyleDeclarationInternal.h"
-#import "DOMDocumentFragmentInternal.h"
-#import "DOMHTMLElementInternal.h"
-#import "DOMHTMLInputElementInternal.h"
-#import "DOMHTMLTextAreaElementInternal.h"
-#import "DOMNodeInternal.h"
-#import "DOMRangeInternal.h"
-#import "WebArchive.h"
-#import "WebDataSourceInternal.h"
-#import "WebDelegateImplementationCaching.h"
-#import "WebDocument.h"
-#import "WebEditingDelegatePrivate.h"
-#import "WebFormDelegate.h"
-#import "WebFrameInternal.h"
-#import "WebHTMLView.h"
-#import "WebHTMLViewInternal.h"
-#import "WebKitLogging.h"
-#import "WebKitVersionChecks.h"
-#import "WebLocalizableStringsInternal.h"
-#import "WebNSURLExtras.h"
-#import "WebResourceInternal.h"
-#import "WebViewInternal.h"
-#import <WebCore/ArchiveResource.h>
-#import <WebCore/Document.h>
-#import <WebCore/DocumentFragment.h>
-#import <WebCore/HTMLInputElement.h>
-#import <WebCore/HTMLNames.h>
-#import <WebCore/HTMLTextAreaElement.h>
-#import <WebCore/KeyboardEvent.h>
-#import <WebCore/LegacyWebArchive.h>
-#import <WebCore/Page.h>
-#import <WebCore/PlatformKeyboardEvent.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/Settings.h>
-#import <WebCore/SpellChecker.h>
-#import <WebCore/StylePropertySet.h>
-#import <WebCore/UndoStep.h>
-#import <WebCore/UserTypingGestureIndicator.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/MainThread.h>
-#import <wtf/PassRefPtr.h>
-#import <wtf/text/WTFString.h>
-
-using namespace WebCore;
-
-using namespace HTMLNames;
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
-@interface NSSpellChecker (WebNSSpellCheckerDetails)
-- (NSString *)languageForWordRange:(NSRange)range inString:(NSString *)string orthography:(NSOrthography *)orthography;
-@end
-#endif
-
-@interface NSAttributedString (WebNSAttributedStringDetails)
-- (id)_initWithDOMRange:(DOMRange*)range;
-- (DOMDocumentFragment*)_documentFromRange:(NSRange)range document:(DOMDocument*)document documentAttributes:(NSDictionary *)dict subresources:(NSArray **)subresources;
-@end
-
-static WebViewInsertAction kit(EditorInsertAction coreAction)
-{
- return static_cast<WebViewInsertAction>(coreAction);
-}
-
-static const int InvalidCorrectionPanelTag = 0;
-
-
-@interface WebUndoStep : NSObject
-{
- RefPtr<UndoStep> m_step;
-}
-
-+ (WebUndoStep *)stepWithUndoStep:(PassRefPtr<UndoStep>)step;
-- (UndoStep *)step;
-
-@end
-
-@implementation WebUndoStep
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
-}
-
-- (id)initWithUndoStep:(PassRefPtr<UndoStep>)step
-{
- ASSERT(step);
- self = [super init];
- if (!self)
- return nil;
- m_step = step;
- return self;
-}
-
-- (void)dealloc
-{
- if (WebCoreObjCScheduleDeallocateOnMainThread([WebUndoStep class], self))
- return;
-
- [super dealloc];
-}
-
-- (void)finalize
-{
- ASSERT_MAIN_THREAD();
-
- [super finalize];
-}
-
-+ (WebUndoStep *)stepWithUndoStep:(PassRefPtr<UndoStep>)step
-{
- return [[[WebUndoStep alloc] initWithUndoStep:step] autorelease];
-}
-
-- (UndoStep *)step
-{
- return m_step.get();
-}
-
-@end
-
-@interface WebEditorUndoTarget : NSObject
-{
-}
-
-- (void)undoEditing:(id)arg;
-- (void)redoEditing:(id)arg;
-
-@end
-
-@implementation WebEditorUndoTarget
-
-- (void)undoEditing:(id)arg
-{
- ASSERT([arg isKindOfClass:[WebUndoStep class]]);
- [arg step]->unapply();
-}
-
-- (void)redoEditing:(id)arg
-{
- ASSERT([arg isKindOfClass:[WebUndoStep class]]);
- [arg step]->reapply();
-}
-
-@end
-
-void WebEditorClient::pageDestroyed()
-{
- delete this;
-}
-
-WebEditorClient::WebEditorClient(WebView *webView)
- : m_webView(webView)
- , m_undoTarget([[[WebEditorUndoTarget alloc] init] autorelease])
- , m_haveUndoRedoOperations(false)
-{
-}
-
-WebEditorClient::~WebEditorClient()
-{
-}
-
-bool WebEditorClient::isContinuousSpellCheckingEnabled()
-{
- return [m_webView isContinuousSpellCheckingEnabled];
-}
-
-void WebEditorClient::toggleContinuousSpellChecking()
-{
- [m_webView toggleContinuousSpellChecking:nil];
-}
-
-bool WebEditorClient::isGrammarCheckingEnabled()
-{
- return [m_webView isGrammarCheckingEnabled];
-}
-
-void WebEditorClient::toggleGrammarChecking()
-{
- [m_webView toggleGrammarChecking:nil];
-}
-
-int WebEditorClient::spellCheckerDocumentTag()
-{
- return [m_webView spellCheckerDocumentTag];
-}
-
-bool WebEditorClient::shouldDeleteRange(Range* range)
-{
- return [[m_webView _editingDelegateForwarder] webView:m_webView
- shouldDeleteDOMRange:kit(range)];
-}
-
-#if ENABLE(DELETION_UI)
-bool WebEditorClient::shouldShowDeleteInterface(HTMLElement* element)
-{
- return [[m_webView _editingDelegateForwarder] webView:m_webView
- shouldShowDeleteInterfaceForElement:kit(element)];
-}
-#endif
-
-bool WebEditorClient::smartInsertDeleteEnabled()
-{
- Page* page = [m_webView page];
- if (!page)
- return false;
- return page->settings()->smartInsertDeleteEnabled();
-}
-
-bool WebEditorClient::isSelectTrailingWhitespaceEnabled()
-{
- Page* page = [m_webView page];
- if (!page)
- return false;
- return page->settings()->selectTrailingWhitespaceEnabled();
-}
-
-bool WebEditorClient::shouldApplyStyle(StylePropertySet* style, Range* range)
-{
- RefPtr<MutableStylePropertySet> mutableStyle = style->isMutable() ? static_cast<MutableStylePropertySet*>(style) : style->mutableCopy();
- return [[m_webView _editingDelegateForwarder] webView:m_webView
- shouldApplyStyle:kit(mutableStyle->ensureCSSStyleDeclaration()) toElementsInDOMRange:kit(range)];
-}
-
-bool WebEditorClient::shouldMoveRangeAfterDelete(Range* range, Range* rangeToBeReplaced)
-{
- return [[m_webView _editingDelegateForwarder] webView:m_webView
- shouldMoveRangeAfterDelete:kit(range) replacingRange:kit(rangeToBeReplaced)];
-}
-
-bool WebEditorClient::shouldBeginEditing(Range* range)
-{
- return [[m_webView _editingDelegateForwarder] webView:m_webView
- shouldBeginEditingInDOMRange:kit(range)];
-
- return false;
-}
-
-bool WebEditorClient::shouldEndEditing(Range* range)
-{
- return [[m_webView _editingDelegateForwarder] webView:m_webView
- shouldEndEditingInDOMRange:kit(range)];
-}
-
-bool WebEditorClient::shouldInsertText(const String& text, Range* range, EditorInsertAction action)
-{
- WebView* webView = m_webView;
- return [[webView _editingDelegateForwarder] webView:webView shouldInsertText:text replacingDOMRange:kit(range) givenAction:kit(action)];
-}
-
-bool WebEditorClient::shouldChangeSelectedRange(Range* fromRange, Range* toRange, EAffinity selectionAffinity, bool stillSelecting)
-{
- return [m_webView _shouldChangeSelectedDOMRange:kit(fromRange) toDOMRange:kit(toRange) affinity:kit(selectionAffinity) stillSelecting:stillSelecting];
-}
-
-void WebEditorClient::didBeginEditing()
-{
- [[NSNotificationCenter defaultCenter] postNotificationName:WebViewDidBeginEditingNotification object:m_webView];
-}
-
-void WebEditorClient::respondToChangedContents()
-{
- NSView <WebDocumentView> *view = [[[m_webView selectedFrame] frameView] documentView];
- if ([view isKindOfClass:[WebHTMLView class]])
- [(WebHTMLView *)view _updateFontPanel];
- [[NSNotificationCenter defaultCenter] postNotificationName:WebViewDidChangeNotification object:m_webView];
-}
-
-void WebEditorClient::respondToChangedSelection(Frame* frame)
-{
- NSView<WebDocumentView> *documentView = [[kit(frame) frameView] documentView];
- if ([documentView isKindOfClass:[WebHTMLView class]])
- [(WebHTMLView *)documentView _selectionChanged];
-
- // FIXME: This quirk is needed due to <rdar://problem/5009625> - We can phase it out once Aperture can adopt the new behavior on their end
- if (!WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITHOUT_APERTURE_QUIRK) && [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.Aperture"])
- return;
-
- [[NSNotificationCenter defaultCenter] postNotificationName:WebViewDidChangeSelectionNotification object:m_webView];
-}
-
-void WebEditorClient::didEndEditing()
-{
- [[NSNotificationCenter defaultCenter] postNotificationName:WebViewDidEndEditingNotification object:m_webView];
-}
-
-void WebEditorClient::didWriteSelectionToPasteboard()
-{
- [[m_webView _editingDelegateForwarder] webView:m_webView didWriteSelectionToPasteboard:[NSPasteboard generalPasteboard]];
-}
-
-void WebEditorClient::willWriteSelectionToPasteboard(WebCore::Range*)
-{
- // Not implemented WebKit, only WebKit2.
-}
-
-void WebEditorClient::getClientPasteboardDataForRange(WebCore::Range*, Vector<String>& pasteboardTypes, Vector<RefPtr<WebCore::SharedBuffer> >& pasteboardData)
-{
- // Not implemented WebKit, only WebKit2.
-}
-
-void WebEditorClient::didSetSelectionTypesForPasteboard()
-{
- [[m_webView _editingDelegateForwarder] webView:m_webView didSetSelectionTypesForPasteboard:[NSPasteboard generalPasteboard]];
-}
-
-NSString *WebEditorClient::userVisibleString(NSURL *URL)
-{
- return [URL _web_userVisibleString];
-}
-
-NSURL *WebEditorClient::canonicalizeURL(NSURL *URL)
-{
- return [URL _webkit_canonicalize];
-}
-
-NSURL *WebEditorClient::canonicalizeURLString(NSString *URLString)
-{
- NSURL *URL = nil;
- if ([URLString _webkit_looksLikeAbsoluteURL])
- URL = [[NSURL _web_URLWithUserTypedString:URLString] _webkit_canonicalize];
- return URL;
-}
-
-static NSArray *createExcludedElementsForAttributedStringConversion()
-{
- NSArray *elements = [[NSArray alloc] initWithObjects:
- // Omit style since we want style to be inline so the fragment can be easily inserted.
- @"style",
- // Omit xml so the result is not XHTML.
- @"xml",
- // Omit tags that will get stripped when converted to a fragment anyway.
- @"doctype", @"html", @"head", @"body",
- // Omit deprecated tags.
- @"applet", @"basefont", @"center", @"dir", @"font", @"isindex", @"menu", @"s", @"strike", @"u",
- // Omit object so no file attachments are part of the fragment.
- @"object", nil];
- CFRetain(elements);
- return elements;
-}
-
-DocumentFragment* WebEditorClient::documentFragmentFromAttributedString(NSAttributedString *string, Vector<RefPtr<ArchiveResource> >& resources)
-{
- static NSArray *excludedElements = createExcludedElementsForAttributedStringConversion();
-
- NSDictionary *dictionary = [NSDictionary dictionaryWithObject:excludedElements forKey:NSExcludedElementsDocumentAttribute];
-
- NSArray *subResources;
- DOMDocumentFragment* fragment = [string _documentFromRange:NSMakeRange(0, [string length])
- document:[[m_webView mainFrame] DOMDocument]
- documentAttributes:dictionary
- subresources:&subResources];
- for (WebResource* resource in subResources)
- resources.append([resource _coreResource]);
-
- return core(fragment);
-}
-
-void WebEditorClient::setInsertionPasteboard(const String& pasteboardName)
-{
- NSPasteboard *pasteboard = pasteboardName.isEmpty() ? nil : [NSPasteboard pasteboardWithName:pasteboardName];
- [m_webView _setInsertionPasteboard:pasteboard];
-}
-
-#if USE(APPKIT)
-void WebEditorClient::uppercaseWord()
-{
- [m_webView uppercaseWord:nil];
-}
-
-void WebEditorClient::lowercaseWord()
-{
- [m_webView lowercaseWord:nil];
-}
-
-void WebEditorClient::capitalizeWord()
-{
- [m_webView capitalizeWord:nil];
-}
-#endif
-
-#if USE(AUTOMATIC_TEXT_REPLACEMENT)
-void WebEditorClient::showSubstitutionsPanel(bool show)
-{
- NSPanel *spellingPanel = [[NSSpellChecker sharedSpellChecker] substitutionsPanel];
- if (show)
- [spellingPanel orderFront:nil];
- else
- [spellingPanel orderOut:nil];
-}
-
-bool WebEditorClient::substitutionsPanelIsShowing()
-{
- return [[[NSSpellChecker sharedSpellChecker] substitutionsPanel] isVisible];
-}
-
-void WebEditorClient::toggleSmartInsertDelete()
-{
- [m_webView toggleSmartInsertDelete:nil];
-}
-
-bool WebEditorClient::isAutomaticQuoteSubstitutionEnabled()
-{
- return [m_webView isAutomaticQuoteSubstitutionEnabled];
-}
-
-void WebEditorClient::toggleAutomaticQuoteSubstitution()
-{
- [m_webView toggleAutomaticQuoteSubstitution:nil];
-}
-
-bool WebEditorClient::isAutomaticLinkDetectionEnabled()
-{
- return [m_webView isAutomaticLinkDetectionEnabled];
-}
-
-void WebEditorClient::toggleAutomaticLinkDetection()
-{
- [m_webView toggleAutomaticLinkDetection:nil];
-}
-
-bool WebEditorClient::isAutomaticDashSubstitutionEnabled()
-{
- return [m_webView isAutomaticDashSubstitutionEnabled];
-}
-
-void WebEditorClient::toggleAutomaticDashSubstitution()
-{
- [m_webView toggleAutomaticDashSubstitution:nil];
-}
-
-bool WebEditorClient::isAutomaticTextReplacementEnabled()
-{
- return [m_webView isAutomaticTextReplacementEnabled];
-}
-
-void WebEditorClient::toggleAutomaticTextReplacement()
-{
- [m_webView toggleAutomaticTextReplacement:nil];
-}
-
-bool WebEditorClient::isAutomaticSpellingCorrectionEnabled()
-{
- return [m_webView isAutomaticSpellingCorrectionEnabled];
-}
-
-void WebEditorClient::toggleAutomaticSpellingCorrection()
-{
- [m_webView toggleAutomaticSpellingCorrection:nil];
-}
-#endif // USE(AUTOMATIC_TEXT_REPLACEMENT)
-
-bool WebEditorClient::shouldInsertNode(Node *node, Range* replacingRange, EditorInsertAction givenAction)
-{
- return [[m_webView _editingDelegateForwarder] webView:m_webView shouldInsertNode:kit(node) replacingDOMRange:kit(replacingRange) givenAction:(WebViewInsertAction)givenAction];
-}
-
-static NSString* undoNameForEditAction(EditAction editAction)
-{
- switch (editAction) {
- case EditActionUnspecified: return nil;
- case EditActionSetColor: return UI_STRING_KEY_INTERNAL("Set Color", "Set Color (Undo action name)", "Undo action name");
- case EditActionSetBackgroundColor: return UI_STRING_KEY_INTERNAL("Set Background Color", "Set Background Color (Undo action name)", "Undo action name");
- case EditActionTurnOffKerning: return UI_STRING_KEY_INTERNAL("Turn Off Kerning", "Turn Off Kerning (Undo action name)", "Undo action name");
- case EditActionTightenKerning: return UI_STRING_KEY_INTERNAL("Tighten Kerning", "Tighten Kerning (Undo action name)", "Undo action name");
- case EditActionLoosenKerning: return UI_STRING_KEY_INTERNAL("Loosen Kerning", "Loosen Kerning (Undo action name)", "Undo action name");
- case EditActionUseStandardKerning: return UI_STRING_KEY_INTERNAL("Use Standard Kerning", "Use Standard Kerning (Undo action name)", "Undo action name");
- case EditActionTurnOffLigatures: return UI_STRING_KEY_INTERNAL("Turn Off Ligatures", "Turn Off Ligatures (Undo action name)", "Undo action name");
- case EditActionUseStandardLigatures: return UI_STRING_KEY_INTERNAL("Use Standard Ligatures", "Use Standard Ligatures (Undo action name)", "Undo action name");
- case EditActionUseAllLigatures: return UI_STRING_KEY_INTERNAL("Use All Ligatures", "Use All Ligatures (Undo action name)", "Undo action name");
- case EditActionRaiseBaseline: return UI_STRING_KEY_INTERNAL("Raise Baseline", "Raise Baseline (Undo action name)", "Undo action name");
- case EditActionLowerBaseline: return UI_STRING_KEY_INTERNAL("Lower Baseline", "Lower Baseline (Undo action name)", "Undo action name");
- case EditActionSetTraditionalCharacterShape: return UI_STRING_KEY_INTERNAL("Set Traditional Character Shape", "Set Traditional Character Shape (Undo action name)", "Undo action name");
- case EditActionSetFont: return UI_STRING_KEY_INTERNAL("Set Font", "Set Font (Undo action name)", "Undo action name");
- case EditActionChangeAttributes: return UI_STRING_KEY_INTERNAL("Change Attributes", "Change Attributes (Undo action name)", "Undo action name");
- case EditActionAlignLeft: return UI_STRING_KEY_INTERNAL("Align Left", "Align Left (Undo action name)", "Undo action name");
- case EditActionAlignRight: return UI_STRING_KEY_INTERNAL("Align Right", "Align Right (Undo action name)", "Undo action name");
- case EditActionCenter: return UI_STRING_KEY_INTERNAL("Center", "Center (Undo action name)", "Undo action name");
- case EditActionJustify: return UI_STRING_KEY_INTERNAL("Justify", "Justify (Undo action name)", "Undo action name");
- case EditActionSetWritingDirection: return UI_STRING_KEY_INTERNAL("Set Writing Direction", "Set Writing Direction (Undo action name)", "Undo action name");
- case EditActionSubscript: return UI_STRING_KEY_INTERNAL("Subscript", "Subscript (Undo action name)", "Undo action name");
- case EditActionSuperscript: return UI_STRING_KEY_INTERNAL("Superscript", "Superscript (Undo action name)", "Undo action name");
- case EditActionUnderline: return UI_STRING_KEY_INTERNAL("Underline", "Underline (Undo action name)", "Undo action name");
- case EditActionOutline: return UI_STRING_KEY_INTERNAL("Outline", "Outline (Undo action name)", "Undo action name");
- case EditActionUnscript: return UI_STRING_KEY_INTERNAL("Unscript", "Unscript (Undo action name)", "Undo action name");
- case EditActionDrag: return UI_STRING_KEY_INTERNAL("Drag", "Drag (Undo action name)", "Undo action name");
- case EditActionCut: return UI_STRING_KEY_INTERNAL("Cut", "Cut (Undo action name)", "Undo action name");
- case EditActionPaste: return UI_STRING_KEY_INTERNAL("Paste", "Paste (Undo action name)", "Undo action name");
- case EditActionPasteFont: return UI_STRING_KEY_INTERNAL("Paste Font", "Paste Font (Undo action name)", "Undo action name");
- case EditActionPasteRuler: return UI_STRING_KEY_INTERNAL("Paste Ruler", "Paste Ruler (Undo action name)", "Undo action name");
- case EditActionTyping: return UI_STRING_KEY_INTERNAL("Typing", "Typing (Undo action name)", "Undo action name");
- case EditActionCreateLink: return UI_STRING_KEY_INTERNAL("Create Link", "Create Link (Undo action name)", "Undo action name");
- case EditActionUnlink: return UI_STRING_KEY_INTERNAL("Unlink", "Unlink (Undo action name)", "Undo action name");
- case EditActionInsertList: return UI_STRING_KEY_INTERNAL("Insert List", "Insert List (Undo action name)", "Undo action name");
- case EditActionFormatBlock: return UI_STRING_KEY_INTERNAL("Formatting", "Format Block (Undo action name)", "Undo action name");
- case EditActionIndent: return UI_STRING_KEY_INTERNAL("Indent", "Indent (Undo action name)", "Undo action name");
- case EditActionOutdent: return UI_STRING_KEY_INTERNAL("Outdent", "Outdent (Undo action name)", "Undo action name");
- case EditActionBold: return UI_STRING_KEY_INTERNAL("Bold", "Bold (Undo action name)", "Undo action name");
- case EditActionItalics: return UI_STRING_KEY_INTERNAL("Italics", "Italics (Undo action name)", "Undo action name");
- }
- return nil;
-}
-
-void WebEditorClient::registerUndoOrRedoStep(PassRefPtr<UndoStep> step, bool isRedo)
-{
- ASSERT(step);
-
- NSUndoManager *undoManager = [m_webView undoManager];
- NSString *actionName = undoNameForEditAction(step->editingAction());
- WebUndoStep *webEntry = [WebUndoStep stepWithUndoStep:step];
- [undoManager registerUndoWithTarget:m_undoTarget.get() selector:(isRedo ? @selector(redoEditing:) : @selector(undoEditing:)) object:webEntry];
- if (actionName)
- [undoManager setActionName:actionName];
- m_haveUndoRedoOperations = YES;
-}
-
-void WebEditorClient::registerUndoStep(PassRefPtr<UndoStep> cmd)
-{
- registerUndoOrRedoStep(cmd, false);
-}
-
-void WebEditorClient::registerRedoStep(PassRefPtr<UndoStep> cmd)
-{
- registerUndoOrRedoStep(cmd, true);
-}
-
-void WebEditorClient::clearUndoRedoOperations()
-{
- if (m_haveUndoRedoOperations) {
- // workaround for <rdar://problem/4645507> NSUndoManager dies
- // with uncaught exception when undo items cleared while
- // groups are open
- NSUndoManager *undoManager = [m_webView undoManager];
- int groupingLevel = [undoManager groupingLevel];
- for (int i = 0; i < groupingLevel; ++i)
- [undoManager endUndoGrouping];
-
- [undoManager removeAllActionsWithTarget:m_undoTarget.get()];
-
- for (int i = 0; i < groupingLevel; ++i)
- [undoManager beginUndoGrouping];
-
- m_haveUndoRedoOperations = NO;
- }
-}
-
-bool WebEditorClient::canCopyCut(Frame*, bool defaultValue) const
-{
- return defaultValue;
-}
-
-bool WebEditorClient::canPaste(Frame*, bool defaultValue) const
-{
- return defaultValue;
-}
-
-bool WebEditorClient::canUndo() const
-{
- return [[m_webView undoManager] canUndo];
-}
-
-bool WebEditorClient::canRedo() const
-{
- return [[m_webView undoManager] canRedo];
-}
-
-void WebEditorClient::undo()
-{
- if (canUndo())
- [[m_webView undoManager] undo];
-}
-
-void WebEditorClient::redo()
-{
- if (canRedo())
- [[m_webView undoManager] redo];
-}
-
-void WebEditorClient::handleKeyboardEvent(KeyboardEvent* event)
-{
- Frame* frame = event->target()->toNode()->document()->frame();
- WebHTMLView *webHTMLView = [[kit(frame) frameView] documentView];
- if ([webHTMLView _interpretKeyEvent:event savingCommands:NO])
- event->setDefaultHandled();
-}
-
-void WebEditorClient::handleInputMethodKeydown(KeyboardEvent* event)
-{
- Frame* frame = event->target()->toNode()->document()->frame();
- WebHTMLView *webHTMLView = [[kit(frame) frameView] documentView];
- if ([webHTMLView _interpretKeyEvent:event savingCommands:YES])
- event->setDefaultHandled();
-}
-
-#define FormDelegateLog(ctrl) LOG(FormDelegate, "control=%@", ctrl)
-
-void WebEditorClient::textFieldDidBeginEditing(Element* element)
-{
- if (!isHTMLInputElement(element))
- return;
-
- DOMHTMLInputElement* inputElement = kit(toHTMLInputElement(element));
- FormDelegateLog(inputElement);
- CallFormDelegate(m_webView, @selector(textFieldDidBeginEditing:inFrame:), inputElement, kit(element->document()->frame()));
-}
-
-void WebEditorClient::textFieldDidEndEditing(Element* element)
-{
- if (!isHTMLInputElement(element))
- return;
-
- DOMHTMLInputElement* inputElement = kit(toHTMLInputElement(element));
- FormDelegateLog(inputElement);
- CallFormDelegate(m_webView, @selector(textFieldDidEndEditing:inFrame:), inputElement, kit(element->document()->frame()));
-}
-
-void WebEditorClient::textDidChangeInTextField(Element* element)
-{
- if (!isHTMLInputElement(element))
- return;
-
- if (!UserTypingGestureIndicator::processingUserTypingGesture() || UserTypingGestureIndicator::focusedElementAtGestureStart() != element)
- return;
-
- DOMHTMLInputElement* inputElement = kit(toHTMLInputElement(element));
- FormDelegateLog(inputElement);
- CallFormDelegate(m_webView, @selector(textDidChangeInTextField:inFrame:), inputElement, kit(element->document()->frame()));
-}
-
-static SEL selectorForKeyEvent(KeyboardEvent* event)
-{
- // FIXME: This helper function is for the auto-fill code so we can pass a selector to the form delegate.
- // Eventually, we should move all of the auto-fill code down to WebKit and remove the need for this function by
- // not relying on the selector in the new implementation.
- // The key identifiers are from <http://www.w3.org/TR/DOM-Level-3-Events/keyset.html#KeySet-Set>
- const String& key = event->keyIdentifier();
- if (key == "Up")
- return @selector(moveUp:);
- if (key == "Down")
- return @selector(moveDown:);
- if (key == "U+001B")
- return @selector(cancel:);
- if (key == "U+0009") {
- if (event->shiftKey())
- return @selector(insertBacktab:);
- return @selector(insertTab:);
- }
- if (key == "Enter")
- return @selector(insertNewline:);
- return 0;
-}
-
-bool WebEditorClient::doTextFieldCommandFromEvent(Element* element, KeyboardEvent* event)
-{
- if (!isHTMLInputElement(element))
- return NO;
-
- DOMHTMLInputElement* inputElement = kit(toHTMLInputElement(element));
- FormDelegateLog(inputElement);
- if (SEL commandSelector = selectorForKeyEvent(event))
- return CallFormDelegateReturningBoolean(NO, m_webView, @selector(textField:doCommandBySelector:inFrame:), inputElement, commandSelector, kit(element->document()->frame()));
- return NO;
-}
-
-void WebEditorClient::textWillBeDeletedInTextField(Element* element)
-{
- if (!isHTMLInputElement(element))
- return;
-
- DOMHTMLInputElement* inputElement = kit(toHTMLInputElement(element));
- FormDelegateLog(inputElement);
- // We're using the deleteBackward selector for all deletion operations since the autofill code treats all deletions the same way.
- CallFormDelegateReturningBoolean(NO, m_webView, @selector(textField:doCommandBySelector:inFrame:), inputElement, @selector(deleteBackward:), kit(element->document()->frame()));
-}
-
-void WebEditorClient::textDidChangeInTextArea(Element* element)
-{
- if (!isHTMLTextAreaElement(element))
- return;
-
- DOMHTMLTextAreaElement* textAreaElement = kit(toHTMLTextAreaElement(element));
- FormDelegateLog(textAreaElement);
- CallFormDelegate(m_webView, @selector(textDidChangeInTextArea:inFrame:), textAreaElement, kit(element->document()->frame()));
-}
-
-bool WebEditorClient::shouldEraseMarkersAfterChangeSelection(TextCheckingType type) const
-{
- // This prevents erasing spelling markers on OS X Lion or later to match AppKit on these Mac OS X versions.
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- return type != TextCheckingTypeSpelling;
-#else
- return true;
-#endif
-}
-
-void WebEditorClient::ignoreWordInSpellDocument(const String& text)
-{
- [[NSSpellChecker sharedSpellChecker] ignoreWord:text
- inSpellDocumentWithTag:spellCheckerDocumentTag()];
-}
-
-void WebEditorClient::learnWord(const String& text)
-{
- [[NSSpellChecker sharedSpellChecker] learnWord:text];
-}
-
-void WebEditorClient::checkSpellingOfString(const UChar* text, int length, int* misspellingLocation, int* misspellingLength)
-{
- NSString* textString = [[NSString alloc] initWithCharactersNoCopy:const_cast<UChar*>(text) length:length freeWhenDone:NO];
- NSRange range = [[NSSpellChecker sharedSpellChecker] checkSpellingOfString:textString startingAt:0 language:nil wrap:NO inSpellDocumentWithTag:spellCheckerDocumentTag() wordCount:NULL];
- [textString release];
- if (misspellingLocation) {
- // WebCore expects -1 to represent "not found"
- if (range.location == NSNotFound)
- *misspellingLocation = -1;
- else
- *misspellingLocation = range.location;
- }
-
- if (misspellingLength)
- *misspellingLength = range.length;
-}
-
-String WebEditorClient::getAutoCorrectSuggestionForMisspelledWord(const String& inputWord)
-{
- // This method can be implemented using customized algorithms for the particular browser.
- // Currently, it computes an empty string.
- return String();
-}
-
-void WebEditorClient::checkGrammarOfString(const UChar* text, int length, Vector<GrammarDetail>& details, int* badGrammarLocation, int* badGrammarLength)
-{
- NSArray *grammarDetails;
- NSString* textString = [[NSString alloc] initWithCharactersNoCopy:const_cast<UChar*>(text) length:length freeWhenDone:NO];
- NSRange range = [[NSSpellChecker sharedSpellChecker] checkGrammarOfString:textString startingAt:0 language:nil wrap:NO inSpellDocumentWithTag:spellCheckerDocumentTag() details:&grammarDetails];
- [textString release];
- if (badGrammarLocation)
- // WebCore expects -1 to represent "not found"
- *badGrammarLocation = (range.location == NSNotFound) ? -1 : static_cast<int>(range.location);
- if (badGrammarLength)
- *badGrammarLength = range.length;
- for (NSDictionary *detail in grammarDetails) {
- ASSERT(detail);
- GrammarDetail grammarDetail;
- NSValue *detailRangeAsNSValue = [detail objectForKey:NSGrammarRange];
- ASSERT(detailRangeAsNSValue);
- NSRange detailNSRange = [detailRangeAsNSValue rangeValue];
- ASSERT(detailNSRange.location != NSNotFound);
- ASSERT(detailNSRange.length > 0);
- grammarDetail.location = detailNSRange.location;
- grammarDetail.length = detailNSRange.length;
- grammarDetail.userDescription = [detail objectForKey:NSGrammarUserDescription];
- NSArray *guesses = [detail objectForKey:NSGrammarCorrections];
- for (NSString *guess in guesses)
- grammarDetail.guesses.append(String(guess));
- details.append(grammarDetail);
- }
-}
-
-static Vector<TextCheckingResult> core(NSArray *incomingResults, TextCheckingTypeMask checkingTypes)
-{
- Vector<TextCheckingResult> results;
-
- for (NSTextCheckingResult *incomingResult in incomingResults) {
- NSRange resultRange = [incomingResult range];
- NSTextCheckingType resultType = [incomingResult resultType];
- ASSERT(resultRange.location != NSNotFound);
- ASSERT(resultRange.length > 0);
- if (NSTextCheckingTypeSpelling == resultType && 0 != (checkingTypes & NSTextCheckingTypeSpelling)) {
- TextCheckingResult result;
- result.type = TextCheckingTypeSpelling;
- result.location = resultRange.location;
- result.length = resultRange.length;
- results.append(result);
- } else if (NSTextCheckingTypeGrammar == resultType && 0 != (checkingTypes & NSTextCheckingTypeGrammar)) {
- TextCheckingResult result;
- NSArray *details = [incomingResult grammarDetails];
- result.type = TextCheckingTypeGrammar;
- result.location = resultRange.location;
- result.length = resultRange.length;
- for (NSDictionary *incomingDetail in details) {
- ASSERT(incomingDetail);
- GrammarDetail detail;
- NSValue *detailRangeAsNSValue = [incomingDetail objectForKey:NSGrammarRange];
- ASSERT(detailRangeAsNSValue);
- NSRange detailNSRange = [detailRangeAsNSValue rangeValue];
- ASSERT(detailNSRange.location != NSNotFound);
- ASSERT(detailNSRange.length > 0);
- detail.location = detailNSRange.location;
- detail.length = detailNSRange.length;
- detail.userDescription = [incomingDetail objectForKey:NSGrammarUserDescription];
- NSArray *guesses = [incomingDetail objectForKey:NSGrammarCorrections];
- for (NSString *guess in guesses)
- detail.guesses.append(String(guess));
- result.details.append(detail);
- }
- results.append(result);
- } else if (NSTextCheckingTypeLink == resultType && 0 != (checkingTypes & NSTextCheckingTypeLink)) {
- TextCheckingResult result;
- result.type = TextCheckingTypeLink;
- result.location = resultRange.location;
- result.length = resultRange.length;
- result.replacement = [[incomingResult URL] absoluteString];
- results.append(result);
- } else if (NSTextCheckingTypeQuote == resultType && 0 != (checkingTypes & NSTextCheckingTypeQuote)) {
- TextCheckingResult result;
- result.type = TextCheckingTypeQuote;
- result.location = resultRange.location;
- result.length = resultRange.length;
- result.replacement = [incomingResult replacementString];
- results.append(result);
- } else if (NSTextCheckingTypeDash == resultType && 0 != (checkingTypes & NSTextCheckingTypeDash)) {
- TextCheckingResult result;
- result.type = TextCheckingTypeDash;
- result.location = resultRange.location;
- result.length = resultRange.length;
- result.replacement = [incomingResult replacementString];
- results.append(result);
- } else if (NSTextCheckingTypeReplacement == resultType && 0 != (checkingTypes & NSTextCheckingTypeReplacement)) {
- TextCheckingResult result;
- result.type = TextCheckingTypeReplacement;
- result.location = resultRange.location;
- result.length = resultRange.length;
- result.replacement = [incomingResult replacementString];
- results.append(result);
- } else if (NSTextCheckingTypeCorrection == resultType && 0 != (checkingTypes & NSTextCheckingTypeCorrection)) {
- TextCheckingResult result;
- result.type = TextCheckingTypeCorrection;
- result.location = resultRange.location;
- result.length = resultRange.length;
- result.replacement = [incomingResult replacementString];
- results.append(result);
- }
- }
-
- return results;
-}
-
-void WebEditorClient::checkTextOfParagraph(const UChar* text, int length, TextCheckingTypeMask checkingTypes, Vector<TextCheckingResult>& results)
-{
- NSString *textString = [[NSString alloc] initWithCharactersNoCopy:const_cast<UChar*>(text) length:length freeWhenDone:NO];
- NSArray *incomingResults = [[NSSpellChecker sharedSpellChecker] checkString:textString range:NSMakeRange(0, [textString length]) types:(checkingTypes|NSTextCheckingTypeOrthography) options:nil inSpellDocumentWithTag:spellCheckerDocumentTag() orthography:NULL wordCount:NULL];
- [textString release];
- results = core(incomingResults, checkingTypes);
-}
-
-void WebEditorClient::updateSpellingUIWithGrammarString(const String& badGrammarPhrase, const GrammarDetail& grammarDetail)
-{
- NSMutableArray* corrections = [NSMutableArray array];
- for (unsigned i = 0; i < grammarDetail.guesses.size(); i++) {
- NSString* guess = grammarDetail.guesses[i];
- [corrections addObject:guess];
- }
- NSRange grammarRange = NSMakeRange(grammarDetail.location, grammarDetail.length);
- NSString* grammarUserDescription = grammarDetail.userDescription;
- NSDictionary* grammarDetailDict = [NSDictionary dictionaryWithObjectsAndKeys:[NSValue valueWithRange:grammarRange], NSGrammarRange, grammarUserDescription, NSGrammarUserDescription, corrections, NSGrammarCorrections, nil];
-
- [[NSSpellChecker sharedSpellChecker] updateSpellingPanelWithGrammarString:badGrammarPhrase detail:grammarDetailDict];
-}
-
-void WebEditorClient::updateSpellingUIWithMisspelledWord(const String& misspelledWord)
-{
- [[NSSpellChecker sharedSpellChecker] updateSpellingPanelWithMisspelledWord:misspelledWord];
-}
-
-void WebEditorClient::showSpellingUI(bool show)
-{
- NSPanel *spellingPanel = [[NSSpellChecker sharedSpellChecker] spellingPanel];
- if (show)
- [spellingPanel orderFront:nil];
- else
- [spellingPanel orderOut:nil];
-}
-
-bool WebEditorClient::spellingUIIsShowing()
-{
- return [[[NSSpellChecker sharedSpellChecker] spellingPanel] isVisible];
-}
-
-void WebEditorClient::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses) {
- guesses.clear();
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- 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];
-
- if (count > 0) {
- NSEnumerator* enumerator = [stringsArray objectEnumerator];
- NSString* string;
- while ((string = [enumerator nextObject]) != nil)
- guesses.append(string);
- }
-}
-
-void WebEditorClient::willSetInputMethodState()
-{
-}
-
-void WebEditorClient::setInputMethodState(bool)
-{
-}
-
-@interface WebEditorSpellCheckResponder : NSObject
-{
- WebEditorClient* _client;
- int _sequence;
- RetainPtr<NSArray> _results;
-}
-- (id)initWithClient:(WebEditorClient*)client sequence:(int)sequence results:(NSArray*)results;
-- (void)perform;
-@end
-
-@implementation WebEditorSpellCheckResponder
-- (id)initWithClient:(WebEditorClient*)client sequence:(int)sequence results:(NSArray*)results
-{
- self = [super init];
- if (!self)
- return nil;
- _client = client;
- _sequence = sequence;
- _results = results;
- return self;
-}
-
-- (void)perform
-{
- _client->didCheckSucceed(_sequence, _results.get());
-}
-
-@end
-
-void WebEditorClient::didCheckSucceed(int sequence, NSArray* results)
-{
- ASSERT_UNUSED(sequence, sequence == m_textCheckingRequest->data().sequence());
- m_textCheckingRequest->didSucceed(core(results, m_textCheckingRequest->data().mask()));
- m_textCheckingRequest.clear();
-}
-
-void WebEditorClient::requestCheckingOfString(PassRefPtr<WebCore::TextCheckingRequest> request)
-{
- ASSERT(!m_textCheckingRequest);
- m_textCheckingRequest = request;
-
- int sequence = m_textCheckingRequest->data().sequence();
- NSRange range = NSMakeRange(0, m_textCheckingRequest->data().text().length());
- NSRunLoop* currentLoop = [NSRunLoop currentRunLoop];
- [[NSSpellChecker sharedSpellChecker] requestCheckingOfString:m_textCheckingRequest->data().text() range:range types:NSTextCheckingAllSystemTypes options:0 inSpellDocumentWithTag:0
- completionHandler:^(NSInteger, NSArray* results, NSOrthography*, NSInteger) {
- [currentLoop performSelector:@selector(perform)
- target:[[[WebEditorSpellCheckResponder alloc] initWithClient:this sequence:sequence results:results] autorelease]
- argument:nil order:0 modes:[NSArray arrayWithObject:NSDefaultRunLoopMode]];
- }];
-}
diff --git a/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h b/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
deleted file mode 100644
index 470a10a91..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2011, 2012 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebCore/FrameLoaderClient.h>
-#import <WebCore/Timer.h>
-#import <wtf/Forward.h>
-#import <wtf/HashMap.h>
-#import <wtf/RetainPtr.h>
-
-@class WebDownload;
-@class WebFrame;
-@class WebFramePolicyListener;
-@class WebHistoryItem;
-@class WebResource;
-
-namespace WebCore {
- class AuthenticationChallenge;
- class CachedFrame;
- class HistoryItem;
- class ProtectionSpace;
- class ResourceLoader;
- class ResourceRequest;
-}
-
-typedef HashMap<RefPtr<WebCore::ResourceLoader>, RetainPtr<WebResource> > ResourceMap;
-
-class WebFrameLoaderClient : public WebCore::FrameLoaderClient {
-public:
- WebFrameLoaderClient(WebFrame*);
-
- WebFrame* webFrame() const { return m_webFrame.get(); }
-
-private:
- virtual void frameLoaderDestroyed() OVERRIDE;
- virtual bool hasWebView() const OVERRIDE; // mainly for assertions
-
- virtual void makeRepresentation(WebCore::DocumentLoader*) OVERRIDE;
- virtual bool hasHTMLView() const OVERRIDE;
- virtual void forceLayout() OVERRIDE;
- virtual void forceLayoutForNonHTML() OVERRIDE;
-
- virtual void setCopiesOnScroll() OVERRIDE;
-
- virtual void detachedFromParent2() OVERRIDE;
- virtual void detachedFromParent3() OVERRIDE;
-
- virtual void convertMainResourceLoadToDownload(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&) OVERRIDE;
-
- virtual void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) OVERRIDE;
-
- virtual void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse) OVERRIDE;
- virtual bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long identifier) OVERRIDE;
- virtual void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&) OVERRIDE;
- virtual void dispatchDidCancelAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&) OVERRIDE;
-#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
- virtual bool canAuthenticateAgainstProtectionSpace(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ProtectionSpace&) OVERRIDE;
-#endif
- virtual void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&) OVERRIDE;
- virtual void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int dataLength) OVERRIDE;
- virtual void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier) OVERRIDE;
- virtual void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&) OVERRIDE;
-
- virtual NSCachedURLResponse* willCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, NSCachedURLResponse*) const OVERRIDE;
-
- virtual void dispatchDidHandleOnloadEvents() OVERRIDE;
- virtual void dispatchDidReceiveServerRedirectForProvisionalLoad() OVERRIDE;
- virtual void dispatchDidCancelClientRedirect() OVERRIDE;
- virtual void dispatchWillPerformClientRedirect(const WebCore::KURL&, double interval, double fireDate) OVERRIDE;
- virtual void dispatchDidChangeLocationWithinPage() OVERRIDE;
- virtual void dispatchDidPushStateWithinPage() OVERRIDE;
- virtual void dispatchDidReplaceStateWithinPage() OVERRIDE;
- virtual void dispatchDidPopStateWithinPage() OVERRIDE;
-
- virtual void dispatchWillClose() OVERRIDE;
- virtual void dispatchDidReceiveIcon() OVERRIDE;
- virtual void dispatchDidStartProvisionalLoad() OVERRIDE;
- virtual void dispatchDidReceiveTitle(const WebCore::StringWithDirection&) OVERRIDE;
- virtual void dispatchDidChangeIcons(WebCore::IconType) OVERRIDE;
- virtual void dispatchDidCommitLoad() OVERRIDE;
- virtual void dispatchDidFailProvisionalLoad(const WebCore::ResourceError&) OVERRIDE;
- virtual void dispatchDidFailLoad(const WebCore::ResourceError&) OVERRIDE;
- virtual void dispatchDidFinishDocumentLoad() OVERRIDE;
- virtual void dispatchDidFinishLoad() OVERRIDE;
- virtual void dispatchDidLayout(WebCore::LayoutMilestones) OVERRIDE;
-
- virtual WebCore::Frame* dispatchCreatePage(const WebCore::NavigationAction&) OVERRIDE;
- virtual void dispatchShow() OVERRIDE;
-
- virtual void dispatchDecidePolicyForResponse(WebCore::FramePolicyFunction,
- const WebCore::ResourceResponse&, const WebCore::ResourceRequest&);
- virtual void dispatchDecidePolicyForNewWindowAction(WebCore::FramePolicyFunction,
- const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<WebCore::FormState>, const WTF::String& frameName) OVERRIDE;
- virtual void dispatchDecidePolicyForNavigationAction(WebCore::FramePolicyFunction,
- const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<WebCore::FormState>) OVERRIDE;
- virtual void cancelPolicyCheck() OVERRIDE;
-
- virtual void dispatchUnableToImplementPolicy(const WebCore::ResourceError&) OVERRIDE;
-
- virtual void dispatchWillSendSubmitEvent(PassRefPtr<WebCore::FormState>) OVERRIDE;
- virtual void dispatchWillSubmitForm(WebCore::FramePolicyFunction, PassRefPtr<WebCore::FormState>) OVERRIDE;
-
- virtual void revertToProvisionalState(WebCore::DocumentLoader*) OVERRIDE;
- virtual void setMainDocumentError(WebCore::DocumentLoader*, const WebCore::ResourceError&) OVERRIDE;
- virtual bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int length) OVERRIDE;
-
- virtual void willChangeEstimatedProgress() OVERRIDE;
- virtual void didChangeEstimatedProgress() OVERRIDE;
- virtual void postProgressStartedNotification() OVERRIDE;
- virtual void postProgressEstimateChangedNotification() OVERRIDE;
- virtual void postProgressFinishedNotification() OVERRIDE;
-
- virtual void setMainFrameDocumentReady(bool) OVERRIDE;
-
- virtual void startDownload(const WebCore::ResourceRequest&, const String& suggestedName = String()) OVERRIDE;
-
- virtual void willChangeTitle(WebCore::DocumentLoader*) OVERRIDE;
- virtual void didChangeTitle(WebCore::DocumentLoader*) OVERRIDE;
-
- virtual void committedLoad(WebCore::DocumentLoader*, const char*, int) OVERRIDE;
- virtual void finishedLoading(WebCore::DocumentLoader*) OVERRIDE;
- virtual void updateGlobalHistory() OVERRIDE;
- virtual void updateGlobalHistoryRedirectLinks() OVERRIDE;
-
- virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const OVERRIDE;
- virtual bool shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const OVERRIDE;
- virtual void updateGlobalHistoryItemForPage() OVERRIDE;
-
- virtual void didDisplayInsecureContent() OVERRIDE;
- virtual void didRunInsecureContent(WebCore::SecurityOrigin*, const WebCore::KURL&) OVERRIDE;
- virtual void didDetectXSS(const WebCore::KURL&, bool didBlockEntirePage) OVERRIDE;
-
- virtual WebCore::ResourceError cancelledError(const WebCore::ResourceRequest&) OVERRIDE;
- virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&) OVERRIDE;
- virtual WebCore::ResourceError cannotShowURLError(const WebCore::ResourceRequest&) OVERRIDE;
- virtual WebCore::ResourceError interruptedForPolicyChangeError(const WebCore::ResourceRequest&) OVERRIDE;
-
- virtual WebCore::ResourceError cannotShowMIMETypeError(const WebCore::ResourceResponse&) OVERRIDE;
- virtual WebCore::ResourceError fileDoesNotExistError(const WebCore::ResourceResponse&) OVERRIDE;
- virtual WebCore::ResourceError pluginWillHandleLoadError(const WebCore::ResourceResponse&) OVERRIDE;
-
- virtual bool shouldFallBack(const WebCore::ResourceError&) OVERRIDE;
-
- virtual WTF::String userAgent(const WebCore::KURL&) OVERRIDE;
-
- virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*) OVERRIDE;
- virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*) OVERRIDE;
- virtual void transitionToCommittedForNewPage() OVERRIDE;
-
- virtual void didSaveToPageCache() OVERRIDE;
- virtual void didRestoreFromPageCache() OVERRIDE;
-
- virtual void dispatchDidBecomeFrameset(bool) OVERRIDE;
-
- virtual bool canHandleRequest(const WebCore::ResourceRequest&) const OVERRIDE;
- virtual bool canShowMIMEType(const WTF::String& MIMEType) const OVERRIDE;
- virtual bool canShowMIMETypeAsHTML(const WTF::String& MIMEType) const OVERRIDE;
- virtual bool representationExistsForURLScheme(const WTF::String& URLScheme) const OVERRIDE;
- virtual WTF::String generatedMIMETypeForURLScheme(const WTF::String& URLScheme) const OVERRIDE;
-
- virtual void frameLoadCompleted() OVERRIDE;
- virtual void saveViewStateToItem(WebCore::HistoryItem*) OVERRIDE;
- virtual void restoreViewState() OVERRIDE;
- virtual void provisionalLoadStarted() OVERRIDE;
- virtual void didFinishLoad() OVERRIDE;
- virtual void prepareForDataSourceReplacement() OVERRIDE;
- virtual PassRefPtr<WebCore::DocumentLoader> createDocumentLoader(const WebCore::ResourceRequest&, const WebCore::SubstituteData&) OVERRIDE;
-
- virtual void setTitle(const WebCore::StringWithDirection&, const WebCore::KURL&) OVERRIDE;
-
- virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement*,
- const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) OVERRIDE;
- virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const Vector<WTF::String>&,
- const Vector<WTF::String>&, const WTF::String&, bool) OVERRIDE;
- virtual void recreatePlugin(WebCore::Widget*) OVERRIDE;
- virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget) OVERRIDE;
-
- virtual PassRefPtr<WebCore::Widget> createJavaAppletWidget(const WebCore::IntSize&, WebCore::HTMLAppletElement*, const WebCore::KURL& baseURL,
- const Vector<WTF::String>& paramNames, const Vector<WTF::String>& paramValues) OVERRIDE;
-
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
- virtual PassRefPtr<WebCore::Widget> createMediaPlayerProxyPlugin(const WebCore::IntSize&, WebCore::HTMLMediaElement*, const WebCore::KURL&,
- const Vector<WTF::String>&, const Vector<WTF::String>&, const WTF::String&) OVERRIDE;
- virtual void hideMediaPlayerProxyPlugin(WebCore::Widget*) OVERRIDE;
- virtual void showMediaPlayerProxyPlugin(WebCore::Widget*) OVERRIDE;
-#endif
-
- virtual WebCore::ObjectContentType objectContentType(const WebCore::KURL&, const WTF::String& mimeType, bool shouldPreferPlugInsForImages) OVERRIDE;
- virtual WTF::String overrideMediaType() const OVERRIDE;
-
- virtual void dispatchDidClearWindowObjectInWorld(WebCore::DOMWrapperWorld*) OVERRIDE;
- virtual void documentElementAvailable() OVERRIDE;
- virtual void didPerformFirstNavigation() const OVERRIDE;
-
- virtual void registerForIconNotification(bool listen) OVERRIDE;
-
-#if PLATFORM(MAC)
- virtual RemoteAXObjectRef accessibilityRemoteObject() OVERRIDE { return 0; }
-#endif
-
- RetainPtr<WebFramePolicyListener> setUpPolicyListener(WebCore::FramePolicyFunction);
-
- NSDictionary *actionDictionary(const WebCore::NavigationAction&, PassRefPtr<WebCore::FormState>) const;
-
- virtual bool canCachePage() const;
-
- virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
-
- virtual bool shouldPaintBrokenImage(const WebCore::KURL&) const;
-
- RetainPtr<WebFrame> m_webFrame;
-
- RetainPtr<WebFramePolicyListener> m_policyListener;
-};
diff --git a/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm b/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
deleted file mode 100644
index 5fceb355e..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
+++ /dev/null
@@ -1,2074 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009, 2011, 2012 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebFrameLoaderClient.h"
-
-// Terrible hack; lets us get at the WebFrame private structure.
-#define private public
-#import "WebFrame.h"
-#undef private
-
-#import "DOMElementInternal.h"
-#import "DOMHTMLFormElementInternal.h"
-#import "WebBackForwardList.h"
-#import "WebCachedFramePlatformData.h"
-#import "WebChromeClient.h"
-#import "WebDataSourceInternal.h"
-#import "WebDelegateImplementationCaching.h"
-#import "WebDocumentInternal.h"
-#import "WebDocumentLoaderMac.h"
-#import "WebDownloadInternal.h"
-#import "WebDynamicScrollBarsViewInternal.h"
-#import "WebElementDictionary.h"
-#import "WebFormDelegate.h"
-#import "WebFrameInternal.h"
-#import "WebFrameLoadDelegate.h"
-#import "WebFrameNetworkingContext.h"
-#import "WebFrameViewInternal.h"
-#import "WebHTMLRepresentationPrivate.h"
-#import "WebHTMLViewInternal.h"
-#import "WebHistoryInternal.h"
-#import "WebHistoryItemInternal.h"
-#import "WebIconDatabaseInternal.h"
-#import "WebKitErrorsPrivate.h"
-#import "WebKitLogging.h"
-#import "WebKitNSStringExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebNavigationData.h"
-#import "WebNetscapePluginPackage.h"
-#import "WebNetscapePluginView.h"
-#import "WebPanelAuthenticationHandler.h"
-#import "WebPluginController.h"
-#import "WebPluginPackage.h"
-#import "WebPluginViewFactoryPrivate.h"
-#import "WebPolicyDelegate.h"
-#import "WebPolicyDelegatePrivate.h"
-#import "WebPreferences.h"
-#import "WebResourceLoadDelegate.h"
-#import "WebScriptWorldInternal.h"
-#import "WebSecurityOriginInternal.h"
-#import "WebUIDelegate.h"
-#import "WebUIDelegatePrivate.h"
-#import "WebViewInternal.h"
-#import <JavaScriptCore/JSContextInternal.h>
-#import <WebCore/AuthenticationCF.h>
-#import <WebCore/AuthenticationMac.h>
-#import <WebCore/BackForwardController.h>
-#import <WebCore/BlockExceptions.h>
-#import <WebCore/CachedFrame.h>
-#import <WebCore/Chrome.h>
-#import <WebCore/Document.h>
-#import <WebCore/DocumentLoader.h>
-#import <WebCore/EventHandler.h>
-#import <WebCore/FocusController.h>
-#import <WebCore/FormState.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/FrameLoaderStateMachine.h>
-#import <WebCore/FrameLoaderTypes.h>
-#import <WebCore/FrameTree.h>
-#import <WebCore/FrameView.h>
-#import <WebCore/HTMLAppletElement.h>
-#import <WebCore/HTMLFormElement.h>
-#import <WebCore/HTMLFrameElement.h>
-#import <WebCore/HTMLFrameOwnerElement.h>
-#import <WebCore/HTMLHeadElement.h>
-#import <WebCore/HTMLNames.h>
-#import <WebCore/HTMLParserIdioms.h>
-#import <WebCore/HTMLPlugInElement.h>
-#import <WebCore/HistoryController.h>
-#import <WebCore/HistoryItem.h>
-#import <WebCore/HitTestResult.h>
-#import <WebCore/IconDatabase.h>
-#import <WebCore/LoaderNSURLExtras.h>
-#import <WebCore/MIMETypeRegistry.h>
-#import <WebCore/MouseEvent.h>
-#import <WebCore/Page.h>
-#import <WebCore/PluginViewBase.h>
-#import <WebCore/ProtectionSpace.h>
-#import <WebCore/ResourceError.h>
-#import <WebCore/ResourceHandle.h>
-#import <WebCore/ResourceLoader.h>
-#import <WebCore/ResourceRequest.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/ScriptController.h>
-#import <WebCore/SharedBuffer.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <WebCore/WebScriptObjectPrivate.h>
-#import <WebCore/Widget.h>
-#import <WebKit/DOMElement.h>
-#import <WebKit/DOMHTMLFormElement.h>
-#import <WebKitSystemInterface.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/MainThread.h>
-#import <wtf/PassRefPtr.h>
-#import <wtf/text/WTFString.h>
-
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
-#import <WebCore/HTMLMediaElement.h>
-#endif
-
-#if USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
-#import "NetscapePluginHostManager.h"
-#import "WebHostedNetscapePluginView.h"
-#endif
-
-using namespace WebCore;
-using namespace HTMLNames;
-
-// For backwards compatibility with older WebKit plug-ins.
-NSString *WebPluginBaseURLKey = @"WebPluginBaseURL";
-NSString *WebPluginAttributesKey = @"WebPluginAttributes";
-NSString *WebPluginContainerKey = @"WebPluginContainer";
-
-@interface WebFramePolicyListener : NSObject <WebPolicyDecisionListener, WebFormSubmissionListener> {
- RefPtr<Frame> _frame;
- FramePolicyFunction _policyFunction;
-}
-
-- (id)initWithFrame:(Frame*)frame policyFunction:(FramePolicyFunction)policyFunction;
-- (void)invalidate;
-
-@end
-
-static inline WebDataSource *dataSource(DocumentLoader* loader)
-{
- return loader ? static_cast<WebDocumentLoaderMac*>(loader)->dataSource() : nil;
-}
-
-// Quirk for the Apple Dictionary application.
-//
-// If a top level frame has a <script> element in its <head> for a script named MainPageJavaScript.js,
-// then for that frame's document, ignore changes to the scrolling attribute of frames. That script
-// has a bug in it where it sets the scrolling attribute on frames, and that erroneous scrolling
-// attribute needs to be ignored to avoid showing extra scroll bars in the window.
-// This quirk can be removed when Apple Dictionary is fixed (see <rdar://problem/6471058>).
-
-static void applyAppleDictionaryApplicationQuirkNonInlinePart(WebFrameLoaderClient* client, const ResourceRequest& request)
-{
- if (!request.url().isLocalFile())
- return;
- if (!request.url().string().endsWith("MainPageJavaScript.js"))
- return;
- Frame* frame = core(client->webFrame());
- if (!frame)
- return;
- if (frame->tree()->parent())
- return;
- Document* document = frame->document();
- if (!document)
- return;
- HTMLHeadElement* head = document->head();
- if (!head)
- return;
- for (Node* c = head->firstChild(); c; c = c->nextSibling()) {
- if (c->hasTagName(scriptTag) && toElement(c)->getAttribute(srcAttr) == "MainPageJavaScript.js") {
- document->setFrameElementsShouldIgnoreScrolling(true);
- return;
- }
- }
-}
-
-static inline void applyAppleDictionaryApplicationQuirk(WebFrameLoaderClient* client, const ResourceRequest& request)
-{
- // Use a one-time-initialized global variable so we can quickly determine there's nothing to do in
- // all applications other than Apple Dictionary.
- static bool isAppleDictionary = [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.Dictionary"];
- if (isAppleDictionary)
- applyAppleDictionaryApplicationQuirkNonInlinePart(client, request);
-}
-
-WebFrameLoaderClient::WebFrameLoaderClient(WebFrame *webFrame)
- : m_webFrame(webFrame)
-{
-}
-
-void WebFrameLoaderClient::frameLoaderDestroyed()
-{
- [m_webFrame.get() _clearCoreFrame];
- delete this;
-}
-
-bool WebFrameLoaderClient::hasWebView() const
-{
- return [m_webFrame.get() webView] != nil;
-}
-
-void WebFrameLoaderClient::makeRepresentation(DocumentLoader* loader)
-{
- [dataSource(loader) _makeRepresentation];
-}
-
-bool WebFrameLoaderClient::hasHTMLView() const
-{
- NSView <WebDocumentView> *view = [m_webFrame->_private->webFrameView documentView];
- return [view isKindOfClass:[WebHTMLView class]];
-}
-
-void WebFrameLoaderClient::forceLayout()
-{
- NSView <WebDocumentView> *view = [m_webFrame->_private->webFrameView documentView];
- [view setNeedsLayout:YES];
- [view layout];
-}
-
-void WebFrameLoaderClient::forceLayoutForNonHTML()
-{
- WebFrameView *thisView = m_webFrame->_private->webFrameView;
- NSView <WebDocumentView> *thisDocumentView = [thisView documentView];
- ASSERT(thisDocumentView != nil);
-
- // Tell the just loaded document to layout. This may be necessary
- // for non-html content that needs a layout message.
- if (!([[m_webFrame.get() _dataSource] _isDocumentHTML])) {
- [thisDocumentView setNeedsLayout:YES];
- [thisDocumentView layout];
- [thisDocumentView setNeedsDisplay:YES];
- }
-}
-
-void WebFrameLoaderClient::setCopiesOnScroll()
-{
- [[[m_webFrame->_private->webFrameView _scrollView] contentView] setCopiesOnScroll:YES];
-}
-
-void WebFrameLoaderClient::detachedFromParent2()
-{
- //remove any NetScape plugins that are children of this frame because they are about to be detached
- WebView *webView = getWebView(m_webFrame.get());
- [webView removePluginInstanceViewsFor:(m_webFrame.get())];
- [m_webFrame->_private->webFrameView _setWebFrame:nil]; // needed for now to be compatible w/ old behavior
-
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didRemoveFrameFromHierarchyFunc)
- CallFrameLoadDelegate(implementations->didRemoveFrameFromHierarchyFunc, webView, @selector(webView:didRemoveFrameFromHierarchy:), m_webFrame.get());
-}
-
-void WebFrameLoaderClient::detachedFromParent3()
-{
- [m_webFrame->_private->webFrameView release];
- m_webFrame->_private->webFrameView = nil;
-}
-
-void WebFrameLoaderClient::convertMainResourceLoadToDownload(DocumentLoader* documentLoader, const ResourceRequest& request, const ResourceResponse& response)
-{
- WebView *webView = getWebView(m_webFrame.get());
-
- if (!documentLoader->mainResourceLoader()) {
- // The resource has already been cached, start a new download.
- WebDownload *webDownload = [[WebDownload alloc] initWithRequest:request.nsURLRequest(UpdateHTTPBody) delegate:[webView downloadDelegate]];
- [webDownload autorelease];
- return;
- }
-
- ResourceHandle* handle = documentLoader->mainResourceLoader()->handle();
-
-#if USE(CFNETWORK)
- ASSERT([WebDownload respondsToSelector:@selector(_downloadWithLoadingCFURLConnection:request:response:delegate:proxy:)]);
- CFURLConnectionRef connection = handle->connection();
- [WebDownload _downloadWithLoadingCFURLConnection:connection
- request:request.cfURLRequest(UpdateHTTPBody)
- response:response.cfURLResponse()
- delegate:[webView downloadDelegate]
- proxy:nil];
-
- // Release the connection since the NSURLDownload (actually CFURLDownload) will retain the connection and use it.
- handle->releaseConnectionForDownload();
- CFRelease(connection);
-#else
- [WebDownload _downloadWithLoadingConnection:handle->connection()
- request:request.nsURLRequest(UpdateHTTPBody)
- response:response.nsURLResponse()
- delegate:[webView downloadDelegate]
- proxy:nil];
-#endif
-}
-
-bool WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache(DocumentLoader* loader, const ResourceRequest& request, const ResourceResponse& response, int length)
-{
- applyAppleDictionaryApplicationQuirk(this, request);
-
- WebView *webView = getWebView(m_webFrame.get());
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
- if (!implementations->didLoadResourceFromMemoryCacheFunc)
- return false;
-
- CallResourceLoadDelegate(implementations->didLoadResourceFromMemoryCacheFunc, webView, @selector(webView:didLoadResourceFromMemoryCache:response:length:fromDataSource:), request.nsURLRequest(UpdateHTTPBody), response.nsURLResponse(), length, dataSource(loader));
- return true;
-}
-
-void WebFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
-
- id object = nil;
- BOOL shouldRelease = NO;
- if (implementations->identifierForRequestFunc)
- object = CallResourceLoadDelegate(implementations->identifierForRequestFunc, webView, @selector(webView:identifierForInitialRequest:fromDataSource:), request.nsURLRequest(UpdateHTTPBody), dataSource(loader));
- else {
- object = [[NSObject alloc] init];
- shouldRelease = YES;
- }
-
- [webView _addObject:object forIdentifier:identifier];
-
- if (shouldRelease)
- [object release];
-}
-
-void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
-{
- applyAppleDictionaryApplicationQuirk(this, request);
-
- WebView *webView = getWebView(m_webFrame.get());
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
-
- if (redirectResponse.isNull())
- static_cast<WebDocumentLoaderMac*>(loader)->increaseLoadCount(identifier);
-
- NSURLRequest *currentURLRequest = request.nsURLRequest(UpdateHTTPBody);
- NSURLRequest *newURLRequest = currentURLRequest;
- if (implementations->willSendRequestFunc)
- newURLRequest = (NSURLRequest *)CallResourceLoadDelegate(implementations->willSendRequestFunc, webView, @selector(webView:resource:willSendRequest:redirectResponse:fromDataSource:), [webView _objectForIdentifier:identifier], currentURLRequest, redirectResponse.nsURLResponse(), dataSource(loader));
-
- if (newURLRequest != currentURLRequest)
- request = newURLRequest;
-}
-
-bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader* loader, unsigned long identifier)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
-
- if (implementations->shouldUseCredentialStorageFunc) {
- if (id resource = [webView _objectForIdentifier:identifier])
- return CallResourceLoadDelegateReturningBoolean(NO, implementations->shouldUseCredentialStorageFunc, webView, @selector(webView:resource:shouldUseCredentialStorageForDataSource:), resource, dataSource(loader));
- }
-
- return true;
-}
-
-void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader* loader, unsigned long identifier, const AuthenticationChallenge& challenge)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
-
- NSURLAuthenticationChallenge *webChallenge = mac(challenge);
-
- if (implementations->didReceiveAuthenticationChallengeFunc) {
- if (id resource = [webView _objectForIdentifier:identifier]) {
- CallResourceLoadDelegate(implementations->didReceiveAuthenticationChallengeFunc, webView, @selector(webView:resource:didReceiveAuthenticationChallenge:fromDataSource:), resource, webChallenge, dataSource(loader));
- return;
- }
- }
-
- NSWindow *window = [webView hostWindow] ? [webView hostWindow] : [webView window];
- [[WebPanelAuthenticationHandler sharedHandler] startAuthentication:webChallenge window:window];
-}
-
-#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
-bool WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace(DocumentLoader* loader, unsigned long identifier, const ProtectionSpace& protectionSpace)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
-
- NSURLProtectionSpace *webProtectionSpace = mac(protectionSpace);
-
- if (implementations->canAuthenticateAgainstProtectionSpaceFunc) {
- if (id resource = [webView _objectForIdentifier:identifier]) {
- return CallResourceLoadDelegateReturningBoolean(NO, implementations->canAuthenticateAgainstProtectionSpaceFunc, webView, @selector(webView:resource:canAuthenticateAgainstProtectionSpace:forDataSource:), resource, webProtectionSpace, dataSource(loader));
- }
- }
-
- // If our resource load delegate doesn't handle the question, then only send authentication
- // challenges for pre-10.6 protection spaces. This is the same as the default implementation
- // in CFNetwork.
- return (protectionSpace.authenticationScheme() < ProtectionSpaceAuthenticationSchemeClientCertificateRequested);
-}
-#endif
-
-bool WebFrameLoaderClient::shouldPaintBrokenImage(const KURL& imageURL) const
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
-
- if (implementations->shouldPaintBrokenImageForURLFunc) {
- NSURL* url = imageURL;
- return CallResourceLoadDelegateReturningBoolean(YES, implementations->shouldPaintBrokenImageForURLFunc, webView, @selector(webView:shouldPaintBrokenImageForURL:), url);
- }
- return true;
-}
-
-void WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge(DocumentLoader* loader, unsigned long identifier, const AuthenticationChallenge&challenge)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
- NSURLAuthenticationChallenge *webChallenge = mac(challenge);
-
- if (implementations->didCancelAuthenticationChallengeFunc) {
- if (id resource = [webView _objectForIdentifier:identifier]) {
- CallResourceLoadDelegate(implementations->didCancelAuthenticationChallengeFunc, webView, @selector(webView:resource:didCancelAuthenticationChallenge:fromDataSource:), resource, webChallenge, dataSource(loader));
- return;
- }
- }
-
- [(WebPanelAuthenticationHandler *)[WebPanelAuthenticationHandler sharedHandler] cancelAuthentication:webChallenge];
-}
-
-void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
- if (implementations->didReceiveResponseFunc) {
- if (id resource = [webView _objectForIdentifier:identifier])
- CallResourceLoadDelegate(implementations->didReceiveResponseFunc, webView, @selector(webView:resource:didReceiveResponse:fromDataSource:), resource, response.nsURLResponse(), dataSource(loader));
- }
-}
-
-NSCachedURLResponse* WebFrameLoaderClient::willCacheResponse(DocumentLoader* loader, unsigned long identifier, NSCachedURLResponse* response) const
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
-
- if (implementations->willCacheResponseFunc) {
- if (id resource = [webView _objectForIdentifier:identifier])
- return CallResourceLoadDelegate(implementations->willCacheResponseFunc, webView, @selector(webView:resource:willCacheResponse:fromDataSource:), resource, response, dataSource(loader));
- }
-
- return response;
-}
-
-void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader* loader, unsigned long identifier, int dataLength)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
- if (implementations->didReceiveContentLengthFunc) {
- if (id resource = [webView _objectForIdentifier:identifier])
- CallResourceLoadDelegate(implementations->didReceiveContentLengthFunc, webView, @selector(webView:resource:didReceiveContentLength:fromDataSource:), resource, (NSInteger)dataLength, dataSource(loader));
- }
-}
-
-void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader* loader, unsigned long identifier)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
-
- if (implementations->didFinishLoadingFromDataSourceFunc) {
- if (id resource = [webView _objectForIdentifier:identifier])
- CallResourceLoadDelegate(implementations->didFinishLoadingFromDataSourceFunc, webView, @selector(webView:resource:didFinishLoadingFromDataSource:), resource, dataSource(loader));
- }
-
- [webView _removeObjectForIdentifier:identifier];
-
- static_cast<WebDocumentLoaderMac*>(loader)->decreaseLoadCount(identifier);
-}
-
-void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader* loader, unsigned long identifier, const ResourceError& error)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
-
- if (implementations->didFailLoadingWithErrorFromDataSourceFunc) {
- if (id resource = [webView _objectForIdentifier:identifier])
- CallResourceLoadDelegate(implementations->didFailLoadingWithErrorFromDataSourceFunc, webView, @selector(webView:resource:didFailLoadingWithError:fromDataSource:), resource, (NSError *)error, dataSource(loader));
- }
-
- [webView _removeObjectForIdentifier:identifier];
-
- static_cast<WebDocumentLoaderMac*>(loader)->decreaseLoadCount(identifier);
-}
-
-void WebFrameLoaderClient::dispatchDidHandleOnloadEvents()
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didHandleOnloadEventsForFrameFunc)
- CallFrameLoadDelegate(implementations->didHandleOnloadEventsForFrameFunc, webView, @selector(webView:didHandleOnloadEventsForFrame:), m_webFrame.get());
-}
-
-void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
-{
- m_webFrame->_private->provisionalURL = core(m_webFrame.get())->loader()->provisionalDocumentLoader()->url().string();
-
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didReceiveServerRedirectForProvisionalLoadForFrameFunc)
- CallFrameLoadDelegate(implementations->didReceiveServerRedirectForProvisionalLoadForFrameFunc, webView, @selector(webView:didReceiveServerRedirectForProvisionalLoadForFrame:), m_webFrame.get());
-}
-
-void WebFrameLoaderClient::dispatchDidCancelClientRedirect()
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didCancelClientRedirectForFrameFunc)
- CallFrameLoadDelegate(implementations->didCancelClientRedirectForFrameFunc, webView, @selector(webView:didCancelClientRedirectForFrame:), m_webFrame.get());
-}
-
-void WebFrameLoaderClient::dispatchWillPerformClientRedirect(const KURL& url, double delay, double fireDate)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->willPerformClientRedirectToURLDelayFireDateForFrameFunc) {
- NSURL *cocoaURL = url;
- CallFrameLoadDelegate(implementations->willPerformClientRedirectToURLDelayFireDateForFrameFunc, webView, @selector(webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:), cocoaURL, delay, [NSDate dateWithTimeIntervalSince1970:fireDate], m_webFrame.get());
- }
-}
-
-void WebFrameLoaderClient::dispatchDidChangeLocationWithinPage()
-{
- m_webFrame->_private->url = core(m_webFrame.get())->document()->url().string();
-
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didChangeLocationWithinPageForFrameFunc)
- CallFrameLoadDelegate(implementations->didChangeLocationWithinPageForFrameFunc, webView, @selector(webView:didChangeLocationWithinPageForFrame:), m_webFrame.get());
-}
-
-void WebFrameLoaderClient::dispatchDidPushStateWithinPage()
-{
- m_webFrame->_private->url = core(m_webFrame.get())->document()->url().string();
-
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didPushStateWithinPageForFrameFunc)
- CallFrameLoadDelegate(implementations->didPushStateWithinPageForFrameFunc, webView, @selector(webView:didPushStateWithinPageForFrame:), m_webFrame.get());
-}
-
-void WebFrameLoaderClient::dispatchDidReplaceStateWithinPage()
-{
- m_webFrame->_private->url = core(m_webFrame.get())->document()->url().string();
-
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didReplaceStateWithinPageForFrameFunc)
- CallFrameLoadDelegate(implementations->didReplaceStateWithinPageForFrameFunc, webView, @selector(webView:didReplaceStateWithinPageForFrame:), m_webFrame.get());
-}
-
-void WebFrameLoaderClient::dispatchDidPopStateWithinPage()
-{
- m_webFrame->_private->url = core(m_webFrame.get())->document()->url().string();
-
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didPopStateWithinPageForFrameFunc)
- CallFrameLoadDelegate(implementations->didPopStateWithinPageForFrameFunc, webView, @selector(webView:didPopStateWithinPageForFrame:), m_webFrame.get());
-}
-
-void WebFrameLoaderClient::dispatchWillClose()
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->willCloseFrameFunc)
- CallFrameLoadDelegate(implementations->willCloseFrameFunc, webView, @selector(webView:willCloseFrame:), m_webFrame.get());
-}
-
-void WebFrameLoaderClient::dispatchDidReceiveIcon()
-{
-#if ENABLE(ICONDATABASE)
- WebView *webView = getWebView(m_webFrame.get());
- ASSERT(m_webFrame == [webView mainFrame]);
- [webView _dispatchDidReceiveIconFromWebFrame:m_webFrame.get()];
-#endif
-}
-
-void WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
-{
- ASSERT(!m_webFrame->_private->provisionalURL);
- m_webFrame->_private->provisionalURL = core(m_webFrame.get())->loader()->provisionalDocumentLoader()->url().string();
-
- WebView *webView = getWebView(m_webFrame.get());
- [webView _didStartProvisionalLoadForFrame:m_webFrame.get()];
-
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didStartProvisionalLoadForFrameFunc)
- CallFrameLoadDelegate(implementations->didStartProvisionalLoadForFrameFunc, webView, @selector(webView:didStartProvisionalLoadForFrame:), m_webFrame.get());
-}
-
-void WebFrameLoaderClient::dispatchDidReceiveTitle(const StringWithDirection& title)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didReceiveTitleForFrameFunc)
- // FIXME: use direction of title.
- CallFrameLoadDelegate(implementations->didReceiveTitleForFrameFunc, webView, @selector(webView:didReceiveTitle:forFrame:), (NSString *)title.string(), m_webFrame.get());
-}
-
-void WebFrameLoaderClient::dispatchDidChangeIcons(WebCore::IconType)
-{
- // FIXME: Implement this to allow container to update favicon.
-}
-
-void WebFrameLoaderClient::dispatchDidCommitLoad()
-{
- // Tell the client we've committed this URL.
- ASSERT([m_webFrame->_private->webFrameView documentView] != nil);
-
- WebView *webView = getWebView(m_webFrame.get());
- [webView _didCommitLoadForFrame:m_webFrame.get()];
-
- m_webFrame->_private->url = m_webFrame->_private->provisionalURL;
- m_webFrame->_private->provisionalURL = nullptr;
-
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didCommitLoadForFrameFunc)
- CallFrameLoadDelegate(implementations->didCommitLoadForFrameFunc, webView, @selector(webView:didCommitLoadForFrame:), m_webFrame.get());
-}
-
-void WebFrameLoaderClient::dispatchDidFailProvisionalLoad(const ResourceError& error)
-{
- m_webFrame->_private->provisionalURL = nullptr;
-
- WebView *webView = getWebView(m_webFrame.get());
- [webView _didFailProvisionalLoadWithError:error forFrame:m_webFrame.get()];
-
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didFailProvisionalLoadWithErrorForFrameFunc)
- CallFrameLoadDelegate(implementations->didFailProvisionalLoadWithErrorForFrameFunc, webView, @selector(webView:didFailProvisionalLoadWithError:forFrame:), (NSError *)error, m_webFrame.get());
-
- [m_webFrame->_private->internalLoadDelegate webFrame:m_webFrame.get() didFinishLoadWithError:error];
-}
-
-void WebFrameLoaderClient::dispatchDidFailLoad(const ResourceError& error)
-{
- ASSERT(!m_webFrame->_private->provisionalURL);
-
- WebView *webView = getWebView(m_webFrame.get());
- [webView _didFailLoadWithError:error forFrame:m_webFrame.get()];
-
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didFailLoadWithErrorForFrameFunc)
- CallFrameLoadDelegate(implementations->didFailLoadWithErrorForFrameFunc, webView, @selector(webView:didFailLoadWithError:forFrame:), (NSError *)error, m_webFrame.get());
-
- [m_webFrame->_private->internalLoadDelegate webFrame:m_webFrame.get() didFinishLoadWithError:error];
-}
-
-void WebFrameLoaderClient::dispatchDidFinishDocumentLoad()
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didFinishDocumentLoadForFrameFunc)
- CallFrameLoadDelegate(implementations->didFinishDocumentLoadForFrameFunc, webView, @selector(webView:didFinishDocumentLoadForFrame:), m_webFrame.get());
-}
-
-void WebFrameLoaderClient::dispatchDidFinishLoad()
-{
- ASSERT(!m_webFrame->_private->provisionalURL);
-
- WebView *webView = getWebView(m_webFrame.get());
- [webView _didFinishLoadForFrame:m_webFrame.get()];
-
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didFinishLoadForFrameFunc)
- CallFrameLoadDelegate(implementations->didFinishLoadForFrameFunc, webView, @selector(webView:didFinishLoadForFrame:), m_webFrame.get());
-
- [m_webFrame->_private->internalLoadDelegate webFrame:m_webFrame.get() didFinishLoadWithError:nil];
-}
-
-void WebFrameLoaderClient::dispatchDidLayout(LayoutMilestones milestones)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
-
- if (implementations->didLayoutFunc)
- CallFrameLoadDelegate(implementations->didLayoutFunc, webView, @selector(webView:didLayout:), kitLayoutMilestones(milestones));
-
- if (milestones & DidFirstLayout) {
- // FIXME: We should consider removing the old didFirstLayout API since this is doing double duty with the
- // new didLayout API.
- if (implementations->didFirstLayoutInFrameFunc)
- CallFrameLoadDelegate(implementations->didFirstLayoutInFrameFunc, webView, @selector(webView:didFirstLayoutInFrame:), m_webFrame.get());
-
- // See WebFrameLoaderClient::provisionalLoadStarted.
- WebDynamicScrollBarsView *scrollView = [m_webFrame->_private->webFrameView _scrollView];
- if ([getWebView(m_webFrame.get()) drawsBackground])
- [scrollView setDrawsBackground:YES];
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- [scrollView setVerticalScrollElasticity:NSScrollElasticityAutomatic];
- [scrollView setHorizontalScrollElasticity:NSScrollElasticityAutomatic];
-#endif
- }
-
- if (milestones & DidFirstVisuallyNonEmptyLayout) {
- // FIXME: We should consider removing the old didFirstVisuallyNonEmptyLayoutForFrame API since this is doing
- // double duty with the new didLayout API.
- if (implementations->didFirstVisuallyNonEmptyLayoutInFrameFunc)
- CallFrameLoadDelegate(implementations->didFirstVisuallyNonEmptyLayoutInFrameFunc, webView, @selector(webView:didFirstVisuallyNonEmptyLayoutInFrame:), m_webFrame.get());
- }
-}
-
-Frame* WebFrameLoaderClient::dispatchCreatePage(const NavigationAction&)
-{
- WebView *currentWebView = getWebView(m_webFrame.get());
- NSDictionary *features = [[NSDictionary alloc] init];
- WebView *newWebView = [[currentWebView _UIDelegateForwarder] webView:currentWebView
- createWebViewWithRequest:nil
- windowFeatures:features];
- [features release];
-
-#if USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API)
- if (newWebView)
- WebKit::NetscapePluginHostManager::shared().didCreateWindow();
-#endif
-
- return core([newWebView mainFrame]);
-}
-
-void WebFrameLoaderClient::dispatchShow()
-{
- WebView *webView = getWebView(m_webFrame.get());
- [[webView _UIDelegateForwarder] webViewShow:webView];
-}
-
-void WebFrameLoaderClient::dispatchDecidePolicyForResponse(FramePolicyFunction function,
- const ResourceResponse& response, const ResourceRequest& request)
-{
- WebView *webView = getWebView(m_webFrame.get());
-
- [[webView _policyDelegateForwarder] webView:webView
- decidePolicyForMIMEType:response.mimeType()
- request:request.nsURLRequest(UpdateHTTPBody)
- frame:m_webFrame.get()
- decisionListener:setUpPolicyListener(function).get()];
-}
-
-void WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction(FramePolicyFunction function,
- const NavigationAction& action, const ResourceRequest& request, PassRefPtr<FormState> formState, const String& frameName)
-{
- WebView *webView = getWebView(m_webFrame.get());
- [[webView _policyDelegateForwarder] webView:webView
- decidePolicyForNewWindowAction:actionDictionary(action, formState)
- request:request.nsURLRequest(UpdateHTTPBody)
- newFrameName:frameName
- decisionListener:setUpPolicyListener(function).get()];
-}
-
-void WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(FramePolicyFunction function,
- const NavigationAction& action, const ResourceRequest& request, PassRefPtr<FormState> formState)
-{
- WebView *webView = getWebView(m_webFrame.get());
- [[webView _policyDelegateForwarder] webView:webView
- decidePolicyForNavigationAction:actionDictionary(action, formState)
- request:request.nsURLRequest(UpdateHTTPBody)
- frame:m_webFrame.get()
- decisionListener:setUpPolicyListener(function).get()];
-}
-
-void WebFrameLoaderClient::cancelPolicyCheck()
-{
- [m_policyListener invalidate];
- m_policyListener = nullptr;
-}
-
-void WebFrameLoaderClient::dispatchUnableToImplementPolicy(const ResourceError& error)
-{
- WebView *webView = getWebView(m_webFrame.get());
- [[webView _policyDelegateForwarder] webView:webView unableToImplementPolicyWithError:error frame:m_webFrame.get()];
-}
-
-static NSDictionary *makeFormFieldValuesDictionary(FormState* formState)
-{
- const StringPairVector& textFieldValues = formState->textFieldValues();
- size_t size = textFieldValues.size();
- NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] initWithCapacity:size];
- for (size_t i = 0; i < size; ++i)
- [dictionary setObject:textFieldValues[i].second forKey:textFieldValues[i].first];
-
- return [dictionary autorelease];
-}
-
-void WebFrameLoaderClient::dispatchWillSendSubmitEvent(PassRefPtr<WebCore::FormState> formState)
-{
- id <WebFormDelegate> formDelegate = [getWebView(m_webFrame.get()) _formDelegate];
- if (!formDelegate)
- return;
-
- DOMHTMLFormElement *formElement = kit(formState->form());
- NSDictionary *values = makeFormFieldValuesDictionary(formState.get());
- CallFormDelegate(getWebView(m_webFrame.get()), @selector(willSendSubmitEventToForm:inFrame:withValues:), formElement, m_webFrame.get(), values);
-}
-
-void WebFrameLoaderClient::dispatchWillSubmitForm(FramePolicyFunction function, PassRefPtr<FormState> formState)
-{
- id <WebFormDelegate> formDelegate = [getWebView(m_webFrame.get()) _formDelegate];
- if (!formDelegate) {
- (core(m_webFrame.get())->loader()->policyChecker()->*function)(PolicyUse);
- return;
- }
-
- NSDictionary *values = makeFormFieldValuesDictionary(formState.get());
- CallFormDelegate(getWebView(m_webFrame.get()), @selector(frame:sourceFrame:willSubmitForm:withValues:submissionListener:), m_webFrame.get(), kit(formState->sourceDocument()->frame()), kit(formState->form()), values, setUpPolicyListener(function).get());
-}
-
-void WebFrameLoaderClient::revertToProvisionalState(DocumentLoader* loader)
-{
- [dataSource(loader) _revertToProvisionalState];
-}
-
-void WebFrameLoaderClient::setMainDocumentError(DocumentLoader* loader, const ResourceError& error)
-{
- [dataSource(loader) _setMainDocumentError:error];
-}
-
-void WebFrameLoaderClient::willChangeEstimatedProgress()
-{
- [getWebView(m_webFrame.get()) _willChangeValueForKey:_WebEstimatedProgressKey];
-}
-
-void WebFrameLoaderClient::didChangeEstimatedProgress()
-{
- [getWebView(m_webFrame.get()) _didChangeValueForKey:_WebEstimatedProgressKey];
-}
-
-void WebFrameLoaderClient::postProgressStartedNotification()
-{
- [[NSNotificationCenter defaultCenter] postNotificationName:WebViewProgressStartedNotification object:getWebView(m_webFrame.get())];
-}
-
-void WebFrameLoaderClient::postProgressEstimateChangedNotification()
-{
- [[NSNotificationCenter defaultCenter] postNotificationName:WebViewProgressEstimateChangedNotification object:getWebView(m_webFrame.get())];
-}
-
-void WebFrameLoaderClient::postProgressFinishedNotification()
-{
- [[NSNotificationCenter defaultCenter] postNotificationName:WebViewProgressFinishedNotification object:getWebView(m_webFrame.get())];
-}
-
-void WebFrameLoaderClient::setMainFrameDocumentReady(bool ready)
-{
- [getWebView(m_webFrame.get()) setMainFrameDocumentReady:ready];
-}
-
-void WebFrameLoaderClient::startDownload(const ResourceRequest& request, const String& /* suggestedName */)
-{
- // FIXME: Should download full request.
- [getWebView(m_webFrame.get()) _downloadURL:request.url()];
-}
-
-void WebFrameLoaderClient::willChangeTitle(DocumentLoader* loader)
-{
- // FIXME: Should do this only in main frame case, right?
- [getWebView(m_webFrame.get()) _willChangeValueForKey:_WebMainFrameTitleKey];
-}
-
-void WebFrameLoaderClient::didChangeTitle(DocumentLoader* loader)
-{
- // FIXME: Should do this only in main frame case, right?
- [getWebView(m_webFrame.get()) _didChangeValueForKey:_WebMainFrameTitleKey];
-}
-
-void WebFrameLoaderClient::committedLoad(DocumentLoader* loader, const char* data, int length)
-{
- NSData *nsData = [[NSData alloc] initWithBytesNoCopy:(void*)data length:length freeWhenDone:NO];
- [dataSource(loader) _receivedData:nsData];
- [nsData release];
-}
-
-void WebFrameLoaderClient::finishedLoading(DocumentLoader* loader)
-{
- [dataSource(loader) _finishedLoading];
-}
-
-static inline NSString *nilOrNSString(const String& string)
-{
- if (string.isNull())
- return nil;
- return string;
-}
-
-void WebFrameLoaderClient::updateGlobalHistory()
-{
- WebView* view = getWebView(m_webFrame.get());
- DocumentLoader* loader = core(m_webFrame.get())->loader()->documentLoader();
-
- if ([view historyDelegate]) {
- WebHistoryDelegateImplementationCache* implementations = WebViewGetHistoryDelegateImplementations(view);
- if (implementations->navigatedFunc) {
- WebNavigationData *data = [[WebNavigationData alloc] initWithURLString:loader->url()
- title:nilOrNSString(loader->title().string())
- originalRequest:loader->originalRequestCopy().nsURLRequest(UpdateHTTPBody)
- response:loader->response().nsURLResponse()
- hasSubstituteData:loader->substituteData().isValid()
- clientRedirectSource:loader->clientRedirectSourceForHistory()];
-
- CallHistoryDelegate(implementations->navigatedFunc, view, @selector(webView:didNavigateWithNavigationData:inFrame:), data, m_webFrame.get());
- [data release];
- }
-
- return;
- }
-
- [[WebHistory optionalSharedHistory] _visitedURL:loader->urlForHistory()
- withTitle:loader->title().string()
- method:loader->originalRequestCopy().httpMethod()
- wasFailure:loader->urlForHistoryReflectsFailure()
- increaseVisitCount:!loader->clientRedirectSourceForHistory()]; // Do not increase visit count due to navigations that were not initiated by the user directly, avoiding growth from programmatic reloads.
-}
-
-void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks()
-{
- WebView* view = getWebView(m_webFrame.get());
- WebHistoryDelegateImplementationCache* implementations = [view historyDelegate] ? WebViewGetHistoryDelegateImplementations(view) : 0;
-
- DocumentLoader* loader = core(m_webFrame.get())->loader()->documentLoader();
- ASSERT(loader->unreachableURL().isEmpty());
-
- if (!loader->clientRedirectSourceForHistory().isNull()) {
- if (implementations) {
- if (implementations->clientRedirectFunc) {
- CallHistoryDelegate(implementations->clientRedirectFunc, view, @selector(webView:didPerformClientRedirectFromURL:toURL:inFrame:),
- m_webFrame->_private->url.get(), loader->clientRedirectDestinationForHistory(), m_webFrame.get());
- }
- } else if (WebHistoryItem *item = [[WebHistory optionalSharedHistory] _itemForURLString:loader->clientRedirectSourceForHistory()])
- core(item)->addRedirectURL(loader->clientRedirectDestinationForHistory());
- }
-
- if (!loader->serverRedirectSourceForHistory().isNull()) {
- if (implementations) {
- if (implementations->serverRedirectFunc) {
- CallHistoryDelegate(implementations->serverRedirectFunc, view, @selector(webView:didPerformServerRedirectFromURL:toURL:inFrame:),
- loader->serverRedirectSourceForHistory(), loader->serverRedirectDestinationForHistory(), m_webFrame.get());
- }
- } else if (WebHistoryItem *item = [[WebHistory optionalSharedHistory] _itemForURLString:loader->serverRedirectSourceForHistory()])
- core(item)->addRedirectURL(loader->serverRedirectDestinationForHistory());
- }
-}
-
-bool WebFrameLoaderClient::shouldGoToHistoryItem(HistoryItem* item) const
-{
- WebView* view = getWebView(m_webFrame.get());
- WebHistoryItem *webItem = kit(item);
-
- return [[view _policyDelegateForwarder] webView:view shouldGoToHistoryItem:webItem];
-}
-
-bool WebFrameLoaderClient::shouldStopLoadingForHistoryItem(HistoryItem* item) const
-{
- return true;
-}
-
-void WebFrameLoaderClient::updateGlobalHistoryItemForPage()
-{
- HistoryItem* historyItem = 0;
-
- if (Page* page = core(m_webFrame.get())->page()) {
- if (!page->settings()->privateBrowsingEnabled())
- historyItem = page->backForward()->currentItem();
- }
-
- WebView *webView = getWebView(m_webFrame.get());
- [webView _setGlobalHistoryItem:historyItem];
-}
-
-void WebFrameLoaderClient::didDisplayInsecureContent()
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didDisplayInsecureContentFunc)
- CallFrameLoadDelegate(implementations->didDisplayInsecureContentFunc, webView, @selector(webViewDidDisplayInsecureContent:));
-}
-
-void WebFrameLoaderClient::didRunInsecureContent(SecurityOrigin* origin, const KURL& insecureURL)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didRunInsecureContentFunc) {
- RetainPtr<WebSecurityOrigin> webSecurityOrigin = adoptNS([[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:origin]);
- CallFrameLoadDelegate(implementations->didRunInsecureContentFunc, webView, @selector(webView:didRunInsecureContent:), webSecurityOrigin.get());
- }
-}
-
-void WebFrameLoaderClient::didDetectXSS(const KURL& insecureURL, bool didBlockEntirePage)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
- if (implementations->didDetectXSSFunc) {
- // FIXME: must pass didBlockEntirePage if we want to do more on mac than just pass tests.
- NSURL* insecureNSURL = insecureURL;
- CallFrameLoadDelegate(implementations->didDetectXSSFunc, webView, @selector(webView:didDetectXSS:), insecureNSURL);
- }
-}
-
-ResourceError WebFrameLoaderClient::cancelledError(const ResourceRequest& request)
-{
- return [NSError _webKitErrorWithDomain:NSURLErrorDomain code:NSURLErrorCancelled URL:request.url()];
-}
-
-ResourceError WebFrameLoaderClient::blockedError(const ResourceRequest& request)
-{
- return [NSError _webKitErrorWithDomain:WebKitErrorDomain code:WebKitErrorCannotUseRestrictedPort URL:request.url()];
-}
-
-ResourceError WebFrameLoaderClient::cannotShowURLError(const ResourceRequest& request)
-{
- return [NSError _webKitErrorWithDomain:WebKitErrorDomain code:WebKitErrorCannotShowURL URL:request.url()];
-}
-
-ResourceError WebFrameLoaderClient::interruptedForPolicyChangeError(const ResourceRequest& request)
-{
- return [NSError _webKitErrorWithDomain:WebKitErrorDomain code:WebKitErrorFrameLoadInterruptedByPolicyChange URL:request.url()];
-}
-
-ResourceError WebFrameLoaderClient::cannotShowMIMETypeError(const ResourceResponse& response)
-{
- return [NSError _webKitErrorWithDomain:NSURLErrorDomain code:WebKitErrorCannotShowMIMEType URL:response.url()];
-}
-
-ResourceError WebFrameLoaderClient::fileDoesNotExistError(const ResourceResponse& response)
-{
- return [NSError _webKitErrorWithDomain:NSURLErrorDomain code:NSURLErrorFileDoesNotExist URL:response.url()];
-}
-
-ResourceError WebFrameLoaderClient::pluginWillHandleLoadError(const ResourceResponse& response)
-{
- NSError *error = [[NSError alloc] _initWithPluginErrorCode:WebKitErrorPlugInWillHandleLoad
- contentURL:response.url()
- pluginPageURL:nil
- pluginName:nil
- MIMEType:response.mimeType()];
- return [error autorelease];
-}
-
-bool WebFrameLoaderClient::shouldFallBack(const ResourceError& error)
-{
- // FIXME: Needs to check domain.
- // FIXME: WebKitErrorPlugInWillHandleLoad is a workaround for the cancel we do to prevent
- // loading plugin content twice. See <rdar://problem/4258008>
- return error.errorCode() != NSURLErrorCancelled && error.errorCode() != WebKitErrorPlugInWillHandleLoad;
-}
-
-bool WebFrameLoaderClient::canHandleRequest(const ResourceRequest& request) const
-{
- Frame* frame = core(m_webFrame.get());
- Page* page = frame->page();
- BOOL forMainFrame = page && page->mainFrame() == frame;
- return [WebView _canHandleRequest:request.nsURLRequest(UpdateHTTPBody) forMainFrame:forMainFrame];
-}
-
-bool WebFrameLoaderClient::canShowMIMEType(const String& MIMEType) const
-{
- return [getWebView(m_webFrame.get()) _canShowMIMEType:MIMEType];
-}
-
-bool WebFrameLoaderClient::canShowMIMETypeAsHTML(const String& MIMEType) const
-{
- return [WebView canShowMIMETypeAsHTML:MIMEType];
-}
-
-bool WebFrameLoaderClient::representationExistsForURLScheme(const String& URLScheme) const
-{
- return [WebView _representationExistsForURLScheme:URLScheme];
-}
-
-String WebFrameLoaderClient::generatedMIMETypeForURLScheme(const String& URLScheme) const
-{
- return [WebView _generatedMIMETypeForURLScheme:URLScheme];
-}
-
-void WebFrameLoaderClient::frameLoadCompleted()
-{
- // Note: Can be called multiple times.
-
- // See WebFrameLoaderClient::provisionalLoadStarted.
- if ([getWebView(m_webFrame.get()) drawsBackground])
- [[m_webFrame->_private->webFrameView _scrollView] setDrawsBackground:YES];
-}
-
-void WebFrameLoaderClient::saveViewStateToItem(HistoryItem* item)
-{
- if (!item)
- return;
-
- NSView <WebDocumentView> *docView = [m_webFrame->_private->webFrameView documentView];
-
- // we might already be detached when this is called from detachFromParent, in which
- // case we don't want to override real data earlier gathered with (0,0)
- if ([docView superview] && [docView conformsToProtocol:@protocol(_WebDocumentViewState)])
- item->setViewState([(id <_WebDocumentViewState>)docView viewState]);
-}
-
-void WebFrameLoaderClient::restoreViewState()
-{
- HistoryItem* currentItem = core(m_webFrame.get())->loader()->history()->currentItem();
- ASSERT(currentItem);
-
- // FIXME: As the ASSERT attests, it seems we should always have a currentItem here.
- // One counterexample is <rdar://problem/4917290>
- // For now, to cover this issue in release builds, there is no technical harm to returning
- // early and from a user standpoint - as in the above radar - the previous page load failed
- // so there *is* no scroll state to restore!
- if (!currentItem)
- return;
-
- NSView <WebDocumentView> *docView = [m_webFrame->_private->webFrameView documentView];
- if ([docView conformsToProtocol:@protocol(_WebDocumentViewState)]) {
- id state = currentItem->viewState();
- if (state) {
- [(id <_WebDocumentViewState>)docView setViewState:state];
- }
- }
-}
-
-void WebFrameLoaderClient::provisionalLoadStarted()
-{
- // Tell the scroll view not to draw a background so we can leave the contents of
- // the old page showing during the beginning of the loading process.
-
- // This will stay set to NO until:
- // 1) The load gets far enough along: WebFrameLoader::frameLoadCompleted.
- // 2) The window is resized: -[WebFrameView setFrameSize:].
- // or 3) The view is moved out of the window: -[WebFrameView viewDidMoveToWindow].
- // Please keep the comments in these four functions in agreement with each other.
-
- WebDynamicScrollBarsView *scrollView = [m_webFrame->_private->webFrameView _scrollView];
- [scrollView setDrawsBackground:NO];
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- [scrollView setVerticalScrollElasticity:NSScrollElasticityNone];
- [scrollView setHorizontalScrollElasticity:NSScrollElasticityNone];
-#endif
-}
-
-void WebFrameLoaderClient::didFinishLoad()
-{
- [m_webFrame->_private->internalLoadDelegate webFrame:m_webFrame.get() didFinishLoadWithError:nil];
-}
-
-void WebFrameLoaderClient::prepareForDataSourceReplacement()
-{
- if (![m_webFrame.get() _dataSource]) {
- ASSERT(!core(m_webFrame.get())->tree()->childCount());
- return;
- }
-
- // Make sure that any work that is triggered by resigning first reponder can get done.
- // The main example where this came up is the textDidEndEditing that is sent to the
- // FormsDelegate (3223413). We need to do this before _detachChildren, since that will
- // remove the views as a side-effect of freeing the frame, at which point we can't
- // post the FormDelegate messages.
- //
- // Note that this can also take FirstResponder away from a child of our frameView that
- // is not in a child frame's view. This is OK because we are in the process
- // of loading new content, which will blow away all editors in this top frame, and if
- // a non-editor is firstReponder it will not be affected by endEditingFor:.
- // Potentially one day someone could write a DocView whose editors were not all
- // replaced by loading new content, but that does not apply currently.
- NSView *frameView = m_webFrame->_private->webFrameView;
- NSWindow *window = [frameView window];
- NSResponder *firstResp = [window firstResponder];
- if ([firstResp isKindOfClass:[NSView class]] && [(NSView *)firstResp isDescendantOf:frameView])
- [window endEditingFor:firstResp];
-}
-
-PassRefPtr<DocumentLoader> WebFrameLoaderClient::createDocumentLoader(const ResourceRequest& request, const SubstituteData& substituteData)
-{
- RefPtr<WebDocumentLoaderMac> loader = WebDocumentLoaderMac::create(request, substituteData);
-
- WebDataSource *dataSource = [[WebDataSource alloc] _initWithDocumentLoader:loader.get()];
- loader->setDataSource(dataSource, getWebView(m_webFrame.get()));
- [dataSource release];
-
- return loader.release();
-}
-
-void WebFrameLoaderClient::setTitle(const StringWithDirection& title, const KURL& url)
-{
- WebView* view = getWebView(m_webFrame.get());
-
- if ([view historyDelegate]) {
- WebHistoryDelegateImplementationCache* implementations = WebViewGetHistoryDelegateImplementations(view);
- // FIXME: use direction of title.
- if (implementations->setTitleFunc)
- CallHistoryDelegate(implementations->setTitleFunc, view, @selector(webView:updateHistoryTitle:forURL:inFrame:), (NSString *)title.string(), (NSString *)url, m_webFrame.get());
- else if (implementations->deprecatedSetTitleFunc)
- CallHistoryDelegate(implementations->deprecatedSetTitleFunc, view, @selector(webView:updateHistoryTitle:forURL:), (NSString *)title.string(), (NSString *)url);
-
- return;
- }
-
- NSURL* nsURL = url;
- nsURL = [nsURL _webkit_canonicalize];
- if(!nsURL)
- return;
- NSString *titleNSString = title.string();
-
- [[[WebHistory optionalSharedHistory] itemForURL:nsURL] setTitle:titleNSString];
-}
-
-void WebFrameLoaderClient::savePlatformDataToCachedFrame(CachedFrame* cachedFrame)
-{
- OwnPtr<WebCachedFramePlatformData> webPlatformData = adoptPtr(new WebCachedFramePlatformData([m_webFrame->_private->webFrameView documentView]));
- cachedFrame->setCachedFramePlatformData(webPlatformData.release());
-}
-
-void WebFrameLoaderClient::transitionToCommittedFromCachedFrame(CachedFrame* cachedFrame)
-{
- WebCachedFramePlatformData* platformData = reinterpret_cast<WebCachedFramePlatformData*>(cachedFrame->cachedFramePlatformData());
- NSView <WebDocumentView> *cachedView = platformData->webDocumentView();
- ASSERT(cachedView != nil);
- ASSERT(cachedFrame->documentLoader());
- [cachedView setDataSource:dataSource(cachedFrame->documentLoader())];
-
- // clean up webkit plugin instances before WebHTMLView gets freed.
- WebView *webView = getWebView(m_webFrame.get());
- [webView removePluginInstanceViewsFor:(m_webFrame.get())];
-
- [m_webFrame->_private->webFrameView _setDocumentView:cachedView];
-}
-
-void WebFrameLoaderClient::transitionToCommittedForNewPage()
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebDataSource *dataSource = [m_webFrame.get() _dataSource];
-
- bool willProduceHTMLView = [m_webFrame->_private->webFrameView _viewClassForMIMEType:[dataSource _responseMIMEType]] == [WebHTMLView class];
- bool canSkipCreation = core(m_webFrame.get())->loader()->stateMachine()->committingFirstRealLoad() && willProduceHTMLView;
- if (canSkipCreation) {
- [[m_webFrame->_private->webFrameView documentView] setDataSource:dataSource];
- return;
- }
-
- // Don't suppress scrollbars before the view creation if we're making the view for a non-HTML view.
- if (!willProduceHTMLView)
- [[m_webFrame->_private->webFrameView _scrollView] setScrollBarsSuppressed:NO repaintOnUnsuppress:NO];
-
- // clean up webkit plugin instances before WebHTMLView gets freed.
- [webView removePluginInstanceViewsFor:(m_webFrame.get())];
-
- NSView <WebDocumentView> *documentView = [m_webFrame->_private->webFrameView _makeDocumentViewForDataSource:dataSource];
- if (!documentView)
- return;
-
- // FIXME: Could we skip some of this work for a top-level view that is not a WebHTMLView?
-
- // If we own the view, delete the old one - otherwise the render m_frame will take care of deleting the view.
- Frame* coreFrame = core(m_webFrame.get());
- Page* page = coreFrame->page();
- bool isMainFrame = coreFrame == page->mainFrame();
- if (isMainFrame && coreFrame->view())
- coreFrame->view()->setParentVisible(false);
- coreFrame->setView(0);
- RefPtr<FrameView> coreView = FrameView::create(coreFrame);
- coreFrame->setView(coreView);
-
- [m_webFrame.get() _updateBackgroundAndUpdatesWhileOffscreen];
- [m_webFrame->_private->webFrameView _install];
-
- if (isMainFrame)
- coreView->setParentVisible(true);
-
- // Call setDataSource on the document view after it has been placed in the view hierarchy.
- // This what we for the top-level view, so should do this for views in subframes as well.
- [documentView setDataSource:dataSource];
-
- // The following is a no-op for WebHTMLRepresentation, but for custom document types
- // like the ones that Safari uses for bookmarks it is the only way the DocumentLoader
- // will get the proper title.
- if (DocumentLoader* documentLoader = [dataSource _documentLoader])
- documentLoader->setTitle(StringWithDirection([dataSource pageTitle], LTR));
-
- if (HTMLFrameOwnerElement* owner = coreFrame->ownerElement())
- coreFrame->view()->setCanHaveScrollbars(owner->scrollingMode() != ScrollbarAlwaysOff);
-
- // If the document view implicitly became first responder, make sure to set the focused frame properly.
- if ([[documentView window] firstResponder] == documentView) {
- page->focusController()->setFocusedFrame(coreFrame);
- page->focusController()->setFocused(true);
- }
-}
-
-void WebFrameLoaderClient::didSaveToPageCache()
-{
-}
-
-void WebFrameLoaderClient::didRestoreFromPageCache()
-{
-}
-
-void WebFrameLoaderClient::dispatchDidBecomeFrameset(bool)
-{
-}
-
-RetainPtr<WebFramePolicyListener> WebFrameLoaderClient::setUpPolicyListener(FramePolicyFunction function)
-{
- // FIXME: <rdar://5634381> We need to support multiple active policy listeners.
- [m_policyListener invalidate];
-
- m_policyListener = adoptNS([[WebFramePolicyListener alloc] initWithFrame:core(m_webFrame.get()) policyFunction:function]);
-
- return m_policyListener;
-}
-
-String WebFrameLoaderClient::userAgent(const KURL& url)
-{
- WebView *webView = getWebView(m_webFrame.get());
- ASSERT(webView);
-
- // We should never get here with nil for the WebView unless there is a bug somewhere else.
- // But if we do, it's better to return the empty string than just crashing on the spot.
- // Most other call sites are tolerant of nil because of Objective-C behavior, but this one
- // is not because the return value of _userAgentForURL is a const KURL&.
- if (!webView)
- return String("");
-
- return [webView _userAgentString];
-}
-
-static const MouseEvent* findMouseEvent(const Event* event)
-{
- for (const Event* e = event; e; e = e->underlyingEvent())
- if (e->isMouseEvent())
- return static_cast<const MouseEvent*>(e);
- return 0;
-}
-
-NSDictionary *WebFrameLoaderClient::actionDictionary(const NavigationAction& action, PassRefPtr<FormState> formState) const
-{
- unsigned modifierFlags = 0;
- const Event* event = action.event();
- if (const UIEventWithKeyState* keyStateEvent = findEventWithKeyState(const_cast<Event*>(event))) {
- if (keyStateEvent->ctrlKey())
- modifierFlags |= NSControlKeyMask;
- if (keyStateEvent->altKey())
- modifierFlags |= NSAlternateKeyMask;
- if (keyStateEvent->shiftKey())
- modifierFlags |= NSShiftKeyMask;
- if (keyStateEvent->metaKey())
- modifierFlags |= NSCommandKeyMask;
- }
-
- NSURL *originalURL = action.url();
-
- NSMutableDictionary *result = [NSMutableDictionary dictionaryWithObjectsAndKeys:
- [NSNumber numberWithInt:action.type()], WebActionNavigationTypeKey,
- [NSNumber numberWithInt:modifierFlags], WebActionModifierFlagsKey,
- originalURL, WebActionOriginalURLKey,
- nil];
-
- if (const MouseEvent* mouseEvent = findMouseEvent(event)) {
- WebElementDictionary *element = [[WebElementDictionary alloc]
- initWithHitTestResult:core(m_webFrame.get())->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation())];
- [result setObject:element forKey:WebActionElementKey];
- [element release];
-
- [result setObject:[NSNumber numberWithInt:mouseEvent->button()] forKey:WebActionButtonKey];
- }
-
- if (formState) {
- ASSERT(formState->form());
- [result setObject:kit(formState->form()) forKey:WebActionFormKey];
- }
-
- return result;
-}
-
-bool WebFrameLoaderClient::canCachePage() const
-{
- // We can only cache HTML pages right now
- return [[[m_webFrame.get() _dataSource] representation] isKindOfClass:[WebHTMLRepresentation class]];
-}
-
-PassRefPtr<Frame> WebFrameLoaderClient::createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
- const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- ASSERT(m_webFrame);
-
- WebFrameView *childView = [[WebFrameView alloc] init];
-
- RefPtr<Frame> result = [WebFrame _createSubframeWithOwnerElement:ownerElement frameName:name frameView:childView];
- [childView release];
-
- WebFrame *newFrame = kit(result.get());
-
- if ([newFrame _dataSource])
- [[newFrame _dataSource] _documentLoader]->setOverrideEncoding([[m_webFrame.get() _dataSource] _documentLoader]->overrideEncoding());
-
- // The creation of the frame may have run arbitrary JavaScript that removed it from the page already.
- if (!result->page())
- return 0;
-
- core(m_webFrame.get())->loader()->loadURLIntoChildFrame(url, referrer, result.get());
-
- // The frame's onload handler may have removed it from the document.
- if (!result->tree()->parent())
- return 0;
-
- return result.release();
-
- END_BLOCK_OBJC_EXCEPTIONS;
-
- return 0;
-}
-
-ObjectContentType WebFrameLoaderClient::objectContentType(const KURL& url, const String& mimeType, bool shouldPreferPlugInsForImages)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- String type = mimeType;
-
- if (type.isEmpty()) {
- // Try to guess the MIME type based off the extension.
- NSURL *URL = url;
- NSString *extension = [[URL path] pathExtension];
- if ([extension length] > 0) {
- type = WKGetMIMETypeForExtension(extension);
- if (type.isEmpty()) {
- // If no MIME type is specified, use a plug-in if we have one that can handle the extension.
- if (WebBasePluginPackage *package = [getWebView(m_webFrame.get()) _pluginForExtension:extension]) {
- if ([package isKindOfClass:[WebPluginPackage class]])
- return ObjectContentOtherPlugin;
-#if ENABLE(NETSCAPE_PLUGIN_API)
- else {
- ASSERT([package isKindOfClass:[WebNetscapePluginPackage class]]);
- return ObjectContentNetscapePlugin;
- }
-#endif
- }
- }
- }
- }
-
- if (type.isEmpty())
- return ObjectContentFrame; // Go ahead and hope that we can display the content.
-
- WebBasePluginPackage *package = [getWebView(m_webFrame.get()) _pluginForMIMEType:type];
- ObjectContentType plugInType = ObjectContentNone;
- if (package) {
-#if ENABLE(NETSCAPE_PLUGIN_API)
- if ([package isKindOfClass:[WebNetscapePluginPackage class]])
- plugInType = ObjectContentNetscapePlugin;
- else
-#endif
- {
- ASSERT([package isKindOfClass:[WebPluginPackage class]]);
- plugInType = ObjectContentOtherPlugin;
- }
- }
-
- if (MIMETypeRegistry::isSupportedImageMIMEType(type))
- return shouldPreferPlugInsForImages && plugInType != ObjectContentNone ? plugInType : ObjectContentImage;
-
- if (plugInType != ObjectContentNone)
- return plugInType;
-
- if ([m_webFrame->_private->webFrameView _viewClassForMIMEType:type])
- return ObjectContentFrame;
-
- return ObjectContentNone;
-
- END_BLOCK_OBJC_EXCEPTIONS;
-
- return ObjectContentNone;
-}
-
-static NSMutableArray* kit(const Vector<String>& vector)
-{
- unsigned len = vector.size();
- NSMutableArray* array = [NSMutableArray arrayWithCapacity:len];
- for (unsigned x = 0; x < len; x++)
- [array addObject:vector[x]];
- return array;
-}
-
-static String parameterValue(const Vector<String>& paramNames, const Vector<String>& paramValues, const String& name)
-{
- size_t size = paramNames.size();
- ASSERT(size == paramValues.size());
- for (size_t i = 0; i < size; ++i) {
- if (equalIgnoringCase(paramNames[i], name))
- return paramValues[i];
- }
- return String();
-}
-
-static NSView *pluginView(WebFrame *frame, WebPluginPackage *pluginPackage,
- NSArray *attributeNames, NSArray *attributeValues, NSURL *baseURL,
- DOMElement *element, BOOL loadManually)
-{
- WebHTMLView *docView = (WebHTMLView *)[[frame frameView] documentView];
- ASSERT([docView isKindOfClass:[WebHTMLView class]]);
-
- WebPluginController *pluginController = [docView _pluginController];
-
- // Store attributes in a dictionary so they can be passed to WebPlugins.
- NSMutableDictionary *attributes = [[NSMutableDictionary alloc] initWithObjects:attributeValues forKeys:attributeNames];
-
- [pluginPackage load];
- Class viewFactory = [pluginPackage viewFactory];
-
- NSView *view = nil;
- NSDictionary *arguments = nil;
-
- if ([viewFactory respondsToSelector:@selector(plugInViewWithArguments:)]) {
- arguments = [NSDictionary dictionaryWithObjectsAndKeys:
- baseURL, WebPlugInBaseURLKey,
- attributes, WebPlugInAttributesKey,
- pluginController, WebPlugInContainerKey,
- [NSNumber numberWithInt:loadManually ? WebPlugInModeFull : WebPlugInModeEmbed], WebPlugInModeKey,
- [NSNumber numberWithBool:!loadManually], WebPlugInShouldLoadMainResourceKey,
- element, WebPlugInContainingElementKey,
- nil];
- LOG(Plugins, "arguments:\n%@", arguments);
- } else if ([viewFactory respondsToSelector:@selector(pluginViewWithArguments:)]) {
- arguments = [NSDictionary dictionaryWithObjectsAndKeys:
- baseURL, WebPluginBaseURLKey,
- attributes, WebPluginAttributesKey,
- pluginController, WebPluginContainerKey,
- element, WebPlugInContainingElementKey,
- nil];
- LOG(Plugins, "arguments:\n%@", arguments);
- }
-
- view = [WebPluginController plugInViewWithArguments:arguments fromPluginPackage:pluginPackage];
- [attributes release];
- return view;
-}
-
-class PluginWidget : public PluginViewBase {
-public:
- PluginWidget(NSView *view = 0)
- : PluginViewBase(view)
- {
- }
-
-private:
- virtual void invalidateRect(const IntRect& rect)
- {
- [platformWidget() setNeedsDisplayInRect:rect];
- }
-};
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-class NetscapePluginWidget : public PluginWidget {
-public:
- NetscapePluginWidget(WebBaseNetscapePluginView *view)
- : PluginWidget(view)
- {
- }
-
-#if USE(ACCELERATED_COMPOSITING)
- virtual PlatformLayer* platformLayer() const
- {
- return [(WebBaseNetscapePluginView *)platformWidget() pluginLayer];
- }
-#endif
-
- virtual bool getFormValue(String& value)
- {
- NSString* nsValue = 0;
- if ([(WebBaseNetscapePluginView *)platformWidget() getFormValue:&nsValue]) {
- if (!nsValue)
- return false;
- value = String(nsValue);
- [nsValue release];
- return true;
- }
- return false;
- }
-
- virtual void handleEvent(Event* event)
- {
- Frame* frame = Frame::frameForWidget(this);
- if (!frame)
- return;
-
- NSEvent* currentNSEvent = frame->eventHandler()->currentNSEvent();
- if (event->type() == eventNames().mousemoveEvent)
- [(WebBaseNetscapePluginView *)platformWidget() handleMouseMoved:currentNSEvent];
- else if (event->type() == eventNames().mouseoverEvent)
- [(WebBaseNetscapePluginView *)platformWidget() handleMouseEntered:currentNSEvent];
- else if (event->type() == eventNames().mouseoutEvent)
- [(WebBaseNetscapePluginView *)platformWidget() handleMouseExited:currentNSEvent];
- else if (event->type() == eventNames().contextmenuEvent)
- event->setDefaultHandled(); // We don't know if the plug-in has handled mousedown event by displaying a context menu, so we never want WebKit to show a default one.
- }
-
- virtual void clipRectChanged()
- {
- // Changing the clip rect doesn't affect the view hierarchy, so the plugin must be told about the change directly.
- [(WebBaseNetscapePluginView *)platformWidget() updateAndSetWindow];
- }
-
-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)
-#define NETSCAPE_PLUGIN_VIEW WebHostedNetscapePluginView
-#else
-#define NETSCAPE_PLUGIN_VIEW WebNetscapePluginView
-#endif
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
-
-PassRefPtr<Widget> WebFrameLoaderClient::createPlugin(const IntSize& size, HTMLPlugInElement* element, const KURL& url,
- const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- ASSERT(paramNames.size() == paramValues.size());
-
- int errorCode = 0;
-
- WebView *webView = getWebView(m_webFrame.get());
- SEL selector = @selector(webView:plugInViewWithArguments:);
-
- Document* document = core(m_webFrame.get())->document();
- NSURL *baseURL = document->baseURL();
- NSURL *pluginURL = url;
-
- // <rdar://problem/8366089>: AppleConnect has a bug where it does not
- // understand the parameter names specified in the <object> element that
- // embeds its plug-in. This site-specific hack works around the issue by
- // converting the parameter names to lowercase before passing them to the
- // plug-in.
- Frame* frame = core(m_webFrame.get());
- NSMutableArray *attributeKeys = kit(paramNames);
- if (frame && frame->settings()->needsSiteSpecificQuirks() && equalIgnoringCase(mimeType, "application/x-snkp")) {
- for (NSUInteger i = 0; i < [attributeKeys count]; ++i)
- [attributeKeys replaceObjectAtIndex:i withObject:[[attributeKeys objectAtIndex:i] lowercaseString]];
- }
-
- if ([[webView UIDelegate] respondsToSelector:selector]) {
- NSMutableDictionary *attributes = [[NSMutableDictionary alloc] initWithObjects:kit(paramValues) forKeys:attributeKeys];
- NSDictionary *arguments = [[NSDictionary alloc] initWithObjectsAndKeys:
- attributes, WebPlugInAttributesKey,
- [NSNumber numberWithInt:loadManually ? WebPlugInModeFull : WebPlugInModeEmbed], WebPlugInModeKey,
- [NSNumber numberWithBool:!loadManually], WebPlugInShouldLoadMainResourceKey,
- kit(element), WebPlugInContainingElementKey,
- // FIXME: We should be passing base URL, see <https://bugs.webkit.org/show_bug.cgi?id=35215>.
- pluginURL, WebPlugInBaseURLKey, // pluginURL might be nil, so add it last
- nil];
-
- NSView *view = CallUIDelegate(webView, selector, arguments);
-
- [attributes release];
- [arguments release];
-
- if (view)
- return adoptRef(new PluginWidget(view));
- }
-
- NSString *MIMEType;
- WebBasePluginPackage *pluginPackage;
- if (mimeType.isEmpty()) {
- MIMEType = nil;
- pluginPackage = nil;
- } else {
- MIMEType = mimeType;
- pluginPackage = [webView _pluginForMIMEType:mimeType];
- }
-
- NSString *extension = [[pluginURL path] pathExtension];
- if (!pluginPackage && [extension length] && ![MIMEType length]) {
- pluginPackage = [webView _pluginForExtension:extension];
- if (pluginPackage) {
- NSString *newMIMEType = [pluginPackage MIMETypeForExtension:extension];
- if ([newMIMEType length] != 0)
- MIMEType = newMIMEType;
- }
- }
-
- NSView *view = nil;
-
- if (pluginPackage) {
- if (WKShouldBlockPlugin([pluginPackage bundleIdentifier], [pluginPackage bundleVersion])) {
- errorCode = WebKitErrorBlockedPlugInVersion;
- if (element->renderer()->isEmbeddedObject())
- toRenderEmbeddedObject(element->renderer())->setPluginUnavailabilityReason(RenderEmbeddedObject::InsecurePluginVersion);
- } else {
- if ([pluginPackage isKindOfClass:[WebPluginPackage class]])
- view = pluginView(m_webFrame.get(), (WebPluginPackage *)pluginPackage, attributeKeys, kit(paramValues), baseURL, kit(element), loadManually);
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
- else if ([pluginPackage isKindOfClass:[WebNetscapePluginPackage class]]) {
- WebBaseNetscapePluginView *pluginView = [[[NETSCAPE_PLUGIN_VIEW alloc]
- initWithFrame:NSMakeRect(0, 0, size.width(), size.height())
- pluginPackage:(WebNetscapePluginPackage *)pluginPackage
- URL:pluginURL
- baseURL:baseURL
- MIMEType:MIMEType
- attributeKeys:attributeKeys
- attributeValues:kit(paramValues)
- loadManually:loadManually
- element:element] autorelease];
-
- return adoptRef(new NetscapePluginWidget(pluginView));
- }
-#endif
- }
- } else
- errorCode = WebKitErrorCannotFindPlugIn;
-
- if (!errorCode && !view)
- errorCode = WebKitErrorCannotLoadPlugIn;
-
- if (errorCode && m_webFrame) {
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(webView);
- if (implementations->plugInFailedWithErrorFunc) {
- KURL pluginPageURL = document->completeURL(stripLeadingAndTrailingHTMLSpaces(parameterValue(paramNames, paramValues, "pluginspage")));
- if (!pluginPageURL.protocolIsInHTTPFamily())
- pluginPageURL = KURL();
- NSString *pluginName = pluginPackage ? (NSString *)[pluginPackage pluginInfo].name : nil;
-
- NSError *error = [[NSError alloc] _initWithPluginErrorCode:errorCode
- contentURL:pluginURL pluginPageURL:pluginPageURL pluginName:pluginName MIMEType:MIMEType];
- CallResourceLoadDelegate(implementations->plugInFailedWithErrorFunc, [m_webFrame.get() webView],
- @selector(webView:plugInFailedWithError:dataSource:), error, [m_webFrame.get() _dataSource]);
- [error release];
- }
-
- return 0;
- }
-
- ASSERT(view);
- return adoptRef(new PluginWidget(view));
-
- END_BLOCK_OBJC_EXCEPTIONS;
-
- return 0;
-}
-
-void WebFrameLoaderClient::recreatePlugin(Widget*)
-{
-}
-
-void WebFrameLoaderClient::redirectDataToPlugin(Widget* pluginWidget)
-{
- if (!pluginWidget)
- return;
-
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- WebHTMLRepresentation *representation = (WebHTMLRepresentation *)[[m_webFrame.get() _dataSource] representation];
-
- NSView *pluginView = pluginWidget->platformWidget();
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
- if ([pluginView isKindOfClass:[NETSCAPE_PLUGIN_VIEW class]])
- [representation _redirectDataToManualLoader:(NETSCAPE_PLUGIN_VIEW *)pluginView forPluginView:pluginView];
- else {
-#else
- {
-#endif
- WebHTMLView *documentView = (WebHTMLView *)[[m_webFrame.get() frameView] documentView];
- ASSERT([documentView isKindOfClass:[WebHTMLView class]]);
- [representation _redirectDataToManualLoader:[documentView _pluginController] forPluginView:pluginView];
- }
-
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-PassRefPtr<Widget> WebFrameLoaderClient::createJavaAppletWidget(const IntSize& size, HTMLAppletElement* element, const KURL& baseURL,
- const Vector<String>& paramNames, const Vector<String>& paramValues)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- NSView *view = nil;
-
- NSString *MIMEType = @"application/x-java-applet";
-
- WebView *webView = getWebView(m_webFrame.get());
-
- WebBasePluginPackage *pluginPackage = [webView _pluginForMIMEType:MIMEType];
-
- int errorCode = WebKitErrorJavaUnavailable;
-
- if (pluginPackage) {
- if (WKShouldBlockPlugin([pluginPackage bundleIdentifier], [pluginPackage bundleVersion])) {
- errorCode = WebKitErrorBlockedPlugInVersion;
- if (element->renderer()->isEmbeddedObject())
- toRenderEmbeddedObject(element->renderer())->setPluginUnavailabilityReason(RenderEmbeddedObject::InsecurePluginVersion);
- } else {
- #if ENABLE(NETSCAPE_PLUGIN_API)
- if ([pluginPackage isKindOfClass:[WebNetscapePluginPackage class]]) {
- view = [[[NETSCAPE_PLUGIN_VIEW alloc] initWithFrame:NSMakeRect(0, 0, size.width(), size.height())
- pluginPackage:(WebNetscapePluginPackage *)pluginPackage
- URL:nil
- baseURL:baseURL
- MIMEType:MIMEType
- attributeKeys:kit(paramNames)
- attributeValues:kit(paramValues)
- loadManually:NO
- element:element] autorelease];
- if (view)
- return adoptRef(new NetscapePluginWidget(static_cast<WebBaseNetscapePluginView *>(view)));
- }
- #endif
- }
- }
-
- if (!view) {
- WebResourceDelegateImplementationCache* implementations = WebViewGetResourceLoadDelegateImplementations(getWebView(m_webFrame.get()));
- if (implementations->plugInFailedWithErrorFunc) {
- NSString *pluginName = pluginPackage ? (NSString *)[pluginPackage pluginInfo].name : nil;
- NSError *error = [[NSError alloc] _initWithPluginErrorCode:errorCode contentURL:nil pluginPageURL:nil pluginName:pluginName MIMEType:MIMEType];
- CallResourceLoadDelegate(implementations->plugInFailedWithErrorFunc, [m_webFrame.get() webView],
- @selector(webView:plugInFailedWithError:dataSource:), error, [m_webFrame.get() _dataSource]);
- [error release];
- }
- }
-
- END_BLOCK_OBJC_EXCEPTIONS;
-
- return 0;
-}
-
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
-PassRefPtr<Widget> WebFrameLoaderClient::createMediaPlayerProxyPlugin(const IntSize& size, HTMLMediaElement* element, const KURL& url,
- const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- ASSERT(paramNames.size() == paramValues.size());
- ASSERT(mimeType);
-
- int errorCode = 0;
- WebView *webView = getWebView(m_webFrame.get());
- NSURL *URL = url;
-
- SEL selector = @selector(webView:plugInViewWithArguments:);
-
- if ([[webView UIDelegate] respondsToSelector:selector]) {
- NSMutableDictionary *attributes = [[NSMutableDictionary alloc] initWithObjects:kit(paramValues) forKeys:kit(paramNames)];
- NSDictionary *arguments = [[NSDictionary alloc] initWithObjectsAndKeys:
- attributes, WebPlugInAttributesKey,
- [NSNumber numberWithInt:WebPlugInModeEmbed], WebPlugInModeKey,
- [NSNumber numberWithBool:YES], WebPlugInShouldLoadMainResourceKey,
- kit(element), WebPlugInContainingElementKey,
- URL, WebPlugInBaseURLKey, // URL might be nil, so add it last
- nil];
-
- NSView *view = CallUIDelegate(webView, selector, arguments);
-
- [attributes release];
- [arguments release];
-
- if (view)
- return adoptRef(new PluginWidget(view));
- }
-
- WebBasePluginPackage *pluginPackage = [webView _videoProxyPluginForMIMEType:mimeType];
- Document* document = core(m_webFrame.get())->document();
- NSURL *baseURL = document->baseURL();
- NSView *view = nil;
-
- if (pluginPackage) {
- if ([pluginPackage isKindOfClass:[WebPluginPackage class]])
- view = pluginView(m_webFrame.get(), (WebPluginPackage *)pluginPackage, kit(paramNames), kit(paramValues), baseURL, kit(element), false);
- } else
- errorCode = WebKitErrorCannotFindPlugIn;
-
- if (!errorCode && !view)
- errorCode = WebKitErrorCannotLoadPlugIn;
-
- if (errorCode) {
- NSError *error = [[NSError alloc] _initWithPluginErrorCode:errorCode
- contentURL:URL pluginPageURL:nil pluginName:[pluginPackage pluginInfo].name MIMEType:mimeType];
- WebNullPluginView *nullView = [[[WebNullPluginView alloc] initWithFrame:NSMakeRect(0, 0, size.width(), size.height())
- error:error DOMElement:kit(element)] autorelease];
- view = nullView;
- [error release];
- }
-
- ASSERT(view);
- return adoptRef(new PluginWidget(view));
-
- END_BLOCK_OBJC_EXCEPTIONS;
-
- return 0;
-}
-
-void WebFrameLoaderClient::hideMediaPlayerProxyPlugin(Widget* widget)
-{
- [WebPluginController pluginViewHidden:widget->platformWidget()];
-}
-
-void WebFrameLoaderClient::showMediaPlayerProxyPlugin(Widget* widget)
-{
- [WebPluginController addPlugInView:widget->platformWidget()];
-}
-
-#endif // ENABLE(PLUGIN_PROXY_FOR_VIDEO)
-
-String WebFrameLoaderClient::overrideMediaType() const
-{
- NSString* overrideType = [getWebView(m_webFrame.get()) mediaStyle];
- if (overrideType)
- return overrideType;
- return String();
-}
-
-void WebFrameLoaderClient::documentElementAvailable() {
-}
-
-void WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld* world)
-{
- WebView *webView = getWebView(m_webFrame.get());
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(webView);
-
- if (implementations->didClearWindowObjectForFrameInScriptWorldFunc) {
- CallFrameLoadDelegate(implementations->didClearWindowObjectForFrameInScriptWorldFunc,
- webView, @selector(webView:didClearWindowObjectForFrame:inScriptWorld:), m_webFrame.get(), [WebScriptWorld findOrCreateWorld:world]);
- return;
- }
-
- if (world != mainThreadNormalWorld())
- return;
-
- Frame *frame = core(m_webFrame.get());
- ScriptController *script = frame->script();
-
-#if JSC_OBJC_API_ENABLED
- if (implementations->didCreateJavaScriptContextForFrameFunc) {
- CallFrameLoadDelegate(implementations->didCreateJavaScriptContextForFrameFunc, webView, @selector(webView:didCreateJavaScriptContext:forFrame:),
- script->javaScriptContext(), m_webFrame.get());
- } else if (implementations->didClearWindowObjectForFrameFunc) {
-#else
- if (implementations->didClearWindowObjectForFrameFunc) {
-#endif
- CallFrameLoadDelegate(implementations->didClearWindowObjectForFrameFunc, webView, @selector(webView:didClearWindowObject:forFrame:),
- script->windowScriptObject(), m_webFrame.get());
- } else if (implementations->windowScriptObjectAvailableFunc) {
- CallFrameLoadDelegate(implementations->windowScriptObjectAvailableFunc, webView, @selector(webView:windowScriptObjectAvailable:),
- script->windowScriptObject());
- }
-
- if ([webView scriptDebugDelegate]) {
- [m_webFrame.get() _detachScriptDebugger];
- [m_webFrame.get() _attachScriptDebugger];
- }
-}
-
-void WebFrameLoaderClient::registerForIconNotification(bool listen)
-{
-#if ENABLE(ICONDATABASE)
- [[m_webFrame.get() webView] _registerForIconNotification:listen];
-#endif
-}
-
-void WebFrameLoaderClient::didPerformFirstNavigation() const
-{
- WebPreferences *preferences = [[m_webFrame.get() webView] preferences];
- if ([preferences automaticallyDetectsCacheModel] && [preferences cacheModel] < WebCacheModelDocumentBrowser)
- [preferences setCacheModel:WebCacheModelDocumentBrowser];
-}
-
-PassRefPtr<FrameNetworkingContext> WebFrameLoaderClient::createNetworkingContext()
-{
- return WebFrameNetworkingContext::create(core(m_webFrame.get()));
-}
-
-@implementation WebFramePolicyListener
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
-}
-
-- (id)initWithFrame:(Frame*)frame policyFunction:(FramePolicyFunction)policyFunction
-{
- self = [self init];
- if (!self)
- return nil;
-
- _frame = frame;
- _policyFunction = policyFunction;
-
- return self;
-}
-
-- (void)invalidate
-{
- _frame = nullptr;
-}
-
-- (void)dealloc
-{
- if (WebCoreObjCScheduleDeallocateOnMainThread([WebFramePolicyListener class], self))
- return;
-
- [super dealloc];
-}
-
-- (void)receivedPolicyDecision:(PolicyAction)action
-{
- RefPtr<Frame> frame = _frame.release();
- if (!frame)
- return;
-
- FramePolicyFunction policyFunction = _policyFunction;
- _policyFunction = nullptr;
-
- ASSERT(policyFunction);
- (frame->loader()->policyChecker()->*policyFunction)(action);
-}
-
-- (void)ignore
-{
- [self receivedPolicyDecision:PolicyIgnore];
-}
-
-- (void)download
-{
- [self receivedPolicyDecision:PolicyDownload];
-}
-
-- (void)use
-{
- [self receivedPolicyDecision:PolicyUse];
-}
-
-- (void)continue
-{
- [self receivedPolicyDecision:PolicyUse];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm b/Source/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm
deleted file mode 100644
index b70072dc8..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebFrameNetworkingContext.mm
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2013 Apple 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 INC. 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 INC. 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 "WebViewPrivate.h"
-#include "WebFrameInternal.h"
-#include <WebFrameNetworkingContext.h>
-#include <WebCore/FrameLoader.h>
-#include <WebCore/FrameLoaderClient.h>
-#include <WebCore/NetworkStorageSession.h>
-#include <WebCore/Page.h>
-#include <WebCore/ResourceError.h>
-#include <WebCore/Settings.h>
-
-using namespace WebCore;
-
-static NetworkStorageSession* privateSession;
-
-void WebFrameNetworkingContext::ensurePrivateBrowsingSession()
-{
- ASSERT(isMainThread());
-
- if (privateSession)
- return;
-
- privateSession = NetworkStorageSession::createPrivateBrowsingSession([[NSBundle mainBundle] bundleIdentifier]).leakPtr();
-}
-
-void WebFrameNetworkingContext::destroyPrivateBrowsingSession()
-{
- ASSERT(isMainThread());
-
- delete privateSession;
- privateSession = 0;
-}
-
-bool WebFrameNetworkingContext::needsSiteSpecificQuirks() const
-{
- return frame() && frame()->settings() && frame()->settings()->needsSiteSpecificQuirks();
-}
-
-bool WebFrameNetworkingContext::localFileContentSniffingEnabled() const
-{
- return frame() && frame()->settings() && frame()->settings()->localFileContentSniffingEnabled();
-}
-
-SchedulePairHashSet* WebFrameNetworkingContext::scheduledRunLoopPairs() const
-{
- if (!frame() || !frame()->page())
- return 0;
- return frame()->page()->scheduledRunLoopPairs();
-}
-
-RetainPtr<CFDataRef> WebFrameNetworkingContext::sourceApplicationAuditData() const
-{
- if (!frame() || !frame()->page())
- return 0;
-
- WebView *webview = kit(frame()->page());
-
- if (!webview)
- return 0;
- return reinterpret_cast<CFDataRef>(webview._sourceApplicationAuditData);
-}
-
-ResourceError WebFrameNetworkingContext::blockedError(const ResourceRequest& request) const
-{
- return frame()->loader()->client()->blockedError(request);
-}
-
-NetworkStorageSession& WebFrameNetworkingContext::storageSession() const
-{
- ASSERT(isMainThread());
-
- if (frame() && frame()->settings() && frame()->settings()->privateBrowsingEnabled())
- return *privateSession;
-
- return NetworkStorageSession::defaultStorageSession();
-}
diff --git a/Source/WebKit/mac/WebCoreSupport/WebGeolocationClient.mm b/Source/WebKit/mac/WebCoreSupport/WebGeolocationClient.mm
deleted file mode 100644
index 27e5babfe..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebGeolocationClient.mm
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2009, 2012 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebGeolocationClient.h"
-
-#if ENABLE(GEOLOCATION)
-
-#import "WebDelegateImplementationCaching.h"
-#import "WebFrameInternal.h"
-#import "WebGeolocationPositionInternal.h"
-#import "WebSecurityOriginInternal.h"
-#import "WebUIDelegatePrivate.h"
-#import "WebViewInternal.h"
-#import <WebCore/BlockExceptions.h>
-#import <WebCore/Document.h>
-#import <WebCore/Frame.h>
-#import <WebCore/Geolocation.h>
-
-using namespace WebCore;
-
-@interface WebGeolocationPolicyListener : NSObject <WebAllowDenyPolicyListener>
-{
- RefPtr<Geolocation> _geolocation;
-}
-- (id)initWithGeolocation:(Geolocation*)geolocation;
-@end
-
-WebGeolocationClient::WebGeolocationClient(WebView *webView)
- : m_webView(webView)
-{
-}
-
-void WebGeolocationClient::geolocationDestroyed()
-{
- delete this;
-}
-
-void WebGeolocationClient::startUpdating()
-{
- [[m_webView _geolocationProvider] registerWebView:m_webView];
-}
-
-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()
-{
- return core([[m_webView _geolocationProvider] lastPosition]);
-}
-
-@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
-
-#endif // ENABLE(GEOLOCATION)
diff --git a/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.h b/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.h
deleted file mode 100644
index 97b176311..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebCore/IconDatabaseClient.h>
-#import <wtf/Forward.h>
-
-class WebIconDatabaseClient : public WebCore::IconDatabaseClient {
-public:
- virtual void didRemoveAllIcons() OVERRIDE;
- virtual void didImportIconURLForPageURL(const String&) OVERRIDE;
- virtual void didImportIconDataForPageURL(const String&) OVERRIDE;
- virtual void didChangeIconForPageURL(const String&) OVERRIDE;
- virtual void didFinishURLImport() OVERRIDE;
-};
diff --git a/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm b/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm
deleted file mode 100644
index 85ec2abdb..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebIconDatabaseClient.h"
-
-#import "WebIconDatabaseInternal.h"
-#import <wtf/text/WTFString.h>
-
-#if ENABLE(ICONDATABASE)
-
-void WebIconDatabaseClient::didRemoveAllIcons()
-{
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- [[WebIconDatabase sharedIconDatabase] _sendDidRemoveAllIconsNotification];
- [pool drain];
-}
-
-void WebIconDatabaseClient::didImportIconURLForPageURL(const String& pageURL)
-{
- // This is a quick notification that is likely to fire in a rapidly iterating loop
- // Therefore we let WebCore handle autorelease by draining its pool "from time to time"
- // instead of us doing it every iteration
- [[WebIconDatabase sharedIconDatabase] _sendNotificationForURL:pageURL];
-}
-
-void WebIconDatabaseClient::didImportIconDataForPageURL(const String& pageURL)
-{
- // WebKit1 only has a single "icon did change" notification.
- didImportIconURLForPageURL(pageURL);
-}
-void WebIconDatabaseClient::didChangeIconForPageURL(const String& pageURL)
-{
- // WebKit1 only has a single "icon did change" notification.
- didImportIconURLForPageURL(pageURL);
-}
-
-void WebIconDatabaseClient::didFinishURLImport()
-{
-}
-
-#endif // ENABLE(ICONDATABASE)
diff --git a/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h b/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h
deleted file mode 100644
index 2051e78b2..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebCore/InspectorClient.h>
-#import <WebCore/InspectorFrontendChannel.h>
-#import <WebCore/InspectorFrontendClientLocal.h>
-
-#import <wtf/Forward.h>
-#import <wtf/HashMap.h>
-#import <wtf/RetainPtr.h>
-#import <wtf/text/StringHash.h>
-#import <wtf/text/WTFString.h>
-
-#ifdef __OBJC__
-@class NSURL;
-@class WebInspectorWindowController;
-@class WebNodeHighlighter;
-@class WebView;
-#else
-class NSURL;
-class WebInspectorWindowController;
-class WebNodeHighlighter;
-class WebView;
-#endif
-
-namespace WebCore {
-
-class Frame;
-class Page;
-
-}
-
-class WebInspectorFrontendClient;
-
-class WebInspectorClient : public WebCore::InspectorClient, public WebCore::InspectorFrontendChannel {
-public:
- explicit WebInspectorClient(WebView *);
-
- virtual void inspectorDestroyed() OVERRIDE;
-
- virtual WebCore::InspectorFrontendChannel* openInspectorFrontend(WebCore::InspectorController*) OVERRIDE;
- virtual void closeInspectorFrontend() OVERRIDE;
- virtual void bringFrontendToFront() OVERRIDE;
- virtual void didResizeMainFrame(WebCore::Frame*) OVERRIDE;
-
- virtual void highlight() OVERRIDE;
- virtual void hideHighlight() OVERRIDE;
-
- virtual bool sendMessageToFrontend(const String&) OVERRIDE;
-
- bool inspectorStartsAttached();
- void setInspectorStartsAttached(bool);
-
- bool inspectorAttachDisabled();
- void setInspectorAttachDisabled(bool);
-
- void releaseFrontend();
-
-private:
- PassOwnPtr<WebCore::InspectorFrontendClientLocal::Settings> createFrontendSettings();
-
- WebView *m_webView;
- RetainPtr<WebNodeHighlighter> m_highlighter;
- WebCore::Page* m_frontendPage;
- WebInspectorFrontendClient* m_frontendClient;
-};
-
-
-class WebInspectorFrontendClient : public WebCore::InspectorFrontendClientLocal {
-public:
- WebInspectorFrontendClient(WebView*, WebInspectorWindowController*, WebCore::InspectorController*, WebCore::Page*, PassOwnPtr<Settings>);
-
- void attachAvailabilityChanged(bool);
-
- virtual void frontendLoaded();
-
- virtual String localizedStringsURL();
-
- virtual void bringToFront();
- virtual void closeWindow();
- virtual void disconnectFromBackend();
-
- virtual void attachWindow(DockSide);
- virtual void detachWindow();
-
- virtual void setAttachedWindowHeight(unsigned height);
- virtual void setAttachedWindowWidth(unsigned height);
- virtual void setToolbarHeight(unsigned) OVERRIDE;
-
- virtual void inspectedURLChanged(const String& newURL);
-
-private:
- void updateWindowTitle() const;
-
- virtual bool canSave() OVERRIDE { return true; }
- virtual void save(const String& url, const String& content, bool forceSaveAs) OVERRIDE;
- virtual void append(const String& url, const String& content) OVERRIDE;
-
- WebView* m_inspectedWebView;
- RetainPtr<WebInspectorWindowController> m_windowController;
- String m_inspectedURL;
- HashMap<String, RetainPtr<NSURL>> m_suggestedToActualURLMap;
-};
diff --git a/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm b/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm
deleted file mode 100644
index 21c36579d..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm
+++ /dev/null
@@ -1,785 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebInspectorClient.h"
-
-#import "DOMNodeInternal.h"
-#import "WebDelegateImplementationCaching.h"
-#import "WebFrameInternal.h"
-#import "WebFrameView.h"
-#import "WebInspector.h"
-#import "WebInspectorFrontend.h"
-#import "WebInspectorPrivate.h"
-#import "WebLocalizableStringsInternal.h"
-#import "WebNodeHighlighter.h"
-#import "WebPolicyDelegate.h"
-#import "WebQuotaManager.h"
-#import "WebSecurityOriginPrivate.h"
-#import "WebUIDelegate.h"
-#import "WebViewInternal.h"
-#import <algorithm>
-#import <WebCore/Frame.h>
-#import <WebCore/InspectorController.h>
-#import <WebCore/InspectorFrontendClient.h>
-#import <WebCore/Page.h>
-#import <WebCore/ScriptController.h>
-#import <WebCore/ScriptValue.h>
-#import <WebCore/SoftLinking.h>
-#import <WebKit/DOMExtensions.h>
-#import <WebKitSystemInterface.h>
-#import <wtf/PassOwnPtr.h>
-
-SOFT_LINK_STAGED_FRAMEWORK(WebInspectorUI, PrivateFrameworks, A)
-
-// The margin from the top and right of the dock button (same as the full screen button).
-static const CGFloat dockButtonMargin = 3;
-
-using namespace WebCore;
-
-@interface NSWindow (AppKitDetails)
-- (NSCursor *)_cursorForResizeDirection:(NSInteger)direction;
-- (NSRect)_customTitleFrame;
-@end
-
-@interface WebInspectorWindow : NSWindow {
-@public
- RetainPtr<NSButton> _dockButton;
-}
-@end
-
-@implementation WebInspectorWindow
-
-- (NSCursor *)_cursorForResizeDirection:(NSInteger)direction
-{
- // Don't show a resize cursor for the northeast (top right) direction if the dock button is visible.
- // This matches what happens when the full screen button is visible.
- if (direction == 1 && ![_dockButton isHidden])
- return nil;
- return [super _cursorForResizeDirection:direction];
-}
-
-- (NSRect)_customTitleFrame
-{
- // Adjust the title frame if needed to prevent it from intersecting the dock button.
- NSRect titleFrame = [super _customTitleFrame];
- NSRect dockButtonFrame = _dockButton.get().frame;
- if (NSMaxX(titleFrame) > NSMinX(dockButtonFrame) - dockButtonMargin)
- titleFrame.size.width -= (NSMaxX(titleFrame) - NSMinX(dockButtonFrame)) + dockButtonMargin;
- return titleFrame;
-}
-
-@end
-
-@interface WebInspectorWindowController : NSWindowController <NSWindowDelegate> {
-@private
- RetainPtr<WebView> _inspectedWebView;
- RetainPtr<NSButton> _dockButton;
- WebView *_webView;
- WebInspectorFrontendClient* _frontendClient;
- WebInspectorClient* _inspectorClient;
- BOOL _attachedToInspectedWebView;
- BOOL _shouldAttach;
- BOOL _visible;
- BOOL _destroyingInspectorView;
-}
-- (id)initWithInspectedWebView:(WebView *)webView;
-- (NSString *)inspectorPagePath;
-- (WebView *)webView;
-- (void)attach;
-- (void)detach;
-- (BOOL)attached;
-- (void)setFrontendClient:(WebInspectorFrontendClient*)frontendClient;
-- (void)setInspectorClient:(WebInspectorClient*)inspectorClient;
-- (WebInspectorClient*)inspectorClient;
-- (void)setAttachedWindowHeight:(unsigned)height;
-- (void)setDockingUnavailable:(BOOL)unavailable;
-- (void)destroyInspectorView:(bool)notifyInspectorController;
-@end
-
-
-// MARK: -
-
-WebInspectorClient::WebInspectorClient(WebView *webView)
- : m_webView(webView)
- , m_highlighter(adoptNS([[WebNodeHighlighter alloc] initWithInspectedWebView:webView]))
- , m_frontendPage(0)
- , m_frontendClient(0)
-{
-}
-
-void WebInspectorClient::inspectorDestroyed()
-{
- closeInspectorFrontend();
- delete this;
-}
-
-InspectorFrontendChannel* WebInspectorClient::openInspectorFrontend(InspectorController* inspectorController)
-{
- RetainPtr<WebInspectorWindowController> windowController = adoptNS([[WebInspectorWindowController alloc] initWithInspectedWebView:m_webView]);
- [windowController.get() setInspectorClient:this];
-
- m_frontendPage = core([windowController.get() webView]);
- OwnPtr<WebInspectorFrontendClient> frontendClient = adoptPtr(new WebInspectorFrontendClient(m_webView, windowController.get(), inspectorController, m_frontendPage, createFrontendSettings()));
- m_frontendClient = frontendClient.get();
- RetainPtr<WebInspectorFrontend> webInspectorFrontend = adoptNS([[WebInspectorFrontend alloc] initWithFrontendClient:frontendClient.get()]);
- [[m_webView inspector] setFrontend:webInspectorFrontend.get()];
- m_frontendPage->inspectorController()->setInspectorFrontendClient(frontendClient.release());
- return this;
-}
-
-void WebInspectorClient::closeInspectorFrontend()
-{
- if (m_frontendClient)
- m_frontendClient->disconnectFromBackend();
-}
-
-void WebInspectorClient::bringFrontendToFront()
-{
- m_frontendClient->bringToFront();
-}
-
-void WebInspectorClient::didResizeMainFrame(Frame*)
-{
- if (m_frontendClient)
- m_frontendClient->attachAvailabilityChanged(m_frontendClient->canAttachWindow() && !inspectorAttachDisabled());
-}
-
-void WebInspectorClient::highlight()
-{
- [m_highlighter.get() highlight];
-}
-
-void WebInspectorClient::hideHighlight()
-{
- [m_highlighter.get() hideHighlight];
-}
-
-void WebInspectorClient::releaseFrontend()
-{
- m_frontendClient = 0;
- m_frontendPage = 0;
-}
-
-WebInspectorFrontendClient::WebInspectorFrontendClient(WebView* inspectedWebView, WebInspectorWindowController* windowController, InspectorController* inspectorController, Page* frontendPage, WTF::PassOwnPtr<Settings> settings)
- : InspectorFrontendClientLocal(inspectorController, frontendPage, settings)
- , m_inspectedWebView(inspectedWebView)
- , m_windowController(windowController)
-{
- [windowController setFrontendClient:this];
-}
-
-void WebInspectorFrontendClient::attachAvailabilityChanged(bool available)
-{
- setDockingUnavailable(!available);
- [m_windowController.get() setDockingUnavailable:!available];
-}
-
-void WebInspectorFrontendClient::frontendLoaded()
-{
- [m_windowController.get() showWindow:nil];
- if ([m_windowController.get() attached])
- restoreAttachedWindowHeight();
-
- InspectorFrontendClientLocal::frontendLoaded();
-
- WebFrame *frame = [m_inspectedWebView mainFrame];
-
- WebFrameLoadDelegateImplementationCache* implementations = WebViewGetFrameLoadDelegateImplementations(m_inspectedWebView);
- if (implementations->didClearInspectorWindowObjectForFrameFunc)
- CallFrameLoadDelegate(implementations->didClearInspectorWindowObjectForFrameFunc, m_inspectedWebView,
- @selector(webView:didClearInspectorWindowObject:forFrame:), [frame windowObject], frame);
-
- bool attached = [m_windowController.get() attached];
- setAttachedWindow(attached ? DOCKED_TO_BOTTOM : UNDOCKED);
-}
-
-static bool useWebKitWebInspector()
-{
- // Call the soft link framework function to dlopen it, then [NSBundle bundleWithIdentifier:] will work.
- WebInspectorUILibrary();
-
- if (![[NSBundle bundleWithIdentifier:@"com.apple.WebInspectorUI"] pathForResource:@"Main" ofType:@"html"])
- return true;
-
- if (![[NSBundle bundleWithIdentifier:@"com.apple.WebCore"] pathForResource:@"inspector" ofType:@"html" inDirectory:@"inspector"])
- return false;
-
- return [[NSUserDefaults standardUserDefaults] boolForKey:@"UseWebKitWebInspector"];
-}
-
-String WebInspectorFrontendClient::localizedStringsURL()
-{
- NSBundle *bundle = useWebKitWebInspector() ? [NSBundle bundleWithIdentifier:@"com.apple.WebCore"] : [NSBundle bundleWithIdentifier:@"com.apple.WebInspectorUI"];
- NSString *path = [bundle pathForResource:@"localizedStrings" ofType:@"js"];
- if ([path length])
- return [[NSURL fileURLWithPath:path] absoluteString];
- return String();
-}
-
-void WebInspectorFrontendClient::bringToFront()
-{
- updateWindowTitle();
-
- [m_windowController.get() showWindow:nil];
-
- // Use the window from the WebView since m_windowController's window
- // is not the same when the Inspector is docked.
- WebView *webView = [m_windowController.get() webView];
- [[webView window] makeFirstResponder:webView];
-}
-
-void WebInspectorFrontendClient::closeWindow()
-{
- [m_windowController.get() destroyInspectorView:true];
-}
-
-void WebInspectorFrontendClient::disconnectFromBackend()
-{
- [m_windowController.get() destroyInspectorView:false];
-}
-
-void WebInspectorFrontendClient::attachWindow(DockSide)
-{
- if ([m_windowController.get() attached])
- return;
- [m_windowController.get() attach];
- restoreAttachedWindowHeight();
-}
-
-void WebInspectorFrontendClient::detachWindow()
-{
- [m_windowController.get() detach];
-}
-
-void WebInspectorFrontendClient::setAttachedWindowHeight(unsigned height)
-{
- [m_windowController.get() setAttachedWindowHeight:height];
-}
-
-void WebInspectorFrontendClient::setAttachedWindowWidth(unsigned)
-{
- // Dock to right is not implemented in WebKit 1.
-}
-
-void WebInspectorFrontendClient::setToolbarHeight(unsigned height)
-{
- [[m_windowController window] setContentBorderThickness:height forEdge:NSMaxYEdge];
-}
-
-void WebInspectorFrontendClient::inspectedURLChanged(const String& newURL)
-{
- m_inspectedURL = newURL;
- updateWindowTitle();
-}
-
-void WebInspectorFrontendClient::updateWindowTitle() const
-{
- NSString *title = [NSString stringWithFormat:UI_STRING_INTERNAL("Web Inspector — %@", "Web Inspector window title"), (NSString *)m_inspectedURL];
- [[m_windowController.get() window] setTitle:title];
-}
-
-void WebInspectorFrontendClient::save(const String& suggestedURL, const String& content, bool forceSaveDialog)
-{
- ASSERT(!suggestedURL.isEmpty());
-
- NSURL *platformURL = m_suggestedToActualURLMap.get(suggestedURL).get();
- if (!platformURL) {
- platformURL = [NSURL URLWithString:suggestedURL];
- // The user must confirm new filenames before we can save to them.
- forceSaveDialog = true;
- }
-
- ASSERT(platformURL);
- if (!platformURL)
- return;
-
- // Necessary for the block below.
- String suggestedURLCopy = suggestedURL;
- String contentCopy = content;
-
- auto saveToURL = ^(NSURL *actualURL) {
- ASSERT(actualURL);
-
- m_suggestedToActualURLMap.set(suggestedURLCopy, actualURL);
- [contentCopy writeToURL:actualURL atomically:YES encoding:NSUTF8StringEncoding error:NULL];
- core([m_windowController webView])->mainFrame()->script()->executeScript([NSString stringWithFormat:@"InspectorFrontendAPI.savedURL(\"%@\")", actualURL.absoluteString]);
- };
-
- if (!forceSaveDialog) {
- saveToURL(platformURL);
- return;
- }
-
- NSSavePanel *panel = [NSSavePanel savePanel];
- panel.nameFieldStringValue = platformURL.lastPathComponent;
- panel.directoryURL = [platformURL URLByDeletingLastPathComponent];
-
- [panel beginSheetModalForWindow:[[m_windowController webView] window] completionHandler:^(NSInteger result) {
- if (result == NSFileHandlingPanelCancelButton)
- return;
- ASSERT(result == NSFileHandlingPanelOKButton);
- saveToURL(panel.URL);
- }];
-}
-
-void WebInspectorFrontendClient::append(const String& suggestedURL, const String& content)
-{
- ASSERT(!suggestedURL.isEmpty());
-
- RetainPtr<NSURL> actualURL = m_suggestedToActualURLMap.get(suggestedURL);
- // do not append unless the user has already confirmed this filename in save().
- if (!actualURL)
- return;
-
- NSFileHandle *handle = [NSFileHandle fileHandleForWritingToURL:actualURL.get() error:NULL];
- [handle seekToEndOfFile];
- [handle writeData:[content dataUsingEncoding:NSUTF8StringEncoding]];
- [handle closeFile];
-
- core([m_windowController webView])->mainFrame()->script()->executeScript([NSString stringWithFormat:@"InspectorFrontendAPI.appendedToURL(\"%@\")", [actualURL absoluteString]]);
-}
-
-// MARK: -
-
-@implementation WebInspectorWindowController
-- (id)init
-{
- if (!(self = [super initWithWindow:nil]))
- return nil;
-
- // Keep preferences separate from the rest of the client, making sure we are using expected preference values.
-
- WebPreferences *preferences = [[WebPreferences alloc] init];
- [preferences setAllowsAnimatedImages:YES];
- [preferences setApplicationChromeModeEnabled:YES];
- [preferences setAuthorAndUserStylesEnabled:YES];
- [preferences setAutosaves:NO];
- [preferences setDefaultFixedFontSize:11];
- [preferences setFixedFontFamily:@"Menlo"];
- [preferences setJavaEnabled:NO];
- [preferences setJavaScriptEnabled:YES];
- [preferences setLoadsImagesAutomatically:YES];
- [preferences setMinimumFontSize:0];
- [preferences setMinimumLogicalFontSize:9];
- [preferences setPlugInsEnabled:NO];
- [preferences setTabsToLinks:NO];
- [preferences setUserStyleSheetEnabled:NO];
-
- _webView = [[WebView alloc] init];
- [_webView setPreferences:preferences];
- [_webView setDrawsBackground:NO];
- [_webView setProhibitsMainFrameScrolling:YES];
- [_webView setUIDelegate:self];
- [_webView setPolicyDelegate:self];
-
- [preferences release];
-
- NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL fileURLWithPath:[self inspectorPagePath]]];
- [[_webView mainFrame] loadRequest:request];
- [request release];
-
- [self setWindowFrameAutosaveName:@"Web Inspector 2"];
- return self;
-}
-
-- (id)initWithInspectedWebView:(WebView *)webView
-{
- if (!(self = [self init]))
- return nil;
-
- _inspectedWebView = webView;
- return self;
-}
-
-- (void)dealloc
-{
- [_webView release];
- [super dealloc];
-}
-
-// MARK: -
-
-- (NSString *)inspectorPagePath
-{
- NSString *path;
- if (useWebKitWebInspector())
- path = [[NSBundle bundleWithIdentifier:@"com.apple.WebCore"] pathForResource:@"inspector" ofType:@"html" inDirectory:@"inspector"];
- else
- path = [[NSBundle bundleWithIdentifier:@"com.apple.WebInspectorUI"] pathForResource:@"Main" ofType:@"html"];
-
- ASSERT([path length]);
- return path;
-}
-
-// MARK: -
-
-- (WebView *)webView
-{
- return _webView;
-}
-
-- (NSWindow *)window
-{
- WebInspectorWindow *window = (WebInspectorWindow *)[super window];
- if (window)
- return window;
-
- NSUInteger styleMask = (NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask | NSTexturedBackgroundWindowMask);
- window = [[WebInspectorWindow alloc] initWithContentRect:NSMakeRect(60.0, 200.0, 750.0, 650.0) styleMask:styleMask backing:NSBackingStoreBuffered defer:NO];
- [window setDelegate:self];
- [window setMinSize:NSMakeSize(400.0, 400.0)];
- [window setAutorecalculatesContentBorderThickness:NO forEdge:NSMaxYEdge];
- [window setContentBorderThickness:55. forEdge:NSMaxYEdge];
- WKNSWindowMakeBottomCornersSquare(window);
-
- // Create a full screen button so we can turn it into a dock button.
- _dockButton = [NSWindow standardWindowButton:NSWindowFullScreenButton forStyleMask:styleMask];
- _dockButton.get().target = self;
- _dockButton.get().action = @selector(attachWindow:);
-
- // Store the dock button on the window too so it can check its visibility.
- window->_dockButton = _dockButton;
-
- // Get the dock image and make it a template so the button cell effects will apply.
- NSImage *dockImage = [[NSBundle bundleForClass:[self class]] imageForResource:@"Dock"];
- [dockImage setTemplate:YES];
-
- // Set the dock image on the button cell.
- NSCell *dockButtonCell = _dockButton.get().cell;
- dockButtonCell.image = dockImage;
-
- // Get the frame view, the superview of the content view, and its frame.
- // This will be the superview of the dock button too.
- NSView *contentView = window.contentView;
- NSView *frameView = contentView.superview;
- NSRect frameViewBounds = frameView.bounds;
- NSSize dockButtonSize = _dockButton.get().frame.size;
-
- ASSERT(!frameView.isFlipped);
-
- // Position the dock button in the corner to match where the full screen button is normally.
- NSPoint dockButtonOrigin;
- dockButtonOrigin.x = NSMaxX(frameViewBounds) - dockButtonSize.width - dockButtonMargin;
- dockButtonOrigin.y = NSMaxY(frameViewBounds) - dockButtonSize.height - dockButtonMargin;
- _dockButton.get().frameOrigin = dockButtonOrigin;
-
- // Set the autoresizing mask to keep the dock button pinned to the top right corner.
- _dockButton.get().autoresizingMask = NSViewMinXMargin | NSViewMinYMargin;
-
- [frameView addSubview:_dockButton.get()];
-
- // Hide the dock button if we can't attach.
- _dockButton.get().hidden = !_frontendClient->canAttachWindow() || _inspectorClient->inspectorAttachDisabled();
-
- [self setWindow:window];
- [window release];
-
- return window;
-}
-
-// MARK: -
-
-- (NSRect)window:(NSWindow *)window willPositionSheet:(NSWindow *)sheet usingRect:(NSRect)rect
-{
- // AppKit doesn't know about our HTML toolbar, and places the sheet just a little bit too high.
- // FIXME: It would be better to get the height of the toolbar and use it in this calculation.
- rect.origin.y -= 1;
- return rect;
-}
-
-- (BOOL)windowShouldClose:(id)sender
-{
- [self destroyInspectorView:true];
-
- return YES;
-}
-
-- (void)close
-{
- if (!_visible)
- return;
-
- _visible = NO;
-
- if (_attachedToInspectedWebView) {
- if ([_inspectedWebView.get() _isClosed])
- return;
-
- [_webView removeFromSuperview];
-
- WebFrameView *frameView = [[_inspectedWebView.get() mainFrame] frameView];
- NSRect frameViewRect = [frameView frame];
-
- // Setting the height based on the previous height is done to work with
- // Safari's find banner. This assumes the previous height is the Y origin.
- frameViewRect.size.height += NSMinY(frameViewRect);
- frameViewRect.origin.y = 0.0;
-
- [frameView setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)];
- [frameView setFrame:frameViewRect];
-
- [_inspectedWebView.get() displayIfNeeded];
- } else
- [super close];
-}
-
-- (IBAction)attachWindow:(id)sender
-{
- _frontendClient->attachWindow(InspectorFrontendClient::DOCKED_TO_BOTTOM);
-}
-
-- (IBAction)showWindow:(id)sender
-{
- if (_visible) {
- if (!_attachedToInspectedWebView)
- [super showWindow:sender]; // call super so the window will be ordered front if needed
- return;
- }
-
- _visible = YES;
-
- _shouldAttach = _inspectorClient->inspectorStartsAttached() && _frontendClient->canAttachWindow() && !_inspectorClient->inspectorAttachDisabled();
-
- if (_shouldAttach) {
- WebFrameView *frameView = [[_inspectedWebView.get() mainFrame] frameView];
-
- [_webView removeFromSuperview];
- [_inspectedWebView.get() addSubview:_webView positioned:NSWindowBelow relativeTo:(NSView *)frameView];
- [[_inspectedWebView.get() window] makeFirstResponder:_webView];
-
- [_webView setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable | NSViewMaxYMargin)];
- [frameView setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable | NSViewMinYMargin)];
-
- _attachedToInspectedWebView = YES;
- } else {
- _attachedToInspectedWebView = NO;
-
- NSView *contentView = [[self window] contentView];
- [_webView setFrame:[contentView frame]];
- [_webView setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)];
- [_webView removeFromSuperview];
- [contentView addSubview:_webView];
-
- [super showWindow:nil];
- }
-}
-
-// MARK: -
-
-- (void)attach
-{
- if (_attachedToInspectedWebView)
- return;
-
- _inspectorClient->setInspectorStartsAttached(true);
- _frontendClient->setAttachedWindow(InspectorFrontendClient::DOCKED_TO_BOTTOM);
-
- [self close];
- [self showWindow:nil];
-}
-
-- (void)detach
-{
- if (!_attachedToInspectedWebView)
- return;
-
- _inspectorClient->setInspectorStartsAttached(false);
- _frontendClient->setAttachedWindow(InspectorFrontendClient::UNDOCKED);
-
- [self close];
- [self showWindow:nil];
-}
-
-- (BOOL)attached
-{
- return _attachedToInspectedWebView;
-}
-
-- (void)setFrontendClient:(WebInspectorFrontendClient*)frontendClient
-{
- _frontendClient = frontendClient;
-}
-
-- (void)setInspectorClient:(WebInspectorClient*)inspectorClient
-{
- _inspectorClient = inspectorClient;
-}
-
-- (WebInspectorClient*)inspectorClient
-{
- return _inspectorClient;
-}
-
-- (void)setAttachedWindowHeight:(unsigned)height
-{
- if (!_attachedToInspectedWebView)
- return;
-
- WebFrameView *frameView = [[_inspectedWebView.get() mainFrame] frameView];
- NSRect frameViewRect = [frameView frame];
-
- // Setting the height based on the difference is done to work with
- // Safari's find banner. This assumes the previous height is the Y origin.
- CGFloat heightDifference = (NSMinY(frameViewRect) - height);
- frameViewRect.size.height += heightDifference;
- frameViewRect.origin.y = height;
-
- [_webView setFrame:NSMakeRect(0.0, 0.0, NSWidth(frameViewRect), height)];
- [frameView setFrame:frameViewRect];
-}
-
-- (void)setDockingUnavailable:(BOOL)unavailable
-{
- _dockButton.get().hidden = unavailable;
-}
-
-- (void)destroyInspectorView:(bool)notifyInspectorController
-{
- [[_inspectedWebView.get() inspector] releaseFrontend];
- _inspectorClient->releaseFrontend();
-
- if (_destroyingInspectorView)
- return;
- _destroyingInspectorView = YES;
-
- if (_attachedToInspectedWebView)
- [self close];
-
- _visible = NO;
-
- if (notifyInspectorController) {
- if (Page* inspectedPage = [_inspectedWebView.get() page])
- inspectedPage->inspectorController()->disconnectFrontend();
- }
-
- RetainPtr<WebInspectorWindowController> protect(self);
- [_webView close];
-}
-
-// MARK: -
-// MARK: UI delegate
-
-- (void)webView:(WebView *)sender runOpenPanelForFileButtonWithResultListener:(id<WebOpenPanelResultListener>)resultListener allowMultipleFiles:(BOOL)allowMultipleFiles
-{
- NSOpenPanel *panel = [NSOpenPanel openPanel];
- panel.canChooseDirectories = NO;
- panel.canChooseFiles = YES;
- panel.allowsMultipleSelection = allowMultipleFiles;
-
- [panel beginSheetModalForWindow:_webView.window completionHandler:^(NSInteger result) {
- if (result == NSFileHandlingPanelCancelButton) {
- [resultListener cancel];
- return;
- }
- ASSERT(result == NSFileHandlingPanelOKButton);
-
- NSArray *URLs = panel.URLs;
- NSMutableArray *filenames = [NSMutableArray arrayWithCapacity:URLs.count];
- for (NSURL *URL in URLs) {
- [filenames addObject:URL.path];
- }
- [resultListener chooseFilenames:filenames];
- }];
-}
-
-- (void)webView:(WebView *)sender frame:(WebFrame *)frame exceededDatabaseQuotaForSecurityOrigin:(WebSecurityOrigin *)origin database:(NSString *)databaseIdentifier
-{
- id <WebQuotaManager> databaseQuotaManager = origin.databaseQuotaManager;
- databaseQuotaManager.quota = std::max<unsigned long long>(5 * 1024 * 1024, databaseQuotaManager.usage * 1.25);
-}
-
-// MARK: -
-// MARK: Policy delegate
-
-- (void)webView:(WebView *)webView decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id<WebPolicyDecisionListener>)listener
-{
- // Allow non-main frames to navigate anywhere.
- if (frame != [webView mainFrame]) {
- [listener use];
- return;
- }
-
- // Allow loading of the main inspector file.
- if ([[request URL] isFileURL] && [[[request URL] path] isEqualToString:[self inspectorPagePath]]) {
- [listener use];
- return;
- }
-
- // Prevent everything else from loading in the inspector's page.
- [listener ignore];
-
- // And instead load it in the inspected page.
- [[_inspectedWebView.get() mainFrame] loadRequest:request];
-}
-
-// MARK: -
-// These methods can be used by UI elements such as menu items and toolbar buttons when the inspector is the key window.
-
-// This method is really only implemented to keep any UI elements enabled.
-- (void)showWebInspector:(id)sender
-{
- [[_inspectedWebView.get() inspector] show:sender];
-}
-
-- (void)showErrorConsole:(id)sender
-{
- [[_inspectedWebView.get() inspector] showConsole:sender];
-}
-
-- (void)toggleDebuggingJavaScript:(id)sender
-{
- [[_inspectedWebView.get() inspector] toggleDebuggingJavaScript:sender];
-}
-
-- (void)toggleProfilingJavaScript:(id)sender
-{
- [[_inspectedWebView.get() inspector] toggleProfilingJavaScript:sender];
-}
-
-- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item
-{
- BOOL isMenuItem = [(id)item isKindOfClass:[NSMenuItem class]];
- if ([item action] == @selector(toggleDebuggingJavaScript:) && isMenuItem) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([[_inspectedWebView.get() inspector] isDebuggingJavaScript])
- [menuItem setTitle:UI_STRING_INTERNAL("Stop Debugging JavaScript", "title for Stop Debugging JavaScript menu item")];
- else
- [menuItem setTitle:UI_STRING_INTERNAL("Start Debugging JavaScript", "title for Start Debugging JavaScript menu item")];
- } else if ([item action] == @selector(toggleProfilingJavaScript:) && isMenuItem) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([[_inspectedWebView.get() inspector] isProfilingJavaScript])
- [menuItem setTitle:UI_STRING_INTERNAL("Stop Profiling JavaScript", "title for Stop Profiling JavaScript menu item")];
- else
- [menuItem setTitle:UI_STRING_INTERNAL("Start Profiling JavaScript", "title for Start Profiling JavaScript menu item")];
- }
-
- return YES;
-}
-
-
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebJavaScriptTextInputPanel.h b/Source/WebKit/mac/WebCoreSupport/WebJavaScriptTextInputPanel.h
deleted file mode 100644
index 1dfd2e46e..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebJavaScriptTextInputPanel.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-@interface WebJavaScriptTextInputPanel : NSWindowController
-{
- IBOutlet NSTextField *prompt;
- IBOutlet NSTextField *textInput;
-}
-
-- (id)initWithPrompt:(NSString *)prompt text:(NSString *)text;
-- (NSString *)text;
-
-- (IBAction)pressedCancel:(id)sender;
-- (IBAction)pressedOK:(id)sender;
-
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebJavaScriptTextInputPanel.m b/Source/WebKit/mac/WebCoreSupport/WebJavaScriptTextInputPanel.m
deleted file mode 100644
index 4728a6e52..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebJavaScriptTextInputPanel.m
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebJavaScriptTextInputPanel.h"
-
-#import <wtf/Assertions.h>
-
-#import <WebKit/WebNSControlExtras.h>
-#import <WebKit/WebNSWindowExtras.h>
-
-@implementation WebJavaScriptTextInputPanel
-
-- (id)initWithPrompt:(NSString *)p text:(NSString *)t
-{
- self = [self initWithWindowNibName:@"WebJavaScriptTextInputPanel"];
- if (!self)
- return nil;
- NSWindow *window = [self window];
-
- // This must be done after the call to [self window], because
- // until then, prompt and textInput will be nil.
- ASSERT(prompt);
- ASSERT(textInput);
- [prompt setStringValue:p];
- [textInput setStringValue:t];
-
- [prompt sizeToFitAndAdjustWindowHeight];
- [window centerOverMainWindow];
-
- return self;
-}
-
-- (NSString *)text
-{
- return [textInput stringValue];
-}
-
-- (IBAction)pressedCancel:(id)sender
-{
- [NSApp stopModalWithCode:NO];
-}
-
-- (IBAction)pressedOK:(id)sender
-{
- [NSApp stopModalWithCode:YES];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebKeyGenerator.h b/Source/WebKit/mac/WebCoreSupport/WebKeyGenerator.h
deleted file mode 100644
index 772869972..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebKeyGenerator.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2005, 2011 Apple 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 INC. 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 INC. 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.
- */
-
-typedef enum {
- WebCertificateParseResultSucceeded = 0,
- WebCertificateParseResultFailed = 1,
- WebCertificateParseResultPKCS7 = 2,
-} WebCertificateParseResult;
-
-#ifdef __OBJC__
-
-@interface WebKeyGenerator : NSObject
-
-+ (WebKeyGenerator *)sharedGenerator;
-- (WebCertificateParseResult)addCertificatesToKeychainFromData:(NSData *)data;
-
-@end
-
-#endif
diff --git a/Source/WebKit/mac/WebCoreSupport/WebKeyGenerator.mm b/Source/WebKit/mac/WebCoreSupport/WebKeyGenerator.mm
deleted file mode 100644
index 3e535ea93..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebKeyGenerator.mm
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2005, 2011 Apple 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 INC. 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 INC. 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.
- */
-
-#import <WebKit/WebKeyGenerator.h>
-
-#import <WebKitSystemInterface.h>
-#import <wtf/Assertions.h>
-
-@implementation WebKeyGenerator
-
-+ (WebKeyGenerator *)sharedGenerator
-{
- static WebKeyGenerator *sharedGenerator = [[WebKeyGenerator alloc] init];
- return sharedGenerator;
-}
-
-static inline WebCertificateParseResult toWebCertificateParseResult(WKCertificateParseResult result)
-{
- // FIXME: WebKeyGenerator is not used in WebKit, and this code should be moved to Safari.
-
- switch (result) {
- case WKCertificateParseResultSucceeded:
- return WebCertificateParseResultSucceeded;
- case WKCertificateParseResultFailed:
- return WebCertificateParseResultFailed;
- case WKCertificateParseResultPKCS7:
- return WebCertificateParseResultPKCS7;
- }
-
- ASSERT_NOT_REACHED();
- return WebCertificateParseResultFailed;
-}
-
-- (WebCertificateParseResult)addCertificatesToKeychainFromData:(NSData *)data
-{
- return toWebCertificateParseResult(WKAddCertificatesToKeychainFromData([data bytes], [data length]));
-}
-
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h b/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h
deleted file mode 100644
index d6949ea2d..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Apple 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 INC. 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 INC. 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.
- */
-
-#import <WebCore/NotificationClient.h>
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#import <WebCore/Notification.h>
-#import <wtf/HashMap.h>
-#import <wtf/RefPtr.h>
-#import <wtf/RetainPtr.h>
-#endif
-
-namespace WebCore {
-class Notification;
-class NotificationPermissionCallback;
-class ScriptExecutionContext;
-class VoidCallback;
-}
-
-@class WebNotification;
-@class WebNotificationPolicyListener;
-@class WebView;
-
-class WebNotificationClient : public WebCore::NotificationClient {
-public:
- WebNotificationClient(WebView *);
- WebView *webView() { return m_webView; }
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- // For testing purposes.
- uint64_t notificationIDForTesting(WebCore::Notification*);
-#endif
-
-private:
- virtual bool show(WebCore::Notification*) OVERRIDE;
- virtual void cancel(WebCore::Notification*) OVERRIDE;
- virtual void clearNotifications(WebCore::ScriptExecutionContext*) OVERRIDE;
- virtual void notificationObjectDestroyed(WebCore::Notification*) OVERRIDE;
- virtual void notificationControllerDestroyed() OVERRIDE;
-#if ENABLE(LEGACY_NOTIFICATIONS)
- virtual void requestPermission(WebCore::ScriptExecutionContext*, PassRefPtr<WebCore::VoidCallback>) OVERRIDE;
-#endif
-#if ENABLE(NOTIFICATIONS)
- virtual void requestPermission(WebCore::ScriptExecutionContext*, PassRefPtr<WebCore::NotificationPermissionCallback>) OVERRIDE;
-#endif
- virtual void cancelRequestsForPermission(WebCore::ScriptExecutionContext*) OVERRIDE { }
- virtual WebCore::NotificationClient::Permission checkPermission(WebCore::ScriptExecutionContext*) OVERRIDE;
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- void requestPermission(WebCore::ScriptExecutionContext*, WebNotificationPolicyListener *);
-#endif
-
- WebView *m_webView;
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- HashMap<RefPtr<WebCore::Notification>, RetainPtr<WebNotification> > m_notificationMap;
-
- typedef HashMap<RefPtr<WebCore::ScriptExecutionContext>, Vector<RetainPtr<WebNotification> > > NotificationContextMap;
- NotificationContextMap m_notificationContextMap;
-#endif
-};
diff --git a/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm b/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm
deleted file mode 100644
index d92bc75a1..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebNotificationClient.h"
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#import "WebDelegateImplementationCaching.h"
-#import "WebNotificationInternal.h"
-#import "WebPreferencesPrivate.h"
-#import "WebSecurityOriginInternal.h"
-#import "WebUIDelegatePrivate.h"
-#import "WebViewInternal.h"
-#import <WebCore/BlockExceptions.h>
-#import <WebCore/Page.h>
-#import <WebCore/ScriptExecutionContext.h>
-#endif
-
-#if ENABLE(NOTIFICATIONS)
-#import <WebCore/NotificationPermissionCallback.h>
-#endif
-#if ENABLE(LEGACY_NOTIFICATIONS)
-#import <WebCore/VoidCallback.h>
-#endif
-
-using namespace WebCore;
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-@interface WebNotificationPolicyListener : NSObject <WebAllowDenyPolicyListener>
-{
-#if ENABLE(NOTIFICATIONS)
- RefPtr<NotificationPermissionCallback> _callback;
-#endif
-#if ENABLE(LEGACY_NOTIFICATIONS)
- RefPtr<VoidCallback> _voidCallback;
- bool _isLegacyRequest;
-#endif
-}
-#if ENABLE(NOTIFICATIONS)
-- (id)initWithCallback:(PassRefPtr<NotificationPermissionCallback>)callback;
-#endif
-#if ENABLE(LEGACY_NOTIFICATIONS)
-- (id)initWithVoidCallback:(PassRefPtr<VoidCallback>)callback;
-#endif
-
-@end
-#endif
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-static uint64_t generateNotificationID()
-{
- static uint64_t uniqueNotificationID = 1;
- return uniqueNotificationID++;
-}
-#endif
-
-WebNotificationClient::WebNotificationClient(WebView *webView)
- : m_webView(webView)
-{
-}
-
-bool WebNotificationClient::show(Notification* notification)
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- if (![m_webView _notificationProvider])
- return false;
-
- uint64_t notificationID = generateNotificationID();
- RetainPtr<WebNotification> webNotification = adoptNS([[WebNotification alloc] initWithCoreNotification:notification notificationID:notificationID]);
- m_notificationMap.set(notification, webNotification);
-
- NotificationContextMap::iterator it = m_notificationContextMap.add(notification->scriptExecutionContext(), Vector<RetainPtr<WebNotification> >()).iterator;
- it->value.append(webNotification);
-
- [[m_webView _notificationProvider] showNotification:webNotification.get() fromWebView:m_webView];
- return true;
-#else
- UNUSED_PARAM(notification);
- return false;
-#endif
-}
-
-void WebNotificationClient::cancel(Notification* notification)
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- WebNotification *webNotification = m_notificationMap.get(notification).get();
- if (!webNotification)
- return;
-
- [[m_webView _notificationProvider] cancelNotification:webNotification];
-#else
- UNUSED_PARAM(notification);
-#endif
-}
-
-void WebNotificationClient::clearNotifications(ScriptExecutionContext* context)
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- NotificationContextMap::iterator it = m_notificationContextMap.find(context);
- if (it == m_notificationContextMap.end())
- return;
-
- Vector<RetainPtr<WebNotification> >& webNotifications = it->value;
- NSMutableArray *nsIDs = [NSMutableArray array];
- size_t count = webNotifications.size();
- for (size_t i = 0; i < count; ++i) {
- WebNotification *webNotification = webNotifications[i].get();
- [nsIDs addObject:[NSNumber numberWithUnsignedLongLong:[webNotification notificationID]]];
- core(webNotification)->finalize();
- m_notificationMap.remove(core(webNotification));
- }
-
- [[m_webView _notificationProvider] clearNotifications:nsIDs];
- m_notificationContextMap.remove(it);
-#else
- UNUSED_PARAM(context);
-#endif
-}
-
-void WebNotificationClient::notificationObjectDestroyed(Notification* notification)
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- RetainPtr<WebNotification> webNotification = m_notificationMap.take(notification);
- if (!webNotification)
- return;
-
- NotificationContextMap::iterator it = m_notificationContextMap.find(notification->scriptExecutionContext());
- ASSERT(it != m_notificationContextMap.end());
- size_t index = it->value.find(webNotification);
- ASSERT(index != notFound);
- it->value.remove(index);
- if (it->value.isEmpty())
- m_notificationContextMap.remove(it);
-
- [[m_webView _notificationProvider] notificationDestroyed:webNotification.get()];
-#else
- UNUSED_PARAM(notification);
-#endif
-}
-
-void WebNotificationClient::notificationControllerDestroyed()
-{
- delete this;
-}
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-void WebNotificationClient::requestPermission(ScriptExecutionContext* context, WebNotificationPolicyListener *listener)
-{
- SEL selector = @selector(webView:decidePolicyForNotificationRequestFromOrigin:listener:);
- if (![[m_webView UIDelegate] respondsToSelector:selector])
- return;
-
- WebSecurityOrigin *webOrigin = [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:context->securityOrigin()];
-
- CallUIDelegate(m_webView, selector, webOrigin, listener);
-
- [webOrigin release];
-}
-#endif
-
-#if ENABLE(LEGACY_NOTIFICATIONS)
-void WebNotificationClient::requestPermission(ScriptExecutionContext* context, PassRefPtr<VoidCallback> callback)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- WebNotificationPolicyListener *listener = [[WebNotificationPolicyListener alloc] initWithVoidCallback:callback];
- requestPermission(context, listener);
- [listener release];
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-#endif
-
-#if ENABLE(NOTIFICATIONS)
-void WebNotificationClient::requestPermission(ScriptExecutionContext* context, PassRefPtr<NotificationPermissionCallback> callback)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
- WebNotificationPolicyListener *listener = [[WebNotificationPolicyListener alloc] initWithCallback:callback];
- requestPermission(context, listener);
- [listener release];
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-#endif
-
-NotificationClient::Permission WebNotificationClient::checkPermission(ScriptExecutionContext* context)
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- if (!context || !context->isDocument())
- return NotificationClient::PermissionDenied;
- if (![[m_webView preferences] notificationsEnabled])
- return NotificationClient::PermissionDenied;
- WebSecurityOrigin *webOrigin = [[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:context->securityOrigin()];
- WebNotificationPermission permission = [[m_webView _notificationProvider] policyForOrigin:webOrigin];
- [webOrigin release];
- switch (permission) {
- case WebNotificationPermissionAllowed:
- return NotificationClient::PermissionAllowed;
- case WebNotificationPermissionDenied:
- return NotificationClient::PermissionDenied;
- case WebNotificationPermissionNotAllowed:
- return NotificationClient::PermissionNotAllowed;
- default:
- return NotificationClient::PermissionNotAllowed;
- }
-#else
- UNUSED_PARAM(context);
- return NotificationClient::PermissionDenied;
-#endif
-}
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-uint64_t WebNotificationClient::notificationIDForTesting(WebCore::Notification* notification)
-{
- return [m_notificationMap.get(notification).get() notificationID];
-}
-
-@implementation WebNotificationPolicyListener
-
-#if ENABLE(NOTIFICATIONS)
-- (id)initWithCallback:(PassRefPtr<NotificationPermissionCallback>)callback
-{
- if (!(self = [super init]))
- return nil;
-
- _callback = callback;
- return self;
-}
-#endif
-
-#if ENABLE(LEGACY_NOTIFICATIONS)
-- (id)initWithVoidCallback:(PassRefPtr<VoidCallback>)callback
-{
- if (!(self = [super init]))
- return nil;
-
- _isLegacyRequest = true;
- _voidCallback = callback;
- return self;
-}
-#endif
-
-- (void)allow
-{
-#if ENABLE(LEGACY_NOTIFICATIONS)
- if (_isLegacyRequest) {
- if (_voidCallback)
- _voidCallback->handleEvent();
- return;
- }
-#endif
-#if ENABLE(NOTIFICATIONS)
- if (_callback)
- _callback->handleEvent(Notification::permissionString(NotificationClient::PermissionAllowed));
-#endif
-}
-
-- (void)deny
-{
-#if ENABLE(LEGACY_NOTIFICATIONS)
- if (_isLegacyRequest) {
- if (_voidCallback)
- _voidCallback->handleEvent();
- return;
- }
-#endif
-#if ENABLE(NOTIFICATIONS)
- if (_callback)
- _callback->handleEvent(Notification::permissionString(NotificationClient::PermissionDenied));
-#endif
-}
-
-@end
-#endif
diff --git a/Source/WebKit/mac/WebCoreSupport/WebOpenPanelResultListener.h b/Source/WebKit/mac/WebCoreSupport/WebOpenPanelResultListener.h
deleted file mode 100644
index acc62cad7..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebOpenPanelResultListener.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebUIDelegate.h"
-#import <wtf/Forward.h>
-
-namespace WebCore {
-class FileChooser;
-}
-
-@interface WebOpenPanelResultListener : NSObject <WebOpenPanelResultListener>
-{
- WebCore::FileChooser* _chooser;
-}
-
-- (id)initWithChooser:(PassRefPtr<WebCore::FileChooser>)chooser;
-
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebOpenPanelResultListener.mm b/Source/WebKit/mac/WebCoreSupport/WebOpenPanelResultListener.mm
deleted file mode 100644
index 2295e0733..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebOpenPanelResultListener.mm
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebOpenPanelResultListener.h"
-
-#import <WebCore/FileChooser.h>
-#import <wtf/PassRefPtr.h>
-
-using namespace WebCore;
-
-@implementation WebOpenPanelResultListener
-
-- (id)initWithChooser:(PassRefPtr<FileChooser>)chooser
-{
- self = [super init];
- if (!self)
- return nil;
- _chooser = chooser.leakRef();
- return self;
-}
-
-#ifndef NDEBUG
-- (void)dealloc
-{
- ASSERT(!_chooser);
- [super dealloc];
-}
-
-- (void)finalize
-{
- ASSERT(!_chooser);
- [super finalize];
-}
-#endif
-
-- (void)cancel
-{
- ASSERT(_chooser);
- if (!_chooser)
- return;
- _chooser->deref();
- _chooser = 0;
-}
-
-- (void)chooseFilename:(NSString *)filename
-{
- ASSERT(_chooser);
- if (!_chooser)
- return;
- _chooser->chooseFile(filename);
- _chooser->deref();
- _chooser = 0;
-}
-
-- (void)chooseFilenames:(NSArray *)filenames
-{
- ASSERT(_chooser);
- if (!_chooser)
- return;
- int count = [filenames count];
- Vector<String> names(count);
- for (int i = 0; i < count; i++)
- names[i] = [filenames objectAtIndex:i];
- _chooser->chooseFiles(names);
- _chooser->deref();
- _chooser = 0;
-}
-
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.h b/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.h
deleted file mode 100644
index c401e03c2..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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 WebPlatformStrategies_h
-#define WebPlatformStrategies_h
-
-#include <WebCore/CookiesStrategy.h>
-#include <WebCore/DatabaseStrategy.h>
-#include <WebCore/LoaderStrategy.h>
-#include <WebCore/PasteboardStrategy.h>
-#include <WebCore/PlatformStrategies.h>
-#include <WebCore/PluginStrategy.h>
-#include <WebCore/SharedWorkerStrategy.h>
-#include <WebCore/StorageStrategy.h>
-#include <WebCore/VisitedLinkStrategy.h>
-
-class WebPlatformStrategies : public WebCore::PlatformStrategies, private WebCore::CookiesStrategy, private WebCore::DatabaseStrategy, private WebCore::LoaderStrategy, private WebCore::PasteboardStrategy, private WebCore::PluginStrategy, private WebCore::SharedWorkerStrategy, private WebCore::StorageStrategy, private WebCore::VisitedLinkStrategy {
-public:
- static void initializeIfNecessary();
-
-private:
- WebPlatformStrategies();
-
- // WebCore::PlatformStrategies
- virtual WebCore::CookiesStrategy* createCookiesStrategy() OVERRIDE;
- virtual WebCore::DatabaseStrategy* createDatabaseStrategy() OVERRIDE;
- virtual WebCore::LoaderStrategy* createLoaderStrategy() OVERRIDE;
- virtual WebCore::PasteboardStrategy* createPasteboardStrategy() OVERRIDE;
- virtual WebCore::PluginStrategy* createPluginStrategy() OVERRIDE;
- virtual WebCore::SharedWorkerStrategy* createSharedWorkerStrategy() OVERRIDE;
- virtual WebCore::StorageStrategy* createStorageStrategy() override;
- virtual WebCore::VisitedLinkStrategy* createVisitedLinkStrategy() OVERRIDE;
-
- // WebCore::CookiesStrategy
- virtual String cookiesForDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&) OVERRIDE;
- virtual void setCookiesFromDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, const String&) OVERRIDE;
- virtual bool cookiesEnabled(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&) OVERRIDE;
- virtual String cookieRequestHeaderFieldValue(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&) OVERRIDE;
- virtual bool getRawCookies(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, Vector<WebCore::Cookie>&) OVERRIDE;
- virtual void deleteCookie(const WebCore::NetworkStorageSession&, const WebCore::KURL&, const String&) OVERRIDE;
-
- // WebCore::DatabaseStrategy
- // - Using default implementation.
-
- // WebCore::LoaderStrategy
- // - Using default implementation.
-
- // WebCore::PluginStrategy
- virtual void refreshPlugins() OVERRIDE;
- virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&) OVERRIDE;
-
- // WebCore::LoaderStrategy
- // - Using default implementation.
-
- // WebCore::VisitedLinkStrategy
- virtual bool isLinkVisited(WebCore::Page*, WebCore::LinkHash, const WebCore::KURL& baseURL, const WTF::AtomicString& attributeURL) OVERRIDE;
- virtual void addVisitedLink(WebCore::Page*, WebCore::LinkHash) OVERRIDE;
-
- // WebCore::PasteboardStrategy
- virtual void getTypes(Vector<String>& types, const String& pasteboardName) OVERRIDE;
- virtual PassRefPtr<WebCore::SharedBuffer> bufferForType(const String& pasteboardType, const String& pasteboardName) OVERRIDE;
- virtual void getPathnamesForType(Vector<String>& pathnames, const String& pasteboardType, const String& pasteboardName) OVERRIDE;
- virtual String stringForType(const String& pasteboardType, const String& pasteboardName) OVERRIDE;
- virtual int changeCount(const String& pasteboardName) OVERRIDE;
- virtual String uniqueName() OVERRIDE;
- virtual WebCore::Color color(const String& pasteboardName) OVERRIDE;
- virtual WebCore::KURL url(const String& pasteboardName) OVERRIDE;
-
- virtual void copy(const String& fromPasteboard, const String& toPasteboard) OVERRIDE;
- virtual void addTypes(const Vector<String>& pasteboardTypes, const String& pasteboardName) OVERRIDE;
- virtual void setTypes(const Vector<String>& pasteboardTypes, const String& pasteboardName) OVERRIDE;
- virtual void setBufferForType(PassRefPtr<WebCore::SharedBuffer>, const String& pasteboardType, const String& pasteboardName) OVERRIDE;
- virtual void setPathnamesForType(const Vector<String>&, const String& pasteboardType, const String& pasteboardName) OVERRIDE;
- virtual void setStringForType(const String&, const String& pasteboardType, const String& pasteboardName) OVERRIDE;
-};
-
-#endif // WebPlatformStrategies_h
diff --git a/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.mm b/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.mm
deleted file mode 100644
index 64a5a3683..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebPlatformStrategies.mm
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebPlatformStrategies.h"
-
-#import "WebFrameNetworkingContext.h"
-#import "WebPluginDatabase.h"
-#import "WebPluginPackage.h"
-#import <WebCore/BlockExceptions.h>
-#import <WebCore/Color.h>
-#import <WebCore/Page.h>
-#import <WebCore/PageGroup.h>
-#import <WebCore/PlatformCookieJar.h>
-#import <WebCore/PlatformPasteboard.h>
-#import <WebKitSystemInterface.h>
-
-using namespace WebCore;
-
-void WebPlatformStrategies::initializeIfNecessary()
-{
- static WebPlatformStrategies* platformStrategies;
- if (!platformStrategies) {
- platformStrategies = new WebPlatformStrategies;
- setPlatformStrategies(platformStrategies);
- }
-}
-
-WebPlatformStrategies::WebPlatformStrategies()
-{
-}
-
-CookiesStrategy* WebPlatformStrategies::createCookiesStrategy()
-{
- return this;
-}
-
-DatabaseStrategy* WebPlatformStrategies::createDatabaseStrategy()
-{
- return this;
-}
-
-LoaderStrategy* WebPlatformStrategies::createLoaderStrategy()
-{
- return this;
-}
-
-PasteboardStrategy* WebPlatformStrategies::createPasteboardStrategy()
-{
- return this;
-}
-
-PluginStrategy* WebPlatformStrategies::createPluginStrategy()
-{
- return this;
-}
-
-SharedWorkerStrategy* WebPlatformStrategies::createSharedWorkerStrategy()
-{
- return this;
-}
-
-StorageStrategy* WebPlatformStrategies::createStorageStrategy()
-{
- return this;
-}
-
-VisitedLinkStrategy* WebPlatformStrategies::createVisitedLinkStrategy()
-{
- return this;
-}
-
-String WebPlatformStrategies::cookiesForDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookiesForDOM(session, firstParty, url);
-}
-
-void WebPlatformStrategies::setCookiesFromDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, const String& cookieString)
-{
- WebCore::setCookiesFromDOM(session, firstParty, url, cookieString);
-}
-
-bool WebPlatformStrategies::cookiesEnabled(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookiesEnabled(session, firstParty, url);
-}
-
-String WebPlatformStrategies::cookieRequestHeaderFieldValue(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookieRequestHeaderFieldValue(session, firstParty, url);
-}
-
-bool WebPlatformStrategies::getRawCookies(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, Vector<Cookie>& rawCookies)
-{
- return WebCore::getRawCookies(session, firstParty, url, rawCookies);
-}
-
-void WebPlatformStrategies::deleteCookie(const NetworkStorageSession& session, const KURL& url, const String& cookieName)
-{
- WebCore::deleteCookie(session, url, cookieName);
-}
-
-void WebPlatformStrategies::refreshPlugins()
-{
- [[WebPluginDatabase sharedDatabase] refresh];
-}
-
-void WebPlatformStrategies::getPluginInfo(const Page*, Vector<PluginInfo>& plugins)
-{
- BEGIN_BLOCK_OBJC_EXCEPTIONS;
-
- NSArray* pluginsArray = [[WebPluginDatabase sharedDatabase] plugins];
- for (unsigned int i = 0; i < [pluginsArray count]; ++i) {
- WebPluginPackage *plugin = [pluginsArray objectAtIndex:i];
-
- plugins.append([plugin pluginInfo]);
- }
-
- END_BLOCK_OBJC_EXCEPTIONS;
-}
-
-bool WebPlatformStrategies::isLinkVisited(Page* page, LinkHash hash, const KURL&, const AtomicString&)
-{
- return page->group().isLinkVisited(hash);
-}
-
-void WebPlatformStrategies::addVisitedLink(Page* page, LinkHash hash)
-{
- return page->group().addVisitedLinkHash(hash);
-}
-
-void WebPlatformStrategies::getTypes(Vector<String>& types, const String& pasteboardName)
-{
- PlatformPasteboard(pasteboardName).getTypes(types);
-}
-
-PassRefPtr<SharedBuffer> WebPlatformStrategies::bufferForType(const String& pasteboardType, const String& pasteboardName)
-{
- return PlatformPasteboard(pasteboardName).bufferForType(pasteboardType);
-}
-
-void WebPlatformStrategies::getPathnamesForType(Vector<String>& pathnames, const String& pasteboardType, const String& pasteboardName)
-{
- PlatformPasteboard(pasteboardName).getPathnamesForType(pathnames, pasteboardType);
-}
-
-String WebPlatformStrategies::stringForType(const String& pasteboardType, const String& pasteboardName)
-{
- return PlatformPasteboard(pasteboardName).stringForType(pasteboardType);
-}
-
-void WebPlatformStrategies::copy(const String& fromPasteboard, const String& toPasteboard)
-{
- PlatformPasteboard(toPasteboard).copy(fromPasteboard);
-}
-
-int WebPlatformStrategies::changeCount(const String &pasteboardName)
-{
- return PlatformPasteboard(pasteboardName).changeCount();
-}
-
-String WebPlatformStrategies::uniqueName()
-{
- return PlatformPasteboard::uniqueName();
-}
-
-Color WebPlatformStrategies::color(const String& pasteboardName)
-{
- return PlatformPasteboard(pasteboardName).color();
-}
-
-KURL WebPlatformStrategies::url(const String& pasteboardName)
-{
- return PlatformPasteboard(pasteboardName).url();
-}
-
-void WebPlatformStrategies::addTypes(const Vector<String>& pasteboardTypes, const String& pasteboardName)
-{
- PlatformPasteboard(pasteboardName).addTypes(pasteboardTypes);
-}
-
-void WebPlatformStrategies::setTypes(const Vector<String>& pasteboardTypes, const String& pasteboardName)
-{
- PlatformPasteboard(pasteboardName).setTypes(pasteboardTypes);
-}
-
-void WebPlatformStrategies::setBufferForType(PassRefPtr<SharedBuffer> buffer, const String& pasteboardType, const String& pasteboardName)
-{
- PlatformPasteboard(pasteboardName).setBufferForType(buffer, pasteboardType);
-}
-
-void WebPlatformStrategies::setPathnamesForType(const Vector<String>& pathnames, const String& pasteboardType, const String& pasteboardName)
-{
- PlatformPasteboard(pasteboardName).setPathnamesForType(pathnames, pasteboardType);
-}
-
-void WebPlatformStrategies::setStringForType(const String& string, const String& pasteboardType, const String& pasteboardName)
-{
- PlatformPasteboard(pasteboardName).setStringForType(string, pasteboardType);
-}
diff --git a/Source/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm b/Source/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm
deleted file mode 100644
index b83be16e4..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebSecurityOrigin.mm
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (C) 2007, 2010, 2012 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebSecurityOriginInternal.h"
-
-#import "WebApplicationCacheQuotaManager.h"
-#import "WebDatabaseQuotaManager.h"
-#import "WebQuotaManager.h"
-#import <WebCore/KURL.h>
-#import <WebCore/DatabaseManager.h>
-#import <WebCore/SecurityOrigin.h>
-
-using namespace WebCore;
-
-@implementation WebSecurityOrigin
-- (id)initWithURL:(NSURL *)url
-{
- self = [super init];
- if (!self)
- return nil;
-
- RefPtr<SecurityOrigin> origin = SecurityOrigin::create(KURL([url absoluteURL]));
- origin->ref();
- _private = reinterpret_cast<WebSecurityOriginPrivate *>(origin.get());
-
- return self;
-}
-
-- (NSString *)protocol
-{
- return reinterpret_cast<SecurityOrigin*>(_private)->protocol();
-}
-
-- (NSString *)host
-{
- return reinterpret_cast<SecurityOrigin*>(_private)->host();
-}
-
-- (NSString *)databaseIdentifier
-{
- return reinterpret_cast<SecurityOrigin*>(_private)->databaseIdentifier();
-}
-
-- (NSString *)stringValue
-{
- return reinterpret_cast<SecurityOrigin*>(_private)->toString();
-}
-
-// Deprecated. Use host instead. This needs to stay here until we ship a new Safari.
-- (NSString *)domain
-{
- return [self host];
-}
-
-- (unsigned short)port
-{
- return reinterpret_cast<SecurityOrigin*>(_private)->port();
-}
-
-- (BOOL)isEqual:(id)anObject
-{
- if (![anObject isMemberOfClass:[WebSecurityOrigin class]]) {
- return NO;
- }
-
- return [self _core]->equal([anObject _core]);
-}
-
-- (void)dealloc
-{
- if (_private)
- reinterpret_cast<SecurityOrigin*>(_private)->deref();
- if (_applicationCacheQuotaManager)
- [(NSObject *)_applicationCacheQuotaManager release];
- if (_databaseQuotaManager)
- [(NSObject *)_databaseQuotaManager release];
- [super dealloc];
-}
-
-- (void)finalize
-{
- if (_private)
- reinterpret_cast<SecurityOrigin*>(_private)->deref();
- [super finalize];
-}
-
-@end
-
-@implementation WebSecurityOrigin (WebInternal)
-
-- (id)_initWithWebCoreSecurityOrigin:(SecurityOrigin*)origin
-{
- ASSERT(origin);
- self = [super init];
- if (!self)
- return nil;
-
- origin->ref();
- _private = reinterpret_cast<WebSecurityOriginPrivate *>(origin);
-
- return self;
-}
-
-- (SecurityOrigin *)_core
-{
- return reinterpret_cast<SecurityOrigin*>(_private);
-}
-
-@end
-
-
-// MARK: -
-// MARK: WebQuotaManagers
-
-@implementation WebSecurityOrigin (WebQuotaManagers)
-
-- (id<WebQuotaManager>)applicationCacheQuotaManager
-{
- if (!_applicationCacheQuotaManager)
- _applicationCacheQuotaManager = [[WebApplicationCacheQuotaManager alloc] initWithOrigin:self];
- return _applicationCacheQuotaManager;
-}
-
-- (id<WebQuotaManager>)databaseQuotaManager
-{
- if (!_databaseQuotaManager)
- _databaseQuotaManager = [[WebDatabaseQuotaManager alloc] initWithOrigin:self];
- return _databaseQuotaManager;
-}
-
-@end
-
-
-// MARK: -
-// MARK: Deprecated
-
-// FIXME: The following methods are deprecated and should removed later.
-// Clients should instead get a WebQuotaManager, and query / set the quota via the Manager.
-// NOTE: the <WebCore/DatabaseManager.h> #include should be removed as well.
-
-@implementation WebSecurityOrigin (Deprecated)
-
-- (unsigned long long)usage
-{
-#if ENABLE(SQL_DATABASE)
- return DatabaseManager::manager().usageForOrigin(reinterpret_cast<SecurityOrigin*>(_private));
-#else
- return 0;
-#endif
-}
-
-- (unsigned long long)quota
-{
-#if ENABLE(SQL_DATABASE)
- return DatabaseManager::manager().quotaForOrigin(reinterpret_cast<SecurityOrigin*>(_private));
-#else
- return 0;
-#endif
-}
-
-- (void)setQuota:(unsigned long long)quota
-{
-#if ENABLE(SQL_DATABASE)
- DatabaseManager::manager().setQuota(reinterpret_cast<SecurityOrigin*>(_private), quota);
-#endif
-}
-
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebSecurityOriginInternal.h b/Source/WebKit/mac/WebCoreSupport/WebSecurityOriginInternal.h
deleted file mode 100644
index 7bd6817f5..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebSecurityOriginInternal.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebSecurityOriginPrivate.h"
-
-namespace WebCore {
- class SecurityOrigin;
-}
-
-typedef WebCore::SecurityOrigin WebCoreSecurityOrigin;
-
-@interface WebSecurityOrigin (WebInternal)
-
-- (id)_initWithWebCoreSecurityOrigin:(WebCoreSecurityOrigin *)origin;
-- (WebCoreSecurityOrigin *)_core;
-
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebSecurityOriginPrivate.h b/Source/WebKit/mac/WebCoreSupport/WebSecurityOriginPrivate.h
deleted file mode 100644
index fae4c3382..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebSecurityOriginPrivate.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2007, 2010, 2012 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-@class WebSecurityOriginPrivate;
-@protocol WebQuotaManager;
-
-@interface WebSecurityOrigin : NSObject {
- WebSecurityOriginPrivate *_private;
- id<WebQuotaManager> _applicationCacheQuotaManager;
- id<WebQuotaManager> _databaseQuotaManager;
-}
-
-- (id)initWithURL:(NSURL *)url;
-
-- (NSString *)protocol;
-- (NSString *)host;
-
-- (NSString *)databaseIdentifier;
-- (NSString *)stringValue;
-
-// Returns zero if the port is the default port for the protocol, non-zero otherwise.
-- (unsigned short)port;
-
-@end
-
-@interface WebSecurityOrigin (WebQuotaManagers)
-- (id<WebQuotaManager>)applicationCacheQuotaManager;
-- (id<WebQuotaManager>)databaseQuotaManager;
-@end
-
-// FIXME: The following methods are deprecated and should removed later.
-// Clients should instead get a WebQuotaManager, and query / set the quota via the Manager.
-@interface WebSecurityOrigin (Deprecated)
-- (unsigned long long)usage;
-- (unsigned long long)quota;
-- (void)setQuota:(unsigned long long)quota;
-@end
diff --git a/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.h b/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.h
deleted file mode 100644
index d46021757..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-void InitWebCoreSystemInterface();
diff --git a/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm b/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm
deleted file mode 100644
index 7c8db65b5..000000000
--- a/Source/WebKit/mac/WebCoreSupport/WebSystemInterface.mm
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * Copyright 2006, 2007, 2008, 2009, 2010, 2011 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebSystemInterface.h"
-
-// Needed for builds not using PCH to expose BUILDING_ macros, see bug 32753.
-#include <wtf/Platform.h>
-
-#import <WebCore/WebCoreSystemInterface.h>
-#import <WebKitSystemInterface.h>
-
-#define INIT(function) wk##function = WK##function
-
-void InitWebCoreSystemInterface(void)
-{
- static bool didInit;
- if (didInit)
- return;
-
- INIT(AdvanceDefaultButtonPulseAnimation);
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- INIT(CALayerEnumerateRectsBeingDrawnWithBlock);
-#endif
- INIT(CGContextGetShouldSmoothFonts);
- INIT(CGPatternCreateWithImageAndTransform);
- INIT(CGContextResetClip);
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
- INIT(CGContextDrawsWithCorrectShadowOffsets);
-#endif
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
- INIT(CTFontTransformGlyphs);
-#endif
- INIT(CopyCFLocalizationPreferredName);
- INIT(CopyCONNECTProxyResponse);
- INIT(CopyNSURLResponseStatusLine);
-#if PLATFORM(MAC)
- INIT(CopyNSURLResponseCertificateChain);
-#endif
- INIT(CreateCustomCFReadStream);
- INIT(DrawCapsLockIndicator);
- INIT(DrawBezeledTextArea);
- INIT(DrawBezeledTextFieldCell);
- INIT(DrawFocusRing);
- INIT(DrawMediaUIPart);
- INIT(DrawMediaSliderTrack);
- INIT(DrawTextFieldCellFocusRing);
- INIT(GetExtensionsForMIMEType);
- INIT(GetFontInLanguageForCharacter);
- INIT(GetFontInLanguageForRange);
- INIT(GetGlyphTransformedAdvances);
- INIT(GetHTTPPipeliningPriority);
- INIT(GetMIMETypeForExtension);
- INIT(GetNSURLResponseLastModifiedDate);
- INIT(SignedPublicKeyAndChallengeString);
- INIT(GetPreferredExtensionForMIMEType);
- INIT(GetWheelEventDeltas);
-#if PLATFORM(MAC)
- INIT(GetNSEventKeyChar);
-#endif
- INIT(HitTestMediaUIPart);
- INIT(InitializeMaximumHTTPConnectionCountPerHost);
- INIT(MeasureMediaUIPart);
- INIT(CreateMediaUIBackgroundView);
- INIT(CreateMediaUIControl);
- INIT(WindowSetAlpha);
- INIT(WindowSetScaledFrame);
- INIT(MediaControllerThemeAvailable);
- INIT(PopupMenu);
- INIT(SetBaseCTM);
- INIT(SetCGFontRenderingMode);
- INIT(SetCONNECTProxyAuthorizationForStream);
- INIT(SetCONNECTProxyForStream);
- INIT(SetDragImage);
- INIT(SetHTTPPipeliningMaximumPriority);
- INIT(SetHTTPPipeliningPriority);
- INIT(SetHTTPPipeliningMinimumFastLanePriority);
- INIT(SetNSURLConnectionDefersCallbacks);
- INIT(SetNSURLRequestShouldContentSniff);
- INIT(SetPatternPhaseInUserSpace);
- INIT(GetUserToBaseCTM);
- INIT(SetUpFontCache);
- INIT(SignalCFReadStreamEnd);
- INIT(SignalCFReadStreamError);
- INIT(SignalCFReadStreamHasBytes);
- INIT(QTIncludeOnlyModernMediaFileTypes);
- INIT(QTMovieDataRate);
- INIT(QTMovieDisableComponent);
- INIT(QTMovieMaxTimeLoaded);
- INIT(QTMovieMaxTimeLoadedChangeNotification);
- INIT(QTMovieMaxTimeSeekable);
- INIT(QTMovieGetType);
- INIT(QTMovieHasClosedCaptions);
- INIT(QTMovieResolvedURL);
- INIT(QTMovieSetShowClosedCaptions);
- INIT(QTMovieSelectPreferredAlternates);
- INIT(QTMovieViewSetDrawSynchronously);
- INIT(QTGetSitesInMediaDownloadCache);
- INIT(QTClearMediaDownloadCacheForSite);
- INIT(QTClearMediaDownloadCache);
-
- INIT(GetGlyphsForCharacters);
- INIT(GetVerticalGlyphsForCharacters);
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED == 1060
- INIT(GetHyphenationLocationBeforeIndex);
- INIT(GetNSEventMomentumPhase);
-#endif
-
- INIT(CreateCTLineWithUniCharProvider);
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- INIT(IOSurfaceContextCreate);
- INIT(IOSurfaceContextCreateImage);
- INIT(CreateCTTypesetterWithUniCharProviderAndOptions);
- INIT(CTRunGetInitialAdvance);
- INIT(RecommendedScrollerStyle);
- INIT(ExecutableWasLinkedOnOrBeforeSnowLeopard);
- INIT(SetCrashReportApplicationSpecificInformation);
- INIT(CopyDefaultSearchProviderDisplayName);
- INIT(AVAssetResolvedURL);
- INIT(Cursor);
-#endif
-#if USE(CFNETWORK)
- INIT(GetDefaultHTTPCookieStorage);
- INIT(CopyCredentialFromCFPersistentStorage);
- INIT(SetCFURLRequestShouldContentSniff);
- INIT(CFURLRequestCopyHTTPRequestBodyParts);
- INIT(CFURLRequestSetHTTPRequestBodyParts);
- INIT(SetRequestStorageSession);
-#endif
-
-#if PLATFORM(MAC)
- INIT(SpeechSynthesisGetVoiceIdentifiers);
- INIT(SpeechSynthesisGetDefaultVoiceIdentifierForLocale);
-#endif
- INIT(GetAXTextMarkerTypeID);
- INIT(GetAXTextMarkerRangeTypeID);
- INIT(CreateAXTextMarker);
- INIT(GetBytesFromAXTextMarker);
- INIT(CreateAXTextMarkerRange);
- INIT(CopyAXTextMarkerRangeStart);
- INIT(CopyAXTextMarkerRangeEnd);
- INIT(AccessibilityHandleFocusChanged);
- INIT(CreateAXUIElementRef);
- INIT(UnregisterUniqueIdForElement);
- INIT(CreatePrivateStorageSession);
- INIT(CopyRequestWithStorageSession);
- INIT(CopyHTTPCookieStorage);
- INIT(GetHTTPCookieAcceptPolicy);
-#if PLATFORM(MAC)
- INIT(HTTPCookies);
-#endif
- INIT(HTTPCookiesForURL);
- INIT(SetHTTPCookiesForURL);
-#if PLATFORM(MAC)
- INIT(DeleteAllHTTPCookies);
-#endif
- INIT(DeleteHTTPCookie);
-
- INIT(GetCFURLResponseMIMEType);
- INIT(GetCFURLResponseURL);
- INIT(GetCFURLResponseHTTPResponse);
- INIT(CopyCFURLResponseSuggestedFilename);
- INIT(SetCFURLResponseMIMEType);
-
- INIT(SetMetadataURL);
-
-#if PLATFORM(MAC)
- // FIXME: We should stop using this file in Chromium.
-
- INIT(DestroyRenderingResources);
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- INIT(CreateVMPressureDispatchOnMainQueue);
-#endif
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
- INIT(CreateMemoryStatusPressureCriticalDispatchOnMainQueue);
-#endif
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
- INIT(ExecutableWasLinkedOnOrBeforeLion);
-#endif
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- INIT(CGPathAddRoundedRect);
-#endif
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- INIT(CFURLRequestAllowAllPostCaching);
-#endif
-
-#if USE(CONTENT_FILTERING)
- INIT(FilterIsManagedSession);
- INIT(FilterCreateInstance);
- INIT(FilterWasBlocked);
- INIT(FilterIsBuffering);
- INIT(FilterAddData);
- INIT(FilterDataComplete);
-#endif
-
-#if !PLATFORM(IOS) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
- INIT(NSElasticDeltaForTimeDelta);
- INIT(NSElasticDeltaForReboundDelta);
- INIT(NSReboundDeltaForElasticDelta);
-#endif
-
-#if ENABLE(PUBLIC_SUFFIX_LIST)
- INIT(IsPublicSuffix);
-#endif
-
-#if ENABLE(CACHE_PARTITIONING)
- INIT(CachePartitionKey);
-#endif
-
-#endif
- didInit = true;
-}
diff --git a/Source/WebKit/mac/WebInspector/WebInspector.h b/Source/WebKit/mac/WebInspector/WebInspector.h
deleted file mode 100644
index ed78ed7e1..000000000
--- a/Source/WebKit/mac/WebInspector/WebInspector.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/NSObject.h>
-
-@class WebView;
-@class WebInspectorFrontend;
-
-@interface WebInspector : NSObject
-{
- WebView *_webView;
- WebInspectorFrontend *_frontend;
-}
-- (id)initWithWebView:(WebView *)webView;
-- (void)webViewClosed;
-- (void)show:(id)sender;
-- (void)showConsole:(id)sender;
-- (void)close:(id)sender;
-- (void)attach:(id)sender;
-- (void)detach:(id)sender;
-
-- (BOOL)isDebuggingJavaScript;
-- (void)toggleDebuggingJavaScript:(id)sender;
-- (void)startDebuggingJavaScript:(id)sender;
-- (void)stopDebuggingJavaScript:(id)sender;
-
-- (BOOL)isJavaScriptProfilingEnabled;
-- (void)setJavaScriptProfilingEnabled:(BOOL)enabled;
-- (BOOL)isTimelineProfilingEnabled;
-- (void)setTimelineProfilingEnabled:(BOOL)enabled;
-
-- (BOOL)isProfilingJavaScript;
-- (void)toggleProfilingJavaScript:(id)sender;
-- (void)startProfilingJavaScript:(id)sender;
-- (void)stopProfilingJavaScript:(id)sender;
-@end
diff --git a/Source/WebKit/mac/WebInspector/WebInspector.mm b/Source/WebKit/mac/WebInspector/WebInspector.mm
deleted file mode 100644
index 08f4bfad2..000000000
--- a/Source/WebKit/mac/WebInspector/WebInspector.mm
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebInspector.h"
-
-#import "WebFrameInternal.h"
-#import "WebInspectorPrivate.h"
-#import "WebInspectorFrontend.h"
-
-#include <WebCore/Document.h>
-#include <WebCore/Frame.h>
-#include <WebCore/InspectorController.h>
-#include <WebCore/Page.h>
-
-using namespace WebCore;
-
-@implementation WebInspector
-- (id)initWithWebView:(WebView *)webView
-{
- if (!(self = [super init]))
- return nil;
- _webView = webView; // not retained to prevent a cycle
-
- return self;
-}
-
-- (void)dealloc
-{
- [_frontend release];
- [super dealloc];
-}
-
-- (void)webViewClosed
-{
- _webView = nil;
-}
-
-- (void)showWindow
-{
- if (Page* page = core(_webView))
- page->inspectorController()->show();
-}
-
-- (void)show:(id)sender
-{
- [self showWindow];
-}
-
-- (void)showConsole:(id)sender
-{
- [self showWindow];
- [_frontend showConsole];
-}
-
-- (void)showTimeline:(id)sender
-{
- // Not used anymore. Remove when a release of Safari non-longer calls this.
-}
-
-- (BOOL)isDebuggingJavaScript
-{
- return _frontend && [_frontend isDebuggingEnabled];
-}
-
-- (void)toggleDebuggingJavaScript:(id)sender
-{
- [self showWindow];
-
- if ([self isDebuggingJavaScript])
- [_frontend setDebuggingEnabled:false];
- else
- [_frontend setDebuggingEnabled:true];
-}
-
-- (void)startDebuggingJavaScript:(id)sender
-{
- if (_frontend)
- [_frontend setDebuggingEnabled:true];
-}
-
-- (void)stopDebuggingJavaScript:(id)sender
-{
- if (_frontend)
- [_frontend setDebuggingEnabled:false];
-}
-
-- (BOOL)isProfilingJavaScript
-{
- return _frontend && [_frontend isProfilingJavaScript];
-}
-
-- (void)toggleProfilingJavaScript:(id)sender
-{
- [self showWindow];
-
- if ([self isProfilingJavaScript])
- [_frontend stopProfilingJavaScript];
- else
- [_frontend startProfilingJavaScript];
-}
-
-- (void)startProfilingJavaScript:(id)sender
-{
- if (_frontend)
- [_frontend startProfilingJavaScript];
-}
-
-- (void)stopProfilingJavaScript:(id)sender
-{
- if (_frontend)
- [_frontend stopProfilingJavaScript];
-}
-
-- (BOOL)isJavaScriptProfilingEnabled
-{
- if (Page* page = core(_webView))
- return page->inspectorController()->profilerEnabled();
- return NO;
-}
-
-- (void)setJavaScriptProfilingEnabled:(BOOL)enabled
-{
- Page* page = core(_webView);
- if (!page)
- return;
-
- page->inspectorController()->setProfilerEnabled(enabled);
-}
-
-- (BOOL)isTimelineProfilingEnabled
-{
- return _frontend && [_frontend isTimelineProfilingEnabled];
-}
-
-- (void)setTimelineProfilingEnabled:(BOOL)enabled
-{
- if (_frontend)
- [_frontend setTimelineProfilingEnabled:enabled];
-}
-
-- (void)close:(id)sender
-{
- if (Page* page = core(_webView))
- page->inspectorController()->close();
-}
-
-- (void)attach:(id)sender
-{
- [_frontend attach];
-}
-
-- (void)detach:(id)sender
-{
- [_frontend detach];
-}
-
-- (void)evaluateInFrontend:(id)sender callId:(long)callId script:(NSString *)script
-{
- if (Page* page = core(_webView))
- page->inspectorController()->evaluateForTestInFrontend(callId, script);
-}
-
-- (void)setFrontend:(WebInspectorFrontend *)frontend
-{
- _frontend = [frontend retain];
-}
-
-- (void)releaseFrontend
-{
- [_frontend release];
- _frontend = 0;
-}
-@end
-
-@implementation WebInspector (Obsolete)
-+ (WebInspector *)webInspector
-{
- // Safari 3.0 calls this method
- static BOOL logged = NO;
- if (!logged) {
- NSLog(@"+[WebInspector webInspector]: this method is obsolete.");
- logged = YES;
- }
-
- return [[[WebInspector alloc] init] autorelease];
-}
-
-- (void)setWebFrame:(WebFrame *)frame
-{
- // Safari 3.0 calls this method
- static BOOL logged = NO;
- if (!logged) {
- NSLog(@"-[WebInspector setWebFrame:]: this method is obsolete.");
- logged = YES;
- }
-
- _webView = [frame webView];
-}
-
-- (NSWindow *)window
-{
- // Shiira calls this internal method, return nil since we can't easily return the window
- static BOOL logged = NO;
- if (!logged) {
- NSLog(@"-[WebInspector window]: this method is obsolete and now returns nil.");
- logged = YES;
- }
-
- return nil;
-}
-
-- (void)showWindow:(id)sender
-{
- // Safari 3.0 calls this method
- static BOOL logged = NO;
- if (!logged) {
- NSLog(@"-[WebInspector showWindow:]: this method is obsolete.");
- logged = YES;
- }
-
- [self showWindow];
-}
-@end
diff --git a/Source/WebKit/mac/WebInspector/WebInspectorFrontend.h b/Source/WebKit/mac/WebInspector/WebInspectorFrontend.h
deleted file mode 100644
index 597fd2135..000000000
--- a/Source/WebKit/mac/WebInspector/WebInspectorFrontend.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 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 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.
- */
-
-class WebInspectorFrontendClient;
-
-@interface WebInspectorFrontend : NSObject {
-@private
- WebInspectorFrontendClient *m_frontendClient;
-}
-- (id)initWithFrontendClient:(WebInspectorFrontendClient *)frontendClient;
-- (void)attach;
-- (void)detach;
-
-- (BOOL)isDebuggingEnabled;
-- (void)setDebuggingEnabled:(BOOL)enabled;
-
-- (BOOL)isTimelineProfilingEnabled;
-- (void)setTimelineProfilingEnabled:(BOOL)enabled;
-
-- (BOOL)isProfilingJavaScript;
-- (void)startProfilingJavaScript;
-- (void)stopProfilingJavaScript;
-
-- (void)showConsole;
-
-@end
diff --git a/Source/WebKit/mac/WebInspector/WebInspectorFrontend.mm b/Source/WebKit/mac/WebInspector/WebInspectorFrontend.mm
deleted file mode 100644
index 566ecfa7b..000000000
--- a/Source/WebKit/mac/WebInspector/WebInspectorFrontend.mm
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 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 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.
- */
-
-#import "WebInspectorFrontend.h"
-
-#import "WebInspectorClient.h"
-#import <WebCore/InspectorFrontendClient.h>
-
-using namespace WebCore;
-
-@implementation WebInspectorFrontend
-
-- (id)initWithFrontendClient:(WebInspectorFrontendClient *)frontendClient
-{
- if (!(self = [super init]))
- return nil;
-
- m_frontendClient = frontendClient;
- return self;
-}
-
-- (void)attach
-{
- m_frontendClient->attachWindow(InspectorFrontendClient::DOCKED_TO_BOTTOM);
-}
-
-- (void)detach
-{
- m_frontendClient->detachWindow();
-}
-
-- (BOOL)isDebuggingEnabled
-{
- return m_frontendClient->isDebuggingEnabled();
-}
-
-- (void)setDebuggingEnabled:(BOOL)enabled
-{
- m_frontendClient->setDebuggingEnabled(enabled);
-}
-
-- (BOOL)isProfilingJavaScript
-{
- return m_frontendClient->isProfilingJavaScript();
-}
-
-- (void)startProfilingJavaScript
-{
- m_frontendClient->startProfilingJavaScript();
-}
-
-- (void)stopProfilingJavaScript
-{
- m_frontendClient->stopProfilingJavaScript();
-}
-
-- (BOOL)isTimelineProfilingEnabled
-{
- return m_frontendClient->isTimelineProfilingEnabled();
-}
-
-- (void)setTimelineProfilingEnabled:(BOOL)enabled
-{
- m_frontendClient->setTimelineProfilingEnabled(enabled);
-}
-
-- (void)showConsole
-{
- m_frontendClient->showConsole();
-}
-
-@end
diff --git a/Source/WebKit/mac/WebInspector/WebInspectorPrivate.h b/Source/WebKit/mac/WebInspector/WebInspectorPrivate.h
deleted file mode 100644
index 3d924d612..000000000
--- a/Source/WebKit/mac/WebInspector/WebInspectorPrivate.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-// This header contains the WebInspector SPI.
-
-#import <WebKit/WebInspector.h>
-
-@class WebInspectorFrontend;
-
-@interface WebInspector (WebPrivate)
-- (void)evaluateInFrontend:(id)sender callId:(long)callId script:(NSString *)script;
-- (void)showWindow;
-- (void)setFrontend:(WebInspectorFrontend *)frontend;
-- (void)releaseFrontend;
-@end
diff --git a/Source/WebKit/mac/WebInspector/WebNodeHighlight.h b/Source/WebKit/mac/WebInspector/WebNodeHighlight.h
deleted file mode 100644
index 1eb277acc..000000000
--- a/Source/WebKit/mac/WebInspector/WebNodeHighlight.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-@class WebNodeHighlightView;
-
-namespace WebCore {
- class InspectorController;
-}
-
-@interface WebNodeHighlight : NSObject {
- NSView *_targetView;
- NSWindow *_highlightWindow;
- WebNodeHighlightView *_highlightView;
- WebCore::InspectorController* _inspectorController;
- id _delegate;
-}
-- (id)initWithTargetView:(NSView *)targetView inspectorController:(WebCore::InspectorController*)inspectorController;
-
-- (void)setDelegate:(id)delegate;
-- (id)delegate;
-
-- (void)attach;
-- (void)detach;
-
-- (NSView *)targetView;
-- (WebNodeHighlightView *)highlightView;
-
-- (WebCore::InspectorController*)inspectorController;
-
-- (void)setNeedsUpdateInTargetViewRect:(NSRect)rect;
-@end
-
-@interface NSObject (WebNodeHighlightDelegate)
-- (void)didAttachWebNodeHighlight:(WebNodeHighlight *)highlight;
-- (void)willDetachWebNodeHighlight:(WebNodeHighlight *)highlight;
-@end
diff --git a/Source/WebKit/mac/WebInspector/WebNodeHighlight.mm b/Source/WebKit/mac/WebInspector/WebNodeHighlight.mm
deleted file mode 100644
index c918d2d32..000000000
--- a/Source/WebKit/mac/WebInspector/WebNodeHighlight.mm
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNodeHighlight.h"
-#import "WebNodeHighlightView.h"
-#import "WebNSViewExtras.h"
-
-#import <WebCore/InspectorController.h>
-#import <wtf/Assertions.h>
-
-using namespace WebCore;
-
-@interface WebNodeHighlight (FileInternal)
-- (NSRect)_computeHighlightWindowFrame;
-- (void)_repositionHighlightWindow;
-@end
-
-@implementation WebNodeHighlight
-
-- (id)initWithTargetView:(NSView *)targetView inspectorController:(InspectorController*)inspectorController
-{
- self = [super init];
- if (!self)
- return nil;
-
- _targetView = [targetView retain];
- _inspectorController = inspectorController;
-
- int styleMask = NSBorderlessWindowMask;
- NSRect contentRect = [NSWindow contentRectForFrameRect:[self _computeHighlightWindowFrame] styleMask:styleMask];
- _highlightWindow = [[NSWindow alloc] initWithContentRect:contentRect styleMask:styleMask backing:NSBackingStoreBuffered defer:NO];
- [_highlightWindow setBackgroundColor:[NSColor clearColor]];
- [_highlightWindow setOpaque:NO];
- [_highlightWindow setIgnoresMouseEvents:YES];
- [_highlightWindow setReleasedWhenClosed:NO];
-
- _highlightView = [[WebNodeHighlightView alloc] initWithWebNodeHighlight:self];
- [_highlightWindow setContentView:_highlightView];
- [_highlightView release];
-
- return self;
-}
-
-- (void)dealloc
-{
- ASSERT(!_highlightWindow);
- ASSERT(!_targetView);
- ASSERT(!_highlightView);
-
- [super dealloc];
-}
-
-- (void)attach
-{
- ASSERT(_targetView);
- ASSERT([_targetView window]);
- ASSERT(_highlightWindow);
-
- if (!_highlightWindow || !_targetView || ![_targetView window])
- return;
-
- [[_targetView window] addChildWindow:_highlightWindow ordered:NSWindowAbove];
-
- // Observe both frame-changed and bounds-changed notifications because either one could leave
- // the highlight incorrectly positioned with respect to the target view. We need to do this for
- // the entire superview hierarchy to handle scrolling, bars coming and going, etc.
- // (without making concrete assumptions about the view hierarchy).
- NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
- for (NSView *v = _targetView; v; v = [v superview]) {
- [notificationCenter addObserver:self selector:@selector(_repositionHighlightWindow) name:NSViewFrameDidChangeNotification object:v];
- [notificationCenter addObserver:self selector:@selector(_repositionHighlightWindow) name:NSViewBoundsDidChangeNotification object:v];
- }
-
- if (_delegate && [_delegate respondsToSelector:@selector(didAttachWebNodeHighlight:)])
- [_delegate didAttachWebNodeHighlight:self];
-}
-
-- (id)delegate
-{
- return _delegate;
-}
-
-- (void)detach
-{
- if (!_highlightWindow) {
- ASSERT(!_targetView);
- return;
- }
-
- if (_delegate && [_delegate respondsToSelector:@selector(willDetachWebNodeHighlight:)])
- [_delegate willDetachWebNodeHighlight:self];
-
- NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
- [notificationCenter removeObserver:self name:NSViewFrameDidChangeNotification object:nil];
- [notificationCenter removeObserver:self name:NSViewBoundsDidChangeNotification object:nil];
-
- [[_highlightWindow parentWindow] removeChildWindow:_highlightWindow];
-
- [_highlightWindow release];
- _highlightWindow = nil;
-
- [_targetView release];
- _targetView = nil;
-
- // We didn't retain _highlightView, but we do need to tell it to forget about us, so it doesn't
- // try to send our delegate messages after we've been dealloc'ed, e.g.
- [_highlightView detachFromWebNodeHighlight];
- _highlightView = nil;
-}
-
-- (WebNodeHighlightView *)highlightView
-{
- return _highlightView;
-}
-
-- (void)setDelegate:(id)delegate
-{
- // The delegate is not retained, as usual in Cocoa.
- _delegate = delegate;
-}
-
-- (void)setNeedsUpdateInTargetViewRect:(NSRect)rect
-{
- ASSERT(_targetView);
-
- [[_targetView window] disableScreenUpdatesUntilFlush];
-
- // Mark the whole highlight view as needing display since we don't know what areas
- // need updated, since the highlight can be larger than the element to show margins.
- [_highlightView setNeedsDisplay:YES];
-
- // Redraw highlight view immediately so it updates in sync with the target view.
- // This is especially visible when resizing the window, scrolling or with DHTML.
- [_highlightView displayIfNeeded];
-}
-
-- (NSView *)targetView
-{
- return _targetView;
-}
-
-- (InspectorController*)inspectorController
-{
- return _inspectorController;
-}
-
-@end
-
-@implementation WebNodeHighlight (FileInternal)
-
-- (NSRect)_computeHighlightWindowFrame
-{
- ASSERT(_targetView);
- ASSERT([_targetView window]);
-
- NSRect highlightWindowFrame = [_targetView convertRect:[_targetView visibleRect] toView:nil];
- highlightWindowFrame.origin = [[_targetView window] convertBaseToScreen:highlightWindowFrame.origin];
-
- return highlightWindowFrame;
-}
-
-- (void)_repositionHighlightWindow
-{
- // This assertion fires in cases where a new tab is created while the highlight
- // is showing (<http://bugs.webkit.org/show_bug.cgi?id=14254>)
- ASSERT([_targetView window]);
-
- // Until that bug is fixed, bail out to avoid worse problems where the highlight
- // moves to a nonsense location.
- if (![_targetView window])
- return;
-
- // Disable screen updates so the highlight moves in sync with the view.
- [[_targetView window] disableScreenUpdatesUntilFlush];
-
- [_highlightWindow setFrame:[self _computeHighlightWindowFrame] display:YES];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebInspector/WebNodeHighlightView.h b/Source/WebKit/mac/WebInspector/WebNodeHighlightView.h
deleted file mode 100644
index cb317b8f0..000000000
--- a/Source/WebKit/mac/WebInspector/WebNodeHighlightView.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-@class WebNodeHighlight;
-
-@interface WebNodeHighlightView : NSView {
- WebNodeHighlight *_webNodeHighlight;
-}
-- (id)initWithWebNodeHighlight:(WebNodeHighlight *)webNodeHighlight;
-
-- (WebNodeHighlight *)webNodeHighlight;
-- (void)detachFromWebNodeHighlight;
-@end
diff --git a/Source/WebKit/mac/WebInspector/WebNodeHighlightView.mm b/Source/WebKit/mac/WebInspector/WebNodeHighlightView.mm
deleted file mode 100644
index dd363c6b6..000000000
--- a/Source/WebKit/mac/WebInspector/WebNodeHighlightView.mm
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (C) 2006, 2008 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNodeHighlightView.h"
-#import "WebNodeHighlight.h"
-
-#import <WebCore/GraphicsContext.h>
-#import <WebCore/InspectorController.h>
-#import <wtf/Assertions.h>
-
-using namespace WebCore;
-
-@implementation WebNodeHighlightView
-
-- (id)initWithWebNodeHighlight:(WebNodeHighlight *)webNodeHighlight
-{
- self = [self initWithFrame:NSZeroRect];
- if (!self)
- return nil;
-
- _webNodeHighlight = [webNodeHighlight retain];
-
- return self;
-}
-
-- (void)dealloc
-{
- [self detachFromWebNodeHighlight];
- [super dealloc];
-}
-
-- (void)detachFromWebNodeHighlight
-{
- [_webNodeHighlight release];
- _webNodeHighlight = nil;
-}
-
-- (BOOL)isFlipped
-{
- return YES;
-}
-
-- (void)drawRect:(NSRect)rect
-{
- if (_webNodeHighlight) {
- [NSGraphicsContext saveGraphicsState];
-
- ASSERT([[NSGraphicsContext currentContext] isFlipped]);
-
- GraphicsContext context((PlatformGraphicsContext*)[[NSGraphicsContext currentContext] graphicsPort]);
- [_webNodeHighlight inspectorController]->drawHighlight(context);
- [NSGraphicsContext restoreGraphicsState];
- }
-}
-
-- (WebNodeHighlight *)webNodeHighlight
-{
- return _webNodeHighlight;
-}
-
-@end
diff --git a/Source/WebKit/mac/WebInspector/WebNodeHighlighter.h b/Source/WebKit/mac/WebInspector/WebNodeHighlighter.h
deleted file mode 100644
index 2add0c205..000000000
--- a/Source/WebKit/mac/WebInspector/WebNodeHighlighter.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-@class DOMNode;
-@class WebView;
-@class WebNodeHighlight;
-
-@interface WebNodeHighlighter : NSObject {
-@private
- WebView *_inspectedWebView;
- WebNodeHighlight *_currentHighlight;
-}
-- (id)initWithInspectedWebView:(WebView *)webView;
-- (void)highlight;
-- (void)hideHighlight;
-@end
diff --git a/Source/WebKit/mac/WebInspector/WebNodeHighlighter.mm b/Source/WebKit/mac/WebInspector/WebNodeHighlighter.mm
deleted file mode 100644
index 1d0df83fb..000000000
--- a/Source/WebKit/mac/WebInspector/WebNodeHighlighter.mm
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNodeHighlighter.h"
-
-#import "DOMNodeInternal.h"
-#import "WebNodeHighlight.h"
-#import "WebViewInternal.h"
-#import <WebCore/Page.h>
-
-@implementation WebNodeHighlighter
-
-- (id)initWithInspectedWebView:(WebView *)webView
-{
- if (!(self = [super init]))
- return nil;
-
- // Don't retain to avoid a circular reference.
- _inspectedWebView = webView;
-
- return self;
-}
-
-- (void)dealloc
-{
- ASSERT(!_currentHighlight);
- [super dealloc];
-}
-
-// MARK: -
-
-- (void)highlight
-{
- // The scrollview's content view stays around between page navigations, so target it.
- NSView *view = [[[[[_inspectedWebView mainFrame] frameView] documentView] enclosingScrollView] contentView];
- if (![view window])
- return; // Skip the highlight if we have no window (e.g. hidden tab).
-
- if (!_currentHighlight) {
- _currentHighlight = [[WebNodeHighlight alloc] initWithTargetView:view inspectorController:[_inspectedWebView page]->inspectorController()];
- [_currentHighlight setDelegate:self];
- [_currentHighlight attach];
- } else
- [[_currentHighlight highlightView] setNeedsDisplay:YES];
-}
-
-- (void)hideHighlight
-{
- [_currentHighlight detach];
- [_currentHighlight setDelegate:nil];
- [_currentHighlight release];
- _currentHighlight = nil;
-}
-
-// MARK: -
-// MARK: WebNodeHighlight delegate
-
-- (void)didAttachWebNodeHighlight:(WebNodeHighlight *)highlight
-{
- [_inspectedWebView setCurrentNodeHighlight:highlight];
-}
-
-- (void)willDetachWebNodeHighlight:(WebNodeHighlight *)highlight
-{
- [_inspectedWebView setCurrentNodeHighlight:nil];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebKit.exp b/Source/WebKit/mac/WebKit.exp
deleted file mode 100644
index afa16943d..000000000
--- a/Source/WebKit/mac/WebKit.exp
+++ /dev/null
@@ -1,131 +0,0 @@
-.objc_class_name_WebApplicationCache
-.objc_class_name_WebArchive
-.objc_class_name_WebBackForwardList
-.objc_class_name_WebCache
-.objc_class_name_WebCoreScrollView
-.objc_class_name_WebCoreStatistics
-.objc_class_name_WebDataSource
-.objc_class_name_WebDatabaseManager
-.objc_class_name_WebStorageManager
-.objc_class_name_WebDefaultPolicyDelegate
-.objc_class_name_WebDeviceOrientation
-.objc_class_name_WebDeviceOrientationProviderMock
-.objc_class_name_WebDownload
-.objc_class_name_WebDynamicScrollBarsView
-.objc_class_name_WebFormDelegate
-.objc_class_name_WebFrame
-.objc_class_name_WebFrameView
-.objc_class_name_WebGeolocationPosition
-.objc_class_name_WebHTMLRepresentation
-.objc_class_name_WebHTMLView
-.objc_class_name_WebHistory
-.objc_class_name_WebHistoryItem
-.objc_class_name_WebIconDatabase
-.objc_class_name_WebInspector
-.objc_class_name_WebJavaScriptTextInputPanel
-.objc_class_name_WebKeyGenerator
-.objc_class_name_WebKitStatistics
-.objc_class_name_WebPanelAuthenticationHandler
-.objc_class_name_WebPluginDatabase
-.objc_class_name_WebPreferences
-.objc_class_name_WebRenderLayer
-.objc_class_name_WebRenderNode
-.objc_class_name_WebResource
-.objc_class_name_WebScriptCallFrame
-.objc_class_name_WebScriptWorld
-.objc_class_name_WebSecurityOrigin
-.objc_class_name_WebSerializedJSValue
-.objc_class_name_WebStringTruncator
-.objc_class_name_WebTextIterator
-.objc_class_name_WebURLsWithTitles
-.objc_class_name_WebUserContentURLPattern
-.objc_class_name_WebView
-_HIWebViewCreate
-_HIWebViewGetWebView
-_WebActionButtonKey
-_WebActionElementKey
-_WebActionFormKey
-_WebActionModifierFlagsKey
-_WebActionNavigationTypeKey
-_WebActionOriginalURLKey
-_WebArchivePboardType
-_WebConvertNSImageToCGImageRef
-_WebCoreScrollbarAlwaysOn
-_WebDatabaseDidModifyDatabaseNotification
-_WebDatabaseDidModifyOriginNotification
-_WebDatabaseDirectoryDefaultsKey
-_WebDatabaseDisplayNameKey
-_WebDatabaseExpectedSizeKey
-_WebDatabaseIdentifierKey
-_WebDatabaseUsageKey
-_WebElementDOMNodeKey
-_WebElementFrameKey
-_WebElementImageAltStringKey
-_WebElementImageKey
-_WebElementImageRectKey
-_WebElementImageURLKey
-_WebElementIsSelectedKey
-_WebElementMediaURLKey
-_WebElementLinkIsLiveKey
-_WebElementLinkLabelKey
-_WebElementLinkTargetFrameKey
-_WebElementLinkTitleKey
-_WebElementLinkURLKey
-_WebFrameCanSuspendActiveDOMObjects
-_WebFrameHasPlugins
-_WebFrameHasUnloadListener
-_WebFrameMainDocumentError
-_WebFrameUsesApplicationCache
-_WebFrameUsesDatabases
-_WebFrameUsesGeolocation
-_WebHistoryAllItemsRemovedNotification
-_WebHistoryItemChangedNotification
-_WebHistoryItemsAddedNotification
-_WebHistoryItemsDiscardedWhileLoadingNotification
-_WebHistoryItemsKey
-_WebHistoryItemsRemovedNotification
-_WebHistoryLoadedNotification
-_WebHistorySavedNotification
-_WebIconDatabaseDidAddIconNotification
-_WebIconDatabaseDidRemoveAllIconsNotification
-_WebIconDatabaseDirectoryDefaultsKey
-_WebIconLargeSize
-_WebIconMediumSize
-_WebIconNotificationUserInfoURLKey
-_WebIconSmallSize
-_WebInitForCarbon
-_WebInstallMemoryPressureHandler
-_WebKitErrorDomain
-_WebKitErrorMIMETypeKey
-_WebKitErrorPlugInNameKey
-_WebKitErrorPlugInPageURLStringKey
-_WebKitLocalCacheDefaultsKey
-_WebLocalizedString
-_WebPlugInAttributesKey
-_WebPlugInBaseURLKey
-_WebPlugInContainerKey
-_WebPlugInContainingElementKey
-_WebPlugInModeKey
-_WebPlugInShouldLoadMainResourceKey
-_WebPluginWillPresentNativeUserInterfaceNotification
-_WebPreferencesChangedNotification
-_WebReportAssertionFailure
-_WebReportError
-_WebScriptErrorDescriptionKey
-_WebScriptErrorDomain
-_WebScriptErrorLineNumberKey
-_WebStorageDirectoryDefaultsKey
-_WebStorageDidModifyOriginNotification
-_WebURLNamePboardType
-_WebURLPboardType
-_WebViewDidBeginEditingNotification
-_WebViewDidChangeNotification
-_WebViewDidChangeSelectionNotification
-_WebViewDidChangeTypingStyleNotification
-_WebViewDidEndEditingNotification
-_WebViewProgressEstimateChangedNotification
-_WebViewProgressFinishedNotification
-_WebViewProgressStartedNotification
-__WebHTMLViewPrintingMaximumShrinkFactor
-__WebHTMLViewPrintingMinimumShrinkFactor
-__WebViewDidStartAcceleratedCompositingNotification
diff --git a/Source/WebKit/mac/WebKit.order b/Source/WebKit/mac/WebKit.order
deleted file mode 100644
index eadbb450e..000000000
--- a/Source/WebKit/mac/WebKit.order
+++ /dev/null
@@ -1,2572 +0,0 @@
-+[WebPreferences initialize]
-_WebKitLinkedOnOrAfter
-+[WebPreferences(WebPrivate) setWebKitLinkTimeVersion:]
-_setWebKitLinkTimeVersion
-+[WebView initialize]
-__Z26InitWebCoreSystemInterfacev
-+[WebView(WebPrivate) _standardUserAgentWithApplicationName:]
-+[WebPreferences standardPreferences]
--[WebPreferences initWithIdentifier:]
-+[WebPreferences(WebInternal) _IBCreatorID]
-+[WebPreferences(WebPrivate) _getInstanceForIdentifier:]
-+[WebPreferences(WebPrivate) _setInstance:forIdentifier:]
--[WebPreferences(WebPrivate) _postPreferencesChangedNotification]
-+[WebView(WebFileInternal) _preferencesChangedNotification:]
--[WebPreferences cacheModel]
--[WebPreferences _integerValueForKey:]
--[WebPreferences _valueForKey:]
-+[WebView(WebFileInternal) _didSetCacheModel]
-+[WebView(WebFileInternal) _setCacheModel:]
-_WKCopyFoundationCacheDirectory
-_cfURLCache
-_WebMemorySize
-_initCapabilities
-_WebVolumeFreeSize
--[WebPreferences setAutosaves:]
-+[NSString(WebKitExtras) _webkit_localCacheDirectoryWithBundleIdentifier:]
--[NSString(WebKitExtras) _web_stringByAbbreviatingWithTildeInPath]
-+[WebView(WebPrivate) _registerViewClass:representationClass:forURLScheme:]
-+[WebView(WebPrivate) _generatedMIMETypeForURLScheme:]
-+[WebView registerViewClass:representationClass:forMIMEType:]
-+[WebFrameView(WebInternal) _viewTypesAllowImageTypeOmission:]
-+[WebHTMLView initialize]
-+[WebHTMLView(WebPrivate) _insertablePasteboardTypes]
-+[WebHTMLView(WebPrivate) _selectionPasteboardTypes]
-+[WebHTMLView(WebPrivate) supportedNonImageMIMETypes]
-+[WebHTMLRepresentation supportedNonImageMIMETypes]
-__ZL11stringArrayRKN3WTF7HashSetINS_6StringENS_10StringHashENS_10HashTraitsIS1_EEEE
-+[WebPDFView supportedMIMETypes]
-+[WebPDFRepresentation supportedMIMETypes]
-+[WebPDFRepresentation postScriptMIMETypes]
-+[WebDataSource(WebInternal) _repTypesAllowImageTypeOmission:]
-_WebInstallMemoryPressureHandler
-+[WebPreferences(WebPrivate) _setInitialDefaultTextEncodingToSystemEncoding]
-+[WebPreferences(WebPrivate) _systemCFStringEncoding]
-_WKGetWebDefaultCFStringEncoding
--[NSString(WebKitExtras) _webkit_isCaseInsensitiveEqualToString:]
--[WebPreferences arePlugInsEnabled]
--[WebPreferences _boolValueForKey:]
--[WebPreferences(WebPrivate) acceleratedCompositingEnabled]
-+[NSURL(WebNSURLExtras) _web_URLWithDataAsString:]
-+[NSURL(WebNSURLExtras) _web_URLWithDataAsString:relativeToURL:]
--[NSString(WebKitExtras) _webkit_stringByTrimmingWhitespace]
-+[NSURL(WebNSURLExtras) _web_URLWithData:relativeToURL:]
--[NSURL(WebNSURLExtras) _web_originalDataAsString]
--[NSURL(WebNSURLExtras) _web_originalData]
-_WebLocalizedString
-+[WebView(WebPrivate) _registerURLSchemeAsSecure:]
-+[WebView(WebPrivate) _setDomainRelaxationForbidden:forURLScheme:]
--[WebPreferences(WebPrivate) setDeveloperExtrasEnabled:]
--[WebPreferences _setBoolValue:forKey:]
-+[NSPasteboard(WebExtras) _web_dragTypesForURL]
--[NSString(WebKitExtras) _web_widthWithFont:]
-__ZN7WebCore16FontFallbackListD1Ev
-__ZN7WebCore10FontFamilyD1Ev
-__ZN3WTF10ListRefPtrIN7WebCore16SharedFontFamilyEED2Ev
-__ZN3WTF14derefIfNotNullIN7WebCore16SharedFontFamilyEEEvPT_
-+[WebStringTruncator initialize]
-+[WebStringTruncator centerTruncateString:toWidth:withFont:]
-__ZL14fontFromNSFontP6NSFont
-+[NSUserDefaults(WebNSUserDefaultsExtras) _webkit_preferredLanguageCode]
--[NSView(WebExtras) _web_superviewOfClass:]
-+[WebHistory(WebPrivate) _setVisitedLinkTrackingEnabled:]
-+[WebHistory(WebPrivate) _removeAllVisitedLinks]
--[WebPreferences(WebPrivate) setRespectStandardStyleKeyEquivalents:]
--[WebPreferences setPrivateBrowsingEnabled:]
--[WebPreferences(WebPrivate) setDOMPasteAllowed:]
--[WebPreferences setCacheModel:]
--[WebPreferences _setIntegerValue:forKey:]
--[WebPreferences(WebPrivate) setAutomaticallyDetectsCacheModel:]
-+[NSURL(WebNSURLExtras) _web_URLWithUserTypedString:]
-+[NSURL(WebNSURLExtras) _web_URLWithUserTypedString:relativeToURL:]
-__ZL12mapHostNamesP8NSStringa
--[NSURL(WebNSURLExtras) _web_userVisibleString]
--[NSEvent(WebExtras) _web_isOptionTabKeyEvent]
--[NSString(WebNSURLExtras) _web_isUserVisibleURL]
--[NSURL(WebNSURLExtras) _webkit_canonicalize]
-_WKNSURLProtocolClassForRequest
-+[WebStringTruncator rightTruncateString:toWidth:withFont:]
--[NSString(WebKitExtras) _web_drawAtPoint:font:textColor:]
--[NSString(WebKitExtras) _web_drawAtPoint:font:textColor:allowingFontSmoothing:]
--[NSURL(WebNSURLExtras) _web_hostString]
--[NSURL(WebNSURLExtras) _web_hostData]
--[NSURL(WebNSURLExtras) _web_dataForURLComponentType:]
--[NSURL(WebNSURLExtras) _web_schemeData]
--[NSData(WebNSDataExtras) _web_isCaseInsensitiveEqualToCString:]
--[NSEvent(WebExtras) _web_isReturnOrEnterKeyEvent]
--[NSEvent(WebExtras) _web_isKeyEvent:]
-+[NSPasteboard(WebExtras) _web_setFindPasteboardString:withOwner:]
--[WebPreferences(WebPrivate) setAllowUniversalAccessFromFileURLs:]
--[WebPreferences(WebPrivate) setAllowFileAccessFromFileURLs:]
--[WebPreferences setStandardFontFamily:]
--[WebPreferences _setStringValue:forKey:]
--[WebPreferences _stringValueForKey:]
--[WebPreferences setFixedFontFamily:]
--[WebPreferences setSerifFontFamily:]
--[WebPreferences setSansSerifFontFamily:]
--[WebPreferences setCursiveFontFamily:]
--[WebPreferences setFantasyFontFamily:]
--[WebPreferences setDefaultFontSize:]
--[WebPreferences setDefaultFixedFontSize:]
--[WebPreferences setMinimumFontSize:]
--[WebPreferences setJavaEnabled:]
--[WebPreferences setJavaScriptEnabled:]
--[WebPreferences(WebPrivate) setEditableLinkBehavior:]
--[WebPreferences setTabsToLinks:]
--[WebPreferences setShouldPrintBackgrounds:]
--[WebPreferences(WebPrivate) setXSSAuditorEnabled:]
--[WebPreferences(WebPrivate) setExperimentalNotificationsEnabled:]
--[WebPreferences(WebPrivate) setPluginAllowedRunTime:]
--[WebPreferences setPlugInsEnabled:]
--[WebPreferences(WebPrivate) setAuthorAndUserStylesEnabled:]
--[WebPreferences setJavaScriptCanOpenWindowsAutomatically:]
--[WebPreferences(WebPrivate) setJavaScriptCanAccessClipboard:]
--[WebPreferences(WebPrivate) setOfflineWebApplicationCacheEnabled:]
--[WebPreferences setLoadsImagesAutomatically:]
--[WebPreferences(WebPrivate) setLoadsSiteIconsIgnoringImageLoadingPreference:]
--[WebPreferences(WebPrivate) setFrameFlatteningEnabled:]
--[WebPreferences(WebPrivate) setSpatialNavigationEnabled:]
--[WebPreferences setUserStyleSheetEnabled:]
--[WebPreferences setUsesPageCache:]
--[WebPreferences(WebPrivate) setAcceleratedCompositingEnabled:]
--[WebPreferences(WebPrivate) setCanvasUsesAcceleratedDrawing:]
--[WebPreferences(WebPrivate) setAcceleratedDrawingEnabled:]
--[WebPreferences(WebPrivate) setWebGLEnabled:]
--[WebPreferences(WebPrivate) setUsePreHTML5ParserQuirks:]
--[WebPreferences(WebPrivate) setAsynchronousSpellCheckingEnabled:]
-+[WebView(WebPrivate) _setLoadResourcesSerially:]
-_WKInitializeMaximumHTTPConnectionCountPerHost
-+[WebPluginDatabase setAdditionalWebPlugInPaths:]
-+[WebPluginDatabase sharedDatabase]
--[WebPluginDatabase init]
-+[WebPluginDatabase(Internal) _defaultPlugInPaths]
--[WebPluginDatabase setPlugInPaths:]
--[WebPluginDatabase refresh]
--[WebPluginDatabase(Internal) _scanForNewPlugins]
--[WebPluginDatabase(Internal) _plugInPaths]
-+[WebBasePluginPackage initialize]
-+[WebBasePluginPackage pluginWithPath:]
--[WebBasePluginPackage .cxx_construct]
--[WebPluginPackage initWithPath:]
--[WebBasePluginPackage initWithPath:]
--[WebPluginPackage dealloc]
--[WebBasePluginPackage dealloc]
--[WebBasePluginPackage .cxx_destruct]
-__ZN7WebCore10PluginInfoD1Ev
-__ZN3WTF6VectorIN7WebCore13MimeClassInfoELm0EED1Ev
--[WebNetscapePluginPackage initWithPath:]
--[WebNetscapePluginPackage _initWithPath:]
--[WebBasePluginPackage getPluginInfoFromPLists]
--[WebBasePluginPackage _objectForInfoDictionaryKey:]
--[NSArray(WebPluginExtensions) _web_lowercaseStrings]
-__ZN3WTF6VectorINS_6StringELm0EE14expandCapacityEm
-__ZN3WTF6VectorIN7WebCore13MimeClassInfoELm0EE15reserveCapacityEm
-__ZN7WebCore13MimeClassInfoC2ERKS0_
-__ZN3WTF6VectorINS_6StringELm0EEC2ERKS2_
-__ZN7WebCore13MimeClassInfoD1Ev
-__ZN3WTF6VectorINS_6StringELm0EED1Ev
--[WebBasePluginPackage isNativeLibraryData:]
--[WebBasePluginPackage pListForPath:createFile:]
-+[WebBasePluginPackage preferredLocalizationName]
-_WKCopyCFLocalizationPreferredName
--[WebNetscapePluginPackage(Internal) _unloadWithShutdown:]
--[WebPluginDatabase(Internal) _addPlugin:]
--[WebBasePluginPackage path]
--[WebBasePluginPackage wasAddedToPluginDatabase:]
--[WebBasePluginPackage pluginInfo]
-+[WebView canShowMIMETypeAsHTML:]
-+[WebFrameView(WebInternal) _canShowMIMETypeAsHTML:]
--[NSDictionary(WebNSDictionaryExtras) _webkit_objectForMIMEType:]
--[WebPluginDatabase pluginForMIMEType:]
--[WebBasePluginPackage supportsMIMEType:]
-__ZN23PluginPackageCandidates6updateEP20WebBasePluginPackage
--[WebNetscapePluginPackage executableType]
-__ZL14checkCandidatePP20WebBasePluginPackageS1_
--[WebBasePluginPackage isQuickTimePlugIn]
--[WebBasePluginPackage bundleIdentifier]
--[WebBasePluginPackage isJavaPlugIn]
-+[WebView(WebPrivate) _registerPluginMIMEType:]
-__ZN3WTF9HashTableINS_6StringES1_NS_17IdentityExtractorIS1_EENS_10StringHashENS_10HashTraitsIS1_EES6_E3addIS1_S1_NS_22IdentityHashTranslatorIS1_S1_S4_EEEESt4pairINS_17HashTableIteratorIS1_S1_S3_S4_S6_S6_EEbERKT_RKT0_
-__ZNK3WTF10StringImpl4hashEv
-__ZN3WTF9HashTableINS_6StringES1_NS_17IdentityExtractorIS1_EENS_10StringHashENS_10HashTraitsIS1_EES6_E6rehashEi
-__ZN3WTF9HashTableINS_6StringES1_NS_17IdentityExtractorIS1_EENS_10StringHashENS_10HashTraitsIS1_EES6_E16lookupForWritingIS1_NS_22IdentityHashTranslatorIS1_S1_S4_EEEESt4pairIPS1_bERKT_
-__ZN3WTF9HashTableINS_6StringES1_NS_17IdentityExtractorIS1_EENS_10StringHashENS_10HashTraitsIS1_EES6_E6lookupIS1_NS_22IdentityHashTranslatorIS1_S1_S4_EEEEPS1_RKT_
--[WebPluginDatabase(Internal) _removePlugin:]
-+[WebView(WebPrivate) _unregisterPluginMIMEType:]
-+[WebView(WebPrivate) _unregisterViewClassAndRepresentationClassForMIMEType:]
-+[WebHTMLView(WebPrivate) supportedImageMIMETypes]
-+[WebHTMLRepresentation supportedImageMIMETypes]
-__ZN3WTF9HashTableINS_6StringES1_NS_17IdentityExtractorIS1_EENS_10StringHashENS_10HashTraitsIS1_EES6_E6removeEPS1_
--[WebNetscapePluginPackage wasRemovedFromPluginDatabase:]
--[WebBasePluginPackage wasRemovedFromPluginDatabase:]
--[WebView initWithFrame:frameName:groupName:]
-__ZL32needsWebViewInitThreadWorkaroundv
--[WebView(WebPrivate) _initWithFrame:frameName:groupName:usesDocumentViews:]
-+[WebViewPrivate initialize]
--[WebViewPrivate .cxx_construct]
--[WebViewPrivate init]
--[WebView(WebPrivate) _commonInitializationWithFrameName:groupName:usesDocumentViews:]
--[WebPreferences(WebPrivate) willAddToWebView]
--[WebFrameView initWithFrame:]
-+[WebViewFactory createSharedFactory]
--[WebDynamicScrollBarsView initWithFrame:]
--[WebClipView initWithFrame:]
--[WebClipView visibleRect]
--[WebDynamicScrollBarsView(WebInternal) tile]
--[WebFrameView visibleRect]
--[WebFrameView webFrame]
--[WebView(WebPrivate) isFlipped]
-_WebKitInitializeLoggingChannelsIfNecessary
-_initializeLogChannel
-+[WebHistoryItem initialize]
-+[WebHistoryItem(WebInternal) initWindowWatcherIfNecessary]
-__Z36WebKitInitializeDatabasesIfNecessaryv
-__ZN24WebDatabaseManagerClient30sharedWebDatabaseManagerClientEv
-__Z34WebKitInitializeStorageIfNecessaryv
-__ZN23WebStorageManagerClient29sharedWebStorageManagerClientEv
-__ZN21WebPlatformStrategies10initializeEv
-__ZN15WebChromeClientC1EP7WebView
-__ZN20WebContextMenuClientC1EP7WebView
-__ZN15WebEditorClientC1EP7WebView
-__ZN15WebEditorClientC2EP7WebView
-__ZN15CorrectionPanelC1Ev
-__ZN13WebDragClientC1EP7WebView
-__ZN18WebInspectorClientC1EP7WebView
-__ZN18WebInspectorClientC2EP7WebView
--[WebNodeHighlighter initWithInspectedWebView:]
-__ZN21WebPluginHalterClientC1EP7WebView
-__ZN20WebGeolocationClientC1EP7WebView
--[WebView preferences]
--[WebPreferences(WebPrivate) _localStorageDatabasePath]
-+[WebFrame(WebInternal) _createMainFrameWithPage:frameName:frameView:]
-+[WebFrame(WebInternal) _createFrameWithPage:frameName:frameView:ownerElement:]
-__ZNK15WebChromeClient7webViewEv
--[WebFrame(WebInternal) _initWithWebFrameView:webView:]
-+[WebView(WebViewInternal) shouldIncludeInWebKitStatistics]
--[WebFramePrivate setWebFrameView:]
--[WebFrameView(WebInternal) _setWebFrame:]
--[WebFrame(WebInternal) _isIncludedInWebKitStatistics]
-__ZN20WebFrameLoaderClientC1EP8WebFrame
-__ZN20WebFrameLoaderClientC2EP8WebFrame
-__ZN20WebFrameLoaderClient20createDocumentLoaderERKN7WebCore15ResourceRequestERKNS0_14SubstituteDataE
-__ZN20WebDocumentLoaderMacC1ERKN7WebCore15ResourceRequestERKNS0_14SubstituteDataE
-__ZN20WebDocumentLoaderMacC2ERKN7WebCore15ResourceRequestERKNS0_14SubstituteDataE
--[WebDataSource(WebInternal) _initWithDocumentLoader:]
-+[WebDataSourcePrivate initialize]
--[WebDataSource webFrame]
-__Z10getWebViewP8WebFrame
-__ZN20WebDocumentLoaderMac13setDataSourceEP13WebDataSourceP7WebView
--[WebView resourceLoadDelegate]
--[WebView downloadDelegate]
-__ZN20WebDocumentLoaderMac13attachToFrameEv
-__ZN20WebFrameLoaderClient22provisionalLoadStartedEv
--[WebFrameView(WebInternal) _scrollView]
-__ZN20WebFrameLoaderClient25setMainFrameDocumentReadyEb
--[WebView(WebPendingPublic) setMainFrameDocumentReady:]
-__ZN20WebFrameLoaderClient17setCopiesOnScrollEv
-__ZN20WebFrameLoaderClient31prepareForDataSourceReplacementEv
--[WebFrame(WebInternal) _dataSource]
-__ZN20WebFrameLoaderClient31transitionToCommittedForNewPageEv
-__ZNK20WebDocumentLoaderMac10dataSourceEv
--[WebView(WebPrivate) _usesDocumentViews]
--[WebDataSource(WebPrivate) _responseMIMEType]
--[WebDataSource response]
--[WebFrameView(WebInternal) _viewClassForMIMEType:]
--[WebFrameView(WebInternal) _webView]
--[WebFrame webView]
-+[WebFrameView(WebInternal) _viewClassForMIMEType:allowingPlugins:]
-+[WebView(WebPrivate) _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]
-+[WebHTMLView(WebPrivate) unsupportedTextMIMETypes]
-+[WebHTMLRepresentation unsupportedTextMIMETypes]
-__Z4coreP8WebFrame
--[WebView removePluginInstanceViewsFor:]
--[WebFrameView(WebInternal) _makeDocumentViewForDataSource:]
--[WebDataSource representation]
--[WebHTMLView initWithFrame:]
-+[WebHTMLViewPrivate initialize]
--[WebPluginController initWithDocumentView:]
--[WebFrameView(WebInternal) _setDocumentView:]
-__Z4coreP7WebView
--[WebView(WebPrivate) page]
--[WebDynamicScrollBarsView(WebInternal) setSuppressLayout:]
--[WebHTMLView viewWillMoveToSuperview:]
--[WebHTMLView(WebHTMLViewFileInternal) _removeSuperviewObservers]
--[WebHTMLView setNeedsDisplayInRect:]
-__ZL21setNeedsDisplayInRectP6NSViewP13objc_selector6CGRect
--[WebHTMLView visibleRect]
--[WebClipView hasAdditionalClip]
--[WebFrame(WebInternal) _getVisibleRect:]
--[WebHTMLView isFlipped]
--[WebHTMLView viewDidMoveToSuperview]
--[WebHTMLView addSuperviewObservers]
--[WebHTMLView(WebPrivate) _isUsingAcceleratedCompositing]
--[WebHTMLView _invalidateGStatesForTree]
--[WebDynamicScrollBarsView(WebInternal) reflectScrolledClipView:]
--[WebDynamicScrollBarsView(WebInternal) updateScrollers]
--[WebDynamicScrollBarsView(WebInternal) adjustForScrollOriginChange]
--[WebFrame(WebInternal) _updateBackgroundAndUpdatesWhileOffscreen]
--[WebView drawsBackground]
--[WebView(WebPrivate) backgroundColor]
--[WebFrame frameView]
--[WebFrameView documentView]
--[WebView shouldUpdateWhileOffscreen]
--[WebFrameView(WebInternal) _install]
--[WebDynamicScrollBarsView(WebInternal) scrollingModes:vertical:]
--[WebHTMLView setDataSource:]
--[WebPluginController setDataSource:]
--[WebHTMLView addMouseMovedObserver]
--[WebHTMLView(WebHTMLViewFileInternal) _isTopHTMLView]
--[WebHTMLView(WebHTMLViewFileInternal) _topHTMLView]
--[WebDataSource(WebInternal) _webView]
--[WebView mainFrame]
-__Z3kitPN7WebCore5FrameE
--[WebHTMLView(WebHTMLViewFileInternal) _webView]
--[WebView(WebPrivate) _dashboardBehavior:]
--[WebDataSource(WebInternal) _documentLoader]
--[WebDataSource pageTitle]
-__ZN20WebFrameLoaderClient15finishedLoadingEPN7WebCore14DocumentLoaderE
--[WebDataSource(WebInternal) _finishedLoading]
-__ZNK7WebCore17FrameLoaderClient23shouldUsePluginDocumentERKN3WTF6StringE
-__ZNK20WebFrameLoaderClient11hasHTMLViewEv
-__ZNK7WebCore12ChromeClient26allowedCompositingTriggersEv
-__ZN15WebChromeClient28numWheelEventHandlersChangedEj
--[WebHTMLView(WebInternal) _needsLayout]
--[WebHTMLView(WebInternal) _frame]
--[WebFrame(WebInternal) _needsLayout]
-_WKMakeScrollbarPainterController
-_WKContentAreaResized
-__ZNK15WebChromeClient19contentsSizeChangedEPN7WebCore5FrameERKNS0_7IntSizeE
-__ZNK20WebFrameLoaderClient17overrideMediaTypeEv
--[WebView mediaStyle]
-__ZN20WebFrameLoaderClient24documentElementAvailableEv
-__ZN20WebFrameLoaderClient18frameLoadCompletedEv
-__ZN20WebFrameLoaderClient21forceLayoutForNonHTMLEv
--[WebDataSource(WebInternal) _isDocumentHTML]
-__ZN20WebFrameLoaderClient23createNetworkingContextEv
--[WebView _realZoomMultiplierIsTextOnly]
--[WebView _realZoomMultiplier]
--[WebView _setZoomMultiplier:isTextOnly:]
--[WebView(WebViewInternal) _mainCoreFrame]
--[WebView(WebPendingPublic) scheduleInRunLoop:forMode:]
--[WebView(AllWebViews) _addToAllWebViewsSet]
--[WebView setGroupName:]
--[WebView(WebPrivate) _registerDraggedTypes]
--[WebView(WebPrivate) _preferencesChanged:]
--[WebPreferences(WebPrivate) _useSiteSpecificSpoofing]
--[WebPreferences cursiveFontFamily]
-__ZN3WTF12AtomicStringC2EP8NSString
--[WebPreferences defaultFixedFontSize]
--[WebPreferences defaultFontSize]
--[WebPreferences defaultTextEncodingName]
--[WebPreferences(WebPrivate) usesEncodingDetector]
--[WebPreferences fantasyFontFamily]
--[WebPreferences fixedFontFamily]
--[WebPreferences(WebPrivate) _forceFTPDirectoryListings]
--[WebPreferences(WebPrivate) _ftpDirectoryTemplatePath]
--[WebPreferences isJavaEnabled]
--[WebPreferences isJavaScriptEnabled]
--[WebPreferences(WebPrivate) isWebSecurityEnabled]
--[WebPreferences(WebPrivate) allowUniversalAccessFromFileURLs]
--[WebPreferences(WebPrivate) allowFileAccessFromFileURLs]
--[WebPreferences javaScriptCanOpenWindowsAutomatically]
--[WebPreferences minimumFontSize]
--[WebPreferences minimumLogicalFontSize]
--[WebPreferences(WebPrivate) databasesEnabled]
--[WebPreferences(WebPrivate) localStorageEnabled]
--[WebPreferences(WebPrivate) experimentalNotificationsEnabled]
--[WebPreferences privateBrowsingEnabled]
--[WebPreferences sansSerifFontFamily]
--[WebPreferences serifFontFamily]
--[WebPreferences standardFontFamily]
--[WebPreferences loadsImagesAutomatically]
--[WebPreferences(WebPrivate) loadsSiteIconsIgnoringImageLoadingPreference]
--[WebPreferences shouldPrintBackgrounds]
--[WebPreferences(WebPrivate) textAreasAreResizable]
--[WebPreferences(WebPrivate) shrinksStandaloneImagesToFit]
--[WebPreferences(WebPrivate) editableLinkBehavior]
-__Z4core26WebKitEditableLinkBehavior
--[WebPreferences(WebPrivate) textDirectionSubmenuInclusionBehavior]
-__Z4core40WebTextDirectionSubmenuInclusionBehavior
--[WebPreferences(WebPrivate) isDOMPasteAllowed]
--[WebView(WebPrivate) usesPageCache]
--[WebPreferences usesPageCache]
--[WebPreferences(WebPrivate) showsURLsInToolTips]
--[WebPreferences(WebPrivate) developerExtrasEnabled]
--[WebPreferences(WebPrivate) authorAndUserStylesEnabled]
--[WebPreferences(WebPrivate) applicationChromeModeEnabled]
--[WebPreferences userStyleSheetEnabled]
--[WebView(WebPrivate) _needsAdobeFrameReloadingQuirk]
-_WKAppVersionCheckLessThan
--[WebView(WebPrivate) _needsLinkElementTextCSSQuirk]
--[WebView(WebPrivate) _needsKeyboardEventDisambiguationQuirks]
--[WebPreferences(WebPrivate) webArchiveDebugModeEnabled]
--[WebPreferences(WebPrivate) localFileContentSniffingEnabled]
--[WebPreferences(WebPrivate) offlineWebApplicationCacheEnabled]
--[WebPreferences(WebPrivate) javaScriptCanAccessClipboard]
--[WebPreferences(WebPrivate) isXSSAuditorEnabled]
--[WebPreferences(WebPrivate) isDNSPrefetchingEnabled]
--[WebPreferences(WebPrivate) acceleratedDrawingEnabled]
--[WebPreferences(WebPrivate) canvasUsesAcceleratedDrawing]
--[WebPreferences(WebPrivate) showDebugBorders]
--[WebPreferences(WebPrivate) showRepaintCounter]
--[WebPreferences(WebPrivate) pluginAllowedRunTime]
--[WebPreferences(WebPrivate) webAudioEnabled]
--[WebPreferences(WebPrivate) webGLEnabled]
--[WebPreferences(WebPrivate) accelerated2dCanvasEnabled]
--[WebPreferences(WebPrivate) isFrameFlatteningEnabled]
--[WebPreferences(WebPrivate) isSpatialNavigationEnabled]
--[WebPreferences(WebPrivate) paginateDuringLayoutEnabled]
--[WebPreferences(WebPrivate) fullScreenEnabled]
--[WebPreferences(WebPrivate) asynchronousSpellCheckingEnabled]
--[WebPreferences(WebPrivate) hyperlinkAuditingEnabled]
--[WebView(WebPrivate) _needsPreHTML5ParserQuirks]
--[WebPreferences(WebPrivate) usePreHTML5ParserQuirks]
--[WebView(WebPrivate) _needsUnrestrictedGetMatchedCSSRules]
--[WebView(WebPrivate) interactiveFormValidationEnabled]
--[WebView(WebPrivate) validationMessageTimerMagnification]
--[WebPreferences(WebPrivate) isAVFoundationEnabled]
--[WebPreferences(WebPrivate) applicationCacheDefaultOriginQuota]
--[WebPreferences _longLongValueForKey:]
-+[WebApplicationCache setDefaultOriginQuota:]
--[WebPreferences(WebPrivate) zoomsTextOnly]
--[WebPreferences(WebPrivate) _postPreferencesChangedAPINotification]
--[WebView setMaintainsBackForwardList:]
--[WebView setUIDelegate:]
--[WebView setFrameLoadDelegate:]
--[WebView(WebPrivate) _needsFrameLoadDelegateRetainQuirk]
--[WebView(WebPrivate) _cacheFrameLoadDelegateImplementations]
--[WebView(WebViewEditing) setEditingDelegate:]
--[WebView(WebViewEditing) registerForEditingDelegateNotification:selector:]
--[WebView setResourceLoadDelegate:]
--[WebView(WebPrivate) _cacheResourceLoadDelegateImplementations]
--[WebView(WebViewGeolocation) _setGeolocationProvider:]
-+[WebDeviceOrientationProviderMock shared]
--[WebDeviceOrientationProviderMock init]
--[WebDeviceOrientationProviderMockInternal .cxx_construct]
--[WebDeviceOrientationProviderMockInternal init]
--[WebView(WebViewDeviceOrientation) _setDeviceOrientationProvider:]
-+[WebView registerURLSchemeAsLocal:]
--[WebView(WebViewEditing) setContinuousSpellCheckingEnabled:]
--[WebView(WebViewEditing) isContinuousSpellCheckingEnabled]
--[WebView(WebFileInternal) _continuousCheckingAllowed]
-+[WebView(WebFileInternal) _preflightSpellChecker]
--[WebView(WebViewGrammarChecking) setGrammarCheckingEnabled:]
--[WebView(WebPrivate) setInteractiveFormValidationEnabled:]
--[WebView(WebPrivate) setValidationMessageTimerMagnification:]
--[WebView viewWillMoveToWindow:]
-_WKSetNSWindowShouldPostEventNotifications
--[WebView removeWindowObservers]
--[WebView addWindowObserversForWindow:]
-_WKWindowWillOrderOnScreenNotification
--[WebHTMLView viewWillMoveToWindow:]
--[WebHTMLView(WebHTMLViewFileInternal) _removeMouseMovedObserverUnconditionally]
--[WebHTMLView(WebHTMLViewFileInternal) _removeWindowObservers]
--[WebHTMLView(WebHTMLViewFileInternal) _cancelUpdateMouseoverTimer]
--[WebHTMLView(WebPrivate) _pluginController]
--[WebPluginController stopAllPlugins]
--[WebHTMLView viewDidMoveToWindow]
--[WebHTMLView(WebPrivate) _stopAutoscrollTimer]
--[WebHTMLView addWindowObservers]
--[WebHTMLView(WebPrivate) _frameOrBoundsChanged]
-_WKMouseMovedNotification
--[WebPluginController startAllPlugins]
--[WebFrameView viewDidMoveToWindow]
--[WebView viewDidMoveToWindow]
-_WKContentAreaDidShow
--[WebView(WebPrivate) _updateActiveState]
--[WebView _windowWillOrderOnScreen:]
--[WebView acceptsFirstResponder]
--[WebFrameView acceptsFirstResponder]
--[WebView becomeFirstResponder]
--[WebFrameView becomeFirstResponder]
--[WebHTMLView acceptsFirstResponder]
--[WebHTMLView becomeFirstResponder]
--[WebView(WebPrivate) _isPerformingProgrammaticFocus]
--[WebHTMLView(WebInternal) _updateFontPanel]
--[WebHTMLView(WebPrivate) _canEdit]
--[WebHTMLView(WebNSTextInputSupport) _updateSecureInputState]
-__ZN15WebChromeClient19focusedFrameChangedEPN7WebCore5FrameE
--[WebDynamicScrollBarsView(WebInternal) setScrollBarsSuppressed:repaintOnUnsuppress:]
--[WebDynamicScrollBarsView(WebInternal) setScrollingModes:vertical:andLock:]
-_WKSetUpFontCache
-_WKGetGlyphsForCharacters
-_WKGetGlyphTransformedAdvances
--[WebHTMLView setNeedsLayout:]
--[WebHTMLView layout]
--[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]
-__ZN7WebCore12ChromeClient17setRenderTreeSizeEm
-__ZN20WebFrameLoaderClient22dispatchDidFirstLayoutEv
-__Z42WebViewGetFrameLoadDelegateImplementationsP7WebView
-__ZN20WebFrameLoaderClient38dispatchDidFirstVisuallyNonEmptyLayoutEv
--[WebView(WebPrivate) viewWillDraw]
--[WebHTMLView(WebPrivate) viewWillDraw]
--[WebHTMLView(WebInternal) _web_updateLayoutAndStyleIfNeededRecursive]
--[WebFrameView isOpaque]
--[WebHTMLView isOpaque]
--[WebHTMLView(WebPrivate) _recursiveDisplayAllDirtyWithLockFocus:visRect:]
--[WebHTMLView(WebPrivate) _setAsideSubviews]
--[WebHTMLView drawRect:]
--[WebHTMLView(WebPrivate) _restoreSubviews]
--[WebView(WebPrivate) _mustDrawUnionedRect:singleRects:count:]
--[WebHTMLView drawSingleRect:]
--[WebClipView setAdditionalClip:]
--[WebHTMLView(WebPrivate) _transparentBackground]
--[WebFrame(WebInternal) _drawRect:contentsOnly:]
--[WebFrame(WebInternal) _shouldFlattenCompositingLayers:]
-_WKCGContextIsBitmapContext
-_WKSetCGFontRenderingMode
--[WebView(WebPrivate) _UIDelegateForwarder]
-+[WebDefaultUIDelegate sharedUIDelegate]
--[_WebSafeForwarder initWithTarget:defaultTarget:catchExceptions:]
--[_WebSafeForwarder methodSignatureForSelector:]
--[_WebSafeForwarder forwardInvocation:]
--[WebDefaultUIDelegate webView:didDrawRect:]
--[WebView currentNodeHighlight]
--[WebClipView resetAdditionalClip]
--[WebView(WebViewInternal) _needsOneShotDrawingSynchronization]
-__Z14CallUIDelegateP7WebViewP13objc_selectorP11objc_object
--[WebView(WebPrivate) _setPostsAcceleratedCompositingNotifications:]
--[WebView(WebPrivate) drawRect:]
--[WebFrameView drawRect:]
--[WebHTMLView(WebPrivate) _recursive:displayRectIgnoringOpacity:inContext:topView:]
--[WebHTMLView(WebInternal) _web_isDrawingIntoLayer]
--[WebView(WebPrivate) _includesFlattenedCompositingLayersWhenDrawingToBitmap]
-+[WebCache initialize]
-+[WebCache empty]
-+[WebView(WebFileInternal) _cacheModel]
--[WebView stringByEvaluatingJavaScriptFromString:]
--[WebFrame(WebInternal) _stringByEvaluatingJavaScriptFromString:]
--[WebFrame(WebInternal) _stringByEvaluatingJavaScriptFromString:forceUserGesture:]
-__ZN7WebCore17FrameLoaderClient15allowJavaScriptEb
-__ZN20WebFrameLoaderClient35dispatchDidClearWindowObjectInWorldEPN7WebCore15DOMWrapperWorldE
--[WebView(WebPendingPublic) scriptDebugDelegate]
-__ZN15WebChromeClient19addMessageToConsoleEN7WebCore13MessageSourceENS0_11MessageTypeENS0_12MessageLevelERKN3WTF6StringEjS7_
--[WebView UIDelegate]
-__ZN3WTF9HashTableINS_6RefPtrIN7WebCore15DOMWrapperWorldEEESt4pairIS4_N3JSC6StrongINS2_16JSDOMWindowShellEEEENS_18PairFirstExtractorISA_EENS_7PtrHashIS4_EENS_14PairHashTraitsINS_10HashTraitsIS4_EENSG_IS9_EEEESH_E4findIPS3_NS_29RefPtrHashMapRawKeyTranslatorISM_SA_SJ_SE_EEEENS_17HashTableIteratorIS4_SA_SC_SE_SJ_SH_EERKT_
-__ZNK3JSC7JSValue8toStringEPNS_9ExecStateE
-__ZN3JSC14NumericStrings3addEi
-__ZN3JSC14NumericStrings17lookupSmallStringEj
--[WebView close]
--[WebView(WebPrivate) _close]
--[WebView(AllWebViews) _removeFromAllWebViewsSet]
--[WebView(WebViewEventHandling) _closingEventHandling]
--[WebView(WebViewInternal) _exitFullscreen]
-__ZN15WebEditorClient23clearUndoRedoOperationsEv
-__ZN20WebFrameLoaderClient17cancelPolicyCheckEv
-__ZN20WebFrameLoaderClient19detachedFromParent2Ev
--[WebHTMLView(WebPrivate) close]
--[WebHTMLView(WebPrivate) _clearLastHitViewIfSelf]
--[WebPluginController destroyAllPlugins]
--[WebPluginController _cancelOutstandingChecks]
--[WebHTMLViewPrivate clear]
--[WebPluginController dealloc]
-__ZN20WebDocumentLoaderMac15detachFromFrameEv
--[WebDataSource dealloc]
--[WebDataSourcePrivate dealloc]
-__ZN20WebDocumentLoaderMac16detachDataSourceEv
-__ZN20WebFrameLoaderClient19detachedFromParent3Ev
--[WebView setHostWindow:]
--[WebView setDownloadDelegate:]
--[WebView setPolicyDelegate:]
--[WebView(WebPendingPublic) setScriptDebugDelegate:]
--[WebView(WebPrivate) _cacheScriptDebugDelegateImplementations]
--[WebView(WebPrivate) _detachScriptDebuggerFromAllFrames]
--[WebFrame(WebInternal) _detachScriptDebugger]
--[WebView removeDragCaret]
-__ZN15WebEditorClient13pageDestroyedEv
-__ZN15WebEditorClientD0Ev
-__ZN15CorrectionPanel7dismissEN7WebCore34ReasonForDismissingCorrectionPanelE
-__ZN15CorrectionPanel15dismissInternalEN7WebCore34ReasonForDismissingCorrectionPanelEb
-__ZN15CorrectionPanelD1Ev
-__ZN18WebInspectorClient18inspectorDestroyedEv
-__ZN18WebInspectorClientD0Ev
--[WebNodeHighlighter dealloc]
-__ZN21WebPluginHalterClientD0Ev
-__ZN20WebGeolocationClient20geolocationDestroyedEv
-__ZN20WebGeolocationClientD0Ev
-__ZN20WebContextMenuClient20contextMenuDestroyedEv
-__ZN20WebContextMenuClientD0Ev
-__ZN13WebDragClient23dragControllerDestroyedEv
-__ZN13WebDragClientD0Ev
-__ZN15WebChromeClient15chromeDestroyedEv
-__ZN15WebChromeClientD0Ev
--[WebView(WebFileInternal) _clearLayerSyncLoopObserver]
--[WebView preferencesIdentifier]
--[WebPreferences identifier]
-+[WebPreferences(WebPrivate) _removeReferenceForIdentifier:]
--[WebPreferences(WebPrivate) didRemoveFromWebView]
--[WebView(WebPrivate) _closePluginDatabases]
--[WebView dealloc]
--[WebViewPrivate dealloc]
--[WebViewPrivate .cxx_destruct]
--[WebView setNextKeyView:]
--[WebFrameView dealloc]
--[WebFrameViewPrivate dealloc]
--[WebFrameView setNextKeyView:]
--[WebDynamicScrollBarsView dealloc]
--[WebHTMLView dealloc]
--[WebHTMLViewPrivate dealloc]
--[WebView(WebViewEditing) setEditable:]
--[WebView(WebViewEditing) isEditable]
--[WebView(WebViewEditing) editingDelegate]
--[WebView(WebIBActions) makeTextStandardSize:]
--[WebView _resetZoom:isTextOnly:]
--[WebView _zoomMultiplier:]
--[WebView(WebPendingPublic) resetPageZoom:]
--[WebView(WebPrivate) _scaleWebView:atOrigin:]
--[WebDynamicScrollBarsView(WebInternal) scrollOrigin]
--[WebView(WebPendingPublic) setTabKeyCyclesThroughElements:]
--[WebView(WebPrivate) _setDashboardBehavior:to:]
--[WebView(WebPrivate) _clearMainFrameName]
--[WebView(WebViewEditing) undoManager]
--[WebView(WebPrivate) _editingDelegateForwarder]
-+[WebDefaultEditingDelegate sharedEditingDelegate]
--[WebDefaultEditingDelegate undoManagerForWebView:]
--[WebView groupName]
-+[WebView(WebPrivate) _removeAllUserContentFromGroup:]
-+[WebView(WebPrivate) _defaultMinimumTimerInterval]
--[WebView(WebPrivate) _setMinimumTimerInterval:]
--[WebView(WebViewEditing) setSmartInsertDeleteEnabled:]
--[WebView(WebPrivate) setSelectTrailingWhitespaceEnabled:]
--[WebView(WebPrivate) inspector]
--[WebInspector initWithWebView:]
--[WebInspector setJavaScriptProfilingEnabled:]
-__ZN7WebCore15InspectorClient26updateInspectorStateCookieERKN3WTF6StringE
-+[WebView(WebPrivate) _setUsesTestModeFocusRingColor:]
-+[WebView(WebPrivate) _resetOriginAccessWhitelists]
--[WebFrame(WebPrivate) _clearOpener]
--[WebView(WebPendingPublic) setHistoryDelegate:]
--[WebView(WebPrivate) _cacheHistoryDelegateImplementations]
--[NSMutableDictionary(WebNSDictionaryExtras) _webkit_setBool:forKey:]
--[WebView(WebPrivate) _preferencesChangedNotification:]
-+[WebHistory optionalSharedHistory]
--[WebView backForwardList]
-__Z3kitPN7WebCore19BackForwardListImplE
-+[WebBackForwardList initialize]
--[WebBackForwardList(WebBackForwardListInternal) initWithBackForwardList:]
--[WebBackForwardList currentItem]
-__Z3kitPN7WebCore11HistoryItemE
--[WebFrame loadRequest:]
-__ZN7WebCore15ResourceRequestC1EP12NSURLRequest
-__ZN7WebCore19ResourceRequestBaseC2Ev
-__ZN7WebCore4KURLC1Ev
-__ZN20WebFrameLoaderClient39dispatchDecidePolicyForNavigationActionEMN7WebCore13PolicyCheckerEFvNS0_12PolicyActionEERKNS0_16NavigationActionERKNS0_15ResourceRequestEN3WTF10PassRefPtrINS0_9FormStateEEE
--[WebView(WebPrivate) _policyDelegateForwarder]
-+[WebDefaultPolicyDelegate sharedPolicyDelegate]
-__ZN20WebFrameLoaderClient19setUpPolicyListenerEMN7WebCore13PolicyCheckerEFvNS0_12PolicyActionEE
-+[WebFramePolicyListener initialize]
--[WebFramePolicyListener initWithWebCoreFrame:]
-__ZNK20WebFrameLoaderClient16actionDictionaryERKN7WebCore16NavigationActionEN3WTF10PassRefPtrINS0_9FormStateEEE
--[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]
-+[WebView(WebPrivate) _canHandleRequest:forMainFrame:]
--[WebFramePolicyListener use]
--[WebFramePolicyListener receivedPolicyDecision:]
-__ZN20WebFrameLoaderClient21receivedPolicyDecisonEN7WebCore12PolicyActionE
-__ZNK20WebFrameLoaderClient16canHandleRequestERKN7WebCore15ResourceRequestE
-__ZN15WebChromeClient30canRunBeforeUnloadConfirmPanelEv
-__ZN20WebFrameLoaderClient27willChangeEstimatedProgressEv
--[WebView(WebPrivate) _willChangeValueForKey:]
--[WebView(WebPrivate) observationInfo]
-__ZN20WebFrameLoaderClient31postProgressStartedNotificationEv
-__ZN20WebFrameLoaderClient26didChangeEstimatedProgressEv
--[WebView(WebPrivate) _didChangeValueForKey:]
-__ZN20WebFrameLoaderClient31dispatchDidStartProvisionalLoadEv
--[WebView(WebPrivate) _didStartProvisionalLoadForFrame:]
--[WebView(WebPrivate) _willChangeBackForwardKeys]
-__Z21CallFrameLoadDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS2_S0_
--[WebFrame provisionalDataSource]
-__ZN20WebFrameLoaderClient32assignIdentifierToInitialRequestEmPN7WebCore14DocumentLoaderERKNS0_15ResourceRequestE
-__Z45WebViewGetResourceLoadDelegateImplementationsP7WebView
-__Z24CallResourceLoadDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS2_S0_S0_
-__ZL12CallDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS0_S2_S0_S0_
--[WebFrame dataSource]
--[WebView(WebViewInternal) _addObject:forIdentifier:]
-__ZN20WebFrameLoaderClient9userAgentERKN7WebCore4KURLE
--[WebView userAgentForURL:]
-__ZN20WebFrameLoaderClient23dispatchWillSendRequestEPN7WebCore14DocumentLoaderEmRNS0_15ResourceRequestERKNS0_16ResourceResponseE
-__ZL36applyAppleDictionaryApplicationQuirkP20WebFrameLoaderClientRKN7WebCore15ResourceRequestE
-__ZN20WebDocumentLoaderMac17increaseLoadCountEm
-__ZNK3WTF9HashTableImmNS_17IdentityExtractorImEENS_7IntHashImEENS_10HashTraitsImEES6_E8containsImNS_22IdentityHashTranslatorImmS4_EEEEbRKT_
-__ZN3WTF9HashTableImmNS_17IdentityExtractorImEENS_7IntHashImEENS_10HashTraitsImEES6_E3addImmNS_22IdentityHashTranslatorImmS4_EEEESt4pairINS_17HashTableIteratorImmS2_S4_S6_S6_EEbERKT_RKT0_
-__ZN3WTF9HashTableImmNS_17IdentityExtractorImEENS_7IntHashImEENS_10HashTraitsImEES6_E6expandEv
--[WebView(WebViewInternal) _objectForIdentifier:]
-__Z24CallResourceLoadDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS2_S0_S0_S0_S0_
-__ZL12CallDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS0_S2_S0_S0_S0_S0_
-__ZN7WebCore19ResourceRequestBaseaSERKS0_
-__ZN7WebCore4KURLaSERKS0_
-__ZNSt4pairIN3WTF12AtomicStringENS0_6StringEED1Ev
-__ZN3WTF6VectorINS_6StringELm0EEaSERKS2_
-__ZN7WebCore19ResourceRequestBaseD2Ev
-__ZNK20WebFrameLoaderClient32representationExistsForURLSchemeERKN3WTF6StringE
-+[WebView(WebPrivate) _representationExistsForURLScheme:]
-__ZNK7WebCore22FrameNetworkingContext7isValidEv
-_WKCreateNSURLConnectionDelegateProxy
-__ZN20WebFrameLoaderClient26shouldUseCredentialStorageEPN7WebCore14DocumentLoaderEm
-__ZNK25WebFrameNetworkingContext23needsSiteSpecificQuirksEv
-__ZNK25WebFrameNetworkingContext31localFileContentSniffingEnabledEv
-_WKSetNSURLRequestShouldContentSniff
-__ZNK25WebFrameNetworkingContext21scheduledRunLoopPairsEv
--[WebFramePolicyListener dealloc]
-__ZL29_updateMouseoverTimerCallbackP16__CFRunLoopTimerPv
--[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent]
--[WebHTMLView(WebPrivate) _updateMouseoverWithEvent:]
-__ZN20WebFrameLoaderClient20frameLoaderDestroyedEv
--[WebFrame(WebInternal) _clearCoreFrame]
-__ZN20WebFrameLoaderClientD0Ev
--[WebFrame dealloc]
--[WebFramePrivate dealloc]
-__ZN25WebFrameNetworkingContextD0Ev
-__ZN20WebDocumentLoaderMacD0Ev
-_WKGetCFURLResponseMIMEType
-__ZN20WebFrameLoaderClient31dispatchDecidePolicyForResponseEMN7WebCore13PolicyCheckerEFvNS0_12PolicyActionEERKNS0_16ResourceResponseERKNS0_15ResourceRequestE
--[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
--[WebView _canShowMIMEType:]
-+[WebView _canShowMIMEType:allowingPlugins:]
-__ZNK20WebFrameLoaderClient15canShowMIMETypeERKN3WTF6StringE
-__ZN20WebFrameLoaderClient26dispatchDidReceiveResponseEPN7WebCore14DocumentLoaderEmRKNS0_16ResourceResponseE
-__Z24CallResourceLoadDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS2_S0_S0_S0_
-__ZL12CallDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS0_S2_S0_S0_S0_
-__ZN20WebFrameLoaderClient17dispatchWillCloseEv
-__ZN20WebFrameLoaderClient18makeRepresentationEPN7WebCore14DocumentLoaderE
--[WebDataSource(WebInternal) _makeRepresentation]
-+[WebDataSource(WebFileInternal) _representationClassForMIMEType:allowingPlugins:]
--[WebHTMLRepresentation init]
--[WebDataSource(WebFileInternal) _setRepresentation:]
--[WebHTMLRepresentation setDataSource:]
-__Z26WKNotifyHistoryItemChangedPN7WebCore11HistoryItemE
-__ZN20WebFrameLoaderClient19updateGlobalHistoryEv
--[WebView(WebPendingPublic) historyDelegate]
-__ZN20WebFrameLoaderClient32updateGlobalHistoryRedirectLinksEv
-__ZNK7WebCore14DocumentLoader30serverRedirectSourceForHistoryEv
-__ZN20WebFrameLoaderClient30updateGlobalHistoryItemForPageEv
--[WebView(WebPrivate) _setGlobalHistoryItem:]
-__ZN21WebPlatformStrategies25createVisitedLinkStrategyEv
-__ZThn56_N21WebPlatformStrategies14addVisitedLinkEPN7WebCore4PageEy
-__ZN15WebChromeClient16setStatusbarTextERKN3WTF6StringE
-__ZN20WebFrameLoaderClient13committedLoadEPN7WebCore14DocumentLoaderEPKci
--[WebDataSource(WebInternal) _receivedData:]
--[WebHTMLRepresentation receivedData:withDataSource:]
--[WebFrame(WebInternal) _commitData:]
-__ZN20WebFrameLoaderClient21dispatchDidCommitLoadEv
--[WebView(WebPrivate) _didCommitLoadForFrame:]
--[WebHTMLView dataSourceUpdated:]
-__ZN20WebFrameLoaderClient39postProgressEstimateChangedNotificationEv
-__ZN20WebFrameLoaderClient31dispatchDidReceiveContentLengthEPN7WebCore14DocumentLoaderEmi
-__Z24CallResourceLoadDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS2_S0_lS0_
--[WebHTMLRepresentation finishedLoadingWithDataSource:]
--[WebHTMLRepresentation _isDisplayingWebArchive]
-+[WebScriptWorld(WebInternal) findOrCreateWorld:]
-+[WebScriptWorld standardWorld]
--[WebScriptWorld initWithWorld:]
--[WebScriptWorldPrivate .cxx_construct]
-__Z21CallFrameLoadDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS2_S0_S0_
--[WebFrame globalContext]
--[WebFrame windowObject]
-__ZN20WebFrameLoaderClient29dispatchDidFinishDocumentLoadEv
--[WebFrame(WebPrivate) _pendingFrameUnloadEventCount]
-__ZN20WebFrameLoaderClient29dispatchDidHandleOnloadEventsEv
-__ZN20WebFrameLoaderClient21dispatchDidFinishLoadEv
--[WebView(WebPrivate) _didFinishLoadForFrame:]
--[WebView(WebPrivate) _didChangeBackForwardKeys]
--[WebFrame DOMDocument]
--[WebFrame parentFrame]
-__ZN20WebFrameLoaderClient32postProgressFinishedNotificationEv
-__ZN20WebFrameLoaderClient24dispatchDidFinishLoadingEPN7WebCore14DocumentLoaderEm
--[WebView(WebViewInternal) _removeObjectForIdentifier:]
-__ZN20WebDocumentLoaderMac17decreaseLoadCountEm
-__ZNK3WTF9HashTableImmNS_17IdentityExtractorImEENS_7IntHashImEENS_10HashTraitsImEES6_E4findImNS_22IdentityHashTranslatorImmS4_EEEENS_22HashTableConstIteratorImmS2_S4_S6_S6_EERKT_
-__ZN3WTF9HashTableImmNS_17IdentityExtractorImEENS_7IntHashImEENS_10HashTraitsImEES6_E6removeEPm
--[WebView(WebViewEditing) setSelectedDOMRange:affinity:]
--[WebView(WebViewInternal) _selectedOrMainFrame]
--[WebView selectedFrame]
--[WebView(WebFileInternal) _focusedFrame]
--[WebInspector close:]
--[WebFrame loadHTMLString:baseURL:]
--[WebFrame _loadHTMLString:baseURL:unreachableURL:]
--[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]
-__ZN7WebCore19ResourceRequestBaseC2ERKNS_4KURLENS_26ResourceRequestCachePolicyE
-__ZN7WebCore14SubstituteDataC2EN3WTF10PassRefPtrINS_12SharedBufferEEERKNS1_6StringES7_RKNS_4KURLESA_
-__ZN7WebCore14SubstituteDataD1Ev
--[WebFrame stopLoading]
-__ZN20WebFrameLoaderClient14cancelledErrorERKN7WebCore15ResourceRequestE
-+[NSError(WebKitExtras) _webKitErrorWithDomain:code:URL:]
-+[NSError(WebKitExtras) _registerWebKitErrors]
-_registerErrors
-_WebLocalizedStringInternal
-+[NSError(WebKitExtras) _webkit_addErrorsWithCodesAndDescriptions:inDomain:]
-+[NSError(WebKitExtras) _webkit_errorWithDomain:code:URL:]
--[NSError(WebKitExtras) _webkit_initWithDomain:code:URL:]
-__ZN20WebFrameLoaderClient22dispatchDidFailLoadingEPN7WebCore14DocumentLoaderEmRKNS0_13ResourceErrorE
-__ZN20WebFrameLoaderClient14shouldFallBackERKN7WebCore13ResourceErrorE
-__ZN20WebFrameLoaderClient20setMainDocumentErrorEPN7WebCore14DocumentLoaderERKNS0_13ResourceErrorE
--[WebDataSource(WebInternal) _setMainDocumentError:]
-__ZN20WebFrameLoaderClient30dispatchDidFailProvisionalLoadERKN7WebCore13ResourceErrorE
--[WebView(WebPrivate) _didFailProvisionalLoadWithError:forFrame:]
--[WebHistoryItem(WebInternal) initWithWebCoreHistoryItem:]
-__ZNK20WebFrameLoaderClient12canCachePageEv
-__ZNK20WebFrameLoaderClient25didPerformFirstNavigationEv
--[WebPreferences(WebPrivate) automaticallyDetectsCacheModel]
-__ZN20WebFrameLoaderClient19saveViewStateToItemEPN7WebCore11HistoryItemE
--[WebHTMLView(WebNSTextInputSupport) inputContext]
--[WebHTMLRepresentation title]
-__ZN15WebChromeClient18formStateDidChangeEPKN7WebCore4NodeE
-__ZN15WebEditorClient23willSetInputMethodStateEv
-__ZN15WebChromeClient12formDidFocusEPKN7WebCore4NodeE
-__ZN15WebChromeClient14firstResponderEv
--[WebDefaultUIDelegate webViewFirstResponder:]
-__ZN15WebChromeClient18focusedNodeChangedEPN7WebCore4NodeE
-__ZN15WebEditorClient19setInputMethodStateEb
-__ZNK15WebChromeClient18scrollRectIntoViewERKN7WebCore7IntRectEPKNS0_10ScrollViewE
--[WebFrame(WebPrivate) accessibilityRoot]
--[WebClipView _focusRingVisibleRect]
--[WebClipView additionalClip]
-+[WebView(WebFileInternal) _preflightSpellCheckerNow:]
-_WKUnregisterUniqueIdForElement
--[WebHTMLRepresentation dealloc]
-_WKAccessibilityHandleFocusChanged
-__ZN15WebChromeClient11formDidBlurEPKN7WebCore4NodeE
-__ZN20WebFrameLoaderClient38dispatchDidLoadResourceFromMemoryCacheEPN7WebCore14DocumentLoaderERKNS0_15ResourceRequestERKNS0_16ResourceResponseEi
-__ZN3WTF14PairHashTraitsINS_10HashTraitsImEENS1_INS_9RetainPtrIP11objc_objectEEEEE10emptyValueEv
-_WKDrawFocusRing
--[WebDynamicScrollBarsView(WebInternal) accessibilityIsIgnored]
--[WebHTMLView accessibilityAttributeValue:]
-__ZN15WebEditorClient22dismissCorrectionPanelEN7WebCore34ReasonForDismissingCorrectionPanelE
-__ZN15WebEditorClient32isContinuousSpellCheckingEnabledEv
-__ZN15WebEditorClient24isGrammarCheckingEnabledEv
--[WebView(WebViewGrammarChecking) isGrammarCheckingEnabled]
-__ZN15WebEditorClient25respondToChangedSelectionEv
--[WebView(WebViewInternal) _selectionChanged]
--[WebHTMLView(WebInternal) _selectionChanged]
--[WebHTMLView(WebNSTextInputSupport) _updateSelectionForInputManager]
-_WKDrawBezeledTextFieldCell
-__ZN15WebEditorClient11textCheckerEv
-__ZThn8_N15WebEditorClient20checkTextOfParagraphEPKtijRN3WTF6VectorIN7WebCore18TextCheckingResultELm0EEE
-__ZN15WebEditorClient20checkTextOfParagraphEPKtijRN3WTF6VectorIN7WebCore18TextCheckingResultELm0EEE
-__ZN15WebEditorClient23spellCheckerDocumentTagEv
--[WebView(WebViewEditing) spellCheckerDocumentTag]
-__ZL4coreP7NSArrayj
-__ZN3WTF6VectorIN7WebCore18TextCheckingResultELm0EEaSERKS3_
-__ZNSt6__copyILb0ESt26random_access_iterator_tagE4copyIPKN7WebCore18TextCheckingResultEPS4_EET0_T_S9_S8_
-__ZN3WTF12VectorCopierILb0EN7WebCore18TextCheckingResultEE17uninitializedCopyEPKS2_S5_PS2_
-__ZN3WTF6VectorIN7WebCore18TextCheckingResultELm0EED1Ev
-__ZN15WebEditorClient22textFieldDidEndEditingEPN7WebCore7ElementE
-__Z16CallFormDelegateP7WebViewP13objc_selectorP11objc_objectS4_
-__ZN3WTF9HashTableImSt4pairImNS_9RetainPtrIP11objc_objectEEENS_18PairFirstExtractorIS6_EENS_7IntHashImEENS_14PairHashTraitsINS_10HashTraitsImEENSC_IS5_EEEESD_E16lookupForWritingERKm
-__ZN3WTF9HashTableImSt4pairImNS_9RetainPtrIP11objc_objectEEENS_18PairFirstExtractorIS6_EENS_7IntHashImEENS_14PairHashTraitsINS_10HashTraitsImEENSC_IS5_EEEESD_E3addImS5_NS_17HashMapTranslatorIS6_SF_SA_EEEES1_INS_17HashTableIteratorImS6_S8_SA_SF_SD_EEbERKT_RKT0_
-__ZN3WTF9HashTableImSt4pairImNS_9RetainPtrIP11objc_objectEEENS_18PairFirstExtractorIS6_EENS_7IntHashImEENS_14PairHashTraitsINS_10HashTraitsImEENSC_IS5_EEEESD_E4findImNS_22IdentityHashTranslatorImS6_SA_EEEENS_17HashTableIteratorImS6_S8_SA_SF_SD_EERKT_
-__ZN3WTF9HashTableImSt4pairImNS_9RetainPtrIP11objc_objectEEENS_18PairFirstExtractorIS6_EENS_7IntHashImEENS_14PairHashTraitsINS_10HashTraitsImEENSC_IS5_EEEESD_E6lookupERKm
-__ZN3WTF9HashTableImSt4pairImNS_9RetainPtrIP11objc_objectEEENS_18PairFirstExtractorIS6_EENS_7IntHashImEENS_14PairHashTraitsINS_10HashTraitsImEENSC_IS5_EEEESD_E6rehashEi
-_WKMakeScrollbarPainter
-_WKScrollbarThickness
-_WKScrollbarPainterSetDelegate
-_WKSetPainterForPainterController
-_WKScrollbarPainterUsesOverlayScrollers
-_WKDrawBezeledTextArea
-__ZNK15WebChromeClient17windowResizerRectEv
-_WKSetScrollbarPainterKnobStyle
-_WKScrollbarPainterPaint
-__ZN20WebFrameLoaderClient25accessibilityRemoteObjectEv
-_WKCreateAXTextMarker
-__ZThn56_N21WebPlatformStrategies13isLinkVisitedEPN7WebCore4PageEy
-__ZN15WebChromeClient20populateVisitedLinksEv
-__ZN7WebCore17FrameLoaderClient11allowImagesEb
-__ZNK20WebFrameLoaderClient22shouldPaintBrokenImageERKN7WebCore4KURLE
-__Z40CallResourceLoadDelegateReturningBooleanaPFP11objc_objectS0_P13objc_selectorzEP7WebViewS2_S0_
-__ZN20WebFrameLoaderClient15willChangeTitleEPN7WebCore14DocumentLoaderE
-__ZN20WebFrameLoaderClient14didChangeTitleEPN7WebCore14DocumentLoaderE
-__ZN20WebFrameLoaderClient8setTitleERKN7WebCore19StringWithDirectionERKNS0_4KURLE
-__ZN20WebFrameLoaderClient23dispatchDidReceiveTitleERKN7WebCore19StringWithDirectionE
--[WebClipView _immediateScrollToPoint:]
--[WebDynamicScrollBarsView(WebInternal) inProgrammaticScroll]
--[WebHTMLView(WebHTMLViewFileInternal) _frameView]
--[WebDefaultUIDelegate webView:didScrollDocumentInFrameView:]
-_WKGetAXTextMarkerTypeID
-_WKGetAXTextMarkerRangeTypeID
-__ZN15WebChromeClient11scaleFactorEv
-_WKIOSurfaceContextCreate
-__ZN15WebChromeClient23attachRootGraphicsLayerEPN7WebCore5FrameEPNS0_13GraphicsLayerE
--[WebHTMLView(WebInternal) attachRootLayer:]
--[WebHTMLView addSubview:]
-+[WebPluginController isPlugInView:]
--[WebView(WebPrivate) _postsAcceleratedCompositingNotifications]
--[WebView(WebPrivate) _isUsingAcceleratedCompositing]
-__ZN15WebChromeClient37setNeedsOneShotDrawingSynchronizationEv
--[WebView(WebViewInternal) _setNeedsOneShotDrawingSynchronization:]
-__ZN15WebChromeClient28scheduleCompositingLayerSyncEv
--[WebView(WebViewInternal) _scheduleCompositingLayerSync]
-_WKIOSurfaceContextCreateImage
-__ZL32layerSyncRunLoopObserverCallBackP19__CFRunLoopObservermPv
--[WebView(WebViewInternal) _syncCompositingChanges]
--[WebHTMLView(WebInternal) detachRootLayer]
--[WebHTMLView willRemoveSubview:]
-__ZN15WebChromeClient35selectItemWritingDirectionIsNaturalEv
-__ZN3WTF9HashTableIPN7WebCore11HistoryItemESt4pairIS3_P14WebHistoryItemENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E16lookupForWritingERKS3_
-__ZN3WTF9HashTableIPN7WebCore11HistoryItemESt4pairIS3_P14WebHistoryItemENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E3addIS3_S6_NS_17HashMapTranslatorIS7_SG_SB_EEEES4_INS_17HashTableIteratorIS3_S7_S9_SB_SG_SE_EEbERKT_RKT0_
-__ZN3WTF9HashTableIPN7WebCore11HistoryItemESt4pairIS3_P14WebHistoryItemENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E4findIS3_NS_22IdentityHashTranslatorIS3_S7_SB_EEEENS_17HashTableIteratorIS3_S7_S9_SB_SG_SE_EERKT_
-__ZN3WTF9HashTableIPN7WebCore11HistoryItemESt4pairIS3_P14WebHistoryItemENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E6lookupERKS3_
-__ZN3WTF9HashTableIPN7WebCore11HistoryItemESt4pairIS3_P14WebHistoryItemENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E6rehashEi
-__ZN15WebEditorClient18shouldBeginEditingEPN7WebCore5RangeE
-__ZN15WebEditorClient15didBeginEditingEv
-__ZN15WebEditorClient25shouldChangeSelectedRangeEPN7WebCore5RangeES2_NS0_9EAffinityEb
--[WebView(WebViewEditing) _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]
-+[NSObject(WebScripting) isKeyExcludedFromWebScript:]
--[WebHTMLView(WebPrivate) hitTest:]
--[WebHTMLView mouseMovedNotification:]
--[WebView(WebPendingPublic) isHoverFeedbackSuspended]
-__ZNK15WebChromeClient18platformPageClientEv
-__ZN15WebChromeClient9setCursorERKN7WebCore6CursorE
-_WKMouseEnteredContentArea
-_WKMouseMovedInContentArea
-__ZN15WebChromeClient23mouseDidMoveOverElementERKN7WebCore13HitTestResultEj
-+[WebElementDictionary initialize]
--[WebElementDictionary initWithHitTestResult:]
-+[WebElementDictionary initializeLookupTable]
--[WebView(WebPrivate) _mouseDidMoveOverElement:modifierFlags:]
-__Z14CallUIDelegateP7WebViewP13objc_selectorP11objc_objectm
--[WebElementDictionary dealloc]
-__ZN15WebChromeClient10setToolTipERKN3WTF6StringEN7WebCore13TextDirectionE
--[WebView(WebViewEventHandling) _setToolTip:]
--[WebHTMLView(WebPrivate) _setToolTip:]
--[WebHTMLView mouseDown:]
--[WebHTMLView(WebNSTextInputSupport) validAttributesForMarkedText]
--[WebHTMLView(WebHTMLViewFileInternal) _setMouseDownEvent:]
--[WebHTMLView mouseUp:]
-__ZN15WebEditorClient33isSelectTrailingWhitespaceEnabledEv
--[WebView(WebPrivate) isSelectTrailingWhitespaceEnabled]
-__ZN20WebFrameLoaderClient11createFrameERKN7WebCore4KURLERKN3WTF6StringEPNS0_21HTMLFrameOwnerElementES7_bii
-+[WebFrame(WebInternal) _createSubframeWithOwnerElement:frameName:frameView:]
--[WebFrameView setFrameSize:]
--[WebFrameView(WebFrameViewFileInternal) _web_frame]
--[WebHTMLView _accessibilityParentForSubview:]
-__ZN7WebCore17FrameLoaderClient12allowPluginsEb
-__ZN21WebPlatformStrategies20createPluginStrategyEv
-__ZThn48_N21WebPlatformStrategies13getPluginInfoEPKN7WebCore4PageERN3WTF6VectorINS0_10PluginInfoELm0EEE
-__ZN21WebPlatformStrategies13getPluginInfoEPKN7WebCore4PageERN3WTF6VectorINS0_10PluginInfoELm0EEE
--[WebPluginDatabase plugins]
-__ZN3WTF6VectorIN7WebCore10PluginInfoELm0EE15reserveCapacityEm
-__ZN7WebCore10PluginInfoC2ERKS0_
-__ZN3WTF6VectorIN7WebCore13MimeClassInfoELm0EEC2ERKS3_
-__ZN7WebCore12ChromeClient34requiresFullscreenForVideoPlaybackEv
-_WKGetMIMETypeForExtension
-_WKQTIncludeOnlyModernMediaFileTypes
-_WKDrawMediaUIPart
-__ZL16controlsForThemei
-__ZN13MediaControls8drawPartEiP9CGContext6CGRectj
-__ZNK21MediaSharedUIControls14controlForPartEi
-__ZN30MediaSharedUIBackgroundElement5paintEP9CGContext6CGRect
-__ZNK14MediaUIElement23setUpContextForPaintingEP9CGContext6CGRect
-__ZN30MediaSharedUIBackgroundElement17layerWithContentsEP9CGContext6CGRect
-__ZL25createGenericGrayGradientPKdS0_m
-__ZN14MediaUIElement8setLayerEP7CGLayer
-__ZNK14MediaUIElement5layerEv
-__ZL35draw3PartBannerInRectRelativeToEdgeP9CGContext6CGRect10CGRectEdgedPKvP7CGColorS4_
-__ZNK14MediaUIElement27restoreContextAfterPaintingEP9CGContext
-__ZN25MediaSharedUIImageElement21invalidateCachedImageEv
-__ZN25MediaSharedUIImageElement5paintEP9CGContext6CGRect
-__ZNK25MediaSharedUIImageElement20constrainAspectRatioEv
-__ZN25MediaSharedUIImageElement17layerWithContentsEP9CGContext6CGRect
-__ZNK25MediaSharedUIImageElement12defaultImageEv
-__ZL32createCGLayerFromPDFDataProviderP14CGDataProvider
-__ZNK25MediaSharedUIImageElement14drawBackgroundEP9CGContext6CGRect
-__ZL15drawOuterShadowP9CGContext6CGRectPKv
-__ZL10drawShadowP9CGContext6CGRectPKv6CGSizedP7CGColor
-__ZL16drawImageOrLayerP9CGContext6CGRectPKv
-__ZL15drawInnerShadowP9CGContext6CGRectPKv6CGSizedP7CGColor
-_WKGetUserToBaseCTM
-__ZN15WebChromeClient28supportsFullScreenForElementEPKN7WebCore7ElementEb
-__Z30CallUIDelegateReturningBooleanaP7WebViewP13objc_selectorP11objc_objecta
-_WKMeasureMediaUIPart
-__ZNK13MediaControls11naturalSizeEi
-__ZNK39MediaSharedUITimelineSliderThumbElement11naturalSizeEv
--[WebHTMLView(WebPrivate) _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
-_WKDrawMediaSliderTrack
-__ZN13MediaControls23drawTimelineSliderTrackEP9CGContext6CGRectddj
-__ZNK21MediaSharedUIControls6sliderEv
-__ZN27MediaSharedUITimelineSlider5paintEP9CGContext6CGRect
-__ZN27MediaSharedUITimelineSlider17layerWithContentsEP9CGContext6CGRect
-__ZL23addRoundedRectToContextP9CGContext6CGRectd
-__ZNK27MediaSharedUITimelineSlider22highlightUnloadedRangeEP9CGContext6CGRect
-__ZN39MediaSharedUITimelineSliderThumbElement5paintEP9CGContext6CGRect
-__ZN39MediaSharedUITimelineSliderThumbElement17layerWithContentsEP9CGContext6CGRect
-_WKScrollbarMinimumThumbLength
-_WKContentAreaScrolled
-__ZN20WebFrameLoaderClient17objectContentTypeERKN7WebCore4KURLERKN3WTF6StringEb
--[WebView _pluginForMIMEType:]
-__ZN20WebFrameLoaderClient12createPluginERKN7WebCore7IntSizeEPNS0_17HTMLPlugInElementERKNS0_4KURLERKN3WTF6VectorINS9_6StringELm0EEESE_RKSB_b
-+[WebBaseNetscapePluginView initialize]
-_WKSendUserChangeNotifications
-+[WebHostedNetscapePluginView initialize]
--[WebBaseNetscapePluginView .cxx_construct]
--[WebHostedNetscapePluginView .cxx_construct]
--[WebHostedNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:]
--[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:]
--[WebHostedNetscapePluginView setAttributeKeys:andValues:]
--[WebBaseNetscapePluginView visibleRect]
--[WebBaseNetscapePluginView _windowClipRect]
--[WebBaseNetscapePluginView isFlipped]
--[WebBaseNetscapePluginView renewGState]
-__ZN7WebCore6Widget16setParentVisibleEb
--[WebBaseNetscapePluginView viewWillMoveToSuperview:]
--[WebBaseNetscapePluginView viewWillMoveToWindow:]
--[WebBaseNetscapePluginView removeTrackingRect]
--[WebHostedNetscapePluginView removeWindowObservers]
--[WebBaseNetscapePluginView removeWindowObservers]
--[WebBaseNetscapePluginView setHasFocus:]
--[WebBaseNetscapePluginView viewDidMoveToWindow]
--[WebBaseNetscapePluginView resetTrackingRect]
--[WebBaseNetscapePluginView webView]
--[WebBaseNetscapePluginView webFrame]
--[WebBaseNetscapePluginView start]
-_WKSetNSURLConnectionDefersCallbacks
--[WebHostedNetscapePluginView createPlugin]
--[WebNetscapePluginPackage pluginHostArchitecture]
-__ZN6WebKit25NetscapePluginHostManager6sharedEv
-__ZN6WebKit25NetscapePluginHostManager17instantiatePluginERKN3WTF6StringEiS4_P27WebHostedNetscapePluginViewP8NSStringP7NSArraySA_S8_P5NSURLbbb
-__ZN6WebKit25NetscapePluginHostManager13hostForPluginERKN3WTF6StringEiS4_
-__ZN6WebKit25NetscapePluginHostManager15spawnPluginHostERKN3WTF6StringEijRjR19ProcessSerialNumber
-__ZN6WebKit25NetscapePluginHostManager20initializeVendorPortEv
-__WKPACheckInApplication
-_WKInitializeRenderServer
-__WKPASpawnPluginHost
-__WKPHCheckInWithPluginHost
-__ZN6WebKit23NetscapePluginHostProxyC1EjjRK19ProcessSerialNumberb
-__ZN6WebKit23NetscapePluginHostProxyC2EjjRK19ProcessSerialNumberb
-_WKCreateMIGServerSource
-__ZN6WebKit27NetscapePluginInstanceProxy6createEPNS_23NetscapePluginHostProxyEP27WebHostedNetscapePluginViewb
-__ZN6WebKit27NetscapePluginInstanceProxyC2EPNS_23NetscapePluginHostProxyEP27WebHostedNetscapePluginViewb
-__ZN6WebKit23NetscapePluginHostProxy14pluginInstanceEj
-__ZNK3WTF7HashMapIjNS_6RefPtrIN6WebKit27NetscapePluginInstanceProxyEEENS_7IntHashIjEENS_10HashTraitsIjEENS7_IS4_EEE3getERKj
-__ZN6WebKit23NetscapePluginHostProxy17addPluginInstanceEPNS_27NetscapePluginInstanceProxyE
-__ZN3WTF7HashMapIjNS_6RefPtrIN6WebKit27NetscapePluginInstanceProxyEEENS_7IntHashIjEENS_10HashTraitsIjEENS7_IS4_EEE3setERKjRKS4_
-__ZN6WebKit27NetscapePluginInstanceProxy13nextRequestIDEv
-__WKPHInstantiatePlugin
-__ZN6WebKit27NetscapePluginInstanceProxy12waitForReplyINS0_22InstantiatePluginReplyEEESt8auto_ptrIT_Ej
-__ZN6WebKit27NetscapePluginInstanceProxy22willCallPluginFunctionEv
-__ZN6WebKit27NetscapePluginInstanceProxy30processRequestsAndWaitForReplyEj
-__ZN6WebKit23NetscapePluginHostProxy15processRequestsEv
-_WebKitPluginClient_server
-__XPCGetWindowNPObject
-_WKPCGetWindowNPObject
-__ZNK3WTF7HashMapIjPN6WebKit23NetscapePluginHostProxyENS_7IntHashIjEENS_10HashTraitsIjEENS6_IS3_EEE3getERKj
-__ZN6WebKit27NetscapePluginInstanceProxy17getWindowNPObjectERj
-__ZN6WebKit27NetscapePluginInstanceProxy14LocalObjectMap11idForObjectERN3JSC12VMEPNS2_8JSObjectE
-__ZNK3WTF9HashTableIjSt4pairIjN3JSC6StrongINS2_8JSObjectEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E8containsIjNS_22IdentityHashTranslatorIjS6_SA_EEEEbRKT_
-__ZN3JSC6StrongINS_8JSObjectEEaSERKS2_
-__XPCEvaluate
-_WKPCEvaluate
-__ZN6WebKit21PluginDestroyDeferrerC1EPNS_27NetscapePluginInstanceProxyE
-__ZN6WebKit27NetscapePluginInstanceProxy8evaluateEjRKN3WTF6StringERPcRjb
-__ZN7WebCore10makeSourceERKN3WTF6StringES3_i
-__ZN7WebCore20StringSourceProviderC2ERKN3WTF6StringES4_RKNS1_12TextPositionINS1_14OneBasedNumberEEE
-__ZN3JSC14SourceProviderC2ERKNS_7UStringEPNS_19SourceProviderCacheE
-__ZN3JSC10SourceCodeC2EN3WTF10PassRefPtrINS_14SourceProviderEEEi
-__ZNK7WebCore20StringSourceProvider6lengthEv
-__ZNK7WebCore20StringSourceProvider4dataEv
-__ZN6WebKit27NetscapePluginInstanceProxy12marshalValueEPN3JSC9ExecStateENS1_7JSValueERPcRj
-__ZN6WebKit27NetscapePluginInstanceProxy15addValueToArrayEP14NSMutableArrayPN3JSC9ExecStateENS3_7JSValueE
-__WKPHBooleanAndDataReply
-__ZN6WebKit21PluginDestroyDeferrerD1Ev
-__ZN6WebKit27NetscapePluginInstanceProxy21didCallPluginFunctionERb
-__XPCGetStringIdentifier
-_WKPCGetStringIdentifier
-__XPCInvoke
-_WKPCInvoke
-__ZL27identifierFromIdentifierRepPN7WebCore13IdentifierRepE
-__ZN6WebKit27NetscapePluginInstanceProxy6invokeEjRKN3JSC10IdentifierEPcjRS5_Rj
-__ZNK3WTF7HashMapIjN3JSC6StrongINS1_8JSObjectEEENS_7IntHashIjEENS_10HashTraitsIjEENS7_IS4_EEE3getERKj
-__ZN3JSC6StrongINS_8JSObjectEEC2ERKS2_
-__ZNK3JSC8JSObject3getEPNS_9ExecStateERKNS_10IdentifierE
-__ZN6WebKit27NetscapePluginInstanceProxy15demarshalValuesEPN3JSC9ExecStateEPcjRNS1_20MarkedArgumentBufferE
-__ZN6WebKit27NetscapePluginInstanceProxy23demarshalValueFromArrayEPN3JSC9ExecStateEP7NSArrayRmRNS1_7JSValueE
-__ZN3JSC20MarkedArgumentBufferD1Ev
-__XPCForgetBrowserObject
-_WKPCForgetBrowserObject
-__ZN6WebKit27NetscapePluginInstanceProxy21forgetBrowserObjectIDEj
-__ZN6WebKit27NetscapePluginInstanceProxy14LocalObjectMap6forgetEj
-__XPCLoadURL
-_WKPCLoadURL
-__ZN6WebKit27NetscapePluginInstanceProxy7loadURLEPKcS2_S2_j12LoadURLFlagsRj
--[WebBaseNetscapePluginView requestWithURLCString:]
--[WebBaseNetscapePluginView URLWithCString:]
--[NSString(WebKitExtras) _web_stringByStrippingReturnCharacters]
--[NSURL(WebNSURLExtras) _webkit_URLByRemovingResourceSpecifier]
--[NSURL(WebNSURLExtras) _web_URLByTruncatingOneCharacterBeforeComponent:]
--[NSMutableURLRequest(WebNSURLRequestExtras) _web_setHTTPReferrer:]
--[NSString(WebNSURLExtras) _webkit_isFileURL]
-__ZN6WebKit27NetscapePluginInstanceProxy11loadRequestEP12NSURLRequestPKcbRj
--[WebBaseNetscapePluginView dataSource]
--[NSURL(WebNSURLExtras) _webkit_scriptIfJavaScriptURL]
--[NSString(WebNSURLExtras) _webkit_scriptIfJavaScriptURL]
--[NSString(WebNSURLExtras) _webkit_isJavaScriptURL]
--[NSString(WebKitExtras) _webkit_hasCaseInsensitivePrefix:]
-__ZN6WebKit26HostedNetscapePluginStreamC1EPNS_27NetscapePluginInstanceProxyEjP12NSURLRequest
-__ZN6WebKit26HostedNetscapePluginStreamC2EPNS_27NetscapePluginInstanceProxyEjP12NSURLRequest
-__ZN6WebKit26HostedNetscapePluginStream5startEv
-__XPCInstantiatePluginReply
-_WKPCInstantiatePluginReply
-__ZN6WebKit27NetscapePluginInstanceProxy22InstantiatePluginReplyD0Ev
-_WKMakeRenderLayer
--[WebBaseNetscapePluginView element]
-__ZN6WebKit27NetscapePluginInstanceProxy18windowFrameChangedE6CGRect
-__WKPHPluginInstanceWindowFrameChanged
-__ZNK21WebPluginHalterClient7enabledEv
--[WebView addPluginInstanceView:]
--[WebPluginDatabase addPluginInstanceView:]
--[WebBaseNetscapePluginView currentWindow]
--[WebHostedNetscapePluginView updateAndSetWindow]
--[WebBaseNetscapePluginView shouldClipOutPlugin]
--[WebBaseNetscapePluginView actualVisibleRectInWindow]
-__ZN6WebKit27NetscapePluginInstanceProxy6resizeE6CGRectS1_
-__WKPHResizePluginInstance
-__ZN6WebKit27NetscapePluginInstanceProxy12waitForReplyINS0_12BooleanReplyEEESt8auto_ptrIT_Ej
-__XPCBooleanReply
-_WKPCBooleanReply
-__ZN6WebKit27NetscapePluginInstanceProxy12BooleanReplyD0Ev
--[WebHostedNetscapePluginView addWindowObservers]
--[WebBaseNetscapePluginView addWindowObservers]
--[WebBaseNetscapePluginView sendActivateEvent:]
--[WebHostedNetscapePluginView windowFocusChanged:]
-__ZN6WebKit27NetscapePluginInstanceProxy18windowFocusChangedEb
-__WKPHPluginInstanceWindowFocusChanged
--[WebBaseNetscapePluginView restartTimers]
--[WebHostedNetscapePluginView stopTimers]
-__ZN6WebKit27NetscapePluginInstanceProxy10stopTimersEv
-__WKPHPluginInstanceStopTimers
--[WebHostedNetscapePluginView startTimers]
-__ZN6WebKit27NetscapePluginInstanceProxy11startTimersEb
-__WKPHPluginInstanceStartTimers
--[WebHostedNetscapePluginView loadStream]
-__ZNK7WebCore6Widget11isFrameViewEv
-__ZNK7WebCore14PluginViewBase16isPluginViewBaseEv
-__ZNK20NetscapePluginWidget13platformLayerEv
--[WebHostedNetscapePluginView pluginLayer]
-__ZN7WebCore6Widget22widgetPositionsUpdatedEv
--[WebHostedNetscapePluginView drawRect:]
--[WebBaseNetscapePluginView preferencesHaveChanged:]
-__ZN6WebKit26HostedNetscapePluginStream7didFailEPN7WebCore26NetscapePlugInStreamLoaderERKNS1_13ResourceErrorE
-__WKPHStreamDidFail
-__ZN6WebKit27NetscapePluginInstanceProxy16disconnectStreamEPNS_26HostedNetscapePluginStreamE
-__ZN6WebKit26HostedNetscapePluginStreamD0Ev
--[WebView initWithFrame:]
--[WebPreferences(WebPrivate) useQuickLookResourceCachingQuirks]
-+[WebView(WebFileInternal) _preferencesRemovedNotification:]
--[WebPreferences userStyleSheetLocation]
--[NSString(WebNSURLExtras) _webkit_looksLikeAbsoluteURL]
--[NSString(WebNSURLExtras) _webkit_rangeOfURLScheme]
-__ZL9setCursorP8NSWindowP13objc_selector7CGPoint
--[NSWindow(BorderViewAccess) _web_borderView]
-+[WebView(WebPrivate) _shouldUseFontSmoothing]
-+[WebView(WebPrivate) _setShouldUseFontSmoothing:]
--[WebWindowWatcher windowWillClose:]
-+[WebView(WebPrivate) canCloseAllWebViews]
-+[WebView _applicationWillTerminate]
-+[WebView(WebPrivate) closeAllWebViews]
-+[WebPluginDatabase closeSharedDatabase]
-+[WebHTMLView(WebPrivate) _postFlagsChangedEvent:]
--[NSEvent(WebExtras) _web_isTabKeyEvent]
-+[WebStringTruncator centerTruncateString:toWidth:]
--[NSView(WebExtras) _web_dragShouldBeginFromMouseDown:withExpiration:]
--[NSView(WebExtras) _web_dragShouldBeginFromMouseDown:withExpiration:xHysteresis:yHysteresis:]
--[NSFileManager(WebNSFileManagerExtras) _webkit_pathWithUniqueFilenameForPath:]
--[NSString(WebKitExtras) _webkit_filenameByFixingIllegalCharacters]
--[WebView(WebPrivate) _viewWillDrawInternal]
--[WebPluginDatabase removePluginInstanceViewsFor:]
--[WebView hostWindow]
--[WebBaseNetscapePluginView stop]
--[WebHostedNetscapePluginView shouldStop]
-__ZN6WebKit27NetscapePluginInstanceProxy10shouldStopEv
--[WebView removePluginInstanceView:]
--[WebPluginDatabase removePluginInstanceView:]
--[WebHostedNetscapePluginView destroyPlugin]
-__ZN6WebKit27NetscapePluginInstanceProxy7destroyEv
-__WKPHDestroyPluginInstance
-__ZN6WebKit27NetscapePluginInstanceProxy7cleanupEv
-__ZN6WebKit27NetscapePluginInstanceProxy14stopAllStreamsEv
-__ZN3WTF18copyValuesToVectorIjNS_6RefPtrIN6WebKit26HostedNetscapePluginStreamEEENS_7IntHashIjEENS_10HashTraitsIjEENS7_IS4_EENS_6VectorIS4_Lm0EEEEEvRKNS_7HashMapIT_T0_T1_T2_T3_EERT4_
-__ZN3WTF6VectorINS_6RefPtrIN6WebKit26HostedNetscapePluginStreamEEELm0EED1Ev
-__ZN6WebKit27NetscapePluginInstanceProxy14LocalObjectMap5clearEv
-__ZN6WebKit23NetscapePluginHostProxy20removePluginInstanceEPNS_27NetscapePluginInstanceProxyE
-__ZN6WebKit27NetscapePluginInstanceProxyD1Ev
-__ZN6WebKit27NetscapePluginInstanceProxyD2Ev
-__ZN6WebKit27NetscapePluginInstanceProxy14LocalObjectMapD1Ev
-__ZN3WTF5DequeINS_6RefPtrIN6WebKit27NetscapePluginInstanceProxy13PluginRequestEEELm0EED1Ev
-__ZN3WTF5DequeINS_6RefPtrIN6WebKit27NetscapePluginInstanceProxy13PluginRequestEEELm0EE10destroyAllEv
--[WebHostedNetscapePluginView inputContext]
-+[WebTextInputWindowController sharedTextInputWindowController]
--[WebTextInputWindowController init]
--[WebTextInputPanel init]
-_WKGetInputPanelWindowStyle
--[WebTextInputWindowController inputContext]
--[WebTextInputPanel _inputContext]
-__ZN20NetscapePluginWidgetD0Ev
--[WebBaseNetscapePluginView dealloc]
--[WebHostedNetscapePluginView .cxx_destruct]
--[WebBaseNetscapePluginView .cxx_destruct]
-__ZN17WebHaltablePluginD0Ev
-__ZN7WebCore20StringSourceProviderD0Ev
-__ZN3JSC14SourceProviderD2Ev
-__ZN6WebKit23NetscapePluginHostProxy28deadNameNotificationCallbackEP12__CFMachPortPvlS3_
-__ZN6WebKit23NetscapePluginHostProxy14pluginHostDiedEv
-__ZN6WebKit25NetscapePluginHostManager14pluginHostDiedEPNS_23NetscapePluginHostProxyE
-__ZN6WebKit23NetscapePluginHostProxyD2Ev
-_WKCreateAXTextMarkerRange
--[WebFrame(WebPrivate) _numberOfActiveAnimations]
--[WebFrame(WebPrivate) _pauseAnimation:onNode:atTime:]
-_WKExecutableWasLinkedOnOrBeforeSnowLeopard
-+[WebCoreStatistics garbageCollectJavaScriptObjects]
-__ZNK7WebCore12ChromeClient29dispatchViewportDataDidChangeERKNS_17ViewportArgumentsE
--[WebView(WebPrivate) setFrameSize:]
--[WebFrame(WebKitDebug) renderTreeAsExternalRepresentationForPrinting:]
-+[WebView(WebPrivate) _pointingHandCursor]
-_WKGetCFURLResponseURL
-_WKGetCFURLResponseHTTPResponse
-_WKSetCFURLResponseMIMEType
-_WKGetFontInLanguageForRange
--[WebFrame(WebPrivate) _layerTreeAsText]
-__ZN20WebFrameLoaderClient25dispatchDidBecomeFramesetEb
--[WebView _pluginForExtension:]
--[WebPluginDatabase pluginForExtension:]
--[WebBasePluginPackage supportsExtension:]
-__ZSt6__findIPKN3WTF6StringES1_ET_S4_S4_RKT0_St26random_access_iterator_tag
--[WebBasePluginPackage MIMETypeForExtension:]
-__XPCResolveURL
-_WKPCResolveURL
-__ZN6WebKit27NetscapePluginInstanceProxy10resolveURLEPKcS2_RPcRj
--[WebBaseNetscapePluginView resolvedURLStringForURL:target:]
-__ZN3WTF10RefCountedINS_13CStringBufferEE5derefEv
-__XPCConvertPoint
-_WKPCConvertPoint
-__ZN6WebKit27NetscapePluginInstanceProxy12convertPointEdd17NPCoordinateSpaceRdS2_S1_
--[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]
-__XPCGetPluginElementNPObject
-_WKPCGetPluginElementNPObject
-__ZN6WebKit27NetscapePluginInstanceProxy24getPluginElementNPObjectERj
-__XPCInvokeDefault
-_WKPCInvokeDefault
-__ZN6WebKit27NetscapePluginInstanceProxy13invokeDefaultEjPcjRS1_Rj
--[WebHostedNetscapePluginView visibleRectDidChange]
--[WebBaseNetscapePluginView visibleRectDidChange]
-_WKSyncSurfaceToView
-__ZN3WTF14PairHashTraitsINS_10HashTraitsIjEENS1_IN3JSC6StrongINS3_8JSObjectEEEEEE10emptyValueEv
--[WebInspector webViewClosed]
-+[WebView(WebFileInternal) _maxCacheModelInAnyInstance]
--[WebPluginDatabase destroyAllPluginInstanceViews]
--[WebPluginDatabase close]
--[WebPluginDatabase dealloc]
-+[WebCoreStatistics emptyCache]
--[WebHistoryItem dealloc]
--[WebBackForwardList dealloc]
--[WebInspector dealloc]
-__ZN20WebFrameLoaderClient33dispatchWillPerformClientRedirectERKN7WebCore4KURLEdd
-__Z21CallFrameLoadDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS2_S0_dS0_S0_
-__ZN20WebFrameLoaderClient31dispatchDidCancelClientRedirectEv
--[WebHTMLView needsPanelToBecomeKey]
-__ZN15WebChromeClient18makeFirstResponderEP11NSResponder
--[WebView(WebPrivate) _pushPerformingProgrammaticFocus]
--[WebDefaultUIDelegate webView:makeFirstResponder:]
--[WebHTMLView resignFirstResponder]
--[WebHTMLView updateCell:]
--[WebHTMLView maintainsInactiveSelection]
--[WebView(WebViewEditing) maintainsInactiveSelection]
--[WebHTMLView(WebDocumentPrivateProtocols) deselectAll]
--[WebView(WebPrivate) _popPerformingProgrammaticFocus]
-__ZN20WebFrameLoaderClient19dispatchDidFailLoadERKN7WebCore13ResourceErrorE
--[WebView(WebPrivate) _didFailLoadWithError:forFrame:]
-_WKContentAreaWillPaint
-__ZN7WebCore14PluginViewBase12scriptObjectEPN3JSC14JSGlobalObjectE
--[WebHostedNetscapePluginView createPluginBindingsInstance:]
-__ZN6WebKit27NetscapePluginInstanceProxy22createBindingsInstanceEN3WTF10PassRefPtrIN3JSC8Bindings10RootObjectEEE
-__WKPHGetScriptableNPObject
-__ZN6WebKit27NetscapePluginInstanceProxy12waitForReplyINS0_26GetScriptableNPObjectReplyEEESt8auto_ptrIT_Ej
-__XPCGetScriptableNPObjectReply
-_WKPCGetScriptableNPObjectReply
-__ZN6WebKit13ProxyInstance6createEN3WTF10PassRefPtrIN3JSC8Bindings10RootObjectEEEPNS_27NetscapePluginInstanceProxyEj
-__ZN6WebKit13ProxyInstanceC1EN3WTF10PassRefPtrIN3JSC8Bindings10RootObjectEEEPNS_27NetscapePluginInstanceProxyEj
-__ZN6WebKit13ProxyInstanceC2EN3WTF10PassRefPtrIN3JSC8Bindings10RootObjectEEEPNS_27NetscapePluginInstanceProxyEj
-__ZN6WebKit27NetscapePluginInstanceProxy11addInstanceEPNS_13ProxyInstanceE
-__ZN3WTF9HashTableIPN6WebKit13ProxyInstanceES3_NS_17IdentityExtractorIS3_EENS_7PtrHashIS3_EENS_10HashTraitsIS3_EES9_E3addIS3_S3_NS_22IdentityHashTranslatorIS3_S3_S7_EEEESt4pairINS_17HashTableIteratorIS3_S3_S5_S7_S9_S9_EEbERKT_RKT0_
-__ZN3WTF9HashTableIPN6WebKit13ProxyInstanceES3_NS_17IdentityExtractorIS3_EENS_7PtrHashIS3_EENS_10HashTraitsIS3_EES9_E6expandEv
-__ZN6WebKit27NetscapePluginInstanceProxy26GetScriptableNPObjectReplyD0Ev
-__ZN6WebKit13ProxyInstance16newRuntimeObjectEPN3JSC9ExecStateE
-__ZN6WebKit18ProxyRuntimeObjectC1EPN3JSC9ExecStateEPNS1_14JSGlobalObjectEN3WTF10PassRefPtrINS_13ProxyInstanceEEE
-__ZN6WebKit18ProxyRuntimeObjectC2EPN3JSC9ExecStateEPNS1_14JSGlobalObjectEN3WTF10PassRefPtrINS_13ProxyInstanceEEE
-__ZN3JSC8Bindings8Instance12virtualBeginEv
-__ZNK6WebKit13ProxyInstance8getClassEv
-__ZNK6WebKit10ProxyClass10fieldNamedERKN3JSC10IdentifierEPNS1_8Bindings8InstanceE
-__ZN6WebKit13ProxyInstance10fieldNamedERKN3JSC10IdentifierE
-__WKPHNPObjectHasProperty
-__XPCIdentifierInfo
-_WKPCIdentifierInfo
-__ZNK6WebKit10ProxyClass12methodsNamedERKN3JSC10IdentifierEPNS1_8Bindings8InstanceE
-__ZN6WebKit13ProxyInstance12methodsNamedERKN3JSC10IdentifierE
-__WKPHNPObjectHasMethod
-__ZN3JSC8Bindings5Class14fallbackObjectEPNS_9ExecStateEPNS0_8InstanceERKNS_10IdentifierE
-__ZN3JSC8Bindings8Instance10virtualEndEv
-__ZN3JSC8Bindings8Instance18getOwnPropertySlotEPNS_8JSObjectEPNS_9ExecStateERKNS_10IdentifierERNS_12PropertySlotE
-__ZN6WebKit18ProxyRuntimeObjectD1Ev
-__ZN6WebKit13ProxyInstance10invalidateEv
-__WKPHNPObjectRelease
-__ZN6WebKit13ProxyInstanceD0Ev
--[WebFrame(WebPrivate) _pauseTransitionOfProperty:onNode:atTime:]
-_WKQTMovieDisableComponent
-_WKQTMovieMaxTimeLoadedChangeNotification
--[NSString(WebNSURLExtras) _web_decodeHostName]
--[NSString(WebNSURLExtras) _web_mapHostNameWithRange:encode:makeString:]
--[WebPreferences(WebPrivate) _setPreferenceForTestWithValue:forKey:]
--[NSError(WebKitExtras) _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]
-__ZN15WebChromeClient46selectItemAlignmentFollowsMenuWritingDirectionEv
-__ZN23WebStorageTrackerClient23dispatchDidModifyOriginERKN3WTF6StringE
-__ZN23WebStorageTrackerClient35dispatchDidModifyOriginOnMainThreadEPv
-__ZN23WebStorageTrackerClient23dispatchDidModifyOriginEN3WTF10PassRefPtrIN7WebCore14SecurityOriginEEE
--[WebSecurityOrigin(WebInternal) _initWithWebCoreSecurityOrigin:]
--[WebSecurityOrigin dealloc]
-__ZN7WebCore14SecurityOriginD1Ev
-__ZN20WebFrameLoaderClient22dispatchWillSubmitFormEMN7WebCore13PolicyCheckerEFvNS0_12PolicyActionEEN3WTF10PassRefPtrINS0_9FormStateEEE
--[WebView(WebPrivate) _formDelegate]
-__ZNK25WebFrameNetworkingContext12blockedErrorERKN7WebCore15ResourceRequestE
-__ZN20WebFrameLoaderClient12blockedErrorERKN7WebCore15ResourceRequestE
-__ZN15WebEditorClient17shouldDeleteRangeEPN7WebCore5RangeE
-__ZN15WebEditorClient26shouldMoveRangeAfterDeleteEPN7WebCore5RangeES2_
--[WebDefaultEditingDelegate webView:shouldMoveRangeAfterDelete:replacingRange:]
-__ZN15WebEditorClient22registerCommandForUndoEN3WTF10PassRefPtrIN7WebCore11EditCommandEEE
-__ZN15WebEditorClient28registerCommandForUndoOrRedoEN3WTF10PassRefPtrIN7WebCore11EditCommandEEEb
-+[WebEditCommand initialize]
-+[WebEditCommand commandWithEditCommand:]
--[WebEditCommand .cxx_construct]
--[WebEditCommand initWithEditCommand:]
-__ZN15WebEditorClient24respondToChangedContentsEv
-__ZN15WebEditorClient13didEndEditingEv
--[WebEditCommand dealloc]
--[WebEditCommand .cxx_destruct]
-__ZThn8_N15WebEditorClient21checkSpellingOfStringEPKtiPiS2_
-__ZN15WebEditorClient21checkSpellingOfStringEPKtiPiS2_
-__ZThn8_N15WebEditorClient20checkGrammarOfStringEPKtiRN3WTF6VectorIN7WebCore13GrammarDetailELm0EEEPiS8_
-__ZN15WebEditorClient20checkGrammarOfStringEPKtiRN3WTF6VectorIN7WebCore13GrammarDetailELm0EEEPiS8_
-__ZN15WebEditorClient36isAutomaticSpellingCorrectionEnabledEv
--[WebView(WebViewTextChecking) isAutomaticSpellingCorrectionEnabled]
-__ZN3WTF6VectorIN7WebCore18TextCheckingResultELm0EE15reserveCapacityEm
-__ZN3WTF11VectorMoverILb0EN7WebCore18TextCheckingResultEE4moveEPKS2_S5_PS2_
-__ZN3WTF6VectorIN7WebCore13GrammarDetailELm0EEC2ERKS3_
-__ZN7WebCore18TextCheckingResultD1Ev
-__ZN7WebCore18callRemovedLastRefEPNS_10TreeSharedINS_13ContainerNodeEEE
-__ZN3WTF6VectorIN7WebCore13GrammarDetailELm0EED1Ev
-__ZN3WTF6VectorIN7WebCore18TextCheckingResultELm0EE14shrinkCapacityEm
-__ZN15WebEditorClient25shouldShowDeleteInterfaceEPN7WebCore11HTMLElementE
--[WebHTMLView(WebPrivate) _hasSelection]
-__ZN15WebEditorClient16shouldEndEditingEPN7WebCore5RangeE
-__ZN15WebEditorClient35isAutomaticQuoteSubstitutionEnabledEv
--[WebView(WebViewTextChecking) isAutomaticQuoteSubstitutionEnabled]
-__ZN15WebEditorClient31isAutomaticLinkDetectionEnabledEv
--[WebView(WebViewTextChecking) isAutomaticLinkDetectionEnabled]
-__ZN15WebEditorClient34isAutomaticDashSubstitutionEnabledEv
--[WebView(WebViewTextChecking) isAutomaticDashSubstitutionEnabled]
-__ZN15WebEditorClient33isAutomaticTextReplacementEnabledEv
--[WebView(WebViewTextChecking) isAutomaticTextReplacementEnabled]
-__ZN15WebEditorClient24textFieldDidBeginEditingEPN7WebCore7ElementE
-__ZN15WebEditorClient24textDidChangeInTextFieldEPN7WebCore7ElementE
-__ZN15WebEditorClient28textWillBeDeletedInTextFieldEPN7WebCore7ElementE
-__Z32CallFormDelegateReturningBooleanaP7WebViewP13objc_selectorP11objc_objectS2_S4_
--[WebView(WebPrivate) _executeCoreCommandByName:value:]
-__ZN15WebEditorClient24smartInsertDeleteEnabledEv
--[WebView(WebViewEditing) smartInsertDeleteEnabled]
-__ZN15WebChromeClient18runJavaScriptAlertEPN7WebCore5FrameERKN3WTF6StringE
-__Z14CallUIDelegateP7WebViewP13objc_selectorP11objc_objectS4_
--[WebHTMLView keyDown:]
-__ZN15WebEditorClient24handleInputMethodKeydownEPN7WebCore13KeyboardEventE
--[WebHTMLView(WebInternal) _interpretKeyEvent:savingCommands:]
--[WebHTMLView(WebNSTextInputSupport) doCommandBySelector:]
-__ZN3WTF6VectorIN7WebCore15KeypressCommandELm0EE15reserveCapacityEm
-__ZN7WebCore15KeypressCommandD1Ev
-__ZN15WebEditorClient19handleKeyboardEventEPN7WebCore13KeyboardEventE
--[WebHTMLView coreCommandBySelector:]
-__ZNK3WTF9HashTableIP13objc_selectorSt4pairIS2_NS_6StringEENS_18PairFirstExtractorIS5_EENS_7PtrHashIS2_EENS_14PairHashTraitsINS_10HashTraitsIS2_EENSB_IS4_EEEESC_E4findIS2_NS_22IdentityHashTranslatorIS2_S5_S9_EEEENS_22HashTableConstIteratorIS2_S5_S7_S9_SE_SC_EERKT_
--[WebHTMLView(WebInternal) _executeSavedKeypressCommands]
--[WebDefaultEditingDelegate webView:doCommandBySelector:]
-__ZN3WTF6VectorIN7WebCore15KeypressCommandELm0EE14shrinkCapacityEm
--[WebHTMLView keyUp:]
-__ZN3WTF6VectorIN7WebCore13GrammarDetailELm0EE15reserveCapacityEm
-__ZN3WTF11VectorMoverILb0EN7WebCore13GrammarDetailEE4moveEPKS2_S5_PS2_
-__ZN7WebCore13GrammarDetailD1Ev
-__ZNK15WebEditorClient7canUndoEv
-__ZN15WebEditorClient4undoEv
--[WebEditorUndoTarget undoEditing:]
--[WebEditCommand command]
-__ZN15WebEditorClient22registerCommandForRedoEN3WTF10PassRefPtrIN7WebCore11EditCommandEEE
-_WKSetPatternPhaseInUserSpace
--[NSFileManager(WebNSFileManagerExtras) _webkit_setMetadataURL:referrer:atPath:]
--[NSURL(WebNSURLExtras) _web_URLByRemovingUserInfo]
--[NSURL(WebNSURLExtras) _web_URLByRemovingComponentAndSubsequentCharacter:]
-_setMetaData
-_WKSetMetadataURL
--[NSString(WebKitExtras) _webkit_fixedCarbonPOSIXPath]
-+[WebView(WebPrivate) _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]
--[WebView setApplicationNameForUserAgent:]
-+[WebPreferences(WebInternal) _concatenateKeyWithIBCreatorID:]
--[WebPreferences(WebPrivate) setDatabasesEnabled:]
--[WebPreferences(WebPrivate) setLocalStorageEnabled:]
--[NSMutableDictionary(WebNSDictionaryExtras) _webkit_setInt:forKey:]
--[WebView setPreferences:]
--[WebView setDrawsBackground:]
-__Z40WebViewGetHistoryDelegateImplementationsP7WebView
--[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]
-__Z19CallHistoryDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS2_S0_S0_
--[WebNavigationData dealloc]
--[WebNavigationDataPrivate dealloc]
--[WebFrame(WebPrivate) setAccessibleName:]
-_WKCreateCTLineWithUniCharProvider
-_WKCreateCTTypesetterWithUniCharProviderAndOptions
-__ZN15WebEditorClient23textDidChangeInTextAreaEPN7WebCore7ElementE
--[WebView initWithCoder:]
--[WebPreferences initWithCoder:]
-+[WebPreferences(WebPrivate) _checkLastReferenceForIdentifier:]
--[WebPreferences dealloc]
--[WebPreferencesPrivate dealloc]
-+[WebView(WebPrivate) _reportException:inContext:]
-__Z19CallHistoryDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS2_
-__ZL12CallDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS0_S2_
--[WebHTMLView shouldDelayWindowOrderingForEvent:]
--[WebHTMLView(WebHTMLViewFileInternal) _hitViewForEvent:]
--[WebHTMLView _isSelectionEvent:]
--[WebHTMLView(WebDocumentInternalProtocols) elementAtPoint:allowShadowContent:]
--[WebElementDictionary objectForKey:]
--[WebElementDictionary _isSelected]
--[WebHTMLView scrollWheel:]
--[WebClipView scrollWheel:]
--[WebDynamicScrollBarsView(WebInternal) scrollWheel:]
-_WKGetWheelEventDeltas
--[WebDynamicScrollBarsView(WebInternal) allowsVerticalScrolling]
--[WebDynamicScrollBarsView(WebInternal) allowsHorizontalScrolling]
--[WebHTMLView clearFocus]
--[WebView _windowWillClose:]
--[WebView shouldCloseWithWindow]
--[WebHTMLView windowWillClose:]
--[WebView _windowDidResignKey:]
--[WebHTMLView windowDidResignKey:]
--[WebHTMLView removeMouseMovedObserver]
--[WebHTMLView _windowChangedKeyState]
--[WebHTMLView _updateControlTints]
--[WebView _windowDidBecomeKey:]
--[WebHTMLView windowDidBecomeKey:]
--[WebSerializedJSValue initWithInternalRepresentation:]
--[WebSerializedJSValuePrivate .cxx_construct]
--[WebSerializedJSValue deserialize:]
--[WebSerializedJSValue initWithValue:context:exception:]
--[WebSerializedJSValue dealloc]
--[WebSerializedJSValuePrivate .cxx_destruct]
--[WebSerializedJSValue internalRepresentation]
--[NSWindow(WebExtras) makeResponder:firstResponderIfDescendantOfView:]
-__ZNK15WebEditorClient10canCopyCutEPN7WebCore5FrameEb
--[DOMDocument(WebDOMDocumentOperations) webFrame]
--[WebView textSizeMultiplier]
-__ZN15WebEditorClient33didSetSelectionTypesForPasteboardEv
--[WebDefaultEditingDelegate webView:didSetSelectionTypesForPasteboard:]
-__ZN15WebEditorClient29didWriteSelectionToPasteboardEv
--[WebDefaultEditingDelegate webView:didWriteSelectionToPasteboard:]
-__ZNK15WebEditorClient8canPasteEPN7WebCore5FrameEb
-__ZN15WebEditorClient22setInsertionPasteboardEP12NSPasteboard
--[WebView(WebViewInternal) _setInsertionPasteboard:]
-__ZNK20WebFrameLoaderClient21canShowMIMETypeAsHTMLERKN3WTF6StringE
-__ZN15WebEditorClient16shouldInsertNodeEPN7WebCore4NodeEPNS0_5RangeENS0_18EditorInsertActionE
-+[WebStringTruncator widthOfString:font:]
--[WebFrame(WebInternal) _findFrameWithSelection]
--[WebFrame(WebInternal) _hasSelection]
-__ZN15WebEditorClient16shouldInsertTextERKN3WTF6StringEPN7WebCore5RangeENS4_18EditorInsertActionE
--[WebView(WebIBActions) validateUserInterfaceItem:]
--[WebView(WebIBActions) validateUserInterfaceItemWithoutDelegate:]
--[WebView(WebIBActions) _responderValidateUserInterfaceItem:]
--[WebView(WebFileInternal) _responderForResponderOperations]
--[NSView(WebExtras) _web_firstResponderIsSelfOrDescendantView]
--[WebHTMLView validateUserInterfaceItemWithoutDelegate:]
-__ZL29collectRangesThatNeedEncodingP8NSString8_NSRangePv
-__ZL28collectRangesThatNeedMappingP8NSString8_NSRangePva
--[NSString(WebNSURLExtras) _web_hostNameNeedsEncodingWithRange:]
-__ZN15WebChromeClient5printEPN7WebCore5FrameE
--[WebHTMLView(WebNSTextInputSupport) setMarkedText:selectedRange:]
--[WebHTMLView(WebPrivate) _isEditable]
--[WebResponderChainSink initWithResponderChain:]
--[WebFrameView scrollPageDown:]
--[WebFrameView _pageInBlockProgressionDirection:]
--[WebFrameView _isVerticalDocument]
--[WebFrameView _isFlippedDocument]
--[WebFrameView _pageVertically:]
--[WebFrameView _scrollOverflowInDirection:granularity:]
--[WebFrameView(WebPrivate) _isScrollable]
--[WebDynamicScrollBarsView horizontalScrollingAllowed]
--[WebDynamicScrollBarsView verticalScrollingAllowed]
--[WebFrameView(WebInternal) _verticalPageScrollDistance]
--[WebFrameView(WebPrivate) _contentView]
--[WebFrameView _scrollVerticallyBy:]
--[WebResponderChainSink receivedUnhandledCommand]
--[WebResponderChainSink detach]
--[WebFrameView scrollPageUp:]
--[WebHTMLView(WebNSTextInputSupport) hasMarkedText]
--[WebHTMLView(WebNSTextInputSupport) markedRange]
--[WebFrame(WebInternal) _convertToNSRange:]
--[WebHTMLView(WebNSTextInputSupport) firstRectForCharacterRange:]
--[WebFrame(WebInternal) _convertNSRangeToDOMRange:]
--[WebFrame(WebInternal) _convertToDOMRange:]
--[WebFrame(WebInternal) _firstRectForDOMRange:]
--[WebHTMLView(WebNSTextInputSupport) unmarkText]
-+[NSPasteboard(WebExtras) _web_writableTypesForURL]
--[NSPasteboard(WebExtras) _web_writeURL:andTitle:types:]
-+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]
-+[WebURLsWithTitles arrayWithIFURLsWithTitlesPboardType]
-__ZNK15WebEditorClient7canRedoEv
-__ZN15WebEditorClient4redoEv
--[WebEditorUndoTarget redoEditing:]
-__ZN15WebEditorClient27doTextFieldCommandFromEventEPN7WebCore7ElementEPNS0_13KeyboardEventE
--[DOMDocument(WebDOMDocumentOperations) URLWithAttributeString:]
--[WebHTMLView mouseDragged:]
-__ZN13WebDragClient28dragSourceActionMaskForPointERKN7WebCore8IntPointE
--[WebDefaultUIDelegate webView:dragSourceActionMaskForPoint:]
-__ZN13WebDragClient24declareAndWriteDragImageEP12NSPasteboardP10DOMElementP5NSURLP8NSStringPN7WebCore5FrameE
--[DOMNode(WebDOMNodeOperations) webArchive]
--[WebArchive(WebInternal) _initWithCoreLegacyWebArchive:]
-+[WebArchivePrivate initialize]
--[WebArchivePrivate .cxx_construct]
--[WebArchivePrivate initWithCoreArchive:]
--[NSPasteboard(WebExtras) _web_declareAndWriteDragImageForElement:URL:title:archive:source:]
-+[NSPasteboard(WebExtras) _web_writableTypesForImageIncludingArchive:]
-__ZL36_writableTypesForImageWithoutArchivev
--[WebHTMLView(WebPrivate) pasteboard:provideDataForType:]
--[WebHTMLView(WebInternal) promisedDragTIFFDataSource]
--[NSPasteboard(WebExtras) _web_writeImage:element:URL:title:archive:types:source:]
--[WebHTMLView(WebInternal) setPromisedDragTIFFDataSource:]
-__ZN7WebCore20CachedResourceClient12imageChangedEPNS_11CachedImageEPKNS_7IntRectE
-__ZN7WebCore20CachedResourceClient14notifyFinishedEPNS_14CachedResourceE
--[WebArchive data]
--[WebArchivePrivate coreArchive]
-__ZN13WebDragClient27willPerformDragSourceActionEN7WebCore16DragSourceActionERKNS0_8IntPointEPNS0_9ClipboardE
--[WebDefaultUIDelegate webView:willPerformDragSourceAction:fromPoint:withPasteboard:]
-__ZN13WebDragClient9startDragEN3WTF9RetainPtrI7NSImageEERKN7WebCore8IntPointES7_PNS4_9ClipboardEPNS4_5FrameEb
--[WebHTMLView(WebInternal) _mouseDownEvent]
--[WebView(WebPrivate) _catchesDelegateExceptions]
--[WebView draggingUpdated:]
--[WebView applicationFlags:]
--[WebHTMLView draggingSourceOperationMaskForLocal:]
-__ZN13WebDragClient17actionMaskForDragEPN7WebCore8DragDataE
--[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]
--[WebView performDragOperation:]
-__ZN13WebDragClient32willPerformDragDestinationActionEN7WebCore21DragDestinationActionEPNS0_8DragDataE
--[WebDefaultUIDelegate webView:willPerformDragDestinationAction:forDraggingInfo:]
--[WebHTMLView draggedImage:endedAt:operation:]
--[WebFrame(WebInternal) _dragSourceEndedAt:operation:]
--[WebArchive dealloc]
--[WebArchivePrivate dealloc]
--[WebArchivePrivate .cxx_destruct]
-__ZN7WebCore7ArchiveD1Ev
-__ZN3WTF6VectorINS_6RefPtrIN7WebCore7ArchiveEEELm0EED1Ev
-__ZN3WTF6VectorINS_6RefPtrIN7WebCore15ArchiveResourceEEELm0EED1Ev
-+[WebView(WebPrivate) _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]
--[WebPreferences setDefaultTextEncodingName:]
--[WebDataSource subresourceForURL:]
--[WebDataSource(WebPrivate) _fileWrapperForURL:]
--[WebHTMLView menuForEvent:]
-_WKCopyDefaultSearchProviderDisplayName
-__ZN20WebContextMenuClient29getCustomMenuFromDefaultItemsEPN7WebCore11ContextMenuE
-__ZL14setMenuTargetsP6NSMenu
-+[WebMenuTarget sharedMenuTarget]
--[WebMenuTarget setMenuController:]
-__ZN15WebEditorClient17userVisibleStringEP5NSURL
-_WKGetExtensionsForMIMEType
-__ZN15WebEditorClient36documentFragmentFromAttributedStringEP18NSAttributedStringRN3WTF6VectorINS2_6RefPtrIN7WebCore15ArchiveResourceEEELm0EEE
-+[NSURL(WebDataURL) _web_uniqueWebDataURL]
--[WebResource initWithData:URL:MIMEType:textEncodingName:frameName:]
--[WebResource(WebResourcePrivate) _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]
-+[WebResourcePrivate initialize]
-__ZN7WebCore16ResourceResponseC1EP13NSURLResponse
--[WebResourcePrivate initWithCoreResource:]
-__ZN7WebCore20ResourceResponseBaseD2Ev
--[WebResource(WebResourceInternal) _coreResource]
-__ZN3WTF6VectorINS_6RefPtrIN7WebCore15ArchiveResourceEEELm0EE14expandCapacityEm
--[WebResource dealloc]
--[WebResourcePrivate dealloc]
-+[WebCoreStatistics setShouldPrintExceptions:]
--[WebView draggingExited:]
-_WKMouseExitedContentArea
--[WebView mainFrameURL]
--[WebDataSource request]
--[WebView draggingEntered:]
-__ZN15WebEditorClient15canonicalizeURLEP5NSURL
-_WKCGContextGetShouldSmoothFonts
-__ZN15WebChromeClient18chooseIconForFilesERKN3WTF6VectorINS0_6StringELm0EEEPN7WebCore11FileChooserE
--[WebPreferences setUserStyleSheetLocation:]
--[WebFrameView setAllowsScrolling:]
--[WebHTMLView(WebNSTextInputSupport) insertText:]
-__ZN3WTF6String7replaceEtt
-+[WebURLsWithTitles URLsFromPasteboard:]
--[NSPasteboard(WebExtras) _web_bestURL]
--[NSView(WebExtras) _web_dragOperationForDraggingInfo:]
--[WebPreferences(WebPrivate) setZoomsTextOnly:]
--[WebDynamicScrollBarsView initWithCoder:]
--[WebFrame loadData:MIMEType:textEncodingName:baseURL:]
--[WebView(WebPrivate) _isClosed]
--[WebPreferences init]
--[WebPreferences setAllowsAnimatedImages:]
--[WebPreferences setMinimumLogicalFontSize:]
--[WebPreferences(WebPrivate) setShowDebugBorders:]
--[WebPreferences(WebPrivate) setShowRepaintCounter:]
--[WebView setShouldCloseWithWindow:]
--[WebView(WebPrivate) setProhibitsMainFrameScrolling:]
--[WebView setShouldUpdateWhileOffscreen:]
--[WebFrameView(WebPrivate) _setCustomScrollViewClass:]
--[WebFrame findFrameNamed:]
--[WebFrame(WebPrivate) _setIsDisconnected:]
--[WebDefaultEditingDelegate webView:shouldBeginEditingInDOMRange:]
-__ZN15WebChromeClient14keyboardUIModeEv
--[WebView(WebViewInternal) _keyboardUIMode]
--[WebView(WebViewInternal) _retrieveKeyboardUIModeFromPreferences:]
--[WebPreferences tabsToLinks]
--[WebView(WebPrivate) _closeWithFastTeardown]
-_WKContentAreaDidHide
--[WebPreferences(WebPrivate) setDNSPrefetchingEnabled:]
-+[WebCache setDisabled:]
--[WebView setPreferencesIdentifier:]
--[WebView(WebPendingPublic) setPageSizeMultiplier:]
--[WebPreferences(WebPrivate) setShowsURLsInToolTips:]
--[WebTextIterator initWithRange:]
-+[WebTextIteratorPrivate initialize]
--[WebTextIteratorPrivate .cxx_construct]
--[WebTextIterator atEnd]
--[WebTextIterator currentTextLength]
--[WebTextIterator currentTextPointer]
--[WebTextIterator advance]
--[WebHTMLView performKeyEquivalent:]
--[WebHTMLView _handleStyleKeyEquivalent:]
--[WebPreferences(WebPrivate) respectStandardStyleKeyEquivalents]
--[WebTextIterator dealloc]
--[WebTextIteratorPrivate .cxx_destruct]
--[WebTextIterator currentRange]
--[WebHTMLView(WebPrivate) addTrackingRect:owner:userData:assumeInside:]
--[WebHTMLView(WebPrivate) _sendToolTipMouseEntered]
--[WebHTMLView(WebPrivate) _sendToolTipMouseExited]
--[WebHTMLView(WebPrivate) _removeTrackingRects:count:]
--[WebView(WebPrivate) setAlwaysShowVerticalScroller:]
--[WebDynamicScrollBarsView(WebInternal) setVerticalScrollingMode:andLock:]
--[WebDynamicScrollBarsView(WebInternal) horizontalScrollingMode]
--[WebDynamicScrollBarsView(WebInternal) setScrollingModesLocked:]
--[WebView(WebViewEditing) selectedDOMRange]
--[WebView(WebViewEditing) selectionAffinity]
--[WebView elementAtPoint:]
--[WebView _elementAtWindowPoint:]
--[WebView(WebFileInternal) _frameViewAtWindowPoint:]
--[WebHTMLView(WebDocumentInternalProtocols) elementAtPoint:]
--[WebElementDictionary _domNode]
--[WebElementDictionary _webFrame]
--[WebElementDictionary _absoluteLinkURL]
--[WebDefaultEditingDelegate webView:shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]
--[WebView(WebViewEditingInMail) _selectionIsAll]
--[WebView(WebViewEditingInMail) _selectionIsCaret]
--[WebHTMLView flagsChanged:]
-__ZN7WebCore21PlatformKeyboardEventD1Ev
--[WebView(WebViewEditing) typingStyle]
--[WebFrame(WebInternal) _typingStyle]
--[WebFrameView keyDown:]
--[WebFrameView allowsScrolling]
--[WebFrameView _scrollLineHorizontally:]
--[WebFrameView _horizontalKeyboardScrollDistance]
--[WebFrameView _scrollHorizontallyBy:]
-__ZN15WebEditorClient19showCorrectionPanelEN7WebCore19CorrectionPanelInfo9PanelTypeERKNS0_9FloatRectERKN3WTF6StringES9_RKNS6_6VectorIS7_Lm0EEE
-__ZN15CorrectionPanel4showEP7WebViewN7WebCore19CorrectionPanelInfo9PanelTypeERKNS2_9FloatRectERKN3WTF6StringESB_RKNS8_6VectorIS9_Lm0EEE
-___show_block_invoke_1
-__ZN15CorrectionPanel25handleAcceptedReplacementEP8NSStringS1_S1_l
--[WebView(WebViewTextChecking) handleCorrectionPanelResult:]
-__ZN15WebEditorClient19spellingUIIsShowingEv
-__ZN15WebEditorClient27substitutionsPanelIsShowingEv
-__ZN20WebContextMenuClient10isSpeakingEv
--[WebResponderChainSink doCommandBySelector:]
--[WebHTMLView(WebNSTextInputSupport) selectedRange]
--[WebFrame(WebPrivate) _selectedNSRange]
--[WebHTMLView(WebPrivate) _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]
--[WebHTMLView(WebPrivate) removeTrackingRect:]
-_WKGetFontInLanguageForCharacter
-__ZN15WebChromeClient5focusEv
-__ZThn8_N15WebEditorClient17getGuessesForWordERKN3WTF6StringES3_RNS0_6VectorIS1_Lm0EEE
-__ZN15WebEditorClient17getGuessesForWordERKN3WTF6StringES3_RNS0_6VectorIS1_Lm0EEE
-__ZN3WTF6VectorINS_6StringELm0EE14shrinkCapacityEm
-__ZN15WebEditorClient34updateSpellingUIWithMisspelledWordERKN3WTF6StringE
-__ZThn8_N15WebEditorClient23requestCheckingOfStringEPN7WebCore12SpellCheckerEijRKN3WTF6StringE
-__ZN15WebEditorClient23requestCheckingOfStringEPN7WebCore12SpellCheckerEijRKN3WTF6StringE
-___copy_helper_block_1
-___requestCheckingOfString_block_invoke_1
--[WebEditorSpellCheckResponder .cxx_construct]
--[WebEditorSpellCheckResponder initWithSender:sequence:types:results:]
--[WebEditorSpellCheckResponder perform]
--[WebEditorSpellCheckResponder .cxx_destruct]
-___destroy_helper_block_1
-__ZN15WebChromeClient19customHighlightRectEPN7WebCore4NodeERKN3WTF12AtomicStringERKNS0_9FloatRectE
--[WebHTMLView(WebInternal) _highlighterForType:]
-__ZN15WebChromeClient20paintCustomHighlightEPN7WebCore4NodeERKN3WTF12AtomicStringERKNS0_9FloatRectES9_bb
--[WebView(WebPendingPublic) findString:options:]
-__ZL10findStringP6NSViewP8NSStringm
--[WebHTMLView(WebDocumentInternalProtocols) _findString:options:]
--[WebDynamicScrollBarsView(WebInternal) setScrollOrigin:updatePositionAtAll:immediately:]
-__ZN7WebCore17FrameLoaderClient29dispatchDidNavigateWithinPageEv
-__ZN20WebFrameLoaderClient29dispatchDidPopStateWithinPageEv
-__ZN20WebFrameLoaderClient35dispatchDidChangeLocationWithinPageEv
-__ZN20WebFrameLoaderClient13didFinishLoadEv
-__ZN20WebFrameLoaderClient16restoreViewStateEv
-__ZN3WTF9HashTableImmNS_17IdentityExtractorImEENS_7IntHashImEENS_10HashTraitsImEES6_E16lookupForWritingERKm
-__ZN3WTF9HashTableImmNS_17IdentityExtractorImEENS_7IntHashImEENS_10HashTraitsImEES6_E4findImNS_22IdentityHashTranslatorImmS4_EEEENS_17HashTableIteratorImmS2_S4_S6_S6_EERKT_
-_WKAVAssetResolvedURL
--[WebView(WebIBActions) reload:]
--[WebFrame reload]
-__ZN3WTF9HashTableIPN7WebCore19BackForwardListImplESt4pairIS3_P18WebBackForwardListENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E16lookupForWritingERKS3_
-__ZN3WTF9HashTableIPN7WebCore19BackForwardListImplESt4pairIS3_P18WebBackForwardListENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E3addIS3_S6_NS_17HashMapTranslatorIS7_SG_SB_EEEES4_INS_17HashTableIteratorIS3_S7_S9_SB_SG_SE_EEbERKT_RKT0_
-__ZN3WTF9HashTableIPN7WebCore19BackForwardListImplESt4pairIS3_P18WebBackForwardListENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E4findIS3_NS_22IdentityHashTranslatorIS3_S7_SB_EEEENS_17HashTableIteratorIS3_S7_S9_SB_SG_SE_EERKT_
-__ZN3WTF9HashTableIPN7WebCore19BackForwardListImplESt4pairIS3_P18WebBackForwardListENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E6lookupERKS3_
-__ZN3WTF9HashTableIPN7WebCore19BackForwardListImplESt4pairIS3_P18WebBackForwardListENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E6rehashEi
-__ZN3WTF9HashTableIjSt4pairIjPN6WebKit27NetscapePluginInstanceProxy5ReplyEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E16lookupForWritingERKj
-__ZN3WTF9HashTableIjSt4pairIjPN6WebKit27NetscapePluginInstanceProxy5ReplyEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E3addIjS5_NS_17HashMapTranslatorIS6_SF_SA_EEEES1_INS_17HashTableIteratorIjS6_S8_SA_SF_SD_EEbERKT_RKT0_
-__ZN3WTF9HashTableIjSt4pairIjPN6WebKit27NetscapePluginInstanceProxy5ReplyEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E4findIjNS_22IdentityHashTranslatorIjS6_SA_EEEENS_17HashTableIteratorIjS6_S8_SA_SF_SD_EERKT_
-__ZN3WTF9HashTableIjSt4pairIjPN6WebKit27NetscapePluginInstanceProxy5ReplyEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E6rehashEi
-__ZN3WTF9HashTableIPN3JSC8JSObjectESt4pairIS3_S4_IjjEENS_18PairFirstExtractorIS6_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSC_IS5_EEEESD_E16lookupForWritingERKS3_
-__ZN3WTF9HashTableIPN3JSC8JSObjectESt4pairIS3_S4_IjjEENS_18PairFirstExtractorIS6_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSC_IS5_EEEESD_E3addIS3_S5_NS_17HashMapTranslatorIS6_SF_SA_EEEES4_INS_17HashTableIteratorIS3_S6_S8_SA_SF_SD_EEbERKT_RKT0_
-__ZN3WTF9HashTableIPN3JSC8JSObjectESt4pairIS3_S4_IjjEENS_18PairFirstExtractorIS6_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSC_IS5_EEEESD_E4findIS3_NS_22IdentityHashTranslatorIS3_S6_SA_EEEENS_17HashTableIteratorIS3_S6_S8_SA_SF_SD_EERKT_
-__ZN3WTF9HashTableIPN3JSC8JSObjectESt4pairIS3_S4_IjjEENS_18PairFirstExtractorIS6_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSC_IS5_EEEESD_E6rehashEi
-__ZN3WTF9HashTableIjSt4pairIjN3JSC6StrongINS2_8JSObjectEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E16lookupForWritingERKj
-__ZN3WTF9HashTableIjSt4pairIjN3JSC6StrongINS2_8JSObjectEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E3addIjS5_NS_17HashMapTranslatorIS6_SF_SA_EEEES1_INS_17HashTableIteratorIjS6_S8_SA_SF_SD_EEbERKT_RKT0_
-__ZN3WTF9HashTableIjSt4pairIjN3JSC6StrongINS2_8JSObjectEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E4findIjNS_22IdentityHashTranslatorIjS6_SA_EEEENS_17HashTableIteratorIjS6_S8_SA_SF_SD_EERKT_
-__ZN3WTF9HashTableIjSt4pairIjN3JSC6StrongINS2_8JSObjectEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E6rehashEi
-__ZN3WTF9HashTableIjSt4pairIjNS_6RefPtrIN6WebKit26HostedNetscapePluginStreamEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E16lookupForWritingERKj
-__ZN3WTF9HashTableIjSt4pairIjNS_6RefPtrIN6WebKit26HostedNetscapePluginStreamEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E3addIjS5_NS_17HashMapTranslatorIS6_SF_SA_EEEES1_INS_17HashTableIteratorIjS6_S8_SA_SF_SD_EEbERKT_RKT0_
-__ZN3WTF9HashTableIjSt4pairIjNS_6RefPtrIN6WebKit26HostedNetscapePluginStreamEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E4findIjNS_22IdentityHashTranslatorIjS6_SA_EEEENS_17HashTableIteratorIjS6_S8_SA_SF_SD_EERKT_
-__ZN3WTF9HashTableIjSt4pairIjNS_6RefPtrIN6WebKit26HostedNetscapePluginStreamEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E6rehashEi
-__ZN3WTF9HashTableIjSt4pairIjNS_6RefPtrIN6WebKit27NetscapePluginInstanceProxyEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E16lookupForWritingERKj
-__ZN3WTF9HashTableIjSt4pairIjNS_6RefPtrIN6WebKit27NetscapePluginInstanceProxyEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E3addIjS5_NS_17HashMapTranslatorIS6_SF_SA_EEEES1_INS_17HashTableIteratorIjS6_S8_SA_SF_SD_EEbERKT_RKT0_
-__ZN3WTF9HashTableIjSt4pairIjNS_6RefPtrIN6WebKit27NetscapePluginInstanceProxyEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E4findIjNS_22IdentityHashTranslatorIjS6_SA_EEEENS_17HashTableIteratorIjS6_S8_SA_SF_SD_EERKT_
-__ZN3WTF9HashTableIjSt4pairIjNS_6RefPtrIN6WebKit27NetscapePluginInstanceProxyEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E6rehashEi
-__ZN3WTF9HashTableIjSt4pairIjNS_6RefPtrIN6WebKit27NetscapePluginInstanceProxyEEEENS_18PairFirstExtractorIS6_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSC_IS5_EEEESD_E6removeEPS6_
-__ZN3WTF9HashTableIjSt4pairIjPN6WebKit23NetscapePluginHostProxyEENS_18PairFirstExtractorIS5_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSB_IS4_EEEESC_E16lookupForWritingERKj
-__ZN3WTF9HashTableIjSt4pairIjPN6WebKit23NetscapePluginHostProxyEENS_18PairFirstExtractorIS5_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSB_IS4_EEEESC_E3addIjS4_NS_17HashMapTranslatorIS5_SE_S9_EEEES1_INS_17HashTableIteratorIjS5_S7_S9_SE_SC_EEbERKT_RKT0_
-__ZN3WTF9HashTableIjSt4pairIjPN6WebKit23NetscapePluginHostProxyEENS_18PairFirstExtractorIS5_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSB_IS4_EEEESC_E4findIjNS_22IdentityHashTranslatorIjS5_S9_EEEENS_17HashTableIteratorIjS5_S7_S9_SE_SC_EERKT_
-__ZN3WTF9HashTableIjSt4pairIjPN6WebKit23NetscapePluginHostProxyEENS_18PairFirstExtractorIS5_EENS_7IntHashIjEENS_14PairHashTraitsINS_10HashTraitsIjEENSB_IS4_EEEESC_E6rehashEi
--[WebView(WebIBActions) makeTextLarger:]
--[WebView _zoomIn:isTextOnly:]
--[WebView(WebPendingPublic) zoomPageIn:]
-__ZNK20WebFrameLoaderClient21shouldGoToHistoryItemEPN7WebCore11HistoryItemE
--[WebDefaultPolicyDelegate webView:shouldGoToHistoryItem:]
--[WebView(WebPendingPublic) zoomPageOut:]
--[WebView _zoomOut:isTextOnly:]
--[WebFrame(WebKitDebug) counterValueForElement:]
-__ZN15WebChromeClient10windowRectEv
-__ZN15WebChromeClient11canRunModalEv
-__ZN20WebFrameLoaderClient27dispatchWillSendSubmitEventEPN7WebCore15HTMLFormElementE
-__ZN3WTF6VectorIPN3JSC8Bindings6MethodELm0EE14expandCapacityEm
-__ZN3WTF29RefPtrHashMapRawKeyTranslatorIPNS_10StringImplESt4pairINS_6RefPtrIS1_EEPN3JSC8Bindings5FieldEENS_14PairHashTraitsINS_10HashTraitsIS5_EENSC_IS9_EEEENS_10StringHashEE5equalERKS5_S2_
-__ZN3WTF29RefPtrHashMapRawKeyTranslatorIPNS_10StringImplESt4pairINS_6RefPtrIS1_EEPN3JSC8Bindings6MethodEENS_14PairHashTraitsINS_10HashTraitsIS5_EENSC_IS9_EEEENS_10StringHashEE5equalERKS5_S2_
-__ZN6WebKit13ProxyInstance9getMethodEPN3JSC9ExecStateERKNS1_10IdentifierE
-__ZN6WebKit18ProxyRuntimeMethodC1EPN3JSC9ExecStateEPNS1_14JSGlobalObjectERKNS1_10IdentifierERN3WTF6VectorIPNS1_8Bindings6MethodELm0EEE
-__ZN6WebKit13ProxyInstance12invokeMethodEPN3JSC9ExecStateEPNS1_13RuntimeMethodE
-__ZN6WebKit13ProxyInstance6invokeEPN3JSC9ExecStateE10InvokeTypeyRKNS1_7ArgListE
-__ZN6WebKit27NetscapePluginInstanceProxy13marshalValuesEPN3JSC9ExecStateERKNS1_7ArgListE
-__WKPHNPObjectInvoke
-__ZN6WebKit27NetscapePluginInstanceProxy12waitForReplyINS0_19BooleanAndDataReplyEEESt8auto_ptrIT_Ej
-__XPCBooleanAndDataReply
-_WKPCBooleanAndDataReply
-__ZN6WebKit27NetscapePluginInstanceProxy30moveGlobalExceptionToExecStateEPN3JSC9ExecStateE
-__ZN6WebKit27NetscapePluginInstanceProxy14demarshalValueEPN3JSC9ExecStateEPKcj
-__ZN7WebCore8jsStringEPN3JSC9ExecStateERKN3WTF6StringE
-__ZN3WTF9HashTableIPNS_10StringImplESt4pairIS2_N3JSC4WeakINS4_8JSStringEEEENS_18PairFirstExtractorIS8_EENS_10StringHashENS_14PairHashTraitsINS_10HashTraitsIS2_EENSD_IS7_EEEESE_E6lookupIS2_NS_22IdentityHashTranslatorIS2_S8_SB_EEEEPS8_RKT_
-__ZN6WebKit27NetscapePluginInstanceProxy19BooleanAndDataReplyD0Ev
-__ZN6WebKit18ProxyRuntimeMethodD1Ev
-__ZN3JSC13RuntimeMethodD2Ev
-__ZN6WebKit11ProxyMethodD0Ev
-_WKQTMovieSelectPreferredAlternates
-_WKQTMovieSelectPreferredAlternateTrackForMediaType
-_WKQTMovieGetType
-_WKQTMovieMaxTimeLoaded
-_maxValueForTimeRanges
-_WKQTMovieMaxTimeSeekable
--[WebFrame childFrames]
--[WebFrame name]
-+[WebCoreStatistics javaScriptObjectsCount]
-__ZN15WebChromeClient13setWindowRectERKN7WebCore9FloatRectE
--[WebFrameView scrollToBeginningOfDocument:]
--[WebFrameView _scrollToBeginningOfDocument]
--[WebFrameView scrollToEndOfDocument:]
--[WebFrameView _scrollToEndOfDocument]
--[WebBackForwardList capacity]
--[WebBackForwardList setCapacity:]
--[WebBackForwardList addItem:]
-__Z4coreP14WebHistoryItem
--[WebBackForwardList goToItem:]
-__ZN15WebChromeClient12createWindowEPN7WebCore5FrameERKNS0_16FrameLoadRequestERKNS0_14WindowFeaturesERKNS0_16NavigationActionE
-__ZN6WebKit25NetscapePluginHostManager15didCreateWindowEv
-__ZN15WebChromeClient18setToolbarsVisibleEb
--[WebDefaultUIDelegate webView:setToolbarsVisible:]
-__ZN15WebChromeClient19setStatusbarVisibleEb
--[WebDefaultUIDelegate webView:setStatusBarVisible:]
-__ZN15WebChromeClient20setScrollbarsVisibleEb
-__ZN15WebChromeClient17setMenubarVisibleEb
-__ZN15WebChromeClient12setResizableEb
--[WebDefaultUIDelegate webView:setResizable:]
-__ZN15WebChromeClient8pageRectEv
-__ZN15WebChromeClient4showEv
--[WebDefaultUIDelegate webViewShow:]
-__ZN15WebChromeClient15closeWindowSoonEv
--[WebView(WebIBActions) stopLoading:]
--[WebView(WebPrivate) _closeWindow]
-__ZN20WebFrameLoaderClient38dispatchDecidePolicyForNewWindowActionEMN7WebCore13PolicyCheckerEFvNS0_12PolicyActionEERKNS0_16NavigationActionERKNS0_15ResourceRequestEN3WTF10PassRefPtrINS0_9FormStateEEERKNSB_6StringE
--[WebDefaultPolicyDelegate webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:]
-__ZN20WebFrameLoaderClient18dispatchCreatePageERKN7WebCore16NavigationActionE
--[WebDefaultUIDelegate webView:createWebViewWithRequest:windowFeatures:]
-__ZN20WebFrameLoaderClient12dispatchShowEv
-__ZN15WebChromeClient14menubarVisibleEv
-__ZN20WebGeolocationClient17requestPermissionEPN7WebCore11GeolocationE
--[WebGeolocationPolicyListener .cxx_construct]
--[WebGeolocationPolicyListener initWithGeolocation:]
-__Z14CallUIDelegateP7WebViewP13objc_selectorP11objc_objectS4_S4_
-__ZN20WebGeolocationClient23cancelPermissionRequestEPN7WebCore11GeolocationE
--[WebGeolocationPosition initWithTimestamp:latitude:longitude:accuracy:]
--[WebGeolocationPositionInternal .cxx_construct]
--[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]
--[WebGeolocationPolicyListener allow]
-__ZN20WebGeolocationClient13startUpdatingEv
--[WebView(WebViewGeolocation) _geolocationProvider]
--[WebGeolocationPolicyListener .cxx_destruct]
--[WebView(WebViewGeolocation) _geolocationDidChangePosition:]
-__Z4coreP22WebGeolocationPosition
-__ZN20WebGeolocationClient12stopUpdatingEv
--[WebGeolocationPosition dealloc]
--[WebGeolocationPositionInternal .cxx_destruct]
--[WebGeolocationPolicyListener deny]
--[WebView(WebViewGeolocation) _geolocationDidFailWithError:]
-__ZN3WTF10RefCountedIN7WebCore16GeolocationErrorEE5derefEv
-__ZNK20WebFrameLoaderClient31shouldStopLoadingForHistoryItemEPN7WebCore11HistoryItemE
-__ZN20WebFrameLoaderClient29savePlatformDataToCachedFrameEPN7WebCore11CachedFrameE
-__ZN20WebFrameLoaderClient18didSaveToPageCacheEv
-__ZN26WebCachedFramePlatformData5clearEv
--[WebHTMLView(WebInternal) closeIfNotCurrentView]
-__ZN26WebCachedFramePlatformDataD0Ev
-__ZNK7WebCore12ChromeClient37willRunModalDialogDuringPageDismissalERKNS0_10DialogTypeE
-__ZN15WebChromeClient7unfocusEv
-+[DOMElement(WebDOMElementOperationsPrivate) _DOMElementFromJSContext:value:]
--[DOMElement(WebDOMElementOperationsPrivate) _shadowRoot:]
-__ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_4NodeE
-__ZN3WTF9HashTableIPvSt4pairIS1_N3JSC4WeakIN7WebCore12JSDOMWrapperEEEENS_18PairFirstExtractorIS8_EENS_7PtrHashIS1_EENS_14PairHashTraitsINS_10HashTraitsIS1_EENSE_IS7_EEEESF_E6lookupERKS1_
-__ZN20WebFrameLoaderClient10javaAppletEP6NSView
--[WebFrameView scrollLineDown:]
--[WebFrameView _scrollLineVertically:]
--[WebFrameView(WebPrivate) _largestScrollableChild]
--[WebView(WebViewEditingActions) scrollLineDown:]
--[WebView(WebViewEditingActions) _performResponderOperation:with:]
-__ZThn48_N21WebPlatformStrategies14refreshPluginsEv
-__ZN15WebChromeClient20runJavaScriptConfirmEPN7WebCore5FrameERKN3WTF6StringE
-__Z30CallUIDelegateReturningBooleanaP7WebViewP13objc_selectorP11objc_objectS4_
-__ZN15WebChromeClient19runJavaScriptPromptEPN7WebCore5FrameERKN3WTF6StringES6_RS4_
-__ZN15WebChromeClient17scrollbarsVisibleEv
-__ZN15WebChromeClient15toolbarsVisibleEv
-__Z30CallUIDelegateReturningBooleanaP7WebViewP13objc_selector
-__ZN15WebChromeClient16statusbarVisibleEv
-__ZN20WebFrameLoaderClient36transitionToCommittedFromCachedFrameEPN7WebCore11CachedFrameE
-__ZN20WebFrameLoaderClient23didRestoreFromPageCacheEv
-__ZN15WebChromeClient25shouldInterruptJavaScriptEv
-__Z14CallUIDelegateP7WebViewP13objc_selector
--[DOMElement(WebDOMElementOperationsPrivate) _ensureShadowRoot:]
--[DOMElement(WebDOMElementOperationsPrivate) _removeShadowRoot]
--[NSString(WebNSURLExtras) _web_encodeHostName]
-__ZL22readIDNScriptWhiteListv
-__ZL26readIDNScriptWhiteListFileP8NSString
--[WebFramePolicyListener ignore]
-__ZN20WebFrameLoaderClient22dispatchDidChangeIconsEN7WebCore8IconTypeE
--[WebHTMLRepresentation receivedError:withDataSource:]
-__ZN20WebFrameLoaderClient34didTransferChildFrameToNewDocumentEPN7WebCore4PageE
--[WebHTMLView complete:]
--[WebHTMLView callDelegateDoCommandBySelectorIfNeeded:]
--[WebTextCompletionController initWithWebView:HTMLView:]
--[WebTextCompletionController doCompletion]
--[WebFrame(WebInternal) _rangeByAlteringCurrentSelection:direction:granularity:]
-__ZN7WebCore14FrameSelectionD1Ev
-__ZN7WebCore16VisibleSelectionD1Ev
--[WebTextCompletionController popupWindowIsOpen]
--[WebTextCompletionController filterKeyDown:]
--[WebTextCompletionController endRevertingChange:moveLeft:]
--[WebTextCompletionController dealloc]
--[WebView(WebViewEditingActions) scrollPageUp:]
--[WebResponderChainSink tryToPerform:with:]
--[WebView(WebViewEditingActions) scrollPageDown:]
--[WebView(WebViewEditingActions) scrollToBeginningOfDocument:]
--[WebView(WebViewEditingActions) scrollToEndOfDocument:]
-__ZN15WebChromeClient12canTakeFocusEN7WebCore14FocusDirectionE
-__ZN15WebChromeClient9takeFocusEN7WebCore14FocusDirectionE
--[WebView(WebViewInternal) _becomingFirstResponderFromOutside]
--[WebView(WebPendingPublic) shouldClose]
--[WebDefaultUIDelegate webViewClose:]
--[WebFrameView(WebFrameViewFileInternal) _verticalKeyboardScrollDistance]
-__ZN15WebChromeClient8runModalEv
-_WKSoftwareCARendererCreate
-_WKSoftwareCARendererRender
-__ZN6WebKit27NetscapePluginInstanceProxy7didDrawEv
-__ZN20NetscapePluginWidget11handleEventEPN7WebCore5EventE
-__ZN7WebCore16threadGlobalDataEv
-__ZN3WTF14ThreadSpecificIN7WebCore16ThreadGlobalDataEEcvPS2_Ev
--[WebBaseNetscapePluginView acceptsFirstResponder]
--[WebBaseNetscapePluginView becomeFirstResponder]
--[WebHostedNetscapePluginView focusChanged]
-__ZN6WebKit27NetscapePluginInstanceProxy12focusChangedEb
-__WKPHPluginInstanceFocusChanged
--[WebBaseNetscapePluginView resignFirstResponder]
-__ZN6WebKit27NetscapePluginInstanceProxy14removeInstanceEPNS_13ProxyInstanceE
-__ZNK3WTF9HashTableIPN6WebKit13ProxyInstanceES3_NS_17IdentityExtractorIS3_EENS_7PtrHashIS3_EENS_10HashTraitsIS3_EES9_E4findIS3_NS_22IdentityHashTranslatorIS3_S3_S7_EEEENS_22HashTableConstIteratorIS3_S3_S5_S7_S9_S9_EERKT_
-__ZN3WTF9HashTableIPN6WebKit13ProxyInstanceES3_NS_17IdentityExtractorIS3_EENS_7PtrHashIS3_EENS_10HashTraitsIS3_EES9_E6removeEPS3_
-_WKSoftwareCARendererDestroy
--[DOMHTMLInputElement(WebDOMHTMLInputElementOperationsPrivate) _setAutofilled:]
--[WebFrameView scrollLineUp:]
--[WebView(WebViewEditingActions) scrollLineUp:]
--[DOMHTMLInputElement(WebDOMHTMLInputElementOperationsPrivate) _setValueForUser:]
--[WebView goBack]
-__ZN20WebFrameLoaderClient20redirectDataToPluginEPN7WebCore6WidgetE
--[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]
--[WebHostedNetscapePluginView pluginView:receivedError:]
-__XPCCancelLoadURL
-_WKPCCancelLoadURL
-__ZN6WebKit27NetscapePluginInstanceProxy16cancelStreamLoadEjs
-__ZNK3WTF7HashMapIjNS_6RefPtrIN6WebKit26HostedNetscapePluginStreamEEENS_7IntHashIjEENS_10HashTraitsIjEENS7_IS4_EEE3getERKj
--[WebHostedNetscapePluginView pluginView:receivedResponse:]
--[WebHostedNetscapePluginView pluginView:receivedData:]
-__ZN20WebFrameLoaderClient31transferLoadingResourceFromPageEmPN7WebCore14DocumentLoaderERKNS0_15ResourceRequestEPNS0_4PageE
-__Z3kitPN7WebCore4PageE
--[WebFrameView setBoundsSize:]
--[WebView(WebPrivate) _isProcessingUserGesture]
-__ZN15WebChromeClient21exceededDatabaseQuotaEPN7WebCore5FrameERKN3WTF6StringE
--[WebSecurityOrigin(WebQuotaManagers) databaseQuotaManager]
--[WebDatabaseQuotaManager initWithOrigin:]
--[WebDatabaseQuotaManager setQuota:]
--[WebSecurityOrigin(WebInternal) _core]
-__ZN24WebDatabaseManagerClient23dispatchDidModifyOriginEPN7WebCore14SecurityOriginE
-__ZN24WebDatabaseManagerClient25dispatchDidModifyDatabaseEPN7WebCore14SecurityOriginERKN3WTF6StringE
-__ZN7WebCore17FrameLoaderClient17didNotAllowScriptEv
--[WebBackForwardList forwardListCount]
--[WebBackForwardList backListCount]
--[WebBackForwardList itemAtIndex:]
--[WebHistoryItem URLString]
--[WebHistoryItem(WebPrivate) target]
--[WebHistoryItem(WebPrivate) isTargetItem]
--[WebHistoryItem(WebPrivate) children]
-__ZN20WebFrameLoaderClient33dispatchDidReplaceStateWithinPageEv
-__ZN20WebFrameLoaderClient30dispatchDidPushStateWithinPageEv
--[WebHistory init]
-+[WebHistoryPrivate initialize]
--[WebHistoryPrivate init]
-+[WebHistory setOptionalSharedHistory:]
--[WebHistory(WebInternal) _addVisitedLinksToPageGroup:]
--[WebHistoryPrivate addVisitedLinksToPageGroup:]
--[WebView(WebViewPrivateStyleInfo) _computedStyleIncludingVisitedInfo:forElement:]
-__ZN7WebCore13computedStyleEN3WTF10PassRefPtrINS_4NodeEEEbRKNS0_6StringE
--[WebHistory dealloc]
--[WebHistoryPrivate dealloc]
--[WebHistory(WebInternal) _visitedURL:withTitle:method:wasFailure:increaseVisitCount:]
--[WebHistoryPrivate visitedURL:withTitle:increaseVisitCount:]
--[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]
--[WebHistoryItem(WebInternal) _recordInitialVisit]
--[WebHistoryPrivate addItemToDateCaches:]
--[WebHistoryItem lastVisitedTimeInterval]
--[WebHistoryPrivate findKey:forDay:]
-__ZNK3WTF9HashTableIxSt4pairIxNS_9RetainPtrI14NSMutableArrayEEENS_18PairFirstExtractorIS5_EENS_7IntHashIyEENS_14PairHashTraitsINS_10HashTraitsIxEENSB_IS4_EEEESC_E8containsIxNS_22IdentityHashTranslatorIxS5_S9_EEEEbRKT_
--[WebHistory _sendNotification:entries:]
--[WebHistory(WebPrivate) allItems]
--[WebHistoryPrivate allItems]
--[DOMElement(WebDOMElementOperationsPrivate) _shadowPseudoId]
--[DOMElement(WebDOMElementOperationsPrivate) _markerTextForListItem]
--[WebView(WebPrivate) _loadBackForwardListFromOtherView:]
--[WebDataSource(WebPrivate) _setDeferMainResourceDataLoad:]
--[WebHistoryPrivate insertItem:forDateKey:]
-__ZN3WTF9HashTableIxSt4pairIxNS_9RetainPtrI14NSMutableArrayEEENS_18PairFirstExtractorIS5_EENS_7IntHashIyEENS_14PairHashTraitsINS_10HashTraitsIxEENSB_IS4_EEEESC_E16lookupForWritingERKx
-__ZN3WTF9HashTableIxSt4pairIxNS_9RetainPtrI14NSMutableArrayEEENS_18PairFirstExtractorIS5_EENS_7IntHashIyEENS_14PairHashTraitsINS_10HashTraitsIxEENSB_IS4_EEEESC_E3addIxS4_NS_17HashMapTranslatorIS5_SE_S9_EEEES1_INS_17HashTableIteratorIxS5_S7_S9_SE_SC_EEbERKT_RKT0_
-__ZN3WTF9HashTableIxSt4pairIxNS_9RetainPtrI14NSMutableArrayEEENS_18PairFirstExtractorIS5_EENS_7IntHashIyEENS_14PairHashTraitsINS_10HashTraitsIxEENSB_IS4_EEEESC_E4findIxNS_22IdentityHashTranslatorIxS5_S9_EEEENS_17HashTableIteratorIxS5_S7_S9_SE_SC_EERKT_
-__ZN3WTF9HashTableIxSt4pairIxNS_9RetainPtrI14NSMutableArrayEEENS_18PairFirstExtractorIS5_EENS_7IntHashIyEENS_14PairHashTraitsINS_10HashTraitsIxEENSB_IS4_EEEESC_E6lookupERKx
-__ZN3WTF9HashTableIxSt4pairIxNS_9RetainPtrI14NSMutableArrayEEENS_18PairFirstExtractorIS5_EENS_7IntHashIyEENS_14PairHashTraitsINS_10HashTraitsIxEENSB_IS4_EEEESC_E6rehashEi
--[WebFrameView(WebPrivate) _area]
-+[WebWorkersPrivate workerThreadCount]
-__ZN19DidModifyOriginData20dispatchToMainThreadEP24WebDatabaseManagerClientPN7WebCore14SecurityOriginE
-__ZN19DidModifyOriginData35dispatchDidModifyOriginOnMainThreadEPv
-__ZN15WebChromeClient25enterFullScreenForElementEPN7WebCore7ElementE
--[WebKitFullScreenListener .cxx_construct]
--[WebKitFullScreenListener initWithElement:]
--[WebKitFullScreenListener webkitWillEnterFullScreen]
-__ZN15WebChromeClient25fullScreenRendererChangedEPN7WebCore9RenderBoxE
--[WebView(WebViewInternal) _fullScreenRendererChanged:]
--[WebFullScreenController .cxx_construct]
--[WebFullScreenController init]
--[WebFullscreenWindow initWithContentRect:styleMask:backing:defer:]
--[WebFullScreenController windowDidLoad]
-__ZN18MediaEventListener6createEP23WebFullScreenController
--[WebFullScreenController setRenderer:]
-__ZN7WebCore12ChromeClient22setRootFullScreenLayerEPNS_13GraphicsLayerE
--[WebKitFullScreenListener webkitDidEnterFullScreen]
--[WebKitFullScreenListener .cxx_destruct]
--[WebFrameView _firstResponderIsFormControl]
-__ZN15WebChromeClient24exitFullScreenForElementEPN7WebCore7ElementE
--[WebKitFullScreenListener webkitWillExitFullScreen]
--[WebKitFullScreenListener webkitDidExitFullScreen]
--[WebInspector show:]
-__ZN18WebInspectorClient21openInspectorFrontendEPN7WebCore19InspectorControllerE
--[WebInspectorWindowController .cxx_construct]
--[WebInspectorWindowController initWithInspectedWebView:]
--[WebInspectorWindowController init]
--[WebInspectorWindowController setInspectorClient:]
--[WebInspectorWindowController webView]
-__ZN18WebInspectorClient22createFrontendSettingsEv
-__ZN26WebInspectorFrontendClientC2EP7WebViewP28WebInspectorWindowControllerPN7WebCore19InspectorControllerEPNS4_4PageEN3WTF10PassOwnPtrINS4_28InspectorFrontendClientLocal8SettingsEEE
--[WebInspectorWindowController setFrontendClient:]
--[WebInspectorFrontend initWithFrontendClient:]
--[WebInspector setFrontend:]
--[WebInspector evaluateInFrontend:callId:script:]
-__ZN26WebInspectorFrontendClient19localizedStringsURLEv
-__ZN26WebInspectorFrontendClient14frontendLoadedEv
--[WebInspectorWindowController showWindow:]
-__ZN18WebInspectorClient23inspectorStartsAttachedEv
-__ZL15populateSettingRKN3WTF6StringEPS0_
--[WebInspectorWindowController attached]
-__ZZN18WebInspectorClient22createFrontendSettingsEvEN27InspectorFrontendSettingsCF11getPropertyERKN3WTF6StringE
-__ZN26WebInspectorFrontendClient23setAttachedWindowHeightEj
--[WebInspectorWindowController setAttachedWindowHeight:]
-__ZN26WebInspectorFrontendClient12bringToFrontEv
-__ZNK26WebInspectorFrontendClient17updateWindowTitleEv
--[WebInspectorWindowController window]
-_WKNSWindowMakeBottomCornersSquare
-__ZN18WebInspectorClient21sendMessageToFrontendERKN3WTF6StringE
-__ZN26WebInspectorFrontendClient18loadSessionSettingERKN3WTF6StringEPS1_
--[WebInspectorWindowController inspectorClient]
-__ZN18WebInspectorClient18loadSessionSettingERKN3WTF6StringEPS1_
-__ZN3WTF9HashTableINS_6StringESt4pairIS1_S1_ENS_18PairFirstExtractorIS3_EENS_10StringHashENS_14PairHashTraitsINS_10HashTraitsIS1_EES9_EES9_E16lookupForWritingIS1_NS_22IdentityHashTranslatorIS1_S3_S6_EEEES2_IPS3_bERKT_
-__ZN3WTF9HashTableINS_6StringESt4pairIS1_S1_ENS_18PairFirstExtractorIS3_EENS_10StringHashENS_14PairHashTraitsINS_10HashTraitsIS1_EES9_EES9_E3addIS1_S1_NS_17HashMapTranslatorIS3_SA_S6_EEEES2_INS_17HashTableIteratorIS1_S3_S5_S6_SA_S9_EEbERKT_RKT0_
-__ZN3WTF9HashTableINS_6StringESt4pairIS1_S1_ENS_18PairFirstExtractorIS3_EENS_10StringHashENS_14PairHashTraitsINS_10HashTraitsIS1_EES9_EES9_E6lookupIS1_NS_22IdentityHashTranslatorIS1_S3_S6_EEEEPS3_RKT_
-__ZN3WTF9HashTableINS_6StringESt4pairIS1_S1_ENS_18PairFirstExtractorIS3_EENS_10StringHashENS_14PairHashTraitsINS_10HashTraitsIS1_EES9_EES9_E6rehashEi
-__ZN26WebInspectorFrontendClient19inspectedURLChangedERKN3WTF6StringE
-__ZN18WebInspectorClient13hideHighlightEv
--[WebNodeHighlighter hideHighlight]
--[WebInspector setTimelineProfilingEnabled:]
-__ZN26WebInspectorFrontendClient21disconnectFromBackendEv
--[WebInspectorWindowController destroyInspectorView:]
--[WebInspectorWindowController close]
-__ZN26WebInspectorFrontendClientD0Ev
--[WebInspectorWindowController dealloc]
--[WebInspectorWindowController .cxx_destruct]
-__ZZN18WebInspectorClient22createFrontendSettingsEvEN27InspectorFrontendSettingsCFD0Ev
--[WebDefaultEditingDelegate webView:shouldEndEditingInDOMRange:]
-__ZN18WebInspectorClient9highlightEPN7WebCore4NodeE
--[WebNodeHighlighter highlightNode:]
--[WebNodeHighlight initWithTargetView:inspectorController:]
--[WebNodeHighlight(FileInternal) _computeHighlightWindowFrame]
--[WebNodeHighlightView initWithWebNodeHighlight:]
--[WebNodeHighlightView isFlipped]
--[WebNodeHighlight setDelegate:]
--[WebNodeHighlight attach]
--[WebNodeHighlightView drawRect:]
--[WebNodeHighlight inspectorController]
--[WebNodeHighlighter didAttachWebNodeHighlight:]
--[WebView setCurrentNodeHighlight:]
--[WebNodeHighlight detach]
--[WebNodeHighlighter willDetachWebNodeHighlight:]
--[WebNodeHighlightView detachFromWebNodeHighlight]
--[WebNodeHighlight dealloc]
--[WebNodeHighlightView dealloc]
-__ZN26WebInspectorFrontendClient18saveSessionSettingERKN3WTF6StringES3_
-__ZN18WebInspectorClient18saveSessionSettingERKN3WTF6StringES3_
-__ZN3WTF17HashMapTranslatorISt4pairINS_6StringES2_ENS_14PairHashTraitsINS_10HashTraitsIS2_EES6_EENS_10StringHashEE9translateERS3_RKS2_SC_
--[WebDefaultUIDelegate webViewFocus:]
--[WebNodeHighlight(FileInternal) _repositionHighlightWindow]
--[WebNodeHighlight highlightView]
-__ZN20WebFrameLoaderClient22createJavaAppletWidgetERKN7WebCore7IntSizeEPNS0_17HTMLAppletElementERKNS0_4KURLERKN3WTF6VectorINS9_6StringELm0EEESE_
-__XPCHasProperty
-_WKPCHasProperty
-__ZN6WebKit27NetscapePluginInstanceProxy11hasPropertyEjRKN3JSC10IdentifierE
-__WKPHBooleanReply
-__XPCGetProperty
-_WKPCGetProperty
-__ZN6WebKit27NetscapePluginInstanceProxy11getPropertyEjRKN3JSC10IdentifierERPcRj
-__XPCSetProperty
-_WKPCSetProperty
-__ZN6WebKit27NetscapePluginInstanceProxy11setPropertyEjRKN3JSC10IdentifierEPcj
-__XPCInvalidateRect
-_WKPCInvalidateRect
-___WKPCInvalidateRect_block_invoke_2
-__ZN6WebKit27NetscapePluginInstanceProxy14invalidateRectEdddd
--[WebBaseNetscapePluginView invalidatePluginContentRect:]
-__ZN20WebFrameLoaderClient25pluginWillHandleLoadErrorERKN7WebCore16ResourceResponseE
-__ZN7WebCore17ResourceErrorBaseD2Ev
-_WKCopyAXTextMarkerRangeStart
-_WKGetBytesFromAXTextMarker
-_WKCopyAXTextMarkerRangeEnd
--[WebHTMLView accessibilityHitTest:]
-__ZN3WTF6VectorIN7WebCore20CompositionUnderlineELm0EE15reserveCapacityEm
--[WebHTMLView(WebNSTextInputSupport) attributedSubstringFromRange:]
-__ZN15WebEditorClient16shouldApplyStyleEPN7WebCore19CSSStyleDeclarationEPNS0_5RangeE
--[WebFrame(WebPrivate) _selectNSRange:]
--[WebHTMLView(WebNSTextInputSupport) characterIndexForPoint:]
--[WebFrame(WebInternal) _characterRangeAtPoint:]
--[WebHTMLView(WebNSTextInputSupport) conversationIdentifier]
-__ZN15WebEditorClient28recordAutocorrectionResponseEN7WebCore12EditorClient26AutocorrectionResponseTypeERKN3WTF6StringES6_
-__ZN15CorrectionPanel28recordAutocorrectionResponseEP7WebViewlRKN3WTF6StringES5_
--[WebView(WebPendingPublic) aeDescByEvaluatingJavaScriptFromString:]
-__ZL17aeDescFromJSValuePN3JSC9ExecStateENS_7JSValueE
-__ZNK3WTF9HashTableIPN3JSC8JSObjectES3_NS_17IdentityExtractorIS3_EENS_7PtrHashIS3_EENS_10HashTraitsIS3_EES9_E8containsIS3_NS_22IdentityHashTranslatorIS3_S3_S7_EEEEbRKT_
-__ZN3WTF9HashTableIPN3JSC8JSObjectES3_NS_17IdentityExtractorIS3_EENS_7PtrHashIS3_EENS_10HashTraitsIS3_EES9_E3addIS3_S3_NS_22IdentityHashTranslatorIS3_S3_S7_EEEESt4pairINS_17HashTableIteratorIS3_S3_S5_S7_S9_S9_EEbERKT_RKT0_
-__ZN3WTF9HashTableIPN3JSC8JSObjectES3_NS_17IdentityExtractorIS3_EENS_7PtrHashIS3_EENS_10HashTraitsIS3_EES9_E6expandEv
-__ZNK3JSC12PropertySlot8getValueEPNS_9ExecStateEj
-__ZNK3WTF9HashTableIPN3JSC8JSObjectES3_NS_17IdentityExtractorIS3_EENS_7PtrHashIS3_EENS_10HashTraitsIS3_EES9_E4findIS3_NS_22IdentityHashTranslatorIS3_S3_S7_EEEENS_22HashTableConstIteratorIS3_S3_S5_S7_S9_S9_EERKT_
-__ZN3WTF9HashTableIPN3JSC8JSObjectES3_NS_17IdentityExtractorIS3_EENS_7PtrHashIS3_EENS_10HashTraitsIS3_EES9_E6removeEPS3_
--[WebFrame(WebInternal) _convertDOMRangeToNSRange:]
--[WebPDFRepresentation setDataSource:]
--[WebPDFView initWithFrame:]
-+[WebPDFView(FileInternal) _PDFPreviewViewClass]
-+[WebPDFView PDFKitBundle]
--[PDFPrefUpdatingProxy initWithView:]
--[WebPDFView setNextKeyView:]
--[WebPDFView viewWillMoveToWindow:]
--[WebPDFView viewDidMoveToWindow]
--[WebPDFView(FileInternal) _trackFirstResponder]
--[WebPDFView(FileInternal) _clipViewForPDFDocumentView]
--[WebPDFView setDataSource:]
--[WebPDFRepresentation title]
--[WebPDFRepresentation receivedData:withDataSource:]
--[WebPDFView dataSourceUpdated:]
--[WebPDFRepresentation finishedLoadingWithDataSource:]
--[WebDataSource data]
-+[WebPDFRepresentation PDFDocumentClass]
--[WebPDFView setPDFDocument:]
--[WebPDFView(FileInternal) _scaleOrDisplayModeOrPageChanged:]
--[WebPDFView(FileInternal) _applyPDFDefaults]
--[WebPreferences(WebPrivate) PDFScaleFactor]
--[WebPreferences _floatValueForKey:]
--[WebPreferences(WebPrivate) PDFDisplayMode]
-__Z23allScriptsInPDFDocumentP11PDFDocument
--[WebPDFView(FileInternal) _updatePreferencesSoon]
--[NSView(WebExtras) _webView]
--[WebPDFView setNeedsLayout:]
--[WebPDFView layout]
--[WebPDFView(FileInternal) _updatePreferences:]
--[WebPreferences(WebPrivate) setPDFScaleFactor:]
--[WebPreferences _setFloatValue:forKey:]
--[WebPreferences(WebPrivate) setPDFDisplayMode:]
--[WebPDFView viewState]
--[WebPDFView dealloc]
-__ZNSt4pairIN3WTF6StringES1_ED1Ev
-+[WebHTMLView(WebPrivate) supportedMIMETypes]
-+[WebHTMLRepresentation supportedMIMETypes]
-__ZN7WebCore17FrameLoaderClient18didNotAllowPluginsEv
--[WebHostedNetscapePluginView handleMouseEntered:]
-__ZN6WebKit27NetscapePluginInstanceProxy10mouseEventEP6NSViewP7NSEvent16NPCocoaEventType
-__WKPHPluginInstanceMouseEvent
--[WebHostedNetscapePluginView handleMouseMoved:]
--[WebHostedNetscapePluginView mouseDown:]
-__ZN6WebKit26HostedNetscapePluginStream10cancelLoadEs
-__ZN6WebKit26HostedNetscapePluginStream10cancelLoadEP7NSError
-__ZNK15WebChromeClient34shouldMissingPluginMessageBeButtonEv
-__ZNK15WebChromeClient26missingPluginButtonClickedEPN7WebCore7ElementE
-__ZN6WebKit27NetscapePluginInstanceProxy17retainLocalObjectEN3JSC7JSValueE
-__ZN6WebKit27NetscapePluginInstanceProxy18releaseLocalObjectEN3JSC7JSValueE
-__ZN6WebKit26HostedNetscapePluginStream18didReceiveResponseEPN7WebCore26NetscapePlugInStreamLoaderERKNS1_16ResourceResponseE
-_WKGetNSURLResponseLastModifiedDate
-__ZN6WebKit26HostedNetscapePluginStream11startStreamEP5NSURLxP6NSDateP8NSStringP6NSData
--[NSURL(WebNSURLExtras) _web_URLCString]
-__WKPHStartStream
-__ZN6WebKit26HostedNetscapePluginStream16didFinishLoadingEPN7WebCore26NetscapePlugInStreamLoaderE
-__WKPHStreamDidFinishLoading
-__ZNK6WebKit10ProxyField17valueFromInstanceEPN3JSC9ExecStateEPKNS1_8Bindings8InstanceE
-__ZNK6WebKit13ProxyInstance10fieldValueEPN3JSC9ExecStateEPKNS1_8Bindings5FieldE
-__WKPHNPObjectGetProperty
-__ZN6WebKit10ProxyFieldD0Ev
--[NSString(WebNSURLExtras) _webkit_stringByReplacingValidPercentEscapes]
-__ZN6WebKit27NetscapePluginInstanceProxy13PluginRequestC2EjP12NSURLRequestP8NSStringb
-__ZN3WTF5DequeINS_6RefPtrIN6WebKit27NetscapePluginInstanceProxy13PluginRequestEEELm0EE14expandCapacityEv
-__ZN7WebCore5TimerIN6WebKit27NetscapePluginInstanceProxyEE5firedEv
-__ZN6WebKit27NetscapePluginInstanceProxy17requestTimerFiredEPN7WebCore5TimerIS0_EE
-__ZN6WebKit27NetscapePluginInstanceProxy14performRequestEPNS0_13PluginRequestE
-__ZN6WebKit27NetscapePluginInstanceProxy18evaluateJavaScriptEPNS0_13PluginRequestE
-__ZN6WebKit27NetscapePluginInstanceProxy13PluginRequestD1Ev
--[WebFrame(WebInternal) _internalLoadDelegate]
-__ZN3WTF7HashMapIP8WebFrameNS_6RefPtrIN6WebKit27NetscapePluginInstanceProxy13PluginRequestEEENS_7PtrHashIS2_EENS_10HashTraitsIS2_EENSA_IS7_EEE3setERKS2_RKS7_
--[WebFrame(WebInternal) _setInternalLoadDelegate:]
--[WebHostedNetscapePluginView webFrame:didFinishLoadWithError:]
--[WebHostedNetscapePluginView webFrame:didFinishLoadWithReason:]
-__ZN6WebKit27NetscapePluginInstanceProxy31webFrameDidFinishLoadWithReasonEP8WebFrames
-__ZN3WTF9HashTableIP8WebFrameSt4pairIS2_NS_6RefPtrIN6WebKit27NetscapePluginInstanceProxy13PluginRequestEEEENS_18PairFirstExtractorIS9_EENS_7PtrHashIS2_EENS_14PairHashTraitsINS_10HashTraitsIS2_EENSF_IS8_EEEESG_E16lookupForWritingERKS2_
-__ZN3WTF9HashTableIP8WebFrameSt4pairIS2_NS_6RefPtrIN6WebKit27NetscapePluginInstanceProxy13PluginRequestEEEENS_18PairFirstExtractorIS9_EENS_7PtrHashIS2_EENS_14PairHashTraitsINS_10HashTraitsIS2_EENSF_IS8_EEEESG_E3addIS2_S8_NS_17HashMapTranslatorIS9_SI_SD_EEEES3_INS_17HashTableIteratorIS2_S9_SB_SD_SI_SG_EEbERKT_RKT0_
-__ZN3WTF9HashTableIP8WebFrameSt4pairIS2_NS_6RefPtrIN6WebKit27NetscapePluginInstanceProxy13PluginRequestEEEENS_18PairFirstExtractorIS9_EENS_7PtrHashIS2_EENS_14PairHashTraitsINS_10HashTraitsIS2_EENSF_IS8_EEEESG_E4findIS2_NS_22IdentityHashTranslatorIS2_S9_SD_EEEENS_17HashTableIteratorIS2_S9_SB_SD_SI_SG_EERKT_
-__ZN3WTF9HashTableIP8WebFrameSt4pairIS2_NS_6RefPtrIN6WebKit27NetscapePluginInstanceProxy13PluginRequestEEEENS_18PairFirstExtractorIS9_EENS_7PtrHashIS2_EENS_14PairHashTraitsINS_10HashTraitsIS2_EENSF_IS8_EEEESG_E6rehashEi
-__ZN3WTF9HashTableIP8WebFrameSt4pairIS2_NS_6RefPtrIN6WebKit27NetscapePluginInstanceProxy13PluginRequestEEEENS_18PairFirstExtractorIS9_EENS_7PtrHashIS2_EENS_14PairHashTraitsINS_10HashTraitsIS2_EENSF_IS8_EEEESG_E6removeEPS9_
-__WKPHLoadURLNotify
-__ZN6WebKit26HostedNetscapePluginStream23startStreamWithResponseEP13NSURLResponse
-__ZN6WebKit26HostedNetscapePluginStream14didReceiveDataEPN7WebCore26NetscapePlugInStreamLoaderEPKci
-__WKPHStreamDidReceiveData
-__ZNK6WebKit10ProxyField18setValueToInstanceEPN3JSC9ExecStateEPKNS1_8Bindings8InstanceENS1_7JSValueE
-__ZNK6WebKit13ProxyInstance13setFieldValueEPN3JSC9ExecStateEPKNS1_8Bindings5FieldENS1_7JSValueE
-__WKPHNPObjectSetProperty
--[WebBaseNetscapePluginView windowWillClose:]
-__WKPHPluginInstanceDidDraw
--[WebHostedNetscapePluginView mouseUp:]
--[WebHostedNetscapePluginView keyDown:]
--[WebTextInputWindowController interpretKeyEvent:string:]
--[WebTextInputPanel _interpretKeyEvent:string:]
-__ZN6WebKit27NetscapePluginInstanceProxy8keyEventEP6NSViewP7NSEvent16NPCocoaEventType
-_WKGetNSEventKeyChar
-__WKPHPluginInstanceKeyboardEvent
--[WebHostedNetscapePluginView keyUp:]
--[WebHostedNetscapePluginView mouseDragged:]
--[WebHostedNetscapePluginView handleMouseExited:]
-__ZNK6WebKit18ProxyRuntimeObject24getInternalProxyInstanceEv
-__ZN6WebKit27NetscapePluginInstanceProxy14pluginHostDiedEv
--[WebHostedNetscapePluginView pluginHostDied]
-__XPCSetException
-_WKPCSetException
-__ZN6WebKit27NetscapePluginInstanceProxy18setGlobalExceptionERKN3WTF6StringE
-__ZN6WebKit27NetscapePluginInstanceProxy14LocalObjectMap7releaseEPN3JSC8JSObjectE
-__ZN6WebKit26HostedNetscapePluginStreamC1EPNS_27NetscapePluginInstanceProxyEPN7WebCore11FrameLoaderE
-__ZN6WebKit26HostedNetscapePluginStreamC2EPNS_27NetscapePluginInstanceProxyEPN7WebCore11FrameLoaderE
-__ZN6WebKit27NetscapePluginInstanceProxy15setManualStreamEN3WTF10PassRefPtrINS_26HostedNetscapePluginStreamEEE
--[WebHostedNetscapePluginView pluginViewFinishedLoading:]
-+[WebScriptWorld world]
--[WebScriptWorld init]
-+[WebView(WebPrivate) _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]
-__ZL14toStringVectorP7NSArray
-__Z4coreP14WebScriptWorld
--[WebScriptWorld dealloc]
--[WebScriptWorldPrivate .cxx_destruct]
-__ZN3WTF9HashTableIPN7WebCore15DOMWrapperWorldESt4pairIS3_P14WebScriptWorldENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E16lookupForWritingERKS3_
-__ZN3WTF9HashTableIPN7WebCore15DOMWrapperWorldESt4pairIS3_P14WebScriptWorldENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E3addIS3_S6_NS_17HashMapTranslatorIS7_SG_SB_EEEES4_INS_17HashTableIteratorIS3_S7_S9_SB_SG_SE_EEbERKT_RKT0_
-__ZN3WTF9HashTableIPN7WebCore15DOMWrapperWorldESt4pairIS3_P14WebScriptWorldENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E4findIS3_NS_22IdentityHashTranslatorIS3_S7_SB_EEEENS_17HashTableIteratorIS3_S7_S9_SB_SG_SE_EERKT_
-__ZN3WTF9HashTableIPN7WebCore15DOMWrapperWorldESt4pairIS3_P14WebScriptWorldENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E6lookupERKS3_
-__ZN3WTF9HashTableIPN7WebCore15DOMWrapperWorldESt4pairIS3_P14WebScriptWorldENS_18PairFirstExtractorIS7_EENS_7PtrHashIS3_EENS_14PairHashTraitsINS_10HashTraitsIS3_EENSD_IS6_EEEESE_E6rehashEi
--[WebFrame(WebPrivate) _globalContextForScriptWorld:]
-_WKCreatePrivateStorageSession
-_CoreServicesLibrary
-_canLoad_CFURLStorageSessionCopyCache
-_canLoad_CFURLStorageSessionCopyCookieStorage
-__CFURLStorageSessionCreate
-__CFURLStorageSessionCopyCache
-__CFURLStorageSessionCopyCookieStorage
-_WKCopyHTTPCookieStorage
-__ZN7WebCore14PluginViewBase27privateBrowsingStateChangedEb
--[WebHostedNetscapePluginView privateBrowsingModeDidChange]
-__ZN6WebKit27NetscapePluginInstanceProxy28privateBrowsingModeDidChangeEb
-__WKPHPluginInstancePrivateBrowsingModeDidChange
-_WKSetCookieStoragePrivateBrowsingEnabled
-__ZN3JSC8JSObject17getDirectLocationERNS_12VMERKNS_10IdentifierE
-__XPCStatusText
-_WKPCStatusText
-__ZN6WebKit27NetscapePluginInstanceProxy6statusEPKc
-__XPCConstruct
-_WKPCConstruct
-__ZN6WebKit27NetscapePluginInstanceProxy9constructEjPcjRS1_Rj
-__ZNK6WebKit13ProxyInstance17supportsConstructEv
-__WKPHNPObjectHasConstructMethod
-__ZN6WebKit13ProxyInstance15invokeConstructEPN3JSC9ExecStateERKNS1_7ArgListE
-__XPCEnumerate
-_WKPCEnumerate
-__ZN6WebKit27NetscapePluginInstanceProxy9enumerateEjRPcRj
-__ZN3JSC17PropertyNameArrayD1Ev
-__ZN3WTF6VectorIN3JSC10IdentifierELm20EED1Ev
-__ZN3JSC8jsStringEPNS_12VMERKNS_7UStringE
-__ZN6WebKit13ProxyInstance16getPropertyNamesEPN3JSC9ExecStateERNS1_17PropertyNameArrayE
-__WKPHNPObjectEnumerate
-__XPCGetIntIdentifier
-_WKPCGetIntIdentifier
-__XPCHasMethod
-_WKPCHasMethod
-__ZN6WebKit27NetscapePluginInstanceProxy9hasMethodEjRKN3JSC10IdentifierE
-__ZNK3JSC8JSObject11toPrimitiveEPNS_9ExecStateENS_22PreferredPrimitiveTypeE
-__ZNK6WebKit13ProxyInstance27supportsInvokeDefaultMethodEv
-__WKPHNPObjectHasInvokeDefaultMethod
-__ZN6WebKit13ProxyInstance19invokeDefaultMethodEPN3JSC9ExecStateE
-__XPCRemoveProperty
-_WKPCRemoveProperty
-__ZN6WebKit27NetscapePluginInstanceProxy14removePropertyEjRKN3JSC10IdentifierE
-__ZN6WebKit27NetscapePluginInstanceProxy14removePropertyEjj
--[WebFrame(WebKitDebug) pageNumberForElement:::]
--[WebFrame(WebKitDebug) numberOfPages::]
--[WebFrame(WebKitDebug) pageSizeAndMarginsInPixels:::::::]
--[WebFrame(WebKitDebug) isPageBoxVisible:]
--[WebFrame(WebKitDebug) pageProperty::]
-+[WebView(WebPrivate) _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]
--[WebView(WebViewEventHandling) mouseUp:]
--[WebHTMLRepresentation elementDoesAutoComplete:]
-+[WebDatabaseManager sharedWebDatabaseManager]
--[WebDatabaseManager deleteAllDatabases]
--[WebFrame(WebPrivate) _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]
--[WebSecurityOrigin initWithURL:]
--[WebSecurityOrigin port]
--[WebSecurityOrigin host]
--[WebSecurityOrigin protocol]
-+[WebStorageManager sharedWebStorageManager]
--[WebStorageManager origins]
-__ZN3WTF6VectorINS_6RefPtrIN7WebCore14SecurityOriginEEELm0EED1Ev
--[WebSecurityOrigin databaseIdentifier]
--[WebStorageManager deleteAllOrigins]
--[WebStorageManager syncLocalStorage]
--[WebStorageManager deleteOrigin:]
--[WebStorageManager diskUsageForOrigin:]
-__ZN3WTF6RefPtrIN7WebCore7ArchiveEED1Ev
-__ZN3WTF10RefCountedIN7WebCore7ArchiveEE5derefEv
--[WebDataSource webArchive]
-+[WebIconDatabase initialize]
-+[WebIconDatabase sharedIconDatabase]
--[WebIconDatabase init]
--[WebIconDatabase(WebInternal) _startUpIconDatabase]
--[WebIconDatabase(WebInternal) _databaseDirectory]
--[WebIconDatabase(WebPendingPublic) isEnabled]
-__ZN21WebIconDatabaseClient13performImportEv
-__Z21importToWebCoreFormatv
-__ZL20objectFromPathForKeyP8NSStringP11objc_object
-__ZN21WebIconDatabaseClient18didFinishURLImportEv
--[WebIconDatabase(WebPendingPublic) setEnabled:]
--[WebIconDatabase(WebInternal) _resetCachedWebPreferences:]
--[WebIconDatabase(WebInternal) _shutDownIconDatabase]
-_WKCopyNSURLResponseStatusLine
-__ZNK20WebFrameLoaderClient17willCacheResponseEPN7WebCore14DocumentLoaderEmP19NSCachedURLResponse
-__ZN20WebFrameLoaderClient50dispatchDidReceiveServerRedirectForProvisionalLoadEv
-__ZN20WebFrameLoaderClient18cannotShowURLErrorERKN7WebCore15ResourceRequestE
-__ZN20WebFrameLoaderClient37canAuthenticateAgainstProtectionSpaceEPN7WebCore14DocumentLoaderEmRKNS0_15ProtectionSpaceE
-+[WebApplicationCache setMaximumSize:]
-+[WebApplicationCache deleteAllApplicationCaches]
-__ZN15WebChromeClient22reachedMaxAppCacheSizeEx
-+[WebApplicationCache deleteCacheForOrigin:]
--[WebSecurityOrigin(WebQuotaManagers) applicationCacheQuotaManager]
--[WebApplicationCacheQuotaManager initWithOrigin:]
--[WebApplicationCacheQuotaManager setQuota:]
-__ZN15WebChromeClient34reachedApplicationCacheOriginQuotaEPN7WebCore14SecurityOriginE
-+[WebApplicationCache defaultOriginQuota]
-+[WebApplicationCache diskUsageForOrigin:]
-+[WebApplicationCache originsWithCache]
--[WebView goForward]
--[WebNavigationData url]
--[WebNavigationData clientRedirectSource]
--[WebNavigationData response]
--[WebNavigationData hasSubstituteData]
--[WebNavigationData originalRequest]
--[WebNavigationData title]
-__Z19CallHistoryDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS2_S0_S0_S0_
-__ZN20WebFrameLoaderClient41dispatchDidReceiveAuthenticationChallengeEPN7WebCore14DocumentLoaderEmRKNS0_23AuthenticationChallengeE
--[WebView(WebPrivate) _dispatchPendingLoadRequests]
-_WKCopyCFURLResponseSuggestedFilename
-__ZN20WebFrameLoaderClient29interruptForPolicyChangeErrorERKN7WebCore15ResourceRequestE
-_WKCreateCustomCFReadStream
-_WKSignalCFReadStreamHasBytes
-__ZN15WebChromeClient39shouldReplaceWithGeneratedFileForUploadERKN3WTF6StringERS1_
--[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]
-_WKSignalCFReadStreamEnd
--[WebResource(WebResourceInternal) _initWithCoreResource:]
--[WebResource MIMEType]
--[WebResource data]
--[WebView(WebPrivate) _cachedResponseForURL:]
--[NSMutableURLRequest(WebNSURLRequestExtras) _web_setHTTPUserAgent:]
-__ZN21WebIconDatabaseClient23didChangeIconForPageURLERKN3WTF6StringE
-__ZN21WebIconDatabaseClient26didImportIconURLForPageURLERKN3WTF6StringE
--[WebIconDatabase(WebInternal) _sendNotificationForURL:]
--[NSNotificationCenter(WebNSNotificationCenterExtras) postNotificationOnMainThreadWithName:object:userInfo:]
--[NSNotificationCenter(WebNSNotificationCenterExtras) postNotificationOnMainThreadWithName:object:userInfo:waitUntilDone:]
-__ZN20WebFrameLoaderClient22dispatchDidReceiveIconEv
--[WebView(WebViewInternal) _dispatchDidReceiveIconFromWebFrame:]
--[WebView(WebViewInternal) _registerForIconNotification:]
-+[NSNotificationCenter(WebNSNotificationCenterExtras) _postNotificationName:]
-__ZN20WebFrameLoaderClient31dispatchUnableToImplementPolicyERKN7WebCore13ResourceErrorE
-__ZN20WebFrameLoaderClient24revertToProvisionalStateEPN7WebCore14DocumentLoaderE
--[WebDataSource(WebInternal) _revertToProvisionalState]
--[WebView goToBackForwardItem:]
-__ZNK6WebKit26HostedNetscapePluginStream15wantsAllStreamsEv
--[NSData(WebNSDataExtras) _web_startsWithBlankLine]
--[NSData(WebNSDataExtras) _web_locationAfterFirstBlankLine]
-__ZN20WebFrameLoaderClient21didRunInsecureContentEPN7WebCore14SecurityOriginERKNS0_4KURLE
-__ZN20WebFrameLoaderClient25didDisplayInsecureContentEv
-__Z21CallFrameLoadDelegatePFP11objc_objectS0_P13objc_selectorzEP7WebViewS2_
--[WebHTMLView(WebPrivate) view:stringForToolTip:point:userData:]
--[NSNotificationCenter(WebNSNotificationCenterExtras) postNotificationOnMainThreadWithName:object:]
--[WebView windowScriptObject]
--[WebView(WebViewCSS) computedStyleForElement:pseudoElement:]
--[WebView(WebPrivate) setBackgroundColor:]
--[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]
--[WebHTMLView validRequestorForSendType:returnType:]
--[WebHTMLView(WebDocumentPrivateProtocols) pasteboardTypesForSelection]
--[WebHTMLView(WebInternal) _canSmartCopyOrDelete]
--[WebFrame frameElement]
--[WebDataSource initialRequest]
--[WebPreferences setAllowsAnimatedImageLooping:]
--[WebDynamicScrollBarsView(WebInternal) autoforwardsScrollWheelEvents]
--[WebView(WebPendingPublic) pageSizeMultiplier]
-_WKScrollbarPainterIsHorizontal
-__ZL10pluginViewP8WebFrameP16WebPluginPackageP7NSArrayS4_P5NSURLP10DOMElementa
--[WebPluginPackage load]
--[WebBasePluginPackage load]
--[WebPluginPackage viewFactory]
-+[WebPluginController plugInViewWithArguments:fromPluginPackage:]
--[WebPluginController webFrame]
--[NSView(WebExtras) _web_parentWebFrameView]
--[WebPluginController addPlugin:]
--[WebPluginController webView]
--[WebView(WebPrivate) defersCallbacks]
--[WebView(WebPrivate) setDefersCallbacks:]
-__ZNK7WebCore14PluginViewBase13platformLayerEv
--[WebHTMLView(WebDocumentPrivateProtocols) selectedAttributedString]
--[WebHTMLView(WebHTMLViewFileInternal) _selectedRange]
--[WebHTMLView(WebDocumentPrivateProtocols) _attributeStringFromDOMRange:]
-__ZN7WebCore6Widget12notifyWidgetENS_18WidgetNotificationE
--[WebPluginController stopOnePlugin:]
--[WebPluginController destroyOnePlugin:]
-__ZN12PluginWidgetD0Ev
--[WebView(WebPrivate) setMemoryCacheDelegateCallsEnabled:]
--[WebView(WebPrivate) _setFormDelegate:]
--[WebView isLoading]
--[WebView(WebFileInternal) _isLoading]
--[WebDataSource isLoading]
-+[WebView(WebPrivate) _canHandleRequest:]
--[WebDataSource unreachableURL]
--[WebView(WebIBActions) canGoBack]
--[WebView(WebIBActions) canGoForward]
--[WebHTMLView viewWillMoveToHostWindow:]
--[WebHTMLView _web_makePluginSubviewsPerformSelector:withObject:]
--[WebHTMLView viewDidMoveToHostWindow]
--[WebView estimatedProgress]
-+[WebView canShowMIMEType:]
--[WebFrame(WebPrivate) _loadType]
--[WebView(WebPendingPublic) addVisitedLinks:]
--[WebHistoryItem(WebPrivate) _transientPropertyForKey:]
--[WebElementDictionary _targetWebFrame]
--[NSURL(WebNSURLExtras) _webkit_URLByRemovingFragment]
--[WebScriptWorld unregisterWorld]
--[WebView(WebPrivate) _globalHistoryItem]
--[WebHistoryItem originalURLString]
--[WebHTMLView(WebDocumentPrivateProtocols) selectionView]
--[WebView(WebPrivate) _isSoftwareRenderable]
--[WebFrame(WebPrivate) _isFrameSet]
--[WebHTMLView(WebDocumentPrivateProtocols) string]
--[WebHTMLView(WebHTMLViewFileInternal) _documentRange]
--[DOMDocument(WebDOMDocumentOperationsInternal) _documentRange]
--[WebFrame(WebInternal) _stringForRange:]
--[WebHistoryItem title]
--[WebView(WebPrivate) _clearUndoRedoOperations]
--[WebHTMLView acceptsFirstMouse:]
--[WebHTMLView _isScrollBarEvent:]
--[WebElementDictionary _isInScrollBar]
--[WebView _hitTest:dragTypes:]
--[WebView _shouldAutoscrollForDraggingInfo:]
--[WebView documentViewAtWindowPoint:]
-__ZNK20WebFrameLoaderClient29generatedMIMETypeForURLSchemeERKN3WTF6StringE
-__Z16CallFormDelegateP7WebViewP13objc_selectorP11objc_objectS4_S4_S4_S4_
--[WebFramePolicyListener continue]
-__ZN20NetscapePluginWidget12notifyWidgetEN7WebCore18WidgetNotificationE
--[WebBaseNetscapePluginView cacheSnapshot]
--[WebBaseNetscapePluginView supportsSnapshotting]
--[WebNetscapePluginPackage supportsSnapshotting]
-__ZN6WebKit27NetscapePluginInstanceProxy8snapshotEP9CGContextjj
-__WKPHPluginInstanceSnapshot
--[WebBaseNetscapePluginView clearCachedSnapshot]
--[WebHostedNetscapePluginView windowFrameDidChange:]
--[WebBaseNetscapePluginView windowResignedKey:]
--[WebBaseNetscapePluginView windowBecameKey:]
--[WebView(WebIBActions) goBack:]
--[WebHistoryItem(WebPrivate) URL]
-__ZN15WebEditorClient21canonicalizeURLStringEP8NSString
-+[NSURL(WebNSURLExtras) _web_URLWithData:]
-+[WebView(WebPrivate) suggestedFileExtensionForMIMEType:]
-_WKGetPreferredExtensionForMIMEType
--[NSEvent(WebExtras) _web_isEscapeKeyEvent]
--[WebFrame(WebPrivate) _isDisplayingStandaloneImage]
--[WebView(WebPendingPublic) canMarkAllTextMatches]
--[WebView(WebPendingPublic) countMatchesForText:options:highlight:limit:markMatches:]
--[WebView(WebPendingPublic) countMatchesForText:inDOMRange:options:highlight:limit:markMatches:]
--[WebHTMLView(WebDocumentInternalProtocols) setMarkedTextMatchesAreHighlighted:]
--[WebHTMLView(WebDocumentInternalProtocols) countMatchesForText:inDOMRange:options:limit:markMatches:]
--[WebView(WebPendingPublic) unmarkAllTextMatches]
--[WebHTMLView(WebDocumentInternalProtocols) unmarkAllTextMatches]
--[WebView(WebPendingPublic) rectsForTextMatches]
--[WebHTMLView(WebDocumentInternalProtocols) rectsForTextMatches]
--[WebHTMLView(WebDocumentPrivateProtocols) selectionRect]
--[WebHTMLView(WebDocumentPrivateProtocols) selectionTextRects]
--[WebHTMLView(WebDocumentPrivateProtocols) selectionImageForcingBlackText:]
--[WebHTMLView(WebDocumentPrivateProtocols) selectedString]
--[WebFrame(WebInternal) _selectedString]
--[WebElementDictionary _absoluteImageURL]
--[WebElementDictionary _absoluteMediaURL]
--[WebHTMLRepresentation canProvideDocumentSource]
--[WebFrame(WebInternal) _canProvideDocumentSource]
-__ZL30fixMenusReceivedFromOldClientsP14NSMutableArrayS0_
--[WebMenuTarget validateMenuItem:]
--[WebHTMLRepresentation documentSource]
--[WebHTMLRepresentation canSaveAsWebArchive]
--[WebFrame(WebInternal) _canSaveAsWebArchive]
--[WebFrameView documentViewShouldHandlePrint]
--[WebFrameView printOperationWithPrintInfo:]
--[WebFrameView canPrintHeadersAndFooters]
--[WebHTMLView canPrintHeadersAndFooters]
--[WebHTMLView knowsPageRange:]
--[WebView(WebViewPrintingPrivate) _adjustPrintingMarginsForHeaderAndFooter]
--[NSPrintOperation(WebKitExtras) _web_pageSetupScaleFactor]
--[WebView(WebViewPrintingPrivate) _headerHeight]
-__Z28CallUIDelegateReturningFloatP7WebViewP13objc_selector
--[WebView(WebViewPrintingPrivate) _footerHeight]
--[NSPrintOperation(WebKitExtras) _web_availablePaperHeight]
--[NSPrintOperation(WebKitExtras) _web_availablePaperWidth]
--[WebHTMLView(WebPrivate) _beginPrintModeWithPageWidth:height:shrinkToFit:]
--[WebHTMLView(WebPrivate) _isInScreenPaginationMode]
--[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:maximumPageLogicalWidth:adjustViewSize:paginateScreenContent:]
--[WebHTMLView _scaleFactorForPrintOperation:]
--[WebFrame(WebPrivate) _computePageRectsWithPrintScaleFactor:pageSize:]
--[WebHTMLView _provideTotalScaleFactorForPrintOperation:]
--[WebHTMLView beginDocument]
--[WebHTMLView endDocument]
--[WebHTMLView _endPrintModeAndRestoreWindowAutodisplay]
--[WebHTMLView(WebPrivate) _endPrintMode]
--[WebHTMLView rectForPage:]
--[WebHTMLView drawPageBorderWithSize:]
--[WebView(WebViewPrintingPrivate) _drawHeaderAndFooter]
--[WebView(WebViewPrintingPrivate) _drawHeaderInRect:]
-__Z14CallUIDelegateP7WebViewP13objc_selector6CGRect
--[WebView(WebViewPrintingPrivate) _drawFooterInRect:]
--[NonBlockingPanel _blocksActionWhenModal:]
--[WebDownload init]
--[WebDownload dealloc]
--[WebDownloadInternal dealloc]
--[NSEvent(WebExtras) _web_isDeleteKeyEvent]
--[WebPreferences(WebPrivate) setWebArchiveDebugModeEnabled:]
--[WebPreferences(WebPrivate) setLocalFileContentSniffingEnabled:]
-+[WebCoreStatistics statistics]
-+[WebCache statistics]
-+[WebCoreStatistics javaScriptGlobalObjectsCount]
-+[WebCoreStatistics javaScriptProtectedObjectsCount]
-+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]
-+[WebCoreStatistics javaScriptObjectTypeCounts]
-+[WebCoreStatistics iconPageURLMappingCount]
-+[WebCoreStatistics iconRetainedPageURLCount]
-+[WebCoreStatistics iconRecordCount]
-+[WebCoreStatistics iconsWithDataCount]
-+[WebCoreStatistics cachedFontDataCount]
-+[WebCoreStatistics cachedFontDataInactiveCount]
-+[WebCoreStatistics glyphPageCount]
-+[WebCoreStatistics memoryStatistics]
-+[WebCoreStatistics returnFreeMemoryToSystem]
-+[WebCache isDisabled]
-+[WebCoreStatistics purgeInactiveFontData]
-+[WebCoreStatistics cachedPageCount]
-+[WebCoreStatistics cachedFrameCount]
-+[WebCoreStatistics autoreleasedPageCount]
--[WebFrame(WebPrivate) _cacheabilityDictionary]
-+[WebView(WebPrivate) _setAlwaysUsesComplexTextCodePath:]
--[WebView(WebPendingPublic) canZoomPageIn]
--[WebView _canZoomIn:]
--[WebView(WebPendingPublic) canZoomPageOut]
--[WebView _canZoomOut:]
--[WebHTMLView validateUserInterfaceItem:]
-__Z40CallResourceLoadDelegateReturningBooleanaPFP11objc_objectS0_P13objc_selectorzEP7WebViewS2_S0_S0_S0_
-__ZN20WebFrameLoaderClient27registerForIconNotificationEb
-__ZNK7WebCore20StringSourceProvider8getRangeEii
--[NSData(WebNSDataExtras) _webkit_parseRFC822HeaderFields]
--[NSString(WebNSDataExtrasInternal) _web_capitalizeRFC822HeaderFieldName]
--[WebView(WebPrivate) _setIncludesFlattenedCompositingLayersWhenDrawingToBitmap:]
--[WebHTMLView(WebPrivate) _compositingLayersHostingView]
-__ZN20WebFrameLoaderClient21fileDoesNotExistErrorERKN7WebCore16ResourceResponseE
--[WebDatabaseManager detailsForDatabase:withOrigin:]
-__ZN7WebCore15DatabaseDetailsD1Ev
--[WebSecurityOrigin(Deprecated) usage]
--[WebSecurityOrigin(Deprecated) quota]
--[WebSecurityOrigin(Deprecated) setQuota:]
--[WebPDFView becomeFirstResponder]
--[WebPDFView acceptsFirstResponder]
--[WebPDFView selectionView]
--[WebPDFView PDFDocument]
--[WebPDFRepresentation receivedError:withDataSource:]
--[WebPreferences(WebPrivate) setApplicationChromeModeEnabled:]
--[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]
--[WebHistoryItem(WebPrivate) _setTransientProperty:forKey:]
--[WebBackForwardList backItem]
diff --git a/Source/WebKit/mac/WebKitPrefix.h b/Source/WebKit/mac/WebKitPrefix.h
deleted file mode 100644
index 7b7937767..000000000
--- a/Source/WebKit/mac/WebKitPrefix.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#ifdef __cplusplus
-#define NULL __null
-#else
-#define NULL ((void *)0)
-#endif
-
-#import <stddef.h>
-#import <stdio.h>
-#import <fcntl.h>
-#import <errno.h>
-#import <unistd.h>
-#import <signal.h>
-#import <sys/types.h>
-#import <sys/time.h>
-#import <sys/resource.h>
-
-#import <pthread.h>
-
-#import <CoreGraphics/CoreGraphics.h>
-
-#ifdef __cplusplus
-
-#include <algorithm> // needed for exception_defines.h
-#include <cstddef>
-#include <new>
-
-#endif
-
-#import <ApplicationServices/ApplicationServices.h>
-#import <Carbon/Carbon.h>
-
-#ifndef CGFLOAT_DEFINED
-#ifdef __LP64__
-typedef double CGFloat;
-#else
-typedef float CGFloat;
-#endif
-#define CGFLOAT_DEFINED 1
-#endif
-
-#ifdef __OBJC__
-#import <Cocoa/Cocoa.h>
-#endif
-
-#include <wtf/Platform.h>
-#include <wtf/ExportMacros.h>
-#include <runtime/JSExportMacros.h>
-#include <WebCore/PlatformExportMacros.h>
-#include <WebCore/EmptyProtocolDefinitions.h>
-
-/* Work around bug with C++ library that screws up Objective-C++ when exception support is disabled. */
-#undef try
-#undef catch
-
-#ifdef __cplusplus
-#include <wtf/FastMalloc.h>
-#endif
-
-#include <wtf/DisallowCType.h>
diff --git a/Source/WebKit/mac/WebView/WebArchive.h b/Source/WebKit/mac/WebView/WebArchive.h
deleted file mode 100644
index cf54da51f..000000000
--- a/Source/WebKit/mac/WebView/WebArchive.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2004, 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class WebArchivePrivate;
-@class WebResource;
-
-/*!
- @const WebArchivePboardType
- @abstract The pasteboard type constant used when adding or accessing a WebArchive on the pasteboard.
-*/
-extern NSString *WebArchivePboardType;
-
-/*!
- @class WebArchive
- @discussion WebArchive represents a main resource as well as all the subresources and subframes associated with the main resource.
- The main resource can be an entire web page, a portion of a web page, or some other kind of data such as an image.
- This class can be used for saving standalone web pages, representing portions of a web page on the pasteboard, or any other
- application where one class is needed to represent rich web content.
-*/
-@interface WebArchive : NSObject <NSCoding, NSCopying>
-{
- @private
- WebArchivePrivate *_private;
-}
-
-/*!
- @method initWithMainResource:subresources:subframeArchives:
- @abstract The initializer for WebArchive.
- @param mainResource The main resource of the archive.
- @param subresources The subresources of the archive (can be nil).
- @param subframeArchives The archives representing the subframes of the archive (can be nil).
- @result An initialized WebArchive.
-*/
-- (id)initWithMainResource:(WebResource *)mainResource subresources:(NSArray *)subresources subframeArchives:(NSArray *)subframeArchives;
-
-/*!
- @method initWithData:
- @abstract The initializer for creating a WebArchive from data.
- @param data The data representing the archive. This can be obtained using WebArchive's data method.
- @result An initialized WebArchive.
-*/
-- (id)initWithData:(NSData *)data;
-
-/*!
- @method mainResource
- @result The main resource of the archive.
-*/
-- (WebResource *)mainResource;
-
-/*!
- @method subresources
- @result The subresource of the archive (can be nil).
-*/
-- (NSArray *)subresources;
-
-/*!
- @method subframeArchives
- @result The archives representing the subframes of the archive (can be nil).
-*/
-- (NSArray *)subframeArchives;
-
-/*!
- @method data
- @result The data representation of the archive.
- @discussion The data returned by this method can be used to save a web archive to a file or to place a web archive on the pasteboard
- using WebArchivePboardType. To create a WebArchive using the returned data, call initWithData:.
-*/
-- (NSData *)data;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebArchive.mm b/Source/WebKit/mac/WebView/WebArchive.mm
deleted file mode 100644
index aeebd972c..000000000
--- a/Source/WebKit/mac/WebView/WebArchive.mm
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebArchive.h"
-#import "WebArchiveInternal.h"
-
-#import "WebKitLogging.h"
-#import "WebNSObjectExtras.h"
-#import "WebResourceInternal.h"
-#import "WebTypesInternal.h"
-#import <JavaScriptCore/InitializeThreading.h>
-#import <WebCore/ArchiveResource.h>
-#import <WebCore/LegacyWebArchive.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/ThreadCheck.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <wtf/MainThread.h>
-
-using namespace WebCore;
-
-NSString *WebArchivePboardType = @"Apple Web Archive pasteboard type";
-
-static NSString * const WebMainResourceKey = @"WebMainResource";
-static NSString * const WebSubresourcesKey = @"WebSubresources";
-static NSString * const WebSubframeArchivesKey = @"WebSubframeArchives";
-
-@interface WebArchivePrivate : NSObject {
-@public
- WebResource *cachedMainResource;
- NSArray *cachedSubresources;
- NSArray *cachedSubframeArchives;
-@private
- RefPtr<LegacyWebArchive> coreArchive;
-}
-
-- (id)initWithCoreArchive:(PassRefPtr<LegacyWebArchive>)coreArchive;
-- (LegacyWebArchive*)coreArchive;
-- (void)setCoreArchive:(PassRefPtr<LegacyWebArchive>)newCoreArchive;
-@end
-
-@implementation WebArchivePrivate
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
-}
-
-- (id)init
-{
- self = [super init];
- if (!self)
- return nil;
- coreArchive = LegacyWebArchive::create();
- return self;
-}
-
-- (id)initWithCoreArchive:(PassRefPtr<LegacyWebArchive>)_coreArchive
-{
- self = [super init];
- if (!self || !_coreArchive) {
- [self release];
- return nil;
- }
- coreArchive = _coreArchive;
- return self;
-}
-
-- (LegacyWebArchive*)coreArchive
-{
- return coreArchive.get();
-}
-
-- (void)setCoreArchive:(PassRefPtr<LegacyWebArchive>)newCoreArchive
-{
- ASSERT(coreArchive);
- ASSERT(newCoreArchive);
- coreArchive = newCoreArchive;
-}
-
-- (void)dealloc
-{
- if (WebCoreObjCScheduleDeallocateOnMainThread([WebArchivePrivate class], self))
- return;
-
- [cachedMainResource release];
- [cachedSubresources release];
- [cachedSubframeArchives release];
-
- [super dealloc];
-}
-
-@end
-
-@implementation WebArchive
-
-- (id)init
-{
- WebCoreThreadViolationCheckRoundTwo();
-
- self = [super init];
- if (!self)
- return nil;
- _private = [[WebArchivePrivate alloc] init];
- return self;
-}
-
-static BOOL isArrayOfClass(id object, Class elementClass)
-{
- if (![object isKindOfClass:[NSArray class]])
- return NO;
- NSArray *array = (NSArray *)object;
- NSUInteger count = [array count];
- for (NSUInteger i = 0; i < count; ++i)
- if (![[array objectAtIndex:i] isKindOfClass:elementClass])
- return NO;
- return YES;
-}
-
-- (id)initWithMainResource:(WebResource *)mainResource subresources:(NSArray *)subresources subframeArchives:(NSArray *)subframeArchives
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] initWithMainResource:mainResource subresources:subresources subframeArchives:subframeArchives];
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- self = [super init];
- if (!self)
- return nil;
-
- _private = [[WebArchivePrivate alloc] init];
-
- _private->cachedMainResource = [mainResource retain];
- if (!_private->cachedMainResource) {
- [self release];
- return nil;
- }
-
- if (!subresources || isArrayOfClass(subresources, [WebResource class]))
- _private->cachedSubresources = [subresources retain];
- else {
- [self release];
- return nil;
- }
-
- if (!subframeArchives || isArrayOfClass(subframeArchives, [WebArchive class]))
- _private->cachedSubframeArchives = [subframeArchives retain];
- else {
- [self release];
- return nil;
- }
-
- RefPtr<ArchiveResource> coreMainResource = mainResource ? [mainResource _coreResource] : 0;
-
- Vector<PassRefPtr<ArchiveResource> > coreResources;
- NSEnumerator *enumerator = [subresources objectEnumerator];
- WebResource *subresource;
- while ((subresource = [enumerator nextObject]) != nil)
- coreResources.append([subresource _coreResource]);
-
- Vector<PassRefPtr<LegacyWebArchive> > coreArchives;
- enumerator = [subframeArchives objectEnumerator];
- WebArchive *subframeArchive;
- while ((subframeArchive = [enumerator nextObject]) != nil)
- coreArchives.append([subframeArchive->_private coreArchive]);
-
- [_private setCoreArchive:LegacyWebArchive::create(coreMainResource.release(), coreResources, coreArchives)];
- if (![_private coreArchive]) {
- [self release];
- return nil;
- }
-
- return self;
-}
-
-- (id)initWithData:(NSData *)data
-{
- WebCoreThreadViolationCheckRoundTwo();
-
- self = [super init];
- if (!self)
- return nil;
-
-#if !LOG_DISABLED
- CFAbsoluteTime start = CFAbsoluteTimeGetCurrent();
-#endif
-
- _private = [[WebArchivePrivate alloc] init];
- RefPtr<LegacyWebArchive> coreArchive = LegacyWebArchive::create(SharedBuffer::wrapNSData(data).get());
- if (!coreArchive) {
- [self release];
- return nil;
- }
-
- [_private setCoreArchive:coreArchive.release()];
-
-#if !LOG_DISABLED
- CFAbsoluteTime end = CFAbsoluteTimeGetCurrent();
- CFAbsoluteTime duration = end - start;
-#endif
- LOG(Timing, "Parsing web archive with [NSPropertyListSerialization propertyListFromData::::] took %f seconds", duration);
-
- return self;
-}
-
-- (id)initWithCoder:(NSCoder *)decoder
-{
- WebResource *mainResource = nil;
- NSArray *subresources = nil;
- NSArray *subframeArchives = nil;
-
- @try {
- id object = [decoder decodeObjectForKey:WebMainResourceKey];
- if ([object isKindOfClass:[WebResource class]])
- mainResource = object;
- object = [decoder decodeObjectForKey:WebSubresourcesKey];
- if (isArrayOfClass(object, [WebResource class]))
- subresources = object;
- object = [decoder decodeObjectForKey:WebSubframeArchivesKey];
- if (isArrayOfClass(object, [WebArchive class]))
- subframeArchives = object;
- } @catch(id) {
- [self release];
- return nil;
- }
-
- return [self initWithMainResource:mainResource subresources:subresources subframeArchives:subframeArchives];
-}
-
-- (void)encodeWithCoder:(NSCoder *)encoder
-{
- [encoder encodeObject:[self mainResource] forKey:WebMainResourceKey];
- [encoder encodeObject:[self subresources] forKey:WebSubresourcesKey];
- [encoder encodeObject:[self subframeArchives] forKey:WebSubframeArchivesKey];
-}
-
-- (void)dealloc
-{
- [_private release];
- [super dealloc];
-}
-
-- (id)copyWithZone:(NSZone *)zone
-{
- return [self retain];
-}
-
-- (WebResource *)mainResource
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] mainResource];
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- // Currently from WebKit API perspective, WebArchives are entirely immutable once created
- // If they ever become mutable, we'll need to rethink this.
- if (!_private->cachedMainResource) {
- LegacyWebArchive* coreArchive = [_private coreArchive];
- if (coreArchive)
- _private->cachedMainResource = [[WebResource alloc] _initWithCoreResource:coreArchive->mainResource()];
- }
-
- return [[_private->cachedMainResource retain] autorelease];
-}
-
-- (NSArray *)subresources
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] subresources];
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- // Currently from WebKit API perspective, WebArchives are entirely immutable once created
- // If they ever become mutable, we'll need to rethink this.
- if (!_private->cachedSubresources) {
- LegacyWebArchive* coreArchive = [_private coreArchive];
- if (!coreArchive)
- _private->cachedSubresources = [[NSArray alloc] init];
- else {
- const Vector<RefPtr<ArchiveResource> >& subresources(coreArchive->subresources());
- NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithCapacity:subresources.size()];
- _private->cachedSubresources = mutableArray;
- for (unsigned i = 0; i < subresources.size(); ++i) {
- WebResource *resource = [[WebResource alloc] _initWithCoreResource:subresources[i].get()];
- if (resource) {
- [mutableArray addObject:resource];
- [resource release];
- }
- }
- }
- }
- // Maintain the WebKit 3 behavior of this API, which is documented and
- // relied upon by some clients, of returning nil if there are no subresources.
- return [_private->cachedSubresources count] ? [[_private->cachedSubresources retain] autorelease] : nil;
-}
-
-- (NSArray *)subframeArchives
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] subframeArchives];
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- // Currently from WebKit API perspective, WebArchives are entirely immutable once created
- // If they ever become mutable, we'll need to rethink this.
- if (!_private->cachedSubframeArchives) {
- LegacyWebArchive* coreArchive = [_private coreArchive];
- if (!coreArchive)
- _private->cachedSubframeArchives = [[NSArray alloc] init];
- else {
- const Vector<RefPtr<Archive> >& subframeArchives(coreArchive->subframeArchives());
- NSMutableArray *mutableArray = [[NSMutableArray alloc] initWithCapacity:subframeArchives.size()];
- _private->cachedSubframeArchives = mutableArray;
- for (unsigned i = 0; i < subframeArchives.size(); ++i) {
- WebArchive *archive = [[WebArchive alloc] _initWithCoreLegacyWebArchive:(LegacyWebArchive *)subframeArchives[i].get()];
- [mutableArray addObject:archive];
- [archive release];
- }
- }
- }
-
- return [[_private->cachedSubframeArchives retain] autorelease];
-}
-
-- (NSData *)data
-{
- WebCoreThreadViolationCheckRoundTwo();
-
-#if !LOG_DISABLED
- CFAbsoluteTime start = CFAbsoluteTimeGetCurrent();
-#endif
-
- RetainPtr<CFDataRef> data = [_private coreArchive]->rawDataRepresentation();
-
-#if !LOG_DISABLED
- CFAbsoluteTime end = CFAbsoluteTimeGetCurrent();
- CFAbsoluteTime duration = end - start;
-#endif
- LOG(Timing, "Serializing web archive to raw CFPropertyList data took %f seconds", duration);
-
- return [[(NSData *)data.get() retain] autorelease];
-}
-
-@end
-
-@implementation WebArchive (WebInternal)
-
-- (id)_initWithCoreLegacyWebArchive:(PassRefPtr<WebCore::LegacyWebArchive>)coreLegacyWebArchive
-{
- WebCoreThreadViolationCheckRoundTwo();
-
- self = [super init];
- if (!self)
- return nil;
-
- _private = [[WebArchivePrivate alloc] initWithCoreArchive:coreLegacyWebArchive];
- if (!_private) {
- [self release];
- return nil;
- }
-
- return self;
-}
-
-- (WebCore::LegacyWebArchive *)_coreLegacyWebArchive
-{
- WebCoreThreadViolationCheckRoundTwo();
-
- return [_private coreArchive];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebArchiveInternal.h b/Source/WebKit/mac/WebView/WebArchiveInternal.h
deleted file mode 100644
index 4ff5096a6..000000000
--- a/Source/WebKit/mac/WebView/WebArchiveInternal.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebArchive.h"
-#import <wtf/Forward.h>
-
-namespace WebCore {
- class LegacyWebArchive;
-}
-
-@interface WebArchive (WebInternal)
-
-- (id)_initWithCoreLegacyWebArchive:(WTF::PassRefPtr<WebCore::LegacyWebArchive>)coreLegacyWebArchive;
-- (WebCore::LegacyWebArchive *)_coreLegacyWebArchive;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebClipView.h b/Source/WebKit/mac/WebView/WebClipView.h
deleted file mode 100644
index 968d2deb6..000000000
--- a/Source/WebKit/mac/WebView/WebClipView.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <AppKit/AppKit.h>
-
-@interface WebClipView : NSClipView
-{
- BOOL _haveAdditionalClip;
- BOOL _isScrolling;
- NSRect _additionalClip;
-}
-
-- (void)setAdditionalClip:(NSRect)additionalClip;
-- (void)resetAdditionalClip;
-- (BOOL)hasAdditionalClip;
-- (NSRect)additionalClip;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebClipView.mm b/Source/WebKit/mac/WebView/WebClipView.mm
deleted file mode 100644
index d95100c1a..000000000
--- a/Source/WebKit/mac/WebView/WebClipView.mm
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebClipView.h"
-
-#import "WebFrameInternal.h"
-#import "WebFrameView.h"
-#import "WebViewPrivate.h"
-#import <WebCore/Frame.h>
-#import <WebCore/FrameView.h>
-
-// WebClipView's entire reason for existing is to set the clip used by focus ring redrawing.
-// There's no easy way to prevent the focus ring from drawing outside the passed-in clip rectangle
-// because it expects to have to draw outside the bounds of the view it's being drawn for.
-// But it looks for the enclosing clip view, which gives us a hook we can use to control it.
-// The "additional clip" is a clip for focus ring redrawing.
-
-// FIXME: Change terminology from "additional clip" to "focus ring clip".
-
-using namespace WebCore;
-
-@interface NSView (WebViewMethod)
-- (WebView *)_webView;
-@end
-
-@interface NSClipView (WebNSClipViewDetails)
-- (void)_immediateScrollToPoint:(NSPoint)newOrigin;
-@end
-
-@interface NSWindow (WebNSWindowDetails)
-- (void)_disableDelayedWindowDisplay;
-- (void)_enableDelayedWindowDisplay;
-@end
-
-@implementation WebClipView
-
-- (id)initWithFrame:(NSRect)frame
-{
- self = [super initWithFrame:frame];
- if (!self)
- return nil;
-
- // In WebHTMLView, we set a clip. This is not typical to do in an
- // NSView, and while correct for any one invocation of drawRect:,
- // it causes some bad problems if that clip is cached between calls.
- // The cached graphics state, which clip views keep around, does
- // cache the clip in this undesirable way. Consequently, we want to
- // release the GState for all clip views for all views contained in
- // a WebHTMLView. Here we do it for subframes, which use WebClipView.
- // See these bugs for more information:
- // <rdar://problem/3409315>: REGRESSSION (7B58-7B60)?: Safari draws blank frames on macosx.apple.com perf page
- [self releaseGState];
-
- return self;
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-- (NSRect)visibleRect
-{
- if (!_isScrolling)
- return [super visibleRect];
-
- WebFrameView *webFrameView = (WebFrameView *)[[self superview] superview];
- if (![webFrameView isKindOfClass:[WebFrameView class]])
- return [super visibleRect];
-
- if (Frame* coreFrame = core([webFrameView webFrame])) {
- if (FrameView* frameView = coreFrame->view()) {
- if (frameView->isEnclosedInCompositingLayer())
- return [self bounds];
- }
- }
-
- return [super visibleRect];
-}
-
-- (void)_immediateScrollToPoint:(NSPoint)newOrigin
-{
- _isScrolling = YES;
-
- [[self window] _disableDelayedWindowDisplay];
-
- [super _immediateScrollToPoint:newOrigin];
-
- [[self window] _enableDelayedWindowDisplay];
-
- _isScrolling = NO;
-}
-#endif
-
-- (void)resetAdditionalClip
-{
- ASSERT(_haveAdditionalClip);
- _haveAdditionalClip = NO;
-}
-
-- (void)setAdditionalClip:(NSRect)additionalClip
-{
- ASSERT(!_haveAdditionalClip);
- _haveAdditionalClip = YES;
- _additionalClip = additionalClip;
-}
-
-- (BOOL)hasAdditionalClip
-{
- return _haveAdditionalClip;
-}
-
-- (NSRect)additionalClip
-{
- ASSERT(_haveAdditionalClip);
- return _additionalClip;
-}
-
-- (NSRect)_focusRingVisibleRect
-{
- NSRect rect = [self visibleRect];
- if (_haveAdditionalClip) {
- rect = NSIntersectionRect(rect, _additionalClip);
- }
- return rect;
-}
-
-- (void)scrollWheel:(NSEvent *)event
-{
- NSView *docView = [self documentView];
- if ([docView respondsToSelector:@selector(_webView)]) {
-#if ENABLE(DASHBOARD_SUPPORT)
- WebView *wv = [docView _webView];
- if ([wv _dashboardBehavior:WebDashboardBehaviorAllowWheelScrolling]) {
- [super scrollWheel:event];
- }
-#endif
- return;
- }
- [super scrollWheel:event];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebDashboardRegion.h b/Source/WebKit/mac/WebView/WebDashboardRegion.h
deleted file mode 100644
index 49a575cc0..000000000
--- a/Source/WebKit/mac/WebView/WebDashboardRegion.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2004 Apple Computer, 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 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.
- */
-
-#if !defined(ENABLE_DASHBOARD_SUPPORT)
-#define ENABLE_DASHBOARD_SUPPORT 1
-#endif
-
-#if ENABLE_DASHBOARD_SUPPORT
-
-typedef enum {
- WebDashboardRegionTypeNone,
- WebDashboardRegionTypeCircle,
- WebDashboardRegionTypeRectangle,
- WebDashboardRegionTypeScrollerRectangle
-} WebDashboardRegionType;
-
-@interface WebDashboardRegion : NSObject <NSCopying>
-{
- NSRect rect;
- NSRect clip;
- WebDashboardRegionType type;
-}
-- (id)initWithRect:(NSRect)rect clip:(NSRect)clip type:(WebDashboardRegionType)type;
-- (NSRect)dashboardRegionClip;
-- (NSRect)dashboardRegionRect;
-- (WebDashboardRegionType)dashboardRegionType;
-@end
-
-#endif
diff --git a/Source/WebKit/mac/WebView/WebDashboardRegion.mm b/Source/WebKit/mac/WebView/WebDashboardRegion.mm
deleted file mode 100644
index 958b225f4..000000000
--- a/Source/WebKit/mac/WebView/WebDashboardRegion.mm
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2004 Apple 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 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.
- */
-
-#import "WebDashboardRegion.h"
-
-#if ENABLE(DASHBOARD_SUPPORT)
-
-@implementation WebDashboardRegion
-
-- (id)initWithRect:(NSRect)r clip:(NSRect)c type:(WebDashboardRegionType)t
-{
- self = [super init];
- rect = r;
- clip = c;
- type = t;
- return self;
-}
-
-- (id)copyWithZone:(NSZone *)unusedZone
-{
- UNUSED_PARAM(unusedZone);
-
- return [self retain];
-}
-
-- (NSRect)dashboardRegionClip
-{
- return clip;
-}
-
-- (NSRect)dashboardRegionRect
-{
- return rect;
-}
-
-- (WebDashboardRegionType)dashboardRegionType
-{
- return type;
-}
-
-static const char* typeName(WebDashboardRegionType type)
-{
- switch (type) {
- case WebDashboardRegionTypeNone:
- return "None";
- case WebDashboardRegionTypeCircle:
- return "Circle";
- case WebDashboardRegionTypeRectangle:
- return "Rectangle";
- case WebDashboardRegionTypeScrollerRectangle:
- return "ScrollerRectangle";
- }
- return "Unknown";
-}
-
-- (NSString *)description
-{
- return [NSString stringWithFormat:@"rect:%@ clip:%@ type:%s", NSStringFromRect(rect), NSStringFromRect(clip), typeName(type)];
-}
-
-// FIXME: Overriding isEqual: without overriding hash will cause trouble if this ever goes into a NSSet or is the key in an NSDictionary.
-- (BOOL)isEqual:(id)other
-{
- return NSEqualRects(rect, [other dashboardRegionRect]) && NSEqualRects(clip, [other dashboardRegionClip]) && type == [other dashboardRegionType];
-}
-
-@end
-
-#endif
diff --git a/Source/WebKit/mac/WebView/WebDataSource.h b/Source/WebKit/mac/WebView/WebDataSource.h
deleted file mode 100644
index c742f1efb..000000000
--- a/Source/WebKit/mac/WebView/WebDataSource.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright (C) 2003, 2004, 2005, 2012 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-#import <WebKit/WebDocument.h>
-
-@class NSMutableURLRequest;
-@class NSURLConnection;
-@class NSURLRequest;
-@class NSURLResponse;
-@class WebArchive;
-@class WebFrame;
-@class WebResource;
-
-/*!
- @class WebDataSource
- @discussion A WebDataSource represents the data associated with a web page.
- A datasource has a WebDocumentRepresentation which holds an appropriate
- representation of the data. WebDataSources manage a hierarchy of WebFrames.
- WebDataSources are typically related to a view by their containing WebFrame.
-*/
-@interface WebDataSource : NSObject
-{
-@private
- void *_private;
-}
-
-/*!
- @method initWithRequest:
- @abstract The designated initializer for WebDataSource.
- @param request The request to use in creating a datasource.
- @result Returns an initialized WebDataSource.
-*/
-- (id)initWithRequest:(NSURLRequest *)request;
-
-/*!
- @method data
- @discussion The data will be incomplete until the datasource has completely loaded.
- @result Returns the raw data associated with the datasource. Returns nil
- if the datasource hasn't loaded any data.
-*/
-- (NSData *)data;
-
-/*!
- @method representation
- @discussion A representation holds a type specific representation
- of the datasource's data. The representation class is determined by mapping
- a MIME type to a class. The representation is created once the MIME type
- of the datasource content has been determined.
- @result Returns the representation associated with this datasource.
- Returns nil if the datasource hasn't created it's representation.
-*/
-- (id <WebDocumentRepresentation>)representation;
-
-/*!
- @method webFrame
- @result Return the frame that represents this data source.
-*/
-- (WebFrame *)webFrame;
-
-/*!
- @method initialRequest
- @result Returns a reference to the original request that created the
- datasource. This request will be unmodified by WebKit.
-*/
-- (NSURLRequest *)initialRequest;
-
-/*!
- @method request
- @result Returns the request that was used to create this datasource.
-*/
-- (NSMutableURLRequest *)request;
-
-/*!
- @method response
- @result returns the WebResourceResponse for the data source.
-*/
-- (NSURLResponse *)response;
-
-/*!
- @method textEncodingName
- @result Returns either the override encoding, as set on the WebView for this
- dataSource or the encoding from the response.
-*/
-- (NSString *)textEncodingName;
-
-/*!
- @method isLoading
- @discussion Returns YES if there are any pending loads.
-*/
-- (BOOL)isLoading;
-
-/*!
- @method pageTitle
- @result Returns nil or the page title.
-*/
-- (NSString *)pageTitle;
-
-/*!
- @method unreachableURL
- @discussion This will be non-nil only for dataSources created by calls to the
- WebFrame method loadAlternateHTMLString:baseURL:forUnreachableURL:.
- @result returns the unreachableURL for which this dataSource is showing alternate content, or nil
-*/
-- (NSURL *)unreachableURL;
-
-/*!
- @method webArchive
- @result A WebArchive representing the data source, its subresources and child frames.
- @description This method constructs a WebArchive using the original downloaded data.
- In the case of HTML, if the current state of the document is preferred, webArchive should be
- called on the DOM document instead.
-*/
-- (WebArchive *)webArchive;
-
-/*!
- @method mainResource
- @result A WebResource representing the data source.
- @description This method constructs a WebResource using the original downloaded data.
- This method can be used to construct a WebArchive in case the archive returned by
- WebDataSource's webArchive isn't sufficient.
-*/
-- (WebResource *)mainResource;
-
-/*!
- @method subresources
- @abstract Returns all the subresources associated with the data source.
- @description The returned array only contains subresources that have fully downloaded.
-*/
-- (NSArray *)subresources;
-
-/*!
- method subresourceForURL:
- @abstract Returns a subresource for a given URL.
- @param URL The URL of the subresource.
- @description Returns non-nil if the data source has fully downloaded a subresource with the given URL.
-*/
-- (WebResource *)subresourceForURL:(NSURL *)URL;
-
-/*!
- @method addSubresource:
- @abstract Adds a subresource to the data source.
- @param subresource The subresource to be added.
- @description addSubresource: adds a subresource to the data source's list of subresources.
- Later, if something causes the data source to load the URL of the subresource, the data source
- will load the data from the subresource instead of from the network. For example, if one wants to add
- an image that is already downloaded to a web page, addSubresource: can be called so that the data source
- uses the downloaded image rather than accessing the network. NOTE: If the data source already has a
- subresource with the same URL, addSubresource: will replace it.
-*/
-- (void)addSubresource:(WebResource *)subresource;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebDataSource.mm b/Source/WebKit/mac/WebView/WebDataSource.mm
deleted file mode 100644
index ec05dd2e6..000000000
--- a/Source/WebKit/mac/WebView/WebDataSource.mm
+++ /dev/null
@@ -1,515 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2012 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebDataSource.h"
-
-#import "WebArchive.h"
-#import "WebArchiveInternal.h"
-#import "WebDataSourceInternal.h"
-#import "WebDocument.h"
-#import "WebDocumentLoaderMac.h"
-#import "WebFrameInternal.h"
-#import "WebFrameLoadDelegate.h"
-#import "WebFrameLoaderClient.h"
-#import "WebHTMLRepresentation.h"
-#import "WebKitErrorsPrivate.h"
-#import "WebKitLogging.h"
-#import "WebKitStatisticsPrivate.h"
-#import "WebKitNSStringExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebNSURLRequestExtras.h"
-#import "WebPDFRepresentation.h"
-#import "WebResourceInternal.h"
-#import "WebResourceLoadDelegate.h"
-#import "WebViewInternal.h"
-#import <WebCore/ApplicationCacheStorage.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/KURL.h>
-#import <WebCore/LegacyWebArchive.h>
-#import <WebCore/MIMETypeRegistry.h>
-#import <WebCore/ResourceBuffer.h>
-#import <WebCore/ResourceRequest.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/SharedBuffer.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <WebCore/WebCoreURLResponse.h>
-#import <WebKit/DOMHTML.h>
-#import <WebKit/DOMPrivate.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/Assertions.h>
-#import <wtf/MainThread.h>
-#import <wtf/RefPtr.h>
-#import <wtf/RetainPtr.h>
-
-using namespace WebCore;
-
-class WebDataSourcePrivate
-{
-public:
- WebDataSourcePrivate(PassRefPtr<WebDocumentLoaderMac> loader)
- : loader(loader)
- , representationFinishedLoading(NO)
- , includedInWebKitStatistics(NO)
- {
- ASSERT(this->loader);
- }
- ~WebDataSourcePrivate()
- {
- if (loader) {
- ASSERT(!loader->isLoading());
- loader->detachDataSource();
- }
- }
-
- RefPtr<WebDocumentLoaderMac> loader;
- RetainPtr<id<WebDocumentRepresentation> > representation;
- BOOL representationFinishedLoading;
- BOOL includedInWebKitStatistics;
-};
-
-static inline WebDataSourcePrivate* toPrivate(void* privateAttribute)
-{
- return reinterpret_cast<WebDataSourcePrivate*>(privateAttribute);
-}
-
-@interface WebDataSource (WebFileInternal)
-@end
-
-@implementation WebDataSource (WebFileInternal)
-
-- (void)_setRepresentation:(id<WebDocumentRepresentation>)representation
-{
- toPrivate(_private)->representation = representation;
- toPrivate(_private)->representationFinishedLoading = NO;
-}
-
-static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCClass, NSArray *supportTypes)
-{
- NSEnumerator *enumerator = [supportTypes objectEnumerator];
- ASSERT(enumerator != nil);
- NSString *mime = nil;
- while ((mime = [enumerator nextObject]) != nil) {
- // Don't clobber previously-registered classes.
- if ([allTypes objectForKey:mime] == nil)
- [allTypes setObject:objCClass forKey:mime];
- }
-}
-
-+ (Class)_representationClassForMIMEType:(NSString *)MIMEType allowingPlugins:(BOOL)allowPlugins
-{
- Class repClass;
- return [WebView _viewClass:nil andRepresentationClass:&repClass forMIMEType:MIMEType allowingPlugins:allowPlugins] ? repClass : nil;
-}
-@end
-
-@implementation WebDataSource (WebPrivate)
-
-+ (void)initialize
-{
- if (self == [WebDataSource class]) {
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
- }
-}
-
-- (NSError *)_mainDocumentError
-{
- return toPrivate(_private)->loader->mainDocumentError();
-}
-
-- (void)_addSubframeArchives:(NSArray *)subframeArchives
-{
- // FIXME: This SPI is poor, poor design. Can we come up with another solution for those who need it?
- NSEnumerator *enumerator = [subframeArchives objectEnumerator];
- WebArchive *archive;
- while ((archive = [enumerator nextObject]) != nil)
- toPrivate(_private)->loader->addAllArchiveResources([archive _coreLegacyWebArchive]);
-}
-
-- (NSFileWrapper *)_fileWrapperForURL:(NSURL *)URL
-{
- if ([URL isFileURL]) {
- NSString *path = [[URL path] stringByResolvingSymlinksInPath];
- return [[[NSFileWrapper alloc] initWithPath:path] autorelease];
- }
-
- WebResource *resource = [self subresourceForURL:URL];
- if (resource)
- return [resource _fileWrapperRepresentation];
-
- NSCachedURLResponse *cachedResponse = [[self _webView] _cachedResponseForURL:URL];
- if (cachedResponse) {
- NSFileWrapper *wrapper = [[[NSFileWrapper alloc] initRegularFileWithContents:[cachedResponse data]] autorelease];
- [wrapper setPreferredFilename:[[cachedResponse response] suggestedFilename]];
- return wrapper;
- }
-
- return nil;
-}
-
-- (NSString *)_responseMIMEType
-{
- return [[self response] MIMEType];
-}
-
-- (BOOL)_transferApplicationCache:(NSString*)destinationBundleIdentifier
-{
- if (!toPrivate(_private)->loader)
- return NO;
-
- NSString *cacheDir = [NSString _webkit_localCacheDirectoryWithBundleIdentifier:destinationBundleIdentifier];
-
- return ApplicationCacheStorage::storeCopyOfCache(cacheDir, toPrivate(_private)->loader->applicationCacheHost());
-}
-
-- (void)_setDeferMainResourceDataLoad:(BOOL)flag
-{
- if (!toPrivate(_private)->loader)
- return;
-
- toPrivate(_private)->loader->setDeferMainResourceDataLoad(flag);
-}
-
-@end
-
-@implementation WebDataSource (WebInternal)
-
-- (void)_finishedLoading
-{
- toPrivate(_private)->representationFinishedLoading = YES;
- [[self representation] finishedLoadingWithDataSource:self];
-}
-
-- (void)_receivedData:(NSData *)data
-{
- // protect self temporarily, as the bridge receivedData call could remove our last ref
- RetainPtr<WebDataSource*> protect(self);
-
- [[self representation] receivedData:data withDataSource:self];
- [[[[self webFrame] frameView] documentView] dataSourceUpdated:self];
-}
-
-- (void)_setMainDocumentError:(NSError *)error
-{
- if (!toPrivate(_private)->representationFinishedLoading) {
- toPrivate(_private)->representationFinishedLoading = YES;
- [[self representation] receivedError:error withDataSource:self];
- }
-}
-
-- (void)_revertToProvisionalState
-{
- [self _setRepresentation:nil];
-}
-
-+ (NSMutableDictionary *)_repTypesAllowImageTypeOmission:(BOOL)allowImageTypeOmission
-{
- static NSMutableDictionary *repTypes = nil;
- static BOOL addedImageTypes = NO;
-
- if (!repTypes) {
- repTypes = [[NSMutableDictionary alloc] init];
- addTypesFromClass(repTypes, [WebHTMLRepresentation class], [WebHTMLRepresentation supportedNonImageMIMETypes]);
-
- // Since this is a "secret default" we don't both registering it.
- BOOL omitPDFSupport = [[NSUserDefaults standardUserDefaults] boolForKey:@"WebKitOmitPDFSupport"];
- if (!omitPDFSupport)
- addTypesFromClass(repTypes, [WebPDFRepresentation class], [WebPDFRepresentation supportedMIMETypes]);
- }
-
- if (!addedImageTypes && !allowImageTypeOmission) {
- addTypesFromClass(repTypes, [WebHTMLRepresentation class], [WebHTMLRepresentation supportedImageMIMETypes]);
- addedImageTypes = YES;
- }
-
- return repTypes;
-}
-
-- (void)_replaceSelectionWithArchive:(WebArchive *)archive selectReplacement:(BOOL)selectReplacement
-{
- DOMDocumentFragment *fragment = [self _documentFragmentWithArchive:archive];
- if (fragment)
- [[self webFrame] _replaceSelectionWithFragment:fragment selectReplacement:selectReplacement smartReplace:NO matchStyle:NO];
-}
-
-// FIXME: There are few reasons why this method and many of its related methods can't be pushed entirely into WebCore in the future.
-- (DOMDocumentFragment *)_documentFragmentWithArchive:(WebArchive *)archive
-{
- ASSERT(archive);
- WebResource *mainResource = [archive mainResource];
- if (mainResource) {
- NSString *MIMEType = [mainResource MIMEType];
- if ([WebView canShowMIMETypeAsHTML:MIMEType]) {
- NSString *markupString = [[NSString alloc] initWithData:[mainResource data] encoding:NSUTF8StringEncoding];
- // FIXME: seems poor form to do this as a side effect of getting a document fragment
- if (toPrivate(_private)->loader)
- toPrivate(_private)->loader->addAllArchiveResources([archive _coreLegacyWebArchive]);
-
- DOMDocumentFragment *fragment = [[self webFrame] _documentFragmentWithMarkupString:markupString baseURLString:[[mainResource URL] _web_originalDataAsString]];
- [markupString release];
- return fragment;
- } else if (MIMETypeRegistry::isSupportedImageMIMEType(MIMEType)) {
- return [self _documentFragmentWithImageResource:mainResource];
-
- }
- }
- return nil;
-}
-
-- (DOMDocumentFragment *)_documentFragmentWithImageResource:(WebResource *)resource
-{
- DOMElement *imageElement = [self _imageElementWithImageResource:resource];
- if (!imageElement)
- return 0;
- DOMDocumentFragment *fragment = [[[self webFrame] DOMDocument] createDocumentFragment];
- [fragment appendChild:imageElement];
- return fragment;
-}
-
-- (DOMElement *)_imageElementWithImageResource:(WebResource *)resource
-{
- if (!resource)
- return 0;
-
- [self addSubresource:resource];
-
- DOMElement *imageElement = [[[self webFrame] DOMDocument] createElement:@"img"];
-
- // FIXME: calling _web_originalDataAsString on a file URL returns an absolute path. Workaround this.
- NSURL *URL = [resource URL];
- [imageElement setAttribute:@"src" value:[URL isFileURL] ? [URL absoluteString] : [URL _web_originalDataAsString]];
-
- return imageElement;
-}
-
-// May return nil if not initialized with a URL.
-- (NSURL *)_URL
-{
- const KURL& url = toPrivate(_private)->loader->url();
- if (url.isEmpty())
- return nil;
- return url;
-}
-
-- (WebView *)_webView
-{
- return [[self webFrame] webView];
-}
-
-- (BOOL)_isDocumentHTML
-{
- NSString *MIMEType = [self _responseMIMEType];
- return [WebView canShowMIMETypeAsHTML:MIMEType];
-}
-
-- (void)_makeRepresentation
-{
- Class repClass = [[self class] _representationClassForMIMEType:[self _responseMIMEType] allowingPlugins:[[[self _webView] preferences] arePlugInsEnabled]];
-
- // Check if the data source was already bound?
- if (![[self representation] isKindOfClass:repClass]) {
- id newRep = repClass != nil ? [[repClass alloc] init] : nil;
- [self _setRepresentation:(id <WebDocumentRepresentation>)newRep];
- [newRep release];
- }
-
- id<WebDocumentRepresentation> representation = toPrivate(_private)->representation.get();
- [representation setDataSource:self];
-}
-
-- (DocumentLoader*)_documentLoader
-{
- return toPrivate(_private)->loader.get();
-}
-
-- (id)_initWithDocumentLoader:(PassRefPtr<WebDocumentLoaderMac>)loader
-{
- self = [super init];
- if (!self)
- return nil;
-
- ASSERT(loader);
- _private = static_cast<void*>(new WebDataSourcePrivate(loader));
-
- LOG(Loading, "creating datasource for %@", static_cast<NSURL *>(toPrivate(_private)->loader->request().url()));
-
- if ((toPrivate(_private)->includedInWebKitStatistics = [[self webFrame] _isIncludedInWebKitStatistics]))
- ++WebDataSourceCount;
-
- return self;
-}
-
-@end
-
-@implementation WebDataSource
-
-- (id)initWithRequest:(NSURLRequest *)request
-{
- return [self _initWithDocumentLoader:WebDocumentLoaderMac::create(request, SubstituteData())];
-}
-
-- (void)dealloc
-{
- if (WebCoreObjCScheduleDeallocateOnMainThread([WebDataSource class], self))
- return;
-
- if (toPrivate(_private) && toPrivate(_private)->includedInWebKitStatistics)
- --WebDataSourceCount;
-
- delete toPrivate(_private);
-
- [super dealloc];
-}
-
-- (void)finalize
-{
- ASSERT_MAIN_THREAD();
-
- if (toPrivate(_private) && toPrivate(_private)->includedInWebKitStatistics)
- --WebDataSourceCount;
-
- delete toPrivate(_private);
-
- [super finalize];
-}
-
-- (NSData *)data
-{
- RefPtr<ResourceBuffer> mainResourceData = toPrivate(_private)->loader->mainResourceData();
- if (!mainResourceData)
- return nil;
- return [mainResourceData->createNSData() autorelease];
-}
-
-- (id <WebDocumentRepresentation>)representation
-{
- return toPrivate(_private)->representation.get();
-}
-
-- (WebFrame *)webFrame
-{
- if (Frame* frame = toPrivate(_private)->loader->frame())
- return kit(frame);
-
- return nil;
-}
-
-- (NSURLRequest *)initialRequest
-{
- return toPrivate(_private)->loader->originalRequest().nsURLRequest(UpdateHTTPBody);
-}
-
-- (NSMutableURLRequest *)request
-{
- FrameLoader* frameLoader = toPrivate(_private)->loader->frameLoader();
- if (!frameLoader || !frameLoader->frameHasLoaded())
- return nil;
-
- // FIXME: this cast is dubious
- return (NSMutableURLRequest *)toPrivate(_private)->loader->request().nsURLRequest(UpdateHTTPBody);
-}
-
-- (NSURLResponse *)response
-{
- return toPrivate(_private)->loader->response().nsURLResponse();
-}
-
-- (NSString *)textEncodingName
-{
- NSString *textEncodingName = toPrivate(_private)->loader->overrideEncoding();
- if (!textEncodingName)
- textEncodingName = [[self response] textEncodingName];
- return textEncodingName;
-}
-
-- (BOOL)isLoading
-{
- return toPrivate(_private)->loader->isLoadingInAPISense();
-}
-
-// Returns nil or the page title.
-- (NSString *)pageTitle
-{
- return [[self representation] title];
-}
-
-- (NSURL *)unreachableURL
-{
- const KURL& unreachableURL = toPrivate(_private)->loader->unreachableURL();
- if (unreachableURL.isEmpty())
- return nil;
- return unreachableURL;
-}
-
-- (WebArchive *)webArchive
-{
- // it makes no sense to grab a WebArchive from an uncommitted document.
- if (!toPrivate(_private)->loader->isCommitted())
- return nil;
-
- return [[[WebArchive alloc] _initWithCoreLegacyWebArchive:LegacyWebArchive::create(core([self webFrame]))] autorelease];
-}
-
-- (WebResource *)mainResource
-{
- RefPtr<ArchiveResource> coreResource = toPrivate(_private)->loader->mainResource();
- return [[[WebResource alloc] _initWithCoreResource:coreResource.release()] autorelease];
-}
-
-- (NSArray *)subresources
-{
- Vector<PassRefPtr<ArchiveResource> > coreSubresources;
- toPrivate(_private)->loader->getSubresources(coreSubresources);
-
- NSMutableArray *subresources = [[NSMutableArray alloc] initWithCapacity:coreSubresources.size()];
- for (unsigned i = 0; i < coreSubresources.size(); ++i) {
- WebResource *resource = [[WebResource alloc] _initWithCoreResource:coreSubresources[i]];
- if (resource) {
- [subresources addObject:resource];
- [resource release];
- }
- }
-
- return [subresources autorelease];
-}
-
-- (WebResource *)subresourceForURL:(NSURL *)URL
-{
- RefPtr<ArchiveResource> subresource = toPrivate(_private)->loader->subresource(URL);
-
- return subresource ? [[[WebResource alloc] _initWithCoreResource:subresource.get()] autorelease] : nil;
-}
-
-- (void)addSubresource:(WebResource *)subresource
-{
- toPrivate(_private)->loader->addArchiveResource([subresource _coreResource]);
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebDataSourceInternal.h b/Source/WebKit/mac/WebView/WebDataSourceInternal.h
deleted file mode 100644
index 29497d59b..000000000
--- a/Source/WebKit/mac/WebView/WebDataSourceInternal.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2005, 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebDataSourcePrivate.h"
-#import <wtf/Forward.h>
-
-namespace WebCore {
- class DocumentLoader;
-}
-
-class WebDocumentLoaderMac;
-
-@class DOMDocumentFragment;
-@class DOMElement;
-@class WebArchive;
-@class WebResource;
-@class WebView;
-
-@interface WebDataSource (WebInternal)
-- (void)_makeRepresentation;
-- (BOOL)_isDocumentHTML;
-- (WebView *)_webView;
-- (NSURL *)_URL;
-- (DOMElement *)_imageElementWithImageResource:(WebResource *)resource;
-- (DOMDocumentFragment *)_documentFragmentWithImageResource:(WebResource *)resource;
-- (DOMDocumentFragment *)_documentFragmentWithArchive:(WebArchive *)archive;
-+ (NSMutableDictionary *)_repTypesAllowImageTypeOmission:(BOOL)allowImageTypeOmission;
-- (void)_replaceSelectionWithArchive:(WebArchive *)archive selectReplacement:(BOOL)selectReplacement;
-- (id)_initWithDocumentLoader:(PassRefPtr<WebDocumentLoaderMac>)loader;
-- (void)_finishedLoading;
-- (void)_receivedData:(NSData *)data;
-- (void)_revertToProvisionalState;
-- (void)_setMainDocumentError:(NSError *)error;
-- (WebCore::DocumentLoader*)_documentLoader;
-@end
diff --git a/Source/WebKit/mac/WebView/WebDataSourcePrivate.h b/Source/WebKit/mac/WebView/WebDataSourcePrivate.h
deleted file mode 100644
index df9c61ee9..000000000
--- a/Source/WebKit/mac/WebView/WebDataSourcePrivate.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebDataSource.h>
-
-@interface WebDataSource (WebPrivate)
-
-- (NSFileWrapper *)_fileWrapperForURL:(NSURL *)URL;
-- (void)_addSubframeArchives:(NSArray *) archives;
-- (NSError *)_mainDocumentError;
-- (NSString *)_responseMIMEType;
-
-- (BOOL)_transferApplicationCache:(NSString*)destinationBundleIdentifier;
-
-- (void)_setDeferMainResourceDataLoad:(BOOL)flag;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.h b/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.h
deleted file mode 100644
index 6931bd292..000000000
--- a/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-// This header contains WebView declarations that can be used anywhere in WebKit, but are neither SPI nor API.
-
-#import "WebTypesInternal.h"
-#import <JavaScriptCore/JSBase.h>
-
-@class WebView;
-
-struct WebResourceDelegateImplementationCache {
- IMP didCancelAuthenticationChallengeFunc;
- IMP didReceiveAuthenticationChallengeFunc;
-#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
- IMP canAuthenticateAgainstProtectionSpaceFunc;
-#endif
- IMP identifierForRequestFunc;
- IMP willSendRequestFunc;
- IMP didReceiveResponseFunc;
- IMP didReceiveContentLengthFunc;
- IMP didFinishLoadingFromDataSourceFunc;
- IMP didFailLoadingWithErrorFromDataSourceFunc;
- IMP didLoadResourceFromMemoryCacheFunc;
- IMP willCacheResponseFunc;
- IMP plugInFailedWithErrorFunc;
- IMP shouldUseCredentialStorageFunc;
- IMP shouldPaintBrokenImageForURLFunc;
-};
-
-struct WebFrameLoadDelegateImplementationCache {
-#if JSC_OBJC_API_ENABLED
- IMP didCreateJavaScriptContextForFrameFunc;
-#endif
- IMP didClearWindowObjectForFrameFunc;
- IMP didClearWindowObjectForFrameInScriptWorldFunc;
- IMP didClearInspectorWindowObjectForFrameFunc;
- IMP windowScriptObjectAvailableFunc;
- IMP didHandleOnloadEventsForFrameFunc;
- IMP didReceiveServerRedirectForProvisionalLoadForFrameFunc;
- IMP didCancelClientRedirectForFrameFunc;
- IMP willPerformClientRedirectToURLDelayFireDateForFrameFunc;
- IMP didChangeLocationWithinPageForFrameFunc;
- IMP didPushStateWithinPageForFrameFunc;
- IMP didReplaceStateWithinPageForFrameFunc;
- IMP didPopStateWithinPageForFrameFunc;
- IMP willCloseFrameFunc;
- IMP didStartProvisionalLoadForFrameFunc;
- IMP didReceiveTitleForFrameFunc;
- IMP didCommitLoadForFrameFunc;
- IMP didFailProvisionalLoadWithErrorForFrameFunc;
- IMP didFailLoadWithErrorForFrameFunc;
- IMP didFinishLoadForFrameFunc;
- IMP didFirstLayoutInFrameFunc;
- IMP didFirstVisuallyNonEmptyLayoutInFrameFunc;
- IMP didLayoutFunc;
- IMP didReceiveIconForFrameFunc;
- IMP didFinishDocumentLoadForFrameFunc;
- IMP didDisplayInsecureContentFunc;
- IMP didRunInsecureContentFunc;
- IMP didDetectXSSFunc;
- IMP didRemoveFrameFromHierarchyFunc;
-};
-
-struct WebScriptDebugDelegateImplementationCache {
- BOOL didParseSourceExpectsBaseLineNumber;
- BOOL exceptionWasRaisedExpectsHasHandlerFlag;
- IMP didParseSourceFunc;
- IMP failedToParseSourceFunc;
- IMP didEnterCallFrameFunc;
- IMP willExecuteStatementFunc;
- IMP willLeaveCallFrameFunc;
- IMP exceptionWasRaisedFunc;
-};
-
-struct WebHistoryDelegateImplementationCache {
- IMP navigatedFunc;
- IMP clientRedirectFunc;
- IMP serverRedirectFunc;
- IMP deprecatedSetTitleFunc;
- IMP setTitleFunc;
- IMP populateVisitedLinksFunc;
-};
-
-WebResourceDelegateImplementationCache* WebViewGetResourceLoadDelegateImplementations(WebView *);
-WebFrameLoadDelegateImplementationCache* WebViewGetFrameLoadDelegateImplementations(WebView *);
-WebScriptDebugDelegateImplementationCache* WebViewGetScriptDebugDelegateImplementations(WebView *);
-WebHistoryDelegateImplementationCache* WebViewGetHistoryDelegateImplementations(WebView *webView);
-
-id CallFormDelegate(WebView *, SEL, id, id);
-id CallFormDelegate(WebView *, SEL, id, id, id);
-id CallFormDelegate(WebView *self, SEL selector, id object1, id object2, id object3, id object4, id object5);
-BOOL CallFormDelegateReturningBoolean(BOOL, WebView *, SEL, id, SEL, id);
-
-id CallUIDelegate(WebView *, SEL);
-id CallUIDelegate(WebView *, SEL, id);
-id CallUIDelegate(WebView *, SEL, NSRect);
-id CallUIDelegate(WebView *, SEL, id, id);
-id CallUIDelegate(WebView *, SEL, id, BOOL);
-id CallUIDelegate(WebView *, SEL, id, id, id);
-id CallUIDelegate(WebView *, SEL, id, NSUInteger);
-float CallUIDelegateReturningFloat(WebView *, SEL);
-BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL);
-BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id);
-BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, id);
-BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, BOOL);
-BOOL CallUIDelegateReturningBoolean(BOOL, WebView *, SEL, id, BOOL, id);
-
-id CallFrameLoadDelegate(IMP, WebView *, SEL);
-id CallFrameLoadDelegate(IMP, WebView *, SEL, NSUInteger);
-id CallFrameLoadDelegate(IMP, WebView *, SEL, id);
-id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id);
-id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id, id);
-id CallFrameLoadDelegate(IMP, WebView *, SEL, id, id, id, id);
-id CallFrameLoadDelegate(IMP, WebView *, SEL, id, NSTimeInterval, id, id);
-
-BOOL CallFrameLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL);
-
-id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id);
-id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, id);
-id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, id, id);
-id CallResourceLoadDelegate(IMP, WebView *, SEL, id, NSInteger, id);
-id CallResourceLoadDelegate(IMP, WebView *, SEL, id, id, NSInteger, id);
-
-BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id);
-BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id, id);
-BOOL CallResourceLoadDelegateReturningBoolean(BOOL, IMP, WebView *, SEL, id, id, id);
-
-id CallScriptDebugDelegate(IMP, WebView *, SEL, id, id, NSInteger, id);
-id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, id, NSInteger, id);
-id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, id, id, id);
-id CallScriptDebugDelegate(IMP, WebView *, SEL, id, NSInteger, int, id);
-id CallScriptDebugDelegate(IMP, WebView *, SEL, id, BOOL, NSInteger, int, id);
-
-id CallHistoryDelegate(IMP, WebView *, SEL);
-id CallHistoryDelegate(IMP, WebView *, SEL, id, id);
-id CallHistoryDelegate(IMP, WebView *, SEL, id, id, id);
diff --git a/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm b/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm
deleted file mode 100644
index 7085ac807..000000000
--- a/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm
+++ /dev/null
@@ -1,653 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2006 David Smith (catfish.man@gmail.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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebDelegateImplementationCaching.h"
-
-#import "WebKitLogging.h"
-#import "WebView.h"
-#import "WebViewData.h"
-#import <wtf/ObjcRuntimeExtras.h>
-
-@implementation WebView (WebDelegateImplementationCaching)
-
-WebResourceDelegateImplementationCache* WebViewGetResourceLoadDelegateImplementations(WebView *webView)
-{
- static WebResourceDelegateImplementationCache empty;
- if (!webView)
- return &empty;
- return &webView->_private->resourceLoadDelegateImplementations;
-}
-
-WebFrameLoadDelegateImplementationCache* WebViewGetFrameLoadDelegateImplementations(WebView *webView)
-{
- static WebFrameLoadDelegateImplementationCache empty;
- if (!webView)
- return &empty;
- return &webView->_private->frameLoadDelegateImplementations;
-}
-
-WebScriptDebugDelegateImplementationCache* WebViewGetScriptDebugDelegateImplementations(WebView *webView)
-{
- static WebScriptDebugDelegateImplementationCache empty;
- if (!webView)
- return &empty;
- return &webView->_private->scriptDebugDelegateImplementations;
-}
-
-WebHistoryDelegateImplementationCache* WebViewGetHistoryDelegateImplementations(WebView *webView)
-{
- static WebHistoryDelegateImplementationCache empty;
- if (!webView)
- return &empty;
- return &webView->_private->historyDelegateImplementations;
-}
-
-// We use these functions to call the delegates and block exceptions. These functions are
-// declared inside a WebView category to get direct access to the delegate data memebers,
-// preventing more ObjC message dispatch and compensating for the expense of the @try/@catch.
-
-typedef float (*ObjCMsgSendFPRet)(id, SEL, ...);
-#if defined(__i386__)
-static const ObjCMsgSendFPRet objc_msgSend_float_return = reinterpret_cast<ObjCMsgSendFPRet>(objc_msgSend_fpret);
-#else
-static const ObjCMsgSendFPRet objc_msgSend_float_return = reinterpret_cast<ObjCMsgSendFPRet>(objc_msgSend);
-#endif
-
-static inline id CallDelegate(WebView *self, id delegate, SEL selector)
-{
- if (!delegate || ![delegate respondsToSelector:selector])
- return nil;
- @try {
- return wtfObjcMsgSend<id>(delegate, selector, self);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(WebView *self, id delegate, SEL selector, id object)
-{
- if (!delegate || ![delegate respondsToSelector:selector])
- return nil;
- @try {
- return wtfObjcMsgSend<id>(delegate, selector, self, object);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(WebView *self, id delegate, SEL selector, NSRect rect)
-{
- if (!delegate || ![delegate respondsToSelector:selector])
- return nil;
- @try {
- return wtfObjcMsgSend<id>(delegate, selector, self, rect);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(WebView *self, id delegate, SEL selector, id object1, id object2)
-{
- if (!delegate || ![delegate respondsToSelector:selector])
- return nil;
- @try {
- return wtfObjcMsgSend<id>(delegate, selector, self, object1, object2);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(WebView *self, id delegate, SEL selector, id object, BOOL boolean)
-{
- if (!delegate || ![delegate respondsToSelector:selector])
- return nil;
- @try {
- return wtfObjcMsgSend<id>(delegate, selector, self, object, boolean);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(WebView *self, id delegate, SEL selector, id object1, id object2, id object3)
-{
- if (!delegate || ![delegate respondsToSelector:selector])
- return nil;
- @try {
- return wtfObjcMsgSend<id>(delegate, selector, self, object1, object2, object3);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(WebView *self, id delegate, SEL selector, id object, NSUInteger integer)
-{
- if (!delegate || ![delegate respondsToSelector:selector])
- return nil;
- @try {
- return wtfObjcMsgSend<id>(delegate, selector, self, object, integer);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline float CallDelegateReturningFloat(WebView *self, id delegate, SEL selector)
-{
- if (!delegate || ![delegate respondsToSelector:selector])
- return 0.0f;
- @try {
- return objc_msgSend_float_return(delegate, selector, self);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return 0.0f;
-}
-
-static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id delegate, SEL selector)
-{
- if (!delegate || ![delegate respondsToSelector:selector])
- return result;
- @try {
- return wtfObjcMsgSend<BOOL>(delegate, selector, self);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return result;
-}
-
-static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id delegate, SEL selector, id object)
-{
- if (!delegate || ![delegate respondsToSelector:selector])
- return result;
- @try {
- return wtfObjcMsgSend<BOOL>(delegate, selector, self, object);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return result;
-}
-
-static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id delegate, SEL selector, id object, BOOL boolean)
-{
- if (!delegate || ![delegate respondsToSelector:selector])
- return result;
- @try {
- return wtfObjcMsgSend<BOOL>(delegate, selector, self, object, boolean);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return result;
-}
-
-static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id delegate, SEL selector, id object, BOOL boolean, id object2)
-{
- if (!delegate || ![delegate respondsToSelector:selector])
- return result;
- @try {
- return wtfObjcMsgSend<BOOL>(delegate, selector, self, object, boolean, object2);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return result;
-}
-
-static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id delegate, SEL selector, id object1, id object2)
-{
- if (!delegate || ![delegate respondsToSelector:selector])
- return result;
- @try {
- return wtfObjcMsgSend<BOOL>(delegate, selector, self, object1, object2);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return result;
-}
-
-static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector)
-{
- if (!delegate)
- return nil;
- @try {
- return wtfCallIMP<id>(implementation, delegate, selector, self);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, NSUInteger integer)
-{
- if (!delegate)
- return nil;
- @try {
- return implementation(delegate, selector, self, integer);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object)
-{
- if (!delegate)
- return nil;
- @try {
- return wtfCallIMP<id>(implementation, delegate, selector, self, object);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, id object2)
-{
- if (!delegate)
- return nil;
- @try {
- return wtfCallIMP<id>(implementation, delegate, selector, self, object1, object2);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, id object2, id object3)
-{
- if (!delegate)
- return nil;
- @try {
- return wtfCallIMP<id>(implementation, delegate, selector, self, object1, object2, object3);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, id object2, id object3, id object4)
-{
- if (!delegate)
- return nil;
- @try {
- return wtfCallIMP<id>(implementation, delegate, selector, self, object1, object2, object3, object4);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, NSInteger integer, id object2)
-{
- if (!delegate)
- return nil;
- @try {
- return wtfCallIMP<id>(implementation, delegate, selector, self, object1, integer, object2);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, NSInteger integer1, int integer2, id object2)
-{
- if (!delegate)
- return nil;
- @try {
- return wtfCallIMP<id>(implementation, delegate, selector, self, object1, integer1, integer2, object2);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, BOOL boolean, NSInteger integer1, int integer2, id object2)
-{
- if (!delegate)
- return nil;
- @try {
- return wtfCallIMP<id>(implementation, delegate, selector, self, object1, boolean, integer1, integer2, object2);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, id object2, NSInteger integer, id object3)
-{
- if (!delegate)
- return nil;
- @try {
- return wtfCallIMP<id>(implementation, delegate, selector, self, object1, object2, integer, object3);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, NSInteger integer1, id object2, NSInteger integer2, id object3)
-{
- if (!delegate)
- return nil;
- @try {
- return wtfCallIMP<id>(implementation, delegate, selector, self, object1, integer1, object2, integer2, object3);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, NSInteger integer, id object2, id object3, id object4)
-{
- if (!delegate)
- return nil;
- @try {
- return wtfCallIMP<id>(implementation, delegate, selector, self, object1, integer, object2, object3, object4);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SEL selector, id object1, NSTimeInterval interval, id object2, id object3)
-{
- if (!delegate)
- return nil;
- @try {
- return wtfCallIMP<id>(implementation, delegate, selector, self, object1, interval, object2, object3);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-id CallUIDelegate(WebView *self, SEL selector)
-{
- return CallDelegate(self, self->_private->UIDelegate, selector);
-}
-
-id CallUIDelegate(WebView *self, SEL selector, id object)
-{
- return CallDelegate(self, self->_private->UIDelegate, selector, object);
-}
-
-id CallUIDelegate(WebView *self, SEL selector, id object, BOOL boolean)
-{
- return CallDelegate(self, self->_private->UIDelegate, selector, object, boolean);
-}
-
-id CallUIDelegate(WebView *self, SEL selector, NSRect rect)
-{
- return CallDelegate(self, self->_private->UIDelegate, selector, rect);
-}
-
-id CallUIDelegate(WebView *self, SEL selector, id object1, id object2)
-{
- return CallDelegate(self, self->_private->UIDelegate, selector, object1, object2);
-}
-
-id CallUIDelegate(WebView *self, SEL selector, id object1, id object2, id object3)
-{
- return CallDelegate(self, self->_private->UIDelegate, selector, object1, object2, object3);
-}
-
-id CallUIDelegate(WebView *self, SEL selector, id object, NSUInteger integer)
-{
- return CallDelegate(self, self->_private->UIDelegate, selector, object, integer);
-}
-
-float CallUIDelegateReturningFloat(WebView *self, SEL selector)
-{
- return CallDelegateReturningFloat(self, self->_private->UIDelegate, selector);
-}
-
-BOOL CallUIDelegateReturningBoolean(BOOL result, WebView *self, SEL selector)
-{
- return CallDelegateReturningBoolean(result, self, self->_private->UIDelegate, selector);
-}
-
-BOOL CallUIDelegateReturningBoolean(BOOL result, WebView *self, SEL selector, id object)
-{
- return CallDelegateReturningBoolean(result, self, self->_private->UIDelegate, selector, object);
-}
-
-BOOL CallUIDelegateReturningBoolean(BOOL result, WebView *self, SEL selector, id object, BOOL boolean)
-{
- return CallDelegateReturningBoolean(result, self, self->_private->UIDelegate, selector, object, boolean);
-}
-
-BOOL CallUIDelegateReturningBoolean(BOOL result, WebView *self, SEL selector, id object, BOOL boolean, id object2)
-{
- return CallDelegateReturningBoolean(result, self, self->_private->UIDelegate, selector, object, boolean, object2);
-}
-
-BOOL CallUIDelegateReturningBoolean(BOOL result, WebView *self, SEL selector, id object1, id object2)
-{
- return CallDelegateReturningBoolean(result, self, self->_private->UIDelegate, selector, object1, object2);
-}
-
-id CallFrameLoadDelegate(IMP implementation, WebView *self, SEL selector)
-{
- return CallDelegate(implementation, self, self->_private->frameLoadDelegate, selector);
-}
-
-id CallFrameLoadDelegate(IMP implementation, WebView *self, SEL selector, NSUInteger integer)
-{
- return CallDelegate(implementation, self, self->_private->frameLoadDelegate, selector, integer);
-}
-
-id CallFrameLoadDelegate(IMP implementation, WebView *self, SEL selector, id object)
-{
- return CallDelegate(implementation, self, self->_private->frameLoadDelegate, selector, object);
-}
-
-id CallFrameLoadDelegate(IMP implementation, WebView *self, SEL selector, id object1, id object2)
-{
- return CallDelegate(implementation, self, self->_private->frameLoadDelegate, selector, object1, object2);
-}
-
-id CallFrameLoadDelegate(IMP implementation, WebView *self, SEL selector, id object1, id object2, id object3)
-{
- return CallDelegate(implementation, self, self->_private->frameLoadDelegate, selector, object1, object2, object3);
-}
-
-id CallFrameLoadDelegate(IMP implementation, WebView *self, SEL selector, id object1, id object2, id object3, id object4)
-{
- return CallDelegate(implementation, self, self->_private->frameLoadDelegate, selector, object1, object2, object3, object4);
-}
-
-id CallFrameLoadDelegate(IMP implementation, WebView *self, SEL selector, id object1, NSTimeInterval interval, id object2, id object3)
-{
- return CallDelegate(implementation, self, self->_private->frameLoadDelegate, selector, object1, interval, object2, object3);
-}
-
-BOOL CallFrameLoadDelegateReturningBoolean(BOOL result, IMP implementation, WebView *self, SEL selector)
-{
- @try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *)>(objc_msgSend)(self->_private->frameLoadDelegate, selector, self);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return result;
-}
-
-id CallResourceLoadDelegate(IMP implementation, WebView *self, SEL selector, id object1, id object2)
-{
- return CallDelegate(implementation, self, self->_private->resourceProgressDelegate, selector, object1, object2);
-}
-
-id CallResourceLoadDelegate(IMP implementation, WebView *self, SEL selector, id object1, id object2, id object3)
-{
- return CallDelegate(implementation, self, self->_private->resourceProgressDelegate, selector, object1, object2, object3);
-}
-
-id CallResourceLoadDelegate(IMP implementation, WebView *self, SEL selector, id object1, id object2, id object3, id object4)
-{
- return CallDelegate(implementation, self, self->_private->resourceProgressDelegate, selector, object1, object2, object3, object4);
-}
-
-id CallResourceLoadDelegate(IMP implementation, WebView *self, SEL selector, id object1, NSInteger integer, id object2)
-{
- return CallDelegate(implementation, self, self->_private->resourceProgressDelegate, selector, object1, integer, object2);
-}
-
-id CallResourceLoadDelegate(IMP implementation, WebView *self, SEL selector, id object1, id object2, NSInteger integer, id object3)
-{
- return CallDelegate(implementation, self, self->_private->resourceProgressDelegate, selector, object1, object2, integer, object3);
-}
-
-BOOL CallResourceLoadDelegateReturningBoolean(BOOL result, IMP implementation, WebView *self, SEL selector, id object1)
-{
- @try {
- return wtfObjcMsgSend<BOOL>(self->_private->resourceProgressDelegate, selector, self, object1);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return result;
-}
-
-BOOL CallResourceLoadDelegateReturningBoolean(BOOL result, IMP implementation, WebView *self, SEL selector, id object1, id object2)
-{
- @try {
- return wtfObjcMsgSend<BOOL>(self->_private->resourceProgressDelegate, selector, self, object1, object2);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return result;
-}
-
-BOOL CallResourceLoadDelegateReturningBoolean(BOOL result, IMP implementation, WebView *self, SEL selector, id object1, id object2, id object3)
-{
- @try {
- return wtfObjcMsgSend<BOOL>(self->_private->resourceProgressDelegate, selector, self, object1, object2, object3);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return result;
-}
-
-id CallScriptDebugDelegate(IMP implementation, WebView *self, SEL selector, id object1, id object2, NSInteger integer, id object3)
-{
- return CallDelegate(implementation, self, self->_private->scriptDebugDelegate, selector, object1, object2, integer, object3);
-}
-
-id CallScriptDebugDelegate(IMP implementation, WebView *self, SEL selector, id object1, NSInteger integer1, id object2, NSInteger integer2, id object3)
-{
- return CallDelegate(implementation, self, self->_private->scriptDebugDelegate, selector, object1, integer1, object2, integer2, object3);
-}
-
-id CallScriptDebugDelegate(IMP implementation, WebView *self, SEL selector, id object1, NSInteger integer, id object2, id object3, id object4)
-{
- return CallDelegate(implementation, self, self->_private->scriptDebugDelegate, selector, object1, integer, object2, object3, object4);
-}
-
-id CallScriptDebugDelegate(IMP implementation, WebView *self, SEL selector, id object1, NSInteger integer1, int integer2, id object2)
-{
- return CallDelegate(implementation, self, self->_private->scriptDebugDelegate, selector, object1, integer1, integer2, object2);
-}
-
-id CallScriptDebugDelegate(IMP implementation, WebView *self, SEL selector, id object1, BOOL boolean, NSInteger integer1, int integer2, id object2)
-{
- return CallDelegate(implementation, self, self->_private->scriptDebugDelegate, selector, object1, boolean, integer1, integer2, object2);
-}
-
-id CallHistoryDelegate(IMP implementation, WebView *self, SEL selector)
-{
- return CallDelegate(implementation, self, self->_private->historyDelegate, selector);
-}
-
-id CallHistoryDelegate(IMP implementation, WebView *self, SEL selector, id object1, id object2)
-{
- return CallDelegate(implementation, self, self->_private->historyDelegate, selector, object1, object2);
-}
-
-id CallHistoryDelegate(IMP implementation, WebView *self, SEL selector, id object1, id object2, id object3)
-{
- return CallDelegate(implementation, self, self->_private->historyDelegate, selector, object1, object2, object3);
-}
-
-// The form delegate needs to have it's own implementation, because the first argument is never the WebView
-
-id CallFormDelegate(WebView *self, SEL selector, id object1, id object2)
-{
- id delegate = self->_private->formDelegate;
- if (!delegate || ![delegate respondsToSelector:selector])
- return nil;
- @try {
- return wtfObjcMsgSend<id>(delegate, selector, object1, object2);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-id CallFormDelegate(WebView *self, SEL selector, id object1, id object2, id object3)
-{
- id delegate = self->_private->formDelegate;
- if (!delegate || ![delegate respondsToSelector:selector])
- return nil;
- @try {
- return wtfObjcMsgSend<id>(delegate, selector, object1, object2, object3);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-id CallFormDelegate(WebView *self, SEL selector, id object1, id object2, id object3, id object4, id object5)
-{
- id delegate = self->_private->formDelegate;
- if (!delegate || ![delegate respondsToSelector:selector])
- return nil;
- @try {
- return wtfObjcMsgSend<id>(delegate, selector, object1, object2, object3, object4, object5);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return nil;
-}
-
-BOOL CallFormDelegateReturningBoolean(BOOL result, WebView *self, SEL selector, id object1, SEL selectorArg, id object2)
-{
- id delegate = self->_private->formDelegate;
- if (!delegate || ![delegate respondsToSelector:selector])
- return result;
- @try {
- return wtfObjcMsgSend<BOOL>(delegate, selector, object1, selectorArg, object2);
- } @catch(id exception) {
- ReportDiscardedDelegateException(selector, exception);
- }
- return result;
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebDeviceOrientation.h b/Source/WebKit/mac/WebView/WebDeviceOrientation.h
deleted file mode 100644
index ee04199ff..000000000
--- a/Source/WebKit/mac/WebView/WebDeviceOrientation.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``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.
- */
-
-
-@class WebDeviceOrientationInternal;
-
-@interface WebDeviceOrientation : NSObject {
- WebDeviceOrientationInternal* m_internal;
-}
-
-- (id)initWithCanProvideAlpha:(bool)canProvideAlpha alpha:(double)alpha canProvideBeta:(bool)canProvideBeta beta:(double)beta canProvideGamma:(bool)canProvideGamma gamma:(double)gamma;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebDeviceOrientation.mm b/Source/WebKit/mac/WebView/WebDeviceOrientation.mm
deleted file mode 100644
index db7894f9c..000000000
--- a/Source/WebKit/mac/WebView/WebDeviceOrientation.mm
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``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.
- */
-
-#import "WebDeviceOrientationInternal.h"
-
-using namespace WebCore;
-
-@implementation WebDeviceOrientationInternal
-
-- (id)initWithCoreDeviceOrientation:(PassRefPtr<DeviceOrientationData>)coreDeviceOrientation
-{
- self = [super init];
- if (!self)
- return nil;
- m_orientation = coreDeviceOrientation;
- return self;
-}
-
-@end
-
-@implementation WebDeviceOrientation (Internal)
-
-- (id)initWithCoreDeviceOrientation:(PassRefPtr<WebCore::DeviceOrientationData>)coreDeviceOrientation
-{
- self = [super init];
- if (!self)
- return nil;
- m_internal = [[WebDeviceOrientationInternal alloc] initWithCoreDeviceOrientation:coreDeviceOrientation];
- return self;
-}
-
-@end
-
-@implementation WebDeviceOrientation
-
-DeviceOrientationData* core(WebDeviceOrientation* orientation)
-{
- return orientation ? orientation->m_internal->m_orientation.get() : 0;
-}
-
-- (id)initWithCanProvideAlpha:(bool)canProvideAlpha alpha:(double)alpha canProvideBeta:(bool)canProvideBeta beta:(double)beta canProvideGamma:(bool)canProvideGamma gamma:(double)gamma
-{
- self = [super init];
- if (!self)
- return nil;
- m_internal = [[WebDeviceOrientationInternal alloc] initWithCoreDeviceOrientation:DeviceOrientationData::create(canProvideAlpha, alpha, canProvideBeta, beta, canProvideGamma, gamma)];
- return self;
-}
-
-- (void)dealloc
-{
- [m_internal release];
- [super dealloc];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebDeviceOrientationInternal.h b/Source/WebKit/mac/WebView/WebDeviceOrientationInternal.h
deleted file mode 100644
index 5dedd080c..000000000
--- a/Source/WebKit/mac/WebView/WebDeviceOrientationInternal.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``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.
- */
-
-#import "WebDeviceOrientation.h"
-
-#import <WebCore/DeviceOrientationData.h>
-#import <wtf/RefPtr.h>
-
-@interface WebDeviceOrientationInternal : NSObject {
-@public
- RefPtr<WebCore::DeviceOrientationData> m_orientation;
-}
-
-- (id)initWithCoreDeviceOrientation:(PassRefPtr<WebCore::DeviceOrientationData>)coreDeviceOrientation;
-@end
-
-@interface WebDeviceOrientation (Internal)
-
-- (id)initWithCoreDeviceOrientation:(PassRefPtr<WebCore::DeviceOrientationData>)coreDeviceOrientation;
-
-@end
-
-WebCore::DeviceOrientationData* core(WebDeviceOrientation*);
diff --git a/Source/WebKit/mac/WebView/WebDeviceOrientationProvider.h b/Source/WebKit/mac/WebView/WebDeviceOrientationProvider.h
deleted file mode 100644
index 18b688c64..000000000
--- a/Source/WebKit/mac/WebView/WebDeviceOrientationProvider.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``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.
- */
-
-@class WebDeviceOrientation;
-
-@protocol WebDeviceOrientationProvider <NSObject>
-- (void)startUpdating;
-- (void)stopUpdating;
-- (WebDeviceOrientation*)lastOrientation;
-@end
diff --git a/Source/WebKit/mac/WebView/WebDeviceOrientationProviderMock.h b/Source/WebKit/mac/WebView/WebDeviceOrientationProviderMock.h
deleted file mode 100644
index 8f33691f0..000000000
--- a/Source/WebKit/mac/WebView/WebDeviceOrientationProviderMock.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``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.
- */
-
-#import "WebDeviceOrientationProvider.h"
-
-@class WebDeviceOrientationProviderMockInternal;
-@class WebDeviceOrientation;
-
-@interface WebDeviceOrientationProviderMock : NSObject<WebDeviceOrientationProvider> {
- WebDeviceOrientationProviderMockInternal* m_internal;
-}
-
-+ (WebDeviceOrientationProviderMock *)shared;
-
-- (id)init;
-- (void)setOrientation:(WebDeviceOrientation*)orientation;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebDeviceOrientationProviderMock.mm b/Source/WebKit/mac/WebView/WebDeviceOrientationProviderMock.mm
deleted file mode 100644
index 8ceead005..000000000
--- a/Source/WebKit/mac/WebView/WebDeviceOrientationProviderMock.mm
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``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.
- */
-
-#import "WebDeviceOrientationProviderMockInternal.h"
-
-#import "WebDeviceOrientationInternal.h"
-#import <wtf/PassOwnPtr.h>
-
-using namespace WebCore;
-
-@implementation WebDeviceOrientationProviderMockInternal
-
-- (id)init
-{
- self = [super init];
- if (!self)
- return nil;
- m_core = adoptPtr(new DeviceOrientationClientMock());
- return self;
-}
-
-- (void)setOrientation:(WebDeviceOrientation*)orientation
-{
- m_core->setOrientation(core(orientation));
-}
-
-- (void)setController:(DeviceOrientationController*)controller
-{
- m_core->setController(controller);
-}
-
-- (void)startUpdating
-{
- m_core->startUpdating();
-}
-
-- (void)stopUpdating
-{
- m_core->stopUpdating();
-}
-
-- (WebDeviceOrientation*)lastOrientation
-{
- return [[WebDeviceOrientation alloc] initWithCoreDeviceOrientation:m_core->lastOrientation()];
-}
-
-@end
-
-@implementation WebDeviceOrientationProviderMock (Internal)
-
-- (void)setController:(WebCore::DeviceOrientationController*)controller
-{
- [m_internal setController:controller];
-}
-
-@end
-
-@implementation WebDeviceOrientationProviderMock
-
-+ (WebDeviceOrientationProviderMock *)shared
-{
- static WebDeviceOrientationProviderMock *provider = [[WebDeviceOrientationProviderMock alloc] init];
- return provider;
-}
-
-- (id)init
-{
- self = [super init];
- if (!self)
- return nil;
- m_internal = [[WebDeviceOrientationProviderMockInternal alloc] init];
- return self;
-}
-
-- (void)dealloc
-{
- [super dealloc];
- [m_internal release];
-}
-
-- (void)setOrientation:(WebDeviceOrientation*)orientation
-{
- [m_internal setOrientation:orientation];
-}
-
-- (void)startUpdating
-{
- [m_internal startUpdating];
-}
-
-- (void)stopUpdating
-{
- [m_internal stopUpdating];
-}
-
-- (WebDeviceOrientation*)lastOrientation
-{
- return [m_internal lastOrientation];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebDeviceOrientationProviderMockInternal.h b/Source/WebKit/mac/WebView/WebDeviceOrientationProviderMockInternal.h
deleted file mode 100644
index 5ac38e5c7..000000000
--- a/Source/WebKit/mac/WebView/WebDeviceOrientationProviderMockInternal.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``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.
- */
-
-#import "WebDeviceOrientationProviderMock.h"
-
-#import <WebCore/DeviceOrientationClientMock.h>
-#import <wtf/OwnPtr.h>
-
-@interface WebDeviceOrientationProviderMockInternal : NSObject {
- OwnPtr<WebCore::DeviceOrientationClientMock> m_core;
-}
-
-- (id)init;
-
-- (void)setOrientation:(WebDeviceOrientation*)orientation;
-
-- (void)setController:(WebCore::DeviceOrientationController*)controller;
-
-- (void)startUpdating;
-- (void)stopUpdating;
-- (WebDeviceOrientation*)lastOrientation;
-@end
-
-@interface WebDeviceOrientationProviderMock (Internal)
-- (void)setController:(WebCore::DeviceOrientationController*)controller;
-@end
diff --git a/Source/WebKit/mac/WebView/WebDocument.h b/Source/WebKit/mac/WebView/WebDocument.h
deleted file mode 100644
index b18215a2a..000000000
--- a/Source/WebKit/mac/WebView/WebDocument.h
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Copyright (C) 2003, 2004, 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-@class NSError;
-@class WebDataSource;
-
-/*!
- @protocol WebDocumentView
- @discussion Protocol implemented by the document view of WebFrameView
-*/
-@protocol WebDocumentView <NSObject>
-
-/*!
- @method setDataSource:
- @abstract Called when the corresponding data source has been created.
- @param dataSource The corresponding data source.
-*/
-- (void)setDataSource:(WebDataSource *)dataSource;
-
-/*!
- @method dataSourceUpdated:
- @abstract Called when the corresponding data source has received data.
- @param dataSource The corresponding data source.
-*/
-- (void)dataSourceUpdated:(WebDataSource *)dataSource;
-
-/*!
- @method setNeedsLayout:
- @discussion Called when WebKit has determined that the document view needs to layout.
- This method should simply set a flag and call layout from drawRect if the flag is YES.
- @param flag YES to cause a layout, no to not cause a layout.
-*/
-- (void)setNeedsLayout:(BOOL)flag;
-
-/*!
- @method layout
- @discussion Called when the document view must immediately layout. For simple views,
- setting the frame is a sufficient implementation of this method.
-*/
-- (void)layout;
-
-/*!
- @method viewWillMoveToHostWindow:
- @param hostWindow The host window for the document view.
- @abstract Called before the host window is set on the parent web view.
-*/
-- (void)viewWillMoveToHostWindow:(NSWindow *)hostWindow;
-
-/*!
- @method viewDidMoveToHostWindow
- @abstract Called after the host window is set on the parent web view.
-*/
-- (void)viewDidMoveToHostWindow;
-
-@end
-
-
-/*!
- @protocol WebDocumentSearching
- @discussion Optional protocol for searching document view of WebFrameView.
-*/
-@protocol WebDocumentSearching <NSObject>
-/*!
- @method searchFor:direction:caseSensitive:wrap:
- @abstract Searches a document view for a string and highlights the string if it is found.
- @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.
- @result YES if found, NO if not found.
-*/
-- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag;
-@end
-
-
-/*!
- @protocol WebDocumentText
- @discussion Optional protocol for supporting text operations.
-*/
-@protocol WebDocumentText <NSObject>
-
-/*!
- @method supportsTextEncoding
- @result YES if the document view support text encoding, NO if it doesn't.
-*/
-- (BOOL)supportsTextEncoding;
-
-/*!
- @method string
- @result String that represents the entire document.
-*/
-- (NSString *)string;
-
-/*!
- @method attributedString
- @result Attributed string that represents the entire document.
-*/
-- (NSAttributedString *)attributedString;
-
-/*!
- @method selectedString
- @result String that represents the current selection.
-*/
-- (NSString *)selectedString;
-
-/*!
- @method selectedAttributedString
- @result Attributed string that represents the current selection.
-*/
-- (NSAttributedString *)selectedAttributedString;
-
-
-/*!
- @method selectAll
- @abstract Selects all the text in the document.
-*/
-- (void)selectAll;
-
-/*!
- @method deselectText
- @abstract Causes a text selection to lose its selection.
-*/
-- (void)deselectAll;
-
-@end
-
-
-/*!
- @protocol WebDocumentRepresentation
- @discussion Protocol implemented by the document representation of a data source.
-*/
-@protocol WebDocumentRepresentation <NSObject>
-/*!
- @method setDataSource:
- @abstract Called soon after the document representation is created.
- @param dataSource The data source that is set.
-*/
-- (void)setDataSource:(WebDataSource *)dataSource;
-
-/*!
- @method receivedData:withDataSource:
- @abstract Called when the data source has received data.
- @param data The data that the data source has received.
- @param dataSource The data source that has received data.
-*/
-- (void)receivedData:(NSData *)data withDataSource:(WebDataSource *)dataSource;
-
-/*!
- @method receivedError:withDataSource:
- @abstract Called when the data source has received an error.
- @param error The error that the data source has received.
- @param dataSource The data source that has received the error.
-*/
-- (void)receivedError:(NSError *)error withDataSource:(WebDataSource *)dataSource;
-
-/*!
- @method finishedLoadingWithDataSource:
- @abstract Called when the data source has finished loading.
- @param dataSource The datasource that has finished loading.
-*/
-- (void)finishedLoadingWithDataSource:(WebDataSource *)dataSource;
-
-/*!
- @method canProvideDocumentSource
- @result Returns true if the representation can provide document source.
-*/
-- (BOOL)canProvideDocumentSource;
-
-/*!
- @method documentSource
- @result Returns the textual source representation of the document. For HTML documents
- this is the original HTML source.
-*/
-- (NSString *)documentSource;
-
-/*!
- @method title
- @result Return the title for the document.
-*/
-- (NSString *)title;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebDocumentInternal.h b/Source/WebKit/mac/WebView/WebDocumentInternal.h
deleted file mode 100644
index d37b16f0f..000000000
--- a/Source/WebKit/mac/WebView/WebDocumentInternal.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebDocumentPrivate.h>
-#import <WebKit/WebHTMLView.h>
-#import <WebKit/WebViewPrivate.h>
-
-/*!
-@protocol _WebDocumentZooming
-@discussion Optional protocol for a view that wants to handle its own zoom.
-*/
-@protocol _WebDocumentZooming <NSObject>
-
-// Methods to perform the actual commands
-- (IBAction)_zoomOut:(id)sender;
-- (IBAction)_zoomIn:(id)sender;
-- (IBAction)_resetZoom:(id)sender;
-
-// Whether or not the commands can be executed.
-- (BOOL)_canZoomOut;
-- (BOOL)_canZoomIn;
-- (BOOL)_canResetZoom;
-
-@end
-
-@protocol WebDocumentElement <NSObject>
-- (NSDictionary *)elementAtPoint:(NSPoint)point;
-- (NSDictionary *)elementAtPoint:(NSPoint)point allowShadowContent:(BOOL)allow;
-@end
-
-@protocol WebMultipleTextMatches <NSObject>
-- (void)setMarkedTextMatchesAreHighlighted:(BOOL)newValue;
-- (BOOL)markedTextMatchesAreHighlighted;
-- (NSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options limit:(NSUInteger)limit markMatches:(BOOL)markMatches;
-- (void)unmarkAllTextMatches;
-- (NSArray *)rectsForTextMatches;
-@end
-
-@protocol WebDocumentOptionsSearching <NSObject>
-// Prefixed with an underscore to avoid conflict with Mail's -[WebHTMLView(MailExtras) findString:options:].
-- (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>
-- (NSPoint)scrollPoint;
-- (void)setScrollPoint:(NSPoint)p;
-- (id)viewState;
-- (void)setViewState:(id)statePList;
-@end
-
-@interface WebHTMLView (WebDocumentInternalProtocols) <WebDocumentElement, WebMultipleTextMatches, WebDocumentOptionsSearching>
-@end
diff --git a/Source/WebKit/mac/WebView/WebDocumentLoaderMac.h b/Source/WebKit/mac/WebView/WebDocumentLoaderMac.h
deleted file mode 100644
index 83e2bb3ba..000000000
--- a/Source/WebKit/mac/WebView/WebDocumentLoaderMac.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebCore/DocumentLoader.h>
-#import <wtf/RetainPtr.h>
-#import <wtf/HashSet.h>
-
-@class WebDataSource;
-@class WebView;
-
-namespace WebCore {
- class ResourceRequest;
-}
-
-class WebDocumentLoaderMac : public WebCore::DocumentLoader {
-public:
- static PassRefPtr<WebDocumentLoaderMac> create(const WebCore::ResourceRequest& request, const WebCore::SubstituteData& data)
- {
- return adoptRef(new WebDocumentLoaderMac(request, data));
- }
-
- void setDataSource(WebDataSource *, WebView*);
- void detachDataSource();
- WebDataSource *dataSource() const;
-
- void increaseLoadCount(unsigned long identifier);
- void decreaseLoadCount(unsigned long identifier);
-
-private:
- WebDocumentLoaderMac(const WebCore::ResourceRequest&, const WebCore::SubstituteData&);
-
- virtual void attachToFrame();
- virtual void detachFromFrame();
-
- void retainDataSource();
- void releaseDataSource();
-
- WebDataSource *m_dataSource;
- bool m_isDataSourceRetained;
- RetainPtr<id> m_resourceLoadDelegate;
- RetainPtr<id> m_downloadDelegate;
- HashSet<unsigned long> m_loadingResources;
-};
diff --git a/Source/WebKit/mac/WebView/WebDocumentLoaderMac.mm b/Source/WebKit/mac/WebView/WebDocumentLoaderMac.mm
deleted file mode 100644
index 564f38d22..000000000
--- a/Source/WebKit/mac/WebView/WebDocumentLoaderMac.mm
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebDocumentLoaderMac.h"
-
-#import "WebKitVersionChecks.h"
-#import "WebView.h"
-
-using namespace WebCore;
-
-WebDocumentLoaderMac::WebDocumentLoaderMac(const ResourceRequest& request, const SubstituteData& substituteData)
- : DocumentLoader(request, substituteData)
- , m_dataSource(nil)
- , m_isDataSourceRetained(false)
-{
-}
-
-static inline bool needsDataLoadWorkaround(WebView *webView)
-{
- static bool needsWorkaround = !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK)
- && [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.adobe.Installers.Setup"];
- return needsWorkaround;
-}
-
-void WebDocumentLoaderMac::setDataSource(WebDataSource *dataSource, WebView *webView)
-{
- ASSERT(!m_dataSource);
- ASSERT(!m_isDataSourceRetained);
-
- m_dataSource = dataSource;
- retainDataSource();
-
- m_resourceLoadDelegate = [webView resourceLoadDelegate];
- m_downloadDelegate = [webView downloadDelegate];
-
- // Some clients run the run loop in a way that prevents the data load timer
- // from firing. We work around that issue here. See <rdar://problem/5266289>
- // and <rdar://problem/5049509>.
- if (needsDataLoadWorkaround(webView))
- m_deferMainResourceDataLoad = false;
-}
-
-WebDataSource *WebDocumentLoaderMac::dataSource() const
-{
- return m_dataSource;
-}
-
-void WebDocumentLoaderMac::attachToFrame()
-{
- DocumentLoader::attachToFrame();
-
- retainDataSource();
-}
-
-void WebDocumentLoaderMac::detachFromFrame()
-{
- DocumentLoader::detachFromFrame();
-
- if (m_loadingResources.isEmpty())
- releaseDataSource();
-
- // FIXME: What prevents the data source from getting deallocated while the
- // frame is not attached?
-}
-
-void WebDocumentLoaderMac::increaseLoadCount(unsigned long identifier)
-{
- ASSERT(m_dataSource);
-
- if (m_loadingResources.contains(identifier))
- return;
- m_loadingResources.add(identifier);
-
- retainDataSource();
-}
-
-void WebDocumentLoaderMac::decreaseLoadCount(unsigned long identifier)
-{
- HashSet<unsigned long>::iterator it = m_loadingResources.find(identifier);
-
- // It is valid for a load to be cancelled before it's started.
- if (it == m_loadingResources.end())
- return;
-
- m_loadingResources.remove(it);
-
- if (m_loadingResources.isEmpty()) {
- m_resourceLoadDelegate = 0;
- m_downloadDelegate = 0;
- if (!frame())
- releaseDataSource();
- }
-}
-
-void WebDocumentLoaderMac::retainDataSource()
-{
- if (m_isDataSourceRetained || !m_dataSource)
- return;
- m_isDataSourceRetained = true;
- CFRetain(m_dataSource);
-}
-
-void WebDocumentLoaderMac::releaseDataSource()
-{
- if (!m_isDataSourceRetained)
- return;
- ASSERT(m_dataSource);
- m_isDataSourceRetained = false;
- CFRelease(m_dataSource);
-}
-
-void WebDocumentLoaderMac::detachDataSource()
-{
- ASSERT(!m_isDataSourceRetained);
- m_dataSource = nil;
-}
diff --git a/Source/WebKit/mac/WebView/WebDocumentPrivate.h b/Source/WebKit/mac/WebView/WebDocumentPrivate.h
deleted file mode 100644
index a495e4b67..000000000
--- a/Source/WebKit/mac/WebView/WebDocumentPrivate.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebDocument.h>
-#import <WebKit/WebHTMLView.h>
-
-@class DOMDocument;
-@class PDFDocument;
-
-@protocol WebDocumentImage <NSObject>
-- (NSImage *)image;
-@end
-
-// This method is deprecated as it now lives on WebFrame.
-@protocol WebDocumentDOM <NSObject>
-- (DOMDocument *)DOMDocument;
-- (BOOL)canSaveAsWebArchive;
-@end
-
-@protocol WebDocumentSelection <WebDocumentText>
-- (NSArray *)pasteboardTypesForSelection;
-- (void)writeSelectionWithPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard;
-
-// Array of rects that tightly enclose the selected text, in coordinates of selectinView.
-- (NSArray *)selectionTextRects;
-
-// Rect tightly enclosing the entire selected area, in coordinates of selectionView.
-- (NSRect)selectionRect;
-
-// NSImage of the portion of the selection that's in view. This does not draw backgrounds.
-// The text is all black according to the parameter.
-- (NSImage *)selectionImageForcingBlackText:(BOOL)forceBlackText;
-
-// Rect tightly enclosing the entire selected area, in coordinates of selectionView.
-// NOTE: This method is equivalent to selectionRect and shouldn't be used; use selectionRect instead.
-- (NSRect)selectionImageRect;
-
-// View that draws the selection and can be made first responder. Often this is self but it could be
-// a nested view, as for example in the case of WebPDFView.
-- (NSView *)selectionView;
-@end
-
-@protocol WebDocumentPDF <WebDocumentText>
-- (PDFDocument *)PDFDocument;
-@end
-
-@protocol WebDocumentIncrementalSearching
-/*!
-@method searchFor:direction:caseSensitive:wrap:startInSelection:
- @abstract Searches a document view for a string and highlights the string if it is found.
- @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;
-@end
-
-@interface WebHTMLView (WebDocumentPrivateProtocols) <WebDocumentSelection, WebDocumentIncrementalSearching>
-@end
diff --git a/Source/WebKit/mac/WebView/WebDynamicScrollBarsView.h b/Source/WebKit/mac/WebView/WebDynamicScrollBarsView.h
deleted file mode 100644
index 30b4daa0a..000000000
--- a/Source/WebKit/mac/WebView/WebDynamicScrollBarsView.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2005, 2008, 2010 Apple 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 INC. 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 INC. 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.
- */
-
-// This is a Private header (containing SPI), despite the fact that its name
-// does not contain the word Private.
-
-#import <AppKit/NSScrollView.h>
-
-// FIXME: <rdar://problem/5898985> Mail currently expects this header to define WebCoreScrollbarAlwaysOn.
-extern const int WebCoreScrollbarAlwaysOn;
-
-struct WebDynamicScrollBarsViewPrivate;
-@interface WebDynamicScrollBarsView : NSScrollView {
-@private
- struct WebDynamicScrollBarsViewPrivate *_private;
-
-#ifndef __OBJC2__
- // We need to pad the class out to its former size. See <rdar://problem/7814899> for more information.
- char padding[16];
-#endif
-}
-
-// For use by DumpRenderTree only.
-+ (void)setCustomScrollerClass:(Class)scrollerClass;
-
-// This was originally added for Safari's benefit, but Safari has not used it for a long time.
-// Perhaps it can be removed.
-- (void)setAllowsHorizontalScrolling:(BOOL)flag;
-
-// Determines whether the scrollers should be drawn outside of the content (as in normal scroll views)
-// or should overlap the content.
-- (void)setAllowsScrollersToOverlapContent:(BOOL)flag;
-
-// These methods hide the scrollers in a way that does not prevent scrolling.
-- (void)setAlwaysHideHorizontalScroller:(BOOL)flag;
-- (void)setAlwaysHideVerticalScroller:(BOOL)flag;
-
-// These methods return YES if the scrollers are visible, or if the only reason that they are not
-// visible is that they have been suppressed by setAlwaysHideHorizontal/VerticalScroller:.
-- (BOOL)horizontalScrollingAllowed;
-- (BOOL)verticalScrollingAllowed;
-@end
diff --git a/Source/WebKit/mac/WebView/WebDynamicScrollBarsView.mm b/Source/WebKit/mac/WebView/WebDynamicScrollBarsView.mm
deleted file mode 100644
index 79912494f..000000000
--- a/Source/WebKit/mac/WebView/WebDynamicScrollBarsView.mm
+++ /dev/null
@@ -1,631 +0,0 @@
-/*
- * Copyright (C) 2005, 2008, 2010 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebDynamicScrollBarsViewInternal.h"
-
-#import "WebDocument.h"
-#import "WebFrameInternal.h"
-#import "WebFrameView.h"
-#import "WebHTMLViewInternal.h"
-#import <WebCore/FrameView.h>
-#import <WebKitSystemInterface.h>
-
-using namespace WebCore;
-
-// FIXME: <rdar://problem/5898985> Mail expects a constant of this name to exist.
-const int WebCoreScrollbarAlwaysOn = ScrollbarAlwaysOn;
-
-#ifndef __OBJC2__
-// In <rdar://problem/7814899> we saw crashes because WebDynamicScrollBarsView increased in size, breaking ABI compatiblity.
-COMPILE_ASSERT(sizeof(WebDynamicScrollBarsView) == 0x8c, WebDynamicScrollBarsView_is_expected_size);
-#endif
-
-@interface NSScrollView(WebNSScrollViewDetails)
-+ (Class)_horizontalScrollerClass;
-+ (Class)_verticalScrollerClass;
-@end
-
-struct WebDynamicScrollBarsViewPrivate {
- unsigned inUpdateScrollersLayoutPass;
-
- WebCore::ScrollbarMode hScroll;
- WebCore::ScrollbarMode vScroll;
-
- bool hScrollModeLocked;
- bool vScrollModeLocked;
- bool suppressLayout;
- bool suppressScrollers;
- bool inUpdateScrollers;
- bool verticallyPinnedByPreviousWheelEvent;
- bool horizontallyPinnedByPreviousWheelEvent;
-
- bool allowsScrollersToOverlapContent;
- bool alwaysHideHorizontalScroller;
- bool alwaysHideVerticalScroller;
- bool horizontalScrollingAllowedButScrollerHidden;
- bool verticalScrollingAllowedButScrollerHidden;
-
- // 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 scrollOriginChanged;
- NSPoint scrollPositionExcludingOrigin;
-
- bool inProgrammaticScroll;
-};
-
-@implementation WebDynamicScrollBarsView
-
-static Class customScrollerClass;
-
-+ (Class)_horizontalScrollerClass
-{
- if (Settings::mockScrollbarsEnabled() && customScrollerClass)
- return customScrollerClass;
-
- return [super _horizontalScrollerClass];
-}
-
-+ (Class)_verticalScrollerClass
-{
- if (Settings::mockScrollbarsEnabled() && customScrollerClass)
- return customScrollerClass;
-
- return [super _horizontalScrollerClass];
-}
-
-+ (void)setCustomScrollerClass:(Class)scrollerClass
-{
- customScrollerClass = scrollerClass;
-}
-
-- (id)initWithFrame:(NSRect)frame
-{
- if (!(self = [super initWithFrame:frame]))
- return nil;
-
- _private = new WebDynamicScrollBarsViewPrivate;
- memset(_private, 0, sizeof(WebDynamicScrollBarsViewPrivate));
- return self;
-}
-
-- (id)initWithCoder:(NSCoder *)aDecoder
-{
- if (!(self = [super initWithCoder:aDecoder]))
- return nil;
-
- _private = new WebDynamicScrollBarsViewPrivate;
- memset(_private, 0, sizeof(WebDynamicScrollBarsViewPrivate));
- return self;
-}
-
-- (void)dealloc
-{
- delete _private;
- [super dealloc];
-}
-
-- (void)finalize
-{
- delete _private;
- [super finalize];
-}
-
-- (void)setAllowsHorizontalScrolling:(BOOL)flag
-{
- if (_private->hScrollModeLocked)
- return;
- if (flag && _private->hScroll == ScrollbarAlwaysOff)
- _private->hScroll = ScrollbarAuto;
- else if (!flag && _private->hScroll != ScrollbarAlwaysOff)
- _private->hScroll = ScrollbarAlwaysOff;
- [self updateScrollers];
-}
-
-- (void)setAllowsScrollersToOverlapContent:(BOOL)flag
-{
- if (_private->allowsScrollersToOverlapContent == flag)
- return;
-
- _private->allowsScrollersToOverlapContent = flag;
-
- [[self contentView] setFrame:[self contentViewFrame]];
- [[self documentView] setNeedsLayout:YES];
- [[self documentView] layout];
-}
-
-- (void)setAlwaysHideHorizontalScroller:(BOOL)shouldBeHidden
-{
- if (_private->alwaysHideHorizontalScroller == shouldBeHidden)
- return;
-
- _private->alwaysHideHorizontalScroller = shouldBeHidden;
- [self updateScrollers];
-}
-
-- (void)setAlwaysHideVerticalScroller:(BOOL)shouldBeHidden
-{
- if (_private->alwaysHideVerticalScroller == shouldBeHidden)
- return;
-
- _private->alwaysHideVerticalScroller = shouldBeHidden;
- [self updateScrollers];
-}
-
-- (BOOL)horizontalScrollingAllowed
-{
- return _private->horizontalScrollingAllowedButScrollerHidden || [self hasHorizontalScroller];
-}
-
-- (BOOL)verticalScrollingAllowed
-{
- return _private->verticalScrollingAllowedButScrollerHidden || [self hasVerticalScroller];
-}
-
-static BOOL shouldRoundScrollOrigin(WebDynamicScrollBarsView *view)
-{
- NSView *documentView = [view documentView];
- if (![documentView isKindOfClass:[WebHTMLView class]])
- return NO;
-
- Frame* frame = core([(WebHTMLView *)documentView _frame]);
- if (!frame)
- return NO;
-
- FrameView *frameView = frame->view();
- if (!frameView)
- return NO;
-
- return frameView->hasViewportConstrainedObjects();
-}
-
-- (void)scrollClipView:(NSClipView *)clipView toPoint:(NSPoint)point
-{
- if (shouldRoundScrollOrigin(self)) {
- // WebCore isn't yet able to handle subpixel scrolling, as can happen on Retina displays. For
- // now we'll round to the nearest pixel. Once subpixel layout is enabled in WebCore we may be
- // able to remove this method entirely.
- point.x = round(point.x);
- point.y = round(point.y);
- }
-
- [super scrollClipView:clipView toPoint:point];
-}
-
-@end
-
-@implementation WebDynamicScrollBarsView (WebInternal)
-
-- (NSRect)contentViewFrame
-{
- NSRect frame = [[self contentView] frame];
-
- if ([self hasHorizontalScroller])
- frame.size.height = (_private->allowsScrollersToOverlapContent ? NSMaxY([[self horizontalScroller] frame]) : NSMinY([[self horizontalScroller] frame]));
- if ([self hasVerticalScroller])
- frame.size.width = (_private->allowsScrollersToOverlapContent ? NSMaxX([[self verticalScroller] frame]) : NSMinX([[self verticalScroller] frame]));
- return frame;
-}
-
-- (void)tile
-{
- [super tile];
-
- // [super tile] sets the contentView size so that it does not overlap with the scrollers,
- // we want to re-set the contentView to overlap scrollers before displaying.
- if (_private->allowsScrollersToOverlapContent)
- [[self contentView] setFrame:[self contentViewFrame]];
-}
-
-- (void)setSuppressLayout:(BOOL)flag
-{
- _private->suppressLayout = flag;
-}
-
-- (void)setScrollBarsSuppressed:(BOOL)suppressed repaintOnUnsuppress:(BOOL)repaint
-{
- _private->suppressScrollers = suppressed;
-
- if (suppressed) {
- [[self verticalScroller] setNeedsDisplay:NO];
- [[self horizontalScroller] setNeedsDisplay:NO];
- }
-
- if (!suppressed && repaint)
- [super reflectScrolledClipView:[self contentView]];
-}
-
-- (void)adjustForScrollOriginChange
-{
- if (!_private->scrollOriginChanged)
- return;
-
- _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;
-
-- (void)updateScrollers
-{
- NSView *documentView = [self documentView];
-
- // If we came in here with the view already needing a layout, then go ahead and do that
- // first. (This will be the common case, e.g., when the page changes due to window resizing for example).
- // This layout will not re-enter updateScrollers and does not count towards our max layout pass total.
- if (!_private->suppressLayout && !_private->suppressScrollers && [documentView isKindOfClass:[WebHTMLView class]]) {
- WebHTMLView* htmlView = (WebHTMLView*)documentView;
- if ([htmlView _needsLayout]) {
- _private->inUpdateScrollers = YES;
- [(id <WebDocumentView>)documentView layout];
- _private->inUpdateScrollers = NO;
- }
- }
-
- BOOL hasHorizontalScroller = [self hasHorizontalScroller];
- BOOL hasVerticalScroller = [self hasVerticalScroller];
-
- BOOL newHasHorizontalScroller = hasHorizontalScroller;
- BOOL newHasVerticalScroller = hasVerticalScroller;
-
- if (!documentView) {
- newHasHorizontalScroller = NO;
- newHasVerticalScroller = NO;
- }
-
- if (_private->hScroll != ScrollbarAuto)
- newHasHorizontalScroller = (_private->hScroll == ScrollbarAlwaysOn);
- if (_private->vScroll != ScrollbarAuto)
- newHasVerticalScroller = (_private->vScroll == ScrollbarAlwaysOn);
-
- if (!documentView || _private->suppressLayout || _private->suppressScrollers || (_private->hScroll != ScrollbarAuto && _private->vScroll != ScrollbarAuto)) {
- _private->horizontalScrollingAllowedButScrollerHidden = newHasHorizontalScroller && _private->alwaysHideHorizontalScroller;
- if (_private->horizontalScrollingAllowedButScrollerHidden)
- newHasHorizontalScroller = NO;
-
- _private->verticalScrollingAllowedButScrollerHidden = newHasVerticalScroller && _private->alwaysHideVerticalScroller;
- if (_private->verticalScrollingAllowedButScrollerHidden)
- newHasVerticalScroller = NO;
-
- _private->inUpdateScrollers = YES;
- if (hasHorizontalScroller != newHasHorizontalScroller)
- [self setHasHorizontalScroller:newHasHorizontalScroller];
- if (hasVerticalScroller != newHasVerticalScroller)
- [self setHasVerticalScroller:newHasVerticalScroller];
- if (_private->suppressScrollers) {
- [[self verticalScroller] setNeedsDisplay:NO];
- [[self horizontalScroller] setNeedsDisplay:NO];
- }
- _private->inUpdateScrollers = NO;
- return;
- }
-
- BOOL needsLayout = NO;
-
- NSSize documentSize = [documentView frame].size;
- NSSize visibleSize = [self documentVisibleRect].size;
- NSSize frameSize = [self frame].size;
-
- // When in HiDPI with a scale factor > 1, the visibleSize and frameSize may be non-integral values,
- // while the documentSize (set by WebCore) will be integral. Round up the non-integral sizes so that
- // the mismatch won't cause unwanted scrollbars to appear. This can result in slightly cut off content,
- // but it will always be less than one pixel, which should not be noticeable.
- visibleSize.width = ceilf(visibleSize.width);
- visibleSize.height = ceilf(visibleSize.height);
- frameSize.width = ceilf(frameSize.width);
- frameSize.height = ceilf(frameSize.height);
-
- if (_private->hScroll == ScrollbarAuto) {
- newHasHorizontalScroller = documentSize.width > visibleSize.width;
- if (newHasHorizontalScroller && !_private->inUpdateScrollersLayoutPass && documentSize.height <= frameSize.height && documentSize.width <= frameSize.width)
- newHasHorizontalScroller = NO;
- }
-
- if (_private->vScroll == ScrollbarAuto) {
- newHasVerticalScroller = documentSize.height > visibleSize.height;
- if (newHasVerticalScroller && !_private->inUpdateScrollersLayoutPass && documentSize.height <= frameSize.height && documentSize.width <= frameSize.width)
- newHasVerticalScroller = NO;
- }
-
- // Unless in ScrollbarsAlwaysOn mode, if we ever turn one scrollbar off, always turn the other one off too.
- // Never ever try to both gain/lose a scrollbar in the same pass.
- if (!newHasHorizontalScroller && hasHorizontalScroller && _private->vScroll != ScrollbarAlwaysOn)
- newHasVerticalScroller = NO;
- if (!newHasVerticalScroller && hasVerticalScroller && _private->hScroll != ScrollbarAlwaysOn)
- newHasHorizontalScroller = NO;
-
- _private->horizontalScrollingAllowedButScrollerHidden = newHasHorizontalScroller && _private->alwaysHideHorizontalScroller;
- if (_private->horizontalScrollingAllowedButScrollerHidden)
- newHasHorizontalScroller = NO;
-
- _private->verticalScrollingAllowedButScrollerHidden = newHasVerticalScroller && _private->alwaysHideVerticalScroller;
- if (_private->verticalScrollingAllowedButScrollerHidden)
- newHasVerticalScroller = NO;
-
- if (hasHorizontalScroller != newHasHorizontalScroller) {
- _private->inUpdateScrollers = YES;
- [self setHasHorizontalScroller:newHasHorizontalScroller];
- _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) {
- _private->inUpdateScrollers = YES;
- [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 &&
- [documentView conformsToProtocol:@protocol(WebDocumentView)]) {
- _private->inUpdateScrollersLayoutPass++;
- [(id <WebDocumentView>)documentView setNeedsLayout:YES];
- [(id <WebDocumentView>)documentView layout];
- NSSize newDocumentSize = [documentView frame].size;
- if (NSEqualSizes(documentSize, newDocumentSize)) {
- // The layout with the new scroll state had no impact on
- // the document's overall size, so updateScrollers didn't get called.
- // Recur manually.
- [self updateScrollers];
- }
- _private->inUpdateScrollersLayoutPass--;
- }
-}
-
-// Make the horizontal and vertical scroll bars come and go as needed.
-- (void)reflectScrolledClipView:(NSClipView *)clipView
-{
- if (clipView == [self contentView]) {
- // Prevent appearance of trails because of overlapping views
- if (_private->allowsScrollersToOverlapContent)
- [self setDrawsBackground:NO];
-
- // FIXME: This hack here prevents infinite recursion that takes place when we
- // gyrate between having a vertical scroller and not having one. A reproducible
- // case is clicking on the "the Policy Routing text" link at
- // http://www.linuxpowered.com/archive/howto/Net-HOWTO-8.html.
- // The underlying cause is some problem in the NSText machinery, but I was not
- // able to pin it down.
- NSGraphicsContext *currentContext = [NSGraphicsContext currentContext];
- if (!_private->inUpdateScrollers && (!currentContext || [currentContext isDrawingToScreen]))
- [self updateScrollers];
- }
-
- // Update the scrollers if they're not being suppressed.
- if (!_private->suppressScrollers)
- [super reflectScrolledClipView:clipView];
-
- // 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 adjustForScrollOriginChange];
-}
-
-- (BOOL)allowsHorizontalScrolling
-{
- return _private->hScroll != ScrollbarAlwaysOff;
-}
-
-- (BOOL)allowsVerticalScrolling
-{
- return _private->vScroll != ScrollbarAlwaysOff;
-}
-
-- (void)scrollingModes:(WebCore::ScrollbarMode*)hMode vertical:(WebCore::ScrollbarMode*)vMode
-{
- *hMode = _private->hScroll;
- *vMode = _private->vScroll;
-}
-
-- (ScrollbarMode)horizontalScrollingMode
-{
- return _private->hScroll;
-}
-
-- (ScrollbarMode)verticalScrollingMode
-{
- return _private->vScroll;
-}
-
-- (void)setHorizontalScrollingMode:(ScrollbarMode)horizontalMode andLock:(BOOL)lock
-{
- [self setScrollingModes:horizontalMode vertical:[self verticalScrollingMode] andLock:lock];
-}
-
-- (void)setVerticalScrollingMode:(ScrollbarMode)verticalMode andLock:(BOOL)lock
-{
- [self setScrollingModes:[self horizontalScrollingMode] vertical:verticalMode andLock:lock];
-}
-
-// Mail uses this method, so we cannot remove it.
-- (void)setVerticalScrollingMode:(ScrollbarMode)verticalMode
-{
- [self setScrollingModes:[self horizontalScrollingMode] vertical:verticalMode andLock:NO];
-}
-
-- (void)setScrollingModes:(ScrollbarMode)horizontalMode vertical:(ScrollbarMode)verticalMode andLock:(BOOL)lock
-{
- BOOL update = NO;
- if (verticalMode != _private->vScroll && !_private->vScrollModeLocked) {
- _private->vScroll = verticalMode;
- update = YES;
- }
-
- if (horizontalMode != _private->hScroll && !_private->hScrollModeLocked) {
- _private->hScroll = horizontalMode;
- update = YES;
- }
-
- if (lock)
- [self setScrollingModesLocked:YES];
-
- if (update)
- [self updateScrollers];
-}
-
-- (void)setHorizontalScrollingModeLocked:(BOOL)locked
-{
- _private->hScrollModeLocked = locked;
-}
-
-- (void)setVerticalScrollingModeLocked:(BOOL)locked
-{
- _private->vScrollModeLocked = locked;
-}
-
-- (void)setScrollingModesLocked:(BOOL)locked
-{
- _private->hScrollModeLocked = _private->vScrollModeLocked = locked;
-}
-
-- (BOOL)horizontalScrollingModeLocked
-{
- return _private->hScrollModeLocked;
-}
-
-- (BOOL)verticalScrollingModeLocked
-{
- return _private->vScrollModeLocked;
-}
-
-- (BOOL)autoforwardsScrollWheelEvents
-{
- return YES;
-}
-
-- (void)scrollWheel:(NSEvent *)event
-{
- float deltaX;
- float deltaY;
- BOOL isContinuous;
- WKGetWheelEventDeltas(event, &deltaX, &deltaY, &isContinuous);
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- NSEventPhase momentumPhase = [event momentumPhase];
- BOOL isLatchingEvent = momentumPhase & NSEventPhaseBegan || momentumPhase & NSEventPhaseStationary;
-#else
- int momentumPhase = WKGetNSEventMomentumPhase(event);
- BOOL isLatchingEvent = momentumPhase == WKEventPhaseBegan || momentumPhase == WKEventPhaseChanged;
-#endif
-
- if (fabsf(deltaY) > fabsf(deltaX)) {
- if (![self allowsVerticalScrolling]) {
- [[self nextResponder] scrollWheel:event];
- return;
- }
-
- if (isLatchingEvent && !_private->verticallyPinnedByPreviousWheelEvent) {
- double verticalPosition = [[self verticalScroller] doubleValue];
- if ((deltaY >= 0.0 && verticalPosition == 0.0) || (deltaY <= 0.0 && verticalPosition == 1.0))
- return;
- }
- } else {
- if (![self allowsHorizontalScrolling]) {
- [[self nextResponder] scrollWheel:event];
- return;
- }
-
- if (isLatchingEvent && !_private->horizontallyPinnedByPreviousWheelEvent) {
- double horizontalPosition = [[self horizontalScroller] doubleValue];
- if ((deltaX >= 0.0 && horizontalPosition == 0.0) || (deltaX <= 0.0 && horizontalPosition == 1.0))
- return;
- }
- }
-
- // Calling super can release the last reference. <rdar://problem/7400263>
- // Hold a reference so the code following the super call will not crash.
- [self retain];
-
- [super scrollWheel:event];
-
- if (!isLatchingEvent) {
- double verticalPosition = [[self verticalScroller] doubleValue];
- double horizontalPosition = [[self horizontalScroller] doubleValue];
-
- _private->verticallyPinnedByPreviousWheelEvent = (verticalPosition == 0.0 || verticalPosition == 1.0);
- _private->horizontallyPinnedByPreviousWheelEvent = (horizontalPosition == 0.0 || horizontalPosition == 1.0);
- }
-
- [self release];
-}
-
-// This object will be the parent of the web area in WK1, so it should not be ignored.
-- (BOOL)accessibilityIsIgnored
-{
- return NO;
-}
-
-- (void)setScrollOrigin:(NSPoint)scrollOrigin updatePositionAtAll:(BOOL)updatePositionAtAll immediately:(BOOL)updatePositionSynchronously
-{
- // 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];
-
- NSRect visibleRect = [self documentVisibleRect];
-
- [docView setBoundsOrigin:NSMakePoint(-scrollOrigin.x, -scrollOrigin.y)];
-
- if (updatePositionAtAll)
- _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 (updatePositionAtAll && updatePositionSynchronously) // Otherwise we'll just let the snap happen when we update for the resize.
- [self adjustForScrollOriginChange];
-}
-
-- (NSPoint)scrollOrigin
-{
- return _private->scrollOrigin;
-}
-
-- (BOOL)inProgrammaticScroll
-{
- return _private->inProgrammaticScroll;
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebDynamicScrollBarsViewInternal.h b/Source/WebKit/mac/WebView/WebDynamicScrollBarsViewInternal.h
deleted file mode 100644
index f0dacb061..000000000
--- a/Source/WebKit/mac/WebView/WebDynamicScrollBarsViewInternal.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2005, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebDynamicScrollBarsView.h"
-#import <WebCore/WebCoreFrameView.h>
-
-@interface WebDynamicScrollBarsView (WebInternal) <WebCoreFrameScrollView>
-
-- (BOOL)allowsHorizontalScrolling;
-- (BOOL)allowsVerticalScrolling;
-
-- (void)setScrollingModes:(WebCore::ScrollbarMode)hMode vertical:(WebCore::ScrollbarMode)vMode andLock:(BOOL)lock;
-- (void)scrollingModes:(WebCore::ScrollbarMode*)hMode vertical:(WebCore::ScrollbarMode*)vMode;
-
-- (WebCore::ScrollbarMode)horizontalScrollingMode;
-- (WebCore::ScrollbarMode)verticalScrollingMode;
-
-- (void)setHorizontalScrollingMode:(WebCore::ScrollbarMode)mode andLock:(BOOL)lock;
-- (void)setVerticalScrollingMode:(WebCore::ScrollbarMode)mode andLock:(BOOL)lock;
-
-- (void)setHorizontalScrollingModeLocked:(BOOL)locked;
-- (void)setVerticalScrollingModeLocked:(BOOL)locked;
-- (void)setScrollingModesLocked:(BOOL)mode;
-
-- (BOOL)horizontalScrollingModeLocked;
-- (BOOL)verticalScrollingModeLocked;
-
-- (void)updateScrollers;
-- (void)setSuppressLayout:(BOOL)flag;
-
-// Calculate the appropriate frame for the contentView based on allowsScrollersToOverlapContent.
-- (NSRect)contentViewFrame;
-
-// Returns YES if we're currently in the middle of programmatically moving the
-// scrollbar.
-// NOTE: As opposed to other places in the code, programmatically moving the
-// scrollers from inside this class should not fire JS events.
-- (BOOL)inProgrammaticScroll;
-@end
diff --git a/Source/WebKit/mac/WebView/WebEditingDelegate.h b/Source/WebKit/mac/WebView/WebEditingDelegate.h
deleted file mode 100644
index 5de9ef059..000000000
--- a/Source/WebKit/mac/WebView/WebEditingDelegate.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2004, 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-@class DOMCSSStyleDeclaration;
-@class DOMRange;
-@class WebView;
-
-typedef enum {
- WebViewInsertActionTyped,
- WebViewInsertActionPasted,
- WebViewInsertActionDropped,
-} WebViewInsertAction;
-
-@interface NSObject (WebViewEditingDelegate)
-- (BOOL)webView:(WebView *)webView shouldBeginEditingInDOMRange:(DOMRange *)range;
-- (BOOL)webView:(WebView *)webView shouldEndEditingInDOMRange:(DOMRange *)range;
-- (BOOL)webView:(WebView *)webView shouldInsertNode:(DOMNode *)node replacingDOMRange:(DOMRange *)range givenAction:(WebViewInsertAction)action;
-- (BOOL)webView:(WebView *)webView shouldInsertText:(NSString *)text replacingDOMRange:(DOMRange *)range givenAction:(WebViewInsertAction)action;
-- (BOOL)webView:(WebView *)webView shouldDeleteDOMRange:(DOMRange *)range;
-- (BOOL)webView:(WebView *)webView shouldChangeSelectedDOMRange:(DOMRange *)currentRange toDOMRange:(DOMRange *)proposedRange affinity:(NSSelectionAffinity)selectionAffinity stillSelecting:(BOOL)flag;
-- (BOOL)webView:(WebView *)webView shouldApplyStyle:(DOMCSSStyleDeclaration *)style toElementsInDOMRange:(DOMRange *)range;
-- (BOOL)webView:(WebView *)webView shouldChangeTypingStyle:(DOMCSSStyleDeclaration *)currentStyle toStyle:(DOMCSSStyleDeclaration *)proposedStyle;
-- (BOOL)webView:(WebView *)webView doCommandBySelector:(SEL)selector;
-- (void)webViewDidBeginEditing:(NSNotification *)notification;
-- (void)webViewDidChange:(NSNotification *)notification;
-- (void)webViewDidEndEditing:(NSNotification *)notification;
-- (void)webViewDidChangeTypingStyle:(NSNotification *)notification;
-- (void)webViewDidChangeSelection:(NSNotification *)notification;
-- (NSUndoManager *)undoManagerForWebView:(WebView *)webView;
-@end
diff --git a/Source/WebKit/mac/WebView/WebEditingDelegatePrivate.h b/Source/WebKit/mac/WebView/WebEditingDelegatePrivate.h
deleted file mode 100644
index 1116de380..000000000
--- a/Source/WebKit/mac/WebView/WebEditingDelegatePrivate.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebEditingDelegate.h>
-
-@class DOMHTMLElement;
-
-@interface NSObject (WebViewEditingDelegatePrivate)
-- (BOOL)webView:(WebView *)webView shouldShowDeleteInterfaceForElement:(DOMHTMLElement *)element;
-- (void)webView:(WebView *)webView didWriteSelectionToPasteboard:(NSPasteboard *)pasteboard;
-- (void)webView:(WebView *)webView didSetSelectionTypesForPasteboard:(NSPasteboard *)pasteboard;
-- (BOOL)webView:(WebView *)webView shouldMoveRangeAfterDelete:(DOMRange *)range replacingRange:(DOMRange *)rangeToBeReplaced;
-@end
diff --git a/Source/WebKit/mac/WebView/WebFormDelegate.h b/Source/WebKit/mac/WebView/WebFormDelegate.h
deleted file mode 100644
index b7496e954..000000000
--- a/Source/WebKit/mac/WebView/WebFormDelegate.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2003, 2005, 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <AppKit/AppKit.h>
-
-@class DOMElement;
-@class DOMHTMLFormElement;
-@class DOMHTMLInputElement;
-@class DOMHTMLTextAreaElement;
-@class WebFrame;
-
-/*!
- @protocol WebFormSubmissionListener
-*/
-@protocol WebFormSubmissionListener <NSObject>
-- (void)continue;
-@end
-
-/*!
- @protocol WebFormDelegate
-*/
-@protocol WebFormDelegate <NSObject>
-
-// Various methods send by controls that edit text to their delegates, which are all
-// analogous to similar methods in AppKit/NSControl.h.
-// These methods are forwarded from widgets used in forms to the WebFormDelegate.
-
-- (void)textFieldDidBeginEditing:(DOMHTMLInputElement *)element inFrame:(WebFrame *)frame;
-- (void)textFieldDidEndEditing:(DOMHTMLInputElement *)element inFrame:(WebFrame *)frame;
-- (void)textDidChangeInTextField:(DOMHTMLInputElement *)element inFrame:(WebFrame *)frame;
-- (void)textDidChangeInTextArea:(DOMHTMLTextAreaElement *)element inFrame:(WebFrame *)frame;
-- (void)didFocusTextField:(DOMHTMLInputElement *)element inFrame:(WebFrame *)frame;
-
-- (BOOL)textField:(DOMHTMLInputElement *)element doCommandBySelector:(SEL)commandSelector inFrame:(WebFrame *)frame;
-- (BOOL)textField:(DOMHTMLInputElement *)element shouldHandleEvent:(NSEvent *)event inFrame:(WebFrame *)frame;
-
-// Sent when a form is just about to be submitted (before the load is started)
-// listener must be sent continue when the delegate is done.
-- (void)frame:(WebFrame *)frame sourceFrame:(WebFrame *)sourceFrame willSubmitForm:(DOMElement *)form
- withValues:(NSDictionary *)values submissionListener:(id <WebFormSubmissionListener>)listener;
-
-- (void)willSendSubmitEventToForm:(DOMHTMLFormElement *)element inFrame:(WebFrame *)sourceFrame withValues:(NSDictionary *)values;
-
-@end
-
-/*!
- @class WebFormDelegate
- @discussion The WebFormDelegate class responds to all WebFormDelegate protocol
- methods by doing nothing. It's provided for the convenience of clients who only want
- to implement some of the above methods and ignore others.
-*/
-@interface WebFormDelegate : NSObject <WebFormDelegate>
-@end
diff --git a/Source/WebKit/mac/WebView/WebFormDelegate.m b/Source/WebKit/mac/WebView/WebFormDelegate.m
deleted file mode 100644
index 8c4cedb6b..000000000
--- a/Source/WebKit/mac/WebView/WebFormDelegate.m
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2005, 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebFormDelegatePrivate.h"
-
-// FIXME: This could become an informal protocol; we switched all the API
-// delegates to be informal.
-
-@implementation WebFormDelegate
-
-static WebFormDelegate *sharedDelegate = nil;
-
-// Return a object with NOP implementations of the protocol's methods
-// Note this feature relies on our default delegate being stateless
-+ (WebFormDelegate *)_sharedWebFormDelegate
-{
- if (!sharedDelegate)
- sharedDelegate = [[WebFormDelegate alloc] init];
- return sharedDelegate;
-}
-
-- (void)textFieldDidBeginEditing:(DOMHTMLInputElement *)element inFrame:(WebFrame *)frame
-{
-}
-
-- (void)textFieldDidEndEditing:(DOMHTMLInputElement *)element inFrame:(WebFrame *)frame
-{
-}
-
-- (void)textDidChangeInTextField:(DOMHTMLInputElement *)element inFrame:(WebFrame *)frame
-{
-}
-
-- (void)textDidChangeInTextArea:(DOMHTMLTextAreaElement *)element inFrame:(WebFrame *)frame
-{
-}
-
-- (void)didFocusTextField:(DOMHTMLInputElement *)element inFrame:(WebFrame *)frame
-{
-}
-
-- (BOOL)textField:(DOMHTMLInputElement *)element doCommandBySelector:(SEL)commandSelector inFrame:(WebFrame *)frame
-{
- return NO;
-}
-
-- (BOOL)textField:(DOMHTMLInputElement *)element shouldHandleEvent:(NSEvent *)event inFrame:(WebFrame *)frame
-{
- return NO;
-}
-
-- (void)frame:(WebFrame *)frame sourceFrame:(WebFrame *)sourceFrame willSubmitForm:(DOMElement *)form
- withValues:(NSDictionary *)values submissionListener:(id <WebFormSubmissionListener>)listener
-{
- [listener continue];
-}
-
-- (void)willSendSubmitEventToForm:(DOMHTMLFormElement *)element inFrame:(WebFrame *)sourceFrame withValues:(NSDictionary *)values
-{
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebFormDelegatePrivate.h b/Source/WebKit/mac/WebView/WebFormDelegatePrivate.h
deleted file mode 100644
index d566e8985..000000000
--- a/Source/WebKit/mac/WebView/WebFormDelegatePrivate.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebFormDelegate.h"
-
-@interface WebFormDelegate (WebPrivate)
-+ (WebFormDelegate *)_sharedWebFormDelegate;
-@end
diff --git a/Source/WebKit/mac/WebView/WebFrame.h b/Source/WebKit/mac/WebView/WebFrame.h
deleted file mode 100644
index d4198903f..000000000
--- a/Source/WebKit/mac/WebView/WebFrame.h
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Copyright (C) 2003, 2004, 2005, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-#import <JavaScriptCore/JSBase.h>
-
-@class DOMDocument;
-@class DOMHTMLElement;
-@class JSContext;
-@class NSURLRequest;
-@class WebArchive;
-@class WebDataSource;
-@class WebFramePrivate;
-@class WebFrameView;
-@class WebScriptObject;
-@class WebView;
-
-/*!
- @class WebFrame
- @discussion Every web page is represented by at least one WebFrame. A WebFrame
- has a WebFrameView and a WebDataSource.
-*/
-@interface WebFrame : NSObject
-{
-@private
- WebFramePrivate *_private;
-}
-
-/*!
- @method initWithName:webFrameView:webView:
- @abstract The designated initializer of WebFrame.
- @discussion WebFrames are normally created for you by the WebView. You should
- not need to invoke this method directly.
- @param name The name of the frame.
- @param view The WebFrameView for the frame.
- @param webView The WebView that manages the frame.
- @result Returns an initialized WebFrame.
-*/
-- (id)initWithName:(NSString *)name webFrameView:(WebFrameView *)view webView:(WebView *)webView;
-
-/*!
- @method name
- @result The frame name.
-*/
-- (NSString *)name;
-
-/*!
- @method webView
- @result Returns the WebView for the document that includes this frame.
-*/
-- (WebView *)webView;
-
-/*!
- @method frameView
- @result The WebFrameView for this frame.
-*/
-- (WebFrameView *)frameView;
-
-/*!
- @method DOMDocument
- @abstract Returns the DOM document of the frame.
- @description Returns nil if the frame does not contain a DOM document such as a standalone image.
-*/
-- (DOMDocument *)DOMDocument;
-
-/*!
- @method frameElement
- @abstract Returns the frame element of the frame.
- @description The class of the result is either DOMHTMLFrameElement, DOMHTMLIFrameElement or DOMHTMLObjectElement.
- Returns nil if the frame is the main frame since there is no frame element for the frame in this case.
-*/
-- (DOMHTMLElement *)frameElement;
-
-/*!
- @method loadRequest:
- @param request The web request to load.
-*/
-- (void)loadRequest:(NSURLRequest *)request;
-
-/*!
- @method loadData:MIMEType:textEncodingName:baseURL:
- @param data The data to use for the main page of the document.
- @param MIMEType The MIME type of the data.
- @param encodingName The encoding of the data.
- @param URL The base URL to apply to relative URLs within the document.
-*/
-- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)URL;
-
-/*!
- @method loadHTMLString:baseURL:
- @param string The string to use for the main page of the document.
- @param URL The base URL to apply to relative URLs within the document.
-*/
-- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)URL;
-
-/*!
- @method loadAlternateHTMLString:baseURL:forUnreachableURL:
- @abstract Loads a page to display as a substitute for a URL that could not be reached.
- @discussion This allows clients to display page-loading errors in the webview itself.
- This is typically called while processing the WebFrameLoadDelegate method
- -webView:didFailProvisionalLoadWithError:forFrame: or one of the the WebPolicyDelegate methods
- -webView:decidePolicyForMIMEType:request:frame:decisionListener: or
- -webView:unableToImplementPolicyWithError:frame:. If it is called from within one of those
- three delegate methods then the back/forward list will be maintained appropriately.
- @param string The string to use for the main page of the document.
- @param baseURL The baseURL to apply to relative URLs within the document.
- @param unreachableURL The URL for which this page will serve as alternate content.
-*/
-- (void)loadAlternateHTMLString:(NSString *)string baseURL:(NSURL *)baseURL forUnreachableURL:(NSURL *)unreachableURL;
-
-/*!
- @method loadArchive:
- @abstract Causes WebFrame to load a WebArchive.
- @param archive The archive to be loaded.
-*/
-- (void)loadArchive:(WebArchive *)archive;
-
-/*!
- @method dataSource
- @discussion Returns the committed data source. Will return nil if the
- provisional data source hasn't yet been loaded.
- @result The datasource for this frame.
-*/
-- (WebDataSource *)dataSource;
-
-/*!
- @method provisionalDataSource
- @discussion Will return the provisional data source. The provisional data source will
- be nil if no data source has been set on the frame, or the data source
- has successfully transitioned to the committed data source.
- @result The provisional datasource of this frame.
-*/
-- (WebDataSource *)provisionalDataSource;
-
-/*!
- @method stopLoading
- @discussion Stop any pending loads on the frame's data source,
- and its children.
-*/
-- (void)stopLoading;
-
-/*!
- @method reload
- @discussion Performs HTTP/1.1 end-to-end revalidation using cache-validating conditionals if possible.
-*/
-- (void)reload;
-
-/*!
- @method reloadFromOrigin
- @discussion Performs HTTP/1.1 end-to-end reload.
-*/
-- (void)reloadFromOrigin;
-
-/*!
- @method findFrameNamed:
- @discussion This method returns a frame with the given name. findFrameNamed returns self
- for _self and _current, the parent frame for _parent and the main frame for _top.
- findFrameNamed returns self for _parent and _top if the receiver is the mainFrame.
- findFrameNamed first searches from the current frame to all descending frames then the
- rest of the frames in the WebView. If still not found, findFrameNamed searches the
- frames of the other WebViews.
- @param name The name of the frame to find.
- @result The frame matching the provided name. nil if the frame is not found.
-*/
-- (WebFrame *)findFrameNamed:(NSString *)name;
-
-/*!
- @method parentFrame
- @result The frame containing this frame, or nil if this is a top level frame.
-*/
-- (WebFrame *)parentFrame;
-
-/*!
- @method childFrames
- @discussion The frames in the array are associated with a frame set or iframe.
- @result Returns an array of WebFrame.
-*/
-- (NSArray *)childFrames;
-
-/*!
- @method windowObject
- @result The WebScriptObject representing the frame's JavaScript window object.
-*/
-- (WebScriptObject *)windowObject;
-
-/*!
- @method globalContext
- @result The frame's global JavaScript execution context. Use this method to
- bridge between the WebKit and JavaScriptCore APIs.
-*/
-- (JSGlobalContextRef)globalContext;
-
-#if JSC_OBJC_API_ENABLED
-/*!
- @method javaScriptContext
- @result The frame's global JavaScript execution context. Use this method to
- bridge between the WebKit and Objective-C JavaScriptCore API.
-*/
-- (JSContext *)javaScriptContext;
-#endif // JSC_OBJC_API_ENABLED
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebFrame.mm b/Source/WebKit/mac/WebView/WebFrame.mm
deleted file mode 100644
index d0827ba05..000000000
--- a/Source/WebKit/mac/WebView/WebFrame.mm
+++ /dev/null
@@ -1,1511 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebFrameInternal.h"
-
-#import "DOMCSSStyleDeclarationInternal.h"
-#import "DOMDocumentFragmentInternal.h"
-#import "DOMDocumentInternal.h"
-#import "DOMElementInternal.h"
-#import "DOMHTMLElementInternal.h"
-#import "DOMNodeInternal.h"
-#import "DOMRangeInternal.h"
-#import "WebArchiveInternal.h"
-#import "WebChromeClient.h"
-#import "WebDataSourceInternal.h"
-#import "WebDocumentLoaderMac.h"
-#import "WebDynamicScrollBarsView.h"
-#import "WebElementDictionary.h"
-#import "WebFrameLoaderClient.h"
-#import "WebFrameViewInternal.h"
-#import "WebHTMLView.h"
-#import "WebHTMLViewInternal.h"
-#import "WebKitStatisticsPrivate.h"
-#import "WebKitVersionChecks.h"
-#import "WebNSObjectExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebScriptDebugger.h"
-#import "WebScriptWorldInternal.h"
-#import "WebViewInternal.h"
-#import <JavaScriptCore/APICast.h>
-#import <JavaScriptCore/JSContextInternal.h>
-#import <WebCore/AXObjectCache.h>
-#import <WebCore/AccessibilityObject.h>
-#import <WebCore/AnimationController.h>
-#import <WebCore/CSSStyleDeclaration.h>
-#import <WebCore/CachedResourceLoader.h>
-#import <WebCore/Chrome.h>
-#import <WebCore/ColorMac.h>
-#import <WebCore/DOMImplementation.h>
-#import <WebCore/DatabaseManager.h>
-#import <WebCore/DocumentFragment.h>
-#import <WebCore/DocumentLoader.h>
-#import <WebCore/DocumentMarkerController.h>
-#import <WebCore/Editor.h>
-#import <WebCore/EventHandler.h>
-#import <WebCore/EventNames.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoadRequest.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/FrameLoaderStateMachine.h>
-#import <WebCore/FrameTree.h>
-#import <WebCore/GraphicsContext.h>
-#import <WebCore/HTMLFrameOwnerElement.h>
-#import <WebCore/HTMLNames.h>
-#import <WebCore/HistoryItem.h>
-#import <WebCore/HitTestResult.h>
-#import <WebCore/JSNode.h>
-#import <WebCore/LegacyWebArchive.h>
-#import <WebCore/Page.h>
-#import <WebCore/PlatformEventFactoryMac.h>
-#import <WebCore/PluginData.h>
-#import <WebCore/PrintContext.h>
-#import <WebCore/RenderPart.h>
-#import <WebCore/RenderView.h>
-#import <WebCore/RuntimeApplicationChecks.h>
-#import <WebCore/ScriptController.h>
-#import <WebCore/ScriptValue.h>
-#import <WebCore/SecurityOrigin.h>
-#import <WebCore/SmartReplace.h>
-#import <WebCore/StylePropertySet.h>
-#import <WebCore/TextIterator.h>
-#import <WebCore/ThreadCheck.h>
-#import <WebCore/VisibleUnits.h>
-#import <WebCore/htmlediting.h>
-#import <WebCore/markup.h>
-#import <WebKitSystemInterface.h>
-#import <runtime/JSLock.h>
-#import <runtime/JSObject.h>
-#import <runtime/JSCJSValue.h>
-#import <wtf/CurrentTime.h>
-
-using namespace WebCore;
-using namespace HTMLNames;
-
-using JSC::JSGlobalObject;
-using JSC::JSLock;
-
-/*
-Here is the current behavior matrix for four types of navigations:
-
-Standard Nav:
-
- Restore form state: YES
- Restore scroll and focus state: YES
- Cache policy: NSURLRequestUseProtocolCachePolicy
- Add to back/forward list: YES
-
-Back/Forward:
-
- Restore form state: YES
- Restore scroll and focus state: YES
- Cache policy: NSURLRequestReturnCacheDataElseLoad
- Add to back/forward list: NO
-
-Reload (meaning only the reload button):
-
- Restore form state: NO
- Restore scroll and focus state: YES
- Cache policy: NSURLRequestReloadIgnoringCacheData
- Add to back/forward list: NO
-
-Repeat load of the same URL (by any other means of navigation other than the reload button, including hitting return in the location field):
-
- Restore form state: NO
- Restore scroll and focus state: NO, reset to initial conditions
- Cache policy: NSURLRequestReloadIgnoringCacheData
- Add to back/forward list: NO
-*/
-
-NSString *WebPageCacheEntryDateKey = @"WebPageCacheEntryDateKey";
-NSString *WebPageCacheDataSourceKey = @"WebPageCacheDataSourceKey";
-NSString *WebPageCacheDocumentViewKey = @"WebPageCacheDocumentViewKey";
-
-NSString *WebFrameMainDocumentError = @"WebFrameMainDocumentErrorKey";
-NSString *WebFrameHasPlugins = @"WebFrameHasPluginsKey";
-NSString *WebFrameHasUnloadListener = @"WebFrameHasUnloadListenerKey";
-NSString *WebFrameUsesDatabases = @"WebFrameUsesDatabasesKey";
-NSString *WebFrameUsesGeolocation = @"WebFrameUsesGeolocationKey";
-NSString *WebFrameUsesApplicationCache = @"WebFrameUsesApplicationCacheKey";
-NSString *WebFrameCanSuspendActiveDOMObjects = @"WebFrameCanSuspendActiveDOMObjectsKey";
-
-// FIXME: Remove when this key becomes publicly defined
-NSString *NSAccessibilityEnhancedUserInterfaceAttribute = @"AXEnhancedUserInterface";
-
-@implementation WebFramePrivate
-
-- (void)dealloc
-{
- [webFrameView release];
-
- delete scriptDebugger;
-
- [super dealloc];
-}
-
-- (void)finalize
-{
- delete scriptDebugger;
-
- [super finalize];
-}
-
-- (void)setWebFrameView:(WebFrameView *)v
-{
- [v retain];
- [webFrameView release];
- webFrameView = v;
-}
-
-@end
-
-EditableLinkBehavior core(WebKitEditableLinkBehavior editableLinkBehavior)
-{
- switch (editableLinkBehavior) {
- case WebKitEditableLinkDefaultBehavior:
- return EditableLinkDefaultBehavior;
- case WebKitEditableLinkAlwaysLive:
- return EditableLinkAlwaysLive;
- case WebKitEditableLinkOnlyLiveWithShiftKey:
- return EditableLinkOnlyLiveWithShiftKey;
- case WebKitEditableLinkLiveWhenNotFocused:
- return EditableLinkLiveWhenNotFocused;
- case WebKitEditableLinkNeverLive:
- return EditableLinkNeverLive;
- }
- ASSERT_NOT_REACHED();
- return EditableLinkDefaultBehavior;
-}
-
-TextDirectionSubmenuInclusionBehavior core(WebTextDirectionSubmenuInclusionBehavior behavior)
-{
- switch (behavior) {
- case WebTextDirectionSubmenuNeverIncluded:
- return TextDirectionSubmenuNeverIncluded;
- case WebTextDirectionSubmenuAutomaticallyIncluded:
- return TextDirectionSubmenuAutomaticallyIncluded;
- case WebTextDirectionSubmenuAlwaysIncluded:
- return TextDirectionSubmenuAlwaysIncluded;
- }
- ASSERT_NOT_REACHED();
- return TextDirectionSubmenuNeverIncluded;
-}
-
-@implementation WebFrame (WebInternal)
-
-Frame* core(WebFrame *frame)
-{
- return frame ? frame->_private->coreFrame : 0;
-}
-
-WebFrame *kit(Frame* frame)
-{
- if (!frame)
- return nil;
-
- FrameLoaderClient* frameLoaderClient = frame->loader()->client();
- if (frameLoaderClient->isEmptyFrameLoaderClient())
- return nil;
-
- return static_cast<WebFrameLoaderClient*>(frameLoaderClient)->webFrame();
-}
-
-Page* core(WebView *webView)
-{
- return [webView page];
-}
-
-WebView *kit(Page* page)
-{
- if (!page)
- return nil;
-
- ChromeClient* chromeClient = page->chrome().client();
- if (chromeClient->isEmptyChromeClient())
- return nil;
-
- return static_cast<WebChromeClient*>(chromeClient)->webView();
-}
-
-WebView *getWebView(WebFrame *webFrame)
-{
- Frame* coreFrame = core(webFrame);
- if (!coreFrame)
- return nil;
- return kit(coreFrame->page());
-}
-
-+ (PassRefPtr<Frame>)_createFrameWithPage:(Page*)page frameName:(const String&)name frameView:(WebFrameView *)frameView ownerElement:(HTMLFrameOwnerElement*)ownerElement
-{
- WebView *webView = kit(page);
-
- WebFrame *frame = [[self alloc] _initWithWebFrameView:frameView webView:webView];
- RefPtr<Frame> coreFrame = Frame::create(page, ownerElement, new WebFrameLoaderClient(frame));
- [frame release];
- frame->_private->coreFrame = coreFrame.get();
-
- coreFrame->tree()->setName(name);
- if (ownerElement) {
- ASSERT(ownerElement->document()->frame());
- ownerElement->document()->frame()->tree()->appendChild(coreFrame.get());
- }
-
- coreFrame->init();
-
- [webView _setZoomMultiplier:[webView _realZoomMultiplier] isTextOnly:[webView _realZoomMultiplierIsTextOnly]];
-
- return coreFrame.release();
-}
-
-+ (void)_createMainFrameWithPage:(Page*)page frameName:(const String&)name frameView:(WebFrameView *)frameView
-{
- [self _createFrameWithPage:page frameName:name frameView:frameView ownerElement:0];
-}
-
-+ (PassRefPtr<WebCore::Frame>)_createSubframeWithOwnerElement:(HTMLFrameOwnerElement*)ownerElement frameName:(const String&)name frameView:(WebFrameView *)frameView
-{
- return [self _createFrameWithPage:ownerElement->document()->frame()->page() frameName:name frameView:frameView ownerElement:ownerElement];
-}
-
-- (BOOL)_isIncludedInWebKitStatistics
-{
- return _private && _private->includedInWebKitStatistics;
-}
-
-- (void)_attachScriptDebugger
-{
- ScriptController* scriptController = _private->coreFrame->script();
-
- // Calling ScriptController::globalObject() would create a window shell, and dispatch corresponding callbacks, which may be premature
- // if the script debugger is attached before a document is created. These calls use the debuggerWorld(), we will need to pass a world
- // to be able to debug isolated worlds.
- if (!scriptController->existingWindowShell(debuggerWorld()))
- return;
-
- JSGlobalObject* globalObject = scriptController->globalObject(debuggerWorld());
- if (!globalObject)
- return;
-
- if (_private->scriptDebugger) {
- ASSERT(_private->scriptDebugger == globalObject->debugger());
- return;
- }
-
- _private->scriptDebugger = new WebScriptDebugger(globalObject);
-}
-
-- (void)_detachScriptDebugger
-{
- if (!_private->scriptDebugger)
- return;
-
- delete _private->scriptDebugger;
- _private->scriptDebugger = 0;
-}
-
-- (id)_initWithWebFrameView:(WebFrameView *)fv webView:(WebView *)v
-{
- self = [super init];
- if (!self)
- return nil;
-
- _private = [[WebFramePrivate alloc] init];
-
- // Set includedInWebKitStatistics before calling WebFrameView _setWebFrame, since
- // it calls WebFrame _isIncludedInWebKitStatistics.
- if ((_private->includedInWebKitStatistics = [[v class] shouldIncludeInWebKitStatistics]))
- ++WebFrameCount;
-
- if (fv) {
- [_private setWebFrameView:fv];
- [fv _setWebFrame:self];
- }
-
- _private->shouldCreateRenderers = YES;
-
- return self;
-}
-
-- (void)_clearCoreFrame
-{
- _private->coreFrame = 0;
-}
-
-- (void)_updateBackgroundAndUpdatesWhileOffscreen
-{
- WebView *webView = getWebView(self);
- BOOL drawsBackground = [webView drawsBackground];
- NSColor *backgroundColor = [webView backgroundColor];
-
- Frame* coreFrame = _private->coreFrame;
- for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame)) {
- // Don't call setDrawsBackground:YES here because it may be NO because of a load
- // in progress; WebFrameLoaderClient keeps it set to NO during the load process.
- WebFrame *webFrame = kit(frame);
- if (!drawsBackground)
- [[[webFrame frameView] _scrollView] setDrawsBackground:NO];
- [[[webFrame frameView] _scrollView] setBackgroundColor:backgroundColor];
-
- if (FrameView* view = frame->view()) {
- view->setTransparent(!drawsBackground);
- view->setBaseBackgroundColor(colorFromNSColor([backgroundColor colorUsingColorSpaceName:NSDeviceRGBColorSpace]));
- view->setShouldUpdateWhileOffscreen([webView shouldUpdateWhileOffscreen]);
- }
- }
-}
-
-- (void)_setInternalLoadDelegate:(id)internalLoadDelegate
-{
- _private->internalLoadDelegate = internalLoadDelegate;
-}
-
-- (id)_internalLoadDelegate
-{
- return _private->internalLoadDelegate;
-}
-
-- (void)_unmarkAllBadGrammar
-{
- Frame* coreFrame = _private->coreFrame;
- for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame)) {
- if (Document* document = frame->document())
- document->markers()->removeMarkers(DocumentMarker::Grammar);
- }
-}
-
-- (void)_unmarkAllMisspellings
-{
- Frame* coreFrame = _private->coreFrame;
- for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame)) {
- if (Document* document = frame->document())
- document->markers()->removeMarkers(DocumentMarker::Spelling);
- }
-}
-
-- (BOOL)_hasSelection
-{
- id documentView = [_private->webFrameView documentView];
-
- // optimization for common case to avoid creating potentially large selection string
- if ([documentView isKindOfClass:[WebHTMLView class]])
- if (Frame* coreFrame = _private->coreFrame)
- return coreFrame->selection()->isRange();
-
- if ([documentView conformsToProtocol:@protocol(WebDocumentText)])
- return [[documentView selectedString] length] > 0;
-
- return NO;
-}
-
-- (void)_clearSelection
-{
- id documentView = [_private->webFrameView documentView];
- if ([documentView conformsToProtocol:@protocol(WebDocumentText)])
- [documentView deselectAll];
-}
-
-#if !ASSERT_DISABLED
-- (BOOL)_atMostOneFrameHasSelection
-{
- // FIXME: 4186050 is one known case that makes this debug check fail.
- BOOL found = NO;
- Frame* coreFrame = _private->coreFrame;
- for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame))
- if ([kit(frame) _hasSelection]) {
- if (found)
- return NO;
- found = YES;
- }
- return YES;
-}
-#endif
-
-- (WebFrame *)_findFrameWithSelection
-{
- Frame* coreFrame = _private->coreFrame;
- for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame)) {
- WebFrame *webFrame = kit(frame);
- if ([webFrame _hasSelection])
- return webFrame;
- }
- return nil;
-}
-
-- (void)_clearSelectionInOtherFrames
-{
- // We rely on WebDocumentSelection protocol implementors to call this method when they become first
- // responder. It would be nicer to just notice first responder changes here instead, but there's no
- // notification sent when the first responder changes in general (Radar 2573089).
- WebFrame *frameWithSelection = [[getWebView(self) mainFrame] _findFrameWithSelection];
- if (frameWithSelection != self)
- [frameWithSelection _clearSelection];
-
- // While we're in the general area of selection and frames, check that there is only one now.
- ASSERT([[getWebView(self) mainFrame] _atMostOneFrameHasSelection]);
-}
-
-static inline WebDataSource *dataSource(DocumentLoader* loader)
-{
- return loader ? static_cast<WebDocumentLoaderMac*>(loader)->dataSource() : nil;
-}
-
-- (WebDataSource *)_dataSource
-{
- return dataSource(_private->coreFrame->loader()->documentLoader());
-}
-
-- (NSString *)_stringWithDocumentTypeStringAndMarkupString:(NSString *)markupString
-{
- return String(_private->coreFrame->documentTypeString() + String(markupString));
-}
-
-- (NSArray *)_nodesFromList:(Vector<Node*> *)nodesVector
-{
- size_t size = nodesVector->size();
- NSMutableArray *nodes = [NSMutableArray arrayWithCapacity:size];
- for (size_t i = 0; i < size; ++i)
- [nodes addObject:kit((*nodesVector)[i])];
- return nodes;
-}
-
-- (NSString *)_markupStringFromRange:(DOMRange *)range nodes:(NSArray **)nodes
-{
- // FIXME: This is always "for interchange". Is that right? See the previous method.
- Vector<Node*> nodeList;
- NSString *markupString = createMarkup(core(range), nodes ? &nodeList : 0, AnnotateForInterchange);
- if (nodes)
- *nodes = [self _nodesFromList:&nodeList];
-
- return [self _stringWithDocumentTypeStringAndMarkupString:markupString];
-}
-
-- (NSString *)_selectedString
-{
- return _private->coreFrame->displayStringModifiedByEncoding(_private->coreFrame->editor().selectedText());
-}
-
-- (NSString *)_stringForRange:(DOMRange *)range
-{
- return plainText(core(range), TextIteratorDefaultBehavior, true);
-}
-
-- (BOOL)_shouldFlattenCompositingLayers:(CGContextRef)context
-{
- // -currentContextDrawingToScreen returns YES for bitmap contexts.
- BOOL isPrinting = ![NSGraphicsContext currentContextDrawingToScreen];
- if (isPrinting)
- return YES;
-
- if (!WKCGContextIsBitmapContext(context))
- return NO;
-
- // If we're drawing into a bitmap, we might be snapshotting, or drawing into a layer-backed view.
- id documentView = [_private->webFrameView documentView];
- if ([documentView isKindOfClass:[WebHTMLView class]] && [(WebHTMLView *)documentView _web_isDrawingIntoLayer])
- return NO;
-
- return [getWebView(self) _includesFlattenedCompositingLayersWhenDrawingToBitmap];
-}
-
-- (void)_drawRect:(NSRect)rect contentsOnly:(BOOL)contentsOnly
-{
- ASSERT([[NSGraphicsContext currentContext] isFlipped]);
-
- CGContextRef ctx = static_cast<CGContextRef>([[NSGraphicsContext currentContext] graphicsPort]);
- GraphicsContext context(ctx);
-
- FrameView* view = _private->coreFrame->view();
-
- bool shouldFlatten = false;
- if (Frame* parentFrame = _private->coreFrame->tree()->parent()) {
- // For subframes, we need to inherit the paint behavior from our parent
- FrameView* parentView = parentFrame ? parentFrame->view() : 0;
- if (parentView)
- shouldFlatten = parentView->paintBehavior() & PaintBehaviorFlattenCompositingLayers;
- } else
- shouldFlatten = [self _shouldFlattenCompositingLayers:ctx];
-
- PaintBehavior oldBehavior = PaintBehaviorNormal;
- if (shouldFlatten) {
- oldBehavior = view->paintBehavior();
- view->setPaintBehavior(oldBehavior | PaintBehaviorFlattenCompositingLayers);
- }
-
- if (contentsOnly)
- view->paintContents(&context, enclosingIntRect(rect));
- else
- view->paint(&context, enclosingIntRect(rect));
-
- if (shouldFlatten)
- view->setPaintBehavior(oldBehavior);
-}
-
-- (BOOL)_getVisibleRect:(NSRect*)rect
-{
- ASSERT_ARG(rect, rect);
- if (RenderPart* ownerRenderer = _private->coreFrame->ownerRenderer()) {
- if (ownerRenderer->needsLayout())
- return NO;
- *rect = ownerRenderer->pixelSnappedAbsoluteClippedOverflowRect();
- return YES;
- }
-
- return NO;
-}
-
-- (NSString *)_stringByEvaluatingJavaScriptFromString:(NSString *)string
-{
- return [self _stringByEvaluatingJavaScriptFromString:string forceUserGesture:true];
-}
-
-- (NSString *)_stringByEvaluatingJavaScriptFromString:(NSString *)string forceUserGesture:(BOOL)forceUserGesture
-{
- if (!string)
- return @"";
-
- ASSERT(_private->coreFrame->document());
- RetainPtr<WebFrame> protect(self); // Executing arbitrary JavaScript can destroy the frame.
-
- JSC::JSValue result = _private->coreFrame->script()->executeScript(string, forceUserGesture).jsValue();
-
- if (!_private->coreFrame) // In case the script removed our frame from the page.
- return @"";
-
- // 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()))
- return @"";
-
- JSC::ExecState* exec = _private->coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec();
- JSC::JSLockHolder lock(exec);
- return result.toWTFString(exec);
-}
-
-- (NSRect)_caretRectAtPosition:(const Position&)pos affinity:(NSSelectionAffinity)affinity
-{
- VisiblePosition visiblePosition(pos, static_cast<EAffinity>(affinity));
- return visiblePosition.absoluteCaretBounds();
-}
-
-- (NSRect)_firstRectForDOMRange:(DOMRange *)range
-{
- return _private->coreFrame->editor().firstRectForRange(core(range));
-}
-
-- (void)_scrollDOMRangeToVisible:(DOMRange *)range
-{
- NSRect rangeRect = [self _firstRectForDOMRange:range];
- Node *startNode = core([range startContainer]);
-
- if (startNode && startNode->renderer())
- startNode->renderer()->scrollRectToVisible(enclosingIntRect(rangeRect), ScrollAlignment::alignToEdgeIfNeeded, ScrollAlignment::alignToEdgeIfNeeded);
-}
-
-- (BOOL)_needsLayout
-{
- return _private->coreFrame->view() ? _private->coreFrame->view()->needsLayout() : false;
-}
-
-- (DOMRange *)_rangeByAlteringCurrentSelection:(FrameSelection::EAlteration)alteration direction:(SelectionDirection)direction granularity:(TextGranularity)granularity
-{
- if (_private->coreFrame->selection()->isNone())
- return nil;
-
- FrameSelection selection;
- selection.setSelection(_private->coreFrame->selection()->selection());
- selection.modify(alteration, direction, granularity);
- return kit(selection.toNormalizedRange().get());
-}
-
-- (TextGranularity)_selectionGranularity
-{
- return _private->coreFrame->selection()->granularity();
-}
-
-- (NSRange)_convertToNSRange:(Range *)range
-{
- if (!range)
- return NSMakeRange(NSNotFound, 0);
-
- size_t location;
- size_t length;
- if (!TextIterator::getLocationAndLengthFromRange(_private->coreFrame->selection()->rootEditableElementOrDocumentElement(), range, location, length))
- return NSMakeRange(NSNotFound, 0);
-
- return NSMakeRange(location, length);
-}
-
-- (PassRefPtr<Range>)_convertToDOMRange:(NSRange)nsrange
-{
- if (nsrange.location > INT_MAX)
- return 0;
- if (nsrange.length > INT_MAX || nsrange.location + nsrange.length > INT_MAX)
- nsrange.length = INT_MAX - nsrange.location;
-
- // our critical assumption is that we are only called by input methods that
- // concentrate on a given area containing the selection
- // We have to do this because of text fields and textareas. The DOM for those is not
- // directly in the document DOM, so serialization is problematic. Our solution is
- // to use the root editable element of the selection start as the positional base.
- // That fits with AppKit's idea of an input context.
- return TextIterator::rangeFromLocationAndLength(_private->coreFrame->selection()->rootEditableElementOrDocumentElement(), nsrange.location, nsrange.length);
-}
-
-- (DOMRange *)_convertNSRangeToDOMRange:(NSRange)nsrange
-{
- return kit([self _convertToDOMRange:nsrange].get());
-}
-
-- (NSRange)_convertDOMRangeToNSRange:(DOMRange *)range
-{
- return [self _convertToNSRange:core(range)];
-}
-
-- (DOMRange *)_markDOMRange
-{
- return kit(_private->coreFrame->editor().mark().toNormalizedRange().get());
-}
-
-// Given proposedRange, returns an extended range that includes adjacent whitespace that should
-// be deleted along with the proposed range in order to preserve proper spacing and punctuation of
-// the text surrounding the deletion.
-- (DOMRange *)_smartDeleteRangeForProposedRange:(DOMRange *)proposedRange
-{
- Node* startContainer = core([proposedRange startContainer]);
- Node* endContainer = core([proposedRange endContainer]);
- if (startContainer == nil || endContainer == nil)
- return nil;
-
- ASSERT(startContainer->document() == endContainer->document());
-
- _private->coreFrame->document()->updateLayoutIgnorePendingStylesheets();
-
- Position start = Position(startContainer, [proposedRange startOffset], Position::PositionIsOffsetInAnchor);
- Position end = Position(endContainer, [proposedRange endOffset], Position::PositionIsOffsetInAnchor);
- Position newStart = start.upstream().leadingWhitespacePosition(DOWNSTREAM, true);
- if (newStart.isNull())
- newStart = start;
- Position newEnd = end.downstream().trailingWhitespacePosition(DOWNSTREAM, true);
- if (newEnd.isNull())
- newEnd = end;
-
- newStart = newStart.parentAnchoredEquivalent();
- newEnd = newEnd.parentAnchoredEquivalent();
-
- RefPtr<Range> range = _private->coreFrame->document()->createRange();
- int exception = 0;
- range->setStart(newStart.containerNode(), newStart.offsetInContainerNode(), exception);
- range->setEnd(newStart.containerNode(), newStart.offsetInContainerNode(), exception);
- return kit(range.get());
-}
-
-- (DOMDocumentFragment *)_documentFragmentWithMarkupString:(NSString *)markupString baseURLString:(NSString *)baseURLString
-{
- if (!_private->coreFrame || !_private->coreFrame->document())
- return nil;
-
- return kit(createFragmentFromMarkup(_private->coreFrame->document(), markupString, baseURLString, DisallowScriptingContent).get());
-}
-
-- (DOMDocumentFragment *)_documentFragmentWithNodesAsParagraphs:(NSArray *)nodes
-{
- if (!_private->coreFrame || !_private->coreFrame->document())
- return nil;
-
- NSEnumerator *nodeEnum = [nodes objectEnumerator];
- Vector<Node*> nodesVector;
- DOMNode *node;
- while ((node = [nodeEnum nextObject]))
- nodesVector.append(core(node));
-
- return kit(createFragmentFromNodes(_private->coreFrame->document(), nodesVector).get());
-}
-
-- (void)_replaceSelectionWithNode:(DOMNode *)node selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace matchStyle:(BOOL)matchStyle
-{
- DOMDocumentFragment *fragment = kit(_private->coreFrame->document()->createDocumentFragment().get());
- [fragment appendChild:node];
- [self _replaceSelectionWithFragment:fragment selectReplacement:selectReplacement smartReplace:smartReplace matchStyle:matchStyle];
-}
-
-- (void)_insertParagraphSeparatorInQuotedContent
-{
- if (_private->coreFrame->selection()->isNone())
- return;
-
- _private->coreFrame->editor().insertParagraphSeparatorInQuotedContent();
-}
-
-- (VisiblePosition)_visiblePositionForPoint:(NSPoint)point
-{
- // FIXME: Someone with access to Apple's sources could remove this needless wrapper call.
- return _private->coreFrame->visiblePositionForPoint(IntPoint(point));
-}
-
-- (DOMRange *)_characterRangeAtPoint:(NSPoint)point
-{
- return kit(_private->coreFrame->rangeForPoint(IntPoint(point)).get());
-}
-
-- (DOMCSSStyleDeclaration *)_typingStyle
-{
- if (!_private->coreFrame)
- return nil;
- RefPtr<MutableStylePropertySet> typingStyle = _private->coreFrame->selection()->copyTypingStyle();
- if (!typingStyle)
- return nil;
- return kit(typingStyle->ensureCSSStyleDeclaration());
-}
-
-- (void)_setTypingStyle:(DOMCSSStyleDeclaration *)style withUndoAction:(EditAction)undoAction
-{
- if (!_private->coreFrame || !style)
- return;
- // FIXME: We shouldn't have to create a copy here.
- _private->coreFrame->editor().computeAndSetTypingStyle(core(style)->copyProperties().get(), undoAction);
-}
-
-#if ENABLE(DRAG_SUPPORT)
-- (void)_dragSourceEndedAt:(NSPoint)windowLoc operation:(NSDragOperation)operation
-{
- if (!_private->coreFrame)
- return;
- FrameView* view = _private->coreFrame->view();
- if (!view)
- return;
- // FIXME: These are fake modifier keys here, but they should be real ones instead.
- PlatformMouseEvent event(IntPoint(windowLoc), globalPoint(windowLoc, [view->platformWidget() window]),
- LeftButton, PlatformEvent::MouseMoved, 0, false, false, false, false, currentTime());
- _private->coreFrame->eventHandler()->dragSourceEndedAt(event, (DragOperation)operation);
-}
-#endif
-
-- (BOOL)_canProvideDocumentSource
-{
- Frame* frame = _private->coreFrame;
- String mimeType = frame->document()->loader()->writer()->mimeType();
- PluginData* pluginData = frame->page() ? frame->page()->pluginData() : 0;
-
- if (WebCore::DOMImplementation::isTextMIMEType(mimeType)
- || Image::supportsType(mimeType)
- || (pluginData && pluginData->supportsMimeType(mimeType, PluginData::AllPlugins) && frame->loader()->subframeLoader()->allowPlugins(NotAboutToInstantiatePlugin))
- || (pluginData && pluginData->supportsMimeType(mimeType, PluginData::OnlyApplicationPlugins)))
- return NO;
-
- return YES;
-}
-
-- (BOOL)_canSaveAsWebArchive
-{
- // Currently, all documents that we can view source for
- // (HTML and XML documents) can also be saved as web archives
- return [self _canProvideDocumentSource];
-}
-
-- (void)_commitData:(NSData *)data
-{
- // FIXME: This really should be a setting.
- Document* document = _private->coreFrame->document();
- document->setShouldCreateRenderers(_private->shouldCreateRenderers);
-
- _private->coreFrame->loader()->documentLoader()->commitData((const char *)[data bytes], [data length]);
-}
-
-@end
-
-@implementation WebFrame (WebPrivate)
-
-// FIXME: This exists only as a convenience for Safari, consider moving there.
-- (BOOL)_isDescendantOfFrame:(WebFrame *)ancestor
-{
- Frame* coreFrame = _private->coreFrame;
- return coreFrame && coreFrame->tree()->isDescendantOf(core(ancestor));
-}
-
-- (void)_setShouldCreateRenderers:(BOOL)shouldCreateRenderers
-{
- _private->shouldCreateRenderers = shouldCreateRenderers;
-}
-
-- (NSColor *)_bodyBackgroundColor
-{
- Document* document = _private->coreFrame->document();
- if (!document)
- return nil;
- HTMLElement* body = document->body();
- if (!body)
- return nil;
- RenderObject* bodyRenderer = body->renderer();
- if (!bodyRenderer)
- return nil;
- Color color = bodyRenderer->style()->visitedDependentColor(CSSPropertyBackgroundColor);
- if (!color.isValid())
- return nil;
- return nsColor(color);
-}
-
-- (BOOL)_isFrameSet
-{
- Document* document = _private->coreFrame->document();
- return document && document->isFrameSet();
-}
-
-- (BOOL)_firstLayoutDone
-{
- return _private->coreFrame->loader()->stateMachine()->firstLayoutDone();
-}
-
-- (BOOL)_isVisuallyNonEmpty
-{
- if (FrameView* view = _private->coreFrame->view())
- return view->isVisuallyNonEmpty();
- return NO;
-}
-
-- (WebFrameLoadType)_loadType
-{
- return (WebFrameLoadType)_private->coreFrame->loader()->loadType();
-}
-
-- (NSRange)_selectedNSRange
-{
- return [self _convertToNSRange:_private->coreFrame->selection()->toNormalizedRange().get()];
-}
-
-- (void)_selectNSRange:(NSRange)range
-{
- RefPtr<Range> domRange = [self _convertToDOMRange:range];
- if (domRange)
- _private->coreFrame->selection()->setSelection(VisibleSelection(domRange.get(), SEL_DEFAULT_AFFINITY));
-}
-
-- (BOOL)_isDisplayingStandaloneImage
-{
- Document* document = _private->coreFrame->document();
- return document && document->isImageDocument();
-}
-
-- (unsigned)_pendingFrameUnloadEventCount
-{
- return _private->coreFrame->document()->domWindow()->pendingUnloadEventListeners();
-}
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-- (void)_recursive_resumeNullEventsForAllNetscapePlugins
-{
- Frame* coreFrame = core(self);
- for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame)) {
- NSView <WebDocumentView> *documentView = [[kit(frame) frameView] documentView];
- if ([documentView isKindOfClass:[WebHTMLView class]])
- [(WebHTMLView *)documentView _resumeNullEventsForAllNetscapePlugins];
- }
-}
-
-- (void)_recursive_pauseNullEventsForAllNetscapePlugins
-{
- Frame* coreFrame = core(self);
- for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame)) {
- NSView <WebDocumentView> *documentView = [[kit(frame) frameView] documentView];
- if ([documentView isKindOfClass:[WebHTMLView class]])
- [(WebHTMLView *)documentView _pauseNullEventsForAllNetscapePlugins];
- }
-}
-#endif
-
-- (void)_replaceSelectionWithFragment:(DOMDocumentFragment *)fragment selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace matchStyle:(BOOL)matchStyle
-{
- if (_private->coreFrame->selection()->isNone() || !fragment)
- return;
- _private->coreFrame->editor().replaceSelectionWithFragment(core(fragment), selectReplacement, smartReplace, matchStyle);
-}
-
-- (void)_replaceSelectionWithText:(NSString *)text selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace
-{
- DOMDocumentFragment* fragment = kit(createFragmentFromText(_private->coreFrame->selection()->toNormalizedRange().get(), text).get());
- [self _replaceSelectionWithFragment:fragment selectReplacement:selectReplacement smartReplace:smartReplace matchStyle:YES];
-}
-
-- (void)_replaceSelectionWithMarkupString:(NSString *)markupString baseURLString:(NSString *)baseURLString selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace
-{
- DOMDocumentFragment *fragment = [self _documentFragmentWithMarkupString:markupString baseURLString:baseURLString];
- [self _replaceSelectionWithFragment:fragment selectReplacement:selectReplacement smartReplace:smartReplace matchStyle:NO];
-}
-
-// Determines whether whitespace needs to be added around aString to preserve proper spacing and
-// punctuation when it's inserted into the receiver's text over charRange. Returns by reference
-// in beforeString and afterString any whitespace that should be added, unless either or both are
-// nil. Both are returned as nil if aString is nil or if smart insertion and deletion are disabled.
-- (void)_smartInsertForString:(NSString *)pasteString replacingRange:(DOMRange *)rangeToReplace beforeString:(NSString **)beforeString afterString:(NSString **)afterString
-{
- // give back nil pointers in case of early returns
- if (beforeString)
- *beforeString = nil;
- if (afterString)
- *afterString = nil;
-
- // inspect destination
- Node *startContainer = core([rangeToReplace startContainer]);
- Node *endContainer = core([rangeToReplace endContainer]);
-
- Position startPos(startContainer, [rangeToReplace startOffset], Position::PositionIsOffsetInAnchor);
- Position endPos(endContainer, [rangeToReplace endOffset], Position::PositionIsOffsetInAnchor);
-
- VisiblePosition startVisiblePos = VisiblePosition(startPos, VP_DEFAULT_AFFINITY);
- VisiblePosition endVisiblePos = VisiblePosition(endPos, VP_DEFAULT_AFFINITY);
-
- // this check also ensures startContainer, startPos, endContainer, and endPos are non-null
- if (startVisiblePos.isNull() || endVisiblePos.isNull())
- return;
-
- bool addLeadingSpace = startPos.leadingWhitespacePosition(VP_DEFAULT_AFFINITY, true).isNull() && !isStartOfParagraph(startVisiblePos);
- if (addLeadingSpace)
- if (UChar previousChar = startVisiblePos.previous().characterAfter())
- addLeadingSpace = !isCharacterSmartReplaceExempt(previousChar, true);
-
- bool addTrailingSpace = endPos.trailingWhitespacePosition(VP_DEFAULT_AFFINITY, true).isNull() && !isEndOfParagraph(endVisiblePos);
- if (addTrailingSpace)
- if (UChar thisChar = endVisiblePos.characterAfter())
- addTrailingSpace = !isCharacterSmartReplaceExempt(thisChar, false);
-
- // inspect source
- bool hasWhitespaceAtStart = false;
- bool hasWhitespaceAtEnd = false;
- unsigned pasteLength = [pasteString length];
- if (pasteLength > 0) {
- NSCharacterSet *whiteSet = [NSCharacterSet whitespaceAndNewlineCharacterSet];
-
- if ([whiteSet characterIsMember:[pasteString characterAtIndex:0]]) {
- hasWhitespaceAtStart = YES;
- }
- if ([whiteSet characterIsMember:[pasteString characterAtIndex:(pasteLength - 1)]]) {
- hasWhitespaceAtEnd = YES;
- }
- }
-
- // issue the verdict
- if (beforeString && addLeadingSpace && !hasWhitespaceAtStart)
- *beforeString = @" ";
- if (afterString && addTrailingSpace && !hasWhitespaceAtEnd)
- *afterString = @" ";
-}
-
-- (NSMutableDictionary *)_cacheabilityDictionary
-{
- NSMutableDictionary *result = [NSMutableDictionary dictionary];
-
- FrameLoader* frameLoader = _private->coreFrame->loader();
- DocumentLoader* documentLoader = frameLoader->documentLoader();
- if (documentLoader && !documentLoader->mainDocumentError().isNull())
- [result setObject:(NSError *)documentLoader->mainDocumentError() forKey:WebFrameMainDocumentError];
-
- if (frameLoader->subframeLoader()->containsPlugins())
- [result setObject:[NSNumber numberWithBool:YES] forKey:WebFrameHasPlugins];
-
- if (DOMWindow* domWindow = _private->coreFrame->document()->domWindow()) {
- if (domWindow->hasEventListeners(eventNames().unloadEvent))
- [result setObject:[NSNumber numberWithBool:YES] forKey:WebFrameHasUnloadListener];
- if (domWindow->optionalApplicationCache())
- [result setObject:[NSNumber numberWithBool:YES] forKey:WebFrameUsesApplicationCache];
- }
-
- if (Document* document = _private->coreFrame->document()) {
-#if ENABLE(SQL_DATABASE)
- if (DatabaseManager::manager().hasOpenDatabases(document))
- [result setObject:[NSNumber numberWithBool:YES] forKey:WebFrameUsesDatabases];
-#endif
- if (!document->canSuspendActiveDOMObjects())
- [result setObject:[NSNumber numberWithBool:YES] forKey:WebFrameCanSuspendActiveDOMObjects];
- }
-
- return result;
-}
-
-- (BOOL)_allowsFollowingLink:(NSURL *)URL
-{
- if (!_private->coreFrame)
- return YES;
- return _private->coreFrame->document()->securityOrigin()->canDisplay(URL);
-}
-
-- (NSString *)_stringByEvaluatingJavaScriptFromString:(NSString *)string withGlobalObject:(JSObjectRef)globalObjectRef inScriptWorld:(WebScriptWorld *)world
-{
- if (!string)
- return @"";
-
- // Start off with some guess at a frame and a global object, we'll try to do better...!
- JSDOMWindow* anyWorldGlobalObject = _private->coreFrame->script()->globalObject(mainThreadNormalWorld());
-
- // The global object is probably a shell object? - if so, we know how to use this!
- JSC::JSObject* globalObjectObj = toJS(globalObjectRef);
- if (!strcmp(globalObjectObj->classInfo()->className, "JSDOMWindowShell"))
- anyWorldGlobalObject = static_cast<JSDOMWindowShell*>(globalObjectObj)->window();
-
- // Get the frame frome the global object we've settled on.
- Frame* frame = anyWorldGlobalObject->impl()->frame();
- ASSERT(frame->document());
- RetainPtr<WebFrame> webFrame(kit(frame)); // Running arbitrary JavaScript can destroy the frame.
-
- JSC::JSValue result = frame->script()->executeScriptInWorld(core(world), string, true).jsValue();
-
- if (!webFrame->_private->coreFrame) // In case the script removed our frame from the page.
- return @"";
-
- // 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()))
- return @"";
-
- JSC::ExecState* exec = anyWorldGlobalObject->globalExec();
- JSC::JSLockHolder lock(exec);
- return result.toWTFString(exec);
-}
-
-- (JSGlobalContextRef)_globalContextForScriptWorld:(WebScriptWorld *)world
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return 0;
- DOMWrapperWorld* coreWorld = core(world);
- if (!coreWorld)
- return 0;
- return toGlobalRef(coreFrame->script()->globalObject(coreWorld)->globalExec());
-}
-
-#if JSC_OBJC_API_ENABLED
-- (JSContext *)_javaScriptContextForScriptWorld:(WebScriptWorld *)world
-{
- JSGlobalContextRef globalContextRef = [self _globalContextForScriptWorld:world];
- if (!globalContextRef)
- return 0;
- return [JSContext contextWithJSGlobalContextRef:globalContextRef];
-}
-#endif
-
-- (void)setAllowsScrollersToOverlapContent:(BOOL)flag
-{
- ASSERT([[[self frameView] _scrollView] isKindOfClass:[WebDynamicScrollBarsView class]]);
- [(WebDynamicScrollBarsView *)[[self frameView] _scrollView] setAllowsScrollersToOverlapContent:flag];
-}
-
-- (void)setAlwaysHideHorizontalScroller:(BOOL)flag
-{
- ASSERT([[[self frameView] _scrollView] isKindOfClass:[WebDynamicScrollBarsView class]]);
- [(WebDynamicScrollBarsView *)[[self frameView] _scrollView] setAlwaysHideHorizontalScroller:flag];
-}
-- (void)setAlwaysHideVerticalScroller:(BOOL)flag
-{
- ASSERT([[[self frameView] _scrollView] isKindOfClass:[WebDynamicScrollBarsView class]]);
- [(WebDynamicScrollBarsView *)[[self frameView] _scrollView] setAlwaysHideVerticalScroller:flag];
-}
-
-- (void)setAccessibleName:(NSString *)name
-{
-#if HAVE(ACCESSIBILITY)
- if (!AXObjectCache::accessibilityEnabled())
- return;
-
- if (!_private->coreFrame || !_private->coreFrame->document())
- return;
-
- AccessibilityObject* rootObject = _private->coreFrame->document()->axObjectCache()->rootObject();
- if (rootObject) {
- String strName(name);
- rootObject->setAccessibleName(strName);
- }
-#endif
-}
-
-- (NSString*)_layerTreeAsText
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return @"";
-
- return coreFrame->layerTreeAsText();
-}
-
-- (id)accessibilityRoot
-{
-#if HAVE(ACCESSIBILITY)
- if (!AXObjectCache::accessibilityEnabled()) {
- AXObjectCache::enableAccessibility();
- AXObjectCache::setEnhancedUserInterfaceAccessibility([[NSApp accessibilityAttributeValue:NSAccessibilityEnhancedUserInterfaceAttribute] boolValue]);
- }
-
- if (!_private->coreFrame || !_private->coreFrame->document())
- return nil;
-
- AccessibilityObject* rootObject = _private->coreFrame->document()->axObjectCache()->rootObjectForFrame(_private->coreFrame);
- if (!rootObject)
- return nil;
-
- // The root object will be a WebCore scroll view object. In WK1, scroll views are handled
- // by the system and the root object should be the web area (instead of the scroll view).
- if (rootObject->isAttachment() && rootObject->firstChild())
- return rootObject->firstChild()->wrapper();
-
- return rootObject->wrapper();
-#else
- return nil;
-#endif
-}
-
-- (void)_clearOpener
-{
- Frame* coreFrame = _private->coreFrame;
- if (coreFrame)
- coreFrame->loader()->setOpener(0);
-}
-
-// Used by pagination code called from AppKit when a standalone web page is printed.
-- (NSArray *)_computePageRectsWithPrintScaleFactor:(float)printScaleFactor pageSize:(NSSize)pageSize
-{
- if (printScaleFactor <= 0) {
- LOG_ERROR("printScaleFactor has bad value %.2f", printScaleFactor);
- return [NSArray array];
- }
-
- if (!_private->coreFrame)
- return [NSArray array];
- if (!_private->coreFrame->document())
- return [NSArray array];
- if (!_private->coreFrame->view())
- return [NSArray array];
- if (!_private->coreFrame->view()->documentView())
- return [NSArray array];
-
- RenderView* root = toRenderView(_private->coreFrame->document()->renderer());
- if (!root)
- return [NSArray array];
-
- const LayoutRect& documentRect = root->documentRect();
- float printWidth = root->style()->isHorizontalWritingMode() ? static_cast<float>(documentRect.width()) / printScaleFactor : pageSize.width;
- float printHeight = root->style()->isHorizontalWritingMode() ? pageSize.height : static_cast<float>(documentRect.height()) / printScaleFactor;
-
- PrintContext printContext(_private->coreFrame);
- printContext.computePageRectsWithPageSize(FloatSize(printWidth, printHeight), true);
- const Vector<IntRect>& pageRects = printContext.pageRects();
-
- size_t size = pageRects.size();
- NSMutableArray *pages = [NSMutableArray arrayWithCapacity:size];
- for (size_t i = 0; i < size; ++i)
- [pages addObject:[NSValue valueWithRect:NSRect(pageRects[i])]];
- return pages;
-}
-
-- (JSValueRef)jsWrapperForNode:(DOMNode *)node inScriptWorld:(WebScriptWorld *)world
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return 0;
-
- JSDOMWindow* globalObject = coreFrame->script()->globalObject(core(world));
- JSC::ExecState* exec = globalObject->globalExec();
-
- JSC::JSLockHolder lock(exec);
- return toRef(exec, toJS(exec, globalObject, core(node)));
-}
-
-- (NSDictionary *)elementAtPoint:(NSPoint)point
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return nil;
- return [[[WebElementDictionary alloc] initWithHitTestResult:coreFrame->eventHandler()->hitTestResultAtPoint(IntPoint(point), HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::IgnoreClipping | HitTestRequest::DisallowShadowContent)] autorelease];
-}
-
-- (NSURL *)_unreachableURL
-{
- return [[self _dataSource] unreachableURL];
-}
-
-@end
-
-@implementation WebFrame
-
-- (id)init
-{
- return nil;
-}
-
-// Should be deprecated.
-- (id)initWithName:(NSString *)name webFrameView:(WebFrameView *)view webView:(WebView *)webView
-{
- return nil;
-}
-
-- (void)dealloc
-{
- if (_private && _private->includedInWebKitStatistics)
- --WebFrameCount;
-
- [_private release];
-
- [super dealloc];
-}
-
-- (void)finalize
-{
- if (_private && _private->includedInWebKitStatistics)
- --WebFrameCount;
-
- [super finalize];
-}
-
-- (NSString *)name
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return nil;
- return coreFrame->tree()->uniqueName();
-}
-
-- (WebFrameView *)frameView
-{
- return _private->webFrameView;
-}
-
-- (WebView *)webView
-{
- return getWebView(self);
-}
-
-static bool needsMicrosoftMessengerDOMDocumentWorkaround()
-{
- static bool needsWorkaround = applicationIsMicrosoftMessenger() && [[[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey] compare:@"7.1" options:NSNumericSearch] == NSOrderedAscending;
- return needsWorkaround;
-}
-
-- (DOMDocument *)DOMDocument
-{
- if (needsMicrosoftMessengerDOMDocumentWorkaround() && !pthread_main_np())
- return nil;
-
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return nil;
-
- // FIXME: <rdar://problem/5145841> When loading a custom view/representation
- // into a web frame, the old document can still be around. This makes sure that
- // we'll return nil in those cases.
- if (![[self _dataSource] _isDocumentHTML])
- return nil;
-
- Document* document = coreFrame->document();
-
- // According to the documentation, we should return nil if the frame doesn't have a document.
- // While full-frame images and plugins do have an underlying HTML document, we return nil here to be
- // backwards compatible.
- if (document && (document->isPluginDocument() || document->isImageDocument()))
- return nil;
-
- return kit(coreFrame->document());
-}
-
-- (DOMHTMLElement *)frameElement
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return nil;
- return kit(coreFrame->ownerElement());
-}
-
-- (WebDataSource *)provisionalDataSource
-{
- Frame* coreFrame = _private->coreFrame;
- return coreFrame ? dataSource(coreFrame->loader()->provisionalDocumentLoader()) : nil;
-}
-
-- (WebDataSource *)dataSource
-{
- Frame* coreFrame = _private->coreFrame;
- return coreFrame && coreFrame->loader()->frameHasLoaded() ? [self _dataSource] : nil;
-}
-
-- (void)loadRequest:(NSURLRequest *)request
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return;
-
- ResourceRequest resourceRequest(request);
-
- // Some users of WebKit API incorrectly use "file path as URL" style requests which are invalid.
- // By re-writing those URLs here we technically break the -[WebDataSource initialRequest] API
- // but that is necessary to implement this quirk only at the API boundary.
- // Note that other users of WebKit API use nil requests or requests with nil URLs or empty URLs, so we
- // only implement this workaround when the request had a non-nil or non-empty URL.
- if (!resourceRequest.url().isValid() && !resourceRequest.url().isEmpty())
- resourceRequest.setURL([NSURL URLWithString:[@"file:" stringByAppendingString:[[request URL] absoluteString]]]);
-
- coreFrame->loader()->load(FrameLoadRequest(coreFrame, resourceRequest));
-}
-
-static NSURL *createUniqueWebDataURL()
-{
- CFUUIDRef UUIDRef = CFUUIDCreate(kCFAllocatorDefault);
- NSString *UUIDString = (NSString *)CFUUIDCreateString(kCFAllocatorDefault, UUIDRef);
- CFRelease(UUIDRef);
- NSURL *URL = [NSURL URLWithString:[NSString stringWithFormat:@"applewebdata://%@", UUIDString]];
- CFRelease(UUIDString);
- return URL;
-}
-
-- (void)_loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL unreachableURL:(NSURL *)unreachableURL
-{
- if (!pthread_main_np())
- return [[self _webkit_invokeOnMainThread] _loadData:data MIMEType:MIMEType textEncodingName:encodingName baseURL:baseURL unreachableURL:unreachableURL];
-
- KURL responseURL;
- if (!baseURL) {
- baseURL = blankURL();
- responseURL = createUniqueWebDataURL();
- }
-
- ResourceRequest request([baseURL absoluteURL]);
-
- // hack because Mail checks for this property to detect data / archive loads
- [NSURLProtocol setProperty:@"" forKey:@"WebDataRequest" inRequest:(NSMutableURLRequest *)request.nsURLRequest(UpdateHTTPBody)];
-
- SubstituteData substituteData(WebCore::SharedBuffer::wrapNSData(data), MIMEType, encodingName, [unreachableURL absoluteURL], responseURL);
-
- _private->coreFrame->loader()->load(FrameLoadRequest(_private->coreFrame, request, substituteData));
-}
-
-
-- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL
-{
- WebCoreThreadViolationCheckRoundTwo();
-
- if (!MIMEType)
- MIMEType = @"text/html";
- [self _loadData:data MIMEType:MIMEType textEncodingName:encodingName baseURL:[baseURL _webkit_URLFromURLOrSchemelessFileURL] unreachableURL:nil];
-}
-
-- (void)_loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL unreachableURL:(NSURL *)unreachableURL
-{
- NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
- [self _loadData:data MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:baseURL unreachableURL:unreachableURL];
-}
-
-- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL
-{
- WebCoreThreadViolationCheckRoundTwo();
-
- [self _loadHTMLString:string baseURL:[baseURL _webkit_URLFromURLOrSchemelessFileURL] unreachableURL:nil];
-}
-
-- (void)loadAlternateHTMLString:(NSString *)string baseURL:(NSURL *)baseURL forUnreachableURL:(NSURL *)unreachableURL
-{
- WebCoreThreadViolationCheckRoundTwo();
-
- [self _loadHTMLString:string baseURL:[baseURL _webkit_URLFromURLOrSchemelessFileURL] unreachableURL:[unreachableURL _webkit_URLFromURLOrSchemelessFileURL]];
-}
-
-- (void)loadArchive:(WebArchive *)archive
-{
- if (LegacyWebArchive* coreArchive = [archive _coreLegacyWebArchive])
- _private->coreFrame->loader()->loadArchive(coreArchive);
-}
-
-- (void)stopLoading
-{
- if (!_private->coreFrame)
- return;
- _private->coreFrame->loader()->stopForUserCancel();
-}
-
-- (void)reload
-{
- if (!WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_RELOAD_FROM_ORIGIN) && applicationIsSafari())
- _private->coreFrame->loader()->reload(GetCurrentKeyModifiers() & shiftKey);
- else
- _private->coreFrame->loader()->reload(false);
-}
-
-- (void)reloadFromOrigin
-{
- _private->coreFrame->loader()->reload(true);
-}
-
-- (WebFrame *)findFrameNamed:(NSString *)name
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return nil;
- return kit(coreFrame->tree()->find(name));
-}
-
-- (WebFrame *)parentFrame
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return nil;
- return [[kit(coreFrame->tree()->parent()) retain] autorelease];
-}
-
-- (NSArray *)childFrames
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return [NSArray array];
- NSMutableArray *children = [NSMutableArray arrayWithCapacity:coreFrame->tree()->childCount()];
- for (Frame* child = coreFrame->tree()->firstChild(); child; child = child->tree()->nextSibling())
- [children addObject:kit(child)];
- return children;
-}
-
-- (WebScriptObject *)windowObject
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return 0;
- return coreFrame->script()->windowScriptObject();
-}
-
-- (JSGlobalContextRef)globalContext
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return 0;
- return toGlobalRef(coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec());
-}
-
-#if JSC_OBJC_API_ENABLED
-- (JSContext *)javaScriptContext
-{
- Frame* coreFrame = _private->coreFrame;
- if (!coreFrame)
- return 0;
- return coreFrame->script()->javaScriptContext();
-}
-#endif
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebFrameInternal.h b/Source/WebKit/mac/WebView/WebFrameInternal.h
deleted file mode 100644
index 3dbd287af..000000000
--- a/Source/WebKit/mac/WebView/WebFrameInternal.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-// This header contains WebFrame declarations that can be used anywhere in WebKit, but are neither SPI nor API.
-
-#import "WebFramePrivate.h"
-#import "WebPreferencesPrivate.h"
-#import <WebCore/EditAction.h>
-#import <WebCore/FrameLoaderTypes.h>
-#import <WebCore/FrameSelection.h>
-#import <WebCore/Position.h>
-#import <WebCore/Settings.h>
-
-@class DOMCSSStyleDeclaration;
-@class DOMDocumentFragment;
-@class DOMElement;
-@class DOMNode;
-@class DOMRange;
-@class WebFrameView;
-@class WebHistoryItem;
-
-class WebScriptDebugger;
-
-namespace WebCore {
- class CSSStyleDeclaration;
- class Document;
- class DocumentLoader;
- class Element;
- class Frame;
- class Frame;
- class HistoryItem;
- class HTMLElement;
- class HTMLFrameOwnerElement;
- class Node;
- class Page;
- class Range;
-}
-
-typedef WebCore::HistoryItem WebCoreHistoryItem;
-
-WebCore::Frame* core(WebFrame *);
-WebFrame *kit(WebCore::Frame *);
-
-WebCore::Page* core(WebView *);
-WebView *kit(WebCore::Page*);
-
-WebCore::EditableLinkBehavior core(WebKitEditableLinkBehavior);
-WebCore::TextDirectionSubmenuInclusionBehavior core(WebTextDirectionSubmenuInclusionBehavior);
-
-WebView *getWebView(WebFrame *webFrame);
-
-@interface WebFramePrivate : NSObject {
-@public
- WebCore::Frame* coreFrame;
- WebFrameView *webFrameView;
- WebScriptDebugger* scriptDebugger;
- id internalLoadDelegate;
- BOOL shouldCreateRenderers;
- BOOL includedInWebKitStatistics;
- RetainPtr<NSString> url;
- RetainPtr<NSString> provisionalURL;
-}
-@end
-
-@protocol WebCoreRenderTreeCopier <NSObject>
-- (NSObject *)nodeWithName:(NSString *)name position:(NSPoint)position rect:(NSRect)rect view:(NSView *)view children:(NSArray *)children;
-@end
-
-@interface WebFrame (WebInternal)
-
-+ (void)_createMainFrameWithPage:(WebCore::Page*)page frameName:(const WTF::String&)name frameView:(WebFrameView *)frameView;
-+ (PassRefPtr<WebCore::Frame>)_createSubframeWithOwnerElement:(WebCore::HTMLFrameOwnerElement*)ownerElement frameName:(const WTF::String&)name frameView:(WebFrameView *)frameView;
-- (id)_initWithWebFrameView:(WebFrameView *)webFrameView webView:(WebView *)webView;
-
-- (void)_clearCoreFrame;
-
-- (BOOL)_isIncludedInWebKitStatistics;
-
-- (void)_updateBackgroundAndUpdatesWhileOffscreen;
-- (void)_setInternalLoadDelegate:(id)internalLoadDelegate;
-- (id)_internalLoadDelegate;
-- (void)_unmarkAllBadGrammar;
-- (void)_unmarkAllMisspellings;
-
-- (BOOL)_hasSelection;
-- (void)_clearSelection;
-- (WebFrame *)_findFrameWithSelection;
-- (void)_clearSelectionInOtherFrames;
-
-- (void)_attachScriptDebugger;
-- (void)_detachScriptDebugger;
-
-// dataSource reports null for the initial empty document's data source; this is needed
-// to preserve compatibility with Mail and Safari among others. But internal to WebKit,
-// we need to be able to get the initial data source as well, so the _dataSource method
-// should be used instead.
-- (WebDataSource *)_dataSource;
-
-- (BOOL)_needsLayout;
-- (void)_drawRect:(NSRect)rect contentsOnly:(BOOL)contentsOnly;
-- (BOOL)_getVisibleRect:(NSRect*)rect;
-
-- (NSString *)_stringByEvaluatingJavaScriptFromString:(NSString *)string;
-- (NSString *)_stringByEvaluatingJavaScriptFromString:(NSString *)string forceUserGesture:(BOOL)forceUserGesture;
-
-- (NSString *)_selectedString;
-- (NSString *)_stringForRange:(DOMRange *)range;
-
-- (DOMRange *)_convertNSRangeToDOMRange:(NSRange)range;
-- (NSRange)_convertDOMRangeToNSRange:(DOMRange *)range;
-
-- (NSString *)_markupStringFromRange:(DOMRange *)range nodes:(NSArray **)nodes;
-
-- (NSRect)_caretRectAtPosition:(const WebCore::Position&)pos affinity:(NSSelectionAffinity)affinity;
-- (NSRect)_firstRectForDOMRange:(DOMRange *)range;
-- (void)_scrollDOMRangeToVisible:(DOMRange *)range;
-
-- (DOMRange *)_rangeByAlteringCurrentSelection:(WebCore::FrameSelection::EAlteration)alteration direction:(WebCore::SelectionDirection)direction granularity:(WebCore::TextGranularity)granularity;
-- (NSRange)_convertToNSRange:(WebCore::Range*)range;
-- (PassRefPtr<WebCore::Range>)_convertToDOMRange:(NSRange)nsrange;
-
-- (DOMDocumentFragment *)_documentFragmentWithMarkupString:(NSString *)markupString baseURLString:(NSString *)baseURLString;
-- (DOMDocumentFragment *)_documentFragmentWithNodesAsParagraphs:(NSArray *)nodes;
-
-- (void)_replaceSelectionWithNode:(DOMNode *)node selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace matchStyle:(BOOL)matchStyle;
-
-- (void)_insertParagraphSeparatorInQuotedContent;
-
-- (DOMRange *)_characterRangeAtPoint:(NSPoint)point;
-
-- (DOMCSSStyleDeclaration *)_typingStyle;
-- (void)_setTypingStyle:(DOMCSSStyleDeclaration *)style withUndoAction:(WebCore::EditAction)undoAction;
-
-#if ENABLE(DRAG_SUPPORT)
-- (void)_dragSourceEndedAt:(NSPoint)windowLoc operation:(NSDragOperation)operation;
-#endif
-
-- (BOOL)_canProvideDocumentSource;
-- (BOOL)_canSaveAsWebArchive;
-
-- (void)_commitData:(NSData *)data;
-
-@end
-
-@interface NSObject (WebInternalFrameLoadDelegate)
-- (void)webFrame:(WebFrame *)webFrame didFinishLoadWithError:(NSError *)error;
-@end
diff --git a/Source/WebKit/mac/WebView/WebFrameLoadDelegate.h b/Source/WebKit/mac/WebView/WebFrameLoadDelegate.h
deleted file mode 100644
index 54753ce61..000000000
--- a/Source/WebKit/mac/WebView/WebFrameLoadDelegate.h
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Copyright (C) 2003, 2004, 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-#import <JavaScriptCore/JSBase.h>
-#import <JavaScriptCore/WebKitAvailability.h>
-
-@class NSError;
-@class WebFrame;
-@class WebScriptObject;
-@class WebView;
-
-#if JSC_OBJC_API_ENABLED
-@class JSContext;
-#endif
-
-/*!
- @category WebFrameLoadDelegate
- @discussion A WebView's WebFrameLoadDelegate tracks the loading progress of its frames.
- When a data source of a frame starts to load, the data source is considered "provisional".
- Once at least one byte is received, the data source is considered "committed". This is done
- so the contents of the frame will not be lost if the new data source fails to successfully load.
-*/
-@interface NSObject (WebFrameLoadDelegate)
-
-/*!
- @method webView:didStartProvisionalLoadForFrame:
- @abstract Notifies the delegate that the provisional load of a frame has started
- @param webView The WebView sending the message
- @param frame The frame for which the provisional load has started
- @discussion This method is called after the provisional data source of a frame
- has started to load.
-*/
-- (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame;
-
-/*!
- @method webView:didReceiveServerRedirectForProvisionalLoadForFrame:
- @abstract Notifies the delegate that a server redirect occurred during the provisional load
- @param webView The WebView sending the message
- @param frame The frame for which the redirect occurred
-*/
-- (void)webView:(WebView *)sender didReceiveServerRedirectForProvisionalLoadForFrame:(WebFrame *)frame;
-
-/*!
- @method webView:didFailProvisionalLoadWithError:forFrame:
- @abstract Notifies the delegate that the provisional load has failed
- @param webView The WebView sending the message
- @param error The error that occurred
- @param frame The frame for which the error occurred
- @discussion This method is called after the provisional data source has failed to load.
- The frame will continue to display the contents of the committed data source if there is one.
-*/
-- (void)webView:(WebView *)sender didFailProvisionalLoadWithError:(NSError *)error forFrame:(WebFrame *)frame;
-
-/*!
- @method webView:didCommitLoadForFrame:
- @abstract Notifies the delegate that the load has changed from provisional to committed
- @param webView The WebView sending the message
- @param frame The frame for which the load has committed
- @discussion This method is called after the provisional data source has become the
- committed data source.
-
- In some cases, a single load may be committed more than once. This happens
- in the case of multipart/x-mixed-replace, also known as "server push". In this case,
- a single location change leads to multiple documents that are loaded in sequence. When
- this happens, a new commit will be sent for each document.
-*/
-- (void)webView:(WebView *)sender didCommitLoadForFrame:(WebFrame *)frame;
-
-/*!
- @method webView:didReceiveTitle:forFrame:
- @abstract Notifies the delegate that the page title for a frame has been received
- @param webView The WebView sending the message
- @param title The new page title
- @param frame The frame for which the title has been received
- @discussion The title may update during loading; clients should be prepared for this.
-*/
-- (void)webView:(WebView *)sender didReceiveTitle:(NSString *)title forFrame:(WebFrame *)frame;
-
-/*!
- @method webView:didReceiveIcon:forFrame:
- @abstract Notifies the delegate that a page icon image for a frame has been received
- @param webView The WebView sending the message
- @param image The icon image. Also known as a "favicon".
- @param frame The frame for which a page icon has been received
-*/
-- (void)webView:(WebView *)sender didReceiveIcon:(NSImage *)image forFrame:(WebFrame *)frame;
-
-/*!
- @method webView:didFinishLoadForFrame:
- @abstract Notifies the delegate that the committed load of a frame has completed
- @param webView The WebView sending the message
- @param frame The frame that finished loading
- @discussion This method is called after the committed data source of a frame has successfully loaded
- and will only be called when all subresources such as images and stylesheets are done loading.
- Plug-In content and JavaScript-requested loads may occur after this method is called.
-*/
-- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame;
-
-/*!
- @method webView:didFailLoadWithError:forFrame:
- @abstract Notifies the delegate that the committed load of a frame has failed
- @param webView The WebView sending the message
- @param error The error that occurred
- @param frame The frame that failed to load
- @discussion This method is called after a data source has committed but failed to completely load.
-*/
-- (void)webView:(WebView *)sender didFailLoadWithError:(NSError *)error forFrame:(WebFrame *)frame;
-
-/*!
- @method webView:didChangeLocationWithinPageForFrame:
- @abstract Notifies the delegate that the scroll position in a frame has changed
- @param webView The WebView sending the message
- @param frame The frame that scrolled
- @discussion This method is called when anchors within a page have been clicked.
-*/
-- (void)webView:(WebView *)sender didChangeLocationWithinPageForFrame:(WebFrame *)frame;
-
-/*!
- @method webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:
- @abstract Notifies the delegate that a frame will perform a client-side redirect
- @param webView The WebView sending the message
- @param URL The URL to be redirected to
- @param seconds Seconds in which the redirect will happen
- @param date The fire date
- @param frame The frame on which the redirect will occur
- @discussion This method can be used to continue progress feedback while a client-side
- redirect is pending.
-*/
-- (void)webView:(WebView *)sender willPerformClientRedirectToURL:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date forFrame:(WebFrame *)frame;
-
-/*!
- @method webView:didCancelClientRedirectForFrame:
- @abstract Notifies the delegate that a pending client-side redirect has been cancelled
- @param webView The WebView sending the message
- @param frame The frame for which the pending redirect was cancelled
- @discussion A client-side redirect can be cancelled if a frame changes location before the timeout.
-*/
-- (void)webView:(WebView *)sender didCancelClientRedirectForFrame:(WebFrame *)frame;
-
-/*!
- @method webView:willCloseFrame:
- @abstract Notifies the delegate that a frame will be closed
- @param webView The WebView sending the message
- @param frame The frame that will be closed
- @discussion This method is called right before WebKit is done with the frame
- and the objects that it contains.
-*/
-- (void)webView:(WebView *)sender willCloseFrame:(WebFrame *)frame;
-
-/*!
- @method webView:didClearWindowObject:forFrame:
- @abstract Notifies the delegate that the JavaScript window object in a frame has
- been cleared in preparation for a new load. This is the preferred place to set custom
- properties on the window object using the WebScriptObject and JavaScriptCore APIs.
- @param webView The webView sending the message.
- @param windowObject The WebScriptObject representing the frame's JavaScript window object.
- @param frame The WebFrame to which windowObject belongs.
- @discussion If a delegate implements both webView:didClearWindowObject:forFrame:
- and webView:windowScriptObjectAvailable:, only webView:didClearWindowObject:forFrame:
- will be invoked. This enables a delegate to implement both methods for backwards
- compatibility with older versions of WebKit.
-*/
-- (void)webView:(WebView *)webView didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame;
-
-/*!
- @method webView:windowScriptObjectAvailable:
- @abstract Notifies the delegate that the scripting object for a page is available. This is called
- before the page is loaded. It may be useful to allow delegates to bind native objects to the window.
- @param webView The webView sending the message.
- @param windowScriptObject The WebScriptObject for the window in the scripting environment.
- @discussion This method is deprecated. Consider using webView:didClearWindowObject:forFrame:
- instead.
-*/
-- (void)webView:(WebView *)webView windowScriptObjectAvailable:(WebScriptObject *)windowScriptObject WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0);
-
-#if JSC_OBJC_API_ENABLED
-/*!
- @method webView:didCreateJavaScriptContext:contextForFrame:
- @abstract Notifies the delegate that a new JavaScript context has been created created.
- @param webView The WebView sending the message.
- @param context The JSContext representing the frame's JavaScript window object.
- @param frame The WebFrame to which the context belongs.
- @discussion If a delegate implements webView:didCreateJavaScriptContext:forFrame: along with either
- webView:didClearWindowObject:forFrame: or webView:windowScriptObjectAvailable:, only
- webView:didCreateJavaScriptContext:forFrame will be invoked. This enables a delegate to implement
- multiple versions to maintain backwards compatibility with older versions of WebKit.
-*/
-- (void)webView:(WebView *)webView didCreateJavaScriptContext:(JSContext *)context forFrame:(WebFrame *)frame;
-#endif
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebFrameLoadDelegatePrivate.h b/Source/WebKit/mac/WebView/WebFrameLoadDelegatePrivate.h
deleted file mode 100644
index 02eb850ec..000000000
--- a/Source/WebKit/mac/WebView/WebFrameLoadDelegatePrivate.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2009 Adam Barth. 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebFrameLoadDelegate.h>
-
-@class WebScriptWorld;
-@class WebSecurityOrigin;
-
-@interface NSObject (WebFrameLoadDelegatePrivate)
-
-- (void)webViewDidDisplayInsecureContent:(WebView *)webView;
-- (void)webView:(WebView *)webView didRunInsecureContent:(WebSecurityOrigin *)origin;
-- (void)webView:(WebView *)webView didDetectXSS:(NSURL *)insecureURL;
-- (void)webView:(WebView *)webView didClearWindowObjectForFrame:(WebFrame *)frame inScriptWorld:(WebScriptWorld *)world;
-- (void)webView:(WebView *)webView didPushStateWithinPageForFrame:(WebFrame *)frame;
-- (void)webView:(WebView *)webView didReplaceStateWithinPageForFrame:(WebFrame *)frame;
-- (void)webView:(WebView *)webView didPopStateWithinPageForFrame:(WebFrame *)frame;
-- (void)webView:(WebView *)webView didRemoveFrameFromHierarchy:(WebFrame *)frame;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebFramePrivate.h b/Source/WebKit/mac/WebView/WebFramePrivate.h
deleted file mode 100644
index c8bdff730..000000000
--- a/Source/WebKit/mac/WebView/WebFramePrivate.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-// This header contains the WebFrame SPI.
-
-#import <WebKit/WebFrame.h>
-#import <JavaScriptCore/JSBase.h>
-
-#if !defined(ENABLE_NETSCAPE_PLUGIN_API)
-#define ENABLE_NETSCAPE_PLUGIN_API 1
-#endif
-
-@class DOMDocumentFragment;
-@class DOMNode;
-@class DOMRange;
-@class WebScriptObject;
-@class WebScriptWorld;
-
-// Keys for accessing the values in the page cache dictionary.
-extern NSString *WebPageCacheEntryDateKey;
-extern NSString *WebPageCacheDataSourceKey;
-extern NSString *WebPageCacheDocumentViewKey;
-
-extern NSString *WebFrameMainDocumentError;
-extern NSString *WebFrameHasPlugins;
-extern NSString *WebFrameHasUnloadListener;
-extern NSString *WebFrameUsesDatabases;
-extern NSString *WebFrameUsesGeolocation;
-extern NSString *WebFrameUsesApplicationCache;
-extern NSString *WebFrameCanSuspendActiveDOMObjects;
-
-typedef enum {
- WebFrameLoadTypeStandard,
- WebFrameLoadTypeBack,
- WebFrameLoadTypeForward,
- WebFrameLoadTypeIndexedBackForward, // a multi-item hop in the backforward list
- WebFrameLoadTypeReload,
- WebFrameLoadTypeReloadAllowingStaleData,
- WebFrameLoadTypeSame, // user loads same URL again (but not reload button)
- WebFrameLoadTypeInternal, // maps to WebCore::FrameLoadTypeRedirectWithLockedBackForwardList
- WebFrameLoadTypeReplace,
- WebFrameLoadTypeReloadFromOrigin,
-} WebFrameLoadType;
-
-@interface WebFrame (WebPrivate)
-
-- (BOOL)_isDescendantOfFrame:(WebFrame *)frame;
-- (void)_setShouldCreateRenderers:(BOOL)shouldCreateRenderers;
-- (NSColor *)_bodyBackgroundColor;
-- (BOOL)_isFrameSet;
-- (BOOL)_firstLayoutDone;
-- (BOOL)_isVisuallyNonEmpty;
-- (WebFrameLoadType)_loadType;
-
-// These methods take and return NSRanges based on the root editable element as the positional base.
-// This fits with AppKit's idea of an input context. These methods are slow compared to their DOMRange equivalents.
-// You should use WebView's selectedDOMRange and setSelectedDOMRange whenever possible.
-- (NSRange)_selectedNSRange;
-- (void)_selectNSRange:(NSRange)range;
-
-- (BOOL)_isDisplayingStandaloneImage;
-
-- (unsigned)_pendingFrameUnloadEventCount;
-
-#if ENABLE_NETSCAPE_PLUGIN_API
-- (void)_recursive_resumeNullEventsForAllNetscapePlugins;
-- (void)_recursive_pauseNullEventsForAllNetscapePlugins;
-#endif
-
-- (NSString *)_stringByEvaluatingJavaScriptFromString:(NSString *)string withGlobalObject:(JSObjectRef)globalObject inScriptWorld:(WebScriptWorld *)world;
-- (JSGlobalContextRef)_globalContextForScriptWorld:(WebScriptWorld *)world;
-
-#if JSC_OBJC_API_ENABLED
-- (JSContext *)_javaScriptContextForScriptWorld:(WebScriptWorld *)world;
-#endif
-
-- (void)_replaceSelectionWithFragment:(DOMDocumentFragment *)fragment selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace matchStyle:(BOOL)matchStyle;
-- (void)_replaceSelectionWithText:(NSString *)text selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace;
-- (void)_replaceSelectionWithMarkupString:(NSString *)markupString baseURLString:(NSString *)baseURLString selectReplacement:(BOOL)selectReplacement smartReplace:(BOOL)smartReplace;
-
-- (void)_smartInsertForString:(NSString *)pasteString replacingRange:(DOMRange *)rangeToReplace beforeString:(NSString **)beforeString afterString:(NSString **)afterString;
-
-- (NSMutableDictionary *)_cacheabilityDictionary;
-
-- (BOOL)_allowsFollowingLink:(NSURL *)URL;
-
-// Sets whether the scrollbars, if any, should be shown inside the document's border
-// (thus overlapping some content) or outside the webView's border (default behavior).
-// Changing this flag changes the size of the contentView and maintains the size of the frameView.
-- (void)setAllowsScrollersToOverlapContent:(BOOL)flag;
-
-// Sets if the scrollbar is always hidden, regardless of other scrollbar visibility settings.
-// This does not affect the scrollability of the document.
-- (void)setAlwaysHideHorizontalScroller:(BOOL)flag;
-- (void)setAlwaysHideVerticalScroller:(BOOL)flag;
-
-// Sets the name presented to accessibility clients for the web area object.
-- (void)setAccessibleName:(NSString *)name;
-
-- (NSString*)_layerTreeAsText;
-
-// The top of the accessibility tree.
-- (id)accessibilityRoot;
-
-// Clears frame opener. This is executed between layout tests runs
-- (void)_clearOpener;
-
-// Printing.
-- (NSArray *)_computePageRectsWithPrintScaleFactor:(float)printWidthScaleFactor pageSize:(NSSize)pageSize;
-
-- (JSValueRef)jsWrapperForNode:(DOMNode *)node inScriptWorld:(WebScriptWorld *)world;
-
-- (NSDictionary *)elementAtPoint:(NSPoint)point;
-
-- (NSURL *)_unreachableURL;
-@end
diff --git a/Source/WebKit/mac/WebView/WebFrameView.h b/Source/WebKit/mac/WebView/WebFrameView.h
deleted file mode 100644
index e170403a5..000000000
--- a/Source/WebKit/mac/WebView/WebFrameView.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-@class WebDataSource;
-@class WebFrame;
-@class WebFrameViewPrivate;
-
-@protocol WebDocumentView;
-
-/*!
- @class WebFrameView
-*/
-@interface WebFrameView : NSView
-{
-@private
- WebFrameViewPrivate *_private;
-}
-
-/*!
- @method webFrame
- @abstract Returns the WebFrame associated with this WebFrameView
- @result The WebFrameView's frame.
-*/
-- (WebFrame *)webFrame;
-
-/*!
- @method documentView
- @abstract Returns the WebFrameView's document subview
- @result The subview that renders the WebFrameView's contents
-*/
-- (NSView <WebDocumentView> *)documentView;
-
-/*!
- @method setAllowsScrolling:
- @abstract Sets whether the WebFrameView allows its document to be scrolled
- @param flag YES to allow the document to be scrolled, NO to disallow scrolling
-*/
-- (void)setAllowsScrolling:(BOOL)flag;
-
-/*!
- @method allowsScrolling
- @abstract Returns whether the WebFrameView allows its document to be scrolled
- @result YES if the document is allowed to scroll, otherwise NO
-*/
-- (BOOL)allowsScrolling;
-
-/*!
- @method canPrintHeadersAndFooters
- @abstract Tells whether this frame can print headers and footers
- @result YES if the frame can, no otherwise
-*/
-- (BOOL)canPrintHeadersAndFooters;
-
-/*!
- @method printOperationWithPrintInfo
- @abstract Creates a print operation set up to print this frame
- @result A newly created print operation object
-*/
-- (NSPrintOperation *)printOperationWithPrintInfo:(NSPrintInfo *)printInfo;
-
-/*!
- @method documentViewShouldHandlePrint
- @abstract Called by the host application before it initializes and runs a print operation.
- @result If NO is returned, the host application will abort its print operation and call -printDocumentView on the
- WebFrameView. The document view is then expected to run its own print operation. If YES is returned, the host
- application's print operation will continue as normal.
-*/
-- (BOOL)documentViewShouldHandlePrint;
-
-/*!
- @method printDocumentView
- @abstract Called by the host application when the WebFrameView returns YES from -documentViewShouldHandlePrint.
-*/
-- (void)printDocumentView;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebFrameView.mm b/Source/WebKit/mac/WebView/WebFrameView.mm
deleted file mode 100644
index c82c056bd..000000000
--- a/Source/WebKit/mac/WebView/WebFrameView.mm
+++ /dev/null
@@ -1,1169 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebFrameView.h"
-
-#import "WebClipView.h"
-#import "WebDataSourcePrivate.h"
-#import "WebDocument.h"
-#import "WebDynamicScrollBarsViewInternal.h"
-#import "WebFrame.h"
-#import "WebFrameInternal.h"
-#import "WebFrameViewInternal.h"
-#import "WebFrameViewPrivate.h"
-#import "WebHistoryItemInternal.h"
-#import "WebHTMLViewPrivate.h"
-#import "WebKeyGenerator.h"
-#import "WebKitErrorsPrivate.h"
-#import "WebKitStatisticsPrivate.h"
-#import "WebKitVersionChecks.h"
-#import "WebNSDictionaryExtras.h"
-#import "WebNSObjectExtras.h"
-#import "WebNSPasteboardExtras.h"
-#import "WebNSViewExtras.h"
-#import "WebNSWindowExtras.h"
-#import "WebPDFView.h"
-#import "WebPreferenceKeysPrivate.h"
-#import "WebResourceInternal.h"
-#import "WebSystemInterface.h"
-#import "WebViewInternal.h"
-#import "WebViewPrivate.h"
-#import <Foundation/NSURLRequest.h>
-#import <WebCore/BackForwardListImpl.h>
-#import <WebCore/DragController.h>
-#import <WebCore/EventHandler.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameView.h>
-#import <WebCore/HistoryItem.h>
-#import <WebCore/Page.h>
-#import <WebCore/RenderPart.h>
-#import <WebCore/ThreadCheck.h>
-#import <WebCore/WebCoreFrameView.h>
-#import <WebCore/WebCoreView.h>
-#import <WebKitSystemInterface.h>
-#import <wtf/Assertions.h>
-
-using namespace WebCore;
-
-@interface NSWindow (WindowPrivate)
-- (BOOL)_needsToResetDragMargins;
-- (void)_setNeedsToResetDragMargins:(BOOL)s;
-@end
-
-@interface NSClipView (AppKitSecretsIKnow)
-- (BOOL)_scrollTo:(const NSPoint *)newOrigin animate:(BOOL)animate; // need the boolean result from this method
-@end
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
-@interface NSView (Details)
-- (void)setBackgroundColor:(NSColor *)color;
-@end
-#endif
-
-enum {
- SpaceKey = 0x0020
-};
-
-@interface WebFrameView (WebFrameViewFileInternal) <WebCoreFrameView>
-- (float)_verticalKeyboardScrollDistance;
-@end
-
-@interface WebFrameViewPrivate : NSObject {
-@public
- WebFrame *webFrame;
- WebDynamicScrollBarsView *frameScrollView;
- BOOL includedInWebKitStatistics;
-}
-@end
-
-@implementation WebFrameViewPrivate
-
-- (void)dealloc
-{
- [frameScrollView release];
- [super dealloc];
-}
-
-@end
-
-@implementation WebFrameView (WebFrameViewFileInternal)
-
-- (float)_verticalKeyboardScrollDistance
-{
- // Arrow keys scroll the same distance that clicking the scroll arrow does.
- return [[self _scrollView] verticalLineScroll];
-}
-
-- (Frame*)_web_frame
-{
- return core(_private->webFrame);
-}
-
-@end
-
-@implementation WebFrameView (WebInternal)
-
-// Note that the WebVew is not retained.
-- (WebView *)_webView
-{
- return [_private->webFrame webView];
-}
-
-- (void)_setDocumentView:(NSView <WebDocumentView> *)view
-{
- WebDynamicScrollBarsView *sv = [self _scrollView];
-
-#if ENABLE(DRAG_SUPPORT)
- core([self _webView])->dragController()->setDidInitiateDrag(false);
-#endif
-
- [sv setSuppressLayout:YES];
-
- // If the old view is the first responder, transfer first responder status to the new view as
- // a convenience and so that we don't leave the window pointing to a view that's no longer in it.
- NSWindow *window = [sv window];
- NSResponder *firstResponder = [window firstResponder];
- bool makeNewViewFirstResponder = [firstResponder isKindOfClass:[NSView class]] && [(NSView *)firstResponder isDescendantOf:[sv documentView]];
-
- // Suppress the resetting of drag margins since we know we can't affect them.
- BOOL resetDragMargins = [window _needsToResetDragMargins];
- [window _setNeedsToResetDragMargins:NO];
- [sv setDocumentView:view];
- [window _setNeedsToResetDragMargins:resetDragMargins];
-
- if (makeNewViewFirstResponder)
- [window makeFirstResponder:view];
- [sv setSuppressLayout:NO];
-}
-
--(NSView <WebDocumentView> *)_makeDocumentViewForDataSource:(WebDataSource *)dataSource
-{
- NSString* MIMEType = [dataSource _responseMIMEType];
- if (!MIMEType)
- MIMEType = @"text/html";
- Class viewClass = [self _viewClassForMIMEType:MIMEType];
- NSView <WebDocumentView> *documentView;
- if (viewClass) {
- // If the dataSource's representation has already been created, and it is also the
- // same class as the desired documentView, then use it as the documentView instead
- // of creating another one (Radar 4340787).
- id <WebDocumentRepresentation> dataSourceRepresentation = [dataSource representation];
- if (dataSourceRepresentation && [dataSourceRepresentation class] == viewClass)
- documentView = (NSView <WebDocumentView> *)[dataSourceRepresentation retain];
- else
- documentView = [[viewClass alloc] init];
- } else
- documentView = nil;
-
- [self _setDocumentView:documentView];
- [documentView release];
-
- return documentView;
-}
-
-- (void)_setWebFrame:(WebFrame *)webFrame
-{
- if (!webFrame) {
- NSView *docV = [self documentView];
- if ([docV respondsToSelector:@selector(close)])
- [docV performSelector:@selector(close)];
- }
-
- // Not retained because the WebView owns the WebFrame, which owns the WebFrameView.
- _private->webFrame = webFrame;
-
- if (!_private->includedInWebKitStatistics && [webFrame _isIncludedInWebKitStatistics]) {
- _private->includedInWebKitStatistics = YES;
- ++WebFrameViewCount;
- }
-}
-
-- (WebDynamicScrollBarsView *)_scrollView
-{
- // This can be called by [super dealloc] when cleaning up the key view loop,
- // after _private has been nilled out.
- if (_private == nil)
- return nil;
- return _private->frameScrollView;
-}
-
-- (float)_verticalPageScrollDistance
-{
- float height = [[self _contentView] bounds].size.height;
- return max<float>(height * Scrollbar::minFractionToStepWhenPaging(), height - Scrollbar::maxOverlapBetweenPages());
-}
-
-static inline void addTypesFromClass(NSMutableDictionary *allTypes, Class objCClass, NSArray *supportTypes)
-{
- NSEnumerator *enumerator = [supportTypes objectEnumerator];
- ASSERT(enumerator != nil);
- NSString *mime = nil;
- while ((mime = [enumerator nextObject]) != nil) {
- // Don't clobber previously-registered classes.
- if ([allTypes objectForKey:mime] == nil)
- [allTypes setObject:objCClass forKey:mime];
- }
-}
-
-+ (NSMutableDictionary *)_viewTypesAllowImageTypeOmission:(BOOL)allowImageTypeOmission
-{
- static NSMutableDictionary *viewTypes = nil;
- static BOOL addedImageTypes = NO;
-
- if (!viewTypes) {
- viewTypes = [[NSMutableDictionary alloc] init];
- addTypesFromClass(viewTypes, [WebHTMLView class], [WebHTMLView supportedNonImageMIMETypes]);
-
- // Since this is a "secret default" we don't bother registering it.
- BOOL omitPDFSupport = [[NSUserDefaults standardUserDefaults] boolForKey:@"WebKitOmitPDFSupport"];
- if (!omitPDFSupport)
- addTypesFromClass(viewTypes, [WebPDFView class], [WebPDFView supportedMIMETypes]);
- }
-
- if (!addedImageTypes && !allowImageTypeOmission) {
- addTypesFromClass(viewTypes, [WebHTMLView class], [WebHTMLView supportedImageMIMETypes]);
- addedImageTypes = YES;
- }
-
- return viewTypes;
-}
-
-+ (BOOL)_canShowMIMETypeAsHTML:(NSString *)MIMEType
-{
- return [[[self _viewTypesAllowImageTypeOmission:YES] _webkit_objectForMIMEType:MIMEType] isSubclassOfClass:[WebHTMLView class]];
-}
-
-+ (Class)_viewClassForMIMEType:(NSString *)MIMEType allowingPlugins:(BOOL)allowPlugins
-{
- Class viewClass;
- return [WebView _viewClass:&viewClass andRepresentationClass:nil forMIMEType:MIMEType allowingPlugins:allowPlugins] ? viewClass : nil;
-}
-
-- (Class)_viewClassForMIMEType:(NSString *)MIMEType
-{
- return [[self class] _viewClassForMIMEType:MIMEType allowingPlugins:[[[self _webView] preferences] arePlugInsEnabled]];
-}
-
-- (void)_install
-{
- ASSERT(_private->webFrame);
- ASSERT(_private->frameScrollView);
-
- Frame* frame = core(_private->webFrame);
-
- ASSERT(frame);
- ASSERT(frame->page());
-
- // If this isn't the main frame, it must have an owner element set, or it
- // won't ever get installed in the view hierarchy.
- ASSERT(frame == frame->page()->mainFrame() || frame->ownerElement());
-
- FrameView* view = frame->view();
-
- view->setPlatformWidget(_private->frameScrollView);
-
- // FIXME: Frame tries to do this too. Is this code needed?
- if (RenderPart* owner = frame->ownerRenderer()) {
- owner->setWidget(view);
- // Now the render part owns the view, so we don't any more.
- }
-
- view->updateCanHaveScrollbars();
-}
-
-- (void)_frameSizeChanged
-{
- // See WebFrameLoaderClient::provisionalLoadStarted.
- if ([[[self webFrame] webView] drawsBackground])
- [[self _scrollView] setDrawsBackground:YES];
- if (Frame* coreFrame = [self _web_frame]) {
- if (FrameView* coreFrameView = coreFrame->view())
- coreFrameView->setNeedsLayout();
- }
-}
-
-@end
-
-@implementation WebFrameView
-
-- (id)initWithFrame:(NSRect)frame
-{
- self = [super initWithFrame:frame];
- if (!self)
- return nil;
-
- static bool didFirstTimeInitialization;
- if (!didFirstTimeInitialization) {
- didFirstTimeInitialization = true;
- InitWebCoreSystemInterface();
-
- // Need to tell WebCore what function to call for the "History Item has Changed" notification.
- // Note: We also do this in WebHistoryItem's init method.
- WebCore::notifyHistoryItemChanged = WKNotifyHistoryItemChanged;
-
-// FIXME: Remove the NSAppKitVersionNumberWithDeferredWindowDisplaySupport check once
-// once AppKit's Deferred Window Display support is available.
-#if !defined(NSAppKitVersionNumberWithDeferredWindowDisplaySupport)
- // CoreGraphics deferred updates are disabled if WebKitEnableCoalescedUpdatesPreferenceKey is NO
- // or has no value. For compatibility with Mac OS X 10.5 and lower, deferred updates are off by default.
- if (![[NSUserDefaults standardUserDefaults] boolForKey:WebKitEnableDeferredUpdatesPreferenceKey])
- WKDisableCGDeferredUpdates();
-#endif
- if (!WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_MAIN_THREAD_EXCEPTIONS))
- setDefaultThreadViolationBehavior(LogOnFirstThreadViolation, ThreadViolationRoundOne);
-
- bool throwExceptionsForRoundTwo = WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_ROUND_TWO_MAIN_THREAD_EXCEPTIONS);
-#ifdef MAIL_THREAD_WORKAROUND
- // Even if old Mail is linked with new WebKit, don't throw exceptions.
- if ([WebResource _needMailThreadWorkaroundIfCalledOffMainThread])
- throwExceptionsForRoundTwo = false;
-#endif
- if (!throwExceptionsForRoundTwo)
- setDefaultThreadViolationBehavior(LogOnFirstThreadViolation, ThreadViolationRoundTwo);
- }
-
- _private = [[WebFrameViewPrivate alloc] init];
-
- WebDynamicScrollBarsView *scrollView = [[WebDynamicScrollBarsView alloc] initWithFrame:NSMakeRect(0.0f, 0.0f, frame.size.width, frame.size.height)];
- _private->frameScrollView = scrollView;
- [scrollView setContentView:[[[WebClipView alloc] initWithFrame:[scrollView bounds]] autorelease]];
- [scrollView setDrawsBackground:NO];
- [scrollView setHasVerticalScroller:NO];
- [scrollView setHasHorizontalScroller:NO];
- [scrollView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
- [scrollView setLineScroll:Scrollbar::pixelsPerLineStep()];
- [self addSubview:scrollView];
-
- // Don't call our overridden version of setNextKeyView here; we need to make the standard NSView
- // link between us and our subview so that previousKeyView and previousValidKeyView work as expected.
- // This works together with our becomeFirstResponder and setNextKeyView overrides.
- [super setNextKeyView:scrollView];
-
- return self;
-}
-
-- (void)dealloc
-{
- if (_private && _private->includedInWebKitStatistics)
- --WebFrameViewCount;
-
- [_private release];
- _private = nil;
-
- [super dealloc];
-}
-
-- (void)finalize
-{
- if (_private && _private->includedInWebKitStatistics)
- --WebFrameViewCount;
-
- [super finalize];
-}
-
-- (WebFrame *)webFrame
-{
- // This method can be called beneath -[NSView dealloc] after _private has been cleared.
- return _private ? _private->webFrame : nil;
-}
-
-- (void)setAllowsScrolling:(BOOL)flag
-{
- WebCore::Frame *frame = core([self webFrame]);
- if (WebCore::FrameView *view = frame? frame->view() : 0)
- view->setCanHaveScrollbars(flag);
-}
-
-- (BOOL)allowsScrolling
-{
- WebCore::Frame *frame = core([self webFrame]);
- if (WebCore::FrameView *view = frame? frame->view() : 0)
- return view->canHaveScrollbars();
- return YES;
-}
-
-- (NSView <WebDocumentView> *)documentView
-{
- return [[self _scrollView] documentView];
-}
-
-- (BOOL)acceptsFirstResponder
-{
- // We always accept first responder; this matches OS X 10.2 WebKit
- // behavior (see 3469791).
- return YES;
-}
-
-- (BOOL)becomeFirstResponder
-{
- // This works together with setNextKeyView to splice the WebFrameView into
- // the key loop similar to the way NSScrollView does this. Note that
- // WebView has similar code.
-
- NSWindow *window = [self window];
- if ([window keyViewSelectionDirection] == NSSelectingPrevious) {
- NSView *previousValidKeyView = [self previousValidKeyView];
- // If we couldn't find a previous valid key view, ask the WebView. This handles frameset
- // cases (one is mentioned in Radar bug 3748628). Note that previousValidKeyView should
- // never be self but can be due to AppKit oddness (mentioned in Radar bug 3748628).
- if (previousValidKeyView == nil || previousValidKeyView == self)
- previousValidKeyView = [[[self webFrame] webView] previousValidKeyView];
- [window makeFirstResponder:previousValidKeyView];
- } else {
- // If the scroll view won't accept first-responderness now, then just become
- // the first responder ourself like a normal view. This lets us be the first
- // responder in cases where no page has yet been loaded.
- if ([[self _scrollView] acceptsFirstResponder])
- [window makeFirstResponder:[self _scrollView]];
- }
-
- return YES;
-}
-
-- (void)setNextKeyView:(NSView *)aView
-{
- // This works together with becomeFirstResponder to splice the WebFrameView into
- // the key loop similar to the way NSScrollView does this. Note that
- // WebView has very similar code.
- if ([self _scrollView] != nil) {
- [[self _scrollView] setNextKeyView:aView];
- } else {
- [super setNextKeyView:aView];
- }
-}
-
-- (BOOL)isOpaque
-{
- return [[self _webView] drawsBackground];
-}
-
-- (void)drawRect:(NSRect)rect
-{
- if (![self documentView]) {
- // Need to paint ourselves if there's no documentView to do it instead.
- if ([[self _webView] drawsBackground]) {
- [[[self _webView] backgroundColor] set];
- NSRectFill(rect);
- }
- } else {
-#ifndef NDEBUG
- if ([[self _scrollView] drawsBackground]) {
- [[NSColor cyanColor] set];
- NSRectFill(rect);
- }
-#endif
- }
-}
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
-- (BOOL)wantsUpdateLayer
-{
- return YES;
-}
-
-- (void)updateLayer
-{
- // Do what -drawRect: does but by setting a backgroundColor on the view. This avoids
- // backing store for this view when the WebView is layer-backed.
- if (![self documentView]) {
- if ([[self _webView] drawsBackground]) {
- [self setBackgroundColor:[[self _webView] backgroundColor]];
- return;
- }
- } else {
-#ifndef NDEBUG
- if ([[self _scrollView] drawsBackground]) {
- [self setBackgroundColor:[NSColor cyanColor]];
- return;
- }
-#endif
- }
-
- [self setBackgroundColor:[NSColor clearColor]];
-}
-#endif
-
-- (NSRect)visibleRect
-{
- // This method can be called beneath -[NSView dealloc] after we have cleared _private.
- if (!_private)
- return [super visibleRect];
-
- // FIXME: <rdar://problem/6213380> This method does not work correctly with transforms, for two reasons:
- // 1) [super visibleRect] does not account for the transform, since it is not represented
- // in the NSView hierarchy.
- // 2) -_getVisibleRect: does not correct for transforms.
-
- NSRect rendererVisibleRect;
- if (![[self webFrame] _getVisibleRect:&rendererVisibleRect])
- return [super visibleRect];
-
- if (NSIsEmptyRect(rendererVisibleRect))
- return NSZeroRect;
-
- NSRect viewVisibleRect = [super visibleRect];
- if (NSIsEmptyRect(viewVisibleRect))
- return NSZeroRect;
-
- NSRect frame = [self frame];
- // rendererVisibleRect is in the parent's coordinate space, and frame is in the superview's coordinate space.
- // The return value from this method needs to be in this view's coordinate space. We get that right by subtracting
- // the origins (and correcting for flipping), but when we support transforms, we will need to do better than this.
- rendererVisibleRect.origin.x -= frame.origin.x;
- rendererVisibleRect.origin.y = NSMaxY(frame) - NSMaxY(rendererVisibleRect);
- return NSIntersectionRect(rendererVisibleRect, viewVisibleRect);
-}
-
-- (void)setFrameSize:(NSSize)size
-{
- if (!NSEqualSizes(size, [self frame].size))
- [self _frameSizeChanged];
-
- [super setFrameSize:size];
-}
-
-- (void)viewDidMoveToWindow
-{
- // See WebFrameLoaderClient::provisionalLoadStarted.
- // Need to check _private for nil because this can be called inside -[WebView initWithCoder:].
- if (_private && [[[self webFrame] webView] drawsBackground])
- [[self _scrollView] setDrawsBackground:YES];
- [super viewDidMoveToWindow];
-}
-
-- (BOOL)_scrollOverflowInDirection:(ScrollDirection)direction granularity:(ScrollGranularity)granularity
-{
- // scrolling overflows is only applicable if we're dealing with an WebHTMLView
- if (![[self documentView] isKindOfClass:[WebHTMLView class]])
- return NO;
- Frame* frame = core([self webFrame]);
- if (!frame)
- return NO;
- 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])
- return YES;
- if (![self _isScrollable])
- return NO;
- NSPoint point = [(NSView *)[[self _scrollView] documentView] frame].origin;
- point.x += [[self _scrollView] scrollOrigin].x;
- point.y += [[self _scrollView] scrollOrigin].y;
- return [[self _contentView] _scrollTo:&point animate:YES];
-}
-
-- (BOOL)_scrollToEndOfDocument
-{
- if ([self _scrollOverflowInDirection:ScrollDown granularity:ScrollByDocument])
- return YES;
- if (![self _isScrollable])
- return NO;
- NSRect frame = [(NSView *)[[self _scrollView] documentView] frame];
-
- 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];
-}
-
-- (void)scrollToBeginningOfDocument:(id)sender
-{
- if ([self _scrollToBeginningOfDocument])
- return;
-
- if (WebFrameView *child = [self _largestScrollableChild]) {
- if ([child _scrollToBeginningOfDocument])
- return;
- }
- [[self nextResponder] tryToPerform:@selector(scrollToBeginningOfDocument:) with:sender];
-}
-
-- (void)scrollToEndOfDocument:(id)sender
-{
- if ([self _scrollToEndOfDocument])
- return;
-
- if (WebFrameView *child = [self _largestScrollableChild]) {
- if ([child _scrollToEndOfDocument])
- return;
- }
- [[self nextResponder] tryToPerform:@selector(scrollToEndOfDocument:) with:sender];
-}
-
-- (void)_goBack
-{
- [[self _webView] goBack];
-}
-
-- (void)_goForward
-{
- [[self _webView] goForward];
-}
-
-- (BOOL)_scrollVerticallyBy:(float)delta
-{
- // This method uses the secret method _scrollTo on NSClipView.
- // It does that because it needs to know definitively whether scrolling was
- // done or not to help implement the "scroll parent if we are at the limit" feature.
- // In the presence of smooth scrolling, there's no easy way to tell if the method
- // did any scrolling or not with the public API.
- NSPoint point = [[self _contentView] bounds].origin;
- point.y += delta;
- return [[self _contentView] _scrollTo:&point animate:YES];
-}
-
-- (BOOL)_scrollHorizontallyBy:(float)delta
-{
- NSPoint point = [[self _contentView] bounds].origin;
- point.x += delta;
- return [[self _contentView] _scrollTo:&point animate:YES];
-}
-
-- (float)_horizontalKeyboardScrollDistance
-{
- // Arrow keys scroll the same distance that clicking the scroll arrow does.
- return [[self _scrollView] horizontalLineScroll];
-}
-
-- (float)_horizontalPageScrollDistance
-{
- float width = [[self _contentView] bounds].size.width;
- return max<float>(width * Scrollbar::minFractionToStepWhenPaging(), width - Scrollbar::maxOverlapBetweenPages());
-}
-
-- (BOOL)_pageVertically:(BOOL)up
-{
- if ([self _scrollOverflowInDirection:up ? ScrollUp : ScrollDown granularity:ScrollByPage])
- return YES;
-
- if (![self _isScrollable])
- return [[self _largestScrollableChild] _pageVertically:up];
-
- float delta = [self _verticalPageScrollDistance];
- return [self _scrollVerticallyBy:up ? -delta : delta];
-}
-
-- (BOOL)_pageHorizontally:(BOOL)left
-{
- if ([self _scrollOverflowInDirection:left ? ScrollLeft : ScrollRight granularity:ScrollByPage])
- return YES;
-
- if (![self _isScrollable])
- return [[self _largestScrollableChild] _pageHorizontally:left];
-
- float delta = [self _horizontalPageScrollDistance];
- 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])
- return YES;
-
- if (![self _isScrollable])
- return [[self _largestScrollableChild] _scrollLineVertically:up];
-
- float delta = [self _verticalKeyboardScrollDistance];
- return [self _scrollVerticallyBy:up ? -delta : delta];
-}
-
-- (BOOL)_scrollLineHorizontally:(BOOL)left
-{
- if ([self _scrollOverflowInDirection:left ? ScrollLeft : ScrollRight granularity:ScrollByLine])
- return YES;
-
- if (![self _isScrollable])
- return [[self _largestScrollableChild] _scrollLineHorizontally:left];
-
- float delta = [self _horizontalKeyboardScrollDistance];
- return [self _scrollHorizontallyBy:left ? -delta : delta];
-}
-
-- (void)scrollPageUp:(id)sender
-{
- 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];
- }
-}
-
-- (void)scrollPageDown:(id)sender
-{
- 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];
- }
-}
-
-- (void)scrollLineUp:(id)sender
-{
- if (![self _scrollLineVertically:YES])
- [[self nextResponder] tryToPerform:@selector(scrollLineUp:) with:sender];
-}
-
-- (void)scrollLineDown:(id)sender
-{
- if (![self _scrollLineVertically:NO])
- [[self nextResponder] tryToPerform:@selector(scrollLineDown:) with:sender];
-}
-
-- (BOOL)_firstResponderIsFormControl
-{
- NSResponder *firstResponder = [[self window] firstResponder];
-
- // WebHTMLView is an NSControl subclass these days, but it's not a form control
- if ([firstResponder isKindOfClass:[WebHTMLView class]]) {
- return NO;
- }
- return [firstResponder isKindOfClass:[NSControl class]];
-}
-
-- (void)keyDown:(NSEvent *)event
-{
- // Implement common browser behaviors for all kinds of content.
-
- // FIXME: This is not a good time to execute commands for WebHTMLView. We should run these at the time commands sent by key bindings
- // are executed for consistency.
- // This doesn't work automatically because most of the keys handled here are translated into moveXXX commands, which are not handled
- // by Editor when focus is not in editable content.
-
- NSString *characters = [event characters];
- int index, count;
- BOOL callSuper = YES;
- Frame* coreFrame = [self _web_frame];
- BOOL maintainsBackForwardList = coreFrame && static_cast<BackForwardListImpl*>(coreFrame->page()->backForwardList())->enabled() ? YES : NO;
-
- count = [characters length];
- for (index = 0; index < count; ++index) {
- switch ([characters characterAtIndex:index]) {
- case NSDeleteCharacter:
- if (!maintainsBackForwardList || ![[[self _webView] preferences] backspaceKeyNavigationEnabled]) {
- callSuper = YES;
- break;
- }
- // This odd behavior matches some existing browsers,
- // including Windows IE
- if ([event modifierFlags] & NSShiftKeyMask) {
- [self _goForward];
- } else {
- [self _goBack];
- }
- callSuper = NO;
- break;
- case SpaceKey:
- // Checking for a control will allow events to percolate
- // correctly when the focus is on a form control and we
- // are in full keyboard access mode.
- if ((![self allowsScrolling] && ![self _largestScrollableChild]) || [self _firstResponderIsFormControl]) {
- callSuper = YES;
- break;
- }
- if ([event modifierFlags] & NSShiftKeyMask) {
- [self scrollPageUp:nil];
- } else {
- [self scrollPageDown:nil];
- }
- callSuper = NO;
- break;
- case NSPageUpFunctionKey:
- if (![self allowsScrolling] && ![self _largestScrollableChild]) {
- callSuper = YES;
- break;
- }
- [self scrollPageUp:nil];
- callSuper = NO;
- break;
- case NSPageDownFunctionKey:
- if (![self allowsScrolling] && ![self _largestScrollableChild]) {
- callSuper = YES;
- break;
- }
- [self scrollPageDown:nil];
- callSuper = NO;
- break;
- case NSHomeFunctionKey:
- if (![self allowsScrolling] && ![self _largestScrollableChild]) {
- callSuper = YES;
- break;
- }
- [self scrollToBeginningOfDocument:nil];
- callSuper = NO;
- break;
- case NSEndFunctionKey:
- if (![self allowsScrolling] && ![self _largestScrollableChild]) {
- callSuper = YES;
- break;
- }
- [self scrollToEndOfDocument:nil];
- callSuper = NO;
- break;
- case NSUpArrowFunctionKey:
- // We don't handle shifted or control-arrow keys here, so let super have a chance.
- if ([event modifierFlags] & (NSShiftKeyMask | NSControlKeyMask)) {
- callSuper = YES;
- break;
- }
- if ((![self allowsScrolling] && ![self _largestScrollableChild]) ||
- [[[self window] firstResponder] isKindOfClass:[NSPopUpButton class]]) {
- // Let arrow keys go through to pop up buttons
- // <rdar://problem/3455910>: hitting up or down arrows when focus is on a
- // pop-up menu should pop the menu
- callSuper = YES;
- break;
- }
- if ([event modifierFlags] & NSCommandKeyMask) {
- [self scrollToBeginningOfDocument:nil];
- } else if ([event modifierFlags] & NSAlternateKeyMask) {
- [self scrollPageUp:nil];
- } else {
- [self scrollLineUp:nil];
- }
- callSuper = NO;
- break;
- case NSDownArrowFunctionKey:
- // We don't handle shifted or control-arrow keys here, so let super have a chance.
- if ([event modifierFlags] & (NSShiftKeyMask | NSControlKeyMask)) {
- callSuper = YES;
- break;
- }
- if ((![self allowsScrolling] && ![self _largestScrollableChild]) ||
- [[[self window] firstResponder] isKindOfClass:[NSPopUpButton class]]) {
- // Let arrow keys go through to pop up buttons
- // <rdar://problem/3455910>: hitting up or down arrows when focus is on a
- // pop-up menu should pop the menu
- callSuper = YES;
- break;
- }
- if ([event modifierFlags] & NSCommandKeyMask) {
- [self scrollToEndOfDocument:nil];
- } else if ([event modifierFlags] & NSAlternateKeyMask) {
- [self scrollPageDown:nil];
- } else {
- [self scrollLineDown:nil];
- }
- callSuper = NO;
- break;
- case NSLeftArrowFunctionKey:
- // We don't handle shifted or control-arrow keys here, so let super have a chance.
- if ([event modifierFlags] & (NSShiftKeyMask | NSControlKeyMask)) {
- callSuper = YES;
- break;
- }
- // Check back/forward related keys.
- if ([event modifierFlags] & NSCommandKeyMask) {
- if (!maintainsBackForwardList) {
- callSuper = YES;
- break;
- }
- [self _goBack];
- } else {
- // Now check scrolling related keys.
- if ((![self allowsScrolling] && ![self _largestScrollableChild])) {
- callSuper = YES;
- break;
- }
-
- if ([event modifierFlags] & NSAlternateKeyMask) {
- [self _pageHorizontally:YES];
- } else {
- [self _scrollLineHorizontally:YES];
- }
- }
- callSuper = NO;
- break;
- case NSRightArrowFunctionKey:
- // We don't handle shifted or control-arrow keys here, so let super have a chance.
- if ([event modifierFlags] & (NSShiftKeyMask | NSControlKeyMask)) {
- callSuper = YES;
- break;
- }
- // Check back/forward related keys.
- if ([event modifierFlags] & NSCommandKeyMask) {
- if (!maintainsBackForwardList) {
- callSuper = YES;
- break;
- }
- [self _goForward];
- } else {
- // Now check scrolling related keys.
- if ((![self allowsScrolling] && ![self _largestScrollableChild])) {
- callSuper = YES;
- break;
- }
-
- if ([event modifierFlags] & NSAlternateKeyMask) {
- [self _pageHorizontally:NO];
- } else {
- [self _scrollLineHorizontally:NO];
- }
- }
- callSuper = NO;
- break;
- }
- }
-
- if (callSuper) {
- [super keyDown:event];
- } else {
- // if we did something useful, get the cursor out of the way
- [NSCursor setHiddenUntilMouseMoves:YES];
- }
-}
-
-- (NSView *)_webcore_effectiveFirstResponder
-{
- NSView *view = [self documentView];
- return view ? [view _webcore_effectiveFirstResponder] : [super _webcore_effectiveFirstResponder];
-}
-
-- (BOOL)canPrintHeadersAndFooters
-{
- NSView *documentView = [[self _scrollView] documentView];
- if ([documentView respondsToSelector:@selector(canPrintHeadersAndFooters)]) {
- return [(id)documentView canPrintHeadersAndFooters];
- }
- return NO;
-}
-
-- (NSPrintOperation *)printOperationWithPrintInfo:(NSPrintInfo *)printInfo
-{
- NSView *documentView = [[self _scrollView] documentView];
- if (!documentView) {
- return nil;
- }
- if ([documentView respondsToSelector:@selector(printOperationWithPrintInfo:)]) {
- return [(id)documentView printOperationWithPrintInfo:printInfo];
- }
- return [NSPrintOperation printOperationWithView:documentView printInfo:printInfo];
-}
-
-- (BOOL)documentViewShouldHandlePrint
-{
- NSView *documentView = [[self _scrollView] documentView];
- if (documentView && [documentView respondsToSelector:@selector(documentViewShouldHandlePrint)])
- return [(id)documentView documentViewShouldHandlePrint];
-
- return NO;
-}
-
-- (void)printDocumentView
-{
- NSView *documentView = [[self _scrollView] documentView];
- if (documentView && [documentView respondsToSelector:@selector(printDocumentView)])
- [(id)documentView printDocumentView];
-}
-
-@end
-
-@implementation WebFrameView (WebPrivate)
-
-- (float)_area
-{
- NSRect frame = [self frame];
- return frame.size.height * frame.size.width;
-}
-
-- (BOOL)_isScrollable
-{
- WebDynamicScrollBarsView *scrollView = [self _scrollView];
- return [scrollView horizontalScrollingAllowed] || [scrollView verticalScrollingAllowed];
-}
-
-- (WebFrameView *)_largestScrollableChild
-{
- WebFrameView *largest = nil;
- NSArray *frameChildren = [[self webFrame] childFrames];
-
- unsigned i;
- for (i=0; i < [frameChildren count]; i++) {
- WebFrameView *childFrameView = [[frameChildren objectAtIndex:i] frameView];
- WebFrameView *scrollableFrameView = [childFrameView _isScrollable] ? childFrameView : [childFrameView _largestScrollableChild];
- if (!scrollableFrameView)
- continue;
-
- // Some ads lurk in child frames of zero width and height, see radar 4406994. These don't count as scrollable.
- // Maybe someday we'll discover that this minimum area check should be larger, but this covers the known cases.
- float area = [scrollableFrameView _area];
- if (area < 1.0)
- continue;
-
- if (!largest || (area > [largest _area])) {
- largest = scrollableFrameView;
- }
- }
-
- return largest;
-}
-
-- (BOOL)_hasScrollBars
-{
- // FIXME: This method was used by Safari 4.0.x and older versions, but has not been used by any other WebKit
- // clients to my knowledge, and will not be used by future versions of Safari. It can probably be removed
- // once we no longer need to keep nightly WebKit builds working with Safari 4.0.x and earlier.
- NSScrollView *scrollView = [self _scrollView];
- return [scrollView hasHorizontalScroller] || [scrollView hasVerticalScroller];
-}
-
-- (WebFrameView *)_largestChildWithScrollBars
-{
- // FIXME: This method was used by Safari 4.0.x and older versions, but has not been used by any other WebKit
- // clients to my knowledge, and will not be used by future versions of Safari. It can probably be removed
- // once we no longer need to keep nightly WebKit builds working with Safari 4.0.x and earlier.
- WebFrameView *largest = nil;
- NSArray *frameChildren = [[self webFrame] childFrames];
-
- unsigned i;
- for (i=0; i < [frameChildren count]; i++) {
- WebFrameView *childFrameView = [[frameChildren objectAtIndex:i] frameView];
- WebFrameView *scrollableFrameView = [childFrameView _hasScrollBars] ? childFrameView : [childFrameView _largestChildWithScrollBars];
- if (!scrollableFrameView)
- continue;
-
- // Some ads lurk in child frames of zero width and height, see radar 4406994. These don't count as scrollable.
- // Maybe someday we'll discover that this minimum area check should be larger, but this covers the known cases.
- float area = [scrollableFrameView _area];
- if (area < 1.0)
- continue;
-
- if (!largest || (area > [largest _area])) {
- largest = scrollableFrameView;
- }
- }
-
- return largest;
-}
-
-- (NSClipView *)_contentView
-{
- return [[self _scrollView] contentView];
-}
-
-- (Class)_customScrollViewClass
-{
- if ([_private->frameScrollView class] == [WebDynamicScrollBarsView class])
- return nil;
- return [_private->frameScrollView class];
-}
-
-- (void)_setCustomScrollViewClass:(Class)customClass
-{
- if (!customClass)
- customClass = [WebDynamicScrollBarsView class];
- ASSERT([customClass isSubclassOfClass:[WebDynamicScrollBarsView class]]);
- if (customClass == [_private->frameScrollView class])
- return;
- if (![customClass isSubclassOfClass:[WebDynamicScrollBarsView class]])
- return;
-
- WebDynamicScrollBarsView *oldScrollView = _private->frameScrollView; // already retained
- NSView <WebDocumentView> *documentView = [[self documentView] retain];
-
- WebDynamicScrollBarsView *scrollView = [[customClass alloc] initWithFrame:[oldScrollView frame]];
- [scrollView setContentView:[[[WebClipView alloc] initWithFrame:[scrollView bounds]] autorelease]];
- [scrollView setDrawsBackground:[oldScrollView drawsBackground]];
- [scrollView setHasVerticalScroller:[oldScrollView hasVerticalScroller]];
- [scrollView setHasHorizontalScroller:[oldScrollView hasHorizontalScroller]];
- [scrollView setAutoresizingMask:[oldScrollView autoresizingMask]];
- [scrollView setLineScroll:[oldScrollView lineScroll]];
- [self addSubview:scrollView];
-
- // don't call our overridden version here; we need to make the standard NSView link between us
- // and our subview so that previousKeyView and previousValidKeyView work as expected. This works
- // together with our becomeFirstResponder and setNextKeyView overrides.
- [super setNextKeyView:scrollView];
-
- _private->frameScrollView = scrollView;
-
- [self _setDocumentView:documentView];
- [self _install];
-
- [oldScrollView removeFromSuperview];
- [oldScrollView release];
- [documentView release];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebFrameViewInternal.h b/Source/WebKit/mac/WebView/WebFrameViewInternal.h
deleted file mode 100644
index f7f67b2e9..000000000
--- a/Source/WebKit/mac/WebView/WebFrameViewInternal.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebFrameView.h>
-
-@class WebDynamicScrollBarsView;
-@class WebView;
-
-@interface WebFrameView (WebInternal)
-
-- (WebView *)_webView;
-- (void)_setDocumentView:(NSView <WebDocumentView> *)view;
-- (NSView <WebDocumentView> *)_makeDocumentViewForDataSource:(WebDataSource *)dataSource;
-- (void)_setWebFrame:(WebFrame *)webFrame;
-- (float)_verticalPageScrollDistance;
-+ (NSMutableDictionary *)_viewTypesAllowImageTypeOmission:(BOOL)allowImageTypeOmission;
-- (Class)_viewClassForMIMEType:(NSString *)MIMEType;
-+ (Class)_viewClassForMIMEType:(NSString *)MIMEType allowingPlugins:(BOOL)allowPlugins;
-+ (BOOL)_canShowMIMETypeAsHTML:(NSString *)MIMEType;
-- (WebDynamicScrollBarsView *)_scrollView;
-- (void)_install;
-- (void)_frameSizeChanged;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebFrameViewPrivate.h b/Source/WebKit/mac/WebView/WebFrameViewPrivate.h
deleted file mode 100644
index 93d36ec1b..000000000
--- a/Source/WebKit/mac/WebView/WebFrameViewPrivate.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebFrameView.h>
-
-@interface WebFrameView (WebPrivate)
-
-// FIXME: This method was used by Safari 4.0.x and older versions, but has not been used by any other WebKit
-// clients to my knowledge, and will not be used by future versions of Safari. It can probably be removed
-// once we no longer need to keep nightly WebKit builds working with Safari 4.0.x and earlier.
-/*!
- @method _largestChildWithScrollBars
- @abstract Of the child WebFrameViews that are displaying scroll bars, determines which has the largest area.
- @result A child WebFrameView that is displaying scroll bars, or nil if none.
- */
-- (WebFrameView *)_largestChildWithScrollBars;
-
-// FIXME: This method was used by Safari 4.0.x and older versions, but has not been used by any other WebKit
-// clients to my knowledge, and will not be used by future versions of Safari. It can probably be removed
-// once we no longer need to keep nightly WebKit builds working with Safari 4.0.x and earlier.
-/*!
- @method _hasScrollBars
- @result YES if at least one scroll bar is currently displayed
- */
-- (BOOL)_hasScrollBars;
-
-/*!
- @method _largestScrollableChild
- @abstract Of the child WebFrameViews that allow scrolling, determines which has the largest area.
- @result A child WebFrameView that is scrollable, or nil if none.
- */
-- (WebFrameView *)_largestScrollableChild;
-
-/*!
- @method _isScrollable
- @result YES if scrolling is currently possible, whether or not scroll bars are currently showing. This
- differs from -allowsScrolling in that the latter method only checks whether scrolling has been
- explicitly disallowed via a call to setAllowsScrolling:NO.
- */
-- (BOOL)_isScrollable;
-
-/*!
- @method _contentView
- @result The content view (NSClipView) of the WebFrameView's scroll view.
- */
-- (NSClipView *)_contentView;
-
-/*!
- @method _customScrollViewClass
- @result The custom scroll view class that is installed, nil if the default scroll view is being used.
- */
-- (Class)_customScrollViewClass;
-
-/*!
- @method _setCustomScrollViewClass:
- @result Switches the WebFrameView's scroll view class, this class needs to be a subclass of WebDynamicScrollBarsView.
- Passing nil will switch back to the default WebDynamicScrollBarsView class.
- */
-- (void)_setCustomScrollViewClass:(Class)scrollViewClass;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebFullScreenController.h b/Source/WebKit/mac/WebView/WebFullScreenController.h
deleted file mode 100644
index 4519b0419..000000000
--- a/Source/WebKit/mac/WebView/WebFullScreenController.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2010, 2011 Apple 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 INC. 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 INC. 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.
- */
-
-#if ENABLE(FULLSCREEN_API)
-
-#import <WebCore/IntPoint.h>
-#import <wtf/OwnPtr.h>
-#import <wtf/RefPtr.h>
-#import <wtf/RetainPtr.h>
-
-@class WebWindowFadeAnimation;
-@class WebWindowScaleAnimation;
-@class WebView;
-namespace WebCore {
- class DisplaySleepDisabler;
- class Element;
- class RenderBox;
- class EventListener;
-}
-
-@interface WebFullScreenController : NSWindowController {
-@private
- RefPtr<WebCore::Element> _element;
- WebView *_webView;
- RetainPtr<NSView> _webViewPlaceholder;
- RetainPtr<WebWindowScaleAnimation> _scaleAnimation;
- RetainPtr<WebWindowFadeAnimation> _fadeAnimation;
- RetainPtr<NSWindow> _backgroundWindow;
- NSRect _initialFrame;
- NSRect _finalFrame;
- WebCore::IntPoint _scrollPosition;
-
- BOOL _isEnteringFullScreen;
- BOOL _isExitingFullScreen;
- BOOL _isFullScreen;
- BOOL _isPlaying;
-}
-
-- (WebView*)webView;
-- (void)setWebView:(WebView*)webView;
-
-- (NSView*)webViewPlaceholder;
-
-- (BOOL)isFullScreen;
-
-- (void)setElement:(PassRefPtr<WebCore::Element>)element;
-- (WebCore::Element*)element;
-
-- (void)enterFullScreen:(NSScreen *)screen;
-- (void)exitFullScreen;
-- (void)close;
-@end
-
-#endif // ENABLE(FULLSCREEN_API)
diff --git a/Source/WebKit/mac/WebView/WebFullScreenController.mm b/Source/WebKit/mac/WebView/WebFullScreenController.mm
deleted file mode 100644
index 3c6376a79..000000000
--- a/Source/WebKit/mac/WebView/WebFullScreenController.mm
+++ /dev/null
@@ -1,593 +0,0 @@
-/*
- * Copyright (C) 2010, 2011 Apple 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 INC. 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 INC. 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.
- */
-
-#if ENABLE(FULLSCREEN_API)
-
-#import "WebFullScreenController.h"
-
-#import "WebNSWindowExtras.h"
-#import "WebPreferencesPrivate.h"
-#import "WebViewInternal.h"
-#import <WebCore/Document.h>
-#import <WebCore/Element.h>
-#import <WebCore/FloatRect.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameView.h>
-#import <WebCore/HTMLElement.h>
-#import <WebCore/IntRect.h>
-#import <WebCore/Page.h>
-#import <WebCore/RenderLayer.h>
-#import <WebCore/RenderLayerBacking.h>
-#import <WebCore/RenderObject.h>
-#import <WebCore/RenderView.h>
-#import <WebCore/SoftLinking.h>
-#import <WebCore/WebCoreFullScreenWindow.h>
-#import <WebCore/WebWindowAnimation.h>
-#import <WebKitSystemInterface.h>
-#import <wtf/RetainPtr.h>
-
-using namespace WebCore;
-
-static const CFTimeInterval defaultAnimationDuration = 0.5;
-
-static IntRect screenRectOfContents(Element* element)
-{
- ASSERT(element);
- if (element->renderer() && element->renderer()->hasLayer() && element->renderer()->enclosingLayer()->isComposited()) {
- FloatQuad contentsBox = static_cast<FloatRect>(element->renderer()->enclosingLayer()->backing()->contentsBox());
- contentsBox = element->renderer()->localToAbsoluteQuad(contentsBox);
- return element->renderer()->view()->frameView()->contentsToScreen(contentsBox.enclosingBoundingBox());
- }
- return element->screenRect();
-}
-
-@interface WebFullScreenController(Private)<NSAnimationDelegate>
-- (void)_updateMenuAndDockForFullScreen;
-- (void)_swapView:(NSView*)view with:(NSView*)otherView;
-- (Document*)_document;
-- (void)_startEnterFullScreenAnimationWithDuration:(NSTimeInterval)duration;
-- (void)_startExitFullScreenAnimationWithDuration:(NSTimeInterval)duration;
-@end
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
-static NSRect convertRectToScreen(NSWindow *window, NSRect rect)
-{
- return [window convertRectToScreen:rect];
-}
-#else
-static NSRect convertRectToScreen(NSWindow *window, NSRect rect)
-{
- NSRect frame = [window frame];
- rect.origin.x += frame.origin.x;
- rect.origin.y += frame.origin.y;
- return rect;
-}
-#endif
-
-@interface NSWindow(IsOnActiveSpaceAdditionForTigerAndLeopard)
-- (BOOL)isOnActiveSpace;
-@end
-
-@implementation WebFullScreenController
-
-#pragma mark -
-#pragma mark Initialization
-- (id)init
-{
- // Do not defer window creation, to make sure -windowNumber is created (needed by WebWindowScaleAnimation).
- NSWindow *window = [[WebCoreFullScreenWindow alloc] initWithContentRect:NSZeroRect styleMask:NSClosableWindowMask backing:NSBackingStoreBuffered defer:NO];
- self = [super initWithWindow:window];
- [window release];
- if (!self)
- return nil;
- [self windowDidLoad];
-
- return self;
-}
-
-- (void)dealloc
-{
- [self setWebView:nil];
-
- [NSObject cancelPreviousPerformRequestsWithTarget:self];
-
- [[NSNotificationCenter defaultCenter] removeObserver:self];
- [super dealloc];
-}
-
-- (void)windowDidLoad
-{
- [super windowDidLoad];
-
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidResignActive:) name:NSApplicationDidResignActiveNotification object:NSApp];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationDidChangeScreenParameters:) name:NSApplicationDidChangeScreenParametersNotification object:NSApp];
-}
-
-#pragma mark -
-#pragma mark Accessors
-
-- (WebView*)webView
-{
- return _webView;
-}
-
-- (void)setWebView:(WebView *)webView
-{
- [webView retain];
- [_webView release];
- _webView = webView;
-}
-
-- (NSView*)webViewPlaceholder
-{
- return _webViewPlaceholder.get();
-}
-
-- (Element*)element
-{
- return _element.get();
-}
-
-- (void)setElement:(PassRefPtr<Element>)element
-{
- _element = element;
-}
-
-- (BOOL)isFullScreen
-{
- return _isFullScreen;
-}
-
-#pragma mark -
-#pragma mark NSWindowController overrides
-
-- (void)cancelOperation:(id)sender
-{
- [self performSelector:@selector(requestExitFullScreen) withObject:nil afterDelay:0];
-}
-
-#pragma mark -
-#pragma mark Notifications
-
-- (void)applicationDidResignActive:(NSNotification*)notification
-{
- // Check to see if the fullscreenWindow is on the active space; this function is available
- // on 10.6 and later, so default to YES if the function is not available:
- NSWindow* fullscreenWindow = [self window];
- BOOL isOnActiveSpace = ([fullscreenWindow respondsToSelector:@selector(isOnActiveSpace)] ? [fullscreenWindow isOnActiveSpace] : YES);
-
- // Replicate the QuickTime Player (X) behavior when losing active application status:
- // Is the fullscreen screen the main screen? (Note: this covers the case where only a
- // single screen is available.) Is the fullscreen screen on the current space? IFF so,
- // then exit fullscreen mode.
- if ([fullscreenWindow screen] == [[NSScreen screens] objectAtIndex:0] && isOnActiveSpace)
- [self cancelOperation:self];
-}
-
-- (void)applicationDidChangeScreenParameters:(NSNotification*)notification
-{
- // The user may have changed the main screen by moving the menu bar, or they may have changed
- // the Dock's size or location, or they may have changed the fullscreen screen's dimensions.
- // Update our presentation parameters, and ensure that the full screen window occupies the
- // entire screen:
- [self _updateMenuAndDockForFullScreen];
- NSWindow* window = [self window];
- NSRect screenFrame = [[window screen] frame];
- [window setFrame:screenFrame display:YES];
- [_backgroundWindow.get() setFrame:screenFrame display:YES];
-}
-
-#pragma mark -
-#pragma mark Exposed Interface
-
-- (void)enterFullScreen:(NSScreen *)screen
-{
- if (_isFullScreen)
- return;
- _isFullScreen = YES;
-
- [self _updateMenuAndDockForFullScreen];
-
- if (!screen)
- screen = [NSScreen mainScreen];
- NSRect screenFrame = [screen frame];
-
- NSRect webViewFrame = convertRectToScreen([_webView window], [_webView convertRect:[_webView frame] toView:nil]);
-
- // Flip coordinate system:
- webViewFrame.origin.y = NSMaxY([[[NSScreen screens] objectAtIndex:0] frame]) - NSMaxY(webViewFrame);
-
- CGWindowID windowID = [[_webView window] windowNumber];
- RetainPtr<CGImageRef> webViewContents = adoptCF(CGWindowListCreateImage(NSRectToCGRect(webViewFrame), kCGWindowListOptionIncludingWindow, windowID, kCGWindowImageShouldBeOpaque));
-
- // Screen updates to be re-enabled in beganEnterFullScreenWithInitialFrame:finalFrame:
- NSDisableScreenUpdates();
- [[self window] setAutodisplay:NO];
-
- NSResponder *webWindowFirstResponder = [[_webView window] firstResponder];
- [[self window] setFrame:screenFrame display:NO];
-
- _initialFrame = screenRectOfContents(_element.get());
-
- // Swap the webView placeholder into place.
- if (!_webViewPlaceholder) {
- _webViewPlaceholder = adoptNS([[NSView alloc] init]);
- [_webViewPlaceholder.get() setLayer:[CALayer layer]];
- [_webViewPlaceholder.get() setWantsLayer:YES];
- }
- [[_webViewPlaceholder.get() layer] setContents:(id)webViewContents.get()];
- _scrollPosition = [_webView _mainCoreFrame]->view()->scrollPosition();
- [self _swapView:_webView with:_webViewPlaceholder.get()];
-
- // Then insert the WebView into the full screen window
- NSView* contentView = [[self window] contentView];
- [contentView addSubview:_webView positioned:NSWindowBelow relativeTo:nil];
- [_webView setFrame:[contentView bounds]];
-
- [[self window] makeResponder:webWindowFirstResponder firstResponderIfDescendantOfView:_webView];
-
- [self _document]->webkitWillEnterFullScreenForElement(_element.get());
- [self _document]->setAnimatingFullScreen(true);
- [self _document]->updateLayout();
-
- _finalFrame = screenRectOfContents(_element.get());
-
- [self _updateMenuAndDockForFullScreen];
-
- [self _startEnterFullScreenAnimationWithDuration:defaultAnimationDuration];
-
- _isEnteringFullScreen = true;
-}
-
-- (void)finishedEnterFullScreenAnimation:(bool)completed
-{
- if (!_isEnteringFullScreen)
- return;
- _isEnteringFullScreen = NO;
-
- if (completed) {
- // Screen updates to be re-enabled at the end of this block
- NSDisableScreenUpdates();
- [self _document]->setAnimatingFullScreen(false);
- [self _document]->webkitDidEnterFullScreenForElement(_element.get());
-
- NSRect windowBounds = [[self window] frame];
- windowBounds.origin = NSZeroPoint;
- WKWindowSetClipRect([self window], windowBounds);
-
- NSWindow *webWindow = [_webViewPlaceholder.get() window];
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- // In Lion, NSWindow will animate into and out of orderOut operations. Suppress that
- // behavior here, making sure to reset the animation behavior afterward.
- NSWindowAnimationBehavior animationBehavior = [webWindow animationBehavior];
- [webWindow setAnimationBehavior:NSWindowAnimationBehaviorNone];
-#endif
- [webWindow orderOut:self];
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- [webWindow setAnimationBehavior:animationBehavior];
-#endif
-
- [_fadeAnimation.get() stopAnimation];
- [_fadeAnimation.get() setWindow:nil];
- _fadeAnimation = nullptr;
-
- [_backgroundWindow.get() orderOut:self];
- [_backgroundWindow.get() setFrame:NSZeroRect display:YES];
- NSEnableScreenUpdates();
- } else
- [_scaleAnimation.get() stopAnimation];
-}
-
-- (void)requestExitFullScreen
-{
- if (!_element)
- return;
- _element->document()->webkitCancelFullScreen();
-}
-
-- (void)exitFullScreen
-{
- if (!_isFullScreen)
- return;
- _isFullScreen = NO;
-
- // Screen updates to be re-enabled in beganExitFullScreenWithInitialFrame:finalFrame:
- NSDisableScreenUpdates();
- [[self window] setAutodisplay:NO];
-
- _finalFrame = screenRectOfContents(_element.get());
-
- [self _document]->webkitWillExitFullScreenForElement(_element.get());
- [self _document]->setAnimatingFullScreen(true);
-
- if (_isEnteringFullScreen)
- [self finishedEnterFullScreenAnimation:NO];
-
- [self _updateMenuAndDockForFullScreen];
-
- NSWindow* webWindow = [_webViewPlaceholder.get() window];
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- // In Lion, NSWindow will animate into and out of orderOut operations. Suppress that
- // behavior here, making sure to reset the animation behavior afterward.
- NSWindowAnimationBehavior animationBehavior = [webWindow animationBehavior];
- [webWindow setAnimationBehavior:NSWindowAnimationBehaviorNone];
-#endif
- // If the user has moved the fullScreen window into a new space, temporarily change
- // the collectionBehavior of the webView's window so that it is pulled into the active space:
- if (!([webWindow respondsToSelector:@selector(isOnActiveSpace)] ? [webWindow isOnActiveSpace] : YES)) {
- NSWindowCollectionBehavior behavior = [webWindow collectionBehavior];
- [webWindow setCollectionBehavior:NSWindowCollectionBehaviorCanJoinAllSpaces];
- [webWindow orderWindow:NSWindowBelow relativeTo:[[self window] windowNumber]];
- [webWindow setCollectionBehavior:behavior];
- } else
- [webWindow orderWindow:NSWindowBelow relativeTo:[[self window] windowNumber]];
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- [webWindow setAnimationBehavior:animationBehavior];
-#endif
-
- [self _startExitFullScreenAnimationWithDuration:defaultAnimationDuration];
- _isExitingFullScreen = YES;
-}
-
-- (void)finishedExitFullScreenAnimation:(bool)completed
-{
- if (!_isExitingFullScreen)
- return;
- _isExitingFullScreen = NO;
-
- [self _updateMenuAndDockForFullScreen];
-
- // Screen updates to be re-enabled at the end of this function
- NSDisableScreenUpdates();
-
- [self _document]->setAnimatingFullScreen(false);
- [self _document]->webkitDidExitFullScreenForElement(_element.get());
-
- NSResponder *firstResponder = [[self window] firstResponder];
- [self _swapView:_webViewPlaceholder.get() with:_webView];
- [_webView _mainCoreFrame]->view()->setScrollPosition(_scrollPosition);
- [[_webView window] makeResponder:firstResponder firstResponderIfDescendantOfView:_webView];
-
- NSRect windowBounds = [[self window] frame];
- windowBounds.origin = NSZeroPoint;
- WKWindowSetClipRect([self window], windowBounds);
-
- [[self window] orderOut:self];
- [[self window] setFrame:NSZeroRect display:YES];
-
- [_fadeAnimation.get() stopAnimation];
- [_fadeAnimation.get() setWindow:nil];
- _fadeAnimation = nullptr;
-
- [_backgroundWindow.get() orderOut:self];
- [_backgroundWindow.get() setFrame:NSZeroRect display:YES];
-
- [[_webView window] makeKeyAndOrderFront:self];
-
- NSEnableScreenUpdates();
-}
-
-- (void)performClose:(id)sender
-{
- if (_isFullScreen)
- [self cancelOperation:sender];
-}
-
-- (void)close
-{
- // We are being asked to close rapidly, most likely because the page
- // has closed or the web process has crashed. Just walk through our
- // normal exit full screen sequence, but don't wait to be called back
- // in response.
- if (_isFullScreen)
- [self exitFullScreen];
-
- if (_isExitingFullScreen)
- [self finishedExitFullScreenAnimation:YES];
-
- [super close];
-}
-
-#pragma mark -
-#pragma mark NSAnimation delegate
-
-- (void)animationDidEnd:(NSAnimation*)animation
-{
- if (_isFullScreen)
- [self finishedEnterFullScreenAnimation:YES];
- else
- [self finishedExitFullScreenAnimation:YES];
-}
-
-#pragma mark -
-#pragma mark Internal Interface
-
-- (void)_updateMenuAndDockForFullScreen
-{
- NSApplicationPresentationOptions options = NSApplicationPresentationDefault;
- NSScreen* fullscreenScreen = [[self window] screen];
-
- if (_isFullScreen) {
- // Auto-hide the menu bar if the fullscreenScreen contains the menu bar:
- // NOTE: if the fullscreenScreen contains the menu bar but not the dock, we must still
- // auto-hide the dock, or an exception will be thrown.
- if ([[NSScreen screens] objectAtIndex:0] == fullscreenScreen)
- options |= (NSApplicationPresentationAutoHideMenuBar | NSApplicationPresentationAutoHideDock);
- // Check if the current screen contains the dock by comparing the screen's frame to its
- // visibleFrame; if a dock is present, the visibleFrame will differ. If the current screen
- // contains the dock, hide it.
- else if (!NSEqualRects([fullscreenScreen frame], [fullscreenScreen visibleFrame]))
- options |= NSApplicationPresentationAutoHideDock;
- }
-
- if ([NSApp respondsToSelector:@selector(setPresentationOptions:)])
- [NSApp setPresentationOptions:options];
- else
- SetSystemUIMode(_isFullScreen ? kUIModeAllHidden : kUIModeNormal, 0);
-}
-
-#pragma mark -
-#pragma mark Utility Functions
-
-- (Document*)_document
-{
- return _element->document();
-}
-
-- (void)_swapView:(NSView*)view with:(NSView*)otherView
-{
- [CATransaction begin];
- [CATransaction setDisableActions:YES];
- [otherView setFrame:[view frame]];
- [otherView setAutoresizingMask:[view autoresizingMask]];
- [otherView removeFromSuperview];
- [[view superview] addSubview:otherView positioned:NSWindowAbove relativeTo:view];
- [view removeFromSuperview];
- [CATransaction commit];
-}
-
-static RetainPtr<NSWindow> createBackgroundFullscreenWindow(NSRect frame)
-{
- NSWindow *window = [[NSWindow alloc] initWithContentRect:frame styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO];
- [window setOpaque:YES];
- [window setBackgroundColor:[NSColor blackColor]];
- [window setReleasedWhenClosed:NO];
- return adoptNS(window);
-}
-
-static NSRect windowFrameFromApparentFrames(NSRect screenFrame, NSRect initialFrame, NSRect finalFrame)
-{
- NSRect initialWindowFrame;
- if (!NSWidth(initialFrame) || !NSWidth(finalFrame) || !NSHeight(initialFrame) || !NSHeight(finalFrame))
- return screenFrame;
-
- CGFloat xScale = NSWidth(screenFrame) / NSWidth(finalFrame);
- CGFloat yScale = NSHeight(screenFrame) / NSHeight(finalFrame);
- CGFloat xTrans = NSMinX(screenFrame) - NSMinX(finalFrame);
- CGFloat yTrans = NSMinY(screenFrame) - NSMinY(finalFrame);
- initialWindowFrame.size = NSMakeSize(NSWidth(initialFrame) * xScale, NSHeight(initialFrame) * yScale);
- initialWindowFrame.origin = NSMakePoint
- ( NSMinX(initialFrame) + xTrans / (NSWidth(finalFrame) / NSWidth(initialFrame))
- , NSMinY(initialFrame) + yTrans / (NSHeight(finalFrame) / NSHeight(initialFrame)));
- return initialWindowFrame;
-}
-
-- (void)_startEnterFullScreenAnimationWithDuration:(NSTimeInterval)duration
-{
- NSRect screenFrame = [[[self window] screen] frame];
- NSRect initialWindowFrame = windowFrameFromApparentFrames(screenFrame, _initialFrame, _finalFrame);
-
- _scaleAnimation = adoptNS([[WebWindowScaleAnimation alloc] initWithHintedDuration:duration window:[self window] initalFrame:initialWindowFrame finalFrame:screenFrame]);
-
- [_scaleAnimation.get() setAnimationBlockingMode:NSAnimationNonblocking];
- [_scaleAnimation.get() setDelegate:self];
- [_scaleAnimation.get() setCurrentProgress:0];
- [_scaleAnimation.get() startAnimation];
-
- // WKWindowSetClipRect takes window coordinates, so convert from screen coordinates here:
- NSRect finalBounds = _finalFrame;
- finalBounds.origin = [[self window] convertScreenToBase:finalBounds.origin];
- WKWindowSetClipRect([self window], finalBounds);
-
- [[self window] makeKeyAndOrderFront:self];
-
- if (!_backgroundWindow)
- _backgroundWindow = createBackgroundFullscreenWindow(screenFrame);
- else
- [_backgroundWindow.get() setFrame:screenFrame display:NO];
-
- CGFloat currentAlpha = 0;
- if (_fadeAnimation) {
- currentAlpha = [_fadeAnimation.get() currentAlpha];
- [_fadeAnimation.get() stopAnimation];
- [_fadeAnimation.get() setWindow:nil];
- }
-
- _fadeAnimation = adoptNS([[WebWindowFadeAnimation alloc] initWithDuration:duration
- window:_backgroundWindow.get()
- initialAlpha:currentAlpha
- finalAlpha:1]);
- [_fadeAnimation.get() setAnimationBlockingMode:NSAnimationNonblocking];
- [_fadeAnimation.get() setCurrentProgress:0];
- [_fadeAnimation.get() startAnimation];
-
- [_backgroundWindow.get() orderWindow:NSWindowBelow relativeTo:[[self window] windowNumber]];
-
- [[self window] setAutodisplay:YES];
- [[self window] displayIfNeeded];
- // Screen updates disabled in enterFullScreen:
- NSEnableScreenUpdates();
-}
-
-- (void)_startExitFullScreenAnimationWithDuration:(NSTimeInterval)duration
-{
- NSRect screenFrame = [[[self window] screen] frame];
- NSRect initialWindowFrame = windowFrameFromApparentFrames(screenFrame, _initialFrame, _finalFrame);
-
- NSRect currentFrame = _scaleAnimation ? [_scaleAnimation.get() currentFrame] : [[self window] frame];
- _scaleAnimation = adoptNS([[WebWindowScaleAnimation alloc] initWithHintedDuration:duration window:[self window] initalFrame:currentFrame finalFrame:initialWindowFrame]);
-
- [_scaleAnimation.get() setAnimationBlockingMode:NSAnimationNonblocking];
- [_scaleAnimation.get() setDelegate:self];
- [_scaleAnimation.get() setCurrentProgress:0];
- [_scaleAnimation.get() startAnimation];
-
- if (!_backgroundWindow)
- _backgroundWindow = createBackgroundFullscreenWindow(screenFrame);
- else
- [_backgroundWindow.get() setFrame:screenFrame display:NO];
-
- CGFloat currentAlpha = 1;
- if (_fadeAnimation) {
- currentAlpha = [_fadeAnimation.get() currentAlpha];
- [_fadeAnimation.get() stopAnimation];
- [_fadeAnimation.get() setWindow:nil];
- }
- _fadeAnimation = adoptNS([[WebWindowFadeAnimation alloc] initWithDuration:duration
- window:_backgroundWindow.get()
- initialAlpha:currentAlpha
- finalAlpha:0]);
- [_fadeAnimation.get() setAnimationBlockingMode:NSAnimationNonblocking];
- [_fadeAnimation.get() setCurrentProgress:0];
- [_fadeAnimation.get() startAnimation];
-
- [_backgroundWindow.get() orderWindow:NSWindowBelow relativeTo:[[self window] windowNumber]];
-
- // WKWindowSetClipRect takes window coordinates, so convert from screen coordinates here:
- NSRect finalBounds = _finalFrame;
- finalBounds.origin = [[self window] convertScreenToBase:finalBounds.origin];
- WKWindowSetClipRect([self window], finalBounds);
-
- [[self window] setAutodisplay:YES];
- [[self window] displayIfNeeded];
-
- // Screen updates disabled in exitFullScreen:
- NSEnableScreenUpdates();
-}
-
-@end
-
-
-#endif /* ENABLE(FULLSCREEN_API) */
diff --git a/Source/WebKit/mac/WebView/WebGeolocationPosition.h b/Source/WebKit/mac/WebView/WebGeolocationPosition.h
deleted file mode 100644
index 99348b4bf..000000000
--- a/Source/WebKit/mac/WebView/WebGeolocationPosition.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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.
- */
-
-@class WebGeolocationPositionInternal;
-
-@interface WebGeolocationPosition : NSObject
-{
- WebGeolocationPositionInternal *_internal;
-}
-
-- (id)initWithTimestamp:(double)timestamp latitude:(double)latitude longitude:(double)longitude accuracy:(double)accuracy;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebGeolocationPosition.mm b/Source/WebKit/mac/WebView/WebGeolocationPosition.mm
deleted file mode 100644
index 772506259..000000000
--- a/Source/WebKit/mac/WebView/WebGeolocationPosition.mm
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebGeolocationPosition.h"
-
-#import "WebGeolocationPositionInternal.h"
-#import <wtf/PassRefPtr.h>
-#import <wtf/RefPtr.h>
-
-#import <WebCore/GeolocationPosition.h>
-
-using namespace WebCore;
-
-@interface WebGeolocationPositionInternal : NSObject
-{
-@public
- RefPtr<GeolocationPosition> _position;
-}
-
-- (id)initWithCoreGeolocationPosition:(PassRefPtr<GeolocationPosition>)coreGeolocationPosition;
-@end
-
-@implementation WebGeolocationPositionInternal
-
-- (id)initWithCoreGeolocationPosition:(PassRefPtr<GeolocationPosition>)coreGeolocationPosition
-{
- self = [super init];
- if (!self)
- return nil;
- _position = coreGeolocationPosition;
- return self;
-}
-
-@end
-
-@implementation WebGeolocationPosition
-
-GeolocationPosition* core(WebGeolocationPosition *position)
-{
- return position ? position->_internal->_position.get() : 0;
-}
-
-- (id)initWithTimestamp:(double)timestamp latitude:(double)latitude longitude:(double)longitude accuracy:(double)accuracy
-{
- self = [super init];
- if (!self)
- return nil;
- _internal = [[WebGeolocationPositionInternal alloc] initWithCoreGeolocationPosition:GeolocationPosition::create(timestamp, latitude, longitude, accuracy)];
- return self;
-}
-
-- (id)initWithGeolocationPosition:(PassRefPtr<GeolocationPosition>)coreGeolocationPosition
-{
- self = [super init];
- if (!self)
- return nil;
- _internal = [[WebGeolocationPositionInternal alloc] initWithCoreGeolocationPosition:coreGeolocationPosition];
- return self;
-}
-
-- (void)dealloc
-{
- [_internal release];
- [super dealloc];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebHTMLRepresentation.h b/Source/WebKit/mac/WebView/WebHTMLRepresentation.h
deleted file mode 100644
index b07d6488c..000000000
--- a/Source/WebKit/mac/WebView/WebHTMLRepresentation.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-#import <WebKit/WebDocumentPrivate.h>
-
-@class WebHTMLRepresentationPrivate;
-@class NSView;
-
-@class DOMNode;
-@class DOMElement;
-
-@protocol WebDocumentMarkup;
-@protocol WebDocumentRepresentation;
-@protocol WebDocumentSourceRepresentation;
-
-/*!
- @class WebHTMLRepresentation
-*/
-@interface WebHTMLRepresentation : NSObject <WebDocumentRepresentation, WebDocumentDOM>
-{
- WebHTMLRepresentationPrivate *_private;
-}
-
-+ (NSArray *)supportedMIMETypes;
-+ (NSArray *)supportedNonImageMIMETypes;
-+ (NSArray *)supportedImageMIMETypes;
-+ (NSArray *)unsupportedTextMIMETypes;
-
-- (NSAttributedString *)attributedStringFrom:(DOMNode *)startNode startOffset:(int)startOffset to:(DOMNode *)endNode endOffset:(int)endOffset;
-
-- (DOMElement *)elementWithName:(NSString *)name inForm:(DOMElement *)form;
-- (BOOL)elementDoesAutoComplete:(DOMElement *)element;
-- (BOOL)elementIsPassword:(DOMElement *)element;
-- (DOMElement *)formForElement:(DOMElement *)element;
-- (DOMElement *)currentForm;
-- (NSArray *)controlsInForm:(DOMElement *)form;
-- (NSString *)searchForLabels:(NSArray *)labels beforeElement:(DOMElement *)element resultDistance:(NSUInteger*)outDistance resultIsInCellAbove:(BOOL*)outIsInCellAbove;
-- (NSString *)matchLabels:(NSArray *)labels againstElement:(DOMElement *)element;
-
-// Deprecated SPI
-- (NSString *)searchForLabels:(NSArray *)labels beforeElement:(DOMElement *)element; // Use -searchForLabels:beforeElement:resultDistance:resultIsInCellAbove:
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebHTMLRepresentation.mm b/Source/WebKit/mac/WebView/WebHTMLRepresentation.mm
deleted file mode 100644
index 3c706116d..000000000
--- a/Source/WebKit/mac/WebView/WebHTMLRepresentation.mm
+++ /dev/null
@@ -1,570 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebHTMLRepresentation.h"
-
-#import "DOMElementInternal.h"
-#import "DOMNodeInternal.h"
-#import "DOMRangeInternal.h"
-#import "WebArchive.h"
-#import "WebBasePluginPackage.h"
-#import "WebDataSourceInternal.h"
-#import "WebDocumentPrivate.h"
-#import "WebFrameInternal.h"
-#import "WebKitNSStringExtras.h"
-#import "WebKitStatisticsPrivate.h"
-#import "WebNSObjectExtras.h"
-#import "WebTypesInternal.h"
-#import "WebView.h"
-#import <Foundation/NSURLResponse.h>
-#import <WebCore/Document.h>
-#import <WebCore/DocumentLoader.h>
-#import <WebCore/Editor.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/FrameLoaderClient.h>
-#import <WebCore/HTMLConverter.h>
-#import <WebCore/HTMLFormControlElement.h>
-#import <WebCore/HTMLFormElement.h>
-#import <WebCore/HTMLInputElement.h>
-#import <WebCore/HTMLNames.h>
-#import <WebCore/HTMLTableCellElement.h>
-#import <WebCore/MIMETypeRegistry.h>
-#import <WebCore/NodeTraversal.h>
-#import <WebCore/Range.h>
-#import <WebCore/RegularExpression.h>
-#import <WebCore/RenderObject.h>
-#import <WebCore/TextResourceDecoder.h>
-#import <WebKit/DOMHTMLInputElement.h>
-#import <wtf/Assertions.h>
-#import <wtf/StdLibExtras.h>
-
-using namespace WebCore;
-using namespace HTMLNames;
-
-@interface WebHTMLRepresentationPrivate : NSObject {
-@public
- WebDataSource *dataSource;
-
- BOOL hasSentResponseToPlugin;
- BOOL includedInWebKitStatistics;
-
- id <WebPluginManualLoader> manualLoader;
- NSView *pluginView;
-}
-@end
-
-@implementation WebHTMLRepresentationPrivate
-@end
-
-@implementation WebHTMLRepresentation
-
-static NSMutableArray *newArrayWithStrings(const HashSet<String>& set) NS_RETURNS_RETAINED;
-static NSMutableArray *newArrayWithStrings(const HashSet<String>& set)
-{
- NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:set.size()];
- HashSet<String>::const_iterator end = set.end();
- for (HashSet<String>::const_iterator it = set.begin(); it != end; ++it)
- [array addObject:(NSString *)(*it)];
- return array;
-}
-
-static NSMutableArray *newArrayByConcatenatingArrays(NSArray *first, NSArray *second) NS_RETURNS_RETAINED;
-static NSMutableArray *newArrayByConcatenatingArrays(NSArray *first, NSArray *second)
-{
- NSMutableArray *result = [first mutableCopy];
- [result addObjectsFromArray:second];
- return result;
-}
-
-+ (NSArray *)supportedMIMETypes
-{
- static __unsafe_unretained NSArray *staticSupportedMIMETypes = newArrayByConcatenatingArrays([self supportedNonImageMIMETypes], [self supportedImageMIMETypes]);
- return staticSupportedMIMETypes;
-}
-
-+ (NSArray *)supportedNonImageMIMETypes
-{
- static __unsafe_unretained NSArray *staticSupportedNonImageMIMETypes = newArrayWithStrings(MIMETypeRegistry::getSupportedNonImageMIMETypes());
- return staticSupportedNonImageMIMETypes;
-}
-
-+ (NSArray *)supportedImageMIMETypes
-{
- static __unsafe_unretained NSArray *staticSupportedImageMIMETypes = newArrayWithStrings(MIMETypeRegistry::getSupportedImageMIMETypes());
- return staticSupportedImageMIMETypes;
-}
-
-+ (NSArray *)unsupportedTextMIMETypes
-{
- static __unsafe_unretained NSArray *staticUnsupportedTextMIMETypes = newArrayWithStrings(MIMETypeRegistry::getUnsupportedTextMIMETypes());
- return staticUnsupportedTextMIMETypes;
-}
-
-- (id)init
-{
- self = [super init];
- if (!self)
- return nil;
-
- _private = [[WebHTMLRepresentationPrivate alloc] init];
-
- return self;
-}
-
-- (void)dealloc
-{
- if (_private && _private->includedInWebKitStatistics)
- --WebHTMLRepresentationCount;
-
- [_private release];
-
- [super dealloc];
-}
-
-- (void)finalize
-{
- if (_private && _private->includedInWebKitStatistics)
- --WebHTMLRepresentationCount;
-
- [super finalize];
-}
-
-- (void)_redirectDataToManualLoader:(id<WebPluginManualLoader>)manualLoader forPluginView:(NSView *)pluginView
-{
- _private->manualLoader = manualLoader;
- _private->pluginView = pluginView;
-}
-
-- (void)setDataSource:(WebDataSource *)dataSource
-{
- _private->dataSource = dataSource;
-
- if (!_private->includedInWebKitStatistics && [[dataSource webFrame] _isIncludedInWebKitStatistics]) {
- _private->includedInWebKitStatistics = YES;
- ++WebHTMLRepresentationCount;
- }
-}
-
-- (BOOL)_isDisplayingWebArchive
-{
- return [[_private->dataSource _responseMIMEType] _webkit_isCaseInsensitiveEqualToString:@"application/x-webarchive"];
-}
-
-- (void)receivedData:(NSData *)data withDataSource:(WebDataSource *)dataSource
-{
- WebFrame *webFrame = [dataSource webFrame];
- if (!webFrame)
- return;
-
- if (!_private->pluginView)
- [webFrame _commitData:data];
-
- // If the document is a stand-alone media document, now is the right time to cancel the WebKit load
- Frame* coreFrame = core(webFrame);
- if (coreFrame->document()->isMediaDocument())
- coreFrame->loader()->documentLoader()->cancelMainResourceLoad(coreFrame->loader()->client()->pluginWillHandleLoadError(coreFrame->loader()->documentLoader()->response()));
-
- if (_private->pluginView) {
- if (!_private->hasSentResponseToPlugin) {
- [_private->manualLoader pluginView:_private->pluginView receivedResponse:[dataSource response]];
- _private->hasSentResponseToPlugin = YES;
- }
-
- [_private->manualLoader pluginView:_private->pluginView receivedData:data];
- }
-}
-
-- (void)receivedError:(NSError *)error withDataSource:(WebDataSource *)dataSource
-{
- if (_private->pluginView) {
- [_private->manualLoader pluginView:_private->pluginView receivedError:error];
- }
-}
-
-- (void)finishedLoadingWithDataSource:(WebDataSource *)dataSource
-{
- WebFrame* webFrame = [dataSource webFrame];
-
- if (_private->pluginView) {
- [_private->manualLoader pluginViewFinishedLoading:_private->pluginView];
- return;
- }
-
- if (!webFrame)
- return;
- WebView *webView = [webFrame webView];
- if ([webView mainFrame] == webFrame && [webView isEditable])
- core(webFrame)->editor().applyEditingStyleToBodyElement();
-}
-
-- (BOOL)canProvideDocumentSource
-{
- return [[_private->dataSource webFrame] _canProvideDocumentSource];
-}
-
-- (BOOL)canSaveAsWebArchive
-{
- return [[_private->dataSource webFrame] _canSaveAsWebArchive];
-}
-
-- (NSString *)documentSource
-{
- if ([self _isDisplayingWebArchive]) {
- SharedBuffer *parsedArchiveData = [_private->dataSource _documentLoader]->parsedArchiveData();
- NSData *nsData = parsedArchiveData ? parsedArchiveData->createNSData() : nil;
- NSString *result = [[NSString alloc] initWithData:nsData encoding:NSUTF8StringEncoding];
- [nsData release];
- return [result autorelease];
- }
-
- Frame* coreFrame = core([_private->dataSource webFrame]);
- if (!coreFrame)
- return nil;
- Document* document = coreFrame->document();
- if (!document)
- return nil;
- TextResourceDecoder* decoder = document->decoder();
- if (!decoder)
- return nil;
- NSData *data = [_private->dataSource data];
- if (!data)
- return nil;
- return decoder->encoding().decode(reinterpret_cast<const char*>([data bytes]), [data length]);
-}
-
-- (NSString *)title
-{
- return nsStringNilIfEmpty([_private->dataSource _documentLoader]->title().string());
-}
-
-- (DOMDocument *)DOMDocument
-{
- return [[_private->dataSource webFrame] DOMDocument];
-}
-
-- (NSAttributedString *)attributedText
-{
- // FIXME: Implement
- return nil;
-}
-
-- (NSAttributedString *)attributedStringFrom:(DOMNode *)startNode startOffset:(int)startOffset to:(DOMNode *)endNode endOffset:(int)endOffset
-{
- return [WebHTMLConverter editingAttributedStringFromRange:Range::create(core(startNode)->document(), core(startNode), startOffset, core(endNode), endOffset).get()];
-}
-
-static HTMLFormElement* formElementFromDOMElement(DOMElement *element)
-{
- Element* node = core(element);
- return node && node->hasTagName(formTag) ? static_cast<HTMLFormElement*>(node) : 0;
-}
-
-- (DOMElement *)elementWithName:(NSString *)name inForm:(DOMElement *)form
-{
- HTMLFormElement* formElement = formElementFromDOMElement(form);
- if (!formElement)
- return nil;
- const Vector<FormAssociatedElement*>& elements = formElement->associatedElements();
- AtomicString targetName = name;
- for (unsigned i = 0; i < elements.size(); i++) {
- FormAssociatedElement* elt = elements[i];
- if (elt->name() == targetName)
- return kit(toHTMLElement(elt));
- }
- return nil;
-}
-
-static HTMLInputElement* inputElementFromDOMElement(DOMElement* element)
-{
- Element* node = core(element);
- return node && isHTMLInputElement(node) ? toHTMLInputElement(node) : 0;
-}
-
-- (BOOL)elementDoesAutoComplete:(DOMElement *)element
-{
- HTMLInputElement* inputElement = inputElementFromDOMElement(element);
- return inputElement
- && inputElement->isTextField()
- && !inputElement->isPasswordField()
- && inputElement->shouldAutocomplete();
-}
-
-- (BOOL)elementIsPassword:(DOMElement *)element
-{
- HTMLInputElement* inputElement = inputElementFromDOMElement(element);
- return inputElement && inputElement->isPasswordField();
-}
-
-- (DOMElement *)formForElement:(DOMElement *)element
-{
- HTMLInputElement* inputElement = inputElementFromDOMElement(element);
- return inputElement ? kit(inputElement->form()) : 0;
-}
-
-- (DOMElement *)currentForm
-{
- return kit(core([_private->dataSource webFrame])->selection()->currentForm());
-}
-
-- (NSArray *)controlsInForm:(DOMElement *)form
-{
- HTMLFormElement* formElement = formElementFromDOMElement(form);
- if (!formElement)
- return nil;
- NSMutableArray *results = nil;
- 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(toHTMLElement(elements[i]));
- if (!results)
- results = [NSMutableArray arrayWithObject:de];
- else
- [results addObject:de];
- }
- }
- return results;
-}
-
-// Either get cached regexp or build one that matches any of the labels.
-// The regexp we build is of the form: (STR1|STR2|STRN)
-static RegularExpression* regExpForLabels(NSArray *labels)
-{
- // All the ObjC calls in this method are simple array and string
- // calls which we can assume do not raise exceptions
-
- // Parallel arrays that we use to cache regExps. In practice the number of expressions
- // that the app will use is equal to the number of locales is used in searching.
- static const unsigned int regExpCacheSize = 4;
- static NSMutableArray* regExpLabels = nil;
- DEFINE_STATIC_LOCAL(Vector<RegularExpression*>, regExps, ());
- DEFINE_STATIC_LOCAL(RegularExpression, wordRegExp, ("\\w", TextCaseSensitive));
-
- RegularExpression* result;
- if (!regExpLabels)
- regExpLabels = [[NSMutableArray alloc] initWithCapacity:regExpCacheSize];
- CFIndex cacheHit = [regExpLabels indexOfObject:labels];
- if (cacheHit != NSNotFound)
- result = regExps.at(cacheHit);
- else {
- String pattern("(");
- unsigned int numLabels = [labels count];
- unsigned int i;
- for (i = 0; i < numLabels; i++) {
- String label = [labels objectAtIndex:i];
-
- bool startsWithWordChar = false;
- bool endsWithWordChar = false;
- if (label.length() != 0) {
- startsWithWordChar = wordRegExp.match(label.substring(0, 1)) >= 0;
- endsWithWordChar = wordRegExp.match(label.substring(label.length() - 1, 1)) >= 0;
- }
-
- if (i != 0)
- pattern.append("|");
- // Search for word boundaries only if label starts/ends with "word characters".
- // If we always searched for word boundaries, this wouldn't work for languages
- // such as Japanese.
- if (startsWithWordChar)
- pattern.append("\\b");
- pattern.append(label);
- if (endsWithWordChar)
- pattern.append("\\b");
- }
- pattern.append(")");
- result = new RegularExpression(pattern, TextCaseInsensitive);
- }
-
- // add regexp to the cache, making sure it is at the front for LRU ordering
- if (cacheHit != 0) {
- if (cacheHit != NSNotFound) {
- // remove from old spot
- [regExpLabels removeObjectAtIndex:cacheHit];
- regExps.remove(cacheHit);
- }
- // add to start
- [regExpLabels insertObject:labels atIndex:0];
- regExps.insert(0, result);
- // trim if too big
- if ([regExpLabels count] > regExpCacheSize) {
- [regExpLabels removeObjectAtIndex:regExpCacheSize];
- RegularExpression* last = regExps.last();
- regExps.removeLast();
- delete last;
- }
- }
- return result;
-}
-
-static NSString* searchForLabelsBeforeElement(Frame* frame, NSArray* labels, Element* element, size_t* resultDistance, bool* resultIsInCellAbove)
-{
- RegularExpression* regExp = regExpForLabels(labels);
- // We stop searching after we've seen this many chars
- const unsigned int charsSearchedThreshold = 500;
- // This is the absolute max we search. We allow a little more slop than
- // charsSearchedThreshold, to make it more likely that we'll search whole nodes.
- const unsigned int maxCharsSearched = 600;
- // If the starting element is within a table, the cell that contains it
- HTMLTableCellElement* startingTableCell = 0;
- bool searchedCellAbove = false;
-
- if (resultDistance)
- *resultDistance = notFound;
- if (resultIsInCellAbove)
- *resultIsInCellAbove = false;
-
- // walk backwards in the node tree, until another element, or form, or end of tree
- unsigned lengthSearched = 0;
- Node* n;
- for (n = NodeTraversal::previous(element);
- n && lengthSearched < charsSearchedThreshold;
- n = NodeTraversal::previous(n))
- {
- if (n->hasTagName(formTag)
- || (n->isHTMLElement() && toElement(n)->isFormControlElement()))
- {
- // We hit another form element or the start of the form - bail out
- break;
- } else if (n->hasTagName(tdTag) && !startingTableCell) {
- startingTableCell = static_cast<HTMLTableCellElement*>(n);
- } else if (n->hasTagName(trTag) && startingTableCell) {
- NSString* result = frame->searchForLabelsAboveCell(regExp, startingTableCell, resultDistance);
- if (result && [result length] > 0) {
- if (resultIsInCellAbove)
- *resultIsInCellAbove = true;
- return result;
- }
- searchedCellAbove = true;
- } else if (n->isTextNode() && n->renderer() && n->renderer()->style()->visibility() == VISIBLE) {
- // For each text chunk, run the regexp
- String nodeString = n->nodeValue();
- // add 100 for slop, to make it more likely that we'll search whole nodes
- if (lengthSearched + nodeString.length() > maxCharsSearched)
- nodeString = nodeString.right(charsSearchedThreshold - lengthSearched);
- int pos = regExp->searchRev(nodeString);
- if (pos >= 0) {
- if (resultDistance)
- *resultDistance = lengthSearched;
- return nodeString.substring(pos, regExp->matchedLength());
- }
- lengthSearched += nodeString.length();
- }
- }
-
- // If we started in a cell, but bailed because we found the start of the form or the
- // previous element, we still might need to search the row above us for a label.
- if (startingTableCell && !searchedCellAbove) {
- NSString* result = frame->searchForLabelsAboveCell(regExp, startingTableCell, resultDistance);
- if (result && [result length] > 0) {
- if (resultIsInCellAbove)
- *resultIsInCellAbove = true;
- return result;
- }
- }
-
- return nil;
-}
-
-static NSString *matchLabelsAgainstString(NSArray *labels, const String& stringToMatch)
-{
- if (stringToMatch.isEmpty())
- return nil;
-
- String mutableStringToMatch = stringToMatch;
-
- // Make numbers and _'s in field names behave like word boundaries, e.g., "address2"
- replace(mutableStringToMatch, RegularExpression("\\d", TextCaseSensitive), " ");
- mutableStringToMatch.replace('_', ' ');
-
- RegularExpression* regExp = regExpForLabels(labels);
- // Use the largest match we can find in the whole string
- int pos;
- int length;
- int bestPos = -1;
- int bestLength = -1;
- int start = 0;
- do {
- pos = regExp->match(mutableStringToMatch, start);
- if (pos != -1) {
- length = regExp->matchedLength();
- if (length >= bestLength) {
- bestPos = pos;
- bestLength = length;
- }
- start = pos + 1;
- }
- } while (pos != -1);
-
- if (bestPos != -1)
- return mutableStringToMatch.substring(bestPos, bestLength);
- return nil;
-}
-
-static NSString* matchLabelsAgainstElement(NSArray* labels, Element* element)
-{
- // Match against the name element, then against the id element if no match is found for the name element.
- // See 7538330 for one popular site that benefits from the id element check.
- String resultFromNameAttribute = matchLabelsAgainstString(labels, element->getAttribute(nameAttr));
- if (!resultFromNameAttribute.isEmpty())
- return resultFromNameAttribute;
-
- return matchLabelsAgainstString(labels, element->getAttribute(idAttr));
-}
-
-
-- (NSString *)searchForLabels:(NSArray *)labels beforeElement:(DOMElement *)element
-{
- return [self searchForLabels:labels beforeElement:element resultDistance:0 resultIsInCellAbove:0];
-}
-
-- (NSString *)searchForLabels:(NSArray *)labels beforeElement:(DOMElement *)element resultDistance:(NSUInteger*)outDistance resultIsInCellAbove:(BOOL*)outIsInCellAbove
-{
- size_t distance;
- bool isInCellAbove;
-
- NSString *result = searchForLabelsBeforeElement(core([_private->dataSource webFrame]), labels, core(element), &distance, &isInCellAbove);
-
- if (outDistance) {
- if (distance == notFound)
- *outDistance = NSNotFound;
- else
- *outDistance = distance;
- }
-
- if (outIsInCellAbove)
- *outIsInCellAbove = isInCellAbove;
-
- return result;
-}
-
-- (NSString *)matchLabels:(NSArray *)labels againstElement:(DOMElement *)element
-{
- return matchLabelsAgainstElement(labels, core(element));
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebHTMLRepresentationPrivate.h b/Source/WebKit/mac/WebView/WebHTMLRepresentationPrivate.h
deleted file mode 100644
index d0c18ab18..000000000
--- a/Source/WebKit/mac/WebView/WebHTMLRepresentationPrivate.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebHTMLRepresentation.h>
-
-@protocol WebPluginManualLoader;
-
-@interface WebHTMLRepresentation (WebPrivate)
-- (void)_redirectDataToManualLoader:(id<WebPluginManualLoader>)manualLoader forPluginView:(NSView *)pluginView;
-- (void)printDOMTree;
-@end
diff --git a/Source/WebKit/mac/WebView/WebHTMLView.h b/Source/WebKit/mac/WebView/WebHTMLView.h
deleted file mode 100644
index a191cef2c..000000000
--- a/Source/WebKit/mac/WebView/WebHTMLView.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebDocument.h>
-
-@class WebDataSource;
-@class WebHTMLViewPrivate;
-
-/*!
- @class WebHTMLView
- @discussion A document view of WebFrameView that displays HTML content.
- WebHTMLView is a NSControl because it hosts NSCells that are painted by WebCore's Aqua theme
- renderer (and those cells must be hosted by an enclosing NSControl in order to paint properly).
-*/
-@interface WebHTMLView : NSControl <WebDocumentView, WebDocumentSearching>
-{
-@private
- WebHTMLViewPrivate *_private;
-}
-
-/*!
- @method setNeedsToApplyStyles:
- @abstract Sets flag to cause reapplication of style information.
- @param flag YES to apply style information, NO to not apply style information.
-*/
-- (void)setNeedsToApplyStyles:(BOOL)flag;
-
-/*!
- @method reapplyStyles
- @discussion Immediately causes reapplication of style information to the view. This should not be called directly,
- instead call setNeedsToApplyStyles:.
-*/
-- (void)reapplyStyles;
-
-- (void)outdent:(id)sender;
-
-@end
-
diff --git a/Source/WebKit/mac/WebView/WebHTMLView.mm b/Source/WebKit/mac/WebView/WebHTMLView.mm
deleted file mode 100644
index 6a7f6334e..000000000
--- a/Source/WebKit/mac/WebView/WebHTMLView.mm
+++ /dev/null
@@ -1,6180 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
- * (C) 2006, 2007 Graham Dennis (graham.dennis@gmail.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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebHTMLView.h"
-
-#import "DOMCSSStyleDeclarationInternal.h"
-#import "DOMDocumentFragmentInternal.h"
-#import "DOMDocumentInternal.h"
-#import "DOMNodeInternal.h"
-#import "DOMRangeInternal.h"
-#import "WebArchive.h"
-#import "WebClipView.h"
-#import "WebDOMOperationsInternal.h"
-#import "WebDataSourceInternal.h"
-#import "WebDefaultUIDelegate.h"
-#import "WebDelegateImplementationCaching.h"
-#import "WebDocumentInternal.h"
-#import "WebDynamicScrollBarsViewInternal.h"
-#import "WebEditingDelegate.h"
-#import "WebElementDictionary.h"
-#import "WebFrameInternal.h"
-#import "WebFramePrivate.h"
-#import "WebFrameViewInternal.h"
-#import "WebHTMLRepresentationPrivate.h"
-#import "WebHTMLViewInternal.h"
-#import "WebKitLogging.h"
-#import "WebKitNSStringExtras.h"
-#import "WebKitVersionChecks.h"
-#import "WebLocalizableStringsInternal.h"
-#import "WebNSEventExtras.h"
-#import "WebNSFileManagerExtras.h"
-#import "WebNSImageExtras.h"
-#import "WebNSObjectExtras.h"
-#import "WebNSPasteboardExtras.h"
-#import "WebNSPrintOperationExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebNSViewExtras.h"
-#import "WebNetscapePluginView.h"
-#import "WebNodeHighlight.h"
-#import "WebPluginController.h"
-#import "WebPreferences.h"
-#import "WebPreferencesPrivate.h"
-#import "WebResourcePrivate.h"
-#import "WebTextCompletionController.h"
-#import "WebTypesInternal.h"
-#import "WebUIDelegatePrivate.h"
-#import "WebViewInternal.h"
-#import <AppKit/NSAccessibility.h>
-#import <ApplicationServices/ApplicationServices.h>
-#import <WebCore/CSSStyleDeclaration.h>
-#import <WebCore/CachedImage.h>
-#import <WebCore/CachedResourceClient.h>
-#import <WebCore/CachedResourceLoader.h>
-#import <WebCore/Chrome.h>
-#import <WebCore/ColorMac.h>
-#import <WebCore/ContextMenu.h>
-#import <WebCore/ContextMenuController.h>
-#import <WebCore/Document.h>
-#import <WebCore/DocumentFragment.h>
-#import <WebCore/DocumentMarkerController.h>
-#import <WebCore/DragController.h>
-#import <WebCore/Editor.h>
-#import <WebCore/EditorDeleteAction.h>
-#import <WebCore/Element.h>
-#import <WebCore/EventHandler.h>
-#import <WebCore/ExceptionHandlers.h>
-#import <WebCore/FloatRect.h>
-#import <WebCore/FocusController.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/FrameSelection.h>
-#import <WebCore/FrameSnapshottingMac.h>
-#import <WebCore/FrameView.h>
-#import <WebCore/HTMLConverter.h>
-#import <WebCore/HTMLNames.h>
-#import <WebCore/HitTestResult.h>
-#import <WebCore/Image.h>
-#import <WebCore/KeyboardEvent.h>
-#import <WebCore/LegacyWebArchive.h>
-#import <WebCore/MIMETypeRegistry.h>
-#import <WebCore/Page.h>
-#import <WebCore/PlatformEventFactoryMac.h>
-#import <WebCore/Range.h>
-#import <WebCore/RenderView.h>
-#import <WebCore/RenderWidget.h>
-#import <WebCore/ResourceBuffer.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/RuntimeApplicationChecks.h>
-#import <WebCore/SharedBuffer.h>
-#import <WebCore/SimpleFontData.h>
-#import <WebCore/StylePropertySet.h>
-#import <WebCore/Text.h>
-#import <WebCore/TextAlternativeWithRange.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <WebCore/WebFontCache.h>
-#import <WebCore/WebNSAttributedStringExtras.h>
-#import <WebCore/markup.h>
-#import <WebKit/DOM.h>
-#import <WebKit/DOMExtensions.h>
-#import <WebKit/DOMPrivate.h>
-#import <WebKitSystemInterface.h>
-#import <dlfcn.h>
-#import <limits>
-#import <runtime/InitializeThreading.h>
-#import <wtf/MainThread.h>
-#import <wtf/ObjcRuntimeExtras.h>
-
-#if USE(ACCELERATED_COMPOSITING)
-#import <QuartzCore/QuartzCore.h>
-#endif
-
-using namespace WebCore;
-using namespace HTMLNames;
-using namespace WTF;
-
-@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
-
-@implementation NSWindow (BorderViewAccess)
-- (NSView*)_web_borderView
-{
- return _borderView;
-}
-@end
-
-@interface WebResponderChainSink : NSResponder {
- NSResponder* _lastResponderInChain;
- BOOL _receivedUnhandledCommand;
-}
-- (id)initWithResponderChain:(NSResponder *)chain;
-- (void)detach;
-- (BOOL)receivedUnhandledCommand;
-@end
-
-@interface WebLayerHostingFlippedView : NSView
-@end
-
-@implementation WebLayerHostingFlippedView
-- (BOOL)isFlipped
-{
- return YES;
-}
-@end
-
-@interface WebRootLayer : CALayer
-@end
-
-@implementation WebRootLayer
-- (void)renderInContext:(CGContextRef)ctx
-{
- // AppKit calls -[CALayer renderInContext:] to render layer-backed views
- // into bitmap contexts, but renderInContext: doesn't capture mask layers
- // (<rdar://problem/9539526>), so we can't rely on it. Since our layer
- // contents will have already been rendered by drawRect:, we can safely make
- // this a NOOP.
-}
-@end
-
-// if YES, do the standard NSView hit test (which can't give the right result when HTML overlaps a view)
-static BOOL forceNSViewHitTest;
-
-// if YES, do the "top WebHTMLView" hit test (which we'd like to do all the time but can't because of Java requirements [see bug 4349721])
-static BOOL forceWebHTMLViewHitTest;
-
-static WebHTMLView *lastHitView;
-
-static bool needsCursorRectsSupportAtPoint(NSWindow* window, NSPoint point)
-{
- forceNSViewHitTest = YES;
- NSView* view = [[window _web_borderView] hitTest:point];
- forceNSViewHitTest = NO;
-
- // WebHTMLView doesn't use cursor rects.
- if ([view isKindOfClass:[WebHTMLView class]])
- return false;
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
- // Neither do NPAPI plug-ins.
- if ([view isKindOfClass:[WebBaseNetscapePluginView class]])
- return false;
-#endif
-
- // Non-Web content, WebPDFView, and WebKit plug-ins use normal cursor handling.
- return true;
-}
-
-
-static IMP oldSetCursorForMouseLocationIMP;
-
-// Overriding an internal method is a hack; <rdar://problem/7662987> tracks finding a better solution.
-static void setCursor(NSWindow *self, SEL cmd, NSPoint point)
-{
- if (needsCursorRectsSupportAtPoint(self, point))
- wtfCallIMP<id>(oldSetCursorForMouseLocationIMP, self, cmd, point);
-}
-
-
-extern "C" {
-
-// Need to declare these attribute names because AppKit exports them but does not make them available in API or SPI headers.
-
-extern NSString *NSMarkedClauseSegmentAttributeName;
-extern NSString *NSTextInputReplacementRangeAttributeName;
-
-}
-
-@interface NSView (WebNSViewDetails)
-- (void)_recursiveDisplayRectIfNeededIgnoringOpacity:(NSRect)rect isVisibleRect:(BOOL)isVisibleRect rectIsVisibleRectForView:(NSView *)visibleView topView:(BOOL)topView;
-- (void)_recursiveDisplayAllDirtyWithLockFocus:(BOOL)needsLockFocus visRect:(NSRect)visRect;
-- (void)_recursive:(BOOL)recurse displayRectIgnoringOpacity:(NSRect)displayRect inContext:(NSGraphicsContext *)context topView:(BOOL)topView;
-- (NSRect)_dirtyRect;
-- (void)_setDrawsOwnDescendants:(BOOL)drawsOwnDescendants;
-- (BOOL)_drawnByAncestor;
-- (void)_invalidateGStatesForTree;
-- (void)_propagateDirtyRectsToOpaqueAncestors;
-- (void)_windowChangedKeyState;
-@end
-
-#if USE(ACCELERATED_COMPOSITING)
-static IMP oldSetNeedsDisplayInRectIMP;
-
-static void setNeedsDisplayInRect(NSView *self, SEL cmd, NSRect invalidRect)
-{
- if (![self _drawnByAncestor]) {
- wtfCallIMP<id>(oldSetNeedsDisplayInRectIMP, self, cmd, invalidRect);
- return;
- }
-
- static Class webFrameViewClass = [WebFrameView class];
- WebFrameView *enclosingWebFrameView = (WebFrameView *)self;
- while (enclosingWebFrameView && ![enclosingWebFrameView isKindOfClass:webFrameViewClass])
- enclosingWebFrameView = (WebFrameView *)[enclosingWebFrameView superview];
-
- if (!enclosingWebFrameView) {
- wtfCallIMP<id>(oldSetNeedsDisplayInRectIMP, self, cmd, invalidRect);
- return;
- }
-
- Frame* coreFrame = core([enclosingWebFrameView webFrame]);
- FrameView* frameView = coreFrame ? coreFrame->view() : 0;
- if (!frameView || !frameView->isEnclosedInCompositingLayer()) {
- wtfCallIMP<id>(oldSetNeedsDisplayInRectIMP, self, cmd, invalidRect);
- return;
- }
-
- NSRect invalidRectInWebFrameViewCoordinates = [enclosingWebFrameView convertRect:invalidRect fromView:self];
- IntRect invalidRectInFrameViewCoordinates(invalidRectInWebFrameViewCoordinates);
- if (![enclosingWebFrameView isFlipped])
- invalidRectInFrameViewCoordinates.setY(frameView->frameRect().size().height() - invalidRectInFrameViewCoordinates.maxY());
-
- frameView->invalidateRect(invalidRectInFrameViewCoordinates);
-}
-#endif // USE(ACCELERATED_COMPOSITING)
-
-@interface NSApplication (WebNSApplicationDetails)
-- (void)speakString:(NSString *)string;
-@end
-
-@interface NSWindow (WebNSWindowDetails)
-- (id)_newFirstResponderAfterResigning;
-@end
-
-@interface NSAttributedString (WebNSAttributedStringDetails)
-- (id)_initWithDOMRange:(DOMRange *)range;
-- (DOMDocumentFragment *)_documentFromRange:(NSRange)range document:(DOMDocument *)document documentAttributes:(NSDictionary *)dict subresources:(NSArray **)subresources;
-@end
-
-@interface NSSpellChecker (WebNSSpellCheckerDetails)
-- (void)learnWord:(NSString *)word;
-@end
-
-// By imaging to a width a little wider than the available pixels,
-// thin pages will be scaled down a little, matching the way they
-// print in IE and Camino. This lets them use fewer sheets than they
-// would otherwise, which is presumably why other browsers do this.
-// Wide pages will be scaled down more than this.
-const float _WebHTMLViewPrintingMinimumShrinkFactor = 1.25;
-
-// This number determines how small we are willing to reduce the page content
-// in order to accommodate the widest line. If the page would have to be
-// reduced smaller to make the widest line fit, we just clip instead (this
-// behavior matches MacIE and Mozilla, at least)
-const float _WebHTMLViewPrintingMaximumShrinkFactor = 2;
-
-#define AUTOSCROLL_INTERVAL 0.1f
-
-// Any non-zero value will do, but using something recognizable might help us debug some day.
-#define TRACKING_RECT_TAG 0xBADFACE
-
-// FIXME: This constant is copied from AppKit's _NXSmartPaste constant.
-#define WebSmartPastePboardType @"NeXT smart paste pasteboard type"
-
-#define STANDARD_WEIGHT 5
-#define MIN_BOLD_WEIGHT 7
-#define STANDARD_BOLD_WEIGHT 9
-
-// Fake URL scheme.
-#define WebDataProtocolScheme @"webkit-fake-url"
-
-// <rdar://problem/4985524> References to WebCoreScrollView as a subview of a WebHTMLView may be present
-// in some NIB files, so NSUnarchiver must be still able to look up this now-unused class.
-@interface WebCoreScrollView : NSScrollView
-@end
-
-@implementation WebCoreScrollView
-@end
-
-// We need this to be able to safely reference the CachedImage for the promised drag data
-static CachedImageClient* promisedDataClient()
-{
- static CachedImageClient* staticCachedResourceClient = new CachedImageClient;
- return staticCachedResourceClient;
-}
-
-@interface WebHTMLView (WebHTMLViewFileInternal)
-- (BOOL)_imageExistsAtPaths:(NSArray *)paths;
-- (DOMDocumentFragment *)_documentFragmentFromPasteboard:(NSPasteboard *)pasteboard inContext:(DOMRange *)context allowPlainText:(BOOL)allowPlainText;
-- (NSString *)_plainTextFromPasteboard:(NSPasteboard *)pasteboard;
-- (void)_pasteWithPasteboard:(NSPasteboard *)pasteboard allowPlainText:(BOOL)allowPlainText;
-- (void)_pasteAsPlainTextWithPasteboard:(NSPasteboard *)pasteboard;
-- (void)_removeMouseMovedObserverUnconditionally;
-- (void)_removeSuperviewObservers;
-- (void)_removeWindowObservers;
-- (BOOL)_shouldInsertFragment:(DOMDocumentFragment *)fragment replacingDOMRange:(DOMRange *)range givenAction:(WebViewInsertAction)action;
-- (BOOL)_shouldInsertText:(NSString *)text replacingDOMRange:(DOMRange *)range givenAction:(WebViewInsertAction)action;
-- (BOOL)_shouldReplaceSelectionWithText:(NSString *)text givenAction:(WebViewInsertAction)action;
-- (DOMRange *)_selectedRange;
-- (BOOL)_shouldDeleteRange:(DOMRange *)range;
-- (NSView *)_hitViewForEvent:(NSEvent *)event;
-- (void)_writeSelectionWithPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard cachedAttributedString:(NSAttributedString *)attributedString;
-- (DOMRange *)_documentRange;
-- (void)_setMouseDownEvent:(NSEvent *)event;
-- (WebHTMLView *)_topHTMLView;
-- (BOOL)_isTopHTMLView;
-- (void)_web_setPrintingModeRecursive;
-- (void)_web_setPrintingModeRecursiveAndAdjustViewSize;
-- (void)_web_clearPrintingModeRecursive;
-@end
-
-@interface WebHTMLView (WebHTMLViewTextCheckingInternal)
-- (void)orderFrontSubstitutionsPanel:(id)sender;
-- (BOOL)smartInsertDeleteEnabled;
-- (void)setSmartInsertDeleteEnabled:(BOOL)flag;
-- (void)toggleSmartInsertDelete:(id)sender;
-- (BOOL)isAutomaticQuoteSubstitutionEnabled;
-- (void)setAutomaticQuoteSubstitutionEnabled:(BOOL)flag;
-- (void)toggleAutomaticQuoteSubstitution:(id)sender;
-- (BOOL)isAutomaticLinkDetectionEnabled;
-- (void)setAutomaticLinkDetectionEnabled:(BOOL)flag;
-- (void)toggleAutomaticLinkDetection:(id)sender;
-- (BOOL)isAutomaticDashSubstitutionEnabled;
-- (void)setAutomaticDashSubstitutionEnabled:(BOOL)flag;
-- (void)toggleAutomaticDashSubstitution:(id)sender;
-- (BOOL)isAutomaticTextReplacementEnabled;
-- (void)setAutomaticTextReplacementEnabled:(BOOL)flag;
-- (void)toggleAutomaticTextReplacement:(id)sender;
-- (BOOL)isAutomaticSpellingCorrectionEnabled;
-- (void)setAutomaticSpellingCorrectionEnabled:(BOOL)flag;
-- (void)toggleAutomaticSpellingCorrection:(id)sender;
-@end
-
-@interface WebHTMLView (WebForwardDeclaration) // FIXME: Put this in a normal category and stop doing the forward declaration trick.
-- (void)_setPrinting:(BOOL)printing minimumPageLogicalWidth:(float)minPageWidth logicalHeight:(float)minPageHeight originalPageWidth:(float)pageLogicalWidth originalPageHeight:(float)pageLogicalHeight maximumShrinkRatio:(float)maximumShrinkRatio adjustViewSize:(BOOL)adjustViewSize paginateScreenContent:(BOOL)paginateScreenContent;
-- (void)_updateSecureInputState;
-@end
-
-@class NSTextInputContext;
-@interface NSResponder (AppKitDetails)
-- (NSTextInputContext *)inputContext;
-@end
-
-@interface NSObject (NSTextInputContextDetails)
-- (BOOL)wantsToHandleMouseEvents;
-- (BOOL)handleMouseEvent:(NSEvent *)event;
-@end
-
-@interface WebHTMLView (WebNSTextInputSupport) <NSTextInput>
-- (void)_updateSelectionForInputManager;
-@end
-
-@interface WebHTMLView (WebEditingStyleSupport)
-- (DOMCSSStyleDeclaration *)_emptyStyle;
-- (NSString *)_colorAsString:(NSColor *)color;
-@end
-
-@interface NSView (WebHTMLViewFileInternal)
-- (void)_web_addDescendantWebHTMLViewsToArray:(NSMutableArray *) array;
-@end
-
-@interface NSMutableDictionary (WebHTMLViewFileInternal)
-- (void)_web_setObjectIfNotNil:(id)object forKey:(id)key;
-@end
-
-struct WebHTMLViewInterpretKeyEventsParameters {
- KeyboardEvent* event;
- bool eventInterpretationHadSideEffects;
- bool shouldSaveCommands;
- bool consumedByIM;
- bool executingSavedKeypressCommands;
-};
-
-@interface WebHTMLViewPrivate : NSObject {
-@public
- BOOL closed;
- BOOL ignoringMouseDraggedEvents;
- BOOL printing;
- BOOL paginateScreenContent;
- BOOL observingMouseMovedNotifications;
- BOOL observingSuperviewNotifications;
- BOOL observingWindowNotifications;
-
- id savedSubviews;
- BOOL subviewsSetAside;
-
-#if USE(ACCELERATED_COMPOSITING)
- NSView *layerHostingView;
- BOOL drawingIntoLayer;
-#endif
-
- NSEvent *mouseDownEvent; // Kept after handling the event.
- BOOL handlingMouseDownEvent;
- NSEvent *keyDownEvent; // Kept after handling the event.
-
- // A WebHTMLView has a single input context, but we return nil when in non-editable content to avoid making input methods do their work.
- // This state is saved each time selection changes, because computing it causes style recalc, which is not always safe to do.
- BOOL exposeInputContext;
-
- // Track whether the view has set a secure input state.
- BOOL isInSecureInputState;
-
- BOOL _forceUpdateSecureInputState;
-
- NSPoint lastScrollPosition;
- BOOL inScrollPositionChanged;
-
- WebPluginController *pluginController;
-
- NSString *toolTip;
- NSToolTipTag lastToolTipTag;
- id trackingRectOwner;
- void *trackingRectUserData;
-
- NSTimer *autoscrollTimer;
- NSEvent *autoscrollTriggerEvent;
-
- NSArray *pageRects;
-
- NSMutableDictionary *highlighters;
-
-
- WebTextCompletionController *completionController;
-
- BOOL transparentBackground;
-
- WebHTMLViewInterpretKeyEventsParameters* interpretKeyEventsParameters;
-
- WebDataSource *dataSource;
- WebCore::CachedImage* promisedDragTIFFDataSource;
-
- SEL selectorForDoCommandBySelector;
-
- NSTrackingArea *trackingAreaForNonKeyWindow;
-
-#ifndef NDEBUG
- BOOL enumeratingSubviews;
-#endif
-}
-- (void)clear;
-@end
-
-static NSCellStateValue kit(TriState state)
-{
- switch (state) {
- case FalseTriState:
- return NSOffState;
- case TrueTriState:
- return NSOnState;
- case MixedTriState:
- return NSMixedState;
- }
- ASSERT_NOT_REACHED();
- return NSOffState;
-}
-
-@implementation WebHTMLViewPrivate
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
-
- if (!oldSetCursorForMouseLocationIMP) {
- Method setCursorMethod = class_getInstanceMethod([NSWindow class], @selector(_setCursorForMouseLocation:));
- ASSERT(setCursorMethod);
- oldSetCursorForMouseLocationIMP = method_setImplementation(setCursorMethod, (IMP)setCursor);
- ASSERT(oldSetCursorForMouseLocationIMP);
- }
-
-#if USE(ACCELERATED_COMPOSITING)
- if (!oldSetNeedsDisplayInRectIMP) {
- Method setNeedsDisplayInRectMethod = class_getInstanceMethod([NSView class], @selector(setNeedsDisplayInRect:));
- ASSERT(setNeedsDisplayInRectMethod);
- oldSetNeedsDisplayInRectIMP = method_setImplementation(setNeedsDisplayInRectMethod, (IMP)setNeedsDisplayInRect);
- ASSERT(oldSetNeedsDisplayInRectIMP);
- }
-#endif // USE(ACCELERATED_COMPOSITING)
-
-
-}
-
-- (void)dealloc
-{
- if (WebCoreObjCScheduleDeallocateOnMainThread([WebHTMLViewPrivate class], self))
- return;
-
- ASSERT(!autoscrollTimer);
- ASSERT(!autoscrollTriggerEvent);
-
- [mouseDownEvent release];
- [keyDownEvent release];
- [pluginController release];
- [toolTip release];
- [completionController release];
- [dataSource release];
- [highlighters release];
- [trackingAreaForNonKeyWindow release];
- if (promisedDragTIFFDataSource)
- promisedDragTIFFDataSource->removeClient(promisedDataClient());
-
- [super dealloc];
-}
-
-- (void)finalize
-{
- ASSERT_MAIN_THREAD();
-
- if (promisedDragTIFFDataSource)
- promisedDragTIFFDataSource->removeClient(promisedDataClient());
-
- [super finalize];
-}
-
-- (void)clear
-{
- [mouseDownEvent release];
- [keyDownEvent release];
- [pluginController release];
- [toolTip release];
- [completionController release];
- [dataSource release];
- [highlighters release];
- [trackingAreaForNonKeyWindow release];
- if (promisedDragTIFFDataSource)
- promisedDragTIFFDataSource->removeClient(promisedDataClient());
-
- mouseDownEvent = nil;
- keyDownEvent = nil;
- pluginController = nil;
- toolTip = nil;
- completionController = nil;
- dataSource = nil;
- highlighters = nil;
- trackingAreaForNonKeyWindow = nil;
- promisedDragTIFFDataSource = 0;
-
-#if USE(ACCELERATED_COMPOSITING)
- layerHostingView = nil;
-#endif
-}
-
-@end
-
-@implementation WebHTMLView (WebHTMLViewFileInternal)
-
-- (DOMRange *)_documentRange
-{
- return [[[self _frame] DOMDocument] _documentRange];
-}
-
-- (BOOL)_imageExistsAtPaths:(NSArray *)paths
-{
- NSEnumerator *enumerator = [paths objectEnumerator];
- NSString *path;
-
- while ((path = [enumerator nextObject]) != nil) {
- NSString *MIMEType = WKGetMIMETypeForExtension([path pathExtension]);
- if (MIMETypeRegistry::isSupportedImageResourceMIMEType(MIMEType))
- return YES;
- }
-
- return NO;
-}
-
-- (WebDataSource *)_dataSource
-{
- return _private->dataSource;
-}
-
-- (WebView *)_webView
-{
- return [_private->dataSource _webView];
-}
-
-- (WebFrameView *)_frameView
-{
- return [[_private->dataSource webFrame] frameView];
-}
-
-- (DOMDocumentFragment *)_documentFragmentWithPaths:(NSArray *)paths
-{
- DOMDocumentFragment *fragment;
- NSEnumerator *enumerator = [paths objectEnumerator];
- NSMutableArray *domNodes = [[NSMutableArray alloc] init];
- NSString *path;
-
- while ((path = [enumerator nextObject]) != nil) {
- // Non-image file types; _web_userVisibleString is appropriate here because this will
- // be pasted as visible text.
- NSString *url = [[[NSURL fileURLWithPath:path] _webkit_canonicalize] _web_userVisibleString];
- [domNodes addObject:[[[self _frame] DOMDocument] createTextNode: url]];
- }
-
- fragment = [[self _frame] _documentFragmentWithNodesAsParagraphs:domNodes];
-
- [domNodes release];
-
- return [fragment firstChild] != nil ? fragment : nil;
-}
-
-+ (NSArray *)_excludedElementsForAttributedStringConversion
-{
- static NSArray *elements = nil;
- if (elements == nil) {
- elements = [[NSArray alloc] initWithObjects:
- // Omit style since we want style to be inline so the fragment can be easily inserted.
- @"style",
- // Omit xml so the result is not XHTML.
- @"xml",
- // Omit tags that will get stripped when converted to a fragment anyway.
- @"doctype", @"html", @"head", @"body",
- // Omit deprecated tags.
- @"applet", @"basefont", @"center", @"dir", @"font", @"isindex", @"menu", @"s", @"strike", @"u",
- // Omit object so no file attachments are part of the fragment.
- @"object", nil];
- CFRetain(elements);
- }
- return elements;
-}
-
-static NSURL* uniqueURLWithRelativePart(NSString *relativePart)
-{
- CFUUIDRef UUIDRef = CFUUIDCreate(kCFAllocatorDefault);
- NSString *UUIDString = (NSString *)CFUUIDCreateString(kCFAllocatorDefault, UUIDRef);
- CFRelease(UUIDRef);
- NSURL *URL = [NSURL URLWithString:[NSString stringWithFormat:@"%@://%@/%@", WebDataProtocolScheme, UUIDString, relativePart]];
- CFRelease(UUIDString);
-
- return URL;
-}
-
-- (DOMDocumentFragment *)_documentFragmentFromPasteboard:(NSPasteboard *)pasteboard
- inContext:(DOMRange *)context
- allowPlainText:(BOOL)allowPlainText
-{
- NSArray *types = [pasteboard types];
- DOMDocumentFragment *fragment = nil;
-
- if ([types containsObject:WebArchivePboardType] &&
- (fragment = [self _documentFragmentFromPasteboard:pasteboard
- forType:WebArchivePboardType
- inContext:context
- subresources:0]))
- return fragment;
-
- if ([types containsObject:NSFilenamesPboardType] &&
- (fragment = [self _documentFragmentFromPasteboard:pasteboard
- forType:NSFilenamesPboardType
- inContext:context
- subresources:0]))
- return fragment;
-
- if ([types containsObject:NSHTMLPboardType] &&
- (fragment = [self _documentFragmentFromPasteboard:pasteboard
- forType:NSHTMLPboardType
- inContext:context
- subresources:0]))
- return fragment;
-
- if ([types containsObject:NSRTFDPboardType] &&
- (fragment = [self _documentFragmentFromPasteboard:pasteboard
- forType:NSRTFDPboardType
- inContext:context
- subresources:0]))
- return fragment;
-
- if ([types containsObject:NSRTFPboardType] &&
- (fragment = [self _documentFragmentFromPasteboard:pasteboard
- forType:NSRTFPboardType
- inContext:context
- subresources:0]))
- return fragment;
-
- if ([types containsObject:NSTIFFPboardType] &&
- (fragment = [self _documentFragmentFromPasteboard:pasteboard
- forType:NSTIFFPboardType
- inContext:context
- subresources:0]))
- return fragment;
-
- if ([types containsObject:NSPDFPboardType] &&
- (fragment = [self _documentFragmentFromPasteboard:pasteboard
- forType:NSPDFPboardType
- inContext:context
- subresources:0]))
- return fragment;
-
- if ([types containsObject:(NSString*)kUTTypePNG] &&
- (fragment = [self _documentFragmentFromPasteboard:pasteboard
- forType:(NSString*)kUTTypePNG
- inContext:context
- subresources:0]))
- return fragment;
-
- if ([types containsObject:NSURLPboardType] &&
- (fragment = [self _documentFragmentFromPasteboard:pasteboard
- forType:NSURLPboardType
- inContext:context
- subresources:0]))
- return fragment;
-
- if (allowPlainText && [types containsObject:NSStringPboardType] &&
- (fragment = [self _documentFragmentFromPasteboard:pasteboard
- forType:NSStringPboardType
- inContext:context
- subresources:0])) {
- return fragment;
- }
-
- return nil;
-}
-
-- (NSString *)_plainTextFromPasteboard:(NSPasteboard *)pasteboard
-{
- NSArray *types = [pasteboard types];
-
- if ([types containsObject:NSStringPboardType])
- return [[pasteboard stringForType:NSStringPboardType] precomposedStringWithCanonicalMapping];
-
- NSAttributedString *attributedString = nil;
- NSString *string;
-
- if ([types containsObject:NSRTFDPboardType])
- attributedString = [[NSAttributedString alloc] initWithRTFD:[pasteboard dataForType:NSRTFDPboardType] documentAttributes:NULL];
- if (attributedString == nil && [types containsObject:NSRTFPboardType])
- attributedString = [[NSAttributedString alloc] initWithRTF:[pasteboard dataForType:NSRTFPboardType] documentAttributes:NULL];
- if (attributedString != nil) {
- string = [[attributedString string] copy];
- [attributedString release];
- return [string autorelease];
- }
-
- if ([types containsObject:NSFilenamesPboardType]) {
- string = [[pasteboard propertyListForType:NSFilenamesPboardType] componentsJoinedByString:@"\n"];
- if (string != nil)
- return string;
- }
-
- NSURL *URL;
-
- if ((URL = [NSURL URLFromPasteboard:pasteboard])) {
- string = [URL _web_userVisibleString];
- if ([string length] > 0)
- return string;
- }
-
- return nil;
-}
-
-- (void)_pasteWithPasteboard:(NSPasteboard *)pasteboard allowPlainText:(BOOL)allowPlainText
-{
- WebView *webView = [[self _webView] retain];
- [webView _setInsertionPasteboard:pasteboard];
-
- DOMRange *range = [self _selectedRange];
- Frame* coreFrame = core([self _frame]);
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- DOMDocumentFragment *fragment = [self _documentFragmentFromPasteboard:pasteboard inContext:range allowPlainText:allowPlainText];
- if (fragment && [self _shouldInsertFragment:fragment replacingDOMRange:range givenAction:WebViewInsertActionPasted])
- coreFrame->editor().pasteAsFragment(core(fragment), [self _canSmartReplaceWithPasteboard:pasteboard], false);
-#else
- // Mail is ignoring the frament passed to the delegate and creates a new one.
- // We want to avoid creating the fragment twice.
- if (applicationIsAppleMail()) {
- if ([self _shouldInsertFragment:nil replacingDOMRange:range givenAction:WebViewInsertActionPasted]) {
- DOMDocumentFragment *fragment = [self _documentFragmentFromPasteboard:pasteboard inContext:range allowPlainText:allowPlainText];
- if (fragment)
- coreFrame->editor().pasteAsFragment(core(fragment), [self _canSmartReplaceWithPasteboard:pasteboard], false);
- }
- } else {
- DOMDocumentFragment *fragment = [self _documentFragmentFromPasteboard:pasteboard inContext:range allowPlainText:allowPlainText];
- if (fragment && [self _shouldInsertFragment:fragment replacingDOMRange:range givenAction:WebViewInsertActionPasted])
- coreFrame->editor().pasteAsFragment(core(fragment), [self _canSmartReplaceWithPasteboard:pasteboard], false);
- }
-#endif
- [webView _setInsertionPasteboard:nil];
- [webView release];
-}
-
-- (void)_pasteAsPlainTextWithPasteboard:(NSPasteboard *)pasteboard
-{
- WebView *webView = [[self _webView] retain];
- [webView _setInsertionPasteboard:pasteboard];
-
- NSString *text = [self _plainTextFromPasteboard:pasteboard];
- if ([self _shouldReplaceSelectionWithText:text givenAction:WebViewInsertActionPasted])
- [[self _frame] _replaceSelectionWithText:text selectReplacement:NO smartReplace:[self _canSmartReplaceWithPasteboard:pasteboard]];
-
- [webView _setInsertionPasteboard:nil];
- [webView release];
-}
-
-// This method is needed to support Mac OS X services.
-- (BOOL)readSelectionFromPasteboard:(NSPasteboard *)pasteboard
-{
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return NO;
- if (coreFrame->selection()->isContentRichlyEditable())
- [self _pasteWithPasteboard:pasteboard allowPlainText:YES];
- else
- [self _pasteAsPlainTextWithPasteboard:pasteboard];
- return YES;
-}
-
-- (void)_removeMouseMovedObserverUnconditionally
-{
- if (!_private || !_private->observingMouseMovedNotifications)
- return;
-
- [[NSNotificationCenter defaultCenter] removeObserver:self name:WKMouseMovedNotification() object:nil];
- _private->observingMouseMovedNotifications = false;
-}
-
-- (void)_removeSuperviewObservers
-{
- if (!_private || !_private->observingSuperviewNotifications)
- return;
-
- NSView *superview = [self superview];
- if (!superview || ![self window])
- return;
-
- NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
- [notificationCenter removeObserver:self name:NSViewFrameDidChangeNotification object:superview];
- [notificationCenter removeObserver:self name:NSViewBoundsDidChangeNotification object:superview];
-
- _private->observingSuperviewNotifications = false;
-}
-
-- (void)_removeWindowObservers
-{
- if (!_private->observingWindowNotifications)
- return;
-
- NSWindow *window = [self window];
- if (!window)
- return;
-
- NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
- [notificationCenter removeObserver:self name:NSWindowDidBecomeKeyNotification object:nil];
- [notificationCenter removeObserver:self name:NSWindowDidResignKeyNotification object:nil];
- [notificationCenter removeObserver:self name:WKWindowWillOrderOnScreenNotification() object:window];
- [notificationCenter removeObserver:self name:WKWindowWillOrderOffScreenNotification() object:window];
- [notificationCenter removeObserver:self name:NSWindowWillCloseNotification object:window];
-
- _private->observingWindowNotifications = false;
-}
-
-- (BOOL)_shouldInsertFragment:(DOMDocumentFragment *)fragment replacingDOMRange:(DOMRange *)range givenAction:(WebViewInsertAction)action
-{
- WebView *webView = [self _webView];
- DOMNode *child = [fragment firstChild];
- if ([fragment lastChild] == child && [child isKindOfClass:[DOMCharacterData class]])
- return [[webView _editingDelegateForwarder] webView:webView shouldInsertText:[(DOMCharacterData *)child data] replacingDOMRange:range givenAction:action];
- return [[webView _editingDelegateForwarder] webView:webView shouldInsertNode:fragment replacingDOMRange:range givenAction:action];
-}
-
-- (BOOL)_shouldInsertText:(NSString *)text replacingDOMRange:(DOMRange *)range givenAction:(WebViewInsertAction)action
-{
- WebView *webView = [self _webView];
- return [[webView _editingDelegateForwarder] webView:webView shouldInsertText:text replacingDOMRange:range givenAction:action];
-}
-
-- (BOOL)_shouldReplaceSelectionWithText:(NSString *)text givenAction:(WebViewInsertAction)action
-{
- return [self _shouldInsertText:text replacingDOMRange:[self _selectedRange] givenAction:action];
-}
-
-- (DOMRange *)_selectedRange
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame ? kit(coreFrame->selection()->toNormalizedRange().get()) : nil;
-}
-
-- (BOOL)_shouldDeleteRange:(DOMRange *)range
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame && coreFrame->editor().shouldDeleteRange(core(range));
-}
-
-- (NSView *)_hitViewForEvent:(NSEvent *)event
-{
- // Usually, we hack AK's hitTest method to catch all events at the topmost WebHTMLView.
- // Callers of this method, however, want to query the deepest view instead.
- forceNSViewHitTest = YES;
- NSView *hitView = [(NSView *)[[self window] contentView] hitTest:[event locationInWindow]];
- forceNSViewHitTest = NO;
- return hitView;
-}
-
-- (void)_writeSelectionWithPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard cachedAttributedString:(NSAttributedString *)attributedString
-{
- // Put HTML on the pasteboard.
- if ([types containsObject:WebArchivePboardType]) {
- if (RefPtr<LegacyWebArchive> coreArchive = LegacyWebArchive::createFromSelection(core([self _frame]))) {
- if (RetainPtr<CFDataRef> data = coreArchive ? coreArchive->rawDataRepresentation() : 0)
- [pasteboard setData:(NSData *)data.get() forType:WebArchivePboardType];
- }
- }
-
- // Put the attributed string on the pasteboard (RTF/RTFD format).
- if ([types containsObject:NSRTFDPboardType]) {
- if (attributedString == nil) {
- attributedString = [self selectedAttributedString];
- }
- NSData *RTFDData = [attributedString RTFDFromRange:NSMakeRange(0, [attributedString length]) documentAttributes:nil];
- [pasteboard setData:RTFDData forType:NSRTFDPboardType];
- }
- if ([types containsObject:NSRTFPboardType]) {
- if (!attributedString)
- attributedString = [self selectedAttributedString];
- if ([attributedString containsAttachments])
- attributedString = attributedStringByStrippingAttachmentCharacters(attributedString);
- NSData *RTFData = [attributedString RTFFromRange:NSMakeRange(0, [attributedString length]) documentAttributes:nil];
- [pasteboard setData:RTFData forType:NSRTFPboardType];
- }
-
- // Put plain string on the pasteboard.
- if ([types containsObject:NSStringPboardType]) {
- // Map &nbsp; to a plain old space because this is better for source code, other browsers do it,
- // and because HTML forces you to do this any time you want two spaces in a row.
- NSMutableString *s = [[self selectedString] mutableCopy];
- const unichar NonBreakingSpaceCharacter = 0xA0;
- NSString *NonBreakingSpaceString = [NSString stringWithCharacters:&NonBreakingSpaceCharacter length:1];
- [s replaceOccurrencesOfString:NonBreakingSpaceString withString:@" " options:0 range:NSMakeRange(0, [s length])];
- [pasteboard setString:s forType:NSStringPboardType];
- [s release];
- }
-
- if ([self _canSmartCopyOrDelete] && [types containsObject:WebSmartPastePboardType]) {
- [pasteboard setData:nil forType:WebSmartPastePboardType];
- }
-}
-
-- (void)_setMouseDownEvent:(NSEvent *)event
-{
- ASSERT(!event || [event type] == NSLeftMouseDown || [event type] == NSRightMouseDown || [event type] == NSOtherMouseDown);
-
- if (event == _private->mouseDownEvent)
- return;
-
- [event retain];
- [_private->mouseDownEvent release];
- _private->mouseDownEvent = event;
-}
-
-- (WebHTMLView *)_topHTMLView
-{
- // FIXME: this can fail if the dataSource is nil, which happens when the WebView is tearing down from the window closing.
- WebHTMLView *view = (WebHTMLView *)[[[[_private->dataSource _webView] mainFrame] frameView] documentView];
- ASSERT(!view || [view isKindOfClass:[WebHTMLView class]]);
- return view;
-}
-
-- (BOOL)_isTopHTMLView
-{
- // FIXME: this should be a cached boolean that doesn't rely on _topHTMLView since that can fail (see _topHTMLView).
- return self == [self _topHTMLView];
-}
-
-- (void)_web_setPrintingModeRecursive
-{
- [self _setPrinting:YES minimumPageLogicalWidth:0 logicalHeight:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:0 adjustViewSize:NO paginateScreenContent:[self _isInScreenPaginationMode]];
-
-#ifndef NDEBUG
- _private->enumeratingSubviews = YES;
-#endif
-
- NSMutableArray *descendantWebHTMLViews = [[NSMutableArray alloc] init];
-
- [self _web_addDescendantWebHTMLViewsToArray:descendantWebHTMLViews];
-
- unsigned count = [descendantWebHTMLViews count];
- for (unsigned i = 0; i < count; ++i)
- [[descendantWebHTMLViews objectAtIndex:i] _setPrinting:YES minimumPageLogicalWidth:0 logicalHeight:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:0 adjustViewSize:NO paginateScreenContent:[self _isInScreenPaginationMode]];
-
- [descendantWebHTMLViews release];
-
-#ifndef NDEBUG
- _private->enumeratingSubviews = NO;
-#endif
-}
-
-- (void)_web_clearPrintingModeRecursive
-{
- [self _setPrinting:NO minimumPageLogicalWidth:0 logicalHeight:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:0 adjustViewSize:NO paginateScreenContent:[self _isInScreenPaginationMode]];
-
-#ifndef NDEBUG
- _private->enumeratingSubviews = YES;
-#endif
-
- NSMutableArray *descendantWebHTMLViews = [[NSMutableArray alloc] init];
-
- [self _web_addDescendantWebHTMLViewsToArray:descendantWebHTMLViews];
-
- unsigned count = [descendantWebHTMLViews count];
- for (unsigned i = 0; i < count; ++i)
- [[descendantWebHTMLViews objectAtIndex:i] _setPrinting:NO minimumPageLogicalWidth:0 logicalHeight:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:0 adjustViewSize:NO paginateScreenContent:[self _isInScreenPaginationMode]];
-
- [descendantWebHTMLViews release];
-
-#ifndef NDEBUG
- _private->enumeratingSubviews = NO;
-#endif
-}
-
-- (void)_web_setPrintingModeRecursiveAndAdjustViewSize
-{
- [self _setPrinting:YES minimumPageLogicalWidth:0 logicalHeight:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:0 adjustViewSize:YES paginateScreenContent:[self _isInScreenPaginationMode]];
-
-#ifndef NDEBUG
- _private->enumeratingSubviews = YES;
-#endif
-
- NSMutableArray *descendantWebHTMLViews = [[NSMutableArray alloc] init];
-
- [self _web_addDescendantWebHTMLViewsToArray:descendantWebHTMLViews];
-
- unsigned count = [descendantWebHTMLViews count];
- for (unsigned i = 0; i < count; ++i)
- [[descendantWebHTMLViews objectAtIndex:i] _setPrinting:YES minimumPageLogicalWidth:0 logicalHeight:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:0 adjustViewSize:YES paginateScreenContent:[self _isInScreenPaginationMode]];
-
- [descendantWebHTMLViews release];
-
-#ifndef NDEBUG
- _private->enumeratingSubviews = NO;
-#endif
-}
-
-@end
-
-@implementation WebHTMLView (WebPrivate)
-
-+ (NSArray *)supportedMIMETypes
-{
- return [WebHTMLRepresentation supportedMIMETypes];
-}
-
-+ (NSArray *)supportedImageMIMETypes
-{
- return [WebHTMLRepresentation supportedImageMIMETypes];
-}
-
-+ (NSArray *)supportedNonImageMIMETypes
-{
- return [WebHTMLRepresentation supportedNonImageMIMETypes];
-}
-
-+ (NSArray *)unsupportedTextMIMETypes
-{
- return [WebHTMLRepresentation unsupportedTextMIMETypes];
-}
-
-+ (void)_postFlagsChangedEvent:(NSEvent *)flagsChangedEvent
-{
- // This is a workaround for: <rdar://problem/2981619> NSResponder_Private should include notification for FlagsChanged
- NSEvent *fakeEvent = [NSEvent mouseEventWithType:NSMouseMoved
- location:[[flagsChangedEvent window] convertScreenToBase:[NSEvent mouseLocation]]
- modifierFlags:[flagsChangedEvent modifierFlags]
- timestamp:[flagsChangedEvent timestamp]
- windowNumber:[flagsChangedEvent windowNumber]
- context:[flagsChangedEvent context]
- eventNumber:0 clickCount:0 pressure:0];
-
- // Pretend it's a mouse move.
- [[NSNotificationCenter defaultCenter]
- postNotificationName:WKMouseMovedNotification() object:self
- userInfo:[NSDictionary dictionaryWithObject:fakeEvent forKey:@"NSEvent"]];
-}
-
-- (id)_bridge
-{
- // This method exists to maintain compatibility with Leopard's Dictionary.app, since it
- // calls _bridge to get access to convertNSRangeToDOMRange: and convertDOMRangeToNSRange:.
- // Return the WebFrame, which implements the compatibility methods. <rdar://problem/6002160>
- return [self _frame];
-}
-
-- (void)_updateMouseoverWithFakeEvent
-{
- NSEvent *fakeEvent = [NSEvent mouseEventWithType:NSMouseMoved
- location:[[self window] convertScreenToBase:[NSEvent mouseLocation]]
- modifierFlags:[[NSApp currentEvent] modifierFlags]
- timestamp:[NSDate timeIntervalSinceReferenceDate]
- windowNumber:[[self window] windowNumber]
- context:[[NSApp currentEvent] context]
- eventNumber:0 clickCount:0 pressure:0];
-
- [self _updateMouseoverWithEvent:fakeEvent];
-}
-
-- (void)_frameOrBoundsChanged
-{
- WebView *webView = [self _webView];
- WebDynamicScrollBarsView *scrollView = [[[webView mainFrame] frameView] _scrollView];
-
- NSPoint origin = [[self superview] bounds].origin;
- if (!NSEqualPoints(_private->lastScrollPosition, origin) && ![scrollView inProgrammaticScroll]) {
- if (Frame* coreFrame = core([self _frame])) {
- if (FrameView* coreView = coreFrame->view()) {
- _private->inScrollPositionChanged = YES;
- coreView->scrollPositionChangedViaPlatformWidget();
- _private->inScrollPositionChanged = NO;
- }
- }
-
- [_private->completionController endRevertingChange:NO moveLeft:NO];
-
- [[webView _UIDelegateForwarder] webView:webView didScrollDocumentInFrameView:[self _frameView]];
- }
- _private->lastScrollPosition = origin;
-}
-
-- (void)_setAsideSubviews
-{
- ASSERT(!_private->subviewsSetAside);
- ASSERT(_private->savedSubviews == nil);
- _private->savedSubviews = _subviews;
-#if USE(ACCELERATED_COMPOSITING)
- // We need to keep the layer-hosting view in the subviews, otherwise the layers flash.
- if (_private->layerHostingView) {
- NSArray* newSubviews = [[NSArray alloc] initWithObjects:_private->layerHostingView, nil];
- _subviews = newSubviews;
- } else
- _subviews = nil;
-#else
- _subviews = nil;
-#endif
- _private->subviewsSetAside = YES;
- }
-
- - (void)_restoreSubviews
- {
- ASSERT(_private->subviewsSetAside);
-#if USE(ACCELERATED_COMPOSITING)
- if (_private->layerHostingView) {
- [_subviews release];
- _subviews = _private->savedSubviews;
- } else {
- ASSERT(_subviews == nil);
- _subviews = _private->savedSubviews;
- }
-#else
- ASSERT(_subviews == nil);
- _subviews = _private->savedSubviews;
-#endif
- _private->savedSubviews = nil;
- _private->subviewsSetAside = NO;
-}
-
-#ifndef NDEBUG
-
-- (void)didAddSubview:(NSView *)subview
-{
- if (_private->enumeratingSubviews)
- LOG(View, "A view of class %s was added during subview enumeration for layout or printing mode change. This view might paint without first receiving layout.", object_getClassName([subview class]));
-}
-#endif
-
-
-- (void)viewWillDraw
-{
- // On window close we will be called when the datasource is nil, then hit an assert in _topHTMLView
- // So check if the dataSource is nil before calling [self _isTopHTMLView], this can be removed
- // once the FIXME in _isTopHTMLView is fixed.
- if (_private->dataSource && [self _isTopHTMLView])
- [self _web_updateLayoutAndStyleIfNeededRecursive];
- [super viewWillDraw];
-}
-
-
-// Don't let AppKit even draw subviews. We take care of that.
-- (void)_recursiveDisplayRectIfNeededIgnoringOpacity:(NSRect)rect isVisibleRect:(BOOL)isVisibleRect rectIsVisibleRectForView:(NSView *)visibleView topView:(BOOL)topView
-{
- // This helps when we print as part of a larger print process.
- // If the WebHTMLView itself is what we're printing, then we will never have to do this.
- BOOL wasInPrintingMode = _private->printing;
- BOOL isPrinting = ![NSGraphicsContext currentContextDrawingToScreen];
- if (isPrinting) {
- if (!wasInPrintingMode)
- [self _web_setPrintingModeRecursive];
- else
- [self _web_updateLayoutAndStyleIfNeededRecursive];
- } else if (wasInPrintingMode)
- [self _web_clearPrintingModeRecursive];
-
- // There are known cases where -viewWillDraw is not called on all views being drawn.
- // See <rdar://problem/6964278> for example. Performing layout at this point prevents us from
- // trying to paint without layout (which WebCore now refuses to do, instead bailing out without
- // drawing at all), but we may still fail to update any regions dirtied by the layout which are
- // not already dirty.
- if ([self _needsLayout]) {
- NSInteger rectCount;
- [self getRectsBeingDrawn:0 count:&rectCount];
- if (rectCount) {
- LOG_ERROR("View needs layout. Either -viewWillDraw wasn't called or layout was invalidated during the display operation. Performing layout now.");
- [self _web_updateLayoutAndStyleIfNeededRecursive];
- }
- }
-
- [self _setAsideSubviews];
- [super _recursiveDisplayRectIfNeededIgnoringOpacity:rect isVisibleRect:isVisibleRect rectIsVisibleRectForView:visibleView topView:topView];
- [self _restoreSubviews];
-
- if (wasInPrintingMode != isPrinting) {
- if (wasInPrintingMode)
- [self _web_setPrintingModeRecursive];
- else
- [self _web_clearPrintingModeRecursive];
- }
-}
-
-// Don't let AppKit even draw subviews. We take care of that.
-- (void)_recursiveDisplayAllDirtyWithLockFocus:(BOOL)needsLockFocus visRect:(NSRect)visRect
-{
- BOOL needToSetAsideSubviews = !_private->subviewsSetAside;
-
- BOOL wasInPrintingMode = _private->printing;
- BOOL isPrinting = ![NSGraphicsContext currentContextDrawingToScreen];
-
- if (needToSetAsideSubviews) {
- // This helps when we print as part of a larger print process.
- // If the WebHTMLView itself is what we're printing, then we will never have to do this.
- if (isPrinting) {
- if (!wasInPrintingMode)
- [self _web_setPrintingModeRecursive];
- else
- [self _web_updateLayoutAndStyleIfNeededRecursive];
- } else if (wasInPrintingMode)
- [self _web_clearPrintingModeRecursive];
-
-
- [self _setAsideSubviews];
- }
-
- [super _recursiveDisplayAllDirtyWithLockFocus:needsLockFocus visRect:visRect];
-
- if (needToSetAsideSubviews) {
- if (wasInPrintingMode != isPrinting) {
- if (wasInPrintingMode)
- [self _web_setPrintingModeRecursive];
- else
- [self _web_clearPrintingModeRecursive];
- }
-
- [self _restoreSubviews];
- }
-}
-
-// Don't let AppKit even draw subviews. We take care of that.
-- (void)_recursive:(BOOL)recurse displayRectIgnoringOpacity:(NSRect)displayRect inContext:(NSGraphicsContext *)context topView:(BOOL)topView
-{
-
- [self _setAsideSubviews];
- [super _recursive:recurse displayRectIgnoringOpacity:displayRect inContext:context topView:topView];
- [self _restoreSubviews];
-}
-
-- (BOOL)_insideAnotherHTMLView
-{
- return self != [self _topHTMLView];
-}
-
-static BOOL isQuickLookEvent(NSEvent *event)
-{
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
- const int kCGSEventSystemSubtypeHotKeyCombinationReleased = 9;
- return [event type] == NSSystemDefined && [event subtype] == kCGSEventSystemSubtypeHotKeyCombinationReleased && [event data1] == 'lkup';
-#else
- return NO;
-#endif
-}
-
-- (NSView *)hitTest:(NSPoint)point
-{
- // WebHTMLView objects handle all events for objects inside them.
- // To get those events, we prevent hit testing from AppKit.
-
- // But there are three exceptions to this:
- // 1) For right mouse clicks and control clicks we don't yet have an implementation
- // that works for nested views, so we let the hit testing go through the
- // standard NSView code path (needs to be fixed, see bug 4361618).
- // 2) Java depends on doing a hit test inside it's mouse moved handling,
- // so we let the hit testing go through the standard NSView code path
- // when the current event is a mouse move (except when we are calling
- // from _updateMouseoverWithEvent, so we have to use a global,
- // forceWebHTMLViewHitTest, for that)
- // 3) The acceptsFirstMouse: and shouldDelayWindowOrderingForEvent: methods
- // both need to figure out which view to check with inside the WebHTMLView.
- // They use a global to change the behavior of hitTest: so they can get the
- // right view. The global is forceNSViewHitTest and the method they use to
- // do the hit testing is _hitViewForEvent:. (But this does not work correctly
- // when there is HTML overlapping the view, see bug 4361626)
- // 4) NSAccessibilityHitTest relies on this for checking the cursor position.
- // Our check for that is whether the event is NSFlagsChanged. This works
- // for VoiceOver's Control-Option-F5 command (move focus to item under cursor)
- // and Dictionary's Command-Control-D (open dictionary popup for item under cursor).
- // This is of course a hack.
-
- if (_private->closed)
- return nil;
-
- BOOL captureHitsOnSubviews;
- if (forceNSViewHitTest)
- captureHitsOnSubviews = NO;
- else if (forceWebHTMLViewHitTest)
- captureHitsOnSubviews = YES;
- else {
- // FIXME: Why doesn't this include mouse entered/exited events, or other mouse button events?
- NSEvent *event = [[self window] currentEvent];
- captureHitsOnSubviews = !([event type] == NSMouseMoved
- || [event type] == NSRightMouseDown
- || ([event type] == NSLeftMouseDown && ([event modifierFlags] & NSControlKeyMask) != 0)
- || [event type] == NSFlagsChanged
- || isQuickLookEvent(event));
- }
-
- if (!captureHitsOnSubviews) {
- NSView* hitView = [super hitTest:point];
-#if USE(ACCELERATED_COMPOSITING)
- if (_private && hitView == _private->layerHostingView)
- hitView = self;
-#endif
- return hitView;
- }
- if ([[self superview] mouse:point inRect:[self frame]])
- return self;
- return nil;
-}
-
-- (void)_clearLastHitViewIfSelf
-{
- if (lastHitView == self)
- lastHitView = nil;
-}
-
-- (NSTrackingRectTag)addTrackingRect:(NSRect)rect owner:(id)owner userData:(void *)data assumeInside:(BOOL)assumeInside
-{
- ASSERT(_private->trackingRectOwner == nil);
- _private->trackingRectOwner = owner;
- _private->trackingRectUserData = data;
- return TRACKING_RECT_TAG;
-}
-
-- (NSTrackingRectTag)_addTrackingRect:(NSRect)rect owner:(id)owner userData:(void *)data assumeInside:(BOOL)assumeInside useTrackingNum:(int)tag
-{
- ASSERT(tag == 0 || tag == TRACKING_RECT_TAG);
- ASSERT(_private->trackingRectOwner == nil);
- _private->trackingRectOwner = owner;
- _private->trackingRectUserData = data;
- return TRACKING_RECT_TAG;
-}
-
-- (void)_addTrackingRects:(NSRect *)rects owner:(id)owner userDataList:(void **)userDataList assumeInsideList:(BOOL *)assumeInsideList trackingNums:(NSTrackingRectTag *)trackingNums count:(int)count
-{
- ASSERT(count == 1);
- ASSERT(trackingNums[0] == 0 || trackingNums[0] == TRACKING_RECT_TAG);
- ASSERT(_private->trackingRectOwner == nil);
- _private->trackingRectOwner = owner;
- _private->trackingRectUserData = userDataList[0];
- trackingNums[0] = TRACKING_RECT_TAG;
-}
-
-- (void)removeTrackingRect:(NSTrackingRectTag)tag
-{
- if (tag == 0)
- return;
-
- if (_private && (tag == TRACKING_RECT_TAG)) {
- _private->trackingRectOwner = nil;
- return;
- }
-
- if (_private && (tag == _private->lastToolTipTag)) {
- [super removeTrackingRect:tag];
- _private->lastToolTipTag = 0;
- return;
- }
-
- // If any other tracking rect is being removed, we don't know how it was created
- // and it's possible there's a leak involved (see 3500217)
- ASSERT_NOT_REACHED();
-}
-
-- (void)_removeTrackingRects:(NSTrackingRectTag *)tags count:(int)count
-{
- int i;
- for (i = 0; i < count; ++i) {
- int tag = tags[i];
- if (tag == 0)
- continue;
- ASSERT(tag == TRACKING_RECT_TAG);
- if (_private != nil) {
- _private->trackingRectOwner = nil;
- }
- }
-}
-
-- (void)_sendToolTipMouseExited
-{
- // Nothing matters except window, trackingNumber, and userData.
- NSEvent *fakeEvent = [NSEvent enterExitEventWithType:NSMouseExited
- location:NSMakePoint(0, 0)
- modifierFlags:0
- timestamp:0
- windowNumber:[[self window] windowNumber]
- context:NULL
- eventNumber:0
- trackingNumber:TRACKING_RECT_TAG
- userData:_private->trackingRectUserData];
- [_private->trackingRectOwner mouseExited:fakeEvent];
-}
-
-- (void)_sendToolTipMouseEntered
-{
- // Nothing matters except window, trackingNumber, and userData.
- NSEvent *fakeEvent = [NSEvent enterExitEventWithType:NSMouseEntered
- location:NSMakePoint(0, 0)
- modifierFlags:0
- timestamp:0
- windowNumber:[[self window] windowNumber]
- context:NULL
- eventNumber:0
- trackingNumber:TRACKING_RECT_TAG
- userData:_private->trackingRectUserData];
- [_private->trackingRectOwner mouseEntered:fakeEvent];
-}
-
-- (void)_setToolTip:(NSString *)string
-{
- NSString *toolTip = [string length] == 0 ? nil : string;
- NSString *oldToolTip = _private->toolTip;
- if ((toolTip == nil || oldToolTip == nil) ? toolTip == oldToolTip : [toolTip isEqualToString:oldToolTip]) {
- return;
- }
- if (oldToolTip) {
- [self _sendToolTipMouseExited];
- [oldToolTip release];
- }
- _private->toolTip = [toolTip copy];
- if (toolTip) {
- // See radar 3500217 for why we remove all tooltips rather than just the single one we created.
- [self removeAllToolTips];
- NSRect wideOpenRect = NSMakeRect(-100000, -100000, 200000, 200000);
- _private->lastToolTipTag = [self addToolTipRect:wideOpenRect owner:self userData:NULL];
- [self _sendToolTipMouseEntered];
- }
-}
-
-- (NSString *)view:(NSView *)view stringForToolTip:(NSToolTipTag)tag point:(NSPoint)point userData:(void *)data
-{
- return [[_private->toolTip copy] autorelease];
-}
-
-static bool mouseEventIsPartOfClickOrDrag(NSEvent *event)
-{
- switch ([event type]) {
- case NSLeftMouseDown:
- case NSLeftMouseUp:
- case NSLeftMouseDragged:
- case NSRightMouseDown:
- case NSRightMouseUp:
- case NSRightMouseDragged:
- case NSOtherMouseDown:
- case NSOtherMouseUp:
- case NSOtherMouseDragged:
- return true;
- default:
- return false;
- }
-}
-
-- (void)_updateMouseoverWithEvent:(NSEvent *)event
-{
- if (_private->closed)
- return;
-
- NSView *contentView = [[event window] contentView];
- NSPoint locationForHitTest = [[contentView superview] convertPoint:[event locationInWindow] fromView:nil];
-
- forceWebHTMLViewHitTest = YES;
- NSView *hitView = [contentView hitTest:locationForHitTest];
- forceWebHTMLViewHitTest = NO;
-
- WebHTMLView *view = nil;
- if ([hitView isKindOfClass:[WebHTMLView class]])
- view = (WebHTMLView *)hitView;
-
- if (view)
- [view retain];
-
- if (lastHitView != view && lastHitView && [lastHitView _frame]) {
- // If we are moving out of a view (or frame), let's pretend the mouse moved
- // all the way out of that view. But we have to account for scrolling, because
- // WebCore doesn't understand our clipping.
- NSRect visibleRect = [[[[lastHitView _frame] frameView] _scrollView] documentVisibleRect];
- float yScroll = visibleRect.origin.y;
- float xScroll = visibleRect.origin.x;
-
- NSEvent *event = [NSEvent mouseEventWithType:NSMouseMoved
- location:NSMakePoint(-1 - xScroll, -1 - yScroll)
- modifierFlags:[[NSApp currentEvent] modifierFlags]
- timestamp:[NSDate timeIntervalSinceReferenceDate]
- windowNumber:[[view window] windowNumber]
- context:[[NSApp currentEvent] context]
- eventNumber:0 clickCount:0 pressure:0];
- if (Frame* lastHitCoreFrame = core([lastHitView _frame]))
- lastHitCoreFrame->eventHandler()->mouseMoved(event);
- }
-
- lastHitView = view;
-
- if (view) {
- if (Frame* coreFrame = core([view _frame])) {
- // We need to do a full, normal hit test during this mouse event if the page is active or if a mouse
- // button is currently pressed. It is possible that neither of those things will be true on Lion and
- // newer when legacy scrollbars are enabled, because then WebKit receives mouse events all the time.
- // If it is one of those cases where the page is not active and the mouse is not pressed, then we can
- // fire a much more restricted and efficient scrollbars-only version of the event.
- if ([[self window] isKeyWindow] || mouseEventIsPartOfClickOrDrag(event))
- coreFrame->eventHandler()->mouseMoved(event);
- else
- coreFrame->eventHandler()->passMouseMovedEventToScrollbars(event);
- }
-
- [view release];
- }
-}
-
-+ (NSArray *)_insertablePasteboardTypes
-{
- static NSArray *types = nil;
- if (!types) {
- types = [[NSArray alloc] initWithObjects:WebArchivePboardType, NSHTMLPboardType, NSFilenamesPboardType, NSTIFFPboardType, NSPDFPboardType,
- NSURLPboardType, NSRTFDPboardType, NSRTFPboardType, NSStringPboardType, NSColorPboardType, kUTTypePNG, nil];
- CFRetain(types);
- }
- return types;
-}
-
-+ (NSArray *)_selectionPasteboardTypes
-{
- // FIXME: We should put data for NSHTMLPboardType on the pasteboard but Microsoft Excel doesn't like our format of HTML (3640423).
- return [NSArray arrayWithObjects:WebArchivePboardType, NSRTFDPboardType, NSRTFPboardType, NSStringPboardType, nil];
-}
-
-- (void)pasteboardChangedOwner:(NSPasteboard *)pasteboard
-{
- [self setPromisedDragTIFFDataSource:0];
-}
-
-- (void)pasteboard:(NSPasteboard *)pasteboard provideDataForType:(NSString *)type
-{
- if ([type isEqual:NSRTFDPboardType] && [[pasteboard types] containsObject:WebArchivePboardType]) {
- WebArchive *archive = [[WebArchive alloc] initWithData:[pasteboard dataForType:WebArchivePboardType]];
- [pasteboard _web_writePromisedRTFDFromArchive:archive containsImage:[[pasteboard types] containsObject:NSTIFFPboardType]];
- [archive release];
- } else if ([type isEqual:NSTIFFPboardType] && [self promisedDragTIFFDataSource]) {
- if (Image* image = [self promisedDragTIFFDataSource]->image())
- [pasteboard setData:(NSData *)image->getTIFFRepresentation() forType:NSTIFFPboardType];
- [self setPromisedDragTIFFDataSource:0];
- }
-}
-
-- (void)_handleAutoscrollForMouseDragged:(NSEvent *)event
-{
- [self autoscroll:event];
- [self _startAutoscrollTimer:event];
-}
-
-- (WebPluginController *)_pluginController
-{
- return _private->pluginController;
-}
-
-- (void)_layoutForPrinting
-{
- // Set printing mode temporarily so we can adjust the size of the view. This will allow
- // AppKit's pagination code to use the correct height for the page content. Leaving printing
- // mode on indefinitely would interfere with Mail's printing mechanism (at least), so we just
- // turn it off again after adjusting the size.
- [self _web_setPrintingModeRecursiveAndAdjustViewSize];
- [self _web_clearPrintingModeRecursive];
-}
-
-- (void)_smartInsertForString:(NSString *)pasteString replacingRange:(DOMRange *)rangeToReplace beforeString:(NSString **)beforeString afterString:(NSString **)afterString
-{
- if (!pasteString || !rangeToReplace || ![[self _webView] smartInsertDeleteEnabled]) {
- if (beforeString)
- *beforeString = nil;
- if (afterString)
- *afterString = nil;
- return;
- }
-
- [[self _frame] _smartInsertForString:pasteString replacingRange:rangeToReplace beforeString:beforeString afterString:afterString];
-}
-
-- (BOOL)_canSmartReplaceWithPasteboard:(NSPasteboard *)pasteboard
-{
- return [[self _webView] smartInsertDeleteEnabled] && [[pasteboard types] containsObject:WebSmartPastePboardType];
-}
-
-- (void)_startAutoscrollTimer:(NSEvent *)triggerEvent
-{
- if (_private->autoscrollTimer == nil) {
- _private->autoscrollTimer = [[NSTimer scheduledTimerWithTimeInterval:AUTOSCROLL_INTERVAL
- target:self selector:@selector(_autoscroll) userInfo:nil repeats:YES] retain];
- _private->autoscrollTriggerEvent = [triggerEvent retain];
- }
-}
-
-// FIXME: _selectionRect is deprecated in favor of selectionRect, which is in protocol WebDocumentSelection.
-// We can't remove this yet because it's still in use by Mail.
-- (NSRect)_selectionRect
-{
- return [self selectionRect];
-}
-
-- (void)_stopAutoscrollTimer
-{
- NSTimer *timer = _private->autoscrollTimer;
- _private->autoscrollTimer = nil;
- [_private->autoscrollTriggerEvent release];
- _private->autoscrollTriggerEvent = nil;
- [timer invalidate];
- [timer release];
-}
-
-- (void)_autoscroll
-{
- // Guarantee that the autoscroll timer is invalidated, even if we don't receive
- // a mouse up event.
- BOOL isStillDown = CGEventSourceButtonState(kCGEventSourceStateCombinedSessionState, kCGMouseButtonLeft);
- if (!isStillDown){
- [self _stopAutoscrollTimer];
- return;
- }
-
- NSEvent *fakeEvent = [NSEvent mouseEventWithType:NSLeftMouseDragged
- location:[[self window] convertScreenToBase:[NSEvent mouseLocation]]
- modifierFlags:[[NSApp currentEvent] modifierFlags]
- timestamp:[NSDate timeIntervalSinceReferenceDate]
- windowNumber:[[self window] windowNumber]
- context:[[NSApp currentEvent] context]
- eventNumber:0 clickCount:0 pressure:0];
- [self mouseDragged:fakeEvent];
-}
-
-- (BOOL)_canEdit
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame && coreFrame->editor().canEdit();
-}
-
-- (BOOL)_canEditRichly
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame && coreFrame->editor().canEditRichly();
-}
-
-- (BOOL)_canAlterCurrentSelection
-{
- return [self _hasSelectionOrInsertionPoint] && [self _isEditable];
-}
-
-- (BOOL)_hasSelection
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame && coreFrame->selection()->isRange();
-}
-
-- (BOOL)_hasSelectionOrInsertionPoint
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame && coreFrame->selection()->isCaretOrRange();
-}
-
-- (BOOL)_hasInsertionPoint
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame && coreFrame->selection()->isCaret();
-}
-
-- (BOOL)_isEditable
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame && coreFrame->selection()->isContentEditable();
-}
-
-- (BOOL)_transparentBackground
-{
- return _private->transparentBackground;
-}
-
-- (void)_setTransparentBackground:(BOOL)f
-{
- _private->transparentBackground = f;
-}
-
-- (NSImage *)_selectionDraggingImage
-{
- if (![self _hasSelection])
- return nil;
- NSImage *dragImage = selectionImage(core([self _frame]));
- [dragImage _web_dissolveToFraction:WebDragImageAlpha];
- return dragImage;
-}
-
-- (NSRect)_selectionDraggingRect
-{
- // Mail currently calls this method. We can eliminate it when Mail no longer calls it.
- return [self selectionRect];
-}
-
-- (DOMNode *)_insertOrderedList
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame ? kit(coreFrame->editor().insertOrderedList().get()) : nil;
-}
-
-- (DOMNode *)_insertUnorderedList
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame ? kit(coreFrame->editor().insertUnorderedList().get()) : nil;
-}
-
-- (BOOL)_canIncreaseSelectionListLevel
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame && coreFrame->editor().canIncreaseSelectionListLevel();
-}
-
-- (BOOL)_canDecreaseSelectionListLevel
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame && coreFrame->editor().canDecreaseSelectionListLevel();
-}
-
-- (DOMNode *)_increaseSelectionListLevel
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame ? kit(coreFrame->editor().increaseSelectionListLevel().get()) : nil;
-}
-
-- (DOMNode *)_increaseSelectionListLevelOrdered
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame ? kit(coreFrame->editor().increaseSelectionListLevelOrdered().get()) : nil;
-}
-
-- (DOMNode *)_increaseSelectionListLevelUnordered
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame ? kit(coreFrame->editor().increaseSelectionListLevelUnordered().get()) : nil;
-}
-
-- (void)_decreaseSelectionListLevel
-{
- Frame* coreFrame = core([self _frame]);
- if (coreFrame)
- coreFrame->editor().decreaseSelectionListLevel();
-}
-
-- (void)_setHighlighter:(id<WebHTMLHighlighter>)highlighter ofType:(NSString*)type
-{
- if (!_private->highlighters)
- _private->highlighters = [[NSMutableDictionary alloc] init];
- [_private->highlighters setObject:highlighter forKey:type];
-}
-
-- (void)_removeHighlighterOfType:(NSString*)type
-{
- [_private->highlighters removeObjectForKey:type];
-}
-
-- (void)_writeSelectionToPasteboard:(NSPasteboard *)pasteboard
-{
- ASSERT([self _hasSelection]);
- NSArray *types = [self pasteboardTypesForSelection];
-
- // Don't write RTFD to the pasteboard when the copied attributed string has no attachments.
- NSAttributedString *attributedString = [self selectedAttributedString];
- NSMutableArray *mutableTypes = nil;
- if (![attributedString containsAttachments]) {
- mutableTypes = [types mutableCopy];
- [mutableTypes removeObject:NSRTFDPboardType];
- types = mutableTypes;
- }
-
- [pasteboard declareTypes:types owner:[self _topHTMLView]];
- [self _writeSelectionWithPasteboardTypes:types toPasteboard:pasteboard cachedAttributedString:attributedString];
- [mutableTypes release];
-}
-
-- (void)close
-{
- // Check for a nil _private here in case we were created with initWithCoder. In that case, the WebView is just throwing
- // out the archived WebHTMLView and recreating a new one if needed. So close doesn't need to do anything in that case.
- if (!_private || _private->closed)
- return;
-
- _private->closed = YES;
-
- [self _clearLastHitViewIfSelf];
- [self _removeMouseMovedObserverUnconditionally];
- [self _removeWindowObservers];
- [self _removeSuperviewObservers];
- [_private->pluginController destroyAllPlugins];
- [_private->pluginController setDataSource:nil];
- // remove tooltips before clearing _private so removeTrackingRect: will work correctly
- [self removeAllToolTips];
-
- if (_private->isInSecureInputState) {
- DisableSecureEventInput();
- _private->isInSecureInputState = NO;
- }
-
- [_private clear];
-}
-
-- (BOOL)_hasHTMLDocument
-{
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return NO;
- Document* document = coreFrame->document();
- return document && document->isHTMLDocument();
-}
-
-- (DOMDocumentFragment *)_documentFragmentFromPasteboard:(NSPasteboard *)pasteboard
- forType:(NSString *)pboardType
- inContext:(DOMRange *)context
- subresources:(NSArray **)subresources
-{
- if (pboardType == WebArchivePboardType) {
- WebArchive *archive = [[WebArchive alloc] initWithData:[pasteboard dataForType:WebArchivePboardType]];
- if (subresources)
- *subresources = [archive subresources];
- DOMDocumentFragment *fragment = [[self _dataSource] _documentFragmentWithArchive:archive];
- [archive release];
- return fragment;
- }
- if (pboardType == NSFilenamesPboardType)
- return [self _documentFragmentWithPaths:[pasteboard propertyListForType:NSFilenamesPboardType]];
-
- if (pboardType == NSHTMLPboardType) {
- NSString *HTMLString = [pasteboard stringForType:NSHTMLPboardType];
- // This is a hack to make Microsoft's HTML pasteboard data work. See 3778785.
- if ([HTMLString hasPrefix:@"Version:"]) {
- NSRange range = [HTMLString rangeOfString:@"<html" options:NSCaseInsensitiveSearch];
- if (range.location != NSNotFound)
- HTMLString = [HTMLString substringFromIndex:range.location];
- }
- if ([HTMLString length] == 0)
- return nil;
-
- return [[self _frame] _documentFragmentWithMarkupString:HTMLString baseURLString:nil];
- }
-
- // 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)) {
- NSAttributedString *string = nil;
- if (pboardType == NSRTFDPboardType)
- string = [[NSAttributedString alloc] initWithRTFD:[pasteboard dataForType:NSRTFDPboardType] documentAttributes:NULL];
- if (string == nil)
- string = [[NSAttributedString alloc] initWithRTF:[pasteboard dataForType:NSRTFPboardType] documentAttributes:NULL];
- if (string == nil)
- return nil;
-
- NSDictionary *documentAttributes = [[NSDictionary alloc] initWithObjectsAndKeys:
- [[self class] _excludedElementsForAttributedStringConversion], NSExcludedElementsDocumentAttribute,
- self, @"WebResourceHandler", nil];
- NSArray *s;
-
- BOOL wasDeferringCallbacks = [[self _webView] defersCallbacks];
- if (!wasDeferringCallbacks)
- [[self _webView] setDefersCallbacks:YES];
-
- DOMDocumentFragment *fragment = [string _documentFromRange:NSMakeRange(0, [string length])
- document:[[self _frame] DOMDocument]
- documentAttributes:documentAttributes
- subresources:&s];
- if (subresources)
- *subresources = s;
-
- NSEnumerator *e = [s objectEnumerator];
- WebResource *r;
- while ((r = [e nextObject]))
- [[self _dataSource] addSubresource:r];
-
- if (!wasDeferringCallbacks)
- [[self _webView] setDefersCallbacks:NO];
-
- [documentAttributes release];
- [string release];
- return fragment;
- }
- if (pboardType == NSTIFFPboardType) {
- WebResource *resource = [[WebResource alloc] initWithData:[pasteboard dataForType:NSTIFFPboardType]
- URL:uniqueURLWithRelativePart(@"image.tiff")
- MIMEType:@"image/tiff"
- textEncodingName:nil
- frameName:nil];
- DOMDocumentFragment *fragment = [[self _dataSource] _documentFragmentWithImageResource:resource];
- [resource release];
- return fragment;
- }
- if (pboardType == NSPDFPboardType) {
- WebResource *resource = [[WebResource alloc] initWithData:[pasteboard dataForType:NSPDFPboardType]
- URL:uniqueURLWithRelativePart(@"application.pdf")
- MIMEType:@"application/pdf"
- textEncodingName:nil
- frameName:nil];
- DOMDocumentFragment *fragment = [[self _dataSource] _documentFragmentWithImageResource:resource];
- [resource release];
- return fragment;
- }
-
- if ([pboardType isEqualToString:(NSString*)kUTTypePNG]) {
- WebResource *resource = [[WebResource alloc] initWithData:[pasteboard dataForType:(NSString*)kUTTypePNG]
- URL:uniqueURLWithRelativePart(@"image.png")
- MIMEType:@"image/png"
- textEncodingName:nil
- frameName:nil];
- DOMDocumentFragment *fragment = [[self _dataSource] _documentFragmentWithImageResource:resource];
- [resource release];
- return fragment;
- }
- if (pboardType == NSURLPboardType) {
- NSURL *URL = [NSURL URLFromPasteboard:pasteboard];
- DOMDocument* document = [[self _frame] DOMDocument];
- ASSERT(document);
- if (!document)
- return nil;
- DOMHTMLAnchorElement *anchor = (DOMHTMLAnchorElement *)[document createElement:@"a"];
- NSString *URLString = [URL _web_originalDataAsString]; // Original data is ASCII-only, so there is no need to precompose.
- if ([URLString length] == 0)
- return nil;
- NSString *URLTitleString = [[pasteboard stringForType:WebURLNamePboardType] precomposedStringWithCanonicalMapping];
- DOMText *text = [document createTextNode:URLTitleString];
- [anchor setHref:URLString];
- [anchor appendChild:text];
- DOMDocumentFragment *fragment = [document createDocumentFragment];
- [fragment appendChild:anchor];
- return fragment;
- }
- if (pboardType == NSStringPboardType)
- return kit(createFragmentFromText(core(context), [[pasteboard stringForType:NSStringPboardType] precomposedStringWithCanonicalMapping]).get());
- return nil;
-}
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-- (void)_pauseNullEventsForAllNetscapePlugins
-{
- NSArray *subviews = [self subviews];
- unsigned int subviewCount = [subviews count];
- unsigned int subviewIndex;
-
- for (subviewIndex = 0; subviewIndex < subviewCount; subviewIndex++) {
- NSView *subview = [subviews objectAtIndex:subviewIndex];
- if ([subview isKindOfClass:[WebBaseNetscapePluginView class]])
- [(WebBaseNetscapePluginView *)subview stopTimers];
- }
-}
-#endif
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-- (void)_resumeNullEventsForAllNetscapePlugins
-{
- NSArray *subviews = [self subviews];
- unsigned int subviewCount = [subviews count];
- unsigned int subviewIndex;
-
- for (subviewIndex = 0; subviewIndex < subviewCount; subviewIndex++) {
- NSView *subview = [subviews objectAtIndex:subviewIndex];
- if ([subview isKindOfClass:[WebBaseNetscapePluginView class]])
- [(WebBaseNetscapePluginView *)subview restartTimers];
- }
-}
-#endif
-
-- (BOOL)_isUsingAcceleratedCompositing
-{
-#if USE(ACCELERATED_COMPOSITING)
- return _private->layerHostingView != nil;
-#else
- return NO;
-#endif
-}
-
-- (NSView *)_compositingLayersHostingView
-{
-#if USE(ACCELERATED_COMPOSITING)
- return _private->layerHostingView;
-#else
- return 0;
-#endif
-}
-
-- (BOOL)_isInPrintMode
-{
- return _private->printing;
-}
-
-- (BOOL)_beginPrintModeWithMinimumPageWidth:(CGFloat)minimumPageWidth height:(CGFloat)minimumPageHeight maximumPageWidth:(CGFloat)maximumPageWidth
-{
- Frame* frame = core([self _frame]);
- if (!frame)
- return NO;
-
- if (frame->document() && frame->document()->isFrameSet()) {
- minimumPageWidth = 0;
- minimumPageHeight = 0;
- }
-
- float maximumShrinkRatio = 0;
- if (minimumPageWidth > 0.0)
- maximumShrinkRatio = maximumPageWidth / minimumPageWidth;
-
- [self _setPrinting:YES minimumPageLogicalWidth:minimumPageWidth logicalHeight:minimumPageHeight originalPageWidth:minimumPageWidth originalPageHeight:minimumPageHeight maximumShrinkRatio:maximumShrinkRatio adjustViewSize:YES paginateScreenContent:[self _isInScreenPaginationMode]];
- return YES;
-}
-
-- (BOOL)_beginPrintModeWithPageWidth:(float)pageWidth height:(float)pageHeight shrinkToFit:(BOOL)shrinkToFit
-{
- Frame* frame = core([self _frame]);
- if (!frame)
- return NO;
-
- Document* document = frame->document();
- bool isHorizontal = !document || !document->renderView() || document->renderView()->style()->isHorizontalWritingMode();
-
- float pageLogicalWidth = isHorizontal ? pageWidth : pageHeight;
- float pageLogicalHeight = isHorizontal ? pageHeight : pageWidth;
- FloatSize minLayoutSize(pageLogicalWidth, pageLogicalHeight);
- float maximumShrinkRatio = 1;
-
- // If we are a frameset just print with the layout we have onscreen, otherwise relayout
- // according to the page width.
- if (shrinkToFit && (!frame->document() || !frame->document()->isFrameSet())) {
- minLayoutSize = frame->resizePageRectsKeepingRatio(FloatSize(pageLogicalWidth, pageLogicalHeight), FloatSize(pageLogicalWidth * _WebHTMLViewPrintingMinimumShrinkFactor, pageLogicalHeight * _WebHTMLViewPrintingMinimumShrinkFactor));
- maximumShrinkRatio = _WebHTMLViewPrintingMaximumShrinkFactor / _WebHTMLViewPrintingMinimumShrinkFactor;
- }
-
- [self _setPrinting:YES minimumPageLogicalWidth:minLayoutSize.width() logicalHeight:minLayoutSize.height() originalPageWidth:pageLogicalWidth originalPageHeight:pageLogicalHeight maximumShrinkRatio:maximumShrinkRatio adjustViewSize:YES paginateScreenContent:[self _isInScreenPaginationMode]];
-
- return YES;
-}
-
-- (void)_endPrintMode
-{
- [self _setPrinting:NO minimumPageLogicalWidth:0 logicalHeight:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:0 adjustViewSize:YES paginateScreenContent:[self _isInScreenPaginationMode]];
-}
-
-- (BOOL)_isInScreenPaginationMode
-{
- return _private->paginateScreenContent;
-}
-
-- (BOOL)_beginScreenPaginationModeWithPageSize:(CGSize)pageSize shrinkToFit:(BOOL)shrinkToFit
-{
- Frame* frame = core([self _frame]);
- if (!frame)
- return NO;
-
- Document* document = frame->document();
- bool isHorizontal = !document || !document->renderView() || document->renderView()->style()->isHorizontalWritingMode();
-
- float pageLogicalWidth = isHorizontal ? pageSize.width : pageSize.height;
- float pageLogicalHeight = isHorizontal ? pageSize.height : pageSize.width;
- FloatSize minLayoutSize(pageLogicalWidth, pageLogicalHeight);
- float maximumShrinkRatio = 1;
-
- // If we are a frameset just print with the layout we have onscreen, otherwise relayout
- // according to the page width.
- if (shrinkToFit && (!frame->document() || !frame->document()->isFrameSet())) {
- minLayoutSize = frame->resizePageRectsKeepingRatio(FloatSize(pageLogicalWidth, pageLogicalHeight), FloatSize(pageLogicalWidth * _WebHTMLViewPrintingMinimumShrinkFactor, pageLogicalHeight * _WebHTMLViewPrintingMinimumShrinkFactor));
- maximumShrinkRatio = _WebHTMLViewPrintingMaximumShrinkFactor / _WebHTMLViewPrintingMinimumShrinkFactor;
- }
-
- [self _setPrinting:[self _isInPrintMode] minimumPageLogicalWidth:minLayoutSize.width() logicalHeight:minLayoutSize.height() originalPageWidth:pageLogicalWidth originalPageHeight:pageLogicalHeight maximumShrinkRatio:maximumShrinkRatio adjustViewSize:YES paginateScreenContent:[self _isInScreenPaginationMode]];
-
- return YES;
-}
-
-- (void)_endScreenPaginationMode
-{
- [self _setPrinting:[self _isInPrintMode] minimumPageLogicalWidth:0 logicalHeight:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:0 adjustViewSize:YES paginateScreenContent:NO];
-}
-
-- (CGFloat)_adjustedBottomOfPageWithTop:(CGFloat)top bottom:(CGFloat)bottom limit:(CGFloat)bottomLimit
-{
- Frame* frame = core([self _frame]);
- if (!frame)
- return bottom;
-
- FrameView* view = frame->view();
- if (!view)
- return bottom;
-
- float newBottom;
- view->adjustPageHeightDeprecated(&newBottom, top, bottom, bottomLimit);
-
-#ifdef __LP64__
- // If the new bottom is equal to the old bottom (when both are treated as floats), we just return the original
- // bottom. This prevents rounding errors that can occur when converting newBottom to a double.
- if (fabs(static_cast<float>(bottom) - newBottom) <= std::numeric_limits<float>::epsilon())
- return bottom;
- else
-#endif
- return newBottom;
-}
-
-@end
-
-@implementation NSView (WebHTMLViewFileInternal)
-
-- (void)_web_addDescendantWebHTMLViewsToArray:(NSMutableArray *)array
-{
- unsigned count = [_subviews count];
- for (unsigned i = 0; i < count; ++i) {
- NSView *child = [_subviews objectAtIndex:i];
- if ([child isKindOfClass:[WebHTMLView class]])
- [array addObject:child];
- [child _web_addDescendantWebHTMLViewsToArray:array];
- }
-}
-
-@end
-
-@implementation NSMutableDictionary (WebHTMLViewFileInternal)
-
-- (void)_web_setObjectIfNotNil:(id)object forKey:(id)key
-{
- if (object == nil) {
- [self removeObjectForKey:key];
- } else {
- [self setObject:object forKey:key];
- }
-}
-
-@end
-
-@implementation WebHTMLView
-
-+ (void)initialize
-{
- [NSApp registerServicesMenuSendTypes:[[self class] _selectionPasteboardTypes]
- returnTypes:[[self class] _insertablePasteboardTypes]];
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
-}
-
-- (id)initWithFrame:(NSRect)frame
-{
- self = [super initWithFrame:frame];
- if (!self)
- return nil;
-
- [self setFocusRingType:NSFocusRingTypeNone];
-
- // Make all drawing go through us instead of subviews.
- [self _setDrawsOwnDescendants:YES];
-
- _private = [[WebHTMLViewPrivate alloc] init];
-
- _private->pluginController = [[WebPluginController alloc] initWithDocumentView:self];
-
- return self;
-}
-
-- (void)dealloc
-{
- if (WebCoreObjCScheduleDeallocateOnMainThread([WebHTMLView class], self))
- return;
-
- // We can't assert that close has already been called because
- // this view can be removed from it's superview, even though
- // it could be needed later, so close if needed.
- [self close];
- [_private release];
- _private = nil;
- [super dealloc];
-}
-
-- (void)finalize
-{
- ASSERT_MAIN_THREAD();
- // We can't assert that close has already been called because
- // this view can be removed from it's superview, even though
- // it could be needed later, so close if needed.
- [self close];
- [super finalize];
-}
-
-// Returns YES if the delegate returns YES (so we should do no more work).
-- (BOOL)callDelegateDoCommandBySelectorIfNeeded:(SEL)selector
-{
- BOOL callerAlreadyCalledDelegate = _private->selectorForDoCommandBySelector == selector;
- _private->selectorForDoCommandBySelector = 0;
- if (callerAlreadyCalledDelegate)
- return NO;
- WebView *webView = [self _webView];
- return [[webView _editingDelegateForwarder] webView:webView doCommandBySelector:selector];
-}
-
-typedef HashMap<SEL, String> SelectorNameMap;
-
-// Map selectors into Editor command names.
-// This is not needed for any selectors that have the same name as the Editor command.
-static const SelectorNameMap* createSelectorExceptionMap()
-{
- SelectorNameMap* map = new HashMap<SEL, String>;
-
- map->add(@selector(insertNewlineIgnoringFieldEditor:), "InsertNewline");
- map->add(@selector(insertParagraphSeparator:), "InsertNewline");
- map->add(@selector(insertTabIgnoringFieldEditor:), "InsertTab");
- map->add(@selector(pageDown:), "MovePageDown");
- map->add(@selector(pageDownAndModifySelection:), "MovePageDownAndModifySelection");
- map->add(@selector(pageUp:), "MovePageUp");
- map->add(@selector(pageUpAndModifySelection:), "MovePageUpAndModifySelection");
-
- return map;
-}
-
-static String commandNameForSelector(SEL selector)
-{
- // Check the exception map first.
- static const SelectorNameMap* exceptionMap = createSelectorExceptionMap();
- SelectorNameMap::const_iterator it = exceptionMap->find(selector);
- if (it != exceptionMap->end())
- return it->value;
-
- // Remove the trailing colon.
- // No need to capitalize the command name since Editor command names are
- // not case sensitive.
- const char* selectorName = sel_getName(selector);
- size_t selectorNameLength = strlen(selectorName);
- if (selectorNameLength < 2 || selectorName[selectorNameLength - 1] != ':')
- return String();
- return String(selectorName, selectorNameLength - 1);
-}
-
-- (Editor::Command)coreCommandBySelector:(SEL)selector
-{
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return Editor::Command();
- return coreFrame->editor().command(commandNameForSelector(selector));
-}
-
-- (Editor::Command)coreCommandByName:(const char*)name
-{
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return Editor::Command();
- return coreFrame->editor().command(name);
-}
-
-- (void)executeCoreCommandBySelector:(SEL)selector
-{
- if ([self callDelegateDoCommandBySelectorIfNeeded:selector])
- return;
- [self coreCommandBySelector:selector].execute();
-}
-
-- (void)executeCoreCommandByName:(const char*)name
-{
- [self coreCommandByName:name].execute();
-}
-
-// These commands are forwarded to the Editor object in WebCore.
-// Ideally we'd do this for all editing commands; more of the code
-// should be moved from here to there, and more commands should be
-// added to this list.
-
-// FIXME: Maybe we should set things up so that all these share a single method implementation function.
-// The functions are identical.
-
-#define WEBCORE_COMMAND(command) - (void)command:(id)sender { [self executeCoreCommandBySelector:_cmd]; }
-
-WEBCORE_COMMAND(alignCenter)
-WEBCORE_COMMAND(alignJustified)
-WEBCORE_COMMAND(alignLeft)
-WEBCORE_COMMAND(alignRight)
-WEBCORE_COMMAND(copy)
-WEBCORE_COMMAND(cut)
-WEBCORE_COMMAND(paste)
-WEBCORE_COMMAND(delete)
-WEBCORE_COMMAND(deleteBackward)
-WEBCORE_COMMAND(deleteBackwardByDecomposingPreviousCharacter)
-WEBCORE_COMMAND(deleteForward)
-WEBCORE_COMMAND(deleteToBeginningOfLine)
-WEBCORE_COMMAND(deleteToBeginningOfParagraph)
-WEBCORE_COMMAND(deleteToEndOfLine)
-WEBCORE_COMMAND(deleteToEndOfParagraph)
-WEBCORE_COMMAND(deleteToMark)
-WEBCORE_COMMAND(deleteWordBackward)
-WEBCORE_COMMAND(deleteWordForward)
-WEBCORE_COMMAND(ignoreSpelling)
-WEBCORE_COMMAND(indent)
-WEBCORE_COMMAND(insertBacktab)
-WEBCORE_COMMAND(insertLineBreak)
-WEBCORE_COMMAND(insertNewline)
-WEBCORE_COMMAND(insertNewlineIgnoringFieldEditor)
-WEBCORE_COMMAND(insertParagraphSeparator)
-WEBCORE_COMMAND(insertTab)
-WEBCORE_COMMAND(insertTabIgnoringFieldEditor)
-WEBCORE_COMMAND(makeTextWritingDirectionLeftToRight)
-WEBCORE_COMMAND(makeTextWritingDirectionNatural)
-WEBCORE_COMMAND(makeTextWritingDirectionRightToLeft)
-WEBCORE_COMMAND(moveBackward)
-WEBCORE_COMMAND(moveBackwardAndModifySelection)
-WEBCORE_COMMAND(moveDown)
-WEBCORE_COMMAND(moveDownAndModifySelection)
-WEBCORE_COMMAND(moveForward)
-WEBCORE_COMMAND(moveForwardAndModifySelection)
-WEBCORE_COMMAND(moveLeft)
-WEBCORE_COMMAND(moveLeftAndModifySelection)
-WEBCORE_COMMAND(moveParagraphBackwardAndModifySelection)
-WEBCORE_COMMAND(moveParagraphForwardAndModifySelection)
-WEBCORE_COMMAND(moveRight)
-WEBCORE_COMMAND(moveRightAndModifySelection)
-WEBCORE_COMMAND(moveToBeginningOfDocument)
-WEBCORE_COMMAND(moveToBeginningOfDocumentAndModifySelection)
-WEBCORE_COMMAND(moveToBeginningOfLine)
-WEBCORE_COMMAND(moveToBeginningOfLineAndModifySelection)
-WEBCORE_COMMAND(moveToBeginningOfParagraph)
-WEBCORE_COMMAND(moveToBeginningOfParagraphAndModifySelection)
-WEBCORE_COMMAND(moveToBeginningOfSentence)
-WEBCORE_COMMAND(moveToBeginningOfSentenceAndModifySelection)
-WEBCORE_COMMAND(moveToEndOfDocument)
-WEBCORE_COMMAND(moveToEndOfDocumentAndModifySelection)
-WEBCORE_COMMAND(moveToEndOfLine)
-WEBCORE_COMMAND(moveToEndOfLineAndModifySelection)
-WEBCORE_COMMAND(moveToEndOfParagraph)
-WEBCORE_COMMAND(moveToEndOfParagraphAndModifySelection)
-WEBCORE_COMMAND(moveToEndOfSentence)
-WEBCORE_COMMAND(moveToEndOfSentenceAndModifySelection)
-WEBCORE_COMMAND(moveToLeftEndOfLine)
-WEBCORE_COMMAND(moveToLeftEndOfLineAndModifySelection)
-WEBCORE_COMMAND(moveToRightEndOfLine)
-WEBCORE_COMMAND(moveToRightEndOfLineAndModifySelection)
-WEBCORE_COMMAND(moveUp)
-WEBCORE_COMMAND(moveUpAndModifySelection)
-WEBCORE_COMMAND(moveWordBackward)
-WEBCORE_COMMAND(moveWordBackwardAndModifySelection)
-WEBCORE_COMMAND(moveWordForward)
-WEBCORE_COMMAND(moveWordForwardAndModifySelection)
-WEBCORE_COMMAND(moveWordLeft)
-WEBCORE_COMMAND(moveWordLeftAndModifySelection)
-WEBCORE_COMMAND(moveWordRight)
-WEBCORE_COMMAND(moveWordRightAndModifySelection)
-WEBCORE_COMMAND(outdent)
-WEBCORE_COMMAND(overWrite)
-WEBCORE_COMMAND(pageDown)
-WEBCORE_COMMAND(pageDownAndModifySelection)
-WEBCORE_COMMAND(pageUp)
-WEBCORE_COMMAND(pageUpAndModifySelection)
-WEBCORE_COMMAND(pasteAsPlainText)
-WEBCORE_COMMAND(selectAll)
-WEBCORE_COMMAND(selectLine)
-WEBCORE_COMMAND(selectParagraph)
-WEBCORE_COMMAND(selectSentence)
-WEBCORE_COMMAND(selectToMark)
-WEBCORE_COMMAND(selectWord)
-WEBCORE_COMMAND(setMark)
-WEBCORE_COMMAND(subscript)
-WEBCORE_COMMAND(superscript)
-WEBCORE_COMMAND(swapWithMark)
-WEBCORE_COMMAND(transpose)
-WEBCORE_COMMAND(underline)
-WEBCORE_COMMAND(unscript)
-WEBCORE_COMMAND(yank)
-WEBCORE_COMMAND(yankAndSelect)
-
-#undef WEBCORE_COMMAND
-
-#define COMMAND_PROLOGUE if ([self callDelegateDoCommandBySelectorIfNeeded:_cmd]) return;
-
-- (IBAction)takeFindStringFromSelection:(id)sender
-{
- COMMAND_PROLOGUE
-
- if (![self _hasSelection]) {
- NSBeep();
- return;
- }
-
- [NSPasteboard _web_setFindPasteboardString:[self selectedString] withOwner:self];
-}
-
-// This method is needed to support Mac OS X services.
-- (BOOL)writeSelectionToPasteboard:(NSPasteboard *)pasteboard types:(NSArray *)types
-{
- [pasteboard declareTypes:types owner:[self _topHTMLView]];
- [self writeSelectionWithPasteboardTypes:types toPasteboard:pasteboard];
- return YES;
-}
-
-- (id)validRequestorForSendType:(NSString *)sendType returnType:(NSString *)returnType
-{
- BOOL isSendTypeOK = !sendType || ([[self pasteboardTypesForSelection] containsObject:sendType] && [self _hasSelection]);
- BOOL isReturnTypeOK = NO;
- if (!returnType)
- isReturnTypeOK = YES;
- else if ([[[self class] _insertablePasteboardTypes] containsObject:returnType] && [self _isEditable]) {
- // We can insert strings in any editable context. We can insert other types, like images, only in rich edit contexts.
- isReturnTypeOK = [returnType isEqualToString:NSStringPboardType] || [self _canEditRichly];
- }
- if (isSendTypeOK && isReturnTypeOK)
- return self;
- return [[self nextResponder] validRequestorForSendType:sendType returnType:returnType];
-}
-
-// jumpToSelection is the old name for what AppKit now calls centerSelectionInVisibleArea. Safari
-// was using the old jumpToSelection selector in its menu. Newer versions of Safari will use the
-// selector centerSelectionInVisibleArea. We'll leave the old selector in place for two reasons:
-// (1) Compatibility between older Safari and newer WebKit; (2) other WebKit-based applications
-// might be using the selector, and we don't want to break them.
-- (void)jumpToSelection:(id)sender
-{
- COMMAND_PROLOGUE
-
- if (Frame* coreFrame = core([self _frame]))
- coreFrame->selection()->revealSelection(ScrollAlignment::alignCenterAlways);
-}
-
-- (BOOL)validateUserInterfaceItemWithoutDelegate:(id <NSValidatedUserInterfaceItem>)item
-{
- SEL action = [item action];
- RefPtr<Frame> frame = core([self _frame]);
-
- if (!frame)
- return NO;
-
- if (Document* doc = frame->document()) {
- if (doc->isPluginDocument())
- return NO;
- if (doc->isImageDocument()) {
- if (action == @selector(copy:))
- return frame->loader()->isComplete();
- return NO;
- }
- }
-
- if (action == @selector(changeSpelling:)
- || action == @selector(_changeSpellingFromMenu:)
- || action == @selector(checkSpelling:)
- || action == @selector(complete:)
- || action == @selector(pasteFont:))
- return [self _canEdit];
-
- if (action == @selector(showGuessPanel:)) {
- // Match OS X AppKit behavior for post-Tiger. Don't change Tiger behavior.
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([menuItem isKindOfClass:[NSMenuItem class]]) {
- BOOL panelShowing = [[[NSSpellChecker sharedSpellChecker] spellingPanel] isVisible];
- [menuItem setTitle:panelShowing
- ? UI_STRING_INTERNAL("Hide Spelling and Grammar", "menu item title")
- : UI_STRING_INTERNAL("Show Spelling and Grammar", "menu item title")];
- }
- return [self _canEdit];
- }
-
- if (action == @selector(changeBaseWritingDirection:)
- || action == @selector(makeBaseWritingDirectionLeftToRight:)
- || action == @selector(makeBaseWritingDirectionRightToLeft:)) {
- NSWritingDirection writingDirection;
-
- if (action == @selector(changeBaseWritingDirection:)) {
- writingDirection = static_cast<NSWritingDirection>([item tag]);
- if (writingDirection == NSWritingDirectionNatural)
- return NO;
- } else if (action == @selector(makeBaseWritingDirectionLeftToRight:))
- writingDirection = NSWritingDirectionLeftToRight;
- else
- writingDirection = NSWritingDirectionRightToLeft;
-
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([menuItem isKindOfClass:[NSMenuItem class]]) {
- String direction = writingDirection == NSWritingDirectionLeftToRight ? "ltr" : "rtl";
- [menuItem setState:frame->editor().selectionHasStyle(CSSPropertyDirection, direction)];
- }
- return [self _canEdit];
- }
-
- if (action == @selector(makeBaseWritingDirectionNatural:)) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([menuItem isKindOfClass:[NSMenuItem class]])
- [menuItem setState:NSOffState];
- return NO;
- }
-
- if (action == @selector(toggleBaseWritingDirection:)) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([menuItem isKindOfClass:[NSMenuItem class]]) {
- // Take control of the title of the menu item instead of just checking/unchecking it because
- // a check would be ambiguous.
- [menuItem setTitle:frame->editor().selectionHasStyle(CSSPropertyDirection, "rtl")
- ? UI_STRING_INTERNAL("Left to Right", "Left to Right context menu item")
- : UI_STRING_INTERNAL("Right to Left", "Right to Left context menu item")];
- }
- return [self _canEdit];
- }
-
- if (action == @selector(changeAttributes:)
- || action == @selector(changeColor:)
- || action == @selector(changeFont:))
- return [self _canEditRichly];
-
- if (action == @selector(capitalizeWord:)
- || action == @selector(lowercaseWord:)
- || action == @selector(uppercaseWord:))
- return [self _hasSelection] && [self _isEditable];
-
- if (action == @selector(centerSelectionInVisibleArea:)
- || action == @selector(jumpToSelection:)
- || action == @selector(copyFont:))
- return [self _hasSelection] || ([self _isEditable] && [self _hasInsertionPoint]);
-
- if (action == @selector(changeDocumentBackgroundColor:))
- return [[self _webView] isEditable] && [self _canEditRichly];
-
- if (action == @selector(_ignoreSpellingFromMenu:)
- || action == @selector(_learnSpellingFromMenu:)
- || action == @selector(takeFindStringFromSelection:))
- return [self _hasSelection];
-
- if (action == @selector(paste:) || action == @selector(pasteAsPlainText:))
- return frame && (frame->editor().canDHTMLPaste() || frame->editor().canPaste());
-
- if (action == @selector(pasteAsRichText:))
- return frame && (frame->editor().canDHTMLPaste()
- || (frame->editor().canPaste() && frame->selection()->isContentRichlyEditable()));
-
- if (action == @selector(performFindPanelAction:))
- return NO;
-
- if (action == @selector(_lookUpInDictionaryFromMenu:))
- return [self _hasSelection];
-
- if (action == @selector(stopSpeaking:))
- return [NSApp isSpeaking];
-
- if (action == @selector(toggleGrammarChecking:)) {
- // FIXME 4799134: WebView is the bottleneck for this grammar-checking logic, but we must validate
- // the selector here because we implement it here, and we must implement it here because the AppKit
- // code checks the first responder.
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([menuItem isKindOfClass:[NSMenuItem class]])
- [menuItem setState:[self isGrammarCheckingEnabled] ? NSOnState : NSOffState];
- return YES;
- }
-
- if (action == @selector(orderFrontSubstitutionsPanel:)) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([menuItem isKindOfClass:[NSMenuItem class]]) {
- BOOL panelShowing = [[[NSSpellChecker sharedSpellChecker] substitutionsPanel] isVisible];
- [menuItem setTitle:panelShowing
- ? UI_STRING_INTERNAL("Hide Substitutions", "menu item title")
- : UI_STRING_INTERNAL("Show Substitutions", "menu item title")];
- }
- return [self _canEdit];
- }
- // FIXME 4799134: WebView is the bottleneck for this logic, but we must validate
- // the selector here because we implement it here, and we must implement it here because the AppKit
- // code checks the first responder.
- if (action == @selector(toggleSmartInsertDelete:)) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([menuItem isKindOfClass:[NSMenuItem class]])
- [menuItem setState:[self smartInsertDeleteEnabled] ? NSOnState : NSOffState];
- return [self _canEdit];
- }
- if (action == @selector(toggleAutomaticQuoteSubstitution:)) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([menuItem isKindOfClass:[NSMenuItem class]])
- [menuItem setState:[self isAutomaticQuoteSubstitutionEnabled] ? NSOnState : NSOffState];
- return [self _canEdit];
- }
- if (action == @selector(toggleAutomaticLinkDetection:)) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([menuItem isKindOfClass:[NSMenuItem class]])
- [menuItem setState:[self isAutomaticLinkDetectionEnabled] ? NSOnState : NSOffState];
- return [self _canEdit];
- }
- if (action == @selector(toggleAutomaticDashSubstitution:)) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([menuItem isKindOfClass:[NSMenuItem class]])
- [menuItem setState:[self isAutomaticDashSubstitutionEnabled] ? NSOnState : NSOffState];
- return [self _canEdit];
- }
- if (action == @selector(toggleAutomaticTextReplacement:)) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([menuItem isKindOfClass:[NSMenuItem class]])
- [menuItem setState:[self isAutomaticTextReplacementEnabled] ? NSOnState : NSOffState];
- return [self _canEdit];
- }
- if (action == @selector(toggleAutomaticSpellingCorrection:)) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([menuItem isKindOfClass:[NSMenuItem class]])
- [menuItem setState:[self isAutomaticSpellingCorrectionEnabled] ? NSOnState : NSOffState];
- return [self _canEdit];
- }
-
- Editor::Command command = [self coreCommandBySelector:action];
- if (command.isSupported()) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- if ([menuItem isKindOfClass:[NSMenuItem class]])
- [menuItem setState:kit(command.state())];
- return command.isEnabled();
- }
-
- return YES;
-}
-
-- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item
-{
- // This can be called during teardown when _webView is nil. Return NO when this happens, because CallUIDelegateReturningBoolean
- // assumes the WebVIew is non-nil.
- if (![self _webView])
- return NO;
- BOOL result = [self validateUserInterfaceItemWithoutDelegate:item];
- return CallUIDelegateReturningBoolean(result, [self _webView], @selector(webView:validateUserInterfaceItem:defaultValidation:), item, result);
-}
-
-- (BOOL)acceptsFirstResponder
-{
- // Don't accept first responder when we first click on this view.
- // We have to pass the event down through WebCore first to be sure we don't hit a subview.
- // Do accept first responder at any other time, for example from keyboard events,
- // or from calls back from WebCore once we begin mouse-down event handling.
- NSEvent *event = [NSApp currentEvent];
- if ([event type] == NSLeftMouseDown
- && !_private->handlingMouseDownEvent
- && NSPointInRect([event locationInWindow], [self convertRect:[self visibleRect] toView:nil])) {
- return NO;
- }
- return YES;
-}
-
-- (BOOL)maintainsInactiveSelection
-{
- // This method helps to determine whether the WebHTMLView should maintain
- // an inactive selection when it's not first responder.
- // Traditionally, these views have not maintained such selections,
- // clearing them when the view was not first responder. However,
- // to fix bugs like this one:
- // <rdar://problem/3672088>: "Editable WebViews should maintain a selection even
- // when they're not firstResponder"
- // it was decided to add a switch to act more like an NSTextView.
-
- if ([[self _webView] maintainsInactiveSelection])
- return YES;
-
- // Predict the case where we are losing first responder status only to
- // gain it back again. Want to keep the selection in that case.
- id nextResponder = [[self window] _newFirstResponderAfterResigning];
- if ([nextResponder isKindOfClass:[NSScrollView class]]) {
- id contentView = [nextResponder contentView];
- if (contentView)
- nextResponder = contentView;
- }
- if ([nextResponder isKindOfClass:[NSClipView class]]) {
- id documentView = [nextResponder documentView];
- if (documentView)
- nextResponder = documentView;
- }
- if (nextResponder == self)
- return YES;
-
- Frame* coreFrame = core([self _frame]);
- bool selectionIsEditable = coreFrame && coreFrame->selection()->isContentEditable();
- bool nextResponderIsInWebView = [nextResponder isKindOfClass:[NSView class]]
- && [nextResponder isDescendantOf:[[[self _webView] mainFrame] frameView]];
-
- return selectionIsEditable && nextResponderIsInWebView;
-}
-
-- (void)addMouseMovedObserver
-{
- if (!_private->dataSource || ![self _isTopHTMLView] || _private->observingMouseMovedNotifications)
- return;
-
- // Unless the Dashboard asks us to do this for all windows, keep an observer going only for the key window.
- if (!([[self window] isKeyWindow]
-#if ENABLE(DASHBOARD_SUPPORT)
- || [[self _webView] _dashboardBehavior:WebDashboardBehaviorAlwaysSendMouseEventsToAllWindows]
-#endif
- ))
- return;
-
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mouseMovedNotification:)
- name:WKMouseMovedNotification() object:nil];
- [self _frameOrBoundsChanged];
- _private->observingMouseMovedNotifications = true;
-}
-
-- (void)removeMouseMovedObserver
-{
-#if ENABLE(DASHBOARD_SUPPORT)
- // Don't remove the observer if we're running the Dashboard.
- if ([[self _webView] _dashboardBehavior:WebDashboardBehaviorAlwaysSendMouseEventsToAllWindows])
- return;
-#endif
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- // Legacy scrollbars require tracking the mouse at all times.
- if (WKRecommendedScrollerStyle() == NSScrollerStyleLegacy)
- return;
-#endif
-
- [[self _webView] _mouseDidMoveOverElement:nil modifierFlags:0];
- [self _removeMouseMovedObserverUnconditionally];
-}
-
-- (void)addSuperviewObservers
-{
- if (_private->observingSuperviewNotifications)
- return;
-
- NSView *superview = [self superview];
- if (!superview || ![self window])
- return;
-
- NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
- [notificationCenter addObserver:self selector:@selector(_frameOrBoundsChanged) name:NSViewFrameDidChangeNotification object:superview];
- [notificationCenter addObserver:self selector:@selector(_frameOrBoundsChanged) name:NSViewBoundsDidChangeNotification object:superview];
-
- // In addition to registering for frame/bounds change notifications, call -_frameOrBoundsChanged.
- // It will check the current scroll against the previous layout's scroll. We need to
- // do this here to catch the case where the WebView is laid out at one size, removed from its
- // window, resized, and inserted into another window. Our frame/bounds changed notifications
- // will not be sent in that situation, since we only watch for changes while in the view hierarchy.
- [self _frameOrBoundsChanged];
-
- _private->observingSuperviewNotifications = true;
-}
-
-- (void)addWindowObservers
-{
- if (_private->observingWindowNotifications)
- return;
-
- NSWindow *window = [self window];
- if (!window)
- return;
-
- NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
- [notificationCenter addObserver:self selector:@selector(windowDidBecomeKey:) name:NSWindowDidBecomeKeyNotification object:nil];
- [notificationCenter addObserver:self selector:@selector(windowDidResignKey:) name:NSWindowDidResignKeyNotification object:nil];
- [notificationCenter addObserver:self selector:@selector(windowWillOrderOnScreen:) name:WKWindowWillOrderOnScreenNotification() object:window];
- [notificationCenter addObserver:self selector:@selector(windowWillOrderOffScreen:) name:WKWindowWillOrderOffScreenNotification() object:window];
- [notificationCenter addObserver:self selector:@selector(windowWillClose:) name:NSWindowWillCloseNotification object:window];
-
- _private->observingWindowNotifications = true;
-}
-
-- (void)viewWillMoveToSuperview:(NSView *)newSuperview
-{
- [self _removeSuperviewObservers];
-}
-
-- (void)viewDidMoveToSuperview
-{
- if ([self superview] != nil)
- [self addSuperviewObservers];
-
-#if USE(ACCELERATED_COMPOSITING)
- if ([self superview] && [self _isUsingAcceleratedCompositing]) {
- WebView *webView = [self _webView];
- if ([webView _postsAcceleratedCompositingNotifications])
- [[NSNotificationCenter defaultCenter] postNotificationName:_WebViewDidStartAcceleratedCompositingNotification object:webView userInfo:nil];
- }
-#endif
-}
-
-- (void)viewWillMoveToWindow:(NSWindow *)window
-{
- // Don't do anything if we aren't initialized. This happens
- // when decoding a WebView. When WebViews are decoded their subviews
- // are created by initWithCoder: and so won't be normally
- // initialized. The stub views are discarded by WebView.
- if (!_private)
- return;
-
- // FIXME: Some of these calls may not work because this view may be already removed from it's superview.
- [self _removeMouseMovedObserverUnconditionally];
- [self _removeWindowObservers];
- [self _removeSuperviewObservers];
-
- // FIXME: This accomplishes the same thing as the call to setCanStartMedia(false) in
- // WebView. It would be nice to have a single mechanism instead of two.
- [[self _pluginController] stopAllPlugins];
-}
-
-- (void)viewDidMoveToWindow
-{
- // Don't do anything if we aren't initialized. This happens
- // when decoding a WebView. When WebViews are decoded their subviews
- // are created by initWithCoder: and so won't be normally
- // initialized. The stub views are discarded by WebView.
- if (!_private || _private->closed)
- return;
-
- [self _stopAutoscrollTimer];
- if ([self window]) {
- _private->lastScrollPosition = [[self superview] bounds].origin;
- [self addWindowObservers];
- [self addSuperviewObservers];
- [self addMouseMovedObserver];
-
- // FIXME: This accomplishes the same thing as the call to setCanStartMedia(true) in
- // WebView. It would be nice to have a single mechanism instead of two.
- [[self _pluginController] startAllPlugins];
-
- _private->lastScrollPosition = NSZeroPoint;
- }
-}
-
-- (void)_web_makePluginSubviewsPerformSelector:(SEL)selector withObject:(id)object
-{
-#if ENABLE(NETSCAPE_PLUGIN_API)
- // Copy subviews because [self subviews] returns the view's mutable internal array,
- // and we must avoid mutating the array while enumerating it.
- NSArray *subviews = [[self subviews] copy];
-
- NSEnumerator *enumerator = [subviews objectEnumerator];
- WebNetscapePluginView *view;
- while ((view = [enumerator nextObject]) != nil)
- if ([view isKindOfClass:[WebBaseNetscapePluginView class]])
- [view performSelector:selector withObject:object];
-
- [subviews release];
-#endif
-}
-
-- (void)viewWillMoveToHostWindow:(NSWindow *)hostWindow
-{
- [self _web_makePluginSubviewsPerformSelector:@selector(viewWillMoveToHostWindow:) withObject:hostWindow];
-}
-
-- (void)viewDidMoveToHostWindow
-{
- [self _web_makePluginSubviewsPerformSelector:@selector(viewDidMoveToHostWindow) withObject:nil];
-}
-
-
-- (void)addSubview:(NSView *)view
-{
- [super addSubview:view];
-
- if ([WebPluginController isPlugInView:view])
- [[self _pluginController] addPlugin:view];
-}
-
-- (void)willRemoveSubview:(NSView *)subview
-{
-#ifndef NDEBUG
- // Have to null-check _private, since this can be called via -dealloc when
- // cleaning up the the layerHostingView.
- if (_private && _private->enumeratingSubviews)
- LOG(View, "A view of class %s was removed during subview enumeration for layout or printing mode change. We will still do layout or the printing mode change even though this view is no longer in the view hierarchy.", object_getClassName([subview class]));
-#endif
-
- if ([WebPluginController isPlugInView:subview])
- [[self _pluginController] destroyPlugin:subview];
-
- [super willRemoveSubview:subview];
-}
-
-- (void)reapplyStyles
-{
-#ifdef LOG_TIMES
- double start = CFAbsoluteTimeGetCurrent();
-#endif
-
- if (Frame* coreFrame = core([self _frame]))
- coreFrame->document()->styleResolverChanged(RecalcStyleImmediately);
-
-#ifdef LOG_TIMES
- double thisTime = CFAbsoluteTimeGetCurrent() - start;
- LOG(Timing, "%s apply style seconds = %f", [self URL], thisTime);
-#endif
-}
-
-// Do a layout, but set up a new fixed width for the purposes of doing printing layout.
-// minPageWidth==0 implies a non-printing layout
-- (void)layoutToMinimumPageWidth:(float)minPageLogicalWidth height:(float)minPageLogicalHeight originalPageWidth:(float)originalPageWidth originalPageHeight:(float)originalPageHeight maximumShrinkRatio:(float)maximumShrinkRatio adjustingViewSize:(BOOL)adjustViewSize
-{
- if (![self _needsLayout])
- return;
-
-#ifdef LOG_TIMES
- double start = CFAbsoluteTimeGetCurrent();
-#endif
-
- LOG(View, "%@ doing layout", self);
-
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return;
-
- if (FrameView* coreView = coreFrame->view()) {
- if (minPageLogicalWidth > 0.0) {
- FloatSize pageSize(minPageLogicalWidth, minPageLogicalHeight);
- FloatSize originalPageSize(originalPageWidth, originalPageHeight);
- if (coreFrame->document() && coreFrame->document()->renderView() && !coreFrame->document()->renderView()->style()->isHorizontalWritingMode()) {
- pageSize = FloatSize(minPageLogicalHeight, minPageLogicalWidth);
- originalPageSize = FloatSize(originalPageHeight, originalPageWidth);
- }
- coreView->forceLayoutForPagination(pageSize, originalPageSize, maximumShrinkRatio, adjustViewSize ? AdjustViewSize : DoNotAdjustViewSize);
- } else {
- coreView->forceLayout(!adjustViewSize);
- if (adjustViewSize)
- coreView->adjustViewSize();
- }
- }
-
-#ifdef LOG_TIMES
- double thisTime = CFAbsoluteTimeGetCurrent() - start;
- LOG(Timing, "%s layout seconds = %f", [self URL], thisTime);
-#endif
-}
-
-- (void)layout
-{
- [self layoutToMinimumPageWidth:0 height:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:0 adjustingViewSize:NO];
-}
-
-// Deliver mouseup events to the DOM for button 2.
-- (void)rightMouseUp:(NSEvent *)event
-{
- // There's a chance that if we run a nested event loop the event will be released.
- // Retaining and then autoreleasing prevents that from causing a problem later here or
- // inside AppKit code.
- [[event retain] autorelease];
-
- [super rightMouseUp:event];
-
- if (Frame* coreframe = core([self _frame]))
- 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.
- // Retaining and then autoreleasing prevents that from causing a problem later here or
- // inside AppKit code.
- [[event retain] autorelease];
-
- [_private->completionController endRevertingChange:NO moveLeft:NO];
-
- RefPtr<Frame> coreFrame = core([self _frame]);
- if (!coreFrame)
- return nil;
-
- Page* page = coreFrame->page();
- if (!page)
- return nil;
-
- // Match behavior of other browsers by sending a mousedown event for right clicks.
- _private->handlingMouseDownEvent = YES;
- page->contextMenuController()->clearContextMenu();
- coreFrame->eventHandler()->mouseDown(event);
- BOOL handledEvent = coreFrame->eventHandler()->sendContextMenuEvent(PlatformEventFactory::createPlatformMouseEvent(event, page->chrome().platformPageClient()));
- _private->handlingMouseDownEvent = NO;
-
- if (!handledEvent)
- return nil;
-
- // Re-get page, since it might have gone away during event handling.
- page = coreFrame->page();
- if (!page)
- return nil;
-
- ContextMenu* coreMenu = page->contextMenuController()->contextMenu();
- if (!coreMenu)
- return nil;
-
- NSArray* menuItems = coreMenu->platformDescription();
- if (!menuItems)
- return nil;
-
- NSUInteger count = [menuItems count];
- if (!count)
- return nil;
-
- 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;
-}
-
-- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag
-{
- return [self searchFor:string direction:forward caseSensitive:caseFlag wrap:wrapFlag startInSelection:NO];
-}
-
-- (void)clearFocus
-{
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return;
- Document* document = coreFrame->document();
- if (!document)
- return;
-
- document->setFocusedElement(0);
-}
-
-- (BOOL)isOpaque
-{
- return [[self _webView] drawsBackground];
-}
-
-- (void)setLayer:(CALayer *)layer
-{
- if (Frame* frame = core([self _frame])) {
- if (FrameView* view = frame->view())
- view->setPaintsEntireContents(layer);
- }
-
- [super setLayer:layer];
-}
-
-#if !LOG_DISABLED
-- (void)setNeedsDisplay:(BOOL)flag
-{
- LOG(View, "%@ setNeedsDisplay:%@", self, flag ? @"YES" : @"NO");
- [super setNeedsDisplay:flag];
-}
-#endif
-
-- (void)setNeedsDisplayInRect:(NSRect)invalidRect
-{
- if (_private->inScrollPositionChanged) {
- // When scrolling, the dirty regions are adjusted for the scroll only
- // after NSViewBoundsDidChangeNotification is sent. Translate the invalid
- // rect to pre-scrolled coordinates in order to get the right dirty region
- // after adjustment. See <rdar://problem/7678927>.
- NSPoint origin = [[self superview] bounds].origin;
- invalidRect.origin.x -= _private->lastScrollPosition.x - origin.x;
- invalidRect.origin.y -= _private->lastScrollPosition.y - origin.y;
- }
- [super setNeedsDisplayInRect:invalidRect];
-}
-
-- (void)setNeedsLayout: (BOOL)flag
-{
- LOG(View, "%@ setNeedsLayout:%@", self, flag ? @"YES" : @"NO");
- if (!flag)
- return; // There's no way to say you don't need a layout.
- if (Frame* frame = core([self _frame])) {
- if (frame->document() && frame->document()->inPageCache())
- return;
- if (FrameView* view = frame->view())
- view->setNeedsLayout();
- }
-}
-
-- (void)setNeedsToApplyStyles: (BOOL)flag
-{
- LOG(View, "%@ setNeedsToApplyStyles:%@", self, flag ? @"YES" : @"NO");
- if (!flag)
- return; // There's no way to say you don't need a style recalc.
- if (Frame* frame = core([self _frame])) {
- if (frame->document() && frame->document()->inPageCache())
- return;
- frame->document()->scheduleForcedStyleRecalc();
- }
-}
-
-- (void)drawSingleRect:(NSRect)rect
-{
- [NSGraphicsContext saveGraphicsState];
- NSRectClip(rect);
-
- ASSERT([[self superview] isKindOfClass:[WebClipView class]]);
-
- [(WebClipView *)[self superview] setAdditionalClip:rect];
-
- @try {
- if ([self _transparentBackground]) {
- [[NSColor clearColor] set];
- NSRectFill (rect);
- }
-
- [[self _frame] _drawRect:rect contentsOnly:YES];
-
- WebView *webView = [self _webView];
-
- // This hack is needed for <rdar://problem/5023545>. We can hit a race condition where drawRect will be
- // called after the WebView has closed. If the client did not properly close the WebView and set the
- // UIDelegate to nil, then the UIDelegate will be stale and this code will crash.
- static BOOL version3OrLaterClient = WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITHOUT_QUICKBOOKS_QUIRK);
- if (version3OrLaterClient)
- [[webView _UIDelegateForwarder] webView:webView didDrawRect:[webView convertRect:rect fromView:self]];
-
- if (WebNodeHighlight *currentHighlight = [webView currentNodeHighlight])
- [currentHighlight setNeedsUpdateInTargetViewRect:[self convertRect:rect toView:[currentHighlight targetView]]];
-
- [(WebClipView *)[self superview] resetAdditionalClip];
-
- [NSGraphicsContext restoreGraphicsState];
- } @catch (NSException *localException) {
- [(WebClipView *)[self superview] resetAdditionalClip];
- [NSGraphicsContext restoreGraphicsState];
- LOG_ERROR("Exception caught while drawing: %@", localException);
- [localException raise];
- }
-}
-
-- (void)drawRect:(NSRect)rect
-{
- ASSERT_MAIN_THREAD();
- LOG(View, "%@ drawing", self);
-
- const NSRect *rects;
- NSInteger count;
- [self getRectsBeingDrawn:&rects count:&count];
-
- BOOL subviewsWereSetAside = _private->subviewsSetAside;
- if (subviewsWereSetAside)
- [self _restoreSubviews];
-
-#ifdef LOG_TIMES
- double start = CFAbsoluteTimeGetCurrent();
-#endif
-
- // If count == 0 here, use the rect passed in for drawing. This is a workaround for:
- // <rdar://problem/3908282> REGRESSION (Mail): No drag image dragging selected text in Blot and Mail
- // The reason for the workaround is that this method is called explicitly from the code
- // to generate a drag image, and at that time, getRectsBeingDrawn:count: will return a zero count.
- const int cRectThreshold = 10;
- const float cWastedSpaceThreshold = 0.75f;
- BOOL useUnionedRect = (count <= 1) || (count > cRectThreshold);
- if (!useUnionedRect) {
- // Attempt to guess whether or not we should use the unioned rect or the individual rects.
- // We do this by computing the percentage of "wasted space" in the union. If that wasted space
- // is too large, then we will do individual rect painting instead.
- float unionPixels = (rect.size.width * rect.size.height);
- float singlePixels = 0;
- for (int i = 0; i < count; ++i)
- singlePixels += rects[i].size.width * rects[i].size.height;
- float wastedSpace = 1 - (singlePixels / unionPixels);
- if (wastedSpace <= cWastedSpaceThreshold)
- useUnionedRect = YES;
- }
-
- if (useUnionedRect)
- [self drawSingleRect:rect];
- else {
- for (int i = 0; i < count; ++i)
- [self drawSingleRect:rects[i]];
- }
-
-#ifdef LOG_TIMES
- double thisTime = CFAbsoluteTimeGetCurrent() - start;
- LOG(Timing, "%s draw seconds = %f", widget->part()->baseURL().URL().latin1(), thisTime);
-#endif
-
- if (subviewsWereSetAside)
- [self _setAsideSubviews];
-
- WebView *webView = [self _webView];
-
-#if USE(ACCELERATED_COMPOSITING)
- // Only do the synchronization dance if we're drawing into the window, otherwise
- // we risk disabling screen updates when no flush is pending.
- if ([NSGraphicsContext currentContext] == [[self window] graphicsContext] && [webView _needsOneShotDrawingSynchronization]) {
- // Disable screen updates to minimize the chances of the race between the CA
- // display link and AppKit drawing causing flashes.
- [[self window] disableScreenUpdatesUntilFlush];
-
- // Make sure any layer changes that happened as a result of layout
- // via -viewWillDraw are committed.
- [CATransaction flush];
- [webView _setNeedsOneShotDrawingSynchronization:NO];
- }
-#endif
-
- if (webView)
- CallUIDelegate(webView, @selector(webView:didDrawFrame:), [self _frame]);
-}
-
-// Turn off the additional clip while computing our visibleRect.
-- (NSRect)visibleRect
-{
- if (!([[self superview] isKindOfClass:[WebClipView class]]))
- return [super visibleRect];
-
- WebClipView *clipView = (WebClipView *)[self superview];
-
- BOOL hasAdditionalClip = [clipView hasAdditionalClip];
- if (!hasAdditionalClip) {
- return [super visibleRect];
- }
-
- NSRect additionalClip = [clipView additionalClip];
- [clipView resetAdditionalClip];
- NSRect visibleRect = [super visibleRect];
- [clipView setAdditionalClip:additionalClip];
- return visibleRect;
-}
-
-- (void)_invalidateGStatesForTree
-{
- // AppKit is in the process of traversing the NSView tree, and is going to send -renewGState to
- // descendants, including plug-in views. This can result in calls out to plug-in code and back into
- // WebCore via JavaScript, which could normally mutate the NSView tree while it is being traversed.
- // Defer those mutations while descendants are being traveresed.
- WidgetHierarchyUpdatesSuspensionScope suspendWidgetHierarchyUpdates;
- [super _invalidateGStatesForTree];
-}
-
-- (BOOL)isFlipped
-{
- return YES;
-}
-
-- (void)windowDidBecomeKey:(NSNotification *)notification
-{
- if (!pthread_main_np()) {
- [self performSelectorOnMainThread:_cmd withObject:notification waitUntilDone:NO];
- return;
- }
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- if (_private->trackingAreaForNonKeyWindow) {
- [self removeTrackingArea:_private->trackingAreaForNonKeyWindow];
- [_private->trackingAreaForNonKeyWindow release];
- _private->trackingAreaForNonKeyWindow = nil;
- }
-#endif
-
- NSWindow *keyWindow = [notification object];
-
- if (keyWindow == [self window]) {
- [self addMouseMovedObserver];
- [self _updateSecureInputState];
- }
-}
-
-- (void)windowDidResignKey:(NSNotification *)notification
-{
- if (!pthread_main_np()) {
- [self performSelectorOnMainThread:_cmd withObject:notification waitUntilDone:NO];
- return;
- }
-
- NSWindow *formerKeyWindow = [notification object];
-
- if (formerKeyWindow == [self window])
- [self removeMouseMovedObserver];
-
- if (formerKeyWindow == [self window] || formerKeyWindow == [[self window] attachedSheet]) {
- [self _updateSecureInputState];
- [_private->completionController endRevertingChange:NO moveLeft:NO];
- }
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- if (WKRecommendedScrollerStyle() == NSScrollerStyleLegacy) {
- // Legacy style scrollbars have design details that rely on tracking the mouse all the time.
- // It's easiest to do this with a tracking area, which we will remove when the window is key
- // again.
- _private->trackingAreaForNonKeyWindow = [[NSTrackingArea alloc] initWithRect:[self bounds]
- options:NSTrackingMouseMoved | NSTrackingMouseEnteredAndExited | NSTrackingInVisibleRect | NSTrackingActiveAlways
- owner:self
- userInfo:nil];
- [self addTrackingArea:_private->trackingAreaForNonKeyWindow];
- }
-#endif
-}
-
-- (void)windowWillOrderOnScreen:(NSNotification *)notification
-{
- if (!pthread_main_np()) {
- [self performSelectorOnMainThread:_cmd withObject:notification waitUntilDone:NO];
- return;
- }
-
- // Check if the window is already a key window, which can be the case for NSPopovers.
- if ([[self window] isKeyWindow])
- [self addMouseMovedObserver];
-}
-
-- (void)windowWillOrderOffScreen:(NSNotification *)notification
-{
- if (!pthread_main_np()) {
- [self performSelectorOnMainThread:_cmd withObject:notification waitUntilDone:NO];
- return;
- }
-
- // When the WebView is in a NSPopover the NSWindowDidResignKeyNotification isn't sent
- // unless the parent window loses key. So we need to remove the mouse moved observer.
- [self removeMouseMovedObserver];
-}
-
-- (void)windowWillClose:(NSNotification *)notification
-{
- if (!pthread_main_np()) {
- [self performSelectorOnMainThread:_cmd withObject:notification waitUntilDone:NO];
- return;
- }
-
- [_private->completionController endRevertingChange:NO moveLeft:NO];
- [[self _pluginController] destroyAllPlugins];
-}
-
-- (void)scrollWheel:(NSEvent *)event
-{
- // There's a chance that responding to this event will run a nested event loop, and
- // fetching a new event might release the old one. Retaining and then autoreleasing
- // the current event prevents that from causing a problem inside WebKit or AppKit code.
- [[event retain] autorelease];
-
- Frame* frame = core([self _frame]);
- if (!frame || !frame->eventHandler()->wheelEvent(event))
- [super scrollWheel:event];
-}
-
-- (BOOL)_isSelectionEvent:(NSEvent *)event
-{
- NSPoint point = [self convertPoint:[event locationInWindow] fromView:nil];
- return [[[self elementAtPoint:point allowShadowContent:YES] objectForKey:WebElementIsSelectedKey] boolValue];
-}
-
-- (BOOL)_isScrollBarEvent:(NSEvent *)event
-{
- NSPoint point = [self convertPoint:[event locationInWindow] fromView:nil];
- return [[[self elementAtPoint:point allowShadowContent:YES] objectForKey:WebElementIsInScrollBarKey] boolValue];
-}
-
-- (BOOL)acceptsFirstMouse:(NSEvent *)event
-{
- // There's a chance that responding to this event will run a nested event loop, and
- // fetching a new event might release the old one. Retaining and then autoreleasing
- // the current event prevents that from causing a problem inside WebKit or AppKit code.
- [[event retain] autorelease];
-
- NSView *hitView = [self _hitViewForEvent:event];
- WebHTMLView *hitHTMLView = [hitView isKindOfClass:[self class]] ? (WebHTMLView *)hitView : nil;
-
-#if ENABLE(DASHBOARD_SUPPORT)
- if ([[self _webView] _dashboardBehavior:WebDashboardBehaviorAlwaysAcceptsFirstMouse])
- return YES;
-#endif
-
- if (hitHTMLView) {
- bool result = false;
- if (Frame* coreFrame = core([hitHTMLView _frame])) {
- coreFrame->eventHandler()->setActivationEventNumber([event eventNumber]);
- [hitHTMLView _setMouseDownEvent:event];
- if ([hitHTMLView _isSelectionEvent:event]) {
-#if ENABLE(DRAG_SUPPORT)
- if (Page* page = coreFrame->page())
- result = coreFrame->eventHandler()->eventMayStartDrag(PlatformEventFactory::createPlatformMouseEvent(event, page->chrome().platformPageClient()));
-#endif
- } else if ([hitHTMLView _isScrollBarEvent:event])
- result = true;
- [hitHTMLView _setMouseDownEvent:nil];
- }
- return result;
- }
- return [hitView acceptsFirstMouse:event];
-}
-
-- (BOOL)shouldDelayWindowOrderingForEvent:(NSEvent *)event
-{
- // There's a chance that responding to this event will run a nested event loop, and
- // fetching a new event might release the old one. Retaining and then autoreleasing
- // the current event prevents that from causing a problem inside WebKit or AppKit code.
- [[event retain] autorelease];
-
- NSView *hitView = [self _hitViewForEvent:event];
- WebHTMLView *hitHTMLView = [hitView isKindOfClass:[self class]] ? (WebHTMLView *)hitView : nil;
- if (hitHTMLView) {
- bool result = false;
- if ([hitHTMLView _isSelectionEvent:event]) {
- [hitHTMLView _setMouseDownEvent:event];
-#if ENABLE(DRAG_SUPPORT)
- if (Frame* coreFrame = core([hitHTMLView _frame])) {
- if (Page* page = coreFrame->page())
- result = coreFrame->eventHandler()->eventMayStartDrag(PlatformEventFactory::createPlatformMouseEvent(event, page->chrome().platformPageClient()));
- }
-#endif
- [hitHTMLView _setMouseDownEvent:nil];
- }
- return result;
- }
- return [hitView shouldDelayWindowOrderingForEvent:event];
-}
-
-- (void)mouseDown:(NSEvent *)event
-{
- // There's a chance that responding to this event will run a nested event loop, and
- // fetching a new event might release the old one. Retaining and then autoreleasing
- // the current event prevents that from causing a problem inside WebKit or AppKit code.
- [[event retain] autorelease];
-
- RetainPtr<WebHTMLView> protector = self;
- if ([[self inputContext] wantsToHandleMouseEvents] && [[self inputContext] handleMouseEvent:event])
- return;
-
- _private->handlingMouseDownEvent = YES;
-
- // Record the mouse down position so we can determine drag hysteresis.
- [self _setMouseDownEvent:event];
-
- NSInputManager *currentInputManager = [NSInputManager currentInputManager];
- if ([currentInputManager wantsToHandleMouseEvents] && [currentInputManager handleMouseEvent:event])
- goto done;
-
- [_private->completionController endRevertingChange:NO moveLeft:NO];
-
- // If the web page handles the context menu event and menuForEvent: returns nil, we'll get control click events here.
- // We don't want to pass them along to KHTML a second time.
- if (!([event modifierFlags] & NSControlKeyMask)) {
- _private->ignoringMouseDraggedEvents = NO;
-
- // Let WebCore get a chance to deal with the event. This will call back to us
- // to start the autoscroll timer if appropriate.
- if (Frame* coreframe = core([self _frame]))
- coreframe->eventHandler()->mouseDown(event);
- }
-
-done:
- _private->handlingMouseDownEvent = NO;
-}
-
-#if ENABLE(DRAG_SUPPORT)
-- (void)dragImage:(NSImage *)dragImage
- at:(NSPoint)at
- offset:(NSSize)offset
- event:(NSEvent *)event
- pasteboard:(NSPasteboard *)pasteboard
- source:(id)source
- slideBack:(BOOL)slideBack
-{
- ASSERT(self == [self _topHTMLView]);
- [super dragImage:dragImage at:at offset:offset event:event pasteboard:pasteboard source:source slideBack:slideBack];
-}
-
-- (void)mouseDragged:(NSEvent *)event
-{
- // There's a chance that responding to this event will run a nested event loop, and
- // fetching a new event might release the old one. Retaining and then autoreleasing
- // the current event prevents that from causing a problem inside WebKit or AppKit code.
- [[event retain] autorelease];
-
- NSInputManager *currentInputManager = [NSInputManager currentInputManager];
- if ([currentInputManager wantsToHandleMouseEvents] && [currentInputManager handleMouseEvent:event])
- return;
-
- [self retain];
-
- if (!_private->ignoringMouseDraggedEvents) {
- if (Frame* frame = core([self _frame])) {
- if (Page* page = frame->page())
- page->mainFrame()->eventHandler()->mouseDragged(event);
- }
- }
-
- [self release];
-}
-
-- (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL)isLocal
-{
- ASSERT(![self _webView] || [self _isTopHTMLView]);
-
- Page* page = core([self _webView]);
- if (!page)
- return NSDragOperationNone;
-
- return (NSDragOperation)page->dragController()->sourceDragOperation();
-}
-
-- (void)draggedImage:(NSImage *)anImage endedAt:(NSPoint)aPoint operation:(NSDragOperation)operation
-{
- ASSERT(![self _webView] || [self _isTopHTMLView]);
-
- NSPoint windowImageLoc = [[self window] convertScreenToBase:aPoint];
- NSPoint windowMouseLoc = windowImageLoc;
-
- if (Page* page = core([self _webView])) {
- DragController* dragController = page->dragController();
- windowMouseLoc = NSMakePoint(windowImageLoc.x + dragController->dragOffset().x(), windowImageLoc.y + dragController->dragOffset().y());
- dragController->dragEnded();
- }
-
- [[self _frame] _dragSourceEndedAt:windowMouseLoc operation:operation];
-
- // Prevent queued mouseDragged events from coming after the drag and fake mouseUp event.
- _private->ignoringMouseDraggedEvents = YES;
-
- // Once the dragging machinery kicks in, we no longer get mouse drags or the up event.
- // WebCore expects to get balanced down/up's, so we must fake up a mouseup.
- NSEvent *fakeEvent = [NSEvent mouseEventWithType:NSLeftMouseUp
- location:windowMouseLoc
- modifierFlags:[[NSApp currentEvent] modifierFlags]
- timestamp:[NSDate timeIntervalSinceReferenceDate]
- windowNumber:[[self window] windowNumber]
- context:[[NSApp currentEvent] context]
- eventNumber:0 clickCount:0 pressure:0];
- [self mouseUp:fakeEvent]; // This will also update the mouseover state.
-}
-
-static bool matchesExtensionOrEquivalent(NSString *filename, NSString *extension)
-{
- NSString *extensionAsSuffix = [@"." stringByAppendingString:extension];
- return [filename _webkit_hasCaseInsensitiveSuffix:extensionAsSuffix]
- || ([extension _webkit_isCaseInsensitiveEqualToString:@"jpeg"]
- && [filename _webkit_hasCaseInsensitiveSuffix:@".jpg"]);
-}
-
-- (NSArray *)namesOfPromisedFilesDroppedAtDestination:(NSURL *)dropDestination
-{
- NSFileWrapper *wrapper = nil;
- NSURL *draggingImageURL = nil;
-
- if (WebCore::CachedImage* tiffResource = [self promisedDragTIFFDataSource]) {
-
- ResourceBuffer *buffer = static_cast<CachedResource*>(tiffResource)->resourceBuffer();
- if (!buffer)
- goto noPromisedData;
-
- NSData *data = buffer->createNSData();
- NSURLResponse *response = tiffResource->response().nsURLResponse();
- draggingImageURL = [response URL];
- wrapper = [[[NSFileWrapper alloc] initRegularFileWithContents:data] autorelease];
- NSString* filename = [response suggestedFilename];
- NSString* trueExtension(tiffResource->image()->filenameExtension());
- if (!matchesExtensionOrEquivalent(filename, trueExtension))
- filename = [[filename stringByAppendingString:@"."] stringByAppendingString:trueExtension];
- [wrapper setPreferredFilename:filename];
- }
-
-noPromisedData:
-
- if (!wrapper) {
- ASSERT(![self _webView] || [self _isTopHTMLView]);
- Page* page = core([self _webView]);
-
- //If a load occurs midway through a drag, the view may be detached, which gives
- //us no ability to get to the original Page, so we cannot access any drag state
- //FIXME: is there a way to recover?
- if (!page)
- return nil;
-
- const KURL& imageURL = page->dragController()->draggingImageURL();
- ASSERT(!imageURL.isEmpty());
- draggingImageURL = imageURL;
-
- wrapper = [[self _dataSource] _fileWrapperForURL:draggingImageURL];
- }
-
- if (wrapper == nil) {
- LOG_ERROR("Failed to create image file.");
- return nil;
- }
-
- // FIXME: Report an error if we fail to create a file.
- NSString *path = [[dropDestination path] stringByAppendingPathComponent:[wrapper preferredFilename]];
- path = [[NSFileManager defaultManager] _webkit_pathWithUniqueFilenameForPath:path];
- if (![wrapper writeToFile:path atomically:NO updateFilenames:YES])
- LOG_ERROR("Failed to create image file via -[NSFileWrapper writeToFile:atomically:updateFilenames:]");
-
- if (draggingImageURL)
- [[NSFileManager defaultManager] _webkit_setMetadataURL:[draggingImageURL absoluteString] referrer:nil atPath:path];
-
- return [NSArray arrayWithObject:[path lastPathComponent]];
-}
-#endif
-
-- (void)mouseUp:(NSEvent *)event
-{
- // There's a chance that responding to this event will run a nested event loop, and
- // fetching a new event might release the old one. Retaining and then autoreleasing
- // the current event prevents that from causing a problem inside WebKit or AppKit code.
- [[event retain] autorelease];
-
- [self _setMouseDownEvent:nil];
-
- NSInputManager *currentInputManager = [NSInputManager currentInputManager];
- if ([currentInputManager wantsToHandleMouseEvents] && [currentInputManager handleMouseEvent:event])
- return;
-
- [self retain];
-
- [self _stopAutoscrollTimer];
- if (Frame* frame = core([self _frame])) {
- if (Page* page = frame->page())
- page->mainFrame()->eventHandler()->mouseUp(event);
- }
- [self _updateMouseoverWithFakeEvent];
-
- [self release];
-}
-
-- (void)mouseMovedNotification:(NSNotification *)notification
-{
- [self _updateMouseoverWithEvent:[[notification userInfo] objectForKey:@"NSEvent"]];
-}
-
-// returning YES from this method is the way we tell AppKit that it is ok for this view
-// to be in the key loop even when "tab to all controls" is not on.
-- (BOOL)needsPanelToBecomeKey
-{
- return YES;
-}
-
-// Utility function to make sure we don't return anything through the NSTextInput
-// API when an editable region is not currently focused.
-static BOOL isTextInput(Frame* coreFrame)
-{
- return coreFrame && !coreFrame->selection()->isNone() && coreFrame->selection()->isContentEditable();
-}
-
-static BOOL isInPasswordField(Frame* coreFrame)
-{
- return coreFrame && coreFrame->selection()->isInPasswordField();
-}
-
-static PassRefPtr<KeyboardEvent> currentKeyboardEvent(Frame* coreFrame)
-{
- NSEvent *event = [NSApp currentEvent];
- if (!event)
- return 0;
-
- switch ([event type]) {
- case NSKeyDown: {
- PlatformKeyboardEvent platformEvent = PlatformEventFactory::createPlatformKeyboardEvent(event);
- platformEvent.disambiguateKeyDownEvent(PlatformEvent::RawKeyDown);
- return KeyboardEvent::create(platformEvent, coreFrame->document()->defaultView());
- }
- case NSKeyUp:
- return KeyboardEvent::create(PlatformEventFactory::createPlatformKeyboardEvent(event), coreFrame->document()->defaultView());
- default:
- return 0;
- }
-}
-
-- (BOOL)becomeFirstResponder
-{
- NSSelectionDirection direction = NSDirectSelection;
- if (![[self _webView] _isPerformingProgrammaticFocus])
- direction = [[self window] keyViewSelectionDirection];
-
- [self _updateFontPanel];
-
- Frame* frame = core([self _frame]);
- if (!frame)
- return YES;
-
- BOOL exposeInputContext = isTextInput(frame) && !isInPasswordField(frame);
- if (exposeInputContext != _private->exposeInputContext) {
- _private->exposeInputContext = exposeInputContext;
- [NSApp updateWindows];
- }
-
- _private->_forceUpdateSecureInputState = YES;
- [self _updateSecureInputState];
- _private->_forceUpdateSecureInputState = NO;
-
- // FIXME: Kill ring handling is mostly in WebCore, so this call should also be moved there.
- frame->editor().setStartNewKillRingSequence(true);
-
- Page* page = frame->page();
- if (!page)
- return YES;
-
- if (![[self _webView] _isPerformingProgrammaticFocus])
- page->focusController()->setFocusedFrame(frame);
-
- page->focusController()->setFocused(true);
-
- if (direction == NSDirectSelection)
- return YES;
-
- if (Document* document = frame->document())
- document->setFocusedElement(0);
- page->focusController()->setInitialFocus(direction == NSSelectingNext ? FocusDirectionForward : FocusDirectionBackward,
- currentKeyboardEvent(frame).get());
- return YES;
-}
-
-- (BOOL)resignFirstResponder
-{
- BOOL resign = [super resignFirstResponder];
- if (resign) {
- if (_private->isInSecureInputState) {
- DisableSecureEventInput();
- _private->isInSecureInputState = NO;
- }
- [_private->completionController endRevertingChange:NO moveLeft:NO];
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return resign;
- Page* page = coreFrame->page();
- if (!page)
- return resign;
- if (![self maintainsInactiveSelection]) {
- [self deselectAll];
- if (![[self _webView] _isPerformingProgrammaticFocus])
- [self clearFocus];
- }
-
- id nextResponder = [[self window] _newFirstResponderAfterResigning];
- bool nextResponderIsInWebView = [nextResponder isKindOfClass:[NSView class]]
- && [nextResponder isDescendantOf:[[[self _webView] mainFrame] frameView]];
- if (!nextResponderIsInWebView)
- page->focusController()->setFocused(false);
- }
- return resign;
-}
-
-- (void)setDataSource:(WebDataSource *)dataSource
-{
- ASSERT(dataSource);
- if (_private->dataSource != dataSource) {
- ASSERT(!_private->closed);
- BOOL hadDataSource = _private->dataSource != nil;
-
- [dataSource retain];
- [_private->dataSource release];
- _private->dataSource = dataSource;
- [_private->pluginController setDataSource:dataSource];
-
- if (!hadDataSource)
- [self addMouseMovedObserver];
- }
-}
-
-- (void)dataSourceUpdated:(WebDataSource *)dataSource
-{
-}
-
-// This is an override of an NSControl method that wants to repaint the entire view when the window resigns/becomes
-// key. WebHTMLView is an NSControl only because it hosts NSCells that are painted by WebCore's Aqua theme
-// renderer (and those cells must be hosted by an enclosing NSControl in order to paint properly).
-- (void)updateCell:(NSCell*)cell
-{
-}
-
-// Does setNeedsDisplay:NO as a side effect when printing is ending.
-// pageWidth != 0 implies we will relayout to a new width
-- (void)_setPrinting:(BOOL)printing minimumPageLogicalWidth:(float)minPageLogicalWidth logicalHeight:(float)minPageLogicalHeight originalPageWidth:(float)originalPageWidth originalPageHeight:(float)originalPageHeight maximumShrinkRatio:(float)maximumShrinkRatio adjustViewSize:(BOOL)adjustViewSize paginateScreenContent:(BOOL)paginateScreenContent
-{
- if (printing == _private->printing && paginateScreenContent == _private->paginateScreenContent)
- return;
-
- WebFrame *frame = [self _frame];
- NSArray *subframes = [frame childFrames];
- unsigned n = [subframes count];
- unsigned i;
- for (i = 0; i != n; ++i) {
- WebFrame *subframe = [subframes objectAtIndex:i];
- WebFrameView *frameView = [subframe frameView];
- if ([[subframe _dataSource] _isDocumentHTML]) {
- [(WebHTMLView *)[frameView documentView] _setPrinting:printing minimumPageLogicalWidth:0 logicalHeight:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:0 adjustViewSize:adjustViewSize paginateScreenContent:paginateScreenContent];
- }
- }
-
- [_private->pageRects release];
- _private->pageRects = nil;
- _private->printing = printing;
- _private->paginateScreenContent = paginateScreenContent;
-
- Frame* coreFrame = core([self _frame]);
- if (coreFrame) {
- if (FrameView* coreView = coreFrame->view())
- coreView->setMediaType(_private->printing ? "print" : "screen");
- if (Document* document = coreFrame->document()) {
- // In setting printing, we should not validate resources already cached for the document.
- // See https://bugs.webkit.org/show_bug.cgi?id=43704
- ResourceCacheValidationSuppressor validationSuppressor(document->cachedResourceLoader());
-
- document->setPaginatedForScreen(_private->paginateScreenContent);
- document->setPrinting(_private->printing);
- document->styleResolverChanged(RecalcStyleImmediately);
- }
- }
-
- [self setNeedsLayout:YES];
- [self layoutToMinimumPageWidth:minPageLogicalWidth height:minPageLogicalHeight originalPageWidth:originalPageWidth originalPageHeight:originalPageHeight maximumShrinkRatio:maximumShrinkRatio adjustingViewSize:adjustViewSize];
- if (!printing) {
- // Can't do this when starting printing or nested printing won't work, see 3491427.
- [self setNeedsDisplay:NO];
- }
-}
-
-- (BOOL)canPrintHeadersAndFooters
-{
- return YES;
-}
-
-// This is needed for the case where the webview is embedded in the view that's being printed.
-// It shouldn't be called when the webview is being printed directly.
-- (void)adjustPageHeightNew:(CGFloat *)newBottom top:(CGFloat)oldTop bottom:(CGFloat)oldBottom limit:(CGFloat)bottomLimit
-{
- // This helps when we print as part of a larger print process.
- // If the WebHTMLView itself is what we're printing, then we will never have to do this.
- BOOL wasInPrintingMode = _private->printing;
- if (!wasInPrintingMode)
- [self _setPrinting:YES minimumPageLogicalWidth:0 logicalHeight:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:0 adjustViewSize:NO paginateScreenContent:[self _isInScreenPaginationMode]];
-
- *newBottom = [self _adjustedBottomOfPageWithTop:oldTop bottom:oldBottom limit:bottomLimit];
-
- if (!wasInPrintingMode) {
- NSPrintOperation *currenPrintOperation = [NSPrintOperation currentOperation];
- if (currenPrintOperation)
- // delay _setPrinting:NO until back to main loop as this method may get called repeatedly
- [self performSelector:@selector(_delayedEndPrintMode:) withObject:currenPrintOperation afterDelay:0];
- else
- // not sure if this is actually ever invoked, it probably shouldn't be
- [self _setPrinting:NO minimumPageLogicalWidth:0 logicalHeight:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:0 adjustViewSize:NO paginateScreenContent:[self _isInScreenPaginationMode]];
- }
-}
-
-- (float)_scaleFactorForPrintOperation:(NSPrintOperation *)printOperation
-{
- bool useViewWidth = true;
- Frame* coreFrame = core([self _frame]);
- if (coreFrame) {
- Document* document = coreFrame->document();
- if (document && document->renderView())
- useViewWidth = document->renderView()->style()->isHorizontalWritingMode();
- }
-
- float viewLogicalWidth = useViewWidth ? NSWidth([self bounds]) : NSHeight([self bounds]);
- if (viewLogicalWidth < 1) {
- LOG_ERROR("%@ has no logical width when printing", self);
- return 1.0f;
- }
-
- float userScaleFactor = [printOperation _web_pageSetupScaleFactor];
- float maxShrinkToFitScaleFactor = 1.0f / _WebHTMLViewPrintingMaximumShrinkFactor;
- float shrinkToFitScaleFactor = (useViewWidth ? [printOperation _web_availablePaperWidth] : [printOperation _web_availablePaperHeight]) / viewLogicalWidth;
- return userScaleFactor * max(maxShrinkToFitScaleFactor, shrinkToFitScaleFactor);
-}
-
-// FIXME 3491344: This is a secret AppKit-internal method that we need to override in order
-// to get our shrink-to-fit to work with a custom pagination scheme. We can do this better
-// if AppKit makes it SPI/API.
-- (CGFloat)_provideTotalScaleFactorForPrintOperation:(NSPrintOperation *)printOperation
-{
- return [self _scaleFactorForPrintOperation:printOperation];
-}
-
-// This is used for Carbon printing. At some point we might want to make this public API.
-- (void)setPageWidthForPrinting:(float)pageWidth
-{
- [self _setPrinting:NO minimumPageLogicalWidth:0 logicalHeight:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:0 adjustViewSize:NO paginateScreenContent:[self _isInScreenPaginationMode]];
- [self _setPrinting:YES minimumPageLogicalWidth:pageWidth logicalHeight:0 originalPageWidth:0 originalPageHeight:0 maximumShrinkRatio:1 adjustViewSize:YES paginateScreenContent:[self _isInScreenPaginationMode]];
-}
-
-- (void)_endPrintModeAndRestoreWindowAutodisplay
-{
- [self _endPrintMode];
- [[self window] setAutodisplay:YES];
-}
-
-- (void)_delayedEndPrintMode:(NSPrintOperation *)initiatingOperation
-{
- ASSERT_ARG(initiatingOperation, initiatingOperation != nil);
- NSPrintOperation *currentOperation = [NSPrintOperation currentOperation];
- if (initiatingOperation == currentOperation) {
- // The print operation is still underway. We don't expect this to ever happen, hence the assert, but we're
- // being extra paranoid here since the printing code is so fragile. Delay the cleanup
- // further.
- ASSERT_NOT_REACHED();
- [self performSelector:@selector(_delayedEndPrintMode:) withObject:initiatingOperation afterDelay:0];
- } else if ([currentOperation view] == self) {
- // A new print job has started, but it is printing the same WebHTMLView again. We don't expect
- // this to ever happen, hence the assert, but we're being extra paranoid here since the printing code is so
- // fragile. Do nothing, because we don't want to break the print job currently in progress, and
- // the print job currently in progress is responsible for its own cleanup.
- ASSERT_NOT_REACHED();
- } else {
- // The print job that kicked off this delayed call has finished, and this view is not being
- // printed again. We expect that no other print job has started. Since this delayed call wasn't
- // cancelled, beginDocument and endDocument must not have been called, and we need to clean up
- // the print mode here.
- ASSERT(currentOperation == nil);
- [self _endPrintModeAndRestoreWindowAutodisplay];
- }
-}
-
-// Return the number of pages available for printing
-- (BOOL)knowsPageRange:(NSRangePointer)range
-{
- // Must do this explicit display here, because otherwise the view might redisplay while the print
- // sheet was up, using printer fonts (and looking different).
- [self displayIfNeeded];
- [[self window] setAutodisplay:NO];
-
- [[self _webView] _adjustPrintingMarginsForHeaderAndFooter];
- NSPrintOperation *printOperation = [NSPrintOperation currentOperation];
- if (![self _beginPrintModeWithPageWidth:[printOperation _web_availablePaperWidth] height:[printOperation _web_availablePaperHeight] shrinkToFit:YES])
- return NO;
-
- // Certain types of errors, including invalid page ranges, can cause beginDocument and
- // endDocument to be skipped after we've put ourselves in print mode (see 4145905). In those cases
- // we need to get out of print mode without relying on any more callbacks from the printing mechanism.
- // If we get as far as beginDocument without trouble, then this delayed request will be cancelled.
- // If not cancelled, this delayed call will be invoked in the next pass through the main event loop,
- // which is after beginDocument and endDocument would be called.
- [self performSelector:@selector(_delayedEndPrintMode:) withObject:printOperation afterDelay:0];
-
- // There is a theoretical chance that someone could do some drawing between here and endDocument,
- // if something caused setNeedsDisplay after this point. If so, it's not a big tragedy, because
- // you'd simply see the printer fonts on screen. As of this writing, this does not happen with Safari.
-
- range->location = 1;
- float totalScaleFactor = [self _scaleFactorForPrintOperation:printOperation];
- float userScaleFactor = [printOperation _web_pageSetupScaleFactor];
- [_private->pageRects release];
- float fullPageWidth = floorf([printOperation _web_availablePaperWidth] / totalScaleFactor);
- float fullPageHeight = floorf([printOperation _web_availablePaperHeight] / totalScaleFactor);
- WebFrame *frame = [self _frame];
- NSArray *newPageRects = [frame _computePageRectsWithPrintScaleFactor:userScaleFactor pageSize:NSMakeSize(fullPageWidth, fullPageHeight)];
-
- // AppKit gets all messed up if you give it a zero-length page count (see 3576334), so if we
- // hit that case we'll pass along a degenerate 1 pixel square to print. This will print
- // a blank page (with correct-looking header and footer if that option is on), which matches
- // the behavior of IE and Camino at least.
- if ([newPageRects count] == 0)
- newPageRects = [NSArray arrayWithObject:[NSValue valueWithRect:NSMakeRect(0, 0, 1, 1)]];
-
- _private->pageRects = [newPageRects retain];
-
- range->length = [_private->pageRects count];
-
- return YES;
-}
-
-// Return the drawing rectangle for a particular page number
-- (NSRect)rectForPage:(NSInteger)page
-{
- return [[_private->pageRects objectAtIndex:page - 1] rectValue];
-}
-
-- (void)drawPageBorderWithSize:(NSSize)borderSize
-{
- ASSERT(NSEqualSizes(borderSize, [[[NSPrintOperation currentOperation] printInfo] paperSize]));
- [[self _webView] _drawHeaderAndFooter];
-}
-
-- (void)beginDocument
-{
- @try {
- // From now on we'll get a chance to call _endPrintMode in either beginDocument or
- // endDocument, so we can cancel the "just in case" pending call.
- [NSObject cancelPreviousPerformRequestsWithTarget:self
- selector:@selector(_delayedEndPrintMode:)
- object:[NSPrintOperation currentOperation]];
- [super beginDocument];
- } @catch (NSException *localException) {
- // Exception during [super beginDocument] means that endDocument will not get called,
- // so we need to clean up our "print mode" here.
- [self _endPrintModeAndRestoreWindowAutodisplay];
- }
-}
-
-- (void)endDocument
-{
- [super endDocument];
- // Note sadly at this point [NSGraphicsContext currentContextDrawingToScreen] is still NO
- [self _endPrintModeAndRestoreWindowAutodisplay];
-}
-
-- (void)keyDown:(NSEvent *)event
-{
- // There's a chance that responding to this event will run a nested event loop, and
- // fetching a new event might release the old one. Retaining and then autoreleasing
- // the current event prevents that from causing a problem inside WebKit or AppKit code.
- [[event retain] autorelease];
-
- RetainPtr<WebHTMLView> selfProtector = self;
- BOOL eventWasSentToWebCore = (_private->keyDownEvent == event);
-
- BOOL callSuper = NO;
-
- [_private->keyDownEvent release];
- _private->keyDownEvent = [event retain];
-
- BOOL completionPopupWasOpen = _private->completionController && [_private->completionController popupWindowIsOpen];
- Frame* coreFrame = core([self _frame]);
- if (!eventWasSentToWebCore && coreFrame && coreFrame->eventHandler()->keyEvent(event)) {
- // WebCore processed a key event, bail on any preexisting complete: UI
- if (completionPopupWasOpen)
- [_private->completionController endRevertingChange:YES moveLeft:NO];
- } else if (!_private->completionController || ![_private->completionController filterKeyDown:event]) {
- // Not consumed by complete: popup window
- [_private->completionController endRevertingChange:YES moveLeft:NO];
- callSuper = YES;
- }
- if (callSuper)
- [super keyDown:event];
- else
- [NSCursor setHiddenUntilMouseMoves:YES];
-}
-
-- (void)keyUp:(NSEvent *)event
-{
- // There's a chance that responding to this event will run a nested event loop, and
- // fetching a new event might release the old one. Retaining and then autoreleasing
- // the current event prevents that from causing a problem inside WebKit or AppKit code.
- [[event retain] autorelease];
-
- BOOL eventWasSentToWebCore = (_private->keyDownEvent == event);
-
- RetainPtr<WebHTMLView> selfProtector = self;
- Frame* coreFrame = core([self _frame]);
- if (coreFrame && !eventWasSentToWebCore)
- coreFrame->eventHandler()->keyEvent(event);
- else
- [super keyUp:event];
-}
-
-- (void)flagsChanged:(NSEvent *)event
-{
- // There's a chance that responding to this event will run a nested event loop, and
- // fetching a new event might release the old one. Retaining and then autoreleasing
- // the current event prevents that from causing a problem inside WebKit or AppKit code.
- [[event retain] autorelease];
-
- RetainPtr<WebHTMLView> selfProtector = self;
-
- Frame* coreFrame = core([self _frame]);
- unsigned short keyCode = [event keyCode];
-
- // Don't make an event from the num lock and function keys.
- if (coreFrame && keyCode != 0 && keyCode != 10 && keyCode != 63) {
- coreFrame->eventHandler()->keyEvent(PlatformEventFactory::createPlatformKeyboardEvent(event));
- return;
- }
-
- [super flagsChanged:event];
-}
-
-- (id)accessibilityAttributeValue:(NSString*)attributeName
-{
- if ([attributeName isEqualToString: NSAccessibilityChildrenAttribute]) {
- id accTree = [[self _frame] accessibilityRoot];
- if (accTree)
- return [NSArray arrayWithObject:accTree];
- return nil;
- }
- return [super accessibilityAttributeValue:attributeName];
-}
-
-- (id)accessibilityFocusedUIElement
-{
- id accTree = [[self _frame] accessibilityRoot];
- if (accTree)
- return [accTree accessibilityFocusedUIElement];
- return self;
-}
-
-- (id)accessibilityHitTest:(NSPoint)point
-{
- id accTree = [[self _frame] accessibilityRoot];
- if (accTree) {
- NSPoint windowCoord = [[self window] convertScreenToBase:point];
- return [accTree accessibilityHitTest:[self convertPoint:windowCoord fromView:nil]];
- }
- return self;
-}
-
-- (id)_accessibilityParentForSubview:(NSView *)subview
-{
- id accTree = [[self _frame] accessibilityRoot];
- if (!accTree)
- return self;
- id parent = [accTree _accessibilityParentForSubview:subview];
- if (!parent)
- return self;
- return parent;
-}
-
-- (void)centerSelectionInVisibleArea:(id)sender
-{
- COMMAND_PROLOGUE
-
- if (Frame* coreFrame = core([self _frame]))
- coreFrame->selection()->revealSelection(ScrollAlignment::alignCenterAlways);
-}
-
-- (NSData *)_selectionStartFontAttributesAsRTF
-{
- Frame* coreFrame = core([self _frame]);
- NSAttributedString *string = [[NSAttributedString alloc] initWithString:@"x"
- attributes:coreFrame ? coreFrame->editor().fontAttributesForSelectionStart() : nil];
- NSData *data = [string RTFFromRange:NSMakeRange(0, [string length]) documentAttributes:nil];
- [string release];
- return data;
-}
-
-- (NSDictionary *)_fontAttributesFromFontPasteboard
-{
- NSPasteboard *fontPasteboard = [NSPasteboard pasteboardWithName:NSFontPboard];
- if (fontPasteboard == nil)
- return nil;
- NSData *data = [fontPasteboard dataForType:NSFontPboardType];
- if (data == nil || [data length] == 0)
- return nil;
- // NSTextView does something more efficient by parsing the attributes only, but that's not available in API.
- NSAttributedString *string = [[[NSAttributedString alloc] initWithRTF:data documentAttributes:NULL] autorelease];
- if (string == nil || [string length] == 0)
- return nil;
- return [string fontAttributesInRange:NSMakeRange(0, 1)];
-}
-
-- (DOMCSSStyleDeclaration *)_emptyStyle
-{
- return [[[self _frame] DOMDocument] createCSSStyleDeclaration];
-}
-
-- (NSString *)_colorAsString:(NSColor *)color
-{
- NSColor *rgbColor = [color colorUsingColorSpaceName:NSDeviceRGBColorSpace];
- // FIXME: If color is non-nil and rgbColor is nil, that means we got some kind
- // of fancy color that can't be converted to RGB. Changing that to "transparent"
- // might not be great, but it's probably OK.
- if (rgbColor == nil)
- return @"transparent";
- float r = [rgbColor redComponent];
- float g = [rgbColor greenComponent];
- float b = [rgbColor blueComponent];
- float a = [rgbColor alphaComponent];
- if (a == 0)
- return @"transparent";
- if (r == 0 && g == 0 && b == 0 && a == 1)
- return @"black";
- if (r == 1 && g == 1 && b == 1 && a == 1)
- return @"white";
- // FIXME: Lots more named colors. Maybe we could use the table in WebCore?
- if (a == 1)
- return [NSString stringWithFormat:@"rgb(%.0f,%.0f,%.0f)", r * 255, g * 255, b * 255];
- return [NSString stringWithFormat:@"rgba(%.0f,%.0f,%.0f,%f)", r * 255, g * 255, b * 255, a];
-}
-
-- (NSString *)_shadowAsString:(NSShadow *)shadow
-{
- if (shadow == nil)
- return @"none";
- NSSize offset = [shadow shadowOffset];
- float blurRadius = [shadow shadowBlurRadius];
- if (offset.width == 0 && offset.height == 0 && blurRadius == 0)
- return @"none";
- NSColor *color = [shadow shadowColor];
- if (color == nil)
- return @"none";
- // FIXME: Handle non-integral values here?
- if (blurRadius == 0)
- return [NSString stringWithFormat:@"%@ %.0fpx %.0fpx", [self _colorAsString:color], offset.width, offset.height];
- return [NSString stringWithFormat:@"%@ %.0fpx %.0fpx %.0fpx", [self _colorAsString:color], offset.width, offset.height, blurRadius];
-}
-
-- (DOMCSSStyleDeclaration *)_styleFromFontAttributes:(NSDictionary *)dictionary
-{
- DOMCSSStyleDeclaration *style = [self _emptyStyle];
-
- NSColor *color = [dictionary objectForKey:NSBackgroundColorAttributeName];
- [style setBackgroundColor:[self _colorAsString:color]];
-
- NSFont *font = [dictionary objectForKey:NSFontAttributeName];
- if (!font) {
- [style setFontFamily:@"Helvetica"];
- [style setFontSize:@"12px"];
- [style setFontWeight:@"normal"];
- [style setFontStyle:@"normal"];
- } else {
- NSFontManager *fm = [NSFontManager sharedFontManager];
- // FIXME: Need more sophisticated escaping code if we want to handle family names
- // with characters like single quote or backslash in their names.
- [style setFontFamily:[NSString stringWithFormat:@"'%@'", [font familyName]]];
- [style setFontSize:[NSString stringWithFormat:@"%0.fpx", [font pointSize]]];
- // FIXME: Map to the entire range of CSS weight values.
- if ([fm weightOfFont:font] >= MIN_BOLD_WEIGHT)
- [style setFontWeight:@"bold"];
- else
- [style setFontWeight:@"normal"];
- if ([fm traitsOfFont:font] & NSItalicFontMask)
- [style setFontStyle:@"italic"];
- else
- [style setFontStyle:@"normal"];
- }
-
- color = [dictionary objectForKey:NSForegroundColorAttributeName];
- [style setColor:color ? [self _colorAsString:color] : (NSString *)@"black"];
-
- NSShadow *shadow = [dictionary objectForKey:NSShadowAttributeName];
- [style setTextShadow:[self _shadowAsString:shadow]];
-
- int strikethroughInt = [[dictionary objectForKey:NSStrikethroughStyleAttributeName] intValue];
-
- int superscriptInt = [[dictionary objectForKey:NSSuperscriptAttributeName] intValue];
- if (superscriptInt > 0)
- [style setVerticalAlign:@"super"];
- else if (superscriptInt < 0)
- [style setVerticalAlign:@"sub"];
- else
- [style setVerticalAlign:@"baseline"];
- int underlineInt = [[dictionary objectForKey:NSUnderlineStyleAttributeName] intValue];
- // FIXME: Underline wins here if we have both (see bug 3790443).
- if (strikethroughInt == NSUnderlineStyleNone && underlineInt == NSUnderlineStyleNone)
- [style setProperty:@"-webkit-text-decorations-in-effect" value:@"none" priority:@""];
- else if (underlineInt == NSUnderlineStyleNone)
- [style setProperty:@"-webkit-text-decorations-in-effect" value:@"line-through" priority:@""];
- else
- [style setProperty:@"-webkit-text-decorations-in-effect" value:@"underline" priority:@""];
-
- return style;
-}
-
-- (void)_applyStyleToSelection:(DOMCSSStyleDeclaration *)style withUndoAction:(EditAction)undoAction
-{
- if (Frame* coreFrame = core([self _frame])) {
- // FIXME: We shouldn't have to make a copy here. We want callers of this function to work directly with StylePropertySet eventually.
- coreFrame->editor().applyStyleToSelection(core(style)->copyProperties().get(), undoAction);
- }
-}
-
-- (BOOL)_handleStyleKeyEquivalent:(NSEvent *)event
-{
- WebView *webView = [self _webView];
- if (!webView)
- return NO;
-
- if (![[webView preferences] respectStandardStyleKeyEquivalents])
- return NO;
-
- if (![self _canEdit])
- return NO;
-
- if (([event modifierFlags] & NSDeviceIndependentModifierFlagsMask) != NSCommandKeyMask)
- return NO;
-
- NSString *string = [event characters];
- if ([string caseInsensitiveCompare:@"b"] == NSOrderedSame) {
- [self executeCoreCommandByName:"ToggleBold"];
- return YES;
- }
- if ([string caseInsensitiveCompare:@"i"] == NSOrderedSame) {
- [self executeCoreCommandByName:"ToggleItalic"];
- return YES;
- }
-
- return NO;
-}
-
-- (BOOL)performKeyEquivalent:(NSEvent *)event
-{
- // There's a chance that responding to this event will run a nested event loop, and
- // fetching a new event might release the old one. Retaining and then autoreleasing
- // the current event prevents that from causing a problem inside WebKit or AppKit code.
- [[event retain] autorelease];
-
- BOOL eventWasSentToWebCore = (_private->keyDownEvent == event);
- BOOL ret = NO;
-
- [_private->keyDownEvent release];
- _private->keyDownEvent = [event retain];
-
- [self retain];
-
- // Pass command-key combos through WebCore if there is a key binding available for
- // this event. This lets web pages have a crack at intercepting command-modified keypresses.
- // But don't do it if we have already handled the event.
- // Pressing Esc results in a fake event being sent - don't pass it to WebCore.
- if (!eventWasSentToWebCore && event == [NSApp currentEvent] && self == [[self window] firstResponder])
- if (Frame* frame = core([self _frame]))
- ret = frame->eventHandler()->keyEvent(event);
-
- if (!ret)
- ret = [self _handleStyleKeyEquivalent:event] || [super performKeyEquivalent:event];
-
- [self release];
-
- return ret;
-}
-
-- (void)copyFont:(id)sender
-{
- COMMAND_PROLOGUE
-
- // Put RTF with font attributes on the pasteboard.
- // Maybe later we should add a pasteboard type that contains CSS text for "native" copy and paste font.
- NSPasteboard *fontPasteboard = [NSPasteboard pasteboardWithName:NSFontPboard];
- [fontPasteboard declareTypes:[NSArray arrayWithObject:NSFontPboardType] owner:nil];
- [fontPasteboard setData:[self _selectionStartFontAttributesAsRTF] forType:NSFontPboardType];
-}
-
-- (void)pasteFont:(id)sender
-{
- COMMAND_PROLOGUE
-
- // Read RTF with font attributes from the pasteboard.
- // Maybe later we should add a pasteboard type that contains CSS text for "native" copy and paste font.
- [self _applyStyleToSelection:[self _styleFromFontAttributes:[self _fontAttributesFromFontPasteboard]] withUndoAction:EditActionPasteFont];
-}
-
-- (void)pasteAsRichText:(id)sender
-{
- COMMAND_PROLOGUE
-
- // Since rich text always beats plain text when both are on the pasteboard, it's not
- // clear how this is different from plain old paste.
- [self _pasteWithPasteboard:[NSPasteboard generalPasteboard] allowPlainText:NO];
-}
-
-- (NSFont *)_originalFontA
-{
- return [[NSFontManager sharedFontManager] fontWithFamily:@"Helvetica" traits:0 weight:STANDARD_WEIGHT size:10.0f];
-}
-
-- (NSFont *)_originalFontB
-{
- return [[NSFontManager sharedFontManager] fontWithFamily:@"Times" traits:NSFontItalicTrait weight:STANDARD_BOLD_WEIGHT size:12.0f];
-}
-
-- (void)_addToStyle:(DOMCSSStyleDeclaration *)style fontA:(NSFont *)a fontB:(NSFont *)b
-{
- // Since there's no way to directly ask NSFontManager what style change it's going to do
- // we instead pass two "specimen" fonts to it and let it change them. We then deduce what
- // style change it was doing by looking at what happened to each of the two fonts.
- // So if it was making the text bold, both fonts will be bold after the fact.
-
- if (a == nil || b == nil)
- return;
-
- NSFontManager *fm = [NSFontManager sharedFontManager];
-
- NSFont *oa = [self _originalFontA];
-
- NSString *aFamilyName = [a familyName];
- NSString *bFamilyName = [b familyName];
-
- int aPointSize = (int)[a pointSize];
- int bPointSize = (int)[b pointSize];
-
- int aWeight = [fm weightOfFont:a];
- int bWeight = [fm weightOfFont:b];
-
- BOOL aIsItalic = ([fm traitsOfFont:a] & NSItalicFontMask) != 0;
- BOOL bIsItalic = ([fm traitsOfFont:b] & NSItalicFontMask) != 0;
-
- BOOL aIsBold = aWeight > MIN_BOLD_WEIGHT;
-
- if ([aFamilyName isEqualToString:bFamilyName]) {
- NSString *familyNameForCSS = aFamilyName;
-
- // The family name may not be specific enough to get us the font specified.
- // In some cases, the only way to get exactly what we are looking for is to use
- // the Postscript name.
-
- // Find the font the same way the rendering code would later if it encountered this CSS.
- NSFontTraitMask traits = aIsItalic ? NSFontItalicTrait : 0;
- int weight = aIsBold ? STANDARD_BOLD_WEIGHT : STANDARD_WEIGHT;
- NSFont *foundFont = [WebFontCache fontWithFamily:aFamilyName traits:traits weight:weight size:aPointSize];
-
- // If we don't find a font with the same Postscript name, then we'll have to use the
- // Postscript name to make the CSS specific enough.
- if (![[foundFont fontName] isEqualToString:[a fontName]])
- familyNameForCSS = [a fontName];
-
- // FIXME: Need more sophisticated escaping code if we want to handle family names
- // with characters like single quote or backslash in their names.
- [style setFontFamily:[NSString stringWithFormat:@"'%@'", familyNameForCSS]];
- }
-
- int soa = (int)[oa pointSize];
- if (aPointSize == bPointSize)
- [style setFontSize:[NSString stringWithFormat:@"%dpx", aPointSize]];
- else if (aPointSize < soa)
- [style _setFontSizeDelta:@"-1px"];
- else if (aPointSize > soa)
- [style _setFontSizeDelta:@"1px"];
-
- // FIXME: Map to the entire range of CSS weight values.
- if (aWeight == bWeight)
- [style setFontWeight:aIsBold ? @"bold" : @"normal"];
-
- if (aIsItalic == bIsItalic)
- [style setFontStyle:aIsItalic ? @"italic" : @"normal"];
-}
-
-- (DOMCSSStyleDeclaration *)_styleFromFontManagerOperation
-{
- DOMCSSStyleDeclaration *style = [self _emptyStyle];
-
- NSFontManager *fm = [NSFontManager sharedFontManager];
-
- NSFont *oa = [self _originalFontA];
- NSFont *ob = [self _originalFontB];
- [self _addToStyle:style fontA:[fm convertFont:oa] fontB:[fm convertFont:ob]];
-
- return style;
-}
-
-- (void)changeFont:(id)sender
-{
- COMMAND_PROLOGUE
-
- [self _applyStyleToSelection:[self _styleFromFontManagerOperation] withUndoAction:EditActionSetFont];
-}
-
-- (DOMCSSStyleDeclaration *)_styleForAttributeChange:(id)sender
-{
- DOMCSSStyleDeclaration *style = [self _emptyStyle];
-
- NSShadow *shadow = [[NSShadow alloc] init];
- [shadow setShadowOffset:NSMakeSize(1, 1)];
-
- NSDictionary *oa = [NSDictionary dictionaryWithObjectsAndKeys:
- [self _originalFontA], NSFontAttributeName,
- nil];
- NSDictionary *ob = [NSDictionary dictionaryWithObjectsAndKeys:
- [NSColor blackColor], NSBackgroundColorAttributeName,
- [self _originalFontB], NSFontAttributeName,
- [NSColor whiteColor], NSForegroundColorAttributeName,
- shadow, NSShadowAttributeName,
- [NSNumber numberWithInt:NSUnderlineStyleSingle], NSStrikethroughStyleAttributeName,
- [NSNumber numberWithInt:1], NSSuperscriptAttributeName,
- [NSNumber numberWithInt:NSUnderlineStyleSingle], NSUnderlineStyleAttributeName,
- nil];
-
- [shadow release];
-
- NSDictionary *a = [sender convertAttributes:oa];
- NSDictionary *b = [sender convertAttributes:ob];
-
- NSColor *ca = [a objectForKey:NSBackgroundColorAttributeName];
- NSColor *cb = [b objectForKey:NSBackgroundColorAttributeName];
- if (ca == cb) {
- [style setBackgroundColor:[self _colorAsString:ca]];
- }
-
- [self _addToStyle:style fontA:[a objectForKey:NSFontAttributeName] fontB:[b objectForKey:NSFontAttributeName]];
-
- ca = [a objectForKey:NSForegroundColorAttributeName];
- cb = [b objectForKey:NSForegroundColorAttributeName];
- if (ca == cb) {
- if (!ca)
- ca = [NSColor blackColor];
- [style setColor:[self _colorAsString:ca]];
- }
-
- NSShadow *sha = [a objectForKey:NSShadowAttributeName];
- if (sha)
- [style setTextShadow:[self _shadowAsString:sha]];
- else if ([b objectForKey:NSShadowAttributeName] == nil)
- [style setTextShadow:@"none"];
-
- int sa = [[a objectForKey:NSStrikethroughStyleAttributeName] intValue];
- int sb = [[b objectForKey:NSStrikethroughStyleAttributeName] intValue];
- if (sa == sb) {
- if (sa == NSUnderlineStyleNone)
- [style setProperty:@"-webkit-text-decorations-in-effect" value:@"none" priority:@""];
- // we really mean "no line-through" rather than "none"
- else
- [style setProperty:@"-webkit-text-decorations-in-effect" value:@"line-through" priority:@""];
- // we really mean "add line-through" rather than "line-through"
- }
-
- sa = [[a objectForKey:NSSuperscriptAttributeName] intValue];
- sb = [[b objectForKey:NSSuperscriptAttributeName] intValue];
- if (sa == sb) {
- if (sa > 0)
- [style setVerticalAlign:@"super"];
- else if (sa < 0)
- [style setVerticalAlign:@"sub"];
- else
- [style setVerticalAlign:@"baseline"];
- }
-
- int ua = [[a objectForKey:NSUnderlineStyleAttributeName] intValue];
- int ub = [[b objectForKey:NSUnderlineStyleAttributeName] intValue];
- if (ua == ub) {
- if (ua == NSUnderlineStyleNone)
- [style setProperty:@"-webkit-text-decorations-in-effect" value:@"none" priority:@""];
- // we really mean "no underline" rather than "none"
- else
- [style setProperty:@"-webkit-text-decorations-in-effect" value:@"underline" priority:@""];
- // we really mean "add underline" rather than "underline"
- }
-
- return style;
-}
-
-- (void)changeAttributes:(id)sender
-{
- COMMAND_PROLOGUE
-
- [self _applyStyleToSelection:[self _styleForAttributeChange:sender] withUndoAction:EditActionChangeAttributes];
-}
-
-- (DOMCSSStyleDeclaration *)_styleFromColorPanelWithSelector:(SEL)selector
-{
- DOMCSSStyleDeclaration *style = [self _emptyStyle];
-
- ASSERT([style respondsToSelector:selector]);
- [style performSelector:selector withObject:[self _colorAsString:[[NSColorPanel sharedColorPanel] color]]];
-
- return style;
-}
-
-- (EditAction)_undoActionFromColorPanelWithSelector:(SEL)selector
-{
- if (selector == @selector(setBackgroundColor:))
- return EditActionSetBackgroundColor;
- return EditActionSetColor;
-}
-
-- (void)_changeCSSColorUsingSelector:(SEL)selector inRange:(DOMRange *)range
-{
- DOMCSSStyleDeclaration *style = [self _styleFromColorPanelWithSelector:selector];
- WebView *webView = [self _webView];
- if ([[webView _editingDelegateForwarder] webView:webView shouldApplyStyle:style toElementsInDOMRange:range]) {
- if (Frame* coreFrame = core([self _frame])) {
- // FIXME: We shouldn't have to make a copy here.
- coreFrame->editor().applyStyle(core(style)->copyProperties().get(), [self _undoActionFromColorPanelWithSelector:selector]);
- }
- }
-
-}
-
-- (void)changeDocumentBackgroundColor:(id)sender
-{
- COMMAND_PROLOGUE
-
- // Mimicking NSTextView, this method sets the background color for the
- // entire document. There is no NSTextView API for setting the background
- // color on the selected range only. Note that this method is currently
- // never called from the UI (see comment in changeColor:).
- // FIXME: this actually has no effect when called, probably due to 3654850. _documentRange seems
- // to do the right thing because it works in startSpeaking:, and I know setBackgroundColor: does the
- // right thing because I tested it with [self _selectedRange].
- // FIXME: This won't actually apply the style to the entire range here, because it ends up calling
- // [frame _applyStyle:], which operates on the current selection. To make this work right, we'll
- // need to save off the selection, temporarily set it to the entire range, make the change, then
- // restore the old selection.
- [self _changeCSSColorUsingSelector:@selector(setBackgroundColor:) inRange:[self _documentRange]];
-}
-
-- (void)changeColor:(id)sender
-{
- COMMAND_PROLOGUE
-
- // FIXME: in NSTextView, this method calls changeDocumentBackgroundColor: when a
- // private call has earlier been made by [NSFontFontEffectsBox changeColor:], see 3674493.
- // AppKit will have to be revised to allow this to work with anything that isn't an
- // NSTextView. However, this might not be required for Tiger, since the background-color
- // changing box in the font panel doesn't work in Mail (3674481), though it does in TextEdit.
- [self _applyStyleToSelection:[self _styleFromColorPanelWithSelector:@selector(setColor:)]
- withUndoAction:EditActionSetColor];
-}
-
-- (void)_changeWordCaseWithSelector:(SEL)selector
-{
- if (![self _canEdit])
- return;
-
- WebFrame *frame = [self _frame];
- [self selectWord:nil];
- NSString *word = [[frame _selectedString] performSelector:selector];
- // FIXME: Does this need a different action context other than "typed"?
- if ([self _shouldReplaceSelectionWithText:word givenAction:WebViewInsertActionTyped])
- [frame _replaceSelectionWithText:word selectReplacement:NO smartReplace:NO];
-}
-
-- (void)uppercaseWord:(id)sender
-{
- COMMAND_PROLOGUE
-
- [self _changeWordCaseWithSelector:@selector(uppercaseString)];
-}
-
-- (void)lowercaseWord:(id)sender
-{
- COMMAND_PROLOGUE
-
- [self _changeWordCaseWithSelector:@selector(lowercaseString)];
-}
-
-- (void)capitalizeWord:(id)sender
-{
- COMMAND_PROLOGUE
-
- [self _changeWordCaseWithSelector:@selector(capitalizedString)];
-}
-
-- (void)complete:(id)sender
-{
- COMMAND_PROLOGUE
-
- if (![self _canEdit])
- return;
- if (!_private->completionController)
- _private->completionController = [[WebTextCompletionController alloc] initWithWebView:[self _webView] HTMLView:self];
- [_private->completionController doCompletion];
-}
-
-- (void)checkSpelling:(id)sender
-{
- COMMAND_PROLOGUE
-
- if (Frame* coreFrame = core([self _frame]))
- coreFrame->editor().advanceToNextMisspelling();
-}
-
-- (void)showGuessPanel:(id)sender
-{
- COMMAND_PROLOGUE
-
- NSSpellChecker *checker = [NSSpellChecker sharedSpellChecker];
- if (!checker) {
- LOG_ERROR("No NSSpellChecker");
- return;
- }
-
- NSPanel *spellingPanel = [checker spellingPanel];
- if ([spellingPanel isVisible]) {
- [spellingPanel orderOut:sender];
- return;
- }
-
- if (Frame* coreFrame = core([self _frame]))
- coreFrame->editor().advanceToNextMisspelling(true);
- [spellingPanel orderFront:sender];
-}
-
-- (void)_changeSpellingToWord:(NSString *)newWord
-{
- if (![self _canEdit])
- return;
-
- // Don't correct to empty string. (AppKit checked this, we might as well too.)
- if (![NSSpellChecker sharedSpellChecker]) {
- LOG_ERROR("No NSSpellChecker");
- return;
- }
-
- if ([newWord isEqualToString:@""])
- return;
-
- if ([self _shouldReplaceSelectionWithText:newWord givenAction:WebViewInsertActionPasted])
- [[self _frame] _replaceSelectionWithText:newWord selectReplacement:YES smartReplace:NO];
-}
-
-- (void)changeSpelling:(id)sender
-{
- COMMAND_PROLOGUE
-
- [self _changeSpellingToWord:[[sender selectedCell] stringValue]];
-}
-
-- (void)performFindPanelAction:(id)sender
-{
- COMMAND_PROLOGUE
-
- // Implementing this will probably require copying all of NSFindPanel.h and .m.
- // We need *almost* the same thing as AppKit, but not quite.
- LOG_ERROR("unimplemented");
-}
-
-- (void)startSpeaking:(id)sender
-{
- COMMAND_PROLOGUE
-
- WebFrame *frame = [self _frame];
- DOMRange *range = [self _selectedRange];
- if (!range || [range collapsed])
- range = [self _documentRange];
- [NSApp speakString:[frame _stringForRange:range]];
-}
-
-- (void)stopSpeaking:(id)sender
-{
- COMMAND_PROLOGUE
-
- [NSApp stopSpeaking:sender];
-}
-
-- (void)toggleBaseWritingDirection:(id)sender
-{
- COMMAND_PROLOGUE
-
- if (![self _canEdit])
- return;
-
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return;
-
- WritingDirection direction = RightToLeftWritingDirection;
- switch (coreFrame->editor().baseWritingDirectionForSelectionStart()) {
- case LeftToRightWritingDirection:
- break;
- case RightToLeftWritingDirection:
- direction = LeftToRightWritingDirection;
- break;
- // The writingDirectionForSelectionStart method will never return "natural". It
- // will always return a concrete direction. So, keep the compiler happy, and assert not reached.
- case NaturalWritingDirection:
- ASSERT_NOT_REACHED();
- break;
- }
-
- if (Frame* coreFrame = core([self _frame]))
- coreFrame->editor().setBaseWritingDirection(direction);
-}
-
-- (void)changeBaseWritingDirection:(id)sender
-{
- COMMAND_PROLOGUE
-
- if (![self _canEdit])
- return;
-
- NSWritingDirection writingDirection = static_cast<NSWritingDirection>([sender tag]);
-
- // We disable the menu item that performs this action because we can't implement
- // NSWritingDirectionNatural's behavior using CSS.
- ASSERT(writingDirection != NSWritingDirectionNatural);
-
- if (Frame* coreFrame = core([self _frame]))
- coreFrame->editor().setBaseWritingDirection(writingDirection == NSWritingDirectionLeftToRight ? LeftToRightWritingDirection : RightToLeftWritingDirection);
-}
-
-static BOOL writingDirectionKeyBindingsEnabled()
-{
- return YES;
-}
-
-- (void)_changeBaseWritingDirectionTo:(NSWritingDirection)direction
-{
- if (![self _canEdit])
- return;
-
- static BOOL bindingsEnabled = writingDirectionKeyBindingsEnabled();
-
- if (!bindingsEnabled) {
- NSBeep();
- return;
- }
-
- if (Frame* coreFrame = core([self _frame]))
- coreFrame->editor().setBaseWritingDirection(direction == NSWritingDirectionLeftToRight ? LeftToRightWritingDirection : RightToLeftWritingDirection);
-}
-
-- (void)makeBaseWritingDirectionLeftToRight:(id)sender
-{
- COMMAND_PROLOGUE
-
- [self _changeBaseWritingDirectionTo:NSWritingDirectionLeftToRight];
-}
-
-- (void)makeBaseWritingDirectionRightToLeft:(id)sender
-{
- COMMAND_PROLOGUE
-
- [self _changeBaseWritingDirectionTo:NSWritingDirectionRightToLeft];
-}
-
-- (void)makeBaseWritingDirectionNatural:(id)sender
-{
- LOG_ERROR("Sent from %@.", sender);
-}
-
-#if 0
-
-// CSS does not have a way to specify an outline font, which may make this difficult to implement.
-// Maybe a special case of text-shadow?
-- (void)outline:(id)sender;
-
-// This is part of table support, which may be in NSTextView for Tiger.
-// It's probably simple to do the equivalent thing for WebKit.
-- (void)insertTable:(id)sender;
-
-// This could be important.
-- (void)toggleTraditionalCharacterShape:(id)sender;
-
-// I'm not sure what the equivalents of these in the web world are.
-- (void)insertLineSeparator:(id)sender;
-- (void)insertPageBreak:(id)sender;
-
-// These methods are not implemented in NSTextView yet at the time of this writing.
-- (void)changeCaseOfLetter:(id)sender;
-- (void)transposeWords:(id)sender;
-
-#endif
-
-
-// Override this so that AppKit will send us arrow keys as key down events so we can
-// support them via the key bindings mechanism.
-- (BOOL)_wantsKeyDownForEvent:(NSEvent *)event
-{
- bool haveWebCoreFrame = core([self _frame]);
-
- // If we have a frame, our keyDown method will handle key bindings after sending
- // the event through the DOM, so ask AppKit not to do its early special key binding
- // mapping. If we don't have a frame, just let things work the normal way without
- // a keyDown.
- return haveWebCoreFrame;
-}
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
-- (BOOL)_automaticFocusRingDisabled
-{
- // The default state for _automaticFocusRingDisabled is NO, which prevents focus rings
- // from being painted for search fields. Calling NSSetFocusRingStyle has the side effect
- // of changing this to YES, so just return YES all the time. <rdar://problem/13780122>,
- return YES;
-}
-#endif
-
-- (void)_updateControlTints
-{
- Frame* frame = core([self _frame]);
- if (!frame)
- return;
- FrameView* view = frame->view();
- if (!view)
- return;
- view->updateControlTints();
-}
-
-// Despite its name, this is called at different times than windowDidBecomeKey is.
-// It takes into account all the other factors that determine when NSCell draws
-// with different tints, so it's the right call to use for control tints. We'd prefer
-// to do this with API. <rdar://problem/5136760>
-- (void)_windowChangedKeyState
-{
- if (pthread_main_np())
- [self _updateControlTints];
- else
- [self performSelectorOnMainThread:@selector(_updateControlTints) withObject:nil waitUntilDone:NO];
-
- [super _windowChangedKeyState];
-}
-
-- (void)otherMouseDown:(NSEvent *)event
-{
- if ([event buttonNumber] == 2)
- [self mouseDown:event];
- else
- [super otherMouseDown:event];
-}
-
-- (void)otherMouseDragged:(NSEvent *)event
-{
- if ([event buttonNumber] == 2)
- [self mouseDragged:event];
- else
- [super otherMouseDragged:event];
-}
-
-- (void)otherMouseUp:(NSEvent *)event
-{
- if ([event buttonNumber] == 2)
- [self mouseUp:event];
- else
- [super otherMouseUp:event];
-}
-
-@end
-
-@implementation WebHTMLView (WebInternal)
-
-- (void)_selectionChanged
-{
- [self _updateSelectionForInputManager];
- [self _updateFontPanel];
-}
-
-- (void)_updateFontPanel
-{
- // FIXME: NSTextView bails out if becoming or resigning first responder, for which it has ivar flags. Not
- // sure if we need to do something similar.
-
- if (![self _canEdit])
- return;
-
- NSWindow *window = [self window];
- // FIXME: is this first-responder check correct? What happens if a subframe is editable and is first responder?
- if (![window isKeyWindow] || [window firstResponder] != self)
- return;
-
- bool multipleFonts = false;
- NSFont *font = nil;
- if (Frame* coreFrame = core([self _frame])) {
- if (const SimpleFontData* fd = coreFrame->editor().fontForSelection(multipleFonts))
- font = fd->getNSFont();
- }
-
- // FIXME: for now, return a bogus font that distinguishes the empty selection from the non-empty
- // selection. We should be able to remove this once the rest of this code works properly.
- if (font == nil)
- font = [self _hasSelection] ? [NSFont menuFontOfSize:23] : [NSFont toolTipsFontOfSize:17];
- ASSERT(font != nil);
-
- [[NSFontManager sharedFontManager] setSelectedFont:font isMultiple:multipleFonts];
-}
-
-- (BOOL)_canSmartCopyOrDelete
-{
- if (![[self _webView] smartInsertDeleteEnabled])
- return NO;
- Frame* coreFrame = core([self _frame]);
- return coreFrame && coreFrame->selection()->granularity() == WordGranularity;
-}
-
-- (NSEvent *)_mouseDownEvent
-{
- return _private->mouseDownEvent;
-}
-
-- (id<WebHTMLHighlighter>)_highlighterForType:(NSString*)type
-{
- return [_private->highlighters objectForKey:type];
-}
-
-- (WebFrame *)_frame
-{
- return [_private->dataSource webFrame];
-}
-
-- (void)closeIfNotCurrentView
-{
- if ([[[self _frame] frameView] documentView] != self)
- [self close];
-}
-
-- (DOMDocumentFragment*)_documentFragmentFromPasteboard:(NSPasteboard *)pasteboard
-{
- return [self _documentFragmentFromPasteboard:pasteboard inContext:nil allowPlainText:NO];
-}
-
-
-- (BOOL)isGrammarCheckingEnabled
-{
- // FIXME 4799134: WebView is the bottleneck for this grammar-checking logic, but we must implement the method here because
- // the AppKit code checks the first responder.
- return [[self _webView] isGrammarCheckingEnabled];
-}
-
-- (void)setGrammarCheckingEnabled:(BOOL)flag
-{
- // FIXME 4799134: WebView is the bottleneck for this grammar-checking logic, but we must implement the method here because
- // the AppKit code checks the first responder.
- [[self _webView] setGrammarCheckingEnabled:flag];
-}
-
-- (void)toggleGrammarChecking:(id)sender
-{
- // FIXME 4799134: WebView is the bottleneck for this grammar-checking logic, but we must implement the method here because
- // the AppKit code checks the first responder.
- [[self _webView] toggleGrammarChecking:sender];
-}
-
-- (void)orderFrontSubstitutionsPanel:(id)sender
-{
- COMMAND_PROLOGUE
-
- NSSpellChecker *checker = [NSSpellChecker sharedSpellChecker];
- if (!checker) {
- LOG_ERROR("No NSSpellChecker");
- return;
- }
-
- NSPanel *substitutionsPanel = [checker substitutionsPanel];
- if ([substitutionsPanel isVisible]) {
- [substitutionsPanel orderOut:sender];
- return;
- }
- [substitutionsPanel orderFront:sender];
-}
-
-// FIXME 4799134: WebView is the bottleneck for this logic, but we must implement these methods here because
-// the AppKit code checks the first responder.
-
-- (BOOL)smartInsertDeleteEnabled
-{
- return [[self _webView] smartInsertDeleteEnabled];
-}
-
-- (void)setSmartInsertDeleteEnabled:(BOOL)flag
-{
- [[self _webView] setSmartInsertDeleteEnabled:flag];
-}
-
-- (void)toggleSmartInsertDelete:(id)sender
-{
- [[self _webView] toggleSmartInsertDelete:sender];
-}
-
-- (BOOL)isAutomaticQuoteSubstitutionEnabled
-{
- return [[self _webView] isAutomaticQuoteSubstitutionEnabled];
-}
-
-- (void)setAutomaticQuoteSubstitutionEnabled:(BOOL)flag
-{
- [[self _webView] setAutomaticQuoteSubstitutionEnabled:flag];
-}
-
-- (void)toggleAutomaticQuoteSubstitution:(id)sender
-{
- [[self _webView] toggleAutomaticQuoteSubstitution:sender];
-}
-
-- (BOOL)isAutomaticLinkDetectionEnabled
-{
- return [[self _webView] isAutomaticLinkDetectionEnabled];
-}
-
-- (void)setAutomaticLinkDetectionEnabled:(BOOL)flag
-{
- [[self _webView] setAutomaticLinkDetectionEnabled:flag];
-}
-
-- (void)toggleAutomaticLinkDetection:(id)sender
-{
- [[self _webView] toggleAutomaticLinkDetection:sender];
-}
-
-- (BOOL)isAutomaticDashSubstitutionEnabled
-{
- return [[self _webView] isAutomaticDashSubstitutionEnabled];
-}
-
-- (void)setAutomaticDashSubstitutionEnabled:(BOOL)flag
-{
- [[self _webView] setAutomaticDashSubstitutionEnabled:flag];
-}
-
-- (void)toggleAutomaticDashSubstitution:(id)sender
-{
- [[self _webView] toggleAutomaticDashSubstitution:sender];
-}
-
-- (BOOL)isAutomaticTextReplacementEnabled
-{
- return [[self _webView] isAutomaticTextReplacementEnabled];
-}
-
-- (void)setAutomaticTextReplacementEnabled:(BOOL)flag
-{
- [[self _webView] setAutomaticTextReplacementEnabled:flag];
-}
-
-- (void)toggleAutomaticTextReplacement:(id)sender
-{
- [[self _webView] toggleAutomaticTextReplacement:sender];
-}
-
-- (BOOL)isAutomaticSpellingCorrectionEnabled
-{
- return [[self _webView] isAutomaticSpellingCorrectionEnabled];
-}
-
-- (void)setAutomaticSpellingCorrectionEnabled:(BOOL)flag
-{
- [[self _webView] setAutomaticSpellingCorrectionEnabled:flag];
-}
-
-- (void)toggleAutomaticSpellingCorrection:(id)sender
-{
- [[self _webView] toggleAutomaticSpellingCorrection:sender];
-}
-
-- (void)_lookUpInDictionaryFromMenu:(id)sender
-{
- // Dictionary API will accept a whitespace-only string and display UI as if it were real text,
- // so bail out early to avoid that.
- if ([[[self selectedString] _webkit_stringByTrimmingWhitespace] length] == 0)
- return;
-
- NSAttributedString *attrString = [self selectedAttributedString];
-
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return;
-
- NSRect rect = coreFrame->selection()->bounds();
-
- NSDictionary *attributes = [attrString fontAttributesInRange:NSMakeRange(0,1)];
- NSFont *font = [attributes objectForKey:NSFontAttributeName];
- if (font)
- rect.origin.y += [font ascender];
-
- [self showDefinitionForAttributedString:attrString atPoint:rect.origin];
-}
-
-- (void)_executeSavedKeypressCommands
-{
- WebHTMLViewInterpretKeyEventsParameters* parameters = _private->interpretKeyEventsParameters;
- if (!parameters || parameters->event->keypressCommands().isEmpty())
- return;
-
- // We could be called again if the execution of one command triggers a call to selectedRange.
- // In this case, the state is up to date, and we don't need to execute any more saved commands to return a result
- if (parameters->executingSavedKeypressCommands)
- return;
-
- // Avoid an infinite loop that would occur if executing a command appended it to event->keypressCommands() again.
- bool wasSavingCommands = parameters->shouldSaveCommands;
- parameters->shouldSaveCommands = false;
- parameters->executingSavedKeypressCommands = true;
-
- const Vector<KeypressCommand>& commands = parameters->event->keypressCommands();
-
- for (size_t i = 0; i < commands.size(); ++i) {
- if (commands[i].commandName == "insertText:")
- [self insertText:commands[i].text];
- else if (commands[i].commandName == "noop:")
- ; // Do nothing. This case can be removed once <rdar://problem/9025012> is fixed.
- else
- [self doCommandBySelector:NSSelectorFromString(commands[i].commandName)];
- }
- parameters->event->keypressCommands().clear();
- parameters->shouldSaveCommands = wasSavingCommands;
- parameters->executingSavedKeypressCommands = false;
-}
-
-- (BOOL)_interpretKeyEvent:(KeyboardEvent*)event savingCommands:(BOOL)savingCommands
-{
- ASSERT(core([self _frame]) == event->target()->toNode()->document()->frame());
- ASSERT(!savingCommands || event->keypressCommands().isEmpty()); // Save commands once for each event.
-
- WebHTMLViewInterpretKeyEventsParameters parameters;
- parameters.eventInterpretationHadSideEffects = false;
- parameters.shouldSaveCommands = savingCommands;
- parameters.executingSavedKeypressCommands = false;
- // If we're intercepting the initial IM call we assume that the IM has consumed the event,
- // and only change this assumption if one of the NSTextInput/Responder callbacks is used.
- // We assume the IM will *not* consume hotkey sequences
- parameters.consumedByIM = savingCommands && !event->metaKey();
-
- const PlatformKeyboardEvent* platformEvent = event->keyEvent();
- if (!platformEvent)
- return NO;
-
- NSEvent *macEvent = platformEvent->macEvent();
- if ([macEvent type] == NSKeyDown && [_private->completionController filterKeyDown:macEvent])
- return YES;
-
- if ([macEvent type] == NSFlagsChanged)
- return NO;
-
- parameters.event = event;
- _private->interpretKeyEventsParameters = &parameters;
- const Vector<KeypressCommand>& commands = event->keypressCommands();
-
- if (savingCommands) {
- // AppKit will respond with a series of NSTextInput protocol method calls. There are three groups that we heuristically differentiate:
- // 1. Key Bindings. Only doCommandBySelector: and insertText: calls will be made, which we save in the event for execution
- // after DOM dispatch. This is safe, because neither returns a result, so there is no branching on AppKit side.
- // 2. Plain text input. Here as well, we need to dispatch DOM events prior to inserting text, so we save the insertText: command.
- // 3. Input method processing. An IM can make any NSTextInput calls, and can base its decisions on results it gets, so we must
- // execute the calls immediately. DOM events like keydown are tweaked to have keyCode of 229, and canceling them has no effect.
- // Unfortunately, there is no real difference between plain text input and IM processing - for example, AppKit queries hasMarkedText
- // when typing with U.S. keyboard, and inserts marked text for dead keys.
- [self interpretKeyEvents:[NSArray arrayWithObject:macEvent]];
- } else {
- // Are there commands that could just cause text insertion if executed via Editor?
- // WebKit doesn't have enough information about mode to decide how they should be treated, so we leave it upon WebCore
- // to either handle them immediately (e.g. Tab that changes focus) or let a keypress event be generated
- // (e.g. Tab that inserts a Tab character, or Enter).
- bool haveTextInsertionCommands = false;
- for (size_t i = 0; i < commands.size(); ++i) {
- if ([self coreCommandBySelector:NSSelectorFromString(commands[i].commandName)].isTextInsertion())
- haveTextInsertionCommands = true;
- }
- // If there are no text insertion commands, default keydown handler is the right time to execute the commands.
- // Keypress (Char event) handler is the latest opportunity to execute.
- if (!haveTextInsertionCommands || platformEvent->type() == PlatformEvent::Char)
- [self _executeSavedKeypressCommands];
- }
- _private->interpretKeyEventsParameters = 0;
-
- // An input method may make several actions per keypress. For example, pressing Return with Korean IM both confirms it and sends a newline.
- // IM-like actions are handled immediately (so parameters.eventInterpretationHadSideEffects is true), but there are saved commands that
- // should be handled like normal text input after DOM event dispatch.
- if (!event->keypressCommands().isEmpty())
- return NO;
-
- // An input method may consume an event and not tell us (e.g. when displaying a candidate window),
- // in which case we should not bubble the event up the DOM.
- if (parameters.consumedByIM)
- return YES;
-
- // If we have already executed all commands, don't do it again.
- return parameters.eventInterpretationHadSideEffects;
-}
-
-- (WebCore::CachedImage*)promisedDragTIFFDataSource
-{
- return _private->promisedDragTIFFDataSource;
-}
-
-- (void)setPromisedDragTIFFDataSource:(WebCore::CachedImage*)source
-{
- if (source)
- source->addClient(promisedDataClient());
-
- if (_private->promisedDragTIFFDataSource)
- _private->promisedDragTIFFDataSource->removeClient(promisedDataClient());
- _private->promisedDragTIFFDataSource = source;
-}
-
-#undef COMMAND_PROLOGUE
-
-- (void)_layoutIfNeeded
-{
- ASSERT(!_private->subviewsSetAside);
-
- if ([self _needsLayout])
- [self layout];
-}
-
-- (void)_web_updateLayoutAndStyleIfNeededRecursive
-{
- WebFrame *webFrame = [self _frame];
- Frame* coreFrame = core(webFrame);
- if (coreFrame && coreFrame->view())
- coreFrame->view()->updateLayoutAndStyleIfNeededRecursive();
-}
-
-- (void) _destroyAllWebPlugins
-{
- [[self _pluginController] destroyAllPlugins];
-}
-
-- (BOOL)_needsLayout
-{
- return [[self _frame] _needsLayout];
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-- (void)attachRootLayer:(CALayer*)layer
-{
- if (!_private->layerHostingView) {
- NSView* hostingView = [[WebLayerHostingFlippedView alloc] initWithFrame:[self bounds]];
- [hostingView setAutoresizingMask:(NSViewWidthSizable | NSViewHeightSizable)];
- [self addSubview:hostingView];
- [hostingView release];
- // hostingView is owned by being a subview of self
- _private->layerHostingView = hostingView;
- }
-
- // Make a container layer, which will get sized/positioned by AppKit and CA.
- CALayer* viewLayer = [WebRootLayer layer];
-
- if ([self layer]) {
- // If we are in a layer-backed view, we need to manually initialize the geometry for our layer.
- [viewLayer setBounds:NSRectToCGRect([_private->layerHostingView bounds])];
- [viewLayer setAnchorPoint:CGPointMake(0, [self isFlipped] ? 1 : 0)];
- CGPoint layerPosition = NSPointToCGPoint([self convertPointToBase:[_private->layerHostingView frame].origin]);
- [viewLayer setPosition:layerPosition];
- }
-
- [_private->layerHostingView setLayer:viewLayer];
- [_private->layerHostingView setWantsLayer:YES];
-
- // Parent our root layer in the container layer
- [viewLayer addSublayer:layer];
-
- if ([[self _webView] _postsAcceleratedCompositingNotifications])
- [[NSNotificationCenter defaultCenter] postNotificationName:_WebViewDidStartAcceleratedCompositingNotification object:[self _webView] userInfo:nil];
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED <= 1070
- // Do geometry flipping here, which flips all the compositing layers so they are top-down.
- [viewLayer setGeometryFlipped:YES];
-#else
- if (WKExecutableWasLinkedOnOrBeforeLion())
- [viewLayer setGeometryFlipped:YES];
-#endif
-}
-
-- (void)detachRootLayer
-{
- if (_private->layerHostingView) {
- [_private->layerHostingView setLayer:nil];
- [_private->layerHostingView setWantsLayer:NO];
- [_private->layerHostingView removeFromSuperview];
- _private->layerHostingView = nil;
- }
-}
-
-- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
-{
- if (_private) {
- ASSERT(!_private->drawingIntoLayer);
- _private->drawingIntoLayer = YES;
- }
-
- [super drawLayer:layer inContext:ctx];
-
- if (_private)
- _private->drawingIntoLayer = NO;
-}
-
-- (BOOL)_web_isDrawingIntoLayer
-{
- return _private->drawingIntoLayer;
-}
-
-#endif // USE(ACCELERATED_COMPOSITING)
-
-@end
-
-@implementation WebHTMLView (WebNSTextInputSupport)
-
-- (NSArray *)validAttributesForMarkedText
-{
- static NSArray *validAttributes;
- if (!validAttributes) {
- validAttributes = [[NSArray alloc] initWithObjects:
- NSUnderlineStyleAttributeName, NSUnderlineColorAttributeName,
- NSMarkedClauseSegmentAttributeName, NSTextInputReplacementRangeAttributeName,
-#if USE(DICTATION_ALTERNATIVES)
- NSTextAlternativesAttributeName,
-#endif
- nil];
- // NSText also supports the following attributes, but it's
- // hard to tell which are really required for text input to
- // work well; I have not seen any input method make use of them yet.
- // NSFontAttributeName, NSForegroundColorAttributeName,
- // NSBackgroundColorAttributeName, NSLanguageAttributeName.
- CFRetain(validAttributes);
- }
- LOG(TextInput, "validAttributesForMarkedText -> (...)");
- return validAttributes;
-}
-
-- (NSTextInputContext *)inputContext
-{
- return _private->exposeInputContext ? [super inputContext] : nil;
-}
-
-- (NSAttributedString *)textStorage
-{
- if (!_private->exposeInputContext) {
- LOG(TextInput, "textStorage -> nil");
- return nil;
- }
- NSAttributedString *result = [self attributedSubstringFromRange:NSMakeRange(0, UINT_MAX)];
-
- LOG(TextInput, "textStorage -> \"%@\"", result ? [result string] : @"");
-
- // We have to return an empty string rather than null to prevent TSM from calling -string
- return result ? result : [[[NSAttributedString alloc] initWithString:@""] autorelease];
-}
-
-- (NSUInteger)characterIndexForPoint:(NSPoint)thePoint
-{
- [self _executeSavedKeypressCommands];
-
- NSWindow *window = [self window];
- WebFrame *frame = [self _frame];
-
- if (window)
- thePoint = [window convertScreenToBase:thePoint];
- thePoint = [self convertPoint:thePoint fromView:nil];
-
- DOMRange *range = [frame _characterRangeAtPoint:thePoint];
- if (!range) {
- LOG(TextInput, "characterIndexForPoint:(%f, %f) -> NSNotFound", thePoint.x, thePoint.y);
- return NSNotFound;
- }
-
- unsigned result = [frame _convertDOMRangeToNSRange:range].location;
- LOG(TextInput, "characterIndexForPoint:(%f, %f) -> %u", thePoint.x, thePoint.y, result);
- return result;
-}
-
-- (NSRect)firstRectForCharacterRange:(NSRange)theRange
-{
- [self _executeSavedKeypressCommands];
-
- WebFrame *frame = [self _frame];
-
- // Just to match NSTextView's behavior. Regression tests cannot detect this;
- // to reproduce, use a test application from http://bugs.webkit.org/show_bug.cgi?id=4682
- // (type something; try ranges (1, -1) and (2, -1).
- if ((theRange.location + theRange.length < theRange.location) && (theRange.location + theRange.length != 0))
- theRange.length = 0;
-
- DOMRange *range = [frame _convertNSRangeToDOMRange:theRange];
- if (!range) {
- LOG(TextInput, "firstRectForCharacterRange:(%u, %u) -> (0, 0, 0, 0)", theRange.location, theRange.length);
- return NSMakeRect(0, 0, 0, 0);
- }
-
- ASSERT([range startContainer]);
- ASSERT([range endContainer]);
-
- NSRect resultRect = [frame _firstRectForDOMRange:range];
- resultRect = [self convertRect:resultRect toView:nil];
-
- NSWindow *window = [self window];
- if (window)
- resultRect.origin = [window convertBaseToScreen:resultRect.origin];
-
- LOG(TextInput, "firstRectForCharacterRange:(%u, %u) -> (%f, %f, %f, %f)", theRange.location, theRange.length, resultRect.origin.x, resultRect.origin.y, resultRect.size.width, resultRect.size.height);
- return resultRect;
-}
-
-- (NSRange)selectedRange
-{
- [self _executeSavedKeypressCommands];
-
- if (!isTextInput(core([self _frame]))) {
- LOG(TextInput, "selectedRange -> (NSNotFound, 0)");
- return NSMakeRange(NSNotFound, 0);
- }
- NSRange result = [[self _frame] _selectedNSRange];
-
- LOG(TextInput, "selectedRange -> (%u, %u)", result.location, result.length);
- return result;
-}
-
-- (NSRange)markedRange
-{
- [self _executeSavedKeypressCommands];
-
- WebFrame *webFrame = [self _frame];
- Frame* coreFrame = core(webFrame);
- if (!coreFrame)
- return NSMakeRange(0, 0);
- NSRange result = [webFrame _convertToNSRange:coreFrame->editor().compositionRange().get()];
-
- LOG(TextInput, "markedRange -> (%u, %u)", result.location, result.length);
- return result;
-}
-
-- (NSAttributedString *)attributedSubstringFromRange:(NSRange)nsRange
-{
- [self _executeSavedKeypressCommands];
-
- WebFrame *frame = [self _frame];
- Frame* coreFrame = core(frame);
- if (!isTextInput(coreFrame) || isInPasswordField(coreFrame)) {
- LOG(TextInput, "attributedSubstringFromRange:(%u, %u) -> nil", nsRange.location, nsRange.length);
- return nil;
- }
- RefPtr<Range> range = [frame _convertToDOMRange:nsRange];
- if (!range) {
- LOG(TextInput, "attributedSubstringFromRange:(%u, %u) -> nil", nsRange.location, nsRange.length);
- return nil;
- }
-
- NSAttributedString *result = [WebHTMLConverter editingAttributedStringFromRange:range.get()];
-
- // [WebHTMLConverter editingAttributedStringFromRange:] insists on inserting a trailing
- // whitespace at the end of the string which breaks the ATOK input method. <rdar://problem/5400551>
- // To work around this we truncate the resultant string to the correct length.
- if ([result length] > nsRange.length) {
- ASSERT([result length] == nsRange.length + 1);
- ASSERT([[result string] characterAtIndex:nsRange.length] == '\n' || [[result string] characterAtIndex:nsRange.length] == ' ');
- result = [result attributedSubstringFromRange:NSMakeRange(0, nsRange.length)];
- }
- LOG(TextInput, "attributedSubstringFromRange:(%u, %u) -> \"%@\"", nsRange.location, nsRange.length, [result string]);
- return result;
-}
-
-- (NSInteger)conversationIdentifier
-{
- return (NSInteger)self;
-}
-
-- (BOOL)hasMarkedText
-{
- Frame* coreFrame = core([self _frame]);
- BOOL result = coreFrame && coreFrame->editor().hasComposition();
-
- if (result) {
- // A saved command can confirm a composition, but it cannot start a new one.
- [self _executeSavedKeypressCommands];
- result = coreFrame->editor().hasComposition();
- }
-
- LOG(TextInput, "hasMarkedText -> %u", result);
- return result;
-}
-
-- (void)unmarkText
-{
- [self _executeSavedKeypressCommands];
-
- LOG(TextInput, "unmarkText");
-
- // Use pointer to get parameters passed to us by the caller of interpretKeyEvents.
- WebHTMLViewInterpretKeyEventsParameters* parameters = _private->interpretKeyEventsParameters;
-
- if (parameters) {
- parameters->eventInterpretationHadSideEffects = true;
- parameters->consumedByIM = false;
- }
-
- if (Frame* coreFrame = core([self _frame]))
- coreFrame->editor().confirmComposition();
-}
-
-static void extractUnderlines(NSAttributedString *string, Vector<CompositionUnderline>& result)
-{
- int length = [[string string] length];
-
- int i = 0;
- while (i < length) {
- NSRange range;
- NSDictionary *attrs = [string attributesAtIndex:i longestEffectiveRange:&range inRange:NSMakeRange(i, length - i)];
-
- if (NSNumber *style = [attrs objectForKey:NSUnderlineStyleAttributeName]) {
- Color color = Color::black;
- if (NSColor *colorAttr = [attrs objectForKey:NSUnderlineColorAttributeName])
- color = colorFromNSColor([colorAttr colorUsingColorSpaceName:NSDeviceRGBColorSpace]);
- result.append(CompositionUnderline(range.location, NSMaxRange(range), color, [style intValue] > 1));
- }
-
- i = range.location + range.length;
- }
-}
-
-- (void)setMarkedText:(id)string selectedRange:(NSRange)newSelRange
-{
- [self _executeSavedKeypressCommands];
-
- BOOL isAttributedString = [string isKindOfClass:[NSAttributedString class]];
- ASSERT(isAttributedString || [string isKindOfClass:[NSString class]]);
-
- LOG(TextInput, "setMarkedText:\"%@\" selectedRange:(%u, %u)", isAttributedString ? [string string] : string, newSelRange.location, newSelRange.length);
-
- // Use pointer to get parameters passed to us by the caller of interpretKeyEvents.
- WebHTMLViewInterpretKeyEventsParameters* parameters = _private->interpretKeyEventsParameters;
-
- if (parameters) {
- parameters->eventInterpretationHadSideEffects = true;
- parameters->consumedByIM = false;
- }
-
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return;
-
- if (![self _isEditable])
- return;
-
- Vector<CompositionUnderline> underlines;
- NSString *text;
- NSRange replacementRange = { NSNotFound, 0 };
-
- if (isAttributedString) {
- // FIXME: We ignore most attributes from the string, so an input method cannot specify e.g. a font or a glyph variation.
- text = [string string];
- NSString *rangeString = [string attribute:NSTextInputReplacementRangeAttributeName atIndex:0 longestEffectiveRange:0 inRange:NSMakeRange(0, [text length])];
- LOG(TextInput, " ReplacementRange: %@", rangeString);
- // The AppKit adds a 'secret' property to the string that contains the replacement range.
- // The replacement range is the range of the the text that should be replaced with the new string.
- if (rangeString)
- replacementRange = NSRangeFromString(rangeString);
-
- extractUnderlines(string, underlines);
- } else
- text = string;
-
- if (replacementRange.location != NSNotFound)
- [[self _frame] _selectNSRange:replacementRange];
-
- coreFrame->editor().setComposition(text, underlines, newSelRange.location, NSMaxRange(newSelRange));
-}
-
-- (void)doCommandBySelector:(SEL)selector
-{
- LOG(TextInput, "doCommandBySelector:\"%s\"", sel_getName(selector));
-
- // Use pointer to get parameters passed to us by the caller of interpretKeyEvents.
- // The same call to interpretKeyEvents can do more than one command.
- WebHTMLViewInterpretKeyEventsParameters* parameters = _private->interpretKeyEventsParameters;
- if (parameters)
- parameters->consumedByIM = false;
-
- KeyboardEvent* event = parameters ? parameters->event : 0;
- bool shouldSaveCommand = parameters && parameters->shouldSaveCommands;
-
- // As in insertText:, we assume that the call comes from an input method if there is marked text.
- RefPtr<Frame> coreFrame = core([self _frame]);
- bool isFromInputMethod = coreFrame && coreFrame->editor().hasComposition();
-
- if (event && shouldSaveCommand && !isFromInputMethod)
- event->keypressCommands().append(KeypressCommand(NSStringFromSelector(selector)));
- else {
- // Make sure that only direct calls to doCommandBySelector: see the parameters by setting to 0.
- _private->interpretKeyEventsParameters = 0;
-
- bool eventWasHandled;
-
- WebView *webView = [self _webView];
- if ([[webView _editingDelegateForwarder] webView:webView doCommandBySelector:selector])
- eventWasHandled = true;
- else {
- Editor::Command command = [self coreCommandBySelector:selector];
- if (command.isSupported())
- eventWasHandled = command.execute(event);
- else {
- // If WebKit does not support this command, we need to pass the selector to super.
- _private->selectorForDoCommandBySelector = selector;
-
- // The sink does two things: 1) Tells us if the responder went unhandled, and
- // 2) prevents any NSBeep; we don't ever want to beep here.
- WebResponderChainSink *sink = [[WebResponderChainSink alloc] initWithResponderChain:self];
- [super doCommandBySelector:selector];
- eventWasHandled = ![sink receivedUnhandledCommand];
- [sink detach];
- [sink release];
-
- _private->selectorForDoCommandBySelector = 0;
- }
- }
-
- if (parameters)
- parameters->eventInterpretationHadSideEffects |= eventWasHandled;
-
- _private->interpretKeyEventsParameters = parameters;
- }
-}
-
-- (void)insertText:(id)string
-{
- BOOL isAttributedString = [string isKindOfClass:[NSAttributedString class]];
- ASSERT(isAttributedString || [string isKindOfClass:[NSString class]]);
-
- LOG(TextInput, "insertText:\"%@\"", isAttributedString ? [string string] : string);
-
- WebHTMLViewInterpretKeyEventsParameters* parameters = _private->interpretKeyEventsParameters;
- if (parameters)
- parameters->consumedByIM = false;
-
- RefPtr<Frame> coreFrame = core([self _frame]);
- NSString *text;
- NSRange replacementRange = { NSNotFound, 0 };
- bool isFromInputMethod = coreFrame && coreFrame->editor().hasComposition();
-
- Vector<DictationAlternative> dictationAlternativeLocations;
- if (isAttributedString) {
-#if USE(DICTATION_ALTERNATIVES)
- Vector<WebCore::TextAlternativeWithRange> textAlternatives;
- collectDictationTextAlternatives(string, textAlternatives);
- if (!textAlternatives.isEmpty())
- [[self _webView] _getWebCoreDictationAlternatives:dictationAlternativeLocations fromTextAlternatives:textAlternatives];
-#endif
- // FIXME: We ignore most attributes from the string, so for example inserting from Character Palette loses font and glyph variation data.
- // It does not look like any input methods ever use insertText: with attributes other than NSTextInputReplacementRangeAttributeName.
- text = [string string];
- NSString *rangeString = [string attribute:NSTextInputReplacementRangeAttributeName atIndex:0 longestEffectiveRange:0 inRange:NSMakeRange(0, [text length])];
- LOG(TextInput, " ReplacementRange: %@", rangeString);
- if (rangeString) {
- replacementRange = NSRangeFromString(rangeString);
- isFromInputMethod = true;
- }
- } else
- text = string;
-
- KeyboardEvent* event = parameters ? parameters->event : 0;
-
- // insertText can be called for several reasons:
- // - If it's from normal key event processing (including key bindings), we may need to save the action to perform it later.
- // - If it's from an input method, then we should go ahead and insert the text now. We assume it's from the input method if we have marked text.
- // FIXME: In theory, this could be wrong for some input methods, so we should try to find another way to determine if the call is from the input method.
- // - If it's sent outside of keyboard event processing (e.g. from Character Viewer, or when confirming an inline input area with a mouse),
- // then we also execute it immediately, as there will be no other chance.
- bool shouldSaveCommand = parameters && parameters->shouldSaveCommands;
- if (event && shouldSaveCommand && !isFromInputMethod) {
- event->keypressCommands().append(KeypressCommand("insertText:", text));
- return;
- }
-
- if (!coreFrame || !coreFrame->editor().canEdit())
- return;
-
- if (replacementRange.location != NSNotFound)
- [[self _frame] _selectNSRange:replacementRange];
-
- bool eventHandled = false;
- String eventText = text;
- eventText.replace(NSBackTabCharacter, NSTabCharacter); // same thing is done in KeyEventMac.mm in WebCore
- if (!coreFrame->editor().hasComposition()) {
- // An insertText: might be handled by other responders in the chain if we don't handle it.
- // One example is space bar that results in scrolling down the page.
-
- if (!dictationAlternativeLocations.isEmpty())
- eventHandled = coreFrame->editor().insertDictatedText(eventText, dictationAlternativeLocations, event);
- else
- eventHandled = coreFrame->editor().insertText(eventText, event);
- } else {
- eventHandled = true;
- coreFrame->editor().confirmComposition(eventText);
- }
-
- if (parameters)
- parameters->eventInterpretationHadSideEffects |= eventHandled;
-}
-
-- (void)_updateSecureInputState
-{
- if (![[self window] isKeyWindow] || ([[self window] firstResponder] != self && !_private->_forceUpdateSecureInputState)) {
- if (_private->isInSecureInputState) {
- DisableSecureEventInput();
- _private->isInSecureInputState = NO;
- }
- return;
- }
-
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return;
-
- if (isInPasswordField(coreFrame)) {
- if (!_private->isInSecureInputState)
- EnableSecureEventInput();
- _private->isInSecureInputState = YES;
- // WebKit substitutes nil for input context when in password field, which corresponds to null TSMDocument. So, there is
- // no need to call TSMGetActiveDocument(), which may return an incorrect result when selection hasn't been yet updated
- // after focusing a node.
- static CFArrayRef inputSources = TISCreateASCIICapableInputSourceList();
- TSMSetDocumentProperty(0, kTSMDocumentEnabledInputSourcesPropertyTag, sizeof(CFArrayRef), &inputSources);
- } else {
- if (_private->isInSecureInputState)
- DisableSecureEventInput();
- _private->isInSecureInputState = NO;
- TSMRemoveDocumentProperty(0, kTSMDocumentEnabledInputSourcesPropertyTag);
- }
-}
-
-- (void)_updateSelectionForInputManager
-{
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return;
-
- BOOL exposeInputContext = isTextInput(coreFrame) && !isInPasswordField(coreFrame);
- if (exposeInputContext != _private->exposeInputContext) {
- _private->exposeInputContext = exposeInputContext;
- // Let AppKit cache a potentially changed input context.
- // WebCore routinely sets the selection to None when editing, and IMs become unhappy when an input context suddenly turns nil, see bug 26009.
- if (!coreFrame->selection()->isNone())
- [NSApp updateWindows];
- }
-
- [self _updateSecureInputState];
-
- if (!coreFrame->editor().hasComposition() || coreFrame->editor().ignoreCompositionSelectionChange())
- return;
-
- unsigned start;
- unsigned end;
- if (coreFrame->editor().getCompositionSelection(start, end))
- [[NSInputManager currentInputManager] markedTextSelectionChanged:NSMakeRange(start, end - start) client:self];
- else {
- coreFrame->editor().cancelComposition();
- [[NSInputManager currentInputManager] markedTextAbandoned:self];
- }
-}
-
-@end
-
-@implementation WebHTMLView (WebDocumentPrivateProtocols)
-
-- (NSRect)selectionRect
-{
- if (![self _hasSelection])
- return NSZeroRect;
- return core([self _frame])->selection()->bounds();
-}
-
-- (NSArray *)selectionTextRects
-{
- if (![self _hasSelection])
- return nil;
-
- Vector<FloatRect> list;
- if (Frame* coreFrame = core([self _frame]))
- coreFrame->selection()->getClippedVisibleTextRectangles(list);
-
- size_t size = list.size();
-
- NSMutableArray *result = [NSMutableArray arrayWithCapacity:size];
-
- for (size_t i = 0; i < size; ++i)
- [result addObject:[NSValue valueWithRect:list[i]]];
-
- return result;
-}
-
-- (NSView *)selectionView
-{
- return self;
-}
-
-- (NSImage *)selectionImageForcingBlackText:(BOOL)forceBlackText
-{
- if (![self _hasSelection])
- return nil;
- return selectionImage(core([self _frame]), forceBlackText);
-}
-
-- (NSRect)selectionImageRect
-{
- if (![self _hasSelection])
- return NSZeroRect;
- return core([self _frame])->selection()->bounds();
-}
-
-- (NSArray *)pasteboardTypesForSelection
-{
- if ([self _canSmartCopyOrDelete]) {
- NSMutableArray *types = [[[[self class] _selectionPasteboardTypes] mutableCopy] autorelease];
- [types addObject:WebSmartPastePboardType];
- return types;
- } else {
- return [[self class] _selectionPasteboardTypes];
- }
-}
-
-- (void)writeSelectionWithPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard
-{
- [self _writeSelectionWithPasteboardTypes:types toPasteboard:pasteboard cachedAttributedString:nil];
-}
-
-- (void)selectAll
-{
- Frame* coreFrame = core([self _frame]);
- if (coreFrame)
- coreFrame->selection()->selectAll();
-}
-
-- (void)deselectAll
-{
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return;
- coreFrame->selection()->clear();
-}
-
-- (NSString *)string
-{
- return [[self _frame] _stringForRange:[self _documentRange]];
-}
-
-- (NSAttributedString *)_attributeStringFromDOMRange:(DOMRange *)range
-{
- NSAttributedString *attributedString;
-#if !LOG_DISABLED
- double start = CFAbsoluteTimeGetCurrent();
-#endif
- attributedString = [[[NSAttributedString alloc] _initWithDOMRange:range] autorelease];
-#if !LOG_DISABLED
- double duration = CFAbsoluteTimeGetCurrent() - start;
- LOG(Timing, "creating attributed string from selection took %f seconds.", duration);
-#endif
- return attributedString;
-}
-
-- (NSAttributedString *)attributedString
-{
- DOMDocument *document = [[self _frame] DOMDocument];
- NSAttributedString *attributedString = [self _attributeStringFromDOMRange:[document _documentRange]];
- if (!attributedString) {
- Document* coreDocument = core(document);
- attributedString = [WebHTMLConverter editingAttributedStringFromRange:Range::create(coreDocument, coreDocument, 0, coreDocument, coreDocument->childNodeCount()).get()];
- }
- return attributedString;
-}
-
-- (NSString *)selectedString
-{
- return [[self _frame] _selectedString];
-}
-
-- (NSAttributedString *)selectedAttributedString
-{
- NSAttributedString *attributedString = [self _attributeStringFromDOMRange:[self _selectedRange]];
- if (!attributedString) {
- Frame* coreFrame = core([self _frame]);
- if (coreFrame) {
- RefPtr<Range> range = coreFrame->selection()->selection().toNormalizedRange();
- attributedString = [WebHTMLConverter editingAttributedStringFromRange:range.get()];
- }
- }
- return attributedString;
-}
-
-- (BOOL)supportsTextEncoding
-{
- return YES;
-}
-
-- (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)];
-}
-
-@end
-
-@implementation WebHTMLView (WebDocumentInternalProtocols)
-
-- (NSDictionary *)elementAtPoint:(NSPoint)point
-{
- return [self elementAtPoint:point allowShadowContent:NO];
-}
-
-- (NSDictionary *)elementAtPoint:(NSPoint)point allowShadowContent:(BOOL)allow
-{
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return nil;
- HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active
- | (allow ? 0 : HitTestRequest::DisallowShadowContent);
- return [[[WebElementDictionary alloc] initWithHitTestResult:coreFrame->eventHandler()->hitTestResultAtPoint(IntPoint(point), hitType)] autorelease];
-}
-
-- (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, core(range), coreOptions(options), limit, markMatches, 0);
-}
-
-- (void)setMarkedTextMatchesAreHighlighted:(BOOL)newValue
-{
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return;
- coreFrame->editor().setMarkedTextMatchesAreHighlighted(newValue);
-}
-
-- (BOOL)markedTextMatchesAreHighlighted
-{
- Frame* coreFrame = core([self _frame]);
- return coreFrame && coreFrame->editor().markedTextMatchesAreHighlighted();
-}
-
-- (void)unmarkAllTextMatches
-{
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return;
- Document* document = coreFrame->document();
- if (!document)
- return;
- document->markers()->removeMarkers(DocumentMarker::TextMatch);
-}
-
-- (NSArray *)rectsForTextMatches
-{
- Frame* coreFrame = core([self _frame]);
- if (!coreFrame)
- return [NSArray array];
- Document* document = coreFrame->document();
- if (!document)
- return [NSArray array];
-
- Vector<IntRect> rects = document->markers()->renderedRectsForMarkers(DocumentMarker::TextMatch);
- unsigned count = rects.size();
- NSMutableArray *result = [NSMutableArray arrayWithCapacity:count];
- for (unsigned index = 0; index < count; ++index)
- [result addObject:[NSValue valueWithRect:rects[index]]];
- 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.
-@implementation NSURL (WebDataURL)
-
-+ (NSURL *)_web_uniqueWebDataURL
-{
- CFUUIDRef UUIDRef = CFUUIDCreate(kCFAllocatorDefault);
- NSString *UUIDString = (NSString *)CFUUIDCreateString(kCFAllocatorDefault, UUIDRef);
- CFRelease(UUIDRef);
- NSURL *URL = [NSURL URLWithString:[NSString stringWithFormat:@"%@://%@", WebDataProtocolScheme, UUIDString]];
- CFRelease(UUIDString);
- return URL;
-}
-
-@end
-
-@implementation WebResponderChainSink
-
-- (id)initWithResponderChain:(NSResponder *)chain
-{
- self = [super init];
- _lastResponderInChain = chain;
- while (NSResponder *next = [_lastResponderInChain nextResponder])
- _lastResponderInChain = next;
- [_lastResponderInChain setNextResponder:self];
- return self;
-}
-
-- (void)detach
-{
- [_lastResponderInChain setNextResponder:nil];
- _lastResponderInChain = nil;
-}
-
-- (BOOL)receivedUnhandledCommand
-{
- return _receivedUnhandledCommand;
-}
-
-- (void)noResponderFor:(SEL)selector
-{
- _receivedUnhandledCommand = YES;
-}
-
-- (void)doCommandBySelector:(SEL)selector
-{
- _receivedUnhandledCommand = YES;
-}
-
-- (BOOL)tryToPerform:(SEL)action with:(id)object
-{
- _receivedUnhandledCommand = YES;
- return YES;
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebHTMLViewInternal.h b/Source/WebKit/mac/WebView/WebHTMLViewInternal.h
deleted file mode 100644
index 08e8cf3a9..000000000
--- a/Source/WebKit/mac/WebView/WebHTMLViewInternal.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-// Things internal to the WebKit framework; not SPI.
-
-#import "WebHTMLViewPrivate.h"
-
-#if USE(ACCELERATED_COMPOSITING)
-@class CALayer;
-#endif
-@class WebFrame;
-
-namespace WebCore {
- class CachedImage;
- class KeyboardEvent;
-}
-
-@interface WebHTMLView (WebInternal)
-- (void)_selectionChanged;
-- (void)_updateFontPanel;
-- (BOOL)_canSmartCopyOrDelete;
-
-- (id <WebHTMLHighlighter>)_highlighterForType:(NSString*)type;
-- (WebFrame *)_frame;
-- (void)_lookUpInDictionaryFromMenu:(id)sender;
-- (BOOL)_interpretKeyEvent:(WebCore::KeyboardEvent *)event savingCommands:(BOOL)savingCommands;
-- (DOMDocumentFragment *)_documentFragmentFromPasteboard:(NSPasteboard *)pasteboard;
-- (NSEvent *)_mouseDownEvent;
-- (BOOL)isGrammarCheckingEnabled;
-- (void)setGrammarCheckingEnabled:(BOOL)flag;
-- (void)toggleGrammarChecking:(id)sender;
-- (WebCore::CachedImage*)promisedDragTIFFDataSource;
-- (void)setPromisedDragTIFFDataSource:(WebCore::CachedImage*)source;
-- (void)_web_updateLayoutAndStyleIfNeededRecursive;
-- (void)_destroyAllWebPlugins;
-- (BOOL)_needsLayout;
-
-#if USE(ACCELERATED_COMPOSITING)
-- (void)attachRootLayer:(CALayer*)layer;
-- (void)detachRootLayer;
-- (BOOL)_web_isDrawingIntoLayer;
-#endif
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebHTMLViewPrivate.h b/Source/WebKit/mac/WebView/WebHTMLViewPrivate.h
deleted file mode 100644
index 1c5625a53..000000000
--- a/Source/WebKit/mac/WebView/WebHTMLViewPrivate.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebHTMLView.h>
-
-#if !defined(ENABLE_NETSCAPE_PLUGIN_API)
-#define ENABLE_NETSCAPE_PLUGIN_API 1
-#endif
-
-@class DOMDocumentFragment;
-@class DOMNode;
-@class DOMRange;
-@class WebPluginController;
-
-@protocol WebHTMLHighlighter
-- (NSRect)highlightRectForLine:(NSRect)lineRect representedNode:(DOMNode *)node;
-- (void)paintHighlightForBox:(NSRect)boxRect onLine:(NSRect)lineRect behindText:(BOOL)text entireLine:(BOOL)line representedNode:(DOMNode *)node;
-@end
-
-extern const float _WebHTMLViewPrintingMinimumShrinkFactor;
-extern const float _WebHTMLViewPrintingMaximumShrinkFactor;
-
-@interface WebHTMLView (WebPrivate)
-
-+ (NSArray *)supportedMIMETypes;
-+ (NSArray *)supportedImageMIMETypes;
-+ (NSArray *)supportedNonImageMIMETypes;
-+ (NSArray *)unsupportedTextMIMETypes;
-
-- (void)close;
-
-// Modifier (flagsChanged) tracking SPI
-+ (void)_postFlagsChangedEvent:(NSEvent *)flagsChangedEvent;
-- (void)_updateMouseoverWithFakeEvent;
-
-- (void)_setAsideSubviews;
-- (void)_restoreSubviews;
-
-- (BOOL)_insideAnotherHTMLView;
-- (void)_clearLastHitViewIfSelf;
-- (void)_updateMouseoverWithEvent:(NSEvent *)event;
-
-+ (NSArray *)_insertablePasteboardTypes;
-+ (NSArray *)_selectionPasteboardTypes;
-- (void)_writeSelectionToPasteboard:(NSPasteboard *)pasteboard;
-
-- (void)_frameOrBoundsChanged;
-
-- (void)_handleAutoscrollForMouseDragged:(NSEvent *)event;
-- (WebPluginController *)_pluginController;
-
-// FIXME: _selectionRect is deprecated in favor of selectionRect, which is in protocol WebDocumentSelection.
-// We can't remove this yet because it's still in use by Mail.
-- (NSRect)_selectionRect;
-
-- (void)_startAutoscrollTimer:(NSEvent *)event;
-- (void)_stopAutoscrollTimer;
-
-- (BOOL)_canEdit;
-- (BOOL)_canEditRichly;
-- (BOOL)_canAlterCurrentSelection;
-- (BOOL)_hasSelection;
-- (BOOL)_hasSelectionOrInsertionPoint;
-- (BOOL)_isEditable;
-
-- (BOOL)_transparentBackground;
-- (void)_setTransparentBackground:(BOOL)isBackgroundTransparent;
-
-- (void)_setToolTip:(NSString *)string;
-
-// SPI used by Mail.
-// FIXME: These should all be moved to WebView; we won't always have a WebHTMLView.
-- (NSImage *)_selectionDraggingImage;
-- (NSRect)_selectionDraggingRect;
-- (DOMNode *)_insertOrderedList;
-- (DOMNode *)_insertUnorderedList;
-- (BOOL)_canIncreaseSelectionListLevel;
-- (BOOL)_canDecreaseSelectionListLevel;
-- (DOMNode *)_increaseSelectionListLevel;
-- (DOMNode *)_increaseSelectionListLevelOrdered;
-- (DOMNode *)_increaseSelectionListLevelUnordered;
-- (void)_decreaseSelectionListLevel;
-- (void)_setHighlighter:(id <WebHTMLHighlighter>)highlighter ofType:(NSString *)type;
-- (void)_removeHighlighterOfType:(NSString *)type;
-- (DOMDocumentFragment *)_documentFragmentFromPasteboard:(NSPasteboard *)pasteboard forType:(NSString *)pboardType inContext:(DOMRange *)context subresources:(NSArray **)subresources;
-
-#if ENABLE_NETSCAPE_PLUGIN_API
-- (void)_resumeNullEventsForAllNetscapePlugins;
-- (void)_pauseNullEventsForAllNetscapePlugins;
-#endif
-
-- (BOOL)_isUsingAcceleratedCompositing;
-- (NSView *)_compositingLayersHostingView;
-
-// SPI for printing (should be converted to API someday). When the WebHTMLView isn't being printed
-// directly, this method must be called before paginating, or the computed height might be incorrect.
-// Typically this would be called from inside an override of -[NSView knowsPageRange:].
-- (void)_layoutForPrinting;
-- (CGFloat)_adjustedBottomOfPageWithTop:(CGFloat)top bottom:(CGFloat)bottom limit:(CGFloat)bottomLimit;
-- (BOOL)_isInPrintMode;
-- (BOOL)_beginPrintModeWithPageWidth:(float)pageWidth height:(float)pageHeight shrinkToFit:(BOOL)shrinkToFit;
-// Lays out to pages of the given minimum width and height or more (increasing both dimensions proportionally)
-// as needed for the content to fit, but no more than the given maximum width.
-- (BOOL)_beginPrintModeWithMinimumPageWidth:(CGFloat)minimumPageWidth height:(CGFloat)minimumPageHeight maximumPageWidth:(CGFloat)maximumPageWidth;
-- (void)_endPrintMode;
-
-- (BOOL)_isInScreenPaginationMode;
-- (BOOL)_beginScreenPaginationModeWithPageSize:(CGSize)pageSize shrinkToFit:(BOOL)shrinkToFit;
-- (void)_endScreenPaginationMode;
-
-- (BOOL)_canSmartReplaceWithPasteboard:(NSPasteboard *)pasteboard;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebHistoryDelegate.h b/Source/WebKit/mac/WebView/WebHistoryDelegate.h
deleted file mode 100644
index f34391e8f..000000000
--- a/Source/WebKit/mac/WebView/WebHistoryDelegate.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class WebFrame;
-@class WebNavigationData;
-@class WebView;
-
-@interface NSObject (WebHistoryDelegate)
-
-- (void)webView:(WebView *)webView didNavigateWithNavigationData:(WebNavigationData *)navigationData inFrame:(WebFrame *)webFrame;
-
-- (void)webView:(WebView *)webView didPerformClientRedirectFromURL:(NSString *)sourceURL toURL:(NSString *)destinationURL inFrame:(WebFrame *)webFrame;
-
-- (void)webView:(WebView *)webView didPerformServerRedirectFromURL:(NSString *)sourceURL toURL:(NSString *)destinationURL inFrame:(WebFrame *)webFrame;
-
-- (void)webView:(WebView *)webView updateHistoryTitle:(NSString *)title forURL:(NSString *)url inFrame:(WebFrame *)webFrame;
-
-- (void)populateVisitedLinksForWebView:(WebView *)webView;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebJSPDFDoc.mm b/Source/WebKit/mac/WebView/WebJSPDFDoc.mm
deleted file mode 100644
index 24169fe0a..000000000
--- a/Source/WebKit/mac/WebView/WebJSPDFDoc.mm
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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.
- */
-
-#import "WebJSPDFDoc.h"
-
-#import "WebDataSource.h"
-#import "WebDelegateImplementationCaching.h"
-#import "WebFrame.h"
-#import "WebView.h"
-#import <JavaScriptCore/JSObjectRef.h>
-
-static void jsPDFDocInitialize(JSContextRef ctx, JSObjectRef object)
-{
- WebDataSource *dataSource = (WebDataSource *)JSObjectGetPrivate(object);
- CFRetain(dataSource);
-}
-
-static void jsPDFDocFinalize(JSObjectRef object)
-{
- WebDataSource *dataSource = (WebDataSource *)JSObjectGetPrivate(object);
- CFRelease(dataSource);
-}
-
-static JSValueRef jsPDFDocPrint(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
-{
- WebDataSource *dataSource = (WebDataSource *)JSObjectGetPrivate(thisObject);
-
- WebView *webView = [[dataSource webFrame] webView];
- CallUIDelegate(webView, @selector(webView:printFrameView:), [[dataSource webFrame] frameView]);
-
- return JSValueMakeUndefined(ctx);
-}
-
-static JSStaticFunction jsPDFDocStaticFunctions[] = {
- { "print", jsPDFDocPrint, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
- { 0, 0, 0 },
-};
-
-static JSClassDefinition jsPDFDocClassDefinition = {
- 0,
- kJSClassAttributeNone,
- "Doc",
- 0,
- 0,
- jsPDFDocStaticFunctions,
- jsPDFDocInitialize, jsPDFDocFinalize, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-JSObjectRef makeJSPDFDoc(JSContextRef ctx, WebDataSource *dataSource)
-{
- static JSClassRef jsPDFDocClass = JSClassCreate(&jsPDFDocClassDefinition);
-
- return JSObjectMake(ctx, jsPDFDocClass, dataSource);
-}
diff --git a/Source/WebKit/mac/WebView/WebNavigationData.h b/Source/WebKit/mac/WebView/WebNavigationData.h
deleted file mode 100644
index 227df1692..000000000
--- a/Source/WebKit/mac/WebView/WebNavigationData.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class WebFrame;
-@class WebNavigationDataPrivate;
-@class WebView;
-
-@interface WebNavigationData : NSObject
-{
-@private
- WebNavigationDataPrivate *_private;
-}
-
-- (id)initWithURLString:(NSString *)url title:(NSString *)title originalRequest:(NSURLRequest *)request response:(NSURLResponse *)response hasSubstituteData:(BOOL)hasSubstituteData clientRedirectSource:(NSString *)redirectSource;
-- (NSString *)url;
-- (NSString *)title;
-- (NSURLRequest *)originalRequest;
-- (NSURLResponse *)response;
-- (BOOL)hasSubstituteData;
-- (NSString *)clientRedirectSource;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebNavigationData.mm b/Source/WebKit/mac/WebView/WebNavigationData.mm
deleted file mode 100644
index 06e4a6030..000000000
--- a/Source/WebKit/mac/WebView/WebNavigationData.mm
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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.
- */
-
-#import "WebNavigationData.h"
-
-@interface WebNavigationDataPrivate : NSObject
-{
-@public
- NSString *url;
- NSString *title;
- NSURLRequest *originalRequest;
- NSURLResponse *response;
- BOOL hasSubstituteData;
- NSString *clientRedirectSource;
-}
-
-@end
-
-@implementation WebNavigationDataPrivate
-
-- (void)dealloc
-{
- [url release];
- [title release];
- [originalRequest release];
- [response release];
- [clientRedirectSource release];
-
- [super dealloc];
-}
-
-@end
-
-@implementation WebNavigationData
-
-- (id)initWithURLString:(NSString *)url title:(NSString *)title originalRequest:(NSURLRequest *)request response:(NSURLResponse *)response hasSubstituteData:(BOOL)hasSubstituteData clientRedirectSource:(NSString *)redirectSource
-{
- self = [super init];
- if (!self)
- return nil;
- _private = [[WebNavigationDataPrivate alloc] init];
-
- _private->url = [url retain];
- _private->title = [title retain];
- _private->originalRequest = [request retain];
- _private->response = [response retain];
- _private->hasSubstituteData = hasSubstituteData;
- _private->clientRedirectSource = [redirectSource retain];
-
- return self;
-}
-
-- (NSString *)url
-{
- return _private->url;
-}
-
-- (NSString *)title
-{
- return _private->title;
-}
-
-- (NSURLRequest *)originalRequest
-{
- return _private->originalRequest;
-}
-
-- (NSURLResponse *)response
-{
- return _private->response;
-}
-
-- (BOOL)hasSubstituteData
-{
- return _private->hasSubstituteData;
-}
-
-- (NSString *)clientRedirectSource
-{
- return _private->clientRedirectSource;
-}
-
-- (void)dealloc
-{
- [_private release];
- [super dealloc];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebNotification.h b/Source/WebKit/mac/WebView/WebNotification.h
deleted file mode 100644
index 83ddad6a8..000000000
--- a/Source/WebKit/mac/WebView/WebNotification.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2012 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-@class WebNotificationPrivate;
-@class WebSecurityOrigin;
-
-@interface WebNotification : NSObject
-{
- WebNotificationPrivate *_private;
-}
-
-- (NSString *)title;
-- (NSString *)body;
-- (NSString *)tag;
-- (NSString *)iconURL;
-- (NSString *)lang;
-- (NSString *)dir;
-- (WebSecurityOrigin *)origin;
-- (uint64_t)notificationID;
-
-- (void)dispatchShowEvent;
-- (void)dispatchCloseEvent;
-- (void)dispatchClickEvent;
-- (void)dispatchErrorEvent;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebNotification.mm b/Source/WebKit/mac/WebView/WebNotification.mm
deleted file mode 100644
index f36c2672f..000000000
--- a/Source/WebKit/mac/WebView/WebNotification.mm
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright (C) 2012 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNotification.h"
-
-#import "WebNotificationInternal.h"
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-#import "WebSecurityOriginInternal.h"
-#import <WebCore/Notification.h>
-#import <WebCore/ScriptExecutionContext.h>
-#import <wtf/RefPtr.h>
-
-using namespace WebCore;
-#endif
-
-OBJC_CLASS WebNotificationInternal;
-
-@interface WebNotificationPrivate : NSObject
-{
-@public
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- RefPtr<Notification> _internal;
- uint64_t _notificationID;
-#endif
-}
-@end
-
-@implementation WebNotificationPrivate
-@end
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-@implementation WebNotification (WebNotificationInternal)
-Notification* core(WebNotification *notification)
-{
- if (!notification->_private)
- return 0;
- return notification->_private->_internal.get();
-}
-
-- (id)initWithCoreNotification:(Notification*)coreNotification notificationID:(uint64_t)notificationID
-{
- if (!(self = [super init]))
- return nil;
- _private = [[WebNotificationPrivate alloc] init];
- _private->_internal = coreNotification;
- _private->_notificationID = notificationID;
- return self;
-}
-@end
-#endif
-
-@implementation WebNotification
-- (id)init
-{
- return nil;
-}
-
-- (NSString *)title
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- return core(self)->title();
-#else
- return nil;
-#endif
-}
-
-- (NSString *)body
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- return core(self)->body();
-#else
- return nil;
-#endif
-}
-
-- (NSString *)tag
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- return core(self)->tag();
-#else
- return nil;
-#endif
-}
-
-- (NSString *)iconURL
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- return core(self)->iconURL();
-#else
- return nil;
-#endif
-}
-
-- (NSString *)lang
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- return core(self)->lang();
-#else
- return nil;
-#endif
-}
-
-- (NSString *)dir
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- return core(self)->dir();
-#else
- return nil;
-#endif
-}
-
-- (WebSecurityOrigin *)origin
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- return [[[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:core(self)->scriptExecutionContext()->securityOrigin()] autorelease];
-#else
- return nil;
-#endif
-}
-
-- (uint64_t)notificationID
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- return _private->_notificationID;
-#else
- return 0;
-#endif
-}
-
-- (void)dispatchShowEvent
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- core(self)->dispatchShowEvent();
-#endif
-}
-
-- (void)dispatchCloseEvent
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- core(self)->dispatchCloseEvent();
-#endif
-}
-
-- (void)dispatchClickEvent
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- core(self)->dispatchClickEvent();
-#endif
-}
-
-- (void)dispatchErrorEvent
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- core(self)->dispatchErrorEvent();
-#endif
-}
-
-@end
-
diff --git a/Source/WebKit/mac/WebView/WebNotificationInternal.h b/Source/WebKit/mac/WebView/WebNotificationInternal.h
deleted file mode 100644
index 3f6f5626c..000000000
--- a/Source/WebKit/mac/WebView/WebNotificationInternal.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2012 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebNotification.h"
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-
-namespace WebCore {
-class Notification;
-}
-
-WebCore::Notification* core(WebNotification *);
-
-@interface WebNotification (WebNotificationInternal)
-- (id)initWithCoreNotification:(WebCore::Notification*)coreNotification notificationID:(uint64_t)notificationID;
-@end
-
-#endif
diff --git a/Source/WebKit/mac/WebView/WebPDFDocumentExtras.h b/Source/WebKit/mac/WebView/WebPDFDocumentExtras.h
deleted file mode 100644
index 0dce43e80..000000000
--- a/Source/WebKit/mac/WebView/WebPDFDocumentExtras.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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.
- */
-
-@class PDFDocument;
-
-NSArray *allScriptsInPDFDocument(PDFDocument *);
diff --git a/Source/WebKit/mac/WebView/WebPDFDocumentExtras.mm b/Source/WebKit/mac/WebView/WebPDFDocumentExtras.mm
deleted file mode 100644
index 295aa8589..000000000
--- a/Source/WebKit/mac/WebView/WebPDFDocumentExtras.mm
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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.
- */
-
-#import "WebPDFDocumentExtras.h"
-
-#import "WebTypesInternal.h"
-#import <wtf/Vector.h>
-#import <wtf/RetainPtr.h>
-#import <PDFKit/PDFDocument.h>
-
-static void appendValuesInPDFNameSubtreeToVector(CGPDFDictionaryRef subtree, Vector<CGPDFObjectRef>& values)
-{
- CGPDFArrayRef names;
- if (CGPDFDictionaryGetArray(subtree, "Names", &names)) {
- size_t nameCount = CGPDFArrayGetCount(names) / 2;
- for (size_t i = 0; i < nameCount; ++i) {
- CGPDFObjectRef object;
- CGPDFArrayGetObject(names, 2 * i + 1, &object);
- values.append(object);
- }
- return;
- }
-
- CGPDFArrayRef kids;
- if (!CGPDFDictionaryGetArray(subtree, "Kids", &kids))
- return;
-
- size_t kidCount = CGPDFArrayGetCount(kids);
- for (size_t i = 0; i < kidCount; ++i) {
- CGPDFDictionaryRef kid;
- if (!CGPDFArrayGetDictionary(kids, i, &kid))
- continue;
- appendValuesInPDFNameSubtreeToVector(kid, values);
- }
-}
-
-static void getAllValuesInPDFNameTree(CGPDFDictionaryRef tree, Vector<CGPDFObjectRef>& allValues)
-{
- appendValuesInPDFNameSubtreeToVector(tree, allValues);
-}
-
-NSArray *allScriptsInPDFDocument(PDFDocument *document)
-{
- NSMutableArray *scripts = [NSMutableArray array];
- CGPDFDocumentRef pdfDocument = [document documentRef];
- if (!pdfDocument)
- return scripts;
-
- CGPDFDictionaryRef pdfCatalog = CGPDFDocumentGetCatalog(pdfDocument);
- if (!pdfCatalog)
- return scripts;
-
- // Get the dictionary of all document-level name trees.
- CGPDFDictionaryRef namesDictionary;
- if (!CGPDFDictionaryGetDictionary(pdfCatalog, "Names", &namesDictionary))
- return scripts;
-
- // Get the document-level "JavaScript" name tree.
- CGPDFDictionaryRef javaScriptNameTree;
- if (!CGPDFDictionaryGetDictionary(namesDictionary, "JavaScript", &javaScriptNameTree))
- return scripts;
-
- // The names are arbitrary. We are only interested in the values.
- Vector<CGPDFObjectRef> objects;
- getAllValuesInPDFNameTree(javaScriptNameTree, objects);
- size_t objectCount = objects.size();
-
- for (size_t i = 0; i < objectCount; ++i) {
- CGPDFDictionaryRef javaScriptAction;
- if (!CGPDFObjectGetValue(reinterpret_cast<CGPDFObjectRef>(objects[i]), kCGPDFObjectTypeDictionary, &javaScriptAction))
- continue;
-
- // A JavaScript action must have an action type of "JavaScript".
- const char* actionType;
- if (!CGPDFDictionaryGetName(javaScriptAction, "S", &actionType) || strcmp(actionType, "JavaScript"))
- continue;
-
- const UInt8* bytes = 0;
- CFIndex length;
- CGPDFStreamRef stream;
- CGPDFStringRef string;
- RetainPtr<CFDataRef> data;
- if (CGPDFDictionaryGetStream(javaScriptAction, "JS", &stream)) {
- CGPDFDataFormat format;
- data = adoptCF(CGPDFStreamCopyData(stream, &format));
- if (!data)
- continue;
- bytes = CFDataGetBytePtr(data.get());
- length = CFDataGetLength(data.get());
- } else if (CGPDFDictionaryGetString(javaScriptAction, "JS", &string)) {
- bytes = CGPDFStringGetBytePtr(string);
- length = CGPDFStringGetLength(string);
- }
- if (!bytes)
- continue;
-
- NSStringEncoding encoding = (length > 1 && bytes[0] == 0xFE && bytes[1] == 0xFF) ? NSUnicodeStringEncoding : NSUTF8StringEncoding;
- NSString *script = [[NSString alloc] initWithBytes:bytes length:length encoding:encoding];
- if (!script)
- continue;
-
- [scripts addObject:script];
- [script release];
- }
-
- return scripts;
-}
diff --git a/Source/WebKit/mac/WebView/WebPDFRepresentation.h b/Source/WebKit/mac/WebView/WebPDFRepresentation.h
deleted file mode 100644
index be40ae1e1..000000000
--- a/Source/WebKit/mac/WebView/WebPDFRepresentation.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebDocument.h"
-
-@protocol WebDocumentRepresentation;
-
-@interface WebPDFRepresentation : NSObject <WebDocumentRepresentation>
-+ (NSArray *)supportedMIMETypes;
-@end
diff --git a/Source/WebKit/mac/WebView/WebPDFRepresentation.mm b/Source/WebKit/mac/WebView/WebPDFRepresentation.mm
deleted file mode 100644
index a36853349..000000000
--- a/Source/WebKit/mac/WebView/WebPDFRepresentation.mm
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright (C) 2005, 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebPDFRepresentation.h"
-
-#import "WebDataSourcePrivate.h"
-#import "WebFrame.h"
-#import "WebJSPDFDoc.h"
-#import "WebNSObjectExtras.h"
-#import "WebPDFDocumentExtras.h"
-#import "WebPDFView.h"
-#import "WebTypesInternal.h"
-#import <wtf/Assertions.h>
-#import <JavaScriptCore/JSContextRef.h>
-#import <JavaScriptCore/JSStringRef.h>
-#import <JavaScriptCore/JSStringRefCF.h>
-
-@implementation WebPDFRepresentation
-
-+ (NSArray *)postScriptMIMETypes
-{
- return [NSArray arrayWithObjects:
- @"application/postscript",
- nil];
-}
-
-+ (NSArray *)supportedMIMETypes
-{
- return [[[self class] postScriptMIMETypes] arrayByAddingObjectsFromArray:
- [NSArray arrayWithObjects:
- @"text/pdf",
- @"application/pdf",
- nil]];
-}
-
-+ (Class)PDFDocumentClass
-{
- static Class PDFDocumentClass = nil;
- if (PDFDocumentClass == nil) {
- PDFDocumentClass = [[WebPDFView PDFKitBundle] classNamed:@"PDFDocument"];
- if (PDFDocumentClass == nil) {
- LOG_ERROR("Couldn't find PDFDocument class in PDFKit.framework");
- }
- }
- return PDFDocumentClass;
-}
-
-- (void)setDataSource:(WebDataSource *)dataSource
-{
-}
-
-- (void)receivedData:(NSData *)data withDataSource:(WebDataSource *)dataSource
-{
-}
-
-- (void)receivedError:(NSError *)error withDataSource:(WebDataSource *)dataSource
-{
-}
-
-- (NSData *)convertPostScriptDataSourceToPDF:(NSData *)data
-{
- // Convert PostScript to PDF using Quartz 2D API
- // http://developer.apple.com/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_ps_convert/chapter_16_section_1.html
-
- CGPSConverterCallbacks callbacks = { 0, 0, 0, 0, 0, 0, 0, 0 };
- CGPSConverterRef converter = CGPSConverterCreate(0, &callbacks, 0);
- ASSERT(converter);
-
- CGDataProviderRef provider = CGDataProviderCreateWithCFData((CFDataRef)data);
- ASSERT(provider);
-
- CFMutableDataRef result = CFDataCreateMutable(kCFAllocatorDefault, 0);
- ASSERT(result);
-
- CGDataConsumerRef consumer = CGDataConsumerCreateWithCFData(result);
- ASSERT(consumer);
-
- // Error handled by detecting zero-length 'result' in caller
- CGPSConverterConvert(converter, provider, consumer, 0);
-
- CFRelease(converter);
- CFRelease(provider);
- CFRelease(consumer);
-
- return WebCFAutorelease(result);
-}
-
-- (void)finishedLoadingWithDataSource:(WebDataSource *)dataSource
-{
- NSData *data = [dataSource data];
-
- NSArray *postScriptMIMETypes = [[self class] postScriptMIMETypes];
- NSString *mimeType = [dataSource _responseMIMEType];
- if ([postScriptMIMETypes containsObject:mimeType]) {
- data = [self convertPostScriptDataSourceToPDF:data];
- if ([data length] == 0)
- return;
- }
-
- WebPDFView *view = (WebPDFView *)[[[dataSource webFrame] frameView] documentView];
- PDFDocument *doc = [[[[self class] PDFDocumentClass] alloc] initWithData:data];
- [view setPDFDocument:doc];
-
- NSArray *scripts = allScriptsInPDFDocument(doc);
- [doc release];
- doc = nil;
-
- NSUInteger scriptCount = [scripts count];
- if (!scriptCount)
- return;
-
- JSGlobalContextRef ctx = JSGlobalContextCreate(0);
- JSObjectRef jsPDFDoc = makeJSPDFDoc(ctx, dataSource);
-
- for (NSUInteger i = 0; i < scriptCount; ++i) {
- JSStringRef script = JSStringCreateWithCFString((CFStringRef)[scripts objectAtIndex:i]);
- JSEvaluateScript(ctx, script, jsPDFDoc, 0, 0, 0);
- JSStringRelease(script);
- }
-
- JSGlobalContextRelease(ctx);
-}
-
-- (BOOL)canProvideDocumentSource
-{
- return NO;
-}
-
-
-- (NSString *)documentSource
-{
- return nil;
-}
-
-
-- (NSString *)title
-{
- return nil;
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebPDFView.h b/Source/WebKit/mac/WebView/WebPDFView.h
deleted file mode 100644
index e480a1b8f..000000000
--- a/Source/WebKit/mac/WebView/WebPDFView.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebDocumentInternal.h>
-
-@class PDFDocument;
-@class PDFView;
-@class WebDataSource;
-
-@interface WebPDFView : NSView <WebDocumentView, WebDocumentSearching, WebDocumentIncrementalSearching, WebMultipleTextMatches, WebDocumentSelection, WebDocumentElement, WebDocumentPDF, _WebDocumentViewState, _WebDocumentZooming>
-{
- NSView *previewView;
- PDFView *PDFSubview;
- NSString *path;
- BOOL firstResponderIsPDFDocumentView;
- BOOL written;
- BOOL _ignoreScaleAndDisplayModeAndPageNotifications;
- BOOL _willUpdatePreferencesSoon;
- PDFView *PDFSubviewProxy;
- WebDataSource *dataSource;
- NSArray *textMatches;
- NSPoint lastScrollPosition;
-}
-
-+ (NSArray *)supportedMIMETypes;
-+ (NSBundle *)PDFKitBundle;
-
-- (void)setPDFDocument:(PDFDocument *)doc;
-- (PDFDocument *)PDFDocument;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebPDFView.mm b/Source/WebKit/mac/WebView/WebPDFView.mm
deleted file mode 100644
index 755546fb1..000000000
--- a/Source/WebKit/mac/WebView/WebPDFView.mm
+++ /dev/null
@@ -1,1512 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2013 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebPDFView.h"
-
-#import "DOMNodeInternal.h"
-#import "DOMRangeInternal.h"
-#import "WebDataSourceInternal.h"
-#import "WebDelegateImplementationCaching.h"
-#import "WebDocumentInternal.h"
-#import "WebDocumentPrivate.h"
-#import "WebFrame.h"
-#import "WebFrameInternal.h"
-#import "WebFrameView.h"
-#import "WebLocalizableStringsInternal.h"
-#import "WebNSArrayExtras.h"
-#import "WebNSPasteboardExtras.h"
-#import "WebNSViewExtras.h"
-#import "WebPDFRepresentation.h"
-#import "WebPreferencesPrivate.h"
-#import "WebUIDelegate.h"
-#import "WebUIDelegatePrivate.h"
-#import "WebView.h"
-#import "WebViewInternal.h"
-#import <PDFKit/PDFKit.h>
-#import <WebCore/Clipboard.h>
-#import <WebCore/EventNames.h>
-#import <WebCore/FormState.h>
-#import <WebCore/Frame.h>
-#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>
-#import <WebCore/PlatformEventFactoryMac.h>
-#import <WebCore/RuntimeApplicationChecks.h>
-#import <WebCore/WebNSAttributedStringExtras.h>
-#import <wtf/Assertions.h>
-#import <wtf/CurrentTime.h>
-
-using namespace WebCore;
-
-// Redeclarations of PDFKit notifications. We can't use the API since we use a weak link to the framework.
-#define _webkit_PDFViewDisplayModeChangedNotification @"PDFViewDisplayModeChanged"
-#define _webkit_PDFViewScaleChangedNotification @"PDFViewScaleChanged"
-#define _webkit_PDFViewPageChangedNotification @"PDFViewChangedPage"
-
-@interface PDFDocument (PDFKitSecretsIKnow)
-- (NSPrintOperation *)getPrintOperationForPrintInfo:(NSPrintInfo *)printInfo autoRotate:(BOOL)doRotate;
-@end
-
-extern "C" NSString *_NSPathForSystemFramework(NSString *framework);
-
-@interface WebPDFView (FileInternal)
-+ (Class)_PDFPreviewViewClass;
-+ (Class)_PDFViewClass;
-- (BOOL)_anyPDFTagsFoundInMenu:(NSMenu *)menu;
-- (void)_applyPDFDefaults;
-- (BOOL)_canLookUpInDictionary;
-- (NSClipView *)_clipViewForPDFDocumentView;
-- (NSEvent *)_fakeKeyEventWithFunctionKey:(unichar)functionKey;
-- (NSMutableArray *)_menuItemsFromPDFKitForEvent:(NSEvent *)theEvent;
-- (PDFSelection *)_nextMatchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag fromSelection:(PDFSelection *)initialSelection startInSelection:(BOOL)startInSelection;
-- (void)_openWithFinder:(id)sender;
-- (NSString *)_path;
-- (void)_PDFDocumentViewMightHaveScrolled:(NSNotification *)notification;
-- (BOOL)_pointIsInSelection:(NSPoint)point;
-- (NSAttributedString *)_scaledAttributedString:(NSAttributedString *)unscaledAttributedString;
-- (void)_setTextMatches:(NSArray *)array;
-- (NSString *)_temporaryPDFDirectoryPath;
-- (void)_trackFirstResponder;
-- (void)_updatePreferencesSoon;
-- (NSSet *)_visiblePDFPages;
-@end;
-
-// WebPDFPrefUpdatingProxy is a class that forwards everything it gets to a target and updates the PDF viewing prefs
-// after each of those messages. We use it as a way to hook all the places that the PDF viewing attrs change.
-@interface WebPDFPrefUpdatingProxy : NSProxy {
- WebPDFView *view;
-}
-- (id)initWithView:(WebPDFView *)view;
-@end
-
-// MARK: C UTILITY FUNCTIONS
-
-static void _applicationInfoForMIMEType(NSString *type, NSString **name, NSImage **image)
-{
- NSURL *appURL = nil;
-
- OSStatus error = LSCopyApplicationForMIMEType((CFStringRef)type, kLSRolesAll, (CFURLRef *)&appURL);
- if (error != noErr)
- return;
-
- NSString *appPath = [appURL path];
- CFRelease (appURL);
-
- *image = [[NSWorkspace sharedWorkspace] iconForFile:appPath];
- [*image setSize:NSMakeSize(16.f,16.f)];
-
- NSString *appName = [[NSFileManager defaultManager] displayNameAtPath:appPath];
- *name = appName;
-}
-
-// FIXME 4182876: We can eliminate this function in favor if -isEqual: if [PDFSelection isEqual:] is overridden
-// to compare contents.
-static BOOL _PDFSelectionsAreEqual(PDFSelection *selectionA, PDFSelection *selectionB)
-{
- NSArray *aPages = [selectionA pages];
- NSArray *bPages = [selectionB pages];
-
- if (![aPages isEqual:bPages])
- return NO;
-
- int count = [aPages count];
- int i;
- for (i = 0; i < count; ++i) {
- NSRect aBounds = [selectionA boundsForPage:[aPages objectAtIndex:i]];
- NSRect bBounds = [selectionB boundsForPage:[bPages objectAtIndex:i]];
- if (!NSEqualRects(aBounds, bBounds)) {
- return NO;
- }
- }
-
- return YES;
-}
-
-@implementation WebPDFView
-
-// MARK: WebPDFView API
-
-+ (NSBundle *)PDFKitBundle
-{
- static NSBundle *PDFKitBundle = nil;
- if (PDFKitBundle == nil) {
- NSString *PDFKitPath = [_NSPathForSystemFramework(@"Quartz.framework") stringByAppendingString:@"/Frameworks/PDFKit.framework"];
- if (PDFKitPath == nil) {
- LOG_ERROR("Couldn't find PDFKit.framework");
- return nil;
- }
- PDFKitBundle = [NSBundle bundleWithPath:PDFKitPath];
- if (![PDFKitBundle load]) {
- LOG_ERROR("Couldn't load PDFKit.framework");
- }
- }
- return PDFKitBundle;
-}
-
-+ (NSArray *)supportedMIMETypes
-{
- return [WebPDFRepresentation supportedMIMETypes];
-}
-
-- (void)setPDFDocument:(PDFDocument *)doc
-{
- // Both setDocument: and _applyPDFDefaults will trigger scale and mode-changed notifications.
- // Those aren't reflecting user actions, so we need to ignore them.
- _ignoreScaleAndDisplayModeAndPageNotifications = YES;
- [PDFSubview setDocument:doc];
- [self _applyPDFDefaults];
- _ignoreScaleAndDisplayModeAndPageNotifications = NO;
-}
-
-- (PDFDocument *)PDFDocument
-{
- return [PDFSubview document];
-}
-
-// MARK: NSObject OVERRIDES
-
-- (void)dealloc
-{
- [dataSource release];
- [previewView release];
- [PDFSubview setDelegate:nil];
- [PDFSubview release];
- [path release];
- [PDFSubviewProxy release];
- [textMatches release];
- [super dealloc];
-}
-
-// MARK: NSResponder OVERRIDES
-
-- (void)centerSelectionInVisibleArea:(id)sender
-{
- [PDFSubview scrollSelectionToVisible:nil];
-}
-
-- (void)scrollPageDown:(id)sender
-{
- // PDFView doesn't support this responder method directly, so we pass it a fake key event
- [PDFSubview keyDown:[self _fakeKeyEventWithFunctionKey:NSPageDownFunctionKey]];
-}
-
-- (void)scrollPageUp:(id)sender
-{
- // PDFView doesn't support this responder method directly, so we pass it a fake key event
- [PDFSubview keyDown:[self _fakeKeyEventWithFunctionKey:NSPageUpFunctionKey]];
-}
-
-- (void)scrollLineDown:(id)sender
-{
- // PDFView doesn't support this responder method directly, so we pass it a fake key event
- [PDFSubview keyDown:[self _fakeKeyEventWithFunctionKey:NSDownArrowFunctionKey]];
-}
-
-- (void)scrollLineUp:(id)sender
-{
- // PDFView doesn't support this responder method directly, so we pass it a fake key event
- [PDFSubview keyDown:[self _fakeKeyEventWithFunctionKey:NSUpArrowFunctionKey]];
-}
-
-- (void)scrollToBeginningOfDocument:(id)sender
-{
- // PDFView doesn't support this responder method directly, so we pass it a fake key event
- [PDFSubview keyDown:[self _fakeKeyEventWithFunctionKey:NSHomeFunctionKey]];
-}
-
-- (void)scrollToEndOfDocument:(id)sender
-{
- // PDFView doesn't support this responder method directly, so we pass it a fake key event
- [PDFSubview keyDown:[self _fakeKeyEventWithFunctionKey:NSEndFunctionKey]];
-}
-
-// jumpToSelection is the old name for what AppKit now calls centerSelectionInVisibleArea. Safari
-// was using the old jumpToSelection selector in its menu. Newer versions of Safari will us the
-// selector centerSelectionInVisibleArea. We'll leave this old selector in place for two reasons:
-// (1) compatibility between older Safari and newer WebKit; (2) other WebKit-based applications
-// might be using the jumpToSelection: selector, and we don't want to break them.
-- (void)jumpToSelection:(id)sender
-{
- [self centerSelectionInVisibleArea:nil];
-}
-
-// MARK: NSView OVERRIDES
-
-- (BOOL)acceptsFirstResponder {
- return YES;
-}
-
-- (BOOL)becomeFirstResponder
-{
- // This works together with setNextKeyView to splice our PDFSubview into
- // the key loop similar to the way NSScrollView does this.
- NSWindow *window = [self window];
- id newFirstResponder = nil;
-
- if ([window keyViewSelectionDirection] == NSSelectingPrevious) {
- NSView *previousValidKeyView = [self previousValidKeyView];
- if ((previousValidKeyView != self) && (previousValidKeyView != PDFSubview))
- newFirstResponder = previousValidKeyView;
- } else {
- NSView *PDFDocumentView = [PDFSubview documentView];
- if ([PDFDocumentView acceptsFirstResponder])
- newFirstResponder = PDFDocumentView;
- }
-
- if (!newFirstResponder)
- return NO;
-
- if (![window makeFirstResponder:newFirstResponder])
- return NO;
-
- [[dataSource webFrame] _clearSelectionInOtherFrames];
-
- return YES;
-}
-
-- (NSView *)hitTest:(NSPoint)point
-{
- // Override hitTest so we can override menuForEvent.
- NSEvent *event = [NSApp currentEvent];
- NSEventType type = [event type];
- if (type == NSRightMouseDown || (type == NSLeftMouseDown && ([event modifierFlags] & NSControlKeyMask)))
- return self;
-
- return [super hitTest:point];
-}
-
-- (id)initWithFrame:(NSRect)frame
-{
- self = [super initWithFrame:frame];
- if (self) {
- [self setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
-
- Class previewViewClass = [[self class] _PDFPreviewViewClass];
-
- // We might not have found a previewViewClass, but if we did find it
- // then we should be able to create an instance.
- if (previewViewClass) {
- previewView = [[previewViewClass alloc] initWithFrame:frame];
- ASSERT(previewView);
- }
-
- NSView *topLevelPDFKitView = nil;
- if (previewView) {
- // We'll retain the PDFSubview here so that it is equally retained in all
- // code paths. That way we don't need to worry about conditionally releasing
- // it later.
- PDFSubview = [[previewView performSelector:@selector(pdfView)] retain];
- topLevelPDFKitView = previewView;
- } else {
- PDFSubview = [[[[self class] _PDFViewClass] alloc] initWithFrame:frame];
- topLevelPDFKitView = PDFSubview;
- }
-
- ASSERT(PDFSubview);
-
- [topLevelPDFKitView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
- [self addSubview:topLevelPDFKitView];
-
- [PDFSubview setDelegate:self];
- written = NO;
- // Messaging this proxy is the same as messaging PDFSubview, with the side effect that the
- // PDF viewing defaults are updated afterwards
- PDFSubviewProxy = (PDFView *)[[WebPDFPrefUpdatingProxy alloc] initWithView:self];
- }
-
- return self;
-}
-
-- (NSMenu *)menuForEvent:(NSEvent *)theEvent
-{
- // Start with the menu items supplied by PDFKit, with WebKit tags applied
- NSMutableArray *items = [self _menuItemsFromPDFKitForEvent:theEvent];
-
- // Add in an "Open with <default PDF viewer>" item
- NSString *appName = nil;
- NSImage *appIcon = nil;
-
- _applicationInfoForMIMEType([dataSource _responseMIMEType], &appName, &appIcon);
- if (!appName)
- appName = UI_STRING_INTERNAL("Finder", "Default application name for Open With context menu");
-
- // To match the PDFKit style, we'll add Open with Preview even when there's no document yet to view, and
- // disable it using validateUserInterfaceItem.
- NSString *title = [NSString stringWithFormat:UI_STRING_INTERNAL("Open with %@", "context menu item for PDF"), appName];
- NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:title action:@selector(_openWithFinder:) keyEquivalent:@""];
- [item setTag:WebMenuItemTagOpenWithDefaultApplication];
- if (appIcon)
- [item setImage:appIcon];
- [items insertObject:item atIndex:0];
- [item release];
-
- [items insertObject:[NSMenuItem separatorItem] atIndex:1];
-
- // pass the items off to the WebKit context menu mechanism
- WebView *webView = [[dataSource webFrame] webView];
- ASSERT(webView);
- NSMenu *menu = [webView _menuForElement:[self elementAtPoint:[self convertPoint:[theEvent locationInWindow] fromView:nil]] defaultItems:items];
-
- // The delegate has now had the opportunity to add items to the standard PDF-related items, or to
- // remove or modify some of the PDF-related items. In 10.4, the PDF context menu did not go through
- // the standard WebKit delegate path, and so the standard PDF-related items always appeared. For
- // clients that create their own context menu by hand-picking specific items from the default list, such as
- // Safari, none of the PDF-related items will appear until the client is rewritten to explicitly
- // include these items. For backwards compatibility of tip-of-tree WebKit with the 10.4 version of Safari
- // (the configuration that people building open source WebKit use), we'll use the entire set of PDFKit-supplied
- // menu items. This backward-compatibility hack won't work with any non-Safari clients, but this seems OK since
- // (1) the symptom is fairly minor, and (2) we suspect that non-Safari clients are probably using the entire
- // set of default items, rather than manually choosing from them. We can remove this code entirely when we
- // ship a version of Safari that includes the fix for radar 3796579.
- if (![self _anyPDFTagsFoundInMenu:menu] && applicationIsSafari()) {
- [menu addItem:[NSMenuItem separatorItem]];
- NSEnumerator *e = [items objectEnumerator];
- NSMenuItem *menuItem;
- while ((menuItem = [e nextObject]) != nil) {
- // copy menuItem since a given menuItem can be in only one menu at a time, and we don't
- // want to mess with the menu returned from PDFKit.
- NSMenuItem *menuItemCopy = [menuItem copy];
- [menu addItem:menuItemCopy];
- [menuItemCopy release];
- }
- }
-
- return menu;
-}
-
-- (void)setNextKeyView:(NSView *)aView
-{
- // This works together with becomeFirstResponder to splice PDFSubview into
- // the key loop similar to the way NSScrollView and NSClipView do this.
- NSView *documentView = [PDFSubview documentView];
- if (documentView) {
- [documentView setNextKeyView:aView];
-
- // We need to make the documentView be the next view in the keyview loop.
- // It would seem more sensible to do this in our init method, but it turns out
- // that [NSClipView setDocumentView] won't call this method if our next key view
- // is already set, so we wait until we're called before adding this connection.
- // We'll also clear it when we're called with nil, so this could go through the
- // same code path more than once successfully.
- [super setNextKeyView: aView ? documentView : nil];
- } else
- [super setNextKeyView:aView];
-}
-
-- (void)viewDidMoveToWindow
-{
- // FIXME 2573089: we can observe a notification for first responder changes
- // instead of the very frequent NSWindowDidUpdateNotification if/when 2573089 is addressed.
- NSWindow *newWindow = [self window];
- if (!newWindow)
- return;
-
- [self _trackFirstResponder];
- NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
- [notificationCenter addObserver:self
- selector:@selector(_trackFirstResponder)
- name:NSWindowDidUpdateNotification
- object:newWindow];
-
- [notificationCenter addObserver:self
- selector:@selector(_scaleOrDisplayModeOrPageChanged:)
- name:_webkit_PDFViewScaleChangedNotification
- object:PDFSubview];
-
- [notificationCenter addObserver:self
- selector:@selector(_scaleOrDisplayModeOrPageChanged:)
- name:_webkit_PDFViewDisplayModeChangedNotification
- object:PDFSubview];
-
- [notificationCenter addObserver:self
- selector:@selector(_scaleOrDisplayModeOrPageChanged:)
- name:_webkit_PDFViewPageChangedNotification
- object:PDFSubview];
-
- [notificationCenter addObserver:self
- selector:@selector(_PDFDocumentViewMightHaveScrolled:)
- name:NSViewBoundsDidChangeNotification
- object:[self _clipViewForPDFDocumentView]];
-}
-
-- (void)viewWillMoveToWindow:(NSWindow *)window
-{
- // FIXME 2573089: we can observe a notification for changes to the first responder
- // instead of the very frequent NSWindowDidUpdateNotification if/when 2573089 is addressed.
- NSWindow *oldWindow = [self window];
- if (!oldWindow)
- return;
-
- NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
- [notificationCenter removeObserver:self
- name:NSWindowDidUpdateNotification
- object:oldWindow];
- [notificationCenter removeObserver:self
- name:_webkit_PDFViewScaleChangedNotification
- object:PDFSubview];
- [notificationCenter removeObserver:self
- name:_webkit_PDFViewDisplayModeChangedNotification
- object:PDFSubview];
- [notificationCenter removeObserver:self
- name:_webkit_PDFViewPageChangedNotification
- object:PDFSubview];
-
- [notificationCenter removeObserver:self
- name:NSViewBoundsDidChangeNotification
- object:[self _clipViewForPDFDocumentView]];
-
- firstResponderIsPDFDocumentView = NO;
-}
-
-// MARK: NSUserInterfaceValidations PROTOCOL IMPLEMENTATION
-
-- (BOOL)validateUserInterfaceItemWithoutDelegate:(id <NSValidatedUserInterfaceItem>)item
-{
- SEL action = [item action];
- if (action == @selector(takeFindStringFromSelection:) || action == @selector(centerSelectionInVisibleArea:) || action == @selector(jumpToSelection:))
- return [PDFSubview currentSelection] != nil;
-
- if (action == @selector(_openWithFinder:))
- return [PDFSubview document] != nil;
-
- if (action == @selector(_lookUpInDictionaryFromMenu:))
- return [self _canLookUpInDictionary];
-
- return YES;
-}
-
-- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item
-{
- // This can be called during teardown when _webView is nil. Return NO when this happens, because CallUIDelegateReturningBoolean
- // assumes the WebVIew is non-nil.
- if (![self _webView])
- return NO;
- BOOL result = [self validateUserInterfaceItemWithoutDelegate:item];
- return CallUIDelegateReturningBoolean(result, [self _webView], @selector(webView:validateUserInterfaceItem:defaultValidation:), item, result);
-}
-
-// MARK: INTERFACE BUILDER ACTIONS FOR SAFARI
-
-// Surprisingly enough, this isn't defined in any superclass, though it is defined in assorted AppKit classes since
-// it's a standard menu item IBAction.
-- (IBAction)copy:(id)sender
-{
- [PDFSubview copy:sender];
-}
-
-// This used to be a standard IBAction (for Use Selection For Find), but AppKit now uses performFindPanelAction:
-// with a menu item tag for this purpose.
-- (IBAction)takeFindStringFromSelection:(id)sender
-{
- [NSPasteboard _web_setFindPasteboardString:[[PDFSubview currentSelection] string] withOwner:self];
-}
-
-// MARK: WebFrameView UNDECLARED "DELEGATE METHODS"
-
-// This is tested in -[WebFrameView canPrintHeadersAndFooters], but isn't declared anywhere (yuck)
-- (BOOL)canPrintHeadersAndFooters
-{
- return NO;
-}
-
-// This is tested in -[WebFrameView printOperationWithPrintInfo:], but isn't declared anywhere (yuck)
-- (NSPrintOperation *)printOperationWithPrintInfo:(NSPrintInfo *)printInfo
-{
- return [[PDFSubview document] getPrintOperationForPrintInfo:printInfo autoRotate:YES];
-}
-
-// MARK: WebDocumentView PROTOCOL IMPLEMENTATION
-
-- (void)setDataSource:(WebDataSource *)ds
-{
- if (dataSource == ds)
- return;
-
- dataSource = [ds retain];
-
- // FIXME: There must be some better place to put this. There is no comment in ChangeLog
- // explaining why it's in this method.
- [self setFrame:[[self superview] frame]];
-}
-
-- (void)dataSourceUpdated:(WebDataSource *)dataSource
-{
-}
-
-- (void)setNeedsLayout:(BOOL)flag
-{
-}
-
-- (void)layout
-{
-}
-
-- (void)viewWillMoveToHostWindow:(NSWindow *)hostWindow
-{
-}
-
-- (void)viewDidMoveToHostWindow
-{
-}
-
-// MARK: WebDocumentElement PROTOCOL IMPLEMENTATION
-
-- (NSDictionary *)elementAtPoint:(NSPoint)point
-{
- WebFrame *frame = [dataSource webFrame];
- ASSERT(frame);
-
- return [NSDictionary dictionaryWithObjectsAndKeys:
- frame, WebElementFrameKey,
- [NSNumber numberWithBool:[self _pointIsInSelection:point]], WebElementIsSelectedKey,
- nil];
-}
-
-- (NSDictionary *)elementAtPoint:(NSPoint)point allowShadowContent:(BOOL)allow
-{
- return [self elementAtPoint:point];
-}
-
-// MARK: WebDocumentSearching PROTOCOL IMPLEMENTATION
-
-- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag
-{
- return [self searchFor:string direction:forward caseSensitive:caseFlag wrap:wrapFlag startInSelection:NO];
-}
-
-// MARK: WebDocumentIncrementalSearching PROTOCOL IMPLEMENTATION
-
-- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag startInSelection:(BOOL)startInSelection
-{
- PDFSelection *selection = [self _nextMatchFor:string direction:forward caseSensitive:caseFlag wrap:wrapFlag fromSelection:[PDFSubview currentSelection] startInSelection:startInSelection];
- if (!selection)
- return NO;
-
- [PDFSubview setCurrentSelection:selection];
- [PDFSubview scrollSelectionToVisible:nil];
- return YES;
-}
-
-// MARK: WebMultipleTextMatches PROTOCOL IMPLEMENTATION
-
-- (void)setMarkedTextMatchesAreHighlighted:(BOOL)newValue
-{
- // This method is part of the WebMultipleTextMatches algorithm, but this class doesn't support
- // highlighting text matches inline.
-#ifndef NDEBUG
- if (newValue)
- LOG_ERROR("[WebPDFView setMarkedTextMatchesAreHighlighted:] called with YES, which isn't supported");
-#endif
-}
-
-- (BOOL)markedTextMatchesAreHighlighted
-{
- return NO;
-}
-
-static BOOL isFrameInRange(WebFrame *frame, DOMRange *range)
-{
- 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 inDOMRange:(DOMRange *)range options:(WebFindOptions)options limit:(NSUInteger)limit markMatches:(BOOL)markMatches
-{
- if (range && !isFrameInRange([dataSource webFrame], range))
- return 0;
-
- PDFSelection *previousMatch = nil;
- NSMutableArray *matches = [[NSMutableArray alloc] initWithCapacity:limit];
-
- for (;;) {
- PDFSelection *nextMatch = [self _nextMatchFor:string direction:YES caseSensitive:!(options & WebFindOptionsCaseInsensitive) wrap:NO fromSelection:previousMatch startInSelection:NO];
- if (!nextMatch)
- break;
-
- [matches addObject:nextMatch];
- previousMatch = nextMatch;
-
- if ([matches count] >= limit)
- break;
- }
-
- [self _setTextMatches:matches];
- [matches release];
-
- return [matches count];
-}
-
-- (void)unmarkAllTextMatches
-{
- [self _setTextMatches:nil];
-}
-
-- (NSArray *)rectsForTextMatches
-{
- NSMutableArray *result = [NSMutableArray arrayWithCapacity:[textMatches count]];
- NSSet *visiblePages = [self _visiblePDFPages];
- NSEnumerator *matchEnumerator = [textMatches objectEnumerator];
- PDFSelection *match;
-
- while ((match = [matchEnumerator nextObject]) != nil) {
- NSEnumerator *pages = [[match pages] objectEnumerator];
- PDFPage *page;
- while ((page = [pages nextObject]) != nil) {
-
- // Skip pages that aren't visible (needed for non-continuous modes, see 5362989)
- if (![visiblePages containsObject:page])
- continue;
-
- NSRect selectionOnPageInPDFViewCoordinates = [PDFSubview convertRect:[match boundsForPage:page] fromPage:page];
- [result addObject:[NSValue valueWithRect:selectionOnPageInPDFViewCoordinates]];
- }
- }
-
- return result;
-}
-
-// MARK: WebDocumentText PROTOCOL IMPLEMENTATION
-
-- (BOOL)supportsTextEncoding
-{
- return NO;
-}
-
-- (NSString *)string
-{
- return [[PDFSubview document] string];
-}
-
-- (NSAttributedString *)attributedString
-{
- // changing the selection is a hack, but the only way to get an attr string is via PDFSelection
-
- // must copy this selection object because we change the selection which seems to release it
- PDFSelection *savedSelection = [[PDFSubview currentSelection] copy];
- [PDFSubview selectAll:nil];
- NSAttributedString *result = [[PDFSubview currentSelection] attributedString];
- if (savedSelection) {
- [PDFSubview setCurrentSelection:savedSelection];
- [savedSelection release];
- } else {
- // FIXME: behavior of setCurrentSelection:nil is not documented - check 4182934 for progress
- // Otherwise, we could collapse this code with the case above.
- [PDFSubview clearSelection];
- }
-
- result = [self _scaledAttributedString:result];
-
- return result;
-}
-
-- (NSString *)selectedString
-{
- return [[PDFSubview currentSelection] string];
-}
-
-- (NSAttributedString *)selectedAttributedString
-{
- return [self _scaledAttributedString:[[PDFSubview currentSelection] attributedString]];
-}
-
-- (void)selectAll
-{
- [PDFSubview selectAll:nil];
-}
-
-- (void)deselectAll
-{
- [PDFSubview clearSelection];
-}
-
-// MARK: WebDocumentViewState PROTOCOL IMPLEMENTATION
-
-// Even though to WebKit we are the "docView", in reality a PDFView contains its own scrollview and docView.
-// And it even turns out there is another PDFKit view between the docView and its enclosing ScrollView, so
-// we have to be sure to do our calculations based on that view, immediately inside the ClipView. We try
-// to make as few assumptions about the PDFKit view hierarchy as possible.
-
-- (NSPoint)scrollPoint
-{
- NSView *realDocView = [PDFSubview documentView];
- NSClipView *clipView = [[realDocView enclosingScrollView] contentView];
- return [clipView bounds].origin;
-}
-
-- (void)setScrollPoint:(NSPoint)p
-{
- WebFrame *frame = [dataSource webFrame];
- //FIXME: We only restore scroll state in the non-frames case because otherwise we get a crash due to
- // PDFKit calling display from within its drawRect:. See bugzilla 4164.
- if (![frame parentFrame]) {
- NSView *realDocView = [PDFSubview documentView];
- [(NSView *)[[realDocView enclosingScrollView] documentView] scrollPoint:p];
- }
-}
-
-- (id)viewState
-{
- NSMutableArray *state = [NSMutableArray arrayWithCapacity:4];
- PDFDisplayMode mode = [PDFSubview displayMode];
- [state addObject:[NSNumber numberWithInt:mode]];
- if (mode == kPDFDisplaySinglePage || mode == kPDFDisplayTwoUp) {
- unsigned int pageIndex = [[PDFSubview document] indexForPage:[PDFSubview currentPage]];
- [state addObject:[NSNumber numberWithUnsignedInt:pageIndex]];
- } // else in continuous modes, scroll position gets us to the right page
- BOOL autoScaleFlag = [PDFSubview autoScales];
- [state addObject:[NSNumber numberWithBool:autoScaleFlag]];
- if (!autoScaleFlag)
- [state addObject:[NSNumber numberWithFloat:[PDFSubview scaleFactor]]];
-
- return state;
-}
-
-- (void)setViewState:(id)statePList
-{
- ASSERT([statePList isKindOfClass:[NSArray class]]);
- NSArray *state = statePList;
- int i = 0;
- PDFDisplayMode mode = [[state objectAtIndex:i++] intValue];
- [PDFSubview setDisplayMode:mode];
- if (mode == kPDFDisplaySinglePage || mode == kPDFDisplayTwoUp) {
- unsigned int pageIndex = [[state objectAtIndex:i++] unsignedIntValue];
- [PDFSubview goToPage:[[PDFSubview document] pageAtIndex:pageIndex]];
- } // else in continuous modes, scroll position gets us to the right page
- BOOL autoScaleFlag = [[state objectAtIndex:i++] boolValue];
- [PDFSubview setAutoScales:autoScaleFlag];
- if (!autoScaleFlag)
- [PDFSubview setScaleFactor:[[state objectAtIndex:i++] floatValue]];
-}
-
-// MARK: _WebDocumentTextSizing PROTOCOL IMPLEMENTATION
-
-- (IBAction)_zoomOut:(id)sender
-{
- [PDFSubviewProxy zoomOut:sender];
-}
-
-- (IBAction)_zoomIn:(id)sender
-{
- [PDFSubviewProxy zoomIn:sender];
-}
-
-- (IBAction)_resetZoom:(id)sender
-{
- [PDFSubviewProxy setScaleFactor:1.0f];
-}
-
-- (BOOL)_canZoomOut
-{
- return [PDFSubview canZoomOut];
-}
-
-- (BOOL)_canZoomIn
-{
- return [PDFSubview canZoomIn];
-}
-
-- (BOOL)_canResetZoom
-{
- return [PDFSubview scaleFactor] != 1.0;
-}
-
-// MARK: WebDocumentSelection PROTOCOL IMPLEMENTATION
-
-- (NSRect)selectionRect
-{
- NSRect result = NSZeroRect;
- PDFSelection *selection = [PDFSubview currentSelection];
- NSEnumerator *pages = [[selection pages] objectEnumerator];
- PDFPage *page;
- while ((page = [pages nextObject]) != nil) {
- NSRect selectionOnPageInPDFViewCoordinates = [PDFSubview convertRect:[selection boundsForPage:page] fromPage:page];
- if (NSIsEmptyRect(result))
- result = selectionOnPageInPDFViewCoordinates;
- else
- result = NSUnionRect(result, selectionOnPageInPDFViewCoordinates);
- }
-
- // Convert result to be in documentView (selectionView) coordinates
- result = [PDFSubview convertRect:result toView:[PDFSubview documentView]];
-
- return result;
-}
-
-- (NSArray *)selectionTextRects
-{
- // FIXME: We'd need new PDFKit API/SPI to get multiple text rects for selections that intersect more than one line
- return [NSArray arrayWithObject:[NSValue valueWithRect:[self selectionRect]]];
-}
-
-- (NSView *)selectionView
-{
- return [PDFSubview documentView];
-}
-
-- (NSImage *)selectionImageForcingBlackText:(BOOL)forceBlackText
-{
- // Convert the selection to an attributed string, and draw that.
- // FIXME 4621154: this doesn't handle italics (and maybe other styles)
- // FIXME 4604366: this doesn't handle text at non-actual size
- NSMutableAttributedString *attributedString = [[self selectedAttributedString] mutableCopy];
- NSRange wholeStringRange = NSMakeRange(0, [attributedString length]);
-
- // Modify the styles in the attributed string to draw black text, no background, and no underline. We draw
- // no underline because it would look ugly.
- [attributedString beginEditing];
- [attributedString removeAttribute:NSBackgroundColorAttributeName range:wholeStringRange];
- [attributedString removeAttribute:NSUnderlineStyleAttributeName range:wholeStringRange];
- if (forceBlackText)
- [attributedString addAttribute:NSForegroundColorAttributeName value:[NSColor colorWithDeviceWhite:0.0f alpha:1.0f] range:wholeStringRange];
- [attributedString endEditing];
-
- NSImage* selectionImage = [[[NSImage alloc] initWithSize:[self selectionRect].size] autorelease];
-
- [selectionImage lockFocus];
- [attributedString drawAtPoint:NSZeroPoint];
- [selectionImage unlockFocus];
-
- [attributedString release];
-
- return selectionImage;
-}
-
-- (NSRect)selectionImageRect
-{
- // FIXME: deal with clipping?
- return [self selectionRect];
-}
-
-- (NSArray *)pasteboardTypesForSelection
-{
- return [NSArray arrayWithObjects:NSRTFDPboardType, NSRTFPboardType, NSStringPboardType, nil];
-}
-
-- (void)writeSelectionWithPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard
-{
- NSAttributedString *attributedString = [self selectedAttributedString];
-
- if ([types containsObject:NSRTFDPboardType]) {
- NSData *RTFDData = [attributedString RTFDFromRange:NSMakeRange(0, [attributedString length]) documentAttributes:nil];
- [pasteboard setData:RTFDData forType:NSRTFDPboardType];
- }
-
- if ([types containsObject:NSRTFPboardType]) {
- if ([attributedString containsAttachments])
- attributedString = attributedStringByStrippingAttachmentCharacters(attributedString);
-
- NSData *RTFData = [attributedString RTFFromRange:NSMakeRange(0, [attributedString length]) documentAttributes:nil];
- [pasteboard setData:RTFData forType:NSRTFPboardType];
- }
-
- if ([types containsObject:NSStringPboardType])
- [pasteboard setString:[self selectedString] forType:NSStringPboardType];
-}
-
-// MARK: PDFView DELEGATE METHODS
-
-- (void)PDFViewWillClickOnLink:(PDFView *)sender withURL:(NSURL *)URL
-{
- if (!URL)
- return;
-
- NSWindow *window = [sender window];
- NSEvent *nsEvent = [window currentEvent];
- const int noButton = -1;
- int button = noButton;
- RefPtr<Event> event;
- switch ([nsEvent type]) {
- case NSLeftMouseUp:
- button = 0;
- break;
- case NSRightMouseUp:
- button = 1;
- break;
- case NSOtherMouseUp:
- button = [nsEvent buttonNumber];
- break;
- case NSKeyDown: {
- PlatformKeyboardEvent pe = PlatformEventFactory::createPlatformKeyboardEvent(nsEvent);
- pe.disambiguateKeyDownEvent(PlatformEvent::RawKeyDown);
- event = KeyboardEvent::create(pe, 0);
- }
- default:
- break;
- }
- if (button != noButton) {
- event = MouseEvent::create(eventNames().clickEvent, true, true, currentTime(), 0, [nsEvent clickCount], 0, 0, 0, 0,
- [nsEvent modifierFlags] & NSControlKeyMask,
- [nsEvent modifierFlags] & NSAlternateKeyMask,
- [nsEvent modifierFlags] & NSShiftKeyMask,
- [nsEvent modifierFlags] & NSCommandKeyMask,
- button, 0, 0, true);
- }
-
- // Call to the frame loader because this is where our security checks are made.
- Frame* frame = core([dataSource webFrame]);
- frame->loader()->loadFrameRequest(FrameLoadRequest(frame->document()->securityOrigin(), ResourceRequest(URL)), false, false, event.get(), 0, MaybeSendReferrer);
-}
-
-- (void)PDFViewOpenPDFInNativeApplication:(PDFView *)sender
-{
- // Delegate method sent when the user requests opening the PDF file in the system's default app
- [self _openWithFinder:sender];
-}
-
-- (void)PDFViewPerformPrint:(PDFView *)sender
-{
- CallUIDelegate([self _webView], @selector(webView:printFrameView:), [[dataSource webFrame] frameView]);
-}
-
-- (void)PDFViewSavePDFToDownloadFolder:(PDFView *)sender
-{
- // We don't want to write the file until we have a document to write (see 5267607).
- if (![PDFSubview document]) {
- NSBeep();
- return;
- }
-
- // Delegate method sent when the user requests downloading the PDF file to disk. We pass NO for
- // showingPanel: so that the PDF file is saved to the standard location without user intervention.
- CallUIDelegate([self _webView], @selector(webView:saveFrameView:showingPanel:), [[dataSource webFrame] frameView], NO);
-}
-
-@end
-
-@implementation WebPDFView (FileInternal)
-
-+ (Class)_PDFPreviewViewClass
-{
- static Class PDFPreviewViewClass = nil;
- static BOOL checkedForPDFPreviewViewClass = NO;
-
- if (!checkedForPDFPreviewViewClass) {
- checkedForPDFPreviewViewClass = YES;
- PDFPreviewViewClass = [[WebPDFView PDFKitBundle] classNamed:@"PDFPreviewView"];
- }
-
- // This class might not be available; callers need to deal with a nil return here.
- return PDFPreviewViewClass;
-}
-
-+ (Class)_PDFViewClass
-{
- static Class PDFViewClass = nil;
- if (PDFViewClass == nil) {
- PDFViewClass = [[WebPDFView PDFKitBundle] classNamed:@"PDFView"];
- if (!PDFViewClass)
- LOG_ERROR("Couldn't find PDFView class in PDFKit.framework");
- }
- return PDFViewClass;
-}
-
-- (BOOL)_anyPDFTagsFoundInMenu:(NSMenu *)menu
-{
- NSEnumerator *e = [[menu itemArray] objectEnumerator];
- NSMenuItem *item;
- while ((item = [e nextObject]) != nil) {
- switch ([item tag]) {
- case WebMenuItemTagOpenWithDefaultApplication:
- case WebMenuItemPDFActualSize:
- case WebMenuItemPDFZoomIn:
- case WebMenuItemPDFZoomOut:
- case WebMenuItemPDFAutoSize:
- case WebMenuItemPDFSinglePage:
- case WebMenuItemPDFSinglePageScrolling:
- case WebMenuItemPDFFacingPages:
- case WebMenuItemPDFFacingPagesScrolling:
- case WebMenuItemPDFContinuous:
- case WebMenuItemPDFNextPage:
- case WebMenuItemPDFPreviousPage:
- return YES;
- }
- }
- return NO;
-}
-
-- (void)_applyPDFDefaults
-{
- // Set up default viewing params
- WebPreferences *prefs = [[dataSource _webView] preferences];
- float scaleFactor = [prefs PDFScaleFactor];
- if (scaleFactor == 0)
- [PDFSubview setAutoScales:YES];
- else {
- [PDFSubview setAutoScales:NO];
- [PDFSubview setScaleFactor:scaleFactor];
- }
- [PDFSubview setDisplayMode:[prefs PDFDisplayMode]];
-}
-
-- (BOOL)_canLookUpInDictionary
-{
- return [PDFSubview respondsToSelector:@selector(_searchInDictionary:)];
-}
-
-- (NSClipView *)_clipViewForPDFDocumentView
-{
- NSClipView *clipView = (NSClipView *)[[PDFSubview documentView] _web_superviewOfClass:[NSClipView class]];
- ASSERT(clipView);
- return clipView;
-}
-
-- (NSEvent *)_fakeKeyEventWithFunctionKey:(unichar)functionKey
-{
- // FIXME 4400480: when PDFView implements the standard scrolling selectors that this
- // method is used to mimic, we can eliminate this method and call them directly.
- NSString *keyAsString = [NSString stringWithCharacters:&functionKey length:1];
- return [NSEvent keyEventWithType:NSKeyDown
- location:NSZeroPoint
- modifierFlags:0
- timestamp:0
- windowNumber:0
- context:nil
- characters:keyAsString
- charactersIgnoringModifiers:keyAsString
- isARepeat:NO
- keyCode:0];
-}
-
-- (void)_lookUpInDictionaryFromMenu:(id)sender
-{
- // This method is used by WebKit's context menu item. Here we map to the method that
- // PDFView uses. Since the PDFView method isn't API, and isn't available on all versions
- // of PDFKit, we use performSelector after a respondsToSelector check, rather than calling it directly.
- if ([self _canLookUpInDictionary])
- [PDFSubview performSelector:@selector(_searchInDictionary:) withObject:sender];
-}
-
-- (NSMutableArray *)_menuItemsFromPDFKitForEvent:(NSEvent *)theEvent
-{
- NSMutableArray *copiedItems = [NSMutableArray array];
- NSDictionary *actionsToTags = [[NSDictionary alloc] initWithObjectsAndKeys:
- [NSNumber numberWithInt:WebMenuItemPDFActualSize], NSStringFromSelector(@selector(_setActualSize:)),
- [NSNumber numberWithInt:WebMenuItemPDFZoomIn], NSStringFromSelector(@selector(zoomIn:)),
- [NSNumber numberWithInt:WebMenuItemPDFZoomOut], NSStringFromSelector(@selector(zoomOut:)),
- [NSNumber numberWithInt:WebMenuItemPDFAutoSize], NSStringFromSelector(@selector(_setAutoSize:)),
- [NSNumber numberWithInt:WebMenuItemPDFSinglePage], NSStringFromSelector(@selector(_setSinglePage:)),
- [NSNumber numberWithInt:WebMenuItemPDFSinglePageScrolling], NSStringFromSelector(@selector(_setSinglePageScrolling:)),
- [NSNumber numberWithInt:WebMenuItemPDFFacingPages], NSStringFromSelector(@selector(_setDoublePage:)),
- [NSNumber numberWithInt:WebMenuItemPDFFacingPagesScrolling], NSStringFromSelector(@selector(_setDoublePageScrolling:)),
- [NSNumber numberWithInt:WebMenuItemPDFContinuous], NSStringFromSelector(@selector(_toggleContinuous:)),
- [NSNumber numberWithInt:WebMenuItemPDFNextPage], NSStringFromSelector(@selector(goToNextPage:)),
- [NSNumber numberWithInt:WebMenuItemPDFPreviousPage], NSStringFromSelector(@selector(goToPreviousPage:)),
- nil];
-
- // Leave these menu items out, since WebKit inserts equivalent ones. Note that we leave out PDFKit's "Look Up in Dictionary"
- // item here because WebKit already includes an item with the same title and purpose. We map WebKit's to PDFKit's
- // "Look Up in Dictionary" via the implementation of -[WebPDFView _lookUpInDictionaryFromMenu:].
- NSSet *unwantedActions = [[NSSet alloc] initWithObjects:
- NSStringFromSelector(@selector(_searchInSpotlight:)),
- NSStringFromSelector(@selector(_searchInGoogle:)),
- NSStringFromSelector(@selector(_searchInDictionary:)),
- NSStringFromSelector(@selector(copy:)),
- nil];
-
- NSEnumerator *e = [[[PDFSubview menuForEvent:theEvent] itemArray] objectEnumerator];
- NSMenuItem *item;
- while ((item = [e nextObject]) != nil) {
-
- NSString *actionString = NSStringFromSelector([item action]);
-
- if ([unwantedActions containsObject:actionString])
- continue;
-
- // Copy items since a menu item can be in only one menu at a time, and we don't
- // want to modify the original menu supplied by PDFKit.
- NSMenuItem *itemCopy = [item copy];
- [copiedItems addObject:itemCopy];
- [itemCopy release];
-
- // Include all of PDFKit's separators for now. At the end we'll remove any ones that were made
- // useless by removing PDFKit's menu items.
- if ([itemCopy isSeparatorItem])
- continue;
-
- NSNumber *tagNumber = [actionsToTags objectForKey:actionString];
-
- int tag;
- if (tagNumber != nil)
- tag = [tagNumber intValue];
- else {
- // This should happen only if PDFKit updates behind WebKit's back. It's non-ideal because clients that only include tags
- // that they recognize (like Safari) won't get these PDFKit additions until WebKit is updated to match.
- tag = WebMenuItemTagOther;
- LOG_ERROR("no WebKit menu item tag found for PDF context menu item action \"%@\", using WebMenuItemTagOther", actionString);
- }
-
- if ([itemCopy tag] == 0) {
- [itemCopy setTag:tag];
- if ([itemCopy target] == PDFSubview) {
- // Note that updating the defaults is cheap because it catches redundant settings, so installing
- // the proxy for actions that don't impact the defaults is OK
- [itemCopy setTarget:PDFSubviewProxy];
- }
- } else
- LOG_ERROR("PDF context menu item %@ came with tag %d, so no WebKit tag was applied. This could mean that the item doesn't appear in clients such as Safari.", [itemCopy title], [itemCopy tag]);
- }
-
- [actionsToTags release];
- [unwantedActions release];
-
- // Since we might have removed elements supplied by PDFKit, and we want to minimize our hardwired
- // knowledge of the order and arrangement of PDFKit's menu items, we need to remove any bogus
- // separators that were left behind.
- [copiedItems _webkit_removeUselessMenuItemSeparators];
-
- return copiedItems;
-}
-
-- (PDFSelection *)_nextMatchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag fromSelection:(PDFSelection *)initialSelection startInSelection:(BOOL)startInSelection
-{
- if (![string length])
- return nil;
-
- int options = 0;
- if (!forward)
- options |= NSBackwardsSearch;
-
- if (!caseFlag)
- options |= NSCaseInsensitiveSearch;
-
- PDFDocument *document = [PDFSubview document];
-
- PDFSelection *selectionForInitialSearch = [initialSelection copy];
- if (startInSelection) {
- // Initially we want to include the selected text in the search. PDFDocument's API always searches from just
- // past the passed-in selection, so we need to pass a selection that's modified appropriately.
- // FIXME 4182863: Ideally we'd use a zero-length selection at the edge of the current selection, but zero-length
- // selections don't work in PDFDocument. So instead we make a one-length selection just before or after the
- // current selection, which works for our purposes even when the current selection is at an edge of the
- // document.
- int initialSelectionLength = [[initialSelection string] length];
- if (forward) {
- [selectionForInitialSearch extendSelectionAtStart:1];
- [selectionForInitialSearch extendSelectionAtEnd:-initialSelectionLength];
- } else {
- [selectionForInitialSearch extendSelectionAtEnd:1];
- [selectionForInitialSearch extendSelectionAtStart:-initialSelectionLength];
- }
- }
- PDFSelection *foundSelection = [document findString:string fromSelection:selectionForInitialSearch withOptions:options];
- [selectionForInitialSearch release];
-
- // If we first searched in the selection, and we found the selection, search again from just past the selection
- if (startInSelection && _PDFSelectionsAreEqual(foundSelection, initialSelection))
- foundSelection = [document findString:string fromSelection:initialSelection withOptions:options];
-
- if (!foundSelection && wrapFlag)
- foundSelection = [document findString:string fromSelection:nil withOptions:options];
-
- return foundSelection;
-}
-
-- (void)_openWithFinder:(id)sender
-{
- // We don't want to write the file until we have a document to write (see 4892525).
- if (![PDFSubview document]) {
- NSBeep();
- return;
- }
-
- NSString *opath = [self _path];
-
- if (opath) {
- if (!written) {
- // Create a PDF file with the minimal permissions (only accessible to the current user, see 4145714)
- NSNumber *permissions = [[NSNumber alloc] initWithInt:S_IRUSR];
- NSDictionary *fileAttributes = [[NSDictionary alloc] initWithObjectsAndKeys:permissions, NSFilePosixPermissions, nil];
- [permissions release];
-
- [[NSFileManager defaultManager] createFileAtPath:opath contents:[dataSource data] attributes:fileAttributes];
-
- [fileAttributes release];
- written = YES;
- }
-
- if (![[NSWorkspace sharedWorkspace] openFile:opath]) {
- // NSWorkspace couldn't open file. Do we need an alert
- // here? We ignore the error elsewhere.
- }
- }
-}
-
-- (NSString *)_path
-{
- // Generate path once.
- if (path)
- return path;
-
- NSString *filename = [[dataSource response] suggestedFilename];
- NSFileManager *manager = [NSFileManager defaultManager];
- NSString *temporaryPDFDirectoryPath = [self _temporaryPDFDirectoryPath];
-
- if (!temporaryPDFDirectoryPath) {
- // This should never happen; if it does we'll fail silently on non-debug builds.
- ASSERT_NOT_REACHED();
- return nil;
- }
-
- path = [temporaryPDFDirectoryPath stringByAppendingPathComponent:filename];
- if ([manager fileExistsAtPath:path]) {
- NSString *pathTemplatePrefix = [temporaryPDFDirectoryPath stringByAppendingPathComponent:@"XXXXXX-"];
- NSString *pathTemplate = [pathTemplatePrefix stringByAppendingString:filename];
- // fileSystemRepresentation returns a const char *; copy it into a char * so we can modify it safely
- char *cPath = strdup([pathTemplate fileSystemRepresentation]);
- int fd = mkstemps(cPath, strlen(cPath) - strlen([pathTemplatePrefix fileSystemRepresentation]) + 1);
- if (fd < 0) {
- // Couldn't create a temporary file! Should never happen; if it does we'll fail silently on non-debug builds.
- ASSERT_NOT_REACHED();
- path = nil;
- } else {
- close(fd);
- path = [manager stringWithFileSystemRepresentation:cPath length:strlen(cPath)];
- }
- free(cPath);
- }
-
- [path retain];
-
- return path;
-}
-
-- (void)_PDFDocumentViewMightHaveScrolled:(NSNotification *)notification
-{
- NSClipView *clipView = [self _clipViewForPDFDocumentView];
- ASSERT([notification object] == clipView);
-
- NSPoint scrollPosition = [clipView bounds].origin;
- if (NSEqualPoints(scrollPosition, lastScrollPosition))
- return;
-
- lastScrollPosition = scrollPosition;
- WebView *webView = [self _webView];
- [[webView _UIDelegateForwarder] webView:webView didScrollDocumentInFrameView:[[dataSource webFrame] frameView]];
-}
-
-- (PDFView *)_PDFSubview
-{
- return PDFSubview;
-}
-
-- (BOOL)_pointIsInSelection:(NSPoint)point
-{
- PDFPage *page = [PDFSubview pageForPoint:point nearest:NO];
- if (!page)
- return NO;
-
- NSRect selectionRect = [PDFSubview convertRect:[[PDFSubview currentSelection] boundsForPage:page] fromPage:page];
-
- return NSPointInRect(point, selectionRect);
-}
-
-- (void)_scaleOrDisplayModeOrPageChanged:(NSNotification *)notification
-{
- ASSERT([notification object] == PDFSubview);
- if (!_ignoreScaleAndDisplayModeAndPageNotifications) {
- [self _updatePreferencesSoon];
- // Notify UI delegate that the entire page has been redrawn, since (unlike for WebHTMLView)
- // we can't hook into the drawing mechanism itself. This fixes 5337529.
- WebView *webView = [self _webView];
- [[webView _UIDelegateForwarder] webView:webView didDrawRect:[webView bounds]];
- }
-}
-
-- (NSAttributedString *)_scaledAttributedString:(NSAttributedString *)unscaledAttributedString
-{
- if (!unscaledAttributedString)
- return nil;
-
- float scaleFactor = [PDFSubview scaleFactor];
- if (scaleFactor == 1.0)
- return unscaledAttributedString;
-
- NSMutableAttributedString *result = [[unscaledAttributedString mutableCopy] autorelease];
- unsigned int length = [result length];
- NSRange effectiveRange = NSMakeRange(0,0);
-
- [result beginEditing];
- while (NSMaxRange(effectiveRange) < length) {
- NSFont *unscaledFont = [result attribute:NSFontAttributeName atIndex:NSMaxRange(effectiveRange) effectiveRange:&effectiveRange];
-
- if (!unscaledFont) {
- // FIXME: We can't scale the font if we don't know what it is. We should always know what it is,
- // but sometimes don't due to PDFKit issue 5089411. When that's addressed, we can remove this
- // early continue.
- LOG_ERROR("no font attribute found in range %@ for attributed string \"%@\" on page %@ (see radar 5089411)", NSStringFromRange(effectiveRange), result, [[dataSource request] URL]);
- continue;
- }
-
- NSFont *scaledFont = [NSFont fontWithName:[unscaledFont fontName] size:[unscaledFont pointSize]*scaleFactor];
- [result addAttribute:NSFontAttributeName value:scaledFont range:effectiveRange];
- }
- [result endEditing];
-
- return result;
-}
-
-- (void)_setTextMatches:(NSArray *)array
-{
- [array retain];
- [textMatches release];
- textMatches = array;
-}
-
-- (NSString *)_temporaryPDFDirectoryPath
-{
- // Returns nil if the temporary PDF directory didn't exist and couldn't be created
-
- static NSString *_temporaryPDFDirectoryPath = nil;
-
- if (!_temporaryPDFDirectoryPath) {
- NSString *temporaryDirectoryTemplate = [NSTemporaryDirectory() stringByAppendingPathComponent:@"WebKitPDFs-XXXXXX"];
- char *cTemplate = strdup([temporaryDirectoryTemplate fileSystemRepresentation]);
-
- if (!mkdtemp(cTemplate)) {
- // This should never happen; if it does we'll fail silently on non-debug builds.
- ASSERT_NOT_REACHED();
- } else {
- // cTemplate has now been modified to be the just-created directory name. This directory has 700 permissions,
- // so only the current user can add to it or view its contents.
- _temporaryPDFDirectoryPath = [[[NSFileManager defaultManager] stringWithFileSystemRepresentation:cTemplate length:strlen(cTemplate)] retain];
- }
-
- free(cTemplate);
- }
-
- return _temporaryPDFDirectoryPath;
-}
-
-- (void)_trackFirstResponder
-{
- ASSERT([self window]);
- BOOL newFirstResponderIsPDFDocumentView = [[self window] firstResponder] == [PDFSubview documentView];
- if (newFirstResponderIsPDFDocumentView == firstResponderIsPDFDocumentView)
- return;
-
- // This next clause is the entire purpose of _trackFirstResponder. In other WebDocument
- // view classes this is done in a resignFirstResponder override, but in this case the
- // first responder view is a PDFKit class that we can't subclass.
- if (newFirstResponderIsPDFDocumentView && ![[dataSource _webView] maintainsInactiveSelection])
- [self deselectAll];
-
- firstResponderIsPDFDocumentView = newFirstResponderIsPDFDocumentView;
-}
-
-- (void)_updatePreferences:(WebPreferences *)prefs
-{
- float scaleFactor = [PDFSubview autoScales] ? 0.0f : [PDFSubview scaleFactor];
- [prefs setPDFScaleFactor:scaleFactor];
- [prefs setPDFDisplayMode:[PDFSubview displayMode]];
- _willUpdatePreferencesSoon = NO;
- [prefs release];
- [self release];
-}
-
-- (void)_updatePreferencesSoon
-{
- // Consolidate calls; due to the WebPDFPrefUpdatingProxy method, this can be called multiple times with a single user action
- // such as showing the context menu.
- if (_willUpdatePreferencesSoon)
- return;
-
- WebPreferences *prefs = [[dataSource _webView] preferences];
-
- [self retain];
- [prefs retain];
- [self performSelector:@selector(_updatePreferences:) withObject:prefs afterDelay:0];
- _willUpdatePreferencesSoon = YES;
-}
-
-- (NSSet *)_visiblePDFPages
-{
- // Returns the set of pages that are at least partly visible, used to avoid processing non-visible pages
- PDFDocument *pdfDocument = [PDFSubview document];
- if (!pdfDocument)
- return nil;
-
- NSRect pdfViewBounds = [PDFSubview bounds];
- PDFPage *topLeftPage = [PDFSubview pageForPoint:NSMakePoint(NSMinX(pdfViewBounds), NSMaxY(pdfViewBounds)) nearest:YES];
- PDFPage *bottomRightPage = [PDFSubview pageForPoint:NSMakePoint(NSMaxX(pdfViewBounds), NSMinY(pdfViewBounds)) nearest:YES];
-
- // only page-free documents should return nil for either of these two since we passed YES for nearest:
- if (!topLeftPage) {
- ASSERT(!bottomRightPage);
- return nil;
- }
-
- NSUInteger firstVisiblePageIndex = [pdfDocument indexForPage:topLeftPage];
- NSUInteger lastVisiblePageIndex = [pdfDocument indexForPage:bottomRightPage];
-
- if (firstVisiblePageIndex > lastVisiblePageIndex) {
- NSUInteger swap = firstVisiblePageIndex;
- firstVisiblePageIndex = lastVisiblePageIndex;
- lastVisiblePageIndex = swap;
- }
-
- NSMutableSet *result = [NSMutableSet set];
- NSUInteger pageIndex;
- for (pageIndex = firstVisiblePageIndex; pageIndex <= lastVisiblePageIndex; ++pageIndex)
- [result addObject:[pdfDocument pageAtIndex:pageIndex]];
-
- return result;
-}
-
-@end
-
-@implementation WebPDFPrefUpdatingProxy
-
-- (id)initWithView:(WebPDFView *)aView
-{
- // No [super init], since we inherit from NSProxy
- view = aView;
- return self;
-}
-
-- (void)forwardInvocation:(NSInvocation *)invocation
-{
- [invocation invokeWithTarget:[view _PDFSubview]];
- [view _updatePreferencesSoon];
-}
-
-- (NSMethodSignature *)methodSignatureForSelector:(SEL)sel
-{
- return [[view _PDFSubview] methodSignatureForSelector:sel];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebPolicyDelegate.h b/Source/WebKit/mac/WebView/WebPolicyDelegate.h
deleted file mode 100644
index 01d084344..000000000
--- a/Source/WebKit/mac/WebView/WebPolicyDelegate.h
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright (C) 2003, 2004, 2005, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-@class NSError;
-@class NSURLResponse;
-@class NSURLRequest;
-@class WebView;
-@class WebFrame;
-@class WebPolicyPrivate;
-
-/*!
- @enum WebNavigationType
- @abstract The type of action that triggered a possible navigation.
- @constant WebNavigationTypeLinkClicked A link with an href was clicked.
- @constant WebNavigationTypeFormSubmitted A form was submitted.
- @constant WebNavigationTypeBackForward The user chose back or forward.
- @constant WebNavigationTypeReload The User hit the reload button.
- @constant WebNavigationTypeFormResubmitted A form was resubmitted (by virtue of doing back, forward or reload).
- @constant WebNavigationTypeOther Navigation is taking place for some other reason.
-*/
-
-typedef enum {
- WebNavigationTypeLinkClicked,
- WebNavigationTypeFormSubmitted,
- WebNavigationTypeBackForward,
- WebNavigationTypeReload,
- WebNavigationTypeFormResubmitted,
- WebNavigationTypeOther
-} WebNavigationType;
-
-extern NSString *WebActionNavigationTypeKey; // NSNumber (WebNavigationType)
-extern NSString *WebActionElementKey; // NSDictionary of element info
-extern NSString *WebActionButtonKey; // NSNumber (0 for left button, 1 for middle button, 2 for right button)
-extern NSString *WebActionModifierFlagsKey; // NSNumber (unsigned)
-extern NSString *WebActionOriginalURLKey; // NSURL
-
-/*!
- @protocol WebPolicyDecisionListener
- @discussion This protocol is used to call back with the results of a
- policy decision. This provides the ability to make these decisions
- asyncrhonously, which means the decision can be made by prompting
- with a sheet, for example.
-*/
-
-@protocol WebPolicyDecisionListener <NSObject>
-
-/*!
- @method use
- @abstract Use the resource
- @discussion If there remain more policy decisions to be made, then
- the next policy delegate method gets to decide. This will be
- either the next navigation policy delegate if there is a redirect,
- or the content policy delegate. If there are no more policy
- decisions to be made, the resource will be displayed inline if
- possible. If there is no view available to display the resource
- inline, then unableToImplementPolicyWithError:frame: will be
- called with an appropriate error.
-
- <p>If a new window is going to be created for this navigation as a
- result of frame targetting, then it will be created once you call
- this method.
-*/
-- (void)use;
-/*!
- @method download
- @abstract Download the resource instead of displaying it.
- @discussion This method is more than just a convenience because it
- allows an in-progress navigation to be converted to a download
- based on content type, without having to stop and restart the
- load.
-*/
-- (void)download;
-
-/*!
- @method ignore
- @abstract Do nothing (but the client may choose to handle the request itself)
- @discussion A policy of ignore prevents WebKit from doing anything
- further with the load, however, the client is still free to handle
- the request in some other way, such as opening a new window,
- opening a new window behind the current one, opening the URL in an
- external app, revealing the location in Finder if a file URL, etc.
-*/
-- (void)ignore;
-
-@end
-
-
-/*!
- @category WebPolicyDelegate
- @discussion While loading a URL, WebKit asks the WebPolicyDelegate for
- policies that determine the action of what to do with the URL or the data that
- the URL represents. Typically, the policy handler methods are called in this order:
-
- decidePolicyForNewWindowAction:request:newFrameName:decisionListener: (at most once)<BR>
- decidePolicyForNavigationAction:request:frame:decisionListener: (zero or more times)<BR>
- decidePolicyForMIMEType:request:frame: (zero or more times)<BR>
-
- New window policy is always checked. Navigation policy is checked
- for the initial load and every redirect unless blocked by an
- earlier policy. Content policy is checked once the content type is
- known, unless an earlier policy prevented it.
-
- In rare cases, content policy might be checked more than
- once. This occurs when loading a "multipart/x-mixed-replace"
- document, also known as "server push". In this case, multiple
- documents come in one navigation, with each replacing the last. In
- this case, conent policy will be checked for each one.
-*/
-@interface NSObject (WebPolicyDelegate)
-
-/*!
- @method webView:decidePolicyForNavigationAction:request:frame:decisionListener:
- @abstract This method is called to decide what to do with a proposed navigation.
- @param actionInformation Dictionary that describes the action that triggered this navigation.
- @param request The request for the proposed navigation
- @param frame The WebFrame in which the navigation is happening
- @param listener The object to call when the decision is made
- @discussion This method will be called before loading starts, and
- on every redirect.
-*/
-- (void)webView:(WebView *)webView decidePolicyForNavigationAction:(NSDictionary *)actionInformation
- request:(NSURLRequest *)request
- frame:(WebFrame *)frame
- decisionListener:(id<WebPolicyDecisionListener>)listener;
-
-/*!
- @method webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:
- @discussion This method is called to decide what to do with an targetted nagivation that would open a new window.
- @param actionInformation Dictionary that describes the action that triggered this navigation.
- @param request The request for the proposed navigation
- @param frame The frame in which the navigation is taking place
- @param listener The object to call when the decision is made
- @discussion This method is provided so that modified clicks on a targetted link which
- opens a new frame can prevent the new window from being opened if they decide to
- do something else, like download or present the new frame in a specialized way.
-
- <p>If this method picks a policy of Use, the new window will be
- opened, and decidePolicyForNavigationAction:request:frame:decisionListner:
- will be called with a WebNavigationType of WebNavigationTypeOther
- in its action. This is to avoid possible confusion about the modifiers.
-*/
-- (void)webView:(WebView *)webView decidePolicyForNewWindowAction:(NSDictionary *)actionInformation
- request:(NSURLRequest *)request
- newFrameName:(NSString *)frameName
- decisionListener:(id<WebPolicyDecisionListener>)listener;
-
-/*!
- @method webView:decidePolicyForMIMEType:request:frame:
- @discussion Returns the policy for content which has been partially loaded.
- Sent after webView:didStartProvisionalLoadForFrame: is sent on the WebFrameLoadDelegate.
- @param type MIME type for the resource.
- @param request A NSURLRequest for the partially loaded content.
- @param frame The frame which is loading the URL.
- @param listener The object to call when the decision is made
-*/
-- (void)webView:(WebView *)webView decidePolicyForMIMEType:(NSString *)type
- request:(NSURLRequest *)request
- frame:(WebFrame *)frame
- decisionListener:(id<WebPolicyDecisionListener>)listener;
-
-/*!
- @method webView:unableToImplementPolicy:error:forURL:inFrame:
- @discussion Called when a WebPolicy could not be implemented. It is up to the client to display appropriate feedback.
- @param policy The policy that could not be implemented.
- @param error The error that caused the policy to not be implemented.
- @param URL The URL of the resource for which a particular action was requested but failed.
- @param frame The frame in which the policy could not be implemented.
-*/
-- (void)webView:(WebView *)webView unableToImplementPolicyWithError:(NSError *)error frame:(WebFrame *)frame;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebPolicyDelegate.mm b/Source/WebKit/mac/WebView/WebPolicyDelegate.mm
deleted file mode 100644
index 409db69a3..000000000
--- a/Source/WebKit/mac/WebView/WebPolicyDelegate.mm
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebPolicyDelegatePrivate.h"
-
-#import <WebCore/FrameLoaderTypes.h>
-#import <wtf/ObjcRuntimeExtras.h>
-
-using namespace WebCore;
-
-NSString *WebActionButtonKey = @"WebActionButtonKey";
-NSString *WebActionElementKey = @"WebActionElementKey";
-NSString *WebActionFormKey = @"WebActionFormKey";
-NSString *WebActionModifierFlagsKey = @"WebActionModifierFlagsKey";
-NSString *WebActionNavigationTypeKey = @"WebActionNavigationTypeKey";
-NSString *WebActionOriginalURLKey = @"WebActionOriginalURLKey";
-
-@interface WebPolicyDecisionListenerPrivate : NSObject
-{
-@public
- id target;
- SEL action;
-}
-
-- (id)initWithTarget:(id)target action:(SEL)action;
-
-@end
-
-@implementation WebPolicyDecisionListenerPrivate
-
-- (id)initWithTarget:(id)t action:(SEL)a
-{
- self = [super init];
- if (!self)
- return nil;
- target = [t retain];
- action = a;
- return self;
-}
-
-- (void)dealloc
-{
- [target release];
- [super dealloc];
-}
-
-@end
-
-@implementation WebPolicyDecisionListener
-
-- (id)_initWithTarget:(id)target action:(SEL)action
-{
- self = [super init];
- if (!self)
- return nil;
- _private = [[WebPolicyDecisionListenerPrivate alloc] initWithTarget:target action:action];
- return self;
-}
-
--(void)dealloc
-{
- [_private release];
- [super dealloc];
-}
-
-- (void)_usePolicy:(PolicyAction)policy
-{
- if (_private->target)
- wtfObjcMsgSend<void>(_private->target, _private->action, policy);
-}
-
-- (void)_invalidate
-{
- id target = _private->target;
- _private->target = nil;
- [target release];
-}
-
-// WebPolicyDecisionListener implementation
-
-- (void)use
-{
- [self _usePolicy:PolicyUse];
-}
-
-- (void)ignore
-{
- [self _usePolicy:PolicyIgnore];
-}
-
-- (void)download
-{
- [self _usePolicy:PolicyDownload];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebPolicyDelegatePrivate.h b/Source/WebKit/mac/WebView/WebPolicyDelegatePrivate.h
deleted file mode 100644
index 45f8f4533..000000000
--- a/Source/WebKit/mac/WebView/WebPolicyDelegatePrivate.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2005, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebPolicyDelegate.h>
-
-@class WebHistoryItem;
-@class WebPolicyDecisionListenerPrivate;
-
-extern NSString *WebActionFormKey; // HTMLFormElement
-
-typedef enum {
- WebNavigationTypePlugInRequest = WebNavigationTypeOther + 1
-} WebExtraNavigationType;
-
-@interface WebPolicyDecisionListener : NSObject <WebPolicyDecisionListener>
-{
-@private
- WebPolicyDecisionListenerPrivate *_private;
-}
-- (id)_initWithTarget:(id)target action:(SEL)action;
-- (void)_invalidate;
-@end
-
-@interface NSObject (WebPolicyDelegatePrivate)
-// Needed for <rdar://problem/3951283> can view pages from the back/forward cache that should be disallowed by Parental Controls
-- (BOOL)webView:(WebView *)webView shouldGoToHistoryItem:(WebHistoryItem *)item;
-@end
diff --git a/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h b/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
deleted file mode 100644
index 1507c05f4..000000000
--- a/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (C) 2005, 2012 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-// These are private because callers should be using the cover methods. They are in
-// a Private (as opposed to Internal) header file because Safari uses some of them
-// for managed preferences.
-#define WebKitLogLevelPreferenceKey @"WebKitLogLevel"
-#define WebKitStandardFontPreferenceKey @"WebKitStandardFont"
-#define WebKitFixedFontPreferenceKey @"WebKitFixedFont"
-#define WebKitSerifFontPreferenceKey @"WebKitSerifFont"
-#define WebKitSansSerifFontPreferenceKey @"WebKitSansSerifFont"
-#define WebKitCursiveFontPreferenceKey @"WebKitCursiveFont"
-#define WebKitFantasyFontPreferenceKey @"WebKitFantasyFont"
-#define WebKitPictographFontPreferenceKey @"WebKitPictographFont"
-#define WebKitMinimumFontSizePreferenceKey @"WebKitMinimumFontSize"
-#define WebKitMinimumLogicalFontSizePreferenceKey @"WebKitMinimumLogicalFontSize"
-#define WebKitDefaultFontSizePreferenceKey @"WebKitDefaultFontSize"
-#define WebKitDefaultFixedFontSizePreferenceKey @"WebKitDefaultFixedFontSize"
-#define WebKitDefaultTextEncodingNamePreferenceKey @"WebKitDefaultTextEncodingName"
-#define WebKitUsesEncodingDetectorPreferenceKey @"WebKitUsesEncodingDetector"
-#define WebKitUserStyleSheetEnabledPreferenceKey @"WebKitUserStyleSheetEnabledPreferenceKey"
-#define WebKitUserStyleSheetLocationPreferenceKey @"WebKitUserStyleSheetLocationPreferenceKey"
-#define WebKitShouldPrintBackgroundsPreferenceKey @"WebKitShouldPrintBackgroundsPreferenceKey"
-#define WebKitTextAreasAreResizablePreferenceKey @"WebKitTextAreasAreResizable"
-#define WebKitShrinksStandaloneImagesToFitPreferenceKey @"WebKitShrinksStandaloneImagesToFit"
-#define WebKitJavaEnabledPreferenceKey @"WebKitJavaEnabled"
-#define WebKitJavaScriptEnabledPreferenceKey @"WebKitJavaScriptEnabled"
-#define WebKitWebSecurityEnabledPreferenceKey @"WebKitWebSecurityEnabled"
-#define WebKitAllowUniversalAccessFromFileURLsPreferenceKey @"WebKitAllowUniversalAccessFromFileURLs"
-#define WebKitAllowFileAccessFromFileURLsPreferenceKey @"WebKitAllowFileAccessFromFileURLs"
-#define WebKitJavaScriptCanOpenWindowsAutomaticallyPreferenceKey @"WebKitJavaScriptCanOpenWindowsAutomatically"
-#define WebKitPluginsEnabledPreferenceKey @"WebKitPluginsEnabled"
-#define WebKitDatabasesEnabledPreferenceKey @"WebKitDatabasesEnabledPreferenceKey"
-#define WebKitLocalStorageEnabledPreferenceKey @"WebKitLocalStorageEnabledPreferenceKey"
-#define WebKitExperimentalNotificationsEnabledPreferenceKey @"WebKitExperimentalNotificationsEnabledPreferenceKey"
-#define WebKitAllowAnimatedImagesPreferenceKey @"WebKitAllowAnimatedImagesPreferenceKey"
-#define WebKitAllowAnimatedImageLoopingPreferenceKey @"WebKitAllowAnimatedImageLoopingPreferenceKey"
-#define WebKitDisplayImagesKey @"WebKitDisplayImagesKey"
-#define WebKitLoadSiteIconsKey @"WebKitLoadSiteIconsKey"
-#define WebKitBackForwardCacheExpirationIntervalKey @"WebKitBackForwardCacheExpirationIntervalKey"
-#define WebKitTabToLinksPreferenceKey @"WebKitTabToLinksPreferenceKey"
-#define WebKitPrivateBrowsingEnabledPreferenceKey @"WebKitPrivateBrowsingEnabled"
-#define WebSmartInsertDeleteEnabled @"WebSmartInsertDeleteEnabled"
-#define WebContinuousSpellCheckingEnabled @"WebContinuousSpellCheckingEnabled"
-#define WebGrammarCheckingEnabled @"WebGrammarCheckingEnabled"
-#define WebAutomaticQuoteSubstitutionEnabled @"WebAutomaticQuoteSubstitutionEnabled"
-#define WebAutomaticLinkDetectionEnabled @"WebAutomaticLinkDetectionEnabled"
-#define WebAutomaticDashSubstitutionEnabled @"WebAutomaticDashSubstitutionEnabled"
-#define WebAutomaticTextReplacementEnabled @"WebAutomaticTextReplacementEnabled"
-#define WebAutomaticSpellingCorrectionEnabled @"WebAutomaticSpellingCorrectionEnabled"
-#define WebKitDOMPasteAllowedPreferenceKey @"WebKitDOMPasteAllowedPreferenceKey"
-#define WebKitUsesPageCachePreferenceKey @"WebKitUsesPageCachePreferenceKey"
-#define WebKitPageCacheSupportsPluginsPreferenceKey @"WebKitPageCacheSupportsPluginsPreferenceKey"
-#define WebKitFTPDirectoryTemplatePath @"WebKitFTPDirectoryTemplatePath"
-#define WebKitForceFTPDirectoryListings @"WebKitForceFTPDirectoryListings"
-#define WebKitDeveloperExtrasEnabledPreferenceKey @"WebKitDeveloperExtrasEnabledPreferenceKey"
-#define WebKitJavaScriptExperimentsEnabledPreferenceKey @"WebKitJavaScriptExperimentsEnabledPreferenceKey"
-#define WebKitAuthorAndUserStylesEnabledPreferenceKey @"WebKitAuthorAndUserStylesEnabledPreferenceKey"
-#define WebKitApplicationChromeModeEnabledPreferenceKey @"WebKitApplicationChromeModeEnabledPreferenceKey"
-#define WebKitWebArchiveDebugModeEnabledPreferenceKey @"WebKitWebArchiveDebugModeEnabledPreferenceKey"
-#define WebKitLocalFileContentSniffingEnabledPreferenceKey @"WebKitLocalFileContentSniffingEnabledPreferenceKey"
-#define WebKitLocalStorageDatabasePathPreferenceKey @"WebKitLocalStorageDatabasePathPreferenceKey"
-#define WebKitEnableFullDocumentTeardownPreferenceKey @"WebKitEnableFullDocumentTeardown"
-#define WebKitOfflineWebApplicationCacheEnabledPreferenceKey @"WebKitOfflineWebApplicationCacheEnabled"
-#define WebKitApplicationCacheTotalQuota @"WebKitApplicationCacheTotalQuota"
-#define WebKitApplicationCacheDefaultOriginQuota @"WebKitApplicationCacheDefaultOriginQuota"
-#define WebKitZoomsTextOnlyPreferenceKey @"WebKitZoomsTextOnly"
-#define WebKitJavaScriptCanAccessClipboardPreferenceKey @"WebKitJavaScriptCanAccessClipboard"
-#define WebKitXSSAuditorEnabledPreferenceKey @"WebKitXSSAuditorEnabled"
-#define WebKitAcceleratedDrawingEnabledPreferenceKey @"WebKitAcceleratedDrawingEnabled"
-#define WebKitCanvasUsesAcceleratedDrawingPreferenceKey @"WebKitCanvasUsesAcceleratedDrawing"
-#define WebKitAcceleratedCompositingEnabledPreferenceKey @"WebKitAcceleratedCompositingEnabled"
-#define WebKitCSSCustomFilterEnabledPreferenceKey @"WebKitCSSCustomFilterEnabled"
-#define WebKitCSSRegionsEnabledPreferenceKey @"WebKitCSSRegionsEnabled"
-#define WebKitCSSCompositingEnabledPreferenceKey @"WebKitCSSCompositingEnabled"
-#define WebKitCSSGridLayoutEnabledPreferenceKey @"WebKitCSSGridLayoutEnabled"
-#define WebKitShowDebugBordersPreferenceKey @"WebKitShowDebugBorders"
-#define WebKitShowRepaintCounterPreferenceKey @"WebKitShowRepaintCounter"
-#define WebKitWebAudioEnabledPreferenceKey @"WebKitWebAudioEnabled"
-#define WebKitWebGLEnabledPreferenceKey @"WebKitWebGLEnabled"
-#define WebKitAccelerated2dCanvasEnabledPreferenceKey @"WebKitAccelerated2dCanvasEnabled"
-#define WebKitFrameFlatteningEnabledPreferenceKey @"WebKitFrameFlatteningEnabled"
-#define WebKitSpatialNavigationEnabledPreferenceKey @"WebKitSpatialNavigationEnabled"
-#define WebKitPaginateDuringLayoutEnabledPreferenceKey @"WebKitPaginateDuringLayoutEnabled"
-#define WebKitDNSPrefetchingEnabledPreferenceKey @"WebKitDNSPrefetchingEnabled"
-#define WebKitFullScreenEnabledPreferenceKey @"WebKitFullScreenEnabled"
-#define WebKitAsynchronousSpellCheckingEnabledPreferenceKey @"WebKitAsynchronousSpellCheckingEnabled"
-#define WebKitHyperlinkAuditingEnabledPreferenceKey @"WebKitHyperlinkAuditingEnabled"
-#define WebKitAVFoundationEnabledKey @"WebKitAVFoundationEnabled"
-#define WebKitHixie76WebSocketProtocolEnabledKey @"WebKitHixie76WebSocketProtocolEnabled"
-#define WebKitMediaPlaybackRequiresUserGesturePreferenceKey @"WebKitMediaPlaybackRequiresUserGesture"
-#define WebKitMediaPlaybackAllowsInlinePreferenceKey @"WebKitMediaPlaybackAllowsInline"
-#define WebKitMockScrollbarsEnabledPreferenceKey @"WebKitMockScrollbarsEnabled"
-#define WebKitSeamlessIFramesEnabledPreferenceKey @"WebKitSeamlessIFramesEnabled"
-#define WebKitShouldDisplaySubtitlesPreferenceKey @"WebKitShouldDisplaySubtitles"
-#define WebKitShouldDisplayCaptionsPreferenceKey @"WebKitShouldDisplayCaptions"
-#define WebKitShouldDisplayTextDescriptionsPreferenceKey @"WebKitShouldDisplayTextDescriptions"
-#define WebKitNotificationsEnabledKey @"WebKitNotificationsEnabled"
-#define WebKitSuppressesIncrementalRenderingKey @"WebKitSuppressesIncrementalRendering"
-#define WebKitRegionBasedColumnsEnabledKey @"WebKitRegionBasedColumnsEnabled"
-#define WebKitShouldRespectImageOrientationKey @"WebKitShouldRespectImageOrientation"
-#define WebKitRequestAnimationFrameEnabledPreferenceKey @"WebKitRequestAnimationFrameEnabled"
-#define WebKitDiagnosticLoggingEnabledKey @"WebKitDiagnosticLoggingEnabled"
-#define WebKitScreenFontSubstitutionEnabledKey @"WebKitScreenFontSubstitutionEnabled"
-#define WebKitStorageBlockingPolicyKey @"WebKitStorageBlockingPolicy"
-#define WebKitPlugInSnapshottingEnabledPreferenceKey @"WebKitPlugInSnapshottingEnabled"
-#define WebKitQTKitEnabledPreferenceKey @"WebKitQTKitEnabled"
-#define WebKitHiddenPageDOMTimerThrottlingEnabledPreferenceKey @"WebKitHiddenPageDOMTimerThrottlingEnabled"
-#define WebKitHiddenPageCSSAnimationSuspensionEnabledPreferenceKey @"WebKitHiddenPageCSSAnimationSuspensionEnabled"
-#define WebKitLowPowerVideoAudioBufferSizeEnabledPreferenceKey @"WebKitLowPowerVideoAudioBufferSizeEnabled"
-
-// These are private both because callers should be using the cover methods and because the
-// cover methods themselves are private.
-#define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey @"WebKitRespectStandardStyleKeyEquivalents"
-#define WebKitShowsURLsInToolTipsPreferenceKey @"WebKitShowsURLsInToolTips"
-#define WebKitShowsToolTipOverTruncatedTextPreferenceKey @"WebKitShowsToolTipOverTruncatedText"
-#define WebKitPDFDisplayModePreferenceKey @"WebKitPDFDisplayMode"
-#define WebKitPDFScaleFactorPreferenceKey @"WebKitPDFScaleFactor"
-#define WebKitUseSiteSpecificSpoofingPreferenceKey @"WebKitUseSiteSpecificSpoofing"
-#define WebKitEditableLinkBehaviorPreferenceKey @"WebKitEditableLinkBehavior"
-#define WebKitCacheModelPreferenceKey @"WebKitCacheModelPreferenceKey"
-#define WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey @"WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey"
-#define WebKitUsePreHTML5ParserQuirksKey @"WebKitUsePreHTML5ParserQuirks"
-#define WebKitBackspaceKeyNavigationEnabledKey @"WebKitBackspaceKeyNavigationEnabled"
-#define WebKitIncrementalRenderingSuppressionTimeoutInSecondsKey @"WebKitIncrementalRenderingSuppressionTimeoutInSeconds"
-#define WebKitWantsBalancedSetDefersLoadingBehaviorKey @"WebKitWantsBalancedSetDefersLoadingBehavior"
-
-// CoreGraphics deferred updates are disabled if WebKitEnableCoalescedUpdatesPreferenceKey is set
-// to NO, or has no value. For compatibility with Mac OS X 10.4.6, deferred updates are OFF by
-// default.
-#define WebKitEnableDeferredUpdatesPreferenceKey @"WebKitEnableDeferredUpdates"
-
-// For debugging only. Don't use these.
-#define WebKitPageCacheSizePreferenceKey @"WebKitPageCacheSizePreferenceKey"
-#define WebKitObjectCacheSizePreferenceKey @"WebKitObjectCacheSizePreferenceKey"
-#define WebKitDebugFullPageZoomPreferenceKey @"WebKitDebugFullPageZoomPreferenceKey"
diff --git a/Source/WebKit/mac/WebView/WebPreferences.h b/Source/WebKit/mac/WebView/WebPreferences.h
deleted file mode 100644
index 932656b07..000000000
--- a/Source/WebKit/mac/WebView/WebPreferences.h
+++ /dev/null
@@ -1,447 +0,0 @@
-/*
- * Copyright (C) 2003, 2004, 2005, 2012 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-/*!
-@enum WebCacheModel
-
-@abstract Specifies a usage model for a WebView, which WebKit will use to
-determine its caching behavior.
-
-@constant WebCacheModelDocumentViewer Appropriate for a WebView displaying
-a fixed document -- like a splash screen, a chat document, or a word processing
-document -- with no UI for navigation. The WebView will behave like any other
-view, releasing resources when they are no longer referenced. Remote resources,
-if any, will be cached to disk. This is the most memory-efficient setting.
-
-Examples: iChat, Mail, TextMate, Growl.
-
-@constant WebCacheModelDocumentBrowser Appropriate for a WebView displaying
-a browsable series of documents with a UI for navigating between them -- for
-example, a reference materials browser or a website designer. The WebView will
-cache a reasonable number of resources and previously viewed documents in
-memory and/or on disk.
-
-Examples: Dictionary, Help Viewer, Coda.
-
-@constant WebCacheModelPrimaryWebBrowser Appropriate for a WebView in the
-application that acts as the user's primary web browser. The WebView will cache
-a very large number of resources and previously viewed documents in memory
-and/or on disk.
-
-Examples: Safari, OmniWeb, Shiira.
-*/
-enum {
- WebCacheModelDocumentViewer = 0,
- WebCacheModelDocumentBrowser = 1,
- WebCacheModelPrimaryWebBrowser = 2
-};
-typedef NSUInteger WebCacheModel;
-
-typedef struct WebPreferencesPrivate WebPreferencesPrivate;
-
-extern NSString *WebPreferencesChangedNotification;
-
-/*!
- @class WebPreferences
-*/
-@interface WebPreferences: NSObject <NSCoding>
-{
-@private
- WebPreferencesPrivate *_private;
-}
-
-/*!
- @method standardPreferences
-*/
-+ (WebPreferences *)standardPreferences;
-
-/*!
- @method initWithIdentifier:
- @param anIdentifier A string used to identify the WebPreferences.
- @discussion WebViews can share instances of WebPreferences by using an instance of WebPreferences with
- the same identifier. Typically, instance are not created directly. Instead you set the preferences
- identifier on a WebView. The identifier is used as a prefix that is added to the user defaults keys
- for the WebPreferences.
- @result Returns a new instance of WebPreferences or a previously allocated instance with the same identifier.
-*/
-- (id)initWithIdentifier:(NSString *)anIdentifier;
-
-/*!
- @method identifier
- @result Returns the identifier for this WebPreferences.
-*/
-- (NSString *)identifier;
-
-/*!
- @method standardFontFamily
-*/
-- (NSString *)standardFontFamily;
-
-/*!
- @method setStandardFontFamily:
- @param family
-*/
-- (void)setStandardFontFamily:(NSString *)family;
-
-/*!
- @method fixedFontFamily
-*/
-- (NSString *)fixedFontFamily;
-
-/*!
- @method setFixedFontFamily:
- @param family
-*/
-- (void)setFixedFontFamily:(NSString *)family;
-
-/*!
- @method serifFontFamily
-*/
-- (NSString *)serifFontFamily;
-
-/*!
- @method setSerifFontFamily:
- @param family
-*/
-- (void)setSerifFontFamily:(NSString *)family;
-
-/*!
- @method sansSerifFontFamily
-*/
-- (NSString *)sansSerifFontFamily;
-
-/*!
- @method setSansSerifFontFamily:
- @param family
-*/
-- (void)setSansSerifFontFamily:(NSString *)family;
-
-/*!
- @method cursiveFontFamily
-*/
-- (NSString *)cursiveFontFamily;
-
-/*!
- @method setCursiveFontFamily:
- @param family
-*/
-- (void)setCursiveFontFamily:(NSString *)family;
-
-/*!
- @method fantasyFontFamily
-*/
-- (NSString *)fantasyFontFamily;
-
-/*!
- @method setFantasyFontFamily:
- @param family
-*/
-- (void)setFantasyFontFamily:(NSString *)family;
-
-/*!
- @method defaultFontSize
-*/
-- (int)defaultFontSize;
-
-/*!
- @method setDefaultFontSize:
- @param size
-*/
-- (void)setDefaultFontSize:(int)size;
-
-/*!
- @method defaultFixedFontSize
-*/
-- (int)defaultFixedFontSize;
-
-/*!
- @method setDefaultFixedFontSize:
- @param size
-*/
-- (void)setDefaultFixedFontSize:(int)size;
-
-/*!
- @method minimumFontSize
-*/
-- (int)minimumFontSize;
-
-/*!
- @method setMinimumFontSize:
- @param size
-*/
-- (void)setMinimumFontSize:(int)size;
-
-/*!
- @method minimumLogicalFontSize
-*/
-- (int)minimumLogicalFontSize;
-
-/*!
- @method setMinimumLogicalFontSize:
- @param size
-*/
-- (void)setMinimumLogicalFontSize:(int)size;
-
-/*!
- @method defaultTextEncodingName
-*/
-- (NSString *)defaultTextEncodingName;
-
-/*!
- @method setDefaultTextEncodingName:
- @param encoding
-*/
-- (void)setDefaultTextEncodingName:(NSString *)encoding;
-
-/*!
- @method userStyleSheetEnabled
-*/
-- (BOOL)userStyleSheetEnabled;
-
-/*!
- @method setUserStyleSheetEnabled:
- @param flag
-*/
-- (void)setUserStyleSheetEnabled:(BOOL)flag;
-
-/*!
- @method userStyleSheetLocation
- @discussion The location of the user style sheet.
-*/
-- (NSURL *)userStyleSheetLocation;
-
-/*!
- @method setUserStyleSheetLocation:
- @param URL The location of the user style sheet.
-*/
-- (void)setUserStyleSheetLocation:(NSURL *)URL;
-
-/*!
- @method isJavaEnabled
-*/
-- (BOOL)isJavaEnabled;
-
-/*!
- @method setJavaEnabled:
- @param flag
-*/
-- (void)setJavaEnabled:(BOOL)flag;
-
-/*!
- @method isJavaScriptEnabled
-*/
-- (BOOL)isJavaScriptEnabled;
-
-/*!
- @method setJavaScriptEnabled:
- @param flag
-*/
-- (void)setJavaScriptEnabled:(BOOL)flag;
-
-/*!
- @method JavaScriptCanOpenWindowsAutomatically
-*/
-- (BOOL)javaScriptCanOpenWindowsAutomatically;
-
-/*!
- @method setJavaScriptCanOpenWindowsAutomatically:
- @param flag
-*/
-- (void)setJavaScriptCanOpenWindowsAutomatically:(BOOL)flag;
-
-/*!
- @method arePlugInsEnabled
-*/
-- (BOOL)arePlugInsEnabled;
-
-/*!
- @method setPlugInsEnabled:
- @param flag
-*/
-- (void)setPlugInsEnabled:(BOOL)flag;
-
-/*!
- @method allowAnimatedImages
-*/
-- (BOOL)allowsAnimatedImages;
-
-/*!
- @method setAllowAnimatedImages:
- @param flag
-*/
-- (void)setAllowsAnimatedImages:(BOOL)flag;
-
-/*!
- @method allowAnimatedImageLooping
-*/
-- (BOOL)allowsAnimatedImageLooping;
-
-/*!
- @method setAllowAnimatedImageLooping:
- @param flag
-*/
-- (void)setAllowsAnimatedImageLooping: (BOOL)flag;
-
-/*!
- @method setWillLoadImagesAutomatically:
- @param flag
-*/
-- (void)setLoadsImagesAutomatically: (BOOL)flag;
-
-/*!
- @method willLoadImagesAutomatically
-*/
-- (BOOL)loadsImagesAutomatically;
-
-/*!
- @method setAutosaves:
- @param flag
- @discussion If autosave preferences is YES the settings represented by
- WebPreferences will be stored in the user defaults database.
-*/
-- (void)setAutosaves:(BOOL)flag;
-
-/*!
- @method autosaves
- @result The value of the autosave preferences flag.
-*/
-- (BOOL)autosaves;
-
-/*!
- @method setShouldPrintBackgrounds:
- @param flag
-*/
-- (void)setShouldPrintBackgrounds:(BOOL)flag;
-
-/*!
- @method shouldPrintBackgrounds
- @result The value of the shouldPrintBackgrounds preferences flag
-*/
-- (BOOL)shouldPrintBackgrounds;
-
-/*!
- @method setPrivateBrowsingEnabled:
- @param flag
- @abstract If private browsing is enabled, WebKit will not store information
- about sites the user visits.
- */
-- (void)setPrivateBrowsingEnabled:(BOOL)flag;
-
-/*!
- @method privateBrowsingEnabled
- */
-- (BOOL)privateBrowsingEnabled;
-
-/*!
- @method setTabsToLinks:
- @param flag
- @abstract If tabsToLinks is YES, the tab key will focus links and form controls.
- The option key temporarily reverses this preference.
-*/
-- (void)setTabsToLinks:(BOOL)flag;
-
-/*!
- @method tabsToLinks
-*/
-- (BOOL)tabsToLinks;
-
-/*!
- @method setUsesPageCache:
- @abstract Sets whether the receiver's associated WebViews use the shared
- page cache.
- @param UsesPageCache Whether the receiver's associated WebViews use the
- shared page cache.
- @discussion Pages are cached as they are added to a WebBackForwardList, and
- removed from the cache as they are removed from a WebBackForwardList. Because
- the page cache is global, caching a page in one WebBackForwardList may cause
- a page in another WebBackForwardList to be evicted from the cache.
-*/
-- (void)setUsesPageCache:(BOOL)usesPageCache;
-
-/*!
- @method usesPageCache
- @abstract Returns whether the receiver should use the shared page cache.
- @result Whether the receiver should use the shared page cache.
- @discussion Pages are cached as they are added to a WebBackForwardList, and
- removed from the cache as they are removed from a WebBackForwardList. Because
- the page cache is global, caching a page in one WebBackForwardList may cause
- a page in another WebBackForwardList to be evicted from the cache.
-*/
-- (BOOL)usesPageCache;
-
-/*!
-@method setCacheModel:
-
-@abstract Specifies a usage model for a WebView, which WebKit will use to
-determine its caching behavior.
-
-@param cacheModel The WebView's usage model for WebKit. If necessary, WebKit
-will prune its caches to match cacheModel.
-
-@discussion Research indicates that users tend to browse within clusters of
-documents that hold resources in common, and to revisit previously visited
-documents. WebKit and the frameworks below it include built-in caches that take
-advantage of these patterns, substantially improving document load speed in
-browsing situations. The WebKit cache model controls the behaviors of all of
-these caches, including NSURLCache and the various WebCore caches.
-
-Applications with a browsing interface can improve document load speed
-substantially by specifying WebCacheModelDocumentBrowser. Applications without
-a browsing interface can reduce memory usage substantially by specifying
-WebCacheModelDocumentViewer.
-
-If setCacheModel: is not called, WebKit will select a cache model automatically.
-*/
-- (void)setCacheModel:(WebCacheModel)cacheModel;
-
-/*!
-@method cacheModel:
-
-@abstract Returns the usage model according to which WebKit determines its
-caching behavior.
-
-@result The usage model.
-*/
-- (WebCacheModel)cacheModel;
-
-/*!
- @method setSuppressesIncrementalRendering:
- @param suppressesIncrementalRendering YES to suppress incremental rendering;
- NO otherwise.
-*/
-- (void)setSuppressesIncrementalRendering:(BOOL)suppressesIncrementalRendering;
-
-/*!
- @method suppressesIncrementalRendering
- @result YES if the WebView suppresses incremental rendering; NO otherwise.
-*/
-- (BOOL)suppressesIncrementalRendering;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebPreferences.mm b/Source/WebKit/mac/WebView/WebPreferences.mm
deleted file mode 100644
index 2b5b7f91a..000000000
--- a/Source/WebKit/mac/WebView/WebPreferences.mm
+++ /dev/null
@@ -1,1860 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2011, 2012 Apple Inc. All rights reserved.
- * (C) 2006 Graham Dennis (graham.dennis@gmail.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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebPreferencesPrivate.h"
-#import "WebPreferenceKeysPrivate.h"
-
-#import "WebApplicationCache.h"
-#import "WebFrameNetworkingContext.h"
-#import "WebKitLogging.h"
-#import "WebKitNSStringExtras.h"
-#import "WebKitSystemBits.h"
-#import "WebKitSystemInterface.h"
-#import "WebKitVersionChecks.h"
-#import "WebNSDictionaryExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebSystemInterface.h"
-#import <WebCore/ApplicationCacheStorage.h>
-#import <WebCore/NetworkStorageSession.h>
-#import <WebCore/ResourceHandle.h>
-#import <WebCore/RunLoop.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/MainThread.h>
-#import <wtf/RetainPtr.h>
-
-using namespace WebCore;
-
-NSString *WebPreferencesChangedNotification = @"WebPreferencesChangedNotification";
-NSString *WebPreferencesRemovedNotification = @"WebPreferencesRemovedNotification";
-NSString *WebPreferencesChangedInternalNotification = @"WebPreferencesChangedInternalNotification";
-NSString *WebPreferencesCacheModelChangedInternalNotification = @"WebPreferencesCacheModelChangedInternalNotification";
-
-#define KEY(x) (_private->identifier ? [_private->identifier.get() stringByAppendingString:(x)] : (x))
-
-enum { WebPreferencesVersion = 1 };
-
-static WebPreferences *_standardPreferences;
-static NSMutableDictionary *webPreferencesInstances;
-
-static bool contains(const char* const array[], int count, const char* item)
-{
- if (!item)
- return false;
-
- for (int i = 0; i < count; i++)
- if (!strcasecmp(array[i], item))
- return true;
- return false;
-}
-
-static WebCacheModel cacheModelForMainBundle(void)
-{
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-
- // Apps that probably need the small setting
- static const char* const documentViewerIDs[] = {
- "Microsoft/com.microsoft.Messenger",
- "com.adiumX.adiumX",
- "com.alientechnology.Proteus",
- "com.apple.Dashcode",
- "com.apple.iChat",
- "com.barebones.bbedit",
- "com.barebones.textwrangler",
- "com.barebones.yojimbo",
- "com.equinux.iSale4",
- "com.growl.growlframework",
- "com.intrarts.PandoraMan",
- "com.karelia.Sandvox",
- "com.macromates.textmate",
- "com.realmacsoftware.rapidweaverpro",
- "com.red-sweater.marsedit",
- "com.yahoo.messenger3",
- "de.codingmonkeys.SubEthaEdit",
- "fi.karppinen.Pyro",
- "info.colloquy",
- "kungfoo.tv.ecto",
- };
-
- // Apps that probably need the medium setting
- static const char* const documentBrowserIDs[] = {
- "com.apple.Dictionary",
- "com.apple.Xcode",
- "com.apple.dashboard.client",
- "com.apple.helpviewer",
- "com.culturedcode.xyle",
- "com.macrabbit.CSSEdit",
- "com.panic.Coda",
- "com.ranchero.NetNewsWire",
- "com.thinkmac.NewsLife",
- "org.xlife.NewsFire",
- "uk.co.opencommunity.vienna2",
- };
-
- // Apps that probably need the large setting
- static const char* const primaryWebBrowserIDs[] = {
- "com.app4mac.KidsBrowser"
- "com.app4mac.wKiosk",
- "com.freeverse.bumpercar",
- "com.omnigroup.OmniWeb5",
- "com.sunrisebrowser.Sunrise",
- "net.hmdt-web.Shiira",
- };
-
- WebCacheModel cacheModel;
-
- const char* bundleID = [[[NSBundle mainBundle] bundleIdentifier] UTF8String];
- if (contains(documentViewerIDs, sizeof(documentViewerIDs) / sizeof(documentViewerIDs[0]), bundleID))
- cacheModel = WebCacheModelDocumentViewer;
- else if (contains(documentBrowserIDs, sizeof(documentBrowserIDs) / sizeof(documentBrowserIDs[0]), bundleID))
- cacheModel = WebCacheModelDocumentBrowser;
- else if (contains(primaryWebBrowserIDs, sizeof(primaryWebBrowserIDs) / sizeof(primaryWebBrowserIDs[0]), bundleID))
- cacheModel = WebCacheModelPrimaryWebBrowser;
- else {
- bool isLegacyApp = !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_CACHE_MODEL_API);
- if (isLegacyApp)
- cacheModel = WebCacheModelDocumentBrowser; // To avoid regressions in apps that depended on old WebKit's large cache.
- else
- cacheModel = WebCacheModelDocumentViewer; // To save memory.
- }
-
- [pool drain];
-
- return cacheModel;
-}
-
-@interface WebPreferences ()
-- (void)_postCacheModelChangedNotification;
-@end
-
-@interface WebPreferences (WebInternal)
-+ (NSString *)_concatenateKeyWithIBCreatorID:(NSString *)key;
-+ (NSString *)_IBCreatorID;
-@end
-
-struct WebPreferencesPrivate
-{
-public:
- WebPreferencesPrivate()
- : autosaves(NO)
- , automaticallyDetectsCacheModel(NO)
- , numWebViews(0)
- {
- }
-
- RetainPtr<NSMutableDictionary> values;
- RetainPtr<NSString> identifier;
- BOOL autosaves;
- BOOL automaticallyDetectsCacheModel;
- unsigned numWebViews;
-};
-
-@interface WebPreferences (WebForwardDeclarations)
-// This pseudo-category is needed so these methods can be used from within other category implementations
-// without being in the public header file.
-- (BOOL)_boolValueForKey:(NSString *)key;
-- (void)_setBoolValue:(BOOL)value forKey:(NSString *)key;
-- (int)_integerValueForKey:(NSString *)key;
-- (void)_setIntegerValue:(int)value forKey:(NSString *)key;
-- (float)_floatValueForKey:(NSString *)key;
-- (void)_setFloatValue:(float)value forKey:(NSString *)key;
-- (void)_setLongLongValue:(long long)value forKey:(NSString *)key;
-- (long long)_longLongValueForKey:(NSString *)key;
-- (void)_setUnsignedLongLongValue:(unsigned long long)value forKey:(NSString *)key;
-- (unsigned long long)_unsignedLongLongValueForKey:(NSString *)key;
-@end
-
-@implementation WebPreferences
-
-- (id)init
-{
- // Create fake identifier
- static int instanceCount = 1;
- NSString *fakeIdentifier;
-
- // At least ensure that identifier hasn't been already used.
- fakeIdentifier = [NSString stringWithFormat:@"WebPreferences%d", instanceCount++];
- while ([[self class] _getInstanceForIdentifier:fakeIdentifier]){
- fakeIdentifier = [NSString stringWithFormat:@"WebPreferences%d", instanceCount++];
- }
-
- return [self initWithIdentifier:fakeIdentifier];
-}
-
-- (id)initWithIdentifier:(NSString *)anIdentifier
-{
- WebPreferences *instance = [[self class] _getInstanceForIdentifier:anIdentifier];
- if (instance) {
- [self release];
- return [instance retain];
- }
-
- self = [super init];
- if (!self)
- return nil;
-
- _private = new WebPreferencesPrivate;
- _private->values = adoptNS([[NSMutableDictionary alloc] init]);
- _private->identifier = adoptNS([anIdentifier copy]);
- _private->automaticallyDetectsCacheModel = YES;
-
- [[self class] _setInstance:self forIdentifier:_private->identifier.get()];
-
- [self _postPreferencesChangedNotification];
- [self _postCacheModelChangedNotification];
-
- return self;
-}
-
-- (id)initWithCoder:(NSCoder *)decoder
-{
- self = [super init];
- if (!self)
- return nil;
-
- _private = new WebPreferencesPrivate;
- _private->automaticallyDetectsCacheModel = YES;
-
- @try {
- id identifier = nil;
- id values = nil;
- if ([decoder allowsKeyedCoding]) {
- identifier = [decoder decodeObjectForKey:@"Identifier"];
- values = [decoder decodeObjectForKey:@"Values"];
- } else {
- int version;
- [decoder decodeValueOfObjCType:@encode(int) at:&version];
- if (version == 1) {
- identifier = [decoder decodeObject];
- values = [decoder decodeObject];
- }
- }
-
- if ([identifier isKindOfClass:[NSString class]])
- _private->identifier = adoptNS([identifier copy]);
- if ([values isKindOfClass:[NSDictionary class]])
- _private->values = adoptNS([values mutableCopy]); // ensure dictionary is mutable
-
- LOG(Encoding, "Identifier = %@, Values = %@\n", _private->identifier.get(), _private->values.get());
- } @catch(id) {
- [self release];
- return nil;
- }
-
- // If we load a nib multiple times, or have instances in multiple
- // nibs with the same name, the first guy up wins.
- WebPreferences *instance = [[self class] _getInstanceForIdentifier:_private->identifier.get()];
- if (instance) {
- [self release];
- self = [instance retain];
- } else {
- [[self class] _setInstance:self forIdentifier:_private->identifier.get()];
- }
-
- return self;
-}
-
-- (void)encodeWithCoder:(NSCoder *)encoder
-{
- if ([encoder allowsKeyedCoding]){
- [encoder encodeObject:_private->identifier.get() forKey:@"Identifier"];
- [encoder encodeObject:_private->values.get() forKey:@"Values"];
- LOG (Encoding, "Identifier = %@, Values = %@\n", _private->identifier.get(), _private->values.get());
- }
- else {
- int version = WebPreferencesVersion;
- [encoder encodeValueOfObjCType:@encode(int) at:&version];
- [encoder encodeObject:_private->identifier.get()];
- [encoder encodeObject:_private->values.get()];
- }
-}
-
-+ (WebPreferences *)standardPreferences
-{
- if (_standardPreferences == nil) {
- _standardPreferences = [[WebPreferences alloc] initWithIdentifier:nil];
- [_standardPreferences setAutosaves:YES];
- }
-
- return _standardPreferences;
-}
-
-// if we ever have more than one WebPreferences object, this would move to init
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
-
- NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
- @"Times", WebKitStandardFontPreferenceKey,
- @"Courier", WebKitFixedFontPreferenceKey,
- @"Times", WebKitSerifFontPreferenceKey,
- @"Helvetica", WebKitSansSerifFontPreferenceKey,
- @"Apple Chancery", WebKitCursiveFontPreferenceKey,
- @"Papyrus", WebKitFantasyFontPreferenceKey,
- @"Apple Color Emoji", WebKitPictographFontPreferenceKey,
- @"0", WebKitMinimumFontSizePreferenceKey,
- @"9", WebKitMinimumLogicalFontSizePreferenceKey,
- @"16", WebKitDefaultFontSizePreferenceKey,
- @"13", WebKitDefaultFixedFontSizePreferenceKey,
- @"ISO-8859-1", WebKitDefaultTextEncodingNamePreferenceKey,
- [NSNumber numberWithBool:NO], WebKitUsesEncodingDetectorPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitUserStyleSheetEnabledPreferenceKey,
- @"", WebKitUserStyleSheetLocationPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitShouldPrintBackgroundsPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitTextAreasAreResizablePreferenceKey,
- [NSNumber numberWithBool:NO], WebKitShrinksStandaloneImagesToFitPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitJavaEnabledPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitJavaScriptEnabledPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitWebSecurityEnabledPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitAllowUniversalAccessFromFileURLsPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitAllowFileAccessFromFileURLsPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitJavaScriptCanOpenWindowsAutomaticallyPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitPluginsEnabledPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitDatabasesEnabledPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitLocalStorageEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitExperimentalNotificationsEnabledPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitAllowAnimatedImagesPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitAllowAnimatedImageLoopingPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitDisplayImagesKey,
- [NSNumber numberWithBool:NO], WebKitLoadSiteIconsKey,
- @"1800", WebKitBackForwardCacheExpirationIntervalKey,
- [NSNumber numberWithBool:NO], WebKitTabToLinksPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitPrivateBrowsingEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitRespectStandardStyleKeyEquivalentsPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitShowsURLsInToolTipsPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitShowsToolTipOverTruncatedTextPreferenceKey,
- @"1", WebKitPDFDisplayModePreferenceKey,
- @"0", WebKitPDFScaleFactorPreferenceKey,
- @"0", WebKitUseSiteSpecificSpoofingPreferenceKey,
- [NSNumber numberWithInt:WebKitEditableLinkDefaultBehavior], WebKitEditableLinkBehaviorPreferenceKey,
- [NSNumber numberWithInt:WebTextDirectionSubmenuAutomaticallyIncluded],
- WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitDOMPasteAllowedPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitUsesPageCachePreferenceKey,
- [NSNumber numberWithInt:cacheModelForMainBundle()], WebKitCacheModelPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitPageCacheSupportsPluginsPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitDeveloperExtrasEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitJavaScriptExperimentsEnabledPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitAuthorAndUserStylesEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitApplicationChromeModeEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitWebArchiveDebugModeEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitLocalFileContentSniffingEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitOfflineWebApplicationCacheEnabledPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitZoomsTextOnlyPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitJavaScriptCanAccessClipboardPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitXSSAuditorEnabledPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitAcceleratedCompositingEnabledPreferenceKey,
- // CSS Shaders also need WebGL enabled (which is disabled by default), so we can keep it enabled for now.
- [NSNumber numberWithBool:YES], WebKitCSSCustomFilterEnabledPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitCSSRegionsEnabledPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitCSSCompositingEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitCSSGridLayoutEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitAcceleratedDrawingEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitCanvasUsesAcceleratedDrawingPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitShowDebugBordersPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitShowRepaintCounterPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitWebGLEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitAccelerated2dCanvasEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitFrameFlatteningEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitSpatialNavigationEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitDNSPrefetchingEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitFullScreenEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitAsynchronousSpellCheckingEnabledPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitHyperlinkAuditingEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitUsePreHTML5ParserQuirksKey,
- [NSNumber numberWithBool:YES], WebKitAVFoundationEnabledKey,
- [NSNumber numberWithBool:NO], WebKitMediaPlaybackRequiresUserGesturePreferenceKey,
- [NSNumber numberWithBool:YES], WebKitMediaPlaybackAllowsInlinePreferenceKey,
- [NSNumber numberWithBool:NO], WebKitWebAudioEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitSuppressesIncrementalRenderingKey,
- [NSNumber numberWithBool:NO], WebKitRegionBasedColumnsEnabledKey,
- [NSNumber numberWithBool:YES], WebKitBackspaceKeyNavigationEnabledKey,
- [NSNumber numberWithBool:NO], WebKitShouldDisplaySubtitlesPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitShouldDisplayCaptionsPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitShouldDisplayTextDescriptionsPreferenceKey,
- [NSNumber numberWithBool:YES], WebKitNotificationsEnabledKey,
- [NSNumber numberWithBool:NO], WebKitShouldRespectImageOrientationKey,
- [NSNumber numberWithBool:YES], WebKitRequestAnimationFrameEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitWantsBalancedSetDefersLoadingBehaviorKey,
- [NSNumber numberWithBool:NO], WebKitDiagnosticLoggingEnabledKey,
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
- [NSNumber numberWithBool:NO],
-#else
- [NSNumber numberWithBool:YES],
-#endif
- WebKitScreenFontSubstitutionEnabledKey,
- [NSNumber numberWithInt:WebAllowAllStorage], WebKitStorageBlockingPolicyKey,
- [NSNumber numberWithBool:NO], WebKitPlugInSnapshottingEnabledPreferenceKey,
-
- [NSNumber numberWithLongLong:ApplicationCacheStorage::noQuota()], WebKitApplicationCacheTotalQuota,
- [NSNumber numberWithLongLong:ApplicationCacheStorage::noQuota()], WebKitApplicationCacheDefaultOriginQuota,
- [NSNumber numberWithBool:YES], WebKitQTKitEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitHiddenPageDOMTimerThrottlingEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitHiddenPageCSSAnimationSuspensionEnabledPreferenceKey,
- [NSNumber numberWithBool:NO], WebKitLowPowerVideoAudioBufferSizeEnabledPreferenceKey,
- nil];
-
-
- // This value shouldn't ever change, which is assumed in the initialization of WebKitPDFDisplayModePreferenceKey above
- ASSERT(kPDFDisplaySinglePageContinuous == 1);
- [[NSUserDefaults standardUserDefaults] registerDefaults:dict];
-}
-
-- (void)dealloc
-{
- delete _private;
- [super dealloc];
-}
-
-- (NSString *)identifier
-{
- return _private->identifier.get();
-}
-
-- (id)_valueForKey:(NSString *)key
-{
- NSString *_key = KEY(key);
- id o = [_private->values.get() objectForKey:_key];
- if (o)
- return o;
- o = [[NSUserDefaults standardUserDefaults] objectForKey:_key];
- if (!o && key != _key)
- o = [[NSUserDefaults standardUserDefaults] objectForKey:key];
- return o;
-}
-
-- (NSString *)_stringValueForKey:(NSString *)key
-{
- id s = [self _valueForKey:key];
- return [s isKindOfClass:[NSString class]] ? (NSString *)s : nil;
-}
-
-- (void)_setStringValue:(NSString *)value forKey:(NSString *)key
-{
- if ([[self _stringValueForKey:key] isEqualToString:value])
- return;
- NSString *_key = KEY(key);
- [_private->values.get() setObject:value forKey:_key];
- if (_private->autosaves)
- [[NSUserDefaults standardUserDefaults] setObject:value forKey:_key];
- [self _postPreferencesChangedNotification];
-}
-
-- (int)_integerValueForKey:(NSString *)key
-{
- id o = [self _valueForKey:key];
- return [o respondsToSelector:@selector(intValue)] ? [o intValue] : 0;
-}
-
-- (void)_setIntegerValue:(int)value forKey:(NSString *)key
-{
- if ([self _integerValueForKey:key] == value)
- return;
- NSString *_key = KEY(key);
- [_private->values.get() _webkit_setInt:value forKey:_key];
- if (_private->autosaves)
- [[NSUserDefaults standardUserDefaults] setInteger:value forKey:_key];
- [self _postPreferencesChangedNotification];
-}
-
-- (float)_floatValueForKey:(NSString *)key
-{
- id o = [self _valueForKey:key];
- return [o respondsToSelector:@selector(floatValue)] ? [o floatValue] : 0.0f;
-}
-
-- (void)_setFloatValue:(float)value forKey:(NSString *)key
-{
- if ([self _floatValueForKey:key] == value)
- return;
- NSString *_key = KEY(key);
- [_private->values.get() _webkit_setFloat:value forKey:_key];
- if (_private->autosaves)
- [[NSUserDefaults standardUserDefaults] setFloat:value forKey:_key];
- [self _postPreferencesChangedNotification];
-}
-
-- (BOOL)_boolValueForKey:(NSString *)key
-{
- return [self _integerValueForKey:key] != 0;
-}
-
-- (void)_setBoolValue:(BOOL)value forKey:(NSString *)key
-{
- if ([self _boolValueForKey:key] == value)
- return;
- NSString *_key = KEY(key);
- [_private->values.get() _webkit_setBool:value forKey:_key];
- if (_private->autosaves)
- [[NSUserDefaults standardUserDefaults] setBool:value forKey:_key];
- [self _postPreferencesChangedNotification];
-}
-
-- (long long)_longLongValueForKey:(NSString *)key
-{
- id o = [self _valueForKey:key];
- return [o respondsToSelector:@selector(longLongValue)] ? [o longLongValue] : 0;
-}
-
-- (void)_setLongLongValue:(long long)value forKey:(NSString *)key
-{
- if ([self _longLongValueForKey:key] == value)
- return;
- NSString *_key = KEY(key);
- [_private->values.get() _webkit_setLongLong:value forKey:_key];
- if (_private->autosaves)
- [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithLongLong:value] forKey:_key];
- [self _postPreferencesChangedNotification];
-}
-
-- (unsigned long long)_unsignedLongLongValueForKey:(NSString *)key
-{
- id o = [self _valueForKey:key];
- return [o respondsToSelector:@selector(unsignedLongLongValue)] ? [o unsignedLongLongValue] : 0;
-}
-
-- (void)_setUnsignedLongLongValue:(unsigned long long)value forKey:(NSString *)key
-{
- if ([self _unsignedLongLongValueForKey:key] == value)
- return;
- NSString *_key = KEY(key);
- [_private->values.get() _webkit_setUnsignedLongLong:value forKey:_key];
- if (_private->autosaves)
- [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithUnsignedLongLong:value] forKey:_key];
- [self _postPreferencesChangedNotification];
-}
-
-- (NSString *)standardFontFamily
-{
- return [self _stringValueForKey: WebKitStandardFontPreferenceKey];
-}
-
-- (void)setStandardFontFamily:(NSString *)family
-{
- [self _setStringValue: family forKey: WebKitStandardFontPreferenceKey];
-}
-
-- (NSString *)fixedFontFamily
-{
- return [self _stringValueForKey: WebKitFixedFontPreferenceKey];
-}
-
-- (void)setFixedFontFamily:(NSString *)family
-{
- [self _setStringValue: family forKey: WebKitFixedFontPreferenceKey];
-}
-
-- (NSString *)serifFontFamily
-{
- return [self _stringValueForKey: WebKitSerifFontPreferenceKey];
-}
-
-- (void)setSerifFontFamily:(NSString *)family
-{
- [self _setStringValue: family forKey: WebKitSerifFontPreferenceKey];
-}
-
-- (NSString *)sansSerifFontFamily
-{
- return [self _stringValueForKey: WebKitSansSerifFontPreferenceKey];
-}
-
-- (void)setSansSerifFontFamily:(NSString *)family
-{
- [self _setStringValue: family forKey: WebKitSansSerifFontPreferenceKey];
-}
-
-- (NSString *)cursiveFontFamily
-{
- return [self _stringValueForKey: WebKitCursiveFontPreferenceKey];
-}
-
-- (void)setCursiveFontFamily:(NSString *)family
-{
- [self _setStringValue: family forKey: WebKitCursiveFontPreferenceKey];
-}
-
-- (NSString *)fantasyFontFamily
-{
- return [self _stringValueForKey: WebKitFantasyFontPreferenceKey];
-}
-
-- (void)setFantasyFontFamily:(NSString *)family
-{
- [self _setStringValue: family forKey: WebKitFantasyFontPreferenceKey];
-}
-
-- (int)defaultFontSize
-{
- return [self _integerValueForKey: WebKitDefaultFontSizePreferenceKey];
-}
-
-- (void)setDefaultFontSize:(int)size
-{
- [self _setIntegerValue: size forKey: WebKitDefaultFontSizePreferenceKey];
-}
-
-- (int)defaultFixedFontSize
-{
- return [self _integerValueForKey: WebKitDefaultFixedFontSizePreferenceKey];
-}
-
-- (void)setDefaultFixedFontSize:(int)size
-{
- [self _setIntegerValue: size forKey: WebKitDefaultFixedFontSizePreferenceKey];
-}
-
-- (int)minimumFontSize
-{
- return [self _integerValueForKey: WebKitMinimumFontSizePreferenceKey];
-}
-
-- (void)setMinimumFontSize:(int)size
-{
- [self _setIntegerValue: size forKey: WebKitMinimumFontSizePreferenceKey];
-}
-
-- (int)minimumLogicalFontSize
-{
- return [self _integerValueForKey: WebKitMinimumLogicalFontSizePreferenceKey];
-}
-
-- (void)setMinimumLogicalFontSize:(int)size
-{
- [self _setIntegerValue: size forKey: WebKitMinimumLogicalFontSizePreferenceKey];
-}
-
-- (NSString *)defaultTextEncodingName
-{
- return [self _stringValueForKey: WebKitDefaultTextEncodingNamePreferenceKey];
-}
-
-- (void)setDefaultTextEncodingName:(NSString *)encoding
-{
- [self _setStringValue: encoding forKey: WebKitDefaultTextEncodingNamePreferenceKey];
-}
-
-- (BOOL)userStyleSheetEnabled
-{
- return [self _boolValueForKey: WebKitUserStyleSheetEnabledPreferenceKey];
-}
-
-- (void)setUserStyleSheetEnabled:(BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitUserStyleSheetEnabledPreferenceKey];
-}
-
-- (NSURL *)userStyleSheetLocation
-{
- NSString *locationString = [self _stringValueForKey: WebKitUserStyleSheetLocationPreferenceKey];
-
- if ([locationString _webkit_looksLikeAbsoluteURL]) {
- return [NSURL _web_URLWithDataAsString:locationString];
- } else {
- locationString = [locationString stringByExpandingTildeInPath];
- return [NSURL fileURLWithPath:locationString];
- }
-}
-
-- (void)setUserStyleSheetLocation:(NSURL *)URL
-{
- NSString *locationString;
-
- if ([URL isFileURL]) {
- locationString = [[URL path] _web_stringByAbbreviatingWithTildeInPath];
- } else {
- locationString = [URL _web_originalDataAsString];
- }
-
- if (!locationString)
- locationString = @"";
-
- [self _setStringValue:locationString forKey: WebKitUserStyleSheetLocationPreferenceKey];
-}
-
-- (BOOL)shouldPrintBackgrounds
-{
- return [self _boolValueForKey: WebKitShouldPrintBackgroundsPreferenceKey];
-}
-
-- (void)setShouldPrintBackgrounds:(BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitShouldPrintBackgroundsPreferenceKey];
-}
-
-- (BOOL)isJavaEnabled
-{
- return [self _boolValueForKey: WebKitJavaEnabledPreferenceKey];
-}
-
-- (void)setJavaEnabled:(BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitJavaEnabledPreferenceKey];
-}
-
-- (BOOL)isJavaScriptEnabled
-{
- return [self _boolValueForKey: WebKitJavaScriptEnabledPreferenceKey];
-}
-
-- (void)setJavaScriptEnabled:(BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitJavaScriptEnabledPreferenceKey];
-}
-
-- (BOOL)javaScriptCanOpenWindowsAutomatically
-{
- return [self _boolValueForKey: WebKitJavaScriptCanOpenWindowsAutomaticallyPreferenceKey];
-}
-
-- (void)setJavaScriptCanOpenWindowsAutomatically:(BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitJavaScriptCanOpenWindowsAutomaticallyPreferenceKey];
-}
-
-- (BOOL)arePlugInsEnabled
-{
- return [self _boolValueForKey: WebKitPluginsEnabledPreferenceKey];
-}
-
-- (void)setPlugInsEnabled:(BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitPluginsEnabledPreferenceKey];
-}
-
-- (BOOL)allowsAnimatedImages
-{
- return [self _boolValueForKey: WebKitAllowAnimatedImagesPreferenceKey];
-}
-
-- (void)setAllowsAnimatedImages:(BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitAllowAnimatedImagesPreferenceKey];
-}
-
-- (BOOL)allowsAnimatedImageLooping
-{
- return [self _boolValueForKey: WebKitAllowAnimatedImageLoopingPreferenceKey];
-}
-
-- (void)setAllowsAnimatedImageLooping: (BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitAllowAnimatedImageLoopingPreferenceKey];
-}
-
-- (void)setLoadsImagesAutomatically: (BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitDisplayImagesKey];
-}
-
-- (BOOL)loadsImagesAutomatically
-{
- return [self _boolValueForKey: WebKitDisplayImagesKey];
-}
-
-- (void)setAutosaves:(BOOL)flag
-{
- _private->autosaves = flag;
-}
-
-- (BOOL)autosaves
-{
- return _private->autosaves;
-}
-
-- (void)setTabsToLinks:(BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitTabToLinksPreferenceKey];
-}
-
-- (BOOL)tabsToLinks
-{
- return [self _boolValueForKey:WebKitTabToLinksPreferenceKey];
-}
-
-- (void)setPrivateBrowsingEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitPrivateBrowsingEnabledPreferenceKey];
-}
-
-- (BOOL)privateBrowsingEnabled
-{
- return [self _boolValueForKey:WebKitPrivateBrowsingEnabledPreferenceKey];
-}
-
-- (void)setUsesPageCache:(BOOL)usesPageCache
-{
- [self _setBoolValue:usesPageCache forKey:WebKitUsesPageCachePreferenceKey];
-}
-
-- (BOOL)usesPageCache
-{
- return [self _boolValueForKey:WebKitUsesPageCachePreferenceKey];
-}
-
-- (void)_postCacheModelChangedNotification
-{
- if (!pthread_main_np()) {
- [self performSelectorOnMainThread:_cmd withObject:nil waitUntilDone:NO];
- return;
- }
-
- [[NSNotificationCenter defaultCenter] postNotificationName:WebPreferencesCacheModelChangedInternalNotification object:self userInfo:nil];
-}
-
-- (void)setCacheModel:(WebCacheModel)cacheModel
-{
- [self _setIntegerValue:cacheModel forKey:WebKitCacheModelPreferenceKey];
- [self setAutomaticallyDetectsCacheModel:NO];
- [self _postCacheModelChangedNotification];
-}
-
-- (WebCacheModel)cacheModel
-{
- return [self _integerValueForKey:WebKitCacheModelPreferenceKey];
-}
-
-
-- (void)setSuppressesIncrementalRendering:(BOOL)suppressesIncrementalRendering
-{
- [self _setBoolValue:suppressesIncrementalRendering forKey:WebKitSuppressesIncrementalRenderingKey];
-}
-
-- (BOOL)suppressesIncrementalRendering
-{
- return [self _boolValueForKey:WebKitSuppressesIncrementalRenderingKey];
-}
-
-@end
-
-@implementation WebPreferences (WebPrivate)
-
-- (BOOL)isDNSPrefetchingEnabled
-{
- return [self _boolValueForKey:WebKitDNSPrefetchingEnabledPreferenceKey];
-}
-
-- (void)setDNSPrefetchingEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitDNSPrefetchingEnabledPreferenceKey];
-}
-
-- (BOOL)developerExtrasEnabled
-{
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- if ([defaults boolForKey:@"DisableWebKitDeveloperExtras"])
- return NO;
-#ifdef NDEBUG
- if ([defaults boolForKey:@"WebKitDeveloperExtras"] || [defaults boolForKey:@"IncludeDebugMenu"])
- return YES;
- return [self _boolValueForKey:WebKitDeveloperExtrasEnabledPreferenceKey];
-#else
- return YES; // always enable in debug builds
-#endif
-}
-
-- (void)setJavaScriptExperimentsEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitJavaScriptExperimentsEnabledPreferenceKey];
-}
-
-- (BOOL)javaScriptExperimentsEnabled
-{
- return [self _boolValueForKey:WebKitJavaScriptExperimentsEnabledPreferenceKey];
-}
-
-- (void)setDeveloperExtrasEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitDeveloperExtrasEnabledPreferenceKey];
-}
-
-- (BOOL)authorAndUserStylesEnabled
-{
- return [self _boolValueForKey:WebKitAuthorAndUserStylesEnabledPreferenceKey];
-}
-
-- (void)setAuthorAndUserStylesEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitAuthorAndUserStylesEnabledPreferenceKey];
-}
-
-- (BOOL)applicationChromeModeEnabled
-{
- return [self _boolValueForKey:WebKitApplicationChromeModeEnabledPreferenceKey];
-}
-
-- (void)setApplicationChromeModeEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitApplicationChromeModeEnabledPreferenceKey];
-}
-
-- (BOOL)webArchiveDebugModeEnabled
-{
- return [self _boolValueForKey:WebKitWebArchiveDebugModeEnabledPreferenceKey];
-}
-
-- (void)setWebArchiveDebugModeEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitWebArchiveDebugModeEnabledPreferenceKey];
-}
-
-- (BOOL)localFileContentSniffingEnabled
-{
- return [self _boolValueForKey:WebKitLocalFileContentSniffingEnabledPreferenceKey];
-}
-
-- (void)setLocalFileContentSniffingEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitLocalFileContentSniffingEnabledPreferenceKey];
-}
-
-- (BOOL)offlineWebApplicationCacheEnabled
-{
- return [self _boolValueForKey:WebKitOfflineWebApplicationCacheEnabledPreferenceKey];
-}
-
-- (void)setOfflineWebApplicationCacheEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitOfflineWebApplicationCacheEnabledPreferenceKey];
-}
-
-- (BOOL)zoomsTextOnly
-{
- return [self _boolValueForKey:WebKitZoomsTextOnlyPreferenceKey];
-}
-
-- (void)setZoomsTextOnly:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitZoomsTextOnlyPreferenceKey];
-}
-
-- (BOOL)javaScriptCanAccessClipboard
-{
- return [self _boolValueForKey:WebKitJavaScriptCanAccessClipboardPreferenceKey];
-}
-
-- (void)setJavaScriptCanAccessClipboard:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitJavaScriptCanAccessClipboardPreferenceKey];
-}
-
-- (BOOL)isXSSAuditorEnabled
-{
- return [self _boolValueForKey:WebKitXSSAuditorEnabledPreferenceKey];
-}
-
-- (void)setXSSAuditorEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitXSSAuditorEnabledPreferenceKey];
-}
-
-- (BOOL)respectStandardStyleKeyEquivalents
-{
- return [self _boolValueForKey:WebKitRespectStandardStyleKeyEquivalentsPreferenceKey];
-}
-
-- (void)setRespectStandardStyleKeyEquivalents:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitRespectStandardStyleKeyEquivalentsPreferenceKey];
-}
-
-- (BOOL)showsURLsInToolTips
-{
- return [self _boolValueForKey:WebKitShowsURLsInToolTipsPreferenceKey];
-}
-
-- (void)setShowsURLsInToolTips:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitShowsURLsInToolTipsPreferenceKey];
-}
-
-- (BOOL)showsToolTipOverTruncatedText
-{
- return [self _boolValueForKey:WebKitShowsToolTipOverTruncatedTextPreferenceKey];
-}
-
-- (void)setShowsToolTipOverTruncatedText:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitShowsToolTipOverTruncatedTextPreferenceKey];
-}
-
-- (BOOL)textAreasAreResizable
-{
- return [self _boolValueForKey: WebKitTextAreasAreResizablePreferenceKey];
-}
-
-- (void)setTextAreasAreResizable:(BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitTextAreasAreResizablePreferenceKey];
-}
-
-- (BOOL)shrinksStandaloneImagesToFit
-{
- return [self _boolValueForKey:WebKitShrinksStandaloneImagesToFitPreferenceKey];
-}
-
-- (void)setShrinksStandaloneImagesToFit:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitShrinksStandaloneImagesToFitPreferenceKey];
-}
-
-- (BOOL)automaticallyDetectsCacheModel
-{
- return _private->automaticallyDetectsCacheModel;
-}
-
-- (void)setAutomaticallyDetectsCacheModel:(BOOL)automaticallyDetectsCacheModel
-{
- _private->automaticallyDetectsCacheModel = automaticallyDetectsCacheModel;
-}
-
-- (BOOL)usesEncodingDetector
-{
- return [self _boolValueForKey: WebKitUsesEncodingDetectorPreferenceKey];
-}
-
-- (void)setUsesEncodingDetector:(BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitUsesEncodingDetectorPreferenceKey];
-}
-
-- (BOOL)isWebSecurityEnabled
-{
- return [self _boolValueForKey: WebKitWebSecurityEnabledPreferenceKey];
-}
-
-- (void)setWebSecurityEnabled:(BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitWebSecurityEnabledPreferenceKey];
-}
-
-- (BOOL)allowUniversalAccessFromFileURLs
-{
- return [self _boolValueForKey: WebKitAllowUniversalAccessFromFileURLsPreferenceKey];
-}
-
-- (void)setAllowUniversalAccessFromFileURLs:(BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitAllowUniversalAccessFromFileURLsPreferenceKey];
-}
-
-- (BOOL)allowFileAccessFromFileURLs
-{
- return [self _boolValueForKey: WebKitAllowFileAccessFromFileURLsPreferenceKey];
-}
-
-- (void)setAllowFileAccessFromFileURLs:(BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitAllowFileAccessFromFileURLsPreferenceKey];
-}
-
-- (NSTimeInterval)_backForwardCacheExpirationInterval
-{
- return (NSTimeInterval)[self _floatValueForKey:WebKitBackForwardCacheExpirationIntervalKey];
-}
-
-- (float)PDFScaleFactor
-{
- return [self _floatValueForKey:WebKitPDFScaleFactorPreferenceKey];
-}
-
-- (void)setPDFScaleFactor:(float)factor
-{
- [self _setFloatValue:factor forKey:WebKitPDFScaleFactorPreferenceKey];
-}
-
-- (int64_t)applicationCacheTotalQuota
-{
- return [self _longLongValueForKey:WebKitApplicationCacheTotalQuota];
-}
-
-- (void)setApplicationCacheTotalQuota:(int64_t)quota
-{
- [self _setLongLongValue:quota forKey:WebKitApplicationCacheTotalQuota];
-
- // Application Cache Preferences are stored on the global cache storage manager, not in Settings.
- [WebApplicationCache setMaximumSize:quota];
-}
-
-- (int64_t)applicationCacheDefaultOriginQuota
-{
- return [self _longLongValueForKey:WebKitApplicationCacheDefaultOriginQuota];
-}
-
-- (void)setApplicationCacheDefaultOriginQuota:(int64_t)quota
-{
- [self _setLongLongValue:quota forKey:WebKitApplicationCacheDefaultOriginQuota];
-}
-
-- (PDFDisplayMode)PDFDisplayMode
-{
- PDFDisplayMode value = [self _integerValueForKey:WebKitPDFDisplayModePreferenceKey];
- if (value != kPDFDisplaySinglePage && value != kPDFDisplaySinglePageContinuous && value != kPDFDisplayTwoUp && value != kPDFDisplayTwoUpContinuous) {
- // protect against new modes from future versions of OS X stored in defaults
- value = kPDFDisplaySinglePageContinuous;
- }
- return value;
-}
-
-- (void)setPDFDisplayMode:(PDFDisplayMode)mode
-{
- [self _setIntegerValue:mode forKey:WebKitPDFDisplayModePreferenceKey];
-}
-
-- (WebKitEditableLinkBehavior)editableLinkBehavior
-{
- WebKitEditableLinkBehavior value = static_cast<WebKitEditableLinkBehavior> ([self _integerValueForKey:WebKitEditableLinkBehaviorPreferenceKey]);
- if (value != WebKitEditableLinkDefaultBehavior &&
- value != WebKitEditableLinkAlwaysLive &&
- value != WebKitEditableLinkNeverLive &&
- value != WebKitEditableLinkOnlyLiveWithShiftKey &&
- value != WebKitEditableLinkLiveWhenNotFocused) {
- // ensure that a valid result is returned
- value = WebKitEditableLinkDefaultBehavior;
- }
-
- return value;
-}
-
-- (void)setEditableLinkBehavior:(WebKitEditableLinkBehavior)behavior
-{
- [self _setIntegerValue:behavior forKey:WebKitEditableLinkBehaviorPreferenceKey];
-}
-
-- (WebTextDirectionSubmenuInclusionBehavior)textDirectionSubmenuInclusionBehavior
-{
- WebTextDirectionSubmenuInclusionBehavior value = static_cast<WebTextDirectionSubmenuInclusionBehavior>([self _integerValueForKey:WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey]);
- if (value != WebTextDirectionSubmenuNeverIncluded &&
- value != WebTextDirectionSubmenuAutomaticallyIncluded &&
- value != WebTextDirectionSubmenuAlwaysIncluded) {
- // Ensure that a valid result is returned.
- value = WebTextDirectionSubmenuNeverIncluded;
- }
- return value;
-}
-
-- (void)setTextDirectionSubmenuInclusionBehavior:(WebTextDirectionSubmenuInclusionBehavior)behavior
-{
- [self _setIntegerValue:behavior forKey:WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey];
-}
-
-- (BOOL)_useSiteSpecificSpoofing
-{
- return [self _boolValueForKey:WebKitUseSiteSpecificSpoofingPreferenceKey];
-}
-
-- (void)_setUseSiteSpecificSpoofing:(BOOL)newValue
-{
- [self _setBoolValue:newValue forKey:WebKitUseSiteSpecificSpoofingPreferenceKey];
-}
-
-- (BOOL)databasesEnabled
-{
- return [self _boolValueForKey:WebKitDatabasesEnabledPreferenceKey];
-}
-
-- (void)setDatabasesEnabled:(BOOL)databasesEnabled
-{
- [self _setBoolValue:databasesEnabled forKey:WebKitDatabasesEnabledPreferenceKey];
-}
-
-- (BOOL)localStorageEnabled
-{
- return [self _boolValueForKey:WebKitLocalStorageEnabledPreferenceKey];
-}
-
-- (void)setLocalStorageEnabled:(BOOL)localStorageEnabled
-{
- [self _setBoolValue:localStorageEnabled forKey:WebKitLocalStorageEnabledPreferenceKey];
-}
-
-- (BOOL)experimentalNotificationsEnabled
-{
- return [self _boolValueForKey:WebKitExperimentalNotificationsEnabledPreferenceKey];
-}
-
-- (void)setExperimentalNotificationsEnabled:(BOOL)experimentalNotificationsEnabled
-{
- [self _setBoolValue:experimentalNotificationsEnabled forKey:WebKitExperimentalNotificationsEnabledPreferenceKey];
-}
-
-+ (WebPreferences *)_getInstanceForIdentifier:(NSString *)ident
-{
- LOG(Encoding, "requesting for %@\n", ident);
-
- if (!ident)
- return _standardPreferences;
-
- WebPreferences *instance = [webPreferencesInstances objectForKey:[self _concatenateKeyWithIBCreatorID:ident]];
-
- return instance;
-}
-
-+ (void)_setInstance:(WebPreferences *)instance forIdentifier:(NSString *)ident
-{
- if (!webPreferencesInstances)
- webPreferencesInstances = [[NSMutableDictionary alloc] init];
- if (ident) {
- [webPreferencesInstances setObject:instance forKey:[self _concatenateKeyWithIBCreatorID:ident]];
- LOG(Encoding, "recording %p for %@\n", instance, [self _concatenateKeyWithIBCreatorID:ident]);
- }
-}
-
-+ (void)_checkLastReferenceForIdentifier:(id)identifier
-{
- // FIXME: This won't work at all under garbage collection because retainCount returns a constant.
- // We may need to change WebPreferences API so there's an explicit way to end the lifetime of one.
- WebPreferences *instance = [webPreferencesInstances objectForKey:identifier];
- if ([instance retainCount] == 1)
- [webPreferencesInstances removeObjectForKey:identifier];
-}
-
-+ (void)_removeReferenceForIdentifier:(NSString *)ident
-{
- if (ident)
- [self performSelector:@selector(_checkLastReferenceForIdentifier:) withObject:[self _concatenateKeyWithIBCreatorID:ident] afterDelay:0.1];
-}
-
-- (void)_postPreferencesChangedNotification
-{
- if (!pthread_main_np()) {
- [self performSelectorOnMainThread:_cmd withObject:nil waitUntilDone:NO];
- return;
- }
-
- [[NSNotificationCenter defaultCenter] postNotificationName:WebPreferencesChangedInternalNotification object:self userInfo:nil];
- [[NSNotificationCenter defaultCenter] postNotificationName:WebPreferencesChangedNotification object:self userInfo:nil];
-}
-
-- (void)_postPreferencesChangedAPINotification
-{
- if (!pthread_main_np()) {
- [self performSelectorOnMainThread:_cmd withObject:nil waitUntilDone:NO];
- return;
- }
-
- [[NSNotificationCenter defaultCenter] postNotificationName:WebPreferencesChangedNotification object:self userInfo:nil];
-}
-
-+ (CFStringEncoding)_systemCFStringEncoding
-{
- return WKGetWebDefaultCFStringEncoding();
-}
-
-+ (void)_setInitialDefaultTextEncodingToSystemEncoding
-{
- NSString *systemEncodingName = (NSString *)CFStringConvertEncodingToIANACharSetName([self _systemCFStringEncoding]);
-
- // CFStringConvertEncodingToIANACharSetName() returns cp949 for kTextEncodingDOSKorean AKA "extended EUC-KR" AKA windows-949.
- // ICU uses this name for a different encoding, so we need to change the name to a value that actually gives us windows-949.
- // In addition, this value must match what is used in Safari, see <rdar://problem/5579292>.
- // On some OS versions, the result is CP949 (uppercase).
- if ([systemEncodingName _webkit_isCaseInsensitiveEqualToString:@"cp949"])
- systemEncodingName = @"ks_c_5601-1987";
- [[NSUserDefaults standardUserDefaults] registerDefaults:
- [NSDictionary dictionaryWithObject:systemEncodingName forKey:WebKitDefaultTextEncodingNamePreferenceKey]];
-}
-
-static NSString *classIBCreatorID = nil;
-
-+ (void)_setIBCreatorID:(NSString *)string
-{
- NSString *old = classIBCreatorID;
- classIBCreatorID = [string copy];
- [old release];
-}
-
-+ (void)_switchNetworkLoaderToNewTestingSession
-{
- InitWebCoreSystemInterface();
- NetworkStorageSession::switchToNewTestingSession();
-}
-
-+ (void)_setCurrentNetworkLoaderSessionCookieAcceptPolicy:(NSHTTPCookieAcceptPolicy)policy
-{
- WKSetHTTPCookieAcceptPolicy(NetworkStorageSession::defaultStorageSession().cookieStorage().get(), policy);
-}
-
-- (BOOL)isDOMPasteAllowed
-{
- return [self _boolValueForKey:WebKitDOMPasteAllowedPreferenceKey];
-}
-
-- (void)setDOMPasteAllowed:(BOOL)DOMPasteAllowed
-{
- [self _setBoolValue:DOMPasteAllowed forKey:WebKitDOMPasteAllowedPreferenceKey];
-}
-
-- (NSString *)_localStorageDatabasePath
-{
- return [[self _stringValueForKey:WebKitLocalStorageDatabasePathPreferenceKey] stringByStandardizingPath];
-}
-
-- (void)_setLocalStorageDatabasePath:(NSString *)path
-{
- [self _setStringValue:[path stringByStandardizingPath] forKey:WebKitLocalStorageDatabasePathPreferenceKey];
-}
-
-- (NSString *)_ftpDirectoryTemplatePath
-{
- return [[self _stringValueForKey:WebKitFTPDirectoryTemplatePath] stringByStandardizingPath];
-}
-
-- (void)_setFTPDirectoryTemplatePath:(NSString *)path
-{
- [self _setStringValue:[path stringByStandardizingPath] forKey:WebKitFTPDirectoryTemplatePath];
-}
-
-- (BOOL)_forceFTPDirectoryListings
-{
- return [self _boolValueForKey:WebKitForceFTPDirectoryListings];
-}
-
-- (void)_setForceFTPDirectoryListings:(BOOL)force
-{
- [self _setBoolValue:force forKey:WebKitForceFTPDirectoryListings];
-}
-
-- (BOOL)acceleratedDrawingEnabled
-{
- return [self _boolValueForKey:WebKitAcceleratedDrawingEnabledPreferenceKey];
-}
-
-- (void)setAcceleratedDrawingEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitAcceleratedDrawingEnabledPreferenceKey];
-}
-
-- (BOOL)canvasUsesAcceleratedDrawing
-{
- return [self _boolValueForKey:WebKitCanvasUsesAcceleratedDrawingPreferenceKey];
-}
-
-- (void)setCanvasUsesAcceleratedDrawing:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitCanvasUsesAcceleratedDrawingPreferenceKey];
-}
-
-- (BOOL)acceleratedCompositingEnabled
-{
- return [self _boolValueForKey:WebKitAcceleratedCompositingEnabledPreferenceKey];
-}
-
-- (void)setAcceleratedCompositingEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitAcceleratedCompositingEnabledPreferenceKey];
-}
-
-- (BOOL)cssCustomFilterEnabled
-{
- return [self _boolValueForKey:WebKitCSSCustomFilterEnabledPreferenceKey];
-}
-
-- (void)setCSSCustomFilterEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitCSSCustomFilterEnabledPreferenceKey];
-}
-
-- (BOOL)cssRegionsEnabled
-{
- return [self _boolValueForKey:WebKitCSSRegionsEnabledPreferenceKey];
-}
-
-- (void)setCSSRegionsEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitCSSRegionsEnabledPreferenceKey];
-}
-
-- (BOOL)cssCompositingEnabled
-{
- return [self _boolValueForKey:WebKitCSSCompositingEnabledPreferenceKey];
-}
-
-- (void)setCSSCompositingEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitCSSCompositingEnabledPreferenceKey];
-}
-
-- (BOOL)cssGridLayoutEnabled
-{
- return [self _boolValueForKey:WebKitCSSGridLayoutEnabledPreferenceKey];
-}
-
-- (void)setCSSGridLayoutEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitCSSGridLayoutEnabledPreferenceKey];
-}
-
-- (BOOL)showDebugBorders
-{
- return [self _boolValueForKey:WebKitShowDebugBordersPreferenceKey];
-}
-
-- (void)setShowDebugBorders:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitShowDebugBordersPreferenceKey];
-}
-
-- (BOOL)showRepaintCounter
-{
- return [self _boolValueForKey:WebKitShowRepaintCounterPreferenceKey];
-}
-
-- (void)setShowRepaintCounter:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitShowRepaintCounterPreferenceKey];
-}
-
-- (BOOL)webAudioEnabled
-{
- return [self _boolValueForKey:WebKitWebAudioEnabledPreferenceKey];
-}
-
-- (void)setWebAudioEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitWebAudioEnabledPreferenceKey];
-}
-
-- (BOOL)webGLEnabled
-{
- return [self _boolValueForKey:WebKitWebGLEnabledPreferenceKey];
-}
-
-- (void)setWebGLEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitWebGLEnabledPreferenceKey];
-}
-
-- (BOOL)accelerated2dCanvasEnabled
-{
- return [self _boolValueForKey:WebKitAccelerated2dCanvasEnabledPreferenceKey];
-}
-
-- (void)setAccelerated2dCanvasEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitAccelerated2dCanvasEnabledPreferenceKey];
-}
-
-- (BOOL)isFrameFlatteningEnabled
-{
- return [self _boolValueForKey:WebKitFrameFlatteningEnabledPreferenceKey];
-}
-
-- (void)setFrameFlatteningEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitFrameFlatteningEnabledPreferenceKey];
-}
-
-- (BOOL)isSpatialNavigationEnabled
-{
- return [self _boolValueForKey:WebKitSpatialNavigationEnabledPreferenceKey];
-}
-
-- (void)setSpatialNavigationEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitSpatialNavigationEnabledPreferenceKey];
-}
-
-- (BOOL)paginateDuringLayoutEnabled
-{
- return [self _boolValueForKey:WebKitPaginateDuringLayoutEnabledPreferenceKey];
-}
-
-- (void)setPaginateDuringLayoutEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitPaginateDuringLayoutEnabledPreferenceKey];
-}
-
-- (BOOL)hyperlinkAuditingEnabled
-{
- return [self _boolValueForKey:WebKitHyperlinkAuditingEnabledPreferenceKey];
-}
-
-- (void)setHyperlinkAuditingEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitHyperlinkAuditingEnabledPreferenceKey];
-}
-
-- (BOOL)usePreHTML5ParserQuirks
-{
- return [self _boolValueForKey:WebKitUsePreHTML5ParserQuirksKey];
-}
-
-- (void)setUsePreHTML5ParserQuirks:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitUsePreHTML5ParserQuirksKey];
-}
-
-- (void)didRemoveFromWebView
-{
- ASSERT(_private->numWebViews);
- if (--_private->numWebViews == 0)
- [[NSNotificationCenter defaultCenter]
- postNotificationName:WebPreferencesRemovedNotification
- object:self
- userInfo:nil];
-}
-
-- (void)willAddToWebView
-{
- ++_private->numWebViews;
-}
-
-- (void)_setPreferenceForTestWithValue:(NSString *)value forKey:(NSString *)key
-{
- [self _setStringValue:value forKey:key];
-}
-
-- (void)setFullScreenEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitFullScreenEnabledPreferenceKey];
-}
-
-- (BOOL)fullScreenEnabled
-{
- 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);
-}
-
-- (void)setLoadsSiteIconsIgnoringImageLoadingPreference: (BOOL)flag
-{
- [self _setBoolValue: flag forKey: WebKitLoadSiteIconsKey];
-}
-
-- (BOOL)loadsSiteIconsIgnoringImageLoadingPreference
-{
- return [self _boolValueForKey: WebKitLoadSiteIconsKey];
-}
-
-- (void)setAVFoundationEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitAVFoundationEnabledKey];
-}
-
-- (BOOL)isAVFoundationEnabled
-{
- return [self _boolValueForKey:WebKitAVFoundationEnabledKey];
-}
-
-- (void)setQTKitEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitQTKitEnabledPreferenceKey];
-}
-
-- (BOOL)isQTKitEnabled
-{
- return [self _boolValueForKey:WebKitQTKitEnabledPreferenceKey];
-}
-
-- (void)setHixie76WebSocketProtocolEnabled:(BOOL)flag
-{
-}
-
-- (BOOL)isHixie76WebSocketProtocolEnabled
-{
- return false;
-}
-
-- (BOOL)mediaPlaybackRequiresUserGesture
-{
- return [self _boolValueForKey:WebKitMediaPlaybackRequiresUserGesturePreferenceKey];
-}
-
-- (void)setMediaPlaybackRequiresUserGesture:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitMediaPlaybackRequiresUserGesturePreferenceKey];
-}
-
-- (BOOL)mediaPlaybackAllowsInline
-{
- return [self _boolValueForKey:WebKitMediaPlaybackAllowsInlinePreferenceKey];
-}
-
-- (void)setMediaPlaybackAllowsInline:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitMediaPlaybackAllowsInlinePreferenceKey];
-}
-
-- (BOOL)mockScrollbarsEnabled
-{
- return [self _boolValueForKey:WebKitMockScrollbarsEnabledPreferenceKey];
-}
-
-- (void)setMockScrollbarsEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitMockScrollbarsEnabledPreferenceKey];
-}
-
-- (BOOL)seamlessIFramesEnabled
-{
- return [self _boolValueForKey:WebKitSeamlessIFramesEnabledPreferenceKey];
-}
-
-- (void)setSeamlessIFramesEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitSeamlessIFramesEnabledPreferenceKey];
-}
-
-- (NSString *)pictographFontFamily
-{
- return [self _stringValueForKey: WebKitPictographFontPreferenceKey];
-}
-
-- (void)setPictographFontFamily:(NSString *)family
-{
- [self _setStringValue: family forKey: WebKitPictographFontPreferenceKey];
-}
-
-- (BOOL)pageCacheSupportsPlugins
-{
- return [self _boolValueForKey:WebKitPageCacheSupportsPluginsPreferenceKey];
-}
-
-- (void)setPageCacheSupportsPlugins:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitPageCacheSupportsPluginsPreferenceKey];
-
-}
-
-- (void)setBackspaceKeyNavigationEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitBackspaceKeyNavigationEnabledKey];
-}
-
-- (BOOL)backspaceKeyNavigationEnabled
-{
- return [self _boolValueForKey:WebKitBackspaceKeyNavigationEnabledKey];
-}
-
-- (void)setWantsBalancedSetDefersLoadingBehavior:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitWantsBalancedSetDefersLoadingBehaviorKey];
-}
-
-- (BOOL)wantsBalancedSetDefersLoadingBehavior
-{
- return [self _boolValueForKey:WebKitWantsBalancedSetDefersLoadingBehaviorKey];
-}
-
-- (void)setShouldDisplaySubtitles:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitShouldDisplaySubtitlesPreferenceKey];
-}
-
-- (BOOL)shouldDisplaySubtitles
-{
- return [self _boolValueForKey:WebKitShouldDisplaySubtitlesPreferenceKey];
-}
-
-- (void)setShouldDisplayCaptions:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitShouldDisplayCaptionsPreferenceKey];
-}
-
-- (BOOL)shouldDisplayCaptions
-{
- return [self _boolValueForKey:WebKitShouldDisplayCaptionsPreferenceKey];
-}
-
-- (void)setShouldDisplayTextDescriptions:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitShouldDisplayTextDescriptionsPreferenceKey];
-}
-
-- (BOOL)shouldDisplayTextDescriptions
-{
- return [self _boolValueForKey:WebKitShouldDisplayTextDescriptionsPreferenceKey];
-}
-
-- (void)setNotificationsEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitNotificationsEnabledKey];
-}
-
-- (BOOL)notificationsEnabled
-{
- return [self _boolValueForKey:WebKitNotificationsEnabledKey];
-}
-
-- (void)setRegionBasedColumnsEnabled:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitRegionBasedColumnsEnabledKey];
-}
-
-- (BOOL)regionBasedColumnsEnabled
-{
- return [self _boolValueForKey:WebKitRegionBasedColumnsEnabledKey];
-}
-
-- (void)setShouldRespectImageOrientation:(BOOL)flag
-{
- [self _setBoolValue:flag forKey:WebKitShouldRespectImageOrientationKey];
-}
-
-- (BOOL)shouldRespectImageOrientation
-{
- return [self _boolValueForKey:WebKitShouldRespectImageOrientationKey];
-}
-
-- (BOOL)requestAnimationFrameEnabled
-{
- return [self _boolValueForKey:WebKitRequestAnimationFrameEnabledPreferenceKey];
-}
-
-- (void)setRequestAnimationFrameEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitRequestAnimationFrameEnabledPreferenceKey];
-}
-
-- (void)setIncrementalRenderingSuppressionTimeoutInSeconds:(NSTimeInterval)timeout
-{
- [self _setFloatValue:timeout forKey:WebKitIncrementalRenderingSuppressionTimeoutInSecondsKey];
-}
-
-- (NSTimeInterval)incrementalRenderingSuppressionTimeoutInSeconds
-{
- return [self _floatValueForKey:WebKitIncrementalRenderingSuppressionTimeoutInSecondsKey];
-}
-
-- (BOOL)diagnosticLoggingEnabled
-{
- return [self _boolValueForKey:WebKitDiagnosticLoggingEnabledKey];
-}
-
-- (void)setDiagnosticLoggingEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitDiagnosticLoggingEnabledKey];
-}
-
-static bool needsScreenFontsEnabledQuirk()
-{
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
- static bool is1PasswordNeedingScreenFontsQuirk = WKExecutableWasLinkedOnOrBeforeMountainLion()
- && [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"ws.agile.1Password"];
- return is1PasswordNeedingScreenFontsQuirk;
-#else
- return NO;
-#endif
-}
-
-- (BOOL)screenFontSubstitutionEnabled
-{
- if (needsScreenFontsEnabledQuirk())
- return YES;
- return [self _boolValueForKey:WebKitScreenFontSubstitutionEnabledKey];
-}
-
-- (void)setScreenFontSubstitutionEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitScreenFontSubstitutionEnabledKey];
-}
-
-- (void)setStorageBlockingPolicy:(WebStorageBlockingPolicy)storageBlockingPolicy
-{
- [self _setIntegerValue:storageBlockingPolicy forKey:WebKitStorageBlockingPolicyKey];
-}
-
-- (WebStorageBlockingPolicy)storageBlockingPolicy
-{
- return static_cast<WebStorageBlockingPolicy>([self _integerValueForKey:WebKitStorageBlockingPolicyKey]);
-}
-
-- (BOOL)plugInSnapshottingEnabled
-{
- return [self _boolValueForKey:WebKitPlugInSnapshottingEnabledPreferenceKey];
-}
-
-- (void)setPlugInSnapshottingEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitPlugInSnapshottingEnabledPreferenceKey];
-}
-
-- (BOOL)hiddenPageDOMTimerThrottlingEnabled
-{
- return [self _boolValueForKey:WebKitHiddenPageDOMTimerThrottlingEnabledPreferenceKey];
-}
-
-- (void)setHiddenPageDOMTimerThrottlingEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitHiddenPageDOMTimerThrottlingEnabledPreferenceKey];
-}
-
-- (BOOL)hiddenPageCSSAnimationSuspensionEnabled
-{
- return [self _boolValueForKey:WebKitHiddenPageCSSAnimationSuspensionEnabledPreferenceKey];
-}
-
-- (void)setHiddenPageCSSAnimationSuspensionEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitHiddenPageCSSAnimationSuspensionEnabledPreferenceKey];
-}
-
-- (BOOL)lowPowerVideoAudioBufferSizeEnabled
-{
- return [self _boolValueForKey:WebKitLowPowerVideoAudioBufferSizeEnabledPreferenceKey];
-}
-
-- (void)setLowPowerVideoAudioBufferSizeEnabled:(BOOL)enabled
-{
- [self _setBoolValue:enabled forKey:WebKitLowPowerVideoAudioBufferSizeEnabledPreferenceKey];
-}
-
-@end
-
-@implementation WebPreferences (WebInternal)
-
-+ (NSString *)_IBCreatorID
-{
- return classIBCreatorID;
-}
-
-+ (NSString *)_concatenateKeyWithIBCreatorID:(NSString *)key
-{
- NSString *IBCreatorID = [WebPreferences _IBCreatorID];
- if (!IBCreatorID)
- return key;
- return [IBCreatorID stringByAppendingString:key];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebPreferencesPrivate.h b/Source/WebKit/mac/WebView/WebPreferencesPrivate.h
deleted file mode 100644
index 63f7f4d8b..000000000
--- a/Source/WebKit/mac/WebView/WebPreferencesPrivate.h
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- * Copyright (C) 2005, 2007, 2011, 2012 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebPreferences.h>
-#import <Quartz/Quartz.h>
-
-typedef enum {
- WebKitEditableLinkDefaultBehavior,
- WebKitEditableLinkAlwaysLive,
- WebKitEditableLinkOnlyLiveWithShiftKey,
- WebKitEditableLinkLiveWhenNotFocused,
- WebKitEditableLinkNeverLive
-} WebKitEditableLinkBehavior;
-
-typedef enum {
- WebTextDirectionSubmenuNeverIncluded,
- WebTextDirectionSubmenuAutomaticallyIncluded,
- WebTextDirectionSubmenuAlwaysIncluded
-} WebTextDirectionSubmenuInclusionBehavior;
-
-typedef enum {
- WebAllowAllStorage = 0,
- WebBlockThirdPartyStorage,
- WebBlockAllStorage
-} WebStorageBlockingPolicy;
-
-extern NSString *WebPreferencesChangedNotification;
-extern NSString *WebPreferencesRemovedNotification;
-extern NSString *WebPreferencesChangedInternalNotification;
-extern NSString *WebPreferencesCacheModelChangedInternalNotification;
-
-@interface WebPreferences (WebPrivate)
-
-// Preferences that might be public in a future release
-
-- (BOOL)isDNSPrefetchingEnabled;
-- (void)setDNSPrefetchingEnabled:(BOOL)flag;
-
-- (BOOL)developerExtrasEnabled;
-- (void)setDeveloperExtrasEnabled:(BOOL)flag;
-
-- (BOOL)javaScriptExperimentsEnabled;
-- (void)setJavaScriptExperimentsEnabled:(BOOL)flag;
-
-- (BOOL)authorAndUserStylesEnabled;
-- (void)setAuthorAndUserStylesEnabled:(BOOL)flag;
-
-- (BOOL)applicationChromeModeEnabled;
-- (void)setApplicationChromeModeEnabled:(BOOL)flag;
-
-- (BOOL)usesEncodingDetector;
-- (void)setUsesEncodingDetector:(BOOL)flag;
-
-- (BOOL)respectStandardStyleKeyEquivalents;
-- (void)setRespectStandardStyleKeyEquivalents:(BOOL)flag;
-
-- (BOOL)showsURLsInToolTips;
-- (void)setShowsURLsInToolTips:(BOOL)flag;
-
-- (BOOL)showsToolTipOverTruncatedText;
-- (void)setShowsToolTipOverTruncatedText:(BOOL)flag;
-
-- (BOOL)textAreasAreResizable;
-- (void)setTextAreasAreResizable:(BOOL)flag;
-
-- (PDFDisplayMode)PDFDisplayMode;
-- (void)setPDFDisplayMode:(PDFDisplayMode)mode;
-
-- (BOOL)shrinksStandaloneImagesToFit;
-- (void)setShrinksStandaloneImagesToFit:(BOOL)flag;
-
-- (BOOL)automaticallyDetectsCacheModel;
-- (void)setAutomaticallyDetectsCacheModel:(BOOL)automaticallyDetectsCacheModel;
-
-- (BOOL)webArchiveDebugModeEnabled;
-- (void)setWebArchiveDebugModeEnabled:(BOOL)webArchiveDebugModeEnabled;
-
-- (BOOL)localFileContentSniffingEnabled;
-- (void)setLocalFileContentSniffingEnabled:(BOOL)localFileContentSniffingEnabled;
-
-- (BOOL)offlineWebApplicationCacheEnabled;
-- (void)setOfflineWebApplicationCacheEnabled:(BOOL)offlineWebApplicationCacheEnabled;
-
-- (BOOL)databasesEnabled;
-- (void)setDatabasesEnabled:(BOOL)databasesEnabled;
-
-- (BOOL)localStorageEnabled;
-- (void)setLocalStorageEnabled:(BOOL)localStorageEnabled;
-
-- (BOOL)isWebSecurityEnabled;
-- (void)setWebSecurityEnabled:(BOOL)flag;
-
-- (BOOL)allowUniversalAccessFromFileURLs;
-- (void)setAllowUniversalAccessFromFileURLs:(BOOL)flag;
-
-- (BOOL)allowFileAccessFromFileURLs;
-- (void)setAllowFileAccessFromFileURLs:(BOOL)flag;
-
-- (BOOL)zoomsTextOnly;
-- (void)setZoomsTextOnly:(BOOL)zoomsTextOnly;
-
-- (BOOL)javaScriptCanAccessClipboard;
-- (void)setJavaScriptCanAccessClipboard:(BOOL)flag;
-
-- (BOOL)isXSSAuditorEnabled;
-- (void)setXSSAuditorEnabled:(BOOL)flag;
-
-- (BOOL)experimentalNotificationsEnabled;
-- (void)setExperimentalNotificationsEnabled:(BOOL)notificationsEnabled;
-
-- (BOOL)isFrameFlatteningEnabled;
-- (void)setFrameFlatteningEnabled:(BOOL)flag;
-
-- (BOOL)isSpatialNavigationEnabled;
-- (void)setSpatialNavigationEnabled:(BOOL)flag;
-
-// zero means do AutoScale
-- (float)PDFScaleFactor;
-- (void)setPDFScaleFactor:(float)scale;
-
-- (int64_t)applicationCacheTotalQuota;
-- (void)setApplicationCacheTotalQuota:(int64_t)quota;
-
-- (int64_t)applicationCacheDefaultOriginQuota;
-- (void)setApplicationCacheDefaultOriginQuota:(int64_t)quota;
-
-- (WebKitEditableLinkBehavior)editableLinkBehavior;
-- (void)setEditableLinkBehavior:(WebKitEditableLinkBehavior)behavior;
-
-- (WebTextDirectionSubmenuInclusionBehavior)textDirectionSubmenuInclusionBehavior;
-- (void)setTextDirectionSubmenuInclusionBehavior:(WebTextDirectionSubmenuInclusionBehavior)behavior;
-
-// Used to set preference specified in the test via LayoutTestController.overridePreference(..).
-// For use with DumpRenderTree only.
-- (void)_setPreferenceForTestWithValue:(NSString *)value forKey:(NSString *)key;
-
-// If site-specific spoofing is enabled, some pages that do inappropriate user-agent string checks will be
-// passed a nonstandard user-agent string to get them to work correctly. This method might be removed in
-// the future when there's no more need for it.
-- (BOOL)_useSiteSpecificSpoofing;
-- (void)_setUseSiteSpecificSpoofing:(BOOL)newValue;
-
-// WARNING: Allowing paste through the DOM API opens a security hole. We only use it for testing purposes.
-- (BOOL)isDOMPasteAllowed;
-- (void)setDOMPasteAllowed:(BOOL)DOMPasteAllowed;
-
-- (NSString *)_ftpDirectoryTemplatePath;
-- (void)_setFTPDirectoryTemplatePath:(NSString *)path;
-
-- (void)_setForceFTPDirectoryListings:(BOOL)force;
-- (BOOL)_forceFTPDirectoryListings;
-
-- (NSString *)_localStorageDatabasePath;
-- (void)_setLocalStorageDatabasePath:(NSString *)path;
-
-- (BOOL)acceleratedDrawingEnabled;
-- (void)setAcceleratedDrawingEnabled:(BOOL)enabled;
-
-- (BOOL)canvasUsesAcceleratedDrawing;
-- (void)setCanvasUsesAcceleratedDrawing:(BOOL)enabled;
-
-- (BOOL)acceleratedCompositingEnabled;
-- (void)setAcceleratedCompositingEnabled:(BOOL)enabled;
-
-- (BOOL)cssCustomFilterEnabled;
-- (void)setCSSCustomFilterEnabled:(BOOL)enabled;
-
-- (BOOL)cssRegionsEnabled;
-- (void)setCSSRegionsEnabled:(BOOL)enabled;
-
-- (BOOL)cssCompositingEnabled;
-- (void)setCSSCompositingEnabled:(BOOL)enabled;
-
-- (BOOL)cssGridLayoutEnabled;
-- (void)setCSSGridLayoutEnabled:(BOOL)enabled;
-
-- (BOOL)showDebugBorders;
-- (void)setShowDebugBorders:(BOOL)show;
-
-- (BOOL)showRepaintCounter;
-- (void)setShowRepaintCounter:(BOOL)show;
-
-- (BOOL)webAudioEnabled;
-- (void)setWebAudioEnabled:(BOOL)enabled;
-
-- (BOOL)webGLEnabled;
-- (void)setWebGLEnabled:(BOOL)enabled;
-
-- (BOOL)accelerated2dCanvasEnabled;
-- (void)setAccelerated2dCanvasEnabled:(BOOL)enabled;
-
-- (BOOL)paginateDuringLayoutEnabled;
-- (void)setPaginateDuringLayoutEnabled:(BOOL)flag;
-
-- (BOOL)hyperlinkAuditingEnabled;
-- (void)setHyperlinkAuditingEnabled:(BOOL)enabled;
-
-- (void)setMediaPlaybackRequiresUserGesture:(BOOL)flag;
-- (BOOL)mediaPlaybackRequiresUserGesture;
-
-- (void)setMediaPlaybackAllowsInline:(BOOL)flag;
-- (BOOL)mediaPlaybackAllowsInline;
-
-- (NSString *)pictographFontFamily;
-- (void)setPictographFontFamily:(NSString *)family;
-
-- (BOOL)pageCacheSupportsPlugins;
-- (void)setPageCacheSupportsPlugins:(BOOL)flag;
-
-// This is a global setting.
-- (BOOL)mockScrollbarsEnabled;
-- (void)setMockScrollbarsEnabled:(BOOL)flag;
-
-// This is a global setting.
-- (BOOL)seamlessIFramesEnabled;
-- (void)setSeamlessIFramesEnabled:(BOOL)enabled;
-
-// Other private methods
-- (void)_postPreferencesChangedNotification;
-- (void)_postPreferencesChangedAPINotification;
-+ (WebPreferences *)_getInstanceForIdentifier:(NSString *)identifier;
-+ (void)_setInstance:(WebPreferences *)instance forIdentifier:(NSString *)identifier;
-+ (void)_removeReferenceForIdentifier:(NSString *)identifier;
-- (NSTimeInterval)_backForwardCacheExpirationInterval;
-+ (CFStringEncoding)_systemCFStringEncoding;
-+ (void)_setInitialDefaultTextEncodingToSystemEncoding;
-+ (void)_setIBCreatorID:(NSString *)string;
-
-// For DumpRenderTree use only.
-+ (void)_switchNetworkLoaderToNewTestingSession;
-+ (void)_setCurrentNetworkLoaderSessionCookieAcceptPolicy:(NSHTTPCookieAcceptPolicy)cookieAcceptPolicy;
-
-+ (void)setWebKitLinkTimeVersion:(int)version;
-
-// For WebView's use only.
-- (void)willAddToWebView;
-- (void)didRemoveFromWebView;
-
-// Full screen support is dependent on WebCore/WebKit being
-// compiled with ENABLE_FULLSCREEN_API.
-- (void)setFullScreenEnabled:(BOOL)flag;
-- (BOOL)fullScreenEnabled;
-
-- (void)setAsynchronousSpellCheckingEnabled:(BOOL)flag;
-- (BOOL)asynchronousSpellCheckingEnabled;
-
-- (void)setUsePreHTML5ParserQuirks:(BOOL)flag;
-- (BOOL)usePreHTML5ParserQuirks;
-
-- (void)setLoadsSiteIconsIgnoringImageLoadingPreference: (BOOL)flag;
-- (BOOL)loadsSiteIconsIgnoringImageLoadingPreference;
-
-// AVFoundation support is dependent on WebCore/WebKit being
-// compiled with USE_AVFOUNDATION.
-- (void)setAVFoundationEnabled:(BOOL)flag;
-- (BOOL)isAVFoundationEnabled;
-
-- (void)setQTKitEnabled:(BOOL)flag;
-- (BOOL)isQTKitEnabled;
-
-// WebSocket support depends on ENABLE(WEB_SOCKETS).
-- (void)setHixie76WebSocketProtocolEnabled:(BOOL)flag;
-- (BOOL)isHixie76WebSocketProtocolEnabled;
-
-- (void)setRegionBasedColumnsEnabled:(BOOL)flag;
-- (BOOL)regionBasedColumnsEnabled;
-
-- (void)setBackspaceKeyNavigationEnabled:(BOOL)flag;
-- (BOOL)backspaceKeyNavigationEnabled;
-
-- (void)setWantsBalancedSetDefersLoadingBehavior:(BOOL)flag;
-- (BOOL)wantsBalancedSetDefersLoadingBehavior;
-
-- (void)setShouldDisplaySubtitles:(BOOL)flag;
-- (BOOL)shouldDisplaySubtitles;
-
-- (void)setShouldDisplayCaptions:(BOOL)flag;
-- (BOOL)shouldDisplayCaptions;
-
-- (void)setShouldDisplayTextDescriptions:(BOOL)flag;
-- (BOOL)shouldDisplayTextDescriptions;
-
-- (void)setNotificationsEnabled:(BOOL)flag;
-- (BOOL)notificationsEnabled;
-
-- (void)setShouldRespectImageOrientation:(BOOL)flag;
-- (BOOL)shouldRespectImageOrientation;
-
-- (BOOL)requestAnimationFrameEnabled;
-- (void)setRequestAnimationFrameEnabled:(BOOL)enabled;
-
-- (void)setIncrementalRenderingSuppressionTimeoutInSeconds:(NSTimeInterval)timeout;
-- (NSTimeInterval)incrementalRenderingSuppressionTimeoutInSeconds;
-
-- (BOOL)diagnosticLoggingEnabled;
-- (void)setDiagnosticLoggingEnabled:(BOOL)enabled;
-
-- (BOOL)screenFontSubstitutionEnabled;
-- (void)setScreenFontSubstitutionEnabled:(BOOL)enabled;
-
-- (void)setStorageBlockingPolicy:(WebStorageBlockingPolicy)storageBlockingPolicy;
-- (WebStorageBlockingPolicy)storageBlockingPolicy;
-
-- (BOOL)plugInSnapshottingEnabled;
-- (void)setPlugInSnapshottingEnabled:(BOOL)enabled;
-
-- (BOOL)hiddenPageDOMTimerThrottlingEnabled;
-- (void)setHiddenPageDOMTimerThrottlingEnabled:(BOOL)flag;
-
-- (BOOL)hiddenPageCSSAnimationSuspensionEnabled;
-- (void)setHiddenPageCSSAnimationSuspensionEnabled:(BOOL)flag;
-
-- (BOOL)lowPowerVideoAudioBufferSizeEnabled;
-- (void)setLowPowerVideoAudioBufferSizeEnabled:(BOOL)enabled;
-
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebRenderLayer.h b/Source/WebKit/mac/WebView/WebRenderLayer.h
deleted file mode 100644
index e09983ddb..000000000
--- a/Source/WebKit/mac/WebView/WebRenderLayer.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class WebFrame;
-
-@interface WebRenderLayer : NSObject
-{
- NSArray *children;
- NSString *name;
- NSString *compositingInfo;
- NSRect bounds;
- BOOL composited;
- BOOL separator;
-}
-
-- (id)initWithWebFrame:(WebFrame *)frame;
-
-- (NSArray *)children;
-
-- (NSString *)name;
-- (NSString *)positionString;
-- (NSString *)widthString;
-- (NSString *)heightString;
-- (NSString *)compositingInfo;
-
-- (BOOL)isComposited;
-- (BOOL)isSeparator;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebRenderLayer.mm b/Source/WebKit/mac/WebView/WebRenderLayer.mm
deleted file mode 100644
index fbfebbb82..000000000
--- a/Source/WebKit/mac/WebView/WebRenderLayer.mm
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 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.
- */
-
-#import "WebRenderLayer.h"
-
-#import "WebFrameInternal.h"
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/FrameLoaderClient.h>
-#import <WebCore/RenderLayer.h>
-#import <WebCore/RenderLayerBacking.h>
-#import <WebCore/RenderView.h>
-#import <WebCore/StyledElement.h>
-#import <wtf/text/StringBuilder.h>
-#import <wtf/text/WTFString.h>
-
-using namespace WebCore;
-
-@interface WebRenderLayer(Private)
-
-- (id)initWithRenderLayer:(RenderLayer *)layer;
-- (void)buildDescendantLayers:(RenderLayer*)rootLayer;
-
-@end
-
-@implementation WebRenderLayer
-
-+ (NSString *)nameForLayer:(RenderLayer*)layer
-{
- RenderObject* renderer = layer->renderer();
- NSString *name = [NSString stringWithUTF8String:renderer->renderName()];
-
- if (Element* element = renderer->node() && renderer->node()->isElementNode() ? toElement(renderer->node()) : 0) {
- name = [name stringByAppendingFormat:@" %@", (NSString *)element->tagName()];
- if (element->hasID())
- name = [name stringByAppendingFormat:@" id=\"%@\"", (NSString *)element->getIdAttribute()];
-
- if (element->hasClass()) {
- StringBuilder classes;
- for (size_t i = 0; i < element->classNames().size(); ++i) {
- if (i > 0)
- classes.append(' ');
- classes.append(element->classNames()[i]);
- }
- name = [name stringByAppendingFormat:@" class=\"%@\"", (NSString *)classes.toString()];
- }
- }
-
- if (layer->isReflection())
- name = [name stringByAppendingString:@" (reflection)"];
-
- return name;
-}
-
-+ (NSString *)compositingInfoForLayer:(RenderLayer*)layer
-{
- if (!layer->isComposited())
- return @"";
-
- NSString *layerType = @"";
-#if USE(ACCELERATED_COMPOSITING)
- RenderLayerBacking* backing = layer->backing();
- switch (backing->compositingLayerType()) {
- case NormalCompositingLayer:
- layerType = @"composited";
- break;
- case TiledCompositingLayer:
- layerType = @"composited: tiled layer";
- break;
- case MediaCompositingLayer:
- layerType = @"composited for plug-in, video or WebGL";
- break;
- case ContainerCompositingLayer:
- layerType = @"composited: container layer";
- break;
- }
-
- if (backing->hasClippingLayer())
- layerType = [layerType stringByAppendingString:@" (clipping)"];
-
- if (backing->hasAncestorClippingLayer())
- layerType = [layerType stringByAppendingString:@" (clipped)"];
-#endif
-
- return layerType;
-}
-
-- (id)initWithRenderLayer:(RenderLayer*)layer
-{
- if ((self = [super init])) {
- name = [[WebRenderLayer nameForLayer:layer] retain];
- bounds = layer->absoluteBoundingBox();
- composited = layer->isComposited();
- compositingInfo = [[WebRenderLayer compositingInfoForLayer:layer] retain];
- }
-
- return self;
-}
-
-- (id)initWithName:(NSString*)layerName
-{
- if ((self = [super init])) {
- name = [layerName copy];
- separator = YES;
- }
-
- return self;
-}
-
-// Only called on the root.
-- (id)initWithWebFrame:(WebFrame *)webFrame
-{
- self = [super init];
-
- Frame* frame = core(webFrame);
- if (!frame->loader()->client()->hasHTMLView()) {
- [self release];
- return nil;
- }
-
- RenderObject* renderer = frame->contentRenderer();
- if (!renderer) {
- [self release];
- return nil;
- }
-
- if (renderer->hasLayer()) {
- RenderLayer* layer = toRenderBoxModelObject(renderer)->layer();
-
- name = [[WebRenderLayer nameForLayer:layer] retain];
- bounds = layer->absoluteBoundingBox();
- composited = layer->isComposited();
- compositingInfo = [[WebRenderLayer compositingInfoForLayer:layer] retain];
-
- [self buildDescendantLayers:layer];
- }
-
- return self;
-}
-
-- (void)dealloc
-{
- [children release];
- [name release];
- [compositingInfo release];
- [super dealloc];
-}
-
-- (void)buildDescendantLayers:(RenderLayer*)layer
-{
- NSMutableArray *childWebLayers = [[NSMutableArray alloc] init];
-
- // Build children in back to front order.
-
- if (Vector<RenderLayer*>* negZOrderList = layer->negZOrderList()) {
- size_t listSize = negZOrderList->size();
-
- if (listSize) {
- WebRenderLayer* newLayer = [[WebRenderLayer alloc] initWithName:@"-ve z-order list"];
- [childWebLayers addObject:newLayer];
- [newLayer release];
- }
-
- for (size_t i = 0; i < listSize; ++i) {
- RenderLayer* curLayer = negZOrderList->at(i);
-
- WebRenderLayer* newLayer = [[WebRenderLayer alloc] initWithRenderLayer:curLayer];
- [newLayer buildDescendantLayers:curLayer];
-
- [childWebLayers addObject:newLayer];
- [newLayer release];
- }
- }
-
- if (Vector<RenderLayer*>* normalFlowList = layer->normalFlowList()) {
- size_t listSize = normalFlowList->size();
-
- if (listSize) {
- WebRenderLayer* newLayer = [[WebRenderLayer alloc] initWithName:@"normal flow list"];
- [childWebLayers addObject:newLayer];
- [newLayer release];
- }
-
- for (size_t i = 0; i < listSize; ++i) {
- RenderLayer* curLayer = normalFlowList->at(i);
-
- WebRenderLayer* newLayer = [[WebRenderLayer alloc] initWithRenderLayer:curLayer];
- [newLayer buildDescendantLayers:curLayer];
-
- [childWebLayers addObject:newLayer];
- [newLayer release];
- }
- }
-
- if (Vector<RenderLayer*>* posZOrderList = layer->posZOrderList()) {
- size_t listSize = posZOrderList->size();
-
- if (listSize) {
- WebRenderLayer* newLayer = [[WebRenderLayer alloc] initWithName:@"+ve z-order list"];
- [childWebLayers addObject:newLayer];
- [newLayer release];
- }
-
- for (size_t i = 0; i < listSize; ++i) {
- RenderLayer* curLayer = posZOrderList->at(i);
-
- WebRenderLayer* newLayer = [[WebRenderLayer alloc] initWithRenderLayer:curLayer];
- [newLayer buildDescendantLayers:curLayer];
-
- [childWebLayers addObject:newLayer];
- [newLayer release];
- }
- }
-
- children = childWebLayers;
-}
-
-- (NSArray *)children
-{
- return children;
-}
-
-- (NSString *)name
-{
- return name;
-}
-
-- (NSString *)positionString
-{
- return [NSString stringWithFormat:@"(%.0f, %.0f)", bounds.origin.x, bounds.origin.y];
-}
-
-- (NSString *)widthString
-{
- return [NSString stringWithFormat:@"%.0f", bounds.size.width];
-}
-
-- (NSString *)heightString
-{
- return [NSString stringWithFormat:@"%.0f", bounds.size.height];
-}
-
-- (NSString *)compositingInfo
-{
- return compositingInfo;
-}
-
-- (BOOL)isComposited
-{
- return composited;
-}
-
-- (BOOL)isSeparator
-{
- return separator;
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebRenderNode.h b/Source/WebKit/mac/WebView/WebRenderNode.h
deleted file mode 100644
index 901b2cc25..000000000
--- a/Source/WebKit/mac/WebView/WebRenderNode.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class WebFrame;
-
-@interface WebRenderNode : NSObject
-{
- NSArray *children;
- NSString *name;
- NSRect rect;
- NSPoint absolutePosition;
-}
-
-- (id)initWithWebFrame:(WebFrame *)frame;
-
-- (NSArray *)children;
-
-- (NSString *)name;
-- (NSString *)positionString;
-- (NSString *)absolutePositionString;
-- (NSString *)widthString;
-- (NSString *)heightString;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebRenderNode.mm b/Source/WebKit/mac/WebView/WebRenderNode.mm
deleted file mode 100644
index a180eeead..000000000
--- a/Source/WebKit/mac/WebView/WebRenderNode.mm
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright (C) 2005, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebRenderNode.h"
-
-#import "WebFrameInternal.h"
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/FrameLoaderClient.h>
-#import <WebCore/RenderText.h>
-#import <WebCore/RenderWidget.h>
-#import <WebCore/RenderView.h>
-#import <WebCore/Widget.h>
-
-using namespace WebCore;
-
-static WebRenderNode *copyRenderNode(RenderObject*);
-
-@implementation WebRenderNode
-
-- (id)_initWithCoreFrame:(Frame *)frame
-{
- [self release];
-
- if (!frame->loader()->client()->hasHTMLView())
- return nil;
-
- RenderObject* renderer = frame->contentRenderer();
- if (!renderer)
- return nil;
-
- return copyRenderNode(renderer);
-}
-
-- (id)_initWithName:(NSString *)n position:(NSPoint)p rect:(NSRect)r coreFrame:(Frame*)coreFrame children:(NSArray *)c
-{
- NSMutableArray *collectChildren;
-
- self = [super init];
- if (!self)
- return nil;
-
- collectChildren = [c mutableCopy];
-
- name = [n retain];
- rect = r;
- absolutePosition = p;
-
- if (coreFrame) {
- WebRenderNode *node = [[WebRenderNode alloc] _initWithCoreFrame:coreFrame];
- [collectChildren addObject:node];
- [node release];
- }
-
- children = [collectChildren copy];
- [collectChildren release];
-
- return self;
-}
-
-static WebRenderNode *copyRenderNode(RenderObject* node)
-{
- NSMutableArray *children = [[NSMutableArray alloc] init];
- for (RenderObject* child = node->firstChild(); child; child = child->nextSibling()) {
- WebRenderNode *childCopy = copyRenderNode(child);
- [children addObject:childCopy];
- [childCopy release];
- }
-
- NSString *name = [[NSString alloc] initWithUTF8String:node->renderName()];
-
- RenderWidget* renderWidget = node->isWidget() ? toRenderWidget(node) : 0;
- Widget* widget = renderWidget ? renderWidget->widget() : 0;
- FrameView* frameView = widget && widget->isFrameView() ? toFrameView(widget) : 0;
- Frame* frame = frameView ? frameView->frame() : 0;
-
- // FIXME: broken with transforms
- FloatPoint absPos = node->localToAbsolute();
- int x = 0;
- int y = 0;
- int width = 0;
- int height = 0;
- if (node->isBox()) {
- RenderBox* box = toRenderBox(node);
- x = box->x();
- y = box->y();
- width = box->width();
- height = box->height();
- } else if (node->isText()) {
- // FIXME: Preserve old behavior even though it's strange.
- RenderText* text = toRenderText(node);
- x = text->firstRunX();
- y = text->firstRunY();
- IntRect box = text->linesBoundingBox();
- width = box.width();
- height = box.height();
- } else if (node->isRenderInline()) {
- RenderBoxModelObject* inlineFlow = toRenderBoxModelObject(node);
- IntRect boundingBox = inlineFlow->borderBoundingBox();
- x = boundingBox.x();
- y = boundingBox.y();
- width = boundingBox.width();
- height = boundingBox.height();
- }
-
- WebRenderNode *result = [[WebRenderNode alloc] _initWithName:name
- position:absPos rect:NSMakeRect(x, y, width, height)
- coreFrame:frame children:children];
-
- [name release];
- [children release];
-
- return result;
-}
-
-- (id)initWithWebFrame:(WebFrame *)frame
-{
- return [self _initWithCoreFrame:core(frame)];
-}
-
-- (void)dealloc
-{
- [children release];
- [name release];
- [super dealloc];
-}
-
-- (NSArray *)children
-{
- return children;
-}
-
-- (NSString *)name
-{
- return name;
-}
-
-- (NSString *)absolutePositionString
-{
- return [NSString stringWithFormat:@"(%.0f, %.0f)", absolutePosition.x, absolutePosition.y];
-}
-
-- (NSString *)positionString
-{
- return [NSString stringWithFormat:@"(%.0f, %.0f)", rect.origin.x, rect.origin.y];
-}
-
-- (NSString *)widthString
-{
- return [NSString stringWithFormat:@"%.0f", rect.size.width];
-}
-
-- (NSString *)heightString
-{
- return [NSString stringWithFormat:@"%.0f", rect.size.height];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebResource.h b/Source/WebKit/mac/WebView/WebResource.h
deleted file mode 100644
index 7d817b71e..000000000
--- a/Source/WebKit/mac/WebView/WebResource.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2004, 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class WebResourcePrivate;
-
-
-/*!
- @class WebResource
- @discussion A WebResource represents a fully downloaded URL.
- It includes the data of the resource as well as the metadata associated with the resource.
-*/
-@interface WebResource : NSObject <NSCoding, NSCopying>
-{
-@private
- WebResourcePrivate *_private;
-}
-
-/*!
- @method initWithData:URL:MIMEType:textEncodingName:frameName
- @abstract The initializer for WebResource.
- @param data The data of the resource.
- @param URL The URL of the resource.
- @param MIMEType The MIME type of the resource.
- @param textEncodingName The text encoding name of the resource (can be nil).
- @param frameName The frame name of the resource if the resource represents the contents of an entire HTML frame (can be nil).
- @result An initialized WebResource.
-*/
-- (id)initWithData:(NSData *)data URL:(NSURL *)URL MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName frameName:(NSString *)frameName;
-
-/*!
- @method data
- @result The data of the resource.
-*/
-- (NSData *)data;
-
-/*!
- @method URL
- @result The URL of the resource.
-*/
-- (NSURL *)URL;
-
-/*!
- @method MIMEType
- @result The MIME type of the resource.
-*/
-- (NSString *)MIMEType;
-
-/*!
- @method textEncodingName
- @result The text encoding name of the resource (can be nil).
-*/
-- (NSString *)textEncodingName;
-
-/*!
- @method frameName
- @result The frame name of the resource if the resource represents the contents of an entire HTML frame (can be nil).
-*/
-- (NSString *)frameName;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebResource.mm b/Source/WebKit/mac/WebView/WebResource.mm
deleted file mode 100644
index 3964f6f79..000000000
--- a/Source/WebKit/mac/WebView/WebResource.mm
+++ /dev/null
@@ -1,453 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebResourceInternal.h"
-
-#import "WebFrameInternal.h"
-#import "WebKitLogging.h"
-#import "WebKitVersionChecks.h"
-#import "WebNSDictionaryExtras.h"
-#import "WebNSObjectExtras.h"
-#import "WebNSURLExtras.h"
-#import <JavaScriptCore/InitializeThreading.h>
-#import <wtf/PassRefPtr.h>
-#import <WebCore/ArchiveResource.h>
-#import <WebCore/LegacyWebArchive.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/RuntimeApplicationChecks.h>
-#import <WebCore/TextEncoding.h>
-#import <WebCore/ThreadCheck.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <WebCore/WebCoreURLResponse.h>
-#import <wtf/MainThread.h>
-
-using namespace WebCore;
-
-static NSString * const WebResourceDataKey = @"WebResourceData";
-static NSString * const WebResourceFrameNameKey = @"WebResourceFrameName";
-static NSString * const WebResourceMIMETypeKey = @"WebResourceMIMEType";
-static NSString * const WebResourceURLKey = @"WebResourceURL";
-static NSString * const WebResourceTextEncodingNameKey = @"WebResourceTextEncodingName";
-static NSString * const WebResourceResponseKey = @"WebResourceResponse";
-
-@interface WebResourcePrivate : NSObject {
-@public
- ArchiveResource* coreResource;
-}
-- (id)initWithCoreResource:(PassRefPtr<ArchiveResource>)coreResource;
-@end
-
-@implementation WebResourcePrivate
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
-}
-
-- (id)init
-{
- return [super init];
-}
-
-- (id)initWithCoreResource:(PassRefPtr<ArchiveResource>)passedResource
-{
- self = [super init];
- if (!self)
- return nil;
- // Acquire the PassRefPtr<>'s ref as our own manual ref
- coreResource = passedResource.leakRef();
- return self;
-}
-
-- (void)dealloc
-{
- if (WebCoreObjCScheduleDeallocateOnMainThread([WebResourcePrivate class], self))
- return;
-
- if (coreResource)
- coreResource->deref();
- [super dealloc];
-}
-
-- (void)finalize
-{
- if (coreResource)
- coreResource->deref();
- [super finalize];
-}
-
-@end
-
-@implementation WebResource
-
-- (id)init
-{
- self = [super init];
- if (!self)
- return nil;
- _private = [[WebResourcePrivate alloc] init];
- return self;
-}
-
-- (id)initWithData:(NSData *)data URL:(NSURL *)URL MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName frameName:(NSString *)frameName
-{
- return [self _initWithData:data URL:URL MIMEType:MIMEType textEncodingName:textEncodingName frameName:frameName response:nil copyData:YES];
-}
-
-- (id)initWithCoder:(NSCoder *)decoder
-{
- WebCoreThreadViolationCheckRoundTwo();
-
- self = [super init];
- if (!self)
- return nil;
-
- NSData *data = nil;
- NSURL *url = nil;
- NSString *mimeType = nil, *textEncoding = nil, *frameName = nil;
- NSURLResponse *response = nil;
-
- @try {
- id object = [decoder decodeObjectForKey:WebResourceDataKey];
- if ([object isKindOfClass:[NSData class]])
- data = object;
- object = [decoder decodeObjectForKey:WebResourceURLKey];
- if ([object isKindOfClass:[NSURL class]])
- url = object;
- object = [decoder decodeObjectForKey:WebResourceMIMETypeKey];
- if ([object isKindOfClass:[NSString class]])
- mimeType = object;
- object = [decoder decodeObjectForKey:WebResourceTextEncodingNameKey];
- if ([object isKindOfClass:[NSString class]])
- textEncoding = object;
- object = [decoder decodeObjectForKey:WebResourceFrameNameKey];
- if ([object isKindOfClass:[NSString class]])
- frameName = object;
- object = [decoder decodeObjectForKey:WebResourceResponseKey];
- if ([object isKindOfClass:[NSURLResponse class]])
- response = object;
- } @catch(id) {
- [self release];
- return nil;
- }
-
- _private = [[WebResourcePrivate alloc] initWithCoreResource:ArchiveResource::create(SharedBuffer::wrapNSData(data), url, mimeType, textEncoding, frameName, response)];
-
- return self;
-}
-
-- (void)encodeWithCoder:(NSCoder *)encoder
-{
- ArchiveResource *resource = _private->coreResource;
-
- NSData *data = nil;
- NSURL *url = nil;
- NSString *mimeType = nil, *textEncoding = nil, *frameName = nil;
- NSURLResponse *response = nil;
-
- if (resource) {
- if (resource->data())
- data = [resource->data()->createNSData() autorelease];
- url = resource->url();
- mimeType = resource->mimeType();
- textEncoding = resource->textEncoding();
- frameName = resource->frameName();
- response = resource->response().nsURLResponse();
- }
- [encoder encodeObject:data forKey:WebResourceDataKey];
- [encoder encodeObject:url forKey:WebResourceURLKey];
- [encoder encodeObject:mimeType forKey:WebResourceMIMETypeKey];
- [encoder encodeObject:textEncoding forKey:WebResourceTextEncodingNameKey];
- [encoder encodeObject:frameName forKey:WebResourceFrameNameKey];
- [encoder encodeObject:response forKey:WebResourceResponseKey];
-}
-
-- (void)dealloc
-{
- [_private release];
- [super dealloc];
-}
-
-- (id)copyWithZone:(NSZone *)zone
-{
- return [self retain];
-}
-
-- (NSData *)data
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] data];
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- if (!_private->coreResource)
- return nil;
- if (!_private->coreResource->data())
- return nil;
- return [_private->coreResource->data()->createNSData() autorelease];
-}
-
-- (NSURL *)URL
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] URL];
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- if (!_private->coreResource)
- return nil;
- NSURL *url = _private->coreResource->url();
- return url;
-}
-
-- (NSString *)MIMEType
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] MIMEType];
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- if (!_private->coreResource)
- return nil;
- NSString *mimeType = _private->coreResource->mimeType();
- return mimeType;
-}
-
-- (NSString *)textEncodingName
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] textEncodingName];
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- if (!_private->coreResource)
- return nil;
- NSString *textEncodingName = _private->coreResource->textEncoding();
- return textEncodingName;
-}
-
-- (NSString *)frameName
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] frameName];
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- if (!_private->coreResource)
- return nil;
- NSString *frameName = _private->coreResource->frameName();
- return frameName;
-}
-
-- (NSString *)description
-{
- return [NSString stringWithFormat:@"<%@ %@>", [self className], [self URL]];
-}
-
-@end
-
-@implementation WebResource (WebResourceInternal)
-
-- (id)_initWithCoreResource:(PassRefPtr<ArchiveResource>)coreResource
-{
- self = [super init];
- if (!self)
- return nil;
-
- ASSERT(coreResource);
-
- // WebResources should not be init'ed with nil data, and doing so breaks certain uses of NSHTMLReader
- // See <rdar://problem/5820157> for more info
- if (!coreResource->data()) {
- [self release];
- return nil;
- }
-
- _private = [[WebResourcePrivate alloc] initWithCoreResource:coreResource];
-
- return self;
-}
-
-- (WebCore::ArchiveResource *)_coreResource
-{
- return _private->coreResource;
-}
-
-@end
-
-@implementation WebResource (WebResourcePrivate)
-
-// SPI for Mail (5066325)
-// FIXME: This "ignoreWhenUnarchiving" concept is an ugly one - can we find a cleaner solution for those who need this SPI?
-- (void)_ignoreWhenUnarchiving
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround()) {
- [[self _webkit_invokeOnMainThread] _ignoreWhenUnarchiving];
- return;
- }
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- if (!_private->coreResource)
- return;
- _private->coreResource->ignoreWhenUnarchiving();
-}
-
-- (id)_initWithData:(NSData *)data
- URL:(NSURL *)URL
- MIMEType:(NSString *)MIMEType
- textEncodingName:(NSString *)textEncodingName
- frameName:(NSString *)frameName
- response:(NSURLResponse *)response
- copyData:(BOOL)copyData
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] _initWithData:data URL:URL MIMEType:MIMEType textEncodingName:textEncodingName frameName:frameName response:response copyData:copyData];
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- self = [super init];
- if (!self)
- return nil;
-
- if (!data || !URL || !MIMEType) {
- [self release];
- return nil;
- }
-
- _private = [[WebResourcePrivate alloc] initWithCoreResource:ArchiveResource::create(SharedBuffer::wrapNSData(copyData ? [[data copy] autorelease] : data), URL, MIMEType, textEncodingName, frameName, response)];
-
- return self;
-}
-
-- (id)_initWithData:(NSData *)data URL:(NSURL *)URL response:(NSURLResponse *)response
-{
- // Pass NO for copyData since the data doesn't need to be copied since we know that callers will no longer modify it.
- // Copying it will also cause a performance regression.
- return [self _initWithData:data
- URL:URL
- MIMEType:[response MIMEType]
- textEncodingName:[response textEncodingName]
- frameName:nil
- response:response
- copyData:NO];
-}
-
-- (NSString *)_suggestedFilename
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] _suggestedFilename];
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- if (!_private->coreResource)
- return nil;
- NSString *suggestedFilename = _private->coreResource->response().suggestedFilename();
- return suggestedFilename;
-}
-
-- (NSFileWrapper *)_fileWrapperRepresentation
-{
- NSFileWrapper *wrapper = [[[NSFileWrapper alloc] initRegularFileWithContents:[self data]] autorelease];
- NSString *filename = [self _suggestedFilename];
- if (!filename || ![filename length])
- filename = [[self URL] _webkit_suggestedFilenameWithMIMEType:[self MIMEType]];
- [wrapper setPreferredFilename:filename];
- return wrapper;
-}
-
-- (NSURLResponse *)_response
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] _response];
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- NSURLResponse *response = nil;
- if (_private->coreResource)
- response = _private->coreResource->response().nsURLResponse();
- return response ? response : [[[NSURLResponse alloc] init] autorelease];
-}
-
-- (NSString *)_stringValue
-{
-#ifdef MAIL_THREAD_WORKAROUND
- if (needMailThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] _stringValue];
-#endif
-
- WebCoreThreadViolationCheckRoundTwo();
-
- WebCore::TextEncoding encoding;
- if (_private->coreResource)
- encoding = _private->coreResource->textEncoding();
- if (!encoding.isValid())
- encoding = WindowsLatin1Encoding();
-
- SharedBuffer* coreData = _private->coreResource ? _private->coreResource->data() : 0;
- return encoding.decode(reinterpret_cast<const char*>(coreData ? coreData->data() : 0), coreData ? coreData->size() : 0);
-}
-
-@end
-
-#ifdef MAIL_THREAD_WORKAROUND
-
-static const double newMailBundleVersion = 1050.0;
-
-@implementation WebResource (WebMailThreadWorkaround)
-
-+ (BOOL)_needMailThreadWorkaroundIfCalledOffMainThread
-{
- static BOOL isOldMail = applicationIsAppleMail() && [[[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey] doubleValue] < newMailBundleVersion;
- return isOldMail;
-}
-
-@end
-
-#endif
diff --git a/Source/WebKit/mac/WebView/WebResourceInternal.h b/Source/WebKit/mac/WebView/WebResourceInternal.h
deleted file mode 100644
index 7b9252639..000000000
--- a/Source/WebKit/mac/WebView/WebResourceInternal.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebResourcePrivate.h"
-#import <wtf/PassRefPtr.h>
-
-namespace WebCore {
- class ArchiveResource;
-}
-
-@interface WebResource (WebResourceInternal)
-- (id)_initWithCoreResource:(PassRefPtr<WebCore::ArchiveResource>)coreResource;
-- (WebCore::ArchiveResource*)_coreResource;
-@end
diff --git a/Source/WebKit/mac/WebView/WebResourceLoadDelegate.h b/Source/WebKit/mac/WebView/WebResourceLoadDelegate.h
deleted file mode 100644
index b34a7131e..000000000
--- a/Source/WebKit/mac/WebView/WebResourceLoadDelegate.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright (C) 2003, 2004, 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-@class WebView;
-@class WebDataSource;
-@class NSURLAuthenticationChallenge;
-@class NSURLResponse;
-@class NSURLRequest;
-
-/*!
- @category WebResourceLoadDelegate
- @discussion Implementors of this protocol will receive messages indicating
- that a resource is about to be loaded, data has been received for a resource,
- an error has been received for a resource, and completion of a resource load.
- Implementors are also given the opportunity to mutate requests before they are sent.
- The various progress methods of this protocol all receive an identifier as the
- parameter. This identifier can be used to track messages associated with a single
- resource. For example, a single resource may generate multiple
- resource:willSendRequest:redirectResponse:fromDataSource: messages as it's URL is redirected.
-*/
-@interface NSObject (WebResourceLoadDelegate)
-
-/*!
- @method webView:identifierForInitialRequest:fromDataSource:
- @param webView The WebView sending the message.
- @param request The request about to be sent.
- @param dataSource The datasource that initiated the load.
- @discussion An implementor of WebResourceLoadDelegate should provide an identifier
- that can be used to track the load of a single resource. This identifier will be
- passed as the first argument for all of the other WebResourceLoadDelegate methods. The
- identifier is useful to track changes to a resources request, which will be
- provided by one or more calls to resource:willSendRequest:redirectResponse:fromDataSource:.
- @result An identifier that will be passed back to the implementor for each callback.
- The identifier will be retained.
-*/
-- (id)webView:(WebView *)sender identifierForInitialRequest:(NSURLRequest *)request fromDataSource:(WebDataSource *)dataSource;
-
-/*!
- @method webView:resource:willSendRequest:redirectResponse:fromDataSource:
- @discussion This message is sent before a load is initiated. The request may be modified
- as necessary by the receiver.
- @param webView The WebView sending the message.
- @param identifier An identifier that can be used to track the progress of a resource load across
- multiple call backs.
- @param request The request about to be sent.
- @param redirectResponse If the request is being made in response to a redirect we received,
- the response that conveyed that redirect.
- @param dataSource The dataSource that initiated the load.
- @result Returns the request, which may be mutated by the implementor, although typically
- will be request.
-*/
-- (NSURLRequest *)webView:(WebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse fromDataSource:(WebDataSource *)dataSource;
-
-/*!
- @method webView:resource:didReceiveAuthenticationChallenge:fromDataSource:
- @abstract Start authentication for the resource, providing a challenge
- @discussion Call useCredential::, continueWithoutCredential or
- cancel on the challenge when done.
- @param challenge The NSURLAuthenticationChallenge to start authentication for
- @discussion If you do not implement this delegate method, WebKit will handle authentication
- automatically by prompting with a sheet on the window that the WebView is associated with.
-*/
-- (void)webView:(WebView *)sender resource:(id)identifier didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge fromDataSource:(WebDataSource *)dataSource;
-
-/*!
- @method webView:resource:didCancelAuthenticationChallenge:fromDataSource:
- @abstract Cancel authentication for a given request
- @param challenge The NSURLAuthenticationChallenge for which to cancel authentication
-*/
-- (void)webView:(WebView *)sender resource:(id)identifier didCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge fromDataSource:(WebDataSource *)dataSource;
-
-/*!
- @method webView:resource:didReceiveResponse:fromDataSource:
- @abstract This message is sent after a response has been received for this load.
- @param webView The WebView sending the message.
- @param identifier An identifier that can be used to track the progress of a resource load across
- multiple call backs.
- @param response The response for the request.
- @param dataSource The dataSource that initiated the load.
- @discussion In some rare cases, multiple responses may be received for a single load.
- This occurs with multipart/x-mixed-replace, or "server push". In this case, the client
- should assume that each new response resets progress so far for the resource back to 0,
- and should check the new response for the expected content length.
-*/
-- (void)webView:(WebView *)sender resource:(id)identifier didReceiveResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)dataSource;
-
-/*!
- @method webView:resource:didReceiveContentLength:fromDataSource:
- @discussion Multiple of these messages may be sent as data arrives.
- @param webView The WebView sending the message.
- @param identifier An identifier that can be used to track the progress of a resource load across
- multiple call backs.
- @param length The amount of new data received. This is not the total amount, just the new amount received.
- @param dataSource The dataSource that initiated the load.
-*/
-- (void)webView:(WebView *)sender resource:(id)identifier didReceiveContentLength:(NSInteger)length fromDataSource:(WebDataSource *)dataSource;
-
-/*!
- @method webView:resource:didFinishLoadingFromDataSource:
- @discussion This message is sent after a load has successfully completed.
- @param webView The WebView sending the message.
- @param identifier An identifier that can be used to track the progress of a resource load across
- multiple call backs.
- @param dataSource The dataSource that initiated the load.
-*/
-- (void)webView:(WebView *)sender resource:(id)identifier didFinishLoadingFromDataSource:(WebDataSource *)dataSource;
-
-/*!
- @method webView:resource:didFailLoadingWithError:fromDataSource:
- @discussion This message is sent after a load has failed to load due to an error.
- @param webView The WebView sending the message.
- @param identifier An identifier that can be used to track the progress of a resource load across
- multiple call backs.
- @param error The error associated with this load.
- @param dataSource The dataSource that initiated the load.
-*/
-- (void)webView:(WebView *)sender resource:(id)identifier didFailLoadingWithError:(NSError *)error fromDataSource:(WebDataSource *)dataSource;
-
-/*!
- @method webView:plugInFailedWithError:dataSource:
- @discussion Called when a plug-in is not found, fails to load or is not available for some reason.
- @param webView The WebView sending the message.
- @param error The plug-in error. In the userInfo dictionary of the error, the object for the
- NSErrorFailingURLKey key is a URL string of the SRC attribute, the object for the WebKitErrorPlugInNameKey
- key is a string of the plug-in's name, the object for the WebKitErrorPlugInPageURLStringKey key is a URL string
- of the PLUGINSPAGE attribute and the object for the WebKitErrorMIMETypeKey key is a string of the TYPE attribute.
- Some, none or all of the mentioned attributes can be present in the userInfo. The error returns nil for userInfo
- when none are present.
- @param dataSource The dataSource that contains the plug-in.
-*/
-- (void)webView:(WebView *)sender plugInFailedWithError:(NSError *)error dataSource:(WebDataSource *)dataSource;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebResourceLoadDelegatePrivate.h b/Source/WebKit/mac/WebView/WebResourceLoadDelegatePrivate.h
deleted file mode 100644
index 6308f551f..000000000
--- a/Source/WebKit/mac/WebView/WebResourceLoadDelegatePrivate.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-@class WebView;
-@class WebDataSource;
-@class NSURLAuthenticationChallenge;
-@class NSURLResponse;
-@class NSURLRequest;
-
-@interface NSObject (WebResourceLoadDelegatePrivate)
-
-- (void)webView:(WebView *)webView didLoadResourceFromMemoryCache:(NSURLRequest *)request response:(NSURLResponse *)response length:(NSInteger)length fromDataSource:(WebDataSource *)dataSource;
-- (BOOL)webView:(WebView *)webView resource:(id)identifier shouldUseCredentialStorageForDataSource:(WebDataSource *)dataSource;
-
-#if WEBKIT_VERSION_MAX_ALLOWED > WEBKIT_VERSION_4_0
-/*!
- @method webView:resource:canAuthenticateAgainstProtectionSpace:forDataSource:
- @abstract Inspect an NSURLProtectionSpace before an authentication attempt is made. Only used on Snow Leopard or newer.
- @param protectionSpace an NSURLProtectionSpace that will be used to generate an authentication challenge
- @result Return YES if the resource load delegate is prepared to respond to an authentication challenge generated with protectionSpace, NO otherwise
- */
-- (BOOL)webView:(WebView *)sender resource:(id)identifier canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace forDataSource:(WebDataSource *)dataSource;
-#endif
-
-/*!
- @method webView:shouldPaintBrokenImageForURL:(NSURL*)imageURL
- @abstract This message is sent when an image cannot be decoded or displayed.
- @param imageURL The url of the broken image.
- @result return YES if WebKit should paint the default broken image.
- */
-- (BOOL)webView:(WebView*)sender shouldPaintBrokenImageForURL:(NSURL*)imageURL;
-@end
diff --git a/Source/WebKit/mac/WebView/WebResourcePrivate.h b/Source/WebKit/mac/WebView/WebResourcePrivate.h
deleted file mode 100644
index 80d9835f2..000000000
--- a/Source/WebKit/mac/WebView/WebResourcePrivate.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebResource.h>
-
-@interface WebResource (WebResourcePrivate)
-
-- (id)_initWithData:(NSData *)data
- URL:(NSURL *)URL
- MIMEType:(NSString *)MIMEType
- textEncodingName:(NSString *)textEncodingName
- frameName:(NSString *)frameName
- response:(NSURLResponse *)response
- copyData:(BOOL)copyData;
-
-- (id)_initWithData:(NSData *)data URL:(NSURL *)URL response:(NSURLResponse *)response;
-
-- (void)_ignoreWhenUnarchiving;
-
-- (NSFileWrapper *)_fileWrapperRepresentation;
-- (NSURLResponse *)_response;
-- (NSString *)_stringValue;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebScriptDebugDelegate.h b/Source/WebKit/mac/WebView/WebScriptDebugDelegate.h
deleted file mode 100644
index 8bd6ea468..000000000
--- a/Source/WebKit/mac/WebView/WebScriptDebugDelegate.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-typedef intptr_t WebSourceId;
-
-@class WebView;
-@class WebFrame;
-@class WebScriptCallFrame;
-@class WebScriptCallFramePrivate;
-@class WebScriptObject;
-
-extern NSString * const WebScriptErrorDomain;
-extern NSString * const WebScriptErrorDescriptionKey;
-extern NSString * const WebScriptErrorLineNumberKey;
-
-enum {
- WebScriptGeneralErrorCode = -100
-};
-
-// WebScriptDebugDelegate messages
-
-@interface NSObject (WebScriptDebugDelegate)
-
-// some source was parsed, establishing a "source ID" (>= 0) for future reference
-// this delegate method is deprecated, please switch to the new version below
-- (void)webView:(WebView *)webView didParseSource:(NSString *)source
- fromURL:(NSString *)url
- sourceId:(WebSourceId)sid
- forWebFrame:(WebFrame *)webFrame;
-
-// some source was parsed, establishing a "source ID" (>= 0) for future reference
-- (void)webView:(WebView *)webView didParseSource:(NSString *)source
- baseLineNumber:(NSUInteger)lineNumber
- fromURL:(NSURL *)url
- sourceId:(WebSourceId)sid
- forWebFrame:(WebFrame *)webFrame;
-
-// some source failed to parse
-- (void)webView:(WebView *)webView failedToParseSource:(NSString *)source
- baseLineNumber:(NSUInteger)lineNumber
- fromURL:(NSURL *)url
- withError:(NSError *)error
- forWebFrame:(WebFrame *)webFrame;
-
-// just entered a stack frame (i.e. called a function, or started global scope)
-- (void)webView:(WebView *)webView didEnterCallFrame:(WebScriptCallFrame *)frame
- sourceId:(WebSourceId)sid
- line:(int)lineno
- forWebFrame:(WebFrame *)webFrame;
-
-// about to execute some code
-- (void)webView:(WebView *)webView willExecuteStatement:(WebScriptCallFrame *)frame
- sourceId:(WebSourceId)sid
- line:(int)lineno
- forWebFrame:(WebFrame *)webFrame;
-
-// about to leave a stack frame (i.e. return from a function)
-- (void)webView:(WebView *)webView willLeaveCallFrame:(WebScriptCallFrame *)frame
- sourceId:(WebSourceId)sid
- line:(int)lineno
- forWebFrame:(WebFrame *)webFrame;
-
-// exception is being thrown
-- (void)webView:(WebView *)webView exceptionWasRaised:(WebScriptCallFrame *)frame
- hasHandler:(BOOL)hasHandler
- sourceId:(WebSourceId)sid
- line:(int)lineno
- forWebFrame:(WebFrame *)webFrame;
-
-// exception is being thrown (deprecated old version; called only if new version is not implemented)
-- (void)webView:(WebView *)webView exceptionWasRaised:(WebScriptCallFrame *)frame
- sourceId:(WebSourceId)sid
- line:(int)lineno
- forWebFrame:(WebFrame *)webFrame;
-
-@end
-
-
-
-// WebScriptCallFrame interface
-//
-// These objects are passed as arguments to the debug delegate.
-
-@interface WebScriptCallFrame : NSObject
-{
-@private
- WebScriptCallFramePrivate* _private;
- id _userInfo;
-}
-
-// associate user info with frame
-- (void)setUserInfo:(id)userInfo;
-
-// retrieve user info
-- (id)userInfo;
-
-// get next frame on call stack (or nil if this is already the "global" frame)
-- (WebScriptCallFrame *)caller;
-
-// get array of WebScriptObjects for each scope (innermost first, last is always global object)
-- (NSArray *)scopeChain;
-
-// get name of function (if available) or nil
-- (NSString *)functionName;
-
-// get pending exception (if any) or nil
-- (id)exception;
-
-// evaluate a script (as if by "eval") in the context of this frame
-- (id)evaluateWebScript:(NSString *)script;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm b/Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm
deleted file mode 100644
index f1eebd355..000000000
--- a/Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebDataSource.h"
-#import "WebDataSourceInternal.h"
-#import "WebFrameInternal.h"
-#import "WebScriptDebugDelegate.h"
-#import "WebScriptDebugger.h"
-#import "WebViewInternal.h"
-#import <WebCore/Frame.h>
-#import <WebCore/ScriptController.h>
-#import <WebCore/WebScriptObjectPrivate.h>
-#import <WebCore/runtime_root.h>
-#import <debugger/Debugger.h>
-#import <debugger/DebuggerActivation.h>
-#import <debugger/DebuggerCallFrame.h>
-#import <interpreter/CallFrame.h>
-#import <runtime/Completion.h>
-#import <runtime/JSFunction.h>
-#import <runtime/JSGlobalObject.h>
-#import <runtime/JSLock.h>
-
-using namespace JSC;
-using namespace WebCore;
-
-// FIXME: these error strings should be public for future use by WebScriptObject and in WebScriptObject.h
-NSString * const WebScriptErrorDomain = @"WebScriptErrorDomain";
-NSString * const WebScriptErrorDescriptionKey = @"WebScriptErrorDescription";
-NSString * const WebScriptErrorLineNumberKey = @"WebScriptErrorLineNumber";
-
-@interface WebScriptCallFrame (WebScriptDebugDelegateInternal)
-
-- (id)_convertValueToObjcValue:(JSC::JSValue)value;
-
-@end
-
-@interface WebScriptCallFramePrivate : NSObject {
-@public
- WebScriptObject *globalObject; // the global object's proxy (not retained)
- WebScriptCallFrame *caller; // previous stack frame
- DebuggerCallFrame* debuggerCallFrame;
- WebScriptDebugger* debugger;
-}
-@end
-
-@implementation WebScriptCallFramePrivate
-- (void)dealloc
-{
- [caller release];
- delete debuggerCallFrame;
- [super dealloc];
-}
-@end
-
-// WebScriptCallFrame
-//
-// One of these is created to represent each stack frame. Additionally, there is a "global"
-// frame to represent the outermost scope. This global frame is always the last frame in
-// the chain of callers.
-//
-// The delegate can assign a "wrapper" to each frame object so it can relay calls through its
-// own exported interface. This class is private to WebCore (and the delegate).
-
-@implementation WebScriptCallFrame (WebScriptDebugDelegateInternal)
-
-- (WebScriptCallFrame *)_initWithGlobalObject:(WebScriptObject *)globalObj debugger:(WebScriptDebugger *)debugger caller:(WebScriptCallFrame *)caller debuggerCallFrame:(const DebuggerCallFrame&)debuggerCallFrame
-{
- if ((self = [super init])) {
- _private = [[WebScriptCallFramePrivate alloc] init];
- _private->globalObject = globalObj;
- _private->caller = [caller retain];
- _private->debugger = debugger;
- }
- return self;
-}
-
-- (void)_setDebuggerCallFrame:(const DebuggerCallFrame&)debuggerCallFrame
-{
- if (!_private->debuggerCallFrame)
- _private->debuggerCallFrame = new DebuggerCallFrame(debuggerCallFrame);
- else
- *_private->debuggerCallFrame = debuggerCallFrame;
-}
-
-- (void)_clearDebuggerCallFrame
-{
- delete _private->debuggerCallFrame;
- _private->debuggerCallFrame = 0;
-}
-
-- (id)_convertValueToObjcValue:(JSC::JSValue)value
-{
- if (!value)
- return nil;
-
- WebScriptObject *globalObject = _private->globalObject;
- if (value == [globalObject _imp])
- return globalObject;
-
- Bindings::RootObject* root1 = [globalObject _originRootObject];
- if (!root1)
- return nil;
-
- Bindings::RootObject* root2 = [globalObject _rootObject];
- if (!root2)
- return nil;
-
- return [WebScriptObject _convertValueToObjcValue:value originRootObject:root1 rootObject:root2];
-}
-
-@end
-
-
-
-@implementation WebScriptCallFrame
-
-- (void) dealloc
-{
- [_userInfo release];
- [_private release];
- [super dealloc];
-}
-
-- (void)setUserInfo:(id)userInfo
-{
- if (userInfo != _userInfo) {
- [_userInfo release];
- _userInfo = [userInfo retain];
- }
-}
-
-- (id)userInfo
-{
- return _userInfo;
-}
-
-- (WebScriptCallFrame *)caller
-{
- return _private->caller;
-}
-
-// Returns an array of scope objects (most local first).
-// The properties of each scope object are the variables for that scope.
-// Note that the last entry in the array will _always_ be the global object (windowScriptObject),
-// whose properties are the global variables.
-
-- (NSArray *)scopeChain
-{
- if (!_private->debuggerCallFrame)
- return [NSArray array];
-
-
- JSScope* scope = _private->debuggerCallFrame->scope();
- JSLockHolder lock(scope->vm());
- if (!scope->next()) // global frame
- return [NSArray arrayWithObject:_private->globalObject];
-
- NSMutableArray *scopes = [[NSMutableArray alloc] init];
-
- ScopeChainIterator end = scope->end();
- for (ScopeChainIterator it = scope->begin(); it != end; ++it) {
- JSObject* object = it.get();
- if (object->isActivationObject())
- object = DebuggerActivation::create(*scope->vm(), object);
- [scopes addObject:[self _convertValueToObjcValue:object]];
- }
-
- NSArray *result = [NSArray arrayWithArray:scopes];
- [scopes release];
- return result;
-}
-
-// Returns the name of the function for this frame, if available.
-// Returns nil for anonymous functions and for the global frame.
-
-- (NSString *)functionName
-{
- if (!_private->debuggerCallFrame)
- return nil;
-
- String functionName = _private->debuggerCallFrame->functionName();
- return nsStringNilIfEmpty(functionName);
-}
-
-// Returns the pending exception for this frame (nil if none).
-
-- (id)exception
-{
- if (!_private->debuggerCallFrame)
- return nil;
-
- JSC::JSValue exception = _private->debuggerCallFrame->exception();
- return exception ? [self _convertValueToObjcValue:exception] : nil;
-}
-
-// Evaluate some JavaScript code in the context of this frame.
-// The code is evaluated as if by "eval", and the result is returned.
-// If there is an (uncaught) exception, it is returned as though _it_ were the result.
-// Calling this method on the global frame is not quite the same as calling the WebScriptObject
-// method of the same name, due to the treatment of exceptions.
-
-- (id)evaluateWebScript:(NSString *)script
-{
- if (!_private->debuggerCallFrame)
- return nil;
-
- // If this is the global call frame and there is no dynamic global object,
- // Dashcode is attempting to execute JS in the evaluator using a stale
- // WebScriptCallFrame. Instead, we need to set the dynamic global object
- // and evaluate the JS in the global object's global call frame.
- JSGlobalObject* globalObject = _private->debugger->globalObject();
- JSLockHolder lock(globalObject->vm());
-
- if (self == _private->debugger->globalCallFrame() && !globalObject->vm().dynamicGlobalObject) {
- JSGlobalObject* globalObject = _private->debugger->globalObject();
-
- DynamicGlobalObjectScope globalObjectScope(globalObject->vm(), globalObject);
-
- JSC::JSValue exception;
- JSC::JSValue result = evaluateInGlobalCallFrame(script, exception, globalObject);
- if (exception)
- return [self _convertValueToObjcValue:exception];
- return result ? [self _convertValueToObjcValue:result] : nil;
- }
-
- JSC::JSValue exception;
- JSC::JSValue result = _private->debuggerCallFrame->evaluate(script, exception);
- if (exception)
- return [self _convertValueToObjcValue:exception];
- return result ? [self _convertValueToObjcValue:result] : nil;
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebScriptDebugger.h b/Source/WebKit/mac/WebView/WebScriptDebugger.h
deleted file mode 100644
index c7da8fe1f..000000000
--- a/Source/WebKit/mac/WebView/WebScriptDebugger.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebScriptDebugger_h
-#define WebScriptDebugger_h
-
-#include <heap/Strong.h>
-#include <debugger/Debugger.h>
-
-#include <wtf/RetainPtr.h>
-
-namespace WTF {
-class String;
-}
-
-namespace JSC {
- class DebuggerCallFrame;
- class ExecState;
- class JSGlobalObject;
- class JSObject;
- class ArgList;
-}
-
-@class WebScriptCallFrame;
-
-class WebScriptDebugger : public JSC::Debugger {
-public:
- WebScriptDebugger(JSC::JSGlobalObject*);
-
- void initGlobalCallFrame(const JSC::DebuggerCallFrame&);
-
- virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const WTF::String& errorMsg);
- virtual void callEvent(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber, int columnNumber);
- virtual void atStatement(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber, int columnNumber);
- virtual void returnEvent(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber, int columnNumber);
- virtual void exception(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber, int columnNumber, bool hasHandler);
- virtual void willExecuteProgram(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineno, int columnno);
- virtual void didExecuteProgram(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineno, int columnno);
- virtual void didReachBreakpoint(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineno, int columnno);
-
- JSC::JSGlobalObject* globalObject() const { return m_globalObject.get(); }
- WebScriptCallFrame *globalCallFrame() const { return m_globalCallFrame.get(); }
-
-private:
- bool m_callingDelegate;
- RetainPtr<WebScriptCallFrame> m_topCallFrame;
-
- JSC::Strong<JSC::JSGlobalObject> m_globalObject;
- RetainPtr<WebScriptCallFrame> m_globalCallFrame;
-};
-
-#endif // WebScriptDebugger_h
diff --git a/Source/WebKit/mac/WebView/WebScriptDebugger.mm b/Source/WebKit/mac/WebView/WebScriptDebugger.mm
deleted file mode 100644
index e47e92b31..000000000
--- a/Source/WebKit/mac/WebView/WebScriptDebugger.mm
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebScriptDebugger.h"
-
-#import "WebDelegateImplementationCaching.h"
-#import "WebFrameInternal.h"
-#import "WebScriptDebugDelegate.h"
-#import "WebViewInternal.h"
-#import <JavaScriptCore/DebuggerCallFrame.h>
-#import <JavaScriptCore/JSGlobalObject.h>
-#import <JavaScriptCore/SourceProvider.h>
-#import <JavaScriptCore/StrongInlines.h>
-#import <WebCore/DOMWindow.h>
-#import <WebCore/Frame.h>
-#import <WebCore/JSDOMWindow.h>
-#import <WebCore/KURL.h>
-#import <WebCore/ScriptController.h>
-
-using namespace JSC;
-using namespace WebCore;
-
-@interface WebScriptCallFrame (WebScriptDebugDelegateInternal)
-- (WebScriptCallFrame *)_initWithGlobalObject:(WebScriptObject *)globalObj debugger:(WebScriptDebugger *)debugger caller:(WebScriptCallFrame *)caller debuggerCallFrame:(const DebuggerCallFrame&)debuggerCallFrame;
-- (void)_setDebuggerCallFrame:(const DebuggerCallFrame&)debuggerCallFrame;
-- (void)_clearDebuggerCallFrame;
-@end
-
-static NSString *toNSString(SourceProvider* sourceProvider)
-{
- const String& sourceString = sourceProvider->source();
- if (sourceString.isEmpty())
- return nil;
- return sourceString;
-}
-
-// Convert String to NSURL.
-static NSURL *toNSURL(const String& s)
-{
- if (s.isEmpty())
- return nil;
- return KURL(ParsedURLString, s);
-}
-
-static WebFrame *toWebFrame(JSGlobalObject* globalObject)
-{
- JSDOMWindow* window = static_cast<JSDOMWindow*>(globalObject);
- return kit(window->impl()->frame());
-}
-
-WebScriptDebugger::WebScriptDebugger(JSGlobalObject* globalObject)
- : m_callingDelegate(false)
- , m_globalObject(globalObject->vm(), globalObject)
-{
- attach(globalObject);
- initGlobalCallFrame(globalObject->globalExec());
-}
-
-void WebScriptDebugger::initGlobalCallFrame(const DebuggerCallFrame& debuggerCallFrame)
-{
- m_callingDelegate = true;
-
- WebFrame *webFrame = toWebFrame(debuggerCallFrame.dynamicGlobalObject());
-
- m_topCallFrame = adoptNS([[WebScriptCallFrame alloc] _initWithGlobalObject:core(webFrame)->script()->windowScriptObject() debugger:this caller:m_topCallFrame.get() debuggerCallFrame:debuggerCallFrame]);
- m_globalCallFrame = m_topCallFrame;
-
- WebView *webView = [webFrame webView];
- WebScriptDebugDelegateImplementationCache* implementations = WebViewGetScriptDebugDelegateImplementations(webView);
- if (implementations->didEnterCallFrameFunc)
- CallScriptDebugDelegate(implementations->didEnterCallFrameFunc, webView, @selector(webView:didEnterCallFrame:sourceId:line:forWebFrame:), m_topCallFrame.get(), static_cast<NSInteger>(0), -1, webFrame);
-
- m_callingDelegate = false;
-}
-
-// callbacks - relay to delegate
-void WebScriptDebugger::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const String& errorMsg)
-{
- if (m_callingDelegate)
- return;
-
- m_callingDelegate = true;
-
- NSString *nsSource = toNSString(sourceProvider);
- NSURL *nsURL = toNSURL(sourceProvider->url());
- int firstLine = sourceProvider->startPosition().m_line.oneBasedInt();
-
- WebFrame *webFrame = toWebFrame(exec->dynamicGlobalObject());
- WebView *webView = [webFrame webView];
- WebScriptDebugDelegateImplementationCache* implementations = WebViewGetScriptDebugDelegateImplementations(webView);
-
- if (errorLine == -1) {
- if (implementations->didParseSourceFunc) {
- if (implementations->didParseSourceExpectsBaseLineNumber)
- CallScriptDebugDelegate(implementations->didParseSourceFunc, webView, @selector(webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:), nsSource, firstLine, nsURL, sourceProvider->asID(), webFrame);
- else
- CallScriptDebugDelegate(implementations->didParseSourceFunc, webView, @selector(webView:didParseSource:fromURL:sourceId:forWebFrame:), nsSource, [nsURL absoluteString], sourceProvider->asID(), webFrame);
- }
- } else {
- NSString* nsErrorMessage = nsStringNilIfEmpty(errorMsg);
- NSDictionary *info = [[NSDictionary alloc] initWithObjectsAndKeys:nsErrorMessage, WebScriptErrorDescriptionKey, [NSNumber numberWithUnsignedInt:errorLine], WebScriptErrorLineNumberKey, nil];
- NSError *error = [[NSError alloc] initWithDomain:WebScriptErrorDomain code:WebScriptGeneralErrorCode userInfo:info];
-
- if (implementations->failedToParseSourceFunc)
- CallScriptDebugDelegate(implementations->failedToParseSourceFunc, webView, @selector(webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:), nsSource, firstLine, nsURL, error, webFrame);
-
- [error release];
- [info release];
- }
-
- m_callingDelegate = false;
-}
-
-void WebScriptDebugger::callEvent(const DebuggerCallFrame& debuggerCallFrame, intptr_t sourceID, int lineNumber, int columnNumber)
-{
- if (m_callingDelegate)
- return;
-
- m_callingDelegate = true;
-
- WebFrame *webFrame = toWebFrame(debuggerCallFrame.dynamicGlobalObject());
-
- m_topCallFrame = adoptNS([[WebScriptCallFrame alloc] _initWithGlobalObject:core(webFrame)->script()->windowScriptObject() debugger:this caller:m_topCallFrame.get() debuggerCallFrame:debuggerCallFrame]);
-
- WebView *webView = [webFrame webView];
- WebScriptDebugDelegateImplementationCache* implementations = WebViewGetScriptDebugDelegateImplementations(webView);
- if (implementations->didEnterCallFrameFunc)
- CallScriptDebugDelegate(implementations->didEnterCallFrameFunc, webView, @selector(webView:didEnterCallFrame:sourceId:line:forWebFrame:), m_topCallFrame.get(), sourceID, lineNumber, webFrame);
-
- m_callingDelegate = false;
-}
-
-void WebScriptDebugger::atStatement(const DebuggerCallFrame& debuggerCallFrame, intptr_t sourceID, int lineNumber, int columnNumber)
-{
- if (m_callingDelegate)
- return;
-
- m_callingDelegate = true;
-
- WebFrame *webFrame = toWebFrame(debuggerCallFrame.dynamicGlobalObject());
- WebView *webView = [webFrame webView];
-
- [m_topCallFrame.get() _setDebuggerCallFrame:debuggerCallFrame];
-
- WebScriptDebugDelegateImplementationCache* implementations = WebViewGetScriptDebugDelegateImplementations(webView);
- if (implementations->willExecuteStatementFunc)
- CallScriptDebugDelegate(implementations->willExecuteStatementFunc, webView, @selector(webView:willExecuteStatement:sourceId:line:forWebFrame:), m_topCallFrame.get(), sourceID, lineNumber, webFrame);
-
- m_callingDelegate = false;
-}
-
-void WebScriptDebugger::returnEvent(const DebuggerCallFrame& debuggerCallFrame, intptr_t sourceID, int lineNumber, int columnNumber)
-{
- if (m_callingDelegate)
- return;
-
- m_callingDelegate = true;
-
- WebFrame *webFrame = toWebFrame(debuggerCallFrame.dynamicGlobalObject());
- WebView *webView = [webFrame webView];
-
- [m_topCallFrame.get() _setDebuggerCallFrame:debuggerCallFrame];
-
- WebScriptDebugDelegateImplementationCache* implementations = WebViewGetScriptDebugDelegateImplementations(webView);
- if (implementations->willLeaveCallFrameFunc)
- CallScriptDebugDelegate(implementations->willLeaveCallFrameFunc, webView, @selector(webView:willLeaveCallFrame:sourceId:line:forWebFrame:), m_topCallFrame.get(), sourceID, lineNumber, webFrame);
-
- [m_topCallFrame.get() _clearDebuggerCallFrame];
- m_topCallFrame = [m_topCallFrame.get() caller];
-
- m_callingDelegate = false;
-}
-
-void WebScriptDebugger::exception(const DebuggerCallFrame& debuggerCallFrame, intptr_t sourceID, int lineNumber, int columnNumber, bool hasHandler)
-{
- if (m_callingDelegate)
- return;
-
- m_callingDelegate = true;
-
- WebFrame *webFrame = toWebFrame(debuggerCallFrame.dynamicGlobalObject());
- WebView *webView = [webFrame webView];
- [m_topCallFrame.get() _setDebuggerCallFrame:debuggerCallFrame];
-
- WebScriptDebugDelegateImplementationCache* cache = WebViewGetScriptDebugDelegateImplementations(webView);
- if (cache->exceptionWasRaisedFunc) {
- if (cache->exceptionWasRaisedExpectsHasHandlerFlag)
- CallScriptDebugDelegate(cache->exceptionWasRaisedFunc, webView, @selector(webView:exceptionWasRaised:hasHandler:sourceId:line:forWebFrame:), m_topCallFrame.get(), hasHandler, sourceID, lineNumber, webFrame);
- else
- CallScriptDebugDelegate(cache->exceptionWasRaisedFunc, webView, @selector(webView:exceptionWasRaised:sourceId:line:forWebFrame:), m_topCallFrame.get(), sourceID, lineNumber, webFrame);
- }
-
- m_callingDelegate = false;
-}
-
-void WebScriptDebugger::willExecuteProgram(const DebuggerCallFrame& debuggerCallFrame, intptr_t sourceID, int lineno, int columnno)
-{
- callEvent(debuggerCallFrame, sourceID, lineno, columnno);
-}
-
-void WebScriptDebugger::didExecuteProgram(const DebuggerCallFrame& debuggerCallFrame, intptr_t sourceID, int lineno, int columnno)
-{
- returnEvent(debuggerCallFrame, sourceID, lineno, columnno);
-}
-
-void WebScriptDebugger::didReachBreakpoint(const DebuggerCallFrame&, intptr_t, int, int)
-{
- return;
-}
diff --git a/Source/WebKit/mac/WebView/WebScriptWorld.h b/Source/WebKit/mac/WebView/WebScriptWorld.h
deleted file mode 100644
index a394e0f04..000000000
--- a/Source/WebKit/mac/WebView/WebScriptWorld.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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 <JavaScriptCore/JSBase.h>
-
-@class JSContext;
-@class WebScriptWorldPrivate;
-
-@interface WebScriptWorld : NSObject {
-@private
- WebScriptWorldPrivate *_private;
-}
-
-+ (WebScriptWorld *)standardWorld;
-+ (WebScriptWorld *)world;
-
-+ (WebScriptWorld *)scriptWorldForGlobalContext:(JSGlobalContextRef)globalContext;
-#if JSC_OBJC_API_ENABLED
-+ (WebScriptWorld *)scriptWorldForJavaScriptContext:(JSContext *)context;
-#endif
-
-- (void)unregisterWorld;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebScriptWorld.mm b/Source/WebKit/mac/WebView/WebScriptWorld.mm
deleted file mode 100644
index 915db43eb..000000000
--- a/Source/WebKit/mac/WebView/WebScriptWorld.mm
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebScriptWorld.h"
-
-#import "WebScriptWorldInternal.h"
-#import <WebCore/JSDOMBinding.h>
-#import <WebCore/ScriptController.h>
-#import <JavaScriptCore/APICast.h>
-#import <JavaScriptCore/JSContextInternal.h>
-
-#import <wtf/RefPtr.h>
-
-using namespace WebCore;
-
-@interface WebScriptWorldPrivate : NSObject {
-@public
- RefPtr<DOMWrapperWorld> world;
-}
-@end
-
-@implementation WebScriptWorldPrivate
-@end
-
-typedef HashMap<DOMWrapperWorld*, WebScriptWorld*> WorldMap;
-static WorldMap& allWorlds()
-{
- static WorldMap& map = *new WorldMap;
- return map;
-}
-
-@implementation WebScriptWorld
-
-- (id)initWithWorld:(PassRefPtr<DOMWrapperWorld>)world
-{
- ASSERT_ARG(world, world);
- if (!world)
- return nil;
-
- self = [super init];
- if (!self)
- return nil;
-
- _private = [[WebScriptWorldPrivate alloc] init];
- _private->world = world;
-
- ASSERT_ARG(world, !allWorlds().contains(_private->world.get()));
- allWorlds().add(_private->world.get(), self);
-
- return self;
-}
-
-- (id)init
-{
- return [self initWithWorld:ScriptController::createWorld()];
-}
-
-- (void)unregisterWorld
-{
- _private->world->clearWrappers();
-}
-
-- (void)dealloc
-{
- ASSERT(allWorlds().contains(_private->world.get()));
- allWorlds().remove(_private->world.get());
-
- [_private release];
- _private = nil;
- [super dealloc];
-}
-
-+ (WebScriptWorld *)standardWorld
-{
- static WebScriptWorld *world = [[WebScriptWorld alloc] initWithWorld:mainThreadNormalWorld()];
- return world;
-}
-
-+ (WebScriptWorld *)world
-{
- return [[[self alloc] init] autorelease];
-}
-
-+ (WebScriptWorld *)scriptWorldForGlobalContext:(JSGlobalContextRef)context
-{
- return [self findOrCreateWorld:currentWorld(toJS(context))];
-}
-
-#if JSC_OBJC_API_ENABLED
-+ (WebScriptWorld *)scriptWorldForJavaScriptContext:(JSContext *)context
-{
- return [self scriptWorldForGlobalContext:[context JSGlobalContextRef]];
-}
-#endif
-
-@end
-
-@implementation WebScriptWorld (WebInternal)
-
-DOMWrapperWorld* core(WebScriptWorld *world)
-{
- return world ? world->_private->world.get() : 0;
-}
-
-+ (WebScriptWorld *)findOrCreateWorld:(DOMWrapperWorld*) world
-{
- ASSERT_ARG(world, world);
-
- if (world == mainThreadNormalWorld())
- return [self standardWorld];
-
- if (WebScriptWorld *existingWorld = allWorlds().get(world))
- return existingWorld;
-
- return [[[self alloc] initWithWorld:world] autorelease];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebScriptWorldInternal.h b/Source/WebKit/mac/WebView/WebScriptWorldInternal.h
deleted file mode 100644
index 785d9c064..000000000
--- a/Source/WebKit/mac/WebView/WebScriptWorldInternal.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebScriptWorld.h"
-
-namespace WebCore {
- class DOMWrapperWorld;
-}
-
-WebCore::DOMWrapperWorld* core(WebScriptWorld *);
-
-@interface WebScriptWorld (WebInternal)
-+ (WebScriptWorld *)findOrCreateWorld:(WebCore::DOMWrapperWorld*)world;
-@end
diff --git a/Source/WebKit/mac/WebView/WebSerializedJSValue.h b/Source/WebKit/mac/WebView/WebSerializedJSValue.h
deleted file mode 100644
index 5094776dd..000000000
--- a/Source/WebKit/mac/WebView/WebSerializedJSValue.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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.
- */
-
-@class WebSerializedJSValuePrivate;
-
-typedef const struct OpaqueJSContext* JSContextRef;
-typedef const struct OpaqueJSValue* JSValueRef;
-
-@interface WebSerializedJSValue : NSObject {
-@private
- WebSerializedJSValuePrivate *_private;
-}
-
-- (id)initWithValue:(JSValueRef)object context:(JSContextRef)sourceContext exception:(JSValueRef*)exception;
-- (JSValueRef)deserialize:(JSContextRef)destinationContext;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebSerializedJSValue.mm b/Source/WebKit/mac/WebView/WebSerializedJSValue.mm
deleted file mode 100644
index d9937903e..000000000
--- a/Source/WebKit/mac/WebView/WebSerializedJSValue.mm
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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.
- */
-
-#import "WebSerializedJSValuePrivate.h"
-
-#import <WebCore/SerializedScriptValue.h>
-#import <wtf/RefPtr.h>
-
-using namespace WebCore;
-
-@interface WebSerializedJSValuePrivate : NSObject {
-@public
- RefPtr<SerializedScriptValue> value;
-}
-@end
-
-@implementation WebSerializedJSValuePrivate
-@end
-
-@implementation WebSerializedJSValue
-
-- (id)initWithValue:(JSValueRef)value context:(JSContextRef)sourceContext exception:(JSValueRef*)exception
-{
- ASSERT_ARG(value, value);
- ASSERT_ARG(sourceContext, sourceContext);
-
- if (!value || !sourceContext) {
- [self release];
- return nil;
- }
-
- self = [super init];
- if (!self)
- return nil;
-
- _private = [[WebSerializedJSValuePrivate alloc] init];
-
- _private->value = SerializedScriptValue::create(sourceContext, value, exception);
- if (!_private->value) {
- [self release];
- return nil;
- }
-
- return self;
-}
-
-- (id)initWithInternalRepresentation:(void *)internalRepresenatation
-{
- ASSERT_ARG(internalRepresenatation, internalRepresenatation);
-
- if (!internalRepresenatation) {
- [self release];
- return nil;
- }
-
- self = [super init];
- if (!self)
- return nil;
-
- _private = [[WebSerializedJSValuePrivate alloc] init];
-
- _private->value = ((SerializedScriptValue*)internalRepresenatation);
- if (!_private->value) {
- [self release];
- return nil;
- }
-
- return self;
-}
-
-- (JSValueRef)deserialize:(JSContextRef)destinationContext
-{
- if (!_private || !_private->value)
- return 0;
- return _private->value->deserialize(destinationContext, 0);
-}
-
-- (void)dealloc
-{
- [_private release];
- _private = nil;
- [super dealloc];
-}
-
-- (void*)internalRepresentation
-{
- if (!_private)
- return 0;
- return _private->value.get();
-}
-
-@end
-
diff --git a/Source/WebKit/mac/WebView/WebSerializedJSValuePrivate.h b/Source/WebKit/mac/WebView/WebSerializedJSValuePrivate.h
deleted file mode 100644
index 217fe441e..000000000
--- a/Source/WebKit/mac/WebView/WebSerializedJSValuePrivate.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebSerializedJSValue.h>
-
-@interface WebSerializedJSValue(WebPrivate)
-- (id)initWithInternalRepresentation:(void*)internalRepresenatation;
-- (void*)internalRepresentation;
-@end
diff --git a/Source/WebKit/mac/WebView/WebTextCompletionController.h b/Source/WebKit/mac/WebView/WebTextCompletionController.h
deleted file mode 100644
index 158e9b8c4..000000000
--- a/Source/WebKit/mac/WebView/WebTextCompletionController.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple 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 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 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.
- */
-
-@class WebView;
-@class WebHTMLView;
-
-@interface WebTextCompletionController : NSObject <NSTableViewDelegate, NSTableViewDataSource> {
-@private
- WebView *_view;
- WebHTMLView *_htmlView;
- NSWindow *_popupWindow;
- NSTableView *_tableView;
- NSArray *_completions;
- NSString *_originalString;
- int prefixLength;
-}
-- (id)initWithWebView:(WebView *)view HTMLView:(WebHTMLView *)htmlView;
-- (void)doCompletion;
-- (void)endRevertingChange:(BOOL)revertChange moveLeft:(BOOL)goLeft;
-- (BOOL)popupWindowIsOpen;
-- (BOOL)filterKeyDown:(NSEvent *)event;
-- (void)_reflectSelection;
-@end
diff --git a/Source/WebKit/mac/WebView/WebTextCompletionController.mm b/Source/WebKit/mac/WebView/WebTextCompletionController.mm
deleted file mode 100644
index 4d76dbdbf..000000000
--- a/Source/WebKit/mac/WebView/WebTextCompletionController.mm
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebTextCompletionController.h"
-
-#import "DOMNodeInternal.h"
-#import "DOMRangeInternal.h"
-#import "WebFrameInternal.h"
-#import "WebHTMLViewInternal.h"
-#import "WebTypesInternal.h"
-#import "WebView.h"
-#import <WebCore/Frame.h>
-
-@interface NSWindow (WebNSWindowDetails)
-- (void)_setForceActiveControls:(BOOL)flag;
-@end
-
-using namespace WebCore;
-
-// This class handles the complete: operation.
-// It counts on its host view to call endRevertingChange: whenever the current completion needs to be aborted.
-
-// The class is in one of two modes: Popup window showing, or not.
-// It is shown when a completion yields more than one match.
-// If a completion yields one or zero matches, it is not shown, and there is no state carried across to the next completion.
-
-@implementation WebTextCompletionController
-
-- (id)initWithWebView:(WebView *)view HTMLView:(WebHTMLView *)htmlView
-{
- self = [super init];
- if (!self)
- return nil;
- _view = view;
- _htmlView = htmlView;
- return self;
-}
-
-- (void)dealloc
-{
- [_popupWindow release];
- [_completions release];
- [_originalString release];
-
- [super dealloc];
-}
-
-- (void)_insertMatch:(NSString *)match
-{
- // FIXME: 3769654 - We should preserve case of string being inserted, even in prefix (but then also be
- // able to revert that). Mimic NSText.
- WebFrame *frame = [_htmlView _frame];
- NSString *newText = [match substringFromIndex:prefixLength];
- [frame _replaceSelectionWithText:newText selectReplacement:YES smartReplace:NO];
-}
-
-// mostly lifted from NSTextView_KeyBinding.m
-- (void)_buildUI
-{
- NSRect scrollFrame = NSMakeRect(0, 0, 100, 100);
- NSRect tableFrame = NSZeroRect;
- tableFrame.size = [NSScrollView contentSizeForFrameSize:scrollFrame.size hasHorizontalScroller:NO hasVerticalScroller:YES borderType:NSNoBorder];
- NSTableColumn *column = [[NSTableColumn alloc] init];
- [column setWidth:tableFrame.size.width];
- [column setEditable:NO];
-
- _tableView = [[NSTableView alloc] initWithFrame:tableFrame];
- [_tableView setAutoresizingMask:NSViewWidthSizable];
- [_tableView addTableColumn:column];
- [column release];
- [_tableView setGridStyleMask:NSTableViewGridNone];
- [_tableView setCornerView:nil];
- [_tableView setHeaderView:nil];
- [_tableView setColumnAutoresizingStyle:NSTableViewUniformColumnAutoresizingStyle];
- [_tableView setDelegate:self];
- [_tableView setDataSource:self];
- [_tableView setTarget:self];
- [_tableView setDoubleAction:@selector(tableAction:)];
-
- NSScrollView *scrollView = [[NSScrollView alloc] initWithFrame:scrollFrame];
- [scrollView setBorderType:NSNoBorder];
- [scrollView setHasVerticalScroller:YES];
- [scrollView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
- [scrollView setDocumentView:_tableView];
- [_tableView release];
-
- _popupWindow = [[NSWindow alloc] initWithContentRect:scrollFrame styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO];
- [_popupWindow setAlphaValue:0.88f];
- [_popupWindow setContentView:scrollView];
- [scrollView release];
- [_popupWindow setHasShadow:YES];
- [_popupWindow setOneShot:YES];
- [_popupWindow _setForceActiveControls:YES];
- [_popupWindow setReleasedWhenClosed:NO];
-}
-
-// mostly lifted from NSTextView_KeyBinding.m
-- (void)_placePopupWindow:(NSPoint)topLeft
-{
- int numberToShow = [_completions count];
- if (numberToShow > 20)
- numberToShow = 20;
-
- NSRect windowFrame;
- NSPoint wordStart = topLeft;
- windowFrame.origin = [[_view window] convertBaseToScreen:[_htmlView convertPoint:wordStart toView:nil]];
- windowFrame.size.height = numberToShow * [_tableView rowHeight] + (numberToShow + 1) * [_tableView intercellSpacing].height;
- windowFrame.origin.y -= windowFrame.size.height;
- NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:[NSFont systemFontOfSize:12.0f], NSFontAttributeName, nil];
- CGFloat maxWidth = 0;
- int maxIndex = -1;
- int i;
- for (i = 0; i < numberToShow; i++) {
- float width = ceilf([[_completions objectAtIndex:i] sizeWithAttributes:attributes].width);
- if (width > maxWidth) {
- maxWidth = width;
- maxIndex = i;
- }
- }
- windowFrame.size.width = 100;
- if (maxIndex >= 0) {
- maxWidth = ceilf([NSScrollView frameSizeForContentSize:NSMakeSize(maxWidth, 100.0f) hasHorizontalScroller:NO hasVerticalScroller:YES borderType:NSNoBorder].width);
- maxWidth = ceilf([NSWindow frameRectForContentRect:NSMakeRect(0.0f, 0.0f, maxWidth, 100.0f) styleMask:NSBorderlessWindowMask].size.width);
- maxWidth += 5.0f;
- windowFrame.size.width = std::max(maxWidth, windowFrame.size.width);
- }
- [_popupWindow setFrame:windowFrame display:NO];
-
- [_tableView reloadData];
- [_tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:0] byExtendingSelection:NO];
- [_tableView scrollRowToVisible:0];
- [self _reflectSelection];
- [_popupWindow setLevel:NSPopUpMenuWindowLevel];
- [_popupWindow orderFront:nil];
- [[_view window] addChildWindow:_popupWindow ordered:NSWindowAbove];
-}
-
-- (void)doCompletion
-{
- if (!_popupWindow) {
- NSSpellChecker *checker = [NSSpellChecker sharedSpellChecker];
- if (!checker) {
- LOG_ERROR("No NSSpellChecker");
- return;
- }
-
- // Get preceeding word stem
- WebFrame *frame = [_htmlView _frame];
- DOMRange *selection = kit(core(frame)->selection()->toNormalizedRange().get());
- DOMRange *wholeWord = [frame _rangeByAlteringCurrentSelection:FrameSelection::AlterationExtend
- direction:DirectionBackward granularity:WordGranularity];
- DOMRange *prefix = [wholeWord cloneRange];
- [prefix setEnd:[selection startContainer] offset:[selection startOffset]];
-
- // Reject some NOP cases
- if ([prefix collapsed]) {
- NSBeep();
- return;
- }
- NSString *prefixStr = [frame _stringForRange:prefix];
- NSString *trimmedPrefix = [prefixStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
- if ([trimmedPrefix length] == 0) {
- NSBeep();
- return;
- }
- prefixLength = [prefixStr length];
-
- // Lookup matches
- [_completions release];
- _completions = [checker completionsForPartialWordRange:NSMakeRange(0, [prefixStr length]) inString:prefixStr language:nil inSpellDocumentWithTag:[_view spellCheckerDocumentTag]];
- [_completions retain];
-
- if (!_completions || [_completions count] == 0) {
- NSBeep();
- } else if ([_completions count] == 1) {
- [self _insertMatch:[_completions objectAtIndex:0]];
- } else {
- ASSERT(!_originalString); // this should only be set IFF we have a popup window
- _originalString = [[frame _stringForRange:selection] retain];
- [self _buildUI];
- NSRect wordRect = [frame _caretRectAtPosition:Position(core([wholeWord startContainer]), [wholeWord startOffset], Position::PositionIsOffsetInAnchor) affinity:NSSelectionAffinityDownstream];
- // +1 to be under the word, not the caret
- // FIXME - 3769652 - Wrong positioning for right to left languages. We should line up the upper
- // right corner with the caret instead of upper left, and the +1 would be a -1.
- NSPoint wordLowerLeft = { NSMinX(wordRect)+1, NSMaxY(wordRect) };
- [self _placePopupWindow:wordLowerLeft];
- }
- } else {
- [self endRevertingChange:YES moveLeft:NO];
- }
-}
-
-- (void)endRevertingChange:(BOOL)revertChange moveLeft:(BOOL)goLeft
-{
- if (_popupWindow) {
- // tear down UI
- [[_view window] removeChildWindow:_popupWindow];
- [_popupWindow orderOut:self];
- // Must autorelease because event tracking code may be on the stack touching UI
- [_popupWindow autorelease];
- _popupWindow = nil;
-
- if (revertChange) {
- WebFrame *frame = [_htmlView _frame];
- [frame _replaceSelectionWithText:_originalString selectReplacement:YES smartReplace:NO];
- } else if ([_htmlView _hasSelection]) {
- if (goLeft)
- [_htmlView moveBackward:nil];
- else
- [_htmlView moveForward:nil];
- }
- [_originalString release];
- _originalString = nil;
- }
- // else there is no state to abort if the window was not up
-}
-
-- (BOOL)popupWindowIsOpen
-{
- return _popupWindow != nil;
-}
-
-// WebHTMLView gives us a crack at key events it sees. Return whether we consumed the event.
-// The features for the various keys mimic NSTextView.
-- (BOOL)filterKeyDown:(NSEvent *)event
-{
- if (!_popupWindow)
- return NO;
- NSString *string = [event charactersIgnoringModifiers];
- if (![string length])
- return NO;
- unichar c = [string characterAtIndex:0];
- if (c == NSUpArrowFunctionKey) {
- int selectedRow = [_tableView selectedRow];
- if (0 < selectedRow) {
- [_tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:selectedRow - 1] byExtendingSelection:NO];
- [_tableView scrollRowToVisible:selectedRow - 1];
- }
- return YES;
- }
- if (c == NSDownArrowFunctionKey) {
- int selectedRow = [_tableView selectedRow];
- if (selectedRow < (int)[_completions count] - 1) {
- [_tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:selectedRow + 1] byExtendingSelection:NO];
- [_tableView scrollRowToVisible:selectedRow + 1];
- }
- return YES;
- }
- if (c == NSRightArrowFunctionKey || c == '\n' || c == '\r' || c == '\t') {
- // FIXME: What about backtab?
- [self endRevertingChange:NO moveLeft:NO];
- return YES;
- }
- if (c == NSLeftArrowFunctionKey) {
- [self endRevertingChange:NO moveLeft:YES];
- return YES;
- }
- if (c == 0x1B || c == NSF5FunctionKey) {
- // FIXME: F5?
- [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)) {
- // 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];
- return NO; // let the char get inserted
- }
- return NO;
-}
-
-- (void)_reflectSelection
-{
- int selectedRow = [_tableView selectedRow];
- ASSERT(selectedRow >= 0);
- ASSERT(selectedRow < (int)[_completions count]);
- [self _insertMatch:[_completions objectAtIndex:selectedRow]];
-}
-
-- (void)tableAction:(id)sender
-{
- [self _reflectSelection];
- [self endRevertingChange:NO moveLeft:NO];
-}
-
-- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView
-{
- return [_completions count];
-}
-
-- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
-{
- return [_completions objectAtIndex:row];
-}
-
-- (void)tableViewSelectionDidChange:(NSNotification *)notification
-{
- [self _reflectSelection];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebTextIterator.h b/Source/WebKit/mac/WebView/WebTextIterator.h
deleted file mode 100644
index cf7c47a16..000000000
--- a/Source/WebKit/mac/WebView/WebTextIterator.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2008, 2009 Apple 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 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 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.
- */
-
-#import <Foundation/Foundation.h>
-
-@class DOMRange;
-@class DOMNode;
-@class WebTextIteratorPrivate;
-
-@interface WebTextIterator : NSObject {
-@private
- WebTextIteratorPrivate *_private;
-}
-
-- (id)initWithRange:(DOMRange *)range;
-
-/*!
- @method advance
- @abstract Moves the WebTextIterator to the next bit of text or boundary between runs of text.
- The iterator can break up runs of text however it finds convenient, so clients need to handle
- text runs that are broken up into arbitrary pieces.
- */
-- (void)advance;
-
-/*!
- @method atEnd
- @result YES if the WebTextIterator has reached the end of the DOMRange.
- */
-- (BOOL)atEnd;
-
-/*!
- @method currentTextLength
- @result Length of the current text. Length of zero means that the iterator is at a boundary,
- such as an image, that separates runs of text.
- */
-- (NSUInteger)currentTextLength;
-
-/*!
- @method currentTextPointer
- @result A pointer to the current text. Like the WebTextIterator itself, the pointer becomes
- invalid after any modification is made to the document; it must be used before the document
- is changed or the iterator is advanced.
- */
-- (const unichar *)currentTextPointer;
-
-/*!
- @method currentRange
- @abstract A function that identifies the specific document range that text corresponds to.
- This can be quite costly to compute for non-text items, so when possible this should only
- be called once the caller has determined that the text is text it wants to process. If you
- call currentRange every time you advance the iterator, performance will be extremely slow
- due to the cost of computing a DOM range.
- @result A DOM range indicating the position within the document of the current text.
- */
-- (DOMRange *)currentRange;
-
-@end
-
-@interface WebTextIterator (WebTextIteratorDeprecated)
-
-/*!
- @method currentNode
- @abstract A convenience method that finds the first node in currentRange; it's almost always better to use currentRange instead.
- @result The current DOMNode in the WebTextIterator
- */
-- (DOMNode *)currentNode;
-
-/*!
- @method currentText
- @abstract A convenience method that makes an NSString out of the current text; it's almost always better to use currentTextPointer and currentTextLength instead.
- @result The current text in the WebTextIterator.
- */
-- (NSString *)currentText;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebTextIterator.mm b/Source/WebKit/mac/WebView/WebTextIterator.mm
deleted file mode 100644
index 9b1bd8feb..000000000
--- a/Source/WebKit/mac/WebView/WebTextIterator.mm
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (C) 2008, 2009 Apple 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 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 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.
- */
-
-#import "WebTextIterator.h"
-
-#import "DOMNodeInternal.h"
-#import "DOMRangeInternal.h"
-#import "WebTypesInternal.h"
-#import <wtf/Vector.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/TextIterator.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/MainThread.h>
-
-using namespace JSC;
-using namespace WebCore;
-
-@interface WebTextIteratorPrivate : NSObject {
-@public
- OwnPtr<TextIterator> _textIterator;
-}
-@end
-
-@implementation WebTextIteratorPrivate
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
-}
-
-@end
-
-@implementation WebTextIterator
-
-- (void)dealloc
-{
- [_private release];
- [super dealloc];
-}
-
-- (id)initWithRange:(DOMRange *)range
-{
- self = [super init];
- if (!self)
- return self;
-
- _private = [[WebTextIteratorPrivate alloc] init];
- _private->_textIterator = adoptPtr(new TextIterator(core(range)));
- return self;
-}
-
-- (void)advance
-{
- _private->_textIterator->advance();
-}
-
-- (BOOL)atEnd
-{
- return _private->_textIterator->atEnd();
-}
-
-- (DOMRange *)currentRange
-{
- return kit(_private->_textIterator->range().get());
-}
-
-- (const unichar *)currentTextPointer
-{
- return _private->_textIterator->characters();
-}
-
-- (NSUInteger)currentTextLength
-{
- return _private->_textIterator->length();
-}
-
-@end
-
-@implementation WebTextIterator (WebTextIteratorDeprecated)
-
-- (DOMNode *)currentNode
-{
- return kit(_private->_textIterator->node());
-}
-
-- (NSString *)currentText
-{
- return [NSString stringWithCharacters:_private->_textIterator->characters() length:_private->_textIterator->length()];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebUIDelegate.h b/Source/WebKit/mac/WebView/WebUIDelegate.h
deleted file mode 100644
index 37e00717a..000000000
--- a/Source/WebKit/mac/WebView/WebUIDelegate.h
+++ /dev/null
@@ -1,569 +0,0 @@
-/*
- * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-#import <Foundation/NSURLRequest.h>
-#import <JavaScriptCore/WebKitAvailability.h>
-
-/*!
- @enum WebMenuItemTag
- @discussion Each menu item in the default menu items array passed in
- contextMenuItemsForElement:defaultMenuItems: has its tag set to one of the WebMenuItemTags.
- When iterating through the default menu items array, use the tag to differentiate between them.
-*/
-
-enum {
- WebMenuItemTagOpenLinkInNewWindow=1,
- WebMenuItemTagDownloadLinkToDisk,
- WebMenuItemTagCopyLinkToClipboard,
- WebMenuItemTagOpenImageInNewWindow,
- WebMenuItemTagDownloadImageToDisk,
- WebMenuItemTagCopyImageToClipboard,
- WebMenuItemTagOpenFrameInNewWindow,
- WebMenuItemTagCopy,
- WebMenuItemTagGoBack,
- WebMenuItemTagGoForward,
- WebMenuItemTagStop,
- WebMenuItemTagReload,
- WebMenuItemTagCut,
- WebMenuItemTagPaste,
- WebMenuItemTagSpellingGuess,
- WebMenuItemTagNoGuessesFound,
- WebMenuItemTagIgnoreSpelling,
- WebMenuItemTagLearnSpelling,
- WebMenuItemTagOther,
- WebMenuItemTagSearchInSpotlight,
- WebMenuItemTagSearchWeb,
- WebMenuItemTagLookUpInDictionary,
- WebMenuItemTagOpenWithDefaultApplication,
- WebMenuItemPDFActualSize,
- WebMenuItemPDFZoomIn,
- WebMenuItemPDFZoomOut,
- WebMenuItemPDFAutoSize,
- WebMenuItemPDFSinglePage,
- WebMenuItemPDFFacingPages,
- WebMenuItemPDFContinuous,
- WebMenuItemPDFNextPage,
- WebMenuItemPDFPreviousPage,
-};
-
-/*!
- @enum WebDragDestinationAction
- @abstract Actions that the destination of a drag can perform.
- @constant WebDragDestinationActionNone No action
- @constant WebDragDestinationActionDHTML Allows DHTML (such as JavaScript) to handle the drag
- @constant WebDragDestinationActionEdit Allows editable documents to be edited from the drag
- @constant WebDragDestinationActionLoad Allows a location change from the drag
- @constant WebDragDestinationActionAny Allows any of the above to occur
-*/
-typedef enum {
- WebDragDestinationActionNone = 0,
- WebDragDestinationActionDHTML = 1,
- WebDragDestinationActionEdit = 2,
- WebDragDestinationActionLoad = 4,
- WebDragDestinationActionAny = UINT_MAX
-} WebDragDestinationAction;
-
-/*!
- @enum WebDragSourceAction
- @abstract Actions that the source of a drag can perform.
- @constant WebDragSourceActionNone No action
- @constant WebDragSourceActionDHTML Allows DHTML (such as JavaScript) to start a drag
- @constant WebDragSourceActionImage Allows an image drag to occur
- @constant WebDragSourceActionLink Allows a link drag to occur
- @constant WebDragSourceActionSelection Allows a selection drag to occur
- @constant WebDragSourceActionAny Allows any of the above to occur
-*/
-typedef enum {
- WebDragSourceActionNone = 0,
- WebDragSourceActionDHTML = 1,
- WebDragSourceActionImage = 2,
- WebDragSourceActionLink = 4,
- WebDragSourceActionSelection = 8,
- WebDragSourceActionAny = UINT_MAX
-} WebDragSourceAction;
-
-/*!
- @protocol WebOpenPanelResultListener
- @discussion This protocol is used to call back with the results of
- the file open panel requested by runOpenPanelForFileButtonWithResultListener:
-*/
-@protocol WebOpenPanelResultListener <NSObject>
-
-/*!
- @method chooseFilename:
- @abstract Call this method to return a filename from the file open panel.
- @param fileName
-*/
-- (void)chooseFilename:(NSString *)fileName;
-
-/*!
- @method chooseFilenames:
- @abstract Call this method to return an array of filenames from the file open panel.
- @param fileNames
-*/
-- (void)chooseFilenames:(NSArray *)fileNames WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_IN_WEBKIT_VERSION_4_0);
-
-/*!
- @method cancel
- @abstract Call this method to indicate that the file open panel was cancelled.
-*/
-- (void)cancel;
-
-@end
-
-@class WebFrame;
-@class WebFrameView;
-@class WebView;
-
-/*!
- @category WebUIDelegate
- @discussion A class that implements WebUIDelegate provides
- window-related methods that may be used by Javascript, plugins and
- other aspects of web pages. These methods are used to open new
- windows and control aspects of existing windows.
-*/
-@interface NSObject (WebUIDelegate)
-
-/*!
- @method webView:createWebViewWithRequest:
- @abstract Create a new window and begin to load the specified request.
- @discussion The newly created window is hidden, and the window operations delegate on the
- new WebViews will get a webViewShow: call.
- @param sender The WebView sending the delegate method.
- @param request The request to load.
- @result The WebView for the new window.
-*/
-- (WebView *)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request;
-
-/*!
- @method webViewShow:
- @param sender The WebView sending the delegate method.
- @abstract Show the window that contains the top level view of the WebView,
- ordering it frontmost.
- @discussion This will only be called just after createWindowWithRequest:
- is used to create a new window.
-*/
-- (void)webViewShow:(WebView *)sender;
-
-/*!
- @method webView:createWebViewModalDialogWithRequest:
- @abstract Create a new window and begin to load the specified request.
- @discussion The newly created window is hidden, and the window operations delegate on the
- new WebViews will get a webViewShow: call.
- @param sender The WebView sending the delegate method.
- @param request The request to load.
- @result The WebView for the new window.
-*/
-- (WebView *)webView:(WebView *)sender createWebViewModalDialogWithRequest:(NSURLRequest *)request;
-
-/*!
- @method webViewRunModal:
- @param sender The WebView sending the delegate method.
- @abstract Show the window that contains the top level view of the WebView,
- ordering it frontmost. The window should be run modal in the application.
- @discussion This will only be called just after createWebViewModalDialogWithRequest:
- is used to create a new window.
-*/
-- (void)webViewRunModal:(WebView *)sender;
-
-/*!
- @method webViewClose:
- @abstract Close the current window.
- @param sender The WebView sending the delegate method.
- @discussion Clients showing multiple views in one window may
- choose to close only the one corresponding to this
- WebView. Other clients may choose to ignore this method
- entirely.
-*/
-- (void)webViewClose:(WebView *)sender;
-
-/*!
- @method webViewFocus:
- @abstract Focus the current window (i.e. makeKeyAndOrderFront:).
- @param The WebView sending the delegate method.
- @discussion Clients showing multiple views in one window may want to
- also do something to focus the one corresponding to this WebView.
-*/
-- (void)webViewFocus:(WebView *)sender;
-
-/*!
- @method webViewUnfocus:
- @abstract Unfocus the current window.
- @param sender The WebView sending the delegate method.
- @discussion Clients showing multiple views in one window may want to
- also do something to unfocus the one corresponding to this WebView.
-*/
-- (void)webViewUnfocus:(WebView *)sender;
-
-/*!
- @method webViewFirstResponder:
- @abstract Get the first responder for this window.
- @param sender The WebView sending the delegate method.
- @discussion This method should return the focused control in the
- WebView's view, if any. If the view is out of the window
- hierarchy, this might return something than calling firstResponder
- on the real NSWindow would. It's OK to return either nil or the
- real first responder if some control not in the window has focus.
-*/
-- (NSResponder *)webViewFirstResponder:(WebView *)sender;
-
-/*!
- @method webView:makeFirstResponder:
- @abstract Set the first responder for this window.
- @param sender The WebView sending the delegate method.
- @param responder The responder to make first (will always be a view)
- @discussion responder will always be a view that is in the view
- subhierarchy of the top-level web view for this WebView. If the
- WebView's top level view is currently out of the view
- hierarchy, it may be desirable to save the first responder
- elsewhere, or possibly ignore this call.
-*/
-- (void)webView:(WebView *)sender makeFirstResponder:(NSResponder *)responder;
-
-/*!
- @method webView:setStatusText:
- @abstract Set the window's status display, if any, to the specified string.
- @param sender The WebView sending the delegate method.
- @param text The status text to set
-*/
-- (void)webView:(WebView *)sender setStatusText:(NSString *)text;
-
-/*!
- @method webViewStatusText:
- @abstract Get the currently displayed status text.
- @param sender The WebView sending the delegate method.
- @result The status text
-*/
-- (NSString *)webViewStatusText:(WebView *)sender;
-
-/*!
- @method webViewAreToolbarsVisible:
- @abstract Determine whether the window's toolbars are currently visible
- @param sender The WebView sending the delegate method.
- @discussion This method should return YES if the window has any
- toolbars that are currently on, besides the status bar. If the app
- has more than one toolbar per window, for example a regular
- command toolbar and a favorites bar, it should return YES from
- this method if at least one is on.
- @result YES if at least one toolbar is visible, otherwise NO.
-*/
-- (BOOL)webViewAreToolbarsVisible:(WebView *)sender;
-
-/*!
- @method webView:setToolbarsVisible:
- @param sender The WebView sending the delegate method.
- @abstract Set whether the window's toolbars are currently visible.
- @param visible New value for toolbar visibility
- @discussion Setting this to YES should turn on all toolbars
- (except for a possible status bar). Setting it to NO should turn
- off all toolbars (with the same exception).
-*/
-- (void)webView:(WebView *)sender setToolbarsVisible:(BOOL)visible;
-
-/*!
- @method webViewIsStatusBarVisible:
- @abstract Determine whether the status bar is visible.
- @param sender The WebView sending the delegate method.
- @result YES if the status bar is visible, otherwise NO.
-*/
-- (BOOL)webViewIsStatusBarVisible:(WebView *)sender;
-
-/*!
- @method webView:setStatusBarVisible:
- @abstract Set whether the status bar is currently visible.
- @param visible The new visibility value
- @discussion Setting this to YES should show the status bar,
- setting it to NO should hide it.
-*/
-- (void)webView:(WebView *)sender setStatusBarVisible:(BOOL)visible;
-
-/*!
- @method webViewIsResizable:
- @abstract Determine whether the window is resizable or not.
- @param sender The WebView sending the delegate method.
- @result YES if resizable, NO if not.
- @discussion If there are multiple views in the same window, they
- have have their own separate resize controls and this may need to
- be handled specially.
-*/
-- (BOOL)webViewIsResizable:(WebView *)sender;
-
-/*!
- @method webView:setResizable:
- @abstract Set the window to resizable or not
- @param sender The WebView sending the delegate method.
- @param resizable YES if the window should be made resizable, NO if not.
- @discussion If there are multiple views in the same window, they
- have have their own separate resize controls and this may need to
- be handled specially.
-*/
-- (void)webView:(WebView *)sender setResizable:(BOOL)resizable;
-
-/*!
- @method webView:setFrame:
- @abstract Set the window's frame rect
- @param sender The WebView sending the delegate method.
- @param frame The new window frame size
- @discussion Even though a caller could set the frame directly using the NSWindow,
- this method is provided so implementors of this protocol can do special
- things on programmatic move/resize, like avoiding autosaving of the size.
-*/
-- (void)webView:(WebView *)sender setFrame:(NSRect)frame;
-
-/*!
- @method webViewFrame:
- @param sender The WebView sending the delegate method.
- @abstract REturn the window's frame rect
- @discussion
-*/
-- (NSRect)webViewFrame:(WebView *)sender;
-
-/*!
- @method webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:
- @abstract Display a JavaScript alert panel.
- @param sender The WebView sending the delegate method.
- @param message The message to display.
- @param frame The WebFrame whose JavaScript initiated this call.
- @discussion Clients should visually indicate that this panel comes
- from JavaScript initiated by the specified frame. The panel should have
- a single OK button.
-*/
-- (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
-
-/*!
- @method webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:
- @abstract Display a JavaScript confirm panel.
- @param sender The WebView sending the delegate method.
- @param message The message to display.
- @param frame The WebFrame whose JavaScript initiated this call.
- @result YES if the user hit OK, NO if the user chose Cancel.
- @discussion Clients should visually indicate that this panel comes
- from JavaScript initiated by the specified frame. The panel should have
- two buttons, e.g. "OK" and "Cancel".
-*/
-- (BOOL)webView:(WebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
-
-/*!
- @method webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:
- @abstract Display a JavaScript text input panel.
- @param sender The WebView sending the delegate method.
- @param message The message to display.
- @param defaultText The initial text for the text entry area.
- @param frame The WebFrame whose JavaScript initiated this call.
- @result The typed text if the user hit OK, otherwise nil.
- @discussion Clients should visually indicate that this panel comes
- from JavaScript initiated by the specified frame. The panel should have
- two buttons, e.g. "OK" and "Cancel", and an area to type text.
-*/
-- (NSString *)webView:(WebView *)sender runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)defaultText initiatedByFrame:(WebFrame *)frame;
-
-/*!
- @method webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
- @abstract Display a confirm panel by an "before unload" event handler.
- @param sender The WebView sending the delegate method.
- @param message The message to display.
- @param frame The WebFrame whose JavaScript initiated this call.
- @result YES if the user hit OK, NO if the user chose Cancel.
- @discussion Clients should include a message in addition to the one
- supplied by the web page that indicates. The panel should have
- two buttons, e.g. "OK" and "Cancel".
-*/
-- (BOOL)webView:(WebView *)sender runBeforeUnloadConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
-
-/*!
- @method webView:runOpenPanelForFileButtonWithResultListener:
- @abstract Display a file open panel for a file input control.
- @param sender The WebView sending the delegate method.
- @param resultListener The object to call back with the results.
- @discussion This method is passed a callback object instead of giving a return
- value so that it can be handled with a sheet.
-*/
-- (void)webView:(WebView *)sender runOpenPanelForFileButtonWithResultListener:(id<WebOpenPanelResultListener>)resultListener;
-
-/*!
- @method webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles
- @abstract Display a file open panel for a file input control that may allow multiple files to be selected.
- @param sender The WebView sending the delegate method.
- @param resultListener The object to call back with the results.
- @param allowMultipleFiles YES if the open panel should allow myltiple files to be selected, NO if not.
- @discussion This method is passed a callback object instead of giving a return
- value so that it can be handled with a sheet.
-*/
-- (void)webView:(WebView *)sender runOpenPanelForFileButtonWithResultListener:(id<WebOpenPanelResultListener>)resultListener allowMultipleFiles:(BOOL)allowMultipleFiles WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_IN_WEBKIT_VERSION_4_0);
-
-/*!
- @method webView:mouseDidMoveOverElement:modifierFlags:
- @abstract Update the window's feedback for mousing over links to reflect a new item the mouse is over
- or new modifier flags.
- @param sender The WebView sending the delegate method.
- @param elementInformation Dictionary that describes the element that the mouse is over, or nil.
- @param modifierFlags The modifier flags as in NSEvent.
-*/
-- (void)webView:(WebView *)sender mouseDidMoveOverElement:(NSDictionary *)elementInformation modifierFlags:(NSUInteger)modifierFlags;
-
-/*!
- @method webView:contextMenuItemsForElement:defaultMenuItems:
- @abstract Returns the menu items to display in an element's contextual menu.
- @param sender The WebView sending the delegate method.
- @param element A dictionary representation of the clicked element.
- @param defaultMenuItems An array of default NSMenuItems to include in all contextual menus.
- @result An array of NSMenuItems to include in the contextual menu.
-*/
-- (NSArray *)webView:(WebView *)sender contextMenuItemsForElement:(NSDictionary *)element defaultMenuItems:(NSArray *)defaultMenuItems;
-
-/*!
- @method webView:validateUserInterfaceItem:defaultValidation:
- @abstract Controls UI validation
- @param webView The WebView sending the delegate method
- @param item The user interface item being validated
- @pararm defaultValidation Whether or not the WebView thinks the item is valid
- @discussion This method allows the UI delegate to control WebView's validation of user interface items.
- See WebView.h to see the methods to that WebView can currently validate. See NSUserInterfaceValidations and
- NSValidatedUserInterfaceItem for information about UI validation.
-*/
-- (BOOL)webView:(WebView *)webView validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item defaultValidation:(BOOL)defaultValidation;
-
-/*!
- @method webView:shouldPerformAction:fromSender:
- @abstract Controls actions
- @param webView The WebView sending the delegate method
- @param action The action being sent
- @param sender The sender of the action
- @discussion This method allows the UI delegate to control WebView's behavior when an action is being sent.
- For example, if the action is copy:, the delegate can return YES to allow WebView to perform its default
- copy behavior or return NO and perform copy: in some other way. See WebView.h to see the actions that
- WebView can perform.
-*/
-- (BOOL)webView:(WebView *)webView shouldPerformAction:(SEL)action fromSender:(id)sender;
-
-/*!
- @method webView:dragDestinationActionMaskForDraggingInfo:
- @abstract Controls behavior when dragging to a WebView
- @param webView The WebView sending the delegate method
- @param draggingInfo The dragging info of the drag
- @discussion This method is called periodically as something is dragged over a WebView. The UI delegate can return a mask
- indicating which drag destination actions can occur, WebDragDestinationActionAny to allow any kind of action or
- WebDragDestinationActionNone to not accept the drag.
-*/
-- (NSUInteger)webView:(WebView *)webView dragDestinationActionMaskForDraggingInfo:(id <NSDraggingInfo>)draggingInfo;
-
-/*!
- @method webView:willPerformDragDestinationAction:forDraggingInfo:
- @abstract Informs that WebView will perform a drag destination action
- @param webView The WebView sending the delegate method
- @param action The drag destination action
- @param draggingInfo The dragging info of the drag
- @discussion This method is called after the last call to webView:dragDestinationActionMaskForDraggingInfo: after something is dropped on a WebView.
- This method informs the UI delegate of the drag destination action that WebView will perform.
-*/
-- (void)webView:(WebView *)webView willPerformDragDestinationAction:(WebDragDestinationAction)action forDraggingInfo:(id <NSDraggingInfo>)draggingInfo;
-
-/*!
- @method webView:dragSourceActionMaskForPoint:
- @abstract Controls behavior when dragging from a WebView
- @param webView The WebView sending the delegate method
- @param point The point where the drag started in the coordinates of the WebView
- @discussion This method is called after the user has begun a drag from a WebView. The UI delegate can return a mask indicating
- which drag source actions can occur, WebDragSourceActionAny to allow any kind of action or WebDragSourceActionNone to not begin a drag.
-*/
-- (NSUInteger)webView:(WebView *)webView dragSourceActionMaskForPoint:(NSPoint)point;
-
-/*!
- @method webView:willPerformDragSourceAction:fromPoint:withPasteboard:
- @abstract Informs that a drag a has begun from a WebView
- @param webView The WebView sending the delegate method
- @param action The drag source action
- @param point The point where the drag started in the coordinates of the WebView
- @param pasteboard The drag pasteboard
- @discussion This method is called after webView:dragSourceActionMaskForPoint: is called after the user has begun a drag from a WebView.
- This method informs the UI delegate of the drag source action that will be performed and gives the delegate an opportunity to modify
- the contents of the dragging pasteboard.
-*/
-- (void)webView:(WebView *)webView willPerformDragSourceAction:(WebDragSourceAction)action fromPoint:(NSPoint)point withPasteboard:(NSPasteboard *)pasteboard;
-
-/*!
- @method webView:printFrameView:
- @abstract Informs that a WebFrameView needs to be printed
- @param webView The WebView sending the delegate method
- @param frameView The WebFrameView needing to be printed
- @discussion This method is called when a script or user requests the page to be printed.
- In this method the delegate can prepare the WebFrameView to be printed. Some content that WebKit
- displays can be printed directly by the WebFrameView, other content will need to be handled by
- the delegate. To determine if the WebFrameView can handle printing the delegate should check
- WebFrameView's documentViewShouldHandlePrint, if YES then the delegate can call printDocumentView
- on the WebFrameView. Otherwise the delegate will need to request a NSPrintOperation from
- the WebFrameView's printOperationWithPrintInfo to handle the printing.
-*/
-- (void)webView:(WebView *)sender printFrameView:(WebFrameView *)frameView;
-
-/*!
- @method webViewHeaderHeight:
- @param webView The WebView sending the delegate method
- @abstract Reserve a height for the printed page header.
- @result The height to reserve for the printed page header, return 0.0 to not reserve any space for a header.
- @discussion The height returned will be used to calculate the rect passed to webView:drawHeaderInRect:.
-*/
-- (float)webViewHeaderHeight:(WebView *)sender;
-
-/*!
- @method webViewFooterHeight:
- @param webView The WebView sending the delegate method
- @abstract Reserve a height for the printed page footer.
- @result The height to reserve for the printed page footer, return 0.0 to not reserve any space for a footer.
- @discussion The height returned will be used to calculate the rect passed to webView:drawFooterInRect:.
-*/
-- (float)webViewFooterHeight:(WebView *)sender;
-
-/*!
- @method webView:drawHeaderInRect:
- @param webView The WebView sending the delegate method
- @param rect The NSRect reserved for the header of the page
- @abstract The delegate should draw a header for the sender in the supplied rect.
-*/
-- (void)webView:(WebView *)sender drawHeaderInRect:(NSRect)rect;
-
-/*!
- @method webView:drawFooterInRect:
- @param webView The WebView sending the delegate method
- @param rect The NSRect reserved for the footer of the page
- @abstract The delegate should draw a footer for the sender in the supplied rect.
-*/
-- (void)webView:(WebView *)sender drawFooterInRect:(NSRect)rect;
-
-// The following delegate methods are deprecated in favor of the ones above that specify
-// the WebFrame whose JavaScript initiated this call.
-- (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0);
-- (BOOL)webView:(WebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0);
-- (NSString *)webView:(WebView *)sender runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)defaultText WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0);
-
-// The following delegate methods are deprecated. Content rect calculations are now done automatically.
-- (void)webView:(WebView *)sender setContentRect:(NSRect)frame WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0);
-- (NSRect)webViewContentRect:(WebView *)sender WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_1_0_AND_LATER_BUT_DEPRECATED_IN_WEBKIT_VERSION_3_0);
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebUIDelegatePrivate.h b/Source/WebKit/mac/WebView/WebUIDelegatePrivate.h
deleted file mode 100644
index dd6d5c951..000000000
--- a/Source/WebKit/mac/WebView/WebUIDelegatePrivate.h
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebUIDelegate.h>
-
-#if !defined(ENABLE_DASHBOARD_SUPPORT)
-#define ENABLE_DASHBOARD_SUPPORT 1
-#endif
-
-#if !defined(ENABLE_FULLSCREEN_API)
-#define ENABLE_FULLSCREEN_API 1
-#endif
-
-// Mail on Tiger expects the old value for WebMenuItemTagSearchInGoogle
-#define WebMenuItemTagSearchInGoogle OldWebMenuItemTagSearchWeb
-
-#define WEBMENUITEMTAG_WEBKIT_3_0_SPI_START 2000
-enum {
- // The next three values were used in WebKit 2.0 for SPI. In WebKit 3.0 these are API, with different values.
- OldWebMenuItemTagSearchInSpotlight = 1000,
- OldWebMenuItemTagSearchWeb,
- OldWebMenuItemTagLookUpInDictionary,
- // FIXME: These should move to WebUIDelegate.h as part of the WebMenuItemTag enum there, when we're not in API freeze
- // Note that these values must be kept aligned with values in WebCore/ContextMenuItem.h
- WebMenuItemTagOpenLink = WEBMENUITEMTAG_WEBKIT_3_0_SPI_START,
- WebMenuItemTagIgnoreGrammar,
- WebMenuItemTagSpellingMenu,
- WebMenuItemTagShowSpellingPanel,
- WebMenuItemTagCheckSpelling,
- WebMenuItemTagCheckSpellingWhileTyping,
- WebMenuItemTagCheckGrammarWithSpelling,
- WebMenuItemTagFontMenu,
- WebMenuItemTagShowFonts,
- WebMenuItemTagBold,
- WebMenuItemTagItalic,
- WebMenuItemTagUnderline,
- WebMenuItemTagOutline,
- WebMenuItemTagStyles,
- WebMenuItemTagShowColors,
- WebMenuItemTagSpeechMenu,
- WebMenuItemTagStartSpeaking,
- WebMenuItemTagStopSpeaking,
- WebMenuItemTagWritingDirectionMenu,
- WebMenuItemTagDefaultDirection,
- WebMenuItemTagLeftToRight,
- WebMenuItemTagRightToLeft,
- WebMenuItemPDFSinglePageScrolling,
- WebMenuItemPDFFacingPagesScrolling,
- WebMenuItemTagInspectElement,
- WebMenuItemTagTextDirectionMenu,
- WebMenuItemTagTextDirectionDefault,
- WebMenuItemTagTextDirectionLeftToRight,
- WebMenuItemTagTextDirectionRightToLeft,
- WebMenuItemTagCorrectSpellingAutomatically,
- WebMenuItemTagSubstitutionsMenu,
- WebMenuItemTagShowSubstitutions,
- WebMenuItemTagSmartCopyPaste,
- WebMenuItemTagSmartQuotes,
- WebMenuItemTagSmartDashes,
- WebMenuItemTagSmartLinks,
- WebMenuItemTagTextReplacement,
- WebMenuItemTagTransformationsMenu,
- WebMenuItemTagMakeUpperCase,
- WebMenuItemTagMakeLowerCase,
- WebMenuItemTagCapitalize,
- WebMenuItemTagChangeBack,
- WebMenuItemTagOpenMediaInNewWindow,
- WebMenuItemTagCopyMediaLinkToClipboard,
- WebMenuItemTagToggleMediaControls,
- WebMenuItemTagToggleMediaLoop,
- WebMenuItemTagEnterVideoFullscreen,
- WebMenuItemTagMediaPlayPause,
- WebMenuItemTagMediaMute,
- WebMenuItemTagDictationAlternative,
- WebMenuItemBaseCustomTag = 5000,
- WebMenuItemCustomTagNoAction = 5998,
- WebMenuItemLastCustomTag = 5999,
- WebMenuItemTagBaseApplication = 10000
-};
-
-// Message Sources.
-extern NSString *WebConsoleMessageXMLMessageSource;
-extern NSString *WebConsoleMessageJSMessageSource;
-extern NSString *WebConsoleMessageNetworkMessageSource;
-extern NSString *WebConsoleMessageConsoleAPIMessageSource;
-extern NSString *WebConsoleMessageStorageMessageSource;
-extern NSString *WebConsoleMessageAppCacheMessageSource;
-extern NSString *WebConsoleMessageRenderingMessageSource;
-extern NSString *WebConsoleMessageCSSMessageSource;
-extern NSString *WebConsoleMessageSecurityMessageSource;
-extern NSString *WebConsoleMessageOtherMessageSource;
-
-// Message Levels.
-extern NSString *WebConsoleMessageDebugMessageLevel;
-extern NSString *WebConsoleMessageLogMessageLevel;
-extern NSString *WebConsoleMessageWarningMessageLevel;
-extern NSString *WebConsoleMessageErrorMessageLevel;
-
-@class DOMElement;
-@class DOMNode;
-@class WebSecurityOrigin;
-
-@protocol WebAllowDenyPolicyListener <NSObject>
-- (void)allow;
-- (void)deny;
-@end
-
-#if ENABLE_FULLSCREEN_API
-@protocol WebKitFullScreenListener<NSObject>
-- (void)webkitWillEnterFullScreen;
-- (void)webkitDidEnterFullScreen;
-- (void)webkitWillExitFullScreen;
-- (void)webkitDidExitFullScreen;
-@end
-#endif
-
-@interface NSObject (WebUIDelegatePrivate)
-
-- (void)webView:(WebView *)webView addMessageToConsole:(NSDictionary *)message;
-
-/*!
- @method webView:addMessageToConsole:withSource:
- @param webView The WebView sending the delegate method.
- @param message A dictionary representation of the console message.
- @param source Where the message came from. See WebConsoleMessageXMLMessageSource and other source types.
- @discussion The dictionary contains the following keys:
-
- <dl>
- <dt>message</dt>
- <dd>The message itself.</dd>
- <dt>lineNumber</dt>
- <dd>If this came from a file, this is the line number in the file this message originates from.</dd>
- <dt>sourceURL</dt>
- <dd>If this came from a file, this is the URL to the file this message originates from.</dd>
- <dt>MessageSource</dt>
- <dd>
- Where the message came from. XML, JavaScript, CSS, etc.
- See WebConsoleMessageXMLMessageSource and similar constants.
- </dd>
- <dt>MessageLevel</dt>
- <dd>
- Severity level of the message. Debug, Log, Warning, etc.
- See WebConsoleMessageDebugMessageLevel and similar constants.
- </dd>
- </dl>
-*/
-- (void)webView:(WebView *)webView addMessageToConsole:(NSDictionary *)message withSource:(NSString *)source;
-
-- (NSView *)webView:(WebView *)webView plugInViewWithArguments:(NSDictionary *)arguments;
-
-#if ENABLE_DASHBOARD_SUPPORT
-// regions is an dictionary whose keys are regions label and values are arrays of WebDashboardRegions.
-- (void)webView:(WebView *)webView dashboardRegionsChanged:(NSDictionary *)regions;
-#endif
-
-- (void)webView:(WebView *)sender dragImage:(NSImage *)anImage at:(NSPoint)viewLocation offset:(NSSize)initialOffset event:(NSEvent *)event pasteboard:(NSPasteboard *)pboard source:(id)sourceObj slideBack:(BOOL)slideFlag forView:(NSView *)view;
-- (void)webView:(WebView *)sender didDrawRect:(NSRect)rect;
-- (void)webView:(WebView *)sender didScrollDocumentInFrameView:(WebFrameView *)frameView;
-// FIXME: If we ever make this method public, it should include a WebFrame parameter.
-- (BOOL)webViewShouldInterruptJavaScript:(WebView *)sender;
-- (void)webView:(WebView *)sender willPopupMenu:(NSMenu *)menu;
-- (void)webView:(WebView *)sender contextMenuItemSelected:(NSMenuItem *)item forElement:(NSDictionary *)element;
-- (void)webView:(WebView *)sender saveFrameView:(WebFrameView *)frameView showingPanel:(BOOL)showingPanel;
-- (BOOL)webView:(WebView *)sender didPressMissingPluginButton:(DOMElement *)element;
-/*!
- @method webView:frame:exceededDatabaseQuotaForSecurityOrigin:database:
- @param sender The WebView sending the delegate method.
- @param frame The WebFrame whose JavaScript initiated this call.
- @param origin The security origin that needs a larger quota.
- @param databaseIdentifier The identifier of the database involved.
-*/
-- (void)webView:(WebView *)sender frame:(WebFrame *)frame exceededDatabaseQuotaForSecurityOrigin:(WebSecurityOrigin *)origin database:(NSString *)databaseIdentifier;
-
-/*!
- @method webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:totalSpaceNeeded:
- @param sender The WebView sending the delegate method.
- @param origin The security origin that needs a larger quota.
- @param totalSpaceNeeded The amount of space needed to store the new manifest and keep all other
- previously stored caches for this origin.
- @discussion This method is called when a page attempts to store more in the Application Cache
- for an origin than was allowed by the quota (or default) set for the origin. This allows the
- quota to be increased for the security origin.
-*/
-- (void)webView:(WebView *)sender exceededApplicationCacheOriginQuotaForSecurityOrigin:(WebSecurityOrigin *)origin totalSpaceNeeded:(NSUInteger)totalSpaceNeeded;
-
-- (WebView *)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request windowFeatures:(NSDictionary *)features;
-
-- (BOOL)webView:(WebView *)sender shouldReplaceUploadFile:(NSString *)path usingGeneratedFilename:(NSString **)filename;
-- (NSString *)webView:(WebView *)sender generateReplacementFile:(NSString *)path;
-
-/*!
- @method webView:decidePolicyForGeolocationRequestFromOrigin:frame:listener:
- @abstract
- @param webView The WebView sending the delegate method.
- @param origin The security origin that would like to use Geolocation.
- @param frame The WebFrame whose JavaScript initiated this call.
- @param listener The object to call when the decision is made
-*/
-- (void)webView:(WebView *)webView decidePolicyForGeolocationRequestFromOrigin:(WebSecurityOrigin *)origin
- frame:(WebFrame *)frame
- listener:(id<WebAllowDenyPolicyListener>)listener;
-- (void)webView:(WebView *)webView decidePolicyForNotificationRequestFromOrigin:(WebSecurityOrigin *)origin listener:(id<WebAllowDenyPolicyListener>)listener;
-
-- (void)webView:(WebView *)sender elementDidFocusNode:(DOMNode *)node;
-- (void)webView:(WebView *)sender elementDidBlurNode:(DOMNode *)node;
-
-/*!
- @method webView:printFrame:
- @abstract Informs that a WebFrame needs to be printed
- @param webView The WebView sending the delegate method
- @param frameView The WebFrame needing to be printed
- @discussion This method is called when a script or user requests the page to be printed.
-*/
-- (void)webView:(WebView *)sender printFrame:(WebFrame *)frame;
-
-#if ENABLE_FULLSCREEN_API
-- (BOOL)webView:(WebView *)sender supportsFullScreenForElement:(DOMElement *)element;
-- (void)webView:(WebView *)sender enterFullScreenForElement:(DOMElement *)element;
-- (void)webView:(WebView *)sender exitFullScreenForElement:(DOMElement *)element;
-#endif
-
-- (void)webView:(WebView *)sender didDrawFrame:(WebFrame *)frame;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebView.h b/Source/WebKit/mac/WebView/WebView.h
deleted file mode 100644
index 503ef3a6f..000000000
--- a/Source/WebKit/mac/WebView/WebView.h
+++ /dev/null
@@ -1,830 +0,0 @@
-/*
- * Copyright (C) 2003, 2004, 2005, 2006 Apple Computer, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <Cocoa/Cocoa.h>
-
-@class DOMCSSStyleDeclaration;
-@class DOMDocument;
-@class DOMElement;
-@class DOMNode;
-@class DOMRange;
-
-@class WebArchive;
-@class WebBackForwardList;
-@class WebDataSource;
-@class WebFrame;
-@class WebFrameView;
-@class WebHistoryItem;
-@class WebPreferences;
-@class WebScriptObject;
-@class WebViewPrivate;
-
-// Element dictionary keys
-extern NSString *WebElementDOMNodeKey; // DOMNode of the element
-extern NSString *WebElementFrameKey; // WebFrame of the element
-extern NSString *WebElementImageAltStringKey; // NSString of the ALT attribute of the image element
-extern NSString *WebElementImageKey; // NSImage of the image element
-extern NSString *WebElementImageRectKey; // NSValue of an NSRect, the rect of the image element
-extern NSString *WebElementImageURLKey; // NSURL of the image element
-extern NSString *WebElementIsSelectedKey; // NSNumber of BOOL indicating whether the element is selected or not
-extern NSString *WebElementLinkURLKey; // NSURL of the link if the element is within an anchor
-extern NSString *WebElementLinkTargetFrameKey; // WebFrame of the target of the anchor
-extern NSString *WebElementLinkTitleKey; // NSString of the title of the anchor
-extern NSString *WebElementLinkLabelKey; // NSString of the text within the anchor
-
-/*
- @discussion Notifications sent by WebView to mark the progress of loads.
- @constant WebViewProgressStartedNotification Posted whenever a load begins in the WebView, including
- a load that is initiated in a subframe. After receiving this notification zero or more
- WebViewProgressEstimateChangedNotifications will be sent. The userInfo will be nil.
- @constant WebViewProgressEstimateChangedNotification Posted whenever the value of
- estimatedProgress changes. The userInfo will be nil.
- @constant WebViewProgressFinishedNotification Posted when the load for a WebView has finished.
- The userInfo will be nil.
-*/
-extern NSString *WebViewProgressStartedNotification;
-extern NSString *WebViewProgressEstimateChangedNotification;
-extern NSString *WebViewProgressFinishedNotification;
-
-/*!
- @class WebView
- WebView manages the interaction between WebFrameViews and WebDataSources. Modification
- of the policies and behavior of the WebKit is largely managed by WebViews and their
- delegates.
-
- <p>
- Typical usage:
- </p>
- <pre>
- WebView *webView;
- WebFrame *mainFrame;
-
- webView = [[WebView alloc] initWithFrame: NSMakeRect (0,0,640,480)];
- mainFrame = [webView mainFrame];
- [mainFrame loadRequest:request];
- </pre>
-
- WebViews have the following delegates: WebUIDelegate, WebResourceLoadDelegate,
- WebFrameLoadDelegate, and WebPolicyDelegate.
-
- WebKit depends on the WebView's WebUIDelegate for all window
- related management, including opening new windows and controlling the user interface
- elements in those windows.
-
- WebResourceLoadDelegate is used to monitor the progress of resources as they are
- loaded. This delegate may be used to present users with a progress monitor.
-
- The WebFrameLoadDelegate receives messages when the URL in a WebFrame is
- changed.
-
- WebView's WebPolicyDelegate can make determinations about how
- content should be handled, based on the resource's URL and MIME type.
-*/
-@interface WebView : NSView
-{
-@private
- WebViewPrivate *_private;
-}
-
-/*!
- @method canShowMIMEType:
- @abstract Checks if the WebKit can show content of a certain MIME type.
- @param MIMEType The MIME type to check.
- @result YES if the WebKit can show content with MIMEtype.
-*/
-+ (BOOL)canShowMIMEType:(NSString *)MIMEType;
-
-
-/*!
- @method canShowMIMETypeAsHTML:
- @abstract Checks if the the MIME type is a type that the WebKit will interpret as HTML.
- @param MIMEType The MIME type to check.
- @result YES if the MIMEtype in an HTML type.
-*/
-+ (BOOL)canShowMIMETypeAsHTML:(NSString *)MIMEType;
-
-/*!
- @method MIMETypesShownAsHTML
- @result Returns an array of NSStrings that describe the MIME types
- WebKit will attempt to render as HTML.
-*/
-+ (NSArray *)MIMETypesShownAsHTML;
-
-/*!
- @method setMIMETypesShownAsHTML:
- @discussion Sets the array of NSString MIME types that WebKit will
- attempt to render as HTML. Typically you will retrieve the built-in
- array using MIMETypesShownAsHTML and add additional MIME types to that
- array.
-*/
-+ (void)setMIMETypesShownAsHTML:(NSArray *)MIMETypes;
-
-/*!
- @method URLFromPasteboard:
- @abstract Returns a URL from a pasteboard
- @param pasteboard The pasteboard with a URL
- @result A URL if the pasteboard has one. Nil if it does not.
- @discussion This method differs than NSURL's URLFromPasteboard method in that it tries multiple pasteboard types
- including NSURLPboardType to find a URL on the pasteboard.
-*/
-+ (NSURL *)URLFromPasteboard:(NSPasteboard *)pasteboard;
-
-/*!
- @method URLTitleFromPasteboard:
- @abstract Returns a URL title from a pasteboard
- @param pasteboard The pasteboard with a URL title
- @result A URL title if the pasteboard has one. Nil if it does not.
- @discussion This method returns a title that refers a URL on the pasteboard. An example of this is the link label
- which is the text inside the anchor tag.
-*/
-+ (NSString *)URLTitleFromPasteboard:(NSPasteboard *)pasteboard;
-
-/*!
- @method registerURLSchemeAsLocal:
- @abstract Adds the scheme to the list of schemes to be treated as local.
- @param scheme The scheme to register
-*/
-+ (void)registerURLSchemeAsLocal:(NSString *)scheme;
-
-/*!
- @method initWithFrame:frameName:groupName:
- @abstract The designated initializer for WebView.
- @discussion Initialize a WebView with the supplied parameters. This method will
- create a main WebFrame with the view. Passing a top level frame name is useful if you
- handle a targetted frame navigation that would normally open a window in some other
- way that still ends up creating a new WebView.
- @param frame The frame used to create the view.
- @param frameName The name to use for the top level frame. May be nil.
- @param groupName The name of the webView set to which this webView will be added. May be nil.
- @result Returns an initialized WebView.
-*/
-- (id)initWithFrame:(NSRect)frame frameName:(NSString *)frameName groupName:(NSString *)groupName;
-
-/*!
- @method close
- @abstract Closes the receiver, unloading its web page and canceling any pending loads.
- Once the receiver has closed, it will no longer respond to requests or fire delegate methods.
- (However, the -close method itself may fire delegate methods.)
- @discussion A garbage collected application is required to call close when the receiver is no longer needed.
- The close method will be called automatically when the window or hostWindow closes and shouldCloseWithWindow returns YES.
- A non-garbage collected application can still call close, providing a convenient way to prevent receiver
- from doing any more loading and firing any future delegate methods.
-*/
-- (void)close;
-
-/*!
- @method setShouldCloseWithWindow:
- @abstract Set whether the receiver closes when either it's window or hostWindow closes.
- @param close YES if the receiver should close when either it's window or hostWindow closes, otherwise NO.
-*/
-- (void)setShouldCloseWithWindow:(BOOL)close;
-
-/*!
- @method shouldCloseWithWindow
- @abstract Returns whether the receiver closes when either it's window or hostWindow closes.
- @discussion Defaults to YES in garbage collected applications, otherwise NO to maintain backwards compatibility.
- @result YES if the receiver closes when either it's window or hostWindow closes, otherwise NO.
-*/
-- (BOOL)shouldCloseWithWindow;
-
-/*!
- @method setUIDelegate:
- @abstract Set the WebView's WebUIDelegate.
- @param delegate The WebUIDelegate to set as the delegate.
-*/
-- (void)setUIDelegate:(id)delegate;
-
-/*!
- @method UIDelegate
- @abstract Return the WebView's WebUIDelegate.
- @result The WebView's WebUIDelegate.
-*/
-- (id)UIDelegate;
-
-/*!
- @method setResourceLoadDelegate:
- @abstract Set the WebView's WebResourceLoadDelegate load delegate.
- @param delegate The WebResourceLoadDelegate to set as the load delegate.
-*/
-- (void)setResourceLoadDelegate:(id)delegate;
-
-/*!
- @method resourceLoadDelegate
- @result Return the WebView's WebResourceLoadDelegate.
-*/
-- (id)resourceLoadDelegate;
-
-/*!
- @method setDownloadDelegate:
- @abstract Set the WebView's WebDownloadDelegate.
- @discussion The download delegate is retained by WebDownload when any downloads are in progress.
- @param delegate The WebDownloadDelegate to set as the download delegate.
-*/
-- (void)setDownloadDelegate:(id)delegate;
-
-/*!
- @method downloadDelegate
- @abstract Return the WebView's WebDownloadDelegate.
- @result The WebView's WebDownloadDelegate.
-*/
-- (id)downloadDelegate;
-
-/*!
- @method setFrameLoadDelegate:
- @abstract Set the WebView's WebFrameLoadDelegate delegate.
- @param delegate The WebFrameLoadDelegate to set as the delegate.
-*/
-- (void)setFrameLoadDelegate:(id)delegate;
-
-/*!
- @method frameLoadDelegate
- @abstract Return the WebView's WebFrameLoadDelegate delegate.
- @result The WebView's WebFrameLoadDelegate delegate.
-*/
-- (id)frameLoadDelegate;
-
-/*!
- @method setPolicyDelegate:
- @abstract Set the WebView's WebPolicyDelegate delegate.
- @param delegate The WebPolicyDelegate to set as the delegate.
-*/
-- (void)setPolicyDelegate:(id)delegate;
-
-/*!
- @method policyDelegate
- @abstract Return the WebView's WebPolicyDelegate.
- @result The WebView's WebPolicyDelegate.
-*/
-- (id)policyDelegate;
-
-/*!
- @method mainFrame
- @abstract Return the top level frame.
- @discussion Note that even document that are not framesets will have a
- mainFrame.
- @result The main frame.
-*/
-- (WebFrame *)mainFrame;
-
-/*!
- @method selectedFrame
- @abstract Return the frame that has the active selection.
- @discussion Returns the frame that contains the first responder, if any. Otherwise returns the
- frame that contains a non-zero-length selection, if any. Returns nil if no frame meets these criteria.
- @result The selected frame.
-*/
-- (WebFrame *)selectedFrame;
-
-/*!
- @method backForwardList
- @result The backforward list for this webView.
-*/
-- (WebBackForwardList *)backForwardList;
-
-/*!
- @method setMaintainsBackForwardList:
- @abstract Enable or disable the use of a backforward list for this webView.
- @param flag Turns use of the back forward list on or off
-*/
-- (void)setMaintainsBackForwardList:(BOOL)flag;
-
-/*!
- @method goBack
- @abstract Go back to the previous URL in the backforward list.
- @result YES if able to go back in the backforward list, NO otherwise.
-*/
-- (BOOL)goBack;
-
-/*!
- @method goForward
- @abstract Go forward to the next URL in the backforward list.
- @result YES if able to go forward in the backforward list, NO otherwise.
-*/
-- (BOOL)goForward;
-
-/*!
- @method goToBackForwardItem:
- @abstract Go back or forward to an item in the backforward list.
- @result YES if able to go to the item, NO otherwise.
-*/
-- (BOOL)goToBackForwardItem:(WebHistoryItem *)item;
-
-/*!
- @method setTextSizeMultiplier:
- @abstract Change the size of the text rendering in views managed by this webView.
- @param multiplier A fractional percentage value, 1.0 is 100%.
-*/
-- (void)setTextSizeMultiplier:(float)multiplier;
-
-/*!
- @method textSizeMultiplier
- @result The text size multipler.
-*/
-- (float)textSizeMultiplier;
-
-/*!
- @method setApplicationNameForUserAgent:
- @abstract Set the application name.
- @discussion This name will be used in user-agent strings
- that are chosen for best results in rendering web pages.
- @param applicationName The application name
-*/
-- (void)setApplicationNameForUserAgent:(NSString *)applicationName;
-
-/*!
- @method applicationNameForUserAgent
- @result The name of the application as used in the user-agent string.
-*/
-- (NSString *)applicationNameForUserAgent;
-
-/*!
- @method setCustomUserAgent:
- @abstract Set the user agent.
- @discussion Setting this means that the webView should use this user-agent string
- instead of constructing a user-agent string for each URL. Setting it to nil
- causes the webView to construct the user-agent string for each URL
- for best results rendering web pages.
- @param userAgentString The user agent description
-*/
-- (void)setCustomUserAgent:(NSString *)userAgentString;
-
-/*!
- @method customUserAgent
- @result The custom user-agent string or nil if no custom user-agent string has been set.
-*/
-- (NSString *)customUserAgent;
-
-/*!
- @method userAgentForURL:
- @abstract Get the appropriate user-agent string for a particular URL.
- @param URL The URL.
- @result The user-agent string for the supplied URL.
-*/
-- (NSString *)userAgentForURL:(NSURL *)URL;
-
-
-/*!
- @method supportsTextEncoding
- @abstract Find out if the current web page supports text encodings.
- @result YES if the document view of the current web page can
- support different text encodings.
-*/
-- (BOOL)supportsTextEncoding;
-
-/*!
- @method setCustomTextEncodingName:
- @discussion Make the page display with a different text encoding; stops any load in progress.
- The text encoding passed in overrides the normal text encoding smarts including
- what's specified in a web page's header or HTTP response.
- The text encoding automatically goes back to the default when the top level frame
- changes to a new location.
- Setting the text encoding name to nil makes the webView use default encoding rules.
- @param encoding The text encoding name to use to display a page or nil.
-*/
-- (void)setCustomTextEncodingName:(NSString *)encodingName;
-
-/*!
- @method customTextEncodingName
- @result The custom text encoding name or nil if no custom text encoding name has been set.
-*/
-- (NSString *)customTextEncodingName;
-
-/*!
- @method setMediaStyle:
- @discussion Set the media style for the WebView. The mediaStyle will override the normal value
- of the CSS media property. Setting the value to nil will restore the normal value.
- @param mediaStyle The value to use for the CSS media property.
-*/
-- (void)setMediaStyle:(NSString *)mediaStyle;
-
-/*!
- @method mediaStyle
- @result mediaStyle The value to use for the CSS media property, as set by setMediaStyle:. It
- will be nil unless set by that method.
-*/
-- (NSString *)mediaStyle;
-
-/*!
- @method stringByEvaluatingJavaScriptFromString:
- @param script The text of the JavaScript.
- @result The result of the script, converted to a string, or nil for failure.
-*/
-- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
-
-/*!
- @method windowScriptObject
- @discussion windowScriptObject return a WebScriptObject that represents the
- window object from the script environment.
- @result Returns the window object from the script environment.
-*/
-- (WebScriptObject *)windowScriptObject;
-
-/*!
- @method setPreferences:
- @param preferences The preferences to use for the webView.
- @abstract Override the standard setting for the webView.
-*/
-- (void)setPreferences: (WebPreferences *)prefs;
-
-/*!
- @method preferences
- @result Returns the preferences used by this webView.
- @discussion This method will return [WebPreferences standardPreferences] if no
- other instance of WebPreferences has been set.
-*/
-- (WebPreferences *)preferences;
-
-/*!
- @method setPreferencesIdentifier:
- @param anIdentifier The string to use a prefix for storing values for this WebView in the user
- defaults database.
- @discussion If the WebPreferences for this WebView are stored in the user defaults database, the
- string set in this method will be used a key prefix.
-*/
-- (void)setPreferencesIdentifier:(NSString *)anIdentifier;
-
-/*!
- @method preferencesIdentifier
- @result Returns the WebPreferences key prefix.
-*/
-- (NSString *)preferencesIdentifier;
-
-
-/*!
- @method setHostWindow:
- @param hostWindow The host window for the web view.
- @discussion Parts of WebKit (such as plug-ins and JavaScript) depend on a window to function
- properly. Set a host window so these parts continue to function even when the web view is
- not in an actual window.
-*/
-- (void)setHostWindow:(NSWindow *)hostWindow;
-
-/*!
- @method hostWindow
- @result The host window for the web view.
-*/
-- (NSWindow *)hostWindow;
-
-/*!
- @method searchFor:direction:caseSensitive:
- @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.
- @result YES if found, NO if not found.
-*/
-- (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag;
-
-/*!
- @method registerViewClass:representationClass:forMIMEType:
- @discussion Register classes that implement WebDocumentView and WebDocumentRepresentation respectively.
- A document class may register for a primary MIME type by excluding
- a subtype, i.e. "video/" will match the document class with
- all video types. More specific matching takes precedence
- over general matching.
- @param viewClass The WebDocumentView class to use to render data for a given MIME type.
- @param representationClass The WebDocumentRepresentation class to use to represent data of the given MIME type.
- @param MIMEType The MIME type to represent with an object of the given class.
-*/
-+ (void)registerViewClass:(Class)viewClass representationClass:(Class)representationClass forMIMEType:(NSString *)MIMEType;
-
-
-/*!
- @method setGroupName:
- @param groupName The name of the group for this WebView.
- @discussion JavaScript may access named frames within the same group.
-*/
-- (void)setGroupName:(NSString *)groupName;
-
-/*!
- @method groupName
- @discussion The group name for this WebView.
-*/
-- (NSString *)groupName;
-
-/*!
- @method estimatedProgress
- @discussion An estimate of the percent complete for a document load. This
- value will range from 0 to 1.0 and, once a load completes, will remain at 1.0
- until a new load starts, at which point it will be reset to 0. The value is an
- estimate based on the total number of bytes expected to be received
- for a document, including all it's possible subresources. For more accurate progress
- indication it is recommended that you implement a WebFrameLoadDelegate and a
- WebResourceLoadDelegate.
-*/
-- (double)estimatedProgress;
-
-/*!
- @method isLoading
- @discussion Returns YES if there are any pending loads.
-*/
-- (BOOL)isLoading;
-
-/*!
- @method elementAtPoint:
- @param point A point in the coordinates of the WebView
- @result An element dictionary describing the point
-*/
-- (NSDictionary *)elementAtPoint:(NSPoint)point;
-
-/*!
- @method pasteboardTypesForSelection
- @abstract Returns the pasteboard types that WebView can use for the current selection
-*/
-- (NSArray *)pasteboardTypesForSelection;
-
-/*!
- @method writeSelectionWithPasteboardTypes:toPasteboard:
- @abstract Writes the current selection to the pasteboard
- @param types The types that WebView will write to the pasteboard
- @param pasteboard The pasteboard to write to
-*/
-- (void)writeSelectionWithPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard;
-
-/*!
- @method pasteboardTypesForElement:
- @abstract Returns the pasteboard types that WebView can use for an element
- @param element The element
-*/
-- (NSArray *)pasteboardTypesForElement:(NSDictionary *)element;
-
-/*!
- @method writeElement:withPasteboardTypes:toPasteboard:
- @abstract Writes an element to the pasteboard
- @param element The element to write to the pasteboard
- @param types The types that WebView will write to the pasteboard
- @param pasteboard The pasteboard to write to
-*/
-- (void)writeElement:(NSDictionary *)element withPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard;
-
-/*!
- @method moveDragCaretToPoint:
- @param point A point in the coordinates of the WebView
- @discussion This method moves the caret that shows where something being dragged will be dropped. It may cause the WebView to scroll
- to make the new position of the drag caret visible.
-*/
-- (void)moveDragCaretToPoint:(NSPoint)point;
-
-/*!
- @method removeDragCaret
- @abstract Removes the drag caret from the WebView
-*/
-- (void)removeDragCaret;
-
-/*!
- @method setDrawsBackground:
- @param drawsBackround YES to cause the receiver to draw a default white background, NO otherwise.
- @abstract Sets whether the receiver draws a default white background when the loaded page has no background specified.
-*/
-- (void)setDrawsBackground:(BOOL)drawsBackround;
-
-/*!
- @method drawsBackground
- @result Returns YES if the receiver draws a default white background, NO otherwise.
-*/
-- (BOOL)drawsBackground;
-
-/*!
- @method setShouldUpdateWhileOffscreen:
- @abstract Sets whether the receiver must update even when it is not in a window that is currently visible.
- @param updateWhileOffscreen whether the receiver is required to render updates to the web page when it is not in a visible window.
- @abstract If set to NO, then whenever the web view is not in a visible window, updates to the web page will not necessarily be rendered in the view.
- However, when the window is made visible, the view will be updated automatically. Not updating while hidden can improve performance. If set to is YES,
- hidden web views are always updated. This is the default.
-*/
-- (void)setShouldUpdateWhileOffscreen:(BOOL)updateWhileOffscreen;
-
-/*!
- @method shouldUpdateWhileOffscreen
- @result Returns whether the web view is always updated even when it is not in a window that is currently visible.
-*/
-- (BOOL)shouldUpdateWhileOffscreen;
-
-/*!
- @method setMainFrameURL:
- @param URLString The URL to load in the mainFrame.
-*/
-- (void)setMainFrameURL:(NSString *)URLString;
-
-/*!
- @method mainFrameURL
- @result Returns the main frame's current URL.
-*/
-- (NSString *)mainFrameURL;
-
-/*!
- @method mainFrameDocument
- @result Returns the main frame's DOMDocument.
-*/
-- (DOMDocument *)mainFrameDocument;
-
-/*!
- @method mainFrameTitle
- @result Returns the main frame's title if any, otherwise an empty string.
-*/
-- (NSString *)mainFrameTitle;
-
-/*!
- @method mainFrameIcon
- @discussion The methods returns the site icon for the current page loaded in the mainFrame.
- @result Returns the main frame's icon if any, otherwise nil.
-*/
-- (NSImage *)mainFrameIcon;
-
-@end
-
-
-@interface WebView (WebIBActions) <NSUserInterfaceValidations>
-- (IBAction)takeStringURLFrom:(id)sender;
-- (IBAction)stopLoading:(id)sender;
-- (IBAction)reload:(id)sender;
-- (IBAction)reloadFromOrigin:(id)sender;
-- (BOOL)canGoBack;
-- (IBAction)goBack:(id)sender;
-- (BOOL)canGoForward;
-- (IBAction)goForward:(id)sender;
-- (BOOL)canMakeTextLarger;
-- (IBAction)makeTextLarger:(id)sender;
-- (BOOL)canMakeTextSmaller;
-- (IBAction)makeTextSmaller:(id)sender;
-- (BOOL)canMakeTextStandardSize;
-- (IBAction)makeTextStandardSize:(id)sender;
-- (IBAction)toggleContinuousSpellChecking:(id)sender;
-- (IBAction)toggleSmartInsertDelete:(id)sender;
-@end
-
-
-// WebView editing support
-
-extern NSString * const WebViewDidBeginEditingNotification;
-extern NSString * const WebViewDidChangeNotification;
-extern NSString * const WebViewDidEndEditingNotification;
-extern NSString * const WebViewDidChangeTypingStyleNotification;
-extern NSString * const WebViewDidChangeSelectionNotification;
-
-@interface WebView (WebViewCSS)
-- (DOMCSSStyleDeclaration *)computedStyleForElement:(DOMElement *)element pseudoElement:(NSString *)pseudoElement;
-@end
-
-@interface WebView (WebViewEditing)
-- (DOMRange *)editableDOMRangeForPoint:(NSPoint)point;
-- (void)setSelectedDOMRange:(DOMRange *)range affinity:(NSSelectionAffinity)selectionAffinity;
-- (DOMRange *)selectedDOMRange;
-- (NSSelectionAffinity)selectionAffinity;
-- (BOOL)maintainsInactiveSelection;
-- (void)setEditable:(BOOL)flag;
-- (BOOL)isEditable;
-- (void)setTypingStyle:(DOMCSSStyleDeclaration *)style;
-- (DOMCSSStyleDeclaration *)typingStyle;
-- (void)setSmartInsertDeleteEnabled:(BOOL)flag;
-- (BOOL)smartInsertDeleteEnabled;
-- (void)setContinuousSpellCheckingEnabled:(BOOL)flag;
-- (BOOL)isContinuousSpellCheckingEnabled;
-- (NSInteger)spellCheckerDocumentTag;
-- (NSUndoManager *)undoManager;
-- (void)setEditingDelegate:(id)delegate;
-- (id)editingDelegate;
-- (DOMCSSStyleDeclaration *)styleDeclarationWithText:(NSString *)text;
-@end
-
-@interface WebView (WebViewUndoableEditing)
-- (void)replaceSelectionWithNode:(DOMNode *)node;
-- (void)replaceSelectionWithText:(NSString *)text;
-- (void)replaceSelectionWithMarkupString:(NSString *)markupString;
-- (void)replaceSelectionWithArchive:(WebArchive *)archive;
-- (void)deleteSelection;
-- (void)applyStyle:(DOMCSSStyleDeclaration *)style;
-@end
-
-@interface WebView (WebViewEditingActions)
-
-- (void)copy:(id)sender;
-- (void)cut:(id)sender;
-- (void)paste:(id)sender;
-- (void)copyFont:(id)sender;
-- (void)pasteFont:(id)sender;
-- (void)delete:(id)sender;
-- (void)pasteAsPlainText:(id)sender;
-- (void)pasteAsRichText:(id)sender;
-
-- (void)changeFont:(id)sender;
-- (void)changeAttributes:(id)sender;
-- (void)changeDocumentBackgroundColor:(id)sender;
-- (void)changeColor:(id)sender;
-
-- (void)alignCenter:(id)sender;
-- (void)alignJustified:(id)sender;
-- (void)alignLeft:(id)sender;
-- (void)alignRight:(id)sender;
-
-- (void)checkSpelling:(id)sender;
-- (void)showGuessPanel:(id)sender;
-- (void)performFindPanelAction:(id)sender;
-
-- (void)startSpeaking:(id)sender;
-- (void)stopSpeaking:(id)sender;
-
-- (void)moveToBeginningOfSentence:(id)sender;
-- (void)moveToBeginningOfSentenceAndModifySelection:(id)sender;
-- (void)moveToEndOfSentence:(id)sender;
-- (void)moveToEndOfSentenceAndModifySelection:(id)sender;
-- (void)selectSentence:(id)sender;
-
-- (void)overWrite:(id)sender;
-
-/*
-The following methods are declared in NSResponder.h.
-WebView overrides each method in this list, providing
-a custom implementation for each.
-
-- (void)capitalizeWord:(id)sender;
-- (void)centerSelectionInVisibleArea:(id)sender;
-- (void)changeCaseOfLetter:(id)sender;
-- (void)complete:(id)sender;
-- (void)deleteBackward:(id)sender;
-- (void)deleteBackwardByDecomposingPreviousCharacter:(id)sender;
-- (void)deleteForward:(id)sender;
-- (void)deleteToBeginningOfLine:(id)sender;
-- (void)deleteToBeginningOfParagraph:(id)sender;
-- (void)deleteToEndOfLine:(id)sender;
-- (void)deleteToEndOfParagraph:(id)sender;
-- (void)deleteWordBackward:(id)sender;
-- (void)deleteWordForward:(id)sender;
-- (void)indent:(id)sender;
-- (void)insertBacktab:(id)sender;
-- (void)insertNewline:(id)sender;
-- (void)insertParagraphSeparator:(id)sender;
-- (void)insertTab:(id)sender;
-- (void)lowercaseWord:(id)sender;
-- (void)moveBackward:(id)sender;
-- (void)moveBackwardAndModifySelection:(id)sender;
-- (void)moveDown:(id)sender;
-- (void)moveDownAndModifySelection:(id)sender;
-- (void)moveForward:(id)sender;
-- (void)moveForwardAndModifySelection:(id)sender;
-- (void)moveLeft:(id)sender;
-- (void)moveLeftAndModifySelection:(id)sender;
-- (void)moveRight:(id)sender;
-- (void)moveRightAndModifySelection:(id)sender;
-- (void)moveToBeginningOfDocument:(id)sender;
-- (void)moveToBeginningOfDocumentAndModifySelection:(id)sender;
-- (void)moveToBeginningOfLine:(id)sender;
-- (void)moveToBeginningOfLineAndModifySelection:(id)sender;
-- (void)moveToBeginningOfParagraph:(id)sender;
-- (void)moveToBeginningOfParagraphAndModifySelection:(id)sender;
-- (void)moveToEndOfDocument:(id)sender;
-- (void)moveToEndOfDocumentAndModifySelection:(id)sender;
-- (void)moveToEndOfLine:(id)sender;
-- (void)moveToEndOfLineAndModifySelection:(id)sender;
-- (void)moveToEndOfParagraph:(id)sender;
-- (void)moveToEndOfParagraphAndModifySelection:(id)sender;
-- (void)moveUp:(id)sender;
-- (void)moveUpAndModifySelection:(id)sender;
-- (void)moveWordBackward:(id)sender;
-- (void)moveWordBackwardAndModifySelection:(id)sender;
-- (void)moveWordForward:(id)sender;
-- (void)moveWordForwardAndModifySelection:(id)sender;
-- (void)moveWordLeft:(id)sender;
-- (void)moveWordLeftAndModifySelection:(id)sender;
-- (void)moveWordRight:(id)sender;
-- (void)moveWordRightAndModifySelection:(id)sender;
-- (void)pageDown:(id)sender;
-- (void)pageUp:(id)sender;
-- (void)scrollLineDown:(id)sender;
-- (void)scrollLineUp:(id)sender;
-- (void)scrollPageDown:(id)sender;
-- (void)scrollPageUp:(id)sender;
-- (void)selectAll:(id)sender;
-- (void)selectLine:(id)sender;
-- (void)selectParagraph:(id)sender;
-- (void)selectWord:(id)sender;
-- (void)uppercaseWord:(id)sender;
-*/
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebView.mm b/Source/WebKit/mac/WebView/WebView.mm
deleted file mode 100644
index baf235ab3..000000000
--- a/Source/WebKit/mac/WebView/WebView.mm
+++ /dev/null
@@ -1,6758 +0,0 @@
-/*
- * Copyright (C) 2005-2012 Apple Inc. All rights reserved.
- * Copyright (C) 2006 David Smith (catfish.man@gmail.com)
- * Copyright (C) 2010 Igalia S.L
- *
- * 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebViewInternal.h"
-#import "WebViewData.h"
-
-#import "DOMCSSStyleDeclarationInternal.h"
-#import "DOMDocumentInternal.h"
-#import "DOMNodeInternal.h"
-#import "DOMRangeInternal.h"
-#import "WebAlternativeTextClient.h"
-#import "WebApplicationCache.h"
-#import "WebBackForwardListInternal.h"
-#import "WebBaseNetscapePluginView.h"
-#import "WebCache.h"
-#import "WebChromeClient.h"
-#import "WebContextMenuClient.h"
-#import "WebDOMOperationsPrivate.h"
-#import "WebDataSourceInternal.h"
-#import "WebDatabaseManagerPrivate.h"
-#import "WebDefaultEditingDelegate.h"
-#import "WebDefaultPolicyDelegate.h"
-#import "WebDefaultUIDelegate.h"
-#import "WebDelegateImplementationCaching.h"
-#import "WebDeviceOrientationClient.h"
-#import "WebDeviceOrientationProvider.h"
-#import "WebDocument.h"
-#import "WebDocumentInternal.h"
-#import "WebDownload.h"
-#import "WebDownloadInternal.h"
-#import "WebDragClient.h"
-#import "WebDynamicScrollBarsViewInternal.h"
-#import "WebEditingDelegate.h"
-#import "WebEditorClient.h"
-#import "WebFormDelegatePrivate.h"
-#import "WebFrameInternal.h"
-#import "WebFrameNetworkingContext.h"
-#import "WebFrameViewInternal.h"
-#import "WebFullScreenController.h"
-#import "WebGeolocationClient.h"
-#import "WebGeolocationPositionInternal.h"
-#import "WebHTMLRepresentation.h"
-#import "WebHTMLViewInternal.h"
-#import "WebHistoryItemInternal.h"
-#import "WebIconDatabaseInternal.h"
-#import "WebInspector.h"
-#import "WebInspectorClient.h"
-#import "WebKitErrors.h"
-#import "WebKitFullScreenListener.h"
-#import "WebKitLogging.h"
-#import "WebKitNSStringExtras.h"
-#import "WebKitStatisticsPrivate.h"
-#import "WebKitSystemBits.h"
-#import "WebKitVersionChecks.h"
-#import "WebLocalizableStrings.h"
-#import "WebNSDataExtras.h"
-#import "WebNSDataExtrasPrivate.h"
-#import "WebNSDictionaryExtras.h"
-#import "WebNSEventExtras.h"
-#import "WebNSObjectExtras.h"
-#import "WebNSPasteboardExtras.h"
-#import "WebNSPrintOperationExtras.h"
-#import "WebNSURLExtras.h"
-#import "WebNSURLRequestExtras.h"
-#import "WebNSViewExtras.h"
-#import "WebNodeHighlight.h"
-#import "WebNotificationClient.h"
-#import "WebPDFView.h"
-#import "WebPanelAuthenticationHandler.h"
-#import "WebPlatformStrategies.h"
-#import "WebPluginDatabase.h"
-#import "WebPolicyDelegate.h"
-#import "WebPreferenceKeysPrivate.h"
-#import "WebPreferencesPrivate.h"
-#import "WebScriptDebugDelegate.h"
-#import "WebScriptWorldInternal.h"
-#import "WebStorageManagerInternal.h"
-#import "WebSystemInterface.h"
-#import "WebTextCompletionController.h"
-#import "WebTextIterator.h"
-#import "WebUIDelegate.h"
-#import "WebUIDelegatePrivate.h"
-#import <CoreFoundation/CFSet.h>
-#import <Foundation/NSURLConnection.h>
-#import <JavaScriptCore/APICast.h>
-#import <JavaScriptCore/JSValueRef.h>
-#import <WebCore/AlternativeTextUIController.h>
-#import <WebCore/AnimationController.h>
-#import <WebCore/ApplicationCacheStorage.h>
-#import <WebCore/BackForwardListImpl.h>
-#import <WebCore/MemoryCache.h>
-#import <WebCore/Chrome.h>
-#import <WebCore/ColorMac.h>
-#import <WebCore/Cursor.h>
-#import <WebCore/DatabaseManager.h>
-#import <WebCore/Document.h>
-#import <WebCore/DocumentLoader.h>
-#import <WebCore/DragController.h>
-#import <WebCore/DragData.h>
-#import <WebCore/DragSession.h>
-#import <WebCore/Editor.h>
-#import <WebCore/EventHandler.h>
-#import <WebCore/ExceptionHandlers.h>
-#import <WebCore/FocusController.h>
-#import <WebCore/Frame.h>
-#import <WebCore/FrameLoader.h>
-#import <WebCore/FrameSelection.h>
-#import <WebCore/FrameTree.h>
-#import <WebCore/FrameView.h>
-#import <WebCore/GCController.h>
-#import <WebCore/GeolocationController.h>
-#import <WebCore/GeolocationError.h>
-#import <WebCore/HTMLMediaElement.h>
-#import <WebCore/HTMLNames.h>
-#import <WebCore/HistoryController.h>
-#import <WebCore/HistoryItem.h>
-#import <WebCore/IconDatabase.h>
-#import <WebCore/InitializeLogging.h>
-#import <WebCore/JSCSSStyleDeclaration.h>
-#import <WebCore/JSDocument.h>
-#import <WebCore/JSElement.h>
-#import <WebCore/JSNodeList.h>
-#import <WebCore/JSNotification.h>
-#import <WebCore/MemoryPressureHandler.h>
-#import <WebCore/MIMETypeRegistry.h>
-#import <WebCore/NodeList.h>
-#import <WebCore/Notification.h>
-#import <WebCore/NotificationController.h>
-#import <WebCore/Page.h>
-#import <WebCore/PageCache.h>
-#import <WebCore/PageGroup.h>
-#import <WebCore/PlatformEventFactoryMac.h>
-#import <WebCore/ProgressTracker.h>
-#import <WebCore/RenderView.h>
-#import <WebCore/RenderWidget.h>
-#import <WebCore/ResourceHandle.h>
-#import <WebCore/ResourceLoadScheduler.h>
-#import <WebCore/ResourceRequest.h>
-#import <WebCore/RunLoop.h>
-#import <WebCore/RuntimeApplicationChecks.h>
-#import <WebCore/RuntimeEnabledFeatures.h>
-#import <WebCore/SchemeRegistry.h>
-#import <WebCore/ScriptController.h>
-#import <WebCore/ScriptValue.h>
-#import <WebCore/SecurityOrigin.h>
-#import <WebCore/SecurityPolicy.h>
-#import <WebCore/Settings.h>
-#import <WebCore/StylePropertySet.h>
-#import <WebCore/SystemVersionMac.h>
-#import <WebCore/TextResourceDecoder.h>
-#import <WebCore/ThreadCheck.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <WebCore/WebCoreView.h>
-#import <WebCore/WebVideoFullscreenController.h>
-#import <WebCore/Widget.h>
-#import <WebKit/DOM.h>
-#import <WebKit/DOMExtensions.h>
-#import <WebKit/DOMPrivate.h>
-#import <WebKitSystemInterface.h>
-#import <mach-o/dyld.h>
-#import <objc/objc-auto.h>
-#import <objc/runtime.h>
-#import <runtime/ArrayPrototype.h>
-#import <runtime/DateInstance.h>
-#import <runtime/InitializeThreading.h>
-#import <runtime/JSLock.h>
-#import <runtime/JSCJSValue.h>
-#import <wtf/Assertions.h>
-#import <wtf/HashTraits.h>
-#import <wtf/MainThread.h>
-#import <wtf/RefCountedLeakCounter.h>
-#import <wtf/RefPtr.h>
-#import <wtf/StdLibExtras.h>
-
-#if ENABLE(DASHBOARD_SUPPORT)
-#import <WebKit/WebDashboardRegion.h>
-#endif
-
-#if USE(GLIB)
-#import <glib.h>
-#endif
-
-@interface NSSpellChecker (WebNSSpellCheckerDetails)
-- (void)_preflightChosenSpellServer;
-@end
-
-@interface NSView (WebNSViewDetails)
-- (NSView *)_hitTest:(NSPoint *)aPoint dragTypes:(NSSet *)types;
-- (void)_autoscrollForDraggingInfo:(id)dragInfo timeDelta:(NSTimeInterval)repeatDelta;
-- (BOOL)_shouldAutoscrollForDraggingInfo:(id)dragInfo;
-@end
-
-@interface NSWindow (WebNSWindowDetails)
-- (id)_oldFirstResponderBeforeBecoming;
-- (void)_enableScreenUpdatesIfNeeded;
-- (BOOL)_wrapsCarbonWindow;
-- (BOOL)_hasKeyAppearance;
-@end
-
-using namespace WebCore;
-using namespace JSC;
-
-#if defined(__ppc__) || defined(__ppc64__)
-#define PROCESSOR "PPC"
-#elif defined(__i386__) || defined(__x86_64__)
-#define PROCESSOR "Intel"
-#else
-#error Unknown architecture
-#endif
-
-#define FOR_EACH_RESPONDER_SELECTOR(macro) \
-macro(alignCenter) \
-macro(alignJustified) \
-macro(alignLeft) \
-macro(alignRight) \
-macro(capitalizeWord) \
-macro(centerSelectionInVisibleArea) \
-macro(changeAttributes) \
-macro(changeBaseWritingDirection) \
-macro(changeBaseWritingDirectionToLTR) \
-macro(changeBaseWritingDirectionToRTL) \
-macro(changeColor) \
-macro(changeDocumentBackgroundColor) \
-macro(changeFont) \
-macro(changeSpelling) \
-macro(checkSpelling) \
-macro(complete) \
-macro(copy) \
-macro(copyFont) \
-macro(cut) \
-macro(delete) \
-macro(deleteBackward) \
-macro(deleteBackwardByDecomposingPreviousCharacter) \
-macro(deleteForward) \
-macro(deleteToBeginningOfLine) \
-macro(deleteToBeginningOfParagraph) \
-macro(deleteToEndOfLine) \
-macro(deleteToEndOfParagraph) \
-macro(deleteToMark) \
-macro(deleteWordBackward) \
-macro(deleteWordForward) \
-macro(ignoreSpelling) \
-macro(indent) \
-macro(insertBacktab) \
-macro(insertLineBreak) \
-macro(insertNewline) \
-macro(insertNewlineIgnoringFieldEditor) \
-macro(insertParagraphSeparator) \
-macro(insertTab) \
-macro(insertTabIgnoringFieldEditor) \
-macro(lowercaseWord) \
-macro(makeBaseWritingDirectionLeftToRight) \
-macro(makeBaseWritingDirectionRightToLeft) \
-macro(makeTextWritingDirectionLeftToRight) \
-macro(makeTextWritingDirectionNatural) \
-macro(makeTextWritingDirectionRightToLeft) \
-macro(moveBackward) \
-macro(moveBackwardAndModifySelection) \
-macro(moveDown) \
-macro(moveDownAndModifySelection) \
-macro(moveForward) \
-macro(moveForwardAndModifySelection) \
-macro(moveLeft) \
-macro(moveLeftAndModifySelection) \
-macro(moveParagraphBackwardAndModifySelection) \
-macro(moveParagraphForwardAndModifySelection) \
-macro(moveRight) \
-macro(moveRightAndModifySelection) \
-macro(moveToBeginningOfDocument) \
-macro(moveToBeginningOfDocumentAndModifySelection) \
-macro(moveToBeginningOfLine) \
-macro(moveToBeginningOfLineAndModifySelection) \
-macro(moveToBeginningOfParagraph) \
-macro(moveToBeginningOfParagraphAndModifySelection) \
-macro(moveToBeginningOfSentence) \
-macro(moveToBeginningOfSentenceAndModifySelection) \
-macro(moveToEndOfDocument) \
-macro(moveToEndOfDocumentAndModifySelection) \
-macro(moveToEndOfLine) \
-macro(moveToEndOfLineAndModifySelection) \
-macro(moveToEndOfParagraph) \
-macro(moveToEndOfParagraphAndModifySelection) \
-macro(moveToEndOfSentence) \
-macro(moveToEndOfSentenceAndModifySelection) \
-macro(moveToLeftEndOfLine) \
-macro(moveToLeftEndOfLineAndModifySelection) \
-macro(moveToRightEndOfLine) \
-macro(moveToRightEndOfLineAndModifySelection) \
-macro(moveUp) \
-macro(moveUpAndModifySelection) \
-macro(moveWordBackward) \
-macro(moveWordBackwardAndModifySelection) \
-macro(moveWordForward) \
-macro(moveWordForwardAndModifySelection) \
-macro(moveWordLeft) \
-macro(moveWordLeftAndModifySelection) \
-macro(moveWordRight) \
-macro(moveWordRightAndModifySelection) \
-macro(orderFrontSubstitutionsPanel) \
-macro(outdent) \
-macro(overWrite) \
-macro(pageDown) \
-macro(pageDownAndModifySelection) \
-macro(pageUp) \
-macro(pageUpAndModifySelection) \
-macro(paste) \
-macro(pasteAsPlainText) \
-macro(pasteAsRichText) \
-macro(pasteFont) \
-macro(performFindPanelAction) \
-macro(scrollLineDown) \
-macro(scrollLineUp) \
-macro(scrollPageDown) \
-macro(scrollPageUp) \
-macro(scrollToBeginningOfDocument) \
-macro(scrollToEndOfDocument) \
-macro(selectAll) \
-macro(selectLine) \
-macro(selectParagraph) \
-macro(selectSentence) \
-macro(selectToMark) \
-macro(selectWord) \
-macro(setMark) \
-macro(showGuessPanel) \
-macro(startSpeaking) \
-macro(stopSpeaking) \
-macro(subscript) \
-macro(superscript) \
-macro(swapWithMark) \
-macro(takeFindStringFromSelection) \
-macro(toggleBaseWritingDirection) \
-macro(transpose) \
-macro(underline) \
-macro(unscript) \
-macro(uppercaseWord) \
-macro(yank) \
-macro(yankAndSelect) \
-
-#define WebKitOriginalTopPrintingMarginKey @"WebKitOriginalTopMargin"
-#define WebKitOriginalBottomPrintingMarginKey @"WebKitOriginalBottomMargin"
-
-#define KeyboardUIModeDidChangeNotification @"com.apple.KeyboardUIModeDidChange"
-#define AppleKeyboardUIMode CFSTR("AppleKeyboardUIMode")
-#define UniversalAccessDomain CFSTR("com.apple.universalaccess")
-
-static BOOL s_didSetCacheModel;
-static WebCacheModel s_cacheModel = WebCacheModelDocumentViewer;
-
-#ifndef NDEBUG
-static const char webViewIsOpen[] = "At least one WebView is still open.";
-#endif
-
-@interface NSObject (WebValidateWithoutDelegate)
-- (BOOL)validateUserInterfaceItemWithoutDelegate:(id <NSValidatedUserInterfaceItem>)item;
-@end
-
-@interface _WebSafeForwarder : NSObject
-{
- id target; // Non-retained. Don't retain delegates.
- id defaultTarget;
-}
-- (id)initWithTarget:(id)target defaultTarget:(id)defaultTarget;
-@end
-
-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);
-}
-
-LayoutMilestones coreLayoutMilestones(WebLayoutMilestones milestones)
-{
- return (milestones & WebDidFirstLayout ? DidFirstLayout : 0)
- | (milestones & WebDidFirstVisuallyNonEmptyLayout ? DidFirstVisuallyNonEmptyLayout : 0)
- | (milestones & WebDidHitRelevantRepaintedObjectsAreaThreshold ? DidHitRelevantRepaintedObjectsAreaThreshold : 0);
-}
-
-WebLayoutMilestones kitLayoutMilestones(LayoutMilestones milestones)
-{
- return (milestones & DidFirstLayout ? WebDidFirstLayout : 0)
- | (milestones & DidFirstVisuallyNonEmptyLayout ? WebDidFirstVisuallyNonEmptyLayout : 0)
- | (milestones & DidHitRelevantRepaintedObjectsAreaThreshold ? WebDidHitRelevantRepaintedObjectsAreaThreshold : 0);
-}
-
-static PageVisibilityState core(WebPageVisibilityState visibilityState)
-{
- switch (visibilityState) {
- case WebPageVisibilityStateVisible:
- return PageVisibilityStateVisible;
- case WebPageVisibilityStateHidden:
- return PageVisibilityStateHidden;
- case WebPageVisibilityStatePrerender:
- return PageVisibilityStatePrerender;
- case WebPageVisibilityStateUnloaded:
- return PageVisibilityStateUnloaded;
- }
-
- ASSERT_NOT_REACHED();
- return PageVisibilityStateVisible;
-}
-
-static WebPageVisibilityState kit(PageVisibilityState visibilityState)
-{
- switch (visibilityState) {
- case PageVisibilityStateVisible:
- return WebPageVisibilityStateVisible;
- case PageVisibilityStateHidden:
- return WebPageVisibilityStateHidden;
- case PageVisibilityStatePrerender:
- return WebPageVisibilityStatePrerender;
- case PageVisibilityStateUnloaded:
- return WebPageVisibilityStateUnloaded;
- }
-
- ASSERT_NOT_REACHED();
- return WebPageVisibilityStateVisible;
-}
-
-@interface WebView (WebFileInternal)
-- (float)_deviceScaleFactor;
-- (BOOL)_isLoading;
-- (WebFrameView *)_frameViewAtWindowPoint:(NSPoint)point;
-- (WebFrame *)_focusedFrame;
-+ (void)_preflightSpellChecker;
-- (BOOL)_continuousCheckingAllowed;
-- (NSResponder *)_responderForResponderOperations;
-#if USE(GLIB)
-- (void)_clearGlibLoopObserver;
-#endif
-@end
-
-NSString *WebElementDOMNodeKey = @"WebElementDOMNode";
-NSString *WebElementFrameKey = @"WebElementFrame";
-NSString *WebElementImageKey = @"WebElementImage";
-NSString *WebElementImageAltStringKey = @"WebElementImageAltString";
-NSString *WebElementImageRectKey = @"WebElementImageRect";
-NSString *WebElementImageURLKey = @"WebElementImageURL";
-NSString *WebElementIsSelectedKey = @"WebElementIsSelected";
-NSString *WebElementLinkLabelKey = @"WebElementLinkLabel";
-NSString *WebElementLinkTargetFrameKey = @"WebElementTargetFrame";
-NSString *WebElementLinkTitleKey = @"WebElementLinkTitle";
-NSString *WebElementLinkURLKey = @"WebElementLinkURL";
-NSString *WebElementMediaURLKey = @"WebElementMediaURL";
-NSString *WebElementSpellingToolTipKey = @"WebElementSpellingToolTip";
-NSString *WebElementTitleKey = @"WebElementTitle";
-NSString *WebElementLinkIsLiveKey = @"WebElementLinkIsLive";
-NSString *WebElementIsInScrollBarKey = @"WebElementIsInScrollBar";
-NSString *WebElementIsContentEditableKey = @"WebElementIsContentEditableKey";
-
-NSString *WebViewProgressStartedNotification = @"WebProgressStartedNotification";
-NSString *WebViewProgressEstimateChangedNotification = @"WebProgressEstimateChangedNotification";
-NSString *WebViewProgressFinishedNotification = @"WebProgressFinishedNotification";
-
-NSString * const WebViewDidBeginEditingNotification = @"WebViewDidBeginEditingNotification";
-NSString * const WebViewDidChangeNotification = @"WebViewDidChangeNotification";
-NSString * const WebViewDidEndEditingNotification = @"WebViewDidEndEditingNotification";
-NSString * const WebViewDidChangeTypingStyleNotification = @"WebViewDidChangeTypingStyleNotification";
-NSString * const WebViewDidChangeSelectionNotification = @"WebViewDidChangeSelectionNotification";
-
-enum { WebViewVersion = 4 };
-
-#define timedLayoutSize 4096
-
-static NSMutableSet *schemesWithRepresentationsSet;
-
-NSString *_WebCanGoBackKey = @"canGoBack";
-NSString *_WebCanGoForwardKey = @"canGoForward";
-NSString *_WebEstimatedProgressKey = @"estimatedProgress";
-NSString *_WebIsLoadingKey = @"isLoading";
-NSString *_WebMainFrameIconKey = @"mainFrameIcon";
-NSString *_WebMainFrameTitleKey = @"mainFrameTitle";
-NSString *_WebMainFrameURLKey = @"mainFrameURL";
-NSString *_WebMainFrameDocumentKey = @"mainFrameDocument";
-
-NSString *_WebViewDidStartAcceleratedCompositingNotification = @"_WebViewDidStartAcceleratedCompositing";
-
-NSString *WebKitKerningAndLigaturesEnabledByDefaultDefaultsKey = @"WebKitKerningAndLigaturesEnabledByDefault";
-
-@interface WebProgressItem : NSObject
-{
-@public
- long long bytesReceived;
- long long estimatedLength;
-}
-@end
-
-@implementation WebProgressItem
-@end
-
-static BOOL continuousSpellCheckingEnabled;
-static BOOL grammarCheckingEnabled;
-static BOOL automaticQuoteSubstitutionEnabled;
-static BOOL automaticLinkDetectionEnabled;
-static BOOL automaticDashSubstitutionEnabled;
-static BOOL automaticTextReplacementEnabled;
-static BOOL automaticSpellingCorrectionEnabled;
-
-@implementation WebView (AllWebViews)
-
-static CFSetCallBacks NonRetainingSetCallbacks = {
- 0,
- NULL,
- NULL,
- CFCopyDescription,
- CFEqual,
- CFHash
-};
-
-static CFMutableSetRef allWebViewsSet;
-
-+ (void)_makeAllWebViewsPerformSelector:(SEL)selector
-{
- if (!allWebViewsSet)
- return;
-
- [(NSMutableSet *)allWebViewsSet makeObjectsPerformSelector:selector];
-}
-
-- (void)_removeFromAllWebViewsSet
-{
- if (allWebViewsSet)
- CFSetRemoveValue(allWebViewsSet, self);
-}
-
-- (void)_addToAllWebViewsSet
-{
- if (!allWebViewsSet)
- allWebViewsSet = CFSetCreateMutable(NULL, 0, &NonRetainingSetCallbacks);
-
- CFSetSetValue(allWebViewsSet, self);
-}
-
-@end
-
-@implementation WebView (WebPrivate)
-
-static NSString *systemMarketingVersionForUserAgentString()
-{
- // Use underscores instead of dots because when we first added the Mac OS X version to the user agent string
- // we were concerned about old DHTML libraries interpreting "4." as Netscape 4. That's no longer a concern for us
- // but we're sticking with the underscores for compatibility with the format used by older versions of Safari.
- return [systemMarketingVersion() stringByReplacingOccurrencesOfString:@"." withString:@"_"];
-}
-
-static NSString *createUserVisibleWebKitVersionString()
-{
- // If the version is 4 digits long or longer, then the first digit represents
- // the version of the OS. Our user agent string should not include this first digit,
- // so strip it off and report the rest as the version. <rdar://problem/4997547>
- NSString *fullVersion = [[NSBundle bundleForClass:[WebView class]] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
- NSRange nonDigitRange = [fullVersion rangeOfCharacterFromSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]];
- if (nonDigitRange.location == NSNotFound && [fullVersion length] >= 4)
- return [[fullVersion substringFromIndex:1] copy];
- if (nonDigitRange.location != NSNotFound && nonDigitRange.location >= 4)
- return [[fullVersion substringFromIndex:1] copy];
- return [fullVersion copy];
-}
-
-+ (NSString *)_standardUserAgentWithApplicationName:(NSString *)applicationName
-{
- // Note: Do *not* move the initialization of osVersion nor webKitVersion into the declaration.
- // Garbage collection won't correctly mark the global variable in that case <rdar://problem/5733674>.
- static NSString *osVersion;
- static NSString *webKitVersion;
- if (!osVersion)
- osVersion = [systemMarketingVersionForUserAgentString() retain];
- if (!webKitVersion)
- webKitVersion = createUserVisibleWebKitVersionString();
- if ([applicationName length])
- return [NSString stringWithFormat:@"Mozilla/5.0 (Macintosh; " PROCESSOR " Mac OS X %@) AppleWebKit/%@ (KHTML, like Gecko) %@", osVersion, webKitVersion, applicationName];
- return [NSString stringWithFormat:@"Mozilla/5.0 (Macintosh; " PROCESSOR " Mac OS X %@) AppleWebKit/%@ (KHTML, like Gecko)", osVersion, webKitVersion];
-}
-
-+ (void)_reportException:(JSValueRef)exception inContext:(JSContextRef)context
-{
- if (!exception || !context)
- return;
-
- JSC::ExecState* execState = toJS(context);
- JSLockHolder lock(execState);
-
- // Make sure the context has a DOMWindow global object, otherwise this context didn't originate from a WebView.
- if (!toJSDOMWindow(execState->lexicalGlobalObject()))
- return;
-
- reportException(execState, toJS(execState, exception));
-}
-
-static void WebKitInitializeApplicationCachePathIfNecessary()
-{
- static BOOL initialized = NO;
- if (initialized)
- return;
-
- NSString *appName = [[NSBundle mainBundle] bundleIdentifier];
- if (!appName)
- appName = [[NSProcessInfo processInfo] processName];
-
- ASSERT(appName);
-
- NSString* cacheDir = [NSString _webkit_localCacheDirectoryWithBundleIdentifier:appName];
-
- cacheStorage().setCacheDirectory(cacheDir);
- initialized = YES;
-}
-
-static bool shouldEnableLoadDeferring()
-{
- return !applicationIsAdobeInstaller();
-}
-
-static bool shouldRestrictWindowFocus()
-{
- return !applicationIsHRBlock();
-}
-
-- (void)_dispatchPendingLoadRequests
-{
- resourceLoadScheduler()->servePendingRequests();
-}
-
-- (void)_registerDraggedTypes
-{
- NSArray *editableTypes = [WebHTMLView _insertablePasteboardTypes];
- NSArray *URLTypes = [NSPasteboard _web_dragTypesForURL];
- NSMutableSet *types = [[NSMutableSet alloc] initWithArray:editableTypes];
- [types addObjectsFromArray:URLTypes];
- [self registerForDraggedTypes:[types allObjects]];
- [types release];
-}
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED == 1060
-// This method should be removed once we no longer want to keep Safari 5.0.x working with nightly builds.
-- (BOOL)_usesDocumentViews
-{
- return true;
-}
-#endif
-
-static bool needsOutlookQuirksScript()
-{
- static bool isOutlookNeedingQuirksScript = !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_HTML5_PARSER)
- && applicationIsMicrosoftOutlook();
- return isOutlookNeedingQuirksScript;
-}
-
-static NSString *leakOutlookQuirksUserScriptContents()
-{
- NSString *scriptPath = [[NSBundle bundleForClass:[WebView class]] pathForResource:@"OutlookQuirksUserScript" ofType:@"js"];
- NSStringEncoding encoding;
- return [[NSString alloc] initWithContentsOfFile:scriptPath usedEncoding:&encoding error:0];
-}
-
--(void)_injectOutlookQuirksScript
-{
- static NSString *outlookQuirksScriptContents = leakOutlookQuirksUserScriptContents();
- core(self)->group().addUserScriptToWorld(core([WebScriptWorld world]),
- outlookQuirksScriptContents, KURL(), Vector<String>(), Vector<String>(), InjectAtDocumentEnd, InjectInAllFrames);
-}
-
-static bool shouldRespectPriorityInCSSAttributeSetters()
-{
- static bool isIAdProducerNeedingAttributeSetterQuirk = !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_CSS_ATTRIBUTE_SETTERS_IGNORING_PRIORITY)
- && [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.iAdProducer"];
- return isIAdProducerNeedingAttributeSetterQuirk;
-}
-
-static bool shouldUseLegacyBackgroundSizeShorthandBehavior()
-{
- static bool shouldUseLegacyBackgroundSizeShorthandBehavior = applicationIsVersions()
- && !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITHOUT_LEGACY_BACKGROUNDSIZE_SHORTHAND_BEHAVIOR);
- return shouldUseLegacyBackgroundSizeShorthandBehavior;
-}
-
-- (void)_commonInitializationWithFrameName:(NSString *)frameName groupName:(NSString *)groupName
-{
- WebCoreThreadViolationCheckRoundTwo();
-
-#ifndef NDEBUG
- WTF::RefCountedLeakCounter::suppressMessages(webViewIsOpen);
-#endif
-
- WebPreferences *standardPreferences = [WebPreferences standardPreferences];
- [standardPreferences willAddToWebView];
-
- _private->preferences = [standardPreferences retain];
- _private->mainFrameDocumentReady = NO;
- _private->drawsBackground = YES;
- _private->backgroundColor = [[NSColor colorWithDeviceWhite:1 alpha:1] retain];
- _private->includesFlattenedCompositingLayersWhenDrawingToBitmap = YES;
-
- NSRect f = [self frame];
- WebFrameView *frameView = [[WebFrameView alloc] initWithFrame: NSMakeRect(0,0,f.size.width,f.size.height)];
- [frameView setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable];
- [self addSubview:frameView];
- [frameView release];
-
- static bool didOneTimeInitialization = false;
- if (!didOneTimeInitialization) {
-#if !LOG_DISABLED
- WebKitInitializeLoggingChannelsIfNecessary();
- WebCore::initializeLoggingChannelsIfNecessary();
-#endif // !LOG_DISABLED
-
- // Initialize our platform strategies first before invoking the rest
- // of the initialization code which may depend on the strategies.
- WebPlatformStrategies::initializeIfNecessary();
-
-#if ENABLE(SQL_DATABASE)
- [WebDatabaseManager sharedWebDatabaseManager];
-#endif
-
- WebKitInitializeStorageIfNecessary();
- WebKitInitializeApplicationCachePathIfNecessary();
-
- Settings::setDefaultMinDOMTimerInterval(0.004);
-
- Settings::setShouldRespectPriorityInCSSAttributeSetters(shouldRespectPriorityInCSSAttributeSetters());
-
- didOneTimeInitialization = true;
- }
-
- Page::PageClients pageClients;
- pageClients.chromeClient = new WebChromeClient(self);
- pageClients.contextMenuClient = new WebContextMenuClient(self);
- pageClients.editorClient = new WebEditorClient(self);
-#if ENABLE(DRAG_SUPPORT)
- pageClients.dragClient = new WebDragClient(self);
-#endif
- pageClients.inspectorClient = new WebInspectorClient(self);
- pageClients.alternativeTextClient = new WebAlternativeTextClient(self);
- _private->page = new Page(pageClients);
-#if ENABLE(GEOLOCATION)
- WebCore::provideGeolocationTo(_private->page, new WebGeolocationClient(self));
-#endif
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- WebCore::provideNotification(_private->page, new WebNotificationClient(self));
-#endif
-#if ENABLE(DEVICE_ORIENTATION)
- WebCore::provideDeviceOrientationTo(_private->page, new WebDeviceOrientationClient(self));
-#endif
-
- _private->page->setCanStartMedia([self window]);
- _private->page->settings()->setLocalStorageDatabasePath([[self preferences] _localStorageDatabasePath]);
- _private->page->settings()->setUseLegacyBackgroundSizeShorthandBehavior(shouldUseLegacyBackgroundSizeShorthandBehavior());
-
- if (needsOutlookQuirksScript()) {
- _private->page->settings()->setShouldInjectUserScriptsInInitialEmptyDocument(true);
- [self _injectOutlookQuirksScript];
- }
-
- if ([[NSUserDefaults standardUserDefaults] objectForKey:WebSmartInsertDeleteEnabled])
- [self setSmartInsertDeleteEnabled:[[NSUserDefaults standardUserDefaults] boolForKey:WebSmartInsertDeleteEnabled]];
-
- [WebFrame _createMainFrameWithPage:_private->page frameName:frameName frameView:frameView];
-
- NSRunLoop *runLoop = [NSRunLoop mainRunLoop];
-
- if (WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_LOADING_DURING_COMMON_RUNLOOP_MODES))
- [self scheduleInRunLoop:runLoop forMode:(NSString *)kCFRunLoopCommonModes];
- else
- [self scheduleInRunLoop:runLoop forMode:NSDefaultRunLoopMode];
-
- [self _addToAllWebViewsSet];
- [self setGroupName:groupName];
-
- // If there's already a next key view (e.g., from a nib), wire it up to our
- // contained frame view. In any case, wire our next key view up to the our
- // contained frame view. This works together with our becomeFirstResponder
- // and setNextKeyView overrides.
- NSView *nextKeyView = [self nextKeyView];
- if (nextKeyView && nextKeyView != frameView)
- [frameView setNextKeyView:nextKeyView];
- [super setNextKeyView:frameView];
-
- if ([[self class] shouldIncludeInWebKitStatistics])
- ++WebViewCount;
-
- [self _registerDraggedTypes];
-
- [self _setVisibilityState:([self _isViewVisible] ? WebPageVisibilityStateVisible : WebPageVisibilityStateHidden) isInitialState:YES];
-
- WebPreferences *prefs = [self preferences];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_preferencesChangedNotification:)
- name:WebPreferencesChangedInternalNotification object:prefs];
-
- [self _preferencesChanged:[self preferences]];
- [[self preferences] _postPreferencesChangedAPINotification];
-
- memoryPressureHandler().install();
-
- if (!WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_LOCAL_RESOURCE_SECURITY_RESTRICTION)) {
- // Originally, we allowed all local loads.
- SecurityPolicy::setLocalLoadPolicy(SecurityPolicy::AllowLocalLoadsForAll);
- } else if (!WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_MORE_STRICT_LOCAL_RESOURCE_SECURITY_RESTRICTION)) {
- // Later, we allowed local loads for local URLs and documents loaded
- // with substitute data.
- SecurityPolicy::setLocalLoadPolicy(SecurityPolicy::AllowLocalLoadsForLocalAndSubstituteData);
- }
-
- if (!WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITHOUT_CONTENT_SNIFFING_FOR_FILE_URLS))
- ResourceHandle::forceContentSniffing();
-
-#if USE(GLIB)
- [self _scheduleGlibContextIterations];
-#endif
-}
-
-- (id)_initWithFrame:(NSRect)f frameName:(NSString *)frameName groupName:(NSString *)groupName usesDocumentViews:(BOOL)usesDocumentViews
-{
- // FIXME: Remove the usesDocumentViews parameter; it's only here for compatibility with WebKit nightly builds
- // running against Safari 5 on Leopard.
- ASSERT(usesDocumentViews);
-
- self = [super initWithFrame:f];
- if (!self)
- return nil;
-
-#ifdef ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH
- // DYLD_FRAMEWORK_PATH is used so Safari will load the development version of WebKit, which
- // may not work with other WebKit applications. Unsetting DYLD_FRAMEWORK_PATH removes the
- // need for Safari to unset it to prevent it from being passed to applications it launches.
- // Unsetting it when a WebView is first created is as good a place as any.
- // See <http://bugs.webkit.org/show_bug.cgi?id=4286> for more details.
- if (getenv("WEBKIT_UNSET_DYLD_FRAMEWORK_PATH")) {
- unsetenv("DYLD_FRAMEWORK_PATH");
- unsetenv("WEBKIT_UNSET_DYLD_FRAMEWORK_PATH");
- }
-#endif
-
- _private = [[WebViewPrivate alloc] init];
- [self _commonInitializationWithFrameName:frameName groupName:groupName];
- [self setMaintainsBackForwardList: YES];
- _private->page->setDeviceScaleFactor([self _deviceScaleFactor]);
- return self;
-}
-
-- (void)_viewWillDrawInternal
-{
- Frame* frame = [self _mainCoreFrame];
- if (frame && frame->view())
- frame->view()->updateLayoutAndStyleIfNeededRecursive();
-}
-
-+ (NSArray *)_supportedMIMETypes
-{
- // Load the plug-in DB allowing plug-ins to install types.
- [WebPluginDatabase sharedDatabase];
- return [[WebFrameView _viewTypesAllowImageTypeOmission:NO] allKeys];
-}
-
-+ (NSArray *)_supportedFileExtensions
-{
- NSMutableSet *extensions = [[NSMutableSet alloc] init];
- NSArray *MIMETypes = [self _supportedMIMETypes];
- NSEnumerator *enumerator = [MIMETypes objectEnumerator];
- NSString *MIMEType;
- while ((MIMEType = [enumerator nextObject]) != nil) {
- NSArray *extensionsForType = WKGetExtensionsForMIMEType(MIMEType);
- if (extensionsForType) {
- [extensions addObjectsFromArray:extensionsForType];
- }
- }
- NSArray *uniqueExtensions = [extensions allObjects];
- [extensions release];
- return uniqueExtensions;
-}
-
-static NSMutableSet *knownPluginMIMETypes()
-{
- static NSMutableSet *mimeTypes = [[NSMutableSet alloc] init];
-
- return mimeTypes;
-}
-
-+ (void)_registerPluginMIMEType:(NSString *)MIMEType
-{
- [WebView registerViewClass:[WebHTMLView class] representationClass:[WebHTMLRepresentation class] forMIMEType:MIMEType];
- [knownPluginMIMETypes() addObject:MIMEType];
-}
-
-+ (void)_unregisterPluginMIMEType:(NSString *)MIMEType
-{
- [self _unregisterViewClassAndRepresentationClassForMIMEType:MIMEType];
- [knownPluginMIMETypes() removeObject:MIMEType];
-}
-
-+ (BOOL)_viewClass:(Class *)vClass andRepresentationClass:(Class *)rClass forMIMEType:(NSString *)MIMEType allowingPlugins:(BOOL)allowPlugins
-{
- MIMEType = [MIMEType lowercaseString];
- Class viewClass = [[WebFrameView _viewTypesAllowImageTypeOmission:YES] _webkit_objectForMIMEType:MIMEType];
- Class repClass = [[WebDataSource _repTypesAllowImageTypeOmission:YES] _webkit_objectForMIMEType:MIMEType];
-
- if (!viewClass || !repClass || [[WebPDFView supportedMIMETypes] containsObject:MIMEType]) {
- // Our optimization to avoid loading the plug-in DB and image types for the HTML case failed.
-
- if (allowPlugins) {
- // Load the plug-in DB allowing plug-ins to install types.
- [WebPluginDatabase sharedDatabase];
- }
-
- // Load the image types and get the view class and rep class. This should be the fullest picture of all handled types.
- viewClass = [[WebFrameView _viewTypesAllowImageTypeOmission:NO] _webkit_objectForMIMEType:MIMEType];
- repClass = [[WebDataSource _repTypesAllowImageTypeOmission:NO] _webkit_objectForMIMEType:MIMEType];
- }
-
- if (viewClass && repClass) {
- if (viewClass == [WebHTMLView class] && repClass == [WebHTMLRepresentation class]) {
- // Special-case WebHTMLView for text types that shouldn't be shown.
- if ([[WebHTMLView unsupportedTextMIMETypes] containsObject:MIMEType])
- return NO;
-
- // If the MIME type is a known plug-in we might not want to load it.
- if (!allowPlugins && [knownPluginMIMETypes() containsObject:MIMEType]) {
- BOOL isSupportedByWebKit = [[WebHTMLView supportedNonImageMIMETypes] containsObject:MIMEType] ||
- [[WebHTMLView supportedMIMETypes] containsObject:MIMEType];
-
- // If this is a known plug-in MIME type and WebKit can't show it natively, we don't want to show it.
- if (!isSupportedByWebKit)
- return NO;
- }
- }
- if (vClass)
- *vClass = viewClass;
- if (rClass)
- *rClass = repClass;
- return YES;
- }
-
- return NO;
-}
-
-- (BOOL)_viewClass:(Class *)vClass andRepresentationClass:(Class *)rClass forMIMEType:(NSString *)MIMEType
-{
- if ([[self class] _viewClass:vClass andRepresentationClass:rClass forMIMEType:MIMEType allowingPlugins:[_private->preferences arePlugInsEnabled]])
- return YES;
-
- if (_private->pluginDatabase) {
- WebBasePluginPackage *pluginPackage = [_private->pluginDatabase pluginForMIMEType:MIMEType];
- if (pluginPackage) {
- if (vClass)
- *vClass = [WebHTMLView class];
- if (rClass)
- *rClass = [WebHTMLRepresentation class];
- return YES;
- }
- }
-
- return NO;
-}
-
-+ (void)_setAlwaysUseATSU:(BOOL)f
-{
- [self _setAlwaysUsesComplexTextCodePath:f];
-}
-
-+ (void)_setAlwaysUsesComplexTextCodePath:(BOOL)f
-{
- Font::setCodePath(f ? Font::Complex : Font::Auto);
-}
-
-+ (void)_setAllowsRoundingHacks:(BOOL)allowsRoundingHacks
-{
- TextRun::setAllowsRoundingHacks(allowsRoundingHacks);
-}
-
-+ (BOOL)_allowsRoundingHacks
-{
- return TextRun::allowsRoundingHacks();
-}
-
-+ (BOOL)canCloseAllWebViews
-{
- return DOMWindow::dispatchAllPendingBeforeUnloadEvents();
-}
-
-+ (void)closeAllWebViews
-{
- DOMWindow::dispatchAllPendingUnloadEvents();
-
- // This will close the WebViews in a random order. Change this if close order is important.
- // Make a new set to avoid mutating the set we are enumerating.
- NSSet *webViewsToClose = [NSSet setWithSet:(NSSet *)allWebViewsSet];
- NSEnumerator *enumerator = [webViewsToClose objectEnumerator];
- while (WebView *webView = [enumerator nextObject])
- [webView close];
-}
-
-+ (BOOL)canShowFile:(NSString *)path
-{
- return [[self class] canShowMIMEType:[WebView _MIMETypeForFile:path]];
-}
-
-+ (NSString *)suggestedFileExtensionForMIMEType:(NSString *)type
-{
- return WKGetPreferredExtensionForMIMEType(type);
-}
-
-- (BOOL)_isClosed
-{
- return !_private || _private->closed;
-}
-
-- (void)_closePluginDatabases
-{
- pluginDatabaseClientCount--;
-
- // Close both sets of plug-in databases because plug-ins need an opportunity to clean up files, etc.
-
- // Unload the WebView local plug-in database.
- if (_private->pluginDatabase) {
- [_private->pluginDatabase destroyAllPluginInstanceViews];
- [_private->pluginDatabase close];
- [_private->pluginDatabase release];
- _private->pluginDatabase = nil;
- }
-
- // Keep the global plug-in database active until the app terminates to avoid having to reload plug-in bundles.
- if (!pluginDatabaseClientCount && applicationIsTerminating)
- [WebPluginDatabase closeSharedDatabase];
-}
-
-- (void)_closeWithFastTeardown
-{
-#ifndef NDEBUG
- WTF::RefCountedLeakCounter::suppressMessages("At least one WebView was closed with fast teardown.");
-#endif
-
- [[NSDistributedNotificationCenter defaultCenter] removeObserver:self];
- [[NSNotificationCenter defaultCenter] removeObserver:self];
-
- [self _closePluginDatabases];
-}
-
-static bool fastDocumentTeardownEnabled()
-{
-#ifdef NDEBUG
- static bool enabled = ![[NSUserDefaults standardUserDefaults] boolForKey:WebKitEnableFullDocumentTeardownPreferenceKey];
-#else
- static bool initialized = false;
- static bool enabled = false;
- if (!initialized) {
- // This allows debug builds to default to not have fast teardown, so leak checking still works.
- // But still allow the WebKitEnableFullDocumentTeardown default to override it if present.
- NSNumber *setting = [[NSUserDefaults standardUserDefaults] objectForKey:WebKitEnableFullDocumentTeardownPreferenceKey];
- if (setting)
- enabled = ![setting boolValue];
- initialized = true;
- }
-#endif
- return enabled;
-}
-
-// _close is here only for backward compatibility; clients and subclasses should use
-// public method -close instead.
-- (void)_close
-{
- if (!_private || _private->closed)
- return;
-
- _private->closed = YES;
- [self _removeFromAllWebViewsSet];
-
-#ifndef NDEBUG
- WTF::RefCountedLeakCounter::cancelMessageSuppression(webViewIsOpen);
-#endif
-
- // To quit the apps fast we skip document teardown, except plugins
- // need to be destroyed and unloaded.
- if (applicationIsTerminating && fastDocumentTeardownEnabled()) {
- [self _closeWithFastTeardown];
- return;
- }
-
-#if ENABLE(VIDEO)
- [self _exitFullscreen];
-#endif
-
- if (Frame* mainFrame = [self _mainCoreFrame])
- mainFrame->loader()->detachFromParent();
-
- [self setHostWindow:nil];
-
- [self setDownloadDelegate:nil];
- [self setEditingDelegate:nil];
- [self setFrameLoadDelegate:nil];
- [self setPolicyDelegate:nil];
- [self setResourceLoadDelegate:nil];
- [self setScriptDebugDelegate:nil];
- [self setUIDelegate:nil];
-
- [_private->inspector webViewClosed];
-
- // To avoid leaks, call removeDragCaret in case it wasn't called after moveDragCaretToPoint.
- [self removeDragCaret];
-
- // Deleteing the WebCore::Page will clear the page cache so we call destroy on
- // all the plug-ins in the page cache to break any retain cycles.
- // See comment in HistoryItem::releaseAllPendingPageCaches() for more information.
- Page* page = _private->page;
- _private->page = 0;
- delete page;
-
- if (_private->hasSpellCheckerDocumentTag) {
- [[NSSpellChecker sharedSpellChecker] closeSpellDocumentWithTag:_private->spellCheckerDocumentTag];
- _private->hasSpellCheckerDocumentTag = NO;
- }
-
-#if USE(ACCELERATED_COMPOSITING)
- if (_private->layerFlushController) {
- _private->layerFlushController->invalidate();
- _private->layerFlushController = nullptr;
- }
-#endif
-
-#if USE(GLIB)
- [self _clearGlibLoopObserver];
-#endif
-
- [[self _notificationProvider] unregisterWebView:self];
-
- [[NSDistributedNotificationCenter defaultCenter] removeObserver:self];
- [[NSNotificationCenter defaultCenter] removeObserver:self];
-
- [WebPreferences _removeReferenceForIdentifier:[self preferencesIdentifier]];
-
- WebPreferences *preferences = _private->preferences;
- _private->preferences = nil;
- [preferences didRemoveFromWebView];
- [preferences release];
-
- [self _closePluginDatabases];
-
-#ifndef NDEBUG
- // Need this to make leak messages accurate.
- if (applicationIsTerminating) {
- gcController().garbageCollectNow();
- [WebCache setDisabled:YES];
- }
-#endif
-}
-
-// Indicates if the WebView is in the midst of a user gesture.
-- (BOOL)_isProcessingUserGesture
-{
- return ScriptController::processingUserGesture();
-}
-
-+ (NSString *)_MIMETypeForFile:(NSString *)path
-{
- NSString *extension = [path pathExtension];
- NSString *MIMEType = nil;
-
- // Get the MIME type from the extension.
- if ([extension length] != 0) {
- MIMEType = WKGetMIMETypeForExtension(extension);
- }
-
- // If we can't get a known MIME type from the extension, sniff.
- if ([MIMEType length] == 0 || [MIMEType isEqualToString:@"application/octet-stream"]) {
- NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:path];
- NSData *data = [handle readDataOfLength:WEB_GUESS_MIME_TYPE_PEEK_LENGTH];
- [handle closeFile];
- if ([data length] != 0) {
- MIMEType = [data _webkit_guessedMIMEType];
- }
- if ([MIMEType length] == 0) {
- MIMEType = @"application/octet-stream";
- }
- }
-
- return MIMEType;
-}
-
-- (WebDownload *)_downloadURL:(NSURL *)URL
-{
- ASSERT(URL);
-
- NSURLRequest *request = [[NSURLRequest alloc] initWithURL:URL];
- WebDownload *download = [WebDownload _downloadWithRequest:request
- delegate:_private->downloadDelegate
- directory:nil];
- [request release];
-
- return download;
-}
-
-- (WebView *)_openNewWindowWithRequest:(NSURLRequest *)request
-{
- NSDictionary *features = [[NSDictionary alloc] init];
- WebView *newWindowWebView = [[self _UIDelegateForwarder] webView:self
- createWebViewWithRequest:nil
- windowFeatures:features];
- [features release];
- if (!newWindowWebView)
- return nil;
-
- CallUIDelegate(newWindowWebView, @selector(webViewShow:));
- return newWindowWebView;
-}
-
-- (WebInspector *)inspector
-{
- if (!_private->inspector)
- _private->inspector = [[WebInspector alloc] initWithWebView:self];
- return _private->inspector;
-}
-
-- (WebCore::Page*)page
-{
- return _private->page;
-}
-
-- (NSMenu *)_menuForElement:(NSDictionary *)element defaultItems:(NSArray *)items
-{
- NSArray *defaultMenuItems = [[WebDefaultUIDelegate sharedUIDelegate] webView:self contextMenuItemsForElement:element defaultMenuItems:items];
- NSArray *menuItems = defaultMenuItems;
-
- // CallUIDelegate returns nil if UIDelegate is nil or doesn't respond to the selector. So we need to check that here
- // to distinguish between using defaultMenuItems or the delegate really returning nil to say "no context menu".
- SEL selector = @selector(webView:contextMenuItemsForElement:defaultMenuItems:);
- if (_private->UIDelegate && [_private->UIDelegate respondsToSelector:selector]) {
- menuItems = CallUIDelegate(self, selector, element, defaultMenuItems);
- if (!menuItems)
- return nil;
- }
-
- unsigned count = [menuItems count];
- if (!count)
- return nil;
-
- NSMenu *menu = [[NSMenu alloc] init];
- for (unsigned i = 0; i < count; i++)
- [menu addItem:[menuItems objectAtIndex:i]];
-
- return [menu autorelease];
-}
-
-- (void)_mouseDidMoveOverElement:(NSDictionary *)dictionary modifierFlags:(NSUInteger)modifierFlags
-{
- // We originally intended to call this delegate method sometimes with a nil dictionary, but due to
- // a bug dating back to WebKit 1.0 this delegate was never called with nil! Unfortunately we can't
- // start calling this with nil since it will break Adobe Help Viewer, and possibly other clients.
- if (!dictionary)
- return;
- CallUIDelegate(self, @selector(webView:mouseDidMoveOverElement:modifierFlags:), dictionary, modifierFlags);
-}
-
-- (void)_loadBackForwardListFromOtherView:(WebView *)otherView
-{
- if (!_private->page)
- return;
-
- if (!otherView->_private->page)
- return;
-
- // It turns out the right combination of behavior is done with the back/forward load
- // type. (See behavior matrix at the top of WebFramePrivate.) So we copy all the items
- // in the back forward list, and go to the current one.
-
- BackForwardList* backForwardList = _private->page->backForwardList();
- ASSERT(!backForwardList->currentItem()); // destination list should be empty
-
- BackForwardList* otherBackForwardList = otherView->_private->page->backForwardList();
- if (!otherBackForwardList->currentItem())
- return; // empty back forward list, bail
-
- HistoryItem* newItemToGoTo = 0;
-
- int lastItemIndex = otherBackForwardList->forwardListCount();
- for (int i = -otherBackForwardList->backListCount(); i <= lastItemIndex; ++i) {
- if (i == 0) {
- // If this item is showing , save away its current scroll and form state,
- // since that might have changed since loading and it is normally not saved
- // until we leave that page.
- otherView->_private->page->mainFrame()->loader()->history()->saveDocumentAndScrollState();
- }
- RefPtr<HistoryItem> newItem = otherBackForwardList->itemAtIndex(i)->copy();
- if (i == 0)
- newItemToGoTo = newItem.get();
- backForwardList->addItem(newItem.release());
- }
-
- ASSERT(newItemToGoTo);
- _private->page->goToItem(newItemToGoTo, FrameLoadTypeIndexedBackForward);
-}
-
-- (void)_setFormDelegate: (id<WebFormDelegate>)delegate
-{
- _private->formDelegate = delegate;
-}
-
-- (id<WebFormDelegate>)_formDelegate
-{
- return _private->formDelegate;
-}
-
-- (BOOL)_needsAdobeFrameReloadingQuirk
-{
- static BOOL needsQuirk = WKAppVersionCheckLessThan(@"com.adobe.Acrobat", -1, 9.0)
- || WKAppVersionCheckLessThan(@"com.adobe.Acrobat.Pro", -1, 9.0)
- || WKAppVersionCheckLessThan(@"com.adobe.Reader", -1, 9.0)
- || WKAppVersionCheckLessThan(@"com.adobe.distiller", -1, 9.0)
- || WKAppVersionCheckLessThan(@"com.adobe.Contribute", -1, 4.2)
- || WKAppVersionCheckLessThan(@"com.adobe.dreamweaver-9.0", -1, 9.1)
- || WKAppVersionCheckLessThan(@"com.macromedia.fireworks", -1, 9.1)
- || WKAppVersionCheckLessThan(@"com.adobe.InCopy", -1, 5.1)
- || WKAppVersionCheckLessThan(@"com.adobe.InDesign", -1, 5.1)
- || WKAppVersionCheckLessThan(@"com.adobe.Soundbooth", -1, 2);
-
- return needsQuirk;
-}
-
-- (BOOL)_needsLinkElementTextCSSQuirk
-{
- static BOOL needsQuirk = !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITHOUT_LINK_ELEMENT_TEXT_CSS_QUIRK)
- && WKAppVersionCheckLessThan(@"com.e-frontier.shade10", -1, 10.6);
- return needsQuirk;
-}
-
-- (BOOL)_needsIsLoadingInAPISenseQuirk
-{
- static BOOL needsQuirk = WKAppVersionCheckLessThan(@"com.apple.iAdProducer", -1, 2.1);
-
- return needsQuirk;
-}
-
-- (BOOL)_needsKeyboardEventDisambiguationQuirks
-{
- static BOOL needsQuirks = !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_IE_COMPATIBLE_KEYBOARD_EVENT_DISPATCH) && !applicationIsSafari();
- return needsQuirks;
-}
-
-- (BOOL)_needsFrameLoadDelegateRetainQuirk
-{
- static BOOL needsQuirk = WKAppVersionCheckLessThan(@"com.equinux.iSale5", -1, 5.6);
- return needsQuirk;
-}
-
-static bool needsDidFinishLoadOrderQuirk()
-{
- static bool needsQuirk = !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_CORRECT_DID_FINISH_LOAD_ORDER) && applicationIsAppleMail();
- return needsQuirk;
-}
-
-static bool needsSelfRetainWhileLoadingQuirk()
-{
- static bool needsQuirk = applicationIsAperture();
- return needsQuirk;
-}
-
-- (BOOL)_needsPreHTML5ParserQuirks
-{
- // AOL Instant Messenger and Microsoft My Day contain markup incompatible
- // with the new HTML5 parser. If these applications were linked against a
- // version of WebKit prior to the introduction of the HTML5 parser, enable
- // parser quirks to maintain compatibility. For details, see
- // <https://bugs.webkit.org/show_bug.cgi?id=46134> and
- // <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>.
- || (_private->page && _private->page->settings()->usesDashboardBackwardCompatibilityMode())
-#endif
- || [[self preferences] usePreHTML5ParserQuirks];
-}
-
-- (BOOL)_needsUnrestrictedGetMatchedCSSRules
-{
- static bool needsUnrestrictedGetMatchedCSSRules = !WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITH_GET_MATCHED_CSS_RULES_RESTRICTIONS) && applicationIsSafari();
- return needsUnrestrictedGetMatchedCSSRules;
-}
-
-- (void)_preferencesChangedNotification:(NSNotification *)notification
-{
- WebPreferences *preferences = (WebPreferences *)[notification object];
- [self _preferencesChanged:preferences];
-}
-
-- (void)_preferencesChanged:(WebPreferences *)preferences
-{
- ASSERT(preferences == [self preferences]);
- if (!_private->userAgentOverridden)
- _private->userAgent = String();
-
- // Cache this value so we don't have to read NSUserDefaults on each page load
- _private->useSiteSpecificSpoofing = [preferences _useSiteSpecificSpoofing];
-
- // Update corresponding WebCore Settings object.
- if (!_private->page)
- return;
-
- Settings* settings = _private->page->settings();
-
- settings->setCursiveFontFamily([preferences cursiveFontFamily]);
- settings->setDefaultFixedFontSize([preferences defaultFixedFontSize]);
- settings->setDefaultFontSize([preferences defaultFontSize]);
- settings->setDefaultTextEncodingName([preferences defaultTextEncodingName]);
- settings->setUsesEncodingDetector([preferences usesEncodingDetector]);
- settings->setFantasyFontFamily([preferences fantasyFontFamily]);
- settings->setFixedFontFamily([preferences fixedFontFamily]);
- settings->setScreenFontSubstitutionEnabled(
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
- [[NSUserDefaults standardUserDefaults] boolForKey:@"NSFontDefaultScreenFontSubstitutionEnabled"] ||
-#endif
- [preferences screenFontSubstitutionEnabled]
- );
- settings->setForceFTPDirectoryListings([preferences _forceFTPDirectoryListings]);
- settings->setFTPDirectoryTemplatePath([preferences _ftpDirectoryTemplatePath]);
- settings->setLocalStorageDatabasePath([preferences _localStorageDatabasePath]);
- settings->setJavaEnabled([preferences isJavaEnabled]);
- settings->setScriptEnabled([preferences isJavaScriptEnabled]);
- settings->setWebSecurityEnabled([preferences isWebSecurityEnabled]);
- settings->setAllowUniversalAccessFromFileURLs([preferences allowUniversalAccessFromFileURLs]);
- settings->setAllowFileAccessFromFileURLs([preferences allowFileAccessFromFileURLs]);
- settings->setJavaScriptCanOpenWindowsAutomatically([preferences javaScriptCanOpenWindowsAutomatically]);
- settings->setMinimumFontSize([preferences minimumFontSize]);
- settings->setMinimumLogicalFontSize([preferences minimumLogicalFontSize]);
- settings->setPictographFontFamily([preferences pictographFontFamily]);
- settings->setPluginsEnabled([preferences arePlugInsEnabled]);
-#if ENABLE(SQL_DATABASE)
- DatabaseManager::manager().setIsAvailable([preferences databasesEnabled]);
-#endif
- settings->setLocalStorageEnabled([preferences localStorageEnabled]);
- settings->setExperimentalNotificationsEnabled([preferences experimentalNotificationsEnabled]);
-
- bool privateBrowsingEnabled = [preferences privateBrowsingEnabled];
-#if PLATFORM(MAC) || USE(CFNETWORK)
- if (privateBrowsingEnabled)
- WebFrameNetworkingContext::ensurePrivateBrowsingSession();
- else
- WebFrameNetworkingContext::destroyPrivateBrowsingSession();
-#endif
- settings->setPrivateBrowsingEnabled(privateBrowsingEnabled);
-
- settings->setSansSerifFontFamily([preferences sansSerifFontFamily]);
- settings->setSerifFontFamily([preferences serifFontFamily]);
- settings->setStandardFontFamily([preferences standardFontFamily]);
- settings->setLoadsImagesAutomatically([preferences loadsImagesAutomatically]);
- settings->setLoadsSiteIconsIgnoringImageLoadingSetting([preferences loadsSiteIconsIgnoringImageLoadingPreference]);
- settings->setShouldPrintBackgrounds([preferences shouldPrintBackgrounds]);
- settings->setTextAreasAreResizable([preferences textAreasAreResizable]);
- settings->setShrinksStandaloneImagesToFit([preferences shrinksStandaloneImagesToFit]);
- settings->setEditableLinkBehavior(core([preferences editableLinkBehavior]));
- settings->setTextDirectionSubmenuInclusionBehavior(core([preferences textDirectionSubmenuInclusionBehavior]));
- settings->setDOMPasteAllowed([preferences isDOMPasteAllowed]);
- settings->setUsesPageCache([self usesPageCache]);
- settings->setPageCacheSupportsPlugins([preferences pageCacheSupportsPlugins]);
- settings->setBackForwardCacheExpirationInterval([preferences _backForwardCacheExpirationInterval]);
- settings->setShowsURLsInToolTips([preferences showsURLsInToolTips]);
- settings->setShowsToolTipOverTruncatedText([preferences showsToolTipOverTruncatedText]);
- settings->setDeveloperExtrasEnabled([preferences developerExtrasEnabled]);
- settings->setJavaScriptExperimentsEnabled([preferences javaScriptExperimentsEnabled]);
- settings->setAuthorAndUserStylesEnabled([preferences authorAndUserStylesEnabled]);
- settings->setApplicationChromeMode([preferences applicationChromeModeEnabled]);
- if ([preferences userStyleSheetEnabled]) {
- NSString* location = [[preferences userStyleSheetLocation] _web_originalDataAsString];
- if ([location isEqualToString:@"apple-dashboard://stylesheet"])
- location = @"file:///System/Library/PrivateFrameworks/DashboardClient.framework/Resources/widget.css";
- settings->setUserStyleSheetLocation([NSURL URLWithString:(location ? location : @"")]);
- } else
- settings->setUserStyleSheetLocation([NSURL URLWithString:@""]);
- settings->setNeedsAdobeFrameReloadingQuirk([self _needsAdobeFrameReloadingQuirk]);
- settings->setTreatsAnyTextCSSLinkAsStylesheet([self _needsLinkElementTextCSSQuirk]);
- settings->setNeedsKeyboardEventDisambiguationQuirks([self _needsKeyboardEventDisambiguationQuirks]);
- settings->setNeedsSiteSpecificQuirks(_private->useSiteSpecificSpoofing);
- settings->setWebArchiveDebugModeEnabled([preferences webArchiveDebugModeEnabled]);
- settings->setLocalFileContentSniffingEnabled([preferences localFileContentSniffingEnabled]);
- settings->setOfflineWebApplicationCacheEnabled([preferences offlineWebApplicationCacheEnabled]);
- settings->setJavaScriptCanAccessClipboard([preferences javaScriptCanAccessClipboard]);
- settings->setXSSAuditorEnabled([preferences isXSSAuditorEnabled]);
- settings->setEnforceCSSMIMETypeInNoQuirksMode(!WKAppVersionCheckLessThan(@"com.apple.iWeb", -1, 2.1));
- settings->setDNSPrefetchingEnabled([preferences isDNSPrefetchingEnabled]);
-
- // FIXME: Enabling accelerated compositing when WebGL is enabled causes tests to fail on Leopard which expect HW compositing to be disabled.
- // Until we fix that, I will comment out the test (CFM)
- settings->setAcceleratedCompositingEnabled([preferences acceleratedCompositingEnabled]);
- settings->setAcceleratedDrawingEnabled([preferences acceleratedDrawingEnabled]);
- settings->setCanvasUsesAcceleratedDrawing([preferences canvasUsesAcceleratedDrawing]);
- settings->setShowDebugBorders([preferences showDebugBorders]);
- settings->setShowRepaintCounter([preferences showRepaintCounter]);
- settings->setWebGLEnabled([preferences webGLEnabled]);
- settings->setAccelerated2dCanvasEnabled([preferences accelerated2dCanvasEnabled]);
- settings->setLoadDeferringEnabled(shouldEnableLoadDeferring());
- settings->setWindowFocusRestricted(shouldRestrictWindowFocus());
- settings->setFrameFlatteningEnabled([preferences isFrameFlatteningEnabled]);
- settings->setSpatialNavigationEnabled([preferences isSpatialNavigationEnabled]);
- settings->setPaginateDuringLayoutEnabled([preferences paginateDuringLayoutEnabled]);
-#if ENABLE(CSS_SHADERS)
- settings->setCSSCustomFilterEnabled([preferences cssCustomFilterEnabled]);
-#endif
- RuntimeEnabledFeatures::setCSSRegionsEnabled([preferences cssRegionsEnabled]);
- RuntimeEnabledFeatures::setCSSCompositingEnabled([preferences cssCompositingEnabled]);
-#if ENABLE(WEB_AUDIO)
- settings->setWebAudioEnabled([preferences webAudioEnabled]);
-#endif
-#if ENABLE(IFRAME_SEAMLESS)
- RuntimeEnabledFeatures::setSeamlessIFramesEnabled([preferences seamlessIFramesEnabled]);
-#endif
- settings->setCSSGridLayoutEnabled([preferences cssGridLayoutEnabled]);
-#if ENABLE(FULLSCREEN_API)
- settings->setFullScreenEnabled([preferences fullScreenEnabled]);
-#endif
- settings->setAsynchronousSpellCheckingEnabled([preferences asynchronousSpellCheckingEnabled]);
- settings->setHyperlinkAuditingEnabled([preferences hyperlinkAuditingEnabled]);
- settings->setUsePreHTML5ParserQuirks([self _needsPreHTML5ParserQuirks]);
- settings->setCrossOriginCheckInGetMatchedCSSRulesDisabled([self _needsUnrestrictedGetMatchedCSSRules]);
- settings->setInteractiveFormValidationEnabled([self interactiveFormValidationEnabled]);
- settings->setValidationMessageTimerMagnification([self validationMessageTimerMagnification]);
-#if USE(AVFOUNDATION)
- settings->setAVFoundationEnabled([preferences isAVFoundationEnabled]);
-#endif
-#if PLATFORM(MAC)
- settings->setQTKitEnabled([preferences isQTKitEnabled]);
-#endif
- settings->setMediaPlaybackRequiresUserGesture([preferences mediaPlaybackRequiresUserGesture]);
- settings->setMediaPlaybackAllowsInline([preferences mediaPlaybackAllowsInline]);
- settings->setSuppressesIncrementalRendering([preferences suppressesIncrementalRendering]);
- settings->setRegionBasedColumnsEnabled([preferences regionBasedColumnsEnabled]);
- settings->setBackspaceKeyNavigationEnabled([preferences backspaceKeyNavigationEnabled]);
- settings->setWantsBalancedSetDefersLoadingBehavior([preferences wantsBalancedSetDefersLoadingBehavior]);
- settings->setMockScrollbarsEnabled([preferences mockScrollbarsEnabled]);
-
-#if ENABLE(VIDEO_TRACK)
- settings->setShouldDisplaySubtitles([preferences shouldDisplaySubtitles]);
- settings->setShouldDisplayCaptions([preferences shouldDisplayCaptions]);
- settings->setShouldDisplayTextDescriptions([preferences shouldDisplayTextDescriptions]);
-#endif
-
- settings->setShouldRespectImageOrientation([preferences shouldRespectImageOrientation]);
- settings->setNeedsIsLoadingInAPISenseQuirk([self _needsIsLoadingInAPISenseQuirk]);
- settings->setRequestAnimationFrameEnabled([preferences requestAnimationFrameEnabled]);
- settings->setNeedsDidFinishLoadOrderQuirk(needsDidFinishLoadOrderQuirk());
- settings->setDiagnosticLoggingEnabled([preferences diagnosticLoggingEnabled]);
- settings->setLowPowerVideoAudioBufferSizeEnabled([preferences lowPowerVideoAudioBufferSizeEnabled]);
-
- switch ([preferences storageBlockingPolicy]) {
- case WebAllowAllStorage:
- settings->setStorageBlockingPolicy(SecurityOrigin::AllowAllStorage);
- break;
- case WebBlockThirdPartyStorage:
- settings->setStorageBlockingPolicy(SecurityOrigin::BlockThirdPartyStorage);
- break;
- case WebBlockAllStorage:
- settings->setStorageBlockingPolicy(SecurityOrigin::BlockAllStorage);
- break;
- }
-
- settings->setPlugInSnapshottingEnabled([preferences plugInSnapshottingEnabled]);
-
-#if ENABLE(HIDDEN_PAGE_DOM_TIMER_THROTTLING)
- settings->setHiddenPageDOMTimerThrottlingEnabled([preferences hiddenPageDOMTimerThrottlingEnabled]);
-#endif
-#if ENABLE(PAGE_VISIBILITY_API)
- settings->setHiddenPageCSSAnimationSuspensionEnabled([preferences hiddenPageCSSAnimationSuspensionEnabled]);
-#endif
-
- // We have enabled this setting in WebKit2 for the sake of some ScrollingCoordinator work.
- // To avoid possible rendering differences, we should enable it for WebKit1 too.
- settings->setFixedPositionCreatesStackingContext(true);
-
- NSTimeInterval timeout = [preferences incrementalRenderingSuppressionTimeoutInSeconds];
- if (timeout > 0)
- settings->setIncrementalRenderingSuppressionTimeoutInSeconds(timeout);
-
- // Application Cache Preferences are stored on the global cache storage manager, not in Settings.
- [WebApplicationCache setDefaultOriginQuota:[preferences applicationCacheDefaultOriginQuota]];
-
- BOOL zoomsTextOnly = [preferences zoomsTextOnly];
- if (_private->zoomsTextOnly != zoomsTextOnly)
- [self _setZoomMultiplier:_private->zoomMultiplier isTextOnly:zoomsTextOnly];
-}
-
-static inline IMP getMethod(id o, SEL s)
-{
- return [o respondsToSelector:s] ? [o methodForSelector:s] : 0;
-}
-
-- (void)_cacheResourceLoadDelegateImplementations
-{
- WebResourceDelegateImplementationCache *cache = &_private->resourceLoadDelegateImplementations;
- id delegate = _private->resourceProgressDelegate;
-
- if (!delegate) {
- bzero(cache, sizeof(WebResourceDelegateImplementationCache));
- return;
- }
-
- cache->didCancelAuthenticationChallengeFunc = getMethod(delegate, @selector(webView:resource:didCancelAuthenticationChallenge:fromDataSource:));
- cache->didFailLoadingWithErrorFromDataSourceFunc = getMethod(delegate, @selector(webView:resource:didFailLoadingWithError:fromDataSource:));
- cache->didFinishLoadingFromDataSourceFunc = getMethod(delegate, @selector(webView:resource:didFinishLoadingFromDataSource:));
- cache->didLoadResourceFromMemoryCacheFunc = getMethod(delegate, @selector(webView:didLoadResourceFromMemoryCache:response:length:fromDataSource:));
- cache->didReceiveAuthenticationChallengeFunc = getMethod(delegate, @selector(webView:resource:didReceiveAuthenticationChallenge:fromDataSource:));
-#if USE(PROTECTION_SPACE_AUTH_CALLBACK)
- cache->canAuthenticateAgainstProtectionSpaceFunc = getMethod(delegate, @selector(webView:resource:canAuthenticateAgainstProtectionSpace:forDataSource:));
-#endif
- cache->didReceiveContentLengthFunc = getMethod(delegate, @selector(webView:resource:didReceiveContentLength:fromDataSource:));
- cache->didReceiveResponseFunc = getMethod(delegate, @selector(webView:resource:didReceiveResponse:fromDataSource:));
- cache->identifierForRequestFunc = getMethod(delegate, @selector(webView:identifierForInitialRequest:fromDataSource:));
- cache->plugInFailedWithErrorFunc = getMethod(delegate, @selector(webView:plugInFailedWithError:dataSource:));
- cache->willCacheResponseFunc = getMethod(delegate, @selector(webView:resource:willCacheResponse:fromDataSource:));
- cache->willSendRequestFunc = getMethod(delegate, @selector(webView:resource:willSendRequest:redirectResponse:fromDataSource:));
- cache->shouldUseCredentialStorageFunc = getMethod(delegate, @selector(webView:resource:shouldUseCredentialStorageForDataSource:));
- cache->shouldPaintBrokenImageForURLFunc = getMethod(delegate, @selector(webView:shouldPaintBrokenImageForURL:));
-}
-
-- (void)_cacheFrameLoadDelegateImplementations
-{
- WebFrameLoadDelegateImplementationCache *cache = &_private->frameLoadDelegateImplementations;
- id delegate = _private->frameLoadDelegate;
-
- if (!delegate) {
- bzero(cache, sizeof(WebFrameLoadDelegateImplementationCache));
- return;
- }
-
- cache->didCancelClientRedirectForFrameFunc = getMethod(delegate, @selector(webView:didCancelClientRedirectForFrame:));
- cache->didChangeLocationWithinPageForFrameFunc = getMethod(delegate, @selector(webView:didChangeLocationWithinPageForFrame:));
- cache->didPushStateWithinPageForFrameFunc = getMethod(delegate, @selector(webView:didPushStateWithinPageForFrame:));
- cache->didReplaceStateWithinPageForFrameFunc = getMethod(delegate, @selector(webView:didReplaceStateWithinPageForFrame:));
- cache->didPopStateWithinPageForFrameFunc = getMethod(delegate, @selector(webView:didPopStateWithinPageForFrame:));
-#if JSC_OBJC_API_ENABLED
- cache->didCreateJavaScriptContextForFrameFunc = getMethod(delegate, @selector(webView:didCreateJavaScriptContext:forFrame:));
-#endif
- cache->didClearWindowObjectForFrameFunc = getMethod(delegate, @selector(webView:didClearWindowObject:forFrame:));
- cache->didClearWindowObjectForFrameInScriptWorldFunc = getMethod(delegate, @selector(webView:didClearWindowObjectForFrame:inScriptWorld:));
- cache->didClearInspectorWindowObjectForFrameFunc = getMethod(delegate, @selector(webView:didClearInspectorWindowObject:forFrame:));
- cache->didCommitLoadForFrameFunc = getMethod(delegate, @selector(webView:didCommitLoadForFrame:));
- cache->didFailLoadWithErrorForFrameFunc = getMethod(delegate, @selector(webView:didFailLoadWithError:forFrame:));
- cache->didFailProvisionalLoadWithErrorForFrameFunc = getMethod(delegate, @selector(webView:didFailProvisionalLoadWithError:forFrame:));
- cache->didFinishDocumentLoadForFrameFunc = getMethod(delegate, @selector(webView:didFinishDocumentLoadForFrame:));
- cache->didFinishLoadForFrameFunc = getMethod(delegate, @selector(webView:didFinishLoadForFrame:));
- cache->didFirstLayoutInFrameFunc = getMethod(delegate, @selector(webView:didFirstLayoutInFrame:));
- cache->didFirstVisuallyNonEmptyLayoutInFrameFunc = getMethod(delegate, @selector(webView:didFirstVisuallyNonEmptyLayoutInFrame:));
- cache->didLayoutFunc = getMethod(delegate, @selector(webView:didLayout:));
- cache->didHandleOnloadEventsForFrameFunc = getMethod(delegate, @selector(webView:didHandleOnloadEventsForFrame:));
- cache->didReceiveIconForFrameFunc = getMethod(delegate, @selector(webView:didReceiveIcon:forFrame:));
- cache->didReceiveServerRedirectForProvisionalLoadForFrameFunc = getMethod(delegate, @selector(webView:didReceiveServerRedirectForProvisionalLoadForFrame:));
- cache->didReceiveTitleForFrameFunc = getMethod(delegate, @selector(webView:didReceiveTitle:forFrame:));
- cache->didStartProvisionalLoadForFrameFunc = getMethod(delegate, @selector(webView:didStartProvisionalLoadForFrame:));
- cache->willCloseFrameFunc = getMethod(delegate, @selector(webView:willCloseFrame:));
- cache->willPerformClientRedirectToURLDelayFireDateForFrameFunc = getMethod(delegate, @selector(webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:));
- cache->windowScriptObjectAvailableFunc = getMethod(delegate, @selector(webView:windowScriptObjectAvailable:));
- cache->didDisplayInsecureContentFunc = getMethod(delegate, @selector(webViewDidDisplayInsecureContent:));
- cache->didRunInsecureContentFunc = getMethod(delegate, @selector(webView:didRunInsecureContent:));
- cache->didDetectXSSFunc = getMethod(delegate, @selector(webView:didDetectXSS:));
- cache->didRemoveFrameFromHierarchyFunc = getMethod(delegate, @selector(webView:didRemoveFrameFromHierarchy:));
-
- // It would be nice to get rid of this code and transition all clients to using didLayout instead of
- // didFirstLayoutInFrame and didFirstVisuallyNonEmptyLayoutInFrame. In the meantime, this is required
- // for backwards compatibility.
- Page* page = core(self);
- if (page) {
- unsigned milestones = DidFirstLayout;
- if (cache->didFirstVisuallyNonEmptyLayoutInFrameFunc)
- milestones |= DidFirstVisuallyNonEmptyLayout;
- page->addLayoutMilestones(static_cast<LayoutMilestones>(milestones));
- }
-}
-
-- (void)_cacheScriptDebugDelegateImplementations
-{
- WebScriptDebugDelegateImplementationCache *cache = &_private->scriptDebugDelegateImplementations;
- id delegate = _private->scriptDebugDelegate;
-
- if (!delegate) {
- bzero(cache, sizeof(WebScriptDebugDelegateImplementationCache));
- return;
- }
-
- cache->didParseSourceFunc = getMethod(delegate, @selector(webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:));
- if (cache->didParseSourceFunc)
- cache->didParseSourceExpectsBaseLineNumber = YES;
- else {
- cache->didParseSourceExpectsBaseLineNumber = NO;
- cache->didParseSourceFunc = getMethod(delegate, @selector(webView:didParseSource:fromURL:sourceId:forWebFrame:));
- }
-
- cache->failedToParseSourceFunc = getMethod(delegate, @selector(webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:));
- cache->didEnterCallFrameFunc = getMethod(delegate, @selector(webView:didEnterCallFrame:sourceId:line:forWebFrame:));
- cache->willExecuteStatementFunc = getMethod(delegate, @selector(webView:willExecuteStatement:sourceId:line:forWebFrame:));
- cache->willLeaveCallFrameFunc = getMethod(delegate, @selector(webView:willLeaveCallFrame:sourceId:line:forWebFrame:));
-
- cache->exceptionWasRaisedFunc = getMethod(delegate, @selector(webView:exceptionWasRaised:hasHandler:sourceId:line:forWebFrame:));
- if (cache->exceptionWasRaisedFunc)
- cache->exceptionWasRaisedExpectsHasHandlerFlag = YES;
- else {
- cache->exceptionWasRaisedExpectsHasHandlerFlag = NO;
- cache->exceptionWasRaisedFunc = getMethod(delegate, @selector(webView:exceptionWasRaised:sourceId:line:forWebFrame:));
- }
-}
-
-- (void)_cacheHistoryDelegateImplementations
-{
- WebHistoryDelegateImplementationCache *cache = &_private->historyDelegateImplementations;
- id delegate = _private->historyDelegate;
-
- if (!delegate) {
- bzero(cache, sizeof(WebHistoryDelegateImplementationCache));
- return;
- }
-
- cache->navigatedFunc = getMethod(delegate, @selector(webView:didNavigateWithNavigationData:inFrame:));
- cache->clientRedirectFunc = getMethod(delegate, @selector(webView:didPerformClientRedirectFromURL:toURL:inFrame:));
- cache->serverRedirectFunc = getMethod(delegate, @selector(webView:didPerformServerRedirectFromURL:toURL:inFrame:));
- cache->deprecatedSetTitleFunc = getMethod(delegate, @selector(webView:updateHistoryTitle:forURL:));
- cache->setTitleFunc = getMethod(delegate, @selector(webView:updateHistoryTitle:forURL:inFrame:));
- cache->populateVisitedLinksFunc = getMethod(delegate, @selector(populateVisitedLinksForWebView:));
-}
-
-- (id)_policyDelegateForwarder
-{
- if (!_private->policyDelegateForwarder)
- _private->policyDelegateForwarder = [[_WebSafeForwarder alloc] initWithTarget:_private->policyDelegate defaultTarget:[WebDefaultPolicyDelegate sharedPolicyDelegate]];
- return _private->policyDelegateForwarder;
-}
-
-- (id)_UIDelegateForwarder
-{
- if (!_private->UIDelegateForwarder)
- _private->UIDelegateForwarder = [[_WebSafeForwarder alloc] initWithTarget:_private->UIDelegate defaultTarget:[WebDefaultUIDelegate sharedUIDelegate]];
- return _private->UIDelegateForwarder;
-}
-
-- (id)_editingDelegateForwarder
-{
- // This can be called during window deallocation by QTMovieView in the QuickTime Cocoa Plug-in.
- // Not sure if that is a bug or not.
- if (!_private)
- return nil;
-
- if (!_private->editingDelegateForwarder)
- _private->editingDelegateForwarder = [[_WebSafeForwarder alloc] initWithTarget:_private->editingDelegate defaultTarget:[WebDefaultEditingDelegate sharedEditingDelegate]];
- return _private->editingDelegateForwarder;
-}
-
-- (void)_closeWindow
-{
- [[self _UIDelegateForwarder] webViewClose:self];
-}
-
-+ (void)_unregisterViewClassAndRepresentationClassForMIMEType:(NSString *)MIMEType
-{
- [[WebFrameView _viewTypesAllowImageTypeOmission:NO] removeObjectForKey:MIMEType];
- [[WebDataSource _repTypesAllowImageTypeOmission:NO] removeObjectForKey:MIMEType];
-
- // FIXME: We also need to maintain MIMEType registrations (which can be dynamically changed)
- // in the WebCore MIMEType registry. For now we're doing this in a safe, limited manner
- // to fix <rdar://problem/5372989> - a future revamping of the entire system is neccesary for future robustness
- MIMETypeRegistry::getSupportedNonImageMIMETypes().remove(MIMEType);
-}
-
-+ (void)_registerViewClass:(Class)viewClass representationClass:(Class)representationClass forURLScheme:(NSString *)URLScheme
-{
- NSString *MIMEType = [self _generatedMIMETypeForURLScheme:URLScheme];
- [self registerViewClass:viewClass representationClass:representationClass forMIMEType:MIMEType];
-
- // FIXME: We also need to maintain MIMEType registrations (which can be dynamically changed)
- // in the WebCore MIMEType registry. For now we're doing this in a safe, limited manner
- // to fix <rdar://problem/5372989> - a future revamping of the entire system is neccesary for future robustness
- if ([viewClass class] == [WebHTMLView class])
- MIMETypeRegistry::getSupportedNonImageMIMETypes().add(MIMEType);
-
- // This is used to make _representationExistsForURLScheme faster.
- // Without this set, we'd have to create the MIME type each time.
- if (schemesWithRepresentationsSet == nil) {
- schemesWithRepresentationsSet = [[NSMutableSet alloc] init];
- }
- [schemesWithRepresentationsSet addObject:[[[URLScheme lowercaseString] copy] autorelease]];
-}
-
-+ (NSString *)_generatedMIMETypeForURLScheme:(NSString *)URLScheme
-{
- return [@"x-apple-web-kit/" stringByAppendingString:[URLScheme lowercaseString]];
-}
-
-+ (BOOL)_representationExistsForURLScheme:(NSString *)URLScheme
-{
- return [schemesWithRepresentationsSet containsObject:[URLScheme lowercaseString]];
-}
-
-+ (BOOL)_canHandleRequest:(NSURLRequest *)request forMainFrame:(BOOL)forMainFrame
-{
- // FIXME: If <rdar://problem/5217309> gets fixed, this check can be removed.
- if (!request)
- return NO;
-
- if ([NSURLConnection canHandleRequest:request])
- return YES;
-
- NSString *scheme = [[request URL] scheme];
-
- // Representations for URL schemes work at the top level.
- if (forMainFrame && [self _representationExistsForURLScheme:scheme])
- return YES;
-
- if ([scheme _webkit_isCaseInsensitiveEqualToString:@"applewebdata"])
- return YES;
-
-#if ENABLE(BLOB)
- if ([scheme _webkit_isCaseInsensitiveEqualToString:@"blob"])
- return YES;
-#endif
-
- return NO;
-}
-
-+ (BOOL)_canHandleRequest:(NSURLRequest *)request
-{
- return [self _canHandleRequest:request forMainFrame:YES];
-}
-
-+ (NSString *)_decodeData:(NSData *)data
-{
- HTMLNames::init(); // this method is used for importing bookmarks at startup, so HTMLNames are likely to be uninitialized yet
- RefPtr<TextResourceDecoder> decoder = TextResourceDecoder::create("text/html"); // bookmark files are HTML
- String result = decoder->decode(static_cast<const char*>([data bytes]), [data length]);
- result.append(decoder->flush());
- return result;
-}
-
-- (void)_pushPerformingProgrammaticFocus
-{
- _private->programmaticFocusCount++;
-}
-
-- (void)_popPerformingProgrammaticFocus
-{
- _private->programmaticFocusCount--;
-}
-
-- (BOOL)_isPerformingProgrammaticFocus
-{
- return _private->programmaticFocusCount != 0;
-}
-
-- (void)_didChangeValueForKey: (NSString *)key
-{
- LOG (Bindings, "calling didChangeValueForKey: %@", key);
- [self didChangeValueForKey: key];
-}
-
-- (void)_willChangeValueForKey: (NSString *)key
-{
- LOG (Bindings, "calling willChangeValueForKey: %@", key);
- [self willChangeValueForKey: key];
-}
-
-+ (BOOL)automaticallyNotifiesObserversForKey:(NSString *)key {
- static NSSet *manualNotifyKeys = nil;
- if (!manualNotifyKeys)
- manualNotifyKeys = [[NSSet alloc] initWithObjects:_WebMainFrameURLKey, _WebIsLoadingKey, _WebEstimatedProgressKey,
- _WebCanGoBackKey, _WebCanGoForwardKey, _WebMainFrameTitleKey, _WebMainFrameIconKey, _WebMainFrameDocumentKey,
- nil];
- if ([manualNotifyKeys containsObject:key])
- return NO;
- return YES;
-}
-
-- (NSArray *)_declaredKeys {
- static NSArray *declaredKeys = nil;
- if (!declaredKeys)
- declaredKeys = [[NSArray alloc] initWithObjects:_WebMainFrameURLKey, _WebIsLoadingKey, _WebEstimatedProgressKey,
- _WebCanGoBackKey, _WebCanGoForwardKey, _WebMainFrameTitleKey, _WebMainFrameIconKey, _WebMainFrameDocumentKey, nil];
- return declaredKeys;
-}
-
-- (void)setObservationInfo:(void *)info
-{
- _private->observationInfo = info;
-}
-
-- (void *)observationInfo
-{
- return _private->observationInfo;
-}
-
-- (void)_willChangeBackForwardKeys
-{
- [self _willChangeValueForKey: _WebCanGoBackKey];
- [self _willChangeValueForKey: _WebCanGoForwardKey];
-}
-
-- (void)_didChangeBackForwardKeys
-{
- [self _didChangeValueForKey: _WebCanGoBackKey];
- [self _didChangeValueForKey: _WebCanGoForwardKey];
-}
-
-- (void)_didStartProvisionalLoadForFrame:(WebFrame *)frame
-{
- if (needsSelfRetainWhileLoadingQuirk())
- [self retain];
-
- [self _willChangeBackForwardKeys];
- if (frame == [self mainFrame]){
- // Force an observer update by sending a will/did.
- [self _willChangeValueForKey: _WebIsLoadingKey];
- [self _didChangeValueForKey: _WebIsLoadingKey];
-
- [self _willChangeValueForKey: _WebMainFrameURLKey];
- }
-
- [NSApp setWindowsNeedUpdate:YES];
-
-#if ENABLE(FULLSCREEN_API)
- Document* document = core([frame DOMDocument]);
- if (Element* element = document ? document->webkitCurrentFullScreenElement() : 0) {
- SEL selector = @selector(webView:closeFullScreenWithListener:);
- if (_private->UIDelegate && [_private->UIDelegate respondsToSelector:selector]) {
- WebKitFullScreenListener *listener = [[WebKitFullScreenListener alloc] initWithElement:element];
- CallUIDelegate(self, selector, listener);
- [listener release];
- } else if (_private->newFullscreenController && [_private->newFullscreenController isFullScreen]) {
- [_private->newFullscreenController close];
- }
- }
-#endif
-}
-
-- (void)_didCommitLoadForFrame:(WebFrame *)frame
-{
- if (frame == [self mainFrame])
- [self _didChangeValueForKey: _WebMainFrameURLKey];
- [NSApp setWindowsNeedUpdate:YES];
-}
-
-- (void)_didFinishLoadForFrame:(WebFrame *)frame
-{
- if (needsSelfRetainWhileLoadingQuirk())
- [self performSelector:@selector(release) withObject:nil afterDelay:0];
-
- [self _didChangeBackForwardKeys];
- if (frame == [self mainFrame]){
- // Force an observer update by sending a will/did.
- [self _willChangeValueForKey: _WebIsLoadingKey];
- [self _didChangeValueForKey: _WebIsLoadingKey];
- }
- [NSApp setWindowsNeedUpdate:YES];
-}
-
-- (void)_didFailLoadWithError:(NSError *)error forFrame:(WebFrame *)frame
-{
- if (needsSelfRetainWhileLoadingQuirk())
- [self performSelector:@selector(release) withObject:nil afterDelay:0];
-
- [self _didChangeBackForwardKeys];
- if (frame == [self mainFrame]){
- // Force an observer update by sending a will/did.
- [self _willChangeValueForKey: _WebIsLoadingKey];
- [self _didChangeValueForKey: _WebIsLoadingKey];
- }
- [NSApp setWindowsNeedUpdate:YES];
-}
-
-- (void)_didFailProvisionalLoadWithError:(NSError *)error forFrame:(WebFrame *)frame
-{
- if (needsSelfRetainWhileLoadingQuirk())
- [self performSelector:@selector(release) withObject:nil afterDelay:0];
-
- [self _didChangeBackForwardKeys];
- if (frame == [self mainFrame]){
- // Force an observer update by sending a will/did.
- [self _willChangeValueForKey: _WebIsLoadingKey];
- [self _didChangeValueForKey: _WebIsLoadingKey];
-
- [self _didChangeValueForKey: _WebMainFrameURLKey];
- }
- [NSApp setWindowsNeedUpdate:YES];
-}
-
-- (NSCachedURLResponse *)_cachedResponseForURL:(NSURL *)URL
-{
- RetainPtr<NSMutableURLRequest *> request = adoptNS([[NSMutableURLRequest alloc] initWithURL:URL]);
- [request _web_setHTTPUserAgent:[self userAgentForURL:URL]];
- NSCachedURLResponse *cachedResponse;
-
- if (!_private->page)
- return nil;
-
- if (CFURLStorageSessionRef storageSession = _private->page->mainFrame()->loader()->networkingContext()->storageSession().platformSession())
- cachedResponse = WKCachedResponseForRequest(storageSession, request.get());
- else
- cachedResponse = [[NSURLCache sharedURLCache] cachedResponseForRequest:request.get()];
-
- return cachedResponse;
-}
-
-- (void)_writeImageForElement:(NSDictionary *)element withPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard
-{
- NSURL *linkURL = [element objectForKey:WebElementLinkURLKey];
- DOMElement *domElement = [element objectForKey:WebElementDOMNodeKey];
- [pasteboard _web_writeImage:(NSImage *)(domElement ? nil : [element objectForKey:WebElementImageKey])
- element:domElement
- URL:linkURL ? linkURL : (NSURL *)[element objectForKey:WebElementImageURLKey]
- title:[element objectForKey:WebElementImageAltStringKey]
- archive:[[element objectForKey:WebElementDOMNodeKey] webArchive]
- types:types
- source:nil];
-}
-
-- (void)_writeLinkElement:(NSDictionary *)element withPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard
-{
- [pasteboard _web_writeURL:[element objectForKey:WebElementLinkURLKey]
- andTitle:[element objectForKey:WebElementLinkLabelKey]
- types:types];
-}
-
-#if ENABLE(DRAG_SUPPORT)
-- (void)_setInitiatedDrag:(BOOL)initiatedDrag
-{
- if (!_private->page)
- return;
- _private->page->dragController()->setDidInitiateDrag(initiatedDrag);
-}
-#endif
-
-#if ENABLE(DASHBOARD_SUPPORT)
-
-#define DASHBOARD_CONTROL_LABEL @"control"
-
-- (void)_addControlRect:(NSRect)bounds clip:(NSRect)clip fromView:(NSView *)view toDashboardRegions:(NSMutableDictionary *)regions
-{
- NSRect adjustedBounds = bounds;
- adjustedBounds.origin = [self convertPoint:bounds.origin fromView:view];
- adjustedBounds.origin.y = [self bounds].size.height - adjustedBounds.origin.y;
- adjustedBounds.size = bounds.size;
-
- NSRect adjustedClip;
- adjustedClip.origin = [self convertPoint:clip.origin fromView:view];
- adjustedClip.origin.y = [self bounds].size.height - adjustedClip.origin.y;
- adjustedClip.size = clip.size;
-
- WebDashboardRegion *region = [[WebDashboardRegion alloc] initWithRect:adjustedBounds
- clip:adjustedClip type:WebDashboardRegionTypeScrollerRectangle];
- NSMutableArray *scrollerRegions = [regions objectForKey:DASHBOARD_CONTROL_LABEL];
- if (!scrollerRegions) {
- scrollerRegions = [[NSMutableArray alloc] init];
- [regions setObject:scrollerRegions forKey:DASHBOARD_CONTROL_LABEL];
- [scrollerRegions release];
- }
- [scrollerRegions addObject:region];
- [region release];
-}
-
-- (void)_addScrollerDashboardRegionsForFrameView:(FrameView*)frameView dashboardRegions:(NSMutableDictionary *)regions
-{
- NSView *documentView = [[kit(frameView->frame()) frameView] documentView];
-
- const HashSet<RefPtr<Widget> >* children = frameView->children();
- HashSet<RefPtr<Widget> >::const_iterator end = children->end();
- for (HashSet<RefPtr<Widget> >::const_iterator it = children->begin(); it != end; ++it) {
- Widget* widget = (*it).get();
- if (widget->isFrameView()) {
- [self _addScrollerDashboardRegionsForFrameView:toFrameView(widget) dashboardRegions:regions];
- continue;
- }
-
- if (!widget->isScrollbar())
- continue;
-
- // FIXME: This should really pass an appropriate clip, but our first try got it wrong, and
- // it's not common to need this to be correct in Dashboard widgets.
- NSRect bounds = widget->frameRect();
- [self _addControlRect:bounds clip:bounds fromView:documentView toDashboardRegions:regions];
- }
-}
-
-- (void)_addScrollerDashboardRegions:(NSMutableDictionary *)regions from:(NSArray *)views
-{
- // Add scroller regions for NSScroller and WebCore scrollbars
- NSUInteger count = [views count];
- for (NSUInteger i = 0; i < count; i++) {
- NSView *view = [views objectAtIndex:i];
-
- if ([view isKindOfClass:[WebHTMLView class]]) {
- if (Frame* coreFrame = core([(WebHTMLView*)view _frame])) {
- if (FrameView* coreView = coreFrame->view())
- [self _addScrollerDashboardRegionsForFrameView:coreView dashboardRegions:regions];
- }
- } else if ([view isKindOfClass:[NSScroller class]]) {
- // AppKit places absent scrollers at -100,-100
- if ([view frame].origin.y < 0)
- continue;
- [self _addControlRect:[view bounds] clip:[view visibleRect] fromView:view toDashboardRegions:regions];
- }
- [self _addScrollerDashboardRegions:regions from:[view subviews]];
- }
-}
-
-- (void)_addScrollerDashboardRegions:(NSMutableDictionary *)regions
-{
- [self _addScrollerDashboardRegions:regions from:[self subviews]];
-}
-
-- (NSDictionary *)_dashboardRegions
-{
- // Only return regions from main frame.
- Frame* mainFrame = [self _mainCoreFrame];
- if (!mainFrame)
- return nil;
-
- const Vector<AnnotatedRegionValue>& regions = mainFrame->document()->annotatedRegions();
- size_t size = regions.size();
-
- NSMutableDictionary *webRegions = [NSMutableDictionary dictionaryWithCapacity:size];
- for (size_t i = 0; i < size; i++) {
- const AnnotatedRegionValue& region = regions[i];
-
- if (region.type == StyleDashboardRegion::None)
- continue;
-
- NSString *label = region.label;
- WebDashboardRegionType type = WebDashboardRegionTypeNone;
- if (region.type == StyleDashboardRegion::Circle)
- type = WebDashboardRegionTypeCircle;
- else if (region.type == StyleDashboardRegion::Rectangle)
- type = WebDashboardRegionTypeRectangle;
- NSMutableArray *regionValues = [webRegions objectForKey:label];
- if (!regionValues) {
- regionValues = [[NSMutableArray alloc] initWithCapacity:1];
- [webRegions setObject:regionValues forKey:label];
- [regionValues release];
- }
-
- WebDashboardRegion *webRegion = [[WebDashboardRegion alloc] initWithRect:pixelSnappedIntRect(region.bounds) clip:pixelSnappedIntRect(region.clip) type:type];
- [regionValues addObject:webRegion];
- [webRegion release];
- }
-
- [self _addScrollerDashboardRegions:webRegions];
-
- return webRegions;
-}
-
-- (void)_setDashboardBehavior:(WebDashboardBehavior)behavior to:(BOOL)flag
-{
- // FIXME: Remove this blanket assignment once Dashboard and Dashcode implement
- // specific support for the backward compatibility mode flag.
- if (behavior == WebDashboardBehaviorAllowWheelScrolling && flag == NO && _private->page)
- _private->page->settings()->setUsesDashboardBackwardCompatibilityMode(true);
-
- switch (behavior) {
- case WebDashboardBehaviorAlwaysSendMouseEventsToAllWindows: {
- _private->dashboardBehaviorAlwaysSendMouseEventsToAllWindows = flag;
- break;
- }
- case WebDashboardBehaviorAlwaysSendActiveNullEventsToPlugIns: {
- _private->dashboardBehaviorAlwaysSendActiveNullEventsToPlugIns = flag;
- break;
- }
- case WebDashboardBehaviorAlwaysAcceptsFirstMouse: {
- _private->dashboardBehaviorAlwaysAcceptsFirstMouse = flag;
- break;
- }
- case WebDashboardBehaviorAllowWheelScrolling: {
- _private->dashboardBehaviorAllowWheelScrolling = flag;
- break;
- }
- case WebDashboardBehaviorUseBackwardCompatibilityMode: {
- if (_private->page)
- _private->page->settings()->setUsesDashboardBackwardCompatibilityMode(flag);
-#if ENABLE(LEGACY_CSS_VENDOR_PREFIXES)
- RuntimeEnabledFeatures::setLegacyCSSVendorPrefixesEnabled(flag);
-#endif
- break;
- }
- }
-
- // Pre-HTML5 parser quirks should be enabled if Dashboard is in backward
- // compatibility mode. See <rdar://problem/8175982>.
- if (_private->page)
- _private->page->settings()->setUsePreHTML5ParserQuirks([self _needsPreHTML5ParserQuirks]);
-}
-
-- (BOOL)_dashboardBehavior:(WebDashboardBehavior)behavior
-{
- switch (behavior) {
- case WebDashboardBehaviorAlwaysSendMouseEventsToAllWindows: {
- return _private->dashboardBehaviorAlwaysSendMouseEventsToAllWindows;
- }
- case WebDashboardBehaviorAlwaysSendActiveNullEventsToPlugIns: {
- return _private->dashboardBehaviorAlwaysSendActiveNullEventsToPlugIns;
- }
- case WebDashboardBehaviorAlwaysAcceptsFirstMouse: {
- return _private->dashboardBehaviorAlwaysAcceptsFirstMouse;
- }
- case WebDashboardBehaviorAllowWheelScrolling: {
- return _private->dashboardBehaviorAllowWheelScrolling;
- }
- case WebDashboardBehaviorUseBackwardCompatibilityMode: {
- return _private->page && _private->page->settings()->usesDashboardBackwardCompatibilityMode();
- }
- }
- return NO;
-}
-
-#endif /* ENABLE(DASHBOARD_SUPPORT) */
-
-+ (void)_setShouldUseFontSmoothing:(BOOL)f
-{
- Font::setShouldUseSmoothing(f);
-}
-
-+ (BOOL)_shouldUseFontSmoothing
-{
- return Font::shouldUseSmoothing();
-}
-
-+ (void)_setUsesTestModeFocusRingColor:(BOOL)f
-{
- setUsesTestModeFocusRingColor(f);
-}
-
-+ (BOOL)_usesTestModeFocusRingColor
-{
- return usesTestModeFocusRingColor();
-}
-
-- (void)setAlwaysShowVerticalScroller:(BOOL)flag
-{
- WebDynamicScrollBarsView *scrollview = [[[self mainFrame] frameView] _scrollView];
- if (flag) {
- [scrollview setVerticalScrollingMode:ScrollbarAlwaysOn andLock:YES];
- } else {
- [scrollview setVerticalScrollingModeLocked:NO];
- [scrollview setVerticalScrollingMode:ScrollbarAuto andLock:NO];
- }
-}
-
-- (BOOL)alwaysShowVerticalScroller
-{
- WebDynamicScrollBarsView *scrollview = [[[self mainFrame] frameView] _scrollView];
- return [scrollview verticalScrollingModeLocked] && [scrollview verticalScrollingMode] == ScrollbarAlwaysOn;
-}
-
-- (void)setAlwaysShowHorizontalScroller:(BOOL)flag
-{
- WebDynamicScrollBarsView *scrollview = [[[self mainFrame] frameView] _scrollView];
- if (flag) {
- [scrollview setHorizontalScrollingMode:ScrollbarAlwaysOn andLock:YES];
- } else {
- [scrollview setHorizontalScrollingModeLocked:NO];
- [scrollview setHorizontalScrollingMode:ScrollbarAuto andLock:NO];
- }
-}
-
-- (void)setProhibitsMainFrameScrolling:(BOOL)prohibits
-{
- if (Frame* mainFrame = [self _mainCoreFrame])
- mainFrame->view()->setProhibitsScrolling(prohibits);
-}
-
-- (BOOL)alwaysShowHorizontalScroller
-{
- WebDynamicScrollBarsView *scrollview = [[[self mainFrame] frameView] _scrollView];
- return [scrollview horizontalScrollingModeLocked] && [scrollview horizontalScrollingMode] == ScrollbarAlwaysOn;
-}
-
-- (void)_setInViewSourceMode:(BOOL)flag
-{
- if (Frame* mainFrame = [self _mainCoreFrame])
- mainFrame->setInViewSourceMode(flag);
-}
-
-- (BOOL)_inViewSourceMode
-{
- Frame* mainFrame = [self _mainCoreFrame];
- return mainFrame && mainFrame->inViewSourceMode();
-}
-
-- (void)_setUseFastImageScalingMode:(BOOL)flag
-{
- if (_private->page && _private->page->inLowQualityImageInterpolationMode() != flag) {
- _private->page->setInLowQualityImageInterpolationMode(flag);
- [self setNeedsDisplay:YES];
- }
-}
-
-- (BOOL)_inFastImageScalingMode
-{
- if (_private->page)
- return _private->page->inLowQualityImageInterpolationMode();
- return NO;
-}
-
-- (BOOL)_cookieEnabled
-{
- if (_private->page)
- return _private->page->settings()->cookieEnabled();
- return YES;
-}
-
-- (void)_setCookieEnabled:(BOOL)enable
-{
- if (_private->page)
- _private->page->settings()->setCookieEnabled(enable);
-}
-
-- (void)_setAdditionalWebPlugInPaths:(NSArray *)newPaths
-{
- if (!_private->pluginDatabase)
- _private->pluginDatabase = [[WebPluginDatabase alloc] init];
-
- [_private->pluginDatabase setPlugInPaths:newPaths];
- [_private->pluginDatabase refresh];
-}
-
-- (void)_attachScriptDebuggerToAllFrames
-{
- for (Frame* frame = [self _mainCoreFrame]; frame; frame = frame->tree()->traverseNext())
- [kit(frame) _attachScriptDebugger];
-}
-
-- (void)_detachScriptDebuggerFromAllFrames
-{
- for (Frame* frame = [self _mainCoreFrame]; frame; frame = frame->tree()->traverseNext())
- [kit(frame) _detachScriptDebugger];
-}
-
-- (void)setBackgroundColor:(NSColor *)backgroundColor
-{
- if ([_private->backgroundColor isEqual:backgroundColor])
- return;
-
- id old = _private->backgroundColor;
- _private->backgroundColor = [backgroundColor retain];
- [old release];
-
- [[self mainFrame] _updateBackgroundAndUpdatesWhileOffscreen];
-}
-
-- (NSColor *)backgroundColor
-{
- return _private->backgroundColor;
-}
-
-- (BOOL)defersCallbacks
-{
- if (!_private->page)
- return NO;
- return _private->page->defersLoading();
-}
-
-- (void)setDefersCallbacks:(BOOL)defer
-{
- if (!_private->page)
- return;
- return _private->page->setDefersLoading(defer);
-}
-
-// For backwards compatibility with the WebBackForwardList API, we honor both
-// a per-WebView and a per-preferences setting for whether to use the page cache.
-
-- (BOOL)usesPageCache
-{
- return _private->usesPageCache && [[self preferences] usesPageCache];
-}
-
-- (void)setUsesPageCache:(BOOL)usesPageCache
-{
- _private->usesPageCache = usesPageCache;
-
- // Update our own settings and post the public notification only
- [self _preferencesChanged:[self preferences]];
- [[self preferences] _postPreferencesChangedAPINotification];
-}
-
-- (WebHistoryItem *)_globalHistoryItem
-{
- if (!_private)
- return nil;
-
- return kit(_private->_globalHistoryItem.get());
-}
-
-- (void)_setGlobalHistoryItem:(HistoryItem*)historyItem
-{
- _private->_globalHistoryItem = historyItem;
-}
-
-- (WebTextIterator *)textIteratorForRect:(NSRect)rect
-{
- IntPoint rectStart(rect.origin.x, rect.origin.y);
- IntPoint rectEnd(rect.origin.x + rect.size.width, rect.origin.y + rect.size.height);
-
- Frame* coreFrame = [self _mainCoreFrame];
- if (!coreFrame)
- return nil;
-
- VisibleSelection selectionInsideRect(coreFrame->visiblePositionForPoint(rectStart), coreFrame->visiblePositionForPoint(rectEnd));
-
- return [[[WebTextIterator alloc] initWithRange:kit(selectionInsideRect.toNormalizedRange().get())] autorelease];
-}
-
-- (void)handleAuthenticationForResource:(id)identifier challenge:(NSURLAuthenticationChallenge *)challenge fromDataSource:(WebDataSource *)dataSource
-{
- NSWindow *window = [self hostWindow] ? [self hostWindow] : [self window];
- [[WebPanelAuthenticationHandler sharedHandler] startAuthentication:challenge window:window];
-}
-
-- (void)_clearUndoRedoOperations
-{
- if (!_private->page)
- return;
- _private->page->clearUndoRedoOperations();
-}
-
-- (void)_executeCoreCommandByName:(NSString *)name value:(NSString *)value
-{
- Frame* coreFrame = [self _mainCoreFrame];
- if (!coreFrame)
- return;
- coreFrame->editor().command(name).execute(value);
-}
-
-- (void)_setCustomHTMLTokenizerTimeDelay:(double)timeDelay
-{
- if (!_private->page)
- return;
- return _private->page->setCustomHTMLTokenizerTimeDelay(timeDelay);
-}
-
-- (void)_setCustomHTMLTokenizerChunkSize:(int)chunkSize
-{
- if (!_private->page)
- return;
- return _private->page->setCustomHTMLTokenizerChunkSize(chunkSize);
-}
-
-- (void)_clearMainFrameName
-{
- _private->page->mainFrame()->tree()->clearName();
-}
-
-- (void)setSelectTrailingWhitespaceEnabled:(BOOL)flag
-{
- if (_private->page->settings()->selectTrailingWhitespaceEnabled() != flag) {
- _private->page->settings()->setSelectTrailingWhitespaceEnabled(flag);
- [self setSmartInsertDeleteEnabled:!flag];
- }
-}
-
-- (BOOL)isSelectTrailingWhitespaceEnabled
-{
- return _private->page->settings()->selectTrailingWhitespaceEnabled();
-}
-
-- (void)setMemoryCacheDelegateCallsEnabled:(BOOL)enabled
-{
- _private->page->setMemoryCacheClientCallsEnabled(enabled);
-}
-
-- (BOOL)areMemoryCacheDelegateCallsEnabled
-{
- return _private->page->areMemoryCacheClientCallsEnabled();
-}
-
-+ (NSCursor *)_pointingHandCursor
-{
- return handCursor().platformCursor();
-}
-
-- (BOOL)_postsAcceleratedCompositingNotifications
-{
-#if USE(ACCELERATED_COMPOSITING)
- return _private->postsAcceleratedCompositingNotifications;
-#else
- return NO;
-#endif
-
-}
-- (void)_setPostsAcceleratedCompositingNotifications:(BOOL)flag
-{
-#if USE(ACCELERATED_COMPOSITING)
- _private->postsAcceleratedCompositingNotifications = flag;
-#endif
-}
-
-- (BOOL)_isUsingAcceleratedCompositing
-{
-#if USE(ACCELERATED_COMPOSITING)
- Frame* coreFrame = [self _mainCoreFrame];
- for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame)) {
- NSView *documentView = [[kit(frame) frameView] documentView];
- if ([documentView isKindOfClass:[WebHTMLView class]] && [(WebHTMLView *)documentView _isUsingAcceleratedCompositing])
- return YES;
- }
-#endif
- return NO;
-}
-
-- (void)_setBaseCTM:(CGAffineTransform)transform forContext:(CGContextRef)context
-{
- WKSetBaseCTM(context, transform);
-}
-
-- (BOOL)interactiveFormValidationEnabled
-{
- return _private->interactiveFormValidationEnabled;
-}
-
-- (void)setInteractiveFormValidationEnabled:(BOOL)enabled
-{
- _private->interactiveFormValidationEnabled = enabled;
-}
-
-- (int)validationMessageTimerMagnification
-{
- return _private->validationMessageTimerMagnification;
-}
-
-- (void)setValidationMessageTimerMagnification:(int)newValue
-{
- _private->validationMessageTimerMagnification = newValue;
-}
-
-- (BOOL)_isSoftwareRenderable
-{
-#if USE(ACCELERATED_COMPOSITING)
- Frame* coreFrame = [self _mainCoreFrame];
- for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame)) {
- if (FrameView* view = frame->view()) {
- if (!view->isSoftwareRenderable())
- return NO;
- }
- }
-#endif
- return YES;
-}
-
-- (void)_setIncludesFlattenedCompositingLayersWhenDrawingToBitmap:(BOOL)flag
-{
- _private->includesFlattenedCompositingLayersWhenDrawingToBitmap = flag;
-}
-
-- (BOOL)_includesFlattenedCompositingLayersWhenDrawingToBitmap
-{
- return _private->includesFlattenedCompositingLayersWhenDrawingToBitmap;
-}
-
-- (void)setTracksRepaints:(BOOL)flag
-{
- Frame* coreFrame = [self _mainCoreFrame];
- if (FrameView* view = coreFrame->view())
- view->setTracksRepaints(flag);
-}
-
-- (BOOL)isTrackingRepaints
-{
- Frame* coreFrame = [self _mainCoreFrame];
- if (FrameView* view = coreFrame->view())
- return view->isTrackingRepaints();
-
- return NO;
-}
-
-- (void)resetTrackedRepaints
-{
- Frame* coreFrame = [self _mainCoreFrame];
- if (FrameView* view = coreFrame->view())
- view->resetTrackedRepaints();
-}
-
-- (NSArray*)trackedRepaintRects
-{
- Frame* coreFrame = [self _mainCoreFrame];
- FrameView* view = coreFrame->view();
- if (!view || !view->isTrackingRepaints())
- return nil;
-
- const Vector<IntRect>& repaintRects = view->trackedRepaintRects();
- NSMutableArray* rectsArray = [[NSMutableArray alloc] initWithCapacity:repaintRects.size()];
-
- for (unsigned i = 0; i < repaintRects.size(); ++i)
- [rectsArray addObject:[NSValue valueWithRect:pixelSnappedIntRect(repaintRects[i])]];
-
- return [rectsArray autorelease];
-}
-
-- (NSPasteboard *)_insertionPasteboard
-{
- return _private ? _private->insertionPasteboard : nil;
-}
-
-+ (void)_addOriginAccessWhitelistEntryWithSourceOrigin:(NSString *)sourceOrigin destinationProtocol:(NSString *)destinationProtocol destinationHost:(NSString *)destinationHost allowDestinationSubdomains:(BOOL)allowDestinationSubdomains
-{
- SecurityPolicy::addOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
-}
-
-+ (void)_removeOriginAccessWhitelistEntryWithSourceOrigin:(NSString *)sourceOrigin destinationProtocol:(NSString *)destinationProtocol destinationHost:(NSString *)destinationHost allowDestinationSubdomains:(BOOL)allowDestinationSubdomains
-{
- SecurityPolicy::removeOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
-}
-
-+ (void)_resetOriginAccessWhitelists
-{
- SecurityPolicy::resetOriginAccessWhitelists();
-}
-
-- (BOOL)_isViewVisible
-{
- if (![self window])
- return false;
-
- if (![[self window] isVisible])
- return false;
-
- if ([self isHiddenOrHasHiddenAncestor])
- return false;
-
- return true;
-}
-
-- (void)_updateVisibilityState
-{
- if (_private && _private->page)
- [self _setVisibilityState:([self _isViewVisible] ? WebPageVisibilityStateVisible : WebPageVisibilityStateHidden) isInitialState:NO];
-}
-
-- (void)_updateActiveState
-{
- if (_private && _private->page)
- _private->page->focusController()->setActive([[self window] _hasKeyAppearance]);
-}
-
-static Vector<String> toStringVector(NSArray* patterns)
-{
- Vector<String> patternsVector;
-
- NSUInteger count = [patterns count];
- if (!count)
- return patternsVector;
-
- for (NSUInteger i = 0; i < count; ++i) {
- id entry = [patterns objectAtIndex:i];
- if ([entry isKindOfClass:[NSString class]])
- patternsVector.append(String((NSString *)entry));
- }
- return patternsVector;
-}
-
-+ (void)_addUserScriptToGroup:(NSString *)groupName world:(WebScriptWorld *)world source:(NSString *)source url:(NSURL *)url
- whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist
- injectionTime:(WebUserScriptInjectionTime)injectionTime
-{
- [WebView _addUserScriptToGroup:groupName world:world source:source url:url whitelist:whitelist blacklist:blacklist injectionTime:injectionTime injectedFrames:WebInjectInAllFrames];
-}
-
-+ (void)_addUserScriptToGroup:(NSString *)groupName world:(WebScriptWorld *)world source:(NSString *)source url:(NSURL *)url
- whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist
- injectionTime:(WebUserScriptInjectionTime)injectionTime
- injectedFrames:(WebUserContentInjectedFrames)injectedFrames
-{
- String group(groupName);
- if (group.isEmpty())
- return;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- if (!pageGroup)
- return;
-
- pageGroup->addUserScriptToWorld(core(world), source, url, toStringVector(whitelist), toStringVector(blacklist),
- injectionTime == WebInjectAtDocumentStart ? InjectAtDocumentStart : InjectAtDocumentEnd,
- injectedFrames == WebInjectInAllFrames ? InjectInAllFrames : InjectInTopFrameOnly);
-}
-
-+ (void)_addUserStyleSheetToGroup:(NSString *)groupName world:(WebScriptWorld *)world source:(NSString *)source url:(NSURL *)url
- whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist
-{
- [WebView _addUserStyleSheetToGroup:groupName world:world source:source url:url whitelist:whitelist blacklist:blacklist injectedFrames:WebInjectInAllFrames];
-}
-
-+ (void)_addUserStyleSheetToGroup:(NSString *)groupName world:(WebScriptWorld *)world source:(NSString *)source url:(NSURL *)url
- whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist
- injectedFrames:(WebUserContentInjectedFrames)injectedFrames
-{
- String group(groupName);
- if (group.isEmpty())
- return;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- if (!pageGroup)
- return;
-
- pageGroup->addUserStyleSheetToWorld(core(world), source, url, toStringVector(whitelist), toStringVector(blacklist), injectedFrames == WebInjectInAllFrames ? InjectInAllFrames : InjectInTopFrameOnly);
-}
-
-+ (void)_removeUserScriptFromGroup:(NSString *)groupName world:(WebScriptWorld *)world url:(NSURL *)url
-{
- String group(groupName);
- if (group.isEmpty())
- return;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- if (!pageGroup)
- return;
-
- pageGroup->removeUserScriptFromWorld(core(world), url);
-}
-
-+ (void)_removeUserStyleSheetFromGroup:(NSString *)groupName world:(WebScriptWorld *)world url:(NSURL *)url
-{
- String group(groupName);
- if (group.isEmpty())
- return;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- if (!pageGroup)
- return;
-
- pageGroup->removeUserStyleSheetFromWorld(core(world), url);
-}
-
-+ (void)_removeUserScriptsFromGroup:(NSString *)groupName world:(WebScriptWorld *)world
-{
- String group(groupName);
- if (group.isEmpty())
- return;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- if (!pageGroup)
- return;
-
- pageGroup->removeUserScriptsFromWorld(core(world));
-}
-
-+ (void)_removeUserStyleSheetsFromGroup:(NSString *)groupName world:(WebScriptWorld *)world
-{
- String group(groupName);
- if (group.isEmpty())
- return;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- if (!pageGroup)
- return;
-
- pageGroup->removeUserStyleSheetsFromWorld(core(world));
-}
-
-+ (void)_removeAllUserContentFromGroup:(NSString *)groupName
-{
- String group(groupName);
- if (group.isEmpty())
- return;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- if (!pageGroup)
- return;
-
- pageGroup->removeAllUserContent();
-}
-
-- (BOOL)cssAnimationsSuspended
-{
- // should ask the page!
- Frame* frame = core([self mainFrame]);
- if (frame)
- return frame->animation()->isSuspended();
-
- return false;
-}
-
-- (void)setCSSAnimationsSuspended:(BOOL)suspended
-{
- Frame* frame = core([self mainFrame]);
- if (suspended == frame->animation()->isSuspended())
- return;
-
- if (suspended)
- frame->animation()->suspendAnimations();
- else
- frame->animation()->resumeAnimations();
-}
-
-+ (void)_setDomainRelaxationForbidden:(BOOL)forbidden forURLScheme:(NSString *)scheme
-{
- SchemeRegistry::setDomainRelaxationForbiddenForURLScheme(forbidden, scheme);
-}
-
-+ (void)_registerURLSchemeAsSecure:(NSString *)scheme
-{
- SchemeRegistry::registerURLSchemeAsSecure(scheme);
-}
-
-+ (void)_registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing:(NSString *)scheme
-{
- SchemeRegistry::registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing(scheme);
-}
-
-+ (void)_registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing:(NSString *)scheme
-{
- SchemeRegistry::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing(scheme);
-}
-
-- (void)_scaleWebView:(float)scale atOrigin:(NSPoint)origin
-{
- _private->page->setPageScaleFactor(scale, IntPoint(origin));
-}
-
-- (float)_viewScaleFactor
-{
- return _private->page->pageScaleFactor();
-}
-
-- (void)_setUseFixedLayout:(BOOL)fixed
-{
- Frame* coreFrame = [self _mainCoreFrame];
- if (!coreFrame)
- return;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return;
-
- view->setUseFixedLayout(fixed);
- if (!fixed)
- view->setFixedLayoutSize(IntSize());
-}
-
-- (void)_setFixedLayoutSize:(NSSize)size
-{
- Frame* coreFrame = [self _mainCoreFrame];
- if (!coreFrame)
- return;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return;
-
- view->setFixedLayoutSize(IntSize(size));
- view->forceLayout();
-}
-
-- (BOOL)_useFixedLayout
-{
- Frame* coreFrame = [self _mainCoreFrame];
- if (!coreFrame)
- return NO;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return NO;
-
- return view->useFixedLayout();
-}
-
-- (NSSize)_fixedLayoutSize
-{
- Frame* coreFrame = [self _mainCoreFrame];
- if (!coreFrame)
- return IntSize();
-
- FrameView* view = coreFrame->view();
- if (!view)
- return IntSize();
-
- return view->fixedLayoutSize();
-}
-
-- (void)_setPaginationMode:(WebPaginationMode)paginationMode
-{
- Page* page = core(self);
- if (!page)
- return;
-
- Pagination pagination = page->pagination();
- switch (paginationMode) {
- case WebPaginationModeUnpaginated:
- pagination.mode = Pagination::Unpaginated;
- break;
- case WebPaginationModeLeftToRight:
- pagination.mode = Pagination::LeftToRightPaginated;
- break;
- case WebPaginationModeRightToLeft:
- pagination.mode = Pagination::RightToLeftPaginated;
- break;
- case WebPaginationModeTopToBottom:
- pagination.mode = Pagination::TopToBottomPaginated;
- break;
- case WebPaginationModeBottomToTop:
- pagination.mode = Pagination::BottomToTopPaginated;
- break;
- default:
- return;
- }
-
- page->setPagination(pagination);
-}
-
-- (WebPaginationMode)_paginationMode
-{
- Page* page = core(self);
- if (!page)
- return WebPaginationModeUnpaginated;
-
- switch (page->pagination().mode) {
- case Pagination::Unpaginated:
- return WebPaginationModeUnpaginated;
- case Pagination::LeftToRightPaginated:
- return WebPaginationModeLeftToRight;
- case Pagination::RightToLeftPaginated:
- return WebPaginationModeRightToLeft;
- case Pagination::TopToBottomPaginated:
- return WebPaginationModeTopToBottom;
- case Pagination::BottomToTopPaginated:
- return WebPaginationModeBottomToTop;
- }
-
- ASSERT_NOT_REACHED();
- return WebPaginationModeUnpaginated;
-}
-
-- (void)_listenForLayoutMilestones:(WebLayoutMilestones)layoutMilestones
-{
- Page* page = core(self);
- if (!page)
- return;
-
- page->addLayoutMilestones(coreLayoutMilestones(layoutMilestones));
-}
-
-- (WebLayoutMilestones)_layoutMilestones
-{
- Page* page = core(self);
- if (!page)
- return 0;
-
- return kitLayoutMilestones(page->requestedLayoutMilestones());
-}
-
-- (WebPageVisibilityState)_visibilityState
-{
-#if ENABLE(PAGE_VISIBILITY_API) || ENABLE(HIDDEN_PAGE_DOM_TIMER_THROTTLING)
- if (_private->page)
- return kit(_private->page->visibilityState());
-#endif
- return WebPageVisibilityStateVisible;
-}
-
-- (void)_setVisibilityState:(WebPageVisibilityState)visibilityState isInitialState:(BOOL)isInitialState
-{
-#if ENABLE(PAGE_VISIBILITY_API) || ENABLE(HIDDEN_PAGE_DOM_TIMER_THROTTLING)
- if (_private->page)
- _private->page->setVisibilityState(core(visibilityState), isInitialState);
-#endif
-}
-
-- (void)_setPaginationBehavesLikeColumns:(BOOL)behavesLikeColumns
-{
- Page* page = core(self);
- if (!page)
- return;
-
- Pagination pagination = page->pagination();
- pagination.behavesLikeColumns = behavesLikeColumns;
-
- page->setPagination(pagination);
-}
-
-- (BOOL)_paginationBehavesLikeColumns
-{
- Page* page = core(self);
- if (!page)
- return NO;
-
- return page->pagination().behavesLikeColumns;
-}
-
-- (void)_setPageLength:(CGFloat)pageLength
-{
- Page* page = core(self);
- if (!page)
- return;
-
- Pagination pagination = page->pagination();
- pagination.pageLength = pageLength;
-
- page->setPagination(pagination);
-}
-
-- (CGFloat)_pageLength
-{
- Page* page = core(self);
- if (!page)
- return 1;
-
- return page->pagination().pageLength;
-}
-
-- (void)_setGapBetweenPages:(CGFloat)pageGap
-{
- Page* page = core(self);
- if (!page)
- return;
-
- Pagination pagination = page->pagination();
- pagination.gap = pageGap;
- page->setPagination(pagination);
-}
-
-- (CGFloat)_gapBetweenPages
-{
- Page* page = core(self);
- if (!page)
- return 0;
-
- return page->pagination().gap;
-}
-
-- (NSUInteger)_pageCount
-{
- Page* page = core(self);
- if (!page)
- return 0;
-
- return page->pageCount();
-}
-
-- (CGFloat)_backingScaleFactor
-{
- return [self _deviceScaleFactor];
-}
-
-- (void)_setCustomBackingScaleFactor:(CGFloat)customScaleFactor
-{
- float oldScaleFactor = [self _deviceScaleFactor];
-
- _private->customDeviceScaleFactor = customScaleFactor;
-
- if (oldScaleFactor != [self _deviceScaleFactor])
- _private->page->setDeviceScaleFactor([self _deviceScaleFactor]);
-}
-
-- (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
-{
- WebPlatformStrategies::initializeIfNecessary();
- resourceLoadScheduler()->setSerialLoadingEnabled(serialize);
-}
-
-+ (BOOL)_HTTPPipeliningEnabled
-{
- return ResourceRequest::httpPipeliningEnabled();
-}
-
-+ (void)_setHTTPPipeliningEnabled:(BOOL)enabled
-{
- ResourceRequest::setHTTPPipeliningEnabled(enabled);
-}
-
-- (void)_setSourceApplicationAuditData:(NSData *)sourceApplicationAuditData
-{
- if (_private->sourceApplicationAuditData == sourceApplicationAuditData)
- return;
-
- _private->sourceApplicationAuditData = adoptNS([sourceApplicationAuditData copy]);
-}
-
-- (NSData *)_sourceApplicationAuditData
-{
- return _private->sourceApplicationAuditData.get();
-}
-
-@end
-
-@implementation _WebSafeForwarder
-
-// Used to send messages to delegates that implement informal protocols.
-
-- (id)initWithTarget:(id)t defaultTarget:(id)dt
-{
- self = [super init];
- if (!self)
- return nil;
- target = t; // Non retained.
- defaultTarget = dt;
- return self;
-}
-
-- (void)forwardInvocation:(NSInvocation *)invocation
-{
- if ([target respondsToSelector:[invocation selector]]) {
- @try {
- [invocation invokeWithTarget:target];
- } @catch(id exception) {
- ReportDiscardedDelegateException([invocation selector], exception);
- }
- return;
- }
-
- if ([defaultTarget respondsToSelector:[invocation selector]])
- [invocation invokeWithTarget:defaultTarget];
-
- // Do nothing quietly if method not implemented.
-}
-
-- (NSMethodSignature *)methodSignatureForSelector:(SEL)aSelector
-{
- return [defaultTarget methodSignatureForSelector:aSelector];
-}
-
-@end
-
-@implementation WebView
-
-+ (void)initialize
-{
- static BOOL initialized = NO;
- if (initialized)
- return;
- initialized = YES;
-
- InitWebCoreSystemInterface();
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
-
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_applicationWillTerminate) name:NSApplicationWillTerminateNotification object:NSApp];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_cacheModelChangedNotification:) name:WebPreferencesCacheModelChangedInternalNotification object:nil];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_preferencesRemovedNotification:) name:WebPreferencesRemovedNotification object:nil];
-
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
- [defaults registerDefaults:[NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:WebKitKerningAndLigaturesEnabledByDefaultDefaultsKey]];
-#endif
-
- continuousSpellCheckingEnabled = [defaults boolForKey:WebContinuousSpellCheckingEnabled];
- grammarCheckingEnabled = [defaults boolForKey:WebGrammarCheckingEnabled];
-
- Font::setDefaultTypesettingFeatures([defaults boolForKey:WebKitKerningAndLigaturesEnabledByDefaultDefaultsKey] ? Kerning | Ligatures : 0);
-
- automaticQuoteSubstitutionEnabled = [self _shouldAutomaticQuoteSubstitutionBeEnabled];
- automaticLinkDetectionEnabled = [defaults boolForKey:WebAutomaticLinkDetectionEnabled];
- automaticDashSubstitutionEnabled = [self _shouldAutomaticDashSubstitutionBeEnabled];
- automaticTextReplacementEnabled = [self _shouldAutomaticTextReplacementBeEnabled];
- automaticSpellingCorrectionEnabled = [self _shouldAutomaticSpellingCorrectionBeEnabled];
-
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeAutomaticTextReplacementEnabled:)
- name:NSSpellCheckerDidChangeAutomaticTextReplacementNotification object:nil];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeAutomaticSpellingCorrectionEnabled:)
- name:NSSpellCheckerDidChangeAutomaticSpellingCorrectionNotification object:nil];
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeAutomaticQuoteSubstitutionEnabled:)
- name:NSSpellCheckerDidChangeAutomaticQuoteSubstitutionNotification object:nil];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_didChangeAutomaticDashSubstitutionEnabled:)
- name:NSSpellCheckerDidChangeAutomaticDashSubstitutionNotification object:nil];
-#endif
-}
-
-+ (BOOL)_shouldAutomaticTextReplacementBeEnabled
-{
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- if (![defaults objectForKey:WebAutomaticTextReplacementEnabled])
- return [NSSpellChecker isAutomaticTextReplacementEnabled];
- return [defaults boolForKey:WebAutomaticTextReplacementEnabled];
-}
-
-+ (void)_didChangeAutomaticTextReplacementEnabled:(NSNotification *)notification
-{
- automaticTextReplacementEnabled = [self _shouldAutomaticTextReplacementBeEnabled];
- [[NSSpellChecker sharedSpellChecker] updatePanels];
-}
-
-+ (BOOL)_shouldAutomaticSpellingCorrectionBeEnabled
-{
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- if (![defaults objectForKey:WebAutomaticSpellingCorrectionEnabled])
- return [NSSpellChecker isAutomaticTextReplacementEnabled];
- return [defaults boolForKey:WebAutomaticSpellingCorrectionEnabled];
-}
-
-+ (void)_didChangeAutomaticSpellingCorrectionEnabled:(NSNotification *)notification
-{
- automaticSpellingCorrectionEnabled = [self _shouldAutomaticSpellingCorrectionBeEnabled];
- [[NSSpellChecker sharedSpellChecker] updatePanels];
-}
-
-+ (BOOL)_shouldAutomaticQuoteSubstitutionBeEnabled
-{
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
- if (![defaults objectForKey:WebAutomaticQuoteSubstitutionEnabled])
- return [NSSpellChecker isAutomaticQuoteSubstitutionEnabled];
-#endif
- return [defaults boolForKey:WebAutomaticQuoteSubstitutionEnabled];
-}
-
-+ (BOOL)_shouldAutomaticDashSubstitutionBeEnabled
-{
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
- if (![defaults objectForKey:WebAutomaticDashSubstitutionEnabled])
- return [NSSpellChecker isAutomaticDashSubstitutionEnabled];
-#endif
- return [defaults boolForKey:WebAutomaticDashSubstitutionEnabled];
-}
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
-+ (void)_didChangeAutomaticQuoteSubstitutionEnabled:(NSNotification *)notification
-{
- automaticQuoteSubstitutionEnabled = [self _shouldAutomaticQuoteSubstitutionBeEnabled];
- [[NSSpellChecker sharedSpellChecker] updatePanels];
-}
-
-+ (void)_didChangeAutomaticDashSubstitutionEnabled:(NSNotification *)notification
-{
- automaticDashSubstitutionEnabled = [self _shouldAutomaticDashSubstitutionBeEnabled];
- [[NSSpellChecker sharedSpellChecker] updatePanels];
-}
-#endif
-
-+ (void)_applicationWillTerminate
-{
- applicationIsTerminating = YES;
-
- if (fastDocumentTeardownEnabled())
- [self closeAllWebViews];
-
- if (!pluginDatabaseClientCount)
- [WebPluginDatabase closeSharedDatabase];
-
- PageGroup::closeLocalStorage();
-}
-
-+ (BOOL)_canShowMIMEType:(NSString *)MIMEType allowingPlugins:(BOOL)allowPlugins
-{
- return [self _viewClass:nil andRepresentationClass:nil forMIMEType:MIMEType allowingPlugins:allowPlugins];
-}
-
-+ (BOOL)canShowMIMEType:(NSString *)MIMEType
-{
- return [self _canShowMIMEType:MIMEType allowingPlugins:YES];
-}
-
-- (BOOL)_canShowMIMEType:(NSString *)MIMEType
-{
- return [[self class] _canShowMIMEType:MIMEType allowingPlugins:[_private->preferences arePlugInsEnabled]];
-}
-
-- (WebBasePluginPackage *)_pluginForMIMEType:(NSString *)MIMEType
-{
- if (![_private->preferences arePlugInsEnabled])
- return nil;
-
- WebBasePluginPackage *pluginPackage = [[WebPluginDatabase sharedDatabase] pluginForMIMEType:MIMEType];
- if (pluginPackage)
- return pluginPackage;
-
- if (_private->pluginDatabase)
- return [_private->pluginDatabase pluginForMIMEType:MIMEType];
-
- return nil;
-}
-
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
-- (WebBasePluginPackage *)_videoProxyPluginForMIMEType:(NSString *)MIMEType
-{
- WebBasePluginPackage *pluginPackage = [[WebPluginDatabase sharedDatabase] pluginForMIMEType:MIMEType];
- if (pluginPackage)
- return pluginPackage;
-
- if (_private->pluginDatabase)
- return [_private->pluginDatabase pluginForMIMEType:MIMEType];
-
- return nil;
-}
-#endif
-
-- (WebBasePluginPackage *)_pluginForExtension:(NSString *)extension
-{
- if (![_private->preferences arePlugInsEnabled])
- return nil;
-
- WebBasePluginPackage *pluginPackage = [[WebPluginDatabase sharedDatabase] pluginForExtension:extension];
- if (pluginPackage)
- return pluginPackage;
-
- if (_private->pluginDatabase)
- return [_private->pluginDatabase pluginForExtension:extension];
-
- return nil;
-}
-
-- (void)addPluginInstanceView:(NSView *)view
-{
- if (!_private->pluginDatabase)
- _private->pluginDatabase = [[WebPluginDatabase alloc] init];
- [_private->pluginDatabase addPluginInstanceView:view];
-}
-
-- (void)removePluginInstanceView:(NSView *)view
-{
- if (_private->pluginDatabase)
- [_private->pluginDatabase removePluginInstanceView:view];
-}
-
-- (void)removePluginInstanceViewsFor:(WebFrame*)webFrame
-{
- if (_private->pluginDatabase)
- [_private->pluginDatabase removePluginInstanceViewsFor:webFrame];
-}
-
-- (BOOL)_isMIMETypeRegisteredAsPlugin:(NSString *)MIMEType
-{
- if (![_private->preferences arePlugInsEnabled])
- return NO;
-
- if ([[WebPluginDatabase sharedDatabase] isMIMETypeRegistered:MIMEType])
- return YES;
-
- if (_private->pluginDatabase && [_private->pluginDatabase isMIMETypeRegistered:MIMEType])
- return YES;
-
- return NO;
-}
-
-+ (BOOL)canShowMIMETypeAsHTML:(NSString *)MIMEType
-{
- return [WebFrameView _canShowMIMETypeAsHTML:MIMEType];
-}
-
-+ (NSArray *)MIMETypesShownAsHTML
-{
- NSMutableDictionary *viewTypes = [WebFrameView _viewTypesAllowImageTypeOmission:YES];
- NSEnumerator *enumerator = [viewTypes keyEnumerator];
- id key;
- NSMutableArray *array = [[[NSMutableArray alloc] init] autorelease];
-
- while ((key = [enumerator nextObject])) {
- if ([viewTypes objectForKey:key] == [WebHTMLView class])
- [array addObject:key];
- }
-
- return array;
-}
-
-+ (void)setMIMETypesShownAsHTML:(NSArray *)MIMETypes
-{
- NSDictionary *viewTypes = [[WebFrameView _viewTypesAllowImageTypeOmission:YES] copy];
- NSEnumerator *enumerator = [viewTypes keyEnumerator];
- id key;
- while ((key = [enumerator nextObject])) {
- if ([viewTypes objectForKey:key] == [WebHTMLView class])
- [WebView _unregisterViewClassAndRepresentationClassForMIMEType:key];
- }
-
- int i, count = [MIMETypes count];
- for (i = 0; i < count; i++) {
- [WebView registerViewClass:[WebHTMLView class]
- representationClass:[WebHTMLRepresentation class]
- forMIMEType:[MIMETypes objectAtIndex:i]];
- }
- [viewTypes release];
-}
-
-+ (NSURL *)URLFromPasteboard:(NSPasteboard *)pasteboard
-{
- return [pasteboard _web_bestURL];
-}
-
-+ (NSString *)URLTitleFromPasteboard:(NSPasteboard *)pasteboard
-{
- return [pasteboard stringForType:WebURLNamePboardType];
-}
-
-+ (void)registerURLSchemeAsLocal:(NSString *)protocol
-{
- SchemeRegistry::registerURLSchemeAsLocal(protocol);
-}
-
-- (id)_initWithArguments:(NSDictionary *) arguments
-{
- NSCoder *decoder = [arguments objectForKey:@"decoder"];
- if (decoder) {
- self = [self initWithCoder:decoder];
- } else {
- ASSERT([arguments objectForKey:@"frame"]);
- NSValue *frameValue = [arguments objectForKey:@"frame"];
- NSRect frame = (frameValue ? [frameValue rectValue] : NSZeroRect);
- NSString *frameName = [arguments objectForKey:@"frameName"];
- NSString *groupName = [arguments objectForKey:@"groupName"];
- self = [self initWithFrame:frame frameName:frameName groupName:groupName];
- }
-
- return self;
-}
-
-static bool clientNeedsWebViewInitThreadWorkaround()
-{
- if (WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITHOUT_WEBVIEW_INIT_THREAD_WORKAROUND))
- return false;
-
- NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
-
- // Installer.
- if ([bundleIdentifier _webkit_isCaseInsensitiveEqualToString:@"com.apple.installer"])
- return true;
-
- // Automator.
- if ([bundleIdentifier _webkit_isCaseInsensitiveEqualToString:@"com.apple.Automator"])
- return true;
-
- // Automator Runner.
- if ([bundleIdentifier _webkit_isCaseInsensitiveEqualToString:@"com.apple.AutomatorRunner"])
- return true;
-
- // Automator workflows.
- if ([bundleIdentifier _webkit_hasCaseInsensitivePrefix:@"com.apple.Automator."])
- return true;
-
- return false;
-}
-
-static bool needsWebViewInitThreadWorkaround()
-{
- static bool isOldClient = clientNeedsWebViewInitThreadWorkaround();
- return isOldClient && !pthread_main_np();
-}
-
-- (id)initWithFrame:(NSRect)f
-{
- return [self initWithFrame:f frameName:nil groupName:nil];
-}
-
-- (id)initWithFrame:(NSRect)f frameName:(NSString *)frameName groupName:(NSString *)groupName
-{
- if (needsWebViewInitThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] initWithFrame:f frameName:frameName groupName:groupName];
-
- WebCoreThreadViolationCheckRoundTwo();
- return [self _initWithFrame:f frameName:frameName groupName:groupName usesDocumentViews:YES];
-}
-
-- (id)initWithCoder:(NSCoder *)decoder
-{
- if (needsWebViewInitThreadWorkaround())
- return [[self _webkit_invokeOnMainThread] initWithCoder:decoder];
-
- WebCoreThreadViolationCheckRoundTwo();
- WebView *result = nil;
-
- @try {
- NSString *frameName;
- NSString *groupName;
- WebPreferences *preferences;
- BOOL useBackForwardList = NO;
- BOOL allowsUndo = YES;
-
- result = [super initWithCoder:decoder];
- result->_private = [[WebViewPrivate alloc] init];
-
- // We don't want any of the archived subviews. The subviews will always
- // be created in _commonInitializationFrameName:groupName:.
- [[result subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
-
- if ([decoder allowsKeyedCoding]) {
- frameName = [decoder decodeObjectForKey:@"FrameName"];
- groupName = [decoder decodeObjectForKey:@"GroupName"];
- preferences = [decoder decodeObjectForKey:@"Preferences"];
- useBackForwardList = [decoder decodeBoolForKey:@"UseBackForwardList"];
- if ([decoder containsValueForKey:@"AllowsUndo"])
- allowsUndo = [decoder decodeBoolForKey:@"AllowsUndo"];
- } else {
- int version;
- [decoder decodeValueOfObjCType:@encode(int) at:&version];
- frameName = [decoder decodeObject];
- groupName = [decoder decodeObject];
- preferences = [decoder decodeObject];
- if (version > 1)
- [decoder decodeValuesOfObjCTypes:"c", &useBackForwardList];
- // The allowsUndo field is no longer written out in encodeWithCoder, but since there are
- // version 3 NIBs that have this field encoded, we still need to read it in.
- if (version == 3)
- [decoder decodeValuesOfObjCTypes:"c", &allowsUndo];
- }
-
- if (![frameName isKindOfClass:[NSString class]])
- frameName = nil;
- if (![groupName isKindOfClass:[NSString class]])
- groupName = nil;
- if (![preferences isKindOfClass:[WebPreferences class]])
- preferences = nil;
-
- LOG(Encoding, "FrameName = %@, GroupName = %@, useBackForwardList = %d\n", frameName, groupName, (int)useBackForwardList);
- [result _commonInitializationWithFrameName:frameName groupName:groupName];
- static_cast<BackForwardListImpl*>([result page]->backForwardList())->setEnabled(useBackForwardList);
- result->_private->allowsUndo = allowsUndo;
- if (preferences)
- [result setPreferences:preferences];
- } @catch (NSException *localException) {
- result = nil;
- [self release];
- }
-
- return result;
-}
-
-- (void)encodeWithCoder:(NSCoder *)encoder
-{
- // Set asside the subviews before we archive. We don't want to archive any subviews.
- // The subviews will always be created in _commonInitializationFrameName:groupName:.
- id originalSubviews = _subviews;
- _subviews = nil;
-
- [super encodeWithCoder:encoder];
-
- // Restore the subviews we set aside.
- _subviews = originalSubviews;
-
- BOOL useBackForwardList = _private->page && static_cast<BackForwardListImpl*>(_private->page->backForwardList())->enabled();
- if ([encoder allowsKeyedCoding]) {
- [encoder encodeObject:[[self mainFrame] name] forKey:@"FrameName"];
- [encoder encodeObject:[self groupName] forKey:@"GroupName"];
- [encoder encodeObject:[self preferences] forKey:@"Preferences"];
- [encoder encodeBool:useBackForwardList forKey:@"UseBackForwardList"];
- [encoder encodeBool:_private->allowsUndo forKey:@"AllowsUndo"];
- } else {
- int version = WebViewVersion;
- [encoder encodeValueOfObjCType:@encode(int) at:&version];
- [encoder encodeObject:[[self mainFrame] name]];
- [encoder encodeObject:[self groupName]];
- [encoder encodeObject:[self preferences]];
- [encoder encodeValuesOfObjCTypes:"c", &useBackForwardList];
- // DO NOT encode any new fields here, doing so will break older WebKit releases.
- }
-
- LOG(Encoding, "FrameName = %@, GroupName = %@, useBackForwardList = %d\n", [[self mainFrame] name], [self groupName], (int)useBackForwardList);
-}
-
-- (void)dealloc
-{
- if (WebCoreObjCScheduleDeallocateOnMainThread([WebView class], self))
- return;
-
- // call close to ensure we tear-down completely
- // this maintains our old behavior for existing applications
- [self close];
-
- if ([[self class] shouldIncludeInWebKitStatistics])
- --WebViewCount;
-
- if ([self _needsFrameLoadDelegateRetainQuirk])
- [_private->frameLoadDelegate release];
-
- [_private release];
- // [super dealloc] can end up dispatching against _private (3466082)
- _private = nil;
-
- [super dealloc];
-}
-
-- (void)finalize
-{
- ASSERT(_private->closed);
-
- --WebViewCount;
-
- [super finalize];
-}
-
-- (void)close
-{
- // _close existed first, and some clients might be calling or overriding it, so call through.
- [self _close];
-}
-
-- (void)setShouldCloseWithWindow:(BOOL)close
-{
- _private->shouldCloseWithWindow = close;
-}
-
-- (BOOL)shouldCloseWithWindow
-{
- return _private->shouldCloseWithWindow;
-}
-
-// FIXME: Use AppKit constants for these when they are available.
-static NSString * const windowDidChangeBackingPropertiesNotification = @"NSWindowDidChangeBackingPropertiesNotification";
-static NSString * const backingPropertyOldScaleFactorKey = @"NSBackingPropertyOldScaleFactorKey";
-
-- (void)addWindowObserversForWindow:(NSWindow *)window
-{
- if (window) {
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowWillOrderOnScreen:)
- name:WKWindowWillOrderOnScreenNotification() object:window];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowWillOrderOffScreen:)
- name:WKWindowWillOrderOffScreenNotification() object:window];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowDidChangeBackingProperties:)
- name:windowDidChangeBackingPropertiesNotification object:window];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowDidChangeScreen:)
- name:NSWindowDidChangeScreenNotification object:window];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowVisibilityChanged:)
- name:NSWindowDidMiniaturizeNotification object:window];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowVisibilityChanged:)
- name:NSWindowDidDeminiaturizeNotification object:window];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowVisibilityChanged:)
- name:@"NSWindowDidOrderOffScreenNotification" object:window];
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowVisibilityChanged:)
- name:@"_NSWindowDidBecomeVisible" object:window];
- }
-}
-
-- (void)removeWindowObservers
-{
- NSWindow *window = [self window];
- if (window) {
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:WKWindowWillOrderOnScreenNotification() object:window];
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:WKWindowWillOrderOffScreenNotification() object:window];
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:windowDidChangeBackingPropertiesNotification object:window];
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:NSWindowDidChangeScreenNotification object:window];
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:NSWindowDidMiniaturizeNotification object:window];
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:NSWindowDidDeminiaturizeNotification object:window];
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:@"NSWindowDidOrderOffScreenNotification" object:window];
- [[NSNotificationCenter defaultCenter] removeObserver:self
- name:@"_NSWindowDidBecomeVisible" object:window];
- }
-}
-
-- (void)viewWillMoveToWindow:(NSWindow *)window
-{
- // Don't do anything if the WebView isn't initialized.
- // This happens when decoding a WebView in a nib.
- // FIXME: What sets up the observer of NSWindowWillCloseNotification in this case?
- if (!_private || _private->closed)
- return;
-
- if ([self window] && [self window] != [self hostWindow])
- [[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowWillCloseNotification object:[self window]];
-
- if (window) {
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowWillClose:) name:NSWindowWillCloseNotification object:window];
-
- // Ensure that we will receive the events that WebHTMLView (at least) needs.
- // The following are expensive enough that we don't want to call them over
- // and over, so do them when we move into a window.
- [window setAcceptsMouseMovedEvents:YES];
- WKSetNSWindowShouldPostEventNotifications(window, YES);
- } else {
- _private->page->setCanStartMedia(false);
- _private->page->willMoveOffscreen();
- _private->page->setIsInWindow(false);
- }
-
- if (window != [self window]) {
- [self removeWindowObservers];
- [self addWindowObserversForWindow:window];
- }
-}
-
-- (void)viewDidMoveToWindow
-{
- // Don't do anything if we aren't initialized. This happens
- // when decoding a WebView. When WebViews are decoded their subviews
- // are created by initWithCoder: and so won't be normally
- // initialized. The stub views are discarded by WebView.
- if (!_private || _private->closed)
- return;
-
- if ([self window]) {
- _private->page->setCanStartMedia(true);
- _private->page->didMoveOnscreen();
- _private->page->setIsInWindow(true);
- }
-
- _private->page->setDeviceScaleFactor([self _deviceScaleFactor]);
-
- [self _updateActiveState];
- [self _updateVisibilityState];
-}
-
-- (void)doWindowDidChangeScreen
-{
- if (_private && _private->page)
- _private->page->chrome().windowScreenDidChange((PlatformDisplayID)[[[[[self window] screen] deviceDescription] objectForKey:@"NSScreenNumber"] intValue]);
-}
-
-- (void)_windowChangedKeyState
-{
- [self _updateActiveState];
-}
-
-- (void)_windowWillOrderOnScreen:(NSNotification *)notification
-{
- if (![self shouldUpdateWhileOffscreen])
- [self setNeedsDisplay:YES];
-
- // Send a change screen to make sure the initial displayID is set
- [self doWindowDidChangeScreen];
-
- if (_private && _private->page) {
- _private->page->resumeScriptedAnimations();
- _private->page->focusController()->setContainingWindowIsVisible(true);
- }
-}
-
-- (void)_windowDidChangeScreen:(NSNotification *)notification
-{
- [self doWindowDidChangeScreen];
-}
-
-- (void)_windowWillOrderOffScreen:(NSNotification *)notification
-{
- if (_private && _private->page) {
- _private->page->suspendScriptedAnimations();
- _private->page->focusController()->setContainingWindowIsVisible(false);
- }
-}
-
-- (void)_windowVisibilityChanged:(NSNotification *)notification
-{
- [self _updateVisibilityState];
-}
-
-- (void)_windowWillClose:(NSNotification *)notification
-{
- if ([self shouldCloseWithWindow] && ([self window] == [self hostWindow] || ([self window] && ![self hostWindow]) || (![self window] && [self hostWindow])))
- [self close];
-}
-
-- (void)_windowDidChangeBackingProperties:(NSNotification *)notification
-{
- CGFloat oldBackingScaleFactor = [[notification.userInfo objectForKey:backingPropertyOldScaleFactorKey] doubleValue];
- CGFloat newBackingScaleFactor = [self _deviceScaleFactor];
- if (oldBackingScaleFactor == newBackingScaleFactor)
- return;
-
- _private->page->setDeviceScaleFactor(newBackingScaleFactor);
-}
-
-- (void)setPreferences:(WebPreferences *)prefs
-{
- if (!prefs)
- prefs = [WebPreferences standardPreferences];
-
- if (_private->preferences == prefs)
- return;
-
- [prefs willAddToWebView];
-
- WebPreferences *oldPrefs = _private->preferences;
-
- [[NSNotificationCenter defaultCenter] removeObserver:self name:WebPreferencesChangedInternalNotification object:[self preferences]];
- [WebPreferences _removeReferenceForIdentifier:[oldPrefs identifier]];
-
- _private->preferences = [prefs retain];
-
- // After registering for the notification, post it so the WebCore settings update.
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_preferencesChangedNotification:)
- name:WebPreferencesChangedInternalNotification object:[self preferences]];
- [self _preferencesChanged:[self preferences]];
- [[self preferences] _postPreferencesChangedAPINotification];
-
- [oldPrefs didRemoveFromWebView];
- [oldPrefs release];
-}
-
-- (WebPreferences *)preferences
-{
- return _private->preferences;
-}
-
-- (void)setPreferencesIdentifier:(NSString *)anIdentifier
-{
- if (!_private->closed && ![anIdentifier isEqual:[[self preferences] identifier]]) {
- WebPreferences *prefs = [[WebPreferences alloc] initWithIdentifier:anIdentifier];
- [self setPreferences:prefs];
- [prefs release];
- }
-}
-
-- (NSString *)preferencesIdentifier
-{
- return [[self preferences] identifier];
-}
-
-
-- (void)setUIDelegate:delegate
-{
- _private->UIDelegate = delegate;
- [_private->UIDelegateForwarder release];
- _private->UIDelegateForwarder = nil;
-}
-
-- (id)UIDelegate
-{
- return _private->UIDelegate;
-}
-
-- (void)setResourceLoadDelegate: delegate
-{
- _private->resourceProgressDelegate = delegate;
- [self _cacheResourceLoadDelegateImplementations];
-}
-
-- (id)resourceLoadDelegate
-{
- return _private->resourceProgressDelegate;
-}
-
-- (void)setDownloadDelegate: delegate
-{
- _private->downloadDelegate = delegate;
-}
-
-
-- (id)downloadDelegate
-{
- return _private->downloadDelegate;
-}
-
-- (void)setPolicyDelegate:delegate
-{
- _private->policyDelegate = delegate;
- [_private->policyDelegateForwarder release];
- _private->policyDelegateForwarder = nil;
-}
-
-- (id)policyDelegate
-{
- return _private->policyDelegate;
-}
-
-- (void)setFrameLoadDelegate:delegate
-{
- // <rdar://problem/6950660> - Due to some subtle WebKit changes - presumably to delegate callback behavior - we've
- // unconvered a latent bug in at least one WebKit app where the delegate wasn't properly retained by the app and
- // was dealloc'ed before being cleared.
- // This is an effort to keep such apps working for now.
- if ([self _needsFrameLoadDelegateRetainQuirk]) {
- [delegate retain];
- [_private->frameLoadDelegate release];
- }
-
- _private->frameLoadDelegate = delegate;
- [self _cacheFrameLoadDelegateImplementations];
-
-#if ENABLE(ICONDATABASE)
- // If this delegate wants callbacks for icons, fire up the icon database.
- if (_private->frameLoadDelegateImplementations.didReceiveIconForFrameFunc)
- [WebIconDatabase sharedIconDatabase];
-#endif
-}
-
-- (id)frameLoadDelegate
-{
- return _private->frameLoadDelegate;
-}
-
-- (WebFrame *)mainFrame
-{
- // This can be called in initialization, before _private has been set up (3465613)
- if (!_private || !_private->page)
- return nil;
- return kit(_private->page->mainFrame());
-}
-
-- (WebFrame *)selectedFrame
-{
- // If the first responder is a view in our tree, we get the frame containing the first responder.
- // This is faster than searching the frame hierarchy, and will give us a result even in the case
- // where the focused frame doesn't actually contain a selection.
- WebFrame *focusedFrame = [self _focusedFrame];
- if (focusedFrame)
- return focusedFrame;
-
- // If the first responder is outside of our view tree, we search for a frame containing a selection.
- // There should be at most only one of these.
- return [[self mainFrame] _findFrameWithSelection];
-}
-
-- (WebBackForwardList *)backForwardList
-{
- if (!_private->page)
- return nil;
- BackForwardListImpl* list = static_cast<BackForwardListImpl*>(_private->page->backForwardList());
- if (!list->enabled())
- return nil;
- return kit(list);
-}
-
-- (void)setMaintainsBackForwardList:(BOOL)flag
-{
- if (!_private->page)
- return;
- static_cast<BackForwardListImpl*>(_private->page->backForwardList())->setEnabled(flag);
-}
-
-- (BOOL)goBack
-{
- if (!_private->page)
- return NO;
-
- return _private->page->goBack();
-}
-
-- (BOOL)goForward
-{
- if (!_private->page)
- return NO;
-
- return _private->page->goForward();
-}
-
-- (BOOL)goToBackForwardItem:(WebHistoryItem *)item
-{
- if (!_private->page)
- return NO;
-
- _private->page->goToItem(core(item), FrameLoadTypeIndexedBackForward);
- return YES;
-}
-
-- (void)setTextSizeMultiplier:(float)m
-{
- [self _setZoomMultiplier:m isTextOnly:![[NSUserDefaults standardUserDefaults] boolForKey:WebKitDebugFullPageZoomPreferenceKey]];
-}
-
-- (float)textSizeMultiplier
-{
- return [self _realZoomMultiplierIsTextOnly] ? _private->zoomMultiplier : 1.0f;
-}
-
-- (void)_setZoomMultiplier:(float)multiplier isTextOnly:(BOOL)isTextOnly
-{
- // NOTE: This has no visible effect when viewing a PDF (see <rdar://problem/4737380>)
- _private->zoomMultiplier = multiplier;
- _private->zoomsTextOnly = isTextOnly;
-
- // FIXME: It might be nice to rework this code so that _private->zoomMultiplier doesn't exist
- // and instead the zoom factors stored in Frame are used.
- Frame* coreFrame = [self _mainCoreFrame];
- if (coreFrame) {
- if (_private->zoomsTextOnly)
- coreFrame->setPageAndTextZoomFactors(1, multiplier);
- else
- coreFrame->setPageAndTextZoomFactors(multiplier, 1);
- }
-}
-
-- (float)_zoomMultiplier:(BOOL)isTextOnly
-{
- if (isTextOnly != [self _realZoomMultiplierIsTextOnly])
- return 1.0f;
- return _private->zoomMultiplier;
-}
-
-- (float)_realZoomMultiplier
-{
- return _private->zoomMultiplier;
-}
-
-- (BOOL)_realZoomMultiplierIsTextOnly
-{
- if (!_private->page)
- return NO;
-
- return _private->zoomsTextOnly;
-}
-
-#define MinimumZoomMultiplier 0.5f
-#define MaximumZoomMultiplier 3.0f
-#define ZoomMultiplierRatio 1.2f
-
-- (BOOL)_canZoomOut:(BOOL)isTextOnly
-{
- id docView = [[[self mainFrame] frameView] documentView];
- if ([docView conformsToProtocol:@protocol(_WebDocumentZooming)]) {
- id <_WebDocumentZooming> zoomingDocView = (id <_WebDocumentZooming>)docView;
- return [zoomingDocView _canZoomOut];
- }
- return [self _zoomMultiplier:isTextOnly] / ZoomMultiplierRatio > MinimumZoomMultiplier;
-}
-
-
-- (BOOL)_canZoomIn:(BOOL)isTextOnly
-{
- id docView = [[[self mainFrame] frameView] documentView];
- if ([docView conformsToProtocol:@protocol(_WebDocumentZooming)]) {
- id <_WebDocumentZooming> zoomingDocView = (id <_WebDocumentZooming>)docView;
- return [zoomingDocView _canZoomIn];
- }
- return [self _zoomMultiplier:isTextOnly] * ZoomMultiplierRatio < MaximumZoomMultiplier;
-}
-
-- (IBAction)_zoomOut:(id)sender isTextOnly:(BOOL)isTextOnly
-{
- id docView = [[[self mainFrame] frameView] documentView];
- if ([docView conformsToProtocol:@protocol(_WebDocumentZooming)]) {
- id <_WebDocumentZooming> zoomingDocView = (id <_WebDocumentZooming>)docView;
- return [zoomingDocView _zoomOut:sender];
- }
- float newScale = [self _zoomMultiplier:isTextOnly] / ZoomMultiplierRatio;
- if (newScale > MinimumZoomMultiplier)
- [self _setZoomMultiplier:newScale isTextOnly:isTextOnly];
-}
-
-- (IBAction)_zoomIn:(id)sender isTextOnly:(BOOL)isTextOnly
-{
- id docView = [[[self mainFrame] frameView] documentView];
- if ([docView conformsToProtocol:@protocol(_WebDocumentZooming)]) {
- id <_WebDocumentZooming> zoomingDocView = (id <_WebDocumentZooming>)docView;
- return [zoomingDocView _zoomIn:sender];
- }
- float newScale = [self _zoomMultiplier:isTextOnly] * ZoomMultiplierRatio;
- if (newScale < MaximumZoomMultiplier)
- [self _setZoomMultiplier:newScale isTextOnly:isTextOnly];
-}
-
-- (BOOL)_canResetZoom:(BOOL)isTextOnly
-{
- id docView = [[[self mainFrame] frameView] documentView];
- if ([docView conformsToProtocol:@protocol(_WebDocumentZooming)]) {
- id <_WebDocumentZooming> zoomingDocView = (id <_WebDocumentZooming>)docView;
- return [zoomingDocView _canResetZoom];
- }
- return [self _zoomMultiplier:isTextOnly] != 1.0f;
-}
-
-- (IBAction)_resetZoom:(id)sender isTextOnly:(BOOL)isTextOnly
-{
- id docView = [[[self mainFrame] frameView] documentView];
- if ([docView conformsToProtocol:@protocol(_WebDocumentZooming)]) {
- id <_WebDocumentZooming> zoomingDocView = (id <_WebDocumentZooming>)docView;
- return [zoomingDocView _resetZoom:sender];
- }
- if ([self _zoomMultiplier:isTextOnly] != 1.0f)
- [self _setZoomMultiplier:1.0f isTextOnly:isTextOnly];
-}
-
-- (void)setApplicationNameForUserAgent:(NSString *)applicationName
-{
- NSString *name = [applicationName copy];
- [_private->applicationNameForUserAgent release];
- _private->applicationNameForUserAgent = name;
- if (!_private->userAgentOverridden)
- _private->userAgent = String();
-}
-
-- (NSString *)applicationNameForUserAgent
-{
- return [[_private->applicationNameForUserAgent retain] autorelease];
-}
-
-- (void)setCustomUserAgent:(NSString *)userAgentString
-{
- _private->userAgent = userAgentString;
- _private->userAgentOverridden = userAgentString != nil;
-}
-
-- (NSString *)customUserAgent
-{
- if (!_private->userAgentOverridden)
- return nil;
- return _private->userAgent;
-}
-
-- (void)setMediaStyle:(NSString *)mediaStyle
-{
- if (_private->mediaStyle != mediaStyle) {
- [_private->mediaStyle release];
- _private->mediaStyle = [mediaStyle copy];
- }
-}
-
-- (NSString *)mediaStyle
-{
- return _private->mediaStyle;
-}
-
-- (BOOL)supportsTextEncoding
-{
- id documentView = [[[self mainFrame] frameView] documentView];
- return [documentView conformsToProtocol:@protocol(WebDocumentText)]
- && [documentView supportsTextEncoding];
-}
-
-- (void)setCustomTextEncodingName:(NSString *)encoding
-{
- NSString *oldEncoding = [self customTextEncodingName];
- if (encoding == oldEncoding || [encoding isEqualToString:oldEncoding])
- return;
- if (Frame* mainFrame = [self _mainCoreFrame])
- mainFrame->loader()->reloadWithOverrideEncoding(encoding);
-}
-
-- (NSString *)_mainFrameOverrideEncoding
-{
- WebDataSource *dataSource = [[self mainFrame] provisionalDataSource];
- if (dataSource == nil)
- dataSource = [[self mainFrame] _dataSource];
- if (dataSource == nil)
- return nil;
- return nsStringNilIfEmpty([dataSource _documentLoader]->overrideEncoding());
-}
-
-- (NSString *)customTextEncodingName
-{
- return [self _mainFrameOverrideEncoding];
-}
-
-- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script
-{
- // Return statements are only valid in a function but some applications pass in scripts
- // prefixed with return (<rdar://problems/5103720&4616860>) since older WebKit versions
- // silently ignored the return. If the application is linked against an earlier version
- // of WebKit we will strip the return so the script wont fail.
- if (!WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK)) {
- NSRange returnStringRange = [script rangeOfString:@"return "];
- if (returnStringRange.length && !returnStringRange.location)
- script = [script substringFromIndex:returnStringRange.location + returnStringRange.length];
- }
-
- NSString *result = [[self mainFrame] _stringByEvaluatingJavaScriptFromString:script];
- // The only way stringByEvaluatingJavaScriptFromString can return nil is if the frame was removed by the script
- // Since there's no way to get rid of the main frame, result will never ever be nil here.
- ASSERT(result);
-
- return result;
-}
-
-- (WebScriptObject *)windowScriptObject
-{
- Frame* coreFrame = [self _mainCoreFrame];
- if (!coreFrame)
- return nil;
- return coreFrame->script()->windowScriptObject();
-}
-
-- (String)_userAgentString
-{
- if (_private->userAgent.isNull())
- _private->userAgent = [[self class] _standardUserAgentWithApplicationName:_private->applicationNameForUserAgent];
-
- return _private->userAgent;
-}
-
-// Get the appropriate user-agent string for a particular URL.
-- (NSString *)userAgentForURL:(NSURL *)url
-{
- return [self _userAgentString];
-}
-
-- (void)setHostWindow:(NSWindow *)hostWindow
-{
- if (_private->closed && hostWindow)
- return;
- if (hostWindow == _private->hostWindow)
- return;
-
- Frame* coreFrame = [self _mainCoreFrame];
- for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame))
- [[[kit(frame) frameView] documentView] viewWillMoveToHostWindow:hostWindow];
- if (_private->hostWindow && [self window] != _private->hostWindow)
- [[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowWillCloseNotification object:_private->hostWindow];
- if (hostWindow)
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_windowWillClose:) name:NSWindowWillCloseNotification object:hostWindow];
- [_private->hostWindow release];
- _private->hostWindow = [hostWindow retain];
- for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame))
- [[[kit(frame) frameView] documentView] viewDidMoveToHostWindow];
- _private->page->setDeviceScaleFactor([self _deviceScaleFactor]);
-}
-
-- (NSWindow *)hostWindow
-{
- // -[WebView hostWindow] can sometimes be called from the WebView's [super dealloc] method
- // so we check here to make sure it's not null.
- if (!_private)
- return nil;
-
- return _private->hostWindow;
-}
-
-- (NSView <WebDocumentView> *)documentViewAtWindowPoint:(NSPoint)point
-{
- return [[self _frameViewAtWindowPoint:point] documentView];
-}
-
-- (NSDictionary *)_elementAtWindowPoint:(NSPoint)windowPoint
-{
- WebFrameView *frameView = [self _frameViewAtWindowPoint:windowPoint];
- if (!frameView)
- return nil;
- NSView <WebDocumentView> *documentView = [frameView documentView];
- if ([documentView conformsToProtocol:@protocol(WebDocumentElement)]) {
- NSPoint point = [documentView convertPoint:windowPoint fromView:nil];
- return [(NSView <WebDocumentElement> *)documentView elementAtPoint:point];
- }
- return [NSDictionary dictionaryWithObject:[frameView webFrame] forKey:WebElementFrameKey];
-}
-
-- (NSDictionary *)elementAtPoint:(NSPoint)point
-{
- return [self _elementAtWindowPoint:[self convertPoint:point toView:nil]];
-}
-
-#if ENABLE(DRAG_SUPPORT)
-// The following 2 internal NSView methods are called on the drag destination to make scrolling while dragging work.
-// Scrolling while dragging will only work if the drag destination is in a scroll view. The WebView is the drag destination.
-// When dragging to a WebView, the document subview should scroll, but it doesn't because it is not the drag destination.
-// Forward these calls to the document subview to make its scroll view scroll.
-- (void)_autoscrollForDraggingInfo:(id)draggingInfo timeDelta:(NSTimeInterval)repeatDelta
-{
- NSView <WebDocumentView> *documentView = [self documentViewAtWindowPoint:[draggingInfo draggingLocation]];
- [documentView _autoscrollForDraggingInfo:draggingInfo timeDelta:repeatDelta];
-}
-
-- (BOOL)_shouldAutoscrollForDraggingInfo:(id)draggingInfo
-{
- NSView <WebDocumentView> *documentView = [self documentViewAtWindowPoint:[draggingInfo draggingLocation]];
- return [documentView _shouldAutoscrollForDraggingInfo:draggingInfo];
-}
-
-- (DragApplicationFlags)applicationFlags:(id <NSDraggingInfo>)draggingInfo
-{
- uint32_t flags = 0;
- if ([NSApp modalWindow])
- flags = DragApplicationIsModal;
- if ([[self window] attachedSheet])
- flags |= DragApplicationHasAttachedSheet;
- if ([draggingInfo draggingSource] == self)
- flags |= DragApplicationIsSource;
- if ([[NSApp currentEvent] modifierFlags] & NSAlternateKeyMask)
- flags |= DragApplicationIsCopyKeyDown;
- return static_cast<DragApplicationFlags>(flags);
-}
-
-- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)draggingInfo
-{
- IntPoint client([draggingInfo draggingLocation]);
- IntPoint global(globalPoint([draggingInfo draggingLocation], [self window]));
- DragData dragData(draggingInfo, client, global, static_cast<DragOperation>([draggingInfo draggingSourceOperationMask]), [self applicationFlags:draggingInfo]);
- return core(self)->dragController()->dragEntered(&dragData).operation;
-}
-
-- (NSDragOperation)draggingUpdated:(id <NSDraggingInfo>)draggingInfo
-{
- Page* page = core(self);
- if (!page)
- return NSDragOperationNone;
-
- IntPoint client([draggingInfo draggingLocation]);
- IntPoint global(globalPoint([draggingInfo draggingLocation], [self window]));
- DragData dragData(draggingInfo, client, global, static_cast<DragOperation>([draggingInfo draggingSourceOperationMask]), [self applicationFlags:draggingInfo]);
- return page->dragController()->dragUpdated(&dragData).operation;
-}
-
-- (void)draggingExited:(id <NSDraggingInfo>)draggingInfo
-{
- Page* page = core(self);
- if (!page)
- return;
-
- IntPoint client([draggingInfo draggingLocation]);
- IntPoint global(globalPoint([draggingInfo draggingLocation], [self window]));
- DragData dragData(draggingInfo, client, global, static_cast<DragOperation>([draggingInfo draggingSourceOperationMask]), [self applicationFlags:draggingInfo]);
- page->dragController()->dragExited(&dragData);
-}
-
-- (BOOL)prepareForDragOperation:(id <NSDraggingInfo>)draggingInfo
-{
- return YES;
-}
-
-- (BOOL)performDragOperation:(id <NSDraggingInfo>)draggingInfo
-{
- IntPoint client([draggingInfo draggingLocation]);
- IntPoint global(globalPoint([draggingInfo draggingLocation], [self window]));
- DragData dragData(draggingInfo, client, global, static_cast<DragOperation>([draggingInfo draggingSourceOperationMask]), [self applicationFlags:draggingInfo]);
- return core(self)->dragController()->performDrag(&dragData);
-}
-
-- (NSView *)_hitTest:(NSPoint *)point dragTypes:(NSSet *)types
-{
- NSView *hitView = [super _hitTest:point dragTypes:types];
- if (!hitView && [[self superview] mouse:*point inRect:[self frame]])
- return self;
- return hitView;
-}
-#endif
-
-- (BOOL)acceptsFirstResponder
-{
- return [[[self mainFrame] frameView] acceptsFirstResponder];
-}
-
-- (BOOL)becomeFirstResponder
-{
- if (_private->becomingFirstResponder) {
- // Fix for unrepro infinite recursion reported in Radar 4448181. If we hit this assert on
- // a debug build, we should figure out what causes the problem and do a better fix.
- ASSERT_NOT_REACHED();
- return NO;
- }
-
- // This works together with setNextKeyView to splice the WebView into
- // the key loop similar to the way NSScrollView does this. Note that
- // WebFrameView has very similar code.
- NSWindow *window = [self window];
- WebFrameView *mainFrameView = [[self mainFrame] frameView];
-
- NSResponder *previousFirstResponder = [[self window] _oldFirstResponderBeforeBecoming];
- BOOL fromOutside = ![previousFirstResponder isKindOfClass:[NSView class]] || (![(NSView *)previousFirstResponder isDescendantOf:self] && previousFirstResponder != self);
-
- if ([window keyViewSelectionDirection] == NSSelectingPrevious) {
- NSView *previousValidKeyView = [self previousValidKeyView];
- if (previousValidKeyView != self && previousValidKeyView != mainFrameView) {
- _private->becomingFirstResponder = YES;
- _private->becomingFirstResponderFromOutside = fromOutside;
- [window makeFirstResponder:previousValidKeyView];
- _private->becomingFirstResponderFromOutside = NO;
- _private->becomingFirstResponder = NO;
- return YES;
- }
- return NO;
- }
-
- if ([mainFrameView acceptsFirstResponder]) {
- _private->becomingFirstResponder = YES;
- _private->becomingFirstResponderFromOutside = fromOutside;
- [window makeFirstResponder:mainFrameView];
- _private->becomingFirstResponderFromOutside = NO;
- _private->becomingFirstResponder = NO;
- return YES;
- }
-
- return NO;
-}
-
-- (NSView *)_webcore_effectiveFirstResponder
-{
- if (WebFrameView *frameView = [[self mainFrame] frameView])
- return [frameView _webcore_effectiveFirstResponder];
-
- return [super _webcore_effectiveFirstResponder];
-}
-
-- (void)setNextKeyView:(NSView *)view
-{
- // This works together with becomeFirstResponder to splice the WebView into
- // the key loop similar to the way NSScrollView does this. Note that
- // WebFrameView has similar code.
- if (WebFrameView *mainFrameView = [[self mainFrame] frameView]) {
- [mainFrameView setNextKeyView:view];
- return;
- }
-
- [super setNextKeyView:view];
-}
-
-static WebFrame *incrementFrame(WebFrame *frame, WebFindOptions options = 0)
-{
- Frame* coreFrame = core(frame);
- 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
-{
- return [self searchFor:string direction:forward caseSensitive:caseFlag wrap:wrapFlag startInSelection:NO];
-}
-
-+ (void)registerViewClass:(Class)viewClass representationClass:(Class)representationClass forMIMEType:(NSString *)MIMEType
-{
- [[WebFrameView _viewTypesAllowImageTypeOmission:YES] setObject:viewClass forKey:MIMEType];
- [[WebDataSource _repTypesAllowImageTypeOmission:YES] setObject:representationClass forKey:MIMEType];
-
- // FIXME: We also need to maintain MIMEType registrations (which can be dynamically changed)
- // in the WebCore MIMEType registry. For now we're doing this in a safe, limited manner
- // to fix <rdar://problem/5372989> - a future revamping of the entire system is neccesary for future robustness
- if ([viewClass class] == [WebHTMLView class])
- MIMETypeRegistry::getSupportedNonImageMIMETypes().add(MIMEType);
-}
-
-- (void)setGroupName:(NSString *)groupName
-{
- if (!_private->page)
- return;
- _private->page->setGroupName(groupName);
-}
-
-- (NSString *)groupName
-{
- if (!_private->page)
- return nil;
- return _private->page->groupName();
-}
-
-- (double)estimatedProgress
-{
- if (!_private->page)
- return 0.0;
- return _private->page->progress()->estimatedProgress();
-}
-
-- (NSArray *)pasteboardTypesForSelection
-{
- NSView <WebDocumentView> *documentView = [[[self _selectedOrMainFrame] frameView] documentView];
- if ([documentView conformsToProtocol:@protocol(WebDocumentSelection)]) {
- return [(NSView <WebDocumentSelection> *)documentView pasteboardTypesForSelection];
- }
- return [NSArray array];
-}
-
-- (void)writeSelectionWithPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard
-{
- WebFrame *frame = [self _selectedOrMainFrame];
- if (frame && [frame _hasSelection]) {
- NSView <WebDocumentView> *documentView = [[frame frameView] documentView];
- if ([documentView conformsToProtocol:@protocol(WebDocumentSelection)])
- [(NSView <WebDocumentSelection> *)documentView writeSelectionWithPasteboardTypes:types toPasteboard:pasteboard];
- }
-}
-
-- (NSArray *)pasteboardTypesForElement:(NSDictionary *)element
-{
- if ([element objectForKey:WebElementImageURLKey] != nil) {
- return [NSPasteboard _web_writableTypesForImageIncludingArchive:([element objectForKey:WebElementDOMNodeKey] != nil)];
- } else if ([element objectForKey:WebElementLinkURLKey] != nil) {
- return [NSPasteboard _web_writableTypesForURL];
- } else if ([[element objectForKey:WebElementIsSelectedKey] boolValue]) {
- return [self pasteboardTypesForSelection];
- }
- return [NSArray array];
-}
-
-- (void)writeElement:(NSDictionary *)element withPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard
-{
- if ([element objectForKey:WebElementImageURLKey] != nil) {
- [self _writeImageForElement:element withPasteboardTypes:types toPasteboard:pasteboard];
- } else if ([element objectForKey:WebElementLinkURLKey] != nil) {
- [self _writeLinkElement:element withPasteboardTypes:types toPasteboard:pasteboard];
- } else if ([[element objectForKey:WebElementIsSelectedKey] boolValue]) {
- [self writeSelectionWithPasteboardTypes:types toPasteboard:pasteboard];
- }
-}
-
-- (void)moveDragCaretToPoint:(NSPoint)point
-{
-#if ENABLE(DRAG_SUPPORT)
- if (Page* page = core(self))
- page->dragController()->placeDragCaret(IntPoint([self convertPoint:point toView:nil]));
-#endif
-}
-
-- (void)removeDragCaret
-{
-#if ENABLE(DRAG_SUPPORT)
- if (Page* page = core(self))
- page->dragController()->dragEnded();
-#endif
-}
-
-- (void)setMainFrameURL:(NSString *)URLString
-{
- NSURL *url;
- if ([URLString hasPrefix:@"/"])
- url = [NSURL fileURLWithPath:URLString];
- else
- url = [NSURL _web_URLWithDataAsString:URLString];
-
- [[self mainFrame] loadRequest:[NSURLRequest requestWithURL:url]];
-}
-
-- (NSString *)mainFrameURL
-{
- WebDataSource *ds;
- ds = [[self mainFrame] provisionalDataSource];
- if (!ds)
- ds = [[self mainFrame] _dataSource];
- return [[[ds request] URL] _web_originalDataAsString];
-}
-
-- (BOOL)isLoading
-{
- LOG (Bindings, "isLoading = %d", (int)[self _isLoading]);
- return [self _isLoading];
-}
-
-- (NSString *)mainFrameTitle
-{
- NSString *mainFrameTitle = [[[self mainFrame] _dataSource] pageTitle];
- return (mainFrameTitle != nil) ? mainFrameTitle : (NSString *)@"";
-}
-
-- (NSImage *)mainFrameIcon
-{
- return [[WebIconDatabase sharedIconDatabase] iconForURL:[[[[self mainFrame] _dataSource] _URL] _web_originalDataAsString] withSize:WebIconSmallSize];
-}
-
-- (DOMDocument *)mainFrameDocument
-{
- // only return the actual value if the state we're in gives NSTreeController
- // enough time to release its observers on the old model
- if (_private->mainFrameDocumentReady)
- return [[self mainFrame] DOMDocument];
- return nil;
-}
-
-- (void)setDrawsBackground:(BOOL)drawsBackground
-{
- if (_private->drawsBackground == drawsBackground)
- return;
- _private->drawsBackground = drawsBackground;
- [[self mainFrame] _updateBackgroundAndUpdatesWhileOffscreen];
-}
-
-- (BOOL)drawsBackground
-{
- // This method can be called beneath -[NSView dealloc] after we have cleared _private,
- // indirectly via -[WebFrameView viewDidMoveToWindow].
- return !_private || _private->drawsBackground;
-}
-
-- (void)setShouldUpdateWhileOffscreen:(BOOL)updateWhileOffscreen
-{
- if (_private->shouldUpdateWhileOffscreen == updateWhileOffscreen)
- return;
- _private->shouldUpdateWhileOffscreen = updateWhileOffscreen;
- [[self mainFrame] _updateBackgroundAndUpdatesWhileOffscreen];
-}
-
-- (BOOL)shouldUpdateWhileOffscreen
-{
- return _private->shouldUpdateWhileOffscreen;
-}
-
-- (void)setCurrentNodeHighlight:(WebNodeHighlight *)nodeHighlight
-{
- id old = _private->currentNodeHighlight;
- _private->currentNodeHighlight = [nodeHighlight retain];
- [old release];
-}
-
-- (WebNodeHighlight *)currentNodeHighlight
-{
- return _private->currentNodeHighlight;
-}
-
-- (NSView *)previousValidKeyView
-{
- NSView *result = [super previousValidKeyView];
-
- // Work around AppKit bug 6905484. If the result is a view that's inside this one, it's
- // possible it is the wrong answer, because the fact that it's a descendant causes the
- // code that implements key view redirection to fail; this means we won't redirect to
- // the toolbar, for example, when we hit the edge of a window. Since the bug is specific
- // to cases where the receiver of previousValidKeyView is an ancestor of the last valid
- // key view in the loop, we can sidestep it by walking along previous key views until
- // we find one that is not a superview, then using that to call previousValidKeyView.
-
- if (![result isDescendantOf:self])
- return result;
-
- // Use a visited set so we don't loop indefinitely when walking crazy key loops.
- // AppKit uses such sets internally and we want our loop to be as robust as its loops.
- RetainPtr<CFMutableSetRef> visitedViews = adoptCF(CFSetCreateMutable(0, 0, 0));
- CFSetAddValue(visitedViews.get(), result);
-
- NSView *previousView = self;
- do {
- CFSetAddValue(visitedViews.get(), previousView);
- previousView = [previousView previousKeyView];
- if (!previousView || CFSetGetValue(visitedViews.get(), previousView))
- return result;
- } while ([result isDescendantOf:previousView]);
- return [previousView previousValidKeyView];
-}
-
-@end
-
-@implementation WebView (WebIBActions)
-
-- (IBAction)takeStringURLFrom: sender
-{
- NSString *URLString = [sender stringValue];
-
- [[self mainFrame] loadRequest: [NSURLRequest requestWithURL: [NSURL _web_URLWithDataAsString: URLString]]];
-}
-
-- (BOOL)canGoBack
-{
- if (!_private->page || _private->page->defersLoading())
- return NO;
-
- return !!_private->page->backForwardList()->backItem();
-}
-
-- (BOOL)canGoForward
-{
- if (!_private->page || _private->page->defersLoading())
- return NO;
-
- return !!_private->page->backForwardList()->forwardItem();
-}
-
-- (IBAction)goBack:(id)sender
-{
- [self goBack];
-}
-
-- (IBAction)goForward:(id)sender
-{
- [self goForward];
-}
-
-- (IBAction)stopLoading:(id)sender
-{
- [[self mainFrame] stopLoading];
-}
-
-- (IBAction)reload:(id)sender
-{
- [[self mainFrame] reload];
-}
-
-- (IBAction)reloadFromOrigin:(id)sender
-{
- [[self mainFrame] reloadFromOrigin];
-}
-
-// FIXME: This code should move into WebCore so that it is not duplicated in each WebKit.
-// (This includes canMakeTextSmaller/Larger, makeTextSmaller/Larger, and canMakeTextStandardSize/makeTextStandardSize)
-- (BOOL)canMakeTextSmaller
-{
- return [self _canZoomOut:![[NSUserDefaults standardUserDefaults] boolForKey:WebKitDebugFullPageZoomPreferenceKey]];
-}
-
-- (IBAction)makeTextSmaller:(id)sender
-{
- return [self _zoomOut:sender isTextOnly:![[NSUserDefaults standardUserDefaults] boolForKey:WebKitDebugFullPageZoomPreferenceKey]];
-}
-
-- (BOOL)canMakeTextLarger
-{
- return [self _canZoomIn:![[NSUserDefaults standardUserDefaults] boolForKey:WebKitDebugFullPageZoomPreferenceKey]];
-}
-
-- (IBAction)makeTextLarger:(id)sender
-{
- return [self _zoomIn:sender isTextOnly:![[NSUserDefaults standardUserDefaults] boolForKey:WebKitDebugFullPageZoomPreferenceKey]];
-}
-
-- (BOOL)canMakeTextStandardSize
-{
- return [self _canResetZoom:![[NSUserDefaults standardUserDefaults] boolForKey:WebKitDebugFullPageZoomPreferenceKey]];
-}
-
-- (IBAction)makeTextStandardSize:(id)sender
-{
- return [self _resetZoom:sender isTextOnly:![[NSUserDefaults standardUserDefaults] boolForKey:WebKitDebugFullPageZoomPreferenceKey]];
-}
-
-- (IBAction)toggleSmartInsertDelete:(id)sender
-{
- [self setSmartInsertDeleteEnabled:![self smartInsertDeleteEnabled]];
-}
-
-- (IBAction)toggleContinuousSpellChecking:(id)sender
-{
- [self setContinuousSpellCheckingEnabled:![self isContinuousSpellCheckingEnabled]];
-}
-
-- (BOOL)_responderValidateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item
-{
- id responder = [self _responderForResponderOperations];
- if (responder != self && [responder respondsToSelector:[item action]]) {
- if ([responder respondsToSelector:@selector(validateUserInterfaceItemWithoutDelegate:)])
- return [responder validateUserInterfaceItemWithoutDelegate:item];
- if ([responder respondsToSelector:@selector(validateUserInterfaceItem:)])
- return [responder validateUserInterfaceItem:item];
- return YES;
- }
- return NO;
-}
-
-#define VALIDATE(name) \
- else if (action == @selector(name:)) { return [self _responderValidateUserInterfaceItem:item]; }
-
-- (BOOL)validateUserInterfaceItemWithoutDelegate:(id <NSValidatedUserInterfaceItem>)item
-{
- SEL action = [item action];
-
- if (action == @selector(goBack:)) {
- return [self canGoBack];
- } else if (action == @selector(goForward:)) {
- return [self canGoForward];
- } else if (action == @selector(makeTextLarger:)) {
- return [self canMakeTextLarger];
- } else if (action == @selector(makeTextSmaller:)) {
- return [self canMakeTextSmaller];
- } else if (action == @selector(makeTextStandardSize:)) {
- return [self canMakeTextStandardSize];
- } else if (action == @selector(reload:)) {
- return [[self mainFrame] _dataSource] != nil;
- } else if (action == @selector(stopLoading:)) {
- return [self _isLoading];
- } else if (action == @selector(toggleContinuousSpellChecking:)) {
- BOOL checkMark = NO;
- BOOL retVal = NO;
- if ([self _continuousCheckingAllowed]) {
- checkMark = [self isContinuousSpellCheckingEnabled];
- retVal = YES;
- }
- if ([(NSObject *)item isKindOfClass:[NSMenuItem class]]) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- [menuItem setState:checkMark ? NSOnState : NSOffState];
- }
- return retVal;
- } else if (action == @selector(toggleSmartInsertDelete:)) {
- BOOL checkMark = [self smartInsertDeleteEnabled];
- if ([(NSObject *)item isKindOfClass:[NSMenuItem class]]) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- [menuItem setState:checkMark ? NSOnState : NSOffState];
- }
- return YES;
- } else if (action == @selector(toggleGrammarChecking:)) {
- BOOL checkMark = [self isGrammarCheckingEnabled];
- if ([(NSObject *)item isKindOfClass:[NSMenuItem class]]) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- [menuItem setState:checkMark ? NSOnState : NSOffState];
- }
- return YES;
- } else if (action == @selector(toggleAutomaticQuoteSubstitution:)) {
- BOOL checkMark = [self isAutomaticQuoteSubstitutionEnabled];
- if ([(NSObject *)item isKindOfClass:[NSMenuItem class]]) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- [menuItem setState:checkMark ? NSOnState : NSOffState];
- }
- return YES;
- } else if (action == @selector(toggleAutomaticLinkDetection:)) {
- BOOL checkMark = [self isAutomaticLinkDetectionEnabled];
- if ([(NSObject *)item isKindOfClass:[NSMenuItem class]]) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- [menuItem setState:checkMark ? NSOnState : NSOffState];
- }
- return YES;
- } else if (action == @selector(toggleAutomaticDashSubstitution:)) {
- BOOL checkMark = [self isAutomaticDashSubstitutionEnabled];
- if ([(NSObject *)item isKindOfClass:[NSMenuItem class]]) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- [menuItem setState:checkMark ? NSOnState : NSOffState];
- }
- return YES;
- } else if (action == @selector(toggleAutomaticTextReplacement:)) {
- BOOL checkMark = [self isAutomaticTextReplacementEnabled];
- if ([(NSObject *)item isKindOfClass:[NSMenuItem class]]) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- [menuItem setState:checkMark ? NSOnState : NSOffState];
- }
- return YES;
- } else if (action == @selector(toggleAutomaticSpellingCorrection:)) {
- BOOL checkMark = [self isAutomaticSpellingCorrectionEnabled];
- if ([(NSObject *)item isKindOfClass:[NSMenuItem class]]) {
- NSMenuItem *menuItem = (NSMenuItem *)item;
- [menuItem setState:checkMark ? NSOnState : NSOffState];
- }
- return YES;
- }
- FOR_EACH_RESPONDER_SELECTOR(VALIDATE)
-
- return YES;
-}
-
-- (BOOL)validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item
-{
- BOOL result = [self validateUserInterfaceItemWithoutDelegate:item];
- return CallUIDelegateReturningBoolean(result, self, @selector(webView:validateUserInterfaceItem:defaultValidation:), item, result);
-}
-
-@end
-
-@implementation WebView (WebPendingPublic)
-
-- (void)scheduleInRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode
-{
-#if USE(CFNETWORK)
- CFRunLoopRef schedulePairRunLoop = [runLoop getCFRunLoop];
-#else
- NSRunLoop *schedulePairRunLoop = runLoop;
-#endif
- if (runLoop && mode)
- core(self)->addSchedulePair(SchedulePair::create(schedulePairRunLoop, (CFStringRef)mode));
-}
-
-- (void)unscheduleFromRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode
-{
-#if USE(CFNETWORK)
- CFRunLoopRef schedulePairRunLoop = [runLoop getCFRunLoop];
-#else
- NSRunLoop *schedulePairRunLoop = runLoop;
-#endif
- if (runLoop && mode)
- core(self)->removeSchedulePair(SchedulePair::create(schedulePairRunLoop, (CFStringRef)mode));
-}
-
-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;
-
- // Get the frame holding the selection, or start with the main frame
- WebFrame *startFrame = [self _selectedOrMainFrame];
-
- // Search the first frame, then all the other frames, in order
- NSView <WebDocumentSearching> *startSearchView = nil;
- WebFrame *frame = startFrame;
- do {
- WebFrame *nextFrame = incrementFrame(frame, options);
-
- BOOL onlyOneFrame = (frame == nextFrame);
- ASSERT(!onlyOneFrame || frame == startFrame);
-
- id <WebDocumentView> view = [[frame frameView] documentView];
- if ([view conformsToProtocol:@protocol(WebDocumentSearching)]) {
- NSView <WebDocumentSearching> *searchView = (NSView <WebDocumentSearching> *)view;
-
- if (frame == startFrame)
- startSearchView = searchView;
-
- // 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 the wrap option through
- // here, and then bailing out before we get to the code that would search again in the
- // same content.
- WebFindOptions optionsForThisPass = onlyOneFrame ? options : (options & ~WebFindOptionsWrapAround);
-
- if (findString(searchView, string, optionsForThisPass)) {
- if (frame != startFrame)
- [startFrame _clearSelection];
- [[self window] makeFirstResponder:searchView];
- return YES;
- }
-
- if (onlyOneFrame)
- return NO;
- }
- frame = nextFrame;
- } while (frame && frame != startFrame);
-
- // 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 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 ((options & WebFindOptionsWrapAround) && startSearchView) {
- if (findString(startSearchView, string, options)) {
- [[self window] makeFirstResponder:startSearchView];
- return YES;
- }
- }
- return NO;
-}
-
-- (DOMRange *)DOMRangeOfString:(NSString *)string relativeTo:(DOMRange *)previousRange options:(WebFindOptions)options
-{
- if (!_private->page)
- return nil;
-
- return kit(_private->page->rangeOfString(string, core(previousRange), coreOptions(options)).get());
-}
-
-#if __MAC_OS_X_VERSION_MIN_REQUIRED <= 1070
-// FIXME: Remove once WebKit no longer needs to support versions of Safari that call this.
-- (void)setHoverFeedbackSuspended:(BOOL)newValue
-{
-}
-
-// FIXME: Remove once WebKit no longer needs to support versions of Safari that call this.
-- (BOOL)isHoverFeedbackSuspended
-{
- return NO;
-}
-#endif
-
-- (void)setMainFrameDocumentReady:(BOOL)mainFrameDocumentReady
-{
- // by setting this to NO, calls to mainFrameDocument are forced to return nil
- // setting this to YES lets it return the actual DOMDocument value
- // we use this to tell NSTreeController to reset its observers and clear its state
- if (_private->mainFrameDocumentReady == mainFrameDocumentReady)
- return;
- [self _willChangeValueForKey:_WebMainFrameDocumentKey];
- _private->mainFrameDocumentReady = mainFrameDocumentReady;
- [self _didChangeValueForKey:_WebMainFrameDocumentKey];
- // this will cause observers to call mainFrameDocument where this flag will be checked
-}
-
-- (void)setTabKeyCyclesThroughElements:(BOOL)cyclesElements
-{
- _private->tabKeyCyclesThroughElementsChanged = YES;
- if (_private->page)
- _private->page->setTabKeyCyclesThroughElements(cyclesElements);
-}
-
-- (BOOL)tabKeyCyclesThroughElements
-{
- return _private->page && _private->page->tabKeyCyclesThroughElements();
-}
-
-- (void)setScriptDebugDelegate:(id)delegate
-{
- _private->scriptDebugDelegate = delegate;
- [self _cacheScriptDebugDelegateImplementations];
-
- if (delegate)
- [self _attachScriptDebuggerToAllFrames];
- else
- [self _detachScriptDebuggerFromAllFrames];
-}
-
-- (id)scriptDebugDelegate
-{
- return _private->scriptDebugDelegate;
-}
-
-- (void)setHistoryDelegate:(id)delegate
-{
- _private->historyDelegate = delegate;
- [self _cacheHistoryDelegateImplementations];
-}
-
-- (id)historyDelegate
-{
- return _private->historyDelegate;
-}
-
-- (BOOL)shouldClose
-{
- Frame* coreFrame = [self _mainCoreFrame];
- if (!coreFrame)
- return YES;
- return coreFrame->loader()->shouldClose();
-}
-
-static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSC::JSValue jsValue)
-{
- NSAppleEventDescriptor* aeDesc = 0;
- if (jsValue.isBoolean())
- return [NSAppleEventDescriptor descriptorWithBoolean:jsValue.asBoolean()];
- if (jsValue.isString())
- return [NSAppleEventDescriptor descriptorWithString:jsValue.getString(exec)];
- if (jsValue.isNumber()) {
- double value = jsValue.asNumber();
- int intValue = value;
- if (value == intValue)
- return [NSAppleEventDescriptor descriptorWithDescriptorType:typeSInt32 bytes:&intValue length:sizeof(intValue)];
- return [NSAppleEventDescriptor descriptorWithDescriptorType:typeIEEE64BitFloatingPoint bytes:&value length:sizeof(value)];
- }
- if (jsValue.isObject()) {
- JSObject* object = jsValue.getObject();
- if (object->inherits(&DateInstance::s_info)) {
- DateInstance* date = static_cast<DateInstance*>(object);
- double ms = date->internalNumber();
- if (!std::isnan(ms)) {
- CFAbsoluteTime utcSeconds = ms / 1000 - kCFAbsoluteTimeIntervalSince1970;
- LongDateTime ldt;
- if (noErr == UCConvertCFAbsoluteTimeToLongDateTime(utcSeconds, &ldt))
- return [NSAppleEventDescriptor descriptorWithDescriptorType:typeLongDateTime bytes:&ldt length:sizeof(ldt)];
- }
- }
- else if (object->inherits(&JSArray::s_info)) {
- DEFINE_STATIC_LOCAL(HashSet<JSObject*>, visitedElems, ());
- if (!visitedElems.contains(object)) {
- visitedElems.add(object);
-
- JSArray* array = static_cast<JSArray*>(object);
- aeDesc = [NSAppleEventDescriptor listDescriptor];
- unsigned numItems = array->length();
- for (unsigned i = 0; i < numItems; ++i)
- [aeDesc insertDescriptor:aeDescFromJSValue(exec, array->get(exec, i)) atIndex:0];
-
- visitedElems.remove(object);
- return aeDesc;
- }
- }
- JSC::JSValue primitive = object->toPrimitive(exec);
- if (exec->hadException()) {
- exec->clearException();
- return [NSAppleEventDescriptor nullDescriptor];
- }
- return aeDescFromJSValue(exec, primitive);
- }
- if (jsValue.isUndefined())
- return [NSAppleEventDescriptor descriptorWithTypeCode:cMissingValue];
- ASSERT(jsValue.isNull());
- return [NSAppleEventDescriptor nullDescriptor];
-}
-
-- (NSAppleEventDescriptor *)aeDescByEvaluatingJavaScriptFromString:(NSString *)script
-{
- Frame* coreFrame = [self _mainCoreFrame];
- if (!coreFrame)
- return nil;
- if (!coreFrame->document())
- return nil;
- JSC::JSValue result = coreFrame->script()->executeScript(script, true).jsValue();
- if (!result) // FIXME: pass errors
- return 0;
- JSLockHolder lock(coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec());
- return aeDescFromJSValue(coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec(), result);
-}
-
-- (BOOL)canMarkAllTextMatches
-{
- if (_private->closed)
- return NO;
-
- WebFrame *frame = [self mainFrame];
- do {
- id <WebDocumentView> view = [[frame frameView] documentView];
- if (view && ![view conformsToProtocol:@protocol(WebMultipleTextMatches)])
- return NO;
-
- frame = incrementFrame(frame);
- } while (frame);
-
- return YES;
-}
-
-- (NSUInteger)countMatchesForText:(NSString *)string options:(WebFindOptions)options highlight:(BOOL)highlight limit:(NSUInteger)limit markMatches:(BOOL)markMatches
-{
- return [self countMatchesForText:string inDOMRange:nil options:options highlight:highlight limit:limit markMatches: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;
-
- WebFrame *frame = [self mainFrame];
- unsigned matchCount = 0;
- do {
- id <WebDocumentView> view = [[frame frameView] documentView];
- if ([view conformsToProtocol:@protocol(WebMultipleTextMatches)]) {
- if (markMatches)
- [(NSView <WebMultipleTextMatches>*)view setMarkedTextMatchesAreHighlighted:highlight];
-
- ASSERT(limit == 0 || matchCount < limit);
- 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);
- } while (frame);
-
- return matchCount;
-}
-
-- (void)unmarkAllTextMatches
-{
- if (_private->closed)
- return;
-
- WebFrame *frame = [self mainFrame];
- do {
- id <WebDocumentView> view = [[frame frameView] documentView];
- if ([view conformsToProtocol:@protocol(WebMultipleTextMatches)])
- [(NSView <WebMultipleTextMatches>*)view unmarkAllTextMatches];
-
- frame = incrementFrame(frame);
- } while (frame);
-}
-
-- (NSArray *)rectsForTextMatches
-{
- if (_private->closed)
- return [NSArray array];
-
- NSMutableArray *result = [NSMutableArray array];
- WebFrame *frame = [self mainFrame];
- do {
- id <WebDocumentView> view = [[frame frameView] documentView];
- if ([view conformsToProtocol:@protocol(WebMultipleTextMatches)]) {
- NSView <WebMultipleTextMatches> *documentView = (NSView <WebMultipleTextMatches> *)view;
- NSRect documentViewVisibleRect = [documentView visibleRect];
- NSArray *originalRects = [documentView rectsForTextMatches];
- unsigned rectCount = [originalRects count];
- unsigned rectIndex;
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- for (rectIndex = 0; rectIndex < rectCount; ++rectIndex) {
- NSRect r = [[originalRects objectAtIndex:rectIndex] rectValue];
- // Clip rect to document view's visible rect so rect is confined to subframe
- r = NSIntersectionRect(r, documentViewVisibleRect);
- if (NSIsEmptyRect(r))
- continue;
-
- // Convert rect to our coordinate system
- r = [documentView convertRect:r toView:self];
- [result addObject:[NSValue valueWithRect:r]];
- if (rectIndex % 10 == 0) {
- [pool drain];
- pool = [[NSAutoreleasePool alloc] init];
- }
- }
- [pool drain];
- }
-
- frame = incrementFrame(frame);
- } while (frame);
-
- return result;
-}
-
-- (void)scrollDOMRangeToVisible:(DOMRange *)range
-{
- [[[[range startContainer] ownerDocument] webFrame] _scrollDOMRangeToVisible:range];
-}
-
-- (BOOL)allowsUndo
-{
- return _private->allowsUndo;
-}
-
-- (void)setAllowsUndo:(BOOL)flag
-{
- _private->allowsUndo = flag;
-}
-
-- (void)setPageSizeMultiplier:(float)m
-{
- [self _setZoomMultiplier:m isTextOnly:NO];
-}
-
-- (float)pageSizeMultiplier
-{
- return ![self _realZoomMultiplierIsTextOnly] ? _private->zoomMultiplier : 1.0f;
-}
-
-- (BOOL)canZoomPageIn
-{
- return [self _canZoomIn:NO];
-}
-
-- (IBAction)zoomPageIn:(id)sender
-{
- return [self _zoomIn:sender isTextOnly:NO];
-}
-
-- (BOOL)canZoomPageOut
-{
- return [self _canZoomOut:NO];
-}
-
-- (IBAction)zoomPageOut:(id)sender
-{
- return [self _zoomOut:sender isTextOnly:NO];
-}
-
-- (BOOL)canResetPageZoom
-{
- return [self _canResetZoom:NO];
-}
-
-- (IBAction)resetPageZoom:(id)sender
-{
- return [self _resetZoom:sender isTextOnly:NO];
-}
-
-- (void)setMediaVolume:(float)volume
-{
- if (_private->page)
- _private->page->setMediaVolume(volume);
-}
-
-- (float)mediaVolume
-{
- if (!_private->page)
- return 0;
-
- return _private->page->mediaVolume();
-}
-
-- (void)addVisitedLinks:(NSArray *)visitedLinks
-{
- PageGroup& group = core(self)->group();
-
- NSEnumerator *enumerator = [visitedLinks objectEnumerator];
- while (NSString *url = [enumerator nextObject]) {
- size_t length = [url length];
- const UChar* characters = CFStringGetCharactersPtr(reinterpret_cast<CFStringRef>(url));
- if (characters)
- group.addVisitedLink(characters, length);
- else {
- Vector<UChar, 512> buffer(length);
- [url getCharacters:buffer.data()];
- group.addVisitedLink(buffer.data(), length);
- }
- }
-}
-
-@end
-
-@implementation WebView (WebViewPrintingPrivate)
-
-- (float)_headerHeight
-{
- return CallUIDelegateReturningFloat(self, @selector(webViewHeaderHeight:));
-}
-
-- (float)_footerHeight
-{
- return CallUIDelegateReturningFloat(self, @selector(webViewFooterHeight:));
-}
-
-- (void)_drawHeaderInRect:(NSRect)rect
-{
-#ifdef DEBUG_HEADER_AND_FOOTER
- NSGraphicsContext *currentContext = [NSGraphicsContext currentContext];
- [currentContext saveGraphicsState];
- [[NSColor yellowColor] set];
- NSRectFill(rect);
- [currentContext restoreGraphicsState];
-#endif
-
- SEL selector = @selector(webView:drawHeaderInRect:);
- if (![_private->UIDelegate respondsToSelector:selector])
- return;
-
- NSGraphicsContext *currentContext = [NSGraphicsContext currentContext];
- [currentContext saveGraphicsState];
-
- NSRectClip(rect);
- CallUIDelegate(self, selector, rect);
-
- [currentContext restoreGraphicsState];
-}
-
-- (void)_drawFooterInRect:(NSRect)rect
-{
-#ifdef DEBUG_HEADER_AND_FOOTER
- NSGraphicsContext *currentContext = [NSGraphicsContext currentContext];
- [currentContext saveGraphicsState];
- [[NSColor cyanColor] set];
- NSRectFill(rect);
- [currentContext restoreGraphicsState];
-#endif
-
- SEL selector = @selector(webView:drawFooterInRect:);
- if (![_private->UIDelegate respondsToSelector:selector])
- return;
-
- NSGraphicsContext *currentContext = [NSGraphicsContext currentContext];
- [currentContext saveGraphicsState];
-
- NSRectClip(rect);
- CallUIDelegate(self, selector, rect);
-
- [currentContext restoreGraphicsState];
-}
-
-- (void)_adjustPrintingMarginsForHeaderAndFooter
-{
- NSPrintOperation *op = [NSPrintOperation currentOperation];
- NSPrintInfo *info = [op printInfo];
- NSMutableDictionary *infoDictionary = [info dictionary];
-
- // We need to modify the top and bottom margins in the NSPrintInfo to account for the space needed by the
- // header and footer. Because this method can be called more than once on the same NSPrintInfo (see 5038087),
- // we stash away the unmodified top and bottom margins the first time this method is called, and we read from
- // those stashed-away values on subsequent calls.
- float originalTopMargin;
- float originalBottomMargin;
- NSNumber *originalTopMarginNumber = [infoDictionary objectForKey:WebKitOriginalTopPrintingMarginKey];
- if (!originalTopMarginNumber) {
- ASSERT(![infoDictionary objectForKey:WebKitOriginalBottomPrintingMarginKey]);
- originalTopMargin = [info topMargin];
- originalBottomMargin = [info bottomMargin];
- [infoDictionary setObject:[NSNumber numberWithFloat:originalTopMargin] forKey:WebKitOriginalTopPrintingMarginKey];
- [infoDictionary setObject:[NSNumber numberWithFloat:originalBottomMargin] forKey:WebKitOriginalBottomPrintingMarginKey];
- } else {
- ASSERT([originalTopMarginNumber isKindOfClass:[NSNumber class]]);
- ASSERT([[infoDictionary objectForKey:WebKitOriginalBottomPrintingMarginKey] isKindOfClass:[NSNumber class]]);
- originalTopMargin = [originalTopMarginNumber floatValue];
- originalBottomMargin = [[infoDictionary objectForKey:WebKitOriginalBottomPrintingMarginKey] floatValue];
- }
-
- float scale = [op _web_pageSetupScaleFactor];
- [info setTopMargin:originalTopMargin + [self _headerHeight] * scale];
- [info setBottomMargin:originalBottomMargin + [self _footerHeight] * scale];
-}
-
-- (void)_drawHeaderAndFooter
-{
- // The header and footer rect height scales with the page, but the width is always
- // all the way across the printed page (inset by printing margins).
- NSPrintOperation *op = [NSPrintOperation currentOperation];
- float scale = [op _web_pageSetupScaleFactor];
- NSPrintInfo *printInfo = [op printInfo];
- NSSize paperSize = [printInfo paperSize];
- float headerFooterLeft = [printInfo leftMargin]/scale;
- float headerFooterWidth = (paperSize.width - ([printInfo leftMargin] + [printInfo rightMargin]))/scale;
- NSRect footerRect = NSMakeRect(headerFooterLeft, [printInfo bottomMargin]/scale - [self _footerHeight] ,
- headerFooterWidth, [self _footerHeight]);
- NSRect headerRect = NSMakeRect(headerFooterLeft, (paperSize.height - [printInfo topMargin])/scale,
- headerFooterWidth, [self _headerHeight]);
-
- [self _drawHeaderInRect:headerRect];
- [self _drawFooterInRect:footerRect];
-}
-@end
-
-@implementation WebView (WebDebugBinding)
-
-- (void)addObserver:(NSObject *)anObserver forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context
-{
- LOG (Bindings, "addObserver:%p forKeyPath:%@ options:%x context:%p", anObserver, keyPath, options, context);
- [super addObserver:anObserver forKeyPath:keyPath options:options context:context];
-}
-
-- (void)removeObserver:(NSObject *)anObserver forKeyPath:(NSString *)keyPath
-{
- LOG (Bindings, "removeObserver:%p forKeyPath:%@", anObserver, keyPath);
- [super removeObserver:anObserver forKeyPath:keyPath];
-}
-
-@end
-
-//==========================================================================================
-// Editing
-
-@implementation WebView (WebViewCSS)
-
-- (DOMCSSStyleDeclaration *)computedStyleForElement:(DOMElement *)element pseudoElement:(NSString *)pseudoElement
-{
- // FIXME: is this the best level for this conversion?
- if (pseudoElement == nil)
- pseudoElement = @"";
-
- return [[element ownerDocument] getComputedStyle:element pseudoElement:pseudoElement];
-}
-
-@end
-
-@implementation WebView (WebViewEditing)
-
-- (DOMRange *)editableDOMRangeForPoint:(NSPoint)point
-{
- Page* page = core(self);
- if (!page)
- return nil;
- return kit(page->mainFrame()->editor().rangeForPoint(IntPoint([self convertPoint:point toView:nil])).get());
-}
-
-- (BOOL)_shouldChangeSelectedDOMRange:(DOMRange *)currentRange toDOMRange:(DOMRange *)proposedRange affinity:(NSSelectionAffinity)selectionAffinity stillSelecting:(BOOL)flag
-{
- // FIXME: This quirk is needed due to <rdar://problem/4985321> - We can phase it out once Aperture can adopt the new behavior on their end
- if (!WebKitLinkedOnOrAfter(WEBKIT_FIRST_VERSION_WITHOUT_APERTURE_QUIRK) && [[[NSBundle mainBundle] bundleIdentifier] isEqualToString:@"com.apple.Aperture"])
- return YES;
- return [[self _editingDelegateForwarder] webView:self shouldChangeSelectedDOMRange:currentRange toDOMRange:proposedRange affinity:selectionAffinity stillSelecting:flag];
-}
-
-- (BOOL)maintainsInactiveSelection
-{
- return NO;
-}
-
-- (void)setSelectedDOMRange:(DOMRange *)range affinity:(NSSelectionAffinity)selectionAffinity
-{
- Frame* coreFrame = core([self _selectedOrMainFrame]);
- if (!coreFrame)
- return;
-
- if (range == nil)
- coreFrame->selection()->clear();
- else {
- // Derive the frame to use from the range passed in.
- // Using _selectedOrMainFrame could give us a different document than
- // the one the range uses.
- coreFrame = core([range startContainer])->document()->frame();
- if (!coreFrame)
- return;
-
- coreFrame->selection()->setSelectedRange(core(range), core(selectionAffinity), true);
- }
-}
-
-- (DOMRange *)selectedDOMRange
-{
- Frame* coreFrame = core([self _selectedOrMainFrame]);
- if (!coreFrame)
- return nil;
- return kit(coreFrame->selection()->toNormalizedRange().get());
-}
-
-- (NSSelectionAffinity)selectionAffinity
-{
- Frame* coreFrame = core([self _selectedOrMainFrame]);
- if (!coreFrame)
- return NSSelectionAffinityDownstream;
- return kit(coreFrame->selection()->affinity());
-}
-
-- (void)setEditable:(BOOL)flag
-{
- if ([self isEditable] != flag && _private->page) {
- _private->page->setEditable(flag);
- if (!_private->tabKeyCyclesThroughElementsChanged)
- _private->page->setTabKeyCyclesThroughElements(!flag);
- Frame* mainFrame = [self _mainCoreFrame];
- if (mainFrame) {
- if (flag) {
- mainFrame->editor().applyEditingStyleToBodyElement();
- // If the WebView is made editable and the selection is empty, set it to something.
- if (![self selectedDOMRange])
- mainFrame->selection()->setSelectionFromNone();
- }
- }
- }
-}
-
-- (BOOL)isEditable
-{
- return _private->page && _private->page->isEditable();
-}
-
-- (void)setTypingStyle:(DOMCSSStyleDeclaration *)style
-{
- // We don't know enough at thls level to pass in a relevant WebUndoAction; we'd have to
- // change the API to allow this.
- [[self _selectedOrMainFrame] _setTypingStyle:style withUndoAction:EditActionUnspecified];
-}
-
-- (DOMCSSStyleDeclaration *)typingStyle
-{
- return [[self _selectedOrMainFrame] _typingStyle];
-}
-
-- (void)setSmartInsertDeleteEnabled:(BOOL)flag
-{
- if (_private->page->settings()->smartInsertDeleteEnabled() != flag) {
- _private->page->settings()->setSmartInsertDeleteEnabled(flag);
- [[NSUserDefaults standardUserDefaults] setBool:_private->page->settings()->smartInsertDeleteEnabled() forKey:WebSmartInsertDeleteEnabled];
- [self setSelectTrailingWhitespaceEnabled:!flag];
- }
-}
-
-- (BOOL)smartInsertDeleteEnabled
-{
- return _private->page->settings()->smartInsertDeleteEnabled();
-}
-
-- (void)setContinuousSpellCheckingEnabled:(BOOL)flag
-{
- if (continuousSpellCheckingEnabled != flag) {
- continuousSpellCheckingEnabled = flag;
- [[NSUserDefaults standardUserDefaults] setBool:continuousSpellCheckingEnabled forKey:WebContinuousSpellCheckingEnabled];
- }
-
- if ([self isContinuousSpellCheckingEnabled]) {
- [[self class] _preflightSpellChecker];
- } else {
- [[self mainFrame] _unmarkAllMisspellings];
- }
-}
-
-- (BOOL)isContinuousSpellCheckingEnabled
-{
- return (continuousSpellCheckingEnabled && [self _continuousCheckingAllowed]);
-}
-
-- (NSInteger)spellCheckerDocumentTag
-{
- if (!_private->hasSpellCheckerDocumentTag) {
- _private->spellCheckerDocumentTag = [NSSpellChecker uniqueSpellDocumentTag];
- _private->hasSpellCheckerDocumentTag = YES;
- }
- return _private->spellCheckerDocumentTag;
-}
-
-- (NSUndoManager *)undoManager
-{
- if (!_private->allowsUndo)
- return nil;
-
- NSUndoManager *undoManager = [[self _editingDelegateForwarder] undoManagerForWebView:self];
- if (undoManager)
- return undoManager;
-
- return [super undoManager];
-}
-
-- (void)registerForEditingDelegateNotification:(NSString *)name selector:(SEL)selector
-{
- NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
- if ([_private->editingDelegate respondsToSelector:selector])
- [defaultCenter addObserver:_private->editingDelegate selector:selector name:name object:self];
-}
-
-- (void)setEditingDelegate:(id)delegate
-{
- if (_private->editingDelegate == delegate)
- return;
-
- NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
-
- // remove notifications from current delegate
- [defaultCenter removeObserver:_private->editingDelegate name:WebViewDidBeginEditingNotification object:self];
- [defaultCenter removeObserver:_private->editingDelegate name:WebViewDidChangeNotification object:self];
- [defaultCenter removeObserver:_private->editingDelegate name:WebViewDidEndEditingNotification object:self];
- [defaultCenter removeObserver:_private->editingDelegate name:WebViewDidChangeTypingStyleNotification object:self];
- [defaultCenter removeObserver:_private->editingDelegate name:WebViewDidChangeSelectionNotification object:self];
-
- _private->editingDelegate = delegate;
- [_private->editingDelegateForwarder release];
- _private->editingDelegateForwarder = nil;
-
- // add notifications for new delegate
- [self registerForEditingDelegateNotification:WebViewDidBeginEditingNotification selector:@selector(webViewDidBeginEditing:)];
- [self registerForEditingDelegateNotification:WebViewDidChangeNotification selector:@selector(webViewDidChange:)];
- [self registerForEditingDelegateNotification:WebViewDidEndEditingNotification selector:@selector(webViewDidEndEditing:)];
- [self registerForEditingDelegateNotification:WebViewDidChangeTypingStyleNotification selector:@selector(webViewDidChangeTypingStyle:)];
- [self registerForEditingDelegateNotification:WebViewDidChangeSelectionNotification selector:@selector(webViewDidChangeSelection:)];
-}
-
-- (id)editingDelegate
-{
- return _private->editingDelegate;
-}
-
-- (DOMCSSStyleDeclaration *)styleDeclarationWithText:(NSString *)text
-{
- // FIXME: Should this really be attached to the document with the current selection?
- DOMCSSStyleDeclaration *decl = [[[self _selectedOrMainFrame] DOMDocument] createCSSStyleDeclaration];
- [decl setCssText:text];
- return decl;
-}
-
-@end
-
-@implementation WebView (WebViewGrammarChecking)
-
-// FIXME: This method should be merged into WebViewEditing when we're not in API freeze
-- (BOOL)isGrammarCheckingEnabled
-{
- return grammarCheckingEnabled;
-}
-
-// FIXME: This method should be merged into WebViewEditing when we're not in API freeze
-- (void)setGrammarCheckingEnabled:(BOOL)flag
-{
- if (grammarCheckingEnabled == flag)
- return;
-
- grammarCheckingEnabled = flag;
- [[NSUserDefaults standardUserDefaults] setBool:grammarCheckingEnabled forKey:WebGrammarCheckingEnabled];
- [[NSSpellChecker sharedSpellChecker] updatePanels];
-
- // We call _preflightSpellChecker when turning continuous spell checking on, but we don't need to do that here
- // because grammar checking only occurs on code paths that already preflight spell checking appropriately.
-
- if (![self isGrammarCheckingEnabled])
- [[self mainFrame] _unmarkAllBadGrammar];
-}
-
-// FIXME: This method should be merged into WebIBActions when we're not in API freeze
-- (void)toggleGrammarChecking:(id)sender
-{
- [self setGrammarCheckingEnabled:![self isGrammarCheckingEnabled]];
-}
-
-@end
-
-@implementation WebView (WebViewTextChecking)
-
-- (BOOL)isAutomaticQuoteSubstitutionEnabled
-{
- return automaticQuoteSubstitutionEnabled;
-}
-
-- (BOOL)isAutomaticLinkDetectionEnabled
-{
- return automaticLinkDetectionEnabled;
-}
-
-- (BOOL)isAutomaticDashSubstitutionEnabled
-{
- return automaticDashSubstitutionEnabled;
-}
-
-- (BOOL)isAutomaticTextReplacementEnabled
-{
- return automaticTextReplacementEnabled;
-}
-
-- (BOOL)isAutomaticSpellingCorrectionEnabled
-{
- return automaticSpellingCorrectionEnabled;
-}
-
-- (void)setAutomaticQuoteSubstitutionEnabled:(BOOL)flag
-{
- if (automaticQuoteSubstitutionEnabled == flag)
- return;
- automaticQuoteSubstitutionEnabled = flag;
- [[NSUserDefaults standardUserDefaults] setBool:automaticQuoteSubstitutionEnabled forKey:WebAutomaticQuoteSubstitutionEnabled];
- [[NSSpellChecker sharedSpellChecker] updatePanels];
-}
-
-- (void)toggleAutomaticQuoteSubstitution:(id)sender
-{
- [self setAutomaticQuoteSubstitutionEnabled:![self isAutomaticQuoteSubstitutionEnabled]];
-}
-
-- (void)setAutomaticLinkDetectionEnabled:(BOOL)flag
-{
- if (automaticLinkDetectionEnabled == flag)
- return;
- automaticLinkDetectionEnabled = flag;
- [[NSUserDefaults standardUserDefaults] setBool:automaticLinkDetectionEnabled forKey:WebAutomaticLinkDetectionEnabled];
- [[NSSpellChecker sharedSpellChecker] updatePanels];
-}
-
-- (void)toggleAutomaticLinkDetection:(id)sender
-{
- [self setAutomaticLinkDetectionEnabled:![self isAutomaticLinkDetectionEnabled]];
-}
-
-- (void)setAutomaticDashSubstitutionEnabled:(BOOL)flag
-{
- if (automaticDashSubstitutionEnabled == flag)
- return;
- automaticDashSubstitutionEnabled = flag;
- [[NSUserDefaults standardUserDefaults] setBool:automaticDashSubstitutionEnabled forKey:WebAutomaticDashSubstitutionEnabled];
- [[NSSpellChecker sharedSpellChecker] updatePanels];
-}
-
-- (void)toggleAutomaticDashSubstitution:(id)sender
-{
- [self setAutomaticDashSubstitutionEnabled:![self isAutomaticDashSubstitutionEnabled]];
-}
-
-- (void)setAutomaticTextReplacementEnabled:(BOOL)flag
-{
- if (automaticTextReplacementEnabled == flag)
- return;
- automaticTextReplacementEnabled = flag;
- [[NSUserDefaults standardUserDefaults] setBool:automaticTextReplacementEnabled forKey:WebAutomaticTextReplacementEnabled];
- [[NSSpellChecker sharedSpellChecker] updatePanels];
-}
-
-- (void)toggleAutomaticTextReplacement:(id)sender
-{
- [self setAutomaticTextReplacementEnabled:![self isAutomaticTextReplacementEnabled]];
-}
-
-- (void)setAutomaticSpellingCorrectionEnabled:(BOOL)flag
-{
- if (automaticSpellingCorrectionEnabled == flag)
- return;
- automaticSpellingCorrectionEnabled = flag;
- [[NSUserDefaults standardUserDefaults] setBool:automaticSpellingCorrectionEnabled forKey:WebAutomaticSpellingCorrectionEnabled];
- [[NSSpellChecker sharedSpellChecker] updatePanels];
-}
-
-- (void)toggleAutomaticSpellingCorrection:(id)sender
-{
- [self setAutomaticSpellingCorrectionEnabled:![self isAutomaticSpellingCorrectionEnabled]];
-}
-
-@end
-
-@implementation WebView (WebViewUndoableEditing)
-
-- (void)replaceSelectionWithNode:(DOMNode *)node
-{
- [[self _selectedOrMainFrame] _replaceSelectionWithNode:node selectReplacement:YES smartReplace:NO matchStyle:NO];
-}
-
-- (void)replaceSelectionWithText:(NSString *)text
-{
- [[self _selectedOrMainFrame] _replaceSelectionWithText:text selectReplacement:YES smartReplace:NO];
-}
-
-- (void)replaceSelectionWithMarkupString:(NSString *)markupString
-{
- [[self _selectedOrMainFrame] _replaceSelectionWithMarkupString:markupString baseURLString:nil selectReplacement:YES smartReplace:NO];
-}
-
-- (void)replaceSelectionWithArchive:(WebArchive *)archive
-{
- [[[self _selectedOrMainFrame] _dataSource] _replaceSelectionWithArchive:archive selectReplacement:YES];
-}
-
-- (void)deleteSelection
-{
- WebFrame *webFrame = [self _selectedOrMainFrame];
- Frame* coreFrame = core(webFrame);
- if (coreFrame)
- coreFrame->editor().deleteSelectionWithSmartDelete([(WebHTMLView *)[[webFrame frameView] documentView] _canSmartCopyOrDelete]);
-}
-
-- (void)applyStyle:(DOMCSSStyleDeclaration *)style
-{
- // We don't know enough at thls level to pass in a relevant WebUndoAction; we'd have to
- // change the API to allow this.
- WebFrame *webFrame = [self _selectedOrMainFrame];
- Frame* coreFrame = core(webFrame);
- // FIXME: We shouldn't have to make a copy here.
- if (coreFrame)
- coreFrame->editor().applyStyle(core(style)->copyProperties().get());
-}
-
-@end
-
-@implementation WebView (WebViewEditingActions)
-
-- (void)_performResponderOperation:(SEL)selector with:(id)parameter
-{
- static BOOL reentered = NO;
- if (reentered) {
- [[self nextResponder] tryToPerform:selector with:parameter];
- return;
- }
-
- // There are two possibilities here.
- //
- // One is that WebView has been called in its role as part of the responder chain.
- // In that case, it's fine to call the first responder and end up calling down the
- // responder chain again. Later we will return here with reentered = YES and continue
- // past the WebView.
- //
- // The other is that we are being called directly, in which case we want to pass the
- // selector down to the view inside us that can handle it, and continue down the
- // responder chain as usual.
-
- // Pass this selector down to the first responder.
- NSResponder *responder = [self _responderForResponderOperations];
- reentered = YES;
- [responder tryToPerform:selector with:parameter];
- reentered = NO;
-}
-
-#define FORWARD(name) \
- - (void)name:(id)sender { [self _performResponderOperation:_cmd with:sender]; }
-
-FOR_EACH_RESPONDER_SELECTOR(FORWARD)
-
-- (void)insertText:(NSString *)text
-{
- [self _performResponderOperation:_cmd with:text];
-}
-
-- (NSDictionary *)typingAttributes
-{
- Frame* coreFrame = core([self _selectedOrMainFrame]);
- if (coreFrame)
- return coreFrame->editor().fontAttributesForSelectionStart();
-
- return nil;
-}
-
-
-@end
-
-@implementation WebView (WebViewEditingInMail)
-
-- (void)_insertNewlineInQuotedContent
-{
- [[self _selectedOrMainFrame] _insertParagraphSeparatorInQuotedContent];
-}
-
-- (void)_replaceSelectionWithNode:(DOMNode *)node matchStyle:(BOOL)matchStyle
-{
- [[self _selectedOrMainFrame] _replaceSelectionWithNode:node selectReplacement:YES smartReplace:NO matchStyle:matchStyle];
-}
-
-- (BOOL)_selectionIsCaret
-{
- Frame* coreFrame = core([self _selectedOrMainFrame]);
- if (!coreFrame)
- return NO;
- return coreFrame->selection()->isCaret();
-}
-
-- (BOOL)_selectionIsAll
-{
- Frame* coreFrame = core([self _selectedOrMainFrame]);
- if (!coreFrame)
- return NO;
- return coreFrame->selection()->isAll(CanCrossEditingBoundary);
-}
-
-- (void)_simplifyMarkup:(DOMNode *)startNode endNode:(DOMNode *)endNode
-{
- Frame* coreFrame = core([self mainFrame]);
- if (!coreFrame || !startNode)
- return;
- Node* coreStartNode= core(startNode);
- if (coreStartNode->document() != coreFrame->document())
- return;
- return coreFrame->editor().simplifyMarkup(coreStartNode, core(endNode));
-}
-
-@end
-
-static WebFrameView *containingFrameView(NSView *view)
-{
- while (view && ![view isKindOfClass:[WebFrameView class]])
- view = [view superview];
- return (WebFrameView *)view;
-}
-
-@implementation WebView (WebFileInternal)
-
-- (float)_deviceScaleFactor
-{
- if (_private->customDeviceScaleFactor != 0)
- return _private->customDeviceScaleFactor;
-
- NSWindow *window = [self window];
- NSWindow *hostWindow = [self hostWindow];
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
- if (window)
- return [window backingScaleFactor];
- if (hostWindow)
- return [hostWindow backingScaleFactor];
- return [[NSScreen mainScreen] backingScaleFactor];
-#else
- if (window)
- return [window userSpaceScaleFactor];
- if (hostWindow)
- return [hostWindow userSpaceScaleFactor];
- return [[NSScreen mainScreen] userSpaceScaleFactor];
-#endif
-}
-
-static inline uint64_t roundUpToPowerOf2(uint64_t num)
-{
- return powf(2.0, ceilf(log2f(num)));
-}
-
-+ (void)_setCacheModel:(WebCacheModel)cacheModel
-{
- if (s_didSetCacheModel && cacheModel == s_cacheModel)
- return;
-
- NSString *nsurlCacheDirectory = (NSString *)WebCFAutorelease(WKCopyFoundationCacheDirectory());
- if (!nsurlCacheDirectory)
- nsurlCacheDirectory = NSHomeDirectory();
-
- static uint64_t memSize = roundUpToPowerOf2(WebMemorySize() / 1024 / 1024);
- unsigned long long diskFreeSize = WebVolumeFreeSize(nsurlCacheDirectory) / 1024 / 1000;
- NSURLCache *nsurlCache = [NSURLCache sharedURLCache];
-
- unsigned cacheTotalCapacity = 0;
- unsigned cacheMinDeadCapacity = 0;
- unsigned cacheMaxDeadCapacity = 0;
- double deadDecodedDataDeletionInterval = 0;
-
- unsigned pageCacheCapacity = 0;
-
- NSUInteger nsurlCacheMemoryCapacity = 0;
- NSUInteger nsurlCacheDiskCapacity = 0;
-
- switch (cacheModel) {
- case WebCacheModelDocumentViewer: {
- // Page cache capacity (in pages)
- pageCacheCapacity = 0;
-
- // Object cache capacities (in bytes)
- if (memSize >= 4096)
- cacheTotalCapacity = 128 * 1024 * 1024;
- else if (memSize >= 2048)
- cacheTotalCapacity = 96 * 1024 * 1024;
- else if (memSize >= 1024)
- cacheTotalCapacity = 32 * 1024 * 1024;
- else if (memSize >= 512)
- cacheTotalCapacity = 16 * 1024 * 1024;
-
- cacheMinDeadCapacity = 0;
- cacheMaxDeadCapacity = 0;
-
- // Foundation memory cache capacity (in bytes)
- nsurlCacheMemoryCapacity = 0;
-
- // Foundation disk cache capacity (in bytes)
- nsurlCacheDiskCapacity = [nsurlCache diskCapacity];
-
- break;
- }
- case WebCacheModelDocumentBrowser: {
- // Page cache capacity (in pages)
- if (memSize >= 1024)
- pageCacheCapacity = 3;
- else if (memSize >= 512)
- pageCacheCapacity = 2;
- else if (memSize >= 256)
- pageCacheCapacity = 1;
- else
- pageCacheCapacity = 0;
-
- // Object cache capacities (in bytes)
- if (memSize >= 4096)
- cacheTotalCapacity = 128 * 1024 * 1024;
- else if (memSize >= 2048)
- cacheTotalCapacity = 96 * 1024 * 1024;
- else if (memSize >= 1024)
- cacheTotalCapacity = 32 * 1024 * 1024;
- else if (memSize >= 512)
- cacheTotalCapacity = 16 * 1024 * 1024;
-
- cacheMinDeadCapacity = cacheTotalCapacity / 8;
- cacheMaxDeadCapacity = cacheTotalCapacity / 4;
-
- // Foundation memory cache capacity (in bytes)
- if (memSize >= 2048)
- nsurlCacheMemoryCapacity = 4 * 1024 * 1024;
- else if (memSize >= 1024)
- nsurlCacheMemoryCapacity = 2 * 1024 * 1024;
- else if (memSize >= 512)
- nsurlCacheMemoryCapacity = 1 * 1024 * 1024;
- else
- nsurlCacheMemoryCapacity = 512 * 1024;
-
- // Foundation disk cache capacity (in bytes)
- if (diskFreeSize >= 16384)
- nsurlCacheDiskCapacity = 50 * 1024 * 1024;
- else if (diskFreeSize >= 8192)
- nsurlCacheDiskCapacity = 40 * 1024 * 1024;
- else if (diskFreeSize >= 4096)
- nsurlCacheDiskCapacity = 30 * 1024 * 1024;
- else
- nsurlCacheDiskCapacity = 20 * 1024 * 1024;
-
- break;
- }
- case WebCacheModelPrimaryWebBrowser: {
- // Page cache capacity (in pages)
- // (Research indicates that value / page drops substantially after 3 pages.)
- if (memSize >= 2048)
- pageCacheCapacity = 5;
- else if (memSize >= 1024)
- pageCacheCapacity = 4;
- else if (memSize >= 512)
- pageCacheCapacity = 3;
- else if (memSize >= 256)
- pageCacheCapacity = 2;
- else
- pageCacheCapacity = 1;
-
- // Object cache capacities (in bytes)
- // (Testing indicates that value / MB depends heavily on content and
- // browsing pattern. Even growth above 128MB can have substantial
- // value / MB for some content / browsing patterns.)
- if (memSize >= 4096)
- cacheTotalCapacity = 192 * 1024 * 1024;
- else if (memSize >= 2048)
- cacheTotalCapacity = 128 * 1024 * 1024;
- else if (memSize >= 1024)
- cacheTotalCapacity = 64 * 1024 * 1024;
- else if (memSize >= 512)
- cacheTotalCapacity = 32 * 1024 * 1024;
-
- cacheMinDeadCapacity = cacheTotalCapacity / 4;
- cacheMaxDeadCapacity = cacheTotalCapacity / 2;
-
- // This code is here to avoid a PLT regression. We can remove it if we
- // can prove that the overall system gain would justify the regression.
- cacheMaxDeadCapacity = max(24u, cacheMaxDeadCapacity);
-
- deadDecodedDataDeletionInterval = 60;
-
- // Foundation memory cache capacity (in bytes)
- // (These values are small because WebCore does most caching itself.)
- if (memSize >= 1024)
- nsurlCacheMemoryCapacity = 4 * 1024 * 1024;
- else if (memSize >= 512)
- nsurlCacheMemoryCapacity = 2 * 1024 * 1024;
- else if (memSize >= 256)
- nsurlCacheMemoryCapacity = 1 * 1024 * 1024;
- else
- nsurlCacheMemoryCapacity = 512 * 1024;
-
- // Foundation disk cache capacity (in bytes)
- if (diskFreeSize >= 16384)
- nsurlCacheDiskCapacity = 175 * 1024 * 1024;
- else if (diskFreeSize >= 8192)
- nsurlCacheDiskCapacity = 150 * 1024 * 1024;
- else if (diskFreeSize >= 4096)
- nsurlCacheDiskCapacity = 125 * 1024 * 1024;
- else if (diskFreeSize >= 2048)
- nsurlCacheDiskCapacity = 100 * 1024 * 1024;
- else if (diskFreeSize >= 1024)
- nsurlCacheDiskCapacity = 75 * 1024 * 1024;
- else
- nsurlCacheDiskCapacity = 50 * 1024 * 1024;
-
- break;
- }
- default:
- ASSERT_NOT_REACHED();
- };
-
-
- // Don't shrink a big disk cache, since that would cause churn.
- nsurlCacheDiskCapacity = max(nsurlCacheDiskCapacity, [nsurlCache diskCapacity]);
-
- memoryCache()->setCapacities(cacheMinDeadCapacity, cacheMaxDeadCapacity, cacheTotalCapacity);
- memoryCache()->setDeadDecodedDataDeletionInterval(deadDecodedDataDeletionInterval);
- pageCache()->setCapacity(pageCacheCapacity);
- [nsurlCache setMemoryCapacity:nsurlCacheMemoryCapacity];
- [nsurlCache setDiskCapacity:nsurlCacheDiskCapacity];
-
- s_cacheModel = cacheModel;
- s_didSetCacheModel = YES;
-}
-
-+ (WebCacheModel)_cacheModel
-{
- return s_cacheModel;
-}
-
-+ (WebCacheModel)_didSetCacheModel
-{
- return s_didSetCacheModel;
-}
-
-+ (WebCacheModel)_maxCacheModelInAnyInstance
-{
- WebCacheModel cacheModel = WebCacheModelDocumentViewer;
- NSEnumerator *enumerator = [(NSMutableSet *)allWebViewsSet objectEnumerator];
- while (WebPreferences *preferences = [[enumerator nextObject] preferences])
- cacheModel = max(cacheModel, [preferences cacheModel]);
- return cacheModel;
-}
-
-+ (void)_cacheModelChangedNotification:(NSNotification *)notification
-{
- WebPreferences *preferences = (WebPreferences *)[notification object];
- ASSERT([preferences isKindOfClass:[WebPreferences class]]);
-
- WebCacheModel cacheModel = [preferences cacheModel];
- if (![self _didSetCacheModel] || cacheModel > [self _cacheModel])
- [self _setCacheModel:cacheModel];
- else if (cacheModel < [self _cacheModel])
- [self _setCacheModel:max([[WebPreferences standardPreferences] cacheModel], [self _maxCacheModelInAnyInstance])];
-}
-
-+ (void)_preferencesRemovedNotification:(NSNotification *)notification
-{
- WebPreferences *preferences = (WebPreferences *)[notification object];
- ASSERT([preferences isKindOfClass:[WebPreferences class]]);
-
- if ([preferences cacheModel] == [self _cacheModel])
- [self _setCacheModel:max([[WebPreferences standardPreferences] cacheModel], [self _maxCacheModelInAnyInstance])];
-}
-
-- (WebFrame *)_focusedFrame
-{
- NSResponder *resp = [[self window] firstResponder];
- if (resp && [resp isKindOfClass:[NSView class]] && [(NSView *)resp isDescendantOf:[[self mainFrame] frameView]]) {
- WebFrameView *frameView = containingFrameView((NSView *)resp);
- ASSERT(frameView != nil);
- return [frameView webFrame];
- }
-
- return nil;
-}
-
-- (BOOL)_isLoading
-{
- WebFrame *mainFrame = [self mainFrame];
- return [[mainFrame _dataSource] isLoading]
- || [[mainFrame provisionalDataSource] isLoading];
-}
-
-- (WebFrameView *)_frameViewAtWindowPoint:(NSPoint)point
-{
- if (_private->closed)
- return nil;
- NSView *view = [self hitTest:[[self superview] convertPoint:point fromView:nil]];
- if (![view isDescendantOf:[[self mainFrame] frameView]])
- return nil;
- WebFrameView *frameView = containingFrameView(view);
- ASSERT(frameView);
- return frameView;
-}
-
-+ (void)_preflightSpellCheckerNow:(id)sender
-{
- [[NSSpellChecker sharedSpellChecker] _preflightChosenSpellServer];
-}
-
-+ (void)_preflightSpellChecker
-{
- // As AppKit does, we wish to delay tickling the shared spellchecker into existence on application launch.
- if ([NSSpellChecker sharedSpellCheckerExists]) {
- [self _preflightSpellCheckerNow:self];
- } else {
- [self performSelector:@selector(_preflightSpellCheckerNow:) withObject:self afterDelay:2.0];
- }
-}
-
-- (BOOL)_continuousCheckingAllowed
-{
- static BOOL allowContinuousSpellChecking = YES;
- static BOOL readAllowContinuousSpellCheckingDefault = NO;
- if (!readAllowContinuousSpellCheckingDefault) {
- if ([[NSUserDefaults standardUserDefaults] objectForKey:@"NSAllowContinuousSpellChecking"]) {
- allowContinuousSpellChecking = [[NSUserDefaults standardUserDefaults] boolForKey:@"NSAllowContinuousSpellChecking"];
- }
- readAllowContinuousSpellCheckingDefault = YES;
- }
- return allowContinuousSpellChecking;
-}
-
-- (NSResponder *)_responderForResponderOperations
-{
- NSResponder *responder = [[self window] firstResponder];
- WebFrameView *mainFrameView = [[self mainFrame] frameView];
-
- // If the current responder is outside of the webview, use our main frameView or its
- // document view. We also do this for subviews of self that are siblings of the main
- // frameView since clients might insert non-webview-related views there (see 4552713).
- if (responder != self && ![mainFrameView _web_firstResponderIsSelfOrDescendantView]) {
- responder = [mainFrameView documentView];
- if (!responder)
- responder = mainFrameView;
- }
- return responder;
-}
-
-- (void)_openFrameInNewWindowFromMenu:(NSMenuItem *)sender
-{
- ASSERT_ARG(sender, [sender isKindOfClass:[NSMenuItem class]]);
-
- NSDictionary *element = [sender representedObject];
- ASSERT([element isKindOfClass:[NSDictionary class]]);
-
- WebDataSource *dataSource = [(WebFrame *)[element objectForKey:WebElementFrameKey] dataSource];
- NSURLRequest *request = [[dataSource request] copy];
- ASSERT(request);
-
- [self _openNewWindowWithRequest:request];
- [request release];
-}
-
-- (void)_searchWithGoogleFromMenu:(id)sender
-{
- id documentView = [[[self selectedFrame] frameView] documentView];
- if (![documentView conformsToProtocol:@protocol(WebDocumentText)]) {
- return;
- }
-
- NSString *selectedString = [(id <WebDocumentText>)documentView selectedString];
- if ([selectedString length] == 0) {
- return;
- }
-
- NSPasteboard *pasteboard = [NSPasteboard pasteboardWithUniqueName];
- [pasteboard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil];
- NSMutableString *s = [selectedString mutableCopy];
- const unichar nonBreakingSpaceCharacter = 0xA0;
- NSString *nonBreakingSpaceString = [NSString stringWithCharacters:&nonBreakingSpaceCharacter length:1];
- [s replaceOccurrencesOfString:nonBreakingSpaceString withString:@" " options:0 range:NSMakeRange(0, [s length])];
- [pasteboard setString:s forType:NSStringPboardType];
- [s release];
-
- // FIXME: seems fragile to use the service by name, but this is what AppKit does
- NSPerformService(@"Search With Google", pasteboard);
-}
-
-- (void)_searchWithSpotlightFromMenu:(id)sender
-{
- id documentView = [[[self selectedFrame] frameView] documentView];
- if (![documentView conformsToProtocol:@protocol(WebDocumentText)])
- return;
-
- NSString *selectedString = [(id <WebDocumentText>)documentView selectedString];
- if (![selectedString length])
- return;
-
- [[NSWorkspace sharedWorkspace] showSearchResultsForQueryString:selectedString];
-}
-
-#if USE(GLIB)
-- (void)_clearGlibLoopObserver
-{
- if (!_private->glibRunLoopObserver)
- return;
-
- CFRunLoopObserverInvalidate(_private->glibRunLoopObserver);
- CFRelease(_private->glibRunLoopObserver);
- _private->glibRunLoopObserver = 0;
-}
-#endif
-@end
-
-@implementation WebView (WebViewInternal)
-
-+ (BOOL)shouldIncludeInWebKitStatistics
-{
- return NO;
-}
-
-- (BOOL)_becomingFirstResponderFromOutside
-{
- return _private->becomingFirstResponderFromOutside;
-}
-
-#if ENABLE(ICONDATABASE)
-- (void)_receivedIconChangedNotification:(NSNotification *)notification
-{
- // Get the URL for this notification
- NSDictionary *userInfo = [notification userInfo];
- ASSERT([userInfo isKindOfClass:[NSDictionary class]]);
- NSString *urlString = [userInfo objectForKey:WebIconNotificationUserInfoURLKey];
- ASSERT([urlString isKindOfClass:[NSString class]]);
-
- // If that URL matches the current main frame, dispatch the delegate call, which will also unregister
- // us for this notification
- if ([[self mainFrameURL] isEqualTo:urlString])
- [self _dispatchDidReceiveIconFromWebFrame:[self mainFrame]];
-}
-
-- (void)_registerForIconNotification:(BOOL)listen
-{
- if (listen)
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(_receivedIconChangedNotification:) name:WebIconDatabaseDidAddIconNotification object:nil];
- else
- [[NSNotificationCenter defaultCenter] removeObserver:self name:WebIconDatabaseDidAddIconNotification object:nil];
-}
-
-- (void)_dispatchDidReceiveIconFromWebFrame:(WebFrame *)webFrame
-{
- // FIXME: This willChangeValueForKey call is too late, because the icon has already changed by now.
- [self _willChangeValueForKey:_WebMainFrameIconKey];
-
- // Since we definitely have an icon and are about to send out the delegate call for that, this WebView doesn't need to listen for the general
- // notification any longer
- [self _registerForIconNotification:NO];
-
- WebFrameLoadDelegateImplementationCache* cache = &_private->frameLoadDelegateImplementations;
- if (cache->didReceiveIconForFrameFunc) {
- Image* image = iconDatabase().synchronousIconForPageURL(core(webFrame)->document()->url().string(), IntSize(16, 16));
- if (NSImage *icon = webGetNSImage(image, NSMakeSize(16, 16)))
- CallFrameLoadDelegate(cache->didReceiveIconForFrameFunc, self, @selector(webView:didReceiveIcon:forFrame:), icon, webFrame);
- }
-
- [self _didChangeValueForKey:_WebMainFrameIconKey];
-}
-#endif // ENABLE(ICONDATABASE)
-
-- (void)_addObject:(id)object forIdentifier:(unsigned long)identifier
-{
- ASSERT(!_private->identifierMap.contains(identifier));
-
- // If the identifier map is initially empty it means we're starting a load
- // of something. The semantic is that the web view should be around as long
- // as something is loading. Because of that we retain the web view.
- if (_private->identifierMap.isEmpty())
- CFRetain(self);
-
- _private->identifierMap.set(identifier, object);
-}
-
-- (id)_objectForIdentifier:(unsigned long)identifier
-{
- return _private->identifierMap.get(identifier).get();
-}
-
-- (void)_removeObjectForIdentifier:(unsigned long)identifier
-{
- ASSERT(_private->identifierMap.contains(identifier));
- _private->identifierMap.remove(identifier);
-
- // If the identifier map is now empty it means we're no longer loading anything
- // and we should release the web view. Autorelease rather than release in order to
- // avoid re-entering this method beneath -dealloc with the same identifier. <rdar://problem/10523721>
- if (_private->identifierMap.isEmpty())
- WebCFAutorelease(self);
-}
-
-- (void)_retrieveKeyboardUIModeFromPreferences:(NSNotification *)notification
-{
- CFPreferencesAppSynchronize(UniversalAccessDomain);
-
- Boolean keyExistsAndHasValidFormat;
- int mode = CFPreferencesGetAppIntegerValue(AppleKeyboardUIMode, UniversalAccessDomain, &keyExistsAndHasValidFormat);
-
- // The keyboard access mode is reported by two bits:
- // Bit 0 is set if feature is on
- // Bit 1 is set if full keyboard access works for any control, not just text boxes and lists
- _private->_keyboardUIMode = (mode & 0x2) ? KeyboardAccessFull : KeyboardAccessDefault;
-
- // check for tabbing to links
- if ([_private->preferences tabsToLinks])
- _private->_keyboardUIMode = (KeyboardUIMode)(_private->_keyboardUIMode | KeyboardAccessTabsToLinks);
-}
-
-- (KeyboardUIMode)_keyboardUIMode
-{
- if (!_private->_keyboardUIModeAccessed) {
- _private->_keyboardUIModeAccessed = YES;
-
- [self _retrieveKeyboardUIModeFromPreferences:nil];
-
- [[NSDistributedNotificationCenter defaultCenter]
- addObserver:self selector:@selector(_retrieveKeyboardUIModeFromPreferences:)
- name:KeyboardUIModeDidChangeNotification object:nil];
-
- [[NSNotificationCenter defaultCenter]
- addObserver:self selector:@selector(_retrieveKeyboardUIModeFromPreferences:)
- name:WebPreferencesChangedInternalNotification object:nil];
- }
- return _private->_keyboardUIMode;
-}
-
-- (void)_setInsertionPasteboard:(NSPasteboard *)pasteboard
-{
- _private->insertionPasteboard = pasteboard;
-}
-
-- (Frame*)_mainCoreFrame
-{
- return (_private && _private->page) ? _private->page->mainFrame() : 0;
-}
-
-- (WebFrame *)_selectedOrMainFrame
-{
- WebFrame *result = [self selectedFrame];
- if (result == nil)
- result = [self mainFrame];
- return result;
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-
-- (BOOL)_needsOneShotDrawingSynchronization
-{
- return _private->needsOneShotDrawingSynchronization;
-}
-
-- (void)_setNeedsOneShotDrawingSynchronization:(BOOL)needsSynchronization
-{
- _private->needsOneShotDrawingSynchronization = needsSynchronization;
-}
-
-- (BOOL)_flushCompositingChanges
-{
- Frame* frame = [self _mainCoreFrame];
- if (frame && frame->view())
- return frame->view()->flushCompositingStateIncludingSubframes();
-
- return YES;
-}
-
-/*
- The order of events with compositing updates is this:
-
- Start of runloop End of runloop
- | |
- --|-------------------------------------------------------|--
- ^ ^ ^
- | | |
- NSWindow update, | CA commit
- NSView drawing |
- flush |
- layerSyncRunLoopObserverCallBack
-
- To avoid flashing, we have to ensure that compositing changes (rendered via
- the CoreAnimation rendering display link) appear on screen at the same time
- as content painted into the window via the normal WebCore rendering path.
-
- CoreAnimation will commit any layer changes at the end of the runloop via
- its "CA commit" observer. Those changes can then appear onscreen at any time
- when the display link fires, which can result in unsynchronized rendering.
-
- To fix this, the GraphicsLayerCA code in WebCore does not change the CA
- layer tree during style changes and layout; it stores up all changes and
- commits them via flushCompositingState(). There are then two situations in
- which we can call flushCompositingState():
-
- 1. When painting. FrameView::paintContents() makes a call to flushCompositingState().
-
- 2. When style changes/layout have made changes to the layer tree which do not
- result in painting. In this case we need a run loop observer to do a
- flushCompositingState() at an appropriate time. The observer will keep firing
- until the time is right (essentially when there are no more pending layouts).
-
-*/
-bool LayerFlushController::flushLayers()
-{
- NSWindow *window = [m_webView window];
-
- // An NSWindow may not display in the next runloop cycle after dirtying due to delayed window display logic,
- // in which case this observer can fire first. So if the window is due for a display, don't commit
- // layer changes, otherwise they'll show on screen before the view drawing.
- bool viewsNeedDisplay;
-#ifndef __LP64__
- if (window && [window _wrapsCarbonWindow])
- viewsNeedDisplay = HIViewGetNeedsDisplay(HIViewGetRoot(static_cast<WindowRef>([window windowRef])));
- else
-#endif
- viewsNeedDisplay = [window viewsNeedDisplay];
-
- if (viewsNeedDisplay)
- return false;
-
- if ([m_webView _flushCompositingChanges]) {
- // AppKit may have disabled screen updates, thinking an upcoming window flush will re-enable them.
- // In case setNeedsDisplayInRect() has prevented the window from needing to be flushed, re-enable screen
- // updates here.
- if (![window isFlushWindowDisabled])
- [window _enableScreenUpdatesIfNeeded];
-
- return true;
- }
-
- // Since the WebView does not need display, -viewWillDraw will not be called. Perform pending layout now,
- // so that the layers draw with up-to-date layout.
- [m_webView _viewWillDrawInternal];
-
- return false;
-}
-
-- (void)_scheduleCompositingLayerFlush
-{
- if (!_private->layerFlushController)
- _private->layerFlushController = LayerFlushController::create(self);
- _private->layerFlushController->scheduleLayerFlush();
-}
-
-#endif
-
-#if ENABLE(VIDEO)
-
-- (void)_enterFullscreenForNode:(WebCore::Node*)node
-{
- ASSERT(node->hasTagName(WebCore::HTMLNames::videoTag));
- HTMLMediaElement* videoElement = toHTMLMediaElement(node);
-
- if (_private->fullscreenController) {
- if ([_private->fullscreenController mediaElement] == videoElement) {
- // The backend may just warn us that the underlaying plaftormMovie()
- // has changed. Just force an update.
- [_private->fullscreenController setMediaElement:videoElement];
- return; // No more to do.
- }
-
- // First exit Fullscreen for the old mediaElement.
- [_private->fullscreenController mediaElement]->exitFullscreen();
- // This previous call has to trigger _exitFullscreen,
- // which has to clear _private->fullscreenController.
- ASSERT(!_private->fullscreenController);
- }
- if (!_private->fullscreenController) {
- _private->fullscreenController = [[WebVideoFullscreenController alloc] init];
- [_private->fullscreenController setMediaElement:videoElement];
- [_private->fullscreenController enterFullscreen:[[self window] screen]];
- }
- else
- [_private->fullscreenController setMediaElement:videoElement];
-}
-
-- (void)_exitFullscreen
-{
- if (!_private->fullscreenController)
- return;
- [_private->fullscreenController exitFullscreen];
- [_private->fullscreenController release];
- _private->fullscreenController = nil;
-}
-
-#endif
-
-#if ENABLE(FULLSCREEN_API)
-- (BOOL)_supportsFullScreenForElement:(const WebCore::Element*)element withKeyboard:(BOOL)withKeyboard
-{
- if (![[WebPreferences standardPreferences] fullScreenEnabled])
- return NO;
-
- return !withKeyboard;
-}
-
-- (void)_enterFullScreenForElement:(WebCore::Element*)element
-{
- if (!_private->newFullscreenController)
- _private->newFullscreenController = [[WebFullScreenController alloc] init];
-
- [_private->newFullscreenController setElement:element];
- [_private->newFullscreenController setWebView:self];
- [_private->newFullscreenController enterFullScreen:[[self window] screen]];
-}
-
-- (void)_exitFullScreenForElement:(WebCore::Element*)element
-{
- if (!_private->newFullscreenController)
- return;
- [_private->newFullscreenController exitFullScreen];
-}
-#endif
-
-#if USE(GLIB)
-
-static void glibContextIterationCallback(CFRunLoopObserverRef, CFRunLoopActivity, void*)
-{
- g_main_context_iteration(0, FALSE);
-}
-
-- (void)_scheduleGlibContextIterations
-{
- if (_private->glibRunLoopObserver)
- return;
-
- NSRunLoop* myRunLoop = [NSRunLoop currentRunLoop];
-
- // Create a run loop observer and attach it to the run loop.
- CFRunLoopObserverContext context = {0, self, 0, 0, 0};
- _private->glibRunLoopObserver = CFRunLoopObserverCreate(kCFAllocatorDefault, kCFRunLoopBeforeWaiting, YES, 0, &glibContextIterationCallback, &context);
-
- if (_private->glibRunLoopObserver) {
- CFRunLoopRef cfLoop = [myRunLoop getCFRunLoop];
- CFRunLoopAddObserver(cfLoop, _private->glibRunLoopObserver, kCFRunLoopDefaultMode);
- }
-
-}
-#endif
-
-#if USE(AUTOCORRECTION_PANEL)
-- (void)handleAcceptedAlternativeText:(NSString*)text
-{
- WebFrame *webFrame = [self _selectedOrMainFrame];
- Frame* coreFrame = core(webFrame);
- if (coreFrame)
- coreFrame->editor().handleAlternativeTextUIResult(text);
-}
-#endif
-
-#if USE(DICTATION_ALTERNATIVES)
-- (void)_getWebCoreDictationAlternatives:(Vector<DictationAlternative>&)alternatives fromTextAlternatives:(const Vector<TextAlternativeWithRange>&)alternativesWithRange
-{
- for (size_t i = 0; i < alternativesWithRange.size(); ++i) {
- const TextAlternativeWithRange& alternativeWithRange = alternativesWithRange[i];
- uint64_t dictationContext = _private->m_alternativeTextUIController->addAlternatives(alternativeWithRange.alternatives);
- if (dictationContext)
- alternatives.append(DictationAlternative(alternativeWithRange.range.location, alternativeWithRange.range.length, dictationContext));
- }
-}
-
-- (void)_showDictationAlternativeUI:(const WebCore::FloatRect&)boundingBoxOfDictatedText forDictationContext:(uint64_t)dictationContext
-{
- _private->m_alternativeTextUIController->showAlternatives(self, [self _convertRectFromRootView:boundingBoxOfDictatedText], dictationContext, ^(NSString* acceptedAlternative) {
- [self handleAcceptedAlternativeText:acceptedAlternative];
- });
-}
-
-- (void)_removeDictationAlternatives:(uint64_t)dictationContext
-{
- _private->m_alternativeTextUIController->removeAlternatives(dictationContext);
-}
-
-- (Vector<String>)_dictationAlternatives:(uint64_t)dictationContext
-{
- return _private->m_alternativeTextUIController->alternativesForContext(dictationContext);
-}
-#endif
-
-- (NSPoint)_convertPointFromRootView:(NSPoint)point
-{
- return NSMakePoint(point.x, [self bounds].size.height - point.y);
-}
-
-- (NSRect)_convertRectFromRootView:(NSRect)rect
-{
- return NSMakeRect(rect.origin.x, [self bounds].size.height - rect.origin.y - rect.size.height, rect.size.width, rect.size.height);
-}
-
-@end
-
-@implementation WebView (WebViewDeviceOrientation)
-
-- (void)_setDeviceOrientationProvider:(id<WebDeviceOrientationProvider>)deviceOrientationProvider
-{
- if (_private)
- _private->m_deviceOrientationProvider = deviceOrientationProvider;
-}
-
-- (id<WebDeviceOrientationProvider>)_deviceOrientationProvider
-{
- if (_private)
- return _private->m_deviceOrientationProvider;
- return nil;
-}
-
-@end
-
-@implementation WebView (WebViewGeolocation)
-
-- (void)_setGeolocationProvider:(id<WebGeolocationProvider>)geolocationProvider
-{
- if (_private)
- _private->_geolocationProvider = geolocationProvider;
-}
-
-- (id<WebGeolocationProvider>)_geolocationProvider
-{
- if (_private)
- return _private->_geolocationProvider;
- return nil;
-}
-
-- (void)_geolocationDidChangePosition:(WebGeolocationPosition *)position
-{
-#if ENABLE(GEOLOCATION)
- if (_private && _private->page)
- WebCore::GeolocationController::from(_private->page)->positionChanged(core(position));
-#endif // ENABLE(GEOLOCATION)
-}
-
-- (void)_geolocationDidFailWithMessage:(NSString *)errorMessage
-{
-#if ENABLE(GEOLOCATION)
- if (_private && _private->page) {
- RefPtr<GeolocationError> geolocatioError = GeolocationError::create(GeolocationError::PositionUnavailable, errorMessage);
- WebCore::GeolocationController::from(_private->page)->errorOccurred(geolocatioError.get());
- }
-#endif // ENABLE(GEOLOCATION)
-}
-
-@end
-
-@implementation WebView (WebViewNotification)
-- (void)_setNotificationProvider:(id<WebNotificationProvider>)notificationProvider
-{
- if (_private && !_private->_notificationProvider) {
- _private->_notificationProvider = notificationProvider;
- [_private->_notificationProvider registerWebView:self];
- }
-}
-
-- (id<WebNotificationProvider>)_notificationProvider
-{
- if (_private)
- return _private->_notificationProvider;
- return nil;
-}
-
-- (void)_notificationDidShow:(uint64_t)notificationID
-{
- [[self _notificationProvider] webView:self didShowNotification:notificationID];
-}
-
-- (void)_notificationDidClick:(uint64_t)notificationID
-{
- [[self _notificationProvider] webView:self didClickNotification:notificationID];
-}
-
-- (void)_notificationsDidClose:(NSArray *)notificationIDs
-{
- [[self _notificationProvider] webView:self didCloseNotifications:notificationIDs];
-}
-
-- (uint64_t)_notificationIDForTesting:(JSValueRef)jsNotification
-{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- JSContextRef context = [[self mainFrame] globalContext];
- WebCore::Notification* notification = toNotification(toJS(toJS(context), jsNotification));
- return static_cast<WebNotificationClient*>(NotificationController::clientFrom(_private->page))->notificationIDForTesting(notification);
-#else
- return 0;
-#endif
-}
-@end
-
-@implementation WebView (WebViewFullScreen)
-
-- (NSView*)fullScreenPlaceholderView
-{
-#if ENABLE(FULLSCREEN_API)
- if (_private->newFullscreenController && [_private->newFullscreenController isFullScreen])
- return [_private->newFullscreenController webViewPlaceholder];
-#endif
- return nil;
-}
-
-@end
-
-void WebInstallMemoryPressureHandler(void)
-{
- memoryPressureHandler().install();
-}
diff --git a/Source/WebKit/mac/WebView/WebViewData.h b/Source/WebKit/mac/WebView/WebViewData.h
deleted file mode 100644
index ddd3e41c6..000000000
--- a/Source/WebKit/mac/WebView/WebViewData.h
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2012 Apple Inc. All rights reserved.
- * Copyright (C) 2010 Igalia S.L
- *
- * 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebTypesInternal.h"
-#import "WebDelegateImplementationCaching.h"
-#import <WebCore/AlternativeTextClient.h>
-#import <WebCore/LayerFlushScheduler.h>
-#import <WebCore/LayerFlushSchedulerClient.h>
-#import <WebCore/WebCoreKeyboardUIMode.h>
-#import <wtf/HashMap.h>
-#import <wtf/PassOwnPtr.h>
-#import <wtf/RetainPtr.h>
-#import <wtf/text/WTFString.h>
-
-namespace WebCore {
-class AlternativeTextUIController;
-class HistoryItem;
-class Page;
-}
-
-@class WebInspector;
-@class WebNodeHighlight;
-@class WebPluginDatabase;
-@class WebPreferences;
-@class WebTextCompletionController;
-@protocol WebFormDelegate;
-@protocol WebDeviceOrientationProvider;
-@protocol WebGeolocationProvider;
-@protocol WebNotificationProvider;
-#if ENABLE(VIDEO)
-@class WebVideoFullscreenController;
-#endif
-#if ENABLE(FULLSCREEN_API)
-@class WebFullScreenController;
-#endif
-
-extern BOOL applicationIsTerminating;
-extern int pluginDatabaseClientCount;
-
-#if USE(ACCELERATED_COMPOSITING)
-class LayerFlushController;
-
-class WebViewLayerFlushScheduler : public WebCore::LayerFlushScheduler {
-public:
- WebViewLayerFlushScheduler(LayerFlushController*);
- virtual ~WebViewLayerFlushScheduler() { }
-
-private:
- virtual void runLoopObserverCallback() OVERRIDE
- {
- RefPtr<LayerFlushController> protector = m_flushController;
- WebCore::LayerFlushScheduler::runLoopObserverCallback();
- }
-
- LayerFlushController* m_flushController;
-};
-
-class LayerFlushController : public RefCounted<LayerFlushController>, public WebCore::LayerFlushSchedulerClient {
-public:
- static PassRefPtr<LayerFlushController> create(WebView* webView)
- {
- return adoptRef(new LayerFlushController(webView));
- }
-
- virtual bool flushLayers();
-
- void scheduleLayerFlush();
- void invalidate();
-
-private:
- LayerFlushController(WebView*);
-
- WebView* m_webView;
- WebViewLayerFlushScheduler m_layerFlushScheduler;
-};
-#endif
-
-// FIXME: This should be renamed to WebViewData.
-@interface WebViewPrivate : NSObject {
-@public
- WebCore::Page* page;
-
- id UIDelegate;
- id UIDelegateForwarder;
- id resourceProgressDelegate;
- id downloadDelegate;
- id policyDelegate;
- id policyDelegateForwarder;
- id frameLoadDelegate;
- id frameLoadDelegateForwarder;
- id <WebFormDelegate> formDelegate;
- id editingDelegate;
- id editingDelegateForwarder;
- id scriptDebugDelegate;
- id historyDelegate;
-
- WebInspector *inspector;
- WebNodeHighlight *currentNodeHighlight;
-
- BOOL allowsUndo;
-
- float zoomMultiplier;
- BOOL zoomsTextOnly;
-
- NSString *applicationNameForUserAgent;
- WTF::String userAgent;
- BOOL userAgentOverridden;
-
- WebPreferences *preferences;
- BOOL useSiteSpecificSpoofing;
-
- NSWindow *hostWindow;
-
- int programmaticFocusCount;
-
- WebResourceDelegateImplementationCache resourceLoadDelegateImplementations;
- WebFrameLoadDelegateImplementationCache frameLoadDelegateImplementations;
- WebScriptDebugDelegateImplementationCache scriptDebugDelegateImplementations;
- WebHistoryDelegateImplementationCache historyDelegateImplementations;
-
- void *observationInfo;
-
- BOOL closed;
- BOOL shouldCloseWithWindow;
- BOOL mainFrameDocumentReady;
- BOOL drawsBackground;
- BOOL tabKeyCyclesThroughElementsChanged;
- BOOL becomingFirstResponder;
- BOOL becomingFirstResponderFromOutside;
- BOOL usesPageCache;
-
- NSColor *backgroundColor;
-
- NSString *mediaStyle;
-
- BOOL hasSpellCheckerDocumentTag;
- NSInteger spellCheckerDocumentTag;
-
-#if ENABLE(DASHBOARD_SUPPORT)
- BOOL dashboardBehaviorAlwaysSendMouseEventsToAllWindows;
- BOOL dashboardBehaviorAlwaysSendActiveNullEventsToPlugIns;
- BOOL dashboardBehaviorAlwaysAcceptsFirstMouse;
- BOOL dashboardBehaviorAllowWheelScrolling;
-#endif
-
- // WebKit has both a global plug-in database and a separate, per WebView plug-in database. Dashboard uses the per WebView database.
- WebPluginDatabase *pluginDatabase;
-
- HashMap<unsigned long, RetainPtr<id> > identifierMap;
-
- BOOL _keyboardUIModeAccessed;
- WebCore::KeyboardUIMode _keyboardUIMode;
-
- BOOL shouldUpdateWhileOffscreen;
-
- BOOL includesFlattenedCompositingLayersWhenDrawingToBitmap;
-
-#if USE(ACCELERATED_COMPOSITING)
- // When this flag is set, next time a WebHTMLView draws, it needs to temporarily disable screen updates
- // so that the NSView drawing is visually synchronized with CALayer updates.
- BOOL needsOneShotDrawingSynchronization;
- BOOL postsAcceleratedCompositingNotifications;
- RefPtr<LayerFlushController> layerFlushController;
-#endif
-
- NSPasteboard *insertionPasteboard;
-
- NSSize lastLayoutSize;
-
-#if ENABLE(VIDEO)
- WebVideoFullscreenController *fullscreenController;
-#endif
-
-#if ENABLE(FULLSCREEN_API)
- WebFullScreenController *newFullscreenController;
-#endif
-
-#if USE(GLIB)
- CFRunLoopObserverRef glibRunLoopObserver;
-#endif
- id<WebGeolocationProvider> _geolocationProvider;
- id<WebDeviceOrientationProvider> m_deviceOrientationProvider;
- id<WebNotificationProvider> _notificationProvider;
-
- RefPtr<WebCore::HistoryItem> _globalHistoryItem;
-
- BOOL interactiveFormValidationEnabled;
- int validationMessageTimerMagnification;
-
- float customDeviceScaleFactor;
-
-#if USE(DICTATION_ALTERNATIVES)
- OwnPtr<WebCore::AlternativeTextUIController> m_alternativeTextUIController;
-#endif
-
- RetainPtr<NSData> sourceApplicationAuditData;
-}
-@end
diff --git a/Source/WebKit/mac/WebView/WebViewData.mm b/Source/WebKit/mac/WebView/WebViewData.mm
deleted file mode 100644
index 62dda0b48..000000000
--- a/Source/WebKit/mac/WebView/WebViewData.mm
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2006 David Smith (catfish.man@gmail.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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import "WebViewData.h"
-
-#import "WebKitLogging.h"
-#import "WebPreferenceKeysPrivate.h"
-#import <WebCore/AlternativeTextUIController.h>
-#import <WebCore/WebCoreObjCExtras.h>
-#import <WebCore/HistoryItem.h>
-#import <WebCore/RunLoop.h>
-#import <objc/objc-auto.h>
-#import <runtime/InitializeThreading.h>
-#import <wtf/MainThread.h>
-
-BOOL applicationIsTerminating = NO;
-int pluginDatabaseClientCount = 0;
-
-#if USE(ACCELERATED_COMPOSITING)
-void LayerFlushController::scheduleLayerFlush()
-{
- m_layerFlushScheduler.schedule();
-}
-
-void LayerFlushController::invalidate()
-{
- m_layerFlushScheduler.invalidate();
- m_webView = nullptr;
-}
-
-LayerFlushController::LayerFlushController(WebView* webView)
- : m_webView(webView)
- , m_layerFlushScheduler(this)
-{
- ASSERT_ARG(webView, webView);
-}
-
-WebViewLayerFlushScheduler::WebViewLayerFlushScheduler(LayerFlushController* flushController)
- : WebCore::LayerFlushScheduler(flushController)
- , m_flushController(flushController)
-{
-}
-#endif
-
-@implementation WebViewPrivate
-
-+ (void)initialize
-{
- JSC::initializeThreading();
- WTF::initializeMainThreadToProcessMainThread();
- WebCore::RunLoop::initializeMainRunLoop();
- WebCoreObjCFinalizeOnMainThread(self);
-}
-
-- (id)init
-{
- self = [super init];
- if (!self)
- return nil;
-
- allowsUndo = YES;
- usesPageCache = YES;
- shouldUpdateWhileOffscreen = YES;
-
- zoomMultiplier = 1;
- zoomsTextOnly = NO;
-
- interactiveFormValidationEnabled = NO;
- // The default value should be synchronized with WebCore/page/Settings.cpp.
- validationMessageTimerMagnification = 50;
-
-#if ENABLE(DASHBOARD_SUPPORT)
- dashboardBehaviorAllowWheelScrolling = YES;
-#endif
-
- shouldCloseWithWindow = objc_collectingEnabled();
-
- pluginDatabaseClientCount++;
-
-#if USE(DICTATION_ALTERNATIVES)
- m_alternativeTextUIController = adoptPtr(new WebCore::AlternativeTextUIController);
-#endif
-
- return self;
-}
-
-- (void)dealloc
-{
- ASSERT(applicationIsTerminating || !page);
- ASSERT(applicationIsTerminating || !preferences);
- ASSERT(!insertionPasteboard);
-#if ENABLE(VIDEO)
- ASSERT(!fullscreenController);
-#endif
-
- [applicationNameForUserAgent release];
- [backgroundColor release];
- [inspector release];
- [currentNodeHighlight release];
- [hostWindow release];
- [policyDelegateForwarder release];
- [UIDelegateForwarder release];
- [frameLoadDelegateForwarder release];
- [editingDelegateForwarder release];
- [mediaStyle release];
-
- [super dealloc];
-}
-
-- (void)finalize
-{
- ASSERT_MAIN_THREAD();
- ASSERT(!insertionPasteboard);
-#if ENABLE(VIDEO)
- ASSERT(!fullscreenController);
-#endif
-
- [super finalize];
-}
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebViewInternal.h b/Source/WebKit/mac/WebView/WebViewInternal.h
deleted file mode 100644
index c27082940..000000000
--- a/Source/WebKit/mac/WebView/WebViewInternal.h
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2010 Igalia S.L
- *
- * 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-// This header contains WebView declarations that can be used anywhere in WebKit, but are neither SPI nor API.
-
-#import "WebPreferences.h"
-#import "WebViewPrivate.h"
-#import "WebTypesInternal.h"
-
-#ifdef __cplusplus
-#import <WebCore/AlternativeTextClient.h>
-#import <WebCore/FindOptions.h>
-#import <WebCore/FloatRect.h>
-#import <WebCore/LayoutMilestones.h>
-#import <WebCore/TextAlternativeWithRange.h>
-#import <WebCore/WebCoreKeyboardUIMode.h>
-
-#include <wtf/Forward.h>
-#include <wtf/RetainPtr.h>
-
-namespace WebCore {
-class Element;
-class Event;
-class Frame;
-class HistoryItem;
-class KURL;
-class KeyboardEvent;
-class Page;
-class RenderBox;
-class Node;
-struct DictationAlternative;
-}
-#endif
-
-@class WebBasePluginPackage;
-@class WebDownload;
-@class WebNodeHighlight;
-
-#ifdef __cplusplus
-
-WebCore::FindOptions coreOptions(WebFindOptions options);
-
-WebCore::LayoutMilestones coreLayoutMilestones(WebLayoutMilestones);
-WebLayoutMilestones kitLayoutMilestones(WebCore::LayoutMilestones);
-
-#if USE(DICTATION_ALTERNATIVES)
-OBJC_CLASS NSTextAlternatives;
-#endif
-
-@interface WebView (WebViewEditingExtras)
-- (BOOL)_shouldChangeSelectedDOMRange:(DOMRange *)currentRange toDOMRange:(DOMRange *)proposedRange affinity:(NSSelectionAffinity)selectionAffinity stillSelecting:(BOOL)flag;
-@end
-
-@interface WebView (AllWebViews)
-+ (void)_makeAllWebViewsPerformSelector:(SEL)selector;
-- (void)_removeFromAllWebViewsSet;
-- (void)_addToAllWebViewsSet;
-@end
-
-@interface WebView (WebViewInternal)
-
-+ (BOOL)shouldIncludeInWebKitStatistics;
-
-- (WebCore::Frame*)_mainCoreFrame;
-- (WebFrame *)_selectedOrMainFrame;
-
-- (WebCore::KeyboardUIMode)_keyboardUIMode;
-
-- (BOOL)_becomingFirstResponderFromOutside;
-
-#if ENABLE(ICONDATABASE)
-- (void)_registerForIconNotification:(BOOL)listen;
-- (void)_dispatchDidReceiveIconFromWebFrame:(WebFrame *)webFrame;
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
-- (BOOL)_needsOneShotDrawingSynchronization;
-- (void)_setNeedsOneShotDrawingSynchronization:(BOOL)needsSynchronization;
-- (void)_scheduleCompositingLayerFlush;
-#endif
-
-#if USE(GLIB)
-- (void)_scheduleGlibContextIterations;
-#endif
-
-#if USE(AUTOCORRECTION_PANEL)
-- (void)handleAcceptedAlternativeText:(NSString*)text;
-#endif
-
-#if USE(DICTATION_ALTERNATIVES)
-- (void)_getWebCoreDictationAlternatives:(Vector<WebCore::DictationAlternative>&)alternatives fromTextAlternatives:(const Vector<WebCore::TextAlternativeWithRange>&)alternativesWithRange;
-- (void)_showDictationAlternativeUI:(const WebCore::FloatRect&)boundingBoxOfDictatedText forDictationContext:(uint64_t)dictationContext;
-- (void)_removeDictationAlternatives:(uint64_t)dictationContext;
-- (Vector<String>)_dictationAlternatives:(uint64_t)dictationContext;
-#endif
-
-@end
-
-#endif
-
-// FIXME: Temporary way to expose methods that are in the wrong category inside WebView.
-@interface WebView (WebViewOtherInternal)
-
-+ (void)_setCacheModel:(WebCacheModel)cacheModel;
-+ (WebCacheModel)_cacheModel;
-
-#ifdef __cplusplus
-- (WebCore::Page*)page;
-- (void)_setGlobalHistoryItem:(WebCore::HistoryItem*)historyItem;
-- (WTF::String)_userAgentString;
-#endif
-
-- (NSMenu *)_menuForElement:(NSDictionary *)element defaultItems:(NSArray *)items;
-- (id)_UIDelegateForwarder;
-- (id)_editingDelegateForwarder;
-- (id)_policyDelegateForwarder;
-- (void)_pushPerformingProgrammaticFocus;
-- (void)_popPerformingProgrammaticFocus;
-- (void)_didStartProvisionalLoadForFrame:(WebFrame *)frame;
-+ (BOOL)_viewClass:(Class *)vClass andRepresentationClass:(Class *)rClass forMIMEType:(NSString *)MIMEType allowingPlugins:(BOOL)allowPlugins;
-- (BOOL)_viewClass:(Class *)vClass andRepresentationClass:(Class *)rClass forMIMEType:(NSString *)MIMEType;
-+ (void)_registerPluginMIMEType:(NSString *)MIMEType;
-+ (void)_unregisterPluginMIMEType:(NSString *)MIMEType;
-+ (BOOL)_canShowMIMEType:(NSString *)MIMEType allowingPlugins:(BOOL)allowPlugins;
-- (BOOL)_canShowMIMEType:(NSString *)MIMEType;
-+ (NSString *)_MIMETypeForFile:(NSString *)path;
-- (WebDownload *)_downloadURL:(NSURL *)URL;
-+ (NSString *)_generatedMIMETypeForURLScheme:(NSString *)URLScheme;
-+ (BOOL)_representationExistsForURLScheme:(NSString *)URLScheme;
-- (BOOL)_isPerformingProgrammaticFocus;
-- (void)_mouseDidMoveOverElement:(NSDictionary *)dictionary modifierFlags:(NSUInteger)modifierFlags;
-- (WebView *)_openNewWindowWithRequest:(NSURLRequest *)request;
-- (void)_writeImageForElement:(NSDictionary *)element withPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard;
-- (void)_writeLinkElement:(NSDictionary *)element withPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard;
-- (void)_openFrameInNewWindowFromMenu:(NSMenuItem *)sender;
-- (void)_searchWithGoogleFromMenu:(id)sender;
-- (void)_searchWithSpotlightFromMenu:(id)sender;
-- (void)_progressCompleted:(WebFrame *)frame;
-- (void)_didCommitLoadForFrame:(WebFrame *)frame;
-- (void)_didFinishLoadForFrame:(WebFrame *)frame;
-- (void)_didFailLoadWithError:(NSError *)error forFrame:(WebFrame *)frame;
-- (void)_didFailProvisionalLoadWithError:(NSError *)error forFrame:(WebFrame *)frame;
-- (void)_willChangeValueForKey:(NSString *)key;
-- (void)_didChangeValueForKey:(NSString *)key;
-- (WebBasePluginPackage *)_pluginForMIMEType:(NSString *)MIMEType;
-- (WebBasePluginPackage *)_pluginForExtension:(NSString *)extension;
-#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
-- (WebBasePluginPackage *)_videoProxyPluginForMIMEType:(NSString *)MIMEType;
-#endif
-
-- (void)setCurrentNodeHighlight:(WebNodeHighlight *)nodeHighlight;
-- (WebNodeHighlight *)currentNodeHighlight;
-
-- (void)addPluginInstanceView:(NSView *)view;
-- (void)removePluginInstanceView:(NSView *)view;
-- (void)removePluginInstanceViewsFor:(WebFrame*)webFrame;
-
-- (void)_addObject:(id)object forIdentifier:(unsigned long)identifier;
-- (id)_objectForIdentifier:(unsigned long)identifier;
-- (void)_removeObjectForIdentifier:(unsigned long)identifier;
-
-- (void)_setZoomMultiplier:(float)multiplier isTextOnly:(BOOL)isTextOnly;
-- (float)_zoomMultiplier:(BOOL)isTextOnly;
-- (float)_realZoomMultiplier;
-- (BOOL)_realZoomMultiplierIsTextOnly;
-- (BOOL)_canZoomOut:(BOOL)isTextOnly;
-- (BOOL)_canZoomIn:(BOOL)isTextOnly;
-- (IBAction)_zoomOut:(id)sender isTextOnly:(BOOL)isTextOnly;
-- (IBAction)_zoomIn:(id)sender isTextOnly:(BOOL)isTextOnly;
-- (BOOL)_canResetZoom:(BOOL)isTextOnly;
-- (IBAction)_resetZoom:(id)sender isTextOnly:(BOOL)isTextOnly;
-
-+ (BOOL)_canHandleRequest:(NSURLRequest *)request forMainFrame:(BOOL)forMainFrame;
-
-- (void)_setInsertionPasteboard:(NSPasteboard *)pasteboard;
-
-- (void)_preferencesChanged:(WebPreferences *)preferences;
-
-#if ENABLE(VIDEO) && defined(__cplusplus)
-- (void)_enterFullscreenForNode:(WebCore::Node*)node;
-- (void)_exitFullscreen;
-#endif
-
-#if ENABLE(FULLSCREEN_API) && defined(__cplusplus)
-- (BOOL)_supportsFullScreenForElement:(WebCore::Element*)element withKeyboard:(BOOL)withKeyboard;
-- (void)_enterFullScreenForElement:(WebCore::Element*)element;
-- (void)_exitFullScreenForElement:(WebCore::Element*)element;
-- (void)_fullScreenRendererChanged:(WebCore::RenderBox*)renderer;
-#endif
-
-// Conversion functions between WebCore root view coordinates and web view coordinates.
-- (NSPoint)_convertPointFromRootView:(NSPoint)point;
-- (NSRect)_convertRectFromRootView:(NSRect)rect;
-
-@end
diff --git a/Source/WebKit/mac/WebView/WebViewPrivate.h b/Source/WebKit/mac/WebView/WebViewPrivate.h
deleted file mode 100644
index 4d71b168f..000000000
--- a/Source/WebKit/mac/WebView/WebViewPrivate.h
+++ /dev/null
@@ -1,783 +0,0 @@
-/*
- * Copyright (C) 2005-2012 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-#import <WebKit/WebView.h>
-#import <WebKit/WebFramePrivate.h>
-#import <JavaScriptCore/JSBase.h>
-
-#if !defined(ENABLE_DASHBOARD_SUPPORT)
-#define ENABLE_DASHBOARD_SUPPORT 1
-#endif
-
-@class NSError;
-@class WebFrame;
-@class WebDeviceOrientation;
-@class WebGeolocationPosition;
-@class WebInspector;
-@class WebNotification;
-@class WebPreferences;
-@class WebScriptWorld;
-@class WebSecurityOrigin;
-@class WebTextIterator;
-
-@protocol WebDeviceOrientationProvider;
-@protocol WebFormDelegate;
-
-extern NSString *_WebCanGoBackKey;
-extern NSString *_WebCanGoForwardKey;
-extern NSString *_WebEstimatedProgressKey;
-extern NSString *_WebIsLoadingKey;
-extern NSString *_WebMainFrameIconKey;
-extern NSString *_WebMainFrameTitleKey;
-extern NSString *_WebMainFrameURLKey;
-extern NSString *_WebMainFrameDocumentKey;
-
-// pending public WebElementDictionary keys
-extern NSString *WebElementTitleKey; // NSString of the title of the element (used by Safari)
-extern NSString *WebElementSpellingToolTipKey; // NSString of a tooltip representing misspelling or bad grammar (used internally)
-extern NSString *WebElementIsContentEditableKey; // NSNumber indicating whether the inner non-shared node is content editable (used internally)
-extern NSString *WebElementMediaURLKey; // NSURL of the media element
-
-// other WebElementDictionary keys
-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.
-extern NSString *_WebViewDidStartAcceleratedCompositingNotification;
-
-#if ENABLE_DASHBOARD_SUPPORT
-typedef enum {
- WebDashboardBehaviorAlwaysSendMouseEventsToAllWindows,
- WebDashboardBehaviorAlwaysSendActiveNullEventsToPlugIns,
- WebDashboardBehaviorAlwaysAcceptsFirstMouse,
- WebDashboardBehaviorAllowWheelScrolling,
- WebDashboardBehaviorUseBackwardCompatibilityMode
-} WebDashboardBehavior;
-#endif
-
-typedef enum {
- WebInjectAtDocumentStart,
- WebInjectAtDocumentEnd,
-} WebUserScriptInjectionTime;
-
-typedef enum {
- WebInjectInAllFrames,
- WebInjectInTopFrameOnly
-} WebUserContentInjectedFrames;
-
-enum {
- WebFindOptionsCaseInsensitive = 1 << 0,
- WebFindOptionsAtWordStarts = 1 << 1,
- WebFindOptionsTreatMedialCapitalAsWordStart = 1 << 2,
- WebFindOptionsBackwards = 1 << 3,
- WebFindOptionsWrapAround = 1 << 4,
- WebFindOptionsStartInSelection = 1 << 5
-};
-typedef NSUInteger WebFindOptions;
-
-typedef enum {
- WebPaginationModeUnpaginated,
- WebPaginationModeLeftToRight,
- WebPaginationModeRightToLeft,
- WebPaginationModeTopToBottom,
- WebPaginationModeBottomToTop,
-} WebPaginationMode;
-
-enum {
- WebDidFirstLayout = 1 << 0,
- WebDidFirstVisuallyNonEmptyLayout = 1 << 1,
- WebDidHitRelevantRepaintedObjectsAreaThreshold = 1 << 2
-};
-typedef NSUInteger WebLayoutMilestones;
-
-typedef enum {
- WebPageVisibilityStateVisible,
- WebPageVisibilityStateHidden,
- WebPageVisibilityStatePrerender,
- WebPageVisibilityStateUnloaded
-} WebPageVisibilityState;
-
-typedef enum {
- WebNotificationPermissionAllowed,
- WebNotificationPermissionNotAllowed,
- WebNotificationPermissionDenied
-} WebNotificationPermission;
-
-@interface WebController : NSTreeController {
- IBOutlet WebView *webView;
-}
-- (WebView *)webView;
-- (void)setWebView:(WebView *)newWebView;
-@end
-
-@interface WebView (WebViewEditingActionsPendingPublic)
-
-- (void)outdent:(id)sender;
-
-@end
-
-@interface WebView (WebPendingPublic)
-
-- (void)scheduleInRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode;
-- (void)unscheduleFromRunLoop:(NSRunLoop *)runLoop forMode:(NSString *)mode;
-
-- (BOOL)findString:(NSString *)string options:(WebFindOptions)options;
-- (DOMRange *)DOMRangeOfString:(NSString *)string relativeTo:(DOMRange *)previousRange options:(WebFindOptions)options;
-
-- (void)setMainFrameDocumentReady:(BOOL)mainFrameDocumentReady;
-
-- (void)setTabKeyCyclesThroughElements:(BOOL)cyclesElements;
-- (BOOL)tabKeyCyclesThroughElements;
-
-- (void)scrollDOMRangeToVisible:(DOMRange *)range;
-
-/*!
-@method setScriptDebugDelegate:
-@abstract Set the WebView's WebScriptDebugDelegate delegate.
-@param delegate The WebScriptDebugDelegate to set as the delegate.
-*/
-- (void)setScriptDebugDelegate:(id)delegate;
-
-/*!
-@method scriptDebugDelegate
-@abstract Return the WebView's WebScriptDebugDelegate.
-@result The WebView's WebScriptDebugDelegate.
-*/
-- (id)scriptDebugDelegate;
-
-/*!
- @method setHistoryDelegate:
- @abstract Set the WebView's WebHistoryDelegate delegate.
- @param delegate The WebHistoryDelegate to set as the delegate.
-*/
-- (void)setHistoryDelegate:(id)delegate;
-
-/*!
- @method historyDelegate
- @abstract Return the WebView's WebHistoryDelegate delegate.
- @result The WebView's WebHistoryDelegate delegate.
-*/
-- (id)historyDelegate;
-
-- (BOOL)shouldClose;
-
-/*!
- @method aeDescByEvaluatingJavaScriptFromString:
- @param script The text of the JavaScript.
- @result The result of the script, converted to an NSAppleEventDescriptor, or nil for failure.
-*/
-- (NSAppleEventDescriptor *)aeDescByEvaluatingJavaScriptFromString:(NSString *)script;
-
-// Support for displaying multiple text matches.
-// These methods might end up moving into a protocol, so different document types can specify
-// 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;
-- (NSUInteger)countMatchesForText:(NSString *)string options:(WebFindOptions)options 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;
-- (void)unmarkAllTextMatches;
-- (NSArray *)rectsForTextMatches;
-
-// Support for disabling registration with the undo manager. This is equivalent to the methods with the same names on NSTextView.
-- (BOOL)allowsUndo;
-- (void)setAllowsUndo:(BOOL)flag;
-
-/*!
- @method setPageSizeMultiplier:
- @abstract Change the zoom factor of the page in views managed by this webView.
- @param multiplier A fractional percentage value, 1.0 is 100%.
-*/
-- (void)setPageSizeMultiplier:(float)multiplier;
-
-/*!
- @method pageSizeMultiplier
- @result The page size multipler.
-*/
-- (float)pageSizeMultiplier;
-
-// Commands for doing page zoom. Will end up in WebView (WebIBActions) <NSUserInterfaceValidations>
-- (BOOL)canZoomPageIn;
-- (IBAction)zoomPageIn:(id)sender;
-- (BOOL)canZoomPageOut;
-- (IBAction)zoomPageOut:(id)sender;
-- (BOOL)canResetPageZoom;
-- (IBAction)resetPageZoom:(id)sender;
-
-// Sets a master volume control for all media elements in the WebView. Valid values are 0..1.
-- (void)setMediaVolume:(float)volume;
-- (float)mediaVolume;
-
-// Add visited links
-- (void)addVisitedLinks:(NSArray *)visitedLinks;
-
-@end
-
-@interface WebView (WebPrivate)
-
-- (WebInspector *)inspector;
-
-/*!
- @method setBackgroundColor:
- @param backgroundColor Color to use as the default background.
- @abstract Sets what color the receiver draws under transparent page background colors and images.
- This color is also used when no page is loaded. A color with alpha should only be used when the receiver is
- in a non-opaque window, since the color is drawn using NSCompositeCopy.
-*/
-- (void)setBackgroundColor:(NSColor *)backgroundColor;
-
-/*!
- @method backgroundColor
- @result Returns the background color drawn under transparent page background colors and images.
- This color is also used when no page is loaded. A color with alpha should only be used when the receiver is
- in a non-opaque window, since the color is drawn using NSCompositeCopy.
-*/
-- (NSColor *)backgroundColor;
-
-/*!
-Could be worth adding to the API.
- @method _loadBackForwardListFromOtherView:
- @abstract Loads the view with the contents of the other view, including its backforward list.
- @param otherView The WebView from which to copy contents.
- */
-- (void)_loadBackForwardListFromOtherView:(WebView *)otherView;
-
-/*
- @method _reportException:inContext:
- @abstract Logs the exception to the Web Inspector. This only needs called for exceptions that
- occur while using the JavaScriptCore APIs with a context owned by a WebKit.
- @param exception The exception value to log.
- @param context The context the exception occured in.
-*/
-+ (void)_reportException:(JSValueRef)exception inContext:(JSContextRef)context;
-
-/*!
- @method _dispatchPendingLoadRequests:
- @abstract Dispatches any pending load requests that have been scheduled because of recent DOM additions or style changes.
- @discussion You only need to call this method if you require synchronous notification of loads through the resource load delegate.
- Otherwise the resource load delegate will be notified about loads during a future run loop iteration.
- */
-- (void)_dispatchPendingLoadRequests;
-
-+ (NSArray *)_supportedFileExtensions;
-
-/*!
- @method canShowFile:
- @abstract Checks if the WebKit can show the content of the file at the specified path.
- @param path The path of the file to check
- @result YES if the WebKit can show the content of the file at the specified path.
-*/
-+ (BOOL)canShowFile:(NSString *)path;
-
-/*!
- @method suggestedFileExtensionForMIMEType:
- @param MIMEType The MIME type to check.
- @result The extension based on the MIME type
-*/
-+ (NSString *)suggestedFileExtensionForMIMEType: (NSString *)MIMEType;
-
-+ (NSString *)_standardUserAgentWithApplicationName:(NSString *)applicationName;
-
-/*!
- @method canCloseAllWebViews
- @abstract Checks if all the open WebViews can be closed (by dispatching the beforeUnload event to the pages).
- @result YES if all the WebViews can be closed.
-*/
-+ (BOOL)canCloseAllWebViews;
-
-// May well become public
-- (void)_setFormDelegate:(id<WebFormDelegate>)delegate;
-- (id<WebFormDelegate>)_formDelegate;
-
-- (BOOL)_isClosed;
-
-// _close is now replaced by public method -close. It remains here only for backward compatibility
-// until callers can be weaned off of it.
-- (void)_close;
-
-// Indicates if the WebView is in the midst of a user gesture.
-- (BOOL)_isProcessingUserGesture;
-
-// Determining and updating page visibility state.
-- (BOOL)_isViewVisible;
-- (void)_updateVisibilityState;
-
-// SPI for DumpRenderTree
-- (void)_updateActiveState;
-
-/*!
- @method _registerViewClass:representationClass:forURLScheme:
- @discussion Register classes that implement WebDocumentView and WebDocumentRepresentation respectively.
- @param viewClass The WebDocumentView class to use to render data for a given MIME type.
- @param representationClass The WebDocumentRepresentation class to use to represent data of the given MIME type.
- @param scheme The URL scheme to represent with an object of the given class.
-*/
-+ (void)_registerViewClass:(Class)viewClass representationClass:(Class)representationClass forURLScheme:(NSString *)URLScheme;
-
-+ (void)_unregisterViewClassAndRepresentationClassForMIMEType:(NSString *)MIMEType;
-
-/*!
- @method _canHandleRequest:
- @abstract Performs a "preflight" operation that performs some
- speculative checks to see if a request can be used to create
- a WebDocumentView and WebDocumentRepresentation.
- @discussion The result of this method is valid only as long as no
- protocols or schemes are registered or unregistered, and as long as
- the request is not mutated (if the request is mutable). Hence, clients
- should be prepared to handle failures even if they have performed request
- preflighting by caling this method.
- @param request The request to preflight.
- @result YES if it is likely that a WebDocumentView and WebDocumentRepresentation
- can be created for the request, NO otherwise.
-*/
-+ (BOOL)_canHandleRequest:(NSURLRequest *)request;
-
-+ (NSString *)_decodeData:(NSData *)data;
-
-+ (void)_setAlwaysUsesComplexTextCodePath:(BOOL)f;
-// This is the old name of the above method. Needed for Safari versions that call it.
-+ (void)_setAlwaysUseATSU:(BOOL)f;
-
-+ (void)_setAllowsRoundingHacks:(BOOL)allowsRoundingHacks;
-+ (BOOL)_allowsRoundingHacks;
-
-- (NSCachedURLResponse *)_cachedResponseForURL:(NSURL *)URL;
-
-#if ENABLE_DASHBOARD_SUPPORT
-- (void)_addScrollerDashboardRegions:(NSMutableDictionary *)regions;
-- (NSDictionary *)_dashboardRegions;
-
-- (void)_setDashboardBehavior:(WebDashboardBehavior)behavior to:(BOOL)flag;
-- (BOOL)_dashboardBehavior:(WebDashboardBehavior)behavior;
-#endif
-
-+ (void)_setShouldUseFontSmoothing:(BOOL)f;
-+ (BOOL)_shouldUseFontSmoothing;
-
-// These two methods are useful for a test harness that needs a consistent appearance for the focus rings
-// regardless of OS X version.
-+ (void)_setUsesTestModeFocusRingColor:(BOOL)f;
-+ (BOOL)_usesTestModeFocusRingColor;
-
-/*!
- @method setAlwaysShowVerticalScroller:
- @result Forces the vertical scroller to be visible if flag is YES, otherwise
- if flag is NO the scroller with automatically show and hide as needed.
- */
-- (void)setAlwaysShowVerticalScroller:(BOOL)flag;
-
-/*!
- @method alwaysShowVerticalScroller
- @result YES if the vertical scroller is always shown
- */
-- (BOOL)alwaysShowVerticalScroller;
-
-/*!
- @method setAlwaysShowHorizontalScroller:
- @result Forces the horizontal scroller to be visible if flag is YES, otherwise
- if flag is NO the scroller with automatically show and hide as needed.
- */
-- (void)setAlwaysShowHorizontalScroller:(BOOL)flag;
-
-/*!
- @method alwaysShowHorizontalScroller
- @result YES if the horizontal scroller is always shown
- */
-- (BOOL)alwaysShowHorizontalScroller;
-
-/*!
- @method setProhibitsMainFrameScrolling:
- @abstract Prohibits scrolling in the WebView's main frame. Used to "lock" a WebView
- to a specific scroll position.
- */
-- (void)setProhibitsMainFrameScrolling:(BOOL)prohibits;
-
-/*!
- @method _setAdditionalWebPlugInPaths:
- @abstract Sets additional plugin search paths for a specific WebView.
- */
-- (void)_setAdditionalWebPlugInPaths:(NSArray *)newPaths;
-
-/*!
- @method _setInViewSourceMode:
- @abstract Used to place a WebView into a special source-viewing mode.
- */
-- (void)_setInViewSourceMode:(BOOL)flag;
-
-/*!
- @method _inViewSourceMode;
- @abstract Whether or not the WebView is in source-view mode for HTML.
- */
-- (BOOL)_inViewSourceMode;
-
-/*!
- @method _attachScriptDebuggerToAllFrames
- @abstract Attaches a script debugger to all frames belonging to the receiver.
- */
-- (void)_attachScriptDebuggerToAllFrames;
-
-/*!
- @method _detachScriptDebuggerFromAllFrames
- @abstract Detaches any script debuggers from all frames belonging to the receiver.
- */
-- (void)_detachScriptDebuggerFromAllFrames;
-
-- (BOOL)defersCallbacks; // called by QuickTime plug-in
-- (void)setDefersCallbacks:(BOOL)defer; // called by QuickTime plug-in
-
-- (BOOL)usesPageCache;
-- (void)setUsesPageCache:(BOOL)usesPageCache;
-
-- (WebHistoryItem *)_globalHistoryItem;
-
-/*!
- @method textIteratorForRect:
- @param rect The rectangle of the document that we're interested in text from.
- @result WebTextIterator object, initialized with a range that corresponds to
- the passed-in rectangle.
- @abstract This method gives the text for the approximate range of the document
- corresponding to the rectangle. The range is determined by using hit testing at
- the top left and bottom right of the rectangle. Because of that, there can be
- text visible in the rectangle that is not included in the iterator. If you need
- a guarantee of iterating all text that is visible, then you need to instead make
- a WebTextIterator with a DOMRange that covers the entire document.
- */
-- (WebTextIterator *)textIteratorForRect:(NSRect)rect;
-
-#if ENABLE_DASHBOARD_SUPPORT
-// <rdar://problem/5217124> Clients other than Dashboard, don't use this.
-// As of this writing, Dashboard uses this on Tiger, but not on Leopard or newer.
-- (void)handleAuthenticationForResource:(id)identifier challenge:(NSURLAuthenticationChallenge *)challenge fromDataSource:(WebDataSource *)dataSource;
-#endif
-
-- (void)_clearUndoRedoOperations;
-
-/* Used to do fast (lower quality) scaling of images so that window resize can be quick. */
-- (BOOL)_inFastImageScalingMode;
-- (void)_setUseFastImageScalingMode:(BOOL)flag;
-
-- (BOOL)_cookieEnabled;
-- (void)_setCookieEnabled:(BOOL)enable;
-
-// SPI for DumpRenderTree
-- (void)_executeCoreCommandByName:(NSString *)name value:(NSString *)value;
-- (void)_clearMainFrameName;
-
-- (void)_setCustomHTMLTokenizerTimeDelay:(double)timeDelay;
-- (void)_setCustomHTMLTokenizerChunkSize:(int)chunkSize;
-
-- (void)setSelectTrailingWhitespaceEnabled:(BOOL)flag;
-- (BOOL)isSelectTrailingWhitespaceEnabled;
-
-- (void)setMemoryCacheDelegateCallsEnabled:(BOOL)suspend;
-- (BOOL)areMemoryCacheDelegateCallsEnabled;
-
-+ (NSCursor *)_pointingHandCursor;
-
-// SPI for DumpRenderTree
-- (BOOL)_postsAcceleratedCompositingNotifications;
-- (void)_setPostsAcceleratedCompositingNotifications:(BOOL)flag;
-- (BOOL)_isUsingAcceleratedCompositing;
-- (void)_setBaseCTM:(CGAffineTransform)transform forContext:(CGContextRef)context;
-
-// For DumpRenderTree
-- (BOOL)interactiveFormValidationEnabled;
-- (void)setInteractiveFormValidationEnabled:(BOOL)enabled;
-- (int)validationMessageTimerMagnification;
-- (void)setValidationMessageTimerMagnification:(int)newValue;
-
-// Returns YES if NSView -displayRectIgnoringOpacity:inContext: will produce a faithful representation of the content.
-- (BOOL)_isSoftwareRenderable;
-// When drawing into a bitmap context, we normally flatten compositing layers (and distort 3D transforms).
-// Clients who are able to capture their own copy of the compositing layers need to be able to disable this.
-- (void)_setIncludesFlattenedCompositingLayersWhenDrawingToBitmap:(BOOL)flag;
-- (BOOL)_includesFlattenedCompositingLayersWhenDrawingToBitmap;
-
-- (void)setTracksRepaints:(BOOL)flag;
-- (BOOL)isTrackingRepaints;
-- (void)resetTrackedRepaints;
-- (NSArray*)trackedRepaintRects; // Returned array contains rectValue NSValues.
-
-// Which pasteboard text is coming from in editing delegate methods such as shouldInsertNode.
-- (NSPasteboard *)_insertionPasteboard;
-
-// Whitelists access from an origin (sourceOrigin) to a set of one or more origins described by the parameters:
-// - destinationProtocol: The protocol to grant access to.
-// - destinationHost: The host to grant access to.
-// - allowDestinationSubdomains: If host is a domain, setting this to YES will whitelist host and all its subdomains, recursively.
-+ (void)_addOriginAccessWhitelistEntryWithSourceOrigin:(NSString *)sourceOrigin destinationProtocol:(NSString *)destinationProtocol destinationHost:(NSString *)destinationHost allowDestinationSubdomains:(BOOL)allowDestinationSubdomains;
-+ (void)_removeOriginAccessWhitelistEntryWithSourceOrigin:(NSString *)sourceOrigin destinationProtocol:(NSString *)destinationProtocol destinationHost:(NSString *)destinationHost allowDestinationSubdomains:(BOOL)allowDestinationSubdomains;
-
-// Removes all white list entries created with _addOriginAccessWhitelistEntryWithSourceOrigin.
-+ (void)_resetOriginAccessWhitelists;
-
-// FIXME: The following two methods are deprecated in favor of the overloads below that take the WebUserContentInjectedFrames argument. https://bugs.webkit.org/show_bug.cgi?id=41800.
-+ (void)_addUserScriptToGroup:(NSString *)groupName world:(WebScriptWorld *)world source:(NSString *)source url:(NSURL *)url whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist injectionTime:(WebUserScriptInjectionTime)injectionTime;
-+ (void)_addUserStyleSheetToGroup:(NSString *)groupName world:(WebScriptWorld *)world source:(NSString *)source url:(NSURL *)url whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist;
-
-+ (void)_addUserScriptToGroup:(NSString *)groupName world:(WebScriptWorld *)world source:(NSString *)source url:(NSURL *)url whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist injectionTime:(WebUserScriptInjectionTime)injectionTime injectedFrames:(WebUserContentInjectedFrames)injectedFrames;
-+ (void)_addUserStyleSheetToGroup:(NSString *)groupName world:(WebScriptWorld *)world source:(NSString *)source url:(NSURL *)url whitelist:(NSArray *)whitelist blacklist:(NSArray *)blacklist injectedFrames:(WebUserContentInjectedFrames)injectedFrames;
-+ (void)_removeUserScriptFromGroup:(NSString *)groupName world:(WebScriptWorld *)world url:(NSURL *)url;
-+ (void)_removeUserStyleSheetFromGroup:(NSString *)groupName world:(WebScriptWorld *)world url:(NSURL *)url;
-+ (void)_removeUserScriptsFromGroup:(NSString *)groupName world:(WebScriptWorld *)world;
-+ (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.
- @result YES if CSS Animations are suspended.
-*/
-- (BOOL)cssAnimationsSuspended;
-
-/*!
- @method setCSSAnimationsSuspended
- @param paused YES to suspend animations, NO to resume animations.
- @discussion Suspends or resumes all running animations and transitions in the page.
-*/
-- (void)setCSSAnimationsSuspended:(BOOL)suspended;
-
-+ (void)_setDomainRelaxationForbidden:(BOOL)forbidden forURLScheme:(NSString *)scheme;
-+ (void)_registerURLSchemeAsSecure:(NSString *)scheme;
-+ (void)_registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing:(NSString *)scheme;
-+ (void)_registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing:(NSString *)scheme;
-
-- (void)_scaleWebView:(float)scale atOrigin:(NSPoint)origin;
-- (float)_viewScaleFactor;
-
-- (void)_setUseFixedLayout:(BOOL)fixed;
-- (void)_setFixedLayoutSize:(NSSize)size;
-
-- (BOOL)_useFixedLayout;
-- (NSSize)_fixedLayoutSize;
-
-- (void)_setPaginationMode:(WebPaginationMode)paginationMode;
-- (WebPaginationMode)_paginationMode;
-
-- (void)_listenForLayoutMilestones:(WebLayoutMilestones)layoutMilestones;
-- (WebLayoutMilestones)_layoutMilestones;
-
-- (WebPageVisibilityState)_visibilityState;
-- (void)_setVisibilityState:(WebPageVisibilityState)visibilityState isInitialState:(BOOL)isInitialState;
-
-// Whether the column-break-{before,after} properties are respected instead of the
-// page-break-{before,after} properties.
-- (void)_setPaginationBehavesLikeColumns:(BOOL)behavesLikeColumns;
-- (BOOL)_paginationBehavesLikeColumns;
-
-// Set to 0 to have the page length equal the view length.
-- (void)_setPageLength:(CGFloat)pageLength;
-- (CGFloat)_pageLength;
-- (void)_setGapBetweenPages:(CGFloat)pageGap;
-- (CGFloat)_gapBetweenPages;
-- (NSUInteger)_pageCount;
-
-- (void)_setCustomBackingScaleFactor:(CGFloat)overrideScaleFactor;
-- (CGFloat)_backingScaleFactor;
-
-// Deprecated. Use the methods in pending public above instead.
-- (NSUInteger)markAllMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)limit;
-- (NSUInteger)countMatchesForText:(NSString *)string caseSensitive:(BOOL)caseFlag highlight:(BOOL)highlight limit:(NSUInteger)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;
-
-/*!
- @method _HTTPPipeliningEnabled
- @abstract Checks the HTTP pipelining status.
- @discussion Defaults to NO.
- @result YES if HTTP pipelining is enabled, NO if not enabled.
- */
-+ (BOOL)_HTTPPipeliningEnabled;
-
-/*!
- @method _setHTTPPipeliningEnabled:
- @abstract Set the HTTP pipelining status.
- @discussion Defaults to NO.
- @param enabled The new HTTP pipelining status.
- */
-+ (void)_setHTTPPipeliningEnabled:(BOOL)enabled;
-
-@property (nonatomic, copy, getter=_sourceApplicationAuditData, setter=_setSourceApplicationAuditData:) NSData *sourceApplicationAuditData;
-
-@end
-
-@interface WebView (WebViewPrintingPrivate)
-/*!
- @method _adjustPrintingMarginsForHeaderAndFooter:
- @abstract Increase the top and bottom margins for the current print operation to
- account for the header and footer height.
- @discussion Called by <WebDocument> implementors once when a print job begins. If the
- <WebDocument> implementor implements knowsPageRange:, this should be called from there.
- Otherwise this should be called from beginDocument. The <WebDocument> implementors need
- to also call _drawHeaderAndFooter.
-*/
-- (void)_adjustPrintingMarginsForHeaderAndFooter;
-
-/*!
- @method _drawHeaderAndFooter
- @abstract Gives the WebView's UIDelegate a chance to draw a header and footer on the
- printed page.
- @discussion This should be called by <WebDocument> implementors from an override of
- drawPageBorderWithSize:.
-*/
-- (void)_drawHeaderAndFooter;
-@end
-
-@interface WebView (WebViewGrammarChecking)
-
-// FIXME: These two methods should be merged into WebViewEditing when we're not in API freeze
-- (BOOL)isGrammarCheckingEnabled;
-- (void)setGrammarCheckingEnabled:(BOOL)flag;
-
-// FIXME: This method should be merged into WebIBActions when we're not in API freeze
-- (void)toggleGrammarChecking:(id)sender;
-
-@end
-
-@interface WebView (WebViewTextChecking)
-
-- (BOOL)isAutomaticQuoteSubstitutionEnabled;
-- (BOOL)isAutomaticLinkDetectionEnabled;
-- (BOOL)isAutomaticDashSubstitutionEnabled;
-- (BOOL)isAutomaticTextReplacementEnabled;
-- (BOOL)isAutomaticSpellingCorrectionEnabled;
-- (void)setAutomaticQuoteSubstitutionEnabled:(BOOL)flag;
-- (void)toggleAutomaticQuoteSubstitution:(id)sender;
-- (void)setAutomaticLinkDetectionEnabled:(BOOL)flag;
-- (void)toggleAutomaticLinkDetection:(id)sender;
-- (void)setAutomaticDashSubstitutionEnabled:(BOOL)flag;
-- (void)toggleAutomaticDashSubstitution:(id)sender;
-- (void)setAutomaticTextReplacementEnabled:(BOOL)flag;
-- (void)toggleAutomaticTextReplacement:(id)sender;
-- (void)setAutomaticSpellingCorrectionEnabled:(BOOL)flag;
-- (void)toggleAutomaticSpellingCorrection:(id)sender;
-@end
-
-@interface WebView (WebViewEditingInMail)
-- (void)_insertNewlineInQuotedContent;
-- (void)_replaceSelectionWithNode:(DOMNode *)node matchStyle:(BOOL)matchStyle;
-- (BOOL)_selectionIsCaret;
-- (BOOL)_selectionIsAll;
-- (void)_simplifyMarkup:(DOMNode *)startNode endNode:(DOMNode *)endNode;
-
-@end
-
-@interface WebView (WebViewDeviceOrientation)
-- (void)_setDeviceOrientationProvider:(id<WebDeviceOrientationProvider>)deviceOrientationProvider;
-- (id<WebDeviceOrientationProvider>)_deviceOrientationProvider;
-@end
-
-@protocol WebGeolocationProvider <NSObject>
-- (void)registerWebView:(WebView *)webView;
-- (void)unregisterWebView:(WebView *)webView;
-- (WebGeolocationPosition *)lastPosition;
-@end
-
-@protocol WebNotificationProvider
-- (void)registerWebView:(WebView *)webView;
-- (void)unregisterWebView:(WebView *)webView;
-
-- (void)showNotification:(WebNotification *)notification fromWebView:(WebView *)webView;
-- (void)cancelNotification:(WebNotification *)notification;
-- (void)notificationDestroyed:(WebNotification *)notification;
-- (void)clearNotifications:(NSArray *)notificationIDs;
-- (WebNotificationPermission)policyForOrigin:(WebSecurityOrigin *)origin;
-
-- (void)webView:(WebView *)webView didShowNotification:(uint64_t)notificationID;
-- (void)webView:(WebView *)webView didClickNotification:(uint64_t)notificationID;
-- (void)webView:(WebView *)webView didCloseNotifications:(NSArray *)notificationIDs;
-@end
-
-@interface WebView (WebViewGeolocation)
-- (void)_setGeolocationProvider:(id<WebGeolocationProvider>)locationProvider;
-- (id<WebGeolocationProvider>)_geolocationProvider;
-
-- (void)_geolocationDidChangePosition:(WebGeolocationPosition *)position;
-- (void)_geolocationDidFailWithMessage:(NSString *)errorMessage;
-@end
-
-@interface WebView (WebViewNotification)
-- (void)_setNotificationProvider:(id<WebNotificationProvider>)notificationProvider;
-- (id<WebNotificationProvider>)_notificationProvider;
-
-- (void)_notificationDidShow:(uint64_t)notificationID;
-- (void)_notificationDidClick:(uint64_t)notificationID;
-- (void)_notificationsDidClose:(NSArray *)notificationIDs;
-
-- (uint64_t)_notificationIDForTesting:(JSValueRef)jsNotification;
-@end
-
-@interface NSObject (WebViewFrameLoadDelegatePrivate)
-- (void)webView:(WebView *)sender didFirstLayoutInFrame:(WebFrame *)frame;
-
-// didFinishDocumentLoadForFrame is sent when the document has finished loading, though not necessarily all
-// of its subresources.
-// FIXME 5259339: Currently this callback is not sent for (some?) pages loaded entirely from the cache.
-- (void)webView:(WebView *)sender didFinishDocumentLoadForFrame:(WebFrame *)frame;
-
-// Addresses 4192534. SPI for now.
-- (void)webView:(WebView *)sender didHandleOnloadEventsForFrame:(WebFrame *)frame;
-
-- (void)webView:(WebView *)sender didFirstVisuallyNonEmptyLayoutInFrame:(WebFrame *)frame;
-
-- (void)webView:(WebView *)sender didLayout:(WebLayoutMilestones)milestones;
-
-// For implementing the WebInspector's test harness
-- (void)webView:(WebView *)webView didClearInspectorWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame;
-
-@end
-
-@interface NSObject (WebViewResourceLoadDelegatePrivate)
-// Addresses <rdar://problem/5008925> - SPI for now
-- (NSCachedURLResponse *)webView:(WebView *)sender resource:(id)identifier willCacheResponse:(NSCachedURLResponse *)response fromDataSource:(WebDataSource *)dataSource;
-@end
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// This is a C function to avoid calling +[WebView initialize].
-void WebInstallMemoryPressureHandler(void);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/Source/WebKit/mac/icu/README b/Source/WebKit/mac/icu/README
deleted file mode 100644
index 389e2e801..000000000
--- a/Source/WebKit/mac/icu/README
+++ /dev/null
@@ -1,4 +0,0 @@
-The headers in this directory are for compiling on Mac OS X 10.4.
-The Mac OS X 10.4 release includes the ICU binary, but not ICU headers.
-For other platforms, installed ICU headers should be used rather than these.
-They are specific to Mac OS X 10.4.
diff --git a/Source/WebKit/mac/icu/unicode/localpointer.h b/Source/WebKit/mac/icu/unicode/localpointer.h
deleted file mode 100644
index b76a1f856..000000000
--- a/Source/WebKit/mac/icu/unicode/localpointer.h
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
-*******************************************************************************
-*
-* Copyright (C) 2009-2010, International Business Machines
-* Corporation and others. All Rights Reserved.
-*
-*******************************************************************************
-* file name: localpointer.h
-* encoding: US-ASCII
-* tab size: 8 (not used)
-* indentation:4
-*
-* created on: 2009nov13
-* created by: Markus W. Scherer
-*/
-
-#ifndef __LOCALPOINTER_H__
-#define __LOCALPOINTER_H__
-
-/**
- * \file
- * \brief C++ API: "Smart pointers" for use with and in ICU4C C++ code.
- *
- * These classes are inspired by
- * - std::auto_ptr
- * - boost::scoped_ptr & boost::scoped_array
- * - Taligent Safe Pointers (TOnlyPointerTo)
- *
- * but none of those provide for all of the goals for ICU smart pointers:
- * - Smart pointer owns the object and releases it when it goes out of scope.
- * - No transfer of ownership via copy/assignment to reduce misuse. Simpler & more robust.
- * - ICU-compatible: No exceptions.
- * - Need to be able to orphan/release the pointer and its ownership.
- * - Need variants for normal C++ object pointers, C++ arrays, and ICU C service objects.
- *
- * For details see http://site.icu-project.org/design/cpp/scoped_ptr
- */
-
-#include "unicode/utypes.h"
-
-#if U_SHOW_CPLUSPLUS_API
-
-U_NAMESPACE_BEGIN
-
-/**
- * "Smart pointer" base class; do not use directly: use LocalPointer etc.
- *
- * Base class for smart pointer classes that do not throw exceptions.
- *
- * Do not use this base class directly, since it does not delete its pointer.
- * A subclass must implement methods that delete the pointer:
- * Destructor and adoptInstead().
- *
- * There is no operator T *() provided because the programmer must decide
- * whether to use getAlias() (without transfer of ownership) or orpan()
- * (with transfer of ownership and NULLing of the pointer).
- *
- * @see LocalPointer
- * @see LocalArray
- * @see U_DEFINE_LOCAL_OPEN_POINTER
- * @stable ICU 4.4
- */
-template<typename T>
-class LocalPointerBase {
-public:
- /**
- * Constructor takes ownership.
- * @param p simple pointer to an object that is adopted
- * @stable ICU 4.4
- */
- explicit LocalPointerBase(T *p=NULL) : ptr(p) {}
- /**
- * Destructor deletes the object it owns.
- * Subclass must override: Base class does nothing.
- * @stable ICU 4.4
- */
- ~LocalPointerBase() { /* delete ptr; */ }
- /**
- * NULL check.
- * @return TRUE if ==NULL
- * @stable ICU 4.4
- */
- UBool isNull() const { return ptr==NULL; }
- /**
- * NULL check.
- * @return TRUE if !=NULL
- * @stable ICU 4.4
- */
- UBool isValid() const { return ptr!=NULL; }
- /**
- * Comparison with a simple pointer, so that existing code
- * with ==NULL need not be changed.
- * @param other simple pointer for comparison
- * @return true if this pointer value equals other
- * @stable ICU 4.4
- */
- bool operator==(const T *other) const { return ptr==other; }
- /**
- * Comparison with a simple pointer, so that existing code
- * with !=NULL need not be changed.
- * @param other simple pointer for comparison
- * @return true if this pointer value differs from other
- * @stable ICU 4.4
- */
- bool operator!=(const T *other) const { return ptr!=other; }
- /**
- * Access without ownership change.
- * @return the pointer value
- * @stable ICU 4.4
- */
- T *getAlias() const { return ptr; }
- /**
- * Access without ownership change.
- * @return the pointer value as a reference
- * @stable ICU 4.4
- */
- T &operator*() const { return *ptr; }
- /**
- * Access without ownership change.
- * @return the pointer value
- * @stable ICU 4.4
- */
- T *operator->() const { return ptr; }
- /**
- * Gives up ownership; the internal pointer becomes NULL.
- * @return the pointer value;
- * caller becomes responsible for deleting the object
- * @stable ICU 4.4
- */
- T *orphan() {
- T *p=ptr;
- ptr=NULL;
- return p;
- }
- /**
- * Deletes the object it owns,
- * and adopts (takes ownership of) the one passed in.
- * Subclass must override: Base class does not delete the object.
- * @param p simple pointer to an object that is adopted
- * @stable ICU 4.4
- */
- void adoptInstead(T *p) {
- // delete ptr;
- ptr=p;
- }
-protected:
- T *ptr;
-private:
- // No comparison operators with other LocalPointerBases.
- bool operator==(const LocalPointerBase &other);
- bool operator!=(const LocalPointerBase &other);
- // No ownership transfer: No copy constructor, no assignment operator.
- LocalPointerBase(const LocalPointerBase &other);
- void operator=(const LocalPointerBase &other);
- // No heap allocation. Use only on the stack.
- static void * U_EXPORT2 operator new(size_t size);
- static void * U_EXPORT2 operator new[](size_t size);
-#if U_HAVE_PLACEMENT_NEW
- static void * U_EXPORT2 operator new(size_t, void *ptr);
-#endif
-};
-
-/**
- * "Smart pointer" class, deletes objects via the standard C++ delete operator.
- * For most methods see the LocalPointerBase base class.
- *
- * Usage example:
- * \code
- * LocalPointer<UnicodeString> s(new UnicodeString((UChar32)0x50005));
- * int32_t length=s->length(); // 2
- * UChar lead=s->charAt(0); // 0xd900
- * if(some condition) { return; } // no need to explicitly delete the pointer
- * s.adoptInstead(new UnicodeString((UChar)0xfffc));
- * length=s->length(); // 1
- * // no need to explicitly delete the pointer
- * \endcode
- *
- * @see LocalPointerBase
- * @stable ICU 4.4
- */
-template<typename T>
-class LocalPointer : public LocalPointerBase<T> {
-public:
- /**
- * Constructor takes ownership.
- * @param p simple pointer to an object that is adopted
- * @stable ICU 4.4
- */
- explicit LocalPointer(T *p=NULL) : LocalPointerBase<T>(p) {}
- /**
- * Destructor deletes the object it owns.
- * @stable ICU 4.4
- */
- ~LocalPointer() {
- delete LocalPointerBase<T>::ptr;
- }
- /**
- * Deletes the object it owns,
- * and adopts (takes ownership of) the one passed in.
- * @param p simple pointer to an object that is adopted
- * @stable ICU 4.4
- */
- void adoptInstead(T *p) {
- delete LocalPointerBase<T>::ptr;
- LocalPointerBase<T>::ptr=p;
- }
-};
-
-/**
- * "Smart pointer" class, deletes objects via the C++ array delete[] operator.
- * For most methods see the LocalPointerBase base class.
- * Adds operator[] for array item access.
- *
- * Usage example:
- * \code
- * LocalArray<UnicodeString> a(new UnicodeString[2]);
- * a[0].append((UChar)0x61);
- * if(some condition) { return; } // no need to explicitly delete the array
- * a.adoptInstead(new UnicodeString[4]);
- * a[3].append((UChar)0x62).append((UChar)0x63).reverse();
- * // no need to explicitly delete the array
- * \endcode
- *
- * @see LocalPointerBase
- * @stable ICU 4.4
- */
-template<typename T>
-class LocalArray : public LocalPointerBase<T> {
-public:
- /**
- * Constructor takes ownership.
- * @param p simple pointer to an array of T objects that is adopted
- * @stable ICU 4.4
- */
- explicit LocalArray(T *p=NULL) : LocalPointerBase<T>(p) {}
- /**
- * Destructor deletes the array it owns.
- * @stable ICU 4.4
- */
- ~LocalArray() {
- delete[] LocalPointerBase<T>::ptr;
- }
- /**
- * Deletes the array it owns,
- * and adopts (takes ownership of) the one passed in.
- * @param p simple pointer to an array of T objects that is adopted
- * @stable ICU 4.4
- */
- void adoptInstead(T *p) {
- delete[] LocalPointerBase<T>::ptr;
- LocalPointerBase<T>::ptr=p;
- }
- /**
- * Array item access (writable).
- * No index bounds check.
- * @param i array index
- * @return reference to the array item
- * @stable ICU 4.4
- */
- T &operator[](ptrdiff_t i) const { return LocalPointerBase<T>::ptr[i]; }
-};
-
-/**
- * \def U_DEFINE_LOCAL_OPEN_POINTER
- * "Smart pointer" definition macro, deletes objects via the closeFunction.
- * Defines a subclass of LocalPointerBase which works just
- * like LocalPointer<Type> except that this subclass will use the closeFunction
- * rather than the C++ delete operator.
- *
- * Requirement: The closeFunction must tolerate a NULL pointer.
- * (We could add a NULL check here but it is normally redundant.)
- *
- * Usage example:
- * \code
- * LocalUCaseMapPointer csm(ucasemap_open(localeID, options, &errorCode));
- * utf8OutLength=ucasemap_utf8ToLower(csm.getAlias(),
- * utf8Out, (int32_t)sizeof(utf8Out),
- * utf8In, utf8InLength, &errorCode);
- * if(U_FAILURE(errorCode)) { return; } // no need to explicitly delete the UCaseMap
- * \endcode
- *
- * @see LocalPointerBase
- * @see LocalPointer
- * @stable ICU 4.4
- */
-#define U_DEFINE_LOCAL_OPEN_POINTER(LocalPointerClassName, Type, closeFunction) \
- class LocalPointerClassName : public LocalPointerBase<Type> { \
- public: \
- explicit LocalPointerClassName(Type *p=NULL) : LocalPointerBase<Type>(p) {} \
- ~LocalPointerClassName() { closeFunction(ptr); } \
- void adoptInstead(Type *p) { \
- closeFunction(ptr); \
- ptr=p; \
- } \
- }
-
-U_NAMESPACE_END
-
-#endif /* U_SHOW_CPLUSPLUS_API */
-#endif /* __LOCALPOINTER_H__ */
diff --git a/Source/WebKit/mac/icu/unicode/parseerr.h b/Source/WebKit/mac/icu/unicode/parseerr.h
deleted file mode 100644
index 44ff00811..000000000
--- a/Source/WebKit/mac/icu/unicode/parseerr.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-**********************************************************************
-* Copyright (C) 1999-2005, International Business Machines
-* Corporation and others. All Rights Reserved.
-**********************************************************************
-* Date Name Description
-* 03/14/00 aliu Creation.
-* 06/27/00 aliu Change from C++ class to C struct
-**********************************************************************
-*/
-#ifndef PARSEERR_H
-#define PARSEERR_H
-
-#include "unicode/utypes.h"
-
-
-/**
- * \file
- * \brief C API: Parse Error Information
- */
-/**
- * The capacity of the context strings in UParseError.
- * @stable ICU 2.0
- */
-enum { U_PARSE_CONTEXT_LEN = 16 };
-
-/**
- * A UParseError struct is used to returned detailed information about
- * parsing errors. It is used by ICU parsing engines that parse long
- * rules, patterns, or programs, where the text being parsed is long
- * enough that more information than a UErrorCode is needed to
- * localize the error.
- *
- * <p>The line, offset, and context fields are optional; parsing
- * engines may choose not to use to use them.
- *
- * <p>The preContext and postContext strings include some part of the
- * context surrounding the error. If the source text is "let for=7"
- * and "for" is the error (e.g., because it is a reserved word), then
- * some examples of what a parser might produce are the following:
- *
- * <pre>
- * preContext postContext
- * "" "" The parser does not support context
- * "let " "=7" Pre- and post-context only
- * "let " "for=7" Pre- and post-context and error text
- * "" "for" Error text only
- * </pre>
- *
- * <p>Examples of engines which use UParseError (or may use it in the
- * future) are Transliterator, RuleBasedBreakIterator, and
- * RegexPattern.
- *
- * @stable ICU 2.0
- */
-typedef struct UParseError {
-
- /**
- * The line on which the error occured. If the parser uses this
- * field, it sets it to the line number of the source text line on
- * which the error appears, which will be be a value >= 1. If the
- * parse does not support line numbers, the value will be <= 0.
- * @stable ICU 2.0
- */
- int32_t line;
-
- /**
- * The character offset to the error. If the line field is >= 1,
- * then this is the offset from the start of the line. Otherwise,
- * this is the offset from the start of the text. If the parser
- * does not support this field, it will have a value < 0.
- * @stable ICU 2.0
- */
- int32_t offset;
-
- /**
- * Textual context before the error. Null-terminated. The empty
- * string if not supported by parser.
- * @stable ICU 2.0
- */
- UChar preContext[U_PARSE_CONTEXT_LEN];
-
- /**
- * The error itself and/or textual context after the error.
- * Null-terminated. The empty string if not supported by parser.
- * @stable ICU 2.0
- */
- UChar postContext[U_PARSE_CONTEXT_LEN];
-
-} UParseError;
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/platform.h b/Source/WebKit/mac/icu/unicode/platform.h
deleted file mode 100644
index 3de40d256..000000000
--- a/Source/WebKit/mac/icu/unicode/platform.h
+++ /dev/null
@@ -1,401 +0,0 @@
-/*
-******************************************************************************
-*
-* Copyright (C) 1997-2010, International Business Machines
-* Corporation and others. All Rights Reserved.
-*
-******************************************************************************
-*
-* Note: autoconf creates platform.h from platform.h.in at configure time.
-*
-******************************************************************************
-*
-* FILE NAME : platform.h
-*
-* Date Name Description
-* 05/13/98 nos Creation (content moved here from ptypes.h).
-* 03/02/99 stephen Added AS400 support.
-* 03/30/99 stephen Added Linux support.
-* 04/13/99 stephen Reworked for autoconf.
-******************************************************************************
-*/
-
-#ifndef _PLATFORM_H
-#define _PLATFORM_H
-
-/**
- * \file
- * \brief Basic types for the platform
- */
-
-/* This file should be included before uvernum.h. */
-#if defined(UVERNUM_H)
-# error Do not include unicode/uvernum.h before #including unicode/platform.h. Instead of unicode/uvernum.h, #include unicode/uversion.h
-#endif
-
-/**
- * Determine wheter to enable auto cleanup of libraries.
- * @internal
- */
-#ifndef UCLN_NO_AUTO_CLEANUP
-#define UCLN_NO_AUTO_CLEANUP 1
-#endif
-
-/* Need platform.h when using CYGWINMSVC to get definitions above. Ignore everything else. */
-#ifndef CYGWINMSVC
-
-/** Define the platform we're on. */
-#ifndef U_DARWIN
-#define U_DARWIN
-#endif
-
-/**
- * \def U_HAVE_DIRENT_H
- * Define whether dirent.h is available
- * @internal
- */
-#ifndef U_HAVE_DIRENT_H
-#define U_HAVE_DIRENT_H 1
-#endif
-
-/** Define whether inttypes.h is available */
-#ifndef U_HAVE_INTTYPES_H
-#define U_HAVE_INTTYPES_H 1
-#endif
-
-/**
- * Define what support for C++ streams is available.
- * If U_IOSTREAM_SOURCE is set to 199711, then &lt;iostream&gt; is available
- * (1997711 is the date the ISO/IEC C++ FDIS was published), and then
- * one should qualify streams using the std namespace in ICU header
- * files.
- * If U_IOSTREAM_SOURCE is set to 198506, then &lt;iostream.h&gt; is
- * available instead (198506 is the date when Stroustrup published
- * "An Extensible I/O Facility for C++" at the summer USENIX conference).
- * If U_IOSTREAM_SOURCE is 0, then C++ streams are not available and
- * support for them will be silently suppressed in ICU.
- *
- */
-
-#ifndef U_IOSTREAM_SOURCE
-#define U_IOSTREAM_SOURCE 199711
-#endif
-
-/**
- * \def U_HAVE_STD_STRING
- * Define whether the standard C++ (STL) &lt;string&gt; header is available.
- * For platforms that do not use platform.h and do not define this constant
- * in their platform-specific headers, std_string.h defaults
- * U_HAVE_STD_STRING to 1.
- * @internal
- */
-#ifndef U_HAVE_STD_STRING
-#define U_HAVE_STD_STRING 1
-#endif
-
-/** @{ Determines whether specific types are available */
-#ifndef U_HAVE_INT8_T
-#define U_HAVE_INT8_T 1
-#endif
-
-#ifndef U_HAVE_UINT8_T
-#define U_HAVE_UINT8_T 0
-#endif
-
-#ifndef U_HAVE_INT16_T
-#define U_HAVE_INT16_T 1
-#endif
-
-#ifndef U_HAVE_UINT16_T
-#define U_HAVE_UINT16_T 0
-#endif
-
-#ifndef U_HAVE_INT32_T
-#define U_HAVE_INT32_T 1
-#endif
-
-#ifndef U_HAVE_UINT32_T
-#define U_HAVE_UINT32_T 0
-#endif
-
-#ifndef U_HAVE_INT64_T
-#define U_HAVE_INT64_T 1
-#endif
-
-#ifndef U_HAVE_UINT64_T
-#define U_HAVE_UINT64_T 0
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/** @{ Compiler and environment features */
-/*===========================================================================*/
-
-/* Define whether namespace is supported */
-#ifndef U_HAVE_NAMESPACE
-#define U_HAVE_NAMESPACE 1
-#endif
-
-/* Determines the endianness of the platform
- It's done this way in case multiple architectures are being built at once.
- For example, Darwin supports fat binaries, which can be both PPC and x86 based. */
-#if defined(BYTE_ORDER) && defined(BIG_ENDIAN)
-#define U_IS_BIG_ENDIAN (BYTE_ORDER == BIG_ENDIAN)
-#else
-#define U_IS_BIG_ENDIAN 1
-#endif
-
-/* 1 or 0 to enable or disable threads. If undefined, default is: enable threads. */
-#ifndef ICU_USE_THREADS
-#define ICU_USE_THREADS 1
-#endif
-
-/* On strong memory model CPUs (e.g. x86 CPUs), we use a safe & quick double check lock. */
-#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
-#define UMTX_STRONG_MEMORY_MODEL 1
-#endif
-
-#ifndef U_DEBUG
-#define U_DEBUG 0
-#endif
-
-#ifndef U_RELEASE
-#define U_RELEASE 1
-#endif
-
-/* Determine whether to disable renaming or not. This overrides the
- setting in umachine.h which is for all platforms. */
-#ifndef U_DISABLE_RENAMING
-#define U_DISABLE_RENAMING 1
-#endif
-
-/* Determine whether to override new and delete. */
-#ifndef U_OVERRIDE_CXX_ALLOCATION
-#define U_OVERRIDE_CXX_ALLOCATION 1
-#endif
-/* Determine whether to override placement new and delete for STL. */
-#ifndef U_HAVE_PLACEMENT_NEW
-#define U_HAVE_PLACEMENT_NEW 1
-#endif
-
-/* Determine whether to enable tracing. */
-#ifndef U_ENABLE_TRACING
-#define U_ENABLE_TRACING 1
-#endif
-
-/**
- * Whether to enable Dynamic loading in ICU
- * @internal
- */
-#ifndef U_ENABLE_DYLOAD
-#define U_ENABLE_DYLOAD 1
-#endif
-
-/**
- * Whether to test Dynamic loading as an OS capabilty
- * @internal
- */
-#ifndef U_CHECK_DYLOAD
-#define U_CHECK_DYLOAD 1
-#endif
-
-
-/** Do we allow ICU users to use the draft APIs by default? */
-#ifndef U_DEFAULT_SHOW_DRAFT
-#define U_DEFAULT_SHOW_DRAFT 1
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/** @{ Character data types */
-/*===========================================================================*/
-
-#if ((defined(OS390) && (!defined(__CHARSET_LIB) || !__CHARSET_LIB))) || defined(OS400)
-# define U_CHARSET_FAMILY 1
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/** @{ Information about wchar support */
-/*===========================================================================*/
-
-#ifndef U_HAVE_WCHAR_H
-#define U_HAVE_WCHAR_H 1
-#endif
-
-#ifndef U_SIZEOF_WCHAR_T
-#define U_SIZEOF_WCHAR_T 4
-#endif
-
-#ifndef U_HAVE_WCSCPY
-#define U_HAVE_WCSCPY 1
-#endif
-
-/** @} */
-
-/**
- * @{
- * \def U_DECLARE_UTF16
- * Do not use this macro. Use the UNICODE_STRING or U_STRING_DECL macros
- * instead.
- * @internal
- *
- * \def U_GNUC_UTF16_STRING
- * @internal
- */
-#ifndef U_GNUC_UTF16_STRING
-#define U_GNUC_UTF16_STRING 0
-#endif
-#if 1 || defined(U_CHECK_UTF16_STRING)
-#if (defined(__xlC__) && defined(__IBM_UTF_LITERAL) && U_SIZEOF_WCHAR_T != 2) \
- || (defined(__HP_aCC) && __HP_aCC >= 035000) \
- || (defined(__HP_cc) && __HP_cc >= 111106) \
- || U_GNUC_UTF16_STRING
-#define U_DECLARE_UTF16(string) u ## string
-#elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550)
-/* || (defined(__SUNPRO_C) && __SUNPRO_C >= 0x580) */
-/* Sun's C compiler has issues with this notation, and it's unreliable. */
-#define U_DECLARE_UTF16(string) U ## string
-#elif U_SIZEOF_WCHAR_T == 2 \
- && (U_CHARSET_FAMILY == 0 || ((defined(OS390) || defined(OS400)) && defined(__UCS2__)))
-#define U_DECLARE_UTF16(string) L ## string
-#endif
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/** @{ Information about POSIX support */
-/*===========================================================================*/
-
-#ifndef U_HAVE_NL_LANGINFO_CODESET
-#define U_HAVE_NL_LANGINFO_CODESET 1
-#endif
-
-#ifndef U_NL_LANGINFO_CODESET
-#define U_NL_LANGINFO_CODESET CODESET
-#endif
-
-#if 1
-#define U_TZSET tzset
-#endif
-#if 0
-#define U_TIMEZONE timezone
-#endif
-#if 1
-#define U_TZNAME tzname
-#endif
-
-#define U_HAVE_MMAP 1
-#define U_HAVE_POPEN 1
-
-/** @} */
-
-/*===========================================================================*/
-/** @{ Symbol import-export control */
-/*===========================================================================*/
-
-#if 1
-#define U_EXPORT __attribute__((visibility("default")))
-#elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550) \
- || (defined(__SUNPRO_C) && __SUNPRO_C >= 0x550)
-#define U_EXPORT __global
-/*#elif defined(__HP_aCC) || defined(__HP_cc)
-#define U_EXPORT __declspec(dllexport)*/
-#else
-#define U_EXPORT
-#endif
-
-/* U_CALLCONV is releated to U_EXPORT2 */
-#define U_EXPORT2
-
-/* cygwin needs to export/import data */
-#if defined(U_CYGWIN) && !defined(__GNUC__)
-#define U_IMPORT __declspec(dllimport)
-#else
-#define U_IMPORT
-#endif
-
-/* @} */
-
-/*===========================================================================*/
-/** @{ Code alignment and C function inlining */
-/*===========================================================================*/
-
-#ifndef U_INLINE
-# ifdef __cplusplus
-# define U_INLINE inline
-# else
-# define U_INLINE __inline__
-# endif
-#endif
-
-#ifndef U_ALIGN_CODE
-#define U_ALIGN_CODE(n)
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/** @{ GCC built in functions for atomic memory operations */
-/*===========================================================================*/
-
-/**
- * \def U_HAVE_GCC_ATOMICS
- * @internal
- */
-#ifndef U_HAVE_GCC_ATOMICS
-#define U_HAVE_GCC_ATOMICS 1
-#endif
-
-/** @} */
-
-/*===========================================================================*/
-/** @{ Programs used by ICU code */
-/*===========================================================================*/
-
-/**
- * \def U_MAKE
- * What program to execute to run 'make'
- */
-#ifndef U_MAKE
-#define U_MAKE "/usr/bin/gnumake"
-#endif
-
-/** @} */
-
-#endif /* CYGWINMSVC */
-
-/*===========================================================================*/
-/* Custom icu entry point renaming */
-/*===========================================================================*/
-
-/**
- * Define the library suffix with C syntax.
- * @internal
- */
-# define U_LIB_SUFFIX_C_NAME
-/**
- * Define the library suffix as a string with C syntax
- * @internal
- */
-# define U_LIB_SUFFIX_C_NAME_STRING ""
-/**
- * 1 if a custom library suffix is set
- * @internal
- */
-# define U_HAVE_LIB_SUFFIX 0
-
-#if U_HAVE_LIB_SUFFIX
-# ifndef U_ICU_ENTRY_POINT_RENAME
-/* Renaming pattern: u_strcpy_41_suffix */
-# define U_ICU_ENTRY_POINT_RENAME(x) x ## _ ## 46 ##
-# define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt####major##minor##_dat
-
-# endif
-#endif
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/ptypes.h b/Source/WebKit/mac/icu/unicode/ptypes.h
deleted file mode 100644
index 1f34d2f84..000000000
--- a/Source/WebKit/mac/icu/unicode/ptypes.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-******************************************************************************
-*
-* Copyright (C) 1997-2010, International Business Machines
-* Corporation and others. All Rights Reserved.
-*
-******************************************************************************
-*
-* FILE NAME : ptypes.h
-*
-* Date Name Description
-* 05/13/98 nos Creation (content moved here from ptypes.h).
-* 03/02/99 stephen Added AS400 support.
-* 03/30/99 stephen Added Linux support.
-* 04/13/99 stephen Reworked for autoconf.
-* 09/18/08 srl Moved basic types back to ptypes.h from platform.h
-******************************************************************************
-*/
-
-#ifndef _PTYPES_H
-#define _PTYPES_H
-
-#include <sys/types.h>
-
-#include "unicode/platform.h"
-
-/*===========================================================================*/
-/* Generic data types */
-/*===========================================================================*/
-
-/* If your platform does not have the <inttypes.h> header, you may
- need to edit the typedefs below. */
-#if U_HAVE_INTTYPES_H
-
-/* autoconf 2.13 sometimes can't properly find the data types in <inttypes.h> */
-/* os/390 needs <inttypes.h>, but it doesn't have int8_t, and it sometimes */
-/* doesn't have uint8_t depending on the OS version. */
-/* So we have this work around. */
-#ifdef OS390
-/* The features header is needed to get (u)int64_t sometimes. */
-#include <features.h>
-#if ! U_HAVE_INT8_T
-typedef signed char int8_t;
-#endif
-#if !defined(__uint8_t)
-#define __uint8_t 1
-typedef unsigned char uint8_t;
-#endif
-#endif /* OS390 */
-
-#include <inttypes.h>
-
-#else /* U_HAVE_INTTYPES_H */
-
-#if ! U_HAVE_INT8_T
-typedef signed char int8_t;
-#endif
-
-#if ! U_HAVE_UINT8_T
-typedef unsigned char uint8_t;
-#endif
-
-#if ! U_HAVE_INT16_T
-typedef signed short int16_t;
-#endif
-
-#if ! U_HAVE_UINT16_T
-typedef unsigned short uint16_t;
-#endif
-
-#if ! U_HAVE_INT32_T
-typedef signed int int32_t;
-#endif
-
-#if ! U_HAVE_UINT32_T
-typedef unsigned int uint32_t;
-#endif
-
-#if ! U_HAVE_INT64_T
- typedef signed long long int64_t;
-/* else we may not have a 64-bit type */
-#endif
-
-#if ! U_HAVE_UINT64_T
- typedef unsigned long long uint64_t;
-/* else we may not have a 64-bit type */
-#endif
-
-#endif /* U_HAVE_INTTYPES_H */
-
-#endif /* _PTYPES_H */
-
diff --git a/Source/WebKit/mac/icu/unicode/putil.h b/Source/WebKit/mac/icu/unicode/putil.h
deleted file mode 100644
index 71d5d2643..000000000
--- a/Source/WebKit/mac/icu/unicode/putil.h
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
-******************************************************************************
-*
-* Copyright (C) 1997-2009, International Business Machines
-* Corporation and others. All Rights Reserved.
-*
-******************************************************************************
-*
-* FILE NAME : putil.h
-*
-* Date Name Description
-* 05/14/98 nos Creation (content moved here from utypes.h).
-* 06/17/99 erm Added IEEE_754
-* 07/22/98 stephen Added IEEEremainder, max, min, trunc
-* 08/13/98 stephen Added isNegativeInfinity, isPositiveInfinity
-* 08/24/98 stephen Added longBitsFromDouble
-* 03/02/99 stephen Removed openFile(). Added AS400 support.
-* 04/15/99 stephen Converted to C
-* 11/15/99 helena Integrated S/390 changes for IEEE support.
-* 01/11/00 helena Added u_getVersion.
-******************************************************************************
-*/
-
-#ifndef PUTIL_H
-#define PUTIL_H
-
-#include "unicode/utypes.h"
- /**
- * \file
- * \brief C API: Platform Utilities
- */
-
-/** Define this to 1 if your platform supports IEEE 754 floating point,
- to 0 if it does not. */
-#ifndef IEEE_754
-# define IEEE_754 1
-#endif
-
-/*==========================================================================*/
-/* Platform utilities */
-/*==========================================================================*/
-
-/**
- * Platform utilities isolates the platform dependencies of the
- * libarary. For each platform which this code is ported to, these
- * functions may have to be re-implemented.
- */
-
-/**
- * Return the ICU data directory.
- * The data directory is where common format ICU data files (.dat files)
- * are loaded from. Note that normal use of the built-in ICU
- * facilities does not require loading of an external data file;
- * unless you are adding custom data to ICU, the data directory
- * does not need to be set.
- *
- * The data directory is determined as follows:
- * If u_setDataDirectory() has been called, that is it, otherwise
- * if the ICU_DATA environment variable is set, use that, otherwise
- * If a data directory was specifed at ICU build time
- * <code>
- * \code
- * #define ICU_DATA_DIR "path"
- * \endcode
- * </code> use that,
- * otherwise no data directory is available.
- *
- * @return the data directory, or an empty string ("") if no data directory has
- * been specified.
- *
- * @stable ICU 2.0
- */
-U_STABLE const char* U_EXPORT2 u_getDataDirectory(void);
-
-/**
- * Set the ICU data directory.
- * The data directory is where common format ICU data files (.dat files)
- * are loaded from. Note that normal use of the built-in ICU
- * facilities does not require loading of an external data file;
- * unless you are adding custom data to ICU, the data directory
- * does not need to be set.
- *
- * This function should be called at most once in a process, before the
- * first ICU operation (e.g., u_init()) that will require the loading of an
- * ICU data file.
- * This function is not thread-safe. Use it before calling ICU APIs from
- * multiple threads.
- *
- * @param directory The directory to be set.
- *
- * @see u_init
- * @stable ICU 2.0
- */
-U_STABLE void U_EXPORT2 u_setDataDirectory(const char *directory);
-
-#if !U_CHARSET_IS_UTF8
-/**
- * Please use ucnv_getDefaultName() instead.
- * Return the default codepage for this platform and locale.
- * This function can call setlocale() on Unix platforms. Please read the
- * platform documentation on setlocale() before calling this function.
- * @return the default codepage for this platform
- * @internal
- */
-U_INTERNAL const char* U_EXPORT2 uprv_getDefaultCodepage(void);
-#endif
-
-/**
- * Please use uloc_getDefault() instead.
- * Return the default locale ID string by querying ths system, or
- * zero if one cannot be found.
- * This function can call setlocale() on Unix platforms. Please read the
- * platform documentation on setlocale() before calling this function.
- * @return the default locale ID string
- * @internal
- */
-U_INTERNAL const char* U_EXPORT2 uprv_getDefaultLocaleID(void);
-
-/**
- * @{
- * Filesystem file and path separator characters.
- * Example: '/' and ':' on Unix, '\\' and ';' on Windows.
- * @stable ICU 2.0
- */
-#ifdef XP_MAC
-# define U_FILE_SEP_CHAR ':'
-# define U_FILE_ALT_SEP_CHAR ':'
-# define U_PATH_SEP_CHAR ';'
-# define U_FILE_SEP_STRING ":"
-# define U_FILE_ALT_SEP_STRING ":"
-# define U_PATH_SEP_STRING ";"
-#elif defined(WIN32) || defined(OS2)
-# define U_FILE_SEP_CHAR '\\'
-# define U_FILE_ALT_SEP_CHAR '/'
-# define U_PATH_SEP_CHAR ';'
-# define U_FILE_SEP_STRING "\\"
-# define U_FILE_ALT_SEP_STRING "/"
-# define U_PATH_SEP_STRING ";"
-#else
-# define U_FILE_SEP_CHAR '/'
-# define U_FILE_ALT_SEP_CHAR '/'
-# define U_PATH_SEP_CHAR ':'
-# define U_FILE_SEP_STRING "/"
-# define U_FILE_ALT_SEP_STRING "/"
-# define U_PATH_SEP_STRING ":"
-#endif
-
-/** @} */
-
-/**
- * Convert char characters to UChar characters.
- * This utility function is useful only for "invariant characters"
- * that are encoded in the platform default encoding.
- * They are a small, constant subset of the encoding and include
- * just the latin letters, digits, and some punctuation.
- * For details, see U_CHARSET_FAMILY.
- *
- * @param cs Input string, points to <code>length</code>
- * character bytes from a subset of the platform encoding.
- * @param us Output string, points to memory for <code>length</code>
- * Unicode characters.
- * @param length The number of characters to convert; this may
- * include the terminating <code>NUL</code>.
- *
- * @see U_CHARSET_FAMILY
- * @stable ICU 2.0
- */
-U_STABLE void U_EXPORT2
-u_charsToUChars(const char *cs, UChar *us, int32_t length);
-
-/**
- * Convert UChar characters to char characters.
- * This utility function is useful only for "invariant characters"
- * that can be encoded in the platform default encoding.
- * They are a small, constant subset of the encoding and include
- * just the latin letters, digits, and some punctuation.
- * For details, see U_CHARSET_FAMILY.
- *
- * @param us Input string, points to <code>length</code>
- * Unicode characters that can be encoded with the
- * codepage-invariant subset of the platform encoding.
- * @param cs Output string, points to memory for <code>length</code>
- * character bytes.
- * @param length The number of characters to convert; this may
- * include the terminating <code>NUL</code>.
- *
- * @see U_CHARSET_FAMILY
- * @stable ICU 2.0
- */
-U_STABLE void U_EXPORT2
-u_UCharsToChars(const UChar *us, char *cs, int32_t length);
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/uchar.h b/Source/WebKit/mac/icu/unicode/uchar.h
deleted file mode 100644
index 93aa66320..000000000
--- a/Source/WebKit/mac/icu/unicode/uchar.h
+++ /dev/null
@@ -1,3168 +0,0 @@
-/*
-**********************************************************************
-* Copyright (C) 1997-2010, International Business Machines
-* Corporation and others. All Rights Reserved.
-**********************************************************************
-*
-* File UCHAR.H
-*
-* Modification History:
-*
-* Date Name Description
-* 04/02/97 aliu Creation.
-* 03/29/99 helena Updated for C APIs.
-* 4/15/99 Madhu Updated for C Implementation and Javadoc
-* 5/20/99 Madhu Added the function u_getVersion()
-* 8/19/1999 srl Upgraded scripts to Unicode 3.0
-* 8/27/1999 schererm UCharDirection constants: U_...
-* 11/11/1999 weiv added u_isalnum(), cleaned comments
-* 01/11/2000 helena Renamed u_getVersion to u_getUnicodeVersion().
-******************************************************************************
-*/
-
-#ifndef UCHAR_H
-#define UCHAR_H
-
-#include "unicode/utypes.h"
-
-U_CDECL_BEGIN
-
-/*==========================================================================*/
-/* Unicode version number */
-/*==========================================================================*/
-/**
- * Unicode version number, default for the current ICU version.
- * The actual Unicode Character Database (UCD) data is stored in uprops.dat
- * and may be generated from UCD files from a different Unicode version.
- * Call u_getUnicodeVersion to get the actual Unicode version of the data.
- *
- * @see u_getUnicodeVersion
- * @stable ICU 2.0
- */
-#define U_UNICODE_VERSION "6.0"
-
-/**
- * \file
- * \brief C API: Unicode Properties
- *
- * This C API provides low-level access to the Unicode Character Database.
- * In addition to raw property values, some convenience functions calculate
- * derived properties, for example for Java-style programming.
- *
- * Unicode assigns each code point (not just assigned character) values for
- * many properties.
- * Most of them are simple boolean flags, or constants from a small enumerated list.
- * For some properties, values are strings or other relatively more complex types.
- *
- * For more information see
- * "About the Unicode Character Database" (http://www.unicode.org/ucd/)
- * and the ICU User Guide chapter on Properties (http://icu-project.org/userguide/properties.html).
- *
- * Many functions are designed to match java.lang.Character functions.
- * See the individual function documentation,
- * and see the JDK 1.4 java.lang.Character documentation
- * at http://java.sun.com/j2se/1.4/docs/api/java/lang/Character.html
- *
- * There are also functions that provide easy migration from C/POSIX functions
- * like isblank(). Their use is generally discouraged because the C/POSIX
- * standards do not define their semantics beyond the ASCII range, which means
- * that different implementations exhibit very different behavior.
- * Instead, Unicode properties should be used directly.
- *
- * There are also only a few, broad C/POSIX character classes, and they tend
- * to be used for conflicting purposes. For example, the "isalpha()" class
- * is sometimes used to determine word boundaries, while a more sophisticated
- * approach would at least distinguish initial letters from continuation
- * characters (the latter including combining marks).
- * (In ICU, BreakIterator is the most sophisticated API for word boundaries.)
- * Another example: There is no "istitle()" class for titlecase characters.
- *
- * ICU 3.4 and later provides API access for all twelve C/POSIX character classes.
- * ICU implements them according to the Standard Recommendations in
- * Annex C: Compatibility Properties of UTS #18 Unicode Regular Expressions
- * (http://www.unicode.org/reports/tr18/#Compatibility_Properties).
- *
- * API access for C/POSIX character classes is as follows:
- * - alpha: u_isUAlphabetic(c) or u_hasBinaryProperty(c, UCHAR_ALPHABETIC)
- * - lower: u_isULowercase(c) or u_hasBinaryProperty(c, UCHAR_LOWERCASE)
- * - upper: u_isUUppercase(c) or u_hasBinaryProperty(c, UCHAR_UPPERCASE)
- * - punct: u_ispunct(c)
- * - digit: u_isdigit(c) or u_charType(c)==U_DECIMAL_DIGIT_NUMBER
- * - xdigit: u_isxdigit(c) or u_hasBinaryProperty(c, UCHAR_POSIX_XDIGIT)
- * - alnum: u_hasBinaryProperty(c, UCHAR_POSIX_ALNUM)
- * - space: u_isUWhiteSpace(c) or u_hasBinaryProperty(c, UCHAR_WHITE_SPACE)
- * - blank: u_isblank(c) or u_hasBinaryProperty(c, UCHAR_POSIX_BLANK)
- * - cntrl: u_charType(c)==U_CONTROL_CHAR
- * - graph: u_hasBinaryProperty(c, UCHAR_POSIX_GRAPH)
- * - print: u_hasBinaryProperty(c, UCHAR_POSIX_PRINT)
- *
- * Note: Some of the u_isxyz() functions in uchar.h predate, and do not match,
- * the Standard Recommendations in UTS #18. Instead, they match Java
- * functions according to their API documentation.
- *
- * \htmlonly
- * The C/POSIX character classes are also available in UnicodeSet patterns,
- * using patterns like [:graph:] or \p{graph}.
- * \endhtmlonly
- *
- * Note: There are several ICU whitespace functions.
- * Comparison:
- * - u_isUWhiteSpace=UCHAR_WHITE_SPACE: Unicode White_Space property;
- * most of general categories "Z" (separators) + most whitespace ISO controls
- * (including no-break spaces, but excluding IS1..IS4 and ZWSP)
- * - u_isWhitespace: Java isWhitespace; Z + whitespace ISO controls but excluding no-break spaces
- * - u_isJavaSpaceChar: Java isSpaceChar; just Z (including no-break spaces)
- * - u_isspace: Z + whitespace ISO controls (including no-break spaces)
- * - u_isblank: "horizontal spaces" = TAB + Zs - ZWSP
- */
-
-/**
- * Constants.
- */
-
-/** The lowest Unicode code point value. Code points are non-negative. @stable ICU 2.0 */
-#define UCHAR_MIN_VALUE 0
-
-/**
- * The highest Unicode code point value (scalar value) according to
- * The Unicode Standard. This is a 21-bit value (20.1 bits, rounded up).
- * For a single character, UChar32 is a simple type that can hold any code point value.
- *
- * @see UChar32
- * @stable ICU 2.0
- */
-#define UCHAR_MAX_VALUE 0x10ffff
-
-/**
- * Get a single-bit bit set (a flag) from a bit number 0..31.
- * @stable ICU 2.1
- */
-#define U_MASK(x) ((uint32_t)1<<(x))
-
-/*
- * !! Note: Several comments in this file are machine-read by the
- * genpname tool. These comments describe the correspondence between
- * icu enum constants and UCD entities. Do not delete them. Update
- * these comments as needed.
- *
- * Any comment of the form "/ *[name]* /" (spaces added) is such
- * a comment.
- *
- * The U_JG_* and U_GC_*_MASK constants are matched by their symbolic
- * name, which must match PropertyValueAliases.txt.
- */
-
-/**
- * Selection constants for Unicode properties.
- * These constants are used in functions like u_hasBinaryProperty to select
- * one of the Unicode properties.
- *
- * The properties APIs are intended to reflect Unicode properties as defined
- * in the Unicode Character Database (UCD) and Unicode Technical Reports (UTR).
- * For details about the properties see http://www.unicode.org/ucd/ .
- * For names of Unicode properties see the UCD file PropertyAliases.txt.
- *
- * Important: If ICU is built with UCD files from Unicode versions below, e.g., 3.2,
- * then properties marked with "new in Unicode 3.2" are not or not fully available.
- * Check u_getUnicodeVersion to be sure.
- *
- * @see u_hasBinaryProperty
- * @see u_getIntPropertyValue
- * @see u_getUnicodeVersion
- * @stable ICU 2.1
- */
-typedef enum UProperty {
- /* See note !!. Comments of the form "Binary property Dash",
- "Enumerated property Script", "Double property Numeric_Value",
- and "String property Age" are read by genpname. */
-
- /* Note: Place UCHAR_ALPHABETIC before UCHAR_BINARY_START so that
- debuggers display UCHAR_ALPHABETIC as the symbolic name for 0,
- rather than UCHAR_BINARY_START. Likewise for other *_START
- identifiers. */
-
- /** Binary property Alphabetic. Same as u_isUAlphabetic, different from u_isalpha.
- Lu+Ll+Lt+Lm+Lo+Nl+Other_Alphabetic @stable ICU 2.1 */
- UCHAR_ALPHABETIC=0,
- /** First constant for binary Unicode properties. @stable ICU 2.1 */
- UCHAR_BINARY_START=UCHAR_ALPHABETIC,
- /** Binary property ASCII_Hex_Digit. 0-9 A-F a-f @stable ICU 2.1 */
- UCHAR_ASCII_HEX_DIGIT=1,
- /** Binary property Bidi_Control.
- Format controls which have specific functions
- in the Bidi Algorithm. @stable ICU 2.1 */
- UCHAR_BIDI_CONTROL=2,
- /** Binary property Bidi_Mirrored.
- Characters that may change display in RTL text.
- Same as u_isMirrored.
- See Bidi Algorithm, UTR 9. @stable ICU 2.1 */
- UCHAR_BIDI_MIRRORED=3,
- /** Binary property Dash. Variations of dashes. @stable ICU 2.1 */
- UCHAR_DASH=4,
- /** Binary property Default_Ignorable_Code_Point (new in Unicode 3.2).
- Ignorable in most processing.
- <2060..206F, FFF0..FFFB, E0000..E0FFF>+Other_Default_Ignorable_Code_Point+(Cf+Cc+Cs-White_Space) @stable ICU 2.1 */
- UCHAR_DEFAULT_IGNORABLE_CODE_POINT=5,
- /** Binary property Deprecated (new in Unicode 3.2).
- The usage of deprecated characters is strongly discouraged. @stable ICU 2.1 */
- UCHAR_DEPRECATED=6,
- /** Binary property Diacritic. Characters that linguistically modify
- the meaning of another character to which they apply. @stable ICU 2.1 */
- UCHAR_DIACRITIC=7,
- /** Binary property Extender.
- Extend the value or shape of a preceding alphabetic character,
- e.g., length and iteration marks. @stable ICU 2.1 */
- UCHAR_EXTENDER=8,
- /** Binary property Full_Composition_Exclusion.
- CompositionExclusions.txt+Singleton Decompositions+
- Non-Starter Decompositions. @stable ICU 2.1 */
- UCHAR_FULL_COMPOSITION_EXCLUSION=9,
- /** Binary property Grapheme_Base (new in Unicode 3.2).
- For programmatic determination of grapheme cluster boundaries.
- [0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend-CGJ @stable ICU 2.1 */
- UCHAR_GRAPHEME_BASE=10,
- /** Binary property Grapheme_Extend (new in Unicode 3.2).
- For programmatic determination of grapheme cluster boundaries.
- Me+Mn+Mc+Other_Grapheme_Extend-Grapheme_Link-CGJ @stable ICU 2.1 */
- UCHAR_GRAPHEME_EXTEND=11,
- /** Binary property Grapheme_Link (new in Unicode 3.2).
- For programmatic determination of grapheme cluster boundaries. @stable ICU 2.1 */
- UCHAR_GRAPHEME_LINK=12,
- /** Binary property Hex_Digit.
- Characters commonly used for hexadecimal numbers. @stable ICU 2.1 */
- UCHAR_HEX_DIGIT=13,
- /** Binary property Hyphen. Dashes used to mark connections
- between pieces of words, plus the Katakana middle dot. @stable ICU 2.1 */
- UCHAR_HYPHEN=14,
- /** Binary property ID_Continue.
- Characters that can continue an identifier.
- DerivedCoreProperties.txt also says "NOTE: Cf characters should be filtered out."
- ID_Start+Mn+Mc+Nd+Pc @stable ICU 2.1 */
- UCHAR_ID_CONTINUE=15,
- /** Binary property ID_Start.
- Characters that can start an identifier.
- Lu+Ll+Lt+Lm+Lo+Nl @stable ICU 2.1 */
- UCHAR_ID_START=16,
- /** Binary property Ideographic.
- CJKV ideographs. @stable ICU 2.1 */
- UCHAR_IDEOGRAPHIC=17,
- /** Binary property IDS_Binary_Operator (new in Unicode 3.2).
- For programmatic determination of
- Ideographic Description Sequences. @stable ICU 2.1 */
- UCHAR_IDS_BINARY_OPERATOR=18,
- /** Binary property IDS_Trinary_Operator (new in Unicode 3.2).
- For programmatic determination of
- Ideographic Description Sequences. @stable ICU 2.1 */
- UCHAR_IDS_TRINARY_OPERATOR=19,
- /** Binary property Join_Control.
- Format controls for cursive joining and ligation. @stable ICU 2.1 */
- UCHAR_JOIN_CONTROL=20,
- /** Binary property Logical_Order_Exception (new in Unicode 3.2).
- Characters that do not use logical order and
- require special handling in most processing. @stable ICU 2.1 */
- UCHAR_LOGICAL_ORDER_EXCEPTION=21,
- /** Binary property Lowercase. Same as u_isULowercase, different from u_islower.
- Ll+Other_Lowercase @stable ICU 2.1 */
- UCHAR_LOWERCASE=22,
- /** Binary property Math. Sm+Other_Math @stable ICU 2.1 */
- UCHAR_MATH=23,
- /** Binary property Noncharacter_Code_Point.
- Code points that are explicitly defined as illegal
- for the encoding of characters. @stable ICU 2.1 */
- UCHAR_NONCHARACTER_CODE_POINT=24,
- /** Binary property Quotation_Mark. @stable ICU 2.1 */
- UCHAR_QUOTATION_MARK=25,
- /** Binary property Radical (new in Unicode 3.2).
- For programmatic determination of
- Ideographic Description Sequences. @stable ICU 2.1 */
- UCHAR_RADICAL=26,
- /** Binary property Soft_Dotted (new in Unicode 3.2).
- Characters with a "soft dot", like i or j.
- An accent placed on these characters causes
- the dot to disappear. @stable ICU 2.1 */
- UCHAR_SOFT_DOTTED=27,
- /** Binary property Terminal_Punctuation.
- Punctuation characters that generally mark
- the end of textual units. @stable ICU 2.1 */
- UCHAR_TERMINAL_PUNCTUATION=28,
- /** Binary property Unified_Ideograph (new in Unicode 3.2).
- For programmatic determination of
- Ideographic Description Sequences. @stable ICU 2.1 */
- UCHAR_UNIFIED_IDEOGRAPH=29,
- /** Binary property Uppercase. Same as u_isUUppercase, different from u_isupper.
- Lu+Other_Uppercase @stable ICU 2.1 */
- UCHAR_UPPERCASE=30,
- /** Binary property White_Space.
- Same as u_isUWhiteSpace, different from u_isspace and u_isWhitespace.
- Space characters+TAB+CR+LF-ZWSP-ZWNBSP @stable ICU 2.1 */
- UCHAR_WHITE_SPACE=31,
- /** Binary property XID_Continue.
- ID_Continue modified to allow closure under
- normalization forms NFKC and NFKD. @stable ICU 2.1 */
- UCHAR_XID_CONTINUE=32,
- /** Binary property XID_Start. ID_Start modified to allow
- closure under normalization forms NFKC and NFKD. @stable ICU 2.1 */
- UCHAR_XID_START=33,
- /** Binary property Case_Sensitive. Either the source of a case
- mapping or _in_ the target of a case mapping. Not the same as
- the general category Cased_Letter. @stable ICU 2.6 */
- UCHAR_CASE_SENSITIVE=34,
- /** Binary property STerm (new in Unicode 4.0.1).
- Sentence Terminal. Used in UAX #29: Text Boundaries
- (http://www.unicode.org/reports/tr29/)
- @stable ICU 3.0 */
- UCHAR_S_TERM=35,
- /** Binary property Variation_Selector (new in Unicode 4.0.1).
- Indicates all those characters that qualify as Variation Selectors.
- For details on the behavior of these characters,
- see StandardizedVariants.html and 15.6 Variation Selectors.
- @stable ICU 3.0 */
- UCHAR_VARIATION_SELECTOR=36,
- /** Binary property NFD_Inert.
- ICU-specific property for characters that are inert under NFD,
- i.e., they do not interact with adjacent characters.
- See the documentation for the Normalizer2 class and the
- Normalizer2::isInert() method.
- @stable ICU 3.0 */
- UCHAR_NFD_INERT=37,
- /** Binary property NFKD_Inert.
- ICU-specific property for characters that are inert under NFKD,
- i.e., they do not interact with adjacent characters.
- See the documentation for the Normalizer2 class and the
- Normalizer2::isInert() method.
- @stable ICU 3.0 */
- UCHAR_NFKD_INERT=38,
- /** Binary property NFC_Inert.
- ICU-specific property for characters that are inert under NFC,
- i.e., they do not interact with adjacent characters.
- See the documentation for the Normalizer2 class and the
- Normalizer2::isInert() method.
- @stable ICU 3.0 */
- UCHAR_NFC_INERT=39,
- /** Binary property NFKC_Inert.
- ICU-specific property for characters that are inert under NFKC,
- i.e., they do not interact with adjacent characters.
- See the documentation for the Normalizer2 class and the
- Normalizer2::isInert() method.
- @stable ICU 3.0 */
- UCHAR_NFKC_INERT=40,
- /** Binary Property Segment_Starter.
- ICU-specific property for characters that are starters in terms of
- Unicode normalization and combining character sequences.
- They have ccc=0 and do not occur in non-initial position of the
- canonical decomposition of any character
- (like a-umlaut in NFD and a Jamo T in an NFD(Hangul LVT)).
- ICU uses this property for segmenting a string for generating a set of
- canonically equivalent strings, e.g. for canonical closure while
- processing collation tailoring rules.
- @stable ICU 3.0 */
- UCHAR_SEGMENT_STARTER=41,
- /** Binary property Pattern_Syntax (new in Unicode 4.1).
- See UAX #31 Identifier and Pattern Syntax
- (http://www.unicode.org/reports/tr31/)
- @stable ICU 3.4 */
- UCHAR_PATTERN_SYNTAX=42,
- /** Binary property Pattern_White_Space (new in Unicode 4.1).
- See UAX #31 Identifier and Pattern Syntax
- (http://www.unicode.org/reports/tr31/)
- @stable ICU 3.4 */
- UCHAR_PATTERN_WHITE_SPACE=43,
- /** Binary property alnum (a C/POSIX character class).
- Implemented according to the UTS #18 Annex C Standard Recommendation.
- See the uchar.h file documentation.
- @stable ICU 3.4 */
- UCHAR_POSIX_ALNUM=44,
- /** Binary property blank (a C/POSIX character class).
- Implemented according to the UTS #18 Annex C Standard Recommendation.
- See the uchar.h file documentation.
- @stable ICU 3.4 */
- UCHAR_POSIX_BLANK=45,
- /** Binary property graph (a C/POSIX character class).
- Implemented according to the UTS #18 Annex C Standard Recommendation.
- See the uchar.h file documentation.
- @stable ICU 3.4 */
- UCHAR_POSIX_GRAPH=46,
- /** Binary property print (a C/POSIX character class).
- Implemented according to the UTS #18 Annex C Standard Recommendation.
- See the uchar.h file documentation.
- @stable ICU 3.4 */
- UCHAR_POSIX_PRINT=47,
- /** Binary property xdigit (a C/POSIX character class).
- Implemented according to the UTS #18 Annex C Standard Recommendation.
- See the uchar.h file documentation.
- @stable ICU 3.4 */
- UCHAR_POSIX_XDIGIT=48,
- /** Binary property Cased. For Lowercase, Uppercase and Titlecase characters. @stable ICU 4.4 */
- UCHAR_CASED=49,
- /** Binary property Case_Ignorable. Used in context-sensitive case mappings. @stable ICU 4.4 */
- UCHAR_CASE_IGNORABLE=50,
- /** Binary property Changes_When_Lowercased. @stable ICU 4.4 */
- UCHAR_CHANGES_WHEN_LOWERCASED=51,
- /** Binary property Changes_When_Uppercased. @stable ICU 4.4 */
- UCHAR_CHANGES_WHEN_UPPERCASED=52,
- /** Binary property Changes_When_Titlecased. @stable ICU 4.4 */
- UCHAR_CHANGES_WHEN_TITLECASED=53,
- /** Binary property Changes_When_Casefolded. @stable ICU 4.4 */
- UCHAR_CHANGES_WHEN_CASEFOLDED=54,
- /** Binary property Changes_When_Casemapped. @stable ICU 4.4 */
- UCHAR_CHANGES_WHEN_CASEMAPPED=55,
- /** Binary property Changes_When_NFKC_Casefolded. @stable ICU 4.4 */
- UCHAR_CHANGES_WHEN_NFKC_CASEFOLDED=56,
- /** One more than the last constant for binary Unicode properties. @stable ICU 2.1 */
- UCHAR_BINARY_LIMIT=57,
-
- /** Enumerated property Bidi_Class.
- Same as u_charDirection, returns UCharDirection values. @stable ICU 2.2 */
- UCHAR_BIDI_CLASS=0x1000,
- /** First constant for enumerated/integer Unicode properties. @stable ICU 2.2 */
- UCHAR_INT_START=UCHAR_BIDI_CLASS,
- /** Enumerated property Block.
- Same as ublock_getCode, returns UBlockCode values. @stable ICU 2.2 */
- UCHAR_BLOCK=0x1001,
- /** Enumerated property Canonical_Combining_Class.
- Same as u_getCombiningClass, returns 8-bit numeric values. @stable ICU 2.2 */
- UCHAR_CANONICAL_COMBINING_CLASS=0x1002,
- /** Enumerated property Decomposition_Type.
- Returns UDecompositionType values. @stable ICU 2.2 */
- UCHAR_DECOMPOSITION_TYPE=0x1003,
- /** Enumerated property East_Asian_Width.
- See http://www.unicode.org/reports/tr11/
- Returns UEastAsianWidth values. @stable ICU 2.2 */
- UCHAR_EAST_ASIAN_WIDTH=0x1004,
- /** Enumerated property General_Category.
- Same as u_charType, returns UCharCategory values. @stable ICU 2.2 */
- UCHAR_GENERAL_CATEGORY=0x1005,
- /** Enumerated property Joining_Group.
- Returns UJoiningGroup values. @stable ICU 2.2 */
- UCHAR_JOINING_GROUP=0x1006,
- /** Enumerated property Joining_Type.
- Returns UJoiningType values. @stable ICU 2.2 */
- UCHAR_JOINING_TYPE=0x1007,
- /** Enumerated property Line_Break.
- Returns ULineBreak values. @stable ICU 2.2 */
- UCHAR_LINE_BREAK=0x1008,
- /** Enumerated property Numeric_Type.
- Returns UNumericType values. @stable ICU 2.2 */
- UCHAR_NUMERIC_TYPE=0x1009,
- /** Enumerated property Script.
- Same as uscript_getScript, returns UScriptCode values. @stable ICU 2.2 */
- UCHAR_SCRIPT=0x100A,
- /** Enumerated property Hangul_Syllable_Type, new in Unicode 4.
- Returns UHangulSyllableType values. @stable ICU 2.6 */
- UCHAR_HANGUL_SYLLABLE_TYPE=0x100B,
- /** Enumerated property NFD_Quick_Check.
- Returns UNormalizationCheckResult values. @stable ICU 3.0 */
- UCHAR_NFD_QUICK_CHECK=0x100C,
- /** Enumerated property NFKD_Quick_Check.
- Returns UNormalizationCheckResult values. @stable ICU 3.0 */
- UCHAR_NFKD_QUICK_CHECK=0x100D,
- /** Enumerated property NFC_Quick_Check.
- Returns UNormalizationCheckResult values. @stable ICU 3.0 */
- UCHAR_NFC_QUICK_CHECK=0x100E,
- /** Enumerated property NFKC_Quick_Check.
- Returns UNormalizationCheckResult values. @stable ICU 3.0 */
- UCHAR_NFKC_QUICK_CHECK=0x100F,
- /** Enumerated property Lead_Canonical_Combining_Class.
- ICU-specific property for the ccc of the first code point
- of the decomposition, or lccc(c)=ccc(NFD(c)[0]).
- Useful for checking for canonically ordered text;
- see UNORM_FCD and http://www.unicode.org/notes/tn5/#FCD .
- Returns 8-bit numeric values like UCHAR_CANONICAL_COMBINING_CLASS. @stable ICU 3.0 */
- UCHAR_LEAD_CANONICAL_COMBINING_CLASS=0x1010,
- /** Enumerated property Trail_Canonical_Combining_Class.
- ICU-specific property for the ccc of the last code point
- of the decomposition, or tccc(c)=ccc(NFD(c)[last]).
- Useful for checking for canonically ordered text;
- see UNORM_FCD and http://www.unicode.org/notes/tn5/#FCD .
- Returns 8-bit numeric values like UCHAR_CANONICAL_COMBINING_CLASS. @stable ICU 3.0 */
- UCHAR_TRAIL_CANONICAL_COMBINING_CLASS=0x1011,
- /** Enumerated property Grapheme_Cluster_Break (new in Unicode 4.1).
- Used in UAX #29: Text Boundaries
- (http://www.unicode.org/reports/tr29/)
- Returns UGraphemeClusterBreak values. @stable ICU 3.4 */
- UCHAR_GRAPHEME_CLUSTER_BREAK=0x1012,
- /** Enumerated property Sentence_Break (new in Unicode 4.1).
- Used in UAX #29: Text Boundaries
- (http://www.unicode.org/reports/tr29/)
- Returns USentenceBreak values. @stable ICU 3.4 */
- UCHAR_SENTENCE_BREAK=0x1013,
- /** Enumerated property Word_Break (new in Unicode 4.1).
- Used in UAX #29: Text Boundaries
- (http://www.unicode.org/reports/tr29/)
- Returns UWordBreakValues values. @stable ICU 3.4 */
- UCHAR_WORD_BREAK=0x1014,
- /** One more than the last constant for enumerated/integer Unicode properties. @stable ICU 2.2 */
- UCHAR_INT_LIMIT=0x1015,
-
- /** Bitmask property General_Category_Mask.
- This is the General_Category property returned as a bit mask.
- When used in u_getIntPropertyValue(c), same as U_MASK(u_charType(c)),
- returns bit masks for UCharCategory values where exactly one bit is set.
- When used with u_getPropertyValueName() and u_getPropertyValueEnum(),
- a multi-bit mask is used for sets of categories like "Letters".
- Mask values should be cast to uint32_t.
- @stable ICU 2.4 */
- UCHAR_GENERAL_CATEGORY_MASK=0x2000,
- /** First constant for bit-mask Unicode properties. @stable ICU 2.4 */
- UCHAR_MASK_START=UCHAR_GENERAL_CATEGORY_MASK,
- /** One more than the last constant for bit-mask Unicode properties. @stable ICU 2.4 */
- UCHAR_MASK_LIMIT=0x2001,
-
- /** Double property Numeric_Value.
- Corresponds to u_getNumericValue. @stable ICU 2.4 */
- UCHAR_NUMERIC_VALUE=0x3000,
- /** First constant for double Unicode properties. @stable ICU 2.4 */
- UCHAR_DOUBLE_START=UCHAR_NUMERIC_VALUE,
- /** One more than the last constant for double Unicode properties. @stable ICU 2.4 */
- UCHAR_DOUBLE_LIMIT=0x3001,
-
- /** String property Age.
- Corresponds to u_charAge. @stable ICU 2.4 */
- UCHAR_AGE=0x4000,
- /** First constant for string Unicode properties. @stable ICU 2.4 */
- UCHAR_STRING_START=UCHAR_AGE,
- /** String property Bidi_Mirroring_Glyph.
- Corresponds to u_charMirror. @stable ICU 2.4 */
- UCHAR_BIDI_MIRRORING_GLYPH=0x4001,
- /** String property Case_Folding.
- Corresponds to u_strFoldCase in ustring.h. @stable ICU 2.4 */
- UCHAR_CASE_FOLDING=0x4002,
- /** String property ISO_Comment.
- Corresponds to u_getISOComment. @stable ICU 2.4 */
- UCHAR_ISO_COMMENT=0x4003,
- /** String property Lowercase_Mapping.
- Corresponds to u_strToLower in ustring.h. @stable ICU 2.4 */
- UCHAR_LOWERCASE_MAPPING=0x4004,
- /** String property Name.
- Corresponds to u_charName. @stable ICU 2.4 */
- UCHAR_NAME=0x4005,
- /** String property Simple_Case_Folding.
- Corresponds to u_foldCase. @stable ICU 2.4 */
- UCHAR_SIMPLE_CASE_FOLDING=0x4006,
- /** String property Simple_Lowercase_Mapping.
- Corresponds to u_tolower. @stable ICU 2.4 */
- UCHAR_SIMPLE_LOWERCASE_MAPPING=0x4007,
- /** String property Simple_Titlecase_Mapping.
- Corresponds to u_totitle. @stable ICU 2.4 */
- UCHAR_SIMPLE_TITLECASE_MAPPING=0x4008,
- /** String property Simple_Uppercase_Mapping.
- Corresponds to u_toupper. @stable ICU 2.4 */
- UCHAR_SIMPLE_UPPERCASE_MAPPING=0x4009,
- /** String property Titlecase_Mapping.
- Corresponds to u_strToTitle in ustring.h. @stable ICU 2.4 */
- UCHAR_TITLECASE_MAPPING=0x400A,
- /** String property Unicode_1_Name.
- Corresponds to u_charName. @stable ICU 2.4 */
- UCHAR_UNICODE_1_NAME=0x400B,
- /** String property Uppercase_Mapping.
- Corresponds to u_strToUpper in ustring.h. @stable ICU 2.4 */
- UCHAR_UPPERCASE_MAPPING=0x400C,
- /** One more than the last constant for string Unicode properties. @stable ICU 2.4 */
- UCHAR_STRING_LIMIT=0x400D,
-
- /** Provisional property Script_Extensions (new in Unicode 6.0).
- As a provisional property, it may be modified or removed
- in future versions of the Unicode Standard, and thus in ICU.
- Some characters are commonly used in multiple scripts.
- For more information, see UAX #24: http://www.unicode.org/reports/tr24/.
- Corresponds to uscript_hasScript and uscript_getScriptExtensions in uscript.h.
- @draft ICU 4.6 */
- UCHAR_SCRIPT_EXTENSIONS=0x7000,
- /** First constant for Unicode properties with unusual value types. @draft ICU 4.6 */
- UCHAR_OTHER_PROPERTY_START=UCHAR_SCRIPT_EXTENSIONS,
- /** One more than the last constant for Unicode properties with unusual value types.
- * @draft ICU 4.6 */
- UCHAR_OTHER_PROPERTY_LIMIT=0x7001,
-
- /** Represents a nonexistent or invalid property or property value. @stable ICU 2.4 */
- UCHAR_INVALID_CODE = -1
-} UProperty;
-
-/**
- * Data for enumerated Unicode general category types.
- * See http://www.unicode.org/Public/UNIDATA/UnicodeData.html .
- * @stable ICU 2.0
- */
-typedef enum UCharCategory
-{
- /** See note !!. Comments of the form "Cn" are read by genpname. */
-
- /** Non-category for unassigned and non-character code points. @stable ICU 2.0 */
- U_UNASSIGNED = 0,
- /** Cn "Other, Not Assigned (no characters in [UnicodeData.txt] have this property)" (same as U_UNASSIGNED!) @stable ICU 2.0 */
- U_GENERAL_OTHER_TYPES = 0,
- /** Lu @stable ICU 2.0 */
- U_UPPERCASE_LETTER = 1,
- /** Ll @stable ICU 2.0 */
- U_LOWERCASE_LETTER = 2,
- /** Lt @stable ICU 2.0 */
- U_TITLECASE_LETTER = 3,
- /** Lm @stable ICU 2.0 */
- U_MODIFIER_LETTER = 4,
- /** Lo @stable ICU 2.0 */
- U_OTHER_LETTER = 5,
- /** Mn @stable ICU 2.0 */
- U_NON_SPACING_MARK = 6,
- /** Me @stable ICU 2.0 */
- U_ENCLOSING_MARK = 7,
- /** Mc @stable ICU 2.0 */
- U_COMBINING_SPACING_MARK = 8,
- /** Nd @stable ICU 2.0 */
- U_DECIMAL_DIGIT_NUMBER = 9,
- /** Nl @stable ICU 2.0 */
- U_LETTER_NUMBER = 10,
- /** No @stable ICU 2.0 */
- U_OTHER_NUMBER = 11,
- /** Zs @stable ICU 2.0 */
- U_SPACE_SEPARATOR = 12,
- /** Zl @stable ICU 2.0 */
- U_LINE_SEPARATOR = 13,
- /** Zp @stable ICU 2.0 */
- U_PARAGRAPH_SEPARATOR = 14,
- /** Cc @stable ICU 2.0 */
- U_CONTROL_CHAR = 15,
- /** Cf @stable ICU 2.0 */
- U_FORMAT_CHAR = 16,
- /** Co @stable ICU 2.0 */
- U_PRIVATE_USE_CHAR = 17,
- /** Cs @stable ICU 2.0 */
- U_SURROGATE = 18,
- /** Pd @stable ICU 2.0 */
- U_DASH_PUNCTUATION = 19,
- /** Ps @stable ICU 2.0 */
- U_START_PUNCTUATION = 20,
- /** Pe @stable ICU 2.0 */
- U_END_PUNCTUATION = 21,
- /** Pc @stable ICU 2.0 */
- U_CONNECTOR_PUNCTUATION = 22,
- /** Po @stable ICU 2.0 */
- U_OTHER_PUNCTUATION = 23,
- /** Sm @stable ICU 2.0 */
- U_MATH_SYMBOL = 24,
- /** Sc @stable ICU 2.0 */
- U_CURRENCY_SYMBOL = 25,
- /** Sk @stable ICU 2.0 */
- U_MODIFIER_SYMBOL = 26,
- /** So @stable ICU 2.0 */
- U_OTHER_SYMBOL = 27,
- /** Pi @stable ICU 2.0 */
- U_INITIAL_PUNCTUATION = 28,
- /** Pf @stable ICU 2.0 */
- U_FINAL_PUNCTUATION = 29,
- /** One higher than the last enum UCharCategory constant. @stable ICU 2.0 */
- U_CHAR_CATEGORY_COUNT
-} UCharCategory;
-
-/**
- * U_GC_XX_MASK constants are bit flags corresponding to Unicode
- * general category values.
- * For each category, the nth bit is set if the numeric value of the
- * corresponding UCharCategory constant is n.
- *
- * There are also some U_GC_Y_MASK constants for groups of general categories
- * like L for all letter categories.
- *
- * @see u_charType
- * @see U_GET_GC_MASK
- * @see UCharCategory
- * @stable ICU 2.1
- */
-#define U_GC_CN_MASK U_MASK(U_GENERAL_OTHER_TYPES)
-
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_LU_MASK U_MASK(U_UPPERCASE_LETTER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_LL_MASK U_MASK(U_LOWERCASE_LETTER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_LT_MASK U_MASK(U_TITLECASE_LETTER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_LM_MASK U_MASK(U_MODIFIER_LETTER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_LO_MASK U_MASK(U_OTHER_LETTER)
-
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_MN_MASK U_MASK(U_NON_SPACING_MARK)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_ME_MASK U_MASK(U_ENCLOSING_MARK)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_MC_MASK U_MASK(U_COMBINING_SPACING_MARK)
-
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_ND_MASK U_MASK(U_DECIMAL_DIGIT_NUMBER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_NL_MASK U_MASK(U_LETTER_NUMBER)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_NO_MASK U_MASK(U_OTHER_NUMBER)
-
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_ZS_MASK U_MASK(U_SPACE_SEPARATOR)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_ZL_MASK U_MASK(U_LINE_SEPARATOR)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_ZP_MASK U_MASK(U_PARAGRAPH_SEPARATOR)
-
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_CC_MASK U_MASK(U_CONTROL_CHAR)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_CF_MASK U_MASK(U_FORMAT_CHAR)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_CO_MASK U_MASK(U_PRIVATE_USE_CHAR)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_CS_MASK U_MASK(U_SURROGATE)
-
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_PD_MASK U_MASK(U_DASH_PUNCTUATION)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_PS_MASK U_MASK(U_START_PUNCTUATION)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_PE_MASK U_MASK(U_END_PUNCTUATION)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_PC_MASK U_MASK(U_CONNECTOR_PUNCTUATION)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_PO_MASK U_MASK(U_OTHER_PUNCTUATION)
-
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_SM_MASK U_MASK(U_MATH_SYMBOL)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_SC_MASK U_MASK(U_CURRENCY_SYMBOL)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_SK_MASK U_MASK(U_MODIFIER_SYMBOL)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_SO_MASK U_MASK(U_OTHER_SYMBOL)
-
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_PI_MASK U_MASK(U_INITIAL_PUNCTUATION)
-/** Mask constant for a UCharCategory. @stable ICU 2.1 */
-#define U_GC_PF_MASK U_MASK(U_FINAL_PUNCTUATION)
-
-
-/** Mask constant for multiple UCharCategory bits (L Letters). @stable ICU 2.1 */
-#define U_GC_L_MASK \
- (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK|U_GC_LM_MASK|U_GC_LO_MASK)
-
-/** Mask constant for multiple UCharCategory bits (LC Cased Letters). @stable ICU 2.1 */
-#define U_GC_LC_MASK \
- (U_GC_LU_MASK|U_GC_LL_MASK|U_GC_LT_MASK)
-
-/** Mask constant for multiple UCharCategory bits (M Marks). @stable ICU 2.1 */
-#define U_GC_M_MASK (U_GC_MN_MASK|U_GC_ME_MASK|U_GC_MC_MASK)
-
-/** Mask constant for multiple UCharCategory bits (N Numbers). @stable ICU 2.1 */
-#define U_GC_N_MASK (U_GC_ND_MASK|U_GC_NL_MASK|U_GC_NO_MASK)
-
-/** Mask constant for multiple UCharCategory bits (Z Separators). @stable ICU 2.1 */
-#define U_GC_Z_MASK (U_GC_ZS_MASK|U_GC_ZL_MASK|U_GC_ZP_MASK)
-
-/** Mask constant for multiple UCharCategory bits (C Others). @stable ICU 2.1 */
-#define U_GC_C_MASK \
- (U_GC_CN_MASK|U_GC_CC_MASK|U_GC_CF_MASK|U_GC_CO_MASK|U_GC_CS_MASK)
-
-/** Mask constant for multiple UCharCategory bits (P Punctuation). @stable ICU 2.1 */
-#define U_GC_P_MASK \
- (U_GC_PD_MASK|U_GC_PS_MASK|U_GC_PE_MASK|U_GC_PC_MASK|U_GC_PO_MASK| \
- U_GC_PI_MASK|U_GC_PF_MASK)
-
-/** Mask constant for multiple UCharCategory bits (S Symbols). @stable ICU 2.1 */
-#define U_GC_S_MASK (U_GC_SM_MASK|U_GC_SC_MASK|U_GC_SK_MASK|U_GC_SO_MASK)
-
-/**
- * This specifies the language directional property of a character set.
- * @stable ICU 2.0
- */
-typedef enum UCharDirection {
- /** See note !!. Comments of the form "EN" are read by genpname. */
-
- /** L @stable ICU 2.0 */
- U_LEFT_TO_RIGHT = 0,
- /** R @stable ICU 2.0 */
- U_RIGHT_TO_LEFT = 1,
- /** EN @stable ICU 2.0 */
- U_EUROPEAN_NUMBER = 2,
- /** ES @stable ICU 2.0 */
- U_EUROPEAN_NUMBER_SEPARATOR = 3,
- /** ET @stable ICU 2.0 */
- U_EUROPEAN_NUMBER_TERMINATOR = 4,
- /** AN @stable ICU 2.0 */
- U_ARABIC_NUMBER = 5,
- /** CS @stable ICU 2.0 */
- U_COMMON_NUMBER_SEPARATOR = 6,
- /** B @stable ICU 2.0 */
- U_BLOCK_SEPARATOR = 7,
- /** S @stable ICU 2.0 */
- U_SEGMENT_SEPARATOR = 8,
- /** WS @stable ICU 2.0 */
- U_WHITE_SPACE_NEUTRAL = 9,
- /** ON @stable ICU 2.0 */
- U_OTHER_NEUTRAL = 10,
- /** LRE @stable ICU 2.0 */
- U_LEFT_TO_RIGHT_EMBEDDING = 11,
- /** LRO @stable ICU 2.0 */
- U_LEFT_TO_RIGHT_OVERRIDE = 12,
- /** AL @stable ICU 2.0 */
- U_RIGHT_TO_LEFT_ARABIC = 13,
- /** RLE @stable ICU 2.0 */
- U_RIGHT_TO_LEFT_EMBEDDING = 14,
- /** RLO @stable ICU 2.0 */
- U_RIGHT_TO_LEFT_OVERRIDE = 15,
- /** PDF @stable ICU 2.0 */
- U_POP_DIRECTIONAL_FORMAT = 16,
- /** NSM @stable ICU 2.0 */
- U_DIR_NON_SPACING_MARK = 17,
- /** BN @stable ICU 2.0 */
- U_BOUNDARY_NEUTRAL = 18,
- /** @stable ICU 2.0 */
- U_CHAR_DIRECTION_COUNT
-} UCharDirection;
-
-/**
- * Constants for Unicode blocks, see the Unicode Data file Blocks.txt
- * @stable ICU 2.0
- */
-enum UBlockCode {
-
- /** New No_Block value in Unicode 4. @stable ICU 2.6 */
- UBLOCK_NO_BLOCK = 0, /*[none]*/ /* Special range indicating No_Block */
-
- /** @stable ICU 2.0 */
- UBLOCK_BASIC_LATIN = 1, /*[0000]*/ /*See note !!*/
-
- /** @stable ICU 2.0 */
- UBLOCK_LATIN_1_SUPPLEMENT=2, /*[0080]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_LATIN_EXTENDED_A =3, /*[0100]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_LATIN_EXTENDED_B =4, /*[0180]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_IPA_EXTENSIONS =5, /*[0250]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_SPACING_MODIFIER_LETTERS =6, /*[02B0]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_COMBINING_DIACRITICAL_MARKS =7, /*[0300]*/
-
- /**
- * Unicode 3.2 renames this block to "Greek and Coptic".
- * @stable ICU 2.0
- */
- UBLOCK_GREEK =8, /*[0370]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_CYRILLIC =9, /*[0400]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_ARMENIAN =10, /*[0530]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_HEBREW =11, /*[0590]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_ARABIC =12, /*[0600]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_SYRIAC =13, /*[0700]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_THAANA =14, /*[0780]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_DEVANAGARI =15, /*[0900]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_BENGALI =16, /*[0980]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_GURMUKHI =17, /*[0A00]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_GUJARATI =18, /*[0A80]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_ORIYA =19, /*[0B00]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_TAMIL =20, /*[0B80]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_TELUGU =21, /*[0C00]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_KANNADA =22, /*[0C80]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_MALAYALAM =23, /*[0D00]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_SINHALA =24, /*[0D80]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_THAI =25, /*[0E00]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_LAO =26, /*[0E80]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_TIBETAN =27, /*[0F00]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_MYANMAR =28, /*[1000]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_GEORGIAN =29, /*[10A0]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_HANGUL_JAMO =30, /*[1100]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_ETHIOPIC =31, /*[1200]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_CHEROKEE =32, /*[13A0]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS =33, /*[1400]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_OGHAM =34, /*[1680]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_RUNIC =35, /*[16A0]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_KHMER =36, /*[1780]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_MONGOLIAN =37, /*[1800]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_LATIN_EXTENDED_ADDITIONAL =38, /*[1E00]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_GREEK_EXTENDED =39, /*[1F00]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_GENERAL_PUNCTUATION =40, /*[2000]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_SUPERSCRIPTS_AND_SUBSCRIPTS =41, /*[2070]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_CURRENCY_SYMBOLS =42, /*[20A0]*/
-
- /**
- * Unicode 3.2 renames this block to "Combining Diacritical Marks for Symbols".
- * @stable ICU 2.0
- */
- UBLOCK_COMBINING_MARKS_FOR_SYMBOLS =43, /*[20D0]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_LETTERLIKE_SYMBOLS =44, /*[2100]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_NUMBER_FORMS =45, /*[2150]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_ARROWS =46, /*[2190]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_MATHEMATICAL_OPERATORS =47, /*[2200]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_MISCELLANEOUS_TECHNICAL =48, /*[2300]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_CONTROL_PICTURES =49, /*[2400]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_OPTICAL_CHARACTER_RECOGNITION =50, /*[2440]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_ENCLOSED_ALPHANUMERICS =51, /*[2460]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_BOX_DRAWING =52, /*[2500]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_BLOCK_ELEMENTS =53, /*[2580]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_GEOMETRIC_SHAPES =54, /*[25A0]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_MISCELLANEOUS_SYMBOLS =55, /*[2600]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_DINGBATS =56, /*[2700]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_BRAILLE_PATTERNS =57, /*[2800]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_CJK_RADICALS_SUPPLEMENT =58, /*[2E80]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_KANGXI_RADICALS =59, /*[2F00]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_IDEOGRAPHIC_DESCRIPTION_CHARACTERS =60, /*[2FF0]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_CJK_SYMBOLS_AND_PUNCTUATION =61, /*[3000]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_HIRAGANA =62, /*[3040]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_KATAKANA =63, /*[30A0]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_BOPOMOFO =64, /*[3100]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_HANGUL_COMPATIBILITY_JAMO =65, /*[3130]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_KANBUN =66, /*[3190]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_BOPOMOFO_EXTENDED =67, /*[31A0]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_ENCLOSED_CJK_LETTERS_AND_MONTHS =68, /*[3200]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_CJK_COMPATIBILITY =69, /*[3300]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A =70, /*[3400]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_CJK_UNIFIED_IDEOGRAPHS =71, /*[4E00]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_YI_SYLLABLES =72, /*[A000]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_YI_RADICALS =73, /*[A490]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_HANGUL_SYLLABLES =74, /*[AC00]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_HIGH_SURROGATES =75, /*[D800]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_HIGH_PRIVATE_USE_SURROGATES =76, /*[DB80]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_LOW_SURROGATES =77, /*[DC00]*/
-
- /**
- * Same as UBLOCK_PRIVATE_USE_AREA.
- * Until Unicode 3.1.1, the corresponding block name was "Private Use",
- * and multiple code point ranges had this block.
- * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" and
- * adds separate blocks for the supplementary PUAs.
- *
- * @stable ICU 2.0
- */
- UBLOCK_PRIVATE_USE = 78,
- /**
- * Same as UBLOCK_PRIVATE_USE.
- * Until Unicode 3.1.1, the corresponding block name was "Private Use",
- * and multiple code point ranges had this block.
- * Unicode 3.2 renames the block for the BMP PUA to "Private Use Area" and
- * adds separate blocks for the supplementary PUAs.
- *
- * @stable ICU 2.0
- */
- UBLOCK_PRIVATE_USE_AREA =UBLOCK_PRIVATE_USE, /*[E000]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS =79, /*[F900]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_ALPHABETIC_PRESENTATION_FORMS =80, /*[FB00]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_ARABIC_PRESENTATION_FORMS_A =81, /*[FB50]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_COMBINING_HALF_MARKS =82, /*[FE20]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_CJK_COMPATIBILITY_FORMS =83, /*[FE30]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_SMALL_FORM_VARIANTS =84, /*[FE50]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_ARABIC_PRESENTATION_FORMS_B =85, /*[FE70]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_SPECIALS =86, /*[FFF0]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_HALFWIDTH_AND_FULLWIDTH_FORMS =87, /*[FF00]*/
-
- /* New blocks in Unicode 3.1 */
-
- /** @stable ICU 2.0 */
- UBLOCK_OLD_ITALIC = 88 , /*[10300]*/
- /** @stable ICU 2.0 */
- UBLOCK_GOTHIC = 89 , /*[10330]*/
- /** @stable ICU 2.0 */
- UBLOCK_DESERET = 90 , /*[10400]*/
- /** @stable ICU 2.0 */
- UBLOCK_BYZANTINE_MUSICAL_SYMBOLS = 91 , /*[1D000]*/
- /** @stable ICU 2.0 */
- UBLOCK_MUSICAL_SYMBOLS = 92 , /*[1D100]*/
- /** @stable ICU 2.0 */
- UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 93 , /*[1D400]*/
- /** @stable ICU 2.0 */
- UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 94 , /*[20000]*/
- /** @stable ICU 2.0 */
- UBLOCK_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 95 , /*[2F800]*/
- /** @stable ICU 2.0 */
- UBLOCK_TAGS = 96, /*[E0000]*/
-
- /* New blocks in Unicode 3.2 */
-
- /**
- * Unicode 4.0.1 renames the "Cyrillic Supplementary" block to "Cyrillic Supplement".
- * @stable ICU 2.2
- */
- UBLOCK_CYRILLIC_SUPPLEMENTARY = 97,
- /** @stable ICU 3.0 */
- UBLOCK_CYRILLIC_SUPPLEMENT = UBLOCK_CYRILLIC_SUPPLEMENTARY, /*[0500]*/
- /** @stable ICU 2.2 */
- UBLOCK_TAGALOG = 98, /*[1700]*/
- /** @stable ICU 2.2 */
- UBLOCK_HANUNOO = 99, /*[1720]*/
- /** @stable ICU 2.2 */
- UBLOCK_BUHID = 100, /*[1740]*/
- /** @stable ICU 2.2 */
- UBLOCK_TAGBANWA = 101, /*[1760]*/
- /** @stable ICU 2.2 */
- UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 102, /*[27C0]*/
- /** @stable ICU 2.2 */
- UBLOCK_SUPPLEMENTAL_ARROWS_A = 103, /*[27F0]*/
- /** @stable ICU 2.2 */
- UBLOCK_SUPPLEMENTAL_ARROWS_B = 104, /*[2900]*/
- /** @stable ICU 2.2 */
- UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 105, /*[2980]*/
- /** @stable ICU 2.2 */
- UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 106, /*[2A00]*/
- /** @stable ICU 2.2 */
- UBLOCK_KATAKANA_PHONETIC_EXTENSIONS = 107, /*[31F0]*/
- /** @stable ICU 2.2 */
- UBLOCK_VARIATION_SELECTORS = 108, /*[FE00]*/
- /** @stable ICU 2.2 */
- UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 109, /*[F0000]*/
- /** @stable ICU 2.2 */
- UBLOCK_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 110, /*[100000]*/
-
- /* New blocks in Unicode 4 */
-
- /** @stable ICU 2.6 */
- UBLOCK_LIMBU = 111, /*[1900]*/
- /** @stable ICU 2.6 */
- UBLOCK_TAI_LE = 112, /*[1950]*/
- /** @stable ICU 2.6 */
- UBLOCK_KHMER_SYMBOLS = 113, /*[19E0]*/
- /** @stable ICU 2.6 */
- UBLOCK_PHONETIC_EXTENSIONS = 114, /*[1D00]*/
- /** @stable ICU 2.6 */
- UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 115, /*[2B00]*/
- /** @stable ICU 2.6 */
- UBLOCK_YIJING_HEXAGRAM_SYMBOLS = 116, /*[4DC0]*/
- /** @stable ICU 2.6 */
- UBLOCK_LINEAR_B_SYLLABARY = 117, /*[10000]*/
- /** @stable ICU 2.6 */
- UBLOCK_LINEAR_B_IDEOGRAMS = 118, /*[10080]*/
- /** @stable ICU 2.6 */
- UBLOCK_AEGEAN_NUMBERS = 119, /*[10100]*/
- /** @stable ICU 2.6 */
- UBLOCK_UGARITIC = 120, /*[10380]*/
- /** @stable ICU 2.6 */
- UBLOCK_SHAVIAN = 121, /*[10450]*/
- /** @stable ICU 2.6 */
- UBLOCK_OSMANYA = 122, /*[10480]*/
- /** @stable ICU 2.6 */
- UBLOCK_CYPRIOT_SYLLABARY = 123, /*[10800]*/
- /** @stable ICU 2.6 */
- UBLOCK_TAI_XUAN_JING_SYMBOLS = 124, /*[1D300]*/
- /** @stable ICU 2.6 */
- UBLOCK_VARIATION_SELECTORS_SUPPLEMENT = 125, /*[E0100]*/
-
- /* New blocks in Unicode 4.1 */
-
- /** @stable ICU 3.4 */
- UBLOCK_ANCIENT_GREEK_MUSICAL_NOTATION = 126, /*[1D200]*/
- /** @stable ICU 3.4 */
- UBLOCK_ANCIENT_GREEK_NUMBERS = 127, /*[10140]*/
- /** @stable ICU 3.4 */
- UBLOCK_ARABIC_SUPPLEMENT = 128, /*[0750]*/
- /** @stable ICU 3.4 */
- UBLOCK_BUGINESE = 129, /*[1A00]*/
- /** @stable ICU 3.4 */
- UBLOCK_CJK_STROKES = 130, /*[31C0]*/
- /** @stable ICU 3.4 */
- UBLOCK_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 131, /*[1DC0]*/
- /** @stable ICU 3.4 */
- UBLOCK_COPTIC = 132, /*[2C80]*/
- /** @stable ICU 3.4 */
- UBLOCK_ETHIOPIC_EXTENDED = 133, /*[2D80]*/
- /** @stable ICU 3.4 */
- UBLOCK_ETHIOPIC_SUPPLEMENT = 134, /*[1380]*/
- /** @stable ICU 3.4 */
- UBLOCK_GEORGIAN_SUPPLEMENT = 135, /*[2D00]*/
- /** @stable ICU 3.4 */
- UBLOCK_GLAGOLITIC = 136, /*[2C00]*/
- /** @stable ICU 3.4 */
- UBLOCK_KHAROSHTHI = 137, /*[10A00]*/
- /** @stable ICU 3.4 */
- UBLOCK_MODIFIER_TONE_LETTERS = 138, /*[A700]*/
- /** @stable ICU 3.4 */
- UBLOCK_NEW_TAI_LUE = 139, /*[1980]*/
- /** @stable ICU 3.4 */
- UBLOCK_OLD_PERSIAN = 140, /*[103A0]*/
- /** @stable ICU 3.4 */
- UBLOCK_PHONETIC_EXTENSIONS_SUPPLEMENT = 141, /*[1D80]*/
- /** @stable ICU 3.4 */
- UBLOCK_SUPPLEMENTAL_PUNCTUATION = 142, /*[2E00]*/
- /** @stable ICU 3.4 */
- UBLOCK_SYLOTI_NAGRI = 143, /*[A800]*/
- /** @stable ICU 3.4 */
- UBLOCK_TIFINAGH = 144, /*[2D30]*/
- /** @stable ICU 3.4 */
- UBLOCK_VERTICAL_FORMS = 145, /*[FE10]*/
-
- /* New blocks in Unicode 5.0 */
-
- /** @stable ICU 3.6 */
- UBLOCK_NKO = 146, /*[07C0]*/
- /** @stable ICU 3.6 */
- UBLOCK_BALINESE = 147, /*[1B00]*/
- /** @stable ICU 3.6 */
- UBLOCK_LATIN_EXTENDED_C = 148, /*[2C60]*/
- /** @stable ICU 3.6 */
- UBLOCK_LATIN_EXTENDED_D = 149, /*[A720]*/
- /** @stable ICU 3.6 */
- UBLOCK_PHAGS_PA = 150, /*[A840]*/
- /** @stable ICU 3.6 */
- UBLOCK_PHOENICIAN = 151, /*[10900]*/
- /** @stable ICU 3.6 */
- UBLOCK_CUNEIFORM = 152, /*[12000]*/
- /** @stable ICU 3.6 */
- UBLOCK_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 153, /*[12400]*/
- /** @stable ICU 3.6 */
- UBLOCK_COUNTING_ROD_NUMERALS = 154, /*[1D360]*/
-
- /* New blocks in Unicode 5.1 */
-
- /** @stable ICU 4.0 */
- UBLOCK_SUNDANESE = 155, /*[1B80]*/
- /** @stable ICU 4.0 */
- UBLOCK_LEPCHA = 156, /*[1C00]*/
- /** @stable ICU 4.0 */
- UBLOCK_OL_CHIKI = 157, /*[1C50]*/
- /** @stable ICU 4.0 */
- UBLOCK_CYRILLIC_EXTENDED_A = 158, /*[2DE0]*/
- /** @stable ICU 4.0 */
- UBLOCK_VAI = 159, /*[A500]*/
- /** @stable ICU 4.0 */
- UBLOCK_CYRILLIC_EXTENDED_B = 160, /*[A640]*/
- /** @stable ICU 4.0 */
- UBLOCK_SAURASHTRA = 161, /*[A880]*/
- /** @stable ICU 4.0 */
- UBLOCK_KAYAH_LI = 162, /*[A900]*/
- /** @stable ICU 4.0 */
- UBLOCK_REJANG = 163, /*[A930]*/
- /** @stable ICU 4.0 */
- UBLOCK_CHAM = 164, /*[AA00]*/
- /** @stable ICU 4.0 */
- UBLOCK_ANCIENT_SYMBOLS = 165, /*[10190]*/
- /** @stable ICU 4.0 */
- UBLOCK_PHAISTOS_DISC = 166, /*[101D0]*/
- /** @stable ICU 4.0 */
- UBLOCK_LYCIAN = 167, /*[10280]*/
- /** @stable ICU 4.0 */
- UBLOCK_CARIAN = 168, /*[102A0]*/
- /** @stable ICU 4.0 */
- UBLOCK_LYDIAN = 169, /*[10920]*/
- /** @stable ICU 4.0 */
- UBLOCK_MAHJONG_TILES = 170, /*[1F000]*/
- /** @stable ICU 4.0 */
- UBLOCK_DOMINO_TILES = 171, /*[1F030]*/
-
- /* New blocks in Unicode 5.2 */
-
- /** @stable ICU 4.4 */
- UBLOCK_SAMARITAN = 172, /*[0800]*/
- /** @stable ICU 4.4 */
- UBLOCK_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 173, /*[18B0]*/
- /** @stable ICU 4.4 */
- UBLOCK_TAI_THAM = 174, /*[1A20]*/
- /** @stable ICU 4.4 */
- UBLOCK_VEDIC_EXTENSIONS = 175, /*[1CD0]*/
- /** @stable ICU 4.4 */
- UBLOCK_LISU = 176, /*[A4D0]*/
- /** @stable ICU 4.4 */
- UBLOCK_BAMUM = 177, /*[A6A0]*/
- /** @stable ICU 4.4 */
- UBLOCK_COMMON_INDIC_NUMBER_FORMS = 178, /*[A830]*/
- /** @stable ICU 4.4 */
- UBLOCK_DEVANAGARI_EXTENDED = 179, /*[A8E0]*/
- /** @stable ICU 4.4 */
- UBLOCK_HANGUL_JAMO_EXTENDED_A = 180, /*[A960]*/
- /** @stable ICU 4.4 */
- UBLOCK_JAVANESE = 181, /*[A980]*/
- /** @stable ICU 4.4 */
- UBLOCK_MYANMAR_EXTENDED_A = 182, /*[AA60]*/
- /** @stable ICU 4.4 */
- UBLOCK_TAI_VIET = 183, /*[AA80]*/
- /** @stable ICU 4.4 */
- UBLOCK_MEETEI_MAYEK = 184, /*[ABC0]*/
- /** @stable ICU 4.4 */
- UBLOCK_HANGUL_JAMO_EXTENDED_B = 185, /*[D7B0]*/
- /** @stable ICU 4.4 */
- UBLOCK_IMPERIAL_ARAMAIC = 186, /*[10840]*/
- /** @stable ICU 4.4 */
- UBLOCK_OLD_SOUTH_ARABIAN = 187, /*[10A60]*/
- /** @stable ICU 4.4 */
- UBLOCK_AVESTAN = 188, /*[10B00]*/
- /** @stable ICU 4.4 */
- UBLOCK_INSCRIPTIONAL_PARTHIAN = 189, /*[10B40]*/
- /** @stable ICU 4.4 */
- UBLOCK_INSCRIPTIONAL_PAHLAVI = 190, /*[10B60]*/
- /** @stable ICU 4.4 */
- UBLOCK_OLD_TURKIC = 191, /*[10C00]*/
- /** @stable ICU 4.4 */
- UBLOCK_RUMI_NUMERAL_SYMBOLS = 192, /*[10E60]*/
- /** @stable ICU 4.4 */
- UBLOCK_KAITHI = 193, /*[11080]*/
- /** @stable ICU 4.4 */
- UBLOCK_EGYPTIAN_HIEROGLYPHS = 194, /*[13000]*/
- /** @stable ICU 4.4 */
- UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 195, /*[1F100]*/
- /** @stable ICU 4.4 */
- UBLOCK_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 196, /*[1F200]*/
- /** @stable ICU 4.4 */
- UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 197, /*[2A700]*/
-
- /* New blocks in Unicode 6.0 */
-
- /** @stable ICU 4.6 */
- UBLOCK_MANDAIC = 198, /*[0840]*/
- /** @stable ICU 4.6 */
- UBLOCK_BATAK = 199, /*[1BC0]*/
- /** @stable ICU 4.6 */
- UBLOCK_ETHIOPIC_EXTENDED_A = 200, /*[AB00]*/
- /** @stable ICU 4.6 */
- UBLOCK_BRAHMI = 201, /*[11000]*/
- /** @stable ICU 4.6 */
- UBLOCK_BAMUM_SUPPLEMENT = 202, /*[16800]*/
- /** @stable ICU 4.6 */
- UBLOCK_KANA_SUPPLEMENT = 203, /*[1B000]*/
- /** @stable ICU 4.6 */
- UBLOCK_PLAYING_CARDS = 204, /*[1F0A0]*/
- /** @stable ICU 4.6 */
- UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 205, /*[1F300]*/
- /** @stable ICU 4.6 */
- UBLOCK_EMOTICONS = 206, /*[1F600]*/
- /** @stable ICU 4.6 */
- UBLOCK_TRANSPORT_AND_MAP_SYMBOLS = 207, /*[1F680]*/
- /** @stable ICU 4.6 */
- UBLOCK_ALCHEMICAL_SYMBOLS = 208, /*[1F700]*/
- /** @stable ICU 4.6 */
- UBLOCK_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 209, /*[2B740]*/
-
- /** @stable ICU 2.0 */
- UBLOCK_COUNT = 210,
-
- /** @stable ICU 2.0 */
- UBLOCK_INVALID_CODE=-1
-};
-
-/** @stable ICU 2.0 */
-typedef enum UBlockCode UBlockCode;
-
-/**
- * East Asian Width constants.
- *
- * @see UCHAR_EAST_ASIAN_WIDTH
- * @see u_getIntPropertyValue
- * @stable ICU 2.2
- */
-typedef enum UEastAsianWidth {
- U_EA_NEUTRAL, /*[N]*/ /*See note !!*/
- U_EA_AMBIGUOUS, /*[A]*/
- U_EA_HALFWIDTH, /*[H]*/
- U_EA_FULLWIDTH, /*[F]*/
- U_EA_NARROW, /*[Na]*/
- U_EA_WIDE, /*[W]*/
- U_EA_COUNT
-} UEastAsianWidth;
-/*
- * Implementation note:
- * Keep UEastAsianWidth constant values in sync with names list in genprops/props2.c.
- */
-
-/**
- * Selector constants for u_charName().
- * u_charName() returns the "modern" name of a
- * Unicode character; or the name that was defined in
- * Unicode version 1.0, before the Unicode standard merged
- * with ISO-10646; or an "extended" name that gives each
- * Unicode code point a unique name.
- *
- * @see u_charName
- * @stable ICU 2.0
- */
-typedef enum UCharNameChoice {
- U_UNICODE_CHAR_NAME,
- U_UNICODE_10_CHAR_NAME,
- U_EXTENDED_CHAR_NAME,
- U_CHAR_NAME_ALIAS, /**< Corrected name from NameAliases.txt. @stable ICU 4.4 */
- U_CHAR_NAME_CHOICE_COUNT
-} UCharNameChoice;
-
-/**
- * Selector constants for u_getPropertyName() and
- * u_getPropertyValueName(). These selectors are used to choose which
- * name is returned for a given property or value. All properties and
- * values have a long name. Most have a short name, but some do not.
- * Unicode allows for additional names, beyond the long and short
- * name, which would be indicated by U_LONG_PROPERTY_NAME + i, where
- * i=1, 2,...
- *
- * @see u_getPropertyName()
- * @see u_getPropertyValueName()
- * @stable ICU 2.4
- */
-typedef enum UPropertyNameChoice {
- U_SHORT_PROPERTY_NAME,
- U_LONG_PROPERTY_NAME,
- U_PROPERTY_NAME_CHOICE_COUNT
-} UPropertyNameChoice;
-
-/**
- * Decomposition Type constants.
- *
- * @see UCHAR_DECOMPOSITION_TYPE
- * @stable ICU 2.2
- */
-typedef enum UDecompositionType {
- U_DT_NONE, /*[none]*/ /*See note !!*/
- U_DT_CANONICAL, /*[can]*/
- U_DT_COMPAT, /*[com]*/
- U_DT_CIRCLE, /*[enc]*/
- U_DT_FINAL, /*[fin]*/
- U_DT_FONT, /*[font]*/
- U_DT_FRACTION, /*[fra]*/
- U_DT_INITIAL, /*[init]*/
- U_DT_ISOLATED, /*[iso]*/
- U_DT_MEDIAL, /*[med]*/
- U_DT_NARROW, /*[nar]*/
- U_DT_NOBREAK, /*[nb]*/
- U_DT_SMALL, /*[sml]*/
- U_DT_SQUARE, /*[sqr]*/
- U_DT_SUB, /*[sub]*/
- U_DT_SUPER, /*[sup]*/
- U_DT_VERTICAL, /*[vert]*/
- U_DT_WIDE, /*[wide]*/
- U_DT_COUNT /* 18 */
-} UDecompositionType;
-
-/**
- * Joining Type constants.
- *
- * @see UCHAR_JOINING_TYPE
- * @stable ICU 2.2
- */
-typedef enum UJoiningType {
- U_JT_NON_JOINING, /*[U]*/ /*See note !!*/
- U_JT_JOIN_CAUSING, /*[C]*/
- U_JT_DUAL_JOINING, /*[D]*/
- U_JT_LEFT_JOINING, /*[L]*/
- U_JT_RIGHT_JOINING, /*[R]*/
- U_JT_TRANSPARENT, /*[T]*/
- U_JT_COUNT /* 6 */
-} UJoiningType;
-
-/**
- * Joining Group constants.
- *
- * @see UCHAR_JOINING_GROUP
- * @stable ICU 2.2
- */
-typedef enum UJoiningGroup {
- U_JG_NO_JOINING_GROUP,
- U_JG_AIN,
- U_JG_ALAPH,
- U_JG_ALEF,
- U_JG_BEH,
- U_JG_BETH,
- U_JG_DAL,
- U_JG_DALATH_RISH,
- U_JG_E,
- U_JG_FEH,
- U_JG_FINAL_SEMKATH,
- U_JG_GAF,
- U_JG_GAMAL,
- U_JG_HAH,
- U_JG_TEH_MARBUTA_GOAL, /**< @stable ICU 4.6 */
- U_JG_HAMZA_ON_HEH_GOAL=U_JG_TEH_MARBUTA_GOAL,
- U_JG_HE,
- U_JG_HEH,
- U_JG_HEH_GOAL,
- U_JG_HETH,
- U_JG_KAF,
- U_JG_KAPH,
- U_JG_KNOTTED_HEH,
- U_JG_LAM,
- U_JG_LAMADH,
- U_JG_MEEM,
- U_JG_MIM,
- U_JG_NOON,
- U_JG_NUN,
- U_JG_PE,
- U_JG_QAF,
- U_JG_QAPH,
- U_JG_REH,
- U_JG_REVERSED_PE,
- U_JG_SAD,
- U_JG_SADHE,
- U_JG_SEEN,
- U_JG_SEMKATH,
- U_JG_SHIN,
- U_JG_SWASH_KAF,
- U_JG_SYRIAC_WAW,
- U_JG_TAH,
- U_JG_TAW,
- U_JG_TEH_MARBUTA,
- U_JG_TETH,
- U_JG_WAW,
- U_JG_YEH,
- U_JG_YEH_BARREE,
- U_JG_YEH_WITH_TAIL,
- U_JG_YUDH,
- U_JG_YUDH_HE,
- U_JG_ZAIN,
- U_JG_FE, /**< @stable ICU 2.6 */
- U_JG_KHAPH, /**< @stable ICU 2.6 */
- U_JG_ZHAIN, /**< @stable ICU 2.6 */
- U_JG_BURUSHASKI_YEH_BARREE, /**< @stable ICU 4.0 */
- U_JG_FARSI_YEH, /**< @stable ICU 4.4 */
- U_JG_NYA, /**< @stable ICU 4.4 */
- U_JG_COUNT
-} UJoiningGroup;
-
-/**
- * Grapheme Cluster Break constants.
- *
- * @see UCHAR_GRAPHEME_CLUSTER_BREAK
- * @stable ICU 3.4
- */
-typedef enum UGraphemeClusterBreak {
- U_GCB_OTHER = 0, /*[XX]*/ /*See note !!*/
- U_GCB_CONTROL = 1, /*[CN]*/
- U_GCB_CR = 2, /*[CR]*/
- U_GCB_EXTEND = 3, /*[EX]*/
- U_GCB_L = 4, /*[L]*/
- U_GCB_LF = 5, /*[LF]*/
- U_GCB_LV = 6, /*[LV]*/
- U_GCB_LVT = 7, /*[LVT]*/
- U_GCB_T = 8, /*[T]*/
- U_GCB_V = 9, /*[V]*/
- U_GCB_SPACING_MARK = 10, /*[SM]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
- U_GCB_PREPEND = 11, /*[PP]*/
- U_GCB_COUNT = 12
-} UGraphemeClusterBreak;
-
-/**
- * Word Break constants.
- * (UWordBreak is a pre-existing enum type in ubrk.h for word break status tags.)
- *
- * @see UCHAR_WORD_BREAK
- * @stable ICU 3.4
- */
-typedef enum UWordBreakValues {
- U_WB_OTHER = 0, /*[XX]*/ /*See note !!*/
- U_WB_ALETTER = 1, /*[LE]*/
- U_WB_FORMAT = 2, /*[FO]*/
- U_WB_KATAKANA = 3, /*[KA]*/
- U_WB_MIDLETTER = 4, /*[ML]*/
- U_WB_MIDNUM = 5, /*[MN]*/
- U_WB_NUMERIC = 6, /*[NU]*/
- U_WB_EXTENDNUMLET = 7, /*[EX]*/
- U_WB_CR = 8, /*[CR]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
- U_WB_EXTEND = 9, /*[Extend]*/
- U_WB_LF = 10, /*[LF]*/
- U_WB_MIDNUMLET =11, /*[MB]*/
- U_WB_NEWLINE =12, /*[NL]*/
- U_WB_COUNT = 13
-} UWordBreakValues;
-
-/**
- * Sentence Break constants.
- *
- * @see UCHAR_SENTENCE_BREAK
- * @stable ICU 3.4
- */
-typedef enum USentenceBreak {
- U_SB_OTHER = 0, /*[XX]*/ /*See note !!*/
- U_SB_ATERM = 1, /*[AT]*/
- U_SB_CLOSE = 2, /*[CL]*/
- U_SB_FORMAT = 3, /*[FO]*/
- U_SB_LOWER = 4, /*[LO]*/
- U_SB_NUMERIC = 5, /*[NU]*/
- U_SB_OLETTER = 6, /*[LE]*/
- U_SB_SEP = 7, /*[SE]*/
- U_SB_SP = 8, /*[SP]*/
- U_SB_STERM = 9, /*[ST]*/
- U_SB_UPPER = 10, /*[UP]*/
- U_SB_CR = 11, /*[CR]*/ /* from here on: new in Unicode 5.1/ICU 4.0 */
- U_SB_EXTEND = 12, /*[EX]*/
- U_SB_LF = 13, /*[LF]*/
- U_SB_SCONTINUE = 14, /*[SC]*/
- U_SB_COUNT = 15
-} USentenceBreak;
-
-/**
- * Line Break constants.
- *
- * @see UCHAR_LINE_BREAK
- * @stable ICU 2.2
- */
-typedef enum ULineBreak {
- U_LB_UNKNOWN = 0, /*[XX]*/ /*See note !!*/
- U_LB_AMBIGUOUS = 1, /*[AI]*/
- U_LB_ALPHABETIC = 2, /*[AL]*/
- U_LB_BREAK_BOTH = 3, /*[B2]*/
- U_LB_BREAK_AFTER = 4, /*[BA]*/
- U_LB_BREAK_BEFORE = 5, /*[BB]*/
- U_LB_MANDATORY_BREAK = 6, /*[BK]*/
- U_LB_CONTINGENT_BREAK = 7, /*[CB]*/
- U_LB_CLOSE_PUNCTUATION = 8, /*[CL]*/
- U_LB_COMBINING_MARK = 9, /*[CM]*/
- U_LB_CARRIAGE_RETURN = 10, /*[CR]*/
- U_LB_EXCLAMATION = 11, /*[EX]*/
- U_LB_GLUE = 12, /*[GL]*/
- U_LB_HYPHEN = 13, /*[HY]*/
- U_LB_IDEOGRAPHIC = 14, /*[ID]*/
- U_LB_INSEPERABLE = 15,
- /** Renamed from the misspelled "inseperable" in Unicode 4.0.1/ICU 3.0 @stable ICU 3.0 */
- U_LB_INSEPARABLE=U_LB_INSEPERABLE,/*[IN]*/
- U_LB_INFIX_NUMERIC = 16, /*[IS]*/
- U_LB_LINE_FEED = 17, /*[LF]*/
- U_LB_NONSTARTER = 18, /*[NS]*/
- U_LB_NUMERIC = 19, /*[NU]*/
- U_LB_OPEN_PUNCTUATION = 20, /*[OP]*/
- U_LB_POSTFIX_NUMERIC = 21, /*[PO]*/
- U_LB_PREFIX_NUMERIC = 22, /*[PR]*/
- U_LB_QUOTATION = 23, /*[QU]*/
- U_LB_COMPLEX_CONTEXT = 24, /*[SA]*/
- U_LB_SURROGATE = 25, /*[SG]*/
- U_LB_SPACE = 26, /*[SP]*/
- U_LB_BREAK_SYMBOLS = 27, /*[SY]*/
- U_LB_ZWSPACE = 28, /*[ZW]*/
- U_LB_NEXT_LINE = 29, /*[NL]*/ /* from here on: new in Unicode 4/ICU 2.6 */
- U_LB_WORD_JOINER = 30, /*[WJ]*/
- U_LB_H2 = 31, /*[H2]*/ /* from here on: new in Unicode 4.1/ICU 3.4 */
- U_LB_H3 = 32, /*[H3]*/
- U_LB_JL = 33, /*[JL]*/
- U_LB_JT = 34, /*[JT]*/
- U_LB_JV = 35, /*[JV]*/
- U_LB_CLOSE_PARENTHESIS = 36, /*[CP]*/ /* new in Unicode 5.2/ICU 4.4 */
- U_LB_COUNT = 37
-} ULineBreak;
-
-/**
- * Numeric Type constants.
- *
- * @see UCHAR_NUMERIC_TYPE
- * @stable ICU 2.2
- */
-typedef enum UNumericType {
- U_NT_NONE, /*[None]*/ /*See note !!*/
- U_NT_DECIMAL, /*[de]*/
- U_NT_DIGIT, /*[di]*/
- U_NT_NUMERIC, /*[nu]*/
- U_NT_COUNT
-} UNumericType;
-
-/**
- * Hangul Syllable Type constants.
- *
- * @see UCHAR_HANGUL_SYLLABLE_TYPE
- * @stable ICU 2.6
- */
-typedef enum UHangulSyllableType {
- U_HST_NOT_APPLICABLE, /*[NA]*/ /*See note !!*/
- U_HST_LEADING_JAMO, /*[L]*/
- U_HST_VOWEL_JAMO, /*[V]*/
- U_HST_TRAILING_JAMO, /*[T]*/
- U_HST_LV_SYLLABLE, /*[LV]*/
- U_HST_LVT_SYLLABLE, /*[LVT]*/
- U_HST_COUNT
-} UHangulSyllableType;
-
-/**
- * Check a binary Unicode property for a code point.
- *
- * Unicode, especially in version 3.2, defines many more properties than the
- * original set in UnicodeData.txt.
- *
- * The properties APIs are intended to reflect Unicode properties as defined
- * in the Unicode Character Database (UCD) and Unicode Technical Reports (UTR).
- * For details about the properties see http://www.unicode.org/ucd/ .
- * For names of Unicode properties see the UCD file PropertyAliases.txt.
- *
- * Important: If ICU is built with UCD files from Unicode versions below 3.2,
- * then properties marked with "new in Unicode 3.2" are not or not fully available.
- *
- * @param c Code point to test.
- * @param which UProperty selector constant, identifies which binary property to check.
- * Must be UCHAR_BINARY_START<=which<UCHAR_BINARY_LIMIT.
- * @return TRUE or FALSE according to the binary Unicode property value for c.
- * Also FALSE if 'which' is out of bounds or if the Unicode version
- * does not have data for the property at all, or not for this code point.
- *
- * @see UProperty
- * @see u_getIntPropertyValue
- * @see u_getUnicodeVersion
- * @stable ICU 2.1
- */
-U_STABLE UBool U_EXPORT2
-u_hasBinaryProperty(UChar32 c, UProperty which);
-
-/**
- * Check if a code point has the Alphabetic Unicode property.
- * Same as u_hasBinaryProperty(c, UCHAR_ALPHABETIC).
- * This is different from u_isalpha!
- * @param c Code point to test
- * @return true if the code point has the Alphabetic Unicode property, false otherwise
- *
- * @see UCHAR_ALPHABETIC
- * @see u_isalpha
- * @see u_hasBinaryProperty
- * @stable ICU 2.1
- */
-U_STABLE UBool U_EXPORT2
-u_isUAlphabetic(UChar32 c);
-
-/**
- * Check if a code point has the Lowercase Unicode property.
- * Same as u_hasBinaryProperty(c, UCHAR_LOWERCASE).
- * This is different from u_islower!
- * @param c Code point to test
- * @return true if the code point has the Lowercase Unicode property, false otherwise
- *
- * @see UCHAR_LOWERCASE
- * @see u_islower
- * @see u_hasBinaryProperty
- * @stable ICU 2.1
- */
-U_STABLE UBool U_EXPORT2
-u_isULowercase(UChar32 c);
-
-/**
- * Check if a code point has the Uppercase Unicode property.
- * Same as u_hasBinaryProperty(c, UCHAR_UPPERCASE).
- * This is different from u_isupper!
- * @param c Code point to test
- * @return true if the code point has the Uppercase Unicode property, false otherwise
- *
- * @see UCHAR_UPPERCASE
- * @see u_isupper
- * @see u_hasBinaryProperty
- * @stable ICU 2.1
- */
-U_STABLE UBool U_EXPORT2
-u_isUUppercase(UChar32 c);
-
-/**
- * Check if a code point has the White_Space Unicode property.
- * Same as u_hasBinaryProperty(c, UCHAR_WHITE_SPACE).
- * This is different from both u_isspace and u_isWhitespace!
- *
- * Note: There are several ICU whitespace functions; please see the uchar.h
- * file documentation for a detailed comparison.
- *
- * @param c Code point to test
- * @return true if the code point has the White_Space Unicode property, false otherwise.
- *
- * @see UCHAR_WHITE_SPACE
- * @see u_isWhitespace
- * @see u_isspace
- * @see u_isJavaSpaceChar
- * @see u_hasBinaryProperty
- * @stable ICU 2.1
- */
-U_STABLE UBool U_EXPORT2
-u_isUWhiteSpace(UChar32 c);
-
-/**
- * Get the property value for an enumerated or integer Unicode property for a code point.
- * Also returns binary and mask property values.
- *
- * Unicode, especially in version 3.2, defines many more properties than the
- * original set in UnicodeData.txt.
- *
- * The properties APIs are intended to reflect Unicode properties as defined
- * in the Unicode Character Database (UCD) and Unicode Technical Reports (UTR).
- * For details about the properties see http://www.unicode.org/ .
- * For names of Unicode properties see the UCD file PropertyAliases.txt.
- *
- * Sample usage:
- * UEastAsianWidth ea=(UEastAsianWidth)u_getIntPropertyValue(c, UCHAR_EAST_ASIAN_WIDTH);
- * UBool b=(UBool)u_getIntPropertyValue(c, UCHAR_IDEOGRAPHIC);
- *
- * @param c Code point to test.
- * @param which UProperty selector constant, identifies which property to check.
- * Must be UCHAR_BINARY_START<=which<UCHAR_BINARY_LIMIT
- * or UCHAR_INT_START<=which<UCHAR_INT_LIMIT
- * or UCHAR_MASK_START<=which<UCHAR_MASK_LIMIT.
- * @return Numeric value that is directly the property value or,
- * for enumerated properties, corresponds to the numeric value of the enumerated
- * constant of the respective property value enumeration type
- * (cast to enum type if necessary).
- * Returns 0 or 1 (for FALSE/TRUE) for binary Unicode properties.
- * Returns a bit-mask for mask properties.
- * Returns 0 if 'which' is out of bounds or if the Unicode version
- * does not have data for the property at all, or not for this code point.
- *
- * @see UProperty
- * @see u_hasBinaryProperty
- * @see u_getIntPropertyMinValue
- * @see u_getIntPropertyMaxValue
- * @see u_getUnicodeVersion
- * @stable ICU 2.2
- */
-U_STABLE int32_t U_EXPORT2
-u_getIntPropertyValue(UChar32 c, UProperty which);
-
-/**
- * Get the minimum value for an enumerated/integer/binary Unicode property.
- * Can be used together with u_getIntPropertyMaxValue
- * to allocate arrays of UnicodeSet or similar.
- *
- * @param which UProperty selector constant, identifies which binary property to check.
- * Must be UCHAR_BINARY_START<=which<UCHAR_BINARY_LIMIT
- * or UCHAR_INT_START<=which<UCHAR_INT_LIMIT.
- * @return Minimum value returned by u_getIntPropertyValue for a Unicode property.
- * 0 if the property selector is out of range.
- *
- * @see UProperty
- * @see u_hasBinaryProperty
- * @see u_getUnicodeVersion
- * @see u_getIntPropertyMaxValue
- * @see u_getIntPropertyValue
- * @stable ICU 2.2
- */
-U_STABLE int32_t U_EXPORT2
-u_getIntPropertyMinValue(UProperty which);
-
-/**
- * Get the maximum value for an enumerated/integer/binary Unicode property.
- * Can be used together with u_getIntPropertyMinValue
- * to allocate arrays of UnicodeSet or similar.
- *
- * Examples for min/max values (for Unicode 3.2):
- *
- * - UCHAR_BIDI_CLASS: 0/18 (U_LEFT_TO_RIGHT/U_BOUNDARY_NEUTRAL)
- * - UCHAR_SCRIPT: 0/45 (USCRIPT_COMMON/USCRIPT_TAGBANWA)
- * - UCHAR_IDEOGRAPHIC: 0/1 (FALSE/TRUE)
- *
- * For undefined UProperty constant values, min/max values will be 0/-1.
- *
- * @param which UProperty selector constant, identifies which binary property to check.
- * Must be UCHAR_BINARY_START<=which<UCHAR_BINARY_LIMIT
- * or UCHAR_INT_START<=which<UCHAR_INT_LIMIT.
- * @return Maximum value returned by u_getIntPropertyValue for a Unicode property.
- * <=0 if the property selector is out of range.
- *
- * @see UProperty
- * @see u_hasBinaryProperty
- * @see u_getUnicodeVersion
- * @see u_getIntPropertyMaxValue
- * @see u_getIntPropertyValue
- * @stable ICU 2.2
- */
-U_STABLE int32_t U_EXPORT2
-u_getIntPropertyMaxValue(UProperty which);
-
-/**
- * Get the numeric value for a Unicode code point as defined in the
- * Unicode Character Database.
- *
- * A "double" return type is necessary because
- * some numeric values are fractions, negative, or too large for int32_t.
- *
- * For characters without any numeric values in the Unicode Character Database,
- * this function will return U_NO_NUMERIC_VALUE.
- *
- * Similar to java.lang.Character.getNumericValue(), but u_getNumericValue()
- * also supports negative values, large values, and fractions,
- * while Java's getNumericValue() returns values 10..35 for ASCII letters.
- *
- * @param c Code point to get the numeric value for.
- * @return Numeric value of c, or U_NO_NUMERIC_VALUE if none is defined.
- *
- * @see U_NO_NUMERIC_VALUE
- * @stable ICU 2.2
- */
-U_STABLE double U_EXPORT2
-u_getNumericValue(UChar32 c);
-
-/**
- * Special value that is returned by u_getNumericValue when
- * no numeric value is defined for a code point.
- *
- * @see u_getNumericValue
- * @stable ICU 2.2
- */
-#define U_NO_NUMERIC_VALUE ((double)-123456789.)
-
-/**
- * Determines whether the specified code point has the general category "Ll"
- * (lowercase letter).
- *
- * Same as java.lang.Character.isLowerCase().
- *
- * This misses some characters that are also lowercase but
- * have a different general category value.
- * In order to include those, use UCHAR_LOWERCASE.
- *
- * In addition to being equivalent to a Java function, this also serves
- * as a C/POSIX migration function.
- * See the comments about C/POSIX character classification functions in the
- * documentation at the top of this header file.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is an Ll lowercase letter
- *
- * @see UCHAR_LOWERCASE
- * @see u_isupper
- * @see u_istitle
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_islower(UChar32 c);
-
-/**
- * Determines whether the specified code point has the general category "Lu"
- * (uppercase letter).
- *
- * Same as java.lang.Character.isUpperCase().
- *
- * This misses some characters that are also uppercase but
- * have a different general category value.
- * In order to include those, use UCHAR_UPPERCASE.
- *
- * In addition to being equivalent to a Java function, this also serves
- * as a C/POSIX migration function.
- * See the comments about C/POSIX character classification functions in the
- * documentation at the top of this header file.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is an Lu uppercase letter
- *
- * @see UCHAR_UPPERCASE
- * @see u_islower
- * @see u_istitle
- * @see u_tolower
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isupper(UChar32 c);
-
-/**
- * Determines whether the specified code point is a titlecase letter.
- * True for general category "Lt" (titlecase letter).
- *
- * Same as java.lang.Character.isTitleCase().
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is an Lt titlecase letter
- *
- * @see u_isupper
- * @see u_islower
- * @see u_totitle
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_istitle(UChar32 c);
-
-/**
- * Determines whether the specified code point is a digit character according to Java.
- * True for characters with general category "Nd" (decimal digit numbers).
- * Beginning with Unicode 4, this is the same as
- * testing for the Numeric_Type of Decimal.
- *
- * Same as java.lang.Character.isDigit().
- *
- * In addition to being equivalent to a Java function, this also serves
- * as a C/POSIX migration function.
- * See the comments about C/POSIX character classification functions in the
- * documentation at the top of this header file.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is a digit character according to Character.isDigit()
- *
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isdigit(UChar32 c);
-
-/**
- * Determines whether the specified code point is a letter character.
- * True for general categories "L" (letters).
- *
- * Same as java.lang.Character.isLetter().
- *
- * In addition to being equivalent to a Java function, this also serves
- * as a C/POSIX migration function.
- * See the comments about C/POSIX character classification functions in the
- * documentation at the top of this header file.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is a letter character
- *
- * @see u_isdigit
- * @see u_isalnum
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isalpha(UChar32 c);
-
-/**
- * Determines whether the specified code point is an alphanumeric character
- * (letter or digit) according to Java.
- * True for characters with general categories
- * "L" (letters) and "Nd" (decimal digit numbers).
- *
- * Same as java.lang.Character.isLetterOrDigit().
- *
- * In addition to being equivalent to a Java function, this also serves
- * as a C/POSIX migration function.
- * See the comments about C/POSIX character classification functions in the
- * documentation at the top of this header file.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is an alphanumeric character according to Character.isLetterOrDigit()
- *
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isalnum(UChar32 c);
-
-/**
- * Determines whether the specified code point is a hexadecimal digit.
- * This is equivalent to u_digit(c, 16)>=0.
- * True for characters with general category "Nd" (decimal digit numbers)
- * as well as Latin letters a-f and A-F in both ASCII and Fullwidth ASCII.
- * (That is, for letters with code points
- * 0041..0046, 0061..0066, FF21..FF26, FF41..FF46.)
- *
- * In order to narrow the definition of hexadecimal digits to only ASCII
- * characters, use (c<=0x7f && u_isxdigit(c)).
- *
- * This is a C/POSIX migration function.
- * See the comments about C/POSIX character classification functions in the
- * documentation at the top of this header file.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is a hexadecimal digit
- *
- * @stable ICU 2.6
- */
-U_STABLE UBool U_EXPORT2
-u_isxdigit(UChar32 c);
-
-/**
- * Determines whether the specified code point is a punctuation character.
- * True for characters with general categories "P" (punctuation).
- *
- * This is a C/POSIX migration function.
- * See the comments about C/POSIX character classification functions in the
- * documentation at the top of this header file.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is a punctuation character
- *
- * @stable ICU 2.6
- */
-U_STABLE UBool U_EXPORT2
-u_ispunct(UChar32 c);
-
-/**
- * Determines whether the specified code point is a "graphic" character
- * (printable, excluding spaces).
- * TRUE for all characters except those with general categories
- * "Cc" (control codes), "Cf" (format controls), "Cs" (surrogates),
- * "Cn" (unassigned), and "Z" (separators).
- *
- * This is a C/POSIX migration function.
- * See the comments about C/POSIX character classification functions in the
- * documentation at the top of this header file.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is a "graphic" character
- *
- * @stable ICU 2.6
- */
-U_STABLE UBool U_EXPORT2
-u_isgraph(UChar32 c);
-
-/**
- * Determines whether the specified code point is a "blank" or "horizontal space",
- * a character that visibly separates words on a line.
- * The following are equivalent definitions:
- *
- * TRUE for Unicode White_Space characters except for "vertical space controls"
- * where "vertical space controls" are the following characters:
- * U+000A (LF) U+000B (VT) U+000C (FF) U+000D (CR) U+0085 (NEL) U+2028 (LS) U+2029 (PS)
- *
- * same as
- *
- * TRUE for U+0009 (TAB) and characters with general category "Zs" (space separators)
- * except Zero Width Space (ZWSP, U+200B).
- *
- * Note: There are several ICU whitespace functions; please see the uchar.h
- * file documentation for a detailed comparison.
- *
- * This is a C/POSIX migration function.
- * See the comments about C/POSIX character classification functions in the
- * documentation at the top of this header file.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is a "blank"
- *
- * @stable ICU 2.6
- */
-U_STABLE UBool U_EXPORT2
-u_isblank(UChar32 c);
-
-/**
- * Determines whether the specified code point is "defined",
- * which usually means that it is assigned a character.
- * True for general categories other than "Cn" (other, not assigned),
- * i.e., true for all code points mentioned in UnicodeData.txt.
- *
- * Note that non-character code points (e.g., U+FDD0) are not "defined"
- * (they are Cn), but surrogate code points are "defined" (Cs).
- *
- * Same as java.lang.Character.isDefined().
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is assigned a character
- *
- * @see u_isdigit
- * @see u_isalpha
- * @see u_isalnum
- * @see u_isupper
- * @see u_islower
- * @see u_istitle
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isdefined(UChar32 c);
-
-/**
- * Determines if the specified character is a space character or not.
- *
- * Note: There are several ICU whitespace functions; please see the uchar.h
- * file documentation for a detailed comparison.
- *
- * This is a C/POSIX migration function.
- * See the comments about C/POSIX character classification functions in the
- * documentation at the top of this header file.
- *
- * @param c the character to be tested
- * @return true if the character is a space character; false otherwise.
- *
- * @see u_isJavaSpaceChar
- * @see u_isWhitespace
- * @see u_isUWhiteSpace
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isspace(UChar32 c);
-
-/**
- * Determine if the specified code point is a space character according to Java.
- * True for characters with general categories "Z" (separators),
- * which does not include control codes (e.g., TAB or Line Feed).
- *
- * Same as java.lang.Character.isSpaceChar().
- *
- * Note: There are several ICU whitespace functions; please see the uchar.h
- * file documentation for a detailed comparison.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is a space character according to Character.isSpaceChar()
- *
- * @see u_isspace
- * @see u_isWhitespace
- * @see u_isUWhiteSpace
- * @stable ICU 2.6
- */
-U_STABLE UBool U_EXPORT2
-u_isJavaSpaceChar(UChar32 c);
-
-/**
- * Determines if the specified code point is a whitespace character according to Java/ICU.
- * A character is considered to be a Java whitespace character if and only
- * if it satisfies one of the following criteria:
- *
- * - It is a Unicode Separator character (categories "Z" = "Zs" or "Zl" or "Zp"), but is not
- * also a non-breaking space (U+00A0 NBSP or U+2007 Figure Space or U+202F Narrow NBSP).
- * - It is U+0009 HORIZONTAL TABULATION.
- * - It is U+000A LINE FEED.
- * - It is U+000B VERTICAL TABULATION.
- * - It is U+000C FORM FEED.
- * - It is U+000D CARRIAGE RETURN.
- * - It is U+001C FILE SEPARATOR.
- * - It is U+001D GROUP SEPARATOR.
- * - It is U+001E RECORD SEPARATOR.
- * - It is U+001F UNIT SEPARATOR.
- *
- * This API tries to sync with the semantics of Java's
- * java.lang.Character.isWhitespace(), but it may not return
- * the exact same results because of the Unicode version
- * difference.
- *
- * Note: Unicode 4.0.1 changed U+200B ZERO WIDTH SPACE from a Space Separator (Zs)
- * to a Format Control (Cf). Since then, isWhitespace(0x200b) returns false.
- * See http://www.unicode.org/versions/Unicode4.0.1/
- *
- * Note: There are several ICU whitespace functions; please see the uchar.h
- * file documentation for a detailed comparison.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is a whitespace character according to Java/ICU
- *
- * @see u_isspace
- * @see u_isJavaSpaceChar
- * @see u_isUWhiteSpace
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isWhitespace(UChar32 c);
-
-/**
- * Determines whether the specified code point is a control character
- * (as defined by this function).
- * A control character is one of the following:
- * - ISO 8-bit control character (U+0000..U+001f and U+007f..U+009f)
- * - U_CONTROL_CHAR (Cc)
- * - U_FORMAT_CHAR (Cf)
- * - U_LINE_SEPARATOR (Zl)
- * - U_PARAGRAPH_SEPARATOR (Zp)
- *
- * This is a C/POSIX migration function.
- * See the comments about C/POSIX character classification functions in the
- * documentation at the top of this header file.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is a control character
- *
- * @see UCHAR_DEFAULT_IGNORABLE_CODE_POINT
- * @see u_isprint
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_iscntrl(UChar32 c);
-
-/**
- * Determines whether the specified code point is an ISO control code.
- * True for U+0000..U+001f and U+007f..U+009f (general category "Cc").
- *
- * Same as java.lang.Character.isISOControl().
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is an ISO control code
- *
- * @see u_iscntrl
- * @stable ICU 2.6
- */
-U_STABLE UBool U_EXPORT2
-u_isISOControl(UChar32 c);
-
-/**
- * Determines whether the specified code point is a printable character.
- * True for general categories <em>other</em> than "C" (controls).
- *
- * This is a C/POSIX migration function.
- * See the comments about C/POSIX character classification functions in the
- * documentation at the top of this header file.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is a printable character
- *
- * @see UCHAR_DEFAULT_IGNORABLE_CODE_POINT
- * @see u_iscntrl
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isprint(UChar32 c);
-
-/**
- * Determines whether the specified code point is a base character.
- * True for general categories "L" (letters), "N" (numbers),
- * "Mc" (spacing combining marks), and "Me" (enclosing marks).
- *
- * Note that this is different from the Unicode definition in
- * chapter 3.5, conformance clause D13,
- * which defines base characters to be all characters (not Cn)
- * that do not graphically combine with preceding characters (M)
- * and that are neither control (Cc) or format (Cf) characters.
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is a base character according to this function
- *
- * @see u_isalpha
- * @see u_isdigit
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isbase(UChar32 c);
-
-/**
- * Returns the bidirectional category value for the code point,
- * which is used in the Unicode bidirectional algorithm
- * (UAX #9 http://www.unicode.org/reports/tr9/).
- * Note that some <em>unassigned</em> code points have bidi values
- * of R or AL because they are in blocks that are reserved
- * for Right-To-Left scripts.
- *
- * Same as java.lang.Character.getDirectionality()
- *
- * @param c the code point to be tested
- * @return the bidirectional category (UCharDirection) value
- *
- * @see UCharDirection
- * @stable ICU 2.0
- */
-U_STABLE UCharDirection U_EXPORT2
-u_charDirection(UChar32 c);
-
-/**
- * Determines whether the code point has the Bidi_Mirrored property.
- * This property is set for characters that are commonly used in
- * Right-To-Left contexts and need to be displayed with a "mirrored"
- * glyph.
- *
- * Same as java.lang.Character.isMirrored().
- * Same as UCHAR_BIDI_MIRRORED
- *
- * @param c the code point to be tested
- * @return TRUE if the character has the Bidi_Mirrored property
- *
- * @see UCHAR_BIDI_MIRRORED
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isMirrored(UChar32 c);
-
-/**
- * Maps the specified character to a "mirror-image" character.
- * For characters with the Bidi_Mirrored property, implementations
- * sometimes need a "poor man's" mapping to another Unicode
- * character (code point) such that the default glyph may serve
- * as the mirror-image of the default glyph of the specified
- * character. This is useful for text conversion to and from
- * codepages with visual order, and for displays without glyph
- * selecetion capabilities.
- *
- * @param c the code point to be mapped
- * @return another Unicode code point that may serve as a mirror-image
- * substitute, or c itself if there is no such mapping or c
- * does not have the Bidi_Mirrored property
- *
- * @see UCHAR_BIDI_MIRRORED
- * @see u_isMirrored
- * @stable ICU 2.0
- */
-U_STABLE UChar32 U_EXPORT2
-u_charMirror(UChar32 c);
-
-/**
- * Returns the general category value for the code point.
- *
- * Same as java.lang.Character.getType().
- *
- * @param c the code point to be tested
- * @return the general category (UCharCategory) value
- *
- * @see UCharCategory
- * @stable ICU 2.0
- */
-U_STABLE int8_t U_EXPORT2
-u_charType(UChar32 c);
-
-/**
- * Get a single-bit bit set for the general category of a character.
- * This bit set can be compared bitwise with U_GC_SM_MASK, U_GC_L_MASK, etc.
- * Same as U_MASK(u_charType(c)).
- *
- * @param c the code point to be tested
- * @return a single-bit mask corresponding to the general category (UCharCategory) value
- *
- * @see u_charType
- * @see UCharCategory
- * @see U_GC_CN_MASK
- * @stable ICU 2.1
- */
-#define U_GET_GC_MASK(c) U_MASK(u_charType(c))
-
-/**
- * Callback from u_enumCharTypes(), is called for each contiguous range
- * of code points c (where start<=c<limit)
- * with the same Unicode general category ("character type").
- *
- * The callback function can stop the enumeration by returning FALSE.
- *
- * @param context an opaque pointer, as passed into utrie_enum()
- * @param start the first code point in a contiguous range with value
- * @param limit one past the last code point in a contiguous range with value
- * @param type the general category for all code points in [start..limit[
- * @return FALSE to stop the enumeration
- *
- * @stable ICU 2.1
- * @see UCharCategory
- * @see u_enumCharTypes
- */
-typedef UBool U_CALLCONV
-UCharEnumTypeRange(const void *context, UChar32 start, UChar32 limit, UCharCategory type);
-
-/**
- * Enumerate efficiently all code points with their Unicode general categories.
- *
- * This is useful for building data structures (e.g., UnicodeSet's),
- * for enumerating all assigned code points (type!=U_UNASSIGNED), etc.
- *
- * For each contiguous range of code points with a given general category ("character type"),
- * the UCharEnumTypeRange function is called.
- * Adjacent ranges have different types.
- * The Unicode Standard guarantees that the numeric value of the type is 0..31.
- *
- * @param enumRange a pointer to a function that is called for each contiguous range
- * of code points with the same general category
- * @param context an opaque pointer that is passed on to the callback function
- *
- * @stable ICU 2.1
- * @see UCharCategory
- * @see UCharEnumTypeRange
- */
-U_STABLE void U_EXPORT2
-u_enumCharTypes(UCharEnumTypeRange *enumRange, const void *context);
-
-#if !UCONFIG_NO_NORMALIZATION
-
-/**
- * Returns the combining class of the code point as specified in UnicodeData.txt.
- *
- * @param c the code point of the character
- * @return the combining class of the character
- * @stable ICU 2.0
- */
-U_STABLE uint8_t U_EXPORT2
-u_getCombiningClass(UChar32 c);
-
-#endif
-
-/**
- * Returns the decimal digit value of a decimal digit character.
- * Such characters have the general category "Nd" (decimal digit numbers)
- * and a Numeric_Type of Decimal.
- *
- * Unlike ICU releases before 2.6, no digit values are returned for any
- * Han characters because Han number characters are often used with a special
- * Chinese-style number format (with characters for powers of 10 in between)
- * instead of in decimal-positional notation.
- * Unicode 4 explicitly assigns Han number characters the Numeric_Type
- * Numeric instead of Decimal.
- * See Jitterbug 1483 for more details.
- *
- * Use u_getIntPropertyValue(c, UCHAR_NUMERIC_TYPE) and u_getNumericValue()
- * for complete numeric Unicode properties.
- *
- * @param c the code point for which to get the decimal digit value
- * @return the decimal digit value of c,
- * or -1 if c is not a decimal digit character
- *
- * @see u_getNumericValue
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_charDigitValue(UChar32 c);
-
-/**
- * Returns the Unicode allocation block that contains the character.
- *
- * @param c the code point to be tested
- * @return the block value (UBlockCode) for c
- *
- * @see UBlockCode
- * @stable ICU 2.0
- */
-U_STABLE UBlockCode U_EXPORT2
-ublock_getCode(UChar32 c);
-
-/**
- * Retrieve the name of a Unicode character.
- * Depending on <code>nameChoice</code>, the character name written
- * into the buffer is the "modern" name or the name that was defined
- * in Unicode version 1.0.
- * The name contains only "invariant" characters
- * like A-Z, 0-9, space, and '-'.
- * Unicode 1.0 names are only retrieved if they are different from the modern
- * names and if the data file contains the data for them. gennames may or may
- * not be called with a command line option to include 1.0 names in unames.dat.
- *
- * @param code The character (code point) for which to get the name.
- * It must be <code>0<=code<=0x10ffff</code>.
- * @param nameChoice Selector for which name to get.
- * @param buffer Destination address for copying the name.
- * The name will always be zero-terminated.
- * If there is no name, then the buffer will be set to the empty string.
- * @param bufferLength <code>==sizeof(buffer)</code>
- * @param pErrorCode Pointer to a UErrorCode variable;
- * check for <code>U_SUCCESS()</code> after <code>u_charName()</code>
- * returns.
- * @return The length of the name, or 0 if there is no name for this character.
- * If the bufferLength is less than or equal to the length, then the buffer
- * contains the truncated name and the returned length indicates the full
- * length of the name.
- * The length does not include the zero-termination.
- *
- * @see UCharNameChoice
- * @see u_charFromName
- * @see u_enumCharNames
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_charName(UChar32 code, UCharNameChoice nameChoice,
- char *buffer, int32_t bufferLength,
- UErrorCode *pErrorCode);
-
-/**
- * Get the ISO 10646 comment for a character.
- * The ISO 10646 comment is an informative field in the Unicode Character
- * Database (UnicodeData.txt field 11) and is from the ISO 10646 names list.
- *
- * Note: Unicode 5.2 removes all ISO comment data, resulting in empty strings
- * returned for all characters.
- *
- * @param c The character (code point) for which to get the ISO comment.
- * It must be <code>0<=c<=0x10ffff</code>.
- * @param dest Destination address for copying the comment.
- * The comment will be zero-terminated if possible.
- * If there is no comment, then the buffer will be set to the empty string.
- * @param destCapacity <code>==sizeof(dest)</code>
- * @param pErrorCode Pointer to a UErrorCode variable;
- * check for <code>U_SUCCESS()</code> after <code>u_getISOComment()</code>
- * returns.
- * @return The length of the comment, or 0 if there is no comment for this character.
- * If the destCapacity is less than or equal to the length, then the buffer
- * contains the truncated name and the returned length indicates the full
- * length of the name.
- * The length does not include the zero-termination.
- *
- * @stable ICU 2.2
- */
-U_STABLE int32_t U_EXPORT2
-u_getISOComment(UChar32 c,
- char *dest, int32_t destCapacity,
- UErrorCode *pErrorCode);
-
-/**
- * Find a Unicode character by its name and return its code point value.
- * The name is matched exactly and completely.
- * If the name does not correspond to a code point, <i>pErrorCode</i>
- * is set to <code>U_INVALID_CHAR_FOUND</code>.
- * A Unicode 1.0 name is matched only if it differs from the modern name.
- * Unicode names are all uppercase. Extended names are lowercase followed
- * by an uppercase hexadecimal number, and within angle brackets.
- *
- * @param nameChoice Selector for which name to match.
- * @param name The name to match.
- * @param pErrorCode Pointer to a UErrorCode variable
- * @return The Unicode value of the code point with the given name,
- * or an undefined value if there is no such code point.
- *
- * @see UCharNameChoice
- * @see u_charName
- * @see u_enumCharNames
- * @stable ICU 1.7
- */
-U_STABLE UChar32 U_EXPORT2
-u_charFromName(UCharNameChoice nameChoice,
- const char *name,
- UErrorCode *pErrorCode);
-
-/**
- * Type of a callback function for u_enumCharNames() that gets called
- * for each Unicode character with the code point value and
- * the character name.
- * If such a function returns FALSE, then the enumeration is stopped.
- *
- * @param context The context pointer that was passed to u_enumCharNames().
- * @param code The Unicode code point for the character with this name.
- * @param nameChoice Selector for which kind of names is enumerated.
- * @param name The character's name, zero-terminated.
- * @param length The length of the name.
- * @return TRUE if the enumeration should continue, FALSE to stop it.
- *
- * @see UCharNameChoice
- * @see u_enumCharNames
- * @stable ICU 1.7
- */
-typedef UBool U_CALLCONV UEnumCharNamesFn(void *context,
- UChar32 code,
- UCharNameChoice nameChoice,
- const char *name,
- int32_t length);
-
-/**
- * Enumerate all assigned Unicode characters between the start and limit
- * code points (start inclusive, limit exclusive) and call a function
- * for each, passing the code point value and the character name.
- * For Unicode 1.0 names, only those are enumerated that differ from the
- * modern names.
- *
- * @param start The first code point in the enumeration range.
- * @param limit One more than the last code point in the enumeration range
- * (the first one after the range).
- * @param fn The function that is to be called for each character name.
- * @param context An arbitrary pointer that is passed to the function.
- * @param nameChoice Selector for which kind of names to enumerate.
- * @param pErrorCode Pointer to a UErrorCode variable
- *
- * @see UCharNameChoice
- * @see UEnumCharNamesFn
- * @see u_charName
- * @see u_charFromName
- * @stable ICU 1.7
- */
-U_STABLE void U_EXPORT2
-u_enumCharNames(UChar32 start, UChar32 limit,
- UEnumCharNamesFn *fn,
- void *context,
- UCharNameChoice nameChoice,
- UErrorCode *pErrorCode);
-
-/**
- * Return the Unicode name for a given property, as given in the
- * Unicode database file PropertyAliases.txt.
- *
- * In addition, this function maps the property
- * UCHAR_GENERAL_CATEGORY_MASK to the synthetic names "gcm" /
- * "General_Category_Mask". These names are not in
- * PropertyAliases.txt.
- *
- * @param property UProperty selector other than UCHAR_INVALID_CODE.
- * If out of range, NULL is returned.
- *
- * @param nameChoice selector for which name to get. If out of range,
- * NULL is returned. All properties have a long name. Most
- * have a short name, but some do not. Unicode allows for
- * additional names; if present these will be returned by
- * U_LONG_PROPERTY_NAME + i, where i=1, 2,...
- *
- * @return a pointer to the name, or NULL if either the
- * property or the nameChoice is out of range. If a given
- * nameChoice returns NULL, then all larger values of
- * nameChoice will return NULL, with one exception: if NULL is
- * returned for U_SHORT_PROPERTY_NAME, then
- * U_LONG_PROPERTY_NAME (and higher) may still return a
- * non-NULL value. The returned pointer is valid until
- * u_cleanup() is called.
- *
- * @see UProperty
- * @see UPropertyNameChoice
- * @stable ICU 2.4
- */
-U_STABLE const char* U_EXPORT2
-u_getPropertyName(UProperty property,
- UPropertyNameChoice nameChoice);
-
-/**
- * Return the UProperty enum for a given property name, as specified
- * in the Unicode database file PropertyAliases.txt. Short, long, and
- * any other variants are recognized.
- *
- * In addition, this function maps the synthetic names "gcm" /
- * "General_Category_Mask" to the property
- * UCHAR_GENERAL_CATEGORY_MASK. These names are not in
- * PropertyAliases.txt.
- *
- * @param alias the property name to be matched. The name is compared
- * using "loose matching" as described in PropertyAliases.txt.
- *
- * @return a UProperty enum, or UCHAR_INVALID_CODE if the given name
- * does not match any property.
- *
- * @see UProperty
- * @stable ICU 2.4
- */
-U_STABLE UProperty U_EXPORT2
-u_getPropertyEnum(const char* alias);
-
-/**
- * Return the Unicode name for a given property value, as given in the
- * Unicode database file PropertyValueAliases.txt.
- *
- * Note: Some of the names in PropertyValueAliases.txt can only be
- * retrieved using UCHAR_GENERAL_CATEGORY_MASK, not
- * UCHAR_GENERAL_CATEGORY. These include: "C" / "Other", "L" /
- * "Letter", "LC" / "Cased_Letter", "M" / "Mark", "N" / "Number", "P"
- * / "Punctuation", "S" / "Symbol", and "Z" / "Separator".
- *
- * @param property UProperty selector constant.
- * Must be UCHAR_BINARY_START<=which<UCHAR_BINARY_LIMIT
- * or UCHAR_INT_START<=which<UCHAR_INT_LIMIT
- * or UCHAR_MASK_START<=which<UCHAR_MASK_LIMIT.
- * If out of range, NULL is returned.
- *
- * @param value selector for a value for the given property. If out
- * of range, NULL is returned. In general, valid values range
- * from 0 up to some maximum. There are a few exceptions:
- * (1.) UCHAR_BLOCK values begin at the non-zero value
- * UBLOCK_BASIC_LATIN. (2.) UCHAR_CANONICAL_COMBINING_CLASS
- * values are not contiguous and range from 0..240. (3.)
- * UCHAR_GENERAL_CATEGORY_MASK values are not values of
- * UCharCategory, but rather mask values produced by
- * U_GET_GC_MASK(). This allows grouped categories such as
- * [:L:] to be represented. Mask values range
- * non-contiguously from 1..U_GC_P_MASK.
- *
- * @param nameChoice selector for which name to get. If out of range,
- * NULL is returned. All values have a long name. Most have
- * a short name, but some do not. Unicode allows for
- * additional names; if present these will be returned by
- * U_LONG_PROPERTY_NAME + i, where i=1, 2,...
-
- * @return a pointer to the name, or NULL if either the
- * property or the nameChoice is out of range. If a given
- * nameChoice returns NULL, then all larger values of
- * nameChoice will return NULL, with one exception: if NULL is
- * returned for U_SHORT_PROPERTY_NAME, then
- * U_LONG_PROPERTY_NAME (and higher) may still return a
- * non-NULL value. The returned pointer is valid until
- * u_cleanup() is called.
- *
- * @see UProperty
- * @see UPropertyNameChoice
- * @stable ICU 2.4
- */
-U_STABLE const char* U_EXPORT2
-u_getPropertyValueName(UProperty property,
- int32_t value,
- UPropertyNameChoice nameChoice);
-
-/**
- * Return the property value integer for a given value name, as
- * specified in the Unicode database file PropertyValueAliases.txt.
- * Short, long, and any other variants are recognized.
- *
- * Note: Some of the names in PropertyValueAliases.txt will only be
- * recognized with UCHAR_GENERAL_CATEGORY_MASK, not
- * UCHAR_GENERAL_CATEGORY. These include: "C" / "Other", "L" /
- * "Letter", "LC" / "Cased_Letter", "M" / "Mark", "N" / "Number", "P"
- * / "Punctuation", "S" / "Symbol", and "Z" / "Separator".
- *
- * @param property UProperty selector constant.
- * Must be UCHAR_BINARY_START<=which<UCHAR_BINARY_LIMIT
- * or UCHAR_INT_START<=which<UCHAR_INT_LIMIT
- * or UCHAR_MASK_START<=which<UCHAR_MASK_LIMIT.
- * If out of range, UCHAR_INVALID_CODE is returned.
- *
- * @param alias the value name to be matched. The name is compared
- * using "loose matching" as described in
- * PropertyValueAliases.txt.
- *
- * @return a value integer or UCHAR_INVALID_CODE if the given name
- * does not match any value of the given property, or if the
- * property is invalid. Note: UCHAR_GENERAL_CATEGORY_MASK values
- * are not values of UCharCategory, but rather mask values
- * produced by U_GET_GC_MASK(). This allows grouped
- * categories such as [:L:] to be represented.
- *
- * @see UProperty
- * @stable ICU 2.4
- */
-U_STABLE int32_t U_EXPORT2
-u_getPropertyValueEnum(UProperty property,
- const char* alias);
-
-/**
- * Determines if the specified character is permissible as the
- * first character in an identifier according to Unicode
- * (The Unicode Standard, Version 3.0, chapter 5.16 Identifiers).
- * True for characters with general categories "L" (letters) and "Nl" (letter numbers).
- *
- * Same as java.lang.Character.isUnicodeIdentifierStart().
- * Same as UCHAR_ID_START
- *
- * @param c the code point to be tested
- * @return TRUE if the code point may start an identifier
- *
- * @see UCHAR_ID_START
- * @see u_isalpha
- * @see u_isIDPart
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isIDStart(UChar32 c);
-
-/**
- * Determines if the specified character is permissible
- * in an identifier according to Java.
- * True for characters with general categories "L" (letters),
- * "Nl" (letter numbers), "Nd" (decimal digits),
- * "Mc" and "Mn" (combining marks), "Pc" (connecting punctuation), and
- * u_isIDIgnorable(c).
- *
- * Same as java.lang.Character.isUnicodeIdentifierPart().
- * Almost the same as Unicode's ID_Continue (UCHAR_ID_CONTINUE)
- * except that Unicode recommends to ignore Cf which is less than
- * u_isIDIgnorable(c).
- *
- * @param c the code point to be tested
- * @return TRUE if the code point may occur in an identifier according to Java
- *
- * @see UCHAR_ID_CONTINUE
- * @see u_isIDStart
- * @see u_isIDIgnorable
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isIDPart(UChar32 c);
-
-/**
- * Determines if the specified character should be regarded
- * as an ignorable character in an identifier,
- * according to Java.
- * True for characters with general category "Cf" (format controls) as well as
- * non-whitespace ISO controls
- * (U+0000..U+0008, U+000E..U+001B, U+007F..U+009F).
- *
- * Same as java.lang.Character.isIdentifierIgnorable().
- *
- * Note that Unicode just recommends to ignore Cf (format controls).
- *
- * @param c the code point to be tested
- * @return TRUE if the code point is ignorable in identifiers according to Java
- *
- * @see UCHAR_DEFAULT_IGNORABLE_CODE_POINT
- * @see u_isIDStart
- * @see u_isIDPart
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isIDIgnorable(UChar32 c);
-
-/**
- * Determines if the specified character is permissible as the
- * first character in a Java identifier.
- * In addition to u_isIDStart(c), true for characters with
- * general categories "Sc" (currency symbols) and "Pc" (connecting punctuation).
- *
- * Same as java.lang.Character.isJavaIdentifierStart().
- *
- * @param c the code point to be tested
- * @return TRUE if the code point may start a Java identifier
- *
- * @see u_isJavaIDPart
- * @see u_isalpha
- * @see u_isIDStart
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isJavaIDStart(UChar32 c);
-
-/**
- * Determines if the specified character is permissible
- * in a Java identifier.
- * In addition to u_isIDPart(c), true for characters with
- * general category "Sc" (currency symbols).
- *
- * Same as java.lang.Character.isJavaIdentifierPart().
- *
- * @param c the code point to be tested
- * @return TRUE if the code point may occur in a Java identifier
- *
- * @see u_isIDIgnorable
- * @see u_isJavaIDStart
- * @see u_isalpha
- * @see u_isdigit
- * @see u_isIDPart
- * @stable ICU 2.0
- */
-U_STABLE UBool U_EXPORT2
-u_isJavaIDPart(UChar32 c);
-
-/**
- * The given character is mapped to its lowercase equivalent according to
- * UnicodeData.txt; if the character has no lowercase equivalent, the character
- * itself is returned.
- *
- * Same as java.lang.Character.toLowerCase().
- *
- * This function only returns the simple, single-code point case mapping.
- * Full case mappings should be used whenever possible because they produce
- * better results by working on whole strings.
- * They take into account the string context and the language and can map
- * to a result string with a different length as appropriate.
- * Full case mappings are applied by the string case mapping functions,
- * see ustring.h and the UnicodeString class.
- * See also the User Guide chapter on C/POSIX migration:
- * http://icu-project.org/userguide/posix.html#case_mappings
- *
- * @param c the code point to be mapped
- * @return the Simple_Lowercase_Mapping of the code point, if any;
- * otherwise the code point itself.
- * @stable ICU 2.0
- */
-U_STABLE UChar32 U_EXPORT2
-u_tolower(UChar32 c);
-
-/**
- * The given character is mapped to its uppercase equivalent according to UnicodeData.txt;
- * if the character has no uppercase equivalent, the character itself is
- * returned.
- *
- * Same as java.lang.Character.toUpperCase().
- *
- * This function only returns the simple, single-code point case mapping.
- * Full case mappings should be used whenever possible because they produce
- * better results by working on whole strings.
- * They take into account the string context and the language and can map
- * to a result string with a different length as appropriate.
- * Full case mappings are applied by the string case mapping functions,
- * see ustring.h and the UnicodeString class.
- * See also the User Guide chapter on C/POSIX migration:
- * http://icu-project.org/userguide/posix.html#case_mappings
- *
- * @param c the code point to be mapped
- * @return the Simple_Uppercase_Mapping of the code point, if any;
- * otherwise the code point itself.
- * @stable ICU 2.0
- */
-U_STABLE UChar32 U_EXPORT2
-u_toupper(UChar32 c);
-
-/**
- * The given character is mapped to its titlecase equivalent
- * according to UnicodeData.txt;
- * if none is defined, the character itself is returned.
- *
- * Same as java.lang.Character.toTitleCase().
- *
- * This function only returns the simple, single-code point case mapping.
- * Full case mappings should be used whenever possible because they produce
- * better results by working on whole strings.
- * They take into account the string context and the language and can map
- * to a result string with a different length as appropriate.
- * Full case mappings are applied by the string case mapping functions,
- * see ustring.h and the UnicodeString class.
- * See also the User Guide chapter on C/POSIX migration:
- * http://icu-project.org/userguide/posix.html#case_mappings
- *
- * @param c the code point to be mapped
- * @return the Simple_Titlecase_Mapping of the code point, if any;
- * otherwise the code point itself.
- * @stable ICU 2.0
- */
-U_STABLE UChar32 U_EXPORT2
-u_totitle(UChar32 c);
-
-/** Option value for case folding: use default mappings defined in CaseFolding.txt. @stable ICU 2.0 */
-#define U_FOLD_CASE_DEFAULT 0
-
-/**
- * Option value for case folding:
- *
- * Use the modified set of mappings provided in CaseFolding.txt to handle dotted I
- * and dotless i appropriately for Turkic languages (tr, az).
- *
- * Before Unicode 3.2, CaseFolding.txt contains mappings marked with 'I' that
- * are to be included for default mappings and
- * excluded for the Turkic-specific mappings.
- *
- * Unicode 3.2 CaseFolding.txt instead contains mappings marked with 'T' that
- * are to be excluded for default mappings and
- * included for the Turkic-specific mappings.
- *
- * @stable ICU 2.0
- */
-#define U_FOLD_CASE_EXCLUDE_SPECIAL_I 1
-
-/**
- * The given character is mapped to its case folding equivalent according to
- * UnicodeData.txt and CaseFolding.txt;
- * if the character has no case folding equivalent, the character
- * itself is returned.
- *
- * This function only returns the simple, single-code point case mapping.
- * Full case mappings should be used whenever possible because they produce
- * better results by working on whole strings.
- * They take into account the string context and the language and can map
- * to a result string with a different length as appropriate.
- * Full case mappings are applied by the string case mapping functions,
- * see ustring.h and the UnicodeString class.
- * See also the User Guide chapter on C/POSIX migration:
- * http://icu-project.org/userguide/posix.html#case_mappings
- *
- * @param c the code point to be mapped
- * @param options Either U_FOLD_CASE_DEFAULT or U_FOLD_CASE_EXCLUDE_SPECIAL_I
- * @return the Simple_Case_Folding of the code point, if any;
- * otherwise the code point itself.
- * @stable ICU 2.0
- */
-U_STABLE UChar32 U_EXPORT2
-u_foldCase(UChar32 c, uint32_t options);
-
-/**
- * Returns the decimal digit value of the code point in the
- * specified radix.
- *
- * If the radix is not in the range <code>2<=radix<=36</code> or if the
- * value of <code>c</code> is not a valid digit in the specified
- * radix, <code>-1</code> is returned. A character is a valid digit
- * if at least one of the following is true:
- * <ul>
- * <li>The character has a decimal digit value.
- * Such characters have the general category "Nd" (decimal digit numbers)
- * and a Numeric_Type of Decimal.
- * In this case the value is the character's decimal digit value.</li>
- * <li>The character is one of the uppercase Latin letters
- * <code>'A'</code> through <code>'Z'</code>.
- * In this case the value is <code>c-'A'+10</code>.</li>
- * <li>The character is one of the lowercase Latin letters
- * <code>'a'</code> through <code>'z'</code>.
- * In this case the value is <code>ch-'a'+10</code>.</li>
- * <li>Latin letters from both the ASCII range (0061..007A, 0041..005A)
- * as well as from the Fullwidth ASCII range (FF41..FF5A, FF21..FF3A)
- * are recognized.</li>
- * </ul>
- *
- * Same as java.lang.Character.digit().
- *
- * @param ch the code point to be tested.
- * @param radix the radix.
- * @return the numeric value represented by the character in the
- * specified radix,
- * or -1 if there is no value or if the value exceeds the radix.
- *
- * @see UCHAR_NUMERIC_TYPE
- * @see u_forDigit
- * @see u_charDigitValue
- * @see u_isdigit
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_digit(UChar32 ch, int8_t radix);
-
-/**
- * Determines the character representation for a specific digit in
- * the specified radix. If the value of <code>radix</code> is not a
- * valid radix, or the value of <code>digit</code> is not a valid
- * digit in the specified radix, the null character
- * (<code>U+0000</code>) is returned.
- * <p>
- * The <code>radix</code> argument is valid if it is greater than or
- * equal to 2 and less than or equal to 36.
- * The <code>digit</code> argument is valid if
- * <code>0 <= digit < radix</code>.
- * <p>
- * If the digit is less than 10, then
- * <code>'0' + digit</code> is returned. Otherwise, the value
- * <code>'a' + digit - 10</code> is returned.
- *
- * Same as java.lang.Character.forDigit().
- *
- * @param digit the number to convert to a character.
- * @param radix the radix.
- * @return the <code>char</code> representation of the specified digit
- * in the specified radix.
- *
- * @see u_digit
- * @see u_charDigitValue
- * @see u_isdigit
- * @stable ICU 2.0
- */
-U_STABLE UChar32 U_EXPORT2
-u_forDigit(int32_t digit, int8_t radix);
-
-/**
- * Get the "age" of the code point.
- * The "age" is the Unicode version when the code point was first
- * designated (as a non-character or for Private Use)
- * or assigned a character.
- * This can be useful to avoid emitting code points to receiving
- * processes that do not accept newer characters.
- * The data is from the UCD file DerivedAge.txt.
- *
- * @param c The code point.
- * @param versionArray The Unicode version number array, to be filled in.
- *
- * @stable ICU 2.1
- */
-U_STABLE void U_EXPORT2
-u_charAge(UChar32 c, UVersionInfo versionArray);
-
-/**
- * Gets the Unicode version information.
- * The version array is filled in with the version information
- * for the Unicode standard that is currently used by ICU.
- * For example, Unicode version 3.1.1 is represented as an array with
- * the values { 3, 1, 1, 0 }.
- *
- * @param versionArray an output array that will be filled in with
- * the Unicode version number
- * @stable ICU 2.0
- */
-U_STABLE void U_EXPORT2
-u_getUnicodeVersion(UVersionInfo versionArray);
-
-#if !UCONFIG_NO_NORMALIZATION
-/**
- * Get the FC_NFKC_Closure property string for a character.
- * See Unicode Standard Annex #15 for details, search for "FC_NFKC_Closure"
- * or for "FNC": http://www.unicode.org/reports/tr15/
- *
- * @param c The character (code point) for which to get the FC_NFKC_Closure string.
- * It must be <code>0<=c<=0x10ffff</code>.
- * @param dest Destination address for copying the string.
- * The string will be zero-terminated if possible.
- * If there is no FC_NFKC_Closure string,
- * then the buffer will be set to the empty string.
- * @param destCapacity <code>==sizeof(dest)</code>
- * @param pErrorCode Pointer to a UErrorCode variable.
- * @return The length of the string, or 0 if there is no FC_NFKC_Closure string for this character.
- * If the destCapacity is less than or equal to the length, then the buffer
- * contains the truncated name and the returned length indicates the full
- * length of the name.
- * The length does not include the zero-termination.
- *
- * @stable ICU 2.2
- */
-U_STABLE int32_t U_EXPORT2
-u_getFC_NFKC_Closure(UChar32 c, UChar *dest, int32_t destCapacity, UErrorCode *pErrorCode);
-
-#endif
-
-
-U_CDECL_END
-
-#endif /*_UCHAR*/
-/*eof*/
diff --git a/Source/WebKit/mac/icu/unicode/uconfig.h b/Source/WebKit/mac/icu/unicode/uconfig.h
deleted file mode 100644
index 7d2d26e95..000000000
--- a/Source/WebKit/mac/icu/unicode/uconfig.h
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
-**********************************************************************
-* Copyright (C) 2002-2009, International Business Machines
-* Corporation and others. All Rights Reserved.
-**********************************************************************
-* file name: uconfig.h
-* encoding: US-ASCII
-* tab size: 8 (not used)
-* indentation:4
-*
-* created on: 2002sep19
-* created by: Markus W. Scherer
-*/
-
-#ifndef __UCONFIG_H__
-#define __UCONFIG_H__
-
-
-/*!
- * \file
- * \brief Switches for excluding parts of ICU library code modules.
- *
- * Allows to build partial, smaller libraries for special purposes.
- * By default, all modules are built.
- * The switches are fairly coarse, controlling large modules.
- * Basic services cannot be turned off.
- *
- * Building with any of these options does not guarantee that the
- * ICU build process will completely work. It is recommended that
- * the ICU libraries and data be built using the normal build.
- * At that time you should remove the data used by those services.
- * After building the ICU data library, you should rebuild the ICU
- * libraries with these switches customized to your needs.
- *
- * @stable ICU 2.4
- */
-
-/**
- * If this switch is defined, ICU will attempt to load a header file named "uconfig_local.h"
- * prior to determining default settings for uconfig variables.
- *
- * @internal ICU 4.0
- *
- */
-#if defined(UCONFIG_USE_LOCAL)
-#include "uconfig_local.h"
-#endif
-
-/**
- * \def UCONFIG_ONLY_COLLATION
- * This switch turns off modules that are not needed for collation.
- *
- * It does not turn off legacy conversion because that is necessary
- * for ICU to work on EBCDIC platforms (for the default converter).
- * If you want "only collation" and do not build for EBCDIC,
- * then you can define UCONFIG_NO_LEGACY_CONVERSION 1 as well.
- *
- * @stable ICU 2.4
- */
-#ifndef UCONFIG_ONLY_COLLATION
-# define UCONFIG_ONLY_COLLATION 0
-#endif
-
-#if UCONFIG_ONLY_COLLATION
- /* common library */
-# define UCONFIG_NO_BREAK_ITERATION 1
-# define UCONFIG_NO_IDNA 1
-
- /* i18n library */
-# if UCONFIG_NO_COLLATION
-# error Contradictory collation switches in uconfig.h.
-# endif
-# define UCONFIG_NO_FORMATTING 1
-# define UCONFIG_NO_TRANSLITERATION 1
-# define UCONFIG_NO_REGULAR_EXPRESSIONS 1
-#endif
-
-/* common library switches -------------------------------------------------- */
-
-/**
- * \def UCONFIG_NO_FILE_IO
- * This switch turns off all file access in the common library
- * where file access is only used for data loading.
- * ICU data must then be provided in the form of a data DLL (or with an
- * equivalent way to link to the data residing in an executable,
- * as in building a combined library with both the common library's code and
- * the data), or via udata_setCommonData().
- * Application data must be provided via udata_setAppData() or by using
- * "open" functions that take pointers to data, for example ucol_openBinary().
- *
- * File access is not used at all in the i18n library.
- *
- * File access cannot be turned off for the icuio library or for the ICU
- * test suites and ICU tools.
- *
- * @stable ICU 3.6
- */
-#ifndef UCONFIG_NO_FILE_IO
-# define UCONFIG_NO_FILE_IO 0
-#endif
-
-/**
- * \def UCONFIG_NO_CONVERSION
- * ICU will not completely build with this switch turned on.
- * This switch turns off all converters.
- *
- * You may want to use this together with U_CHARSET_IS_UTF8 defined to 1
- * in utypes.h if char* strings in your environment are always in UTF-8.
- *
- * @stable ICU 3.2
- * @see U_CHARSET_IS_UTF8
- */
-#ifndef UCONFIG_NO_CONVERSION
-# define UCONFIG_NO_CONVERSION 0
-#endif
-
-#if UCONFIG_NO_CONVERSION
-# define UCONFIG_NO_LEGACY_CONVERSION 1
-#endif
-
-/**
- * \def UCONFIG_NO_LEGACY_CONVERSION
- * This switch turns off all converters except for
- * - Unicode charsets (UTF-7/8/16/32, CESU-8, SCSU, BOCU-1)
- * - US-ASCII
- * - ISO-8859-1
- *
- * Turning off legacy conversion is not possible on EBCDIC platforms
- * because they need ibm-37 or ibm-1047 default converters.
- *
- * @stable ICU 2.4
- */
-#ifndef UCONFIG_NO_LEGACY_CONVERSION
-# define UCONFIG_NO_LEGACY_CONVERSION 0
-#endif
-
-/**
- * \def UCONFIG_NO_NORMALIZATION
- * This switch turns off normalization.
- * It implies turning off several other services as well, for example
- * collation and IDNA.
- *
- * @stable ICU 2.6
- */
-#ifndef UCONFIG_NO_NORMALIZATION
-# define UCONFIG_NO_NORMALIZATION 0
-#elif UCONFIG_NO_NORMALIZATION
- /* common library */
-# define UCONFIG_NO_IDNA 1
-
- /* i18n library */
-# if UCONFIG_ONLY_COLLATION
-# error Contradictory collation switches in uconfig.h.
-# endif
-# define UCONFIG_NO_COLLATION 1
-# define UCONFIG_NO_TRANSLITERATION 1
-#endif
-
-/**
- * \def UCONFIG_NO_BREAK_ITERATION
- * This switch turns off break iteration.
- *
- * @stable ICU 2.4
- */
-#ifndef UCONFIG_NO_BREAK_ITERATION
-# define UCONFIG_NO_BREAK_ITERATION 0
-#endif
-
-/**
- * \def UCONFIG_NO_IDNA
- * This switch turns off IDNA.
- *
- * @stable ICU 2.6
- */
-#ifndef UCONFIG_NO_IDNA
-# define UCONFIG_NO_IDNA 0
-#endif
-
-/* i18n library switches ---------------------------------------------------- */
-
-/**
- * \def UCONFIG_NO_COLLATION
- * This switch turns off collation and collation-based string search.
- *
- * @stable ICU 2.4
- */
-#ifndef UCONFIG_NO_COLLATION
-# define UCONFIG_NO_COLLATION 0
-#endif
-
-/**
- * \def UCONFIG_NO_FORMATTING
- * This switch turns off formatting and calendar/timezone services.
- *
- * @stable ICU 2.4
- */
-#ifndef UCONFIG_NO_FORMATTING
-# define UCONFIG_NO_FORMATTING 0
-#endif
-
-/**
- * \def UCONFIG_NO_TRANSLITERATION
- * This switch turns off transliteration.
- *
- * @stable ICU 2.4
- */
-#ifndef UCONFIG_NO_TRANSLITERATION
-# define UCONFIG_NO_TRANSLITERATION 0
-#endif
-
-/**
- * \def UCONFIG_NO_REGULAR_EXPRESSIONS
- * This switch turns off regular expressions.
- *
- * @stable ICU 2.4
- */
-#ifndef UCONFIG_NO_REGULAR_EXPRESSIONS
-# define UCONFIG_NO_REGULAR_EXPRESSIONS 0
-#endif
-
-/**
- * \def UCONFIG_NO_SERVICE
- * This switch turns off service registration.
- *
- * @stable ICU 3.2
- */
-#ifndef UCONFIG_NO_SERVICE
-# define UCONFIG_NO_SERVICE 1
-#endif
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/uidna.h b/Source/WebKit/mac/icu/unicode/uidna.h
deleted file mode 100644
index 04b439d97..000000000
--- a/Source/WebKit/mac/icu/unicode/uidna.h
+++ /dev/null
@@ -1,733 +0,0 @@
-/*
- *******************************************************************************
- *
- * Copyright (C) 2003-2010, International Business Machines
- * Corporation and others. All Rights Reserved.
- *
- *******************************************************************************
- * file name: uidna.h
- * encoding: US-ASCII
- * tab size: 8 (not used)
- * indentation:4
- *
- * created on: 2003feb1
- * created by: Ram Viswanadha
- */
-
-#ifndef __UIDNA_H__
-#define __UIDNA_H__
-
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_IDNA
-
-#include "unicode/localpointer.h"
-#include "unicode/parseerr.h"
-
-/**
- * \file
- * \brief C API: Internationalizing Domain Names in Applications (IDNA)
- *
- * IDNA2008 is implemented according to UTS #46, see the IDNA C++ class in idna.h.
- *
- * The C API functions which do take a UIDNA * service object pointer
- * implement UTS #46 and IDNA2008.
- * The C API functions which do not take a service object pointer
- * implement IDNA2003.
- */
-
-/*
- * IDNA option bit set values.
- */
-enum {
- /**
- * Default options value: None of the other options are set.
- * @stable ICU 2.6
- */
- UIDNA_DEFAULT=0,
- /**
- * Option to allow unassigned code points in domain names and labels.
- * This option is ignored by the UTS46 implementation.
- * (UTS #46 disallows unassigned code points.)
- * @stable ICU 2.6
- */
- UIDNA_ALLOW_UNASSIGNED=1,
- /**
- * Option to check whether the input conforms to the STD3 ASCII rules,
- * for example the restriction of labels to LDH characters
- * (ASCII Letters, Digits and Hyphen-Minus).
- * @stable ICU 2.6
- */
- UIDNA_USE_STD3_RULES=2,
- /**
- * IDNA option to check for whether the input conforms to the BiDi rules.
- * This option is ignored by the IDNA2003 implementation.
- * (IDNA2003 always performs a BiDi check.)
- * @draft ICU 4.6
- */
- UIDNA_CHECK_BIDI=4,
- /**
- * IDNA option to check for whether the input conforms to the CONTEXTJ rules.
- * This option is ignored by the IDNA2003 implementation.
- * (The CONTEXTJ check is new in IDNA2008.)
- * @draft ICU 4.6
- */
- UIDNA_CHECK_CONTEXTJ=8,
- /**
- * IDNA option for nontransitional processing in ToASCII().
- * By default, ToASCII() uses transitional processing.
- * This option is ignored by the IDNA2003 implementation.
- * (This is only relevant for compatibility of newer IDNA implementations with IDNA2003.)
- * @draft ICU 4.6
- */
- UIDNA_NONTRANSITIONAL_TO_ASCII=0x10,
- /**
- * IDNA option for nontransitional processing in ToUnicode().
- * By default, ToUnicode() uses transitional processing.
- * This option is ignored by the IDNA2003 implementation.
- * (This is only relevant for compatibility of newer IDNA implementations with IDNA2003.)
- * @draft ICU 4.6
- */
- UIDNA_NONTRANSITIONAL_TO_UNICODE=0x20
-};
-
-/**
- * Opaque C service object type for the new IDNA API.
- * @draft ICU 4.6
- */
-struct UIDNA;
-typedef struct UIDNA UIDNA; /**< C typedef for struct UIDNA. @draft ICU 4.6 */
-
-/**
- * Returns a UIDNA instance which implements UTS #46.
- * Returns an unmodifiable instance, owned by the caller.
- * Cache it for multiple operations, and uidna_close() it when done.
- * The instance is thread-safe, that is, it can be used concurrently.
- *
- * For details about the UTS #46 implementation see the IDNA C++ class in idna.h.
- *
- * @param options Bit set to modify the processing and error checking.
- * See option bit set values in uidna.h.
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return the UTS #46 UIDNA instance, if successful
- * @draft ICU 4.6
- */
-U_DRAFT UIDNA * U_EXPORT2
-uidna_openUTS46(uint32_t options, UErrorCode *pErrorCode);
-
-/**
- * Closes a UIDNA instance.
- * @param idna UIDNA instance to be closed
- * @draft ICU 4.6
- */
-U_DRAFT void U_EXPORT2
-uidna_close(UIDNA *idna);
-
-#if U_SHOW_CPLUSPLUS_API
-
-U_NAMESPACE_BEGIN
-
-/**
- * \class LocalUIDNAPointer
- * "Smart pointer" class, closes a UIDNA via uidna_close().
- * For most methods see the LocalPointerBase base class.
- *
- * @see LocalPointerBase
- * @see LocalPointer
- * @draft ICU 4.6
- */
-U_DEFINE_LOCAL_OPEN_POINTER(LocalUIDNAPointer, UIDNA, uidna_close);
-
-U_NAMESPACE_END
-
-#endif
-
-/**
- * Output container for IDNA processing errors.
- * Initialize with UIDNA_INFO_INITIALIZER:
- * \code
- * UIDNAInfo info = UIDNA_INFO_INITIALIZER;
- * int32_t length = uidna_nameToASCII(..., &info, &errorCode);
- * if(U_SUCCESS(errorCode) && info.errors!=0) { ... }
- * \endcode
- * @draft ICU 4.6
- */
-struct UIDNAInfo {
- /** sizeof(UIDNAInfo) @draft ICU 4.6 */
- int16_t size;
- /**
- * Set to TRUE if transitional and nontransitional processing produce different results.
- * For details see C++ IDNAInfo::isTransitionalDifferent().
- * @draft ICU 4.6
- */
- UBool isTransitionalDifferent;
- UBool reservedB3; /**< Reserved field, do not use. @internal */
- /**
- * Bit set indicating IDNA processing errors. 0 if no errors.
- * See UIDNA_ERROR_... constants.
- * @draft ICU 4.6
- */
- uint32_t errors;
- int32_t reservedI2; /**< Reserved field, do not use. @internal */
- int32_t reservedI3; /**< Reserved field, do not use. @internal */
-};
-typedef struct UIDNAInfo UIDNAInfo;
-
-/**
- * Static initializer for a UIDNAInfo struct.
- * @draft ICU 4.6
- */
-#define UIDNA_INFO_INITIALIZER { \
- (int16_t)sizeof(UIDNAInfo), \
- FALSE, FALSE, \
- 0, 0, 0 }
-
-/**
- * Converts a single domain name label into its ASCII form for DNS lookup.
- * If any processing step fails, then pInfo->errors will be non-zero and
- * the result might not be an ASCII string.
- * The label might be modified according to the types of errors.
- * Labels with severe errors will be left in (or turned into) their Unicode form.
- *
- * The UErrorCode indicates an error only in exceptional cases,
- * such as a U_MEMORY_ALLOCATION_ERROR.
- *
- * @param idna UIDNA instance
- * @param label Input domain name label
- * @param length Label length, or -1 if NUL-terminated
- * @param dest Destination string buffer
- * @param capacity Destination buffer capacity
- * @param pInfo Output container of IDNA processing details.
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return destination string length
- * @draft ICU 4.6
- */
-U_DRAFT int32_t U_EXPORT2
-uidna_labelToASCII(const UIDNA *idna,
- const UChar *label, int32_t length,
- UChar *dest, int32_t capacity,
- UIDNAInfo *pInfo, UErrorCode *pErrorCode);
-
-/**
- * Converts a single domain name label into its Unicode form for human-readable display.
- * If any processing step fails, then pInfo->errors will be non-zero.
- * The label might be modified according to the types of errors.
- *
- * The UErrorCode indicates an error only in exceptional cases,
- * such as a U_MEMORY_ALLOCATION_ERROR.
- *
- * @param idna UIDNA instance
- * @param label Input domain name label
- * @param length Label length, or -1 if NUL-terminated
- * @param dest Destination string buffer
- * @param capacity Destination buffer capacity
- * @param pInfo Output container of IDNA processing details.
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return destination string length
- * @draft ICU 4.6
- */
-U_DRAFT int32_t U_EXPORT2
-uidna_labelToUnicode(const UIDNA *idna,
- const UChar *label, int32_t length,
- UChar *dest, int32_t capacity,
- UIDNAInfo *pInfo, UErrorCode *pErrorCode);
-
-/**
- * Converts a whole domain name into its ASCII form for DNS lookup.
- * If any processing step fails, then pInfo->errors will be non-zero and
- * the result might not be an ASCII string.
- * The domain name might be modified according to the types of errors.
- * Labels with severe errors will be left in (or turned into) their Unicode form.
- *
- * The UErrorCode indicates an error only in exceptional cases,
- * such as a U_MEMORY_ALLOCATION_ERROR.
- *
- * @param idna UIDNA instance
- * @param name Input domain name
- * @param length Domain name length, or -1 if NUL-terminated
- * @param dest Destination string buffer
- * @param capacity Destination buffer capacity
- * @param pInfo Output container of IDNA processing details.
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return destination string length
- * @draft ICU 4.6
- */
-U_DRAFT int32_t U_EXPORT2
-uidna_nameToASCII(const UIDNA *idna,
- const UChar *name, int32_t length,
- UChar *dest, int32_t capacity,
- UIDNAInfo *pInfo, UErrorCode *pErrorCode);
-
-/**
- * Converts a whole domain name into its Unicode form for human-readable display.
- * If any processing step fails, then pInfo->errors will be non-zero.
- * The domain name might be modified according to the types of errors.
- *
- * The UErrorCode indicates an error only in exceptional cases,
- * such as a U_MEMORY_ALLOCATION_ERROR.
- *
- * @param idna UIDNA instance
- * @param name Input domain name
- * @param length Domain name length, or -1 if NUL-terminated
- * @param dest Destination string buffer
- * @param capacity Destination buffer capacity
- * @param pInfo Output container of IDNA processing details.
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return destination string length
- * @draft ICU 4.6
- */
-U_DRAFT int32_t U_EXPORT2
-uidna_nameToUnicode(const UIDNA *idna,
- const UChar *name, int32_t length,
- UChar *dest, int32_t capacity,
- UIDNAInfo *pInfo, UErrorCode *pErrorCode);
-
-/* UTF-8 versions of the processing methods --------------------------------- */
-
-/**
- * Converts a single domain name label into its ASCII form for DNS lookup.
- * UTF-8 version of uidna_labelToASCII(), same behavior.
- *
- * @param idna UIDNA instance
- * @param label Input domain name label
- * @param length Label length, or -1 if NUL-terminated
- * @param dest Destination string buffer
- * @param capacity Destination buffer capacity
- * @param pInfo Output container of IDNA processing details.
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return destination string length
- * @draft ICU 4.6
- */
-U_DRAFT int32_t U_EXPORT2
-uidna_labelToASCII_UTF8(const UIDNA *idna,
- const char *label, int32_t length,
- char *dest, int32_t capacity,
- UIDNAInfo *pInfo, UErrorCode *pErrorCode);
-
-/**
- * Converts a single domain name label into its Unicode form for human-readable display.
- * UTF-8 version of uidna_labelToUnicode(), same behavior.
- *
- * @param idna UIDNA instance
- * @param label Input domain name label
- * @param length Label length, or -1 if NUL-terminated
- * @param dest Destination string buffer
- * @param capacity Destination buffer capacity
- * @param pInfo Output container of IDNA processing details.
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return destination string length
- * @draft ICU 4.6
- */
-U_DRAFT int32_t U_EXPORT2
-uidna_labelToUnicodeUTF8(const UIDNA *idna,
- const char *label, int32_t length,
- char *dest, int32_t capacity,
- UIDNAInfo *pInfo, UErrorCode *pErrorCode);
-
-/**
- * Converts a whole domain name into its ASCII form for DNS lookup.
- * UTF-8 version of uidna_nameToASCII(), same behavior.
- *
- * @param idna UIDNA instance
- * @param name Input domain name
- * @param length Domain name length, or -1 if NUL-terminated
- * @param dest Destination string buffer
- * @param capacity Destination buffer capacity
- * @param pInfo Output container of IDNA processing details.
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return destination string length
- * @draft ICU 4.6
- */
-U_DRAFT int32_t U_EXPORT2
-uidna_nameToASCII_UTF8(const UIDNA *idna,
- const char *name, int32_t length,
- char *dest, int32_t capacity,
- UIDNAInfo *pInfo, UErrorCode *pErrorCode);
-
-/**
- * Converts a whole domain name into its Unicode form for human-readable display.
- * UTF-8 version of uidna_nameToUnicode(), same behavior.
- *
- * @param idna UIDNA instance
- * @param name Input domain name
- * @param length Domain name length, or -1 if NUL-terminated
- * @param dest Destination string buffer
- * @param capacity Destination buffer capacity
- * @param pInfo Output container of IDNA processing details.
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return destination string length
- * @draft ICU 4.6
- */
-U_DRAFT int32_t U_EXPORT2
-uidna_nameToUnicodeUTF8(const UIDNA *idna,
- const char *name, int32_t length,
- char *dest, int32_t capacity,
- UIDNAInfo *pInfo, UErrorCode *pErrorCode);
-
-/*
- * IDNA error bit set values.
- * When a domain name or label fails a processing step or does not meet the
- * validity criteria, then one or more of these error bits are set.
- */
-enum {
- /**
- * A non-final domain name label (or the whole domain name) is empty.
- * @draft ICU 4.6
- */
- UIDNA_ERROR_EMPTY_LABEL=1,
- /**
- * A domain name label is longer than 63 bytes.
- * (See STD13/RFC1034 3.1. Name space specifications and terminology.)
- * This is only checked in ToASCII operations, and only if the output label is all-ASCII.
- * @draft ICU 4.6
- */
- UIDNA_ERROR_LABEL_TOO_LONG=2,
- /**
- * A domain name is longer than 255 bytes in its storage form.
- * (See STD13/RFC1034 3.1. Name space specifications and terminology.)
- * This is only checked in ToASCII operations, and only if the output domain name is all-ASCII.
- * @draft ICU 4.6
- */
- UIDNA_ERROR_DOMAIN_NAME_TOO_LONG=4,
- /**
- * A label starts with a hyphen-minus ('-').
- * @draft ICU 4.6
- */
- UIDNA_ERROR_LEADING_HYPHEN=8,
- /**
- * A label ends with a hyphen-minus ('-').
- * @draft ICU 4.6
- */
- UIDNA_ERROR_TRAILING_HYPHEN=0x10,
- /**
- * A label contains hyphen-minus ('-') in the third and fourth positions.
- * @draft ICU 4.6
- */
- UIDNA_ERROR_HYPHEN_3_4=0x20,
- /**
- * A label starts with a combining mark.
- * @draft ICU 4.6
- */
- UIDNA_ERROR_LEADING_COMBINING_MARK=0x40,
- /**
- * A label or domain name contains disallowed characters.
- * @draft ICU 4.6
- */
- UIDNA_ERROR_DISALLOWED=0x80,
- /**
- * A label starts with "xn--" but does not contain valid Punycode.
- * That is, an xn-- label failed Punycode decoding.
- * @draft ICU 4.6
- */
- UIDNA_ERROR_PUNYCODE=0x100,
- /**
- * A label contains a dot=full stop.
- * This can occur in an input string for a single-label function.
- * @draft ICU 4.6
- */
- UIDNA_ERROR_LABEL_HAS_DOT=0x200,
- /**
- * An ACE label does not contain a valid label string.
- * The label was successfully ACE (Punycode) decoded but the resulting
- * string had severe validation errors. For example,
- * it might contain characters that are not allowed in ACE labels,
- * or it might not be normalized.
- * @draft ICU 4.6
- */
- UIDNA_ERROR_INVALID_ACE_LABEL=0x400,
- /**
- * A label does not meet the IDNA BiDi requirements (for right-to-left characters).
- * @draft ICU 4.6
- */
- UIDNA_ERROR_BIDI=0x800,
- /**
- * A label does not meet the IDNA CONTEXTJ requirements.
- * @draft ICU 4.6
- */
- UIDNA_ERROR_CONTEXTJ=0x1000
-};
-
-/* IDNA2003 API ------------------------------------------------------------- */
-
-/**
- * IDNA2003: This function implements the ToASCII operation as defined in the IDNA RFC.
- * This operation is done on <b>single labels</b> before sending it to something that expects
- * ASCII names. A label is an individual part of a domain name. Labels are usually
- * separated by dots; e.g. "www.example.com" is composed of 3 labels "www","example", and "com".
- *
- * IDNA2003 API Overview:
- *
- * The uidna_ API implements the IDNA protocol as defined in the IDNA RFC
- * (http://www.ietf.org/rfc/rfc3490.txt).
- * The RFC defines 2 operations: ToASCII and ToUnicode. Domain name labels
- * containing non-ASCII code points are processed by the
- * ToASCII operation before passing it to resolver libraries. Domain names
- * that are obtained from resolver libraries are processed by the
- * ToUnicode operation before displaying the domain name to the user.
- * IDNA requires that implementations process input strings with Nameprep
- * (http://www.ietf.org/rfc/rfc3491.txt),
- * which is a profile of Stringprep (http://www.ietf.org/rfc/rfc3454.txt),
- * and then with Punycode (http://www.ietf.org/rfc/rfc3492.txt).
- * Implementations of IDNA MUST fully implement Nameprep and Punycode;
- * neither Nameprep nor Punycode are optional.
- * The input and output of ToASCII and ToUnicode operations are Unicode
- * and are designed to be chainable, i.e., applying ToASCII or ToUnicode operations
- * multiple times to an input string will yield the same result as applying the operation
- * once.
- * ToUnicode(ToUnicode(ToUnicode...(ToUnicode(string)))) == ToUnicode(string)
- * ToASCII(ToASCII(ToASCII...(ToASCII(string))) == ToASCII(string).
- *
- * @param src Input UChar array containing label in Unicode.
- * @param srcLength Number of UChars in src, or -1 if NUL-terminated.
- * @param dest Output UChar array with ASCII (ACE encoded) label.
- * @param destCapacity Size of dest.
- * @param options A bit set of options:
- *
- * - UIDNA_DEFAULT Use default options, i.e., do not process unassigned code points
- * and do not use STD3 ASCII rules
- * If unassigned code points are found the operation fails with
- * U_UNASSIGNED_ERROR error code.
- *
- * - UIDNA_ALLOW_UNASSIGNED Unassigned values can be converted to ASCII for query operations
- * If this option is set, the unassigned code points are in the input
- * are treated as normal Unicode code points.
- *
- * - UIDNA_USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions
- * If this option is set and the input does not satisfy STD3 rules,
- * the operation will fail with U_IDNA_STD3_ASCII_RULES_ERROR
- *
- * @param parseError Pointer to UParseError struct to receive information on position
- * of error if an error is encountered. Can be NULL.
- * @param status ICU in/out error code parameter.
- * U_INVALID_CHAR_FOUND if src contains
- * unmatched single surrogates.
- * U_INDEX_OUTOFBOUNDS_ERROR if src contains
- * too many code points.
- * U_BUFFER_OVERFLOW_ERROR if destCapacity is not enough
- * @return The length of the result string, if successful - or in case of a buffer overflow,
- * in which case it will be greater than destCapacity.
- * @stable ICU 2.6
- */
-U_STABLE int32_t U_EXPORT2
-uidna_toASCII(const UChar* src, int32_t srcLength,
- UChar* dest, int32_t destCapacity,
- int32_t options,
- UParseError* parseError,
- UErrorCode* status);
-
-
-/**
- * IDNA2003: This function implements the ToUnicode operation as defined in the IDNA RFC.
- * This operation is done on <b>single labels</b> before sending it to something that expects
- * Unicode names. A label is an individual part of a domain name. Labels are usually
- * separated by dots; for e.g. "www.example.com" is composed of 3 labels "www","example", and "com".
- *
- * @param src Input UChar array containing ASCII (ACE encoded) label.
- * @param srcLength Number of UChars in src, or -1 if NUL-terminated.
- * @param dest Output Converted UChar array containing Unicode equivalent of label.
- * @param destCapacity Size of dest.
- * @param options A bit set of options:
- *
- * - UIDNA_DEFAULT Use default options, i.e., do not process unassigned code points
- * and do not use STD3 ASCII rules
- * If unassigned code points are found the operation fails with
- * U_UNASSIGNED_ERROR error code.
- *
- * - UIDNA_ALLOW_UNASSIGNED Unassigned values can be converted to ASCII for query operations
- * If this option is set, the unassigned code points are in the input
- * are treated as normal Unicode code points. <b> Note: </b> This option is
- * required on toUnicode operation because the RFC mandates
- * verification of decoded ACE input by applying toASCII and comparing
- * its output with source
- *
- * - UIDNA_USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions
- * If this option is set and the input does not satisfy STD3 rules,
- * the operation will fail with U_IDNA_STD3_ASCII_RULES_ERROR
- *
- * @param parseError Pointer to UParseError struct to receive information on position
- * of error if an error is encountered. Can be NULL.
- * @param status ICU in/out error code parameter.
- * U_INVALID_CHAR_FOUND if src contains
- * unmatched single surrogates.
- * U_INDEX_OUTOFBOUNDS_ERROR if src contains
- * too many code points.
- * U_BUFFER_OVERFLOW_ERROR if destCapacity is not enough
- * @return The length of the result string, if successful - or in case of a buffer overflow,
- * in which case it will be greater than destCapacity.
- * @stable ICU 2.6
- */
-U_STABLE int32_t U_EXPORT2
-uidna_toUnicode(const UChar* src, int32_t srcLength,
- UChar* dest, int32_t destCapacity,
- int32_t options,
- UParseError* parseError,
- UErrorCode* status);
-
-
-/**
- * IDNA2003: Convenience function that implements the IDNToASCII operation as defined in the IDNA RFC.
- * This operation is done on complete domain names, e.g: "www.example.com".
- * It is important to note that this operation can fail. If it fails, then the input
- * domain name cannot be used as an Internationalized Domain Name and the application
- * should have methods defined to deal with the failure.
- *
- * <b>Note:</b> IDNA RFC specifies that a conformant application should divide a domain name
- * into separate labels, decide whether to apply allowUnassigned and useSTD3ASCIIRules on each,
- * and then convert. This function does not offer that level of granularity. The options once
- * set will apply to all labels in the domain name
- *
- * @param src Input UChar array containing IDN in Unicode.
- * @param srcLength Number of UChars in src, or -1 if NUL-terminated.
- * @param dest Output UChar array with ASCII (ACE encoded) IDN.
- * @param destCapacity Size of dest.
- * @param options A bit set of options:
- *
- * - UIDNA_DEFAULT Use default options, i.e., do not process unassigned code points
- * and do not use STD3 ASCII rules
- * If unassigned code points are found the operation fails with
- * U_UNASSIGNED_CODE_POINT_FOUND error code.
- *
- * - UIDNA_ALLOW_UNASSIGNED Unassigned values can be converted to ASCII for query operations
- * If this option is set, the unassigned code points are in the input
- * are treated as normal Unicode code points.
- *
- * - UIDNA_USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions
- * If this option is set and the input does not satisfy STD3 rules,
- * the operation will fail with U_IDNA_STD3_ASCII_RULES_ERROR
- *
- * @param parseError Pointer to UParseError struct to receive information on position
- * of error if an error is encountered. Can be NULL.
- * @param status ICU in/out error code parameter.
- * U_INVALID_CHAR_FOUND if src contains
- * unmatched single surrogates.
- * U_INDEX_OUTOFBOUNDS_ERROR if src contains
- * too many code points.
- * U_BUFFER_OVERFLOW_ERROR if destCapacity is not enough
- * @return The length of the result string, if successful - or in case of a buffer overflow,
- * in which case it will be greater than destCapacity.
- * @stable ICU 2.6
- */
-U_STABLE int32_t U_EXPORT2
-uidna_IDNToASCII( const UChar* src, int32_t srcLength,
- UChar* dest, int32_t destCapacity,
- int32_t options,
- UParseError* parseError,
- UErrorCode* status);
-
-/**
- * IDNA2003: Convenience function that implements the IDNToUnicode operation as defined in the IDNA RFC.
- * This operation is done on complete domain names, e.g: "www.example.com".
- *
- * <b>Note:</b> IDNA RFC specifies that a conformant application should divide a domain name
- * into separate labels, decide whether to apply allowUnassigned and useSTD3ASCIIRules on each,
- * and then convert. This function does not offer that level of granularity. The options once
- * set will apply to all labels in the domain name
- *
- * @param src Input UChar array containing IDN in ASCII (ACE encoded) form.
- * @param srcLength Number of UChars in src, or -1 if NUL-terminated.
- * @param dest Output UChar array containing Unicode equivalent of source IDN.
- * @param destCapacity Size of dest.
- * @param options A bit set of options:
- *
- * - UIDNA_DEFAULT Use default options, i.e., do not process unassigned code points
- * and do not use STD3 ASCII rules
- * If unassigned code points are found the operation fails with
- * U_UNASSIGNED_CODE_POINT_FOUND error code.
- *
- * - UIDNA_ALLOW_UNASSIGNED Unassigned values can be converted to ASCII for query operations
- * If this option is set, the unassigned code points are in the input
- * are treated as normal Unicode code points.
- *
- * - UIDNA_USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions
- * If this option is set and the input does not satisfy STD3 rules,
- * the operation will fail with U_IDNA_STD3_ASCII_RULES_ERROR
- *
- * @param parseError Pointer to UParseError struct to receive information on position
- * of error if an error is encountered. Can be NULL.
- * @param status ICU in/out error code parameter.
- * U_INVALID_CHAR_FOUND if src contains
- * unmatched single surrogates.
- * U_INDEX_OUTOFBOUNDS_ERROR if src contains
- * too many code points.
- * U_BUFFER_OVERFLOW_ERROR if destCapacity is not enough
- * @return The length of the result string, if successful - or in case of a buffer overflow,
- * in which case it will be greater than destCapacity.
- * @stable ICU 2.6
- */
-U_STABLE int32_t U_EXPORT2
-uidna_IDNToUnicode( const UChar* src, int32_t srcLength,
- UChar* dest, int32_t destCapacity,
- int32_t options,
- UParseError* parseError,
- UErrorCode* status);
-
-/**
- * IDNA2003: Compare two IDN strings for equivalence.
- * This function splits the domain names into labels and compares them.
- * According to IDN RFC, whenever two labels are compared, they are
- * considered equal if and only if their ASCII forms (obtained by
- * applying toASCII) match using an case-insensitive ASCII comparison.
- * Two domain names are considered a match if and only if all labels
- * match regardless of whether label separators match.
- *
- * @param s1 First source string.
- * @param length1 Length of first source string, or -1 if NUL-terminated.
- *
- * @param s2 Second source string.
- * @param length2 Length of second source string, or -1 if NUL-terminated.
- * @param options A bit set of options:
- *
- * - UIDNA_DEFAULT Use default options, i.e., do not process unassigned code points
- * and do not use STD3 ASCII rules
- * If unassigned code points are found the operation fails with
- * U_UNASSIGNED_CODE_POINT_FOUND error code.
- *
- * - UIDNA_ALLOW_UNASSIGNED Unassigned values can be converted to ASCII for query operations
- * If this option is set, the unassigned code points are in the input
- * are treated as normal Unicode code points.
- *
- * - UIDNA_USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions
- * If this option is set and the input does not satisfy STD3 rules,
- * the operation will fail with U_IDNA_STD3_ASCII_RULES_ERROR
- *
- * @param status ICU error code in/out parameter.
- * Must fulfill U_SUCCESS before the function call.
- * @return <0 or 0 or >0 as usual for string comparisons
- * @stable ICU 2.6
- */
-U_STABLE int32_t U_EXPORT2
-uidna_compare( const UChar *s1, int32_t length1,
- const UChar *s2, int32_t length2,
- int32_t options,
- UErrorCode* status);
-
-#endif /* #if !UCONFIG_NO_IDNA */
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/uiter.h b/Source/WebKit/mac/icu/unicode/uiter.h
deleted file mode 100644
index b469e24e6..000000000
--- a/Source/WebKit/mac/icu/unicode/uiter.h
+++ /dev/null
@@ -1,707 +0,0 @@
-/*
-*******************************************************************************
-*
-* Copyright (C) 2002-2006,2009 International Business Machines
-* Corporation and others. All Rights Reserved.
-*
-*******************************************************************************
-* file name: uiter.h
-* encoding: US-ASCII
-* tab size: 8 (not used)
-* indentation:4
-*
-* created on: 2002jan18
-* created by: Markus W. Scherer
-*/
-
-#ifndef __UITER_H__
-#define __UITER_H__
-
-/**
- * \file
- * \brief C API: Unicode Character Iteration
- *
- * @see UCharIterator
- */
-
-#include "unicode/utypes.h"
-
-#if U_SHOW_CPLUSPLUS_API
- U_NAMESPACE_BEGIN
-
- class CharacterIterator;
- class Replaceable;
-
- U_NAMESPACE_END
-#endif
-
-U_CDECL_BEGIN
-
-struct UCharIterator;
-typedef struct UCharIterator UCharIterator; /**< C typedef for struct UCharIterator. @stable ICU 2.1 */
-
-/**
- * Origin constants for UCharIterator.getIndex() and UCharIterator.move().
- * @see UCharIteratorMove
- * @see UCharIterator
- * @stable ICU 2.1
- */
-typedef enum UCharIteratorOrigin {
- UITER_START, UITER_CURRENT, UITER_LIMIT, UITER_ZERO, UITER_LENGTH
-} UCharIteratorOrigin;
-
-/** Constants for UCharIterator. @stable ICU 2.6 */
-enum {
- /**
- * Constant value that may be returned by UCharIteratorMove
- * indicating that the final UTF-16 index is not known, but that the move succeeded.
- * This can occur when moving relative to limit or length, or
- * when moving relative to the current index after a setState()
- * when the current UTF-16 index is not known.
- *
- * It would be very inefficient to have to count from the beginning of the text
- * just to get the current/limit/length index after moving relative to it.
- * The actual index can be determined with getIndex(UITER_CURRENT)
- * which will count the UChars if necessary.
- *
- * @stable ICU 2.6
- */
- UITER_UNKNOWN_INDEX=-2
-};
-
-
-/**
- * Constant for UCharIterator getState() indicating an error or
- * an unknown state.
- * Returned by uiter_getState()/UCharIteratorGetState
- * when an error occurs.
- * Also, some UCharIterator implementations may not be able to return
- * a valid state for each position. This will be clearly documented
- * for each such iterator (none of the public ones here).
- *
- * @stable ICU 2.6
- */
-#define UITER_NO_STATE ((uint32_t)0xffffffff)
-
-/**
- * Function type declaration for UCharIterator.getIndex().
- *
- * Gets the current position, or the start or limit of the
- * iteration range.
- *
- * This function may perform slowly for UITER_CURRENT after setState() was called,
- * or for UITER_LENGTH, because an iterator implementation may have to count
- * UChars if the underlying storage is not UTF-16.
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @param origin get the 0, start, limit, length, or current index
- * @return the requested index, or U_SENTINEL in an error condition
- *
- * @see UCharIteratorOrigin
- * @see UCharIterator
- * @stable ICU 2.1
- */
-typedef int32_t U_CALLCONV
-UCharIteratorGetIndex(UCharIterator *iter, UCharIteratorOrigin origin);
-
-/**
- * Function type declaration for UCharIterator.move().
- *
- * Use iter->move(iter, index, UITER_ZERO) like CharacterIterator::setIndex(index).
- *
- * Moves the current position relative to the start or limit of the
- * iteration range, or relative to the current position itself.
- * The movement is expressed in numbers of code units forward
- * or backward by specifying a positive or negative delta.
- * Out of bounds movement will be pinned to the start or limit.
- *
- * This function may perform slowly for moving relative to UITER_LENGTH
- * because an iterator implementation may have to count the rest of the
- * UChars if the native storage is not UTF-16.
- *
- * When moving relative to the limit or length, or
- * relative to the current position after setState() was called,
- * move() may return UITER_UNKNOWN_INDEX (-2) to avoid an inefficient
- * determination of the actual UTF-16 index.
- * The actual index can be determined with getIndex(UITER_CURRENT)
- * which will count the UChars if necessary.
- * See UITER_UNKNOWN_INDEX for details.
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @param delta can be positive, zero, or negative
- * @param origin move relative to the 0, start, limit, length, or current index
- * @return the new index, or U_SENTINEL on an error condition,
- * or UITER_UNKNOWN_INDEX when the index is not known.
- *
- * @see UCharIteratorOrigin
- * @see UCharIterator
- * @see UITER_UNKNOWN_INDEX
- * @stable ICU 2.1
- */
-typedef int32_t U_CALLCONV
-UCharIteratorMove(UCharIterator *iter, int32_t delta, UCharIteratorOrigin origin);
-
-/**
- * Function type declaration for UCharIterator.hasNext().
- *
- * Check if current() and next() can still
- * return another code unit.
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @return boolean value for whether current() and next() can still return another code unit
- *
- * @see UCharIterator
- * @stable ICU 2.1
- */
-typedef UBool U_CALLCONV
-UCharIteratorHasNext(UCharIterator *iter);
-
-/**
- * Function type declaration for UCharIterator.hasPrevious().
- *
- * Check if previous() can still return another code unit.
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @return boolean value for whether previous() can still return another code unit
- *
- * @see UCharIterator
- * @stable ICU 2.1
- */
-typedef UBool U_CALLCONV
-UCharIteratorHasPrevious(UCharIterator *iter);
-
-/**
- * Function type declaration for UCharIterator.current().
- *
- * Return the code unit at the current position,
- * or U_SENTINEL if there is none (index is at the limit).
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @return the current code unit
- *
- * @see UCharIterator
- * @stable ICU 2.1
- */
-typedef UChar32 U_CALLCONV
-UCharIteratorCurrent(UCharIterator *iter);
-
-/**
- * Function type declaration for UCharIterator.next().
- *
- * Return the code unit at the current index and increment
- * the index (post-increment, like s[i++]),
- * or return U_SENTINEL if there is none (index is at the limit).
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @return the current code unit (and post-increment the current index)
- *
- * @see UCharIterator
- * @stable ICU 2.1
- */
-typedef UChar32 U_CALLCONV
-UCharIteratorNext(UCharIterator *iter);
-
-/**
- * Function type declaration for UCharIterator.previous().
- *
- * Decrement the index and return the code unit from there
- * (pre-decrement, like s[--i]),
- * or return U_SENTINEL if there is none (index is at the start).
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @return the previous code unit (after pre-decrementing the current index)
- *
- * @see UCharIterator
- * @stable ICU 2.1
- */
-typedef UChar32 U_CALLCONV
-UCharIteratorPrevious(UCharIterator *iter);
-
-/**
- * Function type declaration for UCharIterator.reservedFn().
- * Reserved for future use.
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @param something some integer argument
- * @return some integer
- *
- * @see UCharIterator
- * @stable ICU 2.1
- */
-typedef int32_t U_CALLCONV
-UCharIteratorReserved(UCharIterator *iter, int32_t something);
-
-/**
- * Function type declaration for UCharIterator.getState().
- *
- * Get the "state" of the iterator in the form of a single 32-bit word.
- * It is recommended that the state value be calculated to be as small as
- * is feasible. For strings with limited lengths, fewer than 32 bits may
- * be sufficient.
- *
- * This is used together with setState()/UCharIteratorSetState
- * to save and restore the iterator position more efficiently than with
- * getIndex()/move().
- *
- * The iterator state is defined as a uint32_t value because it is designed
- * for use in ucol_nextSortKeyPart() which provides 32 bits to store the state
- * of the character iterator.
- *
- * With some UCharIterator implementations (e.g., UTF-8),
- * getting and setting the UTF-16 index with existing functions
- * (getIndex(UITER_CURRENT) followed by move(pos, UITER_ZERO)) is possible but
- * relatively slow because the iterator has to "walk" from a known index
- * to the requested one.
- * This takes more time the farther it needs to go.
- *
- * An opaque state value allows an iterator implementation to provide
- * an internal index (UTF-8: the source byte array index) for
- * fast, constant-time restoration.
- *
- * After calling setState(), a getIndex(UITER_CURRENT) may be slow because
- * the UTF-16 index may not be restored as well, but the iterator can deliver
- * the correct text contents and move relative to the current position
- * without performance degradation.
- *
- * Some UCharIterator implementations may not be able to return
- * a valid state for each position, in which case they return UITER_NO_STATE instead.
- * This will be clearly documented for each such iterator (none of the public ones here).
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @return the state word
- *
- * @see UCharIterator
- * @see UCharIteratorSetState
- * @see UITER_NO_STATE
- * @stable ICU 2.6
- */
-typedef uint32_t U_CALLCONV
-UCharIteratorGetState(const UCharIterator *iter);
-
-/**
- * Function type declaration for UCharIterator.setState().
- *
- * Restore the "state" of the iterator using a state word from a getState() call.
- * The iterator object need not be the same one as for which getState() was called,
- * but it must be of the same type (set up using the same uiter_setXYZ function)
- * and it must iterate over the same string
- * (binary identical regardless of memory address).
- * For more about the state word see UCharIteratorGetState.
- *
- * After calling setState(), a getIndex(UITER_CURRENT) may be slow because
- * the UTF-16 index may not be restored as well, but the iterator can deliver
- * the correct text contents and move relative to the current position
- * without performance degradation.
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @param state the state word from a getState() call
- * on a same-type, same-string iterator
- * @param pErrorCode Must be a valid pointer to an error code value,
- * which must not indicate a failure before the function call.
- *
- * @see UCharIterator
- * @see UCharIteratorGetState
- * @stable ICU 2.6
- */
-typedef void U_CALLCONV
-UCharIteratorSetState(UCharIterator *iter, uint32_t state, UErrorCode *pErrorCode);
-
-
-/**
- * C API for code unit iteration.
- * This can be used as a C wrapper around
- * CharacterIterator, Replaceable, or implemented using simple strings, etc.
- *
- * There are two roles for using UCharIterator:
- *
- * A "provider" sets the necessary function pointers and controls the "protected"
- * fields of the UCharIterator structure. A "provider" passes a UCharIterator
- * into C APIs that need a UCharIterator as an abstract, flexible string interface.
- *
- * Implementations of such C APIs are "callers" of UCharIterator functions;
- * they only use the "public" function pointers and never access the "protected"
- * fields directly.
- *
- * The current() and next() functions only check the current index against the
- * limit, and previous() only checks the current index against the start,
- * to see if the iterator already reached the end of the iteration range.
- *
- * The assumption - in all iterators - is that the index is moved via the API,
- * which means it won't go out of bounds, or the index is modified by
- * user code that knows enough about the iterator implementation to set valid
- * index values.
- *
- * UCharIterator functions return code unit values 0..0xffff,
- * or U_SENTINEL if the iteration bounds are reached.
- *
- * @stable ICU 2.1
- */
-struct UCharIterator {
- /**
- * (protected) Pointer to string or wrapped object or similar.
- * Not used by caller.
- * @stable ICU 2.1
- */
- const void *context;
-
- /**
- * (protected) Length of string or similar.
- * Not used by caller.
- * @stable ICU 2.1
- */
- int32_t length;
-
- /**
- * (protected) Start index or similar.
- * Not used by caller.
- * @stable ICU 2.1
- */
- int32_t start;
-
- /**
- * (protected) Current index or similar.
- * Not used by caller.
- * @stable ICU 2.1
- */
- int32_t index;
-
- /**
- * (protected) Limit index or similar.
- * Not used by caller.
- * @stable ICU 2.1
- */
- int32_t limit;
-
- /**
- * (protected) Used by UTF-8 iterators and possibly others.
- * @stable ICU 2.1
- */
- int32_t reservedField;
-
- /**
- * (public) Returns the current position or the
- * start or limit index of the iteration range.
- *
- * @see UCharIteratorGetIndex
- * @stable ICU 2.1
- */
- UCharIteratorGetIndex *getIndex;
-
- /**
- * (public) Moves the current position relative to the start or limit of the
- * iteration range, or relative to the current position itself.
- * The movement is expressed in numbers of code units forward
- * or backward by specifying a positive or negative delta.
- *
- * @see UCharIteratorMove
- * @stable ICU 2.1
- */
- UCharIteratorMove *move;
-
- /**
- * (public) Check if current() and next() can still
- * return another code unit.
- *
- * @see UCharIteratorHasNext
- * @stable ICU 2.1
- */
- UCharIteratorHasNext *hasNext;
-
- /**
- * (public) Check if previous() can still return another code unit.
- *
- * @see UCharIteratorHasPrevious
- * @stable ICU 2.1
- */
- UCharIteratorHasPrevious *hasPrevious;
-
- /**
- * (public) Return the code unit at the current position,
- * or U_SENTINEL if there is none (index is at the limit).
- *
- * @see UCharIteratorCurrent
- * @stable ICU 2.1
- */
- UCharIteratorCurrent *current;
-
- /**
- * (public) Return the code unit at the current index and increment
- * the index (post-increment, like s[i++]),
- * or return U_SENTINEL if there is none (index is at the limit).
- *
- * @see UCharIteratorNext
- * @stable ICU 2.1
- */
- UCharIteratorNext *next;
-
- /**
- * (public) Decrement the index and return the code unit from there
- * (pre-decrement, like s[--i]),
- * or return U_SENTINEL if there is none (index is at the start).
- *
- * @see UCharIteratorPrevious
- * @stable ICU 2.1
- */
- UCharIteratorPrevious *previous;
-
- /**
- * (public) Reserved for future use. Currently NULL.
- *
- * @see UCharIteratorReserved
- * @stable ICU 2.1
- */
- UCharIteratorReserved *reservedFn;
-
- /**
- * (public) Return the state of the iterator, to be restored later with setState().
- * This function pointer is NULL if the iterator does not implement it.
- *
- * @see UCharIteratorGet
- * @stable ICU 2.6
- */
- UCharIteratorGetState *getState;
-
- /**
- * (public) Restore the iterator state from the state word from a call
- * to getState().
- * This function pointer is NULL if the iterator does not implement it.
- *
- * @see UCharIteratorSet
- * @stable ICU 2.6
- */
- UCharIteratorSetState *setState;
-};
-
-/**
- * Helper function for UCharIterator to get the code point
- * at the current index.
- *
- * Return the code point that includes the code unit at the current position,
- * or U_SENTINEL if there is none (index is at the limit).
- * If the current code unit is a lead or trail surrogate,
- * then the following or preceding surrogate is used to form
- * the code point value.
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @return the current code point
- *
- * @see UCharIterator
- * @see U16_GET
- * @see UnicodeString::char32At()
- * @stable ICU 2.1
- */
-U_STABLE UChar32 U_EXPORT2
-uiter_current32(UCharIterator *iter);
-
-/**
- * Helper function for UCharIterator to get the next code point.
- *
- * Return the code point at the current index and increment
- * the index (post-increment, like s[i++]),
- * or return U_SENTINEL if there is none (index is at the limit).
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @return the current code point (and post-increment the current index)
- *
- * @see UCharIterator
- * @see U16_NEXT
- * @stable ICU 2.1
- */
-U_STABLE UChar32 U_EXPORT2
-uiter_next32(UCharIterator *iter);
-
-/**
- * Helper function for UCharIterator to get the previous code point.
- *
- * Decrement the index and return the code point from there
- * (pre-decrement, like s[--i]),
- * or return U_SENTINEL if there is none (index is at the start).
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @return the previous code point (after pre-decrementing the current index)
- *
- * @see UCharIterator
- * @see U16_PREV
- * @stable ICU 2.1
- */
-U_STABLE UChar32 U_EXPORT2
-uiter_previous32(UCharIterator *iter);
-
-/**
- * Get the "state" of the iterator in the form of a single 32-bit word.
- * This is a convenience function that calls iter->getState(iter)
- * if iter->getState is not NULL;
- * if it is NULL or any other error occurs, then UITER_NO_STATE is returned.
- *
- * Some UCharIterator implementations may not be able to return
- * a valid state for each position, in which case they return UITER_NO_STATE instead.
- * This will be clearly documented for each such iterator (none of the public ones here).
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @return the state word
- *
- * @see UCharIterator
- * @see UCharIteratorGetState
- * @see UITER_NO_STATE
- * @stable ICU 2.6
- */
-U_STABLE uint32_t U_EXPORT2
-uiter_getState(const UCharIterator *iter);
-
-/**
- * Restore the "state" of the iterator using a state word from a getState() call.
- * This is a convenience function that calls iter->setState(iter, state, pErrorCode)
- * if iter->setState is not NULL; if it is NULL, then U_UNSUPPORTED_ERROR is set.
- *
- * @param iter the UCharIterator structure ("this pointer")
- * @param state the state word from a getState() call
- * on a same-type, same-string iterator
- * @param pErrorCode Must be a valid pointer to an error code value,
- * which must not indicate a failure before the function call.
- *
- * @see UCharIterator
- * @see UCharIteratorSetState
- * @stable ICU 2.6
- */
-U_STABLE void U_EXPORT2
-uiter_setState(UCharIterator *iter, uint32_t state, UErrorCode *pErrorCode);
-
-/**
- * Set up a UCharIterator to iterate over a string.
- *
- * Sets the UCharIterator function pointers for iteration over the string s
- * with iteration boundaries start=index=0 and length=limit=string length.
- * The "provider" may set the start, index, and limit values at any time
- * within the range 0..length.
- * The length field will be ignored.
- *
- * The string pointer s is set into UCharIterator.context without copying
- * or reallocating the string contents.
- *
- * getState() simply returns the current index.
- * move() will always return the final index.
- *
- * @param iter UCharIterator structure to be set for iteration
- * @param s String to iterate over
- * @param length Length of s, or -1 if NUL-terminated
- *
- * @see UCharIterator
- * @stable ICU 2.1
- */
-U_STABLE void U_EXPORT2
-uiter_setString(UCharIterator *iter, const UChar *s, int32_t length);
-
-/**
- * Set up a UCharIterator to iterate over a UTF-16BE string
- * (byte vector with a big-endian pair of bytes per UChar).
- *
- * Everything works just like with a normal UChar iterator (uiter_setString),
- * except that UChars are assembled from byte pairs,
- * and that the length argument here indicates an even number of bytes.
- *
- * getState() simply returns the current index.
- * move() will always return the final index.
- *
- * @param iter UCharIterator structure to be set for iteration
- * @param s UTF-16BE string to iterate over
- * @param length Length of s as an even number of bytes, or -1 if NUL-terminated
- * (NUL means pair of 0 bytes at even index from s)
- *
- * @see UCharIterator
- * @see uiter_setString
- * @stable ICU 2.6
- */
-U_STABLE void U_EXPORT2
-uiter_setUTF16BE(UCharIterator *iter, const char *s, int32_t length);
-
-/**
- * Set up a UCharIterator to iterate over a UTF-8 string.
- *
- * Sets the UCharIterator function pointers for iteration over the UTF-8 string s
- * with UTF-8 iteration boundaries 0 and length.
- * The implementation counts the UTF-16 index on the fly and
- * lazily evaluates the UTF-16 length of the text.
- *
- * The start field is used as the UTF-8 offset, the limit field as the UTF-8 length.
- * When the reservedField is not 0, then it contains a supplementary code point
- * and the UTF-16 index is between the two corresponding surrogates.
- * At that point, the UTF-8 index is behind that code point.
- *
- * The UTF-8 string pointer s is set into UCharIterator.context without copying
- * or reallocating the string contents.
- *
- * getState() returns a state value consisting of
- * - the current UTF-8 source byte index (bits 31..1)
- * - a flag (bit 0) that indicates whether the UChar position is in the middle
- * of a surrogate pair
- * (from a 4-byte UTF-8 sequence for the corresponding supplementary code point)
- *
- * getState() cannot also encode the UTF-16 index in the state value.
- * move(relative to limit or length), or
- * move(relative to current) after setState(), may return UITER_UNKNOWN_INDEX.
- *
- * @param iter UCharIterator structure to be set for iteration
- * @param s UTF-8 string to iterate over
- * @param length Length of s in bytes, or -1 if NUL-terminated
- *
- * @see UCharIterator
- * @stable ICU 2.6
- */
-U_STABLE void U_EXPORT2
-uiter_setUTF8(UCharIterator *iter, const char *s, int32_t length);
-
-#if U_SHOW_CPLUSPLUS_API
-
-/**
- * Set up a UCharIterator to wrap around a C++ CharacterIterator.
- *
- * Sets the UCharIterator function pointers for iteration using the
- * CharacterIterator charIter.
- *
- * The CharacterIterator pointer charIter is set into UCharIterator.context
- * without copying or cloning the CharacterIterator object.
- * The other "protected" UCharIterator fields are set to 0 and will be ignored.
- * The iteration index and boundaries are controlled by the CharacterIterator.
- *
- * getState() simply returns the current index.
- * move() will always return the final index.
- *
- * @param iter UCharIterator structure to be set for iteration
- * @param charIter CharacterIterator to wrap
- *
- * @see UCharIterator
- * @stable ICU 2.1
- */
-U_STABLE void U_EXPORT2
-uiter_setCharacterIterator(UCharIterator *iter, U_NAMESPACE_QUALIFIER CharacterIterator *charIter);
-
-/**
- * Set up a UCharIterator to iterate over a C++ Replaceable.
- *
- * Sets the UCharIterator function pointers for iteration over the
- * Replaceable rep with iteration boundaries start=index=0 and
- * length=limit=rep->length().
- * The "provider" may set the start, index, and limit values at any time
- * within the range 0..length=rep->length().
- * The length field will be ignored.
- *
- * The Replaceable pointer rep is set into UCharIterator.context without copying
- * or cloning/reallocating the Replaceable object.
- *
- * getState() simply returns the current index.
- * move() will always return the final index.
- *
- * @param iter UCharIterator structure to be set for iteration
- * @param rep Replaceable to iterate over
- *
- * @see UCharIterator
- * @stable ICU 2.1
- */
-U_STABLE void U_EXPORT2
-uiter_setReplaceable(UCharIterator *iter, const U_NAMESPACE_QUALIFIER Replaceable *rep);
-
-#endif
-
-U_CDECL_END
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/umachine.h b/Source/WebKit/mac/icu/unicode/umachine.h
deleted file mode 100644
index abbdcb79f..000000000
--- a/Source/WebKit/mac/icu/unicode/umachine.h
+++ /dev/null
@@ -1,374 +0,0 @@
-/*
-******************************************************************************
-*
-* Copyright (C) 1999-2010, International Business Machines
-* Corporation and others. All Rights Reserved.
-*
-******************************************************************************
-* file name: umachine.h
-* encoding: US-ASCII
-* tab size: 8 (not used)
-* indentation:4
-*
-* created on: 1999sep13
-* created by: Markus W. Scherer
-*
-* This file defines basic types and constants for utf.h to be
-* platform-independent. umachine.h and utf.h are included into
-* utypes.h to provide all the general definitions for ICU.
-* All of these definitions used to be in utypes.h before
-* the UTF-handling macros made this unmaintainable.
-*/
-
-#ifndef __UMACHINE_H__
-#define __UMACHINE_H__
-
-
-/**
- * \file
- * \brief Basic types and constants for UTF
- *
- * <h2> Basic types and constants for UTF </h2>
- * This file defines basic types and constants for utf.h to be
- * platform-independent. umachine.h and utf.h are included into
- * utypes.h to provide all the general definitions for ICU.
- * All of these definitions used to be in utypes.h before
- * the UTF-handling macros made this unmaintainable.
- *
- */
-/*==========================================================================*/
-/* Include platform-dependent definitions */
-/* which are contained in the platform-specific file platform.h */
-/*==========================================================================*/
-
-#if defined(U_PALMOS)
-# include "unicode/ppalmos.h"
-#elif !defined(__MINGW32__) && (defined(WIN32) || defined(_WIN32) || defined(WIN64) || defined(_WIN64))
-#ifdef CYGWINMSVC
-# include "unicode/platform.h"
-#endif
-# include "unicode/pwin32.h"
-#else
-# include "unicode/ptypes.h" /* platform.h is included in ptypes.h */
-#endif
-
-/*
- * ANSI C headers:
- * stddef.h defines wchar_t
- */
-#include <stddef.h>
-
-/*==========================================================================*/
-/* XP_CPLUSPLUS is a cross-platform symbol which should be defined when */
-/* using C++. It should not be defined when compiling under C. */
-/*==========================================================================*/
-
-#ifdef __cplusplus
-# ifndef XP_CPLUSPLUS
-# define XP_CPLUSPLUS
-# endif
-#else
-# undef XP_CPLUSPLUS
-#endif
-
-/*==========================================================================*/
-/* For C wrappers, we use the symbol U_STABLE. */
-/* This works properly if the includer is C or C++. */
-/* Functions are declared U_STABLE return-type U_EXPORT2 function-name()... */
-/*==========================================================================*/
-
-/**
- * \def U_CFUNC
- * This is used in a declaration of a library private ICU C function.
- * @stable ICU 2.4
- */
-
-/**
- * \def U_CDECL_BEGIN
- * This is used to begin a declaration of a library private ICU C API.
- * @stable ICU 2.4
- */
-
-/**
- * \def U_CDECL_END
- * This is used to end a declaration of a library private ICU C API
- * @stable ICU 2.4
- */
-
-#ifdef XP_CPLUSPLUS
-# define U_CFUNC extern "C"
-# define U_CDECL_BEGIN extern "C" {
-# define U_CDECL_END }
-#else
-# define U_CFUNC extern
-# define U_CDECL_BEGIN
-# define U_CDECL_END
-#endif
-
-/**
- * \def U_ATTRIBUTE_DEPRECATED
- * This is used for GCC specific attributes
- * @internal
- */
-#if defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
-# define U_ATTRIBUTE_DEPRECATED __attribute__ ((deprecated))
-/**
- * \def U_ATTRIBUTE_DEPRECATED
- * This is used for Visual C++ specific attributes
- * @internal
- */
-#elif defined(U_WINDOWS) && defined(_MSC_VER) && (_MSC_VER >= 1400)
-# define U_ATTRIBUTE_DEPRECATED __declspec(deprecated)
-#else
-# define U_ATTRIBUTE_DEPRECATED
-#endif
-/** This is used to declare a function as a public ICU C API @stable ICU 2.0*/
-#define U_CAPI U_CFUNC U_EXPORT
-/** This is used to declare a function as a stable public ICU C API*/
-#define U_STABLE U_CAPI
-/** This is used to declare a function as a draft public ICU C API */
-#define U_DRAFT U_CAPI
-/** This is used to declare a function as a deprecated public ICU C API */
-#define U_DEPRECATED U_CAPI U_ATTRIBUTE_DEPRECATED
-/** This is used to declare a function as an obsolete public ICU C API */
-#define U_OBSOLETE U_CAPI
-/** This is used to declare a function as an internal ICU C API */
-#define U_INTERNAL U_CAPI
-
-/*==========================================================================*/
-/* limits for int32_t etc., like in POSIX inttypes.h */
-/*==========================================================================*/
-
-#ifndef INT8_MIN
-/** The smallest value an 8 bit signed integer can hold @stable ICU 2.0 */
-# define INT8_MIN ((int8_t)(-128))
-#endif
-#ifndef INT16_MIN
-/** The smallest value a 16 bit signed integer can hold @stable ICU 2.0 */
-# define INT16_MIN ((int16_t)(-32767-1))
-#endif
-#ifndef INT32_MIN
-/** The smallest value a 32 bit signed integer can hold @stable ICU 2.0 */
-# define INT32_MIN ((int32_t)(-2147483647-1))
-#endif
-
-#ifndef INT8_MAX
-/** The largest value an 8 bit signed integer can hold @stable ICU 2.0 */
-# define INT8_MAX ((int8_t)(127))
-#endif
-#ifndef INT16_MAX
-/** The largest value a 16 bit signed integer can hold @stable ICU 2.0 */
-# define INT16_MAX ((int16_t)(32767))
-#endif
-#ifndef INT32_MAX
-/** The largest value a 32 bit signed integer can hold @stable ICU 2.0 */
-# define INT32_MAX ((int32_t)(2147483647))
-#endif
-
-#ifndef UINT8_MAX
-/** The largest value an 8 bit unsigned integer can hold @stable ICU 2.0 */
-# define UINT8_MAX ((uint8_t)(255U))
-#endif
-#ifndef UINT16_MAX
-/** The largest value a 16 bit unsigned integer can hold @stable ICU 2.0 */
-# define UINT16_MAX ((uint16_t)(65535U))
-#endif
-#ifndef UINT32_MAX
-/** The largest value a 32 bit unsigned integer can hold @stable ICU 2.0 */
-# define UINT32_MAX ((uint32_t)(4294967295U))
-#endif
-
-#if defined(U_INT64_T_UNAVAILABLE)
-# error int64_t is required for decimal format and rule-based number format.
-#else
-# ifndef INT64_C
-/**
- * Provides a platform independent way to specify a signed 64-bit integer constant.
- * note: may be wrong for some 64 bit platforms - ensure your compiler provides INT64_C
- * @stable ICU 2.8
- */
-# define INT64_C(c) c ## LL
-# endif
-# ifndef UINT64_C
-/**
- * Provides a platform independent way to specify an unsigned 64-bit integer constant.
- * note: may be wrong for some 64 bit platforms - ensure your compiler provides UINT64_C
- * @stable ICU 2.8
- */
-# define UINT64_C(c) c ## ULL
-# endif
-# ifndef U_INT64_MIN
-/** The smallest value a 64 bit signed integer can hold @stable ICU 2.8 */
-# define U_INT64_MIN ((int64_t)(INT64_C(-9223372036854775807)-1))
-# endif
-# ifndef U_INT64_MAX
-/** The largest value a 64 bit signed integer can hold @stable ICU 2.8 */
-# define U_INT64_MAX ((int64_t)(INT64_C(9223372036854775807)))
-# endif
-# ifndef U_UINT64_MAX
-/** The largest value a 64 bit unsigned integer can hold @stable ICU 2.8 */
-# define U_UINT64_MAX ((uint64_t)(UINT64_C(18446744073709551615)))
-# endif
-#endif
-
-/*==========================================================================*/
-/* Boolean data type */
-/*==========================================================================*/
-
-/** The ICU boolean type @stable ICU 2.0 */
-typedef int8_t UBool;
-
-#ifndef TRUE
-/** The TRUE value of a UBool @stable ICU 2.0 */
-# define TRUE 1
-#endif
-#ifndef FALSE
-/** The FALSE value of a UBool @stable ICU 2.0 */
-# define FALSE 0
-#endif
-
-
-/*==========================================================================*/
-/* Unicode data types */
-/*==========================================================================*/
-
-/* wchar_t-related definitions -------------------------------------------- */
-
-/**
- * \def U_HAVE_WCHAR_H
- * Indicates whether <wchar.h> is available (1) or not (0). Set to 1 by default.
- *
- * @stable ICU 2.0
- */
-#ifndef U_HAVE_WCHAR_H
-# define U_HAVE_WCHAR_H 1
-#endif
-
-/**
- * \def U_SIZEOF_WCHAR_T
- * U_SIZEOF_WCHAR_T==sizeof(wchar_t) (0 means it is not defined or autoconf could not set it)
- *
- * @stable ICU 2.0
- */
-#if U_SIZEOF_WCHAR_T==0
-# undef U_SIZEOF_WCHAR_T
-# define U_SIZEOF_WCHAR_T 4
-#endif
-
-/*
- * \def U_WCHAR_IS_UTF16
- * Defined if wchar_t uses UTF-16.
- *
- * @stable ICU 2.0
- */
-/*
- * \def U_WCHAR_IS_UTF32
- * Defined if wchar_t uses UTF-32.
- *
- * @stable ICU 2.0
- */
-#if !defined(U_WCHAR_IS_UTF16) && !defined(U_WCHAR_IS_UTF32)
-# ifdef __STDC_ISO_10646__
-# if (U_SIZEOF_WCHAR_T==2)
-# define U_WCHAR_IS_UTF16
-# elif (U_SIZEOF_WCHAR_T==4)
-# define U_WCHAR_IS_UTF32
-# endif
-# elif defined __UCS2__
-# if (__OS390__ || __OS400__) && (U_SIZEOF_WCHAR_T==2)
-# define U_WCHAR_IS_UTF16
-# endif
-# elif defined __UCS4__
-# if (U_SIZEOF_WCHAR_T==4)
-# define U_WCHAR_IS_UTF32
-# endif
-# elif defined(U_WINDOWS)
-# define U_WCHAR_IS_UTF16
-# endif
-#endif
-
-/* UChar and UChar32 definitions -------------------------------------------- */
-
-/** Number of bytes in a UChar. @stable ICU 2.0 */
-#define U_SIZEOF_UCHAR 2
-
-/**
- * \var UChar
- * Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned.
- * If wchar_t is not 16 bits wide, then define UChar to be uint16_t or char16_t because GCC >=4.4
- * can handle UTF16 string literals.
- * This makes the definition of UChar platform-dependent
- * but allows direct string type compatibility with platforms with
- * 16-bit wchar_t types.
- *
- * @draft ICU 4.4
- */
-
-/* Define UChar to be compatible with wchar_t if possible. */
-#if U_SIZEOF_WCHAR_T==2
- typedef wchar_t UChar;
-#elif U_GNUC_UTF16_STRING
-#if defined _GCC_
- typedef __CHAR16_TYPE__ char16_t;
-#endif
- typedef char16_t UChar;
-#else
- typedef uint16_t UChar;
-#endif
-
-/**
- * Define UChar32 as a type for single Unicode code points.
- * UChar32 is a signed 32-bit integer (same as int32_t).
- *
- * The Unicode code point range is 0..0x10ffff.
- * All other values (negative or >=0x110000) are illegal as Unicode code points.
- * They may be used as sentinel values to indicate "done", "error"
- * or similar non-code point conditions.
- *
- * Before ICU 2.4 (Jitterbug 2146), UChar32 was defined
- * to be wchar_t if that is 32 bits wide (wchar_t may be signed or unsigned)
- * or else to be uint32_t.
- * That is, the definition of UChar32 was platform-dependent.
- *
- * @see U_SENTINEL
- * @stable ICU 2.4
- */
-typedef int32_t UChar32;
-
-/*==========================================================================*/
-/* U_INLINE and U_ALIGN_CODE Set default values if these are not already */
-/* defined. Definitions normally are in */
-/* platform.h or the corresponding file for */
-/* the OS in use. */
-/*==========================================================================*/
-
-#ifndef U_HIDE_INTERNAL_API
-
-/**
- * \def U_ALIGN_CODE
- * This is used to align code fragments to a specific byte boundary.
- * This is useful for getting consistent performance test results.
- * @internal
- */
-#ifndef U_ALIGN_CODE
-# define U_ALIGN_CODE(n)
-#endif
-
-#endif /* U_HIDE_INTERNAL_API */
-
-/**
- * \def U_INLINE
- * This is used to request inlining of a function, on platforms and languages which support it.
- */
-
-#ifndef U_INLINE
-# ifdef XP_CPLUSPLUS
-# define U_INLINE inline
-# else
-# define U_INLINE
-# endif
-#endif
-
-#include "unicode/urename.h"
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/unorm.h b/Source/WebKit/mac/icu/unicode/unorm.h
deleted file mode 100644
index fbb7b49b3..000000000
--- a/Source/WebKit/mac/icu/unicode/unorm.h
+++ /dev/null
@@ -1,561 +0,0 @@
-/*
-*******************************************************************************
-* Copyright (c) 1996-2010, International Business Machines Corporation
-* and others. All Rights Reserved.
-*******************************************************************************
-* File unorm.h
-*
-* Created by: Vladimir Weinstein 12052000
-*
-* Modification history :
-*
-* Date Name Description
-* 02/01/01 synwee Added normalization quickcheck enum and method.
-*/
-#ifndef UNORM_H
-#define UNORM_H
-
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_NORMALIZATION
-
-#include "unicode/uiter.h"
-#include "unicode/unorm2.h"
-
-/**
- * \file
- * \brief C API: Unicode Normalization
- *
- * <h2>Unicode normalization API</h2>
- *
- * Note: This API has been replaced by the unorm2.h API and is only available
- * for backward compatibility. The functions here simply delegate to the
- * unorm2.h functions, for example unorm2_getInstance() and unorm2_normalize().
- * There is one exception: The new API does not provide a replacement for unorm_compare().
- *
- * <code>unorm_normalize</code> transforms Unicode text into an equivalent composed or
- * decomposed form, allowing for easier sorting and searching of text.
- * <code>unorm_normalize</code> supports the standard normalization forms described in
- * <a href="http://www.unicode.org/unicode/reports/tr15/" target="unicode">
- * Unicode Standard Annex #15: Unicode Normalization Forms</a>.
- *
- * Characters with accents or other adornments can be encoded in
- * several different ways in Unicode. For example, take the character A-acute.
- * In Unicode, this can be encoded as a single character (the
- * "composed" form):
- *
- * \code
- * 00C1 LATIN CAPITAL LETTER A WITH ACUTE
- * \endcode
- *
- * or as two separate characters (the "decomposed" form):
- *
- * \code
- * 0041 LATIN CAPITAL LETTER A
- * 0301 COMBINING ACUTE ACCENT
- * \endcode
- *
- * To a user of your program, however, both of these sequences should be
- * treated as the same "user-level" character "A with acute accent". When you are searching or
- * comparing text, you must ensure that these two sequences are treated
- * equivalently. In addition, you must handle characters with more than one
- * accent. Sometimes the order of a character's combining accents is
- * significant, while in other cases accent sequences in different orders are
- * really equivalent.
- *
- * Similarly, the string "ffi" can be encoded as three separate letters:
- *
- * \code
- * 0066 LATIN SMALL LETTER F
- * 0066 LATIN SMALL LETTER F
- * 0069 LATIN SMALL LETTER I
- * \endcode
- *
- * or as the single character
- *
- * \code
- * FB03 LATIN SMALL LIGATURE FFI
- * \endcode
- *
- * The ffi ligature is not a distinct semantic character, and strictly speaking
- * it shouldn't be in Unicode at all, but it was included for compatibility
- * with existing character sets that already provided it. The Unicode standard
- * identifies such characters by giving them "compatibility" decompositions
- * into the corresponding semantic characters. When sorting and searching, you
- * will often want to use these mappings.
- *
- * <code>unorm_normalize</code> helps solve these problems by transforming text into the
- * canonical composed and decomposed forms as shown in the first example above.
- * In addition, you can have it perform compatibility decompositions so that
- * you can treat compatibility characters the same as their equivalents.
- * Finally, <code>unorm_normalize</code> rearranges accents into the proper canonical
- * order, so that you do not have to worry about accent rearrangement on your
- * own.
- *
- * Form FCD, "Fast C or D", is also designed for collation.
- * It allows to work on strings that are not necessarily normalized
- * with an algorithm (like in collation) that works under "canonical closure", i.e., it treats precomposed
- * characters and their decomposed equivalents the same.
- *
- * It is not a normalization form because it does not provide for uniqueness of representation. Multiple strings
- * may be canonically equivalent (their NFDs are identical) and may all conform to FCD without being identical
- * themselves.
- *
- * The form is defined such that the "raw decomposition", the recursive canonical decomposition of each character,
- * results in a string that is canonically ordered. This means that precomposed characters are allowed for as long
- * as their decompositions do not need canonical reordering.
- *
- * Its advantage for a process like collation is that all NFD and most NFC texts - and many unnormalized texts -
- * already conform to FCD and do not need to be normalized (NFD) for such a process. The FCD quick check will
- * return UNORM_YES for most strings in practice.
- *
- * unorm_normalize(UNORM_FCD) may be implemented with UNORM_NFD.
- *
- * For more details on FCD see the collation design document:
- * http://source.icu-project.org/repos/icu/icuhtml/trunk/design/collation/ICU_collation_design.htm
- *
- * ICU collation performs either NFD or FCD normalization automatically if normalization
- * is turned on for the collator object.
- * Beyond collation and string search, normalized strings may be useful for string equivalence comparisons,
- * transliteration/transcription, unique representations, etc.
- *
- * The W3C generally recommends to exchange texts in NFC.
- * Note also that most legacy character encodings use only precomposed forms and often do not
- * encode any combining marks by themselves. For conversion to such character encodings the
- * Unicode text needs to be normalized to NFC.
- * For more usage examples, see the Unicode Standard Annex.
- */
-
-/**
- * Constants for normalization modes.
- * @stable ICU 2.0
- */
-typedef enum {
- /** No decomposition/composition. @stable ICU 2.0 */
- UNORM_NONE = 1,
- /** Canonical decomposition. @stable ICU 2.0 */
- UNORM_NFD = 2,
- /** Compatibility decomposition. @stable ICU 2.0 */
- UNORM_NFKD = 3,
- /** Canonical decomposition followed by canonical composition. @stable ICU 2.0 */
- UNORM_NFC = 4,
- /** Default normalization. @stable ICU 2.0 */
- UNORM_DEFAULT = UNORM_NFC,
- /** Compatibility decomposition followed by canonical composition. @stable ICU 2.0 */
- UNORM_NFKC =5,
- /** "Fast C or D" form. @stable ICU 2.0 */
- UNORM_FCD = 6,
-
- /** One more than the highest normalization mode constant. @stable ICU 2.0 */
- UNORM_MODE_COUNT
-} UNormalizationMode;
-
-/**
- * Constants for options flags for normalization.
- * Use 0 for default options,
- * including normalization according to the Unicode version
- * that is currently supported by ICU (see u_getUnicodeVersion).
- * @stable ICU 2.6
- */
-enum {
- /**
- * Options bit set value to select Unicode 3.2 normalization
- * (except NormalizationCorrections).
- * At most one Unicode version can be selected at a time.
- * @stable ICU 2.6
- */
- UNORM_UNICODE_3_2=0x20
-};
-
-/**
- * Lowest-order bit number of unorm_compare() options bits corresponding to
- * normalization options bits.
- *
- * The options parameter for unorm_compare() uses most bits for
- * itself and for various comparison and folding flags.
- * The most significant bits, however, are shifted down and passed on
- * to the normalization implementation.
- * (That is, from unorm_compare(..., options, ...),
- * options>>UNORM_COMPARE_NORM_OPTIONS_SHIFT will be passed on to the
- * internal normalization functions.)
- *
- * @see unorm_compare
- * @stable ICU 2.6
- */
-#define UNORM_COMPARE_NORM_OPTIONS_SHIFT 20
-
-/**
- * Normalize a string.
- * The string will be normalized according the specified normalization mode
- * and options.
- * The source and result buffers must not be the same, nor overlap.
- *
- * @param source The string to normalize.
- * @param sourceLength The length of source, or -1 if NUL-terminated.
- * @param mode The normalization mode; one of UNORM_NONE,
- * UNORM_NFD, UNORM_NFC, UNORM_NFKC, UNORM_NFKD, UNORM_DEFAULT.
- * @param options The normalization options, ORed together (0 for no options).
- * @param result A pointer to a buffer to receive the result string.
- * The result string is NUL-terminated if possible.
- * @param resultLength The maximum size of result.
- * @param status A pointer to a UErrorCode to receive any errors.
- * @return The total buffer size needed; if greater than resultLength,
- * the output was truncated, and the error code is set to U_BUFFER_OVERFLOW_ERROR.
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-unorm_normalize(const UChar *source, int32_t sourceLength,
- UNormalizationMode mode, int32_t options,
- UChar *result, int32_t resultLength,
- UErrorCode *status);
-
-/**
- * Performing quick check on a string, to quickly determine if the string is
- * in a particular normalization format.
- * Three types of result can be returned UNORM_YES, UNORM_NO or
- * UNORM_MAYBE. Result UNORM_YES indicates that the argument
- * string is in the desired normalized format, UNORM_NO determines that
- * argument string is not in the desired normalized format. A
- * UNORM_MAYBE result indicates that a more thorough check is required,
- * the user may have to put the string in its normalized form and compare the
- * results.
- *
- * @param source string for determining if it is in a normalized format
- * @param sourcelength length of source to test, or -1 if NUL-terminated
- * @param mode which normalization form to test for
- * @param status a pointer to a UErrorCode to receive any errors
- * @return UNORM_YES, UNORM_NO or UNORM_MAYBE
- *
- * @see unorm_isNormalized
- * @stable ICU 2.0
- */
-U_STABLE UNormalizationCheckResult U_EXPORT2
-unorm_quickCheck(const UChar *source, int32_t sourcelength,
- UNormalizationMode mode,
- UErrorCode *status);
-
-/**
- * Performing quick check on a string; same as unorm_quickCheck but
- * takes an extra options parameter like most normalization functions.
- *
- * @param src String that is to be tested if it is in a normalization format.
- * @param srcLength Length of source to test, or -1 if NUL-terminated.
- * @param mode Which normalization form to test for.
- * @param options The normalization options, ORed together (0 for no options).
- * @param pErrorCode ICU error code in/out parameter.
- * Must fulfill U_SUCCESS before the function call.
- * @return UNORM_YES, UNORM_NO or UNORM_MAYBE
- *
- * @see unorm_quickCheck
- * @see unorm_isNormalized
- * @stable ICU 2.6
- */
-U_STABLE UNormalizationCheckResult U_EXPORT2
-unorm_quickCheckWithOptions(const UChar *src, int32_t srcLength,
- UNormalizationMode mode, int32_t options,
- UErrorCode *pErrorCode);
-
-/**
- * Test if a string is in a given normalization form.
- * This is semantically equivalent to source.equals(normalize(source, mode)) .
- *
- * Unlike unorm_quickCheck(), this function returns a definitive result,
- * never a "maybe".
- * For NFD, NFKD, and FCD, both functions work exactly the same.
- * For NFC and NFKC where quickCheck may return "maybe", this function will
- * perform further tests to arrive at a TRUE/FALSE result.
- *
- * @param src String that is to be tested if it is in a normalization format.
- * @param srcLength Length of source to test, or -1 if NUL-terminated.
- * @param mode Which normalization form to test for.
- * @param pErrorCode ICU error code in/out parameter.
- * Must fulfill U_SUCCESS before the function call.
- * @return Boolean value indicating whether the source string is in the
- * "mode" normalization form.
- *
- * @see unorm_quickCheck
- * @stable ICU 2.2
- */
-U_STABLE UBool U_EXPORT2
-unorm_isNormalized(const UChar *src, int32_t srcLength,
- UNormalizationMode mode,
- UErrorCode *pErrorCode);
-
-/**
- * Test if a string is in a given normalization form; same as unorm_isNormalized but
- * takes an extra options parameter like most normalization functions.
- *
- * @param src String that is to be tested if it is in a normalization format.
- * @param srcLength Length of source to test, or -1 if NUL-terminated.
- * @param mode Which normalization form to test for.
- * @param options The normalization options, ORed together (0 for no options).
- * @param pErrorCode ICU error code in/out parameter.
- * Must fulfill U_SUCCESS before the function call.
- * @return Boolean value indicating whether the source string is in the
- * "mode/options" normalization form.
- *
- * @see unorm_quickCheck
- * @see unorm_isNormalized
- * @stable ICU 2.6
- */
-U_STABLE UBool U_EXPORT2
-unorm_isNormalizedWithOptions(const UChar *src, int32_t srcLength,
- UNormalizationMode mode, int32_t options,
- UErrorCode *pErrorCode);
-
-/**
- * Iterative normalization forward.
- * This function (together with unorm_previous) is somewhat
- * similar to the C++ Normalizer class (see its non-static functions).
- *
- * Iterative normalization is useful when only a small portion of a longer
- * string/text needs to be processed.
- *
- * For example, the likelihood may be high that processing the first 10% of some
- * text will be sufficient to find certain data.
- * Another example: When one wants to concatenate two normalized strings and get a
- * normalized result, it is much more efficient to normalize just a small part of
- * the result around the concatenation place instead of re-normalizing everything.
- *
- * The input text is an instance of the C character iteration API UCharIterator.
- * It may wrap around a simple string, a CharacterIterator, a Replaceable, or any
- * other kind of text object.
- *
- * If a buffer overflow occurs, then the caller needs to reset the iterator to the
- * old index and call the function again with a larger buffer - if the caller cares
- * for the actual output.
- * Regardless of the output buffer, the iterator will always be moved to the next
- * normalization boundary.
- *
- * This function (like unorm_previous) serves two purposes:
- *
- * 1) To find the next boundary so that the normalization of the part of the text
- * from the current position to that boundary does not affect and is not affected
- * by the part of the text beyond that boundary.
- *
- * 2) To normalize the text up to the boundary.
- *
- * The second step is optional, per the doNormalize parameter.
- * It is omitted for operations like string concatenation, where the two adjacent
- * string ends need to be normalized together.
- * In such a case, the output buffer will just contain a copy of the text up to the
- * boundary.
- *
- * pNeededToNormalize is an output-only parameter. Its output value is only defined
- * if normalization was requested (doNormalize) and successful (especially, no
- * buffer overflow).
- * It is useful for operations like a normalizing transliterator, where one would
- * not want to replace a piece of text if it is not modified.
- *
- * If doNormalize==TRUE and pNeededToNormalize!=NULL then *pNeeded... is set TRUE
- * if the normalization was necessary.
- *
- * If doNormalize==FALSE then *pNeededToNormalize will be set to FALSE.
- *
- * If the buffer overflows, then *pNeededToNormalize will be undefined;
- * essentially, whenever U_FAILURE is true (like in buffer overflows), this result
- * will be undefined.
- *
- * @param src The input text in the form of a C character iterator.
- * @param dest The output buffer; can be NULL if destCapacity==0 for pure preflighting.
- * @param destCapacity The number of UChars that fit into dest.
- * @param mode The normalization mode.
- * @param options The normalization options, ORed together (0 for no options).
- * @param doNormalize Indicates if the source text up to the next boundary
- * is to be normalized (TRUE) or just copied (FALSE).
- * @param pNeededToNormalize Output flag indicating if the normalization resulted in
- * different text from the input.
- * Not defined if an error occurs including buffer overflow.
- * Always FALSE if !doNormalize.
- * @param pErrorCode ICU error code in/out parameter.
- * Must fulfill U_SUCCESS before the function call.
- * @return Length of output (number of UChars) when successful or buffer overflow.
- *
- * @see unorm_previous
- * @see unorm_normalize
- *
- * @stable ICU 2.1
- */
-U_STABLE int32_t U_EXPORT2
-unorm_next(UCharIterator *src,
- UChar *dest, int32_t destCapacity,
- UNormalizationMode mode, int32_t options,
- UBool doNormalize, UBool *pNeededToNormalize,
- UErrorCode *pErrorCode);
-
-/**
- * Iterative normalization backward.
- * This function (together with unorm_next) is somewhat
- * similar to the C++ Normalizer class (see its non-static functions).
- * For all details see unorm_next.
- *
- * @param src The input text in the form of a C character iterator.
- * @param dest The output buffer; can be NULL if destCapacity==0 for pure preflighting.
- * @param destCapacity The number of UChars that fit into dest.
- * @param mode The normalization mode.
- * @param options The normalization options, ORed together (0 for no options).
- * @param doNormalize Indicates if the source text up to the next boundary
- * is to be normalized (TRUE) or just copied (FALSE).
- * @param pNeededToNormalize Output flag indicating if the normalization resulted in
- * different text from the input.
- * Not defined if an error occurs including buffer overflow.
- * Always FALSE if !doNormalize.
- * @param pErrorCode ICU error code in/out parameter.
- * Must fulfill U_SUCCESS before the function call.
- * @return Length of output (number of UChars) when successful or buffer overflow.
- *
- * @see unorm_next
- * @see unorm_normalize
- *
- * @stable ICU 2.1
- */
-U_STABLE int32_t U_EXPORT2
-unorm_previous(UCharIterator *src,
- UChar *dest, int32_t destCapacity,
- UNormalizationMode mode, int32_t options,
- UBool doNormalize, UBool *pNeededToNormalize,
- UErrorCode *pErrorCode);
-
-/**
- * Concatenate normalized strings, making sure that the result is normalized as well.
- *
- * If both the left and the right strings are in
- * the normalization form according to "mode/options",
- * then the result will be
- *
- * \code
- * dest=normalize(left+right, mode, options)
- * \endcode
- *
- * With the input strings already being normalized,
- * this function will use unorm_next() and unorm_previous()
- * to find the adjacent end pieces of the input strings.
- * Only the concatenation of these end pieces will be normalized and
- * then concatenated with the remaining parts of the input strings.
- *
- * It is allowed to have dest==left to avoid copying the entire left string.
- *
- * @param left Left source string, may be same as dest.
- * @param leftLength Length of left source string, or -1 if NUL-terminated.
- * @param right Right source string. Must not be the same as dest, nor overlap.
- * @param rightLength Length of right source string, or -1 if NUL-terminated.
- * @param dest The output buffer; can be NULL if destCapacity==0 for pure preflighting.
- * @param destCapacity The number of UChars that fit into dest.
- * @param mode The normalization mode.
- * @param options The normalization options, ORed together (0 for no options).
- * @param pErrorCode ICU error code in/out parameter.
- * Must fulfill U_SUCCESS before the function call.
- * @return Length of output (number of UChars) when successful or buffer overflow.
- *
- * @see unorm_normalize
- * @see unorm_next
- * @see unorm_previous
- *
- * @stable ICU 2.1
- */
-U_STABLE int32_t U_EXPORT2
-unorm_concatenate(const UChar *left, int32_t leftLength,
- const UChar *right, int32_t rightLength,
- UChar *dest, int32_t destCapacity,
- UNormalizationMode mode, int32_t options,
- UErrorCode *pErrorCode);
-
-/**
- * Option bit for unorm_compare:
- * Both input strings are assumed to fulfill FCD conditions.
- * @stable ICU 2.2
- */
-#define UNORM_INPUT_IS_FCD 0x20000
-
-/**
- * Option bit for unorm_compare:
- * Perform case-insensitive comparison.
- * @stable ICU 2.2
- */
-#define U_COMPARE_IGNORE_CASE 0x10000
-
-#ifndef U_COMPARE_CODE_POINT_ORDER
-/* see also unistr.h and ustring.h */
-/**
- * Option bit for u_strCaseCompare, u_strcasecmp, unorm_compare, etc:
- * Compare strings in code point order instead of code unit order.
- * @stable ICU 2.2
- */
-#define U_COMPARE_CODE_POINT_ORDER 0x8000
-#endif
-
-/**
- * Compare two strings for canonical equivalence.
- * Further options include case-insensitive comparison and
- * code point order (as opposed to code unit order).
- *
- * Canonical equivalence between two strings is defined as their normalized
- * forms (NFD or NFC) being identical.
- * This function compares strings incrementally instead of normalizing
- * (and optionally case-folding) both strings entirely,
- * improving performance significantly.
- *
- * Bulk normalization is only necessary if the strings do not fulfill the FCD
- * conditions. Only in this case, and only if the strings are relatively long,
- * is memory allocated temporarily.
- * For FCD strings and short non-FCD strings there is no memory allocation.
- *
- * Semantically, this is equivalent to
- * strcmp[CodePointOrder](NFD(foldCase(NFD(s1))), NFD(foldCase(NFD(s2))))
- * where code point order and foldCase are all optional.
- *
- * UAX 21 2.5 Caseless Matching specifies that for a canonical caseless match
- * the case folding must be performed first, then the normalization.
- *
- * @param s1 First source string.
- * @param length1 Length of first source string, or -1 if NUL-terminated.
- *
- * @param s2 Second source string.
- * @param length2 Length of second source string, or -1 if NUL-terminated.
- *
- * @param options A bit set of options:
- * - U_FOLD_CASE_DEFAULT or 0 is used for default options:
- * Case-sensitive comparison in code unit order, and the input strings
- * are quick-checked for FCD.
- *
- * - UNORM_INPUT_IS_FCD
- * Set if the caller knows that both s1 and s2 fulfill the FCD conditions.
- * If not set, the function will quickCheck for FCD
- * and normalize if necessary.
- *
- * - U_COMPARE_CODE_POINT_ORDER
- * Set to choose code point order instead of code unit order
- * (see u_strCompare for details).
- *
- * - U_COMPARE_IGNORE_CASE
- * Set to compare strings case-insensitively using case folding,
- * instead of case-sensitively.
- * If set, then the following case folding options are used.
- *
- * - Options as used with case-insensitive comparisons, currently:
- *
- * - U_FOLD_CASE_EXCLUDE_SPECIAL_I
- * (see u_strCaseCompare for details)
- *
- * - regular normalization options shifted left by UNORM_COMPARE_NORM_OPTIONS_SHIFT
- *
- * @param pErrorCode ICU error code in/out parameter.
- * Must fulfill U_SUCCESS before the function call.
- * @return <0 or 0 or >0 as usual for string comparisons
- *
- * @see unorm_normalize
- * @see UNORM_FCD
- * @see u_strCompare
- * @see u_strCaseCompare
- *
- * @stable ICU 2.2
- */
-U_STABLE int32_t U_EXPORT2
-unorm_compare(const UChar *s1, int32_t length1,
- const UChar *s2, int32_t length2,
- uint32_t options,
- UErrorCode *pErrorCode);
-
-#endif /* #if !UCONFIG_NO_NORMALIZATION */
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/unorm2.h b/Source/WebKit/mac/icu/unicode/unorm2.h
deleted file mode 100644
index a522b4735..000000000
--- a/Source/WebKit/mac/icu/unicode/unorm2.h
+++ /dev/null
@@ -1,391 +0,0 @@
-/*
-*******************************************************************************
-*
-* Copyright (C) 2009-2010, International Business Machines
-* Corporation and others. All Rights Reserved.
-*
-*******************************************************************************
-* file name: unorm2.h
-* encoding: US-ASCII
-* tab size: 8 (not used)
-* indentation:4
-*
-* created on: 2009dec15
-* created by: Markus W. Scherer
-*/
-
-#ifndef __UNORM2_H__
-#define __UNORM2_H__
-
-/**
- * \file
- * \brief C API: New API for Unicode Normalization.
- *
- * Unicode normalization functionality for standard Unicode normalization or
- * for using custom mapping tables.
- * All instances of UNormalizer2 are unmodifiable/immutable.
- * Instances returned by unorm2_getInstance() are singletons that must not be deleted by the caller.
- * For more details see the Normalizer2 C++ class.
- */
-
-#include "unicode/utypes.h"
-#include "unicode/localpointer.h"
-#include "unicode/uset.h"
-
-/**
- * Constants for normalization modes.
- * For details about standard Unicode normalization forms
- * and about the algorithms which are also used with custom mapping tables
- * see http://www.unicode.org/unicode/reports/tr15/
- * @stable ICU 4.4
- */
-typedef enum {
- /**
- * Decomposition followed by composition.
- * Same as standard NFC when using an "nfc" instance.
- * Same as standard NFKC when using an "nfkc" instance.
- * For details about standard Unicode normalization forms
- * see http://www.unicode.org/unicode/reports/tr15/
- * @stable ICU 4.4
- */
- UNORM2_COMPOSE,
- /**
- * Map, and reorder canonically.
- * Same as standard NFD when using an "nfc" instance.
- * Same as standard NFKD when using an "nfkc" instance.
- * For details about standard Unicode normalization forms
- * see http://www.unicode.org/unicode/reports/tr15/
- * @stable ICU 4.4
- */
- UNORM2_DECOMPOSE,
- /**
- * "Fast C or D" form.
- * If a string is in this form, then further decomposition <i>without reordering</i>
- * would yield the same form as DECOMPOSE.
- * Text in "Fast C or D" form can be processed efficiently with data tables
- * that are "canonically closed", that is, that provide equivalent data for
- * equivalent text, without having to be fully normalized.
- * Not a standard Unicode normalization form.
- * Not a unique form: Different FCD strings can be canonically equivalent.
- * For details see http://www.unicode.org/notes/tn5/#FCD
- * @stable ICU 4.4
- */
- UNORM2_FCD,
- /**
- * Compose only contiguously.
- * Also known as "FCC" or "Fast C Contiguous".
- * The result will often but not always be in NFC.
- * The result will conform to FCD which is useful for processing.
- * Not a standard Unicode normalization form.
- * For details see http://www.unicode.org/notes/tn5/#FCC
- * @stable ICU 4.4
- */
- UNORM2_COMPOSE_CONTIGUOUS
-} UNormalization2Mode;
-
-/**
- * Result values for normalization quick check functions.
- * For details see http://www.unicode.org/reports/tr15/#Detecting_Normalization_Forms
- * @stable ICU 2.0
- */
-typedef enum UNormalizationCheckResult {
- /**
- * The input string is not in the normalization form.
- * @stable ICU 2.0
- */
- UNORM_NO,
- /**
- * The input string is in the normalization form.
- * @stable ICU 2.0
- */
- UNORM_YES,
- /**
- * The input string may or may not be in the normalization form.
- * This value is only returned for composition forms like NFC and FCC,
- * when a backward-combining character is found for which the surrounding text
- * would have to be analyzed further.
- * @stable ICU 2.0
- */
- UNORM_MAYBE
-} UNormalizationCheckResult;
-
-/**
- * Opaque C service object type for the new normalization API.
- * @stable ICU 4.4
- */
-struct UNormalizer2;
-typedef struct UNormalizer2 UNormalizer2; /**< C typedef for struct UNormalizer2. @stable ICU 4.4 */
-
-#if !UCONFIG_NO_NORMALIZATION
-
-/**
- * Returns a UNormalizer2 instance which uses the specified data file
- * (packageName/name similar to ucnv_openPackage() and ures_open()/ResourceBundle)
- * and which composes or decomposes text according to the specified mode.
- * Returns an unmodifiable singleton instance. Do not delete it.
- *
- * Use packageName=NULL for data files that are part of ICU's own data.
- * Use name="nfc" and UNORM2_COMPOSE/UNORM2_DECOMPOSE for Unicode standard NFC/NFD.
- * Use name="nfkc" and UNORM2_COMPOSE/UNORM2_DECOMPOSE for Unicode standard NFKC/NFKD.
- * Use name="nfkc_cf" and UNORM2_COMPOSE for Unicode standard NFKC_CF=NFKC_Casefold.
- *
- * @param packageName NULL for ICU built-in data, otherwise application data package name
- * @param name "nfc" or "nfkc" or "nfkc_cf" or name of custom data file
- * @param mode normalization mode (compose or decompose etc.)
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return the requested UNormalizer2, if successful
- * @stable ICU 4.4
- */
-U_STABLE const UNormalizer2 * U_EXPORT2
-unorm2_getInstance(const char *packageName,
- const char *name,
- UNormalization2Mode mode,
- UErrorCode *pErrorCode);
-
-/**
- * Constructs a filtered normalizer wrapping any UNormalizer2 instance
- * and a filter set.
- * Both are aliased and must not be modified or deleted while this object
- * is used.
- * The filter set should be frozen; otherwise the performance will suffer greatly.
- * @param norm2 wrapped UNormalizer2 instance
- * @param filterSet USet which determines the characters to be normalized
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return the requested UNormalizer2, if successful
- * @stable ICU 4.4
- */
-U_STABLE UNormalizer2 * U_EXPORT2
-unorm2_openFiltered(const UNormalizer2 *norm2, const USet *filterSet, UErrorCode *pErrorCode);
-
-/**
- * Closes a UNormalizer2 instance from unorm2_openFiltered().
- * Do not close instances from unorm2_getInstance()!
- * @param norm2 UNormalizer2 instance to be closed
- * @stable ICU 4.4
- */
-U_STABLE void U_EXPORT2
-unorm2_close(UNormalizer2 *norm2);
-
-#if U_SHOW_CPLUSPLUS_API
-
-U_NAMESPACE_BEGIN
-
-/**
- * \class LocalUNormalizer2Pointer
- * "Smart pointer" class, closes a UNormalizer2 via unorm2_close().
- * For most methods see the LocalPointerBase base class.
- *
- * @see LocalPointerBase
- * @see LocalPointer
- * @stable ICU 4.4
- */
-U_DEFINE_LOCAL_OPEN_POINTER(LocalUNormalizer2Pointer, UNormalizer2, unorm2_close);
-
-U_NAMESPACE_END
-
-#endif
-
-/**
- * Writes the normalized form of the source string to the destination string
- * (replacing its contents) and returns the length of the destination string.
- * The source and destination strings must be different buffers.
- * @param norm2 UNormalizer2 instance
- * @param src source string
- * @param length length of the source string, or -1 if NUL-terminated
- * @param dest destination string; its contents is replaced with normalized src
- * @param capacity number of UChars that can be written to dest
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return dest
- * @stable ICU 4.4
- */
-U_STABLE int32_t U_EXPORT2
-unorm2_normalize(const UNormalizer2 *norm2,
- const UChar *src, int32_t length,
- UChar *dest, int32_t capacity,
- UErrorCode *pErrorCode);
-/**
- * Appends the normalized form of the second string to the first string
- * (merging them at the boundary) and returns the length of the first string.
- * The result is normalized if the first string was normalized.
- * The first and second strings must be different buffers.
- * @param norm2 UNormalizer2 instance
- * @param first string, should be normalized
- * @param firstLength length of the first string, or -1 if NUL-terminated
- * @param firstCapacity number of UChars that can be written to first
- * @param second string, will be normalized
- * @param secondLength length of the source string, or -1 if NUL-terminated
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return first
- * @stable ICU 4.4
- */
-U_STABLE int32_t U_EXPORT2
-unorm2_normalizeSecondAndAppend(const UNormalizer2 *norm2,
- UChar *first, int32_t firstLength, int32_t firstCapacity,
- const UChar *second, int32_t secondLength,
- UErrorCode *pErrorCode);
-/**
- * Appends the second string to the first string
- * (merging them at the boundary) and returns the length of the first string.
- * The result is normalized if both the strings were normalized.
- * The first and second strings must be different buffers.
- * @param norm2 UNormalizer2 instance
- * @param first string, should be normalized
- * @param firstLength length of the first string, or -1 if NUL-terminated
- * @param firstCapacity number of UChars that can be written to first
- * @param second string, should be normalized
- * @param secondLength length of the source string, or -1 if NUL-terminated
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return first
- * @stable ICU 4.4
- */
-U_STABLE int32_t U_EXPORT2
-unorm2_append(const UNormalizer2 *norm2,
- UChar *first, int32_t firstLength, int32_t firstCapacity,
- const UChar *second, int32_t secondLength,
- UErrorCode *pErrorCode);
-
-/**
- * Gets the decomposition mapping of c. Equivalent to unorm2_normalize(string(c))
- * on a UNORM2_DECOMPOSE UNormalizer2 instance, but much faster.
- * This function is independent of the mode of the UNormalizer2.
- * @param norm2 UNormalizer2 instance
- * @param c code point
- * @param decomposition String buffer which will be set to c's
- * decomposition mapping, if there is one.
- * @param capacity number of UChars that can be written to decomposition
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return the non-negative length of c's decomposition, if there is one; otherwise a negative value
- * @draft ICU 4.6
- */
-U_DRAFT int32_t U_EXPORT2
-unorm2_getDecomposition(const UNormalizer2 *norm2,
- UChar32 c, UChar *decomposition, int32_t capacity,
- UErrorCode *pErrorCode);
-
-/**
- * Tests if the string is normalized.
- * Internally, in cases where the quickCheck() method would return "maybe"
- * (which is only possible for the two COMPOSE modes) this method
- * resolves to "yes" or "no" to provide a definitive result,
- * at the cost of doing more work in those cases.
- * @param norm2 UNormalizer2 instance
- * @param s input string
- * @param length length of the string, or -1 if NUL-terminated
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return TRUE if s is normalized
- * @stable ICU 4.4
- */
-U_STABLE UBool U_EXPORT2
-unorm2_isNormalized(const UNormalizer2 *norm2,
- const UChar *s, int32_t length,
- UErrorCode *pErrorCode);
-
-/**
- * Tests if the string is normalized.
- * For the two COMPOSE modes, the result could be "maybe" in cases that
- * would take a little more work to resolve definitively.
- * Use spanQuickCheckYes() and normalizeSecondAndAppend() for a faster
- * combination of quick check + normalization, to avoid
- * re-checking the "yes" prefix.
- * @param norm2 UNormalizer2 instance
- * @param s input string
- * @param length length of the string, or -1 if NUL-terminated
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return UNormalizationCheckResult
- * @stable ICU 4.4
- */
-U_STABLE UNormalizationCheckResult U_EXPORT2
-unorm2_quickCheck(const UNormalizer2 *norm2,
- const UChar *s, int32_t length,
- UErrorCode *pErrorCode);
-
-/**
- * Returns the end of the normalized substring of the input string.
- * In other words, with <code>end=spanQuickCheckYes(s, ec);</code>
- * the substring <code>UnicodeString(s, 0, end)</code>
- * will pass the quick check with a "yes" result.
- *
- * The returned end index is usually one or more characters before the
- * "no" or "maybe" character: The end index is at a normalization boundary.
- * (See the class documentation for more about normalization boundaries.)
- *
- * When the goal is a normalized string and most input strings are expected
- * to be normalized already, then call this method,
- * and if it returns a prefix shorter than the input string,
- * copy that prefix and use normalizeSecondAndAppend() for the remainder.
- * @param norm2 UNormalizer2 instance
- * @param s input string
- * @param length length of the string, or -1 if NUL-terminated
- * @param pErrorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return "yes" span end index
- * @stable ICU 4.4
- */
-U_STABLE int32_t U_EXPORT2
-unorm2_spanQuickCheckYes(const UNormalizer2 *norm2,
- const UChar *s, int32_t length,
- UErrorCode *pErrorCode);
-
-/**
- * Tests if the character always has a normalization boundary before it,
- * regardless of context.
- * For details see the Normalizer2 base class documentation.
- * @param norm2 UNormalizer2 instance
- * @param c character to test
- * @return TRUE if c has a normalization boundary before it
- * @stable ICU 4.4
- */
-U_STABLE UBool U_EXPORT2
-unorm2_hasBoundaryBefore(const UNormalizer2 *norm2, UChar32 c);
-
-/**
- * Tests if the character always has a normalization boundary after it,
- * regardless of context.
- * For details see the Normalizer2 base class documentation.
- * @param norm2 UNormalizer2 instance
- * @param c character to test
- * @return TRUE if c has a normalization boundary after it
- * @stable ICU 4.4
- */
-U_STABLE UBool U_EXPORT2
-unorm2_hasBoundaryAfter(const UNormalizer2 *norm2, UChar32 c);
-
-/**
- * Tests if the character is normalization-inert.
- * For details see the Normalizer2 base class documentation.
- * @param norm2 UNormalizer2 instance
- * @param c character to test
- * @return TRUE if c is normalization-inert
- * @stable ICU 4.4
- */
-U_STABLE UBool U_EXPORT2
-unorm2_isInert(const UNormalizer2 *norm2, UChar32 c);
-
-#endif /* !UCONFIG_NO_NORMALIZATION */
-#endif /* __UNORM2_H__ */
diff --git a/Source/WebKit/mac/icu/unicode/urename.h b/Source/WebKit/mac/icu/unicode/urename.h
deleted file mode 100644
index 468bdbd0f..000000000
--- a/Source/WebKit/mac/icu/unicode/urename.h
+++ /dev/null
@@ -1,2241 +0,0 @@
-/*
-*******************************************************************************
-* Copyright (C) 2002-2010, International Business Machines
-* Corporation and others. All Rights Reserved.
-*******************************************************************************
-*
-* file name: urename.h
-* encoding: US-ASCII
-* tab size: 8 (not used)
-* indentation:4
-*
-* Created by: Perl script written by Vladimir Weinstein
-*
-* Contains data for renaming ICU exports.
-* Gets included by umachine.h
-*
-* THIS FILE IS MACHINE-GENERATED, DON'T PLAY WITH IT IF YOU DON'T KNOW WHAT
-* YOU ARE DOING, OTHERWISE VERY BAD THINGS WILL HAPPEN!
-*/
-
-#ifndef URENAME_H
-#define URENAME_H
-
-/* Uncomment the following line to disable renaming on platforms
- that do not use Autoconf. */
-/* #define U_DISABLE_RENAMING 1 */
-
-#if !U_DISABLE_RENAMING
-
-/* We need the U_ICU_ENTRY_POINT_RENAME definition. There's a default one in unicode/uvernum.h we can use, but we will give
- the platform a chance to define it first.
- Normally (if utypes.h or umachine.h was included first) this will not be necessary as it will already be defined.
- */
-#ifndef U_ICU_ENTRY_POINT_RENAME
-#include "unicode/umachine.h"
-#endif
-
-/* If we still don't have U_ICU_ENTRY_POINT_RENAME use the default. */
-#ifndef U_ICU_ENTRY_POINT_RENAME
-#include "unicode/uvernum.h"
-#endif
-
-/* Error out before the following defines cause very strange and unexpected code breakage */
-#ifndef U_ICU_ENTRY_POINT_RENAME
-#error U_ICU_ENTRY_POINT_RENAME is not defined - cannot continue. Consider defining U_DISABLE_RENAMING if renaming should not be used.
-#endif
-
-
-/* C exports renaming data */
-
-#define DECPOWERS U_ICU_ENTRY_POINT_RENAME(DECPOWERS)
-#define DECSTICKYTAB U_ICU_ENTRY_POINT_RENAME(DECSTICKYTAB)
-#define LNnn U_ICU_ENTRY_POINT_RENAME(LNnn)
-#define T_CString_int64ToString U_ICU_ENTRY_POINT_RENAME(T_CString_int64ToString)
-#define T_CString_integerToString U_ICU_ENTRY_POINT_RENAME(T_CString_integerToString)
-#define T_CString_stricmp U_ICU_ENTRY_POINT_RENAME(T_CString_stricmp)
-#define T_CString_stringToInteger U_ICU_ENTRY_POINT_RENAME(T_CString_stringToInteger)
-#define T_CString_strnicmp U_ICU_ENTRY_POINT_RENAME(T_CString_strnicmp)
-#define T_CString_toLowerCase U_ICU_ENTRY_POINT_RENAME(T_CString_toLowerCase)
-#define T_CString_toUpperCase U_ICU_ENTRY_POINT_RENAME(T_CString_toUpperCase)
-#define UCNV_FROM_U_CALLBACK_ESCAPE U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CALLBACK_ESCAPE)
-#define UCNV_FROM_U_CALLBACK_SKIP U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CALLBACK_SKIP)
-#define UCNV_FROM_U_CALLBACK_STOP U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CALLBACK_STOP)
-#define UCNV_FROM_U_CALLBACK_SUBSTITUTE U_ICU_ENTRY_POINT_RENAME(UCNV_FROM_U_CALLBACK_SUBSTITUTE)
-#define UCNV_TO_U_CALLBACK_ESCAPE U_ICU_ENTRY_POINT_RENAME(UCNV_TO_U_CALLBACK_ESCAPE)
-#define UCNV_TO_U_CALLBACK_SKIP U_ICU_ENTRY_POINT_RENAME(UCNV_TO_U_CALLBACK_SKIP)
-#define UCNV_TO_U_CALLBACK_STOP U_ICU_ENTRY_POINT_RENAME(UCNV_TO_U_CALLBACK_STOP)
-#define UCNV_TO_U_CALLBACK_SUBSTITUTE U_ICU_ENTRY_POINT_RENAME(UCNV_TO_U_CALLBACK_SUBSTITUTE)
-#define UDataMemory_createNewInstance U_ICU_ENTRY_POINT_RENAME(UDataMemory_createNewInstance)
-#define UDataMemory_init U_ICU_ENTRY_POINT_RENAME(UDataMemory_init)
-#define UDataMemory_isLoaded U_ICU_ENTRY_POINT_RENAME(UDataMemory_isLoaded)
-#define UDataMemory_normalizeDataPointer U_ICU_ENTRY_POINT_RENAME(UDataMemory_normalizeDataPointer)
-#define UDataMemory_setData U_ICU_ENTRY_POINT_RENAME(UDataMemory_setData)
-#define UDatamemory_assign U_ICU_ENTRY_POINT_RENAME(UDatamemory_assign)
-#define _ASCIIData U_ICU_ENTRY_POINT_RENAME(_ASCIIData)
-#define _Bocu1Data U_ICU_ENTRY_POINT_RENAME(_Bocu1Data)
-#define _CESU8Data U_ICU_ENTRY_POINT_RENAME(_CESU8Data)
-#define _HZData U_ICU_ENTRY_POINT_RENAME(_HZData)
-#define _IMAPData U_ICU_ENTRY_POINT_RENAME(_IMAPData)
-#define _ISCIIData U_ICU_ENTRY_POINT_RENAME(_ISCIIData)
-#define _ISO2022Data U_ICU_ENTRY_POINT_RENAME(_ISO2022Data)
-#define _LMBCSData1 U_ICU_ENTRY_POINT_RENAME(_LMBCSData1)
-#define _LMBCSData11 U_ICU_ENTRY_POINT_RENAME(_LMBCSData11)
-#define _LMBCSData16 U_ICU_ENTRY_POINT_RENAME(_LMBCSData16)
-#define _LMBCSData17 U_ICU_ENTRY_POINT_RENAME(_LMBCSData17)
-#define _LMBCSData18 U_ICU_ENTRY_POINT_RENAME(_LMBCSData18)
-#define _LMBCSData19 U_ICU_ENTRY_POINT_RENAME(_LMBCSData19)
-#define _LMBCSData2 U_ICU_ENTRY_POINT_RENAME(_LMBCSData2)
-#define _LMBCSData3 U_ICU_ENTRY_POINT_RENAME(_LMBCSData3)
-#define _LMBCSData4 U_ICU_ENTRY_POINT_RENAME(_LMBCSData4)
-#define _LMBCSData5 U_ICU_ENTRY_POINT_RENAME(_LMBCSData5)
-#define _LMBCSData6 U_ICU_ENTRY_POINT_RENAME(_LMBCSData6)
-#define _LMBCSData8 U_ICU_ENTRY_POINT_RENAME(_LMBCSData8)
-#define _Latin1Data U_ICU_ENTRY_POINT_RENAME(_Latin1Data)
-#define _MBCSData U_ICU_ENTRY_POINT_RENAME(_MBCSData)
-#define _SCSUData U_ICU_ENTRY_POINT_RENAME(_SCSUData)
-#define _UTF16BEData U_ICU_ENTRY_POINT_RENAME(_UTF16BEData)
-#define _UTF16Data U_ICU_ENTRY_POINT_RENAME(_UTF16Data)
-#define _UTF16LEData U_ICU_ENTRY_POINT_RENAME(_UTF16LEData)
-#define _UTF32BEData U_ICU_ENTRY_POINT_RENAME(_UTF32BEData)
-#define _UTF32Data U_ICU_ENTRY_POINT_RENAME(_UTF32Data)
-#define _UTF32LEData U_ICU_ENTRY_POINT_RENAME(_UTF32LEData)
-#define _UTF7Data U_ICU_ENTRY_POINT_RENAME(_UTF7Data)
-#define _UTF8Data U_ICU_ENTRY_POINT_RENAME(_UTF8Data)
-#define bms_close U_ICU_ENTRY_POINT_RENAME(bms_close)
-#define bms_empty U_ICU_ENTRY_POINT_RENAME(bms_empty)
-#define bms_getData U_ICU_ENTRY_POINT_RENAME(bms_getData)
-#define bms_open U_ICU_ENTRY_POINT_RENAME(bms_open)
-#define bms_search U_ICU_ENTRY_POINT_RENAME(bms_search)
-#define bms_setTargetString U_ICU_ENTRY_POINT_RENAME(bms_setTargetString)
-#define buildWSConfusableData U_ICU_ENTRY_POINT_RENAME(buildWSConfusableData)
-#define cmemory_cleanup U_ICU_ENTRY_POINT_RENAME(cmemory_cleanup)
-#define cmemory_inUse U_ICU_ENTRY_POINT_RENAME(cmemory_inUse)
-#define d2utable U_ICU_ENTRY_POINT_RENAME(d2utable)
-#define deleteCEList U_ICU_ENTRY_POINT_RENAME(deleteCEList)
-#define deleteChars U_ICU_ENTRY_POINT_RENAME(deleteChars)
-#define deleteCollDataCacheEntry U_ICU_ENTRY_POINT_RENAME(deleteCollDataCacheEntry)
-#define deleteStringList U_ICU_ENTRY_POINT_RENAME(deleteStringList)
-#define deleteUnicodeStringKey U_ICU_ENTRY_POINT_RENAME(deleteUnicodeStringKey)
-#define izrule_clone U_ICU_ENTRY_POINT_RENAME(izrule_clone)
-#define izrule_close U_ICU_ENTRY_POINT_RENAME(izrule_close)
-#define izrule_equals U_ICU_ENTRY_POINT_RENAME(izrule_equals)
-#define izrule_getDSTSavings U_ICU_ENTRY_POINT_RENAME(izrule_getDSTSavings)
-#define izrule_getDynamicClassID U_ICU_ENTRY_POINT_RENAME(izrule_getDynamicClassID)
-#define izrule_getFinalStart U_ICU_ENTRY_POINT_RENAME(izrule_getFinalStart)
-#define izrule_getFirstStart U_ICU_ENTRY_POINT_RENAME(izrule_getFirstStart)
-#define izrule_getName U_ICU_ENTRY_POINT_RENAME(izrule_getName)
-#define izrule_getNextStart U_ICU_ENTRY_POINT_RENAME(izrule_getNextStart)
-#define izrule_getPreviousStart U_ICU_ENTRY_POINT_RENAME(izrule_getPreviousStart)
-#define izrule_getRawOffset U_ICU_ENTRY_POINT_RENAME(izrule_getRawOffset)
-#define izrule_getStaticClassID U_ICU_ENTRY_POINT_RENAME(izrule_getStaticClassID)
-#define izrule_isEquivalentTo U_ICU_ENTRY_POINT_RENAME(izrule_isEquivalentTo)
-#define izrule_open U_ICU_ENTRY_POINT_RENAME(izrule_open)
-#define le_close U_ICU_ENTRY_POINT_RENAME(le_close)
-#define le_create U_ICU_ENTRY_POINT_RENAME(le_create)
-#define le_getCharIndices U_ICU_ENTRY_POINT_RENAME(le_getCharIndices)
-#define le_getCharIndicesWithBase U_ICU_ENTRY_POINT_RENAME(le_getCharIndicesWithBase)
-#define le_getGlyphCount U_ICU_ENTRY_POINT_RENAME(le_getGlyphCount)
-#define le_getGlyphPosition U_ICU_ENTRY_POINT_RENAME(le_getGlyphPosition)
-#define le_getGlyphPositions U_ICU_ENTRY_POINT_RENAME(le_getGlyphPositions)
-#define le_getGlyphs U_ICU_ENTRY_POINT_RENAME(le_getGlyphs)
-#define le_layoutChars U_ICU_ENTRY_POINT_RENAME(le_layoutChars)
-#define le_reset U_ICU_ENTRY_POINT_RENAME(le_reset)
-#define locale_getKeywords U_ICU_ENTRY_POINT_RENAME(locale_getKeywords)
-#define locale_getKeywordsStart U_ICU_ENTRY_POINT_RENAME(locale_getKeywordsStart)
-#define locale_get_default U_ICU_ENTRY_POINT_RENAME(locale_get_default)
-#define locale_set_default U_ICU_ENTRY_POINT_RENAME(locale_set_default)
-#define pl_addFontRun U_ICU_ENTRY_POINT_RENAME(pl_addFontRun)
-#define pl_addLocaleRun U_ICU_ENTRY_POINT_RENAME(pl_addLocaleRun)
-#define pl_addValueRun U_ICU_ENTRY_POINT_RENAME(pl_addValueRun)
-#define pl_close U_ICU_ENTRY_POINT_RENAME(pl_close)
-#define pl_closeFontRuns U_ICU_ENTRY_POINT_RENAME(pl_closeFontRuns)
-#define pl_closeLine U_ICU_ENTRY_POINT_RENAME(pl_closeLine)
-#define pl_closeLocaleRuns U_ICU_ENTRY_POINT_RENAME(pl_closeLocaleRuns)
-#define pl_closeValueRuns U_ICU_ENTRY_POINT_RENAME(pl_closeValueRuns)
-#define pl_countLineRuns U_ICU_ENTRY_POINT_RENAME(pl_countLineRuns)
-#define pl_create U_ICU_ENTRY_POINT_RENAME(pl_create)
-#define pl_getAscent U_ICU_ENTRY_POINT_RENAME(pl_getAscent)
-#define pl_getDescent U_ICU_ENTRY_POINT_RENAME(pl_getDescent)
-#define pl_getFontRunCount U_ICU_ENTRY_POINT_RENAME(pl_getFontRunCount)
-#define pl_getFontRunFont U_ICU_ENTRY_POINT_RENAME(pl_getFontRunFont)
-#define pl_getFontRunLastLimit U_ICU_ENTRY_POINT_RENAME(pl_getFontRunLastLimit)
-#define pl_getFontRunLimit U_ICU_ENTRY_POINT_RENAME(pl_getFontRunLimit)
-#define pl_getLeading U_ICU_ENTRY_POINT_RENAME(pl_getLeading)
-#define pl_getLineAscent U_ICU_ENTRY_POINT_RENAME(pl_getLineAscent)
-#define pl_getLineDescent U_ICU_ENTRY_POINT_RENAME(pl_getLineDescent)
-#define pl_getLineLeading U_ICU_ENTRY_POINT_RENAME(pl_getLineLeading)
-#define pl_getLineVisualRun U_ICU_ENTRY_POINT_RENAME(pl_getLineVisualRun)
-#define pl_getLineWidth U_ICU_ENTRY_POINT_RENAME(pl_getLineWidth)
-#define pl_getLocaleRunCount U_ICU_ENTRY_POINT_RENAME(pl_getLocaleRunCount)
-#define pl_getLocaleRunLastLimit U_ICU_ENTRY_POINT_RENAME(pl_getLocaleRunLastLimit)
-#define pl_getLocaleRunLimit U_ICU_ENTRY_POINT_RENAME(pl_getLocaleRunLimit)
-#define pl_getLocaleRunLocale U_ICU_ENTRY_POINT_RENAME(pl_getLocaleRunLocale)
-#define pl_getParagraphLevel U_ICU_ENTRY_POINT_RENAME(pl_getParagraphLevel)
-#define pl_getTextDirection U_ICU_ENTRY_POINT_RENAME(pl_getTextDirection)
-#define pl_getValueRunCount U_ICU_ENTRY_POINT_RENAME(pl_getValueRunCount)
-#define pl_getValueRunLastLimit U_ICU_ENTRY_POINT_RENAME(pl_getValueRunLastLimit)
-#define pl_getValueRunLimit U_ICU_ENTRY_POINT_RENAME(pl_getValueRunLimit)
-#define pl_getValueRunValue U_ICU_ENTRY_POINT_RENAME(pl_getValueRunValue)
-#define pl_getVisualRunAscent U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunAscent)
-#define pl_getVisualRunDescent U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunDescent)
-#define pl_getVisualRunDirection U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunDirection)
-#define pl_getVisualRunFont U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunFont)
-#define pl_getVisualRunGlyphCount U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunGlyphCount)
-#define pl_getVisualRunGlyphToCharMap U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunGlyphToCharMap)
-#define pl_getVisualRunGlyphs U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunGlyphs)
-#define pl_getVisualRunLeading U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunLeading)
-#define pl_getVisualRunPositions U_ICU_ENTRY_POINT_RENAME(pl_getVisualRunPositions)
-#define pl_isComplex U_ICU_ENTRY_POINT_RENAME(pl_isComplex)
-#define pl_nextLine U_ICU_ENTRY_POINT_RENAME(pl_nextLine)
-#define pl_openEmptyFontRuns U_ICU_ENTRY_POINT_RENAME(pl_openEmptyFontRuns)
-#define pl_openEmptyLocaleRuns U_ICU_ENTRY_POINT_RENAME(pl_openEmptyLocaleRuns)
-#define pl_openEmptyValueRuns U_ICU_ENTRY_POINT_RENAME(pl_openEmptyValueRuns)
-#define pl_openFontRuns U_ICU_ENTRY_POINT_RENAME(pl_openFontRuns)
-#define pl_openLocaleRuns U_ICU_ENTRY_POINT_RENAME(pl_openLocaleRuns)
-#define pl_openValueRuns U_ICU_ENTRY_POINT_RENAME(pl_openValueRuns)
-#define pl_reflow U_ICU_ENTRY_POINT_RENAME(pl_reflow)
-#define pl_resetFontRuns U_ICU_ENTRY_POINT_RENAME(pl_resetFontRuns)
-#define pl_resetLocaleRuns U_ICU_ENTRY_POINT_RENAME(pl_resetLocaleRuns)
-#define pl_resetValueRuns U_ICU_ENTRY_POINT_RENAME(pl_resetValueRuns)
-#define res_countArrayItems U_ICU_ENTRY_POINT_RENAME(res_countArrayItems)
-#define res_findResource U_ICU_ENTRY_POINT_RENAME(res_findResource)
-#define res_getAlias U_ICU_ENTRY_POINT_RENAME(res_getAlias)
-#define res_getArrayItem U_ICU_ENTRY_POINT_RENAME(res_getArrayItem)
-#define res_getBinary U_ICU_ENTRY_POINT_RENAME(res_getBinary)
-#define res_getIntVector U_ICU_ENTRY_POINT_RENAME(res_getIntVector)
-#define res_getPublicType U_ICU_ENTRY_POINT_RENAME(res_getPublicType)
-#define res_getResource U_ICU_ENTRY_POINT_RENAME(res_getResource)
-#define res_getString U_ICU_ENTRY_POINT_RENAME(res_getString)
-#define res_getTableItemByIndex U_ICU_ENTRY_POINT_RENAME(res_getTableItemByIndex)
-#define res_getTableItemByKey U_ICU_ENTRY_POINT_RENAME(res_getTableItemByKey)
-#define res_load U_ICU_ENTRY_POINT_RENAME(res_load)
-#define res_read U_ICU_ENTRY_POINT_RENAME(res_read)
-#define res_unload U_ICU_ENTRY_POINT_RENAME(res_unload)
-#define tmutfmtHashTableValueComparator U_ICU_ENTRY_POINT_RENAME(tmutfmtHashTableValueComparator)
-#define triedict_swap U_ICU_ENTRY_POINT_RENAME(triedict_swap)
-#define u_UCharsToChars U_ICU_ENTRY_POINT_RENAME(u_UCharsToChars)
-#define u_austrcpy U_ICU_ENTRY_POINT_RENAME(u_austrcpy)
-#define u_austrncpy U_ICU_ENTRY_POINT_RENAME(u_austrncpy)
-#define u_catclose U_ICU_ENTRY_POINT_RENAME(u_catclose)
-#define u_catgets U_ICU_ENTRY_POINT_RENAME(u_catgets)
-#define u_catopen U_ICU_ENTRY_POINT_RENAME(u_catopen)
-#define u_charAge U_ICU_ENTRY_POINT_RENAME(u_charAge)
-#define u_charDigitValue U_ICU_ENTRY_POINT_RENAME(u_charDigitValue)
-#define u_charDirection U_ICU_ENTRY_POINT_RENAME(u_charDirection)
-#define u_charFromName U_ICU_ENTRY_POINT_RENAME(u_charFromName)
-#define u_charMirror U_ICU_ENTRY_POINT_RENAME(u_charMirror)
-#define u_charName U_ICU_ENTRY_POINT_RENAME(u_charName)
-#define u_charType U_ICU_ENTRY_POINT_RENAME(u_charType)
-#define u_charsToUChars U_ICU_ENTRY_POINT_RENAME(u_charsToUChars)
-#define u_cleanup U_ICU_ENTRY_POINT_RENAME(u_cleanup)
-#define u_countChar32 U_ICU_ENTRY_POINT_RENAME(u_countChar32)
-#define u_digit U_ICU_ENTRY_POINT_RENAME(u_digit)
-#define u_enumCharNames U_ICU_ENTRY_POINT_RENAME(u_enumCharNames)
-#define u_enumCharTypes U_ICU_ENTRY_POINT_RENAME(u_enumCharTypes)
-#define u_errorName U_ICU_ENTRY_POINT_RENAME(u_errorName)
-#define u_fadopt U_ICU_ENTRY_POINT_RENAME(u_fadopt)
-#define u_fclose U_ICU_ENTRY_POINT_RENAME(u_fclose)
-#define u_feof U_ICU_ENTRY_POINT_RENAME(u_feof)
-#define u_fflush U_ICU_ENTRY_POINT_RENAME(u_fflush)
-#define u_fgetConverter U_ICU_ENTRY_POINT_RENAME(u_fgetConverter)
-#define u_fgetc U_ICU_ENTRY_POINT_RENAME(u_fgetc)
-#define u_fgetcodepage U_ICU_ENTRY_POINT_RENAME(u_fgetcodepage)
-#define u_fgetcx U_ICU_ENTRY_POINT_RENAME(u_fgetcx)
-#define u_fgetfile U_ICU_ENTRY_POINT_RENAME(u_fgetfile)
-#define u_fgetlocale U_ICU_ENTRY_POINT_RENAME(u_fgetlocale)
-#define u_fgets U_ICU_ENTRY_POINT_RENAME(u_fgets)
-#define u_file_read U_ICU_ENTRY_POINT_RENAME(u_file_read)
-#define u_file_write U_ICU_ENTRY_POINT_RENAME(u_file_write)
-#define u_file_write_flush U_ICU_ENTRY_POINT_RENAME(u_file_write_flush)
-#define u_finit U_ICU_ENTRY_POINT_RENAME(u_finit)
-#define u_flushDefaultConverter U_ICU_ENTRY_POINT_RENAME(u_flushDefaultConverter)
-#define u_foldCase U_ICU_ENTRY_POINT_RENAME(u_foldCase)
-#define u_fopen U_ICU_ENTRY_POINT_RENAME(u_fopen)
-#define u_forDigit U_ICU_ENTRY_POINT_RENAME(u_forDigit)
-#define u_formatMessage U_ICU_ENTRY_POINT_RENAME(u_formatMessage)
-#define u_formatMessageWithError U_ICU_ENTRY_POINT_RENAME(u_formatMessageWithError)
-#define u_fprintf U_ICU_ENTRY_POINT_RENAME(u_fprintf)
-#define u_fprintf_u U_ICU_ENTRY_POINT_RENAME(u_fprintf_u)
-#define u_fputc U_ICU_ENTRY_POINT_RENAME(u_fputc)
-#define u_fputs U_ICU_ENTRY_POINT_RENAME(u_fputs)
-#define u_frewind U_ICU_ENTRY_POINT_RENAME(u_frewind)
-#define u_fscanf U_ICU_ENTRY_POINT_RENAME(u_fscanf)
-#define u_fscanf_u U_ICU_ENTRY_POINT_RENAME(u_fscanf_u)
-#define u_fsetcodepage U_ICU_ENTRY_POINT_RENAME(u_fsetcodepage)
-#define u_fsetlocale U_ICU_ENTRY_POINT_RENAME(u_fsetlocale)
-#define u_fsettransliterator U_ICU_ENTRY_POINT_RENAME(u_fsettransliterator)
-#define u_fstropen U_ICU_ENTRY_POINT_RENAME(u_fstropen)
-#define u_fungetc U_ICU_ENTRY_POINT_RENAME(u_fungetc)
-#define u_getCombiningClass U_ICU_ENTRY_POINT_RENAME(u_getCombiningClass)
-#define u_getDataDirectory U_ICU_ENTRY_POINT_RENAME(u_getDataDirectory)
-#define u_getDataVersion U_ICU_ENTRY_POINT_RENAME(u_getDataVersion)
-#define u_getDefaultConverter U_ICU_ENTRY_POINT_RENAME(u_getDefaultConverter)
-#define u_getFC_NFKC_Closure U_ICU_ENTRY_POINT_RENAME(u_getFC_NFKC_Closure)
-#define u_getISOComment U_ICU_ENTRY_POINT_RENAME(u_getISOComment)
-#define u_getIntPropertyMaxValue U_ICU_ENTRY_POINT_RENAME(u_getIntPropertyMaxValue)
-#define u_getIntPropertyMinValue U_ICU_ENTRY_POINT_RENAME(u_getIntPropertyMinValue)
-#define u_getIntPropertyValue U_ICU_ENTRY_POINT_RENAME(u_getIntPropertyValue)
-#define u_getNumericValue U_ICU_ENTRY_POINT_RENAME(u_getNumericValue)
-#define u_getPropertyEnum U_ICU_ENTRY_POINT_RENAME(u_getPropertyEnum)
-#define u_getPropertyName U_ICU_ENTRY_POINT_RENAME(u_getPropertyName)
-#define u_getPropertyValueEnum U_ICU_ENTRY_POINT_RENAME(u_getPropertyValueEnum)
-#define u_getPropertyValueName U_ICU_ENTRY_POINT_RENAME(u_getPropertyValueName)
-#define u_getUnicodeProperties U_ICU_ENTRY_POINT_RENAME(u_getUnicodeProperties)
-#define u_getUnicodeVersion U_ICU_ENTRY_POINT_RENAME(u_getUnicodeVersion)
-#define u_getVersion U_ICU_ENTRY_POINT_RENAME(u_getVersion)
-#define u_hasBinaryProperty U_ICU_ENTRY_POINT_RENAME(u_hasBinaryProperty)
-#define u_init U_ICU_ENTRY_POINT_RENAME(u_init)
-#define u_isDataOlder U_ICU_ENTRY_POINT_RENAME(u_isDataOlder)
-#define u_isIDIgnorable U_ICU_ENTRY_POINT_RENAME(u_isIDIgnorable)
-#define u_isIDPart U_ICU_ENTRY_POINT_RENAME(u_isIDPart)
-#define u_isIDStart U_ICU_ENTRY_POINT_RENAME(u_isIDStart)
-#define u_isISOControl U_ICU_ENTRY_POINT_RENAME(u_isISOControl)
-#define u_isJavaIDPart U_ICU_ENTRY_POINT_RENAME(u_isJavaIDPart)
-#define u_isJavaIDStart U_ICU_ENTRY_POINT_RENAME(u_isJavaIDStart)
-#define u_isJavaSpaceChar U_ICU_ENTRY_POINT_RENAME(u_isJavaSpaceChar)
-#define u_isMirrored U_ICU_ENTRY_POINT_RENAME(u_isMirrored)
-#define u_isUAlphabetic U_ICU_ENTRY_POINT_RENAME(u_isUAlphabetic)
-#define u_isULowercase U_ICU_ENTRY_POINT_RENAME(u_isULowercase)
-#define u_isUUppercase U_ICU_ENTRY_POINT_RENAME(u_isUUppercase)
-#define u_isUWhiteSpace U_ICU_ENTRY_POINT_RENAME(u_isUWhiteSpace)
-#define u_isWhitespace U_ICU_ENTRY_POINT_RENAME(u_isWhitespace)
-#define u_isalnum U_ICU_ENTRY_POINT_RENAME(u_isalnum)
-#define u_isalnumPOSIX U_ICU_ENTRY_POINT_RENAME(u_isalnumPOSIX)
-#define u_isalpha U_ICU_ENTRY_POINT_RENAME(u_isalpha)
-#define u_isbase U_ICU_ENTRY_POINT_RENAME(u_isbase)
-#define u_isblank U_ICU_ENTRY_POINT_RENAME(u_isblank)
-#define u_iscntrl U_ICU_ENTRY_POINT_RENAME(u_iscntrl)
-#define u_isdefined U_ICU_ENTRY_POINT_RENAME(u_isdefined)
-#define u_isdigit U_ICU_ENTRY_POINT_RENAME(u_isdigit)
-#define u_isgraph U_ICU_ENTRY_POINT_RENAME(u_isgraph)
-#define u_isgraphPOSIX U_ICU_ENTRY_POINT_RENAME(u_isgraphPOSIX)
-#define u_islower U_ICU_ENTRY_POINT_RENAME(u_islower)
-#define u_isprint U_ICU_ENTRY_POINT_RENAME(u_isprint)
-#define u_isprintPOSIX U_ICU_ENTRY_POINT_RENAME(u_isprintPOSIX)
-#define u_ispunct U_ICU_ENTRY_POINT_RENAME(u_ispunct)
-#define u_isspace U_ICU_ENTRY_POINT_RENAME(u_isspace)
-#define u_istitle U_ICU_ENTRY_POINT_RENAME(u_istitle)
-#define u_isupper U_ICU_ENTRY_POINT_RENAME(u_isupper)
-#define u_isxdigit U_ICU_ENTRY_POINT_RENAME(u_isxdigit)
-#define u_lengthOfIdenticalLevelRun U_ICU_ENTRY_POINT_RENAME(u_lengthOfIdenticalLevelRun)
-#define u_locbund_close U_ICU_ENTRY_POINT_RENAME(u_locbund_close)
-#define u_locbund_getNumberFormat U_ICU_ENTRY_POINT_RENAME(u_locbund_getNumberFormat)
-#define u_locbund_init U_ICU_ENTRY_POINT_RENAME(u_locbund_init)
-#define u_memcasecmp U_ICU_ENTRY_POINT_RENAME(u_memcasecmp)
-#define u_memchr U_ICU_ENTRY_POINT_RENAME(u_memchr)
-#define u_memchr32 U_ICU_ENTRY_POINT_RENAME(u_memchr32)
-#define u_memcmp U_ICU_ENTRY_POINT_RENAME(u_memcmp)
-#define u_memcmpCodePointOrder U_ICU_ENTRY_POINT_RENAME(u_memcmpCodePointOrder)
-#define u_memcpy U_ICU_ENTRY_POINT_RENAME(u_memcpy)
-#define u_memmove U_ICU_ENTRY_POINT_RENAME(u_memmove)
-#define u_memrchr U_ICU_ENTRY_POINT_RENAME(u_memrchr)
-#define u_memrchr32 U_ICU_ENTRY_POINT_RENAME(u_memrchr32)
-#define u_memset U_ICU_ENTRY_POINT_RENAME(u_memset)
-#define u_parseMessage U_ICU_ENTRY_POINT_RENAME(u_parseMessage)
-#define u_parseMessageWithError U_ICU_ENTRY_POINT_RENAME(u_parseMessageWithError)
-#define u_printf_parse U_ICU_ENTRY_POINT_RENAME(u_printf_parse)
-#define u_releaseDefaultConverter U_ICU_ENTRY_POINT_RENAME(u_releaseDefaultConverter)
-#define u_scanf_parse U_ICU_ENTRY_POINT_RENAME(u_scanf_parse)
-#define u_setAtomicIncDecFunctions U_ICU_ENTRY_POINT_RENAME(u_setAtomicIncDecFunctions)
-#define u_setDataDirectory U_ICU_ENTRY_POINT_RENAME(u_setDataDirectory)
-#define u_setMemoryFunctions U_ICU_ENTRY_POINT_RENAME(u_setMemoryFunctions)
-#define u_setMutexFunctions U_ICU_ENTRY_POINT_RENAME(u_setMutexFunctions)
-#define u_shapeArabic U_ICU_ENTRY_POINT_RENAME(u_shapeArabic)
-#define u_snprintf U_ICU_ENTRY_POINT_RENAME(u_snprintf)
-#define u_snprintf_u U_ICU_ENTRY_POINT_RENAME(u_snprintf_u)
-#define u_sprintf U_ICU_ENTRY_POINT_RENAME(u_sprintf)
-#define u_sprintf_u U_ICU_ENTRY_POINT_RENAME(u_sprintf_u)
-#define u_sscanf U_ICU_ENTRY_POINT_RENAME(u_sscanf)
-#define u_sscanf_u U_ICU_ENTRY_POINT_RENAME(u_sscanf_u)
-#define u_strCaseCompare U_ICU_ENTRY_POINT_RENAME(u_strCaseCompare)
-#define u_strCompare U_ICU_ENTRY_POINT_RENAME(u_strCompare)
-#define u_strCompareIter U_ICU_ENTRY_POINT_RENAME(u_strCompareIter)
-#define u_strFindFirst U_ICU_ENTRY_POINT_RENAME(u_strFindFirst)
-#define u_strFindLast U_ICU_ENTRY_POINT_RENAME(u_strFindLast)
-#define u_strFoldCase U_ICU_ENTRY_POINT_RENAME(u_strFoldCase)
-#define u_strFromJavaModifiedUTF8WithSub U_ICU_ENTRY_POINT_RENAME(u_strFromJavaModifiedUTF8WithSub)
-#define u_strFromPunycode U_ICU_ENTRY_POINT_RENAME(u_strFromPunycode)
-#define u_strFromUTF32 U_ICU_ENTRY_POINT_RENAME(u_strFromUTF32)
-#define u_strFromUTF32WithSub U_ICU_ENTRY_POINT_RENAME(u_strFromUTF32WithSub)
-#define u_strFromUTF8 U_ICU_ENTRY_POINT_RENAME(u_strFromUTF8)
-#define u_strFromUTF8Lenient U_ICU_ENTRY_POINT_RENAME(u_strFromUTF8Lenient)
-#define u_strFromUTF8WithSub U_ICU_ENTRY_POINT_RENAME(u_strFromUTF8WithSub)
-#define u_strFromWCS U_ICU_ENTRY_POINT_RENAME(u_strFromWCS)
-#define u_strHasMoreChar32Than U_ICU_ENTRY_POINT_RENAME(u_strHasMoreChar32Than)
-#define u_strToJavaModifiedUTF8 U_ICU_ENTRY_POINT_RENAME(u_strToJavaModifiedUTF8)
-#define u_strToLower U_ICU_ENTRY_POINT_RENAME(u_strToLower)
-#define u_strToPunycode U_ICU_ENTRY_POINT_RENAME(u_strToPunycode)
-#define u_strToTitle U_ICU_ENTRY_POINT_RENAME(u_strToTitle)
-#define u_strToUTF32 U_ICU_ENTRY_POINT_RENAME(u_strToUTF32)
-#define u_strToUTF32WithSub U_ICU_ENTRY_POINT_RENAME(u_strToUTF32WithSub)
-#define u_strToUTF8 U_ICU_ENTRY_POINT_RENAME(u_strToUTF8)
-#define u_strToUTF8WithSub U_ICU_ENTRY_POINT_RENAME(u_strToUTF8WithSub)
-#define u_strToUpper U_ICU_ENTRY_POINT_RENAME(u_strToUpper)
-#define u_strToWCS U_ICU_ENTRY_POINT_RENAME(u_strToWCS)
-#define u_strcasecmp U_ICU_ENTRY_POINT_RENAME(u_strcasecmp)
-#define u_strcat U_ICU_ENTRY_POINT_RENAME(u_strcat)
-#define u_strchr U_ICU_ENTRY_POINT_RENAME(u_strchr)
-#define u_strchr32 U_ICU_ENTRY_POINT_RENAME(u_strchr32)
-#define u_strcmp U_ICU_ENTRY_POINT_RENAME(u_strcmp)
-#define u_strcmpCodePointOrder U_ICU_ENTRY_POINT_RENAME(u_strcmpCodePointOrder)
-#define u_strcmpFold U_ICU_ENTRY_POINT_RENAME(u_strcmpFold)
-#define u_strcpy U_ICU_ENTRY_POINT_RENAME(u_strcpy)
-#define u_strcspn U_ICU_ENTRY_POINT_RENAME(u_strcspn)
-#define u_strlen U_ICU_ENTRY_POINT_RENAME(u_strlen)
-#define u_strncasecmp U_ICU_ENTRY_POINT_RENAME(u_strncasecmp)
-#define u_strncat U_ICU_ENTRY_POINT_RENAME(u_strncat)
-#define u_strncmp U_ICU_ENTRY_POINT_RENAME(u_strncmp)
-#define u_strncmpCodePointOrder U_ICU_ENTRY_POINT_RENAME(u_strncmpCodePointOrder)
-#define u_strncpy U_ICU_ENTRY_POINT_RENAME(u_strncpy)
-#define u_strpbrk U_ICU_ENTRY_POINT_RENAME(u_strpbrk)
-#define u_strrchr U_ICU_ENTRY_POINT_RENAME(u_strrchr)
-#define u_strrchr32 U_ICU_ENTRY_POINT_RENAME(u_strrchr32)
-#define u_strrstr U_ICU_ENTRY_POINT_RENAME(u_strrstr)
-#define u_strspn U_ICU_ENTRY_POINT_RENAME(u_strspn)
-#define u_strstr U_ICU_ENTRY_POINT_RENAME(u_strstr)
-#define u_strtok_r U_ICU_ENTRY_POINT_RENAME(u_strtok_r)
-#define u_terminateChars U_ICU_ENTRY_POINT_RENAME(u_terminateChars)
-#define u_terminateUChar32s U_ICU_ENTRY_POINT_RENAME(u_terminateUChar32s)
-#define u_terminateUChars U_ICU_ENTRY_POINT_RENAME(u_terminateUChars)
-#define u_terminateWChars U_ICU_ENTRY_POINT_RENAME(u_terminateWChars)
-#define u_tolower U_ICU_ENTRY_POINT_RENAME(u_tolower)
-#define u_totitle U_ICU_ENTRY_POINT_RENAME(u_totitle)
-#define u_toupper U_ICU_ENTRY_POINT_RENAME(u_toupper)
-#define u_uastrcpy U_ICU_ENTRY_POINT_RENAME(u_uastrcpy)
-#define u_uastrncpy U_ICU_ENTRY_POINT_RENAME(u_uastrncpy)
-#define u_unescape U_ICU_ENTRY_POINT_RENAME(u_unescape)
-#define u_unescapeAt U_ICU_ENTRY_POINT_RENAME(u_unescapeAt)
-#define u_versionFromString U_ICU_ENTRY_POINT_RENAME(u_versionFromString)
-#define u_versionFromUString U_ICU_ENTRY_POINT_RENAME(u_versionFromUString)
-#define u_versionToString U_ICU_ENTRY_POINT_RENAME(u_versionToString)
-#define u_vformatMessage U_ICU_ENTRY_POINT_RENAME(u_vformatMessage)
-#define u_vformatMessageWithError U_ICU_ENTRY_POINT_RENAME(u_vformatMessageWithError)
-#define u_vfprintf U_ICU_ENTRY_POINT_RENAME(u_vfprintf)
-#define u_vfprintf_u U_ICU_ENTRY_POINT_RENAME(u_vfprintf_u)
-#define u_vfscanf U_ICU_ENTRY_POINT_RENAME(u_vfscanf)
-#define u_vfscanf_u U_ICU_ENTRY_POINT_RENAME(u_vfscanf_u)
-#define u_vparseMessage U_ICU_ENTRY_POINT_RENAME(u_vparseMessage)
-#define u_vparseMessageWithError U_ICU_ENTRY_POINT_RENAME(u_vparseMessageWithError)
-#define u_vsnprintf U_ICU_ENTRY_POINT_RENAME(u_vsnprintf)
-#define u_vsnprintf_u U_ICU_ENTRY_POINT_RENAME(u_vsnprintf_u)
-#define u_vsprintf U_ICU_ENTRY_POINT_RENAME(u_vsprintf)
-#define u_vsprintf_u U_ICU_ENTRY_POINT_RENAME(u_vsprintf_u)
-#define u_vsscanf U_ICU_ENTRY_POINT_RENAME(u_vsscanf)
-#define u_vsscanf_u U_ICU_ENTRY_POINT_RENAME(u_vsscanf_u)
-#define u_writeDiff U_ICU_ENTRY_POINT_RENAME(u_writeDiff)
-#define u_writeIdenticalLevelRun U_ICU_ENTRY_POINT_RENAME(u_writeIdenticalLevelRun)
-#define u_writeIdenticalLevelRunTwoChars U_ICU_ENTRY_POINT_RENAME(u_writeIdenticalLevelRunTwoChars)
-#define ubidi_addPropertyStarts U_ICU_ENTRY_POINT_RENAME(ubidi_addPropertyStarts)
-#define ubidi_close U_ICU_ENTRY_POINT_RENAME(ubidi_close)
-#define ubidi_countParagraphs U_ICU_ENTRY_POINT_RENAME(ubidi_countParagraphs)
-#define ubidi_countRuns U_ICU_ENTRY_POINT_RENAME(ubidi_countRuns)
-#define ubidi_getBaseDirection U_ICU_ENTRY_POINT_RENAME(ubidi_getBaseDirection)
-#define ubidi_getClass U_ICU_ENTRY_POINT_RENAME(ubidi_getClass)
-#define ubidi_getClassCallback U_ICU_ENTRY_POINT_RENAME(ubidi_getClassCallback)
-#define ubidi_getCustomizedClass U_ICU_ENTRY_POINT_RENAME(ubidi_getCustomizedClass)
-#define ubidi_getDirection U_ICU_ENTRY_POINT_RENAME(ubidi_getDirection)
-#define ubidi_getJoiningGroup U_ICU_ENTRY_POINT_RENAME(ubidi_getJoiningGroup)
-#define ubidi_getJoiningType U_ICU_ENTRY_POINT_RENAME(ubidi_getJoiningType)
-#define ubidi_getLength U_ICU_ENTRY_POINT_RENAME(ubidi_getLength)
-#define ubidi_getLevelAt U_ICU_ENTRY_POINT_RENAME(ubidi_getLevelAt)
-#define ubidi_getLevels U_ICU_ENTRY_POINT_RENAME(ubidi_getLevels)
-#define ubidi_getLogicalIndex U_ICU_ENTRY_POINT_RENAME(ubidi_getLogicalIndex)
-#define ubidi_getLogicalMap U_ICU_ENTRY_POINT_RENAME(ubidi_getLogicalMap)
-#define ubidi_getLogicalRun U_ICU_ENTRY_POINT_RENAME(ubidi_getLogicalRun)
-#define ubidi_getMaxValue U_ICU_ENTRY_POINT_RENAME(ubidi_getMaxValue)
-#define ubidi_getMemory U_ICU_ENTRY_POINT_RENAME(ubidi_getMemory)
-#define ubidi_getMirror U_ICU_ENTRY_POINT_RENAME(ubidi_getMirror)
-#define ubidi_getParaLevel U_ICU_ENTRY_POINT_RENAME(ubidi_getParaLevel)
-#define ubidi_getParagraph U_ICU_ENTRY_POINT_RENAME(ubidi_getParagraph)
-#define ubidi_getParagraphByIndex U_ICU_ENTRY_POINT_RENAME(ubidi_getParagraphByIndex)
-#define ubidi_getProcessedLength U_ICU_ENTRY_POINT_RENAME(ubidi_getProcessedLength)
-#define ubidi_getReorderingMode U_ICU_ENTRY_POINT_RENAME(ubidi_getReorderingMode)
-#define ubidi_getReorderingOptions U_ICU_ENTRY_POINT_RENAME(ubidi_getReorderingOptions)
-#define ubidi_getResultLength U_ICU_ENTRY_POINT_RENAME(ubidi_getResultLength)
-#define ubidi_getRuns U_ICU_ENTRY_POINT_RENAME(ubidi_getRuns)
-#define ubidi_getSingleton U_ICU_ENTRY_POINT_RENAME(ubidi_getSingleton)
-#define ubidi_getText U_ICU_ENTRY_POINT_RENAME(ubidi_getText)
-#define ubidi_getVisualIndex U_ICU_ENTRY_POINT_RENAME(ubidi_getVisualIndex)
-#define ubidi_getVisualMap U_ICU_ENTRY_POINT_RENAME(ubidi_getVisualMap)
-#define ubidi_getVisualRun U_ICU_ENTRY_POINT_RENAME(ubidi_getVisualRun)
-#define ubidi_invertMap U_ICU_ENTRY_POINT_RENAME(ubidi_invertMap)
-#define ubidi_isBidiControl U_ICU_ENTRY_POINT_RENAME(ubidi_isBidiControl)
-#define ubidi_isInverse U_ICU_ENTRY_POINT_RENAME(ubidi_isInverse)
-#define ubidi_isJoinControl U_ICU_ENTRY_POINT_RENAME(ubidi_isJoinControl)
-#define ubidi_isMirrored U_ICU_ENTRY_POINT_RENAME(ubidi_isMirrored)
-#define ubidi_isOrderParagraphsLTR U_ICU_ENTRY_POINT_RENAME(ubidi_isOrderParagraphsLTR)
-#define ubidi_open U_ICU_ENTRY_POINT_RENAME(ubidi_open)
-#define ubidi_openSized U_ICU_ENTRY_POINT_RENAME(ubidi_openSized)
-#define ubidi_orderParagraphsLTR U_ICU_ENTRY_POINT_RENAME(ubidi_orderParagraphsLTR)
-#define ubidi_reorderLogical U_ICU_ENTRY_POINT_RENAME(ubidi_reorderLogical)
-#define ubidi_reorderVisual U_ICU_ENTRY_POINT_RENAME(ubidi_reorderVisual)
-#define ubidi_setClassCallback U_ICU_ENTRY_POINT_RENAME(ubidi_setClassCallback)
-#define ubidi_setInverse U_ICU_ENTRY_POINT_RENAME(ubidi_setInverse)
-#define ubidi_setLine U_ICU_ENTRY_POINT_RENAME(ubidi_setLine)
-#define ubidi_setPara U_ICU_ENTRY_POINT_RENAME(ubidi_setPara)
-#define ubidi_setReorderingMode U_ICU_ENTRY_POINT_RENAME(ubidi_setReorderingMode)
-#define ubidi_setReorderingOptions U_ICU_ENTRY_POINT_RENAME(ubidi_setReorderingOptions)
-#define ubidi_writeReordered U_ICU_ENTRY_POINT_RENAME(ubidi_writeReordered)
-#define ubidi_writeReverse U_ICU_ENTRY_POINT_RENAME(ubidi_writeReverse)
-#define ublock_getCode U_ICU_ENTRY_POINT_RENAME(ublock_getCode)
-#define ubrk_close U_ICU_ENTRY_POINT_RENAME(ubrk_close)
-#define ubrk_countAvailable U_ICU_ENTRY_POINT_RENAME(ubrk_countAvailable)
-#define ubrk_current U_ICU_ENTRY_POINT_RENAME(ubrk_current)
-#define ubrk_first U_ICU_ENTRY_POINT_RENAME(ubrk_first)
-#define ubrk_following U_ICU_ENTRY_POINT_RENAME(ubrk_following)
-#define ubrk_getAvailable U_ICU_ENTRY_POINT_RENAME(ubrk_getAvailable)
-#define ubrk_getLocaleByType U_ICU_ENTRY_POINT_RENAME(ubrk_getLocaleByType)
-#define ubrk_getRuleStatus U_ICU_ENTRY_POINT_RENAME(ubrk_getRuleStatus)
-#define ubrk_getRuleStatusVec U_ICU_ENTRY_POINT_RENAME(ubrk_getRuleStatusVec)
-#define ubrk_isBoundary U_ICU_ENTRY_POINT_RENAME(ubrk_isBoundary)
-#define ubrk_last U_ICU_ENTRY_POINT_RENAME(ubrk_last)
-#define ubrk_next U_ICU_ENTRY_POINT_RENAME(ubrk_next)
-#define ubrk_open U_ICU_ENTRY_POINT_RENAME(ubrk_open)
-#define ubrk_openRules U_ICU_ENTRY_POINT_RENAME(ubrk_openRules)
-#define ubrk_preceding U_ICU_ENTRY_POINT_RENAME(ubrk_preceding)
-#define ubrk_previous U_ICU_ENTRY_POINT_RENAME(ubrk_previous)
-#define ubrk_safeClone U_ICU_ENTRY_POINT_RENAME(ubrk_safeClone)
-#define ubrk_setText U_ICU_ENTRY_POINT_RENAME(ubrk_setText)
-#define ubrk_setUText U_ICU_ENTRY_POINT_RENAME(ubrk_setUText)
-#define ubrk_swap U_ICU_ENTRY_POINT_RENAME(ubrk_swap)
-#define ucal_add U_ICU_ENTRY_POINT_RENAME(ucal_add)
-#define ucal_clear U_ICU_ENTRY_POINT_RENAME(ucal_clear)
-#define ucal_clearField U_ICU_ENTRY_POINT_RENAME(ucal_clearField)
-#define ucal_clone U_ICU_ENTRY_POINT_RENAME(ucal_clone)
-#define ucal_close U_ICU_ENTRY_POINT_RENAME(ucal_close)
-#define ucal_countAvailable U_ICU_ENTRY_POINT_RENAME(ucal_countAvailable)
-#define ucal_equivalentTo U_ICU_ENTRY_POINT_RENAME(ucal_equivalentTo)
-#define ucal_get U_ICU_ENTRY_POINT_RENAME(ucal_get)
-#define ucal_getAttribute U_ICU_ENTRY_POINT_RENAME(ucal_getAttribute)
-#define ucal_getAvailable U_ICU_ENTRY_POINT_RENAME(ucal_getAvailable)
-#define ucal_getCanonicalTimeZoneID U_ICU_ENTRY_POINT_RENAME(ucal_getCanonicalTimeZoneID)
-#define ucal_getDSTSavings U_ICU_ENTRY_POINT_RENAME(ucal_getDSTSavings)
-#define ucal_getDayOfWeekType U_ICU_ENTRY_POINT_RENAME(ucal_getDayOfWeekType)
-#define ucal_getDefaultTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_getDefaultTimeZone)
-#define ucal_getGregorianChange U_ICU_ENTRY_POINT_RENAME(ucal_getGregorianChange)
-#define ucal_getKeywordValuesForLocale U_ICU_ENTRY_POINT_RENAME(ucal_getKeywordValuesForLocale)
-#define ucal_getLimit U_ICU_ENTRY_POINT_RENAME(ucal_getLimit)
-#define ucal_getLocaleByType U_ICU_ENTRY_POINT_RENAME(ucal_getLocaleByType)
-#define ucal_getMillis U_ICU_ENTRY_POINT_RENAME(ucal_getMillis)
-#define ucal_getNow U_ICU_ENTRY_POINT_RENAME(ucal_getNow)
-#define ucal_getTZDataVersion U_ICU_ENTRY_POINT_RENAME(ucal_getTZDataVersion)
-#define ucal_getTimeZoneDisplayName U_ICU_ENTRY_POINT_RENAME(ucal_getTimeZoneDisplayName)
-#define ucal_getType U_ICU_ENTRY_POINT_RENAME(ucal_getType)
-#define ucal_getWeekendTransition U_ICU_ENTRY_POINT_RENAME(ucal_getWeekendTransition)
-#define ucal_inDaylightTime U_ICU_ENTRY_POINT_RENAME(ucal_inDaylightTime)
-#define ucal_isSet U_ICU_ENTRY_POINT_RENAME(ucal_isSet)
-#define ucal_isWeekend U_ICU_ENTRY_POINT_RENAME(ucal_isWeekend)
-#define ucal_open U_ICU_ENTRY_POINT_RENAME(ucal_open)
-#define ucal_openCountryTimeZones U_ICU_ENTRY_POINT_RENAME(ucal_openCountryTimeZones)
-#define ucal_openTimeZones U_ICU_ENTRY_POINT_RENAME(ucal_openTimeZones)
-#define ucal_roll U_ICU_ENTRY_POINT_RENAME(ucal_roll)
-#define ucal_set U_ICU_ENTRY_POINT_RENAME(ucal_set)
-#define ucal_setAttribute U_ICU_ENTRY_POINT_RENAME(ucal_setAttribute)
-#define ucal_setDate U_ICU_ENTRY_POINT_RENAME(ucal_setDate)
-#define ucal_setDateTime U_ICU_ENTRY_POINT_RENAME(ucal_setDateTime)
-#define ucal_setDefaultTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_setDefaultTimeZone)
-#define ucal_setGregorianChange U_ICU_ENTRY_POINT_RENAME(ucal_setGregorianChange)
-#define ucal_setMillis U_ICU_ENTRY_POINT_RENAME(ucal_setMillis)
-#define ucal_setTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_setTimeZone)
-#define ucase_addCaseClosure U_ICU_ENTRY_POINT_RENAME(ucase_addCaseClosure)
-#define ucase_addPropertyStarts U_ICU_ENTRY_POINT_RENAME(ucase_addPropertyStarts)
-#define ucase_addStringCaseClosure U_ICU_ENTRY_POINT_RENAME(ucase_addStringCaseClosure)
-#define ucase_fold U_ICU_ENTRY_POINT_RENAME(ucase_fold)
-#define ucase_getCaseLocale U_ICU_ENTRY_POINT_RENAME(ucase_getCaseLocale)
-#define ucase_getSingleton U_ICU_ENTRY_POINT_RENAME(ucase_getSingleton)
-#define ucase_getType U_ICU_ENTRY_POINT_RENAME(ucase_getType)
-#define ucase_getTypeOrIgnorable U_ICU_ENTRY_POINT_RENAME(ucase_getTypeOrIgnorable)
-#define ucase_hasBinaryProperty U_ICU_ENTRY_POINT_RENAME(ucase_hasBinaryProperty)
-#define ucase_isCaseSensitive U_ICU_ENTRY_POINT_RENAME(ucase_isCaseSensitive)
-#define ucase_isSoftDotted U_ICU_ENTRY_POINT_RENAME(ucase_isSoftDotted)
-#define ucase_toFullFolding U_ICU_ENTRY_POINT_RENAME(ucase_toFullFolding)
-#define ucase_toFullLower U_ICU_ENTRY_POINT_RENAME(ucase_toFullLower)
-#define ucase_toFullTitle U_ICU_ENTRY_POINT_RENAME(ucase_toFullTitle)
-#define ucase_toFullUpper U_ICU_ENTRY_POINT_RENAME(ucase_toFullUpper)
-#define ucase_tolower U_ICU_ENTRY_POINT_RENAME(ucase_tolower)
-#define ucase_totitle U_ICU_ENTRY_POINT_RENAME(ucase_totitle)
-#define ucase_toupper U_ICU_ENTRY_POINT_RENAME(ucase_toupper)
-#define ucasemap_close U_ICU_ENTRY_POINT_RENAME(ucasemap_close)
-#define ucasemap_getBreakIterator U_ICU_ENTRY_POINT_RENAME(ucasemap_getBreakIterator)
-#define ucasemap_getLocale U_ICU_ENTRY_POINT_RENAME(ucasemap_getLocale)
-#define ucasemap_getOptions U_ICU_ENTRY_POINT_RENAME(ucasemap_getOptions)
-#define ucasemap_open U_ICU_ENTRY_POINT_RENAME(ucasemap_open)
-#define ucasemap_setBreakIterator U_ICU_ENTRY_POINT_RENAME(ucasemap_setBreakIterator)
-#define ucasemap_setLocale U_ICU_ENTRY_POINT_RENAME(ucasemap_setLocale)
-#define ucasemap_setOptions U_ICU_ENTRY_POINT_RENAME(ucasemap_setOptions)
-#define ucasemap_toTitle U_ICU_ENTRY_POINT_RENAME(ucasemap_toTitle)
-#define ucasemap_utf8FoldCase U_ICU_ENTRY_POINT_RENAME(ucasemap_utf8FoldCase)
-#define ucasemap_utf8ToLower U_ICU_ENTRY_POINT_RENAME(ucasemap_utf8ToLower)
-#define ucasemap_utf8ToTitle U_ICU_ENTRY_POINT_RENAME(ucasemap_utf8ToTitle)
-#define ucasemap_utf8ToUpper U_ICU_ENTRY_POINT_RENAME(ucasemap_utf8ToUpper)
-#define ucd_close U_ICU_ENTRY_POINT_RENAME(ucd_close)
-#define ucd_flushCache U_ICU_ENTRY_POINT_RENAME(ucd_flushCache)
-#define ucd_freeCache U_ICU_ENTRY_POINT_RENAME(ucd_freeCache)
-#define ucd_getCollator U_ICU_ENTRY_POINT_RENAME(ucd_getCollator)
-#define ucd_open U_ICU_ENTRY_POINT_RENAME(ucd_open)
-#define uchar_addPropertyStarts U_ICU_ENTRY_POINT_RENAME(uchar_addPropertyStarts)
-#define uchar_swapNames U_ICU_ENTRY_POINT_RENAME(uchar_swapNames)
-#define ucln_cleanupOne U_ICU_ENTRY_POINT_RENAME(ucln_cleanupOne)
-#define ucln_common_registerCleanup U_ICU_ENTRY_POINT_RENAME(ucln_common_registerCleanup)
-#define ucln_i18n_registerCleanup U_ICU_ENTRY_POINT_RENAME(ucln_i18n_registerCleanup)
-#define ucln_io_registerCleanup U_ICU_ENTRY_POINT_RENAME(ucln_io_registerCleanup)
-#define ucln_lib_cleanup U_ICU_ENTRY_POINT_RENAME(ucln_lib_cleanup)
-#define ucln_registerCleanup U_ICU_ENTRY_POINT_RENAME(ucln_registerCleanup)
-#define ucnv_MBCSFromUChar32 U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSFromUChar32)
-#define ucnv_MBCSFromUnicodeWithOffsets U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSFromUnicodeWithOffsets)
-#define ucnv_MBCSGetFilteredUnicodeSetForUnicode U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSGetFilteredUnicodeSetForUnicode)
-#define ucnv_MBCSGetType U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSGetType)
-#define ucnv_MBCSGetUnicodeSetForUnicode U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSGetUnicodeSetForUnicode)
-#define ucnv_MBCSIsLeadByte U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSIsLeadByte)
-#define ucnv_MBCSSimpleGetNextUChar U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSSimpleGetNextUChar)
-#define ucnv_MBCSToUnicodeWithOffsets U_ICU_ENTRY_POINT_RENAME(ucnv_MBCSToUnicodeWithOffsets)
-#define ucnv_bld_countAvailableConverters U_ICU_ENTRY_POINT_RENAME(ucnv_bld_countAvailableConverters)
-#define ucnv_bld_getAvailableConverter U_ICU_ENTRY_POINT_RENAME(ucnv_bld_getAvailableConverter)
-#define ucnv_canCreateConverter U_ICU_ENTRY_POINT_RENAME(ucnv_canCreateConverter)
-#define ucnv_cbFromUWriteBytes U_ICU_ENTRY_POINT_RENAME(ucnv_cbFromUWriteBytes)
-#define ucnv_cbFromUWriteSub U_ICU_ENTRY_POINT_RENAME(ucnv_cbFromUWriteSub)
-#define ucnv_cbFromUWriteUChars U_ICU_ENTRY_POINT_RENAME(ucnv_cbFromUWriteUChars)
-#define ucnv_cbToUWriteSub U_ICU_ENTRY_POINT_RENAME(ucnv_cbToUWriteSub)
-#define ucnv_cbToUWriteUChars U_ICU_ENTRY_POINT_RENAME(ucnv_cbToUWriteUChars)
-#define ucnv_close U_ICU_ENTRY_POINT_RENAME(ucnv_close)
-#define ucnv_compareNames U_ICU_ENTRY_POINT_RENAME(ucnv_compareNames)
-#define ucnv_convert U_ICU_ENTRY_POINT_RENAME(ucnv_convert)
-#define ucnv_convertEx U_ICU_ENTRY_POINT_RENAME(ucnv_convertEx)
-#define ucnv_countAliases U_ICU_ENTRY_POINT_RENAME(ucnv_countAliases)
-#define ucnv_countAvailable U_ICU_ENTRY_POINT_RENAME(ucnv_countAvailable)
-#define ucnv_countStandards U_ICU_ENTRY_POINT_RENAME(ucnv_countStandards)
-#define ucnv_createAlgorithmicConverter U_ICU_ENTRY_POINT_RENAME(ucnv_createAlgorithmicConverter)
-#define ucnv_createConverter U_ICU_ENTRY_POINT_RENAME(ucnv_createConverter)
-#define ucnv_createConverterFromPackage U_ICU_ENTRY_POINT_RENAME(ucnv_createConverterFromPackage)
-#define ucnv_createConverterFromSharedData U_ICU_ENTRY_POINT_RENAME(ucnv_createConverterFromSharedData)
-#define ucnv_detectUnicodeSignature U_ICU_ENTRY_POINT_RENAME(ucnv_detectUnicodeSignature)
-#define ucnv_extContinueMatchFromU U_ICU_ENTRY_POINT_RENAME(ucnv_extContinueMatchFromU)
-#define ucnv_extContinueMatchToU U_ICU_ENTRY_POINT_RENAME(ucnv_extContinueMatchToU)
-#define ucnv_extGetUnicodeSet U_ICU_ENTRY_POINT_RENAME(ucnv_extGetUnicodeSet)
-#define ucnv_extInitialMatchFromU U_ICU_ENTRY_POINT_RENAME(ucnv_extInitialMatchFromU)
-#define ucnv_extInitialMatchToU U_ICU_ENTRY_POINT_RENAME(ucnv_extInitialMatchToU)
-#define ucnv_extSimpleMatchFromU U_ICU_ENTRY_POINT_RENAME(ucnv_extSimpleMatchFromU)
-#define ucnv_extSimpleMatchToU U_ICU_ENTRY_POINT_RENAME(ucnv_extSimpleMatchToU)
-#define ucnv_fixFileSeparator U_ICU_ENTRY_POINT_RENAME(ucnv_fixFileSeparator)
-#define ucnv_flushCache U_ICU_ENTRY_POINT_RENAME(ucnv_flushCache)
-#define ucnv_fromAlgorithmic U_ICU_ENTRY_POINT_RENAME(ucnv_fromAlgorithmic)
-#define ucnv_fromUChars U_ICU_ENTRY_POINT_RENAME(ucnv_fromUChars)
-#define ucnv_fromUCountPending U_ICU_ENTRY_POINT_RENAME(ucnv_fromUCountPending)
-#define ucnv_fromUWriteBytes U_ICU_ENTRY_POINT_RENAME(ucnv_fromUWriteBytes)
-#define ucnv_fromUnicode U_ICU_ENTRY_POINT_RENAME(ucnv_fromUnicode)
-#define ucnv_fromUnicode_UTF8 U_ICU_ENTRY_POINT_RENAME(ucnv_fromUnicode_UTF8)
-#define ucnv_fromUnicode_UTF8_OFFSETS_LOGIC U_ICU_ENTRY_POINT_RENAME(ucnv_fromUnicode_UTF8_OFFSETS_LOGIC)
-#define ucnv_getAlias U_ICU_ENTRY_POINT_RENAME(ucnv_getAlias)
-#define ucnv_getAliases U_ICU_ENTRY_POINT_RENAME(ucnv_getAliases)
-#define ucnv_getAvailableName U_ICU_ENTRY_POINT_RENAME(ucnv_getAvailableName)
-#define ucnv_getCCSID U_ICU_ENTRY_POINT_RENAME(ucnv_getCCSID)
-#define ucnv_getCanonicalName U_ICU_ENTRY_POINT_RENAME(ucnv_getCanonicalName)
-#define ucnv_getCompleteUnicodeSet U_ICU_ENTRY_POINT_RENAME(ucnv_getCompleteUnicodeSet)
-#define ucnv_getDefaultName U_ICU_ENTRY_POINT_RENAME(ucnv_getDefaultName)
-#define ucnv_getDisplayName U_ICU_ENTRY_POINT_RENAME(ucnv_getDisplayName)
-#define ucnv_getFromUCallBack U_ICU_ENTRY_POINT_RENAME(ucnv_getFromUCallBack)
-#define ucnv_getInvalidChars U_ICU_ENTRY_POINT_RENAME(ucnv_getInvalidChars)
-#define ucnv_getInvalidUChars U_ICU_ENTRY_POINT_RENAME(ucnv_getInvalidUChars)
-#define ucnv_getMaxCharSize U_ICU_ENTRY_POINT_RENAME(ucnv_getMaxCharSize)
-#define ucnv_getMinCharSize U_ICU_ENTRY_POINT_RENAME(ucnv_getMinCharSize)
-#define ucnv_getName U_ICU_ENTRY_POINT_RENAME(ucnv_getName)
-#define ucnv_getNextUChar U_ICU_ENTRY_POINT_RENAME(ucnv_getNextUChar)
-#define ucnv_getNonSurrogateUnicodeSet U_ICU_ENTRY_POINT_RENAME(ucnv_getNonSurrogateUnicodeSet)
-#define ucnv_getPlatform U_ICU_ENTRY_POINT_RENAME(ucnv_getPlatform)
-#define ucnv_getStandard U_ICU_ENTRY_POINT_RENAME(ucnv_getStandard)
-#define ucnv_getStandardName U_ICU_ENTRY_POINT_RENAME(ucnv_getStandardName)
-#define ucnv_getStarters U_ICU_ENTRY_POINT_RENAME(ucnv_getStarters)
-#define ucnv_getSubstChars U_ICU_ENTRY_POINT_RENAME(ucnv_getSubstChars)
-#define ucnv_getToUCallBack U_ICU_ENTRY_POINT_RENAME(ucnv_getToUCallBack)
-#define ucnv_getType U_ICU_ENTRY_POINT_RENAME(ucnv_getType)
-#define ucnv_getUnicodeSet U_ICU_ENTRY_POINT_RENAME(ucnv_getUnicodeSet)
-#define ucnv_incrementRefCount U_ICU_ENTRY_POINT_RENAME(ucnv_incrementRefCount)
-#define ucnv_io_countKnownConverters U_ICU_ENTRY_POINT_RENAME(ucnv_io_countKnownConverters)
-#define ucnv_io_getConverterName U_ICU_ENTRY_POINT_RENAME(ucnv_io_getConverterName)
-#define ucnv_io_stripASCIIForCompare U_ICU_ENTRY_POINT_RENAME(ucnv_io_stripASCIIForCompare)
-#define ucnv_io_stripEBCDICForCompare U_ICU_ENTRY_POINT_RENAME(ucnv_io_stripEBCDICForCompare)
-#define ucnv_isAmbiguous U_ICU_ENTRY_POINT_RENAME(ucnv_isAmbiguous)
-#define ucnv_load U_ICU_ENTRY_POINT_RENAME(ucnv_load)
-#define ucnv_loadSharedData U_ICU_ENTRY_POINT_RENAME(ucnv_loadSharedData)
-#define ucnv_open U_ICU_ENTRY_POINT_RENAME(ucnv_open)
-#define ucnv_openAllNames U_ICU_ENTRY_POINT_RENAME(ucnv_openAllNames)
-#define ucnv_openCCSID U_ICU_ENTRY_POINT_RENAME(ucnv_openCCSID)
-#define ucnv_openPackage U_ICU_ENTRY_POINT_RENAME(ucnv_openPackage)
-#define ucnv_openStandardNames U_ICU_ENTRY_POINT_RENAME(ucnv_openStandardNames)
-#define ucnv_openU U_ICU_ENTRY_POINT_RENAME(ucnv_openU)
-#define ucnv_reset U_ICU_ENTRY_POINT_RENAME(ucnv_reset)
-#define ucnv_resetFromUnicode U_ICU_ENTRY_POINT_RENAME(ucnv_resetFromUnicode)
-#define ucnv_resetToUnicode U_ICU_ENTRY_POINT_RENAME(ucnv_resetToUnicode)
-#define ucnv_safeClone U_ICU_ENTRY_POINT_RENAME(ucnv_safeClone)
-#define ucnv_setDefaultName U_ICU_ENTRY_POINT_RENAME(ucnv_setDefaultName)
-#define ucnv_setFallback U_ICU_ENTRY_POINT_RENAME(ucnv_setFallback)
-#define ucnv_setFromUCallBack U_ICU_ENTRY_POINT_RENAME(ucnv_setFromUCallBack)
-#define ucnv_setSubstChars U_ICU_ENTRY_POINT_RENAME(ucnv_setSubstChars)
-#define ucnv_setSubstString U_ICU_ENTRY_POINT_RENAME(ucnv_setSubstString)
-#define ucnv_setToUCallBack U_ICU_ENTRY_POINT_RENAME(ucnv_setToUCallBack)
-#define ucnv_swap U_ICU_ENTRY_POINT_RENAME(ucnv_swap)
-#define ucnv_swapAliases U_ICU_ENTRY_POINT_RENAME(ucnv_swapAliases)
-#define ucnv_toAlgorithmic U_ICU_ENTRY_POINT_RENAME(ucnv_toAlgorithmic)
-#define ucnv_toUChars U_ICU_ENTRY_POINT_RENAME(ucnv_toUChars)
-#define ucnv_toUCountPending U_ICU_ENTRY_POINT_RENAME(ucnv_toUCountPending)
-#define ucnv_toUWriteCodePoint U_ICU_ENTRY_POINT_RENAME(ucnv_toUWriteCodePoint)
-#define ucnv_toUWriteUChars U_ICU_ENTRY_POINT_RENAME(ucnv_toUWriteUChars)
-#define ucnv_toUnicode U_ICU_ENTRY_POINT_RENAME(ucnv_toUnicode)
-#define ucnv_unload U_ICU_ENTRY_POINT_RENAME(ucnv_unload)
-#define ucnv_unloadSharedDataIfReady U_ICU_ENTRY_POINT_RENAME(ucnv_unloadSharedDataIfReady)
-#define ucnv_usesFallback U_ICU_ENTRY_POINT_RENAME(ucnv_usesFallback)
-#define ucnvsel_close U_ICU_ENTRY_POINT_RENAME(ucnvsel_close)
-#define ucnvsel_open U_ICU_ENTRY_POINT_RENAME(ucnvsel_open)
-#define ucnvsel_openFromSerialized U_ICU_ENTRY_POINT_RENAME(ucnvsel_openFromSerialized)
-#define ucnvsel_selectForString U_ICU_ENTRY_POINT_RENAME(ucnvsel_selectForString)
-#define ucnvsel_selectForUTF8 U_ICU_ENTRY_POINT_RENAME(ucnvsel_selectForUTF8)
-#define ucnvsel_serialize U_ICU_ENTRY_POINT_RENAME(ucnvsel_serialize)
-#define ucol_allocWeights U_ICU_ENTRY_POINT_RENAME(ucol_allocWeights)
-#define ucol_assembleTailoringTable U_ICU_ENTRY_POINT_RENAME(ucol_assembleTailoringTable)
-#define ucol_buildPermutationTable U_ICU_ENTRY_POINT_RENAME(ucol_buildPermutationTable)
-#define ucol_calcSortKey U_ICU_ENTRY_POINT_RENAME(ucol_calcSortKey)
-#define ucol_calcSortKeySimpleTertiary U_ICU_ENTRY_POINT_RENAME(ucol_calcSortKeySimpleTertiary)
-#define ucol_cloneBinary U_ICU_ENTRY_POINT_RENAME(ucol_cloneBinary)
-#define ucol_cloneRuleData U_ICU_ENTRY_POINT_RENAME(ucol_cloneRuleData)
-#define ucol_close U_ICU_ENTRY_POINT_RENAME(ucol_close)
-#define ucol_closeElements U_ICU_ENTRY_POINT_RENAME(ucol_closeElements)
-#define ucol_countAvailable U_ICU_ENTRY_POINT_RENAME(ucol_countAvailable)
-#define ucol_createElements U_ICU_ENTRY_POINT_RENAME(ucol_createElements)
-#define ucol_doCE U_ICU_ENTRY_POINT_RENAME(ucol_doCE)
-#define ucol_equal U_ICU_ENTRY_POINT_RENAME(ucol_equal)
-#define ucol_equals U_ICU_ENTRY_POINT_RENAME(ucol_equals)
-#define ucol_findReorderingEntry U_ICU_ENTRY_POINT_RENAME(ucol_findReorderingEntry)
-#define ucol_forceHanImplicit U_ICU_ENTRY_POINT_RENAME(ucol_forceHanImplicit)
-#define ucol_forgetUCA U_ICU_ENTRY_POINT_RENAME(ucol_forgetUCA)
-#define ucol_freeOffsetBuffer U_ICU_ENTRY_POINT_RENAME(ucol_freeOffsetBuffer)
-#define ucol_getAttribute U_ICU_ENTRY_POINT_RENAME(ucol_getAttribute)
-#define ucol_getAttributeOrDefault U_ICU_ENTRY_POINT_RENAME(ucol_getAttributeOrDefault)
-#define ucol_getAvailable U_ICU_ENTRY_POINT_RENAME(ucol_getAvailable)
-#define ucol_getBound U_ICU_ENTRY_POINT_RENAME(ucol_getBound)
-#define ucol_getCEStrengthDifference U_ICU_ENTRY_POINT_RENAME(ucol_getCEStrengthDifference)
-#define ucol_getContractions U_ICU_ENTRY_POINT_RENAME(ucol_getContractions)
-#define ucol_getContractionsAndExpansions U_ICU_ENTRY_POINT_RENAME(ucol_getContractionsAndExpansions)
-#define ucol_getDisplayName U_ICU_ENTRY_POINT_RENAME(ucol_getDisplayName)
-#define ucol_getFirstCE U_ICU_ENTRY_POINT_RENAME(ucol_getFirstCE)
-#define ucol_getFunctionalEquivalent U_ICU_ENTRY_POINT_RENAME(ucol_getFunctionalEquivalent)
-#define ucol_getKeywordValues U_ICU_ENTRY_POINT_RENAME(ucol_getKeywordValues)
-#define ucol_getKeywordValuesForLocale U_ICU_ENTRY_POINT_RENAME(ucol_getKeywordValuesForLocale)
-#define ucol_getKeywords U_ICU_ENTRY_POINT_RENAME(ucol_getKeywords)
-#define ucol_getLeadBytesForReorderCode U_ICU_ENTRY_POINT_RENAME(ucol_getLeadBytesForReorderCode)
-#define ucol_getLocale U_ICU_ENTRY_POINT_RENAME(ucol_getLocale)
-#define ucol_getLocaleByType U_ICU_ENTRY_POINT_RENAME(ucol_getLocaleByType)
-#define ucol_getMaxExpansion U_ICU_ENTRY_POINT_RENAME(ucol_getMaxExpansion)
-#define ucol_getNextCE U_ICU_ENTRY_POINT_RENAME(ucol_getNextCE)
-#define ucol_getOffset U_ICU_ENTRY_POINT_RENAME(ucol_getOffset)
-#define ucol_getPrevCE U_ICU_ENTRY_POINT_RENAME(ucol_getPrevCE)
-#define ucol_getReorderCodes U_ICU_ENTRY_POINT_RENAME(ucol_getReorderCodes)
-#define ucol_getReorderCodesForLeadByte U_ICU_ENTRY_POINT_RENAME(ucol_getReorderCodesForLeadByte)
-#define ucol_getRules U_ICU_ENTRY_POINT_RENAME(ucol_getRules)
-#define ucol_getRulesEx U_ICU_ENTRY_POINT_RENAME(ucol_getRulesEx)
-#define ucol_getShortDefinitionString U_ICU_ENTRY_POINT_RENAME(ucol_getShortDefinitionString)
-#define ucol_getSortKey U_ICU_ENTRY_POINT_RENAME(ucol_getSortKey)
-#define ucol_getSortKeySize U_ICU_ENTRY_POINT_RENAME(ucol_getSortKeySize)
-#define ucol_getSortKeyWithAllocation U_ICU_ENTRY_POINT_RENAME(ucol_getSortKeyWithAllocation)
-#define ucol_getStrength U_ICU_ENTRY_POINT_RENAME(ucol_getStrength)
-#define ucol_getTailoredSet U_ICU_ENTRY_POINT_RENAME(ucol_getTailoredSet)
-#define ucol_getUCAVersion U_ICU_ENTRY_POINT_RENAME(ucol_getUCAVersion)
-#define ucol_getUnsafeSet U_ICU_ENTRY_POINT_RENAME(ucol_getUnsafeSet)
-#define ucol_getVariableTop U_ICU_ENTRY_POINT_RENAME(ucol_getVariableTop)
-#define ucol_getVersion U_ICU_ENTRY_POINT_RENAME(ucol_getVersion)
-#define ucol_greater U_ICU_ENTRY_POINT_RENAME(ucol_greater)
-#define ucol_greaterOrEqual U_ICU_ENTRY_POINT_RENAME(ucol_greaterOrEqual)
-#define ucol_initBuffers U_ICU_ENTRY_POINT_RENAME(ucol_initBuffers)
-#define ucol_initCollator U_ICU_ENTRY_POINT_RENAME(ucol_initCollator)
-#define ucol_initInverseUCA U_ICU_ENTRY_POINT_RENAME(ucol_initInverseUCA)
-#define ucol_initUCA U_ICU_ENTRY_POINT_RENAME(ucol_initUCA)
-#define ucol_inv_getNextCE U_ICU_ENTRY_POINT_RENAME(ucol_inv_getNextCE)
-#define ucol_inv_getPrevCE U_ICU_ENTRY_POINT_RENAME(ucol_inv_getPrevCE)
-#define ucol_isTailored U_ICU_ENTRY_POINT_RENAME(ucol_isTailored)
-#define ucol_keyHashCode U_ICU_ENTRY_POINT_RENAME(ucol_keyHashCode)
-#define ucol_looksLikeCollationBinary U_ICU_ENTRY_POINT_RENAME(ucol_looksLikeCollationBinary)
-#define ucol_mergeSortkeys U_ICU_ENTRY_POINT_RENAME(ucol_mergeSortkeys)
-#define ucol_next U_ICU_ENTRY_POINT_RENAME(ucol_next)
-#define ucol_nextProcessed U_ICU_ENTRY_POINT_RENAME(ucol_nextProcessed)
-#define ucol_nextSortKeyPart U_ICU_ENTRY_POINT_RENAME(ucol_nextSortKeyPart)
-#define ucol_nextWeight U_ICU_ENTRY_POINT_RENAME(ucol_nextWeight)
-#define ucol_normalizeShortDefinitionString U_ICU_ENTRY_POINT_RENAME(ucol_normalizeShortDefinitionString)
-#define ucol_open U_ICU_ENTRY_POINT_RENAME(ucol_open)
-#define ucol_openAvailableLocales U_ICU_ENTRY_POINT_RENAME(ucol_openAvailableLocales)
-#define ucol_openBinary U_ICU_ENTRY_POINT_RENAME(ucol_openBinary)
-#define ucol_openElements U_ICU_ENTRY_POINT_RENAME(ucol_openElements)
-#define ucol_openFromShortString U_ICU_ENTRY_POINT_RENAME(ucol_openFromShortString)
-#define ucol_openRules U_ICU_ENTRY_POINT_RENAME(ucol_openRules)
-#define ucol_openRulesForImport U_ICU_ENTRY_POINT_RENAME(ucol_openRulesForImport)
-#define ucol_open_internal U_ICU_ENTRY_POINT_RENAME(ucol_open_internal)
-#define ucol_prepareShortStringOpen U_ICU_ENTRY_POINT_RENAME(ucol_prepareShortStringOpen)
-#define ucol_previous U_ICU_ENTRY_POINT_RENAME(ucol_previous)
-#define ucol_previousProcessed U_ICU_ENTRY_POINT_RENAME(ucol_previousProcessed)
-#define ucol_primaryOrder U_ICU_ENTRY_POINT_RENAME(ucol_primaryOrder)
-#define ucol_prv_getSpecialCE U_ICU_ENTRY_POINT_RENAME(ucol_prv_getSpecialCE)
-#define ucol_prv_getSpecialPrevCE U_ICU_ENTRY_POINT_RENAME(ucol_prv_getSpecialPrevCE)
-#define ucol_reset U_ICU_ENTRY_POINT_RENAME(ucol_reset)
-#define ucol_restoreVariableTop U_ICU_ENTRY_POINT_RENAME(ucol_restoreVariableTop)
-#define ucol_safeClone U_ICU_ENTRY_POINT_RENAME(ucol_safeClone)
-#define ucol_secondaryOrder U_ICU_ENTRY_POINT_RENAME(ucol_secondaryOrder)
-#define ucol_setAttribute U_ICU_ENTRY_POINT_RENAME(ucol_setAttribute)
-#define ucol_setOffset U_ICU_ENTRY_POINT_RENAME(ucol_setOffset)
-#define ucol_setOptionsFromHeader U_ICU_ENTRY_POINT_RENAME(ucol_setOptionsFromHeader)
-#define ucol_setReorderCodes U_ICU_ENTRY_POINT_RENAME(ucol_setReorderCodes)
-#define ucol_setReqValidLocales U_ICU_ENTRY_POINT_RENAME(ucol_setReqValidLocales)
-#define ucol_setStrength U_ICU_ENTRY_POINT_RENAME(ucol_setStrength)
-#define ucol_setText U_ICU_ENTRY_POINT_RENAME(ucol_setText)
-#define ucol_setVariableTop U_ICU_ENTRY_POINT_RENAME(ucol_setVariableTop)
-#define ucol_strcoll U_ICU_ENTRY_POINT_RENAME(ucol_strcoll)
-#define ucol_strcollIter U_ICU_ENTRY_POINT_RENAME(ucol_strcollIter)
-#define ucol_swap U_ICU_ENTRY_POINT_RENAME(ucol_swap)
-#define ucol_swapBinary U_ICU_ENTRY_POINT_RENAME(ucol_swapBinary)
-#define ucol_swapInverseUCA U_ICU_ENTRY_POINT_RENAME(ucol_swapInverseUCA)
-#define ucol_tertiaryOrder U_ICU_ENTRY_POINT_RENAME(ucol_tertiaryOrder)
-#define ucol_tok_assembleTokenList U_ICU_ENTRY_POINT_RENAME(ucol_tok_assembleTokenList)
-#define ucol_tok_closeTokenList U_ICU_ENTRY_POINT_RENAME(ucol_tok_closeTokenList)
-#define ucol_tok_getNextArgument U_ICU_ENTRY_POINT_RENAME(ucol_tok_getNextArgument)
-#define ucol_tok_getRulesFromBundle U_ICU_ENTRY_POINT_RENAME(ucol_tok_getRulesFromBundle)
-#define ucol_tok_initTokenList U_ICU_ENTRY_POINT_RENAME(ucol_tok_initTokenList)
-#define ucol_tok_parseNextToken U_ICU_ENTRY_POINT_RENAME(ucol_tok_parseNextToken)
-#define ucol_updateInternalState U_ICU_ENTRY_POINT_RENAME(ucol_updateInternalState)
-#define ucsdet_close U_ICU_ENTRY_POINT_RENAME(ucsdet_close)
-#define ucsdet_detect U_ICU_ENTRY_POINT_RENAME(ucsdet_detect)
-#define ucsdet_detectAll U_ICU_ENTRY_POINT_RENAME(ucsdet_detectAll)
-#define ucsdet_enableInputFilter U_ICU_ENTRY_POINT_RENAME(ucsdet_enableInputFilter)
-#define ucsdet_getAllDetectableCharsets U_ICU_ENTRY_POINT_RENAME(ucsdet_getAllDetectableCharsets)
-#define ucsdet_getConfidence U_ICU_ENTRY_POINT_RENAME(ucsdet_getConfidence)
-#define ucsdet_getLanguage U_ICU_ENTRY_POINT_RENAME(ucsdet_getLanguage)
-#define ucsdet_getName U_ICU_ENTRY_POINT_RENAME(ucsdet_getName)
-#define ucsdet_getUChars U_ICU_ENTRY_POINT_RENAME(ucsdet_getUChars)
-#define ucsdet_isInputFilterEnabled U_ICU_ENTRY_POINT_RENAME(ucsdet_isInputFilterEnabled)
-#define ucsdet_open U_ICU_ENTRY_POINT_RENAME(ucsdet_open)
-#define ucsdet_setDeclaredEncoding U_ICU_ENTRY_POINT_RENAME(ucsdet_setDeclaredEncoding)
-#define ucsdet_setText U_ICU_ENTRY_POINT_RENAME(ucsdet_setText)
-#define ucurr_countCurrencies U_ICU_ENTRY_POINT_RENAME(ucurr_countCurrencies)
-#define ucurr_forLocale U_ICU_ENTRY_POINT_RENAME(ucurr_forLocale)
-#define ucurr_forLocaleAndDate U_ICU_ENTRY_POINT_RENAME(ucurr_forLocaleAndDate)
-#define ucurr_getDefaultFractionDigits U_ICU_ENTRY_POINT_RENAME(ucurr_getDefaultFractionDigits)
-#define ucurr_getKeywordValuesForLocale U_ICU_ENTRY_POINT_RENAME(ucurr_getKeywordValuesForLocale)
-#define ucurr_getName U_ICU_ENTRY_POINT_RENAME(ucurr_getName)
-#define ucurr_getPluralName U_ICU_ENTRY_POINT_RENAME(ucurr_getPluralName)
-#define ucurr_getRoundingIncrement U_ICU_ENTRY_POINT_RENAME(ucurr_getRoundingIncrement)
-#define ucurr_openISOCurrencies U_ICU_ENTRY_POINT_RENAME(ucurr_openISOCurrencies)
-#define ucurr_register U_ICU_ENTRY_POINT_RENAME(ucurr_register)
-#define ucurr_unregister U_ICU_ENTRY_POINT_RENAME(ucurr_unregister)
-#define udat_applyPattern U_ICU_ENTRY_POINT_RENAME(udat_applyPattern)
-#define udat_applyPatternRelative U_ICU_ENTRY_POINT_RENAME(udat_applyPatternRelative)
-#define udat_clone U_ICU_ENTRY_POINT_RENAME(udat_clone)
-#define udat_close U_ICU_ENTRY_POINT_RENAME(udat_close)
-#define udat_countAvailable U_ICU_ENTRY_POINT_RENAME(udat_countAvailable)
-#define udat_countSymbols U_ICU_ENTRY_POINT_RENAME(udat_countSymbols)
-#define udat_format U_ICU_ENTRY_POINT_RENAME(udat_format)
-#define udat_get2DigitYearStart U_ICU_ENTRY_POINT_RENAME(udat_get2DigitYearStart)
-#define udat_getAvailable U_ICU_ENTRY_POINT_RENAME(udat_getAvailable)
-#define udat_getCalendar U_ICU_ENTRY_POINT_RENAME(udat_getCalendar)
-#define udat_getLocaleByType U_ICU_ENTRY_POINT_RENAME(udat_getLocaleByType)
-#define udat_getNumberFormat U_ICU_ENTRY_POINT_RENAME(udat_getNumberFormat)
-#define udat_getSymbols U_ICU_ENTRY_POINT_RENAME(udat_getSymbols)
-#define udat_isLenient U_ICU_ENTRY_POINT_RENAME(udat_isLenient)
-#define udat_open U_ICU_ENTRY_POINT_RENAME(udat_open)
-#define udat_parse U_ICU_ENTRY_POINT_RENAME(udat_parse)
-#define udat_parseCalendar U_ICU_ENTRY_POINT_RENAME(udat_parseCalendar)
-#define udat_set2DigitYearStart U_ICU_ENTRY_POINT_RENAME(udat_set2DigitYearStart)
-#define udat_setCalendar U_ICU_ENTRY_POINT_RENAME(udat_setCalendar)
-#define udat_setLenient U_ICU_ENTRY_POINT_RENAME(udat_setLenient)
-#define udat_setNumberFormat U_ICU_ENTRY_POINT_RENAME(udat_setNumberFormat)
-#define udat_setSymbols U_ICU_ENTRY_POINT_RENAME(udat_setSymbols)
-#define udat_toCalendarDateField U_ICU_ENTRY_POINT_RENAME(udat_toCalendarDateField)
-#define udat_toPattern U_ICU_ENTRY_POINT_RENAME(udat_toPattern)
-#define udat_toPatternRelativeDate U_ICU_ENTRY_POINT_RENAME(udat_toPatternRelativeDate)
-#define udat_toPatternRelativeTime U_ICU_ENTRY_POINT_RENAME(udat_toPatternRelativeTime)
-#define udata_checkCommonData U_ICU_ENTRY_POINT_RENAME(udata_checkCommonData)
-#define udata_close U_ICU_ENTRY_POINT_RENAME(udata_close)
-#define udata_closeSwapper U_ICU_ENTRY_POINT_RENAME(udata_closeSwapper)
-#define udata_getHeaderSize U_ICU_ENTRY_POINT_RENAME(udata_getHeaderSize)
-#define udata_getInfo U_ICU_ENTRY_POINT_RENAME(udata_getInfo)
-#define udata_getInfoSize U_ICU_ENTRY_POINT_RENAME(udata_getInfoSize)
-#define udata_getLength U_ICU_ENTRY_POINT_RENAME(udata_getLength)
-#define udata_getMemory U_ICU_ENTRY_POINT_RENAME(udata_getMemory)
-#define udata_getRawMemory U_ICU_ENTRY_POINT_RENAME(udata_getRawMemory)
-#define udata_open U_ICU_ENTRY_POINT_RENAME(udata_open)
-#define udata_openChoice U_ICU_ENTRY_POINT_RENAME(udata_openChoice)
-#define udata_openSwapper U_ICU_ENTRY_POINT_RENAME(udata_openSwapper)
-#define udata_openSwapperForInputData U_ICU_ENTRY_POINT_RENAME(udata_openSwapperForInputData)
-#define udata_printError U_ICU_ENTRY_POINT_RENAME(udata_printError)
-#define udata_readInt16 U_ICU_ENTRY_POINT_RENAME(udata_readInt16)
-#define udata_readInt32 U_ICU_ENTRY_POINT_RENAME(udata_readInt32)
-#define udata_setAppData U_ICU_ENTRY_POINT_RENAME(udata_setAppData)
-#define udata_setCommonData U_ICU_ENTRY_POINT_RENAME(udata_setCommonData)
-#define udata_setFileAccess U_ICU_ENTRY_POINT_RENAME(udata_setFileAccess)
-#define udata_swapDataHeader U_ICU_ENTRY_POINT_RENAME(udata_swapDataHeader)
-#define udata_swapInvStringBlock U_ICU_ENTRY_POINT_RENAME(udata_swapInvStringBlock)
-#define udatpg_addPattern U_ICU_ENTRY_POINT_RENAME(udatpg_addPattern)
-#define udatpg_clone U_ICU_ENTRY_POINT_RENAME(udatpg_clone)
-#define udatpg_close U_ICU_ENTRY_POINT_RENAME(udatpg_close)
-#define udatpg_getAppendItemFormat U_ICU_ENTRY_POINT_RENAME(udatpg_getAppendItemFormat)
-#define udatpg_getAppendItemName U_ICU_ENTRY_POINT_RENAME(udatpg_getAppendItemName)
-#define udatpg_getBaseSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getBaseSkeleton)
-#define udatpg_getBestPattern U_ICU_ENTRY_POINT_RENAME(udatpg_getBestPattern)
-#define udatpg_getBestPatternWithOptions U_ICU_ENTRY_POINT_RENAME(udatpg_getBestPatternWithOptions)
-#define udatpg_getDateTimeFormat U_ICU_ENTRY_POINT_RENAME(udatpg_getDateTimeFormat)
-#define udatpg_getDecimal U_ICU_ENTRY_POINT_RENAME(udatpg_getDecimal)
-#define udatpg_getPatternForSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getPatternForSkeleton)
-#define udatpg_getSkeleton U_ICU_ENTRY_POINT_RENAME(udatpg_getSkeleton)
-#define udatpg_open U_ICU_ENTRY_POINT_RENAME(udatpg_open)
-#define udatpg_openBaseSkeletons U_ICU_ENTRY_POINT_RENAME(udatpg_openBaseSkeletons)
-#define udatpg_openEmpty U_ICU_ENTRY_POINT_RENAME(udatpg_openEmpty)
-#define udatpg_openSkeletons U_ICU_ENTRY_POINT_RENAME(udatpg_openSkeletons)
-#define udatpg_replaceFieldTypes U_ICU_ENTRY_POINT_RENAME(udatpg_replaceFieldTypes)
-#define udatpg_replaceFieldTypesWithOptions U_ICU_ENTRY_POINT_RENAME(udatpg_replaceFieldTypesWithOptions)
-#define udatpg_setAppendItemFormat U_ICU_ENTRY_POINT_RENAME(udatpg_setAppendItemFormat)
-#define udatpg_setAppendItemName U_ICU_ENTRY_POINT_RENAME(udatpg_setAppendItemName)
-#define udatpg_setDateTimeFormat U_ICU_ENTRY_POINT_RENAME(udatpg_setDateTimeFormat)
-#define udatpg_setDecimal U_ICU_ENTRY_POINT_RENAME(udatpg_setDecimal)
-#define uenum_close U_ICU_ENTRY_POINT_RENAME(uenum_close)
-#define uenum_count U_ICU_ENTRY_POINT_RENAME(uenum_count)
-#define uenum_next U_ICU_ENTRY_POINT_RENAME(uenum_next)
-#define uenum_nextDefault U_ICU_ENTRY_POINT_RENAME(uenum_nextDefault)
-#define uenum_openCharStringsEnumeration U_ICU_ENTRY_POINT_RENAME(uenum_openCharStringsEnumeration)
-#define uenum_openFromStringEnumeration U_ICU_ENTRY_POINT_RENAME(uenum_openFromStringEnumeration)
-#define uenum_reset U_ICU_ENTRY_POINT_RENAME(uenum_reset)
-#define uenum_unext U_ICU_ENTRY_POINT_RENAME(uenum_unext)
-#define uenum_unextDefault U_ICU_ENTRY_POINT_RENAME(uenum_unextDefault)
-#define ufile_close_translit U_ICU_ENTRY_POINT_RENAME(ufile_close_translit)
-#define ufile_fill_uchar_buffer U_ICU_ENTRY_POINT_RENAME(ufile_fill_uchar_buffer)
-#define ufile_flush_io U_ICU_ENTRY_POINT_RENAME(ufile_flush_io)
-#define ufile_flush_translit U_ICU_ENTRY_POINT_RENAME(ufile_flush_translit)
-#define ufile_getch U_ICU_ENTRY_POINT_RENAME(ufile_getch)
-#define ufile_getch32 U_ICU_ENTRY_POINT_RENAME(ufile_getch32)
-#define ufmt_64tou U_ICU_ENTRY_POINT_RENAME(ufmt_64tou)
-#define ufmt_defaultCPToUnicode U_ICU_ENTRY_POINT_RENAME(ufmt_defaultCPToUnicode)
-#define ufmt_digitvalue U_ICU_ENTRY_POINT_RENAME(ufmt_digitvalue)
-#define ufmt_isdigit U_ICU_ENTRY_POINT_RENAME(ufmt_isdigit)
-#define ufmt_ptou U_ICU_ENTRY_POINT_RENAME(ufmt_ptou)
-#define ufmt_uto64 U_ICU_ENTRY_POINT_RENAME(ufmt_uto64)
-#define ufmt_utop U_ICU_ENTRY_POINT_RENAME(ufmt_utop)
-#define uhash_close U_ICU_ENTRY_POINT_RENAME(uhash_close)
-#define uhash_compareCaselessUnicodeString U_ICU_ENTRY_POINT_RENAME(uhash_compareCaselessUnicodeString)
-#define uhash_compareChars U_ICU_ENTRY_POINT_RENAME(uhash_compareChars)
-#define uhash_compareIChars U_ICU_ENTRY_POINT_RENAME(uhash_compareIChars)
-#define uhash_compareLong U_ICU_ENTRY_POINT_RENAME(uhash_compareLong)
-#define uhash_compareUChars U_ICU_ENTRY_POINT_RENAME(uhash_compareUChars)
-#define uhash_compareUnicodeString U_ICU_ENTRY_POINT_RENAME(uhash_compareUnicodeString)
-#define uhash_count U_ICU_ENTRY_POINT_RENAME(uhash_count)
-#define uhash_deleteHashtable U_ICU_ENTRY_POINT_RENAME(uhash_deleteHashtable)
-#define uhash_deleteUObject U_ICU_ENTRY_POINT_RENAME(uhash_deleteUObject)
-#define uhash_deleteUnicodeString U_ICU_ENTRY_POINT_RENAME(uhash_deleteUnicodeString)
-#define uhash_equals U_ICU_ENTRY_POINT_RENAME(uhash_equals)
-#define uhash_find U_ICU_ENTRY_POINT_RENAME(uhash_find)
-#define uhash_freeBlock U_ICU_ENTRY_POINT_RENAME(uhash_freeBlock)
-#define uhash_get U_ICU_ENTRY_POINT_RENAME(uhash_get)
-#define uhash_geti U_ICU_ENTRY_POINT_RENAME(uhash_geti)
-#define uhash_hashCaselessUnicodeString U_ICU_ENTRY_POINT_RENAME(uhash_hashCaselessUnicodeString)
-#define uhash_hashChars U_ICU_ENTRY_POINT_RENAME(uhash_hashChars)
-#define uhash_hashIChars U_ICU_ENTRY_POINT_RENAME(uhash_hashIChars)
-#define uhash_hashLong U_ICU_ENTRY_POINT_RENAME(uhash_hashLong)
-#define uhash_hashUChars U_ICU_ENTRY_POINT_RENAME(uhash_hashUChars)
-#define uhash_hashUCharsN U_ICU_ENTRY_POINT_RENAME(uhash_hashUCharsN)
-#define uhash_hashUnicodeString U_ICU_ENTRY_POINT_RENAME(uhash_hashUnicodeString)
-#define uhash_iget U_ICU_ENTRY_POINT_RENAME(uhash_iget)
-#define uhash_igeti U_ICU_ENTRY_POINT_RENAME(uhash_igeti)
-#define uhash_init U_ICU_ENTRY_POINT_RENAME(uhash_init)
-#define uhash_iput U_ICU_ENTRY_POINT_RENAME(uhash_iput)
-#define uhash_iputi U_ICU_ENTRY_POINT_RENAME(uhash_iputi)
-#define uhash_iremove U_ICU_ENTRY_POINT_RENAME(uhash_iremove)
-#define uhash_iremovei U_ICU_ENTRY_POINT_RENAME(uhash_iremovei)
-#define uhash_nextElement U_ICU_ENTRY_POINT_RENAME(uhash_nextElement)
-#define uhash_open U_ICU_ENTRY_POINT_RENAME(uhash_open)
-#define uhash_openSize U_ICU_ENTRY_POINT_RENAME(uhash_openSize)
-#define uhash_put U_ICU_ENTRY_POINT_RENAME(uhash_put)
-#define uhash_puti U_ICU_ENTRY_POINT_RENAME(uhash_puti)
-#define uhash_remove U_ICU_ENTRY_POINT_RENAME(uhash_remove)
-#define uhash_removeAll U_ICU_ENTRY_POINT_RENAME(uhash_removeAll)
-#define uhash_removeElement U_ICU_ENTRY_POINT_RENAME(uhash_removeElement)
-#define uhash_removei U_ICU_ENTRY_POINT_RENAME(uhash_removei)
-#define uhash_setKeyComparator U_ICU_ENTRY_POINT_RENAME(uhash_setKeyComparator)
-#define uhash_setKeyDeleter U_ICU_ENTRY_POINT_RENAME(uhash_setKeyDeleter)
-#define uhash_setKeyHasher U_ICU_ENTRY_POINT_RENAME(uhash_setKeyHasher)
-#define uhash_setResizePolicy U_ICU_ENTRY_POINT_RENAME(uhash_setResizePolicy)
-#define uhash_setValueComparator U_ICU_ENTRY_POINT_RENAME(uhash_setValueComparator)
-#define uhash_setValueDeleter U_ICU_ENTRY_POINT_RENAME(uhash_setValueDeleter)
-#define uidna_IDNToASCII U_ICU_ENTRY_POINT_RENAME(uidna_IDNToASCII)
-#define uidna_IDNToUnicode U_ICU_ENTRY_POINT_RENAME(uidna_IDNToUnicode)
-#define uidna_close U_ICU_ENTRY_POINT_RENAME(uidna_close)
-#define uidna_compare U_ICU_ENTRY_POINT_RENAME(uidna_compare)
-#define uidna_labelToASCII U_ICU_ENTRY_POINT_RENAME(uidna_labelToASCII)
-#define uidna_labelToASCII_UTF8 U_ICU_ENTRY_POINT_RENAME(uidna_labelToASCII_UTF8)
-#define uidna_labelToUnicode U_ICU_ENTRY_POINT_RENAME(uidna_labelToUnicode)
-#define uidna_labelToUnicodeUTF8 U_ICU_ENTRY_POINT_RENAME(uidna_labelToUnicodeUTF8)
-#define uidna_nameToASCII U_ICU_ENTRY_POINT_RENAME(uidna_nameToASCII)
-#define uidna_nameToASCII_UTF8 U_ICU_ENTRY_POINT_RENAME(uidna_nameToASCII_UTF8)
-#define uidna_nameToUnicode U_ICU_ENTRY_POINT_RENAME(uidna_nameToUnicode)
-#define uidna_nameToUnicodeUTF8 U_ICU_ENTRY_POINT_RENAME(uidna_nameToUnicodeUTF8)
-#define uidna_openUTS46 U_ICU_ENTRY_POINT_RENAME(uidna_openUTS46)
-#define uidna_toASCII U_ICU_ENTRY_POINT_RENAME(uidna_toASCII)
-#define uidna_toUnicode U_ICU_ENTRY_POINT_RENAME(uidna_toUnicode)
-#define uiter_current32 U_ICU_ENTRY_POINT_RENAME(uiter_current32)
-#define uiter_getState U_ICU_ENTRY_POINT_RENAME(uiter_getState)
-#define uiter_next32 U_ICU_ENTRY_POINT_RENAME(uiter_next32)
-#define uiter_previous32 U_ICU_ENTRY_POINT_RENAME(uiter_previous32)
-#define uiter_setCharacterIterator U_ICU_ENTRY_POINT_RENAME(uiter_setCharacterIterator)
-#define uiter_setReplaceable U_ICU_ENTRY_POINT_RENAME(uiter_setReplaceable)
-#define uiter_setState U_ICU_ENTRY_POINT_RENAME(uiter_setState)
-#define uiter_setString U_ICU_ENTRY_POINT_RENAME(uiter_setString)
-#define uiter_setUTF16BE U_ICU_ENTRY_POINT_RENAME(uiter_setUTF16BE)
-#define uiter_setUTF8 U_ICU_ENTRY_POINT_RENAME(uiter_setUTF8)
-#define uldn_close U_ICU_ENTRY_POINT_RENAME(uldn_close)
-#define uldn_getDialectHandling U_ICU_ENTRY_POINT_RENAME(uldn_getDialectHandling)
-#define uldn_getLocale U_ICU_ENTRY_POINT_RENAME(uldn_getLocale)
-#define uldn_keyDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_keyDisplayName)
-#define uldn_keyValueDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_keyValueDisplayName)
-#define uldn_languageDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_languageDisplayName)
-#define uldn_localeDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_localeDisplayName)
-#define uldn_open U_ICU_ENTRY_POINT_RENAME(uldn_open)
-#define uldn_regionDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_regionDisplayName)
-#define uldn_scriptCodeDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_scriptCodeDisplayName)
-#define uldn_scriptDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_scriptDisplayName)
-#define uldn_variantDisplayName U_ICU_ENTRY_POINT_RENAME(uldn_variantDisplayName)
-#define ulist_addItemBeginList U_ICU_ENTRY_POINT_RENAME(ulist_addItemBeginList)
-#define ulist_addItemEndList U_ICU_ENTRY_POINT_RENAME(ulist_addItemEndList)
-#define ulist_close_keyword_values_iterator U_ICU_ENTRY_POINT_RENAME(ulist_close_keyword_values_iterator)
-#define ulist_containsString U_ICU_ENTRY_POINT_RENAME(ulist_containsString)
-#define ulist_count_keyword_values U_ICU_ENTRY_POINT_RENAME(ulist_count_keyword_values)
-#define ulist_createEmptyList U_ICU_ENTRY_POINT_RENAME(ulist_createEmptyList)
-#define ulist_deleteList U_ICU_ENTRY_POINT_RENAME(ulist_deleteList)
-#define ulist_getListFromEnum U_ICU_ENTRY_POINT_RENAME(ulist_getListFromEnum)
-#define ulist_getListSize U_ICU_ENTRY_POINT_RENAME(ulist_getListSize)
-#define ulist_getNext U_ICU_ENTRY_POINT_RENAME(ulist_getNext)
-#define ulist_next_keyword_value U_ICU_ENTRY_POINT_RENAME(ulist_next_keyword_value)
-#define ulist_resetList U_ICU_ENTRY_POINT_RENAME(ulist_resetList)
-#define ulist_reset_keyword_values_iterator U_ICU_ENTRY_POINT_RENAME(ulist_reset_keyword_values_iterator)
-#define uloc_acceptLanguage U_ICU_ENTRY_POINT_RENAME(uloc_acceptLanguage)
-#define uloc_acceptLanguageFromHTTP U_ICU_ENTRY_POINT_RENAME(uloc_acceptLanguageFromHTTP)
-#define uloc_addLikelySubtags U_ICU_ENTRY_POINT_RENAME(uloc_addLikelySubtags)
-#define uloc_canonicalize U_ICU_ENTRY_POINT_RENAME(uloc_canonicalize)
-#define uloc_countAvailable U_ICU_ENTRY_POINT_RENAME(uloc_countAvailable)
-#define uloc_forLanguageTag U_ICU_ENTRY_POINT_RENAME(uloc_forLanguageTag)
-#define uloc_getAvailable U_ICU_ENTRY_POINT_RENAME(uloc_getAvailable)
-#define uloc_getBaseName U_ICU_ENTRY_POINT_RENAME(uloc_getBaseName)
-#define uloc_getCharacterOrientation U_ICU_ENTRY_POINT_RENAME(uloc_getCharacterOrientation)
-#define uloc_getCountry U_ICU_ENTRY_POINT_RENAME(uloc_getCountry)
-#define uloc_getCurrentCountryID U_ICU_ENTRY_POINT_RENAME(uloc_getCurrentCountryID)
-#define uloc_getCurrentLanguageID U_ICU_ENTRY_POINT_RENAME(uloc_getCurrentLanguageID)
-#define uloc_getDefault U_ICU_ENTRY_POINT_RENAME(uloc_getDefault)
-#define uloc_getDisplayCountry U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayCountry)
-#define uloc_getDisplayKeyword U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayKeyword)
-#define uloc_getDisplayKeywordValue U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayKeywordValue)
-#define uloc_getDisplayLanguage U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayLanguage)
-#define uloc_getDisplayName U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayName)
-#define uloc_getDisplayScript U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayScript)
-#define uloc_getDisplayVariant U_ICU_ENTRY_POINT_RENAME(uloc_getDisplayVariant)
-#define uloc_getISO3Country U_ICU_ENTRY_POINT_RENAME(uloc_getISO3Country)
-#define uloc_getISO3Language U_ICU_ENTRY_POINT_RENAME(uloc_getISO3Language)
-#define uloc_getISOCountries U_ICU_ENTRY_POINT_RENAME(uloc_getISOCountries)
-#define uloc_getISOLanguages U_ICU_ENTRY_POINT_RENAME(uloc_getISOLanguages)
-#define uloc_getKeywordValue U_ICU_ENTRY_POINT_RENAME(uloc_getKeywordValue)
-#define uloc_getLCID U_ICU_ENTRY_POINT_RENAME(uloc_getLCID)
-#define uloc_getLanguage U_ICU_ENTRY_POINT_RENAME(uloc_getLanguage)
-#define uloc_getLineOrientation U_ICU_ENTRY_POINT_RENAME(uloc_getLineOrientation)
-#define uloc_getLocaleForLCID U_ICU_ENTRY_POINT_RENAME(uloc_getLocaleForLCID)
-#define uloc_getName U_ICU_ENTRY_POINT_RENAME(uloc_getName)
-#define uloc_getParent U_ICU_ENTRY_POINT_RENAME(uloc_getParent)
-#define uloc_getScript U_ICU_ENTRY_POINT_RENAME(uloc_getScript)
-#define uloc_getTableStringWithFallback U_ICU_ENTRY_POINT_RENAME(uloc_getTableStringWithFallback)
-#define uloc_getVariant U_ICU_ENTRY_POINT_RENAME(uloc_getVariant)
-#define uloc_minimizeSubtags U_ICU_ENTRY_POINT_RENAME(uloc_minimizeSubtags)
-#define uloc_openKeywordList U_ICU_ENTRY_POINT_RENAME(uloc_openKeywordList)
-#define uloc_openKeywords U_ICU_ENTRY_POINT_RENAME(uloc_openKeywords)
-#define uloc_setDefault U_ICU_ENTRY_POINT_RENAME(uloc_setDefault)
-#define uloc_setKeywordValue U_ICU_ENTRY_POINT_RENAME(uloc_setKeywordValue)
-#define uloc_toLanguageTag U_ICU_ENTRY_POINT_RENAME(uloc_toLanguageTag)
-#define ulocdata_close U_ICU_ENTRY_POINT_RENAME(ulocdata_close)
-#define ulocdata_getCLDRVersion U_ICU_ENTRY_POINT_RENAME(ulocdata_getCLDRVersion)
-#define ulocdata_getDelimiter U_ICU_ENTRY_POINT_RENAME(ulocdata_getDelimiter)
-#define ulocdata_getExemplarSet U_ICU_ENTRY_POINT_RENAME(ulocdata_getExemplarSet)
-#define ulocdata_getLocaleDisplayPattern U_ICU_ENTRY_POINT_RENAME(ulocdata_getLocaleDisplayPattern)
-#define ulocdata_getLocaleSeparator U_ICU_ENTRY_POINT_RENAME(ulocdata_getLocaleSeparator)
-#define ulocdata_getMeasurementSystem U_ICU_ENTRY_POINT_RENAME(ulocdata_getMeasurementSystem)
-#define ulocdata_getNoSubstitute U_ICU_ENTRY_POINT_RENAME(ulocdata_getNoSubstitute)
-#define ulocdata_getPaperSize U_ICU_ENTRY_POINT_RENAME(ulocdata_getPaperSize)
-#define ulocdata_open U_ICU_ENTRY_POINT_RENAME(ulocdata_open)
-#define ulocdata_setNoSubstitute U_ICU_ENTRY_POINT_RENAME(ulocdata_setNoSubstitute)
-#define ulocimp_getCountry U_ICU_ENTRY_POINT_RENAME(ulocimp_getCountry)
-#define ulocimp_getLanguage U_ICU_ENTRY_POINT_RENAME(ulocimp_getLanguage)
-#define ulocimp_getScript U_ICU_ENTRY_POINT_RENAME(ulocimp_getScript)
-#define umsg_applyPattern U_ICU_ENTRY_POINT_RENAME(umsg_applyPattern)
-#define umsg_autoQuoteApostrophe U_ICU_ENTRY_POINT_RENAME(umsg_autoQuoteApostrophe)
-#define umsg_clone U_ICU_ENTRY_POINT_RENAME(umsg_clone)
-#define umsg_close U_ICU_ENTRY_POINT_RENAME(umsg_close)
-#define umsg_format U_ICU_ENTRY_POINT_RENAME(umsg_format)
-#define umsg_getLocale U_ICU_ENTRY_POINT_RENAME(umsg_getLocale)
-#define umsg_open U_ICU_ENTRY_POINT_RENAME(umsg_open)
-#define umsg_parse U_ICU_ENTRY_POINT_RENAME(umsg_parse)
-#define umsg_setLocale U_ICU_ENTRY_POINT_RENAME(umsg_setLocale)
-#define umsg_toPattern U_ICU_ENTRY_POINT_RENAME(umsg_toPattern)
-#define umsg_vformat U_ICU_ENTRY_POINT_RENAME(umsg_vformat)
-#define umsg_vparse U_ICU_ENTRY_POINT_RENAME(umsg_vparse)
-#define umtx_atomic_dec U_ICU_ENTRY_POINT_RENAME(umtx_atomic_dec)
-#define umtx_atomic_inc U_ICU_ENTRY_POINT_RENAME(umtx_atomic_inc)
-#define umtx_cleanup U_ICU_ENTRY_POINT_RENAME(umtx_cleanup)
-#define umtx_destroy U_ICU_ENTRY_POINT_RENAME(umtx_destroy)
-#define umtx_init U_ICU_ENTRY_POINT_RENAME(umtx_init)
-#define umtx_lock U_ICU_ENTRY_POINT_RENAME(umtx_lock)
-#define umtx_unlock U_ICU_ENTRY_POINT_RENAME(umtx_unlock)
-#define uniset_getUnicode32Instance U_ICU_ENTRY_POINT_RENAME(uniset_getUnicode32Instance)
-#define unorm2_append U_ICU_ENTRY_POINT_RENAME(unorm2_append)
-#define unorm2_close U_ICU_ENTRY_POINT_RENAME(unorm2_close)
-#define unorm2_getDecomposition U_ICU_ENTRY_POINT_RENAME(unorm2_getDecomposition)
-#define unorm2_getInstance U_ICU_ENTRY_POINT_RENAME(unorm2_getInstance)
-#define unorm2_hasBoundaryAfter U_ICU_ENTRY_POINT_RENAME(unorm2_hasBoundaryAfter)
-#define unorm2_hasBoundaryBefore U_ICU_ENTRY_POINT_RENAME(unorm2_hasBoundaryBefore)
-#define unorm2_isInert U_ICU_ENTRY_POINT_RENAME(unorm2_isInert)
-#define unorm2_isNormalized U_ICU_ENTRY_POINT_RENAME(unorm2_isNormalized)
-#define unorm2_normalize U_ICU_ENTRY_POINT_RENAME(unorm2_normalize)
-#define unorm2_normalizeSecondAndAppend U_ICU_ENTRY_POINT_RENAME(unorm2_normalizeSecondAndAppend)
-#define unorm2_openFiltered U_ICU_ENTRY_POINT_RENAME(unorm2_openFiltered)
-#define unorm2_quickCheck U_ICU_ENTRY_POINT_RENAME(unorm2_quickCheck)
-#define unorm2_spanQuickCheckYes U_ICU_ENTRY_POINT_RENAME(unorm2_spanQuickCheckYes)
-#define unorm2_swap U_ICU_ENTRY_POINT_RENAME(unorm2_swap)
-#define unorm_closeIter U_ICU_ENTRY_POINT_RENAME(unorm_closeIter)
-#define unorm_compare U_ICU_ENTRY_POINT_RENAME(unorm_compare)
-#define unorm_concatenate U_ICU_ENTRY_POINT_RENAME(unorm_concatenate)
-#define unorm_getFCDTrieIndex U_ICU_ENTRY_POINT_RENAME(unorm_getFCDTrieIndex)
-#define unorm_getQuickCheck U_ICU_ENTRY_POINT_RENAME(unorm_getQuickCheck)
-#define unorm_isNormalized U_ICU_ENTRY_POINT_RENAME(unorm_isNormalized)
-#define unorm_isNormalizedWithOptions U_ICU_ENTRY_POINT_RENAME(unorm_isNormalizedWithOptions)
-#define unorm_next U_ICU_ENTRY_POINT_RENAME(unorm_next)
-#define unorm_normalize U_ICU_ENTRY_POINT_RENAME(unorm_normalize)
-#define unorm_openIter U_ICU_ENTRY_POINT_RENAME(unorm_openIter)
-#define unorm_previous U_ICU_ENTRY_POINT_RENAME(unorm_previous)
-#define unorm_quickCheck U_ICU_ENTRY_POINT_RENAME(unorm_quickCheck)
-#define unorm_quickCheckWithOptions U_ICU_ENTRY_POINT_RENAME(unorm_quickCheckWithOptions)
-#define unorm_setIter U_ICU_ENTRY_POINT_RENAME(unorm_setIter)
-#define unum_applyPattern U_ICU_ENTRY_POINT_RENAME(unum_applyPattern)
-#define unum_clone U_ICU_ENTRY_POINT_RENAME(unum_clone)
-#define unum_close U_ICU_ENTRY_POINT_RENAME(unum_close)
-#define unum_countAvailable U_ICU_ENTRY_POINT_RENAME(unum_countAvailable)
-#define unum_format U_ICU_ENTRY_POINT_RENAME(unum_format)
-#define unum_formatDecimal U_ICU_ENTRY_POINT_RENAME(unum_formatDecimal)
-#define unum_formatDouble U_ICU_ENTRY_POINT_RENAME(unum_formatDouble)
-#define unum_formatDoubleCurrency U_ICU_ENTRY_POINT_RENAME(unum_formatDoubleCurrency)
-#define unum_formatInt64 U_ICU_ENTRY_POINT_RENAME(unum_formatInt64)
-#define unum_getAttribute U_ICU_ENTRY_POINT_RENAME(unum_getAttribute)
-#define unum_getAvailable U_ICU_ENTRY_POINT_RENAME(unum_getAvailable)
-#define unum_getDoubleAttribute U_ICU_ENTRY_POINT_RENAME(unum_getDoubleAttribute)
-#define unum_getLocaleByType U_ICU_ENTRY_POINT_RENAME(unum_getLocaleByType)
-#define unum_getSymbol U_ICU_ENTRY_POINT_RENAME(unum_getSymbol)
-#define unum_getTextAttribute U_ICU_ENTRY_POINT_RENAME(unum_getTextAttribute)
-#define unum_open U_ICU_ENTRY_POINT_RENAME(unum_open)
-#define unum_parse U_ICU_ENTRY_POINT_RENAME(unum_parse)
-#define unum_parseDecimal U_ICU_ENTRY_POINT_RENAME(unum_parseDecimal)
-#define unum_parseDouble U_ICU_ENTRY_POINT_RENAME(unum_parseDouble)
-#define unum_parseDoubleCurrency U_ICU_ENTRY_POINT_RENAME(unum_parseDoubleCurrency)
-#define unum_parseInt64 U_ICU_ENTRY_POINT_RENAME(unum_parseInt64)
-#define unum_setAttribute U_ICU_ENTRY_POINT_RENAME(unum_setAttribute)
-#define unum_setDoubleAttribute U_ICU_ENTRY_POINT_RENAME(unum_setDoubleAttribute)
-#define unum_setSymbol U_ICU_ENTRY_POINT_RENAME(unum_setSymbol)
-#define unum_setTextAttribute U_ICU_ENTRY_POINT_RENAME(unum_setTextAttribute)
-#define unum_toPattern U_ICU_ENTRY_POINT_RENAME(unum_toPattern)
-#define uplug_closeLibrary U_ICU_ENTRY_POINT_RENAME(uplug_closeLibrary)
-#define uplug_findLibrary U_ICU_ENTRY_POINT_RENAME(uplug_findLibrary)
-#define uplug_getConfiguration U_ICU_ENTRY_POINT_RENAME(uplug_getConfiguration)
-#define uplug_getContext U_ICU_ENTRY_POINT_RENAME(uplug_getContext)
-#define uplug_getCurrentLevel U_ICU_ENTRY_POINT_RENAME(uplug_getCurrentLevel)
-#define uplug_getLibrary U_ICU_ENTRY_POINT_RENAME(uplug_getLibrary)
-#define uplug_getLibraryName U_ICU_ENTRY_POINT_RENAME(uplug_getLibraryName)
-#define uplug_getPlugInternal U_ICU_ENTRY_POINT_RENAME(uplug_getPlugInternal)
-#define uplug_getPlugLevel U_ICU_ENTRY_POINT_RENAME(uplug_getPlugLevel)
-#define uplug_getPlugLoadStatus U_ICU_ENTRY_POINT_RENAME(uplug_getPlugLoadStatus)
-#define uplug_getPlugName U_ICU_ENTRY_POINT_RENAME(uplug_getPlugName)
-#define uplug_getPluginFile U_ICU_ENTRY_POINT_RENAME(uplug_getPluginFile)
-#define uplug_getSymbolName U_ICU_ENTRY_POINT_RENAME(uplug_getSymbolName)
-#define uplug_init U_ICU_ENTRY_POINT_RENAME(uplug_init)
-#define uplug_loadPlugFromEntrypoint U_ICU_ENTRY_POINT_RENAME(uplug_loadPlugFromEntrypoint)
-#define uplug_loadPlugFromLibrary U_ICU_ENTRY_POINT_RENAME(uplug_loadPlugFromLibrary)
-#define uplug_nextPlug U_ICU_ENTRY_POINT_RENAME(uplug_nextPlug)
-#define uplug_openLibrary U_ICU_ENTRY_POINT_RENAME(uplug_openLibrary)
-#define uplug_removePlug U_ICU_ENTRY_POINT_RENAME(uplug_removePlug)
-#define uplug_setContext U_ICU_ENTRY_POINT_RENAME(uplug_setContext)
-#define uplug_setPlugLevel U_ICU_ENTRY_POINT_RENAME(uplug_setPlugLevel)
-#define uplug_setPlugName U_ICU_ENTRY_POINT_RENAME(uplug_setPlugName)
-#define uplug_setPlugNoUnload U_ICU_ENTRY_POINT_RENAME(uplug_setPlugNoUnload)
-#define upname_swap U_ICU_ENTRY_POINT_RENAME(upname_swap)
-#define uprops_getSource U_ICU_ENTRY_POINT_RENAME(uprops_getSource)
-#define upropsvec_addPropertyStarts U_ICU_ENTRY_POINT_RENAME(upropsvec_addPropertyStarts)
-#define uprv_aestrncpy U_ICU_ENTRY_POINT_RENAME(uprv_aestrncpy)
-#define uprv_asciiFromEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_asciiFromEbcdic)
-#define uprv_asciitolower U_ICU_ENTRY_POINT_RENAME(uprv_asciitolower)
-#define uprv_ceil U_ICU_ENTRY_POINT_RENAME(uprv_ceil)
-#define uprv_cnttab_addContraction U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_addContraction)
-#define uprv_cnttab_changeContraction U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_changeContraction)
-#define uprv_cnttab_changeLastCE U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_changeLastCE)
-#define uprv_cnttab_clone U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_clone)
-#define uprv_cnttab_close U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_close)
-#define uprv_cnttab_constructTable U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_constructTable)
-#define uprv_cnttab_findCE U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_findCE)
-#define uprv_cnttab_findCP U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_findCP)
-#define uprv_cnttab_getCE U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_getCE)
-#define uprv_cnttab_insertContraction U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_insertContraction)
-#define uprv_cnttab_isTailored U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_isTailored)
-#define uprv_cnttab_open U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_open)
-#define uprv_cnttab_setContraction U_ICU_ENTRY_POINT_RENAME(uprv_cnttab_setContraction)
-#define uprv_collIterateAtEnd U_ICU_ENTRY_POINT_RENAME(uprv_collIterateAtEnd)
-#define uprv_compareASCIIPropertyNames U_ICU_ENTRY_POINT_RENAME(uprv_compareASCIIPropertyNames)
-#define uprv_compareEBCDICPropertyNames U_ICU_ENTRY_POINT_RENAME(uprv_compareEBCDICPropertyNames)
-#define uprv_compareInvAscii U_ICU_ENTRY_POINT_RENAME(uprv_compareInvAscii)
-#define uprv_compareInvEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_compareInvEbcdic)
-#define uprv_compareInvEbcdicAsAscii U_ICU_ENTRY_POINT_RENAME(uprv_compareInvEbcdicAsAscii)
-#define uprv_convertToLCID U_ICU_ENTRY_POINT_RENAME(uprv_convertToLCID)
-#define uprv_convertToPosix U_ICU_ENTRY_POINT_RENAME(uprv_convertToPosix)
-#define uprv_copyAscii U_ICU_ENTRY_POINT_RENAME(uprv_copyAscii)
-#define uprv_copyEbcdic U_ICU_ENTRY_POINT_RENAME(uprv_copyEbcdic)
-#define uprv_decContextClearStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextClearStatus)
-#define uprv_decContextDefault U_ICU_ENTRY_POINT_RENAME(uprv_decContextDefault)
-#define uprv_decContextGetRounding U_ICU_ENTRY_POINT_RENAME(uprv_decContextGetRounding)
-#define uprv_decContextGetStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextGetStatus)
-#define uprv_decContextRestoreStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextRestoreStatus)
-#define uprv_decContextSaveStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextSaveStatus)
-#define uprv_decContextSetRounding U_ICU_ENTRY_POINT_RENAME(uprv_decContextSetRounding)
-#define uprv_decContextSetStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextSetStatus)
-#define uprv_decContextSetStatusFromString U_ICU_ENTRY_POINT_RENAME(uprv_decContextSetStatusFromString)
-#define uprv_decContextSetStatusFromStringQuiet U_ICU_ENTRY_POINT_RENAME(uprv_decContextSetStatusFromStringQuiet)
-#define uprv_decContextSetStatusQuiet U_ICU_ENTRY_POINT_RENAME(uprv_decContextSetStatusQuiet)
-#define uprv_decContextStatusToString U_ICU_ENTRY_POINT_RENAME(uprv_decContextStatusToString)
-#define uprv_decContextTestEndian U_ICU_ENTRY_POINT_RENAME(uprv_decContextTestEndian)
-#define uprv_decContextTestSavedStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextTestSavedStatus)
-#define uprv_decContextTestStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextTestStatus)
-#define uprv_decContextZeroStatus U_ICU_ENTRY_POINT_RENAME(uprv_decContextZeroStatus)
-#define uprv_decNumberAbs U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAbs)
-#define uprv_decNumberAdd U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAdd)
-#define uprv_decNumberAnd U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAnd)
-#define uprv_decNumberClass U_ICU_ENTRY_POINT_RENAME(uprv_decNumberClass)
-#define uprv_decNumberClassToString U_ICU_ENTRY_POINT_RENAME(uprv_decNumberClassToString)
-#define uprv_decNumberCompare U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCompare)
-#define uprv_decNumberCompareSignal U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCompareSignal)
-#define uprv_decNumberCompareTotal U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCompareTotal)
-#define uprv_decNumberCompareTotalMag U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCompareTotalMag)
-#define uprv_decNumberCopy U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCopy)
-#define uprv_decNumberCopyAbs U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCopyAbs)
-#define uprv_decNumberCopyNegate U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCopyNegate)
-#define uprv_decNumberCopySign U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCopySign)
-#define uprv_decNumberDivide U_ICU_ENTRY_POINT_RENAME(uprv_decNumberDivide)
-#define uprv_decNumberDivideInteger U_ICU_ENTRY_POINT_RENAME(uprv_decNumberDivideInteger)
-#define uprv_decNumberExp U_ICU_ENTRY_POINT_RENAME(uprv_decNumberExp)
-#define uprv_decNumberFMA U_ICU_ENTRY_POINT_RENAME(uprv_decNumberFMA)
-#define uprv_decNumberFromInt32 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberFromInt32)
-#define uprv_decNumberFromString U_ICU_ENTRY_POINT_RENAME(uprv_decNumberFromString)
-#define uprv_decNumberFromUInt32 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberFromUInt32)
-#define uprv_decNumberGetBCD U_ICU_ENTRY_POINT_RENAME(uprv_decNumberGetBCD)
-#define uprv_decNumberInvert U_ICU_ENTRY_POINT_RENAME(uprv_decNumberInvert)
-#define uprv_decNumberIsNormal U_ICU_ENTRY_POINT_RENAME(uprv_decNumberIsNormal)
-#define uprv_decNumberIsSubnormal U_ICU_ENTRY_POINT_RENAME(uprv_decNumberIsSubnormal)
-#define uprv_decNumberLn U_ICU_ENTRY_POINT_RENAME(uprv_decNumberLn)
-#define uprv_decNumberLog10 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberLog10)
-#define uprv_decNumberLogB U_ICU_ENTRY_POINT_RENAME(uprv_decNumberLogB)
-#define uprv_decNumberMax U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMax)
-#define uprv_decNumberMaxMag U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMaxMag)
-#define uprv_decNumberMin U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMin)
-#define uprv_decNumberMinMag U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMinMag)
-#define uprv_decNumberMinus U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMinus)
-#define uprv_decNumberMultiply U_ICU_ENTRY_POINT_RENAME(uprv_decNumberMultiply)
-#define uprv_decNumberNextMinus U_ICU_ENTRY_POINT_RENAME(uprv_decNumberNextMinus)
-#define uprv_decNumberNextPlus U_ICU_ENTRY_POINT_RENAME(uprv_decNumberNextPlus)
-#define uprv_decNumberNextToward U_ICU_ENTRY_POINT_RENAME(uprv_decNumberNextToward)
-#define uprv_decNumberNormalize U_ICU_ENTRY_POINT_RENAME(uprv_decNumberNormalize)
-#define uprv_decNumberOr U_ICU_ENTRY_POINT_RENAME(uprv_decNumberOr)
-#define uprv_decNumberPlus U_ICU_ENTRY_POINT_RENAME(uprv_decNumberPlus)
-#define uprv_decNumberPower U_ICU_ENTRY_POINT_RENAME(uprv_decNumberPower)
-#define uprv_decNumberQuantize U_ICU_ENTRY_POINT_RENAME(uprv_decNumberQuantize)
-#define uprv_decNumberReduce U_ICU_ENTRY_POINT_RENAME(uprv_decNumberReduce)
-#define uprv_decNumberRemainder U_ICU_ENTRY_POINT_RENAME(uprv_decNumberRemainder)
-#define uprv_decNumberRemainderNear U_ICU_ENTRY_POINT_RENAME(uprv_decNumberRemainderNear)
-#define uprv_decNumberRescale U_ICU_ENTRY_POINT_RENAME(uprv_decNumberRescale)
-#define uprv_decNumberRotate U_ICU_ENTRY_POINT_RENAME(uprv_decNumberRotate)
-#define uprv_decNumberSameQuantum U_ICU_ENTRY_POINT_RENAME(uprv_decNumberSameQuantum)
-#define uprv_decNumberScaleB U_ICU_ENTRY_POINT_RENAME(uprv_decNumberScaleB)
-#define uprv_decNumberSetBCD U_ICU_ENTRY_POINT_RENAME(uprv_decNumberSetBCD)
-#define uprv_decNumberShift U_ICU_ENTRY_POINT_RENAME(uprv_decNumberShift)
-#define uprv_decNumberSquareRoot U_ICU_ENTRY_POINT_RENAME(uprv_decNumberSquareRoot)
-#define uprv_decNumberSubtract U_ICU_ENTRY_POINT_RENAME(uprv_decNumberSubtract)
-#define uprv_decNumberToEngString U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToEngString)
-#define uprv_decNumberToInt32 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToInt32)
-#define uprv_decNumberToIntegralExact U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToIntegralExact)
-#define uprv_decNumberToIntegralValue U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToIntegralValue)
-#define uprv_decNumberToString U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToString)
-#define uprv_decNumberToUInt32 U_ICU_ENTRY_POINT_RENAME(uprv_decNumberToUInt32)
-#define uprv_decNumberTrim U_ICU_ENTRY_POINT_RENAME(uprv_decNumberTrim)
-#define uprv_decNumberVersion U_ICU_ENTRY_POINT_RENAME(uprv_decNumberVersion)
-#define uprv_decNumberXor U_ICU_ENTRY_POINT_RENAME(uprv_decNumberXor)
-#define uprv_decNumberZero U_ICU_ENTRY_POINT_RENAME(uprv_decNumberZero)
-#define uprv_delete_collIterate U_ICU_ENTRY_POINT_RENAME(uprv_delete_collIterate)
-#define uprv_dl_close U_ICU_ENTRY_POINT_RENAME(uprv_dl_close)
-#define uprv_dl_open U_ICU_ENTRY_POINT_RENAME(uprv_dl_open)
-#define uprv_dl_sym U_ICU_ENTRY_POINT_RENAME(uprv_dl_sym)
-#define uprv_eastrncpy U_ICU_ENTRY_POINT_RENAME(uprv_eastrncpy)
-#define uprv_ebcdicFromAscii U_ICU_ENTRY_POINT_RENAME(uprv_ebcdicFromAscii)
-#define uprv_ebcdictolower U_ICU_ENTRY_POINT_RENAME(uprv_ebcdictolower)
-#define uprv_fabs U_ICU_ENTRY_POINT_RENAME(uprv_fabs)
-#define uprv_floor U_ICU_ENTRY_POINT_RENAME(uprv_floor)
-#define uprv_fmax U_ICU_ENTRY_POINT_RENAME(uprv_fmax)
-#define uprv_fmin U_ICU_ENTRY_POINT_RENAME(uprv_fmin)
-#define uprv_fmod U_ICU_ENTRY_POINT_RENAME(uprv_fmod)
-#define uprv_free U_ICU_ENTRY_POINT_RENAME(uprv_free)
-#define uprv_getCharNameCharacters U_ICU_ENTRY_POINT_RENAME(uprv_getCharNameCharacters)
-#define uprv_getDefaultCodepage U_ICU_ENTRY_POINT_RENAME(uprv_getDefaultCodepage)
-#define uprv_getDefaultLocaleID U_ICU_ENTRY_POINT_RENAME(uprv_getDefaultLocaleID)
-#define uprv_getInfinity U_ICU_ENTRY_POINT_RENAME(uprv_getInfinity)
-#define uprv_getMaxCharNameLength U_ICU_ENTRY_POINT_RENAME(uprv_getMaxCharNameLength)
-#define uprv_getMaxValues U_ICU_ENTRY_POINT_RENAME(uprv_getMaxValues)
-#define uprv_getNaN U_ICU_ENTRY_POINT_RENAME(uprv_getNaN)
-#define uprv_getRawUTCtime U_ICU_ENTRY_POINT_RENAME(uprv_getRawUTCtime)
-#define uprv_getStaticCurrencyName U_ICU_ENTRY_POINT_RENAME(uprv_getStaticCurrencyName)
-#define uprv_getUTCtime U_ICU_ENTRY_POINT_RENAME(uprv_getUTCtime)
-#define uprv_haveProperties U_ICU_ENTRY_POINT_RENAME(uprv_haveProperties)
-#define uprv_init_collIterate U_ICU_ENTRY_POINT_RENAME(uprv_init_collIterate)
-#define uprv_init_pce U_ICU_ENTRY_POINT_RENAME(uprv_init_pce)
-#define uprv_int32Comparator U_ICU_ENTRY_POINT_RENAME(uprv_int32Comparator)
-#define uprv_isInfinite U_ICU_ENTRY_POINT_RENAME(uprv_isInfinite)
-#define uprv_isInvariantString U_ICU_ENTRY_POINT_RENAME(uprv_isInvariantString)
-#define uprv_isInvariantUString U_ICU_ENTRY_POINT_RENAME(uprv_isInvariantUString)
-#define uprv_isNaN U_ICU_ENTRY_POINT_RENAME(uprv_isNaN)
-#define uprv_isNegativeInfinity U_ICU_ENTRY_POINT_RENAME(uprv_isNegativeInfinity)
-#define uprv_isPositiveInfinity U_ICU_ENTRY_POINT_RENAME(uprv_isPositiveInfinity)
-#define uprv_isRuleWhiteSpace U_ICU_ENTRY_POINT_RENAME(uprv_isRuleWhiteSpace)
-#define uprv_itou U_ICU_ENTRY_POINT_RENAME(uprv_itou)
-#define uprv_log U_ICU_ENTRY_POINT_RENAME(uprv_log)
-#define uprv_malloc U_ICU_ENTRY_POINT_RENAME(uprv_malloc)
-#define uprv_mapFile U_ICU_ENTRY_POINT_RENAME(uprv_mapFile)
-#define uprv_max U_ICU_ENTRY_POINT_RENAME(uprv_max)
-#define uprv_maxMantissa U_ICU_ENTRY_POINT_RENAME(uprv_maxMantissa)
-#define uprv_maximumPtr U_ICU_ENTRY_POINT_RENAME(uprv_maximumPtr)
-#define uprv_min U_ICU_ENTRY_POINT_RENAME(uprv_min)
-#define uprv_modf U_ICU_ENTRY_POINT_RENAME(uprv_modf)
-#define uprv_new_collIterate U_ICU_ENTRY_POINT_RENAME(uprv_new_collIterate)
-#define uprv_openRuleWhiteSpaceSet U_ICU_ENTRY_POINT_RENAME(uprv_openRuleWhiteSpaceSet)
-#define uprv_parseCurrency U_ICU_ENTRY_POINT_RENAME(uprv_parseCurrency)
-#define uprv_pathIsAbsolute U_ICU_ENTRY_POINT_RENAME(uprv_pathIsAbsolute)
-#define uprv_pow U_ICU_ENTRY_POINT_RENAME(uprv_pow)
-#define uprv_pow10 U_ICU_ENTRY_POINT_RENAME(uprv_pow10)
-#define uprv_realloc U_ICU_ENTRY_POINT_RENAME(uprv_realloc)
-#define uprv_round U_ICU_ENTRY_POINT_RENAME(uprv_round)
-#define uprv_sortArray U_ICU_ENTRY_POINT_RENAME(uprv_sortArray)
-#define uprv_strCompare U_ICU_ENTRY_POINT_RENAME(uprv_strCompare)
-#define uprv_strdup U_ICU_ENTRY_POINT_RENAME(uprv_strdup)
-#define uprv_strndup U_ICU_ENTRY_POINT_RENAME(uprv_strndup)
-#define uprv_syntaxError U_ICU_ENTRY_POINT_RENAME(uprv_syntaxError)
-#define uprv_timezone U_ICU_ENTRY_POINT_RENAME(uprv_timezone)
-#define uprv_toupper U_ICU_ENTRY_POINT_RENAME(uprv_toupper)
-#define uprv_trunc U_ICU_ENTRY_POINT_RENAME(uprv_trunc)
-#define uprv_tzname U_ICU_ENTRY_POINT_RENAME(uprv_tzname)
-#define uprv_tzset U_ICU_ENTRY_POINT_RENAME(uprv_tzset)
-#define uprv_uca_addAnElement U_ICU_ENTRY_POINT_RENAME(uprv_uca_addAnElement)
-#define uprv_uca_assembleTable U_ICU_ENTRY_POINT_RENAME(uprv_uca_assembleTable)
-#define uprv_uca_canonicalClosure U_ICU_ENTRY_POINT_RENAME(uprv_uca_canonicalClosure)
-#define uprv_uca_closeTempTable U_ICU_ENTRY_POINT_RENAME(uprv_uca_closeTempTable)
-#define uprv_uca_getCodePointFromRaw U_ICU_ENTRY_POINT_RENAME(uprv_uca_getCodePointFromRaw)
-#define uprv_uca_getImplicitFromRaw U_ICU_ENTRY_POINT_RENAME(uprv_uca_getImplicitFromRaw)
-#define uprv_uca_getRawFromCodePoint U_ICU_ENTRY_POINT_RENAME(uprv_uca_getRawFromCodePoint)
-#define uprv_uca_getRawFromImplicit U_ICU_ENTRY_POINT_RENAME(uprv_uca_getRawFromImplicit)
-#define uprv_uca_initImplicitConstants U_ICU_ENTRY_POINT_RENAME(uprv_uca_initImplicitConstants)
-#define uprv_uca_initTempTable U_ICU_ENTRY_POINT_RENAME(uprv_uca_initTempTable)
-#define uprv_uint16Comparator U_ICU_ENTRY_POINT_RENAME(uprv_uint16Comparator)
-#define uprv_uint32Comparator U_ICU_ENTRY_POINT_RENAME(uprv_uint32Comparator)
-#define uprv_unmapFile U_ICU_ENTRY_POINT_RENAME(uprv_unmapFile)
-#define upvec_cloneArray U_ICU_ENTRY_POINT_RENAME(upvec_cloneArray)
-#define upvec_close U_ICU_ENTRY_POINT_RENAME(upvec_close)
-#define upvec_compact U_ICU_ENTRY_POINT_RENAME(upvec_compact)
-#define upvec_compactToUTrie2Handler U_ICU_ENTRY_POINT_RENAME(upvec_compactToUTrie2Handler)
-#define upvec_compactToUTrie2WithRowIndexes U_ICU_ENTRY_POINT_RENAME(upvec_compactToUTrie2WithRowIndexes)
-#define upvec_getArray U_ICU_ENTRY_POINT_RENAME(upvec_getArray)
-#define upvec_getRow U_ICU_ENTRY_POINT_RENAME(upvec_getRow)
-#define upvec_getValue U_ICU_ENTRY_POINT_RENAME(upvec_getValue)
-#define upvec_open U_ICU_ENTRY_POINT_RENAME(upvec_open)
-#define upvec_setValue U_ICU_ENTRY_POINT_RENAME(upvec_setValue)
-#define uregex_appendReplacement U_ICU_ENTRY_POINT_RENAME(uregex_appendReplacement)
-#define uregex_appendReplacementUText U_ICU_ENTRY_POINT_RENAME(uregex_appendReplacementUText)
-#define uregex_appendTail U_ICU_ENTRY_POINT_RENAME(uregex_appendTail)
-#define uregex_appendTailUText U_ICU_ENTRY_POINT_RENAME(uregex_appendTailUText)
-#define uregex_clone U_ICU_ENTRY_POINT_RENAME(uregex_clone)
-#define uregex_close U_ICU_ENTRY_POINT_RENAME(uregex_close)
-#define uregex_end U_ICU_ENTRY_POINT_RENAME(uregex_end)
-#define uregex_end64 U_ICU_ENTRY_POINT_RENAME(uregex_end64)
-#define uregex_find U_ICU_ENTRY_POINT_RENAME(uregex_find)
-#define uregex_find64 U_ICU_ENTRY_POINT_RENAME(uregex_find64)
-#define uregex_findNext U_ICU_ENTRY_POINT_RENAME(uregex_findNext)
-#define uregex_flags U_ICU_ENTRY_POINT_RENAME(uregex_flags)
-#define uregex_getFindProgressCallback U_ICU_ENTRY_POINT_RENAME(uregex_getFindProgressCallback)
-#define uregex_getMatchCallback U_ICU_ENTRY_POINT_RENAME(uregex_getMatchCallback)
-#define uregex_getStackLimit U_ICU_ENTRY_POINT_RENAME(uregex_getStackLimit)
-#define uregex_getText U_ICU_ENTRY_POINT_RENAME(uregex_getText)
-#define uregex_getTimeLimit U_ICU_ENTRY_POINT_RENAME(uregex_getTimeLimit)
-#define uregex_getUText U_ICU_ENTRY_POINT_RENAME(uregex_getUText)
-#define uregex_group U_ICU_ENTRY_POINT_RENAME(uregex_group)
-#define uregex_groupCount U_ICU_ENTRY_POINT_RENAME(uregex_groupCount)
-#define uregex_groupUText U_ICU_ENTRY_POINT_RENAME(uregex_groupUText)
-#define uregex_groupUTextDeep U_ICU_ENTRY_POINT_RENAME(uregex_groupUTextDeep)
-#define uregex_hasAnchoringBounds U_ICU_ENTRY_POINT_RENAME(uregex_hasAnchoringBounds)
-#define uregex_hasTransparentBounds U_ICU_ENTRY_POINT_RENAME(uregex_hasTransparentBounds)
-#define uregex_hitEnd U_ICU_ENTRY_POINT_RENAME(uregex_hitEnd)
-#define uregex_lookingAt U_ICU_ENTRY_POINT_RENAME(uregex_lookingAt)
-#define uregex_lookingAt64 U_ICU_ENTRY_POINT_RENAME(uregex_lookingAt64)
-#define uregex_matches U_ICU_ENTRY_POINT_RENAME(uregex_matches)
-#define uregex_matches64 U_ICU_ENTRY_POINT_RENAME(uregex_matches64)
-#define uregex_open U_ICU_ENTRY_POINT_RENAME(uregex_open)
-#define uregex_openC U_ICU_ENTRY_POINT_RENAME(uregex_openC)
-#define uregex_openUText U_ICU_ENTRY_POINT_RENAME(uregex_openUText)
-#define uregex_pattern U_ICU_ENTRY_POINT_RENAME(uregex_pattern)
-#define uregex_patternUText U_ICU_ENTRY_POINT_RENAME(uregex_patternUText)
-#define uregex_regionEnd U_ICU_ENTRY_POINT_RENAME(uregex_regionEnd)
-#define uregex_regionEnd64 U_ICU_ENTRY_POINT_RENAME(uregex_regionEnd64)
-#define uregex_regionStart U_ICU_ENTRY_POINT_RENAME(uregex_regionStart)
-#define uregex_regionStart64 U_ICU_ENTRY_POINT_RENAME(uregex_regionStart64)
-#define uregex_replaceAll U_ICU_ENTRY_POINT_RENAME(uregex_replaceAll)
-#define uregex_replaceAllUText U_ICU_ENTRY_POINT_RENAME(uregex_replaceAllUText)
-#define uregex_replaceFirst U_ICU_ENTRY_POINT_RENAME(uregex_replaceFirst)
-#define uregex_replaceFirstUText U_ICU_ENTRY_POINT_RENAME(uregex_replaceFirstUText)
-#define uregex_requireEnd U_ICU_ENTRY_POINT_RENAME(uregex_requireEnd)
-#define uregex_reset U_ICU_ENTRY_POINT_RENAME(uregex_reset)
-#define uregex_reset64 U_ICU_ENTRY_POINT_RENAME(uregex_reset64)
-#define uregex_setFindProgressCallback U_ICU_ENTRY_POINT_RENAME(uregex_setFindProgressCallback)
-#define uregex_setMatchCallback U_ICU_ENTRY_POINT_RENAME(uregex_setMatchCallback)
-#define uregex_setRegion U_ICU_ENTRY_POINT_RENAME(uregex_setRegion)
-#define uregex_setRegion64 U_ICU_ENTRY_POINT_RENAME(uregex_setRegion64)
-#define uregex_setRegionAndStart U_ICU_ENTRY_POINT_RENAME(uregex_setRegionAndStart)
-#define uregex_setStackLimit U_ICU_ENTRY_POINT_RENAME(uregex_setStackLimit)
-#define uregex_setText U_ICU_ENTRY_POINT_RENAME(uregex_setText)
-#define uregex_setTimeLimit U_ICU_ENTRY_POINT_RENAME(uregex_setTimeLimit)
-#define uregex_setUText U_ICU_ENTRY_POINT_RENAME(uregex_setUText)
-#define uregex_split U_ICU_ENTRY_POINT_RENAME(uregex_split)
-#define uregex_splitUText U_ICU_ENTRY_POINT_RENAME(uregex_splitUText)
-#define uregex_start U_ICU_ENTRY_POINT_RENAME(uregex_start)
-#define uregex_start64 U_ICU_ENTRY_POINT_RENAME(uregex_start64)
-#define uregex_ucstr_unescape_charAt U_ICU_ENTRY_POINT_RENAME(uregex_ucstr_unescape_charAt)
-#define uregex_useAnchoringBounds U_ICU_ENTRY_POINT_RENAME(uregex_useAnchoringBounds)
-#define uregex_useTransparentBounds U_ICU_ENTRY_POINT_RENAME(uregex_useTransparentBounds)
-#define uregex_utext_unescape_charAt U_ICU_ENTRY_POINT_RENAME(uregex_utext_unescape_charAt)
-#define ures_close U_ICU_ENTRY_POINT_RENAME(ures_close)
-#define ures_copyResb U_ICU_ENTRY_POINT_RENAME(ures_copyResb)
-#define ures_countArrayItems U_ICU_ENTRY_POINT_RENAME(ures_countArrayItems)
-#define ures_findResource U_ICU_ENTRY_POINT_RENAME(ures_findResource)
-#define ures_findSubResource U_ICU_ENTRY_POINT_RENAME(ures_findSubResource)
-#define ures_getBinary U_ICU_ENTRY_POINT_RENAME(ures_getBinary)
-#define ures_getByIndex U_ICU_ENTRY_POINT_RENAME(ures_getByIndex)
-#define ures_getByKey U_ICU_ENTRY_POINT_RENAME(ures_getByKey)
-#define ures_getByKeyWithFallback U_ICU_ENTRY_POINT_RENAME(ures_getByKeyWithFallback)
-#define ures_getFunctionalEquivalent U_ICU_ENTRY_POINT_RENAME(ures_getFunctionalEquivalent)
-#define ures_getInt U_ICU_ENTRY_POINT_RENAME(ures_getInt)
-#define ures_getIntVector U_ICU_ENTRY_POINT_RENAME(ures_getIntVector)
-#define ures_getKey U_ICU_ENTRY_POINT_RENAME(ures_getKey)
-#define ures_getKeywordValues U_ICU_ENTRY_POINT_RENAME(ures_getKeywordValues)
-#define ures_getLocale U_ICU_ENTRY_POINT_RENAME(ures_getLocale)
-#define ures_getLocaleByType U_ICU_ENTRY_POINT_RENAME(ures_getLocaleByType)
-#define ures_getLocaleInternal U_ICU_ENTRY_POINT_RENAME(ures_getLocaleInternal)
-#define ures_getName U_ICU_ENTRY_POINT_RENAME(ures_getName)
-#define ures_getNextResource U_ICU_ENTRY_POINT_RENAME(ures_getNextResource)
-#define ures_getNextString U_ICU_ENTRY_POINT_RENAME(ures_getNextString)
-#define ures_getSize U_ICU_ENTRY_POINT_RENAME(ures_getSize)
-#define ures_getString U_ICU_ENTRY_POINT_RENAME(ures_getString)
-#define ures_getStringByIndex U_ICU_ENTRY_POINT_RENAME(ures_getStringByIndex)
-#define ures_getStringByKey U_ICU_ENTRY_POINT_RENAME(ures_getStringByKey)
-#define ures_getStringByKeyWithFallback U_ICU_ENTRY_POINT_RENAME(ures_getStringByKeyWithFallback)
-#define ures_getType U_ICU_ENTRY_POINT_RENAME(ures_getType)
-#define ures_getUInt U_ICU_ENTRY_POINT_RENAME(ures_getUInt)
-#define ures_getUTF8String U_ICU_ENTRY_POINT_RENAME(ures_getUTF8String)
-#define ures_getUTF8StringByIndex U_ICU_ENTRY_POINT_RENAME(ures_getUTF8StringByIndex)
-#define ures_getUTF8StringByKey U_ICU_ENTRY_POINT_RENAME(ures_getUTF8StringByKey)
-#define ures_getVersion U_ICU_ENTRY_POINT_RENAME(ures_getVersion)
-#define ures_getVersionByKey U_ICU_ENTRY_POINT_RENAME(ures_getVersionByKey)
-#define ures_getVersionNumber U_ICU_ENTRY_POINT_RENAME(ures_getVersionNumber)
-#define ures_getVersionNumberInternal U_ICU_ENTRY_POINT_RENAME(ures_getVersionNumberInternal)
-#define ures_hasNext U_ICU_ENTRY_POINT_RENAME(ures_hasNext)
-#define ures_initStackObject U_ICU_ENTRY_POINT_RENAME(ures_initStackObject)
-#define ures_open U_ICU_ENTRY_POINT_RENAME(ures_open)
-#define ures_openAvailableLocales U_ICU_ENTRY_POINT_RENAME(ures_openAvailableLocales)
-#define ures_openDirect U_ICU_ENTRY_POINT_RENAME(ures_openDirect)
-#define ures_openFillIn U_ICU_ENTRY_POINT_RENAME(ures_openFillIn)
-#define ures_openU U_ICU_ENTRY_POINT_RENAME(ures_openU)
-#define ures_resetIterator U_ICU_ENTRY_POINT_RENAME(ures_resetIterator)
-#define ures_swap U_ICU_ENTRY_POINT_RENAME(ures_swap)
-#define uscript_closeRun U_ICU_ENTRY_POINT_RENAME(uscript_closeRun)
-#define uscript_getCode U_ICU_ENTRY_POINT_RENAME(uscript_getCode)
-#define uscript_getName U_ICU_ENTRY_POINT_RENAME(uscript_getName)
-#define uscript_getScript U_ICU_ENTRY_POINT_RENAME(uscript_getScript)
-#define uscript_getScriptExtensions U_ICU_ENTRY_POINT_RENAME(uscript_getScriptExtensions)
-#define uscript_getShortName U_ICU_ENTRY_POINT_RENAME(uscript_getShortName)
-#define uscript_hasScript U_ICU_ENTRY_POINT_RENAME(uscript_hasScript)
-#define uscript_nextRun U_ICU_ENTRY_POINT_RENAME(uscript_nextRun)
-#define uscript_openRun U_ICU_ENTRY_POINT_RENAME(uscript_openRun)
-#define uscript_resetRun U_ICU_ENTRY_POINT_RENAME(uscript_resetRun)
-#define uscript_setRunText U_ICU_ENTRY_POINT_RENAME(uscript_setRunText)
-#define usearch_close U_ICU_ENTRY_POINT_RENAME(usearch_close)
-#define usearch_first U_ICU_ENTRY_POINT_RENAME(usearch_first)
-#define usearch_following U_ICU_ENTRY_POINT_RENAME(usearch_following)
-#define usearch_getAttribute U_ICU_ENTRY_POINT_RENAME(usearch_getAttribute)
-#define usearch_getBreakIterator U_ICU_ENTRY_POINT_RENAME(usearch_getBreakIterator)
-#define usearch_getCollator U_ICU_ENTRY_POINT_RENAME(usearch_getCollator)
-#define usearch_getMatchedLength U_ICU_ENTRY_POINT_RENAME(usearch_getMatchedLength)
-#define usearch_getMatchedStart U_ICU_ENTRY_POINT_RENAME(usearch_getMatchedStart)
-#define usearch_getMatchedText U_ICU_ENTRY_POINT_RENAME(usearch_getMatchedText)
-#define usearch_getOffset U_ICU_ENTRY_POINT_RENAME(usearch_getOffset)
-#define usearch_getPattern U_ICU_ENTRY_POINT_RENAME(usearch_getPattern)
-#define usearch_getText U_ICU_ENTRY_POINT_RENAME(usearch_getText)
-#define usearch_handleNextCanonical U_ICU_ENTRY_POINT_RENAME(usearch_handleNextCanonical)
-#define usearch_handleNextExact U_ICU_ENTRY_POINT_RENAME(usearch_handleNextExact)
-#define usearch_handlePreviousCanonical U_ICU_ENTRY_POINT_RENAME(usearch_handlePreviousCanonical)
-#define usearch_handlePreviousExact U_ICU_ENTRY_POINT_RENAME(usearch_handlePreviousExact)
-#define usearch_last U_ICU_ENTRY_POINT_RENAME(usearch_last)
-#define usearch_next U_ICU_ENTRY_POINT_RENAME(usearch_next)
-#define usearch_open U_ICU_ENTRY_POINT_RENAME(usearch_open)
-#define usearch_openFromCollator U_ICU_ENTRY_POINT_RENAME(usearch_openFromCollator)
-#define usearch_preceding U_ICU_ENTRY_POINT_RENAME(usearch_preceding)
-#define usearch_previous U_ICU_ENTRY_POINT_RENAME(usearch_previous)
-#define usearch_reset U_ICU_ENTRY_POINT_RENAME(usearch_reset)
-#define usearch_search U_ICU_ENTRY_POINT_RENAME(usearch_search)
-#define usearch_searchBackwards U_ICU_ENTRY_POINT_RENAME(usearch_searchBackwards)
-#define usearch_setAttribute U_ICU_ENTRY_POINT_RENAME(usearch_setAttribute)
-#define usearch_setBreakIterator U_ICU_ENTRY_POINT_RENAME(usearch_setBreakIterator)
-#define usearch_setCollator U_ICU_ENTRY_POINT_RENAME(usearch_setCollator)
-#define usearch_setOffset U_ICU_ENTRY_POINT_RENAME(usearch_setOffset)
-#define usearch_setPattern U_ICU_ENTRY_POINT_RENAME(usearch_setPattern)
-#define usearch_setText U_ICU_ENTRY_POINT_RENAME(usearch_setText)
-#define uset_add U_ICU_ENTRY_POINT_RENAME(uset_add)
-#define uset_addAll U_ICU_ENTRY_POINT_RENAME(uset_addAll)
-#define uset_addAllCodePoints U_ICU_ENTRY_POINT_RENAME(uset_addAllCodePoints)
-#define uset_addRange U_ICU_ENTRY_POINT_RENAME(uset_addRange)
-#define uset_addString U_ICU_ENTRY_POINT_RENAME(uset_addString)
-#define uset_applyIntPropertyValue U_ICU_ENTRY_POINT_RENAME(uset_applyIntPropertyValue)
-#define uset_applyPattern U_ICU_ENTRY_POINT_RENAME(uset_applyPattern)
-#define uset_applyPropertyAlias U_ICU_ENTRY_POINT_RENAME(uset_applyPropertyAlias)
-#define uset_charAt U_ICU_ENTRY_POINT_RENAME(uset_charAt)
-#define uset_clear U_ICU_ENTRY_POINT_RENAME(uset_clear)
-#define uset_clone U_ICU_ENTRY_POINT_RENAME(uset_clone)
-#define uset_cloneAsThawed U_ICU_ENTRY_POINT_RENAME(uset_cloneAsThawed)
-#define uset_close U_ICU_ENTRY_POINT_RENAME(uset_close)
-#define uset_closeOver U_ICU_ENTRY_POINT_RENAME(uset_closeOver)
-#define uset_compact U_ICU_ENTRY_POINT_RENAME(uset_compact)
-#define uset_complement U_ICU_ENTRY_POINT_RENAME(uset_complement)
-#define uset_complementAll U_ICU_ENTRY_POINT_RENAME(uset_complementAll)
-#define uset_contains U_ICU_ENTRY_POINT_RENAME(uset_contains)
-#define uset_containsAll U_ICU_ENTRY_POINT_RENAME(uset_containsAll)
-#define uset_containsAllCodePoints U_ICU_ENTRY_POINT_RENAME(uset_containsAllCodePoints)
-#define uset_containsNone U_ICU_ENTRY_POINT_RENAME(uset_containsNone)
-#define uset_containsRange U_ICU_ENTRY_POINT_RENAME(uset_containsRange)
-#define uset_containsSome U_ICU_ENTRY_POINT_RENAME(uset_containsSome)
-#define uset_containsString U_ICU_ENTRY_POINT_RENAME(uset_containsString)
-#define uset_equals U_ICU_ENTRY_POINT_RENAME(uset_equals)
-#define uset_freeze U_ICU_ENTRY_POINT_RENAME(uset_freeze)
-#define uset_getItem U_ICU_ENTRY_POINT_RENAME(uset_getItem)
-#define uset_getItemCount U_ICU_ENTRY_POINT_RENAME(uset_getItemCount)
-#define uset_getSerializedRange U_ICU_ENTRY_POINT_RENAME(uset_getSerializedRange)
-#define uset_getSerializedRangeCount U_ICU_ENTRY_POINT_RENAME(uset_getSerializedRangeCount)
-#define uset_getSerializedSet U_ICU_ENTRY_POINT_RENAME(uset_getSerializedSet)
-#define uset_indexOf U_ICU_ENTRY_POINT_RENAME(uset_indexOf)
-#define uset_isEmpty U_ICU_ENTRY_POINT_RENAME(uset_isEmpty)
-#define uset_isFrozen U_ICU_ENTRY_POINT_RENAME(uset_isFrozen)
-#define uset_open U_ICU_ENTRY_POINT_RENAME(uset_open)
-#define uset_openEmpty U_ICU_ENTRY_POINT_RENAME(uset_openEmpty)
-#define uset_openPattern U_ICU_ENTRY_POINT_RENAME(uset_openPattern)
-#define uset_openPatternOptions U_ICU_ENTRY_POINT_RENAME(uset_openPatternOptions)
-#define uset_remove U_ICU_ENTRY_POINT_RENAME(uset_remove)
-#define uset_removeAll U_ICU_ENTRY_POINT_RENAME(uset_removeAll)
-#define uset_removeAllStrings U_ICU_ENTRY_POINT_RENAME(uset_removeAllStrings)
-#define uset_removeRange U_ICU_ENTRY_POINT_RENAME(uset_removeRange)
-#define uset_removeString U_ICU_ENTRY_POINT_RENAME(uset_removeString)
-#define uset_resemblesPattern U_ICU_ENTRY_POINT_RENAME(uset_resemblesPattern)
-#define uset_retain U_ICU_ENTRY_POINT_RENAME(uset_retain)
-#define uset_retainAll U_ICU_ENTRY_POINT_RENAME(uset_retainAll)
-#define uset_serialize U_ICU_ENTRY_POINT_RENAME(uset_serialize)
-#define uset_serializedContains U_ICU_ENTRY_POINT_RENAME(uset_serializedContains)
-#define uset_set U_ICU_ENTRY_POINT_RENAME(uset_set)
-#define uset_setSerializedToOne U_ICU_ENTRY_POINT_RENAME(uset_setSerializedToOne)
-#define uset_size U_ICU_ENTRY_POINT_RENAME(uset_size)
-#define uset_span U_ICU_ENTRY_POINT_RENAME(uset_span)
-#define uset_spanBack U_ICU_ENTRY_POINT_RENAME(uset_spanBack)
-#define uset_spanBackUTF8 U_ICU_ENTRY_POINT_RENAME(uset_spanBackUTF8)
-#define uset_spanUTF8 U_ICU_ENTRY_POINT_RENAME(uset_spanUTF8)
-#define uset_toPattern U_ICU_ENTRY_POINT_RENAME(uset_toPattern)
-#define uspoof_areConfusable U_ICU_ENTRY_POINT_RENAME(uspoof_areConfusable)
-#define uspoof_areConfusableUTF8 U_ICU_ENTRY_POINT_RENAME(uspoof_areConfusableUTF8)
-#define uspoof_areConfusableUnicodeString U_ICU_ENTRY_POINT_RENAME(uspoof_areConfusableUnicodeString)
-#define uspoof_check U_ICU_ENTRY_POINT_RENAME(uspoof_check)
-#define uspoof_checkUTF8 U_ICU_ENTRY_POINT_RENAME(uspoof_checkUTF8)
-#define uspoof_checkUnicodeString U_ICU_ENTRY_POINT_RENAME(uspoof_checkUnicodeString)
-#define uspoof_clone U_ICU_ENTRY_POINT_RENAME(uspoof_clone)
-#define uspoof_close U_ICU_ENTRY_POINT_RENAME(uspoof_close)
-#define uspoof_getAllowedChars U_ICU_ENTRY_POINT_RENAME(uspoof_getAllowedChars)
-#define uspoof_getAllowedLocales U_ICU_ENTRY_POINT_RENAME(uspoof_getAllowedLocales)
-#define uspoof_getAllowedUnicodeSet U_ICU_ENTRY_POINT_RENAME(uspoof_getAllowedUnicodeSet)
-#define uspoof_getChecks U_ICU_ENTRY_POINT_RENAME(uspoof_getChecks)
-#define uspoof_getSkeleton U_ICU_ENTRY_POINT_RENAME(uspoof_getSkeleton)
-#define uspoof_getSkeletonUTF8 U_ICU_ENTRY_POINT_RENAME(uspoof_getSkeletonUTF8)
-#define uspoof_getSkeletonUnicodeString U_ICU_ENTRY_POINT_RENAME(uspoof_getSkeletonUnicodeString)
-#define uspoof_open U_ICU_ENTRY_POINT_RENAME(uspoof_open)
-#define uspoof_openFromSerialized U_ICU_ENTRY_POINT_RENAME(uspoof_openFromSerialized)
-#define uspoof_openFromSource U_ICU_ENTRY_POINT_RENAME(uspoof_openFromSource)
-#define uspoof_serialize U_ICU_ENTRY_POINT_RENAME(uspoof_serialize)
-#define uspoof_setAllowedChars U_ICU_ENTRY_POINT_RENAME(uspoof_setAllowedChars)
-#define uspoof_setAllowedLocales U_ICU_ENTRY_POINT_RENAME(uspoof_setAllowedLocales)
-#define uspoof_setAllowedUnicodeSet U_ICU_ENTRY_POINT_RENAME(uspoof_setAllowedUnicodeSet)
-#define uspoof_setChecks U_ICU_ENTRY_POINT_RENAME(uspoof_setChecks)
-#define uspoof_swap U_ICU_ENTRY_POINT_RENAME(uspoof_swap)
-#define usprep_close U_ICU_ENTRY_POINT_RENAME(usprep_close)
-#define usprep_open U_ICU_ENTRY_POINT_RENAME(usprep_open)
-#define usprep_openByType U_ICU_ENTRY_POINT_RENAME(usprep_openByType)
-#define usprep_prepare U_ICU_ENTRY_POINT_RENAME(usprep_prepare)
-#define usprep_swap U_ICU_ENTRY_POINT_RENAME(usprep_swap)
-#define ustr_foldCase U_ICU_ENTRY_POINT_RENAME(ustr_foldCase)
-#define ustr_toLower U_ICU_ENTRY_POINT_RENAME(ustr_toLower)
-#define ustr_toTitle U_ICU_ENTRY_POINT_RENAME(ustr_toTitle)
-#define ustr_toUpper U_ICU_ENTRY_POINT_RENAME(ustr_toUpper)
-#define utext_caseCompare U_ICU_ENTRY_POINT_RENAME(utext_caseCompare)
-#define utext_caseCompareNativeLimit U_ICU_ENTRY_POINT_RENAME(utext_caseCompareNativeLimit)
-#define utext_char32At U_ICU_ENTRY_POINT_RENAME(utext_char32At)
-#define utext_clone U_ICU_ENTRY_POINT_RENAME(utext_clone)
-#define utext_close U_ICU_ENTRY_POINT_RENAME(utext_close)
-#define utext_compare U_ICU_ENTRY_POINT_RENAME(utext_compare)
-#define utext_compareNativeLimit U_ICU_ENTRY_POINT_RENAME(utext_compareNativeLimit)
-#define utext_copy U_ICU_ENTRY_POINT_RENAME(utext_copy)
-#define utext_current32 U_ICU_ENTRY_POINT_RENAME(utext_current32)
-#define utext_equals U_ICU_ENTRY_POINT_RENAME(utext_equals)
-#define utext_extract U_ICU_ENTRY_POINT_RENAME(utext_extract)
-#define utext_freeze U_ICU_ENTRY_POINT_RENAME(utext_freeze)
-#define utext_getNativeIndex U_ICU_ENTRY_POINT_RENAME(utext_getNativeIndex)
-#define utext_getPreviousNativeIndex U_ICU_ENTRY_POINT_RENAME(utext_getPreviousNativeIndex)
-#define utext_hasMetaData U_ICU_ENTRY_POINT_RENAME(utext_hasMetaData)
-#define utext_isLengthExpensive U_ICU_ENTRY_POINT_RENAME(utext_isLengthExpensive)
-#define utext_isWritable U_ICU_ENTRY_POINT_RENAME(utext_isWritable)
-#define utext_moveIndex32 U_ICU_ENTRY_POINT_RENAME(utext_moveIndex32)
-#define utext_nativeLength U_ICU_ENTRY_POINT_RENAME(utext_nativeLength)
-#define utext_next32 U_ICU_ENTRY_POINT_RENAME(utext_next32)
-#define utext_next32From U_ICU_ENTRY_POINT_RENAME(utext_next32From)
-#define utext_openCharacterIterator U_ICU_ENTRY_POINT_RENAME(utext_openCharacterIterator)
-#define utext_openConstUnicodeString U_ICU_ENTRY_POINT_RENAME(utext_openConstUnicodeString)
-#define utext_openReplaceable U_ICU_ENTRY_POINT_RENAME(utext_openReplaceable)
-#define utext_openUChars U_ICU_ENTRY_POINT_RENAME(utext_openUChars)
-#define utext_openUTF8 U_ICU_ENTRY_POINT_RENAME(utext_openUTF8)
-#define utext_openUnicodeString U_ICU_ENTRY_POINT_RENAME(utext_openUnicodeString)
-#define utext_previous32 U_ICU_ENTRY_POINT_RENAME(utext_previous32)
-#define utext_previous32From U_ICU_ENTRY_POINT_RENAME(utext_previous32From)
-#define utext_replace U_ICU_ENTRY_POINT_RENAME(utext_replace)
-#define utext_setNativeIndex U_ICU_ENTRY_POINT_RENAME(utext_setNativeIndex)
-#define utext_setup U_ICU_ENTRY_POINT_RENAME(utext_setup)
-#define utf8_appendCharSafeBody U_ICU_ENTRY_POINT_RENAME(utf8_appendCharSafeBody)
-#define utf8_back1SafeBody U_ICU_ENTRY_POINT_RENAME(utf8_back1SafeBody)
-#define utf8_countTrailBytes U_ICU_ENTRY_POINT_RENAME(utf8_countTrailBytes)
-#define utf8_nextCharSafeBody U_ICU_ENTRY_POINT_RENAME(utf8_nextCharSafeBody)
-#define utf8_prevCharSafeBody U_ICU_ENTRY_POINT_RENAME(utf8_prevCharSafeBody)
-#define utmscale_fromInt64 U_ICU_ENTRY_POINT_RENAME(utmscale_fromInt64)
-#define utmscale_getTimeScaleValue U_ICU_ENTRY_POINT_RENAME(utmscale_getTimeScaleValue)
-#define utmscale_toInt64 U_ICU_ENTRY_POINT_RENAME(utmscale_toInt64)
-#define utrace_cleanup U_ICU_ENTRY_POINT_RENAME(utrace_cleanup)
-#define utrace_data U_ICU_ENTRY_POINT_RENAME(utrace_data)
-#define utrace_entry U_ICU_ENTRY_POINT_RENAME(utrace_entry)
-#define utrace_exit U_ICU_ENTRY_POINT_RENAME(utrace_exit)
-#define utrace_format U_ICU_ENTRY_POINT_RENAME(utrace_format)
-#define utrace_functionName U_ICU_ENTRY_POINT_RENAME(utrace_functionName)
-#define utrace_getFunctions U_ICU_ENTRY_POINT_RENAME(utrace_getFunctions)
-#define utrace_getLevel U_ICU_ENTRY_POINT_RENAME(utrace_getLevel)
-#define utrace_level U_ICU_ENTRY_POINT_RENAME(utrace_level)
-#define utrace_setFunctions U_ICU_ENTRY_POINT_RENAME(utrace_setFunctions)
-#define utrace_setLevel U_ICU_ENTRY_POINT_RENAME(utrace_setLevel)
-#define utrace_vformat U_ICU_ENTRY_POINT_RENAME(utrace_vformat)
-#define utrans_clone U_ICU_ENTRY_POINT_RENAME(utrans_clone)
-#define utrans_close U_ICU_ENTRY_POINT_RENAME(utrans_close)
-#define utrans_countAvailableIDs U_ICU_ENTRY_POINT_RENAME(utrans_countAvailableIDs)
-#define utrans_getAvailableID U_ICU_ENTRY_POINT_RENAME(utrans_getAvailableID)
-#define utrans_getID U_ICU_ENTRY_POINT_RENAME(utrans_getID)
-#define utrans_getUnicodeID U_ICU_ENTRY_POINT_RENAME(utrans_getUnicodeID)
-#define utrans_open U_ICU_ENTRY_POINT_RENAME(utrans_open)
-#define utrans_openIDs U_ICU_ENTRY_POINT_RENAME(utrans_openIDs)
-#define utrans_openInverse U_ICU_ENTRY_POINT_RENAME(utrans_openInverse)
-#define utrans_openU U_ICU_ENTRY_POINT_RENAME(utrans_openU)
-#define utrans_register U_ICU_ENTRY_POINT_RENAME(utrans_register)
-#define utrans_rep_caseContextIterator U_ICU_ENTRY_POINT_RENAME(utrans_rep_caseContextIterator)
-#define utrans_setFilter U_ICU_ENTRY_POINT_RENAME(utrans_setFilter)
-#define utrans_stripRules U_ICU_ENTRY_POINT_RENAME(utrans_stripRules)
-#define utrans_trans U_ICU_ENTRY_POINT_RENAME(utrans_trans)
-#define utrans_transIncremental U_ICU_ENTRY_POINT_RENAME(utrans_transIncremental)
-#define utrans_transIncrementalUChars U_ICU_ENTRY_POINT_RENAME(utrans_transIncrementalUChars)
-#define utrans_transUChars U_ICU_ENTRY_POINT_RENAME(utrans_transUChars)
-#define utrans_transliterator_cleanup U_ICU_ENTRY_POINT_RENAME(utrans_transliterator_cleanup)
-#define utrans_unregister U_ICU_ENTRY_POINT_RENAME(utrans_unregister)
-#define utrans_unregisterID U_ICU_ENTRY_POINT_RENAME(utrans_unregisterID)
-#define utrie2_clone U_ICU_ENTRY_POINT_RENAME(utrie2_clone)
-#define utrie2_cloneAsThawed U_ICU_ENTRY_POINT_RENAME(utrie2_cloneAsThawed)
-#define utrie2_close U_ICU_ENTRY_POINT_RENAME(utrie2_close)
-#define utrie2_enum U_ICU_ENTRY_POINT_RENAME(utrie2_enum)
-#define utrie2_enumForLeadSurrogate U_ICU_ENTRY_POINT_RENAME(utrie2_enumForLeadSurrogate)
-#define utrie2_freeze U_ICU_ENTRY_POINT_RENAME(utrie2_freeze)
-#define utrie2_fromUTrie U_ICU_ENTRY_POINT_RENAME(utrie2_fromUTrie)
-#define utrie2_get32 U_ICU_ENTRY_POINT_RENAME(utrie2_get32)
-#define utrie2_get32FromLeadSurrogateCodeUnit U_ICU_ENTRY_POINT_RENAME(utrie2_get32FromLeadSurrogateCodeUnit)
-#define utrie2_getVersion U_ICU_ENTRY_POINT_RENAME(utrie2_getVersion)
-#define utrie2_internalU8NextIndex U_ICU_ENTRY_POINT_RENAME(utrie2_internalU8NextIndex)
-#define utrie2_internalU8PrevIndex U_ICU_ENTRY_POINT_RENAME(utrie2_internalU8PrevIndex)
-#define utrie2_isFrozen U_ICU_ENTRY_POINT_RENAME(utrie2_isFrozen)
-#define utrie2_open U_ICU_ENTRY_POINT_RENAME(utrie2_open)
-#define utrie2_openDummy U_ICU_ENTRY_POINT_RENAME(utrie2_openDummy)
-#define utrie2_openFromSerialized U_ICU_ENTRY_POINT_RENAME(utrie2_openFromSerialized)
-#define utrie2_serialize U_ICU_ENTRY_POINT_RENAME(utrie2_serialize)
-#define utrie2_set32 U_ICU_ENTRY_POINT_RENAME(utrie2_set32)
-#define utrie2_set32ForLeadSurrogateCodeUnit U_ICU_ENTRY_POINT_RENAME(utrie2_set32ForLeadSurrogateCodeUnit)
-#define utrie2_setRange32 U_ICU_ENTRY_POINT_RENAME(utrie2_setRange32)
-#define utrie2_swap U_ICU_ENTRY_POINT_RENAME(utrie2_swap)
-#define utrie2_swapAnyVersion U_ICU_ENTRY_POINT_RENAME(utrie2_swapAnyVersion)
-#define utrie_clone U_ICU_ENTRY_POINT_RENAME(utrie_clone)
-#define utrie_close U_ICU_ENTRY_POINT_RENAME(utrie_close)
-#define utrie_defaultGetFoldingOffset U_ICU_ENTRY_POINT_RENAME(utrie_defaultGetFoldingOffset)
-#define utrie_enum U_ICU_ENTRY_POINT_RENAME(utrie_enum)
-#define utrie_get32 U_ICU_ENTRY_POINT_RENAME(utrie_get32)
-#define utrie_getData U_ICU_ENTRY_POINT_RENAME(utrie_getData)
-#define utrie_open U_ICU_ENTRY_POINT_RENAME(utrie_open)
-#define utrie_serialize U_ICU_ENTRY_POINT_RENAME(utrie_serialize)
-#define utrie_set32 U_ICU_ENTRY_POINT_RENAME(utrie_set32)
-#define utrie_setRange32 U_ICU_ENTRY_POINT_RENAME(utrie_setRange32)
-#define utrie_swap U_ICU_ENTRY_POINT_RENAME(utrie_swap)
-#define utrie_unserialize U_ICU_ENTRY_POINT_RENAME(utrie_unserialize)
-#define utrie_unserializeDummy U_ICU_ENTRY_POINT_RENAME(utrie_unserializeDummy)
-#define vzone_clone U_ICU_ENTRY_POINT_RENAME(vzone_clone)
-#define vzone_close U_ICU_ENTRY_POINT_RENAME(vzone_close)
-#define vzone_countTransitionRules U_ICU_ENTRY_POINT_RENAME(vzone_countTransitionRules)
-#define vzone_equals U_ICU_ENTRY_POINT_RENAME(vzone_equals)
-#define vzone_getDynamicClassID U_ICU_ENTRY_POINT_RENAME(vzone_getDynamicClassID)
-#define vzone_getLastModified U_ICU_ENTRY_POINT_RENAME(vzone_getLastModified)
-#define vzone_getNextTransition U_ICU_ENTRY_POINT_RENAME(vzone_getNextTransition)
-#define vzone_getOffset U_ICU_ENTRY_POINT_RENAME(vzone_getOffset)
-#define vzone_getOffset2 U_ICU_ENTRY_POINT_RENAME(vzone_getOffset2)
-#define vzone_getOffset3 U_ICU_ENTRY_POINT_RENAME(vzone_getOffset3)
-#define vzone_getPreviousTransition U_ICU_ENTRY_POINT_RENAME(vzone_getPreviousTransition)
-#define vzone_getRawOffset U_ICU_ENTRY_POINT_RENAME(vzone_getRawOffset)
-#define vzone_getStaticClassID U_ICU_ENTRY_POINT_RENAME(vzone_getStaticClassID)
-#define vzone_getTZURL U_ICU_ENTRY_POINT_RENAME(vzone_getTZURL)
-#define vzone_hasSameRules U_ICU_ENTRY_POINT_RENAME(vzone_hasSameRules)
-#define vzone_inDaylightTime U_ICU_ENTRY_POINT_RENAME(vzone_inDaylightTime)
-#define vzone_openData U_ICU_ENTRY_POINT_RENAME(vzone_openData)
-#define vzone_openID U_ICU_ENTRY_POINT_RENAME(vzone_openID)
-#define vzone_setLastModified U_ICU_ENTRY_POINT_RENAME(vzone_setLastModified)
-#define vzone_setRawOffset U_ICU_ENTRY_POINT_RENAME(vzone_setRawOffset)
-#define vzone_setTZURL U_ICU_ENTRY_POINT_RENAME(vzone_setTZURL)
-#define vzone_useDaylightTime U_ICU_ENTRY_POINT_RENAME(vzone_useDaylightTime)
-#define vzone_write U_ICU_ENTRY_POINT_RENAME(vzone_write)
-#define vzone_writeFromStart U_ICU_ENTRY_POINT_RENAME(vzone_writeFromStart)
-#define vzone_writeSimple U_ICU_ENTRY_POINT_RENAME(vzone_writeSimple)
-#define zrule_close U_ICU_ENTRY_POINT_RENAME(zrule_close)
-#define zrule_equals U_ICU_ENTRY_POINT_RENAME(zrule_equals)
-#define zrule_getDSTSavings U_ICU_ENTRY_POINT_RENAME(zrule_getDSTSavings)
-#define zrule_getName U_ICU_ENTRY_POINT_RENAME(zrule_getName)
-#define zrule_getRawOffset U_ICU_ENTRY_POINT_RENAME(zrule_getRawOffset)
-#define zrule_isEquivalentTo U_ICU_ENTRY_POINT_RENAME(zrule_isEquivalentTo)
-#define ztrans_adoptFrom U_ICU_ENTRY_POINT_RENAME(ztrans_adoptFrom)
-#define ztrans_adoptTo U_ICU_ENTRY_POINT_RENAME(ztrans_adoptTo)
-#define ztrans_clone U_ICU_ENTRY_POINT_RENAME(ztrans_clone)
-#define ztrans_close U_ICU_ENTRY_POINT_RENAME(ztrans_close)
-#define ztrans_equals U_ICU_ENTRY_POINT_RENAME(ztrans_equals)
-#define ztrans_getDynamicClassID U_ICU_ENTRY_POINT_RENAME(ztrans_getDynamicClassID)
-#define ztrans_getFrom U_ICU_ENTRY_POINT_RENAME(ztrans_getFrom)
-#define ztrans_getStaticClassID U_ICU_ENTRY_POINT_RENAME(ztrans_getStaticClassID)
-#define ztrans_getTime U_ICU_ENTRY_POINT_RENAME(ztrans_getTime)
-#define ztrans_getTo U_ICU_ENTRY_POINT_RENAME(ztrans_getTo)
-#define ztrans_open U_ICU_ENTRY_POINT_RENAME(ztrans_open)
-#define ztrans_openEmpty U_ICU_ENTRY_POINT_RENAME(ztrans_openEmpty)
-#define ztrans_setFrom U_ICU_ENTRY_POINT_RENAME(ztrans_setFrom)
-#define ztrans_setTime U_ICU_ENTRY_POINT_RENAME(ztrans_setTime)
-#define ztrans_setTo U_ICU_ENTRY_POINT_RENAME(ztrans_setTo)
-
-
-/* C++ class names renaming defines */
-
-#ifdef XP_CPLUSPLUS
-#if !U_HAVE_NAMESPACE
-
-#define AbsoluteValueSubstitution U_ICU_ENTRY_POINT_RENAME(AbsoluteValueSubstitution)
-#define AlternateSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(AlternateSubstitutionSubtable)
-#define AnchorTable U_ICU_ENTRY_POINT_RENAME(AnchorTable)
-#define AndConstraint U_ICU_ENTRY_POINT_RENAME(AndConstraint)
-#define AnnualTimeZoneRule U_ICU_ENTRY_POINT_RENAME(AnnualTimeZoneRule)
-#define AnyTransliterator U_ICU_ENTRY_POINT_RENAME(AnyTransliterator)
-#define ArabicOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(ArabicOpenTypeLayoutEngine)
-#define ArabicShaping U_ICU_ENTRY_POINT_RENAME(ArabicShaping)
-#define ArgExtractor U_ICU_ENTRY_POINT_RENAME(ArgExtractor)
-#define BMPSet U_ICU_ENTRY_POINT_RENAME(BMPSet)
-#define BackwardUTrie2StringIterator U_ICU_ENTRY_POINT_RENAME(BackwardUTrie2StringIterator)
-#define BadCharacterTable U_ICU_ENTRY_POINT_RENAME(BadCharacterTable)
-#define BasicCalendarFactory U_ICU_ENTRY_POINT_RENAME(BasicCalendarFactory)
-#define BasicTimeZone U_ICU_ENTRY_POINT_RENAME(BasicTimeZone)
-#define BinarySearchLookupTable U_ICU_ENTRY_POINT_RENAME(BinarySearchLookupTable)
-#define BoyerMooreSearch U_ICU_ENTRY_POINT_RENAME(BoyerMooreSearch)
-#define BreakIterator U_ICU_ENTRY_POINT_RENAME(BreakIterator)
-#define BreakTransliterator U_ICU_ENTRY_POINT_RENAME(BreakTransliterator)
-#define BuddhistCalendar U_ICU_ENTRY_POINT_RENAME(BuddhistCalendar)
-#define BuildCompactTrieHorizontalNode U_ICU_ENTRY_POINT_RENAME(BuildCompactTrieHorizontalNode)
-#define BuildCompactTrieNode U_ICU_ENTRY_POINT_RENAME(BuildCompactTrieNode)
-#define BuildCompactTrieVerticalNode U_ICU_ENTRY_POINT_RENAME(BuildCompactTrieVerticalNode)
-#define BuilderScriptSet U_ICU_ENTRY_POINT_RENAME(BuilderScriptSet)
-#define ByteSink U_ICU_ENTRY_POINT_RENAME(ByteSink)
-#define CEBuffer U_ICU_ENTRY_POINT_RENAME(CEBuffer)
-#define CECalendar U_ICU_ENTRY_POINT_RENAME(CECalendar)
-#define CEList U_ICU_ENTRY_POINT_RENAME(CEList)
-#define CEToStringsMap U_ICU_ENTRY_POINT_RENAME(CEToStringsMap)
-#define CFactory U_ICU_ENTRY_POINT_RENAME(CFactory)
-#define Calendar U_ICU_ENTRY_POINT_RENAME(Calendar)
-#define CalendarAstronomer U_ICU_ENTRY_POINT_RENAME(CalendarAstronomer)
-#define CalendarCache U_ICU_ENTRY_POINT_RENAME(CalendarCache)
-#define CalendarData U_ICU_ENTRY_POINT_RENAME(CalendarData)
-#define CalendarService U_ICU_ENTRY_POINT_RENAME(CalendarService)
-#define CanonIterData U_ICU_ENTRY_POINT_RENAME(CanonIterData)
-#define CanonIterDataSingleton U_ICU_ENTRY_POINT_RENAME(CanonIterDataSingleton)
-#define CanonMarkFilter U_ICU_ENTRY_POINT_RENAME(CanonMarkFilter)
-#define CanonShaping U_ICU_ENTRY_POINT_RENAME(CanonShaping)
-#define CanonicalIterator U_ICU_ENTRY_POINT_RENAME(CanonicalIterator)
-#define CaseMapTransliterator U_ICU_ENTRY_POINT_RENAME(CaseMapTransliterator)
-#define ChainingContextualSubstitutionFormat1Subtable U_ICU_ENTRY_POINT_RENAME(ChainingContextualSubstitutionFormat1Subtable)
-#define ChainingContextualSubstitutionFormat2Subtable U_ICU_ENTRY_POINT_RENAME(ChainingContextualSubstitutionFormat2Subtable)
-#define ChainingContextualSubstitutionFormat3Subtable U_ICU_ENTRY_POINT_RENAME(ChainingContextualSubstitutionFormat3Subtable)
-#define ChainingContextualSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(ChainingContextualSubstitutionSubtable)
-#define CharString U_ICU_ENTRY_POINT_RENAME(CharString)
-#define CharSubstitutionFilter U_ICU_ENTRY_POINT_RENAME(CharSubstitutionFilter)
-#define CharacterIterator U_ICU_ENTRY_POINT_RENAME(CharacterIterator)
-#define CharacterNode U_ICU_ENTRY_POINT_RENAME(CharacterNode)
-#define CharsetDetector U_ICU_ENTRY_POINT_RENAME(CharsetDetector)
-#define CharsetMatch U_ICU_ENTRY_POINT_RENAME(CharsetMatch)
-#define CharsetRecog_2022 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_2022)
-#define CharsetRecog_2022CN U_ICU_ENTRY_POINT_RENAME(CharsetRecog_2022CN)
-#define CharsetRecog_2022JP U_ICU_ENTRY_POINT_RENAME(CharsetRecog_2022JP)
-#define CharsetRecog_2022KR U_ICU_ENTRY_POINT_RENAME(CharsetRecog_2022KR)
-#define CharsetRecog_8859_1 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_1)
-#define CharsetRecog_8859_1_da U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_1_da)
-#define CharsetRecog_8859_1_de U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_1_de)
-#define CharsetRecog_8859_1_en U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_1_en)
-#define CharsetRecog_8859_1_es U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_1_es)
-#define CharsetRecog_8859_1_fr U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_1_fr)
-#define CharsetRecog_8859_1_it U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_1_it)
-#define CharsetRecog_8859_1_nl U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_1_nl)
-#define CharsetRecog_8859_1_no U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_1_no)
-#define CharsetRecog_8859_1_pt U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_1_pt)
-#define CharsetRecog_8859_1_sv U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_1_sv)
-#define CharsetRecog_8859_2 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_2)
-#define CharsetRecog_8859_2_cs U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_2_cs)
-#define CharsetRecog_8859_2_hu U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_2_hu)
-#define CharsetRecog_8859_2_pl U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_2_pl)
-#define CharsetRecog_8859_2_ro U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_2_ro)
-#define CharsetRecog_8859_5 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_5)
-#define CharsetRecog_8859_5_ru U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_5_ru)
-#define CharsetRecog_8859_6 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_6)
-#define CharsetRecog_8859_6_ar U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_6_ar)
-#define CharsetRecog_8859_7 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_7)
-#define CharsetRecog_8859_7_el U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_7_el)
-#define CharsetRecog_8859_8 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_8)
-#define CharsetRecog_8859_8_I_he U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_8_I_he)
-#define CharsetRecog_8859_8_he U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_8_he)
-#define CharsetRecog_8859_9 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_9)
-#define CharsetRecog_8859_9_tr U_ICU_ENTRY_POINT_RENAME(CharsetRecog_8859_9_tr)
-#define CharsetRecog_IBM420_ar U_ICU_ENTRY_POINT_RENAME(CharsetRecog_IBM420_ar)
-#define CharsetRecog_IBM420_ar_ltr U_ICU_ENTRY_POINT_RENAME(CharsetRecog_IBM420_ar_ltr)
-#define CharsetRecog_IBM420_ar_rtl U_ICU_ENTRY_POINT_RENAME(CharsetRecog_IBM420_ar_rtl)
-#define CharsetRecog_IBM424_he U_ICU_ENTRY_POINT_RENAME(CharsetRecog_IBM424_he)
-#define CharsetRecog_IBM424_he_ltr U_ICU_ENTRY_POINT_RENAME(CharsetRecog_IBM424_he_ltr)
-#define CharsetRecog_IBM424_he_rtl U_ICU_ENTRY_POINT_RENAME(CharsetRecog_IBM424_he_rtl)
-#define CharsetRecog_KOI8_R U_ICU_ENTRY_POINT_RENAME(CharsetRecog_KOI8_R)
-#define CharsetRecog_UTF8 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_UTF8)
-#define CharsetRecog_UTF_16_BE U_ICU_ENTRY_POINT_RENAME(CharsetRecog_UTF_16_BE)
-#define CharsetRecog_UTF_16_LE U_ICU_ENTRY_POINT_RENAME(CharsetRecog_UTF_16_LE)
-#define CharsetRecog_UTF_32 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_UTF_32)
-#define CharsetRecog_UTF_32_BE U_ICU_ENTRY_POINT_RENAME(CharsetRecog_UTF_32_BE)
-#define CharsetRecog_UTF_32_LE U_ICU_ENTRY_POINT_RENAME(CharsetRecog_UTF_32_LE)
-#define CharsetRecog_Unicode U_ICU_ENTRY_POINT_RENAME(CharsetRecog_Unicode)
-#define CharsetRecog_big5 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_big5)
-#define CharsetRecog_euc U_ICU_ENTRY_POINT_RENAME(CharsetRecog_euc)
-#define CharsetRecog_euc_jp U_ICU_ENTRY_POINT_RENAME(CharsetRecog_euc_jp)
-#define CharsetRecog_euc_kr U_ICU_ENTRY_POINT_RENAME(CharsetRecog_euc_kr)
-#define CharsetRecog_gb_18030 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_gb_18030)
-#define CharsetRecog_mbcs U_ICU_ENTRY_POINT_RENAME(CharsetRecog_mbcs)
-#define CharsetRecog_sbcs U_ICU_ENTRY_POINT_RENAME(CharsetRecog_sbcs)
-#define CharsetRecog_sjis U_ICU_ENTRY_POINT_RENAME(CharsetRecog_sjis)
-#define CharsetRecog_windows_1251 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_windows_1251)
-#define CharsetRecog_windows_1256 U_ICU_ENTRY_POINT_RENAME(CharsetRecog_windows_1256)
-#define CharsetRecognizer U_ICU_ENTRY_POINT_RENAME(CharsetRecognizer)
-#define CheckedArrayByteSink U_ICU_ENTRY_POINT_RENAME(CheckedArrayByteSink)
-#define ChineseCalendar U_ICU_ENTRY_POINT_RENAME(ChineseCalendar)
-#define ChoiceFormat U_ICU_ENTRY_POINT_RENAME(ChoiceFormat)
-#define ClassDefFormat1Table U_ICU_ENTRY_POINT_RENAME(ClassDefFormat1Table)
-#define ClassDefFormat2Table U_ICU_ENTRY_POINT_RENAME(ClassDefFormat2Table)
-#define ClassDefinitionTable U_ICU_ENTRY_POINT_RENAME(ClassDefinitionTable)
-#define ClockMath U_ICU_ENTRY_POINT_RENAME(ClockMath)
-#define CollData U_ICU_ENTRY_POINT_RENAME(CollData)
-#define CollDataCache U_ICU_ENTRY_POINT_RENAME(CollDataCache)
-#define CollDataCacheEntry U_ICU_ENTRY_POINT_RENAME(CollDataCacheEntry)
-#define CollationElementIterator U_ICU_ENTRY_POINT_RENAME(CollationElementIterator)
-#define CollationKey U_ICU_ENTRY_POINT_RENAME(CollationKey)
-#define CollationLocaleListEnumeration U_ICU_ENTRY_POINT_RENAME(CollationLocaleListEnumeration)
-#define Collator U_ICU_ENTRY_POINT_RENAME(Collator)
-#define CollatorFactory U_ICU_ENTRY_POINT_RENAME(CollatorFactory)
-#define CompactTrieDictionary U_ICU_ENTRY_POINT_RENAME(CompactTrieDictionary)
-#define CompactTrieEnumeration U_ICU_ENTRY_POINT_RENAME(CompactTrieEnumeration)
-#define ComposeNormalizer2 U_ICU_ENTRY_POINT_RENAME(ComposeNormalizer2)
-#define CompoundTransliterator U_ICU_ENTRY_POINT_RENAME(CompoundTransliterator)
-#define ConfusabledataBuilder U_ICU_ENTRY_POINT_RENAME(ConfusabledataBuilder)
-#define ContextualGlyphSubstitutionProcessor U_ICU_ENTRY_POINT_RENAME(ContextualGlyphSubstitutionProcessor)
-#define ContextualSubstitutionBase U_ICU_ENTRY_POINT_RENAME(ContextualSubstitutionBase)
-#define ContextualSubstitutionFormat1Subtable U_ICU_ENTRY_POINT_RENAME(ContextualSubstitutionFormat1Subtable)
-#define ContextualSubstitutionFormat2Subtable U_ICU_ENTRY_POINT_RENAME(ContextualSubstitutionFormat2Subtable)
-#define ContextualSubstitutionFormat3Subtable U_ICU_ENTRY_POINT_RENAME(ContextualSubstitutionFormat3Subtable)
-#define ContextualSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(ContextualSubstitutionSubtable)
-#define CopticCalendar U_ICU_ENTRY_POINT_RENAME(CopticCalendar)
-#define CoverageFormat1Table U_ICU_ENTRY_POINT_RENAME(CoverageFormat1Table)
-#define CoverageFormat2Table U_ICU_ENTRY_POINT_RENAME(CoverageFormat2Table)
-#define CoverageTable U_ICU_ENTRY_POINT_RENAME(CoverageTable)
-#define CurrencyAmount U_ICU_ENTRY_POINT_RENAME(CurrencyAmount)
-#define CurrencyFormat U_ICU_ENTRY_POINT_RENAME(CurrencyFormat)
-#define CurrencyPluralInfo U_ICU_ENTRY_POINT_RENAME(CurrencyPluralInfo)
-#define CurrencyUnit U_ICU_ENTRY_POINT_RENAME(CurrencyUnit)
-#define CursiveAttachmentSubtable U_ICU_ENTRY_POINT_RENAME(CursiveAttachmentSubtable)
-#define DTRedundantEnumeration U_ICU_ENTRY_POINT_RENAME(DTRedundantEnumeration)
-#define DTSkeletonEnumeration U_ICU_ENTRY_POINT_RENAME(DTSkeletonEnumeration)
-#define DateFormat U_ICU_ENTRY_POINT_RENAME(DateFormat)
-#define DateFormatSymbols U_ICU_ENTRY_POINT_RENAME(DateFormatSymbols)
-#define DateInterval U_ICU_ENTRY_POINT_RENAME(DateInterval)
-#define DateIntervalFormat U_ICU_ENTRY_POINT_RENAME(DateIntervalFormat)
-#define DateIntervalInfo U_ICU_ENTRY_POINT_RENAME(DateIntervalInfo)
-#define DateTimeMatcher U_ICU_ENTRY_POINT_RENAME(DateTimeMatcher)
-#define DateTimePatternGenerator U_ICU_ENTRY_POINT_RENAME(DateTimePatternGenerator)
-#define DateTimeRule U_ICU_ENTRY_POINT_RENAME(DateTimeRule)
-#define DecimalFormat U_ICU_ENTRY_POINT_RENAME(DecimalFormat)
-#define DecimalFormatSymbols U_ICU_ENTRY_POINT_RENAME(DecimalFormatSymbols)
-#define DecomposeNormalizer2 U_ICU_ENTRY_POINT_RENAME(DecomposeNormalizer2)
-#define DefaultCalendarFactory U_ICU_ENTRY_POINT_RENAME(DefaultCalendarFactory)
-#define DefaultCharMapper U_ICU_ENTRY_POINT_RENAME(DefaultCharMapper)
-#define DeviceTable U_ICU_ENTRY_POINT_RENAME(DeviceTable)
-#define DictionaryBreakEngine U_ICU_ENTRY_POINT_RENAME(DictionaryBreakEngine)
-#define DigitList U_ICU_ENTRY_POINT_RENAME(DigitList)
-#define DistanceInfo U_ICU_ENTRY_POINT_RENAME(DistanceInfo)
-#define EnumToOffset U_ICU_ENTRY_POINT_RENAME(EnumToOffset)
-#define ErrorCode U_ICU_ENTRY_POINT_RENAME(ErrorCode)
-#define EscapeTransliterator U_ICU_ENTRY_POINT_RENAME(EscapeTransliterator)
-#define EthiopicCalendar U_ICU_ENTRY_POINT_RENAME(EthiopicCalendar)
-#define EventListener U_ICU_ENTRY_POINT_RENAME(EventListener)
-#define ExtensionSubtable U_ICU_ENTRY_POINT_RENAME(ExtensionSubtable)
-#define FCDNormalizer2 U_ICU_ENTRY_POINT_RENAME(FCDNormalizer2)
-#define FCDTrieSingleton U_ICU_ENTRY_POINT_RENAME(FCDTrieSingleton)
-#define FeatureListTable U_ICU_ENTRY_POINT_RENAME(FeatureListTable)
-#define FieldPosition U_ICU_ENTRY_POINT_RENAME(FieldPosition)
-#define FieldPositionHandler U_ICU_ENTRY_POINT_RENAME(FieldPositionHandler)
-#define FieldPositionIterator U_ICU_ENTRY_POINT_RENAME(FieldPositionIterator)
-#define FieldPositionIteratorHandler U_ICU_ENTRY_POINT_RENAME(FieldPositionIteratorHandler)
-#define FieldPositionOnlyHandler U_ICU_ENTRY_POINT_RENAME(FieldPositionOnlyHandler)
-#define FilteredNormalizer2 U_ICU_ENTRY_POINT_RENAME(FilteredNormalizer2)
-#define FontRuns U_ICU_ENTRY_POINT_RENAME(FontRuns)
-#define Format U_ICU_ENTRY_POINT_RENAME(Format)
-#define Format1AnchorTable U_ICU_ENTRY_POINT_RENAME(Format1AnchorTable)
-#define Format2AnchorTable U_ICU_ENTRY_POINT_RENAME(Format2AnchorTable)
-#define Format3AnchorTable U_ICU_ENTRY_POINT_RENAME(Format3AnchorTable)
-#define FormatNameEnumeration U_ICU_ENTRY_POINT_RENAME(FormatNameEnumeration)
-#define FormatParser U_ICU_ENTRY_POINT_RENAME(FormatParser)
-#define Formattable U_ICU_ENTRY_POINT_RENAME(Formattable)
-#define ForwardCharacterIterator U_ICU_ENTRY_POINT_RENAME(ForwardCharacterIterator)
-#define ForwardUTrie2StringIterator U_ICU_ENTRY_POINT_RENAME(ForwardUTrie2StringIterator)
-#define FractionalPartSubstitution U_ICU_ENTRY_POINT_RENAME(FractionalPartSubstitution)
-#define FunctionReplacer U_ICU_ENTRY_POINT_RENAME(FunctionReplacer)
-#define GDEFMarkFilter U_ICU_ENTRY_POINT_RENAME(GDEFMarkFilter)
-#define GXLayoutEngine U_ICU_ENTRY_POINT_RENAME(GXLayoutEngine)
-#define GlyphDefinitionTableHeader U_ICU_ENTRY_POINT_RENAME(GlyphDefinitionTableHeader)
-#define GlyphIterator U_ICU_ENTRY_POINT_RENAME(GlyphIterator)
-#define GlyphLookupTableHeader U_ICU_ENTRY_POINT_RENAME(GlyphLookupTableHeader)
-#define GlyphPositionAdjustments U_ICU_ENTRY_POINT_RENAME(GlyphPositionAdjustments)
-#define GlyphPositioningLookupProcessor U_ICU_ENTRY_POINT_RENAME(GlyphPositioningLookupProcessor)
-#define GlyphPositioningTableHeader U_ICU_ENTRY_POINT_RENAME(GlyphPositioningTableHeader)
-#define GlyphSubstitutionLookupProcessor U_ICU_ENTRY_POINT_RENAME(GlyphSubstitutionLookupProcessor)
-#define GlyphSubstitutionTableHeader U_ICU_ENTRY_POINT_RENAME(GlyphSubstitutionTableHeader)
-#define GoodSuffixTable U_ICU_ENTRY_POINT_RENAME(GoodSuffixTable)
-#define Grego U_ICU_ENTRY_POINT_RENAME(Grego)
-#define GregorianCalendar U_ICU_ENTRY_POINT_RENAME(GregorianCalendar)
-#define HanOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(HanOpenTypeLayoutEngine)
-#define HangulOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(HangulOpenTypeLayoutEngine)
-#define HebrewCalendar U_ICU_ENTRY_POINT_RENAME(HebrewCalendar)
-#define ICUBreakIteratorFactory U_ICU_ENTRY_POINT_RENAME(ICUBreakIteratorFactory)
-#define ICUBreakIteratorService U_ICU_ENTRY_POINT_RENAME(ICUBreakIteratorService)
-#define ICUCollatorFactory U_ICU_ENTRY_POINT_RENAME(ICUCollatorFactory)
-#define ICUCollatorService U_ICU_ENTRY_POINT_RENAME(ICUCollatorService)
-#define ICUDataTable U_ICU_ENTRY_POINT_RENAME(ICUDataTable)
-#define ICULanguageBreakFactory U_ICU_ENTRY_POINT_RENAME(ICULanguageBreakFactory)
-#define ICULocaleService U_ICU_ENTRY_POINT_RENAME(ICULocaleService)
-#define ICUNotifier U_ICU_ENTRY_POINT_RENAME(ICUNotifier)
-#define ICUNumberFormatFactory U_ICU_ENTRY_POINT_RENAME(ICUNumberFormatFactory)
-#define ICUNumberFormatService U_ICU_ENTRY_POINT_RENAME(ICUNumberFormatService)
-#define ICUResourceBundleFactory U_ICU_ENTRY_POINT_RENAME(ICUResourceBundleFactory)
-#define ICUService U_ICU_ENTRY_POINT_RENAME(ICUService)
-#define ICUServiceFactory U_ICU_ENTRY_POINT_RENAME(ICUServiceFactory)
-#define ICUServiceKey U_ICU_ENTRY_POINT_RENAME(ICUServiceKey)
-#define ICU_Utility U_ICU_ENTRY_POINT_RENAME(ICU_Utility)
-#define IDNA U_ICU_ENTRY_POINT_RENAME(IDNA)
-#define IndianCalendar U_ICU_ENTRY_POINT_RENAME(IndianCalendar)
-#define IndicClassTable U_ICU_ENTRY_POINT_RENAME(IndicClassTable)
-#define IndicOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(IndicOpenTypeLayoutEngine)
-#define IndicRearrangementProcessor U_ICU_ENTRY_POINT_RENAME(IndicRearrangementProcessor)
-#define IndicReordering U_ICU_ENTRY_POINT_RENAME(IndicReordering)
-#define InitialTimeZoneRule U_ICU_ENTRY_POINT_RENAME(InitialTimeZoneRule)
-#define InputText U_ICU_ENTRY_POINT_RENAME(InputText)
-#define IntegralPartSubstitution U_ICU_ENTRY_POINT_RENAME(IntegralPartSubstitution)
-#define IslamicCalendar U_ICU_ENTRY_POINT_RENAME(IslamicCalendar)
-#define IteratedChar U_ICU_ENTRY_POINT_RENAME(IteratedChar)
-#define JapaneseCalendar U_ICU_ENTRY_POINT_RENAME(JapaneseCalendar)
-#define KernTable U_ICU_ENTRY_POINT_RENAME(KernTable)
-#define KeywordEnumeration U_ICU_ENTRY_POINT_RENAME(KeywordEnumeration)
-#define KhmerClassTable U_ICU_ENTRY_POINT_RENAME(KhmerClassTable)
-#define KhmerOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(KhmerOpenTypeLayoutEngine)
-#define KhmerReordering U_ICU_ENTRY_POINT_RENAME(KhmerReordering)
-#define LECharMapper U_ICU_ENTRY_POINT_RENAME(LECharMapper)
-#define LEFontInstance U_ICU_ENTRY_POINT_RENAME(LEFontInstance)
-#define LEGlyphFilter U_ICU_ENTRY_POINT_RENAME(LEGlyphFilter)
-#define LEGlyphStorage U_ICU_ENTRY_POINT_RENAME(LEGlyphStorage)
-#define LEInsertionCallback U_ICU_ENTRY_POINT_RENAME(LEInsertionCallback)
-#define LEInsertionList U_ICU_ENTRY_POINT_RENAME(LEInsertionList)
-#define LXUtilities U_ICU_ENTRY_POINT_RENAME(LXUtilities)
-#define LanguageBreakEngine U_ICU_ENTRY_POINT_RENAME(LanguageBreakEngine)
-#define LanguageBreakFactory U_ICU_ENTRY_POINT_RENAME(LanguageBreakFactory)
-#define LayoutEngine U_ICU_ENTRY_POINT_RENAME(LayoutEngine)
-#define LigatureSubstitutionProcessor U_ICU_ENTRY_POINT_RENAME(LigatureSubstitutionProcessor)
-#define LigatureSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(LigatureSubstitutionSubtable)
-#define LocDataParser U_ICU_ENTRY_POINT_RENAME(LocDataParser)
-#define Locale U_ICU_ENTRY_POINT_RENAME(Locale)
-#define LocaleBased U_ICU_ENTRY_POINT_RENAME(LocaleBased)
-#define LocaleDisplayNames U_ICU_ENTRY_POINT_RENAME(LocaleDisplayNames)
-#define LocaleDisplayNamesImpl U_ICU_ENTRY_POINT_RENAME(LocaleDisplayNamesImpl)
-#define LocaleKey U_ICU_ENTRY_POINT_RENAME(LocaleKey)
-#define LocaleKeyFactory U_ICU_ENTRY_POINT_RENAME(LocaleKeyFactory)
-#define LocaleRuns U_ICU_ENTRY_POINT_RENAME(LocaleRuns)
-#define LocaleUtility U_ICU_ENTRY_POINT_RENAME(LocaleUtility)
-#define LocalizationInfo U_ICU_ENTRY_POINT_RENAME(LocalizationInfo)
-#define LookupListTable U_ICU_ENTRY_POINT_RENAME(LookupListTable)
-#define LookupProcessor U_ICU_ENTRY_POINT_RENAME(LookupProcessor)
-#define LookupSubtable U_ICU_ENTRY_POINT_RENAME(LookupSubtable)
-#define LookupTable U_ICU_ENTRY_POINT_RENAME(LookupTable)
-#define LowercaseTransliterator U_ICU_ENTRY_POINT_RENAME(LowercaseTransliterator)
-#define MPreFixups U_ICU_ENTRY_POINT_RENAME(MPreFixups)
-#define MarkArray U_ICU_ENTRY_POINT_RENAME(MarkArray)
-#define MarkToBasePositioningSubtable U_ICU_ENTRY_POINT_RENAME(MarkToBasePositioningSubtable)
-#define MarkToLigaturePositioningSubtable U_ICU_ENTRY_POINT_RENAME(MarkToLigaturePositioningSubtable)
-#define MarkToMarkPositioningSubtable U_ICU_ENTRY_POINT_RENAME(MarkToMarkPositioningSubtable)
-#define Measure U_ICU_ENTRY_POINT_RENAME(Measure)
-#define MeasureFormat U_ICU_ENTRY_POINT_RENAME(MeasureFormat)
-#define MeasureUnit U_ICU_ENTRY_POINT_RENAME(MeasureUnit)
-#define MessageFormat U_ICU_ENTRY_POINT_RENAME(MessageFormat)
-#define MessageFormatAdapter U_ICU_ENTRY_POINT_RENAME(MessageFormatAdapter)
-#define ModulusSubstitution U_ICU_ENTRY_POINT_RENAME(ModulusSubstitution)
-#define MoonRiseSetCoordFunc U_ICU_ENTRY_POINT_RENAME(MoonRiseSetCoordFunc)
-#define MoonTimeAngleFunc U_ICU_ENTRY_POINT_RENAME(MoonTimeAngleFunc)
-#define MorphSubtableHeader U_ICU_ENTRY_POINT_RENAME(MorphSubtableHeader)
-#define MorphTableHeader U_ICU_ENTRY_POINT_RENAME(MorphTableHeader)
-#define MultipleSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(MultipleSubstitutionSubtable)
-#define MultiplierSubstitution U_ICU_ENTRY_POINT_RENAME(MultiplierSubstitution)
-#define MutableTrieDictionary U_ICU_ENTRY_POINT_RENAME(MutableTrieDictionary)
-#define MutableTrieEnumeration U_ICU_ENTRY_POINT_RENAME(MutableTrieEnumeration)
-#define NFFactory U_ICU_ENTRY_POINT_RENAME(NFFactory)
-#define NFKDBuffer U_ICU_ENTRY_POINT_RENAME(NFKDBuffer)
-#define NFRule U_ICU_ENTRY_POINT_RENAME(NFRule)
-#define NFRuleSet U_ICU_ENTRY_POINT_RENAME(NFRuleSet)
-#define NFSubstitution U_ICU_ENTRY_POINT_RENAME(NFSubstitution)
-#define NGramParser U_ICU_ENTRY_POINT_RENAME(NGramParser)
-#define NameToEnum U_ICU_ENTRY_POINT_RENAME(NameToEnum)
-#define NameUnicodeTransliterator U_ICU_ENTRY_POINT_RENAME(NameUnicodeTransliterator)
-#define NonContextualGlyphSubstitutionProcessor U_ICU_ENTRY_POINT_RENAME(NonContextualGlyphSubstitutionProcessor)
-#define NonContiguousEnumToOffset U_ICU_ENTRY_POINT_RENAME(NonContiguousEnumToOffset)
-#define NoopNormalizer2 U_ICU_ENTRY_POINT_RENAME(NoopNormalizer2)
-#define Norm2AllModes U_ICU_ENTRY_POINT_RENAME(Norm2AllModes)
-#define NormalizationTransliterator U_ICU_ENTRY_POINT_RENAME(NormalizationTransliterator)
-#define Normalizer U_ICU_ENTRY_POINT_RENAME(Normalizer)
-#define Normalizer2 U_ICU_ENTRY_POINT_RENAME(Normalizer2)
-#define Normalizer2Factory U_ICU_ENTRY_POINT_RENAME(Normalizer2Factory)
-#define Normalizer2Impl U_ICU_ENTRY_POINT_RENAME(Normalizer2Impl)
-#define Normalizer2WithImpl U_ICU_ENTRY_POINT_RENAME(Normalizer2WithImpl)
-#define NullSubstitution U_ICU_ENTRY_POINT_RENAME(NullSubstitution)
-#define NullTransliterator U_ICU_ENTRY_POINT_RENAME(NullTransliterator)
-#define NumberFormat U_ICU_ENTRY_POINT_RENAME(NumberFormat)
-#define NumberFormatFactory U_ICU_ENTRY_POINT_RENAME(NumberFormatFactory)
-#define NumberingSystem U_ICU_ENTRY_POINT_RENAME(NumberingSystem)
-#define NumeratorSubstitution U_ICU_ENTRY_POINT_RENAME(NumeratorSubstitution)
-#define OlsonTimeZone U_ICU_ENTRY_POINT_RENAME(OlsonTimeZone)
-#define OpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(OpenTypeLayoutEngine)
-#define OpenTypeUtilities U_ICU_ENTRY_POINT_RENAME(OpenTypeUtilities)
-#define OrConstraint U_ICU_ENTRY_POINT_RENAME(OrConstraint)
-#define PCEBuffer U_ICU_ENTRY_POINT_RENAME(PCEBuffer)
-#define PairPositioningFormat1Subtable U_ICU_ENTRY_POINT_RENAME(PairPositioningFormat1Subtable)
-#define PairPositioningFormat2Subtable U_ICU_ENTRY_POINT_RENAME(PairPositioningFormat2Subtable)
-#define PairPositioningSubtable U_ICU_ENTRY_POINT_RENAME(PairPositioningSubtable)
-#define ParagraphLayout U_ICU_ENTRY_POINT_RENAME(ParagraphLayout)
-#define ParseData U_ICU_ENTRY_POINT_RENAME(ParseData)
-#define ParsePosition U_ICU_ENTRY_POINT_RENAME(ParsePosition)
-#define PatternMap U_ICU_ENTRY_POINT_RENAME(PatternMap)
-#define PatternMapIterator U_ICU_ENTRY_POINT_RENAME(PatternMapIterator)
-#define PersianCalendar U_ICU_ENTRY_POINT_RENAME(PersianCalendar)
-#define PluralFormat U_ICU_ENTRY_POINT_RENAME(PluralFormat)
-#define PluralKeywordEnumeration U_ICU_ENTRY_POINT_RENAME(PluralKeywordEnumeration)
-#define PluralRules U_ICU_ENTRY_POINT_RENAME(PluralRules)
-#define PropertyAliases U_ICU_ENTRY_POINT_RENAME(PropertyAliases)
-#define PtnElem U_ICU_ENTRY_POINT_RENAME(PtnElem)
-#define PtnSkeleton U_ICU_ENTRY_POINT_RENAME(PtnSkeleton)
-#define Quantifier U_ICU_ENTRY_POINT_RENAME(Quantifier)
-#define RBBIDataWrapper U_ICU_ENTRY_POINT_RENAME(RBBIDataWrapper)
-#define RBBINode U_ICU_ENTRY_POINT_RENAME(RBBINode)
-#define RBBIRuleBuilder U_ICU_ENTRY_POINT_RENAME(RBBIRuleBuilder)
-#define RBBIRuleScanner U_ICU_ENTRY_POINT_RENAME(RBBIRuleScanner)
-#define RBBISetBuilder U_ICU_ENTRY_POINT_RENAME(RBBISetBuilder)
-#define RBBIStateDescriptor U_ICU_ENTRY_POINT_RENAME(RBBIStateDescriptor)
-#define RBBISymbolTable U_ICU_ENTRY_POINT_RENAME(RBBISymbolTable)
-#define RBBISymbolTableEntry U_ICU_ENTRY_POINT_RENAME(RBBISymbolTableEntry)
-#define RBBITableBuilder U_ICU_ENTRY_POINT_RENAME(RBBITableBuilder)
-#define RCEBuffer U_ICU_ENTRY_POINT_RENAME(RCEBuffer)
-#define RangeDescriptor U_ICU_ENTRY_POINT_RENAME(RangeDescriptor)
-#define RegexCompile U_ICU_ENTRY_POINT_RENAME(RegexCompile)
-#define RegexMatcher U_ICU_ENTRY_POINT_RENAME(RegexMatcher)
-#define RegexPattern U_ICU_ENTRY_POINT_RENAME(RegexPattern)
-#define RegexStaticSets U_ICU_ENTRY_POINT_RENAME(RegexStaticSets)
-#define RegularExpression U_ICU_ENTRY_POINT_RENAME(RegularExpression)
-#define RelativeDateFormat U_ICU_ENTRY_POINT_RENAME(RelativeDateFormat)
-#define RemoveTransliterator U_ICU_ENTRY_POINT_RENAME(RemoveTransliterator)
-#define ReorderingBuffer U_ICU_ENTRY_POINT_RENAME(ReorderingBuffer)
-#define Replaceable U_ICU_ENTRY_POINT_RENAME(Replaceable)
-#define ReplaceableGlue U_ICU_ENTRY_POINT_RENAME(ReplaceableGlue)
-#define ResourceBundle U_ICU_ENTRY_POINT_RENAME(ResourceBundle)
-#define RiseSetCoordFunc U_ICU_ENTRY_POINT_RENAME(RiseSetCoordFunc)
-#define RuleBasedBreakIterator U_ICU_ENTRY_POINT_RENAME(RuleBasedBreakIterator)
-#define RuleBasedCollator U_ICU_ENTRY_POINT_RENAME(RuleBasedCollator)
-#define RuleBasedNumberFormat U_ICU_ENTRY_POINT_RENAME(RuleBasedNumberFormat)
-#define RuleBasedTimeZone U_ICU_ENTRY_POINT_RENAME(RuleBasedTimeZone)
-#define RuleBasedTransliterator U_ICU_ENTRY_POINT_RENAME(RuleBasedTransliterator)
-#define RuleChain U_ICU_ENTRY_POINT_RENAME(RuleChain)
-#define RuleCharacterIterator U_ICU_ENTRY_POINT_RENAME(RuleCharacterIterator)
-#define RuleHalf U_ICU_ENTRY_POINT_RENAME(RuleHalf)
-#define RuleParser U_ICU_ENTRY_POINT_RENAME(RuleParser)
-#define RunArray U_ICU_ENTRY_POINT_RENAME(RunArray)
-#define SPUString U_ICU_ENTRY_POINT_RENAME(SPUString)
-#define SPUStringPool U_ICU_ENTRY_POINT_RENAME(SPUStringPool)
-#define SafeZoneStringFormatPtr U_ICU_ENTRY_POINT_RENAME(SafeZoneStringFormatPtr)
-#define SameValueSubstitution U_ICU_ENTRY_POINT_RENAME(SameValueSubstitution)
-#define ScriptListTable U_ICU_ENTRY_POINT_RENAME(ScriptListTable)
-#define ScriptRunIterator U_ICU_ENTRY_POINT_RENAME(ScriptRunIterator)
-#define ScriptSet U_ICU_ENTRY_POINT_RENAME(ScriptSet)
-#define ScriptTable U_ICU_ENTRY_POINT_RENAME(ScriptTable)
-#define SearchIterator U_ICU_ENTRY_POINT_RENAME(SearchIterator)
-#define SegmentArrayProcessor U_ICU_ENTRY_POINT_RENAME(SegmentArrayProcessor)
-#define SegmentSingleProcessor U_ICU_ENTRY_POINT_RENAME(SegmentSingleProcessor)
-#define SelectFormat U_ICU_ENTRY_POINT_RENAME(SelectFormat)
-#define ServiceEnumeration U_ICU_ENTRY_POINT_RENAME(ServiceEnumeration)
-#define ServiceListener U_ICU_ENTRY_POINT_RENAME(ServiceListener)
-#define SimpleArrayProcessor U_ICU_ENTRY_POINT_RENAME(SimpleArrayProcessor)
-#define SimpleDateFormat U_ICU_ENTRY_POINT_RENAME(SimpleDateFormat)
-#define SimpleFactory U_ICU_ENTRY_POINT_RENAME(SimpleFactory)
-#define SimpleLocaleKeyFactory U_ICU_ENTRY_POINT_RENAME(SimpleLocaleKeyFactory)
-#define SimpleNumberFormatFactory U_ICU_ENTRY_POINT_RENAME(SimpleNumberFormatFactory)
-#define SimpleSingleton U_ICU_ENTRY_POINT_RENAME(SimpleSingleton)
-#define SimpleTimeZone U_ICU_ENTRY_POINT_RENAME(SimpleTimeZone)
-#define SinglePositioningFormat1Subtable U_ICU_ENTRY_POINT_RENAME(SinglePositioningFormat1Subtable)
-#define SinglePositioningFormat2Subtable U_ICU_ENTRY_POINT_RENAME(SinglePositioningFormat2Subtable)
-#define SinglePositioningSubtable U_ICU_ENTRY_POINT_RENAME(SinglePositioningSubtable)
-#define SingleSubstitutionFormat1Subtable U_ICU_ENTRY_POINT_RENAME(SingleSubstitutionFormat1Subtable)
-#define SingleSubstitutionFormat2Subtable U_ICU_ENTRY_POINT_RENAME(SingleSubstitutionFormat2Subtable)
-#define SingleSubstitutionSubtable U_ICU_ENTRY_POINT_RENAME(SingleSubstitutionSubtable)
-#define SingleTableProcessor U_ICU_ENTRY_POINT_RENAME(SingleTableProcessor)
-#define SpoofData U_ICU_ENTRY_POINT_RENAME(SpoofData)
-#define SpoofImpl U_ICU_ENTRY_POINT_RENAME(SpoofImpl)
-#define StateTableProcessor U_ICU_ENTRY_POINT_RENAME(StateTableProcessor)
-#define StringCharacterIterator U_ICU_ENTRY_POINT_RENAME(StringCharacterIterator)
-#define StringEnumeration U_ICU_ENTRY_POINT_RENAME(StringEnumeration)
-#define StringList U_ICU_ENTRY_POINT_RENAME(StringList)
-#define StringLocalizationInfo U_ICU_ENTRY_POINT_RENAME(StringLocalizationInfo)
-#define StringMatcher U_ICU_ENTRY_POINT_RENAME(StringMatcher)
-#define StringPair U_ICU_ENTRY_POINT_RENAME(StringPair)
-#define StringPiece U_ICU_ENTRY_POINT_RENAME(StringPiece)
-#define StringReplacer U_ICU_ENTRY_POINT_RENAME(StringReplacer)
-#define StringSearch U_ICU_ENTRY_POINT_RENAME(StringSearch)
-#define StringToCEsMap U_ICU_ENTRY_POINT_RENAME(StringToCEsMap)
-#define StyleRuns U_ICU_ENTRY_POINT_RENAME(StyleRuns)
-#define SubstitutionLookup U_ICU_ENTRY_POINT_RENAME(SubstitutionLookup)
-#define SubtableProcessor U_ICU_ENTRY_POINT_RENAME(SubtableProcessor)
-#define SunTimeAngleFunc U_ICU_ENTRY_POINT_RENAME(SunTimeAngleFunc)
-#define SymbolTable U_ICU_ENTRY_POINT_RENAME(SymbolTable)
-#define TZEnumeration U_ICU_ENTRY_POINT_RENAME(TZEnumeration)
-#define TaiwanCalendar U_ICU_ENTRY_POINT_RENAME(TaiwanCalendar)
-#define Target U_ICU_ENTRY_POINT_RENAME(Target)
-#define TernaryNode U_ICU_ENTRY_POINT_RENAME(TernaryNode)
-#define TextTrieMap U_ICU_ENTRY_POINT_RENAME(TextTrieMap)
-#define TextTrieMapSearchResultHandler U_ICU_ENTRY_POINT_RENAME(TextTrieMapSearchResultHandler)
-#define ThaiBreakEngine U_ICU_ENTRY_POINT_RENAME(ThaiBreakEngine)
-#define ThaiLayoutEngine U_ICU_ENTRY_POINT_RENAME(ThaiLayoutEngine)
-#define ThaiShaping U_ICU_ENTRY_POINT_RENAME(ThaiShaping)
-#define TibetanClassTable U_ICU_ENTRY_POINT_RENAME(TibetanClassTable)
-#define TibetanOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(TibetanOpenTypeLayoutEngine)
-#define TibetanReordering U_ICU_ENTRY_POINT_RENAME(TibetanReordering)
-#define TimeArrayTimeZoneRule U_ICU_ENTRY_POINT_RENAME(TimeArrayTimeZoneRule)
-#define TimeUnit U_ICU_ENTRY_POINT_RENAME(TimeUnit)
-#define TimeUnitAmount U_ICU_ENTRY_POINT_RENAME(TimeUnitAmount)
-#define TimeUnitFormat U_ICU_ENTRY_POINT_RENAME(TimeUnitFormat)
-#define TimeZone U_ICU_ENTRY_POINT_RENAME(TimeZone)
-#define TimeZoneRule U_ICU_ENTRY_POINT_RENAME(TimeZoneRule)
-#define TimeZoneTransition U_ICU_ENTRY_POINT_RENAME(TimeZoneTransition)
-#define TitlecaseTransliterator U_ICU_ENTRY_POINT_RENAME(TitlecaseTransliterator)
-#define TransliterationRule U_ICU_ENTRY_POINT_RENAME(TransliterationRule)
-#define TransliterationRuleData U_ICU_ENTRY_POINT_RENAME(TransliterationRuleData)
-#define TransliterationRuleSet U_ICU_ENTRY_POINT_RENAME(TransliterationRuleSet)
-#define Transliterator U_ICU_ENTRY_POINT_RENAME(Transliterator)
-#define TransliteratorAlias U_ICU_ENTRY_POINT_RENAME(TransliteratorAlias)
-#define TransliteratorEntry U_ICU_ENTRY_POINT_RENAME(TransliteratorEntry)
-#define TransliteratorIDParser U_ICU_ENTRY_POINT_RENAME(TransliteratorIDParser)
-#define TransliteratorParser U_ICU_ENTRY_POINT_RENAME(TransliteratorParser)
-#define TransliteratorRegistry U_ICU_ENTRY_POINT_RENAME(TransliteratorRegistry)
-#define TransliteratorSpec U_ICU_ENTRY_POINT_RENAME(TransliteratorSpec)
-#define TriStateSingleton U_ICU_ENTRY_POINT_RENAME(TriStateSingleton)
-#define TrieWordDictionary U_ICU_ENTRY_POINT_RENAME(TrieWordDictionary)
-#define TrimmedArrayProcessor U_ICU_ENTRY_POINT_RENAME(TrimmedArrayProcessor)
-#define UCharCharacterIterator U_ICU_ENTRY_POINT_RENAME(UCharCharacterIterator)
-#define UCollationPCE U_ICU_ENTRY_POINT_RENAME(UCollationPCE)
-#define UDataPathIterator U_ICU_ENTRY_POINT_RENAME(UDataPathIterator)
-#define ULocRuns U_ICU_ENTRY_POINT_RENAME(ULocRuns)
-#define UMemory U_ICU_ENTRY_POINT_RENAME(UMemory)
-#define UObject U_ICU_ENTRY_POINT_RENAME(UObject)
-#define UStack U_ICU_ENTRY_POINT_RENAME(UStack)
-#define UStringEnumeration U_ICU_ENTRY_POINT_RENAME(UStringEnumeration)
-#define UTS46 U_ICU_ENTRY_POINT_RENAME(UTS46)
-#define UTrie2Singleton U_ICU_ENTRY_POINT_RENAME(UTrie2Singleton)
-#define UVector U_ICU_ENTRY_POINT_RENAME(UVector)
-#define UVector32 U_ICU_ENTRY_POINT_RENAME(UVector32)
-#define UVector64 U_ICU_ENTRY_POINT_RENAME(UVector64)
-#define UnescapeTransliterator U_ICU_ENTRY_POINT_RENAME(UnescapeTransliterator)
-#define UnhandledEngine U_ICU_ENTRY_POINT_RENAME(UnhandledEngine)
-#define UnicodeArabicOpenTypeLayoutEngine U_ICU_ENTRY_POINT_RENAME(UnicodeArabicOpenTypeLayoutEngine)
-#define UnicodeFilter U_ICU_ENTRY_POINT_RENAME(UnicodeFilter)
-#define UnicodeFunctor U_ICU_ENTRY_POINT_RENAME(UnicodeFunctor)
-#define UnicodeMatcher U_ICU_ENTRY_POINT_RENAME(UnicodeMatcher)
-#define UnicodeNameTransliterator U_ICU_ENTRY_POINT_RENAME(UnicodeNameTransliterator)
-#define UnicodeReplacer U_ICU_ENTRY_POINT_RENAME(UnicodeReplacer)
-#define UnicodeSet U_ICU_ENTRY_POINT_RENAME(UnicodeSet)
-#define UnicodeSetIterator U_ICU_ENTRY_POINT_RENAME(UnicodeSetIterator)
-#define UnicodeSetStringSpan U_ICU_ENTRY_POINT_RENAME(UnicodeSetStringSpan)
-#define UnicodeString U_ICU_ENTRY_POINT_RENAME(UnicodeString)
-#define UppercaseTransliterator U_ICU_ENTRY_POINT_RENAME(UppercaseTransliterator)
-#define VTZReader U_ICU_ENTRY_POINT_RENAME(VTZReader)
-#define VTZWriter U_ICU_ENTRY_POINT_RENAME(VTZWriter)
-#define VTimeZone U_ICU_ENTRY_POINT_RENAME(VTimeZone)
-#define ValueRecord U_ICU_ENTRY_POINT_RENAME(ValueRecord)
-#define ValueRuns U_ICU_ENTRY_POINT_RENAME(ValueRuns)
-#define ZSFCache U_ICU_ENTRY_POINT_RENAME(ZSFCache)
-#define ZSFCacheEntry U_ICU_ENTRY_POINT_RENAME(ZSFCacheEntry)
-#define ZSFStringPool U_ICU_ENTRY_POINT_RENAME(ZSFStringPool)
-#define ZSFStringPoolChunk U_ICU_ENTRY_POINT_RENAME(ZSFStringPoolChunk)
-#define ZoneMeta U_ICU_ENTRY_POINT_RENAME(ZoneMeta)
-#define ZoneStringFormat U_ICU_ENTRY_POINT_RENAME(ZoneStringFormat)
-#define ZoneStringInfo U_ICU_ENTRY_POINT_RENAME(ZoneStringInfo)
-#define ZoneStringSearchResultHandler U_ICU_ENTRY_POINT_RENAME(ZoneStringSearchResultHandler)
-#define ZoneStrings U_ICU_ENTRY_POINT_RENAME(ZoneStrings)
-#define collIterate U_ICU_ENTRY_POINT_RENAME(collIterate)
-#define locale_set_default_internal U_ICU_ENTRY_POINT_RENAME(locale_set_default_internal)
-#define util64_fromDouble U_ICU_ENTRY_POINT_RENAME(util64_fromDouble)
-#define util64_pow U_ICU_ENTRY_POINT_RENAME(util64_pow)
-#define util64_tou U_ICU_ENTRY_POINT_RENAME(util64_tou)
-
-#endif
-#endif
-
-#endif
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/uscript.h b/Source/WebKit/mac/icu/unicode/uscript.h
deleted file mode 100644
index ee21c740d..000000000
--- a/Source/WebKit/mac/icu/unicode/uscript.h
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- **********************************************************************
- * Copyright (C) 1997-2010, International Business Machines
- * Corporation and others. All Rights Reserved.
- **********************************************************************
- *
- * File USCRIPT.H
- *
- * Modification History:
- *
- * Date Name Description
- * 07/06/2001 Ram Creation.
- ******************************************************************************
- */
-
-#ifndef USCRIPT_H
-#define USCRIPT_H
-#include "unicode/utypes.h"
-
-/**
- * \file
- * \brief C API: Unicode Script Information
- */
-
-/**
- * Constants for ISO 15924 script codes.
- *
- * Many of these script codes - those from Unicode's ScriptNames.txt -
- * are character property values for Unicode's Script property.
- * See UAX #24 Script Names (http://www.unicode.org/reports/tr24/).
- *
- * Starting with ICU 3.6, constants for most ISO 15924 script codes
- * are included (currently excluding private-use codes Qaaa..Qabx).
- * For scripts for which there are codes in ISO 15924 but which are not
- * used in the Unicode Character Database (UCD), there are no Unicode characters
- * associated with those scripts.
- *
- * For example, there are no characters that have a UCD script code of
- * Hans or Hant. All Han ideographs have the Hani script code.
- * The Hans and Hant script codes are used with CLDR data.
- *
- * ISO 15924 script codes are included for use with CLDR and similar.
- *
- * @stable ICU 2.2
- */
-typedef enum UScriptCode {
- USCRIPT_INVALID_CODE = -1,
- USCRIPT_COMMON = 0, /* Zyyy */
- USCRIPT_INHERITED = 1, /* Zinh */ /* "Code for inherited script", for non-spacing combining marks; also Qaai */
- USCRIPT_ARABIC = 2, /* Arab */
- USCRIPT_ARMENIAN = 3, /* Armn */
- USCRIPT_BENGALI = 4, /* Beng */
- USCRIPT_BOPOMOFO = 5, /* Bopo */
- USCRIPT_CHEROKEE = 6, /* Cher */
- USCRIPT_COPTIC = 7, /* Copt */
- USCRIPT_CYRILLIC = 8, /* Cyrl */
- USCRIPT_DESERET = 9, /* Dsrt */
- USCRIPT_DEVANAGARI = 10, /* Deva */
- USCRIPT_ETHIOPIC = 11, /* Ethi */
- USCRIPT_GEORGIAN = 12, /* Geor */
- USCRIPT_GOTHIC = 13, /* Goth */
- USCRIPT_GREEK = 14, /* Grek */
- USCRIPT_GUJARATI = 15, /* Gujr */
- USCRIPT_GURMUKHI = 16, /* Guru */
- USCRIPT_HAN = 17, /* Hani */
- USCRIPT_HANGUL = 18, /* Hang */
- USCRIPT_HEBREW = 19, /* Hebr */
- USCRIPT_HIRAGANA = 20, /* Hira */
- USCRIPT_KANNADA = 21, /* Knda */
- USCRIPT_KATAKANA = 22, /* Kana */
- USCRIPT_KHMER = 23, /* Khmr */
- USCRIPT_LAO = 24, /* Laoo */
- USCRIPT_LATIN = 25, /* Latn */
- USCRIPT_MALAYALAM = 26, /* Mlym */
- USCRIPT_MONGOLIAN = 27, /* Mong */
- USCRIPT_MYANMAR = 28, /* Mymr */
- USCRIPT_OGHAM = 29, /* Ogam */
- USCRIPT_OLD_ITALIC = 30, /* Ital */
- USCRIPT_ORIYA = 31, /* Orya */
- USCRIPT_RUNIC = 32, /* Runr */
- USCRIPT_SINHALA = 33, /* Sinh */
- USCRIPT_SYRIAC = 34, /* Syrc */
- USCRIPT_TAMIL = 35, /* Taml */
- USCRIPT_TELUGU = 36, /* Telu */
- USCRIPT_THAANA = 37, /* Thaa */
- USCRIPT_THAI = 38, /* Thai */
- USCRIPT_TIBETAN = 39, /* Tibt */
- /** Canadian_Aboriginal script. @stable ICU 2.6 */
- USCRIPT_CANADIAN_ABORIGINAL = 40, /* Cans */
- /** Canadian_Aboriginal script (alias). @stable ICU 2.2 */
- USCRIPT_UCAS = USCRIPT_CANADIAN_ABORIGINAL,
- USCRIPT_YI = 41, /* Yiii */
- USCRIPT_TAGALOG = 42, /* Tglg */
- USCRIPT_HANUNOO = 43, /* Hano */
- USCRIPT_BUHID = 44, /* Buhd */
- USCRIPT_TAGBANWA = 45, /* Tagb */
-
- /* New scripts in Unicode 4 @stable ICU 2.6 */
- USCRIPT_BRAILLE = 46, /* Brai */
- USCRIPT_CYPRIOT = 47, /* Cprt */
- USCRIPT_LIMBU = 48, /* Limb */
- USCRIPT_LINEAR_B = 49, /* Linb */
- USCRIPT_OSMANYA = 50, /* Osma */
- USCRIPT_SHAVIAN = 51, /* Shaw */
- USCRIPT_TAI_LE = 52, /* Tale */
- USCRIPT_UGARITIC = 53, /* Ugar */
-
- /** New script code in Unicode 4.0.1 @stable ICU 3.0 */
- USCRIPT_KATAKANA_OR_HIRAGANA = 54,/*Hrkt */
-
- /* New scripts in Unicode 4.1 @stable ICU 3.4 */
- USCRIPT_BUGINESE = 55, /* Bugi */
- USCRIPT_GLAGOLITIC = 56, /* Glag */
- USCRIPT_KHAROSHTHI = 57, /* Khar */
- USCRIPT_SYLOTI_NAGRI = 58, /* Sylo */
- USCRIPT_NEW_TAI_LUE = 59, /* Talu */
- USCRIPT_TIFINAGH = 60, /* Tfng */
- USCRIPT_OLD_PERSIAN = 61, /* Xpeo */
-
- /* New script codes from ISO 15924 @stable ICU 3.6 */
- USCRIPT_BALINESE = 62, /* Bali */
- USCRIPT_BATAK = 63, /* Batk */
- USCRIPT_BLISSYMBOLS = 64, /* Blis */
- USCRIPT_BRAHMI = 65, /* Brah */
- USCRIPT_CHAM = 66, /* Cham */
- USCRIPT_CIRTH = 67, /* Cirt */
- USCRIPT_OLD_CHURCH_SLAVONIC_CYRILLIC = 68, /* Cyrs */
- USCRIPT_DEMOTIC_EGYPTIAN = 69, /* Egyd */
- USCRIPT_HIERATIC_EGYPTIAN = 70, /* Egyh */
- USCRIPT_EGYPTIAN_HIEROGLYPHS = 71, /* Egyp */
- USCRIPT_KHUTSURI = 72, /* Geok */
- USCRIPT_SIMPLIFIED_HAN = 73, /* Hans */
- USCRIPT_TRADITIONAL_HAN = 74, /* Hant */
- USCRIPT_PAHAWH_HMONG = 75, /* Hmng */
- USCRIPT_OLD_HUNGARIAN = 76, /* Hung */
- USCRIPT_HARAPPAN_INDUS = 77, /* Inds */
- USCRIPT_JAVANESE = 78, /* Java */
- USCRIPT_KAYAH_LI = 79, /* Kali */
- USCRIPT_LATIN_FRAKTUR = 80, /* Latf */
- USCRIPT_LATIN_GAELIC = 81, /* Latg */
- USCRIPT_LEPCHA = 82, /* Lepc */
- USCRIPT_LINEAR_A = 83, /* Lina */
- /** @stable ICU 4.6 */
- USCRIPT_MANDAIC = 84, /* Mand */
- /** @stable ICU 3.6 */
- USCRIPT_MANDAEAN = USCRIPT_MANDAIC,
- USCRIPT_MAYAN_HIEROGLYPHS = 85, /* Maya */
- /** @stable ICU 4.6 */
- USCRIPT_MEROITIC_HIEROGLYPHS = 86, /* Mero */
- /** @stable ICU 3.6 */
- USCRIPT_MEROITIC = USCRIPT_MEROITIC_HIEROGLYPHS,
- USCRIPT_NKO = 87, /* Nkoo */
- USCRIPT_ORKHON = 88, /* Orkh */
- USCRIPT_OLD_PERMIC = 89, /* Perm */
- USCRIPT_PHAGS_PA = 90, /* Phag */
- USCRIPT_PHOENICIAN = 91, /* Phnx */
- USCRIPT_PHONETIC_POLLARD = 92, /* Plrd */
- USCRIPT_RONGORONGO = 93, /* Roro */
- USCRIPT_SARATI = 94, /* Sara */
- USCRIPT_ESTRANGELO_SYRIAC = 95, /* Syre */
- USCRIPT_WESTERN_SYRIAC = 96, /* Syrj */
- USCRIPT_EASTERN_SYRIAC = 97, /* Syrn */
- USCRIPT_TENGWAR = 98, /* Teng */
- USCRIPT_VAI = 99, /* Vaii */
- USCRIPT_VISIBLE_SPEECH = 100,/* Visp */
- USCRIPT_CUNEIFORM = 101,/* Xsux */
- USCRIPT_UNWRITTEN_LANGUAGES = 102,/* Zxxx */
- USCRIPT_UNKNOWN = 103,/* Zzzz */ /* Unknown="Code for uncoded script", for unassigned code points */
-
- /* New script codes from ISO 15924 @stable ICU 3.8 */
- USCRIPT_CARIAN = 104,/* Cari */
- USCRIPT_JAPANESE = 105,/* Jpan */
- USCRIPT_LANNA = 106,/* Lana */
- USCRIPT_LYCIAN = 107,/* Lyci */
- USCRIPT_LYDIAN = 108,/* Lydi */
- USCRIPT_OL_CHIKI = 109,/* Olck */
- USCRIPT_REJANG = 110,/* Rjng */
- USCRIPT_SAURASHTRA = 111,/* Saur */
- USCRIPT_SIGN_WRITING = 112,/* Sgnw */
- USCRIPT_SUNDANESE = 113,/* Sund */
- USCRIPT_MOON = 114,/* Moon */
- USCRIPT_MEITEI_MAYEK = 115,/* Mtei */
-
- /* New script codes from ISO 15924 @stable ICU 4.0 */
- USCRIPT_IMPERIAL_ARAMAIC = 116,/* Armi */
- USCRIPT_AVESTAN = 117,/* Avst */
- USCRIPT_CHAKMA = 118,/* Cakm */
- USCRIPT_KOREAN = 119,/* Kore */
- USCRIPT_KAITHI = 120,/* Kthi */
- USCRIPT_MANICHAEAN = 121,/* Mani */
- USCRIPT_INSCRIPTIONAL_PAHLAVI = 122,/* Phli */
- USCRIPT_PSALTER_PAHLAVI = 123,/* Phlp */
- USCRIPT_BOOK_PAHLAVI = 124,/* Phlv */
- USCRIPT_INSCRIPTIONAL_PARTHIAN = 125,/* Prti */
- USCRIPT_SAMARITAN = 126,/* Samr */
- USCRIPT_TAI_VIET = 127,/* Tavt */
- USCRIPT_MATHEMATICAL_NOTATION = 128,/* Zmth */
- USCRIPT_SYMBOLS = 129,/* Zsym */
-
- /* New script codes from ISO 15924 @stable ICU 4.4 */
- USCRIPT_BAMUM = 130,/* Bamu */
- USCRIPT_LISU = 131,/* Lisu */
- USCRIPT_NAKHI_GEBA = 132,/* Nkgb */
- USCRIPT_OLD_SOUTH_ARABIAN = 133,/* Sarb */
-
- /* New script codes from ISO 15924 @stable ICU 4.6 */
- USCRIPT_BASSA_VAH = 134,/* Bass */
- USCRIPT_DUPLOYAN_SHORTAND = 135,/* Dupl */
- USCRIPT_ELBASAN = 136,/* Elba */
- USCRIPT_GRANTHA = 137,/* Gran */
- USCRIPT_KPELLE = 138,/* Kpel */
- USCRIPT_LOMA = 139,/* Loma */
- USCRIPT_MENDE = 140,/* Mend */
- USCRIPT_MEROITIC_CURSIVE = 141,/* Merc */
- USCRIPT_OLD_NORTH_ARABIAN = 142,/* Narb */
- USCRIPT_NABATAEAN = 143,/* Nbat */
- USCRIPT_PALMYRENE = 144,/* Palm */
- USCRIPT_SINDHI = 145,/* Sind */
- USCRIPT_WARANG_CITI = 146,/* Wara */
-
- /* Private use codes from Qaaa - Qabx are not supported */
- USCRIPT_CODE_LIMIT = 147
-} UScriptCode;
-
-/**
- * Gets script codes associated with the given locale or ISO 15924 abbreviation or name.
- * Fills in USCRIPT_MALAYALAM given "Malayam" OR "Mlym".
- * Fills in USCRIPT_LATIN given "en" OR "en_US"
- * If required capacity is greater than capacity of the destination buffer then the error code
- * is set to U_BUFFER_OVERFLOW_ERROR and the required capacity is returned
- *
- * <p>Note: To search by short or long script alias only, use
- * u_getPropertyValueEnum(UCHAR_SCRIPT, alias) instead. This does
- * a fast lookup with no access of the locale data.
- * @param nameOrAbbrOrLocale name of the script, as given in
- * PropertyValueAliases.txt, or ISO 15924 code or locale
- * @param fillIn the UScriptCode buffer to fill in the script code
- * @param capacity the capacity (size) fo UScriptCode buffer passed in.
- * @param err the error status code.
- * @return The number of script codes filled in the buffer passed in
- * @stable ICU 2.4
- */
-U_STABLE int32_t U_EXPORT2
-uscript_getCode(const char* nameOrAbbrOrLocale,UScriptCode* fillIn,int32_t capacity,UErrorCode *err);
-
-/**
- * Gets a script name associated with the given script code.
- * Returns "Malayam" given USCRIPT_MALAYALAM
- * @param scriptCode UScriptCode enum
- * @return script long name as given in
- * PropertyValueAliases.txt, or NULL if scriptCode is invalid
- * @stable ICU 2.4
- */
-U_STABLE const char* U_EXPORT2
-uscript_getName(UScriptCode scriptCode);
-
-/**
- * Gets a script name associated with the given script code.
- * Returns "Mlym" given USCRIPT_MALAYALAM
- * @param scriptCode UScriptCode enum
- * @return script abbreviated name as given in
- * PropertyValueAliases.txt, or NULL if scriptCode is invalid
- * @stable ICU 2.4
- */
-U_STABLE const char* U_EXPORT2
-uscript_getShortName(UScriptCode scriptCode);
-
-/**
- * Gets the script code associated with the given codepoint.
- * Returns USCRIPT_MALAYALAM given 0x0D02
- * @param codepoint UChar32 codepoint
- * @param err the error status code.
- * @return The UScriptCode, or 0 if codepoint is invalid
- * @stable ICU 2.4
- */
-U_STABLE UScriptCode U_EXPORT2
-uscript_getScript(UChar32 codepoint, UErrorCode *err);
-
-/**
- * Is code point c used in script sc?
- * That is, does code point c have the Script property value sc,
- * or do code point c's Script_Extensions include script code sc?
- *
- * Some characters are commonly used in multiple scripts.
- * For more information, see UAX #24: http://www.unicode.org/reports/tr24/.
- *
- * The Script_Extensions property is provisional. It may be modified or removed
- * in future versions of the Unicode Standard, and thus in ICU.
- * @param c code point
- * @param sc script code
- * @return TRUE if Script(c)==sc or sc is in Script_Extensions(c)
- * @draft ICU 4.6
- */
-U_DRAFT UBool U_EXPORT2
-uscript_hasScript(UChar32 c, UScriptCode sc);
-
-/**
- * Writes code point c's Script_Extensions as a list of UScriptCode values
- * to the output scripts array.
- *
- * Some characters are commonly used in multiple scripts.
- * For more information, see UAX #24: http://www.unicode.org/reports/tr24/.
- *
- * If there are more than capacity script codes to be written, then
- * U_BUFFER_OVERFLOW_ERROR is set and the number of Script_Extensions is returned.
- * (Usual ICU buffer handling behavior.)
- *
- * The Script_Extensions property is provisional. It may be modified or removed
- * in future versions of the Unicode Standard, and thus in ICU.
- * @param c code point
- * @param scripts output script code array
- * @param capacity capacity of the scripts array
- * @param errorCode Standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return number of script codes in c's Script_Extensions,
- * written to scripts unless U_BUFFER_OVERFLOW_ERROR indicates insufficient capacity
- * @draft ICU 4.6
- */
-U_DRAFT int32_t U_EXPORT2
-uscript_getScriptExtensions(UChar32 c,
- UScriptCode *scripts, int32_t capacity,
- UErrorCode *pErrorCode);
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/ustring.h b/Source/WebKit/mac/icu/unicode/ustring.h
deleted file mode 100644
index 2ee16e99c..000000000
--- a/Source/WebKit/mac/icu/unicode/ustring.h
+++ /dev/null
@@ -1,1696 +0,0 @@
-/*
-**********************************************************************
-* Copyright (C) 1998-2010, International Business Machines
-* Corporation and others. All Rights Reserved.
-**********************************************************************
-*
-* File ustring.h
-*
-* Modification History:
-*
-* Date Name Description
-* 12/07/98 bertrand Creation.
-******************************************************************************
-*/
-
-#ifndef USTRING_H
-#define USTRING_H
-
-#include "unicode/utypes.h"
-#include "unicode/putil.h"
-#include "unicode/uiter.h"
-
-/** Simple declaration for u_strToTitle() to avoid including unicode/ubrk.h. @stable ICU 2.1*/
-#ifndef UBRK_TYPEDEF_UBREAK_ITERATOR
-# define UBRK_TYPEDEF_UBREAK_ITERATOR
- typedef struct UBreakIterator UBreakIterator;
-#endif
-
-/**
- * \file
- * \brief C API: Unicode string handling functions
- *
- * These C API functions provide general Unicode string handling.
- *
- * Some functions are equivalent in name, signature, and behavior to the ANSI C <string.h>
- * functions. (For example, they do not check for bad arguments like NULL string pointers.)
- * In some cases, only the thread-safe variant of such a function is implemented here
- * (see u_strtok_r()).
- *
- * Other functions provide more Unicode-specific functionality like locale-specific
- * upper/lower-casing and string comparison in code point order.
- *
- * ICU uses 16-bit Unicode (UTF-16) in the form of arrays of UChar code units.
- * UTF-16 encodes each Unicode code point with either one or two UChar code units.
- * (This is the default form of Unicode, and a forward-compatible extension of the original,
- * fixed-width form that was known as UCS-2. UTF-16 superseded UCS-2 with Unicode 2.0
- * in 1996.)
- *
- * Some APIs accept a 32-bit UChar32 value for a single code point.
- *
- * ICU also handles 16-bit Unicode text with unpaired surrogates.
- * Such text is not well-formed UTF-16.
- * Code-point-related functions treat unpaired surrogates as surrogate code points,
- * i.e., as separate units.
- *
- * Although UTF-16 is a variable-width encoding form (like some legacy multi-byte encodings),
- * it is much more efficient even for random access because the code unit values
- * for single-unit characters vs. lead units vs. trail units are completely disjoint.
- * This means that it is easy to determine character (code point) boundaries from
- * random offsets in the string.
- *
- * Unicode (UTF-16) string processing is optimized for the single-unit case.
- * Although it is important to support supplementary characters
- * (which use pairs of lead/trail code units called "surrogates"),
- * their occurrence is rare. Almost all characters in modern use require only
- * a single UChar code unit (i.e., their code point values are <=0xffff).
- *
- * For more details see the User Guide Strings chapter (http://icu-project.org/userguide/strings.html).
- * For a discussion of the handling of unpaired surrogates see also
- * Jitterbug 2145 and its icu mailing list proposal on 2002-sep-18.
- */
-
-/**
- * \defgroup ustring_ustrlen String Length
- * \ingroup ustring_strlen
- */
-/*@{*/
-/**
- * Determine the length of an array of UChar.
- *
- * @param s The array of UChars, NULL (U+0000) terminated.
- * @return The number of UChars in <code>chars</code>, minus the terminator.
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_strlen(const UChar *s);
-/*@}*/
-
-/**
- * Count Unicode code points in the length UChar code units of the string.
- * A code point may occupy either one or two UChar code units.
- * Counting code points involves reading all code units.
- *
- * This functions is basically the inverse of the U16_FWD_N() macro (see utf.h).
- *
- * @param s The input string.
- * @param length The number of UChar code units to be checked, or -1 to count all
- * code points before the first NUL (U+0000).
- * @return The number of code points in the specified code units.
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_countChar32(const UChar *s, int32_t length);
-
-/**
- * Check if the string contains more Unicode code points than a certain number.
- * This is more efficient than counting all code points in the entire string
- * and comparing that number with a threshold.
- * This function may not need to scan the string at all if the length is known
- * (not -1 for NUL-termination) and falls within a certain range, and
- * never needs to count more than 'number+1' code points.
- * Logically equivalent to (u_countChar32(s, length)>number).
- * A Unicode code point may occupy either one or two UChar code units.
- *
- * @param s The input string.
- * @param length The length of the string, or -1 if it is NUL-terminated.
- * @param number The number of code points in the string is compared against
- * the 'number' parameter.
- * @return Boolean value for whether the string contains more Unicode code points
- * than 'number'. Same as (u_countChar32(s, length)>number).
- * @stable ICU 2.4
- */
-U_STABLE UBool U_EXPORT2
-u_strHasMoreChar32Than(const UChar *s, int32_t length, int32_t number);
-
-/**
- * Concatenate two ustrings. Appends a copy of <code>src</code>,
- * including the null terminator, to <code>dst</code>. The initial copied
- * character from <code>src</code> overwrites the null terminator in <code>dst</code>.
- *
- * @param dst The destination string.
- * @param src The source string.
- * @return A pointer to <code>dst</code>.
- * @stable ICU 2.0
- */
-U_STABLE UChar* U_EXPORT2
-u_strcat(UChar *dst,
- const UChar *src);
-
-/**
- * Concatenate two ustrings.
- * Appends at most <code>n</code> characters from <code>src</code> to <code>dst</code>.
- * Adds a terminating NUL.
- * If src is too long, then only <code>n-1</code> characters will be copied
- * before the terminating NUL.
- * If <code>n&lt;=0</code> then dst is not modified.
- *
- * @param dst The destination string.
- * @param src The source string.
- * @param n The maximum number of characters to append.
- * @return A pointer to <code>dst</code>.
- * @stable ICU 2.0
- */
-U_STABLE UChar* U_EXPORT2
-u_strncat(UChar *dst,
- const UChar *src,
- int32_t n);
-
-/**
- * Find the first occurrence of a substring in a string.
- * The substring is found at code point boundaries.
- * That means that if the substring begins with
- * a trail surrogate or ends with a lead surrogate,
- * then it is found only if these surrogates stand alone in the text.
- * Otherwise, the substring edge units would be matched against
- * halves of surrogate pairs.
- *
- * @param s The string to search (NUL-terminated).
- * @param substring The substring to find (NUL-terminated).
- * @return A pointer to the first occurrence of <code>substring</code> in <code>s</code>,
- * or <code>s</code> itself if the <code>substring</code> is empty,
- * or <code>NULL</code> if <code>substring</code> is not in <code>s</code>.
- * @stable ICU 2.0
- *
- * @see u_strrstr
- * @see u_strFindFirst
- * @see u_strFindLast
- */
-U_STABLE UChar * U_EXPORT2
-u_strstr(const UChar *s, const UChar *substring);
-
-/**
- * Find the first occurrence of a substring in a string.
- * The substring is found at code point boundaries.
- * That means that if the substring begins with
- * a trail surrogate or ends with a lead surrogate,
- * then it is found only if these surrogates stand alone in the text.
- * Otherwise, the substring edge units would be matched against
- * halves of surrogate pairs.
- *
- * @param s The string to search.
- * @param length The length of s (number of UChars), or -1 if it is NUL-terminated.
- * @param substring The substring to find (NUL-terminated).
- * @param subLength The length of substring (number of UChars), or -1 if it is NUL-terminated.
- * @return A pointer to the first occurrence of <code>substring</code> in <code>s</code>,
- * or <code>s</code> itself if the <code>substring</code> is empty,
- * or <code>NULL</code> if <code>substring</code> is not in <code>s</code>.
- * @stable ICU 2.4
- *
- * @see u_strstr
- * @see u_strFindLast
- */
-U_STABLE UChar * U_EXPORT2
-u_strFindFirst(const UChar *s, int32_t length, const UChar *substring, int32_t subLength);
-
-/**
- * Find the first occurrence of a BMP code point in a string.
- * A surrogate code point is found only if its match in the text is not
- * part of a surrogate pair.
- * A NUL character is found at the string terminator.
- *
- * @param s The string to search (NUL-terminated).
- * @param c The BMP code point to find.
- * @return A pointer to the first occurrence of <code>c</code> in <code>s</code>
- * or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.0
- *
- * @see u_strchr32
- * @see u_memchr
- * @see u_strstr
- * @see u_strFindFirst
- */
-U_STABLE UChar * U_EXPORT2
-u_strchr(const UChar *s, UChar c);
-
-/**
- * Find the first occurrence of a code point in a string.
- * A surrogate code point is found only if its match in the text is not
- * part of a surrogate pair.
- * A NUL character is found at the string terminator.
- *
- * @param s The string to search (NUL-terminated).
- * @param c The code point to find.
- * @return A pointer to the first occurrence of <code>c</code> in <code>s</code>
- * or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.0
- *
- * @see u_strchr
- * @see u_memchr32
- * @see u_strstr
- * @see u_strFindFirst
- */
-U_STABLE UChar * U_EXPORT2
-u_strchr32(const UChar *s, UChar32 c);
-
-/**
- * Find the last occurrence of a substring in a string.
- * The substring is found at code point boundaries.
- * That means that if the substring begins with
- * a trail surrogate or ends with a lead surrogate,
- * then it is found only if these surrogates stand alone in the text.
- * Otherwise, the substring edge units would be matched against
- * halves of surrogate pairs.
- *
- * @param s The string to search (NUL-terminated).
- * @param substring The substring to find (NUL-terminated).
- * @return A pointer to the last occurrence of <code>substring</code> in <code>s</code>,
- * or <code>s</code> itself if the <code>substring</code> is empty,
- * or <code>NULL</code> if <code>substring</code> is not in <code>s</code>.
- * @stable ICU 2.4
- *
- * @see u_strstr
- * @see u_strFindFirst
- * @see u_strFindLast
- */
-U_STABLE UChar * U_EXPORT2
-u_strrstr(const UChar *s, const UChar *substring);
-
-/**
- * Find the last occurrence of a substring in a string.
- * The substring is found at code point boundaries.
- * That means that if the substring begins with
- * a trail surrogate or ends with a lead surrogate,
- * then it is found only if these surrogates stand alone in the text.
- * Otherwise, the substring edge units would be matched against
- * halves of surrogate pairs.
- *
- * @param s The string to search.
- * @param length The length of s (number of UChars), or -1 if it is NUL-terminated.
- * @param substring The substring to find (NUL-terminated).
- * @param subLength The length of substring (number of UChars), or -1 if it is NUL-terminated.
- * @return A pointer to the last occurrence of <code>substring</code> in <code>s</code>,
- * or <code>s</code> itself if the <code>substring</code> is empty,
- * or <code>NULL</code> if <code>substring</code> is not in <code>s</code>.
- * @stable ICU 2.4
- *
- * @see u_strstr
- * @see u_strFindLast
- */
-U_STABLE UChar * U_EXPORT2
-u_strFindLast(const UChar *s, int32_t length, const UChar *substring, int32_t subLength);
-
-/**
- * Find the last occurrence of a BMP code point in a string.
- * A surrogate code point is found only if its match in the text is not
- * part of a surrogate pair.
- * A NUL character is found at the string terminator.
- *
- * @param s The string to search (NUL-terminated).
- * @param c The BMP code point to find.
- * @return A pointer to the last occurrence of <code>c</code> in <code>s</code>
- * or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.4
- *
- * @see u_strrchr32
- * @see u_memrchr
- * @see u_strrstr
- * @see u_strFindLast
- */
-U_STABLE UChar * U_EXPORT2
-u_strrchr(const UChar *s, UChar c);
-
-/**
- * Find the last occurrence of a code point in a string.
- * A surrogate code point is found only if its match in the text is not
- * part of a surrogate pair.
- * A NUL character is found at the string terminator.
- *
- * @param s The string to search (NUL-terminated).
- * @param c The code point to find.
- * @return A pointer to the last occurrence of <code>c</code> in <code>s</code>
- * or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.4
- *
- * @see u_strrchr
- * @see u_memchr32
- * @see u_strrstr
- * @see u_strFindLast
- */
-U_STABLE UChar * U_EXPORT2
-u_strrchr32(const UChar *s, UChar32 c);
-
-/**
- * Locates the first occurrence in the string <code>string</code> of any of the characters
- * in the string <code>matchSet</code>.
- * Works just like C's strpbrk but with Unicode.
- *
- * @param string The string in which to search, NUL-terminated.
- * @param matchSet A NUL-terminated string defining a set of code points
- * for which to search in the text string.
- * @return A pointer to the character in <code>string</code> that matches one of the
- * characters in <code>matchSet</code>, or NULL if no such character is found.
- * @stable ICU 2.0
- */
-U_STABLE UChar * U_EXPORT2
-u_strpbrk(const UChar *string, const UChar *matchSet);
-
-/**
- * Returns the number of consecutive characters in <code>string</code>,
- * beginning with the first, that do not occur somewhere in <code>matchSet</code>.
- * Works just like C's strcspn but with Unicode.
- *
- * @param string The string in which to search, NUL-terminated.
- * @param matchSet A NUL-terminated string defining a set of code points
- * for which to search in the text string.
- * @return The number of initial characters in <code>string</code> that do not
- * occur in <code>matchSet</code>.
- * @see u_strspn
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_strcspn(const UChar *string, const UChar *matchSet);
-
-/**
- * Returns the number of consecutive characters in <code>string</code>,
- * beginning with the first, that occur somewhere in <code>matchSet</code>.
- * Works just like C's strspn but with Unicode.
- *
- * @param string The string in which to search, NUL-terminated.
- * @param matchSet A NUL-terminated string defining a set of code points
- * for which to search in the text string.
- * @return The number of initial characters in <code>string</code> that do
- * occur in <code>matchSet</code>.
- * @see u_strcspn
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_strspn(const UChar *string, const UChar *matchSet);
-
-/**
- * The string tokenizer API allows an application to break a string into
- * tokens. Unlike strtok(), the saveState (the current pointer within the
- * original string) is maintained in saveState. In the first call, the
- * argument src is a pointer to the string. In subsequent calls to
- * return successive tokens of that string, src must be specified as
- * NULL. The value saveState is set by this function to maintain the
- * function's position within the string, and on each subsequent call
- * you must give this argument the same variable. This function does
- * handle surrogate pairs. This function is similar to the strtok_r()
- * the POSIX Threads Extension (1003.1c-1995) version.
- *
- * @param src String containing token(s). This string will be modified.
- * After the first call to u_strtok_r(), this argument must
- * be NULL to get to the next token.
- * @param delim Set of delimiter characters (Unicode code points).
- * @param saveState The current pointer within the original string,
- * which is set by this function. The saveState
- * parameter should the address of a local variable of type
- * UChar *. (i.e. defined "Uhar *myLocalSaveState" and use
- * &myLocalSaveState for this parameter).
- * @return A pointer to the next token found in src, or NULL
- * when there are no more tokens.
- * @stable ICU 2.0
- */
-U_STABLE UChar * U_EXPORT2
-u_strtok_r(UChar *src,
- const UChar *delim,
- UChar **saveState);
-
-/**
- * Compare two Unicode strings for bitwise equality (code unit order).
- *
- * @param s1 A string to compare.
- * @param s2 A string to compare.
- * @return 0 if <code>s1</code> and <code>s2</code> are bitwise equal; a negative
- * value if <code>s1</code> is bitwise less than <code>s2,</code>; a positive
- * value if <code>s1</code> is bitwise greater than <code>s2</code>.
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_strcmp(const UChar *s1,
- const UChar *s2);
-
-/**
- * Compare two Unicode strings in code point order.
- * See u_strCompare for details.
- *
- * @param s1 A string to compare.
- * @param s2 A string to compare.
- * @return a negative/zero/positive integer corresponding to whether
- * the first string is less than/equal to/greater than the second one
- * in code point order
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_strcmpCodePointOrder(const UChar *s1, const UChar *s2);
-
-/**
- * Compare two Unicode strings (binary order).
- *
- * The comparison can be done in code unit order or in code point order.
- * They differ only in UTF-16 when
- * comparing supplementary code points (U+10000..U+10ffff)
- * to BMP code points near the end of the BMP (i.e., U+e000..U+ffff).
- * In code unit order, high BMP code points sort after supplementary code points
- * because they are stored as pairs of surrogates which are at U+d800..U+dfff.
- *
- * This functions works with strings of different explicitly specified lengths
- * unlike the ANSI C-like u_strcmp() and u_memcmp() etc.
- * NUL-terminated strings are possible with length arguments of -1.
- *
- * @param s1 First source string.
- * @param length1 Length of first source string, or -1 if NUL-terminated.
- *
- * @param s2 Second source string.
- * @param length2 Length of second source string, or -1 if NUL-terminated.
- *
- * @param codePointOrder Choose between code unit order (FALSE)
- * and code point order (TRUE).
- *
- * @return <0 or 0 or >0 as usual for string comparisons
- *
- * @stable ICU 2.2
- */
-U_STABLE int32_t U_EXPORT2
-u_strCompare(const UChar *s1, int32_t length1,
- const UChar *s2, int32_t length2,
- UBool codePointOrder);
-
-/**
- * Compare two Unicode strings (binary order)
- * as presented by UCharIterator objects.
- * Works otherwise just like u_strCompare().
- *
- * Both iterators are reset to their start positions.
- * When the function returns, it is undefined where the iterators
- * have stopped.
- *
- * @param iter1 First source string iterator.
- * @param iter2 Second source string iterator.
- * @param codePointOrder Choose between code unit order (FALSE)
- * and code point order (TRUE).
- *
- * @return <0 or 0 or >0 as usual for string comparisons
- *
- * @see u_strCompare
- *
- * @stable ICU 2.6
- */
-U_STABLE int32_t U_EXPORT2
-u_strCompareIter(UCharIterator *iter1, UCharIterator *iter2, UBool codePointOrder);
-
-#ifndef U_COMPARE_CODE_POINT_ORDER
-/* see also unistr.h and unorm.h */
-/**
- * Option bit for u_strCaseCompare, u_strcasecmp, unorm_compare, etc:
- * Compare strings in code point order instead of code unit order.
- * @stable ICU 2.2
- */
-#define U_COMPARE_CODE_POINT_ORDER 0x8000
-#endif
-
-/**
- * Compare two strings case-insensitively using full case folding.
- * This is equivalent to
- * u_strCompare(u_strFoldCase(s1, options),
- * u_strFoldCase(s2, options),
- * (options&U_COMPARE_CODE_POINT_ORDER)!=0).
- *
- * The comparison can be done in UTF-16 code unit order or in code point order.
- * They differ only when comparing supplementary code points (U+10000..U+10ffff)
- * to BMP code points near the end of the BMP (i.e., U+e000..U+ffff).
- * In code unit order, high BMP code points sort after supplementary code points
- * because they are stored as pairs of surrogates which are at U+d800..U+dfff.
- *
- * This functions works with strings of different explicitly specified lengths
- * unlike the ANSI C-like u_strcmp() and u_memcmp() etc.
- * NUL-terminated strings are possible with length arguments of -1.
- *
- * @param s1 First source string.
- * @param length1 Length of first source string, or -1 if NUL-terminated.
- *
- * @param s2 Second source string.
- * @param length2 Length of second source string, or -1 if NUL-terminated.
- *
- * @param options A bit set of options:
- * - U_FOLD_CASE_DEFAULT or 0 is used for default options:
- * Comparison in code unit order with default case folding.
- *
- * - U_COMPARE_CODE_POINT_ORDER
- * Set to choose code point order instead of code unit order
- * (see u_strCompare for details).
- *
- * - U_FOLD_CASE_EXCLUDE_SPECIAL_I
- *
- * @param pErrorCode Must be a valid pointer to an error code value,
- * which must not indicate a failure before the function call.
- *
- * @return <0 or 0 or >0 as usual for string comparisons
- *
- * @stable ICU 2.2
- */
-U_STABLE int32_t U_EXPORT2
-u_strCaseCompare(const UChar *s1, int32_t length1,
- const UChar *s2, int32_t length2,
- uint32_t options,
- UErrorCode *pErrorCode);
-
-/**
- * Compare two ustrings for bitwise equality.
- * Compares at most <code>n</code> characters.
- *
- * @param ucs1 A string to compare.
- * @param ucs2 A string to compare.
- * @param n The maximum number of characters to compare.
- * @return 0 if <code>s1</code> and <code>s2</code> are bitwise equal; a negative
- * value if <code>s1</code> is bitwise less than <code>s2</code>; a positive
- * value if <code>s1</code> is bitwise greater than <code>s2</code>.
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_strncmp(const UChar *ucs1,
- const UChar *ucs2,
- int32_t n);
-
-/**
- * Compare two Unicode strings in code point order.
- * This is different in UTF-16 from u_strncmp() if supplementary characters are present.
- * For details, see u_strCompare().
- *
- * @param s1 A string to compare.
- * @param s2 A string to compare.
- * @param n The maximum number of characters to compare.
- * @return a negative/zero/positive integer corresponding to whether
- * the first string is less than/equal to/greater than the second one
- * in code point order
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_strncmpCodePointOrder(const UChar *s1, const UChar *s2, int32_t n);
-
-/**
- * Compare two strings case-insensitively using full case folding.
- * This is equivalent to u_strcmp(u_strFoldCase(s1, options), u_strFoldCase(s2, options)).
- *
- * @param s1 A string to compare.
- * @param s2 A string to compare.
- * @param options A bit set of options:
- * - U_FOLD_CASE_DEFAULT or 0 is used for default options:
- * Comparison in code unit order with default case folding.
- *
- * - U_COMPARE_CODE_POINT_ORDER
- * Set to choose code point order instead of code unit order
- * (see u_strCompare for details).
- *
- * - U_FOLD_CASE_EXCLUDE_SPECIAL_I
- *
- * @return A negative, zero, or positive integer indicating the comparison result.
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_strcasecmp(const UChar *s1, const UChar *s2, uint32_t options);
-
-/**
- * Compare two strings case-insensitively using full case folding.
- * This is equivalent to u_strcmp(u_strFoldCase(s1, at most n, options),
- * u_strFoldCase(s2, at most n, options)).
- *
- * @param s1 A string to compare.
- * @param s2 A string to compare.
- * @param n The maximum number of characters each string to case-fold and then compare.
- * @param options A bit set of options:
- * - U_FOLD_CASE_DEFAULT or 0 is used for default options:
- * Comparison in code unit order with default case folding.
- *
- * - U_COMPARE_CODE_POINT_ORDER
- * Set to choose code point order instead of code unit order
- * (see u_strCompare for details).
- *
- * - U_FOLD_CASE_EXCLUDE_SPECIAL_I
- *
- * @return A negative, zero, or positive integer indicating the comparison result.
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_strncasecmp(const UChar *s1, const UChar *s2, int32_t n, uint32_t options);
-
-/**
- * Compare two strings case-insensitively using full case folding.
- * This is equivalent to u_strcmp(u_strFoldCase(s1, n, options),
- * u_strFoldCase(s2, n, options)).
- *
- * @param s1 A string to compare.
- * @param s2 A string to compare.
- * @param length The number of characters in each string to case-fold and then compare.
- * @param options A bit set of options:
- * - U_FOLD_CASE_DEFAULT or 0 is used for default options:
- * Comparison in code unit order with default case folding.
- *
- * - U_COMPARE_CODE_POINT_ORDER
- * Set to choose code point order instead of code unit order
- * (see u_strCompare for details).
- *
- * - U_FOLD_CASE_EXCLUDE_SPECIAL_I
- *
- * @return A negative, zero, or positive integer indicating the comparison result.
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_memcasecmp(const UChar *s1, const UChar *s2, int32_t length, uint32_t options);
-
-/**
- * Copy a ustring. Adds a null terminator.
- *
- * @param dst The destination string.
- * @param src The source string.
- * @return A pointer to <code>dst</code>.
- * @stable ICU 2.0
- */
-U_STABLE UChar* U_EXPORT2
-u_strcpy(UChar *dst,
- const UChar *src);
-
-/**
- * Copy a ustring.
- * Copies at most <code>n</code> characters. The result will be null terminated
- * if the length of <code>src</code> is less than <code>n</code>.
- *
- * @param dst The destination string.
- * @param src The source string.
- * @param n The maximum number of characters to copy.
- * @return A pointer to <code>dst</code>.
- * @stable ICU 2.0
- */
-U_STABLE UChar* U_EXPORT2
-u_strncpy(UChar *dst,
- const UChar *src,
- int32_t n);
-
-#if !UCONFIG_NO_CONVERSION
-
-/**
- * Copy a byte string encoded in the default codepage to a ustring.
- * Adds a null terminator.
- * Performs a host byte to UChar conversion
- *
- * @param dst The destination string.
- * @param src The source string.
- * @return A pointer to <code>dst</code>.
- * @stable ICU 2.0
- */
-U_STABLE UChar* U_EXPORT2 u_uastrcpy(UChar *dst,
- const char *src );
-
-/**
- * Copy a byte string encoded in the default codepage to a ustring.
- * Copies at most <code>n</code> characters. The result will be null terminated
- * if the length of <code>src</code> is less than <code>n</code>.
- * Performs a host byte to UChar conversion
- *
- * @param dst The destination string.
- * @param src The source string.
- * @param n The maximum number of characters to copy.
- * @return A pointer to <code>dst</code>.
- * @stable ICU 2.0
- */
-U_STABLE UChar* U_EXPORT2 u_uastrncpy(UChar *dst,
- const char *src,
- int32_t n);
-
-/**
- * Copy ustring to a byte string encoded in the default codepage.
- * Adds a null terminator.
- * Performs a UChar to host byte conversion
- *
- * @param dst The destination string.
- * @param src The source string.
- * @return A pointer to <code>dst</code>.
- * @stable ICU 2.0
- */
-U_STABLE char* U_EXPORT2 u_austrcpy(char *dst,
- const UChar *src );
-
-/**
- * Copy ustring to a byte string encoded in the default codepage.
- * Copies at most <code>n</code> characters. The result will be null terminated
- * if the length of <code>src</code> is less than <code>n</code>.
- * Performs a UChar to host byte conversion
- *
- * @param dst The destination string.
- * @param src The source string.
- * @param n The maximum number of characters to copy.
- * @return A pointer to <code>dst</code>.
- * @stable ICU 2.0
- */
-U_STABLE char* U_EXPORT2 u_austrncpy(char *dst,
- const UChar *src,
- int32_t n );
-
-#endif
-
-/**
- * Synonym for memcpy(), but with UChars only.
- * @param dest The destination string
- * @param src The source string
- * @param count The number of characters to copy
- * @return A pointer to <code>dest</code>
- * @stable ICU 2.0
- */
-U_STABLE UChar* U_EXPORT2
-u_memcpy(UChar *dest, const UChar *src, int32_t count);
-
-/**
- * Synonym for memmove(), but with UChars only.
- * @param dest The destination string
- * @param src The source string
- * @param count The number of characters to move
- * @return A pointer to <code>dest</code>
- * @stable ICU 2.0
- */
-U_STABLE UChar* U_EXPORT2
-u_memmove(UChar *dest, const UChar *src, int32_t count);
-
-/**
- * Initialize <code>count</code> characters of <code>dest</code> to <code>c</code>.
- *
- * @param dest The destination string.
- * @param c The character to initialize the string.
- * @param count The maximum number of characters to set.
- * @return A pointer to <code>dest</code>.
- * @stable ICU 2.0
- */
-U_STABLE UChar* U_EXPORT2
-u_memset(UChar *dest, UChar c, int32_t count);
-
-/**
- * Compare the first <code>count</code> UChars of each buffer.
- *
- * @param buf1 The first string to compare.
- * @param buf2 The second string to compare.
- * @param count The maximum number of UChars to compare.
- * @return When buf1 < buf2, a negative number is returned.
- * When buf1 == buf2, 0 is returned.
- * When buf1 > buf2, a positive number is returned.
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_memcmp(const UChar *buf1, const UChar *buf2, int32_t count);
-
-/**
- * Compare two Unicode strings in code point order.
- * This is different in UTF-16 from u_memcmp() if supplementary characters are present.
- * For details, see u_strCompare().
- *
- * @param s1 A string to compare.
- * @param s2 A string to compare.
- * @param count The maximum number of characters to compare.
- * @return a negative/zero/positive integer corresponding to whether
- * the first string is less than/equal to/greater than the second one
- * in code point order
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_memcmpCodePointOrder(const UChar *s1, const UChar *s2, int32_t count);
-
-/**
- * Find the first occurrence of a BMP code point in a string.
- * A surrogate code point is found only if its match in the text is not
- * part of a surrogate pair.
- * A NUL character is found at the string terminator.
- *
- * @param s The string to search (contains <code>count</code> UChars).
- * @param c The BMP code point to find.
- * @param count The length of the string.
- * @return A pointer to the first occurrence of <code>c</code> in <code>s</code>
- * or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.0
- *
- * @see u_strchr
- * @see u_memchr32
- * @see u_strFindFirst
- */
-U_STABLE UChar* U_EXPORT2
-u_memchr(const UChar *s, UChar c, int32_t count);
-
-/**
- * Find the first occurrence of a code point in a string.
- * A surrogate code point is found only if its match in the text is not
- * part of a surrogate pair.
- * A NUL character is found at the string terminator.
- *
- * @param s The string to search (contains <code>count</code> UChars).
- * @param c The code point to find.
- * @param count The length of the string.
- * @return A pointer to the first occurrence of <code>c</code> in <code>s</code>
- * or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.0
- *
- * @see u_strchr32
- * @see u_memchr
- * @see u_strFindFirst
- */
-U_STABLE UChar* U_EXPORT2
-u_memchr32(const UChar *s, UChar32 c, int32_t count);
-
-/**
- * Find the last occurrence of a BMP code point in a string.
- * A surrogate code point is found only if its match in the text is not
- * part of a surrogate pair.
- * A NUL character is found at the string terminator.
- *
- * @param s The string to search (contains <code>count</code> UChars).
- * @param c The BMP code point to find.
- * @param count The length of the string.
- * @return A pointer to the last occurrence of <code>c</code> in <code>s</code>
- * or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.4
- *
- * @see u_strrchr
- * @see u_memrchr32
- * @see u_strFindLast
- */
-U_STABLE UChar* U_EXPORT2
-u_memrchr(const UChar *s, UChar c, int32_t count);
-
-/**
- * Find the last occurrence of a code point in a string.
- * A surrogate code point is found only if its match in the text is not
- * part of a surrogate pair.
- * A NUL character is found at the string terminator.
- *
- * @param s The string to search (contains <code>count</code> UChars).
- * @param c The code point to find.
- * @param count The length of the string.
- * @return A pointer to the last occurrence of <code>c</code> in <code>s</code>
- * or <code>NULL</code> if <code>c</code> is not in <code>s</code>.
- * @stable ICU 2.4
- *
- * @see u_strrchr32
- * @see u_memrchr
- * @see u_strFindLast
- */
-U_STABLE UChar* U_EXPORT2
-u_memrchr32(const UChar *s, UChar32 c, int32_t count);
-
-/**
- * Unicode String literals in C.
- * We need one macro to declare a variable for the string
- * and to statically preinitialize it if possible,
- * and a second macro to dynamically intialize such a string variable if necessary.
- *
- * The macros are defined for maximum performance.
- * They work only for strings that contain "invariant characters", i.e.,
- * only latin letters, digits, and some punctuation.
- * See utypes.h for details.
- *
- * A pair of macros for a single string must be used with the same
- * parameters.
- * The string parameter must be a C string literal.
- * The length of the string, not including the terminating
- * <code>NUL</code>, must be specified as a constant.
- * The U_STRING_DECL macro should be invoked exactly once for one
- * such string variable before it is used.
- *
- * Usage:
- * <pre>
- * U_STRING_DECL(ustringVar1, "Quick-Fox 2", 11);
- * U_STRING_DECL(ustringVar2, "jumps 5%", 8);
- * static UBool didInit=FALSE;
- *
- * int32_t function() {
- * if(!didInit) {
- * U_STRING_INIT(ustringVar1, "Quick-Fox 2", 11);
- * U_STRING_INIT(ustringVar2, "jumps 5%", 8);
- * didInit=TRUE;
- * }
- * return u_strcmp(ustringVar1, ustringVar2);
- * }
- * </pre>
- *
- * Note that the macros will NOT consistently work if their argument is another #define.
- * The following will not work on all platforms, don't use it.
- *
- * <pre>
- * #define GLUCK "Mr. Gluck"
- * U_STRING_DECL(var, GLUCK, 9)
- * U_STRING_INIT(var, GLUCK, 9)
- * </pre>
- *
- * Instead, use the string literal "Mr. Gluck" as the argument to both macro
- * calls.
- *
- *
- * @stable ICU 2.0
- */
-#if defined(U_DECLARE_UTF16)
-# define U_STRING_DECL(var, cs, length) static const UChar var[(length)+1]=U_DECLARE_UTF16(cs)
- /**@stable ICU 2.0 */
-# define U_STRING_INIT(var, cs, length)
-#elif U_SIZEOF_WCHAR_T==U_SIZEOF_UCHAR && (U_CHARSET_FAMILY==U_ASCII_FAMILY || (U_SIZEOF_UCHAR == 2 && defined(U_WCHAR_IS_UTF16)))
-# define U_STRING_DECL(var, cs, length) static const UChar var[(length)+1]=L ## cs
- /**@stable ICU 2.0 */
-# define U_STRING_INIT(var, cs, length)
-#elif U_SIZEOF_UCHAR==1 && U_CHARSET_FAMILY==U_ASCII_FAMILY
-# define U_STRING_DECL(var, cs, length) static const UChar var[(length)+1]={ (const UChar *)cs }
- /**@stable ICU 2.0 */
-# define U_STRING_INIT(var, cs, length)
-#else
-# define U_STRING_DECL(var, cs, length) static UChar var[(length)+1]
- /**@stable ICU 2.0 */
-# define U_STRING_INIT(var, cs, length) u_charsToUChars(cs, var, length+1)
-#endif
-
-/**
- * Unescape a string of characters and write the resulting
- * Unicode characters to the destination buffer. The following escape
- * sequences are recognized:
- *
- * \\uhhhh 4 hex digits; h in [0-9A-Fa-f]
- * \\Uhhhhhhhh 8 hex digits
- * \\xhh 1-2 hex digits
- * \\x{h...} 1-8 hex digits
- * \\ooo 1-3 octal digits; o in [0-7]
- * \\cX control-X; X is masked with 0x1F
- *
- * as well as the standard ANSI C escapes:
- *
- * \\a => U+0007, \\b => U+0008, \\t => U+0009, \\n => U+000A,
- * \\v => U+000B, \\f => U+000C, \\r => U+000D, \\e => U+001B,
- * \\&quot; => U+0022, \\' => U+0027, \\? => U+003F, \\\\ => U+005C
- *
- * Anything else following a backslash is generically escaped. For
- * example, "[a\\-z]" returns "[a-z]".
- *
- * If an escape sequence is ill-formed, this method returns an empty
- * string. An example of an ill-formed sequence is "\\u" followed by
- * fewer than 4 hex digits.
- *
- * The above characters are recognized in the compiler's codepage,
- * that is, they are coded as 'u', '\\', etc. Characters that are
- * not parts of escape sequences are converted using u_charsToUChars().
- *
- * This function is similar to UnicodeString::unescape() but not
- * identical to it. The latter takes a source UnicodeString, so it
- * does escape recognition but no conversion.
- *
- * @param src a zero-terminated string of invariant characters
- * @param dest pointer to buffer to receive converted and unescaped
- * text and, if there is room, a zero terminator. May be NULL for
- * preflighting, in which case no UChars will be written, but the
- * return value will still be valid. On error, an empty string is
- * stored here (if possible).
- * @param destCapacity the number of UChars that may be written at
- * dest. Ignored if dest == NULL.
- * @return the length of unescaped string.
- * @see u_unescapeAt
- * @see UnicodeString#unescape()
- * @see UnicodeString#unescapeAt()
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_unescape(const char *src,
- UChar *dest, int32_t destCapacity);
-
-U_CDECL_BEGIN
-/**
- * Callback function for u_unescapeAt() that returns a character of
- * the source text given an offset and a context pointer. The context
- * pointer will be whatever is passed into u_unescapeAt().
- *
- * @param offset pointer to the offset that will be passed to u_unescapeAt().
- * @param context an opaque pointer passed directly into u_unescapeAt()
- * @return the character represented by the escape sequence at
- * offset
- * @see u_unescapeAt
- * @stable ICU 2.0
- */
-typedef UChar (U_CALLCONV *UNESCAPE_CHAR_AT)(int32_t offset, void *context);
-U_CDECL_END
-
-/**
- * Unescape a single sequence. The character at offset-1 is assumed
- * (without checking) to be a backslash. This method takes a callback
- * pointer to a function that returns the UChar at a given offset. By
- * varying this callback, ICU functions are able to unescape char*
- * strings, UnicodeString objects, and UFILE pointers.
- *
- * If offset is out of range, or if the escape sequence is ill-formed,
- * (UChar32)0xFFFFFFFF is returned. See documentation of u_unescape()
- * for a list of recognized sequences.
- *
- * @param charAt callback function that returns a UChar of the source
- * text given an offset and a context pointer.
- * @param offset pointer to the offset that will be passed to charAt.
- * The offset value will be updated upon return to point after the
- * last parsed character of the escape sequence. On error the offset
- * is unchanged.
- * @param length the number of characters in the source text. The
- * last character of the source text is considered to be at offset
- * length-1.
- * @param context an opaque pointer passed directly into charAt.
- * @return the character represented by the escape sequence at
- * offset, or (UChar32)0xFFFFFFFF on error.
- * @see u_unescape()
- * @see UnicodeString#unescape()
- * @see UnicodeString#unescapeAt()
- * @stable ICU 2.0
- */
-U_STABLE UChar32 U_EXPORT2
-u_unescapeAt(UNESCAPE_CHAR_AT charAt,
- int32_t *offset,
- int32_t length,
- void *context);
-
-/**
- * Uppercase the characters in a string.
- * Casing is locale-dependent and context-sensitive.
- * The result may be longer or shorter than the original.
- * The source string and the destination buffer are allowed to overlap.
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of UChars). If it is 0, then
- * dest may be NULL and the function will only return the length of the result
- * without writing any of the result string.
- * @param src The original string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param locale The locale to consider, or "" for the root locale or NULL for the default locale.
- * @param pErrorCode Must be a valid pointer to an error code value,
- * which must not indicate a failure before the function call.
- * @return The length of the result string. It may be greater than destCapacity. In that case,
- * only some of the result was written to the destination buffer.
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_strToUpper(UChar *dest, int32_t destCapacity,
- const UChar *src, int32_t srcLength,
- const char *locale,
- UErrorCode *pErrorCode);
-
-/**
- * Lowercase the characters in a string.
- * Casing is locale-dependent and context-sensitive.
- * The result may be longer or shorter than the original.
- * The source string and the destination buffer are allowed to overlap.
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of UChars). If it is 0, then
- * dest may be NULL and the function will only return the length of the result
- * without writing any of the result string.
- * @param src The original string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param locale The locale to consider, or "" for the root locale or NULL for the default locale.
- * @param pErrorCode Must be a valid pointer to an error code value,
- * which must not indicate a failure before the function call.
- * @return The length of the result string. It may be greater than destCapacity. In that case,
- * only some of the result was written to the destination buffer.
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_strToLower(UChar *dest, int32_t destCapacity,
- const UChar *src, int32_t srcLength,
- const char *locale,
- UErrorCode *pErrorCode);
-
-#if !UCONFIG_NO_BREAK_ITERATION
-
-/**
- * Titlecase a string.
- * Casing is locale-dependent and context-sensitive.
- * Titlecasing uses a break iterator to find the first characters of words
- * that are to be titlecased. It titlecases those characters and lowercases
- * all others.
- *
- * The titlecase break iterator can be provided to customize for arbitrary
- * styles, using rules and dictionaries beyond the standard iterators.
- * It may be more efficient to always provide an iterator to avoid
- * opening and closing one for each string.
- * The standard titlecase iterator for the root locale implements the
- * algorithm of Unicode TR 21.
- *
- * This function uses only the setText(), first() and next() methods of the
- * provided break iterator.
- *
- * The result may be longer or shorter than the original.
- * The source string and the destination buffer are allowed to overlap.
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of UChars). If it is 0, then
- * dest may be NULL and the function will only return the length of the result
- * without writing any of the result string.
- * @param src The original string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param titleIter A break iterator to find the first characters of words
- * that are to be titlecased.
- * If none is provided (NULL), then a standard titlecase
- * break iterator is opened.
- * @param locale The locale to consider, or "" for the root locale or NULL for the default locale.
- * @param pErrorCode Must be a valid pointer to an error code value,
- * which must not indicate a failure before the function call.
- * @return The length of the result string. It may be greater than destCapacity. In that case,
- * only some of the result was written to the destination buffer.
- * @stable ICU 2.1
- */
-U_STABLE int32_t U_EXPORT2
-u_strToTitle(UChar *dest, int32_t destCapacity,
- const UChar *src, int32_t srcLength,
- UBreakIterator *titleIter,
- const char *locale,
- UErrorCode *pErrorCode);
-
-#endif
-
-/**
- * Case-fold the characters in a string.
- * Case-folding is locale-independent and not context-sensitive,
- * but there is an option for whether to include or exclude mappings for dotted I
- * and dotless i that are marked with 'I' in CaseFolding.txt.
- * The result may be longer or shorter than the original.
- * The source string and the destination buffer are allowed to overlap.
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of UChars). If it is 0, then
- * dest may be NULL and the function will only return the length of the result
- * without writing any of the result string.
- * @param src The original string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param options Either U_FOLD_CASE_DEFAULT or U_FOLD_CASE_EXCLUDE_SPECIAL_I
- * @param pErrorCode Must be a valid pointer to an error code value,
- * which must not indicate a failure before the function call.
- * @return The length of the result string. It may be greater than destCapacity. In that case,
- * only some of the result was written to the destination buffer.
- * @stable ICU 2.0
- */
-U_STABLE int32_t U_EXPORT2
-u_strFoldCase(UChar *dest, int32_t destCapacity,
- const UChar *src, int32_t srcLength,
- uint32_t options,
- UErrorCode *pErrorCode);
-
-#if defined(U_WCHAR_IS_UTF16) || defined(U_WCHAR_IS_UTF32) || !UCONFIG_NO_CONVERSION
-/**
- * Convert a UTF-16 string to a wchar_t string.
- * If it is known at compile time that wchar_t strings are in UTF-16 or UTF-32, then
- * this function simply calls the fast, dedicated function for that.
- * Otherwise, two conversions UTF-16 -> default charset -> wchar_t* are performed.
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of wchar_t's). If it is 0, then
- * dest may be NULL and the function will only return the length of the
- * result without writing any of the result string (pre-flighting).
- * @param pDestLength A pointer to receive the number of units written to the destination. If
- * pDestLength!=NULL then *pDestLength is always set to the
- * number of output units corresponding to the transformation of
- * all the input units, even in case of a buffer overflow.
- * @param src The original source string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param pErrorCode Must be a valid pointer to an error code value,
- * which must not indicate a failure before the function call.
- * @return The pointer to destination buffer.
- * @stable ICU 2.0
- */
-U_STABLE wchar_t* U_EXPORT2
-u_strToWCS(wchar_t *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const UChar *src,
- int32_t srcLength,
- UErrorCode *pErrorCode);
-/**
- * Convert a wchar_t string to UTF-16.
- * If it is known at compile time that wchar_t strings are in UTF-16 or UTF-32, then
- * this function simply calls the fast, dedicated function for that.
- * Otherwise, two conversions wchar_t* -> default charset -> UTF-16 are performed.
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of UChars). If it is 0, then
- * dest may be NULL and the function will only return the length of the
- * result without writing any of the result string (pre-flighting).
- * @param pDestLength A pointer to receive the number of units written to the destination. If
- * pDestLength!=NULL then *pDestLength is always set to the
- * number of output units corresponding to the transformation of
- * all the input units, even in case of a buffer overflow.
- * @param src The original source string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param pErrorCode Must be a valid pointer to an error code value,
- * which must not indicate a failure before the function call.
- * @return The pointer to destination buffer.
- * @stable ICU 2.0
- */
-U_STABLE UChar* U_EXPORT2
-u_strFromWCS(UChar *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const wchar_t *src,
- int32_t srcLength,
- UErrorCode *pErrorCode);
-#endif /* defined(U_WCHAR_IS_UTF16) || defined(U_WCHAR_IS_UTF32) || !UCONFIG_NO_CONVERSION */
-
-/**
- * Convert a UTF-16 string to UTF-8.
- * If the input string is not well-formed, then the U_INVALID_CHAR_FOUND error code is set.
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of chars). If it is 0, then
- * dest may be NULL and the function will only return the length of the
- * result without writing any of the result string (pre-flighting).
- * @param pDestLength A pointer to receive the number of units written to the destination. If
- * pDestLength!=NULL then *pDestLength is always set to the
- * number of output units corresponding to the transformation of
- * all the input units, even in case of a buffer overflow.
- * @param src The original source string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param pErrorCode Must be a valid pointer to an error code value,
- * which must not indicate a failure before the function call.
- * @return The pointer to destination buffer.
- * @stable ICU 2.0
- * @see u_strToUTF8WithSub
- * @see u_strFromUTF8
- */
-U_STABLE char* U_EXPORT2
-u_strToUTF8(char *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const UChar *src,
- int32_t srcLength,
- UErrorCode *pErrorCode);
-
-/**
- * Convert a UTF-8 string to UTF-16.
- * If the input string is not well-formed, then the U_INVALID_CHAR_FOUND error code is set.
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of UChars). If it is 0, then
- * dest may be NULL and the function will only return the length of the
- * result without writing any of the result string (pre-flighting).
- * @param pDestLength A pointer to receive the number of units written to the destination. If
- * pDestLength!=NULL then *pDestLength is always set to the
- * number of output units corresponding to the transformation of
- * all the input units, even in case of a buffer overflow.
- * @param src The original source string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param pErrorCode Must be a valid pointer to an error code value,
- * which must not indicate a failure before the function call.
- * @return The pointer to destination buffer.
- * @stable ICU 2.0
- * @see u_strFromUTF8WithSub
- * @see u_strFromUTF8Lenient
- */
-U_STABLE UChar* U_EXPORT2
-u_strFromUTF8(UChar *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const char *src,
- int32_t srcLength,
- UErrorCode *pErrorCode);
-
-/**
- * Convert a UTF-16 string to UTF-8.
- * If the input string is not well-formed, then the U_INVALID_CHAR_FOUND error code is set.
- *
- * Same as u_strToUTF8() except for the additional subchar which is output for
- * illegal input sequences, instead of stopping with the U_INVALID_CHAR_FOUND error code.
- * With subchar==U_SENTINEL, this function behaves exactly like u_strToUTF8().
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of chars). If it is 0, then
- * dest may be NULL and the function will only return the length of the
- * result without writing any of the result string (pre-flighting).
- * @param pDestLength A pointer to receive the number of units written to the destination. If
- * pDestLength!=NULL then *pDestLength is always set to the
- * number of output units corresponding to the transformation of
- * all the input units, even in case of a buffer overflow.
- * @param src The original source string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param subchar The substitution character to use in place of an illegal input sequence,
- * or U_SENTINEL if the function is to return with U_INVALID_CHAR_FOUND instead.
- * A substitution character can be any valid Unicode code point (up to U+10FFFF)
- * except for surrogate code points (U+D800..U+DFFF).
- * The recommended value is U+FFFD "REPLACEMENT CHARACTER".
- * @param pNumSubstitutions Output parameter receiving the number of substitutions if subchar>=0.
- * Set to 0 if no substitutions occur or subchar<0.
- * pNumSubstitutions can be NULL.
- * @param pErrorCode Pointer to a standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return The pointer to destination buffer.
- * @see u_strToUTF8
- * @see u_strFromUTF8WithSub
- * @stable ICU 3.6
- */
-U_STABLE char* U_EXPORT2
-u_strToUTF8WithSub(char *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const UChar *src,
- int32_t srcLength,
- UChar32 subchar, int32_t *pNumSubstitutions,
- UErrorCode *pErrorCode);
-
-/**
- * Convert a UTF-8 string to UTF-16.
- * If the input string is not well-formed, then the U_INVALID_CHAR_FOUND error code is set.
- *
- * Same as u_strFromUTF8() except for the additional subchar which is output for
- * illegal input sequences, instead of stopping with the U_INVALID_CHAR_FOUND error code.
- * With subchar==U_SENTINEL, this function behaves exactly like u_strFromUTF8().
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of UChars). If it is 0, then
- * dest may be NULL and the function will only return the length of the
- * result without writing any of the result string (pre-flighting).
- * @param pDestLength A pointer to receive the number of units written to the destination. If
- * pDestLength!=NULL then *pDestLength is always set to the
- * number of output units corresponding to the transformation of
- * all the input units, even in case of a buffer overflow.
- * @param src The original source string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param subchar The substitution character to use in place of an illegal input sequence,
- * or U_SENTINEL if the function is to return with U_INVALID_CHAR_FOUND instead.
- * A substitution character can be any valid Unicode code point (up to U+10FFFF)
- * except for surrogate code points (U+D800..U+DFFF).
- * The recommended value is U+FFFD "REPLACEMENT CHARACTER".
- * @param pNumSubstitutions Output parameter receiving the number of substitutions if subchar>=0.
- * Set to 0 if no substitutions occur or subchar<0.
- * pNumSubstitutions can be NULL.
- * @param pErrorCode Pointer to a standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return The pointer to destination buffer.
- * @see u_strFromUTF8
- * @see u_strFromUTF8Lenient
- * @see u_strToUTF8WithSub
- * @stable ICU 3.6
- */
-U_STABLE UChar* U_EXPORT2
-u_strFromUTF8WithSub(UChar *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const char *src,
- int32_t srcLength,
- UChar32 subchar, int32_t *pNumSubstitutions,
- UErrorCode *pErrorCode);
-
-/**
- * Convert a UTF-8 string to UTF-16.
- *
- * Same as u_strFromUTF8() except that this function is designed to be very fast,
- * which it achieves by being lenient about malformed UTF-8 sequences.
- * This function is intended for use in environments where UTF-8 text is
- * expected to be well-formed.
- *
- * Its semantics are:
- * - Well-formed UTF-8 text is correctly converted to well-formed UTF-16 text.
- * - The function will not read beyond the input string, nor write beyond
- * the destCapacity.
- * - Malformed UTF-8 results in "garbage" 16-bit Unicode strings which may not
- * be well-formed UTF-16.
- * The function will resynchronize to valid code point boundaries
- * within a small number of code points after an illegal sequence.
- * - Non-shortest forms are not detected and will result in "spoofing" output.
- *
- * For further performance improvement, if srcLength is given (>=0),
- * then it must be destCapacity>=srcLength.
- *
- * There is no inverse u_strToUTF8Lenient() function because there is practically
- * no performance gain from not checking that a UTF-16 string is well-formed.
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of UChars). If it is 0, then
- * dest may be NULL and the function will only return the length of the
- * result without writing any of the result string (pre-flighting).
- * Unlike for other ICU functions, if srcLength>=0 then it
- * must be destCapacity>=srcLength.
- * @param pDestLength A pointer to receive the number of units written to the destination. If
- * pDestLength!=NULL then *pDestLength is always set to the
- * number of output units corresponding to the transformation of
- * all the input units, even in case of a buffer overflow.
- * Unlike for other ICU functions, if srcLength>=0 but
- * destCapacity<srcLength, then *pDestLength will be set to srcLength
- * (and U_BUFFER_OVERFLOW_ERROR will be set)
- * regardless of the actual result length.
- * @param src The original source string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param pErrorCode Pointer to a standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return The pointer to destination buffer.
- * @see u_strFromUTF8
- * @see u_strFromUTF8WithSub
- * @see u_strToUTF8WithSub
- * @stable ICU 3.6
- */
-U_STABLE UChar * U_EXPORT2
-u_strFromUTF8Lenient(UChar *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const char *src,
- int32_t srcLength,
- UErrorCode *pErrorCode);
-
-/**
- * Convert a UTF-16 string to UTF-32.
- * If the input string is not well-formed, then the U_INVALID_CHAR_FOUND error code is set.
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of UChar32s). If it is 0, then
- * dest may be NULL and the function will only return the length of the
- * result without writing any of the result string (pre-flighting).
- * @param pDestLength A pointer to receive the number of units written to the destination. If
- * pDestLength!=NULL then *pDestLength is always set to the
- * number of output units corresponding to the transformation of
- * all the input units, even in case of a buffer overflow.
- * @param src The original source string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param pErrorCode Must be a valid pointer to an error code value,
- * which must not indicate a failure before the function call.
- * @return The pointer to destination buffer.
- * @see u_strToUTF32WithSub
- * @see u_strFromUTF32
- * @stable ICU 2.0
- */
-U_STABLE UChar32* U_EXPORT2
-u_strToUTF32(UChar32 *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const UChar *src,
- int32_t srcLength,
- UErrorCode *pErrorCode);
-
-/**
- * Convert a UTF-32 string to UTF-16.
- * If the input string is not well-formed, then the U_INVALID_CHAR_FOUND error code is set.
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of UChars). If it is 0, then
- * dest may be NULL and the function will only return the length of the
- * result without writing any of the result string (pre-flighting).
- * @param pDestLength A pointer to receive the number of units written to the destination. If
- * pDestLength!=NULL then *pDestLength is always set to the
- * number of output units corresponding to the transformation of
- * all the input units, even in case of a buffer overflow.
- * @param src The original source string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param pErrorCode Must be a valid pointer to an error code value,
- * which must not indicate a failure before the function call.
- * @return The pointer to destination buffer.
- * @see u_strFromUTF32WithSub
- * @see u_strToUTF32
- * @stable ICU 2.0
- */
-U_STABLE UChar* U_EXPORT2
-u_strFromUTF32(UChar *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const UChar32 *src,
- int32_t srcLength,
- UErrorCode *pErrorCode);
-
-/**
- * Convert a UTF-16 string to UTF-32.
- * If the input string is not well-formed, then the U_INVALID_CHAR_FOUND error code is set.
- *
- * Same as u_strToUTF32() except for the additional subchar which is output for
- * illegal input sequences, instead of stopping with the U_INVALID_CHAR_FOUND error code.
- * With subchar==U_SENTINEL, this function behaves exactly like u_strToUTF32().
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of UChar32s). If it is 0, then
- * dest may be NULL and the function will only return the length of the
- * result without writing any of the result string (pre-flighting).
- * @param pDestLength A pointer to receive the number of units written to the destination. If
- * pDestLength!=NULL then *pDestLength is always set to the
- * number of output units corresponding to the transformation of
- * all the input units, even in case of a buffer overflow.
- * @param src The original source string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param subchar The substitution character to use in place of an illegal input sequence,
- * or U_SENTINEL if the function is to return with U_INVALID_CHAR_FOUND instead.
- * A substitution character can be any valid Unicode code point (up to U+10FFFF)
- * except for surrogate code points (U+D800..U+DFFF).
- * The recommended value is U+FFFD "REPLACEMENT CHARACTER".
- * @param pNumSubstitutions Output parameter receiving the number of substitutions if subchar>=0.
- * Set to 0 if no substitutions occur or subchar<0.
- * pNumSubstitutions can be NULL.
- * @param pErrorCode Pointer to a standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return The pointer to destination buffer.
- * @see u_strToUTF32
- * @see u_strFromUTF32WithSub
- * @stable ICU 4.2
- */
-U_STABLE UChar32* U_EXPORT2
-u_strToUTF32WithSub(UChar32 *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const UChar *src,
- int32_t srcLength,
- UChar32 subchar, int32_t *pNumSubstitutions,
- UErrorCode *pErrorCode);
-
-/**
- * Convert a UTF-32 string to UTF-16.
- * If the input string is not well-formed, then the U_INVALID_CHAR_FOUND error code is set.
- *
- * Same as u_strFromUTF32() except for the additional subchar which is output for
- * illegal input sequences, instead of stopping with the U_INVALID_CHAR_FOUND error code.
- * With subchar==U_SENTINEL, this function behaves exactly like u_strFromUTF32().
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of UChars). If it is 0, then
- * dest may be NULL and the function will only return the length of the
- * result without writing any of the result string (pre-flighting).
- * @param pDestLength A pointer to receive the number of units written to the destination. If
- * pDestLength!=NULL then *pDestLength is always set to the
- * number of output units corresponding to the transformation of
- * all the input units, even in case of a buffer overflow.
- * @param src The original source string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param subchar The substitution character to use in place of an illegal input sequence,
- * or U_SENTINEL if the function is to return with U_INVALID_CHAR_FOUND instead.
- * A substitution character can be any valid Unicode code point (up to U+10FFFF)
- * except for surrogate code points (U+D800..U+DFFF).
- * The recommended value is U+FFFD "REPLACEMENT CHARACTER".
- * @param pNumSubstitutions Output parameter receiving the number of substitutions if subchar>=0.
- * Set to 0 if no substitutions occur or subchar<0.
- * pNumSubstitutions can be NULL.
- * @param pErrorCode Pointer to a standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return The pointer to destination buffer.
- * @see u_strFromUTF32
- * @see u_strToUTF32WithSub
- * @stable ICU 4.2
- */
-U_STABLE UChar* U_EXPORT2
-u_strFromUTF32WithSub(UChar *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const UChar32 *src,
- int32_t srcLength,
- UChar32 subchar, int32_t *pNumSubstitutions,
- UErrorCode *pErrorCode);
-
-/**
- * Convert a 16-bit Unicode string to Java Modified UTF-8.
- * See http://java.sun.com/javase/6/docs/api/java/io/DataInput.html#modified-utf-8
- *
- * This function behaves according to the documentation for Java DataOutput.writeUTF()
- * except that it does not encode the output length in the destination buffer
- * and does not have an output length restriction.
- * See http://java.sun.com/javase/6/docs/api/java/io/DataOutput.html#writeUTF(java.lang.String)
- *
- * The input string need not be well-formed UTF-16.
- * (Therefore there is no subchar parameter.)
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of chars). If it is 0, then
- * dest may be NULL and the function will only return the length of the
- * result without writing any of the result string (pre-flighting).
- * @param pDestLength A pointer to receive the number of units written to the destination. If
- * pDestLength!=NULL then *pDestLength is always set to the
- * number of output units corresponding to the transformation of
- * all the input units, even in case of a buffer overflow.
- * @param src The original source string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param pErrorCode Pointer to a standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return The pointer to destination buffer.
- * @stable ICU 4.4
- * @see u_strToUTF8WithSub
- * @see u_strFromJavaModifiedUTF8WithSub
- */
-U_STABLE char* U_EXPORT2
-u_strToJavaModifiedUTF8(
- char *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const UChar *src,
- int32_t srcLength,
- UErrorCode *pErrorCode);
-
-/**
- * Convert a Java Modified UTF-8 string to a 16-bit Unicode string.
- * If the input string is not well-formed, then the U_INVALID_CHAR_FOUND error code is set.
- *
- * This function behaves according to the documentation for Java DataInput.readUTF()
- * except that it takes a length parameter rather than
- * interpreting the first two input bytes as the length.
- * See http://java.sun.com/javase/6/docs/api/java/io/DataInput.html#readUTF()
- *
- * The output string may not be well-formed UTF-16.
- *
- * @param dest A buffer for the result string. The result will be zero-terminated if
- * the buffer is large enough.
- * @param destCapacity The size of the buffer (number of UChars). If it is 0, then
- * dest may be NULL and the function will only return the length of the
- * result without writing any of the result string (pre-flighting).
- * @param pDestLength A pointer to receive the number of units written to the destination. If
- * pDestLength!=NULL then *pDestLength is always set to the
- * number of output units corresponding to the transformation of
- * all the input units, even in case of a buffer overflow.
- * @param src The original source string
- * @param srcLength The length of the original string. If -1, then src must be zero-terminated.
- * @param subchar The substitution character to use in place of an illegal input sequence,
- * or U_SENTINEL if the function is to return with U_INVALID_CHAR_FOUND instead.
- * A substitution character can be any valid Unicode code point (up to U+10FFFF)
- * except for surrogate code points (U+D800..U+DFFF).
- * The recommended value is U+FFFD "REPLACEMENT CHARACTER".
- * @param pNumSubstitutions Output parameter receiving the number of substitutions if subchar>=0.
- * Set to 0 if no substitutions occur or subchar<0.
- * pNumSubstitutions can be NULL.
- * @param pErrorCode Pointer to a standard ICU error code. Its input value must
- * pass the U_SUCCESS() test, or else the function returns
- * immediately. Check for U_FAILURE() on output or use with
- * function chaining. (See User Guide for details.)
- * @return The pointer to destination buffer.
- * @see u_strFromUTF8WithSub
- * @see u_strFromUTF8Lenient
- * @see u_strToJavaModifiedUTF8
- * @stable ICU 4.4
- */
-U_STABLE UChar* U_EXPORT2
-u_strFromJavaModifiedUTF8WithSub(
- UChar *dest,
- int32_t destCapacity,
- int32_t *pDestLength,
- const char *src,
- int32_t srcLength,
- UChar32 subchar, int32_t *pNumSubstitutions,
- UErrorCode *pErrorCode);
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/utf.h b/Source/WebKit/mac/icu/unicode/utf.h
deleted file mode 100644
index f79479935..000000000
--- a/Source/WebKit/mac/icu/unicode/utf.h
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
-*******************************************************************************
-*
-* Copyright (C) 1999-2010, International Business Machines
-* Corporation and others. All Rights Reserved.
-*
-*******************************************************************************
-* file name: utf.h
-* encoding: US-ASCII
-* tab size: 8 (not used)
-* indentation:4
-*
-* created on: 1999sep09
-* created by: Markus W. Scherer
-*/
-
-/**
- * \file
- * \brief C API: Code point macros
- *
- * This file defines macros for checking whether a code point is
- * a surrogate or a non-character etc.
- *
- * The UChar and UChar32 data types for Unicode code units and code points
- * are defined in umachines.h because they can be machine-dependent.
- *
- * utf.h is included by utypes.h and itself includes utf8.h and utf16.h after some
- * common definitions. Those files define macros for efficiently getting code points
- * in and out of UTF-8/16 strings.
- * utf16.h macros have "U16_" prefixes.
- * utf8.h defines similar macros with "U8_" prefixes for UTF-8 string handling.
- *
- * ICU processes 16-bit Unicode strings.
- * Most of the time, such strings are well-formed UTF-16.
- * Single, unpaired surrogates must be handled as well, and are treated in ICU
- * like regular code points where possible.
- * (Pairs of surrogate code points are indistinguishable from supplementary
- * code points encoded as pairs of supplementary code units.)
- *
- * In fact, almost all Unicode code points in normal text (>99%)
- * are on the BMP (<=U+ffff) and even <=U+d7ff.
- * ICU functions handle supplementary code points (U+10000..U+10ffff)
- * but are optimized for the much more frequently occurring BMP code points.
- *
- * utf.h defines UChar to be an unsigned 16-bit integer. If this matches wchar_t, then
- * UChar is defined to be exactly wchar_t, otherwise uint16_t.
- *
- * UChar32 is defined to be a signed 32-bit integer (int32_t), large enough for a 21-bit
- * Unicode code point (Unicode scalar value, 0..0x10ffff).
- * Before ICU 2.4, the definition of UChar32 was similarly platform-dependent as
- * the definition of UChar. For details see the documentation for UChar32 itself.
- *
- * utf.h also defines a small number of C macros for single Unicode code points.
- * These are simple checks for surrogates and non-characters.
- * For actual Unicode character properties see uchar.h.
- *
- * By default, string operations must be done with error checking in case
- * a string is not well-formed UTF-16.
- * The macros will detect if a surrogate code unit is unpaired
- * (lead unit without trail unit or vice versa) and just return the unit itself
- * as the code point.
- * (It is an accidental property of Unicode and UTF-16 that all
- * malformed sequences can be expressed unambiguously with a distinct subrange
- * of Unicode code points.)
- *
- * The regular "safe" macros require that the initial, passed-in string index
- * is within bounds. They only check the index when they read more than one
- * code unit. This is usually done with code similar to the following loop:
- * <pre>while(i<length) {
- * U16_NEXT(s, i, length, c);
- * // use c
- * }</pre>
- *
- * When it is safe to assume that text is well-formed UTF-16
- * (does not contain single, unpaired surrogates), then one can use
- * U16_..._UNSAFE macros.
- * These do not check for proper code unit sequences or truncated text and may
- * yield wrong results or even cause a crash if they are used with "malformed"
- * text.
- * In practice, U16_..._UNSAFE macros will produce slightly less code but
- * should not be faster because the processing is only different when a
- * surrogate code unit is detected, which will be rare.
- *
- * Similarly for UTF-8, there are "safe" macros without a suffix,
- * and U8_..._UNSAFE versions.
- * The performance differences are much larger here because UTF-8 provides so
- * many opportunities for malformed sequences.
- * The unsafe UTF-8 macros are entirely implemented inside the macro definitions
- * and are fast, while the safe UTF-8 macros call functions for all but the
- * trivial (ASCII) cases.
- * (ICU 3.6 optimizes U8_NEXT() and U8_APPEND() to handle most other common
- * characters inline as well.)
- *
- * Unlike with UTF-16, malformed sequences cannot be expressed with distinct
- * code point values (0..U+10ffff). They are indicated with negative values instead.
- *
- * For more information see the ICU User Guide Strings chapter
- * (http://icu-project.org/userguide/strings.html).
- *
- * <em>Usage:</em>
- * ICU coding guidelines for if() statements should be followed when using these macros.
- * Compound statements (curly braces {}) must be used for if-else-while...
- * bodies and all macro statements should be terminated with semicolon.
- *
- * @stable ICU 2.4
- */
-
-#ifndef __UTF_H__
-#define __UTF_H__
-
-#include "unicode/utypes.h"
-/* include the utfXX.h after the following definitions */
-
-/* single-code point definitions -------------------------------------------- */
-
-/**
- * This value is intended for sentinel values for APIs that
- * (take or) return single code points (UChar32).
- * It is outside of the Unicode code point range 0..0x10ffff.
- *
- * For example, a "done" or "error" value in a new API
- * could be indicated with U_SENTINEL.
- *
- * ICU APIs designed before ICU 2.4 usually define service-specific "done"
- * values, mostly 0xffff.
- * Those may need to be distinguished from
- * actual U+ffff text contents by calling functions like
- * CharacterIterator::hasNext() or UnicodeString::length().
- *
- * @return -1
- * @see UChar32
- * @stable ICU 2.4
- */
-#define U_SENTINEL (-1)
-
-/**
- * Is this code point a Unicode noncharacter?
- * @param c 32-bit code point
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U_IS_UNICODE_NONCHAR(c) \
- ((c)>=0xfdd0 && \
- ((uint32_t)(c)<=0xfdef || ((c)&0xfffe)==0xfffe) && \
- (uint32_t)(c)<=0x10ffff)
-
-/**
- * Is c a Unicode code point value (0..U+10ffff)
- * that can be assigned a character?
- *
- * Code points that are not characters include:
- * - single surrogate code points (U+d800..U+dfff, 2048 code points)
- * - the last two code points on each plane (U+__fffe and U+__ffff, 34 code points)
- * - U+fdd0..U+fdef (new with Unicode 3.1, 32 code points)
- * - the highest Unicode code point value is U+10ffff
- *
- * This means that all code points below U+d800 are character code points,
- * and that boundary is tested first for performance.
- *
- * @param c 32-bit code point
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U_IS_UNICODE_CHAR(c) \
- ((uint32_t)(c)<0xd800 || \
- ((uint32_t)(c)>0xdfff && \
- (uint32_t)(c)<=0x10ffff && \
- !U_IS_UNICODE_NONCHAR(c)))
-
-/**
- * Is this code point a BMP code point (U+0000..U+ffff)?
- * @param c 32-bit code point
- * @return TRUE or FALSE
- * @stable ICU 2.8
- */
-#define U_IS_BMP(c) ((uint32_t)(c)<=0xffff)
-
-/**
- * Is this code point a supplementary code point (U+10000..U+10ffff)?
- * @param c 32-bit code point
- * @return TRUE or FALSE
- * @stable ICU 2.8
- */
-#define U_IS_SUPPLEMENTARY(c) ((uint32_t)((c)-0x10000)<=0xfffff)
-
-/**
- * Is this code point a lead surrogate (U+d800..U+dbff)?
- * @param c 32-bit code point
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U_IS_LEAD(c) (((c)&0xfffffc00)==0xd800)
-
-/**
- * Is this code point a trail surrogate (U+dc00..U+dfff)?
- * @param c 32-bit code point
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U_IS_TRAIL(c) (((c)&0xfffffc00)==0xdc00)
-
-/**
- * Is this code point a surrogate (U+d800..U+dfff)?
- * @param c 32-bit code point
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U_IS_SURROGATE(c) (((c)&0xfffff800)==0xd800)
-
-/**
- * Assuming c is a surrogate code point (U_IS_SURROGATE(c)),
- * is it a lead surrogate?
- * @param c 32-bit code point
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U_IS_SURROGATE_LEAD(c) (((c)&0x400)==0)
-
-/**
- * Assuming c is a surrogate code point (U_IS_SURROGATE(c)),
- * is it a trail surrogate?
- * @param c 32-bit code point
- * @return TRUE or FALSE
- * @stable ICU 4.2
- */
-#define U_IS_SURROGATE_TRAIL(c) (((c)&0x400)!=0)
-
-/* include the utfXX.h ------------------------------------------------------ */
-
-#include "unicode/utf8.h"
-#include "unicode/utf16.h"
-
-/* utf_old.h contains deprecated, pre-ICU 2.4 definitions */
-#include "unicode/utf_old.h"
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/utf16.h b/Source/WebKit/mac/icu/unicode/utf16.h
deleted file mode 100644
index 5079c1146..000000000
--- a/Source/WebKit/mac/icu/unicode/utf16.h
+++ /dev/null
@@ -1,614 +0,0 @@
-/*
-*******************************************************************************
-*
-* Copyright (C) 1999-2010, International Business Machines
-* Corporation and others. All Rights Reserved.
-*
-*******************************************************************************
-* file name: utf16.h
-* encoding: US-ASCII
-* tab size: 8 (not used)
-* indentation:4
-*
-* created on: 1999sep09
-* created by: Markus W. Scherer
-*/
-
-/**
- * \file
- * \brief C API: 16-bit Unicode handling macros
- *
- * This file defines macros to deal with 16-bit Unicode (UTF-16) code units and strings.
- * utf16.h is included by utf.h after unicode/umachine.h
- * and some common definitions.
- *
- * For more information see utf.h and the ICU User Guide Strings chapter
- * (http://icu-project.org/userguide/strings.html).
- *
- * <em>Usage:</em>
- * ICU coding guidelines for if() statements should be followed when using these macros.
- * Compound statements (curly braces {}) must be used for if-else-while...
- * bodies and all macro statements should be terminated with semicolon.
- */
-
-#ifndef __UTF16_H__
-#define __UTF16_H__
-
-/* utf.h must be included first. */
-#ifndef __UTF_H__
-# include "unicode/utf.h"
-#endif
-
-/* single-code point definitions -------------------------------------------- */
-
-/**
- * Does this code unit alone encode a code point (BMP, not a surrogate)?
- * @param c 16-bit code unit
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U16_IS_SINGLE(c) !U_IS_SURROGATE(c)
-
-/**
- * Is this code unit a lead surrogate (U+d800..U+dbff)?
- * @param c 16-bit code unit
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U16_IS_LEAD(c) (((c)&0xfffffc00)==0xd800)
-
-/**
- * Is this code unit a trail surrogate (U+dc00..U+dfff)?
- * @param c 16-bit code unit
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U16_IS_TRAIL(c) (((c)&0xfffffc00)==0xdc00)
-
-/**
- * Is this code unit a surrogate (U+d800..U+dfff)?
- * @param c 16-bit code unit
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U16_IS_SURROGATE(c) U_IS_SURROGATE(c)
-
-/**
- * Assuming c is a surrogate code point (U16_IS_SURROGATE(c)),
- * is it a lead surrogate?
- * @param c 16-bit code unit
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U16_IS_SURROGATE_LEAD(c) (((c)&0x400)==0)
-
-/**
- * Assuming c is a surrogate code point (U16_IS_SURROGATE(c)),
- * is it a trail surrogate?
- * @param c 16-bit code unit
- * @return TRUE or FALSE
- * @stable ICU 4.2
- */
-#define U16_IS_SURROGATE_TRAIL(c) (((c)&0x400)!=0)
-
-/**
- * Helper constant for U16_GET_SUPPLEMENTARY.
- * @internal
- */
-#define U16_SURROGATE_OFFSET ((0xd800<<10UL)+0xdc00-0x10000)
-
-/**
- * Get a supplementary code point value (U+10000..U+10ffff)
- * from its lead and trail surrogates.
- * The result is undefined if the input values are not
- * lead and trail surrogates.
- *
- * @param lead lead surrogate (U+d800..U+dbff)
- * @param trail trail surrogate (U+dc00..U+dfff)
- * @return supplementary code point (U+10000..U+10ffff)
- * @stable ICU 2.4
- */
-#define U16_GET_SUPPLEMENTARY(lead, trail) \
- (((UChar32)(lead)<<10UL)+(UChar32)(trail)-U16_SURROGATE_OFFSET)
-
-
-/**
- * Get the lead surrogate (0xd800..0xdbff) for a
- * supplementary code point (0x10000..0x10ffff).
- * @param supplementary 32-bit code point (U+10000..U+10ffff)
- * @return lead surrogate (U+d800..U+dbff) for supplementary
- * @stable ICU 2.4
- */
-#define U16_LEAD(supplementary) (UChar)(((supplementary)>>10)+0xd7c0)
-
-/**
- * Get the trail surrogate (0xdc00..0xdfff) for a
- * supplementary code point (0x10000..0x10ffff).
- * @param supplementary 32-bit code point (U+10000..U+10ffff)
- * @return trail surrogate (U+dc00..U+dfff) for supplementary
- * @stable ICU 2.4
- */
-#define U16_TRAIL(supplementary) (UChar)(((supplementary)&0x3ff)|0xdc00)
-
-/**
- * How many 16-bit code units are used to encode this Unicode code point? (1 or 2)
- * The result is not defined if c is not a Unicode code point (U+0000..U+10ffff).
- * @param c 32-bit code point
- * @return 1 or 2
- * @stable ICU 2.4
- */
-#define U16_LENGTH(c) ((uint32_t)(c)<=0xffff ? 1 : 2)
-
-/**
- * The maximum number of 16-bit code units per Unicode code point (U+0000..U+10ffff).
- * @return 2
- * @stable ICU 2.4
- */
-#define U16_MAX_LENGTH 2
-
-/**
- * Get a code point from a string at a random-access offset,
- * without changing the offset.
- * "Unsafe" macro, assumes well-formed UTF-16.
- *
- * The offset may point to either the lead or trail surrogate unit
- * for a supplementary code point, in which case the macro will read
- * the adjacent matching surrogate as well.
- * The result is undefined if the offset points to a single, unpaired surrogate.
- * Iteration through a string is more efficient with U16_NEXT_UNSAFE or U16_NEXT.
- *
- * @param s const UChar * string
- * @param i string offset
- * @param c output UChar32 variable
- * @see U16_GET
- * @stable ICU 2.4
- */
-#define U16_GET_UNSAFE(s, i, c) { \
- (c)=(s)[i]; \
- if(U16_IS_SURROGATE(c)) { \
- if(U16_IS_SURROGATE_LEAD(c)) { \
- (c)=U16_GET_SUPPLEMENTARY((c), (s)[(i)+1]); \
- } else { \
- (c)=U16_GET_SUPPLEMENTARY((s)[(i)-1], (c)); \
- } \
- } \
-}
-
-/**
- * Get a code point from a string at a random-access offset,
- * without changing the offset.
- * "Safe" macro, handles unpaired surrogates and checks for string boundaries.
- *
- * The offset may point to either the lead or trail surrogate unit
- * for a supplementary code point, in which case the macro will read
- * the adjacent matching surrogate as well.
- * If the offset points to a single, unpaired surrogate, then that itself
- * will be returned as the code point.
- * Iteration through a string is more efficient with U16_NEXT_UNSAFE or U16_NEXT.
- *
- * @param s const UChar * string
- * @param start starting string offset (usually 0)
- * @param i string offset, must be start<=i<length
- * @param length string length
- * @param c output UChar32 variable
- * @see U16_GET_UNSAFE
- * @stable ICU 2.4
- */
-#define U16_GET(s, start, i, length, c) { \
- (c)=(s)[i]; \
- if(U16_IS_SURROGATE(c)) { \
- uint16_t __c2; \
- if(U16_IS_SURROGATE_LEAD(c)) { \
- if((i)+1<(length) && U16_IS_TRAIL(__c2=(s)[(i)+1])) { \
- (c)=U16_GET_SUPPLEMENTARY((c), __c2); \
- } \
- } else { \
- if((i)>(start) && U16_IS_LEAD(__c2=(s)[(i)-1])) { \
- (c)=U16_GET_SUPPLEMENTARY(__c2, (c)); \
- } \
- } \
- } \
-}
-
-/* definitions with forward iteration --------------------------------------- */
-
-/**
- * Get a code point from a string at a code point boundary offset,
- * and advance the offset to the next code point boundary.
- * (Post-incrementing forward iteration.)
- * "Unsafe" macro, assumes well-formed UTF-16.
- *
- * The offset may point to the lead surrogate unit
- * for a supplementary code point, in which case the macro will read
- * the following trail surrogate as well.
- * If the offset points to a trail surrogate, then that itself
- * will be returned as the code point.
- * The result is undefined if the offset points to a single, unpaired lead surrogate.
- *
- * @param s const UChar * string
- * @param i string offset
- * @param c output UChar32 variable
- * @see U16_NEXT
- * @stable ICU 2.4
- */
-#define U16_NEXT_UNSAFE(s, i, c) { \
- (c)=(s)[(i)++]; \
- if(U16_IS_LEAD(c)) { \
- (c)=U16_GET_SUPPLEMENTARY((c), (s)[(i)++]); \
- } \
-}
-
-/**
- * Get a code point from a string at a code point boundary offset,
- * and advance the offset to the next code point boundary.
- * (Post-incrementing forward iteration.)
- * "Safe" macro, handles unpaired surrogates and checks for string boundaries.
- *
- * The offset may point to the lead surrogate unit
- * for a supplementary code point, in which case the macro will read
- * the following trail surrogate as well.
- * If the offset points to a trail surrogate or
- * to a single, unpaired lead surrogate, then that itself
- * will be returned as the code point.
- *
- * @param s const UChar * string
- * @param i string offset, must be i<length
- * @param length string length
- * @param c output UChar32 variable
- * @see U16_NEXT_UNSAFE
- * @stable ICU 2.4
- */
-#define U16_NEXT(s, i, length, c) { \
- (c)=(s)[(i)++]; \
- if(U16_IS_LEAD(c)) { \
- uint16_t __c2; \
- if((i)<(length) && U16_IS_TRAIL(__c2=(s)[(i)])) { \
- ++(i); \
- (c)=U16_GET_SUPPLEMENTARY((c), __c2); \
- } \
- } \
-}
-
-/**
- * Append a code point to a string, overwriting 1 or 2 code units.
- * The offset points to the current end of the string contents
- * and is advanced (post-increment).
- * "Unsafe" macro, assumes a valid code point and sufficient space in the string.
- * Otherwise, the result is undefined.
- *
- * @param s const UChar * string buffer
- * @param i string offset
- * @param c code point to append
- * @see U16_APPEND
- * @stable ICU 2.4
- */
-#define U16_APPEND_UNSAFE(s, i, c) { \
- if((uint32_t)(c)<=0xffff) { \
- (s)[(i)++]=(uint16_t)(c); \
- } else { \
- (s)[(i)++]=(uint16_t)(((c)>>10)+0xd7c0); \
- (s)[(i)++]=(uint16_t)(((c)&0x3ff)|0xdc00); \
- } \
-}
-
-/**
- * Append a code point to a string, overwriting 1 or 2 code units.
- * The offset points to the current end of the string contents
- * and is advanced (post-increment).
- * "Safe" macro, checks for a valid code point.
- * If a surrogate pair is written, checks for sufficient space in the string.
- * If the code point is not valid or a trail surrogate does not fit,
- * then isError is set to TRUE.
- *
- * @param s const UChar * string buffer
- * @param i string offset, must be i<capacity
- * @param capacity size of the string buffer
- * @param c code point to append
- * @param isError output UBool set to TRUE if an error occurs, otherwise not modified
- * @see U16_APPEND_UNSAFE
- * @stable ICU 2.4
- */
-#define U16_APPEND(s, i, capacity, c, isError) { \
- if((uint32_t)(c)<=0xffff) { \
- (s)[(i)++]=(uint16_t)(c); \
- } else if((uint32_t)(c)<=0x10ffff && (i)+1<(capacity)) { \
- (s)[(i)++]=(uint16_t)(((c)>>10)+0xd7c0); \
- (s)[(i)++]=(uint16_t)(((c)&0x3ff)|0xdc00); \
- } else /* c>0x10ffff or not enough space */ { \
- (isError)=TRUE; \
- } \
-}
-
-/**
- * Advance the string offset from one code point boundary to the next.
- * (Post-incrementing iteration.)
- * "Unsafe" macro, assumes well-formed UTF-16.
- *
- * @param s const UChar * string
- * @param i string offset
- * @see U16_FWD_1
- * @stable ICU 2.4
- */
-#define U16_FWD_1_UNSAFE(s, i) { \
- if(U16_IS_LEAD((s)[(i)++])) { \
- ++(i); \
- } \
-}
-
-/**
- * Advance the string offset from one code point boundary to the next.
- * (Post-incrementing iteration.)
- * "Safe" macro, handles unpaired surrogates and checks for string boundaries.
- *
- * @param s const UChar * string
- * @param i string offset, must be i<length
- * @param length string length
- * @see U16_FWD_1_UNSAFE
- * @stable ICU 2.4
- */
-#define U16_FWD_1(s, i, length) { \
- if(U16_IS_LEAD((s)[(i)++]) && (i)<(length) && U16_IS_TRAIL((s)[i])) { \
- ++(i); \
- } \
-}
-
-/**
- * Advance the string offset from one code point boundary to the n-th next one,
- * i.e., move forward by n code points.
- * (Post-incrementing iteration.)
- * "Unsafe" macro, assumes well-formed UTF-16.
- *
- * @param s const UChar * string
- * @param i string offset
- * @param n number of code points to skip
- * @see U16_FWD_N
- * @stable ICU 2.4
- */
-#define U16_FWD_N_UNSAFE(s, i, n) { \
- int32_t __N=(n); \
- while(__N>0) { \
- U16_FWD_1_UNSAFE(s, i); \
- --__N; \
- } \
-}
-
-/**
- * Advance the string offset from one code point boundary to the n-th next one,
- * i.e., move forward by n code points.
- * (Post-incrementing iteration.)
- * "Safe" macro, handles unpaired surrogates and checks for string boundaries.
- *
- * @param s const UChar * string
- * @param i string offset, must be i<length
- * @param length string length
- * @param n number of code points to skip
- * @see U16_FWD_N_UNSAFE
- * @stable ICU 2.4
- */
-#define U16_FWD_N(s, i, length, n) { \
- int32_t __N=(n); \
- while(__N>0 && (i)<(length)) { \
- U16_FWD_1(s, i, length); \
- --__N; \
- } \
-}
-
-/**
- * Adjust a random-access offset to a code point boundary
- * at the start of a code point.
- * If the offset points to the trail surrogate of a surrogate pair,
- * then the offset is decremented.
- * Otherwise, it is not modified.
- * "Unsafe" macro, assumes well-formed UTF-16.
- *
- * @param s const UChar * string
- * @param i string offset
- * @see U16_SET_CP_START
- * @stable ICU 2.4
- */
-#define U16_SET_CP_START_UNSAFE(s, i) { \
- if(U16_IS_TRAIL((s)[i])) { \
- --(i); \
- } \
-}
-
-/**
- * Adjust a random-access offset to a code point boundary
- * at the start of a code point.
- * If the offset points to the trail surrogate of a surrogate pair,
- * then the offset is decremented.
- * Otherwise, it is not modified.
- * "Safe" macro, handles unpaired surrogates and checks for string boundaries.
- *
- * @param s const UChar * string
- * @param start starting string offset (usually 0)
- * @param i string offset, must be start<=i
- * @see U16_SET_CP_START_UNSAFE
- * @stable ICU 2.4
- */
-#define U16_SET_CP_START(s, start, i) { \
- if(U16_IS_TRAIL((s)[i]) && (i)>(start) && U16_IS_LEAD((s)[(i)-1])) { \
- --(i); \
- } \
-}
-
-/* definitions with backward iteration -------------------------------------- */
-
-/**
- * Move the string offset from one code point boundary to the previous one
- * and get the code point between them.
- * (Pre-decrementing backward iteration.)
- * "Unsafe" macro, assumes well-formed UTF-16.
- *
- * The input offset may be the same as the string length.
- * If the offset is behind a trail surrogate unit
- * for a supplementary code point, then the macro will read
- * the preceding lead surrogate as well.
- * If the offset is behind a lead surrogate, then that itself
- * will be returned as the code point.
- * The result is undefined if the offset is behind a single, unpaired trail surrogate.
- *
- * @param s const UChar * string
- * @param i string offset
- * @param c output UChar32 variable
- * @see U16_PREV
- * @stable ICU 2.4
- */
-#define U16_PREV_UNSAFE(s, i, c) { \
- (c)=(s)[--(i)]; \
- if(U16_IS_TRAIL(c)) { \
- (c)=U16_GET_SUPPLEMENTARY((s)[--(i)], (c)); \
- } \
-}
-
-/**
- * Move the string offset from one code point boundary to the previous one
- * and get the code point between them.
- * (Pre-decrementing backward iteration.)
- * "Safe" macro, handles unpaired surrogates and checks for string boundaries.
- *
- * The input offset may be the same as the string length.
- * If the offset is behind a trail surrogate unit
- * for a supplementary code point, then the macro will read
- * the preceding lead surrogate as well.
- * If the offset is behind a lead surrogate or behind a single, unpaired
- * trail surrogate, then that itself
- * will be returned as the code point.
- *
- * @param s const UChar * string
- * @param start starting string offset (usually 0)
- * @param i string offset, must be start<i
- * @param c output UChar32 variable
- * @see U16_PREV_UNSAFE
- * @stable ICU 2.4
- */
-#define U16_PREV(s, start, i, c) { \
- (c)=(s)[--(i)]; \
- if(U16_IS_TRAIL(c)) { \
- uint16_t __c2; \
- if((i)>(start) && U16_IS_LEAD(__c2=(s)[(i)-1])) { \
- --(i); \
- (c)=U16_GET_SUPPLEMENTARY(__c2, (c)); \
- } \
- } \
-}
-
-/**
- * Move the string offset from one code point boundary to the previous one.
- * (Pre-decrementing backward iteration.)
- * The input offset may be the same as the string length.
- * "Unsafe" macro, assumes well-formed UTF-16.
- *
- * @param s const UChar * string
- * @param i string offset
- * @see U16_BACK_1
- * @stable ICU 2.4
- */
-#define U16_BACK_1_UNSAFE(s, i) { \
- if(U16_IS_TRAIL((s)[--(i)])) { \
- --(i); \
- } \
-}
-
-/**
- * Move the string offset from one code point boundary to the previous one.
- * (Pre-decrementing backward iteration.)
- * The input offset may be the same as the string length.
- * "Safe" macro, handles unpaired surrogates and checks for string boundaries.
- *
- * @param s const UChar * string
- * @param start starting string offset (usually 0)
- * @param i string offset, must be start<i
- * @see U16_BACK_1_UNSAFE
- * @stable ICU 2.4
- */
-#define U16_BACK_1(s, start, i) { \
- if(U16_IS_TRAIL((s)[--(i)]) && (i)>(start) && U16_IS_LEAD((s)[(i)-1])) { \
- --(i); \
- } \
-}
-
-/**
- * Move the string offset from one code point boundary to the n-th one before it,
- * i.e., move backward by n code points.
- * (Pre-decrementing backward iteration.)
- * The input offset may be the same as the string length.
- * "Unsafe" macro, assumes well-formed UTF-16.
- *
- * @param s const UChar * string
- * @param i string offset
- * @param n number of code points to skip
- * @see U16_BACK_N
- * @stable ICU 2.4
- */
-#define U16_BACK_N_UNSAFE(s, i, n) { \
- int32_t __N=(n); \
- while(__N>0) { \
- U16_BACK_1_UNSAFE(s, i); \
- --__N; \
- } \
-}
-
-/**
- * Move the string offset from one code point boundary to the n-th one before it,
- * i.e., move backward by n code points.
- * (Pre-decrementing backward iteration.)
- * The input offset may be the same as the string length.
- * "Safe" macro, handles unpaired surrogates and checks for string boundaries.
- *
- * @param s const UChar * string
- * @param start start of string
- * @param i string offset, must be start<i
- * @param n number of code points to skip
- * @see U16_BACK_N_UNSAFE
- * @stable ICU 2.4
- */
-#define U16_BACK_N(s, start, i, n) { \
- int32_t __N=(n); \
- while(__N>0 && (i)>(start)) { \
- U16_BACK_1(s, start, i); \
- --__N; \
- } \
-}
-
-/**
- * Adjust a random-access offset to a code point boundary after a code point.
- * If the offset is behind the lead surrogate of a surrogate pair,
- * then the offset is incremented.
- * Otherwise, it is not modified.
- * The input offset may be the same as the string length.
- * "Unsafe" macro, assumes well-formed UTF-16.
- *
- * @param s const UChar * string
- * @param i string offset
- * @see U16_SET_CP_LIMIT
- * @stable ICU 2.4
- */
-#define U16_SET_CP_LIMIT_UNSAFE(s, i) { \
- if(U16_IS_LEAD((s)[(i)-1])) { \
- ++(i); \
- } \
-}
-
-/**
- * Adjust a random-access offset to a code point boundary after a code point.
- * If the offset is behind the lead surrogate of a surrogate pair,
- * then the offset is incremented.
- * Otherwise, it is not modified.
- * The input offset may be the same as the string length.
- * "Safe" macro, handles unpaired surrogates and checks for string boundaries.
- *
- * @param s const UChar * string
- * @param start starting string offset (usually 0)
- * @param i string offset, start<=i<=length
- * @param length string length
- * @see U16_SET_CP_LIMIT_UNSAFE
- * @stable ICU 2.4
- */
-#define U16_SET_CP_LIMIT(s, start, i, length) { \
- if((start)<(i) && (i)<(length) && U16_IS_LEAD((s)[(i)-1]) && U16_IS_TRAIL((s)[i])) { \
- ++(i); \
- } \
-}
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/utf8.h b/Source/WebKit/mac/icu/unicode/utf8.h
deleted file mode 100644
index 6405795a5..000000000
--- a/Source/WebKit/mac/icu/unicode/utf8.h
+++ /dev/null
@@ -1,683 +0,0 @@
-/*
-*******************************************************************************
-*
-* Copyright (C) 1999-2009, International Business Machines
-* Corporation and others. All Rights Reserved.
-*
-*******************************************************************************
-* file name: utf8.h
-* encoding: US-ASCII
-* tab size: 8 (not used)
-* indentation:4
-*
-* created on: 1999sep13
-* created by: Markus W. Scherer
-*/
-
-/**
- * \file
- * \brief C API: 8-bit Unicode handling macros
- *
- * This file defines macros to deal with 8-bit Unicode (UTF-8) code units (bytes) and strings.
- * utf8.h is included by utf.h after unicode/umachine.h
- * and some common definitions.
- *
- * For more information see utf.h and the ICU User Guide Strings chapter
- * (http://icu-project.org/userguide/strings.html).
- *
- * <em>Usage:</em>
- * ICU coding guidelines for if() statements should be followed when using these macros.
- * Compound statements (curly braces {}) must be used for if-else-while...
- * bodies and all macro statements should be terminated with semicolon.
- */
-
-#ifndef __UTF8_H__
-#define __UTF8_H__
-
-/* utf.h must be included first. */
-#ifndef __UTF_H__
-# include "unicode/utf.h"
-#endif
-
-/* internal definitions ----------------------------------------------------- */
-
-/**
- * \var utf8_countTrailBytes
- * Internal array with numbers of trail bytes for any given byte used in
- * lead byte position.
- *
- * This is internal since it is not meant to be called directly by external clients;
- * however it is called by public macros in this file and thus must remain stable,
- * and should not be hidden when other internal functions are hidden (otherwise
- * public macros would fail to compile).
- * @internal
- */
-#ifdef U_UTF8_IMPL
-U_EXPORT const uint8_t
-#elif defined(U_STATIC_IMPLEMENTATION) || defined(U_COMMON_IMPLEMENTATION)
-U_CFUNC const uint8_t
-#else
-U_CFUNC U_IMPORT const uint8_t /* U_IMPORT2? */ /*U_IMPORT*/
-#endif
-utf8_countTrailBytes[256];
-
-/**
- * Count the trail bytes for a UTF-8 lead byte.
- *
- * This is internal since it is not meant to be called directly by external clients;
- * however it is called by public macros in this file and thus must remain stable.
- * @internal
- */
-#define U8_COUNT_TRAIL_BYTES(leadByte) (utf8_countTrailBytes[(uint8_t)leadByte])
-
-/**
- * Mask a UTF-8 lead byte, leave only the lower bits that form part of the code point value.
- *
- * This is internal since it is not meant to be called directly by external clients;
- * however it is called by public macros in this file and thus must remain stable.
- * @internal
- */
-#define U8_MASK_LEAD_BYTE(leadByte, countTrailBytes) ((leadByte)&=(1<<(6-(countTrailBytes)))-1)
-
-/**
- * Function for handling "next code point" with error-checking.
- *
- * This is internal since it is not meant to be called directly by external clients;
- * however it is U_STABLE (not U_INTERNAL) since it is called by public macros in this
- * file and thus must remain stable, and should not be hidden when other internal
- * functions are hidden (otherwise public macros would fail to compile).
- * @internal
- */
-U_STABLE UChar32 U_EXPORT2
-utf8_nextCharSafeBody(const uint8_t *s, int32_t *pi, int32_t length, UChar32 c, UBool strict);
-
-/**
- * Function for handling "append code point" with error-checking.
- *
- * This is internal since it is not meant to be called directly by external clients;
- * however it is U_STABLE (not U_INTERNAL) since it is called by public macros in this
- * file and thus must remain stable, and should not be hidden when other internal
- * functions are hidden (otherwise public macros would fail to compile).
- * @internal
- */
-U_STABLE int32_t U_EXPORT2
-utf8_appendCharSafeBody(uint8_t *s, int32_t i, int32_t length, UChar32 c, UBool *pIsError);
-
-/**
- * Function for handling "previous code point" with error-checking.
- *
- * This is internal since it is not meant to be called directly by external clients;
- * however it is U_STABLE (not U_INTERNAL) since it is called by public macros in this
- * file and thus must remain stable, and should not be hidden when other internal
- * functions are hidden (otherwise public macros would fail to compile).
- * @internal
- */
-U_STABLE UChar32 U_EXPORT2
-utf8_prevCharSafeBody(const uint8_t *s, int32_t start, int32_t *pi, UChar32 c, UBool strict);
-
-/**
- * Function for handling "skip backward one code point" with error-checking.
- *
- * This is internal since it is not meant to be called directly by external clients;
- * however it is U_STABLE (not U_INTERNAL) since it is called by public macros in this
- * file and thus must remain stable, and should not be hidden when other internal
- * functions are hidden (otherwise public macros would fail to compile).
- * @internal
- */
-U_STABLE int32_t U_EXPORT2
-utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
-
-/* single-code point definitions -------------------------------------------- */
-
-/**
- * Does this code unit (byte) encode a code point by itself (US-ASCII 0..0x7f)?
- * @param c 8-bit code unit (byte)
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U8_IS_SINGLE(c) (((c)&0x80)==0)
-
-/**
- * Is this code unit (byte) a UTF-8 lead byte?
- * @param c 8-bit code unit (byte)
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U8_IS_LEAD(c) ((uint8_t)((c)-0xc0)<0x3e)
-
-/**
- * Is this code unit (byte) a UTF-8 trail byte?
- * @param c 8-bit code unit (byte)
- * @return TRUE or FALSE
- * @stable ICU 2.4
- */
-#define U8_IS_TRAIL(c) (((c)&0xc0)==0x80)
-
-/**
- * How many code units (bytes) are used for the UTF-8 encoding
- * of this Unicode code point?
- * @param c 32-bit code point
- * @return 1..4, or 0 if c is a surrogate or not a Unicode code point
- * @stable ICU 2.4
- */
-#define U8_LENGTH(c) \
- ((uint32_t)(c)<=0x7f ? 1 : \
- ((uint32_t)(c)<=0x7ff ? 2 : \
- ((uint32_t)(c)<=0xd7ff ? 3 : \
- ((uint32_t)(c)<=0xdfff || (uint32_t)(c)>0x10ffff ? 0 : \
- ((uint32_t)(c)<=0xffff ? 3 : 4)\
- ) \
- ) \
- ) \
- )
-
-/**
- * The maximum number of UTF-8 code units (bytes) per Unicode code point (U+0000..U+10ffff).
- * @return 4
- * @stable ICU 2.4
- */
-#define U8_MAX_LENGTH 4
-
-/**
- * Get a code point from a string at a random-access offset,
- * without changing the offset.
- * The offset may point to either the lead byte or one of the trail bytes
- * for a code point, in which case the macro will read all of the bytes
- * for the code point.
- * The result is undefined if the offset points to an illegal UTF-8
- * byte sequence.
- * Iteration through a string is more efficient with U8_NEXT_UNSAFE or U8_NEXT.
- *
- * @param s const uint8_t * string
- * @param i string offset
- * @param c output UChar32 variable
- * @see U8_GET
- * @stable ICU 2.4
- */
-#define U8_GET_UNSAFE(s, i, c) { \
- int32_t _u8_get_unsafe_index=(int32_t)(i); \
- U8_SET_CP_START_UNSAFE(s, _u8_get_unsafe_index); \
- U8_NEXT_UNSAFE(s, _u8_get_unsafe_index, c); \
-}
-
-/**
- * Get a code point from a string at a random-access offset,
- * without changing the offset.
- * The offset may point to either the lead byte or one of the trail bytes
- * for a code point, in which case the macro will read all of the bytes
- * for the code point.
- * If the offset points to an illegal UTF-8 byte sequence, then
- * c is set to a negative value.
- * Iteration through a string is more efficient with U8_NEXT_UNSAFE or U8_NEXT.
- *
- * @param s const uint8_t * string
- * @param start starting string offset
- * @param i string offset, must be start<=i<length
- * @param length string length
- * @param c output UChar32 variable, set to <0 in case of an error
- * @see U8_GET_UNSAFE
- * @stable ICU 2.4
- */
-#define U8_GET(s, start, i, length, c) { \
- int32_t _u8_get_index=(int32_t)(i); \
- U8_SET_CP_START(s, start, _u8_get_index); \
- U8_NEXT(s, _u8_get_index, length, c); \
-}
-
-/* definitions with forward iteration --------------------------------------- */
-
-/**
- * Get a code point from a string at a code point boundary offset,
- * and advance the offset to the next code point boundary.
- * (Post-incrementing forward iteration.)
- * "Unsafe" macro, assumes well-formed UTF-8.
- *
- * The offset may point to the lead byte of a multi-byte sequence,
- * in which case the macro will read the whole sequence.
- * The result is undefined if the offset points to a trail byte
- * or an illegal UTF-8 sequence.
- *
- * @param s const uint8_t * string
- * @param i string offset
- * @param c output UChar32 variable
- * @see U8_NEXT
- * @stable ICU 2.4
- */
-#define U8_NEXT_UNSAFE(s, i, c) { \
- (c)=(uint8_t)(s)[(i)++]; \
- if((uint8_t)((c)-0xc0)<0x35) { \
- uint8_t __count=U8_COUNT_TRAIL_BYTES(c); \
- U8_MASK_LEAD_BYTE(c, __count); \
- switch(__count) { \
- /* each following branch falls through to the next one */ \
- case 3: \
- (c)=((c)<<6)|((s)[(i)++]&0x3f); \
- case 2: \
- (c)=((c)<<6)|((s)[(i)++]&0x3f); \
- case 1: \
- (c)=((c)<<6)|((s)[(i)++]&0x3f); \
- /* no other branches to optimize switch() */ \
- break; \
- } \
- } \
-}
-
-/**
- * Get a code point from a string at a code point boundary offset,
- * and advance the offset to the next code point boundary.
- * (Post-incrementing forward iteration.)
- * "Safe" macro, checks for illegal sequences and for string boundaries.
- *
- * The offset may point to the lead byte of a multi-byte sequence,
- * in which case the macro will read the whole sequence.
- * If the offset points to a trail byte or an illegal UTF-8 sequence, then
- * c is set to a negative value.
- *
- * @param s const uint8_t * string
- * @param i string offset, must be i<length
- * @param length string length
- * @param c output UChar32 variable, set to <0 in case of an error
- * @see U8_NEXT_UNSAFE
- * @stable ICU 2.4
- */
-#define U8_NEXT(s, i, length, c) { \
- (c)=(uint8_t)(s)[(i)++]; \
- if((c)>=0x80) { \
- uint8_t __t1, __t2; \
- if( /* handle U+1000..U+CFFF inline */ \
- (0xe0<(c) && (c)<=0xec) && \
- (((i)+1)<(length)) && \
- (__t1=(uint8_t)((s)[i]-0x80))<=0x3f && \
- (__t2=(uint8_t)((s)[(i)+1]-0x80))<= 0x3f \
- ) { \
- /* no need for (c&0xf) because the upper bits are truncated after <<12 in the cast to (UChar) */ \
- (c)=(UChar)(((c)<<12)|(__t1<<6)|__t2); \
- (i)+=2; \
- } else if( /* handle U+0080..U+07FF inline */ \
- ((c)<0xe0 && (c)>=0xc2) && \
- ((i)<(length)) && \
- (__t1=(uint8_t)((s)[i]-0x80))<=0x3f \
- ) { \
- (c)=(UChar)((((c)&0x1f)<<6)|__t1); \
- ++(i); \
- } else if(U8_IS_LEAD(c)) { \
- /* function call for "complicated" and error cases */ \
- (c)=utf8_nextCharSafeBody((const uint8_t *)s, &(i), (int32_t)(length), c, -1); \
- } else { \
- (c)=U_SENTINEL; \
- } \
- } \
-}
-
-/**
- * Append a code point to a string, overwriting 1 to 4 bytes.
- * The offset points to the current end of the string contents
- * and is advanced (post-increment).
- * "Unsafe" macro, assumes a valid code point and sufficient space in the string.
- * Otherwise, the result is undefined.
- *
- * @param s const uint8_t * string buffer
- * @param i string offset
- * @param c code point to append
- * @see U8_APPEND
- * @stable ICU 2.4
- */
-#define U8_APPEND_UNSAFE(s, i, c) { \
- if((uint32_t)(c)<=0x7f) { \
- (s)[(i)++]=(uint8_t)(c); \
- } else { \
- if((uint32_t)(c)<=0x7ff) { \
- (s)[(i)++]=(uint8_t)(((c)>>6)|0xc0); \
- } else { \
- if((uint32_t)(c)<=0xffff) { \
- (s)[(i)++]=(uint8_t)(((c)>>12)|0xe0); \
- } else { \
- (s)[(i)++]=(uint8_t)(((c)>>18)|0xf0); \
- (s)[(i)++]=(uint8_t)((((c)>>12)&0x3f)|0x80); \
- } \
- (s)[(i)++]=(uint8_t)((((c)>>6)&0x3f)|0x80); \
- } \
- (s)[(i)++]=(uint8_t)(((c)&0x3f)|0x80); \
- } \
-}
-
-/**
- * Append a code point to a string, overwriting 1 to 4 bytes.
- * The offset points to the current end of the string contents
- * and is advanced (post-increment).
- * "Safe" macro, checks for a valid code point.
- * If a non-ASCII code point is written, checks for sufficient space in the string.
- * If the code point is not valid or trail bytes do not fit,
- * then isError is set to TRUE.
- *
- * @param s const uint8_t * string buffer
- * @param i string offset, must be i<capacity
- * @param capacity size of the string buffer
- * @param c code point to append
- * @param isError output UBool set to TRUE if an error occurs, otherwise not modified
- * @see U8_APPEND_UNSAFE
- * @stable ICU 2.4
- */
-#define U8_APPEND(s, i, capacity, c, isError) { \
- if((uint32_t)(c)<=0x7f) { \
- (s)[(i)++]=(uint8_t)(c); \
- } else if((uint32_t)(c)<=0x7ff && (i)+1<(capacity)) { \
- (s)[(i)++]=(uint8_t)(((c)>>6)|0xc0); \
- (s)[(i)++]=(uint8_t)(((c)&0x3f)|0x80); \
- } else if((uint32_t)(c)<=0xd7ff && (i)+2<(capacity)) { \
- (s)[(i)++]=(uint8_t)(((c)>>12)|0xe0); \
- (s)[(i)++]=(uint8_t)((((c)>>6)&0x3f)|0x80); \
- (s)[(i)++]=(uint8_t)(((c)&0x3f)|0x80); \
- } else { \
- (i)=utf8_appendCharSafeBody(s, (int32_t)(i), (int32_t)(capacity), c, &(isError)); \
- } \
-}
-
-/**
- * Advance the string offset from one code point boundary to the next.
- * (Post-incrementing iteration.)
- * "Unsafe" macro, assumes well-formed UTF-8.
- *
- * @param s const uint8_t * string
- * @param i string offset
- * @see U8_FWD_1
- * @stable ICU 2.4
- */
-#define U8_FWD_1_UNSAFE(s, i) { \
- (i)+=1+U8_COUNT_TRAIL_BYTES((s)[i]); \
-}
-
-/**
- * Advance the string offset from one code point boundary to the next.
- * (Post-incrementing iteration.)
- * "Safe" macro, checks for illegal sequences and for string boundaries.
- *
- * @param s const uint8_t * string
- * @param i string offset, must be i<length
- * @param length string length
- * @see U8_FWD_1_UNSAFE
- * @stable ICU 2.4
- */
-#define U8_FWD_1(s, i, length) { \
- uint8_t __b=(uint8_t)(s)[(i)++]; \
- if(U8_IS_LEAD(__b)) { \
- uint8_t __count=U8_COUNT_TRAIL_BYTES(__b); \
- if((i)+__count>(length)) { \
- __count=(uint8_t)((length)-(i)); \
- } \
- while(__count>0 && U8_IS_TRAIL((s)[i])) { \
- ++(i); \
- --__count; \
- } \
- } \
-}
-
-/**
- * Advance the string offset from one code point boundary to the n-th next one,
- * i.e., move forward by n code points.
- * (Post-incrementing iteration.)
- * "Unsafe" macro, assumes well-formed UTF-8.
- *
- * @param s const uint8_t * string
- * @param i string offset
- * @param n number of code points to skip
- * @see U8_FWD_N
- * @stable ICU 2.4
- */
-#define U8_FWD_N_UNSAFE(s, i, n) { \
- int32_t __N=(n); \
- while(__N>0) { \
- U8_FWD_1_UNSAFE(s, i); \
- --__N; \
- } \
-}
-
-/**
- * Advance the string offset from one code point boundary to the n-th next one,
- * i.e., move forward by n code points.
- * (Post-incrementing iteration.)
- * "Safe" macro, checks for illegal sequences and for string boundaries.
- *
- * @param s const uint8_t * string
- * @param i string offset, must be i<length
- * @param length string length
- * @param n number of code points to skip
- * @see U8_FWD_N_UNSAFE
- * @stable ICU 2.4
- */
-#define U8_FWD_N(s, i, length, n) { \
- int32_t __N=(n); \
- while(__N>0 && (i)<(length)) { \
- U8_FWD_1(s, i, length); \
- --__N; \
- } \
-}
-
-/**
- * Adjust a random-access offset to a code point boundary
- * at the start of a code point.
- * If the offset points to a UTF-8 trail byte,
- * then the offset is moved backward to the corresponding lead byte.
- * Otherwise, it is not modified.
- * "Unsafe" macro, assumes well-formed UTF-8.
- *
- * @param s const uint8_t * string
- * @param i string offset
- * @see U8_SET_CP_START
- * @stable ICU 2.4
- */
-#define U8_SET_CP_START_UNSAFE(s, i) { \
- while(U8_IS_TRAIL((s)[i])) { --(i); } \
-}
-
-/**
- * Adjust a random-access offset to a code point boundary
- * at the start of a code point.
- * If the offset points to a UTF-8 trail byte,
- * then the offset is moved backward to the corresponding lead byte.
- * Otherwise, it is not modified.
- * "Safe" macro, checks for illegal sequences and for string boundaries.
- *
- * @param s const uint8_t * string
- * @param start starting string offset (usually 0)
- * @param i string offset, must be start<=i
- * @see U8_SET_CP_START_UNSAFE
- * @stable ICU 2.4
- */
-#define U8_SET_CP_START(s, start, i) { \
- if(U8_IS_TRAIL((s)[(i)])) { \
- (i)=utf8_back1SafeBody(s, start, (int32_t)(i)); \
- } \
-}
-
-/* definitions with backward iteration -------------------------------------- */
-
-/**
- * Move the string offset from one code point boundary to the previous one
- * and get the code point between them.
- * (Pre-decrementing backward iteration.)
- * "Unsafe" macro, assumes well-formed UTF-8.
- *
- * The input offset may be the same as the string length.
- * If the offset is behind a multi-byte sequence, then the macro will read
- * the whole sequence.
- * If the offset is behind a lead byte, then that itself
- * will be returned as the code point.
- * The result is undefined if the offset is behind an illegal UTF-8 sequence.
- *
- * @param s const uint8_t * string
- * @param i string offset
- * @param c output UChar32 variable
- * @see U8_PREV
- * @stable ICU 2.4
- */
-#define U8_PREV_UNSAFE(s, i, c) { \
- (c)=(uint8_t)(s)[--(i)]; \
- if(U8_IS_TRAIL(c)) { \
- uint8_t __b, __count=1, __shift=6; \
-\
- /* c is a trail byte */ \
- (c)&=0x3f; \
- for(;;) { \
- __b=(uint8_t)(s)[--(i)]; \
- if(__b>=0xc0) { \
- U8_MASK_LEAD_BYTE(__b, __count); \
- (c)|=(UChar32)__b<<__shift; \
- break; \
- } else { \
- (c)|=(UChar32)(__b&0x3f)<<__shift; \
- ++__count; \
- __shift+=6; \
- } \
- } \
- } \
-}
-
-/**
- * Move the string offset from one code point boundary to the previous one
- * and get the code point between them.
- * (Pre-decrementing backward iteration.)
- * "Safe" macro, checks for illegal sequences and for string boundaries.
- *
- * The input offset may be the same as the string length.
- * If the offset is behind a multi-byte sequence, then the macro will read
- * the whole sequence.
- * If the offset is behind a lead byte, then that itself
- * will be returned as the code point.
- * If the offset is behind an illegal UTF-8 sequence, then c is set to a negative value.
- *
- * @param s const uint8_t * string
- * @param start starting string offset (usually 0)
- * @param i string offset, must be start<i
- * @param c output UChar32 variable, set to <0 in case of an error
- * @see U8_PREV_UNSAFE
- * @stable ICU 2.4
- */
-#define U8_PREV(s, start, i, c) { \
- (c)=(uint8_t)(s)[--(i)]; \
- if((c)>=0x80) { \
- if((c)<=0xbf) { \
- (c)=utf8_prevCharSafeBody((const uint8_t *)s, start, &(i), c, -1); \
- } else { \
- (c)=U_SENTINEL; \
- } \
- } \
-}
-
-/**
- * Move the string offset from one code point boundary to the previous one.
- * (Pre-decrementing backward iteration.)
- * The input offset may be the same as the string length.
- * "Unsafe" macro, assumes well-formed UTF-8.
- *
- * @param s const uint8_t * string
- * @param i string offset
- * @see U8_BACK_1
- * @stable ICU 2.4
- */
-#define U8_BACK_1_UNSAFE(s, i) { \
- while(U8_IS_TRAIL((s)[--(i)])) {} \
-}
-
-/**
- * Move the string offset from one code point boundary to the previous one.
- * (Pre-decrementing backward iteration.)
- * The input offset may be the same as the string length.
- * "Safe" macro, checks for illegal sequences and for string boundaries.
- *
- * @param s const uint8_t * string
- * @param start starting string offset (usually 0)
- * @param i string offset, must be start<i
- * @see U8_BACK_1_UNSAFE
- * @stable ICU 2.4
- */
-#define U8_BACK_1(s, start, i) { \
- if(U8_IS_TRAIL((s)[--(i)])) { \
- (i)=utf8_back1SafeBody(s, start, (int32_t)(i)); \
- } \
-}
-
-/**
- * Move the string offset from one code point boundary to the n-th one before it,
- * i.e., move backward by n code points.
- * (Pre-decrementing backward iteration.)
- * The input offset may be the same as the string length.
- * "Unsafe" macro, assumes well-formed UTF-8.
- *
- * @param s const uint8_t * string
- * @param i string offset
- * @param n number of code points to skip
- * @see U8_BACK_N
- * @stable ICU 2.4
- */
-#define U8_BACK_N_UNSAFE(s, i, n) { \
- int32_t __N=(n); \
- while(__N>0) { \
- U8_BACK_1_UNSAFE(s, i); \
- --__N; \
- } \
-}
-
-/**
- * Move the string offset from one code point boundary to the n-th one before it,
- * i.e., move backward by n code points.
- * (Pre-decrementing backward iteration.)
- * The input offset may be the same as the string length.
- * "Safe" macro, checks for illegal sequences and for string boundaries.
- *
- * @param s const uint8_t * string
- * @param start index of the start of the string
- * @param i string offset, must be start<i
- * @param n number of code points to skip
- * @see U8_BACK_N_UNSAFE
- * @stable ICU 2.4
- */
-#define U8_BACK_N(s, start, i, n) { \
- int32_t __N=(n); \
- while(__N>0 && (i)>(start)) { \
- U8_BACK_1(s, start, i); \
- --__N; \
- } \
-}
-
-/**
- * Adjust a random-access offset to a code point boundary after a code point.
- * If the offset is behind a partial multi-byte sequence,
- * then the offset is incremented to behind the whole sequence.
- * Otherwise, it is not modified.
- * The input offset may be the same as the string length.
- * "Unsafe" macro, assumes well-formed UTF-8.
- *
- * @param s const uint8_t * string
- * @param i string offset
- * @see U8_SET_CP_LIMIT
- * @stable ICU 2.4
- */
-#define U8_SET_CP_LIMIT_UNSAFE(s, i) { \
- U8_BACK_1_UNSAFE(s, i); \
- U8_FWD_1_UNSAFE(s, i); \
-}
-
-/**
- * Adjust a random-access offset to a code point boundary after a code point.
- * If the offset is behind a partial multi-byte sequence,
- * then the offset is incremented to behind the whole sequence.
- * Otherwise, it is not modified.
- * The input offset may be the same as the string length.
- * "Safe" macro, checks for illegal sequences and for string boundaries.
- *
- * @param s const uint8_t * string
- * @param start starting string offset (usually 0)
- * @param i string offset, must be start<=i<=length
- * @param length string length
- * @see U8_SET_CP_LIMIT_UNSAFE
- * @stable ICU 2.4
- */
-#define U8_SET_CP_LIMIT(s, start, i, length) { \
- if((start)<(i) && (i)<(length)) { \
- U8_BACK_1(s, start, i); \
- U8_FWD_1(s, i, length); \
- } \
-}
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/utf_old.h b/Source/WebKit/mac/icu/unicode/utf_old.h
deleted file mode 100644
index 8504a030d..000000000
--- a/Source/WebKit/mac/icu/unicode/utf_old.h
+++ /dev/null
@@ -1 +0,0 @@
-/* This file is intentionally left blank. */
diff --git a/Source/WebKit/mac/icu/unicode/utypes.h b/Source/WebKit/mac/icu/unicode/utypes.h
deleted file mode 100644
index 00bf14ce8..000000000
--- a/Source/WebKit/mac/icu/unicode/utypes.h
+++ /dev/null
@@ -1,865 +0,0 @@
-/*
-**********************************************************************
-* Copyright (C) 1996-2010, International Business Machines
-* Corporation and others. All Rights Reserved.
-**********************************************************************
-*
-* FILE NAME : UTYPES.H (formerly ptypes.h)
-*
-* Date Name Description
-* 12/11/96 helena Creation.
-* 02/27/97 aliu Added typedefs for UClassID, int8, int16, int32,
-* uint8, uint16, and uint32.
-* 04/01/97 aliu Added XP_CPLUSPLUS and modified to work under C as
-* well as C++.
-* Modified to use memcpy() for uprv_arrayCopy() fns.
-* 04/14/97 aliu Added TPlatformUtilities.
-* 05/07/97 aliu Added import/export specifiers (replacing the old
-* broken EXT_CLASS). Added version number for our
-* code. Cleaned up header.
-* 6/20/97 helena Java class name change.
-* 08/11/98 stephen UErrorCode changed from typedef to enum
-* 08/12/98 erm Changed T_ANALYTIC_PACKAGE_VERSION to 3
-* 08/14/98 stephen Added uprv_arrayCopy() for int8_t, int16_t, int32_t
-* 12/09/98 jfitz Added BUFFER_OVERFLOW_ERROR (bug 1100066)
-* 04/20/99 stephen Cleaned up & reworked for autoconf.
-* Renamed to utypes.h.
-* 05/05/99 stephen Changed to use <inttypes.h>
-* 12/07/99 helena Moved copyright notice string from ucnv_bld.h here.
-*******************************************************************************
-*/
-
-#ifndef UTYPES_H
-#define UTYPES_H
-
-
-#include "unicode/umachine.h"
-#include "unicode/utf.h"
-#include "unicode/uversion.h"
-#include "unicode/uconfig.h"
-
-/*!
- * \file
- * \brief Basic definitions for ICU, for both C and C++ APIs
- *
- * This file defines basic types, constants, and enumerations directly or
- * indirectly by including other header files, especially utf.h for the
- * basic character and string definitions and umachine.h for consistent
- * integer and other types.
- */
-
-
-/**
- * \def U_SHOW_CPLUSPLUS_API
- * @internal
- */
-#ifdef XP_CPLUSPLUS
-# ifndef U_SHOW_CPLUSPLUS_API
-# define U_SHOW_CPLUSPLUS_API 1
-# endif
-#else
-# undef U_SHOW_CPLUSPLUS_API
-# define U_SHOW_CPLUSPLUS_API 0
-#endif
-
-/** @{ API visibility control */
-
-/**
- * \def U_HIDE_DRAFT_API
- * Define this to 1 to request that draft API be "hidden"
- */
-#if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_DRAFT_API)
-#define U_HIDE_DRAFT_API 1
-#endif
-#if !U_DEFAULT_SHOW_DRAFT && !defined(U_SHOW_INTERNAL_API)
-#define U_HIDE_INTERNAL_API 1
-#endif
-
-#ifdef U_HIDE_DRAFT_API
-#include "unicode/udraft.h"
-#endif
-
-#ifdef U_HIDE_DEPRECATED_API
-#include "unicode/udeprctd.h"
-#endif
-
-#ifdef U_HIDE_DEPRECATED_API
-#include "unicode/uobslete.h"
-#endif
-
-#ifdef U_HIDE_INTERNAL_API
-#include "unicode/uintrnal.h"
-#endif
-
-#ifdef U_HIDE_SYSTEM_API
-#include "unicode/usystem.h"
-#endif
-
-/** @} */
-
-
-/*===========================================================================*/
-/* char Character set family */
-/*===========================================================================*/
-
-/**
- * U_CHARSET_FAMILY is equal to this value when the platform is an ASCII based platform.
- * @stable ICU 2.0
- */
-#define U_ASCII_FAMILY 0
-
-/**
- * U_CHARSET_FAMILY is equal to this value when the platform is an EBCDIC based platform.
- * @stable ICU 2.0
- */
-#define U_EBCDIC_FAMILY 1
-
-/**
- * \def U_CHARSET_FAMILY
- *
- * <p>These definitions allow to specify the encoding of text
- * in the char data type as defined by the platform and the compiler.
- * It is enough to determine the code point values of "invariant characters",
- * which are the ones shared by all encodings that are in use
- * on a given platform.</p>
- *
- * <p>Those "invariant characters" should be all the uppercase and lowercase
- * latin letters, the digits, the space, and "basic punctuation".
- * Also, '\\n', '\\r', '\\t' should be available.</p>
- *
- * <p>The list of "invariant characters" is:<br>
- * \code
- * A-Z a-z 0-9 SPACE " % &amp; ' ( ) * + , - . / : ; < = > ? _
- * \endcode
- * <br>
- * (52 letters + 10 numbers + 20 punc/sym/space = 82 total)</p>
- *
- * <p>This matches the IBM Syntactic Character Set (CS 640).</p>
- *
- * <p>In other words, all the graphic characters in 7-bit ASCII should
- * be safely accessible except the following:</p>
- *
- * \code
- * '\' <backslash>
- * '[' <left bracket>
- * ']' <right bracket>
- * '{' <left brace>
- * '}' <right brace>
- * '^' <circumflex>
- * '~' <tilde>
- * '!' <exclamation mark>
- * '#' <number sign>
- * '|' <vertical line>
- * '$' <dollar sign>
- * '@' <commercial at>
- * '`' <grave accent>
- * \endcode
- * @stable ICU 2.0
- */
-
-#ifndef U_CHARSET_FAMILY
-# define U_CHARSET_FAMILY 0
-#endif
-
-/**
- * \def U_CHARSET_IS_UTF8
- *
- * Hardcode the default charset to UTF-8.
- *
- * If this is set to 1, then
- * - ICU will assume that all non-invariant char*, StringPiece, std::string etc.
- * contain UTF-8 text, regardless of what the system API uses
- * - some ICU code will use fast functions like u_strFromUTF8()
- * rather than the more general and more heavy-weight conversion API (ucnv.h)
- * - ucnv_getDefaultName() always returns "UTF-8"
- * - ucnv_setDefaultName() is disabled and will not change the default charset
- * - static builds of ICU are smaller
- * - more functionality is available with the UCONFIG_NO_CONVERSION build-time
- * configuration option (see unicode/uconfig.h)
- * - the UCONFIG_NO_CONVERSION build option in uconfig.h is more usable
- *
- * @stable ICU 4.2
- * @see UCONFIG_NO_CONVERSION
- */
-#ifndef U_CHARSET_IS_UTF8
-# define U_CHARSET_IS_UTF8 0
-#endif
-
-/*===========================================================================*/
-/* ICUDATA naming scheme */
-/*===========================================================================*/
-
-/**
- * \def U_ICUDATA_TYPE_LETTER
- *
- * This is a platform-dependent string containing one letter:
- * - b for big-endian, ASCII-family platforms
- * - l for little-endian, ASCII-family platforms
- * - e for big-endian, EBCDIC-family platforms
- * This letter is part of the common data file name.
- * @stable ICU 2.0
- */
-
-/**
- * \def U_ICUDATA_TYPE_LITLETTER
- * The non-string form of U_ICUDATA_TYPE_LETTER
- * @stable ICU 2.0
- */
-#if U_CHARSET_FAMILY
-# if U_IS_BIG_ENDIAN
- /* EBCDIC - should always be BE */
-# define U_ICUDATA_TYPE_LETTER "e"
-# define U_ICUDATA_TYPE_LITLETTER e
-# else
-# error "Don't know what to do with little endian EBCDIC!"
-# define U_ICUDATA_TYPE_LETTER "x"
-# define U_ICUDATA_TYPE_LITLETTER x
-# endif
-#else
-# if U_IS_BIG_ENDIAN
- /* Big-endian ASCII */
-# define U_ICUDATA_TYPE_LETTER "b"
-# define U_ICUDATA_TYPE_LITLETTER b
-# else
- /* Little-endian ASCII */
-# define U_ICUDATA_TYPE_LETTER "l"
-# define U_ICUDATA_TYPE_LITLETTER l
-# endif
-#endif
-
-/**
- * A single string literal containing the icudata stub name. i.e. 'icudt18e' for
- * ICU 1.8.x on EBCDIC, etc..
- * @stable ICU 2.0
- */
-#define U_ICUDATA_NAME "icudt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER /**< @internal */
-#define U_USRDATA_NAME "usrdt" U_ICU_VERSION_SHORT U_ICUDATA_TYPE_LETTER /**< @internal */
-#define U_USE_USRDATA 0 /**< @internal */
-
-/**
- * U_ICU_ENTRY_POINT is the name of the DLL entry point to the ICU data library.
- * Defined as a literal, not a string.
- * Tricky Preprocessor use - ## operator replaces macro paramters with the literal string
- * from the corresponding macro invocation, _before_ other macro substitutions.
- * Need a nested \#defines to get the actual version numbers rather than
- * the literal text U_ICU_VERSION_MAJOR_NUM into the name.
- * The net result will be something of the form
- * \#define U_ICU_ENTRY_POINT icudt19_dat
- * @stable ICU 2.4
- */
-#define U_ICUDATA_ENTRY_POINT U_DEF2_ICUDATA_ENTRY_POINT(U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM)
-
-/**
- * Do not use.
- * @internal
- */
-#define U_DEF2_ICUDATA_ENTRY_POINT(major, minor) U_DEF_ICUDATA_ENTRY_POINT(major, minor)
-/**
- * Do not use.
- * @internal
- */
-#ifndef U_DEF_ICUDATA_ENTRY_POINT
-/* affected by symbol renaming. See platform.h */
-#define U_DEF_ICUDATA_ENTRY_POINT(major, minor) icudt##major##minor##_dat
-#endif
-
-/**
- * \def U_CALLCONV
- * Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary
- * in callback function typedefs to make sure that the calling convention
- * is compatible.
- *
- * This is only used for non-ICU-API functions.
- * When a function is a public ICU API,
- * you must use the U_CAPI and U_EXPORT2 qualifiers.
- * @stable ICU 2.0
- */
-#if defined(OS390) && defined(XP_CPLUSPLUS)
-# define U_CALLCONV __cdecl
-#else
-# define U_CALLCONV U_EXPORT2
-#endif
-
-/**
- * \def NULL
- * Define NULL if necessary, to 0 for C++ and to ((void *)0) for C.
- * @stable ICU 2.0
- */
-#ifndef NULL
-#ifdef XP_CPLUSPLUS
-#define NULL 0
-#else
-#define NULL ((void *)0)
-#endif
-#endif
-
-/*===========================================================================*/
-/* Calendar/TimeZone data types */
-/*===========================================================================*/
-
-/**
- * Date and Time data type.
- * This is a primitive data type that holds the date and time
- * as the number of milliseconds since 1970-jan-01, 00:00 UTC.
- * UTC leap seconds are ignored.
- * @stable ICU 2.0
- */
-typedef double UDate;
-
-/** The number of milliseconds per second @stable ICU 2.0 */
-#define U_MILLIS_PER_SECOND (1000)
-/** The number of milliseconds per minute @stable ICU 2.0 */
-#define U_MILLIS_PER_MINUTE (60000)
-/** The number of milliseconds per hour @stable ICU 2.0 */
-#define U_MILLIS_PER_HOUR (3600000)
-/** The number of milliseconds per day @stable ICU 2.0 */
-#define U_MILLIS_PER_DAY (86400000)
-
-
-/*===========================================================================*/
-/* UClassID-based RTTI */
-/*===========================================================================*/
-
-/**
- * UClassID is used to identify classes without using RTTI, since RTTI
- * is not yet supported by all C++ compilers. Each class hierarchy which needs
- * to implement polymorphic clone() or operator==() defines two methods,
- * described in detail below. UClassID values can be compared using
- * operator==(). Nothing else should be done with them.
- *
- * \par
- * getDynamicClassID() is declared in the base class of the hierarchy as
- * a pure virtual. Each concrete subclass implements it in the same way:
- *
- * \code
- * class Base {
- * public:
- * virtual UClassID getDynamicClassID() const = 0;
- * }
- *
- * class Derived {
- * public:
- * virtual UClassID getDynamicClassID() const
- * { return Derived::getStaticClassID(); }
- * }
- * \endcode
- *
- * Each concrete class implements getStaticClassID() as well, which allows
- * clients to test for a specific type.
- *
- * \code
- * class Derived {
- * public:
- * static UClassID U_EXPORT2 getStaticClassID();
- * private:
- * static char fgClassID;
- * }
- *
- * // In Derived.cpp:
- * UClassID Derived::getStaticClassID()
- * { return (UClassID)&Derived::fgClassID; }
- * char Derived::fgClassID = 0; // Value is irrelevant
- * \endcode
- * @stable ICU 2.0
- */
-typedef void* UClassID;
-
-/*===========================================================================*/
-/* Shared library/DLL import-export API control */
-/*===========================================================================*/
-
-/*
- * Control of symbol import/export.
- * ICU is separated into three libraries.
- */
-
-/*
- * \def U_COMBINED_IMPLEMENTATION
- * Set to export library symbols from inside the ICU library
- * when all of ICU is in a single library.
- * This can be set as a compiler option while building ICU, and it
- * needs to be the first one tested to override U_COMMON_API, U_I18N_API, etc.
- * @stable ICU 2.0
- */
-
-/**
- * \def U_DATA_API
- * Set to export library symbols from inside the stubdata library,
- * and to import them from outside.
- * @stable ICU 3.0
- */
-
-/**
- * \def U_COMMON_API
- * Set to export library symbols from inside the common library,
- * and to import them from outside.
- * @stable ICU 2.0
- */
-
-/**
- * \def U_I18N_API
- * Set to export library symbols from inside the i18n library,
- * and to import them from outside.
- * @stable ICU 2.0
- */
-
-/**
- * \def U_LAYOUT_API
- * Set to export library symbols from inside the layout engine library,
- * and to import them from outside.
- * @stable ICU 2.0
- */
-
-/**
- * \def U_LAYOUTEX_API
- * Set to export library symbols from inside the layout extensions library,
- * and to import them from outside.
- * @stable ICU 2.6
- */
-
-/**
- * \def U_IO_API
- * Set to export library symbols from inside the ustdio library,
- * and to import them from outside.
- * @stable ICU 2.0
- */
-
-/**
- * \def U_TOOLUTIL_API
- * Set to export library symbols from inside the toolutil library,
- * and to import them from outside.
- * @stable ICU 3.4
- */
-
-#if defined(U_COMBINED_IMPLEMENTATION)
-#define U_DATA_API U_EXPORT
-#define U_COMMON_API U_EXPORT
-#define U_I18N_API U_EXPORT
-#define U_LAYOUT_API U_EXPORT
-#define U_LAYOUTEX_API U_EXPORT
-#define U_IO_API U_EXPORT
-#define U_TOOLUTIL_API U_EXPORT
-#elif defined(U_STATIC_IMPLEMENTATION)
-#define U_DATA_API
-#define U_COMMON_API
-#define U_I18N_API
-#define U_LAYOUT_API
-#define U_LAYOUTEX_API
-#define U_IO_API
-#define U_TOOLUTIL_API
-#elif defined(U_COMMON_IMPLEMENTATION)
-#define U_DATA_API U_IMPORT
-#define U_COMMON_API U_EXPORT
-#define U_I18N_API U_IMPORT
-#define U_LAYOUT_API U_IMPORT
-#define U_LAYOUTEX_API U_IMPORT
-#define U_IO_API U_IMPORT
-#define U_TOOLUTIL_API U_IMPORT
-#elif defined(U_I18N_IMPLEMENTATION)
-#define U_DATA_API U_IMPORT
-#define U_COMMON_API U_IMPORT
-#define U_I18N_API U_EXPORT
-#define U_LAYOUT_API U_IMPORT
-#define U_LAYOUTEX_API U_IMPORT
-#define U_IO_API U_IMPORT
-#define U_TOOLUTIL_API U_IMPORT
-#elif defined(U_LAYOUT_IMPLEMENTATION)
-#define U_DATA_API U_IMPORT
-#define U_COMMON_API U_IMPORT
-#define U_I18N_API U_IMPORT
-#define U_LAYOUT_API U_EXPORT
-#define U_LAYOUTEX_API U_IMPORT
-#define U_IO_API U_IMPORT
-#define U_TOOLUTIL_API U_IMPORT
-#elif defined(U_LAYOUTEX_IMPLEMENTATION)
-#define U_DATA_API U_IMPORT
-#define U_COMMON_API U_IMPORT
-#define U_I18N_API U_IMPORT
-#define U_LAYOUT_API U_IMPORT
-#define U_LAYOUTEX_API U_EXPORT
-#define U_IO_API U_IMPORT
-#define U_TOOLUTIL_API U_IMPORT
-#elif defined(U_IO_IMPLEMENTATION)
-#define U_DATA_API U_IMPORT
-#define U_COMMON_API U_IMPORT
-#define U_I18N_API U_IMPORT
-#define U_LAYOUT_API U_IMPORT
-#define U_LAYOUTEX_API U_IMPORT
-#define U_IO_API U_EXPORT
-#define U_TOOLUTIL_API U_IMPORT
-#elif defined(U_TOOLUTIL_IMPLEMENTATION)
-#define U_DATA_API U_IMPORT
-#define U_COMMON_API U_IMPORT
-#define U_I18N_API U_IMPORT
-#define U_LAYOUT_API U_IMPORT
-#define U_LAYOUTEX_API U_IMPORT
-#define U_IO_API U_IMPORT
-#define U_TOOLUTIL_API U_EXPORT
-#else
-#define U_DATA_API U_IMPORT
-#define U_COMMON_API U_IMPORT
-#define U_I18N_API U_IMPORT
-#define U_LAYOUT_API U_IMPORT
-#define U_LAYOUTEX_API U_IMPORT
-#define U_IO_API U_IMPORT
-#define U_TOOLUTIL_API U_IMPORT
-#endif
-
-/**
- * \def U_STANDARD_CPP_NAMESPACE
- * Control of C++ Namespace
- * @stable ICU 2.0
- */
-#ifdef __cplusplus
-#define U_STANDARD_CPP_NAMESPACE ::
-#else
-#define U_STANDARD_CPP_NAMESPACE
-#endif
-
-
-/*===========================================================================*/
-/* Global delete operator */
-/*===========================================================================*/
-
-/*
- * The ICU4C library must not use the global new and delete operators.
- * These operators here are defined to enable testing for this.
- * See Jitterbug 2581 for details of why this is necessary.
- *
- * Verification that ICU4C's memory usage is correct, i.e.,
- * that global new/delete are not used:
- *
- * a) Check for imports of global new/delete (see uobject.cpp for details)
- * b) Verify that new is never imported.
- * c) Verify that delete is only imported from object code for interface/mixin classes.
- * d) Add global delete and delete[] only for the ICU4C library itself
- * and define them in a way that crashes or otherwise easily shows a problem.
- *
- * The following implements d).
- * The operator implementations crash; this is intentional and used for library debugging.
- *
- * Note: This is currently only done on Windows because
- * some Linux/Unix compilers have problems with defining global new/delete.
- * On Windows, U_WINDOWS is defined, and it is _MSC_VER>=1200 for MSVC 6.0 and higher.
- */
-#if defined(XP_CPLUSPLUS) && defined(WIN32) && U_DEBUG && U_OVERRIDE_CXX_ALLOCATION && (_MSC_VER>=1200) && !defined(U_STATIC_IMPLEMENTATION) && (defined(U_COMMON_IMPLEMENTATION) || defined(U_I18N_IMPLEMENTATION) || defined(U_IO_IMPLEMENTATION) || defined(U_LAYOUT_IMPLEMENTATION) || defined(U_LAYOUTEX_IMPLEMENTATION))
-
-#ifndef U_HIDE_INTERNAL_API
-/**
- * Global operator new, defined only inside ICU4C, must not be used.
- * Crashes intentionally.
- * @internal
- */
-inline void *
-operator new(size_t /*size*/) {
- char *q=NULL;
- *q=5; /* break it */
- return q;
-}
-
-#ifdef _Ret_bytecap_
-/* This is only needed to suppress a Visual C++ 2008 warning for operator new[]. */
-_Ret_bytecap_(_Size)
-#endif
-/**
- * Global operator new[], defined only inside ICU4C, must not be used.
- * Crashes intentionally.
- * @internal
- */
-inline void *
-operator new[](size_t /*size*/) {
- char *q=NULL;
- *q=5; /* break it */
- return q;
-}
-
-/**
- * Global operator delete, defined only inside ICU4C, must not be used.
- * Crashes intentionally.
- * @internal
- */
-inline void
-operator delete(void * /*p*/) {
- char *q=NULL;
- *q=5; /* break it */
-}
-
-/**
- * Global operator delete[], defined only inside ICU4C, must not be used.
- * Crashes intentionally.
- * @internal
- */
-inline void
-operator delete[](void * /*p*/) {
- char *q=NULL;
- *q=5; /* break it */
-}
-
-#endif /* U_HIDE_INTERNAL_API */
-#endif
-
-/*===========================================================================*/
-/* UErrorCode */
-/*===========================================================================*/
-
-/**
- * Error code to replace exception handling, so that the code is compatible with all C++ compilers,
- * and to use the same mechanism for C and C++.
- *
- * \par
- * ICU functions that take a reference (C++) or a pointer (C) to a UErrorCode
- * first test if(U_FAILURE(errorCode)) { return immediately; }
- * so that in a chain of such functions the first one that sets an error code
- * causes the following ones to not perform any operations.
- *
- * \par
- * Error codes should be tested using U_FAILURE() and U_SUCCESS().
- * @stable ICU 2.0
- */
-typedef enum UErrorCode {
- /* The ordering of U_ERROR_INFO_START Vs U_USING_FALLBACK_WARNING looks weird
- * and is that way because VC++ debugger displays first encountered constant,
- * which is not the what the code is used for
- */
-
- U_USING_FALLBACK_WARNING = -128, /**< A resource bundle lookup returned a fallback result (not an error) */
-
- U_ERROR_WARNING_START = -128, /**< Start of information results (semantically successful) */
-
- U_USING_DEFAULT_WARNING = -127, /**< A resource bundle lookup returned a result from the root locale (not an error) */
-
- U_SAFECLONE_ALLOCATED_WARNING = -126, /**< A SafeClone operation required allocating memory (informational only) */
-
- U_STATE_OLD_WARNING = -125, /**< ICU has to use compatibility layer to construct the service. Expect performance/memory usage degradation. Consider upgrading */
-
- U_STRING_NOT_TERMINATED_WARNING = -124,/**< An output string could not be NUL-terminated because output length==destCapacity. */
-
- U_SORT_KEY_TOO_SHORT_WARNING = -123, /**< Number of levels requested in getBound is higher than the number of levels in the sort key */
-
- U_AMBIGUOUS_ALIAS_WARNING = -122, /**< This converter alias can go to different converter implementations */
-
- U_DIFFERENT_UCA_VERSION = -121, /**< ucol_open encountered a mismatch between UCA version and collator image version, so the collator was constructed from rules. No impact to further function */
-
- U_PLUGIN_CHANGED_LEVEL_WARNING = -120, /**< A plugin caused a level change. May not be an error, but later plugins may not load. */
-
- U_ERROR_WARNING_LIMIT, /**< This must always be the last warning value to indicate the limit for UErrorCode warnings (last warning code +1) */
-
-
- U_ZERO_ERROR = 0, /**< No error, no warning. */
-
- U_ILLEGAL_ARGUMENT_ERROR = 1, /**< Start of codes indicating failure */
- U_MISSING_RESOURCE_ERROR = 2, /**< The requested resource cannot be found */
- U_INVALID_FORMAT_ERROR = 3, /**< Data format is not what is expected */
- U_FILE_ACCESS_ERROR = 4, /**< The requested file cannot be found */
- U_INTERNAL_PROGRAM_ERROR = 5, /**< Indicates a bug in the library code */
- U_MESSAGE_PARSE_ERROR = 6, /**< Unable to parse a message (message format) */
- U_MEMORY_ALLOCATION_ERROR = 7, /**< Memory allocation error */
- U_INDEX_OUTOFBOUNDS_ERROR = 8, /**< Trying to access the index that is out of bounds */
- U_PARSE_ERROR = 9, /**< Equivalent to Java ParseException */
- U_INVALID_CHAR_FOUND = 10, /**< Character conversion: Unmappable input sequence. In other APIs: Invalid character. */
- U_TRUNCATED_CHAR_FOUND = 11, /**< Character conversion: Incomplete input sequence. */
- U_ILLEGAL_CHAR_FOUND = 12, /**< Character conversion: Illegal input sequence/combination of input units. */
- U_INVALID_TABLE_FORMAT = 13, /**< Conversion table file found, but corrupted */
- U_INVALID_TABLE_FILE = 14, /**< Conversion table file not found */
- U_BUFFER_OVERFLOW_ERROR = 15, /**< A result would not fit in the supplied buffer */
- U_UNSUPPORTED_ERROR = 16, /**< Requested operation not supported in current context */
- U_RESOURCE_TYPE_MISMATCH = 17, /**< an operation is requested over a resource that does not support it */
- U_ILLEGAL_ESCAPE_SEQUENCE = 18, /**< ISO-2022 illlegal escape sequence */
- U_UNSUPPORTED_ESCAPE_SEQUENCE = 19, /**< ISO-2022 unsupported escape sequence */
- U_NO_SPACE_AVAILABLE = 20, /**< No space available for in-buffer expansion for Arabic shaping */
- U_CE_NOT_FOUND_ERROR = 21, /**< Currently used only while setting variable top, but can be used generally */
- U_PRIMARY_TOO_LONG_ERROR = 22, /**< User tried to set variable top to a primary that is longer than two bytes */
- U_STATE_TOO_OLD_ERROR = 23, /**< ICU cannot construct a service from this state, as it is no longer supported */
- U_TOO_MANY_ALIASES_ERROR = 24, /**< There are too many aliases in the path to the requested resource.
- It is very possible that a circular alias definition has occured */
- U_ENUM_OUT_OF_SYNC_ERROR = 25, /**< UEnumeration out of sync with underlying collection */
- U_INVARIANT_CONVERSION_ERROR = 26, /**< Unable to convert a UChar* string to char* with the invariant converter. */
- U_INVALID_STATE_ERROR = 27, /**< Requested operation can not be completed with ICU in its current state */
- U_COLLATOR_VERSION_MISMATCH = 28, /**< Collator version is not compatible with the base version */
- U_USELESS_COLLATOR_ERROR = 29, /**< Collator is options only and no base is specified */
- U_NO_WRITE_PERMISSION = 30, /**< Attempt to modify read-only or constant data. */
-
- U_STANDARD_ERROR_LIMIT, /**< This must always be the last value to indicate the limit for standard errors */
- /*
- * the error code range 0x10000 0x10100 are reserved for Transliterator
- */
- U_BAD_VARIABLE_DEFINITION=0x10000,/**< Missing '$' or duplicate variable name */
- U_PARSE_ERROR_START = 0x10000, /**< Start of Transliterator errors */
- U_MALFORMED_RULE, /**< Elements of a rule are misplaced */
- U_MALFORMED_SET, /**< A UnicodeSet pattern is invalid*/
- U_MALFORMED_SYMBOL_REFERENCE, /**< UNUSED as of ICU 2.4 */
- U_MALFORMED_UNICODE_ESCAPE, /**< A Unicode escape pattern is invalid*/
- U_MALFORMED_VARIABLE_DEFINITION, /**< A variable definition is invalid */
- U_MALFORMED_VARIABLE_REFERENCE, /**< A variable reference is invalid */
- U_MISMATCHED_SEGMENT_DELIMITERS, /**< UNUSED as of ICU 2.4 */
- U_MISPLACED_ANCHOR_START, /**< A start anchor appears at an illegal position */
- U_MISPLACED_CURSOR_OFFSET, /**< A cursor offset occurs at an illegal position */
- U_MISPLACED_QUANTIFIER, /**< A quantifier appears after a segment close delimiter */
- U_MISSING_OPERATOR, /**< A rule contains no operator */
- U_MISSING_SEGMENT_CLOSE, /**< UNUSED as of ICU 2.4 */
- U_MULTIPLE_ANTE_CONTEXTS, /**< More than one ante context */
- U_MULTIPLE_CURSORS, /**< More than one cursor */
- U_MULTIPLE_POST_CONTEXTS, /**< More than one post context */
- U_TRAILING_BACKSLASH, /**< A dangling backslash */
- U_UNDEFINED_SEGMENT_REFERENCE, /**< A segment reference does not correspond to a defined segment */
- U_UNDEFINED_VARIABLE, /**< A variable reference does not correspond to a defined variable */
- U_UNQUOTED_SPECIAL, /**< A special character was not quoted or escaped */
- U_UNTERMINATED_QUOTE, /**< A closing single quote is missing */
- U_RULE_MASK_ERROR, /**< A rule is hidden by an earlier more general rule */
- U_MISPLACED_COMPOUND_FILTER, /**< A compound filter is in an invalid location */
- U_MULTIPLE_COMPOUND_FILTERS, /**< More than one compound filter */
- U_INVALID_RBT_SYNTAX, /**< A "::id" rule was passed to the RuleBasedTransliterator parser */
- U_INVALID_PROPERTY_PATTERN, /**< UNUSED as of ICU 2.4 */
- U_MALFORMED_PRAGMA, /**< A 'use' pragma is invlalid */
- U_UNCLOSED_SEGMENT, /**< A closing ')' is missing */
- U_ILLEGAL_CHAR_IN_SEGMENT, /**< UNUSED as of ICU 2.4 */
- U_VARIABLE_RANGE_EXHAUSTED, /**< Too many stand-ins generated for the given variable range */
- U_VARIABLE_RANGE_OVERLAP, /**< The variable range overlaps characters used in rules */
- U_ILLEGAL_CHARACTER, /**< A special character is outside its allowed context */
- U_INTERNAL_TRANSLITERATOR_ERROR, /**< Internal transliterator system error */
- U_INVALID_ID, /**< A "::id" rule specifies an unknown transliterator */
- U_INVALID_FUNCTION, /**< A "&fn()" rule specifies an unknown transliterator */
- U_PARSE_ERROR_LIMIT, /**< The limit for Transliterator errors */
-
- /*
- * the error code range 0x10100 0x10200 are reserved for formatting API parsing error
- */
- U_UNEXPECTED_TOKEN=0x10100, /**< Syntax error in format pattern */
- U_FMT_PARSE_ERROR_START=0x10100, /**< Start of format library errors */
- U_MULTIPLE_DECIMAL_SEPARATORS, /**< More than one decimal separator in number pattern */
- U_MULTIPLE_DECIMAL_SEPERATORS = U_MULTIPLE_DECIMAL_SEPARATORS, /**< Typo: kept for backward compatibility. Use U_MULTIPLE_DECIMAL_SEPARATORS */
- U_MULTIPLE_EXPONENTIAL_SYMBOLS, /**< More than one exponent symbol in number pattern */
- U_MALFORMED_EXPONENTIAL_PATTERN, /**< Grouping symbol in exponent pattern */
- U_MULTIPLE_PERCENT_SYMBOLS, /**< More than one percent symbol in number pattern */
- U_MULTIPLE_PERMILL_SYMBOLS, /**< More than one permill symbol in number pattern */
- U_MULTIPLE_PAD_SPECIFIERS, /**< More than one pad symbol in number pattern */
- U_PATTERN_SYNTAX_ERROR, /**< Syntax error in format pattern */
- U_ILLEGAL_PAD_POSITION, /**< Pad symbol misplaced in number pattern */
- U_UNMATCHED_BRACES, /**< Braces do not match in message pattern */
- U_UNSUPPORTED_PROPERTY, /**< UNUSED as of ICU 2.4 */
- U_UNSUPPORTED_ATTRIBUTE, /**< UNUSED as of ICU 2.4 */
- U_ARGUMENT_TYPE_MISMATCH, /**< Argument name and argument index mismatch in MessageFormat functions */
- U_DUPLICATE_KEYWORD, /**< Duplicate keyword in PluralFormat */
- U_UNDEFINED_KEYWORD, /**< Undefined Plural keyword */
- U_DEFAULT_KEYWORD_MISSING, /**< Missing DEFAULT rule in plural rules */
- U_DECIMAL_NUMBER_SYNTAX_ERROR, /**< Decimal number syntax error */
- U_FMT_PARSE_ERROR_LIMIT, /**< The limit for format library errors */
-
- /*
- * the error code range 0x10200 0x102ff are reserved for Break Iterator related error
- */
- U_BRK_INTERNAL_ERROR=0x10200, /**< An internal error (bug) was detected. */
- U_BRK_ERROR_START=0x10200, /**< Start of codes indicating Break Iterator failures */
- U_BRK_HEX_DIGITS_EXPECTED, /**< Hex digits expected as part of a escaped char in a rule. */
- U_BRK_SEMICOLON_EXPECTED, /**< Missing ';' at the end of a RBBI rule. */
- U_BRK_RULE_SYNTAX, /**< Syntax error in RBBI rule. */
- U_BRK_UNCLOSED_SET, /**< UnicodeSet witing an RBBI rule missing a closing ']'. */
- U_BRK_ASSIGN_ERROR, /**< Syntax error in RBBI rule assignment statement. */
- U_BRK_VARIABLE_REDFINITION, /**< RBBI rule $Variable redefined. */
- U_BRK_MISMATCHED_PAREN, /**< Mis-matched parentheses in an RBBI rule. */
- U_BRK_NEW_LINE_IN_QUOTED_STRING, /**< Missing closing quote in an RBBI rule. */
- U_BRK_UNDEFINED_VARIABLE, /**< Use of an undefined $Variable in an RBBI rule. */
- U_BRK_INIT_ERROR, /**< Initialization failure. Probable missing ICU Data. */
- U_BRK_RULE_EMPTY_SET, /**< Rule contains an empty Unicode Set. */
- U_BRK_UNRECOGNIZED_OPTION, /**< !!option in RBBI rules not recognized. */
- U_BRK_MALFORMED_RULE_TAG, /**< The {nnn} tag on a rule is mal formed */
- U_BRK_ERROR_LIMIT, /**< This must always be the last value to indicate the limit for Break Iterator failures */
-
- /*
- * The error codes in the range 0x10300-0x103ff are reserved for regular expression related errrs
- */
- U_REGEX_INTERNAL_ERROR=0x10300, /**< An internal error (bug) was detected. */
- U_REGEX_ERROR_START=0x10300, /**< Start of codes indicating Regexp failures */
- U_REGEX_RULE_SYNTAX, /**< Syntax error in regexp pattern. */
- U_REGEX_INVALID_STATE, /**< RegexMatcher in invalid state for requested operation */
- U_REGEX_BAD_ESCAPE_SEQUENCE, /**< Unrecognized backslash escape sequence in pattern */
- U_REGEX_PROPERTY_SYNTAX, /**< Incorrect Unicode property */
- U_REGEX_UNIMPLEMENTED, /**< Use of regexp feature that is not yet implemented. */
- U_REGEX_MISMATCHED_PAREN, /**< Incorrectly nested parentheses in regexp pattern. */
- U_REGEX_NUMBER_TOO_BIG, /**< Decimal number is too large. */
- U_REGEX_BAD_INTERVAL, /**< Error in {min,max} interval */
- U_REGEX_MAX_LT_MIN, /**< In {min,max}, max is less than min. */
- U_REGEX_INVALID_BACK_REF, /**< Back-reference to a non-existent capture group. */
- U_REGEX_INVALID_FLAG, /**< Invalid value for match mode flags. */
- U_REGEX_LOOK_BEHIND_LIMIT, /**< Look-Behind pattern matches must have a bounded maximum length. */
- U_REGEX_SET_CONTAINS_STRING, /**< Regexps cannot have UnicodeSets containing strings.*/
- U_REGEX_OCTAL_TOO_BIG, /**< Octal character constants must be <= 0377. */
- U_REGEX_MISSING_CLOSE_BRACKET, /**< Missing closing bracket on a bracket expression. */
- U_REGEX_INVALID_RANGE, /**< In a character range [x-y], x is greater than y. */
- U_REGEX_STACK_OVERFLOW, /**< Regular expression backtrack stack overflow. */
- U_REGEX_TIME_OUT, /**< Maximum allowed match time exceeded */
- U_REGEX_STOPPED_BY_CALLER, /**< Matching operation aborted by user callback fn. */
- U_REGEX_ERROR_LIMIT, /**< This must always be the last value to indicate the limit for regexp errors */
-
- /*
- * The error code in the range 0x10400-0x104ff are reserved for IDNA related error codes
- */
- U_IDNA_PROHIBITED_ERROR=0x10400,
- U_IDNA_ERROR_START=0x10400,
- U_IDNA_UNASSIGNED_ERROR,
- U_IDNA_CHECK_BIDI_ERROR,
- U_IDNA_STD3_ASCII_RULES_ERROR,
- U_IDNA_ACE_PREFIX_ERROR,
- U_IDNA_VERIFICATION_ERROR,
- U_IDNA_LABEL_TOO_LONG_ERROR,
- U_IDNA_ZERO_LENGTH_LABEL_ERROR,
- U_IDNA_DOMAIN_NAME_TOO_LONG_ERROR,
- U_IDNA_ERROR_LIMIT,
- /*
- * Aliases for StringPrep
- */
- U_STRINGPREP_PROHIBITED_ERROR = U_IDNA_PROHIBITED_ERROR,
- U_STRINGPREP_UNASSIGNED_ERROR = U_IDNA_UNASSIGNED_ERROR,
- U_STRINGPREP_CHECK_BIDI_ERROR = U_IDNA_CHECK_BIDI_ERROR,
-
- /*
- * The error code in the range 0x10500-0x105ff are reserved for Plugin related error codes
- */
- U_PLUGIN_ERROR_START=0x10500, /**< Start of codes indicating plugin failures */
- U_PLUGIN_TOO_HIGH=0x10500, /**< The plugin's level is too high to be loaded right now. */
- U_PLUGIN_DIDNT_SET_LEVEL, /**< The plugin didn't call uplug_setPlugLevel in response to a QUERY */
- U_PLUGIN_ERROR_LIMIT, /**< This must always be the last value to indicate the limit for plugin errors */
-
- U_ERROR_LIMIT=U_PLUGIN_ERROR_LIMIT /**< This must always be the last value to indicate the limit for UErrorCode (last error code +1) */
-} UErrorCode;
-
-/* Use the following to determine if an UErrorCode represents */
-/* operational success or failure. */
-
-#ifdef XP_CPLUSPLUS
- /**
- * Does the error code indicate success?
- * @stable ICU 2.0
- */
- static
- inline UBool U_SUCCESS(UErrorCode code) { return (UBool)(code<=U_ZERO_ERROR); }
- /**
- * Does the error code indicate a failure?
- * @stable ICU 2.0
- */
- static
- inline UBool U_FAILURE(UErrorCode code) { return (UBool)(code>U_ZERO_ERROR); }
-#else
- /**
- * Does the error code indicate success?
- * @stable ICU 2.0
- */
-# define U_SUCCESS(x) ((x)<=U_ZERO_ERROR)
- /**
- * Does the error code indicate a failure?
- * @stable ICU 2.0
- */
-# define U_FAILURE(x) ((x)>U_ZERO_ERROR)
-#endif
-
-/**
- * Return a string for a UErrorCode value.
- * The string will be the same as the name of the error code constant
- * in the UErrorCode enum above.
- * @stable ICU 2.0
- */
-U_STABLE const char * U_EXPORT2
-u_errorName(UErrorCode code);
-
-
-#endif /* _UTYPES */
diff --git a/Source/WebKit/mac/icu/unicode/uvernum.h b/Source/WebKit/mac/icu/unicode/uvernum.h
deleted file mode 100644
index 722161292..000000000
--- a/Source/WebKit/mac/icu/unicode/uvernum.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
-*******************************************************************************
-* Copyright (C) 2000-2011, International Business Machines
-* Corporation and others. All Rights Reserved.
-*******************************************************************************
-*
-* file name: uvernum.h
-* encoding: US-ASCII
-* tab size: 8 (not used)
-* indentation:4
-*
-* Created by: Vladimir Weinstein
-* Updated by: Steven R. Loomis
-*
-* Gets included by uversion.h and other files.
-*
-* IMPORTANT: When updating version, the following things need to be done:
-* source/common/unicode/uvernum.h - this file: update major, minor,
-* patchlevel, suffix, version, short version constants, namespace,
-* renaming macro, and copyright
-*
-* The following files need to be updated as well, which can be done
-* by running the UNIX makefile target 'update-windows-makefiles' in icu/source.
-*
-*
-* source/common/common.vcproj - update 'Output file name' on the link tab so
-* that it contains the new major/minor combination
-* source/i18n/i18n.vcproj - same as for the common.vcproj
-* source/layout/layout.vcproj - same as for the common.vcproj
-* source/layoutex/layoutex.vcproj - same
-* source/stubdata/stubdata.vcproj - same as for the common.vcproj
-* source/io/io.vcproj - same as for the common.vcproj
-* source/data/makedata.mak - change U_ICUDATA_NAME so that it contains
-* the new major/minor combination and the Unicode version.
-*/
-
-#ifndef UVERNUM_H
-#define UVERNUM_H
-
-/** The standard copyright notice that gets compiled into each library.
- * This value will change in the subsequent releases of ICU
- * @stable ICU 2.4
- */
-#define U_COPYRIGHT_STRING \
- " Copyright (C) 2011, International Business Machines Corporation and others. All Rights Reserved. "
-
-/** The current ICU major version as an integer.
- * This value will change in the subsequent releases of ICU
- * @stable ICU 2.4
- */
-#define U_ICU_VERSION_MAJOR_NUM 4
-
-/** The current ICU minor version as an integer.
- * This value will change in the subsequent releases of ICU
- * @stable ICU 2.6
- */
-#define U_ICU_VERSION_MINOR_NUM 6
-
-/** The current ICU patchlevel version as an integer.
- * This value will change in the subsequent releases of ICU
- * @stable ICU 2.4
- */
-#define U_ICU_VERSION_PATCHLEVEL_NUM 1
-
-/** The current ICU build level version as an integer.
- * This value is for use by ICU clients. It defaults to 0.
- * @stable ICU 4.0
- */
-#ifndef U_ICU_VERSION_BUILDLEVEL_NUM
-#define U_ICU_VERSION_BUILDLEVEL_NUM 0
-#endif
-
-/** Glued version suffix for renamers
- * This value will change in the subsequent releases of ICU
- * @stable ICU 2.6
- */
-#define U_ICU_VERSION_SUFFIX _46
-
-/** Glued version suffix function for renamers
- * This value will change in the subsequent releases of ICU.
- * If a custom suffix (such as matching library suffixes) is desired, this can be modified.
- * Note that if present, platform.h may contain an earlier definition of this macro.
- * @stable ICU 4.2
- */
-#ifndef U_ICU_ENTRY_POINT_RENAME
-#define U_ICU_ENTRY_POINT_RENAME(x) x ## _46
-#endif
-
-/** The current ICU library version as a dotted-decimal string. The patchlevel
- * only appears in this string if it non-zero.
- * This value will change in the subsequent releases of ICU
- * @stable ICU 2.4
- */
-#define U_ICU_VERSION "4.6.1"
-
-/** The current ICU library major/minor version as a string without dots, for library name suffixes.
- * This value will change in the subsequent releases of ICU
- * @stable ICU 2.6
- */
-#define U_ICU_VERSION_SHORT "46"
-
-/** Data version in ICU4C.
- * @internal ICU 4.4 Internal Use Only
- **/
-#define U_ICU_DATA_VERSION "4.6"
-
-/*===========================================================================
- * ICU collation framework version information
- * Version info that can be obtained from a collator is affected by these
- * numbers in a secret and magic way. Please use collator version as whole
- *===========================================================================
- */
-
-/**
- * Collation runtime version (sort key generator, strcoll).
- * If the version is different, sort keys for the same string could be different.
- * This value may change in subsequent releases of ICU.
- * @stable ICU 2.4
- */
-#define UCOL_RUNTIME_VERSION 7
-
-/**
- * Collation builder code version.
- * When this is different, the same tailoring might result
- * in assigning different collation elements to code points.
- * This value may change in subsequent releases of ICU.
- * @stable ICU 2.4
- */
-#define UCOL_BUILDER_VERSION 8
-
-/**
- * This is the version of collation tailorings.
- * This value may change in subsequent releases of ICU.
- * @stable ICU 2.4
- */
-#define UCOL_TAILORINGS_VERSION 1
-
-#endif
diff --git a/Source/WebKit/mac/icu/unicode/uversion.h b/Source/WebKit/mac/icu/unicode/uversion.h
deleted file mode 100644
index e54cd55a6..000000000
--- a/Source/WebKit/mac/icu/unicode/uversion.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
-*******************************************************************************
-* Copyright (C) 2000-2010, International Business Machines
-* Corporation and others. All Rights Reserved.
-*******************************************************************************
-*
-* file name: uversion.h
-* encoding: US-ASCII
-* tab size: 8 (not used)
-* indentation:4
-*
-* Created by: Vladimir Weinstein
-*
-* Gets included by utypes.h and Windows .rc files
-*/
-
-/**
- * \file
- * \brief C API: API for accessing ICU version numbers.
- */
-/*===========================================================================*/
-/* Main ICU version information */
-/*===========================================================================*/
-
-#ifndef UVERSION_H
-#define UVERSION_H
-
-#include "unicode/umachine.h"
-
-/* Actual version info lives in uvernum.h */
-#include "unicode/uvernum.h"
-
-/** Maximum length of the copyright string.
- * @stable ICU 2.4
- */
-#define U_COPYRIGHT_STRING_LENGTH 128
-
-/** An ICU version consists of up to 4 numbers from 0..255.
- * @stable ICU 2.4
- */
-#define U_MAX_VERSION_LENGTH 4
-
-/** In a string, ICU version fields are delimited by dots.
- * @stable ICU 2.4
- */
-#define U_VERSION_DELIMITER '.'
-
-/** The maximum length of an ICU version string.
- * @stable ICU 2.4
- */
-#define U_MAX_VERSION_STRING_LENGTH 20
-
-/** The binary form of a version on ICU APIs is an array of 4 uint8_t.
- * To compare two versions, use memcmp(v1,v2,sizeof(UVersionInfo)).
- * @stable ICU 2.4
- */
-typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
-
-/*===========================================================================*/
-/* C++ namespace if supported. Versioned unless versioning is disabled. */
-/*===========================================================================*/
-
-/**
- * \def U_NAMESPACE_BEGIN
- * This is used to begin a declaration of a public ICU C++ API.
- * When not compiling for C++, it does nothing.
- * When compiling for C++, it begins an extern "C++" linkage block (to protect
- * against cases in which an external client includes ICU header files inside
- * an extern "C" linkage block).
- * If the C++ compiler supports namespaces, it also begins a namespace block.
- * @stable ICU 2.4
- */
-
-/**
- * \def U_NAMESPACE_END
- * This is used to end a declaration of a public ICU C++ API.
- * When not compiling for C++, it does nothing.
- * When compiling for C++, it ends the extern "C++" block begun by
- * U_NAMESPACE_BEGIN.
- * If the C++ compiler supports namespaces, it also ends the namespace block
- * begun by U_NAMESPACE_BEGIN.
- * @stable ICU 2.4
- */
-
-/**
- * \def U_NAMESPACE_USE
- * This is used to specify that the rest of the code uses the
- * public ICU C++ API namespace.
- * If the compiler doesn't support namespaces, this does nothing.
- * @stable ICU 2.4
- */
-
-/**
- * \def U_NAMESPACE_QUALIFIER
- * This is used to qualify that a function or class is part of
- * the public ICU C++ API namespace.
- * If the compiler doesn't support namespaces, this does nothing.
- * @stable ICU 2.4
- */
-
-/* Define namespace symbols if the compiler supports it. */
-#ifdef XP_CPLUSPLUS
-#if U_HAVE_NAMESPACE
-# if U_DISABLE_RENAMING
-# define U_ICU_NAMESPACE icu
- namespace U_ICU_NAMESPACE { }
-# else
-# define U_ICU_NAMESPACE U_ICU_ENTRY_POINT_RENAME(icu)
- namespace U_ICU_NAMESPACE { }
- namespace icu = U_ICU_NAMESPACE;
-# endif
-
-# define U_NAMESPACE_BEGIN extern "C++" { namespace U_ICU_NAMESPACE {
-# define U_NAMESPACE_END } }
-# define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE;
-# define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE::
-
-# ifndef U_USING_ICU_NAMESPACE
-# define U_USING_ICU_NAMESPACE 1
-# endif
-# if U_USING_ICU_NAMESPACE
- U_NAMESPACE_USE
-# endif
-#else
-# define U_NAMESPACE_BEGIN extern "C++" {
-# define U_NAMESPACE_END }
-# define U_NAMESPACE_USE
-# define U_NAMESPACE_QUALIFIER
-#endif
-#else
-# define U_NAMESPACE_BEGIN
-# define U_NAMESPACE_END
-# define U_NAMESPACE_USE
-# define U_NAMESPACE_QUALIFIER
-#endif
-
-/*===========================================================================*/
-/* General version helper functions. Definitions in putil.c */
-/*===========================================================================*/
-
-/**
- * Parse a string with dotted-decimal version information and
- * fill in a UVersionInfo structure with the result.
- * Definition of this function lives in putil.c
- *
- * @param versionArray The destination structure for the version information.
- * @param versionString A string with dotted-decimal version information,
- * with up to four non-negative number fields with
- * values of up to 255 each.
- * @stable ICU 2.4
- */
-U_STABLE void U_EXPORT2
-u_versionFromString(UVersionInfo versionArray, const char *versionString);
-
-/**
- * Parse a Unicode string with dotted-decimal version information and
- * fill in a UVersionInfo structure with the result.
- * Definition of this function lives in putil.c
- *
- * @param versionArray The destination structure for the version information.
- * @param versionString A Unicode string with dotted-decimal version
- * information, with up to four non-negative number
- * fields with values of up to 255 each.
- * @stable ICU 4.2
- */
-U_STABLE void U_EXPORT2
-u_versionFromUString(UVersionInfo versionArray, const UChar *versionString);
-
-
-/**
- * Write a string with dotted-decimal version information according
- * to the input UVersionInfo.
- * Definition of this function lives in putil.c
- *
- * @param versionArray The version information to be written as a string.
- * @param versionString A string buffer that will be filled in with
- * a string corresponding to the numeric version
- * information in versionArray.
- * The buffer size must be at least U_MAX_VERSION_STRING_LENGTH.
- * @stable ICU 2.4
- */
-U_STABLE void U_EXPORT2
-u_versionToString(UVersionInfo versionArray, char *versionString);
-
-/**
- * Gets the ICU release version. The version array stores the version information
- * for ICU. For example, release "1.3.31.2" is then represented as 0x01031F02.
- * Definition of this function lives in putil.c
- *
- * @param versionArray the version # information, the result will be filled in
- * @stable ICU 2.0
- */
-U_STABLE void U_EXPORT2
-u_getVersion(UVersionInfo versionArray);
-#endif
diff --git a/Source/WebKit/qt/Api/qwebdatabase.cpp b/Source/WebKit/qt/Api/qwebdatabase.cpp
index d33daabb3..371202096 100644
--- a/Source/WebKit/qt/Api/qwebdatabase.cpp
+++ b/Source/WebKit/qt/Api/qwebdatabase.cpp
@@ -86,12 +86,8 @@ QString QWebDatabase::name() const
*/
QString QWebDatabase::displayName() const
{
-#if ENABLE(SQL_DATABASE)
- DatabaseDetails details = DatabaseManager::manager().detailsForNameAndOrigin(d->name, d->origin.get());
+ DatabaseDetails details = DatabaseManager::singleton().detailsForNameAndOrigin(d->name, d->origin.get());
return details.displayName();
-#else
- return QString();
-#endif
}
/*!
@@ -99,12 +95,8 @@ QString QWebDatabase::displayName() const
*/
qint64 QWebDatabase::expectedSize() const
{
-#if ENABLE(SQL_DATABASE)
- DatabaseDetails details = DatabaseManager::manager().detailsForNameAndOrigin(d->name, d->origin.get());
+ DatabaseDetails details = DatabaseManager::singleton().detailsForNameAndOrigin(d->name, d->origin.get());
return details.expectedUsage();
-#else
- return 0;
-#endif
}
/*!
@@ -112,12 +104,8 @@ qint64 QWebDatabase::expectedSize() const
*/
qint64 QWebDatabase::size() const
{
-#if ENABLE(SQL_DATABASE)
- DatabaseDetails details = DatabaseManager::manager().detailsForNameAndOrigin(d->name, d->origin.get());
+ DatabaseDetails details = DatabaseManager::singleton().detailsForNameAndOrigin(d->name, d->origin.get());
return details.currentUsage();
-#else
- return 0;
-#endif
}
/*!
@@ -147,11 +135,7 @@ QWebDatabase::QWebDatabase(QWebDatabasePrivate* priv)
*/
QString QWebDatabase::fileName() const
{
-#if ENABLE(SQL_DATABASE)
- return DatabaseManager::manager().fullPathForDatabase(d->origin.get(), d->name, false);
-#else
- return QString();
-#endif
+ return DatabaseManager::singleton().fullPathForDatabase(d->origin.get(), d->name, false);
}
/*!
@@ -170,9 +154,7 @@ QWebSecurityOrigin QWebDatabase::origin() const
*/
void QWebDatabase::removeDatabase(const QWebDatabase& db)
{
-#if ENABLE(SQL_DATABASE)
- DatabaseManager::manager().deleteDatabase(db.d->origin.get(), db.d->name);
-#endif
+ DatabaseManager::singleton().deleteDatabase(db.d->origin.get(), db.d->name);
}
/*!
@@ -184,9 +166,7 @@ void QWebDatabase::removeDatabase(const QWebDatabase& db)
*/
void QWebDatabase::removeAllDatabases()
{
-#if ENABLE(SQL_DATABASE)
- DatabaseManager::manager().deleteAllDatabases();
-#endif
+ DatabaseManager::singleton().deleteAllDatabases();
}
/*!
diff --git a/Source/WebKit/qt/Api/qwebelement.cpp b/Source/WebKit/qt/Api/qwebelement.cpp
index 8f54d4abc..366dbdf4d 100644
--- a/Source/WebKit/qt/Api/qwebelement.cpp
+++ b/Source/WebKit/qt/Api/qwebelement.cpp
@@ -32,7 +32,7 @@
#include "FrameView.h"
#include "GraphicsContext.h"
#include "HTMLElement.h"
-#include "StylePropertySet.h"
+#include "StyleProperties.h"
#include "StyleRule.h"
#include "Completion.h"
#include "JSGlobalObject.h"
@@ -255,7 +255,7 @@ QWebElement QWebElement::findFirst(const QString &selectorQuery) const
if (!m_element)
return QWebElement();
ExceptionCode exception = 0; // ###
- return QWebElement(m_element->querySelector(selectorQuery, exception).get());
+ return QWebElement(m_element->querySelector(selectorQuery, exception));
}
/*!
@@ -507,9 +507,9 @@ QStringList QWebElement::attributeNames(const QString& namespaceUri) const
const String namespaceUriString(namespaceUri); // convert QString -> String once
const unsigned attrsCount = m_element->attributeCount();
for (unsigned i = 0; i < attrsCount; ++i) {
- const Attribute* const attribute = m_element->attributeItem(i);
- if (namespaceUriString == attribute->namespaceURI())
- attributeNameList.append(attribute->localName());
+ const Attribute& attribute = m_element->attributeAt(i);
+ if (namespaceUriString == attribute.namespaceURI())
+ attributeNameList.append(attribute.localName());
}
}
return attributeNameList;
@@ -524,9 +524,7 @@ bool QWebElement::hasFocus() const
{
if (!m_element)
return false;
- if (m_element->document())
- return m_element == m_element->document()->focusedElement();
- return false;
+ return m_element == m_element->document().focusedElement();
}
/*!
@@ -538,8 +536,8 @@ void QWebElement::setFocus()
{
if (!m_element)
return;
- if (m_element->document() && m_element->isFocusable())
- m_element->document()->setFocusedElement(m_element);
+ if (m_element->isFocusable())
+ m_element->document().setFocusedElement(m_element);
}
/*!
@@ -551,7 +549,12 @@ QRect QWebElement::geometry() const
{
if (!m_element)
return QRect();
- return m_element->pixelSnappedBoundingBox();
+
+ auto* renderer = m_element->renderer();
+ if (!renderer)
+ return QRect();
+
+ return renderer->absoluteBoundingBoxRect();
}
/*!
@@ -622,7 +625,7 @@ QWebElement QWebElement::firstChild() const
for (Node* child = m_element->firstChild(); child; child = child->nextSibling()) {
if (!child->isElementNode())
continue;
- Element* e = toElement(child);
+ Element* e = downcast<Element>(child);
return QWebElement(e);
}
return QWebElement();
@@ -640,7 +643,7 @@ QWebElement QWebElement::lastChild() const
for (Node* child = m_element->lastChild(); child; child = child->previousSibling()) {
if (!child->isElementNode())
continue;
- Element* e = toElement(child);
+ Element* e = downcast<Element>(child);
return QWebElement(e);
}
return QWebElement();
@@ -658,7 +661,7 @@ QWebElement QWebElement::nextSibling() const
for (Node* sib = m_element->nextSibling(); sib; sib = sib->nextSibling()) {
if (!sib->isElementNode())
continue;
- Element* e = toElement(sib);
+ Element* e = downcast<Element>(sib);
return QWebElement(e);
}
return QWebElement();
@@ -676,7 +679,7 @@ QWebElement QWebElement::previousSibling() const
for (Node* sib = m_element->previousSibling(); sib; sib = sib->previousSibling()) {
if (!sib->isElementNode())
continue;
- Element* e = toElement(sib);
+ Element* e = downcast<Element>(sib);
return QWebElement(e);
}
return QWebElement();
@@ -689,10 +692,7 @@ QWebElement QWebElement::document() const
{
if (!m_element)
return QWebElement();
- Document* document = m_element->document();
- if (!document)
- return QWebElement();
- return QWebElement(document->documentElement());
+ return QWebElement(m_element->document().documentElement());
}
/*!
@@ -704,35 +704,23 @@ QWebFrame *QWebElement::webFrame() const
if (!m_element)
return 0;
- Document* document = m_element->document();
- if (!document)
- return 0;
-
- Frame* frame = document->frame();
+ Frame* frame = m_element->document().frame();
if (!frame)
return 0;
QWebFrameAdapter* frameAdapter = QWebFrameAdapter::kit(frame);
return frameAdapter->apiHandle();
}
-static bool setupScriptContext(WebCore::Element* element, ScriptState*& state, ScriptController*& scriptController)
+static bool setupScriptContext(WebCore::Element* element, ScriptState*& state)
{
if (!element)
return false;
- Document* document = element->document();
- if (!document)
- return false;
-
- Frame* frame = document->frame();
+ Frame* frame = element->document().frame();
if (!frame)
return false;
- scriptController = frame->script();
- if (!scriptController)
- return false;
-
- state = scriptController->globalObject(mainThreadNormalWorld())->globalExec();
+ state = frame->script().globalObject(mainThreadNormalWorld())->globalExec();
if (!state)
return false;
@@ -755,22 +743,21 @@ QVariant QWebElement::evaluateJavaScript(const QString& scriptSource)
return QVariant();
ScriptState* state = 0;
- ScriptController* scriptController = 0;
- if (!setupScriptContext(m_element, state, scriptController))
+ if (!setupScriptContext(m_element, state))
return QVariant();
JSC::JSLockHolder lock(state);
RefPtr<Element> protect = m_element;
- JSC::JSValue thisValue = toJS(state, toJSDOMGlobalObject(m_element->document(), state), m_element);
+ JSC::JSValue thisValue = toJS(state, toJSDOMGlobalObject(&m_element->document(), state), m_element);
if (!thisValue)
return QVariant();
ScriptSourceCode sourceCode(scriptSource);
- JSC::JSValue evaluationException;
- JSC::JSValue evaluationResult = JSC::evaluate(state, sourceCode.jsSourceCode(), thisValue, &evaluationException);
+ NakedPtr<JSC::Exception> evaluationException;
+ JSC::JSValue evaluationResult = JSC::evaluate(state, sourceCode.jsSourceCode(), thisValue, evaluationException);
if (evaluationException)
return QVariant();
JSValueRef evaluationResultRef = toRef(state, evaluationResult);
@@ -825,14 +812,14 @@ QString QWebElement::styleProperty(const QString &name, StyleResolveStrategy str
return QString();
if (strategy == InlineStyle) {
- const StylePropertySet* style = static_cast<StyledElement*>(m_element)->inlineStyle();
+ const StyleProperties* style = static_cast<StyledElement*>(m_element)->inlineStyle();
if (!style)
return QString();
return style->getPropertyValue(propID);
}
if (strategy == CascadedStyle) {
- const StylePropertySet* style = static_cast<StyledElement*>(m_element)->inlineStyle();
+ const StyleProperties* style = static_cast<StyledElement*>(m_element)->inlineStyle();
if (style && style->propertyIsImportant(propID))
return style->getPropertyValue(propID);
@@ -844,18 +831,18 @@ QString QWebElement::styleProperty(const QString &name, StyleResolveStrategy str
// by importance and inheritance order. This include external CSS
// declarations, as well as embedded and inline style declarations.
- Document* doc = m_element->document();
- Vector<RefPtr<StyleRuleBase> > rules = doc->ensureStyleResolver()->styleRulesForElement(m_element, StyleResolver::AuthorCSSRules | StyleResolver::CrossOriginCSSRules);
+ Document& document = m_element->document();
+ Vector<RefPtr<StyleRule>> rules = document.ensureStyleResolver().styleRulesForElement(m_element, StyleResolver::AuthorCSSRules | StyleResolver::CrossOriginCSSRules);
for (int i = rules.size(); i > 0; --i) {
if (!rules[i - 1]->isStyleRule())
continue;
StyleRule* styleRule = static_cast<StyleRule*>(rules[i - 1].get());
- if (styleRule->properties()->propertyIsImportant(propID))
- return styleRule->properties()->getPropertyValue(propID);
+ if (styleRule->properties().propertyIsImportant(propID))
+ return styleRule->properties().getPropertyValue(propID);
if (!style || style->getPropertyValue(propID).isEmpty())
- style = styleRule->properties();
+ style = &styleRule->properties();
}
if (!style)
@@ -988,7 +975,7 @@ void QWebElement::appendInside(const QWebElement &element)
return;
ExceptionCode exception = 0;
- m_element->appendChild(element.m_element, exception);
+ m_element->appendChild(*element.m_element, exception);
}
/*!
@@ -1007,9 +994,11 @@ void QWebElement::appendInside(const QString &markup)
return;
ExceptionCode exception = 0;
- RefPtr<DocumentFragment> fragment = createContextualFragment(markup, toHTMLElement(m_element), AllowScriptingContent, exception);
+ RefPtr<DocumentFragment> fragment = createContextualFragment(markup, downcast<HTMLElement>(m_element), AllowScriptingContent, exception);
+ if (!fragment)
+ return;
- m_element->appendChild(fragment, exception);
+ m_element->appendChild(*fragment, exception);
}
/*!
@@ -1031,9 +1020,9 @@ void QWebElement::prependInside(const QWebElement &element)
ExceptionCode exception = 0;
if (m_element->hasChildNodes())
- m_element->insertBefore(element.m_element, m_element->firstChild(), exception);
+ m_element->insertBefore(*element.m_element, m_element->firstChild(), exception);
else
- m_element->appendChild(element.m_element, exception);
+ m_element->appendChild(*element.m_element, exception);
}
/*!
@@ -1052,12 +1041,14 @@ void QWebElement::prependInside(const QString &markup)
return;
ExceptionCode exception = 0;
- RefPtr<DocumentFragment> fragment = createContextualFragment(markup, toHTMLElement(m_element), AllowScriptingContent, exception);
+ RefPtr<DocumentFragment> fragment = createContextualFragment(markup, downcast<HTMLElement>(m_element), AllowScriptingContent, exception);
+ if (!fragment)
+ return;
if (m_element->hasChildNodes())
- m_element->insertBefore(fragment, m_element->firstChild(), exception);
+ m_element->insertBefore(*fragment, m_element->firstChild(), exception);
else
- m_element->appendChild(fragment, exception);
+ m_element->appendChild(*fragment, exception);
}
@@ -1080,7 +1071,7 @@ void QWebElement::prependOutside(const QWebElement &element)
return;
ExceptionCode exception = 0;
- m_element->parentNode()->insertBefore(element.m_element, m_element, exception);
+ m_element->parentNode()->insertBefore(*element.m_element, m_element, exception);
}
/*!
@@ -1103,7 +1094,7 @@ void QWebElement::prependOutside(const QString &markup)
return;
ExceptionCode exception = 0;
- RefPtr<DocumentFragment> fragment = createContextualFragment(markup, toHTMLElement(parent), AllowScriptingContent, exception);
+ RefPtr<DocumentFragment> fragment = createContextualFragment(markup, downcast<HTMLElement>(parent), AllowScriptingContent, exception);
parent->insertBefore(fragment, m_element, exception);
}
@@ -1128,9 +1119,9 @@ void QWebElement::appendOutside(const QWebElement &element)
ExceptionCode exception = 0;
if (!m_element->nextSibling())
- m_element->parentNode()->appendChild(element.m_element, exception);
+ m_element->parentNode()->appendChild(*element.m_element, exception);
else
- m_element->parentNode()->insertBefore(element.m_element, m_element->nextSibling(), exception);
+ m_element->parentNode()->insertBefore(*element.m_element, m_element->nextSibling(), exception);
}
/*!
@@ -1153,7 +1144,7 @@ void QWebElement::appendOutside(const QString &markup)
return;
ExceptionCode exception = 0;
- RefPtr<DocumentFragment> fragment = createContextualFragment(markup, toHTMLElement(parent), AllowScriptingContent, exception);
+ RefPtr<DocumentFragment> fragment = createContextualFragment(markup, downcast<HTMLElement>(parent), AllowScriptingContent, exception);
if (!m_element->nextSibling())
parent->appendChild(fragment, exception);
@@ -1173,7 +1164,8 @@ QWebElement QWebElement::clone() const
if (!m_element)
return QWebElement();
- return QWebElement(m_element->cloneElementWithChildren().get());
+ // FIXME: Do we need to add document argument? What is use case for cloning to different document?
+ return QWebElement(&m_element->cloneElementWithChildren(m_element->document()).get());
}
/*!
@@ -1276,9 +1268,9 @@ void QWebElement::encloseContentsWith(const QWebElement &element)
}
if (m_element->hasChildNodes())
- m_element->insertBefore(element.m_element, m_element->firstChild(), exception);
+ m_element->insertBefore(*element.m_element, m_element->firstChild(), exception);
else
- m_element->appendChild(element.m_element, exception);
+ m_element->appendChild(*element.m_element, exception);
}
/*!
@@ -1299,7 +1291,7 @@ void QWebElement::encloseContentsWith(const QString &markup)
return;
ExceptionCode exception = 0;
- RefPtr<DocumentFragment> fragment = createContextualFragment(markup, toHTMLElement(m_element), AllowScriptingContent, exception);
+ RefPtr<DocumentFragment> fragment = createContextualFragment(markup, downcast<HTMLElement>(m_element), AllowScriptingContent, exception);
if (!fragment || !fragment->firstChild())
return;
@@ -1317,9 +1309,9 @@ void QWebElement::encloseContentsWith(const QString &markup)
}
if (m_element->hasChildNodes())
- m_element->insertBefore(fragment, m_element->firstChild(), exception);
+ m_element->insertBefore(*fragment, m_element->firstChild(), exception);
else
- m_element->appendChild(fragment, exception);
+ m_element->appendChild(*fragment, exception);
}
/*!
@@ -1373,7 +1365,7 @@ void QWebElement::encloseWith(const QString &markup)
return;
ExceptionCode exception = 0;
- RefPtr<DocumentFragment> fragment = createContextualFragment(markup, toHTMLElement(parent), AllowScriptingContent, exception);
+ RefPtr<DocumentFragment> fragment = createContextualFragment(markup, downcast<HTMLElement>(parent), AllowScriptingContent, exception);
if (!fragment || !fragment->firstChild())
return;
@@ -1475,11 +1467,14 @@ void QWebElement::render(QPainter* painter)
void QWebElement::render(QPainter* painter, const QRect& clip)
{
WebCore::Element* e = m_element;
- Document* doc = e ? e->document() : 0;
- if (!doc)
+ if (!e)
+ return;
+
+ auto* renderer = e->renderer();
+ if (!renderer)
return;
- Frame* frame = doc->frame();
+ Frame* frame = e->document().frame();
if (!frame || !frame->view() || !frame->contentRenderer())
return;
@@ -1487,9 +1482,9 @@ void QWebElement::render(QPainter* painter, const QRect& clip)
view->updateLayoutAndStyleIfNeededRecursive();
- IntRect rect = e->pixelSnappedBoundingBox();
+ IntRect rect = renderer->absoluteBoundingBoxRect();
- if (rect.size().isEmpty())
+ if (rect.isEmpty())
return;
QRect finalClipRect = rect;
@@ -1502,7 +1497,7 @@ void QWebElement::render(QPainter* painter, const QRect& clip)
context.translate(-rect.x(), -rect.y());
painter->setClipRect(finalClipRect, Qt::IntersectClip);
view->setNodeToDraw(e);
- view->paintContents(&context, finalClipRect);
+ view->paintContents(context, finalClipRect);
view->setNodeToDraw(0);
context.restore();
}
@@ -1510,7 +1505,7 @@ void QWebElement::render(QPainter* painter, const QRect& clip)
class QWebElementCollectionPrivate : public QSharedData
{
public:
- static QWebElementCollectionPrivate* create(const PassRefPtr<Node> &context, const QString &query);
+ static QWebElementCollectionPrivate* create(const PassRefPtr<ContainerNode> &context, const QString &query);
RefPtr<NodeList> m_result;
@@ -1518,7 +1513,7 @@ private:
inline QWebElementCollectionPrivate() {}
};
-QWebElementCollectionPrivate* QWebElementCollectionPrivate::create(const PassRefPtr<Node> &context, const QString &query)
+QWebElementCollectionPrivate* QWebElementCollectionPrivate::create(const PassRefPtr<ContainerNode> &context, const QString &query)
{
if (!context)
return 0;
@@ -1633,7 +1628,7 @@ void QWebElementCollection::append(const QWebElementCollection &other)
}
if (!other.d)
return;
- Vector<RefPtr<Node> > nodes;
+ Vector<Ref<Node>> nodes;
RefPtr<NodeList> results[] = { d->m_result, other.d->m_result };
nodes.reserveInitialCapacity(results[0]->length() + results[1]->length());
@@ -1641,7 +1636,7 @@ void QWebElementCollection::append(const QWebElementCollection &other)
int j = 0;
Node* n = results[i]->item(j);
while (n) {
- nodes.append(n);
+ nodes.append(*n);
n = results[i]->item(++j);
}
}
@@ -1667,7 +1662,7 @@ QWebElement QWebElementCollection::at(int i) const
if (!d)
return QWebElement();
Node* n = d->m_result->item(i);
- return QWebElement(toElement(n));
+ return QWebElement(downcast<Element>(n));
}
/*!
@@ -1702,7 +1697,7 @@ QList<QWebElement> QWebElementCollection::toList() const
Node* n = d->m_result->item(i);
while (n) {
if (n->isElementNode())
- elements.append(QWebElement(toElement(n)));
+ elements.append(QWebElement(downcast<Element>(n)));
n = d->m_result->item(++i);
}
return elements;
@@ -2087,18 +2082,18 @@ static QVariant convertJSValueToWebElementVariant(JSC::JSObject* object, int *di
{
Element* element = 0;
QVariant ret;
- if (object && object->inherits(&JSElement::s_info)) {
- element =(static_cast<JSElement*>(object))->impl();
+ if (object && object->inherits(JSElement::info())) {
+ element = JSElement::toWrapped(object);
*distance = 0;
// Allow other objects to reach this one. This won't cause our algorithm to
// loop since when we find an Element we do not recurse.
visitedObjects->remove(toRef(object));
- } else if (object && object->inherits(&JSDocument::s_info)) {
+ } else if (object && object->inherits(JSDocument::info())) {
// To support TestRunnerQt::nodesFromRect(), used in DRT, we do an implicit
// conversion from 'document' to the QWebElement representing the 'document.documentElement'.
// We can't simply use a QVariantMap in nodesFromRect() because it currently times out
// when serializing DOMMimeType and DOMPlugin, even if we limit the recursion.
- element =(static_cast<JSDocument*>(object))->impl()->documentElement();
+ element = JSDocument::toWrapped(object)->documentElement();
}
return QVariant::fromValue<QWebElement>(QtWebElementRuntime::create(element));
diff --git a/Source/WebKit/gtk/WebCoreSupport/DeviceMotionClientGtk.h b/Source/WebKit/qt/Api/qwebfullscreenvideohandler.h
index 3c5f45bbb..27a8f41ae 100644
--- a/Source/WebKit/gtk/WebCoreSupport/DeviceMotionClientGtk.h
+++ b/Source/WebKit/qt/Api/qwebfullscreenvideohandler.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
- * Copyright (C) 2011 Collabora Ltd.
+ * Copyright (C) 2013 Digia Plc 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
@@ -18,29 +18,30 @@
* Boston, MA 02110-1301, USA.
*
*/
-#ifndef DeviceMotionClientGtk_h
-#define DeviceMotionClientGtk_h
-#include "DeviceMotionClient.h"
-#include "DeviceMotionData.h"
+#pragma once
-namespace WebKit {
+/*
+ * Warning: The contents of this file is not part of the public QtWebKit API
+ * and may be changed from version to version or even be completely removed.
+ */
-class DeviceMotionClientGtk : public WebCore::DeviceMotionClient {
-public:
- DeviceMotionClientGtk();
- virtual ~DeviceMotionClientGtk();
+#include "qwebkitglobal.h"
- virtual void setController(WebCore::DeviceMotionController*);
- virtual void startUpdating();
- virtual void stopUpdating();
- virtual WebCore::DeviceMotionData* lastMotion() const;
- virtual void deviceMotionControllerDestroyed();
+#include <QMediaPlayer>
+#include <QObject>
-private:
- WebCore::DeviceMotionController* m_controller;
-};
+class QWEBKIT_EXPORT QWebFullScreenVideoHandler : public QObject {
+ Q_OBJECT
+public:
+ QWebFullScreenVideoHandler() {}
+ virtual ~QWebFullScreenVideoHandler() {}
+ virtual bool requiresFullScreenForVideoPlayback() const = 0;
-} // namespece WebKit
+Q_SIGNALS:
+ void fullScreenClosed();
-#endif // DeviceMotionClientGtk_h
+public Q_SLOTS:
+ virtual void enterFullScreen(QMediaPlayer*) = 0;
+ virtual void exitFullScreen() = 0;
+};
diff --git a/Source/WebKit/qt/Api/qwebhistory.cpp b/Source/WebKit/qt/Api/qwebhistory.cpp
index be0905eb7..d270c2cc3 100644
--- a/Source/WebKit/qt/Api/qwebhistory.cpp
+++ b/Source/WebKit/qt/Api/qwebhistory.cpp
@@ -21,21 +21,26 @@
#include "qwebhistory.h"
#include "qwebhistory_p.h"
-#include "BackForwardListImpl.h"
+#include "BackForwardList.h"
#include "Frame.h"
+#include "HistorySerialization.h"
#include "IconDatabaseBase.h"
#include "Image.h"
#include "IntSize.h"
-#include "KURL.h"
+#include "KeyedDecoderQt.h"
+#include "KeyedEncoderQt.h"
#include "Page.h"
#include "PageGroup.h"
+#include "URL.h"
+#include "VisitedLinkStoreQt.h"
#include <QWebPageAdapter.h>
#include <wtf/text/WTFString.h>
#include <QSharedData>
#include <QDebug>
+#include <QJsonObject>
-static const int HistoryStreamVersion = 2;
+static const int HistoryStreamVersion = 3;
/*!
\class QWebHistoryItem
@@ -141,9 +146,10 @@ QString QWebHistoryItem::title() const
*/
QDateTime QWebHistoryItem::lastVisited() const
{
+ // FIXME: See r162808
//FIXME : this will be wrong unless we correctly set lastVisitedTime ourselves
- if (d->item)
- return QDateTime::fromTime_t((uint)d->item->lastVisitedTime());
+// if (d->item)
+// return QDateTime::fromTime_t((uint)d->item->lastVisitedTime());
return QDateTime();
}
@@ -206,6 +212,24 @@ bool QWebHistoryItem::isValid() const
return d->item;
}
+QVariantMap QWebHistoryItem::toMap() const
+{
+ if (!isValid())
+ return QVariantMap();
+
+ WebCore::KeyedEncoderQt encoder;
+ WebCore::encodeBackForwardTree(encoder, *d->item);
+ return encoder.toMap();
+}
+
+void QWebHistoryItem::loadFromMap(const QVariantMap& map)
+{
+ WebCore::KeyedDecoderQt decoder { QVariantMap(map) };
+ auto item = WebCore::HistoryItem::create();
+ if (WebCore::decodeBackForwardTree(decoder, item))
+ d = new QWebHistoryItemPrivate(item);
+}
+
/*!
\class QWebHistory
\since 4.4
@@ -257,13 +281,10 @@ QWebHistory::~QWebHistory()
*/
void QWebHistory::clear()
{
- //shortcut to private BackForwardListImpl
- WebCore::BackForwardListImpl* lst = d->lst;
+ //shortcut to private BackForwardList
+ WebCore::BackForwardList* lst = d->lst;
- //clear visited links
- WebCore::Page* page = static_cast<WebCore::BackForwardListImpl*>(lst)->page();
- if (page && page->groupPtr())
- page->groupPtr()->removeVisitedLinks();
+ VisitedLinkStoreQt::singleton().removeAllVisitedLinks();
//if count() == 0 then just return
if (!lst->entries().size())
@@ -272,10 +293,14 @@ void QWebHistory::clear()
RefPtr<WebCore::HistoryItem> current = lst->currentItem();
int capacity = lst->capacity();
lst->setCapacity(0);
-
lst->setCapacity(capacity); //revert capacity
- lst->addItem(current.get()); //insert old current item
- lst->goToItem(current.get()); //and set it as current again
+
+ // FIXME: check me
+ WebCore::HistoryItem* currentPtr = current.leakRef();
+ if (currentPtr) {
+ lst->addItem(*currentPtr); //insert old current item
+ lst->goToItem(currentPtr); //and set it as current again
+ }
d->page()->updateNavigationActions();
}
@@ -287,7 +312,7 @@ void QWebHistory::clear()
*/
QList<QWebHistoryItem> QWebHistory::items() const
{
- const WebCore::HistoryItemVector &items = d->lst->entries();
+ WebCore::HistoryItemVector &items = d->lst->entries();
QList<QWebHistoryItem> ret;
for (unsigned i = 0; i < items.size(); ++i) {
@@ -364,10 +389,8 @@ bool QWebHistory::canGoForward() const
*/
void QWebHistory::back()
{
- if (canGoBack()) {
- WebCore::Page* page = static_cast<WebCore::BackForwardListImpl*>(d->lst)->page();
- page->goToItem(d->lst->backItem(), WebCore::FrameLoadTypeIndexedBackForward);
- }
+ if (canGoBack())
+ d->goToItem(d->lst->backItem());
}
/*!
@@ -378,10 +401,8 @@ void QWebHistory::back()
*/
void QWebHistory::forward()
{
- if (canGoForward()) {
- WebCore::Page* page = static_cast<WebCore::BackForwardListImpl*>(d->lst)->page();
- page->goToItem(d->lst->forwardItem(), WebCore::FrameLoadTypeIndexedBackForward);
- }
+ if (canGoForward())
+ d->goToItem(d->lst->forwardItem());
}
/*!
@@ -391,8 +412,7 @@ void QWebHistory::forward()
*/
void QWebHistory::goToItem(const QWebHistoryItem &item)
{
- WebCore::Page* page = static_cast<WebCore::BackForwardListImpl*>(d->lst)->page();
- page->goToItem(item.d->item, WebCore::FrameLoadTypeIndexedBackForward);
+ d->goToItem(item.d->item);
}
/*!
@@ -443,7 +463,7 @@ QWebHistoryItem QWebHistory::itemAt(int i) const
if (i < 0 || i >= count())
priv = new QWebHistoryItemPrivate(0);
else {
- WebCore::HistoryItem *item = d->lst->entries()[i].get();
+ WebCore::HistoryItem& item = d->lst->entries()[i].get();
priv = new QWebHistoryItemPrivate(item);
}
return QWebHistoryItem(priv);
@@ -479,6 +499,50 @@ void QWebHistory::setMaximumItemCount(int count)
d->lst->setCapacity(count);
}
+QVariantMap QWebHistory::toMap() const
+{
+ WebCore::KeyedEncoderQt encoder;
+ encoder.encodeUInt32("currentItemIndex", currentItemIndex());
+
+ const WebCore::HistoryItemVector &items = d->lst->entries();
+ encoder.encodeObjects("history", items.begin(), items.end(), [&encoder](WebCore::KeyedEncoder&, const WebCore::HistoryItem& item) {
+ WebCore::encodeBackForwardTree(encoder, item);
+ });
+
+ return encoder.toMap();
+}
+
+void QWebHistory::loadFromMap(const QVariantMap& map)
+{
+ clear();
+
+ // after clear() is new clear HistoryItem (at the end we had to remove it)
+ WebCore::HistoryItem* nullItem = d->lst->currentItem();
+
+ WebCore::KeyedDecoderQt decoder { QVariantMap(map) };
+
+ int currentIndex;
+ if (!decoder.decodeInt32("currentItemIndex", currentIndex))
+ return;
+
+ auto* lst = d->lst;
+ Vector<int> ignore;
+ bool result = decoder.decodeObjects("history", ignore, [&lst, &decoder](WebCore::KeyedDecoder&, int&) -> bool {
+ auto item = WebCore::HistoryItem::create();
+ if (!WebCore::decodeBackForwardTree(decoder, item))
+ return false;
+ lst->addItem(WTFMove(item));
+ return true;
+ });
+
+ if (result && !d->lst->entries().isEmpty()) {
+ d->lst->removeItem(nullItem);
+ goToItem(itemAt(currentIndex));
+ }
+
+ d->page()->updateNavigationActions();
+}
+
/*!
\since 4.6
\fn QDataStream& operator<<(QDataStream& stream, const QWebHistory& history)
@@ -491,17 +555,8 @@ void QWebHistory::setMaximumItemCount(int count)
QDataStream& operator<<(QDataStream& target, const QWebHistory& history)
{
- QWebHistoryPrivate* d = history.d;
-
- int version = HistoryStreamVersion;
-
- target << version;
- target << history.count() << history.currentItemIndex();
-
- const WebCore::HistoryItemVector &items = d->lst->entries();
- for (unsigned i = 0; i < items.size(); i++)
- items[i].get()->saveState(target, version);
-
+ target << HistoryStreamVersion;
+ target << history.toMap();
return target;
}
@@ -517,7 +572,6 @@ QDataStream& operator<<(QDataStream& target, const QWebHistory& history)
QDataStream& operator>>(QDataStream& source, QWebHistory& history)
{
- QWebHistoryPrivate* d = history.d;
// Clear first, to have the same behavior if our version doesn't match and if the HistoryItem's version doesn't.
history.clear();
@@ -534,36 +588,25 @@ QDataStream& operator>>(QDataStream& source, QWebHistory& history)
return source;
}
- int count;
- int currentIndex;
- source >> count >> currentIndex;
-
- // only if there are elements
- if (count) {
- // after clear() is new clear HistoryItem (at the end we had to remove it)
- WebCore::HistoryItem* nullItem = d->lst->currentItem();
- for (int i = 0; i < count; i++) {
- WTF::RefPtr<WebCore::HistoryItem> item = WebCore::HistoryItem::restoreState(source, version);
- if (!item) {
- // The HistoryItem internal version might have changed, do the same as when our own version change.
- history.clear();
- source.setStatus(QDataStream::ReadCorruptData);
- return source;
- }
- d->lst->addItem(item);
- }
- d->lst->removeItem(nullItem);
- history.goToItem(history.itemAt(currentIndex));
- }
-
- d->page()->updateNavigationActions();
+ QVariantMap map;
+ source >> map;
+ history.loadFromMap(map);
return source;
}
+void QWebHistoryPrivate::goToItem(WebCore::HistoryItem* item)
+{
+ if (!item)
+ return;
+
+ WebCore::Page* page = lst->page();
+ page->goToItem(*item, WebCore::FrameLoadType::IndexedBackForward);
+}
+
QWebPageAdapter* QWebHistoryPrivate::page()
{
- return QWebPageAdapter::kit(static_cast<WebCore::BackForwardListImpl*>(lst)->page());
+ return QWebPageAdapter::kit(static_cast<WebCore::BackForwardList*>(lst)->page());
}
WebCore::HistoryItem* QWebHistoryItemPrivate::core(const QWebHistoryItem* q)
diff --git a/Source/WebKit/qt/Api/qwebhistory.h b/Source/WebKit/qt/Api/qwebhistory.h
index 092f425ee..c94452d41 100644
--- a/Source/WebKit/qt/Api/qwebhistory.h
+++ b/Source/WebKit/qt/Api/qwebhistory.h
@@ -55,6 +55,9 @@ public:
bool isValid() const;
+ QVariantMap toMap() const;
+ void loadFromMap(const QVariantMap &map);
+
private:
QWebHistoryItem(QWebHistoryItemPrivate *priv);
friend class QWebHistory;
@@ -96,6 +99,9 @@ public:
int maximumItemCount() const;
void setMaximumItemCount(int count);
+ QVariantMap toMap() const;
+ void loadFromMap(const QVariantMap &map);
+
private:
QWebHistory();
~QWebHistory();
diff --git a/Source/WebKit/qt/Api/qwebhistory_p.h b/Source/WebKit/qt/Api/qwebhistory_p.h
index 17634ebc0..0fb998959 100644
--- a/Source/WebKit/qt/Api/qwebhistory_p.h
+++ b/Source/WebKit/qt/Api/qwebhistory_p.h
@@ -20,7 +20,7 @@
#ifndef QWEBHISTORY_P_H
#define QWEBHISTORY_P_H
-#include "BackForwardListImpl.h"
+#include "BackForwardList.h"
#include "HistoryItem.h"
#include "qwebkitglobal.h"
#include <QtCore/qglobal.h>
@@ -40,6 +40,13 @@ public:
i->ref();
item = i;
}
+
+ QWebHistoryItemPrivate(WebCore::HistoryItem& i)
+ {
+ i.ref();
+ item = &i;
+ }
+
~QWebHistoryItemPrivate()
{
if (item)
@@ -53,7 +60,7 @@ public:
class QWebHistoryPrivate : public QSharedData {
public:
- QWebHistoryPrivate(WebCore::BackForwardListImpl* l)
+ QWebHistoryPrivate(WebCore::BackForwardList* l)
{
l->ref();
lst = l;
@@ -63,9 +70,11 @@ public:
lst->deref();
}
+ void goToItem(WebCore::HistoryItem* item);
+
QWebPageAdapter* page();
- WebCore::BackForwardListImpl* lst;
+ WebCore::BackForwardList* lst;
};
diff --git a/Source/WebKit/qt/Api/qwebhistoryinterface.cpp b/Source/WebKit/qt/Api/qwebhistoryinterface.cpp
index 305ff6781..b8bc191e6 100644
--- a/Source/WebKit/qt/Api/qwebhistoryinterface.cpp
+++ b/Source/WebKit/qt/Api/qwebhistoryinterface.cpp
@@ -25,6 +25,7 @@
#include <QCoreApplication>
#include "PageGroup.h"
+#include "VisitedLinkStoreQt.h"
#include <wtf/text/WTFString.h>
@@ -56,10 +57,7 @@ void QWebHistoryInterface::setDefaultInterface(QWebHistoryInterface* defaultInte
delete default_interface;
default_interface = defaultInterface;
- WebCore::PageGroup::removeAllVisitedLinks();
-
- //### enable after the introduction of a version
- //WebCore::PageGroup::setShouldTrackVisitedLinks(true);
+ VisitedLinkStoreQt::singleton().removeAllVisitedLinks();
if (!gRoutineAdded) {
qAddPostRoutine(gCleanupInterface);
@@ -125,3 +123,5 @@ QWebHistoryInterface::~QWebHistoryInterface()
Called by WebKit to add another \a url to the list of visited pages.
*/
+
+#include "moc_qwebhistoryinterface.cpp"
diff --git a/Source/WebKit/qt/Api/qwebkitglobal.h b/Source/WebKit/qt/Api/qwebkitglobal.h
index fe222c2fc..4963ce3af 100644
--- a/Source/WebKit/qt/Api/qwebkitglobal.h
+++ b/Source/WebKit/qt/Api/qwebkitglobal.h
@@ -25,12 +25,12 @@
#include <QtCore/qstring.h>
#ifndef QT_STATIC
-# if !defined(QT_BUILD_WEBKITWIDGETS_LIB) && defined(BUILDING_WEBKIT)
+# if !defined(BUILDING_WebKitWidgets) && defined(BUILDING_WebKit)
# define QWEBKIT_EXPORT Q_DECL_EXPORT
# else
# define QWEBKIT_EXPORT Q_DECL_IMPORT
# endif
-# if defined(QT_BUILD_WEBKITWIDGETS_LIB)
+# if defined(BUILDING_WebKitWidgets)
# define QWEBKITWIDGETS_EXPORT Q_DECL_EXPORT
# else
# define QWEBKITWIDGETS_EXPORT Q_DECL_IMPORT
diff --git a/Source/WebKit/qt/Api/qwebkitplatformplugin.h b/Source/WebKit/qt/Api/qwebkitplatformplugin.h
index c6624b51e..7e56bb638 100644
--- a/Source/WebKit/qt/Api/qwebkitplatformplugin.h
+++ b/Source/WebKit/qt/Api/qwebkitplatformplugin.h
@@ -27,16 +27,15 @@
* and may be changed from version to version or even be completely removed.
*/
-#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
-#include <QMediaPlayer>
-#endif
+#include "qwebkitglobal.h"
+
#include <QtCore/QObject>
#include <QtCore/QRect>
#include <QtCore/QUrl>
#include <QtGui/QColor>
#include <QtGui/QFont>
-class QWebSelectData {
+class QWEBKIT_EXPORT QWebSelectData {
public:
virtual ~QWebSelectData() {}
@@ -55,7 +54,7 @@ public:
virtual QColor itemForegroundColor(int index) const = 0;
};
-class QWebSelectMethod : public QObject {
+class QWEBKIT_EXPORT QWebSelectMethod : public QObject {
Q_OBJECT
public:
virtual ~QWebSelectMethod() {}
@@ -70,7 +69,7 @@ Q_SIGNALS:
void didHide();
};
-class QWebNotificationData {
+class QWEBKIT_EXPORT QWebNotificationData {
public:
virtual ~QWebNotificationData() {}
@@ -80,7 +79,7 @@ public:
virtual const QUrl openerPageUrl() const = 0;
};
-class QWebNotificationPresenter : public QObject {
+class QWEBKIT_EXPORT QWebNotificationPresenter : public QObject {
Q_OBJECT
public:
QWebNotificationPresenter() {}
@@ -93,7 +92,7 @@ Q_SIGNALS:
void notificationClicked();
};
-class QWebHapticFeedbackPlayer: public QObject {
+class QWEBKIT_EXPORT QWebHapticFeedbackPlayer: public QObject {
Q_OBJECT
public:
QWebHapticFeedbackPlayer() {}
@@ -110,7 +109,7 @@ public:
virtual void playHapticFeedback(const HapticEvent, const QString& hapticType, const HapticStrength) = 0;
};
-class QWebTouchModifier : public QObject {
+class QWEBKIT_EXPORT QWebTouchModifier : public QObject {
Q_OBJECT
public:
virtual ~QWebTouchModifier() {}
@@ -122,24 +121,11 @@ public:
virtual unsigned hitTestPaddingForTouch(const PaddingDirection) const = 0;
};
-#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
-class QWebFullScreenVideoHandler : public QObject {
- Q_OBJECT
-public:
- QWebFullScreenVideoHandler() {}
- virtual ~QWebFullScreenVideoHandler() {}
- virtual bool requiresFullScreenForVideoPlayback() const = 0;
-
-Q_SIGNALS:
- void fullScreenClosed();
-
-public Q_SLOTS:
- virtual void enterFullScreen(QMediaPlayer*) = 0;
- virtual void exitFullScreen() = 0;
-};
+#if defined(USE_QT_MULTIMEDIA) && USE_QT_MULTIMEDIA
+#include "qwebfullscreenvideohandler.h"
#endif
-class QWebSpellChecker : public QObject {
+class QWEBKIT_EXPORT QWebSpellChecker : public QObject {
Q_OBJECT
public:
struct GrammarDetail {
@@ -163,7 +149,7 @@ public:
virtual void checkGrammarOfString(const QString&, QList<GrammarDetail>&, int* badGrammarLocation, int* badGrammarLength) = 0;
};
-class QWebKitPlatformPlugin {
+class QWEBKIT_EXPORT QWebKitPlatformPlugin {
public:
virtual ~QWebKitPlatformPlugin() {}
diff --git a/Source/WebKit/qt/Api/qwebpluginfactory.cpp b/Source/WebKit/qt/Api/qwebpluginfactory.cpp
index 16d7a602d..7a2508f93 100644
--- a/Source/WebKit/qt/Api/qwebpluginfactory.cpp
+++ b/Source/WebKit/qt/Api/qwebpluginfactory.cpp
@@ -262,3 +262,5 @@ bool QWebPluginFactory::supportsExtension(Extension extension) const
Q_UNUSED(extension)
return false;
}
+
+#include "moc_qwebpluginfactory.cpp"
diff --git a/Source/WebKit/qt/Api/qwebscriptworld.cpp b/Source/WebKit/qt/Api/qwebscriptworld.cpp
index afeb5bb2a..c5a5fb487 100644
--- a/Source/WebKit/qt/Api/qwebscriptworld.cpp
+++ b/Source/WebKit/qt/Api/qwebscriptworld.cpp
@@ -21,7 +21,7 @@
#include "qwebscriptworld.h"
#include "qwebscriptworld_p.h"
-#include "KURL.h"
+#include "URL.h"
#include "ScriptController.h"
#include <QStringList>
diff --git a/Source/WebKit/qt/Api/qwebsecurityorigin.cpp b/Source/WebKit/qt/Api/qwebsecurityorigin.cpp
index a76ee975c..9b7932cfc 100644
--- a/Source/WebKit/qt/Api/qwebsecurityorigin.cpp
+++ b/Source/WebKit/qt/Api/qwebsecurityorigin.cpp
@@ -22,7 +22,7 @@
#include "ApplicationCacheStorage.h"
#include "DatabaseManager.h"
-#include "KURL.h"
+#include "URL.h"
#include "SchemeRegistry.h"
#include "SecurityOrigin.h"
#include "SecurityPolicy.h"
@@ -121,11 +121,7 @@ int QWebSecurityOrigin::port() const
*/
qint64 QWebSecurityOrigin::databaseUsage() const
{
-#if ENABLE(SQL_DATABASE)
- return DatabaseManager::manager().usageForOrigin(d->origin.get());
-#else
- return 0;
-#endif
+ return DatabaseManager::singleton().usageForOrigin(d->origin.get());
}
/*!
@@ -133,11 +129,7 @@ qint64 QWebSecurityOrigin::databaseUsage() const
*/
qint64 QWebSecurityOrigin::databaseQuota() const
{
-#if ENABLE(SQL_DATABASE)
- return DatabaseManager::manager().quotaForOrigin(d->origin.get());
-#else
- return 0;
-#endif
+ return DatabaseManager::singleton().quotaForOrigin(d->origin.get());
}
/*!
@@ -149,14 +141,12 @@ qint64 QWebSecurityOrigin::databaseQuota() const
*/
void QWebSecurityOrigin::setDatabaseQuota(qint64 quota)
{
-#if ENABLE(SQL_DATABASE)
- DatabaseManager::manager().setQuota(d->origin.get(), quota);
-#endif
+ DatabaseManager::singleton().setQuota(d->origin.get(), quota);
}
void QWebSecurityOrigin::setApplicationCacheQuota(qint64 quota)
{
- WebCore::cacheStorage().storeUpdatedQuotaForOrigin(d->origin.get(), quota);
+ WebCore::ApplicationCacheStorage::singleton().storeUpdatedQuotaForOrigin(d->origin.get(), quota);
}
/*!
Destroys the security origin.
@@ -180,15 +170,13 @@ QList<QWebSecurityOrigin> QWebSecurityOrigin::allOrigins()
{
QList<QWebSecurityOrigin> webOrigins;
-#if ENABLE(SQL_DATABASE)
Vector<RefPtr<SecurityOrigin> > coreOrigins;
- DatabaseManager::manager().origins(coreOrigins);
+ DatabaseManager::singleton().origins(coreOrigins);
for (unsigned i = 0; i < coreOrigins.size(); ++i) {
QWebSecurityOriginPrivate* priv = new QWebSecurityOriginPrivate(coreOrigins[i].get());
webOrigins.append(priv);
}
-#endif
return webOrigins;
}
@@ -200,10 +188,9 @@ QList<QWebDatabase> QWebSecurityOrigin::databases() const
{
QList<QWebDatabase> databases;
-#if ENABLE(SQL_DATABASE)
Vector<String> nameVector;
- if (!DatabaseManager::manager().databaseNamesForOrigin(d->origin.get(), nameVector))
+ if (!DatabaseManager::singleton().databaseNamesForOrigin(d->origin.get(), nameVector))
return databases;
for (unsigned i = 0; i < nameVector.size(); ++i) {
QWebDatabasePrivate* priv = new QWebDatabasePrivate();
@@ -212,7 +199,6 @@ QList<QWebDatabase> QWebSecurityOrigin::databases() const
QWebDatabase webDatabase(priv);
databases.append(webDatabase);
}
-#endif
return databases;
}
@@ -273,7 +259,7 @@ QStringList QWebSecurityOrigin::localSchemes()
*/
QWebSecurityOrigin::QWebSecurityOrigin(const QUrl& url)
{
- d = new QWebSecurityOriginPrivate(SecurityOrigin::create(KURL(url)));
+ d = new QWebSecurityOriginPrivate(SecurityOrigin::create(URL(url)));
}
/*!
diff --git a/Source/WebKit/qt/Api/qwebsettings.cpp b/Source/WebKit/qt/Api/qwebsettings.cpp
index 363f58f78..bbb4d5975 100644
--- a/Source/WebKit/qt/Api/qwebsettings.cpp
+++ b/Source/WebKit/qt/Api/qwebsettings.cpp
@@ -1,5 +1,6 @@
/*
Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
+ Copyright (C) 2013 Apple Inc. All rights reserved.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -28,7 +29,6 @@
#include "FileSystem.h"
#include "FontCache.h"
#include "GCController.h"
-#include "GroupSettings.h"
#include "IconDatabase.h"
#include "Image.h"
#if ENABLE(ICONDATABASE)
@@ -36,7 +36,7 @@
#endif
#include "InitWebCoreQt.h"
#include "IntSize.h"
-#include "KURL.h"
+#include "URL.h"
#include "MemoryCache.h"
#include "NetworkStateNotifier.h"
#include "Page.h"
@@ -44,6 +44,7 @@
#include "PluginDatabase.h"
#include "RuntimeEnabledFeatures.h"
#include "Settings.h"
+#include "SharedBuffer.h"
#include "StorageThread.h"
#include "WorkerThread.h"
#include <QDir>
@@ -68,10 +69,9 @@ QWEBKIT_EXPORT void qt_networkAccessAllowed(bool isAllowed)
class QWebSettingsPrivate {
public:
- QWebSettingsPrivate(WebCore::Settings* wcSettings = 0, WebCore::GroupSettings* wcGroupSettings = 0)
+ QWebSettingsPrivate(WebCore::Settings* wcSettings = 0)
: offlineStorageDefaultQuota(0)
, settings(wcSettings)
- , groupSettings(wcGroupSettings)
{
}
@@ -88,7 +88,6 @@ public:
QWebSettings::ThirdPartyCookiePolicy thirdPartyCookiePolicy;
void apply();
WebCore::Settings* settings;
- WebCore::GroupSettings* groupSettings;
};
Q_GLOBAL_STATIC(QList<QWebSettingsPrivate*>, allSettings);
@@ -149,23 +148,18 @@ void QWebSettingsPrivate::apply()
settings->setDNSPrefetchingEnabled(value);
value = attributes.value(QWebSettings::JavascriptEnabled,
- global->attributes.value(QWebSettings::JavascriptEnabled));
+ global->attributes.value(QWebSettings::JavascriptEnabled));
settings->setScriptEnabled(value);
-#if USE(ACCELERATED_COMPOSITING)
value = attributes.value(QWebSettings::AcceleratedCompositingEnabled,
- global->attributes.value(QWebSettings::AcceleratedCompositingEnabled));
- settings->setAcceleratedCompositingEnabled(value);
+ global->attributes.value(QWebSettings::AcceleratedCompositingEnabled));
-#if ENABLE(ACCELERATED_2D_CANVAS)
- value = value && attributes.value(QWebSettings::Accelerated2dCanvasEnabled,
- global->attributes.value(QWebSettings::Accelerated2dCanvasEnabled));
- settings->setAccelerated2dCanvasEnabled(value);
-#endif
+ // FIXME: Temporary disabled until AC is fully working
+ // settings->setAcceleratedCompositingEnabled(value);
+ settings->setAcceleratedCompositingEnabled(false);
bool showDebugVisuals = qgetenv("WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS") == "1";
settings->setShowDebugBorders(showDebugVisuals);
settings->setShowRepaintCounter(showDebugVisuals);
-#endif
#if ENABLE(WEBGL)
value = attributes.value(QWebSettings::WebGLEnabled,
global->attributes.value(QWebSettings::WebGLEnabled));
@@ -180,14 +174,14 @@ void QWebSettingsPrivate::apply()
value = attributes.value(QWebSettings::WebAudioEnabled, global->attributes.value(QWebSettings::WebAudioEnabled));
settings->setWebAudioEnabled(value);
#endif
+#if ENABLE(MEDIA_SOURCE)
+ value = attributes.value(QWebSettings::MediaSourceEnabled, global->attributes.value(QWebSettings::MediaSourceEnabled));
+ settings->setMediaSourceEnabled(value);
+#endif
value = attributes.value(QWebSettings::CSSRegionsEnabled,
global->attributes.value(QWebSettings::CSSRegionsEnabled));
- WebCore::RuntimeEnabledFeatures::setCSSRegionsEnabled(value);
-
- value = attributes.value(QWebSettings::CSSGridLayoutEnabled,
- global->attributes.value(QWebSettings::CSSGridLayoutEnabled));
- settings->setCSSGridLayoutEnabled(value);
+ WebCore::RuntimeEnabledFeatures::sharedFeatures().setCSSRegionsEnabled(value);
value = attributes.value(QWebSettings::HyperlinkAuditingEnabled,
global->attributes.value(QWebSettings::HyperlinkAuditingEnabled));
@@ -210,9 +204,13 @@ void QWebSettingsPrivate::apply()
global->attributes.value(QWebSettings::PluginsEnabled));
settings->setPluginsEnabled(value);
+// FIXME: setPrivateBrowsingEnabled was removed, instead we have Page::enableLegacyPrivateBrowsing
+// and ephemeral sessions (and I guess it's better to use the latter)
+/*
value = attributes.value(QWebSettings::PrivateBrowsingEnabled,
global->attributes.value(QWebSettings::PrivateBrowsingEnabled));
settings->setPrivateBrowsingEnabled(value);
+*/
value = attributes.value(QWebSettings::SpatialNavigationEnabled,
global->attributes.value(QWebSettings::SpatialNavigationEnabled));
@@ -232,7 +230,7 @@ void QWebSettingsPrivate::apply()
settings->setFrameFlatteningEnabled(value);
QUrl location = !userStyleSheetLocation.isEmpty() ? userStyleSheetLocation : global->userStyleSheetLocation;
- settings->setUserStyleSheetLocation(WebCore::KURL(location));
+ settings->setUserStyleSheetLocation(WebCore::URL(location));
QString encoding = !defaultTextEncoding.isEmpty() ? defaultTextEncoding: global->defaultTextEncoding;
settings->setDefaultTextEncodingName(encoding);
@@ -249,20 +247,7 @@ void QWebSettingsPrivate::apply()
value = attributes.value(QWebSettings::OfflineStorageDatabaseEnabled,
global->attributes.value(QWebSettings::OfflineStorageDatabaseEnabled));
-#if ENABLE(SQL_DATABASE)
- WebCore::DatabaseManager::manager().setIsAvailable(value);
-#endif
-
-#if ENABLE(INDEXED_DATABASE)
- QString path = !offlineDatabasePath.isEmpty() ? offlineDatabasePath : global->offlineDatabasePath;
- Q_ASSERT(groupSettings);
- // Setting the path to empty string disables persistent storage of the indexed database.
- if (!value)
- path = QString();
- groupSettings->setIndexedDBDatabasePath(path);
- qint64 quota = offlineStorageDefaultQuota ? offlineStorageDefaultQuota : global->offlineStorageDefaultQuota;
- groupSettings->setIndexedDBQuotaBytes(quota);
-#endif
+ WebCore::DatabaseManager::singleton().setIsAvailable(value);
value = attributes.value(QWebSettings::OfflineWebApplicationCacheEnabled,
global->attributes.value(QWebSettings::OfflineWebApplicationCacheEnabled));
@@ -272,10 +257,9 @@ void QWebSettingsPrivate::apply()
global->attributes.value(QWebSettings::LocalStorageEnabled));
settings->setLocalStorageEnabled(value);
- bool remoteAccess = attributes.value(QWebSettings::LocalContentCanAccessRemoteUrls,
+ value = attributes.value(QWebSettings::LocalContentCanAccessRemoteUrls,
global->attributes.value(QWebSettings::LocalContentCanAccessRemoteUrls));
- settings->setAllowUniversalAccessFromFileURLs(remoteAccess);
- settings->setAllowRemoteAccessFromFileURLs(remoteAccess);
+ settings->setAllowUniversalAccessFromFileURLs(value);
value = attributes.value(QWebSettings::LocalContentCanAccessFileUrls,
global->attributes.value(QWebSettings::LocalContentCanAccessFileUrls));
@@ -309,7 +293,7 @@ void QWebSettingsPrivate::apply()
global->attributes.value(QWebSettings::SiteSpecificQuirksEnabled));
settings->setNeedsSiteSpecificQuirks(value);
- settings->setUsesPageCache(WebCore::pageCache()->capacity());
+ settings->setUsesPageCache(WebCore::PageCache::singleton().maxSize());
} else {
QList<QWebSettingsPrivate*> settings = *::allSettings();
for (int i = 0; i < settings.count(); ++i)
@@ -517,20 +501,10 @@ QWebSettings* QWebSettings::globalSettings()
This is disabled by default.
\value SiteSpecificQuirksEnabled This setting enables WebKit's workaround for broken sites. It is
enabled by default.
- \value CSSGridLayoutEnabled This setting enables support for the CSS 3 Grid Layout module. This
- CSS module is currently only a draft and support for it is disabled by default.
- \value CSSRegionsEnabled This setting enables support for the CSS 3 Regions module. This
- CSS module is currently only a draft and support for it is enabled by default.
\value ScrollAnimatorEnabled This setting enables animated scrolling. It is disabled by default.
\value CaretBrowsingEnabled This setting enables caret browsing. It is disabled by default.
\value NotificationsEnabled Specifies whether support for the HTML 5 web notifications is enabled
or not. This is enabled by default.
- \value Accelerated2dCanvasEnabled Specifies whether the HTML5 2D canvas should be a OpenGL framebuffer.
- This makes many painting operations faster, but slows down pixel access. This is disabled by default.
- \value WebGLEnabled This setting enables support for WebGL.
- It is enabled by default.
- \value HyperlinkAuditingEnabled This setting enables support for hyperlink auditing (<a ping>).
- It is disabled by default.
*/
/*!
@@ -574,9 +548,10 @@ QWebSettings::QWebSettings()
d->attributes.insert(QWebSettings::LocalStorageEnabled, false);
d->attributes.insert(QWebSettings::LocalContentCanAccessRemoteUrls, false);
d->attributes.insert(QWebSettings::LocalContentCanAccessFileUrls, true);
- d->attributes.insert(QWebSettings::AcceleratedCompositingEnabled, true);
+ d->attributes.insert(QWebSettings::AcceleratedCompositingEnabled, false);
d->attributes.insert(QWebSettings::WebGLEnabled, true);
d->attributes.insert(QWebSettings::WebAudioEnabled, false);
+ d->attributes.insert(QWebSettings::MediaSourceEnabled, false);
d->attributes.insert(QWebSettings::CSSRegionsEnabled, true);
d->attributes.insert(QWebSettings::CSSGridLayoutEnabled, false);
d->attributes.insert(QWebSettings::HyperlinkAuditingEnabled, false);
@@ -586,7 +561,6 @@ QWebSettings::QWebSettings()
d->attributes.insert(QWebSettings::ScrollAnimatorEnabled, false);
d->attributes.insert(QWebSettings::CaretBrowsingEnabled, false);
d->attributes.insert(QWebSettings::NotificationsEnabled, true);
- d->attributes.insert(QWebSettings::Accelerated2dCanvasEnabled, false);
d->offlineStorageDefaultQuota = 5 * 1024 * 1024;
d->defaultTextEncoding = QLatin1String("iso-8859-1");
d->thirdPartyCookiePolicy = AlwaysAllowThirdPartyCookies;
@@ -595,8 +569,8 @@ QWebSettings::QWebSettings()
/*!
\internal
*/
-QWebSettings::QWebSettings(WebCore::Settings* settings, WebCore::GroupSettings* groupSettings)
- : d(new QWebSettingsPrivate(settings, groupSettings))
+QWebSettings::QWebSettings(WebCore::Settings* settings)
+ : d(new QWebSettingsPrivate(settings))
{
d->apply();
allSettings()->append(d);
@@ -777,7 +751,7 @@ void QWebSettings::clearIconDatabase()
QIcon QWebSettings::iconForUrl(const QUrl& url)
{
WebCore::initializeWebCoreQt();
- QPixmap* icon = WebCore::iconDatabase().synchronousNativeIconForPageURL(WebCore::KURL(url).string(),
+ QPixmap* icon = WebCore::iconDatabase().synchronousNativeIconForPageURL(WebCore::URL(url).string(),
WebCore::IntSize(16, 16));
if (!icon)
return QIcon();
@@ -855,29 +829,34 @@ QPixmap QWebSettings::webGraphic(WebGraphic type)
void QWebSettings::clearMemoryCaches()
{
WebCore::initializeWebCoreQt();
+
+ //FIXME: This code is very similar to QtTestSupport::clearMemoryCaches().
+
// Turn the cache on and off. Disabling the object cache will remove all
// resources from the cache. They may still live on if they are referenced
// by some Web page though.
- if (!WebCore::memoryCache()->disabled()) {
- WebCore::memoryCache()->setDisabled(true);
- WebCore::memoryCache()->setDisabled(false);
+ auto& memoryCache = WebCore::MemoryCache::singleton();
+ if (!memoryCache.disabled()) {
+ memoryCache.setDisabled(true);
+ memoryCache.setDisabled(false);
}
- int pageCapacity = WebCore::pageCache()->capacity();
+ auto& pageCache = WebCore::PageCache::singleton();
+ int pageCacheMaxSize = pageCache.maxSize();
// Setting size to 0, makes all pages be released.
- WebCore::pageCache()->setCapacity(0);
- WebCore::pageCache()->setCapacity(pageCapacity);
+ pageCache.setMaxSize(0);
+ pageCache.setMaxSize(pageCacheMaxSize);
// Invalidating the font cache and freeing all inactive font data.
- WebCore::fontCache()->invalidate();
+ WebCore::FontCache::singleton().invalidate();
// Empty the Cross-Origin Preflight cache
- WebCore::CrossOriginPreflightResultCache::shared().empty();
+ WebCore::CrossOriginPreflightResultCache::singleton().empty();
// Drop JIT compiled code from ExecutableAllocator.
- WebCore::gcController().discardAllCompiledCode();
+ WebCore::GCController::singleton().deleteAllCode();
// Garbage Collect to release the references of CachedResource from dead objects.
- WebCore::gcController().garbageCollectNow();
+ WebCore::GCController::singleton().garbageCollectNow();
// FastMalloc has lock-free thread specific caches that can only be cleared from the thread itself.
WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads();
@@ -900,7 +879,7 @@ void QWebSettings::clearMemoryCaches()
void QWebSettings::setMaximumPagesInCache(int pages)
{
QWebSettingsPrivate* global = QWebSettings::globalSettings()->d;
- WebCore::pageCache()->setCapacity(qMax(0, pages));
+ WebCore::PageCache::singleton().setMaxSize(qMax(0, pages));
global->apply();
}
@@ -910,7 +889,7 @@ void QWebSettings::setMaximumPagesInCache(int pages)
int QWebSettings::maximumPagesInCache()
{
WebCore::initializeWebCoreQt();
- return WebCore::pageCache()->capacity();
+ return WebCore::PageCache::singleton().maxSize();
}
/*!
@@ -933,12 +912,14 @@ void QWebSettings::setObjectCacheCapacities(int cacheMinDeadCapacity, int cacheM
{
WebCore::initializeWebCoreQt();
bool disableCache = !cacheMinDeadCapacity && !cacheMaxDead && !totalCapacity;
- WebCore::memoryCache()->setDisabled(disableCache);
-
- WebCore::memoryCache()->setCapacities(qMax(0, cacheMinDeadCapacity),
- qMax(0, cacheMaxDead),
- qMax(0, totalCapacity));
- WebCore::memoryCache()->setDeadDecodedDataDeletionInterval(disableCache ? 0 : 60);
+ auto& memoryCache = WebCore::MemoryCache::singleton();
+ memoryCache.setDisabled(disableCache);
+
+ memoryCache.setCapacities(qMax(0, cacheMinDeadCapacity),
+ qMax(0, cacheMaxDead),
+ qMax(0, totalCapacity));
+ memoryCache.setDeadDecodedDataDeletionInterval(disableCache ? std::chrono::seconds{0}
+ : std::chrono::seconds{60});
}
/*!
@@ -1081,9 +1062,7 @@ void QWebSettings::setOfflineStoragePath(const QString& path)
{
WebCore::initializeWebCoreQt();
QWebSettings::globalSettings()->d->offlineDatabasePath = path;
-#if ENABLE(SQL_DATABASE)
- WebCore::DatabaseManager::manager().setDatabaseDirectoryPath(path);
-#endif
+ WebCore::DatabaseManager::singleton().setDatabaseDirectoryPath(path);
}
/*!
@@ -1146,7 +1125,7 @@ qint64 QWebSettings::offlineStorageDefaultQuota()
void QWebSettings::setOfflineWebApplicationCachePath(const QString& path)
{
WebCore::initializeWebCoreQt();
- WebCore::cacheStorage().setCacheDirectory(path);
+ WebCore::ApplicationCacheStorage::singleton().setCacheDirectory(path);
}
/*!
@@ -1160,7 +1139,7 @@ void QWebSettings::setOfflineWebApplicationCachePath(const QString& path)
QString QWebSettings::offlineWebApplicationCachePath()
{
WebCore::initializeWebCoreQt();
- return WebCore::cacheStorage().cacheDirectory();
+ return WebCore::ApplicationCacheStorage::singleton().cacheDirectory();
}
/*!
@@ -1172,9 +1151,10 @@ QString QWebSettings::offlineWebApplicationCachePath()
void QWebSettings::setOfflineWebApplicationCacheQuota(qint64 maximumSize)
{
WebCore::initializeWebCoreQt();
- WebCore::cacheStorage().empty();
- WebCore::cacheStorage().vacuumDatabaseFile();
- WebCore::cacheStorage().setMaximumSize(maximumSize);
+ auto& applicationCacheStorage = WebCore::ApplicationCacheStorage::singleton();
+ applicationCacheStorage.empty();
+ applicationCacheStorage.vacuumDatabaseFile();
+ applicationCacheStorage.setMaximumSize(maximumSize);
}
/*!
@@ -1185,7 +1165,7 @@ void QWebSettings::setOfflineWebApplicationCacheQuota(qint64 maximumSize)
qint64 QWebSettings::offlineWebApplicationCacheQuota()
{
WebCore::initializeWebCoreQt();
- return WebCore::cacheStorage().maximumSize();
+ return WebCore::ApplicationCacheStorage::singleton().maximumSize();
}
/*!
diff --git a/Source/WebKit/qt/Api/qwebsettings.h b/Source/WebKit/qt/Api/qwebsettings.h
index 0104846eb..27d8ecf5e 100644
--- a/Source/WebKit/qt/Api/qwebsettings.h
+++ b/Source/WebKit/qt/Api/qwebsettings.h
@@ -28,7 +28,6 @@
#include <QtCore/qshareddata.h>
namespace WebCore {
- class GroupSettings;
class Settings;
}
@@ -87,7 +86,7 @@ public:
CaretBrowsingEnabled,
NotificationsEnabled,
WebAudioEnabled,
- Accelerated2dCanvasEnabled
+ MediaSourceEnabled,
};
enum WebGraphic {
MissingImageGraphic,
@@ -178,7 +177,7 @@ private:
Q_DISABLE_COPY(QWebSettings)
QWebSettings();
- QWebSettings(WebCore::Settings *settings, WebCore::GroupSettings *groupSettings);
+ QWebSettings(WebCore::Settings *settings);
~QWebSettings();
QWebSettingsPrivate *d;
diff --git a/Source/WebKit/qt/ChangeLog-2011-02-16 b/Source/WebKit/qt/ChangeLog-2011-02-16
deleted file mode 100644
index 3b66e89c1..000000000
--- a/Source/WebKit/qt/ChangeLog-2011-02-16
+++ /dev/null
@@ -1,29927 +0,0 @@
-2011-02-16 Aparna Nandyal <aparna.nand@wipro.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] QWebFrame: When a relative url is loaded then it will make it absolute internally, however this strips out any query/fragments
- https://bugs.webkit.org/show_bug.cgi?id=29424
-
- ensureAbsoluteUrl function was stripping the query and the
- fragment part of the url. Corrected this.
-
- * Api/qwebframe.cpp:
- (ensureAbsoluteUrl):
-
-2011-02-15 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed.
-
- [Qt][V8] Buildfix. Add missing USE(JSC) guard.
-
- * Api/qwebelement.cpp:
-
-2011-02-15 Kenneth Russell <kbr@google.com>
-
- Reviewed by Darin Fisher.
-
- Allow controlling minimum DOMTimer interval on a per-page basis
- https://bugs.webkit.org/show_bug.cgi?id=54312
-
- Added needed methods to implement LayoutTestController's new
- setMinimumTimerInterval method.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::defaultMinimumTimerInterval):
- (DumpRenderTreeSupportQt::setMinimumTimerInterval):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2011-01-26 MORITA Hajime <morrita@google.com>
-
- Reviewed by Ryosuke Niwa.
-
- Refactoring: Extract TextCheckerClient from EditorClient
- https://bugs.webkit.org/show_bug.cgi?id=53213
-
- * WebCoreSupport/EditorClientQt.h:
- (WebCore::EditorClientQt::textChecker):
-
-2011-02-07 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Adam Barth.
-
- Add EditorClient callbacks to override isDOMPasteAllowed and javaScriptCanAccessClipboard
- https://bugs.webkit.org/show_bug.cgi?id=52417
-
- Added two callback functions, canCopyCut and canPaste to EditorClient. They are currently
- not implemented.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::canCopyCut): Added.
- (WebCore::EditorClientQt::canPaste): Added.
- * WebCoreSupport/EditorClientQt.h:
-
-2011-02-14 Alexis Menard <alexis.menard@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Crash on application exit after constructing and destroying a QWebView twice
- https://bugs.webkit.org/show_bug.cgi?id=54000
-
- Test case to cover the crash.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::deleteQWebViewTwice):
-
-2011-02-11 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] wmode gets overridden even if already windowless in QGraphicsWebView
- Do not override wmode if it is not set to "window".
- https://bugs.webkit.org/show_bug.cgi?id=50495
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2011-02-10 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):
-
-2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Ensure WebView press delay timer is cancelled when grab is taken
- https://bugs.webkit.org/show_bug.cgi?id=54242
-
- As reported in:
- http://bugreports.qt.nokia.com/browse/QTBUG-15529
-
- Flickable steals the grab, but the timer was not stopped and the
- keepGrab flag is set and the mouse grabbed. This means that the WebView
- now has the grab and subsequent clicks on another element are ignored.
-
- Original patch from Martin Jones <martin.jones@nokia.com>
- reviewed (there) by Joona Petrell
- 52068f57f9c32098a90cc217730a530f85590f65
-
- * declarative/qdeclarativewebview.cpp:
- (GraphicsWebView::sceneEvent):
- * declarative/qdeclarativewebview_p.h:
-
-2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Fix assert in QDeclarativeWebView
- https://bugs.webkit.org/show_bug.cgi?id=54240
-
- As reported in:
- http://bugreports.qt.nokia.com/browse/QTBUG-14278
-
- Instantiating a QDeclarativeWebView twice will trigger an assertion
- when in debug mode.
-
- Original patch from Thomas Hartmann <Thomas.Hartmann@nokia.com>,
- reviewed (there) by Aaron Kennedy
- f532679ca11914b453e22342f2ae5e9f790ce47a
-
- * declarative/qdeclarativewebview.cpp:
- (QDeclarativeWebView::init):
-
-2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Misc documentation fixes/updates
- https://bugs.webkit.org/show_bug.cgi?id=54236
-
- There are a few commits in the Qt repository (master and 4.7 branches)
- with QtWebKit documentation fixes:
-
- 84d278501a19eaccf9a77cccd95ca5d17a2dcd2b
- Clarified documentation of loadFinished() signal
-
- eebe205b306daaa3674d9746de11a73bef4bd0de
- Doc: Fixed QML, unindented snippet
-
- b0d64717d2c541976dc5524e4100c62f060e206f
- doc: Changed a table into 3 tables to eliminate a \raw.
-
- As these are all minor doc changes, I decided to group them
- into one single patch.
-
- * Api/qwebpage.cpp:
- * declarative/qdeclarativewebview.cpp:
- * docs/qtwebkit.qdoc:
-
-2011-02-10 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Remove the use of deprecated qVariant*
- https://bugs.webkit.org/show_bug.cgi?id=54229
-
- This was applied on the Qt repository and affects QtWebKit there.
- (633f3f45e5420663cf4ceadea79e62fea44cd2eb)
-
- The side effect of this change is that we won't be able to build
- QtWebKit with MSVC 6, as it doesn't support member template functions
- (not sure if it's possible today anyway).
-
- Original patch from Olivier Goffart <olivier.goffart@nokia.com>, with
- review reported as being from the mailing list.
-
- The changes are result of the following commands:
-
- git grep -O"sed -i 's/qVariantValue</qvariant_cast</'" qVariantValue
- git grep -O"sed -i 's/qVariantSetValue(\([^&*\(),]*\), */\\1.setValue(/'" qVariantSetValue
- git grep -O"sed -i 's/qVariantSetValue *<\([^>]*\)> *(\([^&*\(),]*\), */\\2.setValue<\\1>(/'" qVariantSetValue
- git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
- git grep -O"sed -i 's/qVariantCanConvert *<\([^>]*\)> *(\([^&*\(),]*([^&*\(),]*)\))/\\2.canConvert<\\1>()/g'" qVariantCanConvert
- git grep -O"sed -i 's/qVariantFromValue\( *[(<]\)/QVariant::fromValue\\1/'" qVariantFromValue
-
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::nodesFromRect):
- * tests/qwebframe/tst_qwebframe.cpp:
- (MyQObject::myInvokableWithQObjectListArg):
- (MyQObject::myInvokableWithListOfIntArg):
- (MyQObject::myInvokableWithQObjectStarArg):
- (MyQObject::myInvokableWithQBrushArg):
- (MyQObject::myInvokableWithBrushStyleArg):
- (MyQObject::myInvokableWithVoidStarArg):
- (MyQObject::myInvokableWithAmbiguousArg):
- (MyQObject::myInvokableWithDefaultArgs):
- (MyQObject::myInvokableWithPointArg):
- (MyQObject::myOverloadedSlot):
-
-2011-02-10 Robert Hogan <robert@webkit.org>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Return menu items from eventSender.contextMenu()
- https://bugs.webkit.org/show_bug.cgi?id=53039
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (iterateContextMenu):
- (DumpRenderTreeSupportQt::contextMenu):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2011-02-10 Alexis Menard <alexis.menard@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] In trunk with Qt Multimedia the full screen mode doesn't work.
- https://bugs.webkit.org/show_bug.cgi?id=54201
-
- Add a default fullscreen handler when there is no plaftform plugin
- installed. This handler creates a fullscreen QVideoWidget and plays
- the video. Space pause/resume the video playback and esc quit the
- fullscreen mode.
-
- * WebCoreSupport/FullScreenVideoQt.cpp:
- (WebCore::DefaultFullScreenVideoHandler::DefaultFullScreenVideoHandler):
- (WebCore::DefaultFullScreenVideoHandler::~DefaultFullScreenVideoHandler):
- (WebCore::DefaultFullScreenVideoHandler::requiresFullScreenForVideoPlayback):
- (WebCore::DefaultFullScreenVideoHandler::enterFullScreen):
- (WebCore::DefaultFullScreenVideoHandler::exitFullScreen):
- (WebCore::FullScreenVideoQt::FullScreenVideoQt):
- * WebCoreSupport/FullScreenVideoQt.h:
- * WebCoreSupport/FullScreenVideoWidget.cpp: Added.
- (WebCore::FullScreenVideoWidget::FullScreenVideoWidget):
- (WebCore::FullScreenVideoWidget::~FullScreenVideoWidget):
- (WebCore::FullScreenVideoWidget::show):
- (WebCore::FullScreenVideoWidget::closeEvent):
- (WebCore::FullScreenVideoWidget::event):
- (WebCore::FullScreenVideoWidget::keyPressEvent):
- (WebCore::FullScreenVideoWidget::hideCursor):
- (WebCore::FullScreenVideoWidget::showCursor):
- * WebCoreSupport/FullScreenVideoWidget.h: Added.
-
-2011-02-10 kasthuri <kasthuri.n-s@nokia.com>
-
- Reviewed by Antonio Gomes.
-
- [Qt] QWebFrame::setHtml doesn't emit loadFinished signal
- https://bugs.webkit.org/show_bug.cgi?id=38634
-
- QWebView->page()->mainFrame()->setHtml(html) is always emitting
- the loadFinished() signal for all types of html files.
- But the proposed test content was trying to catch the signal after
- calling setHtml() api and becuase of this the emitted signal for a
- simple html page is never caught as its emitted before even the connect
- call was successful.
-
- updated the tst_QWebFrame::setHtml() in tst_qwebframe.cpp to check for
- signal using the QSignalSpy.
-
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2011-02-09 Robert Hogan <robert@webkit.org>
-
- Reviewed by Csaba Osztrogonác.
-
- [Qt] REGRESSION (r73535): tst_QWebPage fails
- https://bugs.webkit.org/show_bug.cgi?id=51331
-
- Since r73535 a ContextMenu is only created when a context menu
- event is received, so QWebPage::updatePositionDependentActions()
- can't depend on one being there if it is called directly by
- the client. QtWebKit itself only ever calls updatePositionDependentActions()
- when a context menu event has been received.
-
- Update tst_QWebPage:contextMenuCrash to create a context menu.
- Add tst_QWebPage:updatePositionDependentActionsCrash to test for this crash.
-
- There doesn't seem to be a good reason for creating a context menu if
- clients call QWebPage::updatePositionDependentActions() when no
- context menu event has ever been received.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createContextMenu):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::contextMenuCrash):
-
-2011-02-09 Robert Hogan <robert@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] fast/dom/nodesFromRect-links-and-text.html crashes in debug mode
- https://bugs.webkit.org/show_bug.cgi?id=53921
-
- QDRTNode needs a copy constructor and an operator= in order to keep
- proper refcounts.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (:m_node):
- (QDRTNode::operator=):
- (DumpRenderTreeSupportQt::nodesFromRect):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2011-02-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Remove orphan code from old parser
- https://bugs.webkit.org/show_bug.cgi?id=53984
-
- * WebCoreSupport/ChromeClientQt.h:
-
-2011-02-07 Aparna Nandyal <aparna.nand@wipro.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] - Context menu needs "Copy" as well when the selected text is a link.
- https://bugs.webkit.org/show_bug.cgi?id=40983
-
- Added a test case to create a context sensitive menu.
- A check is made if it has Copy menu item when user
- selects a link and opens context menu.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::contextMenuCopy):
-
-2011-02-07 Benjamin Poulain <ikipou@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] cookiesEnabled could create the cookieJar on the wrong thread.
- https://bugs.webkit.org/show_bug.cgi?id=52289
-
- Test if the cookie jar is created in the right thread when accessed from
- the navigator object.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::navigatorCookieEnabledForNetworkAccessManagerOnDifferentThread):
-
-2011-02-07 Qi Zhang <qi.2.zhang@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] enum QWebPage::WebAction doesn't have value QWebPage::CopyImageUrl
- https://bugs.webkit.org/show_bug.cgi?id=52974
-
- Add QWebPage::CopyImageUrlToClipboard into QWebPage::WebAction.
-
- * Api/qwebpage.cpp:
- (webActionForContextMenuAction):
- (QWebPage::triggerAction):
- (QWebPage::action):
- * Api/qwebpage.h:
- * WebCoreSupport/WebPlatformStrategies.cpp:
- (WebPlatformStrategies::contextMenuItemTagCopyImageUrlToClipboard):
- * WebCoreSupport/WebPlatformStrategies.h:
-
-2011-02-07 Enrica Casucci <enrica@apple.com>
-
- Reviewed Adam Roben and Darin Adler.
-
- WebKit2: drag and drop support on Windows.
- https://bugs.webkit.org/show_bug.cgi?id=52775
-
- Removed createDragImageForLink from DragClient.
-
- * WebCoreSupport/DragClientQt.cpp:
- * WebCoreSupport/DragClientQt.h:
-
-2011-02-06 Robert Hogan <robert@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Remove unnecessary QRect assignment
- https://bugs.webkit.org/show_bug.cgi?id=53873
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::renderRelativeCoords):
-
-2011-02-06 Robert Hogan <robert@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Clear page's groupName even when not in DRT
- https://bugs.webkit.org/show_bug.cgi?id=53874
-
- Matches behaviour of other ports.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::closeWindowSoon):
-
-2011-02-03 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: remove settings related methods from InspectorClient
- https://bugs.webkit.org/show_bug.cgi?id=53686
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorFrontendClientQt::InspectorFrontendClientQt):
- * WebCoreSupport/InspectorClientQt.h:
-
-2011-02-03 Adam Langley <agl@chromium.org>
-
- Reviewed by Adam Barth.
-
- Plumb mixed script URL to FrameLoaderClient
- https://bugs.webkit.org/show_bug.cgi?id=52384
-
- Regressions covered by http/tests/security/mixedContent/*
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::didRunInsecureContent):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2011-02-01 Csaba Osztrogonác <ossy@webkit.org>
-
- Unreviewed Qt buildfix after r77286.
-
- https://bugs.webkit.org/show_bug.cgi?id=53520
- Remove the physical terminology from IntRect and FloatRect.
-
- * WebCoreSupport/PopupMenuQt.cpp:
- (WebCore::PopupMenuQt::show):
-
-2011-01-31 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QWebElements example from QtWebKit Bridge documentation does not work at all
- https://bugs.webkit.org/show_bug.cgi?id=46748
-
- Problem was that we need to register QWebElement's variant-type to Qt's meta type system at some point.
- This wasn't caught by previous tests inside tst_QWebFrame because it only appears when there's also a QWebElement property.
- Added a regression test to tst_QWebFrame.
-
- * tests/qwebframe/tst_qwebframe.cpp:
- (MyWebElementSlotOnlyObject::doSomethingWithWebElement):
- (MyWebElementSlotOnlyObject::tagName):
-
-2011-01-31 Srikumar Bonda <srikumar.b@gmail.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] ContextMenuClientQt.cpp has coding-style errors
- "RefCounted.h" header inclusion style changed to <wtf/RefCounted.h>
- https://bugs.webkit.org/show_bug.cgi?id=40243
-
- * WebCoreSupport/ContextMenuClientQt.cpp:
-
-2011-01-28 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- <select> can't display right-to-left (rtl) languages
- https://bugs.webkit.org/show_bug.cgi?id=19785
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::selectItemAlignmentFollowsMenuWritingDirection): Added.
- * WebCoreSupport/ChromeClientQt.h:
-
-2011-01-27 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Adam Barth.
-
- Use Document::url() instead of FrameLoader::url().
- https://bugs.webkit.org/show_bug.cgi?id=41165
-
- * Api/qwebframe.cpp:
- (QWebFrame::url):
-
-2011-01-27 Robert Hogan <robert@webkit.org>
-
- Rubber-stamped by Andreas Kling.
-
- [Qt] Style Fix: correct indentation in FrameLoadeClientQt:createPlugin
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2011-01-24 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Eric Seidel.
-
- Change ENABLE_3D_CANVAS to ENABLE_WEBGL
- https://bugs.webkit.org/show_bug.cgi?id=53041
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
-
-2011-01-24 Renata Hodovan <reni@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] QWebFramePrivate::renderRelativeCoords() calls QPainter::save/restore more than necessary
- https://bugs.webkit.org/show_bug.cgi?id=49915
-
- In the first loop of renderRelativeCoords() the call of QPainter::save/restore is useless, because
- the context is saved/stored within the loop.
- In the second loop the calls are also avoidable by using inverse translation on context.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::renderRelativeCoords):
-
-2011-01-24 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Csaba Osztrogonác.
-
- [Qt] Move project files into Source
- https://bugs.webkit.org/show_bug.cgi?id=52891
-
- * declarative/declarative.pro:
- * docs/docs.pri:
- * tests/tests.pri:
-
-2011-01-22 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Web Inspector: next step in splitting InspectorController.
-
- #include "InspectorController.h" was added.
-
- https://bugs.webkit.org/show_bug.cgi?id=52955
-
- * WebCoreSupport/InspectorServerQt.cpp:
-
-2011-01-22 Robert Hogan <robert@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Support layoutTestController.addURLToRedirect()
- https://bugs.webkit.org/show_bug.cgi?id=52956
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::addURLToRedirect):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchWillSendRequest):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2011-01-21 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
- https://bugs.webkit.org/show_bug.cgi?id=52779
-
- Rename ScrollbarClient -> ScrollableArea.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setScrollBarValue):
-
-2011-01-20 Sam Weinig <sam@webkit.org>
-
- Fix build.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setScrollBarValue):
-
-2011-01-20 Sam Weinig <sam@webkit.org>
-
- Fix build.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setScrollBarValue):
-
-2011-01-20 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dave Hyatt.
-
- Cleanup Scrollbar/ScrollbarClient relationship
- https://bugs.webkit.org/show_bug.cgi?id=52779
-
- * Api/qwebframe.cpp:
- (QWebFrame::setScrollBarValue):
-
-2011-01-19 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Sam Weinig.
-
- GraphicsLayers in subframes can get sync'd multiple times
- https://bugs.webkit.org/show_bug.cgi?id=52489
-
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PageClientQWidget::syncLayers): syncCompositingStateRecursive()
- was renamed to syncCompositingStateIncludingSubframes().
-
-2011-01-19 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Laszlo Gombos and Tor Arne Vestbø.
-
- [Qt] Remove unnecessary "../Source" from paths
- after moving source files into Source is finished.
-
- * Api/DerivedSources.pro:
-
-2011-01-18 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] http/tests/incremental/slow-utf8-text.pl fails
- https://bugs.webkit.org/show_bug.cgi?id=44282
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::responseMimeType):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2011-01-17 Alexey Proskuryakov <ap@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=52495
-
- * Api/qwebframe.cpp: (QWebFrame::print): Avoid breaking the build due to type mismatch.
- Longer term, this code should be changed to use an unsigned type for page count.
-
-2011-01-17 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Extend the Platform Plugin to support full screen video handler
- https://bugs.webkit.org/show_bug.cgi?id=51249
-
- Add a new webkit platform plugin interface to support full screen video handler.
-
- * Api/qwebkitplatformplugin.h:
- (QWebFullScreenVideoHandler::QWebFullScreenVideoHandler):
- (QWebFullScreenVideoHandler::~QWebFullScreenVideoHandler):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::ChromeClientQt):
- (WebCore::ChromeClientQt::~ChromeClientQt):
- (WebCore::ChromeClientQt::fullScreenVideo):
- (WebCore::ChromeClientQt::supportsFullscreenForNode):
- (WebCore::ChromeClientQt::requiresFullscreenForVideoPlayback):
- (WebCore::ChromeClientQt::enterFullscreenForNode):
- (WebCore::ChromeClientQt::exitFullscreenForNode):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/FullScreenVideoQt.cpp: Added.
- (WebCore::FullScreenVideoQt::FullScreenVideoQt):
- (WebCore::FullScreenVideoQt::~FullScreenVideoQt):
- (WebCore::FullScreenVideoQt::enterFullScreenForNode):
- (WebCore::FullScreenVideoQt::exitFullScreenForNode):
- (WebCore::FullScreenVideoQt::aboutToClose):
- (WebCore::FullScreenVideoQt::mediaPlayer):
- (WebCore::FullScreenVideoQt::mediaPlayerForNode):
- (WebCore::FullScreenVideoQt::requiresFullScreenForVideoPlayback):
- * WebCoreSupport/FullScreenVideoQt.h: Added.
- (WebCore::FullScreenVideoQt::isValid):
- * WebCoreSupport/QtPlatformPlugin.cpp:
- (WebCore::QtPlatformPlugin::createFullScreenVideoHandler):
- * WebCoreSupport/QtPlatformPlugin.h:
- * examples/platformplugin/WebPlugin.cpp:
- (FullScreenVideoWidget::FullScreenVideoWidget):
- (FullScreenVideoWidget::event):
- (FullScreenVideoWidget::keyPressEvent):
- (FullScreenVideoHandler::FullScreenVideoHandler):
- (FullScreenVideoHandler::~FullScreenVideoHandler):
- (FullScreenVideoHandler::requiresFullScreenForVideoPlayback):
- (FullScreenVideoHandler::enterFullScreen):
- (FullScreenVideoHandler::exitFullScreen):
- (WebPlugin::supportsExtension):
- (WebPlugin::createExtension):
- * examples/platformplugin/WebPlugin.h:
- (FullScreenVideoWidget::~FullScreenVideoWidget):
- * examples/platformplugin/platformplugin.pro:
- * examples/platformplugin/qwebkitplatformplugin.h:
- (QWebFullScreenVideoHandler::QWebFullScreenVideoHandler):
- (QWebFullScreenVideoHandler::~QWebFullScreenVideoHandler):
-
-2011-01-16 Adam Barth <abarth@webkit.org>
-
- Rubber-stamped by Eric Seidel.
-
- Move WebKit into Source
- https://bugs.webkit.org/show_bug.cgi?id=52530
-
- * Api/DerivedSources.pro:
- * declarative/declarative.pro:
- * docs/docs.pri:
- * tests/tests.pri:
-
-2011-01-15 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r75708.
- http://trac.webkit.org/changeset/75708
- https://bugs.webkit.org/show_bug.cgi?id=52521
-
- Breaks Qt build if mobility is not installed. (Requested by
- benjaminp on #webkit).
-
- * Api/qwebkitplatformplugin.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::ChromeClientQt):
- (WebCore::ChromeClientQt::~ChromeClientQt):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/FullScreenVideoQt.cpp: Removed.
- * WebCoreSupport/FullScreenVideoQt.h: Removed.
- * WebCoreSupport/QtPlatformPlugin.cpp:
- * WebCoreSupport/QtPlatformPlugin.h:
- * examples/platformplugin/WebPlugin.cpp:
- (WebPlugin::supportsExtension):
- (WebPlugin::createExtension):
- * examples/platformplugin/WebPlugin.h:
- * examples/platformplugin/platformplugin.pro:
- * examples/platformplugin/qwebkitplatformplugin.h:
-
-2011-01-15 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] plugins/no-mime-with-valid-extension.html fails
- Check extension of resource against installed
- plugins when determining mime-type.
-
- https://bugs.webkit.org/show_bug.cgi?id=52288
- https://bugs.webkit.org/show_bug.cgi?id=50657
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::objectContentType):
-
-2011-01-14 Sam Magnuson <smagnuso@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Compile with QT_NO_GRAPHICSVIEW
- https://bugs.webkit.org/show_bug.cgi?id=49750
-
- * Api/qgraphicswebview.cpp:
- * Api/qgraphicswebview.h:
- * Api/qwebpage.cpp:
- (QWebPage::event):
- * Api/qwebpage_p.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
- * WebCoreSupport/PageClientQt.cpp:
- * WebCoreSupport/PageClientQt.h:
-
-2011-01-14 Yuzo Fujishima <yuzo@google.com>
-
- Reviewed by Antti Koivisto.
-
- Rename cache() to memoryCache()
- https://bugs.webkit.org/show_bug.cgi?id=52433
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::_q_cleanupLeakMessages):
- * Api/qwebsettings.cpp:
- (QWebSettings::clearMemoryCaches):
- (QWebSettings::setObjectCacheCapacities):
-
-2011-01-14 Konstantin Tokarev <annulen@yandex.ru>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Fixed compilation when QT_NO_SHORTCUT is defined
- https://bugs.webkit.org/show_bug.cgi?id=52460
-
- This patch fixes compilation when QT_NO_SHORTCUT is defined in Qt
- configuration.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent): Added QT_NO_SHORTCUT guards
-
-2011-01-13 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Need a way to inform the application when a Netscape plugin is created.
- https://bugs.webkit.org/show_bug.cgi?id=30179
-
- Added "c" style static method for the application to hook up for
- receiving notifications when a plugin is created.
-
- * symbian/bwins/QtWebKitu.def:
- * symbian/eabi/QtWebKitu.def:
-
-2011-01-13 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Extend the Platform Plugin to support full screen video handler
- https://bugs.webkit.org/show_bug.cgi?id=51249
-
- Add a new webkit platform plugin interface to support full screen video handler.
-
- * Api/qwebkitplatformplugin.h:
- (QWebFullScreenVideoHandler::QWebFullScreenVideoHandler):
- (QWebFullScreenVideoHandler::~QWebFullScreenVideoHandler):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::ChromeClientQt):
- (WebCore::ChromeClientQt::~ChromeClientQt):
- (WebCore::ChromeClientQt::fullScreenVideo):
- (WebCore::ChromeClientQt::supportsFullscreenForNode):
- (WebCore::ChromeClientQt::requiresFullscreenForVideoPlayback):
- (WebCore::ChromeClientQt::enterFullscreenForNode):
- (WebCore::ChromeClientQt::exitFullscreenForNode):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/FullScreenVideoQt.cpp: Added.
- (WebCore::FullScreenVideoQt::FullScreenVideoQt):
- (WebCore::FullScreenVideoQt::~FullScreenVideoQt):
- (WebCore::FullScreenVideoQt::enterFullScreenForNode):
- (WebCore::FullScreenVideoQt::exitFullScreenForNode):
- (WebCore::FullScreenVideoQt::aboutToClose):
- (WebCore::FullScreenVideoQt::mediaPlayer):
- (WebCore::FullScreenVideoQt::mediaPlayerForNode):
- (WebCore::FullScreenVideoQt::requiresFullScreenForVideoPlayback):
- * WebCoreSupport/FullScreenVideoQt.h: Added.
- (WebCore::FullScreenVideoQt::isValid):
- * WebCoreSupport/QtPlatformPlugin.cpp:
- (WebCore::QtPlatformPlugin::createFullScreenVideoHandler):
- * WebCoreSupport/QtPlatformPlugin.h:
- * examples/platformplugin/WebPlugin.cpp:
- (FullScreenVideoWidget::FullScreenVideoWidget):
- (FullScreenVideoWidget::event):
- (FullScreenVideoWidget::keyPressEvent):
- (FullScreenVideoHandler::FullScreenVideoHandler):
- (FullScreenVideoHandler::~FullScreenVideoHandler):
- (FullScreenVideoHandler::requiresFullScreenForVideoPlayback):
- (FullScreenVideoHandler::enterFullScreen):
- (FullScreenVideoHandler::exitFullScreen):
- (WebPlugin::supportsExtension):
- (WebPlugin::createExtension):
- * examples/platformplugin/WebPlugin.h:
- (FullScreenVideoWidget::~FullScreenVideoWidget):
- * examples/platformplugin/platformplugin.pro:
- * examples/platformplugin/qwebkitplatformplugin.h:
- (QWebFullScreenVideoHandler::QWebFullScreenVideoHandler):
- (QWebFullScreenVideoHandler::~QWebFullScreenVideoHandler):
-
-2011-01-12 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [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:
-
-2011-01-12 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r74344.
- http://trac.webkit.org/changeset/74344
- https://bugs.webkit.org/show_bug.cgi?id=52290
-
- broke QWebPluginFactory for unusual mime-types (Requested by
- kling on #webkit).
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2011-01-11 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove uses of QFuture since it isn't supported on all platforms.
- https://bugs.webkit.org/show_bug.cgi?id=51204
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (QtNAMThread::QtNAMThread):
- (QtNAMThread::networkAccessManager):
- (QtNAMThread::run):
-
-2011-01-11 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix tst_QWebPage::geolocationRequestJS()
- https://bugs.webkit.org/show_bug.cgi?id=46814
-
- Skip the test when WebKit is compiled without geolocation.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::geolocationRequestJS):
-
-2011-01-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Csaba Osztrogonác.
-
- [Qt] Baseline qt_minimal configuration
- https://bugs.webkit.org/show_bug.cgi?id=51313
-
- * WebCoreSupport/PopupMenuQt.cpp:
- (WebCore::PopupMenuQt::show): Add QT_NO_COMBOBOX guard.
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopup::populate): Add QT_NO_TOOLTIP guard.
-
- * tests/qwebframe/tst_qwebframe.cpp: Add QT_NO_COMBOBOX guard.
- * tests/qwebpage/tst_qwebpage.cpp:
- (PluginPage::createPlugin): Add QT_NO_INPUTDIALOG guard.
-
-2011-01-10 Adam Barth <abarth@webkit.org>
-
- 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
-
- Update to new function name.
-
- * Api/qwebsecurityorigin.cpp:
- (QWebSecurityOrigin::localSchemes):
-
-2011-01-10 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar
- https://bugs.webkit.org/show_bug.cgi?id=52081
-
- Add an autotest for checking the result of Navigator.cookiesEnabled depending
- on the status of the cookie jar.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::navigatorCookieEnabled):
-
-2011-01-09 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r75337.
- http://trac.webkit.org/changeset/75337
- https://bugs.webkit.org/show_bug.cgi?id=52137
-
- It made fast/dom/navigator-detached-no-crash.html crash
- (Requested by Ossy on #webkit).
-
- * tests/qwebpage/tst_qwebpage.cpp:
-
-2011-01-09 Xianzhu Wang <phnixwxz@gmail.com>
-
- Reviewed by Darin Fisher.
-
- https://bugs.webkit.org/show_bug.cgi?id=41441
- createWindow method should only do window-creating without URL navigation
-
- * Api/qwebpage.cpp:
- (openNewWindow):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createWindow):
-
-2011-01-08 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar
- https://bugs.webkit.org/show_bug.cgi?id=52081
-
- Add an autotest for checking the result of Navigator.cookiesEnabled depending
- on the status of the cookie jar.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::navigatorCookieEnabled):
-
-2011-01-07 Adam Barth <abarth@webkit.org>
-
- Rubber-stamped by Eric Seidel.
-
- Move WebCore to Source
- https://bugs.webkit.org/show_bug.cgi?id=52050
-
- Update documentation to reference new location of WebCore.
-
- * docs/qtwebkit.qdoc:
-
-2011-01-07 Andreas Kling <kling@webkit.org>
-
- Reviewed by Adam Barth.
-
- [Qt] Add selectedHtml function to QWebView
- https://bugs.webkit.org/show_bug.cgi?id=35028
-
- Add QWebView::selectedHtml() and QWebPage::selectedHtml()
- which return the current selection range's HTML representation.
-
- * Api/qwebpage.cpp:
- (QWebPage::selectedHtml):
- * Api/qwebpage.h:
- * Api/qwebview.cpp:
- (QWebView::selectedText):
- (QWebView::selectedHtml):
- * Api/qwebview.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::cursorMovements):
- (tst_QWebPage::textSelection):
- (tst_QWebPage::crashTests_LazyInitializationOfMainFrame):
- (tst_QWebPage::findText):
-
-2011-01-06 Robert Hogan <robert@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Introduce QDRTNode for passing WebCore::Node across JS bridge
-
- This allows LayoutTestController to pass WebCore::Node back to
- layout tests.
-
- Also amend nodesFromRect-links-and-text.html and
- nodesFromRect-inner-documents.html so that they do not produce
- platform-specific results.
-
- Unskip:
- fast/dom/nodesFromRect-links-and-text.html
- fast/dom/nodesFromRect-inner-documents.html
-
- https://bugs.webkit.org/show_bug.cgi?id=48957
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (QDRTNode::QDRTNode):
- (QDRTNode::~QDRTNode):
- (DumpRenderTreeSupportQt::nodesFromRect):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2011-01-04 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Simon Hausmann.
- Acked by Aaron Kennedy <aaron.kennedy@nokia.com>
-
- [Qt] QML WebView does not transfer focus to underlying QGraphicsWebView
-
- QML WebView creates QGraphicsWebView as it's child. The WebView is not
- setup as a focus proxy of the QGraphicsWebView. Thus, even though the
- WebView gets focus, the QGraphicsWebView does not get focus.
- In QML, focus proxies or "focus scopes" are created using FocusScope.
- This change makes WebView a FocusScope and sets the focus on the
- QGraphicsWebView.
-
- https://bugs.webkit.org/show_bug.cgi?id=51094
-
- * declarative/qdeclarativewebview.cpp:
- (QDeclarativeWebView::init):
-
-2011-01-05 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Sync qwebkitplatformplugin.h in the plugin example
- https://bugs.webkit.org/show_bug.cgi?id=51882
-
- Make examples/platformplugin/qwebkitplatformplugin.h exactly the same
- as the one in the Api folder.
-
- * examples/platformplugin/qwebkitplatformplugin.h:
-
-2011-01-04 Zhe Su <suzhe@chromium.org>
-
- Reviewed by Kenneth Russell.
-
- Fix test LayoutTests/fast/events/ime-composition-events-001.html.
-
- https://bugs.webkit.org/show_bug.cgi?id=51693
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent): Calls editor->insertText() to
- insert the commit string when no composition text is available.
-
-2011-01-03 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Adam Barth.
-
- [Qt] Add SelectAll option to the context menu for the editor
- https://bugs.webkit.org/show_bug.cgi?id=50049
-
- Enable SelectAll for the Qt context menu.
-
- * Api/qwebpage.cpp:
- (webActionForContextMenuAction):
- (QWebPage::action):
- * WebCoreSupport/WebPlatformStrategies.cpp:
- (WebPlatformStrategies::contextMenuItemTagSelectAll):
- * WebCoreSupport/WebPlatformStrategies.h:
-
-2011-01-03 Antonio Gomes <agomes@rim.com>
-
- Unreviewed crash fix.
-
- Follow up of r74891: potential crash fix (bogus assertion).
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::editorCommandForKeyDownEvent):
-
-2011-01-03 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget
- https://bugs.webkit.org/show_bug.cgi?id=51464
-
- Added a way to bind any QObject created as a plugin to JavaScript,
- by adding a custom membe to WebCore::Widget.
- Added a test to make sure plugins created as QGraphicsWidget are
- accessible through JavaScript.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- * tests/qwebpage/tst_qwebpage.cpp:
- (PluginPage::createPlugin):
- (tst_QWebPage::graphicsWidgetPlugin):
-
-2011-01-02 Antonio Gomes <agomes@rim.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Refactor EditorClientQt::handleKeyboardEvent
- https://bugs.webkit.org/show_bug.cgi?id=51306
-
- EditorClientQt::handleKeyboardEvent relies on QWebPagePrivate::editorActionForKeyEvent()
- to handle all editor commands that have a QAction associted with it.
- In practice, that covers most of editor commands (as one can see in editorCommandWebActions,
- in qwebpage.cpp). However, there are some key down events that are associated to no QAction
- or need special handling when features like spatial navigation or
- caret browsing are enabled. Currently, these cases are being handled with confusing
- and nested if/else switch's statements in EditorClientQt::handleKeyboardEvent(),
- and the code is hardly readable.
-
- This patch introduces a mapping hash for those cases, simplifying much
- the code. Basically, nested switches statements mixed with if/else's were
- refactored, and early returns were added right after an event gets consumed
- by the Editor.
-
- Since it is a refactor only patch, there is no funcionality change at
- all, and then no new tests are being added.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::interpretKeyEvent):
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2011-01-01 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move JavaScriptCore to Source
- https://bugs.webkit.org/show_bug.cgi?id=51604
-
- * WebKit_pch.h:
- * docs/qtwebkit.qdocconf:
- - Point to JavaScriptCore in its new location.
-
-2010-12-29 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix compilation with Qt in namespace
- https://bugs.webkit.org/show_bug.cgi?id=51701
-
- * Api/qwebkitplatformplugin.h:
- * WebCoreSupport/InspectorServerQt.h:
- * tests/hybridPixmap/widget.h:
-
-2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com>
-
- Reviewed by Alexey Proskuryakov.
-
- [Qt] Composition text is not removed from the editor when composition is cancelled
- https://bugs.webkit.org/show_bug.cgi?id=29391
-
- Ensure that the composition text is cleared when an empty QInputMethodEvent
- is received and the editor is in composition mode.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent):
-
-2010-12-23 Jan Erik Hanssen <jhanssen@sencha.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] copy and paste greek symbols to Word, TextEdit results in ?'s being shown
- https://bugs.webkit.org/show_bug.cgi?id=35635
-
- Test that QClipboard contains the charset information and unicode data
- after copying unicode text.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::macCopyUnicodeToClipboard):
-
-2010-12-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- WebKit2 needs to mirror the frame tree in the UIProcess
- https://bugs.webkit.org/show_bug.cgi?id=51546
-
- - Add client functions to notify that a frame has been added or
- removed from the page cache.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::didSaveToPageCache):
- (WebCore::FrameLoaderClientQt::didRestoreFromPageCache):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-12-22 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Editor.h doesn't need to include SelectionController.h
- https://bugs.webkit.org/show_bug.cgi?id=51441
-
- Renamed SelectionController::EDirection to SelectionDirection.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2010-12-23 Dawit Alemayehu <adawit@kde.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add a 'hasSelection' function to QWebView and QWebPage.
- https://bugs.webkit.org/show_bug.cgi?id=48722
-
- This is a convenience API that optimizes the case where checking for
- the presence of selected content and accessing the selected content
- are two separate actions in the client. See comment #12 in the above
- bug report link for details.
-
- * Api/qwebpage.cpp:
- (QWebPage::hasSelection):
- * Api/qwebpage.h:
- * Api/qwebview.cpp:
- (QWebView::hasSelection):
- * Api/qwebview.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::textSelection):
-
-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.
-
- Updated Symbian DEF file for ARM target due to API changes
- via committs r72600-72603 (see bug# 46810)
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-11-25 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling and Simon Hausmann.
-
- [Qt] Calculate the -webkit-pixel-radio using the device DPI.
- http://webkit.org/b/50059
-
- Also, update the documentation on what a DIP is and how to override
- the device DPI in the case the system reports the wrong one (which
- unfortunately is common on X11).
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPage::viewportAttributesForSize):
- * Api/qwebpage_p.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::scaleFactor):
-
-2010-11-24 Kristian Amlie <kristian.amlie@nokia.com>
-
- Reviewed by Andreas Kling.
-
- Fixed handling of QInputMethodEvents with nonzero replacementLength.
-
- These types of events replace text that is already in the widget, but
- WebKit did not check for replacementLength at all.
-
- https://bugs.webkit.org/show_bug.cgi?id=49787
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2010-11-24 Andras Becsi <abecsi@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Make WebKit2 compile with !ENABLE(INSPECTOR).
- https://bugs.webkit.org/show_bug.cgi?id=49973
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::setJavaScriptProfilingEnabled):
-
-2010-11-24 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r72650.
- http://trac.webkit.org/changeset/72650
- https://bugs.webkit.org/show_bug.cgi?id=50010
-
- breaks focus in scenes focus item other than graphicswebiview
- (Requested by tronical_ on #webkit).
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate):
- (QGraphicsWebView::QGraphicsWebView):
- (QGraphicsWebView::itemChange):
- * Api/qgraphicswebview.h:
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
-
-2010-11-24 Jan Erik Hanssen <jhanssen@sencha.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Html autofocus not working with QGraphicsWebView
- https://bugs.webkit.org/show_bug.cgi?id=43169
-
- QGraphicsScene does not propagate Qt::ActivateWindowFocusReason focus
- events when there are no active items.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate):
- (QGraphicsWebView::QGraphicsWebView):
- (QGraphicsWebView::eventFilter):
- (QGraphicsWebView::itemChange):
- * Api/qgraphicswebview.h:
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
- (FocusPage::FocusPage):
- (FocusPage::event):
- (FocusPage::gotFocus):
- (tst_QGraphicsWebView::receivesFocusInOnShow):
-
-2010-11-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- Adapt to setShouldDelegateScrolling not being a real setting anymore.
- We now similarily to setUseFixedLayout and setPaintEntireContents
- set it on the FrameView wen transitioning to a new page.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::updateResizesToContentsForPage):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2010-11-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix compilation with !ENABLE(INSPECTOR)
- https://bugs.webkit.org/show_bug.cgi?id=49942
-
- Add ENABLE(INSPECTOR) to the Qt specific files following r71981.
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::inspectorDestroyed):
- (WebCore::InspectorClientQt::openInspectorFrontend):
- (WebCore::InspectorClientQt::sendMessageToFrontend):
- * WebCoreSupport/InspectorServerQt.cpp:
- (WebCore::InspectorServerRequestHandlerQt::webSocketReadyRead):
-
-2010-11-23 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Restore binary compatibility with the QtWebKit 2.1 branch
-
- Re-order the enums by adding new enum entries to the end.
-
- * Api/qwebsettings.h:
-
-2010-11-23 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Review the setUserPermission & friends API
- https://bugs.webkit.org/show_bug.cgi?id=46810
-
- Renamed requestPermissionFromUser to featurePermissionRequested
- and cancelRequestsForPermission to featurePermissionRequestCanceled.
-
- * Api/qwebpage.h:
- * WebCoreSupport/GeolocationPermissionClientQt.cpp:
- (WebCore::GeolocationPermissionClientQt::requestGeolocationPermissionForFrame):
- (WebCore::GeolocationPermissionClientQt::cancelGeolocationPermissionRequestForFrame):
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationPresenterClientQt::requestPermission):
- (WebCore::NotificationPresenterClientQt::cancelRequestsForPermission):
-
-2010-11-23 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Review the setUserPermission & friends API
- https://bugs.webkit.org/show_bug.cgi?id=46810
-
- Rename setUserPermission to setFeaturePermission
-
- * Api/qwebpage.cpp:
- (QWebPage::setFeaturePermission):
- * Api/qwebpage.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (JSTestPage::requestPermission):
-
-2010-11-23 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Review the setUserPermission & friends API
- https://bugs.webkit.org/show_bug.cgi?id=46810
-
- Rename PermissionDomain to Feature, NotificationsPermissionDomain to Notifications
- and GeolocationPermissionDomain to Geolocation.
-
- * Api/qwebpage.cpp:
- (QWebPage::setUserPermission):
- * Api/qwebpage.h:
- * WebCoreSupport/GeolocationPermissionClientQt.cpp:
- (WebCore::GeolocationPermissionClientQt::requestGeolocationPermissionForFrame):
- (WebCore::GeolocationPermissionClientQt::cancelGeolocationPermissionRequestForFrame):
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationPresenterClientQt::requestPermission):
- (WebCore::NotificationPresenterClientQt::cancelRequestsForPermission):
- * tests/qwebpage/tst_qwebpage.cpp:
- (JSTestPage::requestPermission):
- (tst_QWebPage::geolocationRequestJS):
-
-2010-11-23 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Review the setUserPermission & friends API
- https://bugs.webkit.org/show_bug.cgi?id=46810
-
- Add a ByUser suffix to PermissionGranted/Denied. In the future
- we can add PermissionGrantedByDefault.
-
- * Api/qwebpage.cpp:
- (QWebPage::setUserPermission):
- * Api/qwebpage.h:
- * WebCoreSupport/GeolocationPermissionClientQt.cpp:
- (WebCore::GeolocationPermissionClientQt::setPermission):
- * tests/qwebpage/tst_qwebpage.cpp:
- (JSTestPage::requestPermission):
-
-2010-11-22 Jan Erik Hanssen <jhanssen@sencha.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QWebElement::appendInside() doesn't work on head elements
- https://bugs.webkit.org/show_bug.cgi?id=49166
-
- Make QWebElement::appendInside() call
- Element::deprecatedCreateContextualFragment(), bypassing the check for
- the HEAD tag in the HTMLElement implementation of this function.
-
- * Api/qwebelement.cpp:
- (QWebElement::appendInside):
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::addElementToHead):
-
-2010-11-20 Andreas Kling <kling@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Dragging a selection should use a rendering of the selection as "cursor" for the drag
- https://bugs.webkit.org/show_bug.cgi?id=49870
-
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::DragClientQt::startDrag): Pass the DragImage to QDrag::setPixmap()
-
-2010-11-20 Sam Magnuson <smagnuso@gmail.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] crash when attempting to add a JS object
- https://bugs.webkit.org/show_bug.cgi?id=49287
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
- Test: LayoutTests/fast/frames/sandboxed-iframe-plugins.html
-
-2010-11-20 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r72471.
- http://trac.webkit.org/changeset/72471
- https://bugs.webkit.org/show_bug.cgi?id=49865
-
- broke two IME tests on Qt (Requested by kling on #webkit).
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2010-11-19 Kristian Amlie <kristian.amlie@nokia.com>
-
- Reviewed by Andreas Kling.
-
- Fixed handling of QInputMethodEvents with nonzero replacementLength.
-
- These types of events replace text that is already in the widget, but
- WebKit did not check for replacementLength at all.
-
- Also made sure that the preeditString is always respected, even if
- there is committed text. This is how QLineEdit does it.
-
- https://bugs.webkit.org/show_bug.cgi?id=49787
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2010-11-19 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Transition and animation do not work with QWebView anymore
- https://bugs.webkit.org/show_bug.cgi?id=49797
-
- Accelerated compositing should not be enabled on QWebView without
- texture mapper.
-
- * WebCoreSupport/PageClientQt.h:
- (WebCore::PageClientQWidget::allowsAcceleratedCompositing):
-
-2010-11-19 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Memory leak in QWebInspector
- https://bugs.webkit.org/show_bug.cgi?id=49765
-
- Delete QWebInspectorPrivate in ~QWebInspector()
-
- * Api/qwebinspector.cpp:
- (QWebInspector::~QWebInspector):
-
-2010-11-19 Sam Magnuson <smagnuso@gmail.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Compile with QT_NO_UNDOCOMMAND
- https://bugs.webkit.org/show_bug.cgi?id=49752
-
- * WebCoreSupport/EditCommandQt.cpp:
- (EditCommandQt::EditCommandQt):
- * WebCoreSupport/EditCommandQt.h:
-
-2010-11-19 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Andreas Kling.
-
- https://bugs.webkit.org/show_bug.cgi?id=49200
- [Qt] bugs in Composition mode for QWebPage::inputMethodEvent & inputMethodQuery()
-
- Make QWebPage work as following when editor is in composition mode:
- 1. anchor position and cursor position are the same and always >= 0
- 2. current selection is always null
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent):
- (QWebPage::inputMethodQuery):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2010-11-18 Gavin Barraclough <barraclough@apple.com>
-
- Build fix - update error messages folllowing r72360.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-11-12 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Static platform plugin support
- https://bugs.webkit.org/show_bug.cgi?id=49470
-
- Adding support for statically linked platform plugins.
-
- * WebCoreSupport/QtPlatformPlugin.cpp:
- (WebCore::QtPlatformPlugin::loadStaticallyLinkedPlugin):
- (WebCore::QtPlatformPlugin::plugin):
- * WebCoreSupport/QtPlatformPlugin.h:
-
-2010-11-17 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Reuse the size of the actualVisibleContentRect when loading a new page
- or navigating session history.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2010-11-17 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Darin Adler.
-
- Converge means of querying a parent node into one way, which is Node::parentNode.
- https://bugs.webkit.org/show_bug.cgi?id=49686
-
- * Api/qwebelement.cpp:
- (QWebElement::prependOutside): Changed to use parentNode.
- (QWebElement::appendOutside): Ditto.
- (QWebElement::encloseContentsWith): Ditto.
- (QWebElement::encloseWith): Ditto.
-
-2010-11-16 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Remove synchronous QWebPage::checkPermissions signal
- https://bugs.webkit.org/show_bug.cgi?id=46810
-
- As decided in the API review, we remove this signal and replace its only use currently
- with cached credentials.
-
- * Api/qwebpage.cpp:
- (QWebPage::setUserPermission): Pass the WebCore frame instead of the QWebFrame.
- * Api/qwebpage.h:
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationPresenterClientQt::checkPermission): Replaced explicit
- signal emission with hash lookup of previously granted permission (or not).
- (WebCore::NotificationPresenterClientQt::cancelRequestsForPermission): Remove
- any previously cached/granted permission for the given script execution context.
- (WebCore::NotificationPresenterClientQt::allowNotificationForFrame): Do not
- only serve pending permission requests but before calling the JS callbacks, remember
- the permission for subsequent synchronous checkPermission() calls.
- * WebCoreSupport/NotificationPresenterClientQt.h: Add cache for permissions.
-
-2010-11-15 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY build fix.
-
- Fix test broken by earlier patch.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-11-15 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] ZoomTextOnly doesn't work
- https://bugs.webkit.org/show_bug.cgi?id=49568
-
- Check QWebSettings::ZoomTextOnly attribute before applying zoom
-
- * Api/qwebframe.cpp:
- (QWebFrame::textSizeMultiplier):
- (QWebFrame::setZoomFactor):
- (QWebFrame::zoomFactor):
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
-
-2010-11-14 Andreas Kling <kling@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- REGRESSION(r71895): API test javaScriptWindowObjectCleared fails
- https://bugs.webkit.org/show_bug.cgi?id=49466
-
- As of r71895 empty inline scripts are no longer executed and so
- the javaScriptWindowObjectCleared() signal is no longer triggered
- by <script></script>.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-11-12 Jacob Dinu <dinu.jacob@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Update .def file for Symbian
- https://bugs.webkit.org/show_bug.cgi?id=49456
-
- Added missing symbols from revisions r69825, r70470, r71806
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-11-12 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Need to implement WebKit::pluginWillHandleLoadError for WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=48764
-
- Add the missing error.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::pluginWillHandleLoadError):
-
-2010-11-11 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] QWebScriptWorld::world() may crash
- https://bugs.webkit.org/show_bug.cgi?id=49342
-
- * Api/qwebscriptworld.cpp:
- (QWebScriptWorld::world):
-
-2010-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Add an API for overriding the actual visible content rect in WebCore
- https://bugs.webkit.org/show_bug.cgi?id=49373
-
- * Api/qwebpage.cpp:
- (QWebPage::setActualVisibleContentRect):
- * Api/qwebpage.h:
-
-2010-11-11 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- FrameView: Don't clip to visibleContentRect in paintEntireContents mode
- https://bugs.webkit.org/show_bug.cgi?id=49375
-
- Use paintEntireContents in combination with tiling, allowing to
- actually set visibleContentRect to something different from
- the actual contents size.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::updateResizesToContentsForPage):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2010-11-10 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r71733.
- http://trac.webkit.org/changeset/71733
- https://bugs.webkit.org/show_bug.cgi?id=49319
-
- made qt bot crashy and sad (Requested by kling on #webkit).
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::updateResizesToContentsForPage):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2010-11-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- Use paintEntireContents in combination with tiling, allowing to
- actually set visibleContentRect to something different from
- the actual contents size.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::updateResizesToContentsForPage):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2010-11-08 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] build error in WebKit/qt/Api/qwebpage.cpp in Qt 4.7.0
- https://bugs.webkit.org/show_bug.cgi?id=47427
-
- Add a missing guard in order to be able to compile when
- ENABLE(TOUCH_EVENTS) is not defined.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::touchEvent):
-
-2010-11-08 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=48685
- Notify UI process about focused frame
-
- Added an empty implementation of the new ChromeClient method.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::focusedNodeChanged): Removed unneeded namespace prefix.
- (WebCore::ChromeClientQt::focusedFrameChanged):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-11-08 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Texmap] [Qt] Texture mapper initial implementation
- https://bugs.webkit.org/show_bug.cgi?id=47070
-
- Reorganized the textureMapper to be a member of QWebFramePrivate, to help with making
- TextureMapper thread-safe.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::renderCompositedLayers):
- * Api/qwebframe_p.h:
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PlatformLayerProxyQt::setTextureMapper):
- (WebCore::PlatformLayerProxyQt::textureMapper):
- (WebCore::PlatformLayerProxyQWidget::PlatformLayerProxyQWidget):
- (WebCore::PlatformLayerProxyQGraphicsObject::PlatformLayerProxyQGraphicsObject):
-
-2010-11-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Rename Cache to MemoryCache
- https://bugs.webkit.org/show_bug.cgi?id=49159
-
- * Api/qwebpage.cpp:
- * Api/qwebsettings.cpp:
-
-2010-11-07 Chang Shu <chang.shu@nokia.com>
-
- Reviewed by Antonio Gomes.
-
- Add a helper function to avoid duplicated code.
- https://bugs.webkit.org/show_bug.cgi?id=49085
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2010-11-05 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Simon Fraser.
-
- Move resumeAnimations/suspendAnimations from Frame to AnimationController.
- https://bugs.webkit.org/show_bug.cgi?id=49073
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::suspendAnimations):
- (DumpRenderTreeSupportQt::resumeAnimations):
-
-2010-11-03 Antonio Gomes <tonikitoo@webkit.org>, Andre Pedralho <andre.pedralho@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen and Antti Koivisto.
-
- [Qt] Making effective use of nodesFromRect.
- https://bugs.webkit.org/show_bug.cgi?id=44089
-
- Patch adds a helper class (named TouchAdjuster) to improve tap actions
- on mobile touch devices. TouchAdjuster makes use of the newly added rect
- based hit test extension through the Document::nodesFromRect method.
- Given a rectangle as input, nodesFromRect returns a z-index ordered list
- of nodes whose boundaries intersect the rectangle.
-
- Basically the TouchAdjuster class intercepts the QGraphicsSceneMouseEvent
- passed to both QWebPagePrivate::mouse{Press,Release}Event methods before
- they are passed down to WebCore. The goal is to infer the target click position.
- For that, a rectangle is built up using the event position as a center point and
- expanding it based on the values and directions set in the Platform Plugin
- QWebTouchModifier::hitTestPadding.
-
- TouchAdjuster iterates over the list of nodes returned by nodesFromRect and
- picks the clickable one that has the largest intersection area with the hit
- test rectangle. The target position is then the center point of this intersection
- area.
-
- In case of no clickable node intersects the hit test area, the click position
- is not altered.
-
- TouchAdjuster is *only* working for QGraphicsWebView based views.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mousePressEvent):
- (QWebPagePrivate::mouseReleaseEvent):
- (QWebPagePrivate::adjustPointForClicking):
- (QWebPagePrivate::TouchAdjuster::TouchAdjuster):
- (QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch):
- (isClickableElement):
- (hasMouseListener):
- (isValidFrameOwner):
- (nodeToElement):
- * Api/qwebpage_p.h:
-
-2010-10-20 Chang Shu <chang.shu@nokia.com>, Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Fraser.
-
- [Qt] Makes <input type=text> and <textarea> functional with
- Spatial Navigation enabled. Before this patch, the focus cannot
- move away from input box once it is in. This patch allows focus
- move to neighbor nodes when the caret reaches the edge of the texts.
- This patch does not support yet cases where the focused <input>
- has a JS handler for the arrow keys.
- https://bugs.webkit.org/show_bug.cgi?id=37153
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2010-11-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by David Hyatt.
-
- Delegate scrolling via a separate method
- https://bugs.webkit.org/show_bug.cgi?id=48988
-
- Implement delegatedScrollRequested and make it emit the
- scrollRequested signal for Qt.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::delegatedScrollRequested):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-11-04 Robert Hogan <robert@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Clarify expected return values of innerXml(), outerXml()
-
- If you put HTML in (e.g. using setHTML()) you will get HTML out,
- even if you marked it up as XML.
-
- https://bugs.webkit.org/show_bug.cgi?id=44876
-
- * Api/qwebelement.cpp:
-
-2010-11-03 Andre Pedralho <andre.pedralho@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Using the Platform Plugin to define the default values for the padding of HitTestResult.
- https://bugs.webkit.org/show_bug.cgi?id=48450
-
- * Api/qwebkitplatformplugin.h:
- (QWebTouchModifier::~QWebTouchModifier):
- * WebCoreSupport/QtPlatformPlugin.cpp:
- (WebCore::QtPlatformPlugin::createTouchModifier):
- * WebCoreSupport/QtPlatformPlugin.h:
- * examples/platformplugin/WebPlugin.cpp:
- (WebPlugin::supportsExtension):
- (WebPlugin::createExtension):
- * examples/platformplugin/WebPlugin.h:
- (TouchModifier::hitTestPaddingForTouch):
- * examples/platformplugin/qwebkitplatformplugin.h:
- (QWebTouchModifier::~QWebTouchModifier):
-
-2010-11-03 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QGWV: Keep the scrolling delegation intact when switching pages
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::updateResizesToContentsForPage): Turn on/off
- scrolling delegation depending on the resizeToContents mode.
- (QGraphicsWebViewPrivate::detachCurrentPage): Turn off scrolling delegation.
- (QGraphicsWebView::setResizesToContents):
-
-2010-11-03 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- Make it possible to delegate scrolling to the UI
- https://bugs.webkit.org/show_bug.cgi?id=48907
-
- Enable scrolling delegation when setResizesToContents is active.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::setResizesToContents):
-
-2010-11-03 Daniel Bates <dbates@rim.com>
-
- For unnamed frames, window.name returns a generated name
- https://bugs.webkit.org/show_bug.cgi?id=6751
-
- Part 1 of 2.
-
- Substitute FrameTree::uniqueName() for FrameTree::name() in the Qt port.
-
- * Api/qwebframe.cpp:
- (QWebFrame::frameName):
-
-2010-11-02 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Some refactor for texmap to enable WebKit2: remove globals, and allow TextureMapper to exist without a GraphicsContext.
- This will allow rendering the TextureMapperNode tree without an active QPainter, into the current GL context.
- Most of the changes simply move the globas in TextureMapperGL into members of that class.
-
- [Texmap] [Qt] Texture mapper initial implementation
- https://bugs.webkit.org/show_bug.cgi?id=47070
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::renderFromTiledBackingStore):
- (QWebFramePrivate::renderCompositedLayers):
- (QWebFramePrivate::renderRelativeCoords):
- * Api/qwebframe_p.h:
-
-2010-11-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders Carlsson.
-
- <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
- Context menu support for WebKit 2.
-
- * WebCoreSupport/ChromeClientQt.h:
- (WebCore::ChromeClientQt::showContextMenu):
-
-2010-10-31 Robert Hogan <robert@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Support nodesFromRect in DRT
-
- https://bugs.webkit.org/show_bug.cgi?id=48716
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::nodesFromRect):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-10-31 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Short-circuit QWebPage::selectedText() if frame has no selection
- https://bugs.webkit.org/show_bug.cgi?id=48736
-
- Do an early return if the selection is empty.
-
- No new tests, this is covered by tst_QWebPage::findText().
-
- * Api/qwebpage.cpp:
- (QWebPage::selectedText):
-
-2010-10-30 Andreas Kling <kling@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] IM: Don't manipulate selection via RenderTextControl
- https://bugs.webkit.org/show_bug.cgi?id=48700
-
- Go directly through the Frame's SelectionController instead.
-
- No new tests, this is covered by tst_QWebPage::inputMethods.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent):
- (QWebPage::inputMethodQuery):
-
-2010-10-29 Daniel Bates <dbates@rim.com>
-
- No review, rolling out 70971.
- http://trac.webkit.org/changeset/70971
- https://bugs.webkit.org/show_bug.cgi?id=6751
-
- Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
- it caused layout test failures on all bots. In particular, the
- child count in a generated frame name differs after this patch. We need
- to look into this further.
-
- * Api/qwebframe.cpp:
- (QWebFrame::frameName):
-
-2010-10-28 Antonio Gomes <agomes@rim.com>
-
- Reviewed by Ojan Vafai.
-
- Needs a "LinuxEditingBehavior", perhaps with a better name
- https://bugs.webkit.org/show_bug.cgi?id=36627
-
- Adding support to Qt's DRTSupport class to test the newly introduced Unix editing behavior.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::setEditingBehavior):
-
-2010-10-29 Daniel Bates <dbates@rim.com>
-
- Reviewed by Adam Barth.
-
- For unnamed frames, window.name returns a generated name
- https://bugs.webkit.org/show_bug.cgi?id=6751
-
- Modified Qt-port to use FrameTree::uniqueName().
-
- * Api/qwebframe.cpp:
- (QWebFrame::frameName):
-
-2010-10-29 Andreas Kling <kling@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] QWebPage's InputMethod event handling calls ShortcutOverride handler too
- https://bugs.webkit.org/show_bug.cgi?id=48692
-
- * Api/qwebpage.cpp:
- (QWebPage::event): Add missing break statement.
-
-2010-10-29 Ryosuke Niwa <rniwa@webkit.org>
-
- Reviewed by Darin Adler.
-
- Remove RenderTextControl::setSelectionRange
- https://bugs.webkit.org/show_bug.cgi?id=47870
-
- Converted RenderTextControll::setSelectionRange to a global function.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent): Calls setSelectionRange.
-
-2010-10-29 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- Change BackForwardList clients to use BackForwardListImpl to prepare for further refactoring
- https://bugs.webkit.org/show_bug.cgi?id=48574
-
- * Api/qwebhistory.cpp:
- (QWebHistory::clear):
- * Api/qwebhistory_p.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- Use BackForwardListImpl.
-
-2010-10-29 Alexey Proskuryakov <ap@apple.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=48576
- Let WebKit2 client know when a frame is a frameset
-
- Added a blank implementation of the new FrameLoaderClient method.
-
- * WebCoreSupport/FrameLoaderClientQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidBecomeFrameset):
-
-2010-10-29 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Fix tst_QWebFrame on XVFB.
- https://bugs.webkit.org/show_bug.cgi?id=48637
-
- These tests relied on a window manager to activate the window.
-
- Fixes:
- - tst_QWebFrame::popupFocus()
- - tst_QwebFrame::inputFieldFocus()
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-10-28 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Texmap] [Qt] Texture mapper initial implementation
- https://bugs.webkit.org/show_bug.cgi?id=47070
-
- Build fix,
-
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PlatformLayerProxyQGraphicsObject::PlatformLayerProxyQGraphicsObject):
- (WebCore::PageClientQGraphicsWidget::~PageClientQGraphicsWidget):
- (WebCore::PageClientQGraphicsWidget::setRootGraphicsLayer):
- * WebCoreSupport/PageClientQt.h:
-
-2010-10-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] QWebElement: Don't retrieve CSS rules through DOMWindow.
- https://bugs.webkit.org/show_bug.cgi?id=48519
-
- JavaScript is prevented from retrieving cross-domain CSS rules since r70335.
- This patch allow QWebElement to retrive style without this limitation
- by asking the Document directly instead of going through DOMWindow.
-
- Fixes:
- - tst_QWebFrame::setHtmlWithResource()
- - tst_QWebElement::style()
-
- * Api/qwebelement.cpp:
- (QWebElement::styleProperty):
-
-2010-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Andreas Kling.
-
- Make Qt viewportAttributesForSize not assert on (0, 0) size
- https://bugs.webkit.org/show_bug.cgi?id=48524
-
- We now return an invalid (isValid() == false) ViewportAttributes
- instance when the supplied size is (0, 0).
-
- * Api/qwebpage.cpp:
- (QWebPage::viewportAttributesForSize):
-
-2010-10-27 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix tst_QWebFrame::popupFocus().
- https://bugs.webkit.org/show_bug.cgi?id=48432
-
- - Call setFocus() before show() to work around a but in Qt.
- - Remove the check on combo at the end since hidePopup() leads
- indirectly to its destruction and segfault.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-10-26 Jenn Braithwaite <jennb@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Resource tracking failure when trying to move a frame between documents
- https://bugs.webkit.org/show_bug.cgi?id=44713
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transferLoadingResourceFromPage):
- Emtpy method.
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-10-26 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Skipping popup focus test for symbian
- https://bugs.webkit.org/show_bug.cgi?id=48324
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-10-26 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Unit tests: setHtml("data:text/html,...") -> load(QUrl("data:text/html,..."))
- https://bugs.webkit.org/show_bug.cgi?id=48319
-
- These tests were failing since the new HTML parser.
- This patch removes the content type from the error page as well.
-
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
- (tst_QGraphicsWebView::crashOnViewlessWebPages):
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::frame):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::loadFinished):
- (ErrorPage::extension):
- (tst_QWebPage::errorPageExtension):
- (tst_QWebPage::errorPageExtensionInIFrames):
- (tst_QWebPage::errorPageExtensionInFrameset):
-
-2010-10-25 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Texmap] [Qt] Texture mapper initial implementation
- https://bugs.webkit.org/show_bug.cgi?id=47070
-
- Glue layer (WebCoreSupport) changes to allow connecting TextureMapper to a Qt PageClient, i.e.
- a QWebView or a QGraphicsWebView. This enables the new type, TextureMapperPlatformLayer, to be recognized both by
- the compositor and by the page client.
- Note that this is temporarily an opt-in, under USE(TEXTURE_MAPPER)
-
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
- * Api/qwebpage.cpp:
- (QWebPage::setView):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::attachRootGraphicsLayer):
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PlatformLayerProxyQt::PlatformLayerProxyQt):
- (WebCore::PlatformLayerProxyQt::~PlatformLayerProxyQt):
- (WebCore::PlatformLayerProxyQt::setSizeChanged):
- (WebCore::PlatformLayerProxyQWidget::PlatformLayerProxyQWidget):
- (WebCore::PlatformLayerProxyQWidget::eventFilter):
- (WebCore::PlatformLayerProxyQWidget::setNeedsDisplay):
- (WebCore::PlatformLayerProxyQWidget::setNeedsDisplayInRect):
- (WebCore::PlatformLayerProxyQGraphicsObject::PlatformLayerProxyQGraphicsWidget):
- (WebCore::PlatformLayerProxyQGraphicsObject::setNeedsDisplay):
- (WebCore::PlatformLayerProxyQGraphicsObject::setNeedsDisplayInRect):
- (WebCore::PageClientQWidget::setRootGraphicsLayer):
- (WebCore::PageClientQWidget::markForSync):
- (WebCore::PageClientQWidget::syncLayers):
- (WebCore::PageClientQGraphicsWidget::updateCompositingScrollPosition):
- (WebCore::PageClientQGraphicsWidget::createOrDeleteOverlay):
- (WebCore::PageClientQGraphicsWidget::setRootGraphicsLayer):
- * WebCoreSupport/PageClientQt.h:
- (WebCore::PageClientQWidget::PageClientQWidget):
- (WebCore::PageClientQWidget::allowsAcceleratedCompositing):
- (WebCore::PageClientQGraphicsWidget::PageClientQGraphicsWidget):
-
-2010-10-25 Johnny Ding <jnd@chromium.org>
-
- Reviewed by Tony Chang.
-
- Dump the gesture status of frame in frame load callbacks in DumpRenderTree
- by adding a new method dumpUserGestureInFrameLoadCallbacks.
- Now only dump the gesture status in "DidStartProvisionalLoad" callback.
- https://bugs.webkit.org/show_bug.cgi?id=47849
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::dumpUserGestureInFrameLoader):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (drtPrintFrameUserGestureStatus):
- (WebCore::FrameLoaderClientQt::dispatchDidHandleOnloadEvents):
- (WebCore::FrameLoaderClientQt::dispatchDidPushStateWithinPage):
- (WebCore::FrameLoaderClientQt::dispatchDidReplaceStateWithinPage):
- (WebCore::FrameLoaderClientQt::dispatchDidPopStateWithinPage):
- (WebCore::FrameLoaderClientQt::dispatchDidStartProvisionalLoad):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-10-22 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- WebKit2 needs to pass the current event modifier flags when requesting a new window
- https://bugs.webkit.org/show_bug.cgi?id=48140
-
- * Api/qwebpage.cpp:
- (openNewWindow):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createWindow):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchCreatePage):
- * WebCoreSupport/FrameLoaderClientQt.h:
- Add NavigationAction parameter.
-
-2010-10-22 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] InspectorClientQt crashes when deleting a qwebpage which has an inspector
- https://bugs.webkit.org/show_bug.cgi?id=48079
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::~QWebPagePrivate):
- (QWebPage::~QWebPage):
-
-2010-10-22 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] All widgets are rendered incorrectly when rendered through a cache
- https://bugs.webkit.org/show_bug.cgi?id=47767
-
- Add a new test for rendering with tiling.
-
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
- (tst_QGraphicsWebView::widgetsRenderingThroughCache):
-
-2010-10-21 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Sending a QInputMethodEvent::Selection event forces the
- Editor to go into Composition mode
-
- Improve QWebPage handling of input method events:
- - Selections don't trigger entering composition mode.
- - Handle multiple selections
-
- Also remove redundant cancellation of composition in tst_qwebpage.
- There is no composition in progress at that point.
-
- Finally, move infiniteLoopJS() to the end of the tst_qwebpage unit
- tests - so you don't have to wait for it to complete when running
- other tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=39625
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent):
- (QWebPage::inputMethodQuery):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2010-10-20 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Wrong null check in PopupMenuQt
- https://bugs.webkit.org/show_bug.cgi?id=47945
-
- Wrong null check in PopupMenuQt.
-
- * WebCoreSupport/PopupMenuQt.cpp:
- (WebCore::PopupMenuQt::hide):
-
-2010-10-18 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Export QWebPage::ViewportAttributes class.
- https://bugs.webkit.org/show_bug.cgi?id=47845
-
- * Api/qwebpage.h:
- * symbian/eabi/QtWebKitu.def:
-
-2010-10-18 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Simon Fraser.
-
- Web Inspector: [crash] when Inspector Open in CSSStyleSelector::loadPendingImages().
- https://bugs.webkit.org/show_bug.cgi?id=46224
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::sendMessageToFrontend):
-
-2010-10-18 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] AC rendering bugs
-
- This fixes a regression that was introduced by making scrolling in accelerated compositing automatic,
- which made our explicit function to scroll the compositing layers superfluous, making the scrolling behavior
- when graphics layers are present incorrect. The fix simply removes those redundant functions.
-
- https://bugs.webkit.org/show_bug.cgi?id=47571
-
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PageClientQGraphicsWidget::scroll):
- (WebCore::PageClientQGraphicsWidget::update):
- (WebCore::PageClientQGraphicsWidget::setRootGraphicsLayer):
- * WebCoreSupport/PageClientQt.h:
-
-2010-10-18 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by nobody, build fix.
-
- [Qt] Fix the build with MSVC.
-
- Splitting the condition in two to prevent qmake parentheses issues.
-
- * Api/DerivedSources.pro:
-
-2010-10-18 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Antonio Gomes.
-
- [QT] Unable to load pages on QtTestBrowser after canceling a page load.
- https://bugs.webkit.org/show_bug.cgi?id=43827
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
-
-2010-10-15 Qi Zhang <qi.2.zhang@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] window.close() doesn't work in qt
- https://bugs.webkit.org/show_bug.cgi?id=46186
-
- Introduce new attribute in QWebSettings to trigger "setAllowScriptsToCloseWindow"
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- * Api/qwebsettings.h:
-
-2010-10-15 Andreas Kling <kling@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Unbreak scrolling the ContentsLayer with QWebView
-
- r69777 broke scrolling the contents layer in QWebView by not restoring
- the painter clip after painting each part of the dirty region.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::renderRelativeCoords):
-
-2010-09-27 Dawit Alemayehu <adawit@kde.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Added functions for obtaining and checking the supported content types.
- http://webkit.org/b/37880
-
- * Api/qwebpage.cpp:
- (extractContentTypeFromHash):
- (extractContentTypeFromPluginVector):
- (QWebPage::supportedContentTypes):
- (QWebPage::supportsContentType):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::supportedContentType):
-
-2010-10-14 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r69795.
- http://trac.webkit.org/changeset/69795
- https://bugs.webkit.org/show_bug.cgi?id=47687
-
- 'See discussion at webkit.org/b/47609' (Requested by mwenge on
- #webkit).
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::canHandleRequest):
- (WebCore::FrameLoaderClientQt::dispatchUnableToImplementPolicy):
-
-2010-10-14 Robert Hogan <robert@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Fix http/tests/misc/redirect-to-external-url.html
-
- Support the test in FrameLoaderClientQt and unskip.
-
- https://bugs.webkit.org/show_bug.cgi?id=47609
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::canHandleRequest):
- (WebCore::FrameLoaderClientQt::dispatchUnableToImplementPolicy):
-
-2010-10-14 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Texmap] [Qt] Texture mapper initial implementation
- https://bugs.webkit.org/show_bug.cgi?id=47070
-
- Allow rendering of accelerated-compositing with TextureMapper, inside a QWebFrame. The frame will render the regular content,
- either normally or through tiled backingstore, then let the TextureMapper layer render itself to the active context, and
- then render the scrollbar and pan icon. This is different from the current implementation, which uses additional QGraphicsItems for AC
- and the scrollbar overlay.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::paint):
- * Api/qwebframe.cpp:
- (QWebFramePrivate::renderFromTiledBackingStore):
- (QWebFramePrivate::renderRelativeCoords):
-
-2010-10-13 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by Oliver Hunt.
-
- https://bugs.webkit.org/show_bug.cgi?id=43987
- Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
- to construct their internal result string. Remove ScriptString (this is now
- redundant).
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2010-10-13 Dinu Jacob <dinu.jacob@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Update .def file for Symbian
- https://bugs.webkit.org/show_bug.cgi?id=47540
-
- Updated symbols for Symbian - added viewportAttributesForSize and
- made viewportConfigurationForSize absent based on the API change in
- 47325
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-10-12 David Leong <david.leong@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Enable Netscape plugin metadata caching on Linux
- https://bugs.webkit.org/show_bug.cgi?id=46287
-
- QWebSettings::enablePersistentStorage will now store the netscape
- plugin cache to QDesktopServices::CacheLocation.
-
- * Api/qwebsettings.cpp:
- (QWebSettings::enablePersistentStorage):
-
-2010-10-12 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Editing commands should not be executed on non-editable content.
- https://bugs.webkit.org/show_bug.cgi?id=47426
-
- Remove calls to editor()->command() when we are not in editable content.
- There is no value in doing that, and in some cases, it prevents scrolling.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2010-10-08 Hui Huang <hui.2.huang@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- ifdef out code that rewrites Flash Plug-in wmode for Symbian build
- https://bugs.webkit.org/show_bug.cgi?id=43484
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2010-10-07 Andreas Kling <kling@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] API: ViewportConfiguration => ViewportArguments
- https://bugs.webkit.org/show_bug.cgi?id=47325
-
- * Api/qwebpage.cpp:
- (QWebPage::ViewportAttributes::ViewportAttributes):
- (QWebPage::ViewportAttributes::~ViewportAttributes):
- (QWebPage::ViewportAttributes::operator=):
- (QWebPage::viewportAttributesForSize):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- (QtViewportAttributesPrivate::QtViewportAttributesPrivate):
-
-2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Fixing viewport meta tag user-scalable handling
- https://bugs.webkit.org/show_bug.cgi?id=47330
-
- user-scalable attribute was not considered in viewport meta tag handling.
-
- * Api/qwebpage.cpp:
- (QWebPage::viewportConfigurationForSize):
-
-2010-10-05 Diego Gonzalez <diegohcg@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Hook up accelerometer data via Qt DeviceMotion
- https://bugs.webkit.org/show_bug.cgi?id=47105
-
- Get accelerometer necessary data via Qt mobility library using a
- provider class. Enable, also the RotationRate using the current device
- orientation provider.
-
- * WebCoreSupport/DeviceMotionClientQt.cpp:
- (WebCore::DeviceMotionClientQt::DeviceMotionClientQt):
- (WebCore::DeviceMotionClientQt::~DeviceMotionClientQt):
- (WebCore::DeviceMotionClientQt::startUpdating):
- (WebCore::DeviceMotionClientQt::stopUpdating):
- (WebCore::DeviceMotionClientQt::currentDeviceMotion):
- (WebCore::DeviceMotionClientQt::changeDeviceMotion):
- * WebCoreSupport/DeviceMotionClientQt.h:
- * WebCoreSupport/DeviceMotionProviderQt.cpp: Added.
- (WebCore::DeviceMotionProviderQt::DeviceMotionProviderQt):
- (WebCore::DeviceMotionProviderQt::~DeviceMotionProviderQt):
- (WebCore::DeviceMotionProviderQt::start):
- (WebCore::DeviceMotionProviderQt::stop):
- (WebCore::DeviceMotionProviderQt::filter):
- * WebCoreSupport/DeviceMotionProviderQt.h: Added.
- (WebCore::DeviceMotionProviderQt::currentDeviceMotion):
-
-2010-10-07 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Some viewport meta tag api refactoring
- https://bugs.webkit.org/show_bug.cgi?id=47334
-
- WebCore::findConfigurationForViewportData renamed to computeViewportAttributes.
- WebCore::ViewportAttributes::layoutViewport renamed to layoutSize.
-
- * Api/qwebpage.cpp:
- (QWebPage::viewportConfigurationForSize):
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::viewportAsText):
-
-2010-10-07 Keith Kyzivat <keith.kyzivat@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Update .def file for Symbian
- https://bugs.webkit.org/show_bug.cgi?id=47336
- Fix and re-freeze symbols for symbian - viewportConfigurationForSize
- API changed, allowGeolocationRequest removed from API, several
- DumpRenderTree support calls added.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-10-06 Ragner Magalhaes <ragner.magalhaes@openbossa.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Duplicated code in QWebPagePrivate
- https://bugs.webkit.org/show_bug.cgi?id=47195
-
- Remove duplicated code from QWebPagePrivate class for QGraphicsView and QWidget's mouse events.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mouseMoveEvent):
- (QWebPagePrivate::mousePressEvent):
- (QWebPagePrivate::mouseDoubleClickEvent):
- (QWebPagePrivate::mouseTripleClickEvent):
- (QWebPagePrivate::mouseReleaseEvent):
- (QWebPagePrivate::wheelEvent):
- (QWebPagePrivate::dragEnterEvent):
- (QWebPagePrivate::dragLeaveEvent):
- (QWebPagePrivate::dragMoveEvent):
- (QWebPagePrivate::dropEvent):
- * Api/qwebpage_p.h:
-
-2010-10-06 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
- https://bugs.webkit.org/show_bug.cgi?id=47268
-
- Renaming WebCore::ViewportConfiguration to WebCore::ViewportAttributes
-
- * Api/qwebpage.cpp:
- (QWebPage::viewportConfigurationForSize):
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::viewportAsText):
-
-2010-10-05 Andrew Wilson <atwilson@chromium.org>
-
- Reviewed by Andreas Kling.
-
- Notification onclick() events don't act like user gestures
- https://bugs.webkit.org/show_bug.cgi?id=47137
-
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationPresenterClientQt::notificationClicked):
- Use UserGestureIndicator to make sure click events are treated like user gestures.
-
-2010-10-05 Robert Hogan <robert@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Fix url conversion in QWebHistory
-
- Converting from KURL to WFT::String to QUrl does not
- permit proper percent encoding later.
-
- https://bugs.webkit.org/show_bug.cgi?id=47048
-
- * Api/qwebhistory.cpp:
- (QWebHistoryItem::originalUrl):
- (QWebHistoryItem::url):
-
-2010-10-05 Jakob Petsovits <jpetsovits@rim.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Make build work with QT_NO_CURSOR
- https://bugs.webkit.org/show_bug.cgi?id=46097
-
- Add a missing semicolon.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::setCursor):
-
-2010-10-05 Simon Hausmann <simon.hausmann@nokia.com>
-
- Unreviewed build fix.
-
- [Symbian] Fix build issue due to gaps in ordinals in the def file
-
- Restore previously removed symbols and mark them absent instead. We must
- not remove symbols from this file, because it breaks binary compatibility
- (when re-assigning the ordinals of the following symbols) or it causes build
- breakage when instead having a gap in the ordinal sequence. Instead removing
- a symbol is done by marking it as absent.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-10-04 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Rename RedirectScheduler to NavigationScheduler
- https://bugs.webkit.org/show_bug.cgi?id=47037
-
- Update for name change.
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
-
-2010-10-04 Diego Gonzalez <diegohcg@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Hook up DeviceOrientation data for Qt support
- https://bugs.webkit.org/show_bug.cgi?id=47052
-
- Get DeviceOrientation necessary data via Qt mobility library
- using a provider class.
-
- * WebCoreSupport/DeviceOrientationClientQt.cpp:
- (WebCore::DeviceOrientationClientQt::DeviceOrientationClientQt):
- (WebCore::DeviceOrientationClientQt::~DeviceOrientationClientQt):
- (WebCore::DeviceOrientationClientQt::startUpdating):
- (WebCore::DeviceOrientationClientQt::stopUpdating):
- (WebCore::DeviceOrientationClientQt::lastOrientation):
- (WebCore::DeviceOrientationClientQt::changeDeviceOrientation):
- * WebCoreSupport/DeviceOrientationClientQt.h:
- * WebCoreSupport/DeviceOrientationProviderQt.cpp: Added.
- (WebCore::DeviceOrientationProviderQt::DeviceOrientationProviderQt):
- (WebCore::DeviceOrientationProviderQt::~DeviceOrientationProviderQt):
- (WebCore::DeviceOrientationProviderQt::start):
- (WebCore::DeviceOrientationProviderQt::stop):
- (WebCore::DeviceOrientationProviderQt::filter):
- * WebCoreSupport/DeviceOrientationProviderQt.h: Added.
- (WebCore::DeviceOrientationProviderQt::isActive):
- (WebCore::DeviceOrientationProviderQt::orientation):
- (WebCore::DeviceOrientationProviderQt::hasAlpha):
-
-2010-09-28 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Viewport data change notifications
- https://bugs.webkit.org/show_bug.cgi?id=46755
-
- Regarding viewport meta tags, what matters for browser developers is to know when the viewport data has
- changed and its current value. Viewport data belongs to the document, but it is useful to keep the current
- viewport data in Page as a reference, to be able to send notifications only when the current viewport
- has changed.
-
- * Api/qwebframe.cpp:
- * Api/qwebframe_p.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::viewportArguments):
- (QWebPage::viewportConfigurationForSize):
- * Api/qwebpage_p.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::viewportDataChanged):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::viewportAsText):
-
-2010-10-04 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- [Qt] Fix platform plugin support after r68128
-
- Replaced the qobject_cast from the QObject derived extension to a
- static_cast. qobject_cast works by comparing pointers to meta-object
- instances, of which there are two each: one compiled into WebKit and
- one compiled into the plugin.
-
- The platform plugin ensures the validity of the interface contract
- through its version and the initial safe qobject_cast from QObject
- to QWebKitPlatformPlugin. After that it is safe to use static_cast,
- and with the recent changes even required.
-
- * WebCoreSupport/QtPlatformPlugin.cpp:
- (WebCore::QtPlatformPlugin::createSelectInputMethod):
- (WebCore::QtPlatformPlugin::createNotificationPresenter):
- (WebCore::QtPlatformPlugin::createHapticFeedbackPlayer):
-
-2010-10-02 Diego Gonzalez <diegohcg@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Provide Qt support for DeviceMotion/Orientation clients
- https://bugs.webkit.org/show_bug.cgi?id=47051
-
- Dummy implementation of DeviceMotion/Orientation client classes
- to make possible to hook up motion/orientation data
- in further implementations.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * WebCoreSupport/DeviceMotionClientQt.cpp: Added.
- (WebCore::DeviceMotionClientQt::DeviceMotionClientQt):
- (WebCore::DeviceMotionClientQt::setController):
- (WebCore::DeviceMotionClientQt::startUpdating):
- (WebCore::DeviceMotionClientQt::stopUpdating):
- (WebCore::DeviceMotionClientQt::currentDeviceMotion):
- (WebCore::DeviceMotionClientQt::deviceMotionControllerDestroyed):
- * WebCoreSupport/DeviceMotionClientQt.h: Added.
- (WebCore::DeviceMotionClientQt::~DeviceMotionClientQt):
- * WebCoreSupport/DeviceOrientationClientQt.cpp: Added.
- (WebCore::DeviceOrientationClientQt::DeviceOrientationClientQt):
- (WebCore::DeviceOrientationClientQt::setController):
- (WebCore::DeviceOrientationClientQt::startUpdating):
- (WebCore::DeviceOrientationClientQt::stopUpdating):
- (WebCore::DeviceOrientationClientQt::lastOrientation):
- (WebCore::DeviceOrientationClientQt::deviceOrientationControllerDestroyed):
- * WebCoreSupport/DeviceOrientationClientQt.h: Added.
- (WebCore::DeviceOrientationClientQt::~DeviceOrientationClientQt):
-
-2010-09-30 Robert Hogan <robert@webkit.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Support for PlainTextController
-
- Unskip editing/text-iterator/basic-iteration.html
-
- https://bugs.webkit.org/show_bug.cgi?id=38805
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::plainText):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-09-30 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] V8 port: Unbreak build
-
- Add missing <wtf/text/CString.h> include.
-
- * WebCoreSupport/InspectorServerQt.cpp:
-
-2010-09-30 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Crash if an scene with accelerated compositing layout during the paint event
- https://bugs.webkit.org/show_bug.cgi?id=46812
-
- Delay the deletion of the overlay after the current event is processed.
-
- Removing the overlay can sometimes be done inside the rendering code of
- the overlay itself. When the rendering code is using the reference after
- the deletion of the overlay, WebKit crashes.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::overlay):
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PageClientQGraphicsWidget::~PageClientQGraphicsWidget):
- (WebCore::PageClientQGraphicsWidget::createOrDeleteOverlay):
- * WebCoreSupport/PageClientQt.h:
- (WebCore::PageClientQGraphicsWidget::PageClientQGraphicsWidget):
-
-2010-09-30 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Fix tst_QWebPage::geolocationRequestJS()
- https://bugs.webkit.org/show_bug.cgi?id=46814
-
- Disable the test. This test cannot pass with a
- standard build of WebKit, it is disabled until the API is finilized.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::geolocationRequestJS):
-
-2010-09-29 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Don't keep local reference to QGraphicsItemOverlay in QGWVPrivate
- https://bugs.webkit.org/show_bug.cgi?id=46812
-
- Get the QGraphicsItemOverlay* via the QWebPageClient (d->page->d->client)
- instead of keeping a local pointer to it.
-
- This is cleanup for a follow-up patch.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::overlay):
- (QGraphicsWebView::paint):
- (QGraphicsWebView::setPage):
- (QGraphicsWebView::updateGeometry):
- (QGraphicsWebView::setGeometry):
-
-2010-09-28 Jenn Braithwaite <jennb@chromium.org>
-
- Reviewed by Dmitry Titov.
-
- Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
- https://bugs.webkit.org/show_bug.cgi?id=46663
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::didTransferChildFrameToNewDocument):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-09-28 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Clean up QWebPage::ViewportConfiguration API
- https://bugs.webkit.org/show_bug.cgi?id=46730
-
- - Pass QSize parameter as const-reference
- - Style fixes
-
- * Api/qwebpage.cpp:
- (QWebPage::viewportConfigurationForSize):
- * Api/qwebpage.h:
-
-2010-09-28 Andras Becsi <abecsi@webkit.org>
-
- Reviewed by Csaba Osztrogonác.
-
- Undefined reference errors when linking due to gperf and inlining.
- webkit.org/b/29244
-
- EFL CMake changes by Leandro Pereira <leandro@profusion.mobi>
-
- Refactor gperf code generation and usage to fix the debug build with gcc>4.4.
- Hitherto gperf generated C code, these files were included in multiple C++ files across WebCore
- to access the functionality provided. This resulted in debug build failure with newer gcc versions
- because of a behaviour change of gcc, which disables C style inlining in debug mode.
- The make-hash-tools.pl script lets gperf generate C++ code for all gperf files now, which are compiled
- in their own compilation unit.
- The functionality provided by the generated code is wrapped behind HashTools.h, so there is no need
- for multiple inclusions of generated C files to access these functions.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2010-09-28 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Remove support for Qt 4.5
- https://bugs.webkit.org/show_bug.cgi?id=46718
-
- Remove the code for versions of Qt prior to 4.6.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::updateResizesToContentsForPage):
- (QGraphicsWebView::QGraphicsWebView):
- (QGraphicsWebView::sceneEvent):
- (QGraphicsWebViewPrivate::detachCurrentPage):
- * Api/qwebframe.cpp:
- (QWebFrame::load):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::handleSoftwareInputPanel):
- (QWebPagePrivate::inputMethodEvent):
- (QWebPagePrivate::touchEvent):
- (QWebPage::inputMethodQuery):
- (QWebPage::view):
- (QWebPage::event):
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebView::QWebView):
- (QWebViewPrivate::detachCurrentPage):
- (QWebView::event):
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PageClientQWidget::setInputMethodHints):
- (WebCore::PageClientQGraphicsWidget::setInputMethodEnabled):
- (WebCore::PageClientQGraphicsWidget::inputMethodEnabled):
- (WebCore::PageClientQGraphicsWidget::setInputMethodHints):
- * WebCoreSupport/PageClientQt.h:
- (WebCore::QGraphicsItemOverlay::page):
- * tests/qwebframe/tst_qwebframe.cpp:
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods_data):
- (inputMethodHints):
- (inputMethodEnabled):
- (tst_QWebPage::inputMethods):
- (tst_QWebPage::originatingObjectInNetworkRequests):
- * tests/qwebview/tst_qwebview.cpp:
- (tst_QWebView::reusePage):
-
-2010-09-28 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Clean up QWebPage initialization
-
- * Api/qwebpage.cpp:
- * Api/qwebpage_p.h:
-
-2010-09-28 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] tst_QWebPage::testStopScheduledPageRefresh() fails on MeeGo handset
- https://bugs.webkit.org/show_bug.cgi?id=46706
-
- The test require the network to succeed or fail in order to work.
- On MeeGo, the network can simply timeout the because of the netword access
- management. This patch makes the test use local URLs to avoid the
- problem.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (TestNetworkManager::TestNetworkManager):
-
-2010-09-27 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Remove setDeviceSize methods
- https://bugs.webkit.org/show_bug.cgi?id=46347
-
- Remove our setDeviceHeight() API and obtain it automatically from the
- system. Also for testing purposes, make it possible to override the
- values via two newly introduced environment variables.
-
- * Api/qgraphicswebview.cpp:
- * Api/qgraphicswebview.h:
- * Api/qwebpage.cpp:
- (getintenv):
- (queryDeviceSizeForScreenContainingWidget):
- (QWebPage::viewportConfigurationForSize):
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PageClientQGraphicsWidget::windowRect):
- * symbian/eabi/QtWebKitu.def:
-
-2010-09-27 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Antonio Gomes.
-
- Enable local rendering of NPAPI plugins on Maemo6.
-
- https://bugs.webkit.org/show_bug.cgi?id=46618
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2010-09-27 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] tst_QWebFrame::popupFocus() randomly fail on MeeGo handset because the focus is not set on the window
- https://bugs.webkit.org/show_bug.cgi?id=46617
-
- This patch avoid the race condition by waiting for the window
- to be mapped on screen before attempting any actions.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-09-24 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Keep viewport information in Document
- https://bugs.webkit.org/show_bug.cgi?id=46385
-
- The viewport meta data (layout viewport, scale) needs to be set again when bringing
- back a page from the page cache. As the viewport metadata is only retrieved while parsing
- the document, we need to store it in the Document class.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::viewportArguments):
- * Api/qwebframe_p.h:
- * Api/qwebpage.cpp:
- (QWebPage::viewportConfigurationForSize):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::didReceiveViewportArguments):
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::viewportAsText):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidCommitLoad):
-
-2010-09-23 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Fix QWebHapticFeedbackPlayer exposure via QWebKitPlatformPlugin
-
- [Qt] QWebHapticFeedbackPlayer needs correct exposure through QWebKitPlatformPlugin
- https://bugs.webkit.org/show_bug.cgi?id=46402
-
- QWebHapticFeedbackPlayer is exported through
- QWebKitPlatformPlugin::createExtension(), but
- createHapticFeedbackPlayer() and the correct
- inheritage are missing.
-
- * Api/qwebkitplatformplugin.h:
- * WebCoreSupport/QtPlatformPlugin.cpp:
- (WebCore::QtPlatformPlugin::createHapticFeedbackPlayer):
- * WebCoreSupport/QtPlatformPlugin.h:
-
-2010-09-23 Nate Chapin <japhet@chromium.org>
-
- Reviewed by Darin Fisher.
-
- Add hyperlink auditing settings (i.e., <a ping>).
- https://bugs.webkit.org/show_bug.cgi?id=30458
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h:
-
-2010-09-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Refactor QtWebKitPlatformPlugin interface
-
- Make it easier to keep source-compability for the
- QtWebKitPlatformPlugin interface, and run qmake
- on the example (but not build) for convenience.
-
- https://bugs.webkit.org/show_bug.cgi?id=46345
-
- * Api/qwebkitplatformplugin.h:
- * WebCoreSupport/QtPlatformPlugin.cpp:
- * examples/platformplugin/README:
- * examples/platformplugin/WebPlugin.cpp:
- * examples/platformplugin/WebPlugin.h:
- * examples/platformplugin/qwebkitplatformplugin.h:
-
-2010-09-22 Andras Becsi <abecsi@webkit.org>
-
- Speculative build fix for the Qt Windows bots.
-
- * Api/DerivedSources.pro:
-
-2010-09-22 Jamey Hicks <jamey.hicks@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Web Inspector: Remote Web Inspector support for QtWebKit
- https://bugs.webkit.org/show_bug.cgi?id=43988
-
- Runs a web debug server on port specified by QtTestBrowser
- argument -remote-inspector-port. Property
- _q_webInspectorServerPort of the QWebPage instance will be set
- according to the argument. All pages with that property set will
- be remotely inspectable.
-
- URL for remote inspection of first QWebPage is
- http://localhost:9222/webkit/inspector/inspector.html?page=1
- where 1 is the number of the QWebPage instance.
-
- The base URL yields an index page with links to the individual inspectors:
- http://localhost:9222/
-
- * Api/qwebinspector.cpp:
- (QWebInspectorPrivate::attachAndReplaceRemoteFrontend):
- (QWebInspectorPrivate::detachRemoteFrontend):
- * Api/qwebinspector_p.h:
- (QWebInspectorPrivate::QWebInspectorPrivate):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dynamicPropertyChangeEvent):
- (QWebPagePrivate::inspectorServerPort):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::InspectorClientQt):
- (WebCore::InspectorClientQt::inspectorDestroyed):
- (WebCore::InspectorClientQt::openInspectorFrontend):
- (WebCore::InspectorClientQt::attachAndReplaceRemoteFrontend):
- (WebCore::InspectorClientQt::detachRemoteFrontend):
- (WebCore::InspectorClientQt::sendMessageToFrontend):
- * WebCoreSupport/InspectorClientQt.h:
- * WebCoreSupport/InspectorServerQt.cpp: Added.
- (WebCore::generateWebSocketChallengeResponse):
- (WebCore::parseWebSocketChallengeNumber):
- (WebCore::InspectorServerQt::server):
- (WebCore::InspectorServerQt::InspectorServerQt):
- (WebCore::InspectorServerQt::~InspectorServerQt):
- (WebCore::InspectorServerQt::listen):
- (WebCore::InspectorServerQt::close):
- (WebCore::InspectorServerQt::inspectorClientForPage):
- (WebCore::InspectorServerQt::registerClient):
- (WebCore::InspectorServerQt::unregisterClient):
- (WebCore::InspectorServerQt::newConnection):
- (WebCore::InspectorServerRequestHandlerQt::InspectorServerRequestHandlerQt):
- (WebCore::InspectorServerRequestHandlerQt::~InspectorServerRequestHandlerQt):
- (WebCore::InspectorServerRequestHandlerQt::tcpReadyRead):
- (WebCore::InspectorServerRequestHandlerQt::tcpConnectionDisconnected):
- (WebCore::InspectorServerRequestHandlerQt::webSocketSend):
- (WebCore::InspectorServerRequestHandlerQt::webSocketReadyRead):
- (WebCore::RemoteFrontendChannel::RemoteFrontendChannel):
- (WebCore::RemoteFrontendChannel::sendMessageToFrontend):
- * WebCoreSupport/InspectorServerQt.h: Added.
-
-2010-09-22 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] PluginStrategy implementation is broken
- https://bugs.webkit.org/show_bug.cgi?id=46078
-
- Remove the QWebPage* member from WebPlatformStrategies.
- Get the originator QWebPage of the getPluginInfo call via
- the Page* argument.
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * WebCoreSupport/WebPlatformStrategies.cpp:
- (WebPlatformStrategies::initialize):
- (WebPlatformStrategies::WebPlatformStrategies):
- (WebPlatformStrategies::getPluginInfo):
- Use the ChromeClient for accessing the originator QWebPage.
- * WebCoreSupport/WebPlatformStrategies.h:
-
-2010-09-22 İsmail Dönmez <ismail@namtrac.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Buildfix for WinCE
-
- * Api/DerivedSources.pro:
-
-2010-09-20 Philippe Normand <pnormand@igalia.com>
-
- Reviewed by Eric Carlson.
-
- [GTK] enhanced context menu for media elements
- https://bugs.webkit.org/show_bug.cgi?id=45021
-
- * WebCoreSupport/WebPlatformStrategies.cpp:
- * WebCoreSupport/WebPlatformStrategies.h:
- (WebPlatformStrategies::contextMenuItemTagOpenVideoInNewWindow):
- (WebPlatformStrategies::contextMenuItemTagOpenAudioInNewWindow):
- (WebPlatformStrategies::contextMenuItemTagCopyVideoLinkToClipboard):
- (WebPlatformStrategies::contextMenuItemTagCopyAudioLinkToClipboard):
- (WebPlatformStrategies::contextMenuItemTagToggleMediaControls)
- (WebPlatformStrategies::contextMenuItemTagToggleMediaLoop)
- (WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen)
- (WebPlatformStrategies::contextMenuItemTagMediaPlay)
- (WebPlatformStrategies::contextMenuItemTagMediaPause)
- (WebPlatformStrategies::contextMenuItemTagMediaMute)
-
-2010-09-20 Jacob Dinu <dinu.jacob@nokia.com>
-
- Reviewed by Adam Barth.
-
- Added a new qwebpage test for loading a cached page
- https://bugs.webkit.org/show_bug.cgi?id=41155
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::loadCachedPage):
-
-2010-09-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix forward includes generation for MSVC when sh is in PATH.
-
- MSVC's nmake isn't affected by having sh in PATH.
-
- * Api/DerivedSources.pro:
-
-2010-09-18 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Enable Platform Strategies on Qt
-
- [Qt] Turn on PLATFORM_STRATEGIES
- https://bugs.webkit.org/show_bug.cgi?id=45831
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate): Initialize the PlatformStrategy
- singleton.
- * WebCoreSupport/WebPlatformStrategies.cpp: Added, code was moved
- from platform/qt/Localizations.cpp and plugins/qt/PluginDataQt.cpp
- (WebPlatformStrategies::initialize): create the singleton,
- following the same "pattern" used by Mac and Win ports.
- (WebPlatformStrategies::WebPlatformStrategies):
- (WebPlatformStrategies::createPluginStrategy):
- (WebPlatformStrategies::createLocalizationStrategy):
- (WebPlatformStrategies::createVisitedLinkStrategy):
- (WebPlatformStrategies::refreshPlugins):
- (WebPlatformStrategies::getPluginInfo):
- (WebPlatformStrategies::inputElementAltText):
- (WebPlatformStrategies::resetButtonDefaultLabel):
- (WebPlatformStrategies::searchableIndexIntroduction):
- (WebPlatformStrategies::submitButtonDefaultLabel):
- (WebPlatformStrategies::fileButtonChooseFileLabel):
- (WebPlatformStrategies::fileButtonNoFileSelectedLabel):
- (WebPlatformStrategies::contextMenuItemTagOpenLinkInNewWindow):
- (WebPlatformStrategies::contextMenuItemTagDownloadLinkToDisk):
- (WebPlatformStrategies::contextMenuItemTagCopyLinkToClipboard):
- (WebPlatformStrategies::contextMenuItemTagOpenImageInNewWindow):
- (WebPlatformStrategies::contextMenuItemTagDownloadImageToDisk):
- (WebPlatformStrategies::contextMenuItemTagCopyImageToClipboard):
- (WebPlatformStrategies::contextMenuItemTagOpenFrameInNewWindow):
- (WebPlatformStrategies::contextMenuItemTagCopy):
- (WebPlatformStrategies::contextMenuItemTagGoBack):
- (WebPlatformStrategies::contextMenuItemTagGoForward):
- (WebPlatformStrategies::contextMenuItemTagStop):
- (WebPlatformStrategies::contextMenuItemTagReload):
- (WebPlatformStrategies::contextMenuItemTagCut):
- (WebPlatformStrategies::contextMenuItemTagPaste):
- (WebPlatformStrategies::contextMenuItemTagNoGuessesFound):
- (WebPlatformStrategies::contextMenuItemTagIgnoreSpelling):
- (WebPlatformStrategies::contextMenuItemTagLearnSpelling):
- (WebPlatformStrategies::contextMenuItemTagSearchWeb):
- (WebPlatformStrategies::contextMenuItemTagLookUpInDictionary):
- (WebPlatformStrategies::contextMenuItemTagOpenLink):
- (WebPlatformStrategies::contextMenuItemTagIgnoreGrammar):
- (WebPlatformStrategies::contextMenuItemTagSpellingMenu):
- (WebPlatformStrategies::contextMenuItemTagShowSpellingPanel):
- (WebPlatformStrategies::contextMenuItemTagCheckSpelling):
- (WebPlatformStrategies::contextMenuItemTagCheckSpellingWhileTyping):
- (WebPlatformStrategies::contextMenuItemTagCheckGrammarWithSpelling):
- (WebPlatformStrategies::contextMenuItemTagFontMenu):
- (WebPlatformStrategies::contextMenuItemTagBold):
- (WebPlatformStrategies::contextMenuItemTagItalic):
- (WebPlatformStrategies::contextMenuItemTagUnderline):
- (WebPlatformStrategies::contextMenuItemTagOutline):
- (WebPlatformStrategies::contextMenuItemTagWritingDirectionMenu):
- (WebPlatformStrategies::contextMenuItemTagTextDirectionMenu):
- (WebPlatformStrategies::contextMenuItemTagDefaultDirection):
- (WebPlatformStrategies::contextMenuItemTagLeftToRight):
- (WebPlatformStrategies::contextMenuItemTagRightToLeft):
- (WebPlatformStrategies::contextMenuItemTagInspectElement):
- (WebPlatformStrategies::searchMenuNoRecentSearchesText):
- (WebPlatformStrategies::searchMenuRecentSearchesText):
- (WebPlatformStrategies::searchMenuClearRecentSearchesText):
- (WebPlatformStrategies::AXWebAreaText):
- (WebPlatformStrategies::AXLinkText):
- (WebPlatformStrategies::AXListMarkerText):
- (WebPlatformStrategies::AXImageMapText):
- (WebPlatformStrategies::AXHeadingText):
- (WebPlatformStrategies::AXDefinitionListTermText):
- (WebPlatformStrategies::AXDefinitionListDefinitionText):
- (WebPlatformStrategies::AXButtonActionVerb):
- (WebPlatformStrategies::AXRadioButtonActionVerb):
- (WebPlatformStrategies::AXTextFieldActionVerb):
- (WebPlatformStrategies::AXCheckedCheckBoxActionVerb):
- (WebPlatformStrategies::AXUncheckedCheckBoxActionVerb):
- (WebPlatformStrategies::AXMenuListActionVerb):
- (WebPlatformStrategies::AXMenuListPopupActionVerb):
- (WebPlatformStrategies::AXLinkActionVerb):
- (WebPlatformStrategies::missingPluginText):
- (WebPlatformStrategies::crashedPluginText):
- (WebPlatformStrategies::multipleFileUploadText):
- (WebPlatformStrategies::unknownFileSizeText):
- (WebPlatformStrategies::imageTitle):
- (WebPlatformStrategies::mediaElementLoadingStateText):
- (WebPlatformStrategies::mediaElementLiveBroadcastStateText):
- (WebPlatformStrategies::localizedMediaControlElementString):
- (WebPlatformStrategies::localizedMediaControlElementHelpText):
- (WebPlatformStrategies::localizedMediaTimeDescription):
- (WebPlatformStrategies::validationMessageValueMissingText):
- (WebPlatformStrategies::validationMessageTypeMismatchText):
- (WebPlatformStrategies::validationMessagePatternMismatchText):
- (WebPlatformStrategies::validationMessageTooLongText):
- (WebPlatformStrategies::validationMessageRangeUnderflowText):
- (WebPlatformStrategies::validationMessageRangeOverflowText):
- (WebPlatformStrategies::validationMessageStepMismatchText):
- (WebPlatformStrategies::isLinkVisited):
- (WebPlatformStrategies::addVisitedLink):
- * WebCoreSupport/WebPlatformStrategies.h: Added, based on Mac and Win
- versions.
-
-2010-09-18 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Antonio Gomes.
-
- [Qt] V8 port: Add FrameLoaderClientQt::allowScriptExtension()
- https://bugs.webkit.org/show_bug.cgi?id=46034
-
- r67749 added FrameLoaderClient::allowScriptExtension() (V8-specific)
- Add a stub implementation that simply returns false for now.
-
- * WebCoreSupport/FrameLoaderClientQt.h:
- (WebCore::FrameLoaderClientQt::allowScriptExtension):
-
-2010-09-17 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
- https://bugs.webkit.org/show_bug.cgi?id=42863
-
- * Api/qwebframe.cpp:
- (QWebFrame::setTextSizeMultiplier):
- (QWebFrame::textSizeMultiplier):
- (QWebFrame::setZoomFactor):
- (QWebFrame::zoomFactor):
- Call functions on Frame instead of FrameView.
-
-2010-09-16 Darin Adler <darin@apple.com>
-
- Fix build.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState): Updated for change
- in name of isUrlField to isURLField.
-
-2010-09-16 Darin Adler <darin@apple.com>
-
- Reviewed by Andreas Kling.
-
- Reduce use of HTMLInputElement::inputType so we can remove it later
- https://bugs.webkit.org/show_bug.cgi?id=45903
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::elementDoesAutoCompleteForElementWithId):
- Use isPasswordField.
-
-2010-09-16 Robert Hogan <robert@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Support globalhistory tests
- https://bugs.webkit.org/show_bug.cgi?id=45774
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::populateVisitedLinks):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::dumpHistoryCallbacks):
- (DumpRenderTreeSupportQt::dumpVisitedLinksCallbacks):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::setTitle):
- (WebCore::FrameLoaderClientQt::updateGlobalHistory):
- (WebCore::FrameLoaderClientQt::updateGlobalHistoryRedirectLinks):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-09-16 Diego Gonzalez <diegohcg@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove FrameLoaderClientQt::webFrame() to use NetworkingContext to get the WebFrame to avoid layering violations
- https://bugs.webkit.org/show_bug.cgi?id=42293
-
- * Api/qwebframe.cpp:
- (QWebFrame::childFrames):
- (QWebFramePrivate::kit):
- * Api/qwebpage.cpp:
- (QWebPage::currentFrame):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::runJavaScriptAlert):
- (WebCore::ChromeClientQt::runJavaScriptConfirm):
- (WebCore::ChromeClientQt::runJavaScriptPrompt):
- (WebCore::ChromeClientQt::contentsSizeChanged):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::chooseFile):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-09-15 Simon Hausmann <simon.hausmann@nokia.com>
-
- [Qt] Update the Symbian def files
-
- Re-freeze with the viewport meta tag updates.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-09-14 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] V8 port: Get inspector up and running
- https://bugs.webkit.org/show_bug.cgi?id=45771
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::ensureDebuggerScriptLoaded): Added, loads DebuggerScript.js into ScriptDebugServer.
- (WebCore::InspectorClientQt::openInspectorFrontend): Ensure that DebuggerScript.js is loaded
- before opening an inspector.
-
-2010-09-14 Enrico Ros <eros@codeaurora.org>
-
- Reviewed by Andreas Kling.
-
- [Qt] Respect title attribute on option elements
- https://bugs.webkit.org/show_bug.cgi?id=45084
-
- Set the tooltip in the combo box model, so it's reflected in the view.
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopup::populate):
-
-2010-09-13 Daniel Bates <dbates@rim.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=45732
-
- Fix the Qt build. I missed this when reviewing the patch
- for Bug #45732.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::suspendActiveDOMObjects): Change enum value ActiveDOMObject::JavaScriptPaused to
- ActiveDOMObject::JavaScriptDebuggerPaused
-
-2010-09-13 Eric Carlson <eric.carlson@apple.com>
-
- Reviewed by Daniel Bates.
-
- [Qt] DumpRenderTreeSupportQt::suspendActiveDOMObjects needs a new parameter
- https://bugs.webkit.org/show_bug.cgi?id=45732
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::suspendActiveDOMObjects): Pass ActiveDOMObject::JavaScriptPaused
- to suspendActiveDOMObjects.
-
-2010-09-13 Enrica Casucci <enrica@apple.com>
-
- Reviewed by Sam Weinig.
-
- Paste should be implemented in WebCore like Copy and Cut for Mac also.
- https://bugs.webkit.org/show_bug.cgi?id=45494
- <rdar://problem/7660537>
-
- On the Mac platform, the implementation of the paste operation is all done
- at the WebKit level. In order to support it on WebKit2 it is necessary to
- refactor the code and move this functionality at the level of WebCore like
- we already have on Windows.
- The original code relies on some in AppKit functions that call back into
- WebKit causing problems in WebKit2. All this functionality has been moved
- at the level of the editor client where it can be dealt with appropriately.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::canShowMIMETypeAsHTML): Added stub.
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-08-27 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Antti Koivisto.
-
- Add a Qt API for the viewport meta tag support based on the
- following draft spec:
-
- http://people.opera.com/rune/TR/ED-css-viewport-20100806/
-
- Add common handling of viewport meta tag based on new Opera spec
- https://bugs.webkit.org/show_bug.cgi?id=44201
-
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
- * Api/qwebpage.cpp:
- (QWebPage::ViewportConfiguration::ViewportConfiguration):
- (QWebPage::ViewportConfiguration::~ViewportConfiguration):
- (QWebPage::ViewportConfiguration::operator=):
- (QWebPage::viewportConfigurationForSize):
- (QWebPage::setPreferredContentsSize):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- (QtViewportConfigurationPrivate::QtViewportConfigurationPrivate):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::didReceiveViewportArguments):
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::viewportAsText):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidCommitLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFirstLayout):
-
-2010-09-12 Martin Smith <martin.smith@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- doc: Changed the title so lists of contents sort better.
-
- * docs/qtwebkit.qdoc:
-
-2010-09-12 David Boddie <david.boddie@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Doc: More work on the QML documentation.
-
- * declarative/qdeclarativewebview.cpp:
-
-2010-09-12 Martin Jones <martin.jones@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qml] Ensure WebView gets focus when an editable node is clicked on.
-
- Task-number: QTBUG-13342
-
- * declarative/qdeclarativewebview.cpp:
- (GraphicsWebView::mousePressEvent):
-
-2010-09-12 David Boddie <david.boddie@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Doc: qdoc fixes.
-
- * declarative/qdeclarativewebview.cpp:
-
-2010-09-12 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] let WebKit inject itself into the qt configuration
-
- Task-number: QTBUG-12379
-
- * qt_webkit_version.pri: Use the faster + instead of *
- operator to add webkit to the config.
-
-2010-09-12 Martin Smith <martin.smith@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix group of declarative web view in QML docs.
-
- * declarative/qdeclarativewebview.cpp:
-
-2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Partial implementation of Qt bridge using V8 and QtScript.
-
- * Api/qwebelement.cpp:
- (QWebElement::evaluateJavaScript): Stub it out for now,
- to compile, until we have a conversion path between v8::Object
- and QScriptValue.
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject): Implemented using
- few lines of QtScript code.
- (QWebFrame::evaluateJavaScript): Ditto.
-
-2010-09-12 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Andreas Kling.
-
- Fix the build with V8.
-
- This is a temporary kludge until the scriptworld stuff is properly
- ported, as part of the upcoming DRT work.
-
- * Api/qwebscriptworld.cpp:
- (QWebScriptWorld::QWebScriptWorld):
-
-2010-09-11 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] V8 port for Qt platform: Qt WebCoreSupport changes
- https://bugs.webkit.org/show_bug.cgi?id=45149
-
- Original patch by Vlad Burlik <volodimir.burlik@nokia.com>
-
- Implemented the V8 specifics needed in DumpRenderTreeSupportQt and
- FrameLoaderClientQt.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::javaScriptObjectsCount):
- (DumpRenderTreeSupportQt::garbageCollectorCollect):
- (DumpRenderTreeSupportQt::garbageCollectorCollectOnAlternateThread):
- (DumpRenderTreeSupportQt::evaluateScriptInIsolatedWorld):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::didCreateScriptContextForFrame):
- (WebCore::FrameLoaderClientQt::didDestroyScriptContextForFrame):
- (WebCore::FrameLoaderClientQt::didCreateIsolatedScriptContext):
- (WebCore::FrameLoaderClientQt::createDocumentLoader):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-09-11 Vlad Burlik <volodimir.burlik@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] V8 port for QT platform: QT API implementation changes
- https://bugs.webkit.org/show_bug.cgi?id=45148
-
- V8 Implementation of QWebFrame::addToJavaScriptWindowObject()
- and QWebFrame::evaluateJavaScript()
-
- * Api/qwebelement.cpp:
- (setupScriptContext): JSC and V8 variations
- (QWebElement::evaluateJavaScript):
- * Api/qwebelement.h:
- * Api/qwebframe.cpp: QObject injection to V8 world
- (QWebFrame::addToJavaScriptWindowObject):
- (QWebFrame::evaluateJavaScript):
- * Api/qwebpage.cpp: Use ScriptController type definitions instead of direct references to JSC or V8
- (QWebPagePrivate::QWebPagePrivate):
-
-2010-09-10 yi shen <yi.4.shen@nokia.com>
-
- Reviewed by Antonio Gomes.
-
- [Qt] selected text gets deleted when qgraphicswebview losts focus
- https://bugs.webkit.org/show_bug.cgi?id=45539
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2010-09-10 Sam Weinig <sam@webkit.org>
-
- Fix Qt build.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
-
-2010-09-10 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
- Precursor to <rdar://problem/7660657>
- https://bugs.webkit.org/show_bug.cgi?id=45522
-
- * Api/qwebframe.cpp:
- (QWebFrame::setTextSizeMultiplier):
- (QWebFrame::textSizeMultiplier):
- (QWebFrame::setZoomFactor):
- (QWebFrame::zoomFactor):
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
- Move tracking of text only zoom here from WebCore.
-
-2010-09-10 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Andreas Kling.
-
- [Qt] Support click event for notifications
- https://bugs.webkit.org/show_bug.cgi?id=44836
-
- Propagate click events to JavaScript from either the
- platform plugn or from QSystemTrayIcon.
- Also added the method NotificationWrapper::openerPageUrl so that
- if the platform plugin can reopen the page that created the
- notification directly, when the user clicks the notification.
-
- Added DumpRenderTreeSupportQt::simulateDesktopNotificationClick
- for testing purpose.
-
- * Api/qwebkitplatformplugin.h:
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::simulateDesktopNotificationClick):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationWrapper::openerPageUrl):
- (WebCore::NotificationWrapper::notificationClicked):
- (WebCore::NotificationPresenterClientQt::displayNotification):
- (WebCore::NotificationPresenterClientQt::notificationClicked):
- * WebCoreSupport/NotificationPresenterClientQt.h:
- * examples/platformplugin/WebNotificationPresenter.cpp:
- (WebNotificationWidget::event):
- * examples/platformplugin/WebNotificationPresenter.h:
- (WebNotificationPresenter::WebNotificationPresenter):
- * examples/platformplugin/qwebkitplatformplugin.h:
-
-2010-09-10 Adam Barth <abarth@webkit.org>
-
- Attempt to fix the failign Qt tests. This patch adapts code from
- Chromium. The long-term fix is to remove the need for this code, but
- that's a bit too complicated for a buildfix patch.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::FrameLoaderClientQt):
- (WebCore::FrameLoaderClientQt::makeRepresentation):
- (WebCore::FrameLoaderClientQt::revertToProvisionalState):
- (WebCore::FrameLoaderClientQt::finishedLoading):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-09-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Fisher.
-
- Move code from WebKit-layer to DocumentLoader
- https://bugs.webkit.org/show_bug.cgi?id=45569
-
- This code didn't know that setEncoding can be called multiple times.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::FrameLoaderClientQt):
- (WebCore::FrameLoaderClientQt::finishedLoading):
- (WebCore::FrameLoaderClientQt::setMainDocumentError):
- (WebCore::FrameLoaderClientQt::committedLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveResponse):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoading):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-09-10 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Main resource bytes shouldn't bounce through FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=45496
-
- Now return the bytes to the DocumentLoader.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::committedLoad):
-
-2010-09-08 Darin Adler <darin@apple.com>
-
- Reviewed by Adam Barth.
-
- Move functions from Frame to Editor as planned
- https://bugs.webkit.org/show_bug.cgi?id=45218
-
- * Api/qwebpage.cpp:
- (QWebPage::selectedText):
- (QWebPage::setContentEditable):
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::firstRectForCharacterRange):
- Changed call sites to use editor().
-
-2010-09-08 Peter Kasting <pkasting@google.com>
-
- Reviewed by David Hyatt.
-
- Add smooth scrolling framework, and a Windows implementation.
- https://bugs.webkit.org/show_bug.cgi?id=32356
-
- * Api/qwebframe.cpp:
- (QWebFrame::setScrollBarValue):
-
-2010-09-06 Diego Gonzalez <diegohcg@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Update NetworkAccessManager in Qt FrameNetworkingContext
- https://bugs.webkit.org/show_bug.cgi?id=45231
-
- Make possible to get the current QNAM when NetwokingContext request it.
-
- * WebCoreSupport/FrameNetworkingContextQt.cpp:
- (WebCore::FrameNetworkingContextQt::networkAccessManager):
-
-2010-09-06 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- Web Inspector: Tests crash on Qt bots revealed by r66720
- https://bugs.webkit.org/show_bug.cgi?id=45256
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::InspectorClientQt): m_frontendClient must be initialized by constructor
-
-2010-09-06 Yury Semikhatsky <yurys@chromium.org>
-
- Unreviewed. Attempt to fix random test crashes after r66720.
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorFrontendClientQt::~InspectorFrontendClientQt):
- * WebCoreSupport/InspectorClientQt.h:
-
-2010-09-05 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r66801.
- http://trac.webkit.org/changeset/66801
- https://bugs.webkit.org/show_bug.cgi?id=45242
-
- 'breaks editing/pasteboard/onpaste-text-html.html' (Requested
- by mwenge4 on #webkit).
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::addMessageToConsole):
-
-2010-09-05 Robert Hogan <robert@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] utf8 encoding of console() messages
-
- http/tests/security/xssAuditor/embed-tag-null-char.html
- http/tests/security/xssAuditor/object-embed-tag-null-char.html
-
- both fail because ChromeClientQt::addMessageToConsole() is
- casting String to QString rather than String::utf8().data()
-
- https://bugs.webkit.org/show_bug.cgi?id=45240
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::addMessageToConsole):
-
-2010-09-03 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Darin Adler.
-
- Add NetworkingContext to avoid layer violations
- https://bugs.webkit.org/show_bug.cgi?id=42292
-
- Add Qt's specific implementation of NetworkingContext.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::setFrame):
- (WebCore::FrameLoaderClientQt::createNetworkingContext):
- * WebCoreSupport/FrameLoaderClientQt.h:
- * WebCoreSupport/FrameNetworkingContextQt.cpp:
- (WebCore::FrameNetworkingContextQt::FrameNetworkingContextQt):
- (WebCore::FrameNetworkingContextQt::create):
- (WebCore::FrameNetworkingContextQt::originatingObject):
- (WebCore::FrameNetworkingContextQt::networkAccessManager):
-
-2010-09-02 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
- https://bugs.webkit.org/show_bug.cgi?id=44230
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::inspectorDestroyed):
- (WebCore::InspectorClientQt::openInspectorFrontend):
- (WebCore::InspectorClientQt::releaseFrontendPage):
- (WebCore::InspectorFrontendClientQt::closeWindow):
- (WebCore::InspectorFrontendClientQt::disconnectFromBackend):
- (WebCore::InspectorFrontendClientQt::destroyInspectorView):
- (WebCore::InspectorFrontendClientQt::inspectorClientDestroyed):
- * WebCoreSupport/InspectorClientQt.h:
-
-2010-09-02 Andreas Kling <andreas.kling@nokia.com>
-
- Rubber-stamped by Simon Hausmann.
-
- [Qt] REGRESSION(r62898): tst_QWebFrame crashing
- https://bugs.webkit.org/show_bug.cgi?id=43039
-
- Rolling out the offending change <http://trac.webkit.org/changeset/62898>
-
- * tests/qwebframe/tst_qwebframe.cpp:
- (tst_QWebFrame::evalJSV):
-
-2010-09-01 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] QWebPage::allowGeolocationRequest should be async API
- https://bugs.webkit.org/show_bug.cgi?id=41364
-
- Provides a new async API for geolocation permission. Using
- Notification API approach from qtwebkit. GeolocationPermissionClientQt
- maintains list of pending requests from WebCore and intimates them
- when client either allowes/denies the request. Also implements
- ChromeClientQt::cancelGeolocationPermissionRequestForFrame.
-
- * Api/qwebpage.cpp:
- (QWebPage::setUserPermission):
- * Api/qwebpage.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::requestGeolocationPermissionForFrame):
- (WebCore::ChromeClientQt::cancelGeolocationPermissionRequestForFrame):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/GeolocationPermissionClientQt.cpp: Added.
- (WebCore::GeolocationPermissionClientQt::geolocationPermissionClient):
- (WebCore::GeolocationPermissionClientQt::GeolocationPermissionClientQt):
- (WebCore::GeolocationPermissionClientQt::~GeolocationPermissionClientQt):
- (WebCore::GeolocationPermissionClientQt::requestGeolocationPermissionForFrame):
- (WebCore::GeolocationPermissionClientQt::cancelGeolocationPermissionRequestForFrame):
- (WebCore::GeolocationPermissionClientQt::setPermission):
- * WebCoreSupport/GeolocationPermissionClientQt.h: Added.
- * tests/qwebpage/tst_qwebpage.cpp:
- (JSTestPage::requestPermission):
- (tst_QWebPage::geolocationRequestJS):
-
-2010-08-31 Dave Hyatt <hyatt@apple.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=44863, disentangle style recalc from layout, so that
- the former can occur in more places without having to do the latter.
-
- * Api/qwebelement.cpp:
- (QWebElement::render):
- * Api/qwebframe.cpp:
- (QWebFramePrivate::renderRelativeCoords):
-
-2010-08-31 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] tst_QWebPage::originatingObjectInNetworkRequests() fails on trunk
- https://bugs.webkit.org/show_bug.cgi?id=45001
-
- Fix the test, we should not use data encoded URL since we are not
- setting an URL but setting the substituteData directly.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::originatingObjectInNetworkRequests):
-
-2010-08-31 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- JSC TimeoutChecker::didTimeOut overflows on ARM
- https://bugs.webkit.org/show_bug.cgi?id=38538
-
- Re-enabled the test that was skipped for Maemo 5.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::infiniteLoopJS):
-
-2010-08-30 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r66198.
- http://trac.webkit.org/changeset/66198
- https://bugs.webkit.org/show_bug.cgi?id=44856
-
- It made tests crash on Qt bot (Requested by Ossy_ on #webkit).
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::inspectorDestroyed):
- (WebCore::InspectorClientQt::openInspectorFrontend):
- (WebCore::InspectorClientQt::releaseFrontendPage):
- (WebCore::InspectorFrontendClientQt::closeWindow):
- * WebCoreSupport/InspectorClientQt.h:
-
-2010-08-28 Daniel Bates <dbates@rim.com>
-
- Attempt to fix the Qt Windows and Qt Linux Release minimal builds
- after changeset 66297 <http://trac.webkit.org/changeset/66297>.
-
- * Api/qwebplugindatabase.cpp:
- (QWebPluginDatabase::plugins): Wrap the call to PluginPackage::ensurePluginLoaded
- in #if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE).
-
-2010-08-27 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Antonio Gomes.
-
- [Qt] tst_QWebView::focusInputTypes() fails on MeeGo Handset with WebKit 2.1
- https://bugs.webkit.org/show_bug.cgi?id=44761
-
- Make the test more robust to changes in the execution environment. The click
- are now correctly simulated, and the position are determined from the content.
-
- The test also create the view and page on the stack to avoid the leak when the
- test is failing.
-
- * tests/qwebview/tst_qwebview.cpp:
- (tst_QWebView::focusInputTypes):
-
-2010-08-27 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Cache plugin info to a persistent database
-
- https://bugs.webkit.org/show_bug.cgi?id=43179
-
- Implement a cache of NPAPI plugin metadata. Write the metadata to aa
- file that gets rewritten if any plugin is added / removed. Compilation
- of the feature is controlled by #if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
-
- Currently only enabled for Qt UNIX flavors.
-
- * Api/qwebplugindatabase.cpp:
- (QWebPluginDatabase::plugins): Match previous behavior: ensure all returned plugins are loaded.
- * Api/qwebsettings.cpp:
- (QWebSettings::enablePersistentStorage): Set plugin cache path.
-
-2010-08-27 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] tst_QWebFrame::inputFieldFocus() fails on MeeGo Handset with QtWebKit 2.1
- https://bugs.webkit.org/show_bug.cgi?id=44703
-
- Make the test more robust to changes in the execution environment.
- The position where the mouse events are sent is now computed from the element geometry,
- this make the test less dependent on the fonts.
-
- The test now also make sure the window manager mapped the window on screen
- before attempting to send the events.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-08-27 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] tst_QWebFrame::hitTestContent() fails on Meego Handset
- https://bugs.webkit.org/show_bug.cgi?id=44701
-
- Make the test more robust. The position of the text is not relying
- on the size of the fonts anymore.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-08-26 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add support for automatically creating new windows in QWebView
- https://bugs.webkit.org/show_bug.cgi?id=29847
-
- Improved the documentation of createWindow methods of both QWebView and
- QWebPage by mentioning that for any of them be called, QWebSettings'
- JavaScriptCanOpenWindows attribute must be set to true.
-
- * Api/qwebpage.cpp:
- * Api/qwebview.cpp:
-
-2010-08-27 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
- https://bugs.webkit.org/show_bug.cgi?id=44230
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::inspectorDestroyed):
- (WebCore::InspectorClientQt::openInspectorFrontend):
- (WebCore::InspectorClientQt::releaseFrontendPage):
- (WebCore::InspectorFrontendClientQt::closeWindow):
- (WebCore::InspectorFrontendClientQt::disconnectFromBackend):
- (WebCore::InspectorFrontendClientQt::destroyInspectorView):
- (WebCore::InspectorFrontendClientQt::inspectorClientDestroyed):
- * WebCoreSupport/InspectorClientQt.h:
-
-2010-08-26 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Remove dead code.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::statusbarVisible):
-
-2010-08-26 Yury Semikhatsky <yurys@chromium.org>
-
- Unreviewed. Revert r66103 since Qt tests are failing.
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorFrontendClientQt::closeWindow):
- * WebCoreSupport/InspectorClientQt.h:
-
-2010-08-26 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
- https://bugs.webkit.org/show_bug.cgi?id=44230
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorFrontendClientQt::closeWindow):
- (WebCore::InspectorFrontendClientQt::disconnectFromBackend):
- (WebCore::InspectorFrontendClientQt::destroyInspectorView):
- * WebCoreSupport/InspectorClientQt.h:
-
-2010-08-26 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] tst_QWebFrame::popupFocus() hardcode the element position
- https://bugs.webkit.org/show_bug.cgi?id=44674
-
- This patch dynamically find the position of the combo element instead
- of hardcoding a position to click.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-08-25 Leo Yang <leo.yang@torchmobile.com.cn>
-
- Reviewed by Simon Hausmann.
-
- In FrameLoaderClientQt::createFrame we should call loadURLIntoChildFrame
- with parent frame's loader instead of child frame's loader.
- https://bugs.webkit.org/show_bug.cgi?id=43930
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2010-08-25 Gabor Loki <loki@webkit.org>
-
- Reviewed by Gavin Barraclough.
-
- Avoid increasing required alignment of target type warning
- https://bugs.webkit.org/show_bug.cgi?id=43963
-
- Fix alignment warnings on Qt.
-
- * Api/qwebelement.cpp:
- (QWebElement::evaluateJavaScript):
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
-2010-08-24 Andras Becsi <abecsi@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix predeclared variables for Symbian to be able to build QtWebKit for Symbian on Linux.
-
- * Api/DerivedSources.pro:
-
-2010-08-20 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Allow wmode=transparent in QWebView on Maemo5 after r65775.
-
- https://bugs.webkit.org/show_bug.cgi?id=44043
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2010-08-22 Marc Mutz <marc.mutz@kdab.com>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Actually emit the QWebView::selectionChanged() signal
-
- https://bugs.webkit.org/show_bug.cgi?id=44252
-
- * Api/qwebview.cpp:
- (QWebView::setPage): Connect QWebPage::selectionChanged() to QWebView::selectionChanged()
-
-2010-08-20 Ademar de Souza Reis Jr <ademar.reis@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] constify core() and kit() parameters
- https://bugs.webkit.org/show_bug.cgi?id=44347
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
- * Api/qwebframe_p.h:
- * Api/qwebhistory.cpp:
- (QWebHistoryItemPrivate::core):
- * Api/qwebhistory_p.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::core):
- * Api/qwebpage_p.h:
-
-2010-08-19 Balazs Kelemen <kb@inf.u-szeged.hu>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Fix cursor change propagation
- https://bugs.webkit.org/show_bug.cgi?id=44250
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::setCursor): Implemented. Propagete the callback forward to the PageClient.
-
-2010-08-19 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX #3: <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
-
- Still trying to make Qt Linux Release minimal buildbot happy.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin): Wrap code that
- handles Netscape plugins in #if ENABLE(NETSCAPE_PLUGIN_API)
- and #endif.
-
-2010-08-19 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX: FrameLoaderClientQt.h should include ResourceError.h
-
- * WebCoreSupport/FrameLoaderClientQt.h: Include ResourceError.h.
-
-2010-08-19 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] Inject wmode=opaque for both QWebView and QGraphicsWebView on Maemo5
- as Flash XEmbed support is flaky.
-
- https://bugs.webkit.org/show_bug.cgi?id=44043
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2010-08-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, trivial Symbian build fix.
-
- [Qt] Remove unnecessary QtGui include from NotificationPresenterClientQt.cpp
-
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
-
-2010-08-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] [Symbian] Consistently use Q_OS_SYMBIAN to guard all Symbian platform dependencies
- https://bugs.webkit.org/show_bug.cgi?id=44124
-
- Q_WS_S60 is not defined for Symbian^4 devices as Q_WS_S60 used to guard
- Avkon UI framework dependencies. Use Q_OS_SYMBIAN everywhere to mark
- Symbian dependencies.
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopup::populate):
-
-2010-08-17 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Darin Adler.
-
- Add NetworkingContext to avoid layer violations
- https://bugs.webkit.org/show_bug.cgi?id=42292
-
- Preparation: Just add the files to the build system.
-
- * WebCoreSupport/FrameNetworkingContextQt.cpp: Added.
- Empty placeholder for now.
- * WebCoreSupport/FrameNetworkingContextQt.h: Added.
- Placeholder with tentative code that might be changed when landing
- the rest of it.
-
-2010-08-17 Hui Huang <hui.2.huang@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Fix ARM5 compiling error in FrameLoaderClientQt.cpp
- https://bugs.webkit.org/show_bug.cgi?id=43927
-
- In the Symbian build chain QT_USE_FAST_OPERATOR_PLUS is defined,
- which means that the '+' will automatically be performed as the
- QStringBuilder '%'. Create a QString explicitly to make sure that
- toLocal8bit() member is available that the qPrintable Macro uses.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
-
-2010-08-16 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] Implement ChromeClient's windowToScreen() and screenToWindow()
-
- * WebCoreSupport/ChromeClientQt.cpp:
-
-2010-08-14 Adam Barth <abarth@webkit.org>
-
- Propagate name change to Qt.
-
- * Api/qwebelement.cpp:
- (QWebElement::appendInside):
- (QWebElement::prependInside):
- (QWebElement::prependOutside):
- (QWebElement::appendOutside):
- (QWebElement::encloseContentsWith):
- (QWebElement::encloseWith):
-
-2010-08-12 Jeremy Orlow <jorlow@chromium.org>
-
- Revert for now
- https://bugs.webkit.org/show_bug.cgi?id=43794
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
-
-2010-08-11 Jeremy Orlow <jorlow@chromium.org>
-
- Reviewed by Adam Barth.
-
- Some settings are linked to the PageGroup not the Page. Create a new class for those.
- https://bugs.webkit.org/show_bug.cgi?id=43794
-
- Change WebSettings to use the new GroupSettings class rather than Settings for the
- settings that moved. This is sub-optimal since the settings aren't really
- per-view, but I don't see how we can change the API at this point.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
-
-2010-08-11 Simon Hausmann <simon.hausmann@nokia.com>
-
- [Qt] Update the Symbian def files
-
- Re-freeze with various QGraphicsWebView and DRT updates.
- The uppper part of the diff is just whitespace, so
- diff -w will show the real diff.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-08-10 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Don't connect to microFocusChanged() if _q_updateMicroFocus is a noop.
- https://bugs.webkit.org/show_bug.cgi?id=40580
-
- _q_updateMicroFocus() is a noop unless this ifdef evaluates to true:
- #if !defined(QT_NO_IM) && (defined(Q_WS_X11) || defined(Q_WS_QWS) || defined(Q_OS_SYMBIAN))
-
- In such cases there's no need to carry the overhead of the extra
- signal/slot connection.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::_q_updateMicroFocus):
- (QGraphicsWebView::setPage):
-
-2010-08-10 Chris Marrin <cmarrin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Add suspendAnimations/resumeAnimation API to DRT
- https://bugs.webkit.org/show_bug.cgi?id=43733
-
- Qt specific API. Missing symbian symbol defines in:
-
- WebKit/qt/symbian/bwins/QtWebKitu.def
- WebKit/qt/symbian/eabi/QtWebKitu.def
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::suspendAnimations):
- (DumpRenderTreeSupportQt::resumeAnimations):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-08-06 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig
-
- Bug 43594 - Add string forwards to Forward.h
- This allows us to remove forward declarations for these classes from
- WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
-
- * WebCoreSupport/FrameLoaderClientQt.h:
- * WebCoreSupport/InspectorClientQt.h:
-
-2010-08-08 Ariya Hidayat <ariya@sencha.com>
-
- Reviewed by Antonio Gomes.
-
- Inconsistent Qt version checks
- https://bugs.webkit.org/show_bug.cgi?id=43695
-
- Use QT_VERSION_CHECK macro instead of encoded hex.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::QGraphicsWebView):
- (QGraphicsWebViewPrivate::detachCurrentPage):
- * Api/qwebframe.cpp:
- (QWebFrame::load):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::inputMethodEvent):
- (QWebPage::inputMethodQuery):
- (QWebPage::view):
- * Api/qwebview.cpp:
- (QWebViewPrivate::detachCurrentPage):
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
- * WebCoreSupport/PageClientQt.cpp:
- * WebCoreSupport/PageClientQt.h:
-
-2010-08-06 Jessie Berlin <jberlin@apple.com>
-
- Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
- Unreviewed.
-
- * WebCoreSupport/FrameLoaderClientQt.h:
- * WebCoreSupport/InspectorClientQt.h:
-
-2010-08-06 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Move Qt's popup menu implementation from WebCore to WebKit layer
- https://bugs.webkit.org/show_bug.cgi?id=43427
-
- After PopupMenu changes in bug 42592 class QtAbstractWebPopup became unecessary and
- there is no need to keep any Qt specific code for popup menus in WebCore/platform/qt.
-
- PopupMenuQt has been moved from WebCore/platform/qt to WebKit/qt/WebCoreSupport and
- assumed the responsibilities of QtAbstractWebPopup. SearchPopupMenuQt has been moved
- to WebKit/qt/WebCoreSupport as well.
-
- All classes that previously inherited from QtAbstractWebPopup now inherit from
- QWebSelectMethod and QtPlatformPlugin's method createSelectInputMethod now returns an
- instance of class QWebSelectMethod instead of QtAbstractWebPopup.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createSelectPopup):
- (WebCore::ChromeClientQt::createPopupMenu):
- (WebCore::ChromeClientQt::createSearchPopupMenu):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/PopupMenuQt.cpp: Added.
- (SelectData::SelectData):
- (SelectData::itemText):
- (SelectData::itemToolTip):
- (SelectData::itemIsEnabled):
- (SelectData::itemCount):
- (SelectData::itemIsSelected):
- (SelectData::multiple):
- (SelectData::itemType):
- (WebCore::PopupMenuQt::PopupMenuQt):
- (WebCore::PopupMenuQt::~PopupMenuQt):
- (WebCore::PopupMenuQt::disconnectClient):
- (WebCore::PopupMenuQt::show):
- (WebCore::PopupMenuQt::didHide):
- (WebCore::PopupMenuQt::hide):
- (WebCore::PopupMenuQt::updateFromElement):
- (WebCore::PopupMenuQt::selectItem):
- * WebCoreSupport/PopupMenuQt.h: Added.
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopupCombo::hidePopup):
- (WebCore::QtFallbackWebPopup::QtFallbackWebPopup):
- (WebCore::QtFallbackWebPopup::show):
- (WebCore::QtFallbackWebPopup::populate):
- (WebCore::QtFallbackWebPopup::activeChanged):
- (WebCore::QtFallbackWebPopup::pageClient):
- * WebCoreSupport/QtFallbackWebPopup.h:
- (WebCore::QtFallbackWebPopup::setGeometry):
- (WebCore::QtFallbackWebPopup::geometry):
- (WebCore::QtFallbackWebPopup::setFont):
- (WebCore::QtFallbackWebPopup::font):
- * WebCoreSupport/QtMaemoWebPopup.cpp:
- (WebCore::Maemo5Popup::populateList):
- (WebCore::QtMaemoWebPopup::QtMaemoWebPopup):
- (WebCore::QtMaemoWebPopup::createSingleSelectionPopup):
- (WebCore::QtMaemoWebPopup::createMultipleSelectionPopup):
- (WebCore::QtMaemoWebPopup::createPopup):
- (WebCore::QtMaemoWebPopup::show):
- (WebCore::QtMaemoWebPopup::popupClosed):
- (WebCore::QtMaemoWebPopup::itemClicked):
- (WebCore::Maemo5SingleSelectionPopup::Maemo5SingleSelectionPopup):
- (WebCore::Maemo5MultipleSelectionPopup::Maemo5MultipleSelectionPopup):
- * WebCoreSupport/QtMaemoWebPopup.h:
- (WebCore::Maemo5Popup::Maemo5Popup):
- * WebCoreSupport/QtPlatformPlugin.cpp:
- (WebCore::QtPlatformPlugin::createSelectInputMethod):
- * WebCoreSupport/QtPlatformPlugin.h:
- * WebCoreSupport/SearchPopupMenuQt.cpp: Added.
- (WebCore::SearchPopupMenuQt::SearchPopupMenuQt):
- (WebCore::SearchPopupMenuQt::popupMenu):
- (WebCore::SearchPopupMenuQt::saveRecentSearches):
- (WebCore::SearchPopupMenuQt::loadRecentSearches):
- (WebCore::SearchPopupMenuQt::enabled):
- * WebCoreSupport/SearchPopupMenuQt.h: Added.
-
-2010-08-06 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Add support for the Android viewport meta tag extensions.
- http://webkit.org/b/43567
-
- * Api/qwebpage.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::didReceiveViewportArguments):
-
-2010-08-05 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig
-
- Bug 43594 - Add string forwards to Forward.h
- This allows us to remove forward declarations for these classes from
- WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
-
- * WebCoreSupport/FrameLoaderClientQt.h:
- * WebCoreSupport/InspectorClientQt.h:
-
-2010-08-05 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Clean up the input method handling
- https://bugs.webkit.org/show_bug.cgi?id=43545
-
- Replace the way of individually setting input method hints by
- many calls to QWidget::setInputMethodHints with one single call.
-
- This is more efficient by requiring less updates in the input
- method hint.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState):
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PageClientQWidget::setInputMethodHints):
- (WebCore::PageClientQGraphicsWidget::setInputMethodHints):
- * WebCoreSupport/PageClientQt.h:
-
-2010-08-05 David Leong <david.leong@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Input mode states are not reset after entering a password field
- https://bugs.webkit.org/show_bug.cgi?id=43530
-
- Input mode hints are not reset if clicking on password <input> elements then
- clicking on <textarea> elements
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState):
- * tests/qwebview/resources/input_types.html:
- * tests/qwebview/tst_qwebview.cpp:
- (tst_QWebView::focusInputTypes):
-
-
-2010-08-04 Pierre Rossi <pierre.rossi@nokia.com>
-
- Reviewed by Antonio Gomes.
-
- [Qt] QWebFrame::setContent() does not respect charset provided in the mimeType
- https://bugs.webkit.org/show_bug.cgi?id=43125
-
- * Api/qwebframe.cpp:
- (QWebFrame::setContent):
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-08-03 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Edits to bridge documentation
- https://bugs.webkit.org/show_bug.cgi?id=43012
-
- * docs/qtwebkit-bridge.qdoc:
- * docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:
- (wrapInFunction):
-
-2010-08-03 Kim Grönholm <kim.1.gronholm@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Platform plugin interface for Haptics
- https://bugs.webkit.org/show_bug.cgi?id=43143
-
- Platform plugin interface for playing haptic feedback
-
- * Api/qwebkitplatformplugin.h:
- (QWebHapticFeedbackPlayer::):
- (QWebKitPlatformPlugin::):
- * examples/platformplugin/WebPlugin.h:
- (WebPlugin::createHapticFeedbackPlayer):
- * examples/platformplugin/qwebkitplatformplugin.h:
- (QWebHapticFeedbackPlayer::):
- (QWebKitPlatformPlugin::):
-
-2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Darin Fisher.
-
- PopupMenu refactoring in preparation to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42592
-
- As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
- instances, concrete classes that inherit from ChromeClient needed to be changed to
- implement the new methods.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::selectItemWritingDirectionIsNatural):
- (WebCore::ChromeClientQt::createPopupMenu):
- (WebCore::ChromeClientQt::createSearchPopupMenu):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-08-02 Jeremy Orlow <jorlow@chromium.org>
-
- Speculative revert of 64425 due to Chromium instability
- https://bugs.webkit.org/show_bug.cgi?id=43347
-
- * WebCoreSupport/ChromeClientQt.cpp:
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Darin Fisher.
-
- PopupMenu refactoring in preparation to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42592
-
- As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
- instances, concrete classes that inherit from ChromeClient needed to be changed to
- implement the new methods.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::selectItemWritingDirectionIsNatural):
- (WebCore::ChromeClientQt::createPopupMenu):
- (WebCore::ChromeClientQt::createSearchPopupMenu):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-07-31 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r64422.
- http://trac.webkit.org/changeset/64422
- https://bugs.webkit.org/show_bug.cgi?id=43304
-
- Build fixes are needed for Snow Leopard and Windows.
- (Requested by lca on #webkit).
-
- * WebCoreSupport/ChromeClientQt.cpp:
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-07-27 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Darin Fisher.
-
- PopupMenu refactoring in preparation to WebKit2
- https://bugs.webkit.org/show_bug.cgi?id=42592
-
- As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
- instances, concrete classes that inherit from ChromeClient needed to be changed to
- implement the new methods.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::selectItemWritingDirectionIsNatural):
- (WebCore::ChromeClientQt::createPopupMenu):
- (WebCore::ChromeClientQt::createSearchPopupMenu):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-07-30 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Simon Fraser.
-
- Enabling view modes to all platforms
- https://bugs.webkit.org/show_bug.cgi?id=37505
-
- As view mode media feature is now supported by WebCore there is no need
- to keep its implementation here. QtWebKit now uses WebCore's view mode media feature
- implementation.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dynamicPropertyChangeEvent):
- * Api/qwebpage_p.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-07-30 Joseph Pecoraro <joepeck@webkit.org>
-
- Reviewed by David Kilzer.
-
- Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
- https://bugs.webkit.org/show_bug.cgi?id=40627
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::reachedApplicationCacheOriginQuota):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-07-29 Alexis Menard <alexis.menard@nokia.com>
-
- Reviewed by Antonio Gomes.
-
- QWebFrame and QWebView documentation fix.
-
- The QWebFrame and the QWebView setHtml() methods are a bit confusing.
- There are a few registered bugs in Webkit's bugzilla that source is
- in a bad usage of the function.
- Additional information were added.
-
- https://bugs.webkit.org/show_bug.cgi?id=31115
-
- * Api/qgraphicswebview.cpp:
- * Api/qwebframe.cpp:
- * Api/qwebview.cpp:
-
-2010-07-28 Kim Grönholm <kim.1.gronholm@nokia.com>
-
- Reviewed by Antonio Gomes.
-
- [Qt] Decouple QTouchEvent's accepted flag from JS prevent default
- https://bugs.webkit.org/show_bug.cgi?id=42892
-
- Added comments to the touch event handling code.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::sceneEvent):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::touchEvent):
- (QWebPage::event):
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebView::event):
-
-2010-07-26 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Page clients should be passed to Page constructor via structure of pointers
- https://bugs.webkit.org/show_bug.cgi?id=42834
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2010-07-27 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Incorrect input method hints
- https://bugs.webkit.org/show_bug.cgi?id=43037
-
- Properly set or reset all input method hints when
- activating input fields.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState):
- * tests/qwebview/tst_qwebview.cpp:
- (tst_QWebView::focusInputTypes): Extended unit test to verify that we
- reset hints.
-
-2010-07-27 Kim Grönholm <kim.1.gronholm@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Decouple QTouchEvent's accepted flag from JS prevent default
- https://bugs.webkit.org/show_bug.cgi?id=42892
-
- We need to always accept the QTouchEvents in order to get TouchUpdate and
- TouchEnd events. QWebPage::event() return value is used to indicate
- whether the default action was prevented for the touch events.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::sceneEvent):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::touchEvent):
- (QWebPage::event):
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebView::event):
-
-2010-07-26 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Change default font from sans-serif to serif
-
- This matches what other ports and browser engines do.
-
- We now also use QFont's defaultFontFamily() to resolve the
- correct fonts for each platform. For Qt >= 4.7 we can take
- advantage of the new enums for generic font families.
-
- * Api/qwebsettings.cpp:
-
-2009-10-30 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Use the default timeout interval for JS as the HTML tokenizer delay for setHtml()
-
- This ensures that long-running JavaScript (for example due to a modal alert() dialog),
- will not trigger a deferred load after only 500ms (the default tokenizer delay) while
- still giving a reasonable timeout (10 seconds) to prevent deadlock.
-
- https://bugs.webkit.org/show_bug.cgi?id=29381
-
- * Api/qwebframe.cpp: Document the behaviour
- * WebCoreSupport/FrameLoaderClientQt.cpp: set the custom tokenizer delay for substitute loads
- * tests/qwebframe/tst_qwebframe.cpp: Add test
-
-2010-07-23 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Doc: Fixed incorrect QML property type.
-
- * declarative/qdeclarativewebview.cpp:
-
-2010-07-23 Simon Hausmann <simon.hausmann@nokia.com>
-
- [Qt] Build fix for Qt apps
-
- Add webkit to QT_CONFIG. qconfig.pri will read qt_webkit_version.pri and
- that's how it will pick up webkit in QT_CONFIG.
-
- * qt_webkit_version.pri:
-
-2010-07-22 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] QtWebKit needs public API for Notifications.
- https://bugs.webkit.org/show_bug.cgi?id=41413
-
- Remove DumpRenderTree private API and introduce new API.
- Also add support for informing the UI when a notification request is cancelled.
-
- * Api/qwebpage.cpp:
- (QWebPage::setUserPermission):
- * Api/qwebpage.h:
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationPresenterClientQt::requestPermission):
- (WebCore::NotificationPresenterClientQt::checkPermission):
- (WebCore::NotificationPresenterClientQt::cancelRequestsForPermission):
- (WebCore::NotificationPresenterClientQt::allowNotificationForFrame):
- (WebCore::NotificationPresenterClientQt::toPage):
- (WebCore::NotificationPresenterClientQt::toFrame):
- * WebCoreSupport/NotificationPresenterClientQt.h:
-
-2010-07-22 Jamey Hicks <jamey.hicks@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Enable binding of QObjects to JavaScript environment for inspector frontend
-
- This patch enables QObjects to be bound to global variables in the
- javascript environment of the inspector frontend. This is useful
- for writing alternate inspector frontends in javascript which need
- additional native functionality. It's a lighter-weight alternative
- than using an NPAPI plugin.
-
- The code which instantiates QWebInspector uses this by setting the
- dynamic property "q_inspectorJavaScriptWindowObjects" on the
- QWebInspector. The value of this property should be a
- QMap<QString,QVariant> mapping global variable name to QObject.
-
- I have used this to add support for eclipse/chrome remote
- debugging in QtTestBrowser.
-
- https://bugs.webkit.org/show_bug.cgi?id=41995
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientWebPage::InspectorClientWebPage):
- (WebCore::InspectorClientWebPage::javaScriptWindowObjectCleared):
- (WebCore::InspectorClientQt::openInspectorFrontend):
-
-2010-07-22 Simon Hausmann <simon.hausmann@nokia.com>
-
- [Qt] Library versioning.
-
- 2.1 is branched, trunk will become 2.2.
-
- * Api/qwebkitglobal.h:
- * qt_webkit_version.pri:
-
-2010-07-21 Brady Eidson <beidson@apple.com>
-
- Reviewed by Geoffrey Garen.
-
- Break out "scheme registration" functionality from SecurityOrigin to a SchemeRegistry
- https://bugs.webkit.org/show_bug.cgi?id=42783
-
- * Api/qwebpage.cpp:
- (QWebPage::acceptNavigationRequest):
- * Api/qwebsecurityorigin.cpp:
- (QWebSecurityOrigin::addLocalScheme):
- (QWebSecurityOrigin::removeLocalScheme):
- (QWebSecurityOrigin::localSchemes):
-
-2010-07-20 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- [Qt] Add API to define device-width and height for use with the viewport meta tag
- https://bugs.webkit.org/show_bug.cgi?id=42597
-
- Reviewed by Antonio Gomes.
-
- Add a new API for setting the deviceSize for use in conjunction with
- out viewport meta tag API.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::setDeviceSize):
- (QGraphicsWebView::deviceSize):
- * Api/qgraphicswebview.h:
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PageClientQGraphicsWidget::windowRect):
- * WebCoreSupport/PageClientQt.h:
- (WebCore::PageClientQGraphicsWidget::PageClientQGraphicsWidget):
-
-2010-07-20 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] DRT sideeffect revealed by r63657
- https://bugs.webkit.org/show_bug.cgi?id=42578
-
- Don't set an automatic timeout for notifications when running in DRT.
- This fixes an issue with cancel() notifications in unrelated tests.
-
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationPresenterClientQt::displayNotification):
-
-2010-07-18 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Antonio Gomes.
-
- [Qt] tst_QWebPage fails cursorMovements and textSelection
- https://bugs.webkit.org/show_bug.cgi?id=42531
-
- Correct the HTML used by these tests.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::cursorMovements):
- (tst_QWebPage::textSelection):
- (tst_QWebPage::textEditing):
-
-2010-07-18 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Antonio Gomes.
-
- [Qt] tst_QWebElement fails firstChildNextSibling and lastChildPreviousSibling
- https://bugs.webkit.org/show_bug.cgi?id=42527
-
- Correct the HTML used by these tests.
-
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::firstChildNextSibling):
- (tst_QWebElement::lastChildPreviousSibling):
-
-2010-07-16 Zhe Su <suzhe@chromium.org>
-
- Reviewed by Darin Adler.
-
- REGRESSION(r61484): Broke focus behaviour on Qt and probably other platforms
- https://bugs.webkit.org/show_bug.cgi?id=42253
-
- Dummy implementation of EditorClient::willSetInputMethodState.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::willSetInputMethodState):
- * WebCoreSupport/EditorClientQt.h:
-
-2010-07-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=42232
- Make changing Cursors work in WebKit2.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::setCursor):
- * WebCoreSupport/ChromeClientQt.h:
- Change prototype to match new one.
-
-2010-07-07 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Darin Adler.
-
- Prevent assertion/duplicate loads for non-deferred subtitute-data loads
-
- https://bugs.webkit.org/show_bug.cgi?id=30879
-
- MainResourceLoader uses the member m_initialRequest to store requests for future
- deferred loads. When doing the actual load in handleDataLoadNow(), we therefore
- have to clear this request so that subsequent entries into the loader will not
- start yet another load.
-
- This can happen as a result of a PageGroupLoadDeferrer going out of scope when
- returning from Chrome::runJavaScriptAlert(), which calls setDeferredLoading(false),
- but only in the case of using both substitute-data and non-deferred main resource
- load together. That's why two new DRT functions were added:
-
- * queueLoadHTMLString()
- * setDeferMainResourceLoad()
-
- The change adds DRT hooks for Mac, Win and Qt for these two functions. For Mac
- and Win the hook uses new SPI in WebDataSource. For Qt a new static member was
- added to the FrameLoaderClientQt and accessed though DumpRenderTreeSupportQt.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::setDeferMainResourceDataLoad):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createDocumentLoader):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-07-09 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- NotificationPresenter needs a cancelRequestPermission API
- https://bugs.webkit.org/show_bug.cgi?id=41783
-
- Updated NotificationPresenter API to use ScriptExecutionContext instead of origin
- and added a new NotificationPresenter::cancelRequestsForPermission API.
- The new API will be implemented in a followup patch.
-
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationPresenterClientQt::requestPermission):
- (WebCore::NotificationPresenterClientQt::checkPermission):
- (WebCore::NotificationPresenterClientQt::cancelRequestsForPermission):
- * WebCoreSupport/NotificationPresenterClientQt.h:
-
-2010-07-09 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Skip test that never terminates on maemo5
-
- Due to https://bugs.webkit.org/show_bug.cgi?id=38538
- the tst_QWebPage::infiniteLoopJS() autotest never terminates.
- Skip the test so that the test case may run to completion.
-
- Patch by Dominik Holland <dominik.holland@nokia.com>
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::infiniteLoopJS):
-
-2010-07-09 Simon Hausmann <simon.hausmann@nokia.com>
-
- Unreviewed trivial Symbian build fix.
-
- [Qt] Fix the Symbian build when compiling without S60
-
- Use Q_OS_SYMBIAN instead of Q_WS_S60 for the user agent
- determination.
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
-
-2010-07-09 Kristian Amlie <kristian.amlie@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fixed Qt symbian/linux-armcc mkspec when configured with -qtlibinfix.
-
- * declarative/declarative.pro: Use QT_LIBINFIX.
-
-2010-07-09 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Remove superfluous function calls
- https://bugs.webkit.org/show_bug.cgi?id=40353
-
- QWebFrame::setUrl() calls ensureAbsoluteUrl() twice. It's better to
- store a local variable and reuse this one.
-
- QWebFrame::load(QUrl) calls QWebFrame::load(QNetworkRequest) which in
- turn will get the QUrl from the request and make sure it's absolute by
- calling ensureAbsoluteUrl() on it.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setUrl):
- (QWebFrame::load):
-
-2010-07-08 Sam Magnuson <smagnuson@netflix.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] instance objects created for QObjects are somtimes GC'd
- https://bugs.webkit.org/show_bug.cgi?id=40352
-
- Improved the test to check for jsObjects that that are garbage collected.
-
- * tests/qwebframe/tst_qwebframe.cpp:
- (tst_QWebFrame::):
-
-2010-07-08 Aaron Boodman <aa@chromium.org>
-
- Unreviewed change to fix qt build after c62876.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::addUserStyleSheet):
-
-2010-07-07 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add DRT support for pageProperty etc.
-
- https://bugs.webkit.org/show_bug.cgi?id=41584
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::isPageBoxVisible):
- (DumpRenderTreeSupportQt::pageSizeAndMarginsInPixels):
- (DumpRenderTreeSupportQt::pageProperty):
- (DumpRenderTreeSupportQt::addUserStyleSheet):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-07-08 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41826
- Convert BackForwardList to an abstract base class and add BackForwardListImpl
- as the concrete implementation of it.
-
- * Api/qwebhistory.cpp:
- (QWebHistory::clear):
- (QWebHistory::back):
- (QWebHistory::forward):
- (QWebHistory::goToItem):
- (operator>>):
- (QWebHistoryPrivate::page):
-
-2010-07-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Remove unused WEBKIT_VERSION define from qwebpage.cpp
-
- We now use qWebKitVersion()
-
- * Api/qwebpage.cpp:
-
-2010-07-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Patch for https://bugs.webkit.org/show_bug.cgi?id=41772
- Add basic piping for BackForwardControllerClient.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2010-07-07 Marc Mutz <marc.mutz@kdab.com>
-
- Reviewed by Adam Barth.
-
- [Qt] QWebSettings: Don't leak native pixmaps
-
- When Q_GLOBAL_STATIC gets around to deleting the QHash with the
- pixmaps in, the QApplication destructor has already been
- completed. This makes it impossible for ~QPixmap to return the
- native pixmap to the OS, thus leaking them.
-
- This patch adds a post routine (executed as part of ~QApplication)
- that clears the hash so Q_GLOBAL_STATIC's destruction doesn't have
- to execute ~QPixmap's anymore.
-
- https://bugs.webkit.org/show_bug.cgi?id=41657
-
- * Api/qwebsettings.cpp:
- (earlyClearGraphics): New. Clears the pixmap hash.
- (graphics): add earlyClearGraphics as a qAddPostRoutine()
-
-2010-07-06 Csaba Osztrogonác <ossy@webkit.org>
-
- Rubber-stamped by Kenneth Rohde Christiansen.
-
- Client errors should set "WebKitErrorDomain" domain instead of "WebKit" to match Mac.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::blockedError):
- (WebCore::FrameLoaderClientQt::cannotShowURLError):
- (WebCore::FrameLoaderClientQt::interruptForPolicyChangeError):
- (WebCore::FrameLoaderClientQt::cannotShowMIMETypeError):
-
-2010-07-06 Darin Adler <darin@apple.com>
-
- Fix crash caused by my fix to the Qt build.
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorFrontendClientQt::closeWindow): Release pointer into
- a local OwnPtr instead of calling clear. Another fix, probably better,
- would be to change OwnPtr::clear to zero out the pointer before deleting,
- but that affects many more call sites, so I will do that separately.
-
-2010-07-06 Darin Adler <darin@apple.com>
-
- Fix Qt build.
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorFrontendClientQt::closeWindow): Call clear instead of
- calling delete on the result of leakPtr.
-
-2010-06-19 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- WebInspector: js function name was fixed.
- dispatchMessageToFrontend -> dispatchMessageFromBackend.
- https://bugs.webkit.org/show_bug.cgi?id=40675
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::sendMessageToFrontend):
-
-2010-07-03 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Return usable property names from DRT's computedStyleIncludingVisitedInfo()
-
- Object property names such as 'background-color' need to be returned in camel
- case, i.e. backgroundColor so that JS can reference them. Add support for this
- to DumpRenderTreeSupportQt.
-
- https://bugs.webkit.org/show_bug.cgi?id=40445
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (convertToPropertyName):
- (DumpRenderTreeSupportQt::computedStyleIncludingVisitedInfo):
-
-2010-07-01 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] dump frames in ascending alphabetical order of title
-
- https://bugs.webkit.org/show_bug.cgi?id=41261
-
- Unskip:
- http/tests/navigation/metaredirect-frames.html
- http/tests/navigation/redirect302-frames.html
- http/tests/navigation/redirect302-subframeload.html
- http/tests/navigation/timerredirect-frames.html
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::getChildHistoryItems):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-07-01 Bea Lam <bea.lam@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Doc improvements for QDeclarativeWebView
-
- * declarative/qdeclarativewebview.cpp:
-
-2010-07-01 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Create QComboBoxes when clicked and destroy on hide.
- https://bugs.webkit.org/show_bug.cgi?id=41451
-
- Currently a QComboBox is created for each RenderMenuList and
- it gets destroyed either when the RenderMenuList or the
- QWebView (its Qt parent) is destroyed. This cause a crash
- when the QWebView is destroyed before the render tree (which
- is kept in cache).
-
- This patch aim to destroy the QComboBox as soon as its popup
- gets hidden, and likewise, create it only when the popup is
- requested to be shown.
- It also removes the unneeded reference to the QGraphicsProxyWidget,
- destroying the QComboBox automatically destroys its bound
- proxywidget.
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopupCombo::hidePopup):
- (WebCore::QtFallbackWebPopup::QtFallbackWebPopup):
- (WebCore::QtFallbackWebPopup::~QtFallbackWebPopup):
- (WebCore::QtFallbackWebPopup::show):
- (WebCore::QtFallbackWebPopup::hide):
- (WebCore::QtFallbackWebPopup::destroyPopup):
- (WebCore::QtFallbackWebPopup::populate):
- * WebCoreSupport/QtFallbackWebPopup.h:
-
-2010-07-01 Satish Sampath <satish@chromium.org>
-
- Reviewed by Kent Tamura.
-
- Rendering the speech button in input elements.
- https://bugs.webkit.org/show_bug.cgi?id=40984
-
- * Api/qwebsettings.cpp:
- (graphics):
- * Api/qwebsettings.h:
-
-2010-06-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Make sure we catch closed QComboBox popups.
- https://bugs.webkit.org/show_bug.cgi?id=39019
-
- The way it works currently is using the QComboBox::show/hidePopup
- virtual method to catch popup requests in the middle. There is
- some cases however that the popup widget gets closed without
- going through the hidePopup method.
-
- This patch adds an event filter to the popup's view to know when
- it gets closed and calls hidePopup to call our handling code.
- This may get hidePopup called twice but this shouldn't have any
- effect.
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopupCombo::QtFallbackWebPopupCombo):
- (WebCore::QtFallbackWebPopupCombo::eventFilter):
- * WebCoreSupport/QtFallbackWebPopup.h:
-
-2010-06-30 Simon Hausmann <simon.hausmann@nokia.com>
-
- Unreviewed Symbian build fix.
-
- [Qt] Update the def files to link DumpRenderTree.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-06-30 Samuel Nevala <samuel.nevala@digia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Auto test wont compile from \3rdparty\webkit\WebKit\qt\tests
- https://bugs.webkit.org/show_bug.cgi?id=38720
-
- Load qttest_p4.prf under QTDIR_build.
-
- * tests/tests.pri:
-
-2010-06-29 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] support dumpResourceResponseMIMETypes
- https://bugs.webkit.org/show_bug.cgi?id=41260
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::dumpResourceResponseMIMETypes):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveResponse):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-06-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed Symbian build fix.
-
- [Qt] Update the def file after r61879.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-06-28 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QGraphicsWebView crash when calling setScale() before setUrl()
- https://bugs.webkit.org/show_bug.cgi?id=40000
-
- Check 'page' before dereference in _q_scaleChanged()
- Autotest included.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::_q_scaleChanged):
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
- (tst_QGraphicsWebView::crashOnSetScaleBeforeSetUrl):
-
-2010-06-26 Simon Hausmann <hausmann@webkit.org>
-
- [Qt] Prospective build fix for MSVC
-
- In order for the forward declaration of QWebScriptWorldPrivate
- to work with QExplicitlySharedDataPointer, then copy constructor
- and assignment operators must not be compiler generated, to
- avoid them ending up in places where the private class is not
- declared.
-
- * Api/qwebscriptworld.cpp:
- (QWebScriptWorld::QWebScriptWorld):
- (QWebScriptWorld::operator=):
- * Api/qwebscriptworld.h:
-
-2010-06-26 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] DRT Support for setCustomPolicyDelegate
-
- https://bugs.webkit.org/show_bug.cgi?id=39564
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::setCustomPolicyDelegate):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (drtDescriptionSuitableForTestResult):
- (WebCore::navigationTypeToString):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-06-25 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QtWebKit crashes if <select>'s render changes in its onchange event
- https://bugs.webkit.org/show_bug.cgi?id=41164
-
- QtWebKit crashes if <select>'s renderer changes in its onchange event.
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopup::~QtFallbackWebPopup):
-
-2010-06-25 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Support evaluateScriptInIsolatedWorld()
-
- https://bugs.webkit.org/show_bug.cgi?id=40079
-
- Remove evaluateScriptInIsolatedWorld() from QtWebKit API.
- Remove QWebScriptWorld from exported headers.
- Confine support to DumpRenderTreeSupportQt so that the tests can pass.
-
- * Api/headers.pri:
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::clearScriptWorlds):
- (DumpRenderTreeSupportQt::evaluateScriptInIsolatedWorld):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-06-24 Simon Hausmann <simon.hausmann@nokia.com>
-
- Unreviewed Symbian build fix.
-
- The QML WebKit integration needs to be part of QtWebKit.sis
-
- * declarative/declarative.pro: Removed non-working deployment.
-
-2010-06-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, Symbian build fix.
-
- [Qt] Update the def file after r61478.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-06-23 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Doc: Fixed documentation errors.
-
- * docs/qtwebkit-bridge.qdoc:
-
-2010-06-23 Alessandro Portale <alessandro.portale@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Provide the Webkit Qml plugin with a UID3 on Symbian
-
- ...otherwise we cannot Symbian sign it.
-
- * declarative/declarative.pro:
-
-2010-06-23 Simon Hausmann <simon.hausmann@nokia.com>
-
- Unreviewed Qt package build fix.
-
- When building without build-webkit, set OUTPUT_DIR if necessary, like
- in the other .pro files.
-
- * declarative/declarative.pro:
-
-2010-06-22 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix compilation with QT_NO_COMBOBOX.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createSelectPopup):
-
-2010-06-21 Robert Hogan <robert@webkit.org>
-
- [Qt] Build fix for Qt on Windows MSVC2008
-
- Unreviewed, build fix.
-
- Fix by Jocelyn Turcotte.
-
- * Api/qwebframe.cpp:
-
-2010-06-21 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by nobody, build fix.
-
- [Qt] Fix MSVC build.
-
- The max macro was replacing the max function used in StringImpl.h
- when compiling moc_NotificationPresenterClientQt.cpp.
-
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
-
-2010-06-21 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, Symbian build fix.
-
- [Qt] Update the def file with recent new exports.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-06-21 Simon Hausmann <simon.hausmann@nokia.com>
-
- Unreviewed build fix.
-
- [Qt] Fix package builds
-
- Don't use rpath unless we're building inside the trunk.
-
- * declarative/declarative.pro:
-
-2010-06-20 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- The QWebHistory regression fix.
-
- After change r51629 and r61207 QWebHistory's function back(),
- forward(), goToItem() got broken.
-
- Use page->goToItem() instead of direct actions on the BackForwardList.
-
- [Qt] REGRESSION(r61207): qwebhistory unit test hangs
- https://bugs.webkit.org/show_bug.cgi?id=40672
-
- * Api/qwebhistory.cpp:
- (QWebHistory::back):
- (QWebHistory::forward):
- (QWebHistory::goToItem):
- * tests/qwebhistory/tst_qwebhistory.cpp:
- (tst_QWebHistory::init):
- (tst_QWebHistory::back):
- (tst_QWebHistory::forward):
-
-2010-06-19 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Platform plugin's multi-select does not take OptGroup into account
- https://bugs.webkit.org/show_bug.cgi?id=40718
-
- Make sure that SelectData is valid throughout the lifetime of the dialog.
- This is mostly important for the Orbt based plugin.
- Added virtual desctructors where they were missing.
-
- * Api/qwebkitplatformplugin.h:
- (QWebSelectData::~QWebSelectData):
- (QWebSelectMethod::~QWebSelectMethod):
- (QWebNotificationData::~QWebNotificationData):
- * WebCoreSupport/QtPlatformPlugin.cpp:
- (WebCore::SelectInputMethodWrapper::SelectInputMethodWrapper):
- (WebCore::SelectInputMethodWrapper::~SelectInputMethodWrapper):
- (WebCore::SelectInputMethodWrapper::show):
- * WebCoreSupport/QtPlatformPlugin.h:
- * examples/platformplugin/WebPlugin.cpp:
- * examples/platformplugin/qwebkitplatformplugin.h:
- (QWebSelectData::~QWebSelectData):
- (QWebSelectMethod::~QWebSelectMethod):
- (QWebNotificationData::~QWebNotificationData):
-
-2010-06-19 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Bridge documentation: some snippets have the wrong indentation
- https://bugs.webkit.org/show_bug.cgi?id=40717
-
- Fixed code snippets
-
- * docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:
- (wrapInFunction):
-
-2010-06-02 Robert Hogan <robert@webkit.org>
-
- Reviewed by Adam Barth.
-
- [Qt] Support evaluateScriptInIsolatedWorld()
-
- https://bugs.webkit.org/show_bug.cgi?id=40079
-
- * Api/headers.pri:
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateScriptInIsolatedWorld):
- * Api/qwebframe.h:
- * Api/qwebscriptworld.cpp: Added.
- (QWebScriptWorld::QWebScriptWorld):
- (QWebScriptWorld::world):
- (QWebScriptWorld::~QWebScriptWorld):
- * Api/qwebscriptworld.h: Added.
- * Api/qwebscriptworld_p.h: Added.
- (QWebScriptWorldPrivate::QWebScriptWorldPrivate):
- (QWebScriptWorldPrivate::~QWebScriptWorldPrivate):
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-06-19 Olivier Goffart <olivier.goffart@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Compilation in QWebPagePrivate::timerEvent with clang
- https://bugs.webkit.org/show_bug.cgi?id=40714
-
- QObject::timerEvent is protected and cannot be accessed by QWebPagePrivate
- with clang
-
- QWebPagePrivate is a friend of QWebPage and then should have access to
- all protected members of parents of QWebPage, including QObject.
- But the clang team do not want to conform to this aspect of the specification
- because "It is either a drafting error or a horrible mistake."
- See http://llvm.org/bugs/show_bug.cgi?id=6840
-
- This change is better because QWebPage does not reimplement the timerEvent
- (QWebPagePrivate::timerEvent is called from QWebPage::event)
- So customers that would reimplement their own timerEvent
- for their own timer now get a chance to catch them.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::timerEvent):
-
-2010-06-19 Mirko Damiani <mirko@develer.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Avoid truncation of zoom factor in QWebFrame's print function.
- https://bugs.webkit.org/show_bug.cgi?id=40662
-
- The zoom factor is a qreal number but its value is truncated to an
- integer. So a cast to qreal is needed to avoid this issue.
-
- * Api/qwebframe.cpp:
- (QWebFrame::print):
-
-2010-06-18 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] pass plugins/open-and-close-window-with-plugin.html on Qt
-
- Capture logDestroy messages from the test plugin. DRT's WebPage
- is already destroyed by the time they are emitted.
-
- https://bugs.webkit.org/show_bug.cgi?id=33333
-
- Unskip:
- plugins/open-and-close-window-with-plugin.html
- plugins/geturlnotify-during-document-teardown.html
-
- * Api/qwebpage.cpp:
- (QWebPage::javaScriptConsoleMessage):
-
-2010-06-18 Alexis Menard <alexis.menard@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix documentation for the declarative module import.
-
- * declarative/qdeclarativewebview.cpp:
-
-2010-06-18 Alexis Menard <alexis.menard@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix documentation issue on the onAlert handler.
- Fix compilation issue with QT_NO_ACTION.
-
- * declarative/qdeclarativewebview.cpp:
- * declarative/qdeclarativewebview_p.h:
-
-2010-06-18 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Antti Koivisto.
-
- REGRESSION(r60958) [Qt] qwebpage::inputMethods auto-test fails
- https://bugs.webkit.org/show_bug.cgi?id=40830
-
- When activating a regular input method field, always set or unset the ImhHiddenText
- input method hint.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState):
-
-2010-06-18 Alexis Menard <alexis.menard@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Change the target path to QtWebKit.
-
- * declarative/declarative.pro:
-
-2010-06-15 Dumitru Daniliuc <dumi@chromium.org>
-
- Reviewed by Adam Barth.
-
- Move isAvailable()/setIsAvailable() from Database/DatabaseSync to AbstractDatabase.
- https://bugs.webkit.org/show_bug.cgi?id=39041
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
-
-2010-06-17 Robert Hogan <robert@webkit.org>
-
- [Qt] Build fix
-
- Unreviewed.
-
- Remove includes in qdeclarativewebview*.* that rely on an installation
- of QtWebKit.
-
- * declarative/qdeclarativewebview.cpp:
- * declarative/qdeclarativewebview_p.h:
-
-2010-06-17 Robert Hogan <robert@webkit.org>
-
- Unreviewed, rolling out r61346.
- http://trac.webkit.org/changeset/61346
- https://bugs.webkit.org/show_bug.cgi?id=33333
-
- Broke inspector tests on Qt
-
- * Api/qwebpage.cpp:
- (QWebPage::javaScriptConsoleMessage):
-
-2010-06-17 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] pass plugins/open-and-close-window-with-plugin.html on Qt
-
- Capture logDestroy messages from the test plugin. DRT's WebPage
- is already destroyed by the time they are emitted.
-
- https://bugs.webkit.org/show_bug.cgi?id=33333
-
- Unskip:
- plugins/open-and-close-window-with-plugin.html
- plugins/geturlnotify-during-document-teardown.html
-
- * Api/qwebpage.cpp:
- (QWebPage::javaScriptConsoleMessage):
-
-2010-06-17 Jesus Sanchez-Palencia <jesus@webkit.org>, Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QtWebKit does not support viewport meta tag
- https://bugs.webkit.org/show_bug.cgi?id=39902
-
- Add viewport meta tag support to QtWebKit API layer.
-
- This implements didReceiveViewportArguments in our ChromeClientQt
- which is hooked up with QWebPage::viewportChangeRequested().
- This signal does not affect the current default behavior.
- The documentation of the signal explains how to make use of this new feature.
-
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
- Store information about whether the page has been laid out or not.
- * Api/qwebpage.cpp:
- (QWebPage::viewportChangeRequested):
- * Api/qwebpage_p.h:
- Added class QtViewportHintsPrivate.
- * Api/qwebpage.h:
- (QWebPage::setPreferredContentsSize):
- Improved documentation and now only layout if the page had already
- passed layout phase.
- Added class QWebPage::ViewportHints.
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::windowRect):
- Modified to work as intended by the DOM, for both QWebView
- and QGraphicsWebView.
- (WebCore::ChromeClientQt::didReceiveViewportArguments):
- Emits the signal QWebPage::viewportChangeRequested.
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidCommitLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFirstLayout):
- Update information about whether the page has been laid out or not.
- If the page has been laid out we ignore any further viewport meta data.
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PageClientQWidget::windowRect):
- (WebCore::PageClientQGraphicsWidget::windowRect):
- (WebCore::PageClientQGraphicsWidget::graphicsItemVisibleRect):
- * WebCoreSupport/PageClientQt.h:
- The PageClient is now responsible for providing the right window rect.
-
-2010-06-17 Alexis Menard <alexis.menard@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Upstream the WebKit QML integration plugin
- https://bugs.webkit.org/show_bug.cgi?id=40050
-
- Add to the Qt port the QML WebKit integration plugin.
- QDeclarativeWebView is creating the item and expose
- properties. The C++ API is not public, only the
- properties are.
-
- * declarative/declarative.pro: Added.
- * declarative/plugin.cpp: Added.
- (WebKitQmlPlugin::registerTypes):
- * declarative/qdeclarativewebview.cpp: Added.
- (QDeclarativeWebViewPrivate::QDeclarativeWebViewPrivate):
- (QDeclarativeWebViewPrivate::):
- (QDeclarativeWebViewPrivate::windowObjectsAppend):
- (GraphicsWebView::GraphicsWebView):
- (GraphicsWebView::mousePressEvent):
- (GraphicsWebView::mouseReleaseEvent):
- (GraphicsWebView::mouseDoubleClickEvent):
- (GraphicsWebView::timerEvent):
- (GraphicsWebView::mouseMoveEvent):
- (QDeclarativeWebView::QDeclarativeWebView):
- (QDeclarativeWebView::~QDeclarativeWebView):
- (QDeclarativeWebView::init):
- (QDeclarativeWebView::componentComplete):
- (QDeclarativeWebView::status):
- (QDeclarativeWebView::progress):
- (QDeclarativeWebView::doLoadStarted):
- (QDeclarativeWebView::doLoadProgress):
- (QDeclarativeWebView::pageUrlChanged):
- (QDeclarativeWebView::doLoadFinished):
- (QDeclarativeWebView::url):
- (QDeclarativeWebView::setUrl):
- (QDeclarativeWebView::preferredWidth):
- (QDeclarativeWebView::setPreferredWidth):
- (QDeclarativeWebView::preferredHeight):
- (QDeclarativeWebView::setPreferredHeight):
- (QDeclarativeWebView::evaluateJavaScript):
- (QDeclarativeWebView::updateDeclarativeWebViewSize):
- (QDeclarativeWebView::initialLayout):
- (QDeclarativeWebView::updateContentsSize):
- (QDeclarativeWebView::geometryChanged):
- (QDeclarativeWebView::javaScriptWindowObjects):
- (QDeclarativeWebView::qmlAttachedProperties):
- (QDeclarativeWebViewPrivate::updateWindowObjects):
- (QDeclarativeWebView::renderingEnabled):
- (QDeclarativeWebView::setRenderingEnabled):
- (QDeclarativeWebView::heuristicZoom):
- (QDeclarativeWebView::pressGrabTime):
- (QDeclarativeWebView::setPressGrabTime):
- (QDeclarativeWebView::backAction):
- (QDeclarativeWebView::forwardAction):
- (QDeclarativeWebView::reloadAction):
- (QDeclarativeWebView::stopAction):
- (QDeclarativeWebView::title):
- (QDeclarativeWebView::icon):
- (QDeclarativeWebView::setStatusText):
- (QDeclarativeWebView::windowObjectCleared):
- (QDeclarativeWebView::statusText):
- (QDeclarativeWebView::page):
- (QDeclarativeWebView::settingsObject):
- (QDeclarativeWebView::setPage):
- (QDeclarativeWebView::load):
- (QDeclarativeWebView::html):
- (QDeclarativeWebView::setHtml):
- (QDeclarativeWebView::setContent):
- (QDeclarativeWebView::history):
- (QDeclarativeWebView::settings):
- (QDeclarativeWebView::createWindow):
- (QDeclarativeWebView::newWindowComponent):
- (QDeclarativeWebView::setNewWindowComponent):
- (QDeclarativeWebView::newWindowParent):
- (QDeclarativeWebView::setNewWindowParent):
- (QDeclarativeWebView::contentsSize):
- (QDeclarativeWebView::contentsScale):
- (QDeclarativeWebView::setContentsScale):
- (QDeclarativeWebView::elementAreaAt):
- (QDeclarativeWebPage::QDeclarativeWebPage):
- (QDeclarativeWebPage::~QDeclarativeWebPage):
- (QDeclarativeWebPage::chooseFile):
- (QDeclarativeWebPage::javaScriptAlert):
- (QDeclarativeWebPage::javaScriptConfirm):
- (QDeclarativeWebPage::javaScriptPrompt):
- (QDeclarativeWebPage::viewItem):
- (QDeclarativeWebPage::createWindow):
- * declarative/qdeclarativewebview_p.h: Added.
- (QDeclarativeWebView::):
- (QDeclarativeWebView::isComponentCompletePublic):
- (QDeclarativeWebViewAttached::QDeclarativeWebViewAttached):
- (QDeclarativeWebViewAttached::windowObjectName):
- (QDeclarativeWebViewAttached::setWindowObjectName):
- (QDeclarativeWebSettings::QDeclarativeWebSettings):
- (QDeclarativeWebSettings::standardFontFamily):
- (QDeclarativeWebSettings::setStandardFontFamily):
- (QDeclarativeWebSettings::fixedFontFamily):
- (QDeclarativeWebSettings::setFixedFontFamily):
- (QDeclarativeWebSettings::serifFontFamily):
- (QDeclarativeWebSettings::setSerifFontFamily):
- (QDeclarativeWebSettings::sansSerifFontFamily):
- (QDeclarativeWebSettings::setSansSerifFontFamily):
- (QDeclarativeWebSettings::cursiveFontFamily):
- (QDeclarativeWebSettings::setCursiveFontFamily):
- (QDeclarativeWebSettings::fantasyFontFamily):
- (QDeclarativeWebSettings::setFantasyFontFamily):
- (QDeclarativeWebSettings::minimumFontSize):
- (QDeclarativeWebSettings::setMinimumFontSize):
- (QDeclarativeWebSettings::minimumLogicalFontSize):
- (QDeclarativeWebSettings::setMinimumLogicalFontSize):
- (QDeclarativeWebSettings::defaultFontSize):
- (QDeclarativeWebSettings::setDefaultFontSize):
- (QDeclarativeWebSettings::defaultFixedFontSize):
- (QDeclarativeWebSettings::setDefaultFixedFontSize):
- (QDeclarativeWebSettings::autoLoadImages):
- (QDeclarativeWebSettings::setAutoLoadImages):
- (QDeclarativeWebSettings::javascriptEnabled):
- (QDeclarativeWebSettings::setJavascriptEnabled):
- (QDeclarativeWebSettings::javaEnabled):
- (QDeclarativeWebSettings::setJavaEnabled):
- (QDeclarativeWebSettings::pluginsEnabled):
- (QDeclarativeWebSettings::setPluginsEnabled):
- (QDeclarativeWebSettings::privateBrowsingEnabled):
- (QDeclarativeWebSettings::setPrivateBrowsingEnabled):
- (QDeclarativeWebSettings::javascriptCanOpenWindows):
- (QDeclarativeWebSettings::setJavascriptCanOpenWindows):
- (QDeclarativeWebSettings::javascriptCanAccessClipboard):
- (QDeclarativeWebSettings::setJavascriptCanAccessClipboard):
- (QDeclarativeWebSettings::developerExtrasEnabled):
- (QDeclarativeWebSettings::setDeveloperExtrasEnabled):
- (QDeclarativeWebSettings::linksIncludedInFocusChain):
- (QDeclarativeWebSettings::setLinksIncludedInFocusChain):
- (QDeclarativeWebSettings::zoomTextOnly):
- (QDeclarativeWebSettings::setZoomTextOnly):
- (QDeclarativeWebSettings::printElementBackgrounds):
- (QDeclarativeWebSettings::setPrintElementBackgrounds):
- (QDeclarativeWebSettings::offlineStorageDatabaseEnabled):
- (QDeclarativeWebSettings::setOfflineStorageDatabaseEnabled):
- (QDeclarativeWebSettings::offlineWebApplicationCacheEnabled):
- (QDeclarativeWebSettings::setOfflineWebApplicationCacheEnabled):
- (QDeclarativeWebSettings::localStorageDatabaseEnabled):
- (QDeclarativeWebSettings::setLocalStorageDatabaseEnabled):
- (QDeclarativeWebSettings::localContentCanAccessRemoteUrls):
- (QDeclarativeWebSettings::setLocalContentCanAccessRemoteUrls):
- * declarative/qmldir: Added.
- * docs/qtwebkit.qdocconf:
-
-2010-06-17 Mark Brand <mabrand@mabrand.nl>
-
- Reviewed by Simon Hausmann.
-
- [Qt] use "win32-g++*" scope to match all MinGW makespecs
-
- The scope "win32-g++" comes from the name of the makespec. However, it
- is frequently used to check for MinGW. This works fine as long as
- win32-g++ is the only makespec for MinGW. Now we need the wildcard
- to cover "win32-g++-cross" as well.
-
- * Api/DerivedSources.pro:
-
-2010-05-28 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
-
- Reviewed by Simon Hausmann, Antti Koivisto
-
- [Qt] Add internal Qt Api to configure repaint throttling parameters.
- https://bugs.webkit.org/show_bug.cgi?id=38401
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dynamicPropertyChangeEvent):
-
-2010-06-16 Alexis Menard <alexis.menard@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix tiled backing store painting when calling QGraphicsWebView::setPage() after setResizesToContents(true)
-
- When calling setPage() after setResizesToContents, the value of the property wasn't propagated
- to the page client. Therefore the visible rect for the tiled backing store was incorrect.
-
- Simply move the variable assignment into updateResizesToContentsForPage(), which is always called.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::updateResizesToContentsForPage):
- (QGraphicsWebView::setResizesToContents):
-
-2010-06-16 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- Swap WebGL and SiteSpecificQuirks attributes in the QWebSettings
- enum, to allow for binary compatibility with qtwebkit-2.0, where
- WebGL is not in the settings but SiteSpecificQuirks will be.
-
- * Api/qwebsettings.h:
-
-2010-06-15 Darin Adler <darin@apple.com>
-
- Fix build.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::shouldClose): Call loader()->shouldClose().
-
-2010-06-15 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Rename NotificatioIconWrapper to NotificationWrapper
- https://bugs.webkit.org/show_bug.cgi?id=40571
-
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationWrapper::NotificationWrapper):
- (WebCore::NotificationWrapper::close):
- (WebCore::NotificationWrapper::title):
- (WebCore::NotificationWrapper::message):
- (WebCore::NotificationWrapper::iconData):
- (WebCore::NotificationWrapper::notificationClosed):
- (WebCore::NotificationPresenterClientQt::displayNotification):
- (WebCore::NotificationPresenterClientQt::cancel):
- (WebCore::NotificationPresenterClientQt::notificationForWrapper):
- * WebCoreSupport/NotificationPresenterClientQt.h:
- (WebCore::NotificationWrapper::~NotificationWrapper):
-
-2010-06-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, Symbian build fix.
-
- [Qt] Update the def file with recent new exports.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-06-15 Yael Aharon <yael.aharon@nokia.com>
-
- Unreviewed.
-
- Fix typo in reviewer name in r61187
-
-2010-06-15 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Simon Fraser.
-
- [Qt] Build fix for Qt minimal after r61121
- https://bugs.webkit.org/show_bug.cgi?id=40624
-
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationIconWrapper::NotificationIconWrapper):
- (WebCore::NotificationIconWrapper::close):
- (WebCore::NotificationIconWrapper::title):
- (WebCore::NotificationIconWrapper::message):
- (WebCore::NotificationIconWrapper::iconData):
- (WebCore::NotificationIconWrapper::notificationClosed):
- * WebCoreSupport/NotificationPresenterClientQt.h:
- (WebCore::NotificationIconWrapper::~NotificationIconWrapper):
-
-2010-06-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, Symbian build fix.
-
- [Qt] Update the def file with recent new exports.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-06-13 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Platform plugin support for Notifications UI
- https://bugs.webkit.org/show_bug.cgi?id=40005
-
- Add an interface to the platform plugin to display notifications.
- Implemented the notification in the example platform plugin.
- This interface is enabled by default, but could be turned off with
- a build flag. The platform plugin should control its own lifecycle,
- so now the close timer applies only when using the QSystemTrayIcon.
- That's because QSystemTrayIcon does not inform its caller when it
- is closed.
-
- Changed the way NotificationPresenterClientQt is deleted because it
- is being accessed when GC is deleting the Notification objects.
- NotificationPresenterClientQt is now detaching itself from the
- Notifications before it is deleted.
-
- * Api/qwebkitplatformplugin.h:
- (QWebNotificationPresenter::QWebNotificationPresenter):
- (QWebNotificationPresenter::~QWebNotificationPresenter):
- (QWebKitPlatformPlugin::):
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationIconWrapper::NotificationIconWrapper):
- (WebCore::NotificationIconWrapper::title):
- (WebCore::NotificationIconWrapper::message):
- (WebCore::NotificationIconWrapper::iconData):
- (WebCore::NotificationPresenterClientQt::~NotificationPresenterClientQt):
- (WebCore::NotificationIconWrapper::notificationClosed):
- (WebCore::NotificationPresenterClientQt::displayNotification):
- (WebCore::NotificationPresenterClientQt::cancel):
- (WebCore::NotificationPresenterClientQt::notificationForWrapper):
- (WebCore::NotificationPresenterClientQt::removeReplacedNotificationFromQueue):
- (WebCore::NotificationPresenterClientQt::detachNotification):
- * WebCoreSupport/NotificationPresenterClientQt.h:
- * WebCoreSupport/QtPlatformPlugin.cpp:
- (WebCore::QtPlatformPlugin::createNotificationPresenter):
- * WebCoreSupport/QtPlatformPlugin.h:
- * examples/platformplugin/WebNotificationPresenter.cpp: Added.
- (WebNotificationWidget::WebNotificationWidget):
- (WebNotificationWidget::~WebNotificationWidget):
- (WebNotificationWidget::showNotification):
- (WebNotificationWidget::event):
- * examples/platformplugin/WebNotificationPresenter.h: Added.
- (WebNotificationPresenter::WebNotificationPresenter):
- (WebNotificationPresenter::~WebNotificationPresenter):
- (WebNotificationPresenter::showNotification):
- * examples/platformplugin/WebPlugin.cpp:
- (WebPlugin::supportsExtension):
- * examples/platformplugin/WebPlugin.h:
- (WebPlugin::createNotificationPresenter):
- * examples/platformplugin/platformplugin.pro:
- * examples/platformplugin/qwebkitplatformplugin.h:
- (QWebNotificationPresenter::QWebNotificationPresenter):
- (QWebNotificationPresenter::~QWebNotificationPresenter):
- (QWebKitPlatformPlugin::):
-
-2010-06-14 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] navigator.geolocation support for Qt port
- https://bugs.webkit.org/show_bug.cgi?id=39724
-
- Implement ChromeClientQt::requestGeolocationPermissionForFrame() which delegates call to QWebPage::allowGeolocationRequest
- Layout and unit test cases for the are also added.
-
- * Api/qwebpage.cpp:
- (QWebPage::allowGeolocationRequest):
- * Api/qwebpage.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::requestGeolocationPermissionForFrame):
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::setMockGeolocationPosition):
- (DumpRenderTreeSupportQt::setMockGeolocationError):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (JSTestPage::shouldInterruptJavaScript):
- (JSTestPage::allowGeolocationRequest):
- (JSTestPage::setGeolocationPermission):
- (tst_QWebPage::geolocationRequestJS):
-
-2010-06-14 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
- data from inspected page to WebInspector as JSON string via http. The native
- serialization to JSON string is supported by InspectorValue's classes. This patch
- has the implementation of sendMessageToFrontend function. WebKit version of it still
- uses ScriptFunctionCall and will be switched to another transport a little bit later.
- https://bugs.webkit.org/show_bug.cgi?id=40134
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::InspectorClientQt):
- (WebCore::InspectorClientQt::openInspectorFrontend):
- (WebCore::InspectorClientQt::releaseFrontendPage):
- (WebCore::InspectorClientQt::sendMessageToFrontend):
- * WebCoreSupport/InspectorClientQt.h:
-
-2010-06-13 Charles Wei <charles.wei@torchmobile.com.cn>
-
- Reviewed by George Staikos.
-
- Fix the QtWebKit which doesn't recognize the MIME type of HTML/TEXT in uppercase
- https://bugs.webkit.org/show_bug.cgi?id=39492
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::canShowMIMEType):
-
-2010-06-08 Robert Hogan <robert@webkit.org>
-
- Reviewed by Eric Seidel.
-
- [Qt] Add support for callShouldCloseOnWebView() to DRT
- https://bugs.webkit.org/show_bug.cgi?id=40330
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::shouldClose):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-06-12 Dawit Alemayehu <adawit@kde.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Added an attribute to enable/disable site specific quirks mode in WebKit.
- The attribute is enabled by default.
-
- https://bugs.webkit.org/show_bug.cgi?id=40073
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h:
-
-2010-06-12 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix tst_qwebframe regression from http://trac.webkit.org/changeset/61062
-
- Only use cacheableBindingRootObject() if the object has QtOwnership.
-
- https://bugs.webkit.org/show_bug.cgi?id=40527
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
-2010-06-13 Robert Hogan <robert@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- FrameLoader::clear() clears JS objects that cached pages later rely on
-
- https://bugs.webkit.org/show_bug.cgi?id=37725
- https://bugs.webkit.org/show_bug.cgi?id=31626
-
- Fix the following tests for Qt:
-
- fast/events/pageshow-pagehide-on-back-cached.html
- fast/events/pageshow-pagehide-on-back-cached-with-frames.html
- fast/loader/input-element-page-cache-crash.html
- fast/dom/Window/timer-resume-on-navigation-back.html
- loader/go-back-to-different-window-size.html
- fast/dom/javascript-url-crash-function.html
- fast/dom/location-new-window-no-crash.html
- http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open.html
-
- which currently fail because the page's Qt-bindings runtime objects are
- cleared when navigating away from the page containing them.
-
- Track Qt-bindings objects in a separate ScriptController::cacheableRootBindingObject().
- RuntimeObjects tracked by this root object will not get invalidated on page navigations,
- so they will still be available when the pages containing them are retrieved from the
- b/f cache.
-
- This means the Qt bindings objects will only get cleared on Frame::pageDestroyed().
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
-2010-06-12 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add documentation to the QtWebkit bridge
- https://bugs.webkit.org/show_bug.cgi?id=35861
-
- The previous accepted patch was actually a faulty one; It was hard to trace since it's just a documentation
- change. The new patch amends that, with the correct snippets and grammar fixes.
-
- * docs/qtwebkit-bridge.qdoc:
- * docs/webkitsnippets/qtwebkit_bridge_snippets.cpp:
- (wrapInFunction):
-
-2010-06-12 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Back-forward list dumping is incorrect
-
- https://bugs.webkit.org/show_bug.cgi?id=36392
-
- Support dumping child history items in DRT.
-
- Unskip:
-
- fast/loader/frame-src-change-added-to-history.html
- fast/loader/frame-src-change-not-added-to-history.html
- fast/loader/frame-location-change-not-added-to-history.html
-
- * Api/qwebhistory.cpp:
- (QWebHistoryItemPrivate::core):
- * Api/qwebhistory.h:
- * Api/qwebhistory_p.h:
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::isTargetItem):
- (DumpRenderTreeSupportQt::historyItemTarget):
- (DumpRenderTreeSupportQt::getChildHistoryItems):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-06-11 Jesus Sanchez-Palencia <jesus@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Typo error in QWebPluginFactory Documentation
- https://bugs.webkit.org/show_bug.cgi?id=40490
-
- * Api/qwebpluginfactory.cpp:
-
-2010-06-11 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by nobody, build fix.
-
- [Qt] Second fix attempt for the build break introduced by r61002.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2010-06-11 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by nobody, build fix.
-
- [Qt] Fix build break introduced by r61002.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2010-05-31 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Implement the simple text code path.
- https://bugs.webkit.org/show_bug.cgi?id=40077
-
- Remove the FONT_FAST_PATH macro and use the Qt's
- fast text implementation instead of the one of WebKit.
-
- The Qt::TextBypassShaping flag is used to tell Qt to
- only use the glyph advances.
-
- Qt 4.7 is needed to get this flag thus the complex path is always
- used if QtWebKit is compiled against an earlier version.
-
- Contrary to the WebKit's implementation, the complex code path
- is taken if the text is RightToLeft, justified or is formatted
- with non-zero letter or word spacing.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2010-06-10 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Support for loading notification icons
- https://bugs.webkit.org/show_bug.cgi?id=40004
-
- Take into use the icon that was loaded for the notification.
-
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationPresenterClientQt::show):
-
-2010-06-10 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Memory leak in qwebpage unit test cases
- https://bugs.webkit.org/show_bug.cgi?id=40405
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::infiniteLoopJS):
-
-2010-06-10 Raine Makelainen <raine.makelainen@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Impossible to set input method hints based HTML5 input types
- https://bugs.webkit.org/show_bug.cgi?id=40107
-
- EditorClientQt to set input method hints for "number", "tel",
- "email", and "url" HTML input elements.
-
- Tests for HTML input elements and input method hints added for
- QGraphicsWebView and QWebView.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState):
- * tests/qgraphicswebview/resources/input_types.html: Added.
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
- (GraphicsWebView::GraphicsWebView):
- (GraphicsWebView::fireMouseClick):
- (tst_QGraphicsWebView::focusInputTypes):
- * tests/qgraphicswebview/tst_qgraphicswebview.qrc: Added.
- * tests/qwebview/resources/input_types.html: Added.
- * tests/qwebview/tst_qwebview.cpp:
- (WebView::fireMouseClick):
- (tst_QWebView::focusInputTypes):
- * tests/qwebview/tst_qwebview.qrc:
-
-2010-06-10 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Barth.
-
- Reduce FrameView.h includes to speed up build times
- https://bugs.webkit.org/show_bug.cgi?id=40408
-
- * Api/qwebframe.cpp:
- - Include RenderLayer.h since it's used in this file.
-
-2010-06-10 Andy Shaw <andy.shaw@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- REGRESSION: [Qt] When dragging onto a page that handles the drag in Javascript it will be a move and not a copy by default
- https://bugs.webkit.org/show_bug.cgi?id=40401
-
- The correct pattern in Qt for Dnd events is to use acceptProposedAction() instead
- of accept().
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dragEnterEvent):
- (QWebPagePrivate::dragMoveEvent):
- (QWebPagePrivate::dropEvent):
-
-2010-06-09 Pierre Rossi <pierre.rossi@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- QWebPage::findText() does not clear selection when passed empty string
- https://bugs.webkit.org/show_bug.cgi?id=31779
-
- * Api/qwebpage.cpp:
- (QWebPage::findText):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::findText):
-
-2010-06-09 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by David Levin.
-
- [Qt] PageClientQt.h has coding-style errors
- https://bugs.webkit.org/show_bug.cgi?id=40257
-
- * WebCoreSupport/PageClientQt.h:
-
-2010-06-09 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by David Levin.
-
- [Qt] InspectorClientQt.cpp has coding-style errors
- https://bugs.webkit.org/show_bug.cgi?id=40255
-
- * WebCoreSupport/InspectorClientQt.cpp:
-
-2010-06-09 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by David Levin.
-
- [Qt] FrameLoaderClientQt.h has coding-style errors
- https://bugs.webkit.org/show_bug.cgi?id=40251
-
- * WebCoreSupport/FrameLoaderClientQt.h:
- (WebCore::FrameLoaderClientQt::dispatchWillSendSubmitEvent):
-
-2010-06-09 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] EditorClientQt.h has coding-style errors
- https://bugs.webkit.org/show_bug.cgi?id=40249
-
- * WebCoreSupport/EditorClientQt.h:
-
-2010-06-09 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by David Levin.
-
- [Qt] EditCommandQt.cpp/h have coding-style errors
- https://bugs.webkit.org/show_bug.cgi?id=40248
-
- * WebCoreSupport/EditCommandQt.cpp:
- (EditCommandQt::EditCommandQt):
- (EditCommandQt::~EditCommandQt):
- (EditCommandQt::redo):
- (EditCommandQt::undo):
- * WebCoreSupport/EditCommandQt.h:
-
-2010-06-09 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by David Levin.
-
- [Qt] DumpRenderTreeSupportQt.cpp has coding-style errors
- https://bugs.webkit.org/show_bug.cgi?id=40247
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::firstRectForCharacterRange):
-
-2010-06-09 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by David Levin.
-
- [Qt] DragClientQt.cpp has coding-style errors
- https://bugs.webkit.org/show_bug.cgi?id=40246
-
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::DragClientQt::startDrag):
-
-2010-06-09 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] ContextMenuClientQt.h has coding-style errors
- https://bugs.webkit.org/show_bug.cgi?id=40242
-
- * WebCoreSupport/ContextMenuClientQt.h:
-
-2010-06-09 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by David Levin.
-
- [Qt] ChromeClientQt.cpp has coding-style errors
- https://bugs.webkit.org/show_bug.cgi?id=40240
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::pageRect):
- (WebCore::ChromeClientQt::createWindow):
- (WebCore::ChromeClientQt::runJavaScriptAlert):
- (WebCore::ChromeClientQt::runJavaScriptConfirm):
- (WebCore::ChromeClientQt::runJavaScriptPrompt):
- (WebCore::ChromeClientQt::print):
- (WebCore::ChromeClientQt::attachRootGraphicsLayer):
- (WebCore::ChromeClientQt::visibleRectForTiledBackingStore):
-
-2010-06-09 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r60889.
- http://trac.webkit.org/changeset/60889
- https://bugs.webkit.org/show_bug.cgi?id=40365
-
- gtk bot has some kind of memory corruption (Requested by
- loislo on #webkit).
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::InspectorClientQt):
- (WebCore::InspectorClientQt::openInspectorFrontend):
- (WebCore::InspectorFrontendClientQt::InspectorFrontendClientQt):
- (WebCore::InspectorFrontendClientQt::closeWindow):
- * WebCoreSupport/InspectorClientQt.h:
-
-2010-06-07 Ilya Tikhonovsky <loislo@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- WebInspector: On the way to Remote Debugging we want to transfer dom/timeline/etc
- data from inspected page to WebInspector as JSON string via http. The native
- serialization to JSON string is supported by InspectorValue's classes. This patch
- has the implementation of sendMessageToFrontend function. WebKit version of it still
- uses ScriptFunctionCall and will be switched to another transport a little bit later.
- https://bugs.webkit.org/show_bug.cgi?id=40134
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::InspectorClientQt):
- (WebCore::InspectorClientQt::openInspectorFrontend):
- (WebCore::InspectorClientQt::releaseFrontendPage):
- (WebCore::InspectorClientQt::sendMessageToFrontend):
- * WebCoreSupport/InspectorClientQt.h:
-
-2010-06-08 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Ojan Vafai and Darin Adler.
-
- Refactor platform dependent editing behavior code out of Settings
- https://bugs.webkit.org/show_bug.cgi?id=39854
-
- EditingBehavior enum was renamed to EditingBehaviorTypes and moved out from Settings.h to
- EditingBehaviorTypes.h . Call sites in WebKit/ adjusted accordingly.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::setEditingBehavior):
-
-2010-06-07 Anders Bakken <agbakken@gmail.com>
-
- Reviewed by David Levin.
-
- [Qt] NotificationPresenterClientQt.cpp has coding-style errors
- https://bugs.webkit.org/show_bug.cgi?id=40256
-
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationPresenterClientQt::show):
-
-2010-06-06 Antonio Gomes <tonikitoo@webkit.org>, Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Christiansen, Eric Seidel.
-
- [Qt] Expose the editing behavior setting in DRT to test all editing code paths
- https://bugs.webkit.org/show_bug.cgi?id=39680
-
- Make setEditingBehavior() a no-operation if the editingBehavior
- argument is not recognized to avoid using an uninitialized variable.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::setEditingBehavior):
-
-2010-06-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Symbian build fix.
-
- [Qt] Updated the def file with recent new exports.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-06-03 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Don't send notifications event after the page was navigated away
- https://bugs.webkit.org/show_bug.cgi?id=40127
-
- Added a check before sending events to the notification and before logging.
-
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationPresenterClientQt::cancel):
- (WebCore::NotificationPresenterClientQt::sendEvent):
-
-2010-06-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Shinichiro Hamaji.
-
- [Qt] Fix compilation with QT_NO_PROPERTIES
- https://bugs.webkit.org/show_bug.cgi?id=38324
-
- * Api/qwebpage.cpp:
- (QWebPage::event):
- * Api/qwebpage_p.h:
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::openInspectorFrontend):
-
-2010-06-02 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Shared platform plugin
- https://bugs.webkit.org/show_bug.cgi?id=39968
-
- Allow several instances of class QtPlatformPlugin to share the QWebKitPlatformPlugin
- object provided by a plugin.
-
- Updated plugin interface version number due to ABI breaking change.
-
- * Api/qwebkitplatformplugin.h:
- (QWebKitPlatformPlugin::~QWebKitPlatformPlugin):
- * WebCoreSupport/QtPlatformPlugin.cpp:
- (WebCore::QtPlatformPlugin::load):
- (WebCore::QtPlatformPlugin::~QtPlatformPlugin):
- (WebCore::QtPlatformPlugin::plugin):
- * WebCoreSupport/QtPlatformPlugin.h:
- * examples/platformplugin/qwebkitplatformplugin.h:
- (QWebKitPlatformPlugin::~QWebKitPlatformPlugin):
-
-2010-06-02 Raine Makelainen <raine.makelainen@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] On Maemo6 platform auto upper case and predictive text input method hints are not disabled for password field.
- https://bugs.webkit.org/show_bug.cgi?id=40062
-
- Introducing Q_WS_MAEMO_6 for Maemo6 specific code. Enabling code that sets input
- method hints Qt::ImhNoAutoUppercase and Qt::ImhNoPredictiveText true for Maemo6.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState):
-
-2010-06-01 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix the lifecycle of notification objects
- https://bugs.webkit.org/show_bug.cgi?id=40003
-
- Notification objects are not tightly related to the page that created them,
- and should be decoupled from the page.
- Create one NotificationPresenter that handles all notifications.
- Add ref/deref to the notification objects when they are added/removed from
- the queue of active notifications. The same technique is used for XMLHttpRequest.
- Instead of deleting all notifications associated with a page when the page is navigated,
- delete them on a timer, using the same timeout that QSystemTrayIcon is using.
- Break up the show() method into smaller methods.
- Use OwnPtr instead of raw pointer for QSystemTrayIcon.
- Move creating the QIcon to just before showing it in the QSyetemTrayIcon.
-
- No new tests as this is just a refactoring. Existing notifications test cover the code.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::~QWebPagePrivate):
- * Api/qwebpage_p.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::notificationPresenter):
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::setNotificationsReceiver):
- (DumpRenderTreeSupportQt::allowNotificationForOrigin):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidClearWindowObjectInWorld):
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (WebCore::NotificationPresenterClientQt::notificationPresenter):
- (WebCore::NotificationIconWrapper::NotificationIconWrapper):
- (WebCore::NotificationIconWrapper::~NotificationIconWrapper):
- (WebCore::NotificationIconWrapper::close):
- (WebCore::NotificationPresenterClientQt::NotificationPresenterClientQt):
- (WebCore::NotificationPresenterClientQt::removeClient):
- (WebCore::NotificationPresenterClientQt::show):
- (WebCore::NotificationPresenterClientQt::displayNotification):
- (WebCore::NotificationPresenterClientQt::cancel):
- (WebCore::NotificationPresenterClientQt::notificationObjectDestroyed):
- (WebCore::NotificationPresenterClientQt::requestPermission):
- (WebCore::NotificationPresenterClientQt::sendEvent):
- (WebCore::NotificationPresenterClientQt::removeReplacedNotificationFromQueue):
- (WebCore::NotificationPresenterClientQt::dumpReplacedIdText):
- (WebCore::NotificationPresenterClientQt::dumpShowText):
- * WebCoreSupport/NotificationPresenterClientQt.h:
- (WebCore::NotificationPresenterClientQt::addClient):
-
-2010-06-01 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add documentation to the QtWebkit bridge
- https://bugs.webkit.org/show_bug.cgi?id=35861
-
- This patch includes comprehensive qdoc documentation for the QtWebkit bridge.
-
- * docs/qtwebkit-bridge.qdoc: Added.
- * docs/qtwebkit.qdoc:
- * docs/webkitsnippets/doc_src_qtscript.qdoc: Added.
- * docs/webkitsnippets/qtwebkit_bridge_snippets.cpp: Added.
- (wrapInFunction):
-
-2010-06-01 Raine Makelainen <raine.makelainen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt]: REGRESSION(r58703): QWebSettings::JavascriptCanAccessClipboard has wrong case in "Javascript" part.
- https://bugs.webkit.org/show_bug.cgi?id=39878
-
- QWebSettings::JavaScriptCanAccessClipboard reverted back to
- QWebSettings::JavascriptCanAccessClipboard. QWebSettings::DOMPasteAllowed enum removed.
-
- Value of QWebSettings::JavascriptCanAccessClipboard to setDOMPasteAllowed and
- setJavaScriptCanAccessClipboard of WebCore::Settings.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- * Api/qwebsettings.h:
-
-2010-06-01 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Rename versioning .pri file to what Qt's mkspecs/features/qt.pri expects.
-
- * qt_webkit_version.pri: Renamed from WebKit/qt/qtwebkit_version.pri.
-
-2010-05-31 Lyon Chen <liachen@rim.com>
-
- Reviewed by Kent Tamura.
-
- Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
- https://bugs.webkit.org/show_bug.cgi?id=35530
-
- Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2010-05-31 Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Escape backslashes in the .pro files
-
- qmake in Qt 4.7 warns about unescaped backspaces and deprecates them.
-
- * Api/DerivedSources.pro:
- * docs/docs.pri:
-
-2010-05-30 Lyon Chen <liachen@rim.com>
-
- Reviewed by Kent Tamura.
-
- This is a coding style cleanup before fixing to bug 35530.
-
- Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
- https://bugs.webkit.org/show_bug.cgi?id=35530
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::registerCommandForUndo):
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2010-05-29 Dawit Alemayehu <adawit@kde.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Added a WebAction to stop all pending page refresh/redirect
- requests set through the <meta http-equiv="refresh"...> tag.
-
- https://bugs.webkit.org/show_bug.cgi?id=29899
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
- * Api/qwebpage.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::testStopScheduledPageRefresh):
-
-2010-05-28 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add a missing #if ENABLE(), some null checking.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dynamicPropertyChangeEvent):
-
-2010-05-28 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=39874
- [Qt] Make tiled backing store more configurable
-
- Make tile size, tile creation delay and tiling area dynamically configurable.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dynamicPropertyChangeEvent):
-
-2010-05-28 Yael Aharon <yael.aharon@nokia.com>
-
- Unreviewed build fix after r60348.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::setNotificationsReceiver):
-
-2010-05-28 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Pass all web notification layout tests
- https://bugs.webkit.org/show_bug.cgi?id=39146
-
- Add support for multiple simultaneous notifications.
- Add a private callback mechanism to the client for security checks.
- Notifications are disabled if the client does not set the callbacks.
- Support replaceId and cancel.
- Send close and display events when needed.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::setNotificationsReceiver):
- (DumpRenderTreeSupportQt::allowNotificationForOrigin):
- (DumpRenderTreeSupportQt::setCheckPermissionFunction):
- (DumpRenderTreeSupportQt::setRequestPermissionFunction):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidClearWindowObjectInWorld):
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (NotificationIconWrapper::NotificationIconWrapper):
- (NotificationIconWrapper::~NotificationIconWrapper):
- (NotificationPresenterClientQt::NotificationPresenterClientQt):
- (NotificationPresenterClientQt::show):
- (NotificationPresenterClientQt::cancel):
- (NotificationPresenterClientQt::notificationObjectDestroyed):
- (NotificationPresenterClientQt::requestPermission):
- (NotificationPresenterClientQt::checkPermission):
- (NotificationPresenterClientQt::allowNotificationForOrigin):
- (NotificationPresenterClientQt::clearNotificationsList):
- (NotificationPresenterClientQt::sendEvent):
- * WebCoreSupport/NotificationPresenterClientQt.h:
- (WebCore::NotificationPresenterClientQt::~NotificationPresenterClientQt):
- (WebCore::NotificationPresenterClientQt::setReceiver):
-
-2010-05-27 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Platform plugin example
- https://bugs.webkit.org/show_bug.cgi?id=39489
-
- Adding a Qt platform plugin example to repository.
-
- * examples/platformplugin/README: Added.
- * examples/platformplugin/WebPlugin.cpp: Added.
- (Popup::populateList):
- (Popup::onItemSelected):
- (WebPopup::WebPopup):
- (WebPopup::~WebPopup):
- (WebPopup::createSingleSelectionPopup):
- (WebPopup::createMultipleSelectionPopup):
- (WebPopup::createPopup):
- (WebPopup::show):
- (WebPopup::hide):
- (WebPopup::popupClosed):
- (WebPopup::itemClicked):
- (SingleSelectionPopup::SingleSelectionPopup):
- (MultipleItemListDelegate::MultipleItemListDelegate):
- (MultipleItemListDelegate::paint):
- (MultipleSelectionPopup::MultipleSelectionPopup):
- (WebPlugin::supportsExtension):
- * examples/platformplugin/WebPlugin.h: Added.
- (Popup::Popup):
- (WebPlugin::createSelectInputMethod):
- * examples/platformplugin/platformplugin.pro: Added.
- * examples/platformplugin/qwebkitplatformplugin.h: Copied from WebKit/qt/Api/qwebkitplatformplugin.h.
- (QWebSelectData::~QWebSelectData):
- (QWebSelectData::):
- (QWebSelectMethod::~QWebSelectMethod):
- (QWebKitPlatformPlugin::~QWebKitPlatformPlugin):
- (QWebKitPlatformPlugin::):
-
-2010-05-25 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Ojan Vafai.
-
- [Qt] Expose the editing behavior setting in DRT to test all editing code paths
- https://bugs.webkit.org/show_bug.cgi?id=39680
-
- Add support to Qt's DRT to setting the editing behavior. Patch is a follow up of
- bug 38603, which just stubbed out the Qt bits of it.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp: Implementation of editing behavior control.
- (DumpRenderTreeSupportQt::setEditingBehavior):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-05-24 Robert Hogan <robert@webkit.org>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] DRT Support for removeOriginAccessWhitelistEntry
-
- Unskips http/tests/xmlhttprequest/origin-whitelisting-removal.html
-
- [Qt] DRT Support for removeOriginAccessWhitelistEntry
- https://bugs.webkit.org/show_bug.cgi?id=39565
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::removeWhiteListAccessFromOrigin):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-05-24 Darin Adler <darin@apple.com>
-
- Reviewed by Eric Seidel.
-
- Move view-related functions from Frame to FrameView
- https://bugs.webkit.org/show_bug.cgi?id=39366
-
- * Api/qwebframe.cpp:
- (QWebFrame::setTextSizeMultiplier): Call functions on FrameView.
- (QWebFrame::textSizeMultiplier): Ditto.
- (QWebFrame::setZoomFactor): Ditto.
- (QWebFrame::zoomFactor): Ditto.
- * Api/qwebpage.cpp:
- (QWebPage::setContentEditable): Removed call to empty function,
- removeEditingStyleFromBodyElement.
-
-2010-05-23 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] GraphicsLayer: The rocket animation doesn't scroll together with the page
- https://bugs.webkit.org/show_bug.cgi?id=39517
-
- A previous fix to this issue was overridden by the PageClientQt refactor. Reapplying.
-
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PageClientQGraphicsWidget::update):
-
-2010-05-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Update the Symbian version for the user agent
- https://bugs.webkit.org/show_bug.cgi?id=38389
-
- Fixes a regression introduced by r58648. Ensure that the "Symbian" string
- is only listed one time in the User Agent string.
-
- In addition make an effort to align the User Agent string to already
- released WebKit based products for Symbian.
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
-
-2010-05-21 Steve Block <steveblock@google.com>
-
- Reviewed by Jeremy Orlow.
-
- Add DeviceOrientation and DeviceOrientationClient
- https://bugs.webkit.org/show_bug.cgi?id=39479
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2010-05-21 Simon Hausmann <simon.hausmann@nokia.com>
-
- Symbian build fix.
-
- [Qt] Updated the wins def file with one new export.
-
- The DRT symbols are still missing, but I can't build DRT ;(
-
- * symbian/bwins/QtWebKitu.def:
-
-2010-05-20 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] WINSCW compile fix for qwebframe test
- https://bugs.webkit.org/show_bug.cgi?id=38722
-
- WINSCW cannot determine template type up the hierarchy
- to common base class.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-05-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Remove unused "old style" private APIs
-
- These symbols were introduced after QtWebKit v4.6
- so no-one should be using them
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
-
-2010-05-20 Rajiv Ramanasankaran <rajiv.ramanasankaran@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QWebPage::inputMethodQuery() returns wrong values for Qt::ImCursorPosition, Qt::ImAnchorPosition
- https://bugs.webkit.org/show_bug.cgi?id=38779
-
- The earlier implementation was written with the assumption that in this scenario the
- anchor position always corresponds to the START index and that the current cursor position
- always corresponds to the END index in WebKit.
-
- Updated the implementation of QWebPage::inputMethodQuery(Qt::ImCursorPosition) and
- QWebPage::inputMethodQuery(Qt::ImAnchorPosition) for the case where the Editor is not in
- composition mode. In the non-composition mode, the Anchor and the Current cursor positions
- correspond to the Base and Extent position offsets in WebKit.
-
- Also added the auto-tests for the RIGHT to LEFT and LEFT to RIGHT selections.
-
- * Api/qwebpage.cpp:
- (QWebPage::inputMethodQuery): Now returning correct values for Qt::ImCursorPosition and
- Qt::ImAnchorPosition when the Editor is not in composition mode.
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods): Added auto-tests for RIGHT to LEFT and LEFT to RIGHT selections
-
-2010-05-20 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Skipping popup focus test for maemo
- https://bugs.webkit.org/show_bug.cgi?id=39314
-
- Skipping popup focus test for maemo in qwebframe auto test.
-
- The test method tst_QWebFrame::popupFocus() was testing popup focus AND input
- field focus. The input field focus has been removed from the method popupFocus()
- and a new test method named inputFieldFocus() has been added. Finally the test
- method popupFocus() has been skipped for maemo.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-05-19 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Crash fix in the HistoryController.
-
- The problem was casued by a documented feature of the QWebFrame::setHtml().
- The method doesn't affect a browsing history (doesn't create a HistoryItem instance), so
- m_currentItem and m_previousItem are not set.
-
- A null check was added.
-
- [Qt] The QWebPage crashes on history.pushState().
- https://bugs.webkit.org/show_bug.cgi?id=38840
-
- * tests/qwebhistory/tst_qwebhistory.cpp:
- (tst_QWebHistory::popPushState_data):
- (tst_QWebHistory::popPushState):
-
-2010-05-19 Antti Koivisto <koivisto@iki.fi>
-
- Rubber-stamped by Kenneth Rohde Christiansen.
-
- [Qt] TiledBackingStore updates broken when not using resizesToContents mode
- https://bugs.webkit.org/show_bug.cgi?id=39359
-
- Put the back logic that was lost in refactoring.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::visibleRectForTiledBackingStore):
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PageClientQGraphicsWidget::graphicsItemVisibleRect):
- * WebCoreSupport/PageClientQt.h:
- (WebCore::PageClientQWidget::viewResizesToContentsEnabled):
- (WebCore::PageClientQGraphicsWidget::viewResizesToContentsEnabled):
-
-2010-05-19 Simon Hausmann <simon.hausmann@nokia.com>
-
- Symbian build fix.
-
- [Qt] Updated the def file with exports needed for DumpRenderTree.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-05-19 Denis Dzyubenko <denis.dzyubenko@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- When creating the UA, do not sassmue the language code is a
- two-letter iso639-1 code.
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
-
-2010-05-18 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Move visible rect calculation from QGraphicsWebViewPrivate to PageClientQGraphicsWidget
- https://bugs.webkit.org/show_bug.cgi?id=39294
-
- * Api/qgraphicswebview.cpp:
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PageClientQGraphicsWidget::graphicsItemVisibleRect):
- * WebCoreSupport/PageClientQt.h:
-
-2010-05-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Symbian build fix.
-
- [Qt] Updated the def file with new exports after r59335.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-05-18 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix QWebHistory serialization.
-
- Regression was caused by bug 33224. The streaming function
- should generate a documentSequenceNumber for all loaded values.
-
- [Qt] tst_QWebHistory::serialize_2() fails
- https://bugs.webkit.org/show_bug.cgi?id=37322
-
- * Api/qwebhistory.cpp:
- (operator>>):
-
-2010-05-17 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix compilation with QT_NO_COMBOBOX
- https://bugs.webkit.org/show_bug.cgi?id=38324
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createSelectPopup):
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- * WebCoreSupport/QtFallbackWebPopup.h:
-
-2010-05-17 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=39218
- [Qt] Tiled backing store tiles sometimes flicker when exiting a zoom animation
-
- Tiles sometimes flicker when exiting a zoom animation. This happens as a result
- of the visible rectangle being momentarily out of sync.
-
- Instead of updating the visible rect by explicitly setting it, pull it through
- the client and recompute in WebKit the level.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::paint):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::visibleRectForTiledBackingStore):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-05-16 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Unskip fast/loader/main-document-url-for-non-http-loads.html
-
- Fix FrameLoaderClientQt.cpp to print relative filename paths correctly.
-
- Move qt_* functions in FrameLoaderClientQt, EditorClientQt, and NotificationPresenterClientQt
- to DumpRenderTreeSupportQt. Create new functions to replace them in DumpRenderTreeSupportQt.
- Support for the old function names is retained until confirmed that no one uses them outside
- QtWebKit.
-
- https://bugs.webkit.org/show_bug.cgi?id=38867
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::dumpFrameLoader):
- (DumpRenderTreeSupportQt::dumpResourceLoadCallbacks):
- (DumpRenderTreeSupportQt::dumpResourceLoadCallbacksPath):
- (DumpRenderTreeSupportQt::setWillSendRequestReturnsNullOnRedirect):
- (DumpRenderTreeSupportQt::setWillSendRequestReturnsNull):
- (DumpRenderTreeSupportQt::setWillSendRequestClearHeaders):
- (DumpRenderTreeSupportQt::dumpEditingCallbacks):
- (DumpRenderTreeSupportQt::dumpSetAcceptsEditing):
- (DumpRenderTreeSupportQt::dumpNotification):
- (qt_dump_frame_loader):
- (qt_dump_resource_load_callbacks):
- (qt_dump_resource_load_callbacks_path):
- (qt_set_will_send_request_returns_null_on_redirect):
- (qt_set_will_send_request_returns_null):
- (qt_set_will_send_request_clear_headers):
- (qt_dump_editing_callbacks):
- (qt_dump_set_accepts_editing):
- (qt_dump_notification):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * WebCoreSupport/EditorClientQt.cpp:
- * WebCoreSupport/EditorClientQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (drtDescriptionSuitableForTestResult):
- * WebCoreSupport/FrameLoaderClientQt.h:
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- * WebCoreSupport/NotificationPresenterClientQt.h:
-
-2010-05-16 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt]Unskip security/set-form-autocomplete-attribute.html
-
- Add support for layoutTestController.elementDoesAutoCompleteForElementWithId().
-
- https://bugs.webkit.org/show_bug.cgi?id=38859
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::elementDoesAutoCompleteForElementWithId):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-05-16 Simon Hausmann <simon.hausmann@nokia.com>
-
- [Qt] Prospective Qt/Mac build fix.
-
- The friend declaration of QGraphicsWidget confuses gcc and thinks that it's an implicit
- forward declaration, moving the class into the WebCore namespace (WebCore::QGraphicsWidget).
-
- The declaration seems useless as no method of QGraphicsWidget is going to call anything
- in this class.
-
- * WebCoreSupport/PageClientQt.h:
-
-2010-05-15 Charles Wei <charles.wei@torchmobile.com.cn>
-
- Reviewed by Simon Hausmann.
-
- This patch fixes the build failure of WebKit on Linux for Qt4.5
- https://bugs.webkig.org/show_bug.cgi?id=39108
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::syncLayers):
- * WebCoreSupport/QtPlatformPlugin.cpp:
-
-2010-05-14 Kent Hansen <kent.hansen@nokia.com>, Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Tor Arne Vestbø <tor.arne.vestbo@nokia.com>, Henry Haverinen <henry.haverinen@nokia.com>, Jedrzej Nowacki <jedrzej.nowacki@nokia.com>, Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Merge overhaul of the QtWebKit API documentation
-
- Numerous improvements in wording, qdoc warning fixes and
- clarifications, done in a team work effort.
-
- No functional changes.
-
- * Api/qwebdatabase.cpp:
- * Api/qwebelement.cpp:
- * Api/qwebframe.cpp:
- * Api/qwebhistoryinterface.cpp:
- * Api/qwebinspector.cpp:
- * Api/qwebkitversion.cpp:
- * Api/qwebpage.cpp:
- * Api/qwebpluginfactory.cpp:
- * Api/qwebsecurityorigin.cpp:
- * Api/qwebsettings.cpp:
- * Api/qwebsettings.h:
- * docs/qtwebkit.qdoc:
- * docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp:
- (wrapInFunction):
- * docs/webkitsnippets/webelement/main.cpp:
- (findButtonAndClick):
- (autocomplete1):
- (autocomplete2):
- (main):
-
-2010-05-14 Martin Smith <msmith@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Documentation: Fix overview grouping.
-
- * docs/qtwebkit.qdoc:
-
-2010-05-14 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [QT] Update the Symbian version for the user agent
- https://bugs.webkit.org/show_bug.cgi?id=38389
-
- Update the user agent for Symbian^2 to Symbian^4
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
-
-2010-05-14 Dawit Alemayehu <adawit@kde.org>
-
- Reviewed by Simon Hausmann.
-
- Implemented createJavaAppletWidget to activate Java applet support.
-
- https://bugs.webkit.org/show_bug.cgi?id=33044
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createJavaAppletWidget):
-
-2010-05-13 Simon Hausmann <hausmann@webkit.org>
-
- Symbian build fix.
-
- [Qt] Updated the def file with new exports.
-
- * symbian/eabi/QtWebKitu.def: Add missing gc symbol for QtLauncher
-
-2010-05-13 Simon Hausmann <simon.hausmann@nokia.com>
-
- Symbian build fix.
-
- [Qt] Updated the def file with new exports.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-05-11 Diego Gonzalez <diegohcg@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] tst_QWebPage::inputMethods failing on Maemo5
- https://bugs.webkit.org/show_bug.cgi?id=38685
-
- Check if the SIP (Software Input Panel) is triggered, which normally
- happens on mobile platforms, when a user input form receives a mouse click.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2010-05-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] REGRESSION(r58497) tst_QGraphicsWebView::crashOnViewlessWebPages() is failing
- https://bugs.webkit.org/show_bug.cgi?id=38655
-
- Fix double free by moving the connect till after the resize.
-
- The bug is causes by the fact that a resize of an empty page causes a
- layout, thus deleting the qgraphicswebview before setHtml is called,
- which then deletes it again, causing a double free.
-
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
- (tst_QGraphicsWebView::crashOnViewlessWebPages):
-
-2010-05-12 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Regression(r59152): QGraphicsPageClient is not forwarding scroll and update events to view
- https://bugs.webkit.org/show_bug.cgi?id=39016
-
- Some forward calls got lost during the refatory.
-
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PageClientQGraphicsWidget::scroll):
- (WebCore::PageClientQGraphicsWidget::update):
-
-2010-05-13 Antonio Gomes <tonikitoo@webkit.org>, Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] Add LayoutTestController interface: computedStyleIncludingVisitedInfo
- https://bugs.webkit.org/show_bug.cgi?id=37759
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::markerTextForListItem):
- (DumpRenderTreeSupportQt::computedStyleIncludingVisitedInfo):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-05-12 Joe Ligman <joseph.ligman@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Nested overflow div does not scroll
- https://bugs.webkit.org/show_bug.cgi?id=38641
-
- Modify qtwebkit_webframe_scrollOverflow, if the current node's render layer
- does not scroll it will try and scroll the parent's render layer. Also export
- qtwebkit_webframe_scrollOverflow so we can use it independently of
- qtwebkit_webframe_scrollRecursively
-
- * Api/qwebframe.cpp:
- (qtwebkit_webframe_scrollOverflow):
- (qtwebkit_webframe_scrollRecursively):
-
-2010-05-12 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] Remove the unneeded check for QWidgetPageClient @QGraphicsWebView::detachCurrentPage
- https://bugs.webkit.org/show_bug.cgi?id=38989
-
- Reasons:
- - There is no need to check for a QWidgetPageClient-based in QGraphicsWebView.
- - The client has always to be deleted anyways.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::detachPage):
-
-2010-05-12 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- Add a comment to explain the web inspector dynamic property url hook
- and that it's there on purpose :)
-
- https://bugs.webkit.org/show_bug.cgi?id=35340
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::openInspectorFrontend):
-
-2010-05-11 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] Implement a detachCurrentPage method for QGraphicsWebView and QWebView
- https://bugs.webkit.org/show_bug.cgi?id=38939
-
- unsetPageIfExists method was renamed to detachCurrentPage method and is now responsible
- for doing all the unset logic of page and pageClient references previously done by
- the Q{Graphics}WebView destructor(s).
-
- It is a code clean up, no behaviour change.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate):
- (QGraphicsWebView::~QGraphicsWebView):
- (QGraphicsWebViewPrivate::detachCurrentPage):
- (QGraphicsWebView::setPage):
- * Api/qwebview.cpp:
- (QWebViewPrivate::~QWebViewPrivate):
- (QWebView::~QWebView):
- (QWebViewPrivate::detachCurrentPage):
- (QWebView::setPage):
-
-2010-05-11 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] emit initialLayoutCompleted signal from FrameLoaderClientQt::dispatchDidFirstVisuallyNonEmptyLayout
- https://bugs.webkit.org/show_bug.cgi?id=38921
-
- Emit initialLayoutCompleted signal from FrameLoaderClientQt::dispatchDidFirstVisuallyNonEmptyLayout
- instead of FrameLoaderClientQt::dispatchDidFirstLayout , because the former ensures that a
- visual content layed out on the frame.
-
- It matches to QWebFrame::initialLayoutCompleted signal documentation at:
-
- "... This is the first time you will see contents displayed on the frame ..."
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidFirstLayout):
- (WebCore::FrameLoaderClientQt::dispatchDidFirstVisuallyNonEmptyLayout):
-
-2010-05-11 Jesus Sanchez-Palencia <jesus@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add PageClientQGraphicsWidget specific implementation.
- QGraphicsWebViewPrivate doesn't inherit QWebPageClient anymore
- and the needed functions were moved to this new PageClient class,
- including Tiling and Accelerated Composite specific ones.
-
- [Qt] PageClientQt specific implementation for QGraphicsWidget
- https://bugs.webkit.org/show_bug.cgi?id=37866
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate):
- (QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate):
- (QGraphicsWebViewPrivate::syncLayers):
- (QGraphicsWebViewPrivate::_q_scaleChanged):
- (QGraphicsWebView::event):
- (QGraphicsWebView::setPage):
- (QGraphicsWebView::updateGeometry):
- (QGraphicsWebView::setGeometry):
- (QGraphicsWebView::setResizesToContents):
- * WebCoreSupport/PageClientQt.cpp:
- (WebCore::PageClientQGraphicsWidget::~PageClientQGraphicsWidget):
- (WebCore::PageClientQGraphicsWidget::scroll):
- (WebCore::PageClientQGraphicsWidget::update):
- (WebCore::PageClientQGraphicsWidget::createOrDeleteOverlay):
- (WebCore::PageClientQGraphicsWidget::syncLayers):
- (WebCore::PageClientQGraphicsWidget::setRootGraphicsLayer):
- (WebCore::PageClientQGraphicsWidget::markForSync):
- (WebCore::PageClientQGraphicsWidget::updateCompositingScrollPosition):
- (WebCore::PageClientQGraphicsWidget::updateTiledBackingStoreScale):
- (WebCore::PageClientQGraphicsWidget::setInputMethodEnabled):
- (WebCore::PageClientQGraphicsWidget::inputMethodEnabled):
- (WebCore::PageClientQGraphicsWidget::setInputMethodHint):
- (WebCore::PageClientQGraphicsWidget::cursor):
- (WebCore::PageClientQGraphicsWidget::updateCursor):
- (WebCore::PageClientQGraphicsWidget::palette):
- (WebCore::PageClientQGraphicsWidget::screenNumber):
- (WebCore::PageClientQGraphicsWidget::ownerWidget):
- (WebCore::PageClientQGraphicsWidget::geometryRelativeToOwnerWidget):
- (WebCore::PageClientQGraphicsWidget::pluginParent):
- (WebCore::PageClientQGraphicsWidget::style):
- * WebCoreSupport/PageClientQt.h:
- (WebCore::QGraphicsItemOverlay::page):
- (WebCore::QGraphicsItemOverlay::boundingRect):
- (WebCore::QGraphicsItemOverlay::paint):
- (WebCore::QGraphicsItemOverlay::prepareGraphicsItemGeometryChange):
- (WebCore::PageClientQGraphicsWidget::PageClientQGraphicsWidget):
- (WebCore::PageClientQGraphicsWidget::isQWidgetClient):
- (WebCore::PageClientQGraphicsWidget::allowsAcceleratedCompositing):
- (WebCore::PageClientQGraphicsWidget::):
-
-2010-05-09 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Crash in QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate when animation were used
- https://bugs.webkit.org/show_bug.cgi?id=38574
-
- The fix uses a QWeakPointer for rootGraphicsLayer, protecting from a crash in case the layer is deleted before the QGraphicsWebView.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate):
- (QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate):
- (QGraphicsWebViewPrivate::setRootGraphicsLayer):
- (QGraphicsWebViewPrivate::updateCompositingScrollPosition):
-
-2010-05-08 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Platform plugin
- https://bugs.webkit.org/show_bug.cgi?id=38438
-
- Select popups delegate private API. To provide select popup delegates
- a plugin that implements QWebKitPlatformPlugin must be found
- in QCoreApplication::libraryPaths.
-
- * Api/headers.pri:
- * Api/qwebkitplatformplugin.h: Added.
- (QWebSelectData::~QWebSelectData):
- (QWebSelectData::):
- (QWebSelectMethod::~QWebSelectMethod):
- (QWebKitPlatformPlugin::~QWebKitPlatformPlugin):
- (QWebKitPlatformPlugin::):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createSelectPopup):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/QtPlatformPlugin.cpp: Added.
- (WebCore::SelectData::SelectData):
- (WebCore::SelectData::itemText):
- (WebCore::SelectData::itemToolTip):
- (WebCore::SelectData::itemIsEnabled):
- (WebCore::SelectData::itemCount):
- (WebCore::SelectData::itemIsSelected):
- (WebCore::SelectData::multiple):
- (WebCore::SelectData::itemType):
- (WebCore::SelectInputMethodWrapper::SelectInputMethodWrapper):
- (WebCore::SelectInputMethodWrapper::show):
- (WebCore::SelectInputMethodWrapper::hide):
- (WebCore::SelectInputMethodWrapper::selectItem):
- (WebCore::SelectInputMethodWrapper::didHide):
- (WebCore::getPluginObject):
- (WebCore::QtPlatformPlugin::~QtPlatformPlugin):
- (WebCore::QtPlatformPlugin::plugin):
- (WebCore::QtPlatformPlugin::createSelectInputMethod):
- * WebCoreSupport/QtPlatformPlugin.h: Added.
- (WebCore::QtPlatformPlugin::QtPlatformPlugin):
-
-2010-05-08 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Document a limitation of QWebPage::linkClicked
- https://bugs.webkit.org/show_bug.cgi?id=37694
-
- * Api/qwebpage.cpp:
-
-2010-05-02 Simon Hausmann <hausmann@webkit.org>
-
- [Qt] Unreviewed, QtWebKit versioning for the trunk.
-
- The next version is going to be 2.1, based off the trunk.
-
- * Api/qwebkitglobal.h:
-
-2010-05-07 Simon Hausmann <simon.hausmann@nokia.com>
-
- Symbian build fix.
-
- [Qt] Updated the def file with absent exports.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-05-06 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Patch to fix compilation warnings for QGraphicsWebView
- https://bugs.webkit.org/show_bug.cgi?id=37428
-
- Patch by Alexis Menard <alexis.menard@nokia.com>
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::itemChange):
-
-2010-05-06 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Replace public inspector url with private property for QtLauncher
- https://bugs.webkit.org/show_bug.cgi?id=35340
-
- Replace the public API with a private dynamic property until this feature
- is ready.
-
- * Api/qwebsettings.cpp:
- * Api/qwebsettings.h:
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::openInspectorFrontend):
- * symbian/bwins/QtWebKitu.def:
- * symbian/eabi/QtWebKitu.def:
-
-2010-05-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QWebPage viewMode property
- https://bugs.webkit.org/show_bug.cgi?id=38119
-
- Rename the property from wrt_viewMode to _q_viewMode.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dynamicPropertyChangeEvent):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::viewModes):
-
-2010-05-04 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- [Qt] Preserve binary compatibility with qtwebkit-2.0 branch
-
- Moved the WebGL attribute in QWebSettings to the end of the enum,
- to ensure that the numeric values of the enum values following it
- are the same as in the release branch.
-
- * Api/qwebsettings.h:
-
-2010-05-03 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Expose HTMLTokenizer yielding parameters
- https://bugs.webkit.org/show_bug.cgi?id=37023
-
- Enables to set TimeDelay and ChunkSize for
- HTMLTokenizer.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dynamicPropertyChangeEvent):
-
-2010-05-03 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add support for controlling clipboard access from javascript.
- Clipboard access from javascript is disabled by default.
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- * Api/qwebsettings.h:
-
-2010-05-03 Jens Alfke <snej@chromium.org>
-
- Reviewed by Darin Fisher.
-
- [chromium] Add "willSendSubmitEvent" hook to WebFrameClient and FrameLoaderClient
- https://bugs.webkit.org/show_bug.cgi?id=38397
-
- No tests (functionality is exposed only through native WebKit API.)
-
- * WebCoreSupport/FrameLoaderClientQt.h:
- (WebCore::FrameLoaderClientQt::dispatchWillSendSubmitEvent):
-
-2010-05-03 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Prune dead code in QWebPage
-
- * Api/qwebpage.cpp:
-
-2010-05-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix compilation with QT_NO_BEARERMANAGEMENT
- https://bugs.webkit.org/show_bug.cgi?id=38324
-
- * Api/qwebsettings.cpp:
-
-2010-04-29 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QtWebKit versioning added
- https://bugs.webkit.org/show_bug.cgi?id=37207
-
- QtWebkit releases separated from Qt release cycle.
-
- * qtwebkit_version.pri: Added.
-
-2010-05-02 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QWebPage::userAgentForUrl is terrible API
- https://bugs.webkit.org/show_bug.cgi?id=33875
-
- Simplify the creation of the user agent string to avoid some
- overhead for each loaded url.
-
- The static part of the user agent is cached so it only have
- to be made once.
- This creation has been made in order to simplify the code.
-
- The two variable: application name and current language are
- set dynamically when needed.
- The default locale is non longer created if the widget locale
- is used.
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::userAgentApplicationName):
- (tst_QWebPage::userAgentLocaleChange):
-
-2010-05-02 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] GraphicsLayer: animation incorrect when scrolling
- https://bugs.webkit.org/show_bug.cgi?id=38371
-
- This is a regression introduced with the invalidate-on-scroll code path, that uses QGraphicsWebViewPrivate::update()
- instead of QGraphicsWebViewPrivate::scroll(). The patch makes sure that the scrolling position is correct on
- each content update - this shouldn't have a performance impact - the only overhead is an additional value-test on each update.
-
- Tested by http://www.the-art-of-web.com/css/css-animation/
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::update):
-
-2010-05-01 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add smart paste support
-
- https://bugs.webkit.org/show_bug.cgi?id=38136
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate): Enable smart paste support by default.
-
-2010-04-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Reinstate qt_drt_ symbol exports as of QtWebKit 4.6 release
- https://bugs.webkit.org/show_bug.cgi?id=38304
-
- This change provides backward compatibility with some previously
- exported private symbols. No new functionality introduced.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (qt_resumeActiveDOMObjects):
- (qt_suspendActiveDOMObjects):
- (qt_drt_clearFrameName):
- (qt_drt_garbageCollector_collect):
- (qt_drt_garbageCollector_collectOnAlternateThread):
- (qt_drt_javaScriptObjectsCount):
- (qt_drt_numberOfActiveAnimations):
- (qt_drt_overwritePluginDirectories):
- (qt_drt_pauseAnimation):
- (qt_drt_pauseTransitionOfProperty):
- (qt_drt_resetOriginAccessWhiteLists):
- (qt_drt_run):
- (qt_drt_setJavaScriptProfilingEnabled):
- (qt_drt_whiteListAccessFromOrigin):
- (qt_webpage_groupName):
- (qt_webpage_setGroupName):
-
-2010-04-29 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Get rid of forceLayout() on FrameView
- https://bugs.webkit.org/show_bug.cgi?id=38199
-
- The function FrameView::forceLayout() is missleading
- because it does not actually force the layout, the call is
- equivalent to layout().
-
- This patch replace the call to forceLayout() by layout() in Qt
- to avoid the misunderstanding/improve readability.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dynamicPropertyChangeEvent):
- (QWebPage::setPreferredContentsSize):
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::setMediaType):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::forceLayout):
-
-2010-04-29 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Remove unnecessary call to FrameView::forceLayout() in setViewportSize()
- This prevents a double relayout on resize.
-
- https://bugs.webkit.org/show_bug.cgi?id=38179
-
- Thanks to Nate Whetsell <nathan.whetsell@gmail.com> for spotting this.
-
- * Api/qwebpage.cpp:
- (QWebPage::setViewportSize):
-
-2010-04-29 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] REGRESSION(r57982): tst_qwebpage::showModalDialog() crashes
- https://bugs.webkit.org/show_bug.cgi?id=38314
-
- Make sure that there's always a main frame when returning from createWindow()
- to the caller in WebCore.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createWindow):
-
-2010-04-28 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed, Qt build fix.
-
- [Qt] Guard the body of the function instead of the function for
- exported functions.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::webInspectorExecuteScript):
- (DumpRenderTreeSupportQt::webInspectorClose):
- (DumpRenderTreeSupportQt::webInspectorShow):
- (DumpRenderTreeSupportQt::setTimelineProfilingEnabled):
-
-2010-04-28 Antonio Gomes <tonikitoo@webkit.org>, Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] tst_QWebHistoryInterface::visitedLinks() fails
- https://bugs.webkit.org/show_bug.cgi?id=37323
-
- Patch fixes styleProperty method of QWebElement to make use of
- CSSComputedStyleDeclaration::computedStyle 'allowVisitedStyle' parameter
- and the corresponding failing QWebHistoryInterface::visitedLinks method.
-
- * Api/qwebelement.cpp:
- (QWebElement::styleProperty):
- * tests/qwebhistoryinterface/tst_qwebhistoryinterface.cpp:
- (tst_QWebHistoryInterface::visitedLinks):
-
-2010-04-28 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QWebPage viewMode property
- https://bugs.webkit.org/show_bug.cgi?id=38119
-
- Replacing method qt_wrt_setViewMode by wrt_viewMode property.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dynamicPropertyChangeEvent):
- (QWebPage::event):
- * Api/qwebpage_p.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::wrt_viewModes):
-
-2010-04-28 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann <simon.hausmann@nokia.com>
-
- [Qt] WINS DEF file freeze
-
- Updated WINSCW def file with added and removed symbols.
-
- * symbian/bwins/QtWebKitu.def:
-
-2010-04-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Maciej Stachowiak.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=38097
- Disentangle initializing the main thread from initializing threading
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate): Add call to initializeMainThread.
-
-2010-04-26 Thiago Macieira <thiago.macieira@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix the include header <qstring.h> -> <QtCore/qstring.h>
-
- The module/header.h style inclusion removes the need to have -I$QTDIR/include/depending-module
- in the include search path for the application.
-
- * Api/qwebkitversion.h:
-
-2010-04-26 Bruno Schmidt <bruno.schmidt@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Exposing an QVariantMap containing QObjectStar to Javascript
- causes Segmentation Fault
- https://bugs.webkit.org/show_bug.cgi?id=34729
-
- If an QVariantMap containing QObjectStar is added to the to QtWebkit
- Javascript, it's use causes Segmentation Fault.
- It happens because, in the case QMetaType::QVariantMap, the "root"
- object that is inside of a PassRefPtr is passed recursively inside a
- loop to recover the content of the map, but the PassRefPtr semantics
- prohibit its use inside a loop, so the "root" object mus be passed
- using the method "PassRefPtr::get" in order to keep the current
- reference.
-
- * tests/qwebframe/tst_qwebframe.cpp:
- (MyQObject::MyQObject): new property variantMapProperty
- (MyQObject::variantMapProperty): read variantMapProperty
- (MyQObject::setVariantMapProperty): write variantMapProperty
-
-2010-04-25 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] layoutTestController.counterValueForElementById crashes for a nonexistent ID
- https://bugs.webkit.org/show_bug.cgi?id=34573
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::counterValueForElementById):
-
-2010-04-20 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add more support for textInputController
-
- Add support for selectedRange(), setMarkedText(), insertText(),
- and firstRectForCharacterRange().
-
- https://bugs.webkit.org/show_bug.cgi?id=35702
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent):
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::selectedRange):
- (DumpRenderTreeSupportQt::firstRectForCharacterRange):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2010-04-22 John Pavan <john.pavan@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] inputMethodQuery returns coordinates in web page coordinates rather than in item coordinates.
- https://bugs.webkit.org/show_bug.cgi?id=37163
-
-
- QWebPage::inputMethodQuery is modified so that it
- returns coordinates in the widget's coordinate system.
- Tests are added for QGraphicsWebView and QWebView
- to verify that this behavior is correct after the webpage
- has been scrolled.
-
- * Api/qwebpage.cpp:
- (QWebPage::inputMethodQuery):
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
- (tst_QGraphicsWebView::microFocusCoordinates):
- * tests/qwebview/tst_qwebview.cpp:
- (tst_QWebView::microFocusCoordinates):
-
-2010-04-22 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix createPlugin() tests in tst_qwebpage to match behaviour of Qt plugins
- when PluginsEnabled is false.
-
- tst_qwebpage should have been updated as part of r56662.
- (See https://bugs.webkit.org/show_bug.cgi?id=32196)
-
- Updated documentation of QWebPage::createPlugin and QWebSetting::pluginsEnabled
- to match the new behaviour.
-
- * Api/qwebpage.cpp: Update docs.
- * Api/qwebsettings.cpp: Update docs.
- * tests/qwebpage/tst_qwebpage.cpp:
- (createPlugin):
- (tst_QWebPage::createPluginWithPluginsEnabled):
- (tst_QWebPage::createPluginWithPluginsDisabled):
-
-2010-04-22 Dave Moore <davemoore@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- Added notification when the favicons for a page are changed
- from a script.
- The Document object will notify the frame loader, which will
- notify the client. Implementations of FrameLoaderClient will
- have to add one method; dispatchDidChangeIcons().
-
- https://bugs.webkit.org/show_bug.cgi?id=33812
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidChangeIcons):
- (WebCore::FrameLoaderClientQt::didChangeTitle):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove translatable strings from the hybridPixmap test.
- https://bugs.webkit.org/show_bug.cgi?id=37867
-
- * tests/hybridPixmap/widget.ui:
-
-2010-04-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix autotests .qrc file paths when built in Qt.
-
- Compiling auto-tests from qt/tests/auto/qweb* produced
- failing tests since these .pro files include the
- ones in WebKit/qt/tests and the .qrc file was
- not added to RESOURCES
-
- * tests/benchmarks/loading/loading.pro:
- * tests/benchmarks/painting/painting.pro:
- * tests/qgraphicswebview/qgraphicswebview.pro:
- * tests/qwebelement/qwebelement.pro:
- * tests/qwebframe/qwebframe.pro:
- * tests/qwebhistory/qwebhistory.pro:
- * tests/qwebhistoryinterface/qwebhistoryinterface.pro:
- * tests/qwebinspector/qwebinspector.pro:
- * tests/qwebpage/qwebpage.pro:
- * tests/qwebplugindatabase/qwebplugindatabase.pro:
- * tests/qwebview/qwebview.pro:
- * tests/tests.pri:
-
-2010-04-22 Adam Barth <abarth@webkit.org>
-
- Unreviewed, rolling out r58069.
- http://trac.webkit.org/changeset/58069
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- Broke compile on Windows.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- * Api/qwebsettings.h:
-
-2010-04-22 Abhishek Arya <inferno@chromium.org>
-
- Reviewed by Adam Barth.
-
- Add support for controlling clipboard access from javascript.
- Clipboard access from javascript is disabled by default.
- https://bugs.webkit.org/show_bug.cgi?id=27751
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- * Api/qwebsettings.h:
-
-2010-04-21 Jesus Sanchez-Palencia <jesus@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add PageClientQWidget implementation based on the old
- QWebPageWidgetClient to PageClientQt files. Also fix
- QWebPage::setView() to use PageClientQWidget.
-
- [Qt] PageClientQt specific implementation for QWidget
- https://bugs.webkit.org/show_bug.cgi?id=37858
-
- * Api/qwebpage.cpp:
- (QWebPage::setView):
- * WebCoreSupport/PageClientQt.cpp: Added.
- (WebCore::PageClientQWidget::scroll):
- (WebCore::PageClientQWidget::update):
- (WebCore::PageClientQWidget::setInputMethodEnabled):
- (WebCore::PageClientQWidget::inputMethodEnabled):
- (WebCore::PageClientQWidget::setInputMethodHint):
- (WebCore::PageClientQWidget::cursor):
- (WebCore::PageClientQWidget::updateCursor):
- (WebCore::PageClientQWidget::palette):
- (WebCore::PageClientQWidget::screenNumber):
- (WebCore::PageClientQWidget::ownerWidget):
- (WebCore::PageClientQWidget::geometryRelativeToOwnerWidget):
- (WebCore::PageClientQWidget::pluginParent):
- (WebCore::PageClientQWidget::style):
- * WebCoreSupport/PageClientQt.h: Added.
- (WebCore::PageClientQWidget::PageClientQWidget):
- (WebCore::PageClientQWidget::isQWidgetClient):
-
-2010-04-21 Jakub Wieczorek <jwieczorek@webkit.org>
-
- Reviewed by Darin Adler.
-
- List item markers are not always updated after changes in the DOM.
- https://bugs.webkit.org/show_bug.cgi?id=37060
-
- * Api/qwebelement.h: Make DumpRenderTreeSupportQt a friend class.
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::markerTextForListItem): Add a private API to get the marker text for a list item.
-
-2010-04-21 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Check the request empty or not in ChromeClientQt::createWindow()
- https://bugs.webkit.org/show_bug.cgi?id=37821
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createWindow):
-
-2010-04-21 Shu Chang <chang.shu@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix Symbian build where QT_NO_SYSTEMTRAYICON is defined.
- https://bugs.webkit.org/show_bug.cgi?id=37442
-
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (NotificationPresenterClientQt::show):
- * WebCoreSupport/NotificationPresenterClientQt.h:
-
-2010-04-21 Eric Seidel <eric@webkit.org>
-
- Unreviewed, rolling out r57963.
- http://trac.webkit.org/changeset/57963
- https://bugs.webkit.org/show_bug.cgi?id=37759
-
- Three tests started crashing on the Qt bot.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::isCommandEnabled):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-04-21 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add LayoutTestController interface: computedStyleIncludingVisitedInfo
- https://bugs.webkit.org/show_bug.cgi?id=37759
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::computedStyleIncludingVisitedInfo):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-04-21 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Simon Fraser.
-
- [Qt] Fix or remove the runtime flag for accelerated compositing.
- https://bugs.webkit.org/show_bug.cgi?id=37313
-
- This lets the QWebPageClient "veto" the settings value for accelerated compositing.
- In this case we allow accelerated compositing only on QGraphicsWebView.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::allowsAcceleratedCompositing):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::allowsAcceleratedCompositing):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-04-20 Adam Barth <abarth@webkit.org>
-
- Unreviewed build fix.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setUrl):
-
-2010-04-20 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Factor DocumentWriter out of FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=37175
-
- Update these callsites because the method moved to DocumentWriter.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::finishedLoading):
- (WebCore::FrameLoaderClientQt::setMainDocumentError):
- (WebCore::FrameLoaderClientQt::committedLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoading):
-
-2010-04-20 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Change a parameter type of chooseIconForFiles()
- https://bugs.webkit.org/show_bug.cgi?id=37504
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::chooseIconForFiles):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-04-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix compilation against namespaced Qt.
-
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/QtFallbackWebPopup.h:
-
-2010-04-18 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add support for LayoutTestController commands:
- setSmartInsertDeleteEnabled
- setSelectTrailingWhitespaceEnabled
- execCommand
- isCommandEnabled
-
- https://bugs.webkit.org/show_bug.cgi?id=35844
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * Api/qwebpage_p.h:
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::setSmartInsertDeleteEnabled):
- (DumpRenderTreeSupportQt::setSelectTrailingWhitespaceEnabled):
- (DumpRenderTreeSupportQt::executeCoreCommandByName):
- (DumpRenderTreeSupportQt::isCommandEnabled):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::smartInsertDeleteEnabled):
- (WebCore::EditorClientQt::toggleSmartInsertDelete):
- (WebCore::EditorClientQt::isSelectTrailingWhitespaceEnabled):
- * WebCoreSupport/EditorClientQt.h:
-
-2010-04-15 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Mark QWebFrame::overloadedSlots autotest as expected failure
-
- https://bugs.webkit.org/show_bug.cgi?id=37319
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-04-09 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen and Tor Arne Vestbø.
-
- REGRESSION(r56552): Broken scrollbars size
- https://bugs.webkit.org/show_bug.cgi?id=36853
-
- The regression was caused by r56552, which introduced a fix to bug
- webkit.org/b/21300. The bug solved an issue with the resize handle on mac,
- but did it in a way that affected all Qt platforms and thus broke the behavior
- on non-mac platforms.
-
- This patch makes the mac specific change ifdef'ed and only applied for the mac
- platform.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::windowResizerRect):
-
-2010-04-15 Bruno Schmidt <bruno.schmidt@gmail.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Null QObjects properties cause Segmentation Fault
- https://bugs.webkit.org/show_bug.cgi?id=34730
-
- QObjects exported to the QWebkit javascript with properties that are
- a null "QObject*" cause Segmentation Fault.
-
- If an QObject is added to the javascript context and it contains
- properties of the type QObject* with NULL value, calling the property
- causes Segmentation Fault.
-
- Follow the tests for the corrections done over WebCore.
-
- * tests/qwebframe/tst_qwebframe.cpp:
- (MyQObject::MyQObject): init the field m_objectStar
- (MyQObject::objectStarProperty): read the Object* prop
- (MyQObject::setObjectStarProperty): write the Object* prop
- (tst_QWebFrame::getSetStaticProperty): new tests for the new prop
-
-2010-04-14 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Changing view mode names due to specification changes
- https://bugs.webkit.org/show_bug.cgi?id=37615
-
- test: fast/media/media-feature-wgt-view-mode.html
-
- specification: http://dev.w3.org/2006/waf/widgets-vmmf/
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::isWindowed):
- (WebCore::ChromeClientQt::isFullscreen):
- (WebCore::ChromeClientQt::isMaximized):
- (WebCore::ChromeClientQt::isMinimized):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-04-14 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Moving setViewMode from DumpRenderTreeSupportQt to qwebpage.cpp
- https://bugs.webkit.org/show_bug.cgi?id=37622
-
- Method qt_wrt_setViewMode was removed from qwebpage.cpp by mistake in r57433
- (bug 35844). Moving it back.
-
- * Api/qwebpage.cpp:
- (qt_wrt_setViewMode):
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::setMediaType):
- * WebCoreSupport/DumpRenderTreeSupportQt.h:
-
-2010-04-14 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Rendering artifacts on Qt plugins when scrolling the page
- https://bugs.webkit.org/show_bug.cgi?id=37152
-
- Because we no longer repaint the entire viewport on scroll,
- we must trigger a repaint of QtPluginWidgets when their geometry changes.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2010-04-14 Aaron Boodman <aa@chromium.org>
-
- Reviewed by David Levin.
-
- Support relative URLs for notifications on Chromium. They weren't working previously because WebCore was inserting
- the relative URL into a KURL instance, but when KURL is backed by GURL as it is on Chromium, relative URLs are
- unsupported. Fixed by resolving the relative URL first.
-
- https://bugs.webkit.org/show_bug.cgi?id=36623
-
- Adding tests for this is difficult because we don't currently have DRT support for notifications on Mac, only Windows.
-
- * WebCoreSupport/NotificationPresenterClientQt.cpp:
- (NotificationPresenterClientQt::show): Return type of NotificationContents::iconURL() changed.
-
-2010-04-13 Timothy Hatcher <timothy@apple.com>
-
- Rename SecurityOrigin::whiteListAccessFromOrigin to addOriginAccessWhitelistEntry.
- And SecurityOrigin::resetOriginAccessWhiteLists to resetOriginAccessWhitelists.
-
- SecurityOrigin needs a way to remove individual OriginAccessEntries
- https://bugs.webkit.org/show_bug.cgi?id=37449
-
- Reviewed by Dave Hyatt.
-
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
- (DumpRenderTreeSupportQt::whiteListAccessFromOrigin):
- (DumpRenderTreeSupportQt::resetOriginAccessWhiteLists):
-
-2010-04-11 Sheriff Bot <webkit.review.bot@gmail.com>
-
- Unreviewed, rolling out r57468.
- http://trac.webkit.org/changeset/57468
- https://bugs.webkit.org/show_bug.cgi?id=37433
-
- Broke the world... Must have applied the patch wrong
- (Requested by abarth on #webkit).
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::finishedLoading):
- (WebCore::FrameLoaderClientQt::setMainDocumentError):
- (WebCore::FrameLoaderClientQt::committedLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoading):
-
-2010-04-11 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Factor DocumentWriter out of FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=37175
-
- Update these callsites because the method moved to DocumentWriter.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::finishedLoading):
- (WebCore::FrameLoaderClientQt::setMainDocumentError):
- (WebCore::FrameLoaderClientQt::committedLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoading):
-
-2010-04-11 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add setWillSendRequestReturnsNull and setWillSendRequestClearHeader
-
- https://bugs.webkit.org/show_bug.cgi?id=37410
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (qt_set_will_send_request_returns_null):
- (qt_set_will_send_request_clear_headers):
- (WebCore::FrameLoaderClientQt::dispatchWillSendRequest):
-
-2010-04-10 Robert Hogan <robert@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Refactor Qt DRT support in QtWebKit
-
- Move all QT DRT support functions to a static class.
-
- https://bugs.webkit.org/show_bug.cgi?id=35844
-
- * Api/qwebframe.cpp: Remove static functions.
- * Api/qwebframe.h: Make DumpRenderTreeSupportQt a friend.
- * Api/qwebpage.cpp: Remove static functions.
- * Api/qwebpage.h: Make DumpRenderTreeSupportQt a friend.
- * Api/qwebsecurityorigin.cpp: Remove static functions.
- * WebCoreSupport/DumpRenderTreeSupportQt.cpp: Added.
- (DumpRenderTreeSupportQt::DumpRenderTreeSupportQt):
- (DumpRenderTreeSupportQt::~DumpRenderTreeSupportQt):
- (DumpRenderTreeSupportQt::overwritePluginDirectories):
- (DumpRenderTreeSupportQt::workerThreadCount):
- (DumpRenderTreeSupportQt::setDumpRenderTreeModeEnabled):
- (DumpRenderTreeSupportQt::setFrameFlatteningEnabled):
- (DumpRenderTreeSupportQt::webPageSetGroupName):
- (DumpRenderTreeSupportQt::webPageGroupName):
- (DumpRenderTreeSupportQt::webInspectorExecuteScript):
- (DumpRenderTreeSupportQt::webInspectorClose):
- (DumpRenderTreeSupportQt::webInspectorShow):
- (DumpRenderTreeSupportQt::setTimelineProfilingEnabled):
- (DumpRenderTreeSupportQt::hasDocumentElement):
- (DumpRenderTreeSupportQt::setJavaScriptProfilingEnabled):
- (DumpRenderTreeSupportQt::pauseAnimation):
- (DumpRenderTreeSupportQt::pauseTransitionOfProperty):
- (DumpRenderTreeSupportQt::pauseSVGAnimation):
- (DumpRenderTreeSupportQt::numberOfActiveAnimations):
- (DumpRenderTreeSupportQt::clearFrameName):
- (DumpRenderTreeSupportQt::javaScriptObjectsCount):
- (DumpRenderTreeSupportQt::garbageCollectorCollect):
- (DumpRenderTreeSupportQt::garbageCollectorCollectOnAlternateThread):
- (DumpRenderTreeSupportQt::counterValueForElementById):
- (DumpRenderTreeSupportQt::pageNumberForElementById):
- (DumpRenderTreeSupportQt::numberOfPages):
- (DumpRenderTreeSupportQt::suspendActiveDOMObjects):
- (DumpRenderTreeSupportQt::resumeActiveDOMObjects):
- (DumpRenderTreeSupportQt::evaluateScriptInIsolatedWorld):
- (DumpRenderTreeSupportQt::whiteListAccessFromOrigin):
- (DumpRenderTreeSupportQt::resetOriginAccessWhiteLists):
- (DumpRenderTreeSupportQt::setDomainRelaxationForbiddenForURLScheme):
- (DumpRenderTreeSupportQt::setCaretBrowsingEnabled):
- (DumpRenderTreeSupportQt::setMediaType):
- (DumpRenderTreeSupportQt::setViewMode):
- * WebCoreSupport/DumpRenderTreeSupportQt.h: Added.
- * WebCoreSupport/EditorClientQt.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::multiplePageGroupsAndLocalStorage):
- (tst_QWebPage::inputMethodsTextFormat):
- (tst_QWebPage::protectBindingsRuntimeObjectsFromCollector):
-
-2010-04-11 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Update layoutTestController.DumpResourceLoadCallbacks to match other ports.
-
- Unskip http/tests/xmlhttprequest/abort-should-cancel-load.html
- http/tests/misc/will-send-request-returns-null-on-redirect.html
- fast/loader/user-style-sheet-resource-load-callbacks.html
- http/tests/misc/window-dot-stop.html
- http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html
- http/tests/security/XFrameOptions/x-frame-options-deny.html
- http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow.html
- http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny.html
- http/tests/xmlhttprequest/abort-should-cancel-load.html
-
- QNetworkReply::OperationCanceledError has a value of 5, so update expected results accordingly.
-
- https://bugs.webkit.org/show_bug.cgi?id=37237
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (qt_set_will_send_request_returns_null_on_redirect):
- (drtDescriptionSuitableForTestResult):
- (WebCore::FrameLoaderClientQt::dispatchWillSendRequest):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveResponse):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoading):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoading):
-
-2010-04-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Implement Desktop Notifications API for QtWebKit
- https://bugs.webkit.org/show_bug.cgi?id=35503
-
- Map WebKit notifications to Qt's SystemTray API and
- implement DRT tracing.
-
- This patch does not implement the security part of
- WebKit notifications.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::notificationPresenter):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/NotificationPresenterClientQt.cpp: Added.
- (qt_dump_notification):
- (NotificationPresenterClientQt::NotificationPresenterClientQt):
- (NotificationPresenterClientQt::show):
- (NotificationPresenterClientQt::cancel):
- (NotificationPresenterClientQt::notificationObjectDestroyed):
- (NotificationPresenterClientQt::requestPermission):
- (NotificationPresenterClientQt::checkPermission):
- * WebCoreSupport/NotificationPresenterClientQt.h: Added.
-
-2010-04-09 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt]Fix compile error with QT_NO_IM
- https://bugs.webkit.org/show_bug.cgi?id=36533
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopupCombo::hidePopup):
-
-2010-04-09 Yi Shen <yi.4.shen@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] tst_QWebFrame::popupFocus() fails
- https://bugs.webkit.org/show_bug.cgi?id=37320
-
- The QWebPopup class has been moved & renamed, so tst_QWebFrame::popupFocus() should use
- the class name "QComboBox", rather than "WebCore::QWebPopup" to find the popup menu.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-04-09 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- Removing the use of topLevelWidget of QWidget class since it is deprecated/obsolete
- since Qt 4.5. window() method is being used instead now.
-
- See http://doc.trolltech.com/4.5/qwidget-obsolete.html#topLevelWidget for more info.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::windowRect):
- (WebCore::ChromeClientQt::show):
- (WebCore::ChromeClientQt::windowResizerRect):
-
-2010-04-09 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix compile error with QT_NO_ACTION
- https://bugs.webkit.org/show_bug.cgi?id=36529
-
- Make sure QT_NO_ACTION is not defined to use QAction
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::pageAction):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateAction):
- (QWebPage::updatePositionDependentActions):
- * Api/qwebpage.h:
- * Api/qwebview.cpp:
- * Api/qwebview.h:
-
-2010-04-09 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Lars Knoll.
-
- [Qt] tests/qgraphicswebview fails
- https://bugs.webkit.org/show_bug.cgi?id=37317
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl): Don't crash if the ownerWidget is null.
-
-2010-04-08 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Warnings when compiling InspectorClientQt.cpp
- https://bugs.webkit.org/show_bug.cgi?id=37266
-
- Add a default: for the switch()-case to avoid
- warnings.
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::variantToSetting):
-
-2010-04-01 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by David Hyatt.
-
- [Qt] REGRESSION:(r50665) QWebFrame::setScrollBarPolicy(Qt::Vertical,Qt::ScrollBarAlwaysOff) has no effect.
- https://bugs.webkit.org/show_bug.cgi?id=29431
-
- Make use of the new lock parameter of set{Vertical,Horizontal}ScrollbarMode.
-
- Always added a qt auto test for set scrollbar policy feature.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setScrollBarPolicy):
- * tests/qwebframe/tst_qwebframe.cpp:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2010-04-08 Joe Ligman <joseph.ligman@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] WebKit crashes while input text through input method.
- The formatted text underline painting crashes when painting with invalid indexes.
- https://bugs.webkit.org/show_bug.cgi?id=36870
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethodsTextFormat_data):
- (tst_QWebPage::inputMethodsTextFormat):
-
-2010-04-08 Joe Ligman <joseph.ligman@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] qtwebkit_webframe_scrollRecursively scrolls when body.style.overflow="hidden"
- https://bugs.webkit.org/show_bug.cgi?id=36674
-
- The scrolling check was based on the frameview's scrolloffset, and
- maximumScrollPosition, which does not acknowledge the overflow properties.
-
- I am now basing the scrolling off the scrollbar position. The scrollbars are
- affected by the overflow properties indicating when not to scroll. The scrollbar
- positions also continue to work for CSS ::-webkit-scrollbar styles.
-
- * Api/qwebframe.cpp:
- (qtwebkit_webframe_scrollRecursively):
-
-2010-04-07 Andrey Kosyakov <caseq@chromium.org>
-
- Reviewed by Yury Semikhatsky.
-
- Removed redundant FrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest()
- https://bugs.webkit.org/show_bug.cgi?id=36949
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-04-07 Dawit Alemayehu <adawit@kde.org>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=36827
-
- Updated the WebCore::shouldTreatAsAttachement function call with the
- new more generic replacement WebCore::contentDispositionType.
-
- See comments 39-42 in https://bugs.webkit.org/show_bug.cgi?id=36395
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType):
-
-2010-04-07 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] When providing a widget for the PDF mime type it will cause a crash
-
- m_pluginView may actually be a Widget (for embedded Qt widgets),
- so always check isPluginView() before calling PluginView specific methods.
-
- https://bugs.webkit.org/show_bug.cgi?id=29450
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::finishedLoading):
- (WebCore::FrameLoaderClientQt::setMainDocumentError):
- (WebCore::FrameLoaderClientQt::committedLoad):
-
-2010-04-06 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add mechanism to detect QtWebKit 2.0 via the preprocessor
- https://bugs.webkit.org/show_bug.cgi?id=36538
-
- * Api/qwebkitglobal.h:
-
-2010-04-02 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] [Symbian] Rebaseline Symbian def file
- https://bugs.webkit.org/show_bug.cgi?id=37038
-
- Switch the ordinal numbers for qtwebkit_webframe_scrollRecursively
- and QWebInspector::closeEvent to match QtWebkit 4.6 branch
-
- Fix the signature for qt_drt_setFrameFlatteningEnabled
- after r56718.
-
- Add new QtWebKit API symbols introduced not listed in the file yet.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-03-30 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Adam Treat.
-
- Stored focused frame and document in a vars, instead of querying for them many times.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mousePressEvent(QEvent* ev)):
- (QWebPagePrivate::mousePressEvent(QGraphicsSceneMouseEvent* ev):
-
-2010-04-02 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt]Fix compile error with QT_NO_SETTINGS
- https://bugs.webkit.org/show_bug.cgi?id=36533
-
- If QT_NO_SETTINGS is defined, QSettings is not available.
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::populateSetting):
- (WebCore::InspectorClientQt::storeSetting):
-
-2010-04-02 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Maemo5 theme - customized popup for <select multiple> elements
- https://bugs.webkit.org/show_bug.cgi?id=36368
-
- Using QtMaemoWebPopup instead of QtFallbackWebPopup for Maemo.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createSelectPopup):
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopup::show):
- (WebCore::QtFallbackWebPopup::populate):
-
-2010-04-01 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add Single and Multiple Selection Popup for Maemo 5.
-
- [Qt] Maemo5 theme - popup dialogs
- https://bugs.webkit.org/show_bug.cgi?id=36789
-
- * WebCoreSupport/QtMaemoWebPopup.cpp:
- (WebCore::Maemo5Popup::populateList):
- (WebCore::Maemo5Popup::onItemSelected):
- (WebCore::QtMaemoWebPopup::createSingleSelectionPopup):
- (WebCore::QtMaemoWebPopup::createMultipleSelectionPopup):
- (WebCore::Maemo5SingleSelectionPopup::Maemo5SingleSelectionPopup):
- (WebCore::MultipleItemListDelegate::MultipleItemListDelegate):
- (WebCore::MultipleItemListDelegate::paint):
- (WebCore::Maemo5MultipleSelectionPopup::Maemo5MultipleSelectionPopup):
- * WebCoreSupport/QtMaemoWebPopup.h:
-
-2010-03-31 Marcus Bulach <bulach@chromium.org>
-
- Reviewed by Jeremy Orlow.
-
- Adds Geolocation param for cancelGeolocationPermissionRequestForFrame.
- https://bugs.webkit.org/show_bug.cgi?id=35031
-
- * WebCoreSupport/ChromeClientQt.h:
- (WebCore::ChromeClientQt::cancelGeolocationPermissionRequestForFrame):
-
-2010-03-31 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=36446
- [Qt] QWebSettings::TiledBackingStoreEnabled attribute lacks documentation and default value
-
- * Api/qgraphicswebview.cpp:
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
-
-2010-03-30 Gavin Barraclough <barraclough@apple.com>
-
- Rubber stamped by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=36866
- Move CString to WTF
-
- * Api/qwebelement.cpp:
-
-2010-03-30 Joe Ligman <joseph.ligman@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QGraphicsScene mousePressEvent does not set the clickCausedFocus flag
- https://bugs.webkit.org/show_bug.cgi?id=35259
-
- The clickCausedFocus flag is not being set in method
- mousePressEvent(QGraphicsSceneMouseEvent* ev). This flag is used
- in conjunction with QStyle::RSIP_OnMouseClickAndAlreadyFocused when
- deciding to launch the software input panel.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mousePressEvent):
-
-2010-03-30 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Maemo5 theme - QtMaemoWebPopup class
- https://bugs.webkit.org/show_bug.cgi?id=36790
-
- A new QtAbstractWebPopup descendant class to be used for maemo menu lists.
- This is the first step. The next step will be the dialogs implementation that
- will come in bug 36789 and finally to use QtMaemoWebPopup instead of QtFallbackWebPopup
- that will come in bug 36368.
-
- * WebCoreSupport/QtMaemoWebPopup.cpp: Added.
- (WebCore::QtMaemoWebPopup::QtMaemoWebPopup):
- (WebCore::QtMaemoWebPopup::~QtMaemoWebPopup):
- (WebCore::QtMaemoWebPopup::createSingleSelectionPopup):
- (WebCore::QtMaemoWebPopup::createMultipleSelectionPopup):
- (WebCore::QtMaemoWebPopup::createPopup):
- (WebCore::QtMaemoWebPopup::show):
- (WebCore::QtMaemoWebPopup::hide):
- (WebCore::QtMaemoWebPopup::popupClosed):
- (WebCore::QtMaemoWebPopup::itemClicked):
- * WebCoreSupport/QtMaemoWebPopup.h: Added.
- (WebCore::Maemo5Popup::Maemo5Popup):
-
-2010-03-29 Dawit Alemayehu <adawit@kde.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Added support for handling the HTTP "Content-Disposition" header.
-
- https://bugs.webkit.org/show_bug.cgi?id=36395
-
- Whenever a server response contains a "Content-Disposition: attachment..." header,
- treat the request as a download and emit the unsupportedContent signal.
-
- * Api/qwebpage.cpp:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::download):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType):
-
-2010-03-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Fraser.
-
- Add support for Widgets 1.0: View Mode Media Feature
- https://bugs.webkit.org/show_bug.cgi?id=35446
-
- Add an internal Qt API for changing the view mode media feature
- (http://www.w3.org/TR/widgets-vmmf/).
-
- * Api/qwebpage.cpp:
- (qt_wrt_setViewMode):
- (QWebPagePrivate::priv):
- * Api/qwebpage_p.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::isDocked):
- (WebCore::ChromeClientQt::isFloating):
- (WebCore::ChromeClientQt::isApplication):
- (WebCore::ChromeClientQt::isFullscreen):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-03-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Antti Koivisto.
-
- Use 'Mobile Safari' instead of 'Safari' on mobile Qt platforms.
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
-
-2010-03-29 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] unit tests don't compile inside of Qt
-
- https://bugs.webkit.org/show_bug.cgi?id=36756
-
- * tests/tests.pri: Don't do the target substitution inside Qt and find the sources
- through VPATH instead of relying on the location of the .pro file exclusively.
-
-2010-03-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Antti Koivisto.
-
- Change due to renaming of frame flattening setting.
-
- * Api/qwebpage.cpp:
- (qt_drt_setFrameFlatteningEnabled):
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- * symbian/eabi/QtWebKitu.def:
-
-2010-03-28 Alexey Proskuryakov <ap@apple.com>
-
- Build fix. Include WindowsKeyboardCodes.h instead of KeyboardCodes.h.
-
- * WebCoreSupport/EditorClientQt.cpp:
-
-2010-03-26 Olivier Goffart <ogoffart@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Compile with QT_USE_FAST_OPERATOR_PLUS
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::populateSetting):
- (WebCore::InspectorClientQt::storeSetting):
-
-2010-03-26 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Doc: Simplified Commercial Editions for Qt 4.7.
-
- * docs/qtwebkit.qdoc:
-
-2010-03-26 Simon Hausmann <simon.hausmann@nokia.com>
-
- Symbian build fix.
-
- [Qt] Updated the def file with new exports used by QtLauncher.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-03-25 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QtLauncher crashes on Mac OS and Linux when exiting with QGraphicsView mode enabled
- https://bugs.webkit.org/show_bug.cgi?id=35251
-
- Followed the way QWebView registers for the signal QWebPage::destroyed(), to prevent
- QGraphicsWebView from referencing QWebPage after it was deleted.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::_q_pageDestroyed):
- (QGraphicsWebView::setPage):
- * Api/qgraphicswebview.h:
-
-2010-03-25 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QWebFrame::pageChanged() signal is not documented
- https://bugs.webkit.org/show_bug.cgi?id=36609
-
- * Api/qwebframe.cpp:
-
-2010-03-25 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Implement ChromeClient::windowResizerRect()
-
- https://bugs.webkit.org/show_bug.cgi?id=21300
-
- We assume the resize corner to be in the lower right corner of
- the window and having the width and height of the scrollbars.
-
- The helper function geometryRelativeToOwnerWidget() in the page
- client is used to clip the resize rect to the actual size of the
- viewport, not the size of the QGraphicsView.
-
- * Api/qgraphicswebview.cpp:
- * Api/qwebpage.cpp:
- * WebCoreSupport/ChromeClientQt.cpp:
-
-2010-03-25 Shu Chang <chang.shu@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Added documentation for delete button.
- https://bugs.webkit.org/show_bug.cgi?id=31560
-
- * Api/qwebsettings.cpp:
-
-2010-03-25 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt]Fix compile error with QT_NO_DESKTOPSERVICES
- https://bugs.webkit.org/show_bug.cgi?id=36533
-
- * Api/qwebsettings.cpp:
- (QWebSettings::enablePersistentStorage):
-
-2010-03-25 Tasuku Suzuki <tasuku.suzuki@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt]Fix compile error with QT_NO_DEBUG_STREAM
- https://bugs.webkit.org/show_bug.cgi?id=36533
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::graphicsItemVisibleRect):
-
-2010-03-25 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Make QWebPage not depend on view() but use the client->ownerWidget()
- instead. Also, handle the case where there is not page client.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createContextMenu):
- (QWebPagePrivate::keyPressEvent):
- (QWebPage::javaScriptAlert):
- (QWebPage::javaScriptConfirm):
- (QWebPage::javaScriptPrompt):
- (QWebPage::shouldInterruptJavaScript):
- (QWebPage::createWindow):
- (QWebPage::action):
- (QWebPage::extension):
- (QWebPage::chooseFile):
- (QWebPage::userAgentForUrl):
-
-2010-03-24 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Add the FrameFlatteningEnabled WebAttribute to QWebSettings.
-
- [Qt] Missing QWebSettings for Frame Flattening
- https://bugs.webkit.org/show_bug.cgi?id=36553
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h:
-
-2010-03-24 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- Auto-uppercase and predictive text need to be disabled for S60 (as for maemo)
- https://bugs.webkit.org/show_bug.cgi?id=33176
-
- * WebCoreSupport/EditorClientQt.cpp:
-
-2010-03-24 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Rename QWebSettings::XSSAuditorEnabled to XSSAuditingEnabled
- https://bugs.webkit.org/show_bug.cgi?id=36522
-
- For consistency with other QWebSettings attributes.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- * Api/qwebsettings.h:
-
-2010-03-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Calling setView(0) on a QWebPage being shown by a QGraphicsWebView,
- would uninstall the page client, deleting the QGraphicsWebViewPrivate
- instance. If called with an argument, it would do a wrong static_cast
- and crash.
-
- * Api/qwebpage.cpp:
- (QWebPageWidgetClient::QWebPageWidgetClient):
- (QWebPageWidgetClient::isQWidgetClient):
- (QWebPageWidgetClient::screenNumber):
- (QWebPage::QWebPage):
- (QWebPage::setView):
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::unsetPageIfExists):
- (QGraphicsWebView::setPage):
- * Api/qwebpage.cpp:
- (QWebPageWidgetClient::isQWidgetClient):
- (QWebPageWidgetClient::screenNumber):
- (QWebPage::QWebPage):
- (QWebPage::setView):
- * Api/qwebpage.h:
- * Api/qwebview.cpp:
- (QWebViewPrivate::unsetPageIfExists):
- (QWebView::setPage):
-
-2010-03-24 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Darin Adler.
-
- Make Icon::createIconForFiles() optional.
- https://bugs.webkit.org/show_bug.cgi?id=35072
-
- - Rename iconForFiles() to chooseIconForFiles().
- - Call Icon::createIconForFiles() from chooseIconForFiles().
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::chooseIconForFiles):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-03-23 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- QGraphicsWebView crash when calling setView on the QWebPage...
- https://bugs.webkit.org/show_bug.cgi?id=36436
-
- Checking for pageClient existance before showing popups.
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopup::show):
-
-2010-03-23 Anders Bakken <anders.bakken@nokia.com>, Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Check if q->scene() is available before actually using it
- on QGraphicsWebViewPrivate.
-
- QGraphicsWebView crash
- https://bugs.webkit.org/show_bug.cgi?id=32670
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::screenNumber):
- (QGraphicsWebViewPrivate::ownerWidget):
-
-2010-03-23 David Leong <david.leong@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- Build fix for Symbian Def file.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-03-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove support for Qt v4.4
- https://bugs.webkit.org/show_bug.cgi?id=36389
-
- * Api/qwebelement.cpp:
- (QWebElement::classes):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::editorActionForKeyEvent):
- (QWebPage::userAgentForUrl):
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
- * tests/tests.pro:
-
-2010-03-22 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Fix qdoc warnings
- https://bugs.webkit.org/show_bug.cgi?id=36447
-
- * Api/qgraphicswebview.cpp: Add missing ().
- * Api/qwebframe.cpp: Remove reference to non-existent parameter "url".
- * Api/qwebsettings.cpp: Document parameter "location".
-
-2010-03-22 Jakub Wieczorek <jwieczorek@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Don't construct a QLineEdit every time when painting a text field
- https://bugs.webkit.org/show_bug.cgi?id=36373
-
- Add a simple benchmark covering this area.
-
- * tests/benchmarks/painting/tst_painting.cpp:
- (tst_Painting::textAreas):
-
-2010-03-22 Yi Shen <shenyi2006@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=35933
- [Qt] [Symbian] Can not backward select (highlight) text using virtual keyboard
- Make sure the selection start index is smaller than the selection end index.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2010-03-21 Kristian Amlie <kristian.amlie@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fixed updating the VKB display when inputting into QGraphicsWebView.
- https://bugs.webkit.org/show_bug.cgi?id=36292
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::_q_updateMicroFocus):
- (QGraphicsWebView::setPage):
- * Api/qgraphicswebview.h:
-
-2010-03-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed.
-
- Buildfix for Qt v4.5.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewOverlay::q):
-
-2010-03-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Make it possible for the Qt DRT to set the media type from
- the LayoutTestController.
-
- * Api/qwebframe.cpp:
- (qt_drt_setMediaType):
-
-2010-03-18 Joe Ligman <joseph.ligman@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] New API scrollRecursively has several problems.
- https://bugs.webkit.org/show_bug.cgi?id=35873
-
- Remove scrollRecursively from the Qt 4.7 API
- Update the internal API to accept a hit test position
- for nested scrolling
-
- * Api/qwebframe.cpp:
- (webframe_scrollOverflow):
- (qtwebkit_webframe_scrollRecursively):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-03-18 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=36102
- [Qt] Scaling control API for tiled backing store
-
- The scale is set by passing the QGraphicsWebView scale to the backing store. The
- only new API is the tiledBackingStoreFrozen property which allows disabling
- all updates (for example during zoom animation).
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::_q_scaleChanged):
- (QGraphicsWebViewPrivate::updateTiledBackingStoreScale):
- (QGraphicsWebView::QGraphicsWebView):
- (QGraphicsWebView::isTiledBackingStoreFrozen):
- (QGraphicsWebView::setTiledBackingStoreFrozen):
- * Api/qgraphicswebview.h:
- * Api/qwebframe.cpp:
- * Api/qwebframe_p.h:
-
-2010-03-17 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Tor Arne Vestbø.
-
- Fix Qt build with tiled backing store disabled.
-
- * Api/qwebframe.cpp:
- * Api/qwebframe_p.h:
-
-2010-03-17 Chang Shu <chang.shu@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- https://bugs.webkit.org/show_bug.cgi?id=36139
- [Qt] Clean up cache while setting cache quota. This behavior matches other platforms,
- such as mac and gtk.
-
- * Api/qwebsettings.cpp:
- (QWebSettings::setOfflineWebApplicationCacheQuota):
-
-2010-03-17 Csaba Osztrogonác <ossy@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Enable accelerated compositing by default
- https://bugs.webkit.org/show_bug.cgi?id=35866
-
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
-
-2010-03-15 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=36121
- [Qt] Make WebKit scrollbars work with tiling
-
- - Use the scrollbar overlay (implemented for accelerated compositing) when in tiled mode.
- - Make overlay compile unconditionally, enable on demand. This removes bunch of unneeded ifdefs.
- - Update the scroll position to the backing store as needed.
- - Renamed some methods.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::):
- (QGraphicsWebViewPrivate::createOrDeleteOverlay):
- (QGraphicsWebViewPrivate::setRootGraphicsLayer):
- (QGraphicsWebViewPrivate::updateCompositingScrollPosition):
- (QGraphicsWebViewPrivate::scroll):
- (QGraphicsWebViewPrivate::update):
- (QGraphicsWebViewPrivate::graphicsItemVisibleRect):
- (QGraphicsWebView::paint):
- (QGraphicsWebView::setPage):
- (QGraphicsWebView::updateGeometry):
- (QGraphicsWebView::setGeometry):
- * Api/qwebframe.cpp:
- (QWebFramePrivate::renderFromTiledBackingStore):
- * Api/qwebframe_p.h:
-
-2010-03-15 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix crash in QWebView::setPage()
-
- tst_qwebpage was crashing on setPage(0)
-
- https://bugs.webkit.org/show_bug.cgi?id=36137
-
- * Api/qwebview.cpp:
- (QWebView::setPage):
-
-2010-03-16 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost.
-
- Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
- https://bugs.webkit.org/show_bug.cgi?id=35036
-
- * Api/qwebinspector.cpp:
- (QWebInspector::hideEvent):
- (QWebInspector::closeEvent):
- * Api/qwebinspector.h:
- * Api/qwebpage.h:
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::openInspectorFrontend):
- (WebCore::InspectorFrontendClientQt::InspectorFrontendClientQt):
- (WebCore::InspectorFrontendClientQt::frontendLoaded):
- (WebCore::InspectorFrontendClientQt::localizedStringsURL):
- (WebCore::InspectorFrontendClientQt::hiddenPanels):
- (WebCore::InspectorFrontendClientQt::bringToFront):
- (WebCore::InspectorFrontendClientQt::closeWindow):
- (WebCore::InspectorFrontendClientQt::attachWindow):
- (WebCore::InspectorFrontendClientQt::detachWindow):
- (WebCore::InspectorFrontendClientQt::setAttachedWindowHeight):
- (WebCore::InspectorFrontendClientQt::inspectedURLChanged):
- (WebCore::InspectorFrontendClientQt::updateWindowTitle):
- * WebCoreSupport/InspectorClientQt.h:
-
-2010-03-15 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed.
-
- [Qt] Build fix if TILED_BACKING_STORE is disabled.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::renderContentsLayerAbsoluteCoords):
-
-2010-03-14 Chang Shu <chang.shu@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] [Symbian] Use Symbian native dialog providers for combo pupups.
- https://bugs.webkit.org/show_bug.cgi?id=35919
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopup::show):
- (WebCore::ResetAndDestroy):
- (WebCore::QtFallbackWebPopup::showS60BrowserDialog):
- * WebCoreSupport/QtFallbackWebPopup.h:
-
-2010-03-14 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=35146
- Support tiled backing store
-
- Implements a basic tiled backing store mechanism. Tiles are created and
- deleted on demand. The page content is cached to the tiles. Tile content
- is kept in sync with the document. Since the backing store covers area
- larger than the currently visible viewport, the document can be scrolled
- quickly without having to enter rendering tree painting.
-
- The tile management code is platform independent. This patch has simple QPixmap
- based tile implementation for Qt.
-
- The feature is behind ENABLE_TILED_BACKING_STORE flag.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::visibleRect):
- (QGraphicsWebView::paint):
- * Api/qwebframe.cpp:
- (QWebFramePrivate::renderContentsLayerAbsoluteCoords):
- * Api/qwebframe.h:
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- * Api/qwebsettings.h:
-
-2010-03-13 Csaba Osztrogonác <ossy@webkit.org>
-
- [Qt] Enable accelerated compositing by default
- https://bugs.webkit.org/show_bug.cgi?id=35866
-
- Unreviewed. Roll-out r55955, because it broke 3 tests:
- - animations/fill-mode-transform.html
- - animations/play-state.html
- - animations/simultaneous-start-left.html
-
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
-
-2010-03-13 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Enable accelerated compositing by default
- https://bugs.webkit.org/show_bug.cgi?id=35866
-
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
-
-2010-03-11 Anders Carlsson <andersca@apple.com>
-
- Reviewed by David Hyatt.
-
- Remove invalidateContents, it isn't used and it never makes sense to only invalidate the contents.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-03-10 Robert Hogan <robert@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add Support for WebKitEnableCaretBrowsing to Qt DRT
-
- Unskip test fast/events/multiline-link-arrow-navigation.html
- Fix typo (superfluous space) in QWebSettings docs.
-
- https://bugs.webkit.org/show_bug.cgi?id=35593
-
- * Api/qwebpage.cpp:
- (qt_drt_enableCaretBrowsing):
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply): fix typo in docs
-
-2010-03-02 Adam Treat <atreat@rim.com>
-
- Reviewed by Dave Hyatt.
-
- Adapt the qt port to the refactoring of repaint methods.
-
- https://bugs.webkit.org/show_bug.cgi?id=34214
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::invalidateContents):
- (WebCore::ChromeClientQt::invalidateWindow):
- (WebCore::ChromeClientQt::invalidateContentsAndWindow):
- (WebCore::ChromeClientQt::invalidateContentsForSlowScroll):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-03-08 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by David Levin.
-
- Remove the now-redundant Settings fields for the Database
- https://bugs.webkit.org/show_bug.cgi?id=35763
-
- No new tests; this code isn't called.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply): Remove the call into Settings.
-
-2010-03-08 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Binary incompatibility between Qt 4.6's WebKit and trunk in QWebSettings
- https://bugs.webkit.org/show_bug.cgi?id=35858
-
- Moved the enum value added in r54873 to the end of the enum, to preserve
- binary compatibility. DnsPrefetchEnabled was in the last release and needs
- to remain after LocalContentCanAccessRemoteUrls.
-
- * Api/qwebsettings.h:
-
-2010-03-06 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Sam Weinig.
-
- Remove unnecessary includes of wtf/Platform.h. This is already pulled in by the prefix header.
-
- * WebCoreSupport/EditCommandQt.cpp:
-
-2010-03-02 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Hausmann.
- Patch by Antonio Gomes <tonikitoo@webkit.org>
-
- [Qt] QWebSettings attribute for toggle Spatial Navigation on/off
- https://bugs.webkit.org/show_bug.cgi?id=33714 (Qt API part)
-
- Added 'SpatialNavigationEnabled' attribute to QWebSettings.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- * Api/qwebsettings.h:
-
-2010-03-04 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] qwebelement.h does not include QtCore headers correctly
- https://bugs.webkit.org/show_bug.cgi?id=35748
-
- The header files of QtCore must be included as QtCore/foo.h.
-
- See also http://bugreports.qt.nokia.com/browse/QTBUG-8661
-
- * Api/qwebelement.h:
-
-2010-03-04 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Make the OUTPUT_DIR variable in qmake projects independent of build-webkit's logic.
-
- This also allows shadow builds relying only on qmake to work properly.
-
- * tests/benchmarks/loading/loading.pro:
- * tests/benchmarks/painting/painting.pro:
- * tests/hybridPixmap/hybridPixmap.pro:
- * tests/qgraphicswebview/qgraphicswebview.pro:
- * tests/qwebelement/qwebelement.pro:
- * tests/qwebframe/qwebframe.pro:
- * tests/qwebhistory/qwebhistory.pro:
- * tests/qwebhistoryinterface/qwebhistoryinterface.pro:
- * tests/qwebinspector/qwebinspector.pro:
- * tests/qwebpage/qwebpage.pro:
- * tests/qwebplugindatabase/qwebplugindatabase.pro:
-
-2010-03-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix generation of forwarding headers
-
- The dependencies were a bit wrong, so we ended up not generating
- forwarding headers for qwebkitversion.h and qwebkitglobal.h
-
- The forwarding headers are now the only targets depending on the
- real headers. All other targets either depend on the generated
- class headers, or the forwarding headers.
-
- * Api/DerivedSources.pro:
-
-2010-03-02 Eric Uhrhane <ericu@chromium.org>
-
- Reviewed by David Levin.
-
- Move database enable bit fully out of settings
- This is stage one of a three-stage commit [webkit, then chromium, then
- webkit again]. In this change I'm adding calls to
- Database::setIsAvailable inside Settings::setDatabaseEnabled and
- anywhere else that called it, and switching webkit fully over to using
- that flag [added in a previous checkin]. Phase two will remove
- Chromium's use of Settings for the Database, and phase three will remove
- the Setting for the Database enable entirely, leaving only
- Database::isAvailable/setIsAvailable.
-
- No new tests; tested by existing storage tests.
-
- https://bugs.webkit.org/show_bug.cgi?id=35310
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply): Add a call to Database::setIsAvailable
-
-2010-03-02 Simon Hausmann <simon.hausmann@nokia.com>
-
- Symbian build fix.
-
- [Qt] Updated the def file with one new export, to fix
- QtLauncher linkage.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-03-01 Jakob Petsovits <jpetsovits@rim.com>
-
- Reviewed by Adam Barth.
-
- Adapt to the new ZoomMode enum.
- https://bugs.webkit.org/show_bug.cgi?id=35347
-
- * Api/qwebframe.cpp:
- (QWebFrame::setTextSizeMultiplier):
- (QWebFrame::setZoomFactor):
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
-
-2010-02-26 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Fix documentation of QWebSettings::setUserStyleSheetUrl method
-
- The base 64 data in the exemple shows a not valid code.
-
- REGRESSION: QWebSettings::setUserStyleSheetUrl is not working with a data URL (Base64)
- https://bugs.webkit.org/show_bug.cgi?id=34802
-
- * Api/qwebsettings.cpp:
-
-2010-02-26 Jamey Hicks <jamey.hicks@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] added QWebSettings::setInspectorUrl() and QWebSettings::inspectorUrl()
-
- Enables the use of alternate Web Inspector frontends by changing
- the location of the frontend.
-
- This is required so that the Web Inspector may be run from an
- external process or an external tool such as Eclipse or Aptana may
- be used instead of the in-process Web Inspector UI.
-
- https://bugs.webkit.org/show_bug.cgi?id=35340
-
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
- (QWebSettings::setInspectorUrl):
- (QWebSettings::inspectorUrl):
- * Api/qwebsettings.h:
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::createPage):
-
-2010-02-25 Jarkko Sakkinen <jarkko.sakkinen@tieto.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Qt WebGL support
-
- Adds enabling and disabling of WebGL support to QWebSettings.
- https://bugs.webkit.org/show_bug.cgi?id=35153
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h:
-
-2010-02-19 Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove QGVLauncher
-
- https://bugs.webkit.org/show_bug.cgi?id=35292
-
- * QGVLauncher/QGVLauncher.pro: Removed.
- * QGVLauncher/main.cpp: Removed.
-
-2010-02-23 Steve Block <steveblock@google.com>
-
- Reviewed by Darin Adler.
-
- Adds ChromeClient::cancelGeolocationPermissionRequestForFrame
- https://bugs.webkit.org/show_bug.cgi?id=34962
-
- This method is required so that a Geolocation object can cancel an
- asynchronous permission request. This allows the chrome client to cancel
- any UI it is showing for the permission request.
-
- * WebCoreSupport/ChromeClientQt.h:
- (WebCore::ChromeClientQt::cancelGeolocationPermissionRequestForFrame):
-
-2010-02-22 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed Symbian build fix.
-
- [Qt] Updated the def file with new exports to enable
- building DumpRenderTree.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-02-18 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Minor improvement to hybrid QPixmap
- https://bugs.webkit.org/show_bug.cgi?id=34507
-
- * tests/hybridPixmap/test.html: use assignToHTMLImageElement on an
- existing element instead of toHTMLImageElement which creates a new one
-
-2010-02-17 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by David Levin, Darin Fisher, Simon Hausmann.
-
- When a live iframe element is moved between pages, it still depends on the old page.
- https://bugs.webkit.org/show_bug.cgi?id=34382
-
- * Api/qwebframe_p.h:
- (QWebFramePrivate::setPage): Added.
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::didTransferChildFrameToNewDocument):
- The QWebFrame caches a QWebPage which should be replaced when Frame is re-parented.
- Also, the QWebFrame is a child (in QT terms) of QWebPage - so update that relationship as well.
- Emit a signal that QWebFrame moved to a different QWebPage.
-
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2010-02-17 Kent Tamura <tkent@chromium.org>
-
- Reviewed by Eric Seidel.
-
- Introduces new Icon loading interface in order to support
- asynchronous loading.
- https://bugs.webkit.org/show_bug.cgi?id=32054
-
- Add an empty implementation of ChromeClient::iconForFiles().
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::iconForFiles):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-02-17 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- Make possible Qt DRT to get total number of pages to be printed
-
- LayoutTests:
- printing/numberOfPages.html
-
- [Qt] DRT: Get total number of pages to be printed
- https://bugs.webkit.org/show_bug.cgi?id=34955
-
- * Api/qwebframe.cpp:
- (qt_drt_numberOfPages):
- (qt_drt_evaluateScriptInIsolatedWorld):
-
-2010-02-16 Ariya Hidayat <ariya.hidayat@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Allow scrolling to an anchor programmatically.
- https://bugs.webkit.org/show_bug.cgi?id=29856
-
- * Api/qwebframe.cpp:
- (QWebFrame::scrollToAnchor): New API function.
- * Api/qwebframe.h:
- * tests/qwebframe/tst_qwebframe.cpp: New tests for scrollToAnchor().
-
-2010-02-16 Ariya Hidayat <ariya.hidayat@gmail.com>
-
- Reviewed by Laszlo Gombos.
-
- Fix building with Qt < 4.6.
- https://bugs.webkit.org/show_bug.cgi?id=34885
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::updateResizesToContentsForPage):
-
-2010-02-16 Simon Hausmann <simon.hausmann@nokia.com>
-
- Unreviewed Symbian build fix.
-
- Updated the def file with two new exports used by QtLauncher.
-
- * symbian/eabi/QtWebKitu.def:
-
-2010-02-16 Ismail Donmez <ismail@namtrac.org>
-
- Reviewed by Pavel Feldman.
-
- Fix compilation with inspector disabled.
- https://bugs.webkit.org/show_bug.cgi?id=32724
-
- * Api/qwebpage.cpp:
- (qt_drt_webinspector_executeScript):
- (qt_drt_webinspector_close):
- (qt_drt_webinspector_show):
- (qt_drt_setTimelineProfilingEnabled):
-
-2010-02-16 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausman.
-
- [Qt] Fix include paths for forwarding headers in standalone builds.
-
- * Api/DerivedSources.pro: Use relative paths for package builds and added some
- documentation.
-
-2010-02-15 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QtWebkit bridge: enable passing a QWebElement to a signal/slot/property
- Add Q_DECLARE_METATYPE to QWebElement, add relevant tests to
- tst_qwebframe
- https://bugs.webkit.org/show_bug.cgi?id=34901
-
- * Api/qwebelement.h: declare metatype
- * tests/qwebframe/tst_qwebframe.cpp:
- (MyQObject::webElementProperty): new test for QWebElement
- (MyQObject::setWebElementProperty): new test for QWebElement
- (MyQObject::myOverloadedSlot): new test for QWebElement
-
-2010-02-15 Robert Hogan <robert@roberthogan.net>, Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] DRT: Support evaluateInWebInspector(), setTimelineProfilingEnabled().
-
- Support LayoutTestController.evaluateInWebInspector(), setTimelineProfilingEnabled() in Qt DRT.
-
- https://bugs.webkit.org/show_bug.cgi?id=33096
-
- This allows the following tests to pass:
-
- inspector/console-format-collections.html
- inspector/styles-iframe.html
- inspector/syntax-highlight-css.html
- inspector/syntax-highlight-javascript.html
- inspector/timeline-enum-stability.html
- inspector/timeline-layout.html
- inspector/timeline-mark-timeline.html
- inspector/timeline-paint.html
- inspector/timeline-parse-html.html
- inspector/timeline-recalculate-styles.html
- inspector/timeline-script-tag-1.html
- inspector/timeline-script-tag-2.html
- inspector/timeline-trivial.html
- inspector/cookie-resource-match.html
- inspector/elements-img-tooltip.html
- inspector/elements-panel-selection-on-refresh.html
- inspector/inspected-objects-not-overriden.html
- inspector/timeline-event-dispatch.html
- inspector/timeline-network-resource.html
- inspector/elements-panel-rewrite-href.html
- inspector/console-dir.html
- inspector/console-dirxml.html
- inspector/console-format.html
- inspector/console-tests.html
- inspector/elements-panel-structure.html
- inspector/evaluate-in-frontend.html
- inspector/console-clear.html
-
- * Api/qwebpage.cpp:
- (qt_drt_webinspector_executeScript):
- (qt_drt_webinspector_close):
- (qt_drt_webinspector_show):
- (qt_drt_setTimelineProfilingEnabled):
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (InspectorClientQt::createPage)
-
-2010-02-12 Antti Koivisto <koivisto@iki.fi>
-
- Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=34885
- Add a QGraphicsWebView mode that makes it automatically resize itself to the size of the content.
-
- This is useful for cases where the client wants to implement page panning and zooming by manipulating
- the graphics item.
-
- Add a option to QGVLauncher to test this mode.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate):
- (QGraphicsWebViewPrivate::updateResizesToContentsForPage):
- (QGraphicsWebViewPrivate::_q_contentsSizeChanged):
- (QGraphicsWebView::setPage):
- (QGraphicsWebView::setResizesToContents):
- (QGraphicsWebView::resizesToContents):
- * Api/qgraphicswebview.h:
- * QGVLauncher/main.cpp:
- (WebView::WebView):
- (MainView::MainView):
- (MainView::setMainWidget):
- (MainView::resizeEvent):
- (main):
-
-2010-02-12 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Qt DRT now dump the frame loader callbacks when LayoutTestController()
- method is called.
-
- LayoutTests:
- http/tests/security/mixedContent/data-url-script-in-iframe.html
- http/tests/security/mixedContent/empty-url-plugin-in-frame.html
- http/tests/security/mixedContent/insecure-css-in-iframe.html
- http/tests/security/mixedContent/insecure-iframe-in-iframe.html
- http/tests/security/mixedContent/insecure-image-in-iframe.html
- http/tests/security/mixedContent/insecure-plugin-in-iframe.html
- http/tests/security/mixedContent/insecure-script-in-iframe.html
- http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe.html
- http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html
-
- [Qt] Make possible Qt DRT dump frame load callbacks
- https://bugs.webkit.org/show_bug.cgi?id=34702
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::didDisplayInsecureContent):
- (WebCore::FrameLoaderClientQt::didRunInsecureContent):
-
-2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Make qtlauncher and qgvlauncher use the generated headers
- path to make sure they are correctly generated.
-
- * tests/tests.pri:
-
-2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Ensure relative paths in generated .pri files to ensure that
- a source package with pre-generated derived sources can be compiled.
-
- - Re-add a separate headers.pri file for WEBKIT_API_HEADERS
- - Rename the generated headers.pri to classheaders.pri to avoid
- confusion with the one generated by synqt since they don't have the
- same content.
- - Remove private headers list variable from classheaders.pri
- - Use $$PWD in classheaders.pri
- - Remove classheaders.pri from the installed files
-
- * Api/DerivedSources.pro:
-
-2010-02-10 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Minor fixes on QtWebKit headers generation.
-
- - Adds QtWebKit to the generated headers destination path
- - Improve compatibility with MinGW
-
- * Api/DerivedSources.pro:
-
-2010-02-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by nobody, build fix.
-
- [Qt] Fix standalone build with MinGW.
-
- * tests/qwebelement/tst_qwebelement.cpp:
- * tests/tests.pri:
-
-2010-02-10 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Implement pageNumberForElementById() method in Qt DRT LayoutTestController,
- to make Qt DRT able to get page number.
-
- LayoutTests:
- printing/page-break-always.html
- printing/pageNumerForElementById.html
- printing/css2.1/page-break-before-000.html
- printing/css2.1/page-break-after-000.html
- printing/css2.1/page-break-after-004.html
- printing/css2.1/page-break-before-001.html
- printing/css2.1/page-break-after-001.html
- printing/css2.1/page-break-after-002.html
- printing/css2.1/page-break-before-002.html
- printing/css2.1/page-break-inside-000.html
-
- [Qt] Make possible Qt DRT get a page number for element by ID
- https://bugs.webkit.org/show_bug.cgi?id=34777
-
- * Api/qwebframe.cpp:
- (qt_drt_pageNumberForElementById):
-
-2010-02-09 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Adam Barth.
-
- [Qt] Unit test for window.runModalDialog
- https://bugs.webkit.org/show_bug.cgi?id=34755
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (TestModalPage::TestModalPage):
- (TestModalPage::createWindow):
- (tst_QWebPage::showModalDialog):
-
-2010-02-09 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Sync with API changes in Maemo 5 kinetic scrolling
-
- https://bugs.webkit.org/show_bug.cgi?id=34747
-
- This is a forward-port of http://qt.gitorious.org/+qt-developers/qt/x11-maemo/commit/08497561
-
- * Api/qwebview.cpp:
- (qt_sendSpontaneousEvent):
- (QWebViewKineticScroller::QWebViewKineticScroller):
- (QWebViewKineticScroller::setWidget):
- (QWebViewKineticScroller::eventFilter):
- (QWebViewKineticScroller::cancelLeftMouseButtonPress):
- (QWebViewKineticScroller::currentFrame):
- (QWebViewKineticScroller::scrollingFrameAt):
- (QWebViewKineticScroller::maximumScrollPosition):
- (QWebViewKineticScroller::scrollPosition):
- (QWebViewKineticScroller::viewportSize):
- (QWebViewKineticScroller::setScrollPosition):
- (QWebViewKineticScroller::sendEvent):
- (QWebView::QWebView):
-
-2010-02-09 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Webkit in Qt does not have window.showModalDialog
- https://bugs.webkit.org/show_bug.cgi?id=25585
-
- Create a new eventloop when runModal() is called.
- Added comemnt in QWebPage::createWindow that the application is responsible
- for setting the modality of the appropriate window.
-
- * Api/qwebpage.cpp:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::ChromeClientQt):
- (WebCore::ChromeClientQt::~ChromeClientQt):
- (WebCore::ChromeClientQt::canRunModal):
- (WebCore::ChromeClientQt::runModal):
- * WebCoreSupport/ChromeClientQt.h:
-
-2010-01-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Dave Hyatt.
-
- Implement flattening of framesets
- https://bugs.webkit.org/show_bug.cgi?id=32717
-
- Privately export the setFrameSetFlatteningEnabled setting for
- use with the Qt DRT.
-
- * Api/qwebpage.cpp:
- (qt_drt_setFrameSetFlatteningEnabled):
- (QWebPagePrivate::core):
- * Api/qwebpage_p.h:
-
-2010-02-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- [Qt] Fix build on Windows
-
- Reviewed by Kenneth Rohde Christiansen.
-
- DerivedSources for our API headers failed on Windows,
- due to Windows not accepting ; as a command separator,
- not needing quotes for echo, and needing < and > escaped.
-
- We now detect Windows and set these quote markers and
- escape markers accordingly, as well as use && for separating
- individual commands.
-
- * Api/DerivedSources.pro:
-
-2010-02-05 Yury Semikhatsky <yurys@chromium.org>
-
- Reviewed by Pavel Feldman.
-
- Remove unused inmport of ScriptFunctionCall.h
-
- https://bugs.webkit.org/show_bug.cgi?id=33592
-
- * Api/qwebelement.cpp:
-
-2010-02-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Generate convenience headers (QWebView, etc) using qmake
-
- In Qt this is done using syncqt, but we use a pro-file instead
- that generates makefile-rules for each of the extra headers.
-
- These extra headers are installed alongside the normal headers.
-
- * Api/DerivedSources.pro: Added. List of headers + pro file magic
- * Api/headers.pri: Removed, list of headers is now in the above file
-
-2010-02-04 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Tuning and optimizations to GraphicsLayerQt. Mainly reduced usage
- of QTimer::singleShot, and moved syncLayers() from paint() to update()
- https://bugs.webkit.org/show_bug.cgi?id=34062
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::update): Moved the sync operation to update
- (QGraphicsWebView::paint): Moved the sync operation to update
-
-2010-02-03 Andras Becsi <abecsi@webkit.org>
-
- Unreviewed build fix.
-
- [Qt] Roll-out r54281 because it broke the build on the Qt Release bot.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate):
- (QGraphicsWebViewPrivate::markForSync):
- (QGraphicsWebViewPrivate::update):
- (QGraphicsWebView::paint):
-
-2010-02-02 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Do not use a proxy widget for the QComboBox on Maemo 5, as it
- is not working properly and it is not needed at all, as the
- comboboxes comes up in their full width on the screen and
- do not depend on view.
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopup::show):
-
-2010-02-02 Jessie Berlin <jberlin@webkit.org>
-
- Rubber Stamped by Holger Freyther.
-
- [Qt] Fix style issue identified in bug:
- https://bugs.webkit.org/show_bug.cgi?id=34329
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientWebPage::InspectorClientWebPage):
- Fix indentation.
-
-2010-02-01 Jessie Berlin <jberlin@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [Qt] Enable inspecting the Web Inspector in QtLauncher
-
- https://bugs.webkit.org/show_bug.cgi?id=34329
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientWebPage::InspectorClientWebPage):
- Allow the DeveloperExtrasEnabled setting to default to true for the page containing the Web Inspector.
-
-2010-02-02 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Display HTML tags verbatim in JS alert/confirm/prompt boxes
-
- https://bugs.webkit.org/show_bug.cgi?id=34429
-
- * Api/qwebpage.cpp:
- (QWebPage::javaScriptAlert):
- (QWebPage::javaScriptConfirm):
- (QWebPage::javaScriptPrompt):
-
-2010-02-02 Noam Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Enable a way to measure FPS in QGVLauncher
- run QGVLauncher with --show-fps to see ongoing fps measurements
- This is not meant as accurate FPS, but rather as a way to find
- improvements/regressions
- https://bugs.webkit.org/show_bug.cgi?id=34450
-
- * QGVLauncher/main.cpp:
- (MainView::MainView): initialize FPS values
- (MainView::paintEvent): count a painted frame here
- (MainView::printFps): we print the fps with qDebug every 5 seconds.
-
-2010-01-29 Ben Murdoch <benm@google.com>
-
- Reviewed by Dimitri Glazkov.
-
- [Android] Android needs functionality in the ChromeClient to be informed when touch events are and are not needed by the webpage.
- https://bugs.webkit.org/show_bug.cgi?id=34215
-
- Add needTouchEvents() to the ChromeClient which is called when the page decides it needs or no longer needs to be informed of touch events.
-
- * WebCoreSupport/ChromeClientQt.h:
- (WebCore::ChromeClientQt::needTouchEvents): Add an empty implementation.
-
-2010-01-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann
-
- Disable auto-uppercase and predictive text on Maemo5, just like the
- build-in MicroB Browser.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState):
-
-2010-01-28 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Support kinetic scrolling on Maemo 5
-
- https://bugs.webkit.org/show_bug.cgi?id=34267
-
- Patch by Ralf Engels <ralf.engels@nokia.com> and
- Robert Griebl <rgriebl@trolltech.com>
-
- * Api/qwebview.cpp:
- (QWebViewKineticScroller::QWebViewKineticScroller):
- (QWebViewKineticScroller::eventFilter):
- (QWebViewKineticScroller::currentFrame):
- (QWebViewKineticScroller::scrollingFrameAt):
- (QWebViewKineticScroller::attachToWidget):
- (QWebViewKineticScroller::removeFromWidget):
- (QWebViewKineticScroller::positionRange):
- (QWebViewKineticScroller::position):
- (QWebViewKineticScroller::viewportSize):
- (QWebViewKineticScroller::setPosition):
- (QWebView::QWebView):
-
-2010-01-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Do not set the combobox font on Maemo5 and S60; use the
- default instead.
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopup::populate):
-
-2010-01-28 Trond Kjernåsen <trond@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix for endless print loop when printing web pages
-
- * Api/qwebframe.cpp:
- (QWebFrame::print):
-
-2010-01-27 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] DRT Provide worker thread ability to track counters
- https://bugs.webkit.org/show_bug.cgi?id=34221
-
- Implement workerThreadCount() in LayoutTestController of Qt DRT
-
- Tests:
- fast/workers/dedicated-worker-lifecycle.html
- fast/workers/shared-worker-frame-lifecycle.html
- fast/workers/shared-worker-lifecycle.html
- fast/workers/worker-lifecycle.html
-
- * Api/qwebpage.cpp:
- (qt_drt_workerThreadCount):
-
-2010-01-27 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Laszlo Gombos.
-
- [Qt] Update the .def files with exported symbols
-
- * symbian/eabi/QtWebKitu.def: Add two mangled missing new symbols for arm eabi.
-
-2010-01-27 Kent Hansen <kent.hansen@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Meta-methods can't be introspected using ES5 API
- https://bugs.webkit.org/show_bug.cgi?id=34087
-
- Test that Object.getOwnPropertyDescriptor and
- Object.getOwnPropertyNames work with meta-methods.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2010-01-26 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Show comboboxes on Maemo 5
- https://bugs.webkit.org/show_bug.cgi?id=34088
-
- Don't try to show the combobox by simulating a mouse event from QCursor::pos() to
- get the combobox position right. The position on Maemo 5 is independent from the mouse
- and there's no QCursor::pos().
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopup::show):
-
-2010-01-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- First steps of the QtScript API.
-
- Two new classes were created; QScriptEngine and QScriptValue.
- The first should encapsulate a javascript context and the second a script
- value.
-
- This API is still in development, so it isn't compiled by default.
- To trigger compilation, pass --qmakearg="CONFIG+=build-qtscript" to
- build-webkit.
-
- https://bugs.webkit.org/show_bug.cgi?id=32565
-
- * docs/qtwebkit.qdocconf:
-
-2010-01-26 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] JavaScript prompt is currently broken
- https://bugs.webkit.org/show_bug.cgi?id=30914
-
- In r52152 a patch was landed to convert a null QString
- to an empty WebCore::String in case the prompt was accepted
- but the default implementation returned the null QString.
-
- The patch tried to avoid assign to result twice and
- was not checking the QString if it is null but the default
- value. This lead to always returning an empty string on
- successful prompts. Fix it by checking the variable 'x'
- for isNull.
-
- The manual test case used didn't cover the case of non
- empty input, replace it with an automatic test case that
- should cover all cases.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::runJavaScriptPrompt): Fix the bug.
- * tests/qwebpage/tst_qwebpage.cpp: Add automatic test case
- (JSPromptPage::JSPromptPage):
- (JSPromptPage::javaScriptPrompt):
- (tst_QWebPage::testJSPrompt):
-
-2010-01-25 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] In RenderThemeQt determine the QStyle from the page client instead of the page's view
- https://bugs.webkit.org/show_bug.cgi?id=34053
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::style): Implement QWebPageClient::style() and return the graphics
- widget's style.
- * Api/qwebpage.cpp:
- (QWebPageWidgetClient::style): Implement QWebPageClient::style() and return the widget's style.
-
-2010-01-25 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Phone backup support for QtWebkit for Symbian devices.
- https://bugs.webkit.org/show_bug.cgi?id=34077
-
- * symbian/backup_registration.xml: Added.
-
-2010-01-23 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix positioning of ComboBox popup in QGraphicsWebView.
-
- Wrap the popup in a QGraphicsProxyWidget, so that the popup
- transforms with the item.
-
- https://bugs.webkit.org/show_bug.cgi?id=33887
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopupCombo::hidePopup):
- (WebCore::QtFallbackWebPopup::QtFallbackWebPopup):
- (WebCore::QtFallbackWebPopup::~QtFallbackWebPopup):
- (WebCore::QtFallbackWebPopup::show):
- * WebCoreSupport/QtFallbackWebPopup.h:
-
-2010-01-22 Peter Kasting <pkasting@google.com>
-
- Not reviewed, backout.
-
- Back out r52673, which caused several regressions.
- https://bugs.webkit.org/show_bug.cgi?id=32533
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopupCombo::hidePopup):
-
-2010-01-22 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Save the QWebPageClient instead of the ownerWidget in QtAbstractWebPopup
-
- The QWebPageClient is required for the QtFallbackWebPopup. QtFallbackWebPopup will
- need it to create a QGraphicsProxyWidget (in a future commit) for the
- QGraphicsWebView's web popup.
-
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopup::show):
-
-2010-01-22 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- QState::polished() was renamed to QState::propertiesAssigned() when
- Qt 4.6.0 was released.
-
- * QGVLauncher/main.cpp:
- (MainWindow::init):
-
-2010-01-21 Diego Gonzalez <diego.gonzalez@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] add setDomainRelaxationForbiddenForURLScheme in Qt DRT
- https://bugs.webkit.org/show_bug.cgi?id=33945
-
- * Api/qwebsecurityorigin.cpp:
- (qt_drt_setDomainRelaxationForbiddenForURLScheme):
-
-2010-01-21 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Implement GraphicsLayer for accelerated layer compositing
- https://bugs.webkit.org/show_bug.cgi?id=33514
-
- Here we have the QGraphicsWebView support for accelerated compositing
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewOverlay::q): access to container object
- (QGraphicsWebViewOverlay::boundingRect): overlay has same rect as the
- webview
- (QGraphicsWebViewOverlay::paint): paint everything but the contents
- (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate): some vars needed
- for accelerated compositing
- (QGraphicsWebViewPrivate::):
- (QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate):
- (QGraphicsWebViewPrivate::setRootGraphicsLayer): make sure we have a
- scrollbar overlay, and that the new graphics layer is parented by the
- web-view
- (QGraphicsWebViewPrivate::markForSync): flush changes at earliest
- convenience or during the next draw
-
- (QGraphicsWebViewPrivate::updateCompositingScrollPosition): sync the
- position of the compositing layer with the scroll position
- (QGraphicsWebViewPrivate::syncLayers): flush changes now
- (QGraphicsWebViewPrivate::scroll): make sure we also move the
- compositing layer
- (QGraphicsWebViewPrivate::update): also update the overlay if needed
- (QGraphicsWebView::QGraphicsWebView): initialize overlay with 0
- (QGraphicsWebView::paint): paint only contents if we have an overlay,
- sync the compositing layers now if needed
- (QGraphicsWebView::setPage): also clean up the compositing
- (QGraphicsWebView::updateGeometry): also update overlay geo
- (QGraphicsWebView::setGeometry): also update overlay geo
- * Api/qgraphicswebview.h: reimp compositing stuff from QWebPageClient
- * Api/qwebsettings.cpp: init new settings flag for compositing as
- false
- (QWebSettingsPrivate::apply): apply new settings flag for compositing
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h: new settings flag for compositing
- * Api/qwebview.cpp:
- (QWebView::setPage): qwebview doesn't support compositing: always false
- * QGVLauncher/main.cpp:
- (WebView::WebView): some more cmdline arguments + compositing
- (MainWindow::init): some more cmdline arguments
- (main): ditto
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::attachRootGraphicsLayer): reimp for
- accel-compositing
- (WebCore::ChromeClientQt::setNeedsOneShotDrawingSynchronization):
- reimp for accel compositing
- (WebCore::ChromeClientQt::scheduleCompositingLayerSync): reimp for
- accel compositing
- * WebCoreSupport/ChromeClientQt.h: reimps for accel compositing
-
-2010-01-21 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Improve the autotests of QtWebkit
- https://bugs.webkit.org/show_bug.cgi?id=32216
-
- Remove qWait() of the test when possible.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::loadFinished):
- (tst_QWebPage::database):
- (tst_QWebPage::testEnablePersistentStorage):
- (tst_QWebPage::errorPageExtension):
- (tst_QWebPage::screenshot):
-
-2010-01-21 Simon Hausmann <simon.hausmann@nokia.com>
-
- Prospective build fix for the Qt build.
-
- Fix compilation against Qt without WebKit support by not including QtWebKit/QWebView
- but widget.h instead and instantiating QWebView through a typedef, to ensure we're using
- our locally built WebKit.
-
- * tests/hybridPixmap/widget.h:
- * tests/hybridPixmap/widget.ui:
-
-2010-01-21 No'am Rosenthal <noam.rosenthal@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Adding QPixmap/QImage support for the Qt hybrid layer
- https://bugs.webkit.org/show_bug.cgi?id=32461
-
- * tests/hybridPixmap: Added.
- * tests/hybridPixmap/hybridPixmap.pro: Added.
- * tests/hybridPixmap/resources.qrc: Added.
- * tests/hybridPixmap/test.html: Added.
- * tests/hybridPixmap/tst_hybridPixmap.cpp: Added.
- (tst_hybridPixmap::tst_hybridPixmap): tests most of the use cases for
- hybrid pixmap/image manipulation
- (tst_hybridPixmap::init): QTestLib initialization
- (tst_hybridPixmap::cleanup): QTestLib cleanup
- (tst_hybridPixmap::hybridPixmap): run the html file
- * tests/hybridPixmap/widget.cpp: Added.
- (Widget::Widget):
- (Widget::refreshJS):
- (Widget::start):
- (Widget::completeTest):
- (Widget::setPixmap):
- (Widget::pixmap):
- (Widget::setImage):
- (Widget::image):
- (Widget::~Widget):
- (Widget::changeEvent):
- (Widget::compare):
- (Widget::imageSlot):
- (Widget::pixmapSlot):
- (Widget::randomSlot):
- * tests/hybridPixmap/widget.h: Added.
- * tests/hybridPixmap/widget.ui: Added.
- * tests/tests.pro:
-
-2010-01-21 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Custom select popups.
- https://bugs.webkit.org/show_bug.cgi?id=33418
-
- Adjusting QtFallbackWebPopupCombo to the changes in WebCore layer.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createSelectPopup):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/QtFallbackWebPopup.cpp:
- (WebCore::QtFallbackWebPopupCombo::QtFallbackWebPopupCombo):
- (WebCore::QtFallbackWebPopupCombo::showPopup):
- (WebCore::QtFallbackWebPopupCombo::hidePopup):
- (WebCore::QtFallbackWebPopup::QtFallbackWebPopup):
- (WebCore::QtFallbackWebPopup::~QtFallbackWebPopup):
- (WebCore::QtFallbackWebPopup::show):
- (WebCore::QtFallbackWebPopup::hide):
- (WebCore::QtFallbackWebPopup::populate):
- * WebCoreSupport/QtFallbackWebPopup.h:
-
-2010-01-19 Steve Block <steveblock@google.com>
-
- Reviewed by Adam Barth.
-
- Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
- https://bugs.webkit.org/show_bug.cgi?id=33801
-
- * Api/qwebframe.cpp:
-
-2010-01-14 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- Drag and Drop source/destination code needs cleanup.
- <https://bugs.webkit.org/show_bug.cgi?id=33691>.
-
- Update to new way of calling sourceOperation.
-
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::DragClientQt::startDrag):
-
-2010-01-14 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Symbian build fixes.
-
- * tests/qwebpage/tst_qwebpage.cpp: Include util.h
- * tests/tests.pri: Don't define TESTS_SOURCE_DIR, it doesn't work.
- * tests/util.h: Define TESTS_SOURCE_DIR here, just like it's done in Qt.
-
-2010-01-14 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Update Symbian .def symbol export files after private API additions.
-
- * symbian/bwins/QtWebKitu.def:
- * symbian/eabi/QtWebKitu.def:
-
-2010-01-13 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Move more of the selection and caret painting code from Frame to SelectionController.
- https://bugs.webkit.org/show_bug.cgi?id=33619
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent): Seems possibly wrong to be directly invoking this
- setCaretVisible here, but I updated it to call it in its new location.
-
-2010-01-11 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Holger Freyther.
-
- [Qt] Add private API for QWebFrame scrolling, to maintain binary compatibility with Qt 4.6.
-
- This is just a temporary addition until we have introduced #ifdefs to allow
- safely removing the private API again.
-
- * Api/qwebframe.cpp:
- (qtwebkit_webframe_scrollRecursively):
-
-2010-01-10 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Adam Barth.
-
- [Qt] Add enableXSSAuditor support to QWebSettings and DRT.
-
- https://bugs.webkit.org/show_bug.cgi?id=33419
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- * Api/qwebsettings.h:
-
-2010-01-09 Daniel Bates <dbates@webkit.org>
-
- No review, rolling out r53044.
- http://trac.webkit.org/changeset/53044
- https://bugs.webkit.org/show_bug.cgi?id=33419
-
- We need to look into this some more because the Qt
- bot is failing the XSSAuditor tests. See bug #33419
- for more details.
-
- * Api/qwebsettings.cpp:
- * Api/qwebsettings.h:
-
-2010-01-09 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=33419
-
- Adds support for the XSSAuditor to the Qt DRT.
-
- * Api/qwebsettings.cpp: Updated comment to reflect added key XSSAuditorEnabled.
- * Api/qwebsettings.h: Adds settings key XSSAuditorEnabled.
-
-2010-01-08 Luiz Agostini <luiz.agostini@openbossa.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Delegation client
- https://bugs.webkit.org/show_bug.cgi?id=32826
-
- Added method createPopup to ChromeClientQt used to create popups.
- QtFallbackWebPopup moved from WebCore/platform/qt to
- WebKit/qt/WebCoreSupport.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createPopup):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/QtFallbackWebPopup.cpp: Added.
- (WebCore::QtFallbackWebPopup::QtFallbackWebPopup):
- (WebCore::QtFallbackWebPopup::show):
- (WebCore::QtFallbackWebPopup::populate):
- (WebCore::QtFallbackWebPopup::showPopup):
- (WebCore::QtFallbackWebPopup::hidePopup):
- (WebCore::QtFallbackWebPopup::activeChanged):
- (WebCore::QtFallbackWebPopup::setParent):
- * WebCoreSupport/QtFallbackWebPopup.h: Added.
- (WebCore::QtFallbackWebPopup::hide):
-
-2010-01-07 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Allow the application to override online/offline network status
- https://bugs.webkit.org/show_bug.cgi?id=32684
-
- Add a setting so that applications can overide the network status.
- Applications that use this setting still need to block network access
- through QNAM.
-
- * Api/qwebsettings.cpp:
- (qt_networkAccessAllowed):
-
-2010-01-07 Yongjun Zhang <yongjun.zhang@nokia.com>, Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] need an API to suspend and resume active Javascript DOM objects.
- https://bugs.webkit.org/show_bug.cgi?id=31673
-
- Add suspend and resume DOM objects private API to QWebFrame.
-
- * Api/qwebframe.cpp:
- (qt_suspendActiveDOMObjects):
- (qt_resumeActiveDOMObjects):
-
-2010-01-06 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Return an invalid Qt::ImMicroFocus if queried while the view needs to layout.
-
- https://bugs.webkit.org/show_bug.cgi?id=33204
-
- * Api/qwebpage.cpp:
- (QWebPage::inputMethodQuery):
-
-2010-01-05 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Drag & drop layout tests fail even when run manually
- https://bugs.webkit.org/show_bug.cgi?id=33055
-
- No new tests. Fix 3 layout tests when run manually.
- fast/events/drag-and-drop.html
- fast/events/drag-and-drop-dataTransfer-types-nocrash.html
- fast/events/drag-and-drop-fire-drag-dragover.html
- Running these tests in DRT will be fixed in 31332.
-
- * Api/qwebpage.cpp:
- (dropActionToDragOp):
- (dragOpToDropAction):
- (QWebPagePrivate::dragEnterEvent):
- (QWebPagePrivate::dragMoveEvent):
- (QWebPagePrivate::dropEvent):
- Accept drag events even if they are not over a drop target.
- This is to ensure that drag events will continue to be delivered.
-
- * Api/qwebpage_p.h:
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::dragOperationToDropActions):
- (WebCore::dropActionToDragOperation):
- (WebCore::DragClientQt::startDrag):
- Send dragEnd event.
-
-2010-01-04 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=33097
-
- Cleans up the File menu to better conform to the File menu in Safari
- both in terms of options and keyboard shortcuts. Adds a "Quit" menu
- options to close all open windows.
-
- * QGVLauncher/main.cpp:
- (MainWindow::buildUI):
-
-2009-12-31 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Enable all HTML5 persistent features for QGVLauncher
- https://bugs.webkit.org/show_bug.cgi?id=33086
-
- * QGVLauncher/main.cpp: Call enablePersistentStorage()
- (main):
-
-2009-12-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] It should be possible to disable inspector
- https://bugs.webkit.org/show_bug.cgi?id=32724
-
- This change fixes the build break. Some QtWebKit interfaces
- will not be fully functional (most notable QWebInspector) if
- INSPECTOR is disabled.
-
- * Api/qwebinspector.cpp:
- (QWebInspector::showEvent):
- (QWebInspector::closeEvent):
- * Api/qwebpage.cpp:
- (webActionForContextMenuAction):
- (QWebPagePrivate::getOrCreateInspector):
- (QWebPagePrivate::inspectorController):
- (QWebPage::triggerAction):
- (QWebPage::updatePositionDependentActions):
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::showWindow):
- (WebCore::InspectorClientQt::closeWindow):
-
-2009-12-30 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- Upstream Symbian def files from Qt 4.6.
-
- These files define the ABI of QtWebKit on Symbian.
-
- * symbian/bwins/QtWebKitu.def: Added.
- * symbian/eabi/QtWebKitu.def: Added.
-
-2009-12-29 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- https://bugs.webkit.org/show_bug.cgi?id=32925
-
- Adds an Open File dialog to make it convenient to open a file
- to view in the browser.
-
- * QGVLauncher/main.cpp:
- (MainWindow::load): Modified to call loadURL.
- (MainWindow::openFile): Added.
- (MainWindow::loadURL): Added.
- (MainWindow::buildUI): Added menu item Open File.
-
-2009-12-29 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Eric Seidel.
-
- [Qt] Fix crash on LayoutTests/fast/loader/empty-embed-src-attribute.html
-
- Related to https://bugs.webkit.org/show_bug.cgi?id=23806
-
- If an embedded document is loaded within a page and it has an empty
- URL, use a blank URL for the load request.
-
- https://bugs.webkit.org/show_bug.cgi?id=33017
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2009-12-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Rubber-stamped by Simon Hausmann and Holger Freyther.
-
- [Qt] Remove WebKit/qt/WebKitPart empty directory
-
- The content of the directory has been removed by r34888.
-
- * WebKitPart: Removed.
-
-2009-12-29 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] DRT: Frame loader callbacks differ from the Mac port
- https://bugs.webkit.org/show_bug.cgi?id=32989
-
- Remove messages from the callbacks that should not dump them to match
- the expected results for the http/loading tests.
-
- Unskip some http/loading tests which succeed now.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidPopStateWithinPage):
- (WebCore::FrameLoaderClientQt::dispatchWillClose):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveIcon):
- (WebCore::FrameLoaderClientQt::dispatchDidClearWindowObjectInWorld):
-
-2009-12-29 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Eric Seidel.
-
- [Qt] fix fast/dom/Window/window-onFocus.html
-
- Add support for layouttestcontroller.windowIsKey to Qt DRT and fix issue where
- window.onblur was getting dispatched twice from QtWebKit.
-
- https://bugs.webkit.org/show_bug.cgi?id=32990
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::focusOutEvent):
-
-2009-12-24 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Gustavo Noronha.
-
- Doc : QGraphicsWebView::zoomFactor was introduced in 4.6.
-
- * Api/qgraphicswebview.cpp:
-
-2009-12-22 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Holger Freyther.
-
- Moved QtLauncher to WebKitTools/
-
- * QtLauncher: Removed.
- * QtLauncher/QtLauncher.pro: Removed.
- * QtLauncher/main.cpp: Removed.
-
-2009-12-21 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Doc: Minor fixes to language.
-
- * Api/qwebpage.cpp:
-
-2009-12-21 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Clean up the WebKit layer unit-tests
-
- - Use tests.pri for common options
- - Standardize file naming
- - Move all resources to 'resources' subdir
- - Standardize how TESTS_SOURCE_DIR is used
- - Get rid of UID3 for symbian (autogenerated)
- - Don't build app bundles on Mac OS X
-
- * tests/benchmarks/loading/loading.pro: Added.
- * tests/benchmarks/loading/tst_loading.pro: Removed.
- * tests/benchmarks/painting/painting.pro: Added.
- * tests/benchmarks/painting/tst_painting.pro: Removed.
- * tests/qgraphicswebview/qgraphicswebview.pro:
- * tests/qwebelement/qwebelement.pro:
- * tests/qwebelement/qwebelement.qrc: Removed.
- * tests/qwebelement/resources/image.png: Renamed from WebKit/qt/tests/qwebelement/image.png.
- * tests/qwebelement/resources/style.css: Renamed from WebKit/qt/tests/qwebelement/style.css.
- * tests/qwebelement/resources/style2.css: Renamed from WebKit/qt/tests/qwebelement/style2.css.
- * tests/qwebelement/tst_qwebelement.qrc: Added.
- * tests/qwebframe/qwebframe.pro:
- * tests/qwebframe/qwebframe.qrc: Removed.
- * tests/qwebframe/resources/image.png: Renamed from WebKit/qt/tests/qwebframe/image.png.
- * tests/qwebframe/resources/style.css: Renamed from WebKit/qt/tests/qwebframe/style.css.
- * tests/qwebframe/resources/test1.html: Renamed from WebKit/qt/tests/qwebframe/test1.html.
- * tests/qwebframe/resources/test2.html: Renamed from WebKit/qt/tests/qwebframe/test2.html.
- * tests/qwebframe/resources/testiframe.html: Renamed from WebKit/qt/tests/qwebframe/testiframe.html.
- * tests/qwebframe/resources/testiframe2.html: Renamed from WebKit/qt/tests/qwebframe/testiframe2.html.
- * tests/qwebframe/tst_qwebframe.cpp:
- * tests/qwebframe/tst_qwebframe.qrc: Added.
- * tests/qwebhistory/qwebhistory.pro:
- * tests/qwebhistory/resources/page1.html: Renamed from WebKit/qt/tests/qwebhistory/data/page1.html.
- * tests/qwebhistory/resources/page2.html: Renamed from WebKit/qt/tests/qwebhistory/data/page2.html.
- * tests/qwebhistory/resources/page3.html: Renamed from WebKit/qt/tests/qwebhistory/data/page3.html.
- * tests/qwebhistory/resources/page4.html: Renamed from WebKit/qt/tests/qwebhistory/data/page4.html.
- * tests/qwebhistory/resources/page5.html: Renamed from WebKit/qt/tests/qwebhistory/data/page5.html.
- * tests/qwebhistory/resources/page6.html: Renamed from WebKit/qt/tests/qwebhistory/data/page6.html.
- * tests/qwebhistory/tst_qwebhistory.cpp:
- (tst_QWebHistory::):
- * tests/qwebhistory/tst_qwebhistory.qrc:
- * tests/qwebhistoryinterface/qwebhistoryinterface.pro:
- * tests/qwebinspector/qwebinspector.pro:
- * tests/qwebpage/qwebpage.pro:
- * tests/qwebpage/resources/frame_a.html: Renamed from WebKit/qt/tests/qwebpage/frametest/frame_a.html.
- * tests/qwebpage/resources/iframe.html: Renamed from WebKit/qt/tests/qwebpage/frametest/iframe.html.
- * tests/qwebpage/resources/iframe2.html: Renamed from WebKit/qt/tests/qwebpage/frametest/iframe2.html.
- * tests/qwebpage/resources/iframe3.html: Renamed from WebKit/qt/tests/qwebpage/frametest/iframe3.html.
- * tests/qwebpage/resources/index.html: Renamed from WebKit/qt/tests/qwebpage/frametest/index.html.
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::backActionUpdate):
- (tst_QWebPage::frameAt):
- (tst_QWebPage::errorPageExtensionInFrameset):
- (tst_QWebPage::screenshot):
- * tests/qwebpage/tst_qwebpage.qrc:
- * tests/qwebplugindatabase/qwebplugindatabase.pro:
- * tests/qwebview/qwebview.pro:
- * tests/qwebview/resources/frame_a.html: Renamed from WebKit/qt/tests/qwebview/data/frame_a.html.
- * tests/qwebview/resources/index.html: Renamed from WebKit/qt/tests/qwebview/data/index.html.
- * tests/qwebview/tst_qwebview.cpp:
- (tst_QWebView::reusePage):
- (tst_QWebView::crashTests):
- * tests/qwebview/tst_qwebview.qrc:
- * tests/resources/image2.png: Renamed from WebKit/qt/tests/qwebframe/resources/image2.png.
- * tests/tests.pri: Added.
- * tests/tests.pro:
-
-2009-12-18 Ariya Hidayat <ariya.hidayat@gmail.com>
-
- Build fix, not reviewed.
-
- * QtLauncher/main.cpp:
- (MainWindow::setTouchMocking): Leave setTouchMocking as an empty
- function for Qt < 4.6 so that moc still creates a slot for that.
- Otherwise, it would have generated a linker error.
-
-2009-12-18 Adam Roben <aroben@apple.com>
-
- Qt build fix
-
- * Api/qwebpage.cpp: Added #include.
-
-2009-12-18 Adam Roben <aroben@apple.com>
-
- Qt build fix
-
- * Api/qwebpage.cpp:
- Added #includes.
-
-2009-12-18 Joe Ligman <joseph.ligman@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add new API to QWebFrame to scrollRecursively starting with any css overflow
- then checking current frame and then ancestors
- https://bugs.webkit.org/show_bug.cgi?id=32668
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::scrollOverflow):
- (QWebFrame::scrollRecursively):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- * tests/qwebframe/qwebframe.qrc:
- * tests/qwebframe/testiframe.html: Added.
- * tests/qwebframe/testiframe2.html: Added.
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-12-18 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Fix infinite recursion in touch mocking.
-
- Don't send the fake touch events to the view, as that'll trigger the
- event filter again.
-
- * QtLauncher/main.cpp:
- (MainWindow::sendTouchEvent):
-
-2009-12-17 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add support for mocking touch events with Q(GV)Launcher
- https://bugs.webkit.org/show_bug.cgi?id=32434
-
- The event delivery should go through QCoreApplication::sendEvent()
-
- * QtLauncher/main.cpp:
- (MainWindow::sendTouchEvent):
-
-2009-12-17 Kim Grönholm <kim.gronholm@nomovok.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add support for touch events in QWebView and QGraphicsWebView
- https://bugs.webkit.org/show_bug.cgi?id=32432
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::QGraphicsWebView):
- (QGraphicsWebView::sceneEvent):
- * Api/qwebview.cpp:
- (QWebView::QWebView):
- (QWebView::event):
-
-2009-12-17 Kim Grönholm <kim.gronholm@nomovok.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add support for mocking touch events with QtLauncher
- https://bugs.webkit.org/show_bug.cgi?id=32434
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- (MainWindow::sendTouchEvent):
- (MainWindow::eventFilter):
- (MainWindow::setTouchMocking):
- (MainWindow::setupUI):
-
-2009-12-14 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix JavaScript prompt behavior for empty/null strings.
- https://bugs.webkit.org/show_bug.cgi?id=30914
-
- The patch is based on the work done by Gupta Manish.
-
- In the default implementation of the JavaScript prompt
- we are using a QInputDialog to get the text and this has
- one quirk with regard to not entering any text.
-
- In other WebKit ports and in Firefox an empty string is
- returned but in the Qt case it is a null string.
-
- Change the API documentation in QWebPage to mention we want to
- have a non null string but do the fixup in the ChromeClientQt
- to support existing code.
-
- * Api/qwebpage.cpp:
- (QWebPage::javaScriptPrompt): Change API documentation
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::runJavaScriptPrompt): Fixup null QString
-
-2009-11-24 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Do not disable the inspector on show and hide
- https://bugs.webkit.org/show_bug.cgi?id=31851
-
- On Qt/X11 with some window managers the window will be
- hidden when switching windows. In this case all the results
- are gone when coming back to the window.
-
- Attempt to use the CloseEvent to figure out if the window
- was closed and withdrawn as this is more friendly to the
- user of the inspector client.
-
- * Api/qwebinspector.cpp:
- (QWebInspector::hideEvent):
- (QWebInspector::closeEvent):
- * Api/qwebinspector.h:
-
-2009-12-14 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Improve the autotests of QtWebkit
- https://bugs.webkit.org/show_bug.cgi?id=32216
-
- Refactor tst_qwebelement to remove the qWait()
-
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::style):
-
-2009-12-14 Andreas Kling <andreas.kling@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix the QWebPage inputMethods() autotest after r51758
- to compare the Qt::ImFont property's family against an explicitly
- previously configured family.
-
- https://bugs.webkit.org/show_bug.cgi?id=32491
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2009-12-13 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
- Add client based Geolocation provider
-
- Add first cut of a client based Geolocation provider. This is guarded by
- ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
- GeolocationControllerClient interface that no-one currently implements,
- but will in a subsequent patch.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2009-12-13 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Add a test in Qt for https://bugs.webkit.org/show_bug.cgi?id=29005
- https://bugs.webkit.org/show_bug.cgi?id=29008
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-12-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [Qt] Re-enable QWebView::renderHints property for Qt for Symbian
-
- https://bugs.webkit.org/show_bug.cgi?id=28273
-
- The bug in Qt's moc that triggered a linking error when declaring this
- property has been fixed and we can remove the workaround.
-
- * Api/qwebview.h:
-
-2009-12-11 Yael Aharon <yael.aharon@nokia.com>
-
- Unreviewed build fix for Qt versions < 4.6.
-
- * tests/qwebframe/tst_qwebframe.cpp:
- * tests/qwebview/tst_qwebview.cpp:
- (tst_QWebView::reusePage):
-
-2009-12-11 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Updated QWebElement documentation
-
- findAll() returns a QWebElementCollection, not QList<QWebElement>.
-
- * docs/webkitsnippets/webelement/main.cpp:
- (findAll):
-
-2009-12-11 Simon Hausmann <hausmann@webkit.org>, Kim Grönholm <kim.gronholm@nomovok.com>
-
- Reviewed by Antti Koivisto.
-
- Forward Qt touch events to the event handler as platform touch events.
-
- https://bugs.webkit.org/show_bug.cgi?id=32114
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::touchEvent):
- (QWebPage::event):
- * Api/qwebpage_p.h:
-
-2009-12-07 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Improve the autotests of QtWebkit
- https://bugs.webkit.org/show_bug.cgi?id=32216
-
- Remove the calls to qWait() of the autotest of QWebView
-
- * tests/qwebview/tst_qwebview.cpp:
- (tst_QWebView::reusePage):
-
-2009-12-07 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Improve the autotests of QtWebkit
- https://bugs.webkit.org/show_bug.cgi?id=32216
-
- Refactor tst_qwebframe to remove qWait() and use
- the function waitForSignal() from util.h
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-12-07 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Improve the autotests of QtWebkit
- https://bugs.webkit.org/show_bug.cgi?id=32216
-
- Refactor the test of QGraphicsWebView:
- -make waitForSignal() available to all the tests.
- -remove QTest::qWait()
-
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
- (tst_QGraphicsWebView::crashOnViewlessWebPages):
- * tests/util.h:
- (waitForSignal):
-
-2009-12-07 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Plugins: Force windowless mode when there is no native window handle
-
- Inject wmode=opaque while instantiating the plugin for the case when the
- webpage is not backed by a native window handle.
-
- https://bugs.webkit.org/show_bug.cgi?id=32059
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2009-12-04 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Corrects QtLauncher style
-
- * QtLauncher/main.cpp:
- (WebPage::acceptNavigationRequest):
- (MainWindow::MainWindow):
- (MainWindow::webPage):
- (MainWindow::webView):
- (MainWindow::changeLocation):
- (MainWindow::loadFinished):
- (MainWindow::showLinkHover):
- (MainWindow::zoomIn):
- (MainWindow::zoomOut):
- (MainWindow::print):
- (MainWindow::setEditable):
- (MainWindow::dumpHtml):
- (MainWindow::selectElements):
- (MainWindow::newWindow):
- (MainWindow::setupUI):
- (WebPage::createWindow):
- (WebPage::createPlugin):
- (main):
-
-2009-12-04 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QtLauncher: add a menu to show or hide the web inspector.
- https://bugs.webkit.org/show_bug.cgi?id=32149
-
- * QtLauncher/main.cpp:
- (WebInspector::WebInspector):
- (WebInspector::showEvent):
- (WebInspector::hideEvent):
- (MainWindow::MainWindow):
- (MainWindow::setupUI):
-
-2009-12-04 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Antti Koivisto.
-
- Split out the renderPrivate in two methods, one for working on
- relative coordinates (relative to the viewport) and one for
- working on absolute coordinates. The latter is more effecient
- for implementing tiling, as you don't need translate the coords,
- and because it avoid clipping to the viewport.
-
- No behaviour changes, so no new tests.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::renderContentsLayerAbsoluteCoords):
- (QWebFramePrivate::renderRelativeCoords):
- (QWebFrame::render):
- * Api/qwebframe_p.h:
-
-2009-12-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Allow removing 'qrc' as a local security origin scheme
-
- * tests/qwebpage/tst_qwebpage.cpp:
-
-2009-12-04 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Clean up argument parsing in the QtLauncher
-
- * QtLauncher/main.cpp:
-
-2009-12-04 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Prevent the inspector from closing its wrapping widget.
- This is not necessary anymore since we now hide the embedded
- close button.
- https://bugs.webkit.org/show_bug.cgi?id=32149
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::showWindow):
- (WebCore::InspectorClientQt::closeWindow):
-
-2009-12-03 İsmail Dönmez <ismail@namtrac.org>
-
- Reviewed by Eric Seidel.
-
- Fix compilation when SVG is disabled.
-
- * Api/qwebframe.cpp:
- (qt_drt_pauseSVGAnimation):
-
-2009-12-03 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig.
-
- <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidPushStateWithinPage):
- (WebCore::FrameLoaderClientQt::dispatchDidReplaceStateWithinPage):
- (WebCore::FrameLoaderClientQt::dispatchDidPopStateWithinPage):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2009-12-03 Pavel Feldman <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: Simplify the settings support in inspector controller.
-
- https://bugs.webkit.org/show_bug.cgi?id=32076
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::populateSetting):
- (WebCore::InspectorClientQt::storeSetting):
- (WebCore::variantToSetting):
- (WebCore::settingToVariant):
- * WebCoreSupport/InspectorClientQt.h:
-
-2009-12-03 Ben Murdoch <benm@google.com>
-
- Reviewed by Brady Eidson.
-
- [Android] The FrameLoaderClient is unaware of BackForwardList changes.
- https://bugs.webkit.org/show_bug.cgi?id=31914
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
- (WebCore::FrameLoaderClientQt::dispatchDidRemoveBackForwardItem): ditto.
- (WebCore::FrameLoaderClientQt::dispatchDidChangeBackForwardIndex): ditto.
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Not reviewed. Try to fix Qt build.
-
- * Api/qwebframe.cpp:
- (qt_drt_pauseSVGAnimation):
-
-2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
-
- Reviewed by Simon Fraser.
-
- Add SVG animation test framework with 'snapshot' functionality
- https://bugs.webkit.org/show_bug.cgi?id=31897
-
- Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method,
- forwarding the call to SVGDocumentExtensions, if SVG is enabled.
-
- Implemented just like the existing pauseAnimation* methods for CSS animations.
-
- * Api/qwebframe.cpp:
- (qt_drt_pauseSVGAnimation):
-
-2009-12-01 Daniel Bates <dbates@webkit.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=31898
-
- Makes QtLauncher default to the http scheme for URLs.
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- (MainWindow::changeLocation):
- (main):
-
-2009-11-30 Abhinav Mithal <abhinav.mithal@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt][Symbian] Report SymbianOS in user agent string for Symbian
- https://bugs.webkit.org/show_bug.cgi?id=31961
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
-
-2009-11-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix minor waning in QtWebKit
- https://bugs.webkit.org/show_bug.cgi?id=31963
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (ErrorPage::extension): Remove info wariable as it is
- not used.
-
-2009-11-28 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] SoftwareInputPanelRequest event sent when clicking in newly loaded page
-
- https://bugs.webkit.org/show_bug.cgi?id=31401
-
- Don't set the event unless there is a focused node we can use
- for editing afterwards.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::handleSoftwareInputPanel):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2009-11-26 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Holger Freyther.
-
- Removed unused ICO image plugin handler.
-
- * Plugins/ICOHandler.cpp: Removed.
- * Plugins/ICOHandler.h: Removed.
- * Plugins/Plugins.pro: Removed.
-
-2009-11-12 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Do not show the QWidget when the WebCore::Widget is hidden
- https://bugs.webkit.org/show_bug.cgi?id=31203
-
- The clipping code was making a QWidget visible even if the
- WebCore::Widget was hidden. Fix the bug by calling setVisible
- only if the WebCore::Widget Widget::isSelfVisible.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::QtPluginWidget::show): Override WebCore::Widget::show to call handleVisibility
- (WebCore::QtPluginWidget::handleVisibility): New method to call setVisible when we are visible
- (FrameLoaderClientQt::createPlugin): Hide the QWidget by default
-
-2009-11-23 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Updated the QWebElement documentation with links to examples and
- external resources.
- Fixed the project file for the webelement snippet and tidied up the
- markers used for quoting the code.
-
- * Api/qwebelement.cpp:
- * docs/webkitsnippets/webelement/main.cpp:
- (findAll):
- * docs/webkitsnippets/webelement/webelement.pro:
-
-2009-11-23 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
- the wrapped object died before the gc removed the instance.
-
- https://bugs.webkit.org/show_bug.cgi?id=31681
-
- Added a unit-test to verify that wrapping a QObject with the
- same identity as a previously but now dead object works.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-11-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Add instantiation tests for QWebInspector.
-
- * tests/qwebinspector/qwebinspector.pro: Added.
- * tests/qwebinspector/tst_qwebinspector.cpp: Added.
- (tst_QWebInspector::attachAndDestroy):
- * tests/tests.pro:
-
-2009-11-19 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix QWebInspector destruction problem.
- https://bugs.webkit.org/show_bug.cgi?id=31664
-
- * Api/qwebpage.cpp:
- (QWebPage::~QWebPage):
-
-2009-11-19 Olivier Goffart <ogoffart@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Normalize signal and slot signatures.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::setPage):
- * Api/qwebview.cpp:
- (QWebView::setPage):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::setFrame):
- * docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp:
- (wrapInFunction):
- * tests/qwebframe/tst_qwebframe.cpp:
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::modified):
- (tst_QWebPage::database):
-
-2009-11-18 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Remove support for Qt v4.3 or older versions
- https://bugs.webkit.org/show_bug.cgi?id=29469
-
- * Api/qcookiejar.cpp: Removed.
- * Api/qcookiejar.h: Removed.
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::event):
- * Api/qwebframe.cpp:
- (QWebFrame::load):
- * Api/qwebframe.h:
- * Api/qwebkitglobal.h:
- * Api/qwebnetworkinterface.cpp: Removed.
- * Api/qwebnetworkinterface.h: Removed.
- * Api/qwebnetworkinterface_p.h: Removed.
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::acceptNavigationRequest):
- (QWebPage::acceptNavigationRequest):
- (QWebPage::action):
- (QWebPage::userAgentForUrl):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebView::load):
- (QWebView::event):
- * Api/qwebview.h:
- * QtLauncher/main.cpp:
- (MainWindow::print):
- (MainWindow::setupUI):
- (main):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::download):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
- (WebCore::FrameLoaderClientQt::startDownload):
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2009-11-18 Shu Chang <Chang.Shu@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Add support for displaying deleteButton.
- https://bugs.webkit.org/show_bug.cgi?id=31560
-
- Test: LayoutTests/editing/deleting/5408255.html
-
- * Api/qwebsettings.cpp:
- (graphics):
- * Api/qwebsettings.h:
-
-2009-11-18 Paul Olav Tvete <paul.tvete@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Make the QWebElement::render() test pass when pixmaps aren't 32 bit.
-
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::render):
-
-2009-11-18 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Clarify and simplify the legal section in the overview documentation,
- after review with our legal team.
-
- * docs/qtwebkit.qdoc:
-
-2009-11-18 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add QtLauncher support for opening links in the default browser
-
- This can be triggered by either the context menu or by clicking a link
- while holding down the Alt key. Opening a link in a new windows is
- triggered by holding down Shift.
-
- * QtLauncher/main.cpp:
-
-2009-11-17 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] QGLLauncher does not support drag&drop of local files
- https://bugs.webkit.org/show_bug.cgi?id=31057
-
- Enable accepting files in QGraphicsWebView.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::QGraphicsWebView):
- (QGraphicsWebView::dragEnterEvent):
-
-2009-11-17 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] better test coverage for ErrorPageExtension
- https://bugs.webkit.org/show_bug.cgi?id=31583
-
- Improved the coverage of current ErrorPageExtension tests by
- adding autotests involving frameset and iframes.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (ErrorPage::extension): Make the ErrorPageExtension
- to work for all frames, not only the main frame.
- (tst_QWebPage::errorPageExtension): Stop using
- the 'frameset.html' resouce in this method since
- an autotest specific for frameset's is being added.
- (tst_QWebPage::errorPageExtensionInIFrames): Added.
- (tst_QWebPage::errorPageExtensionInFrameset): Added.
-
-2009-11-16 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- API documentation fixes.
-
- * Api/qgraphicswebview.cpp: Removed duplicate docs.
- * Api/qwebelement.cpp: Added missing docs.
- * Api/qwebsettings.cpp: Ditto.
-
-2009-11-14 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Antti Koivisto.
-
- [Qt] Broken back/forward after using ErrorPageExtension to set error page
- https://bugs.webkit.org/show_bug.cgi?id=30573
-
- Implemented autotests for covering the back/forward
- reset problem involving error pages.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::errorPageExtension):
-
-2009-11-13 Adam Roben <aroben@apple.com>
-
- Update for changes to FrameLoaderClient
-
- Fixes <http://webkit.org/b/31124> Tell the WebFrameLoadDelegate when
- window objects in isolated worlds are cleared
-
- Reviewed by Dave Hyatt.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidClearWindowObjectInWorld):
- * WebCoreSupport/FrameLoaderClientQt.h:
- Replaced windowObjectCleared with this function. Does nothing if the
- passed-in world is not the mainThreadNormalWorld().
-
-2009-11-13 Andras Becsi <becsi.andras@stud.u-szeged.hu>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Enable Page Cache if setMaximumPagesInCache needs it.
- This fixes https://bugs.webkit.org/show_bug.cgi?id=31266.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::setMaximumPagesInCache):
-
-2009-11-13 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Fix initial QWebView focus behavior.
-
- focusController->setFocused(true) was not always called.
- https://bugs.webkit.org/show_bug.cgi?id=31466
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::focusInEvent):
-
-2009-11-13 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Update documentation for the Qt API
-
- * Api/qgraphicswebview.cpp:
- * Api/qwebelement.cpp:
- * Api/qwebframe.cpp:
- * Api/qwebsettings.cpp:
- * Api/qwebview.cpp:
-
-2009-11-13 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Use correct install-path when running qdoc3
-
- * docs/docs.pri:
-
-2009-11-12 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- externalRepresentation should take Frame as the argument
- https://bugs.webkit.org/show_bug.cgi?id=31393
-
- No new tests as this is just a refactoring.
-
- * Api/qwebframe.cpp:
- (QWebFrame::renderTreeDump):
-
-2009-11-12 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Jan Alonzo.
-
- [Qt] Various doc fixes
- https://bugs.webkit.org/show_bug.cgi?id=31358
-
- QWebPage's constructor docs are mentioning "QWebView":
- "Constructs an empty QWebView with parent".
-
- * Api/qwebpage.cpp:
-
-2009-11-12 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Custom printing shrink factors
- https://bugs.webkit.org/show_bug.cgi?id=29042
-
- This reverts commit r49769. The public API for this needs to be reviewed
- before its inclusion in Qt.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h:
-
-2009-11-11 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] Various doc fixes
- https://bugs.webkit.org/show_bug.cgi?id=31358
-
- Fixed wrong documentation: item's dimensions do fit to Web page
- content by default.
-
- Kenneth agreed to land this as a followup patch to the
- just landed documentation patch.
-
- * Api/qgraphicswebview.cpp:
-
-2009-11-11 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] Various doc fixes
- https://bugs.webkit.org/show_bug.cgi?id=31323
-
- Fixed and synchronized QWebView related documentation.
-
- * Api/qgraphicswebview.cpp:
- * Api/qwebview.cpp:
-
-2009-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed buildbot fix.
-
- Export a method to the DRT to know if the document has a
- document element.
-
- * Api/qwebframe.cpp:
- (qt_drt_hasDocumentElement):
-
-2009-11-11 Liang QI <liang.qi@nokia.com>
-
- [Qt] Fix tst_qwebpage and tst_qwebframe compilation on Symbian.
-
- * tests/qwebframe/qwebframe.pro:
- * tests/qwebframe/tst_qwebframe.cpp:
- * tests/qwebpage/qwebpage.pro:
- * tests/qwebpage/tst_qwebpage.cpp:
-
-2009-11-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Fix a crash in the layout test plugins/document-open.html
-
- * Api/qwebframe.cpp:
- (QWebFrame::toPlainText):
-
-2009-11-11 Warwick Allison <warwick.allison@nokia.com>, Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Regression: Preserve the parent of plugin objects when using
- QtWebKit with only a QWebPage.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin): Don't reparent
- plugins to 0.
- * tests/qwebpage/tst_qwebpage.cpp:
- (PluginCounterPage::PluginCounterPage): Initialize m_pluginParent to 0.
- (PluginCounterPage::~PluginCounterPage): Delete the plugin parent later
- (after the page)
- (PluginTracerPage::createPlugin): Assign a dummy parent to the plugin.
- (PluginTracerPage::PluginTracerPage): Set up the plugin parent.
- (tst_QWebPage::createViewlessPlugin): Verify that for viewless pages the
- plugin parent remains unchanged.
-
-2009-11-11 David Boddie <dboddie@trolltech.com>
-
- [Qt] Doc: Added internal or hidden placeholder documentation.
-
- * Api/qwebpage.cpp:
-
-2009-11-11 Martin Smith <msmith@trolltech.com>
-
- [Qt] doc: Changed Trolltech to Nokia
-
- * Api/qwebview.cpp:
-
-2009-11-11 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=31323
- Fix a few compiler warnings
-
- * tests/qwebframe/tst_qwebframe.cpp: Add extra brackets
- to make it explicit where the else case belongs
-
-2009-11-11 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Fix enabling of software input panel when activating editable elements
- in QGraphicsWebView.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::inputMethodEnabled): Implement method to
- query for input method support.
- * Api/qwebpage.cpp:
- (QWebPageWidgetClient::inputMethodEnabled): Ditto for QWidget.
- (QWebPagePrivate::handleSoftwareInputPanel): Don't use view() to
- test for input method support. Instead query using QWebPageClient
- and send the SIPR event to the ownerWidget() instead of the view().
- The latter is null for QGraphicsWebView.
- * tests/qwebpage/tst_qwebpage.cpp:
- (EventSpy::EventSpy):
- (EventSpy::eventFilter):
- (tst_QWebPage::inputMethods): Modify the test to verify that SIPR
- events are dispatched when activating focusable content.
-
-2009-11-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed documentation fixes.
-
- Added a few improvements from Jocelyn Turcotte to the
- createWindow docs.
-
- * Api/qwebview.cpp:
-
-2009-11-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed documentation fix.
-
- [Qt] Make qwebpage's createWindow not qwebview dependent.
- https://bugs.webkit.org/show_bug.cgi?id=30771
-
- Update documentation to make it clear that a reimplementation
- of the createWindow method of the associated QWebPage can
- result in the QWebView::createWindow method to never be called.
-
- * Api/qwebview.cpp:
-
-2009-11-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- [Qt] Few classes have virtual functions but non-virtual destructor
- https://bugs.webkit.org/show_bug.cgi?id=31269
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::~QGraphicsWebViewPrivate): Add virtual
- destructor.
-
-2009-11-09 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=30628
- Add an API to get all the attributes from a QWebElement.
-
- * Api/qwebelement.cpp:
- (QWebElement::attributesName):
- * Api/qwebelement.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::listAttributes):
-
-2009-11-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
- https://bugs.webkit.org/show_bug.cgi?id=31040
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::handleScrolling):
-
-2009-11-09 Mark Mentovai <mark@chromium.org>
-
- Reviewed by Dan Bernstein.
-
- Track "can have scrollbar" state within FrameView independently of the
- individual scrollbar states in ScrollView.
-
- rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
- REGRESSION (r48064): mint.com loses scrollbars after coming out of
- edit mode.
-
- rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
- REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
-
- Test: fast/overflow/scrollbar-restored.html
-
- * Api/qwebframe.cpp:
- (QWebFrame::setScrollBarPolicy):
-
-2009-11-09 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Kenneth Rohde Christiansen.
-
- https://bugs.webkit.org/show_bug.cgi?id=30772
- Add a non-const iterator to QWebElementCollection.
- Move the two attributes of the iterator to private.
-
- * Api/qwebelement.h:
- (const_iterator::begin):
- (const_iterator::end):
- (const_iterator::constBegin):
- (const_iterator::constEnd):
- (const_iterator::iterator::iterator):
- (const_iterator::iterator::operator*):
- (const_iterator::iterator::operator==):
- (const_iterator::iterator::operator!=):
- (const_iterator::iterator::operator<):
- (const_iterator::iterator::operator<=):
- (const_iterator::iterator::operator>):
- (const_iterator::iterator::operator>=):
- (const_iterator::iterator::operator++):
- (const_iterator::iterator::operator--):
- (const_iterator::iterator::operator+=):
- (const_iterator::iterator::operator-=):
- (const_iterator::iterator::operator+):
- (const_iterator::iterator::operator-):
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::nonConstIterator):
- (tst_QWebElement::constIterator):
-
-2009-11-09 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] Remove the sessionStorage setting (per Page)
- https://bugs.webkit.org/show_bug.cgi?id=31249
-
- This setting allows to run sessionStorage on/off on a per page
- basis. Remove this prematurely exposed API.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::database):
- (tst_QWebPage::testOptionalJSObjects):
-
-2009-11-09 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Remove the QWebPage:webInspectorTriggered signal.
- User customization of the communication between QWebPage
- and QWebInspector will be properly designed in the next version.
- https://bugs.webkit.org/show_bug.cgi?id=30773
-
- * Api/qwebinspector.cpp:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::getOrCreateInspector):
- (QWebPage::triggerAction):
- * Api/qwebpage.h:
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
-
-2009-11-05 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Added a missing re-implementation of QGraphicsItem::inputMethodQuery().
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::inputMethodQuery):
- * Api/qgraphicswebview.h:
-
-2009-11-04 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Provide a dummy re-implementation of QGraphicsLayoutItem::sizeHint(),
- similar to QWebView.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::sizeHint):
- * Api/qgraphicswebview.h:
-
-2009-11-04 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Removed zoomFactoryChanged() signal and added
- linkClicked() to QGraphicsWebView, for consistency with
- QWebView.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::setPage):
- (QGraphicsWebView::setZoomFactor):
- * Api/qgraphicswebview.h:
-
-2009-11-04 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Added QGraphicsWebView::findText() for convenience and consistency
- with QWebView.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::findText):
- * Api/qgraphicswebview.h:
-
-2009-11-04 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Added QGraphicsWebView::pageAction() and triggerPageAction(), for
- consistency with QWebView.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::pageAction):
- (QGraphicsWebView::triggerPageAction):
- * Api/qgraphicswebview.h:
-
-2009-11-04 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Removed QGraphicsWebView::toHtml() after API review.
-
- That's consistent with QWebView and also based on the assumption that
- toHtml() is called less frequently than setHtml().
-
- * Api/qgraphicswebview.cpp:
- * Api/qgraphicswebview.h:
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
- (tst_QGraphicsWebView::qgraphicswebview):
-
-2009-11-04 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Removed the interactive property of QGraphicsWebView.
-
- There are clearly use-cases for this feature, but it will require
- more work to make this fully work with an enum to have fine-grained
- control over the interactivity levels. For now it is easy to achieve
- in user-code what the boolean property did.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate):
- (QGraphicsWebView::hoverMoveEvent):
- (QGraphicsWebView::mouseMoveEvent):
- (QGraphicsWebView::mousePressEvent):
- (QGraphicsWebView::mouseReleaseEvent):
- (QGraphicsWebView::mouseDoubleClickEvent):
- (QGraphicsWebView::keyPressEvent):
- (QGraphicsWebView::keyReleaseEvent):
- (QGraphicsWebView::dragLeaveEvent):
- (QGraphicsWebView::dragMoveEvent):
- (QGraphicsWebView::dropEvent):
- (QGraphicsWebView::wheelEvent):
- (QGraphicsWebView::inputMethodEvent):
- * Api/qgraphicswebview.h:
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
- (tst_QGraphicsWebView::qgraphicswebview):
-
-2009-11-04 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Make the QGraphicsWebView constructor explicit.
-
- * Api/qgraphicswebview.h:
-
-2009-11-05 Shu Chang <Chang.Shu@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Add support for Shift-PageUp and Shift-PageDown key events.
- https://bugs.webkit.org/show_bug.cgi?id=31166
-
- Test: LayoutTests/editing/selection/shrink-selection-after-shift-pagedown.html
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2009-11-05 Simon Hausmann <hausmann@webkit.org>
-
- Last Qt 4.5 build fix (*sigh*)
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (inputMethodHints): inputMethodHints() is only used for
- Qt 4.6, so guard the whole function.
-
-2009-11-05 Simon Hausmann <hausmann@webkit.org>
-
- Another prospective build fix against Qt 4.5 (build bot)
-
- Don't compile & run the QGraphicsWebView portion of the
- input methods auto test with Qt 4.5.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods_data):
- (inputMethodHints):
- (inputMethodEnabled):
- (tst_QWebPage::inputMethods):
-
-2009-11-05 Simon Hausmann <hausmann@webkit.org>
-
- Prospective build fix against Qt 4.5 (build bot)
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::setInputMethodEnabled): Guard the
- use of Qt 4.6 specific API with #ifdefs.
-
-2009-11-01 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Kenneth Christiansen.
-
- [Qt] Fix enabling of input method support on QGraphicsWebView.
- https://bugs.webkit.org/show_bug.cgi?id=30605
-
- Instead of setting the unsupported widget attribute on the
- QGraphicsWidget in setInputMethodEnabled() set the
- ItemAcceptsInputMethod GraphicsItem flag directly.
-
- Changed the existing input method auto test to run once
- on a QWebView and once on a QGraphicsWebView.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::setInputMethodEnabled):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods_data):
- (inputMethodHints):
- (inputMethodEnabled):
- (tst_QWebPage::inputMethods):
-
-2009-11-04 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Kenneth Christiansen.
-
- Added QGraphicsWebView::modified property, for consistency
- with QWebView.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::isModified):
- * Api/qgraphicswebview.h:
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
- (tst_QGraphicsWebView::qgraphicswebview):
-
-2009-11-04 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Kenneth Christiansen.
-
- Removed status and progress properties of QGraphicsWebView.
- Added loadProgress and statusBarMessage signals instead,
- after API review.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::QGraphicsWebViewPrivate):
- (QGraphicsWebView::setPage):
- * Api/qgraphicswebview.h:
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
- (tst_QGraphicsWebView::qgraphicswebview):
-
-2009-11-04 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] REGRESSION: Allow applications to use their own QWidget bypassing QWebView.
- https://bugs.webkit.org/show_bug.cgi?id=30979
-
- Decouple QWebViewPrivate from QWebPageClient, and automatically create
- QWebPageWidgetClient whenever the view is QWidget based.
-
- * Api/qwebpage.cpp:
- (QWebPageWidgetClient::QWebPageWidgetClient):
- (QWebPageWidgetClient::scroll):
- (QWebPageWidgetClient::update):
- (QWebPageWidgetClient::setInputMethodEnabled):
- (QWebPageWidgetClient::setInputMethodHint):
- (QWebPageWidgetClient::cursor):
- (QWebPageWidgetClient::updateCursor):
- (QWebPageWidgetClient::palette):
- (QWebPageWidgetClient::screenNumber):
- (QWebPageWidgetClient::ownerWidget):
- (QWebPageWidgetClient::pluginParent):
- (QWebPage::setView):
- * Api/qwebview.cpp:
- (QWebView::~QWebView):
- (QWebView::setPage):
- (QWebView::event):
-
-2009-11-03 Andras Becsi <becsi.andras@stud.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix build of unit-test after r50454.
-
- * tests/qwebpage/tst_qwebpage.cpp:
-
-2009-11-03 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Make QWebPluginDatabase private API for now.
-
- https://bugs.webkit.org/show_bug.cgi?id=30775
-
- * Api/headers.pri:
- * Api/qwebplugindatabase.cpp:
- * Api/qwebplugindatabase_p.h: Renamed from WebKit/qt/Api/qwebplugindatabase.h.
- * Api/qwebsettings.cpp:
- * Api/qwebsettings.h:
- * QtLauncher/main.cpp:
- (MainWindow::setupUI):
- * tests/tests.pro:
-
-2009-11-03 Simon Hausmann <hausmann@webkit.org>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- Oops, also remove the API docs of the removed networkRequestStarted() signal.
-
- * Api/qwebpage.cpp:
-
-2009-11-03 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Replace the QWebPage::networkRequestStarted() signal with the originatingObject
- property set to the QWebFrame that belongs to the request.
-
- https://bugs.webkit.org/show_bug.cgi?id=29975
-
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
- (WebCore::FrameLoaderClientQt::startDownload):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::loadFinished):
- (TestNetworkManager::createRequest):
- (tst_QWebPage::originatingObjectInNetworkRequests):
-
-2009-11-02 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Adam Barth.
-
- QWebView crash fix.
-
- The QWebView should not crash if the stop() method is called from
- a function triggered by the loadProgress signal.
-
- A null pointer protection was added in the ProgressTracker::incrementProgress.
-
- New autotest was created.
-
- https://bugs.webkit.org/show_bug.cgi?id=29425
-
- * tests/qwebview/tst_qwebview.cpp:
- (WebViewCrashTest::WebViewCrashTest):
- (WebViewCrashTest::loading):
- (tst_QWebView::crashTests):
-
-2009-11-01 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Turn on warnings for QtWebKit for gcc
- https://bugs.webkit.org/show_bug.cgi?id=30958
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate): Reorder initialization list
- to fix compiler warnings.
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::FrameLoaderClientQt): Ditto.
-
-2009-10-30 Evan Stade <estade@chromium.org>
-
- Reviewed by David Levin.
-
- Notify the chrome when the focused node has changed.
- https://bugs.webkit.org/show_bug.cgi?id=30832
-
- Added stub implementation for new ChromeClient function.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::focusedNodeChanged):
- * WebCoreSupport/ChromeClientQt.h:
-
-2009-10-30 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Remove the QWebInspector::windowTitleChanged signal,
- QEvent::WindowTitleChange can be used to achieve the same.
- https://bugs.webkit.org/show_bug.cgi?id=30927
-
- * Api/qwebinspector.cpp:
- * Api/qwebinspector.h:
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::updateWindowTitle):
-
-2009-10-29 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Implement DELETE HTTP method for XmlHttpRequest
- https://bugs.webkit.org/show_bug.cgi?id=30894
-
- No new tests as this functionality is already tested by the
- xmlhttprequest LayoutTests. As this patch depends on an unreleased
- version of the dependent QtNetwork library and the tests will be
- enabled later once the dependent library is released (and the
- buildbot is updated).
-
- * Api/qwebframe.cpp:
- (QWebFrame::load):
-
-2009-10-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Remove QWebView::guessUrlFromString() and replace its use
- with the new QUrl::fromUserInput() if using Qt 4.6 or newer.
-
- * Api/qwebview.cpp:
- * Api/qwebview.h:
- * QGVLauncher/main.cpp:
- (urlFromUserInput):
- (WebPage::applyProxy):
- (MainWindow::load):
- * QtLauncher/main.cpp:
- (urlFromUserInput):
- (MainWindow::MainWindow):
- (MainWindow::changeLocation):
- * tests/qwebview/tst_qwebview.cpp:
-
-2009-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Serialize directly to the stream, and not first to an QByteArray,
- that is later serialized. That is slower and also uses more bytes.
-
- * Api/qwebhistory.cpp:
- (operator<<):
- (operator>>):
-
-2009-10-28 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Eric Seidel.
-
- [Qt] WebFrame::counterValueForElementById must not be exposed
- https://bugs.webkit.org/show_bug.cgi?id=30882
-
- * Api/qwebframe.cpp:
- (qt_drt_counterValueForElementById):
- * Api/qwebframe.h:
-
-2009-10-27 Shinichiro Hamaji <hamaji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Provide a way to get counter values with layoutTestContoller
- https://bugs.webkit.org/show_bug.cgi?id=30555
-
- * Api/qwebframe.cpp:
- (QWebFrame::counterValueForElementById):
- (QWebHitTestResult::frame):
- * Api/qwebframe.h:
-
-2009-10-28 Antonio Gomes <tonikitoo@webkit.org>
-
- Pushing missing WebKit/qt/tests/qwebframe/resources/ dir from bug 29248.
-
- [Qt] [API] Make it possible to have 'invisible' loads
- https://bugs.webkit.org/show_bug.cgi?id=29248
-
- * tests/qwebframe/resources/image2.png: Copied from WebKit/qt/tests/qwebelement/image.png.
-
-2009-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] QWebHistory::saveState() is inconsistent with the Qt API
- https://bugs.webkit.org/show_bug.cgi?id=30710
-
- Make the versioning internal and enforce it in the WebCore
- part. Adjust the comments, as well as remove now dead code.
-
- * Api/qwebhistory.cpp:
- (operator<<):
- (operator>>):
- * Api/qwebhistory.h:
-
-2009-10-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Holger Freyther.
-
- [Qt] QWebHistory::saveState() is inconsistent with the Qt API
- https://bugs.webkit.org/show_bug.cgi?id=30710
-
- Remove the QWebHistory::saveState() and ::restoreState() as
- they are inconsistent with the Qt API.
-
- Update unittests to reflect the change.
-
- * Api/qwebhistory.cpp:
- (operator<<):
- (operator>>):
- * Api/qwebhistory.h:
- * tests/qwebhistory/tst_qwebhistory.cpp:
- (saveHistory):
- (restoreHistory):
- (tst_QWebHistory::saveAndRestore_crash_1):
- (tst_QWebHistory::saveAndRestore_crash_2):
- (tst_QWebHistory::saveAndRestore_crash_3):
- (tst_QWebHistory::clear):
-
-2009-10-27 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Holger Freyther.
-
- Complementary fix to bug 30779.
-
- By mistake I used QWeakPointer's toStrongRef() method which docs
- explicitly say to not be used in this situation (when the tracked
- pointer is devired from QObject). Instead QWeakPointer's data()
- is recommended.
-
- * Api/qwebpage.cpp:
- (QWebPage::view):
-
-2009-10-27 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Fraser.
-
- Change HitTestResult methods to use (3d) transformation aware methods
- https://bugs.webkit.org/show_bug.cgi?id=27347
-
- The HitTestResult::boundingBox method was removed. The
- RenderObject must be used directly. In contrast to the
- old HitTestResult::boundingBox method this code must use
- a (3d) transformation aware method to not run into an
- assert in SVGRenderBase::mapLocalToContainer.
-
- * Api/qwebframe.cpp:
- (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
-
-2009-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Oliver Hunt.
-
- Change two methods to be internal for DRT use only.
-
- Part of [Qt] Review all new API in Qt 4.6
- https://bugs.webkit.org/show_bug.cgi?id=29843#c11
-
- * Api/qwebsecurityorigin.cpp:
- (qt_drt_whiteListAccessFromOrigin):
- (qt_drt_resetOriginAccessWhiteLists):
- (QWebSecurityOrigin::localSchemes):
- * Api/qwebsecurityorigin.h:
-
-2009-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Make sure that initiating a rotation while rotating won't make
- it end up at rotation positions that are not a multiply of
- 180 degrees.
-
- * QGVLauncher/main.cpp:
- (MainView::animatedFlip):
-
-2009-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed Qt build fix.
-
- Update the tests as well to the new API change.
-
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::clear):
-
-2009-10-27 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Tor Arne Vestbø.
-
- [Qt] QWebElement::removeChildren() should be
- QWebElement::removeAllChildren()
- https://bugs.webkit.org/show_bug.cgi?id=30630
-
- * Api/qwebelement.cpp:
- (QWebElement::removeAllChildren):
- * Api/qwebelement.h:
-
-2009-10-27 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Antti Koivisto and Holger Freyther.
-
- Make QWebPagePrivate's (QWidget) view to be a QWeakPointer.
- https://bugs.webkit.org/show_bug.cgi?id=30779
-
- The fact that it was been set from external objects of qwebpage
- and not being deleted internally can lead to dangling references.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::~QGraphicsWebView):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::createContextMenu):
- (QWebPagePrivate::handleSoftwareInputPanel):
- (QWebPagePrivate::keyPressEvent):
- (QWebPage::setView):
- (QWebPage::view):
- (QWebPage::javaScriptAlert):
- (QWebPage::javaScriptConfirm):
- (QWebPage::javaScriptPrompt):
- (QWebPage::shouldInterruptJavaScript):
- (QWebPage::createWindow):
- (QWebPage::extension):
- (QWebPage::chooseFile):
- (QWebPage::userAgentForUrl):
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebView::~QWebView):
-
-2009-10-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed documentation fix from David Boddie (Qt Doc Team)
-
- Removes the check around the RenderHints property documentation
- that was clearly added to synchronize the source and header files
- when the #if !defined(Q_OS_SYMBIAN) guards was added to the
- property.
-
- The documentation has also been updated to ensure that Symbian
- users know that there is no actual RenderHints property on their
- platform.
-
- * Api/qwebview.cpp:
-
-2009-10-26 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed documentation fix from David Boddie (Qt Doc Team)
-
- Ensure that qdoc will always see the RenderHints property.
-
- The property was only defined in the header file if the Q_OS_SYMBIAN
- symbol was not defined, resulting in the property not showing up
- in the Qt documentation just because one platform doesn't support it.
-
- A follow up commit will improve the documentation for the property
- and note that it is not supported on the Symbiam platform.
-
- * Api/qwebview.h:
-
-2009-10-26 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Reintroduce QWebElementCollection
-
- Revert the patch that has replaced QWebElementCollection
- with QList<QWebElement>. Update the tests accordingly.
-
- Remove the constness of the return type of QWebElement operator[].
-
- https://bugs.webkit.org/show_bug.cgi?id=30767
-
- * Api/qwebelement.cpp:
- (QWebElement::findAll):
- (QWebElementCollectionPrivate::QWebElementCollectionPrivate):
- (QWebElementCollectionPrivate::create):
- (QWebElementCollection::QWebElementCollection):
- (QWebElementCollection::operator=):
- (QWebElementCollection::~QWebElementCollection):
- (QWebElementCollection::operator+):
- (QWebElementCollection::append):
- (QWebElementCollection::count):
- (QWebElementCollection::at):
- (QWebElementCollection::toList):
- * Api/qwebelement.h:
- (const_iterator::begin):
- (const_iterator::end):
- (const_iterator::operator[]):
- * Api/qwebframe.cpp:
- (QWebFrame::findAllElements):
- * Api/qwebframe.h:
- * QtLauncher/main.cpp:
- (MainWindow::selectElements):
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::simpleCollection):
- (tst_QWebElement::iteration):
- (tst_QWebElement::emptyCollection):
- (tst_QWebElement::appendCollection):
- (tst_QWebElement::nullSelect):
- (tst_QWebElement::hasSetFocus):
- (tst_QWebElement::render):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2009-10-24 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Holger Freyther.
-
- [Qt] [Symbian] Set the capability and memory required to run QtWebKit for Symbian
- https://bugs.webkit.org/show_bug.cgi?id=30476
-
- Assign ReadUserData WriteUserData NetworkServices Symbian capabilities
- to all QtWebkit executables.
-
- * QGVLauncher/QGVLauncher.pro:
- * QtLauncher/QtLauncher.pro:
- * tests/benchmarks/loading/tst_loading.pro:
- * tests/benchmarks/painting/tst_painting.pro:
- * tests/qgraphicswebview/qgraphicswebview.pro:
- * tests/qwebelement/qwebelement.pro:
- * tests/qwebframe/qwebframe.pro:
- * tests/qwebhistory/qwebhistory.pro:
- * tests/qwebhistoryinterface/qwebhistoryinterface.pro:
- * tests/qwebpage/qwebpage.pro:
- * tests/qwebplugindatabase/qwebplugindatabase.pro:
- * tests/qwebview/qwebview.pro:
-
-2009-10-22 Gavin Barraclough <barraclough@apple.com>
-
- Reviewed by NOBODY (speculative build fix - qt is currently already broken!)
- Build fix following bug #30696.
-
- * Api/qwebelement.cpp:
- (setupScriptContext):
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
-
-2009-10-22 Shu Chang <Chang.Shu@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Enable track visited links in QWebPage
- https://bugs.webkit.org/show_bug.cgi?id=30574
-
- Test: fast/history/clicked-link-is-visited.html
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2009-10-22 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Eric Seidel.
-
- [Qt] Add Print Shortcut to QtLauncher
-
- https://bugs.webkit.org/show_bug.cgi?id=30682
-
- * QtLauncher/main.cpp:
- (MainWindow::setupUI):
-
-2009-10-22 Antonio Gomes <tonikitoo@webkit.org>
-
- Rubberstamped by Tor Arne Vestbø.
-
- Code standarlization for QGVLauncher.
-
- 1) Made member initilization lists in constructors
- to be per line.
- 2) Made applyProxy method inline as all other methods in
- WebPage class.
-
- * QGVLauncher/main.cpp:
- (WebPage::WebPage):
- (WebPage::applyProxy):
- (MainView::MainView):
- (MainWindow::MainWindow):
- (MainWindow::init):
-
-2009-10-22 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Add a Y-Axis rotation to QGVLauncher.
-
- It uses the QStateMachine API from Qt 4.6.
-
- * QGVLauncher/main.cpp:
- (WebView::WebView):
- (WebView::setYRotation):
- (WebView::yRotation):
- (MainView::flip):
- (MainView::animatedYFlip):
- (SharedScene::SharedScene):
- (SharedScene::webView):
- (MainWindow::init):
- (MainWindow::animatedYFlip):
- (MainWindow::buildUI):
-
-2009-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed By Adam Barth.
-
- Add some actions to the menu for cursor debugging.
-
- GraphicsView based launcher only.
-
- * QGVLauncher/main.cpp:
- (MainView::setWaitCursor):
- (MainView::resetCursor):
- (MainView::flip):
- (MainWindow::setWaitCursor):
- (MainWindow::resetCursor):
- (MainWindow::buildUI):
-
-2009-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Adam Barth.
-
- Remove clipRenderToViewport as agreed upon in
- https://bugs.webkit.org/show_bug.cgi?id=29843
-
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
-
-2009-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Adam Barth.
-
- Update the tests to test the new render functionality, and take
- into consideration that render() clips to the frame itself as well
- as the viewport.
-
- QWebFrame::render() now always clips, so the old tests were bogus.
-
- Rendering pure contents (no scrollbars etc) without clipping can now
- be accomplished using QWebFrame::documentElement()->render(...)
-
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Adam Barth.
-
- As we do not support rendering a QWebFrame without it being clipped
- the the frame as well as the viewport, we now set the viewport size
- to the size of the contents.
-
- Rendering pure contents (no scrollbars etc) without clipping can be
- acomplished using QWebFrame::documentElement()->render(...)
-
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::render):
-
-2009-10-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Add menu item to dump the plugin list to the console,
- which can be handy for debugging.
-
- * QtLauncher/main.cpp:
- (MainWindow::dumpPlugins):
- (MainWindow::setupUI):
-
-2009-10-19 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Introduce new render method on QWebFrame, which supports specifying
- which layers to render (scrollbars, contents, pan-icon).
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::renderPrivate):
- (QWebFrame::render):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
-
-2009-10-19 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Infinite loop (leading to crash) when setting cursor in QGraphicsWebView
- https://bugs.webkit.org/show_bug.cgi?id=30549
-
- Patch reimplements QGraphicsItem's itemChange method, and make
- CursorChange event to be emitted after cursor has already been
- set.
-
- QWidget::setCursor send the event just after it sets the cursor,
- then patch makes both behaviors compatible.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::itemChange):
- * Api/qgraphicswebview.h:
-
-2009-10-19 Nate Chapin <japhet@chromium.org>
-
- Unreviewed, build fix.
-
- Update call to FrameLoader::loadFrameRequest().
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
-
-2009-10-19 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Add QWebElement::render API which allows rendering of single
- element.
-
- * Api/qwebelement.cpp:
- (QWebElement::render):
- * Api/qwebelement.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::render):
- * tests/qwebelement/qwebelement.qrc:
- * tests/qwebelement/image.png: Added.
-
-2009-10-19 Markus Goetz <Markus.Goetz@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- QWebPage: Doc: setNetworkAccessManager should only be called once.
-
- * Api/qwebpage.cpp:
-
-2009-10-19 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Tor Arne.
-
- Wrong ifdef combination in QGraphicsWebView's event method.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::event):
-
-2009-10-19 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Holger Freyther.
-
- [Qt] Windowed Plugins: Don't crash when client is 0.
-
- Client is 0 when we use QWebPage without a QWebView or QGraphicsWebView.
- In addition, setFrameRect()/updatePluginWidget() is called even if the
- plugin was not succesfully loaded. updatePluginWidget() updates the
- window rect which is, in theory, useful to draw something that indicates
- that we didn't load successfully.
-
- So, a status check is added to setNPWindowIfNeeded.
-
- https://bugs.webkit.org/show_bug.cgi?id=30380
-
- * tests/qwebpage/qwebpage.pro:
- * tests/qwebpage/tst_qwebpage.cpp:
- (takeScreenshot):
- (tst_QWebPage::screenshot_data):
- (tst_QWebPage::screenshot):
- * tests/resources/test.swf: Copied from LayoutTests/fast/replaced/resources/test.swf.
-
-2009-10-19 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Holger Freyther.
-
- [Qt] Windowed Plugins: Fix crash when QWebPage is deleted after QWebView.
-
- Fixes various sources of crashes:
- 1. The PluginContainer is a child of QWebView. When the view gets deleted,
- the PluginView is not notified about the deletion of PluginContainer.
- 2. QWebView destructor does not set client to 0.
- 3. Sometimes pending paint events are sent after the plugin has died, so add
- a check in PluginView::setNPWindowIfNeeded.
-
- https://bugs.webkit.org/show_bug.cgi?id=30354
-
- * Api/qwebview.cpp:
- (QWebView::~QWebView):
- * tests/qwebview/qwebview.pro:
- * tests/qwebview/tst_qwebview.cpp:
- (tst_QWebView::reusePage_data):
- (tst_QWebView::reusePage):
-
-2009-10-19 Jakob Truelsen <antialize@gmail.com>
-
- Reviewed by Adam Barth.
-
- https://bugs.webkit.org/show_bug.cgi?id=29042
-
- Allow one to costumize the minimal and maximal shrink factors,
- Added methods setPrintingMinimumShrinkFactor, printingMinimumShrinkFactor,
- setPrintingMaximumShrinkFactor, printingMaximumShrinkFactor to QWebSettings.
-
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- (QWebSettings::setPrintingMinimumShrinkFactor):
- (QWebSettings::printingMinimumShrinkFactor):
- (QWebSettings::setPrintingMaximumShrinkFactor):
- (QWebSettings::printingMaximumShrinkFactor):
- * Api/qwebsettings.h:
-
-2009-10-18 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Rename fixedContentsSize property to preferredContentsSize as
- agreed upon with Simon Hausmann and Matthias Ettrich.
-
- * Api/qwebpage.cpp:
- (QWebPage::preferredContentsSize):
- (QWebPage::setPreferredContentsSize):
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2009-10-16 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QGLauncher leaks WebPage object
- https://bugs.webkit.org/show_bug.cgi?id=30465
-
- Make 'SharedScene' to own 'WebPage' reference and delete it at its destructor.
-
- * Api/qwebpage.cpp:
- (QWebPage::view):
- * Api/qwebpage_p.h:
- * QGVLauncher/main.cpp:
- (SharedScene::SharedScene):
- (SharedScene::~SharedScene):
-
-2009-10-16 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] "dangling" pointer to qwebpage's view object can leads QGLauncher to crash
- https://bugs.webkit.org/show_bug.cgi?id=30459
-
- Remove all setView(ev->widget()) calls in QWebPage and QGWV event handling methods,
- since QWebPageClient would do the trick.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::hoverMoveEvent):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mouseMoveEvent):
- (QWebPagePrivate::mousePressEvent):
- (QWebPagePrivate::mouseDoubleClickEvent):
- (QWebPagePrivate::mouseReleaseEvent):
- (QWebPagePrivate::wheelEvent):
- (QWebPagePrivate::dragEnterEvent):
- (QWebPagePrivate::dragLeaveEvent):
- (QWebPagePrivate::dragMoveEvent):
-
-2009-10-16 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Pull out r49676 as it caused build breakges on Symbian
-
- * Api/qwebpage.cpp:
-
-2009-10-16 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Need a way to inform the application when a Netscape plugin is created or deleted
- https://bugs.webkit.org/show_bug.cgi?id=30179
-
- Added "c" style static methods for the application to hook up for
- receiving notifications when a plugin is created or destroyed.
-
- * Api/qwebpage.cpp:
-
-2009-10-15 Antonio Gomes <tonikitoo@webkit.org>
-
- Rubberstamped by Tor Arne.
-
- Make QGLauncher's WebPage class constructor to get a QObject* as parent (not QWidget*).
-
- * QGVLauncher/main.cpp:
- (WebPage::WebPage):
-
-2009-10-15 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Tor Arne.
-
- [Qt] QGLauncher crashes while closing a window
- https://bugs.webkit.org/show_bug.cgi?id=30385
-
- Set page's pageClient reference to '0' at QGWV deletion.
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::~QGraphicsWebView):
- * tests/qgraphicswebview/tst_qgraphicswebview.cpp:
- (WebPage::WebPage):
- (WebPage::aborting):
- (tst_QGraphicsWebView::crashOnViewlessWebPages):
-
-2009-10-13 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Make context menu to work in QGraphicsWebView
- https://bugs.webkit.org/show_bug.cgi?id=30336
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebView::event):
-
-2009-10-13 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Plugins : Remove all traces of winId. Use ownerWidget() instead.
-
- This is a bug for two reasons:
- 1. Everytime we use winId(), we end up creating a native widget. This causes an
- unnecessary copy of contents from the backing store to the native widget.
- 2. Neither windowed nor windowless plugins require the winId of the QWebView or
- QGraphicsView.
-
- Introduce ownerWidget() which returns a QWidget * without creating a native widget
- (as opposed to QWidget::find(winId)).
-
- https://bugs.webkit.org/show_bug.cgi?id=30170
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::ownerWidget):
- * Api/qwebview.cpp:
- (QWebViewPrivate::ownerWidget):
-
-2009-10-13 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add some initial autotests for QWebPage's ErrorPageExtention
- https://bugs.webkit.org/show_bug.cgi?id=30296
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (ErrorPage::ErrorPage):
- (ErrorPage::supportsExtension):
- (ErrorPage::extension):
- (tst_QWebPage::errorPageExtension):
-
-2009-10-13 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] better handle possible edge cases on qwebframe::requestedUrl use
- https://bugs.webkit.org/show_bug.cgi?id=30216
-
- QWebFrame::requestedUrl can be called at any time during the load
- process, including:
-
- * An error handling (whereas an alternate error page for unsuccessful
- load is being set);
- * A ssl error exception call;
- * During navigation notifications/callbacks (titleChanged, urlChanged,
- progresses, addHistoryEntry, etc);
- * Among others.
-
- This patch makes requestedUrl calls to fallback to FrameLoaderClient
- m_loadError's failingURL when an error has occurred, unless it is
- null/empty.
-
- Also, m_loadError is now being reset at each the main frame starts a
- load, in order to avoid previous load errors footprints.
-
- * Api/qwebframe.cpp:
- (QWebFrame::requestedUrl):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::postProgressStartedNotification):
-
-2009-10-12 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Missing default value for the default text encoding.
- https://bugs.webkit.org/show_bug.cgi?id=30311
-
- QtWebKit has provided a default, hardcoded value for default charset but since
- the addition of the defaultTextEncoding setting in QWebSettings, that hardcoded
- value has had no effect.
-
- Added a regression test and unskipped fast/dom/Document/document-charset.html,
- which is passing now.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::defaultTextEncoding):
-
-2009-10-12 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Implement the new palette() methods on the page clients
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::palette):
- * Api/qwebview.cpp:
- (QWebViewPrivate::palette):
-
-2009-10-12 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- QWebPage's createViewlessPlugin autotest crash fix.
-
- It is possible that plugins that are QWidgets or QGraphicsWidgets
- are created before a view has been assigned to a QWebPage. The
- plug-ins won't be fully functional, as by design, they should
- visualise something, but they won't crash and will stay in memory.
-
- An autotest that covers this use-case, is included.
-
- https://bugs.webkit.org/show_bug.cgi?id=30118
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
- * tests/qwebpage/tst_qwebpage.cpp:
- (PluginTrackedPageWidget::PluginTrackedPageWidget):
- (PluginTrackedPageGraphicsWidget::PluginTrackedPageGraphicsWidget):
- (PluginTrackedPageGraphicsWidget::createPlugin):
- (tst_QWebPage::destroyPlugin):
- (tst_QWebPage::createViewlessPlugin):
-
-2009-10-09 Joe Ligman <joseph.ligman@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Sets Qt::WA_InputMethodEnabled and Qt::ImhHiddenText for password fields in EditorClientQt
- setInputMethodState. This change is needed so widgets such as the s60 software
- input panel can receive input method events for password fields.
- It's up to the Qt platform to determine which widget will receive input method
- events when these flags are set.
- Also added implementation for setInputMethodEnabled and setInputMethodHint
- to QGraphicsWebViewPrivate and QWebViewPrivate. This change removes the direct
- dependency on QWebView and uses QWebPageClient.
- Added autotest to tst_qwebpage.cpp
- https://bugs.webkit.org/show_bug.cgi?id=30023
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::setInputMethodEnabled):
- (QGraphicsWebViewPrivate::setInputMethodHint):
- * Api/qwebview.cpp:
- (QWebViewPrivate::setInputMethodEnabled):
- (QWebViewPrivate::setInputMethodHint):
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2009-10-08 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move executeScript from FrameLoader to ScriptController
- https://bugs.webkit.org/show_bug.cgi?id=30200
-
- Update API call.
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
-
-2009-10-08 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Part of testOptionalJSObjects autotest was marked as "expect to fail".
-
- Two places in tst_QWebPage::testOptionalJSObjects were marked as
- expected to fail. The problem concern checking if a feature is enabled
- or disabled. According to discussion on webkit dev mailing list
- a disabled feature should be invisible from java script level, but
- there are exceptions from the rule. So we decided to disable the test
- for now.
-
- https://bugs.webkit.org/show_bug.cgi?id=29867
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::testOptionalJSObjects):
-
-2009-10-07 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Adler.
-
- Factor PolicyChecker out of FrameLoader
- https://bugs.webkit.org/show_bug.cgi?id=30155
-
- Move the policy callback to the policy object.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::callPolicyFunction):
-
-2009-10-07 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Get rid of useless loadFailed signal in QGraphicsWebView
- https://bugs.webkit.org/show_bug.cgi?id=30166
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::_q_doLoadFinished):
- * Api/qgraphicswebview.h:
- * QGVLauncher/main.cpp:
- (MainWindow::init):
- (MainWindow::loadFinished):
-
-2009-10-07 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Simon Hausmann.
-
- Add a simple rotation effect to QGVLauncher
-
- https://bugs.webkit.org/show_bug.cgi?id=30162
-
- * QGVLauncher/main.cpp:
- (MainView::animatedFlip):
- (MainWindow::animatedFlip):
- (MainWindow::buildUI):
-
-2009-10-07 Volker Hilsheimer <volker.hilsheimer@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Doc: Document HTML and status as properties.
-
- * Api/qgraphicswebview.cpp:
-
-2009-10-07 Martin Smith <msmith@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Fix qdoc warning about disabled renderHints property
- on Symbian.
-
- * Api/qwebview.cpp:
- * Api/qwebview.h:
-
-2009-10-06 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Move setLocalLoadPolicy and friends to SecurityOrigin
- https://bugs.webkit.org/show_bug.cgi?id=30110
-
- Call the new API.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2009-10-06 Benjamin C Meyer <bmeyer@rim.com>
-
- Reviewed by Ariya Hidayat.
-
- When the drag data contains an image set it on the QDrag so it will be visible to the user.
-
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::DragClientQt::startDrag):
-
-2009-10-06 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Web Inspector: close inspector client view on
- InspectorController::close API call.
-
- In order to run batch web inspector layout tests (and not affect
- subsequent tests) we should close inspector client's view upon
- InspectorController::close API call.
-
- https://bugs.webkit.org/show_bug.cgi?id=30009
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::createPage):
-
-2009-10-06 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] don't enable input methods on Symbian by default.
- https://bugs.webkit.org/show_bug.cgi?id=30117
-
- If input methods are enabled Symbian FEP will be launched on every
- pointer event making webpage navigation impossible with QWebView.
-
- * Api/qwebview.cpp:
- (QWebView::QWebView):
-
-2009-10-05 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- QtLauncher: print the number of loaded urls
-
- When using the -r mode print the number of URLs loaded so far. This
- is extremly useful when opening the same URL over and over again and
- one wants to see the progress.
-
- * QtLauncher/main.cpp:
- (URLLoader::URLLoader):
- (URLLoader::loadNext):
-
-2009-10-05 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Simon Hausmann.
-
- Add screenshot option to menubar
-
- https://bugs.webkit.org/show_bug.cgi?id=30067
-
- * QtLauncher/main.cpp:
- (MainWindow::screenshot):
- (MainWindow::setupUI):
-
-2009-10-05 Girish Ramakrishnan <girish@forwardbias.in>
-
- Reviewed by Simon Hausmann.
-
- Setting the env QTLAUNCHER_USE_ARGB_VISUALS makes Qt use WA_TranslucentWindow.
-
- https://bugs.webkit.org/show_bug.cgi?id=30068
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
-
-2009-10-05 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Rubberstamped by Simon Hausmann.
-
- Add documentation to the ErrorPageExtension.
-
- * Api/qwebpage.cpp:
-
-2009-10-02 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Inform the application when a new request is created
- https://bugs.webkit.org/show_bug.cgi?id=29975
-
- Add a signal to QWebPage, to inform the application when a request is created.
-
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::loadFinished):
-
-2009-10-05 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- ErrorPageExtension: Add a pointer to the QWebFrame that had
- an error.
-
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::callErrorPageExtension):
-
-2009-10-05 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Do not empty the offline web appcache when clearing
- memory caches. That one is not in memory, but stored
- in sqlite.
-
- * Api/qwebsettings.cpp:
- (QWebSettings::clearMemoryCaches):
-
-2009-10-05 J-P Nurmi <jpnurmi@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- Added QGraphicsWidget-plugins support to FrameLoaderClientQt.
-
- https://bugs.webkit.org/show_bug.cgi?id=29710
-
- * Api/qgraphicswebview.cpp:
- (QGraphicsWebViewPrivate::pluginParent):
- * Api/qwebview.cpp:
- (QWebViewPrivate::pluginParent):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::):
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2009-10-03 Adam Barth <abarth@webkit.org>
-
- Unreview build fix. I wish I had a try server...
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateAction):
-
-2009-10-02 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Conditionally guard cursor code (cursor and updateCursor functions) with !QT_NO_CURSOR.
- Otherwise, it is inconsistent with class declaration of QCursor.
-
- * Api/qgraphicswebview.cpp:
- * Api/qwebview.cpp:
-
-2009-10-02 Prasanth Ullattil <prasanth.ullattil@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix compiler warnings about unused function arguments.
-
- * Api/qwebframe.cpp:
- (QWebFrame::scrollBarMinimum):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::focusInEvent):
- (QWebPagePrivate::focusOutEvent):
- (QWebPagePrivate::leaveEvent):
- (QWebPage::javaScriptAlert):
- (QWebPage::javaScriptConfirm):
- (QWebPage::javaScriptPrompt):
- (QWebPage::triggerAction):
- (QWebPage::acceptNavigationRequest):
- (QWebPage::chooseFile):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::repaint):
- (WebCore::ChromeClientQt::mouseDidMoveOverElement):
- (WebCore::ChromeClientQt::reachedMaxAppCacheSize):
- * WebCoreSupport/ContextMenuClientQt.cpp:
- (WebCore::ContextMenuClientQt::downloadURL):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchWillPerformClientRedirect):
- (WebCore::FrameLoaderClientQt::setMainFrameDocumentReady):
- (WebCore::FrameLoaderClientQt::representationExistsForURLScheme):
- (WebCore::FrameLoaderClientQt::generatedMIMETypeForURLScheme):
- (WebCore::FrameLoaderClientQt::shouldGoToHistoryItem):
- (WebCore::FrameLoaderClientQt::pluginWillHandleLoadError):
- (WebCore::FrameLoaderClientQt::assignIdentifierToInitialRequest):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoading):
- (WebCore::FrameLoaderClientQt::createJavaAppletWidget):
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::setAttachedWindowHeight):
- (WebCore::InspectorClientQt::highlight):
- (WebCore::InspectorClientQt::removeSetting):
-
-2009-10-01 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Make Software Input Panel requests work with QGraphicsWebView
- _and_ QWebView by sharing the event code in handleSoftwareInputPanel().
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mouseReleaseEvent):
- (QWebPagePrivate::handleSoftwareInputPanel):
- * Api/qwebpage_p.h:
-
-2009-10-01 Alexis Menard <alexis.menard@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Rename QWebGraphicsItem to QGraphicsWebView
-
- * Api/headers.pri:
- * Api/qwebpage.h:
- * Api/qwebgraphicsitem.cpp: Renamed.
- * Api/qwebgraphicsitem.h: Renamed.
- * WebKit/qt/QGVLauncher/main.cpp:
- * tests/tests.pro:
- * tests/qwebgraphicsitem/qwebgraphicsitem.pro: Renamed.
- * tests/qwebgraphicsitem/tst_qwebgraphicsitem.cpp: Renamed.
-
-2009-10-01 Antonio Gomes <tonikitoo@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=29248
- [Qt] [API] Make it possible to have 'invisible' loads
-
- Make QWebFrame's setHtml and setContent methods to not change
- session and global history at all.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setHtml):
- (QWebFrame::setContent):
- * tests/qwebframe/qwebframe.pro:
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-10-01 Kristian Amlie <kristian.amlie@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fixed software input panel support on web input elements.
-
- Send the RequestSoftwareInputPanel event if the element supports focus
- and the element is clicked.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::mousePressEvent):
- (QWebPagePrivate::mouseReleaseEvent):
- * Api/qwebpage_p.h:
-
-2009-10-01 Joe Ligman <joseph.ligman@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Implementation for QWebPage::inputMethodQuery and QWebPagePrivate::inputMethodEvent
-
- https://bugs.webkit.org/show_bug.cgi?id=29681
-
- Some additional changes from Kristian Amlie <kristian.amlie@nokia.com>:
-
- * Fixed surrounding text to exclude preedit string
- * Avoid emission of microFocusChanged during setComposition()
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent):
- (QWebPage::inputMethodQuery):
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::respondToChangedSelection):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::inputMethods):
-
-2009-09-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by David Hyatt.
-
- Add the failed URL to the ErrorPageExtension, as it is quite
- useful for creating error pages.
-
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::callErrorPageExtension):
-
-2009-09-29 Andras Becsi <becsi.andras@stud.u-szeged.hu>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Default font size reconciliation to 16px/13px to match other platform's de-facto standard.
- This fixes https://bugs.webkit.org/show_bug.cgi?id=19674.
-
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
-
-2009-09-29 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=29844
-
- QWebPage dependency autotest fix.
-
- Fix for database() autotest. All opened databases should be removed at
- end of test.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::database):
-
-2009-09-29 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Some QWebHistory and QWebPage autotest crash fixes.
-
- Some checking for m_mainFrame were added. MainFrame should be created
- at some point of QWebPage live cicle.
-
- https://bugs.webkit.org/show_bug.cgi?id=29803
-
- * Api/qwebpage.cpp:
- (QWebPage::~QWebPage):
- (QWebPage::currentFrame):
- (QWebPage::history):
- (QWebPage::selectedText):
- (QWebPage::updatePositionDependentActions):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::crashTests_LazyInitializationOfMainFrame):
-
-2009-09-29 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann and Tor Arne Vestbø.
-
- Implement QWebPage Extension for error pages, incl.
- an example on how to use it in QtLauncher.
-
- Correct our use of ResourceError.
-
- * Api/qwebpage.h:
- (ExtensionOption::):
- (ExtensionOption::ErrorPageExtensionReturn::ErrorPageExtensionReturn):
- * QtLauncher/main.cpp:
- (WebPage::supportsExtension):
- (MainWindow::MainWindow):
- (MainWindow::selectElements):
- (WebPage::extension):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::cancelledError):
- (WebCore::FrameLoaderClientQt::blockedError):
- (WebCore::FrameLoaderClientQt::cannotShowURLError):
- (WebCore::FrameLoaderClientQt::interruptForPolicyChangeError):
- (WebCore::FrameLoaderClientQt::cannotShowMIMETypeError):
- (WebCore::FrameLoaderClientQt::fileDoesNotExistError):
- (WebCore::FrameLoaderClientQt::callErrorPageExtension):
- (WebCore::FrameLoaderClientQt::dispatchDidFailProvisionalLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoad):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2009-09-28 Andre Poenitz <andre.poenitz@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Compile fix with namespaced Qt.
-
- * Api/qwebinspector_p.h:
-
-2009-09-27 Joe Ligman <joseph.ligman@mindspring.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Adding API setFocus and hasFocus to QWebElement. This API is needed for
- clients that want to check/set the focus node of the document.
- https://bugs.webkit.org/show_bug.cgi?id=29682
-
- * Api/qwebelement.cpp:
- (QWebElement::hasFocus):
- (QWebElement::setFocus):
- * Api/qwebelement.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::hasSetFocus):
-
-2009-09-25 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Make tst_qwebframe work if Qt built without SSL support
- https://bugs.webkit.org/show_bug.cgi?id=29735
-
- * tests/qwebframe/tst_qwebframe.cpp: Missing #ifndef blocks added.
-
-2009-09-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Update QWebElement API to remove script related methods.
- QWebElement::evaluateScript is the only one kept, these are
- removed to postpone most of the QtWebKit<->JavaScript API design
- after 4.6.
- https://bugs.webkit.org/show_bug.cgi?id=29708
-
- * Api/qwebelement.cpp:
- * Api/qwebelement.h:
- Methods removed:
- - QWebElement::callFunction
- - QWebElement::functions
- - QWebElement::scriptableProperty
- - QWebElement::setScriptableProperty
- - QWebElement::scriptableProperties
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::evaluateScript):
-
-2009-09-25 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Rename QWebElement::evaluateScript
- to QWebElement::evaluateJavaScript.
- https://bugs.webkit.org/show_bug.cgi?id=29709
-
- * Api/qwebelement.cpp:
- (QWebElement::evaluateJavaScript):
- * Api/qwebelement.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::evaluateJavaScript):
-
-2009-09-25 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Update the stypeProperty API of QWebElement.
- https://bugs.webkit.org/show_bug.cgi?id=29711
-
- * Api/qwebelement.cpp:
- (QWebElement::styleProperty):
- - Merge the stypeProperty and the computedStyleProperty methods
- - Remove the default value for the style resolving enum
- - Rename ResolveRule to StyleResolveStrategy
- (QWebElement::setStyleProperty):
- - Remove the priority argument since it is possible to control the
- behaviour by adding !important or removing in the value.
- * Api/qwebelement.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::style):
- (tst_QWebElement::computedStyle):
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-09-24 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Alice Liu.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- Pass 0 for new Page constructor argument.
-
-2009-09-24 Martin Smith <msmith@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- qdoc: Added \brief texts to all the since 4.6 functions.
-
- * Api/qwebhistory.cpp:
-
-2009-09-23 J-P Nurmi <jpnurmi@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- Prevent QWebPage::setView() from changing the viewport size on the fly
- in case the view doesn't actually change. QWebPage::setView() is
- called upon every QWebGraphicsItem::hoverMoveEvent(), which forced
- the viewport size to be equal to the size of the whole graphics view.
-
- https://bugs.webkit.org/show_bug.cgi?id=29676
-
- * Api/qwebpage.cpp:
- (QWebPage::setView):
-
-2009-09-23 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Crash fix in QWebHistory back and forward methods.
-
- QWebHistory::back() and QWebHistory::forward() were crashing on
- ASSERT in WebCore::BackForwardList. The methods should check
- canGoBack() and canGoForward() at the beginning.
-
- https://bugs.webkit.org/show_bug.cgi?id=29675
-
- * Api/qwebhistory.cpp:
- (QWebHistory::back):
- (QWebHistory::forward):
-
-2009-09-23 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Bug fix. QWebHistory should call QWebPage::updateNavigationActions
-
- In QWebHistory's methods that change item count or current item call
- to QWebPage::updateNavigationActions should be executed.
- QWebHistory::clear() and QWebHistory::restorState() were changed.
- New helper method, QWebPagePrivate accesor, were created in
- QWebHistoryPrivate class.
- Two autotest were developed.
-
- https://bugs.webkit.org/show_bug.cgi?id=29246
-
- * Api/qwebhistory.cpp:
- (QWebHistory::clear):
- (QWebHistory::restoreState):
- (QWebHistoryPrivate::page):
- * Api/qwebhistory_p.h:
- * tests/qwebhistory/tst_qwebhistory.cpp:
- (tst_QWebHistory::saveAndRestore_1):
- (tst_QWebHistory::clear):
-
-2009-09-23 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Need to guard QX11Info include with Q_WS_X11.
- That class may not be available (in QT 4.5 for Symbian, for instance).
- Completes fixes in r48627 and r48604.
-
- * Api/qwebgraphicsitem.cpp:
- * Api/qwebview.cpp:
-
-2009-09-22 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add default timeout while waiting for signals in QWebPage auto
- tests.
- https://bugs.webkit.org/show_bug.cgi?id=29637
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (waitForSignal):
-
-2009-09-22 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reivewed by Simon Hausmann.
-
- Fix the Qt/Mac build after r48604 (Implement new QWebPageClient class)
-
- There's no QWidget::x11Info() on Mac, and setPlatformPluginWidget()
- takes a QWidget*, not a QWebPageClient*
-
- * Api/qwebgraphicsitem.cpp:
- (QWebGraphicsItemPrivate::screenNumber):
- * Api/qwebview.cpp:
- (QWebViewPrivate::screenNumber):
-
-2009-09-21 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- For Qt, platformPageClient() will now return a class derived from
- the QWebPageClient, so the patch adapts our Qt hooks to go though
- this class and not depend on the QWebView.
-
- * Api/qwebgraphicsitem.cpp:
- (QWebGraphicsItemPrivate::scroll):
- (QWebGraphicsItemPrivate::update):
- (QWebGraphicsItemPrivate::cursor):
- (QWebGraphicsItemPrivate::updateCursor):
- (QWebGraphicsItemPrivate::screenNumber):
- (QWebGraphicsItemPrivate::winId):
- (QWebGraphicsItem::event):
- (QWebGraphicsItem::setPage):
- * Api/qwebgraphicsitem.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebViewPrivate::scroll):
- (QWebViewPrivate::update):
- (QWebViewPrivate::cursor):
- (QWebViewPrivate::updateCursor):
- (QWebViewPrivate::screenNumber):
- (QWebViewPrivate::winId):
- (QWebView::setPage):
- (QWebView::event):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::repaint):
- (WebCore::ChromeClientQt::scroll):
- (WebCore::ChromeClientQt::platformPageClient):
-
-2009-09-21 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=29609
- Build fix for windows when using Qt 4.5.0.
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
-
-2009-09-19 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=29345
- The tests of QWebFrame did not use QTRY_VERIFY for
- tests involving the event loop.
-
- * tests/qwebframe/tst_qwebframe.cpp:
- * tests/util.h: Added. Copy of tests/shared/util.h of Qt
-
-2009-09-19 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add an autotest stub for QWebGraphicsItem.
-
- It just calls all the functions and makes sure they don't crash.
-
- * tests/qwebgraphicsitem/qwebgraphicsitem.pro: Added.
- * tests/qwebgraphicsitem/tst_qwebgraphicsitem.cpp: Added.
- (tst_QWebGraphicsItem::qwebgraphicsitem):
- * tests/tests.pro:
-
-2009-09-18 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Corrected the Symbian specific UID3 values to be assigned
- from the "unprotected" pool that permits self-signing of
- those test and demo executables. (Added new UID3 values
- where they were missing for new components.)
-
- * QGVLauncher/QGVLauncher.pro:
- * QtLauncher/QtLauncher.pro:
- * tests/benchmarks/loading/tst_loading.pro:
- * tests/benchmarks/painting/tst_painting.pro:
- * tests/qwebelement/qwebelement.pro:
- * tests/qwebframe/qwebframe.pro:
- * tests/qwebhistory/qwebhistory.pro:
- * tests/qwebhistoryinterface/qwebhistoryinterface.pro:
- * tests/qwebpage/qwebpage.pro:
- * tests/qwebplugindatabase/qwebplugindatabase.pro:
- * tests/qwebview/qwebview.pro:
-
-2009-09-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Make PlatformWindow return something else than PlatformWidget
- https://bugs.webkit.org/show_bug.cgi?id=29085
-
- Reflect the rename of platformWindow and it's return type.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::platformPageClient):
- * WebCoreSupport/ChromeClientQt.h:
-
-2009-09-18 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add persistence support for configuration options in the
- inspector.
-
- * Api/qwebinspector.cpp:
- * QtLauncher/main.cpp:
- (main):
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::populateSetting):
- (WebCore::InspectorClientQt::storeSetting):
- (WebCore::variantToSetting):
- (WebCore::settingToVariant):
-
-2009-09-18 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Fixed a bunch of documentation warnings.
-
- * Api/qwebgraphicsitem.cpp:
- * Api/qwebplugindatabase.cpp:
- * Api/qwebpluginfactory.cpp:
- * Api/qwebsecurityorigin.cpp:
-
-2009-09-18 Warwick Allison <warwick.allison@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Added a test that console output works.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (ConsolePage::ConsolePage):
- (ConsolePage::javaScriptConsoleMessage):
- (tst_QWebPage::consoleOutput):
-
-2009-09-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Improve documentation for Page Cache.
-
- * Api/qwebsettings.cpp:
-
-2009-09-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Update QWebSettings::setUserStyleSheetUrl() docs and test
-
- https://bugs.webkit.org/show_bug.cgi?id=29081
-
- The documentation now specifies that the URL has to be a local file
- or a a data-URL (with utf-8 and base64-encoded data), as these are the
- only two schemes that the current code path accepts.
-
- The auto-test has been updated to reflect this limitation.
-
- At a later point we should concider adding API for the new way of
- doing both user defined stylesheets and scripts.
-
- * Api/qwebsettings.cpp:
- * tests/qwebpage/tst_qwebpage.cpp:
-
-2009-09-17 Janne Koskinen <janne.p.koskinen@digia.com>
-
- Reviewed by Simon Hausmann.
-
- Symbian build fix.
-
- Moved the #ifdefs around _q_cleanupLeakMessages() into the function
- definition.
-
- QMake is not being able to distinguish between release and debug builds
- in Symbian build. This is a Symbian toolchain issue.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::_q_cleanupLeakMessages):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
-
-2009-09-17 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Small cosmetic documentation fixlet in the QWebInspector.
-
- * Api/qwebinspector.cpp:
-
-2009-09-16 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Reviewed by Eric Seidel.
-
- Detect and add Windows7 properly to the user agent.
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
-
-2009-09-16 Andras Becsi <andrewbecsi@yahoo.co.uk>
-
- Rubberstamped by Kenneth Christiansen.
-
- [Qt] Build fix for previous changes.
-
- * QGVLauncher/main.cpp:
- (MainView::flip):
-
-2009-09-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed potential Qt < 4.6 build fix.
-
- * QGVLauncher/main.cpp:
- (MainView::flip):
-
-2009-09-16 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Add a "Flip effect" to our GraphicsView based launcher.
-
- * QGVLauncher/main.cpp:
- (MainView::resizeEvent):
- (MainView::flip):
- (MainWindow::flip):
- (MainWindow::buildUI):
-
-2009-09-16 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Rubber-stamped by Simon Hausmann.
-
- [Qt] Typo fix. Pass the window object to the Format
- menu. In this way Qt can free its internal graphical
- objects during exit.
-
- * QtLauncher/main.cpp:
- (MainWindow::setupUI):
-
-2009-09-16 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Build break fix on gcc ARM.
-
- * Api/qwebgraphicsitem.cpp:
- (QWebGraphicsItemPrivate::_q_doLoadProgress):
-
-2009-09-16 Warwick Allison <warwick.allison@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix a crash in QWebFrame::hasFocus() with a simple null pointer check
- when the focused frame is null. We do the same check in other places
- where we call kit().
-
- * Api/qwebframe.cpp:
- (QWebFrame::hasFocus):
-
-2009-09-16 Jure Repinc <jlp@holodeck1.com>
-
- Reviewed by Simon Hausmann.
-
- Fixed a typo found during translation.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::interruptForPolicyChangeError):
-
-2009-09-14 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QWebGraphicsItem should check for null QWebPage.
- https://bugs.webkit.org/show_bug.cgi?id=29185
-
- Don't crash in QWebGraphicsItem when the page is still null, by
- either checking if it's the case or constructing the default one.
-
- * Api/qwebgraphicsitem.cpp:
- (QWebGraphicsItem::icon):
- (QWebGraphicsItem::setZoomFactor):
- (QWebGraphicsItem::zoomFactor):
- (QWebGraphicsItem::setGeometry):
- (QWebGraphicsItem::load):
- (QWebGraphicsItem::setHtml):
- (QWebGraphicsItem::toHtml):
- (QWebGraphicsItem::setContent):
- (QWebGraphicsItem::history):
- (QWebGraphicsItem::settings):
-
-2009-09-11 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Doc: Note that Netscape plugins are only available on desktop platforms.
-
- * docs/qtwebkit.qdoc:
-
-2009-09-11 Martin Smith <msmith@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Adjust the name of the contentspage for the documentation
- to the new name used in Qt 4.6.
-
- * docs/qtwebkit.qdoc:
-
-2009-09-11 Ariya Hidayat <ariya.hidayat@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Changed URLs from qtsoftware.com to qt.nokia.com, as part of a general
- renaming.
-
- * Api/qwebpluginfactory.cpp:
- * docs/webkitsnippets/simple/main.cpp:
- (main):
- * docs/webkitsnippets/webpage/main.cpp:
- (main):
-
-2009-09-11 Volker Hilsheimer <volker.hilsheimer@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Restructure the documentation, both on a file and on a content level.
-
- * Api/qwebdatabase.cpp:
- * Api/qwebelement.cpp:
- * Api/qwebframe.cpp:
- * Api/qwebhistory.cpp:
- * Api/qwebhistoryinterface.cpp:
- * Api/qwebpage.cpp:
- * Api/qwebpluginfactory.cpp:
- * Api/qwebsecurityorigin.cpp:
- * Api/qwebsettings.cpp:
- * Api/qwebview.cpp:
- * docs/qtwebkit.qdoc:
-
-2009-09-11 Yongjun Zhang <yongjun.zhang@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=29136
- [Qt] emit microFocusChanged() signal when no QWidget-based view is present.
-
- emit microFocusChange() signal regardless of view.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState):
-
-2009-09-11 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=28806
-
- [Qt] Make the WebInspector available as a QWidget.
-
- * Api/headers.pri:
- * Api/qwebelement.cpp:
- (QWebElement::enclosingElement):
- * Api/qwebelement.h:
- * Api/qwebinspector.cpp: Added.
- * Api/qwebinspector.h: Added.
- * Api/qwebinspector_p.h: Added.
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::setInspector):
- (QWebPagePrivate::getOrCreateInspector):
- (QWebPagePrivate::inspectorController):
- (QWebPage::~QWebPage):
- (QWebPage::triggerAction):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebsettings.cpp:
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientWebPage::InspectorClientWebPage):
- (WebCore::InspectorClientWebPage::createWindow):
- (WebCore::InspectorClientQt::createPage):
- (WebCore::InspectorClientQt::showWindow):
- (WebCore::InspectorClientQt::closeWindow):
- (WebCore::InspectorClientQt::attachWindow):
- (WebCore::InspectorClientQt::detachWindow):
- (WebCore::InspectorClientQt::updateWindowTitle):
- * WebCoreSupport/InspectorClientQt.h:
- * docs/webkitsnippets/qtwebkit_qwebinspector_snippet.cpp: Added.
-
-2009-09-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Fix comparison between signed and unsigned integer warnings
- https://bugs.webkit.org/show_bug.cgi?id=29162
-
- No functional change.
-
- * Api/qwebelement.cpp:
- (QWebElement::findAll):
- * Api/qwebhistory.cpp:
- (QWebHistory::items):
- (QWebHistory::backItems):
- (QWebHistory::forwardItems):
- (QWebHistory::saveState):
- * Api/qwebplugindatabase.cpp:
- (QWebPluginDatabase::setSearchPaths):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::runOpenPanel):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2009-09-10 Simon Hausmann <hausmann@webkit.org>
-
- Rubber-stamped by Ariya Hidayat.
-
- Fix a bunch of qdoc warnings: Invalid references, non-standard
- wording, etc.
-
- * Api/qwebelement.cpp:
- * Api/qwebgraphicsitem.cpp:
- * Api/qwebsecurityorigin.cpp:
-
-2009-09-10 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Fix context menu event delivery with QWebGraphicsItem.
-
- Re-implement the correct context menu virtual function using
- a QGraphicsSceneContextMenuEvent and forward & handle it in
- QWebPage.
-
- * Api/qwebgraphicsitem.cpp:
- (QWebGraphicsItem::contextMenuEvent):
- * Api/qwebgraphicsitem.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::contextMenuEvent):
- (QWebPage::event):
- * Api/qwebpage_p.h:
-
-2009-09-10 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Unreviewed.
-
- Build fix for QtWebKit for Mac after r48219.
-
- qevent and qstyleoption are QtGui interfaces.
-
- * Api/qwebgraphicsitem.cpp:
- * Api/qwebgraphicsitem.h:
-
-2009-09-09 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Call the right base class function QGraphicsWidget::event() instead
- of skipping it and using QObject::event() instead.
-
- * Api/qwebgraphicsitem.cpp:
- (QWebGraphicsItem::event):
-
-2009-09-09 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed.
-
- Fix comment at Tor Arne Vestbø's request.
-
- * Api/qwebgraphicsitem.cpp:
- (QWebGraphicsItem::sceneEvent):
- (QWebGraphicsItem::event):
-
-2009-09-09 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Implement some virtual event methods so that we can fix
- event-related bugs in Qt patch releases.
-
- * Api/qwebgraphicsitem.cpp:
- (QWebGraphicsItem::sceneEvent):
- (QWebGraphicsItem::event):
- * Api/qwebgraphicsitem.h:
-
-2009-09-09 Kenneth Rohde Christiansen <kenneth@webkit.org>, Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Add a new QGraphicsWidget based version of the "QWebView"
- under the name "QWebGraphicsItem".
-
- https://bugs.webkit.org/show_bug.cgi?id=28862
-
- Includes an alternative Qt launcher using the QGraphicsView.
-
- * Api/headers.pri:
- * Api/qwebgraphicsitem.cpp: Added.
- * Api/qwebgraphicsitem.h: Added.
- * Api/qwebpage.h:
- * QGVLauncher/QGVLauncher.pro: Copied from WebKit/qt/QtLauncher/QtLauncher.pro.
- * QGVLauncher/main.cpp: Added.
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::repaint):
- (WebCore::ChromeClientQt::scroll):
-
-2009-09-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Unreviewed build fix.
-
- Potential build fix for Qt 4.5
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mousePressEvent):
-
-2009-09-08 Benjamin Poulain <benjamin.poulain@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=29007
- Add a test for the signal QWebFrame::javaScriptWindowObjectCleared()
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-09-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix unused variable warnings
- https://bugs.webkit.org/show_bug.cgi?id=29018
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::keyPressEvent):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::startDownload):
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2009-09-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Use the declaration order in initializer lists
- https://bugs.webkit.org/show_bug.cgi?id=29017
-
- * Api/qwebframe_p.h:
-
-2009-09-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- Add support for handling QGraphicsScene events.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mouseMoveEvent):
- (QWebPagePrivate::mousePressEvent):
- (QWebPagePrivate::mouseDoubleClickEvent):
- (QWebPagePrivate::mouseTripleClickEvent):
- (QWebPagePrivate::handleClipboard):
- (QWebPagePrivate::mouseReleaseEvent):
- (QWebPagePrivate::wheelEvent):
- (QWebPagePrivate::dragEnterEvent):
- (QWebPagePrivate::dragLeaveEvent):
- (QWebPagePrivate::dragMoveEvent):
- (QWebPagePrivate::dropEvent):
- (QWebPage::event):
- * Api/qwebpage_p.h:
-
-2009-09-08 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Make cursor set cleaner in QtWebKit Api: eliminate SetCursorEvent hack.
- https://bugs.webkit.org/show_bug.cgi?id=28865
-
- Clean up the unserCursor hack to use the QCursor set
- as a property of the QWidget by WebCore::WidgetQt.
-
- Remove all code that are no longer necessary for getting
- cursor change events.
-
- Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> and
- Antonio Gomes <antonio.gomes@openbossa.org> on 2009-09-07
-
- * Api/qwebpage.cpp:
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebViewPrivate::QWebViewPrivate):
- (QWebView::event):
-
-2009-09-08 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QtWebKit single API to enable persistency
- https://bugs.webkit.org/show_bug.cgi?id=28682
-
- Disable LocalStorage, ApplicationCache, HTML5 offline storage by
- default.
-
- If persistency is enabled the default directory for LocalStorage and
- ApplicationCache is now based on QDesktopServices::DataLocation and not
- QDesktopServices::CacheLocation (as it is expected to keep this data
- around after a reboot).
-
- If persistency is enabled initialize HTML5 offline storage as well - this
- fixed offline Storage for QtLauncher.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
- (QWebSettings::enablePersistentStorage):
- * Api/qwebsettings.h: Add a new API called enablePersistentStorage
- * QtLauncher/main.cpp: Use the new enablePersistentStorage API
- (main):
-
-2009-09-07 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- Speed up the QWebPluginInfo::supportsMimeType() function.
- https://bugs.webkit.org/show_bug.cgi?id=27651
-
- Instead of going through the MIME types list constructed with
- mimeTypes() function, look up the internal mimeToDescriptions map.
-
- * Api/qwebplugindatabase.cpp:
- (QWebPluginInfo::supportsMimeType):
-
-2009-09-07 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- Speed up the QWebPluginInfo::mimeTypes() function.
- https://bugs.webkit.org/show_bug.cgi?id=27651
-
- Instead of constructing a list of MIME types every time it is called,
- do this only once.
-
- * Api/qwebplugindatabase.cpp:
- (QWebPluginInfo::mimeTypes):
- (QWebPluginInfo::operator=):
- * Api/qwebplugindatabase.h:
- * tests/qwebplugindatabase/tst_qwebplugindatabase.cpp:
- (tst_QWebPluginDatabase::operatorassign_data):
- (tst_QWebPluginDatabase::operatorassign):
-
-2009-09-07 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- Remove the private classes from QWebPluginDatabase.
- https://bugs.webkit.org/show_bug.cgi?id=27651
-
- Instead, hold the PluginDatabase and PluginPackage objects as class
- members and take care of refcounting on our own instead of using RefPtr.
-
- This way we not only made the code cleaner but also got rid of
- redundant allocations when constructing null QWebPluginInfo objects.
-
- The private classes have been forward-declared and the d-pointers left
- to be on the safe side.
-
- * Api/qwebplugindatabase.cpp:
- (QWebPluginInfo::QWebPluginInfo):
- (QWebPluginInfo::~QWebPluginInfo):
- (QWebPluginInfo::name):
- (QWebPluginInfo::description):
- (QWebPluginInfo::mimeTypes):
- (QWebPluginInfo::path):
- (QWebPluginInfo::isNull):
- (QWebPluginInfo::setEnabled):
- (QWebPluginInfo::isEnabled):
- (QWebPluginInfo::operator==):
- (QWebPluginInfo::operator!=):
- (QWebPluginInfo::operator=):
- (QWebPluginDatabase::QWebPluginDatabase):
- (QWebPluginDatabase::~QWebPluginDatabase):
- (QWebPluginDatabase::plugins):
- (QWebPluginDatabase::searchPaths):
- (QWebPluginDatabase::setSearchPaths):
- (QWebPluginDatabase::addSearchPath):
- (QWebPluginDatabase::refresh):
- (QWebPluginDatabase::pluginForMimeType):
- (QWebPluginDatabase::setPreferredPluginForMimeType):
- * Api/qwebplugindatabase.h:
- * Api/qwebplugindatabase_p.h: Removed.
-
-2009-09-05 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] r47424 broke binary compatibility
- https://bugs.webkit.org/show_bug.cgi?id=28996
-
- Append the new DnsPrefetchEnabled attribute at the end of the enum.
-
- * Api/qwebsettings.h:
-
-2009-09-04 Mark Mentovai <mark@chromium.org>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=28614
-
- Account for scrollbar state changes that occur during layout.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setScrollBarPolicy):
-
- Eliminate duplicated (and incorrect) scrollbar mode tracking between
- FrameView and ScrollView.
-
-2009-09-04 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Fix tst_QWebPage::database autotest failure
- https://bugs.webkit.org/show_bug.cgi?id=28961
-
- Make sure that the test case enables the feature before
- the feature gets tested
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::database):
-
-2009-09-04 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Reviewed by Eric Seidel.
-
- Any QtWebKit application crashes on exit if the inspector is
- used during the session rather then exiting.
-
- If a QWebView has a QWebPage that is destroyed the QWebView
- does not update its pointer and will crash the next time
- it access the page pointers (such as in its destructor).
-
- InspectorClientView should not call deleteLater when the page
- is destroyed because it does not have a parent and is a top
- level widget. close() needs to be called so that QApplication
- can exit the application if quitOnLastWindowClosed is set
- and a InspectorClientView is the last window, otherwise
- the application will never exit.
-
- * Api/qwebview.cpp:
- (QWebViewPrivate::_q_pageDestroyed):
- (QWebView::setPage):
- * Api/qwebview.h:
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientView::InspectorClientView):
-
-2009-09-03 Adam Barth <abarth@webkit.org>
-
- Reviewed by eric@webkit.org.
-
- https://bugs.webkit.org/show_bug.cgi?id=24696
-
- Stub implementations of mixed content methods of FrameLoaderClient.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::didDisplayInsecureContent):
- (WebCore::FrameLoaderClientQt::didRunInsecureContent):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2009-09-03 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Add a setting to turn SessionStorage on/off
- https://bugs.webkit.org/show_bug.cgi?id=28836
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (testFlag):
- (tst_QWebPage::testOptionalJSObjects):
-
-2009-09-02 Richard Moore <rich@kde.org>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Make sure we relayout the page after evaluating JS
-
- https://bugs.webkit.org/show_bug.cgi?id=28235
-
- QtWebKit does not always seem to reflow the page when evaluating
- javascript. This patch changes the way evaluateJavaScript works to
- use the frameloader which ensures that this is done properly.
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-08-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=25889
- [GTK] scrollbar policy for main frame is not implementable
-
- Add empty implementation for new ChromeClient method.
-
- * WebCoreSupport/ChromeClientQt.h:
- (WebCore::ChromeClientQt::scrollbarsModeDidChange):
-
-2009-08-27 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- QWebHistory::clear() modifications.
-
- Clear() method was changed. If QWebHistory is empty (there is no
- elements even current) clear() do nothing. If there at least one
- element clear() will delete everything apart of current.
-
- New autotests in QWebHistory
-
- New autotests were added to QWebHistory. They should check some crashes
- in save and restore state process and clear() method and general
- behavior on where QWebHistory::count() == 0 or QWebHistory::count() == 1
-
- Bugzilla: https://bugs.webkit.org/show_bug.cgi?id=28711
-
- * Api/qwebhistory.cpp:
- (QWebHistory::clear):
- * tests/qwebhistory/tst_qwebhistory.cpp:
- (tst_QWebHistory::back):
- (tst_QWebHistory::forward):
- (tst_QWebHistory::saveAndRestore_crash_1):
- (tst_QWebHistory::saveAndRestore_crash_2):
- (tst_QWebHistory::saveAndRestore_crash_3):
- (tst_QWebHistory::clear):
-
-2009-08-27 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Cleanup, old and commented part of source code was removed.
- Fix some formatting problems.
-
- https://bugs.webkit.org/show_bug.cgi?id=28712
-
- * Api/qwebhistory_p.h:
- (QWebHistoryPrivate::QWebHistoryPrivate):
-
-2009-08-26 Adam Barth <abarth@webkit.org>
-
- Reviewed by Oliver Hunt.
-
- Don't let local files access web URLs
- https://bugs.webkit.org/show_bug.cgi?id=28480
-
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
-
-2009-08-25 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- Bug 28708 - Make possible to better use ResourceError in FrameLoaderClientQt class.
-
- * Api/qwebframe.cpp:
- (QWebFrame::requestedUrl):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::FrameLoaderClientQt):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientQt::postProgressFinishedNotification):
- (WebCore::FrameLoaderClientQt::dispatchDidFailProvisionalLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoad):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2009-08-22 Adam Barth <abarth@webkit.org>
-
- Revert 47684. We're going to do this later once clients have had a
- chance to opt into the setting they like.
-
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
-
-2009-08-22 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Don't let local files access web URLs
- https://bugs.webkit.org/show_bug.cgi?id=28480
-
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
-
-2009-08-19 Aaron Boodman <aa@chromium.org>
-
- Speculative build break fix for qt.
-
- * Api/qwebsecurityorigin.cpp:
- (QWebSecurityOrigin::whiteListAccessFromOrigin):
- * Api/qwebsecurityorigin.h:
-
-2009-08-19 Aaron Boodman <aa@chromium.org>
-
- Reviewed by David Levin.
-
- https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
- specify a more granular policy for cross-origin XHR access.
-
- * Api/qwebsecurityorigin.cpp: Add API to manipulate origin access whitelists.
- (QWebSecurityOrigin::whiteListAccessFromOrigin): Ditto.
- (QWebSecurityOrigin::resetOriginAccessWhiteLists): Ditto.
- * Api/qwebsecurityorigin.h: Ditto.
-
-2009-08-18 Markus Goetz <Markus.Goetz@nokia.com>
-
- Reviwed by Ariya Hidayat.
-
- [Qt] For prefecthDNS, the pre-fetching has to be enabled in the
- WebSettings.
-
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h:
-
-2009-08-17 Darin Adler <darin@apple.com>
-
- Try to fix Qt build again.
-
- * WebCoreSupport/EditorClientQt.cpp: Move "using namespace".
-
-2009-08-17 Darin Adler <darin@apple.com>
-
- Try to fix Qt build.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::shouldShowDeleteInterface):
- Use getAttribute(classAttr) instead of className() function.
-
-2009-08-14 Yongjun Zhang <yongjun.zhang@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- RVCT elftran fails to resolve QPainter::staticMetaObject coming with
- QWebView::RenderHints property.
-
- This is a temporary fix and will be revereted when the right symbols
- exported from Qt lib in S60.
-
- https://bugs.webkit.org/show_bug.cgi?id=28181
-
- * Api/qwebview.h:
-
-2009-08-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Public API to configure the storage path for HTML5 localStorage
- https://bugs.webkit.org/show_bug.cgi?id=28036
-
- Disables LocalStorage for QtWebKit by default by setting
- QWebSettings::LocalStorageEnabled to false.
-
- Sets up a default for the LocalStorage path so that clients would only
- need to enable the LocalStorageEnabled setting to turn on LocalStoragre
- support.
-
- Turn on LocalStorage support for QtLauncher and the relevant test
- since LocalStorage is now disabled by default for QtWebkit.
-
- * Api/qwebpage.cpp:
- (defaultCachePath):
- (initializeApplicationCachePathIfNecessary):
- (QWebPagePrivate::QWebPagePrivate):
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- (QWebSettings::setLocalStoragePath):
- (QWebSettings::localStoragePath):
- * Api/qwebsettings.h:
- * QtLauncher/main.cpp:
- (main):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::multiplePageGroupsAndLocalStorage):
-
-2009-08-14 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Allow applications to register their own local URL scheme.
- https://bugs.webkit.org/show_bug.cgi?id=28240
-
- * Api/qwebsecurityorigin.cpp:
- (QWebSecurityOrigin::addLocalScheme):
- (QWebSecurityOrigin::removeLocalScheme):
- (QWebSecurityOrigin::localSchemes):
- * Api/qwebsecurityorigin.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::localURLSchemes):
-
-2009-08-13 Mark Rowe <mrowe@apple.com>
-
- Try and fix the Qt build.
-
- * Api/qwebelement.cpp:
-
-2009-08-13 Kavindra Devi Palaraja <kavindra.palaraja@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Doc - Some cleanup on the documentation of QWebElement
-
- * Api/qwebelement.cpp:
-
-2009-08-13 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Symbian target components (library and executable files)
- require Unique Identifiers (i.e., UID3).
- These identifiers are defined in the respective project
- files, conditionally for "symbian" platform.
-
- * QtLauncher/QtLauncher.pro:
- * tests/qwebelement/qwebelement.pro:
- * tests/qwebframe/qwebframe.pro:
- * tests/qwebhistory/qwebhistory.pro:
- * tests/qwebhistoryinterface/qwebhistoryinterface.pro:
- * tests/qwebpage/qwebpage.pro:
- * tests/qwebview/qwebview.pro:
-
-2009-08-12 George Wright <george.wright@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Initialise zoom levels independent of whether a URL is valid or not to
- fix https://bugs.webkit.org/show_bug.cgi?id=28162
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
-
-2009-08-12 Joerg Bornemann <joerg.bornemann@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- QtWebKit compile fix for Windows CE
-
- There's no getenv on Windows CE, use qgetenv instead.
-
- * Api/qwebpage.cpp:
- (qt_drt_overwritePluginDirectories):
-
-2009-08-10 Kavindra Palaraja <kavindra.palaraja@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Various fixes and improvements to the QWebPluginInfo, QWebPluginDatabase and QWebSettings documentation.
-
- * Api/qwebplugindatabase.cpp:
- * Api/qwebsettings.cpp:
-
-2009-08-08 Volker Hilsheimer <volker.hilsheimer@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Doc: there is no group of explicitly shared classes, only one class uses this.
-
- Explain the implications in the QWebHistoryItem documentation, and get rid
- of the "group".
-
- * Api/qwebhistory.cpp:
-
-2009-08-05 Csaba Osztrogonac <oszi@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Fix build error caused by http://trac.webkit.org/changeset/46763
-
- * Api/qwebpluginfactory.h: Export macro added.
-
-2009-08-04 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] QWebFrame::requestedUrl method can mis-behave in case of unhandled sslErrors.
- https://bugs.webkit.org/show_bug.cgi?id=27804
-
- * Api/qwebframe.cpp:
- (QWebFrame::requestedUrl):
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-08-04 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Rename QWebPlugin to QWebPluginInfo, as discussed on IRC.
-
- * Api/qwebplugindatabase.cpp:
- (QWebPluginInfoPrivate::QWebPluginInfoPrivate):
- (QWebPluginInfo::QWebPluginInfo):
- (QWebPluginInfo::~QWebPluginInfo):
- (QWebPluginInfo::name):
- (QWebPluginInfo::description):
- (QWebPluginInfo::mimeTypes):
- (QWebPluginInfo::supportsMimeType):
- (QWebPluginInfo::path):
- (QWebPluginInfo::isNull):
- (QWebPluginInfo::setEnabled):
- (QWebPluginInfo::isEnabled):
- (QWebPluginInfo::operator==):
- (QWebPluginInfo::operator!=):
- (QWebPluginInfo::operator=):
- (QWebPluginDatabase::plugins):
- (QWebPluginDatabase::pluginForMimeType):
- (QWebPluginDatabase::setPreferredPluginForMimeType):
- * Api/qwebplugindatabase.h:
- * Api/qwebplugindatabase_p.h:
- * tests/qwebplugindatabase/tst_qwebplugindatabase.cpp:
- (tst_QWebPluginDatabase::installedPlugins):
- (tst_QWebPluginDatabase::searchPaths):
- (tst_QWebPluginDatabase::null_data):
- (tst_QWebPluginDatabase::null):
- (tst_QWebPluginDatabase::pluginForMimeType):
- (tst_QWebPluginDatabase::enabled):
- (tst_QWebPluginDatabase::operatorequal_data):
- (tst_QWebPluginDatabase::operatorequal):
- (tst_QWebPluginDatabase::preferredPlugin):
-
-2009-08-04 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Adam Treat.
-
- Replace QWebPlugin::MimeType with a typedef to
- QWebPluginFactory::MimeType.
-
- * Api/qwebplugindatabase.cpp:
- * Api/qwebplugindatabase.h:
- * Api/qwebpluginfactory.cpp:
- (QWebPluginFactory::MimeType::operator==):
- * Api/qwebpluginfactory.h:
-
-2009-08-04 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- Add QWebPluginDatabase API to the Qt API.
-
- https://bugs.webkit.org/show_bug.cgi?id=27651
-
- * Api/headers.pri:
- * Api/qwebplugindatabase.cpp: Added.
- (QWebPluginPrivate::QWebPluginPrivate):
- (QWebPluginDatabasePrivate::QWebPluginDatabasePrivate):
- (QWebPlugin::MimeType::operator==):
- (QWebPlugin::QWebPlugin):
- (QWebPlugin::~QWebPlugin):
- (QWebPlugin::name):
- (QWebPlugin::description):
- (QWebPlugin::mimeTypes):
- (QWebPlugin::supportsMimeType):
- (QWebPlugin::path):
- (QWebPlugin::isNull):
- (QWebPlugin::setEnabled):
- (QWebPlugin::isEnabled):
- (QWebPlugin::operator==):
- (QWebPlugin::operator!=):
- (QWebPlugin::operator=):
- (QWebPluginDatabase::QWebPluginDatabase):
- (QWebPluginDatabase::~QWebPluginDatabase):
- (QWebPluginDatabase::plugins):
- (QWebPluginDatabase::defaultSearchPaths):
- (QWebPluginDatabase::searchPaths):
- (QWebPluginDatabase::setSearchPaths):
- (QWebPluginDatabase::addSearchPath):
- (QWebPluginDatabase::refresh):
- (QWebPluginDatabase::pluginForMimeType):
- (QWebPluginDatabase::setPreferredPluginForMimeType):
- * Api/qwebplugindatabase.h: Added.
- * Api/qwebplugindatabase_p.h: Added.
- * Api/qwebsettings.cpp:
- (QWebSettings::pluginDatabase):
- * Api/qwebsettings.h:
- * tests/qwebplugindatabase/qwebplugindatabase.pro: Added.
- * tests/qwebplugindatabase/tst_qwebplugindatabase.cpp: Added.
- (tst_QWebPluginDatabase::installedPlugins):
- (tst_QWebPluginDatabase::searchPaths):
- (tst_QWebPluginDatabase::null_data):
- (tst_QWebPluginDatabase::null):
- (tst_QWebPluginDatabase::pluginForMimeType):
- (tst_QWebPluginDatabase::enabled):
- (tst_QWebPluginDatabase::operatorequal_data):
- (tst_QWebPluginDatabase::operatorequal):
- (tst_QWebPluginDatabase::preferredPlugin):
- * tests/tests.pro:
-
-2009-08-03 Balazs Kelemen <kelemen.balazs.3@stud.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Do memory cleanup when running robotized QtLauncher in debug as well.
-
- * QtLauncher/main.cpp:
- (launcherMain):
- (main):
-
-2009-07-30 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Initialize HTML5 Application Cache for QtWebKit to a sensible default
- https://bugs.webkit.org/show_bug.cgi?id=27866
-
- * Api/qwebpage.cpp:
- (initializeApplicationCachePathIfNecessary):
- (QWebPagePrivate::QWebPagePrivate):
-
-2009-07-31 Jakob Petsovits <jakob.petsovits@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Build QtWebKit without benchmark tests for Qt < 4.5.
- https://bugs.webkit.org/show_bug.cgi?id=27886
-
- The QBENCHMARK macro is only available from 4.5 on,
- so builds for Qt < 4.5 shouldn't try to build those.
-
- * tests/tests.pro:
-
-2009-07-31 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Adam Treat.
-
- Fix warning by migrating use of QString.sprintf(...) to
- QString.arg().arg()...
-
- * WebCoreSupport/EditorClientQt.cpp:
- (dumpRange):
-
-2009-07-31 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Expose the Offline Web Application Cache in the Qt API.
-
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
- (QWebSettings::setOfflineWebApplicationCachePath):
- (QWebSettings::offlineWebApplicationCachePath):
- (QWebSettings::setOfflineWebApplicationCacheQuota):
- (QWebSettings::offlineWebApplicationCacheQuota):
- * Api/qwebsettings.h:
-
-2009-07-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Adam Treat.
-
- Add missing Q_OBJECT to class inheriting from QObject.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-07-30 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Adam Treat.
-
- Fix indentation.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-07-30 Volker Hilsheimer <volker.hilsheimer@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix documentation links to examples.
-
- * Api/qwebview.cpp:
-
-2009-07-30 Balazs Kelemen <kelemen.balazs.3@stud.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Allocate MainWindow on heap in robotized QtLauncher as well.
-
- * QtLauncher/main.cpp:
- (main):
-
-2009-07-29 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Darin Adler.
-
- Added foundation work to allow a testing infrastructure for the Web
- Inspector.
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::inspectorWindowObjectCleared):
- * WebCoreSupport/InspectorClientQt.h:
-
-2009-07-29 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- [Qt] In debug mode, this fix frees cached resources
- and other unreferenced objects (by calling the
- garbage collector) to remove the LEAK messages.
- https://bugs.webkit.org/show_bug.cgi?id=27767
-
- * Api/qwebframe.cpp:
- (qt_drt_cache_clear):
- * QtLauncher/main.cpp:
- (main):
-
-2009-07-28 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Fix the Qt build by adapting to the changes of ScriptObject.
-
- * Api/qwebelement.cpp:
- (setupScriptObject):
-
-2009-07-28 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by Simon Hausmann.
-
- Add WebKit version API to Qt.
-
- Get the current version of WebKit from WebKit/mac/Configurations/Version.xcconfig
- at compile time and make it available to Qt applications through
- qWebKitVersion().
-
- Also amend the User Agent string to place the Safari clause outside
- the final bracket and to the end of the UA string.
-
- https://bugs.webkit.org/show_bug.cgi?id=27158
-
- Minor build tweak by Simon Hausmann (adding export macros to new functions).
-
- * Api/headers.pri:
- * Api/qwebkitversion.cpp: Added.
- (webKitVersion):
- (webKitMajorVersion):
- (webKitMinorVersion):
- * Api/qwebkitversion.h: Added.
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
- * tests/qwebview/tst_qwebview.cpp:
- (tst_QWebView::getWebKitVersion):
-
-2009-07-28 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Ariya Hidayat.
-
- Fix compilation with the precompiled header.
-
- * WebKit_pch.h: Don't include JSDOMBinding.h and MathObject.h,
- as they include AtomicString.h. AtomicString.cpp needs to enable
- a #define before including AtomicString.h, which breaks if the PCH
- forces the inclusion beforehand.
-
-2009-07-28 Ariya Hidayat <ariya.hidayat@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Added tests to ensure that scroll position can be changed
- programmatically, even when the scroll bar policy is set to off.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-07-28 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix a few compilation warnings in the QWebFrame tests.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-07-28 Andre Pedralho <andre.pedralho@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Fixed tst_QWebFrame::hasSetFocus test which was using
- an undefined resource.
- https://bugs.webkit.org/show_bug.cgi?id=27512
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-07-28 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Make it possible to pass relative file names to QtLauncher.
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
-
-2009-07-27 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=27735
- Give a helpful name to JSLock constructor argument
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
-2009-07-27 Volker Hilsheimer <volker.hilsheimer@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- QWebView's "enabled" parameter should default to true, as with QGraphicsView and
- QPainter.
-
- * Api/qwebview.cpp: Add reference to QPainter::renderHints().
- * Api/qwebview.h: Add default for enabled argument.
-
-2009-07-26 Kavindra Palaraja <kavindra.palaraja@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- More documentation cleanups in the QWebElement class overview.
-
- * Api/qwebelement.cpp:
-
-2009-07-26 Kavindra Palaraja <kavindra.palaraja@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Clean up documentation of QWebElement's findFirst and findAll functions,
- as well as their QWebFrame counterparts.
-
- * Api/qwebelement.cpp:
- * Api/qwebframe.cpp:
-
-2009-07-26 Kavindra Palaraja <kavindra.palaraja@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Various documentation cleanups
-
- * Fixed qdoc warnings
- * Hide QWebNetworkInterface from the class overview
- * Mention QWebElement in the module overview
- * More cleanups
-
- * Api/qwebframe.cpp:
- * Api/qwebnetworkinterface.cpp:
- * Api/qwebview.cpp:
- * docs/qtwebkit.qdoc:
-
-2009-07-26 Kavindra Palaraja <kavindra.palaraja@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Added missing class diagram referenced from the docs, taken from the Qt
- documentation.
-
- * docs/qtwebkit.qdocconf: Register the image directory with
- qdoc.
- * docs/qwebview-diagram.png: Added.
-
-2009-07-24 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Adam Treat.
-
- As per discussion on IRC, changed originalUrl by requestedUrl.
-
- * Api/qwebframe.cpp:
- (QWebFrame::requestedUrl):
- * Api/qwebframe.h:
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-07-24 Andre Pedralho <andre.pedralho@openbossa.org>
-
- Reviewed by Adam Treat.
-
- Removed void QWebFrame::renderContents(...) and added the Q_PROPERTY
- clipRenderToViewport to control whether QWebFrame::render would call
- FrameView::paintContents rather than FrameView::paint and do not clip
- the frame content to viewport.
-
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::renderPrivate):
- (QWebFrame::clipRenderToViewport):
- (QWebFrame::setClipRenderToViewport):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-07-24 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [QT] Implement originalUrl getter method to the API
- https://bugs.webkit.org/show_bug.cgi?id=25867
-
- * Api/qwebframe.cpp:
- (QWebFrame::originalUrl):
- * Api/qwebframe.h:
- * tests/qwebframe/qwebframe.qrc:
- * tests/qwebframe/test1.html: Added.
- * tests/qwebframe/test2.html: Added.
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-07-24 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Build fix for Qt.
-
- Fix build issue introduced in 46344
- ([Bug 22700] ApplicationCache should have size limit)
-
- Remove method only added to the Qt ChromeClient.
-
- * WebCoreSupport/ChromeClientQt.h:
-
-2009-07-24 Andrei Popescu <andreip@google.com>
-
- Reviewed by Anders Carlsson.
-
- ApplicationCache should have size limit
- https://bugs.webkit.org/show_bug.cgi?id=22700
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::reachedMaxAppCacheSize):
- Adds empty implementation of the reachedMaxAppCacheSize callback.
- * WebCoreSupport/ChromeClientQt.h:
-
-2009-07-23 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add simple proxy support for QtLauncher
- https://bugs.webkit.org/show_bug.cgi?id=27495
-
- Picks up proxy settings from the http_proxy environment
- variable.
-
- * QtLauncher/QtLauncher.pro: Add QtNetwork dependency for all
- platforms.
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
-
-2009-07-23 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Holger Freyther.
-
- Added a testcase to verify that cached methods in the QOBject bindings
- remain alife even after garbage collection.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::protectBindingsRuntimeObjectsFromCollector):
-
-2009-07-23 Zoltan Herczeg <zherczeg@inf.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Fixing two issues related to QtLauncher
- - MainWindow objects are not always freed after close
- - JavaScript window.close() sometimes crashes
- https://bugs.webkit.org/show_bug.cgi?id=27601
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- (main):
-
-2009-07-21 Volker Hilsheimer <volker.hilsheimer@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Various improvements to the API documentation.
-
- * Updated link to W3c Database spec
- * Formatting fixes, cleanups
- * Add missing \since 4.6 tags to QWebPage::frameAt
- * Extend QWebDatabase and QWebSecurityOrigin docs.
-
- * Api/qwebdatabase.cpp:
- * Api/qwebpage.cpp:
- * Api/qwebsecurityorigin.cpp:
- * Api/qwebview.cpp:
-
-2009-07-21 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Rubber-stamped by Simon Hausmann.
-
- Remove preliminary-tag from QWebElement
-
- * Api/qwebelement.cpp:
-
-2009-07-20 Kenneth Rohde Christiansen <kenneth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Fix Qt code to follow the WebKit Coding Style.
-
- * Api/qcookiejar.cpp:
- (QCookieJar::setCookieJar):
- (QCookieJar::cookieJar):
- * Api/qcookiejar.h:
- * Api/qwebdatabase.cpp:
- (QWebDatabase::QWebDatabase):
- (QWebDatabase::removeDatabase):
- * Api/qwebdatabase.h:
- * Api/qwebdatabase_p.h:
- * Api/qwebelement.h:
- * Api/qwebframe.cpp:
- (QWebFrame::title):
- (QWebFrame::print):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- * Api/qwebhistory.cpp:
- (QWebHistory::clear):
- * Api/qwebhistory.h:
- * Api/qwebhistory_p.h:
- * Api/qwebhistoryinterface.cpp:
- (gCleanupInterface):
- (QWebHistoryInterface::setDefaultInterface):
- (QWebHistoryInterface::defaultInterface):
- (QWebHistoryInterface::QWebHistoryInterface):
- * Api/qwebhistoryinterface.h:
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::started):
- (QWebNetworkManager::finished):
- (QWebNetworkInterfacePrivate::parseDataUrl):
- (QWebNetworkInterface::addJob):
- (WebCoreHttp::onResponseHeaderReceived):
- (WebCoreHttp::onReadyRead):
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::editorCommandForWebActions):
- (QWebPagePrivate::createContextMenu):
- (QWebPagePrivate::focusInEvent):
- (QWebPage::fixedContentsSize):
- (QWebPage::setContentEditable):
- (QWebPage::swallowContextMenuEvent):
- (QWebPage::findText):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebpluginfactory.h:
- * Api/qwebsecurityorigin.h:
- * Api/qwebsecurityorigin_p.h:
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::QWebSettingsPrivate):
- (QWebSettingsPrivate::apply):
- (QWebSettings::globalSettings):
- (QWebSettings::QWebSettings):
- (QWebSettings::fontSize):
- (QWebSettings::setUserStyleSheetUrl):
- (QWebSettings::setDefaultTextEncoding):
- (QWebSettings::setIconDatabasePath):
- (QWebSettings::iconDatabasePath):
- (QWebSettings::iconForUrl):
- (QWebSettings::setWebGraphic):
- (QWebSettings::setFontFamily):
- (QWebSettings::fontFamily):
- (QWebSettings::testAttribute):
- (qt_websettings_setLocalStorageDatabasePath):
- * Api/qwebsettings.h:
- * Api/qwebview.cpp:
- (QWebView::setPage):
- (QWebView::event):
- * Api/qwebview.h:
-
-2009-07-20 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add test for loading webpages...
-
- Performance test for loading webpages. Wait for the loadFinished
- signal to be fired. This should include a non empty layout.
-
- * tests/benchmarks/loading/tst_loading.cpp: Added.
- (waitForSignal):
- (tst_Loading::init):
- (tst_Loading::cleanup):
- (tst_Loading::load_data):
- (tst_Loading::load):
- * tests/benchmarks/loading/tst_loading.pro: Added.
- * tests/tests.pro:
-
-2009-07-20 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add a test case for drawing a simple viewrect to a QPixmap
-
- * tests/benchmarks/painting/tst_painting.cpp: Added.
- (waitForSignal):
- (tst_Painting::init):
- (tst_Painting::cleanup):
- (tst_Painting::paint_data):
- (tst_Painting::paint):
- * tests/benchmarks/painting/tst_painting.pro: Added.
- * tests/tests.pro:
-
-2009-07-20 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Holger Freyther.
-
- [Qt] Add an option for QtLauncher to build without QtUiTools dependency
- https://bugs.webkit.org/show_bug.cgi?id=27438
-
- Based on Norbert Leser's work.
-
- * QtLauncher/main.cpp:
- (WebPage::createPlugin):
-
-2009-07-17 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Adam Treat.
-
- Coding style fixes.
-
- * Api/qcookiejar.cpp:
- (QCookieJarPrivate::QCookieJarPrivate):
- (qHash):
- (QCookieJar::cookieJar):
- * Api/qwebelement.cpp:
- (QWebElement::functions):
- (QWebElement::scriptableProperties):
- * Api/qwebframe.cpp:
- (QWebFrame::metaData):
- (QWebFrame::scrollBarValue):
- (QWebFrame::scroll):
- (QWebFrame::scrollPosition):
- (QWebFrame::print):
- * Api/qwebnetworkinterface.cpp:
- (decodePercentEncoding):
- (QWebNetworkRequestPrivate::init):
- (QWebNetworkRequestPrivate::setURL):
- (QWebNetworkRequest::QWebNetworkRequest):
- (QWebNetworkRequest::operator=):
- (QWebNetworkRequest::setUrl):
- (QWebNetworkRequest::setHttpHeader):
- (QWebNetworkRequest::httpHeaderField):
- (QWebNetworkRequest::setHttpHeaderField):
- (QWebNetworkRequest::setPostData):
- (QWebNetworkJob::setResponse):
- (QWebNetworkJob::frame):
- (QWebNetworkManager::add):
- (QWebNetworkManager::cancel):
- (QWebNetworkManager::started):
- (QWebNetworkManager::data):
- (QWebNetworkManager::finished):
- (QWebNetworkManager::addHttpJob):
- (QWebNetworkManager::cancelHttpJob):
- (QWebNetworkManager::httpConnectionClosed):
- (QWebNetworkInterfacePrivate::sendFileData):
- (QWebNetworkInterfacePrivate::parseDataUrl):
- (QWebNetworkManager::doWork):
- (QWebNetworkInterface::setDefaultInterface):
- (QWebNetworkInterface::defaultInterface):
- (QWebNetworkInterface::QWebNetworkInterface):
- (QWebNetworkInterface::addJob):
- (QWebNetworkInterface::cancelJob):
- (WebCoreHttp::WebCoreHttp):
- (WebCoreHttp::request):
- (WebCoreHttp::scheduleNextRequest):
- (WebCoreHttp::getConnection):
- (WebCoreHttp::onResponseHeaderReceived):
- (WebCoreHttp::onReadyRead):
- (WebCoreHttp::onRequestFinished):
- (WebCoreHttp::onAuthenticationRequired):
- (WebCoreHttp::onProxyAuthenticationRequired):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::mouseReleaseEvent):
- (QWebPagePrivate::inputMethodEvent):
- (QWebPagePrivate::shortcutOverrideEvent):
- (QWebPage::inputMethodQuery):
- (QWebPage::javaScriptPrompt):
- (QWebPage::updatePositionDependentActions):
- (QWebPage::userAgentForUrl):
- (QWebPagePrivate::_q_onLoadProgressChanged):
- (QWebPage::totalBytes):
- (QWebPage::bytesReceived):
- * Api/qwebsettings.cpp:
- (QWebSettings::iconForUrl):
- (QWebSettings::setObjectCacheCapacities):
- * Api/qwebview.cpp:
- (QWebView::paintEvent):
- (QWebView::changeEvent):
-
-2009-07-17 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Overwrite the plugin directories for the DRT.
- Part of https://bugs.webkit.org/show_bug.cgi?id=27215
-
- * Api/qwebpage.cpp:
- (qt_drt_overwritePluginDirectories): Only set the plugin directories
- to the ones in the QTWEBKIT_PLUGIN_PATH environment variable.
-
-2009-07-16 Xiaomei Ji <xji@chromium.org>
-
- Reviewed by Dan Bernstein.
-
- This is the 2nd part of fixing "RTL: tooltip does not get its directionlity from its element's."
- https://bugs.webkit.org/show_bug.cgi?id=24187
-
- Add one extra parameter to the callee of HitTestResult::title() due to the signature change.
-
- * Api/qwebframe.cpp:
- (QWebHitTestResultPrivate::QWebHitTestResultPrivate): Add direction as a parameter to the callee of HitTestResult::title().
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::mouseDidMoveOverElement): Add direction as a parameter to the callee of HitTestResult::title().
-
-2009-07-16 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Add new action to qwebpage to reload without cache.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateAction):
- (QWebPagePrivate::updateNavigationActions):
- (QWebPage::triggerAction):
- * Api/qwebpage.h:
-
-2009-07-16 Xiaomei Ji <xji@chromium.org>
-
- Reviewed by Darin Adler.
-
- Fix tooltip does not get its directionality from its element's directionality.
- https://bugs.webkit.org/show_bug.cgi?id=24187
-
- Per mitz's suggestion in comment #6, while getting the plain-text
- title, we also get the directionality of the title. How to handle
- the directionality is up to clients. Clients could ignore it,
- or use attribute or unicode control characters to display the title
- as what they want.
-
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::setToolTip): Add directionality as 2nd parameter to setToopTip() (without handling it yet).
- * WebCoreSupport/ChromeClientQt.h: Add directionality as 2nd parameter to setToolTip().
-
-2009-07-15 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=27285
-
- When the user clicks a link with a target attribute, the newly created window should be visible.
- Make new windows created in Qtlauncher visible.
-
- * QtLauncher/main.cpp:
- (WebPage::createWindow):
-
-2009-07-14 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Zack Rusin.
-
- https://bugs.webkit.org/show_bug.cgi?id=26983
-
- The default constructed values for QSize and WebCore::IntSize are different. The former
- produces an invalid size whereas the latter produces a size of zero. This was causing
- a layout to be triggered when constructing a view and an assert to be hit. This patch fixes
- the crash by taking care not to cause an unnecessary layout triggered by ScrollView::setFixedLayoutSize.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2009-07-13 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Fix qdoc warnings for QWebPage::shouldInterruptJavaScript() and mention
- how to re-implement it.
-
- * Api/qwebpage.cpp:
-
-2009-07-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Fix crash with plugins when the plugin stream is cancelled.
-
- Similar to r26667 handle the case where didReceiveResponse on the
- plugin view results in failure to set up the stream and
- setMainDocumentError being called instead. This will set the
- m_pluginView back to 0 and we need check for it before calling
- didReceiveData.
-
- This was triggered by consecutive execution of
- LayoutTests/plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html
- followed by LayoutTests/scrollbars/scrollbar-crash-on-refresh.html
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::committedLoad):
-
-2009-07-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Added QWebDatabase::removeAllDatabases, as a way to delete all
- databases from the offline storage path.
-
- Used by the Qt DRT.
-
- * Api/qwebdatabase.cpp:
- (QWebDatabase::removeAllDatabases):
- * Api/qwebdatabase.h:
-
-2009-07-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Added loadStarted() and loadFinished() signals to QWebFrame,
- to allow load tracking of individual frames, as opposed to
- QWebPage's loadStarted/loadFinished signals that are emitted
- whenever _any_ child frame loads/finishes.
-
- * Api/qwebframe.cpp: Document new signals.
- * Api/qwebframe.h: Add new signals.
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::setFrame): Connect new signals.
-
-2009-07-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Add hooks for the GCController JavaScript interface needed by the
- Qt DRT.
-
- Fixed sort order of includes in qwebframe.cpp.
-
- * Api/qwebframe.cpp:
- (qt_drt_javaScriptObjectsCount):
- (qt_drt_garbageCollector_collect):
- (qt_drt_garbageCollector_collectOnAlternateThread):
-
-2009-07-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Ariya Hidayat.
-
- Add hooks for the GCController JavaScript interface needed by the
- Qt DRT.
-
- Fixed sort order of includes in qwebframe.cpp.
-
- * Api/qwebframe.cpp:
- (qt_drt_javaScriptObjectsCount):
- (qt_drt_garbageCollector_collect):
- (qt_drt_garbageCollector_collectOnAlternateThread):
-
-2009-07-12 Brent Fulgham <bfulgham@gmail.com>
-
- Speculative build fix after http://trac.webkit.org/changeset/45786.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::addMessageToConsole):
- * WebCoreSupport/ChromeClientQt.h:
-
-2009-07-10 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=27136
-
- Fix a bug where webkit hangs when executing infinite JavaScript loop.
-
- * Api/qwebpage.cpp:
- (QWebPage::shouldInterruptJavaScript):
- * Api/qwebpage.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::shouldInterruptJavaScript):
- * tests/qwebpage/tst_qwebpage.cpp:
- (JSTestPage::JSTestPage):
- (JSTestPage::shouldInterruptJavaScript):
- (tst_QWebPage::infiniteLoopJS):
-
-2009-07-10 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=27108
-
- Fix crash when in frame tree of a new frame before the new frame
- has been installed in the frame tree, similar to r35088.
-
- After calling Frame::init() the frame it may have been removed from the
- frame tree again through JavaScript. Detect this by checking the page()
- afterwards.
-
- To make this check safe the Frame::init() code was moved into
- QWebFrameData's constructor, where a RefPtr holds a reference to the frame.
- After the check back in FrameLoaderClientQt we would hold the single
- reference left and after release() the frame, its frame loader, its
- client as well as the QWebFrame should have disappeared then.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init): Only call Frame::init here, the rest is
- done in QWebFrameData's constructor.
- (QWebFrame::QWebFrame):
- * Api/qwebframe_p.h: Adjust declaration.
- (QWebFrameData::QWebFrameData): Create the Frame here.
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createMainFrame): Adjust and simplify
- to new QWebFrame constructor.
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame): Adjust to
- new QWebFrame construction using QWebFrameData and add the
- check like in r35088.
-
-2009-07-09 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Make Widget RefCounted to fix:
-
- <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
- at WebCore::Widget::afterMouseDown() after clicking To Do's close
- box
- <rdar://problem/6978804> WER #16: Repro Access Violation in
- WebCore::PluginView::bindingInstance (1310178023)
- -and-
- <rdar://problem/6991251> WER #13: Crash in WebKit!
- WebCore::PluginView::performRequest+203 (1311461169)
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
- (WebCore::FrameLoaderClientQt::createJavaAppletWidget):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2009-07-08 Pradeepto Bhattacharya <pradeepto@kde.org>
-
- Reviewed by Ariya Hidayat.
-
- Build fix.
-
- * WebCoreSupport/FrameLoaderClientQt.h: Removed the slot slotCallPolicyFunction().
-
-2009-07-08 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- https://bugs.webkit.org/show_bug.cgi?id=27080
-
- Fix DRT instability issues with fast/loader/submit-form-while-parsing-2.html
-
- When the form is submitted we call the policy function in the frame
- loader delayed with a queued connection. That queued connection
- sometimes interferes with the javascript timeout set in the testcase.
-
- Eliminate the entire delayed policy function mechanism and instead always
- call back directly, like in the other ports. In most other places we called
- the slot directly anyway.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::FrameLoaderClientQt): Remove m_policyFunction.
- (WebCore::FrameLoaderClientQt::callPolicyFunction): Call the policy function directly instead
- of emitting the queued signal.
- (WebCore::FrameLoaderClientQt::cancelPolicyCheck): Call callPolicyFunction directly.
- (WebCore::FrameLoaderClientQt::dispatchWillSubmitForm): Ditto.
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType): Ditto.
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction): Ditto.
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction): Ditto.
- * WebCoreSupport/FrameLoaderClientQt.h: Remove m_policyFunction as well as the associated
- signal.
-
-2009-07-07 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger Freyther.
-
- Add Qt DRT hook for clearing the frame name.
-
- * Api/qwebframe.cpp:
- (qt_drt_clearFrameName):
-
-2009-07-05 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger Freyther.
-
- Fix two qdoc warnings.
-
- Added missing \property for QWebFrame::hasFocus and added \a
- tag for pos of QWebPage::frameAt.
-
- * Api/qwebframe.cpp:
- * Api/qwebpage.cpp:
-
-2009-07-04 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- Use the recently introduced FocusController::setFocused
-
- Use the recently introduced FocusController::setFocused
- in the Qt platform. The SelectionController will be updated
- from within the FocusController now.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::focusInEvent):
- (QWebPagePrivate::focusOutEvent):
-
-2009-07-02 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Improve documentation of QWebFrame::setFocus and hasFocus()
- Added missing Q_PROPERTY for QWebFrame::hasFocus.
-
- * Api/qwebframe.cpp: Clarify the docs.
- * Api/qwebframe.h: add Q_PROPERTY(focus).
-
-2009-07-02 Joe Ligman <joseph.ligman@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Bug 26855: [Qt] New methods for QWebFrame to check and set focus.
-
- Added new public methods QWebFrame::hasFocus() and QWebFrame::setFocus()
- Added auto test.
-
- * Api/qwebframe.cpp:
- (QWebFrame::hasFocus):
- (QWebFrame::setFocus):
- * Api/qwebframe.h:
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-07-01 Robert Hogan <robert@roberthogan.net>
-
- Reviewed by NOBODY.
-
- Fix Qt segfault when javascript disabled.
- If clients call addToJavaScriptWindowObject even though JavascriptEnabled is false
- webkit will segfault on the assert:
- ASSERTION FAILED: _rootObject
- (../../../WebCore/bridge/runtime.cpp:52
- JSC::Bindings::Instance::Instance(WTF::PassRefPtr<JSC::Bindings::RootObject>))
- Fix is to ensure JavaScript is enabled when client calls addToJavaScriptWindowObject.
-
- https://bugs.webkit.org/show_bug.cgi?id=26906
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
-2009-07-01 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Move some API headers from WebCore.pro to headers.pri so that they
- get installed when running make install from the build directory.
-
- * Api/headers.pri:
-
-2009-07-01 Balazs Kelemen <kelemen.balazs.3@stud.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Fixed robotized QtLauncher to work when there is no index.html in the user's home.
-
- * QtLauncher/main.cpp:
- (main):
-
-2009-06-30 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Adam Roben.
-
- Renamed scrollbarUnderPoint to scrollbarAtPoint to follow conventions.
-
- * Api/qwebpage.cpp:
- (QWebPage::swallowContextMenuEvent):
-
-2009-06-30 Joe Ligman <joseph.ligman@nokia.com>
-
- Reviewed by Adam Treat.
-
- Bug 26422: [Qt] QWebPagePrivate::frameAt calculates wrong frame
-
- Added a public method QWebPage::frameAt
- Removed QWebPagePrivate::frameAt, which calcuated the wrong frame
- Modified QWebPage::swallowContextMenuEvent to use the new frameAt method
- New test case for frameAt added to tst_qwebpage.cpp
-
- * Api/qwebpage.cpp:
- (QWebPage::frameAt):
- (QWebPage::swallowContextMenuEvent):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * tests/qwebpage/frametest/iframe.html: Added.
- * tests/qwebpage/frametest/iframe2.html: Added.
- * tests/qwebpage/frametest/iframe3.html: Added.
- * tests/qwebpage/tst_qwebpage.cpp:
- (frameAtHelper):
- (tst_QWebPage::frameAt):
- * tests/qwebpage/tst_qwebpage.qrc:
-
-2009-06-30 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Simon Hausmann.
-
- Add QWebFrame::baseUrl() function that exposes the base URL of a frame.
- Autotests included.
-
- * Api/qwebframe.cpp:
- (QWebFrame::baseUrl):
- * Api/qwebframe.h:
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-06-29 Simon Hausmann <simon.hausmann@nokia.com>
-
- Fix the Qt build, add missing isSpeaking() implementation to
- ContextMenuClient.
-
- * WebCoreSupport/ContextMenuClientQt.cpp:
- (WebCore::ContextMenuClientQt::isSpeaking):
- * WebCoreSupport/ContextMenuClientQt.h:
-
-2009-06-28 Sriram Yadavalli <sriram.yadavalli@nokia.com>
-
- Reviewed by Eric Seidel.
-
- [Qt] Fix build break for Qt
- https://bugs.webkit.org/show_bug.cgi?id=26779
-
- * Api/qwebpage.cpp:
- (QWebPage::swallowContextMenuEvent):
-
-2009-06-27 Simon Hausmann <simon.hausmann@nokia.com>
-
- Build fix for Qt under Windows.
-
- * Api/qwebhistory.h: Use consistent export linkage for the datastream operators.
-
-2009-06-26 Brian Weinstein <bweinstein@apple.com>
-
- Reviewed by Simon Fraser.
-
- Changed call of scrollbarUnderMouse to scrollbarUnderPoint to match new API.
-
- * Api/qwebpage.cpp:
- (QWebPage::swallowContextMenuEvent):
-
-2009-06-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Add support for saving and loading of QWebHistory to and from a QByteArray.
-
- This includes streaming operators for QWebHistory. for convenience.
-
- New autotests that test QWebHistory and QWebHistoryItem serialization.
-
- * Api/qwebhistory.cpp:
- (QWebHistory::restoreState):
- (QWebHistory::saveState):
- (operator<<):
- (operator>>):
- * Api/qwebhistory.h:
- * Api/qwebhistory_p.h:
- * tests/qwebhistory/tst_qwebhistory.cpp:
- (tst_QWebHistory::):
- (tst_QWebHistory::init):
- (tst_QWebHistory::title):
- (tst_QWebHistory::count):
- (tst_QWebHistory::back):
- (tst_QWebHistory::forward):
- (tst_QWebHistory::itemAt):
- (tst_QWebHistory::goToItem):
- (tst_QWebHistory::items):
- (tst_QWebHistory::serialize_1):
- (tst_QWebHistory::serialize_2):
- (tst_QWebHistory::serialize_3):
- (tst_QWebHistory::saveAndRestore_1):
- (tst_QWebHistory::saveAndRestore_2):
- (tst_QWebHistory::saveAndRestore_3):
-
-2009-06-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix the behaviour of QWebHistory::itemAt to interpret the specified index as absolute index.
-
- Returns an invalid QWebHistoryItem if the index is out of range.
-
- * Api/qwebhistory.cpp:
- (QWebHistory::itemAt):
- * tests/qwebhistory/tst_qwebhistory.cpp:
- (tst_QWebHistory::itemAt):
-
-2009-06-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Added a few autotest to QWebHistory.
-
- * tests/qwebhistory/data/page1.html: Added.
- * tests/qwebhistory/data/page2.html: Added.
- * tests/qwebhistory/data/page3.html: Added.
- * tests/qwebhistory/data/page4.html: Added.
- * tests/qwebhistory/data/page5.html: Added.
- * tests/qwebhistory/data/page6.html: Added.
- * tests/qwebhistory/qwebhistory.pro: Added.
- * tests/qwebhistory/tst_qwebhistory.cpp: Added.
- (tst_QWebHistory::):
- (tst_QWebHistory::tst_QWebHistory):
- (tst_QWebHistory::~tst_QWebHistory):
- (tst_QWebHistory::init):
- (tst_QWebHistory::cleanup):
- (tst_QWebHistory::title):
- (tst_QWebHistory::count):
- (tst_QWebHistory::back):
- (tst_QWebHistory::forward):
- (tst_QWebHistory::goToItem):
- (tst_QWebHistory::items):
- * tests/qwebhistory/tst_qwebhistory.qrc: Added.
- * tests/tests.pro:
-
-2009-06-26 Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix support for documenting functions prefixed with QWEBKIT_EXPORT
-
- Add QWEBKIT_EXPORT to the list of macros to ignore by qdoc.
-
- * docs/qtwebkit.qdocconf:
-
-2009-06-26 Yongjun Zhang <yongjun.zhang@nokia.com>
-
- Reviewed by Eric Seidel.
-
- Bug 20303: [Qt] Key events are not working in frames.
-
- Send scrolling events to current focused frame, bubble the event
- up to parent frame if it is not handled. Use EventHandler's new
- shared scrolling code.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::keyPressEvent):
- (QWebPagePrivate::handleScrolling):
- * Api/qwebpage_p.h:
-
-2009-06-25 Jakub Wieczorek <faw217@gmail.com>
-
- Reviewed by Adam Treat.
-
- Add highlight functionality to the QWebPage::findText() method. Introduced is
- new HighlightAllOccurrences flag which passed to the function will make it mark
- all existing occurrences of specified string in the page.
-
- * Api/qwebpage.cpp:
- (QWebPage::findText):
- * Api/qwebpage.h:
- * Api/qwebview.cpp:
-
-2009-06-19 Daniel Teske <qt-info@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Remove warnings for QString() constructions from const char *
-
- By explicitly wrapping it with QLatin1String() / QLatin1Char()
-
- * Api/qwebelement.cpp:
- (QWebElement::classes): Use QLatin1String.
- (QWebElement::addClass): Ditto.
- (QWebElement::removeClass): Ditto.
- (QWebElement::toggleClass): Ditto.
-
-2009-06-18 Friedemann Kleint <Friedemann.Kleint@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fixed MinGW compilation.
-
- * Api/qwebelement.cpp:
- (QWebElement::evaluateScript):
-
-2009-06-18 Markus Goetz <Markus.Goetz@nokia.com>
-
- Reviewed by Simon Hausman.
-
- Clarify in docs how to compile with debug information.
-
- * docs/qtwebkit.qdoc:
-
-2009-06-17 Markus Goetz <Markus.Goetz@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- QWebPage: Don't call supportsSsl()
-
- This stops QWebPage from loading the OpenSSL libs,
- certificates etc. when they are not needed for the non-HTTPS case.
-
- Loading the SSL libraries can be a very slow operation.
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
-
-2009-06-16 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Doc: Fixed QWebPage::forwardUnsupportedContent documentation and added
- more information about Web plugins.
-
- * Api/qwebpage.cpp:
- * Api/qwebsettings.cpp:
- * docs/qtwebkit.qdoc:
-
-2009-06-16 Morten Engvoldsen <morten.engvoldsen@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Clearifying QWebFrame docs
-
- Adding docs to toHtml() and toPlainText()
-
- * Api/qwebframe.cpp:
-
-2009-06-15 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Reviewed by Adam Treat.
-
- Support the back/forward/stop/refresh multimedia keys and accept the
- event when handling backspace and shift backspace as we should.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::keyPressEvent):
-
-2009-06-15 Andre Pedralho <andre.pedralho@openbossa.org>
-
- Reviewed by Adam Treat.
-
- https://bugs.webkit.org/show_bug.cgi?id=26351
- Remove bool QWebHitTestResult::isScrollBar() const and make sure a null QWebHitTestResult is returned instead.
-
- * Api/qwebframe.cpp:
- (QWebFrame::hitTestContent):
- * Api/qwebframe.h:
- * Api/qwebpage.cpp:
- (QWebPage::updatePositionDependentActions):
-
-2009-06-15 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Adam Treat.
-
- Fix the logic for disabling the fixed layout feature, when an invalid
- QSize is set.
-
- * Api/qwebpage.cpp:
- (QWebPage::setFixedContentsSize):
-
-2009-06-13 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Fisher.
-
- https://bugs.webkit.org/show_bug.cgi?id=24492
-
- Move registerURLSchemeAsLocal from FrameLoader to SecurityOrigin.
-
- * Api/qwebpage.cpp:
- (QWebPage::acceptNavigationRequest):
-
-2009-06-10 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- Documented ResolveRule and StylePriority enum values as well as their use in
- QWebElement::styleProperty and QWebElement::setStyleProperty methods.
-
- Based on the work of Simon Hausmann.
-
- * Api/qwebelement.cpp:
- (QWebElement::styleProperty):
- (QWebElement::setStyleProperty):
- * Api/qwebelement.h:
-
-2009-06-09 Ariya Hidayat <ariya.hidayat@nokia.com>
-
- Rubber-stamped by Simon Hausmann.
-
- Fix qdoc warning, function parameter string must be referred.
-
- * Api/qwebview.cpp:
-
-2009-06-09 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Renamed QWebSettings::AllowUniversalAccessFromFileUrls to
- LocalContentCanAccessRemoteUrls, as discussed in the API review.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h:
-
-2009-06-09 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Merged useFixedLayout property with fixedLayoutSize and
- renamed the latter to fixedContentsSize.
-
- * Api/qwebpage.cpp:
- (QWebPage::fixedContentsSize):
- (QWebPage::setFixedContentsSize):
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2009-06-09 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Renamed QWebHitTestResult::linkTarget to linkElement() and made it return
- a QWebElement. The link target itself is always the target DOM attribute.
-
- * Api/qwebframe.cpp:
- (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
- (QWebHitTestResult::linkElement):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-06-08 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Holger Freyther.
-
- Renamed QWebElement::enclosingBlock to enclosingBlockElement
- and changed the return type to QWebElement, as discussed in
- the API review. This API is more generic and through
- QWebElement's geometry() it is possible to retrieve the
- same information.
-
- * Api/qwebelement.cpp:
- (QWebElement::QWebElement):
- * Api/qwebelement.h:
- * Api/qwebframe.cpp:
- (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
- (QWebHitTestResult::enclosingBlockElement):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
-
-2009-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Add missing includes of config.h
-
- * Api/qcookiejar.cpp:
- * Api/qwebnetworkinterface.cpp:
- * Plugins/ICOHandler.cpp:
- * WebCoreSupport/DragClientQt.cpp:
- * WebCoreSupport/EditCommandQt.cpp:
-
-2009-06-03 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Add API to make it possible to clear all memory caches used by
- QtWebKit.
-
- * Api/qwebsettings.cpp:
- (QWebSettings::clearMemoryCaches):
- * Api/qwebsettings.h:
-
-2009-06-01 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Rubber-stamped by Gustavo Noronha.
-
- Before guessing the url trim the string to remove whitespace added to the start/end by the user.
-
- * Api/qwebview.cpp:
- (QWebView::guessUrlFromString):
- * tests/qwebview/tst_qwebview.cpp:
- (tst_QWebView::guessUrlFromString_data):
-
-2009-06-01 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Rubber-stamped by Gustavo Noronha.
-
- Use QLatin1Char() to compile when QT_NO_CAST_FROM_ASCII and QT_NO_CAST_TO_ASCII is defined
-
- * Api/qwebview.cpp:
- (QWebView::guessUrlFromString):
-
-2009-06-01 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Rubber-stamped by Gustavo Noronha.
-
- Cleanup autotest file
- - use proper includes
- - remove useless constructor and destructor
- - add missing newline at the end of the file
-
- * tests/qwebview/tst_qwebview.cpp:
-
-2009-06-01 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Rubber-stamped by Gustavo Noronha.
-
- Add a missing space between two words in the documentation.
-
- * Api/qwebview.cpp:
-
-2009-05-26 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=25823
-
- Add an API to generate a QUrl out of a string correcting for errors and missing information.
- See the API documentation for more details about the function.
-
- Autotests: included
-
- * Api/qwebview.cpp:
- (QWebView::guessUrlFromString):
- * Api/qwebview.h:
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- (MainWindow::changeLocation):
- * tests/qwebview/.gitignore: Added.
- * tests/qwebview/qwebview.pro:
- (tst_QWebView::initTestCase):
- (tst_QWebView::cleanupTestCase):
- (tst_QWebView::init):
- (tst_QWebView::cleanup):
- (tst_QWebView::guessUrlFromString_data):
- (tst_QWebView::guessUrlFromString):
-
-2009-05-23 David Kilzer <ddkilzer@apple.com>
-
- Part 2 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
-
- <https://bugs.webkit.org/show_bug.cgi?id=25495>
-
- Reviewed by Oliver Hunt.
-
- * WebCoreSupport/ChromeClientQt.h:
- (WebCore::ChromeClientQt::createHTMLParserQuirks): Return a
- PassOwnPtr<> instead of a raw HTMLParserQuirks pointer.
-
-2009-05-23 Jakob Truelsen <antialize@gmail.com>
-
- Reviewed by Holger Freyther.
-
- https://bugs.webkit.org/show_bug.cgi?id=25863
-
- Expose the default text encoding property to Qt.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::setDefaultTextEncoding):
- (QWebSettings::defaultTextEncoding):
- * Api/qwebsettings.h:
-
-2009-05-21 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Additional test for resource load (CSS file) for QWebFrame.
-
- * tests/qwebframe/qwebframe.qrc:
- * tests/qwebframe/style.css: Added.
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-05-22 Simon Hausmann <simon.hausmann@nokia.com>
-
- Unreviewed Qt build fix.
-
- Provide dummy implementation of pure virtual EditorClient method.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::getAutoCorrectSuggestionForMisspelledWord):
- * WebCoreSupport/EditorClientQt.h:
-
-2009-05-20 Ariya Hidayat <ariya.hidayat@nokia.com>
-
- Reviewed by Simon Hausmann and Holger Freyther.
-
- [Qt] Add renderHints property to QWebView.
-
- * Api/qwebview.cpp:
- (QWebViewPrivate::QWebViewPrivate):
- (QWebView::renderHints):
- (QWebView::setRenderHints):
- (QWebView::setRenderHint):
- (QWebView::paintEvent):
- * Api/qwebview.h:
- * tests/qwebview/qwebview.pro: Added.
- * tests/qwebview/tst_qwebview.cpp: Added.
- (tst_QWebView::tst_QWebView):
- (tst_QWebView::~tst_QWebView):
- (tst_QWebView::init):
- (tst_QWebView::cleanup):
- (tst_QWebView::renderHints):
- * tests/tests.pro:
-
-2009-05-20 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=25834
-
- Make ChromeClient a interface again
-
- With recent additions to ChromeClient.h empty defaults were
- added. This is bad for porters as these changes go unnoticed
- and at runtime no notImplemented warning is logged and grepping
- for notImplemented will not show anything. Change this Client
- to be like the other Clients again and always have pure virtuals
- (but for stuff inside #ifdef PLATFORM(MAC)).
-
- Update the various WebKit/* implementations to compile again.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::setCursor):
- (WebCore::ChromeClientQt::requestGeolocationPermissionForFrame):
- * WebCoreSupport/ChromeClientQt.h:
- (WebCore::ChromeClientQt::scrollRectIntoView):
-
-2009-05-19 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Fix a plugin bug in the WebKit code, similar to the one in WebCore.
-
- The problem is when a non visible QtPluginWidget would show it self
- in a sibling frame. The problem was due to our clipping. In Qt,
- if setMask is set with an empty QRegion, no clipping will
- be performed, so in that case we hide the PluginContainer
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::):
-
-2009-05-18 Zoltan Horvath <horvath.zoltan.6@stud.u-szeged.hu>
-
- Reviewed by Ariya Hidayat.
-
- Makes QtLauncher to accept multiple urls in command line and opens these in separate windows.
-
- * QtLauncher/main.cpp:
- (MainWindow::newWindow):
- (main):
-
-2009-05-14 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- Add a comment to QWebView::iconChanged(), mentioning that you will
- need to set the icon database path for icons to be loaded, and thus
- receive the signal.
-
- * Api/qwebview.cpp:
-
-2009-05-14 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Fix setHtml test case by adding <head> tag to the expected result. This tag is automatically added by WebKit.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-05-14 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Add a test case for the signal urlChanged().
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-05-13 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Move emitting the signal QWebFrame::urlChanged to FrameLoaderClientQt::dispatchDidCommitLoad().
- This is to ensure that urlChanged() is emitted even if the frame has no title.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveTitle):
- (WebCore::FrameLoaderClientQt::dispatchDidCommitLoad):
-
-2009-05-13 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Rubberstamped by Ariya Hidayat.
-
- Fix coding style: Add {} to contents of if, containing a for loop.
-
- * Api/qwebelement.cpp:
- (QWebElement::styleProperty):
-
-2009-05-12 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- Fixed a possible crash @styleProperty when there is no embedded/external CSS set.
-
- * Api/qwebelement.cpp:
- (QWebElement::styleProperty):
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::style):
-
-2009-05-12 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- Added external CSS test cases to QWebElement::styleProperty() method.
-
- Also some ::styleProperty() tests cleanup.
-
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::style):
-
-2009-05-12 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- Many methods were not considering the case of the element not having
- siblings or children when inserting nodes, and thus broke in some
- situations. This patch fixes that.
-
- * Api/qwebelement.cpp:
- (QWebElement::prependInside):
- (QWebElement::appendOutside):
- (QWebElement::encloseWith):
-
-2009-05-08 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- Make is possible to mark a style property as important while setting
- it. Also support the normal CSS property syntax "!important", while
- accepting spaces between the ! and the important keyword.
-
- * Api/qwebelement.cpp:
- (QWebElement::setStyleProperty):
- * Api/qwebelement.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::style):
-
-2009-05-08 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- Working with Antonio Gomes.
-
- Add support for finding the style property actually applied to the element.
-
- * Api/qwebelement.cpp:
- (QWebElement::styleProperty):
- * Api/qwebelement.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::style):
-
-2009-05-11 Norbert Leser <norbert.leser@nokia.com>
-
- Reviewed by Darin Adler.
-
- Bug 24538: class/struct mixup in forward declarations
- https://bugs.webkit.org/show_bug.cgi?id=24538
-
- * Api/qwebpage.h:
-
-2009-05-11 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Holger Freyther.
-
- Fix Qt build when ENABLE_DATABASE is turned off
-
- https://bugs.webkit.org/show_bug.cgi?id=25587
-
- * Api/qwebdatabase.cpp:
- (QWebDatabase::displayName):
- (QWebDatabase::expectedSize):
- (QWebDatabase::size):
- (QWebDatabase::fileName):
- (QWebDatabase::removeDatabase):
- * Api/qwebdatabase_p.h:
- * Api/qwebsecurityorigin.cpp:
- (QWebSecurityOrigin::allOrigins):
- (QWebSecurityOrigin::databases):
-
-2009-05-05 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Improve behaviour of the QWebElement enclose* functions, to work
- similar to the jQuery wrap functions. We now enclose the contents
- of the element in the child of the deepest descendant element
- within the structure of the enclose element structure given.
-
- * Api/qwebelement.cpp:
- (findInsertionPoint):
- (QWebElement::encloseContentsWith):
- (QWebElement::encloseWith):
- (QWebElement::replace):
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::encloseContentsWith):
- (tst_QWebElement::encloseWith):
-
-2009-05-06 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- After commit rev @43215, setHtml() without a <head> tag,
- automatically adds it, so update our test case to respect this.
-
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::textHtml):
-
-2009-05-06 Simon Hausmann <simon.hausmann@nokia.com>
-
- Unreviewed Qt build fix.
-
- Dont' use ENABLE() in Qt API headers, as they are not available when building
- against the API.
-
- * Api/qwebdatabase.h:
- * Api/qwebsecurityorigin.h:
-
-2009-05-05 Ben Murdoch <benm@google.com>
-
- Reviewed by Eric Seidel.
-
- Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds.
- https://bugs.webkit.org/show_bug.cgi?id=24776
-
- * Api/qwebdatabase.cpp:
- * Api/qwebdatabase.h:
- * Api/qwebdatabase_p.h:
- * Api/qwebsecurityorigin.cpp:
- (QWebSecurityOrigin::databaseUsage):
- (QWebSecurityOrigin::databaseQuota):
- (QWebSecurityOrigin::setDatabaseQuota):
- * Api/qwebsecurityorigin.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::exceededDatabaseQuota):
- * WebCoreSupport/ChromeClientQt.h:
-
-2009-05-05 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Various improvements to the class documentation, including a simple snippet for QWebElement.
-
- * Api/qwebelement.cpp:
- * Api/qwebframe.cpp:
- * docs/webkitsnippets/webelement/main.cpp: Added.
- * docs/webkitsnippets/webelement/webelement.pro: Added.
-
-2009-05-05 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Simplify variant conversion by moving the null check into
- convertValueToQVariant.
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript): Moved null check into conversion function.
- * tests/qwebframe/tst_qwebframe.cpp:
- Added test to verify the correct conversion of null values to QVariant.
-
-2009-05-01 Geoffrey Garen <ggaren@apple.com>
-
- Rubber Stamped by Sam Weinig.
-
- Renamed JSValuePtr => JSValue.
-
- * Api/qwebelement.cpp:
- (setupScriptContext):
- (setupScriptObject):
- (QWebElement::evaluateScript):
- (QWebElement::functions):
- (QWebElement::scriptableProperty):
- (QWebElement::setScriptableProperty):
- (QWebElement::scriptableProperties):
-
-2009-05-01 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest.
-
- https://bugs.webkit.org/show_bug.cgi?id=25347
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidLoadResourceByXMLHttpRequest):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2009-04-30 David Kilzer <ddkilzer@apple.com>
-
- Provide a mechanism to create a quirks delegate for HTMLParser
-
- Reviewed by David Hyatt.
-
- * WebCoreSupport/ChromeClientQt.h:
- (WebCore::ChromeClientQt::createHTMLParserQuirks): Added. The
- default implementation of this factory method returns 0.
-
-2009-04-30 Ariya Hidayat <ariya.hidayat@nokia.com>
-
- Unreviewed build fix after r43072.
-
- * Api/qwebframe.cpp:
- (qt_drt_setJavaScriptProfilingEnabled): Enclose with JAVASCRIPT_DEBUGGER.
-
-2009-04-30 Ariya Hidayat <ariya.hidayat@nokia.com>
-
- Unreviewed build fix after r43063.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::addMessageToConsole):
- * WebCoreSupport/ChromeClientQt.h:
-
-2009-04-30 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Implement encloseContentsWith and rename wrap to encloseWith.
-
- Also in encloseWith, make sure that you cannot enclose with
- non-enclosable elements.
-
- * Api/qwebelement.cpp:
- (QWebElement::encloseContentsWith):
- (QWebElement::encloseWith):
- * Api/qwebelement.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::encloseContentsWith):
- (tst_QWebElement::encloseWith):
-
-2009-04-30 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- The Qt API exposes a global history patch CSSStyleSelector to make API consumers work again
-
- https://bugs.webkit.org/show_bug.cgi?id=20952
-
- The QtWebKit port made the mistake of exposing a global history. This broke
- with the addition of PageGroup and LinkHash. This needs to be repaired
- for Qt4.5.
-
- Add a function to LinkHash.cpp that is resolving a URL. Use this
- function from within CSSStyleSelector to forward the url to the
- QWebHistoryInterface API.
-
- It is sad that there is a path within visitedLinkHash which is now
- doing a memcpy, it is sad to add a PLATFORM(QT) define to CSSStyleSelector
- and using QtWebKit types within WebCore is a layering violation as well.
-
- PageGroup::setShouldTrackVisitedLinks is currently not enabled. For
- Qt4.6 a second version of the QWebHistoryInterface is going to be
- added which will fix things up.
-
- * Api/qwebhistoryinterface.cpp:
- (QWebHistoryInterface::setDefaultInterface): Add note for Qt4.6
- * Api/qwebpage.cpp: Remove PageGroup::setShouldTrackVisitedLinks(true)
- (QWebPagePrivate::QWebPagePrivate):
- * tests/qwebhistoryinterface/qwebhistoryinterface.pro: Added unit test.
- * tests/qwebhistoryinterface/tst_qwebhistoryinterface.cpp: Added unit test.
- (tst_QWebHistoryInterface::tst_QWebHistoryInterface):
- (tst_QWebHistoryInterface::~tst_QWebHistoryInterface):
- (tst_QWebHistoryInterface::init):
- (tst_QWebHistoryInterface::cleanup):
- (FakeHistoryImplementation::addHistoryEntry):
- (FakeHistoryImplementation::historyContains):
- (tst_QWebHistoryInterface::visitedLinks): Check the Qt4.4 behaviour.
- * tests/tests.pro:
-
-2009-04-30 Ariya Hidayat <ariya.hidayat@nokia.com>
-
- Unreviewed build fix, after r43035.
-
- Temporarily use Position::deprecatedEditingOffset().
-
- * Api/qwebpage.cpp:
- (QWebPage::inputMethodQuery):
-
-2009-03-27 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Reviewed by Simon Hausmann.
-
- Update the page actions when a finishing loading even if the frame is
- not the top frame such as when browsing inside of a website with frames.
- https://bugs.webkit.org/show_bug.cgi?id=24890
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
- * tests/qwebpage/frametest/frame_a.html: Added.
- * tests/qwebpage/frametest/index.html: Added.
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::backActionUpdate):
-
-2009-04-29 Ariya Hidayat <ariya.hidayat@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Implement QWebElement::evaluateScript.
-
- * Api/qwebelement.cpp:
- (setupScriptContext):
- (QWebElement::evaluateScript):
- * Api/qwebelement.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::evaluateScript):
-
-2009-04-29 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Replaced QWebElementCollection with QList<QWebElement>.
-
- * Api/qwebelement.cpp:
- (QWebElement::findAll):
- * Api/qwebelement.h:
- * Api/qwebframe.cpp:
- (QWebFrame::findAllElements):
- * Api/qwebframe.h:
- * QtLauncher/main.cpp:
- (MainWindow::selectElements):
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::simpleCollection):
- (tst_QWebElement::namespaceURI):
- (tst_QWebElement::nullSelect):
-
-2009-04-28 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- QWebElement API changes after another round of API review:
-
- * Fix argument names of findAll/findFirst
- * Split up toXml into innerXml and outerXml
- * Removed confusing toggleClass overload
- * Fixed casing of namespaceUri to follow QXmlStreamReader
- * Removed tagName from firstChild/nextSibling/etc.
- * Renamed append/prepend/insertAfter/insertBefore to [append|prepend][Inside|Outside]
- * Renamed wrapWith() back to wrap()
- * Made clone() const
- * Renamed remove() to takeFromDocument(), added removeFromDocument()
- * Renamed clear() to removeChildren()
- * Renamed scriptsFunctions/callScriptFunction to functions()/callFunction()
- * Renamed scriptProperty to scriptableProperty
-
- * Api/qwebelement.cpp:
- (QWebElement::findAll):
- (QWebElement::findFirst):
- (QWebElement::setOuterXml):
- (QWebElement::toOuterXml):
- (QWebElement::setInnerXml):
- (QWebElement::toInnerXml):
- (QWebElement::namespaceUri):
- (QWebElement::firstChild):
- (QWebElement::lastChild):
- (QWebElement::nextSibling):
- (QWebElement::previousSibling):
- (QWebElement::callFunction):
- (QWebElement::functions):
- (QWebElement::scriptableProperty):
- (QWebElement::setScriptableProperty):
- (QWebElement::scriptableProperties):
- (QWebElement::appendInside):
- (QWebElement::prependInside):
- (QWebElement::prependOutside):
- (QWebElement::appendOutside):
- (QWebElement::clone):
- (QWebElement::takeFromDocument):
- (QWebElement::removeFromDocument):
- (QWebElement::removeChildren):
- (QWebElement::wrap):
- (QWebElement::replace):
- * Api/qwebelement.h:
- * Api/qwebframe.cpp:
- (QWebFrame::findAllElements):
- (QWebFrame::findFirstElement):
- * Api/qwebframe.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::textHtml):
- (tst_QWebElement::classes):
- (tst_QWebElement::namespaceURI):
- (tst_QWebElement::foreachManipulation):
- (tst_QWebElement::callFunction):
- (tst_QWebElement::callFunctionSubmitForm):
- (tst_QWebElement::functionNames):
- (tst_QWebElement::properties):
- (tst_QWebElement::appendAndPrepend):
- (tst_QWebElement::insertBeforeAndAfter):
- (tst_QWebElement::remove):
- (tst_QWebElement::clear):
- (tst_QWebElement::replaceWith):
-
-2009-04-28 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Fix some qdoc warnings.
-
- * Api/qwebframe.cpp: Fix links.
- * Api/qwebnetworkinterface.cpp: Make docs internal.
- * Api/qwebnetworkinterface.h: Ditto.
- * Api/qwebpage.cpp: Fix property name in \property.
-
-2009-04-24 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Ariya Hidayat.
-
- Fix qdoc warning about link to QAction::isEnabled.
-
- * Api/qwebpage.cpp:
-
-2009-04-24 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Ariya Hidayat.
-
- Added support for generating API docs in the Qt build using "make docs"
-
- Added code snippets and overview from the Qt sources references in the API docs.
-
- * Api/qwebpage.cpp: Adjust paths to snippets.
- * Api/qwebview.cpp: Ditto.
- * docs/docs.pri: Added.
- * docs/qtwebkit.qdoc: Added.
- * docs/qtwebkit.qdocconf: Added.
- * docs/webkitsnippets/qtwebkit_build_snippet.qdoc: Added.
- * docs/webkitsnippets/qtwebkit_qwebview_snippet.cpp: Added.
- * docs/webkitsnippets/simple/main.cpp: Added.
- * docs/webkitsnippets/simple/simple.pro: Added.
- * docs/webkitsnippets/webpage/main.cpp: Added.
- * docs/webkitsnippets/webpage/webpage.pro: Added.
-
-2009-04-23 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- [Qt] Added QWebElement::computedStyleProperty method.
-
- * Api/qwebelement.cpp:
- (QWebElement::computedStyleProperty):
- * Api/qwebelement.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::computedStyle):
-
-2009-04-23 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Rubber-stamped by Ariya Hidayat.
-
- [Qt] Rename QWebElement arguments from html to markup
-
- * Api/qwebelement.cpp:
- (QWebElement::append):
- (QWebElement::prepend):
- (QWebElement::insertBefore):
- (QWebElement::insertAfter):
- * Api/qwebelement.h:
-
-2009-04-21 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- QWebElementSelection renamed to QWebElementCollection.
-
- * Api/qwebelement.cpp:
- (QWebElement::findAll):
- (QWebElementCollectionPrivate::QWebElementCollectionPrivate):
- (QWebElementCollectionPrivate::create):
- (QWebElementCollection::QWebElementCollection):
- (QWebElementCollection::operator=):
- (QWebElementCollection::~QWebElementCollection):
- (QWebElementCollection::operator+):
- (QWebElementCollection::append):
- (QWebElementCollection::count):
- (QWebElementCollection::at):
- (QWebElementCollection::toList):
- * Api/qwebelement.h:
- * Api/qwebframe.cpp:
- (QWebFrame::findAllElements):
- * Api/qwebframe.h:
- * QtLauncher/main.cpp:
- (MainWindow::selectElements):
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::simpleCollection):
- (tst_QWebElement::iteration):
- (tst_QWebElement::emptyCollection):
- (tst_QWebElement::appendCollection):
- (tst_QWebElement::nullSelect):
-
-2009-04-17 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=25242
-
- Remove QtCore 4.5 dependency from QWebElement test
-
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::iteration): Use QList::count() instead of QList::length()
-
-2009-04-16 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Rubber-stamped by Simon Hausmann.
-
- Make the operator== and operator!= non inline to
- allow looking at the d-pointer in the future.
-
- * Api/qwebelement.cpp:
- (QWebElement::operator==):
- (QWebElement::operator!=):
- * Api/qwebelement.h:
-
-2009-04-15 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Ariya Hidayat.
-
- Rename extend() method in QWebElementSelection to append().
-
- * Api/qwebelement.cpp:
- (QWebElementSelection::append):
- * Api/qwebelement.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::appendSelection):
-
-2009-04-15 Antonio Gomes <antonio.gomes@openbossa.org>
-
- Reviewed by Simon Hausmann.
-
- Fixed nit/typo in QWebElement documentation.
-
- * Api/qwebelement.cpp:
-
-2009-04-14 Laszlo Gombos <laszlo.1.gombos@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=24841
-
- Fix linking against QtWebKit for Symbian and other platforms
- where the OS ABI distinguishes between an import or an export situation.
-
- * Api/qwebkitglobal.h: Instead of white-listing Win, remove the test.
-
-2009-04-14 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Rename QWebElement::setHtml and html to setXml and toXml respectivily.
-
- Also add a mean to define the scope (inner or other).
-
- * Api/qwebelement.cpp:
- (QWebElement::setXml):
- (QWebElement::toXml):
- * Api/qwebelement.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::textHtml):
- (tst_QWebElement::foreachManipulation):
-
-2009-04-14 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Rename QWebElement::setText() and text() to ::setPlainText and
- ::toPlainText, respectively.
-
- * Api/qwebelement.cpp:
- (QWebElement::setPlainText):
- (QWebElement::toPlainText):
- * Api/qwebelement.h:
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::textHtml):
- (tst_QWebElement::simpleSelection):
- (tst_QWebElement::appendAndPrepend):
- (tst_QWebElement::insertBeforeAndAfter):
- (tst_QWebElement::replaceWith):
- (tst_QWebElement::wrap):
- (tst_QWebElement::firstChildNextSiblingWithTag):
- (tst_QWebElement::lastChildPreviousSiblingWithTag):
-
-2009-04-06 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Rename DOM API select function to findFirst, findAll, etc.
-
- * Api/qwebelement.cpp:
- (QWebElement::findAll):
- (QWebElement::findFirst):
- * Api/qwebelement.h:
- * Api/qwebframe.cpp:
- (QWebFrame::findAllElements):
- (QWebFrame::findFirstElement):
- * Api/qwebframe.h:
- * QtLauncher/main.cpp:
- (MainWindow::selectElements):
- * tests/qwebelement/tst_qwebelement.cpp:
- (tst_QWebElement::simpleSelection):
- (tst_QWebElement::attributesNS):
- (tst_QWebElement::classes):
- (tst_QWebElement::namespaceURI):
- (tst_QWebElement::iteration):
- (tst_QWebElement::foreachManipulation):
- (tst_QWebElement::callFunctionSubmitForm):
- (tst_QWebElement::documentElement):
- (tst_QWebElement::frame):
- (tst_QWebElement::style):
- (tst_QWebElement::extendSelection):
- (tst_QWebElement::properties):
- (tst_QWebElement::appendAndPrepend):
- (tst_QWebElement::insertBeforeAndAfter):
- (tst_QWebElement::remove):
- (tst_QWebElement::clear):
- (tst_QWebElement::replaceWith):
- (tst_QWebElement::wrap):
- (tst_QWebElement::nullSelect):
- (tst_QWebElement::firstChildNextSibling):
- (tst_QWebElement::firstChildNextSiblingWithTag):
- (tst_QWebElement::lastChildPreviousSibling):
- (tst_QWebElement::lastChildPreviousSiblingWithTag):
-
-2009-04-06 Simon Hausmann <simon.hausmann@nokia.com>
- Ariya Hidayat <ariya.hidayat@nokia.com>
- Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
- Genevieve Mak <gen@staikos.net>
-
- Reviewed by Tor Arne Vestbø, Simon Hausmann
-
- First revision of new API in the Qt port to access the DOM.
-
- * Api/headers.pri: Added qwebelement.h to the API headers.
- * Api/qwebelement.cpp: Added.
- * Api/qwebelement.h: Added.
- * Api/qwebframe.cpp:
- (QWebFrame::documentElement): Added accessor for the document element.
- (QWebFrame::selectElements): Added convenienc query method.
- (QWebFrame::selectElement): Ditto.
- (QWebHitTestResult::element): Added accessor for underlying DOM element.
- * Api/qwebframe.h:
- * QtLauncher/main.cpp: Simple test gui for element selections.
- * tests/qwebelement/qwebelement.pro: Added.
- * tests/qwebelement/tst_qwebelement.cpp: Added.
- * tests/tests.pro: Added QWebElement & QWebElementSelection unit tests.
-
-2009-04-02 Simon Hausmann <simon.hausmann@nokia.com>
-
- Fix the Qt build.
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction): Adapted code to renamed loadFrameRequest function.
-
-2009-04-02 Takumi Asaki <takumi.asaki@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix pre-edit handling of text fields with input methods.
-
- The input method sends an empty preeditString() if all characters of
- the preedit should be deleted. So inputMethodEvent() has to use
- preeditString() if it's empty.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::inputMethodEvent):
-
-2009-03-30 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- Document that setHtml/setContent loads only the html/data immediately, not external objects.
-
- * Api/qwebframe.cpp:
- * Api/qwebview.cpp:
-
-2009-03-29 Darin Adler <darin@apple.com>
-
- Try to fix Qt build.
-
- * WebCoreSupport/EditorClientQt.cpp: Added include of HTMLElement.h.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp: Added include of FormState.h.
- (WebCore::FrameLoaderClientQt::prepareForDataSourceReplacement):
- Removed unneeded call to detachChildren, which is called by FrameLoader
- right after this.
- (WebCore::FrameLoaderClientQt::createFrame): Use loadURLIntoChildFrame
- as other platforms do in the corresponding functions.
-
-2009-03-27 Erik L. Bunce <elbunce@xendom.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=24869
-
- Fixes an incorrect case in tst_qwebpage.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::cursorMovements):
-
-2009-03-27 Erik L. Bunce <elbunce@xendom.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=24746
-
- Add new editing related QWebPage::WebActions
- * Clipboard: PasteAndMatchStyle
- * Formatting: RemoveFormat, ToggleStrikethrough, ToggleSubscript, and
- ToggleSuperscript
- * List Editing: InsertUnorderedList, InsertOrderedList, Indent, Outdent
- * Paragraph Justification: AlignCenter, AlignJustified, AlignLeft, AlignRight
-
- Improved selection and editing tests.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateEditorActions):
- (QWebPage::action):
- * Api/qwebpage.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::textSelection):
- (tst_QWebPage::textEditing):
-
-2009-03-26 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- Fix the documentation of the QLocale usage in userAgentForUrl.
-
- * Api/qwebpage.cpp:
-
-2009-03-20 Erik L. Bunce <elbunce@xendom.com>
-
- Reviewed by Simon Hausmann.
-
- Fix for InsertParagraphSeparator and InsertLineSeparator so that
- QWebPage::action() creates QActions for them. Also make sure they get
- updated appropriately.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateEditorActions):
- (QWebPage::action):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::textEditing):
-
-2009-03-20 Erik L. Bunce <elbunce@xendom.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Fix QWebPage::WebActions action states to more closely match when they are
- actually applicable and remove erroneous documentation.
-
- * Most WebActions implemented using editor commands now use the
- Editor::Command::isEnabled() to control their availability.
- * SelectAll is always enabled (since it's editor command is).
- * SetTextDirection{} family of WebActions are available when canEdit() is true
- and not just canEditRichly().
-
- Fix and clarify documentation about the availability of various web actions.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateAction):
- (QWebPagePrivate::updateEditorActions):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::textSelection):
-
-2009-03-19 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Fixes pedantic compilation in QtWebKit.
-
- There are no semi-colons after namespace declarations.
-
- * Api/qwebdatabase.h:
- * Api/qwebsecurityorigin.h:
-
-2009-03-19 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Doc: Removed obsolete warning about Flash and other plugins.
-
- * Api/qwebsettings.cpp:
-
-2009-03-19 Paul Olav Tvete <paul.tvete@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Properly escape tooltip text
-
- ManualTest: http://xkcd.com/554/
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::setToolTip):
-
-2009-03-10 Adam Treat <adam.treat@torchmobile.com>
-
- Build fix for Qt after r41555.
-
- * Api/qwebpage.cpp:
- (QWebPage::acceptNavigationRequest):
-
-2009-03-10 Xan Lopez <xlopez@igalia.com>
-
- Build fix, no review.
-
- * Api/qwebpage.cpp:
- (QWebPage::inputMethodQuery):
-
-2009-03-07 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Cameron Zwarich.
-
- These methods are clearly returning the wrong values as the two were
- returning swapped information.
-
- * Api/qwebpage.cpp:
- (QWebPage::totalBytes):
- (QWebPage::bytesReceived):
-
-2009-03-05 Ariya Hidayat <ariya.hidayat@nokia.com>
-
- Rubber-stamped by Simon Hausmann.
-
- [Qt] NPAPI plugins are supported, adjust the API documentation.
-
- * Api/qwebsettings.cpp:
-
-2009-03-04 Adam Barth <abath@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=24356
-
- Fix WebKit style for allowUniversalAccessFromFileURLs.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
-
-2009-03-03 Adam Barth <abarth@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=24340
-
- Expose AllowUniversalAccessFromFileUrls to Qt clients.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h:
-
-2009-03-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Rubber-stamped by Simon Hausmann.
-
- [Qt] Create and update the action for SelectAll.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateAction):
- (QWebPagePrivate::updateEditorActions):
- (QWebPage::action):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::textSelection):
-
-2009-03-02 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Eric Seidel.
-
- Add three new drt helper functions that enable all of the tests in
- LayoutTests/animation/* and LayoutTests/transitions/* to now pass.
-
- * Api/qwebframe.cpp:
- (qt_drt_pauseAnimation):
- (qt_drt_pauseTransitionOfProperty):
- (qt_drt_numberOfActiveAnimations):
-
-2009-03-02 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Reviewed by George Staikos.
-
- https://bugs.webkit.org/show_bug.cgi?id=21230
- On X11 match the behavior of Firefox and also copy the url to the
- clipboard selection when the action Copy Link Location is executed.
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
-
-2009-02-25 Kavindra Palaraja <kavindra.palaraja@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix the documentation for the linkHovered signal.
-
- * Api/qwebpage.cpp:
-
-2009-02-23 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=24094
- Make sure to empty the cache on exit to get rid of superfluous leak messages
- for CachedResource's in order to keep the leak messages accurate. This
- is analagous to what the Mac port is doing on application exit when all
- WebView's have been closed.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::_q_cleanupLeakMessages):
- (QWebPage::QWebPage):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
-
-2009-02-23 Thiago Macieira <thiago.macieira@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix the Copyright notices in a few files
-
- * WebKit_pch.h:
-
-2009-02-16 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Avoid loading plugins when they're disabled in the settings.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::canShowMIMEType): Don't call into the
- PluginDatabase if plugins are disabled in the settings.
-
-2009-02-13 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
-
- Reviewed by Nikolas Zimmermann.
-
- https://bugs.webkit.org/show_bug.cgi?id=23738
- Expose the url elements target frame string. This is the sister function
- to the existing linkTargetFrame which returns the QWebFrame*. When the
- linkTargetFrame is 0 it is useful to know what the target was to be.
-
- * Api/qwebframe.cpp:
- (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
- (QWebHitTestResult::linkTarget):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-02-13 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Removed documentation for internal functions.
-
- * Api/qwebsettings.cpp:
-
-2009-02-13 Martin Smith <msmith@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Corrected some minor qdoc errors.
-
- * Api/qwebsettings.cpp:
-
-2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>
-
- Stub out InspectorClientQt::hiddenPanels.
-
- Reviewed by Timothy Hatcher.
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::hiddenPanels):
- * WebCoreSupport/InspectorClientQt.h:
-
-2009-02-10 Karsten Heimrich <kheimric@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Fixes missing navigation/url update while clicking on anchor inside
- webpage.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidChangeLocationWithinPage):
- update and emit in case we navigate inside a webpage
-
-2009-02-10 Adam Treat <adam.treat@torchmobile.com>
-
- Fix the Qt build as class Selection is now VisibleSelection.
-
- * Api/qwebpage.cpp:
- (QWebPage::inputMethodQuery):
-
-2009-02-06 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::updateGlobalHistoryRedirectLinks):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2009-02-06 Kavindra Palaraja <kavindra.palaraja@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Doc - made 2 functions internal as they are not part of the API anymore (and this fixes 2 qdoc warnings)
-
- * Api/qwebsettings.cpp:
-
-2009-02-06 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Added an overload of QWebFrame::addToJavaScriptWindowObject that takes a QScriptEngine::ValueOwnership parameter.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject): New overload.
- * Api/qwebframe.h:
- * tests/qwebframe/tst_qwebframe.cpp: Added unit tests for ownership
- models.
-
-2009-02-06 Aaron Boodman <aa@chromium.org>
-
- Reviewed by Holger Freyther.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::documentElementAvailable):)
- Fix compile error in Qt build introduced by the below change (r40694).
-
-2009-02-05 Aaron Boodman <aa@chromium.org>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=23708
- Adds documentElementAvailable() callback to FrameLoaderClient.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClient::documentElementAvailable):
- Stub out documentElementAvailable().
- * WebCoreSupport/FrameLoaderClientQt.h:
- Ditto.
-
-2009-02-04 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Doc: Documented the return value of the evaluateJavaScript() function.
-
- * Api/qwebframe.cpp:
-
-2009-02-03 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Added a unit test to verify the succesful conversion from QByteArray to
- JSByteArray and back to QByteArray.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-02-02 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * Api/qwebframe.cpp:
- (QWebFrame::QWebFrame):
- (QWebFrame::load):
- (QWebFrame::setHtml):
- (QWebFrame::setContent):
-
-2009-02-02 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2009-02-02 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Track redirects in global history.
-
- Keep Qt building.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::updateGlobalHistoryForRedirectWithoutHistoryItem):
- (WebCore::FrameLoaderClientQt::createFrame):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2009-02-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Update for changes to WebCore.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
- (WebCore::FrameLoaderClientQt::createJavaAppletWidget):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2009-02-02 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Nikolas Zimmermann.
-
- https://bugs.webkit.org/show_bug.cgi?id=23587
- Refactor HitTestRequest to eliminate all the ugly boolean arguments and
- use an enum bitflag instead. Cleanup all the code that constructs the
- various HitTestRequests to make the code more readable.
-
- * Api/qwebframe.cpp:
- (QWebFrame::hitTestContent):
-
-2009-02-02 Adam Treat <adam.treat@torchmobile.com>
-
- Fix the Qt build to call forceLayout on the view instead.
-
- * Api/qwebpage.cpp:
- (QWebPage::setFixedLayoutSize):
- (QWebPage::setUseFixedLayout):
-
-2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
-
- https://bugs.webkit.org/show_bug.cgi?id=23428
-
- FrameView::forceLayout could be killed but the comment might
- contain a value over the the plain FrameView::layout...
-
- Adjust the WebCore/WebKit consumers of these methods.
-
- * Api/qwebpage.cpp:
- (QWebPage::setViewportSize):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::forceLayout):
-
-2009-01-30 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=22056
-
- Kill FrameLoaderClient.cpp, move the code over to Frame::createView
-
- FrameLoaderClient is supposed to be an interface, move the
- to be shared code to Frame which is a controller and is
- allowed to create a FrameView.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2009-01-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
- preparation for setting them differently during a redirect.
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
-
-2009-01-30 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- Remove FrameLoaderClient code that is now handled by FrameLoader itself
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::frameLoadCompleted):
-
-2009-01-30 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Hide the Offline Web Application Cache path API from the public API
- for now.
-
- * Api/qwebsettings.cpp:
- (qt_websettings_setOfflineWebApplicationCachePath):
- (qt_websettings_offlineWebApplicationCachePath):
- * Api/qwebsettings.h:
-
-2009-01-28 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Nikolas Zimmermann and George Staikos.
-
- https://bugs.webkit.org/show_bug.cgi?id=23557
- Do not clip the QWebFrame::hitTestContent method to the visible viewport
- and add a regression test to make sure it works.
-
- * Api/qwebframe.cpp:
- (QWebFrame::hitTestContent):
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-01-28 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Rubber-stamped by Simon Hausmann.
-
- Provide default implementations of JavaScript dialog boxes like in
- most web browsers, i.e. indicate that is from JavaScript and show the
- frame URL.
-
- * Api/qwebpage.cpp:
- (QWebPage::javaScriptAlert):
- (QWebPage::javaScriptConfirm):
- (QWebPage::javaScriptPrompt):
-
-2009-01-27 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- http://qt.nokia.com/developer/task-tracker/index_html?id=238391&method=entry
-
- [Qt] If QPainter fails to start on a QPrinter instance, do not
- continue printing.
-
- * Api/qwebframe.cpp:
- (QWebFrame::print):
-
-2009-01-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein
-
- Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::savePlatformDataToCachedFrame):
- (WebCore::FrameLoaderClientQt::transitionToCommittedFromCachedFrame):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2009-01-26 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by David Hyatt
-
- Back out r40285, because it was checked in with no bug number, no
- testcase, is rendering change that did not get thorough review,
- and broke the Mac build.
-
- * Api/qwebframe.cpp:
- (QWebFrame::hitTestContent):
-
-2009-01-26 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Nikolas Zimmermann.
-
- Do not clip the QWebFrame::hitTestContent method to the visible viewport.
-
- * Api/qwebframe.cpp:
- (QWebFrame::hitTestContent):
-
-2009-01-26 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Doc: qdoc fix for a link to a property and added a basic description of the offline caching and storage features from HTML 5.
-
- * Api/qwebpage.cpp:
- * Api/qwebsettings.cpp:
-
-2009-01-25 Urs Wolfer <uwolfer@kde.org>
-
- Reviewed by Simon Hausmann.
-
- Add QWebPage::SelectAll to WebAction enum to select all content.
-
- https://bugs.webkit.org/show_bug.cgi?id=22946
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::editorActionForKeyEvent):
- * Api/qwebpage.h:
-
-2009-01-25 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Doc: Fixed the terminology used.
-
- * Api/qwebpage.cpp:
-
-2009-01-25 Thiago Macieira <thiago.macieira@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Rename links from trolltech.com to qtsoftware.com
-
- * Api/qwebpluginfactory.cpp:
-
-2009-01-25 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Make QWebPage auto-test more robust by cleaning up generated files
-
- Sometimes the auto-test may segfault, leaving behind files because the
- call to cleanupTestCase() never happens, so we also clean up the files
- at initTestCase() just to make sure we're running in a clean environment.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::cleanupFiles):
- (tst_QWebPage::initTestCase):
- (tst_QWebPage::cleanupTestCase):
-
-2008-12-20 Urs Wolfer <uwolfer@kde.org>
-
- Reviewed by Simon Hausmann.
-
- Fix: compile qwebhistory.h with pendantic comiler flag.
-
- https://bugs.webkit.org/show_bug.cgi?id=22947
-
- * Api/qwebhistory.h:
-
-2009-01-24 Adam Treat <adam.treat@torchmobile.com>
-
- Oops, fix the Qt build.
-
- * Api/qwebframe.cpp:
- (QWebFrame::render):
-
-2009-01-24 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Nikolas Zimmermann.
-
- Add QWebFrame::renderContents() method which allows arbitary rendering
- of any content region within the QWebFrame. It also does not draw any
- scrollbars.
-
- * Api/qwebframe.cpp:
- (QWebFrame::renderContents):
- * Api/qwebframe.h:
-
-2009-01-23 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Make the test more robust by taking into account the platform-specific
- cursor flashing time.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-01-20 Friedemann Kleint <Friedemann.Kleint@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Fix spelling error in QWebPage
-
- * Api/qwebpage.cpp:
- (QWebPage::action):
-
-2009-01-19 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Fix calling of onkeypress event handlers on input elements when pressing enter
- and other text insertion commands in the Qt port.
-
- Similar to the win and mac ports don't execute text inserting editor
- commands on RawKeyDown but continue processing the event first in
- WebCore, i.e. also get a keypress event sent. If unhandled it will
- come back to EditorClientQt::handleKeyboardEvent later and we execute
- it then.
-
- This also fixes search by pressing enter on www.trafikanten.no.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::editorCommandForWebActions): Make function
- accessible from other files.
- (QWebPage::triggerAction): Adjust to new function visibility.
- * Api/qwebpage_p.h: Ditto.
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent): Don't execute
- text inserting commands on RawKeyPressDown.
-
-2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Rubber-stamped by Simon Hausmann.
-
- [Qt] Increase popup focus delay time to a sensible 500 ms.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Adam Roben.
-
- [Qt] Prevent crash if plugin data is NULL.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp: NULL check.
- (WebCore::FrameLoaderClientQt::objectContentType):
-
-2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Rubber-stamped by Simon Hausmann.
-
- [Qt] Per-line cursor movement tests depend on platform-specific font
- metrics. Remove them to avoid test failures on different platforms.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::cursorMovements):
-
-2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Rubber-stamped by Simon Hausmann.
-
- http://qt.nokia.com/developer/task-tracker/index_html?id=219344&method=entry
-
- [Qt] API documentation for QWebPage::WebAction enum.
-
- * Api/qwebpage.cpp:
-
-2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Another attempt at fixing the Qt build.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
-2009-01-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Unit tests for text selection and editing actions of QWebPage.
- The following are tested:
- - the actions are not NULL
- - the actions are disabled when contentEditable is false
- - the actions are enabled when contentEditable is true
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::textSelection):
- (tst_QWebPage::textEditing):
-
-2009-01-14 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Fix failing assertion when pressing an extra mouse button on a
- QWebView.
-
- Mice with more than three buttons - for example with a dedicated
- "back" button - can generate Qt::XButton1 or Button2.
- WebCore::MouseButton contains only Left, Middle and Right, so in
- Qt's PlatformMouseEvent we map to NoButton, resulting in a mouse
- press or release even with no button set. That triggers an assertion
- in EventTargetNode::dispatchMouseEvent requiring that either a button
- is set or it is just a mouse move event, which is correct.
-
- In QWebPage decide not to dispatch such mouse events where we cannot
- map the mouse button to a WebCore::MouseButton.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mousePressEvent):
- (QWebPagePrivate::mouseDoubleClickEvent):
- (QWebPagePrivate::mouseTripleClickEvent):
- (QWebPagePrivate::mouseReleaseEvent):
-
-2009-01-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- http://qt.nokia.com/developer/task-tracker/index_html?id=241144&method=entry
-
- [Qt] Create actions for text selection and editing for QWebPage.
- Also properly disable and enable them when contentEditable is toggled.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateAction):
- (QWebPagePrivate::updateEditorActions):
- (QWebPage::action):
-
-2009-01-14 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Unit tests for cursor movements. The following are tested:
- - the actions are not NULL
- - the actions are disabled when contentEditable is false
- - the actions are enabled when contentEditable is true
- - the cursor moves properly when the actions are triggered
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (CursorTrackedPage::CursorTrackedPage):
- (CursorTrackedPage::selectedText):
- (CursorTrackedPage::selectionStartOffset):
- (CursorTrackedPage::selectionEndOffset):
- (CursorTrackedPage::isSelectionCollapsed):
- (tst_QWebPage::cursorMovements):
-
-2009-01-08 Yongjun Zhang <yongjun.zhang@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=23187
-
- Update webview with the intersected rect.
-
- In ChromeClientQt::repaint, view should be updated with the
- intersected rect, not the whole windowRect;
-
- This generally is not a problem for normal viewport setup where
- viewport size is the same as the qwebview widget size. However, if we
- set the viewport size smaller than qwebkit widget, we will see
- unwanted painting outside the viewport.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::repaint):
-
-2009-01-13 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- [Qt] Missing piece from my previous commit:
- Disable and enable the cursor navigation actions when contentEditable
- is changed.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateEditorActions):
-
-2009-01-13 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Create actions for cursor navigation for QWebPage.
- Also properly disable and enable them when contentEditable is toggled.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateAction):
- (QWebPage::action):
-
-2009-01-13 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- https://bugs.webkit.org/show_bug.cgi?id=23171
-
- Based on patch by Yael Aharon <yael.aharon@nokia.com>
-
- Make the QWebSettings functions for setting the path for the local
- storage database private QtWebkit API, including the ability to
- associated a QWebPage with a named page group.
-
- * Api/qwebpage.cpp:
- (qt_webpage_setGroupName): Added.
- (qt_webpage_groupName): Added.
- * Api/qwebpage.h:
- (ExtensionOption::handle): Added internal helper function.
- * Api/qwebsettings.cpp:
- (qt_websettings_setLocalStorageDatabasePath): Made private API.
- (qt_websettings_localStorageDatabasePath): Made private API.
- * Api/qwebsettings.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::database): Small cleanup.
- (tst_QWebPage::multiplePageGroupsAndLocalStorage): New test for the
- page group handling, written by Yael.
-
-2009-01-12 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- [Qt] Ensure that we're always notified of navigation actions for local anchors
-
- FrameLoader::checkNavigationPolicy() does not notify us if the request has
- been checked before (which happens for local anchors), but in the case of
- our clients not accepting the navigation request we do want to be notified
- again later on, so we clear the lastCheckedRequest flag.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
-
-2009-01-12 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- Build fix: use qobject_cast which does not rely on RTTI. This fixes the
- unit test when building it with a version of Qt (e.g. Qt/Embedded)
- configured without RTTI.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2009-01-12 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- When the QWebView is disabled context menus implemented in JavaScript should not pop up.
-
- Just like in QWidget::event() we have to check for the disabled state and
- ignore context menu events.
-
- * Api/qwebview.cpp:
-
-2009-01-12 Simon Hausmann <simon.hausmann@nokia.com
-
- Reviewed by Tor Arne Vestbø.
-
- Fix QWebView appearance when showed uninitialized without page.
-
- Only set WA_OpaquePaintEvent if we have a page set that will actually
- paint the entire contents, otherwise the optimization does not apply
- as we do not have a paintEvent() implementation and Qt has to fill the
- view with its default background instead.
-
- * Api/qwebview.cpp:
- (QWebView::QWebView):
- (QWebView::setPage):
-
-2009-01-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- Do not create a QVariant from QObject* directly, use the
- template-specialized function.
-
- * tests/qwebframe/tst_qwebframe.cpp:
- (MyQObject::myOverloadedSlot):
-
-2009-01-09 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- Documentation fixes, remove duplicated docs, document missing
- parameters and return values.
-
- * Api/qwebdatabase.cpp:
- * Api/qwebpage.cpp:
-
-2009-01-09 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Fix linking against QtWebKit on Windows, by defining the EXPORT macros
- _exactly_ the same way as in qglobal.h, depending on QT_NODLL,
- QT_MAKEDLL and QT_SHARED.
-
- * Api/qwebkitglobal.h:
-
-2009-01-09 Simon Hausmann <simon.hausmann@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Remove qwebnetworkinterface.h from WEBKIT_API_HEADERS as it's not
- public Qt 4.4/4.5 API.
-
- * Api/headers.pri:
-
-2009-01-09 Simon Hausmann <simon.hausmann@nokia.com>
-
- Unreviewed Qt build fix, remove qcookiejar.h from the API headers and
- therefore HEADERS. It's not part of the API and it moc shouldn't be
- called on it.
-
- * Api/headers.pri:
-
-2009-01-09 Simon Hausmann <simon.hausmann@nokia.com>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- Remove files not present anymore from the WEBKIT_API_HEADERS variable.
-
- * Api/headers.pri:
-
-2009-01-08 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Simon Hausmann.
-
- Don't set the minimumFontSize and minimumLogicalFontSize as these are
- just for accessibility and should be left up to the client application.
-
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
-
-2009-01-08 Kavindra Palaraja <kdpalara@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Small fixes to the API documentation, missing 4.5 tags and
- undocumented parameters.
-
- * Api/qwebhistory.cpp:
- * Api/qwebpage.cpp:
- * Api/qwebsettings.cpp:
-
-2009-01-07 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Add Qt API to QWebHitTestResult::isScrollBar method
-
- * Api/qwebframe.cpp:
- (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
- (QWebHitTestResult::isScrollBar):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
-
-2009-01-07 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Add Qt API for QWebFrame::scrollBarGeometry method
-
- * Api/qwebframe.cpp:
- (QWebFrame::scrollBarGeometry):
- * Api/qwebframe.h:
-
-2009-01-07 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Fix unused variable warnings
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (TestPage::createWindow):
-
-2009-01-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Rubber-stamped by Simon Hausmann.
-
- Qt build fix after r39670.
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
-
-2009-01-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Holger Freyther.
-
- Allow building QtWebKit statically (within Qt).
-
- http://trolltech.com/developer/task-tracker/index_html?id=211273&method=entry
-
- * Api/qwebkitglobal.h:
-
-2009-01-06 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Simon Hausmann.
-
- Update the documentation to reflect when these API changes will land in
- upstream Qt
-
- * Api/qwebframe.cpp:
- * Api/qwebpage.cpp:
-
-2009-01-05 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Add Qt API for QWebFrame::contentsSizeChanged signal
-
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::contentsSizeChanged):
- * WebCoreSupport/ChromeClientQt.h:
-
-2009-01-05 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Fixes QWebFrame::setScrollBarPolicy(..) to actually work. Also happens
- to fix 192 layout tests that were previously failing for Qt.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setScrollBarPolicy):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2009-01-04 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Add new API to QWebHitTestResult to return a rect for the smallest enclosing
- block element of the hit test
-
- * Api/qwebframe.cpp:
- (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
- (QWebHitTestResult::enclosingBlock):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
-
-2008-12-30 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Make the qt port build and work with the new fixedLayoutSize feature
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPage::fixedLayoutSize):
- (QWebPage::setFixedLayoutSize):
- (QWebPage::useFixedLayout):
- (QWebPage::setUseFixedLayout):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2008-12-19 Jade Han <jade.han@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- [Qt] Allow conversion of JavaScript Number and Boolean types to Qt types
-
- https://bugs.webkit.org/show_bug.cgi?id=22880
-
- * tests/qwebframe/tst_qwebframe.cpp:
- (MyQObject::myInvokableWithBoolArg):
-
-2008-12-18 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Tor Arne Vestbø.
-
- When Web Inspector is launched without an associated node,
- call show() instead of inspect().
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
-
-2008-12-18 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- - stub out FrameLoaderClient::shouldUseCredentialStorage().
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::shouldUseCredentialStorage):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2008-12-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by John Sullivan.
-
- Stub out FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout()
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidFirstVisuallyNonEmptyLayout):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2008-12-16 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger Freyther.
-
- Added support for unload event counting to the Qt DRT.
-
- * Api/qwebpage.cpp:
- (qt_drt_run): Moved function here.
- * Api/qwebpage_p.h: Moved drt run boolean here.
- * WebCoreSupport/EditorClientQt.cpp: Moved drt run boolean.
- (WebCore::EditorClientQt::shouldShowDeleteInterface): Use the new drt
- run variable.
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidFinishDocumentLoad): Add DRT
- output for unload event handler counting.
-
-2008-12-15 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- Change the order of sub frame initialisation to avoid crashes
-
- Add the newly created frame to the FrameTree before calling
- WebCore::Frame::init to not segfault on
- LayoutTests/fast/loader/frame-creation-removal.html.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2008-12-15 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger Freyther.
-
- Implement setJavaScriptProfilingEnabled in the Qt DRT to pass fast/profiler.
-
- * Api/qwebframe.cpp:
- (qt_drt_setJavaScriptProfilingEnabled):
-
-2008-12-12 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Fix pressing return/enter not triggering any action on web sites
- that define event handlers, such as the JS console in the web
- inspector.
-
- Process the key events in the DOM first and if not handled map them
- to editor actions.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::editorActionForKeyEvent): Made a class method.
- (QWebPagePrivate::keyPressEvent): Pass the key event first to the DOM.
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent): Map the key event to
- actions and trigger them.
-
-2008-12-12 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Create the plugin widget even though the web page has no associated
- view. This prevents the plugin to be uselessly constructed more than once.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::createViewlessPlugin):
-
-2008-12-11 Enrico Ros <enrico.ros@m31.com>
-
- Reviewed by Simon Hausmann.
-
- Fix the broken focus behavior that happened when QWebPage lost
- focus to a popup menu.
-
- The previous code didn't notify the QWebPage at all when the
- focus was back in (breaking focus rects, caret blinking, ...).
- By the way when a popup is show, 2 FocusOut events are delivered
- to the QWebPage, but this doesn't seem to hurt.
-
- Added a test to check popup opening, closing a lineedit blinks.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::focusInEvent):
- (QWebPagePrivate::focusOutEvent):
- * tests/qwebframe/tst_qwebframe.cpp:
- (tst_QWebFrame::):
-
-2008-12-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Tor Arne Vestbø.
-
- When the web page is navigated away, delete the instance
- of the native plugin.
-
- http://trolltech.com/developer/task-tracker/index_html?id=214946&method=entry
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::):
- * tests/qwebpage/tst_qwebpage.cpp:
- (PluginTrackedPage::PluginTrackedPage):
- (PluginTrackedPage::createPlugin):
- (tst_QWebPage::destroyPlugin):
-
-2008-12-11 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Allow applications to save and restore their state between loads.
-
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::restoreViewState):
- (WebCore::FrameLoaderClientQt::saveViewStateToItem):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::modified):
-
-2008-12-08 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Darin Adler and Holger Freyther.
-
- Make Widget::frameRectsChanged() and overrides non-const
-
- This will hopefully allow us to get rid of some of the mutables in
- the classes that react to the callback by changing their own state.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::):
-
-2008-12-10 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- API changes discussed with Simon Hausmann, Tor Arne
- Vestbø, Ariya Hidayat...
-
- * Api/qwebdatabase.cpp:
- (QWebDatabase::fileName):
- (QWebDatabase::removeDatabase):
- * Api/qwebdatabase.h:
- * Api/qwebframe.cpp:
- (QWebFrame::scroll):
- (QWebFrame::scrollPosition):
- (QWebFrame::setScrollPosition):
- * Api/qwebframe.h:
- * Api/qwebpage.cpp:
- (QWebPage::setContentEditable):
- (QWebPage::isContentEditable):
- (QWebPage::extension):
- * Api/qwebpage.h:
- * Api/qwebsecurityorigin.cpp:
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h:
- * QtLauncher/main.cpp:
- (MainWindow::setEditable):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::exceededDatabaseQuota):
- (WebCore::ChromeClientQt::runOpenPanel):
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::isEditable):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::database):
-
-2008-12-09 Balazs Kelemen <Kelemen.Balazs.3@stud.u-szeged.hu>
-
- Reviewed by Simon Hausmann.
-
- Extended QtLauncher so now it can load pages from an url list
- one by one. This can be useful for testing purposes (eq. leak hunting).
- The -r option activates this feature.
-
- https://bugs.webkit.org/show_bug.cgi?id=20932
-
- * QtLauncher/main.cpp:
- (MainWindow::webPage):
- Just a coding style repairing (* written with no space between the return type name)
- (MainWindow::webView):
- I need the webView to connect it with the URLLoader object.
- (URLLoader::URLLoader):
- (URLLoader::loadNext):
- (URLLoader::init):
- (URLLoader::getUrl):
- (main):
-
-2008-12-10 Simon Hausmann <hausmann@webkit.org>
-
- Fix the Qt build, added const to Node* parameter after change
- in signature.
-
- * WebCoreSupport/ChromeClientQt.h:
- (WebCore::ChromeClientQt::formStateDidChange):
-
-2008-12-09 Brett Wilson <brettw@chromium.org>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=22177
-
- Add a callback on ChromeClient that the state of form elements on
- the page has changed. This is to allow clients implementing session
- saving to know when the current state is dirty.
-
- * WebCoreSupport/ChromeClientQt.h:
- (WebCore::ChromeClientQt::formStateDidChange):
-
-2008-12-09 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Fix the documentation of the localStorageDatabasePath setters/getters.
-
- * Api/qwebsettings.cpp:
-
-2008-12-08 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Multiple files support for the file chooser.
-
- * Api/qwebpage.cpp:
- (QWebPage::chooseFiles):
- * Api/qwebpage.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::runOpenPanel):
-
-2008-12-06 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dave Hyatt
-
- https://bugs.webkit.org/show_bug.cgi?id=15671
-
- Renderer::caretRect() is now localCaretRect(), which needs
- converting to absolute coordinates (taking transforms into account).
-
- * Api/qwebpage.cpp:
- (QWebPage::inputMethodQuery):
-
-2008-12-03 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Allow passing jsNull and jsUndefined to Qt plugins
-
- Currently limited to functions with QString and QVariant arguments,
- and properties of these types. Both jsNull and jsUndefined ends up
- as default-constructed QStrings and QVariants, which means you can
- check for isEmpty() and isValid() in the native plugin code.
-
- Based on patches by Jade Han <jade.han@nokia.com>
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2008-12-02 Simon Hausmann <hausmann@webkit.org>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- Initial API documentation for QWebDatabase, QWebSecurityOrigin and
- QWebFrame::securityOrigin().
-
- * Api/qwebdatabase.cpp:
- * Api/qwebframe.cpp:
- * Api/qwebsecurityorigin.cpp:
-
-2008-11-27 Kent Hansen <khansen@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Added auto tests for making JavaScript bindings for Qt plugin widgets
- work again.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (PluginPage::PluginPage):
- (PluginPage::CallInfo::CallInfo):
- (PluginPage::createPlugin):
- (tst_QWebPage::createPlugin):
-
-2008-11-25 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Build fix. Use WebCore::Frame::loader instead of QWebFrame
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::updateGlobalHistory):
-
-2008-11-24 Darin Fisher <darin@chromium.org>
-
- Fix bustage.
-
- http://bugs.webkit.org/show_bug.cgi?id=15643
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::isSelectTrailingWhitespaceEnabled):
- * WebCoreSupport/EditorClientQt.h:
-
-2008-11-24 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - https://bugs.webkit.org/show_bug.cgi?id=22470
- remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::updateGlobalHistory): Get the URL from the
- DocumentLoader.
- * WebCoreSupport/FrameLoaderClientQt.h: Remove argument.
-
-2008-11-24 Darin Fisher <darin@chromium.org>
-
- Fix bustage.
-
- https://bugs.webkit.org/show_bug.cgi?id=22448
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
-
-2008-11-20 Sam Weinig <sam@webkit.org>
-
- Fix Qt build.
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
-
-2008-11-19 Darin Fisher <darin@chromium.org>
-
- Fix bustage.
-
- https://bugs.webkit.org/show_bug.cgi?id=22373
- Ports busted by addition of ScriptValue.{h,cpp}
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
-
-2008-11-19 Darin Fisher <darin@chromium.org>
-
- Fix bustage.
-
- https://bugs.webkit.org/show_bug.cgi?id=22373
- Ports busted by addition of ScriptValue.{h,cpp}
-
- * Api/qwebframe.cpp:
-
-2008-11-19 Simon Hausmann <hausmann@webkit.org>
-
- Fix the Qt build, remove file referenced in the qrc file that does not
- exist and is not needed.
-
- * tests/qwebframe/qwebframe.qrc:
-
-2008-11-18 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- Missing file in new unit test for QWebFrame (r38493).
-
- * tests/qwebframe/qwebframe.pro:
- * tests/qwebframe/qwebframe.qrc: Added.
-
-2008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Rubber-stamped by Simon Hausmann.
-
- Make sure QWidget based plugins are invisible until placed into the layout
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2008-11-18 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- React properly to frame rect changes for QWidget based plugins
-
- We now set the geometry of the QWidget in frameRectsChanged,
- intead of setFrameRect, which means we pick up the changes to
- the frame rect when scrolling. We also set a mask on the
- widget to keep it from painting over scrollbars and the like
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::):
-
-2008-11-18 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Tor Arne Vestbø.
-
- Fix crash when trying to pick a file using the file chooser.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::runOpenPanel):
-
-2008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports
-
- After Hyatt's work on Widget and ScrollView there is little difference
- between the implementation of Qt, Gtk+ and Win. In fact any kind of
- difference is mostly a bug. Alp has fixed two of such errors for the Gtk+
- port and the Qt port has at least one of them left.
-
- The only difference between the implementations is in getting the the
- IntSize for the new FrameView, the background color to be applied and
- eventually some post processing.
-
- Unify the implementations by providing a static helper function that
- takes a Frame, IntSize, color and transparency bit and calling it from
- the Gtk+, the Qt and the Windows port.
-
- * Api/qwebframe.cpp:
- * Api/qwebframe_p.h:
- * Api/qwebpage.cpp:
- (QWebPage::setPalette):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2008-11-17 Geoffrey Garen <ggaren@apple.com>
-
- Not reviewed.
-
- Try to fix qt build.
-
- * Api/qwebframe.cpp:
-
-2008-11-17 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Tor Arne Vestbø and Simon Hausmann.
-
- Fix regression when loading resources from Qt resource system using qrc:/.
-
- Added a unit test to catch future regression.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * tests/qwebframe/image.png: Added.
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2008-11-16 Darin Adler <darin@apple.com>
-
- - try to fix build
-
- * Api/qwebhistory.cpp: Added include of "KURL.h".
-
-2008-10-24 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Added some basic unit tests for the public database API.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::initTestCase):
- (tst_QWebPage::cleanupTestCase):
- (tst_QWebPage::database):
-
-2008-11-14 Simon Hausmann <hausmann@webkit.org>
-
- Fix the Qt build, add missing export macros for the new classes.
-
- * Api/qwebdatabase.h:
- * Api/qwebsecurityorigin.h:
-
-2008-10-24 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Adding public API to provide access to the security origin
- (QWebSecurityOrigin) and the databases used for the offline
- storage (QWebDatabase).
-
- In addition QWebSettings gains configuration functions for
- enabling/disabling offline storage, web application cache
- and DOM local storage.
-
- This commits lands the core feature(s), the unit tests and the
- documentation are going to follow in the comming days/weeks.
-
- Note: The API is not frozen yet.
-
- * Api/headers.pri:
- * Api/qwebdatabase.cpp: Added.
- (QWebDatabase::QWebDatabase):
- (QWebDatabase::operator=):
- (QWebDatabase::name):
- (QWebDatabase::displayName):
- (QWebDatabase::expectedSize):
- (QWebDatabase::size):
- (QWebDatabase::absoluteFilePath):
- (QWebDatabase::origin):
- (QWebDatabase::remove):
- (QWebDatabase::~QWebDatabase):
- * Api/qwebdatabase.h: Added.
- * Api/qwebdatabase_p.h: Added.
- * Api/qwebframe.cpp:
- (QWebFrame::securityOrigin):
- * Api/qwebframe.h:
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * Api/qwebsecurityorigin.cpp: Added.
- (QWebSecurityOrigin::QWebSecurityOrigin):
- (QWebSecurityOrigin::operator=):
- (QWebSecurityOrigin::scheme):
- (QWebSecurityOrigin::host):
- (QWebSecurityOrigin::port):
- (QWebSecurityOrigin::databaseUsage):
- (QWebSecurityOrigin::databaseQuota):
- (QWebSecurityOrigin::setDatabaseQuota):
- (QWebSecurityOrigin::~QWebSecurityOrigin):
- (QWebSecurityOrigin::allOrigins):
- (QWebSecurityOrigin::databases):
- * Api/qwebsecurityorigin.h: Added.
- * Api/qwebsecurityorigin_p.h: Added.
- (QWebSecurityOriginPrivate::QWebSecurityOriginPrivate):
- (QWebSecurityOriginPrivate::~QWebSecurityOriginPrivate):
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- (QWebSettings::setOfflineStoragePath):
- (QWebSettings::offlineStoragePath):
- (QWebSettings::setOfflineStorageDefaultQuota):
- (QWebSettings::offlineStorageDefaultQuota):
- (QWebSettings::setOfflineWebApplicationCachePath):
- (QWebSettings::offlineWebApplicationCachePath):
- (QWebSettings::setLocalStorageDatabasePath):
- (QWebSettings::localStorageDatabasePath):
- * Api/qwebsettings.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::exceededDatabaseQuota):
-
-2008-11-12 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Rubber-stamped by Tor Arne Vestbø.
-
- Mention the color role change (r38331) in the API doc.
-
- * Api/qwebpage.cpp:
-
-2008-11-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Tor Arne Vestbø and Simon Hausmann.
-
- Use QPalette::Base (instead of QPalette::Background) for the page
- background.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::updateBackground):
- * Api/qwebview.cpp:
- (QWebView::QWebView):
-
-2008-11-11 Cameron Zwarich <zwarich@apple.com>
-
- Reviewed by Geoff Garen.
-
- Remove pointless dependencies on the now-deleted kjs directory.
-
- * WebKit_pch.h:
-
-2008-11-10 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Rubber-stamped by Simon Hausmann.
-
- To fit Qt API, scroll offset is a QPoint instead of a QSize.
-
- * Api/qwebframe.cpp:
- (QWebFrame::scrollOffset):
- (QWebFrame::setScrollOffset):
- * Api/qwebframe.h:
-
-2008-11-10 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Doc: Fixed qdoc warnings by supplying function documentation.
-
- * Api/qwebframe.cpp:
- * Api/qwebview.cpp:
-
-2008-11-10 Tobias Koenig <tobias.koenig@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Removed old and stale prf file that breaks the MingW build.
-
- * Api/qtwebkit.prf: Removed.
-
-2008-11-10 Kavindra Palaraja <kdpalara@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- Clarify QWebFrame/View::setHTML docs with regards to relative URLs
-
- * Api/qwebframe.cpp:
- * Api/qwebview.cpp:
-
-2008-11-10 Joerg Bornemann <joerg.bornemann@nokia.com>
-
- Reviewed by Simon Hausmann
-
- Don't define _CRT_RAND_S on Windows CE in the precompiled
- header, to fix the CE build.
-
- * WebKit_pch.h:
-
-2008-11-07 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Tor Arne Vestbø and Simon Hausmann.
-
- Added an option to allow printing the background color and images.
- Mostly reworked from a patch by Holger.
- This setting is enabled by default.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h:
-
-2008-11-06 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Added a unit tests for QWebFrame::metaData().
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2008-11-06 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne Vestbø.
-
- Improved documentation for QWebFrame::metaData().
-
- * Api/qwebframe.cpp:
-
-2008-11-05 Sriram Yadavalli <sriram.yadavalli@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Added QWebFrame::metaData() to provide a way in the public API
- to retrieve the values of the <meta> tags.
-
- See https://bugs.webkit.org/show_bug.cgi?id=22071
-
- * Api/qwebframe.cpp:
- (QWebFrame::metaData):
- * Api/qwebframe.h:
-
-2008-10-24 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Add userData() and setUserData() to QWebHistoryItem.
- Add setMaximumItemCount() and maximumItemCount() to QWebHistory.
- Add currentItemIndex() to QWebHistory.
-
- See also https://bugs.webkit.org/show_bug.cgi?id=21864
-
- Small cleanup by Simon (docs and forward declaration of QWebHistoryItem in qwebframe.h)
-
- * Api/qwebframe.h:
- * Api/qwebhistory.cpp:
- (QWebHistoryItem::userData):
- (QWebHistoryItem::setUserData):
- (QWebHistory::currentItemIndex):
- (QWebHistory::maximumItemCount):
- (QWebHistory::setMaximumItemCount):
- * Api/qwebhistory.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::saveViewStateToItem):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::modified):
-
-2008-11-03 Cameron Zwarich <zwarich@apple.com>
-
- Rubber-stamped by Maciej Stachowiak.
-
- Move more files into the runtime subdirectory of JavaScriptCore.
-
- * Api/qwebpage.cpp:
-
-2008-10-25 Jade Han <jade.han@nokia.com>
-
- Reviewed by Anders.
-
- Enable custom properties for Qt runtime objects in QtWebKit
-
- https://bugs.webkit.org/show_bug.cgi?id=21813
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2008-10-24 Sam Weinig <sam@webkit.org>
-
- Another Qt build fix.
-
- * WebCoreSupport/ChromeClientQt.cpp:
-
-2008-10-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Fix https://bugs.webkit.org/show_bug.cgi?id=21759
- Layering violation: FileChooser should not depend on Document/Frame/Page
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::runOpenPanel):
- * WebCoreSupport/ChromeClientQt.h:
-
-2008-10-24 Timothy Hatcher <timothy@apple.com>
-
- Stub out new InspectorClient methods.
-
- https://bugs.webkit.org/show_bug.cgi?id=21856
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::populateSetting): Not implemented.
- (WebCore::InspectorClientQt::storeSetting): Ditto.
- (WebCore::InspectorClientQt::removeSetting): Ditto.
- * WebCoreSupport/InspectorClientQt.h:
-
-2008-10-24 Darin Adler <darin@apple.com>
-
- - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript): Use JSValue* instead of JSValuePtr.
-
-2008-10-23 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- Invalid history entries could cause a crash in QT Webkit
-
- * Api/qwebhistory.cpp:
- (QWebHistoryItem::originalUrl):
- (QWebHistoryItem::url):
- (QWebHistoryItem::title):
- (QWebHistoryItem::lastVisited):
- (QWebHistoryItem::icon):
- (QWebHistoryItem::isValid):
- * Api/qwebhistory.h:
- * Api/qwebhistory_p.h:
- (QWebHistoryItemPrivate::QWebHistoryItemPrivate):
- (QWebHistoryItemPrivate::~QWebHistoryItemPrivate):
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::modified):
-
-2008-10-22 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- emit scrollRequested unconditionally when scrolling.
-
- See https://bugs.webkit.org/show_bug.cgi?id=21790
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::scroll):
-
-2008-10-23 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Tor Arne.
-
- Fix handling of mouse events when embedding QWebView into the
- QGraphicsView.
-
- QWebPage accepts or ignores events to indicate whether the web page
- handled the event. However for QWebView to behave like a good widget
- it should always accept the mouse events to indicate that it handled
- them and that they should not be subject to event propagation.
-
- The graphics view relies on acceptance of the initial mouse click to
- make the embedded widget the focus item.
-
- * Api/qwebview.cpp:
- (QWebView::mouseMoveEvent):
- (QWebView::mousePressEvent):
- (QWebView::mouseDoubleClickEvent):
- (QWebView::mouseReleaseEvent):
- (QWebView::contextMenuEvent):
- (QWebView::wheelEvent):
-
-2008-10-22 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon Hausmann.
-
- For public API, use the term boundingRect instead of boundingBox.
-
- * Api/qwebframe.cpp:
- (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
- (QWebHitTestResult::boundingRect):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
-
-2008-06-03 Siraj Razick <siraj.razick@collabora.co.uk>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=19374
-
- Expose boundingBox value in QWebHitTestResult
-
- Add API function QRect QWebHitResult::boundingBox() const
-
- API docs by Ariya.
-
- * Api/qwebframe.cpp:
- (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
- (QWebHitTestResult::boundingBox):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
-
-2008-10-21 Yael Aharon <yael.aharon@nokia.com>
-
- Reviewed by Simon Hausmann.
-
- emit repaintRequested unconditionally when repaint is requested.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::repaint):
-
-2008-10-20 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2008-10-19 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
- improve performance by eliminating JSValue as a base class for JSCell
-
- Remove most uses of JSValue, which will be removed in a future patch.
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript): Use JSValuePtr.
-
-2008-10-14 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Clip painter to dirty rect before passing on to WebKit
-
- This was previously done in ScrollViewQt, but after the
- refactoring of ScrollView we need to do it in QWebFrame
- instead, similar to Safari/Win.
-
- * Api/qwebframe.cpp:
- (QWebFrame::render):
-
-2008-10-08 Matthias Ettrich <ettrich@nokia.com>
-
- Reviewed by Simon.
-
- Make QWebView ignore focus changes with PopupFocusReason to avoid
- massive updates when menus open and close.
-
- * Api/qwebview.cpp:
- (QWebView::focusInEvent):
- (QWebView::focusOutEvent):
-
-2008-10-08 Kavindra Palaraja <kdpalara@trolltech.com>
-
- Reviewed by Simon.
-
- Fixed a qdoc warning and adjusted some spacing
-
- * Api/qwebframe.cpp:
-
-2008-10-08 Rhys Weatherley <rhys.weatherley@nokia.com>
-
- Reviewed by Simon.
-
- Compile for platforms without context menus.
-
- * Api/qwebpage.cpp:
- (QWebPage::createStandardContextMenu):
-
-2008-10-08 André Pönitz <apoenitz@trolltech.com>
-
- Reviewed by Simon.
-
- Fix compilation with Qt namespaces.
-
- * WebCoreSupport/EditCommandQt.h:
-
-2008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- QtWebKit build fix after changes to FrameLoaderClient.h in r37371
-
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2008-10-07 Holger Hans Peter Freyther <zecke@selfish.org>
-
- [qt] Build fix after Scrollbar.h and Widget.h changes.
-
- * Api/qwebpage.cpp:
- (QWebPage::swallowContextMenuEvent):
-
-2008-10-06 David Hyatt <hyatt@apple.com>
-
- Enable viewless Mac WebKit to paint some basic pages.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2008-10-03 David Hyatt <hyatt@apple.com>
-
- Fix scroll method on Qt. The delta was supposed to use .width()/.height() and not .x()/.y().
-
- Fix the QtPluginWidget to do an invalidate properly.
-
- Reviewed by ggaren
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::scroll):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::):
-
-2008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Build fix. Remove addToDirtyRegion from the header file.
-
- * WebCoreSupport/ChromeClientQt.h:
-
-2008-10-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Build fix.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::scroll):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::):
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2008-10-03 David Hyatt <hyatt@apple.com>
-
- Remove addToDirtyRegion.
-
- Reviewed by Oliver Hunt
-
- * WebCoreSupport/ChromeClientQt.cpp:
-
-2008-10-02 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21314
-
- Make scrollBackingStore cross-platform.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::repaint):
- (WebCore::ChromeClientQt::scroll):
- * WebCoreSupport/ChromeClientQt.h:
-
-2008-10-01 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21282
-
- Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
-
- Reviewed by Adam Roben
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::windowToScreen):
- (WebCore::ChromeClientQt::screenToWindow):
- * WebCoreSupport/ChromeClientQt.h:
-
-2008-09-30 Dave Hyatt <hyatt@apple.com>
-
- http://bugs.webkit.org/show_bug.cgi?id=21250
-
- Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
- repaints up through the ChromeClient.
-
- Reviewed by Darin Adler
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::repaint):
- * WebCoreSupport/ChromeClientQt.h:
-
-2008-09-29 Gunnar Sletta <gunnar@trolltech.com>
-
- Reviewed by Simon
-
- Compile on windows using MSVC 2005
-
- For the PCH We need to define _WIN32_WINNT and include windows.h early on,
- otherwise we'll miss several functions.
-
- * WebKit_pch.h:
-
-2008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
-
- Reviewed by Simon.
-
- Changed copyright from Trolltech ASA to Nokia.
-
- Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
-
-
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- * Api/qwebhistory.cpp:
- * Api/qwebhistory.h:
- * Api/qwebhistory_p.h:
- * Api/qwebkitglobal.h:
- * Api/qwebnetworkinterface.cpp:
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebpluginfactory.cpp:
- * Api/qwebpluginfactory.h:
- * Api/qwebsettings.cpp:
- * Api/qwebsettings.h:
- * Api/qwebview.cpp:
- * Api/qwebview.h:
- * Plugins/ICOHandler.cpp:
- * QtLauncher/main.cpp:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- * WebCoreSupport/FrameLoaderClientQt.h:
- * WebCoreSupport/InspectorClientQt.cpp:
- * WebCoreSupport/InspectorClientQt.h:
- * tests/qwebframe/tst_qwebframe.cpp:
- * tests/qwebpage/tst_qwebpage.cpp:
-
-2008-09-28 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by David Hyatt.
-
- Ensure the mainThreadIdentifier is set as well as other bits and pieces of
- the threading machinery, by calling JSC::initializeThreading().
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2008-09-27 David Hyatt <hyatt@apple.com>
-
- Forgot to land renaming changes in WebKit.
-
- * Api/qwebframe.cpp:
- (QWebFrame::render):
- (QWebFrame::pos):
- (QWebFrame::geometry):
- * Api/qwebpage.cpp:
- (QWebPage::viewportSize):
- (QWebPage::setViewportSize):
-
-2008-09-27 Simon Hausmann <hausmann@webkit.org>
-
- Qt build fix - use frameRect instead of frameGeometry, adapt
- to renamed scrollbar frameview methods.
-
- * Api/qwebpage.cpp:
- (QWebPage::viewportSize):
- (QWebPage::setViewportSize):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
-
-2008-09-27 Jan Michael Alonzo <jmalonzo@webkit.org>
-
- Qt build fix - rename frameGeometry to frameRect per r36995.
-
- * Api/qwebframe.cpp:
- (QWebFrame::render):
- (QWebFrame::pos):
- (QWebFrame::geometry):
-
-2008-09-26 Ariya Hidayat <ahidayat@trolltech.com>
-
- Reviewed by Simon.
-
- Fixed potential crash when deleting QWebView instance.
-
- When deleting the view, sets the page's view to NULL.
- The reason is that the page is smart and its destructor might lead to a call
- that operates on a view (which is in the process of being deleted).
-
- * Api/qwebpage.h:
- * Api/qwebview.cpp:
- (QWebView::~QWebView):
-
-2008-09-26 Ariya Hidayat <ahidayat@trolltech.com>
-
- Reviewed by Simon.
-
- Fixed using modifiers to type special symbols (e.g '@','$') does not work on Mac OS X.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2008-09-26 Håvard Wall <hwall@trolltech.com>
-
- Reviewed by Simon.
-
- Fix compilation with QT_NO_MESSAGEBOX
-
- * Api/qwebpage.cpp:
- (QWebPage::javaScriptAlert):
- (QWebPage::javaScriptConfirm):
-
-2008-09-23 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Remove deprecated JS Qt bindings object call/construct code and fix autotests
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2008-09-16 Alp Toker <alp@nuanti.com>
-
- Prospective Qt build fix. ScrollBar.h -> Scrollbar.h
-
- * Api/qwebframe.cpp:
- * Api/qwebpage.cpp:
-
-2008-09-15 Eli Fidler <eli@staikos.net>
-
- Reviewed by Simon.
-
- Yahoo assumes non-RFC compliant HTTP redirect behaviour. QtWebKit is (more)
- compliant, so broken. I think the Yahoo-assumed behaviour is real-world standard.
-
- Basically, Yahoo's login procedure for flickr looks like this:
- 1. load flickr.com, click "sign in"
- 2. this is a Yahoo page with a form
- (https://login.yahoo.com/config/login?.src=flickr...)
- when you click the "Sign In" button, the form submits to a yahoo.com POST URL
- 3. The POST returns with a 302 (redirect) to another yahoo.com URL
- 4. If you POST the redirected Location:, it all breaks. Yahoo assumes you will
- convert the method to GET, which works fine but is definitely not
- RFC-compliant. It would be compliant for 303, and the RFC says that many
- implementations treat 302 and 303 the same way (for HTTP/1.0 compliance), but
- converting to GET is explicitly wrong for 302.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::started):
-
-2008-09-15 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Make QtInstance::create() private and fix caching
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
-2008-09-11 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Rubber-stamped by Simon.
-
- Prevent leaking pages and frames in QWebKit autotest
-
- * tests/qwebpage/tst_qwebpage.cpp:
-
-2008-09-11 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon
-
- Fix QtWebKit autotest
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::userStyleSheet):
-
-2008-09-09 Joerg Bornemann <joerg.bornemann@trolltech.com>
-
- Reviewed by Simon.
-
- Added missing WebCore prefix to ResourceRequest
-
- This is needed for Windows/CE compilation where there is a conflict
- with a global ResourceRequest type. Elsewhere in this file ResourceRequest
- is also prefixed with WebCore::
-
- * Api/qwebframe.cpp:
- (QWebFrame::QWebFrame):
-
-2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
-
- Reviewed by Maciej Stachowiak.
-
- Bug 20704: Replace the KJS namespace
- <https://bugs.webkit.org/show_bug.cgi?id=20704>
-
- Rename the KJS namespace to JSC.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
- (QWebFrame::evaluateJavaScript):
-
-2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon
-
- Fix the QtWebKit build to match changes in r36016
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
-2008-09-04 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Re-enable support for user stylesheets in QtWebKit
-
- QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
- code path, which allows us to keep API support for
- loading user style sheets from remote URLs.
-
- As part of the change UserStyleSheetLoader.cpp/h was
- moved from WebCore/loader/mac to WebCore/loader.
-
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::userStyleSheet):
-
-2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Eric Seidel.
-
- [janitor/qt] Start replacing port specific getters with the generic native getter
- To get the native presentation of an image we currently have platform
- specific #ifdef's and a generic getter using NativeImagePtr. This patch
- extends this to the ImageBuffer and updates the Qt platform to get rid
- of the special #ifdefs.
-
- https://bugs.webkit.org/attachment.cgi?id=22861
-
- * Api/qwebframe.cpp:
- (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
- * Api/qwebhistory.cpp:
- * Api/qwebsettings.cpp:
- (QWebSettings::iconForUrl):
-
-2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon.
-
- Catch up with the introduction of PageGroup in r30840. Enable tracking of
- visited links, enable this in QWebPage next to the other WebCore init call.
- Calling this more than once is no issue and a cheap operation, we also do not
- reset the state. When clearing the history of a page, clear the link state.
-
- * Api/qwebhistory.cpp:
- (QWebHistory::clear):
- * Api/qwebhistoryinterface.cpp:
- (QWebHistoryInterface::setDefaultInterface):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2008-08-29 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon.
-
- Revert revision 34348 which removed the global historyContains() function.
-
- This function was needed to implement the public API of QWebHistoryInterface
- and will be used again in the near future.
-
- * Api/qwebhistoryinterface.cpp:
- (WebCore::historyContains):
-
-2008-08-27 Erik Bunce <elbunce@thehive.com>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=20223
-
- Add QWebPage::contentsChanged() signal to notify of content changes.
-
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::respondToChangedContents):
-
-2008-08-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- <rdar://problem/6134133> - Crash when loading large movie as a standalone document
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::pluginWillHandleLoadError): Stubbed for now
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2008-08-25 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon.
-
- [inspector] Emit signals from attachWindow and detachWindow in the Qt platform
- Allow the user of the API to honor the attachWindow and detachWindow
- requests and attach the QWebPage/QWebView wherever it is wanted. This needs
- some more API in QWebPage to be properly exposed.
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::createPage):
- (WebCore::InspectorClientQt::attachWindow):
- (WebCore::InspectorClientQt::detachWindow):
- * WebCoreSupport/InspectorClientQt.h:
-
-2008-08-19 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Geoff Garen.
-
- Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
-2008-08-15 Håvard Wall <hwall@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: compile with QT_NO_UNDOCOMMAND/STACK
-
-
- * Api/qwebpage.cpp:
- (SetCursorEvent::SetCursorEvent):
- (QWebPagePrivate::createContextMenu):
- (QWebPage::action):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * WebCoreSupport/EditCommandQt.cpp:
- (EditCommandQt::EditCommandQt):
- * WebCoreSupport/EditCommandQt.h:
- * WebCoreSupport/EditorClientQt.cpp:
- (dumpPath):
- (WebCore::EditorClientQt::shouldInsertText):
- (WebCore::EditorClientQt::shouldChangeSelectedRange):
- (WebCore::EditorClientQt::isEditable):
- (WebCore::EditorClientQt::registerCommandForUndo):
- (WebCore::EditorClientQt::clearUndoRedoOperations):
- (WebCore::EditorClientQt::canUndo):
- (WebCore::EditorClientQt::canRedo):
- (WebCore::EditorClientQt::undo):
- (WebCore::EditorClientQt::redo):
- (WebCore::EditorClientQt::shouldInsertNode):
-
-2008-08-15 Håvard Wall <hwall@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: compile with QT_NO_STYLE_STYLESHEET
-
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::postProgressFinishedNotification):
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2008-08-15 Håvard Wall <hwall@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: compile with QT_NO_SHORTCUT
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mouseMoveEvent):
- (QWebPagePrivate::mouseReleaseEvent):
- (QWebPagePrivate::dragMoveEvent):
-
-2008-08-15 Håvard Wall <hwall@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: compile with QT_NO_CONTEXTMENU
-
-
- * Api/qwebpage.cpp:
- (editorCommandForWebActions):
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::createMainFrame):
- (QWebPagePrivate::updateEditorActions):
- (QWebPage::setEditable):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- * Api/qwebview.h:
-
-2008-08-15 Håvard Wall <hwall@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: compile with QT_NO_WHEELEVENT
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateEditorActions):
- (QWebPage::event):
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- * Api/qwebview.h:
-
-2008-08-15 Håvard Wall <hwall@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: compile with QT_NO_PRINTER
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::print):
- * Api/qwebframe.h:
-
-2008-08-15 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon.
-
- Doc: Added documentation for default property values.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::keyPressEvent):
- (QWebPage::triggerAction):
- (QWebPage::acceptNavigationRequest):
- (QWebPage::action):
- * Api/qwebview.cpp:
-
-2008-08-15 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon.
-
- Doc: Renamed snippets that appear in the code directory.
-
-
- * Api/qwebview.cpp:
- (QWebView::event):
- (QWebView::print):
-
-2008-08-12 Timothy Hatcher <timothy@apple.com>
-
- Add a stub for InspectorClient::setAttachedWindowHeight.
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::setAttachedWindowHeight):
- Call notImplemented().
- * WebCoreSupport/InspectorClientQt.h:
-
-2008-08-13 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon.
-
- Use full-page zoom in QtLauncher.
-
- * QtLauncher/main.cpp:
- (MainWindow::zoomIn):
- (MainWindow::zoomOut):
- (MainWindow::resetZoom):
- (MainWindow::setupUI):
-
-2008-08-13 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon.
-
- Fix linking with QtWebKit.
-
- * Api/qwebframe.h: remove non-existing function/property.
-
-2008-08-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Based on patch by Siraj razick <siraj.razick@collabora.co.uk>
-
- https://bugs.webkit.org/show_bug.cgi?id=19125
-
- Added functions to get/set the zoom factor.
-
- Added a QWebFrame/QWebView::zoomFactor as well as a boolean
- ZoomTextOnly attribute in QWebSettings.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setZoomFactor):
- (QWebFrame::zoomFactor):
- * Api/qwebframe.h:
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h:
- * Api/qwebview.cpp:
- (QWebView::setZoomFactor):
- (QWebView::zoomFactor):
- * Api/qwebview.h:
-
-2008-08-13 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Fix QWebFrame::setHtml() not setting the new contents immediately.
-
- Added a setter to the DocumentLoader to toggle the deferred loading of the main
- resource when it comes from substitute data.
-
- Disable deferred loading of the main resource when we have valid substitute data,
- as used by QWebFrame::setHtml.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::download):
-
-2008-08-13 Simon Hausmann <hausmann@webkit.org>
-
- Rubber-stamped by Holger.
-
- Fix QWebPage::isModified().
-
- isModified() would return true after loading a new page or it would continue to
- return true after undoing modifications. Fix this by eliminating the
- QWebPagePrivate::modified variable and use the undoStack's canUndo() property
- instead.
-
- https://bugs.webkit.org/show_bug.cgi?id=19252
-
- * Api/qwebpage.cpp:
- (QWebPage::action):
- * Api/qwebpage_p.h:
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::respondToChangedContents):
-
-2008-08-13 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon.
-
- Updated docs with the signal emission behavior of urlChanged()
-
- * Api/qwebframe.cpp:
-
-2008-08-13 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon.
-
- Fix Ctrl+Y to work again when editing text in contextEditable mode.
-
- This fixes regression in LayoutTests/editing/pasteboard/emacs-cntl-y-001.html
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2008-08-13 Thiago Macieira <tjmaciei@trolltech.com>
-
- Reviewed by Simon.
-
- Fix encoding of [ and ] in the host part of the URL
-
- Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to
- add this workaround to the QUrl <> WebCore::KURL conversion operator so that it
- doesn't encode [ and ] when they are found in the host part. That is, the
- following URL:
- http://[::1]/
- is valid and should not be reencoded to:
- http://%5b::1%5d/
-
- This change adds the automatic test for it.
-
- * tests/qwebframe/tst_qwebframe.cpp:
-
-2008-08-12 Urs Wolfer <uwolfer@kde.org>
-
- Reviewed by Simon.
-
- https://bugs.webkit.org/show_bug.cgi?id=20357
-
- Fix crash in QWebPage in case contextMenuEvent has been overwritten
- because context menu has the view as parent and thus is deleted too early.
-
- Add testcase for this crash.
-
- * Api/qwebpage_p.h:
- * tests/qwebpage/tst_qwebpage.cpp:
- (tst_QWebPage::contextMenuCrash):
-
-2008-08-07 Simon Hausmann <hausmann@webkit.org>
-
- Rubber-stamped by Lars.
-
- Added API tests for QWebPage/QWebFrame based on QTestLib.
-
- * tests/qwebframe/qwebframe.pro: Added.
- * tests/qwebframe/tst_qwebframe.cpp: Added.
- * tests/qwebpage/qwebpage.pro: Added.
- * tests/qwebpage/tst_qwebpage.cpp: Added.
- * tests/tests.pro: Added.
-
-2008-08-06 Benjamin C Meyer <ben@meyerhome.net>
-
- Reviewed by Simon.
-
- During the drag operation only accept the event if the action is not ignore action.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dragEnterEvent):
- (QWebPagePrivate::dragMoveEvent):
- (QWebPagePrivate::dropEvent):
-
-2008-08-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Fix the Qt build due to recent ScriptController refactoring.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
-2008-08-05 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Move event handling of the return-key from EditorClientQt to QWebPage.
-
- https://bugs.webkit.org/show_bug.cgi?id=20191
-
- This is a first step in refactoring the big switch block
- in EditorClientQt::handleKeyboardEvent to using WebActions
- instead.
-
- The new logic uses two new StandardKeys from QKeySequence:
-
- - InsertParagraphSeparator
- - InsertLineSeparator
-
- Which translate to the commands InsertNewline and InsertLineBreak
- respectivly. On Windows/X11 pressing the shift modifier will invoke
- the latter action. For Mac this is triggered by pressing the meta
- modifier (Ctrl).
-
- Initial patch by: Erik Bunce
-
- * Api/qwebpage.cpp:
- (editorActionForKeyEvent):
- * Api/qwebpage.h:
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2008-08-04 Erik Bunce <elbunce@thehive.com>
-
- Reviewed by Simon.
-
- https://bugs.webkit.org/show_bug.cgi?id=20221
-
- Add updateAction() support to ToggleBold, ToggleItalic, and ToggleUnderline.
- Add lookup table for mapping web actions to editor commands.
-
- * Api/qwebpage.cpp:
- (editorCommandForWebActions):
- (QWebPagePrivate::updateAction):
- (QWebPagePrivate::updateEditorActions):
- (QWebPage::triggerAction):
- (QWebPage::setEditable):
-
-2008-08-03 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon.
-
- A bunch of improvements to the QtLauncher.
-
- Among others:
- - Unify and unclutter the toolbar, use menu for addition actions
- - Simplify URL edit, just use QLineEdit (no fancy close button etc)
- - Guess the URL from the command line so now we can run ./QtLauncher www.google.com
- - Shortcut keys for most actions
- - Simple autocomplete for the URL edit
- - Actions for zooming, New Window and Close Window
- - Show Format menu only when the content is set to editable
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- (MainWindow::webPage):
- (MainWindow::changeLocation):
- (MainWindow::loadFinished):
- (MainWindow::showLinkHover):
- (MainWindow::newWindow):
- (MainWindow::zoomIn):
- (MainWindow::zoomOut):
- (MainWindow::resetZoom):
- (MainWindow::print):
- (MainWindow::setEditable):
- (MainWindow::dumpHtml):
- (MainWindow::setupUI):
- (main):
-
-2008-08-04 Erik Bunce <elbunce@thehive.com>
-
- Reviewed by Simon.
-
- https://bugs.webkit.org/show_bug.cgi?id=20198
-
- Allow Copy key sequence to work in non-editable areas.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::keyPressEvent):
-
-2008-07-31 Erik Bunce <elbunce@thehive.com>
-
- Reviewed by Simon.
-
- Make sure edit actions get updated when the contents change.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::respondToChangedContents):
-
-2008-07-31 Erik Bunce <elbunce@thehive.com>
-
- Reviewed by Simon.
-
- Add simple edit test abilities to QtLauncher.
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- (MainWindow::setEditable):
- (MainWindow::dumpHtml):
-
-2008-07-31 Alexey Proskuryakov <ap@webkit.org>
-
- Rubber-stamped by Maciej.
-
- Eliminate JSLock (it was already disabled, removing the stub implementaion and all
- call sites now).
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
-2008-07-27 David Kilzer <ddkilzer@apple.com>
-
- Fix Qt build failure.
-
- * Api/qwebframe.h:
- (QWebFrame::setScrollOffset): Make argument const.
-
-2008-07-26 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=20010
- [Qt] Add API access to scrolling
-
- * Api/qwebframe.cpp: Added access to a frame scroll offset.
- (QWebFrame::scroll):
- (QWebFrame::scrollOffset):
- (QWebFrame::setScrollOffset):
- * Api/qwebframe.h:
-
-2008-07-26 Daniel Jalkut <jalkut@red-sweater.com>
-
- Build fix. Adjust to updated WebCore FrameLoader method names & signatures.
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2008-07-25 Joerg Bornemann <joerg.bornemann@trolltech.com>
-
- Reviewed by Simon.
-
- Compile with QT_NO_PRINTER.
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
-
-2008-07-24 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon
-
- Don't insert text on keyDown event in EditorClientQt.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2008-07-04 Benjamin C Meyer <ben@meyerhome.net>
-
- Reviewed by Simon.
-
- Update the webkit version in the QtWebKit useragent string to match trunk
-
- * Api/qwebpage.cpp:
-
-2008-07-02 Simon Hausmann <hausmann@webkit.org>
-
- Build fix.
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction): The signature of setBaseWritingDirection
- changed to take an enum instead of a string.
-
-2008-07-01 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- Disable JSLock for per-thread contexts.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
- Pass a parameter (false) to JSLock to indicate that WebKit doesn't need locking.
- Include JSLock.h, as it is no longer brought in implicitly.
-
-2008-07-01 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Don't show the tooltip instantly in the QtLauncher.
-
- Let the QWebView handle tooltips by itself, so we get
- the expected delay as everywhere else.
-
- * QtLauncher/main.cpp:
-
-2008-06-30 Simon Hausmann <hausmann@webkit.org>
-
- Rubber-stamped by Niko.
-
- Removed the obsolete and unmaintained WebKitPart. The integration of
- QtWebKit into KDE is now done in the webkitkde component inside KDE.
-
- * WebKitPart/WebKitFactory.cpp: Removed.
- * WebKitPart/WebKitFactory.h: Removed.
- * WebKitPart/WebKitPart.cpp: Removed.
- * WebKitPart/WebKitPart.desktop: Removed.
- * WebKitPart/WebKitPart.h: Removed.
- * WebKitPart/WebKitPart.rc: Removed.
- * WebKitPart/WebKitPartBrowser.rc: Removed.
- * WebKitPart/WebKitPartBrowserExtension.cpp: Removed.
- * WebKitPart/WebKitPartBrowserExtension.h: Removed.
- * WebKitPart/WebKitPartClient.cpp: Removed.
- * WebKitPart/WebKitPartClient.h: Removed.
- * WebKitPart/WebKitPartInterface.cpp: Removed.
- * WebKitPart/WebKitPartInterface.h: Removed.
- * WebKitPart/org.kde.WebKitPart.xml: Removed.
-
-2008-06-24 Simon Hausmann <hausmann@webkit.org>
-
- Fix the Qt build, added missing include for RuntimeObjectImp.
-
- * Api/qwebframe.cpp:
-
-2008-06-23 Benjamin C Meyer <ben@meyerhome.net>
-
- Reviewed by Simon.
-
- Add function to retrieve the standard context menu
-
-2008-06-20 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>
-
- Reviewed by Simon.
-
- https://bugs.webkit.org/show_bug.cgi?id=19082
- [Qt] Full-page plugins not activated
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::committedLoad): Re-check if there's a
- plugin present, as it can be created during the function.
-
-2008-06-20 Marco Barisione <marco.barisione@collabora.co.uk>
-
- Reviewed by Simon.
-
- https://bugs.webkit.org/show_bug.cgi?id=19082
- [Qt] Full-page plugins not activated
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::canShowMIMEType): Return true if the
- MIME type is supported by a plugin.
-
-2008-06-18 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- Prepare JavaScript heap for being per-thread.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject): Trying not to break the build.
-
-2008-06-18 Julien Chaffraix <jchaffraix@webkit.org>
-
- Qt Build fix after r34627.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- - give Frame object functions shorter names: scriptProxy() -> script(),
- selectionController() -> selection(), animationController() -> animation()
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::focusInEvent):
- (QWebPagePrivate::focusOutEvent):
- (QWebPage::inputMethodQuery):
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- - new names for more JavaScriptCore files
-
- * WebKit_pch.h:
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- - new names for a few key JavaScriptCore files
-
- * Api/qwebframe.cpp:
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- Rubber stamped by Sam.
-
- - new names for kjs_binding.h and kjs_proxy.h
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
- * WebKit_pch.h:
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- - fix build
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init): Added a missing semicolon.
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - more https://bugs.webkit.org/show_bug.cgi?id=17257
- start ref counts at 1 instead of 0 for speed
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init): Use create instead of new.
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createDocumentLoader): Ditto.
-
-2008-06-13 Darin Adler <darin@apple.com>
-
- - try to fix build
-
- * WebCoreSupport/FrameLoaderClientQt.h: Add missing argument.
-
-2008-06-13 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - updated for addition of FormState argument to action policy functions
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
-
-2008-06-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon.
-
- Fix left-click and middle-click mouse event are not properly accepted.
-
- When copying or pasting text using left or middle-click, the event must be
- accepted so that it will not be potentially processed further by the parent
- and/or sub-classed widget.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mouseReleaseEvent):
-
-2008-06-11 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon.
-
- Fix input element does not accept character typed in using AltGr.
-
- EditorClient is modified to catch AltGr and Ctrl+Alt key combination.
- This fixes http://trolltech.com/developer/task-tracker/index_html?id=207050&method=entry
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
-
-2008-05-26 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
-
- Reviewed by Simon.
-
- https://bugs.webkit.org/show_bug.cgi?id=19323
-
- Implemented the QWebPage::editable property.
-
- Small documentation fixes by Simon.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPage::setEditable):
- (QWebPage::isEditable):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h: implement the editable property and add API so that
- applications can switch edit mode on and off for a particular QWebPage
- * WebCoreSupport/EditorClientQt.cpp: retrieve editable property from the
- QWebPage instead of always returning false
-
-2008-06-09 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon
-
- Make sure web action in context menus have the right enablement,
- while not messing up other web actions not included in the menu.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createContextMenu):
- (QWebPage::updatePositionDependentActions):
- * Api/qwebpage_p.h:
-
-2008-06-09 Benjamin C Meyer <ben@meyerhome.net>
-
- Reviewed by Simon
-
- Add Shift-Space shortcut to go up one screen, the opposite of Space
- which goes down one screen.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::handleScrolling):
-
-2008-06-04 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Fix a failing assertion when calling QWebFrame::evaluateJavaScript.
-
- The starting line number has to be 1 instead of 0.
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
-
-2008-06-03 Jonathon Jongsma <jonathon.jongsma@collabora.co.uk>
-
- Reviewed by Darin Adler.
-
- * Api/qwebhistoryinterface.cpp: Remove WebCore::historyContains(). This
- function is not used anywhere internally and is only a convenience
- function that can still be accomplished using
- QWebHistoryInterface::historyContains();
-
-2008-05-29 Kavindra Devi Palaraja <kdpalara@trolltech.com>
-
- Reviewed by Simon.
-
- Doc: Mention the requirement of a QApplication with QtWebKit
-
-
- * Api/qwebview.cpp:
-
-2008-05-29 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon.
-
- Some clarifications for the documentation.
-
-
- * Api/qwebpage.cpp:
- * Api/qwebpluginfactory.cpp:
-
-2008-05-27 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon.
-
- Fix web inspector does not returns its state properly after its window is minimized.
-
- As hinted by Holger, InspectorClientView::hideEvent is not needed.
- This fixes bug https://bugs.webkit.org/show_bug.cgi?id=18967
-
- * WebCoreSupport/InspectorClientQt.cpp:
-
-2008-05-21 Siraj Razick <siraj.razick@collabora.co.uk>
-
- Reviewed by Simon.
-
- Add <param name="classid"/> support for application/x-qt-object plugins
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2008-05-13 Andy Shaw <andy@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: QWebHistory::forward() should go forwards and not back
-
- * Api/qwebhistory.cpp:
-
-2008-05-12 Alexey Proskuryakov <ap@webkit.org>
-
- Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify
- SquirrelFish merging.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
-2008-05-09 Thiago Macieira <tjmaciei@trolltech.com>
-
- Reviewed by Simon.
-
- Fix bad includes in QtWebKit public headers.
-
- Make sure to include qglobal.h using the QtCore prefix so that an explicit
- include/QtCore is not needed in the application's build system. Also make sure
- that qwebsettings.h includes the local qwebkitglobal.h.
-
-
- * Api/qwebkitglobal.h:
- * Api/qwebsettings.h:
-
-2008-05-08 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>
-
- Reviewed by Simon.
-
- https://bugs.webkit.org/show_bug.cgi?id=18935
-
- Based on work by Sriram Neelakandan for the Gtk port.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp: Initialize
- m_hasSentResponseToPlugin.
- (WebCore::FrameLoaderClientQt::FrameLoaderClientQt):
- (WebCore::FrameLoaderClientQt::redirectDataToPlugin):
-
-2008-05-08 Warwick Allison <warwick@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: WebKit expects initial input method state to be *disabled*.
-
- At least QWS does not need the initial input method state to be forced to
- enabled, but other platforms (esp. X11) do. Until fixed/tested on those
- platforms, this is specific to QWS.
-
-
- * Api/qwebview.cpp:
- (QWebView::QWebView):
-
-2008-05-06 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Fix logic error in QWebHitTestResult::isNull().
-
- * Api/qwebframe.cpp:
-
-2008-05-02 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Doc: Mention that you have to enable plugins in QWebSettings for them to work.
-
- * Api/qwebpage.cpp:
-
-2008-05-02 Simon Hausmann <hausmann@webkit.org>
-
- Fix the Qt build, ExecState is required here.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
-
-2008-05-01 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>
-
- Reviewed by Alp Toker.
- Qt parts OK'ed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=14750
- Added support for NPAPI plugins on Gtk and Qt-x11 ports.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::FrameLoaderClientQt):
- (WebCore::FrameLoaderClientQt::finishedLoading):
- (WebCore::FrameLoaderClientQt::setMainDocumentError):
- (WebCore::FrameLoaderClientQt::committedLoad):
- (WebCore::FrameLoaderClientQt::objectContentType):
- (WebCore::FrameLoaderClientQt::createPlugin):
- (WebCore::FrameLoaderClientQt::redirectDataToPlugin):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2008-04-30 Julien Chaffraix <jchaffraix@webkit.org>
-
- Qt 4.3 build fix.
-
- Fixes a brace error that made Qt 4.4 build but not Qt 4.3.
-
- * Api/qwebview.cpp:
- (QWebView::event):
-
-2008-04-30 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- In focusIn and focusOut event always update the active state of the
- focus controller. Fixes ~400 failing layout tests due to missing
- editing callbacks that relied on the correct focus.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::focusInEvent):
- (QWebPagePrivate::focusOutEvent):
-
-2008-04-29 Lincoln Ramsay <lincoln.ramsay@trolltech.com>
-
- Reviewed by Simon.
-
- Fix compilation with QT_NO_PRINTER
-
-
- * Api/qwebview.cpp:
- (QWebView::print):
-
-2008-04-29 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon.
-
- Ensure that relative URL is converted to absolute URL.
-
- This is necessary because loading a relative URL is not really supported
- (the web page may load, but the subsequent URLs for images and links will
- not be resolved properly).
- This also fixes https://bugs.webkit.org/show_bug.cgi?id=18484
-
-
- * Api/qwebframe.cpp:
- (ensureAbsoluteUrl):
- (QWebFrame::setUrl):
- (QWebFrame::load):
-
-2008-04-29 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon.
-
- Simplification of Qt Launcher (no animation and use standard progress bar widget)
-
- Status bar shows the hovered link without any animation. Progress bar just uses the standard QProgressBar (no custom widget). The launcher is leaner and faster to use under the debugger and/or valgrind.
-
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
-
-2008-04-29 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon.
-
- Update the cursor when the frame/page loading is finished.
-
- This fixes https://bugs.webkit.org/show_bug.cgi?id=18712
-
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::postProgressFinishedNotification):
- (WebCore::FrameLoaderClientQt::setMainFrameDocumentReady):
-
-2008-04-29 Simon Hausmann <shausman@trolltech.com>
-
- Reviewed by Holger.
-
- Fixes: QWebPage::acceptNavigationRequest not being called / linkClicked() not being emitted when clicking on <a href="..." target="_blank"> kind of links.
-
- Call QWebPage::acceptNavigationRequest when the creation of a new window with
- URL is requested. The frame pointer is set to null in this case.
-
-
- * Api/qwebpage.cpp:
- (QWebPage::setViewportSize):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::startDownload):
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2008-04-29 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon.
-
- Use the WebCore facility to do the scrolling. Move some code around.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::keyPressEvent):
- (QWebPagePrivate::shortcutOverrideEvent):
- (QWebPagePrivate::handleScrolling):
- * Api/qwebpage_p.h:
-
-2008-04-29 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon.
-
- fix potential crash when loading image(s)
-
- Crash may occur. If compiled with 4.3, the variable is not initialized.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2008-04-29 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon.
-
- Calling QWebView::setCursor will override the WebCore Cursor.
- Calling QWebView::setCursor will override the WebCore Cursor using
- QWidget::unsetCursor will revert to the WebCore Cursor.
-
- For detecting the unset we have to compare the shape of the
- cursor to the default arrow. Qt::WA_SetCursor can not be used
- as it is set unconditionally but conditionally removed.
-
- Calling QWidget::setCursor will immediately send the CursorChange
- event. We listen to this event to decide if we currently use a
- WebCore cursor, got a cursor from outside, or revert to the default.
-
- This should be race free and work reliable, the manual test for this
- is WebCore/manual-tests/cursor.html
-
- * Api/qwebpage.cpp:
- (SetCursorEvent::SetCursorEvent):
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebViewPrivate::QWebViewPrivate):
- (QWebViewPrivate::setCursor):
- (QWebView::QWebView):
- (QWebView::event):
-
-2008-04-29 Kavindra Devi Palaraja <kdpalara@trolltech.com>
-
- Reviewed by Simon.
-
- Documentation fixes:
-
- - Fixed a qdoc warning
- - Mention that fav icons can be of arbitrary size
- - Fix signature of QWebPage::acceptNavigationRequest show in the documentation
-
- * Api/qwebframe.cpp:
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * Api/qwebsettings.cpp:
- * Api/qwebview.cpp:
-
-2008-04-28 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Fix QWebView::loadFinished isn't always emitted
-
- Replaced loadDone() with loadFinished(bool) and moved the signals for progress
- tracking (start, progres, and finish) to the page instead of the frame. This
- ensures that we emit loadFinished even when a subframe started the actual load.
-
- This causes a few regressions in the layout tests that we for now accept for
- the sake of the correct API. Layout tests we can fix any time though, including
- patch release, the API however we can't change anymore in patch releases.
-
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * Api/qwebpage.cpp:
- (QWebPage::totalBytes):
- * Api/qwebpage.h:
- * Api/qwebview.cpp:
- (QWebView::setPage):
- * Api/qwebview.h:
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (drtDescriptionSuitableForTestResult):
- (WebCore::FrameLoaderClientQt::FrameLoaderClientQt):
- (WebCore::FrameLoaderClientQt::setFrame):
- (WebCore::FrameLoaderClientQt::transitionToCommittedFromCachedPage):
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
- (WebCore::FrameLoaderClientQt::willChangeTitle):
- (WebCore::FrameLoaderClientQt::createDocumentLoader):
- (WebCore::FrameLoaderClientQt::download):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2008-04-28 Kavindra Devi Palaraja <kdpalara@trolltech.com>
-
- Reviewed by Simon.
-
- Added more documentation for QWebSettings, QWebPluginFactory and QWebFrame
-
- * Api/qwebframe.cpp:
- * Api/qwebpluginfactory.cpp:
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
- (QWebSettings::setUserStyleSheetUrl):
- (QWebSettings::iconForUrl):
- (QWebSettings::webGraphic):
- (QWebSettings::maximumPagesInCache):
- (QWebSettings::setFontFamily):
- (QWebSettings::resetFontFamily):
- (QWebSettings::testAttribute):
- (QWebSettings::resetAttribute):
-
-2008-04-28 Ariya Hidayat <ahidayat@trolltech.com>
-
- Reviewed by Simon.
-
- Fix document/frame title not reset when loading a new URI
-
- We should assume first the frame has no title. If it has, then the dispatchDidReceiveTitle()
- will be called very soon with the correct title.
- This properly resets the title when we navigate to a URI without a title.
-
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2008-04-28 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon.
-
- Minor documentation changes.
-
- * Api/qwebview.cpp:
-
-2008-04-28 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Prevent middle-click from triggering open URL from clipboard when the event has already been accepted.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mouseMoveEvent):
- (QWebPagePrivate::mousePressEvent):
- (QWebPagePrivate::mouseDoubleClickEvent):
- (QWebPagePrivate::mouseTripleClickEvent):
- (QWebPagePrivate::mouseReleaseEvent):
-
-2008-04-28 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Fix scrollbar behavior in QtWebKit to match QScrollBar.
-
- Right click context menu is now supported, along with
- middle click to center slider thumb over mouse cursor.
-
-
- * Api/qwebpage.cpp:
- (QWebPage::linkDelegationPolicy):
-
-2008-04-28 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Implemented channel-based logging for QtWebKit.
-
- Comma-separated log channels are read from the QT_WEBKIT_LOG environment variable.
- Warnings for notImplemented() is still output by default, but can be disabled
- by setting DISABLE_NI_WARNINGS=1.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2008-04-28 Simon Hausmann <shausman@trolltech.com>
-
- Rubber-stamped by Lars
-
- Removed setHtml(const QByteArray &) overload as it breaks the common use of the setHtml() API.
-
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * Api/qwebview.cpp:
- * Api/qwebview.h:
-
-2008-04-28 Kavindra Devi Palaraja <kdpalara@trolltech.com>
-
- Reviewed by Simon.
-
- Doc - adding more documentation to QWebFrame, QWebPage and QWebView
-
-
- * Api/qwebframe.cpp:
- * Api/qwebpage.cpp:
- * Api/qwebview.cpp:
- (QWebView::stop):
- (QWebView::back):
- (QWebView::changeEvent):
-
-2008-04-28 Simon Hausmann <shausman@trolltech.com>
-
- Reviewed by Holger.
-
- Fixes: Popups/Context menu in WebKit appearing at the wrong location when embedded in the graphics view or using multiple screens
-
- Give the popups the right parent widget and the right coordinates relative within the parent.
-
-
- * Api/qwebpage.cpp:
-
-2008-04-28 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Doc: Add see also's (and a few minor whitespace/typo corrections)
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::~QWebFrame):
- (QWebFrame::setHtml):
- (QWebFrame::setContent):
- (QWebFrame::parentFrame):
- (QWebFrame::childFrames):
- (QWebFrame::setScrollBarValue):
- (QWebFrame::scrollBarValue):
- (QWebFrame::scrollBarMaximum):
- (QWebFrame::scrollBarMinimum):
- (QWebFrame::render):
- (QWebFrame::pos):
- (QWebFrame::geometry):
- (QWebFrame::print):
- (QWebFrame::evaluateJavaScript):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mousePressEvent):
- (QWebPagePrivate::mouseDoubleClickEvent):
- (QWebPage::~QWebPage):
- (QWebPage::javaScriptPrompt):
- (openNewWindow):
- (QWebPage::setViewportSize):
- (QWebPage::acceptNavigationRequest):
- (QWebPage::action):
- (QWebPage::userAgentForUrl):
- (QWebPagePrivate::_q_onLoadProgressChanged):
- * Api/qwebview.cpp:
- (QWebView::event):
-
-2008-04-28 Kavindra Devi Palaraja <kdpalara@trolltech.com>
-
- Reviewed by Simon.
-
- Submitting more documentation for QWebPage
-
-
- * Api/qwebpage.cpp:
-
-2008-04-28 Lincoln Ramsay <lincoln.ramsay@trolltech.com>
-
- Reviewed by Simon.
-
- Compile when QT_NO_CLIPBOARD is defined.
-
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
-
-2008-04-28 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon.
-
- Minor documentation fix.
-
-
- * Api/qwebhistory.cpp:
-
-2008-04-28 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon.
-
- Implement QWebPage::createPlugin
-
- The code is coming from the demo browser and needed here
- for some manual tests.
-
-
- * QtLauncher/QtLauncher.pro:
- * QtLauncher/main.cpp:
- (WebPage::createPlugin):
-
-2008-04-28 Simon Hausmann <hausmann@webkit.org>
-
- Qt/Win build fix. Include config.h to get the implicit MathExtras.h
- inclusion correct with regards to rand_s.
-
- * Api/qwebhistory.cpp:
-
-2008-04-28 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- https://bugs.webkit.org/show_bug.cgi?id=18713
-
- Fix scrollbar painting issues in QtWebKit.
-
- Hovering and click-draging outside of the scrollbar would
- produce unexpected and inconcistent results. We also didn't
- pass on leave-events to the underlying WebKit code, which
- was nessecary to implement the paint fix.
-
- Note: The event handling of the Leave event should be moved
- out of QWebView::event() and into a proper override for 4.5.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::leaveEvent):
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebView::event):
-
-2008-04-25 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon, Holger.
-
- Fixed focus handling when a node is focused while the corresponding QWebPage does not have the focus.
-
- * Correctly de- and reactivate the focused frame in focusOut/focusInEvent
- without telling the focus controller. We don't want to change the focused frame
- - the controller has to remember it in fact - but instead just deactivate the
- frame for correct painting as RenderTheme::isFocused() uses the activation
- state of the frame.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::focusInEvent):
- (QWebPagePrivate::focusOutEvent):
-
-2008-04-25 Kavindra Devi Palaraja <kdpalara@trolltech.com>
-
- Reviewed by Simon.
-
- completed documentation for the Detailed Description section for QWebView
-
-
- * Api/qwebview.cpp:
-
-2008-04-25 Denis Dzyubenko <denis.dzyubenko@trolltech.com>
-
- Reviewed by Simon.
-
- Fixed the way QWebHistory works - when you call back(), forward() or goToItem() functions it changes the current item in history *and* loads the corresponding page.
-
-
- * Api/qwebhistory.cpp:
- (QWebHistory::back):
- (QWebHistory::forward):
- (QWebHistory::goToItem):
-
-2008-04-25 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Fix resubmit of HTML forms when initially denied by QWebPage::acceptNavigationRequest().
-
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2008-04-25 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- When pressing backspace in a line edit in a webpage we should not go back to the previous page.
-
- The shortcut for back on Windows is backspace. Implemented shortcut override
- handling in QWebView/QWebPage to prevent this.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::wheelEvent):
- (editorActionForKeyEvent):
- (QWebPagePrivate::keyPressEvent):
- (QWebPagePrivate::inputMethodEvent):
- (QWebPagePrivate::shortcutOverrideEvent):
- (QWebPage::event):
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebView::event):
-
-2008-04-25 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon.
-
- Fix triple-clicking does not work in a web page
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateEditorActions):
- (QWebPagePrivate::timerEvent):
- (QWebPagePrivate::mousePressEvent):
- (QWebPagePrivate::mouseDoubleClickEvent):
- (QWebPage::undoStack):
- * Api/qwebpage_p.h:
-
-2008-04-25 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- When pressing Ctrl-Up the keyboard modifiers could include other modifiers
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::keyPressEvent):
-
-2008-04-25 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Fix handling of Javascript's confirm() function in QtWebKit.
-
-
- * Api/qwebpage.cpp:
-
-2008-04-25 Kavindra Devi Palaraja <kdpalara@trolltech.com>
-
- Reviewed by Simon.
-
- Doc - added a screenshot, flowchart, and a snippet to the QWebView documentation to improve clarity
-
-
- * Api/qwebview.cpp:
-
-2008-04-25 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- QWebPage: missing signal when window.print() is requested from javascript
-
-
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * WebCoreSupport/ChromeClientQt.cpp:
-
-2008-04-25 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: "Save Image" action wasn't doing anything.
-
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
-
-2008-04-25 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Apply key event changes to the current frame, not the main frame.
-
- Example: hitting space bar should scroll current frame, not the main frame
- which doesn't even have a scrollbar.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::keyPressEvent):
-
-2008-04-25 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: QWebFrame crash when fetching the icon
-
- Just call QWebSettings::iconForUrl to not duplicate code and obey the mutex lock.
-
- * Api/qwebframe.cpp:
-
-2008-04-25 Warwick Allison <warwick@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: Scrollbars did not report correct maximum.
-
- * Api/qwebframe.cpp:
-
-2008-04-25 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon.
-
- Documentation updates for some of the QWeb classes
-
- * Api/qwebframe.cpp:
- * Api/qwebhistory.cpp:
- * Api/qwebsettings.cpp:
- * Api/qwebview.cpp:
-
-2008-04-25 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon.
-
- Implement dumping of resource load callbacks to pass http/tests/xmlhttprequest/abort-should-cancel-load.html
-
- Similar to Editing and Frameloading we do the dumping within WebCore
-
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (qt_dump_frame_loader):
- (qt_dump_resource_load_callbacks):
- (drtDescriptionSuitableForTestResult):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoading):
- (WebCore::FrameLoaderClientQt::dispatchDidLoadResourceFromMemoryCache):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType):
-
-2008-04-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam.
-
- Change some String arguments to be const references instead.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::shouldInsertText):
- * WebCoreSupport/EditorClientQt.h:
-
-2008-04-24 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon.
-
- Cosmetic changes to make the code more readable.
- -Early exit if we don't have a webview
- -handle the empty tooltip and non-empty tooltip case separately
-
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::setToolTip):
- (WebCore::ChromeClientQt::print):
-
-2008-04-24 Paul Olav Tvete <paul@trolltech.com>
-
- Reviewed by Simon.
-
- Automatically wrap tooltip text and hide a shown tooltip when it is empty.
-
- QWidget::setTooltip("") will still show the old tooltip for up to 10 seconds.
- Workaround as discussed with Matthias.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::setToolTip):
-
-2008-04-24 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon.
-
- Allow to disable caching completeley by calling setObjectCacheCapacities(0, 0, 0)
-
- * Api/qwebsettings.cpp:
- (QWebSettings::setObjectCacheCapacities):
-
-2008-04-24 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Improve keyboard scrolling
-
- Match Down/Up keys scroll distance with Safari (i.e. faster) and add Home and End shortcuts to scroll to the top/botom.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::keyPressEvent):
-
-2008-04-24 Olivier Goffart <ogoffart@trolltech.com>
-
- Reviewed by Simon.
-
- Fix various compiler warnings in the Qt port.
-
- * Api/qwebframe.cpp:
- (QWebFrame::print):
- * Api/qwebsettings.cpp:
- (graphics):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2008-04-24 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Cleaned up copyright headers (removed misplaced class descriptions and
- fixed inconsistent whitespace and indentation).
-
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- * Api/qwebhistory.cpp:
- * Api/qwebhistory.h:
- * Api/qwebhistory_p.h:
- * Api/qwebhistoryinterface.cpp:
- * Api/qwebhistoryinterface.h:
- * Api/qwebkitglobal.h:
- * Api/qwebnetworkinterface.cpp:
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebpluginfactory.cpp:
- * Api/qwebpluginfactory.h:
- * Api/qwebsettings.cpp:
- * Api/qwebsettings.h:
- * Api/qwebview.h:
- * QtLauncher/main.cpp:
-
-2008-04-24 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Added basic URL guessing to QtLauncher (same as in the demo browser).
-
-
- * QtLauncher/main.cpp:
- (MainWindow::changeLocation):
- (MainWindow::guessUrlFromString):
-
-2008-04-24 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon Hausmann <hausmann@webkit.org>.
-
- Prevent double deletions of the default web interface.
-
-
- * Api/qwebhistoryinterface.cpp:
- (gCleanupInterface):
- (QWebHistoryInterface::QWebHistoryInterface):
-
-2008-04-23 Simon Hausmann <hausmann@webkit.org>
-
- Fix compilation against Qt 4.3
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
- * QtLauncher/main.cpp:
- (main):
-
-2008-04-23 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon.
-
- * Make sure the "Inspect Element" item gets added to the ContextMenu, a call
- to ContextMenu::populate() is not adding it, the ContextMenuController does
- add it after the call to populate(). Do that as well.
-
-
- * Api/qwebpage.cpp:
- (QWebPage::updatePositionDependentActions):
-
-2008-04-23 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Fix crashes on window.close().
-
- We should not delete the QWebPage object in the ChromeClient but leave it up to
- the application when and whether to delete a browser window. For this we now
- emit the windowCloseRequested() signal.
-
- Done with Tor Arne.
-
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- * WebCoreSupport/ChromeClientQt.cpp:
-
-2008-04-23 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Fix parsing of external scripts/stylesheets when using setHtml(const QString &html).
-
- We used to pass the html string to the frameloader in utf-16, which also meant that the default
- encoding of external scripts/stylesheets became utf-16. That doesn't make sense, so assume utf-8
- by default. This is now also documented.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setHtml):
- * Api/qwebview.cpp:
-
-2008-04-23 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes background color propagation when using a custom QWebPage
-
- Set the palette in setPage(), not during the creation on-demand.
-
-
- * Api/qwebview.cpp:
- (QWebView::page):
- (QWebView::setPage):
-
-2008-04-23 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Fix the user agent on the mac to be BSD4
-
- Put Q_OS_DARWIN before Q_OS_BSD4 sense they are both defined on the mac
-
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
-
-2008-04-23 Simon Hausmann <shausman@trolltech.com>
-
- Reviewed by Holger.
-
- Added missing copyright notice.
- Small fixes to the documentation.
-
- * Api/qwebpluginfactory.cpp:
-
-2008-04-23 Zack Rusin <zack@tungstengraphics.com>
-
- Reviewed by Simon.
-
- Added a contentsSize() property.
-
- * Api/qwebframe.cpp:
- (QWebFrame::contentsSize):
- (QWebFrame::hitTestContent):
- * Api/qwebframe.h:
-
-2008-04-22 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: QWebPage's QNetworkManager's can be shared among webpages.
-
- Don't force the deletion of the object, but let QObject take care of it.
-
- * Api/qwebpage.cpp:
-
-2008-04-22 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Documentation for QWebPluginFactory and documentation updates for QWebPage.
-
- * Api/qwebpage.cpp:
- (QWebPage::setLinkDelegationPolicy):
- (QWebPage::linkDelegationPolicy):
- (QWebPage::swallowContextMenuEvent):
- (QWebPage::updatePositionDependentActions):
- (QWebPage::extension):
- (QWebPage::networkAccessManager):
- * Api/qwebpluginfactory.cpp:
- (QWebPluginFactory::QWebPluginFactory):
- (QWebPluginFactory::~QWebPluginFactory):
- (QWebPluginFactory::refreshPlugins):
-
-2008-04-22 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Added QWebPage::swallowContextMenuEvent and QWebPage::updatePositionDependentActions.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::mouseReleaseEvent):
- (QWebPage::setLinkDelegationPolicy):
- (QWebPage::linkDelegationPolicy):
- (QWebPage::swallowContextMenuEvent):
- (QWebPage::updatePositionDependentActions):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebView::event):
-
-2008-04-22 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Added Extension APIs for QWebPage.
-
- * Api/qwebpage.cpp:
- (QWebPage::setLinkDelegationPolicy):
- (QWebPage::linkDelegationPolicy):
- (QWebPage::extension):
- * Api/qwebpage.h:
- * Api/qwebpluginfactory.cpp:
- (QWebPluginFactory::extension):
-
-2008-04-22 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Emit loadProgress() signal on loadStarted().
-
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::postProgressEstimateChangedNotification):
-
-2008-04-22 Zack Rusin <zack@kde.org>
-
- Reviewed by Simon.
-
- Fix background propagation from the QWebView's palette.
-
- The background brush of the palette needs to be propagated to the WebCore::FrameView.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::updateBackground):
- * Api/qwebframe_p.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dropEvent):
- (QWebPage::setPalette):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebView::page):
- (QWebView::changeEvent):
- * Api/qwebview.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2008-04-22 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Fix maps.google.com
-
- We have to include a version in the Safari tag in the user-agent.
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentForUrl):
-
-2008-04-22 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Add visual focusing hint for clear button and
- change focus to web page after user enters new URL.
-
- * QtLauncher/main.cpp:
- (ClearButton::paintEvent):
- (MainWindow::changeLocation):
-
-2008-04-22 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Added QWebFrame::hitTestContent() and QWebHitTestResult.
-
- * Api/qwebframe.cpp:
- (QWebFrame::hitTestContent):
- (QWebFrame::event):
- (QWebHitTestResult::QWebHitTestResult):
- (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
- (QWebHitTestResult::operator=):
- (QWebHitTestResult::~QWebHitTestResult):
- (QWebHitTestResult::isNull):
- (QWebHitTestResult::pos):
- (QWebHitTestResult::title):
- (QWebHitTestResult::linkText):
- (QWebHitTestResult::linkUrl):
- (QWebHitTestResult::linkTitle):
- (QWebHitTestResult::linkTargetFrame):
- (QWebHitTestResult::alternateText):
- (QWebHitTestResult::imageUrl):
- (QWebHitTestResult::pixmap):
- (QWebHitTestResult::isContentEditable):
- (QWebHitTestResult::isContentSelected):
- (QWebHitTestResult::frame):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- (QWebHitTestResultPrivate::QWebHitTestResultPrivate):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::contextMenuEvent):
- (QWebPage::triggerAction):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
-
-2008-04-22 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Don't crash if an input method query is done without a page.
-
-
- * Api/qwebview.cpp:
- (QWebView::inputMethodQuery):
-
-2008-04-22 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Added re-implementations of QObject::event for future safety.
-
- This makes it easier to fix bugs with the event handling even in patch releases
- and is a general style we follow in Qt.
-
-
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * Api/qwebview.cpp:
- (QWebView::event):
- * Api/qwebview.h:
-
-2008-04-22 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Fix construction of the user agent.
-
- The user-agent is now composed of
- * the platform and subplatform
- * the Qt version or application name and version (if set)
- * the locale
- * the SSL settings
-
-
- * Api/qwebpage.cpp:
- (QWebPage::networkAccessManager):
- (QWebPage::setPluginFactory):
- (QWebPage::pluginFactory):
- (QWebPage::userAgentForUrl):
- * QtLauncher/main.cpp:
-
-2008-04-22 Thiago Macieira <tjmaciei@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: Pedantic compilation fix
-
- Don't put semi-colons after braces closing namespaces.
-
- * Api/qwebsettings.h:
-
-2008-04-21 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Changed the return type of QWebFrame::evaluateJavaScript from a QString to a QVariant.
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
- * Api/qwebframe.h:
-
-2008-04-21 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Fixes redundant "Fonts" submenu in default lineedits that has only disabled items.
-
- Don't show sub-menus that have only actions that are disabled.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createContextMenu):
-
-2008-04-21 Kavindra Devi Palaraja <kdpalara@trolltech.com>.
-
- Reviewed by Simon.
-
- Lots of documentation fixes, fixed all qdoc warnings.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setTextSizeMultiplier):
- * Api/qwebhistoryinterface.cpp:
- (gCleanupInterface):
- (QWebHistoryInterface::QWebHistoryInterface):
- (QWebHistoryInterface::~QWebHistoryInterface):
- * Api/qwebpage.cpp:
- (QWebPage::inputMethodQuery):
- (QWebPage::view):
- (QWebPage::javaScriptConsoleMessage):
- (QWebPage::javaScriptAlert):
- (QWebPage::javaScriptConfirm):
- (QWebPage::javaScriptPrompt):
- (QWebPage::viewportSize):
- (QWebPage::acceptNavigationRequest):
- (QWebPage::action):
- (QWebPage::event):
- (QWebPage::focusNextPrevChild):
- (QWebPage::setForwardUnsupportedContent):
- (QWebPage::setLinkDelegationPolicy):
- (QWebPage::findText):
- (QWebPage::settings):
- (QWebPage::networkProxy):
- (QWebPage::setNetworkAccessManager):
- * Api/qwebpage.h:
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
- (QWebSettings::setIconDatabasePath):
- (QWebSettings::iconForUrl):
- (QWebSettings::fontFamily):
- * Api/qwebview.cpp:
- (QWebView::load):
- * Api/qwebview.h:
-
-2008-04-21 Marius Bugge Monsen <mmonsen@trolltech.com>
-
- Reviewed by Simon.
-
- Fix compile failure on solaris-cc
-
- * Api/qwebpage.h: Removed trailing semicolons and moved the private
- d-pointer to not confuse the compiler
-
-2008-04-21 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- Build fix for Qt 4.3
-
- * When building WebCore/internal make sure the QT_[BEGIN,END]_NAMESPACE is
- always defined. Do this by adding defines to the compiler line
- * For users of our API this is not feasible. Every public header file should
- include qwebkitglobal.h. Define the QT_BEGIN_NAMESPACE and QT_END_NAMESPACE
- when we are building everything < 4.4.0 and don't have them defined.
-
- * Api/qwebkitglobal.h:
-
-2008-04-21 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Initialize the WebGraphics with the one found in WebCore
-
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
-
-2008-04-21 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Allow TextAreas to be resized.
- * No QWebSettings for this is introduced.
-
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
-
-2008-04-21 Simon Hausmann <shausman@trolltech.com>
-
- Reviewed by Holger.
-
- Fixes: QWebView::url property behaviour strange in designer
-
- Added QWebView/QWebFrame::setUrl, which unlike load() clears the view immediately, schedules a load of the url but also makes sure url() returns the set url. This setter is now also used for the url property.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setUrl):
- * Api/qwebframe.h:
- * Api/qwebview.cpp:
- (QWebView::setUrl):
- * Api/qwebview.h:
-
-2008-04-21 Andre Poenitz <andre.poenitz@trolltech.com>
-
- Reviewed by Simon Hausmann <hausmann@webkit.org>.
-
- Fix compilation with Qt namespaces
-
- * Api/qwebframe.cpp:
- (QWebFrame::print):
- * Api/qwebview.h:
-
-2008-04-21 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- When printing on high resolution printers we need to scale the painter accordingly (for now).
-
- * Api/qwebframe.cpp:
- (QWebFrame::print):
-
-2008-04-21 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Provide a print preview in the QtLauncher
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- (MainWindow::showLinkHover):
- (MainWindow::print):
-
-2008-04-20 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Alp Toker.
-
- Share the printing code between the Gtk and the Qt port
- and added printing to the Qt WebKit API.
-
- * Api/qwebframe.cpp:
- (QWebFrame::print):
- * Api/qwebframe.h:
- * Api/qwebview.cpp:
- (QWebView::print):
- * Api/qwebview.h:
-
-2008-04-19 Julien Chaffraix <jchaffraix@webkit.org>
-
- Qt build fix (renderer() -> contentRenderer()).
-
- * Api/qwebframe.cpp:
- (QWebFrame::renderTreeDump):
- (QWebFrame::render):
-
-2008-04-18 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Many API changes and additions after a full review with Jasmin Blanchette <jasmin@trolltech.com>
-
- The diff is too big to mention the changes individually, but most of the changes were of cosmetic
- nature where methods or enums have been renamed or prefixed/suffixed according to the consistency
- rules of the Qt API.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJavaScriptWindowObject):
- (QWebFrame::toHtml):
- (QWebFrame::toPlainText):
- (QWebFrame::icon):
- (QWebFrame::setContent):
- (QWebFrame::setScrollBarPolicy):
- (QWebFrame::render):
- (QWebFrame::setTextSizeMultiplier):
- (QWebFrame::textSizeMultiplier):
- (QWebFrame::pos):
- * Api/qwebframe.h:
- * Api/qwebhistory.cpp:
- * Api/qwebhistory.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::~QWebPagePrivate):
- (QWebPagePrivate::acceptNavigationRequest):
- (webActionForContextMenuAction):
- (QWebPagePrivate::updateAction):
- (QWebPagePrivate::keyPressEvent):
- (QWebPage::view):
- (QWebPage::javaScriptPrompt):
- (QWebPage::createWindow):
- (QWebPage::triggerAction):
- (QWebPage::setViewportSize):
- (QWebPage::acceptNavigationRequest):
- (QWebPage::action):
- (QWebPage::focusNextPrevChild):
- (QWebPage::setForwardUnsupportedContent):
- (QWebPage::forwardUnsupportedContent):
- (QWebPage::setLinkDelegationPolicy):
- (QWebPage::findText):
- (QWebPage::networkAccessManager):
- (QWebPageContext::imageUrl):
- (QWebPageContext::image):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- (QWebSettings::setIconDatabasePath):
- (QWebSettings::iconDatabasePath):
- (QWebSettings::clearIconDatabase):
- (QWebSettings::iconForUrl):
- (QWebSettings::setWebGraphic):
- (QWebSettings::fontFamily):
- (QWebSettings::setAttribute):
- (QWebSettings::testAttribute):
- (QWebSettings::resetAttribute):
- * Api/qwebsettings.h:
- * Api/qwebview.cpp:
- (QWebView::setPage):
- (QWebView::icon):
- (QWebView::setTextSizeMultiplier):
- (QWebView::textSizeMultiplier):
- (QWebView::findText):
- (QWebView::reload):
- (QWebView::mouseMoveEvent):
- * Api/qwebview.h:
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- (main):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::ChromeClientQt):
- (WebCore::ChromeClientQt::setWindowRect):
- (WebCore::ChromeClientQt::toolbarsVisible):
- (WebCore::ChromeClientQt::setStatusbarVisible):
- (WebCore::ChromeClientQt::statusbarVisible):
- (WebCore::ChromeClientQt::setScrollbarsVisible):
- (WebCore::ChromeClientQt::setResizable):
- (WebCore::ChromeClientQt::scrollBackingStore):
- (WebCore::ChromeClientQt::mouseDidMoveOverElement):
- (WebCore::ChromeClientQt::setToolTip):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::setFrame):
- (WebCore::FrameLoaderClientQt::didPerformFirstNavigation):
- (WebCore::FrameLoaderClientQt::setMainDocumentError):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoading):
- (WebCore::FrameLoaderClientQt::createFrame):
- (WebCore::FrameLoaderClientQt::objectContentType):
- * WebCoreSupport/FrameLoaderClientQt.h:
- * WebCoreSupport/InspectorClientQt.cpp:
-
-2008-04-18 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Added QWebView::find/QWebFrame::find.
-
- * Api/qwebpage.cpp:
- (QWebPage::focusNextPrevChild):
- (QWebPage::find):
- * Api/qwebpage.h:
- * Api/qwebview.cpp:
- (QWebView::find):
- * Api/qwebview.h:
-
-2008-04-15 Ariya Hidayat <ariya.hidayat@trolltech.com>
-
- Reviewed by Simon.
-
- fix potential crash when loading image(s)
-
- Crash may occur. If compiled with 4.3, the variable is not initialized.
- This fix solves https://bugs.webkit.org/show_bug.cgi?id=17174
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
-
-2008-04-15 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Update the micro focus for input methods as soon as the composition mode changes
- or the caret/selection changes.
-
-
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * Api/qwebview.cpp:
- (QWebView::setPage):
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::respondToChangedSelection):
- (WebCore::EditorClientQt::setInputMethodState):
-
-2008-04-15 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Don't use QDir, QString or any locale sensitive function before constructing Q(Core)Application,
- it yields undefined behaviour or wrong default codec initialization.
-
-
- * QtLauncher/main.cpp:
- (WebPage::createWindow):
-
-2008-04-15 Olivier Goffart <ogoffart@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: copy to clipboard when selecting, and paste when clicking with the middle button
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mouseReleaseEvent): If the clipboard supports
- selections then we support copy & paste into the selection.
-
-2008-04-15 Michael Brasser <michael.brasser@trolltech.com>
-
- Reviewed by Simon.
-
- Add basic input method support.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dropEvent):
- (QWebPagePrivate::inputMethodEvent):
- (QWebPage::inputMethodQuery):
- (QWebPage::event):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebView::QWebView):
- (QWebView::inputMethodQuery):
- (QWebView::inputMethodEvent):
- * Api/qwebview.h:
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState):
-
-2008-04-15 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Added (QWebFrame|QWebView)::textZoomFactor.
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::setTextZoomFactor):
- (QWebFrame::textZoomFactor):
- * Api/qwebframe.h:
- * Api/qwebview.cpp:
- (QWebView::setTextZoomFactor):
- (QWebView::textZoomFactor):
- * Api/qwebview.h:
-
-2008-04-15 Michael Brasser <michael.brasser@trolltech.com>
-
- Reviewed by Simon.
-
- Added simple scrolling API to QWebFrame.
-
- The intent is that it works similar to QAbstractScrollArea.
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::setScrollBarValue):
- (QWebFrame::scrollBarValue):
- (QWebFrame::scrollBarMaximum):
- (QWebFrame::scrollBarMinimum):
- * Api/qwebframe.h:
-
-2008-04-15 Olivier Goffart <ogoffart@trolltech.com>
-
- Reviewed by Holger.
-
- Fixes: implement the OpenFrameInNewWindow action.
-
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
-
-2008-04-15 Andre Poenitz <andre.poenitz@trolltech.com>
-
- Reviewed by Simon.
-
- Fix compilation with Qt namespaces
-
- Qt can be configured to have all of its classes inside a specified namespaces.
- This is for example used in plugin/component environments like Eclipse.
-
- This change makes it possible to let the Qt port compile against a namespaced
- Qt by the use of macros Qt provides to properly forward declare Qt classes in
- the namespace.
-
- * Api/qwebframe.h:
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebpluginfactory.h:
- * Api/qwebsettings.h:
- * Api/qwebview.h:
-
-2008-04-05 Olivier Goffart <ogoffart@trolltech.com>
-
- Reviewed by Holger.
-
- Fixes: Right clicking an image and choosing "copy image" doesnt put anything in the clipboard.
-
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
-
-2008-04-05 Olivier Goffart <ogoffart@trolltech.com>
-
- Reviewed by Simon.
-
- Fixes: Right click, and "Open image" open the link instead of the image.
-
-
- * Api/qwebpage.cpp:
-
-2008-04-05 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Added doc stub for QWebSettings so class docs are generated
-
-
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
-
-2008-04-05 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Propose the addition of updateRequest and scrollRequest to the QWebPage.
-
- * The question is if these signals belong to QWebPage or QWebFrame.
- -It is more easy to have them in QWebPage because ScrollView is invoking
- the ChromeClient with the right coordinates
- -On the other hand someone wants to render frames separately. But this is partly
- doomed as you can have overlapping frames and what you paint would not relate to
- what you normally see on webpages.
-
-
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::scrollBackingStore):
- (WebCore::ChromeClientQt::mouseDidMoveOverElement):
-
-2008-04-03 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Roll out r31599 and r31605 again after discussion with Mark Rowe.
-
- * Api/qwebframe.cpp:
- (QWebFrame::icon):
- * Api/qwebsettings.cpp:
- (QWebSettings::iconForUrl):
-
-2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Change IconDatabase::iconForPageURL to return more information. E.g. if
- an image has been found, or if the loading of an image has been scheduled.
- * Update FrameLoader to use another method to trigger reading from disk
- * Update the QWebFrame and QWebSettings
-
- * Api/qwebframe.cpp:
- (QWebFrame::icon):
- * Api/qwebsettings.cpp:
- (QWebSettings::iconForUrl):
-
-2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Safari is using the IconDatabase the following way (assumption). Before they
- call iconDatabase()->open they "retain" all URLs they are interested in, these
- could come from the history.
- * When opening the iconDatabase() a thread will be started that is going to import
- the URLs, all none manually retained URLs are scheduled for removal. The removal
- is going to happen when the next icon gets stored in the database.
- * We do not have any IconDatabase code, we can not retain the URLs before opening the
- database. To disable the automatic pruning of the icons we will ask the IconDatabase
- to delay this operation. This means our IconDatabase, when used, will grow, so we should
- try to have a IconDatabase class in 4.4.
- * The only way to counter the growth is a call to QWebSettings::clearIconDatabase
-
-
- * Api/qwebsettings.cpp:
- (QWebSettings::clearIconDatabase):
- * Api/qwebsettings.h:
-
-2008-04-03 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Add a way to get the site icon for a url
- static QPixmap iconForUrl(const QUrl &url);
-
-
- * Api/qwebsettings.cpp:
- (QWebSettings::iconForUrl):
- * Api/qwebsettings.h:
-
-2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Update the Copyright info in QWebSettings
-
-
- * Api/qwebsettings.cpp:
- * Api/qwebsettings.h:
-
-2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * The isEmpty check is not needed anymore with the earlier backport
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::icon):
-
-2008-04-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * For the http tests we need the output of the FrameLoaderClient. The QtWebKit API
- is not exporting enough to create the output in DRT itself. Settle with the approach
- Lars has taken for the Editing support and add branches to our FrameLoaderClient code.
- * run-webkit-tests http/tests(/loading) can now be executed.
- * For tests in loading/ directories we are going to throw away the dirty
- QWebPage to start with something clean.
-
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (qt_dump_frame_loader):
- (drtDescriptionSuitableForTestResult):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidCancelClientRedirect):
- (WebCore::FrameLoaderClientQt::dispatchWillPerformClientRedirect):
- (WebCore::FrameLoaderClientQt::dispatchDidChangeLocationWithinPage):
- (WebCore::FrameLoaderClientQt::dispatchWillClose):
- (WebCore::FrameLoaderClientQt::dispatchDidStartProvisionalLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveTitle):
- (WebCore::FrameLoaderClientQt::dispatchDidCommitLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishDocumentLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientQt::registerForIconNotification):
- (WebCore::FrameLoaderClientQt::setMainDocumentError):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
-
-2008-04-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Export the PageCache and Cache capacity call one to one. This is only there
- to allow the QtLauncher to play with caching.
- * TODO: make API decisions and consider following the windows Api to set a WebCacheModel
- and determine certain values automatically.
-
-
- * Api/qwebsettings.cpp:
- (QWebSettings::setPageCacheCapacity):
- (QWebSettings::setObjectCacheCapacities):
- * Api/qwebsettings.h:
- * QtLauncher/main.cpp:
-
-2008-04-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- Prepapre everything for enabling the PageCache for the Qt Platform:
- * Claim that we can cache pages
- * Create the FrameView FrameLoaderClientQt::transitionToCommittedForNewPage using
- the initial size of the viewport and stop creating it in the QWebFramePrivate::init
-
- Differences to the Windows port:
- * attachToWindow/detachFromWindow is not called and is not (yet) part
- of Widget/ScrollView of the Qt platform. We might need that for plugin
- support in the future.
- * We store the margin's and scrolling flag inside QWebFrame and use it when
- creating the FrameView.
-
- What is missing:
- * API to call pageCache()->setCapacity(XYZ);
-
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createMainFrame):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
- (WebCore::FrameLoaderClientQt::blockedError):
-
-2008-04-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * For the PageCache support we do not want to create a FrameView in the constructor
- of QWebFrame. In QWegPage::viewportSize() we currently call mainFrame() and that will
- create a QWebFrame if no mainFrame is present and this gets called when we try to
- create a FrameView...
- * Keep a copy of the initial viewportSize around and use it if we do not have a Frame
- or FrameView.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPage::triggerAction):
- * Api/qwebpage_p.h:
-
-2008-04-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Always return true in FrameLoaderClientQt::shouldGoToHistoryItem, like the windows port
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::):
-
-2008-04-02 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Attempt to make the m_webFrame null pointer checking consistent. Always check for
- m_webFrame. It should get set by the QWebFrame with the FramerLoaderClientQt::setFrame
- call and should stay valid until the destruction of the QWebFrame.
- * Currently the same checking is not needed for m_frame as it will only set to 0 in
- FrameLoaderClientQt::frameLoaderDestroyed and should be not 0 because of the setFrame
- initialisation.
-
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveTitle):
- (WebCore::FrameLoaderClientQt::setMainDocumentError):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveContentLength):
- (WebCore::FrameLoaderClientQt::objectContentType):
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Get the RefCounting of WebCore::Frame right and make sure that both QWebFrame
- and WebCore::Frame get destroyed if we leave site with subframes and on the
- end of the application.
- * Use adoptRef in FrameLoaderClientQt::createFrame to get the refs right for subframes. We
- do not want to add an extra reference. Without this we are leaking subframes.
- * Assume that the lifetime of a Frame and FrameLoader are the same, when the Frame is gone
- we want to destroy the QWebFrame (e.g. on a page with subframes). Add delete m_webFrame
- in the frameLoaderDestroyed method to do that.
- * If we happen to delete the QWebFrame before the FrameLoaderClientQt we set m_webFrame to
- zero in the FrameLoaderClientQt to avoid bad things.
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::~QWebFrame):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::shouldGoToHistoryItem):
- (WebCore::FrameLoaderClientQt::objectContentType):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Do not save a RefPtr to the frame. The FrameLoaderClient, Frame and
- QWebFrame should have the same lifetime everything else is a leak
- or issue.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
- * Api/qwebframe_p.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Do not store the QWebFrame associated with a ScrollView/FrameView
- in the WebCore::Widget.
- * Instead of asking the Widget for the QWebFrame use the QWebFramePrivate::core
- and QWebFramePrivate::kit function to convert from and to QWebFrame.
-
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createMainFrame):
-
-2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Do not store the FrameView in the QWebFrame and cope with the situation when
- a WebCore::Frame has no WebCore::FrameView.
-
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
- (QWebFramePrivate::horizontalScrollBar):
- (QWebFramePrivate::verticalScrollBar):
- (QWebFrame::innerText):
- (QWebFrame::renderTreeDump):
- (QWebFrame::setVerticalScrollBarPolicy):
- (QWebFrame::setHorizontalScrollBarPolicy):
- (QWebFrame::render):
- (QWebFrame::layout):
- (QWebFrame::pos):
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateEditorActions):
- (QWebPagePrivate::mouseMoveEvent):
- (QWebPagePrivate::mousePressEvent):
- (QWebPagePrivate::mouseDoubleClickEvent):
- (QWebPagePrivate::contextMenuEvent):
- (QWebPagePrivate::wheelEvent):
- (QWebPage::triggerAction):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Change the order of the methods to match with the FrameLoaderClient.h to ease
- removing methods in the future.
-
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2008-04-01 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Remove virtuals in the FrameLoaderClientQt that don't exist in the base class.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::detachedFromParent4):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2008-03-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- Remove newly obsolete FrameLoaderClient methods
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2008-03-22 Mark Rowe <mrowe@apple.com>
-
- Qt build fix.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::):
-
-2008-03-18 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Fix the Qt build. Don't return void in non-void functions.
-
- * Api/qwebpluginfactory.cpp:
- (QWebPluginFactory::extension):
-
-2008-03-16 Thiago Macieira <thiago.macieira@trolltech.com>
-
- Reviewed by Simon.
-
- Don't use RefPtr in classes you haven't seen the implementation of.
-
- Forward-declaration and declaration of RefPtr<Foo> is ok. But you
- cannot *use* said objects until Foo is defined. This is true even for
- initialisation with a 0.
-
- Seems the HP aCC compiler is more strict here than gcc.
-
- * Api/qwebframe_p.h:
-
-2008-03-14 Simon Hausmann <hausmann@webkit.org>
-
- Fix the Qt build.
-
- * Api/qwebframe.cpp:
- (QWebFrame::setHtml):
- (QWebFrame::setContent):
-
-2008-03-13 Simon Hausmann <hausmann@webkit.org>
-
- Fix the Qt build.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJSWindowObject):
-
-2008-03-12 Simon Hausmann <hausmann@webkit.org>
-
- Fix compilation against Qt 4.3
-
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
-
-2008-03-11 Rodney Dawes <dobey@wayofthemonkey.com>
-
- Fix the Qt build.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (FrameLoaderClientQt::CreatePlugin):
-
-2008-03-11 Simon Hausmann <hausmann@webkit.org>
-
- Fix the Qt build (silly typo).
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
-
-2008-03-11 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Moved obscuring progress bar to the lower right corner.
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- (MainWindow::resizeEvent):
-
-2008-03-11 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Simon.
-
- Added reload action and grouped stop and reload actions together.
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
-
-2008-03-11 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Set a Icon on the QAction if we have one.
-
- * Api/qwebpage.cpp:
- (QWebPage::action):
-
-2008-03-11 Simon Hausmann <hausmann@webkit.org>
-
- Fix the Qt build.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJSWindowObject):
-
-2008-03-07 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Darin Adler.
-
- Done with Lars.
-
- Replaced the QWebObjectPlugin interfaces with QWebPluginFactory.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::add):
- (QWebNetworkManager::cancel):
- (QWebNetworkManager::started):
- (QWebNetworkManager::data):
- (QWebNetworkManager::finished):
- * Api/qwebnetworkinterface_p.h:
- (QWebNetworkJobPrivate::QWebNetworkJobPrivate):
- * Api/qwebobjectplugin.cpp: Removed.
- * Api/qwebobjectplugin.h: Removed.
- * Api/qwebobjectplugin_p.h: Removed.
- * Api/qwebobjectpluginconnector.cpp: Removed.
- * Api/qwebobjectpluginconnector.h: Removed.
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPage::setPluginFactory):
- (QWebPage::pluginFactory):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebpluginfactory.cpp: Added.
- (QWebPluginFactory::QWebPluginFactory):
- (QWebPluginFactory::~QWebPluginFactory):
- (QWebPluginFactory::refreshPlugins):
- (QWebPluginFactory::extension):
- * Api/qwebpluginfactory.h: Added.
- (MimeType::):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::objectContentType):
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2008-03-07 Simon Hausmann <hausmann@webkit.org>
-
- Fix the Qt build.
-
- * Api/qwebframe.cpp:
-
-2008-03-04 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including
- JSDOMWindow.h
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJSWindowObject):
-
-2008-03-04 Mark Rowe <mrowe@apple.com>
-
- Another go at fixing the Qt build.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJSWindowObject):
-
-2008-02-24 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - remove separate client calls for "standard" and "reload' history
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::updateGlobalHistory):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2008-02-24 Darin Adler <darin@apple.com>
-
- - another try at fixing the build
-
- * Api/qwebframe.cpp:
- (QWebFrame::load): Replace new FormData with FormData::create.
-
-2008-02-22 Sam Weinig <sam@webkit.org>
-
- Fix Qt build.
-
- * Api/qwebhistoryinterface.cpp:
-
-2008-02-22 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Adam Roben.
-
- Rid the project of the Devil known as DeprecatedString!
-
- * Api/qwebhistory.cpp:
- * Api/qwebhistoryinterface.cpp:
-
-2008-02-18 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkRequestPrivate::init): Removed use of DeprecatedString.
-
-2008-01-24 David Boddie <dboddie@trolltech.com>
-
- Reviewed by Simon.
-
- Documentation tidying.
-
-
- * Api/qwebframe.cpp:
- * Api/qwebhistoryinterface.cpp:
- * Api/qwebview.cpp:
-
-2008-01-24 Jarek Kobus <jkobus@trolltech.com>
-
- Reviewed by Simon.
-
- Text for translations were used wrongly as comments
-
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::):
- (WebCore::FrameLoaderClientQt::cannotShowURLError):
- (WebCore::FrameLoaderClientQt::interruptForPolicyChangeError):
- (WebCore::FrameLoaderClientQt::cannotShowMIMETypeError):
- (WebCore::FrameLoaderClientQt::fileDoesNotExistError):
- (WebCore::FrameLoaderClientQt::shouldFallBack):
-
-2008-01-24 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * We have a KURL->QUrl conversion on KURL itself, make use of it.
- * This conversion is supposed to be loss-free
-
-
- * Api/qwebframe.cpp:
-
-2008-01-23 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- * Rubber stamped by Simon
-
- * Fix leaking of sub frames (WebCore::Frame). We keep one reference too many.
- This was found while working on the page-cache, other ports are not affected.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2008-01-23 Rohan McGovern <rohan.mcgovern@trolltech.com>
-
- Reviewed by Simon Hausmann <hausmann@webkit.org>.
-
- Fix Qtopia compilation with QT_NO_TOOLTIP
-
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::print):
-
-2008-01-23 Geir Vattekar <gvatteka@trolltech.com>
-
- Reviewed by Simon.
-
- Doc: Replaced \code with snippets in the docs
-
-
- * Api/qwebview.cpp:
-
-2008-01-23 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Tweak key presses even to match commonly expected behavior
- - space key == page down
- - page down moved down not a page, but slightly less then a page so you don't loose your spot when reading.
- - Use font height rather then a hard coded "10" for left, right, up, down
- - Ctrl-Up moves to the top of the page
- - Ctrl-Down move to the bottom of the page
- - Backspace == GoBack
- - Shift-Backspace == GoForward
-
-
- * Api/qwebpage.cpp:
- (dropActionToDragOp):
- (dragOpToDropAction):
- (QWebPagePrivate::keyPressEvent):
-
-2008-01-23 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Implemented FrameLoaderClient::startDownload() and FrameLoaderClient::download().
-
- Added two signals to QWebPage to handle downloading of links and handling of
- unsupported content.
-
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::download):
- (WebCore::FrameLoaderClientQt::assignIdentifierToInitialRequest):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
- (WebCore::FrameLoaderClientQt::willUseArchive):
-
-2008-01-22 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- setup a family for cursive and fantasy fonts as well.
-
-
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
-
-2008-01-22 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Implement ChromeClientQt::setToolTip
- Implement ChromeClientQt::mouseDidMoveOverElement
-
-
- * Api/qwebpage.cpp:
- * Api/qwebpage_p.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::ChromeClientQt):
- (WebCore::ChromeClientQt::focus):
- (WebCore::ChromeClientQt::mouseDidMoveOverElement):
- (WebCore::ChromeClientQt::setToolTip):
- (WebCore::ChromeClientQt::print):
- * WebCoreSupport/ChromeClientQt.h:
-
-2008-01-21 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - updated for changes to ChromeClient database functions
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::exceededDatabaseQuota):
- * WebCoreSupport/ChromeClientQt.h:
-
-2008-01-21 Benjamin Meyer <bmeyer@trolltech.com>
-
- Reviewed by Simon.
-
- Change QWebHistoryInterface::addHistoryEntry() from const to non-const
-
-
- * Api/qwebhistoryinterface.h:
-
-2008-01-21 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Simon.
-
- * Don't leak the d-pointer in QWebSettings.
-
-
- * Api/qwebsettings.cpp:
- (QWebSettings::~QWebSettings):
-
-2008-01-21 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Update the WebKit version number from WebKit/win/WebKit.vcproj/VERSION.
-
- This has the fortunate side-effect that gmail sends us sensible HTML/JS again :)
-
-
- * Api/qwebpage.cpp:
-
-2008-01-21 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Fix focus chain handling and cycling through focusable objects (links) using tab/backtab.
-
- * Fix GraphicsContext::drawFocusRing to also draw single focus rects.
- * Implemented QWebPage::focusNextPrevChild by sending fake tab/shift-tab events
- and make the return value depend on whether we successfully determined a focusable
- node or not.
- * Changed QWebView::focusNextPrevChild() to call the base QWidget implementation correctly
- if we could not handle the focus chain ourselves.
- * Changed the focus policy of QWebView to correctly use WheelFocus instead of ClickFocus.
- * Made ChromeClientQt::canTakeFocus() and takeFocus() dummy method since they are only
- used to control the situation of stepping out of the focus chain inside the page.
- * Made inclusion of links in the focus chain configurable through QWebSettings::LinksIncludedInFocusChain.
- The layout tests expect this to be disabled but for the user it seems sensible to have it
- on by default, hence the default in qwebsettings.cpp
-
-
- * Api/qwebpage.cpp:
- (QWebPage::focusNextPrevChild):
- * Api/qwebsettings.cpp:
- (QWebSettings::QWebSettings):
- * Api/qwebsettings.h:
- * Api/qwebview.cpp:
- (QWebView::QWebView):
- (QWebView::focusNextPrevChild):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::canTakeFocus):
- (WebCore::ChromeClientQt::takeFocus):
-
-2008-01-18 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Coding style fixes and added a comment about the include order.
-
- * WebKit_pch.h:
-
-2008-01-18 Marius Storm-Olsen <marius@trolltech.com>
-
- Reviewed by Simon Hausmann <hausmann@webkit.org>.
-
- Add use of precompiled header, when building inside Qt.
-
- Compiling WebKit was taking forever; 17 minutes on my machine for _one_ build! Adding the PCH at least brings it down to 12 minutes for one build, for me.
-
-
- * WebKit_pch.h: Added.
-
-2008-01-18 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Ask the WebCore::IconDatabase only if our URL is not empty. Otherwise
- we will see a crash in a HashSet.
- * It is crashing there because the StringImpl of an empty String is 0.
- * We avoid this crash by checking for isEmpty() in WebKit as there is no
- use to ask the iconDatabase for an empty string. We will fallback to the
- defaultIcon.
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::icon):
-
-2008-01-17 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Minor documentation fixes
-
-
- * Api/qwebframe.cpp:
- * Api/qwebview.cpp:
-
-2008-01-17 Simon Hausmann <shausman@trolltech.com>
-
- Reviewed by Lars.
-
- Fix form elements not focusing correctly after the qt widget lost its focus.
-
- When receiving a focus out event notify the focus controller. Otherwise its
- m_focusedFrame variable remains unchanged and setFocusedFrame on a focusIn
- event shortcuts and doesn't call setActive(true).
-
-
- * Api/qwebpage.cpp:
-
-2008-01-17 Simon Hausmann <shausman@trolltech.com>
-
- Reviewed by Holger.
-
- Lots of updates to the documentation.
-
-
- * Api/qwebframe.cpp:
- * Api/qwebhistory.cpp:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dropEvent):
- (QWebPage::history):
- (openNewWindow):
- (QWebPage::triggerAction):
- (QWebPage::viewportSize):
- (QWebPage::navigationRequested):
- (QWebPage::action):
- (QWebPage::event):
- (QWebPageContext::targetFrame):
- * Api/qwebpage.h:
- * Api/qwebview.cpp:
-
-2008-01-17 Simon Hausmann <shausman@trolltech.com>
-
- Reviewed by Lars.
-
- Added a urlChanged signals to QWebFrame and QWebView.
-
-
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * Api/qwebview.cpp:
- (QWebView::setPage):
- * Api/qwebview.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2008-01-17 Simon Hausmann <shausman@trolltech.com>
-
- Reviewed by Lars.
-
- Fixed docs and sanity checks in QWebSettings::setIconDatabaseEnabled
-
-
- * Api/qwebsettings.cpp:
- (QWebSettings::setIconDatabaseEnabled):
-
-2008-01-17 Simon Hausmann <shausman@trolltech.com>
-
- Reviewed by Lars.
-
- Added QWebView::createWindow() which is forwarded from QWebPage::createWindow() for convenience.
-
-
- * Api/qwebpage.cpp:
- (QWebPage::createWindow):
- * Api/qwebview.cpp:
- (QWebView::createWindow):
- * Api/qwebview.h:
-
-2008-01-17 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Lars.
-
- add a 0 pointer check.
-
- Fixes a crash in the demo web browser.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType):
-
-2008-01-17 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Fix QWebFrame::title().
-
- For the titleChanged() signal we use the documentloader's title. For the property we have to use the same
- instead of Document::title() as the latter is not trimmed and not suited for a window caption.
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::title):
-
-2008-01-17 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Maciej, Lars, Holger.
-
- http://bugs.webkit.org/show_bug.cgi?id=16589
-
- Add a document parameter to WebCore::cookies, setCookies and cookiesEnabled.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkRequestPrivate::init):
- (QWebNetworkManager::started):
-
-2008-01-17 Warwick Allison <warwick@trolltech.com>
-
- Reviewed by Simon Hausmann <hausmann@webkit.org>.
-
- Follow QWidget::keyPressEvent advice and call parents.
-
- Without this, Back does not work in Qtopia, for example.
-
-
- * Api/qwebview.cpp:
- (QWebView::keyPressEvent):
- (QWebView::keyReleaseEvent):
-
-2008-01-17 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Fix compilation against Qt 4.3 after the recent KURL <> QUrl conversion fixes.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::started):
-
-2008-01-17 Simon Hausmann <shausman@trolltech.com>
-
- Reviewed by Holger.
-
- Fix compilation against Qt 4.4 without files that are specific for the Qt 4.3 build.
-
-
- * Api/qwebframe.cpp:
- * Api/qwebpage.cpp:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2008-01-17 Lincoln Ramsay <lincoln.ramsay@trolltech.com>
-
- Reviewed by Simon Hausmann <hausmann@webkit.org>.
-
- Fixes compilation with QT_NO_DRAGANDDROP
-
-
- * Api/qwebpage.cpp:
- (QWebPage::event):
- * Api/qwebview.cpp:
- (QWebView::dragEnterEvent):
- (QWebView::dragLeaveEvent):
- (QWebView::dragMoveEvent):
- (QWebView::dropEvent):
-
-2008-01-17 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Fix compilation, removed obsolete privateBrowsingEnabled() method.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2008-01-16 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon Hausmann <simon.hausmann@trolltech.com>.
-
- Removed a whole bunch of notImplemented() warnings.
-
- I don't want to hide the real warnings in lots of things that
- I am by now pretty certain we won't need.
-
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchWillSubmitForm):
- (WebCore::FrameLoaderClientQt::canShowMIMEType):
-
-2008-01-16 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Fix crash when bringing up the context menu on maps.google.com.
-
- If the website provides its own context menu then we don't have a ContextMenu pointer.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::contextMenuEvent):
-
-2008-01-16 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Holger.
-
- Don't crash when receiving all sorts of events on a default constructed QWebView without a page.
-
- * Api/qwebview.cpp:
- (QWebView::mouseMoveEvent):
- (QWebView::mousePressEvent):
- (QWebView::mouseDoubleClickEvent):
- (QWebView::mouseReleaseEvent):
- (QWebView::contextMenuEvent):
- (QWebView::wheelEvent):
- (QWebView::keyPressEvent):
- (QWebView::keyReleaseEvent):
- (QWebView::focusInEvent):
- (QWebView::focusOutEvent):
- (QWebView::dragEnterEvent):
- (QWebView::dragLeaveEvent):
- (QWebView::dragMoveEvent):
- (QWebView::dropEvent):
- (QWebView::focusNextPrevChild):
-
-2008-01-16 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Made the url property read-write.
-
- * Api/qwebview.h:
-
-2008-01-16 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Don't crash when showing a default initialized QWebView that has no page/frame yet.
-
- * Api/qwebview.cpp:
- (QWebView::paintEvent):
-
-2008-01-16 Holger Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- Change hoveringOverLink implementation to have less issues.
-
- * Currently we only compare a pointer. In the worst case we
- could delete the Element we have pointed to and a new one
- gets the same address. But even if that doesn't happen the
- WebCore::Element is mutable and JavaScript could change the
- URL, Title or Content. So we have to compare all these three
- attributes.
- * This does not seem to be a performance impact.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mouseMoveEvent):
- * Api/qwebpage_p.h:
-
-2008-01-16 Holger Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Move the hoverElement from QWebFrame to QWebPage. As it is
- only used there.
-
-
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::mouseMoveEvent):
- * Api/qwebpage_p.h:
-
-2008-01-16 Holger Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- EventHandler changes/fixes in QWebPage:
- -mouse{Press,Move,Release}Event:
- Send the event always to the mainFrame of the QWebPage.
-
- -contextMenuEvent, key{Press,Release}Event:
- Send the event to the focused frame.
-
- This is following the Windows port and fixes a issue with the
- Web Inspector where we were sending the events to a wrong frame.
-
- It is guaranteed that the mainFrame will always have an eventHandler
- and frameView set. There is no need to check for this in QWebPage.
-
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateEditorActions):
- (QWebPagePrivate::mouseMoveEvent):
- (QWebPagePrivate::mousePressEvent):
- (QWebPagePrivate::mouseDoubleClickEvent):
- (QWebPagePrivate::mouseReleaseEvent):
- (QWebPagePrivate::contextMenuEvent):
- (QWebPagePrivate::wheelEvent):
- (QWebPagePrivate::keyPressEvent):
- (QWebPagePrivate::keyReleaseEvent):
- (QWebPagePrivate::focusInEvent):
- * Api/qwebpage_p.h:
-
-2008-01-16 Holger Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Add core and kit functions to QWebFramePrivate to convert from
- QWebFrame to WebCore::Frame and vice versa.
-
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::core):
- (QWebFramePrivate::kit):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
-
-2008-01-16 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- add conversion methods from and to QUrl to KURL.
-
- Use them in the places I found at the moment. Fixes a bug
- where form data was encoded twice.
- Also fix QWebSettings to take a QUrl for the user style sheet
- location.
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::load):
- * Api/qwebpage.cpp:
- (QWebPage::createPlugin):
- (frameLoadRequest):
- (QWebPage::triggerAction):
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- * Api/qwebsettings.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createWindow):
- (WebCore::ChromeClientQt::show):
-
-2008-01-16 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Lars.
-
- * Make the InspectorClientView inherit from QWebView instead of QWidget. This
- way paintEvent, mouse{Press,Release}Event and other events get forwarded to
- the QWebPage/WebInspector automatically.
-
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientWebPage::createWindow):
- (WebCore::InspectorClientView::InspectorClientView):
-
-2008-01-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Sam.
-
- - remove SecurityOriginData and fold its functionality into SecurityOrigin
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::requestQuotaIncreaseForNewDatabase):
- (WebCore::ChromeClientQt::requestQuotaIncreaseForDatabaseOperation):
- * WebCoreSupport/ChromeClientQt.h:
-
-2008-01-10 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- document QWebHistory
-
-
- * Api/qwebhistory.cpp:
- (QWebHistoryItem::QWebHistoryItem):
- (QWebHistoryItem::operator=):
- (QWebHistoryItem::~QWebHistoryItem):
- (QWebHistoryItem::originalUrl):
- (QWebHistoryItem::currentUrl):
- (QWebHistoryItem::title):
- (QWebHistoryItem::icon):
- (QWebHistory::canGoBack):
- (QWebHistory::canGoForward):
- (QWebHistory::goBack):
- (QWebHistory::goForward):
- (QWebHistory::goToItem):
- * Api/qwebhistory.h:
-
-2008-01-10 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Make the reset() functions not do anything on the default QWebSettings object.
-
-
- * Api/qwebsettings.cpp:
- (QWebSettings::resetFontSize):
- (QWebSettings::resetFontFamily):
- (QWebSettings::clearAttribute):
-
-2008-01-10 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- rename QWebPageHistory to QWebHistory.
-
-
- * Api/qwebhistory.cpp: Added.
- (QWebHistoryItem::QWebHistoryItem):
- (QWebHistoryItem::operator=):
- (QWebHistoryItem::~QWebHistoryItem):
- (QWebHistoryItem::originalUrl):
- (QWebHistoryItem::currentUrl):
- (QWebHistoryItem::title):
- (QWebHistoryItem::lastVisited):
- (QWebHistoryItem::icon):
- (QWebHistory::QWebHistory):
- (QWebHistory::~QWebHistory):
- (QWebHistory::clear):
- (QWebHistory::items):
- (QWebHistory::backItems):
- (QWebHistory::forwardItems):
- (QWebHistory::canGoBack):
- (QWebHistory::canGoForward):
- (QWebHistory::goBack):
- (QWebHistory::goForward):
- (QWebHistory::goToItem):
- (QWebHistory::backItem):
- (QWebHistory::currentItem):
- (QWebHistory::forwardItem):
- (QWebHistory::itemAtIndex):
- * Api/qwebhistory.h: Added.
- * Api/qwebhistory_p.h: Added.
- (QWebHistoryItemPrivate::QWebHistoryItemPrivate):
- (QWebHistoryItemPrivate::~QWebHistoryItemPrivate):
- (QWebHistoryPrivate::QWebHistoryPrivate):
- (QWebHistoryPrivate::~QWebHistoryPrivate):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebpagehistory.cpp: Removed.
- * Api/qwebpagehistory.h: Removed.
- * Api/qwebpagehistory_p.h: Removed.
- * Api/qwebview.cpp:
- * Api/qwebview.h:
-
-2008-01-10 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Documentation for QWebSettings
-
-
- * Api/qwebsettings.cpp:
- (QWebSettings::~QWebSettings):
- (QWebSettings::setFontSize):
- (QWebSettings::resetFontSize):
- (QWebSettings::setUserStyleSheetLocation):
- (QWebSettings::userStyleSheetLocation):
- (QWebSettings::iconDatabaseEnabled):
- (QWebSettings::webGraphic):
- (QWebSettings::setFontFamily):
- (QWebSettings::resetFontFamily):
- (QWebSettings::setAttribute):
-
-2008-01-10 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- Document QWebHistoryInterface.
-
-
- * Api/qwebhistoryinterface.cpp:
- (QWebHistoryInterface::defaultInterface):
- (QWebHistoryInterface::~QWebHistoryInterface):
-
-2008-01-10 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- Documentation for QWebFrame.
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::url):
- (QWebFrame::name):
- (QWebFrame::page):
- (QWebFrame::setHtml):
- (QWebFrame::parentFrame):
- (QWebFrame::render):
- (QWebFrame::pos):
- (QWebFrame::geometry):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
-
-2008-01-10 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- fix the drawing errors that where introduced due to refactoring.
-
- Correctly clip to the rectangle we want to draw in ScrollView::paint().
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::render):
- * Api/qwebframe.h:
- * Api/qwebview.cpp:
- (QWebView::paintEvent):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::scrollBackingStore):
-
-2008-01-10 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Added a whole bunch of docs for QWebPage and fixed some minor doc glitches in QWebView.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::dropEvent):
- (QWebPage::QWebPage):
- (QWebPage::~QWebPage):
- (QWebPage::mainFrame):
- (QWebPage::currentFrame):
- (QWebPage::history):
- (QWebPage::setView):
- (QWebPage::view):
- (QWebPage::javaScriptConsoleMessage):
- (QWebPage::javaScriptAlert):
- (QWebPage::javaScriptConfirm):
- (QWebPage::javaScriptPrompt):
- (QWebPage::createWindow):
- (QWebPage::createModalDialog):
- (openNewWindow):
- (QWebPage::triggerAction):
- (QWebPage::viewportSize):
- (QWebPage::navigationRequested):
- (QWebPage::selectedText):
- (QWebPage::isModified):
- (QWebPage::focusNextPrevChild):
- (QWebPage::settings):
- (QWebPage::networkProxy):
- (QWebPage::setNetworkAccessManager):
- (QWebPage::networkAccessManager):
- (QWebPagePrivate::_q_onLoadProgressChanged):
- * Api/qwebview.cpp:
-
-2008-01-07 Holger Freyther <zecke@selfish.org>
-
- Reviewed by Alp Toker.
-
- * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
- actions.
- * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
- * Update the ContextMenuController to accept CheckableActionTypes as well.
- * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
- was extracted from ContextMenu::checkOrEnableIfNeeded.
- * Update the Qt and Windows port.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createContextMenu):
-
-2008-01-07 Simon Hausmann <hausmann@webkit.org>
-
- Build fix for the Windows build. MSVC wants to see the full
- declaration of arguments even when just passing them through.
-
- * Api/qwebpage.cpp:
-
-2008-01-07 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Added the missing parameters to make it possible to do POST operations from the public API.
-
- This is ugly though as it also requires including qnetworkaccessmanager.h. It would be nicer if the
- two extra arguments were in QNetworkRequest :-/
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::load):
- * Api/qwebframe.h:
- * Api/qwebview.cpp:
- (QWebView::load):
- * Api/qwebview.h:
-
-2008-01-07 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Ported of the network backend of the Qt platform to Qt 4.4's new networking API.
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::load):
- * Api/qwebframe.h:
- * Api/qwebnetworkinterface.cpp:
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
- * Api/qwebobjectplugin.cpp:
- * Api/qwebobjectplugin.h:
- * Api/qwebobjectplugin_p.h:
- * Api/qwebobjectpluginconnector.cpp:
- * Api/qwebobjectpluginconnector.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::~QWebPagePrivate):
- (QWebPagePrivate::navigationRequested):
- (QWebPage::setNetworkInterface):
- (QWebPage::networkInterface):
- (QWebPage::setNetworkAccessManager):
- (QWebPage::networkAccessManager):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- * Api/qwebview.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
- (WebCore::FrameLoaderClientQt::objectContentType):
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2008-01-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Move the QWebPagePrivate methods up to the other private ones
-
- * Api/qwebpage.cpp:
- (dropActionToDragOp):
- (dragOpToDropAction):
- (QWebPagePrivate::mouseMoveEvent):
- (QWebPagePrivate::mousePressEvent):
- (QWebPagePrivate::mouseDoubleClickEvent):
- (QWebPagePrivate::mouseReleaseEvent):
- (QWebPagePrivate::contextMenuEvent):
- (QWebPagePrivate::wheelEvent):
- (QWebPagePrivate::keyPressEvent):
- (QWebPagePrivate::keyReleaseEvent):
- (QWebPagePrivate::focusInEvent):
- (QWebPagePrivate::focusOutEvent):
- (QWebPagePrivate::dragEnterEvent):
- (QWebPagePrivate::dragLeaveEvent):
- (QWebPagePrivate::dragMoveEvent):
- (QWebPagePrivate::dropEvent):
- (QWebPage::focusNextPrevChild):
-
-2008-01-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Add reimplemented comments for the methods reimplemented in QWebView and QWebPage.
-
-
- * Api/qwebpage.cpp:
- (dragOpToDropAction):
- * Api/qwebview.cpp:
- (QWebView::mouseMoveEvent):
- (QWebView::mousePressEvent):
- (QWebView::mouseDoubleClickEvent):
- (QWebView::mouseReleaseEvent):
- (QWebView::contextMenuEvent):
- (QWebView::keyPressEvent):
- (QWebView::keyReleaseEvent):
- (QWebView::focusInEvent):
- (QWebView::focusOutEvent):
- (QWebView::dragEnterEvent):
- (QWebView::dragLeaveEvent):
- (QWebView::dragMoveEvent):
- (QWebView::dropEvent):
-
-2008-01-07 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Lars.
-
- * This layout is not needed anymore as Widget::invalidateRect will not
- draw anymore.
-
-
- * Api/qwebview.cpp:
- (QWebView::paintEvent):
-
-2008-01-04 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- Remove most dependencies of Widget/ScrollView onto native QWidgets.
-
- This also brings the code closer in line with the Windows code. Seems
- to work nicely on first try :)
-
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::updateBackingStore):
- (WebCore::ChromeClientQt::mouseDidMoveOverElement):
- (WebCore::ChromeClientQt::setToolTip):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2008-01-04 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Remove the todo from QWebPage and move the code to QWebView.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::wheelEvent):
- (QWebPagePrivate::focusInEvent):
- * Api/qwebview.cpp:
- (QWebView::wheelEvent):
- (QWebView::focusInEvent):
-
-2008-01-04 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Move the various event methods to QWebPagePrivate. This is similar to
- QTextControl as well.
-
-
- * Api/qwebpage.cpp:
- (QWebPage::event):
- (QWebPagePrivate::mouseMoveEvent):
- (QWebPagePrivate::mousePressEvent):
- (QWebPagePrivate::mouseDoubleClickEvent):
- (QWebPagePrivate::mouseReleaseEvent):
- (QWebPagePrivate::contextMenuEvent):
- (QWebPagePrivate::wheelEvent):
- (QWebPagePrivate::keyPressEvent):
- (QWebPagePrivate::keyReleaseEvent):
- (QWebPagePrivate::focusInEvent):
- (QWebPagePrivate::focusOutEvent):
- (QWebPage::focusNextPrevChild):
- (QWebPagePrivate::dragEnterEvent):
- (QWebPagePrivate::dragLeaveEvent):
- (QWebPagePrivate::dragMoveEvent):
- (QWebPagePrivate::dropEvent):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
-
-2008-01-04 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Forward the event from QWebView to QWebPage through QObject::event. This
- is similar to the way QTextControl is working.
-
-
- * Api/qwebpage.cpp:
- (dragOpToDropAction):
- (QWebPage::event):
- * Api/qwebpage.h:
- * Api/qwebview.cpp:
- (QWebView::mouseMoveEvent):
- (QWebView::mousePressEvent):
- (QWebView::mouseDoubleClickEvent):
- (QWebView::mouseReleaseEvent):
- (QWebView::contextMenuEvent):
- (QWebView::wheelEvent):
- (QWebView::keyPressEvent):
- (QWebView::keyReleaseEvent):
- (QWebView::focusInEvent):
- (QWebView::focusOutEvent):
- (QWebView::dragEnterEvent):
- (QWebView::dragLeaveEvent):
- (QWebView::dragMoveEvent):
- (QWebView::dropEvent):
- * Api/qwebview.h:
-
-2008-01-04 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- make QWebPage a QObject and get things to compile.
-
- Nothing works currently though.
-
-
- * Api/qwebobjectpluginconnector.cpp:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::createMainFrame):
- (QWebPage::QWebPage):
- (QWebPage::setView):
- (QWebPage::view):
- (QWebPage::javaScriptAlert):
- (QWebPage::javaScriptPrompt):
- (dragOpToDropAction):
- (QWebPage::mousePressEvent):
- (QWebPage::mouseDoubleClickEvent):
- (QWebPage::mouseReleaseEvent):
- (QWebPage::wheelEvent):
- (QWebPage::keyPressEvent):
- (QWebPage::focusInEvent):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebview.cpp:
- (QWebView::QWebView):
- (QWebView::setPage):
- (QWebView::resizeEvent):
- (QWebView::paintEvent):
- * Api/qwebview.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::windowRect):
- (WebCore::ChromeClientQt::pageRect):
- (WebCore::ChromeClientQt::focus):
- (WebCore::ChromeClientQt::unfocus):
- (WebCore::ChromeClientQt::canTakeFocus):
- (WebCore::ChromeClientQt::takeFocus):
- (WebCore::ChromeClientQt::canRunModal):
- (WebCore::ChromeClientQt::mouseDidMoveOverElement):
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::DragClientQt::startDrag):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientWebPage::createWindow):
- (WebCore::InspectorClientView::InspectorClientView):
- (WebCore::InspectorClientView::page):
- (WebCore::InspectorClientView::hideEvent):
- (WebCore::InspectorClientView::closeEvent):
- (WebCore::InspectorClientQt::createPage):
- (WebCore::InspectorClientQt::closeWindow):
-
-2008-01-04 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Added some preliminary class documentation for QWebView, fixed a missing const() and some missing Q_PROPERTYs
-
-
- * Api/qwebview.cpp:
- (QWebView::setHtml):
- (QWebView::setContent):
- (QWebView::history):
- (QWebView::settings):
- (QWebView::action):
- (QWebView::triggerAction):
- (QWebView::stop):
- (QWebView::backward):
- (QWebView::forward):
- (QWebView::reload):
- * Api/qwebview.h:
-
-2008-01-04 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- add a viewportSize to QWebPage.
-
- This is required to eventually make it a QObject only.
-
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction):
- (QWebPage::viewportSize):
- (QWebPage::setViewportSize):
- * Api/qwebpage.h:
-
-2008-01-04 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- take a QString as identifier in QWebFrame::addToJSWindowObject.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJSWindowObject):
- * Api/qwebframe.h:
-
-2008-01-04 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Call the frame arguments for the javascript callbacks "originatingFrame"
-
-
- * Api/qwebpage.h:
-
-2008-01-04 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Moved the QWebPage::addToHistory signal into QWebHistoryInterface
-
-
- * Api/qwebhistoryinterface.h:
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::updateGlobalHistoryForStandardLoad):
-
-2008-01-04 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- moved title(), url(), icon() and initialLayoutComplete() from QWebPage to QWebFrame
-
- * Api/qwebframe.cpp:
- (QWebFrame::url):
- (QWebFrame::icon):
- (QWebFrame::setVerticalScrollBarPolicy):
- * Api/qwebframe.h:
- * Api/qwebpage.cpp:
- (QWebPage::javaScriptAlert):
- (QWebPage::javaScriptPrompt):
- (QWebPage::networkInterface):
- * Api/qwebpage.h:
- * Api/qwebview.cpp:
- (QWebView::title):
- (QWebView::url):
- (QWebView::icon):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2008-01-03 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Moved QWebPage::open to QWebFrame::load and added setHtml.
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::load):
- (QWebFrame::setHtml):
- (QWebFrame::setContent):
- * Api/qwebframe.h:
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * Api/qwebview.cpp:
- (QWebView::load):
- (QWebView::setHtml):
- * Api/qwebview.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createWindow):
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::createPage):
-
-2008-01-03 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Lars.
-
- Added the first revision of QWebView and started moving functionality from QWebPave over to QWebView and QWebFrame.
-
-
- * Api/headers.pri:
- * Api/qwebframe.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createMainFrame):
- * Api/qwebpage.h:
- * Api/qwebpagehistory.h:
- * Api/qwebview.cpp: Added.
- (QWebView::QWebView):
- (QWebView::~QWebView):
- (QWebView::page):
- (QWebView::setPage):
- (QWebView::load):
- (QWebView::setHtml):
- (QWebView::history):
- (QWebView::settings):
- (QWebView::title):
- (QWebView::url):
- (QWebView::icon):
- (QWebView::selectedText):
- (QWebView::action):
- (QWebView::triggerAction):
- (QWebView::isModified):
- (QWebView::textInteractionFlags):
- (QWebView::setTextInteractionFlags):
- (QWebView::sizeHint):
- (QWebView::stop):
- (QWebView::backward):
- (QWebView::forward):
- (QWebView::reload):
- * Api/qwebview.h: Added.
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- (MainWindow::webPage):
- (MainWindow::changeLocation):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::setFrame):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-12-14 Darin Adler <darin@apple.com>
-
- Reviewed by Alexey.
-
- * Api/qwebpage.cpp:
- (QWebPage::triggerAction): Removed some use of Editor member functions we plan
- to eventually eliminate. Switch from Editor::execCommand to Editor::command.
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent): Ditto. Also updated name from
- MoveUpByPageAndModifyCaret to MovePageUp and from MoveDownByPageAndModifyCaret
- to MovePageDown.
-
-2007-12-12 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- As part of doing some CachedPage and client cleanup, keep Qt building
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::savePlatformDataToCachedPage):
- (WebCore::FrameLoaderClientQt::transitionToCommittedFromCachedPage):
- (WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-12-12 Sam Weinig <sam@webkit.org>
-
- Build fix.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::userAgent):
-
-2007-12-12 Sam Weinig <sam@webkit.org>
-
- Build fix.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkRequestPrivate::init):
- * Api/qwebpage.cpp:
- (QWebPage::url):
- (QWebPageContext::QWebPageContext):
- * Api/qwebpagehistory.cpp:
- (QWebHistoryItem::originalUrl):
- (QWebHistoryItem::currentUrl):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::cannotShowURLError):
- (WebCore::FrameLoaderClientQt::interruptForPolicyChangeError):
- (WebCore::FrameLoaderClientQt::cannotShowMIMETypeError):
- (WebCore::FrameLoaderClientQt::fileDoesNotExistError):
- (WebCore::FrameLoaderClientQt::dispatchWillSendRequest):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveResponse):
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2007-12-07 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5535636>
- Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
-
- http://bugs.webkit.org/show_bug.cgi?id=13916
- JavaScript detects Tab as a character input on a textfield validation
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyboardEvent):
- (WebCore::EditorClientQt::handleInputMethodKeydown):
- * WebCoreSupport/EditorClientQt.h:
- Updated for cross-platform changes as much as it was possible without a Qt build environment.
-
-2007-12-07 Darin Adler <darin@apple.com>
-
- - try to fix build
-
- * Api/qwebhistoryinterface.cpp:
- (WebCore::historyContains): There's a WebCore function here in WebKit! Needs to
- be updated, since WebCore changed, but this should not be here.
-
-2007-12-04 Darin Adler <darin@apple.com>
-
- Reviewed by Kevin Decker.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp: Removed obsolete privateBrowsingEnabled.
- * WebCoreSupport/FrameLoaderClientQt.h: Ditto.
-
-2007-12-04 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Implement the InspectorClient for the Qt port
- * It does not support highlighting of nodes yet
- * Use QRC to open the internal page. The important thing is the
- '/' in the URL to make WebCore::Document::completeURL behave the
- way we want.
- * To make the InspectorClient work we will have to mark qrc as secure.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * Api/qwebpage.h:
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientWebPage::hideEvent):
- (WebCore::InspectorClientQt::InspectorClientQt):
- (WebCore::InspectorClientQt::inspectorDestroyed):
- (WebCore::InspectorClientQt::createPage):
- (WebCore::InspectorClientQt::localizedStringsURL):
- (WebCore::InspectorClientQt::showWindow):
- (WebCore::InspectorClientQt::closeWindow):
- (WebCore::InspectorClientQt::attachWindow):
- (WebCore::InspectorClientQt::detachWindow):
- * WebCoreSupport/InspectorClientQt.h:
-
-2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Rubber stamped by Mark.
-
- Always include config.h at the beginning of the file.
-
- * Api/qwebsettings.cpp:
-
-2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Avoid crashes by making sure everything is layouted before
- we start painting. This avoids a crash in Widget::invalidateRect
- because QPainter::begin would fail
- * The QWebFrame::layout() methods and calls are left untouched because
- this would be an API decision.
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::layout):
- * Api/qwebpage.cpp:
- (QWebPage::paintEvent):
-
-2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * SubClass QWebPage to handle hide and close events.
- * Forward these events to the InspectorController
- * The other options would have been using an eventFilter
- on the webpage and making InspectorClient a QObject or
- creating a QObject Observer.
- * Provide a simple QWebPage* createWindow implementation. This is needed
- to make FrameLoaderClientQt::dispatchCreatePage stop crashing in the case
- of the inspector client.
-
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientWebPage::InspectorClientWebPage):
- (WebCore::InspectorClientWebPage::createWindow):
- (WebCore::InspectorClientWebPage::hideEvent):
- (WebCore::InspectorClientWebPage::closeEvent):
- (WebCore::InspectorClientQt::createPage):
-
-2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Allow adding the Inspect ContextMenuItem to our Menu
- * Open the Inspector when Inspect was activated. This requires
- that we keep the innerNonSharedNode from the HitTest around. This
- forces us to include <wtf/RefPtr.h> in the private header. It is
- the first non Qt header but should be okay.
-
-
- * Api/qwebpage.cpp:
- (webActionForContextMenuAction):
- (QWebPage::triggerAction):
- (QWebPage::action):
- (QWebPageContext::QWebPageContext):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
-
-2007-12-03 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Add the Developer Extras to the WebAttribute and propagate it
- to WebCore::Settings. This will enable the Inspect Element menu item
- * CodingStyle fixes in QWebSettings
- * Enable the Developer Extras in the QtLauncher
-
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- * Api/qwebsettings.h:
- * QtLauncher/main.cpp:
- (main):
-
-2007-12-03 Geoffrey Garen <ggaren@apple.com>
-
- Removed unnecessary and possibly incorrect #include from my last
- check-in.
-
- * Api/qwebframe.cpp:
-
-2007-12-03 Geoffrey Garen <ggaren@apple.com>
-
- Qt build fix: Get globalExec() from the right place.
-
-2007-11-30 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Simon.
-
- * Self destruct the clients like the ohter ports do
-
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::runBeforeUnloadConfirmPanel):
- * WebCoreSupport/ContextMenuClientQt.cpp:
- * WebCoreSupport/DragClientQt.cpp:
- * WebCoreSupport/EditorClientQt.cpp:
- * WebCoreSupport/InspectorClientQt.cpp:
-
-2007-11-29 Brady Eidson <beidson@apple.com>
-
- Keep it building with new client method
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::requestQuotaIncreaseForNewDatabase):
- (WebCore::ChromeClientQt::requestQuotaIncreaseForDatabaseOperation):
- * WebCoreSupport/ChromeClientQt.h:
-
-2007-11-22 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Adam Treat.
-
- Fix compilation (don't define notImplemented twice)
-
- * Api/qwebnetworkinterface.cpp:
-
-2007-11-22 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by George.
-
- Use Q_SIGNALS/Q_SLOTS in the public API
-
- * Api/qwebframe.h:
- * Api/qwebpage.h:
-
-2007-11-22 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by George.
-
- Fixed the signature of the QWebPage constructor to follow Qt guidelines.
-
- * Api/qwebpage.h:
-
-2007-11-22 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by George.
-
- Use <QtModule/headerfile.h> instead of <Classname> in public HEADER files, to not require the include paths for the other modules to be present
-
- * Api/qcookiejar.h:
- * Api/qwebframe.h:
- * Api/qwebhistoryinterface.h:
- * Api/qwebnetworkinterface.h:
- * Api/qwebobjectplugin.h:
- * Api/qwebobjectplugin_p.h:
- * Api/qwebobjectpluginconnector.h:
- * Api/qwebpage.h:
- * Api/qwebpagehistory.h:
- * Api/qwebsettings.h:
-
-2007-11-22 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by George.
-
- Removed inline copy of QExplicitlySharedDataPointer. This is not needed anymore since we require Qt >= 4.3.0.
-
- * Api/qwebpagehistory.h:
-
-2007-11-22 George Staikos <staikos@kde.org>
-
- Reviewed by Simon Hausmann <hausmann@kde.org>.
-
- Fix license headers
-
-
- * Api/qwebobjectplugin.cpp:
- * Api/qwebobjectplugin.h:
- * Api/qwebobjectpluginconnector.cpp:
- * Api/qwebobjectpluginconnector.h:
-
-2007-11-22 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by George Staikos <staikos@kde.org>.
-
- Fix shadowing of "page" variable that is passed as argument as well as a member variable.
-
- This also fixes compilation with gcc 4.3.
-
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
-
-2007-11-21 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Simon.
-
- * Connect up the signal for all subframes too.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createMainFrame):
-
-2007-11-20 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Adam Treat <adam.treat@torchmobile.com>.
-
- Remove static linkage of QtWebKit against the ICO image format plugin.
-
- Instead build the support for the ICO image format as a proper standalone qt image format plugin and install it.
-
-
- * Plugins/Plugins.pro:
-
-2007-11-20 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by George Staikos <staikos@kde.org>.
-
- Added a default argument to textContent for the hoveringOverLink signal to keep existing two-argument connections working
-
-
- * Api/qwebpage.h:
-
-2007-11-20 George Staikos <staikos@kde.org>
-
- Reviewed by Simon Hausmann <hausmann@kde.org>.
-
- Add an argument to pass the link text in the hovering signal
-
-
- * Api/qwebframe.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createMainFrame):
- (QWebPage::mouseMoveEvent):
- * Api/qwebpage.h:
-
-2007-11-20 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Simon and George.
-
- * Be quiet and allow suppression of NotImplemented calls at runtime.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::representationExistsForURLScheme):
-
-2007-11-19 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Simon.
-
- * Don't segfault when event pos is outside of the widget.
-
- * Api/qwebpage.cpp:
- (QWebPage::mouseMoveEvent):
- (QWebPage::mousePressEvent):
- (QWebPage::mouseDoubleClickEvent):
- (QWebPage::mouseReleaseEvent):
- (QWebPage::contextMenuEvent):
-
-2007-11-17 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mark Rowe.
-
- Bug 13470: i18n: The Web Inspector is not localizable
- http://bugs.webkit.org/show_bug.cgi?id=13470
-
- * WebCoreSupport/InspectorClientQt.cpp:
- (WebCore::InspectorClientQt::localizedStringsURL): Empty stub.
- * WebCoreSupport/InspectorClientQt.h: Added localizedStringsURL.
-
-2007-11-13 Geoffrey Garen <ggaren@apple.com>
-
- Build fix: changed Shared to RefCounted.
-
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/ContextMenuClientQt.cpp:
- * WebCoreSupport/ContextMenuClientQt.h:
- * WebCoreSupport/EditorClientQt.h:
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-11-10 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Nikolas.
-
- When populating the context menu with sub-menus don't add sub-menus if they're empty.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createContextMenu):
-
-2007-11-10 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Nikolas.
-
- Added support for the Bold/Italic/Underline toggle actions.
-
-
- * Api/qwebpage.cpp:
- (webActionForContextMenuAction):
- (QWebPage::triggerAction):
- (QWebPage::action):
- * Api/qwebpage.h:
-
-2007-11-10 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Nikolas.
-
- Before adding an action to the context menu call checkOrEnableIfNeeded for each action
- to update the enable/checked state correctly.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createContextMenu):
- (QWebPage::contextMenuEvent):
- * Api/qwebpage_p.h:
-
-2007-11-10 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Nikolas.
-
- Mark the text direction actions as checkable actions.
-
-
- * Api/qwebpage.cpp:
- (QWebPage::action):
-
-2007-11-09 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Holger.
-
- Implemented the webcore actions for changing the text direction.
-
-
- * Api/qwebpage.cpp:
- (webActionForContextMenuAction):
- (QWebPage::triggerAction):
- (QWebPage::action):
- * Api/qwebpage.h:
-
-2007-11-09 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Holger.
-
- Fix ContextMenu allocation in the Qt port.
-
- Store all items and submenus value based in ContextMenu and ContextMenuItem.
- That fixes the crashes when the context menu was populated with sub-menus because
- of the use of temporary ContextMenu objects like this:
-
- ContextMenu subMenu(...);
- subMenu.appendItem(...);
- subMenu.appendItem(...);
-
- subMenuItem.setSubMenu(&subMenu); // temporary pointer, need to _copy_ contents
-
-
- * Api/qwebpage.cpp:
- (QWebPage::contextMenuEvent):
- * Api/qwebpage_p.h:
-
-2007-11-09 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Holger.
-
- Renamed QWebPage::NumWebActions to QWebPage::WebActionCount (for consistency) and fixed its value.
-
-
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
-
-2007-11-08 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Sam.
-
- - windowObjectCleared() is no longer const. It needs to setup the
- script debugger and cannot be const to do so.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::windowObjectCleared):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-11-08 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by nobody (well, Holger knows about it), build fix for Qt 4.3.
-
- The buildbots use Qt 4.4 which has the function in question, but Qt
- 4.3 doesn't have it. Use removeAll() as replacement instead, it
- shouldn't make a difference in performance.
-
- * Api/qwebsettings.cpp:
- (QWebSettings::~QWebSettings):
-
-2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Lars Knoll <lars@trolltech.com>.
-
- Cleanup checking for the request method.
-
- * Check the request method only in QWebNetworkManager::add.
- * Currently HEAD, GET, POST are allowed and for everything else
- QWebNetworkManager::add returns false.
- * Returning false is compatible with ResourceHandle::start and it
- can be used in ResourceHandle::loadResourceSynchronously to generate
- a ResourceError
-
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::add):
-
-2007-11-08 Holger Hans Peter Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Lars Knoll <lars@trolltech.com>.
-
- Fix bug in the implementation of synchronous network jobs.
-
- * George (pmax) reviewed the networking patches and found the following bug (thanks for reviewing)
- - if (jobMode == AsynchronousJob) {
- + if (jobMode == SynchronousJob) {
- add job to synchronous list/hash
-
- * Just applying the above change will lead to crashes because we can finish
- jobs before we started them.
-
- * Avoid these issues by saving all work (starting a job, sending data and
- finishing it) inside one list. JobWork will contain any
- of the above three work types and doWork will just work on this list
- (m_pendingWork). As foreach takes a copy of the list calling started, data
- and finished will not add new work and we gurantee that if we have JobStarted
- it will be in the list before JobData and JobFinished.
-
- * Observation: We might just kill the code to handle sync jobs.
-
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::add):
- (QWebNetworkManager::queueStart):
- (QWebNetworkManager::queueData):
- (QWebNetworkManager::queueFinished):
- (QWebNetworkManager::doWork):
- * Api/qwebnetworkinterface_p.h:
- (QWebNetworkManager::JobWork::):
- (QWebNetworkManager::JobWork::JobWork):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Fix the Qt build by setting up WindowFeatures before calling
- createWindow on the Chrome. This is similar to openNewWindow in
- page/ContextMenuController.cpp
-
- * Api/qwebpage.cpp:
- (openNewWindow):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Make the setting of letting Javascript access the clipboard configurable through QWebSettings, turn it off by default and turn it on in DumpRenderTree.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::apply):
- * Api/qwebsettings.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Changed QWebPageHistory::goToItem to take a value instead of a pointer.
-
- * Api/qwebpagehistory.cpp:
- * Api/qwebpagehistory.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Removed unimplemented QWebHistoryItem::children() function
-
- * Api/qwebpagehistory.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Changed the getter functions in QWebSettings to transparently resolve against the default settings.
-
- * Api/qwebsettings.cpp:
- (QWebSettings::fontSize):
- (QWebSettings::fontFamily):
- (QWebSettings::testAttribute):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added explicit functions for resetting the font sizes and font families.
-
- * Api/qwebsettings.cpp:
- (QWebSettings::resetFontSize):
- (QWebSettings::resetFontFamily):
- * Api/qwebsettings.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Combined the font sizes accessors/setters under one setter/getter with an enum.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::QWebSettingsPrivate):
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- (QWebSettings::setFontSize):
- * Api/qwebsettings.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Renamed QWebPage::userAgentStringForUrl(url) to QWebPage::userAgentFor(url);
-
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::userAgent):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Renamed QWebPage::webActionTriggered to QWebPage::triggerAction
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::_q_webActionTriggered):
- (QWebPage::keyPressEvent):
- * Api/qwebpage.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Changed the virtual QWebPage::setWindowGeometry to be a geometryChangeRequest signal instead.
-
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::setWindowRect):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Renamed QWebPage::webAction() to QWebPage::action()
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createContextMenu):
- * Api/qwebpage.h:
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Removed a bunch of slots/functions that are now available through the new actions API.
-
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added some more comments to the API after another round of API review with Lars.
-
- * Api/qwebpage.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Moved QWebFrame::selectedText() to QWebPage::selectedText().
-
- The currently selected text is a property of the page as a whole.
-
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * Api/qwebpage.cpp:
- (QWebPage::selectedText):
- * Api/qwebpage.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Implemented support for settings propagation.
-
- If an individual setting is not set in a page's QWebSettings then it is inherited from the default settings.
-
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::QWebSettingsPrivate):
- (QWebSettingsPrivate::apply):
- (QWebSettings::QWebSettings):
- (QWebSettings::~QWebSettings):
- (QWebSettings::setFontFamily):
- * Api/qwebsettings.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Reworked the QWebSettings API.
- QWebPage now returns a pointer to its mutable QWebSettings object and the settings of newly created QWebPageObjects are initialized from QWebSettings::defaultSettings().
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::~QWebPagePrivate):
- (QWebPage::QWebPage):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebsettings.cpp:
- (QWebSettingsPrivate::QWebSettingsPrivate):
- (QWebSettingsPrivate::apply):
- (QWebSettings::defaultSettings):
- (QWebSettings::QWebSettings):
- (QWebSettings::setMinimumFontSize):
- (QWebSettings::setMinimumLogicalFontSize):
- (QWebSettings::setDefaultFontSize):
- (QWebSettings::setDefaultFixedFontSize):
- (QWebSettings::setUserStyleSheetLocation):
- (QWebSettings::setFontFamily):
- (QWebSettings::fontFamily):
- (QWebSettings::setAttribute):
- * Api/qwebsettings.h:
- * QtLauncher/main.cpp:
- (main):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Made the QWebSettings::webGraphic functions static. The implementation was using QWebSettings::global() anyway.
-
- * Api/qwebsettings.cpp:
- (QWebSettings::setWebGraphic):
- * Api/qwebsettings.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Moved the WebCore::Image specific function loadResourcePixmap from qwebsettings.cpp to ImageQt.cpp and made it static.
-
- * Api/qwebsettings.cpp:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Changed the icondatabase accessor to be a static function because it doesn't change the QWebSettings object.
-
- * Api/qwebsettings.cpp:
- * Api/qwebsettings.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Changed the webAction() accessor to not be a slot but just a public function.
-
- * Api/qwebpage.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Implemented createWindow() in QtLauncher.
-
- * QtLauncher/main.cpp:
- (WebPage::WebPage):
- (MainWindow::MainWindow):
- (WebPage::createWindow):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Implemented opening links in new windows
-
- * Api/qwebpage.cpp:
- (frameLoadRequest):
- (openNewWindow):
- (QWebPage::webActionTriggered):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added and implemented the "OpenLink" action.
-
- * Api/qwebpage.cpp:
- (webActionForContextMenuAction):
- (QWebPage::webActionTriggered):
- (QWebPage::webAction):
- * Api/qwebpage.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Adjust the state of the reload action correctly.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateAction):
- (QWebPagePrivate::updateNavigationActions):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Initialize the undo/redo actions from QUndoStack. That automatically takes care of enabling/disabling them as well as the activation/trigger.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateAction):
- (QWebPage::webAction):
- (QWebPage::undoStack):
- * Api/qwebpage.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added undo/redo toolbar buttons, moved the location line edit into a separate toolbar.
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Update the editor actions when the selection changes.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateAction):
- (QWebPagePrivate::updateEditorActions):
- * Api/qwebpage_p.h:
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::respondToChangedSelection):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added cut/copy/paste actions to the toolbar of QtLauncher
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Started working on keeping the state of the navigation actions up-to-date.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::updateAction):
- (QWebPagePrivate::updateNavigationActions):
- (QWebPage::webAction):
- * Api/qwebpage_p.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidCommitLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishDocumentLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientQt::postProgressStartedNotification):
- (WebCore::FrameLoaderClientQt::didPerformFirstNavigation):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Use the navigational web actions in the toolbar
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Store a bunch of QActions in QWebPagePrivate, corresponding to QWebPage::WebAction.
- Added QWebPageContext to hold context sensitive information (for example used by the context menu).
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (webActionForContextMenuAction):
- (QWebPagePrivate::createContextMenu):
- (QWebPagePrivate::_q_webActionTriggered):
- (QWebPage::webActionTriggered):
- (QWebPage::webAction):
- (QWebPage::contextMenuEvent):
- (QWebPageContext::QWebPageContext):
- (QWebPageContext::operator=):
- (QWebPageContext::~QWebPageContext):
- (QWebPageContext::pos):
- (QWebPageContext::text):
- (QWebPageContext::linkUrl):
- (QWebPageContext::imageUrl):
- (QWebPageContext::image):
- (QWebPageContext::targetFrame):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Moved the editing actions implemented in keyPressEvent into webActionTriggered.
-
- * Api/qwebpage.cpp:
- (QWebPage::webActionTriggered):
- (QWebPage::keyPressEvent):
- * Api/qwebpage.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Introduced a central virtual void webActionTriggered(WebAction action) method that is called from various
- convenience methods such as cut()/copy()/paste().
-
- * Api/qwebpage.cpp:
- (QWebPage::goBack):
- (QWebPage::webActionTriggered):
- (QWebPage::cut):
- (QWebPage::copy):
- * Api/qwebpage.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Restructure the context menu classes for the Qt port. ContextMenu and ContextMenuItem don't store
- QActions/QMenus anymore but just store the action type, tag, title and optionally submenu as created
- in ContextMenu::populate().
- For the actual Qt context menu we traverse this structure after sendContextMenuEvent and create a QMenu
- out of it. That menu is currently not functional anymore though.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createContextMenu):
- (QWebPage::contextMenuEvent):
- * Api/qwebpage_p.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Changed ContextMenu::setPlatformDescription for the Qt port to not show the qmenu right away
- but instead just behave as a normal setter that takes ownership of the platform menu description (the qmenu).
- Instead now QWebPage::contextMenuEvent() retrieves the QMenu after calling sendContextMenuEvent and calls exec()
- on it.
-
- * Api/qwebpage.cpp:
- (QWebPage::contextMenuEvent):
- * WebCoreSupport/ContextMenuClientQt.cpp:
- (WebCore::ContextMenuClientQt::getCustomMenuFromDefaultItems):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Changed to PlatformMouseEvent constructor to allow construction from a QContextMenuEvent.
- Call sendContextMenuEvent on the event handler from a QWidget::contextMenuEvent re-implementation instead of in mousePressEvent.
-
- * Api/qwebpage.cpp:
- (QWebPage::mousePressEvent):
- (QWebPage::contextMenuEvent):
- * Api/qwebpage.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Turned onLoadProgressChanged into a real private slot.
-
- * Api/qwebpage.cpp:
- (QWebPage::QWebPage):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Make QWebHistory an explicitly shared object, returned as a pointer by QWebPage::history().
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebpagehistory.cpp:
- (QWebPageHistory::QWebPageHistory):
- * Api/qwebpagehistory.h:
-
-2007-11-07 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- comments on API changes that we'd like to do.
-
- * Api/qwebpage.h:
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars Knoll <lars@trolltech.com>.
-
- Add a QWebPage::frameCreated() signal and fix DRT
-
- The removal of createFrame in QWebPage broke the re-implementation
- in DumpRenderTree. Instead emit a frameCreated() signal and
- connect to it in DumpRenderTree.
-
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createMainFrame):
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2007-11-07 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- Remove QWebPage::createFrame()
-
- now that QWebFrame doesn't have virtual methods anymore, there
- is no need for a createFrame() factory method in QWebpage.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createMainFrame):
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2007-11-07 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars Knoll <lars@trolltech.com>.
-
- Moved all the event handlers from QWebFrame into QWebPage.
-
- This cleans up the public API and allows us to remove the
- HackWebFrame hack in DumpRenderTree.
-
-
- * Api/qwebframe.cpp:
- (QWebFrame::pos):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::frameAt):
- (QWebPage::mouseMoveEvent):
- (QWebPage::mousePressEvent):
- (QWebPage::mouseDoubleClickEvent):
- (QWebPage::mouseReleaseEvent):
- (QWebPage::wheelEvent):
- * Api/qwebpage_p.h:
-
-2007-11-07 Holger Freyther <holger.freyther@trolltech.com>
-
- Reviewed by Lars Knoll <lars@trolltech.com>.
-
- Use correct UserAgent string.
-
- * Only have one User Agent String and this place is QWebPage
- * QWebPage::open -> QWebNetworkRequest -> QWebPage::open ->
- ResourceRequest -> FrameLoader::load -> QWebNetworkRequest
- * ResourceRequest is != 0 when getting called from WebCore, we
- will only do requests when coming from WebCore and then we can
- use the User-Agent set with the help of the FrameLoaderClient
- * We might want to change QWebNetworkRequest a bit
-
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkRequestPrivate::init):
-
-2007-11-07 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- remove two notImplemented() warnings, as I believe we don't
- have to implement these methods. Add some (commented out)
- debug code in one place.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::respondToChangedSelection):
- (WebCore::EditorClientQt::didWriteSelectionToPasteboard):
-
-2007-11-05 Tristan O'Tierney <tristan@apple.com>
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createWindow):
- * WebCoreSupport/ChromeClientQt.h:
- Revised to use new WebCore ChromeClient createWindow API.
-
-2007-10-31 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- fix most of the issues I found with Clipboard and DnD.
-
- * Api/qwebpage.cpp:
- (QWebPage::dragLeaveEvent):
-
-2007-10-31 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- QDrag objects need to be created on the heap.
-
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::DragClientQt::startDrag):
-
-2007-10-31 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- a dragLeave event is not the same as cancelling a drag.
-
- * Api/qwebpage.cpp:
-
-2007-10-26 Mark Rowe <mrowe@apple.com>
-
- Build fix. Add missing #include of Platform.h.
-
- * Api/qwebhistoryinterface.cpp:
-
-2007-10-25 Holger Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann <hausmann@kde.org>.
-
- * We need to set a != 0 status code for the fast/loader/xmlhttprequest-missing-file-exception.html
- * libxml2 has the semantic that when writing an empty string and finishing it will report an error. For QXmlStreamReader this is valid.
- * This is causing some regressions...
-
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::started):
- (QWebNetworkInterface::addJob):
-
-2007-10-25 Holger Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann <hausmann@kde.org>.
-
- * Make fast/loader/xmlhttprequest-bad-mimetype.html pass. We use QHttp to download local files but we may not set the HTTP result code on the ResourceResponse.
- * We can use the cross-platform result now. QWebNetworkInterface/Manager behaves the same as mac for local files.
-
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::started):
-
-2007-10-25 Holger Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann <hausmann@kde.org>.
-
- * fast/dom/onerror-img.html regressed due checking the JobStates because in case of error (e.g. not being able to connect) the job will no be started.
- * Use the error message from Qt. It might or might not be translated.
-
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkJob::errorString):
- (QWebNetworkJob::setErrorString):
- (QWebNetworkManager::finished):
- (QWebNetworkManager::doWork):
- (WebCoreHttp::onRequestFinished):
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
-
-2007-10-25 Holger Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann <hausmann@kde.org>.
-
- * Use the JobStatus to make sure to not deliver finished/data before the job has started. This is the case with the fast/dom/onerror-img.html test case.
- * We have no idea if any data will come so we can still finish and then get pending data. This luckily can't happen for the local file case.
-
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::doWork):
-
-2007-10-25 Holger Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann <hausmann@kde.org>.
-
- * No need to initialize values in the QWebNetworkJob c'tor
- * Add a JobStatus to QWebNetworkJob and verify that the jobs are handled in the way we expect them to be handled. This means no data after the job has finished, not finishing a job before it has been started.
-
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkJob::status):
- (QWebNetworkJob::setStatus):
- (QWebNetworkManager::started):
- (QWebNetworkManager::data):
- (QWebNetworkManager::finished):
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
- (QWebNetworkJobPrivate::QWebNetworkJobPrivate):
-
-2007-10-25 Holger Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann <hausmann@kde.org>.
-
- * Consistency: Always name the jobs job.
-
-
- * Api/qwebnetworkinterface.cpp:
- (WebCoreHttp::onReadyRead):
- (WebCoreHttp::onRequestFinished):
- (WebCoreHttp::onSslErrors):
- (WebCoreHttp::onAuthenticationRequired):
- (WebCoreHttp::onProxyAuthenticationRequired):
-
-2007-10-25 Holger Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann <hausmann@kde.org>.
-
- * Implement our own queuing of network jobs to allow special handling of synchronous jobs. This makes us pass the fast/dom/xmlhttprequest-html-response-encoding.html test without a crash. Sync jobs will get a special treatment over the normals ones and in theory more than one sync job is supported.
- * This should be thread-safe besides QWebNetworkJob::{ref,deref}
-
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkJob::~QWebNetworkJob):
- (QWebNetworkManager::QWebNetworkManager):
- (QWebNetworkManager::self):
- (QWebNetworkManager::add):
- (QWebNetworkManager::started):
- (QWebNetworkManager::finished):
- (QWebNetworkInterfacePrivate::sendFileData):
- (QWebNetworkInterfacePrivate::parseDataUrl):
- (QWebNetworkManager::queueStart):
- (QWebNetworkManager::queueData):
- (QWebNetworkManager::queueFinished):
- (QWebNetworkManager::doScheduleWork):
- (QWebNetworkManager::doWork):
- (gCleanupInterface):
- (QWebNetworkInterface::setDefaultInterface):
- (QWebNetworkInterface::defaultInterface):
- (QWebNetworkInterface::QWebNetworkInterface):
- (QWebNetworkInterface::started):
- (QWebNetworkInterface::data):
- (QWebNetworkInterface::finished):
- (WebCoreHttp::scheduleNextRequest):
- (WebCoreHttp::onResponseHeaderReceived):
- (WebCoreHttp::onReadyRead):
- (WebCoreHttp::onRequestFinished):
- (WebCoreHttp::cancel):
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
- (QWebNetworkManager::):
- (QWebNetworkManager::JobData::JobData):
- (QWebNetworkManager::JobFinished::JobFinished):
-
-2007-10-25 Holger Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann <hausmann@kde.org>.
-
- * Do the percent replacement only when we are not base64. With base64 we should not have any % in it anyway.
- * Have a custom decodePercentEncoding method that works without doing any charset conversion. With converting back to latin1() we lost some information.
- * We pass the char-decoding.html test now
-
-
- * Api/qwebnetworkinterface.cpp:
- (decodePercentEncoding):
- (QWebNetworkInterfacePrivate::parseDataUrl):
-
-2007-10-24 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Lars Knoll <lars@trolltech.com>.
-
- * Stop crashing on fast/events/frame-tab-focus.html the keyEvent can be 0.
-
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeypress):
-
-2007-10-24 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- remove some notImplemented() warnings.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::isContinuousSpellCheckingEnabled):
- (WebCore::EditorClientQt::isGrammarCheckingEnabled):
- (WebCore::EditorClientQt::respondToChangedSelection):
-
-2007-10-24 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- allow paste from DOM so we pass more test cases.
-
- * Api/qwebpage.cpp:
- (QWebPage::setSettings):
-
-2007-10-24 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- Simplify the PlatformKeyEvent constructor. No need to have an extra boolean for isKeyUp in there, as the QKeyEvent has the information.
-
- * Api/qwebpage.cpp:
- (QWebPage::keyPressEvent):
- (QWebPage::keyReleaseEvent):
-
-2007-10-24 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- some smaller fixes to the editing support in DRT. Makes another few tests pass.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (qt_dump_editing_callbacks):
- (qt_drt_run):
-
-2007-10-24 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- implemented support for most editing shortcuts to make contentEditable usable.
-
- * Api/qwebpage.cpp:
- (QWebPage::keyPressEvent):
-
-2007-10-24 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- no need to call setIsActive ourselves on the frame, as the focus controller does it for us.
-
- * Api/qwebpage.cpp:
- (QWebPage::focusInEvent):
-
-2007-10-24 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- Implement support for testing editing.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (qt_dump_editing_callbacks):
- (qt_dump_set_accepts_editing):
- (dumpPath):
- (dumpRange):
- (WebCore::EditorClientQt::shouldDeleteRange):
- (WebCore::EditorClientQt::shouldShowDeleteInterface):
- (WebCore::EditorClientQt::shouldBeginEditing):
- (WebCore::EditorClientQt::shouldEndEditing):
- (WebCore::EditorClientQt::shouldInsertText):
- (WebCore::EditorClientQt::shouldChangeSelectedRange):
- (WebCore::EditorClientQt::shouldApplyStyle):
- (WebCore::EditorClientQt::didBeginEditing):
- (WebCore::EditorClientQt::respondToChangedContents):
- (WebCore::EditorClientQt::respondToChangedSelection):
- (WebCore::EditorClientQt::didEndEditing):
- (WebCore::EditorClientQt::shouldInsertNode):
-
-2007-10-19 Alp Toker <alp@atoker.com>
-
- Reviewed by Oliver.
-
- GTK+ build fix enabling the new local database storage feature.
- There is also a prospective Qt build fix.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::runDatabaseSizeLimitPrompt):
- * WebCoreSupport/ChromeClientQt.h:
-
-2007-10-19 Simon Hausmann <hausmann@kde.org>
-
- Fix the Qt/Windows build: Include the moc file from the .cpp file so
- that config.h is included before wtf/MathExtras. The former defines
- the MSVC defines for rand_s.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2007-10-19 Simon Hausmann <shausman@trolltech.com>
-
- Reviewed by Lars.
-
- Fix the windows/qt build by including config.h first to fix wtf/MathExtras.h inclusion.
-
- * Api/qwebframe.cpp:
- * Api/qwebpage.cpp:
-
-2007-10-10 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Geoff Garen.
-
- changes to keep the build from breaking
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-10-09 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- set a default encoding for documents. Makes fast/dom/Document/document-charset.html pass.
-
- * Api/qwebpage.cpp:
- (QWebPage::setSettings):
-
-2007-10-09 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- Don't return a 404 status code for empty data: urls. Fixes fast/dom/HTMLHeadElement/head-check.html
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::add):
- (QWebNetworkManager::cancel):
- (QWebNetworkManager::started):
- (QWebNetworkManager::data):
- (QWebNetworkInterfacePrivate::parseDataUrl):
-
-2007-10-09 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- Don't set up connections inside QWebPage::createFrame, as users might be reimplementing that method. Make sure we get only one titleChanged() signal per title change, and implement the support for testing this in DRT.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createMainFrame):
- (QWebPage::createFrame):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveTitle):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-10-09 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- add a clear() method to QWebPageHistory.
-
- * Api/qwebpagehistory.cpp:
- (QWebPageHistory::clear):
- (QWebPageHistory::itemAtIndex):
- * Api/qwebpagehistory.h:
-
-2007-10-05 Lars Knoll <lars@trolltech.com>
-
- add proper error messages to the FrameLoaderClient.
- Implement ChromeClientQt::closeWindowSoon and
- FrameLoaderClientQt::dispatchCreatePage (which should go away IMO).
- Some fixes in DRT to make it work correctly with multiple windows.
-
- Reviewed by Maciej.
-
- * Api/qwebframe.h:
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::cancel):
- (QWebNetworkInterface::addJob):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::closeWindowSoon):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::cancelledError):
- (WebCore::):
- (WebCore::FrameLoaderClientQt::blockedError):
- (WebCore::FrameLoaderClientQt::cannotShowURLError):
- (WebCore::FrameLoaderClientQt::interruptForPolicyChangeError):
- (WebCore::FrameLoaderClientQt::cannotShowMIMETypeError):
- (WebCore::FrameLoaderClientQt::dispatchCreatePage):
-
-2007-10-03 Lars Knoll <lars@trolltech.com>
-
- Signed off by Olliej.
-
- move WebKitQt to WebKit/qt for consistency with the other ports.
-
- * Api/headers.pri: Renamed from WebKitQt/Api/headers.pri.
- * Api/qcookiejar.cpp: Renamed from WebKitQt/Api/qcookiejar.cpp.
- (QCookieJarPrivate::QCookieJarPrivate):
- (qHash):
- (QCookieJar::QCookieJar):
- (QCookieJar::~QCookieJar):
- (QCookieJar::setCookies):
- (QCookieJar::cookies):
- (QCookieJar::isEnabled):
- (QCookieJar::setEnabled):
- (gCleanupJar):
- (QCookieJar::setCookieJar):
- (QCookieJar::cookieJar):
- * Api/qcookiejar.h: Renamed from WebKitQt/Api/qcookiejar.h.
- * Api/qtwebkit.prf: Renamed from WebKitQt/Api/qtwebkit.prf.
- * Api/qwebframe.cpp: Renamed from WebKitQt/Api/qwebframe.cpp.
- (QWebFramePrivate::init):
- (QWebFramePrivate::parentFrame):
- (QWebFramePrivate::horizontalScrollBar):
- (QWebFramePrivate::verticalScrollBar):
- (QWebFrame::QWebFrame):
- (QWebFrame::~QWebFrame):
- (QWebFrame::addToJSWindowObject):
- (QWebFrame::markup):
- (QWebFrame::innerText):
- (QWebFrame::renderTreeDump):
- (QWebFrame::title):
- (QWebFrame::name):
- (QWebFrame::page):
- (QWebFrame::selectedText):
- (QWebFrame::childFrames):
- (QWebFrame::verticalScrollBarPolicy):
- (QWebFrame::setVerticalScrollBarPolicy):
- (QWebFrame::horizontalScrollBarPolicy):
- (QWebFrame::setHorizontalScrollBarPolicy):
- (QWebFrame::render):
- (QWebFrame::layout):
- (QWebFrame::pos):
- (QWebFrame::geometry):
- (QWebFrame::evaluateJavaScript):
- (QWebFrame::mouseMoveEvent):
- (QWebFrame::mousePressEvent):
- (QWebFrame::mouseDoubleClickEvent):
- (QWebFrame::mouseReleaseEvent):
- (QWebFrame::wheelEvent):
- * Api/qwebframe.h: Renamed from WebKitQt/Api/qwebframe.h.
- * Api/qwebframe_p.h: Renamed from WebKitQt/Api/qwebframe_p.h.
- (QWebFramePrivate::QWebFramePrivate):
- * Api/qwebhistoryinterface.cpp: Renamed from WebKitQt/Api/qwebhistoryinterface.cpp.
- (WebCore::historyContains):
- (gCleanupInterface):
- (QWebHistoryInterface::setDefaultInterface):
- (QWebHistoryInterface::defaultInterface):
- (QWebHistoryInterface::QWebHistoryInterface):
- * Api/qwebhistoryinterface.h: Renamed from WebKitQt/Api/qwebhistoryinterface.h.
- * Api/qwebkitglobal.h: Renamed from WebKitQt/Api/qwebkitglobal.h.
- * Api/qwebnetworkinterface.cpp: Renamed from WebKitQt/Api/qwebnetworkinterface.cpp.
- (qHash):
- (operator==):
- (QWebNetworkRequestPrivate::init):
- (QWebNetworkRequestPrivate::setURL):
- (QWebNetworkRequest::QWebNetworkRequest):
- (QWebNetworkRequest::operator=):
- (QWebNetworkRequest::~QWebNetworkRequest):
- (QWebNetworkRequest::url):
- (QWebNetworkRequest::setUrl):
- (QWebNetworkRequest::httpHeader):
- (QWebNetworkRequest::setHttpHeader):
- (QWebNetworkRequest::httpHeaderField):
- (QWebNetworkRequest::setHttpHeaderField):
- (QWebNetworkRequest::postData):
- (QWebNetworkRequest::setPostData):
- (QWebNetworkJob::QWebNetworkJob):
- (QWebNetworkJob::~QWebNetworkJob):
- (QWebNetworkJob::url):
- (QWebNetworkJob::postData):
- (QWebNetworkJob::httpHeader):
- (QWebNetworkJob::request):
- (QWebNetworkJob::response):
- (QWebNetworkJob::setResponse):
- (QWebNetworkJob::cancelled):
- (QWebNetworkJob::ref):
- (QWebNetworkJob::deref):
- (QWebNetworkJob::networkInterface):
- (QWebNetworkJob::frame):
- (QWebNetworkManager::QWebNetworkManager):
- (QWebNetworkManager::self):
- (QWebNetworkManager::add):
- (QWebNetworkManager::cancel):
- (QWebNetworkManager::started):
- (QWebNetworkManager::data):
- (QWebNetworkManager::finished):
- (QWebNetworkManager::addHttpJob):
- (QWebNetworkManager::cancelHttpJob):
- (QWebNetworkManager::httpConnectionClosed):
- (QWebNetworkInterfacePrivate::sendFileData):
- (QWebNetworkInterfacePrivate::parseDataUrl):
- (gCleanupInterface):
- (QWebNetworkInterface::setDefaultInterface):
- (QWebNetworkInterface::defaultInterface):
- (QWebNetworkInterface::QWebNetworkInterface):
- (QWebNetworkInterface::~QWebNetworkInterface):
- (QWebNetworkInterface::addJob):
- (QWebNetworkInterface::cancelJob):
- (WebCoreHttp::WebCoreHttp):
- (WebCoreHttp::~WebCoreHttp):
- (WebCoreHttp::request):
- (WebCoreHttp::scheduleNextRequest):
- (WebCoreHttp::getConnection):
- (WebCoreHttp::onResponseHeaderReceived):
- (WebCoreHttp::onReadyRead):
- (WebCoreHttp::onRequestFinished):
- (WebCoreHttp::onDone):
- (WebCoreHttp::onStateChanged):
- (WebCoreHttp::cancel):
- (WebCoreHttp::onSslErrors):
- (WebCoreHttp::onAuthenticationRequired):
- (WebCoreHttp::onProxyAuthenticationRequired):
- (HostInfo::HostInfo):
- * Api/qwebnetworkinterface.h: Renamed from WebKitQt/Api/qwebnetworkinterface.h.
- * Api/qwebnetworkinterface_p.h: Renamed from WebKitQt/Api/qwebnetworkinterface_p.h.
- (QWebNetworkJobPrivate::QWebNetworkJobPrivate):
- (WebCore::HostInfo::HostInfo):
- (WebCore::WebCoreHttp::HttpConnection::HttpConnection):
- * Api/qwebobjectplugin.cpp: Renamed from WebKitQt/Api/qwebobjectplugin.cpp.
- (QWebFactoryLoader::QWebFactoryLoader):
- (QWebFactoryLoader::self):
- (QWebFactoryLoader::descriptionForName):
- (QWebFactoryLoader::mimetypesForName):
- (QWebFactoryLoader::mimeTypeForExtension):
- (QWebFactoryLoader::extensions):
- (QWebFactoryLoader::nameForMimetype):
- (QWebFactoryLoader::create):
- (QWebObjectPlugin::QWebObjectPlugin):
- (QWebObjectPlugin::~QWebObjectPlugin):
- (QWebObjectPlugin::descriptionForKey):
- (QWebObjectPlugin::mimetypesForKey):
- (QWebObjectPlugin::extensionsForMimetype):
- * Api/qwebobjectplugin.h: Renamed from WebKitQt/Api/qwebobjectplugin.h.
- * Api/qwebobjectplugin_p.h: Renamed from WebKitQt/Api/qwebobjectplugin_p.h.
- (QWebFactoryLoader::names):
- (QWebFactoryLoader::supportsMimeType):
- * Api/qwebobjectpluginconnector.cpp: Renamed from WebKitQt/Api/qwebobjectpluginconnector.cpp.
- (QWebObjectPluginConnector::QWebObjectPluginConnector):
- (QWebObjectPluginConnector::frame):
- (QWebObjectPluginConnector::pluginParentWidget):
- (QWebObjectPluginConnector::requestUrl):
- * Api/qwebobjectpluginconnector.h: Renamed from WebKitQt/Api/qwebobjectpluginconnector.h.
- * Api/qwebpage.cpp: Renamed from WebKitQt/Api/qwebpage.cpp.
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::~QWebPagePrivate):
- (QWebPagePrivate::navigationRequested):
- (QWebPagePrivate::createMainFrame):
- (QWebPage::QWebPage):
- (QWebPage::~QWebPage):
- (QWebPage::createFrame):
- (QWebPage::open):
- (QWebPage::url):
- (QWebPage::title):
- (QWebPage::mainFrame):
- (QWebPage::sizeHint):
- (QWebPage::stop):
- (QWebPage::history):
- (QWebPage::goBack):
- (QWebPage::goForward):
- (QWebPage::goToHistoryItem):
- (QWebPage::javaScriptConsoleMessage):
- (QWebPage::javaScriptAlert):
- (QWebPage::javaScriptConfirm):
- (QWebPage::javaScriptPrompt):
- (QWebPage::createWindow):
- (QWebPage::createModalDialog):
- (QWebPage::createPlugin):
- (QWebPage::navigationRequested):
- (QWebPage::setWindowGeometry):
- (QWebPage::canCut):
- (QWebPage::canCopy):
- (QWebPage::canPaste):
- (QWebPage::cut):
- (QWebPage::copy):
- (QWebPage::paste):
- (QWebPage::isModified):
- (QWebPage::undoStack):
- (dropActionToDragOp):
- (dragOpToDropAction):
- (QWebPage::resizeEvent):
- (QWebPage::paintEvent):
- (QWebPage::mouseMoveEvent):
- (QWebPage::mousePressEvent):
- (QWebPage::mouseDoubleClickEvent):
- (QWebPage::mouseReleaseEvent):
- (QWebPage::wheelEvent):
- (QWebPage::keyPressEvent):
- (QWebPage::keyReleaseEvent):
- (QWebPage::focusInEvent):
- (QWebPage::focusOutEvent):
- (QWebPage::focusNextPrevChild):
- (QWebPage::dragEnterEvent):
- (QWebPage::dragLeaveEvent):
- (QWebPage::dragMoveEvent):
- (QWebPage::dropEvent):
- (QWebPage::setNetworkInterface):
- (QWebPage::networkInterface):
- (QWebPage::icon):
- (QWebPage::setSettings):
- (QWebPage::settings):
- (QWebPage::chooseFile):
- (QWebPage::setNetworkProxy):
- (QWebPage::networkProxy):
- (QWebPage::userAgentStringForUrl):
- (QWebPage::onLoadProgressChanged):
- (QWebPage::totalBytes):
- * Api/qwebpage.h: Renamed from WebKitQt/Api/qwebpage.h.
- * Api/qwebpage_p.h: Renamed from WebKitQt/Api/qwebpage_p.h.
- * Api/qwebpagehistory.cpp: Renamed from WebKitQt/Api/qwebpagehistory.cpp.
- (QWebHistoryItem::QWebHistoryItem):
- (QWebHistoryItem::operator=):
- (QWebHistoryItem::~QWebHistoryItem):
- (QWebHistoryItem::originalUrl):
- (QWebHistoryItem::currentUrl):
- (QWebHistoryItem::title):
- (QWebHistoryItem::lastVisited):
- (QWebHistoryItem::icon):
- (QWebPageHistory::QWebPageHistory):
- (QWebPageHistory::itemAtIndex):
- (QWebPageHistory::operator=):
- (QWebPageHistory::~QWebPageHistory):
- (QWebPageHistory::items):
- (QWebPageHistory::backItems):
- (QWebPageHistory::forwardItems):
- (QWebPageHistory::canGoBack):
- (QWebPageHistory::canGoForward):
- (QWebPageHistory::goBack):
- (QWebPageHistory::goForward):
- (QWebPageHistory::goToItem):
- (QWebPageHistory::backItem):
- (QWebPageHistory::currentItem):
- (QWebPageHistory::forwardItem):
- * Api/qwebpagehistory.h: Renamed from WebKitQt/Api/qwebpagehistory.h.
- (QExplicitlySharedDataPointer::operator*):
- (QExplicitlySharedDataPointer::operator->):
- (QExplicitlySharedDataPointer::operator T *):
- (QExplicitlySharedDataPointer::operator const T *):
- (QExplicitlySharedDataPointer::data):
- (QExplicitlySharedDataPointer::constData):
- (QExplicitlySharedDataPointer::operator==):
- (QExplicitlySharedDataPointer::operator!=):
- (QExplicitlySharedDataPointer::QExplicitlySharedDataPointer):
- (QExplicitlySharedDataPointer::~QExplicitlySharedDataPointer):
- (QExplicitlySharedDataPointer::operator=):
- (QExplicitlySharedDataPointer::operator!):
- (::QExplicitlySharedDataPointer):
- * Api/qwebpagehistory_p.h: Renamed from WebKitQt/Api/qwebpagehistory_p.h.
- (QWebHistoryItemPrivate::QWebHistoryItemPrivate):
- (QWebHistoryItemPrivate::~QWebHistoryItemPrivate):
- (QWebPageHistoryPrivate::QWebPageHistoryPrivate):
- (QWebPageHistoryPrivate::~QWebPageHistoryPrivate):
- * Api/qwebsettings.cpp: Renamed from WebKitQt/Api/qwebsettings.cpp.
- (QWebSettingsPrivate::QWebSettingsPrivate):
- (QWebSettings::QWebSettings):
- (QWebSettings::~QWebSettings):
- (QWebSettings::setMinimumFontSize):
- (QWebSettings::minimumFontSize):
- (QWebSettings::setMinimumLogicalFontSize):
- (QWebSettings::minimumLogicalFontSize):
- (QWebSettings::setDefaultFontSize):
- (QWebSettings::defaultFontSize):
- (QWebSettings::setDefaultFixedFontSize):
- (QWebSettings::defaultFixedFontSize):
- (QWebSettings::setUserStyleSheetLocation):
- (QWebSettings::userStyleSheetLocation):
- (QWebSettings::setIconDatabaseEnabled):
- (QWebSettings::iconDatabaseEnabled):
- (QWebSettings::setWebGraphic):
- (QWebSettings::webGraphic):
- (QWebSettings::operator=):
- (QWebSettings::setGlobal):
- (QWebSettings::global):
- (QWebSettings::setFontFamily):
- (QWebSettings::fontFamily):
- (QWebSettings::setAttribute):
- (QWebSettings::testAttribute):
- (loadResourcePixmap):
- * Api/qwebsettings.h: Renamed from WebKitQt/Api/qwebsettings.h.
- * ChangeLog: Renamed from WebKitQt/ChangeLog.
- * Plugins/ICOHandler.cpp: Renamed from WebKitQt/Plugins/ICOHandler.cpp.
- (IcoHeader::operator >>):
- (IcoHeader::BMP_INFOHDR::):
- (IcoHeader::operator<<):
- (IcoHeader::LessDifference::LessDifference):
- (IcoHeader::LessDifference::operator ()):
- (IcoHeader::loadFromDIB):
- (ICOHandler::ICOHandler):
- (ICOHandler::canRead):
- (ICOHandler::read):
- (ICOHandler::write):
- (ICOHandler::name):
- (ICOPlugin::keys):
- (ICOPlugin::capabilities):
- (ICOPlugin::create):
- * Plugins/ICOHandler.h: Renamed from WebKitQt/Plugins/ICOHandler.h.
- * Plugins/Plugins.pro: Renamed from WebKitQt/Plugins/Plugins.pro.
- * QtLauncher/QtLauncher.pro: Renamed from WebKitQt/QtLauncher/QtLauncher.pro.
- * QtLauncher/main.cpp: Renamed from WebKitQt/QtLauncher/main.cpp.
- (HoverLabel::HoverLabel):
- (HoverLabel::setHoverLink):
- (HoverLabel::sizeForFont):
- (HoverLabel::sizeHint):
- (HoverLabel::updateSize):
- (HoverLabel::resetAnimation):
- (HoverLabel::paintEvent):
- (HoverLabel::interpolate):
- (ClearButton::ClearButton):
- (ClearButton::paintEvent):
- (SearchEdit::SearchEdit):
- (SearchEdit::~SearchEdit):
- (SearchEdit::paintEvent):
- (SearchEdit::resizeEvent):
- (SearchEdit::moveEvent):
- (MainWindow::MainWindow):
- (MainWindow::changeLocation):
- (MainWindow::loadFinished):
- (MainWindow::showLinkHover):
- (MainWindow::resizeEvent):
- (main):
- * WebCoreSupport/ChromeClientQt.cpp: Renamed from WebKitQt/WebCoreSupport/ChromeClientQt.cpp.
- (WebCore::ChromeClientQt::ChromeClientQt):
- (WebCore::ChromeClientQt::~ChromeClientQt):
- (WebCore::ChromeClientQt::setWindowRect):
- (WebCore::ChromeClientQt::windowRect):
- (WebCore::ChromeClientQt::pageRect):
- (WebCore::ChromeClientQt::scaleFactor):
- (WebCore::ChromeClientQt::focus):
- (WebCore::ChromeClientQt::unfocus):
- (WebCore::ChromeClientQt::canTakeFocus):
- (WebCore::ChromeClientQt::takeFocus):
- (WebCore::ChromeClientQt::createWindow):
- (WebCore::ChromeClientQt::createModalDialog):
- (WebCore::ChromeClientQt::show):
- (WebCore::ChromeClientQt::canRunModal):
- (WebCore::ChromeClientQt::runModal):
- (WebCore::ChromeClientQt::setToolbarsVisible):
- (WebCore::ChromeClientQt::toolbarsVisible):
- (WebCore::ChromeClientQt::setStatusbarVisible):
- (WebCore::ChromeClientQt::statusbarVisible):
- (WebCore::ChromeClientQt::setScrollbarsVisible):
- (WebCore::ChromeClientQt::scrollbarsVisible):
- (WebCore::ChromeClientQt::setMenubarVisible):
- (WebCore::ChromeClientQt::menubarVisible):
- (WebCore::ChromeClientQt::setResizable):
- (WebCore::ChromeClientQt::addMessageToConsole):
- (WebCore::ChromeClientQt::chromeDestroyed):
- (WebCore::ChromeClientQt::canRunBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientQt::runBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientQt::closeWindowSoon):
- (WebCore::ChromeClientQt::runJavaScriptAlert):
- (WebCore::ChromeClientQt::runJavaScriptConfirm):
- (WebCore::ChromeClientQt::runJavaScriptPrompt):
- (WebCore::ChromeClientQt::setStatusbarText):
- (WebCore::ChromeClientQt::shouldInterruptJavaScript):
- (WebCore::ChromeClientQt::tabsToLinks):
- (WebCore::ChromeClientQt::windowResizerRect):
- (WebCore::ChromeClientQt::addToDirtyRegion):
- (WebCore::ChromeClientQt::scrollBackingStore):
- (WebCore::ChromeClientQt::updateBackingStore):
- (WebCore::ChromeClientQt::mouseDidMoveOverElement):
- (WebCore::ChromeClientQt::setToolTip):
- (WebCore::ChromeClientQt::print):
- * WebCoreSupport/ChromeClientQt.h: Renamed from WebKitQt/WebCoreSupport/ChromeClientQt.h.
- * WebCoreSupport/ContextMenuClientQt.cpp: Renamed from WebKitQt/WebCoreSupport/ContextMenuClientQt.cpp.
- (WebCore::ContextMenuClientQt::contextMenuDestroyed):
- (WebCore::ContextMenuClientQt::getCustomMenuFromDefaultItems):
- (WebCore::ContextMenuClientQt::contextMenuItemSelected):
- (WebCore::ContextMenuClientQt::downloadURL):
- (WebCore::ContextMenuClientQt::lookUpInDictionary):
- (WebCore::ContextMenuClientQt::speak):
- (WebCore::ContextMenuClientQt::stopSpeaking):
- (WebCore::ContextMenuClientQt::searchWithGoogle):
- * WebCoreSupport/ContextMenuClientQt.h: Renamed from WebKitQt/WebCoreSupport/ContextMenuClientQt.h.
- * WebCoreSupport/DragClientQt.cpp: Renamed from WebKitQt/WebCoreSupport/DragClientQt.cpp.
- (WebCore::DragClientQt::actionMaskForDrag):
- (WebCore::DragClientQt::willPerformDragDestinationAction):
- (WebCore::DragClientQt::dragControllerDestroyed):
- (WebCore::DragClientQt::dragSourceActionMaskForPoint):
- (WebCore::DragClientQt::willPerformDragSourceAction):
- (WebCore::DragClientQt::startDrag):
- * WebCoreSupport/DragClientQt.h: Renamed from WebKitQt/WebCoreSupport/DragClientQt.h.
- (WebCore::DragClientQt::DragClientQt):
- * WebCoreSupport/EditCommandQt.cpp: Renamed from WebKitQt/WebCoreSupport/EditCommandQt.cpp.
- (EditCommandQt::EditCommandQt):
- (EditCommandQt::~EditCommandQt):
- (EditCommandQt::redo):
- (EditCommandQt::undo):
- * WebCoreSupport/EditCommandQt.h: Renamed from WebKitQt/WebCoreSupport/EditCommandQt.h.
- * WebCoreSupport/EditorClientQt.cpp: Renamed from WebKitQt/WebCoreSupport/EditorClientQt.cpp.
- (WebCore::EditorClientQt::shouldDeleteRange):
- (WebCore::EditorClientQt::shouldShowDeleteInterface):
- (WebCore::EditorClientQt::isContinuousSpellCheckingEnabled):
- (WebCore::EditorClientQt::isGrammarCheckingEnabled):
- (WebCore::EditorClientQt::spellCheckerDocumentTag):
- (WebCore::EditorClientQt::shouldBeginEditing):
- (WebCore::EditorClientQt::shouldEndEditing):
- (WebCore::EditorClientQt::shouldInsertText):
- (WebCore::EditorClientQt::shouldChangeSelectedRange):
- (WebCore::EditorClientQt::shouldApplyStyle):
- (WebCore::EditorClientQt::shouldMoveRangeAfterDelete):
- (WebCore::EditorClientQt::didBeginEditing):
- (WebCore::EditorClientQt::respondToChangedContents):
- (WebCore::EditorClientQt::respondToChangedSelection):
- (WebCore::EditorClientQt::didEndEditing):
- (WebCore::EditorClientQt::didWriteSelectionToPasteboard):
- (WebCore::EditorClientQt::didSetSelectionTypesForPasteboard):
- (WebCore::EditorClientQt::selectWordBeforeMenuEvent):
- (WebCore::EditorClientQt::isEditable):
- (WebCore::EditorClientQt::registerCommandForUndo):
- (WebCore::EditorClientQt::registerCommandForRedo):
- (WebCore::EditorClientQt::clearUndoRedoOperations):
- (WebCore::EditorClientQt::canUndo):
- (WebCore::EditorClientQt::canRedo):
- (WebCore::EditorClientQt::undo):
- (WebCore::EditorClientQt::redo):
- (WebCore::EditorClientQt::shouldInsertNode):
- (WebCore::EditorClientQt::pageDestroyed):
- (WebCore::EditorClientQt::smartInsertDeleteEnabled):
- (WebCore::EditorClientQt::toggleContinuousSpellChecking):
- (WebCore::EditorClientQt::toggleGrammarChecking):
- (WebCore::EditorClientQt::handleKeypress):
- (WebCore::EditorClientQt::handleInputMethodKeypress):
- (WebCore::EditorClientQt::EditorClientQt):
- (WebCore::EditorClientQt::textFieldDidBeginEditing):
- (WebCore::EditorClientQt::textFieldDidEndEditing):
- (WebCore::EditorClientQt::textDidChangeInTextField):
- (WebCore::EditorClientQt::doTextFieldCommandFromEvent):
- (WebCore::EditorClientQt::textWillBeDeletedInTextField):
- (WebCore::EditorClientQt::textDidChangeInTextArea):
- (WebCore::EditorClientQt::ignoreWordInSpellDocument):
- (WebCore::EditorClientQt::learnWord):
- (WebCore::EditorClientQt::checkSpellingOfString):
- (WebCore::EditorClientQt::checkGrammarOfString):
- (WebCore::EditorClientQt::updateSpellingUIWithGrammarString):
- (WebCore::EditorClientQt::updateSpellingUIWithMisspelledWord):
- (WebCore::EditorClientQt::showSpellingUI):
- (WebCore::EditorClientQt::spellingUIIsShowing):
- (WebCore::EditorClientQt::getGuessesForWord):
- (WebCore::EditorClientQt::isEditing):
- (WebCore::EditorClientQt::setInputMethodState):
- * WebCoreSupport/EditorClientQt.h: Renamed from WebKitQt/WebCoreSupport/EditorClientQt.h.
- * WebCoreSupport/FrameLoaderClientQt.cpp: Renamed from WebKitQt/WebCoreSupport/FrameLoaderClientQt.cpp.
- (WebCore::FrameLoaderClientQt::FrameLoaderClientQt):
- (WebCore::FrameLoaderClientQt::~FrameLoaderClientQt):
- (WebCore::FrameLoaderClientQt::setFrame):
- (WebCore::FrameLoaderClientQt::webFrame):
- (WebCore::FrameLoaderClientQt::callPolicyFunction):
- (WebCore::FrameLoaderClientQt::slotCallPolicyFunction):
- (WebCore::FrameLoaderClientQt::hasWebView):
- (WebCore::FrameLoaderClientQt::hasFrameView):
- (WebCore::FrameLoaderClientQt::hasBackForwardList):
- (WebCore::FrameLoaderClientQt::resetBackForwardList):
- (WebCore::FrameLoaderClientQt::provisionalItemIsTarget):
- (WebCore::FrameLoaderClientQt::loadProvisionalItemFromPageCache):
- (WebCore::FrameLoaderClientQt::invalidateCurrentItemPageCache):
- (WebCore::FrameLoaderClientQt::privateBrowsingEnabled):
- (WebCore::FrameLoaderClientQt::makeDocumentView):
- (WebCore::FrameLoaderClientQt::makeRepresentation):
- (WebCore::FrameLoaderClientQt::forceLayout):
- (WebCore::FrameLoaderClientQt::forceLayoutForNonHTML):
- (WebCore::FrameLoaderClientQt::setCopiesOnScroll):
- (WebCore::FrameLoaderClientQt::tokenForLoadErrorReset):
- (WebCore::FrameLoaderClientQt::resetAfterLoadError):
- (WebCore::FrameLoaderClientQt::doNotResetAfterLoadError):
- (WebCore::FrameLoaderClientQt::willCloseDocument):
- (WebCore::FrameLoaderClientQt::detachedFromParent2):
- (WebCore::FrameLoaderClientQt::detachedFromParent3):
- (WebCore::FrameLoaderClientQt::detachedFromParent4):
- (WebCore::FrameLoaderClientQt::loadedFromCachedPage):
- (WebCore::FrameLoaderClientQt::dispatchDidHandleOnloadEvents):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidCancelClientRedirect):
- (WebCore::FrameLoaderClientQt::dispatchWillPerformClientRedirect):
- (WebCore::FrameLoaderClientQt::dispatchDidChangeLocationWithinPage):
- (WebCore::FrameLoaderClientQt::dispatchWillClose):
- (WebCore::FrameLoaderClientQt::dispatchDidStartProvisionalLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveTitle):
- (WebCore::FrameLoaderClientQt::dispatchDidCommitLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishDocumentLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFirstLayout):
- (WebCore::FrameLoaderClientQt::dispatchShow):
- (WebCore::FrameLoaderClientQt::cancelPolicyCheck):
- (WebCore::FrameLoaderClientQt::dispatchWillSubmitForm):
- (WebCore::FrameLoaderClientQt::dispatchDidLoadMainResource):
- (WebCore::FrameLoaderClientQt::clearLoadingFromPageCache):
- (WebCore::FrameLoaderClientQt::isLoadingFromPageCache):
- (WebCore::FrameLoaderClientQt::revertToProvisionalState):
- (WebCore::FrameLoaderClientQt::clearUnarchivingState):
- (WebCore::FrameLoaderClientQt::postProgressStartedNotification):
- (WebCore::FrameLoaderClientQt::postProgressEstimateChangedNotification):
- (WebCore::FrameLoaderClientQt::postProgressFinishedNotification):
- (WebCore::FrameLoaderClientQt::setMainFrameDocumentReady):
- (WebCore::FrameLoaderClientQt::willChangeTitle):
- (WebCore::FrameLoaderClientQt::didChangeTitle):
- (WebCore::FrameLoaderClientQt::finishedLoading):
- (WebCore::FrameLoaderClientQt::finalSetupForReplace):
- (WebCore::FrameLoaderClientQt::setDefersLoading):
- (WebCore::FrameLoaderClientQt::isArchiveLoadPending):
- (WebCore::FrameLoaderClientQt::cancelPendingArchiveLoad):
- (WebCore::FrameLoaderClientQt::clearArchivedResources):
- (WebCore::FrameLoaderClientQt::canShowMIMEType):
- (WebCore::FrameLoaderClientQt::representationExistsForURLScheme):
- (WebCore::FrameLoaderClientQt::generatedMIMETypeForURLScheme):
- (WebCore::FrameLoaderClientQt::frameLoadCompleted):
- (WebCore::FrameLoaderClientQt::restoreViewState):
- (WebCore::FrameLoaderClientQt::provisionalLoadStarted):
- (WebCore::FrameLoaderClientQt::shouldTreatURLAsSameAsCurrent):
- (WebCore::FrameLoaderClientQt::addHistoryItemForFragmentScroll):
- (WebCore::FrameLoaderClientQt::didFinishLoad):
- (WebCore::FrameLoaderClientQt::prepareForDataSourceReplacement):
- (WebCore::FrameLoaderClientQt::setTitle):
- (WebCore::FrameLoaderClientQt::userAgent):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveIcon):
- (WebCore::FrameLoaderClientQt::frameLoaderDestroyed):
- (WebCore::FrameLoaderClientQt::canHandleRequest):
- (WebCore::FrameLoaderClientQt::windowObjectCleared):
- (WebCore::FrameLoaderClientQt::didPerformFirstNavigation):
- (WebCore::FrameLoaderClientQt::registerForIconNotification):
- (WebCore::FrameLoaderClientQt::setDocumentViewFromCachedPage):
- (WebCore::FrameLoaderClientQt::updateGlobalHistoryForStandardLoad):
- (WebCore::FrameLoaderClientQt::updateGlobalHistoryForReload):
- (WebCore::FrameLoaderClientQt::shouldGoToHistoryItem):
- (WebCore::FrameLoaderClientQt::saveViewStateToItem):
- (WebCore::FrameLoaderClientQt::saveDocumentViewToCachedPage):
- (WebCore::FrameLoaderClientQt::canCachePage):
- (WebCore::FrameLoaderClientQt::setMainDocumentError):
- (WebCore::FrameLoaderClientQt::committedLoad):
- (WebCore::FrameLoaderClientQt::cancelledError):
- (WebCore::FrameLoaderClientQt::blockedError):
- (WebCore::FrameLoaderClientQt::cannotShowURLError):
- (WebCore::FrameLoaderClientQt::interruptForPolicyChangeError):
- (WebCore::FrameLoaderClientQt::cannotShowMIMETypeError):
- (WebCore::FrameLoaderClientQt::fileDoesNotExistError):
- (WebCore::FrameLoaderClientQt::shouldFallBack):
- (WebCore::FrameLoaderClientQt::createDocumentLoader):
- (WebCore::FrameLoaderClientQt::download):
- (WebCore::FrameLoaderClientQt::assignIdentifierToInitialRequest):
- (WebCore::FrameLoaderClientQt::dispatchWillSendRequest):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveAuthenticationChallenge):
- (WebCore::FrameLoaderClientQt::dispatchDidCancelAuthenticationChallenge):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveResponse):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveContentLength):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoading):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoading):
- (WebCore::FrameLoaderClientQt::dispatchDidLoadResourceFromMemoryCache):
- (WebCore::FrameLoaderClientQt::dispatchDidFailProvisionalLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoad):
- (WebCore::FrameLoaderClientQt::dispatchCreatePage):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
- (WebCore::FrameLoaderClientQt::dispatchUnableToImplementPolicy):
- (WebCore::FrameLoaderClientQt::startDownload):
- (WebCore::FrameLoaderClientQt::willUseArchive):
- (WebCore::FrameLoaderClientQt::createFrame):
- (WebCore::FrameLoaderClientQt::objectContentType):
- (WebCore::):
- (WebCore::FrameLoaderClientQt::createPlugin):
- (WebCore::FrameLoaderClientQt::redirectDataToPlugin):
- (WebCore::FrameLoaderClientQt::createJavaAppletWidget):
- (WebCore::FrameLoaderClientQt::overrideMediaType):
- * WebCoreSupport/FrameLoaderClientQt.h: Renamed from WebKitQt/WebCoreSupport/FrameLoaderClientQt.h.
- * WebCoreSupport/InspectorClientQt.cpp: Renamed from WebKitQt/WebCoreSupport/InspectorClientQt.cpp.
- (WebCore::InspectorClientQt::inspectorDestroyed):
- (WebCore::InspectorClientQt::createPage):
- (WebCore::InspectorClientQt::showWindow):
- (WebCore::InspectorClientQt::closeWindow):
- (WebCore::InspectorClientQt::attachWindow):
- (WebCore::InspectorClientQt::detachWindow):
- (WebCore::InspectorClientQt::highlight):
- (WebCore::InspectorClientQt::hideHighlight):
- * WebCoreSupport/InspectorClientQt.h: Renamed from WebKitQt/WebCoreSupport/InspectorClientQt.h.
- * WebKitPart/WebKitFactory.cpp: Renamed from WebKitQt/WebKitPart/WebKitFactory.cpp.
- (WebKitFactory::WebKitFactory):
- (WebKitFactory::~WebKitFactory):
- (WebKitFactory::createPartObject):
- (WebKitFactory::instance):
- (WebKitFactory::ref):
- (WebKitFactory::deref):
- * WebKitPart/WebKitFactory.h: Renamed from WebKitQt/WebKitPart/WebKitFactory.h.
- * WebKitPart/WebKitPart.cpp: Renamed from WebKitQt/WebKitPart/WebKitPart.cpp.
- (WebKitPart::WebKitPart):
- (WebKitPart::~WebKitPart):
- (WebKitPart::openFile):
- (WebKitPart::openUrl):
- (WebKitPart::closeUrl):
- (WebKitPart::parentPart):
- (WebKitPart::frame):
- (WebKitPart::initView):
- * WebKitPart/WebKitPart.desktop: Renamed from WebKitQt/WebKitPart/WebKitPart.desktop.
- * WebKitPart/WebKitPart.h: Renamed from WebKitQt/WebKitPart/WebKitPart.h.
- (WebKitPart::):
- * WebKitPart/WebKitPart.rc: Renamed from WebKitQt/WebKitPart/WebKitPart.rc.
- * WebKitPart/WebKitPartBrowser.rc: Renamed from WebKitQt/WebKitPart/WebKitPartBrowser.rc.
- * WebKitPart/WebKitPartBrowserExtension.cpp: Renamed from WebKitQt/WebKitPart/WebKitPartBrowserExtension.cpp.
- (WebKitPartBrowserExtension::WebKitPartBrowserExtension):
- * WebKitPart/WebKitPartBrowserExtension.h: Renamed from WebKitQt/WebKitPart/WebKitPartBrowserExtension.h.
- * WebKitPart/WebKitPartClient.cpp: Renamed from WebKitQt/WebKitPart/WebKitPartClient.cpp.
- (WebKitPartClient::WebKitPartClient):
- (WebKitPartClient::~WebKitPartClient):
- * WebKitPart/WebKitPartClient.h: Renamed from WebKitQt/WebKitPart/WebKitPartClient.h.
- * WebKitPart/WebKitPartInterface.cpp: Renamed from WebKitQt/WebKitPart/WebKitPartInterface.cpp.
- (WebKitPartInterface::WebKitPartInterface):
- (WebKitPartInterface::~WebKitPartInterface):
- (WebKitPartInterface::url):
- * WebKitPart/WebKitPartInterface.h: Renamed from WebKitQt/WebKitPart/WebKitPartInterface.h.
- * WebKitPart/org.kde.WebKitPart.xml: Renamed from WebKitQt/WebKitPart/org.kde.WebKitPart.xml.
-
-2007-10-02 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Eric Seidel.
-
- Open the requested url on the newly created window.
- Implement createModalDialog and provide new API for this.
- Patch by M. Mehdi Salem Naraghi (momesana) with additions by me.
-
- * Api/qwebpage.cpp:
- (QWebPage::createModalDialog):
- * Api/qwebpage.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createWindow):
- (WebCore::ChromeClientQt::createModalDialog):
-
-2007-10-02 Lars Knoll <lars@trolltech.com>
-
- Reviewed by bdash.
-
- Add API to retrieve the frame name from QWebFrame.
- Implement support for DRT::dumpChildrenAsText.
-
- * Api/qwebframe.cpp:
- (QWebFrame::name):
- * Api/qwebframe.h:
-
-2007-10-02 Lars Knoll <lars@trolltech.com>
-
- Reviewed by bdash.
-
- Fix the handling of the response header for data urls. Make sure we always pass absolute URLs to WebKit from both DRT and QtLauncher.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::started):
- (QWebNetworkManager::data):
- (QWebNetworkManager::finished):
- (QWebNetworkInterfacePrivate::sendFileData):
- (QWebNetworkInterfacePrivate::parseDataUrl):
- (WebCoreHttp::scheduleNextRequest):
- (WebCoreHttp::onSslErrors):
- * QtLauncher/main.cpp:
- (main):
-
-2007-10-01 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Eric.
-
- Fix a wrong extension mapping in the MIMETypeRegistry and identify about: url's as frames in the FrameLoaderClient.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::makeDocumentView):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFailProvisionalLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoad):
- (WebCore::FrameLoaderClientQt::objectContentType):
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2007-09-30 George Staikos <staikos@kde.org>
-
- Qt build fix (OS X specific).
-
- * QtLauncher/QtLauncher.pro:
-
-2007-09-26 Mark Rowe <mrowe@apple.com>
-
- Qt build fix.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::objectContentType): Check for empty URL instead of invalid URL.
-
-2007-09-25 David Kilzer <ddkilzer@webkit.org>
-
- Reviewed by Adam.
-
- - Fix http://bugs.webkit.org/show_bug.cgi?id=14885
- LGPL'ed files contain incorrect FSF address
-
- * Api/qcookiejar.cpp:
- * Api/qcookiejar.h:
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- * Api/qwebhistoryinterface.cpp:
- * Api/qwebhistoryinterface.h:
- * Api/qwebkitglobal.h:
- * Api/qwebnetworkinterface.cpp:
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
- * Api/qwebobjectplugin.cpp:
- * Api/qwebobjectplugin.h:
- * Api/qwebobjectpluginconnector.cpp:
- * Api/qwebobjectpluginconnector.h:
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * Api/qwebpagehistory.cpp:
- * Api/qwebpagehistory.h:
- * Api/qwebsettings.cpp:
- * Api/qwebsettings.h:
- * WebCoreSupport/EditCommandQt.cpp:
- * WebCoreSupport/EditCommandQt.h:
-
-2007-09-25 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Simon and Lars.
-
- Modifies the addToJSWindowObject to bind js objects using the built-in
- kjs_window class. Make sure to protect the created runtime object from
- garbage collection.
-
- Adds a signal to QWebFrame to notify clients of the beginning of a
- provisional load. DRT needs this.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJSWindowObject):
- * Api/qwebframe.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidStartProvisionalLoad):
-
-2007-09-10 Qing Zhao <qing@staikos.net>
-
- Reviewed by George Staikos.
-
- Don't re-encode urls, resulting in double encoding. Fixes login to
- GMail.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkRequestPrivate::init):
- (QWebNetworkManager::started):
-
-2007-09-08 Mark Rowe <mrowe@apple.com>
-
- Qt build fix. Move stub method implementations to the right class.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::didPerformFirstNavigation):
-
-2007-09-08 Brady Eidson <beidson@apple.com>
-
- YABF (Yet Another Build Fix)
-
- * Api/qwebsettings.cpp:
- (QWebSettings::iconDatabaseEnabled):
-
-2007-09-08 Brady Eidson <beidson@apple.com>
-
- Better build fix
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClient::registerForIconNotification):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-09-08 Brady Eidson <beidson@apple.com>
-
- Build fix
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClient::registerForIconNotification):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-09-05 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher.
-
- Fixed <rdar://problem/5326009> Make non-browser WebKit clients have no
- memory cache, or a very tiny one
-
- Keep the Qt build working with an empty stub.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClient::didPerformFirstNavigation):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-09-07 George Staikos <staikos@kde.org>
-
- Fix typo.
-
- * Api/qwebpage.cpp:
- (QWebPage::onLoadProgressChanged):
-
-2007-09-07 Qing Zhao <qing@staikos.net>
-
- Reviewed by Anders and George.
-
- Export page size and load progress in bytes.
-
- * Api/qwebpage.cpp:
- (QWebPage::QWebPage):
- (QWebPage::onLoadProgressChanged):
- (QWebPage::totalBytes):
- (QWebPage::bytesReceived):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
-
-2007-09-06 George Staikos <staikos@kde.org>
-
- Reviewed by Anders.
-
- Make popup windows work again.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
-
-2007-09-01 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Sam.
-
- <rdar://problem/5344848> IME is incorrectly used for key events when on non-editable regions
-
- EditorClient::setInputMethodState stub
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::setInputMethodState):
- * WebCoreSupport/EditorClientQt.h:
-
-2007-08-30 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- Use QKeySequence::StandardKey for the page wise scrolling shortcuts.
-
- * Api/qwebpage.cpp:
- (QWebPage::keyPressEvent):
-
-2007-08-30 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- When scrolling with the keyboard don't call update() on the entire widget.
- The scrollbar/scrollview implementation is already smart enough to scroll with bitblt
- on a value change.
-
- * Api/qwebpage.cpp:
- (QWebPage::keyPressEvent):
-
-2007-08-30 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- Fix scrolling with the keyboard if only one of the two scrollbars is visible.
-
- * Api/qwebpage.cpp:
- (QWebPage::keyPressEvent):
-
-2007-08-29 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- Fix compilation.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::objectContentType):
-
-2007-08-19 Mike Hommey <mh+webkit@glandium.org>
-
- Reviewed by George Staikos.
-
- Don't export ICO symbols.
-
- * Plugins/Plugins.pro:
-
-2007-08-19 George Staikos <staikos@kde.org>
-
- Fix compilation.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-08-10 Lars Knoll <lars@trolltech.com>
-
- Reviewed and landed by Simon.
-
- Limit the set of properties from the computed style to apply to Qt
- plugin widgets, as only a few of them make sense.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::):
-
-2007-08-10 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- Use <object>'s classid attribute for creation of plugins through QWebPage::createPlugin.
-
- * Api/qwebpage.cpp:
- (QWebPage::createPlugin):
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::objectContentType):
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2007-08-10 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added support for network jobs from Qt resources using the qrc protocol.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkInterface::addJob):
-
-2007-08-10 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added support for "application/x-qt-styled-widget" that is treated like "application/x-qt-plugin" but also
- gets a Qt widget stylesheet set from the CSS computed style and the element style attribute.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::objectContentType):
- (WebCore::):
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2007-08-10 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added virtual QWebPage::createPlugin that is called for embedded objects with the mime type "application/x-qt-plugin"
- and fixed widget embedding by setting the right QWidget parent.
-
- * Api/qwebpage.cpp:
- (QWebPage::createPlugin):
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::objectContentType):
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2007-08-02 George Staikos <staikos@kde.org>
-
- Reviewed by Simon.
-
- Add an interface for the useragent string.
-
- * Api/qwebpage.cpp:
- (QWebPage::userAgentStringForUrl):
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::userAgent):
-
-2007-08-01 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Add an interface to manage global history for clients
-
- * Api/headers.pri:
- * Api/qwebhistoryinterface.cpp: Added.
- (WebCore::historyContains):
- (gCleanupInterface):
- (QWebHistoryInterface::setDefaultInterface):
- (QWebHistoryInterface::defaultInterface):
- (QWebHistoryInterface::QWebHistoryInterface):
- * Api/qwebhistoryinterface.h: Added.
-
-2007-07-30 Adam Treat <adam.treat@torchmobile.com>
-
- Fix build.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::shouldMoveRangeAfterDelete):
- * WebCoreSupport/EditorClientQt.h:
-
-2007-07-30 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Link QtLauncher into $$OUTPUT_DIR/bin
-
- * QtLauncher/QtLauncher.pro:
-
-2007-07-29 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Change QWebPage::paintEvent to draw using the individual rects provided
- via the QRegion and set the widget to use opaque paint events.
-
- These changes greatly reduce the cpu load as we are no longer painting the
- entire page for each 1px scroll :P
-
- * Api/qwebframe.cpp:
- (QWebFrame::render):
- * Api/qwebpage.cpp:
- (QWebPage::QWebPage):
- (QWebPage::paintEvent):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::addToDirtyRegion):
-
-2007-07-29 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Respect the margins when creating frames.
- Set the scroll mode to always off like we did before the rendered
- frames patch and the other ports do now.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
-
-2007-07-27 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Mark.
-
- Don't create an app bundle on OSX to keep WebKitTools/Scripts/run-launcher working.
-
- * QtLauncher/QtLauncher.pro:
-
-2007-07-27 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Fix compilation with MSVC.
-
- * Api/qwebpagehistory.cpp:
- (QWebPageHistory::operator=):
- * Api/qwebpagehistory.h:
- * Api/qwebsettings.cpp:
- (QWebSettings::operator=):
- * Api/qwebsettings.h:
-
-2007-07-26 Qing Zhao <qing@staikos.net>
-
- Reviewed by George Staikos.
-
- Add a signal for history notification.
-
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2007-07-24 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by Niko and Lars.
-
- These are no longer necessary or used.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-07-20 Adam Treat <adam@staikos.net>
-
- Reviewed by George Staikos.
-
- Add a signal for first layout and add the action type for the policy
- function.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::navigationRequested):
- (QWebPage::navigationRequested):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidFirstLayout):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
-
-2007-07-19 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George.
-
- Do a recursive layout on the frame's children. This fixes a
- segfault found when rendering some framesets.
-
- * Api/qwebframe.cpp:
- (QWebFrame::render):
- (QWebFrame::layout):
- * Api/qwebframe.h:
-
-2007-07-18 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Adam.
-
- Make the Page with the now required InspectorClient.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * WebKitPart/WebKitPart.cpp:
- (WebKitPart::initView):
-
-2007-07-18 Sam Weinig <sam@webkit.org>
-
- Build fix.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::started):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::canShowMIMEType):
- (WebCore::FrameLoaderClientQt::objectContentType):
-
-2007-07-18 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack & Simon
-
- Reallow setting of scrollbar policies on QWebFrame.
-
- * Api/qwebframe.cpp:
- (QWebFrame::verticalScrollBarPolicy):
- (QWebFrame::setVerticalScrollBarPolicy):
- (QWebFrame::horizontalScrollBarPolicy):
- * Api/qwebframe.h:
-
-2007-07-17 Adam Treat <adam.treat@torchmobile.com>
-
- Build fix.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2007-07-17 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Blind build fix for Qt after r24366 by adding the additional
- WebCore::ResourceRequest& parameter to the download method.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::download):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-07-17 Adam Roben <aroben@apple.com>
-
- Remove ContextMenuClientQt::shouldIncludeInspectElementItem
-
- Reviewed by Tim.
-
- * WebCoreSupport/ContextMenuClientQt.cpp:
- * WebCoreSupport/ContextMenuClientQt.h:
-
-2007-07-16 Adam Roben <aroben@apple.com>
-
- Updated ChromeClientQt for ChromeClient changes.
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::print): Added a Frame* parameter.
- * WebCoreSupport/ChromeClientQt.h: Ditto.
-
-2007-07-13 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Mitz.
-
- Build fix. Stub out ChromeClientQt::print.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::print):
- * WebCoreSupport/ChromeClientQt.h:
-
-2007-07-12 George Staikos <staikos@kde.org>
-
- Qt build fix for assertions.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::add):
-
-2007-07-12 George Staikos <staikos@kde.org>
-
- Qt build fix.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::add):
-
-2007-07-10 Mark Rowe <mrowe@apple.com>
-
- Qt build fix after r24126.
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
-
-2007-07-10 Eli Fidler <eli@staikos.net>
-
- Reviewed by George Staikos.
-
- Properly url-decode data urls.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkInterfacePrivate::parseDataUrl):
-
-2007-07-09 Adam Treat <adam@staikos.net>
-
- Reviewed by George Staikos.
-
- Convert QWebFrame from a QFrame to a pure QObject to eliminate all
- traces of widgets.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
- (QWebFramePrivate::parentFrame):
- (QWebFrame::QWebFrame):
- (QWebFrame::render):
- (QWebFrame::pos):
- (QWebFrame::geometry):
- (QWebFrame::evaluateJavaScript):
- (QWebFrame::mouseMoveEvent):
- (QWebFrame::mousePressEvent):
- (QWebFrame::mouseDoubleClickEvent):
- (QWebFrame::mouseReleaseEvent):
- (QWebFrame::wheelEvent):
- * Api/qwebframe.h:
- * Api/qwebobjectpluginconnector.cpp:
- (QWebObjectPluginConnector::pluginParentWidget):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::createMainFrame):
- (QWebPage::QWebPage):
- (QWebPage::javaScriptAlert):
- (QWebPage::javaScriptConfirm):
- (QWebPage::javaScriptPrompt):
- (QWebPage::resizeEvent):
- (QWebPage::paintEvent):
- (QWebPage::mouseMoveEvent):
- (QWebPage::mousePressEvent):
- (QWebPage::mouseDoubleClickEvent):
- (QWebPage::mouseReleaseEvent):
- (QWebPage::wheelEvent):
- (QWebPage::keyPressEvent):
- (QWebPage::keyReleaseEvent):
- (QWebPage::focusInEvent):
- (QWebPage::focusOutEvent):
- (QWebPage::focusNextPrevChild):
- (QWebPage::chooseFile):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::addToDirtyRegion):
-
-2007-07-09 George Staikos <staikos@kde.org>
-
- Fix a minor memory leak in the loader.
-
- * Api/qwebnetworkinterface.cpp:
- (gCleanupInterface):
- (QWebNetworkInterface::setDefaultInterface):
- (QWebNetworkInterface::defaultInterface):
-
-2007-07-09 George Staikos <staikos@kde.org>
-
- Fix a massive memory leak in the loader.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::httpConnectionClosed):
- (WebCoreHttp::~WebCoreHttp):
-
-2007-07-09 George Staikos <staikos@kde.org>
-
- Reviewed by Simon.
-
- Rework much of the HTTP stuff to make it more stable, and add SSL and
- proxy support. Major memory leak also discovered but it needs more
- research as the obvious fix causes crashes.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::add):
- (QWebNetworkManager::started):
- (QWebNetworkManager::data):
- (WebCoreHttp::WebCoreHttp):
- (WebCoreHttp::~WebCoreHttp):
- (WebCoreHttp::request):
- (WebCoreHttp::scheduleNextRequest):
- (WebCoreHttp::getConnection):
- (WebCoreHttp::onResponseHeaderReceived):
- (WebCoreHttp::onReadyRead):
- (WebCoreHttp::onRequestFinished):
- (WebCoreHttp::onDone):
- (WebCoreHttp::onStateChanged):
- (WebCoreHttp::onSslErrors):
- (WebCoreHttp::onAuthenticationRequired):
- (WebCoreHttp::onProxyAuthenticationRequired):
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
- (WebCore::WebCoreHttp::HttpConnection::HttpConnection):
-
-2007-07-06 Adam Treat <adam@staikos.net>
-
- Reviewed by George Staikos.
-
- Convert QWebFrame to a QFrame from a scroll area.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
- (QWebFramePrivate::parentFrame):
- (QWebFramePrivate::horizontalScrollBar):
- (QWebFramePrivate::verticalScrollBar):
- (QWebFrame::QWebFrame):
- (QWebFrame::resizeEvent):
- (QWebFrame::suppressScrollbars):
- (QWebFrame::paintEvent):
- (QWebFrame::mouseMoveEvent):
- (QWebFrame::mousePressEvent):
- (QWebFrame::mouseDoubleClickEvent):
- (QWebFrame::mouseReleaseEvent):
- (QWebFrame::wheelEvent):
- (QWebFrame::keyPressEvent):
- (QWebFrame::focusInEvent):
- (QWebFrame::focusOutEvent):
- (QWebFrame::evaluateJavaScript):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- * Api/qwebobjectpluginconnector.cpp:
- (QWebObjectPluginConnector::pluginParentWidget):
-
-2007-07-04 Adam Roben <aroben@apple.com>
-
- Added a stub for ChromeClientQt::setToolTip
-
- Reviewed by Sam.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::setToolTip):
- * WebCoreSupport/ChromeClientQt.h:
-
-2007-07-04 Adam Roben <aroben@apple.com>
-
- Added a stub for ChromeClientQt::mouseDidMoveOverElement
-
- Reviewed by Sam.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::mouseDidMoveOverElement):
- * WebCoreSupport/ChromeClientQt.h:
-
-2007-06-28 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- Propagate mouse double click events from Qt to WebCore.
-
- * Api/qwebframe.cpp:
- (QWebFrame::mouseDoubleClickEvent):
- * Api/qwebframe.h:
-
-2007-06-28 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- Implemented clipboard functions in QWebPage, in particular can(Cut|Copy|Paste), cut/copy/paste as slot as well as a selectionChanged() signal.
-
- * Api/qwebpage.cpp:
- (QWebPage::canCut):
- (QWebPage::canCopy):
- (QWebPage::canPaste):
- (QWebPage::cut):
- (QWebPage::copy):
- (QWebPage::paste):
- * Api/qwebpage.h:
- * WebCoreSupport/EditorClientQt.cpp:
-
-2007-06-27 George Staikos <staikos@kde.org>
-
- Compile with various Qt configurations.
-
- * Api/qwebnetworkinterface.cpp:
- (WebCoreHttp::scheduleNextRequest):
- * Api/qwebpage.cpp:
- (QWebPage::javaScriptPrompt):
- (QWebPage::dragEnterEvent):
- (QWebPage::dragLeaveEvent):
- (QWebPage::dragMoveEvent):
- (QWebPage::dropEvent):
- (QWebPage::chooseFile):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::DragClientQt::startDrag):
-
-2007-06-27 Eli Fidler <eli@staikos.net>
-
- Reviewed by George Staikos.
-
- Check for QT_NO_IMAGE_TEXT and compile either way.
-
- * Plugins/ICOHandler.cpp:
- (ICOHandler::read):
-
-2007-06-27 Eli Fidler <eli@staikos.net>
-
- Reviewed by George Staikos.
-
- Remove QT3_SUPPORT dependency in the ICO plugin.
-
- * Plugins/ICOHandler.cpp:
- (IcoHeader::loadFromDIB):
-
-2007-06-25 George Staikos <staikos@kde.org>
-
- Reviewed by Zack.
-
- Start to add proxy and SSL support to WebKit Qt. Proxy works
- unauthenticated. Added hooks to be able to add authentication.
- Also fixes some network errors.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkRequestPrivate::setURL):
- (QWebNetworkJob::frame):
- (WebCoreHttp::WebCoreHttp):
- (WebCoreHttp::scheduleNextRequest):
- (WebCoreHttp::onRequestFinished):
- (WebCoreHttp::onDone):
- (WebCoreHttp::onSslErrors):
- (WebCoreHttp::onAuthenticationRequired):
- (WebCoreHttp::onProxyAuthenticationRequired):
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
- * Api/qwebpage.cpp:
- (QWebPage::setNetworkProxy):
- (QWebPage::networkProxy):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
-
-2007-06-21 Adam Treat <adam@staikos.net>
-
- Reviewed by George Staikos.
-
- Implement the default resources on Qt.
-
- * Api/qwebpage.cpp:
- (QWebPage::icon):
- * Api/qwebsettings.cpp:
- (QWebSettings::setWebGraphic):
- (QWebSettings::webGraphic):
- (loadResourcePixmap):
- * Api/qwebsettings.h:
-
-2007-06-15 Adam Treat <adam@staikos.net>
-
- Reviewed by George Staikos.
-
- Add ICO support to the Qt build.
-
- * Api/qwebpage.cpp:
- (QWebPage::icon):
- * Api/qwebpage.h:
- * Api/qwebsettings.cpp:
- (QWebSettings::setIconDatabaseEnabled):
- (QWebSettings::iconDatabaseEnabled):
- * Api/qwebsettings.h:
- * Plugins: Added.
- * Plugins/ICOHandler.cpp: Added.
- (IcoHeader::operator >>):
- (IcoHeader::BMP_INFOHDR::):
- (IcoHeader::operator<<):
- (IcoHeader::LessDifference::LessDifference):
- (IcoHeader::LessDifference::operator ()):
- (IcoHeader::loadFromDIB):
- (ICOHandler::ICOHandler):
- (ICOHandler::canRead):
- (ICOHandler::read):
- (ICOHandler::write):
- (ICOHandler::name):
- (ICOPlugin::keys):
- (ICOPlugin::capabilities):
- (ICOPlugin::create):
- * Plugins/ICOHandler.h: Added.
- * Plugins/Plugins.pro: Added.
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveIcon):
-
-2007-06-15 George Staikos <staikos@kde.org>
-
- Fixing the Qt build.
-
- * WebCoreSupport/ContextMenuClientQt.cpp:
- (WebCore::ContextMenuClientQt::shouldIncludeInspectElementItem):
- * WebCoreSupport/ContextMenuClientQt.h:
-
-2007-06-20 Adam Roben <aroben@apple.com>
-
- More speculative Qt build fixes.
-
- Add a stub implementation of InspectorClientQt.
-
- * WebCoreSupport/InspectorClientQt.cpp: Added.
- (WebCore::InspectorClientQt::inspectorDestroyed):
- (WebCore::InspectorClientQt::createPage):
- (WebCore::InspectorClientQt::showWindow):
- (WebCore::InspectorClientQt::closeWindow):
- (WebCore::InspectorClientQt::attachWindow):
- (WebCore::InspectorClientQt::detachWindow):
- (WebCore::InspectorClientQt::highlight):
- (WebCore::InspectorClientQt::hideHighlight):
- * WebCoreSupport/InspectorClientQt.h: Added.
-
-2007-06-19 George Staikos <staikos@kde.org>
-
- Reviewed by Tim Hatcher.
-
- Add https support.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkInterface::addJob):
- (QWebNetworkInterface::cancelJob):
- (WebCoreHttp::WebCoreHttp):
-
-2007-06-14 George Staikos <staikos@kde.org>
-
- Reviewed by Lars.
-
- Add evaluateJavaScript() method.
-
- * Api/qwebframe.cpp:
- (QWebFrame::evaluateJavaScript):
- * Api/qwebframe.h:
-
-2007-06-14 George Staikos <staikos@kde.org>
-
- Reviewed by Lars.
-
- Implement most of the editing commands, better focus handling, fix some
- keyboard and mouse handling, and add keyboard navigation. May be
- refactored later as the key switches are ugly.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
- (QWebFrame::mousePressEvent):
- (QWebFrame::mouseReleaseEvent):
- (QWebFrame::wheelEvent):
- (QWebFrame::keyPressEvent):
- (QWebFrame::keyReleaseEvent):
- (QWebFrame::focusInEvent):
- (QWebFrame::focusOutEvent):
- (QWebFrame::focusNextPrevChild):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeypress):
-
-2007-06-14 George Staikos <staikos@kde.org>
-
- Reviewed by Lars.
-
- Implement all of the Javascript dialogs and file chooser.
- Also makes the statusbar virtual into a signal and shuffles some
- virtuals around a bit. The helper in FrameLoaderClientQt may go away
- shortly.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPage::javaScriptAlert):
- (QWebPage::javaScriptConfirm):
- (QWebPage::javaScriptPrompt):
- (QWebPage::chooseFile):
- * Api/qwebpage.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::canRunBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientQt::runBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientQt::runJavaScriptAlert):
- (WebCore::ChromeClientQt::runJavaScriptConfirm):
- (WebCore::ChromeClientQt::runJavaScriptPrompt):
- (WebCore::ChromeClientQt::setStatusbarText):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::chooseFile):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-06-14 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- Removed QWebHistoryItem::parent() as it is not implemented and WebCore's
-
- HistoryItem itself doesn't seem to have a parent pointer either.
-
- * Api/qwebpagehistory.h:
-
-2007-06-14 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- Make it possible to copy QWebHistoryItem objects.
-
- * Api/qwebpagehistory.cpp:
- * Api/qwebpagehistory.h:
-
-2007-06-14 Lars Knoll <lars@trolltech.com>
-
- Reviewed by George
-
- Fix a crash when a request from the plugin resulted
- in a HTTP redirect.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::started):
-
-2007-06-14 Lars Knoll <lars@trolltech.com>
-
- Reviewed by George.
-
- Work around a bug in Qt's QHttp implementation and
- get web pages to load again.
-
- * Api/qwebpage.cpp:
- (QWebPage::open):
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added a make install target that installs the Qt port and renamed
- WebKitQt to QtWebKit
-
- * Api/headers.pri: Added.
- * Api/qtwebkit.prf: Added.
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added httpHeaderField setter/getter to QWebNetworkRequest for convenience.
-
- * Api/qwebnetworkinterface.cpp:
- * Api/qwebnetworkinterface.h:
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Changed QWebObjectPluginConnector::requestUrl to take a QWebNetworkRequest as argument.
-
- * Api/qwebnetworkinterface.h:
- * Api/qwebobjectpluginconnector.cpp:
- (QWebObjectPluginConnector::requestUrl):
- * Api/qwebobjectpluginconnector.h:
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added a QWebNetworkRequest convenience constructor.
-
- * Api/qwebnetworkinterface.cpp:
- * Api/qwebnetworkinterface.h:
- * Api/qwebpage.cpp:
- (QWebPage::open):
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Changed the QWebPage::open(const QUrl &url, const QHttpRequestHeader &httpHeader, const QByteArray &postData)
- overload to take a QWebNetworkRequest instead.
-
- * Api/qwebpage.cpp:
- (QWebPage::open):
- * Api/qwebpage.h:
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- In QWebPage::open(const QUrl &, const QHttpRequestHeader &, ...) don't make the population
- of the WebCore::ResourceRequest depend on the validity of the QHttpRequestHeader but just
- pick the individual fields if we can use them.
-
- * Api/qwebpage.cpp:
- (QWebPage::open):
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Minor QWebNetworkRequet API fixlet
-
- * Api/qwebnetworkinterface.cpp:
- * Api/qwebnetworkinterface.h:
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Use QWebNetworkRequest for QWebPage::navigationRequested.
-
- * Api/qwebnetworkinterface.cpp:
- * Api/qwebnetworkinterface.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::navigationRequested):
- (QWebPage::navigationRequested):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Some docs for QWebNetworkRequest
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkRequest::QWebNetworkRequest):
- (QWebNetworkRequest::~QWebNetworkRequest):
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Moved QWebNetworkJob::Method enum into QWebNetworkRequest.
-
- * Api/qwebnetworkinterface.h:
- * Api/qwebobjectpluginconnector.cpp:
- (QWebObjectPluginConnector::requestUrl):
- * Api/qwebobjectpluginconnector.h:
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Rename QWebNetworkJob::request() into QWebNetworkJob::httpHeader() and added
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkJob::postData):
- (WebCoreHttp::WebCoreHttp):
- (WebCoreHttp::scheduleNextRequest):
- * Api/qwebnetworkinterface.h:
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Introduce QWebNetworkRequest in the public API.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkRequestPrivate::init):
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Changed QWebNetworkJobPrivate to aggregate a QWebNetworkRequest instead of inheriting from it.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::add):
- (QWebNetworkManager::started):
- (QWebNetworkManager::data):
- (QWebNetworkManager::finished):
- * Api/qwebnetworkinterface_p.h:
- * Api/qwebobjectpluginconnector.cpp:
- (QWebObjectPluginConnector::requestUrl):
-
-2007-06-13 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Rename QWebNetworkRequest::request into QWebNetworkRequest::httpHeader.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkRequest::init):
- (QWebNetworkRequest::setURL):
- (QWebNetworkManager::add):
- (QWebNetworkManager::started):
- * Api/qwebnetworkinterface_p.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
-
-2007-06-12 Lars Knoll <lars@trolltech.com>
-
- Reviewed by George Staikos.
-
- Remove duplicate symbols.
-
- * Api/qwebobjectplugin_p.h:
-
-2007-06-13 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Niko.
-
- Fix compilation, and remove dependency on Qt
- private header.
-
- * Api/qwebobjectplugin_p.h:
- (QWebFactoryLoader::supportsMimeType):
-
-2007-06-13 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Niko.
-
- Parts of the patch done by Zack.
- Fix up some parts in the implementation of QWebNetworkInterface
- so it can be used by plugins.
- Change the plugin API so we can actually get all the information
- required by the JS bridge from them as well.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkJob::cancelled):
- (QWebNetworkManager::cancel):
- (QWebNetworkManager::started):
- (QWebNetworkManager::finished):
- * Api/qwebobjectplugin.cpp:
- (QWebFactoryLoader::QWebFactoryLoader):
- (QWebFactoryLoader::descriptionForName):
- (QWebFactoryLoader::mimetypesForName):
- (QWebFactoryLoader::mimeTypeForExtension):
- (QWebFactoryLoader::extensions):
- (QWebFactoryLoader::nameForMimetype):
- (QWebFactoryLoader::create):
- (QWebObjectPlugin::descriptionForKey):
- (QWebObjectPlugin::mimetypesForKey):
- * Api/qwebobjectplugin.h:
- * Api/qwebobjectplugin_p.h:
- (QWebFactoryLoader::names):
- * Api/qwebobjectpluginconnector.cpp:
- (QWebObjectPluginConnector::requestUrl):
- * Api/qwebpage.cpp:
- (QWebPage::networkInterface):
-
-2007-06-11 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added a QWebPage::open overload to allow specifying the http header and post data.
- (it's an overload instead of a merged openUrl to avoid including qhttp.h in qwebpage.h,
- which would imply that one has to have QT += network in the .pro file for using WebKitQt)
-
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
-
-2007-06-11 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added the possibility to intercept url requests through QWebPage::navigationRequested.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPage::createFrame):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2007-06-11 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Added a QWebNetworkRequest::init overload that takes a WebCore::ResourceRequest,
- to be called from FrameLoaderClientQt in the near future.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::add):
- * Api/qwebnetworkinterface_p.h:
-
-2007-06-11 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Moved the postData setup into QWebNetworkRequest::init.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkRequest::init):
- (QWebNetworkManager::add):
-
-2007-06-11 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Moved HTTP header field propagation to QWebNetworkRequest::init.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkRequest::init):
- (QWebNetworkManager::add):
-
-2007-06-11 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- Started moving the code to separate a WebCore::ResourceRequest into a QUrl, postData
- and QHttpRequestHeader into a separate little QWebNetworkRequest struct.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkRequest::init):
- (QWebNetworkManager::add):
- * Api/qwebnetworkinterface_p.h:
- * Api/qwebobjectpluginconnector.cpp:
- (QWebObjectPluginConnector::requestUrl):
-
-2007-06-11 Zack Rusin <zrusin@trolltech.com>
-
- Reviewed by Lars
-
- Forgot to export the plugin connector.
-
- * Api/qwebobjectpluginconnector.h
-
-2007-06-08 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack.
-
- Add a QWebObjectPluginConnector class. The class will
- facility communication between the plugin and WebKit.
- Currently it's used to make the plugin network capable.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkJobPrivate::setDefaults):
- (QWebNetworkManager::add):
- (QWebNetworkManager::started):
- (QWebNetworkManager::data):
- (QWebNetworkManager::finished):
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
- (QWebNetworkJobPrivate::QWebNetworkJobPrivate):
- * Api/qwebobjectplugin.cpp:
- (QWebFactoryLoader::create):
- * Api/qwebobjectplugin.h:
- * Api/qwebobjectplugin_p.h:
- * Api/qwebobjectpluginconnector.cpp: Added.
- (QWebObjectPluginConnector::QWebObjectPluginConnector):
- (QWebObjectPluginConnector::frame):
- (QWebObjectPluginConnector::pluginParentWidget):
- (QWebObjectPluginConnector::requestUrl):
- * Api/qwebobjectpluginconnector.h: Added.
- (QWebObjectPluginConnector::):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2007-06-06 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- Add an API to create and load plugins.
- Don't include moc files by hand anymore, rather let
- qmake handle them.
-
- * Api/qcookiejar.cpp:
- (QCookieJar::cookieJar):
- * Api/qwebframe.cpp:
- (QWebFrame::scrollContentsBy):
- * Api/qwebnetworkinterface.cpp:
- * Api/qwebobjectplugin.cpp: Added.
- (QWebFactoryLoader::QWebFactoryLoader):
- (QWebFactoryLoader::self):
- (QWebFactoryLoader::mimeTypeForExtension):
- (QWebFactoryLoader::create):
- (QWebObjectPlugin::QWebObjectPlugin):
- (QWebObjectPlugin::~QWebObjectPlugin):
- (QWebObjectPlugin::extensionsForMimetype):
- * Api/qwebobjectplugin.h: Added.
- * Api/qwebobjectplugin_p.h: Added.
- (QWebFactoryLoader::mimeTypes):
- (QWebFactoryLoader::extensions):
- (QWebFactoryLoader::supportsMimeType):
- * Api/qwebpage.cpp:
- (QWebPage::settings):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidHandleOnloadEvents):
- (WebCore::FrameLoaderClientQt::postProgressEstimateChangedNotification):
- (WebCore::FrameLoaderClientQt::objectContentType):
- (WebCore::FrameLoaderClientQt::createPlugin):
-
-2007-05-28 Zack Rusin <zrusin@trolltech.com>
-
- Reviewed by andersca and simon
-
- Adding public settings Api to the Qt port.
- QWebSetting's is a value based settings
- object settable on the QWebPage.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPage::QWebPage):
- (QWebPage::setSettings):
- (QWebPage::settings):
- * Api/qwebpage.h:
- * Api/qwebsettings.cpp: Added.
- (QWebSettingsPrivate::QWebSettingsPrivate):
- (QWebSettings::QWebSettings):
- (QWebSettings::~QWebSettings):
- (QWebSettings::setMinimumFontSize):
- (QWebSettings::minimumFontSize):
- (QWebSettings::setMinimumLogicalFontSize):
- (QWebSettings::minimumLogicalFontSize):
- (QWebSettings::setDefaultFontSize):
- (QWebSettings::defaultFontSize):
- (QWebSettings::setDefaultFixedFontSize):
- (QWebSettings::defaultFixedFontSize):
- (QWebSettings::setUserStyleSheetLocation):
- (QWebSettings::userStyleSheetLocation):
- (QWebSettings::setGlobal):
- (QWebSettings::global):
- (QWebSettings::setFontFamily):
- (QWebSettings::fontFamily):
- (QWebSettings::setAttribute):
- (QWebSettings::testAttribute):
- * Api/qwebsettings.h: Added.
- * QtLauncher/main.cpp:
- (main):
-2007-05-27 Kevin Ollivier <kevino@theolliviers.com>
-
- Reviewed by Sam Weinig.
-
- Consolidate all notImplemented() macro definitions into
- one header file for all platforms.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- * WebCoreSupport/ContextMenuClientQt.cpp:
- * WebCoreSupport/EditorClientQt.cpp:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2007-05-25 George Staikos <staikos@kde.org>
-
- Reviewed by Simon.
-
- The http loader should only ask for .... http cookies!
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::add):
-
-2007-05-24 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- Fix multipart/form-data HTTP POSTs. The content-type wasn't set
- correctly. Fortunately WebCore does it already, so there's no need
- for us to do it since we already transfer all HTTP header fields :)
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::add):
-
-2007-05-23 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack, idea from Lars.
-
- Share WebCoreHttp and therefore HTTP connections among multiple
- QWebNetworkInterface instances by moving the code into
- QWebNetworkManager.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::addHttpJob):
- (QWebNetworkManager::cancelHttpJob):
- (QWebNetworkManager::httpConnectionClosed):
- (QWebNetworkInterface::addJob):
- (QWebNetworkInterface::cancelJob):
- (WebCoreHttp::scheduleNextRequest):
- (WebCoreHttp::onResponseHeaderReceived):
- (WebCoreHttp::onReadyRead):
- (WebCoreHttp::onRequestFinished):
- (WebCoreHttp::cancel):
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
-
-2007-05-23 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack, discussed also with Lars.
-
- Make it possible to specify a per-QWebPage network interface (needed
- for the KDE KIO integration).
-
- Merged the file and the network loader into
- QWebNetworkInterface(Private), which simplifies the loading code.
-
- When receiving a redirection don't emit the data of the redirected job
- to the document. (otherwise the kind of "This page has moved" text
- appears right on top of the real page content)
-
- * Api/qwebnetworkinterface.cpp:
- (qHash):
- (operator==):
- (QWebNetworkJob::QWebNetworkJob):
- (QWebNetworkJob::networkInterface):
- (QWebNetworkManager::add):
- (QWebNetworkManager::cancel):
- (QWebNetworkManager::data):
- (QWebNetworkManager::finished):
- (QWebNetworkInterfacePrivate::sendFileData):
- (QWebNetworkInterfacePrivate::parseDataUrl):
- (QWebNetworkInterfacePrivate::addHttpJob):
- (QWebNetworkInterfacePrivate::httpConnectionClosed):
- (QWebNetworkInterface::setDefaultInterface):
- (QWebNetworkInterface::QWebNetworkInterface):
- (QWebNetworkInterface::addJob):
- (QWebNetworkInterface::cancelJob):
- (WebCoreHttp::scheduleNextRequest):
- (WebCoreHttp::onResponseHeaderReceived):
- (WebCoreHttp::onReadyRead):
- (WebCoreHttp::onRequestFinished):
- (WebCoreHttp::cancel):
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPage::setNetworkInterface):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
-
-2007-05-23 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- Don't do HTTP downloads in a second thread. Simplifies
- the code significantly and fixes crashes on some
- Web pages.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::add):
- (QWebNetworkInterface::QWebNetworkInterface):
- (QWebNetworkInterface::addJob):
- (QWebNetworkInterface::cancelJob):
- (LoaderThread::LoaderThread):
- (LoaderThread::run):
- (WebCoreHttp::cancel):
- (NetworkLoader::NetworkLoader):
- (NetworkLoader::request):
- (NetworkLoader::cancel):
- * Api/qwebnetworkinterface_p.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::committedLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveContentLength):
-
-2007-05-23 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkJobPrivate::setURL):
- (QWebNetworkManager::started):
- Fix Host: line in HTTP headers and resolving of relative URLs
- when redirecting.
- * Api/qwebnetworkinterface_p.h:
- Clean up qHash forward declaration a bit.
-
-2007-05-23 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow): Fix loading progress signal/slot connection.
-
-2007-05-22 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Lars.
-
- * Api/qwebnetworkinterface.cpp:
- (QWebNetworkManager::add): Fix http headers for POST.
-
-2007-05-21 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Simon
-
- Remove the userHandle methods from QWebnetworkJob again.
- They don't really give us anything and just clutter the API.
-
- * Api/qwebnetworkinterface.cpp:
- * Api/qwebnetworkinterface.h:
- * Api/qwebnetworkinterface_p.h:
-
-2007-05-21 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- * Api/qwebnetworkinterface.h: Export the net API.
-
-2007-05-21 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack.
-
- Add an API layer for network downloads. Basically QWebnetworkInterface
- is an interface class for downloading resources. QWebnetworkJob describes
- the actual object to download.
-
- QWebNetworkInterface has a default implementation that replaces the
- old ResourceHandleManager class in the Qt port.
-
- * Api/qwebnetworkinterface.cpp: Added.
- (QWebNetworkJobPrivate::setURL):
- (QWebNetworkJob::QWebNetworkJob):
- (QWebNetworkJob::~QWebNetworkJob):
- (QWebNetworkJob::url):
- (QWebNetworkJob::postData):
- (QWebNetworkJob::request):
- (QWebNetworkJob::response):
- (QWebNetworkJob::setResponse):
- (QWebNetworkJob::cancelled):
- (QWebNetworkJob::ref):
- (QWebNetworkJob::deref):
- (QWebNetworkJob::setUserHandle):
- (QWebNetworkJob::userHandle):
- (QWebNetworkManager::QWebNetworkManager):
- (QWebNetworkManager::self):
- (QWebNetworkManager::add):
- (QWebNetworkManager::cancel):
- (QWebNetworkManager::started):
- (QWebNetworkManager::data):
- (QWebNetworkManager::finished):
- (QWebNetworkInterface::setDefaultInterface):
- (QWebNetworkInterface::defaultInterface):
- (QWebNetworkInterface::QWebNetworkInterface):
- (QWebNetworkInterface::~QWebNetworkInterface):
- (QWebNetworkInterface::addJob):
- (QWebNetworkInterface::cancelJob):
- (LoaderThread::LoaderThread):
- (LoaderThread::run):
- (FileLoader::FileLoader):
- (FileLoader::request):
- (FileLoader::sendData):
- (FileLoader::parseDataUrl):
- (WebCoreHttp::WebCoreHttp):
- (WebCoreHttp::~WebCoreHttp):
- (WebCoreHttp::request):
- (WebCoreHttp::scheduleNextRequest):
- (WebCoreHttp::getConnection):
- (WebCoreHttp::onResponseHeaderReceived):
- (WebCoreHttp::onReadyRead):
- (WebCoreHttp::onRequestFinished):
- (WebCoreHttp::onStateChanged):
- (WebCoreHttp::cancel):
- (HostInfo::HostInfo):
- (qHash):
- (operator==):
- (NetworkLoader::NetworkLoader):
- (NetworkLoader::~NetworkLoader):
- (NetworkLoader::request):
- (NetworkLoader::connectionClosed):
- (NetworkLoader::cancel):
- * Api/qwebnetworkinterface.h: Added.
- (QWebNetworkJob::setHandle):
- (QWebNetworkJob::handle):
- * Api/qwebnetworkinterface_p.h: Added.
- (WebCore::LoaderThread::):
- (WebCore::LoaderThread::waitForSetup):
- (WebCore::HostInfo::HostInfo):
-
-2007-05-18 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Nikolas.
-
- * Api/qwebpage.h: Changed the loadProgressChanged API to use an
- percent integer instead of a double precision floating pointer number.
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::setFrame):
- (WebCore::FrameLoaderClientQt::postProgressEstimateChangedNotification):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-05-18 Marius Bugge Monsen <mbm@trolltech.com>
-
- Reviewed by Zack Rusin.
-
- The default constructed KeyboardEvent has
- no PlatformKeyboardEvent.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeypress):
-
-2007-05-17 Adam Treat <adam@staikos.net>
-
- Reviewed by George Staikos.
-
- - Implement frameLoadCompleted
- - Fix build (by George)
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::frameLoadCompleted):
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2007-05-17 Adam Treat <adam@staikos.net>
-
- Reviewed by George Staikos.
-
- Implement canShowMIMEType
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::canShowMIMEType):
-
-2007-05-16 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- pass the mouse events to the event handler, not the frameview.
-
- * Api/qwebframe.cpp:
- (QWebFrame::mouseMoveEvent):
- (QWebFrame::mouseReleaseEvent):
-
-2007-05-14 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- Updates after Maciej's frame change.
-
- * Api/qwebpage.cpp:
- (QWebPage::stop):
- Call stopForUserCancel() instead of stopAllLoaders()
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidHandleOnloadEvents):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientQt::didFinishLoad):
- (WebCore::FrameLoaderClientQt::setMainDocumentError):
- (WebCore::FrameLoaderClientQt::dispatchWillSendRequest):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveResponse):
- (WebCore::FrameLoaderClientQt::dispatchDidFailProvisionalLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoad):
- Call QWebFrame::loadDone() from the places it's supposed to be
- called from.
-
-2007-05-12 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Rob Buis.
-
- - call Frame::init as needed - this prevents crashes but pages don't appear.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
- * WebKitPart/WebKitPart.cpp:
- (WebKitPart::initView):
-
-2007-05-08 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Ada.
-
- Slight modification to last editor method fix.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::updateSpellingUIWithGrammarString):
- * WebCoreSupport/EditorClientQt.h:
-
-2007-05-03 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Oliver.
-
- Add missing user description parameter to spelling-related editor client method.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::updateSpellingUIWithGrammarString):
- * WebCoreSupport/EditorClientQt.h:
-
-2007-04-29 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Zack.
-
- Tie QT drag events to the DragController logic
- to allow drag and drop events to be handled by
- webkit.
-
- * Api/qwebframe.cpp:
- * Api/qwebframe.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPage::QWebPage):
- (dropActionToDragOp):
- (dragOpToDropAction):
- (QWebPage::dragEnterEvent):
- (QWebPage::dragLeaveEvent):
- (QWebPage::dragMoveEvent):
- (QWebPage::dropEvent):
- * Api/qwebpage.h:
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::DragClientQt::startDrag):
- * WebCoreSupport/DragClientQt.h:
- (WebCore::DragClientQt::DragClientQt):
-
-2007-04-27 Holger Freyther <freyther@kde.org>
-
- Reviewed by Maciej.
-
- Remove unmaintained CMake build system.
-
- * QtLauncher/CMakeLists.txt: Removed.
- * WebKitPart/CMakeLists.txt: Removed.
-
-2007-04-25 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- Fix spelling error in spelling method name.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::updateSpellingUIWithGrammarString):
- * WebCoreSupport/EditorClientQt.h:
-
-2007-04-24 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Oliver.
-
- Spelling and grammar stubs
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::ignoreWordInSpellDocument):
- (WebCore::EditorClientQt::learnWord):
- (WebCore::EditorClientQt::checkSpellingOfString):
- (WebCore::EditorClientQt::checkGrammarOfString):
- (WebCore::EditorClientQt::udpateSpellingUIWithGrammarString):
- (WebCore::EditorClientQt::updateSpellingUIWithMisspelledWord):
- (WebCore::EditorClientQt::showSpellingUI):
- (WebCore::EditorClientQt::spellingUIIsShowing):
- (WebCore::EditorClientQt::getGuessesForWord):
- * WebCoreSupport/EditorClientQt.h:
-
-2007-04-11 MorganL <morganl.webkit@yahoo.com>
-
- Reviewed by Maciej.
-
- Add a Frame pointer to ChromeClient methods:
- http://bugs.webkit.org/show_bug.cgi?id=13127
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createWindow):
- (WebCore::ChromeClientQt::createModalDialog):
- * WebCoreSupport/ChromeClientQt.h:
-
-2007-04-12 Mark Rowe <mrowe@apple.com>
-
- Second part of Qt build fix.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::loadedFromCachedPage):
- (WebCore::FrameLoaderClientQt::setDocumentViewFromCachedPage):
- (WebCore::FrameLoaderClientQt::saveDocumentViewToCachedPage):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-03-27 Zack Rusin <zrusin@trolltech.com>
-
- Fix the rendering crashes due triggered
- asserts. Improve a bit the layout
- scheduling.
-
- * Api/qwebframe.cpp:
- (QWebFrame::resizeEvent):
- (QWebFrame::paintEvent):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::forceLayout):
-
-2007-03-16 Lars Knoll <lars@trolltech.com>
-
- Fix the Qt build once again.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeypress):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::blockedError):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-03-13 Lars Knoll <lars@trolltech.com>
-
- Reviewed by George.
-
- Don't try to load <object> tags with an invalid url.
- Fixes LayoutTests/fast/dom/object-plugin-hides-properties.html
- which hit an assertion in the frameloader.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::objectContentType):
-
-2007-03-13 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Anders.
-
- Fix some crashes in the Qt build.
-
- * Api/qwebframe.cpp:
- (QWebFrame::markup):
- Check for null pointer
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
- Don't use an async callback into the FrameLoader.
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2007-03-11 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adele.
-
- Stub for EditorClientQt::respondToChangedSelection
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::respondToChangedSelection):
- * WebCoreSupport/EditorClientQt.h:
-
-2007-03-07 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKitQT part of fix for:
- http://bugs.webkit.org/show_bug.cgi?id=10871
- http://bugs.webkit.org/show_bug.cgi?id=12677
- <rdar://problem/4823129> REGRESSION: IME key events different in nightly
- <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeypress): Changed handleKeyPress to handleKeypress.
- (WebCore::EditorClientQt::handleInputMethodKeypress): Added.
- * WebCoreSupport/EditorClientQt.h:
-
-2007-03-07 Darin Adler <darin@apple.com>
-
- * WebCoreSupport/FrameLoaderClientQt.h: Oops, forgot the header.
-
-2007-03-07 Darin Adler <darin@apple.com>
-
- * WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::userAgent):
- Try to fix the build by correcting the parameter here.
-
-2007-03-02 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders.
-
- Try to fix the Qt build
-
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::DragClientQt::willPerformDragDestinationAction):
- (WebCore::DragClientQt::dragControllerDestroyed):
- (WebCore::DragClientQt::createDragImageForLink):
-
-2007-02-26 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Kevin McCullough.
-
- - fix Qt build for earlier SVG changes.
-
- * WebCoreSupport/EditCommandQt.cpp:
-
-2007-02-24 Zack Rusin <zrusin@trolltech.com>
-
- Adjust the animation a little bit to make it more natural.
-
- * QtLauncher/main.cpp:
- (HoverLabel::paintEvent):
-
-2007-02-23 Zack Rusin <zrusin@trolltech.com>
-
- Adding a little bit of eye-candy to the last
- commit (animations on hover events)
-
- * QtLauncher/main.cpp:
- (HoverLabel::HoverLabel):
- (HoverLabel::setHoverLink):
- (HoverLabel::sizeForFont):
- (HoverLabel::sizeHint):
- (HoverLabel::resetAnimation):
- (HoverLabel::paintEvent):
- (HoverLabel::interpolate):
- (SearchEdit::resizeEvent):
-
-2007-02-23 Zack Rusin <zrusin@trolltech.com>
-
- Reviewed by Lars
-
- Adding API and code for notification of when the
- mouse is hovering over a link and adding code to
- the sample app to showcase it.
-
- * Api/qwebframe.cpp:
- (QWebFrame::mouseMoveEvent):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
- * Api/qwebpage.cpp:
- (QWebPage::createFrame):
- * Api/qwebpage.h:
- * QtLauncher/main.cpp:
- (HoverLabel::HoverLabel):
- (HoverLabel::setHoverLink):
- (HoverLabel::sizeHint):
- (HoverLabel::updateSize):
- (HoverLabel::paintEvent):
- (ClearButton::ClearButton):
- (ClearButton::paintEvent):
- (SearchEdit::SearchEdit):
- (SearchEdit::resizeEvent):
- (SearchEdit::moveEvent):
- (MainWindow::MainWindow):
- (MainWindow::showLinkHover):
- (MainWindow::resizeEvent):
-
-2007-02-22 Zack Rusin <zrusin@trolltech.com>
-
- Reviewed by Lars
-
- Fixing the default scroll offset, cleaning
- up private methods and making the default
- look not use any frames.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
- (QWebFramePrivate::_q_handleKeyEvent):
- (QWebFrame::QWebFrame):
- (QWebFrame::wheelEvent):
- (QWebFrame::keyPressEvent):
- (QWebFrame::keyReleaseEvent):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
-
-2007-02-22 Zack Rusin <zrusin@trolltech.com>
-
- Reviewed by Lars
-
- Make the qwebframe act as a proper canvas.
- Implement it on top of QAbstractScrollArea.
-
- * Api/qwebframe.cpp:
- (QWebFramePrivate::init):
- (QWebFramePrivate::_q_adjustScrollbars):
- (QWebFrame::init):
- (QWebFrame::QWebFrame):
- (QWebFrame::resizeEvent):
- (QWebFrame::childFrames):
- (QWebFrame::paintEvent):
- (QWebFrame::mouseMoveEvent):
- (QWebFrame::mousePressEvent):
- (QWebFrame::mouseReleaseEvent):
- (QWebFrame::wheelEvent):
- (QWebFrame::keyPressEvent):
- (QWebFrame::keyReleaseEvent):
- (QWebFrame::dragEnterEvent):
- (QWebFrame::dragLeaveEvent):
- (QWebFrame::dragMoveEvent):
- (QWebFrame::handleKeyEvent):
- (QWebFrame::scrollContentsBy):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
-
-2007-02-21 George Staikos <staikos@kde.org>
-
- Reviewed by Zack.
-
- Add more editing support, and undo/redo. Requires some nasty evil
- hacks that have to be sorted out in WebCore/editor.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::~QWebPagePrivate):
- (QWebPage::undoStack):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::didBeginEditing):
- (WebCore::EditorClientQt::didEndEditing):
- (WebCore::EditorClientQt::isEditable):
- (WebCore::EditorClientQt::registerCommandForUndo):
- (WebCore::EditorClientQt::registerCommandForRedo):
- (WebCore::EditorClientQt::clearUndoRedoOperations):
- (WebCore::EditorClientQt::canUndo):
- (WebCore::EditorClientQt::canRedo):
- (WebCore::EditorClientQt::undo):
- (WebCore::EditorClientQt::redo):
- (WebCore::EditorClientQt::handleKeyPress):
- (WebCore::EditorClientQt::EditorClientQt):
- (WebCore::EditorClientQt::textFieldDidBeginEditing):
- (WebCore::EditorClientQt::textFieldDidEndEditing):
- (WebCore::EditorClientQt::isEditing):
- * WebCoreSupport/EditorClientQt.h:
-
-2007-02-21 Zack Rusin <zrusin@trolltech.com>
-
- Fix compilation.
-
- * WebCoreSupport/ContextMenuClientQt.cpp:
- * WebCoreSupport/ContextMenuClientQt.h:
-
-2007-02-21 George Staikos <staikos@kde.org>
-
- Fix compile.
-
- * Api/qwebpage.cpp:
- (QWebPage::stop):
-
-2007-02-20 Zack Rusin <zrusin@trolltech.com>
-
- Reviewed by Lars
-
- Make editing of forms work plus make sure that non-void methods
- always return something.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::canRunBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientQt::runBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientQt::runJavaScriptConfirm):
- (WebCore::ChromeClientQt::runJavaScriptPrompt):
- (WebCore::ChromeClientQt::shouldInterruptJavaScript):
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::shouldDeleteRange):
- (WebCore::EditorClientQt::shouldBeginEditing):
- (WebCore::EditorClientQt::shouldEndEditing):
- (WebCore::EditorClientQt::shouldInsertText):
- (WebCore::EditorClientQt::shouldChangeSelectedRange):
- (WebCore::EditorClientQt::shouldApplyStyle):
- (WebCore::EditorClientQt::shouldInsertNode):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidLoadResourceFromMemoryCache):
- (WebCore::FrameLoaderClientQt::dispatchCreatePage):
-
-2007-02-17 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Maciej.
-
- Additional coding by Maciej, additional review by Oliver.
-
- Add stubs for the new methods in ChormeClient and EditorClient,
- remove all references to FrameQt.
-
- * Api/qwebframe.cpp:
- (QWebFrame::QWebFrame):
- * Api/qwebframe_p.h:
- * Api/qwebpage.cpp:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::shouldInterruptJavaScript):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::shouldChangeSelectedRange):
- (WebCore::EditorClientQt::isEditable):
- * WebCoreSupport/EditorClientQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::setFrame):
- (WebCore::FrameLoaderClientQt::webFrame):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-02-18 Oliver Hunt <oliver@apple.com>
-
- Build fix -- adding DragClientQt method stubs
-
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::DragClientQt::willPerformDragSourceAction):
- (WebCore::DragClientQt::startDrag):
- (WebCore::DragClientQt::createDragImageForLink):
- * WebCoreSupport/DragClientQt.h:
-
-2007-02-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- Moved scroll state down into the cross platform FrameLoader -
- Blind attempt at keeping Qt building
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::restoreViewState):
- (WebCore::FrameLoaderClientQt::saveViewStateToItem):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-02-07 Anders Carlsson <acarlsson@apple.com>
-
- Try fixing the Qt build.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::shouldInterruptJavaScript):
- * WebCoreSupport/ChromeClientQt.h:
-
-2007-02-02 Zack Rusin <zrusin@trolltech.com>
-
- Compilation fix: forward declare d-ptr.
-
- * Api/qcookiejar.h:
-
-2007-02-02 Zack Rusin <zrusin@trolltech.com>
-
- Reviewed by Lars
-
- Make the frames white by default and get the
- files that WebCore can handle render inside
- the frames.
-
- * Api/qwebframe.cpp:
- (QWebFrame::QWebFrame):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createFrame):
- (WebCore::FrameLoaderClientQt::objectContentType):
-
-2007-02-01 George Staikos <staikos@kde.org>
-
- Reviewed by Zack and Lars.
-
- Add a cookie interface for the Qt build.
-
- * Api/qcookiejar.cpp: Added.
- (QCookieJarPrivate::QCookieJarPrivate):
- (qHash):
- (QCookieJar::QCookieJar):
- (QCookieJar::~QCookieJar):
- (QCookieJar::setCookies):
- (QCookieJar::cookies):
- (QCookieJar::isEnabled):
- (QCookieJar::setEnabled):
- (gCleanupJar):
- (QCookieJar::setCookieJar):
- (QCookieJar::cookieJar):
- * Api/qcookiejar.h: Added.
-
-2007-02-01 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Adam.
-
- Fix form loading for the Qt build.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::callPolicyFunction):
- (WebCore::FrameLoaderClientQt::slotCallPolicyFunction):
- (WebCore::FrameLoaderClientQt::dispatchWillSubmitForm):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
-
-2007-01-31 Zack Rusin <zrusin@trolltech.com>
-
- Expose the fact that the form has been edited
- in the public api.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPage::isModified):
- * Api/qwebpage.h:
- * Api/qwebpage_p.h:
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::respondToChangedContents):
- (WebCore::EditorClientQt::isEditable):
-
-2007-01-31 Zack Rusin <zrusin@trolltech.com>
-
- Reviewed by Lars
-
- Properly propagate key events.
-
- * Api/qwebframe.cpp:
- (QWebFrame::addToJSWindowObject):
- (QWebFrame::innerText):
- (QWebFrame::renderTreeDump):
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * Api/qwebpage.h:
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::pageDestroyed):
- (WebCore::EditorClientQt::handleKeyPress):
- (WebCore::EditorClientQt::EditorClientQt):
- * WebCoreSupport/EditorClientQt.h:
-
-2007-01-31 George Staikos <staikos@kde.org>
-
- Remove focusFrame() - misguided - and add childFrames(). Fix a crash
- on exit.
-
- Reviewed by Zack.
-
- * Api/qwebframe.cpp:
- (QWebFrame::resizeEvent):
- (QWebFrame::childFrames):
- * Api/qwebframe.h:
- * Api/qwebpage.cpp:
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::webFrame):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-30 Zack Rusin <zrusin@trolltech.com>
-
- Improve QtLauncher to make it more useful as a testing tool.
-
- * QtLauncher/main.cpp:
- (ClearButton::ClearButton):
- (ClearButton::paintEvent):
- (SearchEdit::SearchEdit):
- (SearchEdit::~SearchEdit):
- (SearchEdit::paintEvent):
- (SearchEdit::resizeEvent):
- (SearchEdit::moveEvent):
- (MainWindow::MainWindow):
- (MainWindow::changeLocation):
- (MainWindow::loadFinished):
-
-2007-01-30 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- Added import/export macros needed for build with ELF visibility and
- for a build on Windows (in the future).
-
- * Api/qwebframe.h:
- * Api/qwebkitglobal.h: Added.
- * Api/qwebpage.h:
- * Api/qwebpagehistory.h:
-
-2007-01-30 Zack Rusin <zack@kde.org>
-
- Change the signature of handleKeyPress
- (make it compile)
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyPress):
- * WebCoreSupport/EditorClientQt.h:
-
-2007-01-29 Zack Rusin <zack@kde.org>
-
- Reviewed by Lars
-
- Set the allows-scrolling property on the view.
-
- * Api/qwebframe.cpp:
- (QWebFrame::QWebFrame):
-
-2007-01-29 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Stub for new DragClient method
-
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::DragClientQt::dragSourceActionMaskForPoint):
- * WebCoreSupport/DragClientQt.h:
-
-2007-01-29 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Mark.
-
- - updated for cross-platform data loading support
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::createDocumentLoader):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-29 George Staikos <staikos@kde.org>
-
- Make window resizing work.
-
- * Api/qwebpage.cpp:
- (QWebPage::setWindowGeometry):
- * Api/qwebpage.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::setWindowRect):
-
-2007-01-29 George Staikos <staikos@kde.org>
-
- Make popup windows work.
-
- * Api/qwebpage.cpp:
- (QWebPage::createWindow):
- * Api/qwebpage.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::createWindow):
-
-2007-01-29 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- Fix the way we handle native widgets (QWidget) inside
- WebCore. Now WebCore::Widget owns the QWidget in all
- cases. This is the only way to get well defined semantics
- for all teh native widgets we have (currently ScrollView
- and ScrollBar, but plugins will follow).
-
- This has the side effect that one cannot rely on a defined
- lifetime of a QWebFrame when using the API.
-
- * Api/qwebframe.cpp:
- (QWebFrame::~QWebFrame):
- * Api/qwebpage.cpp:
- (QWebPage::~QWebPage):
- * Api/qwebpage_p.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::detachedFromParent3):
- (WebCore::FrameLoaderClientQt::detachedFromParent4):
- (WebCore::FrameLoaderClientQt::frameLoaderDestroyed):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-29 George Staikos <staikos@kde.org>
-
- Reviewed by Zack.
-
- Implement more functions
-
- * Api/qwebpage.cpp:
- (QWebPage::javaScriptConsoleMessage):
- (QWebPage::statusTextChanged):
- (QWebPage::runJavaScriptAlert):
- * Api/qwebpage.h:
- * Api/qwebpagehistory.cpp:
- (QWebPageHistory::canGoBack):
- (QWebPageHistory::canGoForward):
- * Api/qwebpagehistory.h:
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::addMessageToConsole):
- (WebCore::ChromeClientQt::runJavaScriptAlert):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::shouldGoToHistoryItem):
-
-2007-01-26 George Staikos <staikos@kde.org>
-
- Reviewed by Zack.
-
- Qt implementation.
-
- * Api/qwebframe.cpp:
- (QWebFrame::QWebFrame):
- (QWebFrame::title):
- (QWebFrame::selectedText):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- * Api/qwebpage.cpp:
- (QWebPage::createFrame):
- (QWebPage::open):
- (QWebPage::url):
- (QWebPage::title):
- (QWebPage::focusFrame):
- (QWebPage::stop):
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::setFrame):
- (WebCore::FrameLoaderClientQt::detachFrameLoader):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveTitle):
- (WebCore::FrameLoaderClientQt::didChangeTitle):
- (WebCore::FrameLoaderClientQt::setTitle):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-26 Lars Knoll <lars@trolltech.com>
-
- Make it compile again with Qt 4.2 and add the copyright
- headers where forgotten in the last submit.
-
- * Api/qwebpagehistory.cpp:
- * Api/qwebpagehistory.h:
- (QExplicitlySharedDataPointer::operator*):
- (QExplicitlySharedDataPointer::operator->):
- (QExplicitlySharedDataPointer::operator T *):
- (QExplicitlySharedDataPointer::operator const T *):
- (QExplicitlySharedDataPointer::data):
- (QExplicitlySharedDataPointer::constData):
- (QExplicitlySharedDataPointer::operator==):
- (QExplicitlySharedDataPointer::operator!=):
- (QExplicitlySharedDataPointer::QExplicitlySharedDataPointer):
- (QExplicitlySharedDataPointer::~QExplicitlySharedDataPointer):
- (QExplicitlySharedDataPointer::operator=):
- (QExplicitlySharedDataPointer::operator!):
- (::QExplicitlySharedDataPointer):
-
-2007-01-26 Zack Rusin <zrusin@trolltech.com>
-
- Reviewed by Lars
-
- Implement history support on platform Qt.
-
- * Api/qwebpage.cpp:
- (QWebPage::history):
- (QWebPage::goBack):
- (QWebPage::goForward):
- (QWebPage::goToHistoryItem):
- * Api/qwebpage.h:
- * Api/qwebpagehistory.cpp: Added.
- (QWebHistoryItem::~QWebHistoryItem):
- (QWebHistoryItem::originalUrl):
- (QWebHistoryItem::currentUrl):
- (QWebHistoryItem::title):
- (QWebHistoryItem::lastVisited):
- (QWebHistoryItem::icon):
- (QWebHistoryItem::QWebHistoryItem):
- (QWebPageHistory::QWebPageHistory):
- (QWebPageHistory::itemAtIndex):
- (QWebPageHistory::~QWebPageHistory):
- (QWebPageHistory::items):
- (QWebPageHistory::backItems):
- (QWebPageHistory::forwardItems):
- (QWebPageHistory::goBack):
- (QWebPageHistory::goForward):
- (QWebPageHistory::goToItem):
- (QWebPageHistory::backItem):
- (QWebPageHistory::currentItem):
- (QWebPageHistory::forwardItem):
- * Api/qwebpagehistory.h: Added.
- * Api/qwebpagehistory_p.h: Added.
- (QWebHistoryItemPrivate::QWebHistoryItemPrivate):
- (QWebHistoryItemPrivate::~QWebHistoryItemPrivate):
- (QWebPageHistoryPrivate::QWebPageHistoryPrivate):
- (QWebPageHistoryPrivate::~QWebPageHistoryPrivate):
-
-2007-01-26 Lars Knoll <lars@trolltech.com>
-
- Get rid of FrameQtClient. It's unused since we moved over
- to the loader.
-
- * Api/qwebframe.cpp:
- (QWebFrame::QWebFrame):
-
-2007-01-26 Zack Rusin <zack@kde.org>
-
- Reviewed by Lars
-
- Correctly position child frames within the
- toplevel frame. We were placed it on the widget
- itself instead of the vieweport.
-
- * Api/qwebframe.cpp:
- (QWebFrame::QWebFrame):
-
-2007-01-26 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- Make sure we resize the HTML when resizing a
- QWebFrame. Also ensure that the render tree
- is up to date before dumping it.
-
- * Api/qwebframe.cpp:
- (QWebFrame::innerText):
- (QWebFrame::renderTreeDump):
- (QWebFrame::resizeEvent):
- * Api/qwebframe.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::createMainFrame):
-
-2007-01-26 Zack Rusin <zack@kde.org>
-
- Reviewed by Lars
-
- Display pages inside a mainwindow instead
- of a custom qwidget.
-
- * QtLauncher/main.cpp:
- (MainWindow::MainWindow):
- (main):
-
-2007-01-25 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- Emit the loadDone() signal from teh onload event callback
- again. This hangs on one or two test cases, but removes
- hundreds of failures elsewhere.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidHandleOnloadEvents):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
-
-2007-01-24 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- Implement some bits and pieces required by the loader.
- Fixes quite a few crashes and hangs in the lyout tests
-
- * Api/qwebframe.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidHandleOnloadEvents):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoad):
- (WebCore::FrameLoaderClientQt::finishedLoading):
- (WebCore::FrameLoaderClientQt::setMainDocumentError):
- (WebCore::FrameLoaderClientQt::committedLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoading):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoading):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
- (WebCore::FrameLoaderClientQt::createFrame):
-
-2007-01-24 Lars Knoll <lars@trolltech.com>
-
- Fix compilation again.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::handleKeyPress):
- * WebCoreSupport/EditorClientQt.h:
-
-2007-01-23 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- Fix refcounting of FrameViews (they get created with a
- refcount of 1) and add a few safety checks to the
- FrameLoaderClientQt.
-
- * Api/qwebframe.cpp:
- (QWebFrame::QWebFrame):
- (QWebFrame::~QWebFrame):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::detachedFromParent3):
- (WebCore::FrameLoaderClientQt::detachedFromParent4):
- (WebCore::FrameLoaderClientQt::dispatchDidHandleOnloadEvents):
- (WebCore::FrameLoaderClientQt::postProgressStartedNotification):
- (WebCore::FrameLoaderClientQt::postProgressEstimateChangedNotification):
- (WebCore::FrameLoaderClientQt::postProgressFinishedNotification):
- (WebCore::FrameLoaderClientQt::frameLoaderDestroyed):
- (WebCore::FrameLoaderClientQt::windowObjectCleared):
-
-2007-01-23 Zack Rusin <zack@kde.org>
-
- Adjust the DragClientQt to latest changes.
-
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::DragClientQt::dragControllerDestroyed):
- * WebCoreSupport/DragClientQt.h:
-
-2007-01-23 Zack Rusin <zack@kde.org>
-
- Fix the Qt build
-
- * WebCoreSupport/DragClientQt.cpp:
- (WebCore::DragClientQt::willPerformDragDestinationAction):
- * WebCoreSupport/DragClientQt.h:
-
-2007-01-23 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Maciej
-
- Add support for Frames to the Qt build and fix some issues
- in the API classes.
-
- * Api/qwebframe.cpp:
- (QWebFrame::QWebFrame):
- (QWebFrame::~QWebFrame):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- * Api/qwebpage.cpp:
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::createMainFrame):
- (QWebPage::createFrame):
- * Api/qwebpage.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::detachedFromParent3):
- (WebCore::FrameLoaderClientQt::detachedFromParent4):
- (WebCore::FrameLoaderClientQt::cancelPolicyCheck):
- (WebCore::FrameLoaderClientQt::windowObjectCleared):
- (WebCore::FrameLoaderClientQt::createFrame):
- (WebCore::FrameLoaderClientQt::objectContentType):
- (WebCore::FrameLoaderClientQt::createPlugin):
- (WebCore::FrameLoaderClientQt::redirectDataToPlugin):
- (WebCore::FrameLoaderClientQt::createJavaAppletWidget):
- (WebCore::FrameLoaderClientQt::overrideMediaType):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-23 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Qt build stubs for Drop logic
-
- * WebCoreSupport/DragClientQt.cpp: Added.
- (WebCore::DragClientQt::actionMaskForDrag):
- (WebCore::DragClientQt::willPerformDragDestinationAction):
- * WebCoreSupport/DragClientQt.h: Added.
- * WebKitPart/WebKitPart.cpp:
- (WebKitPart::initView):
-
-2007-01-19 John Sullivan <sullivan@apple.com>
-
- Added stubs for new callbacks, to try to avoid breaking the Qt port.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidFinishDocumentLoad):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-19 Anders Carlsson <acarlsson@apple.com>
-
- Try fixing the QT build.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::runJavaScriptAlert):
- (WebCore::ChromeClientQt::runJavaScriptConfirm):
- (WebCore::ChromeClientQt::runJavaScriptPrompt):
- (WebCore::ChromeClientQt::setStatusbarText):
- * WebCoreSupport/ChromeClientQt.h:
-
-2007-01-18 Zack Rusin <zack@kde.org>
-
- Reviewed by Lars.
-
- Implementing a little bit of load progress tracking in the Qt port.
-
- * Api/qwebframe.cpp:
- (QWebFrame::QWebFrame):
- (QWebFrame::page):
- * Api/qwebframe.h:
- * Api/qwebframe_p.h:
- (QWebFramePrivate::QWebFramePrivate):
- * Api/qwebpage.h:
- * QtLauncher/main.cpp:
- (main):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::setFrame):
- (WebCore::FrameLoaderClientQt::detachFrameLoader):
- (WebCore::FrameLoaderClientQt::postProgressStartedNotification):
- (WebCore::FrameLoaderClientQt::postProgressEstimateChangedNotification):
- (WebCore::FrameLoaderClientQt::postProgressFinishedNotification):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-17 Alice Liu <alice.liu@apple.com>
-
- Added these stubs to keep the Qt build from failing.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::didSetSelectionTypesForPasteboard):
- * WebCoreSupport/EditorClientQt.h:
-
-2007-01-17 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- Remove the inheritance from Shared<XxxClient> in the
- client classes.
-
- Answer asynchronously to most of the Policy checking methods
- in FrameLoaderClientQt to avoid some crashes in the loader.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/ContextMenuClientQt.cpp:
- * WebCoreSupport/ContextMenuClientQt.h:
- * WebCoreSupport/EditorClientQt.cpp:
- * WebCoreSupport/EditorClientQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::FrameLoaderClientQt):
- (WebCore::FrameLoaderClientQt::callPolicyFunction):
- (WebCore::FrameLoaderClientQt::slotCallPolicyFunction):
- (WebCore::FrameLoaderClientQt::cancelPolicyCheck):
- (WebCore::FrameLoaderClientQt::dispatchWillSubmitForm):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-17 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- change all notImplemented() macros to use qDebug
- instead of fprintf(stder, ...)
-
- * WebCoreSupport/ChromeClientQt.cpp:
- * WebCoreSupport/ContextMenuClientQt.cpp:
- * WebCoreSupport/EditorClientQt.cpp:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2007-01-16 Alice Liu <alice.liu@apple.com>
-
- Added these stubs to keep the Qt build from failing.
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::didWriteSelectionToPasteboard):
- * WebCoreSupport/EditorClientQt.h:
-
-2007-01-16 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- Added the start of a public API to the Qt build
- of WebKit. Currently we have QWebPage and QWebFrame
- with a few small methods.
-
- Converted the QtLauncher to use the new public API.
-
- * Api/qwebframe.cpp: Added.
- (QWebFrame::QWebFrame):
- (QWebFrame::~QWebFrame):
- (QWebFrame::addToJSWindowObject):
- (QWebFrame::markup):
- (QWebFrame::innerText):
- (QWebFrame::renderTreeDump):
- * Api/qwebframe.h: Added.
- * Api/qwebframe_p.h: Added.
- (QWebFramePrivate::QWebFramePrivate):
- * Api/qwebpage.cpp: Added.
- (QWebPagePrivate::QWebPagePrivate):
- (QWebPagePrivate::~QWebPagePrivate):
- (QWebPagePrivate::createMainFrame):
- (QWebPage::QWebPage):
- (QWebPage::~QWebPage):
- (QWebPage::createFrame):
- (QWebPage::open):
- (QWebPage::mainFrame):
- (QWebPage::sizeHint):
- * Api/qwebpage.h: Added.
- * Api/qwebpage_p.h: Added.
- * QtLauncher/main.cpp:
- (main):
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::ChromeClientQt):
- (WebCore::ChromeClientQt::setWindowRect):
- (WebCore::ChromeClientQt::windowRect):
- (WebCore::ChromeClientQt::pageRect):
- (WebCore::ChromeClientQt::focus):
- (WebCore::ChromeClientQt::unfocus):
- (WebCore::ChromeClientQt::canTakeFocus):
- (WebCore::ChromeClientQt::takeFocus):
- (WebCore::ChromeClientQt::createWindow):
- (WebCore::ChromeClientQt::createModalDialog):
- (WebCore::ChromeClientQt::show):
- (WebCore::ChromeClientQt::addMessageToConsole):
- (WebCore::ChromeClientQt::chromeDestroyed):
- (WebCore::ChromeClientQt::canRunBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientQt::runBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientQt::closeWindowSoon):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::setFrame):
- (WebCore::FrameLoaderClientQt::detachFrameLoader):
- (WebCore::FrameLoaderClientQt::dispatchDidHandleOnloadEvents):
- (WebCore::FrameLoaderClientQt::partClearedInBegin):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-15 Anders Carlsson <acarlsson@apple.com>
-
- Fix build.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::postProgressStartedNotification):
- (WebCore::FrameLoaderClientQt::postProgressEstimateChangedNotification):
- (WebCore::FrameLoaderClientQt::postProgressFinishedNotification):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-13 Lars Knoll <lars@trolltech.com>
-
- Compile again after yesterdays changes.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::assignIdentifierToInitialRequest):
- (WebCore::FrameLoaderClientQt::dispatchWillSendRequest):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveAuthenticationChallenge):
- (WebCore::FrameLoaderClientQt::dispatchDidCancelAuthenticationChallenge):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveResponse):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveContentLength):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoading):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoading):
- (WebCore::FrameLoaderClientQt::incrementProgress):
- (WebCore::FrameLoaderClientQt::completeProgress):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-11 Brady Eidson <beidson@apple.com>
-
- Keep the fancy new FrameLoaderClientQt building with a small api change in WebCore
- Yay for the loader on QT!
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveAuthenticationChallenge):
- (WebCore::FrameLoaderClientQt::dispatchDidCancelAuthenticationChallenge):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-11 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Darin
-
- Start using the loader in the Qt port.
-
- * QtLauncher/main.cpp:
- (main):
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::FrameLoaderClientQt):
- (WebCore::FrameLoaderClientQt::~FrameLoaderClientQt):
- (WebCore::FrameLoaderClientQt::setFrame):
- (WebCore::FrameLoaderClientQt::detachFrameLoader):
- (WebCore::FrameLoaderClientQt::makeDocumentView):
- (WebCore::FrameLoaderClientQt::makeRepresentation):
- (WebCore::FrameLoaderClientQt::setCopiesOnScroll):
- (WebCore::FrameLoaderClientQt::dispatchDidStartProvisionalLoad):
- (WebCore::FrameLoaderClientQt::cancelPolicyCheck):
- (WebCore::FrameLoaderClientQt::dispatchWillSubmitForm):
- (WebCore::FrameLoaderClientQt::progressStarted):
- (WebCore::FrameLoaderClientQt::progressCompleted):
- (WebCore::FrameLoaderClientQt::setMainFrameDocumentReady):
- (WebCore::FrameLoaderClientQt::clearArchivedResources):
- (WebCore::FrameLoaderClientQt::canShowMIMEType):
- (WebCore::FrameLoaderClientQt::representationExistsForURLScheme):
- (WebCore::FrameLoaderClientQt::provisionalLoadStarted):
- (WebCore::FrameLoaderClientQt::prepareForDataSourceReplacement):
- (WebCore::FrameLoaderClientQt::frameLoaderDestroyed):
- (WebCore::FrameLoaderClientQt::canHandleRequest):
- (WebCore::FrameLoaderClientQt::shouldGoToHistoryItem):
- (WebCore::FrameLoaderClientQt::canCachePage):
- (WebCore::FrameLoaderClientQt::committedLoad):
- (WebCore::FrameLoaderClientQt::cancelledError):
- (WebCore::FrameLoaderClientQt::cannotShowURLError):
- (WebCore::FrameLoaderClientQt::interruptForPolicyChangeError):
- (WebCore::FrameLoaderClientQt::cannotShowMIMETypeError):
- (WebCore::FrameLoaderClientQt::fileDoesNotExistError):
- (WebCore::FrameLoaderClientQt::shouldFallBack):
- (WebCore::FrameLoaderClientQt::createDocumentLoader):
- (WebCore::FrameLoaderClientQt::dispatchWillSendRequest):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveResponse):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
- (WebCore::FrameLoaderClientQt::willUseArchive):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-11 George Staikos <staikos@kde.org>
-
- Fix Qt Build.
-
- * WebCoreSupport/ContextMenuClientQt.cpp:
- (WebCore::ContextMenuClientQt::searchWithGoogle):
- * WebCoreSupport/ContextMenuClientQt.h:
-
-2007-01-06 George Staikos <staikos@kde.org>
-
- Reviewed by Brady.
-
- Make it link.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::setMainDocumentError):
- (WebCore::FrameLoaderClientQt::committedLoad):
- (WebCore::FrameLoaderClientQt::cancelledError):
- (WebCore::FrameLoaderClientQt::cannotShowURLError):
- (WebCore::FrameLoaderClientQt::interruptForPolicyChangeError):
- (WebCore::FrameLoaderClientQt::cannotShowMIMETypeError):
- (WebCore::FrameLoaderClientQt::fileDoesNotExistError):
- (WebCore::FrameLoaderClientQt::shouldFallBack):
- (WebCore::FrameLoaderClientQt::createDocumentLoader):
- (WebCore::FrameLoaderClientQt::download):
- (WebCore::FrameLoaderClientQt::dispatchWillSendRequest):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveResponse):
- (WebCore::FrameLoaderClientQt::dispatchDidReceiveContentLength):
- (WebCore::FrameLoaderClientQt::dispatchDidFinishLoading):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoading):
- (WebCore::FrameLoaderClientQt::dispatchDidLoadResourceFromMemoryCache):
- (WebCore::FrameLoaderClientQt::dispatchDidFailProvisionalLoad):
- (WebCore::FrameLoaderClientQt::dispatchDidFailLoad):
- (WebCore::FrameLoaderClientQt::dispatchCreatePage):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForMIMEType):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction):
- (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
- (WebCore::FrameLoaderClientQt::dispatchUnableToImplementPolicy):
- (WebCore::FrameLoaderClientQt::incrementProgress):
- (WebCore::FrameLoaderClientQt::completeProgress):
- (WebCore::FrameLoaderClientQt::startDownload):
- (WebCore::FrameLoaderClientQt::willUseArchive):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2007-01-05 Lars Knoll <lars@trolltech.com>
-
- Make the Qt build compile again
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::canTakeFocus):
- (WebCore::ChromeClientQt::takeFocus):
- * WebCoreSupport/ChromeClientQt.h:
- * WebCoreSupport/ContextMenuClientQt.cpp:
- (WebCore::ContextMenuClientQt::getCustomMenuFromDefaultItems):
- * WebCoreSupport/ContextMenuClientQt.h:
-
-2007-01-03 Lars Knoll <lars@trolltech.com>
-
- Fix the Qt build
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::setDocumentViewFromPageCache):
- (WebCore::FrameLoaderClientQt::updateGlobalHistoryForStandardLoad):
- (WebCore::FrameLoaderClientQt::updateGlobalHistoryForReload):
- (WebCore::FrameLoaderClientQt::shouldGoToHistoryItem):
- (WebCore::FrameLoaderClientQt::saveScrollPositionAndViewStateToItem):
- (WebCore::FrameLoaderClientQt::saveDocumentViewToPageCache):
- (WebCore::FrameLoaderClientQt::canCachePage):
- * WebCoreSupport/FrameLoaderClientQt.h:
-
-2006-12-29 George Staikos <staikos@kde.org>
-
- Add missing notimplemented.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::frameLoaderDestroyed):
- (WebCore::FrameLoaderClientQt::canHandleRequest):
- (WebCore::FrameLoaderClientQt::partClearedInBegin):
-
-2006-12-21 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::hasWebView):
- (WebCore::FrameLoaderClientQt::hasFrameView):
- (WebCore::FrameLoaderClientQt::dispatchDidHandleOnloadEvents):
- (WebCore::FrameLoaderClientQt::dispatchDidFirstLayout):
- (WebCore::FrameLoaderClientQt::setTitle):
- (WebCore::FrameLoaderClientQt::partClearedInBegin):
- * WebCoreSupport/FrameLoaderClientQt.h:
- Remove some runtimw warnings
- Add partClearedInBegin forwarding call, so
- I can catch this in the layout tests.
-
-2006-12-19 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Rob.
-
- * WebCoreSupport/ChromeClientQt.cpp:
- (WebCore::ChromeClientQt::canRunBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientQt::runBeforeUnloadConfirmPanel):
- (WebCore::ChromeClientQt::closeWindowSoon):
- * WebCoreSupport/ChromeClientQt.h:
- Make it compile.
-
-2006-12-16 Zack Rusin <zack@kde.org>
-
- Adjust the client to the most recent interface.
-
- * WebCoreSupport/ContextMenuClientQt.cpp:
- (WebCore::ContextMenuClientQt::contextMenuDestroyed):
- (WebCore::ContextMenuClientQt::addCustomContextMenuItems):
- (WebCore::ContextMenuClientQt::contextMenuItemSelected):
- (WebCore::ContextMenuClientQt::downloadURL):
- (WebCore::ContextMenuClientQt::copyImageToClipboard):
- (WebCore::ContextMenuClientQt::lookUpInDictionary):
- * WebCoreSupport/ContextMenuClientQt.h:
-
-2006-12-14 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- * QtLauncher/QtLauncher.pro: Link this little test program
- with rpath, for convenience. (This is never going to get installed
- anyway)
-
-2006-12-12 George Staikos <staikos@kde.org>
-
- Reviewed by Alexey.
-
- Fix the Qt build again.
-
- * WebCoreSupport/ContextMenuClientQt.cpp:
- (WebCore::ContextMenuClientQt::speak):
- (WebCore::ContextMenuClientQt::stopSpeaking):
- * WebCoreSupport/ContextMenuClientQt.h:
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::toggleContinuousSpellChecking):
- (WebCore::EditorClientQt::toggleGrammarChecking):
- * WebCoreSupport/EditorClientQt.h:
-
-2006-12-10 George Staikos <staikos@kde.org>
-
- Reviewed by Zack.
-
- Add a default user agent for now.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
- (WebCore::FrameLoaderClientQt::userAgent):
-
-2006-12-10 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- Comment out a notImplemented() warning
-
- * WebCoreSupport/EditorClientQt.cpp:
- (WebCore::EditorClientQt::clearUndoRedoOperations):
-
-2006-12-10 Zack Rusin <zack@kde.org>
-
- Print out the method name if it's unimplemented.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp:
-
-2006-12-10 Zack Rusin <zack@kde.org>
-
- Moving the clients from platform to their final location.
-
- * WebCoreSupport/FrameLoaderClientQt.cpp: Added.
- * WebCoreSupport/FrameLoaderClientQt.h: Added.
- * WebCoreSupport/ChromeClientQt.cpp: Added.
- * WebCoreSupport/ChromeClientQt.h: Added.
- * WebCoreSupport/ContextMenuClientQt.cpp: Added.
- * WebCoreSupport/ContextMenuClientQt.h: Added.
- * WebCoreSupport/EditorClientQt.cpp: Added.
- * WebCoreSupport/EditorClientQt.h: Added.
-
-2006-12-10 Zack Rusin <zack@kde.org>
-
- Adjusting to the changes in platform/qt.
-
- * QtLauncher/main.cpp:
- (main):
-
-2006-12-09 Lars Knoll <lars@trolltech.com>
-
- Reviewed by Zack
-
- Make it possible to build WebKit with qmake.
-
- * QtLauncher/QtLauncher.pro: Added.
- * QtLauncher/main.cpp:
-
-2006-12-08 Zack Rusin <zack@kde.org>
-
- Reviewed by Maciej.
-
- Fix the build after the recent changes.
-
- * QtLauncher/main.cpp:
- (main):
- * WebKitPart/WebKitPart.cpp:
- (WebKitPart::initView):
-
-2006-11-19 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Zack.
-
- http://bugs.webkit.org/show_bug.cgi?id=11649
- Fix Qt-only build
-
- * QtLauncher/CMakeLists.txt:
-
-2006-11-17 Zack Rusin <zack@kde.org>
-
- Reviewed by Mitz. Landed by Niko.
-
- Adjusting to the new api.
-
- * QtLauncher/main.cpp:
- (main):
- * WebKitPart/WebKitPart.cpp:
- (WebKitPart::initView):
-
-2006-11-10 Zack Rusin <zack@kde.org>
-
- Reviewed and landed by Anders.
-
- Adjusting to the recent loader changes, making it compile
- and work.
-
- * QtLauncher/main.cpp:
- (main):
- * WebKitPart/WebKitPart.cpp:
- (WebKitPart::closeUrl):
- (WebKitPart::initView):
-
-2006-11-03 Zack Rusin <zack@kde.org>
-
- Reviewed by Maciej.
-
- Fixing compile on both Qt and KDE platforms.
-
- * QtLauncher/main.cpp:
- (main): url has already been defined
- * WebKitPart/WebKitPartBrowserExtension.cpp: removing
- duplicate implementation of this class
-
-2006-10-31 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Maciej, landed by Anders.
-
- * QtLauncher/CMakeLists.txt: Make linkage against kde libraries
- optional
- * QtLauncher/main.cpp: Make it compile without KDE.
- (main):
-
-2006-11-02 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Maciej, landed by Anders.
-
- * QtLauncher/main.cpp:
- (main): Declare our frame as main frame to the Page object.
- Fixes crashes on various web sites
-
-2006-10-31 Zack Rusin <zack@kde.org>
-
- Reviewed by Mitz.
-
- Fix the Qt build after last nights changes.
-
- * QtLauncher/CMakeLists.txt:
- * WebKitPart/CMakeLists.txt:
-
-2006-10-26 Nikolas Zimmermann <zimmermann@kde.org>
-
- Reviewed by Darin Adler.
-
- Fix Qt/Linux build.
-
- * QtLauncher/main.cpp:
- (main):
- * WebKitPart/WebKitPart.cpp:
- (WebKitPart::openUrl):
-
-2006-10-24 Nikolas Zimmermann <zimmermann@kde.org>
-
- Reviewed by Maciej.
-
- Fix Qt/Linux build.
-
- - Remove BrowserExtensionQt, move it's methods to Page/FrameQt.
- - Fix CMakeLists.txt to include platform/network.
-
- * QtLauncher/CMakeLists.txt:
- * WebKitPart/CMakeLists.txt:
-
-2006-10-24 Simon Hausmann <hausmann@kde.org>
-
- Reviewed by Darin Adler.
-
- * QtLauncher/CMakeLists.txt, WebKitPart/CMakeLists.txt: Added project name to
- kde4_automoc macro, as required by the latest KDE4 cmake module.
-
-2006-10-20 Nikolas Zimmermann <zimmermann@kde.org>
-
- Reviewed and landed by Anders.
-
- Adapt to FrameQtClient changes, and provide some kind of status
- information to the KPart wheter we're loading or not (started/completed signaling).
-
- * WebKitPart/CMakeLists.txt:
- * WebKitPart/WebKitPart.cpp:
- (WebKitPart::WebKitPart):
- (WebKitPart::~WebKitPart):
- (WebKitPart::openUrl):
- (WebKitPart::initView):
- * WebKitPart/WebKitPart.h:
- * WebKitPart/WebKitPartBrowserExtension.cpp: Added.
- (WebKitPartBrowserExtension::WebKitPartBrowserExtension):
- (WebKitPartBrowserExtension::~WebKitPartBrowserExtension):
- * WebKitPart/WebKitPartBrowserExtension.h: Added.
- * WebKitPart/WebKitPartClient.cpp:
- (WebKitPartClient::WebKitPartClient):
- (WebKitPartClient::loadFinished):
- * WebKitPart/WebKitPartClient.h:
- * WebKitPart/WebKitPartInterface.h:
-
-2006-10-02 Nikolas Zimmermann <zimmermann@kde.org>
-
- Reviewed by eseidel. Landed by eseidel.
-
- Fix last remaining issue Qt/Linux build with gcc3.
-
- * WebKitPart/WebKitPart.h: Remove Q_PROPERTY usage, which is not needed and made problems.
-
-2006-09-10 Nikolas Zimmermann <zimmermann@kde.org>
-
- Reviewed and landed by ap.
-
- Fix QtLauncher - it is supposed to create a FrameView on its own nowadays.
-
- * QtLauncher/main.cpp:
- (main):
-
-2006-09-04 Nikolas Zimmermann <zimmermann@kde.org>
-
- Reviewed by Tim H.
-
- Fixes last part of: http://bugs.webkit.org/show_bug.cgi?id=10644
- Move QtLauncher down to WebKitQt.
-
- * QtLauncher/CMakeLists.txt: Added.
- * QtLauncher/main.cpp: Added.
- (main):
-
-2006-09-04 Nikolas Zimmermann <zimmermann@kde.org>
-
- Reviewed by Darin Adler. Final polish by Sam.
-
- Fixes parts of: http://bugs.webkit.org/show_bug.cgi?id=10644
- Add WebKitPart, an embeddable KPart for the KDE platform.
-
- * WebKitPart/CMakeLists.txt: Added.
- * WebKitPart/WebKitFactory.cpp: Added.
- (WebKitFactory::WebKitFactory):
- (WebKitFactory::~WebKitFactory):
- (WebKitFactory::createPartObject):
- (WebKitFactory::instance):
- (WebKitFactory::ref):
- (WebKitFactory::deref):
- (init_libWebKitPart):
- * WebKitPart/WebKitFactory.h: Added.
- * WebKitPart/WebKitPart.cpp: Added.
- (WebKitPart::WebKitPart):
- (WebKitPart::~WebKitPart):
- (WebKitPart::openFile):
- (WebKitPart::openUrl):
- (WebKitPart::closeUrl):
- (WebKitPart::parentPart):
- (WebKitPart::frame):
- (WebKitPart::initView):
- * WebKitPart/WebKitPart.desktop: Added.
- * WebKitPart/WebKitPart.h: Added.
- (WebKitPart::):
- * WebKitPart/WebKitPart.rc: Added.
- * WebKitPart/WebKitPartBrowser.rc: Added.
- * WebKitPart/WebKitPartClient.cpp: Added.
- (WebKitPartClient::WebKitPartClient):
- (WebKitPartClient::~WebKitPartClient):
- * WebKitPart/WebKitPartClient.h: Added.
- * WebKitPart/WebKitPartInterface.cpp: Added.
- (WebKitPartInterface::WebKitPartInterface):
- (WebKitPartInterface::~WebKitPartInterface):
- (WebKitPartInterface::url):
- (WebKitPartInterface::closeURL):
- * WebKitPart/WebKitPartInterface.h: Added.
- * WebKitPart/org.kde.WebKitPart.xml: Added.
-
diff --git a/Source/WebKit/win/WebCookieManagerCurl.cpp b/Source/WebKit/qt/Plugins/PluginPackageNone.cpp
index bc99803e0..ecda0b729 100644
--- a/Source/WebKit/win/WebCookieManagerCurl.cpp
+++ b/Source/WebKit/qt/Plugins/PluginPackageNone.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008 Brent Fulgham <bfulgham@gmail.com>. All Rights Reserved.
+ * Copyright (C) 2008 Kevin Ollivier <kevino@theolliviers.com> All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -20,27 +20,48 @@
* 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "config.h"
-#include "WebKitDLL.h"
-#include "WebCookieManager.h"
+#include "PluginPackage.h"
-#include "NotImplemented.h"
+namespace WebCore {
-// IWebCookieManager -------------------------------------------------------
+void PluginPackage::determineQuirks(const String&)
+{
+}
+
+bool PluginPackage::fetchInfo()
+{
+ return false;
+}
+
+bool PluginPackage::load()
+{
+ return false;
+}
-HRESULT STDMETHODCALLTYPE WebCookieManager::cookieStorage(
- /* [retval][out] */ CFHTTPCookieStorageRef* storage)
+#if ENABLE(NETSCAPE_PLUGIN_API)
+uint16_t PluginPackage::NPVersion() const
{
- notImplemented();
- return E_FAIL;
+ return 0;
}
+#endif
-HRESULT STDMETHODCALLTYPE WebCookieManager::setCookieStorage(
- /* [in] */ CFHTTPCookieStorageRef storage)
+PassRefPtr<PluginPackage> PluginPackage::createPackage(const String&, const time_t&)
{
- notImplemented();
- return E_FAIL;
+ return 0;
+}
+
+unsigned PluginPackage::hash() const
+{
+ return 0;
+}
+
+bool PluginPackage::equal(const PluginPackage&, const PluginPackage&)
+{
+ return true;
+}
+
}
diff --git a/Source/WebKit/qt/Plugins/PluginPackageQt.cpp b/Source/WebKit/qt/Plugins/PluginPackageQt.cpp
new file mode 100644
index 000000000..1d7f3e3ec
--- /dev/null
+++ b/Source/WebKit/qt/Plugins/PluginPackageQt.cpp
@@ -0,0 +1,241 @@
+/*
+ * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora Ltd. 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 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 "PluginPackage.h"
+
+#include "MIMETypeRegistry.h"
+#include "PluginDatabase.h"
+#include "PluginDebug.h"
+#include "npruntime_impl.h"
+#include <QFileInfo>
+#include <wtf/text/CString.h>
+
+namespace WebCore {
+
+bool PluginPackage::fetchInfo()
+{
+ if (!m_module) {
+ if (isPluginBlacklisted())
+ return false;
+ m_module = new QLibrary((QString)m_path);
+#if QT_VERSION >= QT_VERSION_CHECK(5,5,0)
+ m_module->setLoadHints(QLibrary::ResolveAllSymbolsHint | QLibrary::DeepBindHint);
+#else
+ m_module->setLoadHints(QLibrary::ResolveAllSymbolsHint);
+#endif
+ if (!m_module->load()) {
+ LOG(Plugins, "%s not loaded (%s)", m_path.utf8().data(),
+ m_module->errorString().toLatin1().constData());
+ return false;
+ }
+ // This is technically wrong (not matched by a decrement), but
+ // it matches the previous behavior (fetchInfo calling load) and
+ // prevents crashes in flash due to unload+load.
+ m_loadCount++;
+ }
+
+ NPP_GetValueProcPtr gv = (NPP_GetValueProcPtr)m_module->resolve("NP_GetValue");
+ NP_GetMIMEDescriptionFuncPtr gm =
+ (NP_GetMIMEDescriptionFuncPtr)m_module->resolve("NP_GetMIMEDescription");
+ if (!gm || !gv)
+ return false;
+
+ char *buf = 0;
+ NPError err = gv(0, NPPVpluginNameString, (void*) &buf);
+ if (err != NPERR_NO_ERROR)
+ return false;
+
+ m_name = String::fromUTF8(buf);
+ err = gv(0, NPPVpluginDescriptionString, (void*) &buf);
+ if (err != NPERR_NO_ERROR)
+ return false;
+
+ m_description = String::fromUTF8(buf);
+ determineModuleVersionFromDescription();
+
+ setMIMEDescription(String::fromUTF8(gm()));
+
+ return true;
+}
+
+void PluginPackage::setMIMEDescription(const String& mimeDescription)
+{
+ m_fullMIMEDescription = mimeDescription.convertToASCIILowercase();
+
+ Vector<String> types;
+ mimeDescription.convertToASCIILowercase().split(UChar(';'), false, types);
+ for (unsigned i = 0; i < types.size(); ++i) {
+ Vector<String> mime;
+ types[i].split(UChar(':'), true, mime);
+ if (mime.size() > 0) {
+ Vector<String> exts;
+ if (mime.size() > 1)
+ mime[1].split(UChar(','), false, exts);
+ determineQuirks(mime[0]);
+ m_mimeToExtensions.add(mime[0], exts);
+ if (mime.size() > 2)
+ m_mimeToDescriptions.add(mime[0], mime[2]);
+ }
+ }
+}
+
+static NPError staticPluginQuirkRequiresGtkToolKit_NPN_GetValue(NPP instance, NPNVariable variable, void* value)
+{
+ if (variable == NPNVToolkit) {
+ *static_cast<uint32_t*>(value) = 2;
+ return NPERR_NO_ERROR;
+ }
+
+ return NPN_GetValue(instance, variable, value);
+}
+
+static void initializeGtk(QLibrary* module = 0)
+{
+ // Ensures missing Gtk initialization in some versions of Adobe's flash player
+ // plugin do not cause crashes. See BR# 40567, 44324, and 44405 for details.
+ if (module) {
+ typedef void *(*gtk_init_ptr)(int*, char***);
+ gtk_init_ptr gtkInit = (gtk_init_ptr)module->resolve("gtk_init");
+ if (gtkInit) {
+ // Prevent gtk_init() from replacing the X error handlers, since the Gtk
+ // handlers abort when they receive an X error, thus killing the viewer.
+#ifdef Q_WS_X11
+ int (*old_error_handler)(Display*, XErrorEvent*) = XSetErrorHandler(0);
+ int (*old_io_error_handler)(Display*) = XSetIOErrorHandler(0);
+#endif
+ gtkInit(0, 0);
+#ifdef Q_WS_X11
+ XSetErrorHandler(old_error_handler);
+ XSetIOErrorHandler(old_io_error_handler);
+#endif
+ return;
+ }
+ }
+
+ QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
+ if (library.load()) {
+ typedef void *(*gtk_init_check_ptr)(int*, char***);
+ gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
+ // NOTE: We're using gtk_init_check() since gtk_init() calls exit() on failure.
+ if (gtkInitCheck)
+ (void) gtkInitCheck(0, 0);
+ }
+}
+
+bool PluginPackage::isPluginBlacklisted()
+{
+ // These plugins are incompatible because they themselves use dlopen on
+ // subplugins linked against Qt 4 but without using DEEPBIND.
+ const QLatin1String pluginBlacklist[] = {
+ QLatin1String("skypebuttons"),
+ QLatin1String("libkpartsplugin"),
+ QLatin1String("libvlcplugin")
+ };
+
+ QString baseName = QFileInfo(static_cast<QString>(m_path)).baseName();
+ for (unsigned i = 0; i < sizeof(pluginBlacklist) / sizeof(QLatin1String); ++i) {
+ if (baseName == pluginBlacklist[i])
+ return true;
+ }
+ return false;
+}
+
+bool PluginPackage::load()
+{
+ if (m_isLoaded) {
+ m_loadCount++;
+ return true;
+ }
+
+ if (isPluginBlacklisted())
+ return false;
+
+ if (!m_module) {
+ m_module = new QLibrary((QString)m_path);
+#if QT_VERSION >= QT_VERSION_CHECK(5,5,0)
+ m_module->setLoadHints(QLibrary::ResolveAllSymbolsHint | QLibrary::DeepBindHint);
+#else
+ m_module->setLoadHints(QLibrary::ResolveAllSymbolsHint);
+#endif
+ if (!m_module->load()) {
+ LOG(Plugins, "%s not loaded (%s)", m_path.utf8().data(),
+ m_module->errorString().toLatin1().constData());
+ return false;
+ }
+ }
+
+ m_isLoaded = true;
+
+ NP_InitializeFuncPtr NP_Initialize;
+ NPError npErr;
+
+ NP_Initialize = (NP_InitializeFuncPtr)m_module->resolve("NP_Initialize");
+ m_NPP_Shutdown = (NPP_ShutdownProcPtr)m_module->resolve("NP_Shutdown");
+
+ if (!NP_Initialize || !m_NPP_Shutdown)
+ goto abort;
+
+ memset(&m_pluginFuncs, 0, sizeof(m_pluginFuncs));
+ m_pluginFuncs.size = sizeof(m_pluginFuncs);
+
+ initializeBrowserFuncs();
+
+ if (m_path.contains("npwrapper.") || m_path.contains("gnash")) {
+ // nspluginwrapper relies on the toolkit value to know if glib is available
+ // It does so in NP_Initialize with a null instance, therefore it is done this way:
+ m_browserFuncs.getvalue = staticPluginQuirkRequiresGtkToolKit_NPN_GetValue;
+ // Workaround Adobe's failure to properly initialize Gtk in some versions
+ // of their flash player plugin.
+ initializeGtk();
+ } else if (m_path.contains("flashplayer")) {
+ // Workaround Adobe's failure to properly initialize Gtk in some versions
+ // of their flash player plugin.
+ initializeGtk(m_module);
+ }
+
+#if defined(XP_UNIX)
+ npErr = NP_Initialize(&m_browserFuncs, &m_pluginFuncs);
+#else
+ npErr = NP_Initialize(&m_browserFuncs);
+#endif
+ if (npErr != NPERR_NO_ERROR)
+ goto abort;
+
+ m_loadCount++;
+ return true;
+
+abort:
+ unloadWithoutShutdown();
+ return false;
+}
+
+uint16_t PluginPackage::NPVersion() const
+{
+ return NP_VERSION_MINOR;
+}
+
+}
diff --git a/Source/WebKit/qt/Plugins/PluginViewNone.cpp b/Source/WebKit/qt/Plugins/PluginViewNone.cpp
new file mode 100644
index 000000000..c75cab282
--- /dev/null
+++ b/Source/WebKit/qt/Plugins/PluginViewNone.cpp
@@ -0,0 +1,156 @@
+/*
+ * Copyright (C) 2008 Kevin Ollivier <kevino@theolliviers.com> 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 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 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 "PluginView.h"
+
+#include "BridgeJSC.h"
+#include <runtime/JSObject.h>
+
+using namespace WTF;
+
+namespace WebCore {
+
+void PluginView::setFocus(bool)
+{
+}
+
+void PluginView::show()
+{
+}
+
+void PluginView::hide()
+{
+}
+
+void PluginView::paint(GraphicsContext&, const IntRect&)
+{
+}
+
+void PluginView::handleKeyboardEvent(KeyboardEvent*)
+{
+}
+
+void PluginView::handleMouseEvent(MouseEvent*)
+{
+}
+
+void PluginView::setParent(ScrollView*)
+{
+}
+
+void PluginView::setNPWindowRect(const IntRect&)
+{
+}
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+NPError PluginView::handlePostReadFile(Vector<char>&, uint32_t, const char*)
+{
+ return 0;
+}
+
+bool PluginView::platformGetValue(NPNVariable, void*, NPError*)
+{
+ return false;
+}
+
+bool PluginView::platformGetValueStatic(NPNVariable, void*, NPError*)
+{
+ return false;
+}
+
+void PluginView::invalidateRect(NPRect*)
+{
+}
+#endif
+
+void PluginView::invalidateRect(const IntRect&)
+{
+}
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+void PluginView::invalidateRegion(NPRegion)
+{
+}
+#endif
+
+void PluginView::forceRedraw()
+{
+}
+
+bool PluginView::platformStart()
+{
+ return true;
+}
+
+void PluginView::platformDestroy()
+{
+}
+
+void PluginView::setParentVisible(bool)
+{
+}
+
+void PluginView::updatePluginWidget()
+{
+}
+
+#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
+void PluginView::handleFocusInEvent()
+{
+}
+
+void PluginView::handleFocusOutEvent()
+{
+}
+#endif
+
+// The functions below are for platforms that do not use PluginView for plugins
+// due to architectural differences. The plan is to eventually have all
+// ports using PluginView, but until then, if new functions like this are
+// added, please make sure they have the proper platform #ifs so that changes
+// do not break ports who compile both this file and PluginView.cpp.
+#if PLATFORM(COCOA) || PLATFORM(EFL) || PLATFORM(GTK)
+#if ENABLE(NETSCAPE_PLUGIN_API)
+void PluginView::keepAlive(NPP)
+{
+}
+#endif
+
+PassRefPtr<JSC::Bindings::Instance> PluginView::bindingInstance()
+{
+ return 0;
+}
+
+void PluginView::privateBrowsingStateChanged(bool)
+{
+}
+
+void PluginView::setJavaScriptPaused(bool)
+{
+}
+#endif
+
+} // namespace WebCore
diff --git a/Source/WebKit/qt/Plugins/PluginViewQt.cpp b/Source/WebKit/qt/Plugins/PluginViewQt.cpp
new file mode 100644
index 000000000..b483d659f
--- /dev/null
+++ b/Source/WebKit/qt/Plugins/PluginViewQt.cpp
@@ -0,0 +1,824 @@
+/*
+ * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora Ltd. All rights reserved.
+ * Copyright (C) 2009 Girish Ramakrishnan <girish@forwardbias.in>
+ *
+ * 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 "PluginView.h"
+
+#include "BridgeJSC.h"
+#include "Chrome.h"
+#include "ChromeClient.h"
+#include "Document.h"
+#include "DocumentLoader.h"
+#include "Element.h"
+#include "FloatPoint.h"
+#include "FocusController.h"
+#include "Frame.h"
+#include "FrameLoadRequest.h"
+#include "FrameLoader.h"
+#include "FrameTree.h"
+#include "FrameView.h"
+#include "GraphicsContext.h"
+#include "HTMLNames.h"
+#include "HTMLPlugInElement.h"
+#include "HostWindow.h"
+#include "Image.h"
+#include "JSDOMBinding.h"
+#include "JSDOMWindowBase.h"
+#include "KeyboardEvent.h"
+#include "MouseEvent.h"
+#include "NotImplemented.h"
+#include "Page.h"
+#include "PlatformKeyboardEvent.h"
+#include "PlatformMouseEvent.h"
+#include "PluginDebug.h"
+#include "PluginMainThreadScheduler.h"
+#include "PluginPackage.h"
+#include "QWebPageClient.h"
+#include "RenderObject.h"
+#include "Settings.h"
+#include "npruntime_impl.h"
+#include "runtime_root.h"
+#include <QKeyEvent>
+#include <QPainter>
+#include <X11/X.h>
+#ifndef QT_NO_XRENDER
+#define Bool int
+#define Status int
+#include <X11/extensions/Xrender.h>
+#endif
+#include <runtime/JSCJSValue.h>
+#include <runtime/JSLock.h>
+
+#include "QtX11ImageConversion.h"
+#include <QGuiApplication>
+#include <QWindow>
+#include <qpa/qplatformnativeinterface.h>
+
+using JSC::ExecState;
+using JSC::Interpreter;
+using JSC::JSLock;
+using JSC::JSObject;
+
+using std::min;
+
+using namespace WTF;
+
+namespace WebCore {
+
+bool PluginView::s_isRunningUnderDRT = false;
+
+using namespace HTMLNames;
+
+struct X11Environment {
+ Display* display;
+ int screenID;
+ unsigned long rootWindowID;
+ int displayDepth;
+};
+
+static X11Environment x11Environment = { 0, 0, 0, 0 };
+
+static inline Display* x11Display() { return x11Environment.display; }
+static inline int x11Screen() { return x11Environment.screenID; }
+static inline unsigned long rootWindowID() { return x11Environment.rootWindowID; }
+static inline int displayDepth() { return x11Environment.displayDepth; }
+
+static inline void syncX()
+{
+ XSync(x11Display(), false);
+}
+
+QWebPageClient* PluginView::platformPageClient() const
+{
+ FrameView* view = m_parentFrame->view();
+ if (!view)
+ return 0;
+ HostWindow* hostWindow = view->hostWindow();
+ if (!hostWindow)
+ return 0;
+ return hostWindow->platformPageClient();
+}
+
+void PluginView::updatePluginWidget()
+{
+ if (!parent())
+ return;
+
+ ASSERT(is<FrameView>(parent()));
+ FrameView* frameView = downcast<FrameView>(parent());
+
+ IntRect oldWindowRect = m_windowRect;
+ IntRect oldClipRect = m_clipRect;
+
+ m_windowRect = IntRect(frameView->contentsToWindow(frameRect().location()), frameRect().size());
+ m_clipRect = windowClipRect();
+ m_clipRect.move(-m_windowRect.x(), -m_windowRect.y());
+
+ if (m_windowRect == oldWindowRect && m_clipRect == oldClipRect)
+ return;
+
+ // The plugin had a zero width or height before but was resized, we need to show it again.
+ if (oldWindowRect.isEmpty())
+ show();
+ if (m_windowRect.isEmpty())
+ hide();
+
+ if (!m_isWindowed && m_windowRect.size() != oldWindowRect.size()) {
+ if (m_drawable) {
+ XFreePixmap(x11Display(), m_drawable);
+ m_drawable = 0;
+ }
+
+ if (!m_windowRect.isEmpty()) {
+ m_drawable = XCreatePixmap(x11Display(), rootWindowID(), m_windowRect.width(), m_windowRect.height(),
+ ((NPSetWindowCallbackStruct*)m_npWindow.ws_info)->depth);
+ syncX(); // make sure that the server knows about the Drawable
+ }
+ }
+
+ // do not call setNPWindowIfNeeded immediately, will be called on paint()
+ m_hasPendingGeometryChange = true;
+
+ // (i) in order to move/resize the plugin window at the same time as the
+ // rest of frame during e.g. scrolling, we set the window geometry
+ // in the paint() function, but as paint() isn't called when the
+ // plugin window is outside the frame which can be caused by a
+ // scroll, we need to move/resize immediately.
+ // (ii) if we are running layout tests from DRT, paint() won't ever get called
+ // so we need to call setNPWindowIfNeeded() if window geometry has changed
+ if (!m_windowRect.intersects(frameView->frameRect())
+ || (s_isRunningUnderDRT && platformPluginWidget() && (m_windowRect != oldWindowRect || m_clipRect != oldClipRect)))
+ setNPWindowIfNeeded();
+
+ invalidate();
+}
+
+void PluginView::setFocus(bool focused)
+{
+ Widget::setFocus(focused);
+}
+
+void PluginView::show()
+{
+ Q_ASSERT(platformPluginWidget() == platformWidget());
+ Widget::show();
+}
+
+void PluginView::hide()
+{
+ Q_ASSERT(platformPluginWidget() == platformWidget());
+ Widget::hide();
+}
+
+static void setupGraphicsExposeEvent(Pixmap drawable, const QRect& exposedRect, XEvent& xevent)
+{
+ memset(&xevent, 0, sizeof(XEvent));
+ XGraphicsExposeEvent& exposeEvent = xevent.xgraphicsexpose;
+ exposeEvent.type = GraphicsExpose;
+ exposeEvent.display = x11Display();
+ exposeEvent.drawable = drawable;
+ exposeEvent.x = exposedRect.x();
+ exposeEvent.y = exposedRect.y();
+ exposeEvent.width = exposedRect.x() + exposedRect.width(); // flash bug? it thinks width is the right in transparent mode
+ exposeEvent.height = exposedRect.y() + exposedRect.height(); // flash bug? it thinks height is the bottom in transparent mode
+}
+
+void PluginView::paintUsingXPixmap(QPainter* painter, const QRect &exposedRect)
+{
+ bool shouldSyncX = m_pluginDisplay && m_pluginDisplay != x11Display();
+ XEvent xevent;
+
+ setupGraphicsExposeEvent(m_drawable, exposedRect, xevent);
+ dispatchNPEvent(xevent);
+
+ if (shouldSyncX)
+ XSync(m_pluginDisplay, false); // sync changes by plugin
+
+ XImage* xImage = XGetImage(x11Display(), m_drawable, exposedRect.x(), exposedRect.y(),
+ exposedRect.width(), exposedRect.height(), ULONG_MAX, ZPixmap);
+ painter->drawImage(QPoint(exposedRect.x(), exposedRect.y()), qimageFromXImage(xImage));
+ XDestroyImage(xImage);
+}
+
+void PluginView::paint(GraphicsContext& context, const IntRect& rect)
+{
+ if (!m_isStarted) {
+ paintMissingPluginIcon(context, rect);
+ return;
+ }
+
+ if (context.paintingDisabled())
+ return;
+
+ setNPWindowIfNeeded();
+
+ if (m_isWindowed)
+ return;
+
+ if (!m_drawable)
+ return;
+
+ QPainter* painter = context.platformContext();
+ IntRect exposedRect(rect);
+ exposedRect.intersect(frameRect());
+ exposedRect.move(-frameRect().x(), -frameRect().y());
+
+ painter->translate(frameRect().x(), frameRect().y());
+ paintUsingXPixmap(painter, exposedRect);
+ painter->translate(-frameRect().x(), -frameRect().y());
+}
+
+// TODO: Unify across ports.
+bool PluginView::dispatchNPEvent(NPEvent& event)
+{
+ if (!m_plugin->pluginFuncs()->event)
+ return false;
+
+ bool shouldPop = false;
+
+ if (m_plugin->pluginFuncs()->version < NPVERS_HAS_POPUPS_ENABLED_STATE
+ && (event.type == ButtonRelease || event.type == 3 /*KeyRelease*/)) {
+ pushPopupsEnabledState(true);
+ shouldPop = true;
+ }
+
+ PluginView::setCurrentPluginView(this);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
+ setCallingPlugin(true);
+ bool accepted = !m_plugin->pluginFuncs()->event(m_instance, &event);
+ setCallingPlugin(false);
+ PluginView::setCurrentPluginView(0);
+
+ if (shouldPop)
+ popPopupsEnabledState();
+
+ return accepted;
+}
+
+void setSharedXEventFields(XEvent* xEvent, QWebPageClient* pageClient)
+{
+ xEvent->xany.serial = 0; // we are unaware of the last request processed by X Server
+ xEvent->xany.send_event = false;
+ xEvent->xany.display = x11Display();
+ // NOTE: event->xany.window doesn't always respond to the .window property of other XEvent's
+ // but does in the case of KeyPress, KeyRelease, ButtonPress, ButtonRelease, and MotionNotify
+ // events; thus, this is right:
+ QWindow* window = pageClient ? pageClient->ownerWindow() : 0;
+ xEvent->xany.window = window ? window->winId() : 0;
+}
+
+void PluginView::initXEvent(XEvent* xEvent)
+{
+ memset(xEvent, 0, sizeof(XEvent));
+
+ QWebPageClient* client = platformPageClient();
+ setSharedXEventFields(xEvent, client);
+}
+
+void PluginView::setXKeyEventSpecificFields(XEvent* xEvent, KeyboardEvent* event)
+{
+ const PlatformKeyboardEvent* keyEvent = event->keyEvent();
+
+ xEvent->type = (event->type() == eventNames().keydownEvent) ? 2 : 3; // ints as Qt unsets KeyPress and KeyRelease
+ xEvent->xkey.root = rootWindowID();
+ xEvent->xkey.subwindow = 0; // we have no child window
+ xEvent->xkey.time = event->timeStamp();
+ xEvent->xkey.state = keyEvent->nativeModifiers();
+ xEvent->xkey.keycode = keyEvent->nativeScanCode();
+
+ // We may not have a nativeScanCode() if the key event is from DRT's eventsender. In that
+ // case fetch the XEvent's keycode from the event's text. The only
+ // place this keycode will be used is in webkit_test_plugin_handle_event().
+ // FIXME: Create Qt API so that we can set the appropriate keycode in DRT EventSender instead.
+ if (s_isRunningUnderDRT && !xEvent->xkey.keycode) {
+ QKeyEvent* qKeyEvent = keyEvent->qtEvent();
+ ASSERT(qKeyEvent);
+ QString keyText = qKeyEvent->text().left(1);
+ xEvent->xkey.keycode = XKeysymToKeycode(x11Display(), XStringToKeysym(keyText.toUtf8().constData()));
+ }
+
+ xEvent->xkey.same_screen = true;
+
+ // NOTE: As the XEvents sent to the plug-in are synthesized and there is not a native window
+ // corresponding to the plug-in rectangle, some of the members of the XEvent structures are not
+ // set to their normal Xserver values. e.g. Key events don't have a position.
+ // source: https://developer.mozilla.org/en/NPEvent
+ xEvent->xkey.x = 0;
+ xEvent->xkey.y = 0;
+ xEvent->xkey.x_root = 0;
+ xEvent->xkey.y_root = 0;
+}
+
+void PluginView::handleKeyboardEvent(KeyboardEvent* event)
+{
+ if (m_isWindowed)
+ return;
+
+ if (event->type() != eventNames().keydownEvent && event->type() != eventNames().keyupEvent)
+ return;
+
+ XEvent npEvent;
+ initXEvent(&npEvent);
+ setXKeyEventSpecificFields(&npEvent, event);
+
+ if (dispatchNPEvent(npEvent))
+ event->setDefaultHandled();
+}
+
+static unsigned int inputEventState(MouseEvent* event)
+{
+ unsigned int state = 0;
+ if (event->ctrlKey())
+ state |= ControlMask;
+ if (event->shiftKey())
+ state |= ShiftMask;
+ if (event->altKey())
+ state |= Mod1Mask;
+ if (event->metaKey())
+ state |= Mod4Mask;
+ return state;
+}
+
+static void setXButtonEventSpecificFields(XEvent* xEvent, MouseEvent* event, const IntPoint& postZoomPos)
+{
+ XButtonEvent& xbutton = xEvent->xbutton;
+ xbutton.type = event->type() == eventNames().mousedownEvent ? ButtonPress : ButtonRelease;
+ xbutton.root = rootWindowID();
+ xbutton.subwindow = 0;
+ xbutton.time = event->timeStamp();
+ xbutton.x = postZoomPos.x();
+ xbutton.y = postZoomPos.y();
+ xbutton.x_root = event->screenX();
+ xbutton.y_root = event->screenY();
+ xbutton.state = inputEventState(event);
+ switch (event->button()) {
+ case MiddleButton:
+ xbutton.button = Button2;
+ break;
+ case RightButton:
+ xbutton.button = Button3;
+ break;
+ case LeftButton:
+ default:
+ xbutton.button = Button1;
+ break;
+ }
+ xbutton.same_screen = true;
+}
+
+static void setXMotionEventSpecificFields(XEvent* xEvent, MouseEvent* event, const IntPoint& postZoomPos)
+{
+ XMotionEvent& xmotion = xEvent->xmotion;
+ xmotion.type = MotionNotify;
+ xmotion.root = rootWindowID();
+ xmotion.subwindow = 0;
+ xmotion.time = event->timeStamp();
+ xmotion.x = postZoomPos.x();
+ xmotion.y = postZoomPos.y();
+ xmotion.x_root = event->screenX();
+ xmotion.y_root = event->screenY();
+ xmotion.state = inputEventState(event);
+ xmotion.is_hint = NotifyNormal;
+ xmotion.same_screen = true;
+}
+
+static void setXCrossingEventSpecificFields(XEvent* xEvent, MouseEvent* event, const IntPoint& postZoomPos)
+{
+ XCrossingEvent& xcrossing = xEvent->xcrossing;
+ xcrossing.type = event->type() == eventNames().mouseoverEvent ? EnterNotify : LeaveNotify;
+ xcrossing.root = rootWindowID();
+ xcrossing.subwindow = 0;
+ xcrossing.time = event->timeStamp();
+ xcrossing.x = postZoomPos.y();
+ xcrossing.y = postZoomPos.x();
+ xcrossing.x_root = event->screenX();
+ xcrossing.y_root = event->screenY();
+ xcrossing.state = inputEventState(event);
+ xcrossing.mode = NotifyNormal;
+ xcrossing.detail = NotifyDetailNone;
+ xcrossing.same_screen = true;
+ xcrossing.focus = false;
+}
+
+void PluginView::handleMouseEvent(MouseEvent* event)
+{
+ if (m_isWindowed)
+ return;
+
+ if (event->button() == RightButton && m_plugin->quirks().contains(PluginQuirkIgnoreRightClickInWindowlessMode))
+ return;
+
+ if (event->type() == eventNames().mousedownEvent) {
+ // Give focus to the plugin on click
+ if (Page* page = m_parentFrame->page())
+ page->focusController().setActive(true);
+
+ focusPluginElement();
+ }
+
+ XEvent npEvent;
+ initXEvent(&npEvent);
+
+ IntPoint postZoomPos = roundedIntPoint(m_element->renderer()->absoluteToLocal(event->absoluteLocation()));
+
+ if (event->type() == eventNames().mousedownEvent || event->type() == eventNames().mouseupEvent)
+ setXButtonEventSpecificFields(&npEvent, event, postZoomPos);
+ else if (event->type() == eventNames().mousemoveEvent)
+ setXMotionEventSpecificFields(&npEvent, event, postZoomPos);
+ else if (event->type() == eventNames().mouseoutEvent || event->type() == eventNames().mouseoverEvent)
+ setXCrossingEventSpecificFields(&npEvent, event, postZoomPos);
+ else
+ return;
+
+ if (dispatchNPEvent(npEvent))
+ event->setDefaultHandled();
+}
+
+void PluginView::handleFocusInEvent()
+{
+ XEvent npEvent;
+ initXEvent(&npEvent);
+
+ XFocusChangeEvent& event = npEvent.xfocus;
+ event.type = 9; /* int as Qt unsets FocusIn */
+ event.mode = NotifyNormal;
+ event.detail = NotifyDetailNone;
+
+ dispatchNPEvent(npEvent);
+}
+
+void PluginView::handleFocusOutEvent()
+{
+ XEvent npEvent;
+ initXEvent(&npEvent);
+
+ XFocusChangeEvent& event = npEvent.xfocus;
+ event.type = 10; /* int as Qt unsets FocusOut */
+ event.mode = NotifyNormal;
+ event.detail = NotifyDetailNone;
+
+ dispatchNPEvent(npEvent);
+}
+
+void PluginView::setParent(ScrollView* parent)
+{
+ Widget::setParent(parent);
+
+ if (parent)
+ init();
+}
+
+void PluginView::setNPWindowRect(const IntRect&)
+{
+ if (!m_isWindowed)
+ setNPWindowIfNeeded();
+}
+
+void PluginView::setNPWindowIfNeeded()
+{
+ if (!m_isStarted || !parent() || !m_plugin->pluginFuncs()->setwindow)
+ return;
+
+ // If the plugin didn't load sucessfully, no point in calling setwindow
+ if (m_status != PluginStatusLoadedSuccessfully)
+ return;
+
+ // On Unix, only call plugin if it's full-page or windowed
+ if (m_mode != NP_FULL && m_mode != NP_EMBED)
+ return;
+
+ // Check if the platformPluginWidget still exists
+ if (m_isWindowed && !platformPluginWidget())
+ return;
+
+ if (!m_hasPendingGeometryChange)
+ return;
+ m_hasPendingGeometryChange = false;
+
+ m_npWindow.x = 0;
+ m_npWindow.y = 0;
+
+ // If the width or height are null, set the clipRect to null, indicating that
+ // the plugin is not visible/scrolled out.
+ if (!m_clipRect.width() || !m_clipRect.height()) {
+ m_npWindow.clipRect.left = 0;
+ m_npWindow.clipRect.right = 0;
+ m_npWindow.clipRect.top = 0;
+ m_npWindow.clipRect.bottom = 0;
+ } else {
+ // Clipping rectangle of the plug-in; the origin is the top left corner of the drawable or window.
+ m_npWindow.clipRect.left = m_npWindow.x + m_clipRect.x();
+ m_npWindow.clipRect.top = m_npWindow.y + m_clipRect.y();
+ m_npWindow.clipRect.right = m_npWindow.x + m_clipRect.x() + m_clipRect.width();
+ m_npWindow.clipRect.bottom = m_npWindow.y + m_clipRect.y() + m_clipRect.height();
+ }
+
+ if (m_plugin->quirks().contains(PluginQuirkDontCallSetWindowMoreThanOnce)) {
+ // FLASH WORKAROUND: Only set initially. Multiple calls to
+ // setNPWindow() cause the plugin to crash in windowed mode.
+ if (!m_isWindowed || m_npWindow.width == -1 || m_npWindow.height == -1) {
+ m_npWindow.width = m_windowRect.width();
+ m_npWindow.height = m_windowRect.height();
+ }
+ } else {
+ m_npWindow.width = m_windowRect.width();
+ m_npWindow.height = m_windowRect.height();
+ }
+
+ PluginView::setCurrentPluginView(this);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
+ setCallingPlugin(true);
+ m_plugin->pluginFuncs()->setwindow(m_instance, &m_npWindow);
+ setCallingPlugin(false);
+ PluginView::setCurrentPluginView(0);
+}
+
+void PluginView::setParentVisible(bool visible)
+{
+ if (isParentVisible() == visible)
+ return;
+
+ Widget::setParentVisible(visible);
+}
+
+NPError PluginView::handlePostReadFile(Vector<char>& buffer, uint32_t len, const char* buf)
+{
+ String filename(buf, len);
+
+ if (filename.startsWith("file:///"))
+ filename = filename.substring(8);
+
+ long long size;
+ if (!getFileSize(filename, size))
+ return NPERR_FILE_NOT_FOUND;
+
+ FILE* fileHandle = fopen((filename.utf8()).data(), "r");
+ if (!fileHandle)
+ return NPERR_FILE_NOT_FOUND;
+
+ buffer.resize(size);
+ int bytesRead = fread(buffer.data(), 1, size, fileHandle);
+
+ fclose(fileHandle);
+
+ if (bytesRead <= 0)
+ return NPERR_FILE_NOT_FOUND;
+
+ return NPERR_NO_ERROR;
+}
+
+bool PluginView::platformGetValueStatic(NPNVariable variable, void* value, NPError* result)
+{
+ switch (variable) {
+ case NPNVToolkit:
+ *static_cast<uint32_t*>(value) = 0;
+ *result = NPERR_NO_ERROR;
+ return true;
+
+ case NPNVSupportsXEmbedBool:
+ *static_cast<NPBool*>(value) = true;
+ *result = NPERR_NO_ERROR;
+ return true;
+
+ case NPNVjavascriptEnabledBool:
+ *static_cast<NPBool*>(value) = true;
+ *result = NPERR_NO_ERROR;
+ return true;
+
+ case NPNVSupportsWindowless:
+ *static_cast<NPBool*>(value) = true;
+ *result = NPERR_NO_ERROR;
+ return true;
+
+ default:
+ return false;
+ }
+}
+
+bool PluginView::platformGetValue(NPNVariable variable, void* value, NPError* result)
+{
+ switch (variable) {
+ case NPNVxDisplay:
+ *reinterpret_cast<void**>(value) = x11Display();
+ *result = NPERR_NO_ERROR;
+ return true;
+
+ case NPNVxtAppContext:
+ *result = NPERR_GENERIC_ERROR;
+ return true;
+
+ case NPNVnetscapeWindow: {
+ QWebPageClient* client = platformPageClient();
+ QWindow* window = client ? client->ownerWindow() : 0;
+ *reinterpret_cast<XID*>(value) = window ? window->winId() : 0;
+ *result = NPERR_NO_ERROR;
+ return true;
+ }
+
+ case NPNVToolkit:
+ if (m_plugin->quirks().contains(PluginQuirkRequiresGtkToolKit)) {
+ *((uint32_t *)value) = 2;
+ *result = NPERR_NO_ERROR;
+ return true;
+ }
+ return false;
+
+ default:
+ return false;
+ }
+}
+
+void PluginView::invalidateRect(const IntRect& rect)
+{
+ invalidateWindowlessPluginRect(rect);
+}
+
+void PluginView::invalidateRect(NPRect* rect)
+{
+ if (!rect) {
+ invalidate();
+ return;
+ }
+ IntRect r(rect->left, rect->top, rect->right - rect->left, rect->bottom - rect->top);
+ invalidateRect(r);
+}
+
+void PluginView::invalidateRegion(NPRegion region)
+{
+ Q_UNUSED(region);
+ invalidate();
+}
+
+void PluginView::forceRedraw()
+{
+ invalidate();
+}
+
+static Display* getPluginDisplayQt()
+{
+ // The plugin toolkit might run using a different X connection. At the moment, we only
+ // support gdk based plugins (like flash) that use a different X connection.
+ // The code below has the same effect as this one:
+ // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
+ QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
+ if (!library.load())
+ return 0;
+
+ typedef void *(*gdk_init_check_ptr)(void*, void*);
+ gdk_init_check_ptr gdk_init_check = (gdk_init_check_ptr)library.resolve("gdk_init_check");
+ if (!gdk_init_check)
+ return 0;
+
+ typedef void *(*gdk_display_get_default_ptr)();
+ gdk_display_get_default_ptr gdk_display_get_default = (gdk_display_get_default_ptr)library.resolve("gdk_display_get_default");
+ if (!gdk_display_get_default)
+ return 0;
+
+ typedef void *(*gdk_x11_display_get_xdisplay_ptr)(void *);
+ gdk_x11_display_get_xdisplay_ptr gdk_x11_display_get_xdisplay = (gdk_x11_display_get_xdisplay_ptr)library.resolve("gdk_x11_display_get_xdisplay");
+ if (!gdk_x11_display_get_xdisplay)
+ return 0;
+
+ gdk_init_check(0, 0);
+ return (Display*)gdk_x11_display_get_xdisplay(gdk_display_get_default());
+}
+
+static bool getVisualAndColormap(int depth, Visual*& visual, Colormap& colormap, bool forceARGB32)
+{
+ ASSERT(depth == 32 || !forceARGB32);
+
+ visual = 0;
+ colormap = 0;
+
+ if (forceARGB32)
+ return false;
+
+ int nvi;
+ XVisualInfo templ;
+ templ.screen = x11Screen();
+ templ.depth = depth;
+ templ.c_class = TrueColor;
+ XVisualInfo* xvi = XGetVisualInfo(x11Display(), VisualScreenMask | VisualDepthMask | VisualClassMask, &templ, &nvi);
+ ASSERT(xvi || forceARGB32);
+ if (!xvi)
+ return false;
+
+ visual = xvi[0].visual;
+ ASSERT(visual);
+
+ XFree(xvi);
+
+ colormap = XCreateColormap(x11Display(), rootWindowID(), visual, AllocNone);
+ return true;
+}
+
+bool PluginView::platformStart()
+{
+ ASSERT(m_isStarted);
+ ASSERT(m_status == PluginStatusLoadedSuccessfully);
+
+ if (!x11Environment.display) {
+ Display* display;
+ display = static_cast<Display*>(QGuiApplication::platformNativeInterface()->nativeResourceForWindow("display", 0));
+ x11Environment.display = display;
+ x11Environment.screenID = XDefaultScreen(display);
+ x11Environment.displayDepth = XDefaultDepth(display, x11Environment.screenID);
+ x11Environment.rootWindowID = XDefaultRootWindow(display);
+ }
+
+ // Windowed mode is not supported with Qt5 yet.
+ if (m_isWindowed)
+ return false;
+ setPlatformWidget(0);
+ m_pluginDisplay = getPluginDisplayQt();
+
+ // If the width and the height are not zero we show the PluginView.
+ if (!frameRect().isEmpty())
+ show();
+
+ NPSetWindowCallbackStruct* wsi = new NPSetWindowCallbackStruct();
+ wsi->type = 0;
+
+ int depth = displayDepth();
+ bool found = getVisualAndColormap(depth, m_visual, m_colormap, /* forceARGB32 = */ false);
+ ASSERT_UNUSED(found, found);
+ wsi->depth = depth;
+
+ wsi->display = x11Display();
+ wsi->visual = m_visual;
+ wsi->colormap = m_colormap;
+
+ m_npWindow.type = NPWindowTypeDrawable;
+ m_npWindow.window = 0; // Not used?
+ m_npWindow.x = 0;
+ m_npWindow.y = 0;
+ m_npWindow.width = -1;
+ m_npWindow.height = -1;
+
+ m_npWindow.ws_info = wsi;
+
+ if (!(m_plugin->quirks().contains(PluginQuirkDeferFirstSetWindowCall))) {
+ updatePluginWidget();
+ setNPWindowIfNeeded();
+ }
+
+ return true;
+}
+
+void PluginView::platformDestroy()
+{
+ if (platformPluginWidget())
+ delete platformPluginWidget();
+
+ if (m_drawable)
+ XFreePixmap(x11Display(), m_drawable);
+
+ if (m_colormap)
+ XFreeColormap(x11Display(), m_colormap);
+}
+
+// Copied from PluginViewWin.cpp
+float PluginView::deviceScaleFactor() const
+{
+ float scaleFactor = 1.0f;
+
+ if (!parent() || !parent()->isFrameView())
+ return scaleFactor;
+
+ // For windowless plugins, the device scale factor will be applied as for other page elements.
+ if (!m_isWindowed)
+ return scaleFactor;
+
+ FrameView& frameView = downcast<FrameView>(*parent());
+
+ if (frameView.frame().document())
+ scaleFactor = frameView.frame().document()->deviceScaleFactor();
+
+ return scaleFactor;
+}
+
+} // namespace WebCore
diff --git a/Source/WebKit/qt/Plugins/QtX11ImageConversion.cpp b/Source/WebKit/qt/Plugins/QtX11ImageConversion.cpp
new file mode 100644
index 000000000..0a76fe239
--- /dev/null
+++ b/Source/WebKit/qt/Plugins/QtX11ImageConversion.cpp
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2011 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 program 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 program; 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 "QtX11ImageConversion.h"
+
+namespace WebCore {
+
+QImage qimageFromXImage(XImage* xi)
+{
+ QImage::Format format = QImage::Format_ARGB32_Premultiplied;
+ if (xi->depth == 24)
+ format = QImage::Format_RGB32;
+ else if (xi->depth == 16)
+ format = QImage::Format_RGB16;
+
+ QImage image = QImage(reinterpret_cast<uchar*>(xi->data), xi->width, xi->height, xi->bytes_per_line, format).copy();
+
+ // we may have to swap the byte order
+ if ((QSysInfo::ByteOrder == QSysInfo::LittleEndian && xi->byte_order == MSBFirst)
+ || (QSysInfo::ByteOrder == QSysInfo::BigEndian && xi->byte_order == LSBFirst)) {
+
+ for (int i = 0; i < image.height(); i++) {
+ if (xi->depth == 16) {
+ ushort* p = reinterpret_cast<ushort*>(image.scanLine(i));
+ ushort* end = p + image.width();
+ while (p < end) {
+ *p = ((*p << 8) & 0xff00) | ((*p >> 8) & 0x00ff);
+ p++;
+ }
+ } else {
+ uint* p = reinterpret_cast<uint*>(image.scanLine(i));
+ uint* end = p + image.width();
+ while (p < end) {
+ *p = ((*p << 24) & 0xff000000) | ((*p << 8) & 0x00ff0000)
+ | ((*p >> 8) & 0x0000ff00) | ((*p >> 24) & 0x000000ff);
+ p++;
+ }
+ }
+ }
+ }
+
+ // fix-up alpha channel
+ if (format == QImage::Format_RGB32) {
+ QRgb* p = reinterpret_cast<QRgb*>(image.bits());
+ for (int y = 0; y < xi->height; ++y) {
+ for (int x = 0; x < xi->width; ++x)
+ p[x] |= 0xff000000;
+ p += xi->bytes_per_line / 4;
+ }
+ }
+
+ return image;
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit/gtk/webkit/webkitdom.h b/Source/WebKit/qt/Plugins/QtX11ImageConversion.h
index 84b9ccde4..1a999a4ca 100644
--- a/Source/WebKit/gtk/webkit/webkitdom.h
+++ b/Source/WebKit/qt/Plugins/QtX11ImageConversion.h
@@ -1,25 +1,33 @@
/*
- * Copyright (C) 2012 Igalia S.L.
+ * Copyright (C) 2011 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,
+ * This program 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
+ * along with this program; 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 __webkitdom_h__
-#define __webkitdom_h__
+#ifndef QtX11ImageConversion_h
+#define QtX11ImageConversion_h
+
+#include <QImage>
+#include <X11/Xlib.h>
+
+namespace WebCore {
+
+QImage qimageFromXImage(XImage*);
-#include <webkitdom/webkitdom.h>
+}
#endif
diff --git a/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
index 610253750..6c3e983d6 100644
--- a/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
@@ -37,18 +37,16 @@
#include "Document.h"
#include "FileChooser.h"
#include "FileIconLoader.h"
-#include "Frame.h"
#include "FrameLoadRequest.h"
#include "FrameLoader.h"
#include "FrameLoaderClientQt.h"
#include "FrameView.h"
#include "Geolocation.h"
-#if USE(ACCELERATED_COMPOSITING)
#include "GraphicsLayer.h"
-#endif
#include "HTMLFormElement.h"
#include "HitTestResult.h"
#include "Icon.h"
+#include "MainFrame.h"
#include "NavigationAction.h"
#include "NetworkingContext.h"
#include "NotImplemented.h"
@@ -61,20 +59,21 @@
#include "SearchPopupMenuQt.h"
#include "SecurityOrigin.h"
#include "TextureMapperLayerClientQt.h"
+#if USE(TILED_BACKING_STORE)
#include "TiledBackingStore.h"
+#endif
#include "ViewportArguments.h"
#include "WindowFeatures.h"
#include "qwebkitplatformplugin.h"
#include "qwebsecurityorigin.h"
#include "qwebsecurityorigin_p.h"
#include "qwebsettings.h"
-
#include <qabstractanimation.h>
#include <qdebug.h>
#include <qeventloop.h>
#include <qwindow.h>
#include <wtf/CurrentTime.h>
-#include <wtf/OwnPtr.h>
+
#if ENABLE(VIDEO) && ((USE(GSTREAMER) && USE(NATIVE_FULLSCREEN_VIDEO)) || USE(QT_MULTIMEDIA))
#include "FullScreenVideoQt.h"
@@ -167,11 +166,7 @@ bool ChromeClientQt::allowsAcceleratedCompositing() const
{
if (!platformPageClient())
return false;
-#if USE(ACCELERATED_COMPOSITING)
return true;
-#else
- return false;
-#endif
}
FloatRect ChromeClientQt::pageRect()
@@ -213,7 +208,7 @@ void ChromeClientQt::takeFocus(FocusDirection)
}
-void ChromeClientQt::focusedNodeChanged(Node*)
+void ChromeClientQt::focusedElementChanged(Element*)
{
}
@@ -308,12 +303,44 @@ void ChromeClientQt::setResizable(bool)
notImplemented();
}
-void ChromeClientQt::addMessageToConsole(MessageSource, MessageLevel, const String& message, unsigned lineNumber, unsigned columnNumber, const String& sourceID)
+static inline QWebPageAdapter::MessageSource convertSource(MessageSource source)
+{
+ switch (source) {
+ case MessageSource::XML: return QWebPageAdapter::XmlMessageSource;
+ case MessageSource::JS: return QWebPageAdapter::JSMessageSource;
+ case MessageSource::Network: return QWebPageAdapter::NetworkMessageSource;
+ case MessageSource::ConsoleAPI: return QWebPageAdapter::ConsoleAPIMessageSource;
+ case MessageSource::Storage: return QWebPageAdapter::StorageMessageSource;
+ case MessageSource::AppCache: return QWebPageAdapter::AppCacheMessageSource;
+ case MessageSource::Rendering: return QWebPageAdapter::RenderingMessageSource;
+ case MessageSource::CSS: return QWebPageAdapter::CSSMessageSource;
+ case MessageSource::Security: return QWebPageAdapter::SecurityMessageSource;
+ case MessageSource::ContentBlocker: return QWebPageAdapter::ContentBlockerMessageSource;
+ case MessageSource::Other: return QWebPageAdapter::OtherMessageSource;
+ }
+ Q_UNREACHABLE();
+ return QWebPageAdapter::OtherMessageSource;
+}
+
+static inline QWebPageAdapter::MessageLevel convertLevel(MessageLevel level)
+{
+ switch (level) {
+ case MessageLevel::Log: return QWebPageAdapter::LogMessageLevel;
+ case MessageLevel::Warning: return QWebPageAdapter::WarningMessageLevel;
+ case MessageLevel::Error: return QWebPageAdapter::ErrorMessageLevel;
+ case MessageLevel::Debug: return QWebPageAdapter::DebugMessageLevel;
+ case MessageLevel::Info: return QWebPageAdapter::InfoMessageLevel;
+ }
+ Q_UNREACHABLE();
+ return QWebPageAdapter::LogMessageLevel;
+}
+
+void ChromeClientQt::addMessageToConsole(MessageSource source, MessageLevel level, const String& message, unsigned lineNumber, unsigned columnNumber, const String& sourceID)
{
QString x = message;
QString y = sourceID;
UNUSED_PARAM(columnNumber);
- m_webPage->javaScriptConsoleMessage(x, lineNumber, y);
+ m_webPage->consoleMessageReceived(convertSource(source), convertLevel(level), x, lineNumber, y);
}
void ChromeClientQt::chromeDestroyed()
@@ -334,7 +361,7 @@ bool ChromeClientQt::runBeforeUnloadConfirmPanel(const String& message, Frame* f
void ChromeClientQt::closeWindowSoon()
{
m_webPage->page->setGroupName(String());
- m_webPage->page->mainFrame()->loader()->stopAllLoaders();
+ m_webPage->page->mainFrame().loader().stopAllLoaders();
QMetaObject::invokeMethod(m_webPage->handle(), "windowCloseRequested");
}
@@ -357,7 +384,7 @@ bool ChromeClientQt::runJavaScriptPrompt(Frame* f, const String& message, const
// Fix up a quirk in the QInputDialog class. If no input happened the string should be empty
// but it is null. See https://bugs.webkit.org/show_bug.cgi?id=30914.
if (rc && x.isNull())
- result = String("");
+ result = emptyString();
else
result = x;
@@ -381,44 +408,7 @@ KeyboardUIMode ChromeClientQt::keyboardUIMode()
? KeyboardAccessTabsToLinks : KeyboardAccessDefault;
}
-IntRect ChromeClientQt::windowResizerRect() const
-{
-#if defined(Q_WS_MAC)
- if (!m_webPage)
- return IntRect();
-
- QWebPageClient* pageClient = platformPageClient();
- if (!pageClient)
- return IntRect();
-
- QWindow* topLevelWidget = pageClient->ownerWindow();
- if (!topLevelWidget)
- return IntRect();
-
- QRect topLevelGeometry(topLevelWidget->geometry());
-
- // There's no API in Qt to query for the size of the resizer, so we assume
- // it has the same width and height as the scrollbar thickness.
- int scollbarThickness = ScrollbarTheme::theme()->scrollbarThickness();
-
- // There's no API in Qt to query for the position of the resizer. Sometimes
- // it's drawn by the system, and sometimes it's a QSizeGrip. For RTL locales
- // it might even be on the lower left side of the window, but in WebKit we
- // always draw scrollbars on the right hand side, so we assume this to be the
- // location when computing the resize rect to reserve for WebKit.
- QPoint resizeCornerTopLeft = QPoint(topLevelGeometry.width(), topLevelGeometry.height())
- - QPoint(scollbarThickness, scollbarThickness)
- - m_webPage->viewRectRelativeToWindow().topLeft();
-
- QRect resizeCornerRect = QRect(resizeCornerTopLeft, QSize(scollbarThickness, scollbarThickness));
- return resizeCornerRect.intersected(pageClient->geometryRelativeToOwnerWidget());
-
-#else
- return IntRect();
-#endif
-}
-
-void ChromeClientQt::invalidateRootView(const IntRect& windowRect, bool)
+void ChromeClientQt::invalidateRootView(const IntRect& windowRect)
{
#if USE(TILED_BACKING_STORE)
if (platformPageClient()) {
@@ -432,7 +422,7 @@ void ChromeClientQt::invalidateRootView(const IntRect& windowRect, bool)
#endif
}
-void ChromeClientQt::invalidateContentsAndRootView(const IntRect& windowRect, bool)
+void ChromeClientQt::invalidateContentsAndRootView(const IntRect& windowRect)
{
// No double buffer, so only update the QWidget if content changed.
if (platformPageClient()) {
@@ -447,9 +437,9 @@ void ChromeClientQt::invalidateContentsAndRootView(const IntRect& windowRect, bo
// is set.
}
-void ChromeClientQt::invalidateContentsForSlowScroll(const IntRect& windowRect, bool immediate)
+void ChromeClientQt::invalidateContentsForSlowScroll(const IntRect& windowRect)
{
- invalidateContentsAndRootView(windowRect, immediate);
+ invalidateContentsAndRootView(windowRect);
}
void ChromeClientQt::scroll(const IntSize& delta, const IntRect& scrollViewRect, const IntRect&)
@@ -508,7 +498,7 @@ PlatformPageClient ChromeClientQt::platformPageClient() const
void ChromeClientQt::contentsSizeChanged(Frame* frame, const IntSize& size) const
{
- if (frame->loader()->networkingContext())
+ if (frame->loader().networkingContext())
QWebFrameAdapter::kit(frame)->contentsSizeDidChange(size);
}
@@ -536,17 +526,15 @@ void ChromeClientQt::print(Frame* frame)
emit m_webPage->printRequested(QWebFrameAdapter::kit(frame));
}
-#if ENABLE(SQL_DATABASE)
void ChromeClientQt::exceededDatabaseQuota(Frame* frame, const String& databaseName, DatabaseDetails)
{
quint64 quota = QWebSettings::offlineStorageDefaultQuota();
- if (!DatabaseManager::manager().hasEntryForOrigin(frame->document()->securityOrigin()))
- DatabaseManager::manager().setQuota(frame->document()->securityOrigin(), quota);
+ if (!DatabaseManager::singleton().hasEntryForOrigin(frame->document()->securityOrigin()))
+ DatabaseManager::singleton().setQuota(frame->document()->securityOrigin(), quota);
m_webPage->databaseQuotaExceeded(QWebFrameAdapter::kit(frame), databaseName);
}
-#endif
void ChromeClientQt::reachedMaxAppCacheSize(int64_t)
{
@@ -557,19 +545,20 @@ void ChromeClientQt::reachedMaxAppCacheSize(int64_t)
void ChromeClientQt::reachedApplicationCacheOriginQuota(SecurityOrigin* origin, int64_t totalSpaceNeeded)
{
int64_t quota;
- quint64 defaultOriginQuota = WebCore::cacheStorage().defaultOriginQuota();
+ auto& applicationCacheStorage = ApplicationCacheStorage::singleton();
+ quint64 defaultOriginQuota = applicationCacheStorage.defaultOriginQuota();
QWebSecurityOriginPrivate* priv = new QWebSecurityOriginPrivate(origin);
QWebSecurityOrigin* securityOrigin = new QWebSecurityOrigin(priv);
- if (!WebCore::cacheStorage().calculateQuotaForOrigin(origin, quota))
- WebCore::cacheStorage().storeUpdatedQuotaForOrigin(origin, defaultOriginQuota);
+ if (!applicationCacheStorage.calculateQuotaForOrigin(origin, quota))
+ applicationCacheStorage.storeUpdatedQuotaForOrigin(origin, defaultOriginQuota);
m_webPage->applicationCacheQuotaExceeded(securityOrigin, defaultOriginQuota, static_cast<quint64>(totalSpaceNeeded));
}
#if ENABLE(INPUT_TYPE_COLOR)
-PassOwnPtr<ColorChooser> ChromeClientQt::createColorChooser(ColorChooserClient* client, const Color& color)
+std::unique_ptr<ColorChooser> ChromeClientQt::createColorChooser(ColorChooserClient* client, const Color& color)
{
const QColor selectedColor = m_webPage->colorSelectionRequested(QColor(color));
client->didChooseColor(selectedColor);
@@ -621,7 +610,7 @@ void ChromeClientQt::setCursor(const Cursor& cursor)
void ChromeClientQt::scheduleAnimation()
{
if (!m_refreshAnimation)
- m_refreshAnimation = adoptPtr(new RefreshAnimation(this));
+ m_refreshAnimation = std::make_unique<RefreshAnimation>(this);
m_refreshAnimation->scheduleAnimation();
}
@@ -631,11 +620,10 @@ void ChromeClientQt::serviceScriptedAnimations()
}
#endif
-#if USE(ACCELERATED_COMPOSITING)
void ChromeClientQt::attachRootGraphicsLayer(Frame* frame, GraphicsLayer* graphicsLayer)
{
if (!m_textureMapperLayerClient)
- m_textureMapperLayerClient = adoptPtr(new TextureMapperLayerClientQt(m_webPage->mainFrameAdapter()));
+ m_textureMapperLayerClient = std::make_unique<TextureMapperLayerClientQt>(m_webPage->mainFrameAdapter());
m_textureMapperLayerClient->setRootGraphicsLayer(graphicsLayer);
}
@@ -661,8 +649,6 @@ ChromeClient::CompositingTriggerFlags ChromeClientQt::allowedCompositingTriggers
return 0;
}
-#endif
-
#if USE(TILED_BACKING_STORE)
IntRect ChromeClientQt::visibleRectForTiledBackingStore() const
{
@@ -687,10 +673,9 @@ FullScreenVideoQt* ChromeClientQt::fullScreenVideo()
return m_fullScreenVideo;
}
-bool ChromeClientQt::supportsFullscreenForNode(const Node* node)
+bool ChromeClientQt::supportsVideoFullscreen(HTMLMediaElementEnums::VideoFullscreenMode)
{
- ASSERT(node);
- return node->hasTagName(HTMLNames::videoTag) && fullScreenVideo()->isValid();
+ return fullScreenVideo()->isValid();
}
bool ChromeClientQt::requiresFullscreenForVideoPlayback()
@@ -698,29 +683,25 @@ bool ChromeClientQt::requiresFullscreenForVideoPlayback()
return fullScreenVideo()->requiresFullScreenForVideoPlayback();
}
-void ChromeClientQt::enterFullscreenForNode(Node* node)
+void ChromeClientQt::enterVideoFullscreenForVideoElement(HTMLVideoElement& videoElement, MediaPlayerEnums::VideoFullscreenMode)
{
- ASSERT(node && node->hasTagName(HTMLNames::videoTag));
-
- fullScreenVideo()->enterFullScreenForNode(node);
+ fullScreenVideo()->enterFullScreenForNode(&videoElement);
}
-void ChromeClientQt::exitFullscreenForNode(Node* node)
+void ChromeClientQt::exitVideoFullscreenForVideoElement(HTMLVideoElement& videoElement)
{
- ASSERT(node && node->hasTagName(HTMLNames::videoTag));
-
- fullScreenVideo()->exitFullScreenForNode(node);
-}
+ fullScreenVideo()->exitVideoFullscreen(&videoElement);
+}
#endif
-PassOwnPtr<QWebSelectMethod> ChromeClientQt::createSelectPopup() const
+std::unique_ptr<QWebSelectMethod> ChromeClientQt::createSelectPopup() const
{
- OwnPtr<QWebSelectMethod> result = m_platformPlugin.createSelectInputMethod();
+ std::unique_ptr<QWebSelectMethod> result = m_platformPlugin.createSelectInputMethod();
if (result)
- return result.release();
+ return result;
#if !defined(QT_NO_COMBOBOX)
- return adoptPtr(m_webPage->createSelectPopup());
+ return m_webPage->createSelectPopup();
#else
return nullptr;
#endif
@@ -734,7 +715,7 @@ void ChromeClientQt::dispatchViewportPropertiesDidChange(const ViewportArguments
#if USE(QT_MULTIMEDIA)
QWebFullScreenVideoHandler* ChromeClientQt::createFullScreenVideoHandler()
{
- QWebFullScreenVideoHandler* handler = m_platformPlugin.createFullScreenVideoHandler().leakPtr();
+ QWebFullScreenVideoHandler* handler = m_platformPlugin.createFullScreenVideoHandler().release();
if (!handler)
handler = m_webPage->createFullScreenVideoHandler();
return handler;
@@ -757,24 +738,18 @@ bool ChromeClientQt::hasOpenedPopup() const
return false;
}
-PassRefPtr<PopupMenu> ChromeClientQt::createPopupMenu(PopupMenuClient* client) const
+RefPtr<PopupMenu> ChromeClientQt::createPopupMenu(PopupMenuClient* client) const
{
return adoptRef(new PopupMenuQt(client, this));
}
-PassRefPtr<SearchPopupMenu> ChromeClientQt::createSearchPopupMenu(PopupMenuClient* client) const
+RefPtr<SearchPopupMenu> ChromeClientQt::createSearchPopupMenu(PopupMenuClient* client) const
{
return adoptRef(new SearchPopupMenuQt(createPopupMenu(client)));
}
-void ChromeClientQt::populateVisitedLinks()
+void ChromeClientQt::attachViewOverlayGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*)
{
- // We don't need to do anything here because history is tied to QWebPage rather than stored
- // in a separate database
- if (dumpVisitedLinksCallbacks) {
- printf("Asked to populate visited links for WebView \"%s\"\n",
- qPrintable(QUrl(m_webPage->mainFrameAdapter()->url).toString()));
- }
}
} // namespace WebCore
diff --git a/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h b/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h
index 8f2db265f..ca621c8e0 100644
--- a/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h
@@ -31,9 +31,8 @@
#include "ChromeClient.h"
#include "FloatRect.h"
-#include "KURL.h"
#include "QtPlatformPlugin.h"
-#include <wtf/PassOwnPtr.h>
+#include "URL.h"
#include <wtf/RefCounted.h>
#include <wtf/text/WTFString.h>
@@ -60,150 +59,143 @@ class FullScreenVideoQt;
#endif
class TextureMapperLayerClientQt;
-class ChromeClientQt : public ChromeClient {
+class ChromeClientQt final : public ChromeClient {
public:
ChromeClientQt(QWebPageAdapter*);
virtual ~ChromeClientQt();
- virtual void chromeDestroyed();
+ void chromeDestroyed() override;
- virtual void setWindowRect(const FloatRect&);
- virtual FloatRect windowRect();
+ void setWindowRect(const FloatRect&) override;
+ FloatRect windowRect() override;
- virtual FloatRect pageRect();
+ FloatRect pageRect() override;
- virtual void focus();
- virtual void unfocus();
+ void focus() override;
+ void unfocus() override;
- virtual bool canTakeFocus(FocusDirection);
- virtual void takeFocus(FocusDirection);
+ bool canTakeFocus(FocusDirection) override;
+ void takeFocus(FocusDirection) override;
- virtual void focusedNodeChanged(Node*);
- virtual void focusedFrameChanged(Frame*);
+ void focusedElementChanged(Element*) override;
+ void focusedFrameChanged(Frame*) override;
- virtual Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&, const NavigationAction&);
- virtual void show();
+ Page* createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&, const NavigationAction&) override;
+ void show() override;
- virtual bool canRunModal();
- virtual void runModal();
+ bool canRunModal() override;
+ void runModal() override;
- virtual void setToolbarsVisible(bool);
- virtual bool toolbarsVisible();
+ void setToolbarsVisible(bool) override;
+ bool toolbarsVisible() override;
- virtual void setStatusbarVisible(bool);
- virtual bool statusbarVisible();
+ void setStatusbarVisible(bool) override;
+ bool statusbarVisible() override;
- virtual void setScrollbarsVisible(bool);
- virtual bool scrollbarsVisible();
+ void setScrollbarsVisible(bool) override;
+ bool scrollbarsVisible() override;
- virtual void setMenubarVisible(bool);
- virtual bool menubarVisible();
+ void setMenubarVisible(bool) override;
+ bool menubarVisible() override;
- virtual void setResizable(bool);
+ void setResizable(bool) override;
- virtual void addMessageToConsole(MessageSource, MessageLevel, const String& message, unsigned lineNumber, unsigned columnNumber, const String& sourceID);
+ void addMessageToConsole(MessageSource, MessageLevel, const String& message, unsigned lineNumber, unsigned columnNumber, const String& sourceID) override;
- virtual bool canRunBeforeUnloadConfirmPanel();
- virtual bool runBeforeUnloadConfirmPanel(const String& message, Frame*);
+ bool canRunBeforeUnloadConfirmPanel() override;
+ bool runBeforeUnloadConfirmPanel(const String& message, Frame*) override;
- virtual void closeWindowSoon();
+ void closeWindowSoon() override;
- virtual void runJavaScriptAlert(Frame*, const String&);
- virtual bool runJavaScriptConfirm(Frame*, const String&);
- virtual bool runJavaScriptPrompt(Frame*, const String& message, const String& defaultValue, String& result);
+ void runJavaScriptAlert(Frame*, const String&) override;
+ bool runJavaScriptConfirm(Frame*, const String&) override;
+ bool runJavaScriptPrompt(Frame*, const String& message, const String& defaultValue, String& result) override;
virtual bool shouldInterruptJavaScript();
- virtual void setStatusbarText(const String&);
+ void setStatusbarText(const String&) override;
- virtual KeyboardUIMode keyboardUIMode();
- virtual IntRect windowResizerRect() const;
+ KeyboardUIMode keyboardUIMode() override;
- virtual void invalidateRootView(const IntRect&, bool);
- virtual void invalidateContentsAndRootView(const IntRect&, bool);
- virtual void invalidateContentsForSlowScroll(const IntRect&, bool);
- virtual void scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect);
+ void invalidateRootView(const IntRect&) override;
+ void invalidateContentsAndRootView(const IntRect&) override;
+ void invalidateContentsForSlowScroll(const IntRect&) override;
+ void scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect) override;
#if USE(TILED_BACKING_STORE)
virtual void delegatedScrollRequested(const IntPoint& scrollPoint);
#endif
- virtual IntPoint screenToRootView(const IntPoint&) const;
- virtual IntRect rootViewToScreen(const IntRect&) const;
- virtual PlatformPageClient platformPageClient() const;
- virtual void contentsSizeChanged(Frame*, const IntSize&) const;
+ IntPoint screenToRootView(const IntPoint&) const override;
+ IntRect rootViewToScreen(const IntRect&) const override;
+ PlatformPageClient platformPageClient() const override;
+ void contentsSizeChanged(Frame*, const IntSize&) const override;
- virtual void scrollbarsModeDidChange() const { }
- virtual void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags);
+ void scrollbarsModeDidChange() const override { }
+ void mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags) override;
- virtual void setToolTip(const String&, TextDirection);
+ void setToolTip(const String&, TextDirection) override;
- virtual void print(Frame*);
-#if ENABLE(SQL_DATABASE)
- virtual void exceededDatabaseQuota(Frame*, const String&, DatabaseDetails);
-#endif
- virtual void reachedMaxAppCacheSize(int64_t spaceNeeded);
- virtual void reachedApplicationCacheOriginQuota(SecurityOrigin*, int64_t totalSpaceNeeded);
+ void print(Frame*) override;
+ void exceededDatabaseQuota(Frame*, const String&, DatabaseDetails) override;
+ void reachedMaxAppCacheSize(int64_t spaceNeeded) override;
+ void reachedApplicationCacheOriginQuota(SecurityOrigin*, int64_t totalSpaceNeeded) override;
-#if USE(ACCELERATED_COMPOSITING)
// This is a hook for WebCore to tell us what we need to do with the GraphicsLayers.
- virtual void attachRootGraphicsLayer(Frame*, GraphicsLayer*);
- virtual void setNeedsOneShotDrawingSynchronization();
- virtual void scheduleCompositingLayerFlush();
- virtual CompositingTriggerFlags allowedCompositingTriggers() const;
-#endif
- virtual bool allowsAcceleratedCompositing() const;
+ void attachRootGraphicsLayer(Frame*, GraphicsLayer*) override;
+ void setNeedsOneShotDrawingSynchronization() override;
+ void scheduleCompositingLayerFlush() override;
+ CompositingTriggerFlags allowedCompositingTriggers() const override;
+ bool allowsAcceleratedCompositing() const override;
#if USE(TILED_BACKING_STORE)
virtual IntRect visibleRectForTiledBackingStore() const;
#endif
#if ENABLE(TOUCH_EVENTS)
- virtual void needTouchEvents(bool) { }
+ void needTouchEvents(bool) override { }
#endif
#if ENABLE(VIDEO) && ((USE(GSTREAMER) && USE(NATIVE_FULLSCREEN_VIDEO)) || USE(QT_MULTIMEDIA))
- virtual bool supportsFullscreenForNode(const Node*);
- virtual void enterFullscreenForNode(Node*);
- virtual void exitFullscreenForNode(Node*);
- virtual bool requiresFullscreenForVideoPlayback();
+ bool supportsVideoFullscreen(MediaPlayerEnums::VideoFullscreenMode) override;
+ void enterVideoFullscreenForVideoElement(HTMLVideoElement&, MediaPlayerEnums::VideoFullscreenMode) override;
+ void exitVideoFullscreenForVideoElement(WebCore::HTMLVideoElement&) override;
+ bool requiresFullscreenForVideoPlayback() override;
FullScreenVideoQt* fullScreenVideo();
#endif
#if ENABLE(INPUT_TYPE_COLOR)
- virtual PassOwnPtr<ColorChooser> createColorChooser(ColorChooserClient*, const Color&);
+ std::unique_ptr<ColorChooser> createColorChooser(ColorChooserClient*, const Color&) override;
#endif
- virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>);
- virtual void loadIconForFiles(const Vector<String>&, FileIconLoader*);
-
- virtual void formStateDidChange(const Node*) { }
+ void runOpenPanel(Frame*, PassRefPtr<FileChooser>) override;
+ void loadIconForFiles(const Vector<String>&, FileIconLoader*) override;
- virtual void setCursor(const Cursor&);
- virtual void setCursorHiddenUntilMouseMoves(bool) { }
+ void setCursor(const Cursor&) override;
+ void setCursorHiddenUntilMouseMoves(bool) override { }
#if ENABLE(REQUEST_ANIMATION_FRAME) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
- virtual void scheduleAnimation();
- virtual void serviceScriptedAnimations();
+ void scheduleAnimation() override;
+ void serviceScriptedAnimations();
#endif
- virtual void scrollRectIntoView(const LayoutRect) const { }
+ void scrollRectIntoView(const IntRect&) const override { }
- virtual bool selectItemWritingDirectionIsNatural();
- virtual bool selectItemAlignmentFollowsMenuWritingDirection();
- virtual bool hasOpenedPopup() const;
- virtual PassRefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const;
- virtual PassRefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const;
- virtual void populateVisitedLinks();
+ bool selectItemWritingDirectionIsNatural() override;
+ bool selectItemAlignmentFollowsMenuWritingDirection() override;
+ bool hasOpenedPopup() const override;
+ RefPtr<PopupMenu> createPopupMenu(PopupMenuClient*) const override;
+ RefPtr<SearchPopupMenu> createSearchPopupMenu(PopupMenuClient*) const override;
- PassOwnPtr<QWebSelectMethod> createSelectPopup() const;
+ std::unique_ptr<QWebSelectMethod> createSelectPopup() const;
- virtual void dispatchViewportPropertiesDidChange(const ViewportArguments&) const;
+ void dispatchViewportPropertiesDidChange(const ViewportArguments&) const override;
- virtual bool shouldRubberBandInDirection(WebCore::ScrollDirection) const { return true; }
- virtual void numWheelEventHandlersChanged(unsigned) { }
+ void wheelEventHandlersChanged(bool) override { }
+
+ void attachViewOverlayGraphicsLayer(Frame *, GraphicsLayer *) override;
QWebFullScreenVideoHandler* createFullScreenVideoHandler();
QWebPageAdapter* m_webPage;
- KURL lastHoverURL;
+ URL lastHoverURL;
String lastHoverTitle;
String lastHoverContent;
@@ -212,7 +204,7 @@ public:
bool menuBarVisible;
QEventLoop* m_eventLoop;
#if ENABLE(REQUEST_ANIMATION_FRAME) && !USE(REQUEST_ANIMATION_FRAME_TIMER)
- OwnPtr<RefreshAnimation> m_refreshAnimation;
+ std::unique_ptr<RefreshAnimation> m_refreshAnimation;
#endif
#if ENABLE(VIDEO) && (USE(GSTREAMER) || USE(QT_MULTIMEDIA))
@@ -223,9 +215,7 @@ public:
mutable QtPlatformPlugin m_platformPlugin;
-#if USE(ACCELERATED_COMPOSITING)
- OwnPtr<TextureMapperLayerClientQt> m_textureMapperLayerClient;
-#endif
+ std::unique_ptr<TextureMapperLayerClientQt> m_textureMapperLayerClient;
};
}
diff --git a/Source/WebKit/qt/WebCoreSupport/ContextMenuClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/ContextMenuClientQt.cpp
index 72a3dbbd7..5f0568c18 100644
--- a/Source/WebKit/qt/WebCoreSupport/ContextMenuClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/ContextMenuClientQt.cpp
@@ -28,7 +28,7 @@
#include "ContextMenu.h"
#include "HitTestResult.h"
-#include "KURL.h"
+#include "URL.h"
#include "NotImplemented.h"
#include <wtf/RefCounted.h>
@@ -40,17 +40,12 @@ void ContextMenuClientQt::contextMenuDestroyed()
delete this;
}
-PassOwnPtr<ContextMenu> ContextMenuClientQt::customizeMenu(PassOwnPtr<ContextMenu> menu)
-{
- return menu;
-}
-
void ContextMenuClientQt::contextMenuItemSelected(ContextMenuItem*, const ContextMenu*)
{
notImplemented();
}
-void ContextMenuClientQt::downloadURL(const KURL&)
+void ContextMenuClientQt::downloadURL(const URL&)
{
notImplemented();
}
diff --git a/Source/WebKit/qt/WebCoreSupport/ContextMenuClientQt.h b/Source/WebKit/qt/WebCoreSupport/ContextMenuClientQt.h
index e8efd282f..67e708330 100644
--- a/Source/WebKit/qt/WebCoreSupport/ContextMenuClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/ContextMenuClientQt.h
@@ -37,10 +37,9 @@ class ContextMenuClientQt : public ContextMenuClient {
public:
virtual void contextMenuDestroyed();
- virtual PassOwnPtr<ContextMenu> customizeMenu(PassOwnPtr<ContextMenu>);
virtual void contextMenuItemSelected(ContextMenuItem*, const ContextMenu*);
- virtual void downloadURL(const KURL&);
+ virtual void downloadURL(const URL&);
virtual void lookUpInDictionary(Frame*);
virtual void speak(const String&);
virtual bool isSpeaking();
diff --git a/Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp
index 11a805f53..9a0ed53c1 100644
--- a/Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/DragClientQt.cpp
@@ -27,7 +27,7 @@
#include "DragClientQt.h"
#include "ChromeClient.h"
-#include "Clipboard.h"
+#include "DataTransfer.h"
#include "DragController.h"
#include "EventHandler.h"
#include "Frame.h"
@@ -67,12 +67,12 @@ static inline DragOperation dropActionToDragOperation(Qt::DropActions action)
return result;
}
-DragDestinationAction DragClientQt::actionMaskForDrag(DragData*)
+DragDestinationAction DragClientQt::actionMaskForDrag(DragData&)
{
return DragDestinationActionAny;
}
-void DragClientQt::willPerformDragDestinationAction(DragDestinationAction, DragData*)
+void DragClientQt::willPerformDragDestinationAction(DragDestinationAction, DragData&)
{
}
@@ -86,15 +86,15 @@ DragSourceAction DragClientQt::dragSourceActionMaskForPoint(const IntPoint&)
return DragSourceActionAny;
}
-void DragClientQt::willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*)
+void DragClientQt::willPerformDragSourceAction(DragSourceAction, const IntPoint&, DataTransfer&)
{
}
-void DragClientQt::startDrag(DragImageRef dragImage, const IntPoint& dragImageOrigin, const IntPoint& eventPos, Clipboard* clipboard, Frame* frame, bool)
+void DragClientQt::startDrag(DragImageRef dragImage, const IntPoint& dragImageOrigin, const IntPoint& eventPos, DataTransfer& dataTransfer, Frame& frame, bool)
{
-#ifndef QT_NO_DRAGANDDROP
- QMimeData* clipboardData = clipboard->pasteboard().clipboardData();
- clipboard->pasteboard().invalidateWritableData();
+#if ENABLE(DRAG_SUPPORT)
+ QMimeData* clipboardData = dataTransfer.pasteboard().clipboardData();
+ dataTransfer.pasteboard().invalidateWritableData();
PlatformPageClient pageClient = m_chromeClient->platformPageClient();
QObject* view = pageClient ? pageClient->ownerWidget() : 0;
if (view) {
@@ -104,15 +104,15 @@ void DragClientQt::startDrag(DragImageRef dragImage, const IntPoint& dragImageOr
drag->setHotSpot(IntPoint(eventPos - dragImageOrigin));
} else if (clipboardData && clipboardData->hasImage())
drag->setPixmap(qvariant_cast<QPixmap>(clipboardData->imageData()));
- DragOperation dragOperationMask = clipboard->sourceOperation();
+ DragOperation dragOperationMask = dataTransfer.sourceOperation();
drag->setMimeData(clipboardData);
Qt::DropAction actualDropAction = drag->exec(dragOperationsToDropActions(dragOperationMask));
// Send dragEnd event
- PlatformMouseEvent me(m_chromeClient->screenToRootView(QCursor::pos()), QCursor::pos(), LeftButton, PlatformEvent::MouseMoved, 0, false, false, false, false, 0);
- frame->eventHandler()->dragSourceEndedAt(me, dropActionToDragOperation(actualDropAction));
+ PlatformMouseEvent me(m_chromeClient->screenToRootView(QCursor::pos()), QCursor::pos(), LeftButton, PlatformEvent::MouseMoved, 0, false, false, false, false, 0, ForceAtClick);
+ frame.eventHandler().dragSourceEndedAt(me, dropActionToDragOperation(actualDropAction));
}
- frame->page()->dragController()->dragEnded();
+ frame.page()->dragController().dragEnded();
#endif
}
diff --git a/Source/WebKit/qt/WebCoreSupport/DragClientQt.h b/Source/WebKit/qt/WebCoreSupport/DragClientQt.h
index aa8b8085b..870d6dd53 100644
--- a/Source/WebKit/qt/WebCoreSupport/DragClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/DragClientQt.h
@@ -35,12 +35,12 @@ class ChromeClient;
class DragClientQt : public DragClient {
public:
DragClientQt(ChromeClient* chromeClient) : m_chromeClient(chromeClient) { };
- virtual void willPerformDragDestinationAction(DragDestinationAction, DragData*);
- virtual DragDestinationAction actionMaskForDrag(DragData*);
- virtual void dragControllerDestroyed();
- virtual DragSourceAction dragSourceActionMaskForPoint(const IntPoint&);
- virtual void willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*);
- virtual void startDrag(DragImageRef, const IntPoint& dragImageOrigin, const IntPoint& eventPos, Clipboard*, Frame*, bool linkDrag = false);
+ void willPerformDragDestinationAction(DragDestinationAction, DragData&) override;
+ DragDestinationAction actionMaskForDrag(DragData&) override;
+ void dragControllerDestroyed() override;
+ DragSourceAction dragSourceActionMaskForPoint(const IntPoint&) override;
+ void willPerformDragSourceAction(DragSourceAction, const IntPoint&, DataTransfer&) override;
+ void startDrag(DragImageRef, const IntPoint& dragImageOrigin, const IntPoint& eventPos, DataTransfer&, Frame&, bool linkDrag = false) override;
private:
ChromeClient* m_chromeClient;
};
diff --git a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
index e1231985d..24578ae38 100644
--- a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
@@ -2,7 +2,7 @@
Copyright (C) 2010 Robert Hogan <robert@roberthogan.net>
Copyright (C) 2008,2009,2010 Nokia Corporation and/or its subsidiary(-ies)
Copyright (C) 2007 Staikos Computing Services Inc.
- Copyright (C) 2007, 2012 Apple Inc.
+ Copyright (C) 2007, 2012, 2013 Apple Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -25,6 +25,7 @@
#include "APICast.h"
#include "ApplicationCacheStorage.h"
+#include "BackForwardController.h"
#include "ChromeClientQt.h"
#include "ContainerNode.h"
#include "ContextMenu.h"
@@ -39,7 +40,6 @@
#include "Element.h"
#include "FocusController.h"
#include "Font.h"
-#include "Frame.h"
#include "FrameLoadRequest.h"
#include "FrameLoaderClientQt.h"
#include "FrameView.h"
@@ -54,6 +54,7 @@
#include "HistoryItem.h"
#include "InspectorController.h"
#include "JSNode.h"
+#include "MainFrame.h"
#include "NodeList.h"
#include "NotificationPresenterClientQt.h"
#include "Page.h"
@@ -62,6 +63,7 @@
#include "PluginView.h"
#include "PositionError.h"
#include "PrintContext.h"
+#include "ProgressTrackerClientQt.h"
#include "QWebFrameAdapter.h"
#include "QWebPageAdapter.h"
#include "RenderListItem.h"
@@ -76,6 +78,9 @@
#include "Settings.h"
#include "TextIterator.h"
#include "ThirdPartyCookiesQt.h"
+#include "UserContentController.h"
+#include "UserContentTypes.h"
+#include "UserStyleSheet.h"
#include "WebCoreTestSupport.h"
#include "qt_runtime.h"
#include "qwebelement.h"
@@ -96,10 +101,10 @@ using namespace WebCore;
QMap<int, QWebScriptWorld*> m_worldMap;
#if ENABLE(GEOLOCATION)
-GeolocationClientMock* toGeolocationClientMock(GeolocationClient* client)
+GeolocationClientMock& toGeolocationClientMock(GeolocationClient& client)
{
ASSERT(QWebPageAdapter::drtRun);
- return static_cast<GeolocationClientMock*>(client);
+ return static_cast<GeolocationClientMock&>(client);
}
#endif
@@ -163,9 +168,9 @@ WebCore::Node* QtDRTNodeRuntime::get(const QDRTNode& node)
static QVariant convertJSValueToNodeVariant(JSC::JSObject* object, int *distance, HashSet<JSObjectRef>*)
{
- if (!object || !object->inherits(&JSNode::s_info))
+ if (!object || !object->inherits(JSNode::info()))
return QVariant();
- return QVariant::fromValue<QDRTNode>(QtDRTNodeRuntime::create((static_cast<JSNode*>(object))->impl()));
+ return QVariant::fromValue<QDRTNode>(QtDRTNodeRuntime::create(JSNode::toWrapped(object)));
}
static JSC::JSValue convertNodeVariantToJSValue(JSC::ExecState* exec, WebCore::JSDOMGlobalObject* globalObject, const QVariant& variant)
@@ -219,7 +224,7 @@ void DumpRenderTreeSupportQt::setDumpRenderTreeModeEnabled(bool b)
void DumpRenderTreeSupportQt::setFrameFlatteningEnabled(QWebPageAdapter* adapter, bool enabled)
{
- adapter->page->settings()->setFrameFlatteningEnabled(enabled);
+ adapter->page->settings().setFrameFlatteningEnabled(enabled);
}
void DumpRenderTreeSupportQt::webPageSetGroupName(QWebPageAdapter *adapter, const QString& groupName)
@@ -232,31 +237,20 @@ QString DumpRenderTreeSupportQt::webPageGroupName(QWebPageAdapter* adapter)
return adapter->page->groupName();
}
-void DumpRenderTreeSupportQt::webInspectorExecuteScript(QWebPageAdapter* adapter, long callId, const QString& script)
+void DumpRenderTreeSupportQt::webInspectorExecuteScript(QWebPageAdapter* adapter, const QString& script)
{
-#if ENABLE(INSPECTOR)
- if (!adapter->page->inspectorController())
- return;
- adapter->page->inspectorController()->evaluateForTestInFrontend(callId, script);
-#endif
+ adapter->page->inspectorController().evaluateForTestInFrontend(script);
}
void DumpRenderTreeSupportQt::webInspectorShow(QWebPageAdapter* adapter)
{
-#if ENABLE(INSPECTOR)
- if (!adapter->page->inspectorController())
- return;
- adapter->page->inspectorController()->show();
-#endif
+ adapter->page->inspectorController().show();
}
void DumpRenderTreeSupportQt::webInspectorClose(QWebPageAdapter* adapter)
{
-#if ENABLE(INSPECTOR)
- if (!adapter->page->inspectorController())
- return;
- adapter->page->inspectorController()->close();
-#endif
+ // FIXME: Call InspectorFrontendClientQt::closeWindow()
+ // adapter->page->inspectorController().close();
}
bool DumpRenderTreeSupportQt::hasDocumentElement(QWebFrameAdapter *adapter)
@@ -267,44 +261,40 @@ bool DumpRenderTreeSupportQt::hasDocumentElement(QWebFrameAdapter *adapter)
void DumpRenderTreeSupportQt::setValueForUser(const QWebElement& element, const QString& value)
{
WebCore::Element* webElement = element.m_element;
- if (!webElement)
+ if (!webElement || !is<HTMLInputElement>(webElement))
return;
- HTMLInputElement* inputElement = webElement->toInputElement();
- if (!inputElement)
- return;
-
- inputElement->setValueForUser(value);
+ downcast<HTMLInputElement>(*webElement).setValueForUser(value);
}
void DumpRenderTreeSupportQt::clearFrameName(QWebFrameAdapter *adapter)
{
Frame* coreFrame = adapter->frame;
- coreFrame->tree()->clearName();
+ coreFrame->tree().clearName();
}
-int DumpRenderTreeSupportQt::javaScriptObjectsCount()
+size_t DumpRenderTreeSupportQt::javaScriptObjectsCount()
{
- return JSDOMWindowBase::commonVM()->heap.globalObjectCount();
+ return JSDOMWindowBase::commonVM().heap.globalObjectCount();
}
void DumpRenderTreeSupportQt::garbageCollectorCollect()
{
- gcController().garbageCollectNow();
+ GCController::singleton().garbageCollectNow();
}
void DumpRenderTreeSupportQt::garbageCollectorCollectOnAlternateThread(bool waitUntilDone)
{
- gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
+ GCController::singleton().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
}
void DumpRenderTreeSupportQt::whiteListAccessFromOrigin(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains)
{
- SecurityPolicy::addOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
+ SecurityPolicy::addOriginAccessWhitelistEntry(SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
}
void DumpRenderTreeSupportQt::removeWhiteListAccessFromOrigin(const QString& sourceOrigin, const QString& destinationProtocol, const QString& destinationHost, bool allowDestinationSubdomains)
{
- SecurityPolicy::removeOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
+ SecurityPolicy::removeOriginAccessWhitelistEntry(SecurityOrigin::createFromString(sourceOrigin), destinationProtocol, destinationHost, allowDestinationSubdomains);
}
void DumpRenderTreeSupportQt::resetOriginAccessWhiteLists()
@@ -319,40 +309,40 @@ void DumpRenderTreeSupportQt::setDomainRelaxationForbiddenForURLScheme(bool forb
void DumpRenderTreeSupportQt::setCaretBrowsingEnabled(QWebPageAdapter* adapter, bool value)
{
- adapter->page->settings()->setCaretBrowsingEnabled(value);
+ adapter->page->settings().setCaretBrowsingEnabled(value);
}
void DumpRenderTreeSupportQt::setAuthorAndUserStylesEnabled(QWebPageAdapter* adapter, bool value)
{
- adapter->page->settings()->setAuthorAndUserStylesEnabled(value);
+ adapter->page->settings().setAuthorAndUserStylesEnabled(value);
}
void DumpRenderTreeSupportQt::executeCoreCommandByName(QWebPageAdapter* adapter, const QString& name, const QString& value)
{
- adapter->page->focusController()->focusedOrMainFrame()->editor().command(name).execute(value);
+ adapter->page->focusController().focusedOrMainFrame().editor().command(name).execute(value);
}
bool DumpRenderTreeSupportQt::isCommandEnabled(QWebPageAdapter *adapter, const QString& name)
{
- return adapter->page->focusController()->focusedOrMainFrame()->editor().command(name).isEnabled();
+ return adapter->page->focusController().focusedOrMainFrame().editor().command(name).isEnabled();
}
QVariantList DumpRenderTreeSupportQt::selectedRange(QWebPageAdapter *adapter)
{
- WebCore::Frame* frame = adapter->page->focusController()->focusedOrMainFrame();
+ WebCore::Frame& frame = adapter->page->focusController().focusedOrMainFrame();
QVariantList selectedRange;
- RefPtr<Range> range = frame->selection()->toNormalizedRange().get();
+ RefPtr<Range> range = frame.selection().toNormalizedRange().get();
- Element* selectionRoot = frame->selection()->rootEditableElement();
- Element* scope = selectionRoot ? selectionRoot : frame->document()->documentElement();
+ Element* selectionRoot = frame.selection().selection().rootEditableElement();
+ Element* scope = selectionRoot ? selectionRoot : frame.document()->documentElement();
- RefPtr<Range> testRange = Range::create(scope->document(), scope, 0, range->startContainer(), range->startOffset());
- ASSERT(testRange->startContainer() == scope);
+ RefPtr<Range> testRange = Range::create(scope->document(), scope, 0, &range->startContainer(), range->startOffset());
+ ASSERT(&testRange->startContainer() == scope);
int startPosition = TextIterator::rangeLength(testRange.get());
ExceptionCode ec;
- testRange->setEnd(range->endContainer(), range->endOffset(), ec);
- ASSERT(testRange->startContainer() == scope);
+ testRange->setEnd(&range->endContainer(), range->endOffset(), ec);
+ ASSERT(&testRange->startContainer() == scope);
int endPosition = TextIterator::rangeLength(testRange.get());
selectedRange << startPosition << (endPosition - startPosition);
@@ -363,18 +353,18 @@ QVariantList DumpRenderTreeSupportQt::selectedRange(QWebPageAdapter *adapter)
QVariantList DumpRenderTreeSupportQt::firstRectForCharacterRange(QWebPageAdapter *adapter, int location, int length)
{
- WebCore::Frame* frame = adapter->page->focusController()->focusedOrMainFrame();
+ WebCore::Frame& frame = adapter->page->focusController().focusedOrMainFrame();
QVariantList rect;
if ((location + length < location) && (location + length))
length = 0;
- RefPtr<Range> range = TextIterator::rangeFromLocationAndLength(frame->selection()->rootEditableElementOrDocumentElement(), location, length);
+ RefPtr<Range> range = TextIterator::rangeFromLocationAndLength(frame.selection().rootEditableElementOrDocumentElement(), location, length);
if (!range)
return QVariantList();
- QRect resultRect = frame->editor().firstRectForRange(range.get());
+ QRect resultRect = frame.editor().firstRectForRange(range.get());
rect << resultRect.x() << resultRect.y() << resultRect.width() << resultRect.height();
return rect;
}
@@ -384,13 +374,14 @@ void DumpRenderTreeSupportQt::setWindowsBehaviorAsEditingBehavior(QWebPageAdapte
Page* corePage = adapter->page;
if (!corePage)
return;
- corePage->settings()->setEditingBehaviorType(EditingWindowsBehavior);
+ corePage->settings().setEditingBehaviorType(EditingWindowsBehavior);
}
void DumpRenderTreeSupportQt::clearAllApplicationCaches()
{
- WebCore::cacheStorage().empty();
- WebCore::cacheStorage().vacuumDatabaseFile();
+ auto& applicationCacheStorage = ApplicationCacheStorage::singleton();
+ applicationCacheStorage.empty();
+ applicationCacheStorage.vacuumDatabaseFile();
}
void DumpRenderTreeSupportQt::dumpFrameLoader(bool b)
@@ -400,7 +391,7 @@ void DumpRenderTreeSupportQt::dumpFrameLoader(bool b)
void DumpRenderTreeSupportQt::dumpProgressFinishedCallback(bool b)
{
- FrameLoaderClientQt::dumpProgressFinishedCallback = b;
+ ProgressTrackerClientQt::dumpProgressFinishedCallback = b;
}
void DumpRenderTreeSupportQt::dumpUserGestureInFrameLoader(bool b)
@@ -527,8 +518,8 @@ void DumpRenderTreeSupportQt::resetGeolocationMock(QWebPageAdapter* adapter)
{
#if ENABLE(GEOLOCATION)
Page* corePage = adapter->page;
- GeolocationClientMock* mockClient = toGeolocationClientMock(GeolocationController::from(corePage)->client());
- mockClient->reset();
+ auto& mockClient = toGeolocationClientMock(GeolocationController::from(corePage)->client());
+ mockClient.reset();
#endif
}
@@ -536,8 +527,8 @@ void DumpRenderTreeSupportQt::setMockGeolocationPermission(QWebPageAdapter* adap
{
#if ENABLE(GEOLOCATION)
Page* corePage = adapter->page;
- GeolocationClientMock* mockClient = toGeolocationClientMock(GeolocationController::from(corePage)->client());
- mockClient->setPermission(allowed);
+ auto& mockClient = toGeolocationClientMock(GeolocationController::from(corePage)->client());
+ mockClient.setPermission(allowed);
#endif
}
@@ -545,8 +536,8 @@ void DumpRenderTreeSupportQt::setMockGeolocationPosition(QWebPageAdapter* adapte
{
#if ENABLE(GEOLOCATION)
Page* corePage = adapter->page;
- GeolocationClientMock* mockClient = toGeolocationClientMock(GeolocationController::from(corePage)->client());
- mockClient->setPosition(GeolocationPosition::create(currentTime(), latitude, longitude, accuracy));
+ auto& mockClient = toGeolocationClientMock(GeolocationController::from(corePage)->client());
+ mockClient.setPosition(GeolocationPosition::create(currentTime(), latitude, longitude, accuracy));
#endif
}
@@ -554,8 +545,8 @@ void DumpRenderTreeSupportQt::setMockGeolocationPositionUnavailableError(QWebPag
{
#if ENABLE(GEOLOCATION)
Page* corePage = adapter->page;
- GeolocationClientMock* mockClient = static_cast<GeolocationClientMock*>(GeolocationController::from(corePage)->client());
- mockClient->setPositionUnavailableError(message);
+ auto& mockClient = toGeolocationClientMock(GeolocationController::from(corePage)->client());
+ mockClient.setPositionUnavailableError(message);
#endif
}
@@ -563,8 +554,8 @@ int DumpRenderTreeSupportQt::numberOfPendingGeolocationPermissionRequests(QWebPa
{
#if ENABLE(GEOLOCATION)
Page* corePage = adapter->page;
- GeolocationClientMock* mockClient = toGeolocationClientMock(GeolocationController::from(corePage)->client());
- return mockClient->numberOfPendingPermissionRequests();
+ auto& mockClient = toGeolocationClientMock(GeolocationController::from(corePage)->client());
+ return mockClient.numberOfPendingPermissionRequests();
#else
return -1;
#endif
@@ -593,7 +584,7 @@ QMap<QString, QWebHistoryItem> DumpRenderTreeSupportQt::getChildHistoryItems(con
unsigned size = children.size();
QMap<QString, QWebHistoryItem> kids;
for (unsigned i = 0; i < size; ++i) {
- QWebHistoryItem kid(new QWebHistoryItemPrivate(children[i].get()));
+ QWebHistoryItem kid(new QWebHistoryItemPrivate(children[i]->copy()));
kids.insert(DumpRenderTreeSupportQt::historyItemTarget(kid), kid);
}
return kids;
@@ -602,7 +593,7 @@ QMap<QString, QWebHistoryItem> DumpRenderTreeSupportQt::getChildHistoryItems(con
bool DumpRenderTreeSupportQt::shouldClose(QWebFrameAdapter *adapter)
{
WebCore::Frame* coreFrame = adapter->frame;
- return coreFrame->loader()->shouldClose();
+ return coreFrame->loader().shouldClose();
}
void DumpRenderTreeSupportQt::clearScriptWorlds()
@@ -623,21 +614,21 @@ void DumpRenderTreeSupportQt::evaluateScriptInIsolatedWorld(QWebFrameAdapter *ad
WebCore::Frame* coreFrame = adapter->frame;
- ScriptController* proxy = coreFrame->script();
-
- if (!proxy)
- return;
- proxy->executeScriptInWorld(scriptWorld->world(), script, true);
+ ScriptController& proxy = coreFrame->script();
+ proxy.executeScriptInWorld(*scriptWorld->world(), script, true);
}
void DumpRenderTreeSupportQt::addUserStyleSheet(QWebPageAdapter* adapter, const QString& sourceCode)
{
- adapter->page->group().addUserStyleSheetToWorld(mainThreadNormalWorld(), sourceCode, QUrl(), Vector<String>(), Vector<String>(), WebCore::InjectInAllFrames);
+ auto styleSheet = std::make_unique<UserStyleSheet>(sourceCode, URL(), Vector<String>(), Vector<String>(),
+ WebCore::InjectInAllFrames, UserStyleUserLevel);
+ adapter->page->userContentController()->addUserStyleSheet(mainThreadNormalWorld(), WTFMove(styleSheet),
+ InjectInExistingDocuments);
}
void DumpRenderTreeSupportQt::removeUserStyleSheets(QWebPageAdapter* adapter)
{
- adapter->page->group().removeUserStyleSheetsFromWorld(mainThreadNormalWorld());
+ adapter->page->userContentController()->removeUserStyleSheets(mainThreadNormalWorld());
}
void DumpRenderTreeSupportQt::simulateDesktopNotificationClick(const QString& title)
@@ -658,21 +649,21 @@ void DumpRenderTreeSupportQt::goBack(QWebPageAdapter* adapter)
{
Page* corePage = adapter->page;
if (corePage)
- corePage->goBack();
+ corePage->backForward().goBack();
}
// API Candidate?
QString DumpRenderTreeSupportQt::responseMimeType(QWebFrameAdapter* adapter)
{
WebCore::Frame* coreFrame = adapter->frame;
- WebCore::DocumentLoader* docLoader = coreFrame->loader()->documentLoader();
+ WebCore::DocumentLoader* docLoader = coreFrame->loader().documentLoader();
return docLoader->responseMIMEType();
}
void DumpRenderTreeSupportQt::clearOpener(QWebFrameAdapter* adapter)
{
WebCore::Frame* coreFrame = adapter->frame;
- coreFrame->loader()->setOpener(0);
+ coreFrame->loader().setOpener(0);
}
void DumpRenderTreeSupportQt::addURLToRedirect(const QString& origin, const QString& destination)
@@ -684,7 +675,7 @@ void DumpRenderTreeSupportQt::setInteractiveFormValidationEnabled(QWebPageAdapte
{
Page* corePage = adapter->page;
if (corePage)
- corePage->settings()->setInteractiveFormValidationEnabled(enable);
+ corePage->settings().setInteractiveFormValidationEnabled(enable);
}
QStringList DumpRenderTreeSupportQt::contextMenu(QWebPageAdapter* page)
@@ -695,7 +686,7 @@ QStringList DumpRenderTreeSupportQt::contextMenu(QWebPageAdapter* page)
bool DumpRenderTreeSupportQt::thirdPartyCookiePolicyAllows(QWebPageAdapter *adapter, const QUrl& url, const QUrl& firstPartyUrl)
{
Page* corePage = adapter->page;
- return thirdPartyCookiePolicyPermits(corePage->mainFrame()->loader()->networkingContext(), url, firstPartyUrl);
+ return thirdPartyCookiePolicyPermits(corePage->mainFrame().loader().networkingContext(), url, firstPartyUrl);
}
void DumpRenderTreeSupportQt::enableMockScrollbars()
@@ -716,11 +707,11 @@ QUrl DumpRenderTreeSupportQt::mediaContentUrlByElementId(QWebFrameAdapter* adapt
if (!doc)
return res;
- Node* coreNode = doc->getElementById(elementId);
+ Node* coreNode = doc->getElementById(String(elementId));
if (!coreNode)
return res;
- HTMLVideoElement* videoElement = toHTMLVideoElement(coreNode);
+ HTMLVideoElement* videoElement = downcast<HTMLVideoElement>(coreNode);
PlatformMedia platformMedia = videoElement->platformMedia();
if (platformMedia.type != PlatformMedia::QtMediaPlayerType)
return res;
@@ -736,22 +727,22 @@ QUrl DumpRenderTreeSupportQt::mediaContentUrlByElementId(QWebFrameAdapter* adapt
// API Candidate?
void DumpRenderTreeSupportQt::setAlternateHtml(QWebFrameAdapter* adapter, const QString& html, const QUrl& baseUrl, const QUrl& failingUrl)
{
- KURL kurl(baseUrl);
+ URL kurl(baseUrl);
WebCore::Frame* coreFrame = adapter->frame;
WebCore::ResourceRequest request(kurl);
const QByteArray utf8 = html.toUtf8();
WTF::RefPtr<WebCore::SharedBuffer> data = WebCore::SharedBuffer::create(utf8.constData(), utf8.length());
- WebCore::SubstituteData substituteData(data, WTF::String("text/html"), WTF::String("utf-8"), failingUrl);
- coreFrame->loader()->load(WebCore::FrameLoadRequest(coreFrame, request, substituteData));
+ WebCore::ResourceResponse response(failingUrl, ASCIILiteral("text/html"), data->size(), ASCIILiteral("utf-8"));
+ // FIXME: visibility?
+ WebCore::SubstituteData substituteData(data, failingUrl, response, SubstituteData::SessionHistoryVisibility::Hidden);
+ coreFrame->loader().load(WebCore::FrameLoadRequest(coreFrame, request, ShouldOpenExternalURLsPolicy::ShouldNotAllow /*FIXME*/, substituteData));
}
void DumpRenderTreeSupportQt::confirmComposition(QWebPageAdapter *adapter, const char* text)
{
- Frame* frame = adapter->page->focusController()->focusedOrMainFrame();
- if (!frame)
- return;
+ Frame& frame = adapter->page->focusController().focusedOrMainFrame();
- Editor& editor = frame->editor();
+ Editor& editor = frame.editor();
if (!editor.hasComposition() && !text)
return;
@@ -832,8 +823,8 @@ QImage DumpRenderTreeSupportQt::paintPagesWithBoundaries(QWebFrameAdapter* adapt
// if there is a next page, draw a blue line between these two
if (i + 1 < printContext.pageCount()) {
ctx.save();
- ctx.setStrokeColor(Color(0, 0, 255), ColorSpaceDeviceRGB);
- ctx.setFillColor(Color(0, 0, 255), ColorSpaceDeviceRGB);
+ ctx.setStrokeColor(Color(0, 0, 255));
+ ctx.setFillColor(Color(0, 0, 255));
ctx.drawLine(IntPoint(0, -1), IntPoint(pageRect.width(), -1));
ctx.restore();
}
@@ -855,27 +846,18 @@ bool DumpRenderTreeSupportQt::trackRepaintRects(QWebFrameAdapter* adapter)
return adapter->frame->view()->isTrackingRepaints();
}
-void DumpRenderTreeSupportQt::getTrackedRepaintRects(QWebFrameAdapter* adapter, QVector<QRect>& result)
+void DumpRenderTreeSupportQt::getTrackedRepaintRects(QWebFrameAdapter* adapter, QVector<QRectF>& result)
{
Frame* coreFrame = adapter->frame;
- const Vector<IntRect>& rects = coreFrame->view()->trackedRepaintRects();
+ const Vector<FloatRect>& rects = coreFrame->view()->trackedRepaintRects();
result.resize(rects.size());
for (size_t i = 0; i < rects.size(); ++i)
result.append(rects[i]);
}
-void DumpRenderTreeSupportQt::setSeamlessIFramesEnabled(bool enabled)
-{
-#if ENABLE(IFRAME_SEAMLESS)
- WebCore::RuntimeEnabledFeatures::setSeamlessIFramesEnabled(enabled);
-#else
- UNUSED_PARAM(enabled);
-#endif
-}
-
void DumpRenderTreeSupportQt::setShouldUseFontSmoothing(bool enabled)
{
- WebCore::Font::setShouldUseSmoothing(enabled);
+ WebCore::FontCascade::setShouldUseSmoothing(enabled);
}
QString DumpRenderTreeSupportQt::frameRenderTreeDump(QWebFrameAdapter* adapter)
@@ -893,19 +875,9 @@ void DumpRenderTreeSupportQt::clearNotificationPermissions()
#endif
}
-void DumpRenderTreeSupportQt::disableDefaultTypesettingFeatures()
-{
- WebCore::Font::setDefaultTypesettingFeatures(0);
-}
-
void DumpRenderTreeSupportQt::resetPageVisibility(QWebPageAdapter* adapter)
{
-#if ENABLE(PAGE_VISIBILITY_API)
- // Set visibility without emitting an event.
- adapter->page->setVisibilityState(PageVisibilityStateVisible, true);
-#else
- UNUSED_PARAM(adapter);
-#endif
+ adapter->page->setIsVisible(true);
}
void DumpRenderTreeSupportQt::getJSWindowObject(QWebFrameAdapter* adapter, JSContextRef* context, JSObjectRef* object)
diff --git a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
index 27c8d01d0..3d761d4b0 100644
--- a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
@@ -106,11 +106,11 @@ public:
static void garbageCollectorCollect();
static void garbageCollectorCollectOnAlternateThread(bool waitUntilDone);
static void setValueForUser(const QWebElement&, const QString& value);
- static int javaScriptObjectsCount();
+ static size_t javaScriptObjectsCount();
static void clearScriptWorlds();
static void evaluateScriptInIsolatedWorld(QWebFrameAdapter*, int worldID, const QString& script);
- static void webInspectorExecuteScript(QWebPageAdapter*, long callId, const QString& script);
+ static void webInspectorExecuteScript(QWebPageAdapter*, const QString& script);
static void webInspectorShow(QWebPageAdapter*);
static void webInspectorClose(QWebPageAdapter*);
@@ -196,15 +196,13 @@ public:
static void setTrackRepaintRects(QWebFrameAdapter*, bool enable);
static bool trackRepaintRects(QWebFrameAdapter*);
- static void getTrackedRepaintRects(QWebFrameAdapter*, QVector<QRect>& result);
+ static void getTrackedRepaintRects(QWebFrameAdapter*, QVector<QRectF>& result);
- static void setSeamlessIFramesEnabled(bool);
static void setShouldUseFontSmoothing(bool);
static QString frameRenderTreeDump(QWebFrameAdapter*);
static void clearNotificationPermissions();
- static void disableDefaultTypesettingFeatures();
static void resetPageVisibility(QWebPageAdapter*);
static void getJSWindowObject(QWebFrameAdapter*, JSContextRef*, JSObjectRef*);
diff --git a/Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
index 72343db60..f7316f717 100644
--- a/Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
@@ -48,7 +48,7 @@
#include "Range.h"
#include "Settings.h"
#include "SpatialNavigation.h"
-#include "StylePropertySet.h"
+#include "StyleProperties.h"
#include "WindowsKeyboardCodes.h"
#include "qguiapplication.h"
@@ -56,14 +56,13 @@
#include <QKeyEvent>
#include <QKeySequence>
#include <stdio.h>
-#include <wtf/OwnPtr.h>
-static QString dumpPath(WebCore::Node *node)
+static QString dumpPath(WebCore::Node& node)
{
- QString str = node->nodeName();
+ QString str = node.nodeName();
- WebCore::Node *parent = node->parentNode();
+ WebCore::Node *parent = node.parentNode();
while (parent) {
str.append(QLatin1String(" > "));
str.append(parent->nodeName());
@@ -76,11 +75,10 @@ static QString dumpRange(WebCore::Range *range)
{
if (!range)
return QLatin1String("(null)");
- WebCore::ExceptionCode code;
QString str = QString::fromLatin1("range from %1 of %2 to %3 of %4")
- .arg(range->startOffset(code)).arg(dumpPath(range->startContainer(code)))
- .arg(range->endOffset(code)).arg(dumpPath(range->endContainer(code)));
+ .arg(range->startOffset()).arg(dumpPath(range->startContainer()))
+ .arg(range->endOffset()).arg(dumpPath(range->endContainer()));
return str;
}
@@ -165,7 +163,7 @@ bool EditorClientQt::shouldChangeSelectedRange(Range* currentRange, Range* propo
return acceptsEditing;
}
-bool EditorClientQt::shouldApplyStyle(WebCore::StylePropertySet* style, WebCore::Range* range)
+bool EditorClientQt::shouldApplyStyle(WebCore::StyleProperties* style, WebCore::Range* range)
{
if (dumpEditingCallbacks)
printf("EDITING DELEGATE: shouldApplyStyle:%s toElementsInDOMRange:%s\n",
@@ -203,12 +201,8 @@ void EditorClientQt::respondToChangedSelection(Frame* frame)
// selection.formatForDebugger(buffer, sizeof(buffer));
// printf("%s\n", buffer);
- if (supportsGlobalSelection() && frame->selection()->isRange()) {
- bool oldSelectionMode = Pasteboard::generalPasteboard()->isSelectionMode();
- Pasteboard::generalPasteboard()->setSelectionMode(true);
- Pasteboard::generalPasteboard()->writeSelection(frame->selection()->toNormalizedRange().get(), frame->editor().canSmartCopyOrDelete(), frame);
- Pasteboard::generalPasteboard()->setSelectionMode(oldSelectionMode);
- }
+ if (supportsGlobalSelection() && frame->selection().isRange())
+ Pasteboard::createForGlobalSelection()->writeSelection(*frame->selection().toNormalizedRange().get(), frame->editor().canSmartCopyOrDelete(), *frame);
m_page->respondToChangedSelection();
if (!frame->editor().ignoreCompositionSelectionChange())
@@ -234,21 +228,11 @@ void EditorClientQt::getClientPasteboardDataForRange(Range*, Vector<String>&, Ve
{
}
-void EditorClientQt::didSetSelectionTypesForPasteboard()
-{
-}
-
-bool EditorClientQt::selectWordBeforeMenuEvent()
-{
- notImplemented();
- return false;
-}
-
void EditorClientQt::registerUndoStep(WTF::PassRefPtr<WebCore::UndoStep> step)
{
#ifndef QT_NO_UNDOSTACK
- Frame* frame = m_page->page->focusController()->focusedOrMainFrame();
- if (m_inUndoRedo || (frame && !frame->editor().lastEditCommand() /* HACK!! Don't recreate undos */))
+ Frame& frame = m_page->page->focusController().focusedOrMainFrame();
+ if (m_inUndoRedo || !frame.editor().lastEditCommand() /* HACK!! Don't recreate undos */)
return;
m_page->registerUndoStep(step);
#endif // QT_NO_UNDOSTACK
@@ -320,7 +304,7 @@ bool EditorClientQt::shouldInsertNode(Node* node, Range* range, EditorInsertActi
"WebViewInsertActionDropped",
};
- printf("EDITING DELEGATE: shouldInsertNode:%s replacingDOMRange:%s givenAction:%s\n", dumpPath(node).toUtf8().constData(),
+ printf("EDITING DELEGATE: shouldInsertNode:%s replacingDOMRange:%s givenAction:%s\n", dumpPath(*node).toUtf8().constData(),
dumpRange(range).toUtf8().constData(), insertactionstring[action]);
}
return acceptsEditing;
@@ -336,24 +320,26 @@ bool EditorClientQt::smartInsertDeleteEnabled()
Page* page = m_page->page;
if (!page)
return false;
- return page->settings()->smartInsertDeleteEnabled();
+ return page->settings().smartInsertDeleteEnabled();
}
+#if USE(AUTOMATIC_TEXT_REPLACEMENT)
void EditorClientQt::toggleSmartInsertDelete()
{
Page* page = m_page->page;
if (page) {
- page->settings()->setSmartInsertDeleteEnabled(!page->settings()->smartInsertDeleteEnabled());
- page->settings()->setSelectTrailingWhitespaceEnabled(!page->settings()->selectTrailingWhitespaceEnabled());
+ page->settings().setSmartInsertDeleteEnabled(!page->settings().smartInsertDeleteEnabled());
+ page->settings().setSelectTrailingWhitespaceEnabled(!page->settings().selectTrailingWhitespaceEnabled());
}
}
+#endif
bool EditorClientQt::isSelectTrailingWhitespaceEnabled()
{
Page* page = m_page->page;
if (!page)
return false;
- return page->settings()->selectTrailingWhitespaceEnabled();
+ return page->settings().selectTrailingWhitespaceEnabled();
}
void EditorClientQt::toggleContinuousSpellChecking()
@@ -422,22 +408,20 @@ const char* editorCommandForKeyDownEvent(const KeyboardEvent* event)
void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event)
{
- Frame* frame = m_page->page->focusController()->focusedOrMainFrame();
- if (!frame)
- return;
+ Frame& frame = m_page->page->focusController().focusedOrMainFrame();
const PlatformKeyboardEvent* kevent = event->keyEvent();
if (!kevent || kevent->type() == PlatformEvent::KeyUp)
return;
- Node* start = frame->selection()->start().containerNode();
+ Node* start = frame.selection().selection().start().containerNode();
if (!start)
return;
// FIXME: refactor all of this to use Actions or something like them
if (start->isContentEditable()) {
bool doSpatialNavigation = false;
- if (isSpatialNavigationEnabled(frame)) {
+ if (isSpatialNavigationEnabled(&frame)) {
if (!kevent->modifiers()) {
switch (kevent->windowsVirtualKeyCode()) {
case VK_LEFT:
@@ -455,7 +439,7 @@ void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event)
// WebKit doesn't have enough information about mode to decide how commands that just insert text if executed via Editor should be treated,
// so we leave it upon WebCore to either handle them immediately (e.g. Tab that changes focus) or let a keypress event be generated
// (e.g. Tab that inserts a Tab character, or Enter).
- if (frame->editor().command(cmd).isTextInsertion()
+ if (frame.editor().command(cmd).isTextInsertion()
&& kevent->type() == PlatformEvent::RawKeyDown)
return;
@@ -467,7 +451,7 @@ void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event)
{
String commandName = editorCommandForKeyDownEvent(event);
if (!commandName.isEmpty()) {
- if (frame->editor().command(commandName).execute()) // Event handled.
+ if (frame.editor().command(commandName).execute()) // Event handled.
event->setDefaultHandled();
return;
}
@@ -495,7 +479,7 @@ void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event)
}
if (shouldInsertText) {
- frame->editor().insertText(kevent->text(), event);
+ frame.editor().insertText(kevent->text(), event);
event->setDefaultHandled();
return;
}
@@ -506,7 +490,7 @@ void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event)
}
// Non editable content.
- if (m_page->page->settings()->caretBrowsingEnabled()) {
+ if (m_page->page->settings().caretBrowsingEnabled()) {
switch (kevent->windowsVirtualKeyCode()) {
case VK_LEFT:
case VK_RIGHT:
@@ -526,7 +510,7 @@ void EditorClientQt::handleKeyboardEvent(KeyboardEvent* event)
{
String commandName = editorCommandForKeyDownEvent(event);
ASSERT(!commandName.isEmpty());
- frame->editor().command(commandName).execute();
+ frame.editor().command(commandName).execute();
event->setDefaultHandled();
return;
}
@@ -617,10 +601,10 @@ void EditorClientQt::setInputMethodState(bool active)
Qt::InputMethodHints hints;
HTMLInputElement* inputElement = 0;
- Frame* frame = m_page->page->focusController()->focusedOrMainFrame();
- if (frame && frame->document() && frame->document()->focusedElement())
- if (isHTMLInputElement(frame->document()->focusedElement()))
- inputElement = toHTMLInputElement(frame->document()->focusedElement());
+ Frame& frame = m_page->page->focusController().focusedOrMainFrame();
+ if (frame.document() && frame.document()->focusedElement())
+ if (is<HTMLInputElement>(frame.document()->focusedElement()))
+ inputElement = downcast<HTMLInputElement>(frame.document()->focusedElement());
if (inputElement) {
// Set input method hints for "number", "tel", "email", "url" and "password" input elements.
@@ -656,6 +640,23 @@ bool EditorClientQt::supportsGlobalSelection()
#endif
}
+
+void EditorClientQt::didApplyStyle()
+{
+}
+
+void EditorClientQt::didChangeSelectionAndUpdateLayout()
+{
+}
+
+void EditorClientQt::discardedComposition(Frame *)
+{
+}
+
+void EditorClientQt::overflowScrollPositionChanged()
+{
+}
+
}
// vim: ts=4 sw=4 et
diff --git a/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h b/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h
index 782cde3d5..4aa686f7d 100644
--- a/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h
@@ -44,70 +44,74 @@ class EditorClientQt : public EditorClient {
public:
EditorClientQt(QWebPageAdapter*);
- virtual void pageDestroyed();
- virtual void frameWillDetachPage(Frame*) { }
+ void pageDestroyed() override;
- virtual bool shouldDeleteRange(Range*);
- virtual bool smartInsertDeleteEnabled();
- virtual void toggleSmartInsertDelete();
- virtual bool isSelectTrailingWhitespaceEnabled();
- virtual bool isContinuousSpellCheckingEnabled();
- virtual void toggleContinuousSpellChecking();
- virtual bool isGrammarCheckingEnabled();
- virtual void toggleGrammarChecking();
- virtual int spellCheckerDocumentTag();
- virtual bool selectWordBeforeMenuEvent();
-
- virtual bool shouldBeginEditing(Range*);
- virtual bool shouldEndEditing(Range*);
- virtual bool shouldInsertNode(Node*, Range*, EditorInsertAction);
- virtual bool shouldInsertText(const String&, Range*, EditorInsertAction);
- virtual bool shouldChangeSelectedRange(Range* fromRange, Range* toRange, EAffinity, bool stillSelecting);
-
- virtual bool shouldApplyStyle(StylePropertySet*, Range*);
-
- virtual bool shouldMoveRangeAfterDelete(Range*, Range*);
-
- virtual void didBeginEditing();
- virtual void respondToChangedContents();
- virtual void respondToChangedSelection(Frame*);
- virtual void didEndEditing();
- virtual void willWriteSelectionToPasteboard(Range*);
- virtual void didWriteSelectionToPasteboard();
- virtual void getClientPasteboardDataForRange(Range*, Vector<String>& pasteboardTypes, Vector<RefPtr<WebCore::SharedBuffer> >& pasteboardData);
- virtual void didSetSelectionTypesForPasteboard();
+ bool shouldDeleteRange(Range*) override;
+ bool smartInsertDeleteEnabled() override;
+#if USE(AUTOMATIC_TEXT_REPLACEMENT)
+ void toggleSmartInsertDelete() override;
+#endif
+ bool isSelectTrailingWhitespaceEnabled() override;
+ bool isContinuousSpellCheckingEnabled() override;
+ void toggleContinuousSpellChecking() override;
+ bool isGrammarCheckingEnabled() override;
+ void toggleGrammarChecking() override;
+ int spellCheckerDocumentTag() override;
+
+ bool shouldBeginEditing(Range*) override;
+ bool shouldEndEditing(Range*) override;
+ bool shouldInsertNode(Node*, Range*, EditorInsertAction) override;
+ bool shouldInsertText(const String&, Range*, EditorInsertAction) override;
+ bool shouldChangeSelectedRange(Range* fromRange, Range* toRange, EAffinity, bool stillSelecting) override;
+
+ bool shouldApplyStyle(StyleProperties*, Range*) override;
+
+ bool shouldMoveRangeAfterDelete(Range*, Range*) override;
+
+ void didBeginEditing() override;
+ void respondToChangedContents() override;
+ void respondToChangedSelection(Frame*) override;
+ void didEndEditing() override;
+ void willWriteSelectionToPasteboard(Range*) override;
+ void didWriteSelectionToPasteboard() override;
+ void getClientPasteboardDataForRange(Range*, Vector<String>& pasteboardTypes, Vector<RefPtr<WebCore::SharedBuffer> >& pasteboardData) override;
- virtual void registerUndoStep(PassRefPtr<UndoStep>);
- virtual void registerRedoStep(PassRefPtr<UndoStep>);
- virtual void clearUndoRedoOperations();
-
- virtual bool canCopyCut(Frame*, bool defaultValue) const;
- virtual bool canPaste(Frame*, bool defaultValue) const;
- virtual bool canUndo() const;
- virtual bool canRedo() const;
+ void registerUndoStep(PassRefPtr<UndoStep>) override;
+ void registerRedoStep(PassRefPtr<UndoStep>) override;
+ void clearUndoRedoOperations() override;
+
+ bool canCopyCut(Frame*, bool defaultValue) const override;
+ bool canPaste(Frame*, bool defaultValue) const override;
+ bool canUndo() const override;
+ bool canRedo() const override;
- virtual void undo();
- virtual void redo();
-
- virtual void handleKeyboardEvent(KeyboardEvent*);
- virtual void handleInputMethodKeydown(KeyboardEvent*);
-
- virtual void textFieldDidBeginEditing(Element*);
- virtual void textFieldDidEndEditing(Element*);
- virtual void textDidChangeInTextField(Element*);
- virtual bool doTextFieldCommandFromEvent(Element*, KeyboardEvent*);
- virtual void textWillBeDeletedInTextField(Element*);
- virtual void textDidChangeInTextArea(Element*);
-
- virtual void updateSpellingUIWithGrammarString(const String&, const GrammarDetail&);
- virtual void updateSpellingUIWithMisspelledWord(const String&);
- virtual void showSpellingUI(bool show);
- virtual bool spellingUIIsShowing();
- virtual void willSetInputMethodState();
- virtual void setInputMethodState(bool enabled);
- virtual TextCheckerClient* textChecker() { return &m_textCheckerClient; }
-
- virtual bool supportsGlobalSelection() OVERRIDE;
+ void undo() override;
+ void redo() override;
+
+ void handleKeyboardEvent(KeyboardEvent*) override;
+ void handleInputMethodKeydown(KeyboardEvent*) override;
+
+ void textFieldDidBeginEditing(Element*) override;
+ void textFieldDidEndEditing(Element*) override;
+ void textDidChangeInTextField(Element*) override;
+ bool doTextFieldCommandFromEvent(Element*, KeyboardEvent*) override;
+ void textWillBeDeletedInTextField(Element*) override;
+ void textDidChangeInTextArea(Element*) override;
+
+ void updateSpellingUIWithGrammarString(const String&, const GrammarDetail&) override;
+ void updateSpellingUIWithMisspelledWord(const String&) override;
+ void showSpellingUI(bool show) override;
+ bool spellingUIIsShowing() override;
+ void willSetInputMethodState() override;
+ void setInputMethodState(bool enabled) override;
+ TextCheckerClient* textChecker() override { return &m_textCheckerClient; }
+
+ bool supportsGlobalSelection() override;
+
+ void didApplyStyle() override;
+ void didChangeSelectionAndUpdateLayout() override;
+ void discardedComposition(Frame *) override;
+ void overflowScrollPositionChanged() override;
bool isEditing() const;
diff --git a/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index 09b0aae82..e73508dff 100644
--- a/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -49,11 +49,9 @@
#include "HTTPStatusCodes.h"
#include "HistoryItem.h"
#include "HitTestResult.h"
-#if ENABLE(ICONDATABASE)
-#include "IconDatabaseClientQt.h"
-#endif
#include "JSDOMWindowBase.h"
#include "MIMETypeRegistry.h"
+#include "MainFrame.h"
#include "MouseEvent.h"
#include "NotImplemented.h"
#include "Page.h"
@@ -61,13 +59,11 @@
#include "PluginData.h"
#include "PluginDatabase.h"
#include "PolicyChecker.h"
-#include "ProgressTracker.h"
#include "QNetworkReplyHandler.h"
#include "QWebFrameAdapter.h"
#include "QWebPageAdapter.h"
#include "QWebPageClient.h"
#include "QtPluginWidgetAdapter.h"
-#include "RenderPart.h"
#include "ResourceHandle.h"
#include "ResourceHandleInternal.h"
#include "ResourceLoader.h"
@@ -75,14 +71,14 @@
#include "ResourceResponse.h"
#include "ScriptController.h"
#include "Settings.h"
+#include "SubframeLoader.h"
+#include "SubresourceLoader.h"
#include "ViewportArguments.h"
-#include "WebEventConversion.h"
#include "qwebhistory.h"
#include "qwebhistory_p.h"
#include "qwebhistoryinterface.h"
#include "qwebpluginfactory.h"
#include "qwebsettings.h"
-
#include <QCoreApplication>
#include <QDebug>
#include <QFileInfo>
@@ -90,16 +86,20 @@
#include <QNetworkReply>
#include <QNetworkRequest>
#include <QStringList>
-#include <wtf/OwnPtr.h>
+#include <wtf/NeverDestroyed.h>
#include <wtf/text/StringBuilder.h>
+#if ENABLE(ICONDATABASE)
+#include "IconDatabaseClientQt.h"
+#endif
+
static QMap<unsigned long, QString> dumpAssignedUrls;
// Compare with the file "WebKit/Tools/DumpRenderTree/mac/FrameLoadDelegate.mm".
static QString drtDescriptionSuitableForTestResult(WebCore::Frame* webCoreFrame)
{
QWebFrameAdapter* frame = QWebFrameAdapter::kit(webCoreFrame);
- QString name = webCoreFrame->tree()->uniqueName();
+ QString name = webCoreFrame->tree().uniqueName();
bool isMainFrame = frame == frame->pageAdapter->mainFrameAdapter();
if (isMainFrame) {
@@ -119,7 +119,7 @@ static QString drtPrintFrameUserGestureStatus(WebCore::Frame* frame)
return QString::fromLatin1("Frame with user gesture \"%1\"").arg(QLatin1String("false"));
}
-static QString drtDescriptionSuitableForTestResult(const WebCore::KURL& kurl)
+static QString drtDescriptionSuitableForTestResult(const WebCore::URL& kurl)
{
if (kurl.isEmpty() || !kurl.isLocalFile())
return kurl.string();
@@ -129,7 +129,7 @@ static QString drtDescriptionSuitableForTestResult(const WebCore::KURL& kurl)
static QString drtDescriptionSuitableForTestResult(const WebCore::ResourceError& error)
{
- QString failingURL = error.failingURL();
+ QString failingURL = error.failingURL().string();
return QString::fromLatin1("<NSError domain NSURLErrorDomain, code %1, failing URL \"%2\">").arg(error.errorCode()).arg(failingURL);
}
@@ -171,7 +171,6 @@ static QString drtDescriptionSuitableForTestResult(const RefPtr<WebCore::Node> n
namespace WebCore {
bool FrameLoaderClientQt::dumpFrameLoaderCallbacks = false;
-bool FrameLoaderClientQt::dumpProgressFinishedCallback = false;
bool FrameLoaderClientQt::dumpUserGestureInFrameLoaderCallbacks = false;
bool FrameLoaderClientQt::dumpWillCacheResponseCallbacks = false;
bool FrameLoaderClientQt::dumpResourceLoadCallbacks = false;
@@ -191,17 +190,17 @@ QMap<QString, QString> FrameLoaderClientQt::URLsToRedirect = QMap<QString, QStri
static const char* navigationTypeToString(NavigationType type)
{
switch (type) {
- case NavigationTypeLinkClicked:
+ case NavigationType::LinkClicked:
return "link clicked";
- case NavigationTypeFormSubmitted:
+ case NavigationType::FormSubmitted:
return "form submitted";
- case NavigationTypeBackForward:
+ case NavigationType::BackForward:
return "back/forward";
- case NavigationTypeReload:
+ case NavigationType::Reload:
return "reload";
- case NavigationTypeFormResubmitted:
+ case NavigationType::FormResubmitted:
return "form resubmitted";
- case NavigationTypeOther:
+ case NavigationType::Other:
return "other";
}
return "illegal value";
@@ -231,9 +230,6 @@ void FrameLoaderClientQt::setFrame(QWebFrameAdapter* webFrame, Frame* frame)
return;
}
- connect(this, SIGNAL(loadProgress(int)),
- m_webFrame->pageAdapter->handle(), SIGNAL(loadProgress(int)));
-
connect(this, SIGNAL(unsupportedContent(QNetworkReply*)),
m_webFrame->pageAdapter->handle(), SIGNAL(unsupportedContent(QNetworkReply*)));
@@ -243,7 +239,7 @@ void FrameLoaderClientQt::setFrame(QWebFrameAdapter* webFrame, Frame* frame)
void FrameLoaderClientQt::callPolicyFunction(FramePolicyFunction function, PolicyAction action)
{
- (m_frame->loader()->policyChecker()->*function)(action);
+ function(action);
}
bool FrameLoaderClientQt::hasWebView() const
@@ -288,7 +284,7 @@ void FrameLoaderClientQt::transitionToCommittedForNewPage()
hScrollbar, hLock,
vScrollbar, vLock);
- bool isMainFrame = m_frame == m_frame->page()->mainFrame();
+ bool isMainFrame = m_frame == &m_frame->page()->mainFrame();
if (isMainFrame &&m_webFrame->pageAdapter->client) {
bool resizesToContents = m_webFrame->pageAdapter->client->viewResizesToContentsEnabled();
@@ -309,15 +305,6 @@ void FrameLoaderClientQt::dispatchDidBecomeFrameset(bool)
{
}
-
-void FrameLoaderClientQt::forceLayout()
-{
- FrameView* view = m_frame->view();
- if (view)
- view->layout(true);
-}
-
-
void FrameLoaderClientQt::forceLayoutForNonHTML()
{
}
@@ -338,7 +325,7 @@ void FrameLoaderClientQt::detachedFromParent3()
{
}
-void FrameLoaderClientQt::dispatchDidHandleOnloadEvents()
+void FrameLoaderClientQt::dispatchDidDispatchOnloadEvents()
{
// Don't need this one.
if (dumpFrameLoaderCallbacks)
@@ -364,7 +351,7 @@ void FrameLoaderClientQt::dispatchDidCancelClientRedirect()
}
-void FrameLoaderClientQt::dispatchWillPerformClientRedirect(const KURL& url, double, double)
+void FrameLoaderClientQt::dispatchWillPerformClientRedirect(const URL& url, double, double)
{
if (dumpFrameLoaderCallbacks)
printf("%s - willPerformClientRedirectToURL: %s \n", qPrintable(drtDescriptionSuitableForTestResult(m_frame)), qPrintable(drtDescriptionSuitableForTestResult(url)));
@@ -380,8 +367,8 @@ void FrameLoaderClientQt::dispatchDidNavigateWithinPage()
if (!m_webFrame)
return;
- FrameLoader* loader = m_frame->loader();
- bool loaderCompleted = !(loader->activeDocumentLoader() && loader->activeDocumentLoader()->isLoadingInAPISense());
+ FrameLoader& loader = m_frame->loader();
+ bool loaderCompleted = !(loader.activeDocumentLoader() && loader.activeDocumentLoader()->isLoadingInAPISense());
if (!loaderCompleted)
return;
@@ -421,9 +408,6 @@ void FrameLoaderClientQt::dispatchDidReplaceStateWithinPage()
void FrameLoaderClientQt::dispatchDidPopStateWithinPage()
{
- if (dumpFrameLoaderCallbacks)
- printf("%s - dispatchDidPopStateWithinPage\n", qPrintable(drtDescriptionSuitableForTestResult(m_frame)));
-
// No need to call dispatchDidNavigateWithinPage here, it's already been done in loadInSameDocument().
}
@@ -440,12 +424,12 @@ void FrameLoaderClientQt::dispatchDidStartProvisionalLoad()
if (dumpUserGestureInFrameLoaderCallbacks)
printf("%s - in didStartProvisionalLoadForFrame\n", qPrintable(drtPrintFrameUserGestureStatus(m_frame)));
- m_lastRequestedUrl = m_frame->loader()->activeDocumentLoader()->requestURL();
+ m_lastRequestedUrl = m_frame->loader().activeDocumentLoader()->url();
if (!m_webFrame)
return;
emitLoadStarted();
- postProgressEstimateChangedNotification();
+
m_webFrame->didStartProvisionalLoad();
}
@@ -481,7 +465,7 @@ void FrameLoaderClientQt::dispatchDidCommitLoad()
if (dumpFrameLoaderCallbacks)
printf("%s - didCommitLoadForFrame\n", qPrintable(drtDescriptionSuitableForTestResult(m_frame)));
- if (m_frame->tree()->parent() || !m_webFrame)
+ if (m_frame->tree().parent() || !m_webFrame)
return;
m_webFrame->emitUrlChanged();
@@ -492,7 +476,7 @@ void FrameLoaderClientQt::dispatchDidCommitLoad()
// This properly resets the title when we navigate to a URI without a title.
emit titleChanged(QString());
- bool isMainFrame = (m_frame == m_frame->page()->mainFrame());
+ bool isMainFrame = (m_frame == &m_frame->page()->mainFrame());
if (!isMainFrame)
return;
@@ -511,7 +495,7 @@ void FrameLoaderClientQt::dispatchDidFinishDocumentLoad()
printf("%s - has %u onunload handler(s)\n", qPrintable(drtDescriptionSuitableForTestResult(m_frame)), unloadEventCount);
}
- if (m_frame->tree()->parent() || !m_webFrame)
+ if (m_frame->tree().parent() || !m_webFrame)
return;
m_webFrame->pageAdapter->updateNavigationActions();
@@ -551,46 +535,13 @@ void FrameLoaderClientQt::cancelPolicyCheck()
}
-void FrameLoaderClientQt::dispatchWillSubmitForm(FramePolicyFunction function, PassRefPtr<FormState>)
+void FrameLoaderClientQt::dispatchWillSubmitForm(PassRefPtr<FormState>, FramePolicyFunction function)
{
notImplemented();
// FIXME: This is surely too simple.
callPolicyFunction(function, PolicyUse);
}
-
-void FrameLoaderClientQt::postProgressStartedNotification()
-{
- if (m_webFrame && m_frame->page())
- m_isOriginatingLoad = true;
- if (m_frame->tree()->parent() || !m_webFrame)
- return;
- m_webFrame->pageAdapter->updateNavigationActions();
-}
-
-void FrameLoaderClientQt::postProgressEstimateChangedNotification()
-{
- if (m_webFrame && m_frame->page())
- emit loadProgress(qRound(m_frame->page()->progress()->estimatedProgress() * 100));
-}
-
-void FrameLoaderClientQt::postProgressFinishedNotification()
-{
- if (dumpProgressFinishedCallback)
- printf("postProgressFinishedNotification\n");
-
- // Send a mousemove event to:
- // (1) update the cursor to change according to whatever is underneath the mouse cursor right now;
- // (2) display the tool tip if the mouse hovers a node which has a tool tip.
- if (m_frame && m_frame->eventHandler() && m_webFrame) {
- QPoint localPos;
- if (m_webFrame->handleProgressFinished(&localPos)) {
- QMouseEvent event(QEvent::MouseMove, localPos, Qt::NoButton, Qt::NoButton, Qt::NoModifier);
- m_frame->eventHandler()->mouseMoved(convertMouseEvent(&event, 0));
- }
- }
-}
-
void FrameLoaderClientQt::setMainFrameDocumentReady(bool)
{
// This is only interesting once we provide an external API for the DOM.
@@ -628,11 +579,11 @@ bool FrameLoaderClientQt::canShowMIMETypeAsHTML(const String& MIMEType) const
bool FrameLoaderClientQt::canShowMIMEType(const String& MIMEType) const
{
String type = MIMEType;
- type.makeLower();
+ type.convertToASCIILowercase(); // FIXME: Do we really need it?
if (MIMETypeRegistry::canShowMIMEType(type))
return true;
- if (m_frame && m_frame->settings() && m_frame->settings()->arePluginsEnabled()
+ if (m_frame && m_frame->settings().arePluginsEnabled()
&& PluginDatabase::installedPlugins()->isMIMETypeRegistered(type))
return true;
@@ -685,7 +636,7 @@ void FrameLoaderClientQt::prepareForDataSourceReplacement()
{
}
-void FrameLoaderClientQt::setTitle(const StringWithDirection& title, const KURL& url)
+void FrameLoaderClientQt::setTitle(const StringWithDirection& title, const URL& url)
{
// Used by Apple WebKit to update the title of an existing history item.
// QtWebKit doesn't accomodate this on history items. If it ever does,
@@ -700,7 +651,7 @@ void FrameLoaderClientQt::setTitle(const StringWithDirection& title, const KURL&
}
-String FrameLoaderClientQt::userAgent(const KURL& url)
+String FrameLoaderClientQt::userAgent(const URL& url)
{
if (m_webFrame)
return m_webFrame->pageAdapter->userAgentForUrl(url).remove(QLatin1Char('\n')).remove(QLatin1Char('\r'));
@@ -730,27 +681,15 @@ bool FrameLoaderClientQt::canHandleRequest(const WebCore::ResourceRequest&) cons
return true;
}
-void FrameLoaderClientQt::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld* world)
+void FrameLoaderClientQt::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld &world)
{
- if (world != mainThreadNormalWorld())
+ if (&world != &mainThreadNormalWorld())
return;
if (m_webFrame)
m_webFrame->didClearWindowObject();
}
-void FrameLoaderClientQt::documentElementAvailable()
-{
- return;
-}
-
-void FrameLoaderClientQt::didPerformFirstNavigation() const
-{
- if (m_frame->tree()->parent() || !m_webFrame)
- return;
- m_webFrame->pageAdapter->updateNavigationActions();
-}
-
void FrameLoaderClientQt::registerForIconNotification(bool shouldRegister)
{
#if ENABLE(ICONDATABASE)
@@ -773,7 +712,7 @@ void FrameLoaderClientQt::onIconLoadedForPageURL(const QString& url)
void FrameLoaderClientQt::updateGlobalHistory()
{
QWebHistoryInterface* history = QWebHistoryInterface::defaultInterface();
- WebCore::DocumentLoader* loader = m_frame->loader()->documentLoader();
+ WebCore::DocumentLoader* loader = m_frame->loader().documentLoader();
if (history)
history->addHistoryEntry(loader->urlForHistory().string());
@@ -798,7 +737,7 @@ void FrameLoaderClientQt::updateGlobalHistoryRedirectLinks()
// when navigating to that history item. That might be a feature Qt wants to
// offer through QWebHistoryInterface in the future. For now, we're just
// passing tests in LayoutTests/http/tests/globalhistory.
- WebCore::DocumentLoader* loader = m_frame->loader()->documentLoader();
+ WebCore::DocumentLoader* loader = m_frame->loader().documentLoader();
if (!loader->clientRedirectSourceForHistory().isNull()) {
if (dumpHistoryCallbacks) {
@@ -822,11 +761,6 @@ bool FrameLoaderClientQt::shouldGoToHistoryItem(WebCore::HistoryItem*) const
return true;
}
-bool FrameLoaderClientQt::shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const
-{
- return true;
-}
-
void FrameLoaderClientQt::didDisplayInsecureContent()
{
if (dumpFrameLoaderCallbacks)
@@ -835,7 +769,7 @@ void FrameLoaderClientQt::didDisplayInsecureContent()
notImplemented();
}
-void FrameLoaderClientQt::didRunInsecureContent(WebCore::SecurityOrigin*, const KURL&)
+void FrameLoaderClientQt::didRunInsecureContent(WebCore::SecurityOrigin*, const URL&)
{
if (dumpFrameLoaderCallbacks)
printf("didRunInsecureContent\n");
@@ -843,7 +777,7 @@ void FrameLoaderClientQt::didRunInsecureContent(WebCore::SecurityOrigin*, const
notImplemented();
}
-void FrameLoaderClientQt::didDetectXSS(const KURL&, bool)
+void FrameLoaderClientQt::didDetectXSS(const URL&, bool)
{
if (dumpFrameLoaderCallbacks)
printf("didDetectXSS\n");
@@ -899,7 +833,7 @@ void FrameLoaderClientQt::committedLoad(WebCore::DocumentLoader* loader, const c
WebCore::ResourceError FrameLoaderClientQt::cancelledError(const WebCore::ResourceRequest& request)
{
- ResourceError error = ResourceError("QtNetwork", QNetworkReply::OperationCanceledError, request.url().string(),
+ ResourceError error = ResourceError("QtNetwork", QNetworkReply::OperationCanceledError, request.url(),
QCoreApplication::translate("QWebFrame", "Request cancelled", 0));
error.setIsCancellation(true);
return error;
@@ -919,70 +853,69 @@ enum {
WebCore::ResourceError FrameLoaderClientQt::blockedError(const WebCore::ResourceRequest& request)
{
- return ResourceError("WebKitErrorDomain", WebKitErrorCannotUseRestrictedPort, request.url().string(),
+ return ResourceError("WebKitErrorDomain", WebKitErrorCannotUseRestrictedPort, request.url(),
QCoreApplication::translate("QWebFrame", "Request blocked", 0));
}
WebCore::ResourceError FrameLoaderClientQt::cannotShowURLError(const WebCore::ResourceRequest& request)
{
- return ResourceError("WebKitErrorDomain", WebKitErrorCannotShowURL, request.url().string(),
+ return ResourceError("WebKitErrorDomain", WebKitErrorCannotShowURL, request.url(),
QCoreApplication::translate("QWebFrame", "Cannot show URL", 0));
}
WebCore::ResourceError FrameLoaderClientQt::interruptedForPolicyChangeError(const WebCore::ResourceRequest& request)
{
- return ResourceError("WebKitErrorDomain", WebKitErrorFrameLoadInterruptedByPolicyChange, request.url().string(),
+ return ResourceError("WebKitErrorDomain", WebKitErrorFrameLoadInterruptedByPolicyChange, request.url(),
QCoreApplication::translate("QWebFrame", "Frame load interrupted by policy change", 0));
}
WebCore::ResourceError FrameLoaderClientQt::cannotShowMIMETypeError(const WebCore::ResourceResponse& response)
{
- return ResourceError("WebKitErrorDomain", WebKitErrorCannotShowMIMEType, response.url().string(),
+ return ResourceError("WebKitErrorDomain", WebKitErrorCannotShowMIMEType, response.url(),
QCoreApplication::translate("QWebFrame", "Cannot show mimetype", 0));
}
WebCore::ResourceError FrameLoaderClientQt::fileDoesNotExistError(const WebCore::ResourceResponse& response)
{
- return ResourceError("QtNetwork", QNetworkReply::ContentNotFoundError, response.url().string(),
+ return ResourceError("QtNetwork", QNetworkReply::ContentNotFoundError, response.url(),
QCoreApplication::translate("QWebFrame", "File does not exist", 0));
}
WebCore::ResourceError FrameLoaderClientQt::pluginWillHandleLoadError(const WebCore::ResourceResponse& response)
{
- return ResourceError("WebKit", WebKitErrorPluginWillHandleLoad, response.url().string(),
+ return ResourceError("WebKit", WebKitErrorPluginWillHandleLoad, response.url(),
QCoreApplication::translate("QWebFrame", "Loading is handled by the media engine", 0));
}
bool FrameLoaderClientQt::shouldFallBack(const WebCore::ResourceError& error)
{
- DEFINE_STATIC_LOCAL(const ResourceError, cancelledError, (this->cancelledError(ResourceRequest())));
- DEFINE_STATIC_LOCAL(const ResourceError, pluginWillHandleLoadError, (this->pluginWillHandleLoadError(ResourceResponse())));
- DEFINE_STATIC_LOCAL(const ResourceError, errorInterruptedForPolicyChange, (this->interruptedForPolicyChangeError(ResourceRequest())));
+ using Error = NeverDestroyed<const ResourceError>;
+ static Error cancelledError(this->cancelledError(ResourceRequest()));
+ static Error pluginWillHandleLoadError(this->pluginWillHandleLoadError(ResourceResponse()));
+ static Error errorInterruptedForPolicyChange(this->interruptedForPolicyChangeError(ResourceRequest()));
- if (error.errorCode() == cancelledError.errorCode() && error.domain() == cancelledError.domain())
+ if (error.errorCode() == cancelledError.get().errorCode() && error.domain() == cancelledError.get().domain())
return false;
- if (error.errorCode() == errorInterruptedForPolicyChange.errorCode() && error.domain() == errorInterruptedForPolicyChange.domain())
+ if (error.errorCode() == errorInterruptedForPolicyChange.get().errorCode() && error.domain() == errorInterruptedForPolicyChange.get().domain())
return false;
- if (error.errorCode() == pluginWillHandleLoadError.errorCode() && error.domain() == pluginWillHandleLoadError.domain())
+ if (error.errorCode() == pluginWillHandleLoadError.get().errorCode() && error.domain() == pluginWillHandleLoadError.get().domain())
return false;
return true;
}
-WTF::PassRefPtr<WebCore::DocumentLoader> FrameLoaderClientQt::createDocumentLoader(const WebCore::ResourceRequest& request, const SubstituteData& substituteData)
+Ref<WebCore::DocumentLoader> FrameLoaderClientQt::createDocumentLoader(const WebCore::ResourceRequest& request, const SubstituteData& substituteData)
{
- RefPtr<DocumentLoader> loader = DocumentLoader::create(request, substituteData);
+ Ref<DocumentLoader> loader = DocumentLoader::create(request, substituteData);
if (!deferMainResourceDataLoad || substituteData.isValid())
loader->setDeferMainResourceDataLoad(false);
- else
- m_frame->page()->setCustomHTMLTokenizerTimeDelay(-1);
- return loader.release();
+ return loader;
}
-void FrameLoaderClientQt::convertMainResourceLoadToDownload(WebCore::DocumentLoader* documentLoader, const WebCore::ResourceRequest& request, const WebCore::ResourceResponse&)
+void FrameLoaderClientQt::convertMainResourceLoadToDownload(DocumentLoader* documentLoader, SessionID, const ResourceRequest& request, const ResourceResponse&)
{
if (!m_webFrame)
return;
@@ -1153,13 +1086,15 @@ bool FrameLoaderClientQt::callErrorPageExtension(const WebCore::ResourceError& e
if (!page->errorPageExtension(&option, &output))
return false;
- KURL baseUrl(output.baseUrl);
- KURL failingUrl(option.url);
+ URL baseUrl(output.baseUrl);
+ URL failingUrl(option.url);
WebCore::ResourceRequest request(baseUrl);
WTF::RefPtr<WebCore::SharedBuffer> buffer = WebCore::SharedBuffer::create(output.content.constData(), output.content.length());
- WebCore::SubstituteData substituteData(buffer, output.contentType, output.encoding, failingUrl);
- m_frame->loader()->load(WebCore::FrameLoadRequest(m_frame, request, substituteData));
+ WebCore::ResourceResponse response(failingUrl, output.contentType, buffer->size(), output.encoding);
+ // FIXME: visibility?
+ WebCore::SubstituteData substituteData(buffer, failingUrl, response, SubstituteData::SessionHistoryVisibility::Hidden);
+ m_frame->loader().load(WebCore::FrameLoadRequest(m_frame, request, ShouldOpenExternalURLsPolicy::ShouldNotAllow /*FIXME*/, substituteData));
return true;
}
@@ -1201,7 +1136,7 @@ WebCore::Frame* FrameLoaderClientQt::dispatchCreatePage(const WebCore::Navigatio
return newPage->mainFrameAdapter()->frame;
}
-void FrameLoaderClientQt::dispatchDecidePolicyForResponse(FramePolicyFunction function, const WebCore::ResourceResponse& response, const WebCore::ResourceRequest&)
+void FrameLoaderClientQt::dispatchDecidePolicyForResponse(const WebCore::ResourceResponse& response, const WebCore::ResourceRequest&, FramePolicyFunction function)
{
// We need to call directly here.
switch (response.httpStatusCode()) {
@@ -1213,7 +1148,7 @@ void FrameLoaderClientQt::dispatchDecidePolicyForResponse(FramePolicyFunction fu
return;
}
- if (WebCore::contentDispositionType(response.httpHeaderField("Content-Disposition")) == WebCore::ContentDispositionAttachment)
+ if (WebCore::contentDispositionType(response.httpHeaderField(HTTPHeaderName::ContentDisposition)) == WebCore::ContentDispositionAttachment)
callPolicyFunction(function, PolicyDownload);
else if (canShowMIMEType(response.mimeType()))
callPolicyFunction(function, PolicyUse);
@@ -1221,18 +1156,18 @@ void FrameLoaderClientQt::dispatchDecidePolicyForResponse(FramePolicyFunction fu
callPolicyFunction(function, PolicyDownload);
}
-void FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction(FramePolicyFunction function, const WebCore::NavigationAction& action, const WebCore::ResourceRequest& request, PassRefPtr<WebCore::FormState>, const WTF::String&)
+void FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction(const WebCore::NavigationAction& action, const WebCore::ResourceRequest& request, PassRefPtr<WebCore::FormState>, const WTF::String&, FramePolicyFunction function)
{
Q_ASSERT(m_webFrame);
- QNetworkRequest r(request.toNetworkRequest(m_frame->loader()->networkingContext()));
+ QNetworkRequest r(request.toNetworkRequest(m_frame->loader().networkingContext()));
if (!m_webFrame->pageAdapter->acceptNavigationRequest(0, r, (int)action.type())) {
- if (action.type() == NavigationTypeFormSubmitted || action.type() == NavigationTypeFormResubmitted)
- m_frame->loader()->resetMultipleFormSubmissionProtection();
+ if (action.type() == NavigationType::FormSubmitted || action.type() == NavigationType::FormResubmitted)
+ m_frame->loader().resetMultipleFormSubmissionProtection();
- if (action.type() == NavigationTypeLinkClicked && r.url().hasFragment()) {
+ if (action.type() == NavigationType::LinkClicked && r.url().hasFragment()) {
ResourceRequest emptyRequest;
- m_frame->loader()->activeDocumentLoader()->setLastCheckedRequest(emptyRequest);
+ m_frame->loader().activeDocumentLoader()->setLastCheckedRequest(emptyRequest);
}
callPolicyFunction(function, PolicyIgnore);
@@ -1241,10 +1176,10 @@ void FrameLoaderClientQt::dispatchDecidePolicyForNewWindowAction(FramePolicyFunc
callPolicyFunction(function, PolicyUse);
}
-void FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction(FramePolicyFunction function, const WebCore::NavigationAction& action, const WebCore::ResourceRequest& request, PassRefPtr<WebCore::FormState>)
+void FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction(const WebCore::NavigationAction& action, const WebCore::ResourceRequest& request, PassRefPtr<WebCore::FormState>, FramePolicyFunction function)
{
Q_ASSERT(m_webFrame);
- QNetworkRequest r(request.toNetworkRequest(m_frame->loader()->networkingContext()));
+ QNetworkRequest r(request.toNetworkRequest(m_frame->loader().networkingContext()));
PolicyAction result;
// Currently, this is only enabled by DRT.
@@ -1253,8 +1188,7 @@ void FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction(FramePolicyFun
for (const Event* event = action.event(); event; event = event->underlyingEvent()) {
if (event->isMouseEvent()) {
const MouseEvent* mouseEvent = static_cast<const MouseEvent*>(event);
- node = m_webFrame->frame->eventHandler()->hitTestResultAtPoint(
- mouseEvent->absoluteLocation()).innerNonSharedNode();
+ node = m_webFrame->frame->eventHandler().hitTestResultAtPoint(mouseEvent->absoluteLocation()).innerNonSharedNode();
break;
}
}
@@ -1274,12 +1208,12 @@ void FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction(FramePolicyFun
}
if (!m_webFrame->pageAdapter->acceptNavigationRequest(m_webFrame, r, (int)action.type())) {
- if (action.type() == NavigationTypeFormSubmitted || action.type() == NavigationTypeFormResubmitted)
- m_frame->loader()->resetMultipleFormSubmissionProtection();
+ if (action.type() == NavigationType::FormSubmitted || action.type() == NavigationType::FormResubmitted)
+ m_frame->loader().resetMultipleFormSubmissionProtection();
- if (action.type() == NavigationTypeLinkClicked && r.url().hasFragment()) {
+ if (action.type() == NavigationType::LinkClicked && r.url().hasFragment()) {
ResourceRequest emptyRequest;
- m_frame->loader()->activeDocumentLoader()->setLastCheckedRequest(emptyRequest);
+ m_frame->loader().activeDocumentLoader()->setLastCheckedRequest(emptyRequest);
}
callPolicyFunction(function, PolicyIgnore);
@@ -1298,10 +1232,10 @@ void FrameLoaderClientQt::startDownload(const WebCore::ResourceRequest& request,
if (!m_webFrame)
return;
- m_webFrame->pageAdapter->emitDownloadRequested(request.toNetworkRequest(m_frame->loader()->networkingContext()));
+ m_webFrame->pageAdapter->emitDownloadRequested(request.toNetworkRequest(m_frame->loader().networkingContext()));
}
-PassRefPtr<Frame> FrameLoaderClientQt::createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement, const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight)
+RefPtr<Frame> FrameLoaderClientQt::createFrame(const URL& url, const String& name, HTMLFrameOwnerElement* ownerElement, const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight)
{
if (!m_webFrame)
return 0;
@@ -1326,20 +1260,20 @@ PassRefPtr<Frame> FrameLoaderClientQt::createFrame(const KURL& url, const String
// FIXME: Set override encoding if we have one.
- KURL urlToLoad = url;
+ URL urlToLoad = url;
if (urlToLoad.isEmpty())
urlToLoad = blankURL();
- m_frame->loader()->loadURLIntoChildFrame(urlToLoad, frameData.referrer, frameData.frame.get());
+ m_frame->loader().loadURLIntoChildFrame(urlToLoad, frameData.referrer, frameData.frame.get());
// The frame's onload handler may have removed it from the document.
- if (!frameData.frame->tree()->parent())
+ if (!frameData.frame->tree().parent())
return 0;
- return frameData.frame.release();
+ return frameData.frame;
}
-ObjectContentType FrameLoaderClientQt::objectContentType(const KURL& url, const String& mimeTypeIn, bool shouldPreferPlugInsForImages)
+ObjectContentType FrameLoaderClientQt::objectContentType(const URL& url, const String& mimeTypeIn)
{
// qDebug()<<" ++++++++++++++++ url is "<<url.string()<<", mime = "<<mimeTypeIn;
QFileInfo fi(url.path());
@@ -1354,7 +1288,7 @@ ObjectContentType FrameLoaderClientQt::objectContentType(const KURL& url, const
if (!mimeType.length())
mimeType = MIMETypeRegistry::getMIMETypeForExtension(extension);
- bool arePluginsEnabled = (m_frame && m_frame->settings() && m_frame->settings()->arePluginsEnabled());
+ bool arePluginsEnabled = (m_frame && m_frame->settings().arePluginsEnabled());
if (arePluginsEnabled && !mimeType.length())
mimeType = PluginDatabase::installedPlugins()->MIMETypeForExtension(extension);
@@ -1364,15 +1298,15 @@ ObjectContentType FrameLoaderClientQt::objectContentType(const KURL& url, const
ObjectContentType plugInType = ObjectContentNone;
if (arePluginsEnabled && PluginDatabase::installedPlugins()->isMIMETypeRegistered(mimeType))
plugInType = ObjectContentNetscapePlugin;
- else if (m_frame->page() && m_frame->page()->pluginData()) {
- bool allowPlugins = m_frame->loader()->subframeLoader()->allowPlugins(NotAboutToInstantiatePlugin);
- if ((m_frame->page()->pluginData()->supportsMimeType(mimeType, PluginData::AllPlugins) && allowPlugins)
- || m_frame->page()->pluginData()->supportsMimeType(mimeType, PluginData::OnlyApplicationPlugins))
+ else if (m_frame->page()) {
+ bool allowPlugins = m_frame->loader().subframeLoader().allowPlugins();
+ if ((m_frame->page()->pluginData().supportsMimeType(mimeType, PluginData::AllPlugins) && allowPlugins)
+ || m_frame->page()->pluginData().supportsMimeType(mimeType, PluginData::OnlyApplicationPlugins))
plugInType = ObjectContentOtherPlugin;
}
if (MIMETypeRegistry::isSupportedImageMIMEType(mimeType))
- return shouldPreferPlugInsForImages && plugInType != ObjectContentNone ? plugInType : ObjectContentImage;
+ return ObjectContentImage;
if (plugInType != ObjectContentNone)
return plugInType;
@@ -1415,12 +1349,12 @@ public:
return m_adapter;
}
- virtual void invalidateRect(const IntRect& r)
+ void invalidateRect(const IntRect& r) override
{
if (platformWidget())
widgetAdapter()->update(r);
}
- virtual void frameRectsChanged()
+ void frameRectsChanged() override
{
QtPluginWidgetAdapter* widget = widgetAdapter();
if (!widget)
@@ -1431,18 +1365,18 @@ public:
QRect clipRect;
if (parentScrollView) {
ASSERT_WITH_SECURITY_IMPLICATION(parentScrollView->isFrameView());
- clipRect = toFrameView(parentScrollView)->windowClipRect();
+ clipRect = downcast<FrameView>(parentScrollView)->windowClipRect();
clipRect.translate(-windowRect.x(), -windowRect.y());
}
widget->setGeometryAndClip(windowRect, clipRect, isVisible());
}
- virtual void show()
+ void show() override
{
Widget::show();
handleVisibility();
}
- virtual void hide()
+ void hide() override
{
Widget::hide();
if (platformWidget())
@@ -1461,7 +1395,7 @@ private:
};
-PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, HTMLPlugInElement* element, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
+RefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, HTMLPlugInElement* element, const URL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
{
// qDebug()<<"------ Creating plugin in FrameLoaderClientQt::createPlugin for "<<url.string() << mimeType;
// qDebug()<<"------\t url = "<<url.string();
@@ -1544,7 +1478,7 @@ PassRefPtr<Widget> FrameLoaderClientQt::createPlugin(const IntSize& pluginSize,
if (wmodeIndex == WTF::notFound) {
params.append("wmode");
values.append("opaque");
- } else if (equalIgnoringCase(values[wmodeIndex], "window"))
+ } else if (equalLettersIgnoringASCIICase(values[wmodeIndex], "window"))
values[wmodeIndex] = "opaque";
}
@@ -1564,7 +1498,7 @@ void FrameLoaderClientQt::redirectDataToPlugin(Widget* pluginWidget)
m_hasSentResponseToPlugin = false;
}
-PassRefPtr<Widget> FrameLoaderClientQt::createJavaAppletWidget(const IntSize& pluginSize, HTMLAppletElement* element, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues)
+PassRefPtr<Widget> FrameLoaderClientQt::createJavaAppletWidget(const IntSize& pluginSize, HTMLAppletElement* element, const URL& url, const Vector<String>& paramNames, const Vector<String>& paramValues)
{
return createPlugin(pluginSize, element, url, paramNames, paramValues, "application/x-java-applet", true);
}
@@ -1610,6 +1544,32 @@ void FrameLoaderClientQt::emitLoadFinished(bool ok)
m_webFrame->emitLoadFinished(wasOriginatingLoad, ok);
}
+void FrameLoaderClientQt::willReplaceMultipartContent()
+{
+ notImplemented();
+}
+
+void FrameLoaderClientQt::didReplaceMultipartContent()
+{
+ notImplemented();
+}
+
+WebCore::ResourceError FrameLoaderClientQt::blockedByContentBlockerError(const WebCore::ResourceRequest &)
+{
+ notImplemented();
+ return WebCore::ResourceError();
+}
+
+void FrameLoaderClientQt::updateCachedDocumentLoader(WebCore::DocumentLoader &)
+{
+ notImplemented();
+}
+
+void FrameLoaderClientQt::prefetchDNS(const WTF::String &)
+{
+ notImplemented();
+}
+
}
#include "moc_FrameLoaderClientQt.cpp"
diff --git a/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h b/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
index 3edb36562..6feaf76db 100644
--- a/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
@@ -35,14 +35,14 @@
#include "FrameLoader.h"
#include "FrameLoaderClient.h"
#include "HTMLFormElement.h"
-#include "KURL.h"
+#include "PluginView.h"
+#include "ProgressTrackerClient.h"
#include "ResourceError.h"
#include "ResourceResponse.h"
-#include "WebCore/plugins/PluginView.h"
+#include "URL.h"
#include <QUrl>
#include <qobject.h>
#include <wtf/Forward.h>
-#include <wtf/OwnPtr.h>
#include <wtf/RefCounted.h>
QT_BEGIN_NAMESPACE
@@ -72,166 +72,164 @@ class FrameLoaderClientQt : public QObject, public FrameLoaderClient {
bool callErrorPageExtension(const ResourceError&);
Q_SIGNALS:
- void loadProgress(int d);
void titleChanged(const QString& title);
void unsupportedContent(QNetworkReply*);
public:
FrameLoaderClientQt();
~FrameLoaderClientQt();
- virtual void frameLoaderDestroyed();
+ void frameLoaderDestroyed() override;
void setFrame(QWebFrameAdapter*, Frame*);
- virtual bool hasWebView() const; // mainly for assertions
-
- virtual void makeRepresentation(DocumentLoader*) { }
- virtual void forceLayout();
- virtual void forceLayoutForNonHTML();
-
- virtual void setCopiesOnScroll();
-
- virtual void detachedFromParent2();
- virtual void detachedFromParent3();
-
- virtual void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&);
-
- virtual void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long, WebCore::ResourceRequest&, const WebCore::ResourceResponse&);
- virtual bool shouldUseCredentialStorage(DocumentLoader*, unsigned long identifier);
- virtual void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&);
- virtual void dispatchDidCancelAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&);
- virtual void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long, const WebCore::ResourceResponse&);
- virtual void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long, int);
- virtual void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long);
- virtual void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long, const WebCore::ResourceError&);
- virtual bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int);
-
- virtual void dispatchDidHandleOnloadEvents();
- virtual void dispatchDidReceiveServerRedirectForProvisionalLoad();
- virtual void dispatchDidCancelClientRedirect();
- virtual void dispatchWillPerformClientRedirect(const KURL&, double interval, double fireDate);
- virtual void dispatchDidNavigateWithinPage() OVERRIDE;
- virtual void dispatchDidChangeLocationWithinPage();
- virtual void dispatchDidPushStateWithinPage();
- virtual void dispatchDidReplaceStateWithinPage();
- virtual void dispatchDidPopStateWithinPage();
- virtual void dispatchWillClose();
- virtual void dispatchDidReceiveIcon();
- virtual void dispatchDidStartProvisionalLoad();
- virtual void dispatchDidReceiveTitle(const StringWithDirection&);
- virtual void dispatchDidChangeIcons(WebCore::IconType);
- virtual void dispatchDidCommitLoad();
- virtual void dispatchDidFailProvisionalLoad(const ResourceError&);
- virtual void dispatchDidFailLoad(const WebCore::ResourceError&);
- virtual void dispatchDidFinishDocumentLoad();
- virtual void dispatchDidFinishLoad();
- virtual void dispatchDidLayout(WebCore::LayoutMilestones);
+ bool hasWebView() const override; // mainly for assertions
+
+ void makeRepresentation(DocumentLoader*) override { }
+ void forceLayoutForNonHTML() override;
+
+ void setCopiesOnScroll() override;
+
+ void detachedFromParent2() override;
+ void detachedFromParent3() override;
+
+ void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&) override;
+
+ void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long, WebCore::ResourceRequest&, const WebCore::ResourceResponse&) override;
+ bool shouldUseCredentialStorage(DocumentLoader*, unsigned long identifier) override;
+ void dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&) override;
+ void dispatchDidCancelAuthenticationChallenge(DocumentLoader*, unsigned long identifier, const AuthenticationChallenge&) override;
+ void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long, const WebCore::ResourceResponse&) override;
+ void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long, int) override;
+ void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long) override;
+ void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long, const WebCore::ResourceError&) override;
+ bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int) override;
- virtual WebCore::Frame* dispatchCreatePage(const WebCore::NavigationAction&);
- virtual void dispatchShow();
+ void dispatchDidDispatchOnloadEvents() override;
+ void dispatchDidReceiveServerRedirectForProvisionalLoad() override;
+ void dispatchDidCancelClientRedirect() override;
+ void dispatchWillPerformClientRedirect(const URL&, double interval, double fireDate) override;
+ void dispatchDidNavigateWithinPage() override;
+ void dispatchDidChangeLocationWithinPage() override;
+ void dispatchDidPushStateWithinPage() override;
+ void dispatchDidReplaceStateWithinPage() override;
+ void dispatchDidPopStateWithinPage() override;
+ void dispatchWillClose() override;
+ void dispatchDidReceiveIcon() override;
+ void dispatchDidStartProvisionalLoad() override;
+ void dispatchDidReceiveTitle(const StringWithDirection&) override;
+ void dispatchDidChangeIcons(WebCore::IconType) override;
+ void dispatchDidCommitLoad() override;
+ void dispatchDidFailProvisionalLoad(const ResourceError&) override;
+ void dispatchDidFailLoad(const WebCore::ResourceError&) override;
+ void dispatchDidFinishDocumentLoad() override;
+ void dispatchDidFinishLoad() override;
+ void dispatchDidLayout(WebCore::LayoutMilestones) override;
- virtual void dispatchDecidePolicyForResponse(FramePolicyFunction, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&);
- virtual void dispatchDecidePolicyForNewWindowAction(FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<FormState>, const WTF::String&);
- virtual void dispatchDecidePolicyForNavigationAction(FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<FormState>);
- virtual void cancelPolicyCheck();
+ WebCore::Frame* dispatchCreatePage(const WebCore::NavigationAction&) override;
+ void dispatchShow() override;
- virtual void dispatchUnableToImplementPolicy(const WebCore::ResourceError&);
+ void dispatchDecidePolicyForResponse(const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, FramePolicyFunction) override;
+ void dispatchDecidePolicyForNewWindowAction(const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<FormState>, const WTF::String&, FramePolicyFunction) override;
+ void dispatchDecidePolicyForNavigationAction(const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<FormState>, FramePolicyFunction) override;
+ void cancelPolicyCheck() override;
- virtual void dispatchWillSendSubmitEvent(PassRefPtr<FormState>) { }
- virtual void dispatchWillSubmitForm(FramePolicyFunction, PassRefPtr<FormState>);
+ void dispatchUnableToImplementPolicy(const WebCore::ResourceError&) override;
- virtual void revertToProvisionalState(DocumentLoader*) { }
- virtual void setMainDocumentError(DocumentLoader*, const ResourceError&);
+ void dispatchWillSendSubmitEvent(PassRefPtr<FormState>) override { }
+ void dispatchWillSubmitForm(PassRefPtr<FormState>, FramePolicyFunction) override;
- virtual void postProgressStartedNotification();
- virtual void postProgressEstimateChangedNotification();
- virtual void postProgressFinishedNotification();
+ void revertToProvisionalState(DocumentLoader*) override { }
+ void setMainDocumentError(DocumentLoader*, const ResourceError&) override;
- virtual void setMainFrameDocumentReady(bool);
+ void setMainFrameDocumentReady(bool) override;
- virtual void startDownload(const WebCore::ResourceRequest&, const String& suggestedName = String());
+ void startDownload(const WebCore::ResourceRequest&, const String& suggestedName = String()) override;
- virtual void willChangeTitle(DocumentLoader*);
- virtual void didChangeTitle(DocumentLoader*);
+ void willChangeTitle(DocumentLoader*) override;
+ void didChangeTitle(DocumentLoader*) override;
- virtual void committedLoad(WebCore::DocumentLoader*, const char*, int);
- virtual void finishedLoading(DocumentLoader*);
+ void committedLoad(WebCore::DocumentLoader*, const char*, int) override;
+ void finishedLoading(DocumentLoader*) override;
- virtual void updateGlobalHistory();
- virtual void updateGlobalHistoryRedirectLinks();
- virtual bool shouldGoToHistoryItem(HistoryItem*) const;
- virtual bool shouldStopLoadingForHistoryItem(HistoryItem*) const;
- virtual void didDisplayInsecureContent();
- virtual void didRunInsecureContent(SecurityOrigin*, const KURL&);
- virtual void didDetectXSS(const KURL&, bool didBlockEntirePage);
+ void updateGlobalHistory() override;
+ void updateGlobalHistoryRedirectLinks() override;
+ bool shouldGoToHistoryItem(HistoryItem*) const override;
+ void didDisplayInsecureContent() override;
+ void didRunInsecureContent(SecurityOrigin*, const URL&) override;
+ void didDetectXSS(const URL&, bool didBlockEntirePage) override;
- virtual ResourceError cancelledError(const ResourceRequest&);
- virtual ResourceError blockedError(const ResourceRequest&);
- virtual ResourceError cannotShowURLError(const ResourceRequest&);
- virtual ResourceError interruptedForPolicyChangeError(const ResourceRequest&);
+ ResourceError cancelledError(const ResourceRequest&) override;
+ ResourceError blockedError(const ResourceRequest&) override;
+ ResourceError cannotShowURLError(const ResourceRequest&) override;
+ ResourceError interruptedForPolicyChangeError(const ResourceRequest&) override;
- virtual ResourceError cannotShowMIMETypeError(const ResourceResponse&);
- virtual ResourceError fileDoesNotExistError(const ResourceResponse&);
- virtual ResourceError pluginWillHandleLoadError(const ResourceResponse&);
+ ResourceError cannotShowMIMETypeError(const ResourceResponse&) override;
+ ResourceError fileDoesNotExistError(const ResourceResponse&) override;
+ ResourceError pluginWillHandleLoadError(const ResourceResponse&) override;
- virtual bool shouldFallBack(const ResourceError&);
+ bool shouldFallBack(const ResourceError&) override;
- virtual bool canHandleRequest(const WebCore::ResourceRequest&) const;
- virtual bool canShowMIMEType(const String& MIMEType) const;
- virtual bool canShowMIMETypeAsHTML(const String& MIMEType) const;
- virtual bool representationExistsForURLScheme(const String& URLScheme) const;
- virtual String generatedMIMETypeForURLScheme(const String& URLScheme) const;
+ bool canHandleRequest(const WebCore::ResourceRequest&) const override;
+ bool canShowMIMEType(const String& MIMEType) const override;
+ bool canShowMIMETypeAsHTML(const String& MIMEType) const override;
+ bool representationExistsForURLScheme(const String& URLScheme) const override;
+ String generatedMIMETypeForURLScheme(const String& URLScheme) const override;
- virtual void frameLoadCompleted();
- virtual void saveViewStateToItem(WebCore::HistoryItem*);
- virtual void restoreViewState();
- virtual void provisionalLoadStarted();
- virtual void didFinishLoad();
- virtual void prepareForDataSourceReplacement();
+ void frameLoadCompleted() override;
+ void saveViewStateToItem(WebCore::HistoryItem*) override;
+ void restoreViewState() override;
+ void provisionalLoadStarted() override;
+ void didFinishLoad() override;
+ void prepareForDataSourceReplacement() override;
- virtual WTF::PassRefPtr<WebCore::DocumentLoader> createDocumentLoader(const WebCore::ResourceRequest&, const WebCore::SubstituteData&);
- virtual void setTitle(const StringWithDirection&, const KURL&);
-
- virtual String userAgent(const WebCore::KURL&);
-
- virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*);
- virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
- virtual void transitionToCommittedForNewPage();
-
- virtual void didSaveToPageCache();
- virtual void didRestoreFromPageCache();
-
- virtual void dispatchDidBecomeFrameset(bool);
-
- virtual bool canCachePage() const;
- virtual void convertMainResourceLoadToDownload(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&);
+ Ref<WebCore::DocumentLoader> createDocumentLoader(const WebCore::ResourceRequest&, const WebCore::SubstituteData&) override;
+ void setTitle(const StringWithDirection&, const URL&) override;
- virtual PassRefPtr<Frame> createFrame(const KURL&, const String& name, HTMLFrameOwnerElement*, const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
- virtual PassRefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool);
- virtual void recreatePlugin(Widget*) { }
- virtual void redirectDataToPlugin(Widget* pluginWidget);
+ String userAgent(const WebCore::URL&) override;
- virtual PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL& baseURL, const Vector<String>& paramNames, const Vector<String>& paramValues);
+ void savePlatformDataToCachedFrame(WebCore::CachedFrame*) override;
+ void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*) override;
+ void transitionToCommittedForNewPage() override;
+
+ void didSaveToPageCache() override;
+ void didRestoreFromPageCache() override;
+
+ void dispatchDidBecomeFrameset(bool) override;
+
+ bool canCachePage() const override;
+ void convertMainResourceLoadToDownload(DocumentLoader*,SessionID, const ResourceRequest&, const WebCore::ResourceResponse&) override;
+
+ RefPtr<Frame> createFrame(const URL&, const String& name, HTMLFrameOwnerElement*, const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight) override;
+ RefPtr<Widget> createPlugin(const IntSize&, HTMLPlugInElement*, const URL&, const Vector<String>&, const Vector<String>&, const String&, bool) override;
+ void recreatePlugin(Widget*) override { }
+ void redirectDataToPlugin(Widget* pluginWidget) override;
- virtual ObjectContentType objectContentType(const KURL&, const String& mimeTypeIn, bool shouldPreferPlugInsForImages);
- virtual String overrideMediaType() const;
+ PassRefPtr<Widget> createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const URL& baseURL, const Vector<String>& paramNames, const Vector<String>& paramValues) override;
- virtual void dispatchDidClearWindowObjectInWorld(DOMWrapperWorld*);
- virtual void documentElementAvailable();
- virtual void didPerformFirstNavigation() const;
+ ObjectContentType objectContentType(const URL&, const String& mimeTypeIn) override;
+ String overrideMediaType() const override;
- virtual void registerForIconNotification(bool);
+ void dispatchDidClearWindowObjectInWorld(DOMWrapperWorld&) override;
+
+ void registerForIconNotification(bool) override;
+
+ void willReplaceMultipartContent() override;
+ void didReplaceMultipartContent() override;
+ ResourceError blockedByContentBlockerError(const ResourceRequest &) override;
+ void updateCachedDocumentLoader(DocumentLoader &) override;
+ void prefetchDNS(const WTF::String &) override;
QString chooseFile(const QString& oldFile);
- virtual PassRefPtr<FrameNetworkingContext> createNetworkingContext();
+ PassRefPtr<FrameNetworkingContext> createNetworkingContext() override;
- const KURL& lastRequestedUrl() const { return m_lastRequestedUrl; }
+ const URL& lastRequestedUrl() const { return m_lastRequestedUrl; }
QWebFrameAdapter* webFrame() const;
+ void originatingLoadStarted() { m_isOriginatingLoad = true; }
+
static bool dumpFrameLoaderCallbacks;
- static bool dumpProgressFinishedCallback;
static bool dumpUserGestureInFrameLoaderCallbacks;
static bool dumpResourceLoadCallbacks;
static bool dumpResourceResponseMIMETypes;
@@ -261,7 +259,7 @@ private:
WebCore::PluginView* m_pluginView;
bool m_hasSentResponseToPlugin;
- KURL m_lastRequestedUrl;
+ URL m_lastRequestedUrl;
bool m_isOriginatingLoad;
};
diff --git a/Source/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp b/Source/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp
index 5e665313f..517f230e8 100644
--- a/Source/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp
@@ -30,6 +30,12 @@
namespace WebCore {
+static std::unique_ptr<NetworkStorageSession>& privateSession()
+{
+ static NeverDestroyed<std::unique_ptr<NetworkStorageSession>> session;
+ return session;
+}
+
FrameNetworkingContextQt::FrameNetworkingContextQt(Frame* frame, QObject* originatingObject, bool mimeSniffingEnabled)
: FrameNetworkingContext(frame)
, m_originatingObject(originatingObject)
@@ -42,6 +48,17 @@ PassRefPtr<FrameNetworkingContextQt> FrameNetworkingContextQt::create(Frame* fra
return adoptRef(new FrameNetworkingContextQt(frame, originatingObject, mimeSniffingEnabled));
}
+NetworkStorageSession& FrameNetworkingContextQt::storageSession() const
+{
+ ASSERT(isMainThread());
+
+ if (frame() && frame()->page()->usesEphemeralSession())
+ notImplemented();
+// return *privateSession(); // FIXME: Implement and call ensurePrivateBrowsingSession()
+
+ return NetworkStorageSession::defaultStorageSession();
+}
+
QObject* FrameNetworkingContextQt::originatingObject() const
{
return m_originatingObject;
diff --git a/Source/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.h b/Source/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.h
index b58abe48d..6f53e7a93 100644
--- a/Source/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.h
@@ -31,10 +31,12 @@ public:
private:
FrameNetworkingContextQt(Frame*, QObject* originatingObject, bool mimeSniffingEnabled);
- virtual QObject* originatingObject() const;
- virtual QNetworkAccessManager* networkAccessManager() const;
- virtual bool mimeSniffingEnabled() const;
- virtual bool thirdPartyCookiePolicyPermission(const QUrl&) const;
+ NetworkStorageSession& storageSession() const override;
+
+ QObject* originatingObject() const override;
+ QNetworkAccessManager* networkAccessManager() const override;
+ bool mimeSniffingEnabled() const override;
+ bool thirdPartyCookiePolicyPermission(const QUrl&) const override;
QObject* m_originatingObject;
bool m_mimeSniffingEnabled;
diff --git a/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.cpp b/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.cpp
index 63d73c069..87138b7b8 100644
--- a/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.cpp
@@ -28,7 +28,6 @@
#include "HTMLNames.h"
#include "HTMLVideoElement.h"
#include "Node.h"
-#include "QWebPageClient.h"
#if USE(GSTREAMER) && USE(NATIVE_FULLSCREEN_VIDEO)
#include "GStreamerGWorld.h"
@@ -42,10 +41,9 @@
namespace WebCore {
#if USE(GSTREAMER) && USE(NATIVE_FULLSCREEN_VIDEO)
-GStreamerFullScreenVideoHandler::GStreamerFullScreenVideoHandler(ChromeClientQt* chromeClient)
+GStreamerFullScreenVideoHandler::GStreamerFullScreenVideoHandler()
: m_videoElement(0)
, m_fullScreenWidget(0)
- , m_chromeClient(chromeClient)
{
}
@@ -67,8 +65,6 @@ void GStreamerFullScreenVideoHandler::enterFullScreen()
m_fullScreenWidget = reinterpret_cast<FullScreenVideoWindow*>(gstreamerGWorld->platformVideoWindow()->window());
m_fullScreenWidget->setVideoElement(m_videoElement);
connect(m_fullScreenWidget, SIGNAL(closed()), this, SLOT(windowClosed()));
-
- m_fullScreenWidget->setTransientParent(m_chromeClient->platformPageClient()->ownerWindow());
m_fullScreenWidget->showFullScreen();
}
@@ -79,12 +75,8 @@ void GStreamerFullScreenVideoHandler::windowClosed()
void GStreamerFullScreenVideoHandler::exitFullScreen()
{
- if (m_videoElement->platformMedia().type == WebCore::PlatformMedia::GStreamerGWorldType) {
+ if (m_videoElement->platformMedia().type == WebCore::PlatformMedia::GStreamerGWorldType)
m_videoElement->platformMedia().media.gstreamerGWorld->exitFullscreen();
- // GStreamerWorld::exitFullscreen() deletes the PlatformVideoWindow.
- m_fullScreenWidget = 0;
- return;
- }
m_fullScreenWidget->setVideoElement(0);
m_fullScreenWidget->close();
@@ -104,7 +96,7 @@ FullScreenVideoQt::FullScreenVideoQt(ChromeClientQt* chromeClient)
#endif
#if USE(GSTREAMER) && USE(NATIVE_FULLSCREEN_VIDEO)
- m_FullScreenVideoHandlerGStreamer = new GStreamerFullScreenVideoHandler(chromeClient);
+ m_FullScreenVideoHandlerGStreamer = new GStreamerFullScreenVideoHandler;
#endif
}
@@ -118,14 +110,13 @@ FullScreenVideoQt::~FullScreenVideoQt()
#endif
}
-void FullScreenVideoQt::enterFullScreenForNode(Node* node)
+void FullScreenVideoQt::enterFullScreenForNode(HTMLVideoElement* videoElement)
{
- Q_ASSERT(node);
- m_videoElement = toHTMLVideoElement(node);
+ Q_ASSERT(videoElement);
+ m_videoElement = videoElement;
#if USE(QT_MULTIMEDIA)
Q_ASSERT(m_FullScreenVideoHandler);
- HTMLVideoElement* videoElement = toHTMLVideoElement(node);
PlatformMedia platformMedia = videoElement->platformMedia();
ASSERT(platformMedia.type == PlatformMedia::QtMediaPlayerType);
@@ -139,18 +130,17 @@ void FullScreenVideoQt::enterFullScreenForNode(Node* node)
mediaPlayerQt->removeVideoItem();
m_FullScreenVideoHandler->enterFullScreen(mediaPlayerQt->mediaPlayer());
#endif
+
#if USE(GSTREAMER) && USE(NATIVE_FULLSCREEN_VIDEO)
m_FullScreenVideoHandlerGStreamer->setVideoElement(m_videoElement);
m_FullScreenVideoHandlerGStreamer->enterFullScreen();
#endif
}
-void FullScreenVideoQt::exitFullScreenForNode(Node* node)
+void FullScreenVideoQt::exitVideoFullscreen(HTMLVideoElement* videoElement)
{
- Q_ASSERT(node);
-
+ Q_ASSERT(videoElement);
#if USE(QT_MULTIMEDIA)
- HTMLVideoElement* videoElement = toHTMLVideoElement(node);
PlatformMedia platformMedia = videoElement->platformMedia();
ASSERT(platformMedia.type == PlatformMedia::QtMediaPlayerType);
diff --git a/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.h b/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.h
index 256794d41..35f2ace5f 100644
--- a/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.h
@@ -32,6 +32,7 @@ QT_END_NAMESPACE
namespace WebCore {
class ChromeClientQt;
+class FullScreenVideoWidget;
class HTMLVideoElement;
class Node;
#if USE(QT_MULTIMEDIA)
@@ -39,13 +40,13 @@ class MediaPlayerPrivateQt;
#endif
// We do not use ENABLE or USE because moc does not expand these macros.
-#if defined(WTF_USE_GSTREAMER) && WTF_USE_GSTREAMER && defined(WTF_USE_NATIVE_FULLSCREEN_VIDEO) && WTF_USE_NATIVE_FULLSCREEN_VIDEO
+#if defined(USE_GSTREAMER) && USE_GSTREAMER && defined(USE_NATIVE_FULLSCREEN_VIDEO) && USE_NATIVE_FULLSCREEN_VIDEO
class FullScreenVideoWindow;
class GStreamerFullScreenVideoHandler : public QObject {
Q_OBJECT
public:
- GStreamerFullScreenVideoHandler(ChromeClientQt*);
+ GStreamerFullScreenVideoHandler();
~GStreamerFullScreenVideoHandler() { }
void setVideoElement(HTMLVideoElement*);
@@ -58,7 +59,6 @@ public Q_SLOTS:
private:
HTMLVideoElement* m_videoElement;
FullScreenVideoWindow* m_fullScreenWidget;
- ChromeClientQt* m_chromeClient;
};
#endif
@@ -68,8 +68,8 @@ public:
FullScreenVideoQt(ChromeClientQt*);
~FullScreenVideoQt();
- virtual void enterFullScreenForNode(Node*);
- virtual void exitFullScreenForNode(Node*);
+ void enterFullScreenForNode(HTMLVideoElement*);
+ void exitVideoFullscreen(HTMLVideoElement*);
bool requiresFullScreenForVideoPlayback();
bool isValid() const;
diff --git a/Source/WebKit/qt/WebCoreSupport/GeolocationClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/GeolocationClientQt.cpp
index b4c5189f6..1cb7b799b 100644
--- a/Source/WebKit/qt/WebCoreSupport/GeolocationClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/GeolocationClientQt.cpp
@@ -44,8 +44,8 @@ static const char failedToStartServiceErrorMessage[] = "Failed to start Geolocat
GeolocationClientQt::GeolocationClientQt(const QWebPageAdapter* page)
: m_webPage(page)
- , m_lastPosition(0)
- , m_location(0)
+ , m_lastPosition(nullptr)
+ , m_location(nullptr)
{
}
diff --git a/Source/WebKit/qt/WebCoreSupport/GeolocationClientQt.h b/Source/WebKit/qt/WebCoreSupport/GeolocationClientQt.h
index c2287867f..3fdc01ac6 100644
--- a/Source/WebKit/qt/WebCoreSupport/GeolocationClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/GeolocationClientQt.h
@@ -42,22 +42,22 @@ class QWebPageAdapter;
namespace WebCore {
// This class provides an implementation of a GeolocationClient for QtWebkit.
-class GeolocationClientQt : public QObject, public GeolocationClient {
+class GeolocationClientQt final : public QObject, public GeolocationClient {
Q_OBJECT
public:
GeolocationClientQt(const QWebPageAdapter*);
- virtual ~GeolocationClientQt();
+ ~GeolocationClientQt() override;
- virtual void geolocationDestroyed();
- virtual void startUpdating();
- virtual void stopUpdating();
+ void geolocationDestroyed() override;
+ void startUpdating() override;
+ void stopUpdating() override;
- void setEnableHighAccuracy(bool);
- virtual GeolocationPosition* lastPosition() { return m_lastPosition.get(); }
+ void setEnableHighAccuracy(bool) override;
+ GeolocationPosition* lastPosition() override { return m_lastPosition.get(); }
- virtual void requestPermission(Geolocation*);
- virtual void cancelPermissionRequest(Geolocation*);
+ void requestPermission(Geolocation*) override;
+ void cancelPermissionRequest(Geolocation*) override;
private Q_SLOTS:
void positionUpdated(const QGeoPositionInfo&);
diff --git a/Source/WebKit/qt/WebCoreSupport/HistorySerialization.cpp b/Source/WebKit/qt/WebCoreSupport/HistorySerialization.cpp
new file mode 100644
index 000000000..abfb989a9
--- /dev/null
+++ b/Source/WebKit/qt/WebCoreSupport/HistorySerialization.cpp
@@ -0,0 +1,313 @@
+/*
+ * Copyright (C) 2005, 2006, 2008, 2011, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2016 Konstantin Tokarev <annulen@yandex.ru>
+ *
+ * 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 INC. 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 INC. 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 "HistorySerialization.h"
+
+#include "FormData.h"
+#include "KeyedDecoderQt.h"
+#include "KeyedEncoderQt.h"
+
+namespace WebCore {
+
+static void encodeElement(KeyedEncoder& encoder, const FormDataElement& element)
+{
+ encoder.encodeEnum("type", element.m_type);
+
+ switch (element.m_type) {
+ case FormDataElement::Type::Data:
+ encoder.encodeBytes("data", reinterpret_cast<const uint8_t*>(element.m_data.data()), element.m_data.size());
+ return;
+ case FormDataElement::Type::EncodedFile:
+ encoder.encodeString("filename", element.m_filename);
+ encoder.encodeString("generatedFilename", element.m_generatedFilename);
+ encoder.encodeBool("shouldGenerateFile", element.m_shouldGenerateFile);
+ encoder.encodeInt64("fileStart", element.m_fileStart);
+ encoder.encodeInt64("fileLength", element.m_fileLength);
+ encoder.encodeDouble("expectedFileModificationTime", element.m_expectedFileModificationTime);
+ return;
+
+ case FormDataElement::Type::EncodedBlob:
+ encoder.encodeString("url", element.m_url.string());
+ return;
+ }
+
+ ASSERT_NOT_REACHED();
+}
+
+static bool decodeElement(KeyedDecoder& decoder, FormDataElement& element)
+{
+ if (!decoder.decodeEnum("type", element.m_type, [](FormDataElement::Type type) {
+ switch (type) {
+ case FormDataElement::Type::Data:
+ case FormDataElement::Type::EncodedFile:
+ case FormDataElement::Type::EncodedBlob:
+ return true;
+ }
+
+ return false;
+ }))
+ return false;
+
+ switch (element.m_type) {
+ case FormDataElement::Type::Data:
+ if (!decoder.decodeBytes("data", element.m_data))
+ return false;
+ break;
+
+ case FormDataElement::Type::EncodedFile: {
+ if (!decoder.decodeString("filename", element.m_filename))
+ return false;
+ if (!decoder.decodeString("generatedFilename", element.m_generatedFilename))
+ return false;
+ if (!decoder.decodeBool("shouldGenerateFile", element.m_shouldGenerateFile))
+ return false;
+
+ int64_t fileStart;
+ if (!decoder.decodeInt64("fileStart", fileStart))
+ return false;
+ if (fileStart < 0)
+ return false;
+
+ int64_t fileLength;
+ if (!decoder.decodeInt64("fileLength", fileLength))
+ return false;
+ if (fileLength != BlobDataItem::toEndOfFile && fileLength < fileStart)
+ return false;
+
+ double expectedFileModificationTime;
+ if (!decoder.decodeDouble("expectedFileModificationTime", expectedFileModificationTime))
+ return false;
+
+ element.m_fileStart = fileStart;
+ element.m_fileLength = fileLength;
+ element.m_expectedFileModificationTime = expectedFileModificationTime;
+ break;
+ }
+
+ case FormDataElement::Type::EncodedBlob: {
+ String blobURLString;
+ if (!decoder.decodeString("url", blobURLString))
+ return false;
+
+ element.m_url = URL(URL(), blobURLString);
+ break;
+ }
+ }
+
+ return true;
+}
+
+void encodeFormData(const FormData& formData, KeyedEncoder& encoder)
+{
+ encoder.encodeBool("alwaysStream", formData.alwaysStream());
+ encoder.encodeBytes("boundary", reinterpret_cast<const uint8_t*>(formData.boundary().data()), formData.boundary().size());
+
+ encoder.encodeObjects("elements", formData.elements().begin(), formData.elements().end(), [](KeyedEncoder& encoder, const FormDataElement& element) {
+ encodeElement(encoder, element);
+ });
+
+ encoder.encodeInt64("identifier", formData.identifier());
+}
+
+RefPtr<FormData> decodeFormData(KeyedDecoder& decoder)
+{
+ RefPtr<FormData> data = FormData::create();
+
+ bool alwaysStream;
+ if (!decoder.decodeBool("alwaysStream", alwaysStream))
+ return nullptr;
+ data->setAlwaysStream(alwaysStream);
+
+ if (!decoder.decodeBytes("boundary", const_cast<Vector<char>&>(data->boundary())))
+ return nullptr;
+
+ if (!decoder.decodeObjects("elements", const_cast<Vector<FormDataElement>&>(data->elements()), [](KeyedDecoder& decoder, FormDataElement& element) {
+ return decodeElement(decoder, element);
+ }))
+ return nullptr;
+
+ int64_t identifier;
+ if (!decoder.decodeInt64("identifier", identifier))
+ return nullptr;
+
+ data->setIdentifier(identifier);
+ return data;
+}
+
+static void encodeBackForwardTreeNode(KeyedEncoder& encoder, const HistoryItem& item)
+{
+ encoder.encodeObjects("children", item.children().begin(), item.children().end(),
+ encodeBackForwardTreeNode);
+
+ encoder.encodeString("originalURLString", item.originalURLString());
+ encoder.encodeString("urlString", item.urlString());
+
+ encoder.encodeInt64("documentSequenceNumber", item.documentSequenceNumber());
+
+ encoder.encodeObjects("documentState", item.documentState().begin(), item.documentState().end(), [](KeyedEncoder& encoder, const String& string) {
+ encoder.encodeString("string", string);
+ });
+
+ encoder.encodeString("formContentType", item.formContentType());
+
+ encoder.encodeConditionalObject("formData", const_cast<HistoryItem&>(item).formData(), [](KeyedEncoder& encoder, const FormData& formData) {
+ encodeFormData(formData, encoder);
+ });
+
+ encoder.encodeInt64("itemSequenceNumber", item.itemSequenceNumber());
+
+ encoder.encodeString("referrer", item.referrer());
+
+ encoder.encodeObject("scrollPosition", item.scrollPosition(), [](KeyedEncoder& encoder, const IntPoint& scrollPosition) {
+ encoder.encodeInt32("x", scrollPosition.x());
+ encoder.encodeInt32("y", scrollPosition.y());
+ });
+
+ encoder.encodeFloat("pageScaleFactor", item.pageScaleFactor());
+
+ encoder.encodeConditionalObject("stateObject", item.stateObject().get(), [](KeyedEncoder& encoder, const SerializedScriptValue& stateObject) {
+ encoder.encodeBytes("data", stateObject.data().data(), stateObject.data().size());
+ });
+
+ encoder.encodeString("target", item.target());
+}
+
+void encodeBackForwardTree(KeyedEncoderQt& encoder, const HistoryItem& item)
+{
+ encoder.encodeString("title", item.title());
+ encodeBackForwardTreeNode(encoder, item);
+ if (item.userData().isValid())
+ encoder.encodeVariant("userData", item.userData());
+}
+
+template<typename F>
+bool decodeString(KeyedDecoder& decoder, const String& key, F&& consumer)
+{
+ String tmp;
+ if (!decoder.decodeString(key, tmp))
+ return false;
+ consumer(WTFMove(tmp));
+ return true;
+}
+
+static bool decodeBackForwardTreeNode(KeyedDecoder& decoder, HistoryItem& item)
+{
+ if (!decodeString(decoder, "urlString", [&item](String&& str) {
+ item.setURLString(str);
+ }))
+ return false;
+
+ decodeString(decoder, "originalURLString", [&item](String&& str) {
+ item.setOriginalURLString(str);
+ });
+
+ Vector<int> ignore;
+ decoder.decodeObjects("children", ignore, [&item](KeyedDecoder& decoder, int&) {
+ Ref<HistoryItem> element = HistoryItem::create();
+ if (decodeBackForwardTreeNode(decoder, element)) {
+ item.addChildItem(WTFMove(element));
+ return true;
+ }
+ return false;
+ });
+
+ int64_t documentSequenceNumber;
+ if (decoder.decodeInt64("documentSequenceNumber", documentSequenceNumber))
+ item.setDocumentSequenceNumber(documentSequenceNumber);
+
+ Vector<String> documentState;
+ decoder.decodeObjects("documentState", documentState, [](KeyedDecoder& decoder, String& string) -> bool {
+ return decoder.decodeString("string", string);
+ });
+ item.setDocumentState(documentState);
+
+ decodeString(decoder, "formContentType", [&item](String&& str) {
+ item.setFormContentType(str);
+ });
+
+ RefPtr<FormData> formData;
+ if (decoder.decodeObject("formData", formData, [](KeyedDecoder& decoder, RefPtr<FormData>& formData) {
+ formData = decodeFormData(decoder);
+ return formData != nullptr;
+ }))
+ item.setFormData(WTFMove(formData));
+
+ int64_t itemSequenceNumber;
+ if (decoder.decodeInt64("itemSequenceNumber", itemSequenceNumber))
+ item.setItemSequenceNumber(itemSequenceNumber);
+
+ decodeString(decoder, "referrer", [&item](String&& str) {
+ item.setReferrer(str);
+ });
+
+ int ignore2;
+ decoder.decodeObject("scrollPosition", ignore2, [&item](KeyedDecoder& decoder, int&) -> bool {
+ int x, y;
+ if (!decoder.decodeInt32("x", x))
+ return false;
+ if (!decoder.decodeInt32("y", y))
+ return false;
+ item.setScrollPosition(IntPoint(x, y));
+ return true;
+ });
+
+ float pageScaleFactor;
+ if (decoder.decodeFloat("pageScaleFactor", pageScaleFactor))
+ item.setPageScaleFactor(pageScaleFactor);
+
+ RefPtr<SerializedScriptValue> stateObject;
+ decoder.decodeConditionalObject("stateObject", stateObject, [](KeyedDecoder& decoder, RefPtr<SerializedScriptValue>& stateObject) -> bool {
+ Vector<uint8_t> bytes;
+ if (decoder.decodeBytes("data", bytes)) {
+ stateObject = SerializedScriptValue::adopt(WTFMove(bytes));
+ return true;
+ }
+ return false;
+ });
+
+ decodeString(decoder, "target", [&item](String&& str) {
+ item.setTarget(str);
+ });
+
+ return true;
+}
+
+bool decodeBackForwardTree(KeyedDecoderQt& decoder, HistoryItem& item)
+{
+ if (!decodeString(decoder, "title", [&item](String&& str) {
+ item.setTitle(str);
+ }))
+ return false;
+
+ QVariant userData;
+ if (decoder.decodeVariant("userData", userData))
+ item.setUserData(userData);
+
+ return decodeBackForwardTreeNode(decoder, item);
+}
+
+}
diff --git a/Source/WebKit/mac/WebView/WebGeolocationPositionInternal.h b/Source/WebKit/qt/WebCoreSupport/HistorySerialization.h
index f54e66b81..45b2058a3 100644
--- a/Source/WebKit/mac/WebView/WebGeolocationPositionInternal.h
+++ b/Source/WebKit/qt/WebCoreSupport/HistorySerialization.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2016 Konstantin Tokarev <annulen@yandex.ru>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,11 +23,16 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#import "WebGeolocationPosition.h"
+#pragma once
+
+#include "HistoryItem.h"
namespace WebCore {
- class GeolocationPosition;
-}
-WebCore::GeolocationPosition* core(WebGeolocationPosition *);
+class KeyedDecoderQt;
+class KeyedEncoderQt;
+void encodeBackForwardTree(KeyedEncoderQt&, const HistoryItem&);
+bool decodeBackForwardTree(KeyedDecoderQt&, HistoryItem&);
+
+}
diff --git a/Source/WebKit/qt/WebCoreSupport/InitWebCoreQt.cpp b/Source/WebKit/qt/WebCoreSupport/InitWebCoreQt.cpp
index 591fa052d..3496b866a 100644
--- a/Source/WebKit/qt/WebCoreSupport/InitWebCoreQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/InitWebCoreQt.cpp
@@ -34,7 +34,7 @@
#include "ChromeClientQt.h"
#include "Font.h"
#include "Image.h"
-#include "InitializeLogging.h"
+#include "Logging.h"
#include "MemoryCache.h"
#include "NotImplemented.h"
#include "Page.h"
@@ -44,7 +44,6 @@
#include "ScriptController.h"
#include "ScrollbarThemeQStyle.h"
#include "SecurityPolicy.h"
-#include "Settings.h"
#include "qwebelement_p.h"
#include <JavaScriptCore/runtime/InitializeThreading.h>
@@ -63,7 +62,7 @@ static WebCore::QStyleFacade* createStyleForPage(WebCore::Page* page)
{
QWebPageAdapter* pageAdapter = 0;
if (page)
- pageAdapter = static_cast<WebCore::ChromeClientQt*>(page->chrome().client())->m_webPage;
+ pageAdapter = static_cast<WebCore::ChromeClientQt&>(page->chrome().client()).m_webPage;
return initCallback(pageAdapter);
}
@@ -73,7 +72,6 @@ Q_DECL_EXPORT void initializeWebKitQt()
if (initCallback) {
WebCore::RenderThemeQStyle::setStyleFactoryFunction(createStyleForPage);
WebCore::RenderThemeQt::setCustomTheme(WebCore::RenderThemeQStyle::create, new WebCore::ScrollbarThemeQStyle);
- WebCore::Font::setDefaultTypesettingFeatures(WebCore::Kerning);
}
}
@@ -95,17 +93,19 @@ Q_DECL_EXPORT void initializeWebCoreQt()
#if !LOG_DISABLED
WebCore::initializeLoggingChannelsIfNecessary();
#endif // !LOG_DISABLED
- ScriptController::initializeThreading();
+ JSC::initializeThreading();
WTF::initializeMainThread();
+ RunLoop::initializeMainRunLoop();
WebCore::SecurityPolicy::setLocalLoadPolicy(WebCore::SecurityPolicy::AllowLocalLoadsForLocalAndSubstituteData);
PlatformStrategiesQt::initialize();
QtWebElementRuntime::initialize();
- if (!WebCore::memoryCache()->disabled())
- WebCore::memoryCache()->setDeadDecodedDataDeletionInterval(60);
- WebCore::RuntimeEnabledFeatures::setCSSCompositingEnabled(true);
- WebCore::Settings::setDefaultMinDOMTimerInterval(0.004);
+ auto& memoryCache = MemoryCache::singleton();
+ if (!memoryCache.disabled())
+ memoryCache.setDeadDecodedDataDeletionInterval(std::chrono::seconds{60});
+ WebCore::RuntimeEnabledFeatures::sharedFeatures().setCSSCompositingEnabled(true);
+ WebCore::RuntimeEnabledFeatures::sharedFeatures().setWebkitIndexedDBEnabled(true);
initialized = true;
}
diff --git a/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
index c982d0332..c809797ba 100644
--- a/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
@@ -31,11 +31,10 @@
#include "config.h"
#include "InspectorClientQt.h"
-#include "Frame.h"
#include "FrameView.h"
#include "InspectorController.h"
-#include "InspectorFrontend.h"
#include "InspectorServerQt.h"
+#include "MainFrame.h"
#include "NotImplemented.h"
#include "Page.h"
#include "QWebFrameAdapter.h"
@@ -56,11 +55,10 @@ static const QLatin1String settingStorageTypeSuffix(".type");
namespace {
-#if ENABLE(INSPECTOR)
class InspectorFrontendSettingsQt : public InspectorFrontendClientLocal::Settings {
public:
virtual ~InspectorFrontendSettingsQt() { }
- virtual String getProperty(const String& name)
+ String getProperty(const String& name) override
{
#ifdef QT_NO_SETTINGS
Q_UNUSED(name)
@@ -84,7 +82,7 @@ public:
#endif // QT_NO_SETTINGS
}
- virtual void setProperty(const String& name, const String& value)
+ void setProperty(const String& name, const String& value) override
{
#ifdef QT_NO_SETTINGS
Q_UNUSED(name)
@@ -131,43 +129,36 @@ private:
return retVal;
}
};
-#endif // ENABLE(INSPECTOR)
}
InspectorClientQt::InspectorClientQt(QWebPageAdapter* page)
: m_inspectedWebPage(page)
- , m_frontendWebPage(0)
- , m_frontendClient(0)
- , m_remoteFrontEndChannel(0)
+ , m_frontendWebPage(nullptr)
+ , m_frontendClient(nullptr)
+ , m_remoteFrontEndChannel(nullptr)
{
InspectorServerQt* webInspectorServer = InspectorServerQt::server();
if (webInspectorServer)
webInspectorServer->registerClient(this);
}
-void InspectorClientQt::inspectorDestroyed()
+void InspectorClientQt::inspectedPageDestroyed()
{
-#if ENABLE(INSPECTOR)
- closeInspectorFrontend();
-
InspectorServerQt* webInspectorServer = InspectorServerQt::server();
if (webInspectorServer)
webInspectorServer->unregisterClient(this);
delete this;
-#endif
}
-
-WebCore::InspectorFrontendChannel* InspectorClientQt::openInspectorFrontend(WebCore::InspectorController* inspectorController)
+Inspector::FrontendChannel* InspectorClientQt::openLocalFrontend(WebCore::InspectorController* inspectorController)
{
- WebCore::InspectorFrontendChannel* frontendChannel = 0;
-#if ENABLE(INSPECTOR)
- QObject* view = 0;
- QWebPageAdapter* inspectorPage = 0;
+ Inspector::FrontendChannel* frontendChannel = nullptr;
+ QObject* view = nullptr;
+ QWebPageAdapter* inspectorPage = nullptr;
m_inspectedWebPage->createWebInspector(&view, &inspectorPage);
- OwnPtr<QObject> inspectorView = adoptPtr(view);
+ std::unique_ptr<QObject> inspectorView(view);
QObject* inspector = m_inspectedWebPage->inspectorHandle();
// Remote frontend was attached.
@@ -183,65 +174,56 @@ WebCore::InspectorFrontendChannel* InspectorClientQt::openInspectorFrontend(WebC
inspectorUrl = inspector->property("_q_inspectorUrl").toUrl();
#endif
if (!inspectorUrl.isValid())
- inspectorUrl = QUrl(QLatin1String("qrc:/webkit/inspector/inspector.html"));
+ inspectorUrl = QUrl(QLatin1String("qrc:/webkit/inspector/UserInterface/Main.html"));
#ifndef QT_NO_PROPERTIES
QVariant inspectorJavaScriptWindowObjects = inspector->property("_q_inspectorJavaScriptWindowObjects");
if (inspectorJavaScriptWindowObjects.isValid())
inspectorPage->handle()->setProperty("_q_inspectorJavaScriptWindowObjects", inspectorJavaScriptWindowObjects);
#endif
- inspectorPage->mainFrameAdapter()->load(QNetworkRequest(inspectorUrl));
- m_inspectedWebPage->setInspectorFrontend(inspectorView.get());
// Is 'controller' the same object as 'inspectorController' (which appears to be unused)?
- InspectorController* controller = inspectorPage->page->inspectorController();
- OwnPtr<InspectorFrontendClientQt> frontendClient = adoptPtr(new InspectorFrontendClientQt(m_inspectedWebPage, inspectorView.release(), inspectorPage->page, this));
- m_frontendClient = frontendClient.get();
- controller->setInspectorFrontendClient(frontendClient.release());
+ InspectorController& controller = inspectorPage->page->inspectorController();
+ m_frontendClient = std::make_unique<InspectorFrontendClientQt>(m_inspectedWebPage, inspectorController, WTFMove(inspectorView), inspectorPage->page, this);
+ controller.setInspectorFrontendClient(m_frontendClient.get());
m_frontendWebPage = inspectorPage;
// Web Inspector should not belong to any other page groups since it is a specialized debugger window.
m_frontendWebPage->page->setGroupName("__WebInspectorPageGroup__");
frontendChannel = this;
-#endif
- return frontendChannel;
-}
-void InspectorClientQt::closeInspectorFrontend()
-{
-#if ENABLE(INSPECTOR)
- if (m_frontendClient)
- m_frontendClient->inspectorClientDestroyed();
-#endif
+ inspectorPage->mainFrameAdapter()->load(QNetworkRequest(inspectorUrl));
+ m_inspectedWebPage->setInspectorFrontend(view);
+
+ return frontendChannel;
}
void InspectorClientQt::bringFrontendToFront()
{
-#if ENABLE(INSPECTOR)
m_frontendClient->bringToFront();
-#endif
}
void InspectorClientQt::releaseFrontendPage()
{
- m_frontendWebPage = 0;
- m_frontendClient = 0;
+ m_frontendWebPage = nullptr;
+ m_frontendClient = nullptr;
}
void InspectorClientQt::attachAndReplaceRemoteFrontend(InspectorServerRequestHandlerQt* channel)
{
-#if ENABLE(INSPECTOR)
m_remoteFrontEndChannel = channel;
- m_inspectedWebPage->page->inspectorController()->connectFrontend(this);
-#endif
+ m_inspectedWebPage->page->inspectorController().connectFrontend(this);
}
void InspectorClientQt::detachRemoteFrontend()
{
-#if ENABLE(INSPECTOR)
- m_remoteFrontEndChannel = 0;
- m_inspectedWebPage->page->inspectorController()->disconnectFrontend();
-#endif
+ m_remoteFrontEndChannel = nullptr;
+ m_inspectedWebPage->page->inspectorController().disconnectFrontend(this);
+}
+
+void InspectorClientQt::closeFrontendWindow()
+{
+ m_frontendClient->closeWindow();
}
void InspectorClientQt::highlight()
@@ -251,17 +233,22 @@ void InspectorClientQt::highlight()
void InspectorClientQt::hideHighlight()
{
- WebCore::Frame* frame = m_inspectedWebPage->page->mainFrame();
- if (frame) {
- QRect rect = m_inspectedWebPage->mainFrameAdapter()->frameRect();
- if (!rect.isEmpty())
- frame->view()->invalidateRect(rect);
- }
+ WebCore::Frame& frame = m_inspectedWebPage->page->mainFrame();
+ QRect rect = m_inspectedWebPage->mainFrameAdapter()->frameRect();
+ if (!rect.isEmpty())
+ frame.view()->invalidateRect(rect);
+}
+
+InspectorClientQt::ConnectionType InspectorClientQt::connectionType() const
+{
+ if (m_remoteFrontEndChannel)
+ return ConnectionType::Remote;
+
+ return ConnectionType::Local;
}
bool InspectorClientQt::sendMessageToFrontend(const String& message)
{
-#if ENABLE(INSPECTOR)
if (m_remoteFrontEndChannel) {
WTF::CString msg = message.utf8();
m_remoteFrontEndChannel->webSocketSend(msg.data(), msg.length());
@@ -272,16 +259,12 @@ bool InspectorClientQt::sendMessageToFrontend(const String& message)
Page* frontendPage = m_frontendWebPage->page;
return doDispatchMessageOnFrontendPage(frontendPage, message);
-#else
- return false;
-#endif
}
-#if ENABLE(INSPECTOR)
-InspectorFrontendClientQt::InspectorFrontendClientQt(QWebPageAdapter* inspectedWebPage, PassOwnPtr<QObject> inspectorView, WebCore::Page* inspectorPage, InspectorClientQt* inspectorClient)
- : InspectorFrontendClientLocal(inspectedWebPage->page->inspectorController(), inspectorPage, adoptPtr(new InspectorFrontendSettingsQt()))
+InspectorFrontendClientQt::InspectorFrontendClientQt(QWebPageAdapter* inspectedWebPage, InspectorController* inspectedPageController, std::unique_ptr<QObject> inspectorView, WebCore::Page* inspectorPage, InspectorClientQt* inspectorClient)
+ : InspectorFrontendClientLocal(inspectedPageController, inspectorPage, std::make_unique<InspectorFrontendSettingsQt>())
, m_inspectedWebPage(inspectedWebPage)
- , m_inspectorView(inspectorView)
+ , m_inspectorView(WTFMove(inspectorView))
, m_destroyingInspectorView(false)
, m_inspectorClient(inspectorClient)
{
@@ -297,13 +280,12 @@ InspectorFrontendClientQt::~InspectorFrontendClientQt()
void InspectorFrontendClientQt::frontendLoaded()
{
InspectorFrontendClientLocal::frontendLoaded();
- setAttachedWindow(DOCKED_TO_BOTTOM);
+ setAttachedWindow(DockSide::Bottom);
}
String InspectorFrontendClientQt::localizedStringsURL()
{
- notImplemented();
- return String();
+ return ASCIILiteral("qrc:/webkit/inspector/Localizations/en.lproj/localizedStrings.js");
}
void InspectorFrontendClientQt::bringToFront()
@@ -313,6 +295,10 @@ void InspectorFrontendClientQt::bringToFront()
void InspectorFrontendClientQt::closeWindow()
{
+#ifndef QT_NO_PROPERTIES
+ if (QObject *inspector = m_inspectedWebPage->inspectorHandle())
+ inspector->setProperty("visible", false);
+#endif
destroyInspectorView(true);
}
@@ -336,11 +322,6 @@ void InspectorFrontendClientQt::setAttachedWindowWidth(unsigned)
notImplemented();
}
-void InspectorFrontendClientQt::setToolbarHeight(unsigned)
-{
- notImplemented();
-}
-
void InspectorFrontendClientQt::inspectedURLChanged(const String& newURL)
{
m_inspectedURL = newURL;
@@ -359,21 +340,25 @@ void InspectorFrontendClientQt::destroyInspectorView(bool notifyInspectorControl
return;
m_destroyingInspectorView = true;
+ if (Page* frontendPage = this->frontendPage())
+ frontendPage->inspectorController().setInspectorFrontendClient(nullptr);
+
// Inspected page may have already been destroyed.
if (m_inspectedWebPage) {
// Clear reference from QWebInspector to the frontend view.
- m_inspectedWebPage->setInspectorFrontend(0);
+ m_inspectedWebPage->setInspectorFrontend(nullptr);
}
-#if ENABLE(INSPECTOR)
if (notifyInspectorController)
- m_inspectedWebPage->page->inspectorController()->disconnectFrontend();
-#endif
+ m_inspectedWebPage->page->inspectorController().disconnectFrontend(m_inspectorClient);
+
+ // If we delete view right here it will delete QWebPageAdapter in the middle
+ // of mouseReleaseEvent()
+ QObject* view = m_inspectorView.release();
+ view->deleteLater();
+
if (m_inspectorClient)
m_inspectorClient->releaseFrontendPage();
-
- // Clear pointer before deleting WebView to avoid recursive calls to its destructor.
- OwnPtr<QObject> inspectorView = m_inspectorView.release();
}
void InspectorFrontendClientQt::inspectorClientDestroyed()
@@ -382,6 +367,5 @@ void InspectorFrontendClientQt::inspectorClientDestroyed()
m_inspectorClient = 0;
m_inspectedWebPage = 0;
}
-#endif
}
diff --git a/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.h b/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.h
index 16b2a3c6a..043ff1743 100644
--- a/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.h
@@ -31,14 +31,12 @@
#define InspectorClientQt_h
#include "InspectorClient.h"
-#include "InspectorFrontendChannel.h"
+#include <inspector/InspectorFrontendChannel.h>
#include "InspectorFrontendClientLocal.h"
#include <QObject>
#include <QString>
#include <wtf/Forward.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
class QWebPageAdapter;
class QWebPage;
@@ -49,30 +47,32 @@ class InspectorFrontendClientQt;
class InspectorServerRequestHandlerQt;
class Page;
-class InspectorClientQt : public InspectorClient, public InspectorFrontendChannel {
+class InspectorClientQt : public InspectorClient, public Inspector::FrontendChannel {
public:
explicit InspectorClientQt(QWebPageAdapter*);
- virtual void inspectorDestroyed();
+ void inspectedPageDestroyed() override;
- virtual WebCore::InspectorFrontendChannel* openInspectorFrontend(WebCore::InspectorController*);
- virtual void closeInspectorFrontend();
- virtual void bringFrontendToFront();
+ Inspector::FrontendChannel* openLocalFrontend(InspectorController*) override;
+ void bringFrontendToFront() override;
- virtual void highlight();
- virtual void hideHighlight();
+ void highlight() override;
+ void hideHighlight() override;
- virtual bool sendMessageToFrontend(const String&);
+ ConnectionType connectionType() const override;
+ bool sendMessageToFrontend(const String&) override;
void releaseFrontendPage();
void attachAndReplaceRemoteFrontend(InspectorServerRequestHandlerQt *channel);
void detachRemoteFrontend();
+ void closeFrontendWindow();
+
private:
QWebPageAdapter* m_inspectedWebPage;
QWebPageAdapter* m_frontendWebPage;
- InspectorFrontendClientQt* m_frontendClient;
+ std::unique_ptr<InspectorFrontendClientQt> m_frontendClient;
bool m_remoteInspector;
InspectorServerRequestHandlerQt* m_remoteFrontEndChannel;
@@ -81,24 +81,24 @@ private:
class InspectorFrontendClientQt : public InspectorFrontendClientLocal {
public:
- InspectorFrontendClientQt(QWebPageAdapter* inspectedWebPage, PassOwnPtr<QObject> inspectorView, WebCore::Page* inspectorPage, InspectorClientQt*);
- virtual ~InspectorFrontendClientQt();
+ InspectorFrontendClientQt(QWebPageAdapter* inspectedWebPage, InspectorController* inspectedPageController,
+ std::unique_ptr<QObject> inspectorView, WebCore::Page* inspectorPage, InspectorClientQt*);
+ ~InspectorFrontendClientQt() override;
- virtual void frontendLoaded();
+ void frontendLoaded() override;
- virtual String localizedStringsURL();
+ String localizedStringsURL() override;
- virtual void bringToFront();
- virtual void closeWindow();
+ void bringToFront() override;
+ void closeWindow() override;
- virtual void attachWindow(DockSide);
- virtual void detachWindow();
+ void attachWindow(DockSide) override;
+ void detachWindow() override;
- virtual void setAttachedWindowHeight(unsigned);
- virtual void setAttachedWindowWidth(unsigned);
- virtual void setToolbarHeight(unsigned) OVERRIDE;
+ void setAttachedWindowHeight(unsigned) override;
+ void setAttachedWindowWidth(unsigned) override;
- virtual void inspectedURLChanged(const String& newURL);
+ void inspectedURLChanged(const String& newURL) override;
void inspectorClientDestroyed();
@@ -106,7 +106,7 @@ private:
void updateWindowTitle();
void destroyInspectorView(bool notifyInspectorController);
QWebPageAdapter* m_inspectedWebPage;
- OwnPtr<QObject> m_inspectorView;
+ std::unique_ptr<QObject> m_inspectorView;
QString m_inspectedURL;
bool m_destroyingInspectorView;
InspectorClientQt* m_inspectorClient;
diff --git a/Source/WebKit/qt/WebCoreSupport/InspectorServerQt.cpp b/Source/WebKit/qt/WebCoreSupport/InspectorServerQt.cpp
index 4f7685c98..45df842a5 100644
--- a/Source/WebKit/qt/WebCoreSupport/InspectorServerQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/InspectorServerQt.cpp
@@ -45,7 +45,7 @@ namespace WebCore {
static QByteArray generateWebSocketChallengeResponse(const QByteArray& key)
{
SHA1 sha1;
- Vector<uint8_t, 20> digest;
+ SHA1::Digest digest;
Vector<char> encoded;
QByteArray toHash("258EAFA5-E914-47DA-95CA-C5AB0DC85B11");
toHash.prepend(key);
@@ -225,7 +225,7 @@ void InspectorServerRequestHandlerQt::tcpReadyRead()
QString indexHtml = QLatin1String("<html><head><title>Remote Web Inspector</title></head><body><ul>\n");
for (QMap<int, InspectorClientQt* >::const_iterator it = m_server->m_inspectorClients.begin(); it != m_server->m_inspectorClients.end(); ++it) {
- indexHtml.append(QString::fromLatin1("<li><a href=\"/webkit/inspector/inspector.html?page=%1\">%2</li>\n")
+ indexHtml.append(QString::fromLatin1("<li><a href=\"/webkit/inspector/UserInterface/Main.html?page=%1\">%2</li>\n")
.arg(it.key())
.arg(QUrl(it.value()->m_inspectedWebPage->mainFrameAdapter()->url).toString()));
}
@@ -282,7 +282,7 @@ int InspectorServerRequestHandlerQt::webSocketSend(const char* data, size_t leng
m_tcpConnection->putChar(0x81);
if (length <= 125)
m_tcpConnection->putChar(static_cast<uint8_t>(length));
- else if (length <= (1<<16)) {
+ else if (length <= pow(2, 16)) {
m_tcpConnection->putChar(126);
quint16 length16 = qToBigEndian<quint16>(static_cast<quint16>(length));
m_tcpConnection->write(reinterpret_cast<char*>(&length16), 2);
@@ -352,13 +352,10 @@ void InspectorServerRequestHandlerQt::webSocketReadyRead()
// Truncate data before delivering message in case of re-entrancy.
m_data = m_data.mid(pos + payloadLen);
-#if ENABLE(INSPECTOR)
if (m_inspectorClient) {
- InspectorController* inspectorController = m_inspectorClient->m_inspectedWebPage->page->inspectorController();
- inspectorController->dispatchMessageFromFrontend(QString::fromUtf8(payload));
+ InspectorController& inspectorController = m_inspectorClient->m_inspectedWebPage->page->inspectorController();
+ inspectorController.dispatchMessageFromFrontend(QString::fromUtf8(payload));
}
-#endif
-
}
}
diff --git a/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
index 600a87132..354c1ac16 100644
--- a/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
@@ -35,13 +35,14 @@
#include "Document.h"
#include "Event.h"
#include "EventNames.h"
-#include "KURL.h"
+#include "MainFrame.h"
#include "Page.h"
#include "QWebFrameAdapter.h"
#include "QWebPageAdapter.h"
#include "QtPlatformPlugin.h"
#include "ScriptExecutionContext.h"
#include "SecurityOrigin.h"
+#include "URL.h"
#include "UserGestureIndicator.h"
#include "qwebkitglobal.h"
@@ -67,22 +68,22 @@ NotificationPresenterClientQt* NotificationPresenterClientQt::notificationPresen
#endif
NotificationWrapper::NotificationWrapper()
- : m_closeTimer(this, &NotificationWrapper::close)
- , m_displayEventTimer(this, &NotificationWrapper::sendDisplayEvent)
+ : m_closeTimer(*this, &NotificationWrapper::close)
+ , m_displayEventTimer(*this, &NotificationWrapper::sendDisplayEvent)
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
m_presenter = nullptr;
#endif
}
-void NotificationWrapper::close(Timer<NotificationWrapper>*)
+void NotificationWrapper::close()
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
NotificationPresenterClientQt::notificationPresenter()->cancel(this);
#endif
}
-void NotificationWrapper::sendDisplayEvent(Timer<NotificationWrapper>*)
+void NotificationWrapper::sendDisplayEvent()
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
NotificationPresenterClientQt::notificationPresenter()->sendDisplayEvent(this);
@@ -126,7 +127,7 @@ const QUrl NotificationWrapper::openerPageUrl() const
Notification* notification = NotificationPresenterClientQt::notificationPresenter()->notificationForWrapper(this);
if (notification) {
if (notification->scriptExecutionContext())
- url = static_cast<Document*>(notification->scriptExecutionContext())->page()->mainFrame()->document()->url();
+ url = static_cast<Document*>(notification->scriptExecutionContext())->page()->mainFrame().document()->url();
}
#endif
return url;
@@ -350,6 +351,11 @@ void NotificationPresenterClientQt::requestPermission(ScriptExecutionContext* co
}
#endif
+bool NotificationPresenterClientQt::hasPendingPermissionRequests(ScriptExecutionContext* context) const
+{
+ return m_pendingPermissionRequests.contains(context);
+}
+
NotificationClient::Permission NotificationPresenterClientQt::checkPermission(ScriptExecutionContext* context)
{
return m_cachedPermissions.value(context, NotificationClient::PermissionNotAllowed);
@@ -483,7 +489,7 @@ QWebPageAdapter* NotificationPresenterClientQt::toPage(ScriptExecutionContext* c
Document* document = static_cast<Document*>(context);
Page* page = document->page();
- if (!page || !page->mainFrame())
+ if (!page)
return 0;
return QWebPageAdapter::kit(page);
diff --git a/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h b/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h
index f083ed089..41db3c64f 100644
--- a/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h
@@ -57,8 +57,7 @@ public:
~NotificationWrapper() { }
void close();
- void close(Timer<NotificationWrapper>*);
- void sendDisplayEvent(Timer<NotificationWrapper>*);
+ void sendDisplayEvent();
const QString title() const;
const QString message() const;
const QUrl iconUrl() const;
@@ -69,9 +68,9 @@ public Q_SLOTS:
void notificationClicked();
private:
- OwnPtr<QWebNotificationPresenter> m_presenter;
- Timer<NotificationWrapper> m_closeTimer;
- Timer<NotificationWrapper> m_displayEventTimer;
+ std::unique_ptr<QWebNotificationPresenter> m_presenter;
+ Timer m_closeTimer;
+ Timer m_displayEventTimer;
friend class NotificationPresenterClientQt;
};
@@ -80,24 +79,25 @@ private:
typedef QHash <Notification*, NotificationWrapper*> NotificationsQueue;
-class NotificationPresenterClientQt : public NotificationClient {
+class NotificationPresenterClientQt final : public NotificationClient {
public:
NotificationPresenterClientQt();
~NotificationPresenterClientQt();
/* WebCore::NotificationClient interface */
- virtual bool show(Notification*);
- virtual void cancel(Notification*);
- virtual void notificationObjectDestroyed(Notification*);
- virtual void notificationControllerDestroyed();
+ bool show(Notification*) override;
+ void cancel(Notification*) override;
+ void notificationObjectDestroyed(Notification*) override;
+ void notificationControllerDestroyed() override;
#if ENABLE(LEGACY_NOTIFICATIONS)
- virtual void requestPermission(ScriptExecutionContext*, PassRefPtr<VoidCallback>);
+ void requestPermission(ScriptExecutionContext*, PassRefPtr<VoidCallback>) override;
#endif
#if ENABLE(NOTIFICATIONS)
- virtual void requestPermission(ScriptExecutionContext*, PassRefPtr<NotificationPermissionCallback>);
+ void requestPermission(ScriptExecutionContext*, PassRefPtr<NotificationPermissionCallback>) override;
#endif
- virtual NotificationClient::Permission checkPermission(ScriptExecutionContext*);
- virtual void cancelRequestsForPermission(ScriptExecutionContext*);
+ bool hasPendingPermissionRequests(ScriptExecutionContext*) const override;
+ NotificationClient::Permission checkPermission(ScriptExecutionContext*) override;
+ void cancelRequestsForPermission(ScriptExecutionContext*) override;
void cancel(NotificationWrapper*);
diff --git a/Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp b/Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp
index 7fcf3de45..321044ad3 100644
--- a/Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp
@@ -35,7 +35,9 @@
#include "QWebPageAdapter.h"
#include "qwebhistoryinterface.h"
#include "qwebpluginfactory.h"
+#include "WebResourceLoadScheduler.h"
+#include <BlobRegistryImpl.h>
#include <IntSize.h>
#include <NotImplemented.h>
#include <Page.h>
@@ -45,12 +47,13 @@
#include <QCoreApplication>
#include <QLocale>
#include <wtf/MathExtras.h>
+#include <wtf/NeverDestroyed.h>
using namespace WebCore;
void PlatformStrategiesQt::initialize()
{
- DEFINE_STATIC_LOCAL(PlatformStrategiesQt, platformStrategies, ());
+ static NeverDestroyed<PlatformStrategiesQt> platformStrategies;
Q_UNUSED(platformStrategies);
}
@@ -65,14 +68,9 @@ CookiesStrategy* PlatformStrategiesQt::createCookiesStrategy()
return this;
}
-DatabaseStrategy* PlatformStrategiesQt::createDatabaseStrategy()
-{
- return this;
-}
-
LoaderStrategy* PlatformStrategiesQt::createLoaderStrategy()
{
- return this;
+ return new WebResourceLoadScheduler;
}
PasteboardStrategy* PlatformStrategiesQt::createPasteboardStrategy()
@@ -85,47 +83,32 @@ PluginStrategy* PlatformStrategiesQt::createPluginStrategy()
return this;
}
-SharedWorkerStrategy* PlatformStrategiesQt::createSharedWorkerStrategy()
-{
- return this;
-}
-
-StorageStrategy* PlatformStrategiesQt::createStorageStrategy()
-{
- return this;
-}
-
-VisitedLinkStrategy* PlatformStrategiesQt::createVisitedLinkStrategy()
-{
- return this;
-}
-
-String PlatformStrategiesQt::cookiesForDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
+String PlatformStrategiesQt::cookiesForDOM(const NetworkStorageSession& session, const URL& firstParty, const URL& url)
{
return WebCore::cookiesForDOM(session, firstParty, url);
}
-void PlatformStrategiesQt::setCookiesFromDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, const String& cookieString)
+void PlatformStrategiesQt::setCookiesFromDOM(const NetworkStorageSession& session, const URL& firstParty, const URL& url, const String& cookieString)
{
WebCore::setCookiesFromDOM(session, firstParty, url, cookieString);
}
-bool PlatformStrategiesQt::cookiesEnabled(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
+bool PlatformStrategiesQt::cookiesEnabled(const NetworkStorageSession& session, const URL& firstParty, const URL& url)
{
return WebCore::cookiesEnabled(session, firstParty, url);
}
-String PlatformStrategiesQt::cookieRequestHeaderFieldValue(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
+String PlatformStrategiesQt::cookieRequestHeaderFieldValue(const NetworkStorageSession& session, const URL& firstParty, const URL& url)
{
return WebCore::cookieRequestHeaderFieldValue(session, firstParty, url);
}
-bool PlatformStrategiesQt::getRawCookies(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, Vector<Cookie>& rawCookies)
+bool PlatformStrategiesQt::getRawCookies(const NetworkStorageSession& session, const URL& firstParty, const URL& url, Vector<Cookie>& rawCookies)
{
return WebCore::getRawCookies(session, firstParty, url, rawCookies);
}
-void PlatformStrategiesQt::deleteCookie(const NetworkStorageSession& session, const KURL& url, const String& cookieName)
+void PlatformStrategiesQt::deleteCookie(const NetworkStorageSession& session, const URL& url, const String& cookieName)
{
WebCore::deleteCookie(session, url, cookieName);
}
@@ -138,8 +121,8 @@ void PlatformStrategiesQt::refreshPlugins()
void PlatformStrategiesQt::getPluginInfo(const WebCore::Page* page, Vector<WebCore::PluginInfo>& outPlugins)
{
QWebPageAdapter* qPage = 0;
- if (!page->chrome().client()->isEmptyChromeClient())
- qPage = static_cast<ChromeClientQt*>(page->chrome().client())->m_webPage;
+ if (!page->chrome().client().isEmptyChromeClient())
+ qPage = static_cast<ChromeClientQt&>(page->chrome().client()).m_webPage;
QWebPluginFactory* factory;
if (qPage && (factory = qPage->pluginFactory)) {
@@ -169,7 +152,7 @@ void PlatformStrategiesQt::getPluginInfo(const WebCore::Page* page, Vector<WebCo
PluginDatabase* db = PluginDatabase::installedPlugins();
const Vector<PluginPackage*> &plugins = db->plugins();
- for (size_t i = 0; i < plugins.size(); ++i) {
+ for (int i = 0; i < plugins.size(); ++i) {
PluginInfo info;
PluginPackage* package = plugins[i];
@@ -194,25 +177,12 @@ void PlatformStrategiesQt::getPluginInfo(const WebCore::Page* page, Vector<WebCo
}
-// VisitedLinkStrategy
-
-bool PlatformStrategiesQt::isLinkVisited(Page* page, LinkHash hash, const KURL& baseURL, const AtomicString& attributeURL)
+void PlatformStrategiesQt::getWebVisiblePluginInfo(const Page* page, Vector<PluginInfo>& outPlugins)
{
- ASSERT(hash);
-
- // If the Qt4.4 interface for the history is used, we will have to fallback
- // to the old global history.
- QWebHistoryInterface* iface = QWebHistoryInterface::defaultInterface();
- if (iface) {
- Vector<UChar, 512> url;
- visitedURL(baseURL, attributeURL, url);
- return iface->historyContains(QString(reinterpret_cast<QChar*>(url.data()), url.size()));
- }
-
- return page->group().isLinkVisited(hash);
+ getPluginInfo(page, outPlugins);
}
-void PlatformStrategiesQt::addVisitedLink(Page* page, LinkHash hash)
+BlobRegistry* PlatformStrategiesQt::createBlobRegistry()
{
- page->group().addVisitedLinkHash(hash);
+ return new BlobRegistryImpl;
}
diff --git a/Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.h b/Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.h
index daab2592e..f841627db 100644
--- a/Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.h
@@ -29,19 +29,16 @@
#define PlatformStrategiesQt_h
#include <CookiesStrategy.h>
-#include <DatabaseStrategy.h>
#include <LoaderStrategy.h>
#include <PlatformStrategies.h>
#include <PluginStrategy.h>
-#include <SharedWorkerStrategy.h>
-#include <StorageStrategy.h>
-#include <VisitedLinkStrategy.h>
namespace WebCore {
class PasteboardStrategy;
}
-class PlatformStrategiesQt : public WebCore::PlatformStrategies, private WebCore::CookiesStrategy, private WebCore::DatabaseStrategy, private WebCore::LoaderStrategy, private WebCore::PluginStrategy, private WebCore::SharedWorkerStrategy, private WebCore::StorageStrategy, private WebCore::VisitedLinkStrategy {
+class PlatformStrategiesQt : public WebCore::PlatformStrategies, private WebCore::CookiesStrategy, private WebCore::PluginStrategy {
+ friend class WTF::NeverDestroyed<PlatformStrategiesQt>;
public:
static void initialize();
@@ -49,33 +46,26 @@ private:
PlatformStrategiesQt();
// WebCore::PlatformStrategies
- virtual WebCore::CookiesStrategy* createCookiesStrategy();
- virtual WebCore::DatabaseStrategy* createDatabaseStrategy();
- virtual WebCore::LoaderStrategy* createLoaderStrategy();
- virtual WebCore::PasteboardStrategy* createPasteboardStrategy();
- virtual WebCore::PluginStrategy* createPluginStrategy();
- virtual WebCore::SharedWorkerStrategy* createSharedWorkerStrategy();
- virtual WebCore::StorageStrategy* createStorageStrategy();
- virtual WebCore::VisitedLinkStrategy* createVisitedLinkStrategy();
+ WebCore::CookiesStrategy* createCookiesStrategy() override;
+ WebCore::LoaderStrategy* createLoaderStrategy() override;
+ WebCore::PasteboardStrategy* createPasteboardStrategy() override;
+ WebCore::PluginStrategy* createPluginStrategy() override;
// WebCore::CookiesStrategy
- virtual String cookiesForDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual void setCookiesFromDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, const String&);
- virtual bool cookiesEnabled(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual String cookieRequestHeaderFieldValue(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual bool getRawCookies(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, Vector<WebCore::Cookie>&);
- virtual void deleteCookie(const WebCore::NetworkStorageSession&, const WebCore::KURL&, const String&);
-
- // WebCore::DatabaseStrategy
- // - Using default implementation.
+ String cookiesForDOM(const WebCore::NetworkStorageSession&, const WebCore::URL& firstParty, const WebCore::URL&) override;
+ void setCookiesFromDOM(const WebCore::NetworkStorageSession&, const WebCore::URL& firstParty, const WebCore::URL&, const String&) override;
+ bool cookiesEnabled(const WebCore::NetworkStorageSession&, const WebCore::URL& firstParty, const WebCore::URL&) override;
+ String cookieRequestHeaderFieldValue(const WebCore::NetworkStorageSession&, const WebCore::URL& firstParty, const WebCore::URL&) override;
+ bool getRawCookies(const WebCore::NetworkStorageSession&, const WebCore::URL& firstParty, const WebCore::URL&, Vector<WebCore::Cookie>&) override;
+ void deleteCookie(const WebCore::NetworkStorageSession&, const WebCore::URL&, const String&) override;
// WebCore::PluginStrategy
- virtual void refreshPlugins();
- virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&);
+ void refreshPlugins() override;
+ void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&) override;
+ void getWebVisiblePluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&) override;
- // WebCore::VisitedLinkStrategy
- virtual bool isLinkVisited(WebCore::Page*, WebCore::LinkHash, const WebCore::KURL& baseURL, const WTF::AtomicString& attributeURL);
- virtual void addVisitedLink(WebCore::Page*, WebCore::LinkHash);
+ // PlatformStrategies interface
+ WebCore::BlobRegistry* createBlobRegistry() override;
};
#endif // PlatformStrategiesQt_h
diff --git a/Source/WebKit/qt/WebCoreSupport/PopupMenuQt.cpp b/Source/WebKit/qt/WebCoreSupport/PopupMenuQt.cpp
index 72d083f34..71a9849f9 100644
--- a/Source/WebKit/qt/WebCoreSupport/PopupMenuQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/PopupMenuQt.cpp
@@ -35,17 +35,17 @@ class SelectData : public QWebSelectData {
public:
SelectData(WebCore::PopupMenuClient*& data) : d(data) { }
- virtual ItemType itemType(int) const;
- virtual QString itemText(int idx) const { return QString(d ? d->itemText(idx) : ""); }
- virtual QString itemToolTip(int idx) const { return QString(d ? d->itemToolTip(idx) : ""); }
- virtual bool itemIsEnabled(int idx) const { return d ? d->itemIsEnabled(idx) : false; }
- virtual int itemCount() const { return d ? d->listSize() : 0; }
- virtual bool itemIsSelected(int idx) const { return d ? d->itemIsSelected(idx) : false; }
- virtual bool multiple() const;
- virtual QColor backgroundColor() const { return d ? QColor(d->menuStyle().backgroundColor()) : QColor(); }
- virtual QColor foregroundColor() const { return d ? QColor(d->menuStyle().foregroundColor()) : QColor(); }
- virtual QColor itemBackgroundColor(int idx) const { return d ? QColor(d->itemStyle(idx).backgroundColor()) : QColor(); }
- virtual QColor itemForegroundColor(int idx) const { return d ? QColor(d->itemStyle(idx).foregroundColor()) : QColor(); }
+ ItemType itemType(int) const override;
+ QString itemText(int idx) const override { return QString(d ? d->itemText(idx) : ""); }
+ QString itemToolTip(int idx) const override { return QString(d ? d->itemToolTip(idx) : ""); }
+ bool itemIsEnabled(int idx) const override { return d ? d->itemIsEnabled(idx) : false; }
+ int itemCount() const override { return d ? d->listSize() : 0; }
+ bool itemIsSelected(int idx) const override { return d ? d->itemIsSelected(idx) : false; }
+ bool multiple() const override;
+ QColor backgroundColor() const override { return d ? QColor(d->menuStyle().backgroundColor()) : QColor(); }
+ QColor foregroundColor() const override { return d ? QColor(d->menuStyle().foregroundColor()) : QColor(); }
+ QColor itemBackgroundColor(int idx) const override { return d ? QColor(d->itemStyle(idx).backgroundColor()) : QColor(); }
+ QColor itemForegroundColor(int idx) const override { return d ? QColor(d->itemStyle(idx).foregroundColor()) : QColor(); }
private:
WebCore::PopupMenuClient*& d;
@@ -104,7 +104,7 @@ void PopupMenuQt::show(const IntRect& rect, FrameView* view, int index)
m_popup->setGeometry(geometry);
m_popup->setFont(m_popupClient->menuStyle().font().syntheticFont());
- m_selectData = adoptPtr(new SelectData(m_popupClient));
+ m_selectData = std::make_unique<SelectData>(m_popupClient);
m_popup->show(*m_selectData.get());
}
diff --git a/Source/WebKit/qt/WebCoreSupport/PopupMenuQt.h b/Source/WebKit/qt/WebCoreSupport/PopupMenuQt.h
index 657651080..a676fdd13 100644
--- a/Source/WebKit/qt/WebCoreSupport/PopupMenuQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/PopupMenuQt.h
@@ -22,8 +22,6 @@
#include "PopupMenu.h"
#include <QObject>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
class QWebSelectData;
class QWebSelectMethod;
@@ -51,8 +49,8 @@ private Q_SLOTS:
private:
PopupMenuClient* m_popupClient;
- OwnPtr<QWebSelectMethod> m_popup;
- OwnPtr<QWebSelectData> m_selectData;
+ std::unique_ptr<QWebSelectMethod> m_popup;
+ std::unique_ptr<QWebSelectData> m_selectData;
const ChromeClientQt* m_chromeClient;
};
diff --git a/Source/WebKit/qt/WebCoreSupport/ProgressTrackerClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/ProgressTrackerClientQt.cpp
new file mode 100644
index 000000000..73e4366a3
--- /dev/null
+++ b/Source/WebKit/qt/WebCoreSupport/ProgressTrackerClientQt.cpp
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2016 Konstantin Tokarev <annulen@yandex.ru>
+ *
+ * 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 INC. 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 INC. 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 "ProgressTrackerClientQt.h"
+
+#include "EventHandler.h"
+#include "Frame.h"
+#include "ProgressTracker.h"
+#include "QWebFrameAdapter.h"
+#include "QWebPageAdapter.h"
+#include "WebEventConversion.h"
+
+namespace WebCore {
+
+bool ProgressTrackerClientQt::dumpProgressFinishedCallback = false;
+
+ProgressTrackerClientQt::ProgressTrackerClientQt(QWebPageAdapter* webPageAdapter)
+ : m_webPage(webPageAdapter)
+{
+ connect(this, SIGNAL(loadProgress(int)),
+ m_webPage->handle(), SIGNAL(loadProgress(int)));
+}
+
+void ProgressTrackerClientQt::progressTrackerDestroyed()
+{
+ delete this;
+}
+
+void ProgressTrackerClientQt::progressStarted(Frame& originatingProgressFrame)
+{
+ QWebFrameAdapter* frame = QWebFrameAdapter::kit(&originatingProgressFrame);
+ ASSERT(m_webPage == frame->pageAdapter);
+
+ static_cast<FrameLoaderClientQt&>(originatingProgressFrame.loader().client()).originatingLoadStarted();
+
+ if (!originatingProgressFrame.tree().parent())
+ m_webPage->updateNavigationActions();
+}
+
+void ProgressTrackerClientQt::progressEstimateChanged(Frame& originatingProgressFrame)
+{
+ ASSERT(m_webPage == QWebFrameAdapter::kit(&originatingProgressFrame)->pageAdapter);
+ emit loadProgress(qRound(originatingProgressFrame.page()->progress().estimatedProgress() * 100));
+}
+
+void ProgressTrackerClientQt::progressFinished(Frame& originatingProgressFrame)
+{
+ if (dumpProgressFinishedCallback)
+ printf("postProgressFinishedNotification\n");
+
+ QWebFrameAdapter* frame = QWebFrameAdapter::kit(&originatingProgressFrame);
+ ASSERT(m_webPage == frame->pageAdapter);
+
+ // Send a mousemove event to:
+ // (1) update the cursor to change according to whatever is underneath the mouse cursor right now;
+ // (2) display the tool tip if the mouse hovers a node which has a tool tip.
+ QPoint localPos;
+ if (frame->handleProgressFinished(&localPos)) {
+ QMouseEvent event(QEvent::MouseMove, localPos, Qt::NoButton, Qt::NoButton, Qt::NoModifier);
+ originatingProgressFrame.eventHandler().mouseMoved(convertMouseEvent(&event, 0));
+ }
+}
+
+}
diff --git a/Source/WebKit/mac/WebCoreSupport/WebKitFullScreenListener.h b/Source/WebKit/qt/WebCoreSupport/ProgressTrackerClientQt.h
index b990ab4e2..a9a700243 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebKitFullScreenListener.h
+++ b/Source/WebKit/qt/WebCoreSupport/ProgressTrackerClientQt.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
+ * Copyright (C) 2016 Konstantin Tokarev <annulen@yandex.ru>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,25 +23,33 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebKitFullScreenListener_h
-#define WebKitFullScreenListener_h
+#pragma once
-#import "WebUIDelegatePrivate.h"
-#import <wtf/RefPtr.h>
+#include "ProgressTrackerClient.h"
-#if ENABLE(FULLSCREEN_API)
+#include <QObject>
+
+class QWebPageAdapter;
namespace WebCore {
-class Element;
-}
-@interface WebKitFullScreenListener : NSObject <WebKitFullScreenListener> {
- RefPtr<WebCore::Element> _element;
-}
+class ProgressTrackerClientQt final : public QObject, public ProgressTrackerClient {
+ Q_OBJECT
+public:
+ ProgressTrackerClientQt(QWebPageAdapter*);
+ void progressTrackerDestroyed() override;
-- (id)initWithElement:(WebCore::Element*)element;
-@end
+ void progressStarted(Frame& originatingProgressFrame) override;
+ void progressEstimateChanged(Frame& originatingProgressFrame) override;
+ void progressFinished(Frame& originatingProgressFrame) override;
-#endif
+ static bool dumpProgressFinishedCallback;
-#endif // WebFullScreenListener_h
+Q_SIGNALS:
+ void loadProgress(int d);
+
+private:
+ QWebPageAdapter* m_webPage;
+};
+
+}
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
index ac232805f..245e56bc9 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.cpp
@@ -27,16 +27,16 @@
#include "DocumentLoader.h"
#include "EventHandler.h"
#include "FocusController.h"
-#include "Frame.h"
#include "FrameLoadRequest.h"
#include "FrameLoaderClientQt.h"
#include "FrameView.h"
+#include "HTMLCollection.h"
#include "HTMLMetaElement.h"
#include "HTTPParsers.h"
#include "HitTestResult.h"
#include "InspectorController.h"
#include "JSDOMWindowBase.h"
-#include "KURL.h"
+#include "MainFrame.h"
#include "NavigationScheduler.h"
#include "NetworkingContext.h"
#include "NodeList.h"
@@ -48,23 +48,26 @@
#include "ScriptValue.h"
#include "SubstituteData.h"
#include "TextureMapperLayerClientQt.h"
+#if USE(TILED_BACKING_STORE)
#include "TiledBackingStore.h"
-#if ENABLE(GESTURE_EVENTS)
-#include "PlatformGestureEvent.h"
-#include "WebEventConversion.h"
#endif
+#include "URL.h"
#include "htmlediting.h"
#include "markup.h"
#include "qt_runtime.h"
#include "qwebsecurityorigin.h"
#include "qwebsecurityorigin_p.h"
#include "qwebsettings.h"
-
#include <IntRect.h>
#include <IntSize.h>
#include <QFileInfo>
#include <QNetworkRequest>
+#if ENABLE(GESTURE_EVENTS)
+#include "PlatformGestureEvent.h"
+#include "WebEventConversion.h"
+#endif
+
using namespace WebCore;
static inline ResourceRequestCachePolicy cacheLoadControlToCachePolicy(uint cacheLoadControl)
@@ -90,13 +93,19 @@ QWebFrameData::QWebFrameData(WebCore::Page* parentPage, WebCore::Frame* parentFr
, marginWidth(0)
, marginHeight(0)
{
- frameLoaderClient = new FrameLoaderClientQt();
- frame = Frame::create(page, ownerElement, frameLoaderClient);
+ // mainframe is already created in WebCore::Page, just use it.
+ if (!parentFrame || !ownerElement) {
+ frame = &parentPage->mainFrame();
+ frameLoaderClient = static_cast<FrameLoaderClientQt*>(&frame->loader().client());
+ } else {
+ frameLoaderClient = new FrameLoaderClientQt();
+ frame = Frame::create(page, ownerElement, frameLoaderClient);
+ }
// FIXME: All of the below should probably be moved over into WebCore
- frame->tree()->setName(name);
+ frame->tree().setName(name);
if (parentFrame)
- parentFrame->tree()->appendChild(frame);
+ parentFrame->tree().appendChild(frame);
}
QWebFrameAdapter::QWebFrameAdapter()
@@ -119,7 +128,7 @@ QWebFrameAdapter::~QWebFrameAdapter()
void QWebFrameAdapter::load(const QNetworkRequest& req, QNetworkAccessManager::Operation operation, const QByteArray& body)
{
- if (frame->tree()->parent())
+ if (frame->tree().parent())
pageAdapter->insideOpenCall = true;
QUrl url = ensureAbsoluteUrl(req.url());
@@ -167,9 +176,9 @@ void QWebFrameAdapter::load(const QNetworkRequest& req, QNetworkAccessManager::O
if (!body.isEmpty())
request.setHTTPBody(WebCore::FormData::create(body.constData(), body.size()));
- frame->loader()->load(WebCore::FrameLoadRequest(frame, request));
+ frame->loader().load(WebCore::FrameLoadRequest(frame, request, ShouldOpenExternalURLsPolicy::ShouldNotAllow /*FIXME*/));
- if (frame->tree()->parent())
+ if (frame->tree().parent())
pageAdapter->insideOpenCall = false;
}
@@ -184,10 +193,10 @@ void QWebFrameAdapter::handleGestureEvent(QGestureEventFacade* gestureEvent)
ASSERT(frame && frame->view());
switch (gestureEvent->type) {
case Qt::TapGesture:
- frame->eventHandler()->handleGestureEvent(convertGesture(gestureEvent));
+ frame->eventHandler().handleGestureEvent(convertGesture(gestureEvent));
break;
case Qt::TapAndHoldGesture:
- frame->eventHandler()->sendContextMenuEventForGesture(convertGesture(gestureEvent));
+ frame->eventHandler().sendContextMenuEventForGesture(convertGesture(gestureEvent));
break;
default:
ASSERT_NOT_REACHED();
@@ -197,18 +206,16 @@ void QWebFrameAdapter::handleGestureEvent(QGestureEventFacade* gestureEvent)
QVariant QWebFrameAdapter::evaluateJavaScript(const QString &scriptSource)
{
- ScriptController* scriptController = frame->script();
+ ScriptController& scriptController = frame->script();
QVariant rc;
- if (scriptController) {
- int distance = 0;
- ScriptValue value = scriptController->executeScript(ScriptSourceCode(scriptSource));
- JSC::ExecState* exec = scriptController->globalObject(mainThreadNormalWorld())->globalExec();
- JSValueRef* ignoredException = 0;
- exec->vm().apiLock().lock();
- JSValueRef valueRef = toRef(exec, value.jsValue());
- exec->vm().apiLock().unlock();
- rc = JSC::Bindings::convertValueToQVariant(toRef(exec), valueRef, QMetaType::Void, &distance, ignoredException);
- }
+ int distance = 0;
+ Deprecated::ScriptValue value = scriptController.executeScript(ScriptSourceCode(scriptSource));
+ JSC::ExecState* exec = scriptController.globalObject(mainThreadNormalWorld())->globalExec();
+ JSValueRef* ignoredException = 0;
+ exec->vm().apiLock().lock();
+ JSValueRef valueRef = toRef(exec, value.jsValue());
+ exec->vm().apiLock().unlock();
+ rc = JSC::Bindings::convertValueToQVariant(toRef(exec), valueRef, QMetaType::Void, &distance, ignoredException);
return rc;
}
@@ -220,9 +227,9 @@ void QWebFrameAdapter::addToJavaScriptWindowObject(const QString& name, QObject*
JSDOMWindow* window = toJSDOMWindow(frame, mainThreadNormalWorld());
JSC::Bindings::RootObject* root;
if (valueOwnership == JSC::Bindings::QtInstance::QtOwnership)
- root = frame->script()->cacheableBindingRootObject();
+ root = frame->script().cacheableBindingRootObject();
else
- root = frame->script()->bindingRootObject();
+ root = frame->script().bindingRootObject();
if (!window) {
qDebug() << "Warning: couldn't get window object";
@@ -238,15 +245,15 @@ void QWebFrameAdapter::addToJavaScriptWindowObject(const QString& name, QObject*
JSC::JSObject* runtimeObject = JSC::Bindings::QtInstance::getQtInstance(object, root, valueOwnership)->createRuntimeObject(exec);
- JSC::PutPropertySlot slot;
- window->methodTable()->put(window, exec, JSC::Identifier(&exec->vm(), reinterpret_cast_ptr<const UChar*>(name.constData()), name.length()), runtimeObject, slot);
+ JSC::PutPropertySlot slot(window);
+ window->methodTable()->put(window, exec, JSC::Identifier::fromString(&exec->vm(), reinterpret_cast_ptr<const UChar*>(name.constData()), name.length()), runtimeObject, slot);
}
QString QWebFrameAdapter::toHtml() const
{
if (!frame->document())
return QString();
- return createMarkup(frame->document());
+ return createMarkup(*frame->document());
}
QString QWebFrameAdapter::toPlainText() const
@@ -262,7 +269,7 @@ QString QWebFrameAdapter::toPlainText() const
void QWebFrameAdapter::setContent(const QByteArray &data, const QString &mimeType, const QUrl &baseUrl)
{
- KURL kurl(baseUrl);
+ URL kurl(baseUrl);
WebCore::ResourceRequest request(kurl);
WTF::RefPtr<WebCore::SharedBuffer> buffer = WebCore::SharedBuffer::create(data.constData(), data.length());
QString actualMimeType;
@@ -273,18 +280,22 @@ void QWebFrameAdapter::setContent(const QByteArray &data, const QString &mimeTyp
actualMimeType = extractMIMETypeFromMediaType(mimeType);
encoding = extractCharsetFromMediaType(mimeType);
}
- WebCore::SubstituteData substituteData(buffer, WTF::String(actualMimeType), encoding, KURL());
- frame->loader()->load(WebCore::FrameLoadRequest(frame, request, substituteData));
+ WebCore::ResourceResponse response(URL(), WTF::String(actualMimeType), buffer->size(), encoding);
+ // FIXME: visibility?
+ WebCore::SubstituteData substituteData(buffer, URL(), response, SubstituteData::SessionHistoryVisibility::Hidden);
+ frame->loader().load(WebCore::FrameLoadRequest(frame, request, ShouldOpenExternalURLsPolicy::ShouldNotAllow /*FIXME*/, substituteData));
}
void QWebFrameAdapter::setHtml(const QString &html, const QUrl &baseUrl)
{
- KURL kurl(baseUrl);
+ URL kurl(baseUrl);
WebCore::ResourceRequest request(kurl);
const QByteArray utf8 = html.toUtf8();
WTF::RefPtr<WebCore::SharedBuffer> data = WebCore::SharedBuffer::create(utf8.constData(), utf8.length());
- WebCore::SubstituteData substituteData(data, WTF::String("text/html"), WTF::String("utf-8"), KURL());
- frame->loader()->load(WebCore::FrameLoadRequest(frame, request, substituteData));
+ WebCore::ResourceResponse response(URL(), ASCIILiteral("text/html"), data->size(), ASCIILiteral("utf-8"));
+ // FIXME: visibility?
+ WebCore::SubstituteData substituteData(data, URL(), response, SubstituteData::SessionHistoryVisibility::Hidden);
+ frame->loader().load(WebCore::FrameLoadRequest(frame, request, ShouldOpenExternalURLsPolicy::ShouldNotAllow /*FIXME*/, substituteData));
}
QMultiMap<QString, QString> QWebFrameAdapter::metaData() const
@@ -294,7 +305,7 @@ QMultiMap<QString, QString> QWebFrameAdapter::metaData() const
QMultiMap<QString, QString> map;
Document* doc = frame->document();
- RefPtr<NodeList> list = doc->getElementsByTagName("meta");
+ auto list = doc->getElementsByTagName("meta");
unsigned len = list->length();
for (unsigned i = 0; i < len; i++) {
HTMLMetaElement* meta = static_cast<HTMLMetaElement*>(list->item(i));
@@ -307,8 +318,8 @@ QPoint QWebFrameAdapter::scrollPosition() const
{
if (!frame || !frame->view())
return QPoint();
- IntSize ofs = frame->view()->scrollOffset();
- return QPoint(ofs.width(), ofs.height());
+ return QPoint(frame->view()->scrollOffset(HorizontalScrollbar),
+ frame->view()->scrollOffset(VerticalScrollbar));
}
QRect QWebFrameAdapter::frameRect() const
@@ -366,14 +377,14 @@ void QWebFrameAdapter::init(QWebPageAdapter* pageAdapter, QWebFrameData* frameDa
QWebFrameAdapter* QWebFrameAdapter::kit(const Frame* frame)
{
- return static_cast<FrameLoaderClientQt*>(frame->loader()->client())->webFrame();
+ return static_cast<FrameLoaderClientQt&>(frame->loader().client()).webFrame();
}
QUrl QWebFrameAdapter::ensureAbsoluteUrl(const QUrl& url)
{
// FIXME: it would be nice if we could avoid doing this.
- // Convert to KURL and back to preserve the old behavior (e.g. fixup of single slash in 'http:/')
- QUrl validatedUrl = KURL(url);
+ // Convert to URL and back to preserve the old behavior (e.g. fixup of single slash in 'http:/')
+ QUrl validatedUrl = URL(url);
if (!validatedUrl.isValid() || !validatedUrl.isRelative())
return validatedUrl;
@@ -394,7 +405,7 @@ QWebHitTestResultPrivate* QWebFrameAdapter::hitTestContent(const QPoint& pos) co
if (!frame->view() || !frame->contentRenderer())
return 0;
- HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(pos), HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::IgnoreClipping | HitTestRequest::DisallowShadowContent);
+ HitTestResult result = frame->eventHandler().hitTestResultAtPoint(frame->view()->windowToContents(pos), HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::IgnoreClipping | HitTestRequest::DisallowShadowContent);
if (result.scrollbar())
return 0;
@@ -412,16 +423,16 @@ QWebElement QWebFrameAdapter::documentElement() const
QString QWebFrameAdapter::title() const
{
if (frame->document())
- return frame->loader()->documentLoader()->title().string();
+ return frame->loader().documentLoader()->title().string();
return QString();
}
void QWebFrameAdapter::clearCoreFrame()
{
- DocumentLoader* documentLoader = frame->loader()->activeDocumentLoader();
+ DocumentLoader* documentLoader = frame->loader().activeDocumentLoader();
Q_ASSERT(documentLoader);
- documentLoader->writer()->begin();
- documentLoader->writer()->end();
+ documentLoader->writer().begin();
+ documentLoader->writer().end();
}
@@ -437,16 +448,15 @@ QUrl QWebFrameAdapter::baseUrl() const
return frame->document()->baseURL();
}
-#if USE(ACCELERATED_COMPOSITING)
-void QWebFrameAdapter::renderCompositedLayers(WebCore::GraphicsContext* context, const WebCore::IntRect& clip)
+void QWebFrameAdapter::renderCompositedLayers(WebCore::GraphicsContext& context, const WebCore::IntRect& clip)
{
WebCore::Page* page = frame->page();
if (!page)
return;
- if (TextureMapperLayerClientQt* client = static_cast<ChromeClientQt*>(page->chrome().client())->m_textureMapperLayerClient.get())
+ if (TextureMapperLayerClientQt* client = static_cast<ChromeClientQt&>(page->chrome().client()).m_textureMapperLayerClient.get())
client->renderCompositedLayers(context, clip);
}
-#endif
+
// FIXME: this might not be necessary, but for the sake of not breaking things, we'll use that for now.
QUrl QWebFrameAdapter::coreFrameUrl() const
{
@@ -466,7 +476,7 @@ QWebSecurityOrigin QWebFrameAdapter::securityOrigin() const
QString QWebFrameAdapter::uniqueName() const
{
- return frame->tree()->uniqueName();
+ return frame->tree().uniqueName();
}
// This code is copied from ChromeClientGtk.cpp.
@@ -534,29 +544,26 @@ void QWebFrameAdapter::renderRelativeCoords(QPainter* painter, int layers, const
rect.translate(scrollX, scrollY);
context.clip(view->visibleContentRect());
- view->paintContents(&context, rect);
+ view->paintContents(context, rect);
context.restore();
}
-#if USE(ACCELERATED_COMPOSITING)
- renderCompositedLayers(&context, IntRect(clipBoundingRect));
-#endif
+ renderCompositedLayers(context, IntRect(clipBoundingRect));
}
- renderFrameExtras(&context, layers, clip);
-#if ENABLE(INSPECTOR)
- if (frame->page()->inspectorController()->highlightedNode()) {
+ renderFrameExtras(context, layers, clip);
+
+ if (frame->page()->inspectorController().highlightedNode()) {
context.save();
- frame->page()->inspectorController()->drawHighlight(context);
+ frame->page()->inspectorController().drawHighlight(context);
context.restore();
}
-#endif
}
-void QWebFrameAdapter::renderFrameExtras(WebCore::GraphicsContext* context, int layers, const QRegion& clip)
+void QWebFrameAdapter::renderFrameExtras(GraphicsContext& context, int layers, const QRegion& clip)
{
if (!(layers & (PanIconLayer | ScrollBarLayer)))
return;
- QPainter* painter = context->platformContext();
+ QPainter* painter = context.platformContext();
WebCore::FrameView* view = frame->view();
QVector<QRect> vector = clip.rects();
for (int i = 0; i < vector.size(); ++i) {
@@ -575,10 +582,10 @@ void QWebFrameAdapter::renderFrameExtras(WebCore::GraphicsContext* context, int
&& (view->horizontalScrollbar() || view->verticalScrollbar())) {
QRect rect = intersectedRect;
- context->translate(x, y);
+ context.translate(x, y);
rect.translate(-x, -y);
view->paintScrollbars(context, rect);
- context->translate(-x, -y);
+ context.translate(-x, -y);
}
#if ENABLE(PAN_SCROLLING)
@@ -653,10 +660,8 @@ bool QWebFrameAdapter::renderFromTiledBackingStore(QPainter* painter, const QReg
context.restore();
}
-#if USE(ACCELERATED_COMPOSITING)
renderCompositedLayers(&context, IntRect(clip.boundingRect()));
renderFrameExtras(&context, QWebFrameAdapter::ScrollBarLayer | QWebFrameAdapter::PanIconLayer, clip);
-#endif
return true;
}
#endif
@@ -693,10 +698,9 @@ QList<QObject*> QWebFrameAdapter::childFrames() const
{
QList<QObject*> originatingObjects;
if (frame) {
- FrameTree* tree = frame->tree();
- for (Frame* child = tree->firstChild(); child; child = child->tree()->nextSibling()) {
- FrameLoader* loader = child->loader();
- originatingObjects.append(loader->networkingContext()->originatingObject());
+ for (Frame* child = frame->tree().firstChild(); child; child = child->tree().nextSibling()) {
+ FrameLoader& loader = child->loader();
+ originatingObjects.append(loader.networkingContext()->originatingObject());
}
}
return originatingObjects;
@@ -704,13 +708,13 @@ QList<QObject*> QWebFrameAdapter::childFrames() const
bool QWebFrameAdapter::hasFocus() const
{
- Frame* ff = frame->page()->focusController()->focusedFrame();
+ Frame* ff = frame->page()->focusController().focusedFrame();
return ff && QWebFrameAdapter::kit(ff) == this;
}
void QWebFrameAdapter::setFocus()
{
- frame->page()->focusController()->setFocusedFrame(frame);
+ frame->page()->focusController().setFocusedFrame(frame);
}
void QWebFrameAdapter::setScrollBarPolicy(Qt::Orientation orientation, Qt::ScrollBarPolicy policy)
@@ -757,7 +761,7 @@ void QWebFrameAdapter::setScrollBarValue(Qt::Orientation orientation, int value)
value = 0;
else if (value > scrollBarMaximum(orientation))
value = scrollBarMaximum(orientation);
- sb->scrollableArea()->scrollToOffsetWithoutAnimation(orientation == Qt::Horizontal ? HorizontalScrollbar : VerticalScrollbar, value);
+ sb->scrollableArea().scrollToOffsetWithoutAnimation(orientation == Qt::Horizontal ? HorizontalScrollbar : VerticalScrollbar, value);
}
}
@@ -811,7 +815,7 @@ void QWebFrameAdapter::updateBackgroundRecursively(const QColor& backgroundColor
void QWebFrameAdapter::cancelLoad()
{
- frame->navigationScheduler()->cancel();
+ frame->navigationScheduler().cancel();
}
// ========== QWebHitTestResultPrivate implementation ===========
@@ -927,7 +931,7 @@ QWebElement QWebHitTestResultPrivate::elementForInnerNode() const
// Uses the similar logic as HitTestResult::innerElement().
for (Node* node = innerNonSharedNode; node; node = node->parentNode()) {
if (node->isElementNode())
- return QWebElement(toElement(node));
+ return QWebElement(downcast<Element>(node));
}
return QWebElement();
@@ -975,9 +979,6 @@ void QWebFrameAdapter::setViewportSize(const QSize& size)
ASSERT(view);
view->resize(size);
view->adjustViewSize();
-
- if (view->needsLayout())
- view->layout();
}
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h
index 8327b8d81..daaebe118 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h
+++ b/Source/WebKit/qt/WebCoreSupport/QWebFrameAdapter.h
@@ -23,7 +23,6 @@
#include "FrameLoaderClientQt.h"
#include "PlatformEvent.h"
#include "PlatformExportMacros.h"
-
#if ENABLE(ORIENTATION_EVENTS) && HAVE(QTSENSORS)
#include "qorientationsensor.h"
#endif // ENABLE(ORIENTATION_EVENTS).
@@ -31,6 +30,8 @@
#include <QList>
#include <QNetworkAccessManager>
+#include <QPixmap>
+#include <QPointer>
#include <QRect>
#include <QSize>
#include <QUrl>
@@ -42,6 +43,7 @@ namespace WebCore {
class Frame;
class GraphicsContext;
class IntRect;
+class Scrollbar;
class TextureMapperLayer;
}
@@ -56,7 +58,7 @@ class QWebFrame;
class QWebPageAdapter;
class QWebSecurityOrigin;
-class WEBKIT_EXPORTDATA QWebHitTestResultPrivate {
+class QWEBKIT_EXPORT QWebHitTestResultPrivate {
public:
QWebHitTestResultPrivate()
: isContentEditable(false)
@@ -113,7 +115,7 @@ public:
int marginHeight;
};
-class WEBKIT_EXPORTDATA QWebFrameAdapter {
+class QWEBKIT_EXPORT QWebFrameAdapter {
public:
enum ValueOwnership {
QtOwnership,
@@ -177,10 +179,8 @@ public:
QString uniqueName() const;
void renderRelativeCoords(QPainter*, int layers, const QRegion& clip);
- void renderFrameExtras(WebCore::GraphicsContext*, int layers, const QRegion& clip);
-#if USE(ACCELERATED_COMPOSITING)
- void renderCompositedLayers(WebCore::GraphicsContext*, const WebCore::IntRect& clip);
-#endif
+ void renderFrameExtras(WebCore::GraphicsContext&, int layers, const QRegion& clip);
+ void renderCompositedLayers(WebCore::GraphicsContext&, const WebCore::IntRect& clip);
#if USE(TILED_BACKING_STORE)
void setTiledBackingStoreFrozen(bool);
bool tiledBackingStoreFrozen() const;
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
index 554ab8927..b9164ad12 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.cpp
@@ -21,6 +21,7 @@
#include "config.h"
#include "QWebPageAdapter.h"
+#include "BackForwardController.h"
#include "CSSComputedStyleDeclaration.h"
#include "CSSParser.h"
#include "Chrome.h"
@@ -29,21 +30,10 @@
#include "ContextMenu.h"
#include "ContextMenuClientQt.h"
#include "ContextMenuController.h"
-#if ENABLE(DEVICE_ORIENTATION)
-#include "DeviceMotionClientMock.h"
-#include "DeviceMotionController.h"
-#include "DeviceOrientationClientMock.h"
-#include "DeviceOrientationController.h"
-#if HAVE(QTSENSORS)
-#include "DeviceMotionClientQt.h"
-#include "DeviceOrientationClientQt.h"
-#endif
-#endif
#include "DocumentLoader.h"
#include "DragClientQt.h"
#include "DragController.h"
#include "DragData.h"
-#include "DragSession.h"
#include "Editor.h"
#include "EditorClientQt.h"
#include "EventHandler.h"
@@ -51,13 +41,6 @@
#include "FrameLoadRequest.h"
#include "FrameSelection.h"
#include "FrameView.h"
-#if ENABLE(GEOLOCATION)
-#include "GeolocationClientMock.h"
-#include "GeolocationController.h"
-#if HAVE(QTPOSITIONING)
-#include "GeolocationClientQt.h"
-#endif
-#endif
#include "GeolocationPermissionClientQt.h"
#include "HTMLFrameOwnerElement.h"
#include "HTMLInputElement.h"
@@ -69,10 +52,12 @@
#include "InspectorServerQt.h"
#include "LocalizedStrings.h"
#include "MIMETypeRegistry.h"
+#include "MainFrame.h"
#include "MemoryCache.h"
#include "NetworkingContext.h"
#include "NodeList.h"
#include "NotificationPresenterClientQt.h"
+#include "PageConfiguration.h"
#include "PageGroup.h"
#include "Pasteboard.h"
#include "PlatformKeyboardEvent.h"
@@ -82,17 +67,23 @@
#include "PluginDatabase.h"
#include "PluginPackage.h"
#include "ProgressTracker.h"
+#include "ProgressTrackerClientQt.h"
#include "QWebFrameAdapter.h"
#include "RenderTextControl.h"
#include "SchemeRegistry.h"
#include "Scrollbar.h"
#include "ScrollbarTheme.h"
#include "Settings.h"
+#include "TextIterator.h"
#include "UndoStepQt.h"
#include "UserAgentQt.h"
+#include "UserContentController.h"
#include "UserGestureIndicator.h"
+#include "VisitedLinkStoreQt.h"
+#include "WebDatabaseProvider.h"
#include "WebEventConversion.h"
#include "WebKitVersion.h"
+#include "WebStorageNamespaceProvider.h"
#include "WindowFeatures.h"
#include "qwebhistory_p.h"
#include "qwebpluginfactory.h"
@@ -108,6 +99,25 @@
#include <QTouchEvent>
#include <QWheelEvent>
+#if ENABLE(DEVICE_ORIENTATION)
+#include "DeviceMotionClientMock.h"
+#include "DeviceMotionController.h"
+#include "DeviceOrientationClientMock.h"
+#include "DeviceOrientationController.h"
+#if HAVE(QTSENSORS)
+#include "DeviceMotionClientQt.h"
+#include "DeviceOrientationClientQt.h"
+#endif
+#endif
+
+#if ENABLE(GEOLOCATION)
+#include "GeolocationClientMock.h"
+#include "GeolocationController.h"
+#if HAVE(QTPOSITIONING)
+#include "GeolocationClientQt.h"
+#endif
+#endif
+
// from text/qfont.cpp
QT_BEGIN_NAMESPACE
extern Q_GUI_EXPORT int qt_defaultDpi();
@@ -151,30 +161,11 @@ static inline Qt::DropAction dragOpToDropAction(unsigned actions)
return result;
}
-static inline WebCore::PageVisibilityState webPageVisibilityStateToWebCoreVisibilityState(QWebPageAdapter::VisibilityState state)
-{
- switch (state) {
- case QWebPageAdapter::VisibilityStatePrerender:
- return WebCore::PageVisibilityStatePrerender;
- case QWebPageAdapter::VisibilityStateUnloaded:
- return WebCore::PageVisibilityStateUnloaded;
- case QWebPageAdapter::VisibilityStateVisible:
- return WebCore::PageVisibilityStateVisible;
- case QWebPageAdapter::VisibilityStateHidden:
- return WebCore::PageVisibilityStateHidden;
- default:
- ASSERT(false);
- return WebCore::PageVisibilityStateHidden;
- }
-}
-
static inline QWebPageAdapter::VisibilityState webCoreVisibilityStateToWebPageVisibilityState(WebCore::PageVisibilityState state)
{
switch (state) {
case WebCore::PageVisibilityStatePrerender:
return QWebPageAdapter::VisibilityStatePrerender;
- case WebCore::PageVisibilityStateUnloaded:
- return QWebPageAdapter::VisibilityStateUnloaded;
case WebCore::PageVisibilityStateVisible:
return QWebPageAdapter::VisibilityStateVisible;
case WebCore::PageVisibilityStateHidden:
@@ -188,7 +179,15 @@ static inline QWebPageAdapter::VisibilityState webCoreVisibilityStateToWebPageVi
static WebCore::FrameLoadRequest frameLoadRequest(const QUrl &url, WebCore::Frame *frame)
{
return WebCore::FrameLoadRequest(frame->document()->securityOrigin(),
- WebCore::ResourceRequest(url, frame->loader()->outgoingReferrer()));
+ WebCore::ResourceRequest(url, frame->loader().outgoingReferrer()),
+ LockHistory::No,
+ LockBackForwardList::No,
+ MaybeSendReferrer,
+ // FIXME: Are these arguments right for all call sites?
+ AllowNavigationToInvalidURL::Yes,
+ NewFrameOpenerPolicy::Allow,
+ ShouldOpenExternalURLsPolicy::ShouldAllow
+ );
}
static void openNewWindow(const QUrl& url, Frame* frame)
@@ -198,12 +197,15 @@ static void openNewWindow(const QUrl& url, Frame* frame)
NavigationAction action;
FrameLoadRequest request = frameLoadRequest(url, frame);
if (Page* newPage = oldPage->chrome().createWindow(frame, request, features, action)) {
- newPage->mainFrame()->loader()->loadFrameRequest(request, false, false, 0, 0, MaybeSendReferrer);
+ newPage->mainFrame().loader().loadFrameRequest(request, /*event*/ 0, /*FormState*/ 0);
newPage->chrome().show();
}
}
}
+// FIXME: Find a better place
+Ref<UserContentController> s_userContentProvider = UserContentController::create();
+
QWebPageAdapter::QWebPageAdapter()
: settings(0)
, page(0)
@@ -227,13 +229,20 @@ void QWebPageAdapter::initializeWebCorePage()
#if ENABLE(GEOLOCATION) || ENABLE(DEVICE_ORIENTATION)
const bool useMock = QWebPageAdapter::drtRun;
#endif
- Page::PageClients pageClients;
- pageClients.chromeClient = new ChromeClientQt(this);
- pageClients.contextMenuClient = new ContextMenuClientQt();
- pageClients.editorClient = new EditorClientQt(this);
- pageClients.dragClient = new DragClientQt(pageClients.chromeClient);
- pageClients.inspectorClient = new InspectorClientQt(this);
- page = new Page(pageClients);
+ PageConfiguration pageConfiguration;
+ pageConfiguration.chromeClient = new ChromeClientQt(this);
+ pageConfiguration.contextMenuClient = new ContextMenuClientQt();
+ pageConfiguration.editorClient = new EditorClientQt(this);
+ pageConfiguration.dragClient = new DragClientQt(pageConfiguration.chromeClient);
+ pageConfiguration.inspectorClient = new InspectorClientQt(this);
+ pageConfiguration.loaderClientForMainFrame = new FrameLoaderClientQt();
+ pageConfiguration.progressTrackerClient = new ProgressTrackerClientQt(this);
+ pageConfiguration.databaseProvider = &WebDatabaseProvider::singleton();
+ pageConfiguration.storageNamespaceProvider = WebStorageNamespaceProvider::create(
+ QWebSettings::globalSettings()->localStoragePath());
+ pageConfiguration.userContentController = &s_userContentProvider.get();
+ pageConfiguration.visitedLinkStore = &VisitedLinkStoreQt::singleton();
+ page = new Page(pageConfiguration);
#if ENABLE(GEOLOCATION)
if (useMock) {
@@ -274,15 +283,13 @@ void QWebPageAdapter::initializeWebCorePage()
page->addLayoutMilestones(DidFirstVisuallyNonEmptyLayout);
- settings = new QWebSettings(page->settings(), page->group().groupSettings());
+ settings = new QWebSettings(&page->settings());
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
WebCore::provideNotification(page, NotificationPresenterClientQt::notificationPresenter());
#endif
- history.d = new QWebHistoryPrivate(static_cast<WebCore::BackForwardListImpl*>(page->backForwardList()));
-
- PageGroup::setShouldTrackVisitedLinks(true);
+ history.d = new QWebHistoryPrivate(static_cast<WebCore::BackForwardList*>(page->backForward().client()));
}
QWebPageAdapter::~QWebPageAdapter()
@@ -302,16 +309,15 @@ QWebPageAdapter::~QWebPageAdapter()
void QWebPageAdapter::deletePage()
{
// Before we delete the page, detach the mainframe's loader
- FrameLoader* loader = mainFrameAdapter()->frame->loader();
- if (loader)
- loader->detachFromParent();
+ FrameLoader& loader = mainFrameAdapter()->frame->loader();
+ loader.detachFromParent();
delete page;
page = 0;
}
QWebPageAdapter* QWebPageAdapter::kit(Page* page)
{
- return static_cast<ChromeClientQt*>(page->chrome().client())->m_webPage;
+ return static_cast<ChromeClientQt&>(page->chrome().client()).m_webPage;
}
ViewportArguments QWebPageAdapter::viewportArguments() const
@@ -327,22 +333,16 @@ void QWebPageAdapter::registerUndoStep(WTF::PassRefPtr<WebCore::UndoStep> step)
void QWebPageAdapter::setVisibilityState(VisibilityState state)
{
-#if ENABLE(PAGE_VISIBILITY_API)
if (!page)
return;
- page->setVisibilityState(webPageVisibilityStateToWebCoreVisibilityState(state), false);
-#else
- Q_UNUSED(state);
-#endif
+ page->setIsVisible(state == VisibilityStateVisible);
+ if (state == VisibilityStatePrerender)
+ page->setIsPrerender();
}
QWebPageAdapter::VisibilityState QWebPageAdapter::visibilityState() const
{
-#if ENABLE(PAGE_VISIBILITY_API)
return webCoreVisibilityStateToWebPageVisibilityState(page->visibilityState());
-#else
- return QWebPageAdapter::VisibilityStateVisible;
-#endif
}
void QWebPageAdapter::setPluginsVisible(bool visible)
@@ -370,23 +370,21 @@ QNetworkAccessManager* QWebPageAdapter::networkAccessManager()
bool QWebPageAdapter::hasSelection() const
{
- Frame* frame = page->focusController()->focusedOrMainFrame();
- if (frame)
- return (frame->selection()->selection().selectionType() != VisibleSelection::NoSelection);
- return false;
+ Frame& frame = page->focusController().focusedOrMainFrame();
+ return frame.selection().selection().selectionType() != VisibleSelection::NoSelection;
}
QString QWebPageAdapter::selectedText() const
{
- Frame* frame = page->focusController()->focusedOrMainFrame();
- if (frame->selection()->selection().selectionType() == VisibleSelection::NoSelection)
+ Frame& frame = page->focusController().focusedOrMainFrame();
+ if (frame.selection().selection().selectionType() == VisibleSelection::NoSelection)
return QString();
- return frame->editor().selectedText();
+ return frame.editor().selectedText();
}
QString QWebPageAdapter::selectedHtml() const
{
- return page->focusController()->focusedOrMainFrame()->editor().selectedRange()->toHTML();
+ return page->focusController().focusedOrMainFrame().editor().selectedRange()->toHTML();
}
bool QWebPageAdapter::isContentEditable() const
@@ -439,11 +437,11 @@ bool QWebPageAdapter::findText(const QString& subString, FindFlag options)
}
if (subString.isEmpty()) {
- page->mainFrame()->selection()->clear();
- Frame* frame = page->mainFrame()->tree()->firstChild();
+ page->mainFrame().selection().clear();
+ Frame* frame = page->mainFrame().tree().firstChild();
while (frame) {
- frame->selection()->clear();
- frame = frame->tree()->traverseNextWithWrap(false);
+ frame->selection().clear();
+ frame = frame->tree().traverseNextWithWrap(false);
}
}
@@ -473,13 +471,10 @@ void QWebPageAdapter::adjustPointForClicking(QMouseEvent* ev)
if (view->scrollbarAtPoint(ev->pos()))
return;
- EventHandler* eventHandler = page->mainFrame()->eventHandler();
- ASSERT(eventHandler);
-
IntRect touchRect(ev->pos().x() - leftPadding, ev->pos().y() - topPadding, leftPadding + rightPadding, topPadding + bottomPadding);
IntPoint adjustedPoint;
Node* adjustedNode;
- bool foundClickableNode = eventHandler->bestClickableNodeForTouchPoint(touchRect.center(), touchRect.size(), adjustedPoint, adjustedNode);
+ bool foundClickableNode = page->mainFrame().eventHandler().bestClickableNodeForTouchPoint(touchRect.center(), touchRect.size(), adjustedPoint, adjustedNode);
if (!foundClickableNode)
return;
@@ -497,7 +492,7 @@ void QWebPageAdapter::mouseMoveEvent(QMouseEvent* ev)
if (ev->buttons() == Qt::NoButton)
mousePressed = false;
- bool accepted = frame->eventHandler()->mouseMoved(convertMouseEvent(ev, 0));
+ bool accepted = frame->eventHandler().mouseMoved(convertMouseEvent(ev, 0));
ev->setAccepted(accepted);
}
@@ -508,7 +503,7 @@ void QWebPageAdapter::mousePressEvent(QMouseEvent* ev)
return;
RefPtr<WebCore::Node> oldNode;
- Frame* focusedFrame = page->focusController()->focusedFrame();
+ Frame* focusedFrame = page->focusController().focusedFrame();
if (Document* focusedDocument = focusedFrame ? focusedFrame->document() : 0)
oldNode = focusedDocument->focusedElement();
@@ -522,11 +517,11 @@ void QWebPageAdapter::mousePressEvent(QMouseEvent* ev)
PlatformMouseEvent mev = convertMouseEvent(ev, 1);
// ignore the event if we can't map Qt's mouse buttons to WebCore::MouseButton
if (mev.button() != NoButton)
- mousePressed = accepted = frame->eventHandler()->handleMousePressEvent(mev);
+ mousePressed = accepted = frame->eventHandler().handleMousePressEvent(mev);
ev->setAccepted(accepted);
RefPtr<WebCore::Node> newNode;
- focusedFrame = page->focusController()->focusedFrame();
+ focusedFrame = page->focusController().focusedFrame();
if (Document* focusedDocument = focusedFrame ? focusedFrame->document() : 0)
newNode = focusedDocument->focusedElement();
@@ -544,7 +539,7 @@ void QWebPageAdapter::mouseDoubleClickEvent(QMouseEvent *ev)
PlatformMouseEvent mev = convertMouseEvent(ev, 2);
// ignore the event if we can't map Qt's mouse buttons to WebCore::MouseButton
if (mev.button() != NoButton)
- accepted = frame->eventHandler()->handleMousePressEvent(mev);
+ accepted = frame->eventHandler().handleMousePressEvent(mev);
ev->setAccepted(accepted);
tripleClickTimer.start(qGuiApp->styleHints()->mouseDoubleClickInterval(), handle());
@@ -561,7 +556,7 @@ void QWebPageAdapter::mouseTripleClickEvent(QMouseEvent *ev)
PlatformMouseEvent mev = convertMouseEvent(ev, 3);
// ignore the event if we can't map Qt's mouse buttons to WebCore::MouseButton
if (mev.button() != NoButton)
- accepted = frame->eventHandler()->handleMousePressEvent(mev);
+ accepted = frame->eventHandler().handleMousePressEvent(mev);
ev->setAccepted(accepted);
}
@@ -575,7 +570,7 @@ void QWebPageAdapter::mouseReleaseEvent(QMouseEvent *ev)
PlatformMouseEvent mev = convertMouseEvent(ev, 0);
// ignore the event if we can't map Qt's mouse buttons to WebCore::MouseButton
if (mev.button() != NoButton)
- accepted = frame->eventHandler()->handleMouseReleaseEvent(mev);
+ accepted = frame->eventHandler().handleMouseReleaseEvent(mev);
ev->setAccepted(accepted);
if (ev->buttons() == Qt::NoButton)
@@ -586,7 +581,7 @@ void QWebPageAdapter::mouseReleaseEvent(QMouseEvent *ev)
void QWebPageAdapter::handleSoftwareInputPanel(Qt::MouseButton button, const QPoint& pos)
{
- Frame* frame = page->focusController()->focusedFrame();
+ Frame* frame = page->focusController().focusedFrame();
if (!frame)
return;
@@ -594,7 +589,7 @@ void QWebPageAdapter::handleSoftwareInputPanel(Qt::MouseButton button, const QPo
&& frame->document()->focusedElement()
&& button == Qt::LeftButton && qGuiApp->property("autoSipEnabled").toBool()) {
if (!clickCausedFocus || requestSoftwareInputPanel()) {
- HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(pos));
+ HitTestResult result = frame->eventHandler().hitTestResultAtPoint(frame->view()->windowToContents(pos));
if (result.isContentEditable()) {
QEvent event(QEvent::RequestSoftwareInputPanel);
QGuiApplication::sendEvent(client->ownerWidget(), &event);
@@ -613,41 +608,43 @@ void QWebPageAdapter::wheelEvent(QWheelEvent *ev, int wheelScrollLines)
return;
PlatformWheelEvent pev = convertWheelEvent(ev, wheelScrollLines);
- bool accepted = frame->eventHandler()->handleWheelEvent(pev);
+ bool accepted = frame->eventHandler().handleWheelEvent(pev);
ev->setAccepted(accepted);
}
#endif // QT_NO_WHEELEVENT
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
Qt::DropAction QWebPageAdapter::dragEntered(const QMimeData *data, const QPoint &pos, Qt::DropActions possibleActions)
{
DragData dragData(data, pos, QCursor::pos(), dropActionToDragOp(possibleActions));
- return dragOpToDropAction(page->dragController()->dragEntered(&dragData).operation);
+ return dragOpToDropAction(page->dragController().dragEntered(dragData));
}
void QWebPageAdapter::dragLeaveEvent()
{
DragData dragData(0, IntPoint(), QCursor::pos(), DragOperationNone);
- page->dragController()->dragExited(&dragData);
+ page->dragController().dragExited(dragData);
}
Qt::DropAction QWebPageAdapter::dragUpdated(const QMimeData *data, const QPoint &pos, Qt::DropActions possibleActions)
{
DragData dragData(data, pos, QCursor::pos(), dropActionToDragOp(possibleActions));
- return dragOpToDropAction(page->dragController()->dragUpdated(&dragData).operation);
+ return dragOpToDropAction(page->dragController().dragUpdated(dragData));
}
bool QWebPageAdapter::performDrag(const QMimeData *data, const QPoint &pos, Qt::DropActions possibleActions)
{
DragData dragData(data, pos, QCursor::pos(), dropActionToDragOp(possibleActions));
- return page->dragController()->performDrag(&dragData);
+ return page->dragController().performDragOperation(dragData);
}
+#endif // ENABLE(DRAG_SUPPORT)
+
void QWebPageAdapter::inputMethodEvent(QInputMethodEvent *ev)
{
- WebCore::Frame *frame = page->focusController()->focusedOrMainFrame();
- WebCore::Editor &editor = frame->editor();
+ WebCore::Frame& frame = page->focusController().focusedOrMainFrame();
+ WebCore::Editor& editor = frame.editor();
if (!editor.canEdit()) {
ev->ignore();
@@ -655,8 +652,8 @@ void QWebPageAdapter::inputMethodEvent(QInputMethodEvent *ev)
}
Node* node = 0;
- if (frame->selection()->rootEditableElement())
- node = frame->selection()->rootEditableElement()->deprecatedShadowAncestorNode();
+ if (frame.selection().selection().rootEditableElement())
+ node = frame.selection().selection().rootEditableElement()->deprecatedShadowAncestorNode();
Vector<CompositionUnderline> underlines;
bool hasSelection = false;
@@ -671,12 +668,12 @@ void QWebPageAdapter::inputMethodEvent(QInputMethodEvent *ev)
break;
}
case QInputMethodEvent::Cursor: {
- frame->selection()->setCaretVisible(a.length); // if length is 0 cursor is invisible
+ frame.selection().setCaretVisible(a.length); // if length is 0 cursor is invisible
if (a.length > 0) {
- RenderObject* caretRenderer = frame->selection()->caretRenderer();
+ RenderObject* caretRenderer = frame.selection().caretRendererWithoutUpdatingLayout();
if (caretRenderer) {
QColor qcolor = a.value.value<QColor>();
- caretRenderer->style()->setColor(Color(makeRGBA(qcolor.red(), qcolor.green(), qcolor.blue(), qcolor.alpha())));
+ caretRenderer->style().setColor(Color(makeRGBA(qcolor.red(), qcolor.green(), qcolor.blue(), qcolor.alpha())));
}
}
break;
@@ -685,8 +682,8 @@ void QWebPageAdapter::inputMethodEvent(QInputMethodEvent *ev)
hasSelection = true;
// A selection in the inputMethodEvent is always reflected in the visible text
if (node) {
- if (isHTMLTextFormControlElement(node))
- toHTMLTextFormControlElement(node)->setSelectionRange(qMin(a.start, (a.start + a.length)), qMax(a.start, (a.start + a.length)));
+ if (is<HTMLTextFormControlElement>(node))
+ downcast<HTMLTextFormControlElement>(node)->setSelectionRange(qMin(a.start, (a.start + a.length)), qMax(a.start, (a.start + a.length)));
}
if (!ev->preeditString().isEmpty())
@@ -705,10 +702,10 @@ void QWebPageAdapter::inputMethodEvent(QInputMethodEvent *ev)
}
if (node && ev->replacementLength() > 0) {
- int cursorPos = frame->selection()->extent().offsetInContainerNode();
+ int cursorPos = frame.selection().selection().extent().offsetInContainerNode();
int start = cursorPos + ev->replacementStart();
- if (isHTMLTextFormControlElement(node))
- toHTMLTextFormControlElement(node)->setSelectionRange(start, start + ev->replacementLength());
+ if (is<HTMLTextFormControlElement>(node))
+ downcast<HTMLTextFormControlElement>(node)->setSelectionRange(start, start + ev->replacementLength());
// Commit regardless of whether commitString is empty, to get rid of selection.
editor.confirmComposition(ev->commitString());
} else if (!ev->commitString().isEmpty()) {
@@ -726,7 +723,7 @@ void QWebPageAdapter::inputMethodEvent(QInputMethodEvent *ev)
QVariant QWebPageAdapter::inputMethodQuery(Qt::InputMethodQuery property) const
{
- Frame* frame = page->focusController()->focusedFrame();
+ Frame* frame = page->focusController().focusedFrame();
if (!frame)
return QVariant();
@@ -735,11 +732,11 @@ QVariant QWebPageAdapter::inputMethodQuery(Qt::InputMethodQuery property) const
RenderObject* renderer = 0;
RenderTextControl* renderTextControl = 0;
- if (frame->selection()->rootEditableElement())
- renderer = frame->selection()->rootEditableElement()->deprecatedShadowAncestorNode()->renderer();
+ if (frame->selection().selection().rootEditableElement())
+ renderer = frame->selection().selection().rootEditableElement()->deprecatedShadowAncestorNode()->renderer();
if (renderer && renderer->isTextControl())
- renderTextControl = toRenderTextControl(renderer);
+ renderTextControl = downcast<RenderTextControl>(renderer);
switch (property) {
case Qt::ImMicroFocus: {
@@ -748,23 +745,23 @@ QVariant QWebPageAdapter::inputMethodQuery(Qt::InputMethodQuery property) const
// We can't access absoluteCaretBounds() while the view needs to layout.
return QVariant();
}
- return QVariant(view->contentsToWindow(frame->selection()->absoluteCaretBounds()));
+ return QVariant(view->contentsToWindow(frame->selection().absoluteCaretBounds()));
}
case Qt::ImFont: {
if (renderTextControl) {
- RenderStyle* renderStyle = renderTextControl->style();
- return QVariant(QFont(renderStyle->font().syntheticFont()));
+ RenderStyle& renderStyle = renderTextControl->style();
+ return QVariant(QFont(renderStyle.fontCascade().syntheticFont()));
}
return QVariant(QFont());
}
case Qt::ImCursorPosition: {
if (editor.hasComposition())
- return QVariant(frame->selection()->end().offsetInContainerNode());
- return QVariant(frame->selection()->extent().offsetInContainerNode());
+ return QVariant(frame->selection().selection().end().offsetInContainerNode());
+ return QVariant(frame->selection().selection().extent().offsetInContainerNode());
}
case Qt::ImSurroundingText: {
- if (renderTextControl && renderTextControl->textFormControlElement()) {
- QString text = renderTextControl->textFormControlElement()->value();
+ if (renderTextControl) {
+ QString text = renderTextControl->textFormControlElement().value();
RefPtr<Range> range = editor.compositionRange();
if (range)
text.remove(range->startPosition().offsetInContainerNode(), TextIterator::rangeLength(range.get()));
@@ -773,25 +770,25 @@ QVariant QWebPageAdapter::inputMethodQuery(Qt::InputMethodQuery property) const
return QVariant();
}
case Qt::ImCurrentSelection: {
- if (!editor.hasComposition() && renderTextControl && renderTextControl->textFormControlElement()) {
- int start = frame->selection()->start().offsetInContainerNode();
- int end = frame->selection()->end().offsetInContainerNode();
+ if (!editor.hasComposition() && renderTextControl) {
+ int start = frame->selection().selection().start().offsetInContainerNode();
+ int end = frame->selection().selection().end().offsetInContainerNode();
if (end > start)
- return QVariant(QString(renderTextControl->textFormControlElement()->value()).mid(start, end - start));
+ return QVariant(QString(renderTextControl->textFormControlElement().value()).mid(start, end - start));
}
return QVariant();
}
case Qt::ImAnchorPosition: {
if (editor.hasComposition())
- return QVariant(frame->selection()->start().offsetInContainerNode());
- return QVariant(frame->selection()->base().offsetInContainerNode());
+ return QVariant(frame->selection().selection().start().offsetInContainerNode());
+ return QVariant(frame->selection().selection().base().offsetInContainerNode());
}
case Qt::ImMaximumTextLength: {
- if (frame->selection()->isContentEditable()) {
+ if (frame->selection().selection().isContentEditable()) {
if (frame->document() && frame->document()->focusedElement()) {
- if (isHTMLInputElement(frame->document()->focusedElement())) {
- HTMLInputElement* inputElement = toHTMLInputElement(frame->document()->focusedElement());
+ if (is<HTMLInputElement>(frame->document()->focusedElement())) {
+ HTMLInputElement* inputElement = downcast<HTMLInputElement>(frame->document()->focusedElement());
return QVariant(inputElement->maxLength());
}
}
@@ -816,6 +813,11 @@ void QWebPageAdapter::dynamicPropertyChangeEvent(QObject* obj, QDynamicPropertyC
{
if (event->propertyName() == "_q_viewMode") {
page->setViewMode(Page::stringToViewMode(obj->property("_q_viewMode").toString()));
+// FIXME:
+// CustomHTMLTokenizerChunkSize -> private setting defaultParserChunkSize
+// CustomHTMLTokenizerTimeDelay -> Settings::maxParseDuration
+// RepaintThrottling -> "Nowadays we throttle layer flushes" (r162837)
+#if 0
} else if (event->propertyName() == "_q_HTMLTokenizerChunkSize") {
int chunkSize = obj->property("_q_HTMLTokenizerChunkSize").toInt();
page->setCustomHTMLTokenizerChunkSize(chunkSize);
@@ -853,24 +855,22 @@ void QWebPageAdapter::dynamicPropertyChangeEvent(QObject* obj, QDynamicPropertyC
break;
}
}
+#endif
} else if (event->propertyName() == "_q_webInspectorServerPort") {
-#if ENABLE(INSPECTOR)
QVariant port = obj->property("_q_webInspectorServerPort");
if (port.isValid()) {
InspectorServerQt* inspectorServer = InspectorServerQt::server();
inspectorServer->listen(port.toInt());
}
-#endif
} else if (event->propertyName() == "_q_deadDecodedDataDeletionInterval") {
double interval = obj->property("_q_deadDecodedDataDeletionInterval").toDouble();
- memoryCache()->setDeadDecodedDataDeletionInterval(interval);
+ MemoryCache::singleton().setDeadDecodedDataDeletionInterval(
+ std::chrono::milliseconds { static_cast<std::chrono::milliseconds::rep>(interval * 1000) });
} else if (event->propertyName() == "_q_useNativeVirtualKeyAsDOMKey") {
m_useNativeVirtualKeyAsDOMKey = obj->property("_q_useNativeVirtualKeyAsDOMKey").toBool();
}
}
-#endif // QT_NO_DRAGANDDROP
-
#define MAP_ACTION_FROM_VALUE(Name, Value) \
case Value: return QWebPageAdapter::Name
@@ -878,10 +878,8 @@ static QWebPageAdapter::MenuAction adapterActionForContextMenuAction(WebCore::Co
{
switch (action) {
FOR_EACH_MAPPED_MENU_ACTION(MAP_ACTION_FROM_VALUE, SEMICOLON_SEPARATOR);
-#if ENABLE(INSPECTOR)
case WebCore::ContextMenuItemTagInspectElement:
return QWebPageAdapter::InspectElement;
-#endif
default:
break;
}
@@ -904,7 +902,7 @@ QList<MenuItem> descriptionForPlatformMenu(const Vector<ContextMenuItem>& items,
description.type = MenuItem::Action;
description.action = action;
ContextMenuItem it(item);
- page->contextMenuController()->checkOrEnableIfNeeded(it);
+ page->contextMenuController().checkOrEnableIfNeeded(it);
if (it.enabled())
description.traits |= MenuItem::Enabled;
if (item.type() == WebCore::CheckableActionType) {
@@ -937,16 +935,14 @@ QList<MenuItem> descriptionForPlatformMenu(const Vector<ContextMenuItem>& items,
QWebHitTestResultPrivate* QWebPageAdapter::updatePositionDependentMenuActions(const QPoint& pos, QBitArray* visitedWebActions)
{
ASSERT(visitedWebActions);
- WebCore::Frame* focusedFrame = page->focusController()->focusedOrMainFrame();
- HitTestResult result = focusedFrame->eventHandler()->hitTestResultAtPoint(focusedFrame->view()->windowToContents(pos));
- page->contextMenuController()->setHitTestResult(result);
+ WebCore::Frame& focusedFrame = page->focusController().focusedOrMainFrame();
+ HitTestResult result = focusedFrame.eventHandler().hitTestResultAtPoint(focusedFrame.view()->windowToContents(pos));
+ page->contextMenuController().setHitTestResult(result);
-#if ENABLE(INSPECTOR)
- if (page->inspectorController()->enabled())
- page->contextMenuController()->addInspectElementItem();
-#endif
+ if (page->inspectorController().enabled())
+ page->contextMenuController().addInspectElementItem();
- WebCore::ContextMenu* webcoreMenu = page->contextMenuController()->contextMenu();
+ WebCore::ContextMenu* webcoreMenu = page->contextMenuController().contextMenu();
QList<MenuItem> itemDescriptions;
if (client && webcoreMenu)
itemDescriptions = descriptionForPlatformMenu(webcoreMenu->items(), page);
@@ -956,26 +952,17 @@ QWebHitTestResultPrivate* QWebPageAdapter::updatePositionDependentMenuActions(co
return new QWebHitTestResultPrivate(result);
}
-static void extractContentTypeFromHash(const HashSet<String>& types, QStringList* list)
+static void extractContentTypeFromHash(const HashSet<String, ASCIICaseInsensitiveHash>& types, QStringList& list)
{
- if (!list)
- return;
-
- HashSet<String>::const_iterator endIt = types.end();
- for (HashSet<String>::const_iterator it = types.begin(); it != endIt; ++it)
- *list << *it;
+ for (auto& type : types)
+ list << type;
}
-static void extractContentTypeFromPluginVector(const Vector<PluginPackage*>& plugins, QStringList* list)
+static void extractContentTypeFromPluginVector(const Vector<PluginPackage*>& plugins, QStringList& list)
{
- if (!list)
- return;
-
- for (unsigned i = 0; i < plugins.size(); ++i) {
- MIMEToDescriptionsMap::const_iterator it = plugins[i]->mimeToDescriptions().begin();
- MIMEToDescriptionsMap::const_iterator end = plugins[i]->mimeToDescriptions().end();
- for (; it != end; ++it)
- *list << it->key;
+ for (auto* plugin : plugins) {
+ for (auto& mimeToDescription : plugin->mimeToDescriptions().keys())
+ list << mimeToDescription;
}
}
@@ -983,10 +970,10 @@ QStringList QWebPageAdapter::supportedContentTypes() const
{
QStringList mimeTypes;
- extractContentTypeFromHash(MIMETypeRegistry::getSupportedImageMIMETypes(), &mimeTypes);
- extractContentTypeFromHash(MIMETypeRegistry::getSupportedNonImageMIMETypes(), &mimeTypes);
- if (page->settings() && page->settings()->arePluginsEnabled())
- extractContentTypeFromPluginVector(PluginDatabase::installedPlugins()->plugins(), &mimeTypes);
+ extractContentTypeFromHash(MIMETypeRegistry::getSupportedImageMIMETypes(), mimeTypes);
+ extractContentTypeFromHash(MIMETypeRegistry::getSupportedNonImageMIMETypes(), mimeTypes);
+ if (page->settings().arePluginsEnabled())
+ extractContentTypeFromPluginVector(PluginDatabase::installedPlugins()->plugins(), mimeTypes);
return mimeTypes;
}
@@ -995,14 +982,14 @@ void QWebPageAdapter::_q_cleanupLeakMessages()
{
#ifndef NDEBUG
// Need this to make leak messages accurate.
- memoryCache()->setCapacities(0, 0, 0);
+ MemoryCache::singleton().setCapacities(0, 0, 0);
#endif
}
void QWebPageAdapter::_q_onLoadProgressChanged(int)
{
- m_totalBytes = page->progress()->totalPageAndResourceBytesToLoad();
- m_bytesReceived = page->progress()->totalBytesReceived();
+ m_totalBytes = page->progress().totalPageAndResourceBytesToLoad();
+ m_bytesReceived = page->progress().totalBytesReceived();
}
bool QWebPageAdapter::supportsContentType(const QString& mimeType) const
@@ -1014,7 +1001,7 @@ bool QWebPageAdapter::supportsContentType(const QString& mimeType) const
if (MIMETypeRegistry::isSupportedNonImageMIMEType(type))
return true;
- if (page->settings() && page->settings()->arePluginsEnabled()
+ if (page->settings().arePluginsEnabled()
&& PluginDatabase::installedPlugins()->isMIMETypeRegistered(type))
return true;
@@ -1023,35 +1010,33 @@ bool QWebPageAdapter::supportsContentType(const QString& mimeType) const
void QWebPageAdapter::didShowInspector()
{
-#if ENABLE(INSPECTOR)
- page->inspectorController()->show();
-#endif
+ page->inspectorController().show();
}
void QWebPageAdapter::didCloseInspector()
{
-#if ENABLE(INSPECTOR)
- page->inspectorController()->close();
-#endif
+ InspectorClient* inspectorClient = page->inspectorController().inspectorClient();
+ if (inspectorClient)
+ static_cast<InspectorClientQt*>(inspectorClient)->closeFrontendWindow();
}
void QWebPageAdapter::updateActionInternal(QWebPageAdapter::MenuAction action, const char* commandName, bool* enabled, bool* checked)
{
- WebCore::FrameLoader* loader = mainFrameAdapter()->frame->loader();
- WebCore::Editor& editor = page->focusController()->focusedOrMainFrame()->editor();
+ WebCore::FrameLoader& loader = mainFrameAdapter()->frame->loader();
+ WebCore::Editor& editor = page->focusController().focusedOrMainFrame().editor();
switch (action) {
case QWebPageAdapter::Back:
- *enabled = page->canGoBackOrForward(-1);
+ *enabled = page->backForward().canGoBackOrForward(-1);
break;
case QWebPageAdapter::Forward:
- *enabled = page->canGoBackOrForward(1);
+ *enabled = page->backForward().canGoBackOrForward(1);
break;
case QWebPageAdapter::Stop:
- *enabled = loader->isLoading();
+ *enabled = loader.isLoading();
break;
case QWebPageAdapter::Reload:
- *enabled = !loader->isLoading();
+ *enabled = !loader.isLoading();
break;
case QWebPageAdapter::SetTextDirectionDefault:
case QWebPageAdapter::SetTextDirectionLeftToRight:
@@ -1078,24 +1063,22 @@ void QWebPageAdapter::updateActionInternal(QWebPageAdapter::MenuAction action, c
#if ENABLE(VIDEO)
static WebCore::HTMLMediaElement* mediaElement(WebCore::Node* innerNonSharedNode)
{
- if (!(innerNonSharedNode && innerNonSharedNode->document()))
+ if (!innerNonSharedNode)
return 0;
if (!(innerNonSharedNode->renderer() && innerNonSharedNode->renderer()->isMedia()))
return 0;
if (innerNonSharedNode->hasTagName(WebCore::HTMLNames::videoTag) || innerNonSharedNode->hasTagName(WebCore::HTMLNames::audioTag))
- return WebCore::toHTMLMediaElement(innerNonSharedNode);
+ return downcast<HTMLMediaElement>(innerNonSharedNode);
return 0;
}
#endif
void QWebPageAdapter::triggerAction(QWebPageAdapter::MenuAction action, QWebHitTestResultPrivate* hitTestResult, const char* commandName, bool endToEndReload)
{
- Frame* frame = page->focusController()->focusedOrMainFrame();
- if (!frame)
- return;
- Editor& editor = frame->editor();
+ Frame& frame = page->focusController().focusedOrMainFrame();
+ Editor& editor = frame.editor();
// Convenience
QWebHitTestResultPrivate hitTest;
@@ -1105,57 +1088,53 @@ void QWebPageAdapter::triggerAction(QWebPageAdapter::MenuAction action, QWebHitT
switch (action) {
case OpenLink:
if (Frame* targetFrame = hitTestResult->webCoreFrame) {
- targetFrame->loader()->loadFrameRequest(frameLoadRequest(hitTestResult->linkUrl, targetFrame), /*lockHistory*/ false, /*lockBackForwardList*/ false, /*event*/ 0, /*FormState*/ 0, MaybeSendReferrer);
+ targetFrame->loader().loadFrameRequest(frameLoadRequest(hitTestResult->linkUrl, targetFrame), /*event*/ 0, /*FormState*/ 0);
break;
}
// fall through
case OpenLinkInNewWindow:
- openNewWindow(hitTestResult->linkUrl, frame);
+ openNewWindow(hitTestResult->linkUrl, &frame);
break;
case OpenLinkInThisWindow:
- frame->loader()->loadFrameRequest(frameLoadRequest(hitTestResult->linkUrl, frame), /*lockHistory*/ false, /*lockBackForwardList*/ false, /*event*/ 0, /*FormState*/ 0, MaybeSendReferrer);
+ frame.loader().loadFrameRequest(frameLoadRequest(hitTestResult->linkUrl, &frame), /*event*/ 0, /*FormState*/ 0);
break;
case OpenFrameInNewWindow: {
- KURL url = frame->loader()->documentLoader()->unreachableURL();
+ URL url = frame.loader().documentLoader()->unreachableURL();
if (url.isEmpty())
- url = frame->loader()->documentLoader()->url();
- openNewWindow(url, frame);
+ url = frame.loader().documentLoader()->url();
+ openNewWindow(url, &frame);
break;
}
- case CopyLinkToClipboard: {
+ case CopyLinkToClipboard:
#if defined(Q_WS_X11)
- bool oldSelectionMode = Pasteboard::generalPasteboard()->isSelectionMode();
- Pasteboard::generalPasteboard()->setSelectionMode(true);
- editor.copyURL(hitTestResult->linkUrl, hitTestResult->linkText);
- Pasteboard::generalPasteboard()->setSelectionMode(oldSelectionMode);
+ editor.copyURL(hitTestResult->linkUrl, hitTestResult->linkText, *Pasteboard::createForGlobalSelection());
#endif
editor.copyURL(hitTestResult->linkUrl, hitTestResult->linkText);
break;
- }
case OpenImageInNewWindow:
- openNewWindow(hitTestResult->imageUrl, frame);
+ openNewWindow(hitTestResult->imageUrl, &frame);
break;
case DownloadImageToDisk:
- frame->loader()->client()->startDownload(WebCore::ResourceRequest(hitTestResult->imageUrl, frame->loader()->outgoingReferrer()));
+ frame.loader().client().startDownload(WebCore::ResourceRequest(hitTestResult->imageUrl, frame.loader().outgoingReferrer()));
break;
case DownloadLinkToDisk:
- frame->loader()->client()->startDownload(WebCore::ResourceRequest(hitTestResult->linkUrl, frame->loader()->outgoingReferrer()));
+ frame.loader().client().startDownload(WebCore::ResourceRequest(hitTestResult->linkUrl, frame.loader().outgoingReferrer()));
break;
case DownloadMediaToDisk:
- frame->loader()->client()->startDownload(WebCore::ResourceRequest(hitTestResult->mediaUrl, frame->loader()->outgoingReferrer()));
+ frame.loader().client().startDownload(WebCore::ResourceRequest(hitTestResult->mediaUrl, frame.loader().outgoingReferrer()));
break;
case Back:
- page->goBack();
+ page->backForward().goBack();
break;
case Forward:
- page->goForward();
+ page->backForward().goForward();
break;
case Stop:
- mainFrameAdapter()->frame->loader()->stopForUserCancel();
+ mainFrameAdapter()->frame->loader().stopForUserCancel();
updateNavigationActions();
break;
case Reload:
- mainFrameAdapter()->frame->loader()->reload(endToEndReload);
+ mainFrameAdapter()->frame->loader().reload(endToEndReload);
break;
case SetTextDirectionDefault:
@@ -1186,20 +1165,18 @@ void QWebPageAdapter::triggerAction(QWebPageAdapter::MenuAction action, QWebHitT
break;
case ToggleVideoFullscreen:
if (HTMLMediaElement* mediaElt = mediaElement(hitTestResult->innerNonSharedNode)) {
- if (mediaElt->isVideo() && mediaElt->supportsFullscreen()) {
+ if (mediaElt->isVideo() && mediaElt->supportsFullscreen(HTMLMediaElementEnums::VideoFullscreenModeStandard)) {
UserGestureIndicator indicator(DefinitelyProcessingUserGesture);
mediaElt->toggleFullscreenState();
}
}
break;
#endif
-#if ENABLE(INSPECTOR)
case InspectElement: {
ASSERT(hitTestResult != &hitTest);
- page->inspectorController()->inspect(hitTestResult->innerNonSharedNode);
+ page->inspectorController().inspect(hitTestResult->innerNonSharedNode);
break;
}
-#endif
default:
if (commandName)
editor.command(commandName).execute();
@@ -1289,10 +1266,8 @@ QString QWebPageAdapter::contextMenuItemTagForAction(QWebPageAdapter::MenuAction
case ToggleVideoFullscreen:
return contextMenuItemTagToggleVideoFullscreen();
-#if ENABLE(INSPECTOR)
case InspectElement:
return contextMenuItemTagInspectElement();
-#endif
default:
ASSERT_NOT_REACHED();
return QString();
@@ -1343,14 +1318,14 @@ bool QWebPageAdapter::treatSchemeAsLocal(const QString& scheme)
QObject* QWebPageAdapter::currentFrame() const
{
- Frame* frame = page->focusController()->focusedOrMainFrame();
- return frame->loader()->networkingContext()->originatingObject();
+ Frame& frame = page->focusController().focusedOrMainFrame();
+ return frame.loader().networkingContext()->originatingObject();
}
bool QWebPageAdapter::hasFocusedNode() const
{
bool hasFocus = false;
- Frame* frame = page->focusController()->focusedFrame();
+ Frame* frame = page->focusController().focusedFrame();
if (frame) {
Document* document = frame->document();
hasFocus = document && document->focusedElement();
@@ -1388,13 +1363,13 @@ void QWebPageAdapter::setDevicePixelRatio(float devicePixelRatio)
bool QWebPageAdapter::handleKeyEvent(QKeyEvent *ev)
{
- Frame* frame = page->focusController()->focusedOrMainFrame();
- return frame->eventHandler()->keyEvent(PlatformKeyboardEvent(ev, m_useNativeVirtualKeyAsDOMKey));
+ Frame& frame = page->focusController().focusedOrMainFrame();
+ return frame.eventHandler().keyEvent(PlatformKeyboardEvent(ev, m_useNativeVirtualKeyAsDOMKey));
}
bool QWebPageAdapter::handleScrolling(QKeyEvent *ev)
{
- Frame* frame = page->focusController()->focusedOrMainFrame();
+ Frame& frame = page->focusController().focusedOrMainFrame();
WebCore::ScrollDirection direction;
WebCore::ScrollGranularity granularity;
@@ -1436,16 +1411,16 @@ bool QWebPageAdapter::handleScrolling(QKeyEvent *ev)
}
}
- return frame->eventHandler()->scrollRecursively(direction, granularity);
+ return frame.eventHandler().scrollRecursively(direction, granularity);
}
void QWebPageAdapter::focusInEvent(QFocusEvent *)
{
- FocusController* focusController = page->focusController();
- focusController->setActive(true);
- focusController->setFocused(true);
- if (!focusController->focusedFrame())
- focusController->setFocusedFrame(mainFrameAdapter()->frame);
+ FocusController& focusController = page->focusController();
+ focusController.setActive(true);
+ focusController.setFocused(true);
+ if (!focusController.focusedFrame())
+ focusController.setFocusedFrame(mainFrameAdapter()->frame);
}
void QWebPageAdapter::focusOutEvent(QFocusEvent *)
@@ -1453,16 +1428,16 @@ void QWebPageAdapter::focusOutEvent(QFocusEvent *)
// only set the focused frame inactive so that we stop painting the caret
// and the focus frame. But don't tell the focus controller so that upon
// focusInEvent() we can re-activate the frame.
- FocusController* focusController = page->focusController();
+ FocusController& focusController = page->focusController();
// Call setFocused first so that window.onblur doesn't get called twice
- focusController->setFocused(false);
- focusController->setActive(false);
+ focusController.setFocused(false);
+ focusController.setActive(false);
}
bool QWebPageAdapter::handleShortcutOverrideEvent(QKeyEvent* event)
{
- WebCore::Frame* frame = page->focusController()->focusedOrMainFrame();
- WebCore::Editor& editor = frame->editor();
+ WebCore::Frame& frame = page->focusController().focusedOrMainFrame();
+ WebCore::Editor& editor = frame.editor();
if (!editor.canEdit())
return false;
if (event->modifiers() == Qt::NoModifier
@@ -1508,7 +1483,7 @@ bool QWebPageAdapter::touchEvent(QTouchEvent* event)
event->setAccepted(true);
// Return whether the default action was cancelled in the JS event handler
- return frame->eventHandler()->handleTouchEvent(convertTouchEvent(event));
+ return frame->eventHandler().handleTouchEvent(convertTouchEvent(event));
#else
event->ignore();
return false;
@@ -1523,7 +1498,7 @@ bool QWebPageAdapter::swallowContextMenuEvent(QContextMenuEvent *event, QWebFram
ASSERT(int(QWebPageAdapter::ScrollByLine) == int(WebCore::ScrollByLine));
ASSERT(int(QWebPageAdapter::ScrollByDocument) == int(WebCore::ScrollByDocument));
- page->contextMenuController()->clearContextMenu();
+ page->contextMenuController().clearContextMenu();
if (webFrame) {
Frame* frame = webFrame->frame;
@@ -1535,23 +1510,23 @@ bool QWebPageAdapter::swallowContextMenuEvent(QContextMenuEvent *event, QWebFram
if (!scroll)
return true;
if (direction == QWebPageAdapter::InvalidScrollDirection || granularity == QWebPageAdapter::InvalidScrollGranularity) {
- ScrollbarTheme* theme = scrollBar->theme();
+ ScrollbarTheme& theme = scrollBar->theme();
// Set the pressed position to the middle of the thumb so that when we
// do move, the delta will be from the current pixel position of the
// thumb to the new position
- int position = theme->trackPosition(scrollBar) + theme->thumbPosition(scrollBar) + theme->thumbLength(scrollBar) / 2;
+ int position = theme.trackPosition(*scrollBar) + theme.thumbPosition(*scrollBar) + theme.thumbLength(*scrollBar) / 2;
scrollBar->setPressedPos(position);
const QPoint pos = scrollBar->convertFromContainingWindow(event->pos());
scrollBar->moveThumb(horizontal ? pos.x() : pos.y());
} else
- scrollBar->scrollableArea()->scroll(WebCore::ScrollDirection(direction), WebCore::ScrollGranularity(granularity));
+ scrollBar->scrollableArea().scroll(WebCore::ScrollDirection(direction), WebCore::ScrollGranularity(granularity));
return true;
}
}
- WebCore::Frame* focusedFrame = page->focusController()->focusedOrMainFrame();
- focusedFrame->eventHandler()->sendContextMenuEvent(convertMouseEvent(event, 1));
- ContextMenu* menu = page->contextMenuController()->contextMenu();
+ WebCore::Frame& focusedFrame = page->focusController().focusedOrMainFrame();
+ focusedFrame.eventHandler().sendContextMenuEvent(convertMouseEvent(event, 1));
+ ContextMenu* menu = page->contextMenuController().contextMenu();
// If the website defines its own handler then sendContextMenuEvent takes care of
// calling/showing it and the context menu pointer will be zero. This is the case
// on maps.google.com for example.
diff --git a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h
index ee4d2595a..c5fa3a3e0 100644
--- a/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h
+++ b/Source/WebKit/qt/WebCoreSupport/QWebPageAdapter.h
@@ -66,7 +66,7 @@ class QWebSettings;
class QWebFullScreenVideoHandler;
class UndoStepQt;
-class WEBKIT_EXPORTDATA QWebPageAdapter {
+class QWEBKIT_EXPORT QWebPageAdapter {
public:
#define FOR_EACH_MAPPED_MENU_ACTION(F, SEPARATOR) \
@@ -109,9 +109,7 @@ public:
enum MenuAction {
NoAction = - 1,
FOR_EACH_MAPPED_MENU_ACTION(DEFINE_ACTION, COMMA_SEPARATOR)
-#if ENABLE(INSPECTOR)
, InspectElement
-#endif
, ActionCount
};
@@ -150,6 +148,30 @@ public:
VisibilityStateUnloaded
};
+ // Must match with values of QWebPage::MessageSource enum.
+ enum MessageSource {
+ XmlMessageSource,
+ JSMessageSource,
+ NetworkMessageSource,
+ ConsoleAPIMessageSource,
+ StorageMessageSource,
+ AppCacheMessageSource,
+ RenderingMessageSource,
+ CSSMessageSource,
+ SecurityMessageSource,
+ ContentBlockerMessageSource,
+ OtherMessageSource,
+ };
+
+ // Must match with values of QWebPage::MessageLevel enum.
+ enum MessageLevel {
+ LogMessageLevel = 1,
+ WarningMessageLevel = 2,
+ ErrorMessageLevel = 3,
+ DebugMessageLevel = 4,
+ InfoMessageLevel = 5,
+ };
+
QWebPageAdapter();
virtual ~QWebPageAdapter();
@@ -168,7 +190,7 @@ public:
virtual QSize viewportSize() const = 0;
virtual QWebPageAdapter* createWindow(bool /*dialog*/) = 0;
virtual QObject* handle() = 0;
- virtual void javaScriptConsoleMessage(const QString& message, int lineNumber, const QString& sourceID) = 0;
+ virtual void consoleMessageReceived(MessageSource, MessageLevel, const QString& message, int lineNumber, const QString& sourceID) = 0;
virtual void javaScriptAlert(QWebFrameAdapter*, const QString& msg) = 0;
virtual bool javaScriptConfirm(QWebFrameAdapter*, const QString& msg) = 0;
virtual bool javaScriptPrompt(QWebFrameAdapter*, const QString& msg, const QString& defaultValue, QString* result) = 0;
@@ -179,7 +201,7 @@ public:
virtual void setToolTip(const QString&) = 0;
virtual QStringList chooseFiles(QWebFrameAdapter*, bool allowMultiple, const QStringList& suggestedFileNames) = 0;
virtual QColor colorSelectionRequested(const QColor& selectedColor) = 0;
- virtual QWebSelectMethod* createSelectPopup() = 0;
+ virtual std::unique_ptr<QWebSelectMethod> createSelectPopup() = 0;
virtual QRect viewRectRelativeToWindow() = 0;
#if USE(QT_MULTIMEDIA)
@@ -267,7 +289,7 @@ public:
void setVisibilityState(VisibilityState);
VisibilityState visibilityState() const;
- void setPluginsVisible(bool visible);
+ void setPluginsVisible(bool);
static QWebPageAdapter* kit(WebCore::Page*);
WebCore::ViewportArguments viewportArguments() const;
@@ -296,7 +318,7 @@ public:
#ifndef QT_NO_WHEELEVENT
void wheelEvent(QWheelEvent*, int wheelScrollLines);
#endif
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
Qt::DropAction dragEntered(const QMimeData*, const QPoint&, Qt::DropActions);
void dragLeaveEvent();
Qt::DropAction dragUpdated(const QMimeData*, const QPoint&, Qt::DropActions);
diff --git a/Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp b/Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp
index 7d8688b95..e2c8dabd5 100644
--- a/Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp
@@ -21,8 +21,6 @@
#include "config.h"
#include "QtPlatformPlugin.h"
-#include "qwebkitplatformplugin.h"
-
#include <QCoreApplication>
#include <QDir>
#include <QPluginLoader>
@@ -102,42 +100,46 @@ QWebKitPlatformPlugin* QtPlatformPlugin::plugin()
return m_plugin;
}
-PassOwnPtr<QWebSelectMethod> QtPlatformPlugin::createSelectInputMethod()
+template<typename T>
+std::unique_ptr<T> QtPlatformPlugin::createExtension(QWebKitPlatformPlugin::Extension extension)
{
QWebKitPlatformPlugin* p = plugin();
- return adoptPtr(p ? static_cast<QWebSelectMethod*>(p->createExtension(QWebKitPlatformPlugin::MultipleSelections)) : 0);
+ if (!p)
+ return nullptr;
+
+ return std::unique_ptr<T>(static_cast<T*>(p->createExtension(extension)));
}
-PassOwnPtr<QWebNotificationPresenter> QtPlatformPlugin::createNotificationPresenter()
+std::unique_ptr<QWebSelectMethod> QtPlatformPlugin::createSelectInputMethod()
{
- QWebKitPlatformPlugin* p = plugin();
- return adoptPtr(p ? static_cast<QWebNotificationPresenter*>(p->createExtension(QWebKitPlatformPlugin::Notifications)) : 0);
+ return createExtension<QWebSelectMethod>(QWebKitPlatformPlugin::MultipleSelections);
}
-PassOwnPtr<QWebHapticFeedbackPlayer> QtPlatformPlugin::createHapticFeedbackPlayer()
+std::unique_ptr<QWebNotificationPresenter> QtPlatformPlugin::createNotificationPresenter()
{
- QWebKitPlatformPlugin* p = plugin();
- return adoptPtr(p ? static_cast<QWebHapticFeedbackPlayer*>(p->createExtension(QWebKitPlatformPlugin::Haptics)) : 0);
+ return createExtension<QWebNotificationPresenter>(QWebKitPlatformPlugin::Notifications);
}
-PassOwnPtr<QWebTouchModifier> QtPlatformPlugin::createTouchModifier()
+std::unique_ptr<QWebHapticFeedbackPlayer> QtPlatformPlugin::createHapticFeedbackPlayer()
{
- QWebKitPlatformPlugin* p = plugin();
- return adoptPtr(p ? static_cast<QWebTouchModifier*>(p->createExtension(QWebKitPlatformPlugin::TouchInteraction)) : 0);
+ return createExtension<QWebHapticFeedbackPlayer>(QWebKitPlatformPlugin::Haptics);
+}
+
+std::unique_ptr<QWebTouchModifier> QtPlatformPlugin::createTouchModifier()
+{
+ return createExtension<QWebTouchModifier>(QWebKitPlatformPlugin::TouchInteraction);
}
#if ENABLE(VIDEO) && USE(QT_MULTIMEDIA)
-PassOwnPtr<QWebFullScreenVideoHandler> QtPlatformPlugin::createFullScreenVideoHandler()
+std::unique_ptr<QWebFullScreenVideoHandler> QtPlatformPlugin::createFullScreenVideoHandler()
{
- QWebKitPlatformPlugin* p = plugin();
- return adoptPtr(p ? static_cast<QWebFullScreenVideoHandler*>(p->createExtension(QWebKitPlatformPlugin::FullScreenVideoPlayer)) : 0);
+ return createExtension<QWebFullScreenVideoHandler>(QWebKitPlatformPlugin::FullScreenVideoPlayer);
}
#endif
-PassOwnPtr<QWebSpellChecker> QtPlatformPlugin::createSpellChecker()
+std::unique_ptr<QWebSpellChecker> QtPlatformPlugin::createSpellChecker()
{
- QWebKitPlatformPlugin* p = plugin();
- return adoptPtr(p ? static_cast<QWebSpellChecker*>(p->createExtension(QWebKitPlatformPlugin::SpellChecker)) : 0);
+ return createExtension<QWebSpellChecker>(QWebKitPlatformPlugin::SpellChecker);
}
}
diff --git a/Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h b/Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h
index 9f8a760b8..42960ae37 100644
--- a/Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h
+++ b/Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h
@@ -21,11 +21,10 @@
#ifndef QtPlatformPlugin_h
#define QtPlatformPlugin_h
+#include "qwebkitplatformplugin.h"
#include <QPluginLoader>
-#include <wtf/PassOwnPtr.h>
class QWebSelectMethod;
-class QWebKitPlatformPlugin;
class QWebNotificationPresenter;
class QWebHapticFeedbackPlayer;
class QWebSelectData;
@@ -47,14 +46,14 @@ public:
~QtPlatformPlugin();
- PassOwnPtr<QWebSelectMethod> createSelectInputMethod();
- PassOwnPtr<QWebNotificationPresenter> createNotificationPresenter();
- PassOwnPtr<QWebHapticFeedbackPlayer> createHapticFeedbackPlayer();
- PassOwnPtr<QWebTouchModifier> createTouchModifier();
+ std::unique_ptr<QWebSelectMethod> createSelectInputMethod();
+ std::unique_ptr<QWebNotificationPresenter> createNotificationPresenter();
+ std::unique_ptr<QWebHapticFeedbackPlayer> createHapticFeedbackPlayer();
+ std::unique_ptr<QWebTouchModifier> createTouchModifier();
#if ENABLE(VIDEO) && USE(QT_MULTIMEDIA)
- PassOwnPtr<QWebFullScreenVideoHandler> createFullScreenVideoHandler();
+ std::unique_ptr<QWebFullScreenVideoHandler> createFullScreenVideoHandler();
#endif
- PassOwnPtr<QWebSpellChecker> createSpellChecker();
+ std::unique_ptr<QWebSpellChecker> createSpellChecker();
QWebKitPlatformPlugin* plugin();
@@ -65,6 +64,7 @@ private:
bool load();
bool load(const QString& file);
bool loadStaticallyLinkedPlugin();
+ template<typename T> std::unique_ptr<T> createExtension(QWebKitPlatformPlugin::Extension);
};
}
diff --git a/Source/WebKit/qt/WebCoreSupport/QtPluginWidgetAdapter.h b/Source/WebKit/qt/WebCoreSupport/QtPluginWidgetAdapter.h
index 2b701d42d..26be7fab3 100644
--- a/Source/WebKit/qt/WebCoreSupport/QtPluginWidgetAdapter.h
+++ b/Source/WebKit/qt/WebCoreSupport/QtPluginWidgetAdapter.h
@@ -26,7 +26,7 @@
#include <QString>
#include <qwebkitglobal.h>
-class WEBKIT_EXPORTDATA QtPluginWidgetAdapter : public QObject {
+class QWEBKIT_EXPORT QtPluginWidgetAdapter : public QObject {
Q_OBJECT
public:
QtPluginWidgetAdapter();
diff --git a/Source/WebKit/qt/WebCoreSupport/QtPrintContext.h b/Source/WebKit/qt/WebCoreSupport/QtPrintContext.h
index 9a6a68ceb..5b54dacb4 100644
--- a/Source/WebKit/qt/WebCoreSupport/QtPrintContext.h
+++ b/Source/WebKit/qt/WebCoreSupport/QtPrintContext.h
@@ -32,7 +32,7 @@ class GraphicsContext;
class QWebFrameAdapter;
-class WEBKIT_EXPORTDATA QtPrintContext {
+class QWEBKIT_EXPORT QtPrintContext {
public:
QtPrintContext(QPainter*, const QRect& pageRect, QWebFrameAdapter*);
~QtPrintContext();
diff --git a/Source/WebKit/qt/WebCoreSupport/QtTestSupport.cpp b/Source/WebKit/qt/WebCoreSupport/QtTestSupport.cpp
new file mode 100644
index 000000000..1abbee9c9
--- /dev/null
+++ b/Source/WebKit/qt/WebCoreSupport/QtTestSupport.cpp
@@ -0,0 +1,110 @@
+/*
+ * Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies)
+ * Copyright (C) 2012 University of Szeged. 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 THE COPYRIGHT HOLDERS "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 "QtTestSupport.h"
+
+#include "CrossOriginPreflightResultCache.h"
+#include "FontCache.h"
+#include "GCController.h"
+#include "MemoryCache.h"
+#include "PageCache.h"
+#include <QFontDatabase>
+
+#if HAVE(FONTCONFIG)
+#include <QByteArray>
+#include <QDir>
+#include <fontconfig/fontconfig.h>
+#endif
+
+using namespace WebCore;
+
+namespace WebKit {
+
+void QtTestSupport::clearMemoryCaches()
+{
+ auto& memoryCache = MemoryCache::singleton();
+ if (!memoryCache.disabled()) {
+ memoryCache.setDisabled(true);
+ memoryCache.setDisabled(false);
+ }
+
+ auto& pageCache = PageCache::singleton();
+ int pageCacheMaxSize = pageCache.maxSize();
+ pageCache.setMaxSize(0);
+ pageCache.setMaxSize(pageCacheMaxSize);
+
+ FontCache::singleton().invalidate();
+
+ WebCore::CrossOriginPreflightResultCache::singleton().empty();
+}
+
+void QtTestSupport::initializeTestFonts()
+{
+#if HAVE(FONTCONFIG)
+ static int numFonts = -1;
+
+ FcInit();
+
+ // Some test cases may add or remove application fonts (via @font-face).
+ // Make sure to re-initialize the font set if necessary.
+ FcFontSet* appFontSet = FcConfigGetFonts(0, FcSetApplication);
+ if (appFontSet && numFonts >= 0 && appFontSet->nfont == numFonts)
+ return;
+
+ QByteArray fontDir = getenv("WEBKIT_TESTFONTS");
+ if (fontDir.isEmpty() || !QDir(QString::fromLatin1(fontDir)).exists()) {
+ qFatal("\n\n"
+ "----------------------------------------------------------------------\n"
+ "WEBKIT_TESTFONTS environment variable is not set correctly.\n"
+ "This variable has to point to the directory containing the fonts\n"
+ "you can clone from https://github.com/carewolf/qtwebkit-testfonts.git\n"
+ "----------------------------------------------------------------------\n"
+ );
+ }
+
+ QByteArray configFile = fontDir + "/fonts.conf";
+ FcConfig* config = FcConfigCreate();
+ if (!FcConfigParseAndLoad(config, reinterpret_cast<const FcChar8*>(configFile.constData()), FcTrue))
+ qFatal("Couldn't load font configuration file");
+ if (!FcConfigAppFontAddDir(config, reinterpret_cast<const FcChar8*>(fontDir.data())))
+ qFatal("Couldn't add font dir!");
+ FcConfigSetCurrent(config);
+
+ appFontSet = FcConfigGetFonts(config, FcSetApplication);
+ numFonts = appFontSet->nfont;
+
+ WebCore::FontCache::singleton().invalidate();
+ QFontDatabase::removeAllApplicationFonts();
+#endif
+}
+
+void QtTestSupport::garbageCollectorCollect()
+{
+ GCController::singleton().garbageCollectNow();
+}
+
+}
diff --git a/Source/WebKit/gtk/webkit/webkitwebwindowfeaturesprivate.h b/Source/WebKit/qt/WebCoreSupport/QtTestSupport.h
index 6ea919bc0..9f808f6e0 100644
--- a/Source/WebKit/gtk/webkit/webkitwebwindowfeaturesprivate.h
+++ b/Source/WebKit/qt/WebCoreSupport/QtTestSupport.h
@@ -1,33 +1,38 @@
/*
- * 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.
+ * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
+ * Copyright (C) 2012 University of Szeged. All rights reserved.
*
* 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,
+ * This program 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
+ * along with this program; 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 webkitwebwindowfeaturesprivate_h
-#define webkitwebwindowfeaturesprivate_h
+#ifndef QtTestSupport_h
+#define QtTestSupport_h
-#include "webkitwebwindowfeatures.h"
+#include <qwebkitglobal.h>
namespace WebKit {
-WebKitWebWindowFeatures* kitNew(const WebCore::WindowFeatures&);
+namespace QtTestSupport {
+
+void QWEBKIT_EXPORT clearMemoryCaches();
+void QWEBKIT_EXPORT initializeTestFonts();
+void QWEBKIT_EXPORT garbageCollectorCollect();
+
+}
}
diff --git a/Source/WebKit/qt/WebCoreSupport/SearchPopupMenuQt.cpp b/Source/WebKit/qt/WebCoreSupport/SearchPopupMenuQt.cpp
index 63437cf97..6729d2a61 100644
--- a/Source/WebKit/qt/WebCoreSupport/SearchPopupMenuQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/SearchPopupMenuQt.cpp
@@ -19,11 +19,12 @@
*/
#include "config.h"
+#include "PopupMenu.h"
#include "SearchPopupMenuQt.h"
namespace WebCore {
-SearchPopupMenuQt::SearchPopupMenuQt(PassRefPtr<PopupMenu> popup)
+SearchPopupMenuQt::SearchPopupMenuQt(RefPtr<PopupMenu>&& popup)
: m_popup(popup)
{
}
@@ -33,11 +34,11 @@ PopupMenu* SearchPopupMenuQt::popupMenu()
return m_popup.get();
}
-void SearchPopupMenuQt::saveRecentSearches(const AtomicString&, const Vector<String>&)
+void SearchPopupMenuQt::saveRecentSearches(const WTF::AtomicString& name, const Vector<RecentSearch>&)
{
}
-void SearchPopupMenuQt::loadRecentSearches(const AtomicString&, Vector<String>&)
+void SearchPopupMenuQt::loadRecentSearches(const WTF::AtomicString& name, Vector<RecentSearch>&)
{
}
diff --git a/Source/WebKit/qt/WebCoreSupport/SearchPopupMenuQt.h b/Source/WebKit/qt/WebCoreSupport/SearchPopupMenuQt.h
index 4ae8582a3..ecdde0920 100644
--- a/Source/WebKit/qt/WebCoreSupport/SearchPopupMenuQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/SearchPopupMenuQt.h
@@ -27,12 +27,12 @@ namespace WebCore {
class SearchPopupMenuQt : public SearchPopupMenu {
public:
- SearchPopupMenuQt(PassRefPtr<PopupMenu>);
+ SearchPopupMenuQt(RefPtr<WebCore::PopupMenu>&&);
- virtual PopupMenu* popupMenu();
- virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
- virtual void loadRecentSearches(const AtomicString& name, Vector<String>& searchItems);
- virtual bool enabled();
+ PopupMenu* popupMenu() override;
+ void saveRecentSearches(const AtomicString& name, const Vector<RecentSearch>& searchItems) override;
+ void loadRecentSearches(const AtomicString& name, Vector<RecentSearch>& searchItems) override;
+ bool enabled() override;
private:
RefPtr<PopupMenu> m_popup;
diff --git a/Source/WebKit/qt/WebCoreSupport/TextCheckerClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/TextCheckerClientQt.cpp
index c00623cac..096651c1a 100644
--- a/Source/WebKit/qt/WebCoreSupport/TextCheckerClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/TextCheckerClientQt.cpp
@@ -76,21 +76,23 @@ String TextCheckerClientQt::getAutoCorrectSuggestionForMisspelledWord(const Stri
return m_spellChecker->autoCorrectSuggestionForMisspelledWord(misspelledWord);
}
-void TextCheckerClientQt::checkSpellingOfString(const UChar* buffer, int length, int* misspellingLocation, int* misspellingLength)
+void TextCheckerClientQt::checkSpellingOfString(StringView view, int* misspellingLocation, int* misspellingLength)
{
if (!loadSpellChecker())
return;
- const QString text = QString::fromRawData(reinterpret_cast<const QChar*>(buffer), length);
+ // FIXME: Check if we can pass StringView or QStringRef further
+ const QString text = view.toStringWithoutCopying();
m_spellChecker->checkSpellingOfString(text, misspellingLocation, misspellingLength);
}
-void TextCheckerClientQt::checkGrammarOfString(const UChar* buffer, int length, Vector<GrammarDetail>& details, int* badGrammarLocation, int* badGrammarLength)
+void TextCheckerClientQt::checkGrammarOfString(StringView view, Vector<GrammarDetail>& details, int* badGrammarLocation, int* badGrammarLength)
{
if (!loadSpellChecker())
return;
- const QString text = QString::fromRawData(reinterpret_cast<const QChar*>(buffer), length);
+ // FIXME: Check if we can pass StringView or QStringRef further
+ const QString text = view.toStringWithoutCopying();
// Do Grammer check.
QList<QWebSpellChecker::GrammarDetail> qGrammarDetails;
diff --git a/Source/WebKit/qt/WebCoreSupport/TextCheckerClientQt.h b/Source/WebKit/qt/WebCoreSupport/TextCheckerClientQt.h
index bf9ded465..dc7d4c4b2 100644
--- a/Source/WebKit/qt/WebCoreSupport/TextCheckerClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/TextCheckerClientQt.h
@@ -34,8 +34,6 @@
#include "qwebkitplatformplugin.h"
#include <wtf/Forward.h>
-#include <wtf/OwnPtr.h>
-
namespace WebCore {
@@ -44,9 +42,9 @@ public:
virtual bool shouldEraseMarkersAfterChangeSelection(TextCheckingType) const;
virtual void ignoreWordInSpellDocument(const String&);
virtual void learnWord(const String&);
- virtual void checkSpellingOfString(const UChar*, int length, int* misspellingLocation, int* misspellingLength);
+ virtual void checkSpellingOfString(StringView, int* misspellingLocation, int* misspellingLength);
virtual String getAutoCorrectSuggestionForMisspelledWord(const String& misspelledWord);
- virtual void checkGrammarOfString(const UChar*, int length, Vector<GrammarDetail>&, int* badGrammarLocation, int* badGrammarLength);
+ virtual void checkGrammarOfString(StringView, Vector<GrammarDetail>&, int* badGrammarLocation, int* badGrammarLength);
virtual void getGuessesForWord(const String& word, const String& context, Vector<String>& guesses);
virtual void requestCheckingOfString(WTF::PassRefPtr<WebCore::TextCheckingRequest>) { }
@@ -61,7 +59,7 @@ private:
private:
QtPlatformPlugin m_platformPlugin;
- OwnPtr<QWebSpellChecker> m_spellChecker;
+ std::unique_ptr<QWebSpellChecker> m_spellChecker;
};
}
diff --git a/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.cpp
index 4eba05207..8b4bd8d6d 100644
--- a/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.cpp
@@ -22,8 +22,6 @@
#include "config.h"
#include "TextureMapperLayerClientQt.h"
-#if USE(ACCELERATED_COMPOSITING)
-
#include "FrameView.h"
#include "GraphicsLayerTextureMapper.h"
#include "QWebFrameAdapter.h"
@@ -34,7 +32,7 @@ using namespace WebCore;
TextureMapperLayerClientQt::TextureMapperLayerClientQt(QWebFrameAdapter* frame)
: m_frame(frame)
- , m_syncTimer(this, &TextureMapperLayerClientQt::syncLayers)
+ , m_syncTimer(*this, &TextureMapperLayerClientQt::syncLayers)
, m_rootTextureMapperLayer(0)
{
}
@@ -46,7 +44,7 @@ TextureMapperLayerClientQt::~TextureMapperLayerClientQt()
void TextureMapperLayerClientQt::syncRootLayer()
{
- m_rootGraphicsLayer->flushCompositingStateForThisLayerOnly();
+ m_rootGraphicsLayer->flushCompositingStateForThisLayerOnly(true/* viewportIsStable */);
}
void TextureMapperLayerClientQt::markForSync(bool scheduleSync)
@@ -58,31 +56,31 @@ void TextureMapperLayerClientQt::markForSync(bool scheduleSync)
TextureMapperLayer* TextureMapperLayerClientQt::rootLayer()
{
- return toTextureMapperLayer(m_rootGraphicsLayer.get());
+ return &downcast<GraphicsLayerTextureMapper>(m_rootGraphicsLayer.get())->layer();
}
void TextureMapperLayerClientQt::setRootGraphicsLayer(GraphicsLayer* layer)
{
if (layer) {
- m_rootGraphicsLayer = GraphicsLayer::create(0);
- m_rootTextureMapperLayer = toTextureMapperLayer(m_rootGraphicsLayer.get());
+ // FIXME: Is it ok to pass empty GraphicsLayer instead of 0?
+ m_rootGraphicsLayer = GraphicsLayer::create(0, *this);
+ m_rootTextureMapperLayer = rootLayer();
m_rootGraphicsLayer->addChild(layer);
m_rootGraphicsLayer->setDrawsContent(false);
m_rootGraphicsLayer->setMasksToBounds(false);
m_rootGraphicsLayer->setSize(IntSize(1, 1));
- TextureMapper::AccelerationMode mode = TextureMapper::SoftwareMode;
- if (m_frame->pageAdapter->client->makeOpenGLContextCurrentIfAvailable())
- mode = TextureMapper::OpenGLMode;
- m_textureMapper = TextureMapper::create(mode);
+ if (!m_frame->pageAdapter->client->makeOpenGLContextCurrentIfAvailable())
+ ASSERT_WITH_MESSAGE(false, "TextureMapper::SoftwareMode is not implemented");
+ m_textureMapper = TextureMapper::create();
m_rootTextureMapperLayer->setTextureMapper(m_textureMapper.get());
syncRootLayer();
} else {
- m_rootGraphicsLayer.clear();
+ m_rootGraphicsLayer = nullptr;
m_rootTextureMapperLayer = 0;
}
}
-void TextureMapperLayerClientQt::syncLayers(Timer<TextureMapperLayerClientQt>*)
+void TextureMapperLayerClientQt::syncLayers()
{
if (m_rootGraphicsLayer)
syncRootLayer();
@@ -92,38 +90,31 @@ void TextureMapperLayerClientQt::syncLayers(Timer<TextureMapperLayerClientQt>*)
if (!m_rootGraphicsLayer)
return;
+ downcast<GraphicsLayerTextureMapper>(*m_rootGraphicsLayer).updateBackingStoreIncludingSubLayers();
+
if (rootLayer()->descendantsOrSelfHaveRunningAnimations() && !m_syncTimer.isActive())
m_syncTimer.startOneShot(1.0 / 60.0);
m_frame->pageAdapter->client->repaintViewport();
}
-void TextureMapperLayerClientQt::renderCompositedLayers(GraphicsContext* context, const IntRect& clip)
+void TextureMapperLayerClientQt::renderCompositedLayers(GraphicsContext& context, const IntRect& clip)
{
if (!m_rootTextureMapperLayer || !m_textureMapper)
return;
- m_textureMapper->setGraphicsContext(context);
+ m_textureMapper->setGraphicsContext(&context);
// GraphicsContext::imageInterpolationQuality is always InterpolationDefault here,
// but 'default' may be interpreted differently due to a different backend QPainter,
// so we need to set an explicit imageInterpolationQuality.
- if (context->platformContext()->renderHints() & QPainter::SmoothPixmapTransform)
+ if (context.platformContext()->renderHints() & QPainter::SmoothPixmapTransform)
m_textureMapper->setImageInterpolationQuality(WebCore::InterpolationMedium);
else
m_textureMapper->setImageInterpolationQuality(WebCore::InterpolationNone);
- m_textureMapper->setTextDrawingMode(context->textDrawingMode());
- QPainter* painter = context->platformContext();
- QTransform transform;
- if (m_textureMapper->accelerationMode() == TextureMapper::OpenGLMode) {
- // TextureMapperGL needs to duplicate the entire transform QPainter would do,
- // including the transforms QPainter would normally do behind the scenes.
- transform = painter->deviceTransform();
- } else {
- // TextureMapperImageBuffer needs a transform that can be used
- // with QPainter::setWorldTransform.
- transform = painter->worldTransform();
- }
+ m_textureMapper->setTextDrawingMode(context.textDrawingMode());
+ QPainter* painter = context.platformContext();
+ const QTransform transform = painter->worldTransform();
const TransformationMatrix matrix(
transform.m11(), transform.m12(), 0, transform.m13(),
transform.m21(), transform.m22(), 0, transform.m23(),
@@ -133,14 +124,12 @@ void TextureMapperLayerClientQt::renderCompositedLayers(GraphicsContext* context
if (m_rootGraphicsLayer->opacity() != painter->opacity() || m_rootGraphicsLayer->transform() != matrix) {
m_rootGraphicsLayer->setOpacity(painter->opacity());
m_rootGraphicsLayer->setTransform(matrix);
- m_rootGraphicsLayer->flushCompositingStateForThisLayerOnly();
+ m_rootGraphicsLayer->flushCompositingStateForThisLayerOnly(true);
}
m_textureMapper->beginPainting();
m_textureMapper->beginClip(matrix, clip);
m_rootTextureMapperLayer->paint();
- m_fpsCounter.updateFPSAndDisplay(m_textureMapper.get(), IntPoint::zero(), matrix);
+ m_fpsCounter.updateFPSAndDisplay(*m_textureMapper.get(), IntPoint::zero(), matrix);
m_textureMapper->endClip();
m_textureMapper->endPainting();
}
-
-#endif
diff --git a/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.h b/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.h
index fada27a53..f1b8c896e 100644
--- a/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/TextureMapperLayerClientQt.h
@@ -27,14 +27,12 @@ class QWebFrameAdapter;
#include "TextureMapper.h"
#include "TextureMapperFPSCounter.h"
#include "Timer.h"
-#include <wtf/OwnPtr.h>
namespace WebCore {
class TextureMapperLayer;
-#if USE(ACCELERATED_COMPOSITING)
-class TextureMapperLayerClientQt {
+class TextureMapperLayerClientQt : public GraphicsLayerClient {
public:
TextureMapperLayerClientQt(QWebFrameAdapter*);
~TextureMapperLayerClientQt();
@@ -45,18 +43,17 @@ public:
void setRootGraphicsLayer(GraphicsLayer*);
- void syncLayers(Timer<TextureMapperLayerClientQt>*);
+ void syncLayers();
- void renderCompositedLayers(GraphicsContext*, const IntRect& clip);
+ void renderCompositedLayers(GraphicsContext&, const IntRect& clip);
private:
QWebFrameAdapter* m_frame;
- OwnPtr<GraphicsLayer> m_rootGraphicsLayer;
- Timer<TextureMapperLayerClientQt> m_syncTimer;
+ std::unique_ptr<GraphicsLayer> m_rootGraphicsLayer;
+ Timer m_syncTimer;
WebCore::TextureMapperLayer* m_rootTextureMapperLayer;
- OwnPtr<WebCore::TextureMapper> m_textureMapper;
+ std::unique_ptr<WebCore::TextureMapper> m_textureMapper;
WebCore::TextureMapperFPSCounter m_fpsCounter;
};
-#endif
}
diff --git a/Source/WebKit/qt/WebCoreSupport/UndoStepQt.cpp b/Source/WebKit/qt/WebCoreSupport/UndoStepQt.cpp
index ac32f9e57..dcde0bc92 100644
--- a/Source/WebKit/qt/WebCoreSupport/UndoStepQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/UndoStepQt.cpp
@@ -29,6 +29,8 @@ static QString undoNameForEditAction(const EditAction editAction)
switch (editAction) {
case EditActionUnspecified:
return QString();
+ case EditActionInsert:
+ return QObject::tr("Insert");
case EditActionSetColor:
return QObject::tr("Set Color");
case EditActionSetBackgroundColor:
@@ -87,6 +89,10 @@ static QString undoNameForEditAction(const EditAction editAction)
return QObject::tr("Cut");
case EditActionPaste:
return QObject::tr("Paste");
+ case EditActionDelete:
+ return QObject::tr("Delete");
+ case EditActionDictation:
+ return QObject::tr("Dictation");
case EditActionPasteFont:
return QObject::tr("Paste Font");
case EditActionPasteRuler:
diff --git a/Source/WebKit/qt/WebCoreSupport/UndoStepQt.h b/Source/WebKit/qt/WebCoreSupport/UndoStepQt.h
index ca56f26cb..e229fbd8d 100644
--- a/Source/WebKit/qt/WebCoreSupport/UndoStepQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/UndoStepQt.h
@@ -26,7 +26,7 @@
#include <qwebkitglobal.h>
#include <wtf/RefPtr.h>
-class WEBKIT_EXPORTDATA UndoStepQt {
+class QWEBKIT_EXPORT UndoStepQt {
public:
~UndoStepQt();
diff --git a/Source/WebKit/mac/Plugins/WebNetscapeContainerCheckContextInfo.mm b/Source/WebKit/qt/WebCoreSupport/VisitedLinkStoreQt.cpp
index 8991c955f..d5eca5084 100644
--- a/Source/WebKit/mac/Plugins/WebNetscapeContainerCheckContextInfo.mm
+++ b/Source/WebKit/qt/WebCoreSupport/VisitedLinkStoreQt.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2016 Konstantin Tokarev <annulen@yandex.ru>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -20,42 +20,45 @@
* 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#import "WebNetscapeContainerCheckContextInfo.h"
+#include "VisitedLinkStoreQt.h"
-#if ENABLE(NETSCAPE_PLUGIN_API)
+#include "qwebhistoryinterface.h"
-@implementation WebNetscapeContainerCheckContextInfo
-
-- (id)initWithCheckRequestID:(uint32_t)checkRequestID callbackFunc:(void (*)(NPP npp, uint32_t checkID, NPBool allowed, void* context))callbackFunc context:(void*)context
+VisitedLinkStoreQt& VisitedLinkStoreQt::singleton()
{
- self = [super init];
- if (!self)
- return nil;
-
- _checkRequestID = checkRequestID;
- _callback = callbackFunc;
- _context = context;
- return self;
+ static VisitedLinkStoreQt& visitedLinkStore = adoptRef(*new VisitedLinkStoreQt).leakRef();
+ return visitedLinkStore;
}
-- (uint32_t)checkRequestID
+void VisitedLinkStoreQt::removeAllVisitedLinks()
{
- return _checkRequestID;
+ m_visitedLinkHashes.clear();
}
-- (void (*)(NPP npp, uint32_t, NPBool, void*))callback
+bool VisitedLinkStoreQt::isLinkVisited(WebCore::Page&, WebCore::LinkHash linkHash, const WebCore::URL& baseURL, const WTF::AtomicString& attributeURL)
{
- return _callback;
+ // If the Qt4.4 interface for the history is used, we will have to fallback
+ // to the old global history.
+ // See https://bugs.webkit.org/show_bug.cgi?id=20952
+ QWebHistoryInterface* iface = QWebHistoryInterface::defaultInterface();
+ if (iface) {
+ Vector<UChar, 512> url;
+ visitedURL(baseURL, attributeURL, url);
+ return iface->historyContains(QString(reinterpret_cast<QChar*>(url.data()), url.size()));
+ }
+
+ return m_visitedLinkHashes.contains(linkHash);
}
-- (void*)context
+void VisitedLinkStoreQt::addVisitedLink(WebCore::Page&, WebCore::LinkHash linkHash)
{
- return _context;
+ m_visitedLinkHashes.add(linkHash);
+ invalidateStylesForLink(linkHash);
}
-@end
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
+VisitedLinkStoreQt::VisitedLinkStoreQt()
+{
+}
diff --git a/Source/WebKit/mac/Storage/WebDatabaseManagerClient.h b/Source/WebKit/qt/WebCoreSupport/VisitedLinkStoreQt.h
index 28f842817..095ed6599 100644
--- a/Source/WebKit/mac/Storage/WebDatabaseManagerClient.h
+++ b/Source/WebKit/qt/WebCoreSupport/VisitedLinkStoreQt.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007,2012 Apple Inc. All rights reserved.
+ * Copyright (C) 2016 Konstantin Tokarev <annulen@yandex.ru>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -20,22 +20,28 @@
* 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#if ENABLE(SQL_DATABASE)
+#ifndef VisitedLinkStoreQt_h
+#define VisitedLinkStoreQt_h
-#import <WebCore/DatabaseManagerClient.h>
+#include <WebCore/LinkHash.h>
+#include <WebCore/VisitedLinkStore.h>
-class WebDatabaseManagerClient : public WebCore::DatabaseManagerClient {
+class VisitedLinkStoreQt final : public WebCore::VisitedLinkStore {
public:
- static WebDatabaseManagerClient* sharedWebDatabaseManagerClient();
-
- virtual ~WebDatabaseManagerClient();
- virtual void dispatchDidModifyOrigin(WebCore::SecurityOrigin*);
- virtual void dispatchDidModifyDatabase(WebCore::SecurityOrigin*, const WTF::String& databaseIdentifier);
+ static VisitedLinkStoreQt& singleton();
+
+ void removeAllVisitedLinks();
+
+ bool isLinkVisited(WebCore::Page&, WebCore::LinkHash, const WebCore::URL& baseURL, const AtomicString& attributeURL) override;
+ void addVisitedLink(WebCore::Page&, WebCore::LinkHash) override;
+
private:
- WebDatabaseManagerClient();
+ VisitedLinkStoreQt();
+
+ HashSet<WebCore::LinkHash, WebCore::LinkHashHash> m_visitedLinkHashes;
};
#endif
diff --git a/Source/WebKit/mac/WebView/WebJSPDFDoc.h b/Source/WebKit/qt/WebCoreSupport/WebDatabaseProviderQt.cpp
index d3e756ce2..5998d5e0b 100644
--- a/Source/WebKit/mac/WebView/WebJSPDFDoc.h
+++ b/Source/WebKit/qt/WebCoreSupport/WebDatabaseProviderQt.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2016 Konstantin Tokarev <annulen@yandex.ru>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -20,11 +20,19 @@
* 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#import <JavaScriptCore/JSBase.h>
+#include "config.h"
+#include "WebDatabaseProvider.h"
-@class WebDataSource;
+#if ENABLE(INDEXED_DATABASE)
-JSObjectRef makeJSPDFDoc(JSContextRef, WebDataSource *);
+#include <qwebsettings.h>
+
+String WebDatabaseProvider::indexedDatabaseDirectoryPath()
+{
+ return QWebSettings::globalSettings()->offlineStoragePath();
+}
+
+#endif
diff --git a/Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp b/Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp
index 4449c1557..cf10a113e 100644
--- a/Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/WebEventConversion.cpp
@@ -22,7 +22,7 @@
#include "config.h"
#include "WebEventConversion.h"
-#include "PlatformGestureEvent.h"
+//#include "PlatformGestureEvent.h" FIXME: GestureEvents were removed in r157316
#include "PlatformMouseEvent.h"
#include "PlatformTouchEvent.h"
#include "PlatformTouchPoint.h"
diff --git a/Source/WebKit/qt/WebKitPrefix.cpp b/Source/WebKit/qt/WebKitPrefix.cpp
new file mode 100644
index 000000000..8a2e13373
--- /dev/null
+++ b/Source/WebKit/qt/WebKitPrefix.cpp
@@ -0,0 +1 @@
+#include "WebKitPrefix.h"
diff --git a/Source/WebKit/qt/WebKitPrefix.h b/Source/WebKit/qt/WebKitPrefix.h
new file mode 100644
index 000000000..b3c9cb201
--- /dev/null
+++ b/Source/WebKit/qt/WebKitPrefix.h
@@ -0,0 +1,10 @@
+#if defined(HAVE_CONFIG_H) && HAVE_CONFIG_H && defined(BUILDING_WITH_CMAKE)
+#include "cmakeconfig.h"
+#endif
+
+#include "config.h"
+
+#if OS(WINDOWS)
+#undef WEBCORE_EXPORT
+#define WEBCORE_EXPORT WTF_EXPORT_DECLARATION
+#endif
diff --git a/Source/WebKit/qt/WebKitWidgetsPrefix.cpp b/Source/WebKit/qt/WebKitWidgetsPrefix.cpp
new file mode 100644
index 000000000..67bd83dd1
--- /dev/null
+++ b/Source/WebKit/qt/WebKitWidgetsPrefix.cpp
@@ -0,0 +1 @@
+#include "WebKitWidgetsPrefix.h"
diff --git a/Source/WebKit/qt/WebKitWidgetsPrefix.h b/Source/WebKit/qt/WebKitWidgetsPrefix.h
new file mode 100644
index 000000000..d977bd682
--- /dev/null
+++ b/Source/WebKit/qt/WebKitWidgetsPrefix.h
@@ -0,0 +1,13 @@
+#if defined(HAVE_CONFIG_H) && HAVE_CONFIG_H && defined(BUILDING_WITH_CMAKE)
+#include "cmakeconfig.h"
+#endif
+
+#include "config.h"
+
+#if OS(WINDOWS)
+
+#ifndef WEBCORE_EXPORT
+#define WEBCORE_EXPORT WTF_IMPORT_DECLARATION
+#endif // !WEBCORE_EXPORT
+
+#endif
diff --git a/Source/WebKit/qt/WidgetApi/qgraphicswebview.cpp b/Source/WebKit/qt/WidgetApi/qgraphicswebview.cpp
index fe4a16ead..89ea0468e 100644
--- a/Source/WebKit/qt/WidgetApi/qgraphicswebview.cpp
+++ b/Source/WebKit/qt/WidgetApi/qgraphicswebview.cpp
@@ -106,7 +106,7 @@ void QGraphicsWebViewPrivate::_q_pageDestroyed()
void QGraphicsWebViewPrivate::updateResizesToContentsForPage()
{
- ASSERT(page);
+ Q_ASSERT(page);
pageClient()->viewResizesToContents = resizesToContents;
if (resizesToContents) {
// resizes to contents mode requires preferred contents size to be set
@@ -1007,7 +1007,7 @@ bool QGraphicsWebView::focusNextPrevChild(bool next)
*/
void QGraphicsWebView::dragEnterEvent(QGraphicsSceneDragDropEvent* ev)
{
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
if (d->page)
d->page->event(ev);
#else
@@ -1019,7 +1019,7 @@ void QGraphicsWebView::dragEnterEvent(QGraphicsSceneDragDropEvent* ev)
*/
void QGraphicsWebView::dragLeaveEvent(QGraphicsSceneDragDropEvent* ev)
{
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
if (d->page) {
const bool accepted = ev->isAccepted();
d->page->event(ev);
@@ -1037,7 +1037,7 @@ void QGraphicsWebView::dragLeaveEvent(QGraphicsSceneDragDropEvent* ev)
*/
void QGraphicsWebView::dragMoveEvent(QGraphicsSceneDragDropEvent* ev)
{
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
if (d->page) {
const bool accepted = ev->isAccepted();
d->page->event(ev);
@@ -1055,7 +1055,7 @@ void QGraphicsWebView::dragMoveEvent(QGraphicsSceneDragDropEvent* ev)
*/
void QGraphicsWebView::dropEvent(QGraphicsSceneDragDropEvent* ev)
{
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
if (d->page) {
const bool accepted = ev->isAccepted();
d->page->event(ev);
diff --git a/Source/WebKit/qt/WidgetApi/qwebframe_p.h b/Source/WebKit/qt/WidgetApi/qwebframe_p.h
index 2a1c20278..6b74aa516 100644
--- a/Source/WebKit/qt/WidgetApi/qwebframe_p.h
+++ b/Source/WebKit/qt/WidgetApi/qwebframe_p.h
@@ -42,6 +42,8 @@ public:
: q(0)
, page(0)
{ }
+ ~QWebFramePrivate() override;
+
void setPage(QWebPage*);
inline QWebFrame *parentFrame() { return qobject_cast<QWebFrame*>(q->parent()); }
@@ -49,19 +51,19 @@ public:
static QWebFrame* kit(const QWebFrameAdapter*);
// Adapter implementation
- virtual QWebFrame* apiHandle() OVERRIDE;
- virtual QObject* handle() OVERRIDE;
- virtual void contentsSizeDidChange(const QSize &) OVERRIDE;
- virtual int scrollBarPolicy(Qt::Orientation) const OVERRIDE;
- virtual void emitUrlChanged() OVERRIDE;
- virtual void didStartProvisionalLoad() OVERRIDE;
- virtual void didClearWindowObject() OVERRIDE;
- virtual bool handleProgressFinished(QPoint*) OVERRIDE;
- virtual void emitInitialLayoutCompleted() OVERRIDE;
- virtual void emitIconChanged() OVERRIDE;
- virtual void emitLoadStarted(bool originatingLoad) OVERRIDE;
- virtual void emitLoadFinished(bool originatingLoad, bool ok) OVERRIDE;
- virtual QWebFrameAdapter* createChildFrame(QWebFrameData*) OVERRIDE;
+ QWebFrame* apiHandle() override;
+ QObject* handle() override;
+ void contentsSizeDidChange(const QSize &) override;
+ int scrollBarPolicy(Qt::Orientation) const override;
+ void emitUrlChanged() override;
+ void didStartProvisionalLoad() override;
+ void didClearWindowObject() override;
+ bool handleProgressFinished(QPoint*) override;
+ void emitInitialLayoutCompleted() override;
+ void emitIconChanged() override;
+ void emitLoadStarted(bool originatingLoad) override;
+ void emitLoadFinished(bool originatingLoad, bool ok) override;
+ QWebFrameAdapter* createChildFrame(QWebFrameData*) override;
QWebFrame *q;
QWebPage *page;
diff --git a/Source/WebKit/qt/WidgetApi/qwebinspector.cpp b/Source/WebKit/qt/WidgetApi/qwebinspector.cpp
index 9e3f82e69..bc95047f1 100644
--- a/Source/WebKit/qt/WidgetApi/qwebinspector.cpp
+++ b/Source/WebKit/qt/WidgetApi/qwebinspector.cpp
@@ -158,29 +158,23 @@ void QWebInspector::resizeEvent(QResizeEvent* event)
/*! \reimp */
void QWebInspector::showEvent(QShowEvent* event)
{
-#if ENABLE(INSPECTOR)
// Allows QWebInspector::show() to init the inspector.
if (d->page)
d->page->d->didShowInspector();
-#endif
}
/*! \reimp */
void QWebInspector::hideEvent(QHideEvent* event)
{
-#if ENABLE(INSPECTOR)
if (d->page)
d->page->d->didCloseInspector();
-#endif
}
/*! \reimp */
void QWebInspector::closeEvent(QCloseEvent* event)
{
-#if ENABLE(INSPECTOR)
if (d->page)
d->page->d->didCloseInspector();
-#endif
}
/*! \internal */
@@ -204,3 +198,4 @@ void QWebInspectorPrivate::adjustFrontendSize(const QSize& size)
frontend->resize(size);
}
+#include "moc_qwebinspector.cpp"
diff --git a/Source/WebKit/qt/WidgetApi/qwebpage.cpp b/Source/WebKit/qt/WidgetApi/qwebpage.cpp
index 863621391..d05def87c 100644
--- a/Source/WebKit/qt/WidgetApi/qwebpage.cpp
+++ b/Source/WebKit/qt/WidgetApi/qwebpage.cpp
@@ -22,7 +22,6 @@
#include "config.h"
#include "qwebpage.h"
-#include "DefaultFullScreenVideoHandler.h"
#include "InitWebKitQt.h"
#include "InspectorClientQt.h"
#include "InspectorClientWebPage.h"
@@ -34,7 +33,6 @@
#include "QtFallbackWebPopup.h"
#include "QtPlatformPlugin.h"
#include "UndoStepQt.h"
-#include "WebEventConversion.h"
#include "qwebframe.h"
#include "qwebframe_p.h"
@@ -86,6 +84,10 @@
#include <QX11Info>
#endif
+#if USE(QT_MULTIMEDIA)
+#include "DefaultFullScreenVideoHandler.h"
+#endif
+
using namespace WebCore;
// Lookup table mapping QWebPage::WebActions to the associated Editor commands
@@ -216,30 +218,6 @@ QWebPagePrivate::QWebPagePrivate(QWebPage *qq)
#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
}
-QWebPagePrivate::~QWebPagePrivate()
-{
-#ifndef QT_NO_CONTEXTMENU
- delete currentContextMenu.data();
-#endif
-#ifndef QT_NO_UNDOSTACK
- delete undoStack;
- undoStack = 0;
-#endif
-
- if (inspector) {
- // If the inspector is ours, delete it, otherwise just detach from it.
- if (inspectorIsInternalOnly)
- delete inspector;
- else
- inspector->setPage(0);
- }
- // Explicitly destruct the WebCore page at this point when the
- // QWebPagePrivate / QWebPageAdapater vtables are still intact,
- // in order for various destruction callbacks out of WebCore to
- // work.
- deletePage();
-}
-
void QWebPagePrivate::show()
{
if (!view)
@@ -281,9 +259,10 @@ QWebPageAdapter *QWebPagePrivate::createWindow(bool dialog)
return newPage->d;
}
-void QWebPagePrivate::javaScriptConsoleMessage(const QString &message, int lineNumber, const QString &sourceID)
+void QWebPagePrivate::consoleMessageReceived(MessageSource source, MessageLevel level, const QString& message, int lineNumber, const QString& sourceID)
{
q->javaScriptConsoleMessage(message, lineNumber, sourceID);
+ emit q->consoleMessageReceived(QWebPage::MessageSource(source), QWebPage::MessageLevel(level), message, lineNumber, sourceID);
}
void QWebPagePrivate::javaScriptAlert(QWebFrameAdapter* frame, const QString& msg)
@@ -460,11 +439,9 @@ static QWebPage::WebAction webActionForAdapterMenuAction(QWebPageAdapter::MenuAc
{
switch (action) {
FOR_EACH_MAPPED_MENU_ACTION(MAP_WEB_ACTION_FROM_ADAPTER_EQUIVALENT, SEMICOLON_SEPARATOR);
-#if ENABLE(INSPECTOR)
case QWebPageAdapter::InspectElement: return QWebPage::InspectElement;
-#endif
default:
- ASSERT_NOT_REACHED();
+ Q_UNREACHABLE();
break;
}
return QWebPage::NoWebAction;
@@ -477,11 +454,9 @@ static QWebPageAdapter::MenuAction adapterMenuActionForWebAction(QWebPage::WebAc
{
switch (action) {
FOR_EACH_MAPPED_MENU_ACTION(MAP_ADAPTER_ACTION_FROM_WEBACTION_EQUIVALENT, SEMICOLON_SEPARATOR);
-#if ENABLE(INSPECTOR)
case QWebPage::InspectElement: return QWebPageAdapter::InspectElement;
-#endif
default:
- ASSERT_NOT_REACHED();
+ Q_UNREACHABLE();
break;
}
return QWebPageAdapter::NoAction;
@@ -648,6 +623,16 @@ void QWebPagePrivate::createWebInspector(QObject** inspectorView, QWebPageAdapte
QWebPage* page = new WebKit::InspectorClientWebPage;
*inspectorView = page->view();
*inspectorPage = page->d;
+
+ // FIXME: Find out what's going on with Settings
+ page->settings()->setAttribute(QWebSettings::AcceleratedCompositingEnabled, false);
+
+ // We treat "qrc:" scheme as local, but by default local content is not allowed to use
+ // LocalStorage which is required for Inspector to work.
+ // See https://bugs.webkit.org/show_bug.cgi?id=155265
+ // Alternatively we can make "qrc:" scheme non-local like GTK port does:
+ // https://bugs.webkit.org/show_bug.cgi?id=155497
+ page->settings()->setAttribute(QWebSettings::LocalContentCanAccessRemoteUrls, true);
}
#ifndef QT_NO_MENU
@@ -881,7 +866,7 @@ void QWebPagePrivate::keyReleaseEvent(QKeyEvent *ev)
template<class T>
void QWebPagePrivate::dragEnterEvent(T* ev)
{
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
Qt::DropAction action = dragEntered(ev->mimeData(), QPointF(ev->pos()).toPoint(), ev->possibleActions());
ev->setDropAction(action);
ev->acceptProposedAction();
@@ -891,7 +876,7 @@ void QWebPagePrivate::dragEnterEvent(T* ev)
template<class T>
void QWebPagePrivate::dragMoveEvent(T *ev)
{
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
m_lastDropAction = dragUpdated(ev->mimeData(), QPointF(ev->pos()).toPoint(), ev->possibleActions());
ev->setDropAction(m_lastDropAction);
if (m_lastDropAction != Qt::IgnoreAction)
@@ -902,7 +887,7 @@ void QWebPagePrivate::dragMoveEvent(T *ev)
template<class T>
void QWebPagePrivate::dropEvent(T *ev)
{
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
if (performDrag(ev->mimeData(), QPointF(ev->pos()).toPoint(), ev->possibleActions())) {
ev->setDropAction(m_lastDropAction);
ev->accept();
@@ -1032,7 +1017,6 @@ void QWebPagePrivate::setInspector(QWebInspector* insp)
*/
QWebInspector* QWebPagePrivate::getOrCreateInspector()
{
-#if ENABLE(INSPECTOR)
if (!inspector) {
QWebInspector* insp = new QWebInspector;
insp->setPage(q);
@@ -1040,7 +1024,6 @@ QWebInspector* QWebPagePrivate::getOrCreateInspector()
Q_ASSERT(inspector); // Associated through QWebInspector::setPage(q)
}
-#endif
return inspector;
}
@@ -1214,48 +1197,6 @@ QWebInspector* QWebPagePrivate::getOrCreateInspector()
\value WebModalDialog The window acts as modal dialog.
*/
-/*!
- \enum QWebPage::PermissionPolicy
-
- This enum describes the permission policies that the user may set for data or device access.
-
- \value PermissionUnknown It is unknown whether the user grants or denies permission.
- \value PermissionGrantedByUser The user has granted permission.
- \value PermissionDeniedByUser The user has denied permission.
-
- \sa featurePermissionRequested(), featurePermissionRequestCanceled(), setFeaturePermission(), Feature
-*/
-
-/*!
- \enum QWebPage::Feature
-
- This enum describes the platform feature access categories that the user may be asked to grant or deny access to.
-
- \value Notifications Access to notifications
- \value Geolocation Access to location hardware or service
-
- \sa featurePermissionRequested(), featurePermissionRequestCanceled(), setFeaturePermission(), PermissionPolicy
-
-*/
-
-/*!
- \fn void QWebPage::featurePermissionRequested(QWebFrame* frame, QWebPage::Feature feature);
-
- This is signal is emitted when the given \a frame requests to make use of
- the resource or device identified by \a feature.
-
- \sa featurePermissionRequestCanceled(), setFeaturePermission()
-*/
-
-/*!
- \fn void QWebPage::featurePermissionRequestCanceled(QWebFrame* frame, QWebPage::Feature feature);
-
- This is signal is emitted when the given \a frame cancels a previously issued
- request to make use of \a feature.
-
- \sa featurePermissionRequested(), setFeaturePermission()
-
-*/
/*!
\class QWebPage::ViewportAttributes
@@ -1657,13 +1598,6 @@ bool QWebPage::shouldInterruptJavaScript()
#endif
}
-/*!
- \fn void QWebPage::setFeaturePermission(QWebFrame* frame, Feature feature, PermissionPolicy policy)
-
- Sets the permission for the given \a frame to use \a feature to \a policy.
-
- \sa featurePermissionRequested(), featurePermissionRequestCanceled()
-*/
void QWebPage::setFeaturePermission(QWebFrame* frame, Feature feature, PermissionPolicy policy)
{
#if !ENABLE(NOTIFICATIONS) && !ENABLE(LEGACY_NOTIFICATIONS) && !ENABLE(GEOLOCATION)
@@ -1810,13 +1744,11 @@ void QWebPage::triggerAction(WebAction action, bool)
break;
#endif
case InspectElement: {
-#if ENABLE(INSPECTOR)
if (!d->hitTestResult.isNull()) {
d->getOrCreateInspector(); // Make sure the inspector is created
d->inspector->show(); // The inspector is expected to be shown on inspection
mappedAction = QWebPageAdapter::InspectElement;
}
-#endif
break;
}
case StopScheduledPageRefresh: {
@@ -1849,9 +1781,9 @@ QColor QWebPagePrivate::colorSelectionRequested(const QColor &selectedColor)
return ret;
}
-QWebSelectMethod *QWebPagePrivate::createSelectPopup()
+std::unique_ptr<QWebSelectMethod> QWebPagePrivate::createSelectPopup()
{
- return new QtFallbackWebPopup(this);
+ return std::make_unique<QtFallbackWebPopup>(this);
}
QRect QWebPagePrivate::viewRectRelativeToWindow()
@@ -2204,8 +2136,7 @@ bool QWebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &
return true;
case DelegateExternalLinks:
- if (request.url().scheme().isEmpty() &&
- QWebPageAdapter::treatSchemeAsLocal(frame->baseUrl().scheme()))
+ if (request.url().scheme().isEmpty() && QWebPageAdapter::treatSchemeAsLocal(frame->baseUrl().scheme()))
return true;
if (QWebPageAdapter::treatSchemeAsLocal(request.url().scheme()))
return true;
@@ -2318,9 +2249,7 @@ QAction *QWebPage::action(WebAction action) const
mappedAction = adapterMenuActionForWebAction(action);
break;
case InspectElement:
-#if ENABLE(INSPECTOR)
mappedAction = QWebPageAdapter::InspectElement;
-#endif
break;
// icon needed as well, map by hand.
@@ -2634,7 +2563,7 @@ bool QWebPage::event(QEvent *ev)
case QEvent::FocusOut:
d->focusOutEvent(static_cast<QFocusEvent*>(ev));
break;
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
case QEvent::DragEnter:
d->dragEnterEvent(static_cast<QDragEnterEvent*>(ev));
break;
diff --git a/Source/WebKit/qt/WidgetApi/qwebpage.h b/Source/WebKit/qt/WidgetApi/qwebpage.h
index a9c71fd42..b1de7d6c6 100644
--- a/Source/WebKit/qt/WidgetApi/qwebpage.h
+++ b/Source/WebKit/qt/WidgetApi/qwebpage.h
@@ -80,7 +80,7 @@ class QWEBKITWIDGETS_EXPORT QWebPage : public QObject {
Q_PROPERTY(QPalette palette READ palette WRITE setPalette)
Q_PROPERTY(bool contentEditable READ isContentEditable WRITE setContentEditable)
Q_PROPERTY(VisibilityState visibilityState READ visibilityState WRITE setVisibilityState)
- Q_ENUMS(LinkDelegationPolicy NavigationType VisibilityState WebAction)
+ Q_ENUMS(LinkDelegationPolicy MessageLevel MessageSource NavigationType VisibilityState WebAction)
public:
enum NavigationType {
NavigationTypeLinkClicked,
@@ -233,6 +233,28 @@ public:
VisibilityStateUnloaded
};
+ enum MessageSource {
+ XmlMessageSource,
+ JSMessageSource,
+ NetworkMessageSource,
+ ConsoleAPIMessageSource,
+ StorageMessageSource,
+ AppCacheMessageSource,
+ RenderingMessageSource,
+ CSSMessageSource,
+ SecurityMessageSource,
+ ContentBlockerMessageSource,
+ OtherMessageSource,
+ };
+
+ enum MessageLevel {
+ LogMessageLevel = 1,
+ WarningMessageLevel = 2,
+ ErrorMessageLevel = 3,
+ DebugMessageLevel = 4,
+ InfoMessageLevel = 5,
+ };
+
class QWEBKITWIDGETS_EXPORT ViewportAttributes {
public:
ViewportAttributes();
@@ -426,6 +448,8 @@ Q_SIGNALS:
void featurePermissionRequested(QWebFrame* frame, QWebPage::Feature feature);
void featurePermissionRequestCanceled(QWebFrame* frame, QWebPage::Feature feature);
+ void consoleMessageReceived(MessageSource source, MessageLevel level, const QString& message, int lineNumber, const QString& sourceID);
+
protected:
virtual QWebPage *createWindow(WebWindowType type);
virtual QObject *createPlugin(const QString &classid, const QUrl &url, const QStringList &paramNames, const QStringList &paramValues);
diff --git a/Source/WebKit/qt/WidgetApi/qwebpage_p.cpp b/Source/WebKit/qt/WidgetApi/qwebpage_p.cpp
new file mode 100644
index 000000000..e0146c01f
--- /dev/null
+++ b/Source/WebKit/qt/WidgetApi/qwebpage_p.cpp
@@ -0,0 +1,54 @@
+/*
+ Copyright (C) 2008, 2009, 2012 Nokia Corporation and/or its subsidiary(-ies)
+ Copyright (C) 2007 Staikos Computing Services Inc.
+ Copyright (C) 2007 Apple Inc.
+
+ 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 "qwebpage_p.h"
+
+#include "qwebframe_p.h"
+#include "qwebinspector.h"
+#include <QMenu>
+#include <QUndoStack>
+
+QWebPagePrivate::~QWebPagePrivate()
+{
+#ifndef QT_NO_CONTEXTMENU
+ delete currentContextMenu.data();
+#endif
+#ifndef QT_NO_UNDOSTACK
+ delete undoStack;
+ undoStack = 0;
+#endif
+
+ if (inspector) {
+ // If the inspector is ours, delete it, otherwise just detach from it.
+ if (inspectorIsInternalOnly)
+ delete inspector;
+ else
+ inspector->setPage(0);
+ }
+ // Explicitly destruct the WebCore page at this point when the
+ // QWebPagePrivate / QWebPageAdapater vtables are still intact,
+ // in order for various destruction callbacks out of WebCore to
+ // work.
+ deletePage();
+}
+
+QWebFramePrivate::~QWebFramePrivate() = default;
diff --git a/Source/WebKit/qt/WidgetApi/qwebpage_p.h b/Source/WebKit/qt/WidgetApi/qwebpage_p.h
index 604c0a540..19ab7aff9 100644
--- a/Source/WebKit/qt/WidgetApi/qwebpage_p.h
+++ b/Source/WebKit/qt/WidgetApi/qwebpage_p.h
@@ -77,69 +77,69 @@ public:
static WebCore::Page* core(const QWebPage*);
// Adapter implementation
- virtual void show() OVERRIDE;
- virtual void setFocus() OVERRIDE;
- virtual void unfocus() OVERRIDE;
- virtual void setWindowRect(const QRect &) OVERRIDE;
- virtual QSize viewportSize() const OVERRIDE;
- virtual QWebPageAdapter* createWindow(bool /*dialog*/) OVERRIDE;
- virtual QObject* handle() OVERRIDE { return q; }
- virtual void javaScriptConsoleMessage(const QString& message, int lineNumber, const QString& sourceID) OVERRIDE;
- virtual void javaScriptAlert(QWebFrameAdapter*, const QString& msg) OVERRIDE;
- virtual bool javaScriptConfirm(QWebFrameAdapter*, const QString& msg) OVERRIDE;
- virtual bool javaScriptPrompt(QWebFrameAdapter*, const QString& msg, const QString& defaultValue, QString* result) OVERRIDE;
- virtual bool shouldInterruptJavaScript() OVERRIDE;
- virtual void printRequested(QWebFrameAdapter*) OVERRIDE;
- virtual void databaseQuotaExceeded(QWebFrameAdapter*, const QString& databaseName) OVERRIDE;
- virtual void applicationCacheQuotaExceeded(QWebSecurityOrigin*, quint64 defaultOriginQuota, quint64 totalSpaceNeeded) OVERRIDE;
- virtual void setToolTip(const QString&) OVERRIDE;
+ void show() override;
+ void setFocus() override;
+ void unfocus() override;
+ void setWindowRect(const QRect &) override;
+ QSize viewportSize() const override;
+ QWebPageAdapter* createWindow(bool /*dialog*/) override;
+ QObject* handle() override { return q; }
+ void consoleMessageReceived(MessageSource source, MessageLevel level, const QString& message, int lineNumber, const QString& sourceID) override;
+ void javaScriptAlert(QWebFrameAdapter*, const QString& msg) override;
+ bool javaScriptConfirm(QWebFrameAdapter*, const QString& msg) override;
+ bool javaScriptPrompt(QWebFrameAdapter*, const QString& msg, const QString& defaultValue, QString* result) override;
+ bool shouldInterruptJavaScript() override;
+ void printRequested(QWebFrameAdapter*) override;
+ void databaseQuotaExceeded(QWebFrameAdapter*, const QString& databaseName) override;
+ void applicationCacheQuotaExceeded(QWebSecurityOrigin*, quint64 defaultOriginQuota, quint64 totalSpaceNeeded) override;
+ void setToolTip(const QString&) override;
#if USE(QT_MULTIMEDIA)
- virtual QWebFullScreenVideoHandler* createFullScreenVideoHandler() OVERRIDE;
+ QWebFullScreenVideoHandler* createFullScreenVideoHandler() override;
#endif
- virtual QWebFrameAdapter* mainFrameAdapter() OVERRIDE;
- virtual QStringList chooseFiles(QWebFrameAdapter*, bool allowMultiple, const QStringList& suggestedFileNames) OVERRIDE;
- virtual QColor colorSelectionRequested(const QColor& selectedColor) OVERRIDE;
- virtual QWebSelectMethod* createSelectPopup() OVERRIDE;
- virtual QRect viewRectRelativeToWindow() OVERRIDE;
- virtual void geolocationPermissionRequested(QWebFrameAdapter*) OVERRIDE;
- virtual void geolocationPermissionRequestCancelled(QWebFrameAdapter*) OVERRIDE;
- virtual void notificationsPermissionRequested(QWebFrameAdapter*) OVERRIDE;
- virtual void notificationsPermissionRequestCancelled(QWebFrameAdapter*) OVERRIDE;
-
- virtual void respondToChangedContents() OVERRIDE;
- virtual void respondToChangedSelection() OVERRIDE;
- virtual void microFocusChanged() OVERRIDE;
- virtual void triggerCopyAction() OVERRIDE;
- virtual void triggerActionForKeyEvent(QKeyEvent*) OVERRIDE;
- virtual void clearUndoStack() OVERRIDE;
- virtual bool canUndo() const OVERRIDE;
- virtual bool canRedo() const OVERRIDE;
- virtual void undo() OVERRIDE;
- virtual void redo() OVERRIDE;
- virtual void createUndoStep(QSharedPointer<UndoStepQt>) OVERRIDE;
- virtual const char* editorCommandForKeyEvent(QKeyEvent*) OVERRIDE;
-
- void updateNavigationActions() OVERRIDE;
-
- virtual QObject* inspectorHandle() OVERRIDE;
- virtual void setInspectorFrontend(QObject*) OVERRIDE;
- virtual void setInspectorWindowTitle(const QString&) OVERRIDE;
- virtual void createWebInspector(QObject** inspectorView, QWebPageAdapter** inspectorPage) OVERRIDE;
- virtual QStringList menuActionsAsText() OVERRIDE;
- virtual void emitViewportChangeRequested() OVERRIDE;
- virtual bool acceptNavigationRequest(QWebFrameAdapter*, const QNetworkRequest&, int type) OVERRIDE;
- virtual void emitRestoreFrameStateRequested(QWebFrameAdapter*) OVERRIDE;
- virtual void emitSaveFrameStateRequested(QWebFrameAdapter*, QWebHistoryItem*) OVERRIDE;
- virtual void emitDownloadRequested(const QNetworkRequest&) OVERRIDE;
- virtual void emitFrameCreated(QWebFrameAdapter*) OVERRIDE;
- virtual QString userAgentForUrl(const QUrl &url) const OVERRIDE { return q->userAgentForUrl(url); }
- virtual bool supportsErrorPageExtension() const OVERRIDE { return q->supportsExtension(QWebPage::ErrorPageExtension); }
- virtual bool errorPageExtension(ErrorPageOption *, ErrorPageReturn *) OVERRIDE;
- virtual QtPluginWidgetAdapter* createPlugin(const QString &, const QUrl &, const QStringList &, const QStringList &) OVERRIDE;
- virtual QtPluginWidgetAdapter* adapterForWidget(QObject *) const OVERRIDE;
- virtual bool requestSoftwareInputPanel() const OVERRIDE;
- virtual void createAndSetCurrentContextMenu(const QList<MenuItemDescription>&, QBitArray*) OVERRIDE;
- virtual bool handleScrollbarContextMenuEvent(QContextMenuEvent*, bool, ScrollDirection*, ScrollGranularity*) OVERRIDE;
+ QWebFrameAdapter* mainFrameAdapter() override;
+ QStringList chooseFiles(QWebFrameAdapter*, bool allowMultiple, const QStringList& suggestedFileNames) override;
+ QColor colorSelectionRequested(const QColor& selectedColor) override;
+ std::unique_ptr<QWebSelectMethod> createSelectPopup() override;
+ QRect viewRectRelativeToWindow() override;
+ void geolocationPermissionRequested(QWebFrameAdapter*) override;
+ void geolocationPermissionRequestCancelled(QWebFrameAdapter*) override;
+ void notificationsPermissionRequested(QWebFrameAdapter*) override;
+ void notificationsPermissionRequestCancelled(QWebFrameAdapter*) override;
+
+ void respondToChangedContents() override;
+ void respondToChangedSelection() override;
+ void microFocusChanged() override;
+ void triggerCopyAction() override;
+ void triggerActionForKeyEvent(QKeyEvent*) override;
+ void clearUndoStack() override;
+ bool canUndo() const override;
+ bool canRedo() const override;
+ void undo() override;
+ void redo() override;
+ void createUndoStep(QSharedPointer<UndoStepQt>) override;
+ const char* editorCommandForKeyEvent(QKeyEvent*) override;
+
+ void updateNavigationActions() override;
+
+ QObject* inspectorHandle() override;
+ void setInspectorFrontend(QObject*) override;
+ void setInspectorWindowTitle(const QString&) override;
+ void createWebInspector(QObject** inspectorView, QWebPageAdapter** inspectorPage) override;
+ QStringList menuActionsAsText() override;
+ void emitViewportChangeRequested() override;
+ bool acceptNavigationRequest(QWebFrameAdapter*, const QNetworkRequest&, int type) override;
+ void emitRestoreFrameStateRequested(QWebFrameAdapter*) override;
+ void emitSaveFrameStateRequested(QWebFrameAdapter*, QWebHistoryItem*) override;
+ void emitDownloadRequested(const QNetworkRequest&) override;
+ void emitFrameCreated(QWebFrameAdapter*) override;
+ QString userAgentForUrl(const QUrl &url) const override { return q->userAgentForUrl(url); }
+ bool supportsErrorPageExtension() const override { return q->supportsExtension(QWebPage::ErrorPageExtension); }
+ bool errorPageExtension(ErrorPageOption *, ErrorPageReturn *) override;
+ QtPluginWidgetAdapter* createPlugin(const QString &, const QUrl &, const QStringList &, const QStringList &) override;
+ QtPluginWidgetAdapter* adapterForWidget(QObject *) const override;
+ bool requestSoftwareInputPanel() const override;
+ void createAndSetCurrentContextMenu(const QList<MenuItemDescription>&, QBitArray*) override;
+ bool handleScrollbarContextMenuEvent(QContextMenuEvent*, bool, ScrollDirection*, ScrollGranularity*) override;
void createMainFrame();
diff --git a/Source/WebKit/qt/WidgetApi/qwebview.cpp b/Source/WebKit/qt/WidgetApi/qwebview.cpp
index 05cf042b0..d7fcaf66f 100644
--- a/Source/WebKit/qt/WidgetApi/qwebview.cpp
+++ b/Source/WebKit/qt/WidgetApi/qwebview.cpp
@@ -968,7 +968,7 @@ void QWebView::focusOutEvent(QFocusEvent* ev)
*/
void QWebView::dragEnterEvent(QDragEnterEvent* ev)
{
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
if (d->page)
d->page->event(ev);
#endif
@@ -978,7 +978,7 @@ void QWebView::dragEnterEvent(QDragEnterEvent* ev)
*/
void QWebView::dragLeaveEvent(QDragLeaveEvent* ev)
{
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
if (d->page)
d->page->event(ev);
#endif
@@ -988,7 +988,7 @@ void QWebView::dragLeaveEvent(QDragLeaveEvent* ev)
*/
void QWebView::dragMoveEvent(QDragMoveEvent* ev)
{
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
if (d->page)
d->page->event(ev);
#endif
@@ -998,7 +998,7 @@ void QWebView::dragMoveEvent(QDragMoveEvent* ev)
*/
void QWebView::dropEvent(QDropEvent* ev)
{
-#ifndef QT_NO_DRAGANDDROP
+#if ENABLE(DRAG_SUPPORT)
if (d->page)
d->page->event(ev);
#endif
diff --git a/Source/WebKit/qt/WidgetApi/qwebviewaccessible.cpp b/Source/WebKit/qt/WidgetApi/qwebviewaccessible.cpp
index 7cae19a1a..c0694ad1a 100644
--- a/Source/WebKit/qt/WidgetApi/qwebviewaccessible.cpp
+++ b/Source/WebKit/qt/WidgetApi/qwebviewaccessible.cpp
@@ -18,6 +18,9 @@
*/
#include "config.h"
+
+#ifndef QT_NO_ACCESSIBILITY
+
#include "qwebviewaccessible_p.h"
#include "qwebframe.h"
@@ -150,3 +153,5 @@ QAccessibleInterface* QWebViewAccessible::child(int index) const
return new QWebPageAccessible(view()->page());
return 0;
}
+
+#endif // !QT_NO_ACCESSIBILITY
diff --git a/Source/WebKit/qt/WidgetApi/qwebviewaccessible_p.h b/Source/WebKit/qt/WidgetApi/qwebviewaccessible_p.h
index 7cbf44870..237852dda 100644
--- a/Source/WebKit/qt/WidgetApi/qwebviewaccessible_p.h
+++ b/Source/WebKit/qt/WidgetApi/qwebviewaccessible_p.h
@@ -24,6 +24,8 @@
#include <qaccessibleobject.h>
#include <qaccessiblewidget.h>
+#ifndef QT_NO_ACCESSIBILITY
+
class QWebFrame;
class QWebPage;
class QWebView;
@@ -79,4 +81,6 @@ public:
QAccessibleInterface* child(int index) const;
};
+#endif // !QT_NO_ACCESSIBILITY
+
#endif
diff --git a/Source/WebKit/qt/WidgetSupport/DefaultFullScreenVideoHandler.h b/Source/WebKit/qt/WidgetSupport/DefaultFullScreenVideoHandler.h
index aede68952..4e3fcf0a3 100644
--- a/Source/WebKit/qt/WidgetSupport/DefaultFullScreenVideoHandler.h
+++ b/Source/WebKit/qt/WidgetSupport/DefaultFullScreenVideoHandler.h
@@ -20,14 +20,12 @@
#ifndef DefaultFullScreenVideoHandler_h
#define DefaultFullScreenVideoHandler_h
-#include "qwebkitplatformplugin.h"
+#include "qwebfullscreenvideohandler.h"
namespace WebKit {
class FullScreenVideoWidget;
-// We do not use ENABLE or USE because moc does not expand these macros.
-#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
class DefaultFullScreenVideoHandler : public QWebFullScreenVideoHandler {
Q_OBJECT
public:
@@ -43,7 +41,6 @@ private:
static bool s_shouldForceFullScreenVideoPlayback;
FullScreenVideoWidget *m_fullScreenWidget;
};
-#endif
} // namespace WebKit
diff --git a/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp b/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp
index 858290f6e..6ae5f12c4 100644
--- a/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp
+++ b/Source/WebKit/qt/WidgetSupport/PageClientQt.cpp
@@ -21,6 +21,8 @@
#include "config.h"
#include "PageClientQt.h"
+#include "Widget.h"
+
#include <QGraphicsScene>
#include <QGraphicsView>
@@ -31,14 +33,6 @@
#ifdef QT_OPENGL_LIB
#include <QGLWidget>
#endif
-#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0)
-#include <QOpenGLWidget>
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
-#include "TextureMapper.h"
-#include "texmap/TextureMapperLayer.h"
-#endif
QWindow* QWebPageClient::ownerWindow() const
{
@@ -189,54 +183,20 @@ void PageClientQGraphicsWidget::repaintViewport()
bool PageClientQGraphicsWidget::makeOpenGLContextCurrentIfAvailable()
{
-#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL)
+#if USE(TEXTURE_MAPPER_GL) && defined(QT_OPENGL_LIB)
QGraphicsView* graphicsView = firstGraphicsView();
if (graphicsView && graphicsView->viewport()) {
- QWidget *widget = graphicsView->viewport();
-#if defined(QT_OPENGL_LIB)
- if (widget->inherits("QGLWidget")) {
-
- QGLWidget* glWidget = static_cast<QGLWidget*>(widget);
+ QGLWidget* glWidget = qobject_cast<QGLWidget*>(graphicsView->viewport());
+ if (glWidget) {
// The GL context belonging to the QGLWidget viewport must be current when TextureMapper is being created.
glWidget->makeCurrent();
return true;
}
-#endif
-#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0)
- if (widget->inherits("QOpenGLWidget")) {
- QOpenGLWidget *qoglWidget = static_cast<QOpenGLWidget*>(widget);
- qoglWidget->makeCurrent();
- return true;
- }
-#endif
}
#endif
return false;
}
-QOpenGLContext* PageClientQGraphicsWidget::openGLContextIfAvailable()
-{
-#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER_GL)
- QGraphicsView* graphicsView = firstGraphicsView();
- if (graphicsView && graphicsView->viewport()) {
- QWidget *widget = graphicsView->viewport();
-#if defined(QT_OPENGL_LIB)
- if (widget->inherits("QGLWidget")) {
- QGLWidget* glWidget = static_cast<QGLWidget*>(widget);
- return glWidget->context()->contextHandle();
- }
-#endif
-#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0)
- if (widget->inherits("QOpenGLWidget")) {
- QOpenGLWidget *qoglWidget = static_cast<QOpenGLWidget*>(widget);
- return qoglWidget->context();
- }
-#endif
- }
-#endif
- return 0;
-}
-
void PageClientQGraphicsWidget::setInputMethodEnabled(bool enable)
{
view->setFlag(QGraphicsItem::ItemAcceptsInputMethod, enable);
diff --git a/Source/WebKit/qt/WidgetSupport/PageClientQt.h b/Source/WebKit/qt/WidgetSupport/PageClientQt.h
index 8c7953634..94de09494 100644
--- a/Source/WebKit/qt/WidgetSupport/PageClientQt.h
+++ b/Source/WebKit/qt/WidgetSupport/PageClientQt.h
@@ -21,18 +21,12 @@
#ifndef PageClientQt_h
#define PageClientQt_h
-#include "FrameView.h"
-#include "GraphicsContext.h"
-#include "IntRect.h"
#include "QWebPageClient.h"
-#include "TextureMapperLayerClientQt.h"
-#include "TiledBackingStore.h"
#include "qgraphicswebview.h"
#include "qwebframe.h"
#include "qwebframe_p.h"
#include "qwebpage.h"
#include "qwebpage_p.h"
-#include <Settings.h>
#include <qgraphicsscene.h>
#include <qgraphicsview.h>
#include <qgraphicswidget.h>
@@ -133,11 +127,9 @@ public:
, overlay(0)
{
Q_ASSERT(view);
-#if USE(ACCELERATED_COMPOSITING)
// the overlay and stays alive for the lifetime of
// this QGraphicsWebView as the scrollbars are needed when there's no compositing
view->setFlag(QGraphicsItem::ItemUsesExtendedStyleOption);
-#endif
}
virtual ~PageClientQGraphicsWidget();
@@ -176,7 +168,6 @@ public:
#endif
virtual bool makeOpenGLContextCurrentIfAvailable();
- virtual QOpenGLContext* openGLContextIfAvailable();
virtual QRectF windowRect() const;
diff --git a/Source/WebKit/qt/WidgetSupport/QGraphicsWidgetPluginImpl.h b/Source/WebKit/qt/WidgetSupport/QGraphicsWidgetPluginImpl.h
index 7be9bcb8d..cddcbc5c9 100644
--- a/Source/WebKit/qt/WidgetSupport/QGraphicsWidgetPluginImpl.h
+++ b/Source/WebKit/qt/WidgetSupport/QGraphicsWidgetPluginImpl.h
@@ -33,12 +33,12 @@ class QGraphicsWidgetPluginImpl : public QtPluginWidgetAdapter {
public:
QGraphicsWidgetPluginImpl(QGraphicsWidget *w) : m_graphicsWidget(w) { }
virtual ~QGraphicsWidgetPluginImpl();
- virtual void update(const QRect &) OVERRIDE;
- virtual void setGeometryAndClip(const QRect&, const QRect&, bool) OVERRIDE;
- virtual void setVisible(bool);
- virtual void setStyleSheet(const QString&) OVERRIDE { }
- virtual void setWidgetParent(QObject*) OVERRIDE;
- virtual QObject* handle() const OVERRIDE;
+ void update(const QRect &) override;
+ void setGeometryAndClip(const QRect&, const QRect&, bool) override;
+ void setVisible(bool) override;
+ void setStyleSheet(const QString&) override { }
+ void setWidgetParent(QObject*) override;
+ QObject* handle() const override;
private:
QGraphicsWidget *m_graphicsWidget;
};
diff --git a/Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.cpp b/Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.cpp
index 6881d9d74..5efb9a9af 100644
--- a/Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.cpp
+++ b/Source/WebKit/qt/WidgetSupport/QStyleFacadeImp.cpp
@@ -61,7 +61,7 @@ static QStyle::SubControl convertToQStyleSubControl(QStyleFacade::SubControl sc)
switch (sc) {
FOR_EACH_SUBCONTROL(CONVERT_SUBCONTROL, SEMICOLON);
}
- ASSERT_NOT_REACHED();
+ Q_UNREACHABLE();
return QStyle::SC_None;
#undef CONVERT_SUBCONTROL
}
@@ -118,7 +118,7 @@ static QStyle::PixelMetric convertPixelMetric(QStyleFacade::PixelMetric state)
switch (state) {
FOR_EACH_MAPPED_METRIC(CONVERT_METRIC, SEMICOLON);
}
- ASSERT_NOT_REACHED();
+ Q_UNREACHABLE();
return QStyle::PM_CustomBase;
#undef CONVERT_METRIC
@@ -132,7 +132,7 @@ static QStyleFacade::SubControl convertToQStyleFacadeSubControl(QStyle::SubContr
switch (sc) {
FOR_EACH_SUBCONTROL(CONVERT_SUBCONTROL, SEMICOLON);
}
- ASSERT_NOT_REACHED();
+ Q_UNREACHABLE();
return QStyleFacade::SC_None;
#undef CONVERT_SUBCONTROL
}
@@ -165,7 +165,7 @@ QRect QStyleFacadeImp::buttonSubElementRect(QStyleFacade::ButtonSubElement butto
switch (buttonElement) {
case PushButtonLayoutItem: subElement = QStyle::SE_PushButtonLayoutItem; break;
case PushButtonContents: subElement = QStyle::SE_PushButtonContents; break;
- default: ASSERT_NOT_REACHED();
+ default: Q_UNREACHABLE();
}
return style()->subElementRect(subElement, &option);
}
diff --git a/Source/WebKit/qt/WidgetSupport/QWidgetPluginImpl.h b/Source/WebKit/qt/WidgetSupport/QWidgetPluginImpl.h
index 7892d8efc..c0ecbcd04 100644
--- a/Source/WebKit/qt/WidgetSupport/QWidgetPluginImpl.h
+++ b/Source/WebKit/qt/WidgetSupport/QWidgetPluginImpl.h
@@ -31,12 +31,12 @@ class QWidgetPluginImpl : public QtPluginWidgetAdapter {
public:
QWidgetPluginImpl(QWidget *w) : m_widget(w) { }
virtual ~QWidgetPluginImpl();
- virtual void update(const QRect &) OVERRIDE;
- virtual void setGeometryAndClip(const QRect&, const QRect&, bool isVisible) OVERRIDE;
- virtual void setVisible(bool) OVERRIDE;
- virtual void setStyleSheet(const QString&) OVERRIDE;
- virtual void setWidgetParent(QObject *) OVERRIDE;
- virtual QObject* handle() const OVERRIDE;
+ void update(const QRect &) override;
+ void setGeometryAndClip(const QRect&, const QRect&, bool isVisible) override;
+ void setVisible(bool) override;
+ void setStyleSheet(const QString&) override;
+ void setWidgetParent(QObject *) override;
+ QObject* handle() const override;
private:
QWidget *m_widget;
};
diff --git a/Source/WebKit/qt/WidgetSupport/QtFallbackWebPopup.h b/Source/WebKit/qt/WidgetSupport/QtFallbackWebPopup.h
index 975fa4025..cc2c6adb9 100644
--- a/Source/WebKit/qt/WidgetSupport/QtFallbackWebPopup.h
+++ b/Source/WebKit/qt/WidgetSupport/QtFallbackWebPopup.h
@@ -21,8 +21,8 @@
#define QtFallbackWebPopup_h
#include "qwebkitplatformplugin.h"
-#include <wtf/Platform.h>
#include <QtCore/QPointer>
+#include <wtf/Platform.h>
#ifndef QT_NO_COMBOBOX
diff --git a/Source/WebKit/qt/WidgetSupport/QtWebComboBox.h b/Source/WebKit/qt/WidgetSupport/QtWebComboBox.h
index 90b617b3d..1bdb7151a 100644
--- a/Source/WebKit/qt/WidgetSupport/QtWebComboBox.h
+++ b/Source/WebKit/qt/WidgetSupport/QtWebComboBox.h
@@ -36,7 +36,7 @@ public:
void showPopupAtCursorPosition();
virtual bool eventFilter(QObject* watched, QEvent*);
- virtual void hidePopup() OVERRIDE;
+ void hidePopup() override;
void deleteComboBox();
Q_SIGNALS:
diff --git a/Source/WebKit/qt/declarative/declarative.pro b/Source/WebKit/qt/declarative/declarative.pro
deleted file mode 100644
index 71ed4f14d..000000000
--- a/Source/WebKit/qt/declarative/declarative.pro
+++ /dev/null
@@ -1,18 +0,0 @@
-# -------------------------------------------------------------------
-# Main project file for the Qt Quick (QML) plugin
-#
-# See 'Tools/qmake/README' for an overview of the build system
-# -------------------------------------------------------------------
-
-TEMPLATE = subdirs
-CONFIG += ordered
-
-public_api.file = public.pri
-public_api.makefile = Makefile.declarative.public
-SUBDIRS += public_api
-
-build?(webkit2): {
- experimental_api.file = experimental/experimental.pri
- experimental_api.makefile = Makefile.declarative.experimental
- SUBDIRS += experimental_api
-}
diff --git a/Source/WebKit/qt/declarative/experimental/experimental.pri b/Source/WebKit/qt/declarative/experimental/experimental.pri
deleted file mode 100644
index c59f4569e..000000000
--- a/Source/WebKit/qt/declarative/experimental/experimental.pri
+++ /dev/null
@@ -1,48 +0,0 @@
-# -------------------------------------------------------------------
-# Project file for the Qt Quick (QML) experimental API plugin
-#
-# See 'Tools/qmake/README' for an overview of the build system
-# -------------------------------------------------------------------
-
-TEMPLATE = lib
-TARGET = qmlwebkitexperimentalplugin
-
-TARGET.module_name = QtWebKit/experimental
-
-CONFIG += plugin
-
-cpqmldir.files = $${_PRO_FILE_PWD_}/qmldir
-cpqmldir.path = $${ROOT_BUILD_DIR}/imports/$${TARGET.module_name}
-COPIES += cpqmldir
-
-contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
-
-wince*:LIBS += $$QMAKE_LIBS_GUI
-
-QT += network quick quick-private webkit webkit-private
-
-DESTDIR = $${ROOT_BUILD_DIR}/imports/$${TARGET.module_name}
-
-CONFIG += rpath
-RPATHDIR_RELATIVE_TO_DESTDIR = ../../lib
-
-SOURCES += plugin.cpp
-
-DEFINES += HAVE_WEBKIT2
-
-WEBKIT += wtf javascriptcore webkit2
-
-# The fallback to QT_INSTALL_IMPORTS can be removed once we
-# depend on Qt 5 RC1.
-importPath = $$[QT_INSTALL_QML]
-isEmpty(importPath): importPath = $$[QT_INSTALL_IMPORTS]
-
-target.path = $${importPath}/$${TARGET.module_name}
-
-
-qmldir.files += $$PWD/qmldir
-qmldir.path += $${importPath}/$${TARGET.module_name}
-
-INSTALLS += target qmldir
-
-
diff --git a/Source/WebKit/qt/declarative/plugin.cpp b/Source/WebKit/qt/declarative/plugin.cpp
index 1aa00a900..b1a176ccf 100644
--- a/Source/WebKit/qt/declarative/plugin.cpp
+++ b/Source/WebKit/qt/declarative/plugin.cpp
@@ -57,7 +57,7 @@ public:
qmlRegisterType<QQuickWebView>(uri, 3, 0, "WebView");
qmlRegisterUncreatableType<QQuickWebPage>(uri, 3, 0, "WebPage", QObject::tr("Cannot create separate instance of WebPage, use WebView"));
qmlRegisterUncreatableType<QNetworkReply>(uri, 3, 0, "NetworkReply", QObject::tr("Cannot create separate instance of NetworkReply"));
- qmlRegisterUncreatableType<QWebNavigationRequest>(uri, 3, 0, "NavigationRequest", QObject::tr("Cannot create separate instance of NavigationRequest"));
+ qmlRegisterUncreatableType<QWebNavigationRequest, 1>(uri, 3, 1, "NavigationRequest", QObject::tr("Cannot create separate instance of NavigationRequest"));
qmlRegisterUncreatableType<QWebLoadRequest>(uri, 3, 0, "WebLoadRequest", QObject::tr("Cannot create separate instance of WebLoadRequest"));
#endif
}
diff --git a/Source/WebKit/qt/declarative/public.pri b/Source/WebKit/qt/declarative/public.pri
deleted file mode 100644
index bdef38045..000000000
--- a/Source/WebKit/qt/declarative/public.pri
+++ /dev/null
@@ -1,50 +0,0 @@
-# -------------------------------------------------------------------
-# Project file for the QtWebKit QML plugin
-#
-# See 'Tools/qmake/README' for an overview of the build system
-# -------------------------------------------------------------------
-
-TEMPLATE = lib
-TARGET = qmlwebkitplugin
-
-TARGET.module_name = QtWebKit
-
-CONFIG += plugin
-
-cpqmldir.files = $${_PRO_FILE_PWD_}/qmldir
-cpqmldir.path = $${ROOT_BUILD_DIR}/imports/$${TARGET.module_name}
-COPIES += cpqmldir
-
-contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
-
-wince*:LIBS += $$QMAKE_LIBS_GUI
-
-QT += webkit webkit-private quick quick-private
-
-WEBKIT += wtf
-
-DESTDIR = $${ROOT_BUILD_DIR}/imports/$${TARGET.module_name}
-
-CONFIG += rpath
-RPATHDIR_RELATIVE_TO_DESTDIR = ../../lib
-
-SOURCES += plugin.cpp
-
-build?(webkit2): {
- DEFINES += HAVE_WEBKIT2
- QT += network
-}
-
-
-importPath = $$[QT_INSTALL_QML]
-isEmpty(importPath){
- importPath = $$[QT_INSTALL_IMPORTS]
-} else {
- target.path = $${importPath}/$${TARGET.module_name}
- INSTALLS += target
-}
-
-qmldir.files += $$PWD/qmldir $$PWD/plugins.qmltypes
-qmldir.path += $${importPath}/$${TARGET.module_name}
-
-INSTALLS += qmldir
diff --git a/Source/WebKit/qt/docs/qtwebkit.qdoc b/Source/WebKit/qt/docs/qtwebkit.qdoc
index f8f22fbd9..f72d39a32 100644
--- a/Source/WebKit/qt/docs/qtwebkit.qdoc
+++ b/Source/WebKit/qt/docs/qtwebkit.qdoc
@@ -175,7 +175,7 @@
\endtable
\table
- \header \li Mac OS X
+ \header \li \macos
\row \li
\list
\li \c{Library/Internet Plug-Ins} in the user's home directory
diff --git a/Source/WebKit/qt/docs/webkitsnippets/simple/simple.pro b/Source/WebKit/qt/docs/webkitsnippets/simple/simple.pro
deleted file mode 100644
index 7fe095809..000000000
--- a/Source/WebKit/qt/docs/webkitsnippets/simple/simple.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-QT += webkitwidgets
-SOURCES = main.cpp
diff --git a/Source/WebKit/qt/examples/examples.pro b/Source/WebKit/qt/examples/examples.pro
deleted file mode 100644
index f8dc5893e..000000000
--- a/Source/WebKit/qt/examples/examples.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-TEMPLATE = subdirs
-SUBDIRS = platformplugin \ No newline at end of file
diff --git a/Source/WebKit/qt/examples/platformplugin/WebPlugin.cpp b/Source/WebKit/qt/examples/platformplugin/WebPlugin.cpp
index c71751177..1f5924c84 100644
--- a/Source/WebKit/qt/examples/platformplugin/WebPlugin.cpp
+++ b/Source/WebKit/qt/examples/platformplugin/WebPlugin.cpp
@@ -210,7 +210,7 @@ MultipleSelectionPopup::MultipleSelectionPopup(const QWebSelectData& data)
resize(size().width(), visibleItemCount * gMaemoListItemSize);
}
-#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
+#if defined(USE_QT_MULTIMEDIA) && USE_QT_MULTIMEDIA
FullScreenVideoWidget::FullScreenVideoWidget(QMediaPlayer* player)
: QVideoWidget()
, m_mediaPlayer(player)
@@ -286,7 +286,7 @@ bool WebPlugin::supportsExtension(Extension extension) const
#endif
case TouchInteraction:
return true;
-#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
+#if defined(USE_QT_MULTIMEDIA) && USE_QT_MULTIMEDIA
case FullScreenVideoPlayer:
return true;
#endif
@@ -306,7 +306,7 @@ QObject* WebPlugin::createExtension(Extension extension) const
#endif
case TouchInteraction:
return new TouchModifier();
-#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
+#if defined(USE_QT_MULTIMEDIA) && USE_QT_MULTIMEDIA
case FullScreenVideoPlayer:
return new FullScreenVideoHandler();
#endif
diff --git a/Source/WebKit/qt/examples/platformplugin/WebPlugin.h b/Source/WebKit/qt/examples/platformplugin/WebPlugin.h
index 69181f016..fe2e7d108 100644
--- a/Source/WebKit/qt/examples/platformplugin/WebPlugin.h
+++ b/Source/WebKit/qt/examples/platformplugin/WebPlugin.h
@@ -24,7 +24,7 @@
#include "WebNotificationPresenter.h"
#include <QDialog>
-#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
+#if defined(USE_QT_MULTIMEDIA) && USE_QT_MULTIMEDIA
#include <QVideoWidget>
#endif
@@ -101,7 +101,7 @@ public:
}
};
-#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
+#if defined(USE_QT_MULTIMEDIA) && USE_QT_MULTIMEDIA
class FullScreenVideoWidget : public QVideoWidget {
Q_OBJECT
public:
diff --git a/Source/WebKit/qt/examples/platformplugin/platformplugin.pro b/Source/WebKit/qt/examples/platformplugin/platformplugin.pro
deleted file mode 100644
index bf8fc5b94..000000000
--- a/Source/WebKit/qt/examples/platformplugin/platformplugin.pro
+++ /dev/null
@@ -1,36 +0,0 @@
-TEMPLATE = lib
-TARGET = platformplugin
-
-QT += core gui widgets
-CONFIG += plugin
-use?(QT_MULTIMEDIA): QT += multimedia multimediawidgets
-
-## load mobilityconfig if mobility is available
-load(mobilityconfig, true)
-
-# HTML5 Media Support
-# We require QtMultimedia
-!contains(DEFINES, ENABLE_VIDEO=.) {
- contains(MOBILITY_CONFIG, multimedia) {
- CONFIG += mobility
- MOBILITY += multimedia
- DEFINES -= ENABLE_VIDEO=0
- DEFINES += ENABLE_VIDEO=1
- DEFINES -= WTF_USE_QT_MULTIMEDIA=0
- DEFINES += WTF_USE_QT_MULTIMEDIA=1
- }
-}
-
-DESTDIR = $$[QT_INSTALL_PLUGINS]/webkit
-
-SOURCES += \
- WebPlugin.cpp \
- WebNotificationPresenter.cpp
-
-HEADERS += \
- WebPlugin.h \
- qwebkitplatformplugin.h \
- WebNotificationPresenter.h
-
-!contains(DEFINES, ENABLE_LEGACY_NOTIFICATIONS=.): DEFINES += ENABLE_LEGACY_NOTIFICATIONS=1
-!contains(DEFINES, ENABLE_NOTIFICATIONS=.): DEFINES += ENABLE_NOTIFICATIONS=1
diff --git a/Source/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h b/Source/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h
index a1d8ba1e1..8754a0a0b 100644
--- a/Source/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h
+++ b/Source/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h
@@ -27,7 +27,7 @@
* and may be changed from version to version or even be completely removed.
*/
-#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
+#if defined(USE_QT_MULTIMEDIA) && USE_QT_MULTIMEDIA
#include <QMediaPlayer>
#endif
#include <QtCore/QObject>
@@ -122,7 +122,7 @@ public:
virtual unsigned hitTestPaddingForTouch(const PaddingDirection) const = 0;
};
-#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
+#if defined(USE_QT_MULTIMEDIA) && USE_QT_MULTIMEDIA
class QWebFullScreenVideoHandler : public QObject {
Q_OBJECT
public:
diff --git a/Source/WebKit/qt/tests/CMakeLists.txt b/Source/WebKit/qt/tests/CMakeLists.txt
new file mode 100644
index 000000000..9054ba1ae
--- /dev/null
+++ b/Source/WebKit/qt/tests/CMakeLists.txt
@@ -0,0 +1,67 @@
+cmake_minimum_required(VERSION 2.8.12)
+
+include_directories(
+ "${CMAKE_BINARY_DIR}"
+ "${CMAKE_SOURCE_DIR}/Source"
+ "${DERIVED_SOURCES_DIR}/ForwardingHeaders"
+ "${DERIVED_SOURCES_WEBKIT_DIR}"
+ "${WEBCORE_DIR}"
+ "${WEBCORE_DIR}/platform"
+ "${WEBCORE_DIR}/platform/qt"
+ "${WEBKIT_DIR}/qt/Api"
+ "${WEBKIT_DIR}/qt/WidgetApi"
+
+ "${JAVASCRIPTCORE_DIR}"
+ "${WTF_DIR}"
+)
+
+include_directories(SYSTEM
+ ${ICU_INCLUDE_DIRS}
+ ${Qt5Widgets_INCLUDE_DIRS}
+ ${Qt5Test_INCLUDE_DIRS}
+)
+
+set(QtWK1ApiTests_LIBRARIES
+ ${Qt5Gui_LIBRARIES}
+ ${Qt5Network_LIBRARIES}
+ ${Qt5Test_LIBRARIES}
+ ${Qt5Widgets_LIBRARIES}
+ WebCoreTestSupport
+ WebKitWidgets
+)
+
+# Inspired by EFL WK2 tests
+set(QtWK1ApiTests_RUNTIME_OUTPUT_DIRECTORY
+ ${CMAKE_BINARY_DIR}/tests
+)
+
+set(QtWK1ApiTests
+ keyeddecoderqt
+ keyedencoderqt
+
+ qgraphicswebview
+ qobjectbridge
+ qwebelement
+ qwebframe
+ qwebhistory
+ qwebhistoryinterface
+ qwebinspector
+ qwebsecurityorigin
+ qwebview
+)
+
+if (ENABLE_API_TESTS)
+ foreach (testName ${QtWK1ApiTests})
+ set(tst_${testName}_SOURCES ${testName}/tst_${testName}.cpp)
+ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${testName}/tst_${testName}.qrc")
+ qt5_add_resources(tst_${testName}_SOURCES ${testName}/tst_${testName}.qrc)
+ endif ()
+
+ add_executable(tst_${testName} ${tst_${testName}_SOURCES})
+ target_link_libraries(tst_${testName} ${QtWK1ApiTests_LIBRARIES})
+ set_target_properties(tst_${testName} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${QtWK1ApiTests_RUNTIME_OUTPUT_DIRECTORY})
+
+ add_test(${testName} "${QtWK1ApiTests_RUNTIME_OUTPUT_DIRECTORY}/tst_${testName}")
+ set_tests_properties(${testName} PROPERTIES TIMEOUT 60)
+ endforeach ()
+endif ()
diff --git a/Source/WebKit/qt/tests/MIMESniffing/MIMESniffing.pro b/Source/WebKit/qt/tests/MIMESniffing/MIMESniffing.pro
deleted file mode 100644
index 288e10402..000000000
--- a/Source/WebKit/qt/tests/MIMESniffing/MIMESniffing.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-include(../tests.pri)
-TARGET = MIMESniffing
-CONFIG += console
-
-!contains(CONFIG, gprof) {
- SOURCES += ../../../../WebCore/platform/network/MIMESniffing.cpp
-}
-
-HEADERS += \
- ../../../../WebCore/platform/network/MIMESniffing.h \
- TestData.h
-
-INCLUDEPATH += \
- ../../../../WebCore/platform/network \
- ../../../../JavaScriptCore \
- ../../../../JavaScriptCore/runtime \
- ../../../../WTF
-
-RESOURCES += resources.qrc
diff --git a/Source/WebKit/qt/tests/benchmarks/loading/loading.pro b/Source/WebKit/qt/tests/benchmarks/loading/loading.pro
deleted file mode 100644
index 2677a2200..000000000
--- a/Source/WebKit/qt/tests/benchmarks/loading/loading.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-include(../../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/Source/WebKit/qt/tests/benchmarks/painting/painting.pro b/Source/WebKit/qt/tests/benchmarks/painting/painting.pro
deleted file mode 100644
index 2677a2200..000000000
--- a/Source/WebKit/qt/tests/benchmarks/painting/painting.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-include(../../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/Source/WebKit/qt/tests/benchmarks/webgl/webgl.pro b/Source/WebKit/qt/tests/benchmarks/webgl/webgl.pro
deleted file mode 100644
index a471269bd..000000000
--- a/Source/WebKit/qt/tests/benchmarks/webgl/webgl.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-include(../../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
-QT += opengl
diff --git a/Source/WebKit/qt/tests/cmake/CMakeLists.txt b/Source/WebKit/qt/tests/cmake/CMakeLists.txt
deleted file mode 100644
index 8f266fccb..000000000
--- a/Source/WebKit/qt/tests/cmake/CMakeLists.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-
-cmake_minimum_required(VERSION 2.8)
-
-project(qmake_cmake_files)
-
-enable_testing()
-
-find_package(Qt5Core REQUIRED)
-
-include("${_Qt5CTestMacros}")
-
-set(Qt5_MODULE_TEST_DEPENDS Widgets)
-
-test_module_includes(
- WebKit QWebElement
- WebKitWidgets QWebView
-)
diff --git a/Source/WebKit/qt/tests/cmake/cmake.pro b/Source/WebKit/qt/tests/cmake/cmake.pro
deleted file mode 100644
index bf2dbcb77..000000000
--- a/Source/WebKit/qt/tests/cmake/cmake.pro
+++ /dev/null
@@ -1,5 +0,0 @@
-
-# Cause make to do nothing.
-TEMPLATE = subdirs
-
-CONFIG += ctest_testcase
diff --git a/Source/WebKit/qt/tests/hybridPixmap/hybridPixmap.pro b/Source/WebKit/qt/tests/hybridPixmap/hybridPixmap.pro
deleted file mode 100644
index 99197e1bb..000000000
--- a/Source/WebKit/qt/tests/hybridPixmap/hybridPixmap.pro
+++ /dev/null
@@ -1,7 +0,0 @@
-include(../tests.pri)
-TARGET = hybridPixmap
-SOURCES += widget.cpp
-HEADERS += widget.h
-FORMS += widget.ui
-RESOURCES += resources.qrc
-CONFIG += console
diff --git a/Source/WebKit/qt/tests/keyeddecoderqt/tst_keyeddecoderqt.cpp b/Source/WebKit/qt/tests/keyeddecoderqt/tst_keyeddecoderqt.cpp
new file mode 100644
index 000000000..515328028
--- /dev/null
+++ b/Source/WebKit/qt/tests/keyeddecoderqt/tst_keyeddecoderqt.cpp
@@ -0,0 +1,197 @@
+/*
+ * Copyright (C) 2016 Konstantin Tokarev <annulen@yandex.ru>
+ *
+ * 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 INC. 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 INC. 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 "KeyedDecoderQt.h"
+#include "KeyedEncoderQt.h"
+
+#include <QtTest/QtTest>
+
+using WebCore::KeyedDecoder;
+using WebCore::KeyedDecoderQt;
+
+static QVariantMap testData()
+{
+ return {
+ { "string", QStringLiteral("привет") },
+ { "array", QVariantList {
+ QVariantMap {
+ { "baz", QVariantMap { { "int", 1 } } },
+ { "string", "1" },
+ },
+ QVariantMap {
+ { "baz", QVariantMap { { "int", 2 } } },
+ { "string", "2" },
+ },
+ QVariantMap {
+ { "baz", QVariantMap { { "int", 3 } } },
+ { "string", "3" },
+ },
+ } },
+ { "foo", QVariantMap {
+ { "begin", "beginFoo" },
+ { "bar", QVariantMap { { "float", 2.5f } } },
+ { "end", "endFoo" },
+ } },
+ { "bool", true },
+ { "float", 1.5 },
+ { "bytes", QByteArray::fromRawData("\0\0\1\0\0", 5) },
+ { "longlong", 1234567890123456789ll }
+ };
+}
+
+static std::unique_ptr<KeyedDecoder> makeDecoder()
+{
+ return std::make_unique<KeyedDecoderQt>(testData());
+}
+
+class tst_KeyedDecoderQt : public QObject {
+ Q_OBJECT
+
+private slots:
+ void stringValue()
+ {
+ WTF::String s;
+ KeyedDecoderQt decoder(testData());
+ QVERIFY(decoder.decodeString("string", s));
+ QCOMPARE(s, WTF::String::fromUTF8("привет"));
+ }
+
+ void boolValue()
+ {
+ bool b;
+ KeyedDecoderQt decoder(testData());
+ QVERIFY(decoder.decodeBool("bool", b));
+ QCOMPARE(b, true);
+ }
+
+ void floatValue()
+ {
+ float f;
+ KeyedDecoderQt decoder(testData());
+ QVERIFY(decoder.decodeFloat("float", f));
+ QCOMPARE(f, 1.5f);
+ }
+
+ void bytesValue()
+ {
+ const uint8_t* bytes;
+ size_t size;
+ KeyedDecoderQt decoder(testData());
+ QVERIFY(decoder.decodeBytes("bytes", bytes, size));
+
+ const uint8_t expected[] = { 0, 0, 1, 0, 0 };
+ QCOMPARE(size, (size_t)5);
+ QCOMPARE(bytes[0], (uint8_t)0);
+ QCOMPARE(bytes[1], (uint8_t)0);
+ QCOMPARE(bytes[2], (uint8_t)1);
+ QCOMPARE(bytes[3], (uint8_t)0);
+ QCOMPARE(bytes[4], (uint8_t)0);
+ }
+
+ void int64Value()
+ {
+ int64_t i;
+ KeyedDecoderQt decoder(testData());
+ QVERIFY(decoder.decodeInt64("longlong", i));
+ QCOMPARE(i, (int64_t)1234567890123456789ll);
+ }
+
+ void missingValue()
+ {
+ WTF::String s;
+ KeyedDecoderQt decoder(testData());
+ QVERIFY(!decoder.decodeString("foobar", s));
+ QCOMPARE(s, WTF::String());
+ }
+
+ void wrongType1()
+ {
+ float f = 1.0;
+ KeyedDecoderQt decoder(testData());
+ QVERIFY(!decoder.decodeFloat("string", f));
+ QCOMPARE(f, 1.0);
+ }
+
+ void wrongType2()
+ {
+ WTF::String s;
+ KeyedDecoderQt decoder(testData());
+ QVERIFY(!decoder.decodeString("array", s));
+ QVERIFY(!decoder.decodeString("foo", s));
+ }
+
+ void object()
+ {
+ struct Foo {
+ WTF::String begin;
+ WTF::String end;
+ float f;
+ } foo;
+
+ KeyedDecoderQt decoder(testData());
+ decoder.decodeObject("foo", foo, [&](KeyedDecoder& d1, Foo& foo) -> bool {
+ if (!d1.decodeString("begin", foo.begin))
+ return false;
+ if (!d1.decodeString("end", foo.end))
+ return false;
+ return d1.decodeObject("bar", foo, [&](KeyedDecoder& d2, Foo& foo) {
+ return d2.decodeFloat("float", foo.f);
+ });
+ });
+ QCOMPARE(foo.begin, WTF::String("beginFoo"));
+ QCOMPARE(foo.end, WTF::String("endFoo"));
+ QCOMPARE(foo.f, 2.5f);
+ }
+
+ void array()
+ {
+ struct Foo {
+ WTF::String s;
+ int i;
+ };
+
+ WTF::Vector<Foo> v;
+
+ KeyedDecoderQt decoder(testData());
+ decoder.decodeObjects("array", v, [&](KeyedDecoder& d1, Foo& foo) -> bool {
+ if (!d1.decodeString("string", foo.s))
+ return false;
+ return d1.decodeObject("baz", foo, [&](KeyedDecoder& d2, Foo& foo) {
+ return d2.decodeInt32("int", foo.i);
+ });
+ });
+ QCOMPARE(v.size(), (size_t)3);
+ QCOMPARE(v[0].s, WTF::String("1"));
+ QCOMPARE(v[0].i, 1);
+ QCOMPARE(v[1].s, WTF::String("2"));
+ QCOMPARE(v[1].i, 2);
+ QCOMPARE(v[2].s, WTF::String("3"));
+ QCOMPARE(v[2].i, 3);
+ }
+};
+
+QTEST_GUILESS_MAIN(tst_KeyedDecoderQt)
+#include "tst_keyeddecoderqt.moc"
diff --git a/Source/WebKit/qt/tests/keyedencoderqt/tst_keyedencoderqt.cpp b/Source/WebKit/qt/tests/keyedencoderqt/tst_keyedencoderqt.cpp
new file mode 100644
index 000000000..a61c02059
--- /dev/null
+++ b/Source/WebKit/qt/tests/keyedencoderqt/tst_keyedencoderqt.cpp
@@ -0,0 +1,157 @@
+/*
+ * Copyright (C) 2016 Konstantin Tokarev <annulen@yandex.ru>
+ *
+ * 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 INC. 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 INC. 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 "KeyedEncoderQt.h"
+
+#include <QtTest/QtTest>
+
+using WebCore::KeyedEncoder;
+using WebCore::KeyedEncoderQt;
+
+class tst_KeyedEncoderQt : public QObject {
+ Q_OBJECT
+ std::unique_ptr<KeyedEncoderQt> m_encoder { nullptr };
+
+private slots:
+ void init()
+ {
+ m_encoder.reset(new KeyedEncoderQt);
+ }
+
+ void cleanup()
+ {
+ m_encoder = nullptr;
+ }
+
+ void simpleValues()
+ {
+ m_encoder->encodeBool("bool", true);
+ const uint8_t bytes[] = { 0, 0, 1, 0, 0 };
+ m_encoder->encodeBytes("bytes", bytes, 5);
+ m_encoder->encodeString("string", QStringLiteral("привет"));
+
+ auto result = m_encoder->toMap();
+ QCOMPARE(result["bool"].type(), QVariant::Bool);
+ QCOMPARE(result["bool"].toBool(), true);
+ QCOMPARE(result["bytes"].type(), QVariant::ByteArray);
+ QCOMPARE(result["bytes"].toByteArray(), QByteArray::fromRawData("\0\0\1\0\0", 5));
+ QCOMPARE(result["string"].type(), QVariant::String);
+ QCOMPARE(result["string"].toString(), QStringLiteral("привет"));
+ }
+
+ void nestedObjects()
+ {
+ struct dummy {};
+
+ m_encoder->encodeString("begin", "begin");
+ m_encoder->encodeObject("foo", dummy(), [](KeyedEncoder& e1, dummy) {
+ e1.encodeString("begin", "beginFoo");
+ e1.encodeObject("bar", dummy(), [](KeyedEncoder& e2, dummy) {
+ e2.encodeFloat("float", 1.5);
+ });
+ e1.encodeString("end", "endFoo");
+ });
+ m_encoder->encodeString("end", "end");
+
+ QVariantMap expected = {
+ { "begin", "begin" },
+ { "foo", QVariantMap {
+ { "begin", "beginFoo" },
+ { "bar", QVariantMap { { "float", 1.5f } } },
+ { "end", "endFoo" },
+ } },
+ { "end", "end" },
+ };
+
+ QCOMPARE(m_encoder->toMap(), expected);
+ }
+
+ void array()
+ {
+ QList<int> values = { 1, 2, 3 };
+
+ m_encoder->encodeString("begin", "begin");
+ m_encoder->encodeObjects("array", values.begin(), values.end(),
+ [](KeyedEncoder& e, int v) {
+ e.encodeUInt32("int", v);
+ e.encodeString("string", QString::number(v));
+ });
+ m_encoder->encodeString("end", "end");
+
+ QVariantMap expected = {
+ { "begin", "begin" },
+ { "array", QVariantList {
+ QVariantMap { { "int", 1 }, { "string", "1" } },
+ QVariantMap { { "int", 2 }, { "string", "2" } },
+ QVariantMap { { "int", 3 }, { "string", "3" } },
+ } },
+ { "end", "end" },
+ };
+
+ QCOMPARE(m_encoder->toMap(), expected);
+ }
+
+ void arrayWithObjects()
+ {
+ QList<int> values = { 1, 2, 3 };
+ struct dummy {};
+
+ m_encoder->encodeString("begin", "begin");
+ m_encoder->encodeObjects("array", values.begin(), values.end(),
+ [](KeyedEncoder& e1, int v) {
+ e1.encodeObject("foo", dummy(), [v](KeyedEncoder& e2, dummy) {
+ e2.encodeInt32("int", v);
+ });
+ e1.encodeString("string", QString::number(v));
+ });
+ m_encoder->encodeString("end", "end");
+
+ QVariantMap expected = {
+ { "begin", "begin" },
+ { "array", QVariantList {
+ QVariantMap {
+ { "foo", QVariantMap { { "int", 1 } } },
+ { "string", "1" },
+ },
+ QVariantMap {
+ { "foo", QVariantMap { { "int", 2 } } },
+ { "string", "2" },
+ },
+ QVariantMap {
+ { "foo", QVariantMap { { "int", 3 } } },
+ { "string", "3" },
+ },
+ } },
+ { "end", "end" },
+ };
+
+ QCOMPARE(m_encoder->toMap(), expected);
+ }
+
+};
+
+QTEST_GUILESS_MAIN(tst_KeyedEncoderQt)
+#include "tst_keyedencoderqt.moc"
diff --git a/Source/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro b/Source/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro
deleted file mode 100644
index 78e17a06d..000000000
--- a/Source/WebKit/qt/tests/qgraphicswebview/qgraphicswebview.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-include(../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
-
-enable?(WEBGL) {
- QT += opengl
-}
diff --git a/Source/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp b/Source/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp
index 155420d36..0fd5d0a85 100644
--- a/Source/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp
+++ b/Source/WebKit/qt/tests/qgraphicswebview/tst_qgraphicswebview.cpp
@@ -44,12 +44,12 @@ private Q_SLOTS:
void windowResizeEvent();
void horizontalScrollbarTest();
-#if !(defined(WTF_USE_QT_MOBILE_THEME) && WTF_USE_QT_MOBILE_THEME)
+#if !(defined(USE_QT_MOBILE_THEME) && USE_QT_MOBILE_THEME)
void setPalette_data();
void setPalette();
#endif
void renderHints();
-#if defined(WTF_USE_TILED_BACKING_STORE) && WTF_USE_TILED_BACKING_STORE
+#if defined(USE_TILED_BACKING_STORE) && USE_TILED_BACKING_STORE
void bug57798();
void bug56929();
#endif
@@ -202,7 +202,7 @@ void tst_QGraphicsWebView::widgetsRenderingThroughCache()
QCOMPARE(referencePixmap.toImage(), viewWithTiling.toImage());
}
-#if defined(WTF_USE_TILED_BACKING_STORE) && WTF_USE_TILED_BACKING_STORE
+#if defined(USE_TILED_BACKING_STORE) && USE_TILED_BACKING_STORE
void tst_QGraphicsWebView::bug57798()
{
// When content size grows from less than viewport size to more than that, tiles may need to be regenerated.
@@ -341,7 +341,7 @@ void tst_QGraphicsWebView::focusInputTypes()
delete view;
}
-#if !(defined(WTF_USE_QT_MOBILE_THEME) && WTF_USE_QT_MOBILE_THEME)
+#if !(defined(USE_QT_MOBILE_THEME) && USE_QT_MOBILE_THEME)
void tst_QGraphicsWebView::setPalette_data()
{
QTest::addColumn<bool>("active");
diff --git a/Source/WebKit/qt/tests/qobjectbridge/qobjectbridge.pro b/Source/WebKit/qt/tests/qobjectbridge/qobjectbridge.pro
deleted file mode 100644
index f434ccbc1..000000000
--- a/Source/WebKit/qt/tests/qobjectbridge/qobjectbridge.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-include(../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
-
diff --git a/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp b/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp
index 52e6422b1..2eacc70b0 100644
--- a/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp
+++ b/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp
@@ -1567,31 +1567,34 @@ void tst_QObjectBridge::connectAndDisconnect()
QCOMPARE(evalJS("myObject.mySignalWithIntArg.disconnect(myObject, 'myOverloadedSlot(int)')"), sUndefined);
// erroneous input
+#define NOT_A_FUNCTION(f, expr) \
+ "TypeError: " f " is not a function. (In '" expr "', '" f "' is undefined)"
+
{
// ### QtScript adds .connect to all functions, WebKit does only to signals/slots
QString type;
QString ret = evalJS("(function() { }).connect()", type);
QCOMPARE(type, sError);
- QCOMPARE(ret, QLatin1String("TypeError: undefined is not a function (evaluating '(function() { }).connect()')"));
+ QCOMPARE(ret, QLatin1String(NOT_A_FUNCTION("(function() { }).connect", "(function() { }).connect()")));
}
{
QString type;
QString ret = evalJS("var o = { }; o.connect = Function.prototype.connect; o.connect()", type);
QCOMPARE(type, sError);
- QCOMPARE(ret, QLatin1String("TypeError: undefined is not a function (evaluating 'o.connect()')"));
+ QCOMPARE(ret, QLatin1String(NOT_A_FUNCTION("o.connect", "o.connect()")));
}
{
QString type;
QString ret = evalJS("(function() { }).connect(123)", type);
QCOMPARE(type, sError);
- QCOMPARE(ret, QLatin1String("TypeError: undefined is not a function (evaluating '(function() { }).connect(123)')"));
+ QCOMPARE(ret, QLatin1String(NOT_A_FUNCTION("(function() { }).connect", "(function() { }).connect(123)")));
}
{
QString type;
QString ret = evalJS("var o = { }; o.connect = Function.prototype.connect; o.connect(123)", type);
QCOMPARE(type, sError);
- QCOMPARE(ret, QLatin1String("TypeError: undefined is not a function (evaluating 'o.connect(123)')"));
+ QCOMPARE(ret, QLatin1String(NOT_A_FUNCTION("o.connect", "o.connect(123)")));
}
{
@@ -2221,6 +2224,7 @@ protected:
void tst_QObjectBridge::scriptablePlugin()
{
+//#if !PLUGIN_VIEW_IS_BROKEN
QWebView view;
TestWebPage* page = new TestWebPage;
view.setPage(page);
@@ -2232,6 +2236,7 @@ void tst_QObjectBridge::scriptablePlugin()
QVariant result = page->mainFrame()->evaluateJavaScript("document.querySelector(\"object\").slotWithReturnValue()");
QCOMPARE(result.toString(), QLatin1String("42"));
+//#endif
}
QTEST_MAIN(tst_QObjectBridge)
diff --git a/Source/WebKit/qt/tests/qwebelement/qwebelement.pro b/Source/WebKit/qt/tests/qwebelement/qwebelement.pro
deleted file mode 100644
index ff6c49628..000000000
--- a/Source/WebKit/qt/tests/qwebelement/qwebelement.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-include(../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/Source/WebKit/qt/tests/qwebframe/qwebframe.pro b/Source/WebKit/qt/tests/qwebframe/qwebframe.pro
deleted file mode 100644
index f434ccbc1..000000000
--- a/Source/WebKit/qt/tests/qwebframe/qwebframe.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-include(../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
-
diff --git a/Source/WebKit/qt/tests/qwebhistory/qwebhistory.pro b/Source/WebKit/qt/tests/qwebhistory/qwebhistory.pro
deleted file mode 100644
index ff6c49628..000000000
--- a/Source/WebKit/qt/tests/qwebhistory/qwebhistory.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-include(../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/Source/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro b/Source/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro
deleted file mode 100644
index ff6c49628..000000000
--- a/Source/WebKit/qt/tests/qwebhistoryinterface/qwebhistoryinterface.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-include(../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/Source/WebKit/qt/tests/qwebinspector/qwebinspector.pro b/Source/WebKit/qt/tests/qwebinspector/qwebinspector.pro
deleted file mode 100644
index ff6c49628..000000000
--- a/Source/WebKit/qt/tests/qwebinspector/qwebinspector.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-include(../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/Source/WebKit/qt/tests/qwebpage/qwebpage.pro b/Source/WebKit/qt/tests/qwebpage/qwebpage.pro
deleted file mode 100644
index e56bbe8f7..000000000
--- a/Source/WebKit/qt/tests/qwebpage/qwebpage.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-include(../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
-QT *= core-private gui-private
diff --git a/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
index 53e655749..6e239f67d 100644
--- a/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
+++ b/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
@@ -618,7 +618,7 @@ void tst_QWebPage::userStyleSheetFromQrcUrl()
void tst_QWebPage::loadHtml5Video()
{
-#if defined(WTF_USE_QT_MULTIMEDIA) && WTF_USE_QT_MULTIMEDIA
+#if defined(USE_QT_MULTIMEDIA) && USE_QT_MULTIMEDIA
QByteArray url("http://does.not/exist?a=1%2Cb=2");
m_view->setHtml("<p><video id ='video' src='" + url + "' autoplay/></p>");
QTest::qWait(2000);
@@ -3189,7 +3189,6 @@ void tst_QWebPage::macCopyUnicodeToClipboard()
void tst_QWebPage::changeVisibilityState()
{
-#if ENABLE_PAGE_VISIBILITY_API
QVariant stateBool, stateString, cpt;
m_page->mainFrame()->setHtml("<html><body></body></html>");
@@ -3260,7 +3259,6 @@ void tst_QWebPage::changeVisibilityState()
QVERIFY(stateString.type() == QVariant::String && stateString.toString() == QString("visible"));
cpt = m_page->mainFrame()->evaluateJavaScript("cpt");
QVERIFY(cpt.type() == QVariant::Double && cpt.toDouble() == 5);
-#endif
}
void tst_QWebPage::contextMenuCopy()
diff --git a/Source/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro b/Source/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro
deleted file mode 100644
index ff6c49628..000000000
--- a/Source/WebKit/qt/tests/qwebplugindatabase/qwebplugindatabase.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-include(../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/Source/WebKit/qt/tests/qwebsecurityorigin/qwebsecurityorigin.pro b/Source/WebKit/qt/tests/qwebsecurityorigin/qwebsecurityorigin.pro
deleted file mode 100644
index ff6c49628..000000000
--- a/Source/WebKit/qt/tests/qwebsecurityorigin/qwebsecurityorigin.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-include(../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/Source/WebKit/qt/tests/qwebview/qwebview.pro b/Source/WebKit/qt/tests/qwebview/qwebview.pro
deleted file mode 100644
index ff6c49628..000000000
--- a/Source/WebKit/qt/tests/qwebview/qwebview.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-include(../tests.pri)
-exists($${TARGET}.qrc):RESOURCES += $${TARGET}.qrc
diff --git a/Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp b/Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp
index a990ad0f2..3824dda7b 100644
--- a/Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp
+++ b/Source/WebKit/qt/tests/qwebview/tst_qwebview.cpp
@@ -55,7 +55,7 @@ private Q_SLOTS:
void horizontalScrollbarTest();
void crashTests();
-#if !(defined(WTF_USE_QT_MOBILE_THEME) && WTF_USE_QT_MOBILE_THEME)
+#if !(defined(USE_QT_MOBILE_THEME) && USE_QT_MOBILE_THEME)
void setPalette_data();
void setPalette();
#endif
@@ -330,7 +330,7 @@ void tst_QWebView::horizontalScrollbarTest()
}
-#if !(defined(WTF_USE_QT_MOBILE_THEME) && WTF_USE_QT_MOBILE_THEME)
+#if !(defined(USE_QT_MOBILE_THEME) && USE_QT_MOBILE_THEME)
void tst_QWebView::setPalette_data()
{
QTest::addColumn<bool>("active");
diff --git a/Source/WebKit/qt/tests/resources/test.swf b/Source/WebKit/qt/tests/resources/test.swf
deleted file mode 100644
index 895298271..000000000
--- a/Source/WebKit/qt/tests/resources/test.swf
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/qt/tests/tests.pri b/Source/WebKit/qt/tests/tests.pri
deleted file mode 100644
index b48806286..000000000
--- a/Source/WebKit/qt/tests/tests.pri
+++ /dev/null
@@ -1,22 +0,0 @@
-TEMPLATE = app
-
-VPATH += $$_PRO_FILE_PWD_
-TARGET = tst_$$TARGET
-
-# Load mobilityconfig if Qt Mobility is available
-load(mobilityconfig, true)
-contains(MOBILITY_CONFIG, multimedia) {
- # This define is used by tests depending on Qt Multimedia
- DEFINES -= WTF_USE_QT_MULTIMEDIA=0
- DEFINES += WTF_USE_QT_MULTIMEDIA=1
-}
-
-SOURCES += $${TARGET}.cpp
-INCLUDEPATH += \
- $$PWD \
- $$PWD/../Api
-
-QT += testlib network webkitwidgets widgets
-
-# This define is used by some tests to look up resources in the source tree
-DEFINES += TESTS_SOURCE_DIR=\\\"$$PWD/\\\"
diff --git a/Source/WebKit/scripts/generate-webkitversion.pl b/Source/WebKit/scripts/generate-webkitversion.pl
index c83b8496c..3321de174 100644
--- a/Source/WebKit/scripts/generate-webkitversion.pl
+++ b/Source/WebKit/scripts/generate-webkitversion.pl
@@ -16,7 +16,7 @@
# 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.
-# 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+# 3. Neither the name of Apple Inc. ("Apple") nor the names of
# its contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
@@ -84,7 +84,7 @@ sub printLicenseHeader
* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT.
*
*
- * Copyright (C) 2009 Apple Computer, Inc. All rights reserved.
+ * Copyright (C) 2009 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -95,10 +95,10 @@ sub printLicenseHeader
* 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
+ * THIS SOFTWARE IS PROVIDED BY APPLE 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
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE 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
diff --git a/Source/WebKit/win/AccessibleBase.cpp b/Source/WebKit/win/AccessibleBase.cpp
deleted file mode 100644
index 4fc0c6ffc..000000000
--- a/Source/WebKit/win/AccessibleBase.cpp
+++ /dev/null
@@ -1,1037 +0,0 @@
-/*
- * Copyright (C) 2008, 2009, 2010, 2013 Apple Inc. All Rights Reserved.
- * Copyright (C) 2012 Serotek Corporation. 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 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 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 "WebKitDLL.h"
-#include "AccessibleBase.h"
-
-#include "AccessibleImage.h"
-#include "WebView.h"
-#include <WebCore/AccessibilityListBox.h>
-#include <WebCore/AccessibilityMenuListPopup.h>
-#include <WebCore/AccessibilityObject.h>
-#include <WebCore/AXObjectCache.h>
-#include <WebCore/BString.h>
-#include <WebCore/Element.h>
-#include <WebCore/EventHandler.h>
-#include <WebCore/FrameView.h>
-#include <WebCore/HostWindow.h>
-#include <WebCore/HTMLNames.h>
-#include <WebCore/HTMLFrameElementBase.h>
-#include <WebCore/HTMLInputElement.h>
-#include <WebCore/IntRect.h>
-#include <WebCore/NotImplemented.h>
-#include <WebCore/PlatformEvent.h>
-#include <WebCore/RenderFrame.h>
-#include <WebCore/RenderObject.h>
-#include <WebCore/RenderView.h>
-#include <comutil.h>
-#include <oleacc.h>
-#include <wtf/RefPtr.h>
-#include <wtf/text/StringBuilder.h>
-
-using namespace WebCore;
-
-AccessibleBase::AccessibleBase(AccessibilityObject* obj, HWND window)
- : AccessibilityObjectWrapper(obj)
- , m_window(window)
- , m_refCount(0)
-{
- ASSERT_ARG(obj, obj);
- m_object->setWrapper(this);
- ++gClassCount;
- gClassNameCount.add("AccessibleBase");
-}
-
-AccessibleBase::~AccessibleBase()
-{
- --gClassCount;
- gClassNameCount.remove("AccessibleBase");
-}
-
-AccessibleBase* AccessibleBase::createInstance(AccessibilityObject* obj, HWND window)
-{
- ASSERT_ARG(obj, obj);
-
- if (obj->isImage())
- return new AccessibleImage(obj, window);
-
- return new AccessibleBase(obj, window);
-}
-
-HRESULT AccessibleBase::QueryService(REFGUID guidService, REFIID riid, void **ppvObject)
-{
- if (!IsEqualGUID(guidService, SID_AccessibleComparable)
- && !IsEqualGUID(guidService, IID_IAccessible2_2)
- && !IsEqualGUID(guidService, IID_IAccessible2)
- && !IsEqualGUID(guidService, IID_IAccessibleApplication)
- && !IsEqualGUID(guidService, IID_IAccessible)) {
- *ppvObject = 0;
- return E_INVALIDARG;
- }
- return QueryInterface(riid, ppvObject);
-}
-
-// IUnknown
-HRESULT STDMETHODCALLTYPE AccessibleBase::QueryInterface(REFIID riid, void** ppvObject)
-{
- if (IsEqualGUID(riid, __uuidof(IAccessible)))
- *ppvObject = static_cast<IAccessible*>(this);
- else if (IsEqualGUID(riid, __uuidof(IDispatch)))
- *ppvObject = static_cast<IAccessible*>(this);
- else if (IsEqualGUID(riid, __uuidof(IUnknown)))
- *ppvObject = static_cast<IAccessible*>(this);
- else if (IsEqualGUID(riid, __uuidof(IAccessible2_2)))
- *ppvObject = static_cast<IAccessible2_2*>(this);
- else if (IsEqualGUID(riid, __uuidof(IAccessible2)))
- *ppvObject = static_cast<IAccessible2*>(this);
- else if (IsEqualGUID(riid, __uuidof(IAccessibleComparable)))
- *ppvObject = static_cast<IAccessibleComparable*>(this);
- else if (IsEqualGUID(riid, __uuidof(IServiceProvider)))
- *ppvObject = static_cast<IServiceProvider*>(this);
- else if (IsEqualGUID(riid, __uuidof(AccessibleBase)))
- *ppvObject = static_cast<AccessibleBase*>(this);
- else {
- *ppvObject = 0;
- return E_NOINTERFACE;
- }
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE AccessibleBase::Release(void)
-{
- ASSERT(m_refCount > 0);
- if (--m_refCount)
- return m_refCount;
- delete this;
- return 0;
-}
-
-// IAccessible2_2
-HRESULT AccessibleBase::get_attribute(BSTR key, VARIANT* value)
-{
- if (!value)
- return E_POINTER;
-
- AtomicString keyAtomic(key, ::SysStringLen(key));
-
- accessibilityAttributeValue(keyAtomic, value);
-
- return S_OK;
-}
-
-HRESULT AccessibleBase::get_accessibleWithCaret(IUnknown** accessible, long* caretOffset)
-{
- notImplemented();
- return E_NOTIMPL;
-}
-
-HRESULT AccessibleBase::get_relationTargetsOfType(BSTR type, long maxTargets, IUnknown*** targets, long* nTargets)
-{
- notImplemented();
- return E_NOTIMPL;
-}
-
-// IAccessible2
-HRESULT AccessibleBase::get_nRelations(long* nRelations)
-{
- if (!nRelations)
- return E_POINTER;
-
- if (!m_object)
- return E_FAIL;
- notImplemented();
- *nRelations = 0;
- return S_OK;
-}
-
-HRESULT AccessibleBase::get_relation(long relationIndex, IAccessibleRelation** relation)
-{
- if (!relation)
- return E_POINTER;
-
- notImplemented();
- return E_NOTIMPL;
-}
-
-HRESULT AccessibleBase::get_relations(long maxRelations, IAccessibleRelation** relations, long* nRelations)
-{
- if (!relations || !nRelations)
- return E_POINTER;
-
- notImplemented();
- return E_NOTIMPL;
-}
-
-HRESULT AccessibleBase::role(long* role)
-{
- if (!role)
- return E_POINTER;
-
- if (!m_object)
- return E_FAIL;
-
- *role = wrapper(m_object)->role();
- return S_OK;
-}
-
-HRESULT AccessibleBase::scrollTo(IA2ScrollType scrollType)
-{
- if (!m_object)
- return E_FAIL;
- return S_FALSE;
-}
-
-HRESULT AccessibleBase::scrollToPoint(IA2CoordinateType coordinateType, long x, long y)
-{
- if (!m_object)
- return E_FAIL;
- return S_FALSE;
-}
-
-HRESULT AccessibleBase::get_groupPosition(long* groupLevel, long* similarItemsInGroup, long* positionInGroup)
-{
- notImplemented();
- return E_NOTIMPL;
-}
-
-HRESULT AccessibleBase::get_states(AccessibleStates* states)
-{
- if (!states)
- return E_POINTER;
-
- if (!m_object)
- return E_FAIL;
-
- *states = 0;
- notImplemented();
- return S_OK;
-}
-
-HRESULT AccessibleBase::get_extendedRole(BSTR* extendedRole)
-{
- if (!extendedRole)
- return E_POINTER;
-
- if (!m_object)
- return E_FAIL;
-
- notImplemented();
- return S_FALSE;
-}
-
-HRESULT AccessibleBase::get_localizedExtendedRole(BSTR* localizedExtendedRole)
-{
- if (!localizedExtendedRole)
- return E_POINTER;
-
- if (!m_object)
- return E_FAIL;
-
- notImplemented();
- return S_FALSE;
-}
-
-HRESULT AccessibleBase::get_nExtendedStates(long* nExtendedStates)
-{
- if (!nExtendedStates)
- return E_POINTER;
-
- if (!m_object)
- return E_FAIL;
-
- notImplemented();
- *nExtendedStates = 0;
- return S_OK;
-}
-
-HRESULT AccessibleBase::get_extendedStates(long maxExtendedStates, BSTR** extendedStates, long* nExtendedStates)
-{
- notImplemented();
- return E_NOTIMPL;
-}
-
-HRESULT AccessibleBase::get_localizedExtendedStates(long maxLocalizedExtendedStates, BSTR** localizedExtendedStates, long* nLocalizedExtendedStates)
-{
- notImplemented();
- return E_NOTIMPL;
-}
-
-HRESULT AccessibleBase::get_uniqueID(long* uniqueID)
-{
- if (!uniqueID)
- return E_POINTER;
-
- if (!m_object)
- return E_FAIL;
-
- *uniqueID = static_cast<long>(m_object->axObjectID());
- return S_OK;
-}
-
-HRESULT AccessibleBase::get_windowHandle(HWND* windowHandle)
-{
- *windowHandle = m_window;
- return S_OK;
-}
-
-HRESULT AccessibleBase::get_indexInParent(long* indexInParent)
-{
- return E_NOTIMPL;
-}
-
-HRESULT AccessibleBase::get_locale(IA2Locale* locale)
-{
- notImplemented();
- return E_NOTIMPL;
-}
-
-HRESULT AccessibleBase::get_attributes(BSTR* attributes)
-{
- if (!m_object)
- return E_FAIL;
- notImplemented();
- return S_FALSE;
-}
-
-// IAccessible
-HRESULT AccessibleBase::get_accParent(IDispatch** parent)
-{
- *parent = 0;
-
- if (!m_object)
- return E_FAIL;
-
- AccessibilityObject* parentObject = m_object->parentObjectUnignored();
- if (parentObject) {
- *parent = wrapper(parentObject);
- (*parent)->AddRef();
- return S_OK;
- }
-
- if (!m_window)
- return E_FAIL;
-
- return WebView::AccessibleObjectFromWindow(m_window,
- OBJID_WINDOW, __uuidof(IAccessible), reinterpret_cast<void**>(parent));
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accChildCount(long* count)
-{
- if (!m_object)
- return E_FAIL;
- if (!count)
- return E_POINTER;
- *count = static_cast<long>(m_object->children().size());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accChild(VARIANT vChild, IDispatch** ppChild)
-{
- if (!ppChild)
- return E_POINTER;
-
- *ppChild = 0;
-
- AccessibilityObject* childObj;
-
- HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
- if (FAILED(hr))
- return hr;
-
- *ppChild = static_cast<IDispatch*>(wrapper(childObj));
- (*ppChild)->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accName(VARIANT vChild, BSTR* name)
-{
- if (!name)
- return E_POINTER;
-
- *name = 0;
-
- AccessibilityObject* childObj;
- HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
-
- if (FAILED(hr))
- return hr;
-
- if (*name = BString(wrapper(childObj)->name()).release())
- return S_OK;
- return S_FALSE;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accValue(VARIANT vChild, BSTR* value)
-{
- if (!value)
- return E_POINTER;
-
- *value = 0;
-
- AccessibilityObject* childObj;
- HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
-
- if (FAILED(hr))
- return hr;
-
- if (*value = BString(wrapper(childObj)->value()).release())
- return S_OK;
- return S_FALSE;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accDescription(VARIANT vChild, BSTR* description)
-{
- if (!description)
- return E_POINTER;
-
- *description = 0;
-
- AccessibilityObject* childObj;
- HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
-
- if (FAILED(hr))
- return hr;
-
- if (*description = BString(childObj->descriptionForMSAA()).release())
- return S_OK;
-
- return S_FALSE;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accRole(VARIANT vChild, VARIANT* pvRole)
-{
- if (!pvRole)
- return E_POINTER;
-
- ::VariantInit(pvRole);
-
- AccessibilityObject* childObj;
- HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
-
- if (FAILED(hr))
- return hr;
-
- String roleString = childObj->stringRoleForMSAA();
- if (!roleString.isEmpty()) {
- V_VT(pvRole) = VT_BSTR;
- V_BSTR(pvRole) = BString(roleString).release();
- return S_OK;
- }
-
- pvRole->vt = VT_I4;
- pvRole->lVal = wrapper(childObj)->role();
- return S_OK;
-}
-
-long AccessibleBase::state() const
-{
- long state = 0;
- if (m_object->isLinked())
- state |= STATE_SYSTEM_LINKED;
-
- if (m_object->isHovered())
- state |= STATE_SYSTEM_HOTTRACKED;
-
- if (!m_object->isEnabled())
- state |= STATE_SYSTEM_UNAVAILABLE;
-
- if (m_object->isReadOnly())
- state |= STATE_SYSTEM_READONLY;
-
- if (m_object->isOffScreen())
- state |= STATE_SYSTEM_OFFSCREEN;
-
- if (m_object->isPasswordField())
- state |= STATE_SYSTEM_PROTECTED;
-
- if (m_object->isIndeterminate())
- state |= STATE_SYSTEM_INDETERMINATE;
-
- if (m_object->isChecked())
- state |= STATE_SYSTEM_CHECKED;
-
- if (m_object->isPressed())
- state |= STATE_SYSTEM_PRESSED;
-
- if (m_object->isFocused())
- state |= STATE_SYSTEM_FOCUSED;
-
- if (m_object->isVisited())
- state |= STATE_SYSTEM_TRAVERSED;
-
- if (m_object->canSetFocusAttribute())
- state |= STATE_SYSTEM_FOCUSABLE;
-
- if (m_object->isSelected())
- state |= STATE_SYSTEM_SELECTED;
-
- if (m_object->canSetSelectedAttribute())
- state |= STATE_SYSTEM_SELECTABLE;
-
- if (m_object->isMultiSelectable())
- state |= STATE_SYSTEM_EXTSELECTABLE | STATE_SYSTEM_MULTISELECTABLE;
-
- if (!m_object->isVisible())
- state |= STATE_SYSTEM_INVISIBLE;
-
- if (m_object->isCollapsed())
- state |= STATE_SYSTEM_COLLAPSED;
-
- if (m_object->roleValue() == PopUpButtonRole) {
- state |= STATE_SYSTEM_HASPOPUP;
-
- if (!m_object->isCollapsed())
- state |= STATE_SYSTEM_EXPANDED;
- }
-
- return state;
-}
-
-HRESULT AccessibleBase::get_accState(VARIANT vChild, VARIANT* pvState)
-{
- if (!pvState)
- return E_POINTER;
-
- ::VariantInit(pvState);
-
- AccessibilityObject* childObj;
- HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
-
- if (FAILED(hr))
- return hr;
-
- pvState->vt = VT_I4;
- pvState->lVal = wrapper(childObj)->state();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accHelp(VARIANT vChild, BSTR* helpText)
-{
- if (!helpText)
- return E_POINTER;
-
- *helpText = 0;
-
- AccessibilityObject* childObj;
- HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
-
- if (FAILED(hr))
- return hr;
-
- if (*helpText = BString(childObj->helpText()).release())
- return S_OK;
- return S_FALSE;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accKeyboardShortcut(VARIANT vChild, BSTR* shortcut)
-{
- if (!shortcut)
- return E_POINTER;
-
- *shortcut = 0;
-
- AccessibilityObject* childObj;
- HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
-
- if (FAILED(hr))
- return hr;
-
- String accessKey = childObj->accessKey();
- if (accessKey.isNull())
- return S_FALSE;
-
- static String accessKeyModifiers;
- if (accessKeyModifiers.isNull()) {
- StringBuilder accessKeyModifiersBuilder;
- unsigned modifiers = EventHandler::accessKeyModifiers();
- // Follow the same order as Mozilla MSAA implementation:
- // Ctrl+Alt+Shift+Meta+key. MSDN states that keyboard shortcut strings
- // should not be localized and defines the separator as "+".
- if (modifiers & PlatformEvent::CtrlKey)
- accessKeyModifiersBuilder.appendLiteral("Ctrl+");
- if (modifiers & PlatformEvent::AltKey)
- accessKeyModifiersBuilder.appendLiteral("Alt+");
- if (modifiers & PlatformEvent::ShiftKey)
- accessKeyModifiersBuilder.appendLiteral("Shift+");
- if (modifiers & PlatformEvent::MetaKey)
- accessKeyModifiersBuilder.appendLiteral("Win+");
- accessKeyModifiers = accessKeyModifiersBuilder.toString();
- }
- *shortcut = BString(String(accessKeyModifiers + accessKey)).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::accSelect(long selectionFlags, VARIANT vChild)
-{
- // According to MSDN, these combinations are invalid.
- if (((selectionFlags & (SELFLAG_ADDSELECTION | SELFLAG_REMOVESELECTION)) == (SELFLAG_ADDSELECTION | SELFLAG_REMOVESELECTION))
- || ((selectionFlags & (SELFLAG_ADDSELECTION | SELFLAG_TAKESELECTION)) == (SELFLAG_ADDSELECTION | SELFLAG_TAKESELECTION))
- || ((selectionFlags & (SELFLAG_REMOVESELECTION | SELFLAG_TAKESELECTION)) == (SELFLAG_REMOVESELECTION | SELFLAG_TAKESELECTION))
- || ((selectionFlags & (SELFLAG_EXTENDSELECTION | SELFLAG_TAKESELECTION)) == (SELFLAG_EXTENDSELECTION | SELFLAG_TAKESELECTION)))
- return E_INVALIDARG;
-
- AccessibilityObject* childObject;
- HRESULT hr = getAccessibilityObjectForChild(vChild, childObject);
-
- if (FAILED(hr))
- return hr;
-
- if (selectionFlags & SELFLAG_TAKEFOCUS)
- childObject->setFocused(true);
-
- AccessibilityObject* parentObject = childObject->parentObject();
- if (!parentObject)
- return E_INVALIDARG;
-
- if (selectionFlags & SELFLAG_TAKESELECTION) {
- if (parentObject->isListBox()) {
- Vector<RefPtr<AccessibilityObject> > selectedChildren(1);
- selectedChildren[0] = childObject;
- static_cast<AccessibilityListBox*>(parentObject)->setSelectedChildren(selectedChildren);
- } else { // any element may be selectable by virtue of it having the aria-selected property
- ASSERT(!parentObject->isMultiSelectable());
- childObject->setSelected(true);
- }
- }
-
- // MSDN says that ADD, REMOVE, and EXTENDSELECTION with no other flags are invalid for
- // single-select.
- const long allSELFLAGs = SELFLAG_TAKEFOCUS | SELFLAG_TAKESELECTION | SELFLAG_EXTENDSELECTION | SELFLAG_ADDSELECTION | SELFLAG_REMOVESELECTION;
- if (!parentObject->isMultiSelectable()
- && (((selectionFlags & allSELFLAGs) == SELFLAG_ADDSELECTION)
- || ((selectionFlags & allSELFLAGs) == SELFLAG_REMOVESELECTION)
- || ((selectionFlags & allSELFLAGs) == SELFLAG_EXTENDSELECTION)))
- return E_INVALIDARG;
-
- if (selectionFlags & SELFLAG_ADDSELECTION)
- childObject->setSelected(true);
-
- if (selectionFlags & SELFLAG_REMOVESELECTION)
- childObject->setSelected(false);
-
- // FIXME: Should implement SELFLAG_EXTENDSELECTION. For now, we just return
- // S_OK, matching Firefox.
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accSelection(VARIANT*)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accFocus(VARIANT* pvFocusedChild)
-{
- if (!pvFocusedChild)
- return E_POINTER;
-
- ::VariantInit(pvFocusedChild);
-
- if (!m_object)
- return E_FAIL;
-
- AccessibilityObject* focusedObj = m_object->focusedUIElement();
- if (!focusedObj)
- return S_FALSE;
-
- if (focusedObj == m_object) {
- V_VT(pvFocusedChild) = VT_I4;
- V_I4(pvFocusedChild) = CHILDID_SELF;
- return S_OK;
- }
-
- V_VT(pvFocusedChild) = VT_DISPATCH;
- V_DISPATCH(pvFocusedChild) = wrapper(focusedObj);
- V_DISPATCH(pvFocusedChild)->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::get_accDefaultAction(VARIANT vChild, BSTR* action)
-{
- if (!action)
- return E_POINTER;
-
- *action = 0;
-
- AccessibilityObject* childObj;
- HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
-
- if (FAILED(hr))
- return hr;
-
- if (*action = BString(childObj->actionVerb()).release())
- return S_OK;
- return S_FALSE;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::accLocation(long* left, long* top, long* width, long* height, VARIANT vChild)
-{
- if (!left || !top || !width || !height)
- return E_POINTER;
-
- *left = *top = *width = *height = 0;
-
- AccessibilityObject* childObj;
- HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
-
- if (FAILED(hr))
- return hr;
-
- if (!childObj->documentFrameView())
- return E_FAIL;
-
- IntRect screenRect(childObj->documentFrameView()->contentsToScreen(childObj->pixelSnappedElementRect()));
- *left = screenRect.x();
- *top = screenRect.y();
- *width = screenRect.width();
- *height = screenRect.height();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::accNavigate(long direction, VARIANT vFromChild, VARIANT* pvNavigatedTo)
-{
- if (!pvNavigatedTo)
- return E_POINTER;
-
- ::VariantInit(pvNavigatedTo);
-
- AccessibilityObject* childObj = 0;
-
- switch (direction) {
- case NAVDIR_DOWN:
- case NAVDIR_UP:
- case NAVDIR_LEFT:
- case NAVDIR_RIGHT:
- // These directions are not implemented, matching Mozilla and IE.
- return E_NOTIMPL;
- case NAVDIR_LASTCHILD:
- case NAVDIR_FIRSTCHILD:
- // MSDN states that navigating to first/last child can only be from self.
- if (vFromChild.lVal != CHILDID_SELF)
- return E_INVALIDARG;
-
- if (!m_object)
- return E_FAIL;
-
- if (direction == NAVDIR_FIRSTCHILD)
- childObj = m_object->firstChild();
- else
- childObj = m_object->lastChild();
- break;
- case NAVDIR_NEXT:
- case NAVDIR_PREVIOUS: {
- // Navigating to next and previous is allowed from self or any of our children.
- HRESULT hr = getAccessibilityObjectForChild(vFromChild, childObj);
- if (FAILED(hr))
- return hr;
-
- if (direction == NAVDIR_NEXT)
- childObj = childObj->nextSibling();
- else
- childObj = childObj->previousSibling();
- break;
- }
- default:
- ASSERT_NOT_REACHED();
- return E_INVALIDARG;
- }
-
- if (!childObj)
- return S_FALSE;
-
- V_VT(pvNavigatedTo) = VT_DISPATCH;
- V_DISPATCH(pvNavigatedTo) = wrapper(childObj);
- V_DISPATCH(pvNavigatedTo)->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::accHitTest(long x, long y, VARIANT* pvChildAtPoint)
-{
- if (!pvChildAtPoint)
- return E_POINTER;
-
- ::VariantInit(pvChildAtPoint);
-
- if (!m_object || !m_object->documentFrameView())
- return E_FAIL;
-
- IntPoint point = m_object->documentFrameView()->screenToContents(IntPoint(x, y));
- AccessibilityObject* childObj = m_object->accessibilityHitTest(point);
-
- if (!childObj) {
- // If we did not hit any child objects, test whether the point hit us, and
- // report that.
- if (!m_object->boundingBoxRect().contains(point))
- return S_FALSE;
- childObj = m_object;
- }
-
- if (childObj == m_object) {
- V_VT(pvChildAtPoint) = VT_I4;
- V_I4(pvChildAtPoint) = CHILDID_SELF;
- } else {
- V_VT(pvChildAtPoint) = VT_DISPATCH;
- V_DISPATCH(pvChildAtPoint) = static_cast<IDispatch*>(wrapper(childObj));
- V_DISPATCH(pvChildAtPoint)->AddRef();
- }
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE AccessibleBase::accDoDefaultAction(VARIANT vChild)
-{
- AccessibilityObject* childObj;
- HRESULT hr = getAccessibilityObjectForChild(vChild, childObj);
-
- if (FAILED(hr))
- return hr;
-
- if (!childObj->performDefaultAction())
- return S_FALSE;
-
- return S_OK;
-}
-
-// AccessibleBase
-String AccessibleBase::name() const
-{
- return m_object->nameForMSAA();
-}
-
-String AccessibleBase::value() const
-{
- return m_object->stringValueForMSAA();
-}
-
-static long MSAARole(AccessibilityRole role)
-{
- switch (role) {
- case WebCore::ButtonRole:
- return ROLE_SYSTEM_PUSHBUTTON;
- case WebCore::RadioButtonRole:
- return ROLE_SYSTEM_RADIOBUTTON;
- case WebCore::CheckBoxRole:
- return ROLE_SYSTEM_CHECKBUTTON;
- case WebCore::SliderRole:
- return ROLE_SYSTEM_SLIDER;
- case WebCore::TabGroupRole:
- case WebCore::TabListRole:
- return ROLE_SYSTEM_PAGETABLIST;
- case WebCore::TextFieldRole:
- case WebCore::TextAreaRole:
- case WebCore::EditableTextRole:
- return ROLE_SYSTEM_TEXT;
- case WebCore::HeadingRole:
- case WebCore::ListMarkerRole:
- case WebCore::StaticTextRole:
- return ROLE_SYSTEM_STATICTEXT;
- case WebCore::OutlineRole:
- return ROLE_SYSTEM_OUTLINE;
- case WebCore::ColumnRole:
- return ROLE_SYSTEM_COLUMN;
- case WebCore::RowRole:
- return ROLE_SYSTEM_ROW;
- case WebCore::GroupRole:
- case WebCore::RadioGroupRole:
- return ROLE_SYSTEM_GROUPING;
- case WebCore::DescriptionListRole:
- case WebCore::DirectoryRole:
- case WebCore::ListRole:
- case WebCore::ListBoxRole:
- case WebCore::MenuListPopupRole:
- return ROLE_SYSTEM_LIST;
- case WebCore::GridRole:
- case WebCore::TableRole:
- return ROLE_SYSTEM_TABLE;
- case WebCore::ImageMapLinkRole:
- case WebCore::LinkRole:
- case WebCore::WebCoreLinkRole:
- return ROLE_SYSTEM_LINK;
- case WebCore::CanvasRole:
- case WebCore::ImageMapRole:
- case WebCore::ImageRole:
- return ROLE_SYSTEM_GRAPHIC;
- case WebCore::ListItemRole:
- return ROLE_SYSTEM_LISTITEM;
- case WebCore::ListBoxOptionRole:
- case WebCore::MenuListOptionRole:
- return ROLE_SYSTEM_STATICTEXT;
- case WebCore::ComboBoxRole:
- case WebCore::PopUpButtonRole:
- return ROLE_SYSTEM_COMBOBOX;
- case WebCore::DivRole:
- case WebCore::FooterRole:
- case WebCore::FormRole:
- case WebCore::LabelRole:
- case WebCore::ParagraphRole:
- return ROLE_SYSTEM_GROUPING;
- case WebCore::HorizontalRuleRole:
- case WebCore::SplitterRole:
- return ROLE_SYSTEM_SEPARATOR;
- case WebCore::ApplicationAlertRole:
- case WebCore::ApplicationAlertDialogRole:
- return ROLE_SYSTEM_ALERT;
- case WebCore::DisclosureTriangleRole:
- return ROLE_SYSTEM_BUTTONDROPDOWN;
- case WebCore::SeamlessWebAreaRole:
- return ROLE_SYSTEM_GROUPING;
- case WebCore::IncrementorRole:
- case WebCore::SpinButtonRole:
- return ROLE_SYSTEM_SPINBUTTON;
- case WebCore::SpinButtonPartRole:
- return ROLE_SYSTEM_PUSHBUTTON;
- case WebCore::ToggleButtonRole:
- return ROLE_SYSTEM_PUSHBUTTON;
- case WebCore::ToolbarRole:
- return ROLE_SYSTEM_TOOLBAR;
- case WebCore::UserInterfaceTooltipRole:
- return ROLE_SYSTEM_TOOLTIP;
- case WebCore::TreeRole:
- case WebCore::TreeGridRole:
- return ROLE_SYSTEM_OUTLINE;
- case WebCore::TreeItemRole:
- return ROLE_SYSTEM_OUTLINEITEM;
- case WebCore::TabPanelRole:
- return ROLE_SYSTEM_GROUPING;
- case WebCore::TabRole:
- return ROLE_SYSTEM_PAGETAB;
- case WebCore::ApplicationRole:
- return ROLE_SYSTEM_APPLICATION;
- case WebCore::ApplicationDialogRole:
- return ROLE_SYSTEM_DIALOG;
- case WebCore::ApplicationLogRole:
- case WebCore::ApplicationMarqueeRole:
- return ROLE_SYSTEM_GROUPING;
- case WebCore::ApplicationStatusRole:
- return ROLE_SYSTEM_STATUSBAR;
- case WebCore::ApplicationTimerRole:
- return ROLE_SYSTEM_CLOCK;
- case WebCore::CellRole:
- return ROLE_SYSTEM_CELL;
- case WebCore::ColumnHeaderRole:
- return ROLE_SYSTEM_COLUMNHEADER;
- case WebCore::DefinitionRole:
- case WebCore::DescriptionListDetailRole:
- case WebCore::DescriptionListTermRole:
- case WebCore::DocumentRole:
- case WebCore::DocumentArticleRole:
- case WebCore::DocumentNoteRole:
- case WebCore::DocumentRegionRole:
- return ROLE_SYSTEM_GROUPING;
- case WebCore::DocumentMathRole:
- case WebCore::MathElementRole:
- return ROLE_SYSTEM_EQUATION;
- case WebCore::HelpTagRole:
- return ROLE_SYSTEM_HELPBALLOON;
- case WebCore::LandmarkApplicationRole:
- case WebCore::LandmarkBannerRole:
- case WebCore::LandmarkComplementaryRole:
- case WebCore::LandmarkContentInfoRole:
- case WebCore::LandmarkMainRole:
- case WebCore::LandmarkNavigationRole:
- case WebCore::LandmarkSearchRole:
- case WebCore::LegendRole:
- return ROLE_SYSTEM_GROUPING;
- case WebCore::MenuRole:
- return ROLE_SYSTEM_MENUPOPUP;
- case WebCore::MenuItemRole:
- case WebCore::MenuButtonRole:
- return ROLE_SYSTEM_MENUITEM;
- case WebCore::MenuBarRole:
- return ROLE_SYSTEM_MENUBAR;
- case WebCore::ProgressIndicatorRole:
- return ROLE_SYSTEM_PROGRESSBAR;
- case WebCore::RowHeaderRole:
- return ROLE_SYSTEM_ROWHEADER;
- case WebCore::ScrollBarRole:
- return ROLE_SYSTEM_SCROLLBAR;
- case WebCore::SVGRootRole:
- return ROLE_SYSTEM_GROUPING;
- case WebCore::TableHeaderContainerRole:
- return ROLE_SYSTEM_GROUPING;
- case WebCore::WindowRole:
- return ROLE_SYSTEM_WINDOW;
- default:
- // This is the default role for MSAA.
- return ROLE_SYSTEM_CLIENT;
- }
-}
-
-long AccessibleBase::role() const
-{
- return MSAARole(m_object->roleValueForMSAA());
-}
-
-HRESULT AccessibleBase::getAccessibilityObjectForChild(VARIANT vChild, AccessibilityObject*& childObj) const
-{
- childObj = 0;
-
- if (!m_object)
- return E_FAIL;
-
- if (vChild.vt != VT_I4)
- return E_INVALIDARG;
-
- if (vChild.lVal == CHILDID_SELF)
- childObj = m_object;
- else if (vChild.lVal < 0) {
- // When broadcasting MSAA events, we negate the AXID and pass it as the
- // child ID.
- Document* document = m_object->document();
- if (!document)
- return E_FAIL;
-
- childObj = document->axObjectCache()->objectFromAXID(-vChild.lVal);
- } else {
- size_t childIndex = static_cast<size_t>(vChild.lVal - 1);
-
- if (childIndex >= m_object->children().size())
- return E_FAIL;
- childObj = m_object->children().at(childIndex).get();
- }
-
- if (!childObj)
- return E_FAIL;
-
- return S_OK;
-}
-
-AccessibleBase* AccessibleBase::wrapper(AccessibilityObject* obj) const
-{
- AccessibleBase* result = static_cast<AccessibleBase*>(obj->wrapper());
- if (!result)
- result = createInstance(obj, m_window);
- return result;
-}
-
-HRESULT AccessibleBase::isSameObject(IAccessibleComparable* other, BOOL* result)
-{
- COMPtr<AccessibleBase> otherAccessibleBase(Query, other);
- *result = (otherAccessibleBase == this || otherAccessibleBase->m_object == m_object);
- return S_OK;
-}
diff --git a/Source/WebKit/win/AccessibleBase.h b/Source/WebKit/win/AccessibleBase.h
deleted file mode 100644
index ed6a4e51b..000000000
--- a/Source/WebKit/win/AccessibleBase.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (C) 2008, 2009, 2010, 2013 Apple 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 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 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 AccessibleBase_h
-#define AccessibleBase_h
-
-#include "WebKit.h"
-#include <WebCore/AccessibilityObject.h>
-#include <WebCore/AccessibilityObjectWrapperWin.h>
-
-class DECLSPEC_UUID("3dbd565b-db22-4d88-8e0e-778bde54524a") AccessibleBase : public IAccessibleComparable, public IServiceProvider, public WebCore::AccessibilityObjectWrapper {
-public:
- static AccessibleBase* createInstance(WebCore::AccessibilityObject*, HWND);
-
- // IServiceProvider
- virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppv);
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++m_refCount; }
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IAccessible2_2
- virtual HRESULT STDMETHODCALLTYPE get_attribute(BSTR name, VARIANT* attribute);
- virtual HRESULT STDMETHODCALLTYPE get_accessibleWithCaret(IUnknown** accessible, long* caretOffset);
- virtual HRESULT STDMETHODCALLTYPE get_relationTargetsOfType(BSTR type, long maxTargets, IUnknown*** targets, long* nTargets);
-
- // IAccessible2
- virtual HRESULT STDMETHODCALLTYPE get_nRelations(long*);
- virtual HRESULT STDMETHODCALLTYPE get_relation(long relationIndex, IAccessibleRelation**);
- virtual HRESULT STDMETHODCALLTYPE get_relations(long maxRelations, IAccessibleRelation** relations, long* nRelations);
- virtual HRESULT STDMETHODCALLTYPE role(long*);
- virtual HRESULT STDMETHODCALLTYPE scrollTo(IA2ScrollType);
- virtual HRESULT STDMETHODCALLTYPE scrollToPoint(IA2CoordinateType, long x, long y);
- virtual HRESULT STDMETHODCALLTYPE get_groupPosition(long* groupLevel, long* similarItemsInGroup, long* positionInGroup);
- virtual HRESULT STDMETHODCALLTYPE get_states(AccessibleStates*);
- virtual HRESULT STDMETHODCALLTYPE get_extendedRole(BSTR*);
- virtual HRESULT STDMETHODCALLTYPE get_localizedExtendedRole(BSTR*);
- virtual HRESULT STDMETHODCALLTYPE get_nExtendedStates(long*);
- virtual HRESULT STDMETHODCALLTYPE get_extendedStates(long maxExtendedStates, BSTR** extendedStates, long* nExtendedStates);
- virtual HRESULT STDMETHODCALLTYPE get_localizedExtendedStates(long maxLocalizedExtendedStates, BSTR** localizedExtendedStates, long* nLocalizedExtendedStates);
- virtual HRESULT STDMETHODCALLTYPE get_uniqueID(long*);
- virtual HRESULT STDMETHODCALLTYPE get_windowHandle(HWND*);
- virtual HRESULT STDMETHODCALLTYPE get_indexInParent(long*);
- virtual HRESULT STDMETHODCALLTYPE get_locale(IA2Locale*);
- virtual HRESULT STDMETHODCALLTYPE get_attributes(BSTR*);
-
- // IAccessible
- virtual HRESULT STDMETHODCALLTYPE get_accParent(IDispatch**);
- virtual HRESULT STDMETHODCALLTYPE get_accChildCount(long*);
- virtual HRESULT STDMETHODCALLTYPE get_accChild(VARIANT vChild, IDispatch** ppChild);
- virtual HRESULT STDMETHODCALLTYPE get_accName(VARIANT vChild, BSTR*);
- virtual HRESULT STDMETHODCALLTYPE get_accValue(VARIANT vChild, BSTR*);
- virtual HRESULT STDMETHODCALLTYPE get_accDescription(VARIANT, BSTR*);
- virtual HRESULT STDMETHODCALLTYPE get_accRole(VARIANT vChild, VARIANT* pvRole);
- virtual HRESULT STDMETHODCALLTYPE get_accState(VARIANT vChild, VARIANT* pvState);
- virtual HRESULT STDMETHODCALLTYPE get_accHelp(VARIANT vChild, BSTR* helpText);
- virtual HRESULT STDMETHODCALLTYPE get_accKeyboardShortcut(VARIANT vChild, BSTR*);
- virtual HRESULT STDMETHODCALLTYPE get_accFocus(VARIANT* pvFocusedChild);
- virtual HRESULT STDMETHODCALLTYPE get_accSelection(VARIANT* pvSelectedChild);
- virtual HRESULT STDMETHODCALLTYPE get_accDefaultAction(VARIANT vChild, BSTR* actionDescription);
- virtual HRESULT STDMETHODCALLTYPE accSelect(long selectionFlags, VARIANT vChild);
- virtual HRESULT STDMETHODCALLTYPE accLocation(long* left, long* top, long* width, long* height, VARIANT vChild);
- virtual HRESULT STDMETHODCALLTYPE accNavigate(long direction, VARIANT vFromChild, VARIANT* pvNavigatedTo);
- virtual HRESULT STDMETHODCALLTYPE accHitTest(long x, long y, VARIANT* pvChildAtPoint);
- virtual HRESULT STDMETHODCALLTYPE accDoDefaultAction(VARIANT vChild);
-
- // IAccessible - Not to be implemented.
- virtual HRESULT STDMETHODCALLTYPE put_accName(VARIANT, BSTR) { return E_NOTIMPL; }
- virtual HRESULT STDMETHODCALLTYPE put_accValue(VARIANT, BSTR) { return E_NOTIMPL; }
- virtual HRESULT STDMETHODCALLTYPE get_accHelpTopic(BSTR* helpFile, VARIANT, long* topicID)
- {
- *helpFile = 0;
- *topicID = 0;
- return E_NOTIMPL;
- }
-
- // IDispatch - Not to be implemented.
- virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT* count)
- {
- *count = 0;
- return E_NOTIMPL;
- }
- virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT, LCID, ITypeInfo** ppTInfo)
- {
- *ppTInfo = 0;
- return E_NOTIMPL;
- }
- virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID, LPOLESTR*, UINT, LCID, DISPID*) { return E_NOTIMPL; }
- virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID, REFIID, LCID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*, UINT*) { return E_NOTIMPL; }
-
- // WebCore::AccessiblityObjectWrapper
- virtual void detach() {
- ASSERT(m_object);
- m_object = 0;
- }
-
- // IAccessibleComparable
- virtual HRESULT STDMETHODCALLTYPE isSameObject(IAccessibleComparable* other, BOOL* result);
-
-protected:
- AccessibleBase(WebCore::AccessibilityObject*, HWND);
- virtual ~AccessibleBase();
-
- virtual WTF::String name() const;
- virtual WTF::String value() const;
- virtual long role() const;
- virtual long state() const;
-
- HRESULT getAccessibilityObjectForChild(VARIANT vChild, WebCore::AccessibilityObject*&) const;
-
- AccessibleBase* wrapper(WebCore::AccessibilityObject*) const;
-
- HWND m_window;
- int m_refCount;
-
-private:
- AccessibleBase() { }
-};
-
-#endif // AccessibleBase_h
-
diff --git a/Source/WebKit/win/AccessibleDocument.cpp b/Source/WebKit/win/AccessibleDocument.cpp
deleted file mode 100644
index 93812a6ef..000000000
--- a/Source/WebKit/win/AccessibleDocument.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2008, 2013 Apple Inc. All Rights Reserved.
- * Copyright (C) 2012 Serotek Corporation. 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 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 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 "AccessibleDocument.h"
-
-#include <WebCore/AXObjectCache.h>
-#include <WebCore/Document.h>
-#include <WebCore/RenderObject.h>
-
-using namespace WebCore;
-
-// AccessibleDocument
-AccessibleDocument::AccessibleDocument(Document* doc, HWND window)
- : AccessibleBase(doc->axObjectCache()->rootObject(), window)
-{
-}
-
-long AccessibleDocument::role() const
-{
- return ROLE_SYSTEM_DOCUMENT;
-}
-
-Document* AccessibleDocument::document() const
-{
- if (!m_object)
- return 0;
- return m_object->document();
-}
-
-long AccessibleDocument::state() const
-{
- long state = AccessibleBase::state();
-
- // The document is considered focusable on Windows.
- state |= STATE_SYSTEM_FOCUSABLE;
-
- // The document must expose itself as focused if no element has focus.
- if (m_object->focusedUIElement() == m_object)
- state |= STATE_SYSTEM_FOCUSED;
-
- return state;
-}
diff --git a/Source/WebKit/win/AccessibleDocument.h b/Source/WebKit/win/AccessibleDocument.h
deleted file mode 100644
index f6ca39f1a..000000000
--- a/Source/WebKit/win/AccessibleDocument.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2008, 2013 Apple 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 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 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 AccessibleDocument_h
-#define AccessibleDocument_h
-
-#include "AccessibleBase.h"
-
-class AccessibleDocument : public AccessibleBase {
-public:
- AccessibleDocument(WebCore::Document*, HWND);
- WebCore::Document* document() const;
-
-protected:
- virtual long role() const OVERRIDE;
- virtual long state() const OVERRIDE;
-};
-
-#endif // AccessibleDocument_h
diff --git a/Source/WebKit/win/AccessibleImage.cpp b/Source/WebKit/win/AccessibleImage.cpp
deleted file mode 100644
index 4a70cc80d..000000000
--- a/Source/WebKit/win/AccessibleImage.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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 "AccessibleImage.h"
-
-#include <WebCore/AccessibilityRenderObject.h>
-#include <WebCore/HTMLNames.h>
-
-using namespace WebCore;
-using namespace WebCore::HTMLNames;
-
-AccessibleImage::AccessibleImage(AccessibilityObject* obj, HWND window)
- : AccessibleBase(obj, window)
-{
- ASSERT_ARG(obj, obj->isImage());
- ASSERT_ARG(obj, obj->isAccessibilityRenderObject());
-}
-
-String AccessibleImage::name() const
-{
- if (!m_object->isAccessibilityRenderObject())
- return AccessibleBase::name();
-
- AccessibilityRenderObject* obj = static_cast<AccessibilityRenderObject*>(m_object);
-
- String ariaLabel = obj->ariaLabeledByAttribute();
- if (!ariaLabel.isEmpty())
- return ariaLabel;
-
- const AtomicString& altText = obj->getAttribute(HTMLNames::altAttr);
- if (!altText.isEmpty())
- return altText;
-
- return AccessibleBase::name();
-}
diff --git a/Source/WebKit/win/AccessibleImage.h b/Source/WebKit/win/AccessibleImage.h
deleted file mode 100644
index cce93b56b..000000000
--- a/Source/WebKit/win/AccessibleImage.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 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 AccessibleImage_h
-#define AccessibleImage_h
-
-#include "AccessibleBase.h"
-
-class AccessibleImage : public AccessibleBase
-{
-public:
- AccessibleImage(WebCore::AccessibilityObject*, HWND);
- virtual ~AccessibleImage() { }
-
-private:
- virtual WTF::String name() const;
-};
-
-#endif // AccessibleImage_h
diff --git a/Source/WebKit/win/CFDictionaryPropertyBag.cpp b/Source/WebKit/win/CFDictionaryPropertyBag.cpp
deleted file mode 100644
index c22311fde..000000000
--- a/Source/WebKit/win/CFDictionaryPropertyBag.cpp
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-#include "CFDictionaryPropertyBag.h"
-
-#include "MarshallingHelpers.h"
-#include "WebKit.h"
-
-// CFDictionaryPropertyBag -----------------------------------------------
-
-CFDictionaryPropertyBag::CFDictionaryPropertyBag()
-: m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("CFDictionaryPropertyBag");
-}
-
-CFDictionaryPropertyBag::~CFDictionaryPropertyBag()
-{
- gClassCount--;
- gClassNameCount.remove("CFDictionaryPropertyBag");
-}
-
-COMPtr<CFDictionaryPropertyBag> CFDictionaryPropertyBag::createInstance()
-{
- return new CFDictionaryPropertyBag;
-}
-
-void CFDictionaryPropertyBag::setDictionary(CFMutableDictionaryRef dictionary)
-{
- m_dictionary = dictionary;
-}
-
-CFMutableDictionaryRef CFDictionaryPropertyBag::dictionary() const
-{
- return m_dictionary.get();
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE CFDictionaryPropertyBag::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IPropertyBag*>(this);
- else if (IsEqualGUID(riid, IID_IPropertyBag))
- *ppvObject = static_cast<IPropertyBag*>(this);
- else if (IsEqualGUID(riid, __uuidof(this)))
- *ppvObject = this;
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE CFDictionaryPropertyBag::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE CFDictionaryPropertyBag::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IPropertyBag ------------------------------------------------------------
-
-static bool ConvertCFTypeToVariant(VARIANT* pVar, void* cfObj)
-{
- if (!cfObj) {
- V_VT(pVar) = VT_NULL;
- return true;
- }
- else {
- // if caller expects a string, retrieve BSTR from CFStringRef
- if (V_VT(pVar) == VT_BSTR) {
- V_BSTR(pVar) = MarshallingHelpers::CFStringRefToBSTR((CFStringRef) cfObj);
- return true;
- } else if (V_VT(pVar) == VT_I4) {
- V_I4(pVar) = MarshallingHelpers::CFNumberRefToInt((CFNumberRef) cfObj);
- return true;
- } else if (!!(V_VT(pVar)&VT_ARRAY)) {
- if ((V_VT(pVar)&~VT_ARRAY) == VT_BSTR) {
- V_ARRAY(pVar) = MarshallingHelpers::stringArrayToSafeArray((CFArrayRef) cfObj);
- return true;
- } else if ((V_VT(pVar)&~VT_ARRAY) == VT_I4) {
- V_ARRAY(pVar) = MarshallingHelpers::intArrayToSafeArray((CFArrayRef) cfObj);
- return true;
- } else if ((V_VT(pVar)&~VT_ARRAY) == VT_UNKNOWN) {
- V_ARRAY(pVar) = MarshallingHelpers::iunknownArrayToSafeArray((CFArrayRef) cfObj);
- return true;
- }
- }
- }
- return false;
-}
-
-static bool ConvertVariantToCFType(VARIANT* pVar, void** cfObj)
-{
- if (V_VT(pVar) == VT_NULL) {
- *cfObj = 0;
- return true;
- }
- else {
- // if caller expects a string, retrieve BSTR from CFStringRef
- if (V_VT(pVar) == VT_BSTR) {
- *cfObj = (void*) MarshallingHelpers::BSTRToCFStringRef(V_BSTR(pVar));
- return true;
- } else if (V_VT(pVar) == VT_I4) {
- *cfObj = (void*) MarshallingHelpers::intToCFNumberRef(V_I4(pVar));
- return true;
- } else if (!!(V_VT(pVar)&VT_ARRAY)) {
- if ((V_VT(pVar)&~VT_ARRAY) == VT_BSTR) {
- *cfObj = (void*) MarshallingHelpers::safeArrayToStringArray(V_ARRAY(pVar));
- return true;
- } else if ((V_VT(pVar)&~VT_ARRAY) == VT_I4) {
- *cfObj = (void*) MarshallingHelpers::safeArrayToIntArray(V_ARRAY(pVar));
- return true;
- } else if ((V_VT(pVar)&~VT_ARRAY) == VT_UNKNOWN) {
- *cfObj = (void*) MarshallingHelpers::safeArrayToIUnknownArray(V_ARRAY(pVar));
- return true;
- }
- }
- }
- return false;
-}
-
-HRESULT STDMETHODCALLTYPE CFDictionaryPropertyBag::Read(LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog * /*pErrorLog*/)
-{
- if (!pszPropName)
- return E_POINTER;
- if (m_dictionary) {
- void* value;
- CFStringRef key = MarshallingHelpers::LPCOLESTRToCFStringRef(pszPropName);
- HRESULT hr = E_FAIL;
- if (CFDictionaryGetValueIfPresent(m_dictionary.get(), key, (const void**) &value)) {
- if (ConvertCFTypeToVariant(pVar, value))
- hr = S_OK;
- } else
- hr = E_INVALIDARG;
- CFRelease(key);
- return hr;
- }
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE CFDictionaryPropertyBag::Write(LPCOLESTR pszPropName, VARIANT* pVar)
-{
- if (!pszPropName || !pVar)
- return E_POINTER;
- if (!m_dictionary) {
- m_dictionary = adoptCF(CFDictionaryCreateMutable(0, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
- }
- void* cfObj;
- if (ConvertVariantToCFType(pVar, &cfObj)) {
- CFStringRef key = MarshallingHelpers::LPCOLESTRToCFStringRef(pszPropName);
- CFDictionaryAddValue(m_dictionary.get(), key, cfObj);
- // CFDictionaryAddValue should automatically retain the CF objects passed in, so release them here
- CFRelease(key);
- CFRelease(cfObj);
- return S_OK;
- }
- return E_FAIL;
-} \ No newline at end of file
diff --git a/Source/WebKit/win/CFDictionaryPropertyBag.h b/Source/WebKit/win/CFDictionaryPropertyBag.h
deleted file mode 100644
index 17964e57c..000000000
--- a/Source/WebKit/win/CFDictionaryPropertyBag.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple 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 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 CFDictionaryPropertyBag_h
-#define CFDictionaryPropertyBag_h
-
-#include "WebKit.h"
-#include <WebCore/COMPtr.h>
-#include <wtf/RetainPtr.h>
-
-typedef struct __CFDictionary* CFMutableDictionaryRef;
-
-class CFDictionaryPropertyBag : public IPropertyBag {
-public:
- static COMPtr<CFDictionaryPropertyBag> createInstance();
-
- // IUnknown
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
- void setDictionary(CFMutableDictionaryRef dictionary);
- CFMutableDictionaryRef dictionary() const;
-
-private:
- CFDictionaryPropertyBag();
- ~CFDictionaryPropertyBag();
-
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
-
- // IPropertyBag
- virtual HRESULT STDMETHODCALLTYPE Read(LPCOLESTR pszPropName, VARIANT*, IErrorLog*);
- virtual HRESULT STDMETHODCALLTYPE Write(LPCOLESTR pszPropName, VARIANT*);
-
- RetainPtr<CFMutableDictionaryRef> m_dictionary;
- ULONG m_refCount;
-};
-
-#endif // CFDictionaryPropertyBag_h
diff --git a/Source/WebKit/win/COMEnumVariant.h b/Source/WebKit/win/COMEnumVariant.h
deleted file mode 100644
index 40ab414dd..000000000
--- a/Source/WebKit/win/COMEnumVariant.h
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 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 COMEnumVariant_h
-#define COMEnumVariant_h
-
-#ifndef NOMINMAX
-#define NOMINMAX
-#endif
-#include <unknwn.h>
-
-
-#include "COMVariantSetter.h"
-
-template<typename ContainerType>
-class COMEnumVariant : public IEnumVARIANT {
- WTF_MAKE_NONCOPYABLE(COMEnumVariant);
-public:
- static COMEnumVariant* adopt(ContainerType&);
- static COMEnumVariant* createInstance(const ContainerType&);
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
- // IEnumVARIANT
- virtual HRESULT STDMETHODCALLTYPE Next(ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched);
- virtual HRESULT STDMETHODCALLTYPE Skip(ULONG celt);
- virtual HRESULT STDMETHODCALLTYPE Reset();
- virtual HRESULT STDMETHODCALLTYPE Clone(IEnumVARIANT** ppEnum);
-
-private:
- COMEnumVariant()
- : m_refCount(0)
- {
- }
-
- COMEnumVariant(const ContainerType& container)
- : m_refCount(0)
- , m_container(container)
- , m_currentPos(m_container.begin())
- {
- }
-
- ~COMEnumVariant() {}
-
- ULONG m_refCount;
-
- ContainerType m_container;
- typename ContainerType::const_iterator m_currentPos;
-};
-
-// COMEnumVariant ------------------------------------------------------------------
-template<typename ContainerType>
-COMEnumVariant<typename ContainerType>* COMEnumVariant<ContainerType>::adopt(ContainerType& container)
-{
- COMEnumVariant* instance = new COMEnumVariant;
- instance->m_container.swap(container);
- instance->m_currentPos = instance->m_container.begin();
- instance->AddRef();
- return instance;
-}
-
-template<typename ContainerType>
-COMEnumVariant<typename ContainerType>* COMEnumVariant<ContainerType>::createInstance(const ContainerType& container)
-{
- COMEnumVariant* instance = new COMEnumVariant(container);
- instance->AddRef();
- return instance;
-}
-
-// IUnknown ------------------------------------------------------------------------
-template<typename ContainerType>
-HRESULT STDMETHODCALLTYPE COMEnumVariant<ContainerType>::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<COMEnumVariant*>(this);
- else if (IsEqualGUID(riid, IID_IEnumVARIANT))
- *ppvObject = static_cast<COMEnumVariant*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-template<typename ContainerType>
-ULONG STDMETHODCALLTYPE COMEnumVariant<ContainerType>::AddRef()
-{
- return ++m_refCount;
-}
-
-template<typename ContainerType>
-ULONG STDMETHODCALLTYPE COMEnumVariant<ContainerType>::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete this;
-
- return newRef;
-}
-
-// IEnumVARIANT --------------------------------------------------------------------
-template<typename ContainerType>
-HRESULT STDMETHODCALLTYPE COMEnumVariant<ContainerType>::Next(ULONG celt, VARIANT* rgVar, ULONG* pCeltFetched)
-{
- if (pCeltFetched)
- *pCeltFetched = 0;
- if (!rgVar)
- return E_POINTER;
- for (unsigned i = 0 ; i < celt; i++)
- VariantInit(&rgVar[i]);
-
- for (unsigned i = 0; i < celt; i++) {
- if (m_currentPos == m_container.end())
- return S_FALSE;
-
- COMVariantSetter<ContainerType::ValueType>::setVariant(&rgVar[i], *m_currentPos);
- ++m_currentPos;
- if (pCeltFetched)
- (*pCeltFetched)++;
- }
-
- return S_OK;
-}
-
-template<typename ContainerType>
-HRESULT STDMETHODCALLTYPE COMEnumVariant<ContainerType>::Skip(ULONG celt)
-{
- for (unsigned i = 0; i < celt; i++) {
- if (m_currentPos == m_container.end())
- return S_FALSE;
-
- ++m_currentPos;
- }
- return S_OK;
-}
-
-template<typename ContainerType>
-HRESULT STDMETHODCALLTYPE COMEnumVariant<ContainerType>::Reset()
-{
- m_currentPos = m_container.begin();
- return S_OK;
-}
-
-template<typename ContainerType>
-HRESULT STDMETHODCALLTYPE COMEnumVariant<ContainerType>::Clone(IEnumVARIANT** ppEnum)
-{
- if (!ppEnum)
- return E_POINTER;
-
- *ppEnum = 0;
- return E_NOTIMPL;
-}
-
-#endif
diff --git a/Source/WebKit/win/COMPropertyBag.h b/Source/WebKit/win/COMPropertyBag.h
deleted file mode 100644
index 758555f1c..000000000
--- a/Source/WebKit/win/COMPropertyBag.h
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 COMPropertyBag_h
-#define COMPropertyBag_h
-
-#ifndef NOMINMAX
-#define NOMINMAX
-#endif
-#include <ocidl.h>
-#include <unknwn.h>
-
-#include <wtf/Noncopyable.h>
-#include <wtf/HashMap.h>
-
-#include "COMVariantSetter.h"
-
-template<typename ValueType, typename KeyType = typename WTF::String, typename HashType = typename WTF::StringHash>
-class COMPropertyBag : public IPropertyBag, public IPropertyBag2 {
- WTF_MAKE_NONCOPYABLE(COMPropertyBag);
-public:
- typedef HashMap<KeyType, ValueType, HashType> HashMapType;
-
- static COMPropertyBag* createInstance(const HashMapType&);
- static COMPropertyBag* adopt(HashMapType&);
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
- // IPropertyBag
- virtual HRESULT STDMETHODCALLTYPE Read(LPCOLESTR pszPropName, VARIANT*, IErrorLog*);
- virtual HRESULT STDMETHODCALLTYPE Write(LPCOLESTR pszPropName, VARIANT*);
-
- // IPropertyBag2
- virtual HRESULT STDMETHODCALLTYPE Read(ULONG cProperties, PROPBAG2*, IErrorLog*, VARIANT* pvarValue, HRESULT* phrError);
- virtual HRESULT STDMETHODCALLTYPE Write(ULONG cProperties, PROPBAG2*, VARIANT*);
- virtual HRESULT STDMETHODCALLTYPE CountProperties(ULONG* pcProperties);
- virtual HRESULT STDMETHODCALLTYPE GetPropertyInfo(ULONG iProperty, ULONG cProperties, PROPBAG2* pPropBag, ULONG* pcProperties);
- virtual HRESULT STDMETHODCALLTYPE LoadObject(LPCOLESTR pstrName, DWORD dwHint, IUnknown*, IErrorLog*);
-
-private:
- COMPropertyBag()
- : m_refCount(0)
- {
- }
-
- COMPropertyBag(const HashMapType& hashMap)
- : m_refCount(0)
- , m_hashMap(hashMap)
- {
- }
-
- ~COMPropertyBag() {}
-
- ULONG m_refCount;
- HashMapType m_hashMap;
-};
-
-// COMPropertyBag ------------------------------------------------------------------
-template<typename ValueType, typename KeyType, typename HashType>
-COMPropertyBag<ValueType, KeyType, HashType>* COMPropertyBag<typename ValueType, typename KeyType, HashType>::createInstance(const HashMapType& hashMap)
-{
- COMPropertyBag* instance = new COMPropertyBag(hashMap);
- instance->AddRef();
- return instance;
-}
-
-template<typename ValueType, typename KeyType, typename HashType>
-COMPropertyBag<ValueType, KeyType, HashType>* COMPropertyBag<typename ValueType, typename KeyType, HashType>::adopt(HashMapType& hashMap)
-{
- COMPropertyBag* instance = new COMPropertyBag;
- instance->m_hashMap.swap(hashMap);
- instance->AddRef();
- return instance;
-}
-
-// IUnknown ------------------------------------------------------------------------
-template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IPropertyBag*>(this);
- else if (IsEqualGUID(riid, IID_IPropertyBag))
- *ppvObject = static_cast<IPropertyBag*>(this);
- else if (IsEqualGUID(riid, IID_IPropertyBag2))
- *ppvObject = static_cast<IPropertyBag2*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-template<typename ValueType, typename KeyType, typename HashType>
-ULONG STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::AddRef()
-{
- return ++m_refCount;
-}
-
-template<typename ValueType, typename KeyType, typename HashType>
-ULONG STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete this;
-
- return newRef;
-}
-
-// IPropertyBag --------------------------------------------------------------------
-
-template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::Read(LPCOLESTR pszPropName, VARIANT* pVar, IErrorLog* pErrorLog)
-{
- if (!pszPropName)
- return E_POINTER;
-
- HashMapType::const_iterator it = m_hashMap.find(String(pszPropName));
- HashMapType::const_iterator end = m_hashMap.end();
- if (it == end)
- return E_INVALIDARG;
-
- VARTYPE requestedType = V_VT(pVar);
- V_VT(pVar) = VT_EMPTY;
- COMVariantSetter<ValueType>::setVariant(pVar, it->value);
-
- if (requestedType != COMVariantSetter<ValueType>::variantType(it->value) && requestedType != VT_EMPTY)
- return ::VariantChangeType(pVar, pVar, VARIANT_NOUSEROVERRIDE | VARIANT_ALPHABOOL, requestedType);
-
- return S_OK;
-}
-
-template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::Write(LPCOLESTR pszPropName, VARIANT* pVar)
-{
- return E_FAIL;
-}
-
-template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::Read(ULONG cProperties, PROPBAG2* pPropBag, IErrorLog* pErrorLog, VARIANT* pvarValue, HRESULT* phrError)
-{
- if (!pPropBag || !pvarValue || !phrError)
- return E_POINTER;
-
- HRESULT hr = S_OK;
-
- for (ULONG i = 0; i < cProperties; ++i) {
- VariantInit(&pvarValue[i]);
- pvarValue[i].vt = pPropBag[i].vt;
- phrError[i] = Read(pPropBag[i].pstrName, &pvarValue[i], pErrorLog);
- if (FAILED(phrError[i]))
- hr = E_FAIL;
- }
-
- return hr;
-}
-
-template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::Write(ULONG cProperties, PROPBAG2*, VARIANT*)
-{
- return E_NOTIMPL;
-}
-
-template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::CountProperties(ULONG* pcProperties)
-{
- if (!pcProperties)
- return E_POINTER;
-
- *pcProperties = m_hashMap.size();
- return S_OK;
-}
-
-template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::GetPropertyInfo(ULONG iProperty, ULONG cProperties, PROPBAG2* pPropBag, ULONG* pcProperties)
-{
- if (!pPropBag || !pcProperties)
- return E_POINTER;
-
- if (m_hashMap.size() <= iProperty)
- return E_INVALIDARG;
-
- *pcProperties = 0;
- typedef HashMapType::const_iterator Iterator;
- Iterator current = m_hashMap.begin();
- Iterator end = m_hashMap.end();
- for (ULONG i = 0; i < iProperty; ++i, ++current)
- ;
- for (ULONG j = 0; j < cProperties && current != end; ++j, ++current) {
- // FIXME: the following fields aren't filled in
- //pPropBag[j].cfType; // (CLIPFORMAT) Clipboard format or MIME type of the property.
- //pPropBag[j].clsid; // (CLSID) CLSID of the object. This member is valid only if dwType is PROPBAG2_TYPE_OBJECT.
-
- pPropBag[j].dwType = PROPBAG2_TYPE_DATA;
- pPropBag[j].vt = COMVariantSetter<ValueType>::variantType(current->value);
- pPropBag[j].dwHint = iProperty + j;
- pPropBag[j].pstrName = (LPOLESTR)CoTaskMemAlloc(sizeof(wchar_t)*(current->key.length()+1));
- if (!pPropBag[j].pstrName)
- return E_OUTOFMEMORY;
- wcscpy_s(pPropBag[j].pstrName, current->key.length()+1, static_cast<String>(current->key).charactersWithNullTermination().data());
- ++*pcProperties;
- }
- return S_OK;
-}
-
-template<typename ValueType, typename KeyType, typename HashType>
-HRESULT STDMETHODCALLTYPE COMPropertyBag<ValueType, KeyType, HashType>::LoadObject(LPCOLESTR pstrName, DWORD dwHint, IUnknown*, IErrorLog*)
-{
- return E_NOTIMPL;
-}
-
-#endif // COMPropertyBag_h
diff --git a/Source/WebKit/win/COMVariantSetter.h b/Source/WebKit/win/COMVariantSetter.h
deleted file mode 100644
index e211dcaa8..000000000
--- a/Source/WebKit/win/COMVariantSetter.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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 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 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 COMVariantSetter_h
-#define COMVariantSetter_h
-
-#include <WebCore/BString.h>
-#include <WebCore/COMPtr.h>
-#include <wtf/Assertions.h>
-#include <wtf/Forward.h>
-
-template<typename T> struct COMVariantSetter {};
-
-template<typename T> struct COMVariantSetterBase
-{
- static inline VARENUM variantType(const T&)
- {
- return COMVariantSetter<T>::VariantType;
- }
-};
-
-template<> struct COMVariantSetter<WTF::String> : COMVariantSetterBase<WTF::String>
-{
- static const VARENUM VariantType = VT_BSTR;
-
- static void setVariant(VARIANT* variant, const WTF::String& value)
- {
- ASSERT(V_VT(variant) == VT_EMPTY);
-
- V_VT(variant) = VariantType;
- V_BSTR(variant) = WebCore::BString(value).release();
- }
-};
-
-template<> struct COMVariantSetter<bool> : COMVariantSetterBase<bool>
-{
- static const VARENUM VariantType = VT_BOOL;
-
- static void setVariant(VARIANT* variant, bool value)
- {
- ASSERT(V_VT(variant) == VT_EMPTY);
-
- V_VT(variant) = VariantType;
- V_BOOL(variant) = value;
- }
-};
-
-template<> struct COMVariantSetter<unsigned long long> : COMVariantSetterBase<unsigned long long>
-{
- static const VARENUM VariantType = VT_UI8;
-
- static void setVariant(VARIANT* variant, unsigned long long value)
- {
- ASSERT(V_VT(variant) == VT_EMPTY);
-
- V_VT(variant) = VariantType;
- V_UI8(variant) = value;
- }
-};
-
-template<> struct COMVariantSetter<int> : COMVariantSetterBase<int>
-{
- static const VARENUM VariantType = VT_I4;
-
- static void setVariant(VARIANT* variant, int value)
- {
- ASSERT(V_VT(variant) == VT_EMPTY);
-
- V_VT(variant) = VariantType;
- V_I4(variant) = value;
- }
-};
-
-template<> struct COMVariantSetter<float> : COMVariantSetterBase<float>
-{
- static const VARENUM VariantType = VT_R4;
-
- static void setVariant(VARIANT* variant, float value)
- {
- ASSERT(V_VT(variant) == VT_EMPTY);
-
- V_VT(variant) = VariantType;
- V_R4(variant) = value;
- }
-};
-
-template<typename T> struct COMVariantSetter<COMPtr<T> > : COMVariantSetterBase<COMPtr<T> >
-{
- static const VARENUM VariantType = VT_UNKNOWN;
-
- static void setVariant(VARIANT* variant, const COMPtr<T>& value)
- {
- ASSERT(V_VT(variant) == VT_EMPTY);
-
- V_VT(variant) = VariantType;
- V_UNKNOWN(variant) = value.get();
- value->AddRef();
- }
-};
-
-template<typename COMType, typename UnderlyingType>
-struct COMIUnknownVariantSetter : COMVariantSetterBase<UnderlyingType>
-{
- static const VARENUM VariantType = VT_UNKNOWN;
-
- static void setVariant(VARIANT* variant, const UnderlyingType& value)
- {
- ASSERT(V_VT(variant) == VT_EMPTY);
-
- V_VT(variant) = VariantType;
- V_UNKNOWN(variant) = COMType::createInstance(value);
- }
-};
-
-class COMVariant {
-public:
- COMVariant()
- {
- ::VariantInit(&m_variant);
- }
-
- template<typename UnderlyingType>
- COMVariant(UnderlyingType value)
- {
- ::VariantInit(&m_variant);
- COMVariantSetter<UnderlyingType>::setVariant(&m_variant, value);
- }
-
- ~COMVariant()
- {
- ::VariantClear(&m_variant);
- }
-
- COMVariant(const COMVariant& other)
- {
- ::VariantInit(&m_variant);
- other.copyTo(&m_variant);
- }
-
- COMVariant& operator=(const COMVariant& other)
- {
- other.copyTo(&m_variant);
- return *this;
- }
-
- void copyTo(VARIANT* dest) const
- {
- ::VariantCopy(dest, const_cast<VARIANT*>(&m_variant));
- }
-
- VARENUM variantType() const { return static_cast<VARENUM>(V_VT(&m_variant)); }
-
-private:
- VARIANT m_variant;
-};
-
-template<> struct COMVariantSetter<COMVariant>
-{
- static inline VARENUM variantType(const COMVariant& value)
- {
- return value.variantType();
- }
-
- static void setVariant(VARIANT* variant, const COMVariant& value)
- {
- ASSERT(V_VT(variant) == VT_EMPTY);
-
- value.copyTo(variant);
- }
-};
-
-#endif // COMVariantSetter
diff --git a/Source/WebKit/win/ChangeLog-2009-06-16 b/Source/WebKit/win/ChangeLog-2009-06-16
deleted file mode 100644
index 4f1d58b13..000000000
--- a/Source/WebKit/win/ChangeLog-2009-06-16
+++ /dev/null
@@ -1,23819 +0,0 @@
- 2009-06-15 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Tim Hatcher.
-
- - use a nice source code font in the Web Inspector
-
- * WebCoreSupport/WebInspectorClient.cpp:
- (WebInspectorClient::createPage): Set the default monospace font to
- 13px Courier New, which is the default source code font in Visual
- Studio.
-
-2009-06-13 Adam Barth <abarth@webkit.org>
-
- Reviewed by Darin Fisher.
-
- https://bugs.webkit.org/show_bug.cgi?id=24492
-
- Move registerURLSchemeAsLocal from FrameLoader to SecurityOrigin.
-
- * WebView.cpp:
- (WebView::registerURLSchemeAsLocal):
-
-2009-06-12 Peter Kasting <pkasting@google.com>
-
- Reviewed by Eric Seidel.
-
- * ChangeLog: Update my email address.
-
-2009-06-03 Brent Fulgham <bfulgham@webkit.org>
-
- Build fix for Windows Cairo.
-
- * WebKit.vcproj/WebKit.vcproj: Remove unneeded giflib.lib
- link command.
-
-2009-06-01 Brent Fulgham <bfulgham@webkit.org>
-
- Build fix for Cairo Windows target. Windows link definition
- files were out of sync with the Apple Windows link files.
-
- * WebKit.vcproj/WebKit_Cairo.def:
- * WebKit.vcproj/WebKit_Cairo_debug.def:
-
-2009-05-29 Adam Roben <aroben@apple.com>
-
- Implement WebFrame::startDownload
-
- Fixes the WebKit side of Bug 25729: Alt-clicking a link doesn't start
- a download <https://bugs.webkit.org/show_bug.cgi?id=25729>. Fixing
- this all the way will require a change in Safari.
-
- Reviewed by Darin Adler.
-
- * WebFrame.cpp:
- (WebFrame::startDownload): Call through to WebView::downloadURL.
-
-2009-05-29 Adam Roben <aroben@apple.com>
-
- Move WebContextMenuClient's downloading code to WebView
-
- This will allow other code to trigger downloads using this code, and
- matches Mac.
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebContextMenuClient.cpp:
- (WebContextMenuClient::downloadURL): Moved code from here...
- * WebView.cpp:
- (WebView::downloadURL): ...to here. Also tightened up the code a
- little bit and removed an unnecessary LOG_ERROR.
-
- * WebView.h: Added downloadURL.
-
-2009-05-29 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Darin Adler.
-
- Correct Windows Cairo build error caused by @r42767.
- http://bugs.webkit.org/show_bug.cgi?id=26082.
-
- * WebError.cpp:
- (WebError::localizedDescription):
-
-2009-05-23 David Kilzer <ddkilzer@apple.com>
-
- Windows build fix for PassOwnPtr
-
- * WebHistory.cpp:
- (WebHistory::visitedURL): Changed
- std::auto_ptr<Vector<String> >() to 0.
- * WebHistoryItem.cpp:
- (WebHistoryItem::initFromDictionaryRepresentation): Changed type
- of redirectURLsVector from std::auto_ptr<Vector<String> > to
- OwnPtr<Vector<String> >.
-
-2009-05-23 David Kilzer <ddkilzer@apple.com>
-
- Part 2 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
-
- <https://bugs.webkit.org/show_bug.cgi?id=25495>
-
- Reviewed by Oliver Hunt.
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::createHTMLParserQuirks): Return a PassOwnPtr<>
- instead of a raw HTMLParserQuirks pointer.
-
-2009-05-22 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=25971
- Correct some build errors for Windows Cairo variant.
-
- * WebKit.vcproj/WebKit.vcproj: Remove WTF.lib link commands as
- the new JavaScriptCore.dll supplies this now.
-
-2009-05-22 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Steve Falkenburg.
-
- https://bugs.webkit.org/show_bug.cgi?id=25950
- JavaScriptCore Fails to build on Windows (Cairo) due to
- CoreFoundation link requirement.
-
- * WebKit.vcproj/WebKit.sln: Modify Debug_Cairo and Release_Cairo
- targets to use new Debug_CFLite and Release_CFLite targets
- for JavaScriptCore.
-
-2009-05-21 Darin Fisher <darin@chromium.org>
-
- Fix-up coding style.
-
- * WebCoreSupport/WebEditorClient.cpp:
- (WebEditorClient::getAutoCorrectSuggestionForMisspelledWord):
-
-2009-05-20 Siddhartha Chattopadhyay <sidchat@google.com>
-
- Reviewed by Justin Garcia.
-
- Add automatic spell correction support in WebKit
-
- https://bugs.webkit.org/show_bug.cgi?id=24953
-
- * WebCoreSupport/WebEditorClient.cpp:
- (WebEditorClient::getAutoCorrectSuggestionForMisspelledWord):
- * WebCoreSupport/WebEditorClient.h:
-
-2009-05-20 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler.
-
- More protocolInHTTPFamily() cleanup.
-
- * WebHistory.cpp:
- (WebHistory::visitedURL):
-
-2009-05-20 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=25834
-
- Make ChromeClient a interface again
-
- With recent additions to ChromeClient.h empty defaults were
- added. This is bad for porters as these changes go unnoticed
- and at runtime no notImplemented warning is logged and grepping
- for notImplemented will not show anything. Change this Client
- to be like the other Clients again and always have pure virtuals
- (but for stuff inside #ifdef PLATFORM(MAC)).
-
- Update the various WebKit/* implementations to compile again.
-
- * WebCoreSupport/WebChromeClient.cpp:
- (WebChromeClient::requestGeolocationPermissionForFrame):
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::scrollRectIntoView):
-
-2009-05-18 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/6899044> Can't see Apple ad on nytimes.com unless I spoof the user agent
-
- Add user agent hack for pointroll.com.
-
- Reviewed by Sam Weinig.
-
- * WebView.cpp:
-
-2009-05-13 Dmitry Titov <dimich@chromium.org>
-
- Rubber-stamped by Mark Rowe.
-
- https://bugs.webkit.org/show_bug.cgi?id=25746
- Revert http://trac.webkit.org/changeset/43507 which caused crash in PPC nightlies with Safari 4.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
-
-2009-05-12 Steve Falkenburg <sfalken@apple.com>
-
- Build fix for Windows nightlies.
- Change link order to work around CFNetwork bug.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2009-05-11 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Alexey Proskuryakov and Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=25348
- Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
-
- Most of the change is in WTF and WebCore.
-
- * WebKit.vcproj/WebKit.def: replaced decorated names of WTF threading functions with new ones.
- Also, aliased the old implementations so the public Safari 4 beta can load the old WTF functions
- which it uses. Next time Safari 4 builds, it will pick up new functions and the deprecated ones
- can be removed.
- * WebKit.vcproj/WebKit_debug.def: same.
-
-2009-05-10 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page
-
- * WebDownloadCFNet.cpp: (WebDownload::didReceiveAuthenticationChallenge): Try to use
- credentials from WebCore storage.
-
-2009-05-07 Mark Rowe <mrowe@apple.com>
-
- Rubber-stamped by Oliver Hunt.
-
- Fix <https://bugs.webkit.org/show_bug.cgi?id=25640>.
- Bug 25640: Crash on quit in r43384 nightly build on Leopard w/ Safari 4 beta installed
-
- Roll out r43366 as it removed symbols that Safari 4 Beta uses.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
-
-2009-05-06 Steve Falkenburg <sfalken@apple.com>
-
- Change default value of WebKitPaintNativeControls to true.
-
- Reviewed by Adam Roben.
-
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings):
-
-2009-05-05 Ben Murdoch <benm@google.com>
-
- Reviewed by Eric Seidel.
-
- Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds.
- https://bugs.webkit.org/show_bug.cgi?id=24776
-
- * ForEachCoClass.h:
- * WebCoreSupport/WebChromeClient.cpp:
- * WebCoreSupport/WebChromeClient.h:
- * WebDatabaseManager.cpp:
- * WebDatabaseManager.h:
- * WebSecurityOrigin.cpp:
- (WebSecurityOrigin::usage):
- (WebSecurityOrigin::quota):
- (WebSecurityOrigin::setQuota):
- * WebSecurityOrigin.h:
- * WebView.cpp:
- (WebView::initWithFrame):
-
-2009-05-04 Adam Roben <aroben@apple.com>
-
- Add a call to notify the UI delegate when the WebView gets invalidated
-
- Reviewed by Steve Falkenburg.
-
- * Interfaces/IWebUIDelegatePrivate.idl: Added webViewDidInvalidate.
- * WebView.cpp:
- (WebView::addToDirtyRegion): Call webViewDidInvalidate.
-
-2009-05-04 Darin Adler <darin@apple.com>
-
- First try at fixing the Windows build.
-
- * DOMHTMLClasses.cpp: Added include of HTMLCollection.h.
-
-2009-05-01 Geoffrey Garen <ggaren@apple.com>
-
- Rubber Stamped by Sam Weinig.
-
- Renamed JSValuePtr => JSValue.
-
- * WebView.cpp:
- (WebView::stringByEvaluatingJavaScriptFromString):
-
-2009-05-01 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Timothy Hatcher.
-
- Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest.
-
- https://bugs.webkit.org/show_bug.cgi?id=25347
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
- * WebCoreSupport/WebFrameLoaderClient.h:
-
-2009-04-30 David Kilzer <ddkilzer@apple.com>
-
- Provide a mechanism to create a quirks delegate for HTMLParser
-
- Reviewed by David Hyatt.
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::createHTMLParserQuirks): Added. The default
- implementation of this factory method returns 0.
-
-2009-04-30 Pavel Feldman <pfeldman@chromium.org>
-
- Reviewed by Dimitri Glazkov.
-
- https://bugs.webkit.org/show_bug.cgi?id=25342
- Add MessageSource and MessageLevel parameters to the ChromeClient::addMessageToConsole.
-
- * WebCoreSupport/WebChromeClient.cpp:
- (WebChromeClient::addMessageToConsole):
- * WebCoreSupport/WebChromeClient.h:
-
-2009-04-29 Eric Seidel <eric@webkit.org>
-
- No review, rolling out a patch.
-
- Revert 43020 as it caused accessibility/lists.html to fail
- and no one is around to tell me if it's a progression or not.
-
- * AccessibleBase.cpp:
- (MSAARole):
-
-2009-04-29 Sankar Aditya Tanguturi <sankaraditya@gmail.com>
-
- Reviewed by Jon Honeycutt.
-
- Add a new accessibility role for list items. Part of
- http://bugs.webkit.org/show_id.cgi?id=20013
-
- * win/AccessibleBase.cpp:
- (MSAARole): Return ROLE_SYSTEM_LISTITEM for list item role.
-
-2009-04-29 Sankar Aditya Tanguturi <sankaraditya@gmail.com>
-
- Reviewed by Adele Peterson.
-
- https://bugs.webkit.org/show_bug.cgi?id=23583
- Populate role attribute for document objects correctly
- on Windows platform.
-
- * AccessibleDocument.cpp:
- (AccessibleDocument::role): Return ROLE_SYSTEM_DOCUMENT for
- document objects on windows. (Matching Firefox).
- * AccessibleDocument.h: Add the role function prototype in
- header file.
-
-2009-04-22 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5115298> Don't get error msg when download is interrupted and cannot resume due to server unavailability
- If we fail to get an error description back from CFNetwork, try to get the localized description
- based on the error code.
-
- Reviewed by Darin Adler.
-
- * WebError.cpp:
- (WebError::localizedDescription):
-
-2009-04-21 Jon Honeycutt <jhoneycutt@apple.com>
-
- Allow the UI delegate to control cursor-setting.
-
- Reviewed by Ada Chan.
-
- * Interfaces/IWebUIDelegatePrivate.idl:
- Added a function to the IWebUIDelegatePrivate5 interface.
-
- * WebCoreSupport/WebChromeClient.cpp:
- (WebChromeClient::setCursor):
- Try to call the UI delegate's webViewSetCursor() method. If it fails,
- fall back to calling SetCursor() with the passed cursor.
-
- * WebCoreSupport/WebChromeClient.h:
-
- * WebView.cpp:
- (WebViewWndProc):
- Call the Chrome's setCursor() method with the last set cursor.
-
-2009-04-21 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- - Windows part of fixing <rdar://problem/6755137> Action dictionary for
- policy decision is missing keys when full-page zoom is used
-
- * WebActionPropertyBag.cpp:
- (WebActionPropertyBag::Read): Use absoluteLocation() instead of
- clientX() and clientY(), which are adjusted for zoom.
-
-2009-04-21 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- - implement DOMNode::nodeName()
-
- * DOMCoreClasses.cpp:
- (DOMNode::nodeName):
-
-2009-04-21 Steve Falkenburg <sfalken@apple.com>
-
- Minor clean-ups to WebKitCreateInstance change.
-
- Reviewed by Jon Honeycutt.
-
- * WebKitCOMAPI.cpp:
- (classFactory):
- (WebKitCreateInstance):
-
-2009-04-21 Steve Falkenburg <sfalken@apple.com>
-
- Add registry-free CoCreateInstance API for WebKit clients: WebKitCreateInstance.
-
- Manifest-based registry-free COM continues to work for clients that have embedded
- manifests with isolated COM information.
-
- Reviewed by Adam Roben.
-
- * WebKit.vcproj/WebKit.def: Added WebKitCreateInstance.
- * WebKit.vcproj/WebKit.vcproj: Link against rpcrt4.dll for UUID hashing.
- * WebKit.vcproj/WebKit_debug.def: Added WebKitCreateInstance.
- * WebKitCOMAPI.cpp: Added.
- (CLSIDHash::hash):
- (CLSIDHash::equal):
- (CLSIDHashTraits::constructDeletedValue):
- (CLSIDHashTraits::isDeletedValue):
- (classFactory):
- (WebKitCreateInstance): New API.
- * WebKitCOMAPI.h: Added.
-
-2009-04-21 Adam Roben <aroben@apple.com>
-
- Rename JavaScriptCore_debug.dll to JavaScriptCore.dll in the Debug
- configuration
-
- This matches the naming scheme for WebKit.dll, and will be necessary
- once Safari links against JavaScriptCore.dll. This change also causes
- run-safari not to fail (because the launcher printed by FindSafari was
- always looking for JavaScriptCore.dll, never
- JavaScriptCore_debug.dll).
-
- Part of Bug 25305: can't run safari or drt on windows
- <https://bugs.webkit.org/show_bug.cgi?id=25305>
-
- Reviewed by Steve Falkenburg and Sam Weinig.
-
- * WebKit.vcproj/WebKit.vcproj: Use $(WebKitDLLConfigSuffix) for naming
- JavaScriptCore.{dll,lib}.
-
-2009-04-20 Adam Roben <aroben@apple.com>
-
- Build fix
-
- * MemoryStream.cpp:
- (MemoryStream::Clone): Fix typo introduced when implementing
- suggestions from patch review.
-
-2009-04-20 Adam Roben <aroben@apple.com>
-
- First part of <rdar://6395825> It takes over 20 sec to launch Safari
- with 500KB history file
-
- This ports the changes that were made to WebKit/mac's WebHistory
- implementation in r25275 to WebKit/win. WebHistory now stores a
- HashMap from CFAbsoluteTime (stored as int64_t) to CFArray of
- IWebHistoryItem*. The HashMap lets us look up the CFArray for a
- particular day's history in constant time rather than linear time. The
- precise reasons why we store the CFAbsoluteTime as an int64_t are lost
- to the mists of time, but it is likely because these CFAbsoluteTimes
- never have a decimal part, and integer comparisons are faster than
- floating-point comparisons, so storing them as int64_t should improve
- performance without losing precision. We also now use a binary search
- instead of a linear search when determining the index at which to
- insert a WebHistoryItem into its day's CFArray.
-
- This patch reduces the time needed to load a 100,000-item
- History.plist from ~15 seconds to ~7.5 seconds. Further improvements
- could likely be made by reducing the number of string conversions,
- reducing calls to CFTimeZone functions, and removing all the
- WebHistoryItemsAdded notifications that are sent (Mac doesn't send any
- while loading history).
-
- Reviewed by Darin Adler.
-
- * WebHistory.cpp:
- (WebHistoryWriter::WebHistoryWriter): Changed to take a
- DateToEntriesMap instead of a CFArrayRef. Initialize m_dateKeys to
- contain the keys from m_entriesByDate in ascending order.
- (WebHistoryWriter::writeHistoryItems): Now loops through m_dateKeys in
- reverse order and gets the entries array from the DateToEntriesMap.
- (WebHistory::WebHistory): Removed code to initialize
- m_datesWithEntries (which has been removed) and m_entriesByDate (which
- has been converted to a HashMap).
- (WebHistory::removeAllItems): Clear out m_entriesByDate and
- m_orderedLastVisitedDays.
- (WebHistory::orderedLastVisitedDays): If we don't already have a
- cached m_orderedLastVisitedDays array, create one by converting the
- keys from m_entriesByDate to DATEs and sorting them in descending
- order. Then copy m_orderedLastVisitedDays to the output buffer.
- (WebHistory::orderedItemsLastVisitedOnDay): Updated to use findKey
- instead of findIndex and to treat m_entriesByDate as a HashMap.
- Now that the items in each day's CFArray are stored in descending
- order (newest to oldest), we don't have to reverse them when filling
- in the output buffer. (The old comment about putting the items in
- oldest-to-newest order was incorrect -- it was putting them in
- newest-to-oldest order.)
-
- (WebHistory::addItemToDateCaches):
- (WebHistory::removeItemFromDateCaches):
- Changed to use findKey instead of findIndex and to treat
- m_entriesByDate as a HashMap. If we're adding a key to or removing a
- key from m_entriesByDate, also clear m_orderedLastVisitedDays so that
- we will regenerate it for the current set of keys the next time it is
- needed.
-
- (timeIntervalForBeginningOfDay): Added. Returns the CFAbsoluteTime
- that corresponds to the beginning of the day in which the passed-in
- DATE occurs.
- (WebHistory::findKey): Returns the key used in m_entriesByDate to
- store the CFArray that should contain the IWebHistoryItem that
- corresponds to the passed-in DATE. Replaces findIndex.
- (WebHistory::insertItem): Changed to treat m_entriesByDate as a
- HashMap rather than a CFArray. We now optimize for inserting at the
- beginning and end of the array, and use a binary rather than linear
- search when inserting into the middle of the array.
- (WebHistory::data): Changed to treat m_entriesByDate as a HashMap.
-
- * WebHistory.h: Changed m_entriesByDate to a DateToEntriesMap, removed
- m_datesWithEntries, added m_orderedLastVisitedDays.
-
-2009-04-20 Adam Roben <aroben@apple.com>
-
- Change MemoryStream::createInstance to return a COMPtr
-
- Part of Bug 25294: All WebKit/win classes should return COMPtrs from
- their static constructor members
- <https://bugs.webkit.org/show_bug.cgi?id=25294>
-
- Reviewed by Darin Adler.
-
- * MemoryStream.cpp:
- (MemoryStream::createInstance): Changed to return a COMPtr.
- (MemoryStream::Clone): Updated for createInstance change.
- * MemoryStream.h: Changed createInstance to return a COMPtr.
-
- * WebArchive.cpp:
- (WebArchive::data):
- * WebCoreSupport/EmbeddedWidget.cpp:
- (EmbeddedWidget::didReceiveData):
- * WebDataSource.cpp:
- (WebDataSource::data):
- * WebHistory.cpp:
- (WebHistory::data):
- * WebIconFetcher.cpp:
- (WebIconFetcherClient::finishedFetchingIcon):
- * WebResource.cpp:
- (WebResource::createInstance):
- Updated for changes to MemoryStream::createInstance.
-
-2009-04-20 Adam Roben <aroben@apple.com>
-
- Fix Bug 25295: Remove WebKit/win code that was used for Drosera
- support
-
- <https://bugs.webkit.org/show_bug.cgi?id=25295>
-
- Reviewed by Sam Weinig.
-
- * ForEachCoClass.h: Removed WebScriptDebugServer.
-
- * Interfaces/WebKit.idl: Removed WebScriptDebugServer and references
- to removed IDL files.
-
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKit.vcproj:
- Removed IDL and source files for IWebScriptCallFrame,
- IWebScriptDebugListener, IWebScriptDebugServer, WebScriptCallFrame,
- and WebScriptDebugServer.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- * WebKitClassFactory.cpp:
- * WebKitDLL.cpp:
- Removed #includes of WebScriptDebugServer.h.
-
- * Interfaces/IWebScriptCallFrame.idl: Removed.
- * Interfaces/IWebScriptDebugListener.idl: Removed.
- * Interfaces/IWebScriptDebugServer.idl: Removed.
- * WebScriptCallFrame.cpp: Removed.
- * WebScriptCallFrame.h: Removed.
- * WebScriptDebugServer.cpp: Removed.
- * WebScriptDebugServer.h: Removed.
-
-2009-04-20 Steve Falkenburg <sfalken@apple.com>
-
- Separate JavaScriptCore.dll from WebKit.dll.
- Slight performance improvement or no change on benchmarks.
-
- Allows us to break a circular dependency between CFNetwork and WebKit on Windows,
- and simplifies standalone JavaScriptCore builds.
-
- Reviewed by Oliver Hunt.
-
- * WebKit.vcproj/WebKit.def: Mark JavaScriptCore re-exports as deprecated.
- * WebKit.vcproj/WebKit.vcproj: Link against JavaScriptCore.dll
- * WebKit.vcproj/WebKit_debug.def: Mark JavaScriptCore re-exports as deprecated.
-
-2009-04-17 Ada Chan <adachan@apple.com>
-
- <rdar://problem/6803905> Lots of ASSERTs firing when trying to clear history
-
- Reviewed by Steve Falkenburg.
-
- * WebHistory.cpp:
- (WebHistory::data): Return null if there are no history items.
-
-2009-04-17 Ada Chan <adachan@apple.com>
-
- - Fix a leak in WebHistoryItem::children() by adopting the created instance of WebHistoryItem.
- - Remove the unnecessary call to QueryInterface() which is not related to the leak.
-
- Reviewed by Adam Roben.
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::children):
-
-2009-04-17 Ada Chan <adachan@apple.com>
-
- Fix a leak in WebHistory::data().
-
- Reviewed by Adam Roben.
-
- * WebHistory.cpp:
- (WebHistory::data):
-
-2009-04-16 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fix for heavy leakage of WebURLResponses seen during the stress test
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::shouldCacheResponse):
-
-2009-04-16 Xan Lopez <xlopez@igalia.com>
-
- Unreviewed build fix.
-
- * WebView.cpp:
-
-2009-04-16 Xan Lopez <xlopez@igalia.com>
-
- Reviewed by Sam Weinig.
-
- https://bugs.webkit.org/show_bug.cgi?id=25241
- Remove superfluous NotImplemented.h includes
-
- * WebDownloadCFNet.cpp:
- * WebURLAuthenticationChallengeSender.cpp:
- * WebView.cpp:
-
-2009-04-14 Adam Roben <aroben@apple.com>
-
- Remove support for profile-guided optimization on Windows
-
- Rubber-stamped by Steve Falkenburg.
-
- * WebKit.vcproj/WebKit.vcproj: Removed the Release_PGOInstrument and
- Release_PGOOptimize configurations.
-
-2009-04-13 Adam Roben <aroben@apple.com>
-
- Windows part 2 of <rdar://5438063> Saving history containing 100,000
- entries causes pauses of 2s while browsing
-
- Reviewed by Brady Eidson.
-
- * Interfaces/IWebHistoryPrivate.idl: Added data, analagous to
- WebKit/mac's -[WebHistory _data] method.
-
- * WebHistory.cpp:
- (WebHistory::saveHistoryGuts): Changed to call data() to get the data for
- saving.
- (WebHistory::data): Added. Returns the data for saving as an IStream.
- (WebHistory::data): Added. Returns the data for saving as a CFDataRef.
-
- * WebHistory.h: Added data.
-
-2009-04-10 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/6676024> REGRESSION (PB-40B1): Safari crashes on launch on tablet PC
-
- r21436 changed the semantics of AXObjectCache::get() to not create
- objects on demand. Changing this get() call into a getOrCreate() call
- fixes the crash.
-
- Rubber stamped by Jon Honeycutt.
-
- * AccessibleDocument.cpp:
- (AccessibleDocument::AccessibleDocument):
-
-2009-04-10 Adam Roben <aroben@apple.com>
-
- Add our invidual IDL files back to Interfaces.vcproj, but disable them
-
- This allows the IDL files to be found in Solution Explorer.
-
- Rubber-stamped in advance by Steve Falkenburg.
-
- * WebKit.vcproj/Interfaces.vcproj:
-
-2009-04-09 Adam Roben <aroben@apple.com>
-
- Windows part 1 of <rdar://problem/5438063> Saving history containing
- 100,000 entries causes pauses of 2s while browsing
-
- Use HistoryPropertyListWriter to implement IWebHistory::saveToURL.
-
- Reviewed by Darin Adler.
-
- * WebHistory.cpp:
- (WebHistoryWriter::WebHistoryWriter): Added.
- (WebHistoryWriter::writeHistoryItems): Added. Loop backwards through
- the entries for each date, and pass the corresponding
- WebCore::HistoryItem to writeHistoryItem.
- (WebHistory::saveHistoryGuts): Use WebHistoryWriter to serialize
- m_entriesByDate, then write the serialized data to disk using
- CFWriteStream.
-
- * WebHistory.h: Removed datesArray.
-
-2009-04-08 Adam Roben <aroben@apple.com>
-
- Fix security/block-test-no-port.html on Windows
-
- Reviewed by Beth Dakin.
-
- * WebMutableURLRequest.cpp:
- (WebMutableURLRequest::mainDocumentURL): Return the ResourceRequest's
- mainDocumentURL, not its URL.
-
-2009-04-01 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff Garen.
-
- Bug 22378: Crash submitting a form when parsing an XHTML document
- https://bugs.webkit.org/show_bug.cgi?id=22378
- rdar://problem/6388377
-
- * WebFrame.cpp:
- (WebFrame::dispatchWillSubmitForm): Updated for the new
- textFieldValues function in FormState.
-
-2009-03-30 Adam Roben <aroben@apple.com>
-
- Build fixes after recent FrameLoader changes
-
- * WebCoreSupport/WebContextMenuClient.cpp:
- (WebContextMenuClient::searchWithGoogle): Updated to match
- urlSelected's current signature. We pass true for the userGesture
- parameter, since the user must have selected this item from the
- context menu.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp: Removed
- loadURLIntoChildFrame.
- (WebFrameLoaderClient::createFrame): Changed to call
- FrameLoader::loadURLIntoChildFrame. This probably should have been
- done way back around r31281 when that function was added.
-
- * WebCoreSupport/WebFrameLoaderClient.h: Removed
- loadURLIntoChildFrame.
-
-2009-03-27 Adam Roben <aroben@apple.com>
-
- Don't include substitute data URLs in global history redirect chains
-
- <rdar://6690169>
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::updateGlobalHistory): Don't call
- updateGlobalHistoryRedirectLinks. FrameLoader calls this for us now.
- (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
- Added an assertion to help catch cases where we might be adding a
- substitute data URL into a redirect chain.
-
-2009-03-26 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adam Roben.
-
- - add close() to the WebView API.
-
- * Interfaces/IWebView.idl:
- * WebView.cpp:
- (WebView::close):
- * WebView.h:
-
-2009-03-24 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Adam Roben.
-
- https://bugs.webkit.org/show_bug.cgi?id=24779
- Conditionalize CFNetwork-specific code in WebView to permit
- support for other network backends.
-
- * WebView.cpp:
- (WebView::setCacheModel): Add CFNETWORK check around CFNetwork
- specific cache implementation.
- (updateSharedSettingsFromPreferencesIfNeeded): Add CFNETWORK
- check around use of CFHTTPCookie code.
-
-2009-03-23 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Fix for <rdar://problem/6140966>
- Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache
-
- * WebCache.cpp:
- (WebCache::empty): Also add application cache emptying to match the mac.
-
-2009-03-18 Steve Falkenburg <sfalken@apple.com>
-
- Add webViewClosing to private UI delegate.
-
- Reviewed by Adam Roben.
-
- * Interfaces/IWebUIDelegatePrivate.idl:
- * Interfaces/WebKit.idl:
- * WebView.cpp:
- (WebView::close):
-
-2009-03-17 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adam Roben.
-
- - WebKit part of adding a mechanism for controlling the caching of
- responses through WebFrameLoaderClient
-
- * Interfaces/IWebResourceLoadDelegatePrivate.idl: Added the
- IWebResourceLoadDelegatePrivate3 interface, containing the new
- delegate method shouldCacheResponse().
-
- * Interfaces/IWebURLRequest.idl: Added the isEqual() method.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::shouldCacheResponse): Implemented this new
- FrameLoaderDelegate method by calling through to the resource load
- delegate, if it implements shouldCacheResponse(), and returning true
- otherwise.
-
- * WebCoreSupport/WebFrameLoaderClient.h:
-
- * WebMutableURLRequest.cpp:
- (WebMutableURLRequest::isEqual): Added.
- (WebMutableURLRequest::setValue): Implemented.
-
- * WebMutableURLRequest.h: Declared isEqual().
-
-2009-03-16 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- <rdar://problem/6577174> Rename the text directionality submenus to “Paragraph Direction” and “Selection Direction”
-
- For now, change only the localized strings, not the terminology in the code.
-
- * WebCoreLocalizedStrings.cpp:
- (WebCore::contextMenuItemTagWritingDirectionMenu): Changed string here.
- (WebCore::contextMenuItemTagTextDirectionMenu): And here.
-
-2009-03-16 Adam Roben <aroben@apple.com>
-
- Add IWebFramePrivate::isDisplayingStandaloneImage
-
- This uses the same logic that -[WebFrame _isDisplayingStandaloneImage]
- uses.
-
- Reviewed by Darin Adler.
-
- * Interfaces/IWebFramePrivate.idl: Added isDisplayingStandaloneImage.
-
- * WebFrame.cpp:
- (WebFrame::isDisplayingStandaloneImage): Added. Returns true if our
- Document is an image document.
-
- * WebFrame.h: Added isDisplayingStandaloneImage.
-
-2009-03-12 Peter Kasting <pkasting@google.com>
-
- Reviewed by Darin Fisher.
-
- https://bugs.webkit.org/show_bug.cgi?id=24502
- Make horizontal scrolling on Windows always go the correct direction.
-
- * WebView.cpp:
- (WebView::mouseWheel):
- (WebViewWndProc):
- * WebView.h:
-
-2009-03-12 Adam Roben <aroben@apple.com>
-
- Implement DOMHTMLDocument::title
-
- Reviewed by Dan Bernstein.
-
- * DOMHTMLClasses.cpp:
- (DOMHTMLDocument::title): Call through to WebCore::Document (with
- obligatory COM error checking/type conversions).
-
-2009-03-11 Adam Roben <aroben@apple.com>
-
- Export functions needed by ThreadSpecific from WebKit
-
- Reviewed by John Sullivan.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
- Export WTF::tlsKeyCount and WTF::tlsKeys.
-
-2009-03-10 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/6662167> When clicking in Top Sites search field, WebHistory::findIndex fails causing crash in BookmarksSearcher::collectHistorySearchResults
-
- Round CFAbsoluteDates to the nearest second when converting to/from the Windows DATE format.
-
- This corrects for inaccuracies introduced by round-tripping between DATE (day based) and CFAbsoluteDate (second based).
- The WebKit COM API on Windows uses DATE, while our history storage uses CFAbsoluteTime. This could lead to WebKit
- saying there was browsing history for a particular day, and then return no history items when we requested a
- list of sites visited that day.
-
- Reviewed by Ada Chan.
-
- * MarshallingHelpers.cpp:
- (MarshallingHelpers::DATEToCFAbsoluteTime):
- (MarshallingHelpers::CFAbsoluteTimeToDATE):
-
-2009-03-08 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that
- Frame.h no longer needs to include it. This cuts the size of the symbols
- for a debug build by around 3%.
-
- * WebView.cpp:
- (WebView::centerSelectionInVisibleArea):
-
-2009-03-07 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Mark Rowe.
-
- - WebKit part of removing build-time and run-time support for legacy
- versions of CFNetwork and Core Graphics
-
- * WebView.cpp:
- (WebView::setCacheModel):
-
-2009-03-04 Adam Barth <abath@webkit.org>
-
- Reviewed by Alexey Proskuryakov.
-
- https://bugs.webkit.org/show_bug.cgi?id=24356
-
- Fix WebKit style for allowUniversalAccessFromFileURLs.
-
- * Interfaces/IWebPreferencesPrivate.idl:
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings):
- (WebPreferences::allowUniversalAccessFromFileURLs):
- (WebPreferences::setAllowUniversalAccessFromFileURLs):
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::notifyPreferencesChanged):
-
-2009-02-27 Adam Barth <abarth@webkit.org>
-
- Reviewed by Eric Seidel.
-
- Add a preference to reduce the power of file:// URLs.
-
- * Interfaces/IWebPreferencesPrivate.idl:
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings):
- (WebPreferences::allowUniversalAccessFromFileUrls):
- (WebPreferences::setAllowUniversalAccessFromFileUrls):
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::notifyPreferencesChanged):
-
-2009-02-19 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=24024
- REGRESSION (r39845): Assertion failure in -[WebHistoryItem dictionaryRepresentation] when
- archiving a submission to about:blank
-
- I don't know how to make an automated test for this bug.
-
- * WebHistory.cpp: (WebHistory::visitedURL): Account for the fact that HTTP method may be
- non-empty for non-HTTP requests.
-
-2009-02-25 Andreia Gaita <shana@jitted.com>
-
- Reviewed by Alp Toker.
-
- Update Win def files with recent JavaScriptCore API additions.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_Cairo.def:
- * WebKit.vcproj/WebKit_debug.def:
-
-2009-02-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- Related to <rdar://problem/6590295>
- Allow disabling javascript: urls.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::setJavaScriptURLsAreAllowed):
- * WebView.h:
-
-2009-02-24 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
- Export WTF::ThreadCondition::timedWait.
-
-2009-02-12 Brady Eidson <beidson@apple.com>
-
- Reviewed by Kevin Decker
-
- <rdar://problem/6582180> - Wrong HTTP method applied to history item.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::updateGlobalHistory): Check the original request, not any
- redirected request.
-
-2009-02-11 Brady Eidson <beidson@apple.com>
-
- Fix my last checkin for more effect.
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::initFromDictionaryRepresentation):
-
-2009-02-11 Adam Roben <aroben@apple.com>
-
- Windows fix for Bug 22239: Implement missing animation & transition
- APIs on LayoutTestController for non-mac platforms
-
- <https://bugs.webkit.org/show_bug.cgi?id=22239>
-
- Reviewed by Simon Fraser.
-
- * Interfaces/IWebFramePrivate.idl: Added pauseAnimation,
- pauseTransition, and numberOfActiveAnimations.
-
- * WebFrame.cpp:
- (WebFrame::pauseAnimation):
- (WebFrame::pauseTransition):
- (WebFrame::numberOfActiveAnimation):
- Added. These all call through to AnimationController.
-
- * WebFrame.h: Added pauseAnimation, pauseTransition, and
- numberOfActiveAnimations.
-
-2009-02-11 Brady Eidson <beidson@apple.com>
-
- Reviewed by Mark Rowe
-
- <rdar://problem/6570573> Some visit counts in History.plist have insanely high values, can roll over to negative
-
- Remove the item from the date caches before registering the visit. Otherwise it might not be successfully removed
- and when we add it back later it will exist in the list twice. This will cause the entry to be written out twice,
- which would lead to doubling (or more!) the visit count on next launch when these multiple items are merged.
-
- * WebHistory.cpp:
- (WebHistory::loadHistoryGutsFromURL):
- (WebHistory::addItems):
- (WebHistory::addItem): Add a mode that allows the entry being added to be discarded if an entry for the URL already
- exists. Use that mode when reading the History.plist so only the most recent entry for a given URL will be used.
- (WebHistory::visitedURL): Swap the removeItemFromDateCaches and visitedWithTitle calls.
- * WebHistory.h:
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::initFromDictionaryRepresentation): Add the negative-visit-count-correction-logic as implemented
- for Mac in http://trac.webkit.org/changeset/40851.
-
-2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>
-
- Stub out WebInspectorClient::hiddenPanels.
-
- Reviewed by Timothy Hatcher.
-
- * WebCoreSupport/WebInspectorClient.cpp:
- (WebInspectorClient::hiddenPanels):
- * WebCoreSupport/WebInspectorClient.h:
-
-2009-02-11 Adam Roben <aroben@apple.com>
-
- Don't release the shared WebHistory instance on quit
-
- This matches Mac, and prevents a race condition when the process exits
- that depends on the order in which global destructors are invoked.
-
- Reviewed by Alexey Proskuryakov.
-
- * WebHistory.cpp:
- (sharedHistoryStorage): Changed to use DEFINE_STATIC_LOCAL so the
- destructor is never called.
-
-2009-02-10 Adam Roben <aroben@apple.com>
-
- Fix recursive WebView destruction when running DumpRenderTree
-
- DumpRenderTree would call DestroyWindow on a WebView's host window,
- which would send a WM_DESTROY message to the WebView's window. Inside
- the WebView's WndProc, we would hold a ref to the WebView, then call
- close() and revokeDragDrop(), which would release all remaining
- references to the WebView other than the ref we held in the WndProc.
- When the WndProc exited, the final ref to the WebView would be
- released, invoking WebView's destructor. At this point,
- IsWindow(m_viewWindow) would return true, since we were still in the
- process of handling WM_DESTROY, so we would call DestroyWindow on the
- WebView's window again, re-entering the WndProc and re-reffing the
- WebView, leading to recursive destruction.
-
- Reviewed by Alexey Proskuryakov.
-
- * WebView.cpp:
- (WebView::~WebView): Don't call DestroyWindow if our window is already
- being destroyed.
- (WebViewWndProc): Only hold an extra ref to the WebView when we're not
- being destroyed.
-
-2009-02-06 Adam Roben <aroben@apple.com>
-
- Build fix
-
- Reviewed by Sam Weinig.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp: Added missing #include.
- (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): Removed
- incorrect .get(), and changed to use the new overload of
- WebHistory::itemForURLString.
-
- * WebHistory.cpp:
- (WebHistory::itemForURLString): Made this const.
- (WebHistory::itemForURLString): Added an overload that takes a
- WebCore::String and returns the IWebHistoryItem instead of using an
- out parameter.
-
- * WebHistory.h: Added public overload of itemForURLString.
-
- * WebView.cpp:
- (WebView::prepareCandidateWindow):
- (WebView::onIMERequestCharPosition):
- (WebView::onIMERequestReconvertString):
- Updated for toRange -> toNormalizedRange rename.
-
-2009-02-06 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Part III of <rdar://problem/6552272>.
-
- Refactored to use the redirect data WebCore makes available, instead of
- tracking loading state in WebKit.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::updateGlobalHistory):
- (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebHistory.cpp:
- (WebHistory::visitedURL):
- * WebHistory.h:
-
-2009-02-06 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Anders Carlsson.
-
- - fix an assertion failure in Vector::at() beneath
- WebHistoryItem::dictionaryRepresentation.
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::dictionaryRepresentation): Give the numbers vector initial
- size. Also reduced the inline capacity of the vector used for weekly visit
- counts to 5, which is the expected maximum size.
-
-2009-02-06 Brent Fulgham <bfulgham@webkit.org>
-
- Build fix.
-
- * WebKit.vcproj/WebKit.vcproj: Re-enable missing file in Release
- target of Cairo.
-
-2009-02-06 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Dan Bernstein.
-
- - fix obvious problem in previous commit (|| used instead of &&)
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::initFromDictionaryRepresentation):
-
-2009-02-05 Maciej Stachowiak <mjs@apple.com> and Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein and Geoff Garen..
-
- - WebKit code to track per-day and per-week visit counts in history
-
- For now this data is only exposed via SPI for performance reasons.
-
- * Interfaces/IWebHistoryItemPrivate.idl: Added new interface.
- * WebHistory.cpp:
- (WebHistory::visitedURL): Use new recordInitialVisit method.
- * WebHistoryItem.cpp:
- (WebHistoryItem::initFromDictionaryRepresentation): Add parsing support
- for new data.
- (WebHistoryItem::dictionaryRepresentation): Add saving support for
- new data.
- (WebHistoryItem::getDailyVisitCounts): SPI accessor.
- (WebHistoryItem::getWeeklyVisitCounts): SPI accessor.
- (WebHistoryItem::recordInitialVisit): Tell WebCore to record an initial visit.
- * WebHistoryItem.h:
-
-2009-02-05 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Sam Weinig <sam@webkit.org>
-
- Build fix. Update file for recently removed EventTargetNodeCast.
- * DOMCoreClasses.cpp:
- (DOMNode::dispatchEvent):
-
-2009-02-05 Aaron Boodman <aa@chromium.org>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=23708
- Adds documentElementAvailable() callback to FrameLoaderClient.
-
- * WebFrame.cpp:
- (WebFrame::documentElementAvailable):
- Stub out documentElementAvailable()
- * WebFrame.h:
- Ditto.
-
-2009-02-04 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebHistory.cpp:
- (WebHistory::visitedURL):
-
-2009-02-04 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Mark Rowe.
-
- Part I of <rdar://problem/6552272>.
-
- Clear the redirectURLs entry when first visiting a site, so sites that
- only redirect you the first time you visit them can later learn that
- they don't redirect.
-
- * WebHistory.cpp:
- (WebHistory::visitedURL):
-
-2009-02-03 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebHistory.cpp:
- (WebHistory::visitedURL):
-
-2009-02-02 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebHistory.cpp:
- (WebHistory::visitedURL):
-
-2009-02-02 Hiroaki Nakamura <hnakamur@gmail.com>
-
- Reviewed by Adam Roben.
-
- Fixes https://bugs.webkit.org/show_bug.cgi?id=15813
- Modify pre-build step to properly handle the errorlevel
- shell command.
-
- * WebKit.vcproj/WebKit.vcproj: Change errorlevel handling
- for all targets so prefast is only enabled in builds
- where /analyze is available.
-
-2009-02-02 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Track redirects in global history.
-
- * Interfaces/IWebFramePrivate.idl: Updated for WebCore rename.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::updateGlobalHistory):
- (WebFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem):
- Store redirect information in global history.
-
- (WebFrameLoaderClient::loadURLIntoChild): Updated for extra parameter.
-
- * WebCoreSupport/WebFrameLoaderClient.h: See above.
-
- * WebFrame.cpp:
- (WebFrame::loadRequest):
- (WebFrame::loadData): Updated for extra parameter.
-
- * WebHistory.cpp:
- (WebHistory::visitedURL):
- (WebHistory::visitedURLForRedirectWithoutHistoryItem): Store redirect
- information in global history.
-
- * WebHistory.h: See above.
-
-2009-02-02 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein
-
- Transition Windows WebHistory to using the same "update already existing History Items" technique that Mac does.
-
- * Interfaces/IWebHistoryItemPrivate.idl:
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::updateGlobalHistory):
-
- * WebHistory.cpp:
- (WebHistory::visitedURL):
- * WebHistory.h:
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::visitedWithTitle):
- * WebHistoryItem.h:
-
-2009-02-02 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::createPlugin):
- * WebCoreSupport/WebFrameLoaderClient.h:
-
-2009-02-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Update for changes to WebCore.
-
- * WebFrame.cpp:
- (WebFrame::createJavaAppletWidget):
- * WebFrame.h:
-
-2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
-
- https://bugs.webkit.org/show_bug.cgi?id=23428
-
- FrameView::forceLayout could be killed but the comment might
- contain a value over the the plain FrameView::layout...
-
- Adjust the WebCore/WebKit consumers of these methods.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::forceLayout):
-
-2009-01-31 Matt Lilek <webkit@mattlilek.com>
-
- Not reviewed, build fixes.
-
- * WebCoreSupport/WebContextMenuClient.cpp:
- (WebContextMenuClient::searchWithGoogle):
- * WebFrame.cpp:
- (WebFrame::setInPrintingMode):
- (WebFrame::isFrameSet):
- * WebView.cpp:
- (WebView::notifyPreferencesChanged):
-
-2009-01-30 Adam Barth <abarth@webkit.org>
-
- Reviewed by Sam Weinig.
-
- Add a pref to disable web security.
-
- * Interfaces/IWebPreferencesPrivate.idl:
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings):
- (WebPreferences::isWebSecurityEnabled):
- (WebPreferences::setWebSecurityEnabled):
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::notifyPreferencesChanged):
-
-2009-01-30 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * Interfaces/IWebFramePrivate.idl:
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::loadURLIntoChild):
-
-2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- Kill FrameLoaderClient.cpp, move the code over to Frame::createView
-
- FrameLoaderClient is supposed to be an interface, move the
- to be shared code to Frame which is a controller and is
- allowed to create a FrameView.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
-
-2009-01-30 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- Remove FrameLoaderClient code that is now handled by FrameLoader itself
-
- * WebFrame.cpp:
- (WebFrame::frameLoadCompleted):
-
-2009-01-29 Sam Weinig <sam@webkit.org>
-
- Fix Windows build
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::initFromDictionaryRepresentation):
-
-2009-01-29 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Second step in tracking the urls a HistoryItem was redirected through
- Add SPI to access the array of redirect urls associated with a HistoryItem.
-
- * Interfaces/IWebHistoryItemPrivate.idl:
- * WebHistoryItem.cpp:
- (WebHistoryItem::dictionaryRepresentation):
- (WebHistoryItem::redirectURLs):
- * WebHistoryItem.h:
-
-2009-01-29 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- First step in tracking the urls a HistoryItem was redirected through.
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::initFromDictionaryRepresentation):
- (WebHistoryItem::dictionaryRepresentation):
-
-2009-01-29 Adam Roben <aroben@apple.com>
-
- Fix Bug 23623: Windowed Flash instances aren't captured when a WebView
- receives a WM_PRINTCLIENT message
-
- <https://bugs.webkit.org/show_bug.cgi?id=23623>
- <rdar://problem/6513921>
- <rdar://problem/6536874>
-
- Reviewed by Darin Adler.
-
- * WebFrame.cpp:
- (WebFrame::paintDocumentRectToContext):
- (WebFrame::spoolPages):
- Call GraphicsContext::setShouldIncludeChildWindows so that child
- windows will be painted into the GraphicsContext rather than painted
- directly to the screen.
-
- * WebView.cpp:
- (WebView::updateBackingStore): Added a windowsToPaint parameter, which
- we pass along to paintIntoBackingStore.
-
- (WebView::paint): Tell updateBackingStore to paint child windows if
- we're not painting to the screen.
-
- (WebView::paintIntoBackingStore): Added a windowsToPaint paramter,
- which we use to tell our GraphicsContext whether or not to include
- child windows.
-
- * WebView.h: Added windowsToPaint parameters to paintIntoBackingStore
- and updateBackingStore (which I also made private).
-
-2009-01-29 Adam Roben <aroben@apple.com>
-
- Build fix after r40353
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::loadURLIntoChild): Removed the check for
- FrameLoadTypeReloadAllowingStaleData.
-
-2009-01-28 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Updated for WebCore rename.
-
- * WebView.cpp:
- (WebView::setCustomTextEncodingName):
-
-2009-01-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein
-
- Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::savePlatformDataToCachedFrame):
- (WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
- * WebCoreSupport/WebFrameLoaderClient.h:
-
- * WebFrame.cpp:
- * WebFrame.h:
-
-2009-01-26 Adam Roben <aroben@apple.com>
-
- Fix an assertion failure when Safari loads an error page
-
- Reviewed by Alexey Proskuryakov.
-
- * WebFrame.cpp:
- (WebFrame::loadData): Use the two-argument version of KURL and
- MarshallingHelpers::BSTRToKURL, for reasons mentioned in r40248.
-
-2009-01-26 Adam Roben <aroben@apple.com>
-
- Fix an assertion on launch in KURL::KURL
-
- All URL strings passed in to the WebKit API need to be passed to
- MarshallingHelpers::BSTRToKURL so that they may be properly parsed.
-
- Reviewed by Alexey Proskuryakov.
-
- * MarshallingHelpers.cpp:
- (MarshallingHelpers::BSTRToKURL): Changed to use the two-argument
- constructor for KURL so that the strings will be parsed rather than
- assumed to be in the correct encoding/form.
-
- * WebResource.cpp:
- (WebResource::initWithData):
- * WebURLResponse.cpp:
- (WebURLResponse::initWithURL):
- * WebView.cpp:
- (WebView::userAgentForURL):
- (WebView::copyURL):
- Changed to use MarshallingHelpers::BSTRToKURL instead of trying to do
- the work manually.
-
-2009-01-25 Darin Adler <darin@apple.com>
-
- Try to fix Windows build.
-
- * WebView.cpp: Added FloatQuad.h.
-
-2009-01-23 Brent Fulgham <bfulgham@webkit.org>
-
- Reviewed by Darin Adler
-
- https://bugs.webkit.org/show_bug.cgi?id=23492
- Exclude calls to WebKitSystemInterface functions when not
- using CoreGraphics.
-
- * WebPreferences.cpp:
- (WebPreferences::setFontSmoothing):
- (WebPreferences::setFontSmoothingContrast):
- * WebTextRenderer.cpp:
- (WebTextRenderer::registerPrivateFont):
-
-2009-01-23 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Darin Adler
-
- Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role.
-
- * WebCachedFramePlatformData.h: Copied from WebKit/win/WebCachedPagePlatformData.h.
- (WebCachedFramePlatformData::WebCachedFramePlatformData):
- * WebCachedPagePlatformData.h: Removed.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::savePlatformDataToCachedPage):
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2009-01-22 Eric Roman <eroman@chromium.org>
-
- Reviewed by Eric Seidel.
-
- https://bugs.webkit.org/show_bug.cgi?id=20806
- Deprecate RSSFeedReferrer() and setRSSFeedReferrer().
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::RSSFeedReferrer):
- (WebHistoryItem::setRSSFeedReferrer):
-
-2009-01-19 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Gavin Barraclough.
-
- Remove temporary operator-> from JSValuePtr.
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::jsValueToString):
- * WebView.cpp:
- (WebView::stringByEvaluatingJavaScriptFromString):
-
-2009-01-19 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * DOMCoreClasses.cpp: Replaced "using namespace WebCore" with
- individual using directives for each type we need from that namespace,
- to avoid conflicts between DOMObject and WebCore::DOMObject.
- (DOMElement::font): Added a now-needed WebCore::.
-
-2009-01-17 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * WebCoreSupport/WebDragClient.cpp:
- (WebDragClient::createDragImageForLink):
-
-2009-01-17 David Hyatt <hyatt@apple.com>
-
- Eliminate dependencies on backslashAsCurrencySymbol from WebKit.
-
- Reviewed by Oliver Hunt
-
- * WebFrame.cpp:
- (WebFrame::selectedString):
-
-2009-01-16 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/6502511> Safari crashes if it's running while the desktop theme is changed.
-
- This was caused by mismatched ENABLE definitions across WebCore and WebKit.
-
- Several virtual methods were added to RenderTheme.h, conditionalized by ENABLE(VIDEO).
- In addition to adding ENABLE_VIDEO to WebKit, this change also adds ENABLE_DATABASE and ENABLE_ICONDATABASE
- to Windows WebCore/WebKit, and adds ENABLE_WORKERS, and several ENABLE_SVG_ flags to WebKit on Windows.
- Our Windows ENABLE flags now match Mac.
-
- Reviewed by Adele Peterson.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2009-01-15 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=21799
- <rdar://problem/6310684> Crash in dumpFramesAsText() when running http/tests/security/cross-origin-xsl-BLOCKED.html
-
- Return S_OK or E_FAIL based on the result from CreateInstance.
- This was causing DumpRenderTree to not realize it had just gotten a null documentElement.
-
- * DOMCoreClasses.cpp: Made all functions that return the result of CreateInstance consistent.
- (DOMNode::parentNode):
- (DOMNode::ownerDocument):
- (DOMNodeList::item):
- (DOMDocument::documentElement):
- (DOMDocument::createElement):
- (DOMDocument::getElementsByTagName):
- (DOMDocument::getElementsByTagNameNS):
- (DOMDocument::getElementById):
- (DOMDocument::getComputedStyle):
- (DOMDocument::createEvent):
- (DOMElement::style):
-
-2009-01-14 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=23335
- <rdar://problem/6247650> Update <input type="search"> for RenderThemeWin
-
- Added artwork.
-
- * WebKit.vcproj/WebKit.rc:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/resource.h:
- * WebKit.vcproj/searchCancel.png: Added.
- * WebKit.vcproj/searchCancelPressed.png: Added.
- * WebKit.vcproj/searchMagnifier.png: Added.
- * WebKit.vcproj/searchMagnifierResults.png: Added.
- * WebKitDLL.cpp:(loadResourceIntoBuffer):
-
-2009-01-14 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - update copyright
-
- * WebKit.resources/Info.plist:
- * WebKit.vcproj/WebKit.rc:
-
-2009-01-13 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::jsValueToString):
-
-2009-01-12 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dan Bernstein
-
- <rdar://problem/6490446> - Crash when going back to a cached page
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::savePlatformDataToCachedPage): ENABLE(CFNETWORK) needed to be USE(CFNETWORK)
-
-2009-01-12 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler
-
- <rdar://problem/6468274> - Track Non-get requests in global history
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::updateGlobalHistory):
-
- * WebHistory.cpp:
- (WebHistory::addItem):
- * WebHistory.h:
-
- * Interfaces/IWebHistoryItemPrivate.idl:
- * WebHistoryItem.cpp:
- (WebHistoryItem::initFromDictionaryRepresentation):
- (WebHistoryItem::dictionaryRepresentation):
- (WebHistoryItem::lastVisitWasHTTPNonGet):
- (WebHistoryItem::setLastVisitWasHTTPNonGet):
- * WebHistoryItem.h:
-
-2009-01-12 Julien Chaffraix <jchaffraix@pleyo.com>
-
- Reviewed by Darin Adler.
-
- Bug 22861: Turn the FontCache into a singleton
- https://bugs.webkit.org/show_bug.cgi?id=22861
-
- * WebCoreStatistics.cpp:
- (WebCoreStatistics::cachedFontDataCount):
- (WebCoreStatistics::cachedFontDataInactiveCount):
- (WebCoreStatistics::purgeInactiveFontData):
- Redirected all the static calls to the global FontCache
- instance.
-
-2009-01-11 Dmitry Titov <dimich@chromium.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=23207
- Moved currentTime() to from WebCore to WTF.
-
- * WebDownload.cpp: a different header file included.
- * WebDropSource.cpp: a different header file included.
-
-2009-01-09 Darin Adler <darin@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- Bug 22913: REGRESSION: Space bar doesn't scroll on windows
- https://bugs.webkit.org/show_bug.cgi?id=22913
- rdar://problem/6479834
-
- * WebView.cpp:
- (WebView::keyPress): Removed code to handle space bar here; put it in
- WebCore instead.
-
-2009-01-09 Brent Fulgham <bfulgham@gmail.com>
-
- Reviewed by Adam Roben.
-
- Fixes: http://bugs.webkit.org/show_bug.cgi?id=23092
- Separate CFNetwork-specific code in WebKit.dll into separate
- implementation files. Create cURL stub files to be populated
- with new implementation in a future bug report.
-
- * WebCookieManager.cpp: Move CFNetwork-specific routines to
- the new WebCookieManagerCFNet.cpp file.
- (WebCookieManager::Release):
- * WebCookieManagerCFNet.cpp: Copied from WebCookieManager.cpp.
- (WebCookieManager::cookieStorage):
- * WebCookieManagerCurl.cpp: Added.
- (WebCookieManager::cookieStorage):
- (WebCookieManager::setCookieStorage):
- * WebCoreSupport/WebFrameLoaderClient.cpp: Conditionalize two
- methods in this file.
- (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
- (WebFrameLoaderClient::savePlatformDataToCachedPage):
- * WebDownload.cpp: Move CFNetwork-specific logic to the new
- WebDownloadCFNet.cpp
- (WebDownload::bundleExtension):
- (WebDownload::bundleMagicNumber):
- (WebDownload::bundlePathForTargetPath):
- (WebDownload::extractResumeDataFromBundle): Made static class method
- so it could be used in WebDownload.cpp and WebDownloadCFNet.cpp
- (WebDownload::appendResumeDataToBundle): Made static class method
- so it could be used in WebDownload.cpp and WebDownloadCFNet.cpp
- * WebDownload.h:
- * WebDownloadCFNet.cpp: Copied from WebDownload.cpp.
- (WebDownload::initToResumeWithBundle):
- (WebDownload::setDestination):
- (didFailCallback):
- * WebDownloadCurl.cpp: Added.
- (WebDownload::init):
- (WebDownload::initWithRequest):
- (WebDownload::initToResumeWithBundle):
- (WebDownload::start):
- (WebDownload::cancel):
- (WebDownload::cancelForResume):
- (WebDownload::deletesFileUponFailure):
- (WebDownload::setDeletesFileUponFailure):
- (WebDownload::setDestination):
- (WebDownload::cancelAuthenticationChallenge):
- (WebDownload::continueWithoutCredentialForAuthenticationChallenge):
- (WebDownload::useCredential):
- * WebKit.vcproj/WebKit.vcproj: Modify Apple targets to exclude the
- new cURL files. Modify Cairo targets to exclude CFNet files.
- * WebMutableURLRequest.cpp: Conditionalize the single method
- with a CFNetwork-speicic call.
- (WebMutableURLRequest::mutableCopy):
- * WebURLAuthenticationChallenge.cpp: Conditionalize one line that
- causes build problems for cURL. This will be removed later.
- (WebURLAuthenticationChallenge::initWithProtectionSpace):
- * WebURLAuthenticationChallengeSender.cpp:
- * WebURLAuthenticationChallengeSenderCFNet.cpp: Copied from WebURLAuthenticationChallengeSender.cpp.
- (WebURLAuthenticationChallengeSender::useCredential):
- * WebURLAuthenticationChallengeSenderCurl.cpp: Added.
- (WebURLAuthenticationChallengeSender::cancelAuthenticationChallenge):
- (WebURLAuthenticationChallengeSender::continueWithoutCredentialForAuthenticationChallenge):
- (WebURLAuthenticationChallengeSender::useCredential):
- * WebURLResponse.cpp: Exclude WebKitSystemInterface when compiling
- for the cURL target.
-
-2009-01-09 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix many appcache tests on Windows by making synchronous XMLHttpRequest throw on cache miss.
-
- * WebFrame.cpp: (WebFrame::cannotShowURLError): Implement, so that synchronous XHR can
- raise exceptions, as needed for AppCache tests. I do not know why this error was not
- implemented.
-
-2009-01-09 Darin Adler <darin@apple.com>
-
- Reviewed and landed by Adele Peterson.
-
- Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed
- https://bugs.webkit.org/show_bug.cgi?id=23160
-
- * Interfaces/IWebViewPrivate.idl: Added setMemoryCacheDelegateCallsEnabled.
- * WebView.cpp:
- (WebView::setMemoryCacheDelegateCallsEnabled): Ditto.
- * WebView.h: Ditto.
-
-2009-01-08 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adam Roben.
-
- - WebPreferences changes to support Core Graphics native glyph drawing
-
- * Interfaces/IWebPreferencesPrivate.idl: Added font smoothing contrast
- getter and setter.
- * WebPreferenceKeysPrivate.h: Added
- WebKitFontSmoothingContrastPreferenceKey.
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings): Initialized
- WebKitFontSmoothingContrastPreferenceKey to 2.
- (WebPreferences::setFloatValue): Added.
- (WebPreferences::setFontSmoothing): Changed to map
- FontSmoothingTypeWindows to FontSmoothingTypeMedium.
- (WebPreferences::fontSmoothingContrast): Added.
- (WebPreferences::setFontSmoothingContrast): Added. Calls
- wkSetFontSmoothingContrast().
- * WebPreferences.h:
-
-2009-01-08 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/6474244> REGRESSION(39561-39603): Heap corruption when saving passwords?
-
- Reviewed by Adam Roben.
-
- * WebView.cpp:
- (WebViewWndProc): Hold a ref to the WebView inside the WNDPROC, since it could go away in an event handler.
-
-2009-01-07 Jon Honeycutt <jhoneycutt@apple.com>
-
- Fix a crash with querying a WebView for its global history item when
- its associated Page has no global history item.
-
- Reviewed by Dan Bernstein.
-
- * WebView.cpp:
- (WebView::globalHistoryItem): If the Page has no global history item,
- report 0.
-
-2009-01-06 Adam Roben <aroben@apple.com>
-
- Fix Bug 22262: Clicking close ("X") button in docked Web Inspector
- clears Web Inspector but doesn't close it
-
- <https://bugs.webkit.org/show_bug.cgi?id=22262>
- <rdar://problem/6371873>
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebInspectorClient.cpp:
- (WebInspectorClient::WebInspectorClient): Initialize new member.
- (WebInspectorClient::showWindow): Moved code from here to
- showWindowWithoutNotifications.
- (WebInspectorClient::closeWindow): Moved code from here to
- closeWindowWithoutNotifications.
-
- (WebInspectorClient::attachWindow):
- (WebInspectorClient::detachWindow):
- Record whether or not we should be attached, then close and reopen the
- window without notifying the InspectorController. Code that was in
- these functions moved to showWindowWithoutNotifications and
- closeWindowWithoutNotifications, respectively.
-
- (WebInspectorClient::closeWindowWithoutNotifications): Added. Code
- came from closeWindow and detachWindow.
- (WebInspectorClient::showWindowWithoutNotifications): Added. Code came
- from showWindow and attachWindow.
-
- * WebCoreSupport/WebInspectorClient.h: Added
- {close,show}WindowWithoutNotifications and m_shouldAttachWhenShown.
-
-2009-01-06 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam Weinig.
-
- Add a way for application to provide custom, full frame, views for certain MIME types.
-
- * Interfaces/IWebEmbeddedView.idl:
- Add loading related methods.
-
- * Interfaces/IWebViewPrivate.idl:
- Add new registerEmbeddedViewMIMEType method.
-
- * WebCoreSupport/EmbeddedWidget.cpp:
- (EmbeddedWidget::didReceiveResponse):
- (EmbeddedWidget::didReceiveData):
- (EmbeddedWidget::didFinishLoading):
- (EmbeddedWidget::didFail):
- Implement these and call the IEmbeddedView methods.
-
- * WebCoreSupport/EmbeddedWidget.h:
- Inherit from PluginManualLoader.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::redirectDataToPlugin):
- Handle the case where the widget is an EnbeddedWidget.
-
- (WebFrameLoaderClient::shouldUsePluginDocument):
- Have this call WebView::shouldUseEmbeddedView.
-
- * WebView.cpp:
- (WebView::canShowMIMEType):
- Have this call WebView::shouldUseEmbeddedView.
-
- (WebView::registerEmbeddedViewMIMEType):
- Add the MIME type to the set.
-
- (WebView::shouldUseEmbeddedView):
- Given a MIME type, returns whether an embedded view should be used or not.
-
-2009-01-06 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX (r39641): Try to fix WebIconDatabase build errors #4
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::isEnabled): Added 'WebIconDatabase::' to method
- signature. (Another copy-paste error.)
- (WebIconDatabase::setEnabled): Ditto.
- * WebIconDatabase.h:
- (WebIconDatabase::startUpIconDatabase): Make private again.
- (WebIconDatabase::shutDownIconDatabase): Ditto.
-
-2009-01-06 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX (r39641): Try to fix build errors #3
-
- Try to fix the following (more specific) build errors:
-
- WebIconDatabase.cpp
- ..\WebIconDatabase.cpp(255) : error C2248: 'WebIconDatabase::shutDownIconDatabase' : cannot access private member declared in class 'WebIconDatabase'
- ...\webkit\win\WebIconDatabase.h(61) : see declaration of 'WebIconDatabase::shutDownIconDatabase'
- ...\webkit\win\WebIconDatabase.h(51) : see declaration of 'WebIconDatabase'
- ..\WebIconDatabase.cpp(255) : error C2352: 'WebIconDatabase::shutDownIconDatabase' : illegal call of non-static member function
- ...\webkit\win\WebIconDatabase.h(61) : see declaration of 'WebIconDatabase::shutDownIconDatabase'
- ..\WebIconDatabase.cpp(258) : error C2248: 'WebIconDatabase::startUpIconDatabase' : cannot access private member declared in class 'WebIconDatabase'
- ...\webkit\win\WebIconDatabase.h(60) : see declaration of 'WebIconDatabase::startUpIconDatabase'
- ...\webkit\win\WebIconDatabase.h(51) : see declaration of 'WebIconDatabase'
- ..\WebIconDatabase.cpp(258) : error C2352: 'WebIconDatabase::startUpIconDatabase' : illegal call of non-static member function
- ...\webkit\win\WebIconDatabase.h(60) : see declaration of 'WebIconDatabase::startUpIconDatabase'
-
- * WebIconDatabase.cpp:
- (setEnabled): Get instance of shared WebIconDatabase, then call
- startUp/shutDown methods on it.
- * WebIconDatabase.h:
- (WebIconDatabase::startUpIconDatabase): Make protected again.
- (WebIconDatabase::shutDownIconDatabase): Ditto.
-
-2009-01-06 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX (r39641): Try to fix build errors again
-
- Try to fix the following build errors:
-
- WebIconDatabase.cpp
- ..\WebIconDatabase.cpp(255) : error C3861: 'shutDownIconDatabase': identifier not found
- ..\WebIconDatabase.cpp(258) : error C3861: 'startUpIconDatabase': identifier not found
-
- * WebIconDatabase.cpp:
- (setEnabled): Add class prefix to startUpIconDatabase() and
- shutDownIconDatabase().
- * WebIconDatabase.h:
- (WebIconDatabase::startUpIconDatabase): Make private again.
- (WebIconDatabase::shutDownIconDatabase): Ditto.
-
-2009-01-06 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX (r39641): Try to fix build error
-
- Try to fix the following build errors:
-
- WebIconDatabase.cpp
- ..\WebIconDatabase.cpp(255) : error C3861: 'shutDownIconDatabase': identifier not found
- ..\WebIconDatabase.cpp(258) : error C3861: 'startUpIconDatabase': identifier not found
-
- * WebIconDatabase.h:
- (WebIconDatabase::startUpIconDatabase): Make protected.
- (WebIconDatabase::shutDownIconDatabase): Ditto.
-
-2009-01-06 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX (r39641): Fix more silly errors
-
- Fixes the following compilation errors:
-
- WebIconDatabase.cpp
- ..\WebIconDatabase.cpp(85) : error C2065: 'standardPrefs' : undeclared identifier
- ..\WebIconDatabase.cpp(85) : error C2227: left of '->iconDatabaseLocation' must point to class/struct/union/generic type
- type is ''unknown-type''
- ..\WebIconDatabase.cpp(241) : error C2575: 'isEnabled' : only member functions and bases can be virtual
- ..\WebIconDatabase.cpp(248) : error C2575: 'setEnabled' : only member functions and bases can be virtual
- ..\WebIconDatabase.cpp(253) : error C3861: 'shutDownIconDatabase': identifier not found
- ..\WebIconDatabase.cpp(256) : error C3861: 'startUpIconDatabase': identifier not found
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::startUpIconDatabase): Redeclare standardPrefs
- since this was in init() but not in this method after it was
- extracted from init().
- (isEnabled): Don't use "virtual" in method implementation
- (silly copy-paste error).
- (setEnabled): Ditto.
-
-2009-01-06 David Kilzer <ddkilzer@apple.com>
-
- BUILD FIX (r39641): Remove STDMETHODCALLTYPE from method declarations in IWebIconDatabase.idl
-
- * Interfaces/IWebIconDatabase.idl: Removed "STDMETHODCALLTYPE"
- from silly copy-paste error in two method declarations.
-
-2009-01-05 David Kilzer <ddkilzer@apple.com>
-
- Add API to enable, disable and check state of WebIconDatabase
-
- Reviewed by Darin Adler & Timothy Hatcher.
-
- Add WebIconDatabase::isEnabled() and WebIconDatabase::setEnabled()
- API to make it possible to enable, disable and check the state of
- the icon database.
-
- * Interfaces/IWebIconDatabase.idl: Declared isEnabled() and
- setEnabled() methods.
- * WebIconDatabase.cpp:
- (WebIconDatabase::init): Extracted code into startUpIconDatabase().
- (WebIconDatabase::startUpIconDatabase): Added. Extracted from
- init().
- (WebIconDatabase::shutDownIconDatabase): Added. Method is empty
- since there is nothing to do yet on Windows.
- (isEnabled): Added.
- (setEnabled): Added.
- * WebIconDatabase.h: Added method declarations.
-
-2009-01-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- Pass more information in the property bag passed to embeddedViewWithArguments.
-
- * Interfaces/IWebUIDelegatePrivate.idl:
- Declare new keys.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::createPlugin):
- Pass the base URL, MIME type and the containing element to embeddedViewWithArguments.
-
-2009-01-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler, Jon Honeycutt.
-
- Add a templatized COMVariant constructor so we can make COMVariants out of
- everything that has a COMVariantSetter specialization.
-
- Add a COMVariantSetter specialization for COMVariant.
-
- * COMVariantSetter.h:
- (COMVariant::COMVariant):
-
-2009-01-05 Brent Fulgham <bfulgham@gmail.com>
-
- Reviewed by Oliver Hunt.
-
- Fixes: https://bugs.webkit.org/show_bug.cgi?id=23027
-
- Removes the WebKitGraphics files from the Cairo build, as well
- as excluding their link definitions. These are not used outside
- of Safari, and should not be part of the 'Redistributable API.'
-
- * WebKit.vcproj/WebKit.vcproj: Update *_Cairo targets to exclude
- the WebKitGraphics.cpp/.h files.
- * WebKit.vcproj/WebKit_Cairo.def: Added. File without Safari
- link definitions.
- * WebKit.vcproj/WebKit_Cairo_debug.def: Added. File without Safari
- link definitions.
-
-2009-01-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- Add a simple, memory managed, wrapper around a VARIANT struuct.
-
- * COMVariantSetter.h:
- (COMVariant::COMVariant):
- (COMVariant::~COMVariant):
- (COMVariant::operator=):
- (COMVariant::copyTo):
- (COMVariant::variantType):
-
-2009-01-05 Adele Peterson <adele@apple.com>
-
- Windows build fix.
-
- * WebCoreSupport/WebChromeClient.cpp:
-
-2009-01-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam Roben.
-
- Make it possible to have per value variant types.
-
- * COMPropertyBag.h:
- (::Read):
- Call variantType here, passing in the value.
-
- (::GetPropertyInfo):
- Ditto.
-
- * COMVariantSetter.h:
- (COMVariantSetterBase::variantType):
- Add COMVariantSetterBase, whose variantType implementation just returns the
- VariantType variable. Make all existing classes inherit from COMVariantSetterBase.
-
-2009-01-05 Adam Treat <adam.treat@torchmobile.com>
-
- Fix win build
-
- * WebCoreSupport/WebChromeClient.h:
-
-2009-01-05 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Build fix for contentsSizeChanged
-
- * WebCoreSupport/WebChromeClient.cpp:
- (WebChromeClient::contentsSizeChanged):
- * WebCoreSupport/WebChromeClient.h:
-
-2009-01-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Kevin Decker.
-
- Use the ManualLoader class instead of assuming that the manual loader
- is a plug-in view.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::WebFrameLoaderClient):
- (WebFrameLoaderClient::setMainDocumentError):
- (WebFrameLoaderClient::committedLoad):
- (WebFrameLoaderClient::finishedLoading):
- (WebFrameLoaderClient::redirectDataToPlugin):
- * WebCoreSupport/WebFrameLoaderClient.h:
-
-2009-01-04 Adam Treat <adam.treat@torchmobile.com>
-
- Reviewed by George Staikos.
-
- Make the apple windows port build with the new fixedLayoutSize feature
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
-
-2008-12-20 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Ada Chan.
-
- - expose the new allItems() method via a new IWebHistoryPrivate
- interface
-
- * Interfaces/IWebHistoryPrivate.idl: Added.
- * Interfaces/WebKit.idl: Added IWebHistoryPrivate.idl.
- * WebHistory.cpp:
- (WebHistory::QueryInterface): Added IWebHistoryPrivate.
- (WebHistory::allItems):
- * WebHistory.h:
-
-2008-12-19 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebHistory.cpp:
- (WebHistory::allItems):
-
-2008-12-19 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler, Adele Peterson, Brady Eidson.
-
- Added SPI for getting an unsorted vector of all items in history.
-
- * WebHistory.cpp:
- (WebHistory::orderedItemsLastVisitedOnDay):
- (WebHistory::allItems):
- * WebHistory.h:
-
-2008-12-18 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- - implement FrameLoaderClient::shouldUseCredentialStorage() by calling
- a new resource load delegae method.
-
- * Interfaces/IWebResourceLoadDelegatePrivate.idl: Added
- a ne interface, IWebResourceLoadDelegatePrivate2, including a new
- method, shouldUseCredentialStorage().
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::shouldUseCredentialStorage): Added. Calls the
- delegate method. If the method is unimplemented, returns true for
- backwards compatibility.
- * WebCoreSupport/WebFrameLoaderClient.h:
-
-2008-12-18 Sam Weinig <sam@webkit.org>
-
- Reviewed by John Sullivan.
-
- Implement FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout() by calling
- a new private frame load delegate method.
-
- * Interfaces/IWebFrameLoadDelegatePrivate.idl:
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
- * WebCoreSupport/WebFrameLoaderClient.h:
-
-2008-12-16 Steve Falkenburg <sfalken@apple.com>
-
- Windows build fix.
-
- Reviewed by Stephanie Lewis.
-
- * COMPropertyBag.h:
- (::createInstance):
- (::adopt):
- (::QueryInterface):
- (::AddRef):
- (::Release):
- (::Read):
- (::Write):
- (::CountProperties):
- (::GetPropertyInfo):
- (::LoadObject):
- * WebURLResponse.cpp:
- (WebURLResponse::allHeaderFields):
-
-2008-12-16 Stephanie Lewis <slewis@apple.com>
-
- Another Windows Build Fix.
-
- * WebURLResponse.cpp:
- (WebURLResponse::allHeaderFields):
-
-2008-12-14 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - Windows equivalent of <rdar://problem/3258561>
- WebHistoryAllItemsRemovedNotification should add items to userInfo
-
- * WebHistory.cpp:
- (WebHistory::removeAllItems): Changed to create an array of all items
- and send it in the notification.
-
-2008-12-12 Brent Fulgham <bfulgham@gmail.com>
-
- Reviewed by Oliver Hunt.
-
- Fixes: https://bugs.webkit.org/show_bug.cgi?id=22805
-
- Provides implementation of image drag for Windows Cairo back-end.
- Switch to generic PlatformGraphicsContext data type, rather than
- specific use of CoreGraphics types.
-
- * WebCoreSupport/WebDragClient.cpp:
- (WebDragClient::createDragImageForLink): Revise calls to use more
- generic PlatformGraphicsContext data types and calls for better
- portability.
-
-2008-12-12 Steve Falkenburg <sfalken@apple.com>
-
- Update Windows cache sizes to match recent Mac change.
-
- Reviewed by Stephanie Lewis, Sam Weinig.
-
- * WebView.cpp:
- (WebView::setCacheModel):
-
-2008-12-12 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Rubber-stamped by Oliver Hunt.
-
- Remove mutables from EmbeddedWidget
-
- We can do this now that frameRectsChanged() is no longer const
-
- * WebCoreSupport/EmbeddedWidget.h:
-
-2008-12-11 Cameron Zwarich <zwarich@apple.com>
-
- Rubber-stamped by Mark Rowe.
-
- Roll out r39212 due to assertion failures during layout tests, multiple
- layout test failures, memory leaks, and obvious incorrectness.
-
- * Interfaces/IWebPreferencesPrivate.idl:
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- * WebPreferences.h:
-
-2008-12-10 Glenn Wilson <gwilson@google.com>
-
- Reviewed by Adam Roben.
-
- Added support for overriding default preferences per-test.
- https://bugs.webkit.org/show_bug.cgi?id=20534
- Two new methods were added: resetToDefaults and overridePreference.
-
- * Interfaces/IWebPreferencesPrivate.idl: new method signatures
- * WebPreferenceKeysPrivate.h: added new key for internal state
- * WebPreferences.cpp: added new methods
- (WebPreferences::overridePreference): new method
- (WebPreferences::resetToDefaults): new method
- * WebPreferences.h: new method signatures
-
-2008-12-08 Tor Arne Vestbø <tavestbo@trolltech.com>
-
- Reviewed by Darin Adler and Holger Freyther.
-
- Make Widget::frameRectsChanged() and overrides non-const
-
- This will hopefully allow us to get rid of some of the mutables in
- the classes that react to the callback by changing their own state.
-
- * WebCoreSupport/EmbeddedWidget.cpp:
- (EmbeddedWidget::frameRectsChanged):
- * WebCoreSupport/EmbeddedWidget.h:
-
-2008-12-09 Brett Wilson <brettw@chromium.org>
-
- Reviewed by Dave Hyatt.
-
- https://bugs.webkit.org/show_bug.cgi?id=22177
-
- Add a callback on ChromeClient that the state of form elements on
- the page has changed. This is to allow clients implementing session
- saving to know when the current state is dirty.
-
- * WebCoreSupport/WebChromeClient.h:
- (WebChromeClient::formStateDidChange):
-
-ks2008-12-08 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adam Roben.
-
- - Fix nightly builds
-
- * Interfaces/IWebViewPrivate.idl: Moved globalHistoryItem() to the end,
- so that it comes after all methods used by Safari 3.2.1.
-
-2008-12-08 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - WebKit/win part of tracking the global history item for a WebView
-
- * Interfaces/IWebViewPrivate.idl: Declared globalHistoryItem()
- * WebView.cpp:
- (WebView::globalHistoryItem): Added. Gets the page's global history
- item.
- * WebView.h:
-
-2008-12-06 Simon Fraser <simon.fraser@apple.com>
-
- Reviewed by Dave Hyatt
-
- https://bugs.webkit.org/show_bug.cgi?id=15671
-
- Renderer::caretRect() is now localCaretRect(), which needs
- converting to absolute coordinates (taking transforms into account).
-
- * WebView.cpp:
- (WebView::handleContextMenuEvent):
-
-2008-12-05 Darin Adler <darin@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- - fix https://bugs.webkit.org/show_bug.cgi?id=22674
- Webkit r39005 does not start, an entry point not found
-
- * WebView.cpp:
- (findCFNetworkModule): Added.
- (findCopySharedURLCacheFunction): Added.
- (WebView::setCacheModel): Call CFURLCacheCopySharedURLCache via dynamic loading
- instead of compiling based on which version of CFNetwork headers are present.
-
-2008-12-04 Steve Falkenburg <sfalken@apple.com>
-
- Implement IPropertyBag2::Read.
- Fill in dwType for IPropertyBag2::GetPropertyInfo (we always use PROPBAG2_TYPE_DATA).
- https://bugs.webkit.org/show_bug.cgi?id=22659
-
- This fixes <rdar://problem/6419127> REGRESSION: Forms autocomplete is broken for "other forms"
-
- Reviewed by Ada Chan, Alice Liu.
-
- * COMPropertyBag.h:
- (::Read): Implemented.
- (::GetPropertyInfo): Set dwType to PROPBAG2_TYPE_DATA.
-
-2008-12-02 Adam Roben <aroben@apple.com>
-
- Export new-ish JSCore convenience constructor functions
-
- Reviewed by Jon Honeycutt.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
- Export JSObjectMakeArray, JSObjectMakeDate, and JSObjectMakeRegExp.
- Remove duplicate export of JSObjectMakeFunction.
-
-2008-12-02 Michael Moss <mmoss@chromium.org>
-
- Reviewed by Eric Seidel.
-
- - Fix http/tests/navigation/reload-subframe-*frame.html on Windows.
- https://bugs.webkit.org/show_bug.cgi?id=20926
-
- Change 31264 fixed this on Mac (since moved to WebCore/loader/FrameLoader.cpp), but was never ported to Windows.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::loadURLIntoChild):
-
-2008-12-01 Steve Falkenburg <sfalken@apple.com>
-
- Implement renderedImage for Windows.
- https://bugs.webkit.org/show_bug.cgi?25648
-
- Reviewed by Adam Roben.
-
- * DOMCoreClasses.cpp:
- (DOMElement::renderedImage):
- * DOMCoreClasses.h:
- * Interfaces/DOMPrivate.idl:
-
-2008-12-01 Eric Seidel <eric@webkit.org>
-
- Reviewed by Adam Roben.
-
- NULL-check documentFrameView() and topDocumentFrameView() it's possible
- for either of these methods to return NULL, and this was seen to cause
- crashes in Chromium.
- https://bugs.webkit.org/show_bug.cgi?id=22572
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accParent):
- (AccessibleBase::accLocation):
- (AccessibleBase::accHitTest):
-
-2008-11-30 Antti Koivisto <antti@apple.com>
-
- Another Windows build fix.
-
- * WebCoreStatistics.cpp:
- (WebCoreStatistics::javaScriptObjectsCount):
-
-2008-11-30 Antti Koivisto <antti@apple.com>
-
- Windows build fix.
-
- * WebJavaScriptCollector.cpp:
- (WebJavaScriptCollector::objectCount):
-
-2008-11-29 Brent Fulgham <bfulgham@gmail.com>
-
- Reviewed by Alexey Proskuryakov.
-
- Remove Visual Studio project dependencies on non-redistributable
- components in the Debug_Cairo and Release_Cairo build targets.
- See https://bugs.webkit.org/show_bug.cgi?id=22527
-
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKit.sln: Instruct Cairo builds to not bother
- building the unused QuickTime support library.
-
-2008-11-24 Glenn Wilson <gwilson@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- http://bugs.webkit.org/show_bug.cgi?id=15643
-
- Added API support for the "trailing whitespace" work-around. This includes an APIs
- to get and set the state of this configuration variable.
-
- * Interfaces/IWebView.idl:
- * WebCoreSupport/WebEditorClient.cpp:
- (WebEditorClient::selectTrailingWhitespaceEnabled):
- * WebCoreSupport/WebEditorClient.h:
- * WebView.cpp:
- (WebView::WebView):
- (WebView::setSelectTrailingWhitespaceEnabled):
- (WebView::selectTrailingWhitespaceEnabled):
- * WebView.h:
-
-2008-11-24 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - https://bugs.webkit.org/show_bug.cgi?id=22470
- remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::updateGlobalHistory): Get the URL from the
- DocumentLoader, just as we do the title and the failure flag.
- * WebCoreSupport/WebFrameLoaderClient.h: Remove argument.
-
-2008-11-24 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - finish https://bugs.webkit.org/show_bug.cgi?id=22295
- track which history items are from page load failures
-
- Last time around I did this only for the back/forward list and missed the
- global history list.
-
- * Interfaces/IWebHistoryItemPrivate.idl: Added setLastVisitWasFailure.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::updateGlobalHistory): Added code to check for failure
- and pass the argument in to WebHistory.
-
- * WebHistory.cpp: (WebHistory::addItem): Added wasFailure argument.
- Set the flag on the newly created history item.
- * WebHistory.h: Ditto.
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::setLastVisitWasFailure): Added.
- * WebHistoryItem.h: Ditto.
-
-2008-11-24 Simon Fraser <simon.fraser@apple.com>
-
- Fix call to Frame::selectionBounds in Windows build.
-
- * WebView.cpp:
- (WebView::selectionRect):
-
-2008-11-21 Dimitri Glazkov <dglazkov@chromium.org>
-
- Reviewed by Alexey Proskuryakov.
-
- Debug WebKit crashes on launch because of threading not being initialized early enough.
-
- * WebKitClassFactory.cpp: (WebKitClassFactory::WebKitClassFactory):
- Call JSC::InitializeThreading().
-
-2008-11-19 Darin Fisher <darin@chromium.org>
-
- Reviewed by Geoff Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=22345
- Define ScriptValue as a thin container for a JSC::Value*.
-
- * WebView.cpp:
- (WebView::stringByEvaluatingJavaScriptFromString):
-
-2008-11-19 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- For transparent views, clear the dirty rect instead of painting it white.
-
- * WebView.cpp: (WebView::paintIntoBackingStore):
-
-2008-11-18 Adele Peterson <adele@apple.com>
-
- Reverting last change. I just realized it causes the view to never get cleared out.
-
- * WebView.cpp: (WebView::paintIntoBackingStore):
-
-2008-11-18 Adele Peterson <adele@apple.com>
-
- Reviewed by John Sullivan.
-
- Don't fill the view with white if its transparent.
-
- * WebView.cpp: (WebView::paintIntoBackingStore):
-
-2008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Try to fix the Windows build. It is view and not webView.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
-
-2008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports
-
- After Hyatt's work on Widget and ScrollView there is little difference
- between the implementation of Qt, Gtk+ and Win. In fact any kind of
- difference is mostly a bug. Alp has fixed two of such errors for the Gtk+
- port and the Qt port has at least one of them left.
-
- The only difference between the implementations is in getting the the
- IntSize for the new FrameView, the background color to be applied and
- eventually some post processing.
-
- Unify the implementations by providing a static helper function that
- takes a Frame, IntSize, color and transparency bit and calling it from
- the Gtk+, the Qt and the Windows port.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
-
-2008-11-18 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Simon Hausmann.
-
- https://bugs.webkit.org/show_bug.cgi?id=22056
-
- Move setting the background color and transparency from WebKit/win
- to WebCore. This allows WebKit/win, WebKit/Qt and WebKit/Gtk+
- to share this code.
-
- * WebFrame.cpp:
- (WebFrame::updateBackground):
-
-2008-11-16 Geoffrey Garen <ggaren@apple.com>
-
- Not reviewed.
-
- Try to fix Windows build.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
-
-2008-11-16 Darin Adler <darin@apple.com>
-
- Reviewed by Dan Bernstein.
-
- - https://bugs.webkit.org/show_bug.cgi?id=22295
- track which history items are from page load failures
-
- * Interfaces/IWebHistoryItemPrivate.idl: Added lastVisitWasFailure function.
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::initFromDictionaryRepresentation): Set the lastVisitWasFailure
- flag in the history item if the dictionary had an entry for lastVisitWasFailureKey.
- (WebHistoryItem::dictionaryRepresentation): Set the lastVisitWasFailureKey key
- in the dictionary if the history item had the lastVisitWasFailure flag.
- (WebHistoryItem::lastVisitWasFailure): Added.
-
- * WebHistoryItem.h: Added lastVisitWasFailure function.
-
-2008-11-15 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Updated for JavaScriptCore renames.
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
-
-2008-11-14 Dan Bernstein <mitz@apple.com>
-
- - try to fix the Windows build
-
- * WebCoreLocalizedStrings.cpp:
- (WebCore::contextMenuItemTagTextDirectionMenu): Added.
-
-2008-11-13 Adam Roben <aroben@apple.com>
-
- Fix Bug 22244: Webkit nightly builds crash with Safari 3.2
-
- <https://bugs.webkit.org/show_bug.cgi?id=22244>
-
- r36652 added IWebViewPrivate::clearMainFrameName into the middle of
- the IWebViewPrivate interface, which modifies the part of the
- IWebViewPrivate vtable that Safari 3.2 relies on.
-
- Reviewed by Dan Bernstein.
-
- * Interfaces/IWebViewPrivate.idl: Move clearMainFrameName to the end
- of the interface.
-
-2008-11-11 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adam Roben.
-
- WebKit/win part of adding a master volume control for media elements in a WebView
- * Interfaces/IWebViewPrivate.idl: Added setMediaVolume() and
- mediaVolume().
- * WebView.cpp:
- (WebView::setMediaVolume): Added.
- (WebView::mediaVolume): Added.
- * WebView.h:
-
-2008-11-10 Adam Roben <aroben@apple.com>
-
- Fix Bug 22158: Would like to turn on WebCore logging channels via an
- environment variable
-
- <https://bugs.webkit.org/show_bug.cgi?id=22158>
-
- Reviewed by Anders Carlsson.
-
- * WebView.cpp:
- (WebView::initWithFrame): Call WebCore's
- InitializeLoggingChannelsIfNecessary.
-
-2008-11-08 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - WebKit/win part of adding WebPreferences for controlling databases and local storage
-
- * Interfaces/IWebPreferencesPrivate.idl: Declared setDatabasesEnabled,
- databasesEnabled, setLocalStorageEnabled and localStorageEnabled.
- * WebPreferenceKeysPrivate.h: Added WebKitDatabasesEnabledPreferenceKey
- and WebKitLocalStorageEnabledPreferenceKey.
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings): Made databases and local
- storage enabled by default.
- (WebPreferences::setDatabasesEnabled): Added.
- (WebPreferences::databasesEnabled): Added.
- (WebPreferences::setLocalStorageEnabled): Added.
- (WebPreferences::localStorageEnabled): Added.
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::notifyPreferencesChanged): Transfer the databases and local
- storage preferences to WebCore settings.
-
-2008-11-06 John Sullivan <sullivan@apple.com>
-
- Eliminated one of the two booleans tracking whether zoom was text-only, to avoid future problems.
-
- Reviewed by Adam Roben
-
- * WebView.h:
- removed m_zoomMultiplierIsTextOnly
-
- * WebView.cpp:
- (WebView::WebView):
- removed initialization of m_zoomMultiplierIsTextOnly
- (WebView::setZoomMultiplier):
- use m_page->settings()->setZoomsTextOnly() instead of setting m_zoomMultiplierIsTextOnly
- (WebView::zoomMultiplier):
- use m_page->settings()->zoomsTextOnly() instead of reading m_zoomMultiplierIsTextOnly
-
-2008-11-06 Adele Peterson <adele@apple.com>
-
- Reviewed by Adam Roben.
-
- Add support for a WebKitZoomsTextOnly preference.
-
- * Interfaces/IWebPreferences.idl:
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::setZoomsTextOnly):
- (WebPreferences::zoomsTextOnly):
- * WebPreferences.h:
-
- * WebView.cpp:
- (WebView::canMakeTextLarger): Consider the zoomsTextOnly setting when computing this.
- (WebView::makeTextLarger): ditto.
- (WebView::canMakeTextSmaller): ditto.
- (WebView::makeTextSmaller): ditto.
- (WebView::canMakeTextStandardSize):
- Don't consider the setting in this case since we need to reset both text zoom and page zoom regardless of the setting.
- (WebView::makeTextStandardSize):
- (WebView::notifyPreferencesChanged): Set the WebCore settings to match the WebPreference for WebKitZoomsTextOnly.
-
-2008-11-05 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - make the {protocol,proxyType} argument of
- WebURLProtectionSpace::initWith{Proxy}Host actually work and fix
- assertion failures.
-
- * WebURLProtectionSpace.cpp:
- (WebURLProtectionSpace::initWithHost): The BString comparisons were
- applying the BString==BSTR operator to a right hand side that was
- actually a WCHAR string. Fixed by using BStrings on both sides.
- (WebURLProtectionSpace::initWithProxyHost): Ditto.
-
-2008-11-01 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=22030
- Make EventNames usable from multiple threads
-
- * WebView.cpp: (WebView::interpretKeyEvent): Access event names via eventNames() function.
-
-2008-11-03 Cameron Zwarich <zwarich@apple.com>
-
- Rubber-stamped by Maciej Stachowiak.
-
- Move more files into the runtime subdirectory of JavaScriptCore.
-
- * WebJavaScriptCollector.cpp:
-
-2008-11-03 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Steve Falkenburg.
-
- - implement WebMutableURLRequest::setHTTPShouldHandleCookies()
- - add and implement WebMutableURLRequest::mutableCopy()
-
- * Interfaces/IWebURLRequest.idl:
- * WebMutableURLRequest.cpp:
- (WebMutableURLRequest::setHTTPShouldHandleCookies):
- (WebMutableURLRequest::mutableCopy):
- * WebMutableURLRequest.h:
-
-2008-10-31 Dan Bernstein <mitz@apple.com>
-
- Reviewed by John Sullivan.
-
- - WebKit/win part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::setCookieEnabled):
- (WebView::cookieEnabled):
- * WebView.h:
-
-2008-10-31 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
- https://bugs.webkit.org/show_bug.cgi?id=22008
-
- * WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::runOpenPanel):
- Add support for mulitple file selection.
-
-2008-10-31 Darin Adler <darin@apple.com>
-
- - try to fix build
-
- * WebView.cpp:
- (WebView::setCacheModel): Roll out the part of my last change
- that involved no longer using wkCopyFoundationCacheDirectory.
-
-2008-10-30 Darin Adler <darin@apple.com>
-
- Reviewed by Sam Weinig.
-
- - https://bugs.webkit.org/show_bug.cgi?id=21986
- <rdar://problem/6294285> adopt CFURLCopySharedURLCache
-
- * WebView.cpp:
- (WebView::setCacheModel): Use CFURLCopySharedURLCache if present.
-
-2008-10-30 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- - export WTFReportAssertionFailureWithMessage()
-
- * WebKit.vcproj/WebKit_debug.def:
-
-2008-10-29 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/6326563> Crash on launch
-
- For Windows, export explicit functions rather than exporting data for atomicallyInitializedStaticMutex.
-
- Exporting data from a DLL on Windows requires specifying __declspec(dllimport) in the header used by
- callers, but __declspec(dllexport) when defined in the DLL implementation. By instead exporting
- the explicit lock/unlock functions, we can avoid this.
-
- Fixes a crash on launch, since we were previously erroneously exporting atomicallyInitializedStaticMutex as a function.
-
- Reviewed by Darin Adler.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
-
-2008-10-29 Jon Honeycutt <jhoneycutt@apple.com>
-
- Export atomicallyInitializedStaticMutex.
-
- Rubber-stamped by Steve Falkenburg.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
-
-2008-10-28 Cameron Zwarich <zwarich@apple.com>
-
- Reviewed by Mark Rowe.
-
- Move ForwardingHeaders to their correct location after the creation of
- the runtime directory in JavaScriptCore.
-
- * WebScriptCallFrame.h:
-
-2008-10-28 Adele Peterson <adele@apple.com>
-
- Reviewed by John Sullivan.
-
- Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
- "files" string for multifile uploads needs to be localized
-
- * WebCoreLocalizedStrings.cpp: (multipleFileUploadText):
-
-2008-10-28 Adele Peterson <adele@apple.com>
-
- Reviewed by Sam Weinig.
-
- * English.lproj: Removed.
- * English.lproj/Localizable.strings: Removed.
- * WebKit.vcproj/WebKit.vcproj: Updated to use Localizable.strings in the top directory, to share with the Mac.
-
-2008-10-28 Timothy Hatcher <timothy@apple.com>
-
- Add IWebInspector methods to enable the profiler.
-
- https://bugs.webkit.org/show_bug.cgi?id=21927
-
- <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
- not slow down JavaScript all the time
-
- Reviewed by Darin Adler and Kevin McCullough.
-
- * WebInspector.cpp:
- (WebInspector::isJavaScriptProfilingEnabled): Added. Calls InspectorController::profilerEnabled.
- (WebInspector::setJavaScriptProfilingEnabled): Added. Call InspectorController's disableProfiler
- or enableProfiler methods.
- * WebInspector.h:
-
-2008-10-27 Timothy Hatcher <timothy@apple.com>
-
- Rename a few methods related to attaching and detaching the debugger.
-
- * Rename attachDebugger to enableDebugger.
- * Rename detachDebugger to disableDebugger.
- * Rename the debuggerAttached getter to debuggerEnabled.
-
- Reviewed by Darin Adler.
-
- * WebInspector.cpp:
- (WebInspector::isDebuggingJavaScript):
- (WebInspector::toggleDebuggingJavaScript):
-
-2008-10-24 Sam Weinig <sam@webkit.org>
-
- Yet another windows build fix.
-
- * WebCoreSupport/WebChromeClient.cpp:
-
-2008-10-24 Sam Weinig <sam@webkit.org>
-
- Another windows build fix.
-
- * WebCoreSupport/WebChromeClient.cpp:
-
-2008-10-24 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Fix https://bugs.webkit.org/show_bug.cgi?id=21759
- Layering violation: FileChooser should not depend on Document/Frame/Page
-
- * WebCoreSupport/WebChromeClient.cpp:
- (WebChromeClient::runOpenPanel):
- * WebCoreSupport/WebChromeClient.h:
-
-2008-10-24 Timothy Hatcher <timothy@apple.com>
-
- Implement new InspectorClient methods to work with Settings.
-
- https://bugs.webkit.org/show_bug.cgi?id=21856
-
- Reviewed by Adam Roben.
-
- * WebKit.vcproj/WebKit.vcproj: Add the new InspectorClientCF.cpp file.
- * WebCoreSupport/WebInspectorClient.h: Add the new methods.
-
-2008-10-24 Darin Adler <darin@apple.com>
-
- - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::jsValueToString):
- (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
- (WebScriptCallFrame::valueForVariable):
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
- * WebScriptCallFrame.h:
- * WebView.cpp:
- (WebView::stringByEvaluatingJavaScriptFromString):
- Use JSValue* instead of JSValuePtr.
-
-2008-10-22 Brent Fulgham <bfulgham@gmail.com>
-
- Correct build regressions in Cairo port for Windows.
- http://bugs.webkit.org/show_bug.cgi?id=21724
-
- Reviewed by Adam Roben.
-
- * WebView.cpp:
- (WebView::notifyPreferencesChanged): Don't try to call
- setShouldPaintNativeControls when SafariTheme support is disabled, as
- that function doesn't exist in that case.
-
-2008-10-22 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam Roben
-
- Move elementDoesAutoComplete() to IWebFramePrivate so it is exposed for DRT to use
-
- * Interfaces/IWebFramePrivate.idl:
-
- * WebFrame.cpp:
- (WebFrame::elementDoesAutoComplete):
- * WebFrame.h:
-
- * WebHTMLRepresentation.cpp:
- (WebHTMLRepresentation::elementDoesAutoComplete):
-
-2008-10-20 Sam Weinig <sam@webkit.org>
-
- Reviewed by Anders Carlsson.
-
- Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
-
- * WebFrame.cpp:
- * WebFrame.h:
-
-2008-10-19 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver Hunt.
-
- - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
- improve performance by eliminating JSValue as a base class for JSCell
-
- Remove most uses of JSValue, which will be removed in a future patch.
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::jsValueToString): Use JSValuePtr.
- (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString): Ditto.
- (WebScriptCallFrame::valueForVariable): Put more code inside and ifdef.
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString): Ditto.
- * WebScriptCallFrame.h: Use JSValuePtr.
-
- * WebView.cpp:
- (WebView::stringByEvaluatingJavaScriptFromString): Use JSValuePtr.
-
-2008-10-18 Dan Bernstein <mitz@apple.com>
-
- - build fix
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::jsValueToString):
-
-2008-10-18 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- - WebKit/win part of https://bugs.webkit.org/show_bug.cgi?id=21736
- Long-dead decoded image data make up for most of the object cache's memory use over time
-
- * WebView.cpp:
- (WebView::setCacheModel): In the primary web browser model,
- set the cache's dead decoded data deletion interval to 60 seconds.
-
-2008-10-16 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Steve Falkenburg.
-
- <rdar://problem/6292718>
- Implement a standard way to get the UA given an application name.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::standardUserAgentWithApplicationName):
- * WebView.h:
-
-2008-10-17 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- - export WTF::initializeOnMainThread()
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
-
-2008-10-15 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Cameron Zwarich.
-
- Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
- Start the debugger without reloading the inspected page
-
- * WebInspector.cpp:
- (WebInspector::toggleDebuggingJavaScript): Updated for rename.
-
-2008-10-15 Adam Roben <aroben@apple.com>
-
- Export WTF::Mutex::tryLock
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
-
-2008-10-14 Jon Honeycutt <jhoneycutt@apple.com>
-
- Export currentThread.
-
- Rubber-stamped by Dan Bernstein.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
-
-2008-10-13 Steve Falkenburg <sfalken@apple.com>
-
- Reorder methods to preserve compatibility.
-
- Rubber stamped by Oliver Hunt.
-
- * Interfaces/IWebViewPrivate.idl:
-
-2008-10-11 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Sam Weinig.
-
- - add SPI for forcing the complex text code path to be used for all text
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::setAlwaysUsesComplexTextCodePath):
- (WebView::alwaysUsesComplexTextCodePath):
- * WebView.h:
-
-2008-10-10 Ada Chan <adachan@apple.com>
-
- Bug 21526: The hashmap webPreferencesInstances in WebPreferences.cpp can
- potentially hold onto stale instances of WebPreferences
- https://bugs.webkit.org/show_bug.cgi?id=21526
-
- webPreferencesInstances now keeps a reference to all the instances it holds.
- Fix up callers of WebPreferences::removeReferenceForIdentifier() to call
- it after they have released their references to the WebPreferences objects.
-
- Reviewed by Adam Roben.
-
- * WebPreferences.cpp:
- (WebPreferences::getInstanceForIdentifier):
- (WebPreferences::removeReferenceForIdentifier):
- * WebView.cpp:
- (WebView::close):
- (WebView::setPreferences):
-
-2008-10-06 David Hyatt <hyatt@apple.com>
-
- Enable viewless Mac WebKit to paint some basic pages.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::createFrame):
- * WebCoreSupport/WebFrameLoaderClient.h:
-
-2008-10-03 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21340
-
- Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now.
-
- Reviewed by Dan Bernstein & Darin Adler
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
- * WebScrollBar.cpp:
- (WebScrollBar::WebScrollBar):
- (WebScrollBar::init):
- (WebScrollBar::invalidateScrollbarRect):
- * WebScrollBar.h:
-
-2008-10-03 David Hyatt <hyatt@apple.com>
-
- Remove addToDirtyRegion.
-
- Reviewed by Oliver Hunt
-
- * WebCoreSupport/WebChromeClient.cpp:
-
-2008-10-02 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21328
-
- Make widget invalidation more cross-platform.
-
- (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
-
- (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
- This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
-
- (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
-
- (4) FrameViews now do a repaintRectangle on their owner element's renderer.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/EmbeddedWidget.cpp:
- (EmbeddedWidget::invalidateRect):
- * WebCoreSupport/EmbeddedWidget.h:
- * WebScrollBar.cpp:
- (WebScrollBar::invalidateScrollbarRect):
- * WebScrollBar.h:
-
-2008-10-02 Darin Adler <darin@apple.com>
-
- - https://bugs.webkit.org/show_bug.cgi?id=21321
- Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
-
- * WebCoreStatistics.cpp:
- (WebCoreStatistics::javaScriptObjectsCount): Use heap. instead of heap-> to
- work with the heap.
- (WebCoreStatistics::javaScriptGlobalObjectsCount): Ditto.
- (WebCoreStatistics::javaScriptProtectedObjectsCount): Ditto.
- (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount): Ditto.
- (WebCoreStatistics::javaScriptProtectedObjectTypeCounts): Ditto.
- * WebJavaScriptCollector.cpp:
- (WebJavaScriptCollector::objectCount): Ditto.
-
-2008-10-02 Dave Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21316
-
- Reviewed by Adele
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
-
-2008-10-02 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21314
-
- Make scrollBackingStore cross-platform.
-
- Reviewed by Sam Weinig
-
- * WebCoreSupport/WebChromeClient.cpp:
- (WebChromeClient::repaint):
- (WebChromeClient::scroll):
- * WebCoreSupport/WebChromeClient.h:
- * WebView.cpp:
- (WebView::repaint):
- * WebView.h:
-
-2008-10-01 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21298
-
- Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch
- will make that cross-platform.
-
- The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the
- multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term
- windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten).
-
- Reviewed by Sam Weinig
-
- * WebScrollBar.cpp:
- (WebScrollBar::windowClipRect):
- * WebScrollBar.h:
-
-2008-10-01 David Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21282
-
- Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
-
- Reviewed by Adam Roben
-
- * WebCoreSupport/WebChromeClient.cpp:
- (WebChromeClient::windowToScreen):
- (WebChromeClient::screenToWindow):
- * WebCoreSupport/WebChromeClient.h:
-
-2008-09-30 Dave Hyatt <hyatt@apple.com>
-
- https://bugs.webkit.org/show_bug.cgi?id=21269
-
- This patch makes the ScrollView::paint method cross-platform. The paint method calls the base class
- Widget paint on platforms with native widgets (Mac and wx). Otherwise it calls a virtual function,
- paintContents, to paint the ScrollView's contents, and then it paints each of the two scrollbars and
- the scrollbar corner.
-
- The scrollbar themes are now responsible for painting scrollbar corners. At the moment ScrollbarThemeWin still
- paints white (which is incorrect), so a future patch will actually implement proper native scroll corner painting
- for Windows.
-
- paintContents is implemented by FrameView, and replaces Frame::paint. All of the FramePrivate member
- variables used by Frame::paint have moved to FrameViewPrivate instead. All callers of Frame::paint have
- been patched to use FrameView::paintContents instead.
-
- Reviewed by Darin Adler
-
- * WebFrame.cpp:
- (WebFrame::paintDocumentRectToContext):
- (WebFrame::spoolPages):
-
-2008-09-30 Dave Hyatt <hyatt@apple.com>
-
- http://bugs.webkit.org/show_bug.cgi?id=21250
-
- Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
- repaints up through the ChromeClient.
-
- Reviewed by Darin Adler
-
- * WebCoreSupport/WebChromeClient.cpp:
- (WebChromeClient::repaint):
- * WebCoreSupport/WebChromeClient.h:
- * WebView.cpp:
- (WebView::repaint):
- * WebView.h:
-
-2008-09-29 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adam Roben.
-
- - WebKit/win part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData
-
- * WebKitDLL.cpp:
- (DllMain): Call RenderThemeWin::setWebKitIsBeingUnloaded() when WebKit
- is being unloaded.
-
-2008-09-27 David Hyatt <hyatt@apple.com>
-
- Land the frameGeometry->frameRect changes that I forgot to land in WebKit.
-
- * Interfaces/IWebScrollBarPrivate.idl:
- * WebCoreSupport/EmbeddedWidget.cpp:
- (EmbeddedWidget::setFrameRect):
- (EmbeddedWidget::frameRectsChanged):
- * WebCoreSupport/EmbeddedWidget.h:
- * WebScrollBar.cpp:
- (WebScrollBar::setRect):
- (WebScrollBar::frameRect):
- * WebScrollBar.h:
-
-2008-09-27 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * WebCoreSupport/EmbeddedWidget.cpp:
- (EmbeddedWidget::setFrameRect):
- (EmbeddedWidget::frameRectsChanged):
- * WebCoreSupport/EmbeddedWidget.h:
- * WebScrollBar.cpp:
- (WebScrollBar::setRect):
- (WebScrollBar::frameGeometry):
-
-2008-09-26 David Kilzer <ddkilzer@apple.com>
-
- Speculative Windows build fix with XSLT disabled
-
- Reviewed by Alexey.
-
- * WebCache.cpp:
- (WebCache::statistics): Populate xslStyleSheet statistics with
- zeros if XSLT is disabled.
-
-2008-09-24 Matt Lilek <webkit@mattlilek.com>
-
- Reviewed by Darin Adler.
-
- Bug 20999: Inspector hover to select does not work properly on Windows
- https://bugs.webkit.org/show_bug.cgi?id=20999
- <rdar://problem/6236524>
-
- * WebNodeHighlight.cpp:
- (WebNodeHighlight::show):
-
-2008-09-24 Darin Adler <darin@apple.com>
-
- * English.lproj/Localizable.strings: Updated for recent changes.
-
-2008-09-22 Alice Liu <alice.liu@apple.com>
-
- Added record-memory-win.vcproj tool to the solution
-
- Reviewed by Steve Falkenburg.
-
- * WebKit.vcproj/WebKit.sln:
-
-2008-09-20 Darin Adler <darin@apple.com>
-
- - fix build
-
- * WebCoreSupport/WebChromeClient.cpp:
- (WebChromeClient::paintCustomScrollbar): Tweaked constant names to make this
- compile, but it may not be working correctly. Hyatt should do the real fix.
-
-2008-09-19 Alice Liu <alice.liu@apple.com>
-
- Fix crash when submitting form at bugreport.apple.com rdar://6234126
-
- Reviewed by Mark Rowe.
-
- * COMPropertyBag.h:
- (::GetPropertyInfo):
- correct mis-use of comma operator
-
-2008-09-18 Mark Rowe <mrowe@apple.com>
-
- Reviewed by Dan Bernstein.
-
- Add SPI to WebView to allow DRT to clear the main frame's name between tests.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::clearMainFrameName):
- * WebView.h:
-
-2008-09-16 Alp Toker <alp@nuanti.com>
-
- Suggested by Dave Hyatt.
-
- Build fix and cleanup. Rename ScrollBar to Scrollbar.
-
- * WebScrollBar.cpp:
- * WebScrollBar.h:
-
-2008-09-16 David Hyatt <hyatt@apple.com>
-
- Eliminate PlatformScrollbar.
-
- Reviewed by Sam Weinig
-
- * WebScrollBar.cpp:
- (WebScrollBar::init):
- * WebScrollBar.h:
-
-2008-09-15 Chris Fleizach <cfleizach@apple.com>
-
- Reviewed by Darin Adler, Beth Dakin
-
- Support strings for AXLists
-
- * WebCoreLocalizedStrings.cpp:
- (WebCore::AXDefinitionListTermText):
- (WebCore::AXDefinitionListDefinitionText):
-
-2008-09-13 Dave Hyatt <hyatt@apple.com>
-
- Add ScrollbarTheme to the build.
-
- Reviewed by Sam Weinig
-
- * WebScrollBar.cpp:
- (WebScrollBar::requestedWidth):
- (WebScrollBar::requestedHeight):
-
-2008-09-13 Dave Hyatt <hyatt@apple.com>
-
- More scrollbar refactoring.
-
- Reviewed by Sam Weinig
-
- * WebScrollBar.h:
-
-2008-09-08 Adam Roben <aroben@apple.com>
-
- Respect the font smoothing preference when drawing via WebKitGraphics
-
- Reviewed by Dave Hyatt.
-
- * WebKitGraphics.cpp:
- (makeFont): Check the font smoothing preference and update the
- FontDescription's rendering mode based on it.
-
-2008-09-08 Steve Falkenburg <sfalken@apple.com>
-
- Another Windows nightly build fix.
-
- Remove non-production versions of CLSIDs since we'll use registry free COM with
- an embedded manifest now in all cases to find COM classes.
-
- Reviewed by Sam Weinig.
-
- * ForEachCoClass.cpp:
- (setUseOpenSourceWebKit): Remove COM registration code.
- * Interfaces/WebKit.idl: Remove non-production COM classes
-
-2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
-
- Reviewed by Maciej Stachowiak.
-
- Bug 20704: Replace the KJS namespace
- <https://bugs.webkit.org/show_bug.cgi?id=20704>
-
- Rename the KJS namespace to JSC.
-
- * WebCoreStatistics.cpp:
- * WebJavaScriptCollector.cpp:
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::jsValueToString):
- * WebScriptCallFrame.h:
- (WebScriptCallFrame::state):
- * WebView.cpp:
- (WebView::WebView):
- (WebView::stringByEvaluatingJavaScriptFromString):
-
-2008-09-05 Dave Hyatt <hyatt@apple.com>
-
- Add support for runtime switchability of the Aqua look and the native look on Windows.
- Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
-
- Reviewed by Adam Roben
-
- * Interfaces/IWebPreferencesPrivate.idl:
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings):
- (WebPreferences::shouldPaintNativeControls):
- (WebPreferences::setShouldPaintNativeControls):
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::notifyPreferencesChanged):
-
-2008-09-04 Adam Roben <aroben@apple.com>
-
- Make JavaScriptCoreGenerated build first instead of WTF
-
- JavaScriptCoreGenerated does some setup work that we want to happen
- before WTF builds.
-
- * WebKit.vcproj/WebKit.sln: Reversed the dependencies of WTF and
- JavaScriptCoreGenerated.
-
-2008-08-30 Sam Weinig <sam@webkit.org>
-
- Reviewed by Dan Bernstein.
-
- Add WebView SPI to defer loading callbacks.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::setDefersCallbacks):
- (WebView::defersCallbacks):
- * WebView.h:
-
-2008-08-28 Adele Peterson <adele@apple.com>
-
- Build fix.
-
- * WebIconDatabase.cpp: (WebIconDatabase::getOrCreateDefaultIconBitmap):
-
-2008-08-28 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Rubber-stamped by Darin Adler.
-
- https://bugs.webkit.org/show_bug.cgi?id=17261
-
- Remove the urlIcon.png from the project and the resource file. Remove
- the usage of this icon from WebKitDLL.cpp and change WebIconDatabase
- to get the icon from the IconDatabase code which is using a version of
- the icon that is compiled into the code.
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::getOrCreateDefaultIconBitmap): Use the icon from the
- IconDatabase.cpp
- * WebKit.vcproj/WebKit.rc: Remove urlIcon.cpp
- * WebKit.vcproj/urlIcon.png: Removed.
- * WebKitDLL.cpp:
- (loadResourceIntoBuffer): Remove "urlIcon"
-
-2008-08-27 Alice Liu <alice.liu@apple.com>
-
- Add interface for obtaining JS object counts broken down by type
-
- Reviewed by Steve Falkenburg.
-
- * Interfaces/IWebCoreStatistics.idl:
- * WebCoreStatistics.cpp:
- (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
- * WebCoreStatistics.h:
-
-2008-08-27 Ada Chan <adachan@apple.com>
-
- Fixed build.
-
- * WebFrame.cpp:
- (WebFrame::pluginWillHandleLoadError):
-
-2008-08-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- <rdar://problem/6134133> - Crash when loading large movie as a standalone document
-
- * WebFrame.cpp:
- (WebFrame::pluginWillHandleLoadError):
- * WebFrame.h:
-
-2008-08-26 Alice Liu <alice.liu@apple.com>
-
- Implement COMPropertyBag::GetPropertyInfo
- and a variant setter for type int
-
- Reviewed by Anders Carlsson.
-
- * COMPropertyBag.h:
- (::GetPropertyInfo):
- * COMVariantSetter.h:
-
-2008-08-25 Adam Roben <aroben@apple.com>
-
- Fix an assertion when showing the Web Inspector
-
- Reviewed by Kevin McCullough.
-
- * WebCoreSupport/WebInspectorClient.cpp:
- (WebInspectorClient::attachWindow):
- (WebInspectorClient::detachWindow):
- Recent code changes have caused these functions to get called even
- when the window is already attached/detached, respectively. Handle
- this case gracefully instead of asserting something that is no longer
- true.
-
-2008-08-24 Beth Dakin <bdakin@apple.com>
-
- Reviewed by John Sullivan.
-
- Provide the excludeFromTextSearch SPI on Windows as well.
-
- * Interfaces/IWebFrame.idl:
- * WebFrame.cpp:
- (WebFrame::setExcludeFromTextSearch):
- * WebFrame.h:
-
-2008-08-24 Jon Honeycutt <jhoneycutt@apple.com>
-
- Cannot get the focused accessible object from the root object.
-
- AccessibleBase::get_AccFocus() checks whether the focused object is a
- child of the current object, but
- http://msdn.microsoft.com/en-us/library/ms696150(VS.85).aspx states that
- the result is the object itself, if it has focus, or a child object of
- the active window, not a child of the object.
-
- Reviewed by Sam Weinig.
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accFocus): Don't check whether the focused object
- is our child.
-
-2008-08-18 Jon Honeycutt <jhoneycutt@apple.com>
-
- Add SPI to make a Windows WebView transparent.
-
- Reviewed by Dan Bernstein.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::transitionToCommittedForNewPage): Call
- updateBackground() when a new frame is attached, matching the Mac.
- * WebFrame.cpp:
- (WebFrame::updateBackground): Propagate WebView transparency to ourself
- and our child frames.
- * WebFrame.h:
- * WebView.cpp:
- (WebView::WebView):
- (WebView::paintIntoBackingStore): Pass m_transparent when creating a
- GraphicsContext, so the context will be created with an alpha channel.
- (WebView::setTransparent):
- (WebView::transparent):
- * WebView.h:
-
-2008-08-12 Jon Honeycutt <jhoneycutt@apple.com>
-
- Add SPI to get a handle to the WebView's backing store bitmap.
-
- Reviewed by Dan Bernstein.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::backingStore):
- * WebView.h:
-
-2008-08-21 Jonas Klink <klinktech@gmail.com>
-
- Reviewed by Jon Honeycutt.
-
- Fix https://bugs.webkit.org/show_bug.cgi?id=20231
- Bug 20231: accNavigate: no screen element found in the specified direction should return S_FALSE
-
- Per <http://msdn.microsoft.com/en-us/library/ms696145(VS.85).aspx>, we should return S_FALSE
- from accNavigate if no screen element is found in the specified direction.
-
- * AccessibleBase.cpp:
- (AccessibleBase::accNavigate):
-
-2008-08-21 Jonas Klink <klinktech@gmail.com>
-
- Reviewed by Jon Honeycutt.
-
- Fix http://bugs.webkit.org/show_bug.cgi?id=20230
- Bug 20230: get_accState should be testing state on childObj
-
- Also initializes output parameter action to 0 in get_accDefaultAction.
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accState):
- (AccessibleBase::get_accDefaultAction):
-
-2008-08-20 Maxime Britto <britto@apple.com>
-
- Reviewed by Ada Chan.
-
- rdar://5259746
- Mouse events are sent to page while resizing window (affects Gmail)
- In the WebView, if the MouseEvent is located in the resize corner, we send it back to the UIDelegate and early return.
-
- * Interfaces/IWebUIDelegatePrivate.idl: Add a new method to the UIDelegate to send the resize message
- * WebView.cpp:
- (WebView::handleMouseEvent): If the mouse event is in the resize corner and our UIDelegate supports the message it sends the new message and early returns
-
-2008-08-19 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Geoff Garen.
-
- Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
-
- * WebCoreStatistics.cpp:
- (WebCoreStatistics::javaScriptObjectsCount):
- (WebCoreStatistics::javaScriptGlobalObjectsCount):
- (WebCoreStatistics::javaScriptProtectedObjectsCount):
- (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
- * WebJavaScriptCollector.cpp:
- (WebJavaScriptCollector::objectCount):
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
- * WebView.cpp:
- (WebView::stringByEvaluatingJavaScriptFromString):
-
-2008-08-19 Steve Falkenburg <sfalken@apple.com>
-
- Fix build.
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::jsValueToString):
-
-2008-08-14 Steve Falkenburg <sfalken@apple.com>
-
- Update cache capacities to match values used on Mac.
-
- Reviewed by Dan Bernstein.
-
- * WebView.cpp:
- (WebView::setCacheModel):
-
-2008-08-14 Sam Weinig <sam@webkit.org>
-
- Reviewed by Jon Honeycutt.
-
- Add WebView SPI to set HTMLTokenizer yielding parameters.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::setCustomHTMLTokenizerTimeDelay):
- (WebView::setCustomHTMLTokenizerChunkSize):
- * WebView.h:
-
-2008-08-13 Eric Seidel <eric@webkit.org>
-
- Attempt to fix the windows build, not review.
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::getOrCreateDefaultIconBitmap):
-
-2008-08-13 Ada Chan <adachan@apple.com>
-
- Implemented DOMHTMLElement::idName() and WebFrame::frameElement().
- Added IWebFrame::paintDocumentRectToContext() so we can paint a frame's
- content into a device context. Changed WebView::paintDocumentRectToContext()
- to call that WebFrame method.
-
- Reviewed by Adam Roben.
-
- * DOMHTMLClasses.cpp:
- (DOMHTMLElement::idName):
- * Interfaces/IWebFramePrivate.idl:
- * WebFrame.cpp:
- (WebFrame::paintDocumentRectToContext):
- (WebFrame::frameElement):
- * WebFrame.h:
- * WebView.cpp:
- (WebView::paintDocumentRectToContext):
-
-2008-08-12 Timothy Hatcher <timothy@apple.com>
-
- Add a stub for InspectorClient::setAttachedWindowHeight.
-
- * WebCoreSupport/WebInspectorClient.cpp:
- (WebInspectorClient::setAttachedWindowHeight): Add a FIXME to implement this.
- * WebCoreSupport/WebInspectorClient.h:
-
-2008-08-12 Adam Roben <aroben@apple.com>
-
- Export WTFLog in Debug builds
-
- Reviewed by John Sullivan.
-
- * WebKit.vcproj/WebKit_debug.def:
-
-2008-08-07 Steve Falkenburg <sfalken@apple.com>
-
- Delete backing stores before 5 second WM_TIMER fires if more than 2 are already queued.
-
- WM_TIMER-based timers can be starved if enough other events are keeping
- our message loop busy. This change prevents many backing store deletes from stacking
- up in this case.
-
- Reviewed by Geoff Garen.
-
- * WebView.cpp:
- (WebView::deleteBackingStore):
- (WebView::deleteBackingStoreSoon):
- (WebView::cancelDeleteBackingStoreSoon):
-
-2008-08-05 Ada Chan <adachan@apple.com>
-
- Add a getter for CFURLRequestRef in WebMutableURLRequest.
-
- Reviewed by Anders Carlsson.
-
- * Interfaces/IWebMutableURLRequestPrivate.idl:
- * WebMutableURLRequest.cpp:
- (WebMutableURLRequest::cfRequest):
- * WebMutableURLRequest.h:
-
-2008-08-05 Steve Falkenburg <sfalken@apple.com>
-
- Don't invalidate a WebView in the process of being closed when prefs change.
-
- Reviewed by Ada Chan.
-
- * WebView.cpp:
- (WebView::notifyPreferencesChanged):
-
-2008-08-04 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Steve Falkenburg.
-
- Fix CFDictionary leak
-
- * CFDictionaryPropertyBag.cpp:
- (CFDictionaryPropertyBag::Write):
- m_dictionary is a RetainPtr and should adopt the CF type created
-
-2008-08-02 Maxime Britto <britto@apple.com>
-
- Reviewed by Eric Seidel.
-
- These icons are copies from the resizers in WebCore/Ressources
-
- * ChangeLog:
- * WebKit.vcproj/WebKit.rc:
- * WebKit.vcproj/panEastCursor.png: Added.
- * WebKit.vcproj/panNorthCursor.png: Added.
- * WebKit.vcproj/panNorthEastCursor.png: Added.
- * WebKit.vcproj/panNorthWestCursor.png: Added.
- * WebKit.vcproj/panSouthCursor.png: Added.
- * WebKit.vcproj/panSouthEastCursor.png: Added.
- * WebKit.vcproj/panSouthWestCursor.png: Added.
- * WebKit.vcproj/panWestCursor.png: Added.
- * WebKit.vcproj/resource.h:
- * WebKitDLL.cpp:
- (loadResourceIntoBuffer):
-
-2008-08-01 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam Roben.
-
- Fix for <rdar://problem/6119382> Need to hook up WebFrame's
- disconnected frame API on Windows.
-
- * Interfaces/IWebFrame.idl:
- * WebFrame.cpp:
- (WebFrame::setIsDisconnected):
- * WebFrame.h:
-
-2008-08-01 Adam Roben <aroben@apple.com>
-
- Fix <rdar://6118733> REGRESSION (r35502): Crash when submitting any
- form
-
- Reviewed by Darin Adler.
-
- * COMPropertyBag.h:
- (COMPropertyBag::QueryInterface): Cast to an appropriate type before
- assigning into ppvObject.
-
-2008-07-31 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Get rid of FormValuesPropertyBag and use COMPropertyBag instead.
-
- * COMPropertyBag.h:
- Implement parts of IPropertyBag2.
- Currently just one method (CountProperties) is implemented.
-
- * WebCoreSupport/FormValuesPropertyBag.cpp: Removed.
- * WebCoreSupport/FormValuesPropertyBag.h: Removed.
-
- * WebFrame.cpp:
- (WebFrame::dispatchWillSubmitForm):
- Create a COMPropertyBag instead.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-07-31 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Jon.
-
- Tweak the names.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::createPlugin):
-
-2008-07-31 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Jon.
-
- <rdar://problem/5826110>
-
- Add a way for WebKit clients to embed custom content in web pages.
-
- * Interfaces/IWebEmbeddedView.idl: Added.
- New interface which an embedded view must implement.
-
- * Interfaces/IWebUIDelegatePrivate.idl:
- Add new UI delegate method for creating an embedded view.
-
- * Interfaces/WebKit.idl:
- Include IWebEmbeddedView.idl.
-
- * WebCoreSupport/EmbeddedWidget.cpp: Added.
- * WebCoreSupport/EmbeddedWidget.h: Added.
- Add EmbeddedWidget, a widget subclass which can hold an IWebEmbeddedView.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::createPlugin):
- Check if the UI delegate wants to create an embedded view.
-
- * WebKit.vcproj/WebKit.vcproj:
- Add EmbeddedWidget.{cpp|h}
-
-2008-07-31 Alexey Proskuryakov <ap@webkit.org>
-
- Rubber-stamped by Maciej.
-
- Eliminate JSLock (it was already disabled, removing the stub implementaion and all
- call sites now).
-
- * WebCoreStatistics.cpp:
- (WebCoreStatistics::javaScriptObjectsCount):
- (WebCoreStatistics::javaScriptGlobalObjectsCount):
- (WebCoreStatistics::javaScriptProtectedObjectsCount):
- (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
- * WebJavaScriptCollector.cpp:
- (WebJavaScriptCollector::objectCount):
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
- * WebView.cpp:
- (WebView::stringByEvaluatingJavaScriptFromString):
-
-2008-07-31 Jon Honeycutt <jhoneycutt@apple.com>
-
- Windows build fix.
-
- * WebURLResponse.cpp:
-
-2008-07-30 Mark Rowe <mrowe@apple.com>
-
- Windows build fix.
-
- * WebURLResponse.cpp: Don't include a header file that we just deleted.
-
-2008-07-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mitz.
-
- Use a COMPropertyBag instead of the HTTPHeaderPropertyBag.
-
- * HTTPHeaderPropertyBag.cpp: Removed.
- * HTTPHeaderPropertyBag.h: Removed.
- * WebURLResponse.cpp:
- (WebURLResponse::allHeaderFields):
-
-2008-07-30 Anders Carlsson <andersca@apple.com>
-
- Fix copyright years.
-
- * COMPropertyBag.h:
- * COMVariantSetter.h:
-
-2008-07-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam.
-
- More property bag work.
-
- * COMPropertyBag.h:
- (COMPropertyBag::COMPropertyBag):
- (::adopt):
- (::Read):
- * COMVariantSetter.h:
- (COMIUnknownVariantSetter::setVariant):
-
-2008-07-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam.
-
- Add COMPropertyBag, a simple template class that implements the IPropertyBag interface. All
- property bag values must be of the same type.
-
- The COMVariantSetter helpers are now in COMVariantSetter.h
-
- * COMEnumVariant.h:
- * COMPropertyBag.h: Added.
- * COMVariantSetter.h: Added.
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-07-30 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Adam Roben.
-
- Adding logging of COM class names and counts to facilitate
- investigating memory issues.
-
- * Interfaces/IWebKitStatistics.idl:
- * WebKitDLL.cpp:
- * WebKitDLL.h:
- * WebKitStatistics.cpp:
- (WebKitStatistics::comClassNameCounts):
- * WebKitStatistics.h:
-
-2008-07-29 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Geoff Garen.
-
- Fix WebDocumentLoader leak on Windows.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::createDocumentLoader):
- * WebDocumentLoader.cpp:
- (WebDocumentLoader::create):
- * WebDocumentLoader.h:
-
-2008-07-29 Adam Roben <aroben@apple.com>
-
- Export detachThread
-
- Reviewed by Geoff Garen.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
-
-2008-07-29 Adam Roben <aroben@apple.com>
-
- Export the new version of createThread
-
- Reviewed by Anders Carlsson.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
- Also moved the old version of createThread into the deprecated
- section.
-
-2008-07-26 Matt Lilek <webkit@mattlilek.com>
-
- Reviewed by Geoff Garen.
-
- Changes to accommodate newly named/signatured loading methods in WebCore.
-
- * WebCoreSupport/WebContextMenuClient.cpp:
- (WebContextMenuClient::searchWithGoogle):
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::loadURLIntoChild):
-
-2008-07-25 Adam Roben <aroben@apple.com>
-
- Try to fix the Windows build bot
-
- * WebKit.vcproj/WebKit.sln: Linearize the project dependencies. Each
- project now depends only on the project that should immediately
- precede it in the build. For the frameworks, this order makes sense.
- For the applications built on top of the frameworks, the order is
- arbitrary (but roughly follows the applications' complexity).
-
-2008-07-17 Adele Peterson <adele@apple.com>
-
- Reviewed by Adam.
-
- WebKit part of fix for <rdar://problem/5698672> Add drawing callback for a WebKit app to draw its own scrollbars
-
- Added a setting so an application can tell WebKit its going to draw custom scrollbars. Also added delegate methods for the actual painting.
-
- * Interfaces/IWebPreferences.idl: Added setShouldPaintCustomScrollbars and shouldPaintCustomScrollbars.
- * Interfaces/IWebScrollBarPrivate.idl: Moved types to WebScrollbarTypes.idl
- * Interfaces/IWebUIDelegate.idl: Added WebUIDelegate4 with new delegate methods, paintCustomScrollbar and paintCustomScrollCorner
- * Interfaces/WebKit.idl: Include new WebScrollbarTypes.idl
- * Interfaces/WebScrollbarTypes.idl: Added. Has types that the new delegate methods use.
- * WebCoreSupport/WebChromeClient.cpp:
- (WebChromeClient::paintCustomScrollbar): Added. Calls new delegate method and converts between WebCore types and types exported in WebScrollbarTypes.idl
- (WebChromeClient::paintCustomScrollCorner): Added. Calls new delegate method.
- (WebChromeClient::uiDelegate4): Added.
- * WebCoreSupport/WebChromeClient.h:
- * WebPreferenceKeysPrivate.h: Added WebKitPaintCustomScrollbarsPreferenceKey
- * WebPreferences.cpp:
- (WebPreferences::): Added.
- (WebPreferences::shouldPaintCustomScrollbars): Added.
- * WebPreferences.h:
- * WebView.cpp: (WebView::notifyPreferencesChanged):
-
-2008-07-15 Adam Roben <aroben@apple.com>
-
- Add WebKit[Set]ShouldUseFontSmoothing functions
-
- <rdar://6059127>
-
- Reviewed by John Sullivan.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
- Export the new functions.
- * WebKitGraphics.cpp:
- (WebKitSetShouldUseFontSmoothing):
- (WebKitShouldUseFontSmoothing):
- Call through to the relevant WebCore functions.
- * WebKitGraphics.h:
-
-2008-07-14 Steve Falkenburg <sfalken@apple.com>
-
- Don't include autoversion.h in WebKitDLL.cpp.
- autoversion.h changes for every build, so we don't want to include it unless necessary.
-
- Rubber stamped by Ada Chan.
-
- * WebKitDLL.cpp:
-
-2008-07-14 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * WebJavaScriptCollector.cpp:
- (WebJavaScriptCollector::objectCount): Updated to match
- -[WebCoreStatistics javaScriptsObjectCount].
-
-2008-07-14 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Geoff Garen.
-
- Eliminate per-thread JavaScript global data instance support and make arbitrary
- global data/global object combinations possible.
-
- * WebCoreStatistics.cpp:
- (WebCoreStatistics::javaScriptObjectsCount):
- (WebCoreStatistics::javaScriptGlobalObjectsCount):
- (WebCoreStatistics::javaScriptProtectedObjectsCount):
- (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
- Ask WebCore for its instance of JSGlobalData, now that it is not in per-thread storage.
-
-2008-07-11 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-07-10 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * WebKit.vcproj/Interfaces.vcproj:
-
-2008-07-10 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * WebKit.vcproj/resource.h: Revert some changes that VS made to this
- file in r35083.
-
-2008-07-09 Maxime Britto <britto@apple.com>
-
- Reviewed by Adele.
-
- Added the panning icon in the ressources.
- Its name is compass.png to make a difference with moveCursor.png (from the WebCore ressources)
-
- * ChangeLog:
- * WebKit.vcproj/WebKit.rc:
- * WebKit.vcproj/panIcon.png: Added.
- * WebKit.vcproj/resource.h:
- * WebKitDLL.cpp: Declared the new ressource with the name "panIcon"
- (loadResourceIntoBuffer):
-
-2008-07-02 Dan Bernstein <mitz@apple.com>
-
- - try to fix the Windows build
-
- * WebScriptCallFrame.cpp:
-
-2008-07-01 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- Disable JSLock for per-thread contexts.
-
- * WebCoreStatistics.cpp:
- (WebCoreStatistics::javaScriptObjectsCount):
- (WebCoreStatistics::javaScriptGlobalObjectsCount):
- (WebCoreStatistics::javaScriptProtectedObjectsCount):
- (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
- * WebView.cpp:
- (WebView::stringByEvaluatingJavaScriptFromString):
- Pass a parameter (false) to JSLock to indicate that WebKit doesn't need locking.
- Include JSLock.h, as it is no longer brought in implicitly.
-
-2008-06-27 Adam Roben <aroben@apple.com>
-
- Change WebKitGraphics truncation functions to return the length of the
- truncated string
-
- Reviewed by Darin Adler.
-
- * WebKitGraphics.cpp:
- (CenterTruncateStringToWidth):
- (RightTruncateStringToWidth):
- Return the length.
- * WebKitGraphics.h:
- The truncation functions now return an unsigned int that is the length
- of the truncated string. The whole file has been marked extern "C" to
- keep the symbols for these functions from changing (which would break
- nightly builds).
-
-2008-06-19 Alexey Proskuryakov <ap@webkit.org>
-
- Windows build fix.
-
- * WebJavaScriptCollector.cpp: Added a missing include.
-
-2008-06-17 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- Prepare JavaScript heap for being per-thread.
-
- * WebCoreStatistics.cpp:
- (WebCoreStatistics::javaScriptObjectsCount):
- (WebCoreStatistics::javaScriptGlobalObjectsCount):
- (WebCoreStatistics::javaScriptProtectedObjectsCount):
- (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
- * WebJavaScriptCollector.cpp:
- (WebJavaScriptCollector::objectCount):
- Use JSGlobalData::threadInstance()->heap instead of static Collector calls.
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString): Pass ExecState* where
- now required.
-
-2008-06-16 Alexey Proskuryakov <ap@webkit.org>
-
- Trying to fix Windows build.
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::variableNames):
- (WebScriptCallFrame::valueForVariable):
- Give ExecState to functions that now take it.
-
-2008-06-16 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * WebScriptCallFrame.cpp: Fixed a header name.
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- - give Frame object functions shorter names: scriptProxy() -> script(),
- selectionController() -> selection(), animationController() -> animation()
-
- * WebFrame.cpp:
- (WebFrame::globalContext):
- (WebFrame::windowObjectCleared):
- * WebView.cpp:
- (WebView::handleContextMenuEvent):
- (WebViewWndProc):
- (WebView::updateFocusedAndActiveState):
- (WebView::hasSelectedRange):
- (WebView::replaceSelectionWithText):
- (WebView::clearSelection):
- (WebView::prepareCandidateWindow):
- (WebView::onIMERequestCharPosition):
- (WebView::onIMERequestReconvertString):
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- - rename KJS::List to KJS::ArgList
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- - new names for a few key JavaScriptCore files
-
- * WebView.cpp:
-
-2008-06-15 Darin Adler <darin@apple.com>
-
- Rubber stamped by Sam.
-
- - use JS prefix and simpler names for basic JavaScriptCore types,
- to complement JSValue and JSObject
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::functionName):
-
-2008-06-15 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Oliver.
-
- - fix WebKit solution for testkjs --> jsc rename
-
- * WebKit.vcproj/WebKit.sln:
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- Rubber stamped by Sam.
-
- - new names for kjs_binding.h and kjs_proxy.h
-
- * WebFrame.cpp:
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- Rubber stamped by Sam.
-
- - renamed HTMLGenericFormElement to HTMLFormControlElement
-
- * WebFrame.cpp:
- (WebFrame::elementWithName):
- (WebFrame::controlsInForm):
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- - try to fix Windows build, again
-
- * WebFrame.cpp:
- (WebFrame::dispatchDecidePolicyForNewWindowAction): Fix arguments. Pass form.
- (WebFrame::dispatchDecidePolicyForNavigationAction): Ditto.
- * WebFrame.h: Fix arguments.
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- - try to fix Windows build
-
- * WebActionPropertyBag.cpp:
- (WebActionPropertyBag::Read): Use IDOMNode, not IHTMLFormElement.
- * WebFrame.h: Added missing FormState arguments.
- * WebScrollBar.cpp:
- (WebScrollBar::init): Use create instead of new.
-
-2008-06-14 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - more of https://bugs.webkit.org/show_bug.cgi?id=17257
- start ref counts at 1 instead of 0 for speed
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::createFrame): Remove now-obsolete adoptRef that was balanced by
- a ref call inside the Frame constructor. The lifetime rules for Frame are now the
- conventional ones without a special case.
-
- * WebFrame.cpp:
- (WebFrame::init): Renamed function from initWithWebFrameView and removed the unused
- IWebFrameView argument (every caller was passing 0). Also changed this to return the
- WebCore Frame object, which is needed to straighten out the lifetime and ownership
- issues.
- * WebFrame.h: Ditto.
-
- * WebView.cpp:
- (WebView::initWithFrame): Changed to call new init function and use the return value.
-
-2008-06-13 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - updated for addition of FormState argument to action policy functions
- - added WebActionFormKey
-
- * Interfaces/IWebPolicyDelegate.idl:
- * WebActionPropertyBag.cpp:
- (WebActionPropertyBag::WebActionPropertyBag):
- (WebActionPropertyBag::createInstance):
- (WebActionPropertyBag::AddRef):
- (WebActionPropertyBag::Release):
- (WebActionPropertyBag::Read):
- * WebActionPropertyBag.h:
- * WebFrame.cpp:
- (WebFrame::dispatchDecidePolicyForNewWindowAction):
- (WebFrame::dispatchDecidePolicyForNavigationAction):
-
-2008-06-07 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - work on https://bugs.webkit.org/show_bug.cgi?id=17257
- start ref counts at 1 instead of 0 for speed
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::createInstance):
- (WebHistoryItem::initFromDictionaryRepresentation):
- (WebHistoryItem::initWithURLString):
-
-2008-05-30 Steve Falkenburg <sfalken@apple.com>
-
- Registry-free COM.
-
- WebKit no longer requires COM registration.
- Registry-free COM information is read from the application manifest.
-
- Only 1 set of CLSIDs are now used, since we don't need to worry about registry collisions.
- The second set remains, but only temporarily so nightlies continue to work.
-
- This is supported for XPSP2 and later. Earlier systems require an installer
- to write the required registry keys. Nightlies and developer builds require
- XPSP2, Server 2003, or later.
-
- Reviewed by Adam.
-
- * ForEachCoClass.cpp: Moved COM registration code here from WebKitDLL.cpp. This is ONLY used in the nightly case.
- (substituteGUID): Moved here from WebKitDLL.cpp.
- (registerWebKit): Moved here from WebKitDLL.cpp.
- (setUseOpenSourceWebKit): Call registerWebKit instead of swapping progids. There is only 1 set of progids now - for the nightly.
- * ForEachCoClass.h: Removed production progids.
- * Interfaces/WebKit.idl: Added prototype for shutDownWebKit.
- * WebKit.vcproj/Interfaces.vcproj: Changed path to type library to move it out of project directory.
- * WebKit.vcproj/WebKit.vcproj: Changed path to type library to move it out of project directory.
- * WebKitDLL.cpp:
- (DllUnregisterServer): Does nothing. Entry point is still present for backward compatibility.
- (DllRegisterServer): Does nothing. Entry point is still present for backward compatibility.
- (RunAsLocalServer): Does nothing. Entry point is still present for backward compatibility.
- (shutDownWebKit): Moved from ForEachCoClass.
- * WebKitDLL.h:
-
-2008-05-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Brady.
-
- <rdar://problem/5970312>
- icon file specified for stand alone web app causes crash if the icon can't be found
-
- Handle the case where iconData is null.
-
- * WebIconFetcher.cpp:
- (WebIconFetcherClient::finishedFetchingIcon):
-
-2008-05-22 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Add IWebIconFetcher interface and implementation.
-
- * Interfaces/IWebFramePrivate.idl:
- * Interfaces/IWebIconFetcher.idl: Added.
- * Interfaces/WebKit.idl:
- * WebFrame.cpp:
- * WebFrame.h:
- * WebIconFetcher.cpp: Added.
- * WebIconFetcher.h: Added.
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-05-22 Adam Roben <aroben@apple.com>
-
- Add functions to IWebInspector to start/stop profiling/debugging
-
- <rdar://5956403>
-
- Reviewed by Jon Honeycutt.
-
- * Interfaces/IWebInspector.idl:
- * WebInspector.cpp:
- (WebInspector::isDebuggingJavaScript):
- (WebInspector::toggleDebuggingJavaScript):
- (WebInspector::isProfilingJavaScript):
- (WebInspector::toggleProfilingJavaScript):
- * WebInspector.h:
-
-2008-05-22 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * Interfaces/IWebInspector.idl:
- * Interfaces/WebKit.idl:
- * WebInspector.cpp:
- (WebInspector::unused1):
- * WebInspector.h:
-
-2008-05-22 Timothy Hatcher <timothy@apple.com>
-
- Changes to keep Windows building.
-
- <rdar://problem/5956403> Update the Develop menu to match the new Inspector items
-
- Reviewed by Adam Roben.
-
- * English.lproj/Localizable.strings: Added new strings.
- * WebInspector.cpp:
- (WebInspector::showConsole): Call showPanel.
- * WebInspector.h:
-
-2008-05-21 Adele Peterson <adele@apple.com>
-
- Reviewed by Adam.
-
- WebKit part of for <rdar://problem/5787733> fast/dom/HTMLDocument/hasFocus.html fails on Windows
-
- * WebCoreSupport/WebChromeClient.cpp:
- (WebChromeClient::focus): Call updateActiveState directly.
- Normally this would happen on a timer, but JS might need to know this earlier, so we'll update here.
- (WebChromeClient::unfocus): ditto.
- * WebView.cpp: (WebView::updateActiveStateSoon): Added comment about why we use a timer for this.
-
-=== End merge of squirrelfish ===
-
-2008-05-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Updated for new JS debugging APIs.
-
- * WebScriptDebugServer.cpp:
- (WebScriptDebugServer::didParseSource):
- (WebScriptDebugServer::failedToParseSource):
- * WebScriptDebugServer.h:
-
-2008-05-09 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Geoff.
-
- Build fixes for SquirrelFish on windows.
-
- * WebScriptCallFrame.cpp:
- (callingFunctionOrGlobalExecState):
- (WebScriptCallFrame::caller):
- (WebScriptCallFrame::functionName):
- (WebScriptCallFrame::variableNames):
- (WebScriptCallFrame::valueForVariable):
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
- * WebScriptDebugServer.cpp:
- (WebScriptDebugServer::willLeaveCallFrame):
-
-2008-05-19 Adam Roben <aroben@apple.com>
-
- Make WebKit.idl rebuild whenever any of its included interfaces are
- changed
-
- Reviewed by Tim Hatcher.
-
- * WebKit.vcproj/DerivedSources.make: Touch WebKit.idl whenever any
- other IDL file is changed. This will force VS to rebuild WebKit.idl.
-
-2008-05-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/5946454>
- Support navigator.onLine from HTML5.
-
- Link with iphlpapi.lib, and make iphlpapi.dll a delay loaded library.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-=== Start merge of squirrelfish ===
-
-2008-05-19 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin, Alexey, Jess and Brady.
-
- Set the application cache path.
-
- * WebView.cpp:
- (WebKitSetApplicationCachePathIfNecessary):
- New function that sets the cache path.
-
- (WebView::initWithFrame):
- Set the application cache path.
-
-2008-05-19 Ada Chan <adachan@apple.com>
-
- Added IWebCookieManager interface which allows client to set the
- CFHTTPCookieStorageRef that WebCore should use.
-
- Implement IWebCookieManager interface in WebCookieManager.
-
- Update the cookie accept policy in the current cookie storage.
-
- Reviewed by Steve Falkenburg.
-
- * ForEachCoClass.h:
- * Interfaces/IWebCookieManager.idl: Added.
- * Interfaces/WebKit.idl:
- * WebCookieManager.cpp: Added.
- (WebCookieManager::createInstance):
- (WebCookieManager::WebCookieManager):
- (WebCookieManager::~WebCookieManager):
- (WebCookieManager::QueryInterface):
- (WebCookieManager::AddRef):
- (WebCookieManager::Release):
- (WebCookieManager::cookieStorage):
- (WebCookieManager::setCookieStorage):
- * WebCookieManager.h: Added.
- * WebKit.vcproj/WebKit.vcproj:
- * WebKitClassFactory.cpp:
- * WebView.cpp:
- (updateSharedSettingsFromPreferencesIfNeeded):
-
-2008-05-16 Stephanie Lewis <slewis@apple.com>
-
- Reviewed by Steve.
-
- Get pending unload event count from WebCore.
-
- * Interfaces/IWebFramePrivate.idl:
- * WebFrame.cpp:
- (WebFrame::pendingFrameUnloadEventCount):
- * WebFrame.h:
-
-2008-05-16 Matt Lilek <webkit@mattlilek.com>
-
- Rubber stamped by Oliver.
-
- Remove the Drosera sub-project.
-
- * WebKit.vcproj/WebKit.sln:
-
-2008-05-16 Brady Eidson <beidson@apple.com>
-
- Reviewed by Steve Falkenburg
-
- <rdar://problem/5942624> - Get LocalStorage persistence working on Windows
-
- * WebPreferenceKeysPrivate.h: Add the LocalStorageDirectory defaults key
-
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings):
- (WebPreferences::localStorageDatabasePath):
- (WebPreferences::setLocalStorageDatabasePath):
- * WebPreferences.h:
- * Interfaces/IWebPreferencesPrivate.idl:
-
- * WebView.cpp:
- (WebView::initWithFrame): Set the path in the WebCore::Settings after new Page creation
-
-2008-05-06 Brady Eidson <beidson@apple.com>
-
- Reviewed by Tim Hatcher
-
- Until the settings/preferences equation can be reworked, we'll need to manually set the local storage path
- before setting the page group of the new page.
-
- Since I still need to add the local storage path to WebPreferences on Windows, mark this with a FIXME for now.
-
- * WebView.cpp:
- (WebView::initWithFrame): Mark an important FIXME for setting the LocalStorage path as
- appropriate. Until this FIXME is handled, Windows will have no persistent LocalStorage
-
-2008-05-14 Adam Roben <aroben@apple.com>
-
- Fix Bug 18767: Inspector is currently pretty much useless on Windows
-
- <https://bugs.webkit.org/show_bug.cgi?id=18767>
-
- Reviewed by Tim Hatcher.
-
- * WebCoreSupport/WebInspectorClient.cpp:
- (WebInspectorClient::highlight): Only move the highlight behind the
- Inspector window when first creating the highlight, not every time we
- update it.
-
-2008-05-13 Adam Roben <aroben@apple.com>
-
- Neuter WebScriptDebugServer
-
- Some upcoming changes to JavaScriptDebugServer and
- JavaScriptDebugListener will break WebScriptDebugServer. Since Drosera
- is being replaced by the Inspector's debugger, and Drosera is the only
- client of WebScriptDebugServer, it makes more sense to get rid of
- WebScriptDebugServer than to update it to keep it working.
-
- We can't actually remove WebScriptDebugServer entirely yet, so I've
- just made it non-functional. This will completely break Drosera, but
- as stated above, Drosera's days are numbered anyway.
-
- Reviewed by Tim Hatcher and Kevin McCullough.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::dispatchDidLoadMainResource): Removed all code
- in this function.
- * WebKitDLL.cpp:
- (LocalServerDidDie): Ditto.
- * WebScriptDebugServer.cpp: Made all IWebScriptDebugServer functions
- return E_NOTIMPL.
- * WebScriptDebugServer.h: Removed everything but the
- IWebScriptDebugServer functions.
-
-2008-05-12 Dan Bernstein <mitz@apple.com>
-
- - build fix
-
- * Interfaces/WebKit.idl: Touched.
-
-2008-05-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Ada Chan.
-
- - WebKit/win changes for https://bugs.webkit.org/show_bug.cgi?id=17097
- <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
-
- Added font cache statistics and a function to purge inactive font data.
-
- * Interfaces/IWebCoreStatistics.idl:
- * WebCoreStatistics.cpp:
- (WebCoreStatistics::cachedFontDataCount):
- (WebCoreStatistics::cachedFontDataInactiveCount):
- (WebCoreStatistics::purgeInactiveFontData):
- (WebCoreStatistics::glyphPageCount):
- * WebCoreStatistics.h:
-
-2008-05-12 Adam Roben <aroben@apple.com>
-
- Build fix
-
- * WebKitPrefix.cpp: Touch this so that it will rebuild after
- ENABLE_CROSS_DOCUMENT_MESSAGING was removed.
-
-2008-05-12 Alexey Proskuryakov <ap@webkit.org>
-
- Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify
- SquirrelFish merging.
-
- * WebCoreStatistics.cpp:
- (WebCoreStatistics::javaScriptObjectsCount):
- (WebCoreStatistics::javaScriptGlobalObjectsCount):
- (WebCoreStatistics::javaScriptProtectedObjectsCount):
- (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
- * WebJavaScriptCollector.cpp:
- (WebJavaScriptCollector::objectCount):
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
-
-2008-05-09 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam Roben
-
- Fix a hang-on-quit bug where in the DLL_PROCESS_DETACH DllMain callback, we assummed that
- we could cleanly shutdown WebKit but we couldn't because any background threads have already
- been uncleanly aborted at that point.
-
- * ForEachCoClass.cpp:
- (shutDownWebKit): Moved from WebKitDLL to here, to be exposed via WebKit.def
- * ForEachCoClass.h:
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
-
- * WebKitDLL.cpp:
- (DllMain): Don't call shutDownWebKit here
-
-2008-05-09 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Mark Rowe.
-
- Remove the ENABLE_CROSS_DOCUMENT_MESSAGING #ifdefs.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-05-09 Adam Roben <aroben@apple.com>
-
- Build fix
-
- * Interfaces/WebKit.idl: Touched.
-
-2008-05-06 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Adele Peterson and John Sullivan.
-
- changes needed to build on Windows after r32911 and r32927
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accParent):
- * AccessibleDocument.cpp:
- (AccessibleDocument::document):
-
-2008-05-06 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin Adler
-
- Preparation for upcoming work making LocalStorage persistent.
-
- When the application terminates, all LocalStorage areas must be sync'ed out to disk first.
-
- * WebKitDLL.cpp:
- (shutDownWebKit): Close all LocalStorage areas before quitting.
-
-2008-05-05 Anders Carlsson <andersca@apple.com>
-
- Reviewed by John.
-
- Add preference for enabling the offline web application cache.
-
- * Interfaces/IWebPreferencesPrivate.idl:
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings):
- (WebPreferences::setOfflineWebApplicationCacheEnabled):
- (WebPreferences::offlineWebApplicationCacheEnabled):
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::notifyPreferencesChanged):
-
-2008-05-05 Sam Weinig <sam@webkit.org>
-
- Reviewed by Tim Hatcher.
-
- Make the Inspector's localizable strings file match the format used by Dashboard widgets.
-
- * WebCoreSupport/WebInspectorClient.cpp:
- (WebInspectorClient::localizedStringsURL):
-
-2008-05-05 Steve Falkenburg <sfalken@apple.com>
-
- Add WebPreference for application chrome mode.
-
- Reviewed by Dave Hyatt.
-
- * Interfaces/IWebPreferencesPrivate.idl:
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings):
- (WebPreferences::inApplicationChromeMode):
- (WebPreferences::setApplicationChromeMode):
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::notifyPreferencesChanged):
-
-2008-05-02 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Geoffrey Garen.
-
- https://bugs.webkit.org/show_bug.cgi?id=18826
- Make JavaScript heap per-thread
-
- * WebCoreStatistics.cpp:
- (WebCoreStatistics::javaScriptObjectsCount):
- (WebCoreStatistics::javaScriptGlobalObjectsCount):
- (WebCoreStatistics::javaScriptProtectedObjectsCount):
- (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
- * WebJavaScriptCollector.cpp:
- (WebJavaScriptCollector::objectCount):
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
- Replaced static Collector calls with calls to a current thread's instance. Pass ExecState to jsString().
-
-2008-04-29 Ada Chan <adachan@apple.com>
-
- Support text shadow in WebDrawText().
- Remove DrawTextAtPoint() since it is only called by WebDrawText().
-
- Reviewed by Adam.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
- * WebKitGraphics.cpp:
- (WebDrawText):
- * WebKitGraphics.h:
-
-2008-04-29 Adam Roben <aroben@apple.com>
-
- Restore the beloved COMPtr::operator&
-
-2008-04-29 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- Replaced uses of COMPtr::operator& with COMPtr::adoptionPointer.
-
-2008-04-29 Adam Roben <aroben@apple.com>
-
- Fix a Windows build error
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::variableNames): Don't use ::adopt now that
- PropertyNameArray has no swap function.
-
-2008-04-28 Adam Roben <aroben@apple.com>
-
- Fix some Windows build errors in WebKit
-
- * Interfaces/WebKit.idl: Touched to force Interfaces to rebuild.
- * WebKitPrefix.cpp: Touched to force WebKit to rebuild.
-
-2008-04-25 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- Fix run-webkit-tests --threading
- and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
- Proxy server issue in Sunday's Nightly
-
- * WebView.cpp: (WebView::WebView): Initialize threading. Previously, this was only done from
- icon database code, which is not robust enough.
-
-2008-04-26 Adam Barth <hk9565@gmail.com>
-
- Reviewed by Adam Roben and Sam Weinig.
-
- Renamed "domain" method to "host" to match SecurityOrigin.
-
- * Interfaces/IWebSecurityOrigin.idl:
- * WebSecurityOrigin.cpp:
- (WebSecurityOrigin::host):
- * WebSecurityOrigin.h:
-
-2008-04-25 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Fix internal debug build.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-04-24 Dan Bernstein <mitz@apple.com>
-
- - build fix
-
- * WebView.cpp:
- (WebView::handleContextMenuEvent):
-
-2008-04-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- Revert my previous change to WebKit/Win until I can make it act more like the new Mac code
-
- * WebView.cpp:
- (WebView::initWithFrame):
-
-2008-04-24 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam.
-
- Change some String arguments to be const references instead.
-
- * WebCoreSupport/WebEditorClient.cpp:
- (WebEditorClient::shouldInsertText):
- * WebCoreSupport/WebEditorClient.h:
-
-2008-04-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
- object before the Settings object is initialized. It seems quite prudent to post the preferences changed notification,
- thereby populating the Settings object, immediately after the Page is created.
-
- * WebView.cpp:
- (WebView::initWithFrame): Post the notification right after the Page is created
-
-2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Brady.
-
- Implement accDoDefaultAction().
-
- * AccessibleBase.cpp:
- (AccessibleBase::accDoDefaultAction): Call the object's
- performDefaultAction() method. Return S_FALSE if the call returns false,
- indicating that the object has no default action associated with it.
-
-2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Adam.
-
- Implement accHitTest().
-
- * AccessibleBase.cpp:
- (AccessibleBase::accHitTest): Perform a hit test for a child object. If
- none is found, report whether the point was within our own bounding box.
-
-2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Adam and Darin.
-
- Implement accNavigate().
-
- * AccessibleBase.cpp:
- (AccessibleBase::accNavigate): This method navigates between elements,
- given a start point and a direction. The directions UP, DOWN, LEFT,
- RIGHT are not are not implemented, matching Mozilla and IE. The
- directions FIRSTCHILD and LASTCHILD are only allowed from self. NEXT and
- PREVIOUS are allowed from self or any of our children.
-
-2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Adam.
-
- Implement accLocation().
-
- * AccessibleBase.cpp:
- (AccessibleBase::accLocation): Report the screen coordinates for the
- object's bounding box.
-
-2008-04-23 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Adam, Darin, Oliver.
-
- Implement get_accDefaultAction().
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accDefaultAction): Report the result of calling the
- object's actionVerb method.
- * English.lproj/Localizable.strings: Updated with new strings.
- * WebCoreLocalizedStrings.cpp:
- (WebCore::AXButtonActionVerb): Return a localized string representing
- the object's default action.
- (WebCore::AXRadioButtonActionVerb): Same.
- (WebCore::AXTextFieldActionVerb): Same.
- (WebCore::AXCheckedCheckBoxActionVerb): Same
- (WebCore::AXUncheckedCheckBoxActionVerb): Same.
- (WebCore::AXLinkActionVerb): Same.
-
-2008-04-23 Daniel Zucker <zucker@wake3.com>
-
- Reviewed by Adam Roben.
-
- <https://bugs.webkit.org/show_bug.cgi?id=18468>
-
- * WebError.h: include RetainPtr.h to fix build errors in Cairo build
-
-2008-04-23 Daniel Zucker <zucker@wake3.com>
-
- Reviewed by Adam Roben.
-
- Move the location of #if USE(CFNETWORK) to fix a cairo/curl build error.
- <https://bugs.webkit.org/show_bug.cgi?id=18470>
-
- * WebError.cpp:
- (WebError::sslPeerCertificate):
-
-2008-04-22 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Adam.
-
- Implement get_accFocus().
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accRole): Remove redundant initialization;
- VariantInit does this.
- (AccessibleBase::get_accState): Same.
- (AccessibleBase::get_accSelection): Relocated next to accSelect().
- (AccessibleBase::get_accFocus): If the focused object is this object or
- a child of this object, report it. Otherwise, report VT_EMPTY.
-
-2008-04-22 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Sam.
-
- Implement get_accKeyboardShortcut().
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accKeyboardShortcut): Report the key combination
- that will perform the object's access key action, represented as a
- string.
-
-2008-04-19 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Darin Adler.
-
- Implement get_accHelp().
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accHelp): Report the result of calling the object's
- helpText() method.
-
-2008-04-19 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Darin Adler.
-
- Implement get_accState().
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accState):
-
-2008-04-21 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- Move collector main thread initialization from WebKit/win to KJS::initializeThreading.
-
- * WebView.cpp:
- (WebView::WebView):
-
-2008-04-18 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Darin Adler.
-
- Implement get_accRole().
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accRole): Report the result of role().
- (MSAARole): Added; returns the MSAA role for a WebCore role.
- (AccessibleBase::role): Return the MSAA role for the object's roleValue.
- * AccessibleBase.h: Add declaration for role().
-
-2008-04-18 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Darin Adler.
-
- Implement get_accName(), get_accValue(), get_accDescription(). Added
- virtual methods that accessible objects can override to customize the
- result.
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accName): Report result of name().
- (AccessibleBase::get_accValue): Report result of value().
- (AccessibleBase::get_accDescription): Report result of description().
- (AccessibleBase::name): Added; returns AccessibilityObject::title().
- (AccessibleBase::value): Added; returns
- AccessibilityObject::stringValue().
- (AccessibleBase::description): Added; returns
- AccessibilityObject::accessibilityDescription().
- * AccessibleBase.h: Added declarations for name(), value(), and
- description().
- * ChangeLog: Fix my misuse of "definition."
-
-2008-04-18 Jon Honeycutt <jhoneycutt@apple.com>
-
- Fix build after r32231.
-
- * WebFrame.cpp:
- (WebFrame::renderTreeAsExternalRepresentation): renderer() ->
- contentRenderer()
-
-2008-04-18 Jon Honeycutt <jhoneycutt@apple.com>
-
- Fix build after r32231.
-
- * WebView.cpp:
- (WebView::paintIntoBackingStore): renderer() -> contentRenderer()
- (WebView::elementAtPoint): Same.
-
-2008-04-18 Jon Honeycutt <jhoneycutt@apple.com>
-
- * AccessibleBase.cpp: Build fix for copy/paste error.
-
-2008-04-18 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Darin Adler.
-
- Implement IAccessible::get_accChild().
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accChild): Call getAccessibilityObjectForChild
- to find the AccessibilityObject for the VARIANT vChild. Get the
- AccessibilityObjectWrapper for the child, add a ref, and pass it back.
- (AccessibleBase::getAccessibilityObjectForChild): Added; finds the
- AccessibilityObject referred to by a VARIANT, or returns a COM error on
- failure.
- (AccessibleBase::wrapper): Added; returns the wrapper for the
- AccessibilityObject. Creates one if necessary.
- * AccessibleBase.h: Added declarations for wrapper() and
- getAccessibilityObjectForChild().
-
-2008-04-18 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Darin, Ollie.
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accChildCount): Implement get_accChildCount.
-
-2008-04-17 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Darin Adler.
-
- Implement IAccessible::get_accParent().
-
- * AccessibleBase.cpp:
- (AccessibleBase::get_accParent): Call AccessibleObjectFromWindow with
- OBJID_WINDOW. This will be handled by Windows to return the default
- accessible object for the WebView, because we only handle OBJID_CLIENT.
- * WebView.cpp:
- (WebView::AccessibleObjectFromWindow): Added; calls through to the
- AccessibleObjectFromWindow in the MSAA DLL.
- * WebView.h: Added declaration for AccessibleObjectFromWindow.
-
-2008-04-17 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Darin Adler.
-
- Return an AccessibleDocument when our root accessible object is queried
- for.
-
- * AccessibleDocument.cpp: Added; represents an AccessibilityObject that
- itself represents a Document.
- (AccessibleDocument::AccessibleDocument): Initialize AccessibleBase with
- the AccessibilityObject for this Document.
- * AccessibleDocument.h: Added.
- * WebFrame.cpp:
- (WebFrame::accessible): If m_accessible is 0, or if Document in this
- frame does not match the Document in the cached m_accessible object,
- create a new AccessibleDocument for this frame's Document.
- * WebFrame.h: Swap AccessibleBase.h for AccessibleDocument.h
- * WebKit.vcproj/WebKit.vcproj: Add AccessibleDocument.{h,cpp}
-
-2008-04-17 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Darin Adler.
-
- Respond to WM_GETOBJECT messages. Currently returns NULL.
-
- * WebFrame.cpp:
- (WebFrame::accessible): Added; will return the root accessible object
- for this frame.
- * WebFrame.h: Added declaration for accessible().
- * WebView.cpp:
- (WebViewWndProc): Handle WM_GETOBJECT messages by calling onGetObject().
- (WebView::onGetObject): Added; enables the AXObjectCache in WebCore,
- queries the top-level frame for its root accessible object, and loads
- the MSAA DLL and locates its LresultFromObject function. If calling
- LresultFromObject succeeds, it returns a reference to the accessible
- object to pass back to Windows. If not, we return false and let Windows
- handle the request through DefWindowProc.
- * WebView.h: Added declaration for onGetObject().
-
-2008-04-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- Don't clear the PageGroup on _close, as the WebCore::Page destructor already does this.
- No reason to do the work twice...
-
- * WebView.cpp:
- (WebView::close):
-
-2008-04-18 Adam Roben <aroben@apple.com>
-
- Update WebScriptDebugServer for JavaScriptDebugListener changes
-
- Reviewed by Tim Hatcher.
-
- * WebScriptDebugServer.cpp: Changed to use KJS::UString instead of
- WebCore::String.
- * WebScriptDebugServer.h: Ditto.
-
-2008-04-16 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Darin Adler.
-
- Add a base AccessibilityObject wrapper class. Currently just stubs all
- of the IAccessible methods.
-
- * AccessibleBase.cpp: Added. Implements IAccessible, and inherits from
- WebCore::AccessibilityObjectWrapper.
- (AccessibleBase::AccessibleBase): Set the object's wrapper to this
- instance.
- (AccessibleBase::~AccessibleBase):
- (AccessibleBase::createInstance): Create an instance of a wrapper for
- this AccessibilityObject.
- (AccessibleBase::QueryInterface):
- (AccessibleBase::Release):
- (AccessibleBase::get_accParent):
- (AccessibleBase::get_accChildCount):
- (AccessibleBase::get_accChild):
- (AccessibleBase::get_accName):
- (AccessibleBase::get_accValue):
- (AccessibleBase::get_accDescription):
- (AccessibleBase::get_accRole):
- (AccessibleBase::get_accState):
- (AccessibleBase::get_accHelp):
- (AccessibleBase::get_accKeyboardShortcut):
- (AccessibleBase::accSelect):
- (AccessibleBase::get_accFocus):
- (AccessibleBase::get_accSelection):
- (AccessibleBase::get_accDefaultAction):
- (AccessibleBase::accLocation):
- (AccessibleBase::accNavigate):
- (AccessibleBase::accHitTest):
- * AccessibleBase.h: Added.
- (AccessibleBase::AddRef):
- (AccessibleBase::put_accName):
- (AccessibleBase::put_accValue):
- (AccessibleBase::get_accHelpTopic):
- (AccessibleBase::GetTypeInfoCount):
- (AccessibleBase::GetTypeInfo):
- (AccessibleBase::GetIDsOfNames):
- (AccessibleBase::Invoke):
- (AccessibleBase::detach): Detach this wrapper from its object.
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-04-15 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-04-12 Matt Lilek <webkit@mattlilek.com>
-
- Not reviewed, build fix.
-
- * WebView.cpp:
- (WebView::paintDocumentRectToContext):
-
-2008-04-11 Steve Falkenburg <sfalken@apple.com>
-
- Fix caching typo.
-
- Made this code match the Mac.
-
- Reviewed by Mark Rowe.
-
- * WebView.cpp:
- (PreferencesChangedOrRemovedObserver::notifyPreferencesChanged):
-
-2008-04-11 Adam Roben <aroben@apple.com>
-
- * ForEachCoClass.h: Added a deprecation notice.
-
-2008-04-11 Adam Roben <aroben@apple.com>
-
- Fix Bug 18376: r31733 and 27 don't work w/Safari 3.1
-
- <https://bugs.webkit.org/show_bug.cgi?id=18376>
-
- Rubberstamped by Steve.
-
- * ForEachCoClass.h: Move post-3.1 classes to the end of the
- FOR_EACH_COCLASS macro so that pre-3.1 classes will be in the place
- Safari expects them to be. We will soon be deprecating
- setUseOpenSourceWebKit/progIDForClass because it is clearly very
- fragile.
-
-2008-04-10 Ada Chan <adachan@apple.com>
-
- Added WebCoreStatistics that provides stats on Javascript objects
- and IconDatabase.
-
- Changed WebCache::statistics() to additionally return xsl stylesheets data
- and data on live sizes and decoded sizes.
-
- Reviewed by Steve.
-
- * ForEachCoClass.h:
- * Interfaces/IWebCoreStatistics.idl: Added.
- * Interfaces/WebKit.idl:
- * WebCache.cpp:
- (WebCache::statistics):
- * WebCoreStatistics.cpp: Added.
- (WebCoreStatistics::WebCoreStatistics):
- (WebCoreStatistics::~WebCoreStatistics):
- (WebCoreStatistics::createInstance):
- (WebCoreStatistics::QueryInterface):
- (WebCoreStatistics::AddRef):
- (WebCoreStatistics::Release):
- (WebCoreStatistics::javaScriptObjectsCount):
- (WebCoreStatistics::javaScriptGlobalObjectsCount):
- (WebCoreStatistics::javaScriptProtectedObjectsCount):
- (WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
- (WebCoreStatistics::iconPageURLMappingCount):
- (WebCoreStatistics::iconRetainedPageURLCount):
- (WebCoreStatistics::iconRecordCount):
- (WebCoreStatistics::iconsWithDataCount):
- * WebCoreStatistics.h: Added.
- * WebKit.vcproj/WebKit.vcproj:
- * WebKitClassFactory.cpp:
-
-2008-04-09 Steve Falkenburg <sfalken@apple.com>
-
- Delete backing store (after a delay) when a WebView's top-level parent becomes inactive.
-
- Reviewed by Brady Eidson.
-
- * WebView.cpp:
- (WebView::windowReceivedMessage):
-
-2008-04-08 Adam Roben <aroben@apple.com>
-
- Export callOnMainThread from WebKit.dll
-
- Rubberstamped by Anders.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
-
-2008-04-08 Adam Roben <aroben@apple.com>
-
- Move callOnMainThread to WTF
-
- Reviewed by Alexey Proskuryakov.
-
- * WebIconDatabase.cpp: Updated #include
-
-2008-04-08 Steve Falkenburg <sfalken@apple.com>
-
- Add missing increment/decrement COM class counts to detect leaks.
-
- Reviewed by Adam Roben.
-
- * CFDictionaryPropertyBag.cpp:
- (CFDictionaryPropertyBag::CFDictionaryPropertyBag):
- (CFDictionaryPropertyBag::~CFDictionaryPropertyBag):
- * CFDictionaryPropertyBag.h:
- * HTTPHeaderPropertyBag.cpp:
- (HTTPHeaderPropertyBag::HTTPHeaderPropertyBag):
- (HTTPHeaderPropertyBag::~HTTPHeaderPropertyBag):
- * HTTPHeaderPropertyBag.h:
- * WebActionPropertyBag.cpp:
- (WebActionPropertyBag::WebActionPropertyBag):
- (WebActionPropertyBag::~WebActionPropertyBag):
- * WebDocumentLoader.cpp:
- (WebDocumentLoader::WebDocumentLoader):
- (WebDocumentLoader::~WebDocumentLoader):
- * WebDropSource.cpp:
- (WebDropSource::WebDropSource):
- (WebDropSource::~WebDropSource):
- * WebDropSource.h:
- * WebElementPropertyBag.cpp:
- (WebElementPropertyBag::WebElementPropertyBag):
- (WebElementPropertyBag::~WebElementPropertyBag):
- * WebTextRenderer.cpp:
- (WebTextRenderer::WebTextRenderer):
- (WebTextRenderer::~WebTextRenderer):
-
-2008-04-07 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Honeycutt
-
- ENABLE_DOM_STORAGE for Windows
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-04-04 Adam Roben <aroben@apple.com>
-
- Export some more WTF functions from WebKit.dll
-
- Reviewed by Alexey Proskuryakov.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
-
-2008-04-04 Steve Falkenburg <sfalken@apple.com>
-
- Only delete the backing store of background windows.
-
- Reviewed by Ada Chan.
-
- * WebView.cpp:
- (WebView::WebView):
- (WebView::deleteBackingStore):
- (WebView::paint): Added active check.
- (WebView::deleteBackingStoreSoon):
- (WebView::cancelDeleteBackingStoreSoon): Added.
- (WebView::active): Added.
- (WebView::updateActiveState): Moved active check code from here to active().
- * WebView.h:
-
-2008-04-04 Steve Falkenburg <sfalken@apple.com>
-
- Fix tooltip window leak.
-
- Explicitly call DestroyWindow on the tooltip.
- Destroying its parent won't destroy the tooltip, since it not a WS_CHILD style window.
-
- Reviewed by Ada Chan.
-
- * WebView.cpp:
- (WebView::~WebView):
-
-2008-04-04 Steve Falkenburg <sfalken@apple.com>
-
- Delete backing store after we go 5 seconds without a paint.
-
- Timer will be reset if a paint occurs, so this won't negatively impact performance.
-
- Reviewed by Ada Chan.
-
- * WebView.cpp:
- (WebView::paint): Call deleteBackingStoreSoon after paint.
- (WebViewWndProc): Add DeleteBackingStoreTimer.
- (WebView::deleteBackingStoreSoon): Added.
- * WebView.h: Add deleteBackingStoreSoon.
-
-2008-04-04 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5830598> Image file opened in the browser window shows "Localized String Not Found' in window's title bar instead file name
- Save WebCoreLocalizedStrings.cpp with UTF8 encoding.
- Changed the format string to take in integers.
-
- Reviewed by Dan.
-
- * English.lproj/Localizable.strings: Updated.
- * WebCoreLocalizedStrings.cpp:
- (WebCore::imageTitle):
-
-2008-04-03 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484
- font-weight does not properly support graded weights
-
- * DOMCoreClasses.cpp:
- (DOMElement::font): Updated for the change to FontDescription.
- * WebCoreSupport/WebDragClient.cpp:
- (dragLabelFont): Ditto.
- * WebKitGraphics.cpp:
- (makeFont): Ditto.
- * WebKitGraphics.h: Added a FIXME.
-
-2008-04-03 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/5835382> Calling window.open immediately after window.close can sometimes result in no window being created
-
- Group name tracking needs to happen using code in WebCore::Page, since it is more involved than
- just setting a string.
-
- Reviewed by Adam Roben.
-
- * WebView.cpp:
- (WebView::close): Add null check (found via code inspection).
- (WebView::initWithFrame): Store the group name directly in Page.
- (WebView::setGroupName): Store the group name directly in Page.
- (WebView::groupName): Retrieve the group name directly from Page.
- * WebView.h: Removed m_groupName
-
-2008-04-03 Simon Hausmann <hausmann@webkit.org>
-
- Reviewed by Mark Rowe.
-
- Roll out r31599 and r31605 again after discussion with Mark Rowe.
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::iconForURL):
-
-2008-04-03 Simon Hausmann <hausmann@webkit.org>
-
- Attempted build fix
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::iconForURL): Adjust to changed iconForPageURL
- signature
-
-2008-04-03 Ada Chan <adachan@apple.com>
-
- Allow WebArchive to be created via COM.
- Replaced IID_DOMNode with __uuidof(DOMNode).
-
- Reviewed by Adam and Steve.
-
- * DOMCoreClasses.cpp:
- (DOMNode::QueryInterface):
- (DOMNode::isSameNode):
- * DOMCoreClasses.h:
- * ForEachCoClass.h:
- * Interfaces/WebKit.idl:
- * WebArchive.cpp:
- (WebArchive::createInstance):
- * WebArchive.h:
- * WebKitClassFactory.cpp:
-
-2008-04-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Jon Honeycutt and Cake
-
- Hookup WebArchive API enough to be able to save the archive of a DOMNode
-
- * DOMCoreClasses.h: Add a GUID for DOMNode
-
- * Interfaces/IWebArchive.idl: Add initWithNode()
-
- * WebArchive.cpp:
- (WebArchive::initWithNode):
- (WebArchive::data): Actually return LegacyWebArchive-style data
- * WebArchive.h:
-
-2008-04-01 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam Roben
-
- Add empty implementations of WebArchive for future work
-
- * WebArchive.cpp: Added.
- (WebArchive::createInstance):
- (WebArchive::WebArchive):
- (WebArchive::~WebArchive):
- (WebArchive::QueryInterface):
- (WebArchive::AddRef):
- (WebArchive::Release):
- (WebArchive::initWithMainResource):
- (WebArchive::initWithData):
- (WebArchive::mainResource):
- (WebArchive::subResources):
- (WebArchive::subframeArchives):
- (WebArchive::data):
- * WebArchive.h: Added.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-03-29 Adam Roben <aroben@apple.com>
-
- Rename IWebViewPrivate::addAdditionalPluginPath to
- addAdditionalPluginDirectory
-
- Reviewed by Mitz Pettel.
-
- * Interfaces/IWebViewPrivate.idl:
- * Interfaces/WebKit.idl: Touched to make sure the Interfaces project
- rebuilds.
- * WebView.cpp:
- (WebView::addAdditionalPluginDirectory):
- * WebView.h:
-
-2008-03-26 Brent Fulgham <bfulgham@gmail.com>
-
- Reviewed by Adam Roben.
-
- Add necessary files and build commands to vcproj files to
- build a Curl-based Windows WebKit. For details, see
- http://bugs.webkit.org/show_bug.cgi?id=17985
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-03-25 Adam Roben <aroben@apple.com>
-
- Attempted build fix
-
- * WebKit.vcproj/WebKit.sln: Make testapi build after most other
- projects.
-
-2008-03-25 Adam Roben <aroben@apple.com>
-
- Fix Bug 18077: Integrate testapi.c into the Windows build
-
- <http://bugs.webkit.org/show_bug.cgi?id=18077>
-
- Reviewed by Steve Falkenburg.
-
- * WebKit.vcproj/WebKit.sln: Added testapi.vcproj to the solution.
-
-2008-03-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- Remove newly obsolete FrameLoaderClient methods
-
- * WebFrame.cpp:
- * WebFrame.h:
-
-2008-03-25 Darin Adler <darin@apple.com>
-
- Suggested by Adam.
-
- * Interfaces/WebKit.idl: Touch this file to make the Interface project rebuild.
-
-2008-03-21 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5810324> visitCount not updated in History.plist
- Call WebCore::HistoryItem::mergeAutoCompleteHints() in WebHistoryItem::mergeAutoCompleteHints().
-
- Reviewed by Steve.
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::mergeAutoCompleteHints):
- (WebHistoryItem::QueryInterface):
-
-2008-03-20 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Adam Roben.
-
- - make makeTextLarger() and zoomPageIn() do what they are supposed to do
-
- * WebView.cpp:
- (WebView::makeTextLarger): Changed call to canZoomIn() to zoomIn().
- (WebView::zoomPageIn): Ditto.
-
-2008-03-20 Dave Hyatt <hyatt@apple.com>
-
- Add full page zoom API for Windows WebKit.
-
- Reviewed by aroben
-
- * Interfaces/IWebView.idl:
- * WebView.cpp:
- (WebView::WebView):
- (WebView::setTextSizeMultiplier):
- (WebView::setPageSizeMultiplier):
- (WebView::setZoomMultiplier):
- (WebView::textSizeMultiplier):
- (WebView::pageSizeMultiplier):
- (WebView::zoomMultiplier):
- (WebView::canMakeTextLarger):
- (WebView::canZoomPageIn):
- (WebView::canZoomIn):
- (WebView::makeTextLarger):
- (WebView::zoomPageIn):
- (WebView::zoomIn):
- (WebView::canMakeTextSmaller):
- (WebView::canZoomPageOut):
- (WebView::canZoomOut):
- (WebView::makeTextSmaller):
- (WebView::zoomPageOut):
- (WebView::zoomOut):
- (WebView::canMakeTextStandardSize):
- (WebView::canResetPageZoom):
- (WebView::canResetZoom):
- (WebView::makeTextStandardSize):
- (WebView::resetPageZoom):
- (WebView::resetZoom):
- * WebView.h:
-
-2008-03-20 John Sullivan <sullivan@apple.com>
-
- * English.lproj/Localizable.strings:
- Brought this file up to date
-
-2008-03-19 Dan Bernstein <mitz@apple.com>
-
- - build fix
-
- * Interfaces/WebKit.idl: Touched.
-
-2008-03-19 Adam Roben <aroben@apple.com>
-
- Fix a couple of bugs where the node highlight would appear when it shouldn't
-
- There were at least two ways you could get the highlight to appear
- when it shouldn't:
- 1) Selecting a node in the Inspector while the inspected WebView was
- in a background tab.
- 2) Selecting a node in the Inspector, switching to another tab,
- closing the Inspector, then switching back to the inspected
- WebView's tab.
-
- This patch fixes the above two issues, and possibly others.
-
- show() and hide() are now private methods of WebNodeHighlight. They
- are replaced by a single public method,
- setShowsWhileWebViewIsVisible(bool). WebInspectorClient uses this to
- tell the highlight whether it should be showing when the inspected
- WebView is visible.
-
- Reviewed by John Sullivan.
-
- * WebCoreSupport/WebInspectorClient.cpp:
- (WebInspectorClient::highlight): If the highlight is already showing,
- it just needs to update since the highlighted node has changed. If the
- highlight is not showing, call setShowsWhileWebViewIsVisible(true) so
- that the highlight will show when the WebView is shown.
- (WebInspectorClient::hideHighlight): Changed to call
- setShowsWhileWebViewIsVisible(false) instead of hide().
- * WebNodeHighlight.cpp:
- (WebNodeHighlight::WebNodeHighlight): Initialize new member, and
- initialize m_inspectedWebViewWindow to its final value here instead of
- in show().
- (WebNodeHighlight::setShowsWhileWebViewIsVisible): Added. If we're not
- supposed to show ourselves when the WebView is visible, we hide
- ourselves and return. Otherwise, we make our visibility match the
- WebView's.
- (WebNodeHighlight::isWebViewVisible): Added.
- (WebNodeHighlight::show): Removed initialization of
- m_inspectedWebViewWindow (this is now done by our constructor). Added
- an assertion that we're supposed to show ourselves when the WebView is
- visible.
- (WebNodeHighlight::onWebViewShowWindow): If we shouldn't show
- ourselves when the WebView is visible, then we don't need to do
- anything at all when the WebView's visibility changes.
- * WebNodeHighlight.h:
-
-2008-03-19 Adam Roben <aroben@apple.com>
-
- Small WebNodeHighlight cleanup
-
- Renamed the following methods:
- visible() -> isShowing()
- updateWindow() -> update()
-
- Removed the window() method.
-
- Added a new method, placeBehindWindow(HWND), that moves the highlight
- overlay in the window z-order to be just behind the passed-in window.
- WebInspectorClient calls this instead of doing the move directly using
- the old window() method.
-
- Reviewed by John Sullivan.
-
- * WebCoreSupport/WebInspectorClient.cpp:
- (WebInspectorClient::attachWindow):
- (WebInspectorClient::detachWindow):
- (WebInspectorClient::highlight): Call placeBehindWindow instead of
- calling SetWindowPos directly.
- * WebNodeHighlight.cpp:
- (WebNodeHighlight::show):
- (WebNodeHighlight::isShowing):
- (WebNodeHighlight::placeBehindWindow): Added. Code came from
- WebInspectorClient::highlight.
- (WebNodeHighlight::onWebViewWindowPosChanged):
- (WebNodeHighlight::onRootWindowPosChanged):
- * WebNodeHighlight.h:
-
-2008-03-19 Ada Chan <adachan@apple.com>
-
- Added a method to paint WebView content specified by
- the document rect into a device context.
-
- Reviewed by Darin Adler.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::paintDocumentRectToContext):
- * WebView.h:
-
-2008-03-18 Brent Fulgham <bfulgham@gmail.com>
-
- Reviewed by Adam Roben.
-
- Provide some stub implementations for things that WebKit
- uses for performing authentication/challenge activities. This
- is in support of http://bugs.webkit.org/show_bug.cgi?id=17837
-
- * WebDataSource.cpp:
- * WebError.cpp: Conditionalize CFNetwork-specific logic
- * WebURLAuthenticationChallenge.cpp: Conditionalize constructor
- for authentication/challenge member.
- (WebURLAuthenticationChallenge::initWithAuthenticationChallenge):
- * WebURLResponse.cpp: Remove CFNetwork-specific logic.
- * WebURLResponse.h: Conditionalize CFNetwork-specific member.
- * WebView.cpp: Conditionalize CFNetwork-specific network protocol test.
- (WebView::canHandleRequest):
-
-2008-03-18 Adam Roben <aroben@apple.com>
-
- Focus the Inspector's WebView whenever the Inspector window is focused
-
- Reviewed by Mitz.
-
- * WebCoreSupport/WebInspectorClient.cpp:
- (WebInspectorClient::onSetFocus): Send focus to the WebView.
- (WebInspectorWndProc): Added a handler for WM_SETFOCUS.
- * WebCoreSupport/WebInspectorClient.h:
-
-2008-03-18 Adam Roben <aroben@apple.com>
-
- Fix Bug 14276: Element highlight also covers Web inspector
-
- <http://bugs.webkit.org/show_bug.cgi?id=14276>
- <rdar://5712796>
-
- Also fixes <rdar://5622837> Browser window comes to front when node
- highlight appears, potentially blocking Inspector
-
- Reviewed by Mitz.
-
- * WebCoreSupport/WebInspectorClient.cpp:
- (WebInspectorClient::highlight): After showing the highlight,
- reposition it just behind the Inspector's window.
- * WebNodeHighlight.cpp:
- (WebNodeHighlight::show):
- - Changed flags passed to CreateWindowEx to not specify WS_VISIBLE.
- This is not needed because we'll show the window later in this
- function.
- - Removed call to SetWindowPos that tried to position the overlay
- just in front of the WebView. This is now handled by
- WebInspectorClient.
- - Changed call to ShowWindow to use SetWindowPos so that we can pass
- SWP_NOACTIVATE. This prevents the highlight from jumping in front
- of the Inspector every time it's shown.
- * WebNodeHighlight.h: Added a method to get the highlight's HWND.
-
-2008-03-14 Steve Falkenburg <sfalken@apple.com>
-
- PGO build fixes.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-03-13 Adam Roben <aroben@apple.com>
-
- Another Windows build fix after r31034
-
- * WebKitDLL.cpp:
- (loadResourceIntoBuffer): Use SharedBuffer::create.
-
-2008-03-13 Adam Roben <aroben@apple.com>
-
- Windows build fix after r31034
-
- * WebFrame.cpp:
- (WebFrame::loadData): Use SharedBuffer::create.
- (WebFrame::loadHTMLString): Ditto.
-
-2008-03-13 Steve Falkenburg <sfalken@apple.com>
-
- More PGO build fixes.
-
- * WebKit.vcproj/WebKit.pgd: Removed.
- * WebKit.vcproj/WebKit.vcproj:
- * WebKitPrefix.cpp:
-
-2008-03-13 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Call originalRequest instead of initialRequest.
-
- * WebDataSource.cpp:
- (WebDataSource::initialRequest):
-
-2008-03-13 Steve Falkenburg <sfalken@apple.com>
-
- PGO build fixes.
-
- Disable PGO for normal release builds.
- Added work-in-progress Release_PGOInstrument/Release_PGOOptimize targets.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-03-12 Steve Falkenburg <sfalken@apple.com>
-
- Fix build.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-03-12 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5795843>
- CFURLDownload needs to be cancelled if we don't have a destination path
- to save resume information.
-
- Reviewed by Brady.
-
- * WebDownload.cpp:
- (WebDownload::cancelForResume):
-
-2008-03-12 David Hyatt <hyatt@apple.com>
-
- Make the zoom factor a float and not a percent.
-
- Reviewed by antti
-
- * WebFrame.cpp:
- (WebFrame::setTextSizeMultiplier):
-
-2008-03-12 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * WebKit.vcproj/WebKit.pgd:
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-03-12 Steve Falkenburg <sfalken@apple.com>
-
- Re-enabled PGO.
-
- Rubber stamped by Mark Rowe.
-
- * WebKit.vcproj/WebKit.pgd:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKitPrefix.cpp: touched this file to force a re-build.
-
-2008-03-12 Steve Falkenburg <sfalken@apple.com>
-
- Fix build.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-03-11 Steve Falkenburg <sfalken@apple.com>
-
- Use PGO to build WebKit.dll.
-
- Reviewed by Oliver.
-
- * WebKit.vcproj/WebKit.pgd: Added.
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-03-11 Brent Fulgham <bfulgham@gmail.com>
-
- Reviewed by Adam Roben.
-
- Enabled WinLauncher as part of normal Windows build.
- http://bugs.webkit.org/show_bug.cgi?id=17715.
-
- * WebKit.vcproj/WebKit.sln: Add WinLauncher to the set of things
- build during a Windows build.
-
-2008-03-11 Adam Roben <aroben@apple.com>
-
- Roll out r30961 since it broke the default site icon on Windows
-
- * WebKit.vcproj/WebKit.rc:
- * WebKit.vcproj/urlIcon.png: Renamed from WebCore/Resources/urlIcon.png.
- * WebKitDLL.cpp:
- (loadResourceIntoBuffer):
-
-2008-03-11 Holger Hans Peter Freyther <zecke@selfish.org>
-
- Reviewed by Darin Adler.
-
- r25512 inlined the urlIcon to improve the startup time of Safari on Mac. Inlining is
- not suitable for platforms where this icon is themable. E.g. the Qt platform is allowing
- to theme this icon and the Gtk+ platform will probably end up with themable icons
- as well.
-
- Remove dead code from the windows port and move the urlIcon from the windows
- directory to the Resource directory to be used by Qt and other ports.
-
- Ifdef the usage of the built-in icon in IconDatabase.cpp and for Qt do not use
- it. Gtk+ currently has no proper implementation of Image::loadPlatformResource but
- once it does it wants to use this for getting the urlIcon as well.
-
- * WebKit.vcproj/WebKit.rc:
- * WebKitDLL.cpp:
- (loadResourceIntoBuffer):
-
-2008-03-10 Eric Seidel <eric@webkit.org>
-
- No review, build fix only.
-
- Speculative fix for Windows build, use ::UChar instead of KJS::UChar
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::valueForVariable):
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
-
-2008-03-10 Steve Falkenburg <sfalken@apple.com>
-
- Fix build break caused by r30920.
-
- Serialize remaining dependent builds by adding dependencies.
- Visual Studio per-vcproj parallelization doesn't add a lot of value
- since so many of our builds are dependent - this just enforces that.
- We do our parallelization via pdevenv, which works much better.
-
- * WebKit.vcproj/WebKit.sln:
- * WebKit.vcproj/WebKit.submit.sln:
-
-2008-03-09 Steve Falkenburg <sfalken@apple.com>
-
- Stop Windows build if an error occurs in a prior project.
-
- Rubber stamped by Darin Adler.
-
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/InterfacesGenerated.vcproj:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
-
-2008-03-09 Adam Roben <aroben@apple.com>
-
- Make WebInspectorClient use WindowMessageBroadcaster instead of manual subclassing
-
- Reviewed by Darin Adler.
-
- * WebCoreSupport/WebInspectorClient.cpp:
- (WebInspectorClient::WebInspectorClient): Removed
- m_orignalWebViewWndProc member.
- (WebInspectorClient::attachWindow): Register as a listener with
- WindowMessageBroadcaster instead of subclassing.
- (WebInspectorClient::detachWindow): Deregister as a listener with
- WindowMessageBroadcaster instead of unsubclassing.
- (WebInspectorClient::windowReceivedMessage): Renamed from
- SubclassedWebViewWndProc. Also added a missing break statement after
- the call to onWebViewWindowPosChanging.
- * WebCoreSupport/WebInspectorClient.h:
-
-2008-03-09 Adam Roben <aroben@apple.com>
-
- Make the node highlight not obscure the tab bar when it first appears
-
- Reviewed by Darin Adler.
-
- * WebNodeHighlight.cpp:
- (WebNodeHighlight::onWebViewWindowPosChanged): Added. Listens for
- changes to the WebView's size and resizes the highlight window to
- match.
- (WebNodeHighlight::onRootWindowPosChanged): Added. Listens for changes
- to the WebView's root window's position and moves the highlight window
- to match.
- (WebNodeHighlight::windowReceivedMessage): Call
- onWebViewWindowPosChanged/onRootWindowPosChanged as appropriate.
- * WebNodeHighlight.h:
-
-2008-03-09 Adam Roben <aroben@apple.com>
-
- Fix Bug 14254: Inspector node highlight applied to all tabs
-
- <http://bugs.webkit.org/show_bug.cgi?id=14254>
- <rdar://problem/5322306>
-
- WebNodeHighlight now listens for the WM_SHOWWINDOW message being sent
- to the inspected WebView so that it can hide/show itself as the
- WebView is hidden/shown.
-
- Reviewed by Anders.
-
- * WebNodeHighlight.cpp:
- (WebNodeHighlight::~WebNodeHighlight): Remove ourselves as a listener
- for our inspected WebView's window's messages.
- (WebNodeHighlight::show): Add ourselves as a listener for our
- inspected WebView's window's messages.
- (WebNodeHighlight::onWebViewShowWindow): Added. Hide ourselves when
- the WebView hides, show ourselves when the WebView is shown.
- (WebNodeHighlight::windowReceivedMessage): Added a separate switch
- statement to handle the inspected WebView's window's messages.
- * WebNodeHighlight.h:
-
-2008-03-07 Brent Fulgham <bfulgham@gmail.com>
-
- Reviewed by Mark Rowe.
-
- Correct build intermediary output
- (http://bugs.webkit.org/show_bug.cgi?id=17713)
-
- * WebKit/win/WebKit.vcproj/WebKit.vcproj: Correct output and intermediary paths
-
-2008-03-07 Brent Fulgham <bfulgham@gmail.com>
-
- Reviewed by Adam Roben.
-
- Do not link (or attempt to initialize) the SafariTheme.dll
- when not building with USE(SAFARI_THEME) enabled.
- (http://bugs.webkit.org/show_bug.cgi?id=17707)
-
- * WebKit/win/WebKitClassFactory.cpp: Conditionalize use of SafariTheme.dll
-
-2008-03-07 Brent Fulgham <bfulgham@gmail.com>
-
- Reviewed by Steve Falkenburg.
-
- Update solution to understand Cairo build target. Add
- library dependencies for Cairo build target.
- (http://bugs.webkit.org/show_bug.cgi?id=17300)
-
- * WebKit.vcproj/WebKit.sln:
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-03-06 Adam Roben <aroben@apple.com>
-
- Change WebScriptDebugServer to use WebCore::JavaScriptDebugServer
-
- WebScriptDebugServer is now a JavaScriptDebugListener.
-
- Reviewed by Darin Adler.
-
- * WebScriptDebugServer.cpp:
- (WebScriptDebugServer::WebScriptDebugServer): Removed initialization
- of m_callingListeners member.
- (WebScriptDebugServer::addListener): Register as a listener with
- JavaScriptDebugServer if we've just added our first listener.
- (WebScriptDebugServer::removeListener): Deregister as a listener with
- JavaScriptDebugServer if we've just removed our last listener.
- (WebScriptDebugServer::didParseSource): Added. Code came from the old
- sourceParsed method. Removed m_callingListeners code because
- JavaScriptDebugServer guards against re-entry for us.
- (WebScriptDebugServer::failedToParseSource): Ditto.
- (WebScriptDebugServer::didEnterCallFrame): Ditto for callEvent.
- (WebScriptDebugServer::willExecuteStatement): Ditto for atStatement.
- (WebScriptDebugServer::willLeaveCallFrame): Ditto for
- willLeaveCallFrame.
- (WebScriptDebugServer::exceptionWasRaised): Ditto for exception.
- * WebScriptDebugServer.h: Changed to inherit from
- WebCore::JavaScriptDebugListener.
- * WebView.cpp:
- (WebView::initWithFrame): Removed call to
- WebScriptDebugServer::pageCreated. This is now handled by WebCore.
-
-2008-03-06 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - fix regression test failures and crashes from the visited-link change
-
- * WebCoreSupport/WebChromeClient.cpp:
- (WebChromeClient::populateVisitedLinks): Check for null before calling
- addVisitedLinksToPageGroup.
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::updateGlobalHistory): Ditto.
- * WebHistory.cpp:
- (WebHistory::setOptionalSharedHistory): Call PageGroup::setShouldTrackVisitedLinks
- to turn off visited links if there is no history object. Also call
- removeAllVisitedLinks so we can start over from scratch with the new history.
-
-2008-03-06 Matt Lilek <webkit@mattlilek.com>
-
- Reviewed by Adam Roben.
-
- Bug 17691: REGRESSION: FindSafari doesn't work
- http://bugs.webkit.org/show_bug.cgi?id=17691
-
- Swap my change from r30394 to use the Release libraries instead of Debug
- since some machines don't have the Debug version.
-
- * WebKit.vcproj/WebKit.sln:
-
-2008-03-06 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - fix http://bugs.webkit.org/show_bug.cgi?id=17526
- REGRESSION: iframes are added to Safari's History menu
- by separating the visited link machinery from global history
-
- * WebCoreSupport/WebChromeClient.cpp:
- (WebChromeClient::populateVisitedLinks): Added a call to the new
- WebHistory::addVisitedLinksToPageGroup function.
- * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks.
- Also fixed the webView function to be non-virtual.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::updateGlobalHistory): Changed to use the
- new WebHistory::addItem function.
- (WebFrameLoaderClient::webHistory): Changed to return a WebHistory*,
- there's no reason to AddRef the result from this function.
- * WebCoreSupport/WebFrameLoaderClient.h: Ditto.
-
- * WebHistory.cpp: Removed IWebHistoryPrivate and _WebCoreHistoryProvider.
- (WebHistory::QueryInterface): Removed IWebHistoryPrivate.
- (sharedHistoryStorage): Added.
- (WebHistory::sharedHistory): Added.
- (WebHistory::optionalSharedHistory): Changed to use sharedHistory().
- (WebHistory::setOptionalSharedHistory): Changed to require a WebHistory
- object, not just an IWebHistory.
- (WebHistory::removeAllItems): Call PageGroup::removeAllVisitedLinks.
- (WebHistory::addItem): Changed parameter types since this is called with
- arguments from WebCore -- at some point this could allow better efficiency.
- (WebHistory::removeItemForURLString): Call PageGroup::removeAllVisitedLinks
- if the last URL is being removed.
- (addVisitedLinkToPageGroup): Added. Helper. Adds a single link to a group's
- visited link set.
- (WebHistory::addVisitedLinksToPageGroup): Added. Adds all links to a group's
- visited link.
- * WebHistory.h: Removed IWebHistoryPrivate. Removed optionalSharedHistoryInternal
- and added sharedHistory. Replaced addItemForURL and containsItemForURLString with
- non-virtual addItem and addVisitedLinksToPageGroup functions.
-
-2008-03-05 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-03-04 Sam Weinig <sam@webkit.org>
-
- Reviewed by Mark Rowe.
-
- - Remove all unnecessary includes of JSDOMWindowBase.h, we prefer including
- JSDOMWindow.h
-
- * WebFrame.cpp:
-
-2008-03-04 Adam Roben <aroben@apple.com>
-
- WebScriptDebugServer cleanup
-
- Reviewed by Anders.
-
- * WebScriptDebugServer.cpp: Renamed m_callingServer to
- m_callingListeners.
- (WebScriptDebugServer::WebScriptDebugServer):
- (WebScriptDebugServer::sharedWebScriptDebugServer): Changed to keep
- the shared instance as a function-level static.
- (WebScriptDebugServer::didLoadMainResourceForDataSource): Made return
- void.
- (WebScriptDebugServer::sourceParsed):
- (WebScriptDebugServer::callEvent):
- (WebScriptDebugServer::atStatement):
- (WebScriptDebugServer::returnEvent):
- (WebScriptDebugServer::exception):
- (WebScriptDebugServer::serverDidDie): Made return void.
- * WebScriptDebugServer.h:
- - Removed unnecessary #includes
- - Made inheritance from KJS::Debugger private
- - Made some methods private
-
-2008-03-04 Adam Roben <aroben@apple.com>
-
- Remove WebScriptDebugger
-
- Reviewed by Anders.
-
- * WebKit.vcproj/WebKit.vcproj: Removed files from project.
- * WebScriptDebugServer.cpp:
- (frame): Moved here from WebScriptDebugger.cpp.
- (webFrame): Ditto.
- (webView): Ditto.
- (WebScriptDebugServer::WebScriptDebugServer): Initialize new member.
- * WebScriptDebugServer.h: Changed to inherit directly from
- KJS::Debugger instead of from WebScriptDebugger, and added
- m_callingServer member that WebScriptDebugger used to own.
- * WebScriptDebugger.cpp: Removed.
- * WebScriptDebugger.h: Removed.
-
-2008-03-04 Adam Roben <aroben@apple.com>
-
- Move sourceParsed to WebScriptDebugServer
-
- Reviewed by Anders.
-
- * WebScriptDebugServer.cpp:
- (WebScriptDebugServer::sourceParsed): Moved here from
- WebScriptDebugger and merged with didParseSource/failedToParseSource.
- * WebScriptDebugServer.h: Removed didParseSource/failedToParseSource.
- * WebScriptDebugger.cpp: Removed sourceParsed.
- * WebScriptDebugger.h: Ditto.
-
-2008-03-04 Adam Roben <aroben@apple.com>
-
- Move callEvent, returnEvent, and exception to WebScriptDebugServer
-
- Reviewed by Anders.
-
- * WebScriptDebugServer.cpp:
- (WebScriptDebugServer::callEvent): Moved here from WebScriptDebugger
- and merged with didEnterCallFrame.
- (WebScriptDebugServer::returnEvent): Ditto for willLeaveCallFrame.
- (WebScriptDebugServer::exception): Ditto for exceptionWasRaised.
- * WebScriptDebugServer.h: Removed didEnterCallFrame,
- willLeaveCallFrame, and exceptionWasRaised.
- * WebScriptDebugger.cpp: Removed callEvent, returnEvent, and
- exception.
- * WebScriptDebugger.h: Ditto.
-
-2008-03-04 Adam Roben <aroben@apple.com>
-
- Move atStatement to WebScriptDebugServer
-
- Reviewed by Anders.
-
- * WebScriptDebugServer.cpp:
- (WebScriptDebugServer::atStatement): Moved here and merged with the
- old willExecuteStatement method.
- * WebScriptDebugServer.h: Removed inheritance from
- IWebScriptDebugListener, which no one was relying on.
- * WebScriptDebugger.cpp:
- (webFrame): Made non-static.
- (webView): Ditto.
- * WebScriptDebugger.h: Added declarations of webFrame and webView
- methods for WebScriptDebugServer's benefit. Removed unused m_webView
- and m_frame members.
-
-2008-03-04 Adam Roben <aroben@apple.com>
-
- Start to merge WebScriptDebugger and WebScriptDebugServer
-
- WebScriptDebugServer now inherits from WebScriptDebugger.
-
- Reviewed by Anders.
-
- * WebScriptDebugServer.cpp:
- (WebScriptDebugServer::pageCreated): Use sharedWebScriptDebugServer
- instead of WebScriptDebugger::shared.
- (WebScriptDebugServer::addListener): Ditto.
- (WebScriptDebugServer::removeListener): Ditto.
- * WebScriptDebugServer.h: Changed to inherit from WebScriptDebugger.
- * WebScriptDebugger.cpp: Removed shared method.
- * WebScriptDebugger.h: Made constructor/destructor protected, and
- removed shared method.
-
-2008-03-04 Adam Roben <aroben@apple.com>
-
- Use WebCore's new debugger-attaching code
-
- Reviewed by Kevin M.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp: Moved a kit() function to
- WebView.{cpp,h} so that other files can call it.
- * WebFrame.cpp:
- (WebFrame::WebFrame): Removed m_scriptDebugger member.
- (WebFrame::windowObjectCleared): Removed attach/detach calls. This is
- no longer needed because WebScriptDebugger no longer stores any
- per-WebFrame state.
- * WebFrame.h:
- * WebScriptDebugServer.cpp:
- (WebScriptDebugServer::pageCreated): Added. Attaches our shared
- debugger to the Page if we have any listeners.
- (WebScriptDebugServer::addListener): Sets our shared debugger for all
- Pages when we get our first listener.
- (WebScriptDebugServer::removeListener): Removes our shared debugger
- from all Pages when we lose our last listener.
- * WebScriptDebugServer.h:
- * WebScriptDebugger.cpp:
- (WebScriptDebugger::shared): Added.
- (WebScriptDebugger::WebScriptDebugger): Removed m_frame member.
- (WebScriptDebugger::~WebScriptDebugger): Added.
- (frame): Gets a Frame from an ExecState.
- (webFrame): Gets a WebFrame from an ExecState.
- (webView): Gets a WebView from an ExecState.
- (WebScriptDebugger::sourceParsed): Changed to call webFrame() and
- webView() instead of using m_frame and m_webView members.
- (WebScriptDebugger::callEvent): Ditto.
- (WebScriptDebugger::atStatement): Ditto.
- (WebScriptDebugger::returnEvent): Ditto.
- (WebScriptDebugger::exception): Ditto.
- * WebScriptDebugger.h:
- * WebView.cpp:
- (kit): Moved here from WebFrameLoaderClient.cpp.
- (WebView::initWithFrame): Tell the WebScriptDebugServer about the new
- Page so it can attach a debugger if needed.
- * WebView.h:
-
-2008-03-04 Adam Roben <aroben@apple.com>
-
- Change WebView's string-finding methods to call through to Page
-
- These methods were added to Page back in r28878 (and the
- implementation was copied from WebView!) but we never switched over to
- using them.
-
- Reviewed by Sam.
-
- * WebView.cpp:
- (WebView::searchFor): Call through to Page::findString.
- (WebView::markAllMatchesForText): Call through to Page.
- (WebView::unmarkAllTextMatches): Ditto.
-
-2008-03-04 Adam Roben <aroben@apple.com>
-
- Actually pause the process while Drosera is at a breakpoint
-
- WebScriptDebugServer::suspendProcessIfPaused is supposed to pause the
- process while Drosera is at a breakpoint. Previously we were just
- starting a message pump that would deliver messages to all windows in
- the process, allowing mouse events, JS timers, etc. to execute.
-
- Now we only deliver messages to COM's message window, which is all we
- need to allow RPC to function.
-
- Reviewed by Anders.
-
- * WebScriptDebugServer.cpp:
- (comMessageWindow): Added. Finds COM's message window.
- (WebScriptDebugServer::suspendProcessIfPaused): Only deliver messages
- to COM's message window so that mouse events, JS timers, etc., won't
- execute.
-
-2008-03-03 Adam Roben <aroben@apple.com>
-
- Generate WebScriptCallFrame instances dynamically
-
- WebScriptDebugger no longer holds a reference to the topmost call
- frame, and WebScriptCallFrame no longer holds a reference to its
- caller. We now generate WebScriptCallFrame instances as needed by
- walking the callingExecState chain.
-
- By making WebKit no longer responsible for keeping track of the call
- stack, we get one step closer to moving most JS debugging code out of
- WebKit entirely.
-
- This incidentally fixes a bug in Drosera where we'd never show the
- global scope in the call stack.
-
- Reviewed by Sam and Kevin M.
-
- * WebScriptCallFrame.cpp:
- (callingFunctionOrGlobalExecState): Finds the nearest calling
- ExecState that is a FunctionExecState or GlobalExecState, if any, and
- returns it.
- (WebScriptCallFrame::WebScriptCallFrame):
- - No longer takes a caller parameter.
- - Sets m_state to the callingFunctionOrGlobalExecState of the
- ExecState passed in.
- (WebScriptCallFrame::createInstance): Removed the caller parameter.
- (WebScriptCallFrame::caller): Generate a new WebScriptCallFrame on the
- fly from our ExecState.
- * WebScriptCallFrame.h: No longer holds a reference to the caller.
- * WebScriptDebugger.cpp:
- (WebScriptDebugger::WebScriptDebugger): Removed the call to callEvent
- that was supposed to set up the global scope call frame, but never
- worked because m_callingServer was set to true, which would cause
- callEvent to return early without doing anything. Also removed the
- m_callingServer guards since we're not calling callEvent anymore.
- (WebScriptDebugger::callEvent): Create a WebScriptCallFrame on the
- fly from the passed-in ExecState.
- (WebScriptDebugger::atStatement): Ditto.
- (WebScriptDebugger::returnEvent): Ditto, but use the callingExecState.
- This is equivalent to what calling leaveFrame() did before.
- (WebScriptDebugger::exception): Ditto, using the passed-in ExecState.
- * WebScriptDebugger.h: Removed m_topStackFrame member and
- enterFrame/leaveFrame methods.
-
-2008-03-03 Sam Weinig <sam@webkit.org>
-
- Windows build fix.
-
- * WebFrame.cpp:
- (WebFrame::windowObjectCleared):
-
-2008-03-03 David Hyatt <hyatt@apple.com>
-
- Full page zoom work. Make setting of a zoom factor take a boolean saying whether it is a text only
- or full page zoom.
-
- Reviewed by Tim H.
-
- * WebFrame.cpp:
- (WebFrame::setTextSizeMultiplier):
-
-2008-02-29 Adam Roben <aroben@apple.com>
-
- Delete an unused file
-
- Rubberstamped by Brady.
-
- * Interfaces/IWebScriptScope.idl: Removed.
-
-2008-02-28 Adam Roben <aroben@apple.com>
-
- Change WebPreferences to be backed by CFPreferences
-
- Reviewed by Ada, Geoff, Steve, and Darin.
-
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::sharedStandardPreferences): Changed to call
- setAutoSaves(TRUE) before calling load(). This ensures that the
- preferences being migrated to CFPreferences are saved to disk.
- (WebPreferences::valueForKey): Changed to return a RetainPtr to ensure
- that the refcount is managed properly. Now attempts to retrieve a
- value from CFPreferences before falling back to the default settings.
- (WebPreferences::setValueForKey): Now saves the value in
- CFPreferences if m_autoSaves is true.
- (WebPreferences::stringValueForKey): Updated for valueForKey changes.
- (WebPreferences::integerValueForKey): DItto.
- (WebPreferences::boolValueForKey): Ditto.
- (WebPreferences::floatValueForKey): Ditto.
- (WebPreferences::save): Now simply calls CFPreferencesAppSynchronize.
- (WebPreferences::load): Always initializes m_privatePrefs to an empty
- CFMutableDictionary.
- (WebPreferences::migrateWebKitPreferencesToCFPreferences): Migrates
- preferences from our old custom plist to CFPreferences and then
- deletes our custom plist, if the migration has never occurred before.
- (WebPreferences::copyWebKitPreferencesToCFPreferences): Copies
- preferences to CFPreferences. If we've never migrated the default
- settings from Safari 3 Beta before, we omit them from this copying
- procedure.
- * WebPreferences.h:
-
-2008-02-28 Adam Roben <aroben@apple.com>
-
- Refactor value <-> CFNumber conversions into some helper functions
-
- Reviewed by Jon.
-
- * WebPreferences.cpp:
- (preferencesPath): Changed to return a const String&.
- (numberValueForPreferencesValue): Converts a value from preferences to
- a native numeric type.
- (cfNumber): Converts a native numeric value to a CFNumberRef.
- (booleanValueForPreferencesValue): Converts a value from preferences
- to a native boolean.
- (WebPreferences::integerValueForKey): Changed to call
- numberValueForPreferencesValue.
- (WebPreferences::floatValueForKey): Ditto.
- (WebPreferences::boolValueForKey): Changed to call
- booleanValueForPreferencesValue.
- (WebPreferences::setIntegerValue): Changed to call cfNumber.
- (WebPreferences::setLongLongValue): Ditto.
-
-2008-02-27 Adam Roben <aroben@apple.com>
-
- Add WebPreferences::setValueForKey
-
- This is just a small refactoring of some duplicated logic into a
- shared method.
-
- Reviewed by Sam.
-
- * WebPreferences.cpp:
- (WebPreferences::setValueForKey): Added.
- (WebPreferences::setStringValue): Call setValueForKey.
- (WebPreferences::setIntegerValue): Ditto.
- (WebPreferences::setBoolValue): Ditto.
- (WebPreferences::setLongLongValue): Ditto.
- * WebPreferences.h:
-
-2008-02-27 Adam Roben <aroben@apple.com>
-
- Remove WebPreferences' static members
-
- s_defaultSettings is now a file-level static, and
- s_standardPreferences has been removed completely (it wasn't being
- used).
-
- Reviewed by Sam.
-
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings):
- (WebPreferences::valueForKey):
- (WebPreferences::migrateDefaultSettingsFromSafari3Beta):
- (WebPreferences::removeValuesMatchingDefaultSettings):
- * WebPreferences.h:
-
-2008-02-29 Steve Falkenburg <sfalken@apple.com>
-
- Don't free the VARIANT passed into Write, since it is an input parameter owned by the caller.
- Found via code inspection.
-
- Reviewed by Adam.
-
- * WebActionPropertyBag.cpp:
- (WebActionPropertyBag::Write):
- * WebElementPropertyBag.cpp:
- (WebElementPropertyBag::Write):
-
-2008-02-27 Matt Lilek <webkit@mattlilek.com>
-
- Reviewed by Adam Roben.
-
- Bug 14348: Messing up the inspector by dragging an URL into it
- http://bugs.webkit.org/show_bug.cgi?id=14348
- <rdar://problem/5283620> and <rdar://problem/5712808>
-
- Add a new class to handle the Inspector's delegate calls.
-
- * WebCoreSupport/WebInspectorClient.cpp:
- (WebInspectorClient::createPage):
- * WebCoreSupport/WebInspectorDelegate.cpp: Added.
- (:m_refCount):
- (WebInspectorDelegate::createInstance):
- (WebInspectorDelegate::AddRef):
- (WebInspectorDelegate::Release):
- (WebInspectorDelegate::dragDestinationActionMaskForDraggingInfo):
- * WebCoreSupport/WebInspectorDelegate.h: Added.
- (WebInspectorDelegate::QueryInterface):
- (WebInspectorDelegate::createWebViewWithRequest):
- (WebInspectorDelegate::webViewShow):
- (WebInspectorDelegate::webViewClose):
- (WebInspectorDelegate::webViewFocus):
- (WebInspectorDelegate::webViewUnfocus):
- (WebInspectorDelegate::webViewFirstResponder):
- (WebInspectorDelegate::makeFirstResponder):
- (WebInspectorDelegate::setStatusText):
- (WebInspectorDelegate::webViewStatusText):
- (WebInspectorDelegate::webViewAreToolbarsVisible):
- (WebInspectorDelegate::setToolbarsVisible):
- (WebInspectorDelegate::webViewIsStatusBarVisible):
- (WebInspectorDelegate::setStatusBarVisible):
- (WebInspectorDelegate::webViewIsResizable):
- (WebInspectorDelegate::setResizable):
- (WebInspectorDelegate::setFrame):
- (WebInspectorDelegate::webViewFrame):
- (WebInspectorDelegate::setContentRect):
- (WebInspectorDelegate::webViewContentRect):
- (WebInspectorDelegate::runJavaScriptAlertPanelWithMessage):
- (WebInspectorDelegate::runJavaScriptConfirmPanelWithMessage):
- (WebInspectorDelegate::runJavaScriptTextInputPanelWithPrompt):
- (WebInspectorDelegate::runBeforeUnloadConfirmPanelWithMessage):
- (WebInspectorDelegate::runOpenPanelForFileButtonWithResultListener):
- (WebInspectorDelegate::mouseDidMoveOverElement):
- (WebInspectorDelegate::contextMenuItemsForElement):
- (WebInspectorDelegate::validateUserInterfaceItem):
- (WebInspectorDelegate::shouldPerformAction):
- (WebInspectorDelegate::willPerformDragDestinationAction):
- (WebInspectorDelegate::dragSourceActionMaskForPoint):
- (WebInspectorDelegate::willPerformDragSourceAction):
- (WebInspectorDelegate::contextMenuItemSelected):
- (WebInspectorDelegate::hasCustomMenuImplementation):
- (WebInspectorDelegate::trackCustomPopupMenu):
- (WebInspectorDelegate::measureCustomMenuItem):
- (WebInspectorDelegate::drawCustomMenuItem):
- (WebInspectorDelegate::addCustomMenuDrawingData):
- (WebInspectorDelegate::cleanUpCustomMenuDrawingData):
- (WebInspectorDelegate::canTakeFocus):
- (WebInspectorDelegate::takeFocus):
- (WebInspectorDelegate::registerUndoWithTarget):
- (WebInspectorDelegate::removeAllActionsWithTarget):
- (WebInspectorDelegate::setActionTitle):
- (WebInspectorDelegate::undo):
- (WebInspectorDelegate::redo):
- (WebInspectorDelegate::canUndo):
- (WebInspectorDelegate::canRedo):
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-02-26 Adam Roben <aroben@apple.com>
-
- Move ResourceLoadDelegate methods to WebFrameLoaderClient
-
- Changed all methods to use early returns where possible and COMPtr's
- AdoptCOM/Query constructors.
-
- Reviewed by Anders.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::assignIdentifierToInitialRequest):
- (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
- (WebFrameLoaderClient::dispatchWillSendRequest):
- (WebFrameLoaderClient::dispatchDidReceiveResponse):
- (WebFrameLoaderClient::dispatchDidReceiveContentLength):
- (WebFrameLoaderClient::dispatchDidFinishLoading):
- (WebFrameLoaderClient::dispatchDidFailLoading):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebFrame.cpp:
- * WebFrame.h:
-
-2008-02-26 Adam Roben <aroben@apple.com>
-
- Move two more methods to WebFrameLoaderClient
-
- Reviewed by Anders.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (kit):
- (WebFrameLoaderClient::dispatchCreatePage): Changed nested ifs to
- early returns, and changed to use the COMPtr Query constructor.
- (WebFrameLoaderClient::dispatchDidLoadMainResource): Added an early
- return, and changed to use getWebDataSource.
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebFrame.cpp:
- * WebFrame.h:
-
-2008-02-26 Adam Roben <aroben@apple.com>
-
- Get rid of IID_WebFrame
-
- Reviewed by Anders.
-
- * WebFrame.cpp: Removed IID_WebFrame definition.
- (WebFrame::QueryInterface): Use __uuidof(WebFrame) instead of
- IID_WebFrame.
- (WebFrame::isDescendantOfFrame): Use COMPtr's Query constructor
- instead of a manual QueryInterface.
- * WebFrame.h: Removed IID_WebFrame declaration, gave WebFrame a
- DECLSPEC_UUID.
-
-2008-02-26 Adam Roben <aroben@apple.com>
-
- Move WebHistory-related methods to WebFrameLoaderClient
-
- Reviewed by Anders.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::updateGlobalHistory):
- (WebFrameLoaderClient::shouldGoToHistoryItem):
- (WebFrameLoaderClient::setTitle): Changed some nested ifs into early
- returns.
- (WebFrameLoaderClient::webHistory): Changed to return a COMPtr to
- make the reference management foolproof.
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebFrame.cpp:
- * WebFrame.h:
-
-2008-02-26 Adam Roben <aroben@apple.com>
-
- Move cache-related methods to WebFrameLoaderClient
-
- Reviewed by Anders.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (getWebDataSource): Moved to the top of the file.
- (WebFrameLoaderClient::savePlatformDataToCachedPage):
- (WebFrameLoaderClient::transitionToCommittedForNewPage):
- (WebFrameLoaderClient::canCachePage):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebFrame.cpp:
- * WebFrame.h:
-
-2008-02-25 Adam Roben <aroben@apple.com>
-
- Move plugin-related methods to WebFrameLoaderClient
-
- Reviewed by Anders.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::WebFrameLoaderClient):
- (WebFrameLoaderClient::setMainDocumentError):
- (WebFrameLoaderClient::committedLoad): Added some early returns.
- (WebFrameLoaderClient::receivedData):
- (WebFrameLoaderClient::finishedLoading): Ditto.
- (getWebDataSource):
- (WebFrameLoaderClient::createPlugin):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebFrame.cpp:
- (WebFrame::WebFramePrivate::WebFramePrivate):
- * WebFrame.h:
-
-2008-02-25 Adam Roben <aroben@apple.com>
-
- Move createFrame to WebFrameLoaderClient
-
- Reviewed by Anders.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::createFrame):
- (WebFrameLoaderClient::loadURLIntoChild):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebFrame.cpp:
- * WebFrame.h:
-
-2008-02-25 Adam Roben <aroben@apple.com>
-
- Move progress-related methods to WebFrameLoaderClient
-
- Reviewed by Anders.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::postProgressStartedNotification):
- (WebFrameLoaderClient::postProgressEstimateChangedNotification):
- (WebFrameLoaderClient::postProgressFinishedNotification):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebFrame.cpp:
- * WebFrame.h:
-
-2008-02-25 Adam Roben <aroben@apple.com>
-
- Remove WebFrame::detachedFromParent1
-
- This method was removed from FrameLoaderClient in r19042, but was
- never removed from WebFrame.
-
- Reviewed by Anders.
-
- * WebFrame.cpp:
- * WebFrame.h:
-
-2008-02-23 Adam Roben <aroben@apple.com>
-
- Move many dispatch methods to WebFrameLoaderClient
-
- Reviewed by Sam.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
- (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
- (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
- (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
- (WebFrameLoaderClient::dispatchWillClose):
- (WebFrameLoaderClient::dispatchDidReceiveIcon):
- (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
- (WebFrameLoaderClient::dispatchDidReceiveTitle):
- (WebFrameLoaderClient::dispatchDidCommitLoad):
- (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
- (WebFrameLoaderClient::dispatchDidFinishLoad):
- (WebFrameLoaderClient::dispatchDidFirstLayout):
- (WebFrameLoaderClient::dispatchShow):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebFrame.cpp:
- * WebFrame.h:
-
-2008-02-23 Adam Roben <aroben@apple.com>
-
- Move two more methods to WebFrameLoaderClient
-
- Reviewed by Sam.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::hasFrameView):
- (WebFrame::forceLayout):
- * WebCoreSupport/WebFrameLoaderClient.h:
- * WebFrame.cpp:
- * WebFrame.h:
-
-2008-02-24 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - remove separate client calls for "standard" and "reload' history
-
- * WebFrame.cpp:
- (WebFrame::updateGlobalHistory):
- * WebFrame.h:
-
-2008-02-23 Brent Fulgham <bfulgham@gmail.com>
-
- Not reviewed, build fix.
-
- * WebIconDatabase.cpp:
- * WebIconDatabase.h:
-
-2008-02-22 Adam Roben <aroben@apple.com>
-
- Move hasWebView to WebFrameLoaderClient
-
- I added an m_webFrame member to WebFrameLoaderClient. This is slightly
- strange because WebFrame inherits from WebFrameLoaderClient, but this
- member will be needed once we remove the inheritance, so we might as
- well prepare for that now.
-
- Reviewed by Anders.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp:
- (WebFrameLoaderClient::WebFrameLoaderClient): Changed to take a
- WebFrame* parameter.
- (WebFrameLoaderClient::hasWebView): Moved here from WebFrame.cpp.
- * WebCoreSupport/WebFrameLoaderClient.h: Added an m_webFrame
- parameter.
- * WebFrame.cpp: Removed hasWebView.
- (WebFrame::WebFrame): Updated for WebFrameLoaderClient constructor
- change.
- * WebFrame.h:
-
-2008-02-22 Adam Roben <aroben@apple.com>
-
- Start to move FrameLoaderClient methods off WebFrame onto a separate class
-
- WebFrame now inherits from a new WebFrameLoaderClient class, which
- will gradually assume all FrameLoaderClient responsibilities. Once
- that process is complete, WebFrame will no longer inherit from
- WebFrameLoaderClient.
-
- In this first patch, I've only moved createDocumentLoader up to the
- WebFrameLoaderClient class.
-
- Reviewed by Anders.
-
- * WebCoreSupport/WebFrameLoaderClient.cpp: Added.
- (WebFrameLoaderClient::WebFrameLoaderClient):
- (WebFrameLoaderClient::~WebFrameLoaderClient):
- (WebFrameLoaderClient::createDocumentLoader): Moved here from
- WebFrame.cpp.
- * WebCoreSupport/WebFrameLoaderClient.h: Added.
- * WebFrame.cpp: Removed createDocumentLoader implementation.
- * WebFrame.h: Changed to inherit from WebFrameLoaderClient.
- * WebKit.vcproj/WebKit.vcproj: Added new files to the project.
-
-2008-02-22 Adam Roben <aroben@apple.com>
-
- Move FormValuesPropertyBag into its own files
-
- Reviewed by Sam.
-
- * WebCoreSupport/FormValuesPropertyBag.cpp: Added.
- (FormValuesPropertyBag::QueryInterface):
- (FormValuesPropertyBag::AddRef):
- (FormValuesPropertyBag::Release):
- (FormValuesPropertyBag::Read):
- (FormValuesPropertyBag::Write):
- (FormValuesPropertyBag::CountProperties):
- (FormValuesPropertyBag::GetPropertyInfo):
- (FormValuesPropertyBag::LoadObject):
- * WebCoreSupport/FormValuesPropertyBag.h: Added.
- (FormValuesPropertyBag::FormValuesPropertyBag):
- * WebFrame.cpp: Deleted FormValuesPropertyBag code.
- * WebKit.vcproj/WebKit.vcproj: Added new files to the project.
-
-2008-02-22 Adam Roben <aroben@apple.com>
-
- Remove some unused WebFrame methods
-
- FrameWinClient was deleted back in r22965, but these methods were
- never deleted.
-
- Reviewed by Sam.
-
- * WebFrame.cpp:
- * WebFrame.h: Made one createFrame overload protected, since it's only
- called internally by WebFrame.
-
-2008-02-21 Adam Roben <aroben@apple.com>
-
- Move Client implementations into a WebCoreSupport directory
-
- Reviewed by Anders.
-
- * WebKit.vcproj/WebKit.vcproj: Updated file paths, and added
- WebCoreSupport directory to the include path.
- * WebCoreSupport/WebChromeClient.cpp: Renamed from WebKit/win/WebChromeClient.cpp.
- * WebCoreSupport/WebChromeClient.h: Renamed from WebKit/win/WebChromeClient.h.
- * WebCoreSupport/WebContextMenuClient.cpp: Renamed from WebKit/win/WebContextMenuClient.cpp.
- * WebCoreSupport/WebContextMenuClient.h: Renamed from WebKit/win/WebContextMenuClient.h.
- * WebCoreSupport/WebDragClient.cpp: Renamed from WebKit/win/WebDragClient.cpp.
- * WebCoreSupport/WebDragClient.h: Renamed from WebKit/win/WebDragClient.h.
- * WebCoreSupport/WebEditorClient.cpp: Renamed from WebKit/win/WebEditorClient.cpp.
- * WebCoreSupport/WebEditorClient.h: Renamed from WebKit/win/WebEditorClient.h.
- * WebCoreSupport/WebInspectorClient.cpp: Renamed from WebKit/win/WebInspectorClient.cpp.
- * WebCoreSupport/WebInspectorClient.h: Renamed from WebKit/win/WebInspectorClient.h.
-
-2008-02-20 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin and Geoff.
-
- - WebKit part of <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
-
- * WebView.cpp:
- (WebView::notifyPreferencesChanged): Added a call to Settings::setNeedsSiteSpecificQuirks.
- (WebView::setAllowSiteSpecificHacks): Added a comment about the problem Darin noticed, where
- after you disable the site-specific hacks they persist until you open a new window or tweak
- some other preference.
-
-2008-02-19 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- * WebFrame.cpp:
- (WebFrame::renderTreeAsExternalRepresentation): Changed to use String instead
- of DeprecatedString.
-
-2008-02-18 Steve Falkenburg <sfalken@apple.com>
-
- Make Drosera work on Vista.
-
- Runtime type library registration on Vista requires use of two new call:
- RegisterTypeLibraryForUser and UnRegisterTypeLibraryForUser, which write to
- HKCU. LoadTypeLib[Ex] registers under HKLM, which fails under vista due to UAC.
-
- Reviewed by Adam.
-
- * WebKitDLL.cpp:
- (DllUnregisterServer): Call UnRegisterTypeLibraryForUser if available. Fix version number.
- (DllRegisterServer): Call RegisterTypeLibraryForUser if available.
-
-2008-02-18 Matt Lilek <webkit@mattlilek.com>
-
- Reviewed by Adam.
-
- Remove FindSafari's Release configuration.
-
- * WebKit.vcproj/WebKit.sln:
-
-2008-02-16 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- http://bugs.webkit.org/show_bug.cgi?id=17397
- <rdar://problem/5748245> REGRESSION (r30236-30336): Cannot backspace/enter in forms on Windows
-
- * WebKit.vcproj/WebKit.vcproj: Add ENABLE_CROSS_DOCUMENT_MESSAGING definitions.
-
-2008-02-15 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - quick fix for a problem causing an assertion on launch
-
- * WebFrame.cpp:
- (WebFrame::loadData): Make an empty KURL even if the BSTR is null.
- Later we might want to rethink this.
-
-2008-02-14 Darin Adler <darin@apple.com>
-
- - updated for WebCore KURL changes
-
- * MarshallingHelpers.cpp:
- (MarshallingHelpers::BSTRToKURL): Removed deprecatedString call.
- (MarshallingHelpers::KURLToBSTR): Tweaked for efficiency.
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::searchWithGoogle): Updated for KURL changes.
- * WebDataSource.cpp:
- (WebDataSource::unreachableURL): Ditto.
- * WebDownload.cpp:
- (WebDownload::init): Ditto.
- (WebDownload::initWithRequest): Ditto.
- * WebFrame.cpp:
- (WebFrame::loadData): Ditto.
- (WebFrame::loadURLIntoChild): Ditto.
- (WebFrame::objectContentType): Ditto.
- * WebResource.cpp:
- (WebResource::initWithData): Ditto.
- * WebURLResponse.cpp:
- (WebURLResponse::createInstance): Ditto.
- (WebURLResponse::initWithURL): Ditto.
- * WebView.cpp:
- (WebView::userAgentForURL): Ditto.
- (WebView::copyURL): Ditto.
- (WebView::notifyPreferencesChanged): Ditto.
-
-2008-02-14 Alexey Proskuryakov <ap@webkit.org>
-
- * WebChromeClient.cpp: (WebChromeClient::exceededDatabaseQuota): Forgot to re-apply review comments to
- the previous check-in, fixing.
-
-2008-02-14 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Adam Roben.
-
- http://bugs.webkit.org/show_bug.cgi?id=17207
- Database example doesn't work (requires not-yet-released Safari)
-
- * WebChromeClient.cpp:
- (WebChromeClient::exceededDatabaseQuota): Check Safari version, and allow 5 megabytes of storage
- if it's too old.
-
-2008-02-13 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5740656> Leak in postDidAddIconNotification in WebIconDatabase
-
- Reviewed by Darin Adler.
-
- * WebIconDatabase.cpp:
- (postDidAddIconNotification): Need to adopt the newly created instance of CFDictionaryPropertyBag,
- which already has a ref count of 1.
-
-2008-02-13 Rodney Dawes <dobey@wayofthemonkey.com>
-
- Fix Bug 17220: Illogical dependency between PluginView and
- PluginDatabase
-
- <http://bugs.webkit.org/show_bug.cgi?id=17220>
-
- Reviewed by Adam and Darin.
-
- Update for the rename of PluginDatabase::createPluginView
- to PluginView::create
-
- * WebFrame.cpp:
-
-2008-02-13 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * Interfaces/WebKit.idl: Create the typelib version symbol ourselves.
-
-2008-02-12 Steve Falkenburg <sfalken@apple.com>
-
- Use a precompiled header to build WebKit.
-
- Reviewed by Adam.
-
- * WebKit.vcproj/WebKit.vcproj:
- * WebKitPrefix.cpp: Added.
- * WebKitPrefix.h: Added.
-
-2008-02-12 Steve Falkenburg <sfalken@apple.com>
-
- Changes to support merged MIDL output.
-
- All COM interfaces are now generated to WebKit.h.
-
- Reviewed by Sam, Ada.
-
- * DOMCSSClasses.h:
- * DOMCoreClasses.h:
- * DOMEventsClasses.h:
- * DOMHTMLClasses.h:
- * DefaultDownloadDelegate.h:
- * DefaultPolicyDelegate.cpp:
- * DefaultPolicyDelegate.h:
- * GEN_DOMObject.h:
- * Interfaces/DOMCSS.idl:
- * Interfaces/DOMCore.idl:
- * Interfaces/DOMEvents.idl:
- * Interfaces/DOMExtensions.idl:
- * Interfaces/DOMHTML.idl:
- * Interfaces/DOMPrivate.idl:
- * Interfaces/DOMRange.idl:
- * Interfaces/DOMWindow.idl:
- * Interfaces/IGEN_DOMObject.idl:
- * Interfaces/IWebArchive.idl:
- * Interfaces/IWebBackForwardList.idl:
- * Interfaces/IWebBackForwardListPrivate.idl:
- * Interfaces/IWebCache.idl:
- * Interfaces/IWebDataSource.idl:
- * Interfaces/IWebDatabaseManager.idl:
- * Interfaces/IWebDocument.idl:
- * Interfaces/IWebDownload.idl:
- * Interfaces/IWebEditingDelegate.idl:
- * Interfaces/IWebError.idl:
- * Interfaces/IWebErrorPrivate.idl:
- * Interfaces/IWebFormDelegate.idl:
- * Interfaces/IWebFrame.idl:
- * Interfaces/IWebFrameLoadDelegate.idl:
- * Interfaces/IWebFrameLoadDelegatePrivate.idl:
- * Interfaces/IWebFramePrivate.idl:
- * Interfaces/IWebFrameView.idl:
- * Interfaces/IWebHTMLRepresentation.idl:
- * Interfaces/IWebHTTPURLResponse.idl:
- * Interfaces/IWebHistory.idl:
- * Interfaces/IWebHistoryItem.idl:
- * Interfaces/IWebHistoryItemPrivate.idl:
- * Interfaces/IWebIconDatabase.idl:
- * Interfaces/IWebInspector.idl:
- * Interfaces/IWebJavaScriptCollector.idl:
- * Interfaces/IWebKitStatistics.idl:
- * Interfaces/IWebMutableURLRequest.idl:
- * Interfaces/IWebMutableURLRequestPrivate.idl:
- * Interfaces/IWebNotification.idl:
- * Interfaces/IWebNotificationCenter.idl:
- * Interfaces/IWebNotificationObserver.idl:
- * Interfaces/IWebPolicyDelegate.idl:
- * Interfaces/IWebPreferences.idl:
- * Interfaces/IWebPreferencesPrivate.idl:
- * Interfaces/IWebResource.idl:
- * Interfaces/IWebResourceLoadDelegate.idl:
- * Interfaces/IWebResourceLoadDelegatePrivate.idl:
- * Interfaces/IWebScriptCallFrame.idl:
- * Interfaces/IWebScriptDebugListener.idl:
- * Interfaces/IWebScriptDebugServer.idl:
- * Interfaces/IWebScriptObject.idl:
- * Interfaces/IWebScriptScope.idl:
- * Interfaces/IWebScrollBarDelegatePrivate.idl:
- * Interfaces/IWebScrollBarPrivate.idl:
- * Interfaces/IWebSecurityOrigin.idl:
- * Interfaces/IWebTextRenderer.idl:
- * Interfaces/IWebUIDelegate.idl:
- * Interfaces/IWebUIDelegatePrivate.idl:
- * Interfaces/IWebURLAuthenticationChallenge.idl:
- * Interfaces/IWebURLRequest.idl:
- * Interfaces/IWebURLResponse.idl:
- * Interfaces/IWebURLResponsePrivate.idl:
- * Interfaces/IWebUndoManager.idl:
- * Interfaces/IWebUndoTarget.idl:
- * Interfaces/IWebView.idl:
- * Interfaces/IWebViewPrivate.idl:
- * Interfaces/WebKit.idl:
- * WebActionPropertyBag.cpp:
- * WebBackForwardList.h:
- * WebCache.h:
- * WebDataSource.cpp:
- * WebDataSource.h:
- * WebDatabaseManager.h:
- * WebDownload.h:
- * WebEditorClient.cpp:
- * WebEditorClient.h:
- * WebError.h:
- * WebFrame.cpp:
- * WebFrame.h:
- * WebFramePolicyListener.h:
- * WebHTMLRepresentation.cpp:
- * WebHTMLRepresentation.h:
- * WebHistory.cpp:
- * WebHistory.h:
- * WebHistoryItem.h:
- * WebIconDatabase.h:
- * WebInspector.h:
- * WebJavaScriptCollector.h:
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebKitDLL.cpp:
- * WebKitStatistics.h:
- * WebMutableURLRequest.cpp:
- * WebMutableURLRequest.h:
- * WebNotification.h:
- * WebNotificationCenter.h:
- * WebPreferences.h:
- * WebResource.h:
- * WebScriptCallFrame.h:
- * WebScriptDebugServer.cpp:
- * WebScriptDebugServer.h:
- * WebScriptDebugger.cpp:
- * WebScriptDebugger.h:
- * WebScriptObject.h:
- * WebScrollBar.h:
- * WebSecurityOrigin.h:
- * WebTextRenderer.h:
- * WebURLAuthenticationChallenge.h:
- * WebURLAuthenticationChallengeSender.h:
- * WebURLCredential.h:
- * WebURLProtectionSpace.h:
- * WebURLResponse.h:
- * WebView.cpp:
- * WebView.h:
-
-2008-02-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Implement imageTitle.
-
- * WebCoreLocalizedStrings.cpp:
- (WebCore::imageTitle):
-
-2008-02-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Mitz.
-
- * WebCoreLocalizedStrings.cpp:
- (WebCore::imageTitle):
- Add stub.
-
-
-2008-02-07 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5292433> certificate authentication support broken in Safari 3.0
- Added mechanism to communicate client certificate info back to CFNetwork.
-
- Reviewed by Adam.
-
- * Interfaces/IWebError.idl: Added new WebURLErrorClientCertificateRequired error.
- * Interfaces/IWebMutableURLRequestPrivate.idl: Added. Added method to set client
- certificate info on the request.
- * WebKit.vcproj/Interfaces.vcproj: Added new idl.
- * WebKit.vcproj/WebKit.vcproj: Link crypt32.lib
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebMutableURLRequest.cpp:
- (WebMutableURLRequest::QueryInterface): Implements IWebMutableURLRequestPrivate.
- (deallocCertContext): Free certificate context.
- (copyCert): Duplicate the certificate context and returns it in a CFDataRef.
- (WebMutableURLRequest::setClientCertificate):
- * WebMutableURLRequest.h:
-
-2008-02-05 Rodney Dawes <dobey@wayofthemonkey.com>
-
- Reviewed by Anders Carlsson.
-
- Part one of http://bugs.webkit.org/show_bug.cgi?id=16924.
- Shared PluginDatabase, PluginInfoStore and PluginPackage implementations.
-
- Track WebCore renames.
-
- * WebFrame.cpp:
- (WebFrame::createPlugin):
- (WebFrame::redirectDataToPlugin):
- (WebFrame::createJavaAppletWidget):
- (WebFrame::objectContentType):
- * WebView.cpp:
- (WebViewWndProc):
- (WebView::canShowMIMEType):
- (WebView::addAdditionalPluginPath):
-
-2008-02-05 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- http://bugs.webkit.org/show_bug.cgi?id=15248
- <rdar://problem/5497032> Can not enter accented characters using alt-numeric keypad (take two)
-
- * WebView.cpp: (WebViewWndProc): KeyUp messages need to be translated, too.
-
-2008-02-01 Darin Adler <darin@apple.com>
-
- - fix <rdar://problem/5680469> Each database worker thread takes a JSLock,
- which slows down all JavaScript execution until the thread terminates
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::scheduleNotificationDelivery): Updated for new callOnMainThread.
- (WebIconDatabase::deliverNotifications): Ditto.
- * WebIconDatabase.h: Ditto.
-
-2008-01-31 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5713172> Focus lost from Gmail message body after toggling
- tabs
-
- This regressed in r29583. Prior to r29583, the code path that resulted
- in calling focusController->setFocusedFrame(0) was never getting hit.
- r29583 changed the code to adhere to the comment above the code and
- actually call setFocusedFrame(0) when losing focus to another part of
- the window. It turns out this is wrong behavior (and not what
- WebKit/mac does). The only time we should clear the focused frame is
- when we tab out of the WebView, and that's already taken care of by
- FocusController::advanceFocus. The code to clear the focused frame in
- WebView was written before FocusController::advanceFocus, so it was
- correct at one point but no longer is.
-
- We now never call setFocusedFrame(0) when the WebView receives a
- WM_KILLFOCUS message. Instead we just call setFocused(false) on the
- focused frame so that blur events will be sent. This matches what
- WebKit/mac does.
-
- Reviewed by Darin and Adele.
-
- * WebView.cpp:
- (WebViewWndProc): Also reworded a couple of comments to make them
- clearer.
-
-2008-01-31 Adam Roben <aroben@apple.com>
-
- Let WebCore take care of the highlight drawing entirely
-
- Reviewed by Darin Adler.
-
- * WebInspectorClient.cpp:
- (WebInspectorClient::highlight): We now just show our highlight
- window and let WebCore figure out what/where to paint. Once all ports
- follow suit the Node* parameter to this method should be removed
- entirely, and the name should probably change to
- updateAndShowHighlight or something similar.
- * WebNodeHighlight.cpp: Renamed m_webView to m_inspectedWebViewWindow.
- (WebNodeHighlight::WebNodeHighlight): Now takes a WebView* parameter.
- (WebNodeHighlight::show): Renamed from highlight(). Now gets the
- WebView's HWND. Updated for member rename/removal.
- (WebNodeHighlight::updateWindow): Updated for member rename and for
- InspectorController changes.
- * WebNodeHighlight.h: Added m_inspectedWebView member, removed m_rect
- member, renamed highlight(Node*) -> show().
-
-2008-01-31 Adam Roben <aroben@apple.com>
-
- Move node highlight drawing code to WebCore
-
- Reviewed by Darin Adler.
-
- * WebNodeHighlight.cpp:
- (WebNodeHighlight::updateWindow): Call into WebCore to do the node
- highlight drawing.
-
-2008-01-29 Adam Roben <aroben@apple.com>
-
- Fix a crash when opening the Inspector
-
- Reviewed by Anders.
-
- * WebInspectorClient.cpp:
- (WebInspectorClient::createPage): Call
- WebPreferences::initWithIdentifier so our custom WebPreferences will
- have all its members initialized.
-
-2008-01-29 Adam Roben <aroben@apple.com>
-
- Fix Bug 16786: "Display images when page opens" preference affects
- Inspector
-
- <http://bugs.webkit.org/show_bug.cgi?id=16786>
- <rdar://5712914>
-
- Reviewed by Anders and Darin.
-
- * WebInspectorClient.cpp:
- (WebInspectorClient::createPage): Create our own custom WebPreferences
- so that we won't be affected by global preference changes. This
- matches what Mac does.
-
-2008-01-29 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5713302> Web Inspector on Windows is not using the
- localized strings
-
- Reviewed by Steve.
-
- * WebInspectorClient.cpp:
- (getWebKitBundle): Added.
- (WebInspectorClient::createPage): Call getWebKitBundle.
- (WebInspectorClient::localizedStringsURL): Implemented.
-
-2008-01-29 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5710692> All storage tests fail/crash
-
- * WebChromeClient.cpp: (WebChromeClient::exceededDatabaseQuota): Clients that do not implement
- database quota callbacks should have no database support - but not crash.
-
-2008-01-26 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/5707607> REGRESSION: I hear a beep when selecting Alt-enter in address or search fields
-
- Reviewed by Oliver.
-
- * WebView.cpp:
- (WebView::keyDown): Allow alt-return to be marked as handled by WebKit.
-
-2008-01-24 Steve Falkenburg <sfalken@apple.com>
-
- Build fix
-
- * WebKit.vcproj/WebKit.sln:
- * WebKit.vcproj/WebKit.submit.sln:
-
-2008-01-24 Adam Roben <aroben@apple.com>
-
- Build fix
-
- * WebView.cpp: Added a comma.
-
-2008-01-24 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Adam Roben.
-
- <rdar://problem/5702734> REGRESSION(r28936/r15890): Shift+del does not work in win Safari
-
- * WebView.cpp: Fixed keyDownEntries to list this shortcut (and related ones, for consistency).
-
-2008-01-23 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/5698732> Copyright strings should include 2008
-
- Reviewed by Sam.
-
- * WebKit.vcproj/WebKit.rc:
-
-2008-01-23 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5698502> Inspector window reverts to default position/size unexpectedly
-
- Reviewed by Hyatt.
-
- * WebInspectorClient.cpp:
- (defaultWindowRect): Added.
- (WebInspectorClient::createPage):
- - Use defaultWindowRect() to set the initial size/position of the
- Inspector window.
- - Pass the Inspector window's client rect to
- IWebView::initWithFrame so that the WebView will be initially
- sized to fill the window.
- (WebInspectorClient::showWindow): Don't move/resize the window back to
- the defaults every time this method is called.
-
-2008-01-23 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5700620> REGRESSION (r28190): "Open frame in new tab" instead of "Open link in new tab" @ digg.com
-
- Test: fast/events/contextmenu-scrolled-page-with-frame.html
-
- Reviewed by Dan.
-
- * WebView.cpp:
- (WebView::handleContextMenuEvent): Translate the mouse coordinates
- into document coordinates before performing the hit-test. This is what
- EventHandler does internally.
-
-2008-01-23 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/5699509> Allow file upload dialog to be localized.
-
- Reviewed by Darin Adler.
-
- * English.lproj/Localizable.strings: Updated.
- * WebCoreLocalizedStrings.cpp:
- (WebCore::uploadFileText): Added.
- (WebCore::allFilesText): Added.
-
-2008-01-22 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5693599> REGRESSION (r29369): scroll bars are drawing when they shouldn't be on an ad on cnn.com
-
- Now that we have multiple FrameViews per Frame on Windows, we need to
- make sure each FrameView gets its scrolling mode set correctly. On Mac
- this works because WebFrameView holds the scrolling mode and a single
- WebFrameView is shared by many FrameViews. On Windows, we have no such
- shared object, so we just ask the Frame's owner element for the
- scrolling mode.
-
- Tests: fast/frames/frame-scrolling-attribute.html
- fast/frames/iframe-scrolling-attribute.html
-
- Reviewed by Hyatt.
-
- * WebFrame.cpp:
- (WebFrame::transitionToCommittedForNewPage): Set the scrolling mode
- on the FrameView based on the scrolling mode of the Frame's owner
- element.
-
-2008-01-21 Darin Adler <darin@apple.com>
-
- Reviewed by John Sullivan.
-
- - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
- - fix incorrect value for WebDatabaseDisplayNameKey in header
-
- * Interfaces/IWebDatabaseManager.idl: Renamed detailsForDatabaseWithOrigin to
- detailsForDatabase. Replaced deleteDatabasesWithOrigin with deleteOrigin.
- Renamed deleteDatabaseWithOrigin to deleteDatabase. Fixed incorrect value for
- WebDatabaseDisplayNameKey.
- * Interfaces/IWebPreferencesPrivate.idl: Removed defaultDatabaseQuota and
- setDefaultDatabaseQuota.
- * Interfaces/IWebUIDelegatePrivate.idl: Replaced the two database quota functions
- with a single one.
-
- * WebChromeClient.cpp:
- (WebChromeClient::exceededDatabaseQuota): Replaced the two database quota functions
- with a single one.
- * WebChromeClient.h: Ditto.
-
- * WebDatabaseManager.cpp:
- (WebDatabaseManager::detailsForDatabase): Changed to check for a name of null to
- detect a nonexistent database rather than using isValid.
- (WebDatabaseManager::deleteOrigin): Updated for name change (actually a semantic
- change too, but both have the same name).
- (WebDatabaseManager::deleteDatabase): Updated for name change.
- (WebKitSetWebDatabasesPathIfNecessary): Ditto.
-
- * WebDatabaseManager.h: Updated for name changes.
-
- * WebPreferenceKeysPrivate.h: Removed WebKitDefaultDatabaseQuotaKey.
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings): Removed the default for
- WebKitDefaultDatabaseQuotaKey.
- * WebPreferences.h: Removed defaultDatabaseQuota and setDefaultDatabaseQuota.
- * WebView.cpp:
- (WebView::notifyPreferencesChanged): Removed the code to set the
- default database origin quota in WebCore::Settings based on IWebPreferencesPrivate.
-
-2008-01-19 Mark Rowe <mrowe@apple.com>
-
- Fix inconsistent line endings and set svn:eol-style=native
- on IDL files that did not have it set.
-
- * Interfaces/IGEN_DOMObject.idl:
-
-2008-01-18 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5693854> REGRESSION (r29581): fast/events/frame-click-focus.html failing
-
- Restored the previous behavior of IWebViewPrivate::updateActiveState,
- which DRT depends on, and renamed it to
- IWebViewPrivate::updateFocusedAndActiveState to be clearer about its
- side-effects.
-
- Reviewed by Adele.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebViewWndProc): Removed some FIXMEs that we no longer want to fix
- because the current design is better.
- (WebView::updateActiveState): This is now just a method of WebView,
- not any of its public interfaces.
- (WebView::updateFocusedAndActiveState): Performs the tasks that the
- old IWebViewPrivate::updateActiveState performed.
- * WebView.h:
-
-2008-01-18 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Adam Roben.
-
- Fix plugin-related tests in Debug_Internal configuration, which are failing because of CRT version mismatch
- between DRT and TestNetscapePlugin.
-
- * WebKit.vcproj/WebKit.sln: Use newly added TestNetscapePlugin Debug_Internal configuration.
-
-2008-01-17 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * WebKit.vcproj/WebKit.make:
-
-2008-01-16 Adam Roben <aroben@apple.com>
-
- Trigger activation changes at the right time by listening for WM_NCACTIVATE
-
- This is the final part of <rdar://5006915> Inactive look for Aqua
- controls
-
- WebView now listens to messages sent to its top-level parent window.
- When the top-level parent receives a WM_NCACTIVATE message, WebView
- recalculates whether it is contained within the current active window.
-
- Reviewed by Darin Adler.
-
- * Interfaces/IWebViewPrivate.idl:
- (IWebViewPrivate::windowAncestryDidChange): Added. WebKit clients
- should call this when they change the parent window chain of a
- WebView.
- * WebView.cpp:
- (WebView::WebView): Initialize new member.
- (findTopLevelParent): Added.
- (WebViewWndProc):
- - Separated activation handling from focus handling, now that
- activation handling is taken care of by updateActiveState
- exclusively.
- - Compare top-level parents in our WM_KILLFOCUS handler so that we
- really know if focus is staying inside our top-level window.
- - Update our active state on WM_WINDOWPOSCHANGED.
- - Added a WM_TIMER handler.
- (WebView::initWithFrame): Call windowAncestryDidChange after setting
- up our HWND as a child of the host window.
- (WebView::windowReceivedMessage): Added. Update our active state when
- our top-level parent receives a WM_NCACTIVATE message.
- (WebView::updateActiveStateSoon): Added.
- (WebView::setHostWindow): Call windowAncestryDidChange after changing
- the host window.
- (WebView::updateActiveState): We are active if our top-level parent is
- the same as the top-level parent of the active window.
- (WebView::windowAncestryDidChange): Added. Recalculates our top-level
- parent and registers as a listener for the new top-level parent's
- messages.
- * WebView.h: Made WebView and WindowMessageListener so that it can
- utilize WindowMessageBroadcaster to listen to its top-level parent's
- messages.
-
-2008-01-16 Adam Roben <aroben@apple.com>
-
- Updated for ScrollBarClient changes
-
- Reviewed by Darin Adler.
-
- * WebScrollBar.h:
- (WebScrollBar::isActive): Added.
-
-2008-01-16 Adam Roben <aroben@apple.com>
-
- Updated for changes to WebCore methods
-
- Focus and active state are now handled (somewhat) separately. Future
- patches will further separate these concepts.
-
- Reviewed by Darin Adler.
-
- * WebView.cpp:
- (WebViewWndProc): Updated for method renames.
- (WebView::updateActiveState): Only change the active state here. Focus
- is handled inside WM_SETFOCUS and WM_KILLFOCUS message handlers.
-
-2008-01-16 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/5097419> Cursor flickers when over window resizer
-
- Reviewed by Sam.
-
- * WebView.cpp:
- (WebViewWndProc): Don't set the resize cursor when over the non-border resize area.
-
-2008-01-15 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/5663888> Cannot type into a JavaScript prompt created from a timer
-
- Allow nested timers from javascript prompts to allow for WebView-based edit fields.
-
- Reviewed by Darin Adler.
-
- * WebChromeClient.cpp:
- (WebChromeClient::runJavaScriptPrompt):
-
-2008-01-14 Steve Falkenburg <sfalken@apple.com>
-
- Use shared vsprops for most vcproj properties.
-
- Reviewed by Darin Adler.
-
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj: Add missing Debug_Internal config.
-
-2008-01-11 Steve Falkenburg <sfalken@apple.com>
-
- Share common files across projects.
-
- Unify vsprops files
- Debug: common.vsprops, debug.vsprops
- Debug_Internal: common.vsprops, debug.vsprops, debug_internal.vsprops
- Release: common.vsprops, release.vsprops
-
- Shared properties can go into common.vsprops, shared debug settings can go into debug.vsprops.
- debug_internal.vsprops will be mostly empty except for file path prefix modifiers.
-
- Pull auto-version.sh, VERSION, and PRODUCTVERSION from tools.
-
- Reviewed by Adam Roben.
-
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/PRODUCTVERSION: Removed.
- * WebKit.vcproj/VERSION: Removed.
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebKit.vcproj/auto-version.sh: Removed.
- * WebKit.vcproj/debug.vsprops: Removed.
- * WebKit.vcproj/debug_internal.vsprops: Removed.
- * WebKit.vcproj/release.vsprops: Removed.
-
-2008-01-11 Adam Roben <aroben@apple.com>
-
- Fix Bug 16828: WebView never paints if first page load is canceled after being committed but before layout
-
- <http://bugs.webkit.org/show_bug.cgi?id=16828>
- <rdar://5682402>
-
- Now that we have 1) a real loader and 2) multiple FrameViews per
- Frame, we no longer need the hackery we had in our WM_PAINT handler
- that decided whether or not to paint. We now always want to paint,
- letting the swapping of FrameViews that happens in
- transitionToCommittedForNewPage handle which document gets painted.
-
- Reviewed by Hyatt.
-
- * WebView.cpp:
- (WebViewWndProc): Removed hackery that decided sometimes not to paint.
-
-2008-01-11 Mark Rowe <mrowe@apple.com>
-
- Windows build fix. Update to match method name in WebCore.
-
- * WebJavaScriptCollector.cpp:
- (WebJavaScriptCollector::collectOnAlternateThread):
-
-2008-01-10 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by John Sullivan.
-
- Updated for transition away from JavaScriptStatistics, which is gone now.
-
- * WebJavaScriptCollector.cpp:
- (WebJavaScriptCollector::collect):
- (WebJavaScriptCollector::collectOnAlternateThread):
- (WebJavaScriptCollector::objectCount):
-
-2008-01-10 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- - more build fixing
-
- * WebDatabaseManager.cpp:
- * WebSecurityOrigin.h:
-
-2008-01-10 Maciej Stachowiak <mjs@apple.com>
-
- Not reviewed, build fix.
-
- - try to fix build
-
- * WebDatabaseManager.cpp:
- (WebDatabaseManager::databasesWithOrigin):
- * WebSecurityOrigin.h:
-
-2008-01-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Sam.
-
- - remove SecurityOriginData and fold its functionality into SecurityOrigin
-
- * WebChromeClient.cpp:
- (WebChromeClient::requestQuotaIncreaseForNewDatabase):
- (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
- * WebChromeClient.h:
- * WebDatabaseManager.cpp:
- (WebDatabaseManager::origins):
- (WebDatabaseManager::databasesWithOrigin):
- (WebDatabaseManager::detailsForDatabaseWithOrigin):
- (WebDatabaseManager::deleteDatabasesWithOrigin):
- (WebDatabaseManager::deleteDatabaseWithOrigin):
- (WebDatabaseManager::dispatchDidModifyOrigin):
- (WebDatabaseManager::dispatchDidModifyDatabase):
- * WebDatabaseManager.h:
- * WebSecurityOrigin.cpp:
- (WebSecurityOrigin::createInstance):
- (WebSecurityOrigin::WebSecurityOrigin):
- (WebSecurityOrigin::protocol):
- (WebSecurityOrigin::domain):
- (WebSecurityOrigin::port):
- (WebSecurityOrigin::usage):
- (WebSecurityOrigin::quota):
- (WebSecurityOrigin::setQuota):
- * WebSecurityOrigin.h:
-
-2008-01-10 David Kilzer <ddkilzer@apple.com>
-
- dftables should be rewritten as a script
-
- <http://bugs.webkit.org/show_bug.cgi?id=16818>
- <rdar://problem/5681463>
-
- Reviewed by Darin Adler.
-
- * WebKit.vcproj/WebKit.sln: Removed reference to dftables project.
-
-2008-01-10 Adam Roben <aroben@apple.com>
-
- Fix many bugs by giving Windows one FrameView per page load
-
- Bugs include:
- <rdar://5659200>
- Windows back/forward cache causes crashes in the layout tests
- <rdar://5659355>
- <http://bugs.webkit.org/show_bug.cgi?id=16808>
- REGRESSION: PLT broken on Windows due to back/forward cache
- <rdar://5663654>
- <http://bugs.webkit.org/show_bug.cgi?id=16607>
- Random crashes in FrameView::scheduleRelayout while surfing
- Thinkgeek
-
- On Windows until now we've only had one FrameView per Frame. Once the
- back/forward cache was turned on this started causing assertions to
- fail and crashes to occur due to a single FrameView being both in the
- back/forward cache (possibly multiple times!) and used by a live
- document. We now create a new FrameView for each page load, just as
- Mac does.
-
- This has the side-effect of plugging some of the world leaks seen at
- the end of the PLT.
-
- Reviewed by Hyatt.
-
- * WebFrame.cpp:
- (WebFrame::initWithWebFrameView): Don't create the FrameView right
- away -- it'll be created when the load is committed.
- (WebFrame::transitionToCommittedFromCachedPage): Match the Mac by no
- longer calling resetMultipleFormSubmissionProtection here.
- (WebFrame::transitionToCommittedForNewPage): Ported code from
- -[WebCoreFrameBridge
- createFrameViewWithNSView:marginWidth:marginHeight:],
- -[WebCoreFrameBridge installInFrame:], and moved code here from
- WebFrame::initWithWebFrameView and WebView::initWithFrame. WebCore
- takes care of resetMultipleFormSubmissionProtection, just like it does
- on the Mac.
- * WebView.cpp:
- (WebView::initWithFrame): Moved FrameView initialization code to
- WebFrame::transitionToCommittedForNewPage.
-
-2008-01-09 Ada Chan <adachan@apple.com>
-
- Fix crash that could happen if the key we are passing to the HashMap is 0 in WebView::interpretKeyEvent().
-
- Reviewed by Darin Adler.
-
- * WebView.cpp:
- (WebView::interpretKeyEvent):
-
-2008-01-08 Steve Falkenburg <sfalken@apple.com>
-
- Fix build.
-
- * DOMCoreClasses.cpp:
-
-2008-01-07 Antti Koivisto <antti@apple.com>
-
- Try to fix the Windows build.
-
- * WebKit.vcproj/WebKit.sln:
-
-2008-01-07 Antti Koivisto <antti@apple.com>
-
- Reviewed by Steve.
-
- Re-enable media support in Windows build.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2008-01-07 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * WebKit.vcproj/InterfacesGenerated.vcproj:
-
-2008-01-07 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
-
- * WebView.cpp:
- (WebView::setShouldApplyMacFontAscentHack):
-
-2008-01-07 Holger Freyther <zecke@selfish.org>
-
- Reviewed by Alp Toker.
-
- * Qt and Gtk must know if a ContextMenuItem is checkable. Add a new ContextMenuItemType for checkable
- actions.
- * Use this information in the Gtk platform to create a GtkCheckMenuItem when needed.
- * Update the ContextMenuController to accept CheckableActionTypes as well.
- * Change ContextMenu.cpp to use the CheckableActionType. The information if a item is checkable
- was extracted from ContextMenu::checkOrEnableIfNeeded.
- * Update the Qt and Windows port.
-
- * WebContextMenuClient.cpp:
-
-2008-01-04 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Adam Roben.
-
- http://bugs.webkit.org/show_bug.cgi?id=16733
- REGRESSION: Crash on Safari Start
-
- * Interfaces/IWebViewPrivate.idl: Should have added a new method at the end.
-
-2008-01-04 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5611712> xsl:sort does not use a case folding sort, and the 'case-order' attribute is ignored (16077)
-
- * WebKit.vcproj/WebKit.vcproj: Link to icuin{_debug}.lib
-
-2008-01-04 Adam Roben <aroben@apple.com>
-
- Fix <rdar://4968855> Shift-PageUp/Shift-PageDown only select one line of text
-
- Test: platform/win/editing/selection/shift-page-down-up.html
-
- Reviewed by Oliver.
-
- * WebView.cpp: Correct the commands associated with
- Shift-PageUp/Shift-PageDown.
-
-2008-01-03 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5463489> A number of layout tests should be using execCommand instead of textInputController
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::executeCoreCommandByName):
- * WebView.h:
- Added an SPI to implement layoutTestController.execCommand.
-
-2008-01-03 Ada Chan <adachan@apple.com>
-
- Replaced the use of editor command "ForwardDelete" with "DeleteForward" to be consistent
- with our use of "DeleteBackward".
-
- Rubber-stamped by Jon.
-
- * WebView.cpp:
-
-2008-01-03 Ada Chan <adachan@apple.com>
-
- Regression: backspace stopped working on text inputs
- - Replaced the use of editor command "BackwardDelete" with "DeleteBackward" since it's no longer supported.
-
- Reviewed by Adam.
-
- * WebEditorClient.cpp:
- (WebEditorClient::textWillBeDeletedInTextField):
- * WebView.cpp:
-
-2008-01-02 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Maciej.
-
- Fixed <rdar://5283861> (problems scrolling in gmail message content area)
-
- * WebView.cpp:
- (WebView::keyDown):
- bubble scrolling from a key event
-
-2008-01-01 Matt Lilek <webkit@mattlilek.com>
-
- Attempt to fix the Windows bots until the bots
- can get the Quicktime SDK installed.
-
- * WebKit.vcproj/WebKit.sln:
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-12-30 Matt Lilek <webkit@mattlilek.com>
-
- Reviewed by Darin Adler.
-
- Bug 16578: Windows Web Inspector window needs minimum size
- http://bugs.webkit.org/show_bug.cgi?id=16578
-
- * WebInspectorClient.cpp:
- (WebInspectorClient::onGetMinMaxInfo):
- (WebInspectorWndProc):
- * WebInspectorClient.h:
-
-2007-12-21 Antti Koivisto <antti@apple.com>
-
- Reviewed by Steve.
-
- Build media support on Windows.
-
- * WebKit.vcproj/WebKit.sln:
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-12-21 Ada Chan <adachan@apple.com>
-
- Implemented DOMDocument::getElementById().
-
- Reviewed by Darin Adler.
-
- * DOMCoreClasses.cpp:
- (DOMDocument::getElementById):
-
-2007-12-21 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Steve and Darin.
-
- <rdar://problem/5497037> Win32: Accelerator keys (ctrl-x,c,v,w,q,etc) only fire keyUp,
- keyDown/Press consumed by accelerator table (14104)
-
- <rdar://problem/5346299> preventing default behavior for key down does not block accelerators like Ctrl+N
-
- This is WebKit part of a fix, most of which will be in Safari.
-
- * WebView.cpp:
- (WebViewWndProc): Return our result for WM_(SYS)KEYDOWN to let the client know whether
- further procesing is desired.
-
-2007-12-21 Alexey Proskuryakov <ap@webkit.org>
-
- Build fix: cannot use framework-style include for ProgIDMacros.h,
- because the file is only created on a later step.
-
- * ForEachCoClass.h:
-
-2007-12-20 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Steve.
-
- - <rdar://5656485> Drosera: Win: Nightly does not reliably connect to
- WebKit.
-
- - Drosera and Safari need to use the same ProgIDs in order for
- CoCreateInstance to work properly. The most robust way to do this is
- for WebKit to dynamically publish those ProgIDs.
-
- * ForEachCoClass.cpp: Added.
- (setUseOpenSourceWebKit):
- (progIDForClass):
- * ForEachCoClass.h: Added functionality to publish ProgIDs.
- * WebKit.vcproj/WebKit.def: Exposed added functions for applications.
- * WebKit.vcproj/WebKit.vcproj: Added ForEachCoClass.cpp
- * WebKit.vcproj/WebKit_debug.def: Exposed added functions fori
- applications.
-
-2007-12-19 Dave Hyatt <hyatt@apple.com>
-
- Add a fourth preference value for GDI text in the font smoothing prefs.
-
- Reviewed by mitz
-
- * Interfaces/IWebPreferences.idl:
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings):
- (WebPreferences::fontSmoothing):
- (WebPreferences::setFontSmoothing):
- * WebView.cpp:
- (WebView::notifyPreferencesChanged):
-
-2007-12-17 Darin Adler <darin@apple.com>
-
- Reviewed by Sam.
-
- - <rdar://4516170> Back/Forward Cache on Windows
-
- * WebFrame.cpp:
- (WebFrame::forceLayout): Implemented this. Just calling through to
- Frame::forceLayout matches the Mac pretty well and should be enough
- for now. Without this we won't repaint the new page when we go back
- and forward.
- (WebFrame::dispatchWillSubmitForm): Use COMPtr's AdoptCOM constructor
- instead of the adoptRef function.
- (WebFrame::restoreViewState): Removed unneeded notImplemented() call.
- This is implemented as much as it needs to be.
- (WebFrame::shouldGoToHistoryItem): Ditto.
- (WebFrame::saveViewStateToItem): Ditto.
- (WebFrame::canCachePage): Ditto, also changed it to return true. This
- is what was preventing the back/forward cache from running, and there's
- no need for any additional checks in the Windows version.
-
- * WebView.cpp:
- (PreferencesChangedOrRemovedObserver::onNotify): Fix backwards null check
- that was preventing this notification from ever being sent, which in turn
- meant that page cache had a capacity of 0.
- (WebView::initWithFrame): Removed unneeded setUsesPageCache(false) code.
- This actually was ineffective and ended up doing no harm, but we don't
- need it.
-
-2007-12-16 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- http://bugs.webkit.org/show_bug.cgi?id=16462
- REGRESSION: access keys broken on Windows
-
- * WebView.cpp: (WebView::keyPress): Handle system key presses as access keys.
-
-2007-12-15 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Maciej.
-
- http://bugs.webkit.org/show_bug.cgi?id=16436
- Alt+Space works incorrectly
-
- Test: platform/win/fast/events/alt-space-scroll.html
-
- * WebView.cpp:
- (WebView::keyDown):
- (WebView::keyPress):
- We do not handle WM_SYSCHAR events.
-
-2007-12-14 Dan Bernstein <mitz@apple.com>
-
- - yet another build fix
-
- * DOMHTMLClasses.cpp:
- (DOMHTMLDocument::URL):
-
-2007-12-14 Dan Bernstein <mitz@apple.com>
-
- - build fix
-
- * WebIconDatabase.h:
-
-2007-12-14 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - http://bugs.webkit.org/show_bug.cgi?id=16443
- implement some missing Windows WebKit functions
-
- * DOMHTMLClasses.cpp:
- (DOMHTMLDocument::URL): Implemented.
-
- * WebActionPropertyBag.cpp:
- (WebActionPropertyBag::Read): Fixed the WebActionElementKey case.
-
-2007-12-14 Darin Adler <darin@apple.com>
-
- Reviewed by Alexey.
-
- * WebView.cpp:
- (WebView::execCommand): Switched from Editor::execCommand to Editor:command.
- Updated name from MoveUpByPageAndModifyCaret to MovePageUp and from
- MoveDownByPageAndModifyCaret to MovePageDown.
- (WebView::copy): Switched from Editor::execCommand to Editor:command.
- (WebView::cut): Ditto.
- (WebView::paste): Ditto.
- (WebView::delete_): Ditto.
-
-2007-12-13 Steve Falkenburg <sfalken@apple.com>
-
- Move source file generation into its own vcproj to fix build dependencies.
-
- Reviewed by Adam.
-
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/InterfacesGenerated.vcproj: Added.
- * WebKit.vcproj/WebKit.sln:
- * WebKit.vcproj/WebKit.submit.sln:
- * WebKit.vcproj/build-generated-files.sh:
-
-2007-12-13 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
-
- Reviewed by Anders.
-
- * WebView.cpp:
- (WebViewWndProc): Repost paint messages and ignore all other messages
- when we're calling a plugin.
-
-2007-12-13 Steve Falkenburg <sfalken@apple.com>
-
- Fix project dependencies based on JavaScriptCore change.
-
- * WebKit.vcproj/WebKit.sln:
-
-2007-12-13 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Adele.
-
- http://bugs.webkit.org/show_bug.cgi?id=16421
- REGRESSION(r28669): Page scrolls down when you hit space key in text area
-
- Test: fast/events/space-scroll-event.html
-
- * WebView.cpp:
- (WebView::keyDown):
- (WebView::keyPress):
- Moved space handling to keyPress() to fix this bug and to match IE. Scrolling via arrow keys is correctly handled
- in keyDown().
-
-2007-12-12 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam Weinig
-
- Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
-
- Even though this new code isn't exercised yet because the page cache is still turned off for Windows, local testing
- has indicated it works well.
-
- * WebCachedPagePlatformData.h: Added.
- (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes an IWebDataSource and the object retains it
- (WebCachedPagePlatformData::clear):
- (WebCachedPagePlatformData::webDataSource):
-
- * WebFrame.cpp:
- (WebFrame::savePlatformDataToCachedPage):
- (WebFrame::transitionToCommittedFromCachedPage):
- (WebFrame::transitionToCommittedForNewPage):
- * WebFrame.h:
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-12-12 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * WebKit.vcproj/WebKit.make: Copy only what we need out of obj/bin.
-
-2007-12-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - revert my earlier crash fix after making WebCore return the empty
- editor command for the empty command name.
-
- * WebView.cpp:
- (WebView::handleEditingKeyboardEvent):
-
-2007-12-12 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/5071781> window.mouseout events are not
- sent to window when mouse moves out of window
-
- Hook up the windows mouse tracking logic to allow us to
- detect the mouse leaving the window.
-
- * WebView.cpp:
- (WebView::close):
- (WebView::handleMouseEvent):
- (WebViewWndProc):
- * WebView.h:
-
-2007-12-12 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Alexey Proskuryakov.
-
- - fix a crash when pressing a key that is not associated with a command
-
- * WebView.cpp:
- (WebView::handleEditingKeyboardEvent): Check if the result of
- interpretKeyEvent() is empty.
-
-2007-12-11 Sam Weinig <sam@webkit.org>
-
- Reviewed by Darin Adler.
-
- Scrub URL out of the tree in preparation for renaming KURL to URL.
-
- * WebFrame.cpp:
- (WebFrame::url):
- (WebFrame::dispatchWillPerformClientRedirect):
- (WebFrame::setTitle):
- (WebFrame::updateGlobalHistoryForStandardLoad):
- (WebFrame::updateGlobalHistoryForReload):
- (WebFrame::cancelledError):
- (WebFrame::blockedError):
- (WebFrame::interruptForPolicyChangeError):
- (WebFrame::createPlugin):
- * WebView.cpp:
- (WebView::notifyDidAddIcon):
-
-2007-12-10 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5636865>
- WebKit needs API to allow registering a protocol as local (RSS feeds appear unstyled)
-
- * Interfaces/IWebView.idl:
- * WebView.cpp:
- (WebView::registerURLSchemeAsLocal):
- * WebView.h:
-
-2007-12-11 Ada Chan <adachan@apple.com>
-
- Updated the database SPI to take in IWebFrame.
-
- Reviewed by Adam.
-
- * Interfaces/IWebUIDelegatePrivate.idl:
- * WebChromeClient.cpp:
- (WebChromeClient::requestQuotaIncreaseForNewDatabase):
- (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
-
-2007-12-11 Alexey Proskuryakov <ap@webkit.org>
-
- Windows build fix.
-
- * WebView.cpp:
- (WebView::interpretKeyEvent):
-
-2007-12-11 Darin Adler <darin@apple.com>
-
- * WebView.cpp:
- (WebView::handleEditingKeyboardEvent): Update for change to Editor API.
-
-2007-12-11 Alexey Proskuryakov <ap@webkit.org>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5535636>
- Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
-
- http://bugs.webkit.org/show_bug.cgi?id=13916
- JavaScript detects Tab as a character input on a textfield validation
-
- Listen to WM_CHAR messages, and actually pass the type of message received down to WebCore.
- Since WM_KEYDOWN == keydown and WM_CHAR == keypress, this allows for much better IE compatibility
- than layering Windows keyboard event handling on top of Mac one.
-
- * WebView.cpp:
- (WebView::keyUp): Do not special case Alt+F4 and Alt+Space - we don't get keyups for those anyway!
- (WebView::interpretKeyEvent): Renamed WindowsKeyCode() to windowsVirtualKeyCode().
- (WebView::handleEditingKeyboardEvent): Use the additional information about event type that
- we now pass with PlatformKeyboardEvent.
- (WebView::keyDown): (WebView::keyPress): Split WM_KEYDOWN and WM_CHAR handling in separate
- functions, pass them down as is, without trying to guess what WM_CHAR Windows would have sent
- for a given WM_KEYDOWN.
-
- (WebViewWndProc): Handle WM_CHAR and WM_SYSCHAR.
-
- * WebView.h: Removed inIMEKeyDown() - it doesn't look like we need it at all. At least, I didn't
- notice any regressions after removing the only call to it in WebEditorClient.
-
- * WebEditorClient.cpp:
- (WebEditorClient::handleKeyboardEvent):
- (WebEditorClient::handleInputMethodKeydown):
- * WebEditorClient.h:
- Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
- Renamed handleInputMethodKeypress() to handleInputMethodKeydown() and removed
- inIMEKeyDown()-related code.
-
-2007-12-10 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Sam Weinig.
-
- Updated for rename in JavaScriptCore.
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::functionName):
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
-
-2007-12-07 Steve Falkenburg <sfalken@apple.com>
-
- Fix version parsing.
-
- Rubber-stamped by Oliver.
-
- * WebKit.vcproj/auto-version.sh:
-
-2007-12-07 Steve Falkenburg <sfalken@apple.com>
-
- Fix build.
-
- * WebKit.vcproj/WebKit.vcproj:
- * WebScriptCallFrame.cpp:
-
-2007-12-07 Steve Falkenburg <sfalken@apple.com>
-
- Fix build.
-
- * WebHistory.cpp:
- (_WebCoreHistoryProvider::containsURL):
-
-2007-12-07 Geoffrey Garen <ggaren@apple.com>
-
- Tried to fix build by suppressing warning.
-
- * WebScriptCallFrame.cpp:
-
-2007-12-07 Darin Adler <darin@apple.com>
-
- Reviewed by Mitz.
-
- - http://bugs.webkit.org/show_bug.cgi?id=15981
- speed up visited-link code a bit
-
- * WebHistory.cpp: Removed unused Latin-1 code path.
- (_WebCoreHistoryProvider::containsItem): Updated for function name change.
-
-2007-12-07 Steve Falkenburg <sfalken@apple.com>
-
- Re-named our B&I flag from BUILDBOT to PRODUCTION.
- Fix our tiny versioning.
- Bump our product version.
- Use just the major version in the fallback VERSION files.
- Pick up the version numbers from the production builder.
-
- Reviewed by Sam Weinig.
-
- * Interfaces/WebKit.idl:
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/PRODUCTVERSION:
- * WebKit.vcproj/VERSION:
- * WebKit.vcproj/WebKit.make:
- * WebKit.vcproj/WebKit.rc:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/auto-version.sh:
- * WebKitDLL.cpp:
- (DllUnregisterServer):
-
-2007-12-07 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5624866> CFStringRef UI_STRING should use a cache and follow the CF "Get" model (current uses leak)
-
- Added a new class, LocalizedString, that wraps a CFStringRef and a
- WebCore::String. We store one LocalizedString for each key string.
-
- Reviewed by Steve.
-
- * WebLocalizableStrings.cpp: Changed our two HashMaps to map from
- WebCore::String to LocalizedString*.
- (LocalizedString::LocalizedString):
- (LocalizedString::operator CFStringRef):
- (LocalizedString::operator LPCTSTR): Code moved here from
- localizedLPCTSTR.
- (findCachedString): Changed to return a LocalizedString*.
- (cacheString): Changed to take a LocalizedString*.
- (localizedString): Changed to return a const LocalizedString&. We
- first try to find a cached LocalizedString. If there isn't one, we
- create a new one and cache it.
- (WebLocalizedLPCTSTRUTF8): Changed to call localizedString.
- (WebLocalizedLPCTSTR): Ditto.
-
-2007-12-07 Adam Roben <aroben@apple.com>
-
- Make WebLocalizableStrings work a little more like the Mac version
-
- Reviewed by Steve.
-
- * WebKit.vcproj/WebKit.def: Deprecated SetWebLocalizedStringMainBundle.
- * WebKit.vcproj/WebKit_debug.def: Ditto.
- * WebLocalizableStrings.cpp:
- (createWebKitBundle): Changed to only create the bundle once.
- (cfBundleForStringsBundle): Added. Code was factored out of
- copyLocalizedStringFromBundle. We now use the CFBundleGetMainBundle to
- get the main bundle and WebLocalizableStringsBundle's identifier to
- fetch the framework's bundle.
- (copyLocalizedStringFromBundle): Changed to call
- cfBundleForStringsBundle.
- (cacheString): Cleaned up logic a bit with an early return.
- (SetWebLocalizedStringMainBundle): Moved down with the other
- deprecated functions and made into a no-op.
-
-2007-12-07 Adam Roben <aroben@apple.com>
-
- Use SoftLinking.h in WebKitClassFactory.
-
- Reviewed by Oliver.
-
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::WebKitClassFactory): We don't have to worry about
- not finding STInitialize anymore now that a version of SafariTheme
- containing this function has shipped.
-
-2007-12-06 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5556378> Implemented database related UI delegate methods (prompts for new/enlarged databases)
-
- Reviewed by Darin Adler.
-
- * Interfaces/IWebUIDelegatePrivate.idl:
- * WebChromeClient.cpp:
- (WebChromeClient::requestQuotaIncreaseForNewDatabase):
- (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
-
-2007-12-06 Alice Liu <alice.liu@apple.com>
-
- Fixed <rdar://5540000> onbeforeunload doesn't fire when closing window/tab
-
- Reviewed by Darin Adler.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::shouldClose):
- * WebView.h:
-
-2007-12-06 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5615283> Crash in WebFrame::receivedPolicyDecision
-
- It's possible for a second policy listener to be created while we're
- waiting for a decision on the first policy listener. In this case we
- would crash when the first policy listener had a decision made. Mac
- WebKit already handles this by invalidating any existing policy
- listener when creating a new one.
-
- A test case is coming in a future commit.
-
- Reviewed by Anders.
-
- * WebFrame.cpp:
- (WebFrame::setUpPolicyListener): Copy the Mac behavior of invalidating
- any existing policy listener, and remove some assertions that we know
- can fire.
-
-2007-12-06 Adam Roben <aroben@apple.com>
-
- Add SPI so that DumpRenderTree can turn on the Mac font ascent hack
-
- Reviewed by Hyatt.
-
- * Interfaces/IWebViewPrivate.idl: Added new method declaration.
- * WebView.cpp:
- (WebView::setShouldApplyMacFontAscentHack): Added. Just calls down to
- FontData.
- * WebView.h:
-
-2007-12-06 Ada Chan <adachan@apple.com>
-
- Build fix.
-
- Reviewed by Geoff.
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
-
-2007-12-04 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Third step in refactoring JSGlobalObject: Moved data members and data
- member access from Interpreter to JSGlobalObject.
-
- * WebFrame.cpp:
- (WebFrame::globalContext):
- (WebFrame::attachScriptDebugger):
- (WebFrame::windowObjectCleared):
- * WebScriptDebugger.cpp:
- (WebScriptDebugger::WebScriptDebugger):
-
-2007-12-05 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/5625327> Crash toggling check grammar w/ spelling when no spell checker exists.
-
- Reviewed by Adam.
-
- * WebView.cpp:
- (WebView::setGrammarCheckingEnabled): Add null check
-
-2007-12-05 Adam Roben <aroben@apple.com>
-
- Expose WebView::setProhibitsMainFrameScrolling through IWebViewPrivate
-
- Reviewed by Steve.
-
- * Interfaces/IWebViewPrivate.idl: Added declaration.
- * WebInspectorClient.cpp:
- (WebInspectorClient::createPage): Updated for change to
- setProhibitsMainFrameScrolling signature.
- * WebView.cpp:
- (WebView::setProhibitsMainFrameScrolling): Updated and robustified.
- * WebView.h:
-
-2007-12-05 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Darin Adler.
-
- - WebKit/win part of fixing <rdar://problem/5111082> Flash popup video ad doesn't close when clicked at http://www.firestonecompleteautocare.com/
-
- * WebView.cpp:
- (WebView::initWithFrame): Attach the main frame's view.
-
-2007-12-04 Ada Chan <adachan@apple.com>
-
- Provide API for setting the default storage quota per database origin
-
- Reviewed by Jon.
-
- * Interfaces/IWebPreferencesPrivate.idl: added SPI to get/set default database quota
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings): default database quota is 5MB
- (WebPreferences::longlongValueForKey):
- (WebPreferences::setLongLongValue):
- (WebPreferences::defaultDatabaseQuota):
- (WebPreferences::setDefaultDatabaseQuota):
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::notifyPreferencesChanged): propagate default database quota change to WebCore settings.
-
-2007-12-04 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Adam and Darin.
-
- - Fixed a crasher where the top of the stack was not updated correctly.
- And set the eol style on IWebScriptCallFrame.idl file.
-
- * Interfaces/IWebScriptCallFrame.idl:
- * WebScriptDebugger.cpp:
- (WebScriptDebugger::atStatement):
- (WebScriptDebugger::leaveFrame):
-
-2007-11-27 Adam Roben <aroben@apple.com>
-
- Hook up the authorAndUserStylesEnabled preference
-
- This is the Windows counterpart of r28071.
-
- Reviewed by Maciej.
-
- * Interfaces/IWebPreferencesPrivate.idl: Added new method
- declarations.
- * WebPreferenceKeysPrivate.h: Added a new preference key.
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings): Set the default for the
- new preference.
- (WebPreferences::setAuthorAndUserStylesEnabled): Added.
- (WebPreferences::authorAndUserStylesEnabled): Added.
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::notifyPreferencesChanged): Communicate the new preference
- down to WebCore::Settings.
-
-2007-12-04 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Ollie.
-
- Don't crash if our JavaPlugin DLL can't be found
-
- * WebFrame.cpp:
- (WebFrame::createJavaAppletWidget): Added null check
-
-2007-12-04 Darin Adler <darin@apple.com>
-
- Reviewed by Kevin Decker.
-
- * WebFrame.cpp: Removed obsolete privateBrowsingEnabled.
- * WebFrame.h: Ditto.
-
-2007-12-04 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * WebScriptCallFrame.cpp:
-
-2007-12-03 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Dave Hyatt.
-
- - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
-
- * WebView.cpp:
- (WebViewWndProc): Removed call to sendResizeEvent() since FrameView
- sends them now.
-
-2007-12-03 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Adam.
-
- - <rdar://5618942> Drosera: Console window does not process everything
- correctly.
- - <rdar://5619005> Drosera: could be sped up by moving the
- WebScriptScope stuff into the WebScriptCallFrame.
- - Now the console can correctly process objects and does not receive
- notifications from JavaScriptCore about the JavaScript in Drosera's
- own process.
-
- * Interfaces/IWebScriptCallFrame.idl: Moved the variable lookup
- functions from WebScriptScope to here.
- * Interfaces/WebKit.idl: Removed WebScriptScope.
- * WebKit.vcproj/Interfaces.vcproj: Ditto.
- * WebKit.vcproj/WebKit.vcproj: Ditto.
- * WebKit.vcproj/WebKitGUID.vcproj: Ditto.
- * WebScriptCallFrame.cpp: Moved WebScriptScope functionality into here.
- (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString): Now
- returns a string value for things that are not strings.
- (WebScriptCallFrame::variableNames): Moved from WebScriptScope.
- (WebScriptCallFrame::valueForVariable): Moved from WebScriptScope.
- (WebScriptCallFrame::jsValueToString): Helper functions that converts
- any JSValue to a String.
- * WebScriptCallFrame.h: Moved WebScriptScope functionality into here.
- * WebScriptDebugger.cpp: Added nested guards so that Drosera does not
- receive notifications about JavaScript that Drosera is running just the
- JavaScript WebKit is running.
- (WebScriptDebugger::WebScriptDebugger):
- (WebScriptDebugger::sourceParsed):
- (WebScriptDebugger::callEvent):
- (WebScriptDebugger::atStatement):
- (WebScriptDebugger::returnEvent):
- (WebScriptDebugger::exception):
- * WebScriptDebugger.h: Ditto.
- * WebScriptScope.cpp: Removed.
- * WebScriptScope.h: Removed.
-
-2007-12-03 Mark Rowe <mrowe@apple.com>
-
- Speculative Windows build fix.
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
-
-2007-12-03 Adam Roben <aroben@apple.com>
-
- Another speculative Windows build fix
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
-
-2007-12-03 Adam Roben <aroben@apple.com>
-
- Speculative Windows build fix
-
- * WebFrame.cpp:
- (WebFrame::globalContext):
- (WebFrame::windowObjectCleared):
- * WebScriptDebugger.cpp:
- (WebScriptDebugger::WebScriptDebugger):
-
-2007-12-01 Sam Weinig <sam@webkit.org>
-
- Rename IWebViewPrivate::selectionImageRect to IWebViewPrivate::selectionRect.
-
- Rubber stamped by Adam Roben.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::selectionRect):
- * WebView.h:
-
-2007-11-30 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5621373> Added a way for the client to clear undo/redo
- operations from a WebView.
-
- Reviewed by Steve.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::clearUndoRedoOperations):
- * WebView.h:
-
-2007-11-29 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Sam.
-
- Add an IWebFrameLoadDelegate2 interface with a didClearWindowObject method
- that passes in the frame whose window has been cleared. This matches a newly
- added delegate method on the Mac.
-
- * Interfaces/IWebFrameLoadDelegate.idl:
- * WebFrame.cpp:
- (WebFrame::windowObjectCleared):
-
-2007-11-29 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Sam.
-
- - <rdar://5618976> Drosera: should listen for the WebScriptDebugServer
- dying and vice versa.
-
- * Interfaces/IWebScriptDebugListener.idl: Added the new function to the
- interface.
- * WebKit.vcproj/WebKit.def: Added the new function to the def file so
- Safari can tell WebKit when the server is dying.
- * WebKit.vcproj/WebKit_debug.def: Ditto.
- * WebKitDLL.cpp: Added the new function for Safari to call.
- (RunAsLocalServer):
- (LocalServerDidDie):
- * WebScriptDebugServer.cpp:
- (WebScriptDebugServer::WebScriptDebugServer): Removed unused member.
- (WebScriptDebugServer::sharedWebScriptDebugServer): Ditto, and added new
- member to prevent adding or removing listeners when the server is dying.
- (WebScriptDebugServer::addListener): Don't let new listeners be added
- when the server is dying.
- (WebScriptDebugServer::removeListener): Don't let listeners remove
- themselves when the server is dying. The server will remove them all
- anyways.
- (WebScriptDebugServer::serverDidDie): Notify all listeners that the
- server is dying and remove all listeners.
- * WebScriptDebugServer.h: Added the new method and removed an unused
- member.
-
-2007-11-29 Brady Eidson <beidson@apple.com>
-
- Build fix that works...?
-
- * WebChromeClient.h:
-
-2007-11-29 Brady Eidson <beidson@apple.com>
-
- Build fix
-
- * WebChromeClient.cpp:
- (WebChromeClient::requestQuotaIncreaseForNewDatabase):
- (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
-
-2007-11-29 Brady Eidson <beidson@apple.com>
-
- Keep it building with new client method
-
- * WebChromeClient.cpp:
- (ChromeClient::requestQuotaIncreaseForNewDatabase):
- (ChromeClient::requestQuotaIncreaseForDatabaseOperation):
- * WebChromeClient.h:
-
-2007-11-29 Dan Bernstein <mitz@apple.com>
-
- Reviewed by Beth Dakin and Darin Adler.
-
- - fix <rdar://problem/5346394> Contextmenu event doesn't fire on body element inside frame
-
- * WebView.cpp:
- (WebView::handleContextMenuEvent): Send the context menu event to the
- frame containing the node that was hit.
-
-2007-11-28 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Tim.
-
- - Added guards to the wait loop so execution would not hang and now the
- console window can process JavaScript.
-
- * WebScriptDebugServer.cpp:
- (WebScriptDebugServer::suspendProcessIfPaused):
-
-2007-11-28 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Implement the last bits of the WebDatabaseManager API.
-
- * Interfaces/IWebDatabaseManager.idl:
- * WebDatabaseManager.cpp:
- (isEqual):
- (WebDatabaseManager::sharedWebDatabaseManager):
- (WebDatabaseManager::dispatchDidModifyOrigin):
- (WebDatabaseManager::dispatchDidModifyDatabase):
- * WebDatabaseManager.h:
-
-2007-11-28 Anders Carlsson <andersca@apple.com>
-
- Get Drosera working again for real.
-
- * COMEnumVariant.h:
- (::Next):
-
-2007-11-27 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Maciej and Adam.
-
- - Added Drosera to the WebKit project.
-
- * WebKit.vcproj/WebKit.sln:
-
-2007-11-27 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Adam.
-
- Return bool from registerWebViewWindowClass, as nothing uses the ATOM.
- Set haveRegisteredWindowClass to true
-
- * WebView.cpp:
- (registerWebViewWindowClass):
-
-2007-11-27 Anders Carlsson <andersca@apple.com>
-
- Speculative fix to get Drosera working.
-
- * COMEnumVariant.h:
- (::Next):
- Update the number of elements fetched correctly.
-
-2007-11-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Some COM cleanup.
-
- * CFDictionaryPropertyBag.cpp:
- (CFDictionaryPropertyBag::QueryInterface):
- * CFDictionaryPropertyBag.h:
- * WebBackForwardList.cpp:
- (WebBackForwardList::addItem):
- (WebBackForwardList::removeItem):
- * WebDownload.cpp:
- (WebDownload::initWithRequest):
- * WebFrame.cpp:
- (WebFrame::loadRequest):
- (WebFrame::initWithWebFrameView):
- (WebFrame::webHistory):
- (WebFrame::dispatchWillSendRequest):
- * WebURLAuthenticationChallenge.cpp:
- (WebURLAuthenticationChallenge::QueryInterface):
- (WebURLAuthenticationChallenge::initWithProtectionSpace):
- * WebURLAuthenticationChallenge.h:
- * WebURLAuthenticationChallengeSender.cpp:
- (WebURLAuthenticationChallengeSender::QueryInterface):
- * WebURLAuthenticationChallengeSender.h:
- * WebURLResponse.cpp:
- (WebURLResponse::QueryInterface):
- * WebURLResponse.h:
- * WebView.cpp:
- (WebView::notifyDidAddIcon):
- (WebView::goToBackForwardItem):
- (WebView::canHandleRequest):
- (WebView::loadBackForwardListFromOtherView):
- (core):
-
-2007-11-27 Anders Carlsson <andersca@apple.com>
-
- Add COMEnumVariant.h to the project.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-11-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Return E_INVALIDARG if the databaseName BSTR is null.
-
- * WebDatabaseManager.cpp:
- (WebDatabaseManager::detailsForDatabaseWithOrigin):
- (WebDatabaseManager::deleteDatabaseWithOrigin):
-
-2007-11-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Implement the rest of the WebDatabaseManager API.
-
- * COMEnumVariant.h:
- * Interfaces/IWebDatabaseManager.idl:
- * WebDatabaseManager.cpp:
- (isEqual):
- (DatabaseDetailsPropertyBag::DatabaseDetailsPropertyBag):
- (DatabaseDetailsPropertyBag::~DatabaseDetailsPropertyBag):
- (DatabaseDetailsPropertyBag::createInstance):
- (DatabaseDetailsPropertyBag::AddRef):
- (DatabaseDetailsPropertyBag::Release):
- (DatabaseDetailsPropertyBag::QueryInterface):
- (DatabaseDetailsPropertyBag::Read):
- (DatabaseDetailsPropertyBag::Write):
- (WebDatabaseManager::detailsForDatabaseWithOrigin):
- (WebDatabaseManager::deleteAllDatabases):
- (WebDatabaseManager::deleteDatabasesWithOrigin):
- (WebDatabaseManager::deleteDatabaseWithOrigin):
- * WebDatabaseManager.h:
-
-2007-11-27 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5616098> The BSTR returned by WebHistoryItem::alternateTitle
- was not allocated correctly.
-
- Reviewed by Anders.
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::setAlternateTitle):
- (WebHistoryItem::alternateTitle):
- * WebHistoryItem.h:
-
-2007-11-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Use COMEnumVariant in WebScriptCallFrame and WebScriptScope.
-
- * WebScriptCallFrame.cpp:
- (WebScriptCallFrame::scopeChain):
- * WebScriptScope.cpp:
- (WebScriptScope::variableNames):
-
-2007-11-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Use the correct include paths.
-
- * COMEnumVariant.h:
-
-2007-11-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Add COMEnumVariant, a templatized class with implements IEnumVARIANT and lets
- you enumerate over a C++ container, be it WTF or STL.
-
- * COMEnumVariant.h: Added.
-
- * WebDatabaseManager.cpp:
- (WebDatabaseManager::origins):
- (WebDatabaseManager::databasesWithOrigin):
- Implement these using COMEnumVariant.
-
- * WebSecurityOrigin.cpp:
- (WebSecurityOrigin::QueryInterface):
- * WebSecurityOrigin.h:
- Add a UUID for the implementation so that other parts of WebKit can access
- the WebCore::SecurityOriginData object.
-
-2007-11-26 Adam Roben <aroben@apple.com>
-
- Take advantage of the new Color constructor that takes a CGColorRef
-
- This lets us handle grayscale colors (which only have 2 components).
-
- Reviewed by Darin Adler.
-
- * WebKitGraphics.cpp:
- (DrawTextAtPoint):
-
-2007-11-26 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * WebKit.vcproj/WebKit.make:
-
-2007-11-26 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * WebKit.vcproj/build-generated-files.sh:
-
-2007-11-26 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * WebKit.vcproj/build-generated-files.sh:
-
-2007-11-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Add an implementation of IWebSecurityOrigin and a partially stubbed out
- implementation of IWebDatabaseManager.
-
- * ForEachCoClass.h:
- * Interfaces/IWebDatabaseManager.idl:
- * Interfaces/WebKit.idl:
- * WebDatabaseManager.cpp:
- (WebDatabaseManager::createInstance):
- (WebDatabaseManager::WebDatabaseManager):
- (WebDatabaseManager::~WebDatabaseManager):
- (WebDatabaseManager::QueryInterface):
- (WebDatabaseManager::AddRef):
- (WebDatabaseManager::Release):
- (WebDatabaseManager::sharedWebDatabaseManager):
- (WebDatabaseManager::origins):
- (WebDatabaseManager::databasesWithOrigin):
- (WebDatabaseManager::detailsForDatabaseWithOrigin):
- (WebDatabaseManager::deleteAllDatabases):
- (WebDatabaseManager::deleteDatabasesWithOrigin):
- (WebDatabaseManager::deleteDatabaseWithOrigin):
- * WebDatabaseManager.h:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKitClassFactory.cpp:
- * WebSecurityOrigin.cpp: Added.
- (WebSecurityOrigin::createInstance):
- (WebSecurityOrigin::WebSecurityOrigin):
- (WebSecurityOrigin::~WebSecurityOrigin):
- (WebSecurityOrigin::QueryInterface):
- (WebSecurityOrigin::AddRef):
- (WebSecurityOrigin::Release):
- (WebSecurityOrigin::protocol):
- (WebSecurityOrigin::domain):
- (WebSecurityOrigin::port):
- (WebSecurityOrigin::usage):
- (WebSecurityOrigin::quota):
- (WebSecurityOrigin::setQuota):
- * WebSecurityOrigin.h: Added.
-
-2007-11-26 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Maciej.
-
- - Implemented displaying variables for Drosera on Win.
-
- * Interfaces/IWebScriptCallFrame.idl: Added a local function to be
- able to access the WebScriptCallFrame.
- * Interfaces/IWebScriptScope.idl: Implemented.
- * Interfaces/WebKit.idl: Added WebScriptScope to the tlb.
- * WebKit.vcproj/Interfaces.vcproj:
- * WebScriptCallFrame.cpp: Implemented the helper and accessor methods.
- (EnumScopes::Next): Fixed a bug where we did not release correctly and
- would accidentally destroy scopes.
- (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
- Implemented.
- (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString): Implemented
- * WebScriptCallFrame.h: Implemented the helper and accessor methods.
- (WebScriptCallFrame::impl):
- (WebScriptCallFrame::state):
- * WebScriptScope.cpp: Implmented.
- (EnumVariables::EnumVariables): Created an IEnumVariant over the
- variables to be able to pass a DCOM acceptable structure back to
- Drosera.
- (EnumVariables::createInstance):
- (EnumVariables::QueryInterface):
- (EnumVariables::AddRef):
- (EnumVariables::Release):
- (EnumVariables::Next):
- (EnumVariables::Skip):
- (EnumVariables::Reset):
- (EnumVariables::Clone):
- (WebScriptScope::WebScriptScope):
- (WebScriptScope::createInstance): Implemented.
- (WebScriptScope::variableNames): Implemented.
- (WebScriptScope::valueForVariable):
- * WebScriptScope.h: Implmeneted.
-
-2007-11-26 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Brady.
-
- Add IWebDatabaseManager and IWebSecurityOrigin interfaces.
-
- * Interfaces/IWebDatabaseManager.idl: Added.
- * Interfaces/IWebSecurityOrigin.idl: Added.
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
-
-2007-11-26 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Jon Honeycutt.
-
- Fall back to the default Policy Delegate in these functions,
- as is already done in dispatchDecidePolicyForNavigationAction
-
- * WebFrame.cpp:
- (WebFrame::dispatchDecidePolicyForMIMEType):
- (WebFrame::dispatchDecidePolicyForNewWindowAction):
- (WebFrame::dispatchUnableToImplementPolicy):
-
-2007-11-25 Adam Roben <aroben@apple.com>
-
- Fix a leak pointed out by Alexey
-
- * WebView.cpp:
- (getUpdateRects): Use a Vector<unsigned char>, since OwnPtr doesn't
- know to call delete[].
-
-2007-11-25 Adam Roben <aroben@apple.com>
-
- Fix Bug 16138: Reduce code duplication in WebView.cpp
-
- http://bugs.webkit.org/show_bug.cgi?id=16138
-
- Reviewed by Sam.
-
- * WebView.cpp:
- (getUpdateRects): Factored code out of updateBackingStore and paint
- into this new helper function.
- (WebView::updateBackingStore): Use getUpdateRects.
- (WebView::paint): Ditto.
- (WebView::paintIntoBackingStore): Changed to take a const IntRect&.
- (WebView::paintIntoWindow): Ditto.
- * WebView.h:
-
-2007-11-25 Adam Roben <aroben@apple.com>
-
- Add ImageDiff.vcproj to WebKit.sln
-
- Reviewed by Sam.
-
- * WebKit.vcproj/WebKit.sln:
-
-2007-11-17 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Mark Rowe.
-
- Bug 13470: i18n: The Web Inspector is not localizable
- http://bugs.webkit.org/show_bug.cgi?id=13470
-
- * English.lproj/Localizable.strings: Updated.
- * WebInspectorClient.cpp:
- (WebInspectorClient::localizedStringsURL): Empty stub.
- * WebInspectorClient.h: Added localizedStringsURL.
-
-2007-11-17 Alexey Proskuryakov <ap@webkit.org>
-
- Windows build fix.
-
- * WebView.cpp:
- (WebView::deleteSelection): Use canSmartCopyOrDelete() directly.
-
-2007-11-14 Adam Roben <aroben@apple.com>
-
- Change Interfaces to be a "Static Library" project
-
- Being a Utility project meant that Interfaces was rebuilding every
- time (Utility projects are supposed to handle their own dependencies).
- Interfaces isn't really a static library, but it means that VS will
- handle dependencies for us (and not complain about missing manifests
- like it did when the project was an Application).
-
- * WebKit.vcproj/Interfaces.vcproj:
-
-2007-11-14 Adam Roben <aroben@apple.com>
-
- Shut up FixMIDLHeaders.pl
-
- * WebKit.vcproj/FixMIDLHeaders.pl:
-
-2007-11-14 Adam Roben <aroben@apple.com>
-
- Change Interfaces to use a Utility configuration
-
- It had previously been marked as an "Application (.exe)", which is
- wrong but worked with most versions of Visual Studio.
-
- Rubberstamped by Steve.
-
- * WebKit.vcproj/Interfaces.vcproj:
-
-2007-11-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Get the new focus window from the wParam instead of calling GetFocus().
- Also, send blur even if there is no focused frame.
-
- * WebView.cpp:
- (WebViewWndProc):
-
-2007-11-14 Adam Roben <aroben@apple.com>
-
- Another build fix for systems without Cygwin in their PATH
-
- * WebKit.vcproj/Interfaces.vcproj: Add Cygwin to the PATH in the
- Post-Build Event.
-
-2007-11-13 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Adam.
-
- - Make Drosera show source, source URLs, and function stack on Windows
- and some minor fixes.
-
- * WebScriptCallFrame.cpp: Fixed a bug where the callFrame was not reffed
- properly before being returned, and changed functionName() to check for
- Null or if the name is empty.
- (EnumScopes::Clone):
- (WebScriptCallFrame::WebScriptCallFrame):
- (WebScriptCallFrame::createInstance):
- (WebScriptCallFrame::caller):
- (WebScriptCallFrame::functionName):
- * WebScriptCallFrame.h: Ditto
- * WebScriptDebugServer.cpp: Made the listenerSet static since we were
- already treating it as if it were. Removed the EnumViews stuff. This
- was added by Steve to demonstrate DCOM and he thought it would be needed
- by Drosera, but I don't believe it will be.
- Implemented suspendProcessIfPaused() also added calls to it at the end
- of several functions to ensure we pause if Drosera has told WebKit to.
- (WebScriptDebugServer::WebScriptDebugServer):
- (WebScriptDebugServer::sharedWebScriptDebugServer):
- (WebScriptDebugServer::addListener):
- (WebScriptDebugServer::removeListener):
- (WebScriptDebugServer::suspendProcessIfPaused):
- (WebScriptDebugServer::didLoadMainResourceForDataSource):
- (WebScriptDebugServer::didParseSource):
- (WebScriptDebugServer::failedToParseSource):
- (WebScriptDebugServer::didEnterCallFrame):
- (WebScriptDebugServer::willExecuteStatement):
- (WebScriptDebugServer::willLeaveCallFrame):
- (WebScriptDebugServer::exceptionWasRaised):
- * WebScriptDebugServer.h: Ditto.
- * WebScriptDebugger.cpp: The important change here is that leaveFrame()
- is called before willLeaveCallFrame(). I think there is some EOL stuff
- going on too.
- - It was the implementing of these functions that allows source, the
- source URLs and function stack to be displayed.
- (WebScriptDebugger::callEvent):
- (WebScriptDebugger::atStatement):
- (WebScriptDebugger::returnEvent):
- (WebScriptDebugger::exception):
- (WebScriptDebugger::enterFrame):
- (WebScriptDebugger::leaveFrame):
- * WebView.cpp: Removed the EnumView functions.
- (WebView::WebView):
- (WebView::~WebView):
-
-2007-11-13 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5346832> Infinite recursion when opening Web Inspector on more than one tab
-
- The bug was that multiple WebNodeHighlights would subclass the same
- browser window, leading to infinite recursion within
- SubclassedWndProc.
-
- WebNodeHighlight is now a WindowMessageListener, and lets
- WindowMessageBroadcaster handle subclassing the window.
-
- Reviewed by Ada.
-
- * WebNodeHighlight.cpp:
- (WebNodeHighlight::WebNodeHighlight): Initialize m_observedWindow
- member.
- (WebNodeHighlight::~WebNodeHighlight): Unregister as a listener for
- m_observedWindow.
- (WebNodeHighlight::highlight): Register as a listener.
- (WebNodeHighlight::windowReceivedMessage): Do the work that used to be
- done in SubclassedWndProc.
- * WebNodeHighlight.h: Made WebNodeHighlight a WindowMessageListener,
- and renamed m_subclassedWindow to m_observedWindow.
-
-2007-11-13 Adam Roben <aroben@apple.com>
-
- Build fix for systems that don't have Cygwin in their PATH
-
- * WebKit.vcproj/Interfaces.vcproj: Put Cygwin in the PATH before
- trying to run bash.
-
-2007-11-13 Steve Falkenburg <sfalken@apple.com>
-
- Add IDOMElementPrivate::font() to get an element's font
- as a WebFontDescription.
-
- Reviewed by Darin Adler.
-
- * DOMCoreClasses.cpp:
- (DOMElement::font):
- * DOMCoreClasses.h:
- * Interfaces/DOMPrivate.idl:
-
-2007-11-12 Adam Roben <aroben@apple.com>
-
- Windows build fix
-
- * WebKit.vcproj/WebKit.def: Export fastZeroedMalloc.
- * WebKit.vcproj/WebKit_debug.def: Ditto.
-
-2007-11-09 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Sam.
-
- <rdar://5585900>: Safari crashes when selected in context menu to open
- audio format files (au, aif) with QT 7.3
-
- The crash occurred on a machine where QT 7.3 was failing to initialize.
- The fix is to avoid sending streams to full-page plugins that've failed
- to load
-
- * WebFrame.cpp:
- (WebFrame::finishedLoading): Check plugin status before calling manual
- stream methods
- (WebFrame::setMainDocumentError): Same
- (WebFrame::committedLoad): Same
-
-2007-11-09 Sam Weinig <sam@webkit.org>
-
- Rubber stamped by Oliver.
-
- Make WebCore a dependency of Interfaces.
-
- * WebKit.vcproj/WebKit.sln:
-
-2007-11-04 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- <rdar://problem/5435940>
- The COM bindings for the DOM should be autogenerated like the other DOM bindings
-
- Initial commit of the autogeneration of the COM DOM Bindings. No behavior change
- is being introduced in this patch and to insure that no conflicts arise, a temporary
- prefix of "GEN_" has been used for all the new classes.
-
- The build architecture for these bindings differs slightly from the other autogenerated
- bindings. Instead of building in WebCore and migrating the resuting code to WebKit (as
- is done for the Objective-C bindigs currently), the IDLs and generation scripts are
- migrated to WebKit and built there. This is done with a series of scripts and Makefiles.
-
- This commit includes:
- - Hand rolled root class/Interface GEN_DOMObject used to facilated object creation
- and ref-counting.
- - Generating all of the Core DOM and most of HTML and CSS
- - Generating Event, EventTarget, and EventListener
-
- * DOMCreateInstance.cpp: Added.
- (domWrapperCache):
- (getDOMWrapper):
- (setDOMWrapper):
- (removeDOMWrapper):
- (GEN_DOMNode::createInstance):
- (GEN_DOMImplementation::createInstance):
- (GEN_DOMCSSRule::createInstance):
- (GEN_DOMStyleSheet::createInstance):
- (GEN_DOMCSSValue::createInstance):
- * DOMCreateInstance.h: Added.
- Temporary location for createInstance/object caching methods. This will be broken up
- into seperate files in the near future.
-
- * GEN_DOMObject.cpp: Added.
- (GEN_DOMObject::GEN_DOMObject):
- (GEN_DOMObject::~GEN_DOMObject):
- (GEN_DOMObject::QueryInterface):
- (GEN_DOMObject::AddRef):
- (GEN_DOMObject::Release):
- * GEN_DOMObject.h: Added.
- Hand rolled base class.
-
- * Interfaces/IGEN_DOMObject.idl: Added.
- Hand rolled base interface.
-
- * WebKit.vcproj/DerivedSources.make: Added.
- * WebKit.vcproj/FixMIDLHeaders.pl: Added.
- This script is required because MIDL is producing un-buildable code due to
- circular dependencies.
-
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebKit.vcproj/build-generated-files.sh: Added.
-
-2007-11-08 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Adam.
-
- - This patch does two main things.
- 1) It adds pragma warning guards around WebCore includes in WebKit files
- that were previously overlooked.
- 2) It implements almost the entireity of WebScriptDebugger. Only one
- function remains and that implementation is dependent on finishing the
- implementation of WebScriptScope.
-
- * WebScriptCallFrame.h:
- * WebScriptDebugServer.h:
- * WebScriptDebugger.cpp:
- (WebScriptDebugger::WebScriptDebugger):
- (WebScriptDebugger::sourceParsed):
- (WebScriptDebugger::callEvent):
- (WebScriptDebugger::atStatement):
- (WebScriptDebugger::returnEvent):
- (WebScriptDebugger::exception):
- (WebScriptDebugger::enterFrame):
- (WebScriptDebugger::leaveFrame):
- * WebScriptDebugger.h:
-
-2007-11-08 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/5491463> Wrong dates shown in History menu.
-
- Fix off-by-one error in Windows epoch.
-
- For the Windows DATE type, 1/1/1900 should be 2.0, not 1.0.
- DATE is the number of days since 12/30/1899.
-
- Reviewed by Ada.
-
- * MarshallingHelpers.cpp:
- (MarshallingHelpers::windowsEpochAbsoluteTime):
-
-2007-11-08 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Sam.
-
- - With this change Drosera can now get the source of a website and the
- listings of the sources it gets. This also lays the foundation for
- letting Drosera show the scope chain of the JavaScript stack.
-
- * Interfaces/IWebFrame.idl: Changed the signature of the local function,
- globalContext(), because COM was unable to marshal this object with the
- other signature.
- * Interfaces/IWebScriptDebugServer.idl: Of course adding and removing
- a listener cannot be done in a const function.
- * WebChromeClient.h: Added accessor to the WebView for the new added
- kit() function in WebFrame.
- (WebChromeClient::webView):
- * WebFrame.cpp: Added a script debugger object and the necessary
- functions to attach and communicate with it. Also needed to change the
- local function, globalContext(), because of a COM issue.
- (kit):
- (WebFrame::WebFrame):
- (WebFrame::globalContext):
- (WebFrame::loadData):
- (WebFrame::attachScriptDebugger):
- (WebFrame::detachScriptDebugger):
- (WebFrame::dispatchDidLoadMainResource):
- (WebFrame::windowObjectCleared):
- * WebFrame.h: Ditto.
- * WebHTMLRepresentation.cpp: Implemented documentSource so Drosera has
- some source code to display.
- (WebHTMLRepresentation::WebHTMLRepresentation):
- (WebHTMLRepresentation::documentSource):
- * WebKit.vcproj/WebKit.vcproj: Added the new WebScriptDebugger class.
- * WebScriptCallFrame.cpp: Implemented much of this class' functionality.
- (EnumScopes::EnumScopes): Made an EnumScopes class to create an
- IEnumVARIANT to wrap a ScopeChain for Drosera.
- (EnumScopes::QueryInterface):
- (EnumScopes::AddRef):
- (EnumScopes::Release):
- (EnumScopes::Next):
- (EnumScopes::Skip):
- (EnumScopes::Reset):
- (EnumScopes::Clone):
- (WebScriptCallFrame::caller):
- (WebScriptCallFrame::scopeChain):
- (WebScriptCallFrame::functionName):
- (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
- * WebScriptCallFrame.h: Added member data needed for the above functions
- * WebScriptDebugServer.cpp: Began implementing.
- (WebScriptDebugServer::listenerCount):
- (EnumViews::QueryInterface):
- (EnumViews::AddRef):
- (EnumViews::Release):
- (EnumViews::Next):
- (EnumViews::Skip):
- (EnumViews::Reset):
- (EnumViews::Clone):
- (WebScriptDebugServer::WebScriptDebugServer):
- (WebScriptDebugServer::createInstance):
- (WebScriptDebugServer::sharedWebScriptDebugServer):
- (WebScriptDebugServer::AddRef):
- (WebScriptDebugServer::Release):
- (WebScriptDebugServer::addListener):
- (WebScriptDebugServer::removeListener):
- (WebScriptDebugServer::step):
- (WebScriptDebugServer::pause):
- (WebScriptDebugServer::resume):
- (WebScriptDebugServer::isPaused):
- (WebScriptDebugServer::suspendProcessIfPaused):
- (WebScriptDebugServer::didLoadMainResourceForDataSource):
- (WebScriptDebugServer::didParseSource):
- (WebScriptDebugServer::failedToParseSource):
- (WebScriptDebugServer::didEnterCallFrame):
- (WebScriptDebugServer::willExecuteStatement):
- (WebScriptDebugServer::willLeaveCallFrame):
- (WebScriptDebugServer::exceptionWasRaised):
- * WebScriptDebugServer.h: Began implementing.
- * WebScriptDebugger.cpp: Added.
- (WebScriptDebugger::WebScriptDebugger):
- (WebScriptDebugger::sourceParsed):
- * WebScriptDebugger.h: Added.
- * WebScriptScope.cpp: Make this class use createInstance which is more
- in line with our guidelines.
- (WebScriptScope::WebScriptScope):
- (WebScriptScope::createInstance):
- * WebScriptScope.h:
-
-
-2007-11-07 Darin Adler <darin@apple.com>
-
- Reviewed by Steve.
-
- * Interfaces/IWebUIDelegate.idl: Added the functions needed below.
- * WebChromeClient.cpp:
- (WebChromeClient::setMenubarVisible): Eliminated the notImplemented()
- here by calling through the UI delegate.
- (WebChromeClient::menubarVisible): Ditto.
- (WebChromeClient::runDatabaseSizeLimitPrompt): Ditto.
-
-2007-11-07 Steve Falkenburg <sfalken@apple.com>
-
- Added IWebDocumentText available via QI from WebFrame.
-
- Reviewed by Sam.
-
- * WebFrame.cpp:
- (WebFrame::QueryInterface): Added IID_IWebDocumentText.
- (WebFrame::supportsTextEncoding): Stubbed out.
- (WebFrame::selectedString): Implemented.
- (WebFrame::selectAll): Stubbed out.
- (WebFrame::deselectAll): Stubbed out.
- * WebFrame.h:
-
-2007-11-07 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5569268> Crash when opening any FTP site in second tab/window
-
- Reviewed by Sam.
-
- * WebView.cpp:
- (WebView::initWithFrame): Set the ftpDirectoryTemplatePath for every
- Page, not just the first one.
-
-2007-11-06 Adam Roben <aroben@apple.com>
-
- Change WebLocalizableStrings to take UTF-8 C strings
-
- This matches the way things work on the Mac, and will allow source
- files containing localizable strings to be shared between Mac and
- Windows. The old functions have not been removed for compatibility
- reasons, but are now just wrappers around the new UTF-8 functions.
-
- Reviewed by Ada.
-
- * WebKit.vcproj/WebKit.def: Added new functions.
- * WebKit.vcproj/WebKit_debug.def: Ditto.
- * WebLocalizableStrings.cpp:
- (copyLocalizedStringFromBundle): Changed to take a WebCore::String
- representing the key.
- (localizedString): Refactored from WebLocalizedString. Takes a
- WebCore::String representing the key.
- (localizedLPCTSTR): Ditto for WebLocalizedLPCTSTR.
- (WebLocalizedStringUTF8): Added. Takes a UTF-8 C string as the key.
- (WebLocalizedLPCTSTRUTF8): Ditto.
- (WebLocalizedString): Changed to call localizedString.
- (WebLocalizedLPCTSTR): Changed to call localizedLPCTSTR.
- * WebLocalizableStrings.h: Changed macros to use the new UTF-8
- functions.
-
-2007-11-06 Darin Adler <darin@apple.com>
-
- Reviewed by Adam and Steve.
-
- - added hooks needed to implement showModalDialog on Windows
-
- * Interfaces/IWebUIDelegate.idl: Added canRunModal, createModalDialog,
- and runModal functions to the end of IWebUIDelegate3.
-
- * WebChromeClient.h: Added uiDelegate and uiDelegate2 helper functions,
- so it's easier to write client functions.
- * WebChromeClient.cpp:
- (WebChromeClient::createWindow): Implemented dialog case. Calls IWebUIDelegate3.
- (WebChromeClient::canRunModal): Implemented. Calls IWebUIDelegate3.
- (WebChromeClient::runModal): Ditto.
- (WebChromeClient::uiDelegate): Added.
- (WebChromeClient::uiDelegate2): Added.
- (WebChromeClient::uiDelegate3): Added.
-
-2007-11-06 Alexey Proskuryakov <ap@webkit.org>
-
- Rubber-stamped by Adam Roben.
-
- Windows build fix.
-
- * WebFrame.cpp:
- (WebFrame::string): plainText() returns a String now.
-
-2007-11-05 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5579772> Regression: AltGr does not work
- Testing whether alt-key is down is not the right test for system key event.
- Added a m_isSystemKey flag in PlatformKeyboardEvent to keep track of whether
- this is a system key event, check that flag instead in handleEditingKeyboardEvent().
-
- Reviewed by Oliver.
-
- * WebView.cpp:
- (WebView::keyUp):
- (WebView::handleEditingKeyboardEvent):
- (WebView::keyDown):
- (WebViewWndProc):
- * WebView.h:
-
-2007-11-05 Ada Chan <adachan@apple.com>
-
- Build fix.
-
- Reviewed by Tristan.
-
- * WebChromeClient.h:
-
-2007-11-05 Tristan O'Tierney <tristan@apple.com>
-
- Reviewed by Darin Adler.
-
- Part of the WebKit/WebCore API changes for
- <rdar://problem/5368188>
-
- * WebChromeClient.cpp:
- (WebChromeClient::createWindow):
- Removed usage of createModalDialog and revised to use new createWindow
- ChromeClient API.
-
-2007-11-04 Adam Roben <aroben@apple.com>
-
- Add IWebCache::disabled
-
- This matches the Mac WebCache class.
-
- Reviewed by Sam.
-
- * Interfaces/IWebCache.idl:
- * WebCache.cpp:
- (WebCache::disabled):
- * WebCache.h:
-
-2007-11-04 Adam Roben <aroben@apple.com>
-
- Add IWebInspector and a way to get one from a WebView
-
- This API matches the Mac one added in r27266.
-
- Reviewed by Sam.
-
- * Interfaces/IWebInspector.idl: Added.
- * Interfaces/IWebViewPrivate.idl: Added a new inspector method to
- match Mac.
- * WebInspector.cpp: Added.
- (WebInspector::createInstance):
- (WebInspector::WebInspector):
- (WebInspector::~WebInspector):
- (WebInspector::webViewClosed):
- (WebInspector::QueryInterface):
- (WebInspector::AddRef):
- (WebInspector::Release):
- (WebInspector::show):
- (WebInspector::showConsole):
- (WebInspector::showTimeline):
- (WebInspector::close):
- (WebInspector::attach):
- (WebInspector::detach):
- * WebInspector.h: Added.
- * WebKit.vcproj/Interfaces.vcproj: Added IWebInspector.idl.
- * WebKit.vcproj/WebKit.vcproj: Added WebInspector.{cpp,h}.
- * WebKit.vcproj/WebKitGUID.vcproj: Added IWebInspector_i.c.
- * WebView.cpp:
- (WebView::close): Notify the WebInspector that we're closing.
- (WebView::inspector): Added.
- * WebView.h:
-
-2007-11-04 Adam Roben <aroben@apple.com>
-
- Cache strings that come directly from WebLocalizedString
-
- Reviewed by Steve.
-
- * WebLocalizableStrings.cpp:
- (copyLocalizedStringFromBundle): This used to be WebLocalizedString,
- but is now just a static helper function.
- (findCachedStringInMap): Added static helper.
- (findCachedString): Refactored and cleaned up code from
- WebLocalizedLPCTSTR.
- (cacheString): Ditto.
- (WebLocalizedString): Rewrote to use the new helper functions.
- (WebLocalizedLPCTSTR): Changed to use the new helper functions.
-
-2007-11-03 Adam Roben <aroben@apple.com>
-
- Only override the default user agent string if we're actually given a custom one
-
- Reviewed by Sam.
-
- * WebView.cpp:
- (WebView::setCustomUserAgent):
-
-2007-11-01 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Alexey.
-
- Allow Shift, Ctrl, Alt, Meta and Capslock keys to be sent into WebCore.
-
- * WebView.cpp:
- (WebView::keyDown):
- (WebView::keyUp):
-
-2007-11-01 Kevin McCullough <kmccullough@apple.com>
-
- - Fixed a build failure
-
- * WebEditorClient.cpp:
- (WebEditorClient::textWillBeDeletedInTextField):
-
-2007-11-01 Adam Roben <aroben@apple.com>
-
- Fix the parameter type of WebLocalizedString to match the UI_STRING macro
-
- Reviewed by Sam.
-
- * WebLocalizableStrings.cpp:
- (WebLocalizedString):
- (WebLocalizedLPCTSTR):
- * WebLocalizableStrings.h:
-
-2007-11-01 Alexey Proskuryakov <ap@webkit.org>
-
- Rubber-stamped by Adam Roben.
-
- Rolled out r27326 - debug CRT seems to cause no problems after all.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-10-31 Adam Roben <aroben@apple.com>
-
- Switch the Debug configuration to using the non-debug CRT
-
- The debug CRT conflicts with what Safari uses, which causes loading
- problems.
-
- Reviewed by Steve.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-10-30 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Adam and Geoff.
-
- - Added the globalContext method so Drosera can ask a WebFrame for its
- context.
-
- * Interfaces/IWebFrame.idl:
- * WebFrame.cpp:
- * WebFrame.h:
-
-2007-10-30 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKitWin part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
- <rdar://problem/5110427> REGRESSION: Caps lock icon should show in password fields
-
- * WebView.cpp: (WebView::keyDown): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
-
-2007-10-29 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Adam and Maciej.
-
- - Added the IWebScriptScope interface which is used by Drosera to get
- information and run contextually significant code with respect to the
- current JS stack frame.
-
- * Interfaces/IWebScriptCallFrame.idl: Line endings changed, not sure why
- but the real changes were to change the return type of scopeChain() and
- the return type and name of evaluateWebScript() to
- stringByEvaluatingJavaScriptFromString().
- * Interfaces/IWebScriptScope.idl: Added.
- * WebKit.vcproj/Interfaces.vcproj: Added the new interface.
- * WebKit.vcproj/WebKit.vcproj: Added the files for the new class.
- * WebKit.vcproj/WebKitGUID.vcproj: Added the new interfaces.
- * WebScriptCallFrame.cpp: Changed the return type to E_NOTIMPL and
- asserted so it would be obvious if I accidentally try to use one of
- these functions before it's implemented.
- (WebScriptCallFrame::caller):
- (WebScriptCallFrame::scopeChain):
- (WebScriptCallFrame::functionName):
- (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString):
- * WebScriptCallFrame.h: Changed the return types mentioned above.
- * WebScriptDebugServer.cpp: Also changed the return type to E_NOTIMPL.
- (WebScriptDebugServer::addListener):
- (WebScriptDebugServer::removeListener):
- (WebScriptDebugServer::step):
- (WebScriptDebugServer::pause):
- (WebScriptDebugServer::resume):
- (WebScriptDebugServer::isPaused):
- * WebScriptScope.cpp: Added.
- (WebScriptScope::WebScriptScope):
- (WebScriptScope::~WebScriptScope):
- (WebScriptScope::QueryInterface):
- (WebScriptScope::AddRef):
- (WebScriptScope::Release):
- (WebScriptScope::getVariableNames):
- (WebScriptScope::getValueForVariable):
- * WebScriptScope.h: Added.
-
-2007-10-28 Darin Adler <darin@apple.com>
-
- - try to fix Windows build
-
- * WebKit.vcproj/WebKit.vcproj: Suppress warning 4800 (conversion to bool),
- since we don't want to add !! everywhere, and because HashTable.h has a
- conversion to bool of this type now.
-
-2007-10-27 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Adam.
-
- - Stubbed out IWebScriptCallFrame for Drosera.
-
- * Interfaces/IWebScriptCallFrame.idl: Added function declarations.
- * WebKit.vcproj/WebKit.vcproj: Added .h/.cpp files to the project.
- * WebScriptCallFrame.cpp: Added.
- (WebScriptCallFrame::WebScriptCallFrame):
- (WebScriptCallFrame::~WebScriptCallFrame):
- (WebScriptCallFrame::createInstance):
- (WebScriptCallFrame::QueryInterface):
- (WebScriptCallFrame::AddRef):
- (WebScriptCallFrame::Release):
- (WebScriptCallFrame::caller):
- (WebScriptCallFrame::scopeChain):
- (WebScriptCallFrame::functionName):
- (WebScriptCallFrame::evaluateWebScript):
- * WebScriptCallFrame.h: Added.
-
-2007-10-26 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Sam and Steve.
-
- - Added convenience methods for converting between BSTR and JSSTringRefs
- - Added WebKit_debug.def to the project.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKit_debug.def:
-
-2007-10-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Make debug builds run again.
-
- * WebView.cpp:
- (WebView::notifyPreferencesChanged):
-
-2007-10-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Remove JSStringRefCFHack.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-10-25 Sam Weinig <sam@webkit.org>
-
- Reviewed by Steve Falkenburg.
-
- Fix for <rdar://problem/5463608>
- Port WebKit cache model code (Windows needs a big disk cache, smarter memory cache)
-
- * Interfaces/IWebPreferences.idl:
- Deprecate pageCacheSize and objectCacheSize and add cacheModel/setCacheModel.
-
- * Interfaces/IWebPreferencesPrivate.idl:
- Add automaticallyDetectsCacheModel/setAutomaticallyDetectsCacheModel
-
- * WebFrame.cpp:
- (WebFrame::didPerformFirstNavigation):
- Implement based on the mac version.
-
- * WebKit.vcproj/WebKit.vcproj:
- * WebKitSystemBits.cpp: Added.
- (WebMemorySize): Moved and renamed from WebPreferences.cpp
- (WebVolumeFreeSize): Added.
- * WebKitSystemBits.h: Added.
- * WebPreferenceKeysPrivate.h: Added WebKitCacheModelPreferenceKey.
-
- * WebPreferences.cpp:
- (WebPreferences::sharedStandardPreferences):
- (WebPreferences::WebPreferences):
- (WebPreferences::initializeDefaultSettings): Added default for cacheModel.
- (WebPreferences::webPreferencesChangedNotification):
- (WebPreferences::webPreferencesRemovedNotification):
- (WebPreferences::initWithIdentifier): Post a preferences change notification.
- (WebPreferences::pageCacheSize): Deprecated.
- (WebPreferences::objectCacheSize): Deprecated.
- (WebPreferences::cacheModel): Added.
- (WebPreferences::setCacheModel): Added.
- (WebPreferences::setAutomaticallyDetectsCacheModel): Added.
- (WebPreferences::automaticallyDetectsCacheModel): Added.
- (WebPreferences::willAddToWebView): Added.
- (WebPreferences::didRemoveFromWebView): Added.
- * WebPreferences.h:
-
- * WebView.cpp:
- (PreferencesChangedOrRemovedObserver::PreferencesChangedOrRemovedObserver):
- (PreferencesChangedOrRemovedObserver::~PreferencesChangedOrRemovedObserver):
- (PreferencesChangedOrRemovedObserver::QueryInterface):
- (PreferencesChangedOrRemovedObserver::AddRef):
- (PreferencesChangedOrRemovedObserver::Release):
- (PreferencesChangedOrRemovedObserver::sharedInstance):
- (PreferencesChangedOrRemovedObserver::onNotify):
- (PreferencesChangedOrRemovedObserver::notifyPreferencesChanged):
- (PreferencesChangedOrRemovedObserver::notifyPreferencesRemoved):
- This singleton class updates static properties for all webviews when
- preferenceChange or preferenceRemoved notifications are fired for
- any WebPreference.
- (WebView::WebView):
- (WebView::~WebView):
- (initializeStaticObservers):
- (allWebViewsSet):
- (WebView::addToAllWebViewsSet):
- (WebView::removeFromAllWebViewsSet):
- (WebView::setCacheModel):
- (WebView::cacheModel):
- (WebView::didSetCacheModel):
- (WebView::maxCacheModelInAnyInstance):
- (WebView::close):
- (WebViewWndProc):
- (WebView::developerExtrasEnabled):
- (WebView::initWithFrame):
- (WebView::setPreferences):
- (WebView::preferences):
- (WebView::onNotify):
- (WebView::notifyPreferencesChanged):
- (updateSharedSettingsFromPreferencesIfNeeded):
- * WebView.h:
- Match the macs behavior by using explicit postings of notifications to
- update the preferences.
-
-2007-10-25 Adam Roben <aroben@apple.com>
-
- Update WebKit.sln for the removal of Release dftables
-
- * WebKit.vcproj/WebKit.sln:
-
-2007-10-25 Kevin McCullough <kmccullough@apple.com>
-
- Rubber stamped by Geoff.
-
- - Stubbed out the WebScriptDebugServer methods to give Drosera something
- to connect to and now the signature of the interface matches the mac.
-
- * Interfaces/IWebScriptDebugServer.idl:
- * WebScriptDebugServer.cpp:
- (WebScriptDebugServer::addListener):
- (WebScriptDebugServer::removeListener):
- (WebScriptDebugServer::step):
- (WebScriptDebugServer::pause):
- (WebScriptDebugServer::resume):
- (WebScriptDebugServer::isPaused):
- * WebScriptDebugServer.h:
-
-2007-10-24 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Darin Adler.
-
- - Renamed WebDebugProgram to WebScriptDebugServer to match the naming
- scheme on the mac.
-
- * Interfaces/IWebDebugProgram.idl: Removed.
- * Interfaces/IWebScriptDebugServer.idl: Copied from win/Interfaces/IWebDebugProgram.idl.
- * Interfaces/WebKit.idl:
- * WebDebugProgram.cpp: Removed.
- * WebDebugProgram.h: Removed.
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::CreateInstance):
- * WebKitDLL.cpp:
- (RunAsLocalServer):
- * WebScriptDebugServer.cpp: Copied from win/WebDebugProgram.cpp.
- (WebScriptDebugServer::WebScriptDebugServer):
- (WebScriptDebugServer::~WebScriptDebugServer):
- (WebScriptDebugServer::createInstance):
- (WebScriptDebugServer::QueryInterface):
- (WebScriptDebugServer::AddRef):
- (WebScriptDebugServer::Release):
- (WebScriptDebugServer::viewAdded):
- (WebScriptDebugServer::viewRemoved):
- (WebScriptDebugServer::attach):
- (WebScriptDebugServer::detach):
- (WebScriptDebugServer::statistics):
- (WebScriptDebugServer::webViews):
- * WebScriptDebugServer.h: Copied from win/WebDebugProgram.h.
- * WebView.cpp:
- (WebView::WebView):
- (WebView::~WebView):
-
-2007-10-24 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5549919> Initialize the font database before any font code is invoked
-
- We initialize the database in two places:
- 1. When instantiating WebKitClassFactory, which is guaranteed to
- happen before any WebView is instantiated.
- 2. When making a WebCore::Font in WebKitGraphics.
-
- This ensures that the font database will be populated before any font
- code is invoked. We rely on WebCore to only populate the database
- once.
-
- Reviewed by Ada.
-
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::WebKitClassFactory): Populate the font database.
- * WebKitGraphics.cpp:
- (makeFont): Ditto.
-
-2007-10-24 Adam Roben <aroben@apple.com>
-
- Add [I]WebTextRenderer
-
- Right now this class can only be used to add private fonts for use by
- the running process, but will eventually be the home of the
- WebKitGraphics functions.
-
- Reviewed by Ada.
-
- * ForEachCoClass.h: Added WebTextRenderer.
- * Interfaces/WebKit.idl: Ditto.
- * WebKit.vcproj/Interfaces.vcproj: Ditto.
- * WebKit.vcproj/WebKit.vcproj: Ditto.
- * WebKit.vcproj/WebKitGUID.vcproj: Ditto.
- * WebKitClassFactory.cpp: Ditto.
- * WebTextRenderer.cpp: Added.
- (WebTextRenderer::createInstance):
- (WebTextRenderer::WebTextRenderer):
- (WebTextRenderer::~WebTextRenderer):
- (WebTextRenderer::QueryInterface):
- (WebTextRenderer::AddRef):
- (WebTextRenderer::Release):
- (WebTextRenderer::registerPrivateFont):
- * WebTextRenderer.h: Added.
-
-2007-10-24 Adam Roben <aroben@apple.com>
-
- Use FOR_EACH_COCLASS in WebKitClassFactory
-
- Reviewed by Ada.
-
- * WebError.cpp:
- (WebError::createInstance): Added an overload that takes no arguments
- to make the macro used in WebKitClassFactory work.
- * WebError.h:
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::CreateInstance): Use FOR_EACH_COCLASS.
-
-2007-10-24 Adam Roben <aroben@apple.com>
-
- Put FOR_EACH_COCLASS macro into its own file and export it
-
- The macro used to be called FOR_EACH_CLASS and lived in WebKitDLL.cpp.
- This way we will be able to use the macro in more places that care
- about all WebKit's COM classes.
-
- Reviewed by Ada.
-
- * ForEachCoClass.h: Added.
- * WebKit.vcproj/WebKit.vcproj: Copy ForEachCoClass.h to
- WebKitOutputDir, and added it to the project.
- * WebKitDLL.cpp: Updated for macro rename, and changed to #undef the
- macros we pass to FOR_EACH_COCLASS after we're done with them.
-
-2007-10-24 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5552221> REGRESSION(310A24-ToT): Shortcut key disable. (15604)
-
- Reviewed by Adam.
-
- * WebView.cpp:
- (WebView::handleEditingKeyboardEvent): don't handle system key events as text input
- (WebView::keyDown): only remove WM_SYSCHAR message from the queue if we handle it.
- For WM_SYSCHAR message that we don't handle, let it stay in the queue and return
- false to let windows handle it.
-
-2007-10-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- Windows portion of <rdar://5554130>
-
- Slowly introduce Windows WebKit portion of the Database API that sets the
- on-disk location for databases
-
- * WebDatabaseManager.cpp: Added.
- (WebKitSetWebDatabasesPathIfNecessary):
- * WebDatabaseManager.h: Added.
-
- * WebKit.vcproj/WebKit.vcproj:
-
- * WebView.cpp:
- (WebView::initWithFrame): Call WebKitSetWebDatabasesPathIfNecessary()
-
-2007-10-24 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Sam, Steve and Darin.
-
- - Added stubs for what will be neede to let Drosera attach to the
- WebKit process and debug it.
-
- * Interfaces/IWebScriptCallFrame.idl: Added.
- * Interfaces/IWebScriptDebugListener.idl: Added.
- * Interfaces/WebKit.idl:
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
-
-2007-10-23 Adam Roben <aroben@apple.com>
-
- Move safe file creation code to WebCore
-
- Reviewed by Brady.
-
- * WebPreferences.cpp:
- (preferencesPath): Made into a static helper function.
- (WebPreferences::save): Now calls WebCore's safeCreateFile function.
- (WebPreferences::load): Uses String/CString to handle the UTF-8
- conversion.
- * WebPreferences.h: Removed preferencesPath and
- safeCreateFileWithData.
-
-2007-10-23 Adam Roben <aroben@apple.com>
-
- Reduce code duplication by using WebCore's FileSystem functions
-
- Reviewed by Brady.
-
- * WebIconDatabase.cpp: Removed a now-unused function and a fixed
- FIXME.
- (WebIconDatabase::init): Changed to use FileSystem functions.
- * WebPreferences.cpp:
- (WebPreferences::preferencesPath): Ditto.
-
-2007-10-23 Sam Weinig <sam@webkit.org>
-
- Make the WebNotificationCenter work with null (wildcard) and specific
- observed objects, matching NSNotificationCenter.
-
- - Removes the ObserverKey, ObserverHash, and ObserverKeyTraits as we now
- hash against the notification name only and check the object on notification
- posting.
- - Use OwnPtr for the WebNotificationCenterPrivate member variable.
-
- Reviewed by Adam Roben.
-
- * WebNotificationCenter.cpp:
- (WebNotificationCenter::WebNotificationCenter):
- (WebNotificationCenter::~WebNotificationCenter):
- (WebNotificationCenter::postNotificationInternal):
- (WebNotificationCenter::addObserver):
- (WebNotificationCenter::postNotification):
- (WebNotificationCenter::postNotificationName):
- (WebNotificationCenter::removeObserver):
- * WebNotificationCenter.h:
-
-2007-10-23 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5244261> SafariWin ignores cookie policy setting "never" in the preferences
- Custom WebPreferences (not the shared WebPreferences) could override the cookie accept
- policy setting on the default cookie storage. To fix that, I added a new method in
- WebView called updateGlobalSettingsFromPreferences() to handle updating the global pref
- options such as cookie accept policy, and it's only called to update changes from
- the shared WebPreferences.
-
- Use CLSID_WebPreferences and remove IID_WebPreferences.
-
- Reviewed by Darin and Adam.
-
- * WebPreferences.cpp:
- (WebPreferences::QueryInterface):
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::updateWebCoreSettingsFromPreferences):
- (WebView::updateGlobalSettingsFromPreferences):
- (WebView::updateSettingsFromPreferences):
- (WebView::developerExtrasEnabled):
- (WebView::initWithFrame):
- (WebView::onNotify):
- * WebView.h:
-
-2007-10-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- Keep windows building with new Chrome additions
-
- * WebChromeClient.cpp:
- * WebChromeClient.h:
-
-2007-10-18 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5547784> ProgIDMacros.h should explicitly use wide strings
-
- Reviewed by Adele.
-
- * ProgIDMacros.h: Always use wide strings instead of relying on the
- TEXT macro.
-
-2007-10-17 Adam Roben <aroben@apple.com>
-
- Fix for clean builds needed after r26683
-
- * WebView.cpp: Remove #include of non-existant file.
-
-2007-10-17 Anders Carlsson <andersca@apple.com>
-
- Update for locking primitive changes.
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::scheduleNotificationDelivery):
-
-2007-10-16 Adam Roben <aroben@apple.com>
-
- Remove WebKitInitializer
-
- Reviewed by Sam.
-
- * WebKit.vcproj/WebKit.sln:
-
-2007-10-16 Adam Roben <aroben@apple.com>
-
- Add FindSafari
-
- Reviewed by Darin Adler.
-
- * WebKit.vcproj/WebKit.sln:
-
-2007-10-16 Adam Roben <aroben@apple.com>
-
- Rename WebKit_debug.dll to WebKit.dll for the Debug configuration
-
- This is needed so that we can stop having Safari delay-load WebKit,
- which in turn is needed so that Maciej can land a JavaScript speedup
- which breaks delay-loading.
-
- Reviewed by Kevin McCullough.
-
- * WebKit.vcproj/WebKit.vcproj: Use WebKitDLLConfigSuffix for the name
- of our DLL and module definition file.
- * WebKit.vcproj/debug.vsprops: Added WebKitDLLConfigSuffix.
- * WebKit.vcproj/debug_internal.vsprops: Ditto.
- * WebKit.vcproj/release.vsprops: Ditto.
-
-2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Ollie.
-
- <rdar://5530789>: REGRESSION(303-310A19): Crash opening .wma files with
- MediaPlayer for the first time
-
- Failure to setup the stream in PluginView::didReceiveResponse will lead,
- in a full-page plugin, to the main document load being cancelled. This
- is the case with at least two versions of Windows Media Player, which
- cancels the stream and brings up its own "Welcome to Windows Media
- Player" dialog.
-
- As part of the main document load cancellation, m_pluginView is set to
- null, and the crash came from dereferencing this pointer. This patch
- adds a null check.
-
- * WebFrame.cpp:
- (WebFrame::finishedLoading): Fix some typos
- (WebFrame::committedLoad): Added a null check
-
-2007-10-15 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Sam Weinig.
-
- Fixed <rdar://5382546> layoutTestController.setCustomPolicyDelegate is unimplemented causing tests to fail
-
- * DefaultPolicyDelegate.cpp: Added.
- Implementation is a direct port of WebKit/DefaultDelegates/WebDefaultPolicyDelegate.m
- (DefaultPolicyDelegate::DefaultPolicyDelegate):
- (DefaultPolicyDelegate::~DefaultPolicyDelegate):
- (DefaultPolicyDelegate::sharedInstance):
- (DefaultPolicyDelegate::createInstance):
- (DefaultPolicyDelegate::QueryInterface):
- (DefaultPolicyDelegate::AddRef):
- (DefaultPolicyDelegate::Release):
- (DefaultPolicyDelegate::decidePolicyForNavigationAction):
- (DefaultPolicyDelegate::decidePolicyForNewWindowAction):
- (DefaultPolicyDelegate::decidePolicyForMIMEType):
- (DefaultPolicyDelegate::unableToImplementPolicyWithError):
- * DefaultPolicyDelegate.h: Added.
- * WebFrame.cpp:
- (WebFrame::dispatchDecidePolicyForNavigationAction):
- Implemented default action
- * WebKit.vcproj/WebKit.vcproj:
- Adding files to project
-
-2007-10-12 Steve Falkenburg <sfalken@apple.com>
-
- Move pthreads up in the linker order and don't mark it for delay load.
- Fixes crash during regsvr32 of WebKit (currently repro if you do a spade ti).
-
- Reviewed by Darin, Ada.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-10-11 Steve Falkenburg <sfalken@apple.com>
-
- Delay load additional libraries to improve startup time.
-
- Reviewed by Darin, Ada.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-10-11 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5534421>
- Switched to using wkGetDefaultHTTPCookieStorage() to avoid recreating CFHTTPCookieStorageRef.
- Removed usage of ResourceHandle::cookieStorage().
-
- Reviewed by Oliver.
-
- * WebView.cpp:
- (WebView::updateWebCoreSettingsFromPreferences):
- (WebView::initWithFrame):
-
-2007-10-10 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Geoff Garen.
-
- Fixed <rdar://5464402> Crash when running fast/frames/onload-remove-iframe-crash.html in DRT
-
- * WebFrame.cpp:
- (WebFrame::createFrame):
- The crash was caused by the early destruction of the subframe. To resolve this issue,
- the manual deref of the child frame that occurs in between being appended to the
- frametree and being used in loadURLIntoChild wasn't exactly incorrect, but just needed
- to be moved until after loadURLIntoChild. This hasn't been a problem for other uses of
- child frames because this test case involves removing a child frame immediately after
- loading it, all in an onload handler. Even better than just moving the deref would be
- to change the signature of createFrame to use a RefPtr<Frame> so that a manual deref isn't
- necessary. This is what was done in this patch.
- * WebFrame.h:
- createFrame() now returns a RefPtr instead of a raw Frame pointer.
- Making this change improves the way we handle frames on Windows WebKit.
-
-
-2007-10-05 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5436617>
- Implement WebIconDatabase::delayDatabaseCleanup() and WebIconDatabase::allowDatabaseCleanup().
-
- Reviewed by Brady.
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::delayDatabaseCleanup):
- (WebIconDatabase::allowDatabaseCleanup):
-
-2007-10-04 Adele Peterson <adele@apple.com>
-
- * Interfaces/IWebViewPrivate.idl: Moving setInitialFocus down to the end to avoid breaking the OpenSource build.
-
-2007-10-04 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit/win part of fix for <rdar://problem/5369017> REGRESSION: Can't tab to webview that doesn't have editable content
-
- * WebView.cpp: Added setInitialFocus so the application can specify that its handing off focus to WebKit
- and so that it can specify the focus direction.
- * WebView.h: ditto.
- * Interfaces/IWebViewPrivate.idl: ditto.
-
-2007-10-03 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5521230> Implement IWebIconDatabase::iconURLForURL in WebKit for windows
-
- Reviewed by Steve and Brady.
-
- * Interfaces/IWebIconDatabase.idl:
- * WebIconDatabase.cpp:
- (WebIconDatabase::iconURLForURL):
- * WebIconDatabase.h:
-
-2007-10-02 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Adam Roben.
-
- * Interfaces/IWebPreferences.idl: Remove unnecessary comments.
-
-2007-10-02 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - started using the new OwnPtr everywhere we do DeleteObject
-
- * WebNodeHighlight.cpp:
- (WebNodeHighlight::updateWindow):
- * WebView.cpp:
- (WebView::WebView):
- (WebView::deleteBackingStore):
- (WebView::ensureBackingStore):
- (WebView::addToDirtyRegion):
- (WebView::scrollBackingStore):
- (WebView::updateBackingStore):
- (WebView::paint):
- (WebView::paintIntoBackingStore):
- (WebView::paintIntoWindow):
- * WebView.h:
-
-2007-10-02 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5505062> WebKit's version-independent ProgIDs contain version numbers
-
- I also added a few registry keys for our version-independent ProgIDs
- that we were missing.
-
- Reviewed by Steve.
-
- * ProgIDMacros.h: Added new macros to get version-independent ProgIDs.
- * WebKitDLL.cpp: Use the version-independent ProgIDs in the right
- places, and added some new keys for version-independent ProgIDs.
-
-2007-10-02 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Fix a bug discovered by app verifier where we would treat an LPCTSTR as a BSTR causing a crash.
-
- Also rename some protection space constants and change their values to match the mac version.
-
- * Interfaces/IWebURLAuthenticationChallenge.idl:
- * WebURLProtectionSpace.cpp:
- (WebURLProtectionSpace::initWithHost):
- (WebURLProtectionSpace::initWithProxyHost):
- (WebURLProtectionSpace::protocol):
- (WebURLProtectionSpace::proxyType):
-
-2007-09-29 Adam Roben <aroben@apple.com>
-
- Clean-up in preparation for <rdar://5505062> WebKit's version-independent ProgIDs contain version numbers
-
- Reviewed by Steve.
-
- * ProgIDMacros.h: Stringify the passed in class name.
- * WebKitDLL.cpp: Added a FOR_EACH_CLASS macro to ensure that our class
- lists stay in the right order, and updated uses of the *_PROGID macros
- for to take the stringification into account.
-
-2007-09-27 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Darin Adler.
-
- - <rdar://5261371> Nothing downloaded when exporting bookmarks from iGoogle web history
- - Implemented IWebHTTPURLResponse::allHeaderFields so that if the content disposition is "attachment" we will download the file instead of display it. Also implemented some missing functionality.
-
- * HTTPHeaderPropertyBag.cpp: Added.
- (HTTPHeaderPropertyBag::HTTPHeaderPropertyBag):
- (HTTPHeaderPropertyBag::createInstance):
- (HTTPHeaderPropertyBag::setResponse):
- (HTTPHeaderPropertyBag::response):
- (HTTPHeaderPropertyBag::QueryInterface):
- (HTTPHeaderPropertyBag::AddRef):
- (HTTPHeaderPropertyBag::Release):
- (ConvertFromLPCOLESTR):
- (ConvertToVariant):
- (ConvertFromVariant):
- (HTTPHeaderPropertyBag::Read):
- (HTTPHeaderPropertyBag::Write):
- * HTTPHeaderPropertyBag.h: Added.
- * Interfaces/IWebHTTPURLResponse.idl:
- * WebKit.vcproj/WebKit.vcproj:
- * WebURLResponse.cpp:
- (WebURLResponse::allHeaderFields):
- (WebURLResponse::isAttachment):
- * WebURLResponse.h:
-
-2007-09-27 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5507481> Added a delegate method to inform the client
- app that WebView has painted.
-
- Reviewed by Steve.
-
- * Interfaces/IWebUIDelegatePrivate.idl:
- * WebView.cpp:
- (WebView::updateBackingStore):
-
-2007-09-25 Adam Roben <aroben@apple.com>
-
- Add WebKitInitializer to WebKit.sln
-
- Reviewed by Sam.
-
- * WebKit.vcproj/WebKit.sln: DumpRenderTree and testkjs now depend on
- WebKitInitializer.
-
-2007-09-25 Darin Adler <darin@apple.com>
-
- Reviewed by Steve.
-
- - fix <rdar://problem/5095701> Download requring HTTP auth fails
- (progress bar forever)
-
- The functions in WebDownload relating to authentication challenges needed
- to be implemented.
-
- * WebDownload.cpp:
- (WebDownload::cancelAuthenticationChallenge): Implement.
- (WebDownload::continueWithoutCredentialForAuthenticationChallenge): Ditto.
- (WebDownload::useCredential): Ditto.
- (WebDownload::willSendRequest): Fix storage leak by adopting request
- and response after creating them. Also retain the result before returning
- it, since that's the API contract with CFNetwork.
- (WebDownload::didReceiveAuthenticationChallenge): Implement.
- (WebDownload::didReceiveResponse): Fix storage leak by adopting response.
- (WebDownload::willResumeWithResponse): Ditto.
- (WebDownload::didFail): Ditto.
-
- * WebURLAuthenticationChallenge.h: Get rid of the IID #define,
- instead using __declspec(uuid). Added a sender parameter to the
- create function and an m_sender data member.
- * WebURLAuthenticationChallenge.cpp:
- (WebURLAuthenticationChallenge::WebURLAuthenticationChallenge): Added an
- explicit sender parameter so this can be used with a WebDownload, which
- does not involve a ResourceHandle. Later we should clean this up and not
- involve WebCore or ResourceHandle directly even for the non-download case.
- (WebURLAuthenticationChallenge::createInstance): Added an overload for the
- case with an explicit sender parameter.
- (WebURLAuthenticationChallenge::QueryInterface): Use __uuidof for the ID
- of this class. In general, we should move to __uuidof as much as possible
- and keep the separate macros to a minimum -- but we should do this for all
- uses of each class at one time to make sure we don't run into problems
- with two different UUIDs for the same class. This patch does it for three
- classes.
- (WebURLAuthenticationChallenge::initWithProtectionSpace): Use the query
- constructor instead of an explicit QueryInterface for WebURLCredential.
- This is another class where I'm switching from CLSID/IID macros to the
- use of __uuidof, but in this case the use of __uuidof is implicit.
- (WebURLAuthenticationChallenge::initWithAuthenticationChallenge): Ditto,
- but for WebURLAuthenticationChallenge and WebURLAuthenticationChallengeSender.
- (WebURLAuthenticationChallenge::sender): Use the new m_sender member to
- cache the sender object and also use the one that was passed into the
- constructor, if any.
-
- * WebURLAuthenticationChallengeSender.h: Get rid of the IID #define,
- instead using __declspec(uuid). Also minimize includes and make data
- members private instead of protected.
- * WebURLAuthenticationChallengeSender.cpp:
- (WebURLAuthenticationChallengeSender::QueryInterface): Use __uuidof instead
- of IID macro.
- (WebURLAuthenticationChallengeSender::cancelAuthenticationChallenge):
- Use query constructor instead of QueryInterface.
- (WebURLAuthenticationChallengeSender::continueWithoutCredentialForAuthenticationChallenge):
- Ditto.
- (WebURLAuthenticationChallengeSender::useCredential): Ditto.
-
- * WebURLCredential.cpp: (WebURLCredential::QueryInterface): Use __uuidof
- instead of CLSID_WebURLCredential.
-
- - tangentially-related cleanup
-
- * WebFrame.cpp:
- (WebFrame::dispatchDidReceiveAuthenticationChallenge): Use the adopt
- constructor instead of a separate adoptRef call.
- (WebFrame::dispatchDidCancelAuthenticationChallenge): Ditto.
-
-2007-09-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by John Sullivan
-
- Fix for <rdar://5493371> - Crash in Icon Database on Windows
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::iconForURL): If the URL is NULL, fallback to the default icon without asking WebCore
-
-2007-09-24 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5499507> FrameView will always have size (0,0) if its parent WebView is never resized
-
- Reviewed by Darin Adler.
-
- * WebView.cpp:
- (WebView::initWithFrame): Set the main FrameView's size to the size of
- the WebView.
-
-2007-09-21 Kevin McCullough <kmccullough@apple.com>
-
- - Fixed a syntax guideline mistake.
-
- * WebChromeClient.cpp:
- (WebChromeClient::scrollbarsVisible):
-
-2007-09-20 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Steve.
-
- <rdar://problem/5487153> Korean characters are displayed as garbage with default encoding in some Korean web sites
-
- Adding support for per-localisation default character encodings on
- windows.
-
- * English.lproj/Localizable.strings:
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings):
-
-2007-09-20 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Oliver.
-
- - Added the ability to ask if scrollbars are visible
- - <rdar://problem/5496211> scrollbarsVisible in WebChromeClient is not implemented
-
- * WebChromeClient.cpp:
- (WebChromeClient::scrollbarsVisible):
-
-2007-09-20 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5477240> Regression: Footer is too high in print preview
-
- Reviewed by Steve.
-
- * WebFrame.cpp:
- (WebFrame::WebFrame): initialize new data member m_pageHeight, which is the height of the page adjusted for margins.
- (WebFrame::computePageRects): get the height of the page adjusted for margins by passing m_pageHeight to
- computePageRectsForFrame().
- (WebFrame::spoolPages): footer rect's top is the max of the bottom of the page content and the bottom of the page
- minus footer height.
- * WebFrame.h:
-
-2007-09-19 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Hyatt.
-
- - <rdar://problem/5101991> Avril Lavigne music player comes up in a window with scrollbars
- - Implementing missing scrollbar functionality to allow turning off scrollbars correctly.
-
- * Interfaces/IWebFrame.idl:
- * Interfaces/IWebFrameView.idl:
- * WebChromeClient.cpp:
- (WebChromeClient::setScrollbarsVisible):
- * WebFrame.cpp:
- (WebFrame::setAllowsScrolling):
- (WebFrame::allowsScrolling):
- (WebFrame::frameView):
- * WebFrame.h:
-
-2007-09-20 Brady Eidson <beidson@apple.com>
-
- Reviewed by Dave Hyatt
-
- <rdar://problem/5245981> - No favicon shows up for cnet.com
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::iconForURL): Call getHBITMAPOfSize
- (WebIconDatabase::getOrCreateDefaultIconBitmap): Ditto
-
-2007-09-19 Sam Weinig <sam@webkit.org>
-
- Rubber stamped by Adam Roben.
-
- * WebKit.vcproj/WebKit.sln: Update location of DumpRenderTree and TestNetscapePlugin
- to point to their new locations.
-
-2007-09-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- Final part of <rdar://problem/5471308> - Hook up async icon database on Windows
-
- * CFDictionaryPropertyBag.cpp:
- (CFDictionaryPropertyBag::CFDictionaryPropertyBag): Took the opportunity to rewrite with a RetainPtr
- since it became available after the initial implementation
- (CFDictionaryPropertyBag::setDictionary):
- (CFDictionaryPropertyBag::dictionary): Added accessor to the CFDictionaryRef to ease use within WebKit
- (CFDictionaryPropertyBag::QueryInterface): Added IID_CFDictionaryPropertyBag accessor
- (CFDictionaryPropertyBag::Read):
- (CFDictionaryPropertyBag::Write):
- * CFDictionaryPropertyBag.h: Added IID_CFDictionaryPropertyBag
-
- * WebFrame.cpp:
- (WebFrame::url): Added accessor, gets the current URL from WebCore
- (WebFrame::dispatchDidReceiveIcon): Calls through to the WebView
- (WebFrame::registerForIconNotification): Ditto
- * WebFrame.h:
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::iconDatabaseDidAddIconNotification):
- (WebIconDatabase::iconDatabaseNotificationUserInfoURLKey):
- (WebIconDatabase::iconDatabaseDidRemoveAllIconsNotification):
- (postDidRemoveAllIconsNotification):
- (postDidAddIconNotification):
- * WebIconDatabase.h:
-
- * WebView.cpp:
- (WebView::close): Unregister for the notification, just in case
- (WebView::notifyDidAddIcon): Called when the webview gets the didAddIcon notification, compares the url
- in the notification to the current main frame URL. If they match, calls to dispatchDidReceiveIconFromWebFrame
- (WebView::registerForIconNotification):
- (WebView::dispatchDidReceiveIconFromWebFrame): Dispatches the FrameLoadDelegate call. Once the delegate call is dispatched,
- either via the FrameLoaderClient interface of by listening for a notification, we know that our info is up to date in the
- IconDatabase and we don't need to listen for the generic notification any long, so we unregister for it here, as well.
- (WebView::onNotify): The WebView listens for two notifications now, so make the decision which was received
- * WebView.h:
-
-2007-09-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Ada and Geoff
-
- Part of <rdar://problem/5471308> - Get async Icon Database fully hooked up on Windows
-
- Hook up main thread delivery of Icon Database notifications from the secondary thread
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::WebIconDatabase): Initialize m_deliveryRequested
- (WebIconDatabase::init): Set the IconDatabaseClient to the shared WebIconDatabase
- (WebIconDatabase::dispatchDidRemoveAllIcons): Queue the notification to be delivered on the main thread then
- ask for the delivery
- (WebIconDatabase::dispatchDidAddIconForPageURL): Ditto
- (WebIconDatabase::scheduleNotificationDelivery): If the m_deliveryRequested hasn't been set, then set it
- and perform the callOnMainThread() for WebIconDatabase::deliverNotifications
- (postDidRemoveAllIconsNotification):
- (postDidAddIconNotification):
- (WebIconDatabase::deliverNotifications): Deliver all notifications in the current queue
- * WebIconDatabase.h:
-
-2007-09-17 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Fixed a hang due to an infinite script running in the window's unload
- event handler, which may be the cause of <rdar://problem/5479443>
- REGRESSION: Hang due to infinite JS recursion on close @ engadget.com
- (onunload-based ad)
-
- Added a bunch of WebKitMac's close features, and reordered others to
- match WebKitMac.
-
- * WebView.cpp:
- (WebView::close):
- (WebView::removeDragCaret):
-
-2007-09-17 Adam Roben <aroben@apple.com>
-
- Fix <rdar://4979801> overflow divs don't respond to keyboard scrolling (affects RSS pages)
-
- Reviewed by Hyatt.
-
- * WebView.cpp:
- (WebView::keyDown): Attempt to scroll an overflow area before
- scrolling the whole frame.
-
-2007-09-17 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- <rdar://problem/5471308> - Get async Icon Database fully hooked up on Windows
-
- Add a global "shut down WebKit" procedure to do cleanup at the engine level on quit.
- Critical now for the IconDatabase and might be for other things in the future.
-
- * WebKitDLL.cpp:
- (shutDownWebKit): For now, just close the IconDatabase
- (DllMain): On DLL_PROCESS_DETACH, call shutDownWebKit
-
-2007-09-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/5421997>
- http://bugs.webkit.org/show_bug.cgi?id=14247
- Display problem with Flash - image does not stop changing
-
- Port the manual load code over from the Mac version.
-
- * WebFrame.cpp:
- (WebFrame::WebFramePrivate::WebFramePrivate):
- Initialize the plugin pointer.
-
- (WebFrame::finishedLoading):
- (WebFrame::setMainDocumentError):
- (WebFrame::committedLoad):
- Feed the data to the plug-in.
-
- (WebFrame::redirectDataToPlugin):
- Store the plug-in widget.
-
-2007-09-14 Steve Falkenburg <sfalken@apple.com>
-
- Fix build.
-
- * WebFrame.cpp:
- (WebFrame::createPlugin):
- (WebFrame::createJavaAppletWidget):
-
-2007-09-13 Darin Adler <darin@apple.com>
-
- Reviewed by Oliver.
-
- - fix <rdar://problem/5470457> REGRESSION: Input method inline hole is mishandled in text
- <input> elements with maxlength limit
-
- * WebView.cpp:
- (WebView::resetIME): Change to use confirmCompositionWithoutDisturbingSelection.
- (WebView::updateSelectionForIME): Update for name changes, and to use new functions
- in Editor.
- (WebView::onIMEStartComposition): Removed unneeded call to unmarkText.
- (compositionToUnderlines): Removed startOffset parameter, since setComposition now
- handles this.
- (WebView::onIMEComposition): Changed to use confirmComposition and setComposition.
- Logic gets a lot cleaner.
- (WebView::onIMEEndComposition): Removed unneeded calls to Editor.
- (WebView::onIMERequestCharPosition): Updated for name changes.
-
-2007-09-12 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Fixing
- <rdar://problem/5018591> Windows doesn't have a standard vertical text cursor
- <rdar://problem/5224996> Add zoom in and zoom out cursors
-
- Add images for vertical text and zoom in and out cursors to WebKit resources.
-
- * WebKit.vcproj/verticalTextCursor.png: Added.
- * WebKit.vcproj/WebKit.rc:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/resource.h:
- * WebKit.vcproj/zoomInCursor.png: Added.
- * WebKit.vcproj/zoomOutCursor.png: Added.
- * WebKitDLL.cpp:
- (loadResourceIntoBuffer):
-
-2007-09-12 Adam Roben <aroben@apple.com>
-
- Initialize SafariTheme early in WebKit's instantiation
-
- New versions of SafariTheme will require this initialization. We have
- to use GetProcAddress for now since the initialize method doesn't
- exist in any released SafariTheme.
-
- Reviewed by Ada.
-
- * WebKit.vcproj/debug_internal.vsprops: Pick up the debug SafariTheme.
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::WebKitClassFactory): Call STInitialize.
-
-2007-09-12 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5478690> Regression: printing: footer only appears on the first page of print
-
- Reviewed by Adam.
-
- * WebFrame.cpp:
- (WebFrame::spoolPages): the footer rect is relative to the top left of the current page. So
- instead of passing pageRect.bottom() as the top of the footer rect (which is relative to the
- document), we should pass in headerHeight plus the height of the pageRect.
-
-2007-09-12 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin (reluctantly).
-
- <rdar://problem/5320461>
- http://bugs.webkit.org/show_bug.cgi?id=14548
- REGRESSION (r23987-r24061) : Reproducible crash with a local stylesheet file
-
- Add a workaround which converts the string passed in to an URL if it's a path.
-
- * WebView.cpp:
- (WebView::updateWebCoreSettingsFromPreferences):
-
-2007-09-10 Steve Falkenburg <sfalken@apple.com>
-
- Remove site-specific hacks that we don't need anymore.
-
- Reviewed by Adam.
-
- * WebView.cpp:
- (WebView::userAgentForKURL):
-
-2007-09-08 Steve Falkenburg <sfalken@apple.com>
-
- Prevent WebKit version numbers from containing "4" in Windows.
-
- Reviewed by Darin Adler.
-
- * WebKit.vcproj/VERSION: Bump version since our current version ends in 4.
- * WebKit.vcproj/auto-version.sh: Add version checking code.
-
-2007-09-08 Brady Eidson <beidson@apple.com>
-
- <rdar://problem/5434431> - Asynchronous Icon Database
-
- * WebFrame.cpp:
- (WebFrame::didPerformFirstNavigation): Empty impl for now
- (WebFrame::registerForIconNotification): Ditto
- * WebFrame.h:
-
-2007-09-05 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler, Maciej Stachowiak, Mark Rowe, Tim Hatcher.
-
- Fixed <rdar://problem/5326009> Make non-browser WebKit clients have no
- memory cache, or a very tiny one
-
- Keep the Windows build working with an empty stub.
-
- * WebFrame.cpp:
- (FrameLoaderClient::didPerformFirstNavigation):
- * WebFrame.h:
-
-2007-09-07 Ada Chan <adachan@apple.com>
-
- Need to let the OS handle Alt+F4.
-
- Reviewed by Hyatt.
-
- * WebView.cpp:
- (WebView::keyUp):
- (WebView::keyDown):
-
-2007-09-07 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Oliver.
-
- <rdar://problem/5461487>
- Seed: Embedded media content (Flash Player 9) inside RSS reported as unknown MIME type.
-
- Don't return ObjectContentNone if the URL's extension can't be mapped to a MIME type. If the MIME type is empty,
- we will try to display the content in a subframe instead, just like Mac WebKit.
-
- * WebFrame.cpp:
- (WebFrame::objectContentType):
-
-2007-09-07 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5395928> Need to be able to handle context menu item selection by index
-
- Reviewed by Beth.
-
- * WebView.cpp:
- (WebView::performContextMenuAction): performContextMenuAction() can now handle context menu
- item selection via WM_MENUCOMMAND (by specifying byPosition to be true). In that case, we
- get the ContextMenuItem by position rather than by action id.
- (WebViewWndProc): handle WM_MENUCOMMAND
- * WebView.h:
-
-2007-09-07 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5453494> Better lifetime management of WebDataSource and WebDocumentLoader
- The problem was that WebDataSource does not hold a strong reference to the WebDocumentLoader. If
- a WebDataSource is still around after the loader has been destroyed, it'll just point to
- a stale WebDocumentLoader.
- To fix this without a circular reference, WebDataSource now holds a strong reference to the
- WebDocumentLoader. The WebDocumentLoader holds a strong reference to the WebDataSource
- until it's detached from the WebFrame. When the WebDataSource is destroyed, it'll notify
- its WebDocumentLoader so the loader will clear any references to it.
-
- Reviewed by Darin Adler.
-
- * WebDataSource.cpp:
- (WebDataSource::~WebDataSource): call WebDocumentLoader::detachDataSource() so the loader
- will clear any references to this data source
- (WebDataSource::documentLoader): m_loader is now a RefPtr so we need to call get().
- * WebDataSource.h:
- * WebDocumentLoader.cpp:
- (WebDocumentLoader::WebDocumentLoader): initialize m_dataSource since it's no longer a COMPtr.
- (WebDocumentLoader::~WebDocumentLoader): release m_dataSource if necessary
- (WebDocumentLoader::setDataSource): add a reference to m_dataSource
- (WebDocumentLoader::dataSource):
- (WebDocumentLoader::detachDataSource): clear m_detachedDataSource.
- (WebDocumentLoader::attachToFrame): call setDataSource() so it'll add the reference to the data source if necessary.
- (WebDocumentLoader::detachFromFrame): release the reference to the data source
- * WebDocumentLoader.h:
-
-2007-09-05 Dave Hyatt <hyatt@apple.com>
-
- Make sure ALT+other keys is properly sent into the DOM so that Web pages (and editing fields) can
- detect key combos like ALT+Enter.
-
- Reviewed by Steve
-
- * WebView.cpp:
- (WebView::keyUp):
- (WebView::keyDown):
- (WebViewWndProc):
- * WebView.h:
-
-2007-09-04 Sam Weinig <sam@webkit.org>
-
- Build fix.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-09-01 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Sam.
-
- <rdar://problem/5344848> IME is incorrectly used for key events when on non-editable regions
-
- When focusing a password field or a non-editable element we disassociate any IME that may have
- been active, and reassociate should a non-password editable element is focused.
-
- This makes password input with an IME active simpler, and brings our IME behaviour in line with
- IE.
-
- * WebEditorClient.cpp:
- (WebEditorClient::setInputMethodState):
- * WebEditorClient.h:
- * WebView.cpp:
- (IMMDict::IMMDict):
- (WebView::setInputMethodState):
- * WebView.h:
-
-2007-08-31 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/5432594> Safari quits when hovering over mailto links on a webpage
-
- In addition to substituting %@ with %s, we also need to substitute %{1-9}$@ with %{1-9}$s.
-
- Reviewed by Oliver.
-
- * WebLocalizableStrings.cpp:
- (WebLocalizedLPCTSTR):
-
-2007-08-29 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5074612> Added SPI to retrieve certificate info from a WebError.
-
- Reviewed by Steve.
-
- * Interfaces/IWebErrorPrivate.idl: Added IWebErrorPrivate
- * WebError.cpp:
- (WebError::QueryInterface): WebError now also implements IWebErrorPrivate
- (WebError::sslPeerCertificate): retrieves certificate info from CFError's user info.
- * WebError.h:
- * WebKit.vcproj/WebKitGUID.vcproj: Added IWebErrorPrivate_i.c
-
-2007-08-28 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/5079253> Cannot set different margins for the page
-
- Added support for setting margins via page setup for Windows printing.
-
- Reviewed by Adam.
-
- * Interfaces/IWebUIDelegate.idl: Added webViewPrintingMarginRect.
- * WebFrame.cpp:
- (WebFrame::printerMarginRect): Added.
- (WebFrame::computePageRects): Account for margins when calculating page rects.
- (WebFrame::spoolPages): Position footer at the bottom of the page rect (fixes footer drawing if left/right margins are set).
- * WebFrame.h:
-
-2007-08-28 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/5444457>: Content is cut when page orientation changed
- in print preview
- Fix: Don't return WebFrame::m_pageRects if it exists; let
- computePageRectsForFrame clear and rewrite it.
-
- * WebFrame.cpp:
- (WebFrame::computePageRects): Removed an early-return case. Added a
- space.
-
-2007-08-28 Ada Chan <adachan@apple.com>
-
- <rdar://problem/4876242> Added SPI to fetch SSL certificate information.
-
- Reviewed by Adam and Steve.
-
- * Interfaces/IWebURLResponsePrivate.idl: Added.
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebURLResponse.cpp:
- (WebURLResponse::QueryInterface):
- (WebURLResponse::sslPeerCertificate): gets peer certificate context from CFNetwork
- (WebURLResponse::certificateDictionary): gets the dictionary that contains SSL certificate
- info from CFNetwork. We retain the dictionary to ensure the certificate context is valid
- throughout the lifetime of the WebURLResponse.
- * WebURLResponse.h:
-
-2007-08-27 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/5424801> REGRESSION (r25151): Web page area of window doesn't redraw if page isn't loaded
-
- Don't bypass WebView WM_PAINT if the WebView has never committed a page.
-
- Reviewed by Maciej.
-
- * WebView.cpp:
- (WebViewWndProc): Don't skip painting if we haven't committed any pages in this view.
-
-2007-08-25 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam and Sam
-
- <rdar://problem/5269732> Safari 3.0 for Windows cuts off text in textarea boxes during sending forms (14562)
- <http://bugs.webkit.org/show_bug.cgi?id=14562> [Win] Textarea contents partially eaten on submit/copy
-
- WebView::handleEditingKeyboardEvent assumed all keycodes that did not trigger a named command were
- to be inserted. This could cause unexpected behaviour when control characters (eg. escape) are sent,
- or could cause data loss when sent a null character (as happens when dead keys are used for international
- input).
-
- This patch corrects WebView::handleEditingKeyboardEvent to prevent such characters from being sent
- to Editor::insertText. This behaviour matches Firefox.
-
- * WebView.cpp:
- (WebView::handleEditingKeyboardEvent):
-
-2007-08-24 Sam Weinig <sam@webkit.org>
-
- Revert r25216 which renamed the COM DOM bindings to use Deprecated prefix.
-
-2007-08-24 Ada Chan <adachan@apple.com>
-
- <rdar://problem/5147315> and <rdar://problem/5183935>
- Added accelerator key mappings for Select All, Undo, and Redo.
-
- Reviewed by Adam.
-
- * WebView.cpp:
-
-2007-08-24 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Darin Adler.
-
- Part of <rdar://problem/5433236> Print preview of empty txt file crashes
- Safari
-
- * WebFrame.cpp:
- (WebFrame::computePageRects): Pass m_pageRects by reference into
- computePageRectsForFrame
-
-2007-08-24 Sam Weinig <sam@webkit.org>
-
- Rubber-stamped by Adam Roben.
-
- <rdar://problem/5434593> Deprecate current manually written COM DOM bindings in anticipation of autogeneration
-
- Rename COM DOM bindings to use Deprecated prefix.
-
- * DOMCSSClasses.cpp:
- (DeprecatedDOMCSSStyleDeclaration::DeprecatedDOMCSSStyleDeclaration):
- (DeprecatedDOMCSSStyleDeclaration::~DeprecatedDOMCSSStyleDeclaration):
- (DeprecatedDOMCSSStyleDeclaration::createInstance):
- (DeprecatedDOMCSSStyleDeclaration::QueryInterface):
- (DeprecatedDOMCSSStyleDeclaration::cssText):
- (DeprecatedDOMCSSStyleDeclaration::setCssText):
- (DeprecatedDOMCSSStyleDeclaration::getPropertyValue):
- (DeprecatedDOMCSSStyleDeclaration::getPropertyCSSValue):
- (DeprecatedDOMCSSStyleDeclaration::removeProperty):
- (DeprecatedDOMCSSStyleDeclaration::getPropertyPriority):
- (DeprecatedDOMCSSStyleDeclaration::setProperty):
- (DeprecatedDOMCSSStyleDeclaration::length):
- (DeprecatedDOMCSSStyleDeclaration::item):
- (DeprecatedDOMCSSStyleDeclaration::parentRule):
- * DOMCSSClasses.h:
- (DeprecatedDOMCSSStyleDeclaration::AddRef):
- (DeprecatedDOMCSSStyleDeclaration::Release):
- (DeprecatedDOMCSSStyleDeclaration::throwException):
- (DeprecatedDOMCSSStyleDeclaration::callWebScriptMethod):
- (DeprecatedDOMCSSStyleDeclaration::evaluateWebScript):
- (DeprecatedDOMCSSStyleDeclaration::removeWebScriptKey):
- (DeprecatedDOMCSSStyleDeclaration::stringRepresentation):
- (DeprecatedDOMCSSStyleDeclaration::webScriptValueAtIndex):
- (DeprecatedDOMCSSStyleDeclaration::setWebScriptValueAtIndex):
- (DeprecatedDOMCSSStyleDeclaration::setException):
- * DOMCoreClasses.cpp:
- (DeprecatedDOMObject::QueryInterface):
- (DeprecatedDOMNode::QueryInterface):
- (DeprecatedDOMNode::nodeName):
- (DeprecatedDOMNode::nodeValue):
- (DeprecatedDOMNode::setNodeValue):
- (DeprecatedDOMNode::nodeType):
- (DeprecatedDOMNode::parentNode):
- (DeprecatedDOMNode::childNodes):
- (DeprecatedDOMNode::firstChild):
- (DeprecatedDOMNode::lastChild):
- (DeprecatedDOMNode::previousSibling):
- (DeprecatedDOMNode::nextSibling):
- (DeprecatedDOMNode::attributes):
- (DeprecatedDOMNode::ownerDocument):
- (DeprecatedDOMNode::insertBefore):
- (DeprecatedDOMNode::replaceChild):
- (DeprecatedDOMNode::removeChild):
- (DeprecatedDOMNode::appendChild):
- (DeprecatedDOMNode::hasChildNodes):
- (DeprecatedDOMNode::cloneNode):
- (DeprecatedDOMNode::normalize):
- (DeprecatedDOMNode::isSupported):
- (DeprecatedDOMNode::namespaceURI):
- (DeprecatedDOMNode::prefix):
- (DeprecatedDOMNode::setPrefix):
- (DeprecatedDOMNode::localName):
- (DeprecatedDOMNode::hasAttributes):
- (DeprecatedDOMNode::isSameNode):
- (DeprecatedDOMNode::isEqualNode):
- (DeprecatedDOMNode::textContent):
- (DeprecatedDOMNode::setTextContent):
- (DeprecatedDOMNode::addEventListener):
- (DeprecatedDOMNode::removeEventListener):
- (DeprecatedDOMNode::dispatchEvent):
- (DeprecatedDOMNode::DeprecatedDOMNode):
- (DeprecatedDOMNode::~DeprecatedDOMNode):
- (DeprecatedDOMNode::createInstance):
- (DeprecatedDOMNodeList::QueryInterface):
- (DeprecatedDOMNodeList::item):
- (DeprecatedDOMNodeList::length):
- (DeprecatedDOMNodeList::DeprecatedDOMNodeList):
- (DeprecatedDOMNodeList::~DeprecatedDOMNodeList):
- (DeprecatedDOMNodeList::createInstance):
- (DeprecatedDOMDocument::QueryInterface):
- (DeprecatedDOMDocument::doctype):
- (DeprecatedDOMDocument::implementation):
- (DeprecatedDOMDocument::documentElement):
- (DeprecatedDOMDocument::createElement):
- (DeprecatedDOMDocument::createDocumentFragment):
- (DeprecatedDOMDocument::createTextNode):
- (DeprecatedDOMDocument::createComment):
- (DeprecatedDOMDocument::createCDATASection):
- (DeprecatedDOMDocument::createProcessingInstruction):
- (DeprecatedDOMDocument::createAttribute):
- (DeprecatedDOMDocument::createEntityReference):
- (DeprecatedDOMDocument::getElementsByTagName):
- (DeprecatedDOMDocument::importNode):
- (DeprecatedDOMDocument::createElementNS):
- (DeprecatedDOMDocument::createAttributeNS):
- (DeprecatedDOMDocument::getElementsByTagNameNS):
- (DeprecatedDOMDocument::getElementById):
- (DeprecatedDOMDocument::getComputedStyle):
- (DeprecatedDOMDocument::createEvent):
- (DeprecatedDOMDocument::DeprecatedDOMDocument):
- (DeprecatedDOMDocument::~DeprecatedDOMDocument):
- (DeprecatedDOMDocument::createInstance):
- (DeprecatedDOMElement::QueryInterface):
- (DeprecatedDOMElement::boundingBox):
- (DeprecatedDOMElement::lineBoxRects):
- (DeprecatedDOMElement::tagName):
- (DeprecatedDOMElement::getAttribute):
- (DeprecatedDOMElement::setAttribute):
- (DeprecatedDOMElement::removeAttribute):
- (DeprecatedDOMElement::getAttributeNode):
- (DeprecatedDOMElement::setAttributeNode):
- (DeprecatedDOMElement::removeAttributeNode):
- (DeprecatedDOMElement::getElementsByTagName):
- (DeprecatedDOMElement::getAttributeNS):
- (DeprecatedDOMElement::setAttributeNS):
- (DeprecatedDOMElement::removeAttributeNS):
- (DeprecatedDOMElement::getAttributeNodeNS):
- (DeprecatedDOMElement::setAttributeNodeNS):
- (DeprecatedDOMElement::getElementsByTagNameNS):
- (DeprecatedDOMElement::hasAttribute):
- (DeprecatedDOMElement::hasAttributeNS):
- (DeprecatedDOMElement::focus):
- (DeprecatedDOMElement::blur):
- (DeprecatedDOMElement::coreElement):
- (DeprecatedDOMElement::isEqual):
- (DeprecatedDOMElement::isFocused):
- (DeprecatedDOMElement::innerText):
- (DeprecatedDOMElement::style):
- (DeprecatedDOMElement::offsetLeft):
- (DeprecatedDOMElement::offsetTop):
- (DeprecatedDOMElement::offsetWidth):
- (DeprecatedDOMElement::offsetHeight):
- (DeprecatedDOMElement::offsetParent):
- (DeprecatedDOMElement::clientWidth):
- (DeprecatedDOMElement::clientHeight):
- (DeprecatedDOMElement::scrollLeft):
- (DeprecatedDOMElement::setScrollLeft):
- (DeprecatedDOMElement::scrollTop):
- (DeprecatedDOMElement::setScrollTop):
- (DeprecatedDOMElement::scrollWidth):
- (DeprecatedDOMElement::scrollHeight):
- (DeprecatedDOMElement::scrollIntoView):
- (DeprecatedDOMElement::scrollIntoViewIfNeeded):
- (DeprecatedDOMElement::DeprecatedDOMElement):
- (DeprecatedDOMElement::~DeprecatedDOMElement):
- (DeprecatedDOMElement::createInstance):
- * DOMCoreClasses.h:
- (DeprecatedDOMNode::AddRef):
- (DeprecatedDOMNode::Release):
- (DeprecatedDOMNode::throwException):
- (DeprecatedDOMNode::callWebScriptMethod):
- (DeprecatedDOMNode::evaluateWebScript):
- (DeprecatedDOMNode::removeWebScriptKey):
- (DeprecatedDOMNode::stringRepresentation):
- (DeprecatedDOMNode::webScriptValueAtIndex):
- (DeprecatedDOMNode::setWebScriptValueAtIndex):
- (DeprecatedDOMNode::setException):
- (DeprecatedDOMNodeList::AddRef):
- (DeprecatedDOMNodeList::Release):
- (DeprecatedDOMNodeList::throwException):
- (DeprecatedDOMNodeList::callWebScriptMethod):
- (DeprecatedDOMNodeList::evaluateWebScript):
- (DeprecatedDOMNodeList::removeWebScriptKey):
- (DeprecatedDOMNodeList::stringRepresentation):
- (DeprecatedDOMNodeList::webScriptValueAtIndex):
- (DeprecatedDOMNodeList::setWebScriptValueAtIndex):
- (DeprecatedDOMNodeList::setException):
- (DeprecatedDOMDocument::AddRef):
- (DeprecatedDOMDocument::Release):
- (DeprecatedDOMDocument::throwException):
- (DeprecatedDOMDocument::callWebScriptMethod):
- (DeprecatedDOMDocument::evaluateWebScript):
- (DeprecatedDOMDocument::removeWebScriptKey):
- (DeprecatedDOMDocument::stringRepresentation):
- (DeprecatedDOMDocument::webScriptValueAtIndex):
- (DeprecatedDOMDocument::setWebScriptValueAtIndex):
- (DeprecatedDOMDocument::setException):
- (DeprecatedDOMDocument::nodeName):
- (DeprecatedDOMDocument::nodeValue):
- (DeprecatedDOMDocument::setNodeValue):
- (DeprecatedDOMDocument::nodeType):
- (DeprecatedDOMDocument::parentNode):
- (DeprecatedDOMDocument::childNodes):
- (DeprecatedDOMDocument::firstChild):
- (DeprecatedDOMDocument::lastChild):
- (DeprecatedDOMDocument::previousSibling):
- (DeprecatedDOMDocument::nextSibling):
- (DeprecatedDOMDocument::attributes):
- (DeprecatedDOMDocument::ownerDocument):
- (DeprecatedDOMDocument::insertBefore):
- (DeprecatedDOMDocument::replaceChild):
- (DeprecatedDOMDocument::removeChild):
- (DeprecatedDOMDocument::appendChild):
- (DeprecatedDOMDocument::hasChildNodes):
- (DeprecatedDOMDocument::cloneNode):
- (DeprecatedDOMDocument::normalize):
- (DeprecatedDOMDocument::isSupported):
- (DeprecatedDOMDocument::namespaceURI):
- (DeprecatedDOMDocument::prefix):
- (DeprecatedDOMDocument::setPrefix):
- (DeprecatedDOMDocument::localName):
- (DeprecatedDOMDocument::hasAttributes):
- (DeprecatedDOMDocument::isSameNode):
- (DeprecatedDOMDocument::isEqualNode):
- (DeprecatedDOMDocument::textContent):
- (DeprecatedDOMDocument::setTextContent):
- (DeprecatedDOMElement::AddRef):
- (DeprecatedDOMElement::Release):
- (DeprecatedDOMElement::throwException):
- (DeprecatedDOMElement::callWebScriptMethod):
- (DeprecatedDOMElement::evaluateWebScript):
- (DeprecatedDOMElement::removeWebScriptKey):
- (DeprecatedDOMElement::stringRepresentation):
- (DeprecatedDOMElement::webScriptValueAtIndex):
- (DeprecatedDOMElement::setWebScriptValueAtIndex):
- (DeprecatedDOMElement::setException):
- (DeprecatedDOMElement::nodeName):
- (DeprecatedDOMElement::nodeValue):
- (DeprecatedDOMElement::setNodeValue):
- (DeprecatedDOMElement::nodeType):
- (DeprecatedDOMElement::parentNode):
- (DeprecatedDOMElement::childNodes):
- (DeprecatedDOMElement::firstChild):
- (DeprecatedDOMElement::lastChild):
- (DeprecatedDOMElement::previousSibling):
- (DeprecatedDOMElement::nextSibling):
- (DeprecatedDOMElement::attributes):
- (DeprecatedDOMElement::ownerDocument):
- (DeprecatedDOMElement::insertBefore):
- (DeprecatedDOMElement::replaceChild):
- (DeprecatedDOMElement::removeChild):
- (DeprecatedDOMElement::appendChild):
- (DeprecatedDOMElement::hasChildNodes):
- (DeprecatedDOMElement::cloneNode):
- (DeprecatedDOMElement::normalize):
- (DeprecatedDOMElement::isSupported):
- (DeprecatedDOMElement::namespaceURI):
- (DeprecatedDOMElement::prefix):
- (DeprecatedDOMElement::setPrefix):
- (DeprecatedDOMElement::localName):
- (DeprecatedDOMElement::hasAttributes):
- (DeprecatedDOMElement::isSameNode):
- (DeprecatedDOMElement::isEqualNode):
- (DeprecatedDOMElement::textContent):
- (DeprecatedDOMElement::setTextContent):
- * DOMEventsClasses.cpp:
- (DeprecatedDOMEventListener::QueryInterface):
- (DeprecatedDOMEventListener::handleEvent):
- (DeprecatedDOMEvent::DeprecatedDOMEvent):
- (DeprecatedDOMEvent::~DeprecatedDOMEvent):
- (DeprecatedDOMEvent::createInstance):
- (DeprecatedDOMEvent::QueryInterface):
- (DeprecatedDOMEvent::type):
- (DeprecatedDOMEvent::target):
- (DeprecatedDOMEvent::currentTarget):
- (DeprecatedDOMEvent::eventPhase):
- (DeprecatedDOMEvent::bubbles):
- (DeprecatedDOMEvent::cancelable):
- (DeprecatedDOMEvent::timeStamp):
- (DeprecatedDOMEvent::stopPropagation):
- (DeprecatedDOMEvent::preventDefault):
- (DeprecatedDOMEvent::initEvent):
- (DeprecatedDOMUIEvent::QueryInterface):
- (DeprecatedDOMUIEvent::view):
- (DeprecatedDOMUIEvent::detail):
- (DeprecatedDOMUIEvent::initUIEvent):
- (DeprecatedDOMUIEvent::keyCode):
- (DeprecatedDOMUIEvent::charCode):
- (DeprecatedDOMUIEvent::layerX):
- (DeprecatedDOMUIEvent::layerY):
- (DeprecatedDOMUIEvent::pageX):
- (DeprecatedDOMUIEvent::pageY):
- (DeprecatedDOMUIEvent::which):
- (DeprecatedDOMKeyboardEvent::QueryInterface):
- (DeprecatedDOMKeyboardEvent::keyIdentifier):
- (DeprecatedDOMKeyboardEvent::keyLocation):
- (DeprecatedDOMKeyboardEvent::ctrlKey):
- (DeprecatedDOMKeyboardEvent::shiftKey):
- (DeprecatedDOMKeyboardEvent::altKey):
- (DeprecatedDOMKeyboardEvent::metaKey):
- (DeprecatedDOMKeyboardEvent::altGraphKey):
- (DeprecatedDOMKeyboardEvent::getModifierState):
- (DeprecatedDOMKeyboardEvent::initKeyboardEvent):
- (DeprecatedDOMMouseEvent::QueryInterface):
- (DeprecatedDOMMouseEvent::screenX):
- (DeprecatedDOMMouseEvent::screenY):
- (DeprecatedDOMMouseEvent::clientX):
- (DeprecatedDOMMouseEvent::clientY):
- (DeprecatedDOMMouseEvent::ctrlKey):
- (DeprecatedDOMMouseEvent::shiftKey):
- (DeprecatedDOMMouseEvent::altKey):
- (DeprecatedDOMMouseEvent::metaKey):
- (DeprecatedDOMMouseEvent::button):
- (DeprecatedDOMMouseEvent::relatedTarget):
- (DeprecatedDOMMouseEvent::initMouseEvent):
- (DeprecatedDOMMouseEvent::offsetX):
- (DeprecatedDOMMouseEvent::offsetY):
- (DeprecatedDOMMouseEvent::x):
- (DeprecatedDOMMouseEvent::y):
- (DeprecatedDOMMouseEvent::fromElement):
- (DeprecatedDOMMouseEvent::toElement):
- (DeprecatedDOMMutationEvent::QueryInterface):
- (DeprecatedDOMMutationEvent::relatedNode):
- (DeprecatedDOMMutationEvent::prevValue):
- (DeprecatedDOMMutationEvent::newValue):
- (DeprecatedDOMMutationEvent::attrName):
- (DeprecatedDOMMutationEvent::attrChange):
- (DeprecatedDOMMutationEvent::initMutationEvent):
- (DeprecatedDOMOverflowEvent::QueryInterface):
- (DeprecatedDOMOverflowEvent::orient):
- (DeprecatedDOMOverflowEvent::horizontalOverflow):
- (DeprecatedDOMOverflowEvent::verticalOverflow):
- (DeprecatedDOMWheelEvent::QueryInterface):
- (DeprecatedDOMWheelEvent::screenX):
- (DeprecatedDOMWheelEvent::screenY):
- (DeprecatedDOMWheelEvent::clientX):
- (DeprecatedDOMWheelEvent::clientY):
- (DeprecatedDOMWheelEvent::ctrlKey):
- (DeprecatedDOMWheelEvent::shiftKey):
- (DeprecatedDOMWheelEvent::altKey):
- (DeprecatedDOMWheelEvent::metaKey):
- (DeprecatedDOMWheelEvent::wheelDelta):
- (DeprecatedDOMWheelEvent::wheelDeltaX):
- (DeprecatedDOMWheelEvent::wheelDeltaY):
- (DeprecatedDOMWheelEvent::offsetX):
- (DeprecatedDOMWheelEvent::offsetY):
- (DeprecatedDOMWheelEvent::x):
- (DeprecatedDOMWheelEvent::y):
- (DeprecatedDOMWheelEvent::isHorizontal):
- (DeprecatedDOMWheelEvent::initWheelEvent):
- * DOMEventsClasses.h:
- (DeprecatedDOMEventListener::AddRef):
- (DeprecatedDOMEventListener::Release):
- (DeprecatedDOMEventListener::throwException):
- (DeprecatedDOMEventListener::callWebScriptMethod):
- (DeprecatedDOMEventListener::evaluateWebScript):
- (DeprecatedDOMEventListener::removeWebScriptKey):
- (DeprecatedDOMEventListener::stringRepresentation):
- (DeprecatedDOMEventListener::webScriptValueAtIndex):
- (DeprecatedDOMEventListener::setWebScriptValueAtIndex):
- (DeprecatedDOMEventListener::setException):
- (DeprecatedDOMEvent::AddRef):
- (DeprecatedDOMEvent::Release):
- (DeprecatedDOMEvent::throwException):
- (DeprecatedDOMEvent::callWebScriptMethod):
- (DeprecatedDOMEvent::evaluateWebScript):
- (DeprecatedDOMEvent::removeWebScriptKey):
- (DeprecatedDOMEvent::stringRepresentation):
- (DeprecatedDOMEvent::webScriptValueAtIndex):
- (DeprecatedDOMEvent::setWebScriptValueAtIndex):
- (DeprecatedDOMEvent::setException):
- (DeprecatedDOMUIEvent::DeprecatedDOMUIEvent):
- (DeprecatedDOMUIEvent::AddRef):
- (DeprecatedDOMUIEvent::Release):
- (DeprecatedDOMUIEvent::throwException):
- (DeprecatedDOMUIEvent::callWebScriptMethod):
- (DeprecatedDOMUIEvent::evaluateWebScript):
- (DeprecatedDOMUIEvent::removeWebScriptKey):
- (DeprecatedDOMUIEvent::stringRepresentation):
- (DeprecatedDOMUIEvent::webScriptValueAtIndex):
- (DeprecatedDOMUIEvent::setWebScriptValueAtIndex):
- (DeprecatedDOMUIEvent::setException):
- (DeprecatedDOMUIEvent::type):
- (DeprecatedDOMUIEvent::target):
- (DeprecatedDOMUIEvent::currentTarget):
- (DeprecatedDOMUIEvent::eventPhase):
- (DeprecatedDOMUIEvent::bubbles):
- (DeprecatedDOMUIEvent::cancelable):
- (DeprecatedDOMUIEvent::timeStamp):
- (DeprecatedDOMUIEvent::stopPropagation):
- (DeprecatedDOMUIEvent::preventDefault):
- (DeprecatedDOMUIEvent::initEvent):
- (DeprecatedDOMKeyboardEvent::DeprecatedDOMKeyboardEvent):
- (DeprecatedDOMKeyboardEvent::AddRef):
- (DeprecatedDOMKeyboardEvent::Release):
- (DeprecatedDOMKeyboardEvent::throwException):
- (DeprecatedDOMKeyboardEvent::callWebScriptMethod):
- (DeprecatedDOMKeyboardEvent::evaluateWebScript):
- (DeprecatedDOMKeyboardEvent::removeWebScriptKey):
- (DeprecatedDOMKeyboardEvent::stringRepresentation):
- (DeprecatedDOMKeyboardEvent::webScriptValueAtIndex):
- (DeprecatedDOMKeyboardEvent::setWebScriptValueAtIndex):
- (DeprecatedDOMKeyboardEvent::setException):
- (DeprecatedDOMKeyboardEvent::type):
- (DeprecatedDOMKeyboardEvent::target):
- (DeprecatedDOMKeyboardEvent::currentTarget):
- (DeprecatedDOMKeyboardEvent::eventPhase):
- (DeprecatedDOMKeyboardEvent::bubbles):
- (DeprecatedDOMKeyboardEvent::cancelable):
- (DeprecatedDOMKeyboardEvent::timeStamp):
- (DeprecatedDOMKeyboardEvent::stopPropagation):
- (DeprecatedDOMKeyboardEvent::preventDefault):
- (DeprecatedDOMKeyboardEvent::initEvent):
- (DeprecatedDOMKeyboardEvent::view):
- (DeprecatedDOMKeyboardEvent::detail):
- (DeprecatedDOMKeyboardEvent::initUIEvent):
- (DeprecatedDOMKeyboardEvent::keyCode):
- (DeprecatedDOMKeyboardEvent::charCode):
- (DeprecatedDOMKeyboardEvent::layerX):
- (DeprecatedDOMKeyboardEvent::layerY):
- (DeprecatedDOMKeyboardEvent::pageX):
- (DeprecatedDOMKeyboardEvent::pageY):
- (DeprecatedDOMKeyboardEvent::which):
- (DeprecatedDOMMouseEvent::DeprecatedDOMMouseEvent):
- (DeprecatedDOMMouseEvent::AddRef):
- (DeprecatedDOMMouseEvent::Release):
- (DeprecatedDOMMouseEvent::throwException):
- (DeprecatedDOMMouseEvent::callWebScriptMethod):
- (DeprecatedDOMMouseEvent::evaluateWebScript):
- (DeprecatedDOMMouseEvent::removeWebScriptKey):
- (DeprecatedDOMMouseEvent::stringRepresentation):
- (DeprecatedDOMMouseEvent::webScriptValueAtIndex):
- (DeprecatedDOMMouseEvent::setWebScriptValueAtIndex):
- (DeprecatedDOMMouseEvent::setException):
- (DeprecatedDOMMouseEvent::type):
- (DeprecatedDOMMouseEvent::target):
- (DeprecatedDOMMouseEvent::currentTarget):
- (DeprecatedDOMMouseEvent::eventPhase):
- (DeprecatedDOMMouseEvent::bubbles):
- (DeprecatedDOMMouseEvent::cancelable):
- (DeprecatedDOMMouseEvent::timeStamp):
- (DeprecatedDOMMouseEvent::stopPropagation):
- (DeprecatedDOMMouseEvent::preventDefault):
- (DeprecatedDOMMouseEvent::initEvent):
- (DeprecatedDOMMouseEvent::view):
- (DeprecatedDOMMouseEvent::detail):
- (DeprecatedDOMMouseEvent::initUIEvent):
- (DeprecatedDOMMouseEvent::keyCode):
- (DeprecatedDOMMouseEvent::charCode):
- (DeprecatedDOMMouseEvent::layerX):
- (DeprecatedDOMMouseEvent::layerY):
- (DeprecatedDOMMouseEvent::pageX):
- (DeprecatedDOMMouseEvent::pageY):
- (DeprecatedDOMMouseEvent::which):
- (DeprecatedDOMMutationEvent::DeprecatedDOMMutationEvent):
- (DeprecatedDOMMutationEvent::AddRef):
- (DeprecatedDOMMutationEvent::Release):
- (DeprecatedDOMMutationEvent::throwException):
- (DeprecatedDOMMutationEvent::callWebScriptMethod):
- (DeprecatedDOMMutationEvent::evaluateWebScript):
- (DeprecatedDOMMutationEvent::removeWebScriptKey):
- (DeprecatedDOMMutationEvent::stringRepresentation):
- (DeprecatedDOMMutationEvent::webScriptValueAtIndex):
- (DeprecatedDOMMutationEvent::setWebScriptValueAtIndex):
- (DeprecatedDOMMutationEvent::setException):
- (DeprecatedDOMMutationEvent::type):
- (DeprecatedDOMMutationEvent::target):
- (DeprecatedDOMMutationEvent::currentTarget):
- (DeprecatedDOMMutationEvent::eventPhase):
- (DeprecatedDOMMutationEvent::bubbles):
- (DeprecatedDOMMutationEvent::cancelable):
- (DeprecatedDOMMutationEvent::timeStamp):
- (DeprecatedDOMMutationEvent::stopPropagation):
- (DeprecatedDOMMutationEvent::preventDefault):
- (DeprecatedDOMMutationEvent::initEvent):
- (DeprecatedDOMOverflowEvent::DeprecatedDOMOverflowEvent):
- (DeprecatedDOMOverflowEvent::AddRef):
- (DeprecatedDOMOverflowEvent::Release):
- (DeprecatedDOMOverflowEvent::throwException):
- (DeprecatedDOMOverflowEvent::callWebScriptMethod):
- (DeprecatedDOMOverflowEvent::evaluateWebScript):
- (DeprecatedDOMOverflowEvent::removeWebScriptKey):
- (DeprecatedDOMOverflowEvent::stringRepresentation):
- (DeprecatedDOMOverflowEvent::webScriptValueAtIndex):
- (DeprecatedDOMOverflowEvent::setWebScriptValueAtIndex):
- (DeprecatedDOMOverflowEvent::setException):
- (DeprecatedDOMOverflowEvent::type):
- (DeprecatedDOMOverflowEvent::target):
- (DeprecatedDOMOverflowEvent::currentTarget):
- (DeprecatedDOMOverflowEvent::eventPhase):
- (DeprecatedDOMOverflowEvent::bubbles):
- (DeprecatedDOMOverflowEvent::cancelable):
- (DeprecatedDOMOverflowEvent::timeStamp):
- (DeprecatedDOMOverflowEvent::stopPropagation):
- (DeprecatedDOMOverflowEvent::preventDefault):
- (DeprecatedDOMOverflowEvent::initEvent):
- (DeprecatedDOMWheelEvent::DeprecatedDOMWheelEvent):
- (DeprecatedDOMWheelEvent::AddRef):
- (DeprecatedDOMWheelEvent::Release):
- (DeprecatedDOMWheelEvent::throwException):
- (DeprecatedDOMWheelEvent::callWebScriptMethod):
- (DeprecatedDOMWheelEvent::evaluateWebScript):
- (DeprecatedDOMWheelEvent::removeWebScriptKey):
- (DeprecatedDOMWheelEvent::stringRepresentation):
- (DeprecatedDOMWheelEvent::webScriptValueAtIndex):
- (DeprecatedDOMWheelEvent::setWebScriptValueAtIndex):
- (DeprecatedDOMWheelEvent::setException):
- (DeprecatedDOMWheelEvent::type):
- (DeprecatedDOMWheelEvent::target):
- (DeprecatedDOMWheelEvent::currentTarget):
- (DeprecatedDOMWheelEvent::eventPhase):
- (DeprecatedDOMWheelEvent::bubbles):
- (DeprecatedDOMWheelEvent::cancelable):
- (DeprecatedDOMWheelEvent::timeStamp):
- (DeprecatedDOMWheelEvent::stopPropagation):
- (DeprecatedDOMWheelEvent::preventDefault):
- (DeprecatedDOMWheelEvent::initEvent):
- (DeprecatedDOMWheelEvent::view):
- (DeprecatedDOMWheelEvent::detail):
- (DeprecatedDOMWheelEvent::initUIEvent):
- (DeprecatedDOMWheelEvent::keyCode):
- (DeprecatedDOMWheelEvent::charCode):
- (DeprecatedDOMWheelEvent::layerX):
- (DeprecatedDOMWheelEvent::layerY):
- (DeprecatedDOMWheelEvent::pageX):
- (DeprecatedDOMWheelEvent::pageY):
- (DeprecatedDOMWheelEvent::which):
- * DOMHTMLClasses.cpp:
- (DeprecatedDOMHTMLCollection::DeprecatedDOMHTMLCollection):
- (DeprecatedDOMHTMLCollection::createInstance):
- (DeprecatedDOMHTMLCollection::QueryInterface):
- (DeprecatedDOMHTMLCollection::length):
- (DeprecatedDOMHTMLCollection::item):
- (DeprecatedDOMHTMLCollection::namedItem):
- (DeprecatedDOMHTMLOptionsCollection::QueryInterface):
- (DeprecatedDOMHTMLOptionsCollection::length):
- (DeprecatedDOMHTMLOptionsCollection::setLength):
- (DeprecatedDOMHTMLOptionsCollection::item):
- (DeprecatedDOMHTMLOptionsCollection::namedItem):
- (DeprecatedDOMHTMLDocument::QueryInterface):
- (DeprecatedDOMHTMLDocument::title):
- (DeprecatedDOMHTMLDocument::setTitle):
- (DeprecatedDOMHTMLDocument::referrer):
- (DeprecatedDOMHTMLDocument::domain):
- (DeprecatedDOMHTMLDocument::URL):
- (DeprecatedDOMHTMLDocument::body):
- (DeprecatedDOMHTMLDocument::setBody):
- (DeprecatedDOMHTMLDocument::images):
- (DeprecatedDOMHTMLDocument::applets):
- (DeprecatedDOMHTMLDocument::links):
- (DeprecatedDOMHTMLDocument::forms):
- (DeprecatedDOMHTMLDocument::anchors):
- (DeprecatedDOMHTMLDocument::cookie):
- (DeprecatedDOMHTMLDocument::setCookie):
- (DeprecatedDOMHTMLDocument::open):
- (DeprecatedDOMHTMLDocument::close):
- (DeprecatedDOMHTMLDocument::write):
- (DeprecatedDOMHTMLDocument::writeln):
- (DeprecatedDOMHTMLDocument::getElementById_):
- (DeprecatedDOMHTMLDocument::getElementsByName):
- (DeprecatedDOMHTMLElement::QueryInterface):
- (DeprecatedDOMHTMLElement::idName):
- (DeprecatedDOMHTMLElement::setIdName):
- (DeprecatedDOMHTMLElement::title):
- (DeprecatedDOMHTMLElement::setTitle):
- (DeprecatedDOMHTMLElement::lang):
- (DeprecatedDOMHTMLElement::setLang):
- (DeprecatedDOMHTMLElement::dir):
- (DeprecatedDOMHTMLElement::setDir):
- (DeprecatedDOMHTMLElement::className):
- (DeprecatedDOMHTMLElement::setClassName):
- (DeprecatedDOMHTMLElement::innerHTML):
- (DeprecatedDOMHTMLElement::setInnerHTML):
- (DeprecatedDOMHTMLElement::innerText):
- (DeprecatedDOMHTMLElement::setInnerText):
- (DeprecatedDOMHTMLFormElement::QueryInterface):
- (DeprecatedDOMHTMLFormElement::elements):
- (DeprecatedDOMHTMLFormElement::length):
- (DeprecatedDOMHTMLFormElement::name):
- (DeprecatedDOMHTMLFormElement::setName):
- (DeprecatedDOMHTMLFormElement::acceptCharset):
- (DeprecatedDOMHTMLFormElement::setAcceptCharset):
- (DeprecatedDOMHTMLFormElement::action):
- (DeprecatedDOMHTMLFormElement::setAction):
- (DeprecatedDOMHTMLFormElement::encType):
- (DeprecatedDOMHTMLFormElement::setEnctype):
- (DeprecatedDOMHTMLFormElement::method):
- (DeprecatedDOMHTMLFormElement::setMethod):
- (DeprecatedDOMHTMLFormElement::target):
- (DeprecatedDOMHTMLFormElement::setTarget):
- (DeprecatedDOMHTMLFormElement::submit):
- (DeprecatedDOMHTMLFormElement::reset):
- (DeprecatedDOMHTMLSelectElement::QueryInterface):
- (DeprecatedDOMHTMLSelectElement::type):
- (DeprecatedDOMHTMLSelectElement::selectedIndex):
- (DeprecatedDOMHTMLSelectElement::setSelectedIndx):
- (DeprecatedDOMHTMLSelectElement::value):
- (DeprecatedDOMHTMLSelectElement::setValue):
- (DeprecatedDOMHTMLSelectElement::length):
- (DeprecatedDOMHTMLSelectElement::form):
- (DeprecatedDOMHTMLSelectElement::options):
- (DeprecatedDOMHTMLSelectElement::disabled):
- (DeprecatedDOMHTMLSelectElement::setDisabled):
- (DeprecatedDOMHTMLSelectElement::multiple):
- (DeprecatedDOMHTMLSelectElement::setMultiple):
- (DeprecatedDOMHTMLSelectElement::name):
- (DeprecatedDOMHTMLSelectElement::setName):
- (DeprecatedDOMHTMLSelectElement::size):
- (DeprecatedDOMHTMLSelectElement::setSize):
- (DeprecatedDOMHTMLSelectElement::tabIndex):
- (DeprecatedDOMHTMLSelectElement::setTabIndex):
- (DeprecatedDOMHTMLSelectElement::add):
- (DeprecatedDOMHTMLSelectElement::remove):
- (DeprecatedDOMHTMLSelectElement::activateItemAtIndex):
- (DeprecatedDOMHTMLOptionElement::QueryInterface):
- (DeprecatedDOMHTMLOptionElement::form):
- (DeprecatedDOMHTMLOptionElement::defaultSelected):
- (DeprecatedDOMHTMLOptionElement::setDefaultSelected):
- (DeprecatedDOMHTMLOptionElement::text):
- (DeprecatedDOMHTMLOptionElement::index):
- (DeprecatedDOMHTMLOptionElement::disabled):
- (DeprecatedDOMHTMLOptionElement::setDisabled):
- (DeprecatedDOMHTMLOptionElement::label):
- (DeprecatedDOMHTMLOptionElement::setLabel):
- (DeprecatedDOMHTMLOptionElement::selected):
- (DeprecatedDOMHTMLOptionElement::setSelected):
- (DeprecatedDOMHTMLOptionElement::value):
- (DeprecatedDOMHTMLOptionElement::setValue):
- (DeprecatedDOMHTMLInputElement::QueryInterface):
- (DeprecatedDOMHTMLInputElement::defaultValue):
- (DeprecatedDOMHTMLInputElement::setDefaultValue):
- (DeprecatedDOMHTMLInputElement::defaultChecked):
- (DeprecatedDOMHTMLInputElement::setDefaultChecked):
- (DeprecatedDOMHTMLInputElement::form):
- (DeprecatedDOMHTMLInputElement::accept):
- (DeprecatedDOMHTMLInputElement::setAccept):
- (DeprecatedDOMHTMLInputElement::accessKey):
- (DeprecatedDOMHTMLInputElement::setAccessKey):
- (DeprecatedDOMHTMLInputElement::align):
- (DeprecatedDOMHTMLInputElement::setAlign):
- (DeprecatedDOMHTMLInputElement::alt):
- (DeprecatedDOMHTMLInputElement::setAlt):
- (DeprecatedDOMHTMLInputElement::checked):
- (DeprecatedDOMHTMLInputElement::setChecked):
- (DeprecatedDOMHTMLInputElement::disabled):
- (DeprecatedDOMHTMLInputElement::setDisabled):
- (DeprecatedDOMHTMLInputElement::maxLength):
- (DeprecatedDOMHTMLInputElement::setMaxLength):
- (DeprecatedDOMHTMLInputElement::name):
- (DeprecatedDOMHTMLInputElement::setName):
- (DeprecatedDOMHTMLInputElement::readOnly):
- (DeprecatedDOMHTMLInputElement::setReadOnly):
- (DeprecatedDOMHTMLInputElement::size):
- (DeprecatedDOMHTMLInputElement::setSize):
- (DeprecatedDOMHTMLInputElement::src):
- (DeprecatedDOMHTMLInputElement::setSrc):
- (DeprecatedDOMHTMLInputElement::tabIndex):
- (DeprecatedDOMHTMLInputElement::setTabIndex):
- (DeprecatedDOMHTMLInputElement::type):
- (DeprecatedDOMHTMLInputElement::setType):
- (DeprecatedDOMHTMLInputElement::useMap):
- (DeprecatedDOMHTMLInputElement::setUseMap):
- (DeprecatedDOMHTMLInputElement::value):
- (DeprecatedDOMHTMLInputElement::setValue):
- (DeprecatedDOMHTMLInputElement::select):
- (DeprecatedDOMHTMLInputElement::click):
- (DeprecatedDOMHTMLInputElement::setSelectionStart):
- (DeprecatedDOMHTMLInputElement::selectionStart):
- (DeprecatedDOMHTMLInputElement::setSelectionEnd):
- (DeprecatedDOMHTMLInputElement::selectionEnd):
- (DeprecatedDOMHTMLInputElement::isTextField):
- (DeprecatedDOMHTMLInputElement::rectOnScreen):
- (DeprecatedDOMHTMLInputElement::replaceCharactersInRange):
- (DeprecatedDOMHTMLInputElement::selectedRange):
- (DeprecatedDOMHTMLInputElement::setAutofilled):
- (DeprecatedDOMHTMLInputElement::isUserEdited):
- (DeprecatedDOMHTMLTextAreaElement::QueryInterface):
- (DeprecatedDOMHTMLTextAreaElement::defaultValue):
- (DeprecatedDOMHTMLTextAreaElement::setDefaultValue):
- (DeprecatedDOMHTMLTextAreaElement::form):
- (DeprecatedDOMHTMLTextAreaElement::accessKey):
- (DeprecatedDOMHTMLTextAreaElement::setAccessKey):
- (DeprecatedDOMHTMLTextAreaElement::cols):
- (DeprecatedDOMHTMLTextAreaElement::setCols):
- (DeprecatedDOMHTMLTextAreaElement::disabled):
- (DeprecatedDOMHTMLTextAreaElement::setDisabled):
- (DeprecatedDOMHTMLTextAreaElement::name):
- (DeprecatedDOMHTMLTextAreaElement::setName):
- (DeprecatedDOMHTMLTextAreaElement::readOnly):
- (DeprecatedDOMHTMLTextAreaElement::setReadOnly):
- (DeprecatedDOMHTMLTextAreaElement::rows):
- (DeprecatedDOMHTMLTextAreaElement::setRows):
- (DeprecatedDOMHTMLTextAreaElement::tabIndex):
- (DeprecatedDOMHTMLTextAreaElement::setTabIndex):
- (DeprecatedDOMHTMLTextAreaElement::type):
- (DeprecatedDOMHTMLTextAreaElement::value):
- (DeprecatedDOMHTMLTextAreaElement::setValue):
- (DeprecatedDOMHTMLTextAreaElement::select):
- (DeprecatedDOMHTMLTextAreaElement::isUserEdited):
- * DOMHTMLClasses.h:
- (DeprecatedDOMHTMLCollection::AddRef):
- (DeprecatedDOMHTMLCollection::Release):
- (DeprecatedDOMHTMLCollection::throwException):
- (DeprecatedDOMHTMLCollection::callWebScriptMethod):
- (DeprecatedDOMHTMLCollection::evaluateWebScript):
- (DeprecatedDOMHTMLCollection::removeWebScriptKey):
- (DeprecatedDOMHTMLCollection::stringRepresentation):
- (DeprecatedDOMHTMLCollection::webScriptValueAtIndex):
- (DeprecatedDOMHTMLCollection::setWebScriptValueAtIndex):
- (DeprecatedDOMHTMLCollection::setException):
- (DeprecatedDOMHTMLOptionsCollection::AddRef):
- (DeprecatedDOMHTMLOptionsCollection::Release):
- (DeprecatedDOMHTMLOptionsCollection::throwException):
- (DeprecatedDOMHTMLOptionsCollection::callWebScriptMethod):
- (DeprecatedDOMHTMLOptionsCollection::evaluateWebScript):
- (DeprecatedDOMHTMLOptionsCollection::removeWebScriptKey):
- (DeprecatedDOMHTMLOptionsCollection::stringRepresentation):
- (DeprecatedDOMHTMLOptionsCollection::webScriptValueAtIndex):
- (DeprecatedDOMHTMLOptionsCollection::setWebScriptValueAtIndex):
- (DeprecatedDOMHTMLOptionsCollection::setException):
- (DeprecatedDOMHTMLDocument::DeprecatedDOMHTMLDocument):
- (DeprecatedDOMHTMLDocument::AddRef):
- (DeprecatedDOMHTMLDocument::Release):
- (DeprecatedDOMHTMLDocument::throwException):
- (DeprecatedDOMHTMLDocument::callWebScriptMethod):
- (DeprecatedDOMHTMLDocument::evaluateWebScript):
- (DeprecatedDOMHTMLDocument::removeWebScriptKey):
- (DeprecatedDOMHTMLDocument::stringRepresentation):
- (DeprecatedDOMHTMLDocument::webScriptValueAtIndex):
- (DeprecatedDOMHTMLDocument::setWebScriptValueAtIndex):
- (DeprecatedDOMHTMLDocument::setException):
- (DeprecatedDOMHTMLDocument::nodeName):
- (DeprecatedDOMHTMLDocument::nodeValue):
- (DeprecatedDOMHTMLDocument::nodeType):
- (DeprecatedDOMHTMLDocument::parentNode):
- (DeprecatedDOMHTMLDocument::childNodes):
- (DeprecatedDOMHTMLDocument::firstChild):
- (DeprecatedDOMHTMLDocument::lastChild):
- (DeprecatedDOMHTMLDocument::previousSibling):
- (DeprecatedDOMHTMLDocument::nextSibling):
- (DeprecatedDOMHTMLDocument::attributes):
- (DeprecatedDOMHTMLDocument::ownerDocument):
- (DeprecatedDOMHTMLDocument::insertBefore):
- (DeprecatedDOMHTMLDocument::replaceChild):
- (DeprecatedDOMHTMLDocument::removeChild):
- (DeprecatedDOMHTMLDocument::appendChild):
- (DeprecatedDOMHTMLDocument::hasChildNodes):
- (DeprecatedDOMHTMLDocument::cloneNode):
- (DeprecatedDOMHTMLDocument::normalize):
- (DeprecatedDOMHTMLDocument::isSupported):
- (DeprecatedDOMHTMLDocument::namespaceURI):
- (DeprecatedDOMHTMLDocument::prefix):
- (DeprecatedDOMHTMLDocument::setPrefix):
- (DeprecatedDOMHTMLDocument::localName):
- (DeprecatedDOMHTMLDocument::hasAttributes):
- (DeprecatedDOMHTMLDocument::isSameNode):
- (DeprecatedDOMHTMLDocument::isEqualNode):
- (DeprecatedDOMHTMLDocument::textContent):
- (DeprecatedDOMHTMLDocument::setTextContent):
- (DeprecatedDOMHTMLDocument::doctype):
- (DeprecatedDOMHTMLDocument::implementation):
- (DeprecatedDOMHTMLDocument::documentElement):
- (DeprecatedDOMHTMLDocument::createElement):
- (DeprecatedDOMHTMLDocument::createDocumentFragment):
- (DeprecatedDOMHTMLDocument::createTextNode):
- (DeprecatedDOMHTMLDocument::createComment):
- (DeprecatedDOMHTMLDocument::createCDATASection):
- (DeprecatedDOMHTMLDocument::createProcessingInstruction):
- (DeprecatedDOMHTMLDocument::createAttribute):
- (DeprecatedDOMHTMLDocument::createEntityReference):
- (DeprecatedDOMHTMLDocument::getElementsByTagName):
- (DeprecatedDOMHTMLDocument::importNode):
- (DeprecatedDOMHTMLDocument::createElementNS):
- (DeprecatedDOMHTMLDocument::createAttributeNS):
- (DeprecatedDOMHTMLDocument::getElementsByTagNameNS):
- (DeprecatedDOMHTMLDocument::getElementById):
- (DeprecatedDOMHTMLElement::DeprecatedDOMHTMLElement):
- (DeprecatedDOMHTMLElement::AddRef):
- (DeprecatedDOMHTMLElement::Release):
- (DeprecatedDOMHTMLElement::throwException):
- (DeprecatedDOMHTMLElement::callWebScriptMethod):
- (DeprecatedDOMHTMLElement::evaluateWebScript):
- (DeprecatedDOMHTMLElement::removeWebScriptKey):
- (DeprecatedDOMHTMLElement::stringRepresentation):
- (DeprecatedDOMHTMLElement::webScriptValueAtIndex):
- (DeprecatedDOMHTMLElement::setWebScriptValueAtIndex):
- (DeprecatedDOMHTMLElement::setException):
- (DeprecatedDOMHTMLElement::nodeName):
- (DeprecatedDOMHTMLElement::nodeValue):
- (DeprecatedDOMHTMLElement::setNodeValue):
- (DeprecatedDOMHTMLElement::nodeType):
- (DeprecatedDOMHTMLElement::parentNode):
- (DeprecatedDOMHTMLElement::childNodes):
- (DeprecatedDOMHTMLElement::firstChild):
- (DeprecatedDOMHTMLElement::lastChild):
- (DeprecatedDOMHTMLElement::previousSibling):
- (DeprecatedDOMHTMLElement::nextSibling):
- (DeprecatedDOMHTMLElement::attributes):
- (DeprecatedDOMHTMLElement::ownerDocument):
- (DeprecatedDOMHTMLElement::insertBefore):
- (DeprecatedDOMHTMLElement::replaceChild):
- (DeprecatedDOMHTMLElement::removeChild):
- (DeprecatedDOMHTMLElement::appendChild):
- (DeprecatedDOMHTMLElement::hasChildNodes):
- (DeprecatedDOMHTMLElement::cloneNode):
- (DeprecatedDOMHTMLElement::normalize):
- (DeprecatedDOMHTMLElement::isSupported):
- (DeprecatedDOMHTMLElement::namespaceURI):
- (DeprecatedDOMHTMLElement::prefix):
- (DeprecatedDOMHTMLElement::setPrefix):
- (DeprecatedDOMHTMLElement::localName):
- (DeprecatedDOMHTMLElement::hasAttributes):
- (DeprecatedDOMHTMLElement::isSameNode):
- (DeprecatedDOMHTMLElement::isEqualNode):
- (DeprecatedDOMHTMLElement::textContent):
- (DeprecatedDOMHTMLElement::setTextContent):
- (DeprecatedDOMHTMLElement::tagName):
- (DeprecatedDOMHTMLElement::getAttribute):
- (DeprecatedDOMHTMLElement::setAttribute):
- (DeprecatedDOMHTMLElement::removeAttribute):
- (DeprecatedDOMHTMLElement::getAttributeNode):
- (DeprecatedDOMHTMLElement::setAttributeNode):
- (DeprecatedDOMHTMLElement::removeAttributeNode):
- (DeprecatedDOMHTMLElement::getElementsByTagName):
- (DeprecatedDOMHTMLElement::getAttributeNS):
- (DeprecatedDOMHTMLElement::setAttributeNS):
- (DeprecatedDOMHTMLElement::removeAttributeNS):
- (DeprecatedDOMHTMLElement::getAttributeNodeNS):
- (DeprecatedDOMHTMLElement::setAttributeNodeNS):
- (DeprecatedDOMHTMLElement::getElementsByTagNameNS):
- (DeprecatedDOMHTMLElement::hasAttribute):
- (DeprecatedDOMHTMLElement::hasAttributeNS):
- (DeprecatedDOMHTMLElement::focus):
- (DeprecatedDOMHTMLElement::blur):
- (DeprecatedDOMHTMLFormElement::DeprecatedDOMHTMLFormElement):
- (DeprecatedDOMHTMLFormElement::AddRef):
- (DeprecatedDOMHTMLFormElement::Release):
- (DeprecatedDOMHTMLFormElement::throwException):
- (DeprecatedDOMHTMLFormElement::callWebScriptMethod):
- (DeprecatedDOMHTMLFormElement::evaluateWebScript):
- (DeprecatedDOMHTMLFormElement::removeWebScriptKey):
- (DeprecatedDOMHTMLFormElement::stringRepresentation):
- (DeprecatedDOMHTMLFormElement::webScriptValueAtIndex):
- (DeprecatedDOMHTMLFormElement::setWebScriptValueAtIndex):
- (DeprecatedDOMHTMLFormElement::setException):
- (DeprecatedDOMHTMLFormElement::nodeName):
- (DeprecatedDOMHTMLFormElement::nodeValue):
- (DeprecatedDOMHTMLFormElement::setNodeValue):
- (DeprecatedDOMHTMLFormElement::nodeType):
- (DeprecatedDOMHTMLFormElement::parentNode):
- (DeprecatedDOMHTMLFormElement::childNodes):
- (DeprecatedDOMHTMLFormElement::firstChild):
- (DeprecatedDOMHTMLFormElement::lastChild):
- (DeprecatedDOMHTMLFormElement::previousSibling):
- (DeprecatedDOMHTMLFormElement::nextSibling):
- (DeprecatedDOMHTMLFormElement::attributes):
- (DeprecatedDOMHTMLFormElement::ownerDocument):
- (DeprecatedDOMHTMLFormElement::insertBefore):
- (DeprecatedDOMHTMLFormElement::replaceChild):
- (DeprecatedDOMHTMLFormElement::removeChild):
- (DeprecatedDOMHTMLFormElement::appendChild):
- (DeprecatedDOMHTMLFormElement::hasChildNodes):
- (DeprecatedDOMHTMLFormElement::cloneNode):
- (DeprecatedDOMHTMLFormElement::normalize):
- (DeprecatedDOMHTMLFormElement::isSupported):
- (DeprecatedDOMHTMLFormElement::namespaceURI):
- (DeprecatedDOMHTMLFormElement::prefix):
- (DeprecatedDOMHTMLFormElement::setPrefix):
- (DeprecatedDOMHTMLFormElement::localName):
- (DeprecatedDOMHTMLFormElement::hasAttributes):
- (DeprecatedDOMHTMLFormElement::isSameNode):
- (DeprecatedDOMHTMLFormElement::isEqualNode):
- (DeprecatedDOMHTMLFormElement::textContent):
- (DeprecatedDOMHTMLFormElement::setTextContent):
- (DeprecatedDOMHTMLFormElement::tagName):
- (DeprecatedDOMHTMLFormElement::getAttribute):
- (DeprecatedDOMHTMLFormElement::setAttribute):
- (DeprecatedDOMHTMLFormElement::removeAttribute):
- (DeprecatedDOMHTMLFormElement::getAttributeNode):
- (DeprecatedDOMHTMLFormElement::setAttributeNode):
- (DeprecatedDOMHTMLFormElement::removeAttributeNode):
- (DeprecatedDOMHTMLFormElement::getElementsByTagName):
- (DeprecatedDOMHTMLFormElement::getAttributeNS):
- (DeprecatedDOMHTMLFormElement::setAttributeNS):
- (DeprecatedDOMHTMLFormElement::removeAttributeNS):
- (DeprecatedDOMHTMLFormElement::getAttributeNodeNS):
- (DeprecatedDOMHTMLFormElement::setAttributeNodeNS):
- (DeprecatedDOMHTMLFormElement::getElementsByTagNameNS):
- (DeprecatedDOMHTMLFormElement::hasAttribute):
- (DeprecatedDOMHTMLFormElement::hasAttributeNS):
- (DeprecatedDOMHTMLFormElement::focus):
- (DeprecatedDOMHTMLFormElement::blur):
- (DeprecatedDOMHTMLFormElement::idName):
- (DeprecatedDOMHTMLFormElement::setIdName):
- (DeprecatedDOMHTMLFormElement::title):
- (DeprecatedDOMHTMLFormElement::setTitle):
- (DeprecatedDOMHTMLFormElement::lang):
- (DeprecatedDOMHTMLFormElement::setLang):
- (DeprecatedDOMHTMLFormElement::dir):
- (DeprecatedDOMHTMLFormElement::setDir):
- (DeprecatedDOMHTMLFormElement::className):
- (DeprecatedDOMHTMLFormElement::setClassName):
- (DeprecatedDOMHTMLFormElement::innerHTML):
- (DeprecatedDOMHTMLFormElement::setInnerHTML):
- (DeprecatedDOMHTMLFormElement::innerText):
- (DeprecatedDOMHTMLFormElement::setInnerText):
- (DeprecatedDOMHTMLSelectElement::DeprecatedDOMHTMLSelectElement):
- (DeprecatedDOMHTMLSelectElement::AddRef):
- (DeprecatedDOMHTMLSelectElement::Release):
- (DeprecatedDOMHTMLSelectElement::throwException):
- (DeprecatedDOMHTMLSelectElement::callWebScriptMethod):
- (DeprecatedDOMHTMLSelectElement::evaluateWebScript):
- (DeprecatedDOMHTMLSelectElement::removeWebScriptKey):
- (DeprecatedDOMHTMLSelectElement::stringRepresentation):
- (DeprecatedDOMHTMLSelectElement::webScriptValueAtIndex):
- (DeprecatedDOMHTMLSelectElement::setWebScriptValueAtIndex):
- (DeprecatedDOMHTMLSelectElement::setException):
- (DeprecatedDOMHTMLSelectElement::nodeName):
- (DeprecatedDOMHTMLSelectElement::nodeValue):
- (DeprecatedDOMHTMLSelectElement::setNodeValue):
- (DeprecatedDOMHTMLSelectElement::nodeType):
- (DeprecatedDOMHTMLSelectElement::parentNode):
- (DeprecatedDOMHTMLSelectElement::childNodes):
- (DeprecatedDOMHTMLSelectElement::firstChild):
- (DeprecatedDOMHTMLSelectElement::lastChild):
- (DeprecatedDOMHTMLSelectElement::previousSibling):
- (DeprecatedDOMHTMLSelectElement::nextSibling):
- (DeprecatedDOMHTMLSelectElement::attributes):
- (DeprecatedDOMHTMLSelectElement::ownerDocument):
- (DeprecatedDOMHTMLSelectElement::insertBefore):
- (DeprecatedDOMHTMLSelectElement::replaceChild):
- (DeprecatedDOMHTMLSelectElement::removeChild):
- (DeprecatedDOMHTMLSelectElement::appendChild):
- (DeprecatedDOMHTMLSelectElement::hasChildNodes):
- (DeprecatedDOMHTMLSelectElement::cloneNode):
- (DeprecatedDOMHTMLSelectElement::normalize):
- (DeprecatedDOMHTMLSelectElement::isSupported):
- (DeprecatedDOMHTMLSelectElement::namespaceURI):
- (DeprecatedDOMHTMLSelectElement::prefix):
- (DeprecatedDOMHTMLSelectElement::setPrefix):
- (DeprecatedDOMHTMLSelectElement::localName):
- (DeprecatedDOMHTMLSelectElement::hasAttributes):
- (DeprecatedDOMHTMLSelectElement::isSameNode):
- (DeprecatedDOMHTMLSelectElement::isEqualNode):
- (DeprecatedDOMHTMLSelectElement::textContent):
- (DeprecatedDOMHTMLSelectElement::setTextContent):
- (DeprecatedDOMHTMLSelectElement::tagName):
- (DeprecatedDOMHTMLSelectElement::getAttribute):
- (DeprecatedDOMHTMLSelectElement::setAttribute):
- (DeprecatedDOMHTMLSelectElement::removeAttribute):
- (DeprecatedDOMHTMLSelectElement::getAttributeNode):
- (DeprecatedDOMHTMLSelectElement::setAttributeNode):
- (DeprecatedDOMHTMLSelectElement::removeAttributeNode):
- (DeprecatedDOMHTMLSelectElement::getElementsByTagName):
- (DeprecatedDOMHTMLSelectElement::getAttributeNS):
- (DeprecatedDOMHTMLSelectElement::setAttributeNS):
- (DeprecatedDOMHTMLSelectElement::removeAttributeNS):
- (DeprecatedDOMHTMLSelectElement::getAttributeNodeNS):
- (DeprecatedDOMHTMLSelectElement::setAttributeNodeNS):
- (DeprecatedDOMHTMLSelectElement::getElementsByTagNameNS):
- (DeprecatedDOMHTMLSelectElement::hasAttribute):
- (DeprecatedDOMHTMLSelectElement::hasAttributeNS):
- (DeprecatedDOMHTMLSelectElement::focus):
- (DeprecatedDOMHTMLSelectElement::blur):
- (DeprecatedDOMHTMLSelectElement::idName):
- (DeprecatedDOMHTMLSelectElement::setIdName):
- (DeprecatedDOMHTMLSelectElement::title):
- (DeprecatedDOMHTMLSelectElement::setTitle):
- (DeprecatedDOMHTMLSelectElement::lang):
- (DeprecatedDOMHTMLSelectElement::setLang):
- (DeprecatedDOMHTMLSelectElement::dir):
- (DeprecatedDOMHTMLSelectElement::setDir):
- (DeprecatedDOMHTMLSelectElement::className):
- (DeprecatedDOMHTMLSelectElement::setClassName):
- (DeprecatedDOMHTMLSelectElement::innerHTML):
- (DeprecatedDOMHTMLSelectElement::setInnerHTML):
- (DeprecatedDOMHTMLSelectElement::innerText):
- (DeprecatedDOMHTMLSelectElement::setInnerText):
- (DeprecatedDOMHTMLOptionElement::DeprecatedDOMHTMLOptionElement):
- (DeprecatedDOMHTMLOptionElement::AddRef):
- (DeprecatedDOMHTMLOptionElement::Release):
- (DeprecatedDOMHTMLOptionElement::throwException):
- (DeprecatedDOMHTMLOptionElement::callWebScriptMethod):
- (DeprecatedDOMHTMLOptionElement::evaluateWebScript):
- (DeprecatedDOMHTMLOptionElement::removeWebScriptKey):
- (DeprecatedDOMHTMLOptionElement::stringRepresentation):
- (DeprecatedDOMHTMLOptionElement::webScriptValueAtIndex):
- (DeprecatedDOMHTMLOptionElement::setWebScriptValueAtIndex):
- (DeprecatedDOMHTMLOptionElement::setException):
- (DeprecatedDOMHTMLOptionElement::nodeName):
- (DeprecatedDOMHTMLOptionElement::nodeValue):
- (DeprecatedDOMHTMLOptionElement::setNodeValue):
- (DeprecatedDOMHTMLOptionElement::nodeType):
- (DeprecatedDOMHTMLOptionElement::parentNode):
- (DeprecatedDOMHTMLOptionElement::childNodes):
- (DeprecatedDOMHTMLOptionElement::firstChild):
- (DeprecatedDOMHTMLOptionElement::lastChild):
- (DeprecatedDOMHTMLOptionElement::previousSibling):
- (DeprecatedDOMHTMLOptionElement::nextSibling):
- (DeprecatedDOMHTMLOptionElement::attributes):
- (DeprecatedDOMHTMLOptionElement::ownerDocument):
- (DeprecatedDOMHTMLOptionElement::insertBefore):
- (DeprecatedDOMHTMLOptionElement::replaceChild):
- (DeprecatedDOMHTMLOptionElement::removeChild):
- (DeprecatedDOMHTMLOptionElement::appendChild):
- (DeprecatedDOMHTMLOptionElement::hasChildNodes):
- (DeprecatedDOMHTMLOptionElement::cloneNode):
- (DeprecatedDOMHTMLOptionElement::normalize):
- (DeprecatedDOMHTMLOptionElement::isSupported):
- (DeprecatedDOMHTMLOptionElement::namespaceURI):
- (DeprecatedDOMHTMLOptionElement::prefix):
- (DeprecatedDOMHTMLOptionElement::setPrefix):
- (DeprecatedDOMHTMLOptionElement::localName):
- (DeprecatedDOMHTMLOptionElement::hasAttributes):
- (DeprecatedDOMHTMLOptionElement::isSameNode):
- (DeprecatedDOMHTMLOptionElement::isEqualNode):
- (DeprecatedDOMHTMLOptionElement::textContent):
- (DeprecatedDOMHTMLOptionElement::setTextContent):
- (DeprecatedDOMHTMLOptionElement::tagName):
- (DeprecatedDOMHTMLOptionElement::getAttribute):
- (DeprecatedDOMHTMLOptionElement::setAttribute):
- (DeprecatedDOMHTMLOptionElement::removeAttribute):
- (DeprecatedDOMHTMLOptionElement::getAttributeNode):
- (DeprecatedDOMHTMLOptionElement::setAttributeNode):
- (DeprecatedDOMHTMLOptionElement::removeAttributeNode):
- (DeprecatedDOMHTMLOptionElement::getElementsByTagName):
- (DeprecatedDOMHTMLOptionElement::getAttributeNS):
- (DeprecatedDOMHTMLOptionElement::setAttributeNS):
- (DeprecatedDOMHTMLOptionElement::removeAttributeNS):
- (DeprecatedDOMHTMLOptionElement::getAttributeNodeNS):
- (DeprecatedDOMHTMLOptionElement::setAttributeNodeNS):
- (DeprecatedDOMHTMLOptionElement::getElementsByTagNameNS):
- (DeprecatedDOMHTMLOptionElement::hasAttribute):
- (DeprecatedDOMHTMLOptionElement::hasAttributeNS):
- (DeprecatedDOMHTMLOptionElement::focus):
- (DeprecatedDOMHTMLOptionElement::blur):
- (DeprecatedDOMHTMLOptionElement::idName):
- (DeprecatedDOMHTMLOptionElement::setIdName):
- (DeprecatedDOMHTMLOptionElement::title):
- (DeprecatedDOMHTMLOptionElement::setTitle):
- (DeprecatedDOMHTMLOptionElement::lang):
- (DeprecatedDOMHTMLOptionElement::setLang):
- (DeprecatedDOMHTMLOptionElement::dir):
- (DeprecatedDOMHTMLOptionElement::setDir):
- (DeprecatedDOMHTMLOptionElement::className):
- (DeprecatedDOMHTMLOptionElement::setClassName):
- (DeprecatedDOMHTMLOptionElement::innerHTML):
- (DeprecatedDOMHTMLOptionElement::setInnerHTML):
- (DeprecatedDOMHTMLOptionElement::innerText):
- (DeprecatedDOMHTMLOptionElement::setInnerText):
- (DeprecatedDOMHTMLInputElement::DeprecatedDOMHTMLInputElement):
- (DeprecatedDOMHTMLInputElement::AddRef):
- (DeprecatedDOMHTMLInputElement::Release):
- (DeprecatedDOMHTMLInputElement::throwException):
- (DeprecatedDOMHTMLInputElement::callWebScriptMethod):
- (DeprecatedDOMHTMLInputElement::evaluateWebScript):
- (DeprecatedDOMHTMLInputElement::removeWebScriptKey):
- (DeprecatedDOMHTMLInputElement::stringRepresentation):
- (DeprecatedDOMHTMLInputElement::webScriptValueAtIndex):
- (DeprecatedDOMHTMLInputElement::setWebScriptValueAtIndex):
- (DeprecatedDOMHTMLInputElement::setException):
- (DeprecatedDOMHTMLInputElement::nodeName):
- (DeprecatedDOMHTMLInputElement::nodeValue):
- (DeprecatedDOMHTMLInputElement::setNodeValue):
- (DeprecatedDOMHTMLInputElement::nodeType):
- (DeprecatedDOMHTMLInputElement::parentNode):
- (DeprecatedDOMHTMLInputElement::childNodes):
- (DeprecatedDOMHTMLInputElement::firstChild):
- (DeprecatedDOMHTMLInputElement::lastChild):
- (DeprecatedDOMHTMLInputElement::previousSibling):
- (DeprecatedDOMHTMLInputElement::nextSibling):
- (DeprecatedDOMHTMLInputElement::attributes):
- (DeprecatedDOMHTMLInputElement::ownerDocument):
- (DeprecatedDOMHTMLInputElement::insertBefore):
- (DeprecatedDOMHTMLInputElement::replaceChild):
- (DeprecatedDOMHTMLInputElement::removeChild):
- (DeprecatedDOMHTMLInputElement::appendChild):
- (DeprecatedDOMHTMLInputElement::hasChildNodes):
- (DeprecatedDOMHTMLInputElement::cloneNode):
- (DeprecatedDOMHTMLInputElement::normalize):
- (DeprecatedDOMHTMLInputElement::isSupported):
- (DeprecatedDOMHTMLInputElement::namespaceURI):
- (DeprecatedDOMHTMLInputElement::prefix):
- (DeprecatedDOMHTMLInputElement::setPrefix):
- (DeprecatedDOMHTMLInputElement::localName):
- (DeprecatedDOMHTMLInputElement::hasAttributes):
- (DeprecatedDOMHTMLInputElement::isSameNode):
- (DeprecatedDOMHTMLInputElement::isEqualNode):
- (DeprecatedDOMHTMLInputElement::textContent):
- (DeprecatedDOMHTMLInputElement::setTextContent):
- (DeprecatedDOMHTMLInputElement::tagName):
- (DeprecatedDOMHTMLInputElement::getAttribute):
- (DeprecatedDOMHTMLInputElement::setAttribute):
- (DeprecatedDOMHTMLInputElement::removeAttribute):
- (DeprecatedDOMHTMLInputElement::getAttributeNode):
- (DeprecatedDOMHTMLInputElement::setAttributeNode):
- (DeprecatedDOMHTMLInputElement::removeAttributeNode):
- (DeprecatedDOMHTMLInputElement::getElementsByTagName):
- (DeprecatedDOMHTMLInputElement::getAttributeNS):
- (DeprecatedDOMHTMLInputElement::setAttributeNS):
- (DeprecatedDOMHTMLInputElement::removeAttributeNS):
- (DeprecatedDOMHTMLInputElement::getAttributeNodeNS):
- (DeprecatedDOMHTMLInputElement::setAttributeNodeNS):
- (DeprecatedDOMHTMLInputElement::getElementsByTagNameNS):
- (DeprecatedDOMHTMLInputElement::hasAttribute):
- (DeprecatedDOMHTMLInputElement::hasAttributeNS):
- (DeprecatedDOMHTMLInputElement::focus):
- (DeprecatedDOMHTMLInputElement::blur):
- (DeprecatedDOMHTMLInputElement::idName):
- (DeprecatedDOMHTMLInputElement::setIdName):
- (DeprecatedDOMHTMLInputElement::title):
- (DeprecatedDOMHTMLInputElement::setTitle):
- (DeprecatedDOMHTMLInputElement::lang):
- (DeprecatedDOMHTMLInputElement::setLang):
- (DeprecatedDOMHTMLInputElement::dir):
- (DeprecatedDOMHTMLInputElement::setDir):
- (DeprecatedDOMHTMLInputElement::className):
- (DeprecatedDOMHTMLInputElement::setClassName):
- (DeprecatedDOMHTMLInputElement::innerHTML):
- (DeprecatedDOMHTMLInputElement::setInnerHTML):
- (DeprecatedDOMHTMLInputElement::innerText):
- (DeprecatedDOMHTMLInputElement::setInnerText):
- (DeprecatedDOMHTMLTextAreaElement::DeprecatedDOMHTMLTextAreaElement):
- (DeprecatedDOMHTMLTextAreaElement::AddRef):
- (DeprecatedDOMHTMLTextAreaElement::Release):
- (DeprecatedDOMHTMLTextAreaElement::throwException):
- (DeprecatedDOMHTMLTextAreaElement::callWebScriptMethod):
- (DeprecatedDOMHTMLTextAreaElement::evaluateWebScript):
- (DeprecatedDOMHTMLTextAreaElement::removeWebScriptKey):
- (DeprecatedDOMHTMLTextAreaElement::stringRepresentation):
- (DeprecatedDOMHTMLTextAreaElement::webScriptValueAtIndex):
- (DeprecatedDOMHTMLTextAreaElement::setWebScriptValueAtIndex):
- (DeprecatedDOMHTMLTextAreaElement::setException):
- (DeprecatedDOMHTMLTextAreaElement::nodeName):
- (DeprecatedDOMHTMLTextAreaElement::nodeValue):
- (DeprecatedDOMHTMLTextAreaElement::setNodeValue):
- (DeprecatedDOMHTMLTextAreaElement::nodeType):
- (DeprecatedDOMHTMLTextAreaElement::parentNode):
- (DeprecatedDOMHTMLTextAreaElement::childNodes):
- (DeprecatedDOMHTMLTextAreaElement::firstChild):
- (DeprecatedDOMHTMLTextAreaElement::lastChild):
- (DeprecatedDOMHTMLTextAreaElement::previousSibling):
- (DeprecatedDOMHTMLTextAreaElement::nextSibling):
- (DeprecatedDOMHTMLTextAreaElement::attributes):
- (DeprecatedDOMHTMLTextAreaElement::ownerDocument):
- (DeprecatedDOMHTMLTextAreaElement::insertBefore):
- (DeprecatedDOMHTMLTextAreaElement::replaceChild):
- (DeprecatedDOMHTMLTextAreaElement::removeChild):
- (DeprecatedDOMHTMLTextAreaElement::appendChild):
- (DeprecatedDOMHTMLTextAreaElement::hasChildNodes):
- (DeprecatedDOMHTMLTextAreaElement::cloneNode):
- (DeprecatedDOMHTMLTextAreaElement::normalize):
- (DeprecatedDOMHTMLTextAreaElement::isSupported):
- (DeprecatedDOMHTMLTextAreaElement::namespaceURI):
- (DeprecatedDOMHTMLTextAreaElement::prefix):
- (DeprecatedDOMHTMLTextAreaElement::setPrefix):
- (DeprecatedDOMHTMLTextAreaElement::localName):
- (DeprecatedDOMHTMLTextAreaElement::hasAttributes):
- (DeprecatedDOMHTMLTextAreaElement::isSameNode):
- (DeprecatedDOMHTMLTextAreaElement::isEqualNode):
- (DeprecatedDOMHTMLTextAreaElement::textContent):
- (DeprecatedDOMHTMLTextAreaElement::setTextContent):
- (DeprecatedDOMHTMLTextAreaElement::tagName):
- (DeprecatedDOMHTMLTextAreaElement::getAttribute):
- (DeprecatedDOMHTMLTextAreaElement::setAttribute):
- (DeprecatedDOMHTMLTextAreaElement::removeAttribute):
- (DeprecatedDOMHTMLTextAreaElement::getAttributeNode):
- (DeprecatedDOMHTMLTextAreaElement::setAttributeNode):
- (DeprecatedDOMHTMLTextAreaElement::removeAttributeNode):
- (DeprecatedDOMHTMLTextAreaElement::getElementsByTagName):
- (DeprecatedDOMHTMLTextAreaElement::getAttributeNS):
- (DeprecatedDOMHTMLTextAreaElement::setAttributeNS):
- (DeprecatedDOMHTMLTextAreaElement::removeAttributeNS):
- (DeprecatedDOMHTMLTextAreaElement::getAttributeNodeNS):
- (DeprecatedDOMHTMLTextAreaElement::setAttributeNodeNS):
- (DeprecatedDOMHTMLTextAreaElement::getElementsByTagNameNS):
- (DeprecatedDOMHTMLTextAreaElement::hasAttribute):
- (DeprecatedDOMHTMLTextAreaElement::hasAttributeNS):
- (DeprecatedDOMHTMLTextAreaElement::focus):
- (DeprecatedDOMHTMLTextAreaElement::blur):
- (DeprecatedDOMHTMLTextAreaElement::idName):
- (DeprecatedDOMHTMLTextAreaElement::setIdName):
- (DeprecatedDOMHTMLTextAreaElement::title):
- (DeprecatedDOMHTMLTextAreaElement::setTitle):
- (DeprecatedDOMHTMLTextAreaElement::lang):
- (DeprecatedDOMHTMLTextAreaElement::setLang):
- (DeprecatedDOMHTMLTextAreaElement::dir):
- (DeprecatedDOMHTMLTextAreaElement::setDir):
- (DeprecatedDOMHTMLTextAreaElement::className):
- (DeprecatedDOMHTMLTextAreaElement::setClassName):
- (DeprecatedDOMHTMLTextAreaElement::innerHTML):
- (DeprecatedDOMHTMLTextAreaElement::setInnerHTML):
- (DeprecatedDOMHTMLTextAreaElement::innerText):
- (DeprecatedDOMHTMLTextAreaElement::setInnerText):
- * Interfaces/DOMCSS.idl:
- * Interfaces/DOMCore.idl:
- * Interfaces/DOMEvents.idl:
- * Interfaces/DOMExtensions.idl:
- * Interfaces/DOMHTML.idl:
- * Interfaces/DOMPrivate.idl:
- * Interfaces/DOMRange.idl:
- * Interfaces/DOMWindow.idl:
- * Interfaces/IWebEditingDelegate.idl:
- * Interfaces/IWebFormDelegate.idl:
- * Interfaces/IWebFrame.idl:
- * Interfaces/IWebHTMLRepresentation.idl:
- * Interfaces/IWebView.idl:
- * WebEditorClient.cpp:
- (WebEditorClient::shouldDeleteRange):
- (WebEditorClient::shouldInsertText):
- (WebEditorClient::textFieldDidBeginEditing):
- (WebEditorClient::textFieldDidEndEditing):
- (WebEditorClient::textDidChangeInTextField):
- (WebEditorClient::doTextFieldCommandFromEvent):
- (WebEditorClient::textWillBeDeletedInTextField):
- (WebEditorClient::textDidChangeInTextArea):
- * WebElementPropertyBag.cpp:
- (WebElementPropertyBag::Read):
- * WebFrame.cpp:
- (elementFromDOMElement):
- (formElementFromDOMElement):
- (inputElementFromDOMElement):
- (WebFrame::DOMDocument):
- (WebFrame::frameElement):
- (WebFrame::currentForm):
- (WebFrame::elementWithName):
- (WebFrame::formForElement):
- (WebFrame::elementDoesAutoComplete):
- (WebFrame::controlsInForm):
- (WebFrame::elementIsPassword):
- (WebFrame::searchForLabelsBeforeElement):
- (WebFrame::matchLabelsAgainstElement):
- (WebFrame::dispatchWillSubmitForm):
- * WebFrame.h:
- * WebHTMLRepresentation.cpp:
- (WebHTMLRepresentation::attributedStringFromDOMNodes):
- (WebHTMLRepresentation::elementWithName):
- (WebHTMLRepresentation::elementDoesAutoComplete):
- (WebHTMLRepresentation::elementIsPassword):
- (WebHTMLRepresentation::formForElement):
- (WebHTMLRepresentation::currentForm):
- (WebHTMLRepresentation::controlsInForm):
- (WebHTMLRepresentation::searchForLabels):
- (WebHTMLRepresentation::matchLabels):
- * WebHTMLRepresentation.h:
- * WebView.cpp:
- (WebView::mainFrameDocument):
- (WebView::computedStyleForElement):
- (WebView::editableDOMRangeForPoint):
- (WebView::setSelectedDOMRange):
- (WebView::selectedDOMRange):
- (WebView::setTypingStyle):
- (WebView::typingStyle):
- (WebView::styleDeclarationWithText):
- (WebView::replaceSelectionWithNode):
- (WebView::applyStyle):
- * WebView.h:
-
-2007-08-22 Jon Honeycutt <jhoneycutt@apple.com>
-
- Reviewed by Adam.
-
- Refactoring of <radr://problem/5220598> Dragging URL out and back
- inserts a second copy of the URL
-
- * Interfaces/IWebViewPrivate.idl: Added setCustomDropTarget and
- removeCustomDropTarget
- * WebView.cpp:
- (WebView::WebView): Initialize m_hasCustomDropTarget
- (WebView::setCustomDropTarget): Revoke any existing drop target and set
- the incoming drop target.
- (WebView::removeCustomDropTarget): Revoke any existing drop target and
- set the default drop target.
- * WebView.h:
-
-2007-08-21 Ada Chan <adachan@apple.com>
-
- Fix <rdar://problem/5416630> Accelerator to open link in window in background opens window in foreground instead
- Placing tooltip window at the topmost in z-order brought windows that were opened in the
- background to the front. Use HWND_TOP instead.
-
- Reviewed by Adam.
-
- * WebView.cpp:
- (WebView::initializeToolTipWindow):
-
-2007-08-21 Adam Roben <aroben@apple.com>
-
- Switch Windows to using FrameView::layoutIfNeededRecursive
-
- Reviewed by Darin Adler.
-
- * WebFrame.cpp: Removed layoutIfNeededRecursive.
- * WebFrame.h: Ditto.
- * WebView.cpp:
- (WebView::updateBackingStore): Call FrameView::layoutIfNeededRecursive.
-
-2007-08-17 Adam Roben <aroben@apple.com>
-
- Fix <rdar://5192578> Inspect Element should not appear in context menu in non-debug mode
-
- We now follow the same logic as Mac WebKit for displaying the Inspect Element item:
- 1) If DisableWebKitDeveloperExtras is set to true, don't display it
- 2) If not, and we're in a debug build, display it
- 3) If not, and we're in a release build, display it if
- WebKitDeveloperExtras is set to true
-
- Reviewed by Ada.
-
- * Interfaces/IWebPreferencesPrivate.idl: Added.
- * WebKit.vcproj/Interfaces.vcproj: Add new IWebPreferencesPrivate.idl
- file to project.
- * WebKit.vcproj/WebKitGUID.vcproj: Added generated .c file for
- IWebPreferencesPrivate to project.
- * WebPreferenceKeysPrivate.h: Added new keys.
- * WebPreferences.cpp: Added IID_WebPreferences.
- (WebPreferences::postPreferencesChangesNotification): Added an explicit
- cast needed now that WebPreferences implements two interfaces.
- (WebPreferences::QueryInterface): Added new cases.
- (WebPreferences::setDeveloperExtrasEnabled): Added.
- (WebPreferences::developerExtrasEnabled): Added.
- (WebPreferences::developerExtrasDisabledByOverride): Added.
- * WebPreferences.h: Now implements IWebPreferencesPrivate.
- * WebView.cpp:
- (WebView::updateWebCoreSettingsFromPreferences): Call developerExtrasEnabled.
- (WebView::developerExtrasEnabled): Ported from -[WebView _developerExtrasEnabled].
- * WebView.h:
-
-2007-08-17 Adam Roben <aroben@apple.com>
-
- Add WebPreferences::sharedStandardPreferences
-
- This is a convenience method to get the standard preferences object so
- that within WebKit we don't have to deal with the fact that COM doesn't
- support static methods.
-
- Reviewed by Ada.
-
- * WebHistory.cpp:
- (WebHistory::WebHistory): Use sharedStandardPreferences.
- * WebIconDatabase.cpp:
- (WebIconDatabase::init): Ditto.
- * WebPreferences.cpp:
- (WebPreferences::sharedStandardPreferences): Added.
- (WebPreferences::getInstanceForIdentifier): Use sharedStandardPreferences.
- (WebPreferences::standardPreferences): Ditto.
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::preferences): Ditto.
-
-2007-08-17 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * WebFrame.cpp:
- (WebFrame::createPlugin):
- * WebFrame.h:
-
-2007-08-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Dave Hyatt.
-
- WebKit changes to support new cache eviction model in WebCore.
-
- * WebPreferences.cpp:
- (WebPreferences::initialize):
-
- * WebView/WebPreferences.m: Modified to reflect new API in WebCore.
- * WebView.cpp:
- (WebView::initializeCacheSizesIfNecessary): Slightly increased cache
- size on low memory systems to avoid affecting the PLT for now.
-
-2007-08-14 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/5411482> Windows user agent language always returns "en"
-
- Call WebCore::defaultLanguage() to pick up UA language.
-
- Reviewed by Oliver.
-
- * WebView.cpp:
- (WebView::userAgentForKURL):
-
-2007-08-15 Peter Kasting <pkasting@google.com>
-
- Reviewed by Darin Adler.
-
- http://bugs.webkit.org/show_bug.cgi?id=14967 part 1 - Eliminate most implicit
- conversions of wtf::Vector<T> to T* by explicitly calling .data()
-
- * WebView.cpp:
- (getCompositionString):
-
-2007-08-12 Adam Roben <aroben@apple.com>
-
- Store user defaults in a non-mutable CFDictionaryRef
-
- Also renamed WebPreferences' static members:
- m_standardPreferences -> s_standardPreferences
- m_standardUserDefaults -> s_defaultSettings
-
- Reviewed by Darin and John.
-
- * WebPreferences.cpp:
- (WebPreferences::getInstanceForIdentifier):
- (WebPreferences::initializeUserDefaults): Construct the dictionary as a
- local CFMutableDictionaryRef, then assign it to the non-mutable static
- member.
- (WebPreferences::valueForKey):
- (WebPreferences::removeDefaultsIfNeeded):
- (WebPreferences::standardPreferences):
- * WebPreferences.h:
-
-2007-08-12 Adam Roben <aroben@apple.com>
-
- Fix <rdar://problem/5214504> No way to change WebPreferences defaults (all preferences get written to disk)
-
- We now only write to disk values that have been explicitly set, and
- never write any default values.
-
- This is not enough, however, as anyone who has used WebKit prior to
- this change will have the default values sitting in their preferences
- plist on disk. To remedy this, we perform a one-time removal of any
- key-value pairs that match a pair in the defaults dictionary.
-
- Reviewed by Steve, John, Ada, and Darin.
-
- * WebPreferenceKeysPrivate.h: Added new key to ensure we only remove
- the defaults once.
- * WebPreferences.cpp:
- (WebPreferences::initializeDefaultSettings): Renamed from initialize, and
- made sure we only set up the defaults dictionary once. Now that the
- defaults dictionary is never modified after creation, we don't need to
- check whether the keys are already present.
- (WebPreferences::setStringValue): Don't modify the defaults dictionary.
- (WebPreferences::setIntegerValue): Ditto.
- (WebPreferences::setBoolValue): Ditto.
- (WebPreferences::save): Write out the user's preferences, not the defaults.
- (WebPreferences::load):
- - Removed gotos and early declarations now that we're using
- RetainPtr everywhere.
- - Initialize m_privatePrefs with an empty dictionary if we didn't
- read in a plist.
- - Call migrateDefaultSettingsFromSafari3Beta after loading.
- (WebPreferences::migrateDefaultSettingsFromSafari3Beta): Added.
- (WebPreferences::removeValuesMatchingDefaultSettings): Added.
- (WebPreferences::initWithIdentifier): Don't initialize m_privatePrefs
- -- load() does this now.
- * WebPreferences.h: Updated/added declarations.
-
-2007-08-12 Adam Roben <aroben@apple.com>
-
- Use RetainPtr to store WebPreferences::m_privatePrefs
-
- Reviewed by Darin Adler.
-
- * WebPreferences.cpp:
- (WebPreferences::setStringValue):
- (WebPreferences::setIntegerValue):
- (WebPreferences::setBoolValue):
- (WebPreferences::initWithIdentifier):
- * WebPreferences.h:
-
-2007-08-12 Adam Roben <aroben@apple.com>
-
- Fix <rdar://problem/5278790> Hole for find-on-page match in subframe isn't clipped by frame bounds
-
- Reviewed by Maciej.
-
- * WebView.cpp:
- (WebView::rectsForTextMatches): Ported fix from r23586.
-
-2007-08-12 Adam Roben <aroben@apple.com>
-
- Prevent an ASSERT on launch by initializing AtomicString in WebKitGraphics
-
- Reviewed by Maciej.
-
- * WebKitGraphics.cpp:
- (makeFont):
-
-2007-08-10 Ada Chan <adachan@apple.com>
-
- Reviewed by Adam and Darin.
-
- <rdar://problem/5403095> Crash in WebViewWndProc after closing a window
- We are seeing another case where WM_SETFOCUS is sent after WM_DESTROY has been handled in WebView.
- Bail early in the wndProc if WebView is set to be destroyed.
-
- * WebView.cpp:
- (WebViewWndProc):
-
-2007-08-02 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- <rdar://problem/5079175> Printing header and footer
-
- * Interfaces/IWebUIDelegate.idl: added methods for header/footer drawing.
- * WebFrame.cpp:
- (WebFrame::headerAndFooterHeights): ask client for the header and
- footer heights via IWebUIDelegate2 methods.
- (WebFrame::computePageRects): pass in header and footer heights when
- calculating page rect heights.
- (WebFrame::spoolPages): ask client to draw header and footer via
- IWebUIDelegate2 methods.
- * WebFrame.h:
- * WebKitGraphics.cpp:
- (DrawTextAtPoint): the code assumes color has 4 components - might as well
- assert it.
-
-2007-08-01 Steve Falkenburg <sfalken@apple.com>
-
- Build mod: Fix sln to match configs in vcproj.
-
- Reviewed by Adam.
-
- * WebKit.vcproj/WebKit.make:
- * WebKit.vcproj/WebKit.submit.sln:
-
-2007-07-27 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Tristan.
-
- <rdar://problem/5098931> Attachments are lost when they are moved into a ToDo after a delete
-
- * WebEditorClient.cpp:
- (WebEditorClient::shouldMoveRangeAfterDelete): Method stub.
- * WebEditorClient.h:
-
-2007-07-27 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- Add FIXME comment.
-
- * Interfaces/DOMHTML.idl:
-
-2007-07-27 Ada Chan <adachan@apple.com>
-
- Reviewed by Adam.
-
- Added methods to track user edited text fields now that
- <rdar://problem/5359921> has been fixed.
-
- * DOMHTMLClasses.cpp:
- (DOMHTMLInputElement::QueryInterface):
- (DOMHTMLInputElement::isUserEdited):
- (DOMHTMLTextAreaElement::QueryInterface):
- (DOMHTMLTextAreaElement::isUserEdited):
- * DOMHTMLClasses.h:
- * Interfaces/DOMPrivate.idl:
-
-2007-07-27 Adam Roben <aroben@apple.com>
-
- Fix Bug 14773: REGRESSION (r24630): ASSERT_NOT_REACHED in DOMHTMLInputElement::name on Windows
- http://bugs.webkit.org/show_bug.cgi?id=14773
-
- Reviewed by Steve.
-
- * Interfaces/DOMHTML.idl: Change IDOMHTMLInputElement back to
- inheriting from IDOMElement. Safari 3 Beta uses this interface, so we
- can't change its vtable.
-
-2007-07-25 Ada Chan <adachan@apple.com>
-
- Reviewed by Adam and Steve.
-
- Implemented some DOM methods and other fixes for <rdar://problem/5311601>.
-
- * DOMCoreClasses.cpp:
- (DOMNode::ownerDocument): implemented
- (DOMDocument::getComputedStyle): get the DOMElement via QueryInterface
- (DOMElement::QueryInterface):
- * DOMHTMLClasses.cpp:
- (DOMHTMLDocument::body): fixed leak
- (DOMHTMLFormElement::action): implemented
- (DOMHTMLFormElement::method): ditto
- (DOMHTMLInputElement::form): ditto
- (DOMHTMLTextAreaElement::form): ditto
- * Interfaces/DOMHTML.idl: IDOMHTMLInputElement should inherit from IDOMHTMLElement
-
-2007-07-24 Steve Falkenburg <sfalken@apple.com>
-
- Removed touch of WebKit.rc to prevent rebuilds of the rc file.
- The autoversion info can get slightly out of date now, but this isn't a huge problem relative to the rebuilds.
-
- Rubber-stamped by Adam.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-07-23 Steve Falkenburg <sfalken@apple.com>
-
- Fixes to versioning script.
-
- Reviewed by Ada.
-
- * WebKit.vcproj/auto-version.sh:
-
-2007-07-23 Adam Roben <aroben@apple.com>
-
- Implement IWebHistoryItem::[set]AlternateTitle
-
- The argument types were reversed for these two methods, so I fixed that as
- well.
-
- Reviewed by Geoff and Oliver.
-
- * Interfaces/IWebHistoryItem.idl:
- * WebHistoryItem.cpp:
- (WebHistoryItem::setAlternateTitle): Implemented.
- (WebHistoryItem::alternateTitle): Implemented.
- * WebHistoryItem.h:
-
-2007-07-23 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- Added a new text drawing method that allows caller to override the font smoothing level.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
- * WebKitGraphics.cpp:
- (WebDrawText):
- * WebKitGraphics.h:
-
-2007-07-22 Adam Roben <aroben@apple.com>
-
- Implement IDOMElement::setAttribute
-
- This method was mistakenly called "setResult" in DOMCore.idl, so I
- fixed that as well.
-
- Needed for <rdar://problem/5314906>.
-
- Reviewed by Ada.
-
- * DOMCoreClasses.cpp:
- (DOMElement::setAttribute): Implemented/renamed.
- * DOMCoreClasses.h: Renamed setResult => setAttribute.
- * DOMHTMLClasses.h: Ditto.
- * Interfaces/DOMCore.idl: Ditto.
-
-2007-07-21 Ada Chan <adachan@apple.com>
-
- Reviewed by Adam.
-
- Fix bug 14706: http://bugs.webkit.org/show_bug.cgi?id=14706
- Need to set the last visited time before calling WebHistory::addItem().
-
- * WebHistory.cpp:
- (WebHistory::addItemForURL):
-
-2007-07-20 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/5109817> Ctrl-click on word in non-editable text doesn't select it
-
- * WebEditorClient.cpp: Removed the now unused selectWordBeforeMenuEvent().
- * WebEditorClient.h:
-
-2007-07-20 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- <rdar://problem/5350832> History item's visitedCount wasn't updated correctly
-
- The call to setLastVisitedTimeInterval() in WebHistory::addItemForURL() does not
- really increment the visitedCount of the HistoryItem - because we only increment the count
- if the last visited time is different. We should initialize the HistoryItem with
- lastVisited time = 0 so when we call setLastVisitedTimeInterval() later, it'll update
- the last visited time AND the visitedCount.
-
- * WebHistory.cpp:
- (WebHistory::addItemForURL):
-
-2007-07-20 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/5349668> WebKit/Win needs to send same key events during IME composition as it does on mac
-
- Removed guards against sending key events during composition, and added a flag
- to indicate a key event is IME related. This is needed to prevent the first
- keydown from firing a keypress event, and makes WebEditorClient::handleInputMethodKeypress
- somewhat cleaner.
-
- * WebEditorClient.cpp:
- (WebEditorClient::handleInputMethodKeypress):
- * WebView.cpp:
- (WebView::keyUp):
- (WebView::keyDown):
- * WebView.h:
- (WebView::inIMEKeyDown):
-
-2007-07-19 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam.
-
- - WebKit part of fix for <rdar://problem/5262230> Crash while loading a popup in addictinggames.com
-
- Made closeWindowSoon fire on a timer instead of happening synchronously.
-
- * WebChromeClient.cpp:
- (WebChromeClient::closeWindowSoon): Actually close the window on a timer, not immediately.
- * WebKit.vcproj/WebKit.vcproj:
- * WebView.cpp:
- (WebView::WebView):
- (WebView::closeWindowSoon):
- (WebView::closeWindowTimerFired):
- * WebView.h:
-
-2007-07-18 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Adam.
-
- Make the Page with the now required InspectorClient.
-
- * WebView.cpp:
- (WebView::initWithFrame):
-
-2007-07-18 Sam Weinig <sam@webkit.org>
-
- Build fix.
-
- * WebFrame.cpp:
- (WebFrame::dispatchDecidePolicyForMIMEType):
- (WebFrame::objectContentType):
- * WebView.cpp:
- (WebView::canShowMIMEType):
-
-2007-07-17 Brady Eidson <beidson@apple.com>
-
- Blind Windows build fix from r24395
-
- * WebView.cpp:
- (WebView::initWithFrame): BSTR, not BString
-
-2007-07-17 Brady Eidson <beidson@apple.com>
-
- Reviewed by Steve
-
- <rdar://problem/4516185> - FTP Directory Listings
-
- * Interfaces/IWebUIDelegate.idl: Add IWebUIDelegate2 method for getting the path to the template
-
- * WebView.cpp:
- (WebView::initWithFrame): Set the preference for the template path in WebCore when the first
- WebView is initialized
-
-2007-07-17 Ada Chan <adachan@apple.com>
-
- Rubbet-stamped by Adam.
-
- Fixed build.
-
- * Interfaces/IWebFramePrivate.idl:
- * WebContextMenuClient.cpp:
- (fixMenuReceivedFromOldSafari):
- * WebFrame.cpp:
- (WebFrame::loadURLIntoChild):
- (WebFrame::download):
- * WebFrame.h:
-
-2007-07-17 Adam Roben <aroben@apple.com>
-
- Fix Bug 14324: Cannot remove/customize the "Inspect Element" contextual menu item
- http://bugs.webkit.org/show_bug.cgi?id=14324
-
- If we detect that we're running against the Safari 3 Beta, we add back
- the Inspect Element menu item after passing it off to the delegate
- because Safari's UI delegate will remove it.
-
- Reviewed by Tim.
-
- * WebContextMenuClient.cpp:
- (isPreInspectElementTagSafari): Added.
- (fixMenuReceivedFromOldSafari): Added.
- (WebContextMenuClient::getCustomMenuFromDefaultItems): Call
- fixMenuReceivedFromOldSafari before returning the new menu.
-
-2007-07-17 Adam Roben <aroben@apple.com>
-
- Remove WebContextMenuClient::shouldIncludeInspectElementItem
-
- Reviewed by Tim.
-
- * WebContextMenuClient.cpp:
- * WebContextMenuClient.h:
-
-2007-07-17 Adam Roben <aroben@apple.com>
-
- Initialize Settings::developerExtrasEnabled
-
- Reviewed by Tim.
-
- * WebView.cpp:
- (WebView::updateWebCoreSettingsFromPreferences):
-
-2007-07-17 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::searchWithGoogle): Pass false for lockHistory
- like we do elsewhere.
-
-2007-07-17 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Fix for <rdar://problem/5339416> Candidate window does not
- appear in the correct location for japanese IME
-
- * WebView.cpp:
- (WebView::prepareCandidateWindow):
- We now use an exclusion zone so that the composition window never
- overlaps the composition string
- (WebView::onIMERequestCharPosition):
- Correctly handle character offsets marked regions
-
-2007-07-16 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej.
-
- Fix for <rdar://problem/5334818> Support IME reconversion in windows
-
- Also includes a small amount of IME refactoring.
-
- * WebView.cpp:
- (WebView::onIMERequestCharPosition):
- (WebView::onIMERequestReconvertString):
- (WebView::onIMERequest):
- * WebView.h:
-
-2007-07-16 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- Begin the arduous task of localizing FTP directory listings while removing a global initializer!
-
- * English.lproj/Localizable.strings:
- * WebCoreLocalizedStrings.cpp:
- (WebCore::unknownFileSizeText):
-
-2007-07-16 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej.
-
- Fix for <rdar://problem/5334826> Chinese IME composition window does not appear in the correct location
-
- Respect IME requests for character position.
-
- * WebView.cpp:
- (WebView::onIMERequestCharPosition):
- (WebView::onIMERequest):
- * WebView.h:
-
-2007-07-16 Adam Roben <aroben@apple.com>
-
- WebKit/win part of <rdar://problem/5336005> Calling window.print() on a subframe prints whole page, should only print that subframe
-
- Reviewed by Darin Adler.
-
- * Interfaces/IWebUIDelegate.idl: Rename print to printFrame to closer
- match the Mac method, and copy more of the Mac API comments.
- * WebChromeClient.cpp:
- (WebChromeClient::print): Call printFrame instead of print.
-
-2007-07-16 Adam Roben <aroben@apple.com>
-
- Updated WebChromeClient for ChromeClient changes.
-
- Reviewed by Darin Adler.
-
- * WebChromeClient.cpp:
- (WebChromeClient::print): Added a Frame* parameter.
- * WebChromeClient.h: Ditto.
-
-2007-07-16 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Steve.
-
- Fix for http://bugs.webkit.org/show_bug.cgi?id=14630
-
- Remove bogus assertion
-
- * WebView.cpp:
- (WebView::getIMMContext):
-
-2007-07-14 Brady Eidson <beidson@apple.com>
-
- Reviewed by Sam
-
- Set the pref to override the policy delegate for FTP directory listings on Windows
-
- * WebView.cpp:
- (WebView::updateWebCoreSettingsFromPreferences):
-
-2007-07-13 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Darin and Alexey.
-
- Fix for <rdar://problem/5231528> Inline input of International text (IME)
- http://bugs.webkit.org/show_bug.cgi?id=14331
-
- This patch adds IME support to WebKit/win, it currently does not support
- reconversion (<rdar://problem/5334818>) and has issues with the chinese
- IMEs (<rdar://problem/5334826>)
-
- * WebEditorClient.cpp:
- (WebEditorClient::respondToChangedSelection):
- (WebEditorClient::handleInputMethodKeypress):
- Prevent the initial keydown for an IME from triggering a keypressed event
- * WebView.cpp:
- (WebView::WebView):
- (WebView::keyUp):
- (WebView::keyDown):
- (WebViewWndProc):
- (IMMDict::dict):
- (IMMDict::IMMDict):
- Dynamic loader for IME libraries
-
- (WebView::getIMMContext):
- (WebView::releaseIMMContext):
- (WebView::prepareCandidateWindow):
- (selectionInsideMarkedText):
- (setSelectionToEndOfRange):
- (WebView::resetIME):
- (WebView::updateSelectionForIME):
- (WebView::selectionChanged):
- (getCompositionString):
- (compositionToUnderlines):
- Helper functions
-
- (WebView::onIMEStartComposition):
- (WebView::onIMEComposition):
- (WebView::onIMEEndComposition):
- (WebView::onIMEChar):
- (WebView::onIMENotify):
- (WebView::onIMERequest):
- (WebView::onIMESelect):
- (WebView::onIMESetContext):
- IME event handling, so far most of these are not implemented, but the bulk of functionality
- is performed the the composition event handlers
- * WebView.h:
-
-2007-07-12 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Maciej and Steve.
-
- fixed <rdar://4982432> window.print() needs to be implemented
-
- * Interfaces/IWebUIDelegate.idl:
- * WebChromeClient.cpp:
- (WebChromeClient::print):
- * WebChromeClient.h:
-
-2007-07-11 Steve Falkenburg <sfalken@apple.com>
-
- Static analysis build fix.
-
- Only specify /analyze (PREfast) if it is available.
- Prevents entire project from rebuilding each time.
-
- Reviewed by Hyatt.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-07-10 Ada Chan <adachan@apple.com>
-
- Fixed build.
-
- * WebView.cpp:
-
-2007-07-09 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Adam Roben.
-
- Adding DOM Paste Allowed preference, setters and getters
- for the purpose of layout tests.
-
- * Interfaces/IWebPreferences.idl:
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::isDOMPasteAllowed):
- (WebPreferences::setDOMPasteAllowed):
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::updateWebCoreSettingsFromPreferences):
-
-2007-07-09 Anders Carlsson <andersca@apple.com>
-
- Build fix.
-
- * WebView.cpp:
- (WebView::stringByEvaluatingJavaScriptFromString):
-
-2007-07-05 Adam Roben <aroben@apple.com>
-
- Fix a leak in WebView::setToolTip
-
- Reviewed by Beth.
-
- * WebView.cpp:
- (WebView::setToolTip):
-
-2007-07-05 Adam Roben <aroben@apple.com>
-
- Fix Bug 14143: Tooltips not displayed on Windows
- http://bugs.webkit.org/show_bug.cgi?id=14143
- <rdar://problem/4719799>
-
- Reviewed by Oliver.
-
- * WebChromeClient.cpp:
- (WebChromeClient::setToolTip): Call up to WebView.
- * WebView.cpp:
- (WebView::WebView): Initialize m_toolTipHwnd member.
- (WebView::initWithFrame): Set up the tool tip window.
- (initCommonControls): Added.
- (WebView::initializeToolTipWindow): Added.
- (WebView::setToolTip): Set the tool tip text and enable/disable the
- tool tip.
- * WebView.h: Added/updated declarations.
-
-2007-07-04 Adam Roben <aroben@apple.com>
-
- Added a stub for WebChromeClient::setToolTip
-
- Reviewed by Sam.
-
- * WebChromeClient.cpp:
- * WebChromeClient.h:
-
-2007-07-04 Adam Roben <aroben@apple.com>
-
- Initialize Settings::showsURLsInToolTips
-
- Reviewed by Sam.
-
- * WebView.cpp:
- (WebView::updateWebCoreSettingsFromPreferences):
-
-2007-07-04 Adam Roben <aroben@apple.com>
-
- Removed call to mouseDidMoveOverElement now that WebCore handles it
-
- Reviewed by Sam.
-
- * WebView.cpp:
- (WebView::handleMouseEvent):
-
-2007-07-04 Adam Roben <aroben@apple.com>
-
- Add WebChromeClient::mouseDidMoveOverElement
-
- This is not called yet.
-
- Reviewed by Sam.
-
- * WebChromeClient.cpp:
- (WebChromeClient::mouseDidMoveOverElement):
- * WebChromeClient.h:
-
-2007-07-03 Adam Roben <aroben@apple.com>
-
- Merge the Windows and Mac localized strings and exceptions files
-
- Reviewed by Darin and Anders.
-
- * English.lproj/Localizable.strings: Added Mac strings.
- * English.lproj/StringsNotToBeLocalized.txt: Removed.
-
-2007-06-27 Steve Falkenburg <sfalken@apple.com>
-
- Turn on static code analysis.
-
- Reviewed by Oliver.
-
- Affects only folks that have Visual Studio Team Suite installed,
- or who have replaced their compiler with the version shipping in the
- Vista SDK.
-
- * CodeAnalysisConfig.h: Added.
- * WebKit.vcproj/WebKit.vcproj:
- * WebLocalizableStrings.cpp:
- (createWebKitBundle):
-
-2007-06-27 Steve Falkenburg <sfalken@apple.com>
-
- Prefast: Remove variable redefinitions in inner scopes.
-
- Reviewed by Ada.
-
- * WebDownload.cpp:
- (WebDownload::didFinish):
- * WebNotificationCenter.cpp:
- (WebNotificationCenter::postNotificationInternal):
- (WebNotificationCenter::removeObserver):
-
-2007-06-27 Steve Falkenburg <sfaken@apple.com>
-
- Remove SEH block from around history plist read, since the underlying bug has been fixed.
-
- Reviewed by Darin Adler.
-
- * WebHistory.cpp:
- (createHistoryListFromStream):
-
-2007-06-27 Steve Falkenburg <sfalken@apple.com>
-
- Prefast: Fix misplaced parenthesis.
-
- Reviewed by Darin Adler.
-
- * WebView.cpp:
- (core):
-
-2007-06-27 Steve Falkenburg <sfalken@apple.com>
-
- Prefast: Add null check prior to writing into allocated BSTR.
-
- Reviewed by Darin Adler.
-
- * MarshallingHelpers.cpp:
- (MarshallingHelpers::CFStringRefToBSTR):
-
-2007-06-27 Steve Falkenburg <sfalken@apple.com>
-
- Prefast: Add error handling for SysAllocStringLen where the string length is determined by website content.
-
- Reviewed by Sam, Darin.
-
- Allocation failure will result in a null dereference in this case,
- so it isn't exploitable.
-
- * DefaultDownloadDelegate.cpp:
- (DefaultDownloadDelegate::decideDestinationWithSuggestedFilename):
-
-2007-06-20 Adam Roben <aroben@apple.com>
-
- Land the new Inspector.
-
- Co-written with Tim Hatcher.
-
- Reviewed by Anders, Adele, Hyatt, and Sam.
-
- Implement the InspectorClient interface.
-
- * WebInspectorClient.cpp: Added.
- (WebInspectorClient::WebInspectorClient):
- (WebInspectorClient::~WebInspectorClient):
- (WebInspectorClient::inspectorDestroyed):
- (WebInspectorClient::createPage):
- (WebInspectorClient::showWindow):
- (WebInspectorClient::closeWindow):
- (WebInspectorClient::windowVisible):
- (WebInspectorClient::attachWindow):
- (WebInspectorClient::detachWindow):
- (WebInspectorClient::highlight):
- (WebInspectorClient::hideHighlight):
- (WebInspectorClient::inspectedURLChanged):
- (WebInspectorClient::updateWindowTitle):
- (WebInspectorClient::onSize):
- (WebInspectorClient::onClose):
- (WebInspectorClient::onWebViewWindowPosChanging):
- (WebInspectorWndProc):
- (SubclassedWebViewWndProc):
- (registerWindowClass):
- * WebInspectorClient.h: Added.
-
- Add an easier-to-see highlight.
-
- * WebNodeHighlight.cpp: Added.
- (WebNodeHighlight::WebNodeHighlight):
- (WebNodeHighlight::~WebNodeHighlight):
- (WebNodeHighlight::highlight):
- (WebNodeHighlight::hide):
- (WebNodeHighlight::visible):
- (WebNodeHighlight::updateWindow):
- (WebNodeHighlight::removeSubclass):
- (registerOverlayClass):
- (OverlayWndProc):
- (SubclassedWndProc):
- * WebNodeHighlight.h: Added.
-
- WebView changes needed for the new Inspector.
-
- * WebView.cpp: Removed old inspectElement method now that this is
- handled by WebCore.
- (WebView::WebView):
- (WebView::close):
- (WebView::performContextMenuAction): Removed handling of the Inspect
- Element context menu item.
- (WebView::initWithFrame): Give each Page an InspectorClient to enable
- the Inspector.
- (WebView::setProhibitsMainFrameScrolling): Added.
- * WebView.h:
-
- Updates needed for WebCore changes.
-
- * Interfaces/IWebUIDelegate.idl:
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::getCustomMenuFromDefaultItems):
- * WebContextMenuClient.h:
- * WebCoreLocalizedStrings.cpp:
-
- Remove old Inspector code.
-
- * WebFrame.cpp:
- * WebFrame.h:
- * WebInspector/WebInspector.cpp: Removed.
- * WebInspector/WebInspector.h: Removed.
- * WebInspector/webInspector/Images/button.png: Removed.
- * WebInspector/webInspector/Images/buttonDivider.png: Removed.
- * WebInspector/webInspector/Images/buttonPressed.png: Removed.
- * WebInspector/webInspector/Images/close.png: Removed.
- * WebInspector/webInspector/Images/closePressed.png: Removed.
- * WebInspector/webInspector/Images/downTriangle.png: Removed.
- * WebInspector/webInspector/Images/menu.png: Removed.
- * WebInspector/webInspector/Images/menuPressed.png: Removed.
- * WebInspector/webInspector/Images/popup.png: Removed.
- * WebInspector/webInspector/Images/popupPressed.png: Removed.
- * WebInspector/webInspector/Images/resize.png: Removed.
- * WebInspector/webInspector/Images/rightTriangle.png: Removed.
- * WebInspector/webInspector/Images/scrollThumbBottom.png: Removed.
- * WebInspector/webInspector/Images/scrollThumbMiddle.png: Removed.
- * WebInspector/webInspector/Images/scrollTrackMiddle.png: Removed.
- * WebInspector/webInspector/Images/upTriangle.png: Removed.
- * WebInspector/webInspector/inspector.css: Removed.
- * WebInspector/webInspector/inspector.html: Removed.
- * WebInspector/webInspector/inspector.js: Removed.
- * WebInspector/webInspector/scrollarea.js: Removed.
- * WebInspector/webInspector/scrollbar.js: Removed.
- * WebInspector/webInspector/treeoutline.js: Removed.
- * WebInspector/webInspector/utilities.js: Removed.
-
- Build-fu:
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-06-19 Dave Hyatt <hyatt@apple.com>
-
- Fix for <rdar://problem/5022197>, backspace and ctrl+left arrow should go back. Shift+backspace
- and ctrl+right arrow should go forward. Add support for these keybindings to Windows.
-
- Reviewed by ada
-
- * WebView.cpp:
- (WebView::keyDown):
-
-2007-06-18 Dave Hyatt <hyatt@apple.com>
-
- Let through more newline+modifier key combos in order to support Alt+Enter and Ctrl+Enter in the
- SafariWin URL bar.
-
- Reviewed by mccullough
-
- * WebView.cpp:
-
-2007-06-18 Dave Hyatt <hyatt@apple.com>
-
- Add support for horizontal mouse wheeling to Windows. Shift+wheel is supported for horizontal
- wheeling just like on OS X. In addition, the WM_MOUSEHWHEEL event is now processed correctly so that
- input devices like tilt wheels will now work.
-
- Reviewed by aroben
-
- * WebView.cpp:
- (WebView::mouseWheel):
- (WebViewWndProc):
- * WebView.h:
-
-2007-06-17 Dave Hyatt <hyatt@apple.com>
-
- Add support for Ctrl+Mouse Wheel to increase/decrease text zoom (Win32 only).
-
- Reviewed by aroben
-
- * WebView.cpp:
- (WebView::mouseWheel):
-
-2007-06-09 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- Workaround: <rdar://problem/5213266> schwab.com menu is ridiculously big.
-
- * WebView.cpp:
- (WebView::userAgentForKURL): Add schwab to spoof list to fix gigantic menus.
-
-2007-06-08 Ada Chan <adachan@apple.com>
-
- Reviewed by Hyatt, Adam, and Steve.
-
- Fixed WebView::selectedText to get the selected text out of the focused frame or main frame.
-
- * WebView.cpp:
- (WebView::selectedText):
-
-2007-06-08 Adam Roben <aroben@apple.com>
-
- Get rid of the Safari part of the query string used for Google searches.
-
- Reviewed by Steve and Ada.
-
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::searchWithGoogle):
-
-2007-06-08 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Kevin Decker, and Sam.
-
- - Added and updated licenses.
-
- * CFDictionaryPropertyBag.cpp:
- * CFDictionaryPropertyBag.h:
- * DOMCSSClasses.cpp:
- * DOMCSSClasses.h:
- * DOMEventsClasses.cpp:
- * DOMEventsClasses.h:
- * DOMHTMLClasses.cpp:
- * DOMHTMLClasses.h:
- * MarshallingHelpers.cpp:
- * MarshallingHelpers.h:
- * MemoryStream.cpp:
- * MemoryStream.h:
- * WebBackForwardList.cpp:
- * WebBackForwardList.h:
- * WebCache.cpp:
- * WebCache.h:
- * WebChromeClient.cpp:
- * WebChromeClient.h:
- * WebContextMenuClient.h:
- * WebDataSource.h:
- * WebEditorClient.cpp:
- * WebEditorClient.h:
- * WebElementPropertyBag.cpp:
- * WebElementPropertyBag.h:
- * WebHTMLRepresentation.h:
- * WebHistory.cpp:
- * WebHistory.h:
- * WebIconDatabase.cpp:
- * WebIconDatabase.h:
- * WebKit.vcproj/auto-version.sh:
- * WebKitClassFactory.h:
- * WebKitDLL.h:
- * WebLocalizableStrings.cpp:
- * WebLocalizableStrings.h:
- * WebMutableURLRequest.cpp:
- * WebMutableURLRequest.h:
- * WebNotification.cpp:
- * WebNotification.h:
- * WebNotificationCenter.cpp:
- * WebNotificationCenter.h:
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- * WebPreferences.h:
- * WebScriptObject.cpp:
- * WebScriptObject.h:
- * WebURLResponse.cpp:
- * WebURLResponse.h:
-
-2007-06-07 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- Make the inspector compile again.
-
- * WebInspector/WebInspector.cpp:
- (setFocusedDOMNodeCallback):
- (focusedDOMNodeCallback):
- (setRootDOMNodeCallback):
- (rootDOMNodeCallback):
-
-2007-06-06 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/5255861> REGRESSION: Can't download Adobe Acrobat Reader and plug-in
- <rdar://problem/5243655> Flash download page doesn't recognize Boomer
-
- Refine user agent spoofing code to only spoof Flash download as Firefox without spoofing all of adobe.com.
- This fixes the Acrobat Reader download.
-
- * WebView.cpp:
- (WebView::userAgentForKURL):
-
-2007-06-03 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/5246665> Drop down lists are not drawn on volvocars.us
-
- * WebView.cpp:
- (WebView::userAgentForKURL):
-
-2007-06-01 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Oliver.
-
- - Uncommenting some functions that should not be commented out. I needed them for the Drosera port.
-
- * WebKit.vcproj/WebKit_debug.def:
-
-2007-06-01 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Kevin Decker.
-
- Remove unnecessary user agent spoofs, now that we have the final UA in place.
- Added spoof to allow Flash downloads from adobe.com
-
- * WebView.cpp:
- (WebView::userAgentForKURL):
-
-2007-05-30 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- Implemented the mechanism to associate a WebPreferences instance with an identifier.
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::init): fixed a missing Release on standardPrefs by using COMPtr.
- * WebPreferences.cpp:
- (WebPreferences::getInstanceForIdentifier): implemented
- (WebPreferences::setInstance): implemented
- (WebPreferences::removeReferenceForIdentifier): if the WebPreferences going to be
- released has only one ref left, remove it from the s_webPreferencesInstances dictionary.
- (WebPreferences::load): don't need to reread in the default preferences if we have done so.
- (WebPreferences::initWithIdentifier): update the m_identifier data member with the
- passed in identifier string, and store the identifier to WebPreferences instance mapping in
- s_webPreferencesInstances dictionary.
- (WebPreferences::identifier): implemented
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::~WebView): removed the call to removeObserver for the WebPreferencesChangedNotification
- since it's already done in close().
- (WebView::close): the call to removeObserver now takes in the WebPreferences instance for the object -
- this way the WebView is only notified when that particular WebPreferences instance changes.
- (WebView::initWithFrame): the call to addObserver now takes in the WebPreferences instance for the object -
- this way the WebView is only notified when that particular WebPreferences instance changes.
- (WebView::setPreferences): implemented
- (WebView::onNotify): used COMPtr to fix a missing release
-
-2007-05-29 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler.
-
- Removed setPageCacheSize/pageCacheSize from IWebBackForwardList.
-
- * Interfaces/IWebBackForwardList.idl: Removed unnecessary methods.
- * WebBackForwardList.cpp: Removed unnecessary methods.
- * WebBackForwardList.h: Removed unnecessary methods.
-
-2007-05-29 Sam Weinig <sam@webkit.org>
-
- Reviewed by Adam Roben.
-
- - Removes platform/win/NotImplemented.h because we have consolidated
- the notImplemented() for all platforms in platform/NotImplemented.h
- - Fixes remaining uses of old macro to use the new notImplemented() one.
-
- * WebChromeClient.cpp:
- (WebChromeClient::createModalDialog):
- (WebChromeClient::canRunModal):
- (WebChromeClient::runModal):
- (WebChromeClient::setScrollbarsVisible):
- (WebChromeClient::scrollbarsVisible):
- (WebChromeClient::setMenubarVisible):
- (WebChromeClient::menubarVisible):
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::lookUpInDictionary):
- (WebContextMenuClient::speak):
- (WebContextMenuClient::stopSpeaking):
- * WebDownload.cpp:
- (WebDownload::canResumeDownloadDecodedWithEncodingMIMEType):
- (WebDownload::cancelAuthenticationChallenge):
- (WebDownload::continueWithoutCredentialForAuthenticationChallenge):
- (WebDownload::useCredential):
- (WebDownload::didReceiveAuthenticationChallenge):
- * WebEditorClient.cpp:
- (WebEditorClient::spellCheckerDocumentTag):
- (WebEditorClient::shouldBeginEditing):
- (WebEditorClient::shouldEndEditing):
- (WebEditorClient::didBeginEditing):
- (WebEditorClient::respondToChangedContents):
- (WebEditorClient::respondToChangedSelection):
- (WebEditorClient::didEndEditing):
- (WebEditorClient::didWriteSelectionToPasteboard):
- (WebEditorClient::didSetSelectionTypesForPasteboard):
- (WebEditorClient::shouldDeleteRange):
- (WebEditorClient::shouldInsertNode):
- (WebEditorClient::shouldInsertText):
- (WebEditorClient::shouldApplyStyle):
- (WebEditorClient::shouldChangeTypingStyle):
- (WebEditorClient::webViewDidChangeTypingStyle):
- (WebEditorClient::webViewDidChangeSelection):
- (WebEditorClient::shouldShowDeleteInterface):
- (WebEditorClient::shouldChangeSelectedRange):
- * WebFrame.cpp:
- (WebFrame::makeRepresentation):
- (WebFrame::forceLayout):
- (WebFrame::forceLayoutForNonHTML):
- (WebFrame::setCopiesOnScroll):
- (WebFrame::detachedFromParent1):
- (WebFrame::detachedFromParent2):
- (WebFrame::detachedFromParent3):
- (WebFrame::detachedFromParent4):
- (WebFrame::loadedFromCachedPage):
- (WebFrame::dispatchDidLoadMainResource):
- (WebFrame::revertToProvisionalState):
- (WebFrame::clearUnarchivingState):
- (WebFrame::setMainFrameDocumentReady):
- (WebFrame::willChangeTitle):
- (WebFrame::didChangeTitle):
- (WebFrame::finalSetupForReplace):
- (WebFrame::setDefersLoading):
- (WebFrame::isArchiveLoadPending):
- (WebFrame::cancelPendingArchiveLoad):
- (WebFrame::clearArchivedResources):
- (WebFrame::canShowMIMEType):
- (WebFrame::representationExistsForURLScheme):
- (WebFrame::generatedMIMETypeForURLScheme):
- (WebFrame::restoreViewState):
- (WebFrame::provisionalLoadStarted):
- (WebFrame::shouldTreatURLAsSameAsCurrent):
- (WebFrame::addHistoryItemForFragmentScroll):
- (WebFrame::didFinishLoad):
- (WebFrame::prepareForDataSourceReplacement):
- (WebFrame::setDocumentViewFromCachedPage):
- (WebFrame::shouldGoToHistoryItem):
- (WebFrame::saveViewStateToItem):
- (WebFrame::saveDocumentViewToCachedPage):
- (WebFrame::canCachePage):
- (WebFrame::setMainDocumentError):
- (WebFrame::cannotShowURLError):
- (WebFrame::cannotShowMIMETypeError):
- (WebFrame::fileDoesNotExistError):
- (WebFrame::willUseArchive):
- (WebFrame::dispatchDidLoadResourceFromMemoryCache):
- (WebFrame::startDownload):
- (WebFrame::overrideMediaType):
- (WebFrame::addInspector):
- (WebFrame::removeInspector):
-
-2007-05-25 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Hyatt.
-
- Fix rdar://problem/5212399 <object> with PNG src rendered as image document (causes Acid2 to fail)
-
- * WebFrame.cpp:
- (WebFrame::objectContentType):
-
-2007-05-25 Geoffrey Garen <ggaren@apple.com>
-
- Build fix -- forgot to commit a little bit in my last patch.
-
-2007-05-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler, Adam Roben.
-
- Fixed <rdar://problem/5055182> The page cache has no global cap.
-
- The main WebKit changes are:
- 1. Gutted IWebBackForwardList::setPageCacheSize and IWebBackForwardList::
- pageCacheSize because they're deprecated on Mac now. I didn't remove
- them, though, because doing so can cause COM badness.
-
- 2. Added IWebPreferences::setUsesPageCache IWebPreferences::
- usesPageCache because that's the new Mac API. I added them to the end
- of IWebPreferences to avoid COM badness.
-
- 3. Centralized calculation of object cache and page cache sizes inside
- WebPreferences.
-
- Changed our old behavior of reading a preference and applying a fudge
- factor with a new behavior of just using the preference directly. The
- old behavior was confusing and often inappropriate. (For example, if
- you set a page cache size of 100, a 256MB machine would somewhat
- arbitrarily reduce that number to 98.)
-
-2007-05-24 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Fixed a bug with Settings where a number of different objects held bare
- Settings* data members, even though the Page owns the Settings object and
- deletes it upon destruction.
-
- Added NULL checks since the Page can be deleted before the frame/document.
-
-2007-05-23 Steve Falkenburg <sfalken@apple.com>
-
- Added IWebFramePrivate::isDescendantOfFrame.
-
- * Interfaces/IWebFramePrivate.idl:
- * WebFrame.cpp:
- (WebFrame::isDescendantOfFrame):
- * WebFrame.h:
-
-2007-05-23 Steve Falkenburg <sfalken@apple.com>
-
- Build fix. Fix continuous rebuilding of Interfaces by turning off Generate Type Library for every IDL except WebKit.idl.
-
- * WebKit.vcproj/Interfaces.vcproj:
-
-2007-05-22 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Oliver.
-
- Enabling smartInsertDelete to resolve
- <rdar://problem/5082891> editing/deleting/smart-delete-003.html (and 004) fail
-
- * Interfaces/IWebView.idl:
- * WebEditorClient.cpp:
- (WebEditorClient::smartInsertDeleteEnabled):
- * WebView.cpp:
- (WebView::WebView):
- (WebView::initWithFrame):
- (WebView::toggleSmartInsertDelete):
- (WebView::setSmartInsertDeleteEnabled):
- (WebView::smartInsertDeleteEnabled):
- * WebView.h:
-
-2007-05-22 Justin Garcia <justin.garcia@apple.com>
-
- Reviewed by oliver
-
- Build fix.
-
- * WebView.cpp:
- (WebView::clearFocusNode):
-
-2007-05-22 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Ada.
-
- Added 3 view-related methods to IWebFramePrivate.
-
- * Interfaces/IWebFramePrivate.idl: Added 3 new methods
- * WebFrame.cpp:
- (WebFrame::hasScrollBars): Added.
- (WebFrame::contentBounds): Added.
- (WebFrame::frameBounds): Added.
- * WebFrame.h:
-
-2007-05-21 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam, Ada.
-
- Added IWebFramePrivate::size().
-
- * Interfaces/IWebFramePrivate.idl: Added size.
- * WebFrame.cpp:
- (WebFrame::size): Added.
- * WebFrame.h: Added size.
-
-2007-05-21 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- Added IWebViewPrivate::loadBackForwardListFromOtherView(). It replicates the backforward
- list from another webview and loads that in the current webview.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::loadBackForwardListFromOtherView):
- * WebView.h:
-
-2007-05-18 Steve Falkenburg <sfalken@apple.com>
-
- Build-related fix: stamp version resource properly.
-
- * WebKit.vcproj/WebKit.rc: Fix version resource
-
-2007-05-18 Adam Roben <aroben@apple.com>
-
- Build fix after r21555.
-
- * WebView.cpp:
-
-2007-05-17 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- Implemented IWebHTTPURLResponse::localizedStringForStatusCode().
-
- * English.lproj/Localizable.strings: new http status strings
- * Interfaces/WebKit.idl: added code to create WebURLResponse instances
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::CreateInstance): ditto
- * WebKitDLL.cpp: ditto
- * WebURLResponse.cpp:
- (CFHTTPMessageCopyLocalizedShortDescriptionForStatusCode): return the description
- text for the given status code
- (WebURLResponse::createInstance): create a general instance of web url response.
- (WebURLResponse::localizedStringForStatusCode):
- * WebURLResponse.h:
-
-2007-05-17 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- Changed the context menu title "Search in Google" to "Search with Google".
-
- * English.lproj/Localizable.strings:
- * WebCoreLocalizedStrings.cpp:
- (WebCore::contextMenuItemTagSearchWeb):
-
-2007-05-17 Anders Carlsson <andersca@apple.com>
-
- Fix build.
-
- * WebFrame.cpp:
- (WebFrame::loadURLIntoChild):
-
-2007-05-15 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin, Oliver.
-
- <rdar://problem/4967360> Need to detect damaged installs, alert the user to reinstall, and exit
-
- * WebLocalizableStrings.cpp:
- (WebLocalizedString): Make failure to load a localized string slightly less fatal
-
-2007-05-15 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/4956541> Need to implement preference for how much History is maintained
-
- * WebHistory.cpp:
- (WebHistory::ageLimitDate): Remove extra +30 from history age in days.
-
-2007-05-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Darin Adler.
-
- Pass an empty property bag when constructing the WebError, the code in Safari relies on having a user info bag.
-
- * WebFrame.cpp:
- (WebFrame::createJavaAppletWidget):
-
-2007-05-14 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Antti.
-
- Report an error to the resource load delegate if the Java plugin can't be loaded.
-
- * WebFrame.cpp:
- (WebFrame::createJavaAppletWidget):
-
-2007-05-11 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin, Ada.
-
- WebKit DCOM compatibility.
- When a WebKit hosting app calls RunAsLocalServer, the class object for CLSID_WebDebugProgram
- is registered to allow creation across processes. This is for future compatibility with
- Drosera.
-
- Added new exported function: RunAsLocalServer.
- This exposes WebKit inside the running exe as a LocalServer32 (COM server), which
- will allow Drosera to connect to it via DCOM.
-
- We use the DCOM Universal Marshaller from oleaut32.dll, which performs marshalling
- based on type libraries, so as part of this change, I've done some work on making our
- interfaces compatible with this marshaller.
-
- Updated for compatibility w/ COM automation, and fixed up our type library.
- Added type library registration/unregistration code.
- Marked methods not compatible w/ automation/marshalling as [local].
-
- As a side-effect, with these changes, the .NET tlbimp tool can create a .NET interop
- assembly to theoretically allow WebKit to be invoked from .NET apps. I haven't
- tried this. It could end up being useful to drive API testing.
-
- To test, I wrote a small app that calls:
- ::CoCreateInstance(CLSID_IWebDebugProgram, 0, CLSCTX_LOCAL_SERVER, IID_IUnknown, (void**)&viewUnknown);
- Using this instantiated class, I'm able to iterate the exisitng webviews and retrieve their
- source, title, URL, etc.
-
- * DOMCoreClasses.cpp:
- (DOMElement::isEqual):
- * DOMCoreClasses.h:
- * DefaultDownloadDelegate.cpp:
- (DefaultDownloadDelegate::decideDestinationWithSuggestedFilename):
- * DefaultDownloadDelegate.h:
- * Interfaces/DOMCSS.idl:
- * Interfaces/DOMCore.idl:
- * Interfaces/DOMEvents.idl:
- * Interfaces/DOMExtensions.idl:
- * Interfaces/DOMHTML.idl:
- * Interfaces/DOMPrivate.idl:
- * Interfaces/DOMRange.idl:
- * Interfaces/DOMWindow.idl:
- * Interfaces/IWebArchive.idl:
- * Interfaces/IWebAttributedString.idl: Removed.
- * Interfaces/IWebBackForwardList.idl:
- * Interfaces/IWebBackForwardListPrivate.idl:
- * Interfaces/IWebCache.idl:
- * Interfaces/IWebDataSource.idl:
- * Interfaces/IWebDebugProgram.idl: Added.
- * Interfaces/IWebDocument.idl:
- * Interfaces/IWebDownload.idl:
- * Interfaces/IWebEditingDelegate.idl:
- * Interfaces/IWebError.idl:
- * Interfaces/IWebFormDelegate.idl:
- * Interfaces/IWebFrame.idl:
- * Interfaces/IWebFrameLoadDelegate.idl:
- * Interfaces/IWebFrameLoadDelegatePrivate.idl:
- * Interfaces/IWebFramePrivate.idl:
- * Interfaces/IWebFrameView.idl:
- * Interfaces/IWebHTMLRepresentation.idl:
- * Interfaces/IWebHTTPURLResponse.idl:
- * Interfaces/IWebHistory.idl:
- * Interfaces/IWebHistoryItem.idl:
- * Interfaces/IWebHistoryItemPrivate.idl:
- * Interfaces/IWebIconDatabase.idl:
- * Interfaces/IWebJavaScriptCollector.idl:
- * Interfaces/IWebKitStatistics.idl:
- * Interfaces/IWebMutableURLRequest.idl:
- * Interfaces/IWebNotification.idl:
- * Interfaces/IWebNotificationCenter.idl:
- * Interfaces/IWebNotificationObserver.idl:
- * Interfaces/IWebPolicyDelegate.idl:
- * Interfaces/IWebPreferences.idl:
- * Interfaces/IWebResource.idl:
- * Interfaces/IWebResourceLoadDelegate.idl:
- * Interfaces/IWebResourceLoadDelegatePrivate.idl:
- * Interfaces/IWebScriptObject.idl:
- * Interfaces/IWebScrollBarDelegatePrivate.idl:
- * Interfaces/IWebScrollBarPrivate.idl:
- * Interfaces/IWebUIDelegate.idl:
- * Interfaces/IWebUIDelegatePrivate.idl:
- * Interfaces/IWebURLAuthenticationChallenge.idl:
- * Interfaces/IWebURLRequest.idl:
- * Interfaces/IWebURLResponse.idl:
- * Interfaces/IWebUndoManager.idl:
- * Interfaces/IWebUndoTarget.idl:
- * Interfaces/IWebView.idl:
- * Interfaces/IWebViewPrivate.idl:
- * Interfaces/WebKit.idl:
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::getCustomMenuFromDefaultItems):
- * WebDataSource.cpp:
- (WebDataSource::subresources):
- * WebDataSource.h:
- * WebDebugProgram.cpp: Added.
- (EnumViews::EnumViews):
- (EnumViews::QueryInterface):
- (EnumViews::AddRef):
- (EnumViews::Release):
- (EnumViews::Next):
- (EnumViews::Skip):
- (EnumViews::Reset):
- (EnumViews::Clone):
- (WebDebugProgram::WebDebugProgram):
- (WebDebugProgram::~WebDebugProgram):
- (WebDebugProgram::createInstance):
- (WebDebugProgram::QueryInterface):
- (WebDebugProgram::AddRef):
- (WebDebugProgram::Release):
- (WebDebugProgram::viewAdded):
- (WebDebugProgram::viewRemoved):
- (WebDebugProgram::attach):
- (WebDebugProgram::detach):
- (WebDebugProgram::statistics):
- (WebDebugProgram::webViews):
- * WebDebugProgram.h: Added.
- * WebDropSource.cpp:
- (generateMouseEvent):
- * WebError.cpp:
- (WebError::localizedRecoveryOptions):
- * WebError.h:
- * WebFrame.cpp:
- (EnumChildFrames::EnumChildFrames):
- (EnumChildFrames::QueryInterface):
- (EnumChildFrames::AddRef):
- (EnumChildFrames::Release):
- (EnumChildFrames::Next):
- (EnumChildFrames::Skip):
- (EnumChildFrames::Reset):
- (EnumChildFrames::Clone):
- (WebFrame::childFrames):
- (WebFrame::initWithWebFrameView):
- * WebFrame.h:
- * WebHistoryItem.cpp:
- (WebHistoryItem::icon):
- * WebHistoryItem.h:
- * WebIconDatabase.cpp:
- (WebIconDatabase::iconForURL):
- (WebIconDatabase::defaultIconWithSize):
- * WebIconDatabase.h:
- * WebInspector/WebInspector.cpp:
- (WebInspector::WebInspector):
- (WebInspector::show):
- (WebInspector::onDestroy):
- (WebInspector::onSize):
- * WebInspector/WebInspector.h:
- (WebInspector::didReceiveIcon):
- (WebInspector::webViewFirstResponder):
- (WebInspector::makeFirstResponder):
- (WebInspector::contextMenuItemsForElement):
- (WebInspector::trackCustomPopupMenu):
- (WebInspector::addCustomMenuDrawingData):
- (WebInspector::cleanUpCustomMenuDrawingData):
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebKit.vcproj/WebKit_debug.def:
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::CreateInstance):
- * WebKitDLL.cpp:
- (DllGetClassObject):
- (DllUnregisterServer):
- (DllRegisterServer):
- (RunAsLocalServer):
- * WebKitStatistics.cpp:
- * WebScrollBar.cpp:
- (WebScrollBar::init):
- (WebScrollBar::handleMouseEvent):
- * WebScrollBar.h:
- * WebView.cpp:
- (WebView::WebView):
- (WebView::~WebView):
- (WebView::handleContextMenuEvent):
- (WebView::onInitMenuPopup):
- (WebView::onUninitMenuPopup):
- (WebViewWndProc):
- (WebView::QueryInterface):
- (WebView::MIMETypesShownAsHTML):
- (WebView::setHostWindow):
- (WebView::hostWindow):
- (WebView::generateSelectionImage):
- (WebView::pasteboardTypesForSelection):
- (WebView::pasteboardTypesForElement):
- (WebView::mainFrameIcon):
- (WebView::canMakeTextStandardSize):
- (WebView::viewWindow):
- * WebView.h:
-
-2007-05-11 Adele Peterson <adele@apple.com>
-
- Build fix.
-
- * WebView.cpp: (WebView::selectionImageRect):
-
-2007-05-10 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- "IconDatabase::sharedIconDatabase()" => "iconDatabase()" for terseness.
-
-2007-05-10 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver.
-
- - WebKitWin part of fix for:
- <rdar://problem/5063277> blank screen after login to Citibank Online (accessing document before frame starts loading cancels load)
- <rdar://problem/5159541> REGRESSION (r20972): Wall Street Journal pages replaced by advertisements (13465)
-
- The basic approach is to have Frames start out containing an empty document instead of absolutely nothing,
- so there is no need to initialize them on demand. Various side effects of that cause both of these bugs.
-
- However, this caused many regressions so I had to fix the fallout.
-
- * WebFrame.cpp:
- (WebFrame::createFrame): init frame
- * WebView.cpp:
- (WebView::initWithFrame): init frame
- (WebView::stringByEvaluatingJavaScriptFromString): don't create empty document
-
-2007-05-08 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin, Oliver.
-
- Added UI_STRING versions of localized WebCore strings.
-
- * English.lproj/Localizable.strings: Updated.
- * English.lproj/StringsNotToBeLocalized.txt: Updated.
- * WebCoreLocalizedStrings.cpp: Added.
- (WebCore::searchableIndexIntroduction):
- (WebCore::submitButtonDefaultLabel):
- (WebCore::inputElementAltText):
- (WebCore::resetButtonDefaultLabel):
- (WebCore::fileButtonChooseFileLabel):
- (WebCore::fileButtonNoFileSelectedLabel):
- (WebCore::contextMenuItemTagOpenLinkInNewWindow):
- (WebCore::contextMenuItemTagDownloadLinkToDisk):
- (WebCore::contextMenuItemTagCopyLinkToClipboard):
- (WebCore::contextMenuItemTagOpenImageInNewWindow):
- (WebCore::contextMenuItemTagDownloadImageToDisk):
- (WebCore::contextMenuItemTagCopyImageToClipboard):
- (WebCore::contextMenuItemTagOpenFrameInNewWindow):
- (WebCore::contextMenuItemTagCopy):
- (WebCore::contextMenuItemTagGoBack):
- (WebCore::contextMenuItemTagGoForward):
- (WebCore::contextMenuItemTagStop):
- (WebCore::contextMenuItemTagReload):
- (WebCore::contextMenuItemTagCut):
- (WebCore::contextMenuItemTagPaste):
- (WebCore::contextMenuItemTagNoGuessesFound):
- (WebCore::contextMenuItemTagIgnoreSpelling):
- (WebCore::contextMenuItemTagLearnSpelling):
- (WebCore::contextMenuItemTagSearchWeb):
- (WebCore::contextMenuItemTagLookUpInDictionary):
- (WebCore::contextMenuItemTagOpenLink):
- (WebCore::contextMenuItemTagIgnoreGrammar):
- (WebCore::contextMenuItemTagSpellingMenu):
- (WebCore::contextMenuItemTagCheckSpelling):
- (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
- (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
- (WebCore::contextMenuItemTagFontMenu):
- (WebCore::contextMenuItemTagBold):
- (WebCore::contextMenuItemTagItalic):
- (WebCore::contextMenuItemTagUnderline):
- (WebCore::contextMenuItemTagOutline):
- (WebCore::contextMenuItemTagWritingDirectionMenu):
- (WebCore::contextMenuItemTagDefaultDirection):
- (WebCore::contextMenuItemTagLeftToRight):
- (WebCore::contextMenuItemTagRightToLeft):
- (WebCore::contextMenuItemTagShowSpellingPanel):
- (WebCore::searchMenuNoRecentSearchesText):
- (WebCore::searchMenuRecentSearchesText):
- (WebCore::searchMenuClearRecentSearchesText):
- (WebCore::AXWebAreaText):
- (WebCore::AXLinkText):
- (WebCore::AXListMarkerText):
- (WebCore::AXImageMapText):
- (WebCore::AXHeadingText):
- * WebKit.vcproj/WebKit.vcproj: Added WebCoreLocalizedStrings.cpp, reorganized other files a bit.
-
-2007-05-08 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Ada.
-
- Update editing delegate
-
- * Interfaces/IWebEditingDelegate.idl:
- * WebEditorClient.cpp:
- (WebEditorClient::updateSpellingUIWithGrammarString):
- * WebEditorClient.h:
-
-2007-05-07 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix typo in prefs code.
-
- * WebPreferences.cpp:
- (WebPreferences::preferencesPath): Fix typo in error handling.
-
-2007-05-04 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix crash when using "check spelling while typing".
-
- * WebView.cpp:
- (WebView::preflightSpellChecker): Set delegate static global for use in spell checker init.
-
-2007-05-03 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Ada, Oliver.
-
- Checkpoint:
- <rdar://problem/4602372> Spelling
- <rdar://problem/4769763> Spell checking engine support
-
- * Interfaces/IWebEditingDelegate.idl: Add userDescription parameter.
- * WebEditorClient.cpp:
- (WebEditorClient::updateSpellingUIWithGrammarString): Set user description for spelling errors.
- * WebEditorClient.h:
- * WebView.cpp:
- (WebView::replaceSelectionWithText): Implemented.
-
-2007-05-01 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Oliver.
-
- Fix usage errors in COM enumeration.
-
- * WebEditorClient.cpp:
- (WebEditorClient::checkGrammarOfString): Call Next correctly.
- (WebEditorClient::getGuessesForWord): Call Next correctly.
-
-2007-04-30 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Adam.
-
- Fixed <rdar://5126201> crash closing tab when the two following tabs are empty.
- Basically this fix involved one thing, which lead to another thing. First, the crash
- was fixed by moving the call to webView->close from SearchableWebView::onDestroy to
- WebViewWndProc when WM_DESTROY message is processed. We now want only WebKit handling
- the closure of a WebView, so all calls to WebView::close have been removed, save for
- the one call in WebViewWndProc.
-
- * Interfaces/IWebView.idl:
- removed close() from public interface
- * WebInspector/WebInspector.cpp:
- (WebInspector::onDestroy):
- removed call to close()
- * WebView.cpp:
- (WebView::~WebView):
- move the deleting of m_page down a bit to avoid a crash
- (WebView::close):
- changed from public API to just a public function
- (WebViewWndProc):
- webView->close() was moved here from SearchableWebView::onDestroy
- * WebView.h:
- changed close() to a public function not exposed in the WebKit interface
-
-2007-04-24 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin, Oliver.
-
- Checkpoint:
- <rdar://problem/4602372> Spelling
- <rdar://problem/4769763> Spell checking engine support
-
- * WebEditorClient.cpp:
- (WebEditorClient::isContinuousSpellCheckingEnabled):
- (WebEditorClient::toggleContinuousSpellChecking):
- (WebEditorClient::isGrammarCheckingEnabled):
- (WebEditorClient::toggleGrammarChecking):
- (initViewSpecificSpelling):
- (WebEditorClient::spellCheckerDocumentTag):
- (WebEditorClient::ignoreWordInSpellDocument):
- (WebEditorClient::learnWord):
- (WebEditorClient::checkSpellingOfString):
- (WebEditorClient::checkGrammarOfString):
- (WebEditorClient::udpateSpellingUIWithGrammarString):
- (WebEditorClient::updateSpellingUIWithMisspelledWord):
- (WebEditorClient::showSpellingUI):
- (WebEditorClient::spellingUIIsShowing):
- (WebEditorClient::getGuessesForWord):
- * WebPreferences.h:
-
-2007-04-20 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve and Oliver.
-
- Implemented some DOM methods I need to support password input and textarea in
- WebView-based edit fields in the app.
-
- * DOMCSSClasses.cpp:
- (DOMCSSStyleDeclaration::setCssText): added implementation
- * DOMCoreClasses.cpp:
- (DOMDocument::createElement): ditto
- * DOMHTMLClasses.cpp:
- (DOMHTMLInputElement::setType): ditto
- (DOMHTMLTextAreaElement::value): ditto
- (DOMHTMLTextAreaElement::setValue): ditto
- (DOMHTMLTextAreaElement::select): ditto
- * Interfaces/IWebUIDelegatePrivate.idl: added a new method webViewGetDlgCode() that client
- can implement if it wants to handle keypresses themselves rather than letting the system
- interpret certain keys as dialog box navigation keys.
- * WebKitGraphics.cpp:
- (DrawTextAtPoint): handle drawing text as password
- * WebKitGraphics.h:
- * WebView.cpp:
- Added Copy, Cut, and Paste to the keyEntries.
- (WebViewWndProc): added code to handle WM_GETDLGCODE. Calls IWebUIDelegatePrivate::webViewGetDlgCode()
- if available to see if the client wants to handle it.
-
-2007-04-18 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- Make development builds use the same CLSIDs as archive builds, and get
- rid of the now-unused set of CLSIDs.
-
- * Interfaces/WebKit.idl: Use the archive build CLSIDs if we're not
- doing a production build.
- * WebKit.vcproj/Interfaces.vcproj: Don't define __ARCHIVE_BUILD__
- because it's not used anymore.
-
-2007-04-18 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- Use different ProgIDs for production builds.
-
- * ProgIDMacros.h: Added.
- * WebKit.vcproj/WebKit.vcproj: Defined the __BUILDBOT__ macro and added
- a new header which is copied in the post-build step.
- * WebKitDLL.cpp: Macro-ized the declaration of the registry keys to
- install.
-
-2007-04-16 Adam Roben <aroben@apple.com>
-
- Rubberstamped by Steve.
-
- * WebKit.vcproj/WebKit.sln: Removed the Debug_Internal configuration.
-
-2007-04-16 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- Removed the pre-link build step, and removed registration of WebKit.dll
- from the post-build step.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-04-16 Adam Roben <aroben@apple.com>
-
- * WebKit.vcproj/WebKit.sln: Added WTF to the solution.
-
-2007-04-16 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- Visual Studio Express compatibility for WebKit build (except for DRT)
-
- * WebDragClient.cpp: Removed unused header (atlsafe.h)
- * WebKit.vcproj/WebKit.rc: Removed afxres.h and related code
- * WebKit.vcproj/WebKit.sln: Don't use a sln folder - they aren't supported by express
- * WebKit.vcproj/WebKit.vcproj: Add explicit lib references for Windows system libs (VS express doesn't include these)
- * WebView.cpp: Removed unused header (atldef.h)
-
-2007-04-16 Adam Roben <aroben@apple.com>
-
- Merge in r20872.
-
- * WebInspector/webInspector/inspector.js:
- * WebInspector/webInspector/treeoutline.js:
-
-2007-04-16 Adam Roben <aroben@apple.com>
-
- Merge in r20861.
-
- * WebInspector/webInspector/inspector.js:
- * WebInspector/webInspector/treeoutline.js:
-
-2007-04-16 Adam Roben <aroben@apple.com>
-
- Merge in r20845.
-
- * WebInspector/webInspector/inspector.js:
-
-2007-04-16 Adam Roben <aroben@apple.com>
-
- Merge in r20844.
-
- * WebInspector/webInspector/inspector.js:
-
-2007-04-16 Adam Roben <aroben@apple.com>
-
- Merge in r20843.
-
- * WebInspector/webInspector/inspector.js:
- * WebInspector/webInspector/scrollarea.js:
- * WebInspector/webInspector/scrollbar.js:
- * WebInspector/webInspector/utilities.js:
-
-2007-04-16 Adam Roben <aroben@apple.com>
-
- Merge in r20842.
-
- * WebInspector/webInspector/inspector.html:
- * WebInspector/webInspector/inspector.js:
- * WebInspector/webInspector/utilities.js: Added.
-
-2007-04-16 Adam Roben <aroben@apple.com>
-
- Merge in r20840.
-
- * WebInspector/webInspector/inspector.html:
- * WebInspector/webInspector/inspector.js:
- * WebInspector/webInspector/treeoutline.js: Added.
-
-2007-04-14 Adam Roben <aroben@apple.com>
-
- * WebKit.vcproj/WebKitGUID.vcproj: Need to use WebKitConfigSuffix
- instead of ConfigSuffix now.
-
-2007-04-14 Adam Roben <aroben@apple.com>
-
- * WebKit.vcproj/WebKit.submit.sln: Use the Debug_Internal configuration
- when B&I builds Debug.
-
-2007-04-12 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Geoff, Adam.
-
- Changes required for search history content.
-
- * Interfaces/IWebFramePrivate.idl:
- * WebFrame.cpp:
- (WebFrame::isFrameSet): Added
- (WebFrame::string): Added
- * WebFrame.h:
-
-2007-04-12 Adam Roben <aroben@apple.com>
-
- Rubberstamped by Steve.
-
- Copied WebKit.sln to WebKit.submit.sln, and added missing projects to
- WebKit.sln so that opensource contributors can use it to build a
- working WebKit.
-
- * WebKit.vcproj/WebKit.make: Changed to use WebKit.submit.sln.
- * WebKit.vcproj/WebKit.sln: Added JavaScriptCore, WebCore,
- DumpRenderTree projects.
- * WebKit.vcproj/WebKit.submit.sln: Added.
-
-2007-04-12 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- <rdar://problem/5131565> Need to be able to use debug WebKit with
- release Safari.
-
- Added a new configuration to WebKit.vcproj called Debug_Internal to be
- used by Apple internal builds. The Debug configuration is now meant to
- be used by opensource builds, and will always link against release
- versions of CF, CFNet, CG, etc. Debug_Internal is identical to Debug
- except for the property sheet it uses, and the Debug configuration
- doesn't register WebKit_debug.dll when finished.
-
- We now have two macros, $(WebKitConfigSuffix) and
- $(LibraryConfigSuffix). WebKitConfigSuffix is used for WebKit projects,
- and is "_debug" for both Debug and Debug_Internal. LibraryConfigSuffix
- is used for external projects, and is "" for Debug and "_debug" for
- Debug_Internal.
-
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/debug.vsprops:
- * WebKit.vcproj/debug_internal.vsprops: Added.
- * WebKit.vcproj/release.vsprops:
-
-2007-04-12 John Sullivan <sullivan@apple.com>
-
- Reviewed by Anders
-
- * Interfaces/IWebUIDelegate.idl:
- added new PDF-related context menu items to enum to keep it in sync with WebCore
-
-2007-04-12 Mark Rowe <mrowe@apple.com>
-
- Not reviewed. Internal counterpart to open-source r20856.
-
- * WebChromeClient.cpp:
- (WebChromeClient::createWindow):
- (WebChromeClient::createModalDialog):
- * WebChromeClient.h:
-
-2007-04-11 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- Implemented WebHistoryItem::originalURLString(). Added parameter checks to other methods.
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::originalURLString):
- (WebHistoryItem::URLString):
- (WebHistoryItem::title):
- (WebHistoryItem::lastVisitedTimeInterval):
-
-2007-04-10 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- <rdar://problem/4887095> - PageCache and PageState should be combined
-
- Basically updated client methods for the new names and signatures
-
- * WebFrame.cpp:
- (WebFrame::loadedFromCachedPage):
- (WebFrame::setDocumentViewFromCachedPage):
- (WebFrame::saveDocumentViewToCachedPage):
- * WebFrame.h:
-
-2007-04-10 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- Fix <rdar://problem/5119803> Web Inspector has no options menu
-
- * WebInspector/WebInspector.cpp:
- (interpreterForFrame): Added.
- (WebInspector::showOptionsMenu): Implemented.
- (WebInspector::onCommand): Added.
- (WebInspector::toggleIgnoreWhitespace): Implemented.
- (WebInspector::toggleShowUserAgentStyles): Implemented.
- (WebInspectorWndProc): Added case for WM_COMMAND.
- * WebInspector/WebInspector.h:
-
-2007-04-09 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/5062624>
- No prompt to install QT for pages with uninstalled QT plug-in.
-
- * CFDictionaryPropertyBag.cpp:
- (CFDictionaryPropertyBag::Read):
- (CFDictionaryPropertyBag::Write):
- Use LPCOLESTRToCFStringRef here since the property names aren't BSTRs.
-
- * Interfaces/IWebError.idl:
- Add user info keys.
-
- * MarshallingHelpers.cpp:
- (MarshallingHelpers::LPCOLESTRToCFStringRef):
- * MarshallingHelpers.h:
- New function.
-
- * WebError.cpp:
- (WebError::WebError):
- (WebError::createInstance):
- Take a property bag.
-
- (WebError::userInfo):
- Return the property bag.
-
- * WebFrame.cpp:
- (WebFrame::createPlugin):
- If the plug-in wasn't found or failed to load, create a WebError with the right user info and
- call IWebResourceLoadDelegate::plugInFailedWithError.
-
-2007-04-09 Brady Eidson <beidson@apple.com>
-
- Build Fix
-
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::searchWithGoogle): userGesture is true
-
-2007-04-09 Timothy Hatcher <timothy@apple.com>
-
- Merge in r20810.
-
- <rdar://problem/5121757> WebInspector focuses elements on mouse up instead of mouse down
-
- Make selecting a tree node happen on mousedown to match the NSOutlineView behavior.
- Also makes selecting rows in the style pane happen on mousedown for consistency.
-
- * WebInspector/webInspector/inspector.js:
-
-2007-04-09 Adam Roben <aroben@apple.com>
-
- Fixed copyrights.
-
- * WebInspector/WebInspector.cpp:
- * WebInspector/WebInspector.h:
-
-2007-04-09 Adam Roben <aroben@apple.com>
-
- Reviewed by Oliver.
-
- Fix two Web Inspector bugs:
- - The WebView wasn't focused when the inspector first appeared.
- - Resizing the upper pane did not resize the whole window.
-
- * WebInspector/WebInspector.cpp:
- (WebInspector::show): Focus the WebView.
- (WebInspector::setFrame): Implemented.
- (WebInspector::webViewFrame): Implemented.
- * WebInspector/WebInspector.h:
-
-2007-04-09 Adam Roben <aroben@apple.com>
-
- * WebInspector/WebInspector.cpp:
- (WebInspector::WebInspector): Removed two fixed FIXMEs and some
- commented-out code.
-
-2007-04-08 Adam Roben <aroben@apple.com>
-
- When does "merge" != "merge"? When you make the change yourself
- pre-emptively and make a typo.
-
- * WebInspector/webInspector/inspector.js:
-
-2007-04-08 Adam Roben <aroben@apple.com>
-
- Merge in r20800.
-
- * WebInspector/webInspector/inspector.js:
-
-2007-04-08 Adam Roben <aroben@apple.com>
-
- Merge in r20797.
-
- * WebInspector/webInspector/inspector.js:
-
-2007-04-08 Adam Roben <aroben@apple.com>
-
- Merge in r20796.
-
- * WebInspector/webInspector/inspector.js:
-
-2007-04-08 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- <rdar://problem/5119804> Web Inspector isn't resizable
- <rdar://problem/5119805> Can't move Web Inspector
-
- * WebInspector/WebInspector.cpp:
- (WebInspectorPrivate::WebInspectorPrivate):
- (WebInspector::WebInspector): Subclass the WebView so we can intercept
- its messages.
- (WebInspector::onDestroy): Undo the subclassing.
- (WebInspector::handleMessageSentToWebView): Added.
- (WebInspector::onLButtonDown): Added.
- (WebInspector::onLButtonUp): Added.
- (WebInspector::onMouseMove): Added.
- (WebInspectorWndProc): Added cases for mouse messages.
- (SubclassedWebViewWndProc): Added.
- * WebInspector/WebInspector.h:
-
-2007-04-08 Adam Roben <aroben@apple.com>
-
- Merge in r20793.
-
- * WebInspector/webInspector/AppleScrollArea.js: Removed.
- * WebInspector/webInspector/AppleScrollbar.js: Removed.
- * WebInspector/webInspector/Images/resize.png: Added.
- * WebInspector/webInspector/inspector.css:
- * WebInspector/webInspector/inspector.html:
- * WebInspector/webInspector/inspector.js:
- * WebInspector/webInspector/scrollarea.js: Added.
- * WebInspector/webInspector/scrollbar.js: Added.
-
-2007-04-08 Adam Roben <aroben@apple.com>
-
- Merge in r20792.
-
- * WebInspector/webInspector/inspector.js:
-
-2007-04-08 Adam Roben <aroben@apple.com>
-
- Merge in r20791.
-
- * WebInspector/webInspector/inspector.js:
-
-2007-04-08 Adam Roben <aroben@apple.com>
-
- Merge in r20789.
-
- * WebInspector/webInspector/inspector.js:
-
-2007-04-08 Adam Roben <aroben@apple.com>
-
- Build fix.
-
- * WebInspector/WebInspector.cpp:
-
-2007-04-07 Adam Roben <aroben@apple.com>
-
- Reviewed by Oliver.
-
- <rdar://problem/4769828> Web Inspector
-
- * WebInspector/WebInspector.cpp: Renamed from WebInspector.m. Ported
- Mac code. Some parts are left commented out to aid later
- implementation.
- * WebInspector/WebInspector.h: Ditto.
-
- * DOMCoreClasses.cpp: Added IID_DOMNode.
- (DOMNode::QueryInterface): Added case for IID_DOMNode.
- (DOMNode::isSameNode): Implemented.
- * DOMCoreClasses.h: Added IID_DOMNode.
- (DOMNode::node): Added.
- * English.lproj/Localizable.strings: Updated for "Inspect Element".
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::getCustomMenuFromDefaultItems): Add the "Inspect
- Element" item.
- * WebFrame.cpp:
- (WebFrame::addInspector): Stubbed out.
- (WebFrame::removeInspector): Ditto.
- * WebFrame.h: Added declarations.
- * WebKit.resources/Info.plist: Added. This was needed so that the
- WebKit bundle would have a bundle identifier.
- * WebKit.vcproj/WebKit.vcproj: Added new files to project, and modified
- the post-build step to copy Info.plist and everything in
- WebInspector/webInspector to WebKit.resources.
- * WebView.cpp:
- (WebView::performContextMenuAction): Added case for the Inspect Element item.
- (WebView::inspectElement): Added.
- * WebView.h: Added declaration.
-
-2007-04-07 Adam Roben <aroben@apple.com>
-
- Forked most of the WebInspector directory from
- r20780 of branches/WebInspectorRefresh/WebKit/WebInspector.
-
- * WebInspector/WebInspector.h: Added.
- * WebInspector/WebInspector.m: Added.
- (+[WebInspector sharedWebInspector]):
- (-[WebInspector init]):
- (-[WebInspector initWithWebFrame:]):
- (-[WebInspector dealloc]):
- (-[WebInspector window]):
- (-[WebInspector windowWillClose:]):
- (-[WebInspector showWindow:]):
- (-[WebInspector setWebFrame:]):
- (-[WebInspector webFrame]):
- (-[WebInspector setRootDOMNode:]):
- (-[WebInspector rootDOMNode]):
- (-[WebInspector setFocusedDOMNode:]):
- (-[WebInspector focusedDOMNode]):
- (-[WebInspector setSearchQuery:]):
- (-[WebInspector searchQuery]):
- (-[WebInspector showOptionsMenu]):
- (-[WebInspector _toggleIgnoreWhitespace:]):
- (-[WebInspector _toggleShowUserAgentStyles:]):
- (-[WebInspector _highlightNode:]):
- (-[WebInspector _nodeHighlightExpired:]):
- (-[WebInspector _update]):
- (-[WebInspector _updateRoot]):
- (-[WebInspector _updateSystemColors]):
- (-[WebInspector _applicationWillResignActive]):
- (-[WebInspector _applicationDidBecomeActive]):
- (-[WebInspector _webFrameDetached:]):
- (+[WebInspector isSelectorExcludedFromWebScript:]):
- (+[WebInspector webScriptNameForSelector:]):
- (+[WebInspector isKeyExcludedFromWebScript:]):
- (-[WebInspector inspectedWebViewProgressFinished:]):
- (-[WebInspector webView:didFinishLoadForFrame:]):
- (-[WebInspector webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
- (-[WebInspector webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
- (-[WebInspector webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
- (-[WebInspectorPrivate dealloc]):
- (-[DOMNode _isAncestorOfNode:]):
- * WebInspector/webInspector/AppleScrollArea.js: Added.
- * WebInspector/webInspector/AppleScrollbar.js: Added.
- * WebInspector/webInspector/Images/button.png: Added.
- * WebInspector/webInspector/Images/buttonDivider.png: Added.
- * WebInspector/webInspector/Images/buttonPressed.png: Added.
- * WebInspector/webInspector/Images/close.png: Added.
- * WebInspector/webInspector/Images/closePressed.png: Added.
- * WebInspector/webInspector/Images/downTriangle.png: Added.
- * WebInspector/webInspector/Images/menu.png: Added.
- * WebInspector/webInspector/Images/menuPressed.png: Added.
- * WebInspector/webInspector/Images/popup.png: Added.
- * WebInspector/webInspector/Images/popupPressed.png: Added.
- * WebInspector/webInspector/Images/rightTriangle.png: Added.
- * WebInspector/webInspector/Images/scrollThumbBottom.png: Added.
- * WebInspector/webInspector/Images/scrollThumbMiddle.png: Added.
- * WebInspector/webInspector/Images/scrollThumbTop.png: Added.
- * WebInspector/webInspector/Images/scrollTrackBottom.png: Added.
- * WebInspector/webInspector/Images/scrollTrackMiddle.png: Added.
- * WebInspector/webInspector/Images/scrollTrackTop.png: Added.
- * WebInspector/webInspector/Images/upTriangle.png: Added.
- * WebInspector/webInspector/inspector.css: Added.
- * WebInspector/webInspector/inspector.html: Added.
- * WebInspector/webInspector/inspector.js: Added.
-
-2007-04-06 Dave Hyatt <hyatt@apple.com>
-
- Internal side of fix for bug 13274.
-
- Reviewed by olliej
-
- * Interfaces/IWebScrollBarPrivate.idl:
- * WebScrollBar.cpp:
- * WebScrollBar.h:
- * WebView.cpp:
- (WebView::handleMouseEvent):
-
-2007-04-04 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Ada.
-
- Fix <rdar://problem/5111027> Dragging a link on page
- shows URL thumbnail as nearly-transparent instead
- semi-transparent
-
- Error in createDragImageForLink led me to get wrong
- maximum drag image size, now logic and maximum drag
- image size corrected.
-
- * WebDragClient.cpp:
- (WebDragClient::createDragImageForLink):
-
-2007-04-04 Adam Roben <aroben@apple.com>
-
- Release build fix for TestNetscapePlugin.
-
- * WebKit.vcproj/WebKit.vcproj: Make the Release post-build step the
- same as the Debug one so that the npapi headers get copied.
-
-2007-04-03 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- WebKit part of fix for <rdar://problem/5103999> All dom/svg tests are
- failing due to extra/missing newlines
-
- * DOMCoreClasses.cpp:
- (DOMElement::innerText): Added.
- * DOMCoreClasses.h: Added declaration.
- * Interfaces/DOMPrivate.idl: Ditto.
-
-2007-04-02 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler.
-
- Expose COM class counter
-
- * Interfaces/IWebKitStatistics.idl: Added comClassCount
- * WebKitStatistics.cpp:
- (WebKitStatistics::comClassCount): Added
- * WebKitStatistics.h:
-
-2007-03-31 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Hyatt.
-
- <rdar://problem/5091159> Boomer has no bundle identifier - is the bundle correctly formed?
- <rdar://problem/5088764> Move the "Icon.db" file under "Local Settings"
-
- * WebIconDatabase.cpp:
- (userIconDatabasePath): Prefer to store Icon.db file keyed off of bundle executable name
- * WebPreferences.cpp:
- (WebPreferences::preferencesPath): Prefer to store WebKit Preferences keyed off of bundle executable name
-
-2007-03-30 Adele Peterson <adele@apple.com>
-
- Reviewed by Beth.
-
- Fix <rdar://problem/5079824> editing/deleting/delete-by-word-001 is failing
-
- * WebView.cpp: Add DeleteWordForward and DeleteWordBackward to key command table.
-
-2007-03-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Adele.
-
- <rdar://problem/5101970>
- Crash when submitting form, running under App Verifier
-
- * WebActionPropertyBag.cpp:
- (findMouseEvent):
- Return the right event.
-
-2007-03-30 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Geoff.
-
- * Interfaces/IWebViewPrivate.idl:
- Add addAdditionalPluginPath method.
-
- * WebKit.vcproj/WebKit.vcproj:
- Copy NP includes so they can be included by the test plugin.
-
- * WebView.cpp:
- (WebView::stringByEvaluatingJavaScriptFromString):
- Hold JSLock while we call JSValue::getString().
-
- (WebView::addAdditionalPluginPath):
- * WebView.h:
- Implement addAdditionalPluginPath.
-
-2007-03-27 Dave Hyatt <hyatt@apple.com>
-
- Enable complex text. Selection and small-caps support are now enabled with this patch.
-
- Reviewed by aroben
-
- * WebPreferences.cpp:
- (WebPreferences::initialize):
-
-2007-03-26 Brady Eidson <beidson@apple.com>
-
- Reviewed by Ada
-
- This one didn't actually have any leaks, but I just felt like doing the
- same style cleanup as the others :)
-
- * WebPreferences.cpp:
- (WebPreferences::stringValueForKey):
- (WebPreferences::integerValueForKey):
- (WebPreferences::floatValueForKey):
- (WebPreferences::setStringValue):
- (WebPreferences::setIntegerValue):
- (WebPreferences::save):
- (WebPreferences::load):
-
-2007-03-26 Brady Eidson <beidson@apple.com>
-
- Reviewed by Ada
-
- <rdar://5090412> - Plug CFNumberRef leaks in WebCache
-
- * WebCache.cpp:
- (WebCache::statistics):
-
-2007-03-26 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Geoff.
-
- Fix build without breaking anything.
-
- * WebHistory.cpp:
- (releaseUserInfo): Added silly void statement for now.
-
-2007-03-26 Beth Dakin <bdakin@apple.com>
-
- Rubber-stamped by Brady.
-
- Build fix for release build.
-
- * WebHistory.cpp:
- (releaseUserInfo): Do not store userInfo->Release() in a local
- variable since it is only used for an ASSERT.
-
-2007-03-26 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou.
-
- <rdar://problem/5088764> Move the "Icon.db" file under "Local Settings"
-
- * WebIconDatabase.cpp:
- (userIconDatabasePath): Move icon database to non-roaming location
-
-2007-03-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Oliver
-
- <rdar://problem/5086888> - WebHistory(Item) Leak
-
- This is a pretty thourough touchup up style and correctness that
- plugs at least 1 definite leak and many potential leaks with
- extensive use of RetainPtr and COMPtr.
-
- This should result in no change in behavior
-
- * MarshallingHelpers.cpp: Add kIUnknownDictionaryValueCallBacks
- * MarshallingHelpers.h: Ditto
-
- * WebHistory.cpp:
- (createUserInfoFromArray):
- (createUserInfoFromHistoryItem):
- (releaseUserInfo):
- (WebHistory::WebHistory):
- (WebHistory::~WebHistory):
- (WebHistory::loadFromURL):
- (createHistoryListFromStream): Split of the Structured Exception
- Handling to a seperate function to cooperate with C++
- (WebHistory::loadHistoryGutsFromURL):
- (WebHistory::saveToURL):
- (WebHistory::saveHistoryGuts):
- (WebHistory::datesArray):
- (WebHistory::addItems):
- (WebHistory::removeItems):
- (WebHistory::removeAllItems):
- (WebHistory::orderedLastVisitedDays):
- (WebHistory::orderedItemsLastVisitedOnDay):
- (WebHistory::removeItem):
- (WebHistory::addItem):
- (WebHistory::addItemForURL):
- (WebHistory::itemForURLString):
- (WebHistory::itemForURL):
- (WebHistory::containsItemForURLString):
- (WebHistory::removeItemForURLString):
- (WebHistory::addItemToDateCaches):
- (WebHistory::removeItemFromDateCaches):
- (WebHistory::findIndex):
- (WebHistory::insertItem):
- (WebHistory::ageLimitDate):
- * WebHistory.h:
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::dictionaryRepresentation):
- (WebHistoryItem::mergeAutoCompleteHints):
-
-2007-03-25 Adam Roben <aroben@apple.com>
-
- Reviewed by Oliver.
-
- WebKit part of <rdar://problem/5086934> DumpRenderTree doesn't support
- layoutTestController.queueLoad
-
- * WebFrame.cpp:
- (WebFrame::findFrameNamed): Implemented.
- * WebHistoryItem.cpp:
- (WebHistoryItem::children): Don't increment i twice per loop!
-
-2007-03-25 Adam Roben <aroben@apple.com>
-
- Build fix.
-
- * WebDownload.h: Include RetainPtr from WTF.
-
-2007-03-24 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * WebDownload.h: Remove WebCore namespace
-
-2007-03-24 Adam Roben <aroben@apple.com>
-
- Reviewed by Oliver.
-
- WebKit part of <rdar://problem/5086932> DumpRenderTree doesn't support
- layoutTestController.dumpBackForwardList
-
- * Interfaces/IWebHistoryItemPrivate.idl: Added declarations.
- * WebFrame.cpp:
- (WebFrame::childFrames): Removed unused variable.
- * WebHistoryItem.cpp:
- (WebHistoryItem::target): Implemented.
- (WebHistoryItem::isTargetItem): Implemented.
- (WebHistoryItem::children): Implemented.
- * WebHistoryItem.h: Added declarations.
-
-2007-03-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- <rdar://5086194> - WebHistory overreleases a CFNumber
-
- * WebHistory.cpp:
- (WebHistory::loadHistoryGutsFromURL): Don't CFRelease what we didn't
- legitimately get a ref for!
-
-2007-03-23 Adam Roben <aroben@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit part of <rdar://problem/5084881> Add a "turn of site-specific
- hacks" menu item to the Debug menu
-
- Added new IWebPrivate::setAllowSiteSpecificHacks SPI.
-
- * Interfaces/IWebViewPrivate.idl: Added declaration.
- * WebView.cpp:
- (WebView::userAgentForKURL): Only give a site-specific UA if
- site-specific hacks are turned on.
- (WebView::setAllowSiteSpecificHacks): Added.
- * WebView.h:
- (WebView::allowSiteSpecificHacks): Added.
-
-2007-03-23 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Hyatt.
-
- Fix for <rdar://problem/5083914> Cursor is wrong for all context
- menus
-
- * WebView.cpp:
- (WebView::handleContextMenuEvent): Set the cursor to the pointer
- cursor.
-
-2007-03-23 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Adam.
-
- Fixed <rdar://5084888> need to add flickr to spoof list in Boomer WebKit
-
- * WebView.cpp:
- (WebView::userAgentForKURL):
- added flickr spoof
-
-2007-03-23 Adam Roben <aroben@apple.com>
-
- Reviewed by Oliver.
-
- WebKit part of <rdar://problem/5085170> DumpRenderTree doesn't print
- frame scroll offsets
-
- Implemented some WebFrame methods to support dumping frame scroll
- offsets in DRT.
-
- * Interfaces/IWebFrame.idl: Changed signature of IWebFrame::childFrames.
- * Interfaces/IWebFramePrivate.idl: Added scrollOffset declaration.
- * WebFrame.cpp:
- (WebFrame::name): Implemented.
- (WebFrame::childFrames): Implemented.
- (WebFrame::scrollOffset): Implemented.
- * WebFrame.h: Updated/added declarations.
-
-2007-03-23 Adam Roben <aroben@apple.com>
-
- Reviewed by Oliver.
-
- WebKit part of fix for <rdar://problem/4990740>.
-
- Added IWebDataSourcePrivate::mainDocumentError.
-
- * Interfaces/IWebDataSource.idl: Added method declaration and updated
- copyrights.
- * WebDataSource.cpp:
- (WebDataSource::mainDocumentError): Implemented.
- * WebDataSource.h: Added declaration.
-
-2007-03-23 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/5083645> Spoofed UA for gmail doesn't work - should be removed
-
- * WebView.cpp:
- (WebView::userAgentForKURL): Remove gmail spoof
-
-2007-03-22 Dave Hyatt <hyatt@apple.com>
-
- Fix for <rdar://problem/5083072>.
-
- Reviewed by aroben
-
- * ChangeLog:
- * WebFrame.cpp:
- (WebFrame::setPrinting):
- (WebFrame::spoolPages):
- * WebFrame.h:
-
-2007-03-22 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- <rdar://problem/5082270>
- Crash in windows media player at MTV.COM
-
- Ignore any WM_PAINT events we get while painting.
-
- * WebView.cpp:
- (WebView::WebView):
- (WebView::updateBackingStore):
- (WebView::paint):
- (WebViewWndProc):
- * WebView.h:
- (WebView::isPainting):
-
-2007-03-22 Adele Peterson <adele@apple.com>
-
- Reviewed by Anders.
-
- Fix for <rdar://problem/5071358> window.open won't work with empty urls (24fun test)
-
- * Interfaces/IWebURLRequest.idl:
- * WebMutableURLRequest.cpp: (WebMutableURLRequest::isEmpty): Added. Checks whether the ResourceRequest is empty. On the mac,
- NSURLRequests created from empty ResourceRequests are nil. We may want to consider that in the future, but there were too
- many places in the app that expected the IWebURLRequest to be non-null.
- * WebMutableURLRequest.h:
-
-2007-03-22 Dave Hyatt <hyatt@apple.com>
-
- Fix for crasher in layout caused by paints that happen without layout being current. Change to be
- more like the Mac and crawl the frame tree up front ensuring everyone is up to date before painting.
-
- Reviewed by olliej
-
- * WebFrame.cpp:
- (WebFrame::WebFramePrivate::m_policyFunction):
- (WebFrame::layoutIfNeededRecursive):
- * WebFrame.h:
- * WebView.cpp:
- (WebView::updateBackingStore):
- (WebView::paint):
- (WebViewWndProc):
-
-2007-03-22 Ada Chan <adachan@apple.com>
-
- Reviewed by Hyatt and Alice.
-
- Changed the mouse event processing in the WebView wndproc so we actually
- allow a mouse event with click count > 3, which matches the mac safari behavior.
-
- Set globalPrevButton and globalPrevPoint also in mouse down.
-
- * WebView.cpp:
- (WebView::handleMouseEvent):
-
-2007-03-21 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- * WebView.cpp:
- (WebView::initWithFrame):
- Remove #ifdef now that DRT no longer crashes.
-
-2007-03-21 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/5074274> right-clicking in certain iframes ends up
- left-clicking, and context menu appears far away
-
- * WebView.cpp:
- (WebView::handleContextMenuEvent): We were always calling
- sendContextMenuEvent() on the main frame!! Instead, call it on the
- focused or main frame.
-
-2007-03-21 Adele Peterson <adele@apple.com>
-
- Reviewed by Adam.
-
- Fix for <rdar://problem/5076213> fast/forms/input-text-enter.html fails
-
- Added updateActiveState SPI for DumpRenderTree.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebViewWndProc): Added comments where we do similar work when the webview gets and loses focus. We should merge this logic into updateActiveState eventually.
- (WebView::updateActiveState):
- * WebView.h:
-
-2007-03-19 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Geoff and Adam.
-
- - <rdar://problem/4041141> JavaScriptCore is not thread-safe on Windows
-
- * WebView.cpp:
- (WebView::WebView): Tell JavaScriptCore what the main thread is.
-
-2007-03-20 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/5050512>
- Need invalid/expired certificate alerts
-
- Add setAllowsAnyHTTPSCertificate method to IWebMutableURLRequest and have it
- call down to WebCore.
-
- * Interfaces/IWebMutableURLRequest.idl:
- * WebMutableURLRequest.cpp:
- (WebMutableURLRequest::setAllowsAnyHTTPSCertificate):
- * WebMutableURLRequest.h:
-
-2007-03-20 Adam Roben <aroben@apple.com>
-
- Rubberstamped by Anders.
-
- Workaround a CFNetwork crash that affects DRT.
-
- * WebView.cpp:
- (WebView::initWithFrame): Commented out cookie storage initialization.
-
-2007-03-20 Adam Roben <aroben@apple.com>
-
- Build fix.
-
- * WebView.cpp: Added missing #include.
-
-2007-03-20 Adam Roben <aroben@apple.com>
-
- Reviewed by Oliver.
-
- Implemented [set]TabKeyCyclesThroughElements.
-
- * Interfaces/IWebViewPrivate.idl: Added new declarations.
- * WebView.cpp:
- (WebView::setTabKeyCyclesThroughElements): Implemented.
- (WebView::tabKeyCyclesThroughElements): Implemented.
- * WebView.h: Updated.
-
-2007-03-20 Dave Hyatt <hyatt@apple.com>
-
- Land advanced text code path (turned off).
-
- Reviewed by aroben
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-03-20 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4921198>
- Cookie acceptance policy not settable
-
- * WebView.cpp:
- (WebView::updateWebCoreSettingsFromPreferences):
- Update the cookie storage accept policy.
-
- (WebView::initWithFrame):
- Initialize the cookie storage.
-
-2007-03-19 Adam Roben <aroben@apple.com>
-
- Build fix.
-
- * WebKit.vcproj/WebKitGUID.vcproj:
-
-2007-03-19 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders and Darin.
-
- Added WebJavaScriptCollector for <rdar://problems/5071653>.
-
- * Interfaces/IWebJavaScriptCollector.idl: Added.
- * Interfaces/WebKit.idl:
- * WebJavaScriptCollector.cpp: Added.
- (WebJavaScriptCollector::WebJavaScriptCollector):
- (WebJavaScriptCollector::~WebJavaScriptCollector):
- (WebJavaScriptCollector::createInstance):
- (WebJavaScriptCollector::QueryInterface):
- (WebJavaScriptCollector::AddRef):
- (WebJavaScriptCollector::Release):
- (WebJavaScriptCollector::collect):
- (WebJavaScriptCollector::collectOnAlternateThread):
- (WebJavaScriptCollector::objectCount):
- * WebJavaScriptCollector.h: Added.
- * WebKit.vcproj/Interfaces.vcproj: Added IWebJavaScriptCollector.idl.
- * WebKit.vcproj/WebKit.vcproj: Added WebJavaScriptCollector.(cpp|h).
- * WebKit.vcproj/WebKitGUID.vcproj: Added IWebJavaScriptCollector_i.c.
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::CreateInstance): Added cases for
- WebJavaScriptCollector.
- * WebKitDLL.cpp:
- (DllGetClassObject): Ditto.
-
-2007-03-19 Adam Roben <aroben@apple.com>
-
- Build fix.
-
- * Interfaces/IWebView.idl:
-
-2007-03-18 Adam Roben <aroben@apple.com>
-
- Reviewed by Hyatt.
-
- Implemented getting/setting of the editing delegate (we don't actually
- use it for anything yet, though. See <rdar://problem/5071598>).
-
- * Interfaces/IWebEditingDelegate.idl: Renamed IWebViewEditingDelegate
- to IWebEditingDelegate to match our other delegates.
- * Interfaces/IWebView.idl: Updated for rename.
- * WebView.cpp:
- (WebView::setEditingDelegate): Implemented.
- (WebView::editingDelegate): Ditto.
- * WebView.h: Updated for rename.
-
-2007-03-18 Adam Roben <aroben@apple.com>
-
- Reviewed by Geoff.
-
- Added IWebFramePrivate::layout to support eventSender in DRT.
-
- Made IWebView inherit from IDropTarget to match Mac, and added
- IWebUIDelegatePrivate::doDragDrop to support drag-and-drop in DRT.
-
- * Interfaces/IWebFramePrivate.idl: Added layout().
- * Interfaces/IWebUIDelegatePrivate.idl: Added doDragDrop().
- * Interfaces/IWebView.idl: Added inheritance from IDropTarget.
- * WebDragClient.cpp:
- (WebDragClient::startDrag): Call the UI delegate if possible,
- otherwise fallback to OLE's DoDragDrop.
- * WebFrame.cpp:
- (WebFrame::layout): Implemented.
- * WebFrame.h:
- * WebView.h:
-
-2007-03-17 Adam Roben <aroben@apple.com>
-
- Reviewed by Brady.
-
- Fix repro ASSERT when logging in to facebook.com.
-
- * WebMutableURLRequest.cpp:
- (WebMutableURLRequest::valueForHTTPHeaderField): Implemented.
-
-2007-03-16 Brady Eidson <beidson@apple.com>
-
- Reviewed by Oliver
-
- Make the WebDownload fix a little more correct.
-
- * WebDownload.cpp:
- (WebDownload::init): Release the connection from the ResourceHandle after the CFURLDownload has been created
-
-2007-03-16 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Dave Hyatt.
-
- Fixed "called Frame::paint with nil renderer" console messages.
- You can now launch and exit the app without seeing any
- error messages!
-
- * WebView.cpp:
- (WebView::paintIntoBackingStore): Only tell the FrameView to
- paint if it has a renderer. This isn't an issue on the Mac
- because we don't create a FrameView until you load a page.
-
-2007-03-16 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Add setters and getters for cookie storage accept policy.
-
- * Interfaces/IWebPreferences.idl:
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::initialize):
- (WebPreferences::cookieStorageAcceptPolicy):
- (WebPreferences::setCookieStorageAcceptPolicy):
- * WebPreferences.h:
-
-2007-03-16 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam and Dave Hyatt.
-
- <rdar://problem/5069226>
- Boomer fails Acid2.
-
- Fix acid2 test.
-
- * WebFrame.cpp:
- (WebFrame::shouldFallBack):
- Implement this function.
-
-2007-03-16 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- Implemented a couple of DOM methods so we can set the font-size of an element directly in the app.
-
- * DOMCSSClasses.cpp:
- (DOMCSSStyleDeclaration::setProperty):
- * DOMCoreClasses.cpp:
- (DOMElement::style):
-
-2007-03-15 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Ada.
-
- Fixing some leaks
-
- * WebFrame.cpp:
- (WebFrame::dispatchDidReceiveAuthenticationChallenge):
- (WebFrame::dispatchDidCancelAuthenticationChallenge):
-
-2007-03-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Oliver
-
- CFNetwork related cleanup that was a work around for previous deficiencies in CFURLDownload
- This might fix some of the random crashers we see on stress testing if they end up
- downloading links.
-
- * WebDownload.cpp:
- (WebDownload::init): Release the connection from the handle so it no longer refers to it
-
-2007-03-15 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Geoff and Steve.
-
- - fixed <rdar://problem/5029776> iBench JavaScript test slower than Opera
- - fixes to use FastMalloc on Windows
-
- * WebKit.vcproj/WebKit.def: Add exports of WTF symbols.
- * WebKit.vcproj/WebKit_debug.def: ditto
- * WebKit.vcproj/WebKit.vcproj: Link pthreads, now needed by WTF.
-
-2007-03-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Alice
-
- Due to OpenSource r20178, all of the sudden we were trying to handle page caching on Windows
- even though it is not hooked up yet. The resulted in very particular cases ending up calling
- clear() in FrameLoader::provisionalLoadStarted(). One such particular case was if a page *would*
- be "cachable" (no frames, no passwords, etc etc), and you start a download from that page.
-
- The fix for now is to manually set the pageCacheSize to 0 whenever we create new pages on Windows.
- This prevents the "Should I cache this page?" checking from getting far enough to clear the document.
- It so happens this involves exactly one line.
-
- * WebView.cpp:
- (WebView::initWithFrame): Set page cache size to zero on new pages, and add a fixme to remove later
-
-2007-03-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- <rdar://problem/4429701>
- Implements a port blocking black list that matches Firefox's
-
- * Interfaces/IWebError.idl: Add the custom error code for blocked error
-
- * WebFrame.cpp:
- (WebFrame::blockedError): FrameLoaderClient fill-in + a Fixme
- (WebFrame::interruptForPolicyChangeError): Add a Fixme for localization
- * WebFrame.h:
-
-2007-03-15 Adam Roben <aroben@apple.com>
-
- Rubberstamped by Brady.
-
- * WebKitLogging.cpp: Turn of Download logging by default.
-
-2007-03-14 Ada Chan <adachan@apple.com>
-
- Reviewed by Lou.
-
- Added a method in IWebViewPrivate to clear the current focus node. This is called in the app
- when focus has been transferred to the address field or search field.
-
- * Interfaces/IWebViewPrivate.idl:
- * WebView.cpp:
- (WebView::clearFocusNode):
- * WebView.h:
-
-2007-03-14 Adele Peterson <adele@apple.com>
-
- Reviewed by Ada.
-
- Allow empty commands to be sent by doTextFieldCommandFromEvent. Our autocomplete code relies on this.
-
- * WebEditorClient.cpp: (WebEditorClient::doTextFieldCommandFromEvent):
-
-2007-03-14 Steve Falkenburg <sfalken@apple.com>
-
- <rdar://problem/5050470> Reproducible crash doing find on page at cnn.com
-
- Add frame->document() null checks in cases where frame could be a
- sub-frame that hasn't started loading yet.
-
- * WebView.cpp:
- (WebView::rectsForTextMatches): Add null check
-
-2007-03-14 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKit part of fix for <rdar://problem/5057371> REGRESSION: Shift-selection stopped working in text fields
-
- This fixes doCommandBySelector to take a command string instead of a key code.
-
- * Interfaces/IWebEditingDelegate.idl: Changed parameter to BSTR.
- * Interfaces/IWebFormDelegate.idl: ditto.
- * WebEditorClient.cpp:
- (WebEditorClient::doTextFieldCommandFromEvent): Calls doCommandBySelector with a BString that it gets from interpretKeyEvent instead of a key code.
- (WebEditorClient::textWillBeDeletedInTextField): Calls doCommandBySelector with a BString to represent the BackwardDelete command.
- (WebEditorClient::handleKeypress): Calls handleEditingKeyboardEvent with just the KeyboardEvent.
- * WebView.cpp: Added commands that will be used by doCommandBySelector to the table (Cancel, InsertTab, InsertBacktab, InsertNewline).
- (WebView::interpretKeyEvent): Added. Returns a command string for a KeyboardEvent. Removed static editCommandForKey.
- (WebView::handleEditingKeyboardEvent): Call Editor methods instead of calling handleTextInputEvent directly.
- * WebView.h:
-
-2007-03-14 Administrator <acarlsson@apple.com>
-
- Build fixes.
-
- * WebDataSource.cpp:
- (WebDataSource::subresourceForURL):
- * WebKitDLL.cpp:
- (loadResourceIntoBuffer):
-
-2007-03-12 Adele Peterson <adele@apple.com>
-
- Reviewed by Oliver.
-
- WebKit part of fix for <rdar://problem/5044790> preventing default of keypress event doesn't work (affects .mac)
-
- Removed special handling of the WM_CHAR message. All this work is now done by WM_KEYDOWN, which will dispatch the keydown event,
- which causes the keypress event to be dispatched, which calls WebEditorClient::handleKeyPress to do all the hard work.
-
- * WebEditorClient.cpp: (WebEditorClient::handleKeypress): Removed special call to doTextFieldCommandFromEvent since this will now
- happen during normal key event processing. Call handleEditingKeyboardEvent. Now editing actions can be prevented from the keypress event handler.
- * WebView.cpp:
- (WebView::WebView): Added m_currentCharacterCode, so we can reuse the computed code from keyDown for keyUp events.
- (WebView::keyUp): Renamed arguments. Don't dispatch event for shift, ctrl, or capslock keys. Use m_currentCharacterCode when constructing the PlatformKeyboardEvent.
- (WebView::handleEditingKeyboardEvent): Now takes a KeyboardEvent instead of a PlatformKeyboardEvent. If no editCommand is created
- from the event, then call handleTextInputEvent.
- (WebView::keyDown): Peek at the next message in the message loop. If its a WM_CHAR, then get the character code and remove that message from the queue.
- Renamed arguments. Don't dispatch event for shift, ctrl, or capslock keys. Set m_currentCharacterCode and use it when constructing the PlatformKeyboardEvent.
- (WebViewWndProc): Removed handling of WM_CHAR, since this is now done from WM_KEYDOWN by dispatching the keydown event, which will eventually call handleKeyPress.
- * WebView.h: Made handleEditingKeyboardEvent public so it can be accessed from WebEditorClient.
-
-2007-03-11 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adele.
-
- Stubbed WebEditorClient::respondToChangedSelection
-
- * WebEditorClient.cpp:
- (WebEditorClient::respondToChangedSelection):
- * WebEditorClient.h:
-
-2007-03-10 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- * DOMCoreClasses.cpp:
- (DOMNode::textContent):
- Implement this.
-
-2007-03-09 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- * WebURLResponse.cpp:
- (WebURLResponse::suggestedFilename):
- Get the suggested filename from the ResourceResponse object.
-
-2007-03-09 Adam Roben <aroben@apple.com>
-
- Rubberstamped by Steve.
-
- B&I build fix.
-
- * WebKit.vcproj/WebKit.vcproj: Removed all references to iconv.
-
-2007-03-08 Anders Carlsson <acarlsson@apple.com>
-
- Build fix.
-
- * WebView.cpp:
- (WebView::isLoading):
-
-2007-03-08 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Implement WebView::isLoading.
-
- * WebView.cpp:
- (WebView::isLoading):
-
-2007-03-07 Adam Roben <aroben@apple.com>
-
- Rubberstamped by Anders.
-
- Return E_POINTER for null parameters.
-
- * WebScrollBar.cpp:
- (WebScrollBar::value):
- (WebScrollBar::capturingMouse):
- (WebScrollBar::frameGeometry):
- (WebScrollBar::width):
- (WebScrollBar::height):
- (WebScrollBar::requestedWidth):
- (WebScrollBar::requestedHeight):
- (WebScrollBar::windowClipRect):
-
-2007-03-07 Adam Roben <aroben@apple.com>
-
- Reviewed by Oliver.
-
- Added requestedWidth and requestedHeight methods to WebScrollBar.
-
- * Interfaces/IWebScrollBarPrivate.idl: Added new declarations.
- * WebScrollBar.cpp:
- (WebScrollBar::requestedWidth): Implemented.
- (WebScrollBar::requestedHeight): Implemented.
- * WebScrollBar.h: Added method declarations.
-
-2007-03-07 Adam Roben <aroben@apple.com>
-
- Rubberstamped by Anders.
-
- * WebFrame.cpp:
- (WebFrame::cancelledError): Use the WebURLErrorDomain constant.
- (WebFrame::interruptForPolicyChangeError): Use the WebKitErrorDomain constant.
-
-2007-03-07 Adam Roben <aroben@apple.com>
-
- Rubberstamped by Anders.
-
- Switch the definition of WebURLErrorDomain to "CFURLErrorDomain" so
- that we will send the right errors once <rdar://problem/5034136> is
- fixed.
-
- * Interfaces/IWebError.idl: Changed definition.
-
-2007-03-07 Adele Peterson <adele@apple.com>
-
- Build fix.
-
- * WebEditorClient.cpp: (WebEditorClient::handleInputMethodKeypress):
-
-2007-03-07 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- WebKitWin part of fix for:
- http://bugs.webkit.org/show_bug.cgi?id=10871
- http://bugs.webkit.org/show_bug.cgi?id=12677
- <rdar://problem/4823129> REGRESSION: IME key events different in nightly
- <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri
-
- * WebEditorClient.cpp:
- (WebEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress.
- (WebEditorClient::handleInputMethodKeypress): Added.
- * WebEditorClient.h:
-
-2007-03-07 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- * WebFrame.cpp:
- (WebFrame::makeDocumentView):
- Assert that frame is not null.
-
-2007-03-06 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- * WebFrame.cpp:
- (WebFrame::makeDocumentView):
- Call resetMultipleFormSubmissionProtection() so that submitting the same form from separate loads works.
-
-2007-03-06 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- Adapt to an API change in CFURLDownload
-
- * WebDownload.cpp:
- (WebDownload::init):
-
-2007-03-06 Steve Falkenburg <sfalken@apple.com>
-
- Rubber-stamped by Adam.
-
- Fix disney.com more. Disney redirects to disney.go.com.
-
- * WebView.cpp:
- (WebView::userAgentForKURL): Added disney.go.com
-
-2007-03-06 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- Always keep rounding hacks on to be consistent.
-
- * WebDragClient.cpp:
- (createDragImageForLink): Tell StringTruncator to keep rounding hacks on.
- * WebKitGraphics.cpp:
- (CenterTruncateStringToWidth): Ditto.
- (RightTruncateStringToWidth): Ditto.
-
-2007-03-06 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- Allow custom user agents per site.
-
- This fixes:
-
- http://www.disney.com
- http://www.yahoo.com
- http://mail.google.com
- iTunes store links (w/ latest unsubmitted CFNetwork from our root share)
-
- * WebView.cpp:
- (WebView::userAgentForKURL): Check URL host against a list of known offenders, return them what they're looking for.
-
-2007-03-06 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Pass the user agent on.
-
- * WebFrame.cpp:
- (WebFrame::userAgent):
- * WebFrame.h:
-
-2007-03-04 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- Added line spacing querying to FontMetrics to support line wrapping.
-
- * WebKitGraphics.cpp:
- (FontMetrics): Return the line spacing.
- * WebKitGraphics.h: Added lineSpacing parameter.
-
-2007-03-02 Adam Roben <aroben@apple.com>
-
- Reviewed by Beth.
-
- Make submenus draw using the UIDelegate.
-
- * Interfaces/IWebUIDelegate.idl: Added new delegate method to add
- custom drawing data for menus.
- * WebView.cpp:
- (WebView::onInitMenuPopup): Added. Calls new delegate method.
- (WebViewWndProc): Added handler for WM_INITMENUPOPUP, which is called
- for all submenus.
- * WebView.h: Added declaration.
-
-2007-03-02 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- Added optional underlining of a single character to WebKitGraphics.
-
- * WebKitGraphics.cpp:
- (DrawTextAtPoint): Passed optional underlinedIndex parameter to
- WebCoreTextRenderer.
- * WebKitGraphics.h: Added optional underlinedIndex parameter.
-
-2007-03-01 Adam Roben <aroben@apple.com>
-
- Reviewed by Kevin M.
-
- Add support for right-truncation to WebKitGraphics.
-
- * WebKit.vcproj/WebKit.def: Added new export.
- * WebKit.vcproj/WebKit_debug.def: Ditto.
- * WebKitGraphics.cpp:
- (RightTruncateStringToWidth): Added.
- * WebKitGraphics.h: Added declaration.
-
-2007-02-28 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- Made WebKitGraphics more flexible.
-
- * WebDragClient.cpp:
- (WebDragClient::createDragImageForLink): Updated for changes to
- WebKitGraphics/WebCoreTextRenderer.
- * WebKit.vcproj/WebKit.def: Added new exported methods.
- * WebKit.vcproj/WebKit_debug.def: Ditto.
- * WebKitGraphics.cpp:
- (makeFont): Added.
- (DrawTextAtPoint): Simplified arguments, changed to take a
- CGContextRef, and updated for WebCoreTextRenderer changes.
- (TextFloatWidth): Added.
- (FontMetrics): Added.
- (CenterTruncateStringToWidth): Added.
- * WebKitGraphics.h: Updated declarations.
-
-2007-02-28 Steve Falkenburg <sfalken@apple.com>
-
- Fix build (for new SDK) / Break build (for old SDK)
-
- * WebDownload.cpp:
- (WebDownload::initToResumeWithBundle):
-
-2007-02-27 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve and Adam.
-
- WebKitWin changes to get the aqua scrollbar into the app.
-
- * Interfaces/IWebScrollBarDelegatePrivate.idl: Added.
- COM interface for the WebKit scrollbar
- * Interfaces/IWebScrollBarPrivate.idl: Added.
- COM interface that allows the WebKit scrollbar to update the client.
- * Interfaces/WebKit.idl:
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::CreateInstance):
- Added changes needed to create the WebKitScrollBar through COM
- * WebKitDLL.cpp:
- (DllGetClassObject):
- * WebScrollBar.cpp: Added.
- WebKitScrollBar wraps the WebCore's PlatformScrollbar. This allows the app to
- make its own scroll bar that's the same aqua scrollbar in the engine.
- (WebScrollBar::WebScrollBar):
- (WebScrollBar::~WebScrollBar):
- (WebScrollBar::createInstance):
- (WebScrollBar::QueryInterface):
- (WebScrollBar::AddRef):
- (WebScrollBar::Release):
- (WebScrollBar::init): instantiate PlatformScrollbar.
- (WebScrollBar::setEnabled): call through to PlatformScrollbar
- (WebScrollBar::setSteps): ditto
- (WebScrollBar::setProportion): ditto
- (WebScrollBar::setRect): ditto
- (WebScrollBar::setValue): ditto
- (WebScrollBar::value): ditto
- (WebScrollBar::capturingMouse): ditto
- (WebScrollBar::paint): ditto
- (WebScrollBar::frameGeometry): ditto
- (WebScrollBar::width): ditto
- (WebScrollBar::height): ditto
- (WebScrollBar::handleMouseEvent): ditto
- (WebScrollBar::scroll): ditto
- (WebScrollBar::valueChanged): call valueChanged on the delegate
- (WebScrollBar::windowClipRect): get the rect from the scrollbar's containing window
- * WebScrollBar.h: Added.
-
-2007-02-27 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Steve, Adam, Maciej, and their mothers.
-
- This is a general leaks fix but helps the effort towards fixing
- <rdar://4974495> Boomer leaks while running HTML iBench
- However, this fix doens't close that bug.
-
- * WebFrame.cpp:
- (WebFrame::setTitle):
- fix a leak of WebHistory
- * WebHistory.cpp:
- (_WebCoreHistoryProvider::containsItemForURLUnicode):
- fix a leak of WebHistory
-
-2007-02-27 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- Fix <rdar://problem/5004615> View source menu option is always disabled
- when Netscape 8 is installed
-
- The bug was caused by Netscape's npTrident.dll plugin, which registers
- itself as a handler for text/html and text/xml.
-
- * WebFrame.cpp:
- (WebFrame::canProvideDocumentSource): Explicitly allow viewing the
- source of HTML and XML documents, rather than disallowing text, image,
- and plugin documents. Plugins can register themselves as handlers for
- HTML and XML MIME types, but we still want to display source in those
- cases.
-
-2007-02-27 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- Make msimg32.lib available to the engine so that we can use
- AlphaBlend.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-02-27 Ada Chan <adachan@apple.com>
-
- Fixed build.
-
- * WebFrame.cpp:
-
-2007-02-27 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Lou and Steve.
-
- Handle the WM_CURSOR message to stop cursor flickering
- to fix <rdar://problem/4788352>
-
- * WebView.cpp:
- (WebViewWndProc):
-
-2007-02-27 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve and Anders.
-
- <rdar://4983106> Stop/reload button never changes back to
- reload when a click on a link spawns a download
-
- * WebError.cpp:
- (WebError::isPolicyChangeError): fixed string comparison
- * WebFrame.cpp:
- (WebFrame::interruptForPolicyChangeError): implemented the method
-
-2007-02-26 Adam Roben <aroben@apple.com>
-
- Reviewed by Adele.
-
- Stop bizarre crashes from happening on startup.
-
- * WebKit.vcproj/WebKit.vcproj: Use new ENABLE_* macros instead of *_SUPPORT.
-
-2007-02-24 Steve Falkenburg <sfalken@apple.com>
-
- Pre-emptive build fix.
- Removed CGPThreads DLL copy
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-02-22 Adele Peterson <adele@apple.com>
-
- Updating this file to match WebCore.
-
- * WebKit.vcproj/textAreaResizeCorner.png:
-
-2007-02-22 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- Fix for http://bugs.webkit.org/show_bug.cgi?id=12399 REGRESSION:
- Unable to prevent default context menu from appearing. <rdar://
- problem/5017416>
-
- * WebView.cpp:
- (WebView::handleContextMenuEvent): Clear the controller's context
- menu before propagating a new context menu event through the DOM.
-
-2007-02-22 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Ada, Lou, and Steve.
-
- Last of the major changes for drag and drop
- - Move COMPtr.h to WebCore
- - Added WebDragSource, a modified version of SDataSource from the App
- that can notify a WebView's eventhandler of drag events
- - Implement the last bits of the DragClient
- - As part of drag client added code to draw the "doubled" text used by
- drag links. May be useful for other parts of WebKit/App
-
- * COMPtr.h: Removed.
- Moving to WebCore
- * WebDragClient.cpp:
- (WebDragClient::actionMaskForDrag):
- (WebDragClient::willPerformDragDestinationAction):
- (WebDragClient::dragSourceActionMaskForPoint):
- (WebDragClient::willPerformDragSourceAction):
- Removing WebCore:: as i'm now using the WebCore namespace
- (WebDragClient::startDrag):
- Implemented client method
- (allocImage):
- (dragLabelFont):
- Helper functions for generating the link dragging image
- (WebDragClient::createDragImageForLink):
- Implemented client method
-
- * WebDropSource.cpp: Added.
- (WebDropSource::createInstance):
- (WebDropSource::WebDropSource):
- (WebDropSource::QueryInterface):
- (WebDropSource::AddRef):
- (WebDropSource::Release):
- (generateMouseEvent):
- Generates a mouse event for the EventHandler
- (WebDropSource::QueryContinueDrag):
- (WebDropSource::GiveFeedback):
- Copied from SDataObject in the App. Minor changes per suggestions
- from Ada and Steve (error codes, potential leaks)
- Also includes logic to notify the source WebView of drag events (moving
- and drag end)
-
- * WebDropSource.h: Added.
- Header for the above
-
- * WebKit.vcproj/WebKit.vcproj:
- Removing COMPtr.h, and adding WebDropSource.{h,cpp}
-
- * WebKitGraphics.cpp:
- (DrawDoubledTextAtPoint):
- Utility function for drawing double text, as used by link dragging image
-
- * WebKitGraphics.h:
- Defining the above function
-
-2007-02-21 Brady Eidson <beidson@apple.com>
-
- Reviewed by the build-fix fairies
-
- * WebDownload.cpp:
- (WebDownload::initToResumeWithBundle): Conditionally use CFURLDownload API for the resume case.
- I totally made up the flag
-
-2007-02-21 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders' rubberstamp
-
- * WebDownload.cpp:
- (WebDownload::initToResumeWithBundle): Make a copy of the string we truncate
- so it doesn't affect the original
-
-2007-02-21 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- <rdar://problem/4964763> - Hookup resume downloads on the engine side
-
- NOTE: Resume downloads are broken in the current ChickenCat - this functionality requires
- a custom ToT CFNetwork as of CFNetwork r3372, or will require CFNetwork 172 or later
-
- * WebDownload.cpp:
- (WebDownload::initWithRequest): Changed some logging, plugged some potential leaks
- (WebDownload::initToResumeWithBundle): Added a real implementation - this now works!
- (WebDownload::didFinish): Added some logging and fixed up some lifetime issues
- (extractResumeDataFromBundle): Renamed to imply the modification of the file. Truncate
- the resume data from the file once it is extracted
-
-2007-02-20 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Maciej.
-
- Move copyImage functionality from the ContextMenuClient to the
- Pasteboard.
-
- * WebContextMenuClient.cpp:
- * WebContextMenuClient.h:
-
-2007-02-20 Adam Roben <aroben@apple.com>
-
- Reviewed by Darin and Anders.
-
- Fix <rdar://problem/5003318> App: Status bar text is more difficult to
- read than Mac OS X Safari
-
- * WebKitGraphics.cpp:
- (DrawTextAtPoint): Added bottomAlign and centerTruncate parameters.
- * WebKitGraphics.h: Ditto.
-
-2007-02-20 Darin Adler <darin@apple.com>
-
- Reviewed by Anders.
-
- * WebFrame.cpp: (WebFrame::redirectDataToPlugin): Update for changes to
- FrameLoader and DocumentLoader.
-
-2007-02-19 Adam Roben <aroben@apple.com>
-
- Reviewed by Darin Adler.
-
- Fix <rdar://problem/5007566> Crash in WebFrame::dataSource on dni.ru
-
- The fix for the bug was to zero out WebFrame's Frame pointer in
- WebFrame::frameLoaderDestroyed, and then to null-check or ASSERT
- non-null as appropriate. All IWebFrame methods that depend on the Frame
- pointer will return E_FAIL if it is null, and everywhere within
- WebFrame that wasn't null-checking before will now explicitly ASSERT.
-
- I also changed all uses of d->frame and WebFrame::impl() to use the
- core() function for consistency, and so that there is only one code
- path for getting from a WebFrame to a Frame.
-
- Additional more specific comments below.
-
- * WebChromeClient.cpp:
- (WebChromeClient::scrollBackingStore):
- (WebChromeClient::updateBackingStore):
- * WebFrame.cpp:
- (kit): Null-check the frame parameter.
- (core): Added two overloads of this.
- (WebFrame::DOMDocument): Added argument checking.
- (WebFrame::currentForm):
- (WebFrame::loadRequest):
- (WebFrame::loadData):
- (WebFrame::dataSource): Added argument checking, and return E_FAIL if the dataSource is null.
- (WebFrame::provisionalDataSource): Ditto.
- (WebFrame::stopLoading):
- (WebFrame::reload):
- (WebFrame::parentFrame):
- (WebFrame::renderTreeAsExternalRepresentation): Added argument checking.
- (WebFrame::firstLayoutDone): Ditto.
- (WebFrame::loadType): Ditto.
- (WebFrame::invalidate):
- (WebFrame::setTextSizeMultiplier):
- (WebFrame::inViewSourceMode): Added argument checking, and changed to return an HRESULT.
- (WebFrame::setInViewSourceMode): Changed to return an HRESULT.
- (WebFrame::searchForLabelsBeforeElement): Added argument checking.
- (WebFrame::matchLabelsAgainstElement): Ditto.
- (WebFrame::frameLoaderDestroyed): Zero out the Frame pointer because the Frame is being destroyed.
- (WebFrame::createFrame):
- (WebFrame::loadURLIntoChild): Added some assertions.
- (WebFrame::dispatchWillSubmitForm):
- (WebFrame::frameLoadCompleted):
- (WebFrame::receivedData):
- (WebFrame::setUpPolicyListener):
- (WebFrame::receivedPolicyDecision):
- (WebFrame::dispatchDecidePolicyForMIMEType):
- (WebFrame::dispatchDecidePolicyForNewWindowAction):
- (WebFrame::dispatchDecidePolicyForNavigationAction):
- (WebFrame::dispatchCreatePage):
- (WebFrame::createPlugin):
- (WebFrame::redirectDataToPlugin):
- (WebFrame::createJavaAppletWidget):
- (WebFrame::windowObjectCleared):
- (WebFrame::setPrinting):
- (WebFrame::setInPrintingMode):
- (WebFrame::computePageRects):
- (WebFrame::getPrintedPageCount): Zero out the out parameter before proceeding.
- (WebFrame::spoolPages):
- (WebFrame::forceLayoutWithPageWidthRange):
- * WebFrame.h:
- * WebView.cpp:
- (WebView::paint): Silently fail on a null Frame, because this method could be called at any time.
- (WebView::mouseWheel): Ditto.
- (WebViewWndProc): Ditto.
- (WebView::inViewSourceMode): Return whatever WebFrame::setInViewSourceMode returns.
- (WebView::setInViewSourceMode): Ditto.
- (WebView::setCustomTextEncodingName): Replaced check for a null
- FrameLoader with a check for a null Frame, which is equivalent but, as
- a bonus, won't crash.
- (WebView::stringByEvaluatingJavaScriptFromString):
- (WebView::elementAtPoint): Added argument checking.
- (WebView::selectedText): Ditto.
- (WebView::centerSelectionInVisibleArea):
-
-2007-02-19 Adam Roben <aroben@apple.com>
-
- Build fix.
-
- * WebFrame.cpp:
- (WebFrame::computePageRects):
-
-2007-02-18 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Oliver.
-
- - Adapt for Lars's patch to clean up Frame
-
- * WebChromeClient.cpp:
- (WebChromeClient::tabsToLinks):
- (WebChromeClient::windowResizerRect):
- (WebChromeClient::addToDirtyRegion):
- (WebChromeClient::scrollBackingStore):
- (WebChromeClient::updateBackingStore):
- * WebChromeClient.h:
- * WebEditorClient.cpp:
- (WebEditorClient::shouldChangeSelectedRange):
- (WebEditorClient::textFieldDidBeginEditing):
- (WebEditorClient::textFieldDidEndEditing):
- (WebEditorClient::textDidChangeInTextField):
- (WebEditorClient::doTextFieldCommandFromEvent):
- (WebEditorClient::textWillBeDeletedInTextField):
- (WebEditorClient::textDidChangeInTextArea):
- * WebEditorClient.h:
- * WebElementPropertyBag.cpp:
- (WebElementPropertyBag::Read):
- * WebFrame.cpp:
- (kit):
- (WebFrame::initWithWebFrameView):
- (WebFrame::searchForLabelsBeforeElement):
- (WebFrame::matchLabelsAgainstElement):
- (WebFrame::createPlugin):
- (WebFrame::createJavaAppletWidget):
- (WebFrame::computePageRects):
- (WebFrame::getPrintedPageCount):
- (WebFrame::spoolPages):
- * WebFrame.h:
- * WebView.cpp:
- (WebView::handleEditingKeyboardEvent):
- (WebView::keyDown):
- (WebView::generateSelectionImage):
- * WebView.h:
-
-2007-02-18 Ada Chan <adachan@apple.com>
-
- Reviewed by Adam.
-
- Move app text controls to use webview
-
- * DOMCoreClasses.cpp:
- (DOMNode::parentNode): implemented
- (DOMElement::blur): implemented
- * Interfaces/IWebUIDelegatePrivate.idl: added API for focus/blur notifications
- * WebKit.vcproj/WebKit.def: added DrawTextAtPoint
- * WebKit.vcproj/WebKit.vcproj: added WebKitGraphics.h/cpp
- * WebKit.vcproj/WebKit_debug.def: added DrawTextAtPoint
- * WebKitGraphics.cpp: Added.
- (DrawTextAtPoint): calls WebCoreDrawTextAtPoint to render text
- * WebKitGraphics.h: Added.
- * WebView.cpp:
- (WebViewWndProc): notify setfocus and killfocus through IWebUIDelegatePrivate delegate.
- (WebView::unmarkAllTextMatches): added null check
-
-2007-02-18 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Stubs to keep the build going
-
- * WebDragClient.cpp:
- (WebDragClient::willPerformDragSourceAction):
- (WebDragClient::startDrag):
- (WebDragClient::createDragImageForLink):
- * WebDragClient.h:
-
-2007-02-17 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4918821> Find: clicking on the webview does not hide findoverlay
- <rdar://problem/4956428> Find: Showing/hiding the Find banner should not push the page contents down when possible
-
- * Interfaces/IWebViewPrivate.idl: Added scrollBy, visibleContentRect
- * WebView.cpp:
- (WebView::scrollOffset): Add null check
- (WebView::scrollBy): Added so we can scroll a webview easily (matches scroll position getter here)
- (WebView::visibleContentRect): Added so we can size find overlay appropriately (not including scroll bars)
- * WebView.h: Added scrollBy, visibleContentRect
-
-2007-02-17 Adele Peterson <adele@apple.com>
-
- Reviewed by Hyatt.
-
- Fix for <rdar://problem/5006194> Caret is not revealed when a newline is entered into a textarea
-
- * WebView.cpp: (WebView::handleEditingKeyboardEvent):
- Use shared code in Editor class to insertParagraphSeparator (or insertLineBreak for plain text).
- This will also reveal the selection properly.
-
-2007-02-16 Anders Carlsson <acarlsson@apple.com>
-
- Build fixes.
-
- * WebDownload.cpp:
- (WebDownload::init):
- (WebDownload::initWithRequest):
-
-2007-02-15 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/5001181> Crash: autofilling empty page
-
- Return an error from WebFrame::DOMDocument if there's no document
-
- * WebFrame.cpp:
- (WebFrame::DOMDocument): null document now maps to E_FAIL
-
-2007-02-15 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- <rdar://4778394> - Save scroll position in the back/forward list
-
- * WebFrame.cpp:
- (WebFrame::restoreViewState): Renamed, as scroll position was pushed to WebCore
- (WebFrame::saveViewStateToItem): Ditto
- * WebFrame.h:
-
-2007-02-15 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- Fix <rdar://problem/4968731> Printing scales frames to page width
- instead of doing a layout at that width
-
- * Interfaces/IWebFramePrivate.idl: Added setInPrintingMode method.
- * WebFrame.cpp:
- (WebFrame::WebFrame): Initialize new member.
- (printerRect): New helper function.
- (WebFrame::setPrinting): Ported from WebHTMLView.
- (WebFrame::setInPrintingMode): Implemented.
- (WebFrame::computePageRects): Changed to store the page rects.
- (WebFrame::getPrintedPageCount): Added an ASSERT and updated for change to computePageRects.
- (WebFrame::spoolPages): Use the stored page rects, and set mediaBox's
- size using the print rect instead of the page rect so we will scale the
- pages to the full width of the print DC.
- (WebFrame::forceLayoutWithPageWidthRange): Ported from WebFrameBridge.
- * WebFrame.h: Updated declarations.
-
-2007-02-15 Lou Amadio <lamadio@apple.com>
-
- Reviewed by Steve.
-
- <rdar://problem/4945799> CGText: should use correct mechanism to set font smoothing style
-
- * WebKit.vcproj/WebKit.vcproj:
- * WebPreferences.cpp:
- (WebPreferences::setFontSmoothing):
- * WebView.cpp:
- (WebViewWndProc):
-
-2007-02-13 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4950378> AddressBook autofill doesn't fill rest of form when tabbing out of a completed field
-
- Send tab keypresses to IWebFormDelegate::doCommandBySelector.
-
- * WebEditorClient.cpp:
- (WebEditorClient::handleKeyPress): Call doTextFieldCommandFromEvent if we get a tab keypress
-
-2007-02-12 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- Also, checked in a fix in WebContextMenuClient that Adam made on my machine, reviewed by me.
-
- <rdar://4952715> Events not being passed from WebCore/WebKit up through IWebForm::doCommandBySelector
- Inform form delegate about delete key press.
-
- DOM event fixes:
- - Removed DOMEventTarget class.
- - IDOMEventTarget no longer extends IDOMObject
- - DOMNode now implements IDOMEventTarget
- - DOMEvent::CoCreateInstance creates the correct subclasses
- of DOMEvents based on the type of event
- - Added IDOMDocumentEvent interface, which DOMDocument implements.
- - Fixed the out parameter in IDOMUIEvent::view to be IDOMWindow**
-
- Implemented DOMHTMLDocument::body and DOMHTMLElement::setInnerText.
-
- * DOMCoreClasses.cpp:
- (DOMNode::addEventListener): added as DOMNode now needs to implement IDOMEventTarget
- (DOMNode::removeEventListener): ditto above
- (DOMNode::dispatchEvent): ditto above
- (DOMDocument::QueryInterface): DOMDocument now also implements IDOMDocumentEvent
- (DOMDocument::createEvent): added as DOMDocument implements IDOMDocumentEvent
- (DOMElement::focus): implemented
- * DOMCoreClasses.h:
- * DOMEventsClasses.cpp:
- (DOMEvent::DOMEvent): The data member m_event is now a RefPtr, and the WebCore::Event is now
- passed into the constructor via a PassRefPtr.
- (DOMEvent::~DOMEvent): No longer need to deref m_event since we are using a RefPtr.
- (DOMEvent::createInstance): instantiate the correct DOMEvent subclass based on event type.
- (DOMEvent::QueryInterface): be able to QI IID_DOMEvent, which returns back the DOMEvent type.
- (DOMUIEvent::view): fixed the API
- (DOMKeyboardEvent::ctrlKey): call .get() on RefPtr
- (DOMKeyboardEvent::shiftKey): ditto above
- (DOMKeyboardEvent::altKey): ditto above
- (DOMKeyboardEvent::metaKey): ditto above
- (DOMKeyboardEvent::altGraphKey): ditto above
- (DOMMouseEvent::ctrlKey): ditto above
- (DOMMouseEvent::shiftKey): ditto above
- (DOMMouseEvent::altKey): ditto above
- (DOMMouseEvent::metaKey): ditto above
- * DOMEventsClasses.h:
- (DOMEvent::coreEvent): Added an API to get the WebCore::Event out of a DOMEvent. Used in DOMNode::dispatchEvent.
- (DOMUIEvent::DOMUIEvent): made public so it can be called in DOMEvent::createInstance
- (DOMKeyboardEvent::DOMKeyboardEvent): ditto above
- (DOMKeyboardEvent::view): fixed API
- (DOMMouseEvent::DOMMouseEvent): made public so it can be called in DOMEvent::createInstance
- (DOMMouseEvent::view): fixed API
- (DOMMutationEvent::DOMMutationEvent): made public so it can be called in DOMEvent::createInstance
- (DOMOverflowEvent::DOMOverflowEvent): made public so it can be called in DOMEvent::createInstance
- (DOMWheelEvent::DOMWheelEvent): made public so it can be called in DOMEvent::createInstance
- (DOMWheelEvent::view): fixed API
- * DOMHTMLClasses.cpp:
- (DOMHTMLDocument::body):
- (DOMHTMLElement::setInnerText):
- * Interfaces/DOMEvents.idl: IDOMEventTarget no longer extends IDOMObject. Added IDOMDocumentEvent.
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::getCustomMenuFromDefaultItems): check for error from calling contextMenuItemsForElement.
- * WebFrame.cpp:
- (WebFrame::textWillBeDeletedInTextField): call form delegate callback doCommandBySelector with VK_BACK
- when deleting text.
-
-2007-02-11 Adam Roben <aroben@apple.com>
-
- Fixing line endings.
-
- * WebResource.cpp:
- * WebResource.h:
-
-2007-02-10 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- Fix <rdar://problem/4989705> Loading eBay puts many items into back list
-
- The bug was that WebFrame::createFrame was calling loadRequest on the
- new child frame, which would initiate a load of FrameLoadTypeStandard,
- when in fact we wanted to do a FrameLoadTypeInternal load. I ported
- -[WebFrame _loadURL:referrer:intoChild:] to WebFrame, which contains
- the logic we need.
-
- * WebFrame.cpp:
- (WebFrame::createFrame): Use a COMPtr to manage the new WebFrame, and
- call loadURLIntoChild instead of just calling loadRequest.
- (WebFrame::loadURLIntoChild): Ported from Mac WebFrame.
- * WebFrame.h: Added declaration.
-
-2007-02-09 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam, Steve.
-
- - fixed <rdar://problem/4976975> Need WEbKit API to revtrieve current or first frame and form from a WebView
-
- * Interfaces/IWebFrame.idl: added currentForm
- * Interfaces/IWebView.idl: added focusedFrame
- * WebFrame.cpp:
- (WebFrame::currentForm): Get the "current" form for a frame,
- as determined by WebCore::Frame
- * WebFrame.h:
- * WebView.cpp:
- (WebView::focusedFrame): Get the currently focused frame
- (via FocusController).
- * WebView.h:
-
-2007-02-09 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Brady and Adam.
-
- Fixed <rdar://4986194> Typing in content editable body does not automatically scroll to reveal cursor
- fix depends on corresponding fix in WebCoreWin
-
- * WebView.cpp:
- (WebViewWndProc):
- call the editor to handle inserting text and scrolling/focus changes
-
-2007-02-09 John Sullivan <sullivan@apple.com>
-
- Reviewed by Beth
-
- - WebKitWin part of fix for radar 4939636, problems with context menu items and binaries linked
- against WebKit 2.0.
-
- * Interfaces/IWebUIDelegate.idl:
- bumped enum value for new SPI tags to match change in WebCore/WebKit
-
-2007-02-08 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Adam.
-
- Fixed <rdar://4920436> Find: Regression: Find banner does not select in orange on pages with frame
-
- * WebView.cpp:
- (WebView::searchFor):
- Ever since 11396, the widget no longer handles frame focus changes.
- This is now the page's focus controller responsibility
-
-2007-02-07 Brady Eidson <beidson@apple.com>
-
- Reviewed by Steve, Ada, Darin, and Adam
-
- <rdar://problem/4964763> - Download resume support
-
- Note I did my work with a ToT CFNetwork.
- This will compile on stock CFNetwork, but will not function until they submit resume support.
-
- * Interfaces/IWebDownload.idl: Reworked the API a bit
-
- * MarshallingHelpers.cpp:
- (MarshallingHelpers::PathStringToFileCFURLRef):
- (MarshallingHelpers::FileCFURLRefToPathString):
- * MarshallingHelpers.h:
-
- * WebDownload.cpp:
- (WebDownload::initToResumeWithBundle): The app needs simply to pass in a bundle path to resume it
- (WebDownload::cancelForResume): Cancel the download, writing out the resume data
- (WebDownload::bundlePathForTargetPath): Helper for the app
- (WebDownload::setDestination): Cache the destination inside the WebDownload
- (WebDownload::didCreateDestination): Hide the bundle distinction from the app
- (WebDownload::didFinish): Hide the bundle distinction from the app
- (createResumeDataFromBundle): Extract the resume data from the bundle
- (appendResumeDataToBundle): Add the resume data to the bundle
- * WebDownload.h:
-
-2007-02-08 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4972772>
- Implement IWebResource::Data.
-
- <rdar://problem/4972777>
- Implement IWebDataSource::subresourceForURL.
-
- * MemoryStream.cpp:
- (MemoryStream::MemoryStream):
- (MemoryStream::createInstance):
- (MemoryStream::Clone):
- * MemoryStream.h:
- Remove notion of buffer owner, it's not needed now that the buffer itself is reference counted.
-
- * WebDataSource.cpp:
- (WebDataSource::subresourceForURL):
- Implement this.
-
- * WebKit.vcproj/WebKit.vcproj:
- Add WebResource.cpp and WebResource.h
-
- * WebResource.cpp: Added.
- (WebResource::WebResource):
- (WebResource::~WebResource):
- (WebResource::createInstance):
- (WebResource::QueryInterface):
- (WebResource::AddRef):
- (WebResource::Release):
- (WebResource::initWithData):
- (WebResource::data):
- (WebResource::URL):
- (WebResource::MIMEType):
- (WebResource::textEncodingName):
- (WebResource::frameName):
- * WebResource.h: Added.
-
- * WebView.cpp:
- (WebView::formDelegate):
- Return E_FAIL if there's no form delegate.
-
-2007-02-08 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Add shouldInterruptJavaScript to the API.
-
- * Interfaces/IWebUIDelegatePrivate.idl:
- * WebChromeClient.cpp:
- (WebChromeClient::addMessageToConsole):
- (WebChromeClient::shouldInterruptJavaScript):
-
-2007-02-07 Anders Carlsson <acarlsson@apple.com>
-
- * WebChromeClient.cpp:
- * WebChromeClient.h:
- Build fix.
-
-2007-02-06 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Maciej.
-
- Fix for <rdar://4973323> PageUp/PageDown don't move the caret in textareas
-
- * WebView.cpp:
- (WebView::keyDown):
- added key entry for function to scroll by page and move
- caret in scrolling editable regions
-
-2007-02-06 Adam Roben <aroben@apple.com>
-
- Reviewed by Ada and Oliver.
-
- Add some GDI object logging to help catch leaks.
-
- * WebFrame.cpp:
- (WebFrame::layoutIfNeeded):
- * WebView.cpp:
- (WebView::addToDirtyRegion):
- (WebView::scrollBackingStore):
- (WebView::updateBackingStore):
- (WebView::paint):
- (WebView::paintIntoBackingStore):
- (WebView::paintIntoWindow):
-
-2007-02-05 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Adam
-
- Added #include "config.h" to 3 files that didn't have it before
- I was tipped off when some work I was doing resulted in these 3 files
- trying to use the wrong MAX() - YET AGAIN...
-
- * CFDictionaryPropertyBag.cpp:
- * MarshallingHelpers.cpp:
- * WebHistory.cpp:
-
-2007-02-05 Ada Chan <adachan@apple.com>
-
- Reviewed by Anders.
-
- <rdar://4945519> Crash when back/forward buttons are clicked several times
- Clear loader's previous history item when frame load is completed (got that code from the mac side).
-
- * WebFrame.cpp:
- (WebFrame::frameLoadCompleted):
-
-2007-02-04 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- <rdar://4946475> Private browsing is not working correctly
- Implemented FrameLoaderClient::privateBrowsingEnabled().
-
- * WebFrame.cpp:
- (WebFrame::privateBrowsingEnabled):
-
-2007-02-04 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Steve.
-
- Fix some memory leaks. This fixes WebFrame leak as well.
- Can be considered a partial fix for <rdar://4974495> Boomer leaks while running HTML iBench
-
- * WebActionPropertyBag.cpp:
- (WebActionPropertyBag::WebActionPropertyBag):
- * WebDataSource.cpp:
- (WebDataSource::representation):
- * WebURLResponse.cpp:
- (:m_refCount):
-
-2007-02-04 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- Fix <rdar://problem/4972498> REGRESSION: Crash while closing View Source window
-
- * WebView.cpp:
- (WebView::WebView): Initialize new member.
- (WebViewWndProc): Set flag when we receive WM_DESTROY, and don't handle
- WM_SIZE if that flag is true.
- (WebView::mainFrame): Added argument check.
- * WebView.h:
- (WebView::setIsBeingDestroyed): Added.
- (WebView::isBeingDestroyed): Added.
-
-2007-02-04 Adam Roben <aroben@apple.com>
-
- Reviewed by Hyatt.
-
- Fix <rdar://problem/4968183> Cross-window frame targeting doesn't work
-
- * Interfaces/IWebView.idl: Pass RECT by value.
- * WebView.cpp:
- (WebView::initWithFrame): Uses the passed-in RECT for the frame, and
- sets the frame/group names.
- * WebView.h: Updated declaration.
-
-2007-02-03 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4930947> Regression: History is not saved when boomer window is closed.
-
- Fix boolean test causing lost history regression.
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::hasURLString): isEmpty returns true if there is NO url, not if there is one.
-
-2007-02-02 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Maciej.
-
- Fixed <rdar://4956286> Find: Deleting all text in the Find banner search field should clear the page's selection
-
- * Interfaces/IWebView.idl:
- * WebView.cpp:
- (WebView::clearSelection):
- * WebView.h:
- Added a clearSelection function to webview so the findbanner can call it.
-
-2007-02-02 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- Fix a crash when running the PLT.
-
- * WebView.cpp:
- (WebView::initWithFrame):
- Added assertions to make catching this easier.
-
-2007-02-01 Ada Chan <adachan@apple.com>
-
- Reviewed by Anders.
-
- Forgot to assign document to 0 in case of failure in WebView::mainFrameDocument().
-
- * WebView.cpp:
- (WebView::mainFrameDocument):
-
-2007-02-01 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve, Geoff.
-
- <rdar://4969341> Regression: crash: when Resetting Safari
- <rdar://4953390> Closing my two open boomer windows produced a crash
- Fixed crash when closing second window and doing the close
- all safari window option in Reset Safari.
-
- * WebFrame.cpp:
- WebFramePrivate has a pointer to frameView but does not hold a reference
- to it. The frame holds a ref to the frameView anyway, so it's safest to get
- the frameView through the frame. The crash happened because frame already has
- cleared out its frameView but WebFrame was still accessing the old stale frameView
- through that data member in WebFramePrivate.
- (WebFrame::WebFramePrivate::m_policyFunction):
- (WebFrame::WebFramePrivate::frameView):
- (WebFrame::initWithWebFrameView):
- (WebFrame::layoutIfNeeded):
- (WebFrame::hasFrameView):
- * WebView.cpp:
- (WebView::paintIntoBackingStore): bail if frameView is null.
- (WebView::setHostWindow): don't set the view window's parent to 0.
- It'll end up creating a standalone window.
-
-2007-02-01 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4969348>
- REGRESSION: Crash loading pdf
-
- * WebView.cpp:
- (WebView::canShowMIMEType):
- Return true if the MIME type can be handled by a plug-in.
-
-2007-02-01 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- Fix <rdar://problem/4849601> Implement printing of individual subframes
-
- This just moves some functions from IWebViewPrivate to IWebFramePrivate.
-
- * Interfaces/IWebFramePrivate.idl: Added declarations.
- * Interfaces/IWebViewPrivate.idl: Removed declarations.
- * WebFrame.cpp: Added functions from WebView.cpp.
- (WebFrame::computePageRects):
- (WebFrame::getPrintedPageCount):
- (WebFrame::spoolPages):
- * WebFrame.h: Added declarations.
- * WebView.cpp: Moved functions to WebFrame.cpp.
- * WebView.h: Removed declarations.
-
-2007-01-31 Ada Chan <adachan@apple.com>
-
- Reviewed by Adam.
-
- Adam and I found a missing retain on WebFrame::setUpPolicyListener(). The mac
- code returns a RefPtr which retains it, but we are returning the raw pointer.
- Changed the code to return a COMPtr. Without this change, loading bogus urls
- will crash.
-
- * WebFrame.cpp:
- (WebFrame::dispatchWillSubmitForm):
- (WebFrame::setUpPolicyListener):
- (WebFrame::dispatchDecidePolicyForMIMEType):
- (WebFrame::dispatchDecidePolicyForNewWindowAction):
- (WebFrame::dispatchDecidePolicyForNavigationAction):
- * WebFrame.h:
-
-2007-01-31 Ada Chan <adachan@apple.com>
-
- Reviewed by Anders.
-
- Implement WebView::mainFrameDocument.
-
- * WebView.cpp:
- (WebView::mainFrameDocument):
-
-2007-01-31 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Ada.
-
- Fixes to BSTR handling required for username/password autofill.
-
- * WebURLProtectionSpace.cpp:
- (WebURLProtectionSpace::authenticationMethod): Return BSTRs instead of bare LPCTSTRs
- (coreScheme): Compare against BSTRs
- (WebURLProtectionSpace::initWithHost): Compare against BSTRs
- (WebURLProtectionSpace::protocol): Return BSTRs instead of bare LPCTSTRs
-
-2007-01-30 Brady Eidson <beidson@apple.com>
-
- Patch by Anders
- Reviewed and landed by Brady
-
- Fixes <rdar://problem/4889160>
- If there's no backing store bitmap, don't try to update it!
-
- * WebView.cpp:
- (WebView::updateBackingStore):
-
-2007-01-30 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou.
-
- Checkpoint of <rdar://problem/4712459> Account/Password forms autofill
-
- Implemented dependencies in WebKit for account/password autofill.
-
- * DOMCoreClasses.cpp:
- (DOMElement::isEqual): Fixed crash if other ele is 0
- (DOMElement::isFocused): Added
- * DOMCoreClasses.h:
- * DOMHTMLClasses.cpp:
- (DOMHTMLCollection::DOMHTMLCollection): Added
- (DOMHTMLCollection::createInstance): Added
- (DOMHTMLCollection::length): Implemented
- (DOMHTMLCollection::item): Implemented
- (DOMHTMLDocument::forms): Implemented
- * DOMHTMLClasses.h:
- * Interfaces/DOMPrivate.idl: Added isFocused
- * Interfaces/WebKit.idl: Added WebURLProtectionSpace
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::CreateInstance): Added CLSID_WebURLProtectionSpace
- * WebKitDLL.cpp:
- (DllGetClassObject): Added CLSID_WebURLProtectionSpace
- * WebURLAuthenticationChallenge.cpp:
- (WebURLAuthenticationChallenge::initWithProtectionSpace): Use CLSID_WebURLProtectionSpace instead of IID_WebURLProtectionSpace
- * WebURLProtectionSpace.cpp:
- (WebURLProtectionSpace::QueryInterface): Use CLSID_WebURLProtectionSpace instead of IID_WebURLProtectionSpace
- * WebURLProtectionSpace.h:
-
-2007-01-29 Brady Eidson <beidson@apple.com>
-
- Reviewed by Oliver
-
- * WebDownload.cpp:
- (WebDownload::init): Use RetainPtr.adopt(), and create the CFURLDownload after we store the request
- (WebDownload::initWithRequest): Ditto
-
-2007-01-29 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam & Steve.
-
- - hook up new cross-platform data-loading code
- - fixed <rdar://4910106> - Need to support loadData and loadHTMLString
-
- * WebFrame.cpp:
- (WebFrame::loadData): add a SharedBuffer overload, and implement
- IStream* version using that.
- (WebFrame::loadHTMLString): implement using loadData
- * WebFrame.h: prototype new method
-
-2007-01-29 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- * WebEditorClient.cpp:
- (WebEditorClient::handleKeyPress): Removed EventTargetNode paramenter.
- * WebEditorClient.h:
-
-2007-01-29 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Oliver.
-
- <rdar://problem/4892067>
- DnD a font file in Boomer locks it up.
-
- Create a drop target helper so we get snazzy drag images.
-
- * WebView.cpp:
- (WebView::WebView):
- (WebView::DragEnter):
- (WebView::DragOver):
- (WebView::DragLeave):
- (WebView::Drop):
- * WebView.h:
-
-2007-01-29 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Basic implementation of new dragclient method
-
- * WebDragClient.cpp:
- (WebDragClient::dragSourceActionMaskForPoint):
- * WebDragClient.h:
-
-2007-01-29 Maciej Stachowiak <mjs@apple.com>
-
- - fix build
-
- * WebFrame.h:
-
-2007-01-29 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Mark.
-
- <rdar://problem/4910106> Need to support loadData and loadHTMLString
-
- I added the underlying support, but did not turn on the new cross-platform versions yet as I've
- not had sufficient time to test.
-
- * WebDocumentLoader.cpp:
- (WebDocumentLoader::WebDocumentLoader):
- * WebDocumentLoader.h:
- * WebFrame.cpp:
- (WebFrame::createDocumentLoader):
- * WebFrame.h:
-
-2007-01-27 Adam Roben <aroben@apple.com>
-
- Reviewed by Oliver.
-
- Fix <rdar://problem/4944863> WebError::localizedDescription needs to be implemented.
-
- This was so simple, I don't know why I didn't do this before.
-
- * WebError.cpp:
- (WebError::localizedDescription): Implemented.
-
-2007-01-26 Steve Falkenburg <sfalken@apple.com>
-
- B&I build fix
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-01-26 Adam Roben <aroben@apple.com>
-
- Reviewed by Oliver.
-
- Engine side of fix for <rdar://problem/4958371> Boomer leaks WebViews
-
- The problem was that we were calling RevokeDragDrop after our view
- window had been destroyed, RevokeDragDrop wouldn't call Release on us.
-
- Fix <rdar://problem/4958382> WebViews leak their HWND if no host window is set
-
- * WebView.cpp:
- (WebView::~WebView): Call DestroyWindow if our view window hasn't been
- destroyed yet.
- (WebViewWndProc): Added an ASSERT, and added call to revokeDragDrop
- when handling WM_DESTROY.
- (WebView::initWithFrame): Call our own registerDragDrop.
- (WebView::close): Removed call to RevokeDragDrop. At this point our
- window has been destroyed, so it's too late to do this.
- (WebView::registerDragDrop): Added.
- (WebView::revokeDragDrop): Added.
- * WebView.h: Added declarations.
-
-2007-01-26 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- * WebKitDLL.cpp:
- Add WebURLRequest entries to the big array.
-
-2007-01-26 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4923845>
- Implement IWebURLRequest.
-
- * Interfaces/WebKit.idl:
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::CreateInstance):
- * WebKitDLL.cpp:
- (DllGetClassObject):
- * WebMutableURLRequest.cpp:
- (WebMutableURLRequest::WebMutableURLRequest):
- (WebMutableURLRequest::createInstance):
- (WebMutableURLRequest::createImmutableInstance):
- (WebMutableURLRequest::QueryInterface):
- * WebMutableURLRequest.h:
-
-2007-01-26 Steve Falkenburg <sfalken@apple.com>
-
- B&I build fix
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-01-25 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Don't pretend that we're an IWebHTTPURLResponse when we're not.
-
- * WebURLResponse.cpp:
- (WebURLResponse::QueryInterface):
- (WebURLResponse::allHeaderFields):
- (WebURLResponse::localizedStringForStatusCode):
- (WebURLResponse::statusCode):
-
- * WebView.cpp:
- (WebView::canShowMIMEType):
- Implement this.
-
-2007-01-26 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- Took one of Adam's comments to heart, allow ::start() and others to E_FAIL
-
- * WebDownload.cpp:
- (WebDownload::start): NULL check m_download
- (WebDownload::cancel): Ditto
- (WebDownload::deletesFileUponFailure): Yup
- (WebDownload::setDeletesFileUponFailure): Uh huh!
- (WebDownload::setDestination): Ooo, ooo - me too!
-
-2007-01-25 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- Make downloads no longer start themselves
-
- * Interfaces/IWebDownload.idl:
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::downloadURL):
- * WebDownload.cpp:
- (WebDownload::init):
- (WebDownload::initWithRequest):
- (WebDownload::start):
- * WebDownload.h:
-
-2007-01-25 Ada Chan <adachan@apple.com>
-
- WebDownload.cpp reviewed by Brady.
- WebFrame.cpp reviewed by Anders.
-
- * WebDownload.cpp:
- (WebDownload::cancel): added null check
- * WebFrame.cpp:
- (WebFrame::dispatchDecidePolicyForMIMEType): fixed bug that we treated loading image urls as downloads.
-
-2007-01-25 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve and Darin.
-
- Fix <rdar://problem/4940645> Implement WebError::domain
-
- Also added some error codes.
-
- * WebError.cpp:
- (WebError::domain): Implemented.
- (WebError::localizedDescription): Added a stub implementation.
- * WebFrame.cpp:
- (WebFrame::redirectDataToPlugin): Corrected uses of WebKitError* constants.
- * Interfaces/IWebError.idl:
- - Updated copyright.
- - Changed WebURLErrorDomain to "NSURLErrorDomain" to match what CFNet gives us.
- - Added all NSURLError* values as WebURLError*.
- - Added all WebKitError* values.
- - Added a POSIX error used by WebBrowser/SafariWin.
- - Added failingURL declaration.
- * Interfaces/IWebErrorPrivate.idl: Updated copyright.
-
-2007-01-25 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- Part of <rdar://problem/4855618> HTML-based load failure pages.
-
- * Interfaces/IWebError.idl: Added failingURL method declaration.
- * WebError.cpp:
- (WebError::failingURL): Implemented.
- * WebError.h: Updated for interface changes.
- * WebFrame.cpp:
- (WebFrame::loadHTMLString): New protected helper method called by
- IWebFrame::loadHTMLString and IWebFrame::loadAlternateHTMLString.
- (WebFrame::loadAlternateHTMLString): Calls loadHTMLString.
- * WebFrame.h: Added new declaration.
-
-2007-01-25 Ada Chan <adachan@apple.com>
-
- Reviewed by Maciej.
-
- Added init methods instead of doing all the initialization in the constructor.
- There was a lifetime issue with passing the WebDownload to delegate calls when
- its ref count is still 0.
-
- * WebDownload.cpp:
- (WebDownload::init):
- (WebDownload::createInstance):
- * WebDownload.h:
-
-2007-01-24 Adele Peterson <adele@apple.com>
-
- Reviewed by Brady and Oliver.
-
- Moved keyEvent method from FrameWin to EventHandler and updated
- call sites. Now this method is shared with the mac.
-
- * WebView.cpp:
- (WebView::keyUp):
- (WebView::keyDown):
-
-2007-01-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Steve
-
- Added cancelling downloads and do it in the destructor
-
- * WebDownload.cpp:
- (WebDownload::~WebDownload):
- (WebDownload::cancel):
-
-2007-01-24 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak, Steve Falkenberg, Adam Roben.
-
- Fixed 4946729 -- CFNetwork needs some JS API symbols.
-
- Added hack to compile JSStringRefCF symbols with WebKit, to avoid having to fork
- the JavaScriptCore project into the internal repository.
-
- * WebKit.vcproj/WebKit.def: Export the symbols.
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-01-24 Brady Eidson <beidson@apple.com>
-
- Reviewed by Ada
-
- Added debug-only instrumentation to help track CFNetwork performance and hangs
-
- * WebDownload.cpp:
- (WebDownload::didStart):
- (WebDownload::didReceiveData):
- (WebDownload::didFinish):
- * WebDownload.h:
-
-2007-01-24 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou.
-
- Checkpoint of <rdar://problem/4712469> Address Book forms autofill.
-
- Call through to the Frame to do autofill, after marshalling parameters to core types.
-
- * DOMHTMLClasses.cpp:
- (DOMHTMLInputElement::readOnly): Implemented
- (DOMHTMLInputElement::rectOnScreen): Implemented
- * WebFrame.cpp:
- (elementFromDOMElement): Added
- (WebFrame::currentForm): Added
- (WebFrame::searchForLabelsBeforeElement): Added
- (WebFrame::matchLabelsAgainstElement): Added
- * WebFrame.h:
- * WebHTMLRepresentation.cpp:
- (WebHTMLRepresentation::currentForm): Implemented
-
-2007-01-24 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- * WebView.cpp:
- (WebViewWndProc):
- Don't send focus/blur events when the previous/newly focused window is a child of ours.
-
-2007-01-24 Ada Chan <adachan@apple.com>
-
- Forgot a null check.
-
- * WebDownload.cpp:
- (WebDownload::request):
-
-2007-01-24 Ada Chan <adachan@apple.com>
-
- Reviewed by Brady.
-
- More hookup of Downloads.
-
- - Implemented WebDownload::request().
- - Implemented accessors for download delegate in webview.
-
- * Interfaces/IWebDownload.idl:
- * Interfaces/IWebError.idl:
- * WebDownload.cpp:
- (WebDownload::WebDownload):
- (WebDownload::initWithRequest):
- (WebDownload::request):
- (WebDownload::willSendRequest):
- * WebDownload.h:
- * WebView.cpp:
- (WebView::setDownloadDelegate):
- (WebView::downloadDelegate):
- * WebView.h:
-
-2007-01-23 Brady Eidson <beidson@apple.com>
-
- Reviewed by Steve
-
- Initial hookup of Downloads
-
- - The default download delegate will let downloads operate for testing
- and for when clients forget to set their our download delegates.
- It saves files to the desktop, and doesn't do anything else fancy
- * DefaultDownloadDelegate.cpp: Added.
- (DefaultDownloadDelegate::DefaultDownloadDelegate):
- (DefaultDownloadDelegate::~DefaultDownloadDelegate):
- (DefaultDownloadDelegate::sharedInstance):
- (DefaultDownloadDelegate::createInstance):
- (DefaultDownloadDelegate::QueryInterface):
- (DefaultDownloadDelegate::AddRef):
- (DefaultDownloadDelegate::Release):
- (DefaultDownloadDelegate::decideDestinationWithSuggestedFilename):
- (DefaultDownloadDelegate::didCancelAuthenticationChallenge):
- (DefaultDownloadDelegate::didCreateDestination):
- (DefaultDownloadDelegate::didFailWithError):
- (DefaultDownloadDelegate::didReceiveAuthenticationChallenge):
- (DefaultDownloadDelegate::didReceiveDataOfLength):
- (DefaultDownloadDelegate::didReceiveResponse):
- (DefaultDownloadDelegate::shouldDecodeSourceDataOfMIMEType):
- (DefaultDownloadDelegate::willResumeWithResponse):
- (DefaultDownloadDelegate::willSendRequest):
- (DefaultDownloadDelegate::didBegin):
- (DefaultDownloadDelegate::didFinish):
- * DefaultDownloadDelegate.h: Added.
-
- - Had to do some weird reordering of interface includes to make things compile...
- Ada watched through this one and was as bewildered as I by the compile errors,
- but settled on the "do what makes it happy" philosophy
- * Interfaces/IWebDataSource.idl:
- * Interfaces/IWebDownload.idl:
- * Interfaces/IWebResourceLoadDelegate.idl:
-
- * Interfaces/WebKit.idl: Added WebDownload CLSID
-
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::downloadURL): Actually download a file!
-
- * WebDownload.cpp: Added. Incomplete yet functional implementation of the
- IWebDownload interface
- (WebDownload::WebDownload):
- (WebDownload::~WebDownload):
- (WebDownload::createInstance):
- (WebDownload::QueryInterface):
- (WebDownload::AddRef):
- (WebDownload::Release):
- (WebDownload::initWithRequest):
- (WebDownload::initWithResumeData):
- (WebDownload::canResumeDownloadDecodedWithEncodingMIMEType):
- (WebDownload::cancel):
- (WebDownload::deletesFileUponFailure):
- (WebDownload::request):
- (WebDownload::resumeData):
- (WebDownload::setDeletesFileUponFailure):
- (WebDownload::setDestination):
-
- - WebDownload acts as its own WebURLAuthenticationChallengeSender
- (WebDownload::cancelAuthenticationChallenge):
- (WebDownload::continueWithoutCredentialForAuthenticationChallenge):
- (WebDownload::useCredential):
-
- - CFURLDownload callbacks
- (WebDownload::didStart):
- (WebDownload::willSendRequest):
- (WebDownload::didReceiveAuthenticationChallenge):
- (WebDownload::didReceiveResponse):
- (WebDownload::willResumeWithResponse):
- (WebDownload::didReceiveData):
- (WebDownload::shouldDecodeDataOfMIMEType):
- (WebDownload::decideDestinationWithSuggestedObjectName):
- (WebDownload::didCreateDestination):
- (WebDownload::didFinish):
- (WebDownload::didFail):
-
- - The following are all the raw C-function callbacks for CFURLDownload
- (didStartCallback):
- (willSendRequestCallback):
- (didReceiveAuthenticationChallengeCallback):
- (didReceiveResponseCallback):
- (willResumeWithResponseCallback):
- (didReceiveDataCallback):
- (shouldDecodeDataOfMIMETypeCallback):
- (decideDestinationWithSuggestedObjectNameCallback):
- (didCreateDestinationCallback):
- (didFinishCallback):
- (didFailCallback):
- * WebDownload.h: Added.
-
- * WebFrame.cpp:
- (WebFrame::dispatchDecidePolicyForMIMEType): Temporary and minimal Policy decision that actually results in a download
- (WebFrame::download): Actually download... in theory. Blocked on CFNetwork for now
-
- - More CLSID voodoo
- * WebKit.vcproj/WebKit.vcproj:
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::CreateInstance):
- * WebKitDLL.cpp:
- (DllGetClassObject):
-
- * WebKitLogging.cpp: Added. I needed these for downloads, and just kept the default channels from WebKitMac
- (initializeLogChannel):
- (WebKitInitializeLoggingChannelsIfNecessary):
- * WebKitLogging.h: Added.
-
- * WebView.cpp:
- (WebView::downloadDelegate): Change ASSERT_NOT_REACHED() to LOG_NOIMPL() to not stop the app
-
-2007-01-23 Steve Falkenburg <sfalken@apple.com>
-
- Copy new CGPThreads DLL (build fix for new SDK).
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-01-23 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Brady.
-
- Fixed <rdar://4949278> cut/copy/paste not working in subframes
-
- * WebView.cpp:
- (WebView::cutEnabled):
- (WebView::copyEnabled):
- (WebView::pasteEnabled):
- (WebView::deleteEnabled):
- (WebView::editingEnabled):
- (WebView::deleteSelection):
- (WebView::copy):
- (WebView::cut):
- (WebView::paste):
- (WebView::copyURL):
- (WebView::delete_):
- get the focusedOrMainFrame() instead of mainFrame()
-
-2007-01-23 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin Adler.
-
- <rdar://problem/4919754>
- Boomer freezes after attempt to play video.
-
- * Interfaces/IWebError.idl:
- Add error code.
-
- * WebFrame.cpp:
- (WebFrame::redirectDataToPlugin):
- Cancel loading the main resource.
-
- (WebFrame::windowObjectCleared):
- Use toRef.
-
-2007-01-23 Alice Liu <alice.liu@apple.com>
-
- Reviewed Maciej.
-
- fixed <rdar://4923535> pressing shift-backspace inserts a bad character
- fixed <rdar://4923536> shift-pageup/shift-pagedown do nothing in textareas
-
- * WebView.cpp:
- added to keyEntries an entry for the commands accounting for modifiers
-
-2007-01-23 Adele Peterson <adele@apple.com>
-
- Reviewed by Darin Adler.
-
- Reorganized some event handling code for keyPress events to
- prepare for another fix.
-
- * WebEditorClient.cpp: (WebEditorClient::handleKeyPress): Added.
- * WebEditorClient.h: Removed unnecessary forward declarations.
-
-2007-01-23 Anders Carlsson <acarlsson@apple.com>
-
- Build fixes.
-
- * WebFrame.cpp:
- (WebFrame::createFrame):
- (WebFrame::createPlugin):
- (WebFrame::redirectDataToPlugin):
- (WebFrame::createJavaAppletWidget):
- (WebFrame::objectContentType):
- (WebFrame::overrideMediaType):
- (WebFrame::windowObjectCleared):
- * WebFrame.h:
- Move functions here from WebFrameLoaderWin in WebCore.
-
-2007-01-23 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Adam.
-
- Attaching the DragController logic to the WebView
-
- * Interfaces/IWebUIDelegate.idl:
- Fixed a couple of function definitions to use IDataObject instead of IDropSource
-
- * WebDragClient.cpp: Added.
- (WebDragClient::WebDragClient):
- (WebDragClient::actionMaskForDrag):
- (WebDragClient::willPerformDragDestinationAction):
- * WebDragClient.h: Added.
- DragClient implementation.
-
- * WebKit.vcproj/WebKit.vcproj:
- * WebView.cpp:
- (WebView::WebView):
- (WebView::initWithFrame):
- (dragOperationToDragCursor):
- (keyStateToDragOperation):
- (WebView::DragEnter):
- (WebView::DragOver):
- (WebView::DragLeave):
- (WebView::Drop):
- Set up and register WebView as an IDropTarget, and pass off
- drag events to the DragController
- * WebView.h:
- Ditto
-
-2007-01-22 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders, Brady, and Steve.
-
- WebKit part of <rdar://problem/4601321> HTTP Authentication Alerts
-
- Made WebURLCredential use a registered CLSID so the app can get instantiate it:
-
- * Interfaces/IWebURLAuthenticationChallenge.idl: Changed method name.
- * Interfaces/WebKit.idl: Added GUIDs for WebURLCredential.
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::CreateInstance): Added case for WebURLCredential.
- * WebKitDLL.cpp: Added WebURLCredential and WebError (it was omitted
- from r11821).
- (DllGetClassObject):
- * WebURLAuthenticationChallenge.cpp:
- (WebURLAuthenticationChallenge::initWithProtectionSpace): Changed to
- use CLSID, and return the failing HRESULT.
- (WebURLAuthenticationChallenge::initWithAuthenticationChallenge):
- Changed to return the failing HRESULT.
- * WebURLAuthenticationChallengeSender.cpp:
- (WebURLAuthenticationChallengeSender::useCredential): Ditto.
- * WebURLCredential.cpp: Removed IID definition.
- (WebURLCredential::QueryInterface): Switched to use CLSID.
- (WebURLCredential::initWithUser): Updated method name.
- * WebURLCredential.h: Ditto.
-
-2007-01-22 Steve Falkenburg <sfalken@apple.com>
-
- Updated strings not to be localized, added native line endings svn flag.
-
- * English.lproj/StringsNotToBeLocalized.txt:
-
-2007-01-22 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Brady.
-
- * Interfaces/IWebError.idl:
- Clean up the IWebError interface.
-
- * Interfaces/WebKit.idl:
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::CreateInstance):
- Make it possible for clients to create WebErrors.
-
- * WebError.cpp:
- (WebError::QueryInterface):
- (WebError::init):
- * WebError.h:
- * WebURLAuthenticationChallenge.cpp:
- (WebURLAuthenticationChallenge::initWithProtectionSpace):
- Get rid of IID_WebError and use CLSID_WebError instad.
-
- * WebView.cpp:
- (WebView::canHandleRequest):
- Return true for "about" URLs.
-
- (WebView::canHandleRequest):
- Add private COM method.
-
- (WebView::close):
- Reset the policy delegate.
-
-2007-01-19 Ada Chan <adachan@apple.com>
-
- Fixed build.
-
- Reviewed by Anders.
- Added IWebResourceLoadDelegatePrivate which has one method: didLoadResourceFromMemoryCache.
-
- * Interfaces/IWebResourceLoadDelegatePrivate.idl: Added.
- * WebFrame.cpp:
- (WebFrame::dispatchDidFinishDocumentLoad):
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
-
-2007-01-19 John Sullivan <sullivan@apple.com>
-
- Reviewed by Lou.
-
- Added mechanism for new callbacks, to try to avoid breaking the Windows build.
-
- * Interfaces/IWebFrameLoadDelegatePrivate.idl:
- * WebFrame.cpp:
- (WebFrame::dispatchDidFinishDocumentLoad):
- * WebFrame.h:
-
-2007-01-19 Brady Eidson <beidson@apple.com>
-
- Reviewed by Ada
-
- Much more realistic WebDownload interface that delegates will actually have to implement
-
- * Interfaces/IWebDownload.idl:
-
-2007-01-18 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- <rdar://4601522> Activity Window
- - Added some NSURL equivalent constants in IWebURLResponse.idl and IWebError.idl
- - Added IWebErrorPrivate.idl which contains some private error codes
- - Added IWebHTTPURLResponse interface which extends IWebURLResponse. It has the
- same API as NSHTTPURLResponse.
-
- * Interfaces/IWebError.idl:
- * Interfaces/IWebErrorPrivate.idl: Added.
- * Interfaces/IWebHTTPURLResponse.idl: Added.
- * Interfaces/IWebResourceLoadDelegate.idl: fixed a typo in parameter name
- * Interfaces/IWebURLResponse.idl: added WebURLResponseUnknownLength
- * WebKit.vcproj/Interfaces.vcproj: for adding IWebErrorPrivate.idl and IWebHTTPURLResponse.idl
- * WebKit.vcproj/WebKitGUID.vcproj: for the new IID_IWebHTTPURLResponse
- * WebURLResponse.cpp:
- (WebURLResponse::QueryInterface): also returns the new IWebHTTPURLResponse interface
- (WebURLResponse::allHeaderFields): Added stub for IWebHTTPURLResponse::allHeaderFields.
- (WebURLResponse::localizedStringForStatusCode): Added stub for IWebHTTPURLResponse::localizedStringforStatusCode
- (WebURLResponse::statusCode): Implemented IWebHTTPURLResponse::statusCode.
- * WebURLResponse.h:
-
-2007-01-19 Anders Carlsson <acarlsson@apple.com>
-
- The obligatory build fix.
-
- * WebChromeClient.cpp:
- (WebChromeClient::runJavaScriptPrompt):
-
-2007-01-18 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- * WebChromeClient.cpp:
- (WebChromeClient::runJavaScriptAlert):
- (WebChromeClient::runJavaScriptConfirm):
- (WebChromeClient::runJavaScriptPrompt):
- (WebChromeClient::setStatusbarText):
- * WebChromeClient.h:
- Add new ChromeClient methods.
-
- * WebFrame.cpp:
- (WebFrame::userAgent):
- (WebFrame::updateGlobalHistoryForReload):
- * WebFrame.h:
- Remove unused FrameWinClient functions.
-
-2007-01-18 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- * WebView.cpp:
- (WebView::scrollBackingStore):
- Only try to scroll the backing store if it actually exists.
-
-2007-01-18 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Lou and Adam.
-
- Call all policy, frame load and resource load delegate methods.
-
- * Interfaces/IWebPolicyDelegate.idl:
- Add some definitions needed.
-
- * WebActionPropertyBag.cpp: Added.
- (WebActionPropertyBag::WebActionPropertyBag):
- (WebActionPropertyBag::~WebActionPropertyBag):
- (WebActionPropertyBag::createInstance):
- (WebActionPropertyBag::QueryInterface):
- (WebActionPropertyBag::AddRef):
- (WebActionPropertyBag::Release):
- (isEqual):
- (findMouseEvent):
- (WebActionPropertyBag::Read):
- (WebActionPropertyBag::Write):
- * WebActionPropertyBag.h: Added.
- New class which wraps a NavigationAction in a property bag.
-
- * WebFrame.cpp:
- (WebFrame::dispatchWillSubmitForm):
- (WebFrame::clearUnarchivingState):
- (WebFrame::dispatchDecidePolicyForMIMEType):
- (WebFrame::dispatchDecidePolicyForNewWindowAction):
- (WebFrame::dispatchDecidePolicyForNavigationAction):
- (WebFrame::dispatchWillSendRequest):
- (WebFrame::dispatchDidFailLoading):
- * WebFrame.h:
- Dispatch correct delegate methods.
-
- * WebKit.vcproj/WebKit.vcproj:
- Add WebActionPropertyBag files.
-
- * WebURLResponse.cpp:
- (WebURLResponse::createInstance):
- Return 0 for null responses.
-
-2007-01-18 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by John Sullivan
-
- * WebView.cpp:
- (WebView::searchFor):
- Build fix.
-
-2007-01-17 Alice Liu <alice.liu@apple.com>
-
- Added stubs to keep the boomer build from failing.
-
- * WebEditorClient.cpp:
- (WebEditorClient::didSetSelectionTypesForPasteboard):
- * WebEditorClient.h:
-
-2007-01-17 Brady Eidson <beidson@apple.com>
-
- Reviewed by Maciej
-
- Final hookup of HTTP Auth plumbing
-
- * WebFrame.cpp:
- (WebFrame::dispatchDidReceiveAuthenticationChallenge): Call to the ResourceLoadDelegate so the app
- can handle the Auth request. Fail gracefully if the delegate doesn't exist or fails
- (WebFrame::dispatchDidCancelAuthenticationChallenge): Call to the Delegate so the app can cancel
- an in-progress challenge
- * WebURLAuthenticationChallenge.h:
-
-2007-01-17 Brady Eidson <beidson@apple.com>
-
- Reviewed by Steve Falkenburg
-
- Next round of plumbing for HTTP Auth, or as I like to call it:
- "Implementing platform dependent wrappers for my platform independent
- wrappers which wrap platform dependent objects"
-
- *sigh*
-
- Also, not included in this ChangeLog, I changed the eol property to
- native on a handful of WebKitWin files who didn't have it set yet
-
- * Interfaces/IWebURLAuthenticationChallenge.idl: Added some string constants, nuked an unneeded
- initializer from IWebCredential
-
- * WebError.cpp: Added QueryInterface for new GUID
- (WebError::resourceError): Added accessor to WebCore backer
- * WebError.h: Added GUID
-
- * WebKit.vcproj/WebKit.vcproj:
-
- * WebURLAuthenticationChallenge.cpp: Added.
- (WebURLAuthenticationChallenge::WebURLAuthenticationChallenge):
- (WebURLAuthenticationChallenge::~WebURLAuthenticationChallenge):
- (WebURLAuthenticationChallenge::createInstance):
- (WebURLAuthenticationChallenge::QueryInterface):
- (WebURLAuthenticationChallenge::AddRef):
- (WebURLAuthenticationChallenge::Release):
- (WebURLAuthenticationChallenge::initWithProtectionSpace):
- (WebURLAuthenticationChallenge::initWithAuthenticationChallenge):
- (WebURLAuthenticationChallenge::error):
- (WebURLAuthenticationChallenge::failureResponse):
- (WebURLAuthenticationChallenge::previousFailureCount):
- (WebURLAuthenticationChallenge::proposedCredential):
- (WebURLAuthenticationChallenge::protectionSpace):
- (WebURLAuthenticationChallenge::sender):
- (WebURLAuthenticationChallenge::authenticationChallenge):
- * WebURLAuthenticationChallenge.h: Added.
-
- * WebURLAuthenticationChallengeSender.cpp: Added.
- (WebURLAuthenticationChallengeSender::WebURLAuthenticationChallengeSender):
- (WebURLAuthenticationChallengeSender::~WebURLAuthenticationChallengeSender):
- (WebURLAuthenticationChallengeSender::createInstance):
- (WebURLAuthenticationChallengeSender::QueryInterface):
- (WebURLAuthenticationChallengeSender::AddRef):
- (WebURLAuthenticationChallengeSender::Release):
- (WebURLAuthenticationChallengeSender::cancelAuthenticationChallenge):
- (WebURLAuthenticationChallengeSender::continueWithoutCredentialForAuthenticationChallenge):
- (WebURLAuthenticationChallengeSender::useCredential):
- (WebURLAuthenticationChallengeSender::resourceHandle):
- * WebURLAuthenticationChallengeSender.h: Added.
-
- * WebURLCredential.cpp: Added.
- (WebURLCredential::WebURLCredential):
- (WebURLCredential::~WebURLCredential):
- (WebURLCredential::createInstance):
- (WebURLCredential::QueryInterface):
- (WebURLCredential::AddRef):
- (WebURLCredential::Release):
- (WebURLCredential::hasPassword):
- (WebURLCredential::initWithuser):
- (WebURLCredential::password):
- (WebURLCredential::persistence):
- (WebURLCredential::user):
- (WebURLCredential::credential):
- * WebURLCredential.h: Added.
-
- * WebURLProtectionSpace.cpp: Added.
- (WebURLProtectionSpace::WebURLProtectionSpace):
- (WebURLProtectionSpace::~WebURLProtectionSpace):
- (WebURLProtectionSpace::createInstance):
- (WebURLProtectionSpace::QueryInterface):
- (WebURLProtectionSpace::AddRef):
- (WebURLProtectionSpace::Release):
- (WebURLProtectionSpace::authenticationMethod):
- (WebURLProtectionSpace::host):
- (coreScheme): Helper for the init methods
- (WebURLProtectionSpace::initWithHost):
- (WebURLProtectionSpace::initWithProxyHost):
- (WebURLProtectionSpace::isProxy):
- (WebURLProtectionSpace::port):
- (WebURLProtectionSpace::protocol):
- (WebURLProtectionSpace::proxyType):
- (WebURLProtectionSpace::realm):
- (WebURLProtectionSpace::receivesCredentialSecurely):
- (WebURLProtectionSpace::protectionSpace):
- * WebURLProtectionSpace.h: Added.
-
- * WebURLResponse.cpp: Added QueryInterface for new GUID
- (WebURLResponse::resourceResponse): Added accessor to WebCore backer
- * WebURLResponse.h: Added GUID
-
-2007-01-16 Alice Liu <alice.liu@apple.com>
-
- Added stubs to keep the boomer build from failing.
-
- * WebEditorClient.cpp:
- (WebEditorClient::didWriteSelectionToPasteboard):
- * WebEditorClient.h:
-
-2007-01-16 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- Fix for <rdar://problem/4874565> Draw context menus using CG
-
- Added new delegate calls to the UIDelegate to draw context menus
- that match the context menus in the app.
-
- * Interfaces/IWebUIDelegate.idl: Added five new delegate calls.
- They take care of asking if there is a custom menu implementation,
- adding custom drawing data to the menu items and tracking the popup
- in a custom way, measuring the items when it comes time to draw the
- menus, actually drawing the items, and properly destroying the
- custom data when the menu is destroyed.
- * WebView.cpp:
- (WebView::handleContextMenuEvent): This function now takes care of
- popping up the menu after the event is dispatched through WebCore.
- WebCore used to pop up the menu itself, but having WebKit pop up
- the menu matches the Mac and allows up to get rid of two functions
- on ContextMenu that are empty on the Mac. It also makes more sense
- to have this code reside in WebKit now that there are calls over
- the UIDelegate to draw the menus.
- (WebView::onMeasureItem): Helper function to call over the
- UIDelegate.
- (WebView::onDrawItem): Same.
- (WebView::onUninitMenuPopup): Same.
- (WebViewWndProc): Now that we are drawing the menus ourselves, we
- need to handle WM_MEASUREITEM, WM_DRAWITEM, and WM_UNINITMENUPOPUP.
- * WebView.h:
-
-2007-01-16 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou.
-
- Change version numbering scheme for files from the form 3.0.521.32
- to the form 3.521.32.11.
-
- This will fix our upgrade installer logic.
-
- * WebKit.vcproj/WebKit.rc:
-
-2007-01-15 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Fix: <rdar://problem/4925504> ASSERT when finished running iBench HTML Load Speed
-
- * WebFrame.cpp:
- (WebFrame::cancelledError): Return a pseudo-CFNet cancelled error instead of a null ResourceError.
-
-2007-01-15 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4889203>
- Implement WebFrame::canHandleRequest.
-
- * WebDataSource.cpp:
- (WebDataSource::webFrame):
- Implement webFrame accessor.
-
- * WebFrame.cpp:
- (WebFrame::canHandleRequest):
- * WebView.cpp:
- (WebView::canHandleRequest):
- * WebView.h:
- Implement canHandleRequest.
-
-2007-01-15 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Loader related improvements.
-
- * Interfaces/IWebFrameLoadDelegate.idl:
- Change method signature to match what we have on Mac more closely.
-
- * WebDataSource.cpp:
- (WebDataSource::pageTitle):
- Implement.
-
- * WebError.cpp: Added.
- * WebError.h: Added.
- Add (currently stubbed out) IWebError implementation.
-
- * WebFrame.cpp:
- (WebFrame::dispatchDidCancelClientRedirect):
- (WebFrame::dispatchWillPerformClientRedirect):
- (WebFrame::dispatchDidReceiveIcon):
- (WebFrame::dispatchUnableToImplementPolicy):
- (WebFrame::dispatchDidFailProvisionalLoad):
- (WebFrame::dispatchDidFailLoad):
- Implement these.
-
- * WebKit.vcproj/WebKit.vcproj:
- Add WebError.h and WebError.cpp
-
-2007-01-15 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- * WebFrame.cpp:
- (WebFrame::postProgressStartedNotification):
- (WebFrame::postProgressEstimateChangedNotification):
- (WebFrame::postProgressFinishedNotification):
- * WebFrame.h:
- Post the correct notifications.
-
- * WebView.cpp:
- (WebView::estimatedProgress):
- Ask the progress tracker for the estimated progress.
-
-2007-01-15 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- * Interfaces/IWebView.idl:
- Add progress notifications.
-
-2007-01-15 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Call resource load delegate methods.
-
- * Interfaces/IWebResourceLoadDelegate.idl:
- Use unsigned long instead of UINT.
-
- * WebBackForwardList.cpp:
- * WebBackForwardList.h:
- Get rid of the createInstance method that takes no arguments.
-
- * WebFrame.cpp:
- (WebFrame::assignIdentifierToInitialRequest):
- (WebFrame::dispatchDidReceiveResponse):
- (WebFrame::dispatchDidReceiveContentLength):
- (WebFrame::dispatchDidFinishLoading):
- (WebFrame::dispatchDidFailLoading):
- Call the right resource load delegate methods.
-
- * WebView.cpp:
- (WebView::setResourceLoadDelegate):
- (WebView::resourceLoadDelegate):
- (WebView::setPolicyDelegate):
- (WebView::policyDelegate):
- * WebView.h:
- Add getters and setters for the resource load delegate and the policy delegate.
-
-2007-01-14 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Lou.
-
- Fixed: <rdar://problem/4888908> Find: "Use selection to find" and "Jump to selection" are not implemented
-
- * Interfaces/IWebView.idl:
- * WebView.cpp:
- (WebView::selectedText):
- (WebView::centerSelectionInVisibleArea):
- * WebView.h:
-
-2007-01-14 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- Fix: <rdar://4831292> Implement WebKitStatistics
-
- * Interfaces/IWebKitStatistics.idl: Added.
- * Interfaces/WebKit.idl: Added WebKitStatistics declaration.
- * WebKit.vcproj/Interfaces.vcproj: Added new files.
- * WebKit.vcproj/WebKit.vcproj: Ditto.
- * WebKit.vcproj/WebKitGUID.vcproj: Ditto.
- * WebKitClassFactory.cpp: Updated to include WebKitStatistics.
- (WebKitClassFactory::CreateInstance):
- * WebKitDLL.cpp: Ditto.
- (DllGetClassObject):
- * WebKitStatistics.cpp: Added.
- (WebKitStatistics::WebKitStatistics):
- (WebKitStatistics::~WebKitStatistics):
- (WebKitStatistics::createInstance):
- (WebKitStatistics::QueryInterface):
- (WebKitStatistics::AddRef):
- (WebKitStatistics::Release):
- (WebKitStatistics::webViewCount):
- (WebKitStatistics::frameCount):
- (WebKitStatistics::dataSourceCount):
- (WebKitStatistics::viewCount):
- (WebKitStatistics::HTMLRepresentationCount):
- * WebKitStatistics.h: Added.
- * WebKitStatisticsPrivate.h: Added.
-
- Added object counting:
-
- * WebDataSource.cpp:
- (WebDataSource::WebDataSource):
- (WebDataSource::~WebDataSource):
- * WebFrame.cpp:
- (WebFrame::WebFrame):
- (WebFrame::~WebFrame):
- * WebHTMLRepresentation.cpp:
- (WebHTMLRepresentation::WebHTMLRepresentation):
- (WebHTMLRepresentation::~WebHTMLRepresentation):
- * WebView.cpp:
- (WebView::WebView): Initialize m_page member.
- (WebView::~WebView):
-
-2007-01-12 Anders Carlsson <acarlsson@apple.com>
-
- Build fixes.
-
- * WebFrame.cpp:
- (WebFrame::assignIdentifierToInitialRequest):
- (WebFrame::dispatchWillSendRequest):
- (WebFrame::dispatchDidReceiveResponse):
- (WebFrame::dispatchDidReceiveContentLength):
- (WebFrame::dispatchDidFinishLoading):
- (WebFrame::dispatchDidFailLoading):
- (WebFrame::incrementProgress):
- (WebFrame::completeProgress):
- (WebFrame::dispatchDidReceiveAuthenticationChallenge):
- (WebFrame::dispatchDidCancelAuthenticationChallenge):
- * WebFrame.h:
-
-2007-01-12 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- <rdar://4602355> More Undo/Redo
- - Added IWebBackForwardListPrivate which contains the removeItem method, used in undo/redo of closing tabs.
- - Fixed a null dereference I ran into in WebFrame::dispatchDidFirstLayout.
-
- * Interfaces/IWebBackForwardListPrivate.idl: Added.
- * WebBackForwardList.cpp:
- (WebBackForwardList::QueryInterface):
- (WebBackForwardList::removeItem):
- * WebBackForwardList.h:
- * WebFrame.cpp:
- (WebFrame::dispatchDidFirstLayout):
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
-
-2007-01-12 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin Adler.
-
- Move WebKitWin over to the new WebCore loader. There are still some leftover functions
- from FrameWinClient that aren't used and should be removed.
-
- * WebDataSource.cpp:
- (WebDataSource::WebDataSource):
- (WebDataSource::~WebDataSource):
- (WebDataSource::createInstance):
- (WebDataSource::documentLoader):
- (WebDataSource::overrideEncoding):
- (WebDataSource::setOverrideEncoding):
- (WebDataSource::QueryInterface):
- (WebDataSource::initWithRequest):
- (WebDataSource::data):
- (WebDataSource::representation):
- (WebDataSource::webFrame):
- (WebDataSource::initialRequest):
- (WebDataSource::request):
- (WebDataSource::response):
- (WebDataSource::textEncodingName):
- (WebDataSource::isLoading):
- (WebDataSource::unreachableURL):
- * WebDataSource.h:
- * WebFrame.cpp:
- (WebFrame::WebFramePrivate::m_policyFunction):
- (WebFrame::WebFrame):
- (WebFrame::~WebFrame):
- (WebFrame::QueryInterface):
- (WebFrame::loadRequest):
- (WebFrame::loadData):
- (getWebDataSource):
- (WebFrame::dataSource):
- (WebFrame::provisionalDataSource):
- (WebFrame::stopLoading):
- (WebFrame::reload):
- (WebFrame::firstLayoutDone):
- (WebFrame::loadType):
- (WebFrame::stopMainResourceLoad):
- (WebFrame::canProvideDocumentSource):
- (WebFrame::createFrame):
- (WebFrame::submitForm):
- (WebFrame::setTitle):
- (WebFrame::originalRequestURL):
- (WebFrame::hasWebView):
- (WebFrame::hasFrameView):
- (WebFrame::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebFrame::dispatchDidReceiveTitle):
- (WebFrame::dispatchDidFirstLayout):
- (WebFrame::dispatchShow):
- (WebFrame::cancelPolicyCheck):
- (WebFrame::dispatchWillSubmitForm):
- (WebFrame::finishedLoading):
- (WebFrame::canHandleRequest):
- (WebFrame::canShowMIMEType):
- (WebFrame::representationExistsForURLScheme):
- (WebFrame::updateGlobalHistoryForStandardLoad):
- (WebFrame::shouldGoToHistoryItem):
- (WebFrame::createDocumentLoader):
- (WebFrame::receivedData):
- (WebFrame::setUpPolicyListener):
- (WebFrame::receivedPolicyDecision):
- (WebFrame::committedLoad):
- (WebFrame::dispatchDecidePolicyForMIMEType):
- (WebFrame::dispatchCreatePage):
- (WebFrame::dispatchDidCancelAuthenticationChallenge):
- * WebFrame.h:
- * WebView.cpp:
- (WebView::WebView):
- (WebView::~WebView):
- (WebViewWndProc):
- (WebView::close):
- (WebView::frameLoadDelegate):
- (WebView::backForwardList):
- (WebView::setMaintainsBackForwardList):
- (WebView::goBack):
- (WebView::goForward):
- (WebView::goToBackForwardItem):
- (WebView::setCustomTextEncodingName):
- (WebView::customTextEncodingName):
- (WebView::canGoBack):
- (WebView::canGoForward):
- (WebView::frameLoadDelegatePrivate):
- * WebView.h:
-
-2007-01-12 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Geoff.
-
- More loader preparations.
-
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::getCustomMenuFromDefaultItems):
- (WebContextMenuClient::contextMenuItemSelected):
- Use ::createInstance to create the element property bags.
-
- * WebElementPropertyBag.cpp:
- (WebElementPropertyBag::WebElementPropertyBag):
- (WebElementPropertyBag::~WebElementPropertyBag):
- (WebElementPropertyBag::createInstance):
- (convertStringToVariant):
- * WebElementPropertyBag.h:
- Fix ownership issues so WebElementPropertyBag can one day be a value in another property bag.
-
- * WebFramePolicyListener.cpp: Added.
- (WebFramePolicyListener::WebFramePolicyListener):
- (WebFramePolicyListener::~WebFramePolicyListener):
- (WebFramePolicyListener::createInstance):
- (WebFramePolicyListener::QueryInterface):
- (WebFramePolicyListener::AddRef):
- (WebFramePolicyListener::Release):
- (WebFramePolicyListener::use):
- (WebFramePolicyListener::download):
- (WebFramePolicyListener::ignore):
- (WebFramePolicyListener::continueSubmit):
- (WebFramePolicyListener::receivedPolicyDecision):
- (WebFramePolicyListener::invalidate):
- * WebFramePolicyListener.h: Added.
- Add policy listener implementation.
-
- * WebFrame.cpp:
- (WebFrame::receivedPolicyDecision):
- * WebFrame.h:
- Add stub to be used by the policy listener.
-
- * WebView.cpp:
- (WebView::WebView):
- (WebView::~WebView):
- (WebView::paint):
- (WebView::closeWindow):
- (WebView::handleMouseEvent):
- (WebViewWndProc):
- (WebView::initWithFrame):
- (WebView::setUIDelegate):
- (WebView::uiDelegate):
- (WebView::setFrameLoadDelegate):
- (WebView::frameLoadDelegate):
- (WebView::preferences):
- (WebView::elementAtPoint):
- (WebView::setFormDelegate):
- (WebView::formDelegate):
- (WebView::setFrameLoadDelegatePrivate):
- (WebView::frameLoadDelegatePrivate):
- * WebView.h:
- Cleanup, use COMPtr in a couple of places.
-
-2007-01-11 Steve Falkenburg <sfalken@apple.com>
-
- B&I build change - copy WebKit.resources to dstroot for installer
-
- * WebKit.vcproj/WebKit.make:
-
-2007-01-11 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou.
-
- Implement "Make Text Normal Size".
-
- * WebView.cpp:
- (WebView::canMakeTextStandardSize): Added
- (WebView::makeTextStandardSize): Added
- (WebView::toggleContinuousSpellChecking): Added
- (WebView::toggleSmartInsertDelete): Added
-
-2007-01-11 Brady Eidson <beidson@apple.com>
-
- Make it build again after my OpenSource http auth checkin
-
- * WebFrame.cpp:
- (WebFrame::dispatchDidReceiveAuthenticationChallenge):
- (WebFrame::dispatchDidCancelAuthenticationChallenge):
- * WebFrame.h:
-
-2007-01-10 Anders Carlsson <acarlsson@apple.com>
-
- Another build fix.
-
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::lookUpInDictionary):
- * WebContextMenuClient.h:
-
-2007-01-10 Beth Dakin <bdakin@apple.com>
-
- Reviewed by John.
-
- Fix for <rdar://problem/4914258> REGRESSION: Search in Google now
- operates on the current WebView instead of invoking Safari's
- service
-
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::searchWithGoogle): Do all of the work we
- used to do in WebCore over here in WebKit.
- * WebContextMenuClient.h:
-
-2007-01-10 Anders Carlsson <acarlsson@apple.com>
-
- Build fix.
-
- * WebFrame.cpp:
- (WebFrame::dispatchDidFirstLayout):
- * WebFrame.h:
-
-2007-01-10 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin Adler.
-
- Add WebDocumentLoader. Implement some of the FrameLoaderClient methods.
- Add a resourceRequest() getter to WebMutableURLRequest.
-
- * WebDocumentLoader.cpp: Added.
- (WebDocumentLoader::WebDocumentLoader):
- (WebDocumentLoader::setDataSource):
- (WebDocumentLoader::dataSource):
- (WebDocumentLoader::attachToFrame):
- (WebDocumentLoader::detachFromFrame):
- * WebDocumentLoader.h: Added.
- * WebFrame.cpp:
- (WebFrame::dispatchWillPerformClientRedirect):
- (WebFrame::dispatchDidChangeLocationWithinPage):
- (WebFrame::dispatchWillClose):
- (WebFrame::dispatchDidStartProvisionalLoad):
- (WebFrame::dispatchDidReceiveTitle):
- (WebFrame::dispatchDidCommitLoad):
- (WebFrame::dispatchDidFinishLoad):
- (WebFrame::updateGlobalHistoryForStandardLoad):
- (WebFrame::updateGlobalHistoryForReload):
- (WebFrame::dispatchDecidePolicyForMIMEType):
- (WebFrame::dispatchDecidePolicyForNewWindowAction):
- (WebFrame::dispatchDecidePolicyForNavigationAction):
- (WebFrame::dispatchDidFailProvisionalLoad):
- (WebFrame::dispatchDidFailLoad):
- * WebKit.vcproj/WebKit.vcproj:
- * WebMutableURLRequest.cpp:
- (WebMutableURLRequest::resourceRequest):
- * WebMutableURLRequest.h:
-
-2007-01-10 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Brady.
-
- Make WebBackForwardList wrap a WebCore::BackForwardList. Add wrapper map to WebHistoryItem.
-
- * WebBackForwardList.cpp:
- (backForwardListWrappers):
- (WebBackForwardList::WebBackForwardList):
- (WebBackForwardList::~WebBackForwardList):
- (WebBackForwardList::createInstance):
- (WebBackForwardList::addItem):
- (WebBackForwardList::goBack):
- (WebBackForwardList::goForward):
- (WebBackForwardList::goToItem):
- (WebBackForwardList::backItem):
- (WebBackForwardList::currentItem):
- (WebBackForwardList::forwardItem):
- (WebBackForwardList::backListWithLimit):
- (WebBackForwardList::forwardListWithLimit):
- (WebBackForwardList::capacity):
- (WebBackForwardList::setCapacity):
- (WebBackForwardList::backListCount):
- (WebBackForwardList::forwardListCount):
- (WebBackForwardList::containsItem):
- (WebBackForwardList::itemAtIndex):
- (WebBackForwardList::setPageCacheSize):
- (WebBackForwardList::pageCacheSize):
- (WebBackForwardList::setDefaultPageCacheSizeIfNecessary):
- * WebBackForwardList.h:
- * WebHistoryItem.cpp:
- (historyItemWrappers):
- (WebHistoryItem::WebHistoryItem):
- (WebHistoryItem::~WebHistoryItem):
- (WebHistoryItem::createInstance):
- (WebHistoryItem::initFromDictionaryRepresentation):
- (WebHistoryItem::QueryInterface):
- (WebHistoryItem::initWithURLString):
- (WebHistoryItem::historyItem):
- * WebHistoryItem.h:
-
-2007-01-09 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- <rdar://4602355> Undo/Redo
- - Added new undo methods in the IWebUIDelegate.
- - Removed the internal WebUndoManager in WebEditorClient.
- Instead, we'll call methods on the ui delegate to register
- undo operations, execute undo/redo, etc.
-
- * English.lproj/Localizable.strings:
- Added localized strings for all the edit command actions.
- * Interfaces/IWebUIDelegate.idl:
- Added undo delegate callbacks.
- * Interfaces/IWebUndoTarget.idl: Added.
- Added a IWebUndoTarget interface that targets of undo
- operations need to implement.
- * WebEditorClient.cpp:
- Added WebEditorUndoTarget class that implements IWebUndoTarget.
- (WebEditorUndoTarget::WebEditorUndoTarget):
- (WebEditorUndoTarget::QueryInterface):
- (WebEditorUndoTarget::AddRef):
- (WebEditorUndoTarget::Release):
- (WebEditorUndoTarget::invoke):
- (WebEditorClient::WebEditorClient):
- (WebEditorClient::~WebEditorClient):
- WebEditorUndoCommand implements IWebUndoCommand and wraps an
- EditCommand in it.
- (WebEditorUndoCommand::WebEditorUndoCommand):
- (WebEditorUndoCommand::execute):
- (WebEditorUndoCommand::QueryInterface):
- (WebEditorUndoCommand::AddRef):
- (WebEditorUndoCommand::Release):
- (undoNameForEditAction):
- The undo operations in WebEditorClient now calls through to the
- undo methods in IWebUIDelegate rather than keeping an internal
- undo/redo stack.
- (WebEditorClient::registerCommandForUndo):
- (WebEditorClient::registerCommandForRedo):
- (WebEditorClient::clearUndoRedoOperations):
- (WebEditorClient::canUndo):
- (WebEditorClient::canRedo):
- (WebEditorClient::undo):
- (WebEditorClient::redo):
- * WebEditorClient.h:
- * WebKit.vcproj/Interfaces.vcproj: added IWebUndoTarget.idl
- * WebKit.vcproj/WebKitGUID.vcproj: added IWebUndoTarget_i.c
- * WebLocalizableStrings.h:
-
-2007-01-09 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin Adler.
-
- Add COMPtr. Make MemoryStream backed by a SharedBuffer. Use SharedBuffer in
- WebFrame.
-
- * COMPtr.h: Added.
- (COMPtr::COMPtr):
- (COMPtr::~COMPtr):
- (COMPtr::get):
- (COMPtr::operator*):
- (COMPtr::operator->):
- (COMPtr::operator&):
- (COMPtr::operator!):
- (COMPtr::operator UnspecifiedBoolType):
- (::copyTo):
- (::adopt):
- (::operator):
- * MemoryStream.cpp:
- (MemoryStream::MemoryStream):
- (MemoryStream::~MemoryStream):
- (MemoryStream::createInstance):
- (MemoryStream::Clone):
- * MemoryStream.h:
- * WebFrame.cpp:
- (WebFrame::WebFrame):
- (WebFrame::didReceiveResponse):
- (WebFrame::didReceiveData):
- * WebFrame.h:
- (WebFrame::data):
- * WebKit.vcproj/WebKit.vcproj:
-
-2007-01-09 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou.
-
- <rdar://4906546> Win2K: crash when entering new URL in address field
-
- Win2K compatibility fix. SafeArrayCreateVector doesn't work correctly on older systems (Win2K, etc.)
-
- Some references to people stumbling across this bug (apologies for not being able to find a Microsoft support article):
- http://discuss.develop.com/archives/wa.exe?A2=ind0104a&L=dotnet&D=0&T=0&P=69575
- http://www.eggheadcafe.com/ng/microsoft.public.platformsdk.com_ole/Jul2005/post22989606.asp
- http://www.pcreview.co.uk/forums/thread-1470025.php
-
- * MarshallingHelpers.cpp:
- (MarshallingHelpers::stringArrayToSafeArray):
- (MarshallingHelpers::intArrayToSafeArray):
- (MarshallingHelpers::intRectToSafeArray):
- (MarshallingHelpers::iunknownArrayToSafeArray):
-
-2007-01-08 Lou Amadio <lamadio@apple.com>
-
- Reviewed by ggaren
-
- * DOMCoreClasses.cpp:
- (DOMNode::createInstance):
- Build break
- * WebView.cpp:
- (WebView::handleMouseEvent):
- passing incorrect flag
-
-2007-01-08 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Brady.
-
- Use a WebCore HistoryItem object to back WebHistoryItem.
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::WebHistoryItem):
- (WebHistoryItem::~WebHistoryItem):
- (WebHistoryItem::createInstance):
- (WebHistoryItem::initFromDictionaryRepresentation):
- (WebHistoryItem::dictionaryRepresentation):
- (WebHistoryItem::hasURLString):
- (WebHistoryItem::visitCount):
- (WebHistoryItem::setVisitCount):
- (WebHistoryItem::mergeAutoCompleteHints):
- (WebHistoryItem::setLastVisitedTimeInterval):
- (WebHistoryItem::setTitle):
- (WebHistoryItem::RSSFeedReferrer):
- (WebHistoryItem::setRSSFeedReferrer):
- (WebHistoryItem::initWithURLString):
- (WebHistoryItem::URLString):
- (WebHistoryItem::title):
- (WebHistoryItem::lastVisitedTimeInterval):
- * WebHistoryItem.h:
-
-2007-01-05 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Add stubs for FrameLoaderClient methods.
-
- * WebFrame.cpp:
- (WebFrame::setMainDocumentError):
- (WebFrame::cancelledError):
- (WebFrame::cannotShowURLError):
- (WebFrame::interruptForPolicyChangeError):
- (WebFrame::cannotShowMIMETypeError):
- (WebFrame::fileDoesNotExistError):
- (WebFrame::committedLoad):
- (WebFrame::dispatchDecidePolicyForMIMEType):
- (WebFrame::dispatchDecidePolicyForNewWindowAction):
- (WebFrame::dispatchDecidePolicyForNavigationAction):
- (WebFrame::dispatchUnableToImplementPolicy):
- (WebFrame::download):
- (WebFrame::willUseArchive):
- (WebFrame::dispatchWillSendRequest):
- (WebFrame::dispatchDidReceiveResponse):
- (WebFrame::dispatchDidReceiveContentLength):
- (WebFrame::dispatchDidFinishLoading):
- (WebFrame::dispatchDidFailLoading):
- (WebFrame::dispatchDidLoadResourceFromMemoryCache):
- (WebFrame::dispatchDidFailProvisionalLoad):
- (WebFrame::dispatchDidFailLoad):
- (WebFrame::dispatchCreatePage):
- (WebFrame::incrementProgress):
- (WebFrame::completeProgress):
- (WebFrame::startDownload):
-
-2007-01-05 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Lou.
-
- Fixed <rdar://problem/4853400> disable commands in the Edit menu when they're not applicable
- and <rdar://problem/4769487> Some editing operations should be disabled in View Source window
-
- * Interfaces/IWebView.idl:
- * WebView.cpp:
- (WebView::hasSelectedRange):
- (WebView::cutEnabled):
- (WebView::copyEnabled):
- (WebView::pasteEnabled):
- (WebView::deleteEnabled):
- (WebView::editingEnabled):
- * WebView.h:
-
-2007-01-05 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Add stubs for new FrameLoaderClient methods.
-
- * WebFrame.cpp:
- (WebFrame::createDocumentLoader):
- (WebFrame::setMainDocumentError):
- (WebFrame::cancelledError):
- (WebFrame::cannotShowURLError):
- (WebFrame::interruptForPolicyChangeError):
- (WebFrame::cannotShowMIMETypeError):
- (WebFrame::fileDoesNotExistError):
- (WebFrame::shouldFallBack):
- (WebFrame::committedLoad):
- * WebFrame.h:
-
-2007-01-04 Adam Roben <aroben@apple.com>
-
- Reviewed by Geoff.
-
- Fix: <rdar://4763580> Support tabbing between subframes
- Fix: <rdar://4763595> Support tabbing out of the document back into the
- Safari UI
-
- * Interfaces/IWebUIDelegate.idl: Added declarations of new methods.
- * WebBackForwardList.cpp:
- (WebBackForwardList::backItem): Changed to return E_FAIL if returning a
- null pointer.
- (WebBackForwardList::currentItem): Ditto.
- (WebBackForwardList::forwardItem): Ditto.
- * WebChromeClient.cpp:
- (WebChromeClient::canTakeFocus): Added new click method.
- (WebChromeClient::takeFocus): Ditto.
- (WebChromeClient::focus): Removed unnecessary null check.
- (WebChromeClient::unfocus): Ditto.
- (WebChromeClient::createWindow): Ditto.
- (WebChromeClient::createModalDialog): Ditto.
- (WebChromeClient::show): Ditto.
- (WebChromeClient::canRunModal): Ditto.
- (WebChromeClient::runModal): Ditto.
- (WebChromeClient::setToolbarsVisible): Ditto.
- (WebChromeClient::toolbarsVisible): Ditto.
- (WebChromeClient::setStatusbarVisible): Ditto.
- (WebChromeClient::statusbarVisible): Ditto.
- (WebChromeClient::setMenubarVisible): Ditto.
- (WebChromeClient::menubarVisible): Ditto.
- (WebChromeClient::setResizable): Ditto.
- (WebChromeClient::addMessageToConsole): Ditto.
- * WebChromeClient.h: Added declarations.
-
-2007-01-04 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- A few changes needed to turn on WebCore context menus on the Mac.
-
- * WebContextMenuClient.cpp: Name change and have the
- former getCustomMenuFromDefaultItems function return the
- PlatformMenuDescription since it feels funny to have the client set
- the new platform description.
- (WebContextMenuClient::getCustomMenuFromDefaultItems): Same.
- * WebContextMenuClient.h: Same.
-
-2007-01-02 Brady Eidson <beidson@apple.com>
-
- Reviewed by Lou
-
- Temporary Link Stub fix for Back/Forward cache landing in OpenSource
-
- * WebFrame.cpp:
- (WebFrame::setDocumentViewFromPageCache):
- (WebFrame::updateGlobalHistoryForStandardLoad):
- (WebFrame::updateGlobalHistoryForReload):
- (WebFrame::shouldGoToHistoryItem):
- (WebFrame::saveScrollPositionAndViewStateToItem):
- (WebFrame::saveDocumentViewToPageCache):
- (WebFrame::canCachePage):
- * WebFrame.h:
-
-2006-12-26 Geoffrey Garen <ggaren@apple.com>
-
- Build fix.
-
- * WebFrame.cpp: Removed willCloseDocument, which is now gone from
- WebCore::FrameLoaderClient.
- * WebFrame.h: ditto
-
-2006-12-25 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Oliver Hunt.
-
- Removed WebCoreSettings, cleaned up WebCore::Settings.
-
- * WebFrame.cpp:
- (WebFrame::initWithWebFrameView): Used core() here, now that WebView::settings()
- is gone.
-
- * WebView.cpp:
- (WebView::updateWebCoreSettingsFromPreferences): Simplified this code, now
- that WebCore handles most of it.
-
- * WebView.h: Removed settings() accessor. Settings belong to the WebCore
- page, not the WebView.
-
-2006-12-22 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Geoff.
-
- Fixed <rdar://4766681> and <rdar://4766685> concerning editable link behavior
-
- * Interfaces/IWebPreferences.idl:
- * WebHistoryItem.cpp:
- (WebHistoryItem::dictionaryRepresentation):
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::initialize):
- (WebPreferences::editableLinkBehavior):
- (WebPreferences::setEditableLinkBehavior):
- * WebPreferences.h:
- * WebView.cpp:
- (WebView::updateWebCoreSettingsFromPreferences):
-
-2006-12-20 Adam Roben <aroben@apple.com>
-
- Reviewed by Mark Rowe.
-
- Fix: <rdar://4895655> Status bar doesn't display correct text when
- WebView is scrolled.
-
- * WebView.cpp:
- (WebView::handleMouseEvent): Convert the event coordinates to document
- coordinates before calling elementAtPoint.
-
-2006-12-19 Alice Liu <alice.liu@apple.com>
-
- In r11349 I accidentally checked in my local change to the user agent.
- Here I am changing it back to what it used to be.
-
- * WebView.cpp:
- (WebView::userAgentForKURL):
-
-2006-12-19 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Brady.
-
- <rdar://problem/4796729> add "deleteButton" image resource
-
- * WebKit.vcproj/WebKit.rc:
- * WebKit.vcproj/deleteButton.png: Added.
- * WebKit.vcproj/deleteButtonPressed.png: Added.
-
-2006-12-19 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam, Darin.
-
- <rdar://problem/4769830>
- logging to JS console.
-
- Add isError argument to addMessageToConsole.
-
- * Interfaces/IWebUIDelegatePrivate.idl:
- * WebChromeClient.cpp:
- (WebChromeClient::addMessageToConsole):
-
-2006-12-19 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou, Adele.
-
- Added CLSID for WebPreferences
-
- * Interfaces/WebKit.idl:
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::CreateInstance):
- * WebKitDLL.cpp:
- (DllGetClassObject):
-
-2006-12-18 Ada Chan <adachan@apple.com>
-
- Reviewed by Adam.
-
- - Added runBeforeUnloadConfirmPanelWithMessage to IWebUIDelegate.
- - implemented canRunBeforeUnloadConfirmPanel, runBeforeUnloadConfirmPanel, and closeWindowSoon
- in WebChromeClient
- - implemented WebView::closeWindow().
-
- * Interfaces/IWebUIDelegate.idl:
- * WebChromeClient.cpp:
- (WebChromeClient::canRunBeforeUnloadConfirmPanel):
- (WebChromeClient::runBeforeUnloadConfirmPanel):
- (WebChromeClient::closeWindowSoon):
- * WebChromeClient.h:
- * WebFrame.h:
- * WebView.cpp:
- (WebView::closeWindow):
- * WebView.h:
-
-2006-12-18 Brady Eidson <beidson@apple.com>
-
- Reviewed by Alice
-
- Fixes <rdar://4821724> - Wrong site icon displays for sites who don't actually have an icon
-
- We judged whether or not a site has an icon based on whether or not the IconDatabase returned
- a valid Image.
- In the case of sites without an icon, we actually get returned a valid Image with dimensions 0x0.
- WebKit on OS X correctly handles this case via NSImage goodness - now we manually handle it on Windows
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::iconForURL): Check the width() as an additional case to fallback to the default icon
-
-2006-12-18 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- Added loadType to IWebFramePrivate.
-
- * Interfaces/IWebFramePrivate.idl: Added loadType
- * WebFrame.cpp: Fixed line endings
- (WebFrame::loadType): Added
- * WebFrame.h: Fixed line endings
- * WebKit.vcproj/WebKit.vcproj: Moved WebLocalizableStrings.h to proper folder
-
-2006-12-18 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4853363> hook up various deletion-related functions in WebView
-
- * WebView.cpp:
- (WebView::execCommand):
- Removed the case for ForwardDelete, since it shouldn't be handled there
- (WebView::deleteSelection):
- Implemented
- (WebView::copy):
- (WebView::cut):
- (WebView::paste):
- (WebView::delete_):
- Use the Editor's execCommand for these editor-responsible functions
-
-2006-12-18 Kevin McCullough <KMcCullough@apple.com>
-
- Reviewed by Oliver.
-
- - Remove CG header includes in open source files
-
- * WebView.cpp:
-
-2006-12-16 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- In the process of making enabled/disabled items and item state work
- on Boomer, we discovered that we could not get our sub-menus to
- work with using notify by position. This switches the Boomer
- context menus over to use the more conventional menu command
- notification of id. This sends a WM_COMMAND message instead of a
- WM_MENUCOMMAND message. We can differentiate the context menu
- WM_COMMAND messaged from the other ones because the high word of
- wParam is 0 when the message comes from a menu. So now WM_COMMAND
- handles the context menu actions.
-
- * Interfaces/IWebUIDelegate.idl: If-def not needed here.
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::contextMenuItemSelected): Now takes a
- pointer to the parentMenu.
- * WebContextMenuClient.h:
- * WebView.cpp:
- (WebView::performContextMenuAction):
- (WebViewWndProc):
-
-2006-12-14 Adele Peterson <adele@apple.com>
-
- Reviewed by Adam.
-
- Build Fix.
-
- * WebContextMenuClient.h:
-
-2006-12-14 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- Implemented WebChromeClient::pageRect() to return the bounds of the WebView.
- Implemented WebFrame::parentFrame().
- Added a temporary implementation of WebDataSource::isLoading().
-
- * WebChromeClient.cpp:
- (WebChromeClient::pageRect):
- * WebDataSource.cpp:
- (WebDataSource::isLoading):
- * WebFrame.cpp:
- (kit):
- (WebFrame::parentFrame):
- * WebView.cpp:
- (WebView::frameRect):
- * WebView.h:
-
-2006-12-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler, Dave Hyatt.
-
- Fixed <rdar://problem/4840261> Frame::setIsActive not called when frames
- are focused/unfocused
-
- Updated WebKit to use new FocusController tracking of the focused frame.
-
- * WebView.cpp:
- (WebViewWndProc): Fixed a minor bug where we wouldn't fire the blur event
- when changing focus to the location bar.
-
-2006-12-12 Anders Carlsson <acarlsson@apple.com>
-
- * WebFrame.cpp:
- (WebFrame::loadDataSource):
- Update for changes to ResourceHandle.
-
-2006-12-11 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- Boomer WebKit support for editing sub-menu actions for WebCore
- context menus.
-
- * Interfaces/IWebUIDelegate.idl: Re-named some of the spelling
- sub-menu tags.
- * WebContextMenuClient.cpp: New functions for the speech sub-menu.
- (WebContextMenuClient::speak):
- (WebContextMenuClient::stopSpeaking):
- * WebContextMenuClient.h:
- * WebEditorClient.cpp: New functions to toggle spelling/grammar
- checking.
- (WebEditorClient::toggleContinuousSpellChecking):
- (WebEditorClient::toggleGrammarChecking):
- * WebEditorClient.h:
-
-2006-12-11 Alice Liu <alice.liu@apple.com>
-
- Reviewed by ggaren.
-
- Fixed <rdar://problem/4854901> "Copy Link" and "Copy Image Address" context menu items don't work
-
- * Interfaces/IWebView.idl:
- Added copyURL.
-
- * WebContextMenuClient.cpp:
- * WebContextMenuClient.h:
- Removed copyLinkToClipboard
-
- * WebView.cpp:
- (WebView::copy):
- (WebView::cut):
- (WebView::paste):
- Trivial cleanup of these
-
- (WebView::copyURL):
- Added this.
-
- * WebView.h:
- Added copyURL.
-
-2006-12-11 Darin Adler <darin@apple.com>
-
- Reviewed by Brady.
-
- - http://bugs.webkit.org/show_bug.cgi?id=11794
- fix lifetime problems affecting Frame's ownerElement pointer
-
- * WebFrame.h:
- * WebFrame.cpp:
- (WebFrame::initWithWebFrameView): Changed to use HTMLFrameOwnerElement.
- (WebFrame::createFrame): Ditto.
-
-2006-12-08 Lou Amadio <lamadio@apple.com>
-
- * WebView.cpp:
- (WebView::handleMouseEvent):
- Route mouse event to the delegate
- (WebView::initWithFrame):
- Removed CW_USEDEFAULT on the CreateWindow - incorrect to use on a child window.
-
-2006-12-09 Adam Roben <aroben@apple.com>
-
- Reviewed by Darin Adler.
-
- Build fix.
-
- * WebKit.vcproj/WebKit.vcproj: Added WebCore/ForwardingHeaders to the
- include path.
- * WebView.cpp: Updated to reflect the newly-flattend JSCore headers.
-
-2006-12-08 Kevin McCullough <kmccullough@apple.com>
-
- Reviewed by Adam.
-
- - createWebViewWithRequest now increases the ref count for the new window it returns.
- This is standard practice for COM, and fixes a crash.
-
- * WebFrame.cpp:
- (WebFrame::openURL):
-
-2006-12-07 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- Two small fixes for bugs discovered while implementing the Snippet
- Editor.
-
- * WebView.cpp:
- (registerWebViewWindowClass): Set the WebView's default cursor to be
- IDC_ARROW.
- (WebView::uiDelegate): Return E_FAIL if there's no UI delegate.
-
-2006-12-07 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou.
-
- Add LPCTSTR_UI_STRING and LPCTSTR_UI_STRING_KEY.
- Added caching to prevent re-converting strings unnecessarily.
-
- * WebKit.vcproj/WebKit.def: Export LPCTSTR localization function
- * WebKit.vcproj/WebKit_debug.def: Export LPCTSTR localization function
- * WebLocalizableStrings.cpp:
- (createWebKitBundle): Added using namespace so we don't need to qualify String
- (WebLocalizedLPCTSTR): Added
- * WebLocalizableStrings.h: Added LPCTSTR localization support
-
-2006-12-07 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Brady.
-
- Make some parameters const and const references.
-
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::contextMenuItemSelected):
- (WebContextMenuClient::copyLinkToClipboard):
- (WebContextMenuClient::downloadURL):
- (WebContextMenuClient::copyImageToClipboard):
- * WebContextMenuClient.h:
-
-2006-12-06 Anders Carlsson <acarlsson@apple.com>
-
- Fix the build.
-
- * WebFrame.cpp:
- (WebFrame::loadDataSource):
- (WebFrame::didReceiveData):
- (WebFrame::didFail):
- * WebFrame.h:
-
-2006-12-06 Steve Falkenburg <sfalken@apple.com>
-
- Rubber-stamped by Adam.
-
- Don't copy WebKit{_debug}.dll back to AppleInternal/bin (SDK)
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-12-04 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler.
-
- Checkpoint of <rdar://4601521>
- Use CoreFoundation bundles w/ Localizable.strings for localization.
-
- We're using the WebKit extract-localizable-strings script to generate these files,
- and will use a cross-platform merged string file when we ship.
-
- * English.lproj/Localizable.strings: Added.
- * English.lproj/StringsNotToBeLocalized.txt: Added.
- * WebKit.vcproj/WebKit.def: Export WebLocalizableStrings routines
- * WebKit.vcproj/WebKit.vcproj: define FRAMEWORK_NAME=WebKit, added WebLocalizableStings, copy English.lproj to bin/en.lproj to get localized strings
- * WebKit.vcproj/WebKit_debug.def: Export WebLocalizableStrings routines
- * WebLocalizableStrings.cpp: Added.
- * WebLocalizableStrings.h: Added.
-
-2006-12-04 Steve Falkenburg <sfalken@apple.com>
-
- Checkpoint of <rdar://4601521>
- Use CoreFoundation bundles w/ Localizable.strings for localization.
-
- We're using the WebKit extract-localizable-strings script to generate these files,
- and will use a cross-platform merged string file when we ship.
-
- * WebLocalizableStrings.h: Added.
-
-2006-12-04 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin, Geoff.
-
- Don't use ResourceHandle::kill().
-
- * WebFrame.cpp:
- (WebFrame::stopMainResourceLoad):
-
-2006-12-04 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Oliver.
-
- Fixed <rdar://problem/4822632> clicks don't work if you move mouse immediately
- This bug was fixed by implementing EventHandler::handleDrag.
-
- * WebView.cpp:
- (WebView::WebView):
- Added a data member
- (WebView::handleMouseEvent):
- Create the mouse event telling it it activated the webview
- (WebViewWndProc):
- Call setMouseActivated upon receiving the relevent message
- * WebView.h:
- (WebView::setMouseActivated):
- Added this function so that the webview knows if it
- was brought to the foreground by a mouse event
-
-2006-12-02 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Ada.
-
- <rdar://4853816> CFNetwork crash on Vista loading any SSL page
-
- Change link order so secur32.dll is initialized prior to its
- indirect use in code called by CoreGraphics DllMain.
-
- To help avoid similar problems in the future, I reordered the
- imported DLLs by level/dependency so things like CoreFoundation
- is listed prior to CFNetwork and CoreGraphics.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-12-01 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- Changes to support sub-menus for WebCore ContextMenus.
-
- * Interfaces/IWebUIDelegate.idl: New tags.
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::contextMenuItemSelected): ContextMenu::menu
- () is now called parentMenu()
-
-2006-12-01 Steve Falkenburg <sfalken@apple.com>
-
- Fix post-build step.
- Need to copy CoreFoundation resources.
- Bundles aren't config specific - removed ConfigSuffix from copy commands for resources.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-11-30 Steve Falkenburg <sfalken@apple.com>
-
- Fix build.
- Link against new WTF.lib
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-11-30 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Beth Dakin.
-
- Fixed <rdar://problem/4844838> Whole document leak seen
- running HTML iBench
-
- Copied *very nice* (NOT!) WebKit Mac idiom of calling
- FrameLoader::detachFromParent when closing the WebView.
- We need to do this so event listeners that retain the document
- get destroyed, and so the unload event gets dispatched.
-
- This is pretty silly. Instead, the document/frame/interpreter should
- be responsible for cleaning up after itself.
-
- * WebView.cpp:
- (WebView::close):
-
-2006-11-30 Steve Falkenburg <sfalken@apple.com>
-
- build WebKit.lib to proper directory
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-11-29 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Anders.
-
- Minor fix to my recent COM registration/Vista fix.
- Ignore errors during registration. Vista locks off more of
- HKCU\Software\Classes than I thought.
-
- * WebKitDLL.cpp:
-
-2006-11-29 Adam Roben <aroben@apple.com>
-
- Reviewed by Adele.
-
- Give archive builds a separate set of CLSIDs so that they may be
- installed/run alongside B&I builds and development builds.
-
- * Interfaces/WebKit.idl:
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKit.vcproj: Don't register WebKit.dll if
- ARCHIVE_BUILD or BuildBot is defined.
-
-2006-11-28 Ada Chan <adachan@apple.com>
-
- Reviewed by Adam.
-
- <rdar://4850020> Clear cache in WebKit
- - Added the IWebCache interface, which contains API to clear and
- disable the cache
- - Added implementation of WebCache which implements IWebCache.
- - the page cache related calls added in WebHistoryItem are
- just stubs right now because we haven't implemented page cache yet.
-
- * Interfaces/IWebCache.idl: Added.
- * Interfaces/IWebHistoryItemPrivate.idl:
- * Interfaces/WebKit.idl:
- * WebBackForwardList.cpp:
- (WebBackForwardList::WebBackForwardList):
- (WebBackForwardList::clearPageCache):
- (WebBackForwardList::setPageCacheSize):
- (WebBackForwardList::pageCacheSize):
- * WebBackForwardList.h:
- * WebCache.cpp: Added.
- (WebCache::WebCache):
- (WebCache::~WebCache):
- (WebCache::createInstance):
- (WebCache::QueryInterface):
- (WebCache::AddRef):
- (WebCache::Release):
- (WebCache::statistics):
- (WebCache::empty):
- (WebCache::setDisabled):
- * WebCache.h: Added.
- * WebFrame.cpp:
- (WebSystemMainMemory):
- * WebFrame.h:
- * WebHistoryItem.cpp:
- (WebHistoryItem::releaseAllPendingPageCaches):
- (WebHistoryItem::hasPageCache):
- (WebHistoryItem::setHasPageCache):
- * WebHistoryItem.h:
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebKitClassFactory.cpp:
- (WebKitClassFactory::CreateInstance):
- * WebKitDLL.cpp:
- (DllGetClassObject):
-
-2006-11-28 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Beth Dakin.
-
- Fixed <rdar://problem/4844855> Should clarify when to create clients in
- the WebCore client API
-
- All clients must now be supplied as constructor arguments. This clarifies
- when you need to create clients, and also guarantees that objects can't
- (for the most part) be in a clientless state.
-
- Layout tests pass. No leaks reported.
-
- * WebFrame.cpp:
- (WebFrame::initWithWebFrameView):
-
-2006-11-28 Steve Falkenburg <sfalken@apple.com>
-
- Make COM registration fall back to per-user for Vista LUA compatibility.
-
- Only affects our development builds since the installer will set these
- reg keys itself.
-
- * WebKitDLL.cpp:
-
-2006-11-28 Adam Roben <aroben@apple.com>
-
- Reviewed by Ada and Beth.
-
- Fix: <rdar://problem/4601523> Contextual Menus (in web content)
-
- * Interfaces/IWebUIDelegate.idl: Added a new delegate method to be
- called when the user clicks on one of the application's context menu
- items.
-
- Client updates from WebCore.
-
- * WebContextMenuClient.cpp:
- (WebContextMenuClient::addCustomContextMenuItems): Updated for method
- name changes.
- (WebContextMenuClient::contextMenuItemSelected): New client method that
- calls the UI delegate.
- * WebContextMenuClient.h: Updated to match ContextMenuClient.h
-
- Windows context menu event handling.
-
- * WebView.cpp:
- (WebView::handleContextMenuEvent): New method to send a context menu
- event down into WebCore.
- (WebView::performContextMenuAction): New method to tell the
- ContextMenuController that the user clicked on a context menu item.
- (WebView::handleMouseEvent): Return a bool to signify whether the event
- was handled.
- (WebView::mouseWheel): Ditto.
- (WebViewWndProc): Handle WM_CONTEXTMENU and WM_MENUCOMMAND messages,
- and pass unhandled events to DefWindowProc.
- * WebView.h: New declarations.
-
- Small (but necessary) fixes.
-
- * WebElementPropertyBag.cpp:
- (isEqual): Fixed to deal with LPCWSTRs, which is what was being passed
- in anyway.
- (WebElementPropertyBag::Read): Use FAILED() to check the return value
- of QueryInterface.
- * WebElementPropertyBag.h: Added missing #include.
-
-2006-11-28 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Ada, Adam, and Lou.
-
- * WebEditorClient.h:
- * WebEditorClient.cpp:
- These 3 functions are, for now, hard-coded to return true, letting paste work.
- Commented out previous unused code because the app would crash if the editingDelegate was called
- (WebEditorClient::shouldDeleteRange):
- (WebEditorClient::shouldInsertNode):
- (WebEditorClient::shouldInsertText):
- stub impl for:
- (WebEditorClient::smartInsertDeleteEnabled):
-
- * WebView.cpp:
- moved where cut/copy/paste was handled from
- (WebView::execCommand):
- (WebViewWndProc):
-
- call the editor's version of these 4:
- (WebView::copy):
- (WebView::cut):
- (WebView::paste):
- (WebView::delete_):
-
-2006-11-28 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Adam.
-
- Fixed <rdar://problem/4844848> REGRESSION: extra cross-library ref/deref
- calls cause .5% PLT regression.
-
- Changed ref/deref calls to a single 'xxxDestroyed' call. Moved EditorClient
- from the Frame to the Page, since it's only responsible for
- Webview-level delegate calls.
-
- I don't really love this design, but it fixes the regression and allows
- a single WebKit object to implement multiple client interfaces.
-
- Layout tests pass.
-
-2006-11-27 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- Stub for canHandleRequest() to remove FIXME from ContextMenu.cpp
-
- * WebFrame.cpp:
- (WebFrame::canHandleRequest):
- * WebFrame.h:
-
-2006-11-27 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- <rdar://problem/4814582>
- JavaScript window.resizeTo doesn't work
-
- * Interfaces/IWebUIDelegate.idl:
- Fix declarations.
-
- * WebChromeClient.cpp:
- (WebChromeClient::setWindowRect):
- (WebChromeClient::windowRect):
- Call the COM methods.
-
-2006-11-26 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Add "addMessageToConsole" method to the private ui delegate, and have the client call it.
-
- * Interfaces/IWebUIDelegatePrivate.idl:
- * WebFrame.cpp:
- (WebFrame::addMessageToConsole):
- * WebFrame.h:
-
-2006-11-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Ada
-
- Added removeAllIcons() for cache clearing
-
- * Interfaces/IWebIconDatabase.idl:
- * WebIconDatabase.cpp:
- (WebIconDatabase::removeAllIcons): Added
- * WebIconDatabase.h:
-
-2006-11-21 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Various fixes for getting file upload working.
-
- * WebFrame.cpp:
- (WebFrame::loadDataSource):
- Set the header fields on the new request.
-
- (WebFrame::submitForm):
- * WebFrame.h:
- Update submitForm, it now takes a FrameLoadRequest.
-
- * WebMutableURLRequest.cpp:
- (WebMutableURLRequest::addHTTPHeaderFields):
- (WebMutableURLRequest::httpHeaderFields):
- * WebMutableURLRequest.h:
- New functions for getting and setting HTTP headers.
-
-2006-11-20 Anders Carlsson <acarlsson@apple.com>
-
- Fix build.
-
- * WebEditorClient.cpp:
- (WebEditorClient::shouldInsertNode):
- (WebEditorClient::shouldInsertText):
- * WebEditorClient.h:
-
-2006-11-19 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- * WebContextMenuClient.cpp: Stubs for the currently client-
- dependent menu actions.
- (WebContextMenuClient::copyLinkToClipboard):
- (WebContextMenuClient::downloadURL):
- (WebContextMenuClient::copyImageToClipboard):
- (WebContextMenuClient::lookUpInDictionary):
- * WebContextMenuClient.h:
- * WebEditorClient.cpp:
- (WebEditorClient::shouldInsertText): Remove comment markers since
- this is implemented now on the Mac.
- * WebEditorClient.h:
-
-2006-11-17 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Make sure that all .cpp files and none of the headers include config.h.
-
- * MemoryStream.cpp:
- * WebBackForwardList.cpp:
- * WebBackForwardList.h:
- * WebElementPropertyBag.cpp:
- * WebHTMLRepresentation.cpp:
- * WebKitClassFactory.cpp:
- * WebKitDLL.cpp:
- * WebMutableURLRequest.cpp:
- * WebMutableURLRequest.h:
- * WebURLResponse.cpp:
- * WebURLResponse.h:
-
-2006-11-18 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - fix leak of Document ref count seen in updateCounterpartURLForRSS
-
- * WebScriptObject.h: Changed destructor to be virtual. Without this,
- when the COM object was released we wouldn't release the underlying
- WebCore::Node.
-
-2006-11-18 Darin Adler <darin@apple.com>
-
- Reviewed by Adele.
-
- - fix leak of WebView when you close a tab or window
-
- * Interfaces/IWebView.idl: Added a close function, like the close method
- we added to WebView on the Macintosh side.
-
- * WebView.h: Added close function.
- * WebView.cpp: (WebView::close): First cut at implementation of close.
-
-2006-11-16 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve, Ada.
-
- Added new WebMenuItemBaseApplicationTag to the WebMenuItemTag enum to
- keep WebKit apps from conflicting with WebKit context menu identifiers.
-
- * Interfaces/IWebUIDelegate.idl:
-
-2006-11-15 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- Added new WebContextMenuClient class, and moved context menu-related
- code there from WebChromeClient.
-
- * WebChromeClient.cpp:
- (WebChromeClient::setResizable):
- * WebChromeClient.h:
- * WebContextMenuClient.cpp: Added.
- (WebContextMenuClient::create):
- (WebContextMenuClient::WebContextMenuClient):
- (WebContextMenuClient::ref):
- (WebContextMenuClient::deref):
- (WebContextMenuClient::addCustomContextMenuItems):
- * WebContextMenuClient.h: Added.
- * WebKit.vcproj/WebKit.vcproj: Added new files.
- * WebView.cpp:
- (WebView::initWithFrame):
-
-2006-11-15 Beth Dakin <bdakin@apple.com>
- & Adam Roben <aroben@apple.com>
-
- Reviewed by Adam and Beth.
-
- Internal side of r17796.
-
- * WebChromeClient.cpp:
- (WebChromeClient::addCustomContextMenuItems):
- * WebChromeClient.h:
-
-2006-11-15 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- Fixed a bad free in DllRegisterServer.
-
- * WebKitDLL.cpp:
- (DllRegisterServer):
-
-2006-11-15 Steve Falkenburg <sfalken@apple.com>
-
- Take another pass at fixing COM registration
-
- * WebKitDLL.cpp:
- (substituteGUID):
-
-2006-11-15 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Darin Adler.
-
- Add an undo manager to the editor client. Make it possible for applications to invoke undo/redo.
-
- * Interfaces/IWebView.idl:
- * WebEditorClient.cpp:
- (WebUndoManager::WebUndoManager):
- (WebUndoManager::~WebUndoManager):
- (WebUndoManager::clearCommands):
- (WebUndoManager::registerCommand):
- (WebUndoManager::undo):
- (WebUndoManager::redo):
- (WebUndoManager::canUndo):
- (WebUndoManager::canRedo):
- (WebUndoManager::undoOrRedo):
- (WebEditorClient::WebEditorClient):
- (WebEditorUndoCommand::WebEditorUndoCommand):
- (WebEditorUndoCommand::execute):
- (WebEditorClient::registerCommandForUndo):
- (WebEditorClient::registerCommandForRedo):
- (WebEditorClient::clearUndoRedoOperations):
- (WebEditorClient::canUndo):
- (WebEditorClient::canRedo):
- (WebEditorClient::undo):
- (WebEditorClient::redo):
- * WebEditorClient.h:
- * WebView.cpp:
- (WebView::execCommand):
-
-2006-11-15 Steve Falkenburg <sfalken@apple.com>
-
- Fix bug in my last check-in preventing proper COM registration
-
- * WebKitDLL.cpp:
- (DllRegisterServer):
-
-2006-11-15 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- Use separate CLSIDs for buildbot builds.
-
- This allows independent installs of an official build (for everyday web browsing/dogfooding)
- alongside a developer build (to write code, debug in Visual Studio).
-
- * Interfaces/WebKit.idl: Add a second set of CLSIDs for builbot-based builds.
- * WebKit.vcproj/Interfaces.vcproj: Add a preprocessor define __BUILDBOT__ set to 1 for official builds, 0 otherwise (use #if to check).
- * WebKitDLL.cpp: Convert CLSIDs to strings via code instead of copying string literals from elsewhere.
- (substituteGUID): Added.
- (DllUnregisterServer): Substitute CLSIDs into reg keys.
- (DllRegisterServer): Substitute CLSIDs into reg keys.
-
-2006-11-15 Adam Roben <aroben@apple.com>
-
- It's too early in the morning to be fixing the build.
-
- * WebEditorClient.cpp:
- (WebEditorClient::selectWordBeforeMenuEvent):
- (WebEditorClient::isEditable):
-
-2006-11-15 Adam Roben <aroben@apple.com>
-
- Build fix.
-
- * WebEditorClient.cpp:
- (selectWordBeforeMenuEvent):
- (isEditable):
- * WebEditorClient.h:
-
-2006-11-14 Darin Adler <darin@apple.com>
-
- Reviewed by Anders.
-
- - update for creation of EventHandler
-
- * WebView.cpp:
- (WebView::handleMouseEvent): Call methods now moved to EventHandler.
- (WebView::mouseWheel): Ditto.
- (WebView::elementAtPoint): Ditto.
-
-2006-11-14 Anders Carlsson <acarlsson@apple.com>
-
- Build fix.
-
- * WebEditorClient.cpp:
- (WebEditorClient::registerCommandForUndo):
- (WebEditorClient::registerCommandForRedo):
- (WebEditorClient::clearUndoRedoOperations):
- (WebEditorClient::canUndo):
- (WebEditorClient::canRedo):
- (WebEditorClient::undo):
- (WebEditorClient::redo):
- * WebEditorClient.h:
-
-2006-11-14 Brady Eidson <beidson@apple.com>
-
- Reviewed by Anders
-
- Additional tweek to the FormData change
-
- * WebFrame.cpp:
- (WebFrame::loadDataSource):
-
-2006-11-14 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- Replace all instances of DebugBreak() with ASSERT_NOT_REACHED() so that
- it will be compiled out for Release builds.
-
- * DOMCSSClasses.cpp:
- * DOMCoreClasses.cpp:
- * DOMHTMLClasses.cpp:
- * WebBackForwardList.cpp:
- * WebDataSource.cpp:
- * WebFrame.cpp:
- * WebHTMLRepresentation.cpp:
- * WebHistoryItem.cpp:
- * WebIconDatabase.cpp:
- * WebMutableURLRequest.cpp:
- * WebNotification.cpp:
- * WebPreferences.cpp:
- * WebScriptObject.cpp:
- * WebView.cpp:
-
-2006-11-13 Brady Eidson <beidson@apple.com>
-
- Rubberstamped by Maciej
-
- Windows half of 17755 - Make FormData shared
-
- * WebFrame.cpp:
- (WebFrame::loadDataSource):
- (WebFrame::submitForm):
- * WebFrame.h:
- * WebMutableURLRequest.cpp:
- (WebMutableURLRequest::setFormData):
- (WebMutableURLRequest::formData):
- * WebMutableURLRequest.h:
-
-2006-11-13 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Various editing fixes.
-
- * WebView.cpp:
- (WebView::execCommand):
- Use the focused frame, not the main frame.
-
- (WebView::focusedTarget):
- Add FIXME comment.
-
- (WebView::keyDown):
- Return false for unknown keydown messages when not in editing mode.
-
-2006-11-13 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Anders, Lou.
-
- Bump version for submit
- Copy CharacterSets directory for CF
-
- * WebKit.vcproj/VERSION: Bump version
- * WebKit.vcproj/WebKit.vcproj: Copy CharacterSets
-
-2006-11-13 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler, Anders Carlsson.
-
- More window.open work.
-
- - Hooked up all of WebChromeClient that the App currently supports.
-
- * WebChromeClient.cpp:
- (WebChromeClient::scaleFactor):
- (WebChromeClient::focus):
- (WebChromeClient::unfocus):
- (WebChromeClient::createModalDialog):
- (WebChromeClient::show):
- (WebChromeClient::canRunModal):
- (WebChromeClient::runModal):
- (WebChromeClient::setToolbarsVisible):
- (WebChromeClient::toolbarsVisible):
- (WebChromeClient::setStatusbarVisible):
- (WebChromeClient::statusbarVisible):
- (WebChromeClient::setMenubarVisible):
- (WebChromeClient::menubarVisible):
- (WebChromeClient::setResizable):
-
-2006-11-13 Adam Roben <aroben@apple.com>
-
- Fix line-endings and svn properties.
-
- * WebChromeClient.cpp:
- * WebChromeClient.h:
-
-2006-11-13 Adam Roben <aroben@apple.com>
-
- Build fix.
-
- * MarshallingHelpers.cpp:
- * WebChromeClient.cpp:
- * WebChromeClient.h:
- * WebEditorClient.h:
- * WebMutableURLRequest.h:
-
-2006-11-12 Geoffrey Garen <ggaren@apple.com>
-
- * WebChromeClient.cpp: Fixed up #include.
-
-2006-11-12 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Steve Falkenberg.
-
- Implemented window.open. Rough around the edges right now.
-
- - Converted WebMutableURLRequest to use a ResourceRequest as its
- backing store, to avoid yet another way of representing this data.
- - Changed WebMutableURLRequests's timeoutInterval to double, to match
- ResourceRequest and NSURLRequest.
- - Added BSTRToKURL and KURLToBSTR helper functions.
- - Added page accessor on WebView, and core(), for converting from WebView
- to page.
-
- * MarshallingHelpers.h: Removed unnecessary variable names from declarations.
-
-2006-11-12 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Steve Falkenberg.
-
- Fixed up work-arounds to MSVC warning silliness.
-
- Replaced in-place disabling of "conditional expression is constant" warning
- with project-wide setting. (We use do { } while(0); for macro scoping.)
-
- Replaced in-place and project-wide disabling of "xxx was declared deprecated"
- warning with project-wide setting only to disable Microsoft's made-up deprecation
- warnings related to std:: functions.
-
- * WebChromeClient.cpp:
- (WebChromeClient::setResizable):
- * WebKit.vcproj/WebKit.vcproj:
- * WebKitDLL.h:
-
-2006-11-11 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej Stachowiak.
-
- - Fixed <rdar://problem/4831461> Crash in FrameLoader::~FrameLoader when navigating away from ebay.com
-
- - Changed WebKit clients to match new virtual ref/deref scheme in WebCore.
-
- - Removed WebEditorClient from the WebCore namespace because it's a
- WebKit class, not a WebCore class.
-
- - Standardized some header #includes to match Mac:
- - alphabetical
- - config.h, WebKitDLL.h, and class headers go together at the top
- - everything else comes after a line break
-
-2006-11-11 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Oliver.
-
- Clean up the event handling code.
-
- * WebEditorClient.cpp:
- (WebEditorClient::shouldBeginEditing):
- (WebEditorClient::shouldEndEditing):
- (WebEditorClient::shouldApplyStyle):
- Change these to return true. Eventually they will call the editing delegate.
-
- * WebView.cpp:
- (WebView::execCommand):
- Update to call the editor's execCommand.
-
- (WebView::keyUp):
- New function that forwards the event to FrameWin.
-
- (editCommandForKey):
- New function that given a key returns an edit command from a table. Eventually this table
- should be moved into WebCore.
-
- (WebView::handleEditingKeyboardEvent):
- New function that handles editing events.
-
- (WebView::keyDown):
- If the frame is editable, call handleEditingKeyboardEvent.
-
- (WebViewWndProc):
- * WebView.h:
-
-2006-11-11 Adam Roben <aroben@apple.com>
-
- Reviewed by Geoff.
-
- Update WebCore #includes to use a flat directory structure.
-
- * DOMCSSClasses.cpp:
- * DOMCSSClasses.h:
- * DOMCoreClasses.cpp:
- * DOMEventsClasses.cpp:
- * DOMHTMLClasses.cpp:
- * MarshallingHelpers.cpp:
- * WebChromeClient.cpp:
- * WebChromeClient.h:
- * WebDataSource.cpp:
- * WebEditorClient.cpp:
- * WebEditorClient.h:
- * WebElementPropertyBag.cpp:
- * WebFrame.cpp:
- * WebFrame.h:
- * WebHTMLRepresentation.cpp:
- * WebHistory.cpp:
- * WebIconDatabase.cpp:
- * WebIconDatabase.h:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKitDLL.cpp:
- * WebMutableURLRequest.cpp:
- * WebNotificationCenter.cpp:
- * WebPreferences.cpp:
- * WebURLResponse.cpp:
- * WebURLResponse.h:
- * WebView.cpp:
- * WebView.h:
-
-2006-11-10 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- Archive builds should still copy SDK .dlls into $WebKitOutputDir.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-11-10 Brady Eidson <beidson@apple.com>
-
- Enthousiastically review by Beth (with exclamation marks and everything!!!1!!one!)
-
- No need for WebIconDatabase to keep its own reference to the
- WebCore::IconDatabase
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::WebIconDatabase):
- (WebIconDatabase::init):
- (WebIconDatabase::iconForURL):
- (WebIconDatabase::retainIconForURL):
- (WebIconDatabase::releaseIconForURL):
- * WebIconDatabase.h:
-
-2006-11-10 Steve Falkenburg <sfalken@apple.com>
-
- Bump version number for submission
-
- * WebKit.vcproj/VERSION:
-
-2006-11-10 Brady Eidson <beidson@apple.com>
-
- Reviewed by Darin
-
- Keep windows build from breaking
-
- * WebFrame.cpp:
- (WebFrame::dispatchDidReceiveIcon):
- * WebFrame.h:
-
-2006-11-10 Oliver Hunt <oliver@apple.com>
-
- Build fix
-
- sprintf -> format (from Maciej's earlier change to WebCore)
-
- * WebView.cpp:
- (osVersion):
- (WebView::userAgentForKURL):
-
-2006-11-09 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- Copy resources for CFNetwork (needed for next SDK)
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-11-09 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Maciej.
-
- Fix crash on unknown protocol
-
- * WebFrame.cpp:
- (WebFrame::didFailWithError):
-
-2006-11-09 Lou Amadio <lamadio@apple.com>
-
- Reviewed by mjs
- Correct the broken search implementations based on original webkit
- <rdar://4827714>
-
- * WebView.cpp:
- (WebView::searchFor):
- (WebView::generateSelectionImage):
- (WebView::selectionImageRect):
-
-2006-11-09 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- Put the OpenSource revision in the WebKit.dll version info.
-
- * WebKit.vcproj/WebKit.vcproj: touch WebKit.rc before building to force
- it to recompile.
- * WebKit.vcproj/auto-version.sh: Get the OpenSource revision and put it in autoversion.h.
-
-2006-11-09 Adam Roben <aroben@apple.com>
-
- Fix line-endings.
-
- * WebEditorClient.cpp:
-
-2006-11-09 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Anders.
-
- Build fixes
-
- * WebEditorClient.cpp:
- (WebEditorClient::respondToChangedContents):
- * WebEditorClient.h:
-
-2006-11-08 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- Make the same change here as made in r11013.
-
- * WebKit.vcproj/auto-version.sh:
-
-2006-11-08 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Geoff.
-
- - added ResourceError class and didFailWithError client method
-
- * WebFrame.cpp:
- (WebFrame::didFinishLoading):
- (WebFrame::didFailWithError):
- * WebFrame.h:
-
-2006-11-08 Adam Roben <aroben@apple.com>
-
- Build fix.
-
- * WebEditorClient.cpp: Added stubs for new methods from EditorClient.h.
- (WebEditorClient::shouldBeginEditing):
- (WebEditorClient::shouldEndEditing):
- (WebEditorClient::didBeginEditing):
- (WebEditorClient::didEndEditing):
- * WebEditorClient.h: Added new methods from EditorClient.h and cleaned
- up placement of *s.
-
-2006-11-08 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Adam.
-
- Add clause for new WebElementIsContentEditableKey to the Read
- fucntion.
-
- * Interfaces/IWebView.idl:
- * WebElementPropertyBag.cpp:
- (WebElementPropertyBag::Read):
-
-2006-11-07 Ada Chan <adachan@apple.com>
-
- Reviewed by Steve.
-
- Added a new API in IWebFramePrivate called firstLayoutDone that returns whether the frame has done its first layout.
- Implement that API in WebFrame.
-
- * Interfaces/IWebFramePrivate.idl:
- * WebFrame.cpp:
- (WebFrame::WebFrame):
- (WebFrame::firstLayoutDone):
- (WebFrame::loadDataSource):
- (WebFrame::didFirstLayout):
- * WebFrame.h:
-
-2006-11-07 Lou Amadio <lamadio@apple.com>
-
- Reviewed by sfalken, adam
- Implemented Find banner, overlay, bouncy.
- plummed some find, search and marking in WebCore & WebKit
- Added SDC - a DC wrapper with knowledge of CG
- Added button element
- Ported AppKit's oval button drawing code
- Abstracted the high performance animations
-
- * Interfaces/IWebUIDelegatePrivate.idl:
- * Interfaces/IWebView.idl:
- * WebFrame.h:
- * WebView.cpp:
- (WebView::scrollBackingStore):
- (incrementFrame):
- (WebView::searchFor):
- (WebView::markAllMatchesForText):
- (WebView::unmarkAllTextMatches):
- (WebView::rectsForTextMatches):
- (WebView::generateSelectionImage):
- (WebView::selectionImageRect):
- (EnumTextMatches::EnumTextMatches):
- (EnumTextMatches::QueryInterface):
- (EnumTextMatches::AddRef):
- (EnumTextMatches::Release):
- (EnumTextMatches::Next):
- (EnumTextMatches::Skip):
- (EnumTextMatches::Reset):
- (EnumTextMatches::Clone):
- (createMatchEnumerator):
- * WebView.h:
-
-2006-11-08 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- More fiddling with midl to get our JSC API types recognized.
-
- * Interfaces/IWebFrameLoadDelegate.idl:
-
-2006-11-07 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Anders.
-
- Removed ScreenClient. It was highly unpopular, risking my midterm re-election.
-
- None of Screen's responsibilities require up-calls to WebKit or delegates,
- so WebCore can handle it all.
-
-2006-11-07 Darin Adler <darin@apple.com>
-
- Reviewed by Geoff.
-
- - moved loader code from Frame/FrameMac to FrameLoader
-
- * WebFrame.cpp:
- (WebFrame::loadData):
- (WebFrame::loadHTMLString):
- (WebFrame::stopLoading):
- (WebFrame::reload):
- (WebFrame::initWithWebFrameView):
- (WebFrame::loadDataSource):
- (WebFrame::didReceiveResponse):
- (WebFrame::didReceiveData):
- (WebFrame::didFinishLoading):
- (WebFrame::setTitle):
- (WebFrame::dispatchDidHandleOnloadEvents):
- (WebFrame::detachFrameLoader):
- (WebFrame::hasWebView):
- (WebFrame::hasFrameView):
- (WebFrame::hasBackForwardList):
- (WebFrame::resetBackForwardList):
- (WebFrame::provisionalItemIsTarget):
- (WebFrame::loadProvisionalItemFromPageCache):
- (WebFrame::invalidateCurrentItemPageCache):
- (WebFrame::privateBrowsingEnabled):
- (WebFrame::makeDocumentView):
- (WebFrame::makeRepresentation):
- (WebFrame::forceLayout):
- (WebFrame::forceLayoutForNonHTML):
- (WebFrame::updateHistoryForCommit):
- (WebFrame::updateHistoryForBackForwardNavigation):
- (WebFrame::updateHistoryForReload):
- (WebFrame::updateHistoryForStandardLoad):
- (WebFrame::updateHistoryForInternalLoad):
- (WebFrame::updateHistoryAfterClientRedirect):
- (WebFrame::setCopiesOnScroll):
- (WebFrame::tokenForLoadErrorReset):
- (WebFrame::resetAfterLoadError):
- (WebFrame::doNotResetAfterLoadError):
- (WebFrame::willCloseDocument):
- (WebFrame::detachedFromParent1):
- (WebFrame::detachedFromParent2):
- (WebFrame::detachedFromParent3):
- (WebFrame::detachedFromParent4):
- (WebFrame::loadedFromPageCache):
- (WebFrame::dispatchDidReceiveServerRedirectForProvisionalLoad):
- (WebFrame::dispatchDidCancelClientRedirect):
- (WebFrame::dispatchWillPerformClientRedirect):
- (WebFrame::dispatchDidChangeLocationWithinPage):
- (WebFrame::dispatchWillClose):
- (WebFrame::dispatchDidStartProvisionalLoad):
- (WebFrame::dispatchDidReceiveTitle):
- (WebFrame::dispatchDidCommitLoad):
- (WebFrame::dispatchDidFinishLoad):
- (WebFrame::dispatchDidFirstLayout):
- (WebFrame::dispatchShow):
- (WebFrame::cancelPolicyCheck):
- (WebFrame::dispatchWillSubmitForm):
- (WebFrame::dispatchDidLoadMainResource):
- (WebFrame::clearLoadingFromPageCache):
- (WebFrame::isLoadingFromPageCache):
- (WebFrame::revertToProvisionalState):
- (WebFrame::clearUnarchivingState):
- (WebFrame::progressStarted):
- (WebFrame::progressCompleted):
- (WebFrame::setMainFrameDocumentReady):
- (WebFrame::willChangeTitle):
- (WebFrame::didChangeTitle):
- (WebFrame::finishedLoading):
- (WebFrame::finalSetupForReplace):
- (WebFrame::setDefersLoading):
- (WebFrame::isArchiveLoadPending):
- (WebFrame::cancelPendingArchiveLoad):
- (WebFrame::clearArchivedResources):
- (WebFrame::canShowMIMEType):
- (WebFrame::representationExistsForURLScheme):
- (WebFrame::generatedMIMETypeForURLScheme):
- (WebFrame::frameLoadCompleted):
- (WebFrame::restoreScrollPositionAndViewState):
- (WebFrame::provisionalLoadStarted):
- (WebFrame::shouldTreatURLAsSameAsCurrent):
- (WebFrame::addHistoryItemForFragmentScroll):
- (WebFrame::didFinishLoad):
- (WebFrame::prepareForDataSourceReplacement):
- (WebFrame::userAgent):
- * WebFrame.h:
- * WebView.cpp:
- (WebView::stringByEvaluatingJavaScriptFromString):
-
-2006-11-07 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Oliver.
-
- Call IWebFrameLoadDelegate::windowScriptObject available when the
- window script object is available.
-
- * Interfaces/IWebFrameLoadDelegate.idl:
- Get MIDL to understand the JSC API types.
-
- * WebFrame.cpp:
- (WebFrame::windowScriptObjectAvailable):
- Call into the delegate.
-
- * WebFrame.h:
-
-2006-11-07 Steve Falkenburg <sfalken@apple.com>
-
- Versioning
-
- * WebKit.vcproj/VERSION:
-
-2006-11-06 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Geoff.
-
- Export JavaScriptCore C API via WebKit.
-
- * WebKit.vcproj/WebKit.def:
- * WebKit.vcproj/WebKit_debug.def:
-
-2006-11-06 Kevin McCullough <kmccullough@apple.com>
-
- -Fix test fields accepting text.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-11-06 Geoffrey Garen <ggaren@apple.com>
-
- Oops. Forgot to add these files.
-
- Changed comment that Darin mentioned, too.
-
- * WebChromeClient.cpp:
- * WebScreenClient.cpp: Added.
- (WebScreenClient::create):
- (WebScreenClient::WebScreenClient):
- (WebScreenClient::depth):
- (WebScreenClient::depthPerComponent):
- (WebScreenClient::isMonochrome):
- (WebScreenClient::rect):
- (WebScreenClient::usableRect):
- * WebScreenClient.h: Added.
-
-2006-11-06 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin Adler.
-
- Stubbed out the Chrome and Screen clients.
-
- * WebChromeClient.cpp:
- (WebChromeClient::setWindowRect):
- (WebChromeClient::windowRect):
- (WebChromeClient::pageRect):
- (WebChromeClient::scaleFactor):
- (WebChromeClient::focus):
- (WebChromeClient::unfocus):
- (WebChromeClient::createWindow):
- (WebChromeClient::createModalDialog):
- (WebChromeClient::show):
- (WebChromeClient::setToolbarsVisible):
- (WebChromeClient::toolbarsVisible):
- (WebChromeClient::setStatusbarVisible):
- (WebChromeClient::statusbarVisible):
- (WebChromeClient::setScrollbarsVisible):
- (WebChromeClient::scrollbarsVisible):
- (WebChromeClient::setMenubarVisible):
- (WebChromeClient::menubarVisible):
- (WebChromeClient::setResizable):
- * WebChromeClient.h:
- * WebKit.vcproj/WebKit.vcproj:
- * WebView.cpp:
- (WebView::initWithFrame):
-
-2006-11-06 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Anders.
-
- Oops! Silly mistake!
-
- * WebElementPropertyBag.cpp:
- (convertStringToVariant):
-
-2006-11-06 Steve Falkenburg <sfalken@apple.com>
-
- Fix build
-
- * WebMutableURLRequest.cpp:
-
-2006-11-05 Beth Dakin <bdakin@apple.com>
-
- Reviewed by Steve and Anders. And sort of Maciej.
-
- Here is a basic implementation of elementAtPoint for Boomer.
-
- * Interfaces/IWebView.idl: The definitions of the
- WebElementPropertyBag keys.
- * MarshallingHelpers.cpp:
- (MarshallingHelpers::intRectToSafeArray): New safe array creation
- function that creates a safe array out of an IntRect.
- * MarshallingHelpers.h:
- * WebElementPropertyBag.cpp: Added. This is the equivalent of
- WebElementDictionary on the Mac.
- (WebElementPropertyBag::WebElementPropertyBag):
- (WebElementPropertyBag::~WebElementPropertyBag):
- (WebElementPropertyBag::QueryInterface):
- (WebElementPropertyBag::AddRef):
- (WebElementPropertyBag::Release):
- (isEqual):
- (convertStringToVariant):
- (WebElementPropertyBag::Read): This is the bulk of the class. It
- compares the input key to all of the possible keys and calls the
- appropriate function for each.
- (WebElementPropertyBag::Write): Writing is not actually allowed.
- * WebElementPropertyBag.h: Added.
- * WebKit.vcproj/WebKit.vcproj:
- * WebView.cpp:
- (WebView::elementAtPoint): Call into frame to get the HitTestResult
- for the point and set elementDictionary to the
- WebElementPropertyBag for the result.
-
-2006-11-05 Steve Falkenburg <sfalken@apple.com>
-
- Fix build breaks
-
- * WebFrame.cpp:
- * WebFrame.h:
-
-2006-11-04 Darin Adler <darin@apple.com>
-
- * WebView.cpp: (WebView::initWithFrame): Removed setMainFrame call and
- deref of Frame, now handled by Frame's constructor.
-
-2006-11-03 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adele.
-
- - replaced receivedRedirect with new willSendRequest delegate
- - removed most mac-specific loader functions
- - use ResourceResponse more in loader code
-
- * WebFrame.cpp:
- (WebFrame::willSendRequest): Rearranged from former receivedRedirect.
- * WebFrame.h:
-
-2006-11-03 Anders Carlsson <acarlsson@apple.com>
-
- Build fix.
-
- * WebChromeClient.cpp:
-
-2006-11-03 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Darin, Beth.
-
- Updated to use ChromeClient.
-
- * WebChromeClient.cpp: Added.
- (WebChromeClient::create):
- (WebChromeClient::WebChromeClient):
- (WebChromeClient::canRunModal):
- (WebChromeClient::runModal):
- * WebChromeClient.h: Added.
- * WebKit.vcproj/WebKit.vcproj:
- * WebView.cpp:
- (WebView::initWithFrame):
-
-2006-11-01 Ada Chan <adachan@apple.com>
-
- Reviewed by sfalken.
-
- Implemented the DOM API that pubsub needs:
- IDOMDocument::getElementsByTagName
- IDOMDocument::getElementsByTagNameNS (they don't need this, but might as well add it)
- IDOMNodeList
- IDOMNode::nodeValue
-
- Added something I'll need for RSS integration:
- IWebHistoryItemPrivate::RSSFeedReferrer
- IWebHistoryItemPrivate::setRSSFeedReferrer
-
- * DOMCoreClasses.cpp:
- (DOMNode::nodeValue):
- (DOMNode::DOMNode):
- (DOMNode::~DOMNode):
- (DOMNode::createInstance):
- (DOMNodeList::QueryInterface):
- (DOMNodeList::item):
- (DOMNodeList::length):
- (DOMNodeList::DOMNodeList):
- (DOMNodeList::~DOMNodeList):
- (DOMNodeList::createInstance):
- (DOMDocument::getElementsByTagName):
- (DOMDocument::getElementsByTagNameNS):
- (DOMDocument::DOMDocument):
- (DOMDocument::~DOMDocument):
- (DOMElement::DOMElement):
- (DOMElement::~DOMElement):
- * DOMCoreClasses.h:
- (DOMNodeList::AddRef):
- (DOMNodeList::Release):
- (DOMNodeList::throwException):
- (DOMNodeList::callWebScriptMethod):
- (DOMNodeList::evaluateWebScript):
- (DOMNodeList::removeWebScriptKey):
- (DOMNodeList::stringRepresentation):
- (DOMNodeList::webScriptValueAtIndex):
- (DOMNodeList::setWebScriptValueAtIndex):
- (DOMNodeList::setException):
- * Interfaces/IWebHistoryItemPrivate.idl:
- * WebHistoryItem.cpp:
- (WebHistoryItem::WebHistoryItem):
- (WebHistoryItem::~WebHistoryItem):
- (WebHistoryItem::RSSFeedReferrer):
- (WebHistoryItem::setRSSFeedReferrer):
- * WebHistoryItem.h:
-
-2006-10-31 Marvin Decker <marv.decker@gmail.com>
-
- Reviewed by Maciej.
-
- - merged changes for:
-
- - fixed "Stop and reload don't work on the WebView"
- http://bugs.webkit.org/show_bug.cgi?id=11285
-
- Most of htis was already in this tree.
-
- * WebFrame.cpp:
- (WebFrame::stopLoading): Implement. Added FIXME.
-
-2006-10-31 Steve Falkenburg <sfalken@apple.com>
-
- Bumped version to 521.29
-
- * WebKit.vcproj/VERSION:
-
-2006-10-30 Kevin McCullough <KMcCullough@apple.com>
-
- Reviewed by Steve.
-
- - Added basic functionality for running javascript from the address bar. Currently no return results are evaluated so use alert messages to see the results.
-
- * WebView.cpp:
- (WebView::stringByEvaluatingJavaScriptFromString):
-
-2006-10-31 Adam Roben <aroben@apple.com>
-
- Build fixes.
-
- * WebEditorClient.cpp: Add stubs for new methods.
- (WebEditorClient::isContinuousSpellCheckingEnabled):
- (WebEditorClient::isGrammarCheckingEnabled):
- (WebEditorClient::spellCheckerDocumentTag):
- * WebEditorClient.h: Add declarations for new methods.
- * WebFrame.cpp: Fix #includes to use new platform/graphics directory.
- * WebView.cpp: Ditto.
- * WebKit.vcproj/WebKit.vcproj: Add platform/graphics to include path.
-
-2006-10-29 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam, Ada.
-
- Expose printing methods in IWebViewPrivate and removed LPARAM-based dispatching.
- Call StretchDIBits instead of BitBlt.
- Add a maximum DPI (currently set at 300) to speed up printing.
- Add support needed for print preview.
-
- * Interfaces/IWebViewPrivate.idl: added startPrintJob, endPrintJob, getPrintedPageCount, printPage
- * WebView.cpp: Added MAXIMUM_DPI setting to limit the size of print jobs for performance reasons
- (getPrintRects): Added. Factored out of print, added maximum DPI handling.
- (WebView::startPrintJob): Factored out of print
- (WebView::endPrintJob): Factored out of print
- (WebView::getPrintedPageCount): Factored out of print
- (WebView::printPage): Factored out of print. Replaced call to BitBlt with StretchDIBits
- (WebViewWndProc): Re-add support for printing a window (used by bug reporter code)
- * WebView.h: added startPrintJob, endPrintJob, getPrintedPageCount, printPage
-
-2006-10-30 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Adam.
-
- Add "null plugin" image resource.
-
- * WebKit.vcproj/WebKit.rc:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/nullplugin.png: Added.
- * WebKit.vcproj/resource.h:
- * WebKitDLL.cpp:
- (loadResourceIntoArray):
-
-2006-10-29 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Anders.
-
- - added ResourceResponse class and didReceiveResponse delegate call
-
- * WebFrame.cpp:
- (WebFrame::didReceiveResponse): Updated from receivedResponse.
- * WebFrame.h:
- * WebURLResponse.cpp:
- (WebURLResponse::WebURLResponse): Reimplemented to work in terms
- of WebCore::ResourceResponse (ditto for below). Uses BString
- to convert strings as needed.
- (WebURLResponse::~WebURLResponse):
- (WebURLResponse::createInstance):
- (WebURLResponse::expectedContentLength):
- (WebURLResponse::initWithURL):
- (WebURLResponse::MIMEType):
- (WebURLResponse::suggestedFilename):
- (WebURLResponse::textEncodingName):
- (WebURLResponse::URL):
- (WebURLResponse::suggestedFileExtension):
- * WebURLResponse.h:
-
-2006-10-29 Maciej Stachowiak <mjs@apple.com>
-
- Rubber stamped by Darin Adler.
-
- - renamed ResourceLoader to ResourceHandle (and same for related classes)
-
- * WebFrame.cpp:
- (WebFrame::loadDataSource):
- (WebFrame::receivedRedirect):
- (WebFrame::receivedResponse):
- (WebFrame::didReceiveData):
- (WebFrame::didFinishLoading):
- * WebFrame.h:
- * WebURLResponse.cpp:
- (WebURLResponse::createInstance):
- * WebURLResponse.h:
- * WebView.cpp:
-
-2006-10-27 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Maciej.
-
- Tighten up warning levels by removing #pragma warning(push, 0), pop
-
- * WebBackForwardList.h:
- * WebFrame.h:
- * WebIconDatabase.h:
-
-2006-10-25 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Darin Adler.
-
- Checked in Luke's CG printing code
-
- * WebView.cpp:
- (WebView::print): added
- (WebViewWndProc): call print from WM_PRINTCLIENT
- * WebView.h: added print, m_pages, rearranged includes
-
-2006-10-24 Steve Falkenburg <sfalken@apple.com>
-
- Bump version to 521.28.6
-
- * WebKit.vcproj/VERSION:
-
-2006-10-24 Anders Carlsson <acarlsson@apple.com>
-
- * WebFrame.cpp:
- (WebFrame::loadDataSource):
- Forgot to save before committing. Call begin before trying to access the document.
-
-2006-10-24 Anders Carlsson <acarlsson@apple.com>
-
- Fix build. (Update for changes to ResourceLoader)
-
- * WebFrame.cpp:
- (WebFrame::loadDataSource):
- * WebURLResponse.cpp:
- (WebURLResponse::createInstance):
-
-2006-10-23 Ada Chan <adachan@apple.com>
-
- Reviewed by sfalken.
-
- We forgot to add a reference in WebNotificationCenter::addObserver.
-
- * WebNotificationCenter.cpp:
- (WebNotificationCenter::addObserver):
-
-2006-10-23 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou.
-
- * MarshallingHelpers.cpp:
- (MarshallingHelpers::BSTRToCFStringRef): Fix leak in BSTRToCFStringRef
- * WebEditorClient.cpp:
- (WebEditorClient::WebEditorClient): Break dependency cycle by not holding a COM ref to the WebView
- (WebEditorClient::~WebEditorClient): Break dependency cycle by not holding a COM ref to the WebView
- * WebFrame.cpp:
- (WebFrame::initWithWebFrameView):
- (WebFrame::windowResizerRect): Fix reference leaks
- * WebHistory.cpp:
- (createUserInfoFromArray): Fixed leak of key CFStringRef.
- (WebHistory::setOptionalSharedHistory): Made this callable with a 0 to release shared history
- (_WebCoreHistoryProvider::_WebCoreHistoryProvider): Don't hold a ref to the WebHistory
- (_WebCoreHistoryProvider::~_WebCoreHistoryProvider): Don't hold a ref to the WebHistory
- (_WebCoreHistoryProvider::containsItemForURLLatin1): Don't hold a ref to the WebHistoryPrivate
- * WebHistoryItem.cpp:
- (WebHistoryItem::WebHistoryItem): Don't hold a reference to the WebIconDatabase
- * WebIconDatabase.cpp:
- (WebIconDatabase::~WebIconDatabase): Delete core icon db on delete
- * WebNotificationCenter.cpp:
- (ObserverKey::ObserverKey): Init data to 0 before calling assignment op
- (ObserverKey::operator=): Free old string, release old ref if needed before copy
-
-2006-10-23 Adam Roben <aroben@apple.com>
-
- Build fix.
-
- * WebFrame.cpp: Change header paths to point to new platform/network
- directory and subdirectories.
- * WebFrame.h: Ditto.
- * WebURLResponse.cpp: Ditto.
- * WebURLResponse.h: Ditto.
- * WebView.cpp: Ditto.
- * WebKit.vcproj/WebKit.vcproj: Add platform/network and subdirectories
- to AdditionalIncludeDirectories.
-
-2006-10-23 Maciej Stachowiak <mjs@apple.com>
-
- Rubber-stamped by Anders.
-
- - fixed for ResourceLoader refactoring.
-
- * WebFrame.cpp:
- (WebFrame::didReceiveData):
- (WebFrame::didFinishLoading):
- * WebFrame.h:
-
-2006-10-21 Timothy Hatcher <timothy@apple.com>
-
- Reviewed by Geoff.
-
- Stub out the new shouldShowDeleteInterface method.
-
- * WebEditorClient.cpp:
- (WebEditorClient::shouldShowDeleteInterface):
- * WebEditorClient.h:
-
-2006-10-20 Dave Hyatt <hyatt@apple.com>
-
- Fix build bustage with spaces in names in cygwin home dirs with webkit's auto-version.sh script.
-
- * WebKit.vcproj/auto-version.sh:
-
- Fix a horrible memory leak with multiple windows. WebViews need to delete their backing stores.
-
- * WebView.cpp:
- (WebView::~WebView):
-
-2006-10-20 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Hyatt.
-
- Make the auto-version script work with paths that contain spaces
-
- * WebKit.vcproj/auto-version.sh:
-
-2006-10-20 Steve Falkenburg <sfalken@apple.com>
-
- Build fix.
-
- * WebView.cpp:
- (webKitVersion):
-
-2006-10-20 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Ada.
-
- <rdar://4778502> Boomer userAgent string needs to support pulling in proper build #, plus customization
-
- Useragent/versioning changes
-
- Stamp auto-generated version number into DLL and into user agent.
- Generate a real user agent string instead of hardcoding one.
- Support client supplying an application name for the user agent.
- Support client overriding the useragent (for debug menu).
- Support per-URL user agents (not used at least for now).
-
- Also fixed a bug I recently introduced that broke form submit.
-
- * WebFrame.cpp:
- (WebFrame::loadData): stash original request URL
- (WebFrame::loadHTMLString): stash original request URL
- (WebFrame::loadDataSource): stash original request URL
- (WebFrame::userAgentForURL): implemented
- (WebFrame::originalRequestURL): implemented
- * WebFrame.h: Changed FrameWinClient userAgent() to userAgentForURL in case we want to serve specific URLs for compatibility, added originalRequestURL
- * WebKit.vcproj/PRODUCTVERSION: Added.
- * WebKit.vcproj/VERSION: Added.
- * WebKit.vcproj/WebKit.rc: Stamp autogenerated version number at build time.
- * WebKit.vcproj/WebKit.vcproj: Stamp autogenerated version number at build time.
- * WebKit.vcproj/auto-version.sh: Added.
- * WebKit.vcproj/autoversion.h: Removed.
- * WebView.cpp:
- (WebView::WebView): Remove some no longer needed initialization
- (WebView::~WebView): Remove some no longer needed cleanup
- (osVersion): call to return the OS version as a string
- (language): call to return the language as a string
- (webKitVersion): call to return the version of WebKit as a string
- (WebView::userAgentForKURL): fast version of userAgentForURL (no BSTR marshalling)
- (WebView::initWithFrame): Use String instead of BSTR.
- (WebView::setApplicationNameForUserAgent): implemented
- (WebView::applicationNameForUserAgent): implemented
- (WebView::setCustomUserAgent): implemented
- (WebView::customUserAgent): implemented
- (WebView::userAgentForURL): implemented
- (WebView::setCustomTextEncodingName): switch to WebCore::String storage
- (WebView::customTextEncodingName): switch to WebCore::String storage
- (WebView::setGroupName): switch to WebCore::String storage
- (WebView::groupName): switch to WebCore::String storage
- (WebView::onNotify):
- * WebView.h: Switch over to using WebCore::Strings instead of BSTRs in a few places, added m_applicationName, removed m_frameName.
-
-2006-10-20 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Steve and Maciej.
-
- Adding knowledge of the Editor and EditorClient to Windows WebKit
-
- * Interfaces/IWebEditingDelegate.idl:
- needs IWebView.idl
-
- * WebEditorClient.cpp: Added
- (WebEditorClient::WebEditorClient):
- (WebEditorClient::~WebEditorClient):
- (WebEditorClient::shouldDeleteRange):
- (WebEditorClient::shouldBeginEditingInRange):
- (WebEditorClient::shouldEndEditingInRange):
- (WebEditorClient::shouldInsertNode):
- (WebEditorClient::shouldApplyStyle):
- (WebEditorClient::shouldChangeTypingStyle):
- (WebEditorClient::webViewDidBeginEditing):
- (WebEditorClient::webViewDidChange):
- (WebEditorClient::webViewDidEndEditing):
- (WebEditorClient::webViewDidChangeTypingStyle):
- (WebEditorClient::webViewDidChangeSelection):
-
- * WebEditorClient.h: Added.
-
- * WebFrame.cpp:
- (WebFrame::initWithWebFrameView):
- created an editor client
-
- * WebKit.vcproj/WebKit.vcproj:
- added WebEditorClient files
-
-2006-10-20 Steve Falkenburg <sfalken@apple.com>
-
- Implement (barely) more of DOMWindow.idl.
-
- * Interfaces/DOMWindow.idl:
-
-2006-10-20 Adam Roben <aroben@apple.com>
-
- Reviewed by Darin Adler.
-
- Build fix.
- Stubbing out DOMWindow.idl, which was forgotten in the last checkin.
-
- * Interfaces/DOMWindow.idl: Added.
-
-2006-10-19 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- <rdar://4771958>
- Holding down Ctrl when a redirect happens opens the redirected page in a new tab
-
- <rdar://4781981>
- View Source is using syntax highlighting and should probably punt on
- that (due to its many issues) and show the original data in a WebView
- as plaintext.
-
- Also added a bunch of DOM bindings for events.
-
- * DOMEventsClasses.cpp: Added.
- * DOMEventsClasses.h: Added.
- * Interfaces/DOMEvents.idl: Added.
- * WebFrame.cpp:
- (WebFrame::loadData): Implemented
- (WebFrame::openURL): Added triggeringEvent parameter
- * WebFrame.h: Added triggeringEvent parameter
- * WebKit.vcproj/Interfaces.vcproj: Added DOMEvents.idl, DOMWindow.idl
- * WebKit.vcproj/WebKit.vcproj: Added DOMEventsClasses.cpp, DOMEventsClasses.h
- * WebKit.vcproj/WebKitGUID.vcproj: Added DOMEvents_i.c
-
-2006-10-19 Anders Carlsson <acarlsson@apple.com>
-
- * WebFrame.cpp:
- (WebFrame::initWithWebFrameView):
- Build fix.
-
-2006-10-18 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Steve.
-
- Any file that #includes WebView.h also needed to include
- IWebURLResponse.h since IWebView.h needed it. Adding this
- to the IDL file.
-
- * Interfaces/IWebDataSource.idl:
- re-arranged imports because not all were being generated due to weird IDL file compiler bug
-
- * Interfaces/IWebView.idl:
- added reference to IWebURLResponse.h
-
- * WebFrame.cpp:
- * WebKitClassFactory.cpp:
- * WebView.cpp:
- removed reference to IWebURLResponse.h
-
-
-2006-10-18 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou.
-
- <rdar://4781998> Need API for setting the rendering modes
-
- Added font smoothing preference
- Fixed some COM interface typos
- Removed use of IWebImage (we use HBITMAP instead)
-
- * DOMHTMLClasses.cpp:
- (DOMHTMLDocument::body): fixed typos
- (DOMHTMLFormElement::elements): fixed typos
- (DOMHTMLInputElement::form): fixed typos
- (DOMHTMLTextAreaElement::form): fixed typos
- * DOMHTMLClasses.h: fixed typos
- * Interfaces/DOMCSS.idl: fixed typos
- * Interfaces/DOMHTML.idl: fixed typos
- * Interfaces/DOMRange.idl: fixed typos
- * Interfaces/IWebArchive.idl: fixed typos
- * Interfaces/IWebDataSource.idl: fixed typos
- * Interfaces/IWebDocument.idl: fixed typos
- * Interfaces/IWebEditingDelegate.idl: fixed typos
- * Interfaces/IWebFrameLoadDelegate.idl: fixed typos
- * Interfaces/IWebFrameView.idl: fixed typos
- * Interfaces/IWebHistoryItem.idl: fixed typos
- * Interfaces/IWebIconDatabase.idl: fixed typos
- * Interfaces/IWebImage.idl: Removed.
- * Interfaces/IWebPreferences.idl: added font smoothing getter/setter
- * Interfaces/IWebURLAuthenticationChallenge.idl:
- * Interfaces/IWebView.idl: fixed typos
- * Interfaces/WebKit.idl: removed IWebImage
- * WebDataSource.cpp:
- (WebDataSource::webArchive): fixed typos
- (WebDataSource::mainResource): fixed typos
- (WebDataSource::subresourceForURL): fixed typos
- * WebDataSource.h: fixed typos
- * WebHistoryItem.cpp:
- (WebHistoryItem::icon): fixed typos
- * WebHistoryItem.h: fixed typos
- * WebKit.vcproj/Interfaces.vcproj: removed IWebImage
- * WebKit.vcproj/WebKitGUID.vcproj: removed IWebImage
- * WebPreferenceKeysPrivate.h: added font smoothing prefs key
- * WebPreferences.cpp:
- (WebPreferences::initialize): font smoothing pref
- (WebPreferences::fontSmoothing): added
- (WebPreferences::setFontSmoothing): added
- * WebPreferences.h: added font smoothing getter/setter
- * WebView.cpp:
- (WebView::windowScriptObject): fixed typos
- (WebView::mainFrameIcon): removed IWebImage
- (WebView::undoManager): fixed typos
- * WebView.h:
-
-2006-10-17 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by ggaren.
-
- <rdar://4781999> History menu gets borked if you visit a page with no title.
- <rdar://4782002> The History menu is frequently utterly corrupted, with incorrect favicons next to mismatched titles.
- <rdar://4780252> Page titles in History menu are incorrect
- <rdar://4760334> Pages without title show an old title instead of a default title
-
- * Interfaces/IWebHistoryItemPrivate.idl: added setTitle to set title for a page after we receive it
- * WebFrame.cpp: Removed unnecessary WebFramePrivate::title
- (WebFrame::goToItem): Get back/forward list via frame-aware getter
- (WebFrame::receivedRedirect): Use BString
- (WebFrame::receivedResponse): Use BString. Get back/forward list, history via frame-aware getters.
- (WebFrame::createFrame): Use BString
- (WebFrame::submitForm): Clean up up BSTR usage
- (WebFrame::setTitle): Set title in back/forward, history when received
- (WebFrame::backForwardList): Frame-aware getter for back/forward
- (WebFrame::webHistory): Frame-aware getter for history
- * WebFrame.h: Added frame-aware getters for history, back/forward
- * WebHistory.cpp: Reorder includes.
- (WebHistory::QueryInterface): Support QI to WebHistory via CLSID (avoids yucky static cast in other places)
- * WebHistoryItem.cpp:
- (WebHistoryItem::setTitle): Added
- * WebHistoryItem.h: Added setTitle
- * WebView.cpp:
- (WebView::QueryInterface): Support QI to WebView via CLSID
-
-2006-10-17 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Maciej.
-
- Switch over to ICU 3.6
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-10-17 Oliver Hunt <oliver@apple.com>
-
- Reviewed by Brady.
-
- Fix flickering cursor
-
- * WebView.cpp:
- (registerWebViewWindowClass):
-
-2006-10-15 Adam Roben <aroben@apple.com>
-
- Reviewed by Geoff, Anders.
-
- Fix crash on startup.
-
- We were crashing somewhere inside Frame::setResourceRequest. I'm not
- sure what change made this start crashing.
-
- * WebFrame.cpp:
- (WebFrame::receivedResponse): Remove useless calls to
- Frame::resourceRequest and Frame::setResourceRequest.
-
-2006-10-13 Dave Hyatt <hyatt@apple.com>
-
- Make sure the backing store is flushed when themes are changed.
-
- Reviewed by aroben
-
- * WebView.cpp:
- (WebViewWndProc):
-
-2006-10-12 Adam Roben <aroben@apple.com>
-
- Build fix (broken by OpenSource r17006)
-
- * WebFrame.cpp:
- (WebFrame::receivedResponse):
-
-2006-10-12 Dave Hyatt <hyatt@apple.com>
-
- Implement full-blown double buffering (keeping a bitmap in the WebView that holds the backing store for it).
-
- Reviewed by mjs
-
- * WebFrame.cpp:
- (WebFrame::addToDirtyRegion):
- (WebFrame::scrollBackingStore):
- (WebFrame::updateBackingStore):
- * WebFrame.h:
- * WebView.cpp:
- (WebView::WebView):
- (WebView::ensureBackingStore):
- (WebView::addToDirtyRegion):
- (WebView::scrollBackingStore):
- (WebView::updateBackingStore):
- (WebView::paint):
- (WebView::paintIntoBackingStore):
- (WebView::paintIntoWindow):
- (WebViewWndProc):
- * WebView.h:
- (WebView::topLevelFrame):
-
-2006-10-10 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- <rdar://4775676>
- Crash in CoreFoundation parsing a "corrupt" plist
-
- Prevent crash when we encounter a corrupt history plist by using
- structured exception handling to catch the crash and return
- an empty history list.
-
- * WebHistory.cpp:
- (WebHistory::loadHistoryGutsFromURL):
-
-2006-10-11 Darin Adler <darin@apple.com>
-
- Reviewed by Beth.
-
- - fix problem where you can't type in subframes
-
- * WebView.cpp: (WebViewWndProc): Use WebView's focusedTargetFrame()
- function instead of sending everything to the main frame.
-
-2006-10-09 Brady Eidson <beidson@apple.com>
-
- Reviewed by Steve
-
- <rdar://4721579> - WebPreferences for IconDatabase hooked up
- This completes the above task by implementing the icon database location preference
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::init): Get the location from the prefs, fallback to the default via shell call
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::initialize):
- (WebPreferences::iconDatabaseLocation):
- (WebPreferences::setIconDatabaseLocation):
-
-2006-10-07 Adam Roben <aroben@apple.com>
-
- Reviewed by Anders.
-
- Merge of OpenSource r16884
- http://bugs.webkit.org/show_bug.cgi?id=11199
- Update Session History when a load is committed rather than completed.
-
- * WebFrame.cpp:
- (WebFrame::receivedResponse):
- (WebFrame::receivedAllData):
-
-2006-10-07 Adam Roben <aroben@apple.com>
-
- Reviewed by Steve.
-
- Fix for failed ASSERT on iBench.
-
- * WebFrame.cpp:
- (WebFrame::receivedAllData): Be a bit more lenient about what
- ResourceLoader has called WebFrame::receivedAllData
-
-2006-10-06 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Adam Roben, esq.
-
- Fixed <rdar://4768789> Crash on ebay.com in Frame::didOpenURL
-
- The issue was a resource loader making a callback to a
- frame after the frame had been destroyed. This doesn't happen on Mac
- because Mac WebKit cancels all loads before tearing down frames.
-
- The solution is to add a callback to Win WebKit to allow a frame
- to cancel its main resource load. This is a temporary work-around.
- It is temporary because it doesn't address pending subresource loads.
- The long-term solution we anticipate is to have a legitimate loader
- inside WebCore.
-
- * WebFrame.cpp:
- (WebFrame::loadDataSource):
- (WebFrame::stopMainResourceLoad):
- (WebFrame::receivedAllData):
- * WebFrame.h:
-
-006-10-06 Steve Falkenburg <sfalken@apple.com>
-
- Use a better versioning scheme.
-
- Out version #s for Boomer are the same as the last Mac
- submission + the addition of "b".
-
- This first versioned submission is 521.28b
-
- * WebKit.vcproj/WebKit.rc:
-
-2006-10-06 Steve Falkenburg <sfalken@apple.com>
-
- Bump version number.
-
- * WebKit.vcproj/WebKit.rc:
-
-2006-10-06 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam, Lou.
-
- <rdar://4754295> Corrupt history.plist = crash on startup
-
- Fix improper CF usage that likely led to retain/release imbalances.
-
- Resizer fixes.
- We now properly invalidate and draw overlapping contents or opaque.
-
- * Interfaces/IWebUIDelegatePrivate.idl:
- * WebFrame.cpp:
- (WebFrame::paintGripper):
- * WebHistory.cpp:
- (WebHistory::saveHistoryGuts):
- * WebHistoryItem.cpp:
- (WebHistoryItem::dictionaryRepresentation):
-
-2006-10-06 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by aroben.
-
- Scrollbars now dodge resizing gripper.
- Resizing gripper now paints via web ui delegate.
- Debug vcproj fixes.
- Fix redirects to search.com.
- Add support for painting and cursor tracking of resizer.
-
- * Interfaces/IWebUIDelegatePrivate.idl: added webViewDrawResizer.
- * WebFrame.cpp:
- (WebFrame::paint): added gripper drawing code.
- (WebFrame::receivedResponse): tell the app when we commit a page load.
- (WebFrame::windowResizerRect): added.
- (WebFrame::paintGripper): added.
- * WebFrame.h: added windowResizerRect, paintGripper.
- * WebKit.vcproj/WebKit.vcproj: Link against debug libs, debug MSVC library in debug build.
- * WebView.cpp:
- (WebView::WebView):
- (WebView::~WebView):
- (WebView::inResizer):
- (WebViewWndProc):
- (WebView::setUIDelegate):
- * WebView.h:
-
-2006-10-05 Dave Hyatt <hyatt@apple.com>
-
- Fix clipping and transforms by making sure to propagate them as they happen on the CGContext over into the HDC.
-
- * WebFrame.cpp:
- (WebFrame::paintSingleRect):
-
-2006-10-05 Adam Roben <aroben@apple.com>
-
- Build fix.
-
- * WebKit.vcproj/WebKitGUID.vcproj: Fix patch to IWebFramePrivate_i.c
-
-2006-10-05 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Maciej.
-
- A couple of changes needed for the new DumpRenderTree.
-
- * DOMCoreClasses.cpp:
- (DOMDocument::documentElement):
- Implement.
-
- * DOMHTMLClasses.cpp:
- (DOMHTMLElement::innerHTML):
- (DOMHTMLElement::setInnerHTML):
- (DOMHTMLElement::innerText):
- (DOMHTMLElement::setInnerText):
- * DOMHTMLClasses.h:
- (DOMHTMLFormElement::innerHTML):
- (DOMHTMLFormElement::setInnerHTML):
- (DOMHTMLFormElement::innerText):
- (DOMHTMLFormElement::setInnerText):
- (DOMHTMLSelectElement::innerHTML):
- (DOMHTMLSelectElement::setInnerHTML):
- (DOMHTMLSelectElement::innerText):
- (DOMHTMLSelectElement::setInnerText):
- (DOMHTMLOptionElement::innerHTML):
- (DOMHTMLOptionElement::setInnerHTML):
- (DOMHTMLOptionElement::innerText):
- (DOMHTMLOptionElement::setInnerText):
- (DOMHTMLInputElement::innerHTML):
- (DOMHTMLInputElement::setInnerHTML):
- (DOMHTMLInputElement::innerText):
- (DOMHTMLInputElement::setInnerText):
- (DOMHTMLTextAreaElement::innerHTML):
- (DOMHTMLTextAreaElement::setInnerHTML):
- (DOMHTMLTextAreaElement::innerText):
- (DOMHTMLTextAreaElement::setInnerText):
- * Interfaces/DOMHTML.idl:
- Implement innerText and add stubs for innerHTML, setInnerHTML and setInnerText.
-
- * Interfaces/IWebFramePrivate.idl: Added.
- * WebFrame.cpp:
- (WebFrame::QueryInterface):
- (WebFrame::renderTreeAsExternalRepresentation):
- (WebFrame::receivedAllData):
- Call Frame::end() before calling the frame load delegate methods. This matches the mac behavior.
-
- (WebFrame::didFirstLayout):
- (WebFrame::handledOnloadEvents):
- Add null checks for frameLoadDelegatePriv, all clients might not use it.
-
- * WebFrame.h:
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
- Add new interface, IWebFramePrivate, which supports getting the render tree as text.
-
-2006-10-05 Maciej Stachowiak <mjs@apple.com>
-
- Reviewed by Adam.
-
- - changed ResourceLoader to be refcounted
-
- It keeps a ref on itself while loading as well. This makes
- for a much saner memory management model than the previous.
-
- In addition, keep it ref'd across all of ResourceLoaderWndProc
- to avoid sending messages to jobs that get deleted partway.
-
- This fixes <rdar://problem/4766859> Crash in ResourceLoaderWndProc - line 232 at televisionwithoutpity.com, washingtonpost.com
-
-
- * WebFrame.cpp:
- (WebFrame::loadDataSource):
-
-2006-10-05 Dave Hyatt <hyatt@apple.com>
-
- Make key events work with iframes. Implement scrolling keyboard behavior. Fix a bug with mouse wheeling that
- made it fail on iframes nested within iframes.
-
- Reviewed by mjs
-
- * WebView.cpp:
- (WebView::handleMouseEvent):
- (WebView::focusedTarget):
- (WebView::focusedTargetFrame):
- (WebView::keyPress):
- (WebViewWndProc):
- * WebView.h:
-
-2006-10-04 Adele Peterson <adele@apple.com>
-
- Reviewed by Adam.
-
- - Fix for <rdar://problem/4762933> When typing past the end of a text field, the field doesn't auto-scroll to display the active caret
-
- Reveal the selection after inserting text.
-
- * WebView.cpp:
- (WebViewWndProc):
-
-2006-10-05 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- - fix <rdar://problem/4764253>
- frame targeting not implemented.
-
- * WebFrame.h: Added newWindow parameter to openURL and changed the URL
- parameter to a String.
- * WebFrame.cpp: (WebFrame::openURL): Changed code to use BString to convert
- the String to a BSTR. Also respect the newWindow parameter and changed the
- new window code slightly, adding a FIXME.
-
-2006-10-04 Dave Hyatt <hyatt@apple.com>
-
- Fix painting so that we only do a layout if one is really needed. This actually fixes the non-blinking caret in
- text fields.
-
- * WebFrame.cpp:
- (WebFrame::WebFramePrivate::needsLayout):
- (WebFrame::paint):
- (WebFrame::layoutIfNeeded):
- (WebFrame::setNeedsLayout):
- * WebFrame.h:
- * WebView.cpp:
- (WebViewWndProc):
-
-2006-10-03 Dave Hyatt <hyatt@apple.com>
-
- Implement the same smart rect painting algorithm that I implemented on Mac a while back (where sometimes we don't use
- the big unioned invalidation rect but instead paint single rects out of the update region.
-
- Reviewed by anders
-
- * WebFrame.cpp:
- (WebFrame::paint):
- (WebFrame::paintSingleRect):
- * WebFrame.h:
- * WebView.cpp:
- (WebViewWndProc):
- (WebView::initWithFrame):
-
-2006-10-03 Adam Roben <aroben@apple.com>
-
- Reviewed by Darin Adler.
-
- Part of fix for <rdar://problem/4603342>
- Keyboard navigability
-
- Implement methods to determine tabbing preferences.
-
- * WebFrame.cpp:
- (WebFrame::tabsToLinks):
- * WebFrame.h:
-
-2006-10-04 Darin Adler <darin@apple.com>
-
- Reviewed by Adam.
-
- * WebView.cpp: (WebView::handleMouseEvent): Pass message when creating a PlatformMouseEvent.
-
-2006-10-02 Adam Roben <aroben@apple.com>
-
- Backing out change from r10549 because it breaks installer builds.
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-10-02 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Geoff, Hyatt.
-
- <rdar://4757389> Browser locks up while navigating to a new page
- <rdar://4757407> Images fail to load at https://webmail.apple.com
-
- * WebFrame.cpp: Preserve old document until new doc has started loading.
- (WebFrame::loadDataSource): Don't destroy old document when a new load kicks off.
- (WebFrame::receivedResponse): Destroy old document when first data is received for new doc.
- * WebView.cpp: Fix painting suppression code.
- (WebViewWndProc): Suppress painting, mouse events until first layout instead of while loading.
-
-2006-10-02 Adam Roben <aroben@apple.com>
-
- Build fix: Don't copy WebKit(_debug).dll into $WebKitSDKDir
-
- * WebKit.vcproj/WebKit.vcproj: Remove xcopy call
-
-2006-09-30 Dave Hyatt <hyatt@apple.com>
-
- Switch over from SetDIBBitsToDevice to BitBlt, since BitBlt is supposedly faster according to MSDN.
-
- * WebFrame.cpp:
- (WebFrame::paint):
-
-2006-09-29 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Geoff.
-
- Allow WebKit to query for the rect
- of the resizer rather than just its size.
-
- * Interfaces/IWebUIDelegatePrivate.idl:
-
-2006-09-29 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam, Geoff.
-
- Fix <rdar://4757392>
- Plug-ins flash to white while scrolling.
-
- Set WS_CLIPCHILDREN on browser windows to clip out plug-in HWNDs
- when drawing.
-
- * WebView.cpp:
- (WebView::initWithFrame):
-
-2006-09-29 Dave Hyatt <hyatt@apple.com>
-
- Fix mouse event click handling to be correct.
-
- Reviewed by mjs
-
- * WebView.cpp:
- (WebView::handleMouseEvent):
- (WebViewWndProc):
- * WebView.h:
-
-2006-09-28 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Maciej.
-
- Use $(ConfigSuffix) set via vsprops files to add _debug
- to end of debug filenames.
-
- Update B&I build script.
- Don't register WebKit.dll during official builds.
-
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKit.make:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebKit.vcproj/WebKit_debug.def: Added.
- * WebKit.vcproj/debug.vsprops: Added.
- * WebKit.vcproj/release.vsprops: Added.
-
-2006-09-27 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Steve & Adam.
-
- This patch implements keyboard selection and select-all.
- This patch also hooks up engine side of copy/cut/paste but that won't work until we have clipboards.
-
- * Interfaces/IWebView.idl:
- Added enum for commands to be called by name
- * WebView.cpp:
- next 3 functions handle mouseevents so that multiple-click selection works
- (WebView::mouseMoved):
- (WebView::mouseDown):
- (WebView::mouseUp):
- (WebView::execCommand):
- Handled cut/copy/paste/delete/selectall
- (WebView::keyPress):
- Handled keyboard selection
- (WebViewWndProc):
- * WebView.h:
- Added prototype for execCommand function
-
-2006-09-27 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Maciej.
-
- Leave ChickenCat SDK untouched by build.
-
- This change will become necessary once we have JavaScriptCore,
- WebCore, WebKit, and SafariWin in the ChickenCat SDK.
-
- Prefer pulling project dependencies from WebKitOutputDir over
- WebKitSDKDir. Don't copy build output back over to WebKitSDKDir.
-
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebKit.vcproj/dstroot-to-sdk.cmd: Removed.
-
-2006-09-27 Steve Falkenburg <sfalken@apple.com>
-
- B&I build script tweaks.
-
- * WebKit.vcproj/WebKit.make:
-
-2006-09-27 Brady Eidson <beidson@apple.com>
-
- Reviewed by Steve
-
- -Flipped the icon database back to ON by default as the crasher is resolved in WebCore
- -WebHistoryItems now retain/release their URLs in the Icon DB
-
- * WebHistoryItem.cpp:
- (WebHistoryItem::WebHistoryItem): Make sure the shared icon database has been referenced
- (WebHistoryItem::initFromDictionaryRepresentation): Retain/release the url
- (WebHistoryItem::initWithURLString): Ditto
-
- * WebHistoryItem.h: Keep a static reference to the shared icon database
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::sharedWebIconDatabase): Added - for the shared WebIconDatabase object
- (WebIconDatabase::sharedIconDatabase): Changed to return the shared WebIconDatabase as the shared IWebIconDatabase
- * WebIconDatabase.h:
-
- * WebPreferences.cpp:
- (WebPreferences::initialize): IconDatabase ON by default
-
-2006-09-27 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam.
-
- Fix <rdar://problem/4753220>.
- Hang using bugreporter in Boomer.
-
- Force text into simple code path in all cases.
-
- * WebFrame.cpp:
- (FormValuesPropertyBag::GetPropertyInfo):
- * WebPreferences.cpp:
- (WebPreferences::initialize):
-
-2006-09-26 Steve Falkenburg <sfalken@apple.com>
-
- Build fix for clean release build.
-
- * WebKit.vcproj/WebKitGUID.vcproj:
-
-2006-09-27 Brady Eidson <beidson@apple.com>
-
- Disabled WebIconDatabase for now until I can figure out the crash...!
-
- * WebPreferences.cpp:
- (WebPreferences::initialize):
-
-2006-09-26 Steve Falkenburg <sfalken@apple.com>
-
- Build tweaks
-
- * WebKit.vcproj/WebKit.make: Added.
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-09-26 Sean Gies <seangies@apple.com>
-
- Reviewed by Brady Eidson.
-
- * WebFrame.cpp:
- (WebFrame::paint): Flip coordinates of CGBitmapContext.
-
-2006-09-26 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Adam Roben.
-
- Fixed encoding menu.
- Set mime type in request.
-
- * WebFrame.cpp:
- (WebFrame::receivedResponse):
- * WebView.cpp:
- (WebView::setCustomTextEncodingName):
-
-2006-09-26 Sean Gies <seangies@apple.com>
-
- Reviewed by Adam Roben.
-
- * WebKit.vcproj/WebKit.vcproj: Link to debug libraries for debug config.
- Copy debug libraries to target dir. Copy .pdb files along with .dll files.
- * WebKit.vcproj/WebKitGUID.vcproj: Link to Debug DLL C runtime.
-
-2006-09-26 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Geoff.
-
- Don't add subframes to global history or back/forward.
-
- * WebFrame.cpp:
- (WebFrame::receivedAllData):
- (WebFrame::createFrame):
-
-2006-09-26 Dave Hyatt <hyatt@apple.com>
-
- Make sure we respond to Windows XP theme changes in the engine.
-
- Reviewed by andersca
-
- * WebView.cpp:
- (WebViewWndProc):
-
-2006-09-25 Steve Falkenburg <sfalken@apple.com>
-
- Add missing parameters to CG paint case.
-
- * WebFrame.cpp:
- (WebFrame::paint):
-
-2006-09-24 Steve Falkenburg <sfalken@apple.com>
-
- Implemented WM_PRINTCLIENT so we can take a screenshot
- of the current webpage for the "Report Bugs to Apple" sheet.
-
- Also may be useful in initial printing hook-up.
-
- * WebFrame.cpp:
- (WebFrame::paint):
- * WebFrame.h:
- * WebView.cpp:
- (WebViewWndProc):
-
-2006-09-22 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Ada.
-
- Added IWebUIDelegatePrivate::webViewResizerSize so the engine can
- leave space for the vertical scroll bar.
-
- * Interfaces/IWebUIDelegatePrivate.idl: Added.
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
-
-2006-09-22 Alice Liu <alice.liu@apple.com>
-
- Reviewed by Adele.
-
- Windows release build fix
-
- * WebFrame.cpp:
- (WebFrame::initWithWebFrameView):
-
-2006-09-21 Geoffrey Garen <ggaren@apple.com>
-
- Reviewed by Maciej, Hyatt, Steve.
-
- frames!
-
- Prep work:
- - fixed WebFrame/WebView circular reference leak: ownership now looks like this
- (same as Mac):
- - WebView -> WebCore::Page -> WebCore::Frame
- -> WebFrame
- -> WebCore::FrameTree -> WebCore::Frame...
- - fixed notification center circular reference leak: The notification center
- no longer retains its clients; clients must take care to remove themselves
- upon destruction.
-
- Real work:
- - The WebView's onSize handler now updates the frame geometry of the main frame.
- This used to happen implicitly, since the WebView window and the main frame were
- synonymous.
-
- - Changed WebFrame painting code to use WebCore's FrameView painting code instead
- of rolling its own.
-
- - Removed WebFrame::initWithName from the public COM API and replaced it with
- the private initializer, WebFrame::initWithWebFrameView. We intend to deprecate
- initWithName on Mac because it's meaningless -- only WebCore should create frames.
-
-2006-09-21 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Anders.
-
- <rdar://4516072>
- <rdar://4601320>
-
- Implemented JavaScript alert/confirm/prompt inside app.
- This is done via IWebUIDelegate.
-
- * WebFrame.cpp:
- (WebFrame::userAgent):
- (WebFrame::runJavaScriptAlert):
- (WebFrame::runJavaScriptConfirm):
- (WebFrame::runJavaScriptPrompt):
- * WebFrame.h:
-
-2006-09-21 Sean Gies <seangies@apple.com>
-
- Reviewed by Adam Roben.
-
- Support form controls when rendering with CG.
- Fix some re-painting issues.
-
- * WebFrame.cpp: (WebFrame::paint):
- Added debug code to flash redrawn area.
- Construct GraphicsContext using DIB HDC, rather than a CGContext.
- Blit offscreen buffer using the dirty rectangle's offset.
-
-2006-09-21 Sean Gies <seangies@apple.com>
-
- Reviewed by Adam Roben.
-
- * WebKit.vcproj/WebKit.vcproj: Link against CoreGraphics.
-
-2006-09-21 Dave Hyatt <hyatt@apple.com>
-
- Implement mouse wheel scrolling on Win32.
-
- * WebView.cpp:
- (WebView::mouseWheel):
- (WebViewWndProc):
- * WebView.h:
-
-2006-09-20 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Ada Chan.
-
- <rdar://4601547> Character encoding menu/switching
-
- Encoding menu and prefs pop-up are now hooked up and working.
-
- There's currently a problem where the encoding doesn't get
- picked up out of the incoming HTML document out of <meta>, so
- the text encoding menu comes in especially handy at the moment.
-
- * Interfaces/IWebDataSource.idl:
- * WebDataSource.cpp:
- (WebDataSource::WebDataSource):
- (WebDataSource::~WebDataSource):
- (WebDataSource::overrideEncoding):
- (WebDataSource::setOverrideEncoding):
- (WebDataSource::QueryInterface):
- (WebDataSource::textEncodingName):
- * WebDataSource.h:
- * WebFrame.cpp:
- (WebFrame::WebFrame):
- (WebFrame::loadRequest):
- (WebFrame::reloadAllowingStaleDataWithOverrideEncoding):
- (WebFrame::receivedResponse):
- (WebFrame::receivedData):
- (WebFrame::receivedAllData):
- * WebFrame.h:
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebMutableURLRequest.cpp:
- (WebMutableURLRequest::WebMutableURLRequest):
- (WebMutableURLRequest::setCachePolicy):
- * WebMutableURLRequest.h:
- * WebURLResponse.cpp:
- (WebURLResponse::textEncodingName):
- * WebView.cpp:
- (WebView::WebView):
- (WebView::supportsTextEncoding):
- (WebView::setCustomTextEncodingName):
- (WebView::customTextEncodingName):
- * WebView.h:
-
-2006-09-20 Brady Eidson <beidson@apple.com>
-
- Reviewed by Steve
-
- Hooked up the preference for enabled/disabling the icon database
-
- * Interfaces/IWebPreferences.idl:
- * WebIconDatabase.cpp:
- (WebIconDatabase::init):
- * WebPreferenceKeysPrivate.h:
- * WebPreferences.cpp:
- (WebPreferences::initialize):
- (WebPreferences::iconDatabaseEnabled):
- (WebPreferences::setIconDatabaseEnabled):
- * WebPreferences.h:
-
-2006-09-20 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- Removed an overzealous assertion that was made irrelevant by an earlier checking to WebCore::IconDatabase
-
- * WebIconDatabase.cpp:
- (WebIconDatabase::init):
-
-2006-09-18 Sean Gies <seangies@apple.com>
-
- Reviewed by Adam Roben.
-
- * WebKit.vcproj/WebKit.vcproj: Link to CoreGraphics and copy its binaries to output dir.
-
-2006-09-18 Adam Roben <aroben@apple.com>
-
- Build fix (release).
-
- * WebHistory.cpp:
- (_WebCoreHistoryProvider::containsItemForURLLatin1): Remove unused HRESULT.
- (_WebCoreHistoryProvider::containsItemForURLUnicode): Ditto.
-
-2006-09-17 Adam Roben <aroben@apple.com>
-
- Build fix.
-
- * WebView.cpp:
- (WebView::keyPress): Add new "userTriggered" argument to calls to
- SelectionController::modify
-
-2006-09-15 Adam Roben <aroben@apple.com>
-
- Reviewed by sfalken.
-
- Implement historyContains() on Windows (rdar://4733770)
-
- * WebHistory.cpp: Add new private _WebCoreHistoryProvider class.
- (WebHistory::setOptionalSharedHistory): Call
- WebCore::WebCoreHistory::setHistoryProvider so that WebCore can access
- history.
- (WebHistory::itemForURL): Extract itemForURLString method.
- (WebHistory::itemForURLString): Added.
- (WebHistory::containsItemForURLString): Added.
- (_WebCoreHistoryProvider::_WebCoreHistoryProvider): Added.
- (_WebCoreHistoryProvider::~_WebCoreHistoryProvider): Added.
- (matchLetter): Ported from Mac's WebHistory.m.
- (matchUnicodeLetter): Ditto.
- (_WebCoreHistoryProvider::containsItemForURLLatin1): Ditto.
- (_WebCoreHistoryProvider::containsItemForURLUnicode): Ditto.
- * WebHistory.h: Fix typo: IID_WebHistoryItemPrivate -->
- IID_WebHistoryPrivate, added new methods to IWebHistoryPrivate and
- WebHistory
-
-2006-09-14 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou Amadio.
-
- iBench fix - fix null deref in form submission case without a form element.
-
- * WebFrame.cpp:
- (WebFrame::submitForm):
-
-2006-09-12 Steve Falkenburg <sfalken@apple.com>
-
- Get Boomer ready for B&I submission.
-
- Projects can now all build independent of one another
- without groping for headers or source across trees.
-
- * DOMCSSClasses.cpp: Use more explicit include paths to highlight external headers.
- * DOMCSSClasses.h: Use more explicit include paths to highlight external headers.
- * DOMCoreClasses.cpp: Use more explicit include paths to highlight external headers.
- * DOMHTMLClasses.cpp: Use more explicit include paths to highlight external headers.
- * WebDataSource.cpp: Use more explicit include paths to highlight external headers.
- * WebFrame.cpp: Use more explicit include paths to highlight external headers.
- * WebFrame.h: Use more explicit include paths to highlight external headers.
- * WebHTMLRepresentation.cpp: Use more explicit include paths to highlight external headers.
- * WebHistory.cpp: Fix capitalization of wtf.
- * WebKit.vcproj/Interfaces.vcproj: Updated to new obj layout.
- * WebKit.vcproj/WebKit.sln: Updated standalone sln for use by B&I.
- * WebKit.vcproj/WebKit.vcproj: Updated to new obj layout.
- * WebKit.vcproj/WebKitGUID.vcproj: Updated to new obj layout.
- * WebKit.vcproj/dstroot-to-sdk.cmd: Copy built bits back to WebKitSDKDir for dependent builds.
- * WebKitDLL.cpp: Use more explicit include paths to highlight external headers.
- * WebNotificationCenter.cpp: Use more explicit include paths to highlight external headers.
- * WebPreferences.cpp: Fix capitalization of wtf.
- * WebURLResponse.cpp: Use more explicit include paths to highlight external headers.
- * WebURLResponse.h: Use more explicit include paths to highlight external headers.
- * WebView.cpp: Use more explicit include paths to highlight external headers.
-
-2006-09-13 Ada Chan <adachan@apple.com>
-
- Reviewed by sfalken
-
- - WebBackForwardList::containsItem()
- - we can break once we've found the item
- - Fixed a crashing bug with WebNotificationCenter::addObserver.
-
- * WebBackForwardList.cpp:
- (WebBackForwardList::containsItem):
- * WebNotificationCenter.cpp:
- (ObserverKey::ObserverKey):
- (ObserverKey::operator=):
-
-2006-09-10 Brady Eidson <beidson@apple.com>
-
- Reviewed by Steve Falkenburg
-
- Made changes to IWebIconDatabase and implemented it in WebIconDatabase
-
- * Interfaces/IWebIconDatabase.idl: Returns HBITMAPs, not IWebImages
- * WebIconDatabase.cpp:
- (WebIconDatabase::WebIconDatabase):
- (userIconDatabasePath): Get the user's datapath via a shell call
- (WebIconDatabase::init): Initialize the WebCore::IconDatabase
- (WebIconDatabase::sharedIconDatabase): Get the shared IWebIconDatabase
- (WebIconDatabase::iconForURL): Implemented
- (WebIconDatabase::defaultIconWithSize): Ditto
- (WebIconDatabase::retainIconForURL): Ditto
- (WebIconDatabase::releaseIconForURL): Ditto
- (createDIB): Created a DIB of a given size for storage in a hash
- (WebIconDatabase::getOrCreateSharedBitmap): Get a "shared" bitmap from the hash, or create and store it
- (WebIconDatabase::getOrCreateDefaultIconBitmap): Ditto for the Default Icons HBITMAPs
- * WebIconDatabase.h:
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-09-10 Steve Falkenburg <sfalken@apple.com>
-
- Rubber-stamp by aroben.
-
- Pick up SDK from $(WebKitSDKDir).
-
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-09-09 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by aroben.
-
- Boomer SDK migration. Pull all external dependencies in from Boomer SDK.
-
- SDK should be installed into C:\AppleInternal
- (substitute your system drive letter for C - scripts don't hard-code the drive letter)
-
- Also fixed CFNetwork build variant
-
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebURLResponse.cpp:
- (WebURLResponse::createInstance):
-
-2006-09-08 Brady Eidson <beidson@apple.com>
-
- Reviewed by Adam
-
- Add stubs for an IconDatabase path stored as a preference
-
- * Interfaces/IWebPreferences.idl:
- * WebPreferences.cpp:
- (WebPreferences::iconDatabaseLocation):
- (WebPreferences::setIconDatabaseLocation):
- * WebPreferences.h:
-
-2006-09-07 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou Amadio.
-
- Fix CFArray allocator usage for cases where we store CF types in the array.
-
- * WebHistory.cpp:
- (WebHistory::WebHistory):
- (WebHistory::datesArray):
-
-2006-09-06 Brady Eidson <beidson@apple.com>
-
- Reviewed by Steve and Sarge
-
- Added urlIcon.png as a resource for WebCore images
-
- * WebKit.vcproj/WebKit.rc:
- * WebKit.vcproj/resource.h:
- * WebKit.vcproj/urlIcon.png: Added.
- * WebKitDLL.cpp:
- (loadResourceIntoArray): Added case for "urlIcon"
-
-2006-09-06 Adam Roben <aroben@apple.com>
-
- Reviewed by Darin Adler.
-
- Fixed various Windows build problems caused by previous checkins.
-
- * WebKitDLL.h: Disable deprecation warning triggered by using std::copy on a Vector.
- * WebView.cpp:
- (WebView::keyPress): Rename selection to selectionController.
-
-2006-09-05 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou Amadio.
-
- File Open/Save <rdar://4601527>
- Implemened Save As to save raw page source (we don't support web archives).
-
- Currently we are saving a copy of the raw data in the FrameView (to
- return when requested via IWebDataSource::data). This needs to be
- shared with CFNetwork once CFNetwork integration is complete.
-
- * MemoryStream.cpp: Added.
- (MemoryStream::MemoryStream):
- (MemoryStream::~MemoryStream):
- (MemoryStream::createInstance):
- (MemoryStream::QueryInterface):
- (MemoryStream::AddRef):
- (MemoryStream::Release):
- (MemoryStream::Read):
- (MemoryStream::Write):
- (MemoryStream::Seek):
- (MemoryStream::SetSize):
- (MemoryStream::CopyTo):
- (MemoryStream::Commit):
- (MemoryStream::Revert):
- (MemoryStream::LockRegion):
- (MemoryStream::UnlockRegion):
- (MemoryStream::Stat):
- (MemoryStream::Clone):
- * MemoryStream.h: Added.
- * WebDataSource.cpp:
- (WebDataSource::data):
- * WebFrame.cpp:
- (WebFrame::controlsInForm):
- (WebFrame::canProvideDocumentSource):
- (WebFrame::receivedResponse):
- (WebFrame::receivedData):
- * WebFrame.h:
- (WebFrame::data):
- * WebHTMLRepresentation.cpp:
- (WebHTMLRepresentation::canProvideDocumentSource):
- * WebKit.vcproj/WebKit.vcproj:
- * WebURLResponse.cpp:
- (WebURLResponse::createInstance):
- (WebURLResponse::suggestedFilename):
- (WebURLResponse::suggestedFileExtension):
- * WebURLResponse.h:
-
-2006-09-01 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by adachan.
-
- Process redirects received in networking layer through to application.
- With this change, the address bar url edit field shows the proper
- redirected URL.
-
- Fixed GetAsyncKeyState() calls.
-
- * WebFrame.cpp:
- (WebFrame::receivedRedirect):
- * WebMutableURLRequest.cpp:
- (WebMutableURLRequest::setURL):
-
-2006-09-01 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by kevin.
-
- Fix back/forward regression.
-
- Combining the two receivedAllData methods into one broke back/forward navigation,
- since we put the resetting of m_quickRedirectComing and m_loadType at the start
- of the combined method, but have code in the rest of receivedAllData that
- relies on these having their old values.
-
- * WebFrame.cpp:
- (WebFrame::receivedAllData):
-
-2006-08-30 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Ada Chan.
-
- Forms Auto-complete checkpoint.
- Generic forms autocomplete drop-downs are now functional.
- Address book autocomplete (and credit card autocomplete) is not functional.
-
- To do:
- - username/password pairs autofill
- - address book autofill
- - single-click autofill
- - credit card autofill
- - keychain equivalent secure store for username/passwords and credit cards
- (we currently use DPAPI to encrypt the form values plist but will want to
- protect this more sensitive info using an additional user supplied password)
-
- DOMCoreClasses.cpp,.h:
- Fix typo in DOMNode::QueryInterface.
- Add IDOMViewCSS.
- Additional DOMDocument implementation.
- Add IDOMNodeExtensions, IDOMElementCSSInlineStyle, IDOMElementExtensions.
-
- DOMCSSClasses.h:
- Added.
-
- DOMHTMLClasses.cpp,.h:
- Additional implementation.
-
- WebFrame.cpp,.h:
- Added IWebFormSubmissionListener.
- Additional implementation.
-
- DOMPrivate.idl:
- Added.
-
- DOMCore.idl:
- Add IDOMElementCSSInlineStyle
- Add IDOMElementExtensions
-
- DOMExtensions.idl:
- Added
-
- IWebFormDelegate.idl:
- Fix typos.
-
- DOMCSS.idl:
- Added IDOMViewCSS.
-
- DOMHTML.idl:
- Add selectionStart, selectionEnd.
-
- DOMCSSClasses.cpp:
- Added.
-
- WebKitGUID.vcproj:
- Added DOMExtensions_i.c, DOMPrivate_i.c.
-
- Interfaces.vcproj:
- Added DOMExtensions.idl, DOMPrivate.idl.
-
- WebKit.vcproj:
- Added DOMCSSClasses.cpp.
-
- WebHTMLRepresentation.cpp:
- Implemented elementIsPassword, controlsInForm.
-
- * DOMCSSClasses.cpp: Added.
- (DOMCSSStyleDeclaration::DOMCSSStyleDeclaration):
- (DOMCSSStyleDeclaration::~DOMCSSStyleDeclaration):
- (DOMCSSStyleDeclaration::createInstance):
- (DOMCSSStyleDeclaration::QueryInterface):
- (DOMCSSStyleDeclaration::cssText):
- (DOMCSSStyleDeclaration::setCssText):
- (DOMCSSStyleDeclaration::getPropertyValue):
- (DOMCSSStyleDeclaration::getPropertyCSSValue):
- (DOMCSSStyleDeclaration::removeProperty):
- (DOMCSSStyleDeclaration::getPropertyPriority):
- (DOMCSSStyleDeclaration::setProperty):
- (DOMCSSStyleDeclaration::length):
- (DOMCSSStyleDeclaration::item):
- (DOMCSSStyleDeclaration::parentRule):
- * DOMCSSClasses.h: Added.
- (DOMCSSStyleDeclaration::AddRef):
- (DOMCSSStyleDeclaration::Release):
- (DOMCSSStyleDeclaration::throwException):
- (DOMCSSStyleDeclaration::callWebScriptMethod):
- (DOMCSSStyleDeclaration::evaluateWebScript):
- (DOMCSSStyleDeclaration::removeWebScriptKey):
- (DOMCSSStyleDeclaration::stringRepresentation):
- (DOMCSSStyleDeclaration::webScriptValueAtIndex):
- (DOMCSSStyleDeclaration::setWebScriptValueAtIndex):
- (DOMCSSStyleDeclaration::setException):
- * DOMCoreClasses.cpp:
- (DOMNode::QueryInterface):
- (DOMDocument::QueryInterface):
- (DOMDocument::getElementsByTagNameNS):
- (DOMDocument::getComputedStyle):
- (DOMDocument::DOMDocument):
- (DOMDocument::~DOMDocument):
- (DOMDocument::createInstance):
- (DOMElement::QueryInterface):
- (DOMElement::lineBoxRects):
- (DOMElement::focus):
- (DOMElement::blur):
- (DOMElement::style):
- (DOMElement::offsetLeft):
- (DOMElement::offsetTop):
- (DOMElement::offsetWidth):
- (DOMElement::offsetHeight):
- (DOMElement::offsetParent):
- (DOMElement::clientWidth):
- (DOMElement::clientHeight):
- (DOMElement::scrollLeft):
- (DOMElement::setScrollLeft):
- (DOMElement::scrollTop):
- (DOMElement::setScrollTop):
- (DOMElement::scrollWidth):
- (DOMElement::scrollHeight):
- (DOMElement::scrollIntoView):
- (DOMElement::scrollIntoViewIfNeeded):
- * DOMCoreClasses.h:
- (DOMDocument::AddRef):
- (DOMDocument::Release):
- (DOMDocument::document):
- * DOMHTMLClasses.cpp:
- (DOMHTMLSelectElement::QueryInterface):
- (DOMHTMLSelectElement::activateItemAtIndex):
- (DOMHTMLInputElement::QueryInterface):
- (DOMHTMLInputElement::disabled):
- (DOMHTMLInputElement::setValue):
- (DOMHTMLInputElement::select):
- (DOMHTMLInputElement::click):
- (DOMHTMLInputElement::setSelectionStart):
- (DOMHTMLInputElement::selectionStart):
- (DOMHTMLInputElement::setSelectionEnd):
- (DOMHTMLInputElement::selectionEnd):
- (DOMHTMLInputElement::isTextField):
- (DOMHTMLInputElement::rectOnScreen):
- (DOMHTMLInputElement::replaceCharactersInRange):
- (DOMHTMLInputElement::selectedRange):
- (DOMHTMLInputElement::setAutofilled):
- * DOMHTMLClasses.h:
- (DOMHTMLDocument::DOMHTMLDocument):
- (DOMHTMLDocument::doctype):
- (DOMHTMLDocument::implementation):
- (DOMHTMLDocument::documentElement):
- (DOMHTMLDocument::createElement):
- (DOMHTMLDocument::createDocumentFragment):
- (DOMHTMLDocument::createTextNode):
- (DOMHTMLDocument::createComment):
- (DOMHTMLDocument::createCDATASection):
- (DOMHTMLDocument::createProcessingInstruction):
- (DOMHTMLDocument::createAttribute):
- (DOMHTMLDocument::createEntityReference):
- (DOMHTMLDocument::getElementsByTagName):
- (DOMHTMLDocument::importNode):
- (DOMHTMLDocument::createElementNS):
- (DOMHTMLDocument::createAttributeNS):
- (DOMHTMLDocument::getElementsByTagNameNS):
- (DOMHTMLDocument::getElementById):
- (DOMHTMLElement::focus):
- (DOMHTMLElement::blur):
- (DOMHTMLFormElement::focus):
- (DOMHTMLFormElement::blur):
- (DOMHTMLSelectElement::focus):
- (DOMHTMLSelectElement::blur):
- (DOMHTMLOptionElement::focus):
- (DOMHTMLOptionElement::blur):
- (DOMHTMLInputElement::focus):
- (DOMHTMLInputElement::blur):
- (DOMHTMLTextAreaElement::focus):
- (DOMHTMLTextAreaElement::blur):
- * Interfaces/DOMCSS.idl:
- * Interfaces/DOMCore.idl:
- * Interfaces/DOMExtensions.idl: Added.
- * Interfaces/DOMHTML.idl:
- * Interfaces/DOMPrivate.idl: Added.
- * Interfaces/IWebFormDelegate.idl:
- * WebFrame.cpp:
- (FormValuesPropertyBag::FormValuesPropertyBag):
- (FormValuesPropertyBag::QueryInterface):
- (FormValuesPropertyBag::AddRef):
- (FormValuesPropertyBag::Release):
- (FormValuesPropertyBag::Read):
- (FormValuesPropertyBag::Write):
- (FormValuesPropertyBag::CountProperties):
- (FormValuesPropertyBag::GetPropertyInfo):
- (FormValuesPropertyBag::LoadObject):
- (WebFrame::WebFrame):
- (WebFrame::QueryInterface):
- (WebFrame::DOMDocument):
- (WebFrame::continueSubmit):
- (WebFrame::elementWithName):
- (WebFrame::formForElement):
- (WebFrame::elementDoesAutoComplete):
- (WebFrame::controlsInForm):
- (WebFrame::elementIsPassword):
- (WebFrame::submitForm):
- (WebFrame::doTextFieldCommandFromEvent):
- (WebFrame::textWillBeDeletedInTextField):
- (WebFrame::textDidChangeInTextArea):
- * WebFrame.h:
- * WebHTMLRepresentation.cpp:
- (WebHTMLRepresentation::elementIsPassword):
- (WebHTMLRepresentation::controlsInForm):
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
-
-2006-08-29 Anders Carlsson <acarlsson@apple.com>
-
- Reviewed by Ada.
-
- * WebKitDLL.cpp:
- (DllMain):
- Set the global instance handle.
-
-2006-08-28 Ada Chan <adachan@apple.com>
-
- Reviewed by sfalken.
-
- Free a malloc'ed string in an error condition.
-
- * MarshallingHelpers.cpp:
- (MarshallingHelpers::BSTRToCFStringRef):
-
-2006-08-25 David Hyatt <hyatt@apple.com>
-
- Add code path for doing painting of a WebFrame using CG.
-
- * WebFrame.cpp:
- (WebFrame::paint):
-
-2006-08-24 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Ada Chan.
-
- Forms autocomplete checkpoint
-
- DOMCoreClasses.cpp/.h
- Add missing DOMNode methods
- Add IDOMElementPrivate
- Implement DOMElement::boundingBox
- Implement DOMElement::getAttribute
-
- DOMHTMLClasses.cpp
- Implemented DOMHTMLInputElement::value
-
- IWebViewPrivate.idl
- WebView.cpp/.h
- Added IWebViewPrivate::scrollOffset
-
- IWebHTMLRepresentation.idl
- WebHTMLRepresentation.cpp/.h
- WebKitGUID.vcproj
- Interfaces.vcproj
- WebKit.vcproj
- Added IWebHTMLRepresentation
-
- WebDataSource.cpp/.h
- Implemented WebDataSource::representation
-
- IWebFrame.idl
- WebFrame.cpp/.h
- Fixed typos in some methods
- Add additional methods to support representation
-
- DOMCore.idl
- Add missing methods
- Add IDOMElementPrivate
-
- * DOMCoreClasses.cpp:
- (DOMNode::isSameNode):
- (DOMNode::isEqualNode):
- (DOMNode::textContent):
- (DOMNode::setTextContent):
- (DOMNode::boundingBox):
- (DOMNode::lineBoxRects):
- (DOMElement::QueryInterface):
- (DOMElement::boundingBox):
- (DOMElement::getAttribute):
- (DOMElement::coreElement):
- (DOMElement::isEqual):
- * DOMCoreClasses.h:
- (DOMDocument::isSameNode):
- (DOMDocument::isEqualNode):
- (DOMDocument::textContent):
- (DOMDocument::setTextContent):
- (DOMDocument::boundingBox):
- (DOMDocument::lineBoxRects):
- (DOMElement::isSameNode):
- (DOMElement::isEqualNode):
- (DOMElement::textContent):
- (DOMElement::setTextContent):
- (DOMElement::lineBoxRects):
- (DOMElement::element):
- * DOMHTMLClasses.cpp:
- (DOMHTMLInputElement::value):
- * DOMHTMLClasses.h:
- (DOMHTMLDocument::isSameNode):
- (DOMHTMLDocument::isEqualNode):
- (DOMHTMLDocument::textContent):
- (DOMHTMLDocument::setTextContent):
- (DOMHTMLDocument::boundingBox):
- (DOMHTMLDocument::lineBoxRects):
- (DOMHTMLElement::isSameNode):
- (DOMHTMLElement::isEqualNode):
- (DOMHTMLElement::textContent):
- (DOMHTMLElement::setTextContent):
- (DOMHTMLElement::boundingBox):
- (DOMHTMLElement::lineBoxRects):
- (DOMHTMLFormElement::isSameNode):
- (DOMHTMLFormElement::isEqualNode):
- (DOMHTMLFormElement::textContent):
- (DOMHTMLFormElement::setTextContent):
- (DOMHTMLFormElement::boundingBox):
- (DOMHTMLFormElement::lineBoxRects):
- (DOMHTMLSelectElement::isSameNode):
- (DOMHTMLSelectElement::isEqualNode):
- (DOMHTMLSelectElement::textContent):
- (DOMHTMLSelectElement::setTextContent):
- (DOMHTMLSelectElement::boundingBox):
- (DOMHTMLSelectElement::lineBoxRects):
- (DOMHTMLOptionElement::isSameNode):
- (DOMHTMLOptionElement::isEqualNode):
- (DOMHTMLOptionElement::textContent):
- (DOMHTMLOptionElement::setTextContent):
- (DOMHTMLOptionElement::boundingBox):
- (DOMHTMLOptionElement::lineBoxRects):
- (DOMHTMLInputElement::isSameNode):
- (DOMHTMLInputElement::isEqualNode):
- (DOMHTMLInputElement::textContent):
- (DOMHTMLInputElement::setTextContent):
- (DOMHTMLInputElement::boundingBox):
- (DOMHTMLInputElement::lineBoxRects):
- (DOMHTMLTextAreaElement::isSameNode):
- (DOMHTMLTextAreaElement::isEqualNode):
- (DOMHTMLTextAreaElement::textContent):
- (DOMHTMLTextAreaElement::setTextContent):
- (DOMHTMLTextAreaElement::boundingBox):
- (DOMHTMLTextAreaElement::lineBoxRects):
- * Interfaces/DOMCore.idl:
- * Interfaces/IWebFrame.idl:
- * Interfaces/IWebHTMLRepresentation.idl: Added.
- * Interfaces/IWebViewPrivate.idl:
- * WebDataSource.cpp:
- (WebDataSource::WebDataSource):
- (WebDataSource::~WebDataSource):
- (WebDataSource::createInstance):
- (WebDataSource::initWithRequest):
- (WebDataSource::representation):
- (WebDataSource::webFrame):
- * WebDataSource.h:
- * WebFrame.cpp:
- (formElementFromDOMElement):
- (inputElementFromDOMElement):
- (WebFrame::webView):
- (WebFrame::frameView):
- (WebFrame::frameElement):
- (WebFrame::elementWithName):
- (WebFrame::formForElement):
- (WebFrame::elementDoesAutoComplete):
- * WebFrame.h:
- * WebHTMLRepresentation.cpp: Added.
- (WebHTMLRepresentation::WebHTMLRepresentation):
- (WebHTMLRepresentation::~WebHTMLRepresentation):
- (WebHTMLRepresentation::createInstance):
- (WebHTMLRepresentation::QueryInterface):
- (WebHTMLRepresentation::AddRef):
- (WebHTMLRepresentation::Release):
- (WebHTMLRepresentation::supportedMIMETypes):
- (WebHTMLRepresentation::supportedNonImageMIMETypes):
- (WebHTMLRepresentation::supportedImageMIMETypes):
- (WebHTMLRepresentation::attributedStringFromDOMNodes):
- (WebHTMLRepresentation::elementWithName):
- (WebHTMLRepresentation::elementDoesAutoComplete):
- (WebHTMLRepresentation::elementIsPassword):
- (WebHTMLRepresentation::formForElement):
- (WebHTMLRepresentation::currentForm):
- (WebHTMLRepresentation::controlsInForm):
- (WebHTMLRepresentation::searchForLabels):
- (WebHTMLRepresentation::matchLabels):
- (WebHTMLRepresentation::setDataSource):
- (WebHTMLRepresentation::receivedData):
- (WebHTMLRepresentation::receivedError):
- (WebHTMLRepresentation::finishedLoadingWithDataSource):
- (WebHTMLRepresentation::canProvideDocumentSource):
- (WebHTMLRepresentation::documentSource):
- (WebHTMLRepresentation::title):
- * WebHTMLRepresentation.h: Added.
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKit.vcproj:
- * WebKit.vcproj/WebKitGUID.vcproj:
- * WebView.cpp:
- (WebView::scrollOffset):
- * WebView.h:
-
-2006-08-23 Ada Chan <adachan@apple.com>
-
- Reviewed by sfalken.
-
- Fixed WebHistory::removeItem() to actually remove the item from history.
-
- * WebHistory.cpp:
- (WebHistory::removeItem):
-
-2006-08-22 Steve Falkenburg <sfalken@apple.com>
-
- Reviewed by Lou Amadio.
-
- Interface changes/additions in preparation for forms autofill.
-
- IWebView.idl
- WebView.cpp/.h
- Added missing methods.
-
- IWebViewPrivate.idl
- Added calls to set/get FrameLoadDelegatePrivate
-
- IWebScriptObject.idl
- Fixed typo
-
- DOMHTML.idl
- WebScriptObject.cpp/.h
- DOMCoreClasses.cpp/.h
- DOMHTMLClasses.cpp/.h
- WebKit.vcproj
- Added additional DOM interfaces
-
- WebFrame.cpp/.h
- Fix key handling typo.
- Bridge IWebFormDelegate calls.
- Bridge IWebFrameLoadDelegatePrivate calls.
-
- TemporaryLinkStubs.cpp
- Removed handledOnloadEvents (now implemented).
-
- FrameWin.cpp/.h
- Bridge IWebFrameLoadDelegatePrivate calls.
-
- * DOMCoreClasses.cpp: Added.
- (DOMObject::QueryInterface):
- (DOMNode::QueryInterface):
- (DOMNode::nodeName):
- (DOMNode::nodeValue):
- (DOMNode::setNodeValue):
- (DOMNode::nodeType):
- (DOMNode::parentNode):
- (DOMNode::childNodes):
- (DOMNode::firstChild):
- (DOMNode::lastChild):
- (DOMNode::previousSibling):
- (DOMNode::nextSibling):
- (DOMNode::attributes):
- (DOMNode::ownerDocument):
- (DOMNode::insertBefore):
- (DOMNode::replaceChild):
- (DOMNode::removeChild):
- (DOMNode::appendChild):
- (DOMNode::hasChildNodes):
- (DOMNode::cloneNode):
- (DOMNode::normalize):
- (DOMNode::isSupported):
- (DOMNode::namespaceURI):
- (DOMNode::prefix):
- (DOMNode::setPrefix):
- (DOMNode::localName):
- (DOMNode::hasAttributes):
- (DOMDocument::QueryInterface):
- (DOMDocument::doctype):
- (DOMDocument::implementation):
- (DOMDocument::documentElement):
- (DOMDocument::createElement):
- (DOMDocument::createDocumentFragment):
- (DOMDocument::createTextNode):
- (DOMDocument::createComment):
- (DOMDocument::createCDATASection):
- (DOMDocument::createProcessingInstruction):
- (DOMDocument::createAttribute):
- (DOMDocument::createEntityReference):
- (DOMDocument::getElementsByTagName):
- (DOMDocument::importNode):
- (DOMDocument::createElementNS):
- (DOMDocument::createAttributeNS):
- (DOMDocument::getElementsByTagNameNS):
- (DOMDocument::getElementById):
- (DOMElement::QueryInterface):
- (DOMElement::tagName):
- (DOMElement::getAttribute):
- (DOMElement::setResult):
- (DOMElement::removeAttribute):
- (DOMElement::getAttributeNode):
- (DOMElement::setAttributeNode):
- (DOMElement::removeAttributeNode):
- (DOMElement::getElementsByTagName):
- (DOMElement::getAttributeNS):
- (DOMElement::setAttributeNS):
- (DOMElement::removeAttributeNS):
- (DOMElement::getAttributeNodeNS):
- (DOMElement::setAttributeNodeNS):
- (DOMElement::getElementsByTagNameNS):
- (DOMElement::hasAttribute):
- (DOMElement::hasAttributeNS):
- (DOMElement::DOMElement):
- (DOMElement::~DOMElement):
- (DOMElement::createInstance):
- * DOMCoreClasses.h: Added.
- (DOMObject::AddRef):
- (DOMObject::Release):
- (DOMObject::throwException):
- (DOMObject::callWebScriptMethod):
- (DOMObject::evaluateWebScript):
- (DOMObject::removeWebScriptKey):
- (DOMObject::stringRepresentation):
- (DOMObject::webScriptValueAtIndex):
- (DOMObject::setWebScriptValueAtIndex):
- (DOMObject::setException):
- (DOMNode::AddRef):
- (DOMNode::Release):
- (DOMNode::throwException):
- (DOMNode::callWebScriptMethod):
- (DOMNode::evaluateWebScript):
- (DOMNode::removeWebScriptKey):
- (DOMNode::stringRepresentation):
- (DOMNode::webScriptValueAtIndex):
- (DOMNode::setWebScriptValueAtIndex):
- (DOMNode::setException):
- (DOMDocument::AddRef):
- (DOMDocument::Release):
- (DOMDocument::throwException):
- (DOMDocument::callWebScriptMethod):
- (DOMDocument::evaluateWebScript):
- (DOMDocument::removeWebScriptKey):
- (DOMDocument::stringRepresentation):
- (DOMDocument::webScriptValueAtIndex):
- (DOMDocument::setWebScriptValueAtIndex):
- (DOMDocument::setException):
- (DOMDocument::nodeName):
- (DOMDocument::nodeValue):
- (DOMDocument::setNodeValue):
- (DOMDocument::nodeType):
- (DOMDocument::parentNode):
- (DOMDocument::childNodes):
- (DOMDocument::firstChild):
- (DOMDocument::lastChild):
- (DOMDocument::previousSibling):
- (DOMDocument::nextSibling):
- (DOMDocument::attributes):
- (DOMDocument::ownerDocument):
- (DOMDocument::insertBefore):
- (DOMDocument::replaceChild):
- (DOMDocument::removeChild):
- (DOMDocument::appendChild):
- (DOMDocument::hasChildNodes):
- (DOMDocument::cloneNode):
- (DOMDocument::normalize):
- (DOMDocument::isSupported):
- (DOMDocument::namespaceURI):
- (DOMDocument::prefix):
- (DOMDocument::setPrefix):
- (DOMDocument::localName):
- (DOMDocument::hasAttributes):
- (DOMElement::AddRef):
- (DOMElement::Release):
- (DOMElement::throwException):
- (DOMElement::callWebScriptMethod):
- (DOMElement::evaluateWebScript):
- (DOMElement::removeWebScriptKey):
- (DOMElement::stringRepresentation):
- (DOMElement::webScriptValueAtIndex):
- (DOMElement::setWebScriptValueAtIndex):
- (DOMElement::setException):
- (DOMElement::nodeName):
- (DOMElement::nodeValue):
- (DOMElement::setNodeValue):
- (DOMElement::nodeType):
- (DOMElement::parentNode):
- (DOMElement::childNodes):
- (DOMElement::firstChild):
- (DOMElement::lastChild):
- (DOMElement::previousSibling):
- (DOMElement::nextSibling):
- (DOMElement::attributes):
- (DOMElement::ownerDocument):
- (DOMElement::insertBefore):
- (DOMElement::replaceChild):
- (DOMElement::removeChild):
- (DOMElement::appendChild):
- (DOMElement::hasChildNodes):
- (DOMElement::cloneNode):
- (DOMElement::normalize):
- (DOMElement::isSupported):
- (DOMElement::namespaceURI):
- (DOMElement::prefix):
- (DOMElement::setPrefix):
- (DOMElement::localName):
- (DOMElement::hasAttributes):
- * DOMHTMLClasses.cpp: Added.
- (DOMHTMLCollection::QueryInterface):
- (DOMHTMLCollection::length):
- (DOMHTMLCollection::item):
- (DOMHTMLCollection::namedItem):
- (DOMHTMLOptionsCollection::QueryInterface):
- (DOMHTMLOptionsCollection::length):
- (DOMHTMLOptionsCollection::setLength):
- (DOMHTMLOptionsCollection::item):
- (DOMHTMLOptionsCollection::namedItem):
- (DOMHTMLDocument::QueryInterface):
- (DOMHTMLDocument::title):
- (DOMHTMLDocument::setTitle):
- (DOMHTMLDocument::referrer):
- (DOMHTMLDocument::domain):
- (DOMHTMLDocument::URL):
- (DOMHTMLDocument::body):
- (DOMHTMLDocument::setBody):
- (DOMHTMLDocument::images):
- (DOMHTMLDocument::applets):
- (DOMHTMLDocument::links):
- (DOMHTMLDocument::forms):
- (DOMHTMLDocument::anchors):
- (DOMHTMLDocument::cookie):
- (DOMHTMLDocument::setCookie):
- (DOMHTMLDocument::open):
- (DOMHTMLDocument::close):
- (DOMHTMLDocument::write):
- (DOMHTMLDocument::writeln):
- (DOMHTMLDocument::getElementById_):
- (DOMHTMLDocument::getElementsByName):
- (DOMHTMLElement::QueryInterface):
- (DOMHTMLElement::idName):
- (DOMHTMLElement::setIdName):
- (DOMHTMLElement::title):
- (DOMHTMLElement::setTitle):
- (DOMHTMLElement::lang):
- (DOMHTMLElement::setLang):
- (DOMHTMLElement::dir):
- (DOMHTMLElement::setDir):
- (DOMHTMLElement::className):
- (DOMHTMLElement::setClassName):
- (DOMHTMLFormElement::QueryInterface):
- (DOMHTMLFormElement::elements):
- (DOMHTMLFormElement::length):
- (DOMHTMLFormElement::name):
- (DOMHTMLFormElement::setName):
- (DOMHTMLFormElement::acceptCharset):
- (DOMHTMLFormElement::setAcceptCharset):
- (DOMHTMLFormElement::action):
- (DOMHTMLFormElement::setAction):
- (DOMHTMLFormElement::encType):
- (DOMHTMLFormElement::setEnctype):
- (DOMHTMLFormElement::method):
- (DOMHTMLFormElement::setMethod):
- (DOMHTMLFormElement::target):
- (DOMHTMLFormElement::setTarget):
- (DOMHTMLFormElement::submit):
- (DOMHTMLFormElement::reset):
- (DOMHTMLSelectElement::QueryInterface):
- (DOMHTMLSelectElement::type):
- (DOMHTMLSelectElement::selectedIndex):
- (DOMHTMLSelectElement::setSelectedIndx):
- (DOMHTMLSelectElement::value):
- (DOMHTMLSelectElement::setValue):
- (DOMHTMLSelectElement::length):
- (DOMHTMLSelectElement::form):
- (DOMHTMLSelectElement::options):
- (DOMHTMLSelectElement::disabled):
- (DOMHTMLSelectElement::setDisabled):
- (DOMHTMLSelectElement::multiple):
- (DOMHTMLSelectElement::setMultiple):
- (DOMHTMLSelectElement::name):
- (DOMHTMLSelectElement::setName):
- (DOMHTMLSelectElement::size):
- (DOMHTMLSelectElement::setSize):
- (DOMHTMLSelectElement::tabIndex):
- (DOMHTMLSelectElement::setTabIndex):
- (DOMHTMLSelectElement::add):
- (DOMHTMLSelectElement::remove):
- (DOMHTMLSelectElement::blur):
- (DOMHTMLSelectElement::focus):
- (DOMHTMLOptionElement::QueryInterface):
- (DOMHTMLOptionElement::form):
- (DOMHTMLOptionElement::defaultSelected):
- (DOMHTMLOptionElement::setDefaultSelected):
- (DOMHTMLOptionElement::text):
- (DOMHTMLOptionElement::index):
- (DOMHTMLOptionElement::disabled):
- (DOMHTMLOptionElement::setDisabled):
- (DOMHTMLOptionElement::label):
- (DOMHTMLOptionElement::setLabel):
- (DOMHTMLOptionElement::selected):
- (DOMHTMLOptionElement::setSelected):
- (DOMHTMLOptionElement::value):
- (DOMHTMLOptionElement::setValue):
- (DOMHTMLInputElement::QueryInterface):
- (DOMHTMLInputElement::defaultValue):
- (DOMHTMLInputElement::setDefaultValue):
- (DOMHTMLInputElement::defaultChecked):
- (DOMHTMLInputElement::setDefaultChecked):
- (DOMHTMLInputElement::form):
- (DOMHTMLInputElement::accept):
- (DOMHTMLInputElement::setAccept):
- (DOMHTMLInputElement::accessKey):
- (DOMHTMLInputElement::setAccessKey):
- (DOMHTMLInputElement::align):
- (DOMHTMLInputElement::setAlign):
- (DOMHTMLInputElement::alt):
- (DOMHTMLInputElement::setAlt):
- (DOMHTMLInputElement::checked):
- (DOMHTMLInputElement::setChecked):
- (DOMHTMLInputElement::disabled):
- (DOMHTMLInputElement::setDisabled):
- (DOMHTMLInputElement::maxLength):
- (DOMHTMLInputElement::setMaxLength):
- (DOMHTMLInputElement::name):
- (DOMHTMLInputElement::setName):
- (DOMHTMLInputElement::readOnly):
- (DOMHTMLInputElement::setReadOnly):
- (DOMHTMLInputElement::size):
- (DOMHTMLInputElement::setSize):
- (DOMHTMLInputElement::src):
- (DOMHTMLInputElement::setSrc):
- (DOMHTMLInputElement::tabIndex):
- (DOMHTMLInputElement::setTabIndex):
- (DOMHTMLInputElement::type):
- (DOMHTMLInputElement::setType):
- (DOMHTMLInputElement::useMap):
- (DOMHTMLInputElement::setUseMap):
- (DOMHTMLInputElement::value):
- (DOMHTMLInputElement::setValue):
- (DOMHTMLInputElement::blur):
- (DOMHTMLInputElement::focus):
- (DOMHTMLInputElement::select):
- (DOMHTMLInputElement::click):
- (DOMHTMLTextAreaElement::QueryInterface):
- (DOMHTMLTextAreaElement::defaultValue):
- (DOMHTMLTextAreaElement::setDefaultValue):
- (DOMHTMLTextAreaElement::form):
- (DOMHTMLTextAreaElement::accessKey):
- (DOMHTMLTextAreaElement::setAccessKey):
- (DOMHTMLTextAreaElement::cols):
- (DOMHTMLTextAreaElement::setCols):
- (DOMHTMLTextAreaElement::disabled):
- (DOMHTMLTextAreaElement::setDisabled):
- (DOMHTMLTextAreaElement::name):
- (DOMHTMLTextAreaElement::setName):
- (DOMHTMLTextAreaElement::readOnly):
- (DOMHTMLTextAreaElement::setReadOnly):
- (DOMHTMLTextAreaElement::rows):
- (DOMHTMLTextAreaElement::setRows):
- (DOMHTMLTextAreaElement::tabIndex):
- (DOMHTMLTextAreaElement::setTabIndex):
- (DOMHTMLTextAreaElement::type):
- (DOMHTMLTextAreaElement::value):
- (DOMHTMLTextAreaElement::setValue):
- (DOMHTMLTextAreaElement::blur):
- (DOMHTMLTextAreaElement::focus):
- (DOMHTMLTextAreaElement::select):
- * DOMHTMLClasses.h: Added.
- (DOMHTMLCollection::AddRef):
- (DOMHTMLCollection::Release):
- (DOMHTMLCollection::throwException):
- (DOMHTMLCollection::callWebScriptMethod):
- (DOMHTMLCollection::evaluateWebScript):
- (DOMHTMLCollection::removeWebScriptKey):
- (DOMHTMLCollection::stringRepresentation):
- (DOMHTMLCollection::webScriptValueAtIndex):
- (DOMHTMLCollection::setWebScriptValueAtIndex):
- (DOMHTMLCollection::setException):
- (DOMHTMLOptionsCollection::AddRef):
- (DOMHTMLOptionsCollection::Release):
- (DOMHTMLOptionsCollection::throwException):
- (DOMHTMLOptionsCollection::callWebScriptMethod):
- (DOMHTMLOptionsCollection::evaluateWebScript):
- (DOMHTMLOptionsCollection::removeWebScriptKey):
- (DOMHTMLOptionsCollection::stringRepresentation):
- (DOMHTMLOptionsCollection::webScriptValueAtIndex):
- (DOMHTMLOptionsCollection::setWebScriptValueAtIndex):
- (DOMHTMLOptionsCollection::setException):
- (DOMHTMLDocument::AddRef):
- (DOMHTMLDocument::Release):
- (DOMHTMLDocument::throwException):
- (DOMHTMLDocument::callWebScriptMethod):
- (DOMHTMLDocument::evaluateWebScript):
- (DOMHTMLDocument::removeWebScriptKey):
- (DOMHTMLDocument::stringRepresentation):
- (DOMHTMLDocument::webScriptValueAtIndex):
- (DOMHTMLDocument::setWebScriptValueAtIndex):
- (DOMHTMLDocument::setException):
- (DOMHTMLDocument::nodeName):
- (DOMHTMLDocument::nodeValue):
- (DOMHTMLDocument::setNodeValue):
- (DOMHTMLDocument::nodeType):
- (DOMHTMLDocument::parentNode):
- (DOMHTMLDocument::childNodes):
- (DOMHTMLDocument::firstChild):
- (DOMHTMLDocument::lastChild):
- (DOMHTMLDocument::previousSibling):
- (DOMHTMLDocument::nextSibling):
- (DOMHTMLDocument::attributes):
- (DOMHTMLDocument::ownerDocument):
- (DOMHTMLDocument::insertBefore):
- (DOMHTMLDocument::replaceChild):
- (DOMHTMLDocument::removeChild):
- (DOMHTMLDocument::appendChild):
- (DOMHTMLDocument::hasChildNodes):
- (DOMHTMLDocument::cloneNode):
- (DOMHTMLDocument::normalize):
- (DOMHTMLDocument::isSupported):
- (DOMHTMLDocument::namespaceURI):
- (DOMHTMLDocument::prefix):
- (DOMHTMLDocument::setPrefix):
- (DOMHTMLDocument::localName):
- (DOMHTMLDocument::hasAttributes):
- (DOMHTMLElement::DOMHTMLElement):
- (DOMHTMLElement::AddRef):
- (DOMHTMLElement::Release):
- (DOMHTMLElement::throwException):
- (DOMHTMLElement::callWebScriptMethod):
- (DOMHTMLElement::evaluateWebScript):
- (DOMHTMLElement::removeWebScriptKey):
- (DOMHTMLElement::stringRepresentation):
- (DOMHTMLElement::webScriptValueAtIndex):
- (DOMHTMLElement::setWebScriptValueAtIndex):
- (DOMHTMLElement::setException):
- (DOMHTMLElement::nodeName):
- (DOMHTMLElement::nodeValue):
- (DOMHTMLElement::setNodeValue):
- (DOMHTMLElement::nodeType):
- (DOMHTMLElement::parentNode):
- (DOMHTMLElement::childNodes):
- (DOMHTMLElement::firstChild):
- (DOMHTMLElement::lastChild):
- (DOMHTMLElement::previousSibling):
- (DOMHTMLElement::nextSibling):
- (DOMHTMLElement::attributes):
- (DOMHTMLElement::ownerDocument):
- (DOMHTMLElement::insertBefore):
- (DOMHTMLElement::replaceChild):
- (DOMHTMLElement::removeChild):
- (DOMHTMLElement::appendChild):
- (DOMHTMLElement::hasChildNodes):
- (DOMHTMLElement::cloneNode):
- (DOMHTMLElement::normalize):
- (DOMHTMLElement::isSupported):
- (DOMHTMLElement::namespaceURI):
- (DOMHTMLElement::prefix):
- (DOMHTMLElement::setPrefix):
- (DOMHTMLElement::localName):
- (DOMHTMLElement::hasAttributes):
- (DOMHTMLElement::tagName):
- (DOMHTMLElement::getAttribute):
- (DOMHTMLElement::setResult):
- (DOMHTMLElement::removeAttribute):
- (DOMHTMLElement::getAttributeNode):
- (DOMHTMLElement::setAttributeNode):
- (DOMHTMLElement::removeAttributeNode):
- (DOMHTMLElement::getElementsByTagName):
- (DOMHTMLElement::getAttributeNS):
- (DOMHTMLElement::setAttributeNS):
- (DOMHTMLElement::removeAttributeNS):
- (DOMHTMLElement::getAttributeNodeNS):
- (DOMHTMLElement::setAttributeNodeNS):
- (DOMHTMLElement::getElementsByTagNameNS):
- (DOMHTMLElement::hasAttribute):
- (DOMHTMLElement::hasAttributeNS):
- (DOMHTMLFormElement::DOMHTMLFormElement):
- (DOMHTMLFormElement::AddRef):
- (DOMHTMLFormElement::Release):
- (DOMHTMLFormElement::throwException):
- (DOMHTMLFormElement::callWebScriptMethod):
- (DOMHTMLFormElement::evaluateWebScript):
- (DOMHTMLFormElement::removeWebScriptKey):
- (DOMHTMLFormElement::stringRepresentation):
- (DOMHTMLFormElement::webScriptValueAtIndex):
- (DOMHTMLFormElement::setWebScriptValueAtIndex):
- (DOMHTMLFormElement::setException):
- (DOMHTMLFormElement::nodeName):
- (DOMHTMLFormElement::nodeValue):
- (DOMHTMLFormElement::setNodeValue):
- (DOMHTMLFormElement::nodeType):
- (DOMHTMLFormElement::parentNode):
- (DOMHTMLFormElement::childNodes):
- (DOMHTMLFormElement::firstChild):
- (DOMHTMLFormElement::lastChild):
- (DOMHTMLFormElement::previousSibling):
- (DOMHTMLFormElement::nextSibling):
- (DOMHTMLFormElement::attributes):
- (DOMHTMLFormElement::ownerDocument):
- (DOMHTMLFormElement::insertBefore):
- (DOMHTMLFormElement::replaceChild):
- (DOMHTMLFormElement::removeChild):
- (DOMHTMLFormElement::appendChild):
- (DOMHTMLFormElement::hasChildNodes):
- (DOMHTMLFormElement::cloneNode):
- (DOMHTMLFormElement::normalize):
- (DOMHTMLFormElement::isSupported):
- (DOMHTMLFormElement::namespaceURI):
- (DOMHTMLFormElement::prefix):
- (DOMHTMLFormElement::setPrefix):
- (DOMHTMLFormElement::localName):
- (DOMHTMLFormElement::hasAttributes):
- (DOMHTMLFormElement::tagName):
- (DOMHTMLFormElement::getAttribute):
- (DOMHTMLFormElement::setResult):
- (DOMHTMLFormElement::removeAttribute):
- (DOMHTMLFormElement::getAttributeNode):
- (DOMHTMLFormElement::setAttributeNode):
- (DOMHTMLFormElement::removeAttributeNode):
- (DOMHTMLFormElement::getElementsByTagName):
- (DOMHTMLFormElement::getAttributeNS):
- (DOMHTMLFormElement::setAttributeNS):
- (DOMHTMLFormElement::removeAttributeNS):
- (DOMHTMLFormElement::getAttributeNodeNS):
- (DOMHTMLFormElement::setAttributeNodeNS):
- (DOMHTMLFormElement::getElementsByTagNameNS):
- (DOMHTMLFormElement::hasAttribute):
- (DOMHTMLFormElement::hasAttributeNS):
- (DOMHTMLFormElement::idName):
- (DOMHTMLFormElement::setIdName):
- (DOMHTMLFormElement::title):
- (DOMHTMLFormElement::setTitle):
- (DOMHTMLFormElement::lang):
- (DOMHTMLFormElement::setLang):
- (DOMHTMLFormElement::dir):
- (DOMHTMLFormElement::setDir):
- (DOMHTMLFormElement::className):
- (DOMHTMLFormElement::setClassName):
- (DOMHTMLSelectElement::DOMHTMLSelectElement):
- (DOMHTMLSelectElement::AddRef):
- (DOMHTMLSelectElement::Release):
- (DOMHTMLSelectElement::throwException):
- (DOMHTMLSelectElement::callWebScriptMethod):
- (DOMHTMLSelectElement::evaluateWebScript):
- (DOMHTMLSelectElement::removeWebScriptKey):
- (DOMHTMLSelectElement::stringRepresentation):
- (DOMHTMLSelectElement::webScriptValueAtIndex):
- (DOMHTMLSelectElement::setWebScriptValueAtIndex):
- (DOMHTMLSelectElement::setException):
- (DOMHTMLSelectElement::nodeName):
- (DOMHTMLSelectElement::nodeValue):
- (DOMHTMLSelectElement::setNodeValue):
- (DOMHTMLSelectElement::nodeType):
- (DOMHTMLSelectElement::parentNode):
- (DOMHTMLSelectElement::childNodes):
- (DOMHTMLSelectElement::firstChild):
- (DOMHTMLSelectElement::lastChild):
- (DOMHTMLSelectElement::previousSibling):
- (DOMHTMLSelectElement::nextSibling):
- (DOMHTMLSelectElement::attributes):
- (DOMHTMLSelectElement::ownerDocument):
- (DOMHTMLSelectElement::insertBefore):
- (DOMHTMLSelectElement::replaceChild):
- (DOMHTMLSelectElement::removeChild):
- (DOMHTMLSelectElement::appendChild):
- (DOMHTMLSelectElement::hasChildNodes):
- (DOMHTMLSelectElement::cloneNode):
- (DOMHTMLSelectElement::normalize):
- (DOMHTMLSelectElement::isSupported):
- (DOMHTMLSelectElement::namespaceURI):
- (DOMHTMLSelectElement::prefix):
- (DOMHTMLSelectElement::setPrefix):
- (DOMHTMLSelectElement::localName):
- (DOMHTMLSelectElement::hasAttributes):
- (DOMHTMLSelectElement::tagName):
- (DOMHTMLSelectElement::getAttribute):
- (DOMHTMLSelectElement::setResult):
- (DOMHTMLSelectElement::removeAttribute):
- (DOMHTMLSelectElement::getAttributeNode):
- (DOMHTMLSelectElement::setAttributeNode):
- (DOMHTMLSelectElement::removeAttributeNode):
- (DOMHTMLSelectElement::getElementsByTagName):
- (DOMHTMLSelectElement::getAttributeNS):
- (DOMHTMLSelectElement::setAttributeNS):
- (DOMHTMLSelectElement::removeAttributeNS):
- (DOMHTMLSelectElement::getAttributeNodeNS):
- (DOMHTMLSelectElement::setAttributeNodeNS):
- (DOMHTMLSelectElement::getElementsByTagNameNS):
- (DOMHTMLSelectElement::hasAttribute):
- (DOMHTMLSelectElement::hasAttributeNS):
- (DOMHTMLSelectElement::idName):
- (DOMHTMLSelectElement::setIdName):
- (DOMHTMLSelectElement::title):
- (DOMHTMLSelectElement::setTitle):
- (DOMHTMLSelectElement::lang):
- (DOMHTMLSelectElement::setLang):
- (DOMHTMLSelectElement::dir):
- (DOMHTMLSelectElement::setDir):
- (DOMHTMLSelectElement::className):
- (DOMHTMLSelectElement::setClassName):
- (DOMHTMLOptionElement::DOMHTMLOptionElement):
- (DOMHTMLOptionElement::AddRef):
- (DOMHTMLOptionElement::Release):
- (DOMHTMLOptionElement::throwException):
- (DOMHTMLOptionElement::callWebScriptMethod):
- (DOMHTMLOptionElement::evaluateWebScript):
- (DOMHTMLOptionElement::removeWebScriptKey):
- (DOMHTMLOptionElement::stringRepresentation):
- (DOMHTMLOptionElement::webScriptValueAtIndex):
- (DOMHTMLOptionElement::setWebScriptValueAtIndex):
- (DOMHTMLOptionElement::setException):
- (DOMHTMLOptionElement::nodeName):
- (DOMHTMLOptionElement::nodeValue):
- (DOMHTMLOptionElement::setNodeValue):
- (DOMHTMLOptionElement::nodeType):
- (DOMHTMLOptionElement::parentNode):
- (DOMHTMLOptionElement::childNodes):
- (DOMHTMLOptionElement::firstChild):
- (DOMHTMLOptionElement::lastChild):
- (DOMHTMLOptionElement::previousSibling):
- (DOMHTMLOptionElement::nextSibling):
- (DOMHTMLOptionElement::attributes):
- (DOMHTMLOptionElement::ownerDocument):
- (DOMHTMLOptionElement::insertBefore):
- (DOMHTMLOptionElement::replaceChild):
- (DOMHTMLOptionElement::removeChild):
- (DOMHTMLOptionElement::appendChild):
- (DOMHTMLOptionElement::hasChildNodes):
- (DOMHTMLOptionElement::cloneNode):
- (DOMHTMLOptionElement::normalize):
- (DOMHTMLOptionElement::isSupported):
- (DOMHTMLOptionElement::namespaceURI):
- (DOMHTMLOptionElement::prefix):
- (DOMHTMLOptionElement::setPrefix):
- (DOMHTMLOptionElement::localName):
- (DOMHTMLOptionElement::hasAttributes):
- (DOMHTMLOptionElement::tagName):
- (DOMHTMLOptionElement::getAttribute):
- (DOMHTMLOptionElement::setResult):
- (DOMHTMLOptionElement::removeAttribute):
- (DOMHTMLOptionElement::getAttributeNode):
- (DOMHTMLOptionElement::setAttributeNode):
- (DOMHTMLOptionElement::removeAttributeNode):
- (DOMHTMLOptionElement::getElementsByTagName):
- (DOMHTMLOptionElement::getAttributeNS):
- (DOMHTMLOptionElement::setAttributeNS):
- (DOMHTMLOptionElement::removeAttributeNS):
- (DOMHTMLOptionElement::getAttributeNodeNS):
- (DOMHTMLOptionElement::setAttributeNodeNS):
- (DOMHTMLOptionElement::getElementsByTagNameNS):
- (DOMHTMLOptionElement::hasAttribute):
- (DOMHTMLOptionElement::hasAttributeNS):
- (DOMHTMLOptionElement::idName):
- (DOMHTMLOptionElement::setIdName):
- (DOMHTMLOptionElement::title):
- (DOMHTMLOptionElement::setTitle):
- (DOMHTMLOptionElement::lang):
- (DOMHTMLOptionElement::setLang):
- (DOMHTMLOptionElement::dir):
- (DOMHTMLOptionElement::setDir):
- (DOMHTMLOptionElement::className):
- (DOMHTMLOptionElement::setClassName):
- (DOMHTMLInputElement::DOMHTMLInputElement):
- (DOMHTMLInputElement::AddRef):
- (DOMHTMLInputElement::Release):
- (DOMHTMLInputElement::throwException):
- (DOMHTMLInputElement::callWebScriptMethod):
- (DOMHTMLInputElement::evaluateWebScript):
- (DOMHTMLInputElement::removeWebScriptKey):
- (DOMHTMLInputElement::stringRepresentation):
- (DOMHTMLInputElement::webScriptValueAtIndex):
- (DOMHTMLInputElement::setWebScriptValueAtIndex):
- (DOMHTMLInputElement::setException):
- (DOMHTMLInputElement::nodeName):
- (DOMHTMLInputElement::nodeValue):
- (DOMHTMLInputElement::setNodeValue):
- (DOMHTMLInputElement::nodeType):
- (DOMHTMLInputElement::parentNode):
- (DOMHTMLInputElement::childNodes):
- (DOMHTMLInputElement::firstChild):
- (DOMHTMLInputElement::lastChild):
- (DOMHTMLInputElement::previousSibling):
- (DOMHTMLInputElement::nextSibling):
- (DOMHTMLInputElement::attributes):
- (DOMHTMLInputElement::ownerDocument):
- (DOMHTMLInputElement::insertBefore):
- (DOMHTMLInputElement::replaceChild):
- (DOMHTMLInputElement::removeChild):
- (DOMHTMLInputElement::appendChild):
- (DOMHTMLInputElement::hasChildNodes):
- (DOMHTMLInputElement::cloneNode):
- (DOMHTMLInputElement::normalize):
- (DOMHTMLInputElement::isSupported):
- (DOMHTMLInputElement::namespaceURI):
- (DOMHTMLInputElement::prefix):
- (DOMHTMLInputElement::setPrefix):
- (DOMHTMLInputElement::localName):
- (DOMHTMLInputElement::hasAttributes):
- (DOMHTMLInputElement::tagName):
- (DOMHTMLInputElement::getAttribute):
- (DOMHTMLInputElement::setResult):
- (DOMHTMLInputElement::removeAttribute):
- (DOMHTMLInputElement::getAttributeNode):
- (DOMHTMLInputElement::setAttributeNode):
- (DOMHTMLInputElement::removeAttributeNode):
- (DOMHTMLInputElement::getElementsByTagName):
- (DOMHTMLInputElement::getAttributeNS):
- (DOMHTMLInputElement::setAttributeNS):
- (DOMHTMLInputElement::removeAttributeNS):
- (DOMHTMLInputElement::getAttributeNodeNS):
- (DOMHTMLInputElement::setAttributeNodeNS):
- (DOMHTMLInputElement::getElementsByTagNameNS):
- (DOMHTMLInputElement::hasAttribute):
- (DOMHTMLInputElement::hasAttributeNS):
- (DOMHTMLInputElement::idName):
- (DOMHTMLInputElement::setIdName):
- (DOMHTMLInputElement::title):
- (DOMHTMLInputElement::setTitle):
- (DOMHTMLInputElement::lang):
- (DOMHTMLInputElement::setLang):
- (DOMHTMLInputElement::dir):
- (DOMHTMLInputElement::setDir):
- (DOMHTMLInputElement::className):
- (DOMHTMLInputElement::setClassName):
- (DOMHTMLTextAreaElement::DOMHTMLTextAreaElement):
- (DOMHTMLTextAreaElement::AddRef):
- (DOMHTMLTextAreaElement::Release):
- (DOMHTMLTextAreaElement::throwException):
- (DOMHTMLTextAreaElement::callWebScriptMethod):
- (DOMHTMLTextAreaElement::evaluateWebScript):
- (DOMHTMLTextAreaElement::removeWebScriptKey):
- (DOMHTMLTextAreaElement::stringRepresentation):
- (DOMHTMLTextAreaElement::webScriptValueAtIndex):
- (DOMHTMLTextAreaElement::setWebScriptValueAtIndex):
- (DOMHTMLTextAreaElement::setException):
- (DOMHTMLTextAreaElement::nodeName):
- (DOMHTMLTextAreaElement::nodeValue):
- (DOMHTMLTextAreaElement::setNodeValue):
- (DOMHTMLTextAreaElement::nodeType):
- (DOMHTMLTextAreaElement::parentNode):
- (DOMHTMLTextAreaElement::childNodes):
- (DOMHTMLTextAreaElement::firstChild):
- (DOMHTMLTextAreaElement::lastChild):
- (DOMHTMLTextAreaElement::previousSibling):
- (DOMHTMLTextAreaElement::nextSibling):
- (DOMHTMLTextAreaElement::attributes):
- (DOMHTMLTextAreaElement::ownerDocument):
- (DOMHTMLTextAreaElement::insertBefore):
- (DOMHTMLTextAreaElement::replaceChild):
- (DOMHTMLTextAreaElement::removeChild):
- (DOMHTMLTextAreaElement::appendChild):
- (DOMHTMLTextAreaElement::hasChildNodes):
- (DOMHTMLTextAreaElement::cloneNode):
- (DOMHTMLTextAreaElement::normalize):
- (DOMHTMLTextAreaElement::isSupported):
- (DOMHTMLTextAreaElement::namespaceURI):
- (DOMHTMLTextAreaElement::prefix):
- (DOMHTMLTextAreaElement::setPrefix):
- (DOMHTMLTextAreaElement::localName):
- (DOMHTMLTextAreaElement::hasAttributes):
- (DOMHTMLTextAreaElement::tagName):
- (DOMHTMLTextAreaElement::getAttribute):
- (DOMHTMLTextAreaElement::setResult):
- (DOMHTMLTextAreaElement::removeAttribute):
- (DOMHTMLTextAreaElement::getAttributeNode):
- (DOMHTMLTextAreaElement::setAttributeNode):
- (DOMHTMLTextAreaElement::removeAttributeNode):
- (DOMHTMLTextAreaElement::getElementsByTagName):
- (DOMHTMLTextAreaElement::getAttributeNS):
- (DOMHTMLTextAreaElement::setAttributeNS):
- (DOMHTMLTextAreaElement::removeAttributeNS):
- (DOMHTMLTextAreaElement::getAttributeNodeNS):
- (DOMHTMLTextAreaElement::setAttributeNodeNS):
- (DOMHTMLTextAreaElement::getElementsByTagNameNS):
- (DOMHTMLTextAreaElement::hasAttribute):
- (DOMHTMLTextAreaElement::hasAttributeNS):
- (DOMHTMLTextAreaElement::idName):
- (DOMHTMLTextAreaElement::setIdName):
- (DOMHTMLTextAreaElement::title):
- (DOMHTMLTextAreaElement::setTitle):
- (DOMHTMLTextAreaElement::lang):
- (DOMHTMLTextAreaElement::setLang):
- (DOMHTMLTextAreaElement::dir):
- (DOMHTMLTextAreaElement::setDir):
- (DOMHTMLTextAreaElement::className):
- (DOMHTMLTextAreaElement::setClassName):
- * Interfaces/DOMHTML.idl:
- * Interfaces/IWebScriptObject.idl:
- * WebFrame.cpp:
- (WebFrame::openURL):
- (WebFrame::textFieldDidBeginEditing):
- (WebFrame::textFieldDidEndEditing):
- (WebFrame::textDidChangeInTextField):
- (WebFrame::doTextFieldCommandFromEvent):
- (WebFrame::textWillBeDeletedInTextField):
- (WebFrame::textDidChangeInTextArea):
- * WebKit.vcproj/WebKit.vcproj:
- * WebScriptObject.cpp: Added.
- (WebScriptObject::WebScriptObject):
- (WebScriptObject::~WebScriptObject):
- (WebScriptObject::QueryInterface):
- (WebScriptObject::AddRef):
- (WebScriptObject::Release):
- (WebScriptObject::throwException):
- (WebScriptObject::callWebScriptMethod):
- (WebScriptObject::evaluateWebScript):
- (WebScriptObject::removeWebScriptKey):
- (WebScriptObject::stringRepresentation):
- (WebScriptObject::webScriptValueAtIndex):
- (WebScriptObject::setWebScriptValueAtIndex):
- (WebScriptObject::setException):
- * WebScriptObject.h: Added.
- * WebURLResponse.cpp:
- (WebURLResponse::WebURLResponse):
- (WebURLResponse::~WebURLResponse):
- (WebURLResponse::createInstance):
- (WebURLResponse::QueryInterface):
- (WebURLResponse::AddRef):
- (WebURLResponse::Release):
- (WebURLResponse::expectedContentLength):
- (WebURLResponse::initWithURL):
- (WebURLResponse::MIMEType):
- (WebURLResponse::suggestedFilename):
- (WebURLResponse::textEncodingName):
- (WebURLResponse::URL):
- * WebView.cpp:
- (WebView::setFormDelegate):
- (WebView::formDelegate):
- * WebView.h:
-
-2006-08-17 Anders Carlsson <andersca@apple.com>
-
- Reviewed by Maciej.
-
- * WebKit.vcproj/WebKit.vcproj:
- Add version.lib
-
-2006-08-15 Steve Falkenburg <sfalken@apple.com>
-
- Fix this to build in my tree.
-
- * WebFrame.cpp:
- (WebFrame::textFieldDidBeginEditing):
- (WebFrame::doTextFieldCommandFromEvent):
- (WebFrame::textWillBeDeletedInTextField):
- * WebKit.vcproj/Interfaces.vcproj:
- * WebKit.vcproj/WebKit.sln:
- * WebKit.vcproj/WebKit.vcproj:
-
-2006-08-15 Steve Falkenburg <sfalken@apple.com>
-
- Initial check-in.
-
- * CFDictionaryPropertyBag.cpp: Added.
- (CFDictionaryPropertyBag::CFDictionaryPropertyBag):
- (CFDictionaryPropertyBag::~CFDictionaryPropertyBag):
- (CFDictionaryPropertyBag::createInstance):
- (CFDictionaryPropertyBag::setDictionary):
- (CFDictionaryPropertyBag::QueryInterface):
- (CFDictionaryPropertyBag::AddRef):
- (CFDictionaryPropertyBag::Release):
- (ConvertCFTypeToVariant):
- (ConvertVariantToCFType):
- (CFDictionaryPropertyBag::Read):
- (CFDictionaryPropertyBag::Write):
- * CFDictionaryPropertyBag.h: Added.
- * ChangeLog: Added.
- * Interfaces/DOMCSS.idl: Added.
- * Interfaces/DOMCore.idl: Added.
- * Interfaces/DOMHTML.idl: Added.
- * Interfaces/DOMRange.idl: Added.
- * Interfaces/IWebArchive.idl: Added.
- * Interfaces/IWebAttributedString.idl: Added.
- * Interfaces/IWebBackForwardList.idl: Added.
- * Interfaces/IWebDataSource.idl: Added.
- * Interfaces/IWebDocument.idl: Added.
- * Interfaces/IWebDownload.idl: Added.
- * Interfaces/IWebEditingDelegate.idl: Added.
- * Interfaces/IWebError.idl: Added.
- * Interfaces/IWebFormDelegate.idl: Added.
- * Interfaces/IWebFrame.idl: Added.
- * Interfaces/IWebFrameLoadDelegate.idl: Added.
- * Interfaces/IWebFrameLoadDelegatePrivate.idl: Added.
- * Interfaces/IWebFrameView.idl: Added.
- * Interfaces/IWebHistory.idl: Added.
- * Interfaces/IWebHistoryItem.idl: Added.
- * Interfaces/IWebHistoryItemPrivate.idl: Added.
- * Interfaces/IWebIconDatabase.idl: Added.
- * Interfaces/IWebImage.idl: Added.
- * Interfaces/IWebMutableURLRequest.idl: Added.
- * Interfaces/IWebNotification.idl: Added.
- * Interfaces/IWebNotificationCenter.idl: Added.
- * Interfaces/IWebNotificationObserver.idl: Added.
- * Interfaces/IWebPolicyDelegate.idl: Added.
- * Interfaces/IWebPreferences.idl: Added.
- * Interfaces/IWebResource.idl: Added.
- * Interfaces/IWebResourceLoadDelegate.idl: Added.
- * Interfaces/IWebScriptObject.idl: Added.
- * Interfaces/IWebUIDelegate.idl: Added.
- * Interfaces/IWebURLAuthenticationChallenge.idl: Added.
- * Interfaces/IWebURLRequest.idl: Added.
- * Interfaces/IWebURLResponse.idl: Added.
- * Interfaces/IWebUndoManager.idl: Added.
- * Interfaces/IWebView.idl: Added.
- * Interfaces/IWebViewPrivate.idl: Added.
- * Interfaces/WebKit.idl: Added.
- * MarshallingHelpers.cpp: Added.
- (MarshallingHelpers::BSTRToCFURLRef):
- (MarshallingHelpers::BSTRToCFStringRef):
- (MarshallingHelpers::CFStringRefToBSTR):
- (MarshallingHelpers::CFNumberRefToInt):
- (MarshallingHelpers::intToCFNumberRef):
- (MarshallingHelpers::windowsEpochAbsoluteTime):
- (MarshallingHelpers::DATEToCFAbsoluteTime):
- (MarshallingHelpers::CFAbsoluteTimeToDATE):
- (MarshallingHelpers::stringArrayToSafeArray):
- (MarshallingHelpers::intArrayToSafeArray):
- (MarshallingHelpers::iunknownArrayToSafeArray):
- (MarshallingHelpers::safeArrayToStringArray):
- (MarshallingHelpers::safeArrayToIntArray):
- (MarshallingHelpers::safeArrayToIUnknownArray):
- (MarshallingHelpers::IUnknownRetainCallback):
- (MarshallingHelpers::IUnknownReleaseCallback):
- * MarshallingHelpers.h: Added.
- * WebBackForwardList.cpp: Added.
- (WebBackForwardList::WebBackForwardList):
- (WebBackForwardList::~WebBackForwardList):
- (WebBackForwardList::createInstance):
- (WebBackForwardList::QueryInterface):
- (WebBackForwardList::AddRef):
- (WebBackForwardList::Release):
- (WebBackForwardList::addItem):
- (WebBackForwardList::goBack):
- (WebBackForwardList::goForward):
- (WebBackForwardList::goToItem):
- (WebBackForwardList::backItem):
- (WebBackForwardList::currentItem):
- (WebBackForwardList::forwardItem):
- (WebBackForwardList::backListWithLimit):
- (WebBackForwardList::forwardListWithLimit):
- (WebBackForwardList::capacity):
- (WebBackForwardList::setCapacity):
- (WebBackForwardList::backListCount):
- (WebBackForwardList::forwardListCount):
- (WebBackForwardList::containsItem):
- (WebBackForwardList::itemAtIndex):
- (WebBackForwardList::setPageCacheSize):
- (WebBackForwardList::pageCacheSize):
- * WebBackForwardList.h: Added.
- * WebDataSource.cpp: Added.
- (WebDataSource::WebDataSource):
- (WebDataSource::~WebDataSource):
- (WebDataSource::createInstance):
- (WebDataSource::setResponse):
- (WebDataSource::QueryInterface):
- (WebDataSource::AddRef):
- (WebDataSource::Release):
- (WebDataSource::initWithRequest):
- (WebDataSource::data):
- (WebDataSource::representation):
- (WebDataSource::webFrame):
- (WebDataSource::initialRequest):
- (WebDataSource::request):
- (WebDataSource::response):
- (WebDataSource::textEncodingName):
- (WebDataSource::isLoading):
- (WebDataSource::pageTitle):
- (WebDataSource::unreachableURL):
- (WebDataSource::webArchive):
- (WebDataSource::mainResource):
- (WebDataSource::subresources):
- (WebDataSource::subresourceForURL):
- (WebDataSource::addSubresource):
- * WebDataSource.h: Added.
- * WebFrame.cpp: Added.
- (WebFrame::WebFramePrivate::WebFramePrivate):
- (WebFrame::WebFramePrivate::~WebFramePrivate):
- (WebFrame::WebFrame):
- (WebFrame::~WebFrame):
- (WebFrame::createInstance):
- (WebFrame::QueryInterface):
- (WebFrame::AddRef):
- (WebFrame::Release):
- (WebFrame::initWithName):
- (WebFrame::name):
- (WebFrame::webView):
- (WebFrame::frameView):
- (WebFrame::DOMDocument):
- (WebFrame::frameElement):
- (WebFrame::loadRequest):
- (WebFrame::loadData):
- (WebFrame::loadHTMLString):
- (WebFrame::loadAlternateHTMLString):
- (WebFrame::loadArchive):
- (WebFrame::dataSource):
- (WebFrame::provisionalDataSource):
- (WebFrame::stopLoading):
- (WebFrame::reload):
- (WebFrame::findFrameNamed):
- (WebFrame::parentFrame):
- (WebFrame::childFrames):
- (WebFrame::paint):
- (WebFrame::impl):
- (WebFrame::loadDataSource):
- (WebFrame::loading):
- (WebFrame::goToItem):
- (WebFrame::loadItem):
- (WebSystemMainMemory):
- (WebFrame::getObjectCacheSize):
- (WebFrame::invalidate):
- (WebFrame::setTextSizeMultiplier):
- (WebFrame::inViewSourceMode):
- (WebFrame::setInViewSourceMode):
- (WebFrame::receivedRedirect):
- (WebFrame::receivedResponse):
- (WebFrame::receivedData):
- (WebFrame::receivedAllData):
- (WebFrame::openURL):
- (WebFrame::submitForm):
- (WebFrame::setTitle):
- (WebFrame::setStatusText):
- (WebFrame::textFieldDidBeginEditing):
- (WebFrame::textFieldDidEndEditing):
- (WebFrame::textDidChangeInTextField):
- (WebFrame::doTextFieldCommandFromEvent):
- (WebFrame::textWillBeDeletedInTextField):
- (WebFrame::textDidChangeInTextArea):
- * WebFrame.h: Added.
- * WebHistory.cpp: Added.
- (areEqualOrClose):
- (createUserInfoFromArray):
- (createUserInfoFromHistoryItem):
- (releaseUserInfo):
- (WebHistory::WebHistory):
- (WebHistory::~WebHistory):
- (WebHistory::createInstance):
- (WebHistory::postNotification):
- (WebHistory::getNotificationString):
- (WebHistory::QueryInterface):
- (WebHistory::AddRef):
- (WebHistory::Release):
- (WebHistory::optionalSharedHistory):
- (WebHistory::setOptionalSharedHistory):
- (WebHistory::loadFromURL):
- (WebHistory::loadHistoryGutsFromURL):
- (WebHistory::saveToURL):
- (WebHistory::saveHistoryGuts):
- (WebHistory::datesArray):
- (WebHistory::addItems):
- (WebHistory::removeItems):
- (dictReleaseApplier):
- (WebHistory::removeAllItems):
- (WebHistory::orderedLastVisitedDays):
- (WebHistory::orderedItemsLastVisitedOnDay):
- (WebHistory::itemForURL):
- (WebHistory::setHistoryItemLimit):
- (WebHistory::historyItemLimit):
- (WebHistory::setHistoryAgeInDaysLimit):
- (WebHistory::historyAgeInDaysLimit):
- (WebHistory::removeItem):
- (WebHistory::addItem):
- (WebHistory::addItemForURL):
- (WebHistory::removeItemForURLString):
- (WebHistory::addItemToDateCaches):
- (WebHistory::removeItemFromDateCaches):
- (WebHistory::findIndex):
- (WebHistory::insertItem):
- (WebHistory::timeToDate):
- (WebHistory::ageLimitDate):
- (WebHistory::optionalSharedHistoryInternal):
- * WebHistory.h: Added.
- (WebHistory::):
- * WebHistoryItem.cpp: Added.
- (WebHistoryItem::WebHistoryItem):
- (WebHistoryItem::~WebHistoryItem):
- (WebHistoryItem::createInstance):
- (WebHistoryItem::initFromDictionaryRepresentation):
- (WebHistoryItem::dictionaryRepresentation):
- (WebHistoryItem::hasURLString):
- (WebHistoryItem::visitCount):
- (WebHistoryItem::setVisitCount):
- (WebHistoryItem::mergeAutoCompleteHints):
- (WebHistoryItem::setLastVisitedTimeInterval):
- (WebHistoryItem::QueryInterface):
- (WebHistoryItem::AddRef):
- (WebHistoryItem::Release):
- (WebHistoryItem::initWithURLString):
- (WebHistoryItem::originalURLString):
- (WebHistoryItem::URLString):
- (WebHistoryItem::title):
- (WebHistoryItem::lastVisitedTimeInterval):
- (WebHistoryItem::setAlternateTitle):
- (WebHistoryItem::alternateTitle):
- (WebHistoryItem::icon):
- * WebHistoryItem.h: Added.
- * WebIconDatabase.cpp: Added.
- (WebIconDatabase::WebIconDatabase):
- (WebIconDatabase::~WebIconDatabase):
- (WebIconDatabase::createInstance):
- (WebIconDatabase::QueryInterface):
- (WebIconDatabase::AddRef):
- (WebIconDatabase::Release):
- (WebIconDatabase::sharedIconDatabase):
- (WebIconDatabase::iconForURL):
- (WebIconDatabase::defaultIconWithSize):
- (WebIconDatabase::retainIconForURL):
- (WebIconDatabase::releaseIconForURL):
- (WebIconDatabase::delayDatabaseCleanup):
- (WebIconDatabase::allowDatabaseCleanup):
- * WebIconDatabase.h: Added.
- * WebKit.vcproj/Interfaces.vcproj: Added.
- * WebKit.vcproj/WebKit.def: Added.
- * WebKit.vcproj/WebKit.rc: Added.
- * WebKit.vcproj/WebKit.sln: Added.
- * WebKit.vcproj/WebKit.vcproj: Added.
- * WebKit.vcproj/WebKitGUID.vcproj: Added.
- * WebKit.vcproj/autoversion.h: Added.
- * WebKit.vcproj/missingImage.png: Added.
- * WebKit.vcproj/resource.h: Added.
- * WebKit.vcproj/textAreaResizeCorner.png: Added.
- * WebKitClassFactory.cpp: Added.
- (WebKitClassFactory::WebKitClassFactory):
- (WebKitClassFactory::~WebKitClassFactory):
- (WebKitClassFactory::QueryInterface):
- (WebKitClassFactory::AddRef):
- (WebKitClassFactory::Release):
- (WebKitClassFactory::CreateInstance):
- (WebKitClassFactory::LockServer):
- * WebKitClassFactory.h: Added.
- * WebKitDLL.cpp: Added.
- (DllMain):
- (DllGetClassObject):
- (DllCanUnloadNow):
- (DllUnregisterServer):
- (DllRegisterServer):
- (loadResourceIntoArray):
- * WebKitDLL.h: Added.
- * WebMutableURLRequest.cpp: Added.
- (WebMutableURLRequest::WebMutableURLRequest):
- (WebMutableURLRequest::~WebMutableURLRequest):
- (WebMutableURLRequest::createInstance):
- (WebMutableURLRequest::QueryInterface):
- (WebMutableURLRequest::AddRef):
- (WebMutableURLRequest::Release):
- (WebMutableURLRequest::requestWithURL):
- (WebMutableURLRequest::allHTTPHeaderFields):
- (WebMutableURLRequest::cachePolicy):
- (WebMutableURLRequest::HTTPBody):
- (WebMutableURLRequest::HTTPBodyStream):
- (WebMutableURLRequest::HTTPMethod):
- (WebMutableURLRequest::HTTPShouldHandleCookies):
- (WebMutableURLRequest::initWithURL):
- (WebMutableURLRequest::mainDocumentURL):
- (WebMutableURLRequest::timeoutInterval):
- (WebMutableURLRequest::URL):
- (WebMutableURLRequest::valueForHTTPHeaderField):
- (WebMutableURLRequest::addValue):
- (WebMutableURLRequest::setAllHTTPHeaderFields):
- (WebMutableURLRequest::setCachePolicy):
- (WebMutableURLRequest::setHTTPBody):
- (WebMutableURLRequest::setHTTPBodyStream):
- (WebMutableURLRequest::setHTTPMethod):
- (WebMutableURLRequest::setHTTPShouldHandleCookies):
- (WebMutableURLRequest::setMainDocumentURL):
- (WebMutableURLRequest::setTimeoutInterval):
- (WebMutableURLRequest::setURL):
- (WebMutableURLRequest::setValue):
- (WebMutableURLRequest::setFormData):
- (WebMutableURLRequest::formData):
- * WebMutableURLRequest.h: Added.
- * WebNotification.cpp: Added.
- (WebNotification::WebNotification):
- (WebNotification::~WebNotification):
- (WebNotification::createInstance):
- (WebNotification::QueryInterface):
- (WebNotification::AddRef):
- (WebNotification::Release):
- (WebNotification::notificationWithName):
- (WebNotification::name):
- (WebNotification::getObject):
- (WebNotification::userInfo):
- * WebNotification.h: Added.
- * WebNotificationCenter.cpp: Added.
- (ObserverKey::ObserverKey):
- (ObserverKey::~ObserverKey):
- (ObserverKey::operator==):
- (ObserverKeyTraits::deletedValue):
- (ObserverHash::equal):
- (ObserverHash::hash):
- (WebNotificationCenter::WebNotificationCenter):
- (WebNotificationCenter::~WebNotificationCenter):
- (WebNotificationCenter::createInstance):
- (WebNotificationCenter::QueryInterface):
- (WebNotificationCenter::AddRef):
- (WebNotificationCenter::Release):
- (WebNotificationCenter::defaultCenterInternal):
- (WebNotificationCenter::postNotificationInternal):
- (WebNotificationCenter::defaultCenter):
- (WebNotificationCenter::addObserver):
- (WebNotificationCenter::postNotification):
- (WebNotificationCenter::postNotificationName):
- (WebNotificationCenter::removeObserver):
- * WebNotificationCenter.h: Added.
- * WebPreferenceKeysPrivate.h: Added.
- * WebPreferences.cpp: Added.
- (WebPreferences::WebPreferences):
- (WebPreferences::~WebPreferences):
- (WebPreferences::createInstance):
- (WebPreferences::postPreferencesChangesNotification):
- (WebPreferences::getInstanceForIdentifier):
- (WebPreferences::initialize):
- (WebPreferences::valueForKey):
- (WebPreferences::stringValueForKey):
- (WebPreferences::integerValueForKey):
- (WebPreferences::boolValueForKey):
- (WebPreferences::floatValueForKey):
- (WebPreferences::setStringValue):
- (WebPreferences::webPreferencesChangedNotification):
- (WebPreferences::setIntegerValue):
- (WebPreferences::setBoolValue):
- (WebPreferences::save):
- (WebPreferences::load):
- (WebPreferences::preferencesPath):
- (WebPreferences::safeCreateFileWithData):
- (WebPreferences::QueryInterface):
- (WebPreferences::AddRef):
- (WebPreferences::Release):
- (WebPreferences::standardPreferences):
- (WebPreferences::initWithIdentifier):
- (WebPreferences::identifier):
- (WebPreferences::standardFontFamily):
- (WebPreferences::setStandardFontFamily):
- (WebPreferences::fixedFontFamily):
- (WebPreferences::setFixedFontFamily):
- (WebPreferences::serifFontFamily):
- (WebPreferences::setSerifFontFamily):
- (WebPreferences::sansSerifFontFamily):
- (WebPreferences::setSansSerifFontFamily):
- (WebPreferences::cursiveFontFamily):
- (WebPreferences::setCursiveFontFamily):
- (WebPreferences::fantasyFontFamily):
- (WebPreferences::setFantasyFontFamily):
- (WebPreferences::defaultFontSize):
- (WebPreferences::setDefaultFontSize):
- (WebPreferences::defaultFixedFontSize):
- (WebPreferences::setDefaultFixedFontSize):
- (WebPreferences::minimumFontSize):
- (WebPreferences::setMinimumFontSize):
- (WebPreferences::minimumLogicalFontSize):
- (WebPreferences::setMinimumLogicalFontSize):
- (WebPreferences::defaultTextEncodingName):
- (WebPreferences::setDefaultTextEncodingName):
- (WebPreferences::userStyleSheetEnabled):
- (WebPreferences::setUserStyleSheetEnabled):
- (WebPreferences::userStyleSheetLocation):
- (WebPreferences::setUserStyleSheetLocation):
- (WebPreferences::isJavaEnabled):
- (WebPreferences::setJavaEnabled):
- (WebPreferences::isJavaScriptEnabled):
- (WebPreferences::setJavaScriptEnabled):
- (WebPreferences::javaScriptCanOpenWindowsAutomatically):
- (WebPreferences::setJavaScriptCanOpenWindowsAutomatically):
- (WebPreferences::arePlugInsEnabled):
- (WebPreferences::setPlugInsEnabled):
- (WebPreferences::allowsAnimatedImages):
- (WebPreferences::setAllowsAnimatedImages):
- (WebPreferences::allowAnimatedImageLooping):
- (WebPreferences::setAllowAnimatedImageLooping):
- (WebPreferences::setLoadsImagesAutomatically):
- (WebPreferences::loadsImagesAutomatically):
- (WebPreferences::setAutosaves):
- (WebPreferences::autosaves):
- (WebPreferences::setShouldPrintBackgrounds):
- (WebPreferences::shouldPrintBackgrounds):
- (WebPreferences::setPrivateBrowsingEnabled):
- (WebPreferences::privateBrowsingEnabled):
- (WebPreferences::setTabsToLinks):
- (WebPreferences::tabsToLinks):
- (WebPreferences::textAreasAreResizable):
- (WebPreferences::setTextAreasAreResizable):
- (WebPreferences::historyItemLimit):
- (WebPreferences::setHistoryItemLimit):
- (WebPreferences::historyAgeInDaysLimit):
- (WebPreferences::setHistoryAgeInDaysLimit):
- (WebPreferences::pageCacheSize):
- (WebPreferences::objectCacheSize):
- * WebPreferences.h: Added.
- * WebURLResponse.cpp: Added.
- (WebURLResponse::WebURLResponse):
- (WebURLResponse::~WebURLResponse):
- (WebURLResponse::createInstance):
- (WebURLResponse::QueryInterface):
- (WebURLResponse::AddRef):
- (WebURLResponse::Release):
- (WebURLResponse::expectedContentLength):
- (WebURLResponse::initWithURL):
- (WebURLResponse::MIMEType):
- (WebURLResponse::suggestedFilename):
- (WebURLResponse::textEncodingName):
- (WebURLResponse::URL):
- * WebURLResponse.h: Added.
- * WebView.cpp: Added.
- (WebView::WebView):
- (WebView::~WebView):
- (WebView::createInstance):
- (WebView::mouseMoved):
- (WebView::mouseDown):
- (WebView::mouseUp):
- (WebView::mouseDoubleClick):
- (WebView::keyPress):
- (registerWebView):
- (WebViewWndProc):
- (calculateScrollDelta):
- (scrollMessageForKey):
- (WebView::goToItem):
- (WebView::updateWebCoreSettingsFromPreferences):
- (WebView::settings):
- (WebView::QueryInterface):
- (WebView::AddRef):
- (WebView::Release):
- (WebView::canShowMIMEType):
- (WebView::canShowMIMETypeAsHTML):
- (WebView::MIMETypesShownAsHTML):
- (WebView::setMIMETypesShownAsHTML):
- (WebView::URLFromPasteboard):
- (WebView::URLTitleFromPasteboard):
- (WebView::initWithFrame):
- (WebView::setUIDelegate):
- (WebView::uiDelegate):
- (WebView::setResourceLoadDelegate):
- (WebView::resourceLoadDelegate):
- (WebView::setDownloadDelegate):
- (WebView::downloadDelegate):
- (WebView::setFrameLoadDelegate):
- (WebView::frameLoadDelegate):
- (WebView::setPolicyDelegate):
- (WebView::policyDelegate):
- (WebView::mainFrame):
- (WebView::backForwardList):
- (WebView::setMaintainsBackForwardList):
- (WebView::goBack):
- (WebView::goForward):
- (WebView::goToBackForwardItem):
- (WebView::setTextSizeMultiplier):
- (WebView::textSizeMultiplier):
- (WebView::setApplicationNameForUserAgent):
- (WebView::applicationNameForUserAgent):
- (WebView::setCustomUserAgent):
- (WebView::customUserAgent):
- (WebView::userAgentForURL):
- (WebView::supportsTextEncoding):
- (WebView::setCustomTextEncodingName):
- (WebView::customTextEncodingName):
- (WebView::setMediaStyle):
- (WebView::mediaStyle):
- (WebView::stringByEvaluatingJavaScriptFromString):
- (WebView::windowScriptObject):
- (WebView::setPreferences):
- (WebView::preferences):
- (WebView::setPreferencesIdentifier):
- (WebView::preferencesIdentifier):
- (WebView::setHostWindow):
- (WebView::hostWindow):
- (WebView::searchFor):
- (WebView::registerViewClass):
- (WebView::takeStringURLFrom):
- (WebView::stopLoading):
- (WebView::reload):
- (WebView::canGoBack):
- (WebView::canGoForward):
- (WebView::canMakeTextLarger):
- (WebView::makeTextLarger):
- (WebView::canMakeTextSmaller):
- (WebView::makeTextSmaller):
- (WebView::computedStyleForElement):
- (WebView::editableDOMRangeForPoint):
- (WebView::setSelectedDOMRange):
- (WebView::selectedDOMRange):
- (WebView::selectionAffinity):
- (WebView::setEditable):
- (WebView::isEditable):
- (WebView::setTypingStyle):
- (WebView::typingStyle):
- (WebView::setSmartInsertDeleteEnabled):
- (WebView::smartInsertDeleteEnabled):
- (WebView::setContinuousSpellCheckingEnabled):
- (WebView::isContinuousSpellCheckingEnabled):
- (WebView::spellCheckerDocumentTag):
- (WebView::undoManager):
- (WebView::setEditingDelegate):
- (WebView::editingDelegate):
- (WebView::styleDeclarationWithText):
- (WebView::replaceSelectionWithNode):
- (WebView::replaceSelectionWithText):
- (WebView::replaceSelectionWithMarkupString):
- (WebView::replaceSelectionWithArchive):
- (WebView::deleteSelection):
- (WebView::applyStyle):
- (WebView::copy):
- (WebView::cut):
- (WebView::paste):
- (WebView::copyFont):
- (WebView::pasteFont):
- (WebView::delete_):
- (WebView::pasteAsPlainText):
- (WebView::pasteAsRichText):
- (WebView::changeFont):
- (WebView::changeAttributes):
- (WebView::changeDocumentBackgroundColor):
- (WebView::changeColor):
- (WebView::alignCenter):
- (WebView::alignJustified):
- (WebView::alignLeft):
- (WebView::alignRight):
- (WebView::checkSpelling):
- (WebView::showGuessPanel):
- (WebView::performFindPanelAction):
- (WebView::startSpeaking):
- (WebView::stopSpeaking):
- (WebView::onNotify):
- (WebView::setInViewSourceMode):
- (WebView::inViewSourceMode):
- (WebView::viewWindow):
- (WebView::setFormDelegate):
- (WebView::formDelegate):
- * WebView.h: Added.
-
diff --git a/Source/WebKit/win/CodeAnalysisConfig.h b/Source/WebKit/win/CodeAnalysisConfig.h
deleted file mode 100644
index ea91d7c1b..000000000
--- a/Source/WebKit/win/CodeAnalysisConfig.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 CodeAnalysisConfig_H
-#define CodeAnalysisConfig_H
-
-// warning C6011: dereferencing NULL pointer <name>
-// warning C6031: return value ignored: <function> could return unexpected value
-// warning C6211: Leaking memory due to an exception. Consider using a local catch block to clean up memory.
-// warning C6255: _alloca indicates failure by raising a stack overflow exception. Consider using _alloca_s instead
-// warning C6387: <argument> may be <value>: this does not adhere to the specification for the function <function name>: Lines: x, y
-#pragma warning(disable: 6011 6031 6211 6255 6387)
-
-#endif
diff --git a/Source/WebKit/win/DOMCSSClasses.cpp b/Source/WebKit/win/DOMCSSClasses.cpp
deleted file mode 100644
index 2ceb91654..000000000
--- a/Source/WebKit/win/DOMCSSClasses.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-#include "DOMCSSClasses.h"
-
-#include <wtf/text/WTFString.h>
-
-// DOMCSSStyleDeclaration - DOMCSSStyleDeclaration ----------------------------
-
-DOMCSSStyleDeclaration::DOMCSSStyleDeclaration(WebCore::CSSStyleDeclaration* s)
-: m_style(0)
-{
- if (s)
- s->ref();
-
- m_style = s;
-}
-
-DOMCSSStyleDeclaration::~DOMCSSStyleDeclaration()
-{
- if (m_style)
- m_style->deref();
-}
-
-IDOMCSSStyleDeclaration* DOMCSSStyleDeclaration::createInstance(WebCore::CSSStyleDeclaration* s)
-{
- if (!s)
- return 0;
-
- HRESULT hr;
- IDOMCSSStyleDeclaration* domStyle = 0;
-
- DOMCSSStyleDeclaration* newStyle = new DOMCSSStyleDeclaration(s);
- hr = newStyle->QueryInterface(IID_IDOMCSSStyleDeclaration, (void**)&domStyle);
-
- if (FAILED(hr))
- return 0;
-
- return domStyle;
-}
-
-// DOMCSSStyleDeclaration - IUnknown ------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMCSSStyleDeclaration))
- *ppvObject = static_cast<IDOMCSSStyleDeclaration*>(this);
- else
- return DOMObject::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMCSSStyleDeclaration - IDOMCSSStyleDeclaration ---------------------------
-
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::cssText(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::setCssText(
- /* [in] */ BSTR cssText)
-{
- WTF::String cssTextString(cssText);
- // FIXME: <rdar://5148045> return DOM exception info
- WebCore::ExceptionCode ec;
- m_style->setCssText(cssTextString, ec);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::getPropertyValue(
- /* [in] */ BSTR propertyName,
- /* [retval][out] */ BSTR* result)
-{
- WTF::String propertyNameString(propertyName);
- WTF::String value = m_style->getPropertyValue(propertyNameString);
- *result = SysAllocStringLen(value.characters(), value.length());
- if (value.length() && !*result)
- return E_OUTOFMEMORY;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::getPropertyCSSValue(
- /* [in] */ BSTR /*propertyName*/,
- /* [retval][out] */ IDOMCSSValue** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::removeProperty(
- /* [in] */ BSTR /*propertyName*/,
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::getPropertyPriority(
- /* [in] */ BSTR /*propertyName*/,
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::setProperty(
- /* [in] */ BSTR propertyName,
- /* [in] */ BSTR value,
- /* [in] */ BSTR priority)
-{
- WTF::String propertyNameString(propertyName);
- WTF::String valueString(value);
- WTF::String priorityString(priority);
- // FIXME: <rdar://5148045> return DOM exception info
- WebCore::ExceptionCode code;
- m_style->setProperty(propertyNameString, valueString, priorityString, code);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::length(
- /* [retval][out] */ UINT* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::item(
- /* [in] */ UINT /*index*/,
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMCSSStyleDeclaration::parentRule(
- /* [retval][out] */ IDOMCSSRule** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
diff --git a/Source/WebKit/win/DOMCSSClasses.h b/Source/WebKit/win/DOMCSSClasses.h
deleted file mode 100644
index 5ddf592c3..000000000
--- a/Source/WebKit/win/DOMCSSClasses.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 DOMCSSClasses_H
-#define DOMCSSClasses_H
-
-#include "WebKit.h"
-#include "DOMCoreClasses.h"
-
-#include <WebCore/CSSStyleDeclaration.h>
-
-class DOMCSSStyleDeclaration : public DOMObject, public IDOMCSSStyleDeclaration
-{
-protected:
- DOMCSSStyleDeclaration(WebCore::CSSStyleDeclaration* d);
- ~DOMCSSStyleDeclaration();
-
-public:
- static IDOMCSSStyleDeclaration* createInstance(WebCore::CSSStyleDeclaration* d);
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL *result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT *result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT *result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT *result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- // IDOMCSSStyleDeclaration
- virtual HRESULT STDMETHODCALLTYPE cssText(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setCssText(
- /* [in] */ BSTR cssText);
-
- virtual HRESULT STDMETHODCALLTYPE getPropertyValue(
- /* [in] */ BSTR propertyName,
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE getPropertyCSSValue(
- /* [in] */ BSTR propertyName,
- /* [retval][out] */ IDOMCSSValue **result);
-
- virtual HRESULT STDMETHODCALLTYPE removeProperty(
- /* [in] */ BSTR propertyName,
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE getPropertyPriority(
- /* [in] */ BSTR propertyName,
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setProperty(
- /* [in] */ BSTR propertyName,
- /* [in] */ BSTR value,
- /* [in] */ BSTR priority);
-
- virtual HRESULT STDMETHODCALLTYPE length(
- /* [retval][out] */ UINT *result);
-
- virtual HRESULT STDMETHODCALLTYPE item(
- /* [in] */ UINT index,
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE parentRule(
- /* [retval][out] */ IDOMCSSRule **result);
-
-protected:
- ULONG m_refCount;
- WebCore::CSSStyleDeclaration* m_style;
-};
-
-#endif
diff --git a/Source/WebKit/win/DOMCoreClasses.cpp b/Source/WebKit/win/DOMCoreClasses.cpp
deleted file mode 100644
index ba371f3b6..000000000
--- a/Source/WebKit/win/DOMCoreClasses.cpp
+++ /dev/null
@@ -1,1527 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2009 Apple 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 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 "WebKitDLL.h"
-#include "DOMCoreClasses.h"
-
-#include "DOMCSSClasses.h"
-#include "DOMEventsClasses.h"
-#include "DOMHTMLClasses.h"
-#include "WebKitGraphics.h"
-
-#include <WebCore/BString.h>
-#include <WebCore/COMPtr.h>
-#include <WebCore/DOMWindow.h>
-#include <WebCore/Document.h>
-#include <WebCore/Element.h>
-#include <WebCore/Font.h>
-#include <WebCore/Frame.h>
-#include <WebCore/SimpleFontData.h>
-#include <WebCore/HTMLFormElement.h>
-#include <WebCore/HTMLInputElement.h>
-#include <WebCore/HTMLNames.h>
-#include <WebCore/HTMLOptionElement.h>
-#include <WebCore/HTMLSelectElement.h>
-#include <WebCore/HTMLTextAreaElement.h>
-#include <WebCore/NodeList.h>
-#include <WebCore/RenderObject.h>
-#include <WebCore/RenderTreeAsText.h>
-
-#include <initguid.h>
-// {3B0C0EFF-478B-4b0b-8290-D2321E08E23E}
-DEFINE_GUID(IID_DOMElement, 0x3b0c0eff, 0x478b, 0x4b0b, 0x82, 0x90, 0xd2, 0x32, 0x1e, 0x8, 0xe2, 0x3e);
-
-// Our normal style is just to say "using namespace WebCore" rather than having
-// individual using directives for each type from that namespace. But
-// "DOMObject" exists both in the WebCore namespace and unnamespaced in this
-// file, which leads to ambiguities if we say "using namespace WebCore".
-using namespace WebCore::HTMLNames;
-using WTF::AtomicString;
-using WebCore::BString;
-using WebCore::Element;
-using WebCore::ExceptionCode;
-using WebCore::FontDescription;
-using WebCore::Frame;
-using WebCore::IntRect;
-using WTF::String;
-
-// DOMObject - IUnknown -------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMObject::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMObject))
- *ppvObject = static_cast<IDOMObject*>(this);
- else
- return WebScriptObject::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMNode - IUnknown ---------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMNode::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMNode))
- *ppvObject = static_cast<IDOMNode*>(this);
- else if (IsEqualGUID(riid, __uuidof(DOMNode)))
- *ppvObject = static_cast<DOMNode*>(this);
- else if (IsEqualGUID(riid, __uuidof(IDOMEventTarget)))
- *ppvObject = static_cast<IDOMEventTarget*>(this);
- else
- return DOMObject::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMNode --------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMNode::nodeName(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_POINTER;
-
- if (!m_node)
- return E_FAIL;
-
- *result = BString(m_node->nodeName()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::nodeValue(
- /* [retval][out] */ BSTR* result)
-{
- if (!m_node)
- return E_FAIL;
- WTF::String nodeValueStr = m_node->nodeValue();
- *result = SysAllocStringLen(nodeValueStr.characters(), nodeValueStr.length());
- if (nodeValueStr.length() && !*result)
- return E_OUTOFMEMORY;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::setNodeValue(
- /* [in] */ BSTR /*value*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::nodeType(
- /* [retval][out] */ unsigned short* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::parentNode(
- /* [retval][out] */ IDOMNode** result)
-{
- *result = 0;
- if (!m_node || !m_node->parentNode())
- return E_FAIL;
- *result = DOMNode::createInstance(m_node->parentNode());
- return *result ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::childNodes(
- /* [retval][out] */ IDOMNodeList** result)
-{
- if (!m_node)
- return E_FAIL;
-
- if (!result)
- return E_POINTER;
-
- *result = DOMNodeList::createInstance(m_node->childNodes().get());
- return *result ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::firstChild(
- /* [retval][out] */ IDOMNode** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::lastChild(
- /* [retval][out] */ IDOMNode** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::previousSibling(
- /* [retval][out] */ IDOMNode** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::nextSibling(
- /* [retval][out] */ IDOMNode** result)
-{
- if (!result)
- return E_POINTER;
- *result = 0;
- if (!m_node)
- return E_FAIL;
- *result = DOMNode::createInstance(m_node->nextSibling());
- return *result ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::attributes(
- /* [retval][out] */ IDOMNamedNodeMap** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::ownerDocument(
- /* [retval][out] */ IDOMDocument** result)
-{
- if (!result)
- return E_POINTER;
- *result = 0;
- if (!m_node)
- return E_FAIL;
- *result = DOMDocument::createInstance(m_node->ownerDocument());
- return *result ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::insertBefore(
- /* [in] */ IDOMNode* newChild,
- /* [in] */ IDOMNode* refChild,
- /* [retval][out] */ IDOMNode** result)
-{
- if (!result)
- return E_POINTER;
-
- *result = 0;
-
- if (!m_node)
- return E_FAIL;
-
- COMPtr<DOMNode> newChildNode(Query, newChild);
- if (!newChildNode)
- return E_FAIL;
-
- COMPtr<DOMNode> refChildNode(Query, refChild);
-
- ExceptionCode ec;
- if (!m_node->insertBefore(newChildNode->node(), refChildNode ? refChildNode->node() : 0, ec))
- return E_FAIL;
-
- *result = newChild;
- (*result)->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::replaceChild(
- /* [in] */ IDOMNode* /*newChild*/,
- /* [in] */ IDOMNode* /*oldChild*/,
- /* [retval][out] */ IDOMNode** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::removeChild(
- /* [in] */ IDOMNode* oldChild,
- /* [retval][out] */ IDOMNode** result)
-{
- if (!result)
- return E_POINTER;
-
- *result = 0;
-
- if (!m_node)
- return E_FAIL;
-
- COMPtr<DOMNode> oldChildNode(Query, oldChild);
- if (!oldChildNode)
- return E_FAIL;
-
- ExceptionCode ec;
- if (!m_node->removeChild(oldChildNode->node(), ec))
- return E_FAIL;
-
- *result = oldChild;
- (*result)->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::appendChild(
- /* [in] */ IDOMNode* /*oldChild*/,
- /* [retval][out] */ IDOMNode** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::hasChildNodes(
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::cloneNode(
- /* [in] */ BOOL /*deep*/,
- /* [retval][out] */ IDOMNode** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::normalize( void)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::isSupported(
- /* [in] */ BSTR /*feature*/,
- /* [in] */ BSTR /*version*/,
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::namespaceURI(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::prefix(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::setPrefix(
- /* [in] */ BSTR /*prefix*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::localName(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::hasAttributes(
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::isSameNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *result = FALSE;
-
- if (!other)
- return E_POINTER;
-
- COMPtr<DOMNode> domOther;
- HRESULT hr = other->QueryInterface(__uuidof(DOMNode), (void**)&domOther);
- if (FAILED(hr))
- return hr;
-
- *result = m_node->isSameNode(domOther->node()) ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::isEqualNode(
- /* [in] */ IDOMNode* /*other*/,
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::textContent(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = BString(m_node->textContent()).release();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNode::setTextContent(
- /* [in] */ BSTR /*text*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-// DOMNode - IDOMEventTarget --------------------------------------------------
-
-HRESULT DOMNode::addEventListener(
- /* [in] */ BSTR type,
- /* [in] */ IDOMEventListener* listener,
- /* [in] */ BOOL useCapture)
-{
- RefPtr<WebEventListener> webListener = WebEventListener::create(listener);
- m_node->addEventListener(type, webListener, useCapture);
-
- return S_OK;
-}
-
-HRESULT DOMNode::removeEventListener(
- /* [in] */ BSTR type,
- /* [in] */ IDOMEventListener* listener,
- /* [in] */ BOOL useCapture)
-{
- if (!listener || !type)
- return E_POINTER;
- if (!m_node)
- return E_FAIL;
- RefPtr<WebEventListener> webListener = WebEventListener::create(listener);
- m_node->removeEventListener(type, webListener.get(), useCapture);
- return S_OK;
-}
-
-HRESULT DOMNode::dispatchEvent(
- /* [in] */ IDOMEvent* evt,
- /* [retval][out] */ BOOL* result)
-{
- if (!evt || !result)
- return E_POINTER;
- if (!m_node)
- return E_FAIL;
-
- COMPtr<DOMEvent> domEvent;
- HRESULT hr = evt->QueryInterface(IID_DOMEvent, (void**) &domEvent);
- if (FAILED(hr))
- return hr;
-
- WebCore::ExceptionCode ec = 0;
- *result = m_node->dispatchEvent(domEvent->coreEvent(), ec) ? TRUE : FALSE;
- return ec ? E_FAIL : S_OK;
-}
-
-// DOMNode - DOMNode ----------------------------------------------------------
-
-DOMNode::DOMNode(WebCore::Node* n)
-: m_node(0)
-{
- if (n)
- n->ref();
-
- m_node = n;
-}
-
-DOMNode::~DOMNode()
-{
- if (m_node)
- m_node->deref();
-}
-
-IDOMNode* DOMNode::createInstance(WebCore::Node* n)
-{
- if (!n)
- return 0;
-
- HRESULT hr = S_OK;
- IDOMNode* domNode = 0;
- WebCore::Node::NodeType nodeType = n->nodeType();
-
- switch (nodeType) {
- case WebCore::Node::ELEMENT_NODE:
- {
- IDOMElement* newElement = DOMElement::createInstance(static_cast<WebCore::Element*>(n));
- if (newElement) {
- hr = newElement->QueryInterface(IID_IDOMNode, (void**)&domNode);
- newElement->Release();
- }
- }
- break;
- case WebCore::Node::DOCUMENT_NODE:
- {
- IDOMDocument* newDocument = DOMDocument::createInstance(n->document());
- if (newDocument) {
- hr = newDocument->QueryInterface(IID_IDOMNode, (void**)&domNode);
- newDocument->Release();
- }
- }
- break;
- default:
- {
- DOMNode* newNode = new DOMNode(n);
- hr = newNode->QueryInterface(IID_IDOMNode, (void**)&domNode);
- }
- break;
- }
-
- if (FAILED(hr))
- return 0;
-
- return domNode;
-}
-
-// DOMNodeList - IUnknown -----------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMNodeList::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMNodeList))
- *ppvObject = static_cast<IDOMNodeList*>(this);
- else
- return DOMObject::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// IDOMNodeList ---------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMNodeList::item(
- /* [in] */ UINT index,
- /* [retval][out] */ IDOMNode **result)
-{
- *result = 0;
- if (!m_nodeList)
- return E_FAIL;
-
- WebCore::Node* itemNode = m_nodeList->item(index);
- if (!itemNode)
- return E_FAIL;
-
- *result = DOMNode::createInstance(itemNode);
- return *result ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMNodeList::length(
- /* [retval][out] */ UINT *result)
-{
- *result = 0;
- if (!m_nodeList)
- return E_FAIL;
- *result = m_nodeList->length();
- return S_OK;
-}
-
-// DOMNodeList - DOMNodeList --------------------------------------------------
-
-DOMNodeList::DOMNodeList(WebCore::NodeList* l)
-: m_nodeList(0)
-{
- if (l)
- l->ref();
-
- m_nodeList = l;
-}
-
-DOMNodeList::~DOMNodeList()
-{
- if (m_nodeList)
- m_nodeList->deref();
-}
-
-IDOMNodeList* DOMNodeList::createInstance(WebCore::NodeList* l)
-{
- if (!l)
- return 0;
-
- IDOMNodeList* domNodeList = 0;
- DOMNodeList* newNodeList = new DOMNodeList(l);
- if (FAILED(newNodeList->QueryInterface(IID_IDOMNodeList, (void**)&domNodeList)))
- return 0;
-
- return domNodeList;
-}
-
-// DOMDocument - IUnknown -----------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMDocument::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMDocument))
- *ppvObject = static_cast<IDOMDocument*>(this);
- else if (IsEqualGUID(riid, IID_IDOMViewCSS))
- *ppvObject = static_cast<IDOMViewCSS*>(this);
- else if (IsEqualGUID(riid, IID_IDOMDocumentEvent))
- *ppvObject = static_cast<IDOMDocumentEvent*>(this);
- else
- return DOMNode::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMDocument ----------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMDocument::doctype(
- /* [retval][out] */ IDOMDocumentType** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::implementation(
- /* [retval][out] */ IDOMImplementation** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::documentElement(
- /* [retval][out] */ IDOMElement** result)
-{
- *result = DOMElement::createInstance(m_document->documentElement());
- return *result ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::createElement(
- /* [in] */ BSTR tagName,
- /* [retval][out] */ IDOMElement** result)
-{
- if (!m_document)
- return E_FAIL;
-
- String tagNameString(tagName);
- ExceptionCode ec;
- *result = DOMElement::createInstance(m_document->createElement(tagNameString, ec).get());
- return *result ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::createDocumentFragment(
- /* [retval][out] */ IDOMDocumentFragment** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::createTextNode(
- /* [in] */ BSTR /*data*/,
- /* [retval][out] */ IDOMText** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::createComment(
- /* [in] */ BSTR /*data*/,
- /* [retval][out] */ IDOMComment** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::createCDATASection(
- /* [in] */ BSTR /*data*/,
- /* [retval][out] */ IDOMCDATASection** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::createProcessingInstruction(
- /* [in] */ BSTR /*target*/,
- /* [in] */ BSTR /*data*/,
- /* [retval][out] */ IDOMProcessingInstruction** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::createAttribute(
- /* [in] */ BSTR /*name*/,
- /* [retval][out] */ IDOMAttr** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::createEntityReference(
- /* [in] */ BSTR /*name*/,
- /* [retval][out] */ IDOMEntityReference** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::getElementsByTagName(
- /* [in] */ BSTR tagName,
- /* [retval][out] */ IDOMNodeList** result)
-{
- if (!m_document)
- return E_FAIL;
-
- String tagNameString(tagName);
- *result = DOMNodeList::createInstance(m_document->getElementsByTagName(tagNameString).get());
- return *result ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::importNode(
- /* [in] */ IDOMNode* /*importedNode*/,
- /* [in] */ BOOL /*deep*/,
- /* [retval][out] */ IDOMNode** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::createElementNS(
- /* [in] */ BSTR /*namespaceURI*/,
- /* [in] */ BSTR /*qualifiedName*/,
- /* [retval][out] */ IDOMElement** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::createAttributeNS(
- /* [in] */ BSTR /*namespaceURI*/,
- /* [in] */ BSTR /*qualifiedName*/,
- /* [retval][out] */ IDOMAttr** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::getElementsByTagNameNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMNodeList** result)
-{
- if (!m_document)
- return E_FAIL;
-
- String namespaceURIString(namespaceURI);
- String localNameString(localName);
- *result = DOMNodeList::createInstance(m_document->getElementsByTagNameNS(namespaceURIString, localNameString).get());
- return *result ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMDocument::getElementById(
- /* [in] */ BSTR elementId,
- /* [retval][out] */ IDOMElement** result)
-{
- if (!m_document)
- return E_FAIL;
-
- String idString(elementId);
- *result = DOMElement::createInstance(m_document->getElementById(idString));
- return *result ? S_OK : E_FAIL;
-}
-
-// DOMDocument - IDOMViewCSS --------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMDocument::getComputedStyle(
- /* [in] */ IDOMElement* elt,
- /* [in] */ BSTR pseudoElt,
- /* [retval][out] */ IDOMCSSStyleDeclaration** result)
-{
- if (!elt || !result)
- return E_POINTER;
-
- COMPtr<DOMElement> domEle;
- HRESULT hr = elt->QueryInterface(IID_DOMElement, (void**)&domEle);
- if (FAILED(hr))
- return hr;
- Element* element = domEle->element();
-
- WebCore::DOMWindow* dv = m_document->defaultView();
- String pseudoEltString(pseudoElt);
-
- if (!dv)
- return E_FAIL;
-
- *result = DOMCSSStyleDeclaration::createInstance(dv->getComputedStyle(element, pseudoEltString.impl()).get());
- return *result ? S_OK : E_FAIL;
-}
-
-// DOMDocument - IDOMDocumentEvent --------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMDocument::createEvent(
- /* [in] */ BSTR eventType,
- /* [retval][out] */ IDOMEvent **result)
-{
- String eventTypeString(eventType, SysStringLen(eventType));
- WebCore::ExceptionCode ec = 0;
- *result = DOMEvent::createInstance(m_document->createEvent(eventTypeString, ec));
- return *result ? S_OK : E_FAIL;
-}
-
-// DOMDocument - DOMDocument --------------------------------------------------
-
-DOMDocument::DOMDocument(WebCore::Document* d)
-: DOMNode(d)
-, m_document(d)
-{
-}
-
-DOMDocument::~DOMDocument()
-{
-}
-
-IDOMDocument* DOMDocument::createInstance(WebCore::Document* d)
-{
- if (!d)
- return 0;
-
- HRESULT hr;
- IDOMDocument* domDocument = 0;
-
- if (d->isHTMLDocument()) {
- DOMHTMLDocument* newDocument = new DOMHTMLDocument(d);
- hr = newDocument->QueryInterface(IID_IDOMDocument, (void**)&domDocument);
- } else {
- DOMDocument* newDocument = new DOMDocument(d);
- hr = newDocument->QueryInterface(IID_IDOMDocument, (void**)&domDocument);
- }
-
- if (FAILED(hr))
- return 0;
-
- return domDocument;
-}
-
-// DOMWindow - IUnknown ------------------------------------------------------
-
-HRESULT DOMWindow::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMWindow))
- *ppvObject = static_cast<IDOMWindow*>(this);
- else if (IsEqualGUID(riid, IID_IDOMEventTarget))
- *ppvObject = static_cast<IDOMEventTarget*>(this);
- else
- return DOMObject::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMWindow - IDOMWindow ------------------------------------------------------
-
-HRESULT DOMWindow::document(
- /* [out, retval] */ IDOMDocument** result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *result = DOMDocument::createInstance(m_window->document());
- return *result ? S_OK : E_FAIL;
-}
-
-HRESULT DOMWindow::getComputedStyle(
- /* [in] */ IDOMElement* element,
- /* [in] */ BSTR pseudoElement)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT DOMWindow::getMatchedCSSRules(
- /* [in] */ IDOMElement* element,
- /* [in] */ BSTR pseudoElement,
- /* [in] */ BOOL authorOnly,
- /* [out, retval] */ IDOMCSSRuleList** result)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT DOMWindow::devicePixelRatio(
- /* [out, retval] */ double* result)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-// DOMWindow - IDOMEventTarget ------------------------------------------------------
-
-HRESULT DOMWindow::addEventListener(
- /* [in] */ BSTR type,
- /* [in] */ IDOMEventListener* listener,
- /* [in] */ BOOL useCapture)
-{
- if (!type || !listener)
- return E_POINTER;
- if (!m_window)
- return E_FAIL;
- RefPtr<WebEventListener> webListener = WebEventListener::create(listener);
- m_window->addEventListener(type, webListener, useCapture);
- return S_OK;
-}
-
-HRESULT DOMWindow::removeEventListener(
- /* [in] */ BSTR type,
- /* [in] */ IDOMEventListener* listener,
- /* [in] */ BOOL useCapture)
-{
- if (!type || !listener)
- return E_POINTER;
- if (!m_window)
- return E_FAIL;
- RefPtr<WebEventListener> webListener = WebEventListener::create(listener);
- m_window->removeEventListener(type, webListener.get(), useCapture);
- return S_OK;
-}
-
-HRESULT DOMWindow::dispatchEvent(
- /* [in] */ IDOMEvent* evt,
- /* [retval][out] */ BOOL* result)
-{
- if (!result || !evt)
- return E_POINTER;
- if (!m_window)
- return E_FAIL;
-
- COMPtr<DOMEvent> domEvent;
- HRESULT hr = evt->QueryInterface(IID_DOMEvent, (void**) &domEvent);
- if (FAILED(hr))
- return hr;
-
- WebCore::ExceptionCode ec = 0;
- *result = m_window->dispatchEvent(domEvent->coreEvent(), ec) ? TRUE : FALSE;
- return ec ? E_FAIL : S_OK;
-}
-
-
-// DOMWindow - DOMWindow --------------------------------------------------
-
-DOMWindow::DOMWindow(WebCore::DOMWindow* w)
-: m_window(w)
-{
-}
-
-DOMWindow::~DOMWindow()
-{
-}
-
-IDOMWindow* DOMWindow::createInstance(WebCore::DOMWindow* w)
-{
- if (!w)
- return 0;
-
- DOMWindow* newWindow = new DOMWindow(w);
-
- IDOMWindow* domWindow = 0;
- HRESULT hr = newWindow->QueryInterface(IID_IDOMWindow, reinterpret_cast<void**>(&domWindow));
-
- if (FAILED(hr))
- return 0;
-
- return domWindow;
-}
-
-// DOMElement - IUnknown ------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMElement::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMElement))
- *ppvObject = static_cast<IDOMElement*>(this);
- else if (IsEqualGUID(riid, IID_DOMElement))
- *ppvObject = static_cast<DOMElement*>(this);
- else if (IsEqualGUID(riid, IID_IDOMElementPrivate))
- *ppvObject = static_cast<IDOMElementPrivate*>(this);
- else if (IsEqualGUID(riid, IID_IDOMNodeExtensions))
- *ppvObject = static_cast<IDOMNodeExtensions*>(this);
- else if (IsEqualGUID(riid, IID_IDOMElementCSSInlineStyle))
- *ppvObject = static_cast<IDOMElementCSSInlineStyle*>(this);
- else if (IsEqualGUID(riid, IID_IDOMElementExtensions))
- *ppvObject = static_cast<IDOMElementExtensions*>(this);
- else
- return DOMNode::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMElement - IDOMNodeExtensions---------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMElement::boundingBox(
- /* [retval][out] */ LPRECT rect)
-{
- ::SetRectEmpty(rect);
-
- if (!m_element)
- return E_FAIL;
-
- WebCore::RenderObject *renderer = m_element->renderer();
- if (renderer) {
- IntRect boundsIntRect = renderer->absoluteBoundingBoxRect();
- rect->left = boundsIntRect.x();
- rect->top = boundsIntRect.y();
- rect->right = boundsIntRect.x() + boundsIntRect.width();
- rect->bottom = boundsIntRect.y() + boundsIntRect.height();
- }
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::lineBoxRects(
- /* [size_is][in] */ RECT* /*rects*/,
- /* [in] */ int /*cRects*/)
-{
- return E_NOTIMPL;
-}
-
-// IDOMElement ----------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMElement::tagName(
- /* [retval][out] */ BSTR* result)
-{
- if (!m_element)
- return E_FAIL;
-
- if (!result)
- return E_POINTER;
-
- *result = BString(m_element->tagName()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::getAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BSTR* result)
-{
- if (!m_element)
- return E_FAIL;
- WTF::String nameString(name, SysStringLen(name));
- WTF::String& attrValueString = (WTF::String&) m_element->getAttribute(nameString);
- *result = SysAllocStringLen(attrValueString.characters(), attrValueString.length());
- if (attrValueString.length() && !*result)
- return E_OUTOFMEMORY;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::setAttribute(
- /* [in] */ BSTR name,
- /* [in] */ BSTR value)
-{
- if (!m_element)
- return E_FAIL;
-
- WTF::String nameString(name, SysStringLen(name));
- WTF::String valueString(value, SysStringLen(value));
- WebCore::ExceptionCode ec = 0;
- m_element->setAttribute(nameString, valueString, ec);
- return ec ? E_FAIL : S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::removeAttribute(
- /* [in] */ BSTR /*name*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::getAttributeNode(
- /* [in] */ BSTR /*name*/,
- /* [retval][out] */ IDOMAttr** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::setAttributeNode(
- /* [in] */ IDOMAttr* /*newAttr*/,
- /* [retval][out] */ IDOMAttr** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::removeAttributeNode(
- /* [in] */ IDOMAttr* /*oldAttr*/,
- /* [retval][out] */ IDOMAttr** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::getElementsByTagName(
- /* [in] */ BSTR /*name*/,
- /* [retval][out] */ IDOMNodeList** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::getAttributeNS(
- /* [in] */ BSTR /*namespaceURI*/,
- /* [in] */ BSTR /*localName*/,
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::setAttributeNS(
- /* [in] */ BSTR /*namespaceURI*/,
- /* [in] */ BSTR /*qualifiedName*/,
- /* [in] */ BSTR /*value*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::removeAttributeNS(
- /* [in] */ BSTR /*namespaceURI*/,
- /* [in] */ BSTR /*localName*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::getAttributeNodeNS(
- /* [in] */ BSTR /*namespaceURI*/,
- /* [in] */ BSTR /*localName*/,
- /* [retval][out] */ IDOMAttr** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::setAttributeNodeNS(
- /* [in] */ IDOMAttr* /*newAttr*/,
- /* [retval][out] */ IDOMAttr** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::getElementsByTagNameNS(
- /* [in] */ BSTR /*namespaceURI*/,
- /* [in] */ BSTR /*localName*/,
- /* [retval][out] */ IDOMNodeList** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::hasAttribute(
- /* [in] */ BSTR /*name*/,
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::hasAttributeNS(
- /* [in] */ BSTR /*namespaceURI*/,
- /* [in] */ BSTR /*localName*/,
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::focus( void)
-{
- if (!m_element)
- return E_FAIL;
- m_element->focus();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::blur( void)
-{
- if (!m_element)
- return E_FAIL;
- m_element->blur();
- return S_OK;
-}
-
-// IDOMElementPrivate ---------------------------------------------------------
-
-HRESULT DOMElement::coreElement(void **element)
-{
- if (!m_element)
- return E_FAIL;
- *element = (void*) m_element;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::isEqual(
- /* [in] */ IDOMElement *other,
- /* [retval][out] */ BOOL *result)
-{
- *result = FALSE;
-
- if (!other || !result)
- return E_POINTER;
-
- IDOMElementPrivate* otherPriv;
- HRESULT hr = other->QueryInterface(IID_IDOMElementPrivate, (void**) &otherPriv);
- if (FAILED(hr))
- return hr;
-
- void* otherCoreEle;
- hr = otherPriv->coreElement(&otherCoreEle);
- otherPriv->Release();
- if (FAILED(hr))
- return hr;
-
- *result = (otherCoreEle == (void*)m_element) ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::isFocused(
- /* [retval][out] */ BOOL *result)
-{
- if (!m_element)
- return E_FAIL;
-
- if (m_element->document()->focusedElement() == m_element)
- *result = TRUE;
- else
- *result = FALSE;
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::innerText(
- /* [retval][out] */ BSTR* result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- if (!m_element) {
- ASSERT_NOT_REACHED();
- return E_FAIL;
- }
-
- *result = BString(m_element->innerText()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::font(WebFontDescription* webFontDescription)
-{
- if (!webFontDescription) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- ASSERT(m_element);
-
- WebCore::RenderObject* renderer = m_element->renderer();
- if (!renderer)
- return E_FAIL;
-
- FontDescription fontDescription = renderer->style()->font().fontDescription();
- AtomicString family = fontDescription.firstFamily();
- webFontDescription->family = family.characters();
- webFontDescription->familyLength = family.length();
- webFontDescription->size = fontDescription.computedSize();
- webFontDescription->bold = fontDescription.weight() >= WebCore::FontWeight600;
- webFontDescription->italic = fontDescription.italic();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::renderedImage(HBITMAP* image)
-{
- if (!image) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
- *image = 0;
-
- ASSERT(m_element);
-
- Frame* frame = m_element->document()->frame();
- if (!frame)
- return E_FAIL;
-
- *image = frame->nodeImage(m_element);
- if (!*image)
- return E_FAIL;
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::markerTextForListItem(
- /* [retval][out] */ BSTR* markerText)
-{
- if (!markerText)
- return E_POINTER;
-
- ASSERT(m_element);
-
- *markerText = BString(WebCore::markerTextForListItem(m_element)).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::shadowPseudoId(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_POINTER;
-
- ASSERT(m_element);
-
- *result = BString(m_element->shadowPseudoId().string()).release();
- return S_OK;
-}
-
-// IDOMElementCSSInlineStyle --------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMElement::style(
- /* [retval][out] */ IDOMCSSStyleDeclaration** result)
-{
- if (!result)
- return E_POINTER;
- if (!m_element)
- return E_FAIL;
-
- WebCore::CSSStyleDeclaration* style = m_element->style();
- if (!style)
- return E_FAIL;
-
- *result = DOMCSSStyleDeclaration::createInstance(style);
- return *result ? S_OK : E_FAIL;
-}
-
-// IDOMElementExtensions ------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMElement::offsetLeft(
- /* [retval][out] */ int* result)
-{
- if (!m_element)
- return E_FAIL;
-
- *result = m_element->offsetLeft();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::offsetTop(
- /* [retval][out] */ int* result)
-{
- if (!m_element)
- return E_FAIL;
-
- *result = m_element->offsetTop();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::offsetWidth(
- /* [retval][out] */ int* result)
-{
- if (!m_element)
- return E_FAIL;
-
- *result = m_element->offsetWidth();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::offsetHeight(
- /* [retval][out] */ int* result)
-{
- if (!m_element)
- return E_FAIL;
-
- *result = m_element->offsetHeight();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::offsetParent(
- /* [retval][out] */ IDOMElement** /*result*/)
-{
- // FIXME
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::clientWidth(
- /* [retval][out] */ int* result)
-{
- if (!m_element)
- return E_FAIL;
-
- *result = m_element->clientWidth();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::clientHeight(
- /* [retval][out] */ int* result)
-{
- if (!m_element)
- return E_FAIL;
-
- *result = m_element->clientHeight();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::scrollLeft(
- /* [retval][out] */ int* result)
-{
- if (!m_element)
- return E_FAIL;
-
- *result = m_element->scrollLeft();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::setScrollLeft(
- /* [in] */ int /*newScrollLeft*/)
-{
- // FIXME
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::scrollTop(
- /* [retval][out] */ int* result)
-{
- if (!m_element)
- return E_FAIL;
-
- *result = m_element->scrollTop();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::setScrollTop(
- /* [in] */ int /*newScrollTop*/)
-{
- // FIXME
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::scrollWidth(
- /* [retval][out] */ int* result)
-{
- if (!m_element)
- return E_FAIL;
-
- *result = m_element->scrollWidth();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::scrollHeight(
- /* [retval][out] */ int* result)
-{
- if (!m_element)
- return E_FAIL;
-
- *result = m_element->scrollHeight();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::scrollIntoView(
- /* [in] */ BOOL alignWithTop)
-{
- if (!m_element)
- return E_FAIL;
-
- m_element->scrollIntoView(!!alignWithTop);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMElement::scrollIntoViewIfNeeded(
- /* [in] */ BOOL centerIfNeeded)
-{
- if (!m_element)
- return E_FAIL;
-
- m_element->scrollIntoViewIfNeeded(!!centerIfNeeded);
- return S_OK;
-}
-
-// DOMElement -----------------------------------------------------------------
-
-DOMElement::DOMElement(WebCore::Element* e)
-: DOMNode(e)
-, m_element(e)
-{
-}
-
-DOMElement::~DOMElement()
-{
-}
-
-IDOMElement* DOMElement::createInstance(WebCore::Element* e)
-{
- if (!e)
- return 0;
-
- HRESULT hr;
- IDOMElement* domElement = 0;
-
- if (isHTMLFormElement(e)) {
- DOMHTMLFormElement* newElement = new DOMHTMLFormElement(e);
- hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
- } else if (e->hasTagName(iframeTag)) {
- DOMHTMLIFrameElement* newElement = new DOMHTMLIFrameElement(e);
- hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
- } else if (isHTMLInputElement(e)) {
- DOMHTMLInputElement* newElement = new DOMHTMLInputElement(e);
- hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
- } else if (isHTMLOptionElement(e)) {
- DOMHTMLOptionElement* newElement = new DOMHTMLOptionElement(e);
- hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
- } else if (e->hasTagName(selectTag)) {
- DOMHTMLSelectElement* newElement = new DOMHTMLSelectElement(e);
- hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
- } else if (isHTMLTextAreaElement(e)) {
- DOMHTMLTextAreaElement* newElement = new DOMHTMLTextAreaElement(e);
- hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
- } else if (e->isHTMLElement()) {
- DOMHTMLElement* newElement = new DOMHTMLElement(e);
- hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
- } else {
- DOMElement* newElement = new DOMElement(e);
- hr = newElement->QueryInterface(IID_IDOMElement, (void**)&domElement);
- }
-
- if (FAILED(hr))
- return 0;
-
- return domElement;
-}
diff --git a/Source/WebKit/win/DOMCoreClasses.h b/Source/WebKit/win/DOMCoreClasses.h
deleted file mode 100644
index 5a649ce20..000000000
--- a/Source/WebKit/win/DOMCoreClasses.h
+++ /dev/null
@@ -1,928 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 DOMCoreClasses_H
-#define DOMCoreClasses_H
-
-#include "WebKit.h"
-#include "WebScriptObject.h"
-
-namespace WebCore {
-class Element;
-class Document;
-class DOMWindow;
-class Node;
-class NodeList;
-}
-
-
-class DOMObject : public WebScriptObject, public IDOMObject {
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return WebScriptObject::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return WebScriptObject::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return WebScriptObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return WebScriptObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return WebScriptObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return WebScriptObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return WebScriptObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return WebScriptObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return WebScriptObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return WebScriptObject::setException(description); }
-};
-
-class DECLSPEC_UUID("062AEEE3-9E42-44DC-A8A9-236B216FE011") DOMNode : public DOMObject, public IDOMNode, public IDOMEventTarget {
-protected:
- DOMNode(WebCore::Node* n);
- ~DOMNode();
-
-public:
- static IDOMNode* createInstance(WebCore::Node* n);
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- // IDOMNode
- virtual HRESULT STDMETHODCALLTYPE nodeName(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE nodeValue(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE setNodeValue(
- /* [in] */ BSTR value);
-
- virtual HRESULT STDMETHODCALLTYPE nodeType(
- /* [retval][out] */ unsigned short* result);
-
- virtual HRESULT STDMETHODCALLTYPE parentNode(
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE childNodes(
- /* [retval][out] */ IDOMNodeList** result);
-
- virtual HRESULT STDMETHODCALLTYPE firstChild(
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE lastChild(
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE previousSibling(
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE nextSibling(
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE attributes(
- /* [retval][out] */ IDOMNamedNodeMap** result);
-
- virtual HRESULT STDMETHODCALLTYPE ownerDocument(
- /* [retval][out] */ IDOMDocument** result);
-
- virtual HRESULT STDMETHODCALLTYPE insertBefore(
- /* [in] */ IDOMNode* newChild,
- /* [in] */ IDOMNode* refChild,
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE replaceChild(
- /* [in] */ IDOMNode* newChild,
- /* [in] */ IDOMNode* oldChild,
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE removeChild(
- /* [in] */ IDOMNode* oldChild,
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE appendChild(
- /* [in] */ IDOMNode* oldChild,
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE cloneNode(
- /* [in] */ BOOL deep,
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE normalize( void);
-
- virtual HRESULT STDMETHODCALLTYPE isSupported(
- /* [in] */ BSTR feature,
- /* [in] */ BSTR version,
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE namespaceURI(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE prefix(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE setPrefix(
- /* [in] */ BSTR prefix);
-
- virtual HRESULT STDMETHODCALLTYPE localName(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributes(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE isSameNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE isEqualNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE textContent(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE setTextContent(
- /* [in] */ BSTR text);
-
- // IDOMEventTarget
- virtual HRESULT STDMETHODCALLTYPE addEventListener(
- /* [in] */ BSTR type,
- /* [in] */ IDOMEventListener *listener,
- /* [in] */ BOOL useCapture);
-
- virtual HRESULT STDMETHODCALLTYPE removeEventListener(
- /* [in] */ BSTR type,
- /* [in] */ IDOMEventListener *listener,
- /* [in] */ BOOL useCapture);
-
- virtual HRESULT STDMETHODCALLTYPE dispatchEvent(
- /* [in] */ IDOMEvent *evt,
- /* [retval][out] */ BOOL* result);
-
- // DOMNode
- WebCore::Node* node() const { return m_node; }
-
-protected:
- WebCore::Node* m_node;
-};
-
-class DOMNodeList : public DOMObject, public IDOMNodeList {
-protected:
- DOMNodeList(WebCore::NodeList* l);
- ~DOMNodeList();
-
-public:
- static IDOMNodeList* createInstance(WebCore::NodeList* l);
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- // IDOMNodeList
- virtual HRESULT STDMETHODCALLTYPE item(
- /* [in] */ UINT index,
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE length(
- /* [retval][out] */ UINT* result);
-
-protected:
- WebCore::NodeList* m_nodeList;
-};
-
-class DOMDocument : public DOMNode, public IDOMDocument, public IDOMViewCSS, public IDOMDocumentEvent {
-protected:
- DOMDocument(WebCore::Document* d);
- ~DOMDocument();
-
-public:
- static IDOMDocument* createInstance(WebCore::Document* d);
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMNode::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMNode::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return DOMNode::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return DOMNode::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return DOMNode::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMNode::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMNode::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return DOMNode::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMNode::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMNode::setException(description); }
-
- // IDOMNode
- virtual HRESULT STDMETHODCALLTYPE nodeName(
- /* [retval][out] */ BSTR* result) { return DOMNode::nodeName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeValue(
- /* [retval][out] */ BSTR* result) { return DOMNode::nodeValue(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setNodeValue(
- /* [in] */ BSTR value) { return DOMNode::setNodeValue(value); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeType(
- /* [retval][out] */ unsigned short* result) { return DOMNode::nodeType(result); }
-
- virtual HRESULT STDMETHODCALLTYPE parentNode(
- /* [retval][out] */ IDOMNode** result) { return DOMNode::parentNode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE childNodes(
- /* [retval][out] */ IDOMNodeList** result) { return DOMNode::childNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE firstChild(
- /* [retval][out] */ IDOMNode** result) { return DOMNode::firstChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE lastChild(
- /* [retval][out] */ IDOMNode** result) { return DOMNode::lastChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE previousSibling(
- /* [retval][out] */ IDOMNode** result) { return DOMNode::previousSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nextSibling(
- /* [retval][out] */ IDOMNode** result) { return DOMNode::nextSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE attributes(
- /* [retval][out] */ IDOMNamedNodeMap** result) { return DOMNode::attributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE ownerDocument(
- /* [retval][out] */ IDOMDocument** result) { return DOMNode::ownerDocument(result); }
-
- virtual HRESULT STDMETHODCALLTYPE insertBefore(
- /* [in] */ IDOMNode* newChild,
- /* [in] */ IDOMNode* refChild,
- /* [retval][out] */ IDOMNode** result) { return DOMNode::insertBefore(newChild, refChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE replaceChild(
- /* [in] */ IDOMNode* newChild,
- /* [in] */ IDOMNode* oldChild,
- /* [retval][out] */ IDOMNode** result) { return DOMNode::replaceChild(newChild, oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeChild(
- /* [in] */ IDOMNode* oldChild,
- /* [retval][out] */ IDOMNode** result) { return DOMNode::removeChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE appendChild(
- /* [in] */ IDOMNode* oldChild,
- /* [retval][out] */ IDOMNode** result) { return DOMNode::appendChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
- /* [retval][out] */ BOOL* result) { return DOMNode::hasChildNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cloneNode(
- /* [in] */ BOOL deep,
- /* [retval][out] */ IDOMNode** result) { return DOMNode::cloneNode(deep, result); }
-
- virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMNode::normalize(); }
-
- virtual HRESULT STDMETHODCALLTYPE isSupported(
- /* [in] */ BSTR feature,
- /* [in] */ BSTR version,
- /* [retval][out] */ BOOL* result) { return DOMNode::isSupported(feature, version, result); }
-
- virtual HRESULT STDMETHODCALLTYPE namespaceURI(
- /* [retval][out] */ BSTR* result) { return DOMNode::namespaceURI(result); }
-
- virtual HRESULT STDMETHODCALLTYPE prefix(
- /* [retval][out] */ BSTR* result) { return DOMNode::prefix(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setPrefix(
- /* [in] */ BSTR prefix) { return DOMNode::setPrefix(prefix); }
-
- virtual HRESULT STDMETHODCALLTYPE localName(
- /* [retval][out] */ BSTR* result) { return DOMNode::localName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributes(
- /* [retval][out] */ BOOL* result) { return DOMNode::hasAttributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE isSameNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMNode::isSameNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE isEqualNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMNode::isEqualNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE textContent(
- /* [retval][out] */ BSTR* result) { return DOMNode::textContent(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTextContent(
- /* [in] */ BSTR text) { return DOMNode::setTextContent(text); }
-
- // IDOMDocument
- virtual HRESULT STDMETHODCALLTYPE doctype(
- /* [retval][out] */ IDOMDocumentType** result);
-
- virtual HRESULT STDMETHODCALLTYPE implementation(
- /* [retval][out] */ IDOMImplementation** result);
-
- virtual HRESULT STDMETHODCALLTYPE documentElement(
- /* [retval][out] */ IDOMElement** result);
-
- virtual HRESULT STDMETHODCALLTYPE createElement(
- /* [in] */ BSTR tagName,
- /* [retval][out] */ IDOMElement** result);
-
- virtual HRESULT STDMETHODCALLTYPE createDocumentFragment(
- /* [retval][out] */ IDOMDocumentFragment** result);
-
- virtual HRESULT STDMETHODCALLTYPE createTextNode(
- /* [in] */ BSTR data,
- /* [retval][out] */ IDOMText** result);
-
- virtual HRESULT STDMETHODCALLTYPE createComment(
- /* [in] */ BSTR data,
- /* [retval][out] */ IDOMComment** result);
-
- virtual HRESULT STDMETHODCALLTYPE createCDATASection(
- /* [in] */ BSTR data,
- /* [retval][out] */ IDOMCDATASection** result);
-
- virtual HRESULT STDMETHODCALLTYPE createProcessingInstruction(
- /* [in] */ BSTR target,
- /* [in] */ BSTR data,
- /* [retval][out] */ IDOMProcessingInstruction** result);
-
- virtual HRESULT STDMETHODCALLTYPE createAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMAttr** result);
-
- virtual HRESULT STDMETHODCALLTYPE createEntityReference(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMEntityReference** result);
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
- /* [in] */ BSTR tagName,
- /* [retval][out] */ IDOMNodeList** result);
-
- virtual HRESULT STDMETHODCALLTYPE importNode(
- /* [in] */ IDOMNode* importedNode,
- /* [in] */ BOOL deep,
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE createElementNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR qualifiedName,
- /* [retval][out] */ IDOMElement** result);
-
- virtual HRESULT STDMETHODCALLTYPE createAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR qualifiedName,
- /* [retval][out] */ IDOMAttr** result);
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMNodeList** result);
-
- virtual HRESULT STDMETHODCALLTYPE getElementById(
- /* [in] */ BSTR elementId,
- /* [retval][out] */ IDOMElement** result);
-
- // IDOMViewCSS
- virtual HRESULT STDMETHODCALLTYPE getComputedStyle(
- /* [in] */ IDOMElement* elt,
- /* [in] */ BSTR pseudoElt,
- /* [retval][out] */ IDOMCSSStyleDeclaration** result);
-
- // IDOMDocumentEvent
- virtual HRESULT STDMETHODCALLTYPE createEvent(
- /* [in] */ BSTR eventType,
- /* [retval][out] */ IDOMEvent** result);
-
- // DOMDocument
- WebCore::Document* document() { return m_document; }
-
-protected:
- WebCore::Document* m_document;
-};
-
-class DOMWindow : public DOMObject, public IDOMWindow, public IDOMEventTarget {
-protected:
- DOMWindow(WebCore::DOMWindow*);
- ~DOMWindow();
-
-public:
- static IDOMWindow* createInstance(WebCore::DOMWindow*);
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- virtual HRESULT STDMETHODCALLTYPE document(
- /* [out, retval] */ IDOMDocument**);
-
- virtual HRESULT STDMETHODCALLTYPE getComputedStyle(
- /* [in] */ IDOMElement*,
- /* [in] */ BSTR);
-
- virtual HRESULT STDMETHODCALLTYPE getMatchedCSSRules(
- /* [in] */ IDOMElement*,
- /* [in] */ BSTR,
- /* [in] */ BOOL,
- /* [out, retval] */ IDOMCSSRuleList**);
-
- virtual HRESULT STDMETHODCALLTYPE devicePixelRatio(
- /* [out, retval] */ double*);
-
- virtual HRESULT STDMETHODCALLTYPE addEventListener(
- /* [in] */ BSTR,
- /* [in] */ IDOMEventListener *,
- /* [in] */ BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE removeEventListener(
- /* [in] */ BSTR,
- /* [in] */ IDOMEventListener *,
- /* [in] */ BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE dispatchEvent(
- /* [in] */ IDOMEvent *,
- /* [retval][out] */ BOOL *);
-
- // DOMWindow
- WebCore::DOMWindow* window() { return m_window; }
-
-protected:
- WebCore::DOMWindow* m_window;
-};
-
-
-
-class DOMElement : public DOMNode, public IDOMElement, public IDOMElementPrivate, public IDOMNodeExtensions, public IDOMElementCSSInlineStyle, public IDOMElementExtensions {
-protected:
- DOMElement(WebCore::Element* e);
- ~DOMElement();
-
-public:
- static IDOMElement* createInstance(WebCore::Element* e);
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMNode::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMNode::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return DOMNode::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return DOMNode::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return DOMNode::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMNode::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMNode::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return DOMNode::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMNode::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMNode::setException(description); }
-
- // IDOMNode
- virtual HRESULT STDMETHODCALLTYPE nodeName(
- /* [retval][out] */ BSTR* result) { return DOMNode::nodeName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeValue(
- /* [retval][out] */ BSTR* result) { return DOMNode::nodeValue(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setNodeValue(
- /* [in] */ BSTR value) { return DOMNode::setNodeValue(value); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeType(
- /* [retval][out] */ unsigned short* result) { return DOMNode::nodeType(result); }
-
- virtual HRESULT STDMETHODCALLTYPE parentNode(
- /* [retval][out] */ IDOMNode** result) { return DOMNode::parentNode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE childNodes(
- /* [retval][out] */ IDOMNodeList** result) { return DOMNode::childNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE firstChild(
- /* [retval][out] */ IDOMNode** result) { return DOMNode::firstChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE lastChild(
- /* [retval][out] */ IDOMNode** result) { return DOMNode::lastChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE previousSibling(
- /* [retval][out] */ IDOMNode** result) { return DOMNode::previousSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nextSibling(
- /* [retval][out] */ IDOMNode** result) { return DOMNode::nextSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE attributes(
- /* [retval][out] */ IDOMNamedNodeMap** result) { return DOMNode::attributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE ownerDocument(
- /* [retval][out] */ IDOMDocument** result) { return DOMNode::ownerDocument(result); }
-
- virtual HRESULT STDMETHODCALLTYPE insertBefore(
- /* [in] */ IDOMNode* newChild,
- /* [in] */ IDOMNode* refChild,
- /* [retval][out] */ IDOMNode** result) { return DOMNode::insertBefore(newChild, refChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE replaceChild(
- /* [in] */ IDOMNode* newChild,
- /* [in] */ IDOMNode* oldChild,
- /* [retval][out] */ IDOMNode** result) { return DOMNode::replaceChild(newChild, oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeChild(
- /* [in] */ IDOMNode* oldChild,
- /* [retval][out] */ IDOMNode** result) { return DOMNode::removeChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE appendChild(
- /* [in] */ IDOMNode* oldChild,
- /* [retval][out] */ IDOMNode** result) { return DOMNode::appendChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
- /* [retval][out] */ BOOL* result) { return DOMNode::hasChildNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cloneNode(
- /* [in] */ BOOL deep,
- /* [retval][out] */ IDOMNode** result) { return DOMNode::cloneNode(deep, result); }
-
- virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMNode::normalize(); }
-
- virtual HRESULT STDMETHODCALLTYPE isSupported(
- /* [in] */ BSTR feature,
- /* [in] */ BSTR version,
- /* [retval][out] */ BOOL* result) { return DOMNode::isSupported(feature, version, result); }
-
- virtual HRESULT STDMETHODCALLTYPE namespaceURI(
- /* [retval][out] */ BSTR* result) { return DOMNode::namespaceURI(result); }
-
- virtual HRESULT STDMETHODCALLTYPE prefix(
- /* [retval][out] */ BSTR* result) { return DOMNode::prefix(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setPrefix(
- /* [in] */ BSTR prefix) { return DOMNode::setPrefix(prefix); }
-
- virtual HRESULT STDMETHODCALLTYPE localName(
- /* [retval][out] */ BSTR* result) { return DOMNode::localName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributes(
- /* [retval][out] */ BOOL* result) { return DOMNode::hasAttributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE isSameNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMNode::isSameNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE isEqualNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMNode::isEqualNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE textContent(
- /* [retval][out] */ BSTR* result) { return DOMNode::textContent(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTextContent(
- /* [in] */ BSTR text) { return DOMNode::setTextContent(text); }
-
- // IDOMElement
- virtual HRESULT STDMETHODCALLTYPE tagName(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE getAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE setAttribute(
- /* [in] */ BSTR name,
- /* [in] */ BSTR value);
-
- virtual HRESULT STDMETHODCALLTYPE removeAttribute(
- /* [in] */ BSTR name);
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMAttr** result);
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr** result);
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
- /* [in] */ IDOMAttr *oldAttr,
- /* [retval][out] */ IDOMAttr** result);
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMNodeList** result);
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR qualifiedName,
- /* [in] */ BSTR value);
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName);
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMAttr** result);
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr** result);
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMNodeList** result);
-
- virtual HRESULT STDMETHODCALLTYPE hasAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE focus( void);
-
- virtual HRESULT STDMETHODCALLTYPE blur( void);
-
- // IDOMNodeExtensions
- virtual HRESULT STDMETHODCALLTYPE boundingBox(
- /* [retval][out] */ LPRECT rect);
-
- virtual HRESULT STDMETHODCALLTYPE lineBoxRects(
- /* [size_is][in] */ RECT* rects,
- /* [in] */ int cRects);
-
- // IDOMElementPrivate
- virtual HRESULT STDMETHODCALLTYPE coreElement(
- void** element);
-
- virtual HRESULT STDMETHODCALLTYPE isEqual(
- /* [in] */ IDOMElement* other,
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE isFocused(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE innerText(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE font(
- WebFontDescription* webFontDescription);
-
- virtual HRESULT STDMETHODCALLTYPE renderedImage(
- /* [retval][out] */ HBITMAP* image);
-
- virtual HRESULT STDMETHODCALLTYPE markerTextForListItem(
- /* [retval][out] */ BSTR* markerText);
-
- virtual HRESULT STDMETHODCALLTYPE shadowPseudoId(
- /* [retval][out] */ BSTR* result);
-
- // IDOMElementCSSInlineStyle
- virtual HRESULT STDMETHODCALLTYPE style(
- /* [retval][out] */ IDOMCSSStyleDeclaration** result);
-
- // IDOMElementExtensions
- virtual HRESULT STDMETHODCALLTYPE offsetLeft(
- /* [retval][out] */ int* result);
-
- virtual HRESULT STDMETHODCALLTYPE offsetTop(
- /* [retval][out] */ int* result);
-
- virtual HRESULT STDMETHODCALLTYPE offsetWidth(
- /* [retval][out] */ int* result);
-
- virtual HRESULT STDMETHODCALLTYPE offsetHeight(
- /* [retval][out] */ int* result);
-
- virtual HRESULT STDMETHODCALLTYPE offsetParent(
- /* [retval][out] */ IDOMElement** result);
-
- virtual HRESULT STDMETHODCALLTYPE clientWidth(
- /* [retval][out] */ int* result);
-
- virtual HRESULT STDMETHODCALLTYPE clientHeight(
- /* [retval][out] */ int* result);
-
- virtual HRESULT STDMETHODCALLTYPE scrollLeft(
- /* [retval][out] */ int* result);
-
- virtual HRESULT STDMETHODCALLTYPE setScrollLeft(
- /* [in] */ int newScrollLeft);
-
- virtual HRESULT STDMETHODCALLTYPE scrollTop(
- /* [retval][out] */ int* result);
-
- virtual HRESULT STDMETHODCALLTYPE setScrollTop(
- /* [in] */ int newScrollTop);
-
- virtual HRESULT STDMETHODCALLTYPE scrollWidth(
- /* [retval][out] */ int* result);
-
- virtual HRESULT STDMETHODCALLTYPE scrollHeight(
- /* [retval][out] */ int* result);
-
- virtual HRESULT STDMETHODCALLTYPE scrollIntoView(
- /* [in] */ BOOL alignWithTop);
-
- virtual HRESULT STDMETHODCALLTYPE scrollIntoViewIfNeeded(
- /* [in] */ BOOL centerIfNeeded);
-
- // DOMElement
- WebCore::Element* element() { return m_element; }
-
-protected:
- WebCore::Element* m_element;
-};
-
-#endif
diff --git a/Source/WebKit/win/DOMEventsClasses.cpp b/Source/WebKit/win/DOMEventsClasses.cpp
deleted file mode 100644
index baf58b772..000000000
--- a/Source/WebKit/win/DOMEventsClasses.cpp
+++ /dev/null
@@ -1,772 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-#include <initguid.h>
-#include "DOMEventsClasses.h"
-
-#include <WebCore/COMPtr.h>
-#include <WebCore/DOMWindow.h>
-#include <WebCore/Event.h>
-#include <WebCore/EventNames.h>
-#include <WebCore/KeyboardEvent.h>
-#include <WebCore/MouseEvent.h>
-#include <WebCore/ScriptExecutionContext.h>
-
-// DOMEventListener -----------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMEventListener::QueryInterface(const IID &riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMEventListener))
- *ppvObject = static_cast<IDOMEventListener*>(this);
- else
- return DOMObject::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMEventListener::handleEvent(
- /* [in] */ IDOMEvent* /*evt*/)
-{
- return E_NOTIMPL;
-}
-
-WebEventListener::WebEventListener(IDOMEventListener* i)
- : EventListener(CPPEventListenerType)
- , m_iDOMEventListener(i)
-{
- m_iDOMEventListener->AddRef();
-}
-
-WebEventListener::~WebEventListener()
-{
- m_iDOMEventListener->Release();
-}
-
-bool WebEventListener::operator==(const WebCore::EventListener& other)
-{
- return (other.type() == CPPEventListenerType
- && reinterpret_cast<const WebEventListener*>(&other)->m_iDOMEventListener == m_iDOMEventListener);
-}
-
-void WebEventListener::handleEvent(WebCore::ScriptExecutionContext* s, WebCore::Event* e)
-{
- RefPtr<WebCore::Event> ePtr(e);
- COMPtr<IDOMEvent> domEvent = DOMEvent::createInstance(ePtr);
- m_iDOMEventListener->handleEvent(domEvent.get());
-}
-
-PassRefPtr<WebEventListener> WebEventListener::create(IDOMEventListener* d)
-{
- return adoptRef(new WebEventListener(d));
-}
-
-// DOMEvent -------------------------------------------------------------------
-
-DOMEvent::DOMEvent(PassRefPtr<WebCore::Event> e)
-: m_event(0)
-{
- m_event = e;
-}
-
-DOMEvent::~DOMEvent()
-{
-}
-
-IDOMEvent* DOMEvent::createInstance(PassRefPtr<WebCore::Event> e)
-{
- if (!e)
- return 0;
-
- HRESULT hr;
- IDOMEvent* domEvent = 0;
-
- if (e->isKeyboardEvent()) {
- DOMKeyboardEvent* newEvent = new DOMKeyboardEvent(e);
- hr = newEvent->QueryInterface(IID_IDOMKeyboardEvent, (void**)&domEvent);
- } else if (e->isMouseEvent()) {
- DOMMouseEvent* newEvent = new DOMMouseEvent(e);
- hr = newEvent->QueryInterface(IID_IDOMMouseEvent, (void**)&domEvent);
- } else if (e->hasInterface(WebCore::eventNames().interfaceForMutationEvent)) {
- DOMMutationEvent* newEvent = new DOMMutationEvent(e);
- hr = newEvent->QueryInterface(IID_IDOMMutationEvent, (void**)&domEvent);
- } else if (e->hasInterface(WebCore::eventNames().interfaceForOverflowEvent)) {
- DOMOverflowEvent* newEvent = new DOMOverflowEvent(e);
- hr = newEvent->QueryInterface(IID_IDOMOverflowEvent, (void**)&domEvent);
- } else if (e->hasInterface(WebCore::eventNames().interfaceForWheelEvent)) {
- DOMWheelEvent* newEvent = new DOMWheelEvent(e);
- hr = newEvent->QueryInterface(IID_IDOMWheelEvent, (void**)&domEvent);
- } else if (e->isUIEvent()) {
- DOMUIEvent* newEvent = new DOMUIEvent(e);
- hr = newEvent->QueryInterface(IID_IDOMUIEvent, (void**)&domEvent);
- } else {
- DOMEvent* newEvent = new DOMEvent(e);
- hr = newEvent->QueryInterface(IID_IDOMEvent, (void**)&domEvent);
- }
-
- if (FAILED(hr))
- return 0;
-
- return domEvent;
-}
-
-HRESULT STDMETHODCALLTYPE DOMEvent::QueryInterface(const IID &riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_DOMEvent))
- *ppvObject = this;
- else if (IsEqualGUID(riid, IID_IDOMEvent))
- *ppvObject = static_cast<IDOMEvent*>(this);
- else
- return DOMObject::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMEvent::type(
- /* [retval][out] */ BSTR* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMEvent::target(
- /* [retval][out] */ IDOMEventTarget** /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMEvent::currentTarget(
- /* [retval][out] */ IDOMEventTarget** /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMEvent::eventPhase(
- /* [retval][out] */ unsigned short* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMEvent::bubbles(
- /* [retval][out] */ BOOL* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMEvent::cancelable(
- /* [retval][out] */ BOOL* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMEvent::timeStamp(
- /* [retval][out] */ DOMTimeStamp* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMEvent::stopPropagation( void)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMEvent::preventDefault( void)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMEvent::initEvent(
- /* [in] */ BSTR /*eventTypeArg*/,
- /* [in] */ BOOL /*canBubbleArg*/,
- /* [in] */ BOOL /*cancelableArg*/)
-{
- return E_NOTIMPL;
-}
-
-// DOMUIEvent -----------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMUIEvent::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMUIEvent))
- *ppvObject = static_cast<IDOMUIEvent*>(this);
- else
- return DOMEvent::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMUIEvent::view(
- /* [retval][out] */ IDOMWindow** /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMUIEvent::detail(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMUIEvent::initUIEvent(
- /* [in] */ BSTR /*type*/,
- /* [in] */ BOOL /*canBubble*/,
- /* [in] */ BOOL /*cancelable*/,
- /* [in] */ IDOMWindow* /*view*/,
- /* [in] */ long /*detail*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMUIEvent::keyCode(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMUIEvent::charCode(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMUIEvent::unused1(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMUIEvent::unused2(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMUIEvent::pageX(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMUIEvent::pageY(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMUIEvent::which(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-// DOMKeyboardEvent -----------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMKeyboardEvent))
- *ppvObject = static_cast<IDOMKeyboardEvent*>(this);
- else
- return DOMUIEvent::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::keyIdentifier(
- /* [retval][out] */ BSTR* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::location(
- /* [retval][out] */ unsigned long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::keyLocation(
- /* [retval][out] */ unsigned long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::ctrlKey(
- /* [retval][out] */ BOOL* result)
-{
- *result = FALSE;
- if (!m_event || !m_event->isKeyboardEvent())
- return E_FAIL;
- WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
-
- *result = keyEvent->ctrlKey() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::shiftKey(
- /* [retval][out] */ BOOL* result)
-{
- *result = FALSE;
- if (!m_event || !m_event->isKeyboardEvent())
- return E_FAIL;
- WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
-
- *result = keyEvent->shiftKey() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::altKey(
- /* [retval][out] */ BOOL* result)
-{
- *result = FALSE;
- if (!m_event || !m_event->isKeyboardEvent())
- return E_FAIL;
- WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
-
- *result = keyEvent->altKey() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::metaKey(
- /* [retval][out] */ BOOL* result)
-{
- *result = FALSE;
- if (!m_event || !m_event->isKeyboardEvent())
- return E_FAIL;
- WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
-
- *result = keyEvent->metaKey() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::altGraphKey(
- /* [retval][out] */ BOOL* result)
-{
- *result = FALSE;
- if (!m_event || !m_event->isKeyboardEvent())
- return E_FAIL;
- WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get());
-
- *result = keyEvent->altGraphKey() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::getModifierState(
- /* [in] */ BSTR /*keyIdentifierArg*/,
- /* [retval][out] */ BOOL* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::initKeyboardEvent(
- /* [in] */ BSTR /*type*/,
- /* [in] */ BOOL /*canBubble*/,
- /* [in] */ BOOL /*cancelable*/,
- /* [in] */ IDOMWindow* /*view*/,
- /* [in] */ BSTR /*keyIdentifier*/,
- /* [in] */ unsigned long /*keyLocation*/,
- /* [in] */ BOOL /*ctrlKey*/,
- /* [in] */ BOOL /*altKey*/,
- /* [in] */ BOOL /*shiftKey*/,
- /* [in] */ BOOL /*metaKey*/,
- /* [in] */ BOOL /*graphKey*/)
-{
- return E_NOTIMPL;
-}
-
-// DOMMouseEvent --------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMMouseEvent))
- *ppvObject = static_cast<IDOMMouseEvent*>(this);
- else
- return DOMUIEvent::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::screenX(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::screenY(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::clientX(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::clientY(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::ctrlKey(
- /* [retval][out] */ BOOL* result)
-{
- *result = FALSE;
- if (!m_event || !m_event->isMouseEvent())
- return E_FAIL;
- WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get());
-
- *result = mouseEvent->ctrlKey() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::shiftKey(
- /* [retval][out] */ BOOL* result)
-{
- *result = FALSE;
- if (!m_event || !m_event->isMouseEvent())
- return E_FAIL;
- WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get());
-
- *result = mouseEvent->shiftKey() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::altKey(
- /* [retval][out] */ BOOL* result)
-{
- *result = FALSE;
- if (!m_event || !m_event->isMouseEvent())
- return E_FAIL;
- WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get());
-
- *result = mouseEvent->altKey() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::metaKey(
- /* [retval][out] */ BOOL* result)
-{
- *result = FALSE;
- if (!m_event || !m_event->isMouseEvent())
- return E_FAIL;
- WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get());
-
- *result = mouseEvent->metaKey() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::button(
- /* [retval][out] */ unsigned short* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::relatedTarget(
- /* [retval][out] */ IDOMEventTarget** /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::initMouseEvent(
- /* [in] */ BSTR /*type*/,
- /* [in] */ BOOL /*canBubble*/,
- /* [in] */ BOOL /*cancelable*/,
- /* [in] */ IDOMWindow* /*view*/,
- /* [in] */ long /*detail*/,
- /* [in] */ long /*screenX*/,
- /* [in] */ long /*screenY*/,
- /* [in] */ long /*clientX*/,
- /* [in] */ long /*clientY*/,
- /* [in] */ BOOL /*ctrlKey*/,
- /* [in] */ BOOL /*altKey*/,
- /* [in] */ BOOL /*shiftKey*/,
- /* [in] */ BOOL /*metaKey*/,
- /* [in] */ unsigned short /*button*/,
- /* [in] */ IDOMEventTarget* /*relatedTarget*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::offsetX(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::offsetY(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::x(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::y(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::fromElement(
- /* [retval][out] */ IDOMNode** /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMouseEvent::toElement(
- /* [retval][out] */ IDOMNode** /*result*/)
-{
- return E_NOTIMPL;
-}
-
-// DOMMutationEvent -----------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMMutationEvent))
- *ppvObject = static_cast<IDOMMutationEvent*>(this);
- else
- return DOMEvent::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::relatedNode(
- /* [retval][out] */ IDOMNode** /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::prevValue(
- /* [retval][out] */ BSTR* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::newValue(
- /* [retval][out] */ BSTR* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::attrName(
- /* [retval][out] */ BSTR* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::attrChange(
- /* [retval][out] */ unsigned short* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMMutationEvent::initMutationEvent(
- /* [in] */ BSTR /*type*/,
- /* [in] */ BOOL /*canBubble*/,
- /* [in] */ BOOL /*cancelable*/,
- /* [in] */ IDOMNode* /*relatedNode*/,
- /* [in] */ BSTR /*prevValue*/,
- /* [in] */ BSTR /*newValue*/,
- /* [in] */ BSTR /*attrName*/,
- /* [in] */ unsigned short /*attrChange*/)
-{
- return E_NOTIMPL;
-}
-
-// DOMOverflowEvent -----------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMOverflowEvent::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMOverflowEvent))
- *ppvObject = static_cast<IDOMOverflowEvent*>(this);
- else
- return DOMEvent::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMOverflowEvent::orient(
- /* [retval][out] */ unsigned short* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMOverflowEvent::horizontalOverflow(
- /* [retval][out] */ BOOL* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMOverflowEvent::verticalOverflow(
- /* [retval][out] */ BOOL* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-// DOMWheelEvent --------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMWheelEvent))
- *ppvObject = static_cast<IDOMWheelEvent*>(this);
- else
- return DOMUIEvent::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::screenX(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::screenY(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::clientX(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::clientY(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::ctrlKey(
- /* [retval][out] */ BOOL* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::shiftKey(
- /* [retval][out] */ BOOL* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::altKey(
- /* [retval][out] */ BOOL* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::metaKey(
- /* [retval][out] */ BOOL* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDelta(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDeltaX(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDeltaY(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::offsetX(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::offsetY(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::x(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::y(
- /* [retval][out] */ long* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::isHorizontal(
- /* [retval][out] */ BOOL* /*result*/)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMWheelEvent::initWheelEvent(
- /* [in] */ long /*wheelDeltaX*/,
- /* [in] */ long /*wheelDeltaY*/,
- /* [in] */ IDOMWindow* /*view*/,
- /* [in] */ long /*screenX*/,
- /* [in] */ long /*screenY*/,
- /* [in] */ long /*clientX*/,
- /* [in] */ long /*clientY*/,
- /* [in] */ BOOL /*ctrlKey*/,
- /* [in] */ BOOL /*altKey*/,
- /* [in] */ BOOL /*shiftKey*/,
- /* [in] */ BOOL /*metaKey*/)
-{
- return E_NOTIMPL;
-}
diff --git a/Source/WebKit/win/DOMEventsClasses.h b/Source/WebKit/win/DOMEventsClasses.h
deleted file mode 100644
index 27000cd4a..000000000
--- a/Source/WebKit/win/DOMEventsClasses.h
+++ /dev/null
@@ -1,975 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 DOMEventsClasses_H
-#define DOMEventsClasses_H
-
-#include "WebKit.h"
-#include "DOMCoreClasses.h"
-#include <WebCore/EventListener.h>
-
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefPtr.h>
-
-// {AC3D1BC3-4976-4431-8A19-4812C5EFE39C}
-DEFINE_GUID(IID_DOMEvent, 0xac3d1bc3, 0x4976, 0x4431, 0x8a, 0x19, 0x48, 0x12, 0xc5, 0xef, 0xe3, 0x9c);
-
-namespace WebCore {
- class Event;
-}
-
-class DOMUIEvent;
-
-class WebEventListener : public WebCore::EventListener {
-public:
- WebEventListener(IDOMEventListener*);
- ~WebEventListener();
- virtual bool operator==(const EventListener&);
- virtual void handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*);
- static PassRefPtr<WebEventListener> create(IDOMEventListener*);
-private:
- IDOMEventListener* m_iDOMEventListener;
-};
-
-class DOMEventListener : public DOMObject, public IDOMEventListener
-{
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- // IDOMEventListener
- virtual HRESULT STDMETHODCALLTYPE handleEvent(
- /* [in] */ IDOMEvent* evt);
-};
-
-class DOMEvent : public DOMObject, public IDOMEvent
-{
-public:
- static IDOMEvent* createInstance(PassRefPtr<WebCore::Event> e);
-protected:
- DOMEvent(PassRefPtr<WebCore::Event> e);
- ~DOMEvent();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- // IDOMEvent
- virtual HRESULT STDMETHODCALLTYPE type(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE target(
- /* [retval][out] */ IDOMEventTarget** result);
-
- virtual HRESULT STDMETHODCALLTYPE currentTarget(
- /* [retval][out] */ IDOMEventTarget** result);
-
- virtual HRESULT STDMETHODCALLTYPE eventPhase(
- /* [retval][out] */ unsigned short* result);
-
- virtual HRESULT STDMETHODCALLTYPE bubbles(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE cancelable(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE timeStamp(
- /* [retval][out] */ DOMTimeStamp* result);
-
- virtual HRESULT STDMETHODCALLTYPE stopPropagation( void);
-
- virtual HRESULT STDMETHODCALLTYPE preventDefault( void);
-
- virtual HRESULT STDMETHODCALLTYPE initEvent(
- /* [in] */ BSTR eventTypeArg,
- /* [in] */ BOOL canBubbleArg,
- /* [in] */ BOOL cancelableArg);
-
- // DOMEvent methods
- WebCore::Event* coreEvent() { return m_event.get(); }
-
-protected:
- RefPtr<WebCore::Event> m_event;
-};
-
-class DOMUIEvent : public DOMEvent, public IDOMUIEvent
-{
-public:
- DOMUIEvent(PassRefPtr<WebCore::Event> e) : DOMEvent(e) {}
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- // IDOMEvent
- virtual HRESULT STDMETHODCALLTYPE type(
- /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
-
- virtual HRESULT STDMETHODCALLTYPE target(
- /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
-
- virtual HRESULT STDMETHODCALLTYPE currentTarget(
- /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
-
- virtual HRESULT STDMETHODCALLTYPE eventPhase(
- /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
-
- virtual HRESULT STDMETHODCALLTYPE bubbles(
- /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cancelable(
- /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
-
- virtual HRESULT STDMETHODCALLTYPE timeStamp(
- /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
-
- virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
-
- virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
-
- virtual HRESULT STDMETHODCALLTYPE initEvent(
- /* [in] */ BSTR eventTypeArg,
- /* [in] */ BOOL canBubbleArg,
- /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
-
- // IDOMUIEvent
- virtual HRESULT STDMETHODCALLTYPE view(
- /* [retval][out] */ IDOMWindow** result);
-
- virtual HRESULT STDMETHODCALLTYPE detail(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE initUIEvent(
- /* [in] */ BSTR type,
- /* [in] */ BOOL canBubble,
- /* [in] */ BOOL cancelable,
- /* [in] */ IDOMWindow* view,
- /* [in] */ long detail);
-
- virtual HRESULT STDMETHODCALLTYPE keyCode(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE charCode(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE unused1(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE unused2(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE pageX(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE pageY(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE which(
- /* [retval][out] */ long* result);
-};
-
-class DOMKeyboardEvent : public DOMUIEvent, public IDOMKeyboardEvent
-{
-public:
- DOMKeyboardEvent(PassRefPtr<WebCore::Event> e) : DOMUIEvent(e) { }
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- // IDOMEvent
- virtual HRESULT STDMETHODCALLTYPE type(
- /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
-
- virtual HRESULT STDMETHODCALLTYPE target(
- /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
-
- virtual HRESULT STDMETHODCALLTYPE currentTarget(
- /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
-
- virtual HRESULT STDMETHODCALLTYPE eventPhase(
- /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
-
- virtual HRESULT STDMETHODCALLTYPE bubbles(
- /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cancelable(
- /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
-
- virtual HRESULT STDMETHODCALLTYPE timeStamp(
- /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
-
- virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
-
- virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
-
- virtual HRESULT STDMETHODCALLTYPE initEvent(
- /* [in] */ BSTR eventTypeArg,
- /* [in] */ BOOL canBubbleArg,
- /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
-
- // IDOMUIEvent
- virtual HRESULT STDMETHODCALLTYPE view(
- /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); }
-
- virtual HRESULT STDMETHODCALLTYPE detail(
- /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); }
-
- virtual HRESULT STDMETHODCALLTYPE initUIEvent(
- /* [in] */ BSTR type,
- /* [in] */ BOOL canBubble,
- /* [in] */ BOOL cancelable,
- /* [in] */ IDOMWindow* view,
- /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); }
-
- virtual HRESULT STDMETHODCALLTYPE keyCode(
- /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE charCode(
- /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE unused1(
- /* [retval][out] */ long* result) { return DOMUIEvent::unused1(result); }
-
- virtual HRESULT STDMETHODCALLTYPE unused2(
- /* [retval][out] */ long* result) { return DOMUIEvent::unused2(result); }
-
- virtual HRESULT STDMETHODCALLTYPE pageX(
- /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); }
-
- virtual HRESULT STDMETHODCALLTYPE pageY(
- /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); }
-
- virtual HRESULT STDMETHODCALLTYPE which(
- /* [retval][out] */ long* result) { return DOMUIEvent::which(result); }
-
- // IDOMKeyboardEvent
- virtual HRESULT STDMETHODCALLTYPE keyIdentifier(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE location(
- /* [retval][out] */ unsigned long* result);
-
- virtual HRESULT STDMETHODCALLTYPE keyLocation(
- /* [retval][out] */ unsigned long* result);
-
- virtual HRESULT STDMETHODCALLTYPE ctrlKey(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE shiftKey(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE altKey(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE metaKey(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE altGraphKey(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE getModifierState(
- /* [in] */ BSTR keyIdentifierArg,
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE initKeyboardEvent(
- /* [in] */ BSTR type,
- /* [in] */ BOOL canBubble,
- /* [in] */ BOOL cancelable,
- /* [in] */ IDOMWindow* view,
- /* [in] */ BSTR keyIdentifier,
- /* [in] */ unsigned long keyLocation,
- /* [in] */ BOOL ctrlKey,
- /* [in] */ BOOL altKey,
- /* [in] */ BOOL shiftKey,
- /* [in] */ BOOL metaKey,
- /* [in] */ BOOL graphKey);
-};
-
-class DOMMouseEvent : public DOMUIEvent, public IDOMMouseEvent
-{
-public:
- DOMMouseEvent(PassRefPtr<WebCore::Event> e) : DOMUIEvent(e) { }
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- // IDOMEvent
- virtual HRESULT STDMETHODCALLTYPE type(
- /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
-
- virtual HRESULT STDMETHODCALLTYPE target(
- /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
-
- virtual HRESULT STDMETHODCALLTYPE currentTarget(
- /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
-
- virtual HRESULT STDMETHODCALLTYPE eventPhase(
- /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
-
- virtual HRESULT STDMETHODCALLTYPE bubbles(
- /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cancelable(
- /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
-
- virtual HRESULT STDMETHODCALLTYPE timeStamp(
- /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
-
- virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
-
- virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
-
- virtual HRESULT STDMETHODCALLTYPE initEvent(
- /* [in] */ BSTR eventTypeArg,
- /* [in] */ BOOL canBubbleArg,
- /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
-
- // IDOMUIEvent
- virtual HRESULT STDMETHODCALLTYPE view(
- /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); }
-
- virtual HRESULT STDMETHODCALLTYPE detail(
- /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); }
-
- virtual HRESULT STDMETHODCALLTYPE initUIEvent(
- /* [in] */ BSTR type,
- /* [in] */ BOOL canBubble,
- /* [in] */ BOOL cancelable,
- /* [in] */ IDOMWindow* view,
- /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); }
-
- virtual HRESULT STDMETHODCALLTYPE keyCode(
- /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE charCode(
- /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE unused1(
- /* [retval][out] */ long* result) { return DOMUIEvent::unused1(result); }
-
- virtual HRESULT STDMETHODCALLTYPE unused2(
- /* [retval][out] */ long* result) { return DOMUIEvent::unused2(result); }
-
- virtual HRESULT STDMETHODCALLTYPE pageX(
- /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); }
-
- virtual HRESULT STDMETHODCALLTYPE pageY(
- /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); }
-
- virtual HRESULT STDMETHODCALLTYPE which(
- /* [retval][out] */ long* result) { return DOMUIEvent::which(result); }
-
- // IDOMMouseEvent
- virtual HRESULT STDMETHODCALLTYPE screenX(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE screenY(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE clientX(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE clientY(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE ctrlKey(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE shiftKey(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE altKey(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE metaKey(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE button(
- /* [retval][out] */ unsigned short* result);
-
- virtual HRESULT STDMETHODCALLTYPE relatedTarget(
- /* [retval][out] */ IDOMEventTarget** result);
-
- virtual HRESULT STDMETHODCALLTYPE initMouseEvent(
- /* [in] */ BSTR type,
- /* [in] */ BOOL canBubble,
- /* [in] */ BOOL cancelable,
- /* [in] */ IDOMWindow* view,
- /* [in] */ long detail,
- /* [in] */ long screenX,
- /* [in] */ long screenY,
- /* [in] */ long clientX,
- /* [in] */ long clientY,
- /* [in] */ BOOL ctrlKey,
- /* [in] */ BOOL altKey,
- /* [in] */ BOOL shiftKey,
- /* [in] */ BOOL metaKey,
- /* [in] */ unsigned short button,
- /* [in] */ IDOMEventTarget* relatedTarget);
-
- virtual HRESULT STDMETHODCALLTYPE offsetX(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE offsetY(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE x(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE y(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE fromElement(
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE toElement(
- /* [retval][out] */ IDOMNode** result);
-};
-
-class DOMMutationEvent : public DOMEvent, public IDOMMutationEvent
-{
-public:
- DOMMutationEvent(PassRefPtr<WebCore::Event> e) : DOMEvent(e) { }
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- // IDOMEvent
- virtual HRESULT STDMETHODCALLTYPE type(
- /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
-
- virtual HRESULT STDMETHODCALLTYPE target(
- /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
-
- virtual HRESULT STDMETHODCALLTYPE currentTarget(
- /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
-
- virtual HRESULT STDMETHODCALLTYPE eventPhase(
- /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
-
- virtual HRESULT STDMETHODCALLTYPE bubbles(
- /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cancelable(
- /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
-
- virtual HRESULT STDMETHODCALLTYPE timeStamp(
- /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
-
- virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
-
- virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
-
- virtual HRESULT STDMETHODCALLTYPE initEvent(
- /* [in] */ BSTR eventTypeArg,
- /* [in] */ BOOL canBubbleArg,
- /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
-
- // IDOMMutationEvent
- virtual HRESULT STDMETHODCALLTYPE relatedNode(
- /* [retval][out] */ IDOMNode** result);
-
- virtual HRESULT STDMETHODCALLTYPE prevValue(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE newValue(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE attrName(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE attrChange(
- /* [retval][out] */ unsigned short* result);
-
- virtual HRESULT STDMETHODCALLTYPE initMutationEvent(
- /* [in] */ BSTR type,
- /* [in] */ BOOL canBubble,
- /* [in] */ BOOL cancelable,
- /* [in] */ IDOMNode* relatedNode,
- /* [in] */ BSTR prevValue,
- /* [in] */ BSTR newValue,
- /* [in] */ BSTR attrName,
- /* [in] */ unsigned short attrChange);
-};
-
-class DOMOverflowEvent : public DOMEvent, public IDOMOverflowEvent
-{
-public:
- DOMOverflowEvent(PassRefPtr<WebCore::Event> e) : DOMEvent(e) { }
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- // IDOMEvent
- virtual HRESULT STDMETHODCALLTYPE type(
- /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
-
- virtual HRESULT STDMETHODCALLTYPE target(
- /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
-
- virtual HRESULT STDMETHODCALLTYPE currentTarget(
- /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
-
- virtual HRESULT STDMETHODCALLTYPE eventPhase(
- /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
-
- virtual HRESULT STDMETHODCALLTYPE bubbles(
- /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cancelable(
- /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
-
- virtual HRESULT STDMETHODCALLTYPE timeStamp(
- /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
-
- virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
-
- virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
-
- virtual HRESULT STDMETHODCALLTYPE initEvent(
- /* [in] */ BSTR eventTypeArg,
- /* [in] */ BOOL canBubbleArg,
- /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
-
- // IDOMOverflowEvent
- virtual HRESULT STDMETHODCALLTYPE orient(
- /* [retval][out] */ unsigned short* result);
-
- virtual HRESULT STDMETHODCALLTYPE horizontalOverflow(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE verticalOverflow(
- /* [retval][out] */ BOOL* result);
-};
-
-class DOMWheelEvent : public DOMUIEvent, public IDOMWheelEvent
-{
-public:
- DOMWheelEvent(PassRefPtr<WebCore::Event> e) : DOMUIEvent(e) { }
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- // IDOMEvent
- virtual HRESULT STDMETHODCALLTYPE type(
- /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); }
-
- virtual HRESULT STDMETHODCALLTYPE target(
- /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); }
-
- virtual HRESULT STDMETHODCALLTYPE currentTarget(
- /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); }
-
- virtual HRESULT STDMETHODCALLTYPE eventPhase(
- /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); }
-
- virtual HRESULT STDMETHODCALLTYPE bubbles(
- /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cancelable(
- /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); }
-
- virtual HRESULT STDMETHODCALLTYPE timeStamp(
- /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); }
-
- virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); }
-
- virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); }
-
- virtual HRESULT STDMETHODCALLTYPE initEvent(
- /* [in] */ BSTR eventTypeArg,
- /* [in] */ BOOL canBubbleArg,
- /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); }
-
- // IDOMUIEvent
- virtual HRESULT STDMETHODCALLTYPE view(
- /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); }
-
- virtual HRESULT STDMETHODCALLTYPE detail(
- /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); }
-
- virtual HRESULT STDMETHODCALLTYPE initUIEvent(
- /* [in] */ BSTR type,
- /* [in] */ BOOL canBubble,
- /* [in] */ BOOL cancelable,
- /* [in] */ IDOMWindow* view,
- /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); }
-
- virtual HRESULT STDMETHODCALLTYPE keyCode(
- /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE charCode(
- /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE unused1(
- /* [retval][out] */ long* result) { return DOMUIEvent::unused1(result); }
-
- virtual HRESULT STDMETHODCALLTYPE unused2(
- /* [retval][out] */ long* result) { return DOMUIEvent::unused2(result); }
-
- virtual HRESULT STDMETHODCALLTYPE pageX(
- /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); }
-
- virtual HRESULT STDMETHODCALLTYPE pageY(
- /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); }
-
- virtual HRESULT STDMETHODCALLTYPE which(
- /* [retval][out] */ long* result) { return DOMUIEvent::which(result); }
-
- // IDOMWheelEvent
- virtual HRESULT STDMETHODCALLTYPE screenX(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE screenY(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE clientX(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE clientY(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE ctrlKey(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE shiftKey(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE altKey(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE metaKey(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE wheelDelta(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE wheelDeltaX(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE wheelDeltaY(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE offsetX(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE offsetY(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE x(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE y(
- /* [retval][out] */ long* result);
-
- virtual HRESULT STDMETHODCALLTYPE isHorizontal(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE initWheelEvent(
- /* [in] */ long wheelDeltaX,
- /* [in] */ long wheelDeltaY,
- /* [in] */ IDOMWindow* view,
- /* [in] */ long screenX,
- /* [in] */ long screenY,
- /* [in] */ long clientX,
- /* [in] */ long clientY,
- /* [in] */ BOOL ctrlKey,
- /* [in] */ BOOL altKey,
- /* [in] */ BOOL shiftKey,
- /* [in] */ BOOL metaKey);
-};
-
-#endif
diff --git a/Source/WebKit/win/DOMHTMLClasses.cpp b/Source/WebKit/win/DOMHTMLClasses.cpp
deleted file mode 100644
index be6ed7cc6..000000000
--- a/Source/WebKit/win/DOMHTMLClasses.cpp
+++ /dev/null
@@ -1,1616 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2009 Apple 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 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 "WebKitDLL.h"
-#include "DOMHTMLClasses.h"
-#include "WebFrame.h"
-
-#include <WebCore/BString.h>
-#include <WebCore/COMPtr.h>
-#include <WebCore/Document.h>
-#include <WebCore/Element.h>
-#include <WebCore/FrameView.h>
-#include <WebCore/HTMLCollection.h>
-#include <WebCore/HTMLDocument.h>
-#include <WebCore/HTMLFormElement.h>
-#include <WebCore/HTMLIFrameElement.h>
-#include <WebCore/HTMLInputElement.h>
-#include <WebCore/HTMLNames.h>
-#include <WebCore/HTMLOptionElement.h>
-#include <WebCore/HTMLOptionsCollection.h>
-#include <WebCore/HTMLSelectElement.h>
-#include <WebCore/HTMLTextAreaElement.h>
-#include <WebCore/IntRect.h>
-#include <WebCore/RenderObject.h>
-#include <WebCore/RenderTextControl.h>
-
-using namespace WebCore;
-using namespace HTMLNames;
-
-// DOMHTMLCollection
-
-DOMHTMLCollection::DOMHTMLCollection(WebCore::HTMLCollection* c)
-: m_collection(c)
-{
-}
-
-IDOMHTMLCollection* DOMHTMLCollection::createInstance(WebCore::HTMLCollection* c)
-{
- if (!c)
- return 0;
-
- IDOMHTMLCollection* htmlCollection = 0;
- DOMHTMLCollection* newCollection = new DOMHTMLCollection(c);
- if (FAILED(newCollection->QueryInterface(IID_IDOMHTMLCollection, (void**)&htmlCollection))) {
- delete newCollection;
- return 0;
- }
-
- return htmlCollection;
-}
-
-// DOMHTMLCollection - IUnknown -----------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLCollection::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMHTMLCollection))
- *ppvObject = static_cast<IDOMHTMLCollection*>(this);
- else
- return DOMObject::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMHTMLCollection ----------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLCollection::length(
- /* [retval][out] */ UINT* result)
-{
- *result = 0;
- if (!m_collection)
- return E_POINTER;
-
- *result = m_collection->length();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLCollection::item(
- /* [in] */ UINT index,
- /* [retval][out] */ IDOMNode** node)
-{
- *node = 0;
- if (!m_collection)
- return E_POINTER;
-
- *node = DOMNode::createInstance(m_collection->item(index));
- return *node ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLCollection::namedItem(
- /* [in] */ BSTR /*name*/,
- /* [retval][out] */ IDOMNode** /*node*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-// DOMHTMLOptionsCollection - IUnknown ----------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMHTMLOptionsCollection))
- *ppvObject = static_cast<IDOMHTMLOptionsCollection*>(this);
- else
- return DOMObject::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMHTMLOptionsCollection ---------------------------------------------------
-
-DOMHTMLOptionsCollection::DOMHTMLOptionsCollection(WebCore::HTMLOptionsCollection* collection)
- : m_collection(collection)
-{
-}
-
-IDOMHTMLOptionsCollection* DOMHTMLOptionsCollection::createInstance(WebCore::HTMLOptionsCollection* collection)
-{
- if (!collection)
- return 0;
-
- IDOMHTMLOptionsCollection* optionsCollection = 0;
- DOMHTMLOptionsCollection* newCollection = new DOMHTMLOptionsCollection(collection);
- if (FAILED(newCollection->QueryInterface(IID_IDOMHTMLOptionsCollection, (void**)&optionsCollection))) {
- delete newCollection;
- return 0;
- }
-
- return optionsCollection;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::length(
- /* [retval][out] */ unsigned int* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = m_collection->length();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::setLength(
- /* [in] */ unsigned int /*length*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::item(
- /* [in] */ unsigned int index,
- /* [retval][out] */ IDOMNode** result)
-{
- if (!result)
- return E_POINTER;
-
- *result = DOMNode::createInstance(m_collection->item(index));
-
- return *result ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionsCollection::namedItem(
- /* [in] */ BSTR /*name*/,
- /* [retval][out] */ IDOMNode** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-// DOMHTMLDocument - IUnknown -------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMHTMLDocument))
- *ppvObject = static_cast<IDOMHTMLDocument*>(this);
- else
- return DOMDocument::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMHTMLDocument ------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::title(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = 0;
-
- if (!m_document || !m_document->isHTMLDocument())
- return E_FAIL;
-
- *result = BString(m_document->title()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::setTitle(
- /* [in] */ BSTR /*title*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::referrer(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::domain(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::URL(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = BString(toHTMLDocument(m_document)->url()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::body(
- /* [retval][out] */ IDOMHTMLElement** bodyElement)
-{
- *bodyElement = 0;
- if (!m_document || !m_document->isHTMLDocument())
- return E_FAIL;
-
- HTMLDocument* htmlDoc = toHTMLDocument(m_document);
- COMPtr<IDOMElement> domElement;
- domElement.adoptRef(DOMHTMLElement::createInstance(htmlDoc->body()));
- if (domElement)
- return domElement->QueryInterface(IID_IDOMHTMLElement, (void**) bodyElement);
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::setBody(
- /* [in] */ IDOMHTMLElement* /*body*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::images(
- /* [retval][out] */ IDOMHTMLCollection** /*collection*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::applets(
- /* [retval][out] */ IDOMHTMLCollection** /*collection*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::links(
- /* [retval][out] */ IDOMHTMLCollection** /*collection*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::forms(
- /* [retval][out] */ IDOMHTMLCollection** collection)
-{
- *collection = 0;
- if (!m_document || !m_document->isHTMLDocument())
- return E_FAIL;
-
- HTMLDocument* htmlDoc = toHTMLDocument(m_document);
- RefPtr<HTMLCollection> forms = htmlDoc->forms();
- *collection = DOMHTMLCollection::createInstance(forms.get());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::anchors(
- /* [retval][out] */ IDOMHTMLCollection** /*collection*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::cookie(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::setCookie(
- /* [in] */ BSTR /*cookie*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::open( void)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::close( void)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::write(
- /* [in] */ BSTR /*text*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::writeln(
- /* [in] */ BSTR /*text*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::getElementById_(
- /* [in] */ BSTR /*elementId*/,
- /* [retval][out] */ IDOMElement** /*element*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLDocument::getElementsByName(
- /* [in] */ BSTR /*elementName*/,
- /* [retval][out] */ IDOMNodeList** /*nodeList*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-// DOMHTMLElement - IUnknown --------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMHTMLElement))
- *ppvObject = static_cast<IDOMHTMLElement*>(this);
- else
- return DOMElement::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMHTMLElement -------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::idName(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_POINTER;
-
- ASSERT(m_element && m_element->isHTMLElement());
- String idString = toHTMLElement(m_element)->getAttribute(idAttr);
- *result = BString(idString).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setIdName(
- /* [in] */ BSTR /*idName*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::title(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setTitle(
- /* [in] */ BSTR /*title*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::lang(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setLang(
- /* [in] */ BSTR /*lang*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::dir(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setDir(
- /* [in] */ BSTR /*dir*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::className(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setClassName(
- /* [in] */ BSTR /*className*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::innerHTML(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setInnerHTML(
- /* [in] */ BSTR /*html*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::innerText(
- /* [retval][out] */ BSTR* result)
-{
- ASSERT(m_element && m_element->isHTMLElement());
- WTF::String innerTextString = toHTMLElement(m_element)->innerText();
- *result = BString(innerTextString.characters(), innerTextString.length()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLElement::setInnerText(
- /* [in] */ BSTR text)
-{
- ASSERT(m_element && m_element->isHTMLElement());
- HTMLElement* htmlEle = toHTMLElement(m_element);
- WTF::String textString(text, SysStringLen(text));
- WebCore::ExceptionCode ec = 0;
- htmlEle->setInnerText(textString, ec);
- return S_OK;
-}
-
-// DOMHTMLFormElement - IUnknown ----------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMHTMLFormElement))
- *ppvObject = static_cast<IDOMHTMLFormElement*>(this);
- else
- return DOMHTMLElement::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMHTMLFormElement ---------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::elements(
- /* [retval][out] */ IDOMHTMLCollection** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::length(
- /* [retval][out] */ int* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::name(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setName(
- /* [in] */ BSTR /*name*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::acceptCharset(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setAcceptCharset(
- /* [in] */ BSTR /*acceptCharset*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::action(
- /* [retval][out] */ BSTR* result)
-{
- ASSERT(m_element && isHTMLFormElement(m_element));
- WTF::String actionString = toHTMLFormElement(m_element)->action();
- *result = BString(actionString.characters(), actionString.length()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setAction(
- /* [in] */ BSTR /*action*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::encType(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setEnctype(
- /* [retval][out] */ BSTR* /*encType*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::method(
- /* [retval][out] */ BSTR* result)
-{
- ASSERT(m_element && isHTMLFormElement(m_element));
- WTF::String methodString = toHTMLFormElement(m_element)->method();
- *result = BString(methodString.characters(), methodString.length()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setMethod(
- /* [in] */ BSTR /*method*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::target(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::setTarget(
- /* [in] */ BSTR /*target*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::submit( void)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLFormElement::reset( void)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-// DOMHTMLSelectElement - IUnknown ----------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMHTMLSelectElement))
- *ppvObject = static_cast<IDOMHTMLSelectElement*>(this);
- else if (IsEqualGUID(riid, IID_IFormsAutoFillTransitionSelect))
- *ppvObject = static_cast<IFormsAutoFillTransitionSelect*>(this);
- else
- return DOMHTMLElement::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMHTMLSelectElement -------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::type(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::selectedIndex(
- /* [retval][out] */ int* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setSelectedIndx(
- /* [in] */ int /*selectedIndex*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::value(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setValue(
- /* [in] */ BSTR /*value*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::length(
- /* [retval][out] */ int* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::form(
- /* [retval][out] */ IDOMHTMLFormElement** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::options(
- /* [retval][out] */ IDOMHTMLOptionsCollection** result)
-{
- if (!result)
- return E_POINTER;
-
- ASSERT(m_element);
- HTMLSelectElement* selectElement = toHTMLSelectElement(m_element);
-
- if (!selectElement->options())
- return E_FAIL;
-
- *result = 0;
- RefPtr<HTMLOptionsCollection> options = selectElement->options();
- *result = DOMHTMLOptionsCollection::createInstance(options.get());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::disabled(
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setDisabled(
- /* [in] */ BOOL /*disabled*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::multiple(
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setMultiple(
- /* [in] */ BOOL /*multiple*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::name(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setName(
- /* [in] */ BSTR /*name*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::size(
- /* [retval][out] */ int* /*size*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setSize(
- /* [in] */ int /*size*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::tabIndex(
- /* [retval][out] */ int* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::setTabIndex(
- /* [in] */ int /*tabIndex*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::add(
- /* [in] */ IDOMHTMLElement* /*element*/,
- /* [in] */ IDOMHTMLElement* /*before*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::remove(
- /* [in] */ int /*index*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-// DOMHTMLSelectElement - IFormsAutoFillTransitionSelect ----------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLSelectElement::activateItemAtIndex(
- /* [in] */ int index)
-{
- ASSERT(m_element);
- HTMLSelectElement* selectElement = toHTMLSelectElement(m_element);
-
- if (index >= selectElement->length())
- return E_FAIL;
-
- selectElement->setSelectedIndex(index);
- return S_OK;
-}
-
-// DOMHTMLOptionElement - IUnknown --------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMHTMLOptionElement))
- *ppvObject = static_cast<IDOMHTMLOptionElement*>(this);
- else
- return DOMHTMLElement::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMHTMLOptionElement -------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::form(
- /* [retval][out] */ IDOMHTMLFormElement** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::defaultSelected(
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setDefaultSelected(
- /* [in] */ BOOL /*defaultSelected*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::text(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = 0;
-
- ASSERT(m_element);
- ASSERT(isHTMLOptionElement(m_element));
- HTMLOptionElement* optionElement = toHTMLOptionElement(m_element);
-
- *result = BString(optionElement->text()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::index(
- /* [retval][out] */ int* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::disabled(
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setDisabled(
- /* [in] */ BOOL /*disabled*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::label(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = 0;
-
- ASSERT(m_element);
- ASSERT(isHTMLOptionElement(m_element));
- HTMLOptionElement* optionElement = toHTMLOptionElement(m_element);
-
- *result = BString(optionElement->label()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setLabel(
- /* [in] */ BSTR /*label*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::selected(
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setSelected(
- /* [in] */ BOOL /*selected*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::value(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLOptionElement::setValue(
- /* [in] */ BSTR /*value*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-// DOMHTMLInputElement - IUnknown ----------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMHTMLInputElement))
- *ppvObject = static_cast<IDOMHTMLInputElement*>(this);
- else if (IsEqualGUID(riid, IID_IFormsAutoFillTransition))
- *ppvObject = static_cast<IFormsAutoFillTransition*>(this);
- else if (IsEqualGUID(riid, IID_IFormPromptAdditions))
- *ppvObject = static_cast<IFormPromptAdditions*>(this);
- else
- return DOMHTMLElement::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMHTMLInputElement --------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::defaultValue(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setDefaultValue(
- /* [in] */ BSTR /*val*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::defaultChecked(
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setDefaultChecked(
- /* [in] */ BSTR /*checked*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::form(
- /* [retval][out] */ IDOMHTMLElement** result)
-{
- if (!result)
- return E_POINTER;
- *result = 0;
- ASSERT(m_element && isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- COMPtr<IDOMElement> domElement;
- domElement.adoptRef(DOMHTMLElement::createInstance(inputElement->form()));
- if (domElement)
- return domElement->QueryInterface(IID_IDOMHTMLElement, (void**) result);
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::accept(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAccept(
- /* [in] */ BSTR /*accept*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::accessKey(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAccessKey(
- /* [in] */ BSTR /*key*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::align(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAlign(
- /* [in] */ BSTR /*align*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::alt(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAlt(
- /* [in] */ BSTR /*alt*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::checked(
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setChecked(
- /* [in] */ BOOL /*checked*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::disabled(
- /* [retval][out] */ BOOL* result)
-{
- ASSERT(m_element && isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- *result = inputElement->isDisabledFormControl() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setDisabled(
- /* [in] */ BOOL /*disabled*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::maxLength(
- /* [retval][out] */ int* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setMaxLength(
- /* [in] */ int /*maxLength*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::name(
- /* [retval][out] */ BSTR* /*name*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setName(
- /* [in] */ BSTR /*name*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::readOnly(
- /* [retval][out] */ BOOL* result)
-{
- ASSERT(m_element && isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- *result = inputElement->isReadOnly() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setReadOnly(
- /* [in] */ BOOL /*readOnly*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::size(
- /* [retval][out] */ unsigned int* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSize(
- /* [in] */ unsigned int /*size*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::src(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSrc(
- /* [in] */ BSTR /*src*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::tabIndex(
- /* [retval][out] */ int* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setTabIndex(
- /* [in] */ int /*tabIndex*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::type(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setType(
- /* [in] */ BSTR type)
-{
- ASSERT(m_element && isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- WTF::String typeString(type, SysStringLen(type));
- inputElement->setType(typeString);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::useMap(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setUseMap(
- /* [in] */ BSTR /*useMap*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::value(
- /* [retval][out] */ BSTR* result)
-{
- ASSERT(m_element && isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- WTF::String valueString = inputElement->value();
- *result = BString(valueString.characters(), valueString.length()).release();
- if (valueString.length() && !*result)
- return E_OUTOFMEMORY;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setValue(
- /* [in] */ BSTR value)
-{
- ASSERT(m_element && isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- inputElement->setValue(String((UChar*) value, SysStringLen(value)));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setValueForUser(
- /* [in] */ BSTR value)
-{
- ASSERT(m_element);
- ASSERT(isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- inputElement->setValueForUser(String(static_cast<UChar*>(value), SysStringLen(value)));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::select( void)
-{
- ASSERT(m_element && isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- inputElement->select();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::click( void)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSelectionStart(
- /* [in] */ long start)
-{
- ASSERT(m_element && isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- inputElement->setSelectionStart(start);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::selectionStart(
- /* [retval][out] */ long *start)
-{
- ASSERT(m_element && isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- *start = inputElement->selectionStart();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setSelectionEnd(
- /* [in] */ long end)
-{
- ASSERT(m_element && isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- inputElement->setSelectionEnd(end);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::selectionEnd(
- /* [retval][out] */ long *end)
-{
- ASSERT(m_element && isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- *end = inputElement->selectionEnd();
- return S_OK;
-}
-
-// DOMHTMLInputElement -- IFormsAutoFillTransition ----------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::isTextField(
- /* [retval][out] */ BOOL* result)
-{
- ASSERT(m_element);
- ASSERT(isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- *result = inputElement->isTextField() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::rectOnScreen(
- /* [retval][out] */ LPRECT rect)
-{
- ASSERT(m_element);
- ASSERT(isHTMLInputElement(m_element));
- rect->left = rect->top = rect->right = rect->bottom = 0;
- RenderObject* renderer = m_element->renderer();
- FrameView* view = m_element->document()->view();
- if (!renderer || !view)
- return E_FAIL;
-
- IntRect coreRect = view->contentsToScreen(renderer->absoluteBoundingBoxRect());
- rect->left = coreRect.x();
- rect->top = coreRect.y();
- rect->right = coreRect.maxX();
- rect->bottom = coreRect.maxY();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::replaceCharactersInRange(
- /* [in] */ int startTarget,
- /* [in] */ int endTarget,
- /* [in] */ BSTR replacementString,
- /* [in] */ int index)
-{
- if (!replacementString)
- return E_POINTER;
-
- ASSERT(m_element);
- ASSERT(isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
-
- String newValue = inputElement->value();
- String webCoreReplacementString(static_cast<UChar*>(replacementString), SysStringLen(replacementString));
- newValue.replace(startTarget, endTarget - startTarget, webCoreReplacementString);
- inputElement->setValue(newValue);
- inputElement->setSelectionRange(index, newValue.length());
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::selectedRange(
- /* [out] */ int* start,
- /* [out] */ int* end)
-{
- ASSERT(m_element);
- ASSERT(isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- *start = inputElement->selectionStart();
- *end = inputElement->selectionEnd();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::setAutofilled(
- /* [in] */ BOOL filled)
-{
- ASSERT(m_element);
- ASSERT(isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- inputElement->setAutofilled(!!filled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::isAutofilled(
- /* [retval][out] */ BOOL* result)
-{
- ASSERT(m_element);
- ASSERT(isHTMLInputElement(m_element));
- HTMLInputElement* inputElement = toHTMLInputElement(m_element);
- *result = inputElement->isAutofilled() ? TRUE : FALSE;
- return S_OK;
-}
-
-// DOMHTMLInputElement -- IFormPromptAdditions ------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLInputElement::isUserEdited(
- /* [retval][out] */ BOOL *result)
-{
- if (!result)
- return E_POINTER;
-
- *result = FALSE;
- ASSERT(m_element && isHTMLInputElement(m_element));
- BOOL textField = FALSE;
- if (FAILED(isTextField(&textField)) || !textField)
- return S_OK;
- if (toHTMLInputElement(m_element)->lastChangeWasUserEdit())
- *result = TRUE;
- return S_OK;
-}
-
-// DOMHTMLTextAreaElement - IUnknown ----------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMHTMLTextAreaElement))
- *ppvObject = static_cast<IDOMHTMLTextAreaElement*>(this);
- else if (IsEqualGUID(riid, IID_IFormPromptAdditions))
- *ppvObject = static_cast<IFormPromptAdditions*>(this);
- else
- return DOMHTMLElement::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMHTMLTextAreaElement -----------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::defaultValue(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setDefaultValue(
- /* [in] */ BSTR /*val*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::form(
- /* [retval][out] */ IDOMHTMLElement** result)
-{
- if (!result)
- return E_POINTER;
- *result = 0;
- ASSERT(m_element && isHTMLTextAreaElement(m_element));
- HTMLTextAreaElement* textareaElement = toHTMLTextAreaElement(m_element);
- COMPtr<IDOMElement> domElement;
- domElement.adoptRef(DOMHTMLElement::createInstance(textareaElement->form()));
- if (domElement)
- return domElement->QueryInterface(IID_IDOMHTMLElement, (void**) result);
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::accessKey(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setAccessKey(
- /* [in] */ BSTR /*key*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::cols(
- /* [retval][out] */ int* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setCols(
- /* [in] */ int /*cols*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::disabled(
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setDisabled(
- /* [in] */ BOOL /*disabled*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::name(
- /* [retval][out] */ BSTR* /*name*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setName(
- /* [in] */ BSTR /*name*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::readOnly(
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setReadOnly(
- /* [in] */ BOOL /*readOnly*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::rows(
- /* [retval][out] */ int* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setRows(
- /* [in] */ int /*rows*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::tabIndex(
- /* [retval][out] */ int* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setTabIndex(
- /* [in] */ int /*tabIndex*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::type(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::value(
- /* [retval][out] */ BSTR* result)
-{
- ASSERT(m_element && isHTMLTextAreaElement(m_element));
- HTMLTextAreaElement* textareaElement = toHTMLTextAreaElement(m_element);
- WTF::String valueString = textareaElement->value();
- *result = BString(valueString.characters(), valueString.length()).release();
- if (valueString.length() && !*result)
- return E_OUTOFMEMORY;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::setValue(
- /* [in] */ BSTR value)
-{
- ASSERT(m_element && isHTMLTextAreaElement(m_element));
- HTMLTextAreaElement* textareaElement = toHTMLTextAreaElement(m_element);
- textareaElement->setValue(String((UChar*) value, SysStringLen(value)));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::select( void)
-{
- ASSERT(m_element && isHTMLTextAreaElement(m_element));
- HTMLTextAreaElement* textareaElement = toHTMLTextAreaElement(m_element);
- textareaElement->select();
- return S_OK;
-}
-
-// DOMHTMLTextAreaElement -- IFormPromptAdditions ------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLTextAreaElement::isUserEdited(
- /* [retval][out] */ BOOL *result)
-{
- if (!result)
- return E_POINTER;
-
- *result = FALSE;
- ASSERT(m_element && isHTMLTextAreaElement(m_element));
- if (toHTMLTextAreaElement(m_element)->lastChangeWasUserEdit())
- *result = TRUE;
- return S_OK;
-}
-
-// DOMHTMLIFrameElement - IUnknown --------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLIFrameElement::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IDOMHTMLIFrameElement))
- *ppvObject = static_cast<IDOMHTMLIFrameElement*>(this);
- else
- return DOMHTMLElement::QueryInterface(riid, ppvObject);
-
- AddRef();
- return S_OK;
-}
-
-// DOMHTMLIFrameElement -------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DOMHTMLIFrameElement::contentFrame(
- /* [retval][out] */ IWebFrame **result)
-{
- if (!result)
- return E_POINTER;
- *result = 0;
- ASSERT(m_element);
- HTMLIFrameElement* iFrameElement = toHTMLIFrameElement(m_element);
- COMPtr<IWebFrame> webFrame = kit(iFrameElement->contentFrame());
- if (!webFrame)
- return E_FAIL;
- return webFrame.copyRefTo(result);
-}
diff --git a/Source/WebKit/win/DOMHTMLClasses.h b/Source/WebKit/win/DOMHTMLClasses.h
deleted file mode 100644
index 34c79519b..000000000
--- a/Source/WebKit/win/DOMHTMLClasses.h
+++ /dev/null
@@ -1,2619 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 DOMHTMLClasses_H
-#define DOMHTMLClasses_H
-
-#include "WebKit.h"
-#include "DOMCoreClasses.h"
-#include <wtf/RefPtr.h>
-
-namespace WebCore {
- class HTMLCollection;
- class HTMLOptionsCollection;
-}
-
-class DOMHTMLCollection : public DOMObject, public IDOMHTMLCollection
-{
-protected:
- DOMHTMLCollection(WebCore::HTMLCollection* c);
-
-public:
- static IDOMHTMLCollection* createInstance(WebCore::HTMLCollection*);
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL *result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT *result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT *result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT *result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- // IDOMHTMLCollection
- virtual HRESULT STDMETHODCALLTYPE length(
- /* [retval][out] */ UINT *result);
-
- virtual HRESULT STDMETHODCALLTYPE item(
- /* [in] */ UINT index,
- /* [retval][out] */ IDOMNode **node);
-
- virtual HRESULT STDMETHODCALLTYPE namedItem(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMNode **node);
-
-protected:
- RefPtr<WebCore::HTMLCollection> m_collection;
-};
-
-class DOMHTMLOptionsCollection : public DOMObject, public IDOMHTMLOptionsCollection
-{
-public:
- static IDOMHTMLOptionsCollection* createInstance(WebCore::HTMLOptionsCollection*);
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL *result) { return DOMObject::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT *result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT *result) { return DOMObject::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT *result) { return DOMObject::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMObject::setException(description); }
-
- // IDOMHTMLOptionsCollection
- virtual HRESULT STDMETHODCALLTYPE length(
- /* [retval][out] */ unsigned int *result);
-
- virtual HRESULT STDMETHODCALLTYPE setLength(
- /* [in] */ unsigned int length);
-
- virtual HRESULT STDMETHODCALLTYPE item(
- /* [in] */ unsigned int index,
- /* [retval][out] */ IDOMNode **result);
-
- virtual HRESULT STDMETHODCALLTYPE namedItem(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMNode **result);
-
-private:
- DOMHTMLOptionsCollection(WebCore::HTMLOptionsCollection*);
-
- RefPtr<WebCore::HTMLOptionsCollection> m_collection;
-};
-
-class DOMHTMLDocument : public DOMDocument, public IDOMHTMLDocument
-{
-protected:
- DOMHTMLDocument();
-public:
- DOMHTMLDocument(WebCore::Document* d) : DOMDocument(d) {}
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMDocument::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMDocument::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL *result) { return DOMDocument::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT *result) { return DOMDocument::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT *result) { return DOMDocument::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMDocument::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMDocument::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT *result) { return DOMDocument::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMDocument::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMDocument::setException(description); }
-
- // IDOMNode
- virtual HRESULT STDMETHODCALLTYPE nodeName(
- /* [retval][out] */ BSTR *result) { return DOMDocument::nodeName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeValue(
- /* [retval][out] */ BSTR *result) { return DOMDocument::nodeValue(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setNodeValue(
- /* [in] */ BSTR value) { return setNodeValue(value); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeType(
- /* [retval][out] */ unsigned short *result) { return DOMDocument::nodeType(result); }
-
- virtual HRESULT STDMETHODCALLTYPE parentNode(
- /* [retval][out] */ IDOMNode **result) { return DOMDocument::parentNode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE childNodes(
- /* [retval][out] */ IDOMNodeList **result) { return DOMDocument::childNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE firstChild(
- /* [retval][out] */ IDOMNode **result) { return DOMDocument::firstChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE lastChild(
- /* [retval][out] */ IDOMNode **result) { return DOMDocument::lastChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE previousSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMDocument::previousSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nextSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMDocument::nextSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE attributes(
- /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMDocument::attributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE ownerDocument(
- /* [retval][out] */ IDOMDocument **result) { return DOMDocument::ownerDocument(result); }
-
- virtual HRESULT STDMETHODCALLTYPE insertBefore(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *refChild,
- /* [retval][out] */ IDOMNode **result) { return DOMDocument::insertBefore(newChild, refChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE replaceChild(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMDocument::replaceChild(newChild, oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMDocument::removeChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE appendChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMDocument::appendChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
- /* [retval][out] */ BOOL *result) { return DOMDocument::hasChildNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cloneNode(
- /* [in] */ BOOL deep,
- /* [retval][out] */ IDOMNode **result) { return DOMDocument::cloneNode(deep, result); }
-
- virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMDocument::normalize(); }
-
- virtual HRESULT STDMETHODCALLTYPE isSupported(
- /* [in] */ BSTR feature,
- /* [in] */ BSTR version,
- /* [retval][out] */ BOOL *result) { return DOMDocument::isSupported(feature, version, result); }
-
- virtual HRESULT STDMETHODCALLTYPE namespaceURI(
- /* [retval][out] */ BSTR *result) { return DOMDocument::namespaceURI(result); }
-
- virtual HRESULT STDMETHODCALLTYPE prefix(
- /* [retval][out] */ BSTR *result) { return DOMDocument::prefix(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setPrefix(
- /* [in] */ BSTR prefix) { return DOMDocument::setPrefix(prefix); }
-
- virtual HRESULT STDMETHODCALLTYPE localName(
- /* [retval][out] */ BSTR *result) { return DOMDocument::localName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributes(
- /* [retval][out] */ BOOL *result) { return DOMDocument::hasAttributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE isSameNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMDocument::isSameNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE isEqualNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMDocument::isEqualNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE textContent(
- /* [retval][out] */ BSTR* result) { return DOMDocument::textContent(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTextContent(
- /* [in] */ BSTR text) { return DOMDocument::setTextContent(text); }
-
- // IDOMDocument
- virtual HRESULT STDMETHODCALLTYPE doctype(
- /* [retval][out] */ IDOMDocumentType **result) { return DOMDocument::doctype(result); }
-
- virtual HRESULT STDMETHODCALLTYPE implementation(
- /* [retval][out] */ IDOMImplementation **result) { return DOMDocument::implementation(result); }
-
- virtual HRESULT STDMETHODCALLTYPE documentElement(
- /* [retval][out] */ IDOMElement **result) { return DOMDocument::documentElement(result); }
-
- virtual HRESULT STDMETHODCALLTYPE createElement(
- /* [in] */ BSTR tagName,
- /* [retval][out] */ IDOMElement **result) { return DOMDocument::createElement(tagName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE createDocumentFragment(
- /* [retval][out] */ IDOMDocumentFragment **result) { return DOMDocument::createDocumentFragment(result); }
-
- virtual HRESULT STDMETHODCALLTYPE createTextNode(
- /* [in] */ BSTR data,
- /* [retval][out] */ IDOMText **result) { return DOMDocument::createTextNode(data, result); }
-
- virtual HRESULT STDMETHODCALLTYPE createComment(
- /* [in] */ BSTR data,
- /* [retval][out] */ IDOMComment **result) { return DOMDocument::createComment(data, result); }
-
- virtual HRESULT STDMETHODCALLTYPE createCDATASection(
- /* [in] */ BSTR data,
- /* [retval][out] */ IDOMCDATASection **result) { return DOMDocument::createCDATASection(data, result); }
-
- virtual HRESULT STDMETHODCALLTYPE createProcessingInstruction(
- /* [in] */ BSTR target,
- /* [in] */ BSTR data,
- /* [retval][out] */ IDOMProcessingInstruction **result) { return DOMDocument::createProcessingInstruction(target, data, result); }
-
- virtual HRESULT STDMETHODCALLTYPE createAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMAttr **result) { return DOMDocument::createAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE createEntityReference(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMEntityReference **result) { return DOMDocument::createEntityReference(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
- /* [in] */ BSTR tagName,
- /* [retval][out] */ IDOMNodeList **result) { return DOMDocument::getElementsByTagName(tagName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE importNode(
- /* [in] */ IDOMNode *importedNode,
- /* [in] */ BOOL deep,
- /* [retval][out] */ IDOMNode **result) { return DOMDocument::importNode(importedNode, deep, result); }
-
- virtual HRESULT STDMETHODCALLTYPE createElementNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR qualifiedName,
- /* [retval][out] */ IDOMElement **result) { return DOMDocument::createElementNS(namespaceURI, qualifiedName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE createAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR qualifiedName,
- /* [retval][out] */ IDOMAttr **result) { return DOMDocument::createAttributeNS(namespaceURI, qualifiedName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMNodeList **result) { return DOMDocument::getElementsByTagNameNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementById(
- /* [in] */ BSTR elementId,
- /* [retval][out] */ IDOMElement **result) { return DOMDocument::getElementById(elementId, result); }
-
- // IDOMHTMLDocument
- virtual HRESULT STDMETHODCALLTYPE title(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setTitle(
- /* [in] */ BSTR title);
-
- virtual HRESULT STDMETHODCALLTYPE referrer(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE domain(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE URL(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE body(
- /* [retval][out] */ IDOMHTMLElement **bodyElement);
-
- virtual HRESULT STDMETHODCALLTYPE setBody(
- /* [in] */ IDOMHTMLElement *body);
-
- virtual HRESULT STDMETHODCALLTYPE images(
- /* [retval][out] */ IDOMHTMLCollection **collection);
-
- virtual HRESULT STDMETHODCALLTYPE applets(
- /* [retval][out] */ IDOMHTMLCollection **collection);
-
- virtual HRESULT STDMETHODCALLTYPE links(
- /* [retval][out] */ IDOMHTMLCollection **collection);
-
- virtual HRESULT STDMETHODCALLTYPE forms(
- /* [retval][out] */ IDOMHTMLCollection **collection);
-
- virtual HRESULT STDMETHODCALLTYPE anchors(
- /* [retval][out] */ IDOMHTMLCollection **collection);
-
- virtual HRESULT STDMETHODCALLTYPE cookie(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setCookie(
- /* [in] */ BSTR cookie);
-
- virtual HRESULT STDMETHODCALLTYPE open( void);
-
- virtual HRESULT STDMETHODCALLTYPE close( void);
-
- virtual HRESULT STDMETHODCALLTYPE write(
- /* [in] */ BSTR text);
-
- virtual HRESULT STDMETHODCALLTYPE writeln(
- /* [in] */ BSTR text);
-
- virtual HRESULT STDMETHODCALLTYPE getElementById_(
- /* [in] */ BSTR elementId,
- /* [retval][out] */ IDOMElement **element);
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByName(
- /* [in] */ BSTR elementName,
- /* [retval][out] */ IDOMNodeList **nodeList);
-};
-
-class DOMHTMLElement : public DOMElement, public IDOMHTMLElement
-{
-protected:
- DOMHTMLElement();
-public:
- DOMHTMLElement(WebCore::Element* e) : DOMElement(e) {}
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMElement::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMElement::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL *result) { return DOMElement::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT *result) { return DOMElement::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT *result) { return DOMElement::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMElement::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMElement::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT *result) { return DOMElement::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMElement::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMElement::setException(description); }
-
- // IDOMNode
- virtual HRESULT STDMETHODCALLTYPE nodeName(
- /* [retval][out] */ BSTR *result) { return DOMElement::nodeName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeValue(
- /* [retval][out] */ BSTR *result) { return DOMElement::nodeValue(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setNodeValue(
- /* [in] */ BSTR value) { return DOMElement::setNodeValue(value); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeType(
- /* [retval][out] */ unsigned short *result) { return DOMElement::nodeType(result); }
-
- virtual HRESULT STDMETHODCALLTYPE parentNode(
- /* [retval][out] */ IDOMNode **result) { return DOMElement::parentNode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE childNodes(
- /* [retval][out] */ IDOMNodeList **result) { return DOMElement::childNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE firstChild(
- /* [retval][out] */ IDOMNode **result) { return DOMElement::firstChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE lastChild(
- /* [retval][out] */ IDOMNode **result) { return DOMElement::lastChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE previousSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMElement::previousSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nextSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMElement::nextSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE attributes(
- /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMElement::attributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE ownerDocument(
- /* [retval][out] */ IDOMDocument **result) { return DOMElement::ownerDocument(result); }
-
- virtual HRESULT STDMETHODCALLTYPE insertBefore(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *refChild,
- /* [retval][out] */ IDOMNode **result) { return DOMElement::insertBefore(newChild, refChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE replaceChild(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMElement::replaceChild(newChild, oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMElement::removeChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE appendChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMElement::appendChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
- /* [retval][out] */ BOOL *result) { return DOMElement::hasChildNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cloneNode(
- /* [in] */ BOOL deep,
- /* [retval][out] */ IDOMNode **result) { return DOMElement::cloneNode(deep, result); }
-
- virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMElement::normalize(); }
-
- virtual HRESULT STDMETHODCALLTYPE isSupported(
- /* [in] */ BSTR feature,
- /* [in] */ BSTR version,
- /* [retval][out] */ BOOL *result) { return DOMElement::isSupported(feature, version, result); }
-
- virtual HRESULT STDMETHODCALLTYPE namespaceURI(
- /* [retval][out] */ BSTR *result) { return DOMElement::namespaceURI(result); }
-
- virtual HRESULT STDMETHODCALLTYPE prefix(
- /* [retval][out] */ BSTR *result) { return DOMElement::prefix(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setPrefix(
- /* [in] */ BSTR prefix) { return DOMElement::setPrefix(prefix); }
-
- virtual HRESULT STDMETHODCALLTYPE localName(
- /* [retval][out] */ BSTR *result) { return DOMElement::localName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributes(
- /* [retval][out] */ BOOL *result) { return DOMElement::hasAttributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE isSameNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMElement::isSameNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE isEqualNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMElement::isEqualNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE textContent(
- /* [retval][out] */ BSTR* result) { return DOMElement::textContent(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTextContent(
- /* [in] */ BSTR text) { return DOMElement::setTextContent(text); }
-
- // IDOMElement
- virtual HRESULT STDMETHODCALLTYPE tagName(
- /* [retval][out] */ BSTR *result) { return DOMElement::tagName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BSTR *result) { return DOMElement::getAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttribute(
- /* [in] */ BSTR name,
- /* [in] */ BSTR value) { return DOMElement::setAttribute(name, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttribute(
- /* [in] */ BSTR name) { return DOMElement::removeAttribute(name); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMAttr **result) { return DOMElement::getAttributeNode(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMElement::setAttributeNode(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
- /* [in] */ IDOMAttr *oldAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMElement::removeAttributeNode(oldAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMNodeList **result) { return DOMElement::getElementsByTagName(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BSTR *result) { return DOMElement::getAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR qualifiedName,
- /* [in] */ BSTR value) { return DOMElement::setAttributeNS(namespaceURI, qualifiedName, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName) { return DOMElement::removeAttributeNS(namespaceURI, localName); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMAttr **result) { return DOMElement::getAttributeNodeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMElement::setAttributeNodeNS(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMNodeList **result) { return DOMElement::getElementsByTagNameNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BOOL *result) { return DOMElement::hasAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BOOL *result) { return DOMElement::hasAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMElement::focus(); }
-
- virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMElement::blur(); }
-
- // IDOMHTMLElement
- virtual HRESULT STDMETHODCALLTYPE idName(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setIdName(
- /* [in] */ BSTR idName);
-
- virtual HRESULT STDMETHODCALLTYPE title(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setTitle(
- /* [in] */ BSTR title);
-
- virtual HRESULT STDMETHODCALLTYPE lang(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setLang(
- /* [in] */ BSTR lang);
-
- virtual HRESULT STDMETHODCALLTYPE dir(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setDir(
- /* [in] */ BSTR dir);
-
- virtual HRESULT STDMETHODCALLTYPE className(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setClassName(
- /* [in] */ BSTR className);
-
- virtual HRESULT STDMETHODCALLTYPE innerHTML(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
- /* [in] */ BSTR html);
-
- virtual HRESULT STDMETHODCALLTYPE innerText(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setInnerText(
- /* [in] */ BSTR text);
-
-};
-
-class DOMHTMLFormElement : public DOMHTMLElement, public IDOMHTMLFormElement
-{
-protected:
- DOMHTMLFormElement();
-public:
- DOMHTMLFormElement(WebCore::Element* e) : DOMHTMLElement(e) {}
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
-
- // IDOMNode
- virtual HRESULT STDMETHODCALLTYPE nodeName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeValue(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setNodeValue(
- /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeType(
- /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
-
- virtual HRESULT STDMETHODCALLTYPE parentNode(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE childNodes(
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE firstChild(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE lastChild(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE previousSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nextSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE attributes(
- /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE ownerDocument(
- /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
-
- virtual HRESULT STDMETHODCALLTYPE insertBefore(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *refChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE replaceChild(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE appendChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cloneNode(
- /* [in] */ BOOL deep,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
-
- virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
-
- virtual HRESULT STDMETHODCALLTYPE isSupported(
- /* [in] */ BSTR feature,
- /* [in] */ BSTR version,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
-
- virtual HRESULT STDMETHODCALLTYPE namespaceURI(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
-
- virtual HRESULT STDMETHODCALLTYPE prefix(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setPrefix(
- /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
-
- virtual HRESULT STDMETHODCALLTYPE localName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributes(
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE isSameNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE isEqualNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE textContent(
- /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTextContent(
- /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
-
- // IDOMElement
- virtual HRESULT STDMETHODCALLTYPE tagName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttribute(
- /* [in] */ BSTR name,
- /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttribute(
- /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
- /* [in] */ IDOMAttr *oldAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR qualifiedName,
- /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
-
- virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
-
- // IDOMHTMLElement
- virtual HRESULT STDMETHODCALLTYPE idName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setIdName(
- /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
-
- virtual HRESULT STDMETHODCALLTYPE title(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTitle(
- /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
-
- virtual HRESULT STDMETHODCALLTYPE lang(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setLang(
- /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
-
- virtual HRESULT STDMETHODCALLTYPE dir(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setDir(
- /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
-
- virtual HRESULT STDMETHODCALLTYPE className(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setClassName(
- /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
-
- virtual HRESULT STDMETHODCALLTYPE innerHTML(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
- /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
-
- virtual HRESULT STDMETHODCALLTYPE innerText(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setInnerText(
- /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
-
- // IDOMHTMLFormElement
- virtual HRESULT STDMETHODCALLTYPE elements(
- /* [retval][out] */ IDOMHTMLCollection **result);
-
- virtual HRESULT STDMETHODCALLTYPE length(
- /* [retval][out] */ int *result);
-
- virtual HRESULT STDMETHODCALLTYPE name(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setName(
- /* [in] */ BSTR name);
-
- virtual HRESULT STDMETHODCALLTYPE acceptCharset(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setAcceptCharset(
- /* [in] */ BSTR acceptCharset);
-
- virtual HRESULT STDMETHODCALLTYPE action(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setAction(
- /* [in] */ BSTR action);
-
- virtual HRESULT STDMETHODCALLTYPE encType(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setEnctype(
- /* [retval][out] */ BSTR *encType);
-
- virtual HRESULT STDMETHODCALLTYPE method(
- /* [retval][out] */ BSTR *method);
-
- virtual HRESULT STDMETHODCALLTYPE setMethod(
- /* [in] */ BSTR method);
-
- virtual HRESULT STDMETHODCALLTYPE target(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setTarget(
- /* [in] */ BSTR target);
-
- virtual HRESULT STDMETHODCALLTYPE submit( void);
-
- virtual HRESULT STDMETHODCALLTYPE reset( void);
-};
-
-class DOMHTMLSelectElement : public DOMHTMLElement, public IDOMHTMLSelectElement, public IFormsAutoFillTransitionSelect
-{
-protected:
- DOMHTMLSelectElement();
-public:
- DOMHTMLSelectElement(WebCore::Element* e) : DOMHTMLElement(e) {}
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
-
- // IDOMNode
- virtual HRESULT STDMETHODCALLTYPE nodeName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeValue(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setNodeValue(
- /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeType(
- /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
-
- virtual HRESULT STDMETHODCALLTYPE parentNode(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE childNodes(
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE firstChild(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE lastChild(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE previousSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nextSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE attributes(
- /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE ownerDocument(
- /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
-
- virtual HRESULT STDMETHODCALLTYPE insertBefore(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *refChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE replaceChild(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE appendChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cloneNode(
- /* [in] */ BOOL deep,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
-
- virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
-
- virtual HRESULT STDMETHODCALLTYPE isSupported(
- /* [in] */ BSTR feature,
- /* [in] */ BSTR version,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
-
- virtual HRESULT STDMETHODCALLTYPE namespaceURI(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
-
- virtual HRESULT STDMETHODCALLTYPE prefix(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setPrefix(
- /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
-
- virtual HRESULT STDMETHODCALLTYPE localName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributes(
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE isSameNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE isEqualNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE textContent(
- /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTextContent(
- /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
-
- // IDOMElement
- virtual HRESULT STDMETHODCALLTYPE tagName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttribute(
- /* [in] */ BSTR name,
- /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttribute(
- /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
- /* [in] */ IDOMAttr *oldAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR qualifiedName,
- /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
-
- virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
-
- // IDOMHTMLElement
- virtual HRESULT STDMETHODCALLTYPE idName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setIdName(
- /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
-
- virtual HRESULT STDMETHODCALLTYPE title(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTitle(
- /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
-
- virtual HRESULT STDMETHODCALLTYPE lang(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setLang(
- /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
-
- virtual HRESULT STDMETHODCALLTYPE dir(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setDir(
- /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
-
- virtual HRESULT STDMETHODCALLTYPE className(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setClassName(
- /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
-
- virtual HRESULT STDMETHODCALLTYPE innerHTML(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
- /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
-
- virtual HRESULT STDMETHODCALLTYPE innerText(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setInnerText(
- /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
-
- // IDOMHTMLSelectElement
- virtual HRESULT STDMETHODCALLTYPE type(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE selectedIndex(
- /* [retval][out] */ int *result);
-
- virtual HRESULT STDMETHODCALLTYPE setSelectedIndx(
- /* [in] */ int selectedIndex);
-
- virtual HRESULT STDMETHODCALLTYPE value(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setValue(
- /* [in] */ BSTR value);
-
- virtual HRESULT STDMETHODCALLTYPE length(
- /* [retval][out] */ int *result);
-
- virtual HRESULT STDMETHODCALLTYPE form(
- /* [retval][out] */ IDOMHTMLFormElement **result);
-
- virtual HRESULT STDMETHODCALLTYPE options(
- /* [retval][out] */ IDOMHTMLOptionsCollection **result);
-
- virtual HRESULT STDMETHODCALLTYPE disabled(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setDisabled(
- /* [in] */ BOOL disabled);
-
- virtual HRESULT STDMETHODCALLTYPE multiple(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setMultiple(
- /* [in] */ BOOL multiple);
-
- virtual HRESULT STDMETHODCALLTYPE name(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setName(
- /* [in] */ BSTR name);
-
- virtual HRESULT STDMETHODCALLTYPE size(
- /* [retval][out] */ int *size);
-
- virtual HRESULT STDMETHODCALLTYPE setSize(
- /* [in] */ int size);
-
- virtual HRESULT STDMETHODCALLTYPE tabIndex(
- /* [retval][out] */ int *result);
-
- virtual HRESULT STDMETHODCALLTYPE setTabIndex(
- /* [in] */ int tabIndex);
-
- virtual HRESULT STDMETHODCALLTYPE add(
- /* [in] */ IDOMHTMLElement *element,
- /* [in] */ IDOMHTMLElement *before);
-
- virtual HRESULT STDMETHODCALLTYPE remove(
- /* [in] */ int index);
-
- // IFormsAutoFillTransitionSelect
- virtual HRESULT STDMETHODCALLTYPE activateItemAtIndex(
- /* [in] */ int index);
-};
-
-class DOMHTMLOptionElement : public DOMHTMLElement, public IDOMHTMLOptionElement
-{
-protected:
- DOMHTMLOptionElement();
-public:
- DOMHTMLOptionElement(WebCore::Element* e) : DOMHTMLElement(e) {}
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
-
- // IDOMNode
- virtual HRESULT STDMETHODCALLTYPE nodeName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeValue(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setNodeValue(
- /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeType(
- /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
-
- virtual HRESULT STDMETHODCALLTYPE parentNode(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE childNodes(
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE firstChild(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE lastChild(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE previousSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nextSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE attributes(
- /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE ownerDocument(
- /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
-
- virtual HRESULT STDMETHODCALLTYPE insertBefore(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *refChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE replaceChild(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE appendChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cloneNode(
- /* [in] */ BOOL deep,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
-
- virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
-
- virtual HRESULT STDMETHODCALLTYPE isSupported(
- /* [in] */ BSTR feature,
- /* [in] */ BSTR version,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
-
- virtual HRESULT STDMETHODCALLTYPE namespaceURI(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
-
- virtual HRESULT STDMETHODCALLTYPE prefix(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setPrefix(
- /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
-
- virtual HRESULT STDMETHODCALLTYPE localName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributes(
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE isSameNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE isEqualNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE textContent(
- /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTextContent(
- /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
-
- // IDOMElement
- virtual HRESULT STDMETHODCALLTYPE tagName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttribute(
- /* [in] */ BSTR name,
- /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttribute(
- /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
- /* [in] */ IDOMAttr *oldAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR qualifiedName,
- /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
-
- virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
-
- // IDOMHTMLElement
- virtual HRESULT STDMETHODCALLTYPE idName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setIdName(
- /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
-
- virtual HRESULT STDMETHODCALLTYPE title(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTitle(
- /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
-
- virtual HRESULT STDMETHODCALLTYPE lang(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setLang(
- /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
-
- virtual HRESULT STDMETHODCALLTYPE dir(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setDir(
- /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
-
- virtual HRESULT STDMETHODCALLTYPE className(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setClassName(
- /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
-
- virtual HRESULT STDMETHODCALLTYPE innerHTML(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
- /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
-
- virtual HRESULT STDMETHODCALLTYPE innerText(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setInnerText(
- /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
-
- // IDOMHTMLOptionElement
- virtual HRESULT STDMETHODCALLTYPE form(
- /* [retval][out] */ IDOMHTMLFormElement **result);
-
- virtual HRESULT STDMETHODCALLTYPE defaultSelected(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setDefaultSelected(
- /* [in] */ BOOL defaultSelected);
-
- virtual HRESULT STDMETHODCALLTYPE text(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE index(
- /* [retval][out] */ int *result);
-
- virtual HRESULT STDMETHODCALLTYPE disabled(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setDisabled(
- /* [in] */ BOOL disabled);
-
- virtual HRESULT STDMETHODCALLTYPE label(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setLabel(
- /* [in] */ BSTR label);
-
- virtual HRESULT STDMETHODCALLTYPE selected(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setSelected(
- /* [in] */ BOOL selected);
-
- virtual HRESULT STDMETHODCALLTYPE value(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setValue(
- /* [in] */ BSTR value);
-};
-
-class DOMHTMLInputElement : public DOMHTMLElement, public IDOMHTMLInputElement, public IFormsAutoFillTransition, public IFormPromptAdditions
-{
-protected:
- DOMHTMLInputElement();
-public:
- DOMHTMLInputElement(WebCore::Element* e) : DOMHTMLElement(e) {}
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
-
- // IDOMNode
- virtual HRESULT STDMETHODCALLTYPE nodeName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeValue(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setNodeValue(
- /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeType(
- /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
-
- virtual HRESULT STDMETHODCALLTYPE parentNode(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE childNodes(
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE firstChild(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE lastChild(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE previousSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nextSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE attributes(
- /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE ownerDocument(
- /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
-
- virtual HRESULT STDMETHODCALLTYPE insertBefore(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *refChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE replaceChild(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE appendChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cloneNode(
- /* [in] */ BOOL deep,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
-
- virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
-
- virtual HRESULT STDMETHODCALLTYPE isSupported(
- /* [in] */ BSTR feature,
- /* [in] */ BSTR version,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
-
- virtual HRESULT STDMETHODCALLTYPE namespaceURI(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
-
- virtual HRESULT STDMETHODCALLTYPE prefix(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setPrefix(
- /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
-
- virtual HRESULT STDMETHODCALLTYPE localName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributes(
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE isSameNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE isEqualNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE textContent(
- /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTextContent(
- /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
-
- // IDOMElement
- virtual HRESULT STDMETHODCALLTYPE tagName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttribute(
- /* [in] */ BSTR name,
- /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttribute(
- /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
- /* [in] */ IDOMAttr *oldAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR qualifiedName,
- /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
-
- virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
-
- // IDOMHTMLElement
- virtual HRESULT STDMETHODCALLTYPE idName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setIdName(
- /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
-
- virtual HRESULT STDMETHODCALLTYPE title(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTitle(
- /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
-
- virtual HRESULT STDMETHODCALLTYPE lang(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setLang(
- /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
-
- virtual HRESULT STDMETHODCALLTYPE dir(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setDir(
- /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
-
- virtual HRESULT STDMETHODCALLTYPE className(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setClassName(
- /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
-
- virtual HRESULT STDMETHODCALLTYPE innerHTML(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
- /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
-
- virtual HRESULT STDMETHODCALLTYPE innerText(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setInnerText(
- /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
-
- // IDOMHTMLInputElement
- virtual HRESULT STDMETHODCALLTYPE defaultValue(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setDefaultValue(
- /* [in] */ BSTR val);
-
- virtual HRESULT STDMETHODCALLTYPE defaultChecked(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setDefaultChecked(
- /* [in] */ BSTR checked);
-
- virtual HRESULT STDMETHODCALLTYPE form(
- /* [retval][out] */ IDOMHTMLElement **result);
-
- virtual HRESULT STDMETHODCALLTYPE accept(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setAccept(
- /* [in] */ BSTR accept);
-
- virtual HRESULT STDMETHODCALLTYPE accessKey(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setAccessKey(
- /* [in] */ BSTR key);
-
- virtual HRESULT STDMETHODCALLTYPE align(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setAlign(
- /* [in] */ BSTR align);
-
- virtual HRESULT STDMETHODCALLTYPE alt(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setAlt(
- /* [in] */ BSTR alt);
-
- virtual HRESULT STDMETHODCALLTYPE checked(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setChecked(
- /* [in] */ BOOL checked);
-
- virtual HRESULT STDMETHODCALLTYPE disabled(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setDisabled(
- /* [in] */ BOOL disabled);
-
- virtual HRESULT STDMETHODCALLTYPE maxLength(
- /* [retval][out] */ int *result);
-
- virtual HRESULT STDMETHODCALLTYPE setMaxLength(
- /* [in] */ int maxLength);
-
- virtual HRESULT STDMETHODCALLTYPE name(
- /* [retval][out] */ BSTR *name);
-
- virtual HRESULT STDMETHODCALLTYPE setName(
- /* [in] */ BSTR name);
-
- virtual HRESULT STDMETHODCALLTYPE readOnly(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setReadOnly(
- /* [in] */ BOOL readOnly);
-
- virtual HRESULT STDMETHODCALLTYPE size(
- /* [retval][out] */ unsigned int *result);
-
- virtual HRESULT STDMETHODCALLTYPE setSize(
- /* [in] */ unsigned int size);
-
- virtual HRESULT STDMETHODCALLTYPE src(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setSrc(
- /* [in] */ BSTR src);
-
- virtual HRESULT STDMETHODCALLTYPE tabIndex(
- /* [retval][out] */ int *result);
-
- virtual HRESULT STDMETHODCALLTYPE setTabIndex(
- /* [in] */ int tabIndex);
-
- virtual HRESULT STDMETHODCALLTYPE type(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setType(
- /* [in] */ BSTR type);
-
- virtual HRESULT STDMETHODCALLTYPE useMap(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setUseMap(
- /* [in] */ BSTR useMap);
-
- virtual HRESULT STDMETHODCALLTYPE value(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setValue(
- /* [in] */ BSTR value);
-
- virtual HRESULT STDMETHODCALLTYPE select( void);
-
- virtual HRESULT STDMETHODCALLTYPE click( void);
-
- virtual HRESULT STDMETHODCALLTYPE setSelectionStart(
- /* [in] */ long start);
-
- virtual HRESULT STDMETHODCALLTYPE selectionStart(
- /* [retval][out] */ long *start);
-
- virtual HRESULT STDMETHODCALLTYPE setSelectionEnd(
- /* [in] */ long end);
-
- virtual HRESULT STDMETHODCALLTYPE selectionEnd(
- /* [retval][out] */ long *end);
-
- // IFormsAutoFillTransition
- virtual HRESULT STDMETHODCALLTYPE isTextField(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE rectOnScreen(
- /* [retval][out] */ LPRECT rect);
-
- virtual HRESULT STDMETHODCALLTYPE replaceCharactersInRange(
- /* [in] */ int startTarget,
- /* [in] */ int endTarget,
- /* [in] */ BSTR replacementString,
- /* [in] */ int index);
-
- virtual HRESULT STDMETHODCALLTYPE selectedRange(
- /* [out] */ int *start,
- /* [out] */ int *end);
-
- virtual HRESULT STDMETHODCALLTYPE setAutofilled(
- /* [in] */ BOOL filled);
-
- virtual HRESULT STDMETHODCALLTYPE isAutofilled(
- /* [retval][out] */ BOOL *result);
-
- // IFormPromptAdditions
- virtual HRESULT STDMETHODCALLTYPE isUserEdited(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setValueForUser(
- /* [in] */ BSTR value);
-};
-
-class DOMHTMLTextAreaElement : public DOMHTMLElement, public IDOMHTMLTextAreaElement, public IFormPromptAdditions
-{
-protected:
- DOMHTMLTextAreaElement();
-public:
- DOMHTMLTextAreaElement(WebCore::Element* e) : DOMHTMLElement(e) {}
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
-
- // IDOMNode
- virtual HRESULT STDMETHODCALLTYPE nodeName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeValue(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setNodeValue(
- /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeType(
- /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
-
- virtual HRESULT STDMETHODCALLTYPE parentNode(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE childNodes(
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE firstChild(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE lastChild(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE previousSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nextSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE attributes(
- /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE ownerDocument(
- /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
-
- virtual HRESULT STDMETHODCALLTYPE insertBefore(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *refChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE replaceChild(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE appendChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cloneNode(
- /* [in] */ BOOL deep,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
-
- virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
-
- virtual HRESULT STDMETHODCALLTYPE isSupported(
- /* [in] */ BSTR feature,
- /* [in] */ BSTR version,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
-
- virtual HRESULT STDMETHODCALLTYPE namespaceURI(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
-
- virtual HRESULT STDMETHODCALLTYPE prefix(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setPrefix(
- /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
-
- virtual HRESULT STDMETHODCALLTYPE localName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributes(
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE isSameNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE isEqualNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE textContent(
- /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTextContent(
- /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
-
- // IDOMElement
- virtual HRESULT STDMETHODCALLTYPE tagName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttribute(
- /* [in] */ BSTR name,
- /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttribute(
- /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
- /* [in] */ IDOMAttr *oldAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR qualifiedName,
- /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
-
- virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
-
- // IDOMHTMLElement
- virtual HRESULT STDMETHODCALLTYPE idName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setIdName(
- /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
-
- virtual HRESULT STDMETHODCALLTYPE title(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTitle(
- /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
-
- virtual HRESULT STDMETHODCALLTYPE lang(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setLang(
- /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
-
- virtual HRESULT STDMETHODCALLTYPE dir(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setDir(
- /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
-
- virtual HRESULT STDMETHODCALLTYPE className(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setClassName(
- /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
-
- virtual HRESULT STDMETHODCALLTYPE innerHTML(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
- /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
-
- virtual HRESULT STDMETHODCALLTYPE innerText(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setInnerText(
- /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
-
- // IDOMHTMLTextArea
- virtual HRESULT STDMETHODCALLTYPE defaultValue(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setDefaultValue(
- /* [in] */ BSTR val);
-
- virtual HRESULT STDMETHODCALLTYPE form(
- /* [retval][out] */ IDOMHTMLElement **result);
-
- virtual HRESULT STDMETHODCALLTYPE accessKey(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setAccessKey(
- /* [in] */ BSTR key);
-
- virtual HRESULT STDMETHODCALLTYPE cols(
- /* [retval][out] */ int *result);
-
- virtual HRESULT STDMETHODCALLTYPE setCols(
- /* [in] */ int cols);
-
- virtual HRESULT STDMETHODCALLTYPE disabled(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setDisabled(
- /* [in] */ BOOL disabled);
-
- virtual HRESULT STDMETHODCALLTYPE name(
- /* [retval][out] */ BSTR *name);
-
- virtual HRESULT STDMETHODCALLTYPE setName(
- /* [in] */ BSTR name);
-
- virtual HRESULT STDMETHODCALLTYPE readOnly(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setReadOnly(
- /* [in] */ BOOL readOnly);
-
- virtual HRESULT STDMETHODCALLTYPE rows(
- /* [retval][out] */ int *result);
-
- virtual HRESULT STDMETHODCALLTYPE setRows(
- /* [in] */ int rows);
-
- virtual HRESULT STDMETHODCALLTYPE tabIndex(
- /* [retval][out] */ int *result);
-
- virtual HRESULT STDMETHODCALLTYPE setTabIndex(
- /* [in] */ int tabIndex);
-
- virtual HRESULT STDMETHODCALLTYPE type(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE value(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE setValue(
- /* [in] */ BSTR value);
-
- virtual HRESULT STDMETHODCALLTYPE select( void);
-
- // IFormPromptAdditions
- virtual HRESULT STDMETHODCALLTYPE isUserEdited(
- /* [retval][out] */ BOOL *result);
-};
-
-class DOMHTMLIFrameElement : public DOMHTMLElement, public IDOMHTMLIFrameElement
-{
-protected:
- DOMHTMLIFrameElement();
-public:
- DOMHTMLIFrameElement(WebCore::Element* e) : DOMHTMLElement(e) {}
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMHTMLElement::AddRef(); }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMHTMLElement::Release(); }
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::throwException(exceptionMessage, result); }
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::callWebScriptMethod(name, args, cArgs, result); }
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::evaluateWebScript(script, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name) { return DOMHTMLElement::removeWebScriptKey(name); }
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation) { return DOMHTMLElement::stringRepresentation(stringRepresentation); }
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT *result) { return DOMHTMLElement::webScriptValueAtIndex(index, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val) { return DOMHTMLElement::setWebScriptValueAtIndex(index, val); }
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description) { return DOMHTMLElement::setException(description); }
-
- // IDOMNode
- virtual HRESULT STDMETHODCALLTYPE nodeName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeValue(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::nodeValue(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setNodeValue(
- /* [in] */ BSTR value) { return DOMHTMLElement::setNodeValue(value); }
-
- virtual HRESULT STDMETHODCALLTYPE nodeType(
- /* [retval][out] */ unsigned short *result) { return DOMHTMLElement::nodeType(result); }
-
- virtual HRESULT STDMETHODCALLTYPE parentNode(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::parentNode(result); }
-
- virtual HRESULT STDMETHODCALLTYPE childNodes(
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::childNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE firstChild(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::firstChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE lastChild(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::lastChild(result); }
-
- virtual HRESULT STDMETHODCALLTYPE previousSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::previousSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE nextSibling(
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::nextSibling(result); }
-
- virtual HRESULT STDMETHODCALLTYPE attributes(
- /* [retval][out] */ IDOMNamedNodeMap **result) { return DOMHTMLElement::attributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE ownerDocument(
- /* [retval][out] */ IDOMDocument **result) { return DOMHTMLElement::ownerDocument(result); }
-
- virtual HRESULT STDMETHODCALLTYPE insertBefore(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *refChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::insertBefore(newChild, refChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE replaceChild(
- /* [in] */ IDOMNode *newChild,
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::replaceChild(newChild, oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::removeChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE appendChild(
- /* [in] */ IDOMNode *oldChild,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::appendChild(oldChild, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasChildNodes(
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasChildNodes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE cloneNode(
- /* [in] */ BOOL deep,
- /* [retval][out] */ IDOMNode **result) { return DOMHTMLElement::cloneNode(deep, result); }
-
- virtual HRESULT STDMETHODCALLTYPE normalize( void) { return DOMHTMLElement::normalize(); }
-
- virtual HRESULT STDMETHODCALLTYPE isSupported(
- /* [in] */ BSTR feature,
- /* [in] */ BSTR version,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::isSupported(feature, version, result); }
-
- virtual HRESULT STDMETHODCALLTYPE namespaceURI(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::namespaceURI(result); }
-
- virtual HRESULT STDMETHODCALLTYPE prefix(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::prefix(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setPrefix(
- /* [in] */ BSTR prefix) { return DOMHTMLElement::setPrefix(prefix); }
-
- virtual HRESULT STDMETHODCALLTYPE localName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::localName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributes(
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributes(result); }
-
- virtual HRESULT STDMETHODCALLTYPE isSameNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isSameNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE isEqualNode(
- /* [in] */ IDOMNode* other,
- /* [retval][out] */ BOOL* result) { return DOMHTMLElement::isEqualNode(other, result); }
-
- virtual HRESULT STDMETHODCALLTYPE textContent(
- /* [retval][out] */ BSTR* result) { return DOMHTMLElement::textContent(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTextContent(
- /* [in] */ BSTR text) { return DOMHTMLElement::setTextContent(text); }
-
- // IDOMElement
- virtual HRESULT STDMETHODCALLTYPE tagName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::tagName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttribute(
- /* [in] */ BSTR name,
- /* [in] */ BSTR value) { return DOMHTMLElement::setAttribute(name, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttribute(
- /* [in] */ BSTR name) { return DOMHTMLElement::removeAttribute(name); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNode(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNode(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNode(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNode(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNode(
- /* [in] */ IDOMAttr *oldAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::removeAttributeNode(oldAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagName(
- /* [in] */ BSTR name,
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagName(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::getAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR qualifiedName,
- /* [in] */ BSTR value) { return DOMHTMLElement::setAttributeNS(namespaceURI, qualifiedName, value); }
-
- virtual HRESULT STDMETHODCALLTYPE removeAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName) { return DOMHTMLElement::removeAttributeNS(namespaceURI, localName); }
-
- virtual HRESULT STDMETHODCALLTYPE getAttributeNodeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::getAttributeNodeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE setAttributeNodeNS(
- /* [in] */ IDOMAttr *newAttr,
- /* [retval][out] */ IDOMAttr **result) { return DOMHTMLElement::setAttributeNodeNS(newAttr, result); }
-
- virtual HRESULT STDMETHODCALLTYPE getElementsByTagNameNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ IDOMNodeList **result) { return DOMHTMLElement::getElementsByTagNameNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttribute(
- /* [in] */ BSTR name,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttribute(name, result); }
-
- virtual HRESULT STDMETHODCALLTYPE hasAttributeNS(
- /* [in] */ BSTR namespaceURI,
- /* [in] */ BSTR localName,
- /* [retval][out] */ BOOL *result) { return DOMHTMLElement::hasAttributeNS(namespaceURI, localName, result); }
-
- virtual HRESULT STDMETHODCALLTYPE focus( void) { return DOMHTMLElement::focus(); }
-
- virtual HRESULT STDMETHODCALLTYPE blur( void) { return DOMHTMLElement::blur(); }
-
- // IDOMHTMLElement
- virtual HRESULT STDMETHODCALLTYPE idName(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::idName(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setIdName(
- /* [in] */ BSTR idName) { return DOMHTMLElement::setIdName(idName); }
-
- virtual HRESULT STDMETHODCALLTYPE title(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::title(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setTitle(
- /* [in] */ BSTR title) { return DOMHTMLElement::setTitle(title); }
-
- virtual HRESULT STDMETHODCALLTYPE lang(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::lang(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setLang(
- /* [in] */ BSTR lang) { return DOMHTMLElement::setLang(lang); }
-
- virtual HRESULT STDMETHODCALLTYPE dir(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::dir(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setDir(
- /* [in] */ BSTR dir) { return DOMHTMLElement::setDir(dir); }
-
- virtual HRESULT STDMETHODCALLTYPE className(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::className(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setClassName(
- /* [in] */ BSTR className) { return DOMHTMLElement::setClassName(className); }
-
- virtual HRESULT STDMETHODCALLTYPE innerHTML(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerHTML(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setInnerHTML(
- /* [in] */ BSTR html) { return DOMHTMLElement::setInnerHTML(html); }
-
- virtual HRESULT STDMETHODCALLTYPE innerText(
- /* [retval][out] */ BSTR *result) { return DOMHTMLElement::innerText(result); }
-
- virtual HRESULT STDMETHODCALLTYPE setInnerText(
- /* [in] */ BSTR text) { return DOMHTMLElement::setInnerText(text); }
-
- // IDOMHTMLIFrameElement
- virtual HRESULT STDMETHODCALLTYPE contentFrame(
- /* [retval][out] */ IWebFrame **result);
-};
-
-#endif
diff --git a/Source/WebKit/win/DefaultDownloadDelegate.cpp b/Source/WebKit/win/DefaultDownloadDelegate.cpp
deleted file mode 100644
index d9cc71cf3..000000000
--- a/Source/WebKit/win/DefaultDownloadDelegate.cpp
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKitDLL.h"
-#include "DefaultDownloadDelegate.h"
-
-#include "MarshallingHelpers.h"
-#include "WebKit.h"
-#include "WebKitLogging.h"
-#include "WebMutableURLRequest.h"
-#include <WebCore/COMPtr.h>
-#include <wtf/text/CString.h>
-
-#include <shlobj.h>
-#include <wchar.h>
-
-#include <WebCore/BString.h>
-
-using namespace WebCore;
-
-
-// DefaultDownloadDelegate ----------------------------------------------------------------
-
-DefaultDownloadDelegate::DefaultDownloadDelegate()
- : m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("DefaultDownloadDelegate");
-}
-
-DefaultDownloadDelegate::~DefaultDownloadDelegate()
-{
- gClassCount--;
- gClassNameCount.remove("DefaultDownloadDelegate");
- HashSet<IWebDownload*>::iterator i = m_downloads.begin();
- for (;i != m_downloads.end(); ++i)
- (*i)->Release();
-}
-
-DefaultDownloadDelegate* DefaultDownloadDelegate::sharedInstance()
-{
- static COMPtr<DefaultDownloadDelegate> shared;
- if (!shared)
- shared.adoptRef(DefaultDownloadDelegate::createInstance());
- return shared.get();
-}
-
-DefaultDownloadDelegate* DefaultDownloadDelegate::createInstance()
-{
- DefaultDownloadDelegate* instance = new DefaultDownloadDelegate();
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IUnknown*>(this);
- else if (IsEqualGUID(riid, IID_IWebDownloadDelegate))
- *ppvObject = static_cast<IWebDownloadDelegate*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE DefaultDownloadDelegate::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE DefaultDownloadDelegate::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::decideDestinationWithSuggestedFilename(IWebDownload *download, BSTR filename)
-{
- LOG(Download, "DefaultDownloadDelegate %p - decideDestinationWithSuggestedFilename %s", download, String(filename, SysStringLen(filename)).ascii().data());
-
- WCHAR pathChars[MAX_PATH];
- if (FAILED(SHGetFolderPath(0, CSIDL_DESKTOPDIRECTORY | CSIDL_FLAG_CREATE, 0, 0, pathChars))) {
- if (FAILED(download->setDestination(filename, true))) {
- LOG_ERROR("Failed to set destination on file");
- return E_FAIL;
- }
- return S_OK;
- }
-
- size_t fullLength = wcslen(pathChars) + SysStringLen(filename) + 2;
- BSTR full = SysAllocStringLen(0, (UINT)fullLength);
- if (!full)
- return E_OUTOFMEMORY;
-
- wcscpy_s(full, fullLength, pathChars);
- wcscat_s(full, fullLength, L"\\");
- wcscat_s(full, fullLength, filename);
- BString fullPath;
- fullPath.adoptBSTR(full);
-
-#ifndef NDEBUG
- String debug((BSTR)fullPath, SysStringLen(BSTR(fullPath)));
- LOG(Download, "Setting path to %s", debug.ascii().data());
-#endif
-
- if (FAILED(download->setDestination(fullPath, true))) {
- LOG_ERROR("Failed to set destination on file");
- return E_FAIL;
- }
- return S_OK;
-}
-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didCancelAuthenticationChallenge(IWebDownload* download, IWebURLAuthenticationChallenge* challenge)
-{
- LOG(Download, "DefaultDownloadDelegate %p - didCancelAuthenticationChallenge %p", download, challenge);
- download = 0;
- challenge = 0;
- return S_OK;
-}
-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didCreateDestination(IWebDownload* download, BSTR destination)
-{
- LOG(Download, "DefaultDownloadDelegate %p - didCreateDestination %s", download, String(destination, SysStringLen(destination)).ascii().data());
- download = 0;
- destination = 0;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didReceiveAuthenticationChallenge(IWebDownload* download, IWebURLAuthenticationChallenge* challenge)
-{
- LOG(Download, "DefaultDownloadDelegate %p - didReceiveAuthenticationChallenge %p", download, challenge);
- download = 0;
- challenge = 0;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didReceiveDataOfLength(IWebDownload* download, unsigned length)
-{
- LOG(Download, "DefaultDownloadDelegate %p - didReceiveDataOfLength %i", download, length);
- download = 0;
- length = 0;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didReceiveResponse(IWebDownload* download, IWebURLResponse* response)
-{
- LOG(Download, "DefaultDownloadDelegate %p - didReceiveResponse %p", download, response);
- download = 0;
- response = 0;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::shouldDecodeSourceDataOfMIMEType(IWebDownload* download, BSTR encodingType, BOOL* shouldDecode)
-{
- LOG(Download, "DefaultDownloadDelegate %p - shouldDecodeSourceDataOfMIMEType %s", download, String(encodingType, SysStringLen(encodingType)).ascii().data());
- download = 0;
- encodingType = 0;
- *shouldDecode = false;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::willResumeWithResponse(IWebDownload* download, IWebURLResponse* response, long long fromByte)
-{
- LOG(Download, "DefaultDownloadDelegate %p - willResumeWithResponse %p, %q", download, response, fromByte);
- download = 0;
- response = 0;
- fromByte = 0;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::willSendRequest(IWebDownload* download, IWebMutableURLRequest* request,
- IWebURLResponse* redirectResponse, IWebMutableURLRequest** finalRequest)
-{
- LOG(Download, "DefaultDownloadDelegate %p - willSendRequest %p %p", download, request, redirectResponse);
- download = 0;
- redirectResponse = 0;
- *finalRequest = request;
- (*finalRequest)->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didBegin(IWebDownload* download)
-{
- LOG(Download, "DefaultDownloadDelegate %p - didBegin", download);
- registerDownload(download);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didFinish(IWebDownload* download)
-{
- LOG(Download, "DefaultDownloadDelegate %p - didFinish", download);
- unregisterDownload(download);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultDownloadDelegate::didFailWithError(IWebDownload* download, IWebError* error)
-{
- LOG(Download, "DefaultDownloadDelegate %p - didFailWithError %p", download, error);
- unregisterDownload(download);
- error = 0;
- return S_OK;
-}
-
-void DefaultDownloadDelegate::registerDownload(IWebDownload* download)
-{
- if (m_downloads.contains(download))
- return;
- download->AddRef();
- m_downloads.add(download);
-}
-
-void DefaultDownloadDelegate::unregisterDownload(IWebDownload* download)
-{
- if (m_downloads.contains(download)) {
- download->Release();
- m_downloads.remove(download);
- }
-}
diff --git a/Source/WebKit/win/DefaultDownloadDelegate.h b/Source/WebKit/win/DefaultDownloadDelegate.h
deleted file mode 100644
index b67038103..000000000
--- a/Source/WebKit/win/DefaultDownloadDelegate.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 DefaultDownloadDelegate_h
-#define DefaultDownloadDelegate_h
-
-#include "WebKit.h"
-#include <wtf/HashSet.h>
-
-#if USE(CFNETWORK)
-#include <CFNetwork/CFURLDownloadPriv.h>
-#endif
-
-class DefaultDownloadDelegate : public IWebDownloadDelegate
-{
-public:
- static DefaultDownloadDelegate* sharedInstance();
- static DefaultDownloadDelegate* createInstance();
-private:
- DefaultDownloadDelegate();
- ~DefaultDownloadDelegate();
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebDownloadDelegate
- virtual HRESULT STDMETHODCALLTYPE decideDestinationWithSuggestedFilename(IWebDownload *download, BSTR filename);
- virtual HRESULT STDMETHODCALLTYPE didCancelAuthenticationChallenge(IWebDownload* download, IWebURLAuthenticationChallenge* challenge);
- virtual HRESULT STDMETHODCALLTYPE didCreateDestination(IWebDownload* download, BSTR destination);
- virtual HRESULT STDMETHODCALLTYPE didFailWithError(IWebDownload* download, IWebError* error);
- virtual HRESULT STDMETHODCALLTYPE didReceiveAuthenticationChallenge(IWebDownload* download, IWebURLAuthenticationChallenge* challenge);
- virtual HRESULT STDMETHODCALLTYPE didReceiveDataOfLength(IWebDownload* download, unsigned length);
- virtual HRESULT STDMETHODCALLTYPE didReceiveResponse(IWebDownload* download, IWebURLResponse* response);
- virtual HRESULT STDMETHODCALLTYPE shouldDecodeSourceDataOfMIMEType(IWebDownload* download, BSTR encodingType, BOOL* shouldDecode);
- virtual HRESULT STDMETHODCALLTYPE willResumeWithResponse(IWebDownload* download, IWebURLResponse* response, long long fromByte);
- virtual HRESULT STDMETHODCALLTYPE willSendRequest(IWebDownload* download, IWebMutableURLRequest* request, IWebURLResponse* redirectResponse, IWebMutableURLRequest** finalRequest);
- virtual HRESULT STDMETHODCALLTYPE didBegin(IWebDownload* download);
- virtual HRESULT STDMETHODCALLTYPE didFinish(IWebDownload* download);
-
- // DefaultDownloadDelegate
- void registerDownload(IWebDownload*);
- void unregisterDownload(IWebDownload*);
-protected:
- ULONG m_refCount;
-
- HashSet<IWebDownload*> m_downloads;
-};
-
-#endif
diff --git a/Source/WebKit/win/DefaultPolicyDelegate.cpp b/Source/WebKit/win/DefaultPolicyDelegate.cpp
deleted file mode 100644
index f37969794..000000000
--- a/Source/WebKit/win/DefaultPolicyDelegate.cpp
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKitDLL.h"
-#include "DefaultPolicyDelegate.h"
-
-#include <WebCore/BString.h>
-#include <WebCore/COMPtr.h>
-#include <wtf/text/WTFString.h>
-
-using namespace WebCore;
-
-// FIXME: move this enum to a separate header file when other code begins to use it.
-typedef enum WebExtraNavigationType {
- WebNavigationTypePlugInRequest = WebNavigationTypeOther + 1
-} WebExtraNavigationType;
-
-// DefaultPolicyDelegate ----------------------------------------------------------------
-
-DefaultPolicyDelegate::DefaultPolicyDelegate()
- : m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("DefaultPolicyDelegate");
-}
-
-DefaultPolicyDelegate::~DefaultPolicyDelegate()
-{
- gClassCount--;
- gClassNameCount.remove("DefaultPolicyDelegate");
-}
-
-DefaultPolicyDelegate* DefaultPolicyDelegate::sharedInstance()
-{
- static COMPtr<DefaultPolicyDelegate> shared;
- if (!shared)
- shared.adoptRef(DefaultPolicyDelegate::createInstance());
- return shared.get();
-}
-
-DefaultPolicyDelegate* DefaultPolicyDelegate::createInstance()
-{
- DefaultPolicyDelegate* instance = new DefaultPolicyDelegate();
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE DefaultPolicyDelegate::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IUnknown*>(this);
- else if (IsEqualGUID(riid, IID_IWebPolicyDelegate))
- *ppvObject = static_cast<IWebPolicyDelegate*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE DefaultPolicyDelegate::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE DefaultPolicyDelegate::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultPolicyDelegate::decidePolicyForNavigationAction(
- /*[in]*/ IWebView* webView,
- /*[in]*/ IPropertyBag* actionInformation,
- /*[in]*/ IWebURLRequest* request,
- /*[in]*/ IWebFrame* /*frame*/,
- /*[in]*/ IWebPolicyDecisionListener* listener)
-{
- int navType = 0;
- VARIANT var;
- if (SUCCEEDED(actionInformation->Read(WebActionNavigationTypeKey, &var, 0))) {
- V_VT(&var) = VT_I4;
- navType = V_I4(&var);
- }
- COMPtr<IWebViewPrivate> wvPrivate(Query, webView);
- if (wvPrivate) {
- BOOL canHandleRequest = FALSE;
- if (SUCCEEDED(wvPrivate->canHandleRequest(request, &canHandleRequest)) && canHandleRequest)
- listener->use();
- else if (navType == WebNavigationTypePlugInRequest)
- listener->use();
- else {
- BString url;
- // A file URL shouldn't fall through to here, but if it did,
- // it would be a security risk to open it.
- if (SUCCEEDED(request->URL(&url)) && !String(url, SysStringLen(url)).startsWith("file:")) {
- // FIXME: Open the URL not by means of a webframe, but by handing it over to the system and letting it determine how to open that particular URL scheme. See documentation for [NSWorkspace openURL]
- ;
- }
- listener->ignore();
- }
- }
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultPolicyDelegate::decidePolicyForNewWindowAction(
- /*[in]*/ IWebView* /*webView*/,
- /*[in]*/ IPropertyBag* /*actionInformation*/,
- /*[in]*/ IWebURLRequest* /*request*/,
- /*[in]*/ BSTR /*frameName*/,
- /*[in]*/ IWebPolicyDecisionListener* listener)
-{
- listener->use();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultPolicyDelegate::decidePolicyForMIMEType(
- /*[in]*/ IWebView* webView,
- /*[in]*/ BSTR type,
- /*[in]*/ IWebURLRequest* request,
- /*[in]*/ IWebFrame* /*frame*/,
- /*[in]*/ IWebPolicyDecisionListener* listener)
-{
- BOOL canShowMIMEType;
- if (FAILED(webView->canShowMIMEType(type, &canShowMIMEType)))
- canShowMIMEType = FALSE;
-
- BString url;
- request->URL(&url);
-
- if (String(url, SysStringLen(url)).startsWith("file:")) {
- BOOL isDirectory = FALSE;
- WIN32_FILE_ATTRIBUTE_DATA attrs;
- if (GetFileAttributesEx(url, GetFileExInfoStandard, &attrs))
- isDirectory = !!(attrs.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY);
-
- if (isDirectory)
- listener->ignore();
- else if(canShowMIMEType)
- listener->use();
- else
- listener->ignore();
- } else if (canShowMIMEType)
- listener->use();
- else
- listener->ignore();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE DefaultPolicyDelegate::unableToImplementPolicyWithError(
- /*[in]*/ IWebView* /*webView*/,
- /*[in]*/ IWebError* error,
- /*[in]*/ IWebFrame* frame)
-{
- BString errorStr;
- error->localizedDescription(&errorStr);
-
- BString frameName;
- frame->name(&frameName);
-
- LOG_ERROR("called unableToImplementPolicyWithError:%S inFrame:%S", errorStr ? errorStr : TEXT(""), frameName ? frameName : TEXT(""));
-
- return S_OK;
-}
diff --git a/Source/WebKit/win/DefaultPolicyDelegate.h b/Source/WebKit/win/DefaultPolicyDelegate.h
deleted file mode 100644
index f894b3873..000000000
--- a/Source/WebKit/win/DefaultPolicyDelegate.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 DefaultPolicyDelegate_h
-#define DefaultPolicyDelegate_h
-
-#include "WebKit.h"
-
-class DefaultPolicyDelegate : public IWebPolicyDelegate {
-public:
- static DefaultPolicyDelegate* sharedInstance();
- static DefaultPolicyDelegate* createInstance();
-private:
- DefaultPolicyDelegate();
- ~DefaultPolicyDelegate();
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebPolicyDelegate
- virtual HRESULT STDMETHODCALLTYPE decidePolicyForNavigationAction(
- /* [in] */ IWebView *webView,
- /* [in] */ IPropertyBag *actionInformation,
- /* [in] */ IWebURLRequest *request,
- /* [in] */ IWebFrame *frame,
- /* [in] */ IWebPolicyDecisionListener *listener);
-
- virtual HRESULT STDMETHODCALLTYPE decidePolicyForNewWindowAction(
- /* [in] */ IWebView *webView,
- /* [in] */ IPropertyBag *actionInformation,
- /* [in] */ IWebURLRequest *request,
- /* [in] */ BSTR frameName,
- /* [in] */ IWebPolicyDecisionListener *listener);
-
- virtual HRESULT STDMETHODCALLTYPE decidePolicyForMIMEType(
- /* [in] */ IWebView *webView,
- /* [in] */ BSTR type,
- /* [in] */ IWebURLRequest *request,
- /* [in] */ IWebFrame *frame,
- /* [in] */ IWebPolicyDecisionListener *listener);
-
- virtual HRESULT STDMETHODCALLTYPE unableToImplementPolicyWithError(
- /* [in] */ IWebView *webView,
- /* [in] */ IWebError *error,
- /* [in] */ IWebFrame *frame);
-
-protected:
- ULONG m_refCount;
-};
-
-#endif // DefaultPolicyDelegate_h
diff --git a/Source/WebKit/win/ForEachCoClass.cpp b/Source/WebKit/win/ForEachCoClass.cpp
deleted file mode 100644
index 59715b391..000000000
--- a/Source/WebKit/win/ForEachCoClass.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebKitDLL.h"
-#include "ForEachCoClass.h"
-
-// deprecated - do not use - remove once a registry-free version of Safari has shipped (first major version after 3.1.1)
-void setUseOpenSourceWebKit(bool)
-{
-}
-
-// deprecated - do not use - remove once a registry-free version of Safari has shipped (first major version after 3.1.1)
-LPCOLESTR progIDForClass(WebKitClass cls)
-{
- ASSERT(cls < WebKitClassSentinel);
- return s_progIDs[cls];
-}
diff --git a/Source/WebKit/win/ForEachCoClass.h b/Source/WebKit/win/ForEachCoClass.h
deleted file mode 100644
index 4bd3ebf11..000000000
--- a/Source/WebKit/win/ForEachCoClass.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 ForEachCoClass_h
-#define ForEachCoClass_h
-
-#include "ProgIDMacros.h"
-
-#if ENABLE(SQL_DATABASE)
-#define WEB_DATABASE_MANAGER(macro) macro(WebDatabaseManager)
-#else
-#define WEB_DATABASE_MANAGER(macro)
-#endif
-
-// Items may only be added to the end of this macro. No items may be removed from it.
-#define FOR_EACH_COCLASS(macro) \
- macro(CFDictionaryPropertyBag) \
- macro(WebCache) \
- WEB_DATABASE_MANAGER(macro) \
- macro(WebDownload) \
- macro(WebError) \
- macro(WebHistory) \
- macro(WebHistoryItem) \
- macro(WebIconDatabase) \
- macro(WebJavaScriptCollector) \
- macro(WebKitStatistics) \
- macro(WebMutableURLRequest) \
- macro(WebNotificationCenter) \
- macro(WebPreferences) \
- macro(WebScrollBar) \
- macro(WebTextRenderer) \
- macro(WebURLCredential) \
- macro(WebURLProtectionSpace) \
- macro(WebURLRequest) \
- macro(WebURLResponse) \
- macro(WebView) \
- macro(WebArchive) \
- macro(WebCoreStatistics) \
- macro(WebCookieManager) \
- macro(WebWorkersPrivate) \
- macro(WebScriptWorld) \
- macro(WebGeolocationPosition) \
- macro(WebSerializedJSValue) \
- macro(WebUserContentURLPattern) \
- // end of macro
-
-// Everything below this point is deprecated. Please do not use.
-
-#define WEBKITCLASS_MEMBER(cls) cls##Class,
-enum WebKitClass {
- FOR_EACH_COCLASS(WEBKITCLASS_MEMBER)
- WebKitClassSentinel
-};
-#undef WEBKITCLASS_MEMBER
-
-#define OPENSOURCE_PROGID(cls) VERSION_INDEPENDENT_OPENSOURCE_PROGID(cls),
-static LPCOLESTR openSourceProgIDs[WebKitClassSentinel] = {
- FOR_EACH_COCLASS(OPENSOURCE_PROGID)
-};
-#undef OPENSOURCE_PROGID
-
-static LPCOLESTR* s_progIDs = openSourceProgIDs;
-
-#define PROGID(className) progIDForClass(className##Class)
-
-void setUseOpenSourceWebKit(bool);
-LPCOLESTR progIDForClass(WebKitClass);
-
-#endif // !defined(ForEachCoClass_h)
diff --git a/Source/WebKit/win/FullscreenVideoController.cpp b/Source/WebKit/win/FullscreenVideoController.cpp
deleted file mode 100644
index ca61c9643..000000000
--- a/Source/WebKit/win/FullscreenVideoController.cpp
+++ /dev/null
@@ -1,713 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 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"
-
-#if ENABLE(VIDEO)
-
-#include "FullscreenVideoController.h"
-
-#include "WebKitDLL.h"
-#include "WebView.h"
-#include <ApplicationServices/ApplicationServices.h>
-#include <WebCore/BitmapInfo.h>
-#include <WebCore/Chrome.h>
-#include <WebCore/Font.h>
-#include <WebCore/FontSelector.h>
-#include <WebCore/GraphicsContext.h>
-#include <WebCore/HWndDC.h>
-#include <WebCore/Page.h>
-#include <WebCore/PlatformCALayer.h>
-#include <WebCore/TextRun.h>
-#include <WebKitSystemInterface/WebKitSystemInterface.h>
-#include <windowsx.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/StdLibExtras.h>
-
-using namespace std;
-using namespace WebCore;
-
-static const float timerInterval = 0.033;
-
-// HUD Size
-static const int windowHeight = 59;
-static const int windowWidth = 438;
-
-// Margins and button sizes
-static const int margin = 9;
-static const int marginTop = 9;
-static const int buttonSize = 25;
-static const int buttonMiniSize = 16;
-static const int volumeSliderWidth = 50;
-static const int timeSliderWidth = 310;
-static const int sliderHeight = 8;
-static const int volumeSliderButtonSize = 10;
-static const int timeSliderButtonSize = 8;
-static const int textSize = 11;
-static const float initialHUDPositionY = 0.9; // Initial Y position of HUD in percentage from top of screen
-
-// Background values
-static const int borderRadius = 12;
-static const int borderThickness = 2;
-
-// Colors
-static const unsigned int backgroundColor = 0xA0202020;
-static const unsigned int borderColor = 0xFFA0A0A0;
-static const unsigned int sliderGutterColor = 0xFF141414;
-static const unsigned int sliderButtonColor = 0xFF808080;
-static const unsigned int textColor = 0xFFFFFFFF;
-
-HUDButton::HUDButton(HUDButtonType type, const IntPoint& position)
- : HUDWidget(IntRect(position, IntSize()))
- , m_type(type)
- , m_showAltButton(false)
-{
- const char* buttonResource = 0;
- const char* buttonResourceAlt = 0;
- switch (m_type) {
- case PlayPauseButton:
- buttonResource = "fsVideoPlay";
- buttonResourceAlt = "fsVideoPause";
- break;
- case TimeSliderButton:
- break;
- case VolumeUpButton:
- buttonResource = "fsVideoAudioVolumeHigh";
- break;
- case VolumeSliderButton:
- break;
- case VolumeDownButton:
- buttonResource = "fsVideoAudioVolumeLow";
- break;
- case ExitFullscreenButton:
- buttonResource = "fsVideoExitFullscreen";
- break;
- }
-
- if (buttonResource) {
- m_buttonImage = Image::loadPlatformResource(buttonResource);
- m_rect.setWidth(m_buttonImage->width());
- m_rect.setHeight(m_buttonImage->height());
- }
- if (buttonResourceAlt)
- m_buttonImageAlt = Image::loadPlatformResource(buttonResourceAlt);
-}
-
-void HUDButton::draw(GraphicsContext& context)
-{
- Image* image = (m_showAltButton && m_buttonImageAlt) ? m_buttonImageAlt.get() : m_buttonImage.get();
- context.drawImage(image, ColorSpaceDeviceRGB, m_rect.location());
-}
-
-HUDSlider::HUDSlider(HUDSliderButtonShape shape, int buttonSize, const IntRect& rect)
- : HUDWidget(rect)
- , m_buttonShape(shape)
- , m_buttonSize(buttonSize)
- , m_buttonPosition(0)
- , m_dragStartOffset(0)
-{
-}
-
-void HUDSlider::draw(GraphicsContext& context)
-{
- // Draw gutter
- IntSize radius(m_rect.height() / 2, m_rect.height() / 2);
- context.fillRoundedRect(m_rect, radius, radius, radius, radius, Color(sliderGutterColor), ColorSpaceDeviceRGB);
-
- // Draw button
- context.setStrokeColor(Color(sliderButtonColor), ColorSpaceDeviceRGB);
- context.setFillColor(Color(sliderButtonColor), ColorSpaceDeviceRGB);
-
- if (m_buttonShape == RoundButton) {
- context.drawEllipse(IntRect(m_rect.location().x() + m_buttonPosition, m_rect.location().y() - (m_buttonSize - m_rect.height()) / 2, m_buttonSize, m_buttonSize));
- return;
- }
-
- // Draw a diamond
- FloatPoint points[4];
- float half = static_cast<float>(m_buttonSize) / 2;
- points[0].setX(m_rect.location().x() + m_buttonPosition + half);
- points[0].setY(m_rect.location().y());
- points[1].setX(m_rect.location().x() + m_buttonPosition + m_buttonSize);
- points[1].setY(m_rect.location().y() + half);
- points[2].setX(m_rect.location().x() + m_buttonPosition + half);
- points[2].setY(m_rect.location().y() + m_buttonSize);
- points[3].setX(m_rect.location().x() + m_buttonPosition);
- points[3].setY(m_rect.location().y() + half);
- context.drawConvexPolygon(4, points, true);
-}
-
-void HUDSlider::drag(const IntPoint& point, bool start)
-{
- if (start) {
- // When we start, we need to snap the slider position to the x position if we clicked the gutter.
- // But if we click the button, we need to drag relative to where we clicked down. We only need
- // to check X because we would not even get here unless Y were already inside.
- int relativeX = point.x() - m_rect.location().x();
- if (relativeX >= m_buttonPosition && relativeX <= m_buttonPosition + m_buttonSize)
- m_dragStartOffset = point.x() - m_buttonPosition;
- else
- m_dragStartOffset = m_rect.location().x() + m_buttonSize / 2;
- }
-
- m_buttonPosition = max(0, min(m_rect.width() - m_buttonSize, point.x() - m_dragStartOffset));
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-class FullscreenVideoController::LayerClient : public WebCore::PlatformCALayerClient {
-public:
- LayerClient(FullscreenVideoController* parent) : m_parent(parent) { }
-
-private:
- virtual void platformCALayerLayoutSublayersOfLayer(PlatformCALayer*);
- virtual bool platformCALayerRespondsToLayoutChanges() const { return true; }
-
- virtual void platformCALayerAnimationStarted(CFTimeInterval beginTime) { }
- virtual GraphicsLayer::CompositingCoordinatesOrientation platformCALayerContentsOrientation() const { return GraphicsLayer::CompositingCoordinatesBottomUp; }
- virtual void platformCALayerPaintContents(GraphicsContext&, const IntRect& inClip) { }
- virtual bool platformCALayerShowDebugBorders() const { return false; }
- virtual bool platformCALayerShowRepaintCounter(PlatformCALayer*) const { return false; }
- virtual int platformCALayerIncrementRepaintCount() { return 0; }
-
- virtual bool platformCALayerContentsOpaque() const { return false; }
- virtual bool platformCALayerDrawsContent() const { return false; }
- virtual void platformCALayerLayerDidDisplay(PlatformLayer*) { }
- virtual void platformCALayerDidCreateTiles(const Vector<FloatRect>&) { }
- virtual float platformCALayerDeviceScaleFactor() { return 1; }
-
- FullscreenVideoController* m_parent;
-};
-
-void FullscreenVideoController::LayerClient::platformCALayerLayoutSublayersOfLayer(PlatformCALayer* layer)
-{
- ASSERT_ARG(layer, layer == m_parent->m_rootChild);
-
- HTMLMediaElement* mediaElement = m_parent->m_mediaElement.get();
- if (!mediaElement)
- return;
-
-
- PlatformCALayer* videoLayer = PlatformCALayer::platformCALayer(mediaElement->platformLayer());
- if (!videoLayer || videoLayer->superlayer() != layer)
- return;
-
- FloatRect layerBounds = layer->bounds();
-
- FloatSize videoSize = mediaElement->player()->naturalSize();
- float scaleFactor;
- if (videoSize.aspectRatio() > layerBounds.size().aspectRatio())
- scaleFactor = layerBounds.width() / videoSize.width();
- else
- scaleFactor = layerBounds.height() / videoSize.height();
- videoSize.scale(scaleFactor);
-
- // Calculate the centered position based on the videoBounds and layerBounds:
- FloatPoint videoPosition;
- FloatPoint videoOrigin;
- videoOrigin.setX((layerBounds.width() - videoSize.width()) * 0.5);
- videoOrigin.setY((layerBounds.height() - videoSize.height()) * 0.5);
- videoLayer->setFrame(FloatRect(videoOrigin, videoSize));
-}
-#endif
-
-FullscreenVideoController::FullscreenVideoController()
- : m_hudWindow(0)
- , m_playPauseButton(HUDButton::PlayPauseButton, IntPoint((windowWidth - buttonSize) / 2, marginTop))
- , m_timeSliderButton(HUDButton::TimeSliderButton, IntPoint(0, 0))
- , m_volumeUpButton(HUDButton::VolumeUpButton, IntPoint(margin + buttonMiniSize + volumeSliderWidth + buttonMiniSize / 2, marginTop + (buttonSize - buttonMiniSize) / 2))
- , m_volumeSliderButton(HUDButton::VolumeSliderButton, IntPoint(0, 0))
- , m_volumeDownButton(HUDButton::VolumeDownButton, IntPoint(margin, marginTop + (buttonSize - buttonMiniSize) / 2))
- , m_exitFullscreenButton(HUDButton::ExitFullscreenButton, IntPoint(windowWidth - 2 * margin - buttonMiniSize, marginTop + (buttonSize - buttonMiniSize) / 2))
- , m_volumeSlider(HUDSlider::RoundButton, volumeSliderButtonSize, IntRect(IntPoint(margin + buttonMiniSize, marginTop + (buttonSize - buttonMiniSize) / 2 + buttonMiniSize / 2 - sliderHeight / 2), IntSize(volumeSliderWidth, sliderHeight)))
- , m_timeSlider(HUDSlider::DiamondButton, timeSliderButtonSize, IntRect(IntPoint(windowWidth / 2 - timeSliderWidth / 2, windowHeight - margin - sliderHeight), IntSize(timeSliderWidth, sliderHeight)))
- , m_hitWidget(0)
- , m_movingWindow(false)
- , m_timer(this, &FullscreenVideoController::timerFired)
-#if USE(ACCELERATED_COMPOSITING)
- , m_layerClient(adoptPtr(new LayerClient(this)))
- , m_rootChild(PlatformCALayer::create(PlatformCALayer::LayerTypeLayer, m_layerClient.get()))
-#endif
- , m_fullscreenWindow(adoptPtr(new MediaPlayerPrivateFullscreenWindow(this)))
-{
-}
-
-FullscreenVideoController::~FullscreenVideoController()
-{
-#if USE(ACCELERATED_COMPOSITING)
- m_rootChild->setOwner(0);
-#endif
-}
-
-void FullscreenVideoController::setMediaElement(HTMLMediaElement* mediaElement)
-{
- if (mediaElement == m_mediaElement)
- return;
-
- m_mediaElement = mediaElement;
- if (!m_mediaElement) {
- // Can't do full-screen, just get out
- exitFullscreen();
- }
-}
-
-void FullscreenVideoController::enterFullscreen()
-{
- if (!m_mediaElement)
- return;
-
- WebView* webView = kit(m_mediaElement->document()->page());
- HWND parentHwnd = webView ? webView->viewWindow() : 0;
-
- m_fullscreenWindow->createWindow(parentHwnd);
- ::ShowWindow(m_fullscreenWindow->hwnd(), SW_SHOW);
-#if USE(ACCELERATED_COMPOSITING)
- m_fullscreenWindow->setRootChildLayer(m_rootChild);
-
- PlatformCALayer* videoLayer = PlatformCALayer::platformCALayer(m_mediaElement->platformLayer());
- m_rootChild->appendSublayer(videoLayer);
- m_rootChild->setNeedsLayout();
- m_rootChild->setGeometryFlipped(1);
-#endif
-
- RECT windowRect;
- GetClientRect(m_fullscreenWindow->hwnd(), &windowRect);
- m_fullscreenSize.setWidth(windowRect.right - windowRect.left);
- m_fullscreenSize.setHeight(windowRect.bottom - windowRect.top);
-
- createHUDWindow();
-}
-
-void FullscreenVideoController::exitFullscreen()
-{
- SetWindowLongPtr(m_hudWindow, 0, 0);
-
- if (m_fullscreenWindow)
- m_fullscreenWindow = nullptr;
-
- ASSERT(!IsWindow(m_hudWindow));
- m_hudWindow = 0;
-
- // We previously ripped the mediaElement's platform layer out
- // of its orginial layer tree to display it in our fullscreen
- // window. Now, we need to get the layer back in its original
- // tree.
- //
- // As a side effect of setting the player to invisible/visible,
- // the player's layer will be recreated, and will be picked up
- // the next time the layer tree is synched.
- m_mediaElement->player()->setVisible(0);
- m_mediaElement->player()->setVisible(1);
-}
-
-bool FullscreenVideoController::canPlay() const
-{
- return m_mediaElement && m_mediaElement->canPlay();
-}
-
-void FullscreenVideoController::play()
-{
- if (m_mediaElement)
- m_mediaElement->play();
-}
-
-void FullscreenVideoController::pause()
-{
- if (m_mediaElement)
- m_mediaElement->pause();
-}
-
-float FullscreenVideoController::volume() const
-{
- return m_mediaElement ? m_mediaElement->volume() : 0;
-}
-
-void FullscreenVideoController::setVolume(float volume)
-{
- if (m_mediaElement) {
- ExceptionCode ec;
- m_mediaElement->setVolume(volume, ec);
- }
-}
-
-float FullscreenVideoController::currentTime() const
-{
- return m_mediaElement ? m_mediaElement->currentTime() : 0;
-}
-
-void FullscreenVideoController::setCurrentTime(float value)
-{
- if (m_mediaElement) {
- ExceptionCode ec;
- m_mediaElement->setCurrentTime(value, ec);
- }
-}
-
-float FullscreenVideoController::duration() const
-{
- return m_mediaElement ? m_mediaElement->duration() : 0;
-}
-
-void FullscreenVideoController::beginScrubbing()
-{
- if (m_mediaElement)
- m_mediaElement->beginScrubbing();
-}
-
-void FullscreenVideoController::endScrubbing()
-{
- if (m_mediaElement)
- m_mediaElement->endScrubbing();
-}
-
-LRESULT FullscreenVideoController::fullscreenClientWndProc(HWND wnd, UINT message, WPARAM wParam, LPARAM lParam)
-{
- switch (message) {
- case WM_CHAR:
- onChar(wParam);
- break;
- case WM_KEYDOWN:
- onKeyDown(wParam);
- break;
- case WM_LBUTTONDOWN:
- onMouseDown(IntPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)));
- break;
- case WM_MOUSEMOVE:
- onMouseMove(IntPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)));
- break;
- case WM_LBUTTONUP:
- onMouseUp(IntPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)));
- break;
- }
-
- return DefWindowProc(wnd, message, wParam, lParam);
-}
-
-static const LPCWSTR fullscreenVideeoHUDWindowClassName = L"fullscreenVideeoHUDWindowClass";
-
-void FullscreenVideoController::registerHUDWindowClass()
-{
- static bool haveRegisteredHUDWindowClass;
- if (haveRegisteredHUDWindowClass)
- return;
-
- haveRegisteredHUDWindowClass = true;
-
- WNDCLASSEX wcex;
-
- wcex.cbSize = sizeof(WNDCLASSEX);
-
- wcex.style = CS_HREDRAW | CS_VREDRAW;
- wcex.lpfnWndProc = hudWndProc;
- wcex.cbClsExtra = 0;
- wcex.cbWndExtra = sizeof(FullscreenVideoController*);
- wcex.hInstance = gInstance;
- wcex.hIcon = 0;
- wcex.hCursor = LoadCursor(0, IDC_ARROW);
- wcex.hbrBackground = 0;
- wcex.lpszMenuName = 0;
- wcex.lpszClassName = fullscreenVideeoHUDWindowClassName;
- wcex.hIconSm = 0;
-
- RegisterClassEx(&wcex);
-}
-
-void FullscreenVideoController::createHUDWindow()
-{
- m_hudPosition.setX((m_fullscreenSize.width() - windowWidth) / 2);
- m_hudPosition.setY(m_fullscreenSize.height() * initialHUDPositionY - windowHeight / 2);
-
- // Local variable that will hold the returned pixels. No need to cleanup this value. It
- // will get cleaned up when m_bitmap is destroyed in the dtor
- void* pixels;
- BitmapInfo bitmapInfo = BitmapInfo::createBottomUp(IntSize(windowWidth, windowHeight));
- m_bitmap = adoptPtr(::CreateDIBSection(0, &bitmapInfo, DIB_RGB_COLORS, &pixels, 0, 0));
-
- // Dirty the window so the HUD draws
- RECT clearRect = { m_hudPosition.x(), m_hudPosition.y(), m_hudPosition.x() + windowWidth, m_hudPosition.y() + windowHeight };
- InvalidateRect(m_fullscreenWindow->hwnd(), &clearRect, true);
-
- m_playPauseButton.setShowAltButton(!canPlay());
- m_volumeSlider.setValue(volume());
- m_timeSlider.setValue(currentTime() / duration());
-
- if (!canPlay())
- m_timer.startRepeating(timerInterval);
-
- registerHUDWindowClass();
-
- m_hudWindow = CreateWindowEx(WS_EX_LAYERED | WS_EX_TRANSPARENT | WS_EX_TOOLWINDOW,
- fullscreenVideeoHUDWindowClassName, 0, WS_POPUP | WS_VISIBLE,
- m_hudPosition.x(), m_hudPosition.y(), 0, 0, m_fullscreenWindow->hwnd(), 0, gInstance, 0);
- ASSERT(::IsWindow(m_hudWindow));
- SetWindowLongPtr(m_hudWindow, 0, reinterpret_cast<LONG_PTR>(this));
-
- draw();
-}
-
-static String timeToString(float time)
-{
- if (!std::isfinite(time))
- time = 0;
- int seconds = fabsf(time);
- int hours = seconds / (60 * 60);
- int minutes = (seconds / 60) % 60;
- seconds %= 60;
-
- if (hours) {
- if (hours > 9)
- return String::format("%s%02d:%02d:%02d", (time < 0 ? "-" : ""), hours, minutes, seconds);
- return String::format("%s%01d:%02d:%02d", (time < 0 ? "-" : ""), hours, minutes, seconds);
- }
-
- return String::format("%s%02d:%02d", (time < 0 ? "-" : ""), minutes, seconds);
-}
-
-void FullscreenVideoController::draw()
-{
- OwnPtr<HDC> bitmapDC = adoptPtr(CreateCompatibleDC(HWndDC(m_hudWindow)));
- HGDIOBJ oldBitmap = SelectObject(bitmapDC.get(), m_bitmap.get());
-
- GraphicsContext context(bitmapDC.get(), true);
-
- context.save();
-
- // Draw the background
- IntSize outerRadius(borderRadius, borderRadius);
- IntRect outerRect(0, 0, windowWidth, windowHeight);
- IntSize innerRadius(borderRadius - borderThickness, borderRadius - borderThickness);
- IntRect innerRect(borderThickness, borderThickness, windowWidth - borderThickness * 2, windowHeight - borderThickness * 2);
-
- context.fillRoundedRect(outerRect, outerRadius, outerRadius, outerRadius, outerRadius, Color(borderColor), ColorSpaceDeviceRGB);
- context.setCompositeOperation(CompositeCopy);
- context.fillRoundedRect(innerRect, innerRadius, innerRadius, innerRadius, innerRadius, Color(backgroundColor), ColorSpaceDeviceRGB);
-
- // Draw the widgets
- m_playPauseButton.draw(context);
- m_volumeUpButton.draw(context);
- m_volumeSliderButton.draw(context);
- m_volumeDownButton.draw(context);
- m_timeSliderButton.draw(context);
- m_exitFullscreenButton.draw(context);
- m_volumeSlider.draw(context);
- m_timeSlider.draw(context);
-
- // Draw the text strings
- FontDescription desc;
-
- NONCLIENTMETRICS metrics;
- metrics.cbSize = sizeof(metrics);
- SystemParametersInfo(SPI_GETNONCLIENTMETRICS, metrics.cbSize, &metrics, 0);
- desc.setOneFamily(metrics.lfSmCaptionFont.lfFaceName);
-
- desc.setComputedSize(textSize);
- Font font = Font(desc, 0, 0);
- font.update(0);
-
- String s;
-
- // The y positioning of these two text strings is tricky because they are so small. They
- // are currently positioned relative to the center of the slider and then down the font
- // height / 4 (which is actually half of font height /2), which positions the center of
- // the text at the center of the slider.
- // Left string
- s = timeToString(currentTime());
- int fontHeight = font.fontMetrics().height();
- TextRun leftText(s);
- context.setFillColor(Color(textColor), ColorSpaceDeviceRGB);
- context.drawText(font, leftText, IntPoint(windowWidth / 2 - timeSliderWidth / 2 - margin - font.width(leftText), windowHeight - margin - sliderHeight / 2 + fontHeight / 4));
-
- // Right string
- s = timeToString(currentTime() - duration());
- TextRun rightText(s);
- context.setFillColor(Color(textColor), ColorSpaceDeviceRGB);
- context.drawText(font, rightText, IntPoint(windowWidth / 2 + timeSliderWidth / 2 + margin, windowHeight - margin - sliderHeight / 2 + fontHeight / 4));
-
- // Copy to the window
- BLENDFUNCTION blendFunction = {AC_SRC_OVER, 0, 255, AC_SRC_ALPHA};
- SIZE size = { windowWidth, windowHeight };
- POINT sourcePoint = {0, 0};
- POINT destPoint = { m_hudPosition.x(), m_hudPosition.y() };
- BOOL result = UpdateLayeredWindow(m_hudWindow, 0, &destPoint, &size, bitmapDC.get(), &sourcePoint, 0, &blendFunction, ULW_ALPHA);
-
- context.restore();
-
- ::SelectObject(bitmapDC.get(), oldBitmap);
-}
-
-LRESULT FullscreenVideoController::hudWndProc(HWND wnd, UINT message, WPARAM wParam, LPARAM lParam)
-{
- LONG_PTR longPtr = GetWindowLongPtr(wnd, 0);
- FullscreenVideoController* controller = reinterpret_cast<FullscreenVideoController*>(longPtr);
- if (!controller)
- return DefWindowProc(wnd, message, wParam, lParam);
-
- switch (message) {
- case WM_CHAR:
- controller->onChar(wParam);
- break;
- case WM_KEYDOWN:
- controller->onKeyDown(wParam);
- break;
- case WM_LBUTTONDOWN:
- controller->onMouseDown(IntPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)));
- break;
- case WM_MOUSEMOVE:
- controller->onMouseMove(IntPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)));
- break;
- case WM_LBUTTONUP:
- controller->onMouseUp(IntPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)));
- break;
- }
-
- return DefWindowProc(wnd, message, wParam, lParam);
-}
-
-void FullscreenVideoController::onChar(int c)
-{
- if (c == VK_ESCAPE) {
- if (m_mediaElement)
- m_mediaElement->exitFullscreen();
- } else if (c == VK_SPACE)
- togglePlay();
-}
-
-void FullscreenVideoController::onKeyDown(int virtualKey)
-{
- if (virtualKey == VK_ESCAPE) {
- if (m_mediaElement)
- m_mediaElement->exitFullscreen();
- }
-}
-
-void FullscreenVideoController::timerFired(Timer<FullscreenVideoController>*)
-{
- // Update the time slider
- m_timeSlider.setValue(currentTime() / duration());
- draw();
-}
-
-void FullscreenVideoController::onMouseDown(const IntPoint& point)
-{
- IntPoint convertedPoint(fullscreenToHUDCoordinates(point));
-
- // Don't bother hit testing if we're outside the bounds of the window
- if (convertedPoint.x() < 0 || convertedPoint.x() >= windowWidth || convertedPoint.y() < 0 || convertedPoint.y() >= windowHeight)
- return;
-
- m_hitWidget = 0;
- m_movingWindow = false;
-
- if (m_playPauseButton.hitTest(convertedPoint))
- m_hitWidget = &m_playPauseButton;
- else if (m_exitFullscreenButton.hitTest(convertedPoint))
- m_hitWidget = &m_exitFullscreenButton;
- else if (m_volumeUpButton.hitTest(convertedPoint))
- m_hitWidget = &m_volumeUpButton;
- else if (m_volumeDownButton.hitTest(convertedPoint))
- m_hitWidget = &m_volumeDownButton;
- else if (m_volumeSlider.hitTest(convertedPoint)) {
- m_hitWidget = &m_volumeSlider;
- m_volumeSlider.drag(convertedPoint, true);
- setVolume(m_volumeSlider.value());
- } else if (m_timeSlider.hitTest(convertedPoint)) {
- m_hitWidget = &m_timeSlider;
- m_timeSlider.drag(convertedPoint, true);
- beginScrubbing();
- setCurrentTime(m_timeSlider.value() * duration());
- }
-
- // If we did not pick any of our widgets we are starting a window move
- if (!m_hitWidget) {
- m_moveOffset = convertedPoint;
- m_movingWindow = true;
- }
-
- draw();
-}
-
-void FullscreenVideoController::onMouseMove(const IntPoint& point)
-{
- IntPoint convertedPoint(fullscreenToHUDCoordinates(point));
-
- if (m_hitWidget) {
- m_hitWidget->drag(convertedPoint, false);
- if (m_hitWidget == &m_volumeSlider)
- setVolume(m_volumeSlider.value());
- else if (m_hitWidget == &m_timeSlider)
- setCurrentTime(m_timeSlider.value() * duration());
- draw();
- } else if (m_movingWindow)
- m_hudPosition.move(convertedPoint.x() - m_moveOffset.x(), convertedPoint.y() - m_moveOffset.y());
-}
-
-void FullscreenVideoController::onMouseUp(const IntPoint& point)
-{
- IntPoint convertedPoint(fullscreenToHUDCoordinates(point));
- m_movingWindow = false;
-
- if (m_hitWidget) {
- if (m_hitWidget == &m_playPauseButton && m_playPauseButton.hitTest(convertedPoint))
- togglePlay();
- else if (m_hitWidget == &m_volumeUpButton && m_volumeUpButton.hitTest(convertedPoint)) {
- setVolume(1);
- m_volumeSlider.setValue(1);
- } else if (m_hitWidget == &m_volumeDownButton && m_volumeDownButton.hitTest(convertedPoint)) {
- setVolume(0);
- m_volumeSlider.setValue(0);
- } else if (m_hitWidget == &m_timeSlider)
- endScrubbing();
- else if (m_hitWidget == &m_exitFullscreenButton && m_exitFullscreenButton.hitTest(convertedPoint)) {
- m_hitWidget = 0;
- if (m_mediaElement)
- m_mediaElement->exitFullscreen();
- return;
- }
- }
-
- m_hitWidget = 0;
- draw();
-}
-
-void FullscreenVideoController::togglePlay()
-{
- if (canPlay())
- play();
- else
- pause();
-
- m_playPauseButton.setShowAltButton(!canPlay());
-
- // Run a timer while the video is playing so we can keep the time
- // slider and time values up to date.
- if (!canPlay())
- m_timer.startRepeating(timerInterval);
- else
- m_timer.stop();
-
- draw();
-}
-
-#endif
diff --git a/Source/WebKit/win/FullscreenVideoController.h b/Source/WebKit/win/FullscreenVideoController.h
deleted file mode 100644
index a65529e5c..000000000
--- a/Source/WebKit/win/FullscreenVideoController.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 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 FullscreenVideoController_h
-#define FullscreenVideoController_h
-
-#if ENABLE(VIDEO)
-
-#include "MediaPlayerPrivateFullscreenWindow.h"
-
-#include <WebCore/HTMLMediaElement.h>
-#include <WebCore/Image.h>
-#include <WebCore/IntPoint.h>
-#include <WebCore/IntSize.h>
-#include <wtf/RefPtr.h>
-
-namespace WebCore {
-class GraphicsContext;
-#if USE(ACCELERATED_COMPOSITING)
-class PlatformCALayer;
-#endif
-}
-
-class HUDWidget {
-public:
- HUDWidget(const WebCore::IntRect& rect) : m_rect(rect) { }
-
- virtual ~HUDWidget() { }
-
- virtual void draw(WebCore::GraphicsContext&) = 0;
- virtual void drag(const WebCore::IntPoint&, bool start) = 0;
- bool hitTest(const WebCore::IntPoint& point) const { return m_rect.contains(point); }
-
-protected:
- WebCore::IntRect m_rect;
-};
-
-class HUDButton : public HUDWidget {
-public:
- enum HUDButtonType {
- NoButton,
- PlayPauseButton,
- TimeSliderButton,
- VolumeUpButton,
- VolumeSliderButton,
- VolumeDownButton,
- ExitFullscreenButton
- };
-
- HUDButton(HUDButtonType, const WebCore::IntPoint&);
- ~HUDButton() { }
-
- virtual void draw(WebCore::GraphicsContext&);
- virtual void drag(const WebCore::IntPoint&, bool start) { }
- void setShowAltButton(bool b) { m_showAltButton = b; }
-
-private:
- RefPtr<WebCore::Image> m_buttonImage;
- RefPtr<WebCore::Image> m_buttonImageAlt;
- HUDButtonType m_type;
- bool m_showAltButton;
-};
-
-class HUDSlider : public HUDWidget {
-public:
- enum HUDSliderButtonShape { RoundButton, DiamondButton };
-
- HUDSlider(HUDSliderButtonShape, int buttonSize, const WebCore::IntRect& rect);
- ~HUDSlider() { }
-
- virtual void draw(WebCore::GraphicsContext&);
- virtual void drag(const WebCore::IntPoint&, bool start);
- float value() const { return static_cast<float>(m_buttonPosition) / (m_rect.width() - m_buttonSize); }
- void setValue(float value) { m_buttonPosition = static_cast<int>(value * (m_rect.width() - m_buttonSize)); }
-
-private:
- HUDSliderButtonShape m_buttonShape;
- int m_buttonSize;
- int m_buttonPosition;
- int m_dragStartOffset;
-};
-
-class FullscreenVideoController : WebCore::MediaPlayerPrivateFullscreenClient {
- WTF_MAKE_NONCOPYABLE(FullscreenVideoController);
-public:
- FullscreenVideoController();
- virtual ~FullscreenVideoController();
-
- void setMediaElement(WebCore::HTMLMediaElement*);
- WebCore::HTMLMediaElement* mediaElement() const { return m_mediaElement.get(); }
-
- void enterFullscreen();
- void exitFullscreen();
-
-private:
- // MediaPlayerPrivateFullscreenWindowClient
- virtual LRESULT fullscreenClientWndProc(HWND, UINT message, WPARAM, LPARAM);
-
- void ensureWindow();
-
- bool canPlay() const;
- void play();
- void pause();
- float volume() const;
- void setVolume(float);
- float currentTime() const;
- void setCurrentTime(float);
- float duration() const;
- void beginScrubbing();
- void endScrubbing();
-
- WebCore::IntPoint fullscreenToHUDCoordinates(const WebCore::IntPoint& point) const
- {
- return WebCore::IntPoint(point.x()- m_hudPosition.x(), point.y() - m_hudPosition.y());
- }
-
- static void registerHUDWindowClass();
- static LRESULT CALLBACK hudWndProc(HWND, UINT message, WPARAM, LPARAM);
- void createHUDWindow();
- void timerFired(WebCore::Timer<FullscreenVideoController>*);
-
- void togglePlay();
- void draw();
-
- void onChar(int c);
- void onMouseDown(const WebCore::IntPoint&);
- void onMouseMove(const WebCore::IntPoint&);
- void onMouseUp(const WebCore::IntPoint&);
- void onKeyDown(int virtualKey);
-
- RefPtr<WebCore::HTMLMediaElement> m_mediaElement;
-
- HWND m_hudWindow;
- OwnPtr<HBITMAP> m_bitmap;
- WebCore::IntSize m_fullscreenSize;
- WebCore::IntPoint m_hudPosition;
- OwnPtr<WebCore::MediaPlayerPrivateFullscreenWindow> m_fullscreenWindow;
-#if USE(ACCELERATED_COMPOSITING)
- class LayerClient;
- friend class LayerClient;
- OwnPtr<LayerClient> m_layerClient;
- RefPtr<WebCore::PlatformCALayer> m_rootChild;
-#endif
-
- HUDButton m_playPauseButton;
- HUDButton m_timeSliderButton;
- HUDButton m_volumeUpButton;
- HUDButton m_volumeSliderButton;
- HUDButton m_volumeDownButton;
- HUDButton m_exitFullscreenButton;
- HUDSlider m_volumeSlider;
- HUDSlider m_timeSlider;
-
- HUDWidget* m_hitWidget;
- WebCore::IntPoint m_moveOffset;
- bool m_movingWindow;
- WebCore::Timer<FullscreenVideoController> m_timer;
-};
-
-#endif
-
-#endif // FullscreenVideoController_h
diff --git a/Source/WebKit/win/Interfaces/AccessibilityDelegate.idl b/Source/WebKit/win/Interfaces/AccessibilityDelegate.idl
deleted file mode 100644
index 3be000b0e..000000000
--- a/Source/WebKit/win/Interfaces/AccessibilityDelegate.idl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2013 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- hidden,
- uuid(C6F9232A-1E7D-4614-BDAE-150262DE6884),
- pointer_default(unique)
-]
-
-interface IAccessibilityDelegate : IUnknown
-{
- HRESULT fireFrameLoadStartedEvents();
- HRESULT fireFrameLoadFinishedEvents();
-}
diff --git a/Source/WebKit/win/Interfaces/Accessible2/Accessible2.idl b/Source/WebKit/win/Interfaces/Accessible2/Accessible2.idl
deleted file mode 100644
index 3e17dda61..000000000
--- a/Source/WebKit/win/Interfaces/Accessible2/Accessible2.idl
+++ /dev/null
@@ -1,692 +0,0 @@
-/*************************************************************************
- *
- * File Name (Accessible2.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2013 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, 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.
- *
- * 3. Neither the name of the Linux Foundation 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 HOLDER 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.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-/** @mainpage
-
- @section _interfaces Interfaces
- IAccessible2\n
- IAccessible2_2\n
- IAccessibleAction\n
- IAccessibleApplication\n
- IAccessibleComponent\n
- IAccessibleDocument\n
- IAccessibleEditableText\n
- IAccessibleHypertext\n
- IAccessibleHypertext2\n
- IAccessibleHyperlink\n
- IAccessibleImage\n
- IAccessibleRelation\n
- IAccessibleTable [Deprecated]\n
- IAccessibleTable2\n
- IAccessibleTableCell\n
- IAccessibleText\n
- IAccessibleText2\n
- IAccessibleValue
-
- @section _structs Structs
- IA2Locale\n
- IA2TableModelChange\n
- IA2TextSegment
-
- @section _enums Enums
- ::IA2Actions values are predefined actions for use when implementing support for HTML5 media.\n
- ::IA2CoordinateType values define the requested coordinate type (screen or parent window).\n
- ::IA2EventID values identify events.\n
- ::IA2Role values defines roles which are in addition to the existing MSAA roles.\n
- ::IA2ScrollType values define where to place an object or substring on the screen.\n
- ::IA2States values define states which are in addition to the existing MSAA states.\n
- ::IA2TableModelChangeType values describe the kinds of changes made to a table (insert, delete, update).\n
- ::IA2TextBoundaryType values define the requested text unit (character, word, sentence, line, paragraph).\n
- ::IA2TextSpecialOffsets values define special offsets for use in the text interfaces.
-
- @section _constants Constants
- @ref grpRelations
-
- @section _misc Miscellaneous
- @ref _licensePage "BSD License"\n
- @ref _generalInfo "General Information"\n
-
- @page _licensePage BSD License
- %IAccessible2 IDL Specification
-
- Copyright (c) 2007, 2013 Linux Foundation\n
- Copyright (c) 2006 IBM Corporation\n
- Copyright (c) 2000, 2006 Sun Microsystems, Inc.\n
- 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.
-
- 3. Neither the name of the Linux Foundation 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 HOLDER 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.
-
- This BSD License conforms to the Open Source Initiative "Simplified
- BSD License" as published at:
- http://www.opensource.org/licenses/bsd-license.php
-
- %IAccessible2 is a trademark of the Linux Foundation. The %IAccessible2
- mark may be used in accordance with the
- <a href="http://www.linuxfoundation.org/collaborate/workgroups/accessibility/trademark-policy">
- Linux Foundation Trademark Policy</a> to indicate compliance with the %IAccessible2 specification.
-
- @page _generalInfo General Information
- The following information is applicable to two or more interfaces.
-
- @ref _errors\n
- @ref _memory\n
- &nbsp;&nbsp;@ref _arrayConsideration\n
- @ref _indexes\n
- @ref _enums\n
- @ref _specialOffsets\n
- @ref _dicoveringInterfaces\n
- @ref _changingInterfaces\n
- @ref _applicationInfo\n
- @ref _childIDs\n
- @ref _variants\n
- @ref _iaaction-iahyperlink\n
- @ref _trademark
-
- @section _errors Error Handling
- HRESULT values are defined by the Microsoft&reg; Win32&reg; API. For more information, refer to
- <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa378137%28v=vs.85%29.aspx">
- Interpreting HRESULT Values</a> in MSDN&reg;.
-
- Note that the S_FALSE return value is considered a non-error value and the
- SUCCEEDED macro will return TRUE. S_FALSE is used when there is no failure
- but there was nothing valid to return, e.g. in IAccessible2::attributes when
- there are no attributes. When S_FALSE is returned [out] pointer types should
- be NULL and [out] longs should generally be 0, but sometimes -1 is used such
- as IAccessible2::indexInParent, IAccessibleText::caretOffset, and
- IAccessibleHypertext::hyperlinkIndex.
-
- Note that for BSTR [out] variables common COM practice is that the server does
- the SysAllocString and the client does the SysFreeString. Also note that when
- NULL is returned there is no need for the client to call SysFreeString. Please
- refer to the documentation for each method for more details regarding error handling.
-
- @section _memory Memory Management
- The following memory management issues should be considered:
- @li Although [out] BSTR variables are declared by the client, their space is
- allocated by the server. They need to be freed with SysFreeString by the
- client at end of life; the same is true when BSTRs are used in structs or
- arrays which are passed to the server.
- @li If there is no valid [out] BSTR to return, the server should return S_FALSE and
- assign NULL to the output, e.g. *theOutBSTR = NULL;.
- @li COM interfaces need to be referenced with AddRef when used and dereferenced
- with Release at end of life.
- @li Single [out] longs, HWNDs, booleans, and structs are declared by the caller
- and passed by reference. The marshaller does all the memory management.
-
- The following articles may be helpful for understanding memory management issues:
- @li An article by Don Box in a
- <a href="http://www.microsoft.com/msj/1196/activex1196.aspx">Q & A section</a>
- of the November 1996 edition of the Microsoft Systems Journal.
- @li A posting to a CodeGuru forum,
- <a href="http://www.codeguru.com/forum/showthread.php?t=364511">Windows SDK
- String: What are the rules for BSTR allocation and deallocation?</a>
-
- @subsection _arrayConsideration Special Consideration when using Arrays
- There are several methods which return arrays. In the case of IAccessible2::relations
- and IAccessibleRelation::targets the client must allocate and free the arrays.
-
- For the remaining methods which return arrays, the server must allocate the array
- and the client must free the array when no longer needed. These methods are
- IAccessible2::extendedStates, IAccessible2::localizedExtendedStates,
- IAccessible2_2::relationTargetsOfType, IAccessibleAction::keyBinding,
- IAccessibleHypertext2::hyperlinks, IAccessibleTable::selectedChildren,
- IAccessibleTable::selectedColumns, IAccessibleTable::selectedRows,
- IAccessibleTable2::selectedCells, IAccessibleTable2::selectedColumns,
- IAccessibleTable2::selectedRows, IAccessibleTableCell::columnHeaderCells,
- and IAccessibleTableCell::rowHeaderCells.
- For those methods, the server must allocate both the top level array and any storage
- associated with it, e.g. for BSTRs. The server must allocate the arrays with
- CoTaskMemAlloc and any BSTRs with SysAllocString. The client must use CoTaskMemFree
- to free the array and any BSTRs must be freed with SysFreeString.
-
- Also, the IDL for IAccessible2::extendedStates, IAccessible2::localizedExtendedStates,
- IAccessibleAction::keyBinding, IAccessibleTable::selectedChildren,
- IAccessibleTable::selectedColumns, and IAccessibleTable::selectedRows includes an
- extraneous [in] parameter for the caller to specify the max size of the array.
- This parameter will be ignored by the COM server.
-
- @section _indexes Zero and One Based Indexes
- Unless otherwise specified all offsets and indexes are 0 based.
-
- @section _enums Enums
- Note that enums start at 0.
-
- @section _specialOffsets Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods
- IAccessibleText and IAccessibleEditableText can use one or more of the following
- special offset values. They are defined in the ::IA2TextSpecialOffsets enum.
- @li Using ::IA2_TEXT_OFFSET_LENGTH (-1) as an offset in any of the IAccessibleText or
- IAccessibleEditableText methods is the same as specifying the length of the string.
- @li Using ::IA2_TEXT_OFFSET_CARET (-2) as an offset for IAccessibleText::textBeforeOffset,
- IAccessibleText::textAtOffset, and IAccessibleText::textAfterOffset indicates that the
- text related to the physical location of the caret should be used. This is needed for
- applications that consider the character offset of the end of one line (as reached by
- pressing the End key) the same as the offset of the first character on the next line.
- Since the same offset is associated with two different lines a special means is needed
- to fetch text from the line where the caret is physically located.
-
- @section _dicoveringInterfaces Discovery of Interfaces
- In general AT (Assistive Technology) should try IAccessible2 interfaces, followed by using
- the MSAA (Microsoft&reg; Active Accessibility&reg;) interfaces. (In cases where the an application
- is known to have custom interfaces which provide information not supplied by IAccessible2
- or MSAA, then those custom interfaces can be used.) The AT can then, by default, support
- unknown IAccessible2/MSAA applications, without the application developers having to request
- AT vendors for support on an individual application by application basis.
-
- When you have a reference to an IAccessible and require a reference to an IAccessible2 use
- QueryService as follows:
- @code
- // pAcc is a reference to the accessible object's IAccessible interface.
- IServiceProvider *pService = NULL;
- hr = pAcc->QueryInterface(IID_IServiceProvider, (void **)&pService);
- if(SUCCEEDED(hr)) {
- IAccessible2 *pIA2 = NULL;
- hr = pService->QueryService(IID_IAccessible, IID_IAccessible2, (void**)&pIA2);
- if (SUCCEEDED(hr) && pIA2) {
- // The control supports IAccessible2.
- // pIA2 is the reference to the accessible object's IAccessible2 interface.
- }
- }
- @endcode
-
- @section _changingInterfaces Changing between Accessible Interfaces
- Note that developers must always implement MSAA's IAccessible and, if needed, some
- of the interfaces in the set of IAccessible2 interfaces. Although the IAccessible2
- IDL is coded such that IAccessible2 is a subclass of MSAA's IAccessible, none of
- MSAA's IAccessible methods are redefined by IAccessible2.
-
- QueryService must be used to switch from a reference to an MSAA IAccessible interface
- to another interface. This has been
- <a href="http://www.atia.org/files/public/Introducing_IAccessibleEx.doc">
- documented</a> and the pertinent facts have been extracted below:
-
- @par
- Why use QueryService instead of just using QueryInterface to get IAccessibleEx
- directly? The reason is that since MSAA 2.0, clients don't talk to a server's
- IAccessible interface directly; instead they talk to an intermediate MSAA-provided
- wrapper that calls through to the original IAccessible. This wrapper provides services
- such as implementing IDispatch, supplying information from MSAA 2.0's Dynamic Annotation
- service, and scaling locations when running on Windows Vista with DPI scaling enabled.
- QueryService is the supported way to expose additional interfaces from an existing
- IAccessible and was originally used by MSHTML to expose IHTMLElement objects corresponding
- to IAccessibles. QueryService is often more convenient for servers to implement than
- QueryInterface because it does not have the same requirements for preserving object
- identity or symmetry/transitivity as QueryInterface, so QueryService allows servers to
- easily implement the interface on the same object or a separate object. The latter is
- often hard to do with QueryInterface unless the original object supports aggregation.
-
- Two related references in MSDN&reg; are:
- @li <a href="http://msdn.microsoft.com/en-us/library/ms696078(VS.85).aspx">
- "Using QueryService to expose a native object model interface for an IAccessible object"</a>
- @li <a href="http://msdn.microsoft.com/en-us/library/ms528415.aspx#acc_obj">
- "Accessing the Internet Explorer Object Associated with an Accessible Object"</a>
-
- Based on this information from Microsoft, QueryService must be used to switch back and forth
- between a reference to an MSAA IAccessible interface and any of the IAccessible2 interfaces.
-
- Regarding switching between any of the IAccessible2 interfaces, applications implementing
- IAccessible2 should implement the IAccessible2 interfaces on a single object since ATs
- will be using QueryInterface to switch between the IAccessilbe2 interfaces. Implementing
- the IAccessible2 interfaces on separate objects would require the use of QueryService.
- There is one exception, IAccessibleApplication can be implemented on a separate object so
- its common code doesn't have to be included in each accessible object. ATs should use
- QueryService to access IAccessibleApplication.
-
- @section _applicationInfo Access to Information about the Application
- Servers implementing IAccessible2 should provide access to the IAccessibleApplication
- interface via QueryService from any object so that ATs can easily determine specific
- information about the application such as its name or version.
-
- @section _childIDs Child IDs
- The IAccessible2 interfaces do not support child IDs, i.e. simple child elements.
- Full accessible objects must be created for each object that supports IAccessible2.
- Therefore MSAA's get_accChild should never return a child ID (other than CHILDID_SELF)
- for an object that implements any of the IAccessible2 interfaces.
-
- Microsoft's UI Automation specification has the same limitation and this was resolved
- in the UI Automation Express specification by adding IAccessibleEx::GetObjectForChild
- and IAccessibleEx::GetIAccessiblePair. These methods allow mapping back and forth
- between an IAccessibleEx and an {IAccessible, Child ID} pair. A future version of
- IAccessible2 may include similar methods to map back and forth between an IAccessible2
- and an {IAccessible, Child ID} pair.
-
- @section _variants VARIANTs
- Some methods return a VARIANT. Implementers need to make sure that the return type is
- specified, i.e. VT_I4, VT_IDISPATCH, etc. The methods that return VARIANTs are
- IAccessibleHyperlink::anchor, IAccessibleHyperlink::anchorTarget, IAccessibleValue::currentValue,
- IAccessibleValue::maximumValue, IAccessibleValue::minimumValue.
-
- @section _iaaction-iahyperlink IAccessibleHyperlink as subclass of IAccessibleAction
- In this version of the IDL, IAccessibleHyperlink is a subclass of IAccessibleAction.
- However, there is no practical need for that inheritance and in some cases, such as
- an image map of smart tags, it doesn't make sense because such an image map doesn't
- have actionable objects; it's the secondary smart tags that are actionable. As a
- result, implementations should not rely on the inheritance as it may be removed in
- a later version of the IDL.
-
- @section _trademark Trademark Attribution
- The names of actual companies and products mentioned herein may be the trademarks of
- their respective owners. In particular, Active Accessibility, Microsoft, MSDN, and Win32
- are trademarks of the Microsoft group of companies in the U.S.A. and/or other countries.
-
-**/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-import "AccessibleRelation.idl";
-import "AccessibleStates.idl";
-import "IA2CommonTypes.idl";
-
-/** A structure defining the locale of an accessible object.
-
-IAccessible2::locale returns this struct.
-*/
-typedef struct IA2Locale {
- BSTR language; ///< ISO 639-1 Alpha-2 two character language code
- BSTR country; ///< ISO 3166-1 Alpha-2 two character country code
- BSTR variant; ///< Application specific variant of the locale
-} IA2Locale;
-
-/** @brief This interface exposes the primary set of information about an
- IAccessible2 enabled accessible object.
-
- This interface must always be provided for objects that support some
- portion of the collection of the %IAccessible2 interfaces.
-
- Please refer to @ref _changingInterfaces "Changing between Accessible Interfaces"
- for special considerations related to use of the MSAA IAccessible interface and
- the set of %IAccessible2 interfaces.
- */
-[object, uuid(E89F726E-C4F4-4c19-BB19-B647D7FA8478)]
-interface IAccessible2 : IAccessible
-{
-
- /** @brief Returns the number of accessible relations for this object.
- @param [out] nRelations
- @retval S_OK
- */
- [propget] HRESULT nRelations
- (
- [out, retval] long *nRelations
- );
-
- /** @brief Returns one accessible relation for this object.
- @param [in] relationIndex
- 0 based
- @param [out] relation
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- [propget] HRESULT relation
- (
- [in] long relationIndex,
- [out, retval] IAccessibleRelation **relation
- );
-
- /** @brief Returns multiple accessible relations for this object.
- @param [in] maxRelations
- maximum size of the array allocated by the client
- @param [out] relations
- The array of accessible relation objects. Note that this array is to be
- allocated by the client and freed when no longer needed. Refer to @ref
- _arrayConsideration "Special Consideration when using Arrays" for more details.
- @param [out] nRelations
- actual number of relations in the returned array (not more than maxRelations)
- @retval S_OK
- @retval S_FALSE if there are no relations, nRelations is set to 0
- @note As a performant alternative, client code should consider using IAccessible2_2::relationTargetsOfType.
- */
- [propget] HRESULT relations
- (
- [in] long maxRelations,
- [out, size_is(maxRelations), length_is(*nRelations)]
- IAccessibleRelation **relations,
- [out, retval] long *nRelations
- );
-
- /** @brief Returns the role of an %IAccessible2 object.
- @param [out] role
- The role of an %IAccessible2 object.
- @retval S_OK
- @note
- @li For convenience MSAA roles are also passed through this method so the
- AT doesn't have to also fetch roles through MSAA's get_accRole.
- @li %IAccessible2 roles should not be passed through MSAA's get_accRole.
- @li For compatibility with non IAccessible2 enabled ATs, IAccessible2
- applications should also add support to get_accRole to return the closest
- MSAA role or ROLE_SYSTEM_CLIENT (the MSAA defined default role) if there
- is not a good match.
- @li This method is missing a [propget] prefix in the IDL. The result is the
- method is named role in generated C++ code instead of get_role.
- */
- HRESULT role
- (
- [out, retval] long *role
- );
-
- /** @brief Makes an object visible on the screen.
- @param [in] scrollType
- Defines where the object should be placed on the screen.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT scrollTo
- (
- [in] enum IA2ScrollType scrollType
- );
-
- /** @brief Moves the top left of an object to a specified location.
-
- @param [in] coordinateType
- Specifies whether the coordinates are relative to the screen or the parent object.
- @param [in] x
- Defines the x coordinate.
- @param [in] y
- Defines the y coordinate.
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- */
- HRESULT scrollToPoint
- (
- [in] enum IA2CoordinateType coordinateType,
- [in] long x,
- [in] long y
- );
-
- /** @brief Returns grouping information.
-
- Used for tree items, list items, tab panel labels, radio buttons, etc.
- Also used for collections of non-text objects.
-
- @param [out] groupLevel
- 1 based, 0 indicates that this value is not applicable
- @param [out] similarItemsInGroup
- 1 based, 0 indicates that this value is not applicable
- @param [out] positionInGroup
- 1 based, 0 indicates that this value is not applicable. This is an index
- into the objects in the current group, not an index into all the objects
- at the same group level.
- @retval S_OK if at least one value is valid
- @retval S_FALSE if no values are valid, [out] values are 0s
- @note This method is meant to describe the nature of an object's containment
- structure. It's exposed by trees, tree grids, nested lists, nested menus,
- but not headings, which uses the level object attribute. It is also exposed
- by radio buttons (with groupLevel == 0).
- @note This is normally not implemented on a combo box to describe the nature
- of its contents. Normally an AT will get that information from its child list
- object. However, in some cases when non-edit combo boxes are not able to be structured
- such that the list is a child of the combo box, this method is implemented on
- the combo box itself. ATs can use this interface if a child list is not found.
- */
- [propget] HRESULT groupPosition
- (
- [out] long *groupLevel,
- [out] long *similarItemsInGroup,
- [out, retval] long *positionInGroup
- );
-
- /** @brief Returns the bit strip containing any IAccessible2 states.
-
- The IAccessible2 states are in addition to the MSAA states and are defined in
- the IA2States enum.
-
- @param [out] states
- @retval S_OK
- */
- [propget] HRESULT states
- (
- [out, retval] AccessibleStates *states
- );
-
- /** @brief Returns the extended role.
-
- An extended role is a role which is dynamically generated by the application.
- It is not predefined by the %IAccessible2 specification.
-
- @param [out] extendedRole
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT extendedRole
- (
- [out, retval] BSTR *extendedRole
- );
-
- /** @brief Returns the localized extended role.
- @param [out] localizedExtendedRole
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT localizedExtendedRole
- (
- [out, retval] BSTR *localizedExtendedRole
- );
-
- /** @brief Returns the number of extended states.
- @param [out] nExtendedStates
- @retval S_OK
- */
- [propget] HRESULT nExtendedStates
- (
- [out, retval] long *nExtendedStates
- );
-
- /** @brief Returns the extended states (array of strings).
-
- An extended state is a state which is dynamically generated by the application.
- It is not predefined by the %IAccessible2 specification.
-
- @param [in] maxExtendedStates
- This parameter is ignored. Refer to @ref _arrayConsideration
- "Special Consideration when using Arrays" for more details.
- @param [out] extendedStates
- This array is allocated by the server. The client must free it with CoTaskMemFree.
- @param [out] nExtendedStates
- The number of extended states returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there are no states, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT extendedStates
- (
- [in] long maxExtendedStates,
- [out, size_is(,maxExtendedStates), length_is(,*nExtendedStates)] BSTR **extendedStates,
- [out, retval] long *nExtendedStates
- );
-
- /** @brief Returns the localized extended states (array of strings).
-
- @param [in] maxLocalizedExtendedStates
- This parameter is ignored. Refer to @ref _arrayConsideration
- "Special Consideration when using Arrays" for more details.
- @param [out] localizedExtendedStates
- This array is allocated by the server. The client must free it with CoTaskMemFree.
- @param [out] nLocalizedExtendedStates
- The number of localized extended states returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there are no states, [out] values are NULL and 0 respectively
- */
- [propget] HRESULT localizedExtendedStates
- (
- [in] long maxLocalizedExtendedStates,
- [out, size_is(,maxLocalizedExtendedStates), length_is(,*nLocalizedExtendedStates)] BSTR **localizedExtendedStates,
- [out, retval] long *nLocalizedExtendedStates
- );
-
- /** @brief Returns the unique ID.
-
- The uniqueID is an identifier for this object, is unique within the
- current window, and remains the same for the lifetime of the accessible
- object.
-
- The uniqueID is not related to:
- - the MSAA objectID which is used by the server to disambiguate between
- IAccessibles per HWND or
- - the MSAA childID which is used to disambiguate between children being
- managed by an IAccessible.
-
- This value is provided so the AT can have access to a unique runtime persistent
- identifier even when not handling an event for the object.
-
- An example of when this value is useful is if the AT wants to build a cache.
- The AT could cache the uniqueIDs in addition to other data being cached.
- When an event is fired the AT could map the uniqueID to its internal model.
- Thus, if there's a REORDER/SHOW/HIDE event the AT knows which part of the
- internal structure has been invalidated and can refetch just that part.
-
- This value can also be used by an AT to determine when the current control
- has changed. If the role is the same for two controls that are adjacent in
- the tab order, this can be used to detect the new control.
-
- Another use of this value by an AT is to identify when a grouping object has
- changed, e.g. when moving from a radio button in one group to a radio button in a
- different group.
-
- One means of implementing this would be to create a factory with a 32 bit number
- generator and a reuse pool. The number generator would emit numbers starting
- at 1. Each time an object's life cycle ended, its number would be saved into a
- reuse pool. The number generator would be used whenever the reuse pool was empty.
-
- Another way to create a unique ID is to generate it from a pointer value, e.g. an
- object's address. That would be unique because no two active objects can use the
- same allocated memory space.
-
- @param [out] uniqueID
- @retval S_OK
- */
- [propget] HRESULT uniqueID
- (
- [out, retval] long *uniqueID
- );
-
- /** @brief Returns the window handle for the parent window which contains this object.
-
- This is the same window handle which will be passed for any events that occur on the
- object, but is cached in the accessible object for use when it would be helpful to
- access the window handle in cases where an event isn't fired on this object.
-
- A use case is when a screen reader is grabbing an entire web page on a page load.
- Without the availability of windowHandle, the AT would have to get the window handle
- by using WindowFromAccessibleObject on each IAccessible, which is slow because it's
- implemented by oleacc.dll as a loop which crawls up the ancestor chain and looks for
- a ROLE_WINDOW object, mapping that back to a window handle.
-
- @param [out] windowHandle
- @retval S_OK
- */
- [propget] HRESULT windowHandle
- (
- [out, retval] HWND *windowHandle
- );
-
- /** @brief Returns the index of this object in its parent object.
- @param [out] indexInParent
- 0 based; -1 indicates there is no parent; the upper bound is the value
- returned by the parent's IAccessible::get_accChildCount.
- @retval S_OK
- @retval S_FALSE if no parent, [out] value is -1
- */
- [propget] HRESULT indexInParent
- (
- [out, retval] long *indexInParent
- );
-
- /** @brief Returns the IA2Locale of the accessible object.
- @param [out] locale
- @retval S_OK
- */
- [propget] HRESULT locale
- (
- [out, retval] IA2Locale *locale
- );
-
- /** @brief Returns the attributes specific to this object, such as a cell's formula.
- @param [out] attributes
- @retval S_OK
- @retval S_FALSE returned if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT attributes
- (
- [out, retval] BSTR *attributes
- );
-
-}
-
diff --git a/Source/WebKit/win/Interfaces/Accessible2/Accessible2_2.idl b/Source/WebKit/win/Interfaces/Accessible2/Accessible2_2.idl
deleted file mode 100644
index e90c2a348..000000000
--- a/Source/WebKit/win/Interfaces/Accessible2/Accessible2_2.idl
+++ /dev/null
@@ -1,123 +0,0 @@
-/*************************************************************************
- *
- * File Name (Accessible2_2.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2013 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, 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.
- *
- * 3. Neither the name of the Linux Foundation 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 HOLDER 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.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-import "Accessible2.idl";
-
-/** @brief This interface exposes the primary set of information about an
- IAccessible2 enabled accessible object.
-
- This interface must always be provided for objects that support some
- portion of the collection of the %IAccessible2 interfaces.
-
- Please refer to @ref _changingInterfaces "Changing between Accessible Interfaces"
- for special considerations related to use of the MSAA IAccessible interface and
- the set of %IAccessible2 interfaces.
- */
-[object, uuid(6C9430E9-299D-4E6F-BD01-A82A1E88D3FF)]
-interface IAccessible2_2 : IAccessible2
-{
- /** @brief Returns the attribute value of a specified attribute specific to this object.
- @param [in] name
- @param [out] attribute
- @retval S_OK
- @retval S_FALSE returned if there is nothing to return, [out] value is NULL.
- @retval E_INVALIDARG if bad [in] passed.
- @note The output value is a VARIANT. Typically it will be a VT_BSTR, but there
- are some cases where it will be a VT_I4 or VT_BOOL. Refer to the <a href=
- "http://www.linuxfoundation.org/collaborate/workgroups/accessibility/iaccessible2/objectattributesIAccessible2">
- Object Attributes specification</a> for more information.
- */
- [propget] HRESULT attribute
- (
- [in] BSTR name,
- [out, retval] VARIANT *attribute
- );
-
- /** @brief Returns the deepest hypertext accessible in the subtree of this object, and the caret offset within it.
- @param [out] accessible
- @param [out] caretOffset
- @retval S_OK
- @retval S_FALSE returned if there is no caret in any of the objects in the subtree, [out] accessible is NULL and [out] caretOffset is -1.
- */
- [propget] HRESULT accessibleWithCaret
- (
- [out] IUnknown **accessible,
- [out, retval] long *caretOffset
- );
-
- /** @brief Returns relation targets for a specified target type.
- @param [in] type
- The requested @ref grpRelations "relation type".
- @param [in] maxTargets
- The number of targets requested. 0 indicates that all targets should be returned.
- @param [out] targets
- This array is allocated by the server. The client must free it with CoTaskMemFree.
- @param [out] nTargets
- The number of targets returned; the size of the returned array.
- @retval S_OK
- @retval S_FALSE if there are no targets, [out] values are NULL and 0 respectively.
- @retval E_INVALIDARG if bad [in] passed.
- */
- [propget] HRESULT relationTargetsOfType
- (
- [in] BSTR type,
- [in] long maxTargets,
- [out, size_is(,*nTargets)] IUnknown ***targets,
- [out, retval] long *nTargets
- );
-
-}
-
diff --git a/Source/WebKit/win/Interfaces/Accessible2/AccessibleApplication.idl b/Source/WebKit/win/Interfaces/Accessible2/AccessibleApplication.idl
deleted file mode 100644
index 258633412..000000000
--- a/Source/WebKit/win/Interfaces/Accessible2/AccessibleApplication.idl
+++ /dev/null
@@ -1,121 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleApplication.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, 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.
- *
- * 3. Neither the name of the Linux Foundation 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 HOLDER 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.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-
-/** @brief This interface gives access to the application's name and version information.
-
- This interface provides the AT with the information it needs to differentiate
- this application from other applications, from other versions of this
- application, or from other versions of this application running on different
- versions of an accessibility bridge or accessibility toolkit.
-
- Servers implementing IAccessible2 should provide access to the %IAccessibleApplication
- interface via QueryService from any object so that ATs can easily determine specific
- information about the application such as its name or version.
-*/
-[object, uuid(D49DED83-5B25-43F4-9B95-93B44595979E)]
-interface IAccessibleApplication : IUnknown
-{
-
- /** @brief Returns the application name.
- @param [out] name
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT appName
- (
- [out, retval] BSTR *name
- );
-
- /** @brief Returns the application version.
- @param [out] version
- The version string must not contain levels when it is know beforehand that
- this information will never require a change in a client's behavior.
- For example, use "3.6.0" rather than "3.6.0.v201005131500".
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT appVersion
- (
- [out, retval] BSTR *version
- );
-
- /** @brief Returns the toolkit/bridge name.
- @param [out] name
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT toolkitName
- (
- [out, retval] BSTR *name
- );
-
- /** @brief Returns the toolkit/bridge version.
- @param [out] version
- The version string must not contain levels when it is know beforehand that
- this information will never require a change in a client's behavior.
- For example, use "3.6.0" rather than "3.6.0.v201005131500".
- @retval S_OK
- @retval S_FALSE if there is nothing to return, [out] value is NULL
- */
- [propget] HRESULT toolkitVersion
- (
- [out, retval] BSTR *version
- );
-
-}
-
diff --git a/Source/WebKit/win/Interfaces/Accessible2/AccessibleRelation.idl b/Source/WebKit/win/Interfaces/Accessible2/AccessibleRelation.idl
deleted file mode 100644
index ba8d3ae7b..000000000
--- a/Source/WebKit/win/Interfaces/Accessible2/AccessibleRelation.idl
+++ /dev/null
@@ -1,227 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleRelation.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2013 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, 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.
- *
- * 3. Neither the name of the Linux Foundation 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 HOLDER 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.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-import "oaidl.idl";
-import "oleacc.idl";
-
-/** @defgroup grpRelations Relations
- Use the following constants to compare against the BSTRs returned by
- IAccessibleRelation::relationType.
-*/
-///@{
-
-/** The target object is the containing application object. */
-const WCHAR *const IA2_RELATION_CONTAINING_APPLICATION = L"containingApplication";
-
-/** The target object is the containing document object. The target object implements
- the IAccessibleDocument interface.
-*/
-const WCHAR *const IA2_RELATION_CONTAINING_DOCUMENT = L"containingDocument";
-
-/** The target object is the containing tab pane object. */
-const WCHAR *const IA2_RELATION_CONTAINING_TAB_PANE = L"containingTabPane";
-
-/** The target object is the containing window object. */
-const WCHAR *const IA2_RELATION_CONTAINING_WINDOW = L"containingWindow";
-
-/** Some attribute of this object is affected by a target object. */
-const WCHAR *const IA2_RELATION_CONTROLLED_BY = L"controlledBy";
-
-/** This object is interactive and controls some attribute of a target object. */
-const WCHAR *const IA2_RELATION_CONTROLLER_FOR = L"controllerFor";
-
-/** This object is described by the target object. */
-const WCHAR *const IA2_RELATION_DESCRIBED_BY = L"describedBy";
-
-/** This object is describes the target object. */
-const WCHAR *const IA2_RELATION_DESCRIPTION_FOR = L"descriptionFor";
-
-/** This object is embedded by a target object. */
-const WCHAR *const IA2_RELATION_EMBEDDED_BY = L"embeddedBy";
-
-/** This object embeds a target object. This relation can be used on the
- OBJID_CLIENT accessible for a top level window to show where the content
- areas are.
-*/
-const WCHAR *const IA2_RELATION_EMBEDS = L"embeds";
-
-/** Content flows to this object from a target object.
- This relation and IA2_RELATION_FLOWS_TO are useful to tie text and non-text
- objects together in order to allow assistive technology to follow the
- intended reading order.
-*/
-const WCHAR *const IA2_RELATION_FLOWS_FROM = L"flowsFrom";
-
-/** Content flows from this object to a target object. */
-const WCHAR *const IA2_RELATION_FLOWS_TO = L"flowsTo";
-
-/** This object is label for a target object. */
-const WCHAR *const IA2_RELATION_LABEL_FOR = L"labelFor";
-
-/** This object is labelled by a target object. Note that the double L spelling
- which follows is preferred. Please use it instead. This single L version may
- be removed in a later version.
-*/
-const WCHAR *const IA2_RELATION_LABELED_BY = L"labelledBy";
-
-/** This object is labelled by a target object. */
-const WCHAR *const IA2_RELATION_LABELLED_BY = L"labelledBy";
-
-/** This object is a member of a group of one or more objects. When
- there is more than one object in the group each member may have one and the
- same target, e.g. a grouping object. It is also possible that each member has
- multiple additional targets, e.g. one for every other member in the group.
-*/
-const WCHAR *const IA2_RELATION_MEMBER_OF = L"memberOf";
-
-/** The target object is the next object in the tab order. */
-const WCHAR *const IA2_RELATION_NEXT_TABBABLE = L"nextTabbable";
-
-/** This object is a logical child of a target object. This relation is the reciprocal
- of the IA2_RELATION_NODE_PARENT_OF relation. In some cases an application's accessible
- tree is such that objects can be in a logical parent-child relationship which is
- different from the hierarchy of the accessible tree. */
-const WCHAR *const IA2_RELATION_NODE_CHILD_OF = L"nodeChildOf";
-
-/** This object is a logical parent of a target object. This relation is the reciprocal
- of the IA2_RELATION_NODE_CHILD_OF relation. In some cases an application's accessible
- tree is such that objects can be in a logical parent-child relationship which is
- different from the hierarchy of the accessible tree. */
-const WCHAR *const IA2_RELATION_NODE_PARENT_OF = L"nodeParentOf";
-
-/** This object is a parent window of the target object. */
-const WCHAR *const IA2_RELATION_PARENT_WINDOW_OF = L"parentWindowOf";
-
-/** This object is a transient component related to the target object.
- When this object is activated the target object doesn't lose focus.
-*/
-const WCHAR *const IA2_RELATION_POPUP_FOR = L"popupFor";
-
-/** The target object is the previous object in the tab order. */
-const WCHAR *const IA2_RELATION_PREVIOUS_TABBABLE = L"previousTabbable";
-
-/** This object is a sub window of a target object. */
-const WCHAR *const IA2_RELATION_SUBWINDOW_OF = L"subwindowOf";
-
-///@}
-
-/** This interface gives access to an object's set of relations.
-*/
-[object, uuid(7CDF86EE-C3DA-496a-BDA4-281B336E1FDC)]
-interface IAccessibleRelation : IUnknown
-{
- /** @brief Returns the type of the relation.
- @param [out] relationType
- The strings returned are defined @ref grpRelations "in this section of the documentation".
- @retval S_OK
- */
- [propget] HRESULT relationType
- (
- [out, retval] BSTR *relationType
- );
-
- /** @brief Returns a localized version of the relation type.
- @param [out] localizedRelationType
- @retval S_OK
- */
- [propget] HRESULT localizedRelationType
- (
- [out, retval] BSTR *localizedRelationType
- );
-
- /** @brief Returns the number of targets for this relation.
- @param [out] nTargets
- @retval S_OK
- */
- [propget] HRESULT nTargets
- (
- [out, retval] long *nTargets
- );
-
- /** @brief Returns one accessible relation target.
- @param [in] targetIndex
- 0 based index
- @param [out] target
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed
- @note Use QueryInterface to get IAccessible2.
- */
- [propget] HRESULT target
- (
- [in] long targetIndex,
- [out, retval] IUnknown **target
- );
-
- /** @brief Returns multiple accessible relation targets
- @param [in] maxTargets
- maximum size of the array allocated by the client
- @param [out] targets
- The array of target objects. Note that this array is to be allocated by the
- client and freed when no longer needed. Refer to @ref _arrayConsideration
- "Special Consideration when using Arrays" for more details. You will need to use
- QueryInterface on the IUnknown to get the IAccessible2.
- @param [out] nTargets
- actual number of targets in the returned array (not more than maxTargets)
- @retval S_OK
- @retval E_INVALIDARG if bad [in] passed, e.g. a negative value
- */
- [propget] HRESULT targets
- (
- [in] long maxTargets,
- [out, size_is(maxTargets), length_is(*nTargets)]
- IUnknown **targets,
- [out, retval] long *nTargets
- );
-
-}
diff --git a/Source/WebKit/win/Interfaces/Accessible2/AccessibleStates.idl b/Source/WebKit/win/Interfaces/Accessible2/AccessibleStates.idl
deleted file mode 100644
index 8637174d3..000000000
--- a/Source/WebKit/win/Interfaces/Accessible2/AccessibleStates.idl
+++ /dev/null
@@ -1,209 +0,0 @@
-/*************************************************************************
- *
- * File Name (AccessibleStates.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, 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.
- *
- * 3. Neither the name of the Linux Foundation 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 HOLDER 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.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
-import "objidl.idl";
-
-typedef long AccessibleStates;
-
-/** %IAccessible2 specific state bit constants
-
- This enum defines the state bits returned by IAccessible2::states. The
- %IAccessible2 state bits are in addition to those returned by MSAA.
-*/
-enum IA2States {
-
-/** Indicates a window is currently the active window, or is an active subelement
- within a container or table.
-
- This state can be used to indicate the current active item in a container, even
- if the container itself is not currently active. In other words this would indicate
- the item that will get focus if you tab to the container.
-
- This information is important for knowing what to report for trees and potentially
- other containers in a virtual buffer.
-
- Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
-*/
-IA2_STATE_ACTIVE = 0x1,
-
-/** Indicates that the object is armed.
-
- Used to indicate that the control is "pressed" and will be invoked when the
- actuator, e.g. a mouse button, is "released". An AT which either monitors the
- mouse or synthesizes mouse events might need to know that, and possibly a talking
- interface would even let the user know about it. It could also potentially be
- useful to on screen keyboards or test tools since the information does indicate
- something about the state of the interface, for example, code operating asynchronously
- might need to wait for the armed state to change before doing something else.
-
-*/
-IA2_STATE_ARMED = 0x2,
-
-/** Indicates the user interface object corresponding to this object no longer exists. */
-IA2_STATE_DEFUNCT = 0x4,
-
-/** An object with this state has a caret and implements the IAccessibleText interface.
-
- Such fields may be read-only, so STATE_SYSTEM_READONLY is valid in combination
- with IA2_STATE_EDITABLE.
-
-*/
-IA2_STATE_EDITABLE = 0x8,
-
-/** Indicates the orientation of this object is horizontal. */
-IA2_STATE_HORIZONTAL = 0x10,
-
-/** Indicates this object is minimized and is represented only by an icon. */
-IA2_STATE_ICONIFIED = 0x20,
-
-/** Indicates an input validation failure. */
-IA2_STATE_INVALID_ENTRY = 0x40,
-
-/** Indicates that this object manages its children.
-
- Note: Due to the fact that MSAA's WinEvents don't allow the active child index
- to be passed on the IA2_EVENT_ACTIVE_DESCENDANT_CHANGED event, the manages
- descendants scheme can't be used. Instead the active child object has to fire
- MSAA's EVENT_OBJECT_FOCUS. In a future release a new event mechanism may be
- added to provide for event specific data to be passed with the event. At that
- time the IA2_EVENT_ACTIVE_DECENDENT_CHANGED event and
- IA2_STATE_MANAGES_DESCENDANTS state would be useful.
-*/
-IA2_STATE_MANAGES_DESCENDANTS = 0x80,
-
-/** Indicates that an object is modal.
-
- Modal objects have the behavior that something must be done with the object
- before the user can interact with an object in a different window.
-*/
-IA2_STATE_MODAL = 0x100,
-
-/** Indicates this text object can contain multiple lines of text. */
-IA2_STATE_MULTI_LINE = 0x200,
-
-/** Indicates this object paints every pixel within its rectangular region. */
-IA2_STATE_OPAQUE = 0x400,
-
-/** Indicates that user interaction is required.
-
- An example of when this state is used is when a field in a form must be filled
- before a form can be processed.
-*/
-IA2_STATE_REQUIRED = 0x800,
-
-/** Indicates an object which supports text selection.
-
- Note: This is different than MSAA STATE_SYSTEM_SELECTABLE.
-*/
-IA2_STATE_SELECTABLE_TEXT = 0x1000,
-
-/** Indicates that this text object can contain only a single line of text. */
-IA2_STATE_SINGLE_LINE = 0x2000,
-
-/** Indicates that the accessible object is stale.
-
- This state is used when the accessible object no longer accurately
- represents the state of the object which it is representing such as when an
- object is transient or when an object has been or is in the process of being
- destroyed or when the object's index in its parent has changed.
-*/
-IA2_STATE_STALE = 0x4000,
-
-/** Indicates that the object implements autocompletion.
-
- This state indicates that a text control will respond to the input of
- one ore more characters and cause a sub-item to become selected. The
- selection may also result in events fired on the parent object.
-*/
-IA2_STATE_SUPPORTS_AUTOCOMPLETION = 0x8000,
-
-/** Indicates this object is transient.
-
- An object has this state when its parent object has the state ::IA2_STATE_MANAGES_DESCENDANTS.
- For example, a list item object may be managed by its parent list object and may only
- exist as long as the object is actually rendered. Similarly a table cell's accessible
- object may exist only while the cell has focus. However, from the perspective of an
- assistive technology a transient object behaves like a non-transient object. As a
- result it is likely that this state is not of use to an assistive technology, but it
- is provided in case an assistive technology determines that knowledge of the transient
- nature of the object is useful and also for harmony with the Linux accessibility API.
-
- Also, see ::IA2_STATE_MANAGES_DESCENDANTS for more information.
- */
-IA2_STATE_TRANSIENT = 0x10000,
-
-/** Indicates the orientation of this object is vertical. */
-IA2_STATE_VERTICAL = 0x20000,
-
-/** Indicates this object is checkable.
-
- The standard checkable objects are check boxes, radio buttons, check box menu
- items, radio menu items, and toggle buttons. Since assistive technology will
- determine that these objects are checkable via the object's role the checkable
- state is not required. However, this state is necessary in those cases where
- an object has a role which is not one of the previously mentioned roles. An
- example is a table cell which indicates whether or not an email has an attachment,
- whether or not an mail is considered spam, and whether or not an email has been read.
- */
-IA2_STATE_CHECKABLE = 0x40000,
-
-/** Indicates this object is pinned.
-
- This state indicates that an object is fixed at a certain location. One example
- is a browser tab that when pinned cannot be moved until unpinned. Another example
- is a movable or floating object that when pinned remains in its pinned location
- until being unpinned.
- */
-IA2_STATE_PINNED = 0x80000
-
-};
diff --git a/Source/WebKit/win/Interfaces/Accessible2/IA2CommonTypes.idl b/Source/WebKit/win/Interfaces/Accessible2/IA2CommonTypes.idl
deleted file mode 100644
index 8a12af439..000000000
--- a/Source/WebKit/win/Interfaces/Accessible2/IA2CommonTypes.idl
+++ /dev/null
@@ -1,191 +0,0 @@
-/*************************************************************************
- *
- * File Name (IA2CommonTypes.idl)
- *
- * IAccessible2 IDL Specification
- *
- * Copyright (c) 2007, 2010 Linux Foundation
- * Copyright (c) 2006 IBM Corporation
- * Copyright (c) 2000, 2006 Sun Microsystems, 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.
- *
- * 3. Neither the name of the Linux Foundation 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 HOLDER 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.
- *
- * This BSD License conforms to the Open Source Initiative "Simplified
- * BSD License" as published at:
- * http://www.opensource.org/licenses/bsd-license.php
- *
- * IAccessible2 is a trademark of the Linux Foundation. The IAccessible2
- * mark may be used in accordance with the Linux Foundation Trademark
- * Policy to indicate compliance with the IAccessible2 specification.
- *
- ************************************************************************/
-
- /** These constants control the scrolling of an object or substring into a window.
-
- This enum is used in IAccessible2::scrollTo and IAccessibleText::scrollSubstringTo.
-*/
-enum IA2ScrollType {
-
- /** Scroll the top left corner of the object or substring such that the top left
- corner (and as much as possible of the rest of the object or substring) is within
- the top level window. In cases where the entire object or substring fits within
- the top level window, the placement of the object or substring is dependent on
- the application. For example, the object or substring may be scrolled to the
- closest edge, the furthest edge, or midway between those two edges. In cases
- where there is a hierarchy of nested scrollable controls, more than one control
- may have to be scrolled.
- */
- IA2_SCROLL_TYPE_TOP_LEFT,
-
- /** Scroll the bottom right corner of the object or substring such that the bottom right
- corner (and as much as possible of the rest of the object or substring) is within
- the top level window. In cases where the entire object or substring fits within
- the top level window, the placement of the object or substring is dependent on
- the application. For example, the object or substring may be scrolled to the
- closest edge, the furthest edge, or midway between those two edges. In cases
- where there is a hierarchy of nested scrollable controls, more than one control
- may have to be scrolled.
- */
- IA2_SCROLL_TYPE_BOTTOM_RIGHT,
-
- /** Scroll the top edge of the object or substring such that the top edge
- (and as much as possible of the rest of the object or substring) is within the
- top level window. In cases where the entire object or substring fits within
- the top level window, the placement of the object or substring is dependent on
- the application. For example, the object or substring may be scrolled to the
- closest edge, the furthest edge, or midway between those two edges. In cases
- where there is a hierarchy of nested scrollable controls, more than one control
- may have to be scrolled.
- */
- IA2_SCROLL_TYPE_TOP_EDGE,
-
- /** Scroll the bottom edge of the object or substring such that the bottom edge
- (and as much as possible of the rest of the object or substring) is within the
- top level window. In cases where the entire object or substring fits within
- the top level window, the placement of the object or substring is dependent on
- the application. For example, the object or substring may be scrolled to the
- closest edge, the furthest edge, or midway between those two edges. In cases
- where there is a hierarchy of nested scrollable controls, more than one control
- may have to be scrolled.
- */
- IA2_SCROLL_TYPE_BOTTOM_EDGE,
-
- /** Scroll the left edge of the object or substring such that the left edge
- (and as much as possible of the rest of the object or substring) is within the
- top level window. In cases where the entire object or substring fits within
- the top level window, the placement of the object or substring is dependent on
- the application. For example, the object or substring may be scrolled to the
- closest edge, the furthest edge, or midway between those two edges. In cases
- where there is a hierarchy of nested scrollable controls, more than one control
- may have to be scrolled.
- */
- IA2_SCROLL_TYPE_LEFT_EDGE,
-
- /** Scroll the right edge of the object or substring such that the right edge
- (and as much as possible of the rest of the object or substring) is within the
- top level window. In cases where the entire object or substring fits within
- the top level window, the placement of the object or substring is dependent on
- the application. For example, the object or substring may be scrolled to the
- closest edge, the furthest edge, or midway between those two edges. In cases
- where there is a hierarchy of nested scrollable controls, more than one control
- may have to be scrolled.
- */
- IA2_SCROLL_TYPE_RIGHT_EDGE,
-
- /** Scroll the object or substring such that as much as possible of the
- object or substring is within the top level window. The placement of
- the object is dependent on the application. For example, the object or
- substring may be scrolled to to closest edge, the furthest edge, or midway
- between those two edges.
- */
- IA2_SCROLL_TYPE_ANYWHERE
-};
-
-/** These constants define which coordinate system a point is located in.
-
- This enum is used in IAccessible2::scrollToPoint, IAccessibleImage::imagePosition,
- IAccessibleText::characterExtents, and IAccessibleText::offsetAtPoint, and
- IAccessibleText::scrollSubstringToPoint.
-*/
-enum IA2CoordinateType {
-
- /// The coordinates are relative to the screen.
- IA2_COORDTYPE_SCREEN_RELATIVE,
-
- /** The coordinates are relative to the upper left corner of the bounding box
- of the immediate parent.
- */
- IA2_COORDTYPE_PARENT_RELATIVE
-
-};
-
-/** Special offsets for use in IAccessibleText and IAccessibleEditableText methods
-
- Refer to @ref _specialOffsets
- "Special Offsets for use in the IAccessibleText and IAccessibleEditableText Methods"
- for more information.
-*/
-enum IA2TextSpecialOffsets {
- IA2_TEXT_OFFSET_LENGTH = -1, /**< This offset is equivalent to the length of the string. It eliminates
- the need to call IAccessibleText::nCharacters. */
- IA2_TEXT_OFFSET_CARET = -2 /**< This offset signifies that the text related to the physical location
- of the caret should be used. */
-};
-
-/** These constants specify the kind of change made to a table.
-
- This enum is used in the IA2TableModelChange struct which in turn is used by
- IAccessibleTable::modelChange and IAccessibleTable2::modelChange.
-*/
-enum IA2TableModelChangeType {
- IA2_TABLE_MODEL_CHANGE_INSERT, // = 0;
- IA2_TABLE_MODEL_CHANGE_DELETE,
- IA2_TABLE_MODEL_CHANGE_UPDATE
-};
-
-/** A structure defining the type of and extents of changes made to a table
-
- IAccessibleTable::modelChange and IAccessibleTable2::modelChange return this struct.
- In the case of an insertion or change the row and column offsets define the boundaries
- of the inserted or changed subtable after the operation. In the case of a deletion
- the row and column offsets define the boundaries of the subtable being removed before
- the removal.
-*/
-typedef struct IA2TableModelChange {
- enum IA2TableModelChangeType type; // insert, delete, update
- long firstRow; ///< 0 based, inclusive
- long lastRow; ///< 0 based, inclusive
- long firstColumn; ///< 0 based, inclusive
- long lastColumn; ///< 0 based, inclusive
-} IA2TableModelChange;
diff --git a/Source/WebKit/win/Interfaces/AccessibleComparable.idl b/Source/WebKit/win/Interfaces/AccessibleComparable.idl
deleted file mode 100644
index 0348f8f4f..000000000
--- a/Source/WebKit/win/Interfaces/AccessibleComparable.idl
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-import "oleacc.idl";
-import "Accessible2_2.idl";
-
-cpp_quote("extern const GUID __declspec(selectany) SID_AccessibleComparable = { 0x62b8cb5f, 0xfb7a, 0x4faf, 0x81, 0xe8, 0x52, 0xb6, 0x5f, 0x12, 0x8b, 0x31 };")
-
-[
- object,
- uuid(4f0381ad-dab3-42ad-9ca2-a85b0ae041c0),
- hidden,
- dual,
- pointer_default(unique)
-]
-interface IAccessibleComparable : IAccessible2_2
-{
- HRESULT isSameObject([in] IAccessibleComparable* other, [out, retval] BOOL* result);
-}
diff --git a/Source/WebKit/win/Interfaces/DOMCSS.idl b/Source/WebKit/win/Interfaces/DOMCSS.idl
deleted file mode 100644
index 37270185b..000000000
--- a/Source/WebKit/win/Interfaces/DOMCSS.idl
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "DOMCore.idl";
-import "IWebScriptObject.idl";
-#endif
-
-interface IDOMObject;
-interface IDOMCSSValue;
-interface IDOMCSSStyleDeclaration;
-interface IDOMCSSStyleSheet;
-interface IDOMCSSRule;
-interface IDOMElement;
-
-/*
- @interface DOMDocument (DOMViewCSS)
-*/
-[
- object,
- oleautomation,
- uuid(43EFE238-A4DF-400a-983D-FCE0C0F56BCD),
- pointer_default(unique)
-]
-interface IDOMViewCSS : IUnknown
-{
- /*
- - (DOMCSSStyleDeclaration *)getComputedStyle:(DOMElement *)elt :(NSString *)pseudoElt;
- */
- HRESULT getComputedStyle([in] IDOMElement* elt, [in] BSTR pseudoElt, [out, retval] IDOMCSSStyleDeclaration** result);
-}
-
-/*
- @interface DOMCSSRuleList : DOMObject
-*/
-[
- object,
- oleautomation,
- uuid(D45DA43D-5EDB-4315-A097-3ED3FA089193),
- pointer_default(unique)
-]
-interface IDOMCSSRuleList : IDOMObject
-{
- /*
- - (unsigned)length;
- */
- HRESULT length([out, retval] UINT* result);
-
- /*
- - (DOMCSSRule *)item:(unsigned)index;
- */
- HRESULT item([in] UINT index, [out, retval] IDOMCSSRule** result);
-}
-
-/*
- @interface DOMCSSRule : DOMObject
-*/
-[
- object,
- oleautomation,
- uuid(05947A31-9E1C-4c98-8608-6688959D6542),
- pointer_default(unique)
-]
-interface IDOMCSSRule : IDOMObject
-{
- /*
- - (unsigned short)type;
- */
- HRESULT type([out, retval] unsigned short* result);
-
- /*
- - (NSString *)cssText;
- */
- HRESULT cssText([out, retval] BSTR* text);
-
- /*
- - (void)setCssText:(NSString *)cssText;
- */
- HRESULT setCssText([in] BSTR cssText);
-
- /*
- - (DOMCSSStyleSheet *)parentStyleSheet;
- */
- HRESULT parentStyleSheet([out, retval] IDOMCSSStyleSheet** sheet);
-
- /*
- - (DOMCSSRule *)parentRule;
- */
- HRESULT parentRule([out, retval] IDOMCSSRule** rule);
-}
-
-/*
- @interface DOMCSSStyleDeclaration : DOMObject
-*/
-[
- object,
- oleautomation,
- uuid(DBBE9A6B-D505-4647-B4AB-40A7CF3EE63E),
- pointer_default(unique)
-]
-interface IDOMCSSStyleDeclaration : IDOMObject
-{
- /*
- - (NSString *)cssText;
- */
- HRESULT cssText([out, retval] BSTR* result);
-
- /*
- - (void)setCssText:(NSString *)cssText;
- */
- HRESULT setCssText([in] BSTR cssText);
-
- /*
- - (NSString *)getPropertyValue:(NSString *)propertyName;
- */
- HRESULT getPropertyValue([in] BSTR propertyName, [out, retval] BSTR* result);
-
- /*
- - (DOMCSSValue *)getPropertyCSSValue:(NSString *)propertyName;
- */
- HRESULT getPropertyCSSValue([in] BSTR propertyName, [out, retval] IDOMCSSValue** result);
-
- /*
- - (NSString *)removeProperty:(NSString *)propertyName;
- */
- HRESULT removeProperty([in] BSTR propertyName, [out, retval] BSTR* result);
-
- /*
- - (NSString *)getPropertyPriority:(NSString *)propertyName;
- */
- HRESULT getPropertyPriority([in] BSTR propertyName, [out, retval] BSTR* result);
-
- /*
- - (void)setProperty:(NSString *)propertyName :(NSString *)value :(NSString *)priority;
- */
- HRESULT setProperty([in] BSTR propertyName, [in] BSTR value, [in] BSTR priority);
-
- /*
- - (unsigned)length;
- */
- HRESULT length([out, retval] UINT* result);
-
- /*
- - (NSString *)item:(unsigned)index;
- */
- HRESULT item([in] UINT index, [out, retval] BSTR* result);
-
- /*
- - (DOMCSSRule *)parentRule;
- */
- HRESULT parentRule([out, retval] IDOMCSSRule** result);
-}
-
-/*
- @interface DOMCSSValue : DOMObject
-*/
-[
- object,
- oleautomation,
- uuid(51D29553-2AF7-4f52-AFE6-3C59196A8BAA),
- pointer_default(unique)
-]
-interface IDOMCSSValue : IDOMObject
-{
- /*
- - (NSString *)cssText;
- */
- HRESULT cssText([out, retval] BSTR* text);
-
- /*
- - (void)setCssText:(NSString *)cssText;
- */
- HRESULT setCssText([in] BSTR text);
-
- /*
- - (unsigned short)cssValueType;
- */
- HRESULT cssValueType([out, retval] unsigned short *valueType);
-}
-
-/*
- @interface DOMCSSStyleSheet : DOMStyleSheet
-*/
-[
- object,
- oleautomation,
- uuid(14B1C213-1458-48a1-AD8F-54BFE64F9ECF),
- pointer_default(unique)
-]
-interface IDOMCSSStyleSheet : IDOMObject
-{
- /*
- - (DOMCSSRule *)ownerRule;
- */
- HRESULT ownerRule([out, retval] IDOMCSSRule** rule);
-
- /*
- - (DOMCSSRuleList *)cssRules;
- */
- HRESULT cssRules([out, retval] IDOMCSSRuleList** ruleList);
-
- /*
- - (unsigned)insertRule:(NSString *)rule :(unsigned)index;
- */
- HRESULT insertRule([in] BSTR rule, [in] UINT index, [out, retval] UINT* result);
-
- /*
- - (void)deleteRule:(unsigned)index;
- */
- HRESULT deleteRule([in] UINT index);
-}
-
-/*
- @interface DOMElement (DOMElementCSSInlineStyle)
-*/
-[
- object,
- oleautomation,
- uuid(585127E2-D698-44c4-83EC-4D1E6E07E90D),
- pointer_default(unique)
-]
-interface IDOMElementCSSInlineStyle : IUnknown
-{
- /*
- - (DOMCSSStyleDeclaration *)style;
- */
- HRESULT style([out, retval] IDOMCSSStyleDeclaration** result);
-}
diff --git a/Source/WebKit/win/Interfaces/DOMCore.idl b/Source/WebKit/win/Interfaces/DOMCore.idl
deleted file mode 100644
index 09f61fbaf..000000000
--- a/Source/WebKit/win/Interfaces/DOMCore.idl
+++ /dev/null
@@ -1,828 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebScriptObject.idl";
-#endif
-
-interface IWebScriptObject;
-interface IDOMNodeList;
-interface IDOMNamedNodeMap;
-interface IDOMDocumentType;
-interface IDOMElement;
-interface IDOMDocumentFragment;
-interface IDOMText;
-interface IDOMComment;
-interface IDOMCDATASection;
-interface IDOMProcessingInstruction;
-interface IDOMAttr;
-interface IDOMEntityReference;
-interface IDOMDocument;
-interface IDOMCSSStyleDeclaration;
-/*
- @interface DOMObject : WebScriptObject <NSCopying>
-*/
-[
- object,
- oleautomation,
- uuid(A27FA225-F34E-425d-88EB-A35BD105A527),
- pointer_default(unique)
-]
-interface IDOMObject : IWebScriptObject
-{
-}
-
-/*
- @interface DOMImplementation : DOMObject
-*/
-[
- object,
- oleautomation,
- uuid(6E48C25D-E542-4d1a-BC73-ACDC21E39C56),
- pointer_default(unique)
-]
-interface IDOMImplementation : IDOMObject
-{
- /*
- - (BOOL)hasFeature:(NSString *)feature :(NSString *)version;
- */
- HRESULT hasFeature([in] BSTR feature, [in] BSTR version, [out, retval] BOOL* result);
-
- /*
- - (DOMDocumentType *)createDocumentType:(NSString *)qualifiedName :(NSString *)publicId :(NSString *)systemId;
- */
- HRESULT createDocumentType([in] BSTR qualifiedName, [in] BSTR publicId, [in] BSTR systemId, [out, retval] IDOMDocumentType** result);
-
- /*
- - (DOMDocument *)createDocument:(NSString *)namespaceURI :(NSString *)qualifiedName :(DOMDocumentType *)doctype;
- */
- HRESULT createDocument([in] BSTR namespaceURI, [in] BSTR qualifiedName, [in] IDOMDocumentType* doctype, [out, retval] IDOMDocument** result);
-}
-
-/*
- @interface DOMNode : DOMObject <DOMEventTarget>
-*/
-[
- object,
- oleautomation,
- uuid(3EEA3E20-72DA-4be7-954F-79B5A14AD726),
- pointer_default(unique)
-]
-interface IDOMNode : IDOMObject
-{
- /*
- - (NSString *)nodeName;
- */
- HRESULT nodeName([out, retval] BSTR* result);
-
- /*
- - (NSString *)nodeValue;
- */
- HRESULT nodeValue([out, retval] BSTR* result);
-
- /*
- - (void)setNodeValue:(NSString *)string;
- */
- HRESULT setNodeValue([in] BSTR value);
-
- /*
- - (unsigned short)nodeType;
- */
- HRESULT nodeType([out, retval] unsigned short* result);
-
- /*
- - (DOMNode *)parentNode;
- */
- HRESULT parentNode([out, retval] IDOMNode** result);
-
- /*
- - (DOMNodeList *)childNodes;
- */
- HRESULT childNodes([out, retval] IDOMNodeList** result);
-
- /*
- - (DOMNode *)firstChild;
- */
- HRESULT firstChild([out, retval] IDOMNode** result);
-
- /*
- - (DOMNode *)lastChild;
- */
- HRESULT lastChild([out, retval] IDOMNode** result);
-
- /*
- - (DOMNode *)previousSibling;
- */
- HRESULT previousSibling([out, retval] IDOMNode** result);
-
- /*
- - (DOMNode *)nextSibling;
- */
- HRESULT nextSibling([out, retval] IDOMNode** result);
-
- /*
- - (DOMNamedNodeMap *)attributes;
- */
- HRESULT attributes([out, retval] IDOMNamedNodeMap** result);
-
- /*
- - (DOMDocument *)ownerDocument;
- */
- HRESULT ownerDocument([out, retval] IDOMDocument** result);
-
- /*
- - (DOMNode *)insertBefore:(DOMNode *)newChild :(DOMNode *)refChild;
- */
- HRESULT insertBefore([in] IDOMNode* newChild, [in] IDOMNode* refChild, [out, retval] IDOMNode** result);
-
- /*
- - (DOMNode *)replaceChild:(DOMNode *)newChild :(DOMNode *)oldChild;
- */
- HRESULT replaceChild([in] IDOMNode* newChild, [in] IDOMNode* oldChild, [out, retval] IDOMNode** result);
-
- /*
- - (DOMNode *)removeChild:(DOMNode *)oldChild;
- */
- HRESULT removeChild([in] IDOMNode* oldChild, [out, retval] IDOMNode** result);
-
- /*
- - (DOMNode *)appendChild:(DOMNode *)newChild;
- */
- HRESULT appendChild([in] IDOMNode* oldChild, [out, retval] IDOMNode** result);
-
- /*
- - (BOOL)hasChildNodes;
- */
- HRESULT hasChildNodes([out, retval] BOOL* result);
-
- /*
- - (DOMNode *)cloneNode:(BOOL)deep;
- */
- HRESULT cloneNode([in] BOOL deep, [out, retval] IDOMNode** result);
-
- /*
- - (void)normalize;
- */
- HRESULT normalize();
-
- /*
- - (BOOL)isSupported:(NSString *)feature :(NSString *)version;
- */
- HRESULT isSupported([in] BSTR feature, [in] BSTR version, [out, retval] BOOL* result);
-
- /*
- - (NSString *)namespaceURI;
- */
- HRESULT namespaceURI([out, retval] BSTR* result);
-
- /*
- - (NSString *)prefix;
- */
- HRESULT prefix([out, retval] BSTR* result);
-
- /*
- - (void)setPrefix:(NSString *)prefix;
- */
- HRESULT setPrefix([in] BSTR prefix);
-
- /*
- - (NSString *)localName;
- */
- HRESULT localName([out, retval] BSTR* result);
-
- /*
- - (BOOL)hasAttributes;
- */
- HRESULT hasAttributes([out, retval] BOOL* result);
-
- /*
- - (BOOL)isSameNode:(DOMNode *)other;
- */
- HRESULT isSameNode([in] IDOMNode* other, [out, retval] BOOL* result);
-
- /*
- - (BOOL)isEqualNode:(DOMNode *)other;
- */
- HRESULT isEqualNode([in] IDOMNode* other, [out, retval] BOOL* result);
-
- /*
- - (NSString *)textContent;
- */
- HRESULT textContent([out, retval] BSTR* result);
-
- /*
- - (void)setTextContent:(NSString *)text;
- */
- HRESULT setTextContent([in] BSTR text);
-}
-
-/*
- @interface DOMNodeList : DOMObject
-*/
-[
- object,
- oleautomation,
- uuid(10A05A96-CBD9-4493-83AD-FAFB952615CE),
- pointer_default(unique)
-]
-interface IDOMNodeList : IDOMObject
-{
- /*
- - (DOMNode *)item:(unsigned)index;
- */
- HRESULT item([in] UINT index, [out, retval] IDOMNode** result);
-
- /*
- - (unsigned)length;
- */
- HRESULT length([out, retval] UINT* result);
-}
-
-/*
- @interface DOMNamedNodeMap : DOMObject
-*/
-[
- object,
- oleautomation,
- uuid(E6CBF396-C9F9-431b-A8D6-BCB525067E9F),
- pointer_default(unique)
-]
-interface IDOMNamedNodeMap : IDOMObject
-{
- /*
- - (DOMNode *)getNamedItem:(NSString *)name;
- */
- HRESULT getNamedItem([in] BSTR name, [out, retval] IDOMNode** result);
-
- /*
- - (DOMNode *)setNamedItem:(DOMNode *)arg;
- */
- HRESULT setNamedItem([in] IDOMNode* arg, [out, retval] IDOMNode** result);
-
- /*
- - (DOMNode *)removeNamedItem:(NSString *)name;
- */
- HRESULT removeNamedItem([in] BSTR name, [out, retval] IDOMNode** result);
-
- /*
- - (DOMNode *)item:(unsigned)index;
- */
- HRESULT item([in] UINT index, [out, retval] IDOMNode** result);
-
- /*
- - (unsigned)length;
- */
- HRESULT length([out, retval] UINT* result);
-
- /*
- - (DOMNode *)getNamedItemNS:(NSString *)namespaceURI :(NSString *)localName;
- */
- HRESULT getNamedItemNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] IDOMNode** result);
-
- /*
- - (DOMNode *)setNamedItemNS:(DOMNode *)arg;
- */
- HRESULT setNamedItemNS([in] IDOMNode* arg, [out, retval] IDOMNode** result);
-
- /*
- - (DOMNode *)removeNamedItemNS:(NSString *)namespaceURI :(NSString *)localName;
- */
- HRESULT removeNamedItemNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] IDOMNode** result);
-}
-
-/*
- @interface DOMDocument : IDOMNode
-*/
-[
- object,
- oleautomation,
- uuid(A83C2C44-0BAC-45c7-8E17-6A49975D5CCA),
- pointer_default(unique)
-]
-interface IDOMDocument : IDOMNode
-{
- /*
- - (DOMDocumentType *)doctype;
- */
- HRESULT doctype([out, retval] IDOMDocumentType** result);
-
- /*
- - (DOMImplementation *)implementation;
- */
- HRESULT implementation([out, retval] IDOMImplementation** result);
-
- /*
- - (DOMElement *)documentElement;
- */
- HRESULT documentElement([out, retval] IDOMElement** result);
-
- /*
- - (DOMElement *)createElement:(NSString *)tagName;
- */
- HRESULT createElement([in] BSTR tagName, [out, retval] IDOMElement** result);
-
- /*
- - (DOMDocumentFragment *)createDocumentFragment;
- */
- HRESULT createDocumentFragment([out, retval] IDOMDocumentFragment** result);
-
- /*
- - (DOMText *)createTextNode:(NSString *)data;
- */
- HRESULT createTextNode([in] BSTR data, [out, retval] IDOMText** result);
-
- /*
- - (DOMComment *)createComment:(NSString *)data;
- */
- HRESULT createComment([in] BSTR data, [out, retval] IDOMComment** result);
-
- /*
- - (DOMCDATASection *)createCDATASection:(NSString *)data;
- */
- HRESULT createCDATASection([in] BSTR data, [out, retval] IDOMCDATASection** result);
-
- /*
- - (DOMProcessingInstruction *)createProcessingInstruction:(NSString *)target :(NSString *)data;
- */
- HRESULT createProcessingInstruction([in] BSTR target, [in] BSTR data, [out, retval] IDOMProcessingInstruction** result);
-
- /*
- - (DOMAttr *)createAttribute:(NSString *)name;
- */
- HRESULT createAttribute([in] BSTR name, [out, retval] IDOMAttr** result);
-
- /*
- - (DOMEntityReference *)createEntityReference:(NSString *)name;
- */
- HRESULT createEntityReference([in] BSTR name, [out, retval] IDOMEntityReference** result);
-
- /*
- - (DOMNodeList *)getElementsByTagName:(NSString *)tagname;
- */
- HRESULT getElementsByTagName([in] BSTR tagName, [out, retval] IDOMNodeList** result);
-
- /*
- - (DOMNode *)importNode:(DOMNode *)importedNode :(BOOL)deep;
- */
- HRESULT importNode([in] IDOMNode* importedNode, [in] BOOL deep, [out, retval] IDOMNode** result);
-
- /*
- - (DOMElement *)createElementNS:(NSString *)namespaceURI :(NSString *)qualifiedName;
- */
- HRESULT createElementNS([in] BSTR namespaceURI, [in] BSTR qualifiedName, [out, retval] IDOMElement** result);
-
- /*
- - (DOMAttr *)createAttributeNS:(NSString *)namespaceURI :(NSString *)qualifiedName;
- */
- HRESULT createAttributeNS([in] BSTR namespaceURI, [in] BSTR qualifiedName, [out, retval] IDOMAttr** result);
-
- /*
- - (DOMNodeList *)getElementsByTagNameNS:(NSString *)namespaceURI :(NSString *)localName;
- */
- HRESULT getElementsByTagNameNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] IDOMNodeList** result);
-
- /*
- - (DOMElement *)getElementById:(NSString *)elementId;
- */
- HRESULT getElementById([in] BSTR elementId, [out, retval] IDOMElement** result);
-}
-
-/*
- @interface DOMCharacterData : IDOMNode
-*/
-[
- object,
- oleautomation,
- uuid(F4DED047-FE61-461a-BDBD-BB87F79DB713),
- pointer_default(unique)
-]
-interface IDOMCharacterData : IDOMNode
-{
- /*
- - (NSString *)data;
- */
- HRESULT data([out, retval] BSTR* result);
-
- /*
- - (void)setData:(NSString *)data;
- */
- HRESULT setData([in] BSTR data);
-
- /*
- - (unsigned)length;
- */
- HRESULT length([out, retval] UINT* result);
-
- /*
- - (NSString *)substringData:(unsigned)offset :(unsigned)count;
- */
- HRESULT substringData([in] UINT offset, [in] UINT count, [out, retval] BSTR* result);
-
- /*
- - (void)appendData:(NSString *)arg;
- */
- HRESULT appendData([in] BSTR arg);
-
- /*
- - (void)insertData:(unsigned)offset :(NSString *)arg;
- */
- HRESULT insertData([in] UINT offset, [in] BSTR arg);
-
- /*
- - (void)deleteData:(unsigned)offset :(unsigned) count;
- */
- HRESULT deleteData([in] UINT offset, [in] UINT count);
-
- /*
- - (void)replaceData:(unsigned)offset :(unsigned)count :(NSString *)arg;
- */
- HRESULT replaceData([in] UINT offset, [in] UINT count, [in] BSTR arg);
-}
-
-/*
- @interface DOMAttr : IDOMNode
-*/
-[
- object,
- oleautomation,
- uuid(B587E098-8206-4b5a-A7DB-422F218571A0),
- pointer_default(unique)
-]
-interface IDOMAttr : IDOMNode
-{
- /*
- - (NSString *)name;
- */
- HRESULT name([out, retval] BSTR* result);
-
- /*
- - (BOOL)specified;
- */
- HRESULT specified([out, retval] BOOL* result);
-
- /*
- - (NSString *)value;
- */
- HRESULT value([out, retval] BSTR* value);
-
- /*
- - (void)setValue:(NSString *)value;
- */
- HRESULT setValue([in] BSTR value);
-
- /*
- - (DOMElement *)ownerElement;
- */
- HRESULT ownerElement([out, retval] IDOMElement** result);
-}
-
-/*
- @interface DOMElement : IDOMNode
-*/
-[
- object,
- oleautomation,
- uuid(E053A35B-7775-4859-80EA-C35D02D145A2),
- pointer_default(unique)
-]
-interface IDOMElement : IDOMNode
-{
- /*
- - (NSString *)tagName;
- */
- HRESULT tagName([out, retval] BSTR* result);
-
- /*
- - (NSString *)getAttribute:(NSString *)name;
- */
- HRESULT getAttribute([in] BSTR name, [out, retval] BSTR* result);
-
- /*
- - (void)setAttribute:(NSString *)name :(NSString *)value;
- */
- HRESULT setAttribute([in] BSTR name, [in] BSTR value);
-
- /*
- - (void)removeAttribute:(NSString *)name;
- */
- HRESULT removeAttribute([in] BSTR name);
-
- /*
- - (DOMAttr *)getAttributeNode:(NSString *)name;
- */
- HRESULT getAttributeNode([in] BSTR name, [out, retval] IDOMAttr** result);
-
- /*
- - (DOMAttr *)setAttributeNode:(DOMAttr *)newAttr;
- */
- HRESULT setAttributeNode([in] IDOMAttr* newAttr, [out, retval] IDOMAttr** result);
-
- /*
- - (DOMAttr *)removeAttributeNode:(DOMAttr *)oldAttr;
- */
- HRESULT removeAttributeNode([in] IDOMAttr* oldAttr, [out, retval] IDOMAttr** result);
-
- /*
- - (DOMNodeList *)getElementsByTagName:(NSString *)name;
- */
- HRESULT getElementsByTagName([in] BSTR name, [out, retval] IDOMNodeList** result);
-
- /*
- - (NSString *)getAttributeNS:(NSString *)namespaceURI :(NSString *)localName;
- */
- HRESULT getAttributeNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] BSTR* result);
-
- /*
- - (void)setAttributeNS:(NSString *)namespaceURI :(NSString *)qualifiedName :(NSString *)value;
- */
- HRESULT setAttributeNS([in] BSTR namespaceURI, [in] BSTR qualifiedName, [in] BSTR value);
-
- /*
- - (void)removeAttributeNS:(NSString *)namespaceURI :(NSString *)localName;
- */
- HRESULT removeAttributeNS([in] BSTR namespaceURI, [in] BSTR localName);
-
- /*
- - (DOMAttr *)getAttributeNodeNS:(NSString *)namespaceURI :(NSString *)localName;
- */
- HRESULT getAttributeNodeNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] IDOMAttr** result);
-
- /*
- - (DOMAttr *)setAttributeNodeNS:(DOMAttr *)newAttr;
- */
- HRESULT setAttributeNodeNS([in] IDOMAttr* newAttr, [out, retval] IDOMAttr** result);
-
- /*
- - (DOMNodeList *)getElementsByTagNameNS:(NSString *)namespaceURI :(NSString *)localName;
- */
- HRESULT getElementsByTagNameNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] IDOMNodeList** result);
-
- /*
- - (BOOL)hasAttribute:(NSString *)name;
- */
- HRESULT hasAttribute([in] BSTR name, [out, retval] BOOL* result);
-
- /*
- - (BOOL)hasAttributeNS:(NSString *)namespaceURI :(NSString *)localName;
- */
- HRESULT hasAttributeNS([in] BSTR namespaceURI, [in] BSTR localName, [out, retval] BOOL* result);
-
- /*
- - (void)focus;
- */
- HRESULT focus();
-
- /*
- - (void)blur;
- */
- HRESULT blur();
-}
-
-/*
- @interface DOMElement (DOMElementExtensions)
-*/
-[
- object,
- oleautomation,
- uuid(98E481F5-4405-4c2a-BF77-1CE95FE5F992),
- pointer_default(unique)
-]
-interface IDOMElementExtensions : IUnknown
-{
- /*
- - (int)offsetLeft;
- */
- HRESULT offsetLeft([out, retval] int* result);
-
- /*
- - (int)offsetTop;
- */
- HRESULT offsetTop([out, retval] int* result);
-
- /*
- - (int)offsetWidth;
- */
- HRESULT offsetWidth([out, retval] int* result);
-
- /*
- - (int)offsetHeight;
- */
- HRESULT offsetHeight([out, retval] int* result);
-
- /*
- - (DOMElement *)offsetParent;
- */
- HRESULT offsetParent([out, retval] IDOMElement** result);
-
- /*
- - (int)clientWidth;
- */
- HRESULT clientWidth([out, retval] int* result);
-
- /*
- - (int)clientHeight;
- */
- HRESULT clientHeight([out, retval] int* result);
-
- /*
- - (int)scrollLeft;
- */
- HRESULT scrollLeft([out, retval] int* result);
-
- /*
- - (void)setScrollLeft:(int)newScrollLeft;
- */
- HRESULT setScrollLeft([in] int newScrollLeft);
-
- /*
- - (int)scrollTop;
- */
- HRESULT scrollTop([out, retval] int* result);
-
- /*
- - (void)setScrollTop:(int)newScrollTop;
- */
- HRESULT setScrollTop([in] int newScrollTop);
-
- /*
- - (int)scrollWidth;
- */
- HRESULT scrollWidth([out, retval] int* result);
-
- /*
- - (int)scrollHeight;
- */
- HRESULT scrollHeight([out, retval] int* result);
-
- /*
- - (void)scrollIntoView:(BOOL)alignWithTop;
- */
- HRESULT scrollIntoView([in] BOOL alignWithTop);
-
- /*
- - (void)scrollIntoViewIfNeeded:(BOOL)centerIfNeeded;
- */
- HRESULT scrollIntoViewIfNeeded([in] BOOL centerIfNeeded);
-}
-
-/*
- @interface DOMText : DOMCharacterData
-*/
-[
- object,
- oleautomation,
- uuid(74638F45-1AA0-4db5-958C-82066E00BD2B),
- pointer_default(unique)
-]
-interface IDOMText : IDOMCharacterData
-{
- /*
- - (DOMText *)splitText:(unsigned)offset;
- */
- HRESULT splitText([in] UINT offset, [out, retval] IDOMText** result);
-}
-
-/*
- @interface DOMComment : DOMCharacterData
-*/
-[
- object,
- oleautomation,
- uuid(118002E8-847F-4b1a-968C-B25A6AC7B128),
- pointer_default(unique)
-]
-interface IDOMComment : IDOMCharacterData
-{
-}
-
-/*
- @interface DOMCDATASection : DOMText
-*/
-[
- object,
- oleautomation,
- uuid(31B506C1-45A3-4d72-815A-311B0A897E58),
- pointer_default(unique)
-]
-interface IDOMCDATASection : IDOMText
-{
-}
-
-/*
- @interface DOMDocumentType : IDOMNode
-*/
-[
- object,
- oleautomation,
- uuid(17FCE6EA-4164-4bd4-9DBF-0395FBF37FD3),
- pointer_default(unique)
-]
-interface IDOMDocumentType : IDOMNode
-{
- /*
- - (NSString *)name;
- */
- HRESULT name([out, retval] BSTR* result);
-
- /*
- - (DOMNamedNodeMap *)entities;
- */
- HRESULT entities([out, retval] IDOMNamedNodeMap** result);
-
- /*
- - (DOMNamedNodeMap *)notations;
- */
- HRESULT notations([out, retval] IDOMNamedNodeMap** result);
-
- /*
- - (NSString *)publicId;
- */
- HRESULT publicId([out, retval] BSTR* result);
-
- /*
- - (NSString *)systemId;
- */
- HRESULT systemId([out, retval] BSTR* result);
-
- /*
- - (NSString *)internalSubset;
- */
- HRESULT internalSubset([out, retval] BSTR* result);
-}
-
-/*
- @interface DOMEntityReference : IDOMNode
-*/
-[
- object,
- oleautomation,
- uuid(0593CE45-15B2-44af-BBD0-5A1654F8240E),
- pointer_default(unique)
-]
-interface IDOMEntityReference : IDOMNode
-{
-}
-
-/*
- @interface DOMProcessingInstruction : IDOMNode
-*/
-[
- object,
- oleautomation,
- uuid(D99D2F48-ABF3-426a-9339-54681E1AFCA9),
- pointer_default(unique)
-]
-interface IDOMProcessingInstruction : IDOMNode
-{
- /*
- - (NSString *)target;
- */
- HRESULT target([out, retval] BSTR* result);
-
- /*
- - (NSString *)data;
- */
- HRESULT data([out, retval] BSTR* result);
-
- /*
- - (void)setData:(NSString *)data;
- */
- HRESULT setData([in] BSTR data);
-}
-
-/*
- @interface DOMDocumentFragment : IDOMNode
-*/
-[
- object,
- oleautomation,
- uuid(09D35665-8396-4868-949E-8AA2407A6E10),
- pointer_default(unique)
-]
-interface IDOMDocumentFragment : IDOMNode
-{
-}
diff --git a/Source/WebKit/win/Interfaces/DOMEvents.idl b/Source/WebKit/win/Interfaces/DOMEvents.idl
deleted file mode 100644
index d66023e94..000000000
--- a/Source/WebKit/win/Interfaces/DOMEvents.idl
+++ /dev/null
@@ -1,478 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "DOMCore.idl";
-import "DOMWindow.idl";
-#endif
-
-interface IDOMEvent;
-interface IDOMEventException;
-interface IDOMEventTarget;
-interface IDOMKeyboardEvent;
-interface IDOMMouseEvent;
-interface IDOMMutationEvent;
-interface IDOMNode;
-interface IDOMOverflowEvent;
-interface IDOMUIEvent;
-interface IDOMWheelEvent;
-interface IDOMWindow;
-
-typedef long long DOMTimeStamp;
-
-[
- object,
- oleautomation,
- uuid(7f8a0a96-f864-44fb-87fb-c5f03666e8e6),
- pointer_default(unique)
-]
-interface IDOMEventListener : IDOMObject
-{
- //void handleEvent(Event evt);
- HRESULT handleEvent([in] IDOMEvent* evt);
-}
-
-[
- object,
- oleautomation,
- uuid(62343a9e-a779-4e91-818a-14fc178cf4c2),
- pointer_default(unique)
-]
-interface IDOMEvent : IDOMObject
-{
- // DOM PhaseType
- const unsigned short DOMEVENT_CAPTURING_PHASE = 1;
- const unsigned short DOMEVENT_AT_TARGET = 2;
- const unsigned short DOMEVENT_BUBBLING_PHASE = 3;
-
- // Reverse-engineered from Netscape
- const unsigned short DOMEVENT_MOUSEDOWN = 1;
- const unsigned short DOMEVENT_MOUSEUP = 2;
- const unsigned short DOMEVENT_MOUSEOVER = 4;
- const unsigned short DOMEVENT_MOUSEOUT = 8;
- const unsigned short DOMEVENT_MOUSEMOVE = 16;
- const unsigned short DOMEVENT_MOUSEDRAG = 32;
- const unsigned short DOMEVENT_CLICK = 64;
- const unsigned short DOMEVENT_DBLCLICK = 128;
- const unsigned short DOMEVENT_KEYDOWN = 256;
- const unsigned short DOMEVENT_KEYUP = 512;
- const unsigned short DOMEVENT_KEYPRESS = 1024;
- const unsigned short DOMEVENT_DRAGDROP = 2048;
- const unsigned short DOMEVENT_FOCUS = 4096;
- const unsigned short DOMEVENT_BLUR = 8192;
- const unsigned short DOMEVENT_SELECT = 16384;
- const unsigned short DOMEVENT_CHANGE = 32768;
-
- //readonly attribute DOMString type;
- HRESULT type([out, retval] BSTR* result);
-
- //readonly attribute EventTarget target;
- HRESULT target([out, retval] IDOMEventTarget** result);
-
- //readonly attribute EventTarget currentTarget;
- HRESULT currentTarget([out, retval] IDOMEventTarget** result);
-
- //readonly attribute unsigned short eventPhase;
- HRESULT eventPhase([out, retval] unsigned short* result);
-
- //readonly attribute boolean bubbles;
- HRESULT bubbles([out, retval] BOOL* result);
-
- //readonly attribute boolean cancelable;
- HRESULT cancelable([out, retval] BOOL* result);
-
- //readonly attribute DOMTimeStamp timeStamp;
- HRESULT timeStamp([out, retval] DOMTimeStamp* result);
-
- //void stopPropagation();
- HRESULT stopPropagation();
-
- //void preventDefault();
- HRESULT preventDefault();
-
- //[OldStyleObjC] void initEvent(DOMString eventTypeArg,
- // boolean canBubbleArg,
- // boolean cancelableArg);
- HRESULT initEvent([in] BSTR eventTypeArg, [in] BOOL canBubbleArg, [in] BOOL cancelableArg);
-}
-
-[
- object,
- oleautomation,
- uuid(c7cf7d84-d755-40bc-b664-84bc79eff709),
- pointer_default(unique)
-]
-interface IDOMEventTarget : IUnknown
-{
- //void addEventListener(DOMString type,
- // EventListener listener,
- // boolean useCapture);
- HRESULT addEventListener([in] BSTR type, [in] IDOMEventListener* listener, [in] BOOL useCapture);
-
- //void removeEventListener(DOMString type,
- // EventListener listener,
- // boolean useCapture);
- HRESULT removeEventListener([in] BSTR type, [in] IDOMEventListener* listener, [in] BOOL useCapture);
-
- //boolean dispatchEvent(Event event)
- HRESULT dispatchEvent([in] IDOMEvent* event, [out, retval] BOOL* result);
-}
-
-[
- object,
- oleautomation,
- uuid(55AAF192-68CD-409f-A551-89710DC7240A),
- pointer_default(unique)
-]
-interface IDOMDocumentEvent : IUnknown
-{
- //[RaisesException] Event createEvent(DOMString eventType);
- HRESULT createEvent([in] BSTR eventType, [out, retval] IDOMEvent** result);
-}
-
-[
- object,
- oleautomation,
- uuid(76bc4e46-67df-40d3-89b0-a94dcc2ed507),
- pointer_default(unique)
-]
-interface IDOMKeyboardEvent : IDOMUIEvent
-{
- // KeyLocationCode
- const unsigned long DOMKEYBOARDEVENT_KEY_LOCATION_STANDARD = 0x00;
- const unsigned long DOMKEYBOARDEVENT_KEY_LOCATION_LEFT = 0x01;
- const unsigned long DOMKEYBOARDEVENT_KEY_LOCATION_RIGHT = 0x02;
- const unsigned long DOMKEYBOARDEVENT_KEY_LOCATION_NUMPAD = 0x03;
-
- //readonly attribute DOMString keyIdentifier;
- HRESULT keyIdentifier([out, retval] BSTR* result);
-
- //readonly attribute unsigned long location;
- HRESULT location([out, retval] unsigned long* result);
-
- //readonly attribute unsigned long keyLocation;
- HRESULT keyLocation([out, retval] unsigned long* result);
-
- //readonly attribute boolean ctrlKey;
- HRESULT ctrlKey([out, retval] BOOL* result);
-
- //readonly attribute boolean shiftKey;
- HRESULT shiftKey([out, retval] BOOL* result);
-
- //readonly attribute boolean altKey;
- HRESULT altKey([out, retval] BOOL* result);
-
- //readonly attribute boolean metaKey;
- HRESULT metaKey([out, retval] BOOL* result);
-
- //readonly attribute boolean altGraphKey;
- HRESULT altGraphKey([out, retval] BOOL* result);
-
- //boolean getModifierState(DOMString keyIdentifierArg);
- HRESULT getModifierState([in] BSTR keyIdentifierArg, [out, retval] BOOL* result);
-
- // FIXME: this does not match the version in the DOM spec.
- //void initKeyboardEvent(AtomicString type,
- // boolean canBubble,
- // boolean cancelable,
- // DOMWindow view,
- // DOMString keyIdentifier,
- // unsigned long keyLocation,
- // boolean ctrlKey,
- // boolean altKey,
- // boolean shiftKey,
- // boolean metaKey,
- // boolean altGraphKey);
- HRESULT initKeyboardEvent([in] BSTR type, [in] BOOL canBubble, [in] BOOL cancelable, [in] IDOMWindow* view, [in] BSTR keyIdentifier, [in] unsigned long keyLocation, [in] BOOL ctrlKey, [in] BOOL altKey, [in] BOOL shiftKey, [in] BOOL metaKey, [in] BOOL graphKey);
-
- // WebKit Extensions
- //readonly attribute long keyCode;
- //HRESULT keyCode([out, retval] long* result);
-
- //readonly attribute long charCode;
- //HRESULT charCode([out, retval] long* result);
-
- //void initKeyboardEvent(AtomicString type,
- // boolean canBubble,
- // boolean cancelable,
- // DOMWindow view,
- // DOMString keyIdentifier,
- // unsigned long keyLocation,
- // boolean ctrlKey,
- // boolean altKey,
- // boolean shiftKey,
- // boolean metaKey);
-}
-
-[
- object,
- oleautomation,
- uuid(bdd97151-5f6a-4ba4-a902-9b008392eb54),
- pointer_default(unique)
-]
-interface IDOMMouseEvent : IDOMUIEvent
-{
- //readonly attribute long screenX;
- HRESULT screenX([out, retval] long* result);
-
- //readonly attribute long screenY;
- HRESULT screenY([out, retval] long* result);
-
- //readonly attribute long clientX;
- HRESULT clientX([out, retval] long* result);
-
- //readonly attribute long clientY;
- HRESULT clientY([out, retval] long* result);
-
- //readonly attribute boolean ctrlKey;
- HRESULT ctrlKey([out, retval] BOOL* result);
-
- //readonly attribute boolean shiftKey;
- HRESULT shiftKey([out, retval] BOOL* result);
-
- //readonly attribute boolean altKey;
- HRESULT altKey([out, retval] BOOL* result);
-
- //readonly attribute boolean metaKey;
- HRESULT metaKey([out, retval] BOOL* result);
-
- //readonly attribute unsigned short button;
- HRESULT button([out, retval] unsigned short* result);
-
- //readonly attribute EventTarget relatedTarget;
- HRESULT relatedTarget([out, retval] IDOMEventTarget** result);
-
- //[OldStyleObjC] void initMouseEvent(AtomicString type,
- // boolean canBubble,
- // boolean cancelable,
- // DOMWindow view,
- // long detail,
- // long screenX,
- // long screenY,
- // long clientX,
- // long clientY,
- // boolean ctrlKey,
- // boolean altKey,
- // boolean shiftKey,
- // boolean metaKey,
- // unsigned short button,
- // EventTarget relatedTarget);
- HRESULT initMouseEvent([in] BSTR type, [in] BOOL canBubble, [in] BOOL cancelable, [in] IDOMWindow* view, [in] long detail, [in] long screenX, [in] long screenY, [in] long clientX, [in] long clientY, [in] BOOL ctrlKey, [in] BOOL altKey, [in] BOOL shiftKey, [in] BOOL metaKey, [in] unsigned short button, [in] IDOMEventTarget* relatedTarget);
-
- // extensions
- //readonly attribute long offsetX;
- HRESULT offsetX([out, retval] long* result);
-
- //readonly attribute long offsetY;
- HRESULT offsetY([out, retval] long* result);
-
- //readonly attribute long x;
- HRESULT x([out, retval] long* result);
-
- //readonly attribute long y;
- HRESULT y([out, retval] long* result);
-
- //readonly attribute Node fromElement;
- HRESULT fromElement([out, retval] IDOMNode** result);
-
- //readonly attribute Node toElement;
- HRESULT toElement([out, retval] IDOMNode** result);
-}
-
-[
- object,
- oleautomation,
- uuid(6345d228-ea67-48ee-93c8-ff6e9c6356e9),
- pointer_default(unique)
-]
-interface IDOMMutationEvent : IDOMEvent
-{
- // attrChangeType
- const unsigned short DOMMUTATIONEVENT_MODIFICATION = 1;
- const unsigned short DOMMUTATIONEVENT_ADDITION = 2;
- const unsigned short DOMMUTATIONEVENT_REMOVAL = 3;
-
- //readonly attribute Node relatedNode;
- HRESULT relatedNode([out, retval] IDOMNode** result);
-
- //readonly attribute DOMString prevValue;
- HRESULT prevValue([out, retval] BSTR* result);
-
- //readonly attribute DOMString newValue;
- HRESULT newValue([out, retval] BSTR* result);
-
- //readonly attribute DOMString attrName;
- HRESULT attrName([out, retval] BSTR* result);
-
- //readonly attribute unsigned short attrChange;
- HRESULT attrChange([out, retval] unsigned short* result);
-
- //[OldStyleObjC] void initMutationEvent(AtomicString type,
- // boolean canBubble,
- // boolean cancelable,
- // Node relatedNode,
- // DOMString prevValue,
- // DOMString newValue,
- // DOMString attrName,
- // unsigned short attrChange);
- HRESULT initMutationEvent([in] BSTR type, [in] BOOL canBubble, [in] BOOL cancelable, [in] IDOMNode* relatedNode, [in] BSTR prevValue, [in] BSTR newValue, [in] BSTR attrName, [in] unsigned short attrChange);
-}
-
-[
- object,
- oleautomation,
- uuid(6048369e-e444-401b-950d-c9daef9384d2),
- pointer_default(unique)
-]
-interface IDOMOverflowEvent : IDOMEvent
-{
- const unsigned short DOMOVERFLOWEVENT_HORIZONTAL = 0;
- const unsigned short DOMOVERFLOWEVENT_VERTICAL = 1;
- const unsigned short DOMOVERFLOWEVENT_BOTH = 2;
-
- //readonly attribute unsigned short orient;
- HRESULT orient([out, retval] unsigned short* result);
-
- //readonly attribute boolean horizontalOverflow;
- HRESULT horizontalOverflow([out, retval] BOOL* result);
-
- //readonly attribute boolean verticalOverflow;
- HRESULT verticalOverflow([out, retval] BOOL* result);
-}
-
-[
- object,
- oleautomation,
- uuid(b928261d-7c9e-4156-af71-6f698bd97788),
- pointer_default(unique)
-]
-interface IDOMUIEvent : IDOMEvent
-{
- //readonly attribute DOMWindow view;
- HRESULT view([out, retval] IDOMWindow** result);
-
- //readonly attribute long detail;
- HRESULT detail([out, retval] long* result);
-
- //[OldStyleObjC] void initUIEvent(AtomicString type,
- // boolean canBubble,
- // boolean cancelable,
- // DOMWindow view,
- // long detail);
- HRESULT initUIEvent([in] BSTR type, [in] BOOL canBubble, [in] BOOL cancelable, [in] IDOMWindow* view, [in] long detail);
-
- // extentsions
- //readonly attribute long keyCode;
- HRESULT keyCode([out, retval] long* result);
-
- //readonly attribute long charCode;
- HRESULT charCode([out, retval] long* result);
-
- HRESULT unused1([out, retval] long* result);
-
- HRESULT unused2([out, retval] long* result);
-
- //readonly attribute long pageX;
- HRESULT pageX([out, retval] long* result);
-
- //readonly attribute long pageY;
- HRESULT pageY([out, retval] long* result);
-
- //readonly attribute long which;
- HRESULT which([out, retval] long* result);
-}
-
-[
- object,
- oleautomation,
- uuid(5404e6d9-a2bb-4c74-8070-ce9d2599bd00),
- pointer_default(unique)
-]
-interface IDOMWheelEvent : IDOMUIEvent
-{
- //readonly attribute long screenX;
- HRESULT screenX([out, retval] long* result);
-
- //readonly attribute long screenY;
- HRESULT screenY([out, retval] long* result);
-
- //readonly attribute long clientX;
- HRESULT clientX([out, retval] long* result);
-
- //readonly attribute long clientY;
- HRESULT clientY([out, retval] long* result);
-
- //readonly attribute boolean ctrlKey;
- HRESULT ctrlKey([out, retval] BOOL* result);
-
- //readonly attribute boolean shiftKey;
- HRESULT shiftKey([out, retval] BOOL* result);
-
- //readonly attribute boolean altKey;
- HRESULT altKey([out, retval] BOOL* result);
-
- //readonly attribute boolean metaKey;
- HRESULT metaKey([out, retval] BOOL* result);
-
- //readonly attribute long wheelDelta;
- HRESULT wheelDelta([out, retval] long* result);
-
- //readonly attribute long wheelDeltaX;
- HRESULT wheelDeltaX([out, retval] long* result);
-
- //readonly attribute long wheelDeltaY;
- HRESULT wheelDeltaY([out, retval] long* result);
-
- // WebKit Extensions
- //readonly attribute long offsetX;
- HRESULT offsetX([out, retval] long* result);
-
- //readonly attribute long offsetY;
- HRESULT offsetY([out, retval] long* result);
-
- //readonly attribute long x;
- HRESULT x([out, retval] long* result);
-
- //readonly attribute long y;
- HRESULT y([out, retval] long* result);
-
- //readonly attribute boolean isHorizontal;
- HRESULT isHorizontal([out, retval] BOOL* result);
-
- //void initWheelEvent(long wheelDeltaX,
- // long wheelDeltaY,
- // DOMWindow view,
- // long screenX,
- // long screenY,
- // long clientX,
- // long clientY,
- // boolean ctrlKey,
- // boolean altKey,
- // boolean shiftKey,
- // boolean metaKey);
- HRESULT initWheelEvent([in] long wheelDeltaX, [in] long wheelDeltaY, [in] IDOMWindow* view, [in] long screenX, [in] long screenY, [in] long clientX, [in] long clientY, [in] BOOL ctrlKey, [in] BOOL altKey, [in] BOOL shiftKey, [in] BOOL metaKey);
-}
diff --git a/Source/WebKit/win/Interfaces/DOMExtensions.idl b/Source/WebKit/win/Interfaces/DOMExtensions.idl
deleted file mode 100644
index 83c26d717..000000000
--- a/Source/WebKit/win/Interfaces/DOMExtensions.idl
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(E6CEE774-41C6-4c1b-8832-798E49245E6B),
- pointer_default(unique)
-]
-interface IDOMNodeExtensions : IUnknown
-{
- /*
- - (NSRect)boundingBox
- */
- HRESULT boundingBox([out, retval] LPRECT rect);
-
- /*
- - (NSArray *)lineBoxRects
- */
- HRESULT lineBoxRects([in, size_is(cRects)] RECT* rects, [in] int cRects);
-}
diff --git a/Source/WebKit/win/Interfaces/DOMHTML.idl b/Source/WebKit/win/Interfaces/DOMHTML.idl
deleted file mode 100644
index 0ee651b3f..000000000
--- a/Source/WebKit/win/Interfaces/DOMHTML.idl
+++ /dev/null
@@ -1,950 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "DOMCore.idl";
-#endif
-
-interface IDOMHTMLElement;
-interface IDOMHTMLFormElement;
-interface IDOMHTMLTableCaptionElement;
-interface IDOMHTMLTableSectionElement;
-interface IDOMDocument;
-interface IDOMElement;
-interface IDOMNode;
-interface IDOMNodeList;
-interface IWebFrame;
-
-/*
- @interface DOMHTMLCollection : DOMObject
-*/
-[
- object,
- oleautomation,
- uuid(DD8E4E33-D1D4-48e7-BB23-6DC3D7CCEC42),
- pointer_default(unique)
-]
-interface IDOMHTMLCollection : IDOMObject
-{
- /*
- - (unsigned)length;
- */
- HRESULT length([out, retval] UINT* result);
-
- /*
- - (DOMNode *)item:(unsigned)index;
- */
- HRESULT item([in] UINT index, [out, retval] IDOMNode** node);
-
- /*
- - (DOMNode *)namedItem:(NSString *)name;
- */
- HRESULT namedItem([in] BSTR name, [out, retval] IDOMNode** node);
-}
-
-/*
- @interface DOMHTMLOptionsCollection : DOMObject
-*/
-[
- object,
- oleautomation,
- uuid(1AD98D99-163C-4c04-B6EE-85A3DD31F5C4),
- pointer_default(unique)
-]
-interface IDOMHTMLOptionsCollection : IDOMObject
-{
- /*
- - (unsigned)length;
- */
- HRESULT length([out, retval] unsigned int* result);
-
- /*
- - (void)setLength:(unsigned)length;
- */
- HRESULT setLength([in] unsigned int length);
-
- /*
- - (DOMNode *)item:(unsigned)index;
- */
- HRESULT item([in] unsigned int index, [out, retval] IDOMNode** result);
-
- /*
- - (DOMNode *)namedItem:(NSString *)name;
- */
- HRESULT namedItem([in] BSTR name, [out, retval] IDOMNode** result);
-}
-
-/*
- @interface DOMHTMLDocument : DOMDocument
-*/
-[
- object,
- oleautomation,
- uuid(A7DF8485-25B7-4a98-B70C-1E29CAA00597),
- pointer_default(unique)
-]
-interface IDOMHTMLDocument : IDOMDocument
-{
- /*
- - (NSString *)title;
- */
- HRESULT title([out, retval] BSTR* result);
-
- /*
- - (void)setTitle:(NSString *)title;
- */
- HRESULT setTitle([in] BSTR title);
-
- /*
- - (NSString *)referrer;
- */
- HRESULT referrer([out, retval] BSTR* result);
-
- /*
- - (NSString *)domain;
- */
- HRESULT domain([out, retval] BSTR* result);
-
- /*
- - (NSString *)URL;
- */
- HRESULT URL([out, retval] BSTR* result);
-
- /*
- - (DOMHTMLElement *)body;
- */
- HRESULT body([out, retval] IDOMHTMLElement** bodyElement);
-
- /*
- - (void)setBody:(DOMHTMLElement *)body;
- */
- HRESULT setBody([in] IDOMHTMLElement* body);
-
- /*
- - (DOMHTMLCollection *)images;
- */
- HRESULT images([out, retval] IDOMHTMLCollection** collection);
-
- /*
- - (DOMHTMLCollection *)applets;
- */
- HRESULT applets([out, retval] IDOMHTMLCollection** collection);
-
- /*
- - (DOMHTMLCollection *)links;
- */
- HRESULT links([out, retval] IDOMHTMLCollection** collection);
-
- /*
- - (DOMHTMLCollection *)forms;
- */
- HRESULT forms([out, retval] IDOMHTMLCollection** collection);
-
- /*
- - (DOMHTMLCollection *)anchors;
- */
- HRESULT anchors([out, retval] IDOMHTMLCollection** collection);
-
- /*
- - (NSString *)cookie;
- */
- HRESULT cookie([out, retval] BSTR* result);
-
- /*
- - (void)setCookie:(NSString *)cookie;
- */
- HRESULT setCookie([in] BSTR cookie);
-
- /*
- - (void)open;
- */
- HRESULT open();
-
- /*
- - (void)close;
- */
- HRESULT close();
-
- /*
- - (void)write:(NSString *)text;
- */
- HRESULT write([in] BSTR text);
-
- /*
- - (void)writeln:(NSString *)text;
- */
- HRESULT writeln([in] BSTR text);
-
- /*
- - (DOMElement *)getElementById:(NSString *)elementId;
- */
- HRESULT getElementById_([in] BSTR elementId, [out, retval] IDOMElement** element);
-
- /*
- - (DOMNodeList *)getElementsByName:(NSString *)elementName;
- */
- HRESULT getElementsByName([in] BSTR elementName, [out, retval] IDOMNodeList** nodeList);
-}
-
-/*
- @interface DOMHTMLElement : DOMElement
-*/
-[
- object,
- oleautomation,
- uuid(EBD5F41D-FF65-41d8-97C9-FCE3A3D4CC3E),
- pointer_default(unique)
-]
-interface IDOMHTMLElement : IDOMElement
-{
- /*
- - (NSString *)idName;
- */
- HRESULT idName([out, retval] BSTR* result);
-
- /*
- - (void)setIdName:(NSString *)idName;
- */
- HRESULT setIdName([in] BSTR idName);
-
- /*
- - (NSString *)title;
- */
- HRESULT title([out, retval] BSTR* result);
-
- /*
- - (void)setTitle:(NSString *)title;
- */
- HRESULT setTitle([in] BSTR title);
-
- /*
- - (NSString *)lang;
- */
- HRESULT lang([out, retval] BSTR* result);
-
- /*
- - (void)setLang:(NSString *)lang;
- */
- HRESULT setLang([in] BSTR lang);
-
- /*
- - (NSString *)dir;
- */
- HRESULT dir([out, retval] BSTR* result);
-
- /*
- - (void)setDir:(NSString *)dir;
- */
- HRESULT setDir([in] BSTR dir);
-
- /*
- - (NSString *)className;
- */
- HRESULT className([out, retval] BSTR* result);
-
- /*
- - (void)setClassName:(NSString *)className;
- */
- HRESULT setClassName([in] BSTR className);
-
- /*
- - (NSString *)innerHTML;
- */
- HRESULT innerHTML([out, retval] BSTR* result);
-
- /*
- - (void)setInnerHTML:(NSString *)innerHTML;
- */
- HRESULT setInnerHTML([in] BSTR html);
-
- /*
- - (NSString *)innerHTML;
- */
- HRESULT innerText([out, retval] BSTR* result);
-
- /*
- - (void)setInnerText:(NSString *)innerText;
- */
- HRESULT setInnerText([in] BSTR text);
-}
-
-/*
- @interface DOMHTMLFormElement : DOMHTMLElement
-*/
-[
- object,
- oleautomation,
- uuid(DF5C0054-DDDB-4888-9198-7A4E4EBF8D69),
- pointer_default(unique)
-]
-interface IDOMHTMLFormElement : IDOMHTMLElement
-{
- /*
- - (DOMHTMLCollection *)elements;
- */
- HRESULT elements([out, retval] IDOMHTMLCollection** result);
-
- /*
- - (int)length;
- */
- HRESULT length([out, retval] int* result);
-
- /*
- - (NSString *)name;
- */
- HRESULT name([out, retval] BSTR* result);
-
- /*
- - (void)setName:(NSString *)name;
- */
- HRESULT setName([in] BSTR name);
-
- /*
- - (NSString *)acceptCharset;
- */
- HRESULT acceptCharset([out, retval] BSTR* result);
- /*
- - (void)setAcceptCharset:(NSString *)acceptCharset;
- */
- HRESULT setAcceptCharset([in] BSTR acceptCharset);
-
- /*
- - (NSString *)action;
- */
- HRESULT action([out, retval] BSTR* result);
-
- /*
- - (void)setAction:(NSString *)action;
- */
- HRESULT setAction([in] BSTR action);
-
- /*
- - (NSString *)enctype;
- */
- HRESULT encType([out, retval] BSTR* result);
-
- /*
- - (void)setEnctype:(NSString *)enctype;
- */
- HRESULT setEnctype([out, retval] BSTR* encType);
-
- /*
- - (NSString *)method;
- */
- HRESULT method([out, retval] BSTR* method);
-
- /*
- - (void)setMethod:(NSString *)method;
- */
- HRESULT setMethod([in] BSTR method);
-
- /*
- - (NSString *)target;
- */
- HRESULT target([out, retval] BSTR* result);
-
- /*
- - (void)setTarget:(NSString *)target;
- */
- HRESULT setTarget([in] BSTR target);
-
- /*
- - (void)submit;
- */
- HRESULT submit();
-
- /*
- - (void)reset;
- */
- HRESULT reset();
-}
-
-/*
- @interface DOMHTMLSelectElement : DOMHTMLElement
-*/
-[
- object,
- oleautomation,
- uuid(3825AA04-B38F-4399-95BB-F5410B29594A),
- pointer_default(unique)
-]
-interface IDOMHTMLSelectElement : IDOMHTMLElement
-{
- /*
- - (NSString *)type;
- */
- HRESULT type([out, retval] BSTR* result);
-
- /*
- - (int)selectedIndex;
- */
- HRESULT selectedIndex([out, retval] int* result);
-
- /*
- - (void)setSelectedIndex:(int)selectedIndex;
- */
- HRESULT setSelectedIndx([in] int selectedIndex);
-
- /*
- - (NSString *)value;
- */
- HRESULT value([out, retval] BSTR* result);
-
- /*
- - (void)setValue:(NSString *)value;
- */
- HRESULT setValue([in] BSTR value);
-
- /*
- - (int)length;
- */
- HRESULT length([out, retval] int* result);
-
- /*
- - (DOMHTMLFormElement *)form;
- */
- HRESULT form([out, retval] IDOMHTMLFormElement** result);
-
- /*
- - (DOMHTMLOptionsCollection *)options;
- */
- HRESULT options([out, retval] IDOMHTMLOptionsCollection** result);
-
- /*
- - (BOOL)disabled;
- */
- HRESULT disabled([out, retval] BOOL* result);
-
- /*
- - (void)setDisabled:(BOOL)disabled;
- */
- HRESULT setDisabled([in] BOOL disabled);
-
- /*
- - (BOOL)multiple;
- */
- HRESULT multiple([out, retval] BOOL* result);
-
- /*
- - (void)setMultiple:(BOOL)multiple;
- */
- HRESULT setMultiple([in] BOOL multiple);
-
- /*
- - (NSString *)name;
- */
- HRESULT name([out, retval] BSTR* result);
-
- /*
- - (void)setName:(NSString *)name;
- */
- HRESULT setName([in] BSTR name);
-
- /*
- - (int)size;
- */
- HRESULT size([out, retval] int* size);
-
- /*
- - (void)setSize:(int)size;
- */
- HRESULT setSize([in] int size);
-
- /*
- - (int)tabIndex;
- */
- HRESULT tabIndex([out, retval] int* result);
-
- /*
- - (void)setTabIndex:(int)tabIndex;
- */
- HRESULT setTabIndex([in] int tabIndex);
-
- /*
- - (void)add:(DOMHTMLElement *)element :(DOMHTMLElement *)before;
- */
- HRESULT add([in] IDOMHTMLElement* element, [in] IDOMHTMLElement* before);
-
- /*
- - (void)remove:(int)index;
- */
- HRESULT remove([in] int index);
-
- /*
- - (void)blur;
- */
- HRESULT blur();
-
- /*
- - (void)focus;
- */
- HRESULT focus();
-}
-
-/*
- @interface DOMHTMLOptionElement : DOMHTMLElement
-*/
-[
- object,
- oleautomation,
- uuid(0E1EF5AB-4008-4d83-9135-D4DC1B4603D4),
- pointer_default(unique)
-]
-interface IDOMHTMLOptionElement : IDOMHTMLElement
-{
- /*
- - (DOMHTMLFormElement *)form;
- */
- HRESULT form([out, retval] IDOMHTMLFormElement** result);
-
- /*
- - (BOOL)defaultSelected;
- */
- HRESULT defaultSelected([out, retval] BOOL* result);
-
- /*
- - (void)setDefaultSelected:(BOOL)defaultSelected;
- */
- HRESULT setDefaultSelected([in] BOOL defaultSelected);
-
- /*
- - (NSString *)text;
- */
- HRESULT text([out, retval] BSTR* result);
-
- /*
- - (int)index;
- */
- HRESULT index([out, retval] int* result);
-
- /*
- - (BOOL)disabled;
- */
- HRESULT disabled([out, retval] BOOL* result);
-
- /*
- - (void)setDisabled:(BOOL)disabled;
- */
- HRESULT setDisabled([in] BOOL disabled);
-
- /*
- - (NSString *)label;
- */
- HRESULT label([out, retval] BSTR* result);
-
- /*
- - (void)setLabel:(NSString *)label;
- */
- HRESULT setLabel([in] BSTR label);
-
- /*
- - (BOOL)selected;
- */
- HRESULT selected([out, retval] BOOL* result);
-
- /*
- - (void)setSelected:(BOOL)selected;
- */
- HRESULT setSelected([in] BOOL selected);
-
- /*
- - (NSString *)value;
- */
- HRESULT value([out, retval] BSTR* result);
-
- /*
- - (void)setValue:(NSString *)value;
- */
- HRESULT setValue([in] BSTR value);
-}
-
-/*
- @interface DOMHTMLInputElement : DOMHTMLElement
-*/
-[
- object,
- oleautomation,
- uuid(80C40AC5-1755-4894-812F-479269C262A2),
- pointer_default(unique)
-]
-/* FIXME: The Safari app currently relies on IDOMHTMLInputElement inheriting from
- IDOMElement. This can't be changed until a version of SafariWin which no longer
- makes this assumption is released.
-*/
-interface IDOMHTMLInputElement : IDOMElement
-{
- /*
- - (NSString *)defaultValue;
- */
- HRESULT defaultValue([out, retval] BSTR* result);
-
- /*
- - (void)setDefaultValue:(NSString *)defaultValue;
- */
- HRESULT setDefaultValue([in] BSTR val);
-
- /*
- - (BOOL)defaultChecked;
- */
- HRESULT defaultChecked([out, retval] BOOL* result);
-
- /*
- - (void)setDefaultChecked:(BOOL)defaultChecked;
- */
- HRESULT setDefaultChecked([in] BSTR checked);
-
- /*
- - (DOMHTMLFormElement *)form;
- */
- HRESULT form([out, retval] IDOMHTMLElement** result);
-
- /*
- - (NSString *)accept;
- */
- HRESULT accept([out, retval] BSTR* result);
-
- /*
- - (void)setAccept:(NSString *)accept;
- */
- HRESULT setAccept([in] BSTR accept);
-
- /*
- - (NSString *)accessKey;
- */
- HRESULT accessKey([out, retval] BSTR* result);
-
- /*
- - (void)setAccessKey:(NSString *)accessKey;
- */
- HRESULT setAccessKey([in] BSTR key);
-
- /*
- - (NSString *)align;
- */
- HRESULT align([out, retval] BSTR* result);
-
- /*
- - (void)setAlign:(NSString *)align;
- */
- HRESULT setAlign([in] BSTR align);
-
- /*
- - (NSString *)alt;
- */
- HRESULT alt([out, retval] BSTR* result);
-
- /*
- - (void)setAlt:(NSString *)alt;
- */
- HRESULT setAlt([in] BSTR alt);
-
- /*
- - (BOOL)checked;
- */
- HRESULT checked([out, retval] BOOL* result);
-
- /*
- - (void)setChecked:(BOOL)checked;
- */
- HRESULT setChecked([in] BOOL checked);
-
- /*
- - (BOOL)disabled;
- */
- HRESULT disabled([out, retval] BOOL* result);
-
- /*
- - (void)setDisabled:(BOOL)disabled;
- */
- HRESULT setDisabled([in] BOOL disabled);
-
- /*
- - (int)maxLength;
- */
- HRESULT maxLength([out, retval] int* result);
-
- /*
- - (void)setMaxLength:(int)maxLength;
- */
- HRESULT setMaxLength([in] int maxLength);
-
- /*
- - (NSString *)name;
- */
- HRESULT name([out, retval] BSTR* name);
-
- /*
- - (void)setName:(NSString *)name;
- */
- HRESULT setName([in] BSTR name);
-
- /*
- - (BOOL)readOnly;
- */
- HRESULT readOnly([out, retval] BOOL* result);
-
- /*
- - (void)setReadOnly:(BOOL)readOnly;
- */
- HRESULT setReadOnly([in] BOOL readOnly);
-
- /*
- - (unsigned)size;
- */
- HRESULT size([out, retval] unsigned int *result);
-
- /*
- - (void)setSize:(unsigned)size;
- */
- HRESULT setSize([in] unsigned int size);
-
- /*
- - (NSString *)src;
- */
- HRESULT src([out, retval] BSTR* result);
-
- /*
- - (void)setSrc:(NSString *)src;
- */
- HRESULT setSrc([in] BSTR src);
-
- /*
- - (int)tabIndex;
- */
- HRESULT tabIndex([out, retval] int* result);
-
- /*
- - (void)setTabIndex:(int)tabIndex;
- */
- HRESULT setTabIndex([in] int tabIndex);
-
- /*
- - (NSString *)type;
- */
- HRESULT type([out, retval] BSTR* result);
-
- /*
- - (void)setType:(NSString *)type;
- */
- HRESULT setType([in] BSTR type);
-
- /*
- - (NSString *)useMap;
- */
- HRESULT useMap([out, retval] BSTR* result);
-
- /*
- - (void)setUseMap:(NSString *)useMap;
- */
- HRESULT setUseMap([in] BSTR useMap);
-
- /*
- - (NSString *)value;
- */
- HRESULT value([out, retval] BSTR* result);
-
- /*
- - (void)setValue:(NSString *)value;
- */
- HRESULT setValue([in] BSTR value);
-
- /*
- - (void)blur;
- */
- HRESULT blur();
-
- /*
- - (void)focus;
- */
- HRESULT focus();
-
- /*
- - (void)select;
- */
- HRESULT select();
-
- /*
- - (void)click;
- */
- HRESULT click();
-
- // FIXME - this is not in objC bindings at the moment
- // attribute long selectionStart;
- HRESULT setSelectionStart([in] long start);
- HRESULT selectionStart([out, retval] long* start);
-
- // FIXME - thisis not in the objC bindings at the moment
- // attribute long selectionEnd;
- HRESULT setSelectionEnd([in] long end);
- HRESULT selectionEnd([out, retval] long* end);
-
- /*
- - (void)setValueForUser:(NSString *)value;
- */
- HRESULT setValueForUser([in] BSTR value);
-}
-
-/*
- @interface DOMHTMLTextAreaElement : DOMHTMLElement
-*/
-[
- object,
- oleautomation,
- uuid(298B02B7-3EB5-4ba4-AD3F-7FA53241AADE),
- pointer_default(unique)
-]
-interface IDOMHTMLTextAreaElement : IDOMHTMLElement
-{
- /*
- - (NSString *)defaultValue;
- */
- HRESULT defaultValue([out, retval] BSTR* result);
-
- /*
- - (void)setDefaultValue:(NSString *)defaultValue;
- */
- HRESULT setDefaultValue([in] BSTR val);
-
- /*
- - (DOMHTMLFormElement *)form;
- */
- HRESULT form([out, retval] IDOMHTMLElement** result);
-
- /*
- - (NSString *)accessKey;
- */
- HRESULT accessKey([out, retval] BSTR* result);
-
- /*
- - (void)setAccessKey:(NSString *)accessKey;
- */
- HRESULT setAccessKey([in] BSTR key);
-
- /*
- - (int)cols;
- */
- HRESULT cols([out, retval] int* result);
-
- /*
- - (void)setCols:(int)cols;
- */
- HRESULT setCols([in] int cols);
-
- /*
- - (BOOL)disabled;
- */
- HRESULT disabled([out, retval] BOOL* result);
-
- /*
- - (void)setDisabled:(BOOL)disabled;
- */
- HRESULT setDisabled([in] BOOL disabled);
-
- /*
- - (NSString *)name;
- */
- HRESULT name([out, retval] BSTR* name);
-
- /*
- - (void)setName:(NSString *)name;
- */
- HRESULT setName([in] BSTR name);
-
- /*
- - (BOOL)readOnly;
- */
- HRESULT readOnly([out, retval] BOOL* result);
-
- /*
- - (void)setReadOnly:(BOOL)readOnly;
- */
- HRESULT setReadOnly([in] BOOL readOnly);
-
- /*
- - (int)rows;
- */
- HRESULT rows([out, retval] int* result);
-
- /*
- - (void)setRows:(int)rows;
- */
- HRESULT setRows([in] int rows);
-
- /*
- - (int)tabIndex;
- */
- HRESULT tabIndex([out, retval] int* result);
-
- /*
- - (void)setTabIndex:(int)tabIndex;
- */
- HRESULT setTabIndex([in] int tabIndex);
-
- /*
- - (NSString *)type;
- */
- HRESULT type([out, retval] BSTR* result);
-
- /*
- - (NSString *)value;
- */
- HRESULT value([out, retval] BSTR* result);
-
- /*
- - (void)setValue:(NSString *)value;
- */
- HRESULT setValue([in] BSTR value);
-
- /*
- - (void)blur;
- */
- HRESULT blur();
-
- /*
- - (void)focus;
- */
- HRESULT focus();
-
- /*
- - (void)select;
- */
- HRESULT select();
-}
-
-/*
- @interface DOMHTMLIFrameElement : DOMHTMLElement
-*/
-[
- object,
- oleautomation,
- uuid(8CFFB1DA-7BA5-4cf7-B7E6-80583354855B),
- pointer_default(unique)
-]
-interface IDOMHTMLIFrameElement : IDOMHTMLElement
-{
- HRESULT contentFrame([out, retval] IWebFrame** result);
-}
diff --git a/Source/WebKit/win/Interfaces/DOMPrivate.idl b/Source/WebKit/win/Interfaces/DOMPrivate.idl
deleted file mode 100644
index 14c454c39..000000000
--- a/Source/WebKit/win/Interfaces/DOMPrivate.idl
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "DOMCore.idl";
-#endif
-
-interface IDOMElement;
-
-typedef struct WebFontDescription WebFontDescription;
-
-[
- object,
- oleautomation,
- uuid(7FF28EC8-6DA1-498d-9A43-7E67C2D3128F),
- pointer_default(unique)
-]
-interface IDOMElementPrivate : IUnknown
-{
- [local] HRESULT coreElement(void** element);
- HRESULT isEqual([in] IDOMElement* other, [out, retval] BOOL* result);
- HRESULT isFocused([out, retval] BOOL* result);
- HRESULT innerText([out, retval] BSTR* result);
- [local] HRESULT font(WebFontDescription* webFontDescription);
- HRESULT renderedImage([out, retval] HBITMAP* image);
- [local] HRESULT markerTextForListItem([out, retval] BSTR* markerText);
- [local] HRESULT shadowPseudoId([out, retval] BSTR* result);
-}
-
-/*
- All the methods in this category are used by Safari forms autofill and should not be used for any other purpose.
- Each one should eventually be replaced by public DOM API, and when that happens Safari will switch to implementations
- using that public API, and these will be deleted.
-
- @interface DOMHTMLInputElement(FormsAutoFillTransition)
-*/
-[
- object,
- oleautomation,
- uuid(2DF339BC-B48E-4d35-B93A-299756ED0B4B),
- pointer_default(unique)
-]
-interface IFormsAutoFillTransition : IUnknown
-{
- /*
- - (BOOL)_isTextField;
- */
- HRESULT isTextField([out, retval] BOOL* result);
-
- /*
- - (NSRect)_rectOnScreen; // bounding box of the text field, screen coordinates
- */
- HRESULT rectOnScreen([out, retval] LPRECT rect);
-
- /*
- - (void)_replaceCharactersInRange:(NSRange)targetRange withString:(NSString *)replacementString selectingFromIndex:(int)index;
- */
- HRESULT replaceCharactersInRange([in] int startTarget, [in] int endTarget, [in] BSTR replacementString, [in] int index);
-
- /*
- - (NSRange)_selectedRange;
- */
- HRESULT selectedRange([out] int* start, [out] int* end);
-
- /*
- - (void)_setAutofilled:(BOOL)filled;
- */
- HRESULT setAutofilled([in] BOOL filled);
-
- /*
- - (BOOL)_isAutofilled;
- */
- HRESULT isAutofilled([out, retval] BOOL* result);
-}
-
-/*
- // These changes are necessary to detect whether a form input was modified by a user
- // or javascript
- @interface DOMHTMLInputElement (FormPromptAdditions)
-
- @interface DOMHTMLTextAreaElement (FormPromptAdditions)
-*/
-[
- object,
- oleautomation,
- uuid(C8C5F0CD-07B0-4a32-BFA8-AE465E80DD3C),
- pointer_default(unique)
-]
-interface IFormPromptAdditions : IUnknown
-{
- /*
- - (BOOL)_isUserEdited;
- */
- HRESULT isUserEdited([out, retval] BOOL* result);
-}
-
-/*
- All the methods in this category are used by Safari forms autofill and should not be used for any other purpose.
- They are stopgap measures until we finish transitioning form controls to not use NSView. Each one should become
- replaceable by public DOM API, and when that happens Safari will switch to implementations using that public API,
- and these will be deleted.
-
- @interface DOMHTMLSelectElement(FormsAutoFillTransition)
-*/
-[
- object,
- oleautomation,
- uuid(6959F712-1563-4661-8D8C-F4C739C55839),
- pointer_default(unique)
-]
-interface IFormsAutoFillTransitionSelect : IUnknown
-{
- /*
- - (void)_activateItemAtIndex:(int)index;
- */
- HRESULT activateItemAtIndex([in] int index);
-}
diff --git a/Source/WebKit/win/Interfaces/DOMRange.idl b/Source/WebKit/win/Interfaces/DOMRange.idl
deleted file mode 100644
index 58dd54d79..000000000
--- a/Source/WebKit/win/Interfaces/DOMRange.idl
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "DOMCore.idl";
-#endif
-
-interface IDOMNode;
-interface IDOMDocumentFragment;
-
-typedef enum _WebSelectionAffinity {
- WebSelectionAffinityUpstream = 0,
- WebSelectionAffinityDownstream = 1
-} WebSelectionAffinity;
-
-enum {
- //
- // DOM range exception codes
- //
- DOM_BAD_BOUNDARYPOINTS_ERR = 1,
- DOM_INVALID_NODE_TYPE_ERR = 2,
-};
-
-enum {
- //
- // DOM Range comparison codes
- //
- DOM_START_TO_START = 0,
- DOM_START_TO_END = 1,
- DOM_END_TO_END = 2,
- DOM_END_TO_START = 3,
-};
-
-/*
- @interface DOMRange : DOMObject
-*/
-[
- object,
- oleautomation,
- uuid(2F33E42C-0B39-48b3-B7B6-E910CDB325AD),
- pointer_default(unique)
-]
-interface IDOMRange : IDOMObject
-{
- /*
- - (DOMNode *)startContainer;
- */
- HRESULT startContainer([out, retval] IDOMNode** node);
-
- /*
- - (int)startOffset;
- */
- HRESULT startOffset([out, retval] int* offset);
-
- /*
- - (DOMNode *)endContainer;
- */
- HRESULT endContainer([out, retval] IDOMNode** node);
-
- /*
- - (int)endOffset;
- */
- HRESULT endOffset([out, retval] int* offset);
-
- /*
- - (BOOL)collapsed;
- */
- HRESULT collapsed([out, retval] BOOL* result);
-
- /*
- - (DOMNode *)commonAncestorContainer;
- */
- HRESULT commonAncestorContainer([out, retval] IDOMNode** container);
-
- /*
- - (void)setStart:(DOMNode *)refNode :(int)offset;
- */
- HRESULT setStart([in] IDOMNode* refNode, [in] int offset);
-
- /*
- - (void)setEnd:(DOMNode *)refNode :(int)offset;
- */
- HRESULT setEnd([in] IDOMNode* refNode, [in] int offset);
-
- /*
- - (void)setStartBefore:(DOMNode *)refNode;
- */
- HRESULT setStartBefore([in] IDOMNode* refNode);
-
- /*
- - (void)setStartAfter:(DOMNode *)refNode;
- */
- HRESULT setStartAfter([in] IDOMNode* refNode);
-
- /*
- - (void)setEndBefore:(DOMNode *)refNode;
- */
- HRESULT setEndBefore([in] IDOMNode* refNode);
-
- /*
- - (void)setEndAfter:(DOMNode *)refNode;
- */
- HRESULT setEndAfter([in] IDOMNode* refNode);
-
- /*
- - (void)collapse:(BOOL)toStart;
- */
- HRESULT collapse([in] BOOL toStart);
-
- /*
- - (void)selectNode:(DOMNode *)refNode;
- */
- HRESULT selectNode([in] IDOMNode* refNode);
-
- /*
- - (void)selectNodeContents:(DOMNode *)refNode;
- */
- HRESULT selectNodeContents([in] IDOMNode* refNode);
-
- /*
- - (short)compareBoundaryPoints:(unsigned short)how :(DOMRange *)sourceRange;
- */
- HRESULT compareBoundaryPoints([in] unsigned short how, [in] IDOMRange* sourceRange);
-
- /*
- - (void)deleteContents;
- */
- HRESULT deleteContents();
-
- /*
- - (DOMDocumentFragment *)extractContents;
- */
- HRESULT extractContents([out, retval] IDOMDocumentFragment** fragment);
-
- /*
- - (DOMDocumentFragment *)cloneContents;
- */
- HRESULT cloneContents([out, retval] IDOMDocumentFragment** fragment);
-
- /*
- - (void)insertNode:(DOMNode *)newNode;
- */
- HRESULT insertNode([in] IDOMNode* newNode);
-
- /*
- - (void)surroundContents:(DOMNode *)newParent;
- */
- HRESULT surroundContents([in] IDOMNode* newParent);
-
- /*
- - (DOMRange *)cloneRange;
- */
- HRESULT cloneRange([out, retval] IDOMRange** range);
-
- /*
- - (NSString *)toString;
- */
- HRESULT toString([out, retval] BSTR* str);
-
- /*
- - (void)detach;
- */
- HRESULT detach();
-}
diff --git a/Source/WebKit/win/Interfaces/DOMWindow.idl b/Source/WebKit/win/Interfaces/DOMWindow.idl
deleted file mode 100644
index ff68fda08..000000000
--- a/Source/WebKit/win/Interfaces/DOMWindow.idl
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "DOMCore.idl";
-import "DOMCSS.idl";
-#endif
-
-interface IDOMCSSRuleList;
-interface IDOMDocument;
-interface IDOMElement;
-
-[
- object,
- oleautomation,
- uuid(19126DDF-E82F-46c0-A2F9-16879D7DADC5),
- pointer_default(unique)
-]
-interface IDOMWindow : IDOMObject
-{
- // DOM Level 2 AbstractView Interface
- //readonly attribute Document document;
- HRESULT document([out, retval] IDOMDocument** result);
-
- // DOM Level 2 Style Interface
- //CSSStyleDeclaration getComputedStyle(Element element,
- // DOMString pseudoElement);
- HRESULT getComputedStyle([in] IDOMElement* element, [in] BSTR pseudoElement);
-
- // WebKit extensions
- //CSSRuleList getMatchedCSSRules(Element element,
- // DOMString pseudoElement,
- // optional boolean authorOnly);
- HRESULT getMatchedCSSRules([in] IDOMElement* element, [in] BSTR pseudoElement, [in] BOOL authorOnly, [out, retval] IDOMCSSRuleList** result);
-
- //readonly attribute double devicePixelRatio;
- HRESULT devicePixelRatio([out, retval] double* result);
-
- // Global constructors
- //attribute CSSPrimitiveValueConstructor CSSPrimitiveValue;
- //attribute CSSRuleConstructor CSSRule;
- //attribute CSSStyleDeclarationConstructor CSSStyleDeclaration;
- //attribute CSSValueConstructor CSSValue;
- //attribute DocumentConstructor Document;
- //attribute DocumentFragmentConstructor DocumentFragment;
- //attribute DOMParserConstructor DOMParser;
- //attribute ElementConstructor Element;
- //attribute EventConstructor Event;
- //attribute HTMLElementConstructor HTMLElement;
- //attribute HTMLDocumentConstructor HTMLDocument;
- //attribute MutationEventConstructor MutationEvent;
- //attribute NodeConstructor Node;
- //attribute NodeFilterConstructor NodeFilter;
- //attribute RangeConstructor Range;
- //attribute RangeExceptionConstructor RangeException;
-
- // Mozilla has a separate XMLDocument object for XML documents.
- // We just use Document for this.
- //attribute DocumentConstructor XMLDocument;
-
- //attribute XMLSerializerConstructor XMLSerializer;
-
- //attribute XPathEvaluatorConstructor XPathEvaluator;
- //attribute XPathResultConstructor XPathResult;
-}
diff --git a/Source/WebKit/win/Interfaces/IGEN_DOMObject.idl b/Source/WebKit/win/Interfaces/IGEN_DOMObject.idl
deleted file mode 100644
index a1efbf434..000000000
--- a/Source/WebKit/win/Interfaces/IGEN_DOMObject.idl
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(19DD35E3-BFEC-40f5-A69F-02C5D76791E4),
- pointer_default(unique)
-]
-interface IGEN_DOMObject : IUnknown
-{
-}
diff --git a/Source/WebKit/win/Interfaces/IWebArchive.idl b/Source/WebKit/win/Interfaces/IWebArchive.idl
deleted file mode 100644
index 31684674b..000000000
--- a/Source/WebKit/win/Interfaces/IWebArchive.idl
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "DOMCore.idl";
-import "IWebResource.idl";
-#endif
-
-interface IWebResource;
-
-/*!
- @class WebArchive
- @discussion WebArchive represents a main resource as well as all the subresources and subframes associated with the main resource.
- The main resource can be an entire web page, a portion of a web page, or some other kind of data such as an image.
- This class can be used for saving standalone web pages, representing portions of a web page on the pasteboard, or any other
- application where one class is needed to represent rich web content.
-*/
-[
- object,
- oleautomation,
- uuid(F07D5252-F66E-4a4d-B9DC-33BD11DCC138),
- pointer_default(unique)
-]
-interface IWebArchive : IUnknown
-{
- /*!
- @method initWithMainResource:subresources:subframeArchives:
- @abstract The initializer for WebArchive.
- @param mainResource The main resource of the archive.
- @param subresources The subresources of the archive (can be nil).
- @param subframeArchives The archives representing the subframes of the archive (can be nil).
- @result An initialized WebArchive.
- - (id)initWithMainResource:(WebResource *)mainResource subresources:(NSArray *)subresources subframeArchives:(NSArray *)subframeArchives;
- */
- HRESULT initWithMainResource([in] IWebResource* mainResource, [in, size_is(cSubResources)] IWebResource** subResources, [in] int cSubResources, [in, size_is(cSubFrameArchives)] IWebArchive** subFrameArchives, [in] int cSubFrameArchives);
-
- /*!
- @method initWithData:
- @abstract The initializer for creating a WebArchive from data.
- @param data The data representing the archive. This can be obtained using WebArchive's data method.
- @result An initialized WebArchive.
- - (id)initWithData:(NSData *)data;
- */
- HRESULT initWithData([in] IStream* data);
-
- /*!
- @method initWithData:
- @abstract The initializer for creating a WebArchive from data.
- @param data The data representing the archive. This can be obtained using WebArchive's data method.
- @result An initialized WebArchive.
- - (id)initWithData:(NSData *)data;
- */
- HRESULT initWithNode([in] IDOMNode* node);
-
- /*!
- @method mainResource
- @result The main resource of the archive.
- - (WebResource *)mainResource;
- */
- HRESULT mainResource([out, retval] IWebResource** resource);
-
- /*!
- @method subresources
- @result The subresource of the archive (can be nil).
- - (NSArray *)subresources;
- */
- HRESULT subResources([out, retval] IEnumVARIANT** enumResources);
-
- /*!
- @method subframeArchives
- @result The archives representing the subframes of the archive (can be nil).
- - (NSArray *)subframeArchives;
- */
- HRESULT subframeArchives([out, retval] IEnumVARIANT** enumSubframes);
-
- /*!
- @method data
- @result The data representation of the archive.
- @discussion The data returned by this method can be used to save a web archive to a file or to place a web archive on the pasteboard
- using WebArchivePboardType. To create a WebArchive using the returned data, call initWithData:.
- - (NSData *)data;
- */
- HRESULT data([out, retval] IStream** stream);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebBackForwardList.idl b/Source/WebKit/win/Interfaces/IWebBackForwardList.idl
deleted file mode 100644
index 83d4cfbbe..000000000
--- a/Source/WebKit/win/Interfaces/IWebBackForwardList.idl
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebHistoryItem.idl";
-#endif
-
-interface IWebHistoryItem;
-
-/*!
- @class WebBackForwardList
- WebBackForwardList holds an ordered list of WebHistoryItems that comprises the back and
- forward lists.
-
- Note that the methods which modify instances of this class do not cause
- navigation to happen in other layers of the stack; they are only for maintaining this data
- structure.
-*/
-[
- object,
- oleautomation,
- uuid(C278A16D-B502-4131-B551-DCE3F4ED2B36),
- pointer_default(unique)
-]
-interface IWebBackForwardList : IUnknown
-{
- /*!
- @method addItem:
- @abstract Adds an entry to the list.
- @param entry The entry to add.
- @discussion The added entry is inserted immediately after the current entry.
- If the current position in the list is not at the end of the list, elements in the
- forward list will be dropped at this point. In addition, entries may be dropped to keep
- the size of the list within the maximum size.
- - (void)addItem:(WebHistoryItem *)item;
- */
- HRESULT addItem([in] IWebHistoryItem* item);
-
- /*!
- @method goBack
- @abstract Move the current pointer back to the entry before the current entry.
- - (void)goBack;
- */
- HRESULT goBack();
-
- /*!
- @method goForward
- @abstract Move the current pointer ahead to the entry after the current entry.
- - (void)goForward;
- */
- HRESULT goForward();
-
- /*!
- @method goToItem:
- @abstract Move the current pointer to the given entry.
- @param item The history item to move the pointer to
- - (void)goToItem:(WebHistoryItem *)item;
- */
- HRESULT goToItem([in] IWebHistoryItem* item);
-
- /*!
- @method backItem
- @abstract Returns the entry right before the current entry.
- @result The entry right before the current entry, or nil if there isn't one.
- - (WebHistoryItem *)backItem;
- */
- HRESULT backItem([out, retval] IWebHistoryItem** item);
-
- /*!
- @method currentItem
- @abstract Returns the current entry.
- @result The current entry.
- - (WebHistoryItem *)currentItem;
- */
- HRESULT currentItem([out, retval] IWebHistoryItem** item);
-
- /*!
- @method forwardItem
- @abstract Returns the entry right after the current entry.
- @result The entry right after the current entry, or nil if there isn't one.
- - (WebHistoryItem *)forwardItem;
- */
- HRESULT forwardItem([out, retval] IWebHistoryItem** item);
-
- /*!
- @method backListWithLimit:
- @abstract Returns a portion of the list before the current entry.
- @param limit A cap on the size of the array returned.
- @result An array of items before the current entry, or nil if there are none. The entries are in the order that they were originally visited.
- - (NSArray *)backListWithLimit:(int)limit;
- */
- HRESULT backListWithLimit([in] int limit, [out] int* listCount, [in] IWebHistoryItem** list);
-
- /*!
- @method forwardListWithLimit:
- @abstract Returns a portion of the list after the current entry.
- @param limit A cap on the size of the array returned.
- @result An array of items after the current entry, or nil if there are none. The entries are in the order that they were originally visited.
- - (NSArray *)forwardListWithLimit:(int)limit;
- */
- HRESULT forwardListWithLimit([in] int limit, [out] int* listCount, [in] IWebHistoryItem** list);
-
- /*!
- @method capacity
- @abstract Returns the list's maximum size.
- @result The list's maximum size.
- - (int)capacity;
- */
- HRESULT capacity([out, retval] int* result);
-
- /*!
- @method setCacpacity
- @abstract Sets the list's maximum size.
- @param size The new maximum size for the list.
- - (void)setCapacity:(int)size;
- */
- HRESULT setCapacity([in] int size);
-
- /*!
- @method backListCount
- @abstract Returns the back list's current count.
- @result The number of items in the list.
- - (int)backListCount;
- */
- HRESULT backListCount([out, retval] int* count);
-
- /*!
- @method forwardListCount
- @abstract Returns the forward list's current count.
- @result The number of items in the list.
- - (int)forwardListCount;
- */
- HRESULT forwardListCount([out, retval] int* sizecount);
-
- /*!
- @method containsItem:
- @param item The item that will be checked for presence in the WebBackForwardList.
- @result Returns YES if the item is in the list.
- - (BOOL)containsItem:(WebHistoryItem *)item;
- */
- HRESULT containsItem([in] IWebHistoryItem* item, [out, retval] BOOL* result);
-
- /*!
- @method itemAtIndex:
- @abstract Returns an entry the given distance from the current entry.
- @param index Index of the desired list item relative to the current item; 0 is current item, -1 is back item, 1 is forward item, etc.
- @result The entry the given distance from the current entry. If index exceeds the limits of the list, nil is returned.
- - (WebHistoryItem *)itemAtIndex:(int)index;
- */
- HRESULT itemAtIndex([in] int index, [out, retval] IWebHistoryItem** item);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebBackForwardListPrivate.idl b/Source/WebKit/win/Interfaces/IWebBackForwardListPrivate.idl
deleted file mode 100644
index a9c14f3ec..000000000
--- a/Source/WebKit/win/Interfaces/IWebBackForwardListPrivate.idl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebHistoryItem.idl";
-#endif
-
-interface IWebHistoryItem;
-
-[
- object,
- oleautomation,
- uuid(0296A841-F6B1-4334-B146-7F9542CF24C3),
- pointer_default(unique)
-]
-interface IWebBackForwardListPrivate : IUnknown
-{
- HRESULT removeItem([in] IWebHistoryItem* item);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebCache.idl b/Source/WebKit/win/Interfaces/IWebCache.idl
deleted file mode 100644
index 3d2bf1408..000000000
--- a/Source/WebKit/win/Interfaces/IWebCache.idl
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- hidden,
- uuid(0673E6F5-AE63-4871-AAC6-6A1E0E6A99AB),
- pointer_default(unique)
-]
-interface IWebCache : IUnknown
-{
- HRESULT statistics([in, out] int* count, [in] IPropertyBag** s);
- HRESULT empty();
- HRESULT setDisabled([in] BOOL disabled);
- HRESULT disabled([out, retval] BOOL*);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebCoreStatistics.idl b/Source/WebKit/win/Interfaces/IWebCoreStatistics.idl
deleted file mode 100644
index 0001a10a1..000000000
--- a/Source/WebKit/win/Interfaces/IWebCoreStatistics.idl
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- hidden,
- uuid(9607001D-6EEF-4c2c-AD22-94E9DA587973),
- pointer_default(unique)
-]
-interface IWebCoreStatistics : IUnknown
-{
- HRESULT javaScriptObjectsCount([out, retval] UINT* count);
- HRESULT javaScriptGlobalObjectsCount([out, retval] UINT* count);
- HRESULT javaScriptProtectedObjectsCount([out, retval] UINT* count);
- HRESULT javaScriptProtectedGlobalObjectsCount([out, retval] UINT* count);
-
- HRESULT iconPageURLMappingCount([out, retval] UINT* count);
- HRESULT iconRetainedPageURLCount([out, retval] UINT* count);
- HRESULT iconRecordCount([out, retval] UINT* count);
- HRESULT iconsWithDataCount([out, retval] UINT* count);
-
- HRESULT cachedFontDataCount([out, retval] UINT* count);
- HRESULT cachedFontDataInactiveCount([out, retval] UINT* count);
- HRESULT purgeInactiveFontData();
- HRESULT glyphPageCount([out, retval] UINT* count);
-
- HRESULT javaScriptProtectedObjectTypeCounts([out, retval] IPropertyBag2** typeNamesAndCounts);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebDataSource.idl b/Source/WebKit/win/Interfaces/IWebDataSource.idl
deleted file mode 100644
index dd78d7eeb..000000000
--- a/Source/WebKit/win/Interfaces/IWebDataSource.idl
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebMutableURLRequest.idl";
-import "IWebURLResponse.idl";
-import "IWebResource.idl";
-import "IWebArchive.idl";
-import "IWebDocument.idl";
-import "IWebFrame.idl";
-#endif
-
-interface IWebMutableURLRequest;
-interface IWebURLConnection;
-interface IWebURLRequest;
-interface IWebURLResponse;
-interface IWebArchive;
-interface IWebDataSourcePrivate;
-interface IWebError;
-interface IWebFrame;
-interface IWebResource;
-
-interface IWebDocumentRepresentation;
-
-/*!
- @class WebDataSource
- @discussion A WebDataSource represents the data associated with a web page.
- A datasource has a WebDocumentRepresentation which holds an appropriate
- representation of the data. WebDataSources manage a hierarchy of WebFrames.
- WebDataSources are typically related to a view by their containing WebFrame.
-*/
-[
- object,
- oleautomation,
- uuid(5221A975-AE09-4a7b-A4DF-E3B1B5F38A21),
- pointer_default(unique)
-]
-interface IWebDataSource : IUnknown
-{
- /*!
- @method initWithRequest:
- @abstract The designated initializer for WebDataSource.
- @param request The request to use in creating a datasource.
- @result Returns an initialized WebDataSource.
- - (id)initWithRequest:(NSURLRequest *)request;
- */
- HRESULT initWithRequest([in] IWebURLRequest* request);
-
- /*!
- @method data
- @discussion The data will be incomplete until the datasource has completely loaded.
- @result Returns the raw data associated with the datasource. Returns nil
- if the datasource hasn't loaded any data.
- - (NSData *)data;
- */
- HRESULT data([out, retval] IStream** stream);
-
- /*!
- @method representation
- @discussion A representation holds a type specific representation
- of the datasource's data. The representation class is determined by mapping
- a MIME type to a class. The representation is created once the MIME type
- of the datasource content has been determined.
- @result Returns the representation associated with this datasource.
- Returns nil if the datasource hasn't created it's representation.
- - (id <WebDocumentRepresentation>)representation;
- */
- HRESULT representation([out, retval] IWebDocumentRepresentation** rep);
-
- /*!
- @method webFrame
- @result Return the frame that represents this data source.
- - (WebFrame *)webFrame;
- */
- HRESULT webFrame([out, retval] IWebFrame** frame);
-
- /*!
- @method initialRequest
- @result Returns a reference to the original request that created the
- datasource. This request will be unmodified by WebKit.
- - (NSURLRequest *)initialRequest;
- */
- HRESULT initialRequest([out, retval] IWebURLRequest** request);
-
- /*!
- @method request
- @result Returns the request that was used to create this datasource.
- - (NSMutableURLRequest *)request;
- */
- HRESULT request([out, retval] IWebMutableURLRequest** request);
-
- /*!
- @method response
- @result returns the WebResourceResponse for the data source.
- - (NSURLResponse *)response;
- */
- HRESULT response([out, retval] IWebURLResponse** response);
-
- /*!
- @method textEncodingName
- @result Returns either the override encoding, as set on the WebView for this
- dataSource or the encoding from the response.
- - (NSString *)textEncodingName;
- */
- HRESULT textEncodingName([out, retval] BSTR* name);
-
- /*!
- @method isLoading
- @discussion Returns YES if there are any pending loads.
- - (BOOL)isLoading;
- */
- HRESULT isLoading([out, retval] BOOL* loading);
-
- /*!
- @method pageTitle
- @result Returns nil or the page title.
- - (NSString *)pageTitle;
- */
- HRESULT pageTitle([out, retval] BSTR* title);
-
- /*!
- @method unreachableURL
- @discussion This will be non-nil only for dataSources created by calls to the
- WebFrame method loadAlternateHTMLString:baseURL:forUnreachableURL:.
- @result returns the unreachableURL for which this dataSource is showing alternate content, or nil
- - (NSURL *)unreachableURL;
- */
- HRESULT unreachableURL([out, retval] BSTR* url);
-
- /*!
- @method webArchive
- @result A WebArchive representing the data source, its subresources and child frames.
- @description This method constructs a WebArchive using the original downloaded data.
- In the case of HTML, if the current state of the document is preferred, webArchive should be
- called on the DOM document instead.
- - (WebArchive *)webArchive;
- */
- HRESULT webArchive([out, retval] IWebArchive** archive);
-
- /*!
- @method mainResource
- @result A WebResource representing the data source.
- @description This method constructs a WebResource using the original downloaded data.
- This method can be used to construct a WebArchive in case the archive returned by
- WebDataSource's webArchive isn't sufficient.
- - (WebResource *)mainResource;
- */
- HRESULT mainResource([out, retval] IWebResource** resource);
-
- /*!
- @method subresources
- @abstract Returns all the subresources associated with the data source.
- @description The returned array only contains subresources that have fully downloaded.
- - (NSArray *)subresources;
- */
- HRESULT subresources([out, retval] IEnumVARIANT** enumResources);
-
- /*!
- method subresourceForURL:
- @abstract Returns a subresource for a given URL.
- @param URL The URL of the subresource.
- @description Returns non-nil if the data source has fully downloaded a subresource with the given URL.
- - (WebResource *)subresourceForURL:(NSURL *)URL;
- */
- HRESULT subresourceForURL([in] BSTR url, [out, retval] IWebResource** resource);
-
- /*!
- @method addSubresource:
- @abstract Adds a subresource to the data source.
- @param subresource The subresource to be added.
- @description addSubresource: adds a subresource to the data source's list of subresources.
- Later, if something causes the data source to load the URL of the subresource, the data source
- will load the data from the subresource instead of from the network. For example, if one wants to add
- an image that is already downloaded to a web page, addSubresource: can be called so that the data source
- uses the downloaded image rather than accessing the network. NOTE: If the data source already has a
- subresource with the same URL, addSubresource: will replace it.
- - (void)addSubresource:(WebResource *)subresource;
- */
- HRESULT addSubresource([in] IWebResource* subresource);
-}
-
-[
- object,
- oleautomation,
- uuid(4B80B7D4-98D7-4a80-AF46-2AF84B2F2E8F),
- pointer_default(unique)
-]
-interface IWebDataSourcePrivate : IUnknown
-{
- HRESULT overrideEncoding([out, retval] BSTR* encoding);
- HRESULT setOverrideEncoding([in] BSTR encoding);
- HRESULT mainDocumentError([out, retval] IWebError** error);
- HRESULT setDeferMainResourceDataLoad([in] BOOL flag);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebDatabaseManager.idl b/Source/WebKit/win/Interfaces/IWebDatabaseManager.idl
deleted file mode 100644
index 4292dc643..000000000
--- a/Source/WebKit/win/Interfaces/IWebDatabaseManager.idl
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-interface IWebSecurityOrigin;
-
-cpp_quote("#define WebDatabaseDisplayNameKey TEXT(\"WebDatabaseDisplayNameKey\")")
-cpp_quote("#define WebDatabaseExpectedSizeKey TEXT(\"WebDatabaseExpectedSizeKey\")")
-cpp_quote("#define WebDatabaseUsageKey TEXT(\"WebDatabaseUsageKey\")")
-
-cpp_quote("#define WebDatabaseDidModifyOriginNotification TEXT(\"WebDatabaseDidModifyOriginNotification\")")
-cpp_quote("#define WebDatabaseDidModifyDatabaseNotification TEXT(\"WebDatabaseDidModifyDatabaseNotification\")")
-cpp_quote("#define WebDatabaseNameKey TEXT(\"WebDatabaseNameKey\")")
-
-#ifndef DO_NO_IMPORTS
-import "IWebSecurityOrigin.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(5724f010-a77b-4a42-8f89-a5095b61d469),
- pointer_default(unique)
-]
-interface IWebDatabaseManager : IUnknown
-{
- HRESULT sharedWebDatabaseManager([out, retval] IWebDatabaseManager** result);
-
- HRESULT origins([out, retval] IEnumVARIANT** result);
- HRESULT databasesWithOrigin([in] IWebSecurityOrigin* origin, [out, retval] IEnumVARIANT** result);
- HRESULT detailsForDatabase([in] BSTR databaseName, [in] IWebSecurityOrigin* origin, [out, retval] IPropertyBag **result);
-
- HRESULT deleteAllDatabases();
- HRESULT deleteOrigin([in] IWebSecurityOrigin* origin);
- HRESULT deleteDatabase([in] BSTR databaseName, [in] IWebSecurityOrigin* origin);
-
- HRESULT setQuota([in] BSTR originName, [in] unsigned long long quota);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebDesktopNotificationsDelegate.idl b/Source/WebKit/win/Interfaces/IWebDesktopNotificationsDelegate.idl
deleted file mode 100644
index 20bb54126..000000000
--- a/Source/WebKit/win/Interfaces/IWebDesktopNotificationsDelegate.idl
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-#ifndef DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-/*!
- @category WebDesktopNotification
- @discussion A class that represents a notification being shown
- on the user's desktop. It provides the contents of the notification
- and receives events related to the display.
- @interface NSObject (WebDesktopNotificationProvider)
-*/
-[
- object,
- oleautomation,
- uuid(0A0AAFA8-C698-4cff-BD28-39614622EEA4),
- pointer_default(unique)
-]
-interface IWebDesktopNotification : IUnknown
-{
- HRESULT isHTML([out, retval] BOOL* result);
- HRESULT contentsURL([out, retval] BSTR* result);
- HRESULT iconURL([out, retval] BSTR* result);
- HRESULT title([out, retval] BSTR* result);
- HRESULT text([out, retval] BSTR* result);
-
- HRESULT notifyDisplay();
- HRESULT notifyError();
- HRESULT notifyClose([in] BOOL xplicit);
-}
-
-/*!
- @category WebDesktopNotificationsDelegate
- @discussion A class that implements WebDesktopNotificationProvider provides
- methods that may be used by Javascript to display notifications ("toasts")
- on the user's desktop.
- @interface NSObject (WebDesktopNotificationProvider)
-*/
-[
- object,
- oleautomation,
- uuid(09DA073E-38B3-466a-9828-B2915FDD2ECB),
- pointer_default(unique)
-]
-
-interface IWebDesktopNotificationsDelegate : IUnknown
-{
- /*!
- @method showDesktopNotification:
- @abstract Show a notification.
- @param notification The Notification to be shown.
- */
- HRESULT showDesktopNotification([in] IWebDesktopNotification* notification);
-
- /*!
- @method cancelDesktopNotification:
- @abstract Cancel showing a notification (or take it down if it's shown).
- @param notification The Notification to be canceled.
- */
- HRESULT cancelDesktopNotification([in] IWebDesktopNotification* notification);
-
- /*!
- @method notificationDestroyed:
- @abstract Notify the presenter that the object has been destroyed. The
- notification need not be un-shown, but events should not be invoked.
- @param notification The Notification that was destroyed.
- */
- HRESULT notificationDestroyed([in] IWebDesktopNotification* notification);
-
- /*!
- @method checkNotificationPermission:
- @abstract See if the origin context is allowed to show notifications.
- @param origin The origin to be checked.
- @param result A value from WebCore::NotificationProvider::Permission enum.
- */
- HRESULT checkNotificationPermission([in] BSTR origin, [out, retval] int* result);
-
- /*!
- @method requestNotificationPermission:
- @abstract Request permission to show notifications on a given origin.
- @param origin The origin to be requested.
- */
- HRESULT requestNotificationPermission([in] BSTR origin);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebDocument.idl b/Source/WebKit/win/Interfaces/IWebDocument.idl
deleted file mode 100644
index 24097cef9..000000000
--- a/Source/WebKit/win/Interfaces/IWebDocument.idl
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebError.idl";
-import "IWebDataSource.idl";
-#endif
-
-interface IWebError;
-interface IWebDataSource;
-
-/*!
- @protocol WebDocumentView
- @discussion Protocol implemented by the document view of WebFrameView
-
- @protocol WebDocumentView <NSObject>
-*/
-[
- object,
- oleautomation,
- uuid(0A6397A7-90FE-49a0-B9C1-44693DD779F7),
- pointer_default(unique)
-]
-interface IWebDocumentView : IUnknown
-{
- /*!
- @method setDataSource:
- @abstract Called when the corresponding data source has been created.
- @param dataSource The corresponding data source.
- - (void)setDataSource:(WebDataSource *)dataSource;
- */
- HRESULT setDataSource([in] IWebDataSource* dataSource);
-
- /*!
- @method dataSourceUpdated:
- @abstract Called when the corresponding data source has received data.
- @param dataSource The corresponding data source.
- - (void)dataSourceUpdated:(WebDataSource *)dataSource;
- */
- HRESULT dataSourceUpdated([in] IWebDataSource* dataSource);
-
- /*!
- @method setNeedsLayout:
- @discussion Called when WebKit has determined that the document view needs to layout.
- This method should simply set a flag and call layout from drawRect if the flag is YES.
- @param flag YES to cause a layout, no to not cause a layout.
- - (void)setNeedsLayout:(BOOL)flag;
- */
- HRESULT setNeedsLayout([in] BOOL flag);
-
- /*!
- @method layout
- @discussion Called when the document view must immediately layout. For simple views,
- setting the frame is a sufficient implementation of this method.
- - (void)layout;
- */
- HRESULT layout();
-
- /*!
- @method viewWillMoveToHostWindow:
- @param hostWindow The host window for the document view.
- @abstract Called before the host window is set on the parent web view.
- - (void)viewWillMoveToHostWindow:(NSWindow *)hostWindow;
- */
- HRESULT viewWillMoveToHostWindow([in] OLE_HANDLE hwnd);
-
- /*!
- @method viewDidMoveToHostWindow
- @abstract Called after the host window is set on the parent web view.
- - (void)viewDidMoveToHostWindow;
- */
- HRESULT viewDidMoveToHostWindow();
-}
-
-/*!
- @protocol WebDocumentSearching
- @discussion Optional protocol for searching document view of WebFrameView.
-
- @protocol WebDocumentSearching <NSObject>
-*/
-[
- object,
- oleautomation,
- uuid(0213643B-8DF9-4ba4-9534-61D92CB75007),
- pointer_default(unique)
-]
-interface IWebDocumentSearching : IUnknown
-{
- /*!
- @method searchFor:direction:caseSensitive:wrap:
- @abstract Searches a document view for a string and highlights the string if it is found.
- @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.
- @result YES if found, NO if not found.
- - (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag;
- */
- HRESULT searchFor([in] BSTR str, [in] BOOL forwardDirection, [in] BOOL caseSensitive, [in] BOOL wrap, [out, retval] BOOL* result);
-}
-
-/*!
- @protocol WebDocumentText
- @discussion Optional protocol for supporting text operations.
-
- @protocol WebDocumentText <NSObject>
-*/
-[
- object,
- oleautomation,
- uuid(B6282B92-6F31-4948-A3A0-89763C56BBBF),
- pointer_default(unique)
-]
-interface IWebDocumentText : IUnknown
-{
- /*!
- @method supportsTextEncoding
- @result YES if the document view support text encoding, NO if it doesn't.
- - (BOOL)supportsTextEncoding;
- */
- HRESULT supportsTextEncoding([out, retval] BOOL* result);
-
- /*!
- @method string
- @result String that represents the entire document.
- - (NSString *)string;
- */
- HRESULT string([out, retval] BSTR* result);
-
- /*!
- @method selectedString
- @result String that represents the current selection.
- - (NSString *)selectedString;
- */
- HRESULT selectedString([out, retval] BSTR* result);
-
- /*!
- @method selectAll
- @abstract Selects all the text in the document.
- - (void)selectAll;
- */
- HRESULT selectAll();
-
- /*!
- @method deselectText
- @abstract Causes a text selection to lose its selection.
- - (void)deselectAll;
- */
- HRESULT deselectAll();
-}
-
-/*!
- @protocol WebDocumentRepresentation
- @discussion Protocol implemented by the document representation of a data source.
-
- @protocol WebDocumentRepresentation <NSObject>
-*/
-[
- object,
- oleautomation,
- uuid(3C9F6251-CFD8-447a-B429-6B6AE627436C),
- pointer_default(unique)
-]
-interface IWebDocumentRepresentation : IUnknown
-{
- /*!
- @method setDataSource:
- @abstract Called soon after the document representation is created.
- @param dataSource The data source that is set.
- - (void)setDataSource:(WebDataSource *)dataSource;
- */
- HRESULT setDataSource([in] IWebDataSource* dataSource);
-
- /*!
- @method receivedData:withDataSource:
- @abstract Called when the data source has received data.
- @param data The data that the data source has received.
- @param dataSource The data source that has received data.
- - (void)receivedData:(NSData *)data withDataSource:(WebDataSource *)dataSource;
- */
- HRESULT receivedData([in] IStream* data, [in] IWebDataSource* dataSource);
-
- /*!
- @method receivedError:withDataSource:
- @abstract Called when the data source has received an error.
- @param error The error that the data source has received.
- @param dataSource The data source that has received the error.
- - (void)receivedError:(NSError *)error withDataSource:(WebDataSource *)dataSource;
- */
- HRESULT receivedError([in] IWebError* error, [in] IWebDataSource* dataSource);
-
- /*!
- @method finishedLoadingWithDataSource:
- @abstract Called when the data source has finished loading.
- @param dataSource The datasource that has finished loading.
- - (void)finishedLoadingWithDataSource:(WebDataSource *)dataSource;
- */
- HRESULT finishedLoadingWithDataSource([in] IWebDataSource* dataSource);
-
- /*!
- @method canProvideDocumentSource
- @result Returns true if the representation can provide document source.
- - (BOOL)canProvideDocumentSource;
- */
- HRESULT canProvideDocumentSource([out, retval] BOOL* result);
-
- /*!
- @method documentSource
- @result Returns the textual source representation of the document. For HTML documents
- this is the original HTML source.
- - (NSString *)documentSource;
- */
- HRESULT documentSource([out, retval] BSTR* source);
-
- /*!
- @method title
- @result Return the title for the document.
- - (NSString *)title;
- */
- HRESULT title([out, retval] BSTR* docTitle);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebDownload.idl b/Source/WebKit/win/Interfaces/IWebDownload.idl
deleted file mode 100644
index eb644efb2..000000000
--- a/Source/WebKit/win/Interfaces/IWebDownload.idl
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
- * 2007 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebError.idl";
-import "IWebMutableURLRequest.idl";
-import "IWebURLAuthenticationChallenge.idl";
-import "IWebURLResponse.idl";
-import "IWebURLRequest.idl";
-#endif
-
-interface IWebDownloadDelegate;
-interface IWebError;
-interface IWebMutableURLRequest;
-interface IWebURLAuthenticationChallenge;
-interface IWebURLRequest;
-interface IWebURLResponse;
-
-/*!
- @class WebDownload
- @discussion A WebDownload works just like an NSURLDownload, with
- one extra feature: if you do not implement the
- authentication-related delegate methods, it will automatically
- prompt for authentication using the standard WebKit authentication
- panel, as either a sheet or window. It provides no extra methods,
- but does have one additional delegate method.
-*/
-
-[
- object,
- oleautomation,
- hidden,
- uuid(65EFE83B-A9E4-4516-8F3B-BAA25DA90FFD),
- pointer_default(unique)
-]
-interface IWebDownload : IUnknown
-{
- /*
- + (BOOL)canResumeDownloadDecodedWithEncodingMIMEType:(NSString *)MIMEType
- */
- HRESULT canResumeDownloadDecodedWithEncodingMIMEType([in] BSTR mimeType, [out, retval] BOOL* result);
-
- /*
- - (void)cancel
- */
- HRESULT cancel();
-
- /*
- - (void)cancelForResume();
- */
- HRESULT cancelForResume();
-
- /*
- - (void)start
- */
- HRESULT start();
-
- /*
- - (BOOL)deletesFileUponFailure
- */
- HRESULT deletesFileUponFailure([out, retval] BOOL* result);
-
- /*
- - (id)initWithRequest:(NSURLRequest *)request delegate:(id)delegate
- */
- HRESULT initWithRequest([in] IWebURLRequest* request, [in] IWebDownloadDelegate* delegate);
-
- /*
- - (id)initWithResumeData:(NSData *)resumeData delegate:(id)delegate path:(NSString *)path
- */
- HRESULT initToResumeWithBundle([in] BSTR bundlePath, [in] IWebDownloadDelegate* delegate);
-
- /*
- - (String)bundlePathForTargetPath:(String)targetPath
- */
- HRESULT bundlePathForTargetPath([in] BSTR target, [out, retval] BSTR* bundle);
-
- /*
- - (NSURLRequest *)request
- */
- HRESULT request([out, retval] IWebURLRequest** request);
-
- /*
- - (void)setDeletesFileUponFailure:(BOOL)deletesFileUponFailure
- */
- HRESULT setDeletesFileUponFailure([in] BOOL deletesFileUponFailure);
-
- /*
- - (void)setDestination:(NSString *)path allowOverwrite:(BOOL)allowOverwrite
- */
- HRESULT setDestination([in] BSTR path, [in] BOOL allowOverwrite);
-}
-
-
-/*!
- @protocol WebDownloadDelegate
- @discussion The WebDownloadDelegate delegate has one extra method used to choose
- the right window when automatically prompting with a sheet.
- @interface NSObject (WebDownloadDelegate)
-*/
-
-[
- object,
- oleautomation,
- uuid(16A32AE6-C862-40cd-9225-2CAF823F40F9),
- pointer_default(unique)
-]
-interface IWebDownloadDelegate : IUnknown
-{
- HRESULT decideDestinationWithSuggestedFilename([in] IWebDownload* download, [in] BSTR filename);
-
- HRESULT didCancelAuthenticationChallenge([in] IWebDownload* download, [in] IWebURLAuthenticationChallenge* challenge);
-
- HRESULT didCreateDestination([in] IWebDownload* download, [in] BSTR destination);
-
- HRESULT didFailWithError([in] IWebDownload* download, [in] IWebError* error);
-
- HRESULT didReceiveAuthenticationChallenge([in] IWebDownload* download, [in] IWebURLAuthenticationChallenge* challenge);
-
- HRESULT didReceiveDataOfLength([in] IWebDownload* download, [in] unsigned length);
-
- HRESULT didReceiveResponse([in] IWebDownload* download, [in] IWebURLResponse* response);
-
- HRESULT shouldDecodeSourceDataOfMIMEType([in] IWebDownload* download, [in] BSTR encodingType, [out, retval] BOOL* shouldDecode);
-
- HRESULT willResumeWithResponse([in] IWebDownload* download, [in] IWebURLResponse* response, [in] long long fromByte);
-
- HRESULT willSendRequest([in] IWebDownload* download, [in] IWebMutableURLRequest* request, [in] IWebURLResponse* redirectResponse, [out] IWebMutableURLRequest** finalRequest);
-
- HRESULT didBegin([in] IWebDownload* download);
-
- HRESULT didFinish([in] IWebDownload* download);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebEditingDelegate.idl b/Source/WebKit/win/Interfaces/IWebEditingDelegate.idl
deleted file mode 100644
index b92aad2f6..000000000
--- a/Source/WebKit/win/Interfaces/IWebEditingDelegate.idl
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebNotification.idl";
-import "DOMCore.idl";
-import "DOMCSS.idl";
-import "DOMRange.idl";
-import "IWebUndoManager.idl";
-import "IWebView.idl";
-#endif
-
-interface IDOMCSSStyleDeclaration;
-interface IDOMNode;
-interface IDOMRange;
-interface IWebView;
-interface IWebNotification;
-interface IWebUndoManager;
-
-typedef enum _WebViewInsertAction {
- WebViewInsertActionTyped,
- WebViewInsertActionPasted,
- WebViewInsertActionDropped,
-} WebViewInsertAction;
-
-[
- object,
- oleautomation,
- uuid(B0F960E7-FB81-447f-A958-E02DA02ADBB7),
- pointer_default(unique)
-]
-interface IEnumSpellingGuesses : IUnknown
-{
- HRESULT Next(ULONG celt, [out] BSTR* guess, [out] ULONG* pceltFetched);
- HRESULT Skip(ULONG celt);
- HRESULT Reset(void);
- HRESULT Clone([out, retval] IEnumSpellingGuesses** ppenum);
-};
-
-[
- object,
- oleautomation,
- uuid(8B95C1B3-E1B3-4f97-80D6-2240417E3E0C),
- pointer_default(unique)
-]
-interface IWebGrammarDetail : IUnknown
-{
- HRESULT location([out, retval] int* value);
- HRESULT length([out, retval] int* value);
- HRESULT userDescription([out, retval] BSTR* value);
- HRESULT guesses([out, retval] IEnumSpellingGuesses** guesses);
-}
-
-[
- object,
- oleautomation,
- uuid(FABCC69A-5917-4242-A19A-42E8B62227A7),
- pointer_default(unique)
-]
-interface IEnumWebGrammarDetails : IUnknown
-{
- HRESULT Next(ULONG celt, [out] IWebGrammarDetail** detail, [out] ULONG* pceltFetched);
- HRESULT Skip(ULONG celt);
- HRESULT Reset(void);
- HRESULT Clone([out, retval] IEnumSpellingGuesses** ppenum);
-};
-
-/*
- @interface NSObject (WebViewEditingDelegate)
-*/
-[
- object,
- oleautomation,
- uuid(2C75A1E3-EE9D-45c8-A385-19DE68AC5675),
- pointer_default(unique)
-]
-interface IWebEditingDelegate : IUnknown
-{
- /*
- - (BOOL)webView:(WebView *)webView shouldBeginEditingInDOMRange:(DOMRange *)range;
- */
- HRESULT shouldBeginEditingInDOMRange([in] IWebView* webView, [in] IDOMRange* range, [out, retval] BOOL* result);
-
- /*
- - (BOOL)webView:(WebView *)webView shouldEndEditingInDOMRange:(DOMRange *)range;
- */
- HRESULT shouldEndEditingInDOMRange([in] IWebView* webView, [in] IDOMRange* range, [out, retval] BOOL* result);
-
- /*
- - (BOOL)webView:(WebView *)webView shouldInsertNode:(DOMNode *)node replacingDOMRange:(DOMRange *)range givenAction:(WebViewInsertAction)action;
- */
- HRESULT shouldInsertNode([in] IWebView* webView, [in] IDOMNode* node, [in] IDOMRange* range, [in] WebViewInsertAction action);
-
- /*
- - (BOOL)webView:(WebView *)webView shouldInsertText:(NSString *)text replacingDOMRange:(DOMRange *)range givenAction:(WebViewInsertAction)action;
- */
- HRESULT shouldInsertText([in] IWebView* webView, [in] BSTR text, [in] IDOMRange* range, [in] WebViewInsertAction action, [out, retval] BOOL* result);
-
- /*
- - (BOOL)webView:(WebView *)webView shouldDeleteDOMRange:(DOMRange *)range;
- */
- HRESULT shouldDeleteDOMRange([in] IWebView* webView, [in] IDOMRange* range, [out, retval] BOOL* result);
-
- /*
- - (BOOL)webView:(WebView *)webView shouldChangeSelectedDOMRange:(DOMRange *)currentRange toDOMRange:(DOMRange *)proposedRange affinity:(NSSelectionAffinity)selectionAffinity stillSelecting:(BOOL)flag;
- */
- HRESULT shouldChangeSelectedDOMRange([in] IWebView* webView, [in] IDOMRange* currentRange, [in] IDOMRange* proposedRange, [in] WebSelectionAffinity selectionAffinity, [in] BOOL stillSelecting, [out, retval] BOOL* result);
- /*
- - (BOOL)webView:(WebView *)webView shouldApplyStyle:(DOMCSSStyleDeclaration *)style toElementsInDOMRange:(DOMRange *)range;
- */
- HRESULT shouldApplyStyle([in] IWebView* webView, [in] IDOMCSSStyleDeclaration* style, [in] IDOMRange* range, [out, retval] BOOL* result);
-
- /*
- - (BOOL)webView:(WebView *)webView shouldChangeTypingStyle:(DOMCSSStyleDeclaration *)currentStyle toStyle:(DOMCSSStyleDeclaration *)proposedStyle;
- */
- HRESULT shouldChangeTypingStyle([in] IWebView* webView, [in] IDOMCSSStyleDeclaration* currentStyle, [in] IDOMCSSStyleDeclaration* proposedStyle, [out, retval] BOOL* result);
-
- /*
- - (BOOL)webView:(WebView *)webView doCommandBySelector:(SEL)selector;
- */
- HRESULT doPlatformCommand([in] IWebView* webView, [in] BSTR command, [out, retval] BOOL* result);
-
- /*
- - (void)webViewDidBeginEditing:(NSNotification *)notification;
- */
- HRESULT webViewDidBeginEditing([in] IWebNotification* notification);
-
- /*
- - (void)webViewDidChange:(NSNotification *)notification;
- */
- HRESULT webViewDidChange([in] IWebNotification* notification);
-
- /*
- - (void)webViewDidEndEditing:(NSNotification *)notification;
- */
- HRESULT webViewDidEndEditing([in] IWebNotification* notification);
-
- /*
- - (void)webViewDidChangeTypingStyle:(NSNotification *)notification;
- */
- HRESULT webViewDidChangeTypingStyle([in] IWebNotification* notification);
-
- /*
- - (void)webViewDidChangeSelection:(NSNotification *)notification;
- */
- HRESULT webViewDidChangeSelection([in] IWebNotification* notification);
-
- /*
- - (NSUndoManager *)undoManagerForWebView:(WebView *)webView;
- */
- HRESULT undoManagerForWebView([in] IWebView* webView, [out, retval] IWebUndoManager** undoManager);
-
- HRESULT ignoreWordInSpellDocument([in] IWebView* view, [in] BSTR word);
- HRESULT learnWord([in] BSTR word);
- HRESULT checkSpellingOfString([in] IWebView* view, [in] LPCTSTR text, [in] int length, [out] int* misspellingLocation, [out] int* misspellingLength);
- HRESULT checkGrammarOfString([in] IWebView* view, [in] LPCTSTR text, [in] int length, [out] IEnumWebGrammarDetails** grammarDetails, [out] int* badGrammarLocation, [out] int* badGrammarLength);
- HRESULT updateSpellingUIWithGrammarString([in] BSTR string, [in] int location, [in] int length, [in] BSTR userDescription, [in] BSTR* guesses, [in] int guessesCount);
- HRESULT updateSpellingUIWithMisspelledWord([in] BSTR word);
- HRESULT showSpellingUI([in] BOOL show);
- HRESULT spellingUIIsShowing([out, retval] BOOL* result);
- HRESULT guessesForWord([in] BSTR word, [out, retval] IEnumSpellingGuesses** guesses);
- HRESULT closeSpellDocument([in] IWebView* view);
- HRESULT sharedSpellCheckerExists([out, retval] BOOL* exists);
- HRESULT preflightChosenSpellServer();
- HRESULT updateGrammar();
-}
diff --git a/Source/WebKit/win/Interfaces/IWebEmbeddedView.idl b/Source/WebKit/win/Interfaces/IWebEmbeddedView.idl
deleted file mode 100644
index 14b61fd2f..000000000
--- a/Source/WebKit/win/Interfaces/IWebEmbeddedView.idl
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(F2771780-84C2-4684-8D52-D4F923E67F71),
- pointer_default(unique)
-]
-interface IWebEmbeddedView : IUnknown
-{
- HRESULT createViewWindow([in] OLE_HANDLE parentWindow, [in] LPSIZE pluginSize, [out, retval] OLE_HANDLE* window);
-
- HRESULT didReceiveResponse([in] IWebURLResponse* response);
- HRESULT didReceiveData([in] IStream* data);
- HRESULT didFinishLoading();
- HRESULT didFail([in] IWebError* error);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebError.idl b/Source/WebKit/win/Interfaces/IWebError.idl
deleted file mode 100644
index e4a4ae9da..000000000
--- a/Source/WebKit/win/Interfaces/IWebError.idl
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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.
- */
-
-cpp_quote("#define WebURLErrorDomain TEXT(\"CFURLErrorDomain\")")
-/*!
- @enum NSURL-related Error Codes
- @abstract Constants used by NSError to indicate errors in the WebFoundation domain
- @discussion Documentation on each constant forthcoming.
-*/
-enum
-{
- WebURLErrorUnknown = -1,
- WebURLErrorCancelled = -999,
- WebURLErrorBadURL = -1000,
- WebURLErrorTimedOut = -1001,
- WebURLErrorUnsupportedURL = -1002,
- WebURLErrorCannotFindHost = -1003,
- WebURLErrorCannotConnectToHost = -1004,
- WebURLErrorNetworkConnectionLost = -1005,
- WebURLErrorDNSLookupFailed = -1006,
- WebURLErrorHTTPTooManyRedirects = -1007,
- WebURLErrorResourceUnavailable = -1008,
- WebURLErrorNotConnectedToInternet = -1009,
- WebURLErrorRedirectToNonExistentLocation = -1010,
- WebURLErrorBadServerResponse = -1011,
- WebURLErrorUserCancelledAuthentication = -1012,
- WebURLErrorUserAuthenticationRequired = -1013,
- WebURLErrorZeroByteResource = -1014,
- WebURLErrorFileDoesNotExist = -1100,
- WebURLErrorFileIsDirectory = -1101,
- WebURLErrorNoPermissionsToReadFile = -1102,
- WebURLErrorSecureConnectionFailed = -1200,
- WebURLErrorServerCertificateHasBadDate = -1201,
- WebURLErrorServerCertificateUntrusted = -1202,
- WebURLErrorServerCertificateHasUnknownRoot = -1203,
- WebURLErrorServerCertificateNotYetValid = -1204,
- WebURLErrorClientCertificateRejected = -1205,
- WebURLErrorClientCertificateRequired = -1206,
- WebURLErrorCannotLoadFromNetwork = -2000,
-
- // Download and file I/O errors
- WebURLErrorCannotCreateFile = -3000,
- WebURLErrorCannotOpenFile = -3001,
- WebURLErrorCannotCloseFile = -3002,
- WebURLErrorCannotWriteToFile = -3003,
- WebURLErrorCannotRemoveFile = -3004,
- WebURLErrorCannotMoveFile = -3005,
- WebURLErrorDownloadDecodingFailedMidStream = -3006,
- WebURLErrorDownloadDecodingFailedToComplete =-3007,
-};
-
-cpp_quote("#define WebKitErrorDomain TEXT(\"WebKitErrorDomain\")")
-/*!
- @enum
- @abstract Policy errors
- @constant WebKitErrorCannotShowMIMEType
- @constant WebKitErrorCannotShowURL
- @constant WebKitErrorFrameLoadInterruptedByPolicyChange
-*/
-enum {
- WebKitErrorCannotShowMIMEType = 100,
- WebKitErrorCannotShowURL = 101,
- WebKitErrorFrameLoadInterruptedByPolicyChange = 102,
- WebKitErrorCannotUseRestrictedPort = 103,
-};
-
-/*!
- @enum
- @abstract Plug-in and java errors
- @constant WebKitErrorCannotFindPlugIn
- @constant WebKitErrorCannotLoadPlugIn
- @constant WebKitErrorJavaUnavailable
-*/
-enum {
- WebKitErrorCannotFindPlugIn = 200,
- WebKitErrorCannotLoadPlugIn = 201,
- WebKitErrorJavaUnavailable = 202,
-};
-
-/*!
- @enum
- @abstract Geolocation errors
- @constant WebKitErrorGeolocationLocationUnknown
-*/
-enum {
- WebKitErrorGeolocationLocationUnknown = 300,
-};
-
-cpp_quote("#define WebKitErrorMIMETypeKey TEXT(\"WebKitErrorMIMETypeKey\")")
-cpp_quote("#define WebKitErrorPlugInNameKey TEXT(\"WebKitErrorPlugInNameKey\")")
-cpp_quote("#define WebKitErrorPlugInPageURLStringKey TEXT(\"WebKitErrorPlugInPageURLStringKey\")")
-
-cpp_quote("#define WebPOSIXErrorDomain TEXT(\"NSPOSIXErrorDomain\")")
-cpp_quote("#define WebPOSIXErrorECONNRESET 54")
-
-#ifndef DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- hidden,
- uuid(89E3B189-0B60-4d6b-A87A-3F1172CB5538),
- pointer_default(unique)
-]
-interface IWebError : IUnknown
-{
- HRESULT init([in] BSTR domain, [in] int code, [in] BSTR url);
-
- /*
- - (int)code
- */
- HRESULT code([out, retval] int* result);
-
- /*
- - (NSString *)domain
- */
- HRESULT domain([out, retval] BSTR* result);
-
- /*
- - (NSString *)localizedDescription
- */
- HRESULT localizedDescription([out, retval] BSTR* result);
-
- /*
- - (NSString *)localizedFailureReason
- */
- HRESULT localizedFailureReason([out, retval] BSTR* result);
-
- /*
- - (NSArray *)localizedRecoveryOptions
- */
- HRESULT localizedRecoveryOptions([out, retval] IEnumVARIANT** enumOptions);
-
- /*
- - (NSString *)localizedRecoverySuggestion
- */
- HRESULT localizedRecoverySuggestion([out, retval] BSTR* result);
-
- /*
- - (id)recoverAttempter
- */
- HRESULT recoverAttempter([out, retval] IUnknown** result);
-
- /*
- - (NSDictionary *)userInfo
- */
- HRESULT userInfo([out, retval] IPropertyBag** result);
-
- HRESULT failingURL([out, retval] BSTR* result);
-
- HRESULT isPolicyChangeError([out, retval] BOOL* result);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebErrorPrivate.idl b/Source/WebKit/win/Interfaces/IWebErrorPrivate.idl
deleted file mode 100644
index d450c8867..000000000
--- a/Source/WebKit/win/Interfaces/IWebErrorPrivate.idl
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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 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.
- */
-
-cpp_quote("#define WebKitErrorPlugInCancelledConnection 203")
-cpp_quote("// FIXME: WebKitErrorPlugInWillHandleLoad is used for the cancel we do to prevent loading plugin content twice. See <rdar://problem/4258008>")
-cpp_quote("#define WebKitErrorPlugInWillHandleLoad 204")
-
-cpp_quote("#define WebErrorFailingURLKey TEXT(\"WebErrorFailingURLKey\")")
-
-#ifndef DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(19FED49C-7016-48a6-B5C6-07ADE116531B),
- pointer_default(unique)
-]
-
-interface IWebErrorPrivate : IUnknown
-{
- HRESULT sslPeerCertificate([out, retval] OLE_HANDLE* result);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebFormDelegate.idl b/Source/WebKit/win/Interfaces/IWebFormDelegate.idl
deleted file mode 100644
index bf103c44a..000000000
--- a/Source/WebKit/win/Interfaces/IWebFormDelegate.idl
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "DOMHTML.idl";
-import "IWebFrame.idl";
-#endif
-
-interface IDOMElement;
-interface IDOMHTMLInputElement;
-interface IDOMHTMLTextAreaElement;
-interface IWebFrame;
-
-/*!
- @protocol WebFormSubmissionListener
- @discussion .
-*/
-[
- object,
- oleautomation,
- uuid(1911D650-035E-4204-8746-ABECF77A4C9B),
- pointer_default(unique)
-]
-interface IWebFormSubmissionListener : IUnknown
-{
- HRESULT continueSubmit();
-}
-
-/*!
- @class WebFormDelegate
- @discussion The WebFormDelegate class responds to all WebFormDelegate protocol
- methods by doing nothing. It's provided for the convenience of clients who only want
- to implement some of the above methods and ignore others.
-*/
-/*!
- @protocol WebFormDelegate
- @discussion .
-
- Various methods send by controls that edit text to their delegates, which are all
- analogous to similar methods in AppKit/NSControl.h.
- These methods are forwarded from widgets used in forms to the WebFormDelegate.
-*/
-[
- object,
- oleautomation,
- uuid(4CBEC1BD-ABC3-4bdb-8E5E-4D3BCF9E8C1E),
- pointer_default(unique)
-]
-interface IWebFormDelegate : IUnknown
-{
- //- (void)textFieldDidBeginEditing:(DOMHTMLInputElement *)element inFrame:(WebFrame *)frame;
- HRESULT textFieldDidBeginEditing([in] IDOMHTMLInputElement* element, [in] IWebFrame* frame);
-
- //- (void)textFieldDidEndEditing:(DOMHTMLInputElement *)element inFrame:(WebFrame *)frame;
- HRESULT textFieldDidEndEditing([in] IDOMHTMLInputElement* element, [in] IWebFrame* frame);
-
- //- (void)textDidChangeInTextField:(DOMHTMLInputElement *)element inFrame:(WebFrame *)frame;
- HRESULT textDidChangeInTextField([in] IDOMHTMLInputElement* element, [in] IWebFrame* frame);
-
- //- (void)textDidChangeInTextArea:(DOMHTMLTextAreaElement *)element inFrame:(WebFrame *)frame;
- HRESULT textDidChangeInTextArea([in] IDOMHTMLTextAreaElement* element, [in] IWebFrame* frame);
-
- //- (BOOL)textField:(DOMHTMLInputElement *)element doCommandBySelector:(SEL)commandSelector inFrame:(WebFrame *)frame;
- HRESULT doPlatformCommand([in] IDOMHTMLInputElement* element, [in] BSTR command, [in] IWebFrame* frame, [out, retval] BOOL* result);
-
- //- (BOOL)textField:(DOMHTMLInputElement *)element shouldHandleEvent:(NSEvent *)event inFrame:(WebFrame *)frame;
- [local] HRESULT shouldHandleEvent([in] IDOMHTMLInputElement* element, [in] void* event, [in] IWebFrame* frame, [out, retval] BOOL* result);
-
- // Sent when a form is just about to be submitted (before the load is started)
- // listener must be sent continue when the delegate is done.
- //- (void)frame:(WebFrame *)frame sourceFrame:(WebFrame *)sourceFrame willSubmitForm:(DOMElement *)form withValues:(NSDictionary *)values submissionListener:(id <WebFormSubmissionListener>)listener;
- HRESULT willSubmitForm([in] IWebFrame* frame, [in] IWebFrame* sourceFrame, [in] IDOMElement* form, [in] IPropertyBag* values, [in] IWebFormSubmissionListener* listener);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebFrame.idl b/Source/WebKit/win/Interfaces/IWebFrame.idl
deleted file mode 100644
index 509400916..000000000
--- a/Source/WebKit/win/Interfaces/IWebFrame.idl
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "DOMHTML.idl";
-import "IWebArchive.idl";
-import "IWebFrameView.idl";
-import "IWebView.idl";
-import "IWebURLRequest.idl";
-import "DOMCore.idl";
-#endif
-
-cpp_quote("// this is done to get midl to treat the JavaScriptCore API types as pointer types")
-cpp_quote("#if 0")
-typedef void* JSGlobalContextRef;
-cpp_quote("#else")
-cpp_quote("typedef struct OpaqueJSContext* JSGlobalContextRef;")
-cpp_quote("#endif")
-
-interface IDOMDocument;
-interface IDOMElement;
-interface IDOMHTMLElement;
-interface IWebURLRequest;
-interface IWebArchive;
-interface IWebDataSource;
-interface IWebFramePrivate;
-interface IWebFrameView;
-interface IWebView;
-
-/*!
- @class WebFrame
- @discussion Every web page is represented by at least one WebFrame. A WebFrame
- has a WebFrameView and a WebDataSource.
- @interface WebFrame : NSObject
-*/
-[
- object,
- oleautomation,
- uuid(B4B22EF7-DD43-4d01-A992-99C4A8B1F845),
- pointer_default(unique)
-]
-interface IWebFrame : IUnknown
-{
- /*!
- @method name
- @result The frame name.
- - (NSString *)name;
- */
- HRESULT name([out, retval] BSTR* frameName);
-
- /*!
- @method webView
- @result Returns the WebView for the document that includes this frame.
- - (WebView *)webView;
- */
- HRESULT webView([out, retval] IWebView** view);
-
- /*!
- @method frameView
- @result The WebFrameView for this frame.
- - (WebFrameView *)frameView;
- */
- HRESULT frameView([out, retval] IWebFrameView** view);
-
- /*!
- @method DOMDocument
- @abstract Returns the DOM document of the frame.
- @description Returns nil if the frame does not contain a DOM document such as a standalone image.
- - (DOMDocument *)DOMDocument;
- */
- HRESULT DOMDocument([out, retval] IDOMDocument** document);
-
- /*!
- @method frameElement
- @abstract Returns the frame element of the frame.
- @description The class of the result is either DOMHTMLFrameElement, DOMHTMLIFrameElement or DOMHTMLObjectElement.
- Returns nil if the frame is the main frame since there is no frame element for the frame in this case.
- - (DOMHTMLElement *)frameElement;
- */
- HRESULT frameElement([out, retval] IDOMHTMLElement** frameElement);
-
- /*!
- @method loadRequest:
- @param request The web request to load.
- - (void)loadRequest:(NSURLRequest *)request;
- */
- HRESULT loadRequest([in] IWebURLRequest* request);
-
- /*!
- @method loadData:MIMEType:textEncodingName:baseURL:
- @param data The data to use for the main page of the document.
- @param MIMEType The MIME type of the data.
- @param encodingName The encoding of the data.
- @param URL The base URL to apply to relative URLs within the document.
- - (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)URL;
- */
- HRESULT loadData([in] IStream* data, [in] BSTR mimeType, [in] BSTR textEncodingName, [in] BSTR url);
-
- /*!
- @method loadHTMLString:baseURL:
- @param string The string to use for the main page of the document.
- @param URL The base URL to apply to relative URLs within the document.
- - (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)URL;
- */
- HRESULT loadHTMLString([in] BSTR string, [in] BSTR baseURL);
-
- /*!
- @method loadAlternateHTMLString:baseURL:forUnreachableURL:
- @abstract Loads a page to display as a substitute for a URL that could not be reached.
- @discussion This allows clients to display page-loading errors in the webview itself.
- This is typically called while processing the WebFrameLoadDelegate method
- -webView:didFailProvisionalLoadWithError:forFrame: or one of the the WebPolicyDelegate methods
- -webView:decidePolicyForMIMEType:request:frame:decisionListener: or
- -webView:unableToImplementPolicyWithError:frame:. If it is called from within one of those
- three delegate methods then the back/forward list will be maintained appropriately.
- @param string The string to use for the main page of the document.
- @param baseURL The baseURL to apply to relative URLs within the document.
- @param unreachableURL The URL for which this page will serve as alternate content.
- - (void)loadAlternateHTMLString:(NSString *)string baseURL:(NSURL *)baseURL forUnreachableURL:(NSURL *)unreachableURL;
- */
- HRESULT loadAlternateHTMLString([in] BSTR str, [in] BSTR baseURL, [in] BSTR unreachableURL);
-
- /*!
- @method loadArchive:
- @abstract Causes WebFrame to load a WebArchive.
- @param archive The archive to be loaded.
- - (void)loadArchive:(WebArchive *)archive;
- */
- HRESULT loadArchive([in] IWebArchive* archive);
-
- /*!
- @method dataSource
- @discussion Returns the committed data source. Will return nil if the
- provisional data source hasn't yet been loaded.
- @result The datasource for this frame.
- - (WebDataSource *)dataSource;
- */
- HRESULT dataSource([out, retval] IWebDataSource** source);
-
- /*!
- @method provisionalDataSource
- @discussion Will return the provisional data source. The provisional data source will
- be nil if no data source has been set on the frame, or the data source
- has successfully transitioned to the committed data source.
- @result The provisional datasource of this frame.
- - (WebDataSource *)provisionalDataSource;
- */
- HRESULT provisionalDataSource([out, retval] IWebDataSource** source);
-
- /*!
- @method stopLoading
- @discussion Stop any pending loads on the frame's data source,
- and its children.
- - (void)stopLoading;
- */
- HRESULT stopLoading();
-
- /*!
- @method reload
- - (void)reload;
- */
- HRESULT reload();
-
- /*!
- @method findFrameNamed:
- @discussion This method returns a frame with the given name. findFrameNamed returns self
- for _self and _current, the parent frame for _parent and the main frame for _top.
- findFrameNamed returns self for _parent and _top if the receiver is the mainFrame.
- findFrameNamed first searches from the current frame to all descending frames then the
- rest of the frames in the WebView. If still not found, findFrameNamed searches the
- frames of the other WebViews.
- @param name The name of the frame to find.
- @result The frame matching the provided name. nil if the frame is not found.
- - (WebFrame *)findFrameNamed:(NSString *)name;
- */
- HRESULT findFrameNamed([in] BSTR name, [out, retval] IWebFrame** frame);
-
- /*!
- @method parentFrame
- @result The frame containing this frame, or nil if this is a top level frame.
- - (WebFrame *)parentFrame;
- */
- HRESULT parentFrame([out, retval] IWebFrame** frame);
-
- /*!
- @method childFrames
- @discussion The frames in the array are associated with a frame set or iframe.
- @result Returns an array of WebFrame.
- - (NSArray *)childFrames;
- */
- HRESULT childFrames([out, retval] IEnumVARIANT** enumFrames);
-
-
- /* This is a DOMElement on mac, but maybe should be a DOMHTMLFrameElement? */
- HRESULT currentForm([out, retval] IDOMElement** frameElement);
-
- /*!
- @method setAllowsScrolling:
- @abstract Sets whether the WebFrameView allows its document to be scrolled
- @param flag YES to allow the document to be scrolled, NO to disallow scrolling
- - (void)setAllowsScrolling:(BOOL)flag;
- */
- HRESULT setAllowsScrolling([in] BOOL flag);
-
- /*!
- @method allowsScrolling
- @abstract Returns whether the WebFrameView allows its document to be scrolled
- @result YES if the document is allowed to scroll, otherwise NO
- - (BOOL)allowsScrolling;
- */
- HRESULT allowsScrolling([out, retval] BOOL* flag);
-
- /*!
- @method globalContext
- @result The frame's global JavaScript execution context. Use this method to
- bridge between the WebKit and JavaScriptCore APIs.
- */
- [local] JSGlobalContextRef globalContext();
-
- /*!
- @method setIsDisconnected
- @abstract Set whether a frame is disconnected
- @param flag YES to mark the frame as disconnected, NO keeps it a regular frame
- */
- HRESULT setIsDisconnected([in] BOOL flag);
-
- /*!
- @method setExcludeFromTextSearch
- @abstract Set whether a frame should be excluded from text search
- @param flag YES to mark the frame as not searchable
- */
- HRESULT setExcludeFromTextSearch([in] BOOL flag);
-
- /*!
- @method reloadFromOrigin
- @discussion Performs HTTP/1.1 end-to-end reload.
- */
- HRESULT reloadFromOrigin();
-
- /*!
- @method DOMWindow
- @abstract Returns the DOM window of the frame.
- @description Returns nil if the frame does not contain a DOM window such as a standalone image.
- - (DOMWindow *)DOMWindow;
- */
- HRESULT DOMWindow([out, retval] IDOMWindow** window);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebFrameLoadDelegate.idl b/Source/WebKit/win/Interfaces/IWebFrameLoadDelegate.idl
deleted file mode 100644
index 9847151ef..000000000
--- a/Source/WebKit/win/Interfaces/IWebFrameLoadDelegate.idl
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebScriptObject.idl";
-import "IWebView.idl";
-import "IWebFrame.idl";
-import "JavaScriptCoreAPITypes.idl";
-#endif
-
-interface IWebError;
-interface IWebFrame;
-interface IWebScriptObject;
-interface IWebView;
-
-/*!
- @category WebFrameLoadDelegate
- @discussion A WebView's WebFrameLoadDelegate tracks the loading progress of its frames.
- When a data source of a frame starts to load, the data source is considered "provisional".
- Once at least one byte is received, the data source is considered "committed". This is done
- so the contents of the frame will not be lost if the new data source fails to successfully load.
- @interface NSObject (WebFrameLoadDelegate)
-*/
-
-[
- object,
- oleautomation,
- uuid(3354665B-84BA-4fdf-B35E-BF5CF9D96026),
- pointer_default(unique)
-]
-interface IWebFrameLoadDelegate : IUnknown
-{
- /*!
- @method webView:didStartProvisionalLoadForFrame:
- @abstract Notifies the delegate that the provisional load of a frame has started
- @param webView The WebView sending the message
- @param frame The frame for which the provisional load has started
- @discussion This method is called after the provisional data source of a frame
- has started to load.
- - (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame;
- */
- HRESULT didStartProvisionalLoadForFrame([in] IWebView* webView, [in] IWebFrame* frame);
-
- /*!
- @method webView:didReceiveServerRedirectForProvisionalLoadForFrame:
- @abstract Notifies the delegate that a server redirect occurred during the provisional load
- @param webView The WebView sending the message
- @param frame The frame for which the redirect occurred
- - (void)webView:(WebView *)sender didReceiveServerRedirectForProvisionalLoadForFrame:(WebFrame *)frame;
- */
- HRESULT didReceiveServerRedirectForProvisionalLoadForFrame([in] IWebView* webView, [in] IWebFrame* frame);
-
- /*!
- @method webView:didFailProvisionalLoadWithError:forFrame:
- @abstract Notifies the delegate that the provisional load has failed
- @param webView The WebView sending the message
- @param error The error that occurred
- @param frame The frame for which the error occurred
- @discussion This method is called after the provisional data source has failed to load.
- The frame will continue to display the contents of the committed data source if there is one.
- - (void)webView:(WebView *)sender didFailProvisionalLoadWithError:(NSError *)error forFrame:(WebFrame *)frame;
- */
- HRESULT didFailProvisionalLoadWithError([in] IWebView* webView, [in] IWebError* error, [in] IWebFrame* frame);
-
- /*!
- @method webView:didCommitLoadForFrame:
- @abstract Notifies the delegate that the load has changed from provisional to committed
- @param webView The WebView sending the message
- @param frame The frame for which the load has committed
- @discussion This method is called after the provisional data source has become the
- committed data source.
-
- In some cases, a single load may be committed more than once. This happens
- in the case of multipart/x-mixed-replace, also known as "server push". In this case,
- a single location change leads to multiple documents that are loaded in sequence. When
- this happens, a new commit will be sent for each document.
- - (void)webView:(WebView *)sender didCommitLoadForFrame:(WebFrame *)frame;
- */
- HRESULT didCommitLoadForFrame([in] IWebView* webView, [in] IWebFrame* frame);
-
- /*!
- @method webView:didReceiveTitle:forFrame:
- @abstract Notifies the delegate that the page title for a frame has been received
- @param webView The WebView sending the message
- @param title The new page title
- @param frame The frame for which the title has been received
- @discussion The title may update during loading; clients should be prepared for this.
- - (void)webView:(WebView *)sender didReceiveTitle:(NSString *)title forFrame:(WebFrame *)frame;
- */
- HRESULT didReceiveTitle([in] IWebView* webView, [in] BSTR title, [in] IWebFrame* frame);
-
- /*!
- @method webView:didReceiveIcon:forFrame:
- @abstract Notifies the delegate that a page icon image for a frame has been received
- @param webView The WebView sending the message
- @param image The icon image. Also known as a "favicon".
- @param frame The frame for which a page icon has been received
- - (void)webView:(WebView *)sender didReceiveIcon:(NSImage *)image forFrame:(WebFrame *)frame;
- */
- HRESULT didReceiveIcon([in] IWebView* webView, [in] OLE_HANDLE hBitmap, [in] IWebFrame* frame);
-
- /*!
- @method webView:didFinishLoadForFrame:
- @abstract Notifies the delegate that the committed load of a frame has completed
- @param webView The WebView sending the message
- @param frame The frame that finished loading
- @discussion This method is called after the committed data source of a frame has successfully loaded
- and will only be called when all subresources such as images and stylesheets are done loading.
- Plug-In content and JavaScript-requested loads may occur after this method is called.
- - (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame;
- */
- HRESULT didFinishLoadForFrame([in] IWebView* webView, [in] IWebFrame* frame);
-
- /*!
- @method webView:didFailLoadWithError:forFrame:
- @abstract Notifies the delegate that the committed load of a frame has failed
- @param webView The WebView sending the message
- @param error The error that occurred
- @param frame The frame that failed to load
- @discussion This method is called after a data source has committed but failed to completely load.
- - (void)webView:(WebView *)sender didFailLoadWithError:(NSError *)error forFrame:(WebFrame *)frame;
- */
- HRESULT didFailLoadWithError([in] IWebView* webView, [in] IWebError* error, [in] IWebFrame* forFrame);
-
- /*!
- @method webView:didChangeLocationWithinPageForFrame:
- @abstract Notifies the delegate that the scroll position in a frame has changed
- @param webView The WebView sending the message
- @param frame The frame that scrolled
- @discussion This method is called when anchors within a page have been clicked.
- - (void)webView:(WebView *)sender didChangeLocationWithinPageForFrame:(WebFrame *)frame;
- */
- HRESULT didChangeLocationWithinPageForFrame([in] IWebView* webView, [in] IWebFrame* frame);
-
- /*!
- @method webView:willPerformClientRedirectToURL:delay:fireDate:forFrame:
- @abstract Notifies the delegate that a frame will perform a client-side redirect
- @param webView The WebView sending the message
- @param URL The URL to be redirected to
- @param seconds Seconds in which the redirect will happen
- @param date The fire date
- @param frame The frame on which the redirect will occur
- @discussion This method can be used to continue progress feedback while a client-side
- redirect is pending.
- - (void)webView:(WebView *)sender willPerformClientRedirectToURL:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date forFrame:(WebFrame *)frame;
- */
- HRESULT willPerformClientRedirectToURL([in] IWebView* webView, [in] BSTR url, [in] double delaySeconds, [in] DATE fireDate, [in] IWebFrame* frame);
-
- /*!
- @method webView:didCancelClientRedirectForFrame:
- @abstract Notifies the delegate that a pending client-side redirect has been cancelled
- @param webView The WebView sending the message
- @param frame The frame for which the pending redirect was cancelled
- @discussion A client-side redirect can be cancelled if a frame changes location before the timeout.
- - (void)webView:(WebView *)sender didCancelClientRedirectForFrame:(WebFrame *)frame;
- */
- HRESULT didCancelClientRedirectForFrame([in] IWebView* webView, [in] IWebFrame* frame);
-
- /*!
- @method webView:willCloseFrame:
- @abstract Notifies the delegate that a frame will be closed
- @param webView The WebView sending the message
- @param frame The frame that will be closed
- @discussion This method is called right before WebKit is done with the frame
- and the objects that it contains.
- - (void)webView:(WebView *)sender willCloseFrame:(WebFrame *)frame;
- */
- HRESULT willCloseFrame([in] IWebView* webView, [in] IWebFrame* frame);
-
- /*!
- @method webView:windowScriptObjectAvailable:
- @abstract Notifies the delegate that the scripting object for a page is available. This is called
- before the page is loaded. It may be useful to allow delegates to bind native objects to the window.
- @param webView The webView sending the message.
- @param windowScriptObject The WebScriptObject for the window in the scripting environment.
- - (void)webView:(WebView *)webView windowScriptObjectAvailable:(WebScriptObject *)windowScriptObject;
- */
- [local] HRESULT windowScriptObjectAvailable([in] IWebView* webView, [in] JSContextRef context, [in] JSObjectRef windowScriptObject);
-
- [local] HRESULT didClearWindowObject([in] IWebView* webView, [in] JSContextRef context, [in] JSObjectRef windowScriptObject, [in] IWebFrame* frame);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebFrameLoadDelegatePrivate.idl b/Source/WebKit/win/Interfaces/IWebFrameLoadDelegatePrivate.idl
deleted file mode 100644
index 499716c28..000000000
--- a/Source/WebKit/win/Interfaces/IWebFrameLoadDelegatePrivate.idl
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebFrame.idl";
-import "IWebView.idl";
-#endif
-
-interface IWebFrame;
-interface IWebView;
-
-[
- object,
- oleautomation,
- uuid(5566CB49-6E87-4075-80CE-9BAC374C52DE),
- pointer_default(unique)
-]
-interface IWebFrameLoadDelegatePrivate : IUnknown
-{
- //- (void)webView:(WebView *)sender didFinishDocumentLoadForFrame:(WebFrame *)frame;
- HRESULT didFinishDocumentLoadForFrame([in] IWebView* sender, [in] IWebFrame* frame);
-
- //- (void)webView:(WebView *)sender didFirstLayoutInFrame:(WebFrame *)frame;
- HRESULT didFirstLayoutInFrame([in] IWebView* sender, [in] IWebFrame* frame);
-
- // Addresses 4192534. Private API for now.
- //- (void)webView:(WebView *)sender didHandleOnloadEventsForFrame:(WebFrame *)frame;
- HRESULT didHandleOnloadEventsForFrame([in] IWebView* sender, [in] IWebFrame* frame);
-
- HRESULT didFirstVisuallyNonEmptyLayoutInFrame([in] IWebView* sender, [in] IWebFrame* frame);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebFrameLoadDelegatePrivate2.idl b/Source/WebKit/win/Interfaces/IWebFrameLoadDelegatePrivate2.idl
deleted file mode 100644
index b1eb87a77..000000000
--- a/Source/WebKit/win/Interfaces/IWebFrameLoadDelegatePrivate2.idl
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebFrame.idl";
-import "IWebView.idl";
-#endif
-
-interface IWebFrame;
-interface IWebScriptWorld;
-interface IWebSecurityOrigin;
-interface IWebView;
-
-[
- object,
- oleautomation,
- uuid(4148C9F8-94D9-479A-BCF1-C15E5269CCC1),
- pointer_default(unique)
-]
-interface IWebFrameLoadDelegatePrivate2 : IWebFrameLoadDelegatePrivate
-{
- HRESULT didDisplayInsecureContent([in] IWebView* sender);
-
- HRESULT didRunInsecureContent([in] IWebView* sender, [in] IWebSecurityOrigin* origin);
-
- HRESULT didClearWindowObjectForFrameInScriptWorld([in] IWebView* webView, [in] IWebFrame* frame, [in] IWebScriptWorld*);
-
- HRESULT didPushStateWithinPageForFrame([in] IWebView* webView, [in] IWebFrame* frame);
- HRESULT didReplaceStateWithinPageForFrame([in] IWebView* webView, [in] IWebFrame* frame);
- HRESULT didPopStateWithinPageForFrame([in] IWebView* webView, [in] IWebFrame* frame);
- HRESULT didChangeIcons([in] IWebView* webView, [in] IWebFrame* frame);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebFramePrivate.idl b/Source/WebKit/win/Interfaces/IWebFramePrivate.idl
deleted file mode 100644
index b2dfce8a6..000000000
--- a/Source/WebKit/win/Interfaces/IWebFramePrivate.idl
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebFrame.idl";
-#endif
-
-interface IWebFrame;
-interface IWebScriptWorld;
-
-typedef enum {
- WebFrameLoadTypeStandard,
- WebFrameLoadTypeBack,
- WebFrameLoadTypeForward,
- WebFrameLoadTypeIndexedBackForward, // a multi-item hop in the backforward list
- WebFrameLoadTypeReload,
- WebFrameLoadTypeReloadAllowingStaleData,
- WebFrameLoadTypeSame, // user loads same URL again (but not reload button)
- WebFrameLoadTypeRedirectWithLockedBackForwardList,
- WebFrameLoadTypeReplace,
- WebFrameLoadTypeReloadFromOrigin,
-} WebFrameLoadType;
-
-[
- object,
- oleautomation,
- uuid(A1657D07-4881-4475-9D10-76548731D448),
- pointer_default(unique)
-]
-
-interface IWebFramePrivate : IUnknown
-{
- HRESULT unused1([out, retval] BSTR*);
- HRESULT scrollOffset([out, retval] SIZE* offset);
-
- // FIXME: This shouldn't be needed once IWebDocumentView is implemented.
- HRESULT layout();
- HRESULT firstLayoutDone([out, retval] BOOL* result);
- HRESULT loadType([out, retval] WebFrameLoadType* type);
-
- HRESULT setInPrintingMode([in] BOOL value, [in] HDC printDC);
- HRESULT getPrintedPageCount([in] HDC printDC, [out, retval] UINT* pageCount);
- [local] HRESULT spoolPages([in] HDC printDC, [in] UINT startPage, [in] UINT endPage, [out, retval] void* ctx);
-
- HRESULT isFrameSet([out, retval] BOOL* result);
- HRESULT string([out, retval] BSTR* result);
-
- HRESULT size([out, retval] SIZE* size);
- HRESULT hasScrollBars([out, retval] BOOL* result);
- HRESULT contentBounds([out, retval] RECT* result);
- HRESULT frameBounds([out, retval] RECT* result);
-
- HRESULT isDescendantOfFrame([in] IWebFrame* ancestor, [out, retval] BOOL* result);
-
- HRESULT pendingFrameUnloadEventCount([out, retval] UINT* result);
-
- HRESULT unused2();
-
- HRESULT paintDocumentRectToContext([in] RECT rect, [in] OLE_HANDLE deviceContext);
-
- HRESULT elementDoesAutoComplete([in] IDOMElement* element, [out, retval] BOOL* result);
-
- HRESULT pauseAnimation([in] BSTR animationName, [in] IDOMNode* node, [in] double secondsFromNow, [out, retval] BOOL* animationWasRunning);
- HRESULT pauseTransition([in] BSTR propertyName, [in] IDOMNode* node, [in] double secondsFromNow, [out, retval] BOOL* transitionWasRunning);
- HRESULT numberOfActiveAnimations([out, retval] UINT* number);
-
- HRESULT isDisplayingStandaloneImage([out, retval] BOOL* result);
-
- HRESULT allowsFollowingLink([in] BSTR url, [out, retval] BOOL* result);
-
- [local] HRESULT stringByEvaluatingJavaScriptInScriptWorld([in] IWebScriptWorld*, [in] JSObjectRef globalObject, [in] BSTR script, [out, retval] BSTR* result);
-
- [local] JSGlobalContextRef globalContextForScriptWorld([in] IWebScriptWorld*);
-
- HRESULT unused3([in] BSTR, [out, retval] BSTR*);
-
- HRESULT visibleContentRect([out, retval] RECT*);
-
- HRESULT pageNumberForElementById([in] BSTR id, [in] float pageWidthInPixels, [in] float pageHeightInPixels, [out, retval] int* pageNumber);
-
- HRESULT numberOfPages([in] float pageWidthInPixels, [in] float pageHeightInPixels, [out, retval] int* pageNumber);
-
- HRESULT layerTreeAsText([out, retval] BSTR* result);
-
- HRESULT paintScrollViewRectToContextAtPoint([in] RECT rect, [in] POINT pt, [in] OLE_HANDLE deviceContext);
-
- HRESULT renderTreeAsExternalRepresentation([in] BOOL forPrinting, [out, retval] BSTR* result);
-
- HRESULT suspendAnimations();
- HRESULT resumeAnimations();
-
- HRESULT loadPlainTextString([in] BSTR string, [in] BSTR url);
-
- HRESULT clearOpener();
-
- HRESULT setTextDirection([in] BSTR direction);
-
-}
diff --git a/Source/WebKit/win/Interfaces/IWebFrameView.idl b/Source/WebKit/win/Interfaces/IWebFrameView.idl
deleted file mode 100644
index d5c82a125..000000000
--- a/Source/WebKit/win/Interfaces/IWebFrameView.idl
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebDocument.idl";
-#endif
-
-/*!
- @class WebFrameView
- @interface WebFrameView : NSView
-*/
-interface IWebFrame;
-interface IWebDocumentView;
-
-[
- object,
- oleautomation,
- uuid(E23E1B15-78F6-4e89-AD2E-49992A040A35),
- pointer_default(unique)
-]
-interface IWebFrameView : IUnknown
-{
- /*!
- @method webFrame
- @abstract Returns the WebFrame associated with this WebFrameView
- @result The WebFrameView's frame.
- - (WebFrame *)webFrame;
- */
- HRESULT webFrame([out, retval] IWebFrame** frame);
-
- /*!
- @method documentView
- @abstract Returns the WebFrameView's document subview
- @result The subview that renders the WebFrameView's contents
- - (NSView <WebDocumentView> *)documentView;
- */
- HRESULT documentView([out, retval] IWebDocumentView** view);
-
- /*!
- @method setAllowsScrolling:
- @abstract Sets whether the WebFrameView allows its document to be scrolled
- @param flag YES to allow the document to be scrolled, NO to disallow scrolling
- - (void)setAllowsScrolling:(BOOL)flag;
- */
- HRESULT setAllowsScrolling([in] BOOL flag);
-
- /*!
- @method allowsScrolling
- @abstract Returns whether the WebFrameView allows its document to be scrolled
- @result YES if the document is allowed to scroll, otherwise NO
- - (BOOL)allowsScrolling;
- */
- HRESULT allowsScrolling([out, retval] BOOL* flag);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebGeolocationPolicyListener.idl b/Source/WebKit/win/Interfaces/IWebGeolocationPolicyListener.idl
deleted file mode 100644
index 54b00bdd9..000000000
--- a/Source/WebKit/win/Interfaces/IWebGeolocationPolicyListener.idl
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(1300A76E-26DF-4BED-B79F-3930D7A4202F),
- pointer_default(unique)
-]
-interface IWebGeolocationPolicyListener : IUnknown
-{
- HRESULT allow();
- HRESULT deny();
-}
diff --git a/Source/WebKit/win/Interfaces/IWebGeolocationPosition.idl b/Source/WebKit/win/Interfaces/IWebGeolocationPosition.idl
deleted file mode 100644
index c8f8eb494..000000000
--- a/Source/WebKit/win/Interfaces/IWebGeolocationPosition.idl
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(8C92A6B9-4CBB-4626-A596-24C1B47D7CC7),
- pointer_default(unique)
-]
-interface IWebGeolocationPosition : IUnknown
-{
- HRESULT initWithTimestamp([in] double timestamp, [in] double latitude, [in] double longitude, [in] double accuracy);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebGeolocationProvider.idl b/Source/WebKit/win/Interfaces/IWebGeolocationProvider.idl
deleted file mode 100644
index 9a8cb324f..000000000
--- a/Source/WebKit/win/Interfaces/IWebGeolocationProvider.idl
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-interface IWebView;
-interface IWebGeolocationPosition;
-
-[
- object,
- oleautomation,
- uuid(47F4CCF6-963D-4306-BE0B-8205C94672B5),
- pointer_default(unique)
-]
-interface IWebGeolocationProvider : IUnknown
-{
- HRESULT registerWebView([in] IWebView* webView);
- HRESULT unregisterWebView([in] IWebView* webView);
- HRESULT lastPosition([out, retval] IWebGeolocationPosition** lastPosition);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebHTMLRepresentation.idl b/Source/WebKit/win/Interfaces/IWebHTMLRepresentation.idl
deleted file mode 100644
index ff39c0ae2..000000000
--- a/Source/WebKit/win/Interfaces/IWebHTMLRepresentation.idl
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "DOMCore.idl";
-#endif
-
-interface IDOMElement;
-interface IDOMNode;
-
-/*!
- @class WebHTMLRepresentation
-*/
-[
- object,
- oleautomation,
- uuid(E043542A-9545-4de3-8DF0-794FD6811CB1),
- pointer_default(unique)
-]
-interface IWebHTMLRepresentation : IUnknown
-{
- /*
- + (NSArray *)supportedMIMETypes;
- */
- HRESULT supportedMIMETypes([in, out] BSTR* types, [in, out] int* cTypes);
-
- /*
- + (NSArray *)supportedNonImageMIMETypes;
- */
- HRESULT supportedNonImageMIMETypes([in, out] BSTR* types, [in, out] int* cTypes);
-
- /*
- + (NSArray *)supportedImageMIMETypes;
- */
- HRESULT supportedImageMIMETypes([in, out] BSTR* types, [in, out] int* cTypes);
-
- /*
- - (NSAttributedString *)attributedStringFrom:(DOMNode *)startNode startOffset:(int)startOffset to:(DOMNode *)endNode endOffset:(int)endOffset;
- */
- HRESULT attributedStringFromDOMNodes([in] IDOMNode* startNode, [in] int startOffset, [in] IDOMNode* endNode, [in] int endOffset, [out, retval] IDataObject** attributedString);
-
- /*
- - (DOMElement *)elementWithName:(NSString *)name inForm:(DOMElement *)form;
- */
- HRESULT elementWithName([in] BSTR name, [in] IDOMElement* form, [out, retval] IDOMElement** element);
-
- /*
- - (BOOL)elementDoesAutoComplete:(DOMElement *)element;
- */
- HRESULT elementDoesAutoComplete([in] IDOMElement* element, [out, retval] BOOL* result);
-
- /*
- - (BOOL)elementIsPassword:(DOMElement *)element;
- */
- HRESULT elementIsPassword([in] IDOMElement* element, [out, retval] BOOL* result);
-
- /*
- - (DOMElement *)formForElement:(DOMElement *)element;
- */
- HRESULT formForElement([in] IDOMElement* element, [out, retval] IDOMElement** form);
-
- /*
- - (DOMElement *)currentForm;
- */
- HRESULT currentForm([out, retval] IDOMElement** form);
-
- /*
- - (NSArray *)controlsInForm:(DOMElement *)form;
- */
- HRESULT controlsInForm([in] IDOMElement* form, [in, out] IDOMElement** controls, [in, out] int* cControls);
-
- /*
- - (NSString *)searchForLabels:(NSArray *)labels beforeElement:(DOMElement *)element;
- Deprecated: use the variant that includes resultDistance and resultIsInCellAbove instead.
- */
- HRESULT deprecatedSearchForLabels([in, size_is(cLabels)] BSTR* labels, [in] int cLabels, [in] IDOMElement* beforeElement, [out, retval] BSTR* result);
-
- /*
- - (NSString *)matchLabels:(NSArray *)labels againstElement:(DOMElement *)element;
- */
- HRESULT matchLabels([in, size_is(cLabels)] BSTR* labels, [in] int cLabels, [in] IDOMElement* againstElement, [out, retval] BSTR* result);
-
- /*
- - (NSString *)searchForLabels:(NSArray *)labels beforeElement:(DOMElement *)element resultDistance:(NSUInteger*)outDistance resultIsInCellAbove:(BOOL*)outIsInCellAbove;
- */
- HRESULT searchForLabels([in, size_is(cLabels)] BSTR* labels, [in] unsigned cLabels, [in] IDOMElement* beforeElement, [out] unsigned* resultDistance, [out] BOOL* resultIsInCellAbove, [out, retval] BSTR* result);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebHTTPURLResponse.idl b/Source/WebKit/win/Interfaces/IWebHTTPURLResponse.idl
deleted file mode 100644
index dd4219ecb..000000000
--- a/Source/WebKit/win/Interfaces/IWebHTTPURLResponse.idl
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebURLResponse.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(56B54483-FA29-4ce5-96FA-2D9B81D57162),
- pointer_default(unique)
-]
-interface IWebHTTPURLResponse : IWebURLResponse
-{
- HRESULT allHeaderFields([out, retval] IPropertyBag** headerFields);
- HRESULT localizedStringForStatusCode([in] int statusCode, [out, retval] BSTR* statusString);
- HRESULT statusCode([out, retval] int* statusCode);
- HRESULT isAttachment([out, retval] BOOL* attachment);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebHistory.idl b/Source/WebKit/win/Interfaces/IWebHistory.idl
deleted file mode 100644
index 65a77c482..000000000
--- a/Source/WebKit/win/Interfaces/IWebHistory.idl
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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.
- */
-
-/*
- @discussion Notifications sent when history is modified.
- @constant WebHistoryItemsAddedNotification Posted from addItems:. This
- notification comes with a userInfo dictionary that contains the array of
- items added. The key for the array is WebHistoryItemsKey.
- @constant WebHistoryItemsRemovedNotification Posted from removeItems:.
- This notification comes with a userInfo dictionary that contains the array of
- items removed. The key for the array is WebHistoryItemsKey.
- @constant WebHistoryAllItemsRemovedNotification Posted from removeAllItems
- @constant WebHistoryLoadedNotification Posted from loadFromURL:error:.
-*/
-cpp_quote("#define WebHistoryItemsAddedNotification TEXT(\"WebHistoryItemsAddedNotification\")")
-cpp_quote("#define WebHistoryItemsRemovedNotification TEXT(\"WebHistoryItemsRemovedNotification\")")
-cpp_quote("#define WebHistoryAllItemsRemovedNotification TEXT(\"WebHistoryAllItemsRemovedNotification\")")
-cpp_quote("#define WebHistoryLoadedNotification TEXT(\"WebHistoryLoadedNotification\")")
-cpp_quote("#define WebHistoryItemsDiscardedWhileLoadingNotification TEXT(\"WebHistoryItemsDiscardedWhileLoadingNotification\")")
-cpp_quote("#define WebHistorySavedNotification TEXT(\"WebHistorySavedNotification\")")
-
-#ifndef DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebError.idl";
-import "IWebHistoryItem.idl";
-#endif
-
-interface IWebError;
-interface IWebHistoryItem;
-
-/*!
- @class WebHistory
- @discussion WebHistory is used to track pages that have been loaded
- by WebKit.
-*/
-[
- object,
- oleautomation,
- hidden,
- uuid(F34E4B1A-361D-4b9f-9A3F-D869DCD97F9A),
- pointer_default(unique)
-]
-interface IWebHistory : IUnknown
-{
- /*!
- @method optionalSharedHistory
- @abstract Returns a shared WebHistory instance initialized with the default history file.
- @result A WebHistory object.
- + (WebHistory *)optionalSharedHistory;
- */
- HRESULT optionalSharedHistory([out, retval] IWebHistory** history);
-
- /*!
- @method setOptionalSharedHistory:
- @param history The history to use for the global WebHistory.
- + (void)setOptionalSharedHistory:(WebHistory *)history;
- */
- HRESULT setOptionalSharedHistory([in] IWebHistory* history);
-
- HRESULT unused1();
- HRESULT unused2();
-
- /*!
- @method addItems:
- @param newItems An array of WebHistoryItems to add to the WebHistory.
- - (void)addItems:(NSArray *)newItems;
- */
- HRESULT addItems([in] int itemCount, [in] IWebHistoryItem** items);
-
- /*!
- @method removeItems:
- @param items An array of WebHistoryItems to remove from the WebHistory.
- - (void)removeItems:(NSArray *)items;
- */
- HRESULT removeItems([in] int itemCount, [in] IWebHistoryItem** items);
-
- /*!
- @method removeAllItems
- - (void)removeAllItems;
- */
- HRESULT removeAllItems();
-
- /*!
- @method orderedLastVisitedDays
- @discussion Get an array of NSCalendarDates, each one representing a unique day that contains one
- or more history items, ordered from most recent to oldest.
- @result Returns an array of NSCalendarDates for which history items exist in the WebHistory.
-
- ADVISORY NOTE: This method may change for the 1.0 SDK.
- - (NSArray *)orderedLastVisitedDays;
- */
- HRESULT orderedLastVisitedDays([in, out] int* count, [in] DATE* calendarDates);
-
- /*!
- @method orderedItemsLastVisitedOnDay:
- @discussion Get an array of WebHistoryItem that were last visited on the day represented by the
- specified NSCalendarDate, ordered from most recent to oldest.
- @param calendarDate A date identifying the unique day of interest.
- @result Returns an array of WebHistoryItems last visited on the indicated day.
-
- ADVISORY NOTE: This method may change for the 1.0 SDK.
- - (NSArray *)orderedItemsLastVisitedOnDay:(NSCalendarDate *)calendarDate;
- */
- HRESULT orderedItemsLastVisitedOnDay([in, out] int* count, [in] IWebHistoryItem** items, [in] DATE calendarDate);
-
- /*!
- @method itemForURL:
- @abstract Get an item for a specific URL
- @param URL The URL of the history item to search for
- @result Returns an item matching the URL
- - (WebHistoryItem *)itemForURL:(NSURL *)URL;
- */
- HRESULT itemForURL([in] BSTR url, [out, retval] IWebHistoryItem** item);
-
- /*!
- @method setHistoryItemLimit:
- @discussion Limits the number of items that will be stored by the WebHistory.
- @param limit The maximum number of items that will be stored by the WebHistory.
- - (void)setHistoryItemLimit:(int)limit;
- */
- HRESULT setHistoryItemLimit([in] int limit);
-
- /*!
- @method historyItemLimit
- @result The maximum number of items that will be stored by the WebHistory.
- - (int)historyItemLimit;
- */
- HRESULT historyItemLimit([out, retval] int* limit);
-
- /*!
- @method setHistoryAgeInDaysLimit:
- @discussion setHistoryAgeInDaysLimit: sets the maximum number of days to be read from
- stored history.
- @param limit The maximum number of days to be read from stored history.
- - (void)setHistoryAgeInDaysLimit:(int)limit;
- */
- HRESULT setHistoryAgeInDaysLimit([in] int limit);
-
- /*!
- @method historyAgeInDaysLimit
- @return Returns the maximum number of days to be read from stored history.
- - (int)historyAgeInDaysLimit;
- */
- HRESULT historyAgeInDaysLimit([out, retval] int* limit);
-} \ No newline at end of file
diff --git a/Source/WebKit/win/Interfaces/IWebHistoryDelegate.idl b/Source/WebKit/win/Interfaces/IWebHistoryDelegate.idl
deleted file mode 100644
index 623320820..000000000
--- a/Source/WebKit/win/Interfaces/IWebHistoryDelegate.idl
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebNavigationData.idl";
-#endif
-
-interface IWebFrame;
-interface IWebNavigationData;
-interface IWebView;
-
-[
- object,
- oleautomation,
- uuid(16AF211F-7C00-4f7f-A8DB-B1219FEABF3B),
- pointer_default(unique)
-]
-interface IWebHistoryDelegate : IUnknown
-{
- HRESULT didNavigateWithNavigationData([in] IWebView* webView, [in] IWebNavigationData* navigationData, [in] IWebFrame* webFrame);
- HRESULT didPerformClientRedirectFromURL([in] IWebView* webView, [in] BSTR sourceURL, [in] BSTR destinationURL, [in] IWebFrame* webFrame);
- HRESULT didPerformServerRedirectFromURL([in] IWebView* webView, [in] BSTR sourceURL, [in] BSTR destinationURL, [in] IWebFrame* webFrame);
- HRESULT updateHistoryTitle([in] IWebView* webView, [in] BSTR title, [in] BSTR url);
- HRESULT populateVisitedLinksForWebView([in] IWebView* webView);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebHistoryItem.idl b/Source/WebKit/win/Interfaces/IWebHistoryItem.idl
deleted file mode 100644
index 21703d57c..000000000
--- a/Source/WebKit/win/Interfaces/IWebHistoryItem.idl
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-/*!
- @class WebHistoryItem
- @discussion WebHistoryItems are created by WebKit to represent pages visited.
- The WebBackForwardList and WebHistory classes both use WebHistoryItems to represent
- pages visited. With the exception of the displayTitle, the properties of
- WebHistoryItems are set by WebKit. WebHistoryItems are normally never created directly.
-*/
-[
- object,
- oleautomation,
- hidden,
- uuid(1E2970AE-72B7-4500-A7A0-12B0FFEB91FC),
- pointer_default(unique)
-]
-interface IWebHistoryItem : IUnknown
-{
- /*!
- @method initWithURLString:title:lastVisitedTimeInterval:
- @param URLString The URL string for the item.
- @param title The title to use for the item. This is normally the <title> of a page.
- @param time The time used to indicate when the item was used.
- @abstract Initialize a new WebHistoryItem
- @discussion WebHistoryItems are normally created for you by the WebKit.
- You may use this method to prepopulate a WebBackForwardList, or create
- 'artificial' items to add to a WebBackForwardList. When first initialized
- the URLString and originalURLString will be the same.
- - (id)initWithURLString:(NSString *)URLString title:(NSString *)title lastVisitedTimeInterval:(NSTimeInterval)time;
- */
- HRESULT initWithURLString([in] BSTR urlString, [in] BSTR title, [in] DATE lastVisited);
-
- /*!
- @method originalURLString
- @abstract The string representation of the originial URL of this item.
- This value is normally set by the WebKit.
- @result The string corresponding to the initial URL of this item.
- - (NSString *)originalURLString;
- */
- HRESULT originalURLString([out, retval] BSTR* url);
-
- /*!
- @method URLString
- @abstract The string representation of the URL represented by this item.
- @discussion The URLString may be different than the originalURLString if the page
- redirected to a new location. This value is normally set by the WebKit.
- @result The string corresponding to the final URL of this item.
- - (NSString *)URLString;
- */
- HRESULT URLString([out, retval] BSTR* url);
-
-
- /*!
- @method title
- @abstract The title of the page represented by this item.
- @discussion This title cannot be changed by the client. This value
- is normally set by the WebKit when a page title for the item is received.
- @result The title of this item.
- - (NSString *)title;
- */
- HRESULT title([out, retval] BSTR* pageTitle);
-
- /*!
- @method lastVisitedTimeInterval
- @abstract The last time the page represented by this item was visited. The interval
- is since the reference date as determined by NSDate. This value is normally set by
- the WebKit.
- @result The last time this item was visited.
- - (NSTimeInterval)lastVisitedTimeInterval;
- */
- HRESULT lastVisitedTimeInterval([out, retval] DATE* lastVisited);
-
- /*!
- @method setAlternateTitle:
- @param alternateTitle The new display title for this item.
- @abstract A title that may be used by the client to display this item.
- - (void)setAlternateTitle:(NSString *)alternateTitle;
- */
- HRESULT setAlternateTitle([in] BSTR title);
-
- /*
- @method title
- @abstract A title that may be used by the client to display this item.
- @result The alternate title for this item.
- - (NSString *)alternateTitle;
- */
- HRESULT alternateTitle([out, retval] BSTR* title);
-
- /*!
- @method icon
- @abstract The favorite icon of the page represented by this item.
- @discussion This icon returned will be determined by the WebKit.
- @result The icon associated with this item's URL.
- - (NSImage *)icon;
- */
- HRESULT icon([out, retval] OLE_HANDLE* hBitmap);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebHistoryItemPrivate.idl b/Source/WebKit/win/Interfaces/IWebHistoryItemPrivate.idl
deleted file mode 100644
index 7139962e6..000000000
--- a/Source/WebKit/win/Interfaces/IWebHistoryItemPrivate.idl
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebHistoryItem.idl";
-#endif
-
-interface IWebHistoryItem;
-
-[
- object,
- oleautomation,
- uuid(E9D5DC2C-192F-4795-B0EC-4E770E539D97),
- pointer_default(unique)
-]
-interface IWebHistoryItemPrivate : IUnknown
-{
- [local] HRESULT initFromDictionaryRepresentation([in] void* dictionary);
- [local] HRESULT dictionaryRepresentation([out, retval] void** dictionary);
- HRESULT visitCount([out, retval] int *count);
- HRESULT setVisitCount([in] int count);
- HRESULT hasURLString([out, retval] BOOL* hasURL);
- HRESULT mergeAutoCompleteHints([in] IWebHistoryItem* otherItem);
- HRESULT setLastVisitedTimeInterval([in] DATE time);
- HRESULT setTitle([in] BSTR title);
- HRESULT RSSFeedReferrer([out, retval] BSTR* url);
- HRESULT setRSSFeedReferrer([in] BSTR url);
- HRESULT hasPageCache([out, retval] BOOL* hasCache);
- HRESULT setHasPageCache([in] BOOL hasCache);
-
- HRESULT target([out, retval] BSTR* target);
- HRESULT isTargetItem([out, retval] BOOL* result);
- [local] HRESULT children([out] unsigned* childCount, [out, retval] SAFEARRAY** children);
- HRESULT lastVisitWasFailure([out, retval] BOOL* wasFailure);
- HRESULT setLastVisitWasFailure([in] BOOL wasFailure);
- HRESULT lastVisitWasHTTPNonGet([out, retval] BOOL* HTTPNonGet);
- HRESULT setLastVisitWasHTTPNonGet([in] BOOL wasHTTPNonGet);
-
- HRESULT redirectURLs([out, retval] IEnumVARIANT** result);
- HRESULT visitedWithTitle([in] BSTR title, [in] BOOL increaseVisitCount);
-
- HRESULT getDailyVisitCounts([out] int* number, [out, retval] int** counts);
- HRESULT getWeeklyVisitCounts([out] int* number, [out, retval] int** counts);
- HRESULT recordInitialVisit();
-}
diff --git a/Source/WebKit/win/Interfaces/IWebHistoryPrivate.idl b/Source/WebKit/win/Interfaces/IWebHistoryPrivate.idl
deleted file mode 100644
index 6fc75d0a1..000000000
--- a/Source/WebKit/win/Interfaces/IWebHistoryPrivate.idl
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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.
- */
-
-interface IWebHistoryItem;
-
-[
- object,
- oleautomation,
- hidden,
- uuid(B811003B-3475-46ad-9697-91D0D181CC05),
- pointer_default(unique)
-]
-interface IWebHistoryPrivate : IUnknown
-{
- HRESULT allItems([in, out] int* count, [out, retval] IWebHistoryItem** items);
- HRESULT unused1();
- HRESULT setVisitedLinkTrackingEnabled([in] BOOL visitedLinkTrackingEnable);
- HRESULT removeAllVisitedLinks();
-}
diff --git a/Source/WebKit/win/Interfaces/IWebIconDatabase.idl b/Source/WebKit/win/Interfaces/IWebIconDatabase.idl
deleted file mode 100644
index 4504a96f7..000000000
--- a/Source/WebKit/win/Interfaces/IWebIconDatabase.idl
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple 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 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.
- */
-
-cpp_quote("#define WebIconDatabaseDidAddIconNotification TEXT(\"WebIconDatabaseDidAddIconNotification\")")
-cpp_quote("#define WebIconNotificationUserInfoURLKey TEXT(\"WebIconNotificationUserInfoURLKey\")")
-cpp_quote("#define WebIconDatabaseDidRemoveAllIconsNotification TEXT(\"WebIconDatabaseDidRemoveAllIconsNotification\")")
-
-#ifndef DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-/*!
- @class WebIconDatabase
- @discussion Features:
- - memory cache icons at different sizes
- - disk storage
- - icon update notification
-
- Uses:
- - WebIconLoader to cache icon images
- - UI elements to retrieve icons that represent site URLs.
- - Save icons to disk for later use.
-
- Every icon in the database has a retain count. If an icon has a retain count greater than 0, it will be written to disk for later use. If an icon's retain count equals zero it will be removed from disk. The retain count is not persistent across launches. If the WebKit client wishes to retain an icon it should retain the icon once for every launch. This is best done at initialization time before the database begins removing icons. To make sure that the database does not remove unretained icons prematurely, call delayDatabaseCleanup until all desired icons are retained. Once all are retained, call allowDatabaseCleanup.
-
- Note that an icon can be retained after the database clean-up has begun. This just has to be done before the icon is removed. Icons are removed from the database whenever new icons are added to it.
-
- Retention methods can be called for icons that are not yet in the database.
-
- @interface WebIconDatabase : NSObject
-*/
-[
- object,
- oleautomation,
- hidden,
- uuid(E93F2616-2560-47d9-BD4D-6E2F1E1D3174),
- pointer_default(unique)
-]
-interface IWebIconDatabase : IUnknown
-{
- /*!
- @method sharedIconDatabase
- @abstract Returns a shared instance of the icon database
- + (WebIconDatabase *)sharedIconDatabase;
- */
- HRESULT sharedIconDatabase([out, retval] IWebIconDatabase** result);
-
- /*!
- @method iconForURL:withSize:
- @discussion Calls iconForURL:withSize:cache: with YES for cache.
- @param URL
- @param size
- - (NSImage *)iconForURL:(NSString *)URL withSize:(NSSize)size;
- */
- /*!
- @method iconForURL:withSize:cache:
- @discussion Returns an icon for a web site URL from memory or disk. nil if none is found.
- Usually called by a UI element to determine if a site URL has an associated icon.
- Often called by the observer of WebIconChangedNotification after the notification is sent.
- @param URL
- @param size
- @param cache If yes, caches the returned image in memory if not already cached
- - (NSImage *)iconForURL:(NSString *)URL withSize:(NSSize)size cache:(BOOL)cache;
- */
- /*!
- @method iconURLForURL:withSize:cache:
- @discussion Returns an icon URL for a web site URL from memory or disk. nil if none is found.
- @param URL
- - (NSString *)iconURLForURL:(NSString *)URL;
- */
- HRESULT iconForURL([in] BSTR url, [in] LPSIZE size, [in] BOOL cache, [out, retval] OLE_HANDLE* hBitmap);
-
- /*!
- @method defaultIconWithSize:
- @param size
- - (NSImage *)defaultIconWithSize:(NSSize)size;
- */
- HRESULT defaultIconWithSize([in] LPSIZE size, [out, retval] OLE_HANDLE* hBitmap);
-
- /*!
- @method retainIconForURL:
- @abstract Increments the retain count of the icon.
- @param URL
- - (void)retainIconForURL:(NSString *)URL;
- */
- HRESULT retainIconForURL([in] BSTR url);
-
- /*!
- @method releaseIconForURL:
- @abstract Decrements the retain count of the icon.
- @param URL
- - (void)releaseIconForURL:(NSString *)URL;
- */
- HRESULT releaseIconForURL([in] BSTR url);
-
- /*!
- @method removeAllIcons:
- @abstract Emtpies the Icon Database
- - (void)removeAllIcons;
- */
- HRESULT removeAllIcons();
-
- /*!
- @method delayDatabaseCleanup:
- @discussion Only effective if called before the database begins removing icons.
- delayDatabaseCleanUp increments an internal counter that when 0 begins the database clean-up.
- The counter equals 0 at initialization.
- - (void)delayDatabaseCleanup;
- */
- HRESULT delayDatabaseCleanup();
-
- /*!
- @method allowDatabaseCleanup:
- @discussion Informs the database that it now can begin removing icons.
- allowDatabaseCleanup decrements an internal counter that when 0 begins the database clean-up.
- The counter equals 0 at initialization.
- - (void)allowDatabaseCleanup;
- */
- HRESULT allowDatabaseCleanup();
-
- /*!
- @method iconURLForURL:withSize:cache:
- @discussion Returns an icon URL for a web site URL from memory or disk. nil if none is found.
- @param URL
- - (NSString *)iconURLForURL:(NSString *)URL;
- */
- HRESULT iconURLForURL([in] BSTR url, [out, retval] BSTR* iconURL);
-
- /*!
- @method isEnabled
- @discussion Returns true if the icon database is currently enabled, or false if it
- is disabled.
- - (BOOL)isEnabled;
- */
- HRESULT isEnabled([out, retval] BOOL* result);
-
- /*!
- @method setEnabled:
- @discussion Enables or disables the icon database based on the flag passed in.
- @param flag Pass true to enable the icon database, or false to disable it.
- - (void)setEnabled:(BOOL)flag;
- */
- HRESULT setEnabled([in] BOOL flag);
-
- /*!
- @method hasIconForURL:
- @discussion Returns whether or not the icon database has an icon for this URL.
- @parm url The URL to test for.
- */
- HRESULT hasIconForURL([in] BSTR url, [out, retval] BOOL* result);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebInspector.idl b/Source/WebKit/win/Interfaces/IWebInspector.idl
deleted file mode 100644
index 4523205a8..000000000
--- a/Source/WebKit/win/Interfaces/IWebInspector.idl
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(68159FF1-9037-45ec-9992-B2E455CF39F3),
- pointer_default(unique)
-]
-interface IWebInspector : IUnknown
-{
- HRESULT show();
- HRESULT showConsole();
- HRESULT unused1();
- HRESULT close();
- HRESULT attach();
- HRESULT detach();
-
- HRESULT isDebuggingJavaScript(BOOL* isDebugging);
- HRESULT toggleDebuggingJavaScript();
-
- HRESULT isProfilingJavaScript(BOOL* isProfiling);
- HRESULT toggleProfilingJavaScript();
-
- HRESULT isJavaScriptProfilingEnabled(BOOL* isProfilingEnabled);
- HRESULT setJavaScriptProfilingEnabled(BOOL enabled);
-
- HRESULT isTimelineProfilingEnabled(BOOL* isEnabled);
- HRESULT setTimelineProfilingEnabled(BOOL enabled);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebInspectorPrivate.idl b/Source/WebKit/win/Interfaces/IWebInspectorPrivate.idl
deleted file mode 100644
index 74421bd5e..000000000
--- a/Source/WebKit/win/Interfaces/IWebInspectorPrivate.idl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(A5A31CD0-AEA9-11de-8A39-0800200C9A66),
- pointer_default(unique)
-]
-interface IWebInspectorPrivate : IUnknown
-{
- HRESULT evaluateInFrontend([in] ULONG callId, [in] BSTR script);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebJavaScriptCollector.idl b/Source/WebKit/win/Interfaces/IWebJavaScriptCollector.idl
deleted file mode 100644
index 824cb0b1e..000000000
--- a/Source/WebKit/win/Interfaces/IWebJavaScriptCollector.idl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- hidden,
- uuid(E6A1D169-F44A-4d11-B55B-F0A406F47612),
- pointer_default(unique)
-]
-interface IWebJavaScriptCollector : IUnknown
-{
- HRESULT collect();
- HRESULT collectOnAlternateThread([in] BOOL waitUntilDone);
- HRESULT objectCount([out, retval] UINT* count);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebKitStatistics.idl b/Source/WebKit/win/Interfaces/IWebKitStatistics.idl
deleted file mode 100644
index 627267fd7..000000000
--- a/Source/WebKit/win/Interfaces/IWebKitStatistics.idl
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- hidden,
- uuid(955C1042-BCF7-4f51-8AE7-66C2D0D47C44),
- pointer_default(unique)
-]
-interface IWebKitStatistics : IUnknown
-{
- HRESULT webViewCount([out, retval] int* count);
- HRESULT frameCount([out, retval] int* count);
- HRESULT dataSourceCount([out, retval] int* count);
- HRESULT viewCount([out, retval] int* count);
- HRESULT HTMLRepresentationCount([out, retval] int* count);
- HRESULT comClassCount([out, retval] int* classCount);
- HRESULT comClassNameCounts([out, retval] BSTR *output);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebMutableURLRequest.idl b/Source/WebKit/win/Interfaces/IWebMutableURLRequest.idl
deleted file mode 100644
index c1b31be9f..000000000
--- a/Source/WebKit/win/Interfaces/IWebMutableURLRequest.idl
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebURLRequest.idl";
-#endif
-
-interface IWebURLRequest;
-
-[
- object,
- oleautomation,
- hidden,
- uuid(C4042773-371F-427e-AFA9-9D4B358A0D93),
- pointer_default(unique)
-]
-interface IWebMutableURLRequest : IWebURLRequest
-{
- /*
- - (void)addValue:(NSString *)value forHTTPHeaderField:(NSString *)field
- */
- HRESULT addValue([in] BSTR value, [in] BSTR field);
-
- /*
- - (void)setAllHTTPHeaderFields:(NSDictionary *)headerFields
- */
- HRESULT setAllHTTPHeaderFields([in] IPropertyBag* headerFields);
-
- /*
- - (void)setCachePolicy:(NSURLRequestCachePolicy)policy
- */
- HRESULT setCachePolicy([in] WebURLRequestCachePolicy policy);
-
- /*
- - (void)setHTTPBody:(NSData *)data
- */
- HRESULT setHTTPBody([in] IStream* data);
-
- /*
- - (void)setHTTPBodyStream:(NSInputStream *)inputStream
- */
- HRESULT setHTTPBodyStream([in] IStream* data);
-
- /*
- - (void)setHTTPMethod:(NSString *)method
- */
- HRESULT setHTTPMethod([in] BSTR method);
-
- /*
- - (void)setHTTPShouldHandleCookies:(BOOL)handleCookies
- */
- HRESULT setHTTPShouldHandleCookies([in] BOOL handleCookies);
-
- /*
- - (void)setMainDocumentURL:(NSURL *)theURL
- */
- HRESULT setMainDocumentURL([in] BSTR theURL);
-
- /*
- - (void)setTimeoutInterval:(NSTimeInterval)timeoutInterval
- */
- HRESULT setTimeoutInterval([in] double timeoutInterval);
-
- /*
- - (void)setURL:(NSURL *)theURL
- */
- HRESULT setURL([in] BSTR theURL);
-
- /*
- - (void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)field
- */
- HRESULT setValue([in] BSTR value, [in] BSTR field);
-
- HRESULT setAllowsAnyHTTPSCertificate();
-}
diff --git a/Source/WebKit/win/Interfaces/IWebMutableURLRequestPrivate.idl b/Source/WebKit/win/Interfaces/IWebMutableURLRequestPrivate.idl
deleted file mode 100644
index 2e5e0e2fb..000000000
--- a/Source/WebKit/win/Interfaces/IWebMutableURLRequestPrivate.idl
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-cpp_quote("// this is done to get midl to treat the CFURLRequestRef as pointer types")
-cpp_quote("#if 0")
-typedef void* CFURLRequestRef;
-cpp_quote("#else")
-cpp_quote("typedef const struct _CFURLRequest* CFURLRequestRef;")
-cpp_quote("#endif")
-
-[
- object,
- oleautomation,
- hidden,
- uuid(AD675B60-2CE9-478c-B2AA-CAD643FF18AC),
- pointer_default(unique)
-]
-interface IWebMutableURLRequestPrivate : IUnknown
-{
- HRESULT setClientCertificate([in] OLE_HANDLE cert);
-
- [local] CFURLRequestRef cfRequest();
-}
diff --git a/Source/WebKit/win/Interfaces/IWebNavigationData.idl b/Source/WebKit/win/Interfaces/IWebNavigationData.idl
deleted file mode 100644
index cd39159e0..000000000
--- a/Source/WebKit/win/Interfaces/IWebNavigationData.idl
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebURLRequest.idl";
-import "IWebURLResponse.idl";
-#endif
-
-interface IWebURLRequest;
-interface IWebURLResponse;
-
-[
- object,
- oleautomation,
- hidden,
- uuid(1F162644-73D1-4de1-A20C-295FB68BF048),
- pointer_default(unique)
-]
-interface IWebNavigationData : IUnknown
-{
- HRESULT url([out, retval] BSTR*);
- HRESULT title([out, retval] BSTR*);
- HRESULT originalRequest([out, retval] IWebURLRequest**);
- HRESULT response([out, retval] IWebURLResponse**);
- HRESULT hasSubstituteData([out, retval] BOOL*);
- HRESULT clientRedirectSource([out, retval] BSTR*);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebNotification.idl b/Source/WebKit/win/Interfaces/IWebNotification.idl
deleted file mode 100644
index 0df4ff91c..000000000
--- a/Source/WebKit/win/Interfaces/IWebNotification.idl
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(93598207-3E34-49ec-97EC-EFA9A1E16335),
- pointer_default(unique)
-]
-interface IWebNotification : IUnknown
-{
- /*
- + (id)notificationWithName:(NSString *)aName object:(id)anObject
- + (id)notificationWithName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)userInfo
- */
- HRESULT notificationWithName([in] BSTR aName, [in] IUnknown* anObject, [in] IPropertyBag* userInfo);
-
- /*
- - (NSString *)name
- */
- HRESULT name([out, retval] BSTR* result);
-
- /*
- - (id)object
- */
- HRESULT getObject([out, retval] IUnknown** result);
-
- /*
- - (NSDictionary *)userInfo
- */
- HRESULT userInfo([out, retval] IPropertyBag** result);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebNotificationCenter.idl b/Source/WebKit/win/Interfaces/IWebNotificationCenter.idl
deleted file mode 100644
index 2f8b2aa7c..000000000
--- a/Source/WebKit/win/Interfaces/IWebNotificationCenter.idl
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-interface IWebNotification;
-interface IWebNotificationObserver;
-
-[
- object,
- oleautomation,
- hidden,
- uuid(1E411ABE-DAA0-4a83-BCCA-D94E0704F193),
- pointer_default(unique)
-]
-interface IWebNotificationCenter : IUnknown
-{
-#ifndef DO_NO_IMPORTS
- import "IWebNotification.idl";
- import "IWebNotificationObserver.idl";
-#endif
-
- //+ (NSNotificationCenter *)defaultCenter
- HRESULT defaultCenter([out, retval] IWebNotificationCenter** center);
-
- //- (void)addObserver:(id)anObserver selector:(SEL)aSelector name:(NSString *)notificationName object:(id)anObject
- HRESULT addObserver([in] IWebNotificationObserver* observer, [in] BSTR notificationName, [in] IUnknown* anObject);
-
- //- (void)postNotification:(NSNotification *)notification
- HRESULT postNotification([in] IWebNotification* notification);
-
- //- (void)postNotificationName:(NSString *)notificationName object:(id)anObject
- //- (void)postNotificationName:(NSString *)notificationName object:(id)anObject userInfo:(NSDictionary *)userInfo
- HRESULT postNotificationName([in] BSTR notificationName, [in] IUnknown* anObject, [in] IPropertyBag* userInfo);
-
- //- (void)removeObserver:(id)anObserver
- //- (void)removeObserver:(id)anObserver name:(NSString *)notificationName object:(id)anObject
- HRESULT removeObserver([in] IWebNotificationObserver* anObserver, [in] BSTR notificationName, [in] IUnknown* anObject);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebNotificationObserver.idl b/Source/WebKit/win/Interfaces/IWebNotificationObserver.idl
deleted file mode 100644
index ff41b1e28..000000000
--- a/Source/WebKit/win/Interfaces/IWebNotificationObserver.idl
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-interface IWebNotification;
-
-[
- object,
- oleautomation,
- uuid(1BA491C4-58A7-4091-9F56-9AED118DB4C1),
- pointer_default(unique)
-]
-interface IWebNotificationObserver : IUnknown
-{
-#ifndef DO_NO_IMPORTS
- import "IWebNotification.idl";
-#endif
-
- HRESULT onNotify([in] IWebNotification* notification);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebPolicyDelegate.idl b/Source/WebKit/win/Interfaces/IWebPolicyDelegate.idl
deleted file mode 100644
index 204b98581..000000000
--- a/Source/WebKit/win/Interfaces/IWebPolicyDelegate.idl
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebView.idl";
-import "IWebURLRequest.idl";
-#endif
-
-interface IWebError;
-interface IWebURLResponse;
-interface IWebURLRequest;
-interface IWebView;
-interface IWebFrame;
-interface IWebPolicyPrivate;
-
-/*!
- @enum WebNavigationType
- @abstract The type of action that triggered a possible navigation.
- @constant WebNavigationTypeLinkClicked A link with an href was clicked.
- @constant WebNavigationTypeFormSubmitted A form was submitted.
- @constant WebNavigationTypeBackForward The user chose back or forward.
- @constant WebNavigationTypeReload The User hit the reload button.
- @constant WebNavigationTypeFormResubmitted A form was resubmitted (by virtue of doing back, forward or reload).
- @constant WebNavigationTypeOther Navigation is taking place for some other reason.
-*/
-
-typedef enum WebNavigationType {
- WebNavigationTypeLinkClicked,
- WebNavigationTypeFormSubmitted,
- WebNavigationTypeBackForward,
- WebNavigationTypeReload,
- WebNavigationTypeFormResubmitted,
- WebNavigationTypeOther
-} WebNavigationType;
-
-cpp_quote("#define WebActionButtonKey TEXT(\"WebActionButtonKey\")")
-cpp_quote("#define WebActionElementKey TEXT(\"WebActionElementKey\")")
-cpp_quote("#define WebActionFormKey TEXT(\"WebActionFormKey\")")
-cpp_quote("#define WebActionModifierFlagsKey TEXT(\"WebActionModifierFlagsKey\")")
-cpp_quote("#define WebActionNavigationTypeKey TEXT(\"WebActionNavigationTypeKey\")")
-cpp_quote("#define WebActionOriginalURLKey TEXT(\"WebActionOriginalURLKey\")")
-
-/*!
- @protocol WebPolicyDecisionListener
- @discussion This protocol is used to call back with the results of a
- policy decision. This provides the ability to make these decisions
- asyncrhonously, which means the decision can be made by prompting
- with a sheet, for example.
- @protocol WebPolicyDecisionListener <NSObject>
-*/
-[
- object,
- oleautomation,
- uuid(DFCDE523-FD96-4f95-958B-151540FE122A),
- pointer_default(unique)
-]
-interface IWebPolicyDecisionListener : IUnknown
-{
- /*!
- @method use
- @abstract Use the resource
- @discussion If there remain more policy decisions to be made, then
- the next policy delegate method gets to decide. This will be
- either the next navigation policy delegate if there is a redirect,
- or the content policy delegate. If there are no more policy
- decisions to be made, the resource will be displayed inline if
- possible. If there is no view available to display the resource
- inline, then unableToImplementPolicyWithError:frame: will be
- called with an appropriate error.
-
- <p>If a new window is going to be created for this navigation as a
- result of frame targetting, then it will be created once you call
- this method.
- - (void)use;
- */
- HRESULT use();
-
- /*!
- @method download
- @abstract Download the resource instead of displaying it.
- @discussion This method is more than just a convenience because it
- allows an in-progress navigation to be converted to a download
- based on content type, without having to stop and restart the
- load.
- - (void)download;
- */
- HRESULT download();
-
- /*!
- @method ignore
- @abstract Do nothing (but the client may choose to handle the request itself)
- @discussion A policy of ignore prevents WebKit from doing anything
- further with the load, however, the client is still free to handle
- the request in some other way, such as opening a new window,
- opening a new window behind the current one, opening the URL in an
- external app, revealing the location in Finder if a file URL, etc.
- - (void)ignore;
- */
- HRESULT ignore();
-}
-
-/*!
- @category WebPolicyDelegate
- @discussion While loading a URL, WebKit asks the WebPolicyDelegate for
- policies that determine the action of what to do with the URL or the data that
- the URL represents. Typically, the policy handler methods are called in this order:
-
- decidePolicyForNewWindowAction:request:newFrameName:decisionListener: (at most once)<BR>
- decidePolicyForNavigationAction:request:frame:decisionListener: (zero or more times)<BR>
- decidePolicyForMIMEType:request:frame: (zero or more times)<BR>
-
- New window policy is always checked. Navigation policy is checked
- for the initial load and every redirect unless blocked by an
- earlier policy. Content policy is checked once the content type is
- known, unless an earlier policy prevented it.
-
- In rare cases, content policy might be checked more than
- once. This occurs when loading a "multipart/x-mixed-replace"
- document, also known as "server push". In this case, multiple
- documents come in one navigation, with each replacing the last. In
- this case, conent policy will be checked for each one.
- @interface NSObject (WebPolicyDelegate)
-*/
-[
- object,
- oleautomation,
- uuid(9B0BAE6C-A496-4000-9E22-2E89F0747401),
- pointer_default(unique)
-]
-interface IWebPolicyDelegate : IUnknown
-{
- /*!
- @method webView:decidePolicyForNavigationAction:request:frame:decisionListener:
- @abstract This method is called to decide what to do with a proposed navigation.
- @param actionInformation Dictionary that describes the action that triggered this navigation.
- @param request The request for the proposed navigation
- @param frame The WebFrame in which the navigation is happening
- @param listener The object to call when the decision is made
- @discussion This method will be called before loading starts, and
- on every redirect.
- - (void)webView:(WebView *)webView decidePolicyForNavigationAction:(NSDictionary *)actionInformation
- request:(NSURLRequest *)request
- frame:(WebFrame *)frame
- decisionListener:(id<WebPolicyDecisionListener>)listener;
- */
- HRESULT decidePolicyForNavigationAction([in] IWebView* webView, [in] IPropertyBag* actionInformation, [in] IWebURLRequest* request, [in] IWebFrame* frame, [in] IWebPolicyDecisionListener* listener);
-
- /*!
- @method webView:decidePolicyForNewWindowAction:request:newFrameName:decisionListener:
- @discussion This method is called to decide what to do with an targetted nagivation that would open a new window.
- @param actionInformation Dictionary that describes the action that triggered this navigation.
- @param request The request for the proposed navigation
- @param frame The frame in which the navigation is taking place
- @param listener The object to call when the decision is made
- @discussion This method is provided so that modified clicks on a targetted link which
- opens a new frame can prevent the new window from being opened if they decide to
- do something else, like download or present the new frame in a specialized way.
-
- <p>If this method picks a policy of Use, the new window will be
- opened, and decidePolicyForNavigationAction:request:frame:decisionListner:
- will be called with a WebNavigationType of WebNavigationTypeOther
- in its action. This is to avoid possible confusion about the modifiers.
- - (void)webView:(WebView *)webView decidePolicyForNewWindowAction:(NSDictionary *)actionInformation
- request:(NSURLRequest *)request
- newFrameName:(NSString *)frameName
- decisionListener:(id<WebPolicyDecisionListener>)listener;
- */
- HRESULT decidePolicyForNewWindowAction([in] IWebView* webView, [in] IPropertyBag* actionInformation, [in] IWebURLRequest* request, [in] BSTR frameName, [in] IWebPolicyDecisionListener* listener);
-
- /*!
- @method webView:decidePolicyForMIMEType:request:frame:
- @discussion Returns the policy for content which has been partially loaded.
- Sent after webView:didStartProvisionalLoadForFrame: is sent on the WebFrameLoadDelegate.
- @param type MIME type for the resource.
- @param request A NSURLRequest for the partially loaded content.
- @param frame The frame which is loading the URL.
- @param listener The object to call when the decision is made
- - (void)webView:(WebView *)webView decidePolicyForMIMEType:(NSString *)type
- request:(NSURLRequest *)request
- frame:(WebFrame *)frame
- decisionListener:(id<IWebPolicyDecisionListener>)listener;
- */
- HRESULT decidePolicyForMIMEType([in] IWebView* webView, [in] BSTR type, [in] IWebURLRequest* request, [in] IWebFrame* frame, [in] IWebPolicyDecisionListener* listener);
-
- /*!
- @method webView:unableToImplementPolicy:error:forURL:inFrame:
- @discussion Called when a WebPolicy could not be implemented. It is up to the client to display appropriate feedback.
- @param policy The policy that could not be implemented.
- @param error The error that caused the policy to not be implemented.
- @param URL The URL of the resource for which a particular action was requested but failed.
- @param frame The frame in which the policy could not be implemented.
- - (void)webView:(WebView *)webView unableToImplementPolicyWithError:(NSError *)error frame:(WebFrame *)frame;
- */
- HRESULT unableToImplementPolicyWithError([in] IWebView* webView, [in] IWebError* error, [in] IWebFrame* frame);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebPolicyDelegatePrivate.idl b/Source/WebKit/win/Interfaces/IWebPolicyDelegatePrivate.idl
deleted file mode 100644
index f77fdb576..000000000
--- a/Source/WebKit/win/Interfaces/IWebPolicyDelegatePrivate.idl
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebFrame.idl"
-import "IWebView.idl"
-#endif
-
-interface IWebView;
-interface IWebFrame;
-
-[
- object,
- oleautomation,
- uuid(BA053E15-559F-46ee-A1D4-F8003EFFB658),
- pointer_default(unique)
-]
-interface IWebPolicyDelegatePrivate : IUnknown
-{
-}
diff --git a/Source/WebKit/win/Interfaces/IWebPreferences.idl b/Source/WebKit/win/Interfaces/IWebPreferences.idl
deleted file mode 100644
index 80940be09..000000000
--- a/Source/WebKit/win/Interfaces/IWebPreferences.idl
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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.
- */
-
-cpp_quote("#define WebPreferencesChangedNotification TEXT(\"WebPreferencesChangedNotification\")")
-cpp_quote("#define WebPreferencesRemovedNotification TEXT(\"WebPreferencesRemovedNotification\")")
-
-#ifndef DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-typedef enum FontSmoothingType {
- FontSmoothingTypeStandard=0,
- FontSmoothingTypeLight,
- FontSmoothingTypeMedium,
- FontSmoothingTypeStrong,
- FontSmoothingTypeWindows
-} FontSmoothingType;
-
-typedef enum WebKitEditableLinkBehavior {
- WebKitEditableLinkDefaultBehavior = 0,
- WebKitEditableLinkAlwaysLive,
- WebKitEditableLinkOnlyLiveWithShiftKey,
- WebKitEditableLinkLiveWhenNotFocused,
- WebKitEditableLinkNeverLive
-} WebKitEditableLinkBehavior;
-
-typedef enum WebKitCookieStorageAcceptPolicy {
- WebKitCookieStorageAcceptPolicyAlways = 0,
- WebKitCookieStorageAcceptPolicyNever,
- WebKitCookieStorageAcceptPolicyOnlyFromMainDocumentDomain
-} WebKitCookieStorageAcceptPolicy;
-
-typedef enum WebCacheModel {
- WebCacheModelDocumentViewer = 0,
- WebCacheModelDocumentBrowser = 1,
- WebCacheModelPrimaryWebBrowser = 2
-} WebCacheModel;
-
-[
- object,
- oleautomation,
- hidden,
- uuid(0930D594-A5A3-46e1-858E-AB17A13CD28E),
- pointer_default(unique)
-]
-interface IWebPreferences : IUnknown
-{
- HRESULT standardPreferences([out, retval] IWebPreferences** standardPreferences);
-
- HRESULT initWithIdentifier([in] BSTR anIdentifier, [out, retval] IWebPreferences** preferences);
- HRESULT identifier([out, retval] BSTR* ident);
-
- HRESULT standardFontFamily([out, retval] BSTR* family);
- HRESULT setStandardFontFamily([in] BSTR family);
-
- HRESULT fixedFontFamily([out, retval] BSTR* family);
- HRESULT setFixedFontFamily([in] BSTR family);
-
- HRESULT serifFontFamily([out, retval] BSTR* fontFamily);
- HRESULT setSerifFontFamily([in] BSTR family);
-
- HRESULT sansSerifFontFamily([out, retval] BSTR* family);
- HRESULT setSansSerifFontFamily([in] BSTR family);
-
- HRESULT cursiveFontFamily([out, retval] BSTR* family);
- HRESULT setCursiveFontFamily([in] BSTR family);
-
- HRESULT fantasyFontFamily([out, retval] BSTR* family);
- HRESULT setFantasyFontFamily([in] BSTR family);
-
- HRESULT defaultFontSize([out, retval] int* fontSize);
- HRESULT setDefaultFontSize([in] int fontSize);
-
- HRESULT defaultFixedFontSize([out, retval] int* fontSize);
- HRESULT setDefaultFixedFontSize([in] int fontSize);
-
- HRESULT minimumFontSize([out, retval] int* fontSize);
- HRESULT setMinimumFontSize([in] int fontSize);
-
- HRESULT minimumLogicalFontSize([out, retval] int* fontSize);
- HRESULT setMinimumLogicalFontSize([in] int fontSize);
-
- HRESULT defaultTextEncodingName([out, retval] BSTR* name);
- HRESULT setDefaultTextEncodingName([in] BSTR name);
-
- HRESULT userStyleSheetEnabled([out, retval] BOOL* enabled);
- HRESULT setUserStyleSheetEnabled([in] BOOL enabled);
-
- HRESULT userStyleSheetLocation([out, retval] BSTR* location);
- HRESULT setUserStyleSheetLocation([in] BSTR location);
-
- HRESULT isJavaEnabled([out, retval] BOOL* enabled);
- HRESULT setJavaEnabled([in] BOOL enabled);
-
- HRESULT isJavaScriptEnabled([out, retval] BOOL* enabled);
- HRESULT setJavaScriptEnabled([in] BOOL enabled);
-
- HRESULT javaScriptCanOpenWindowsAutomatically([out, retval] BOOL* enabled);
- HRESULT setJavaScriptCanOpenWindowsAutomatically([in] BOOL enabled);
-
- HRESULT arePlugInsEnabled([out, retval] BOOL* enabled);
- HRESULT setPlugInsEnabled([in] BOOL enabled);
-
- HRESULT allowsAnimatedImages([out, retval] BOOL* enabled);
- HRESULT setAllowsAnimatedImages([in] BOOL enabled);
- HRESULT allowAnimatedImageLooping([out, retval] BOOL* enabled);
- HRESULT setAllowAnimatedImageLooping([in] BOOL enabled);
-
- HRESULT setLoadsImagesAutomatically([in] BOOL enabled);
- HRESULT loadsImagesAutomatically([out, retval] BOOL* enabled);
-
- HRESULT setAutosaves([in] BOOL enabled);
- HRESULT autosaves([out, retval] BOOL* enabled);
-
- HRESULT setShouldPrintBackgrounds([in] BOOL enabled);
- HRESULT shouldPrintBackgrounds([out, retval] BOOL* enabled);
-
- HRESULT setPrivateBrowsingEnabled([in] BOOL enabled);
- HRESULT privateBrowsingEnabled([out, retval] BOOL* enabled);
-
- HRESULT setTabsToLinks([in] BOOL enabled);
- HRESULT tabsToLinks([out, retval] BOOL* enabled);
-
- HRESULT textAreasAreResizable([out, retval] BOOL* enabled);
- HRESULT setTextAreasAreResizable([in] BOOL enabled);
-
- HRESULT unused1();
- HRESULT unused2();
-
- HRESULT iconDatabaseLocation([out, retval] BSTR* location);
- HRESULT setIconDatabaseLocation([in] BSTR location);
-
- HRESULT iconDatabaseEnabled([out, retval] BOOL* enabled);
- HRESULT setIconDatabaseEnabled([in] BOOL enabled);
-
- HRESULT fontSmoothing([out, retval] FontSmoothingType* smoothingType);
- HRESULT setFontSmoothing([in] FontSmoothingType smoothingType);
-
- HRESULT editableLinkBehavior([out, retval] WebKitEditableLinkBehavior* editableLinkBehavior);
- HRESULT setEditableLinkBehavior([in] WebKitEditableLinkBehavior behavior);
-
- HRESULT cookieStorageAcceptPolicy([out, retval] WebKitCookieStorageAcceptPolicy* acceptPolicy);
- HRESULT setCookieStorageAcceptPolicy([in] WebKitCookieStorageAcceptPolicy acceptPolicy);
-
- HRESULT continuousSpellCheckingEnabled([out, retval] BOOL* enabled);
- HRESULT setContinuousSpellCheckingEnabled([in] BOOL enabled);
- HRESULT grammarCheckingEnabled([out, retval] BOOL* enabled);
- HRESULT setGrammarCheckingEnabled([in] BOOL enabled);
- HRESULT allowContinuousSpellChecking([out, retval] BOOL *allowed);
- HRESULT setAllowContinuousSpellChecking([in] BOOL allowed);
-
- HRESULT isDOMPasteAllowed([out, retval] BOOL *allowed);
- HRESULT setDOMPasteAllowed([in] BOOL allowed);
-
- HRESULT usesPageCache([out, retval] BOOL* usesPageCache);
- HRESULT setUsesPageCache([in] BOOL usesPageCache);
-
- HRESULT cacheModel([out, retval] WebCacheModel* cacheModel);
- HRESULT setCacheModel([in] WebCacheModel cacheModel);
-
- HRESULT unused3();
- HRESULT unused4();
-
- HRESULT setZoomsTextOnly(BOOL zoomsTextOnly);
- HRESULT zoomsTextOnly(BOOL *zoomsTextOnly);
-
- HRESULT setAcceleratedCompositingEnabled(BOOL acceleratedCompositingEnabled);
- HRESULT acceleratedCompositingEnabled(BOOL *acceleratedCompositingEnabled);
-
- HRESULT unused5();
- HRESULT unused6();
-
- HRESULT setAVFoundationEnabled(BOOL avFoundationEnabled);
- HRESULT avFoundationEnabled(BOOL *avFoundationEnabled);
-
- HRESULT pictographFontFamily([out, retval] BSTR* family);
- HRESULT setPictographFontFamily([in] BSTR family);
-
- HRESULT setShouldDisplaySubtitles(BOOL shouldDisplaySubtitles);
- HRESULT shouldDisplaySubtitles(BOOL *shouldDisplaySubtitles);
-
- HRESULT setShouldDisplayCaptions(BOOL shouldDisplayCaptions);
- HRESULT shouldDisplayCaptions(BOOL *shouldDisplayCaptions);
-
- HRESULT setShouldDisplayTextDescriptions(BOOL shouldDisplayTextDescriptions);
- HRESULT shouldDisplayTextDescriptions(BOOL *shouldDisplayTextDescriptions);
-
- HRESULT isCSSRegionsEnabled([out, retval] BOOL* enabled);
- HRESULT setCSSRegionsEnabled([in] BOOL enabled);
-
- HRESULT areSeamlessIFramesEnabled([out, retval] BOOL* enabled);
- HRESULT setSeamlessIFramesEnabled([in] BOOL enabled);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl b/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl
deleted file mode 100644
index 2fc44ef76..000000000
--- a/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2007, 2008, 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- hidden,
- uuid(1380DE41-42CF-4170-9D5D-7840EDE5B36C),
- pointer_default(unique)
-]
-interface IWebPreferencesPrivate : IUnknown
-{
- HRESULT setDeveloperExtrasEnabled([in] BOOL enabled);
- HRESULT developerExtrasEnabled([out, retval] BOOL* enabled);
-
- HRESULT setAutomaticallyDetectsCacheModel([in] BOOL automaticallyDetectsCacheModel);
- HRESULT automaticallyDetectsCacheModel([out, retval] BOOL* automaticallyDetectsCacheModel);
-
- HRESULT setAuthorAndUserStylesEnabled([in] BOOL enabled);
- HRESULT authorAndUserStylesEnabled([out, retval] BOOL* enabled);
-
- HRESULT inApplicationChromeMode([out, retval] BOOL *allowed);
- HRESULT setApplicationChromeMode([in] BOOL allowed);
-
- HRESULT setOfflineWebApplicationCacheEnabled([in] BOOL enabled);
- HRESULT offlineWebApplicationCacheEnabled([out, retval] BOOL *enabled);
-
- HRESULT localStorageDatabasePath([out, retval] BSTR* location);
- HRESULT setLocalStorageDatabasePath([in] BSTR location);
-
- HRESULT setShouldPaintNativeControls([in] BOOL shouldPaint);
- HRESULT shouldPaintNativeControls([out, retval] BOOL* enabled);
-
- HRESULT setDatabasesEnabled([in] BOOL enabled);
- HRESULT databasesEnabled([out, retval] BOOL *enabled);
-
- HRESULT setLocalStorageEnabled([in] BOOL enabled);
- HRESULT localStorageEnabled([out, retval] BOOL* enabled);
-
- HRESULT setFontSmoothingContrast([in] float contrast);
- HRESULT fontSmoothingContrast([out, retval] float* contrast);
-
- HRESULT isWebSecurityEnabled([out, retval] BOOL* enabled);
- HRESULT setWebSecurityEnabled([in] BOOL enabled);
-
- HRESULT allowUniversalAccessFromFileURLs([out, retval] BOOL *allowAccess);
- HRESULT setAllowUniversalAccessFromFileURLs([in] BOOL allowAccess);
-
- HRESULT isXSSAuditorEnabled([out, retval] BOOL *enabled);
- HRESULT setXSSAuditorEnabled([in] BOOL enabled);
-
- HRESULT isFrameFlatteningEnabled([out, retval] BOOL *enabled);
- HRESULT setFrameFlatteningEnabled([in] BOOL enabled);
-
- HRESULT experimentalNotificationsEnabled([out, retval] BOOL *enabled);
- HRESULT setExperimentalNotificationsEnabled([in] BOOL enabled);
-
- HRESULT setShouldUseHighResolutionTimers([in] BOOL useHighResolutionTimers);
- HRESULT shouldUseHighResolutionTimers([out, retval] BOOL* useHighResolutionTimers);
-
- // Used to set preference specified by a test via TestRunner.overridePreference(..).
- // Used by DumpRenderTree.
- HRESULT setPreferenceForTest([in] BSTR key, [in] BSTR value);
-
- HRESULT unused1();
- HRESULT unused2();
-
- HRESULT setAcceleratedCompositingEnabled([in] BOOL);
- HRESULT acceleratedCompositingEnabled([out, retval] BOOL*);
-
- HRESULT setCustomDragCursorsEnabled([in] BOOL);
- HRESULT customDragCursorsEnabled([out, retval] BOOL*);
-
- HRESULT allowFileAccessFromFileURLs([out, retval] BOOL *allowAccess);
- HRESULT setAllowFileAccessFromFileURLs([in] BOOL allowAccess);
-
- HRESULT setShowDebugBorders([in] BOOL);
- HRESULT showDebugBorders([out, retval] BOOL*);
-
- HRESULT setShowRepaintCounter([in] BOOL);
- HRESULT showRepaintCounter([out, retval] BOOL*);
-
- HRESULT javaScriptCanAccessClipboard([out, retval] BOOL *enabled);
- HRESULT setJavaScriptCanAccessClipboard([in] BOOL enabled);
-
- HRESULT isDNSPrefetchingEnabled([out, retval] BOOL *enabled);
- HRESULT setDNSPrefetchingEnabled([in] BOOL enabled);
-
- HRESULT hyperlinkAuditingEnabled(BOOL *hyperlinkAuditingEnabled);
- HRESULT setHyperlinkAuditingEnabled(BOOL hyperlinkAuditingEnabled);
-
- HRESULT setLoadsSiteIconsIgnoringImageLoadingPreference([in] BOOL enabled);
- HRESULT loadsSiteIconsIgnoringImageLoadingPreference([out, retval] BOOL* enabled);
-
- HRESULT setFullScreenEnabled([in] BOOL enabled);
- HRESULT isFullScreenEnabled([out, retval] BOOL* enabled);
-
- HRESULT setHixie76WebSocketProtocolEnabled([in] BOOL enabled);
- HRESULT hixie76WebSocketProtocolEnabled([out, retval] BOOL* enabled);
-
- HRESULT setMediaPlaybackRequiresUserGesture([in] BOOL);
- HRESULT mediaPlaybackRequiresUserGesture([out, retval] BOOL*);
-
- HRESULT setMediaPlaybackAllowsInline([in] BOOL);
- HRESULT mediaPlaybackAllowsInline([out, retval] BOOL*);
-
- HRESULT setShowsToolTipOverTruncatedText([in] BOOL);
- HRESULT showsToolTipOverTruncatedText([out, retval] BOOL*);
-
- HRESULT setShouldInvertColors([in] BOOL);
- HRESULT shouldInvertColors([out, retval] BOOL*);
-
- HRESULT setRequestAnimationFrameEnabled([in] BOOL);
- HRESULT requestAnimationFrameEnabled([out, retval] BOOL*);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebResource.idl b/Source/WebKit/win/Interfaces/IWebResource.idl
deleted file mode 100644
index e85f0dc3e..000000000
--- a/Source/WebKit/win/Interfaces/IWebResource.idl
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-/*!
- @class WebResource
- @discussion A WebResource represents a fully downloaded URL.
- It includes the data of the resource as well as the metadata associated with the resource.
-
- @interface WebResource : NSObject <NSCoding, NSCopying>
-*/
-[
- object,
- oleautomation,
- uuid(09567E0E-7859-494a-B0E4-92C13CFE5574),
- pointer_default(unique)
-]
-interface IWebResource : IUnknown
-{
- /*!
- @method initWithData:URL:MIMEType:textEncodingName:frameName
- @abstract The initializer for WebResource.
- @param data The data of the resource.
- @param URL The URL of the resource.
- @param MIMEType The MIME type of the resource.
- @param textEncodingName The text encoding name of the resource (can be nil).
- @param frameName The frame name of the resource if the resource represents the contents of an entire HTML frame (can be nil).
- @result An initialized WebResource.
- - (id)initWithData:(NSData *)data URL:(NSURL *)URL MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)textEncodingName frameName:(NSString *)frameName;
- */
- HRESULT initWithData([in] IStream* data, [in] BSTR url, [in] BSTR mimeType, [in] BSTR textEncodingName, [in] BSTR frameName);
-
- /*!
- @method data
- @result The data of the resource.
- - (NSData *)data;
- */
- HRESULT data([out, retval] IStream** data);
-
- /*!
- @method URL
- @result The URL of the resource.
- - (NSURL *)URL;
- */
- HRESULT URL([out, retval] BSTR* url);
-
- /*!
- @method MIMEType
- @result The MIME type of the resource.
- - (NSString *)MIMEType;
- */
- HRESULT MIMEType([out, retval] BSTR* mime);
-
- /*!
- @method textEncodingName
- @result The text encoding name of the resource (can be nil).
- - (NSString *)textEncodingName;
- */
- HRESULT textEncodingName([out, retval] BSTR* encodingName);
-
- /*!
- @method frameName
- @result The frame name of the resource if the resource represents the contents of an entire HTML frame (can be nil).
- - (NSString *)frameName;
- */
- HRESULT frameName([out, retval] BSTR* name);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebResourceLoadDelegate.idl b/Source/WebKit/win/Interfaces/IWebResourceLoadDelegate.idl
deleted file mode 100644
index 87e6f911d..000000000
--- a/Source/WebKit/win/Interfaces/IWebResourceLoadDelegate.idl
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebURLAuthenticationChallenge.idl";
-import "IWebDataSource.idl";
-import "IWebURLResponse.idl";
-import "IWebError.idl";
-#endif
-
-interface IWebView;
-interface IWebDataSource;
-interface IWebURLAuthenticationChallenge;
-interface IWebURLResponse;
-interface IWebURLRequest;
-
-interface IWebError;
-
-/*!
- @category WebResourceLoadDelegate
- @discussion Implementors of this protocol will receive messages indicating
- that a resource is about to be loaded, data has been received for a resource,
- an error has been received for a resource, and completion of a resource load.
- Implementors are also given the opportunity to mutate requests before they are sent.
- The various progress methods of this protocol all receive an identifier as the
- parameter. This identifier can be used to track messages associated with a single
- resource. For example, a single resource may generate multiple
- resource:willSendRequest:redirectResponse:fromDataSource: messages as it's URL is redirected.
- @interface NSObject (WebResourceLoadDelegate)
-*/
-
-[
- object,
- oleautomation,
- uuid(AF3289AA-90DB-4ca4-A112-A1E5F0517953),
- pointer_default(unique)
-]
-interface IWebResourceLoadDelegate : IUnknown
-{
- /*!
- @method webView:identifierForInitialRequest:fromDataSource:
- @param webView The WebView sending the message.
- @param request The request about to be sent.
- @param dataSource The datasource that initiated the load.
- @discussion An implementor of WebResourceLoadDelegate should provide an identifier
- that can be used to track the load of a single resource. This identifier will be
- passed as the first argument for all of the other WebResourceLoadDelegate methods. The
- identifier is useful to track changes to a resources request, which will be
- provided by one or more calls to resource:willSendRequest:redirectResponse:fromDataSource:.
- @result An identifier that will be passed back to the implementor for each callback.
- The identifier will be retained.
- - (id)webView:(WebView *)sender identifierForInitialRequest:(NSURLRequest *)request fromDataSource:(WebDataSource *)dataSource;
- */
- HRESULT identifierForInitialRequest([in] IWebView* webView, [in] IWebURLRequest* request, [in] IWebDataSource* dataSource, [in] unsigned long identifier);
-
- /*!
- @method resource:willSendRequest:redirectResponse:fromDataSource:
- @discussion This message is sent before a load is initiated. The request may be modified
- as necessary by the receiver.
- @param webView The WebView sending the message.
- @param identifier An identifier that can be used to track the progress of a resource load across
- multiple call backs.
- @param request The request about to be sent.
- @param redirectResponse If the request is being made in response to a redirect we received,
- the response that conveyed that redirect.
- @param dataSource The dataSource that initiated the load.
- @result Returns the request, which may be mutated by the implementor, although typically
- will be request.
- - (NSURLRequest *)webView:(WebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse fromDataSource:(WebDataSource *)dataSource;
- */
- HRESULT willSendRequest([in] IWebView* webView, [in] unsigned long identifier, [in] IWebURLRequest* request, [in] IWebURLResponse* redirectResponse, [in] IWebDataSource* dataSource, [out, retval] IWebURLRequest** newRequest);
-
- /*!
- @method webView:resource:didReceiveAuthenticationChallenge:fromDataSource:
- @abstract Start authentication for the resource, providing a challenge
- @discussion Call useCredential::, continueWithoutCredential or
- cancel on the challenge when done.
- @param challenge The NSURLAuthenticationChallenge to start authentication for
- @discussion If you do not implement this delegate method, WebKit will handle authentication
- automatically by prompting with a sheet on the window that the WebView is associated with.
- - (void)webView:(WebView *)sender resource:(id)identifier didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge fromDataSource:(WebDataSource *)dataSource;
- */
- HRESULT didReceiveAuthenticationChallenge([in] IWebView* webView, [in] unsigned long identifier,[in] IWebURLAuthenticationChallenge* challenge, [in] IWebDataSource* dataSource);
-
- /*!
- @method webView:resource:didCancelAuthenticationChallenge:fromDataSource:
- @abstract Cancel authentication for a given request
- @param challenge The NSURLAuthenticationChallenge for which to cancel authentication
- - (void)webView:(WebView *)sender resource:(id)identifier didCancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge fromDataSource:(WebDataSource *)dataSource;
- */
- HRESULT didCancelAuthenticationChallenge([in] IWebView* webView, [in] unsigned long identifier, [in] IWebURLAuthenticationChallenge* challenge, [in] IWebDataSource* dataSource);
-
- /*!
- @method webView:resource:didReceiveResponse:fromDataSource:
- @abstract This message is sent after a response has been received for this load.
- @param webView The WebView sending the message.
- @param identifier An identifier that can be used to track the progress of a resource load across
- multiple call backs.
- @param response The response for the request.
- @param dataSource The dataSource that initiated the load.
- @discussion In some rare cases, multiple responses may be received for a single load.
- This occurs with multipart/x-mixed-replace, or "server push". In this case, the client
- should assume that each new response resets progress so far for the resource back to 0,
- and should check the new response for the expected content length.
- - (void)webView:(WebView *)sender resource:(id)identifier didReceiveResponse:(NSURLResponse *)response fromDataSource:(WebDataSource *)dataSource;
- */
- HRESULT didReceiveResponse([in] IWebView* webView, [in] unsigned long identifier, [in] IWebURLResponse* response, [in] IWebDataSource* dataSource);
-
- /*!
- @method webView:resource:didReceiveContentLength:fromDataSource:
- @discussion Multiple of these messages may be sent as data arrives.
- @param webView The WebView sending the message.
- @param identifier An identifier that can be used to track the progress of a resource load across
- multiple call backs.
- @param length The amount of new data received. This is not the total amount, just the new amount received.
- @param dataSource The dataSource that initiated the load.
- - (void)webView:(WebView *)sender resource:(id)identifier didReceiveContentLength:(WebNSInt)length fromDataSource:(WebDataSource *)dataSource;
- */
- HRESULT didReceiveContentLength([in] IWebView* webView, [in] unsigned long identifier, [in] UINT length, [in] IWebDataSource* dataSource);
-
- /*!
- @method webView:resource:didFinishLoadingFromDataSource:
- @discussion This message is sent after a load has successfully completed.
- @param webView The WebView sending the message.
- @param identifier An identifier that can be used to track the progress of a resource load across
- multiple call backs.
- @param dataSource The dataSource that initiated the load.
- - (void)webView:(WebView *)sender resource:(id)identifier didFinishLoadingFromDataSource:(WebDataSource *)dataSource;
- */
- HRESULT didFinishLoadingFromDataSource([in] IWebView* webView, [in] unsigned long identifier, [in] IWebDataSource* dataSource);
-
- /*!
- @method webView:resource:didFailLoadingWithError:fromDataSource:
- @discussion This message is sent after a load has failed to load due to an error.
- @param webView The WebView sending the message.
- @param identifier An identifier that can be used to track the progress of a resource load across
- multiple call backs.
- @param error The error associated with this load.
- @param dataSource The dataSource that initiated the load.
- - (void)webView:(WebView *)sender resource:(id)identifier didFailLoadingWithError:(NSError *)error fromDataSource:(WebDataSource *)dataSource;
- */
- HRESULT didFailLoadingWithError([in] IWebView* webView, [in] unsigned long identifier, [in] IWebError* error, [in] IWebDataSource* dataSource);
-
- /*!
- @method webView:plugInFailedWithError:dataSource:
- @discussion Called when a plug-in is not found, fails to load or is not available for some reason.
- @param webView The WebView sending the message.
- @param error The plug-in error. In the userInfo dictionary of the error, the object for the
- NSErrorFailingURLKey key is a URL string of the SRC attribute, the object for the WebKitErrorPlugInNameKey
- key is a string of the plug-in's name, the object for the WebKitErrorPlugInPageURLStringKey key is a URL string
- of the PLUGINSPAGE attribute and the object for the WebKitErrorMIMETypeKey key is a string of the TYPE attribute.
- Some, none or all of the mentioned attributes can be present in the userInfo. The error returns nil for userInfo
- when none are present.
- @param dataSource The dataSource that contains the plug-in.
- - (void)webView:(WebView *)sender plugInFailedWithError:(NSError *)error dataSource:(WebDataSource *)dataSource;
- */
- HRESULT plugInFailedWithError([in] IWebView* webView, [in] IWebError* error, [in] IWebDataSource* dataSource);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebResourceLoadDelegatePrivate.idl b/Source/WebKit/win/Interfaces/IWebResourceLoadDelegatePrivate.idl
deleted file mode 100644
index 664e38d23..000000000
--- a/Source/WebKit/win/Interfaces/IWebResourceLoadDelegatePrivate.idl
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebDataSource.idl";
-import "IWebURLResponse.idl";
-#endif
-
-interface IWebView;
-interface IWebDataSource;
-interface IWebURLResponse;
-interface IWebURLRequest;
-
-/*!
- @category WebResourceLoadDelegatePrivate
-*/
-
-[
- object,
- oleautomation,
- uuid(099DC3C1-34B5-4169-ABBF-0C63CBC25605),
- pointer_default(unique)
-]
-interface IWebResourceLoadDelegatePrivate : IUnknown
-{
- /*!
- @method webView:didLoadResourceFromMemoryCache:request:response:length:fromDataSource:
- @param request The request for the resource.
- @param response The response for the resource.
- @param dataSource The datasource that initiated the load.
- @discussion This will be called if the resource can be loaded from memory cache. No further resource load delegate
- methods will be called on it after this.
- - (id)webView:(WebView *)sender didLoadResourceFromMemoryCache:(NSURLRequest *)request response:(NSURLResponse *)response length:(NSInteger)length fromDataSource:(WebDataSource *)dataSource
- */
- HRESULT didLoadResourceFromMemoryCache([in] IWebView* webView, [in] IWebURLRequest* request, [in] IWebURLResponse* response, [in] UINT length, [in] IWebDataSource* dataSource);
-
- HRESULT shouldUseCredentialStorage([in] IWebView* webView, [in] unsigned long identifier, [in] IWebDataSource* dataSource, [out, retval] BOOL* shouldUse);
-
- HRESULT shouldCacheResponse([in] IWebView* webView, [in] unsigned long identifier, [in] IWebURLResponse* response, [in] const char* data, [in] unsigned long long length, [in] IWebDataSource* dataSource, [out, retval] BOOL* shouldCache);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebResourceLoadDelegatePrivate2.idl b/Source/WebKit/win/Interfaces/IWebResourceLoadDelegatePrivate2.idl
deleted file mode 100644
index 7e98e6ab8..000000000
--- a/Source/WebKit/win/Interfaces/IWebResourceLoadDelegatePrivate2.idl
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebView.idl";
-#endif
-
-interface IWebView;
-
-[
- object,
- oleautomation,
- uuid(3517ADDA-5870-4aab-9A4E-056E65989DF8),
- pointer_default(unique)
-]
-interface IWebResourceLoadDelegatePrivate2 : IUnknown
-{
- /*!
- @method webView:removeIdentifierForRequest
- @param webView The WebView sending the message.
- @param identifier An identifier that can be used to track the progress of a resource load across
- multiple call backs.
- @discussion This message is sent to notify the delegate to stop using the identifier
- to track the progress of a resource load.
- - (void)webView:(WebView *)sender removeIdentifierForRequest:(id)identifier;
- */
- HRESULT removeIdentifierForRequest([in] IWebView* webView, [in] unsigned long identifier);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebScriptObject.idl b/Source/WebKit/win/Interfaces/IWebScriptObject.idl
deleted file mode 100644
index 83b502e02..000000000
--- a/Source/WebKit/win/Interfaces/IWebScriptObject.idl
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-/*!
- @class WebScriptObject
- @discussion WebScriptObjects are used to wrap script objects passed from
- script environments to Objective-C. WebScriptObjects cannot be created
- directly. In normal uses of WebKit, you gain access to the script
- environment using the "windowScriptObject" method on WebView.
-
- The following KVC methods are commonly used to access properties of the
- WebScriptObject:
-
- - (void)setValue:(id)value forKey:(NSString *)key
- - (id)valueForKey:(NSString *)key
-
- As it possible to remove attributes from web script objects the following
- additional method augments the basic KVC methods:
-
- - (void)removeWebScriptKey:(NSString *)name;
-
- Also the sparse array access allowed in web script objects doesn't map well to NSArray, so
- the following methods can be used to access index based properties:
-
- - (id)webScriptValueAtIndex:(unsigned int)index;
- - (void)setWebScriptValueAtIndex:(unsigned int)index value:(id)value;
-
- @interface WebScriptObject : NSObject
-*/
-[
- object,
- oleautomation,
- uuid(7022340A-649C-43fc-9214-85CA7D3BE3C7),
- pointer_default(unique)
-]
-interface IWebScriptObject : IUnknown
-{
- /*!
- @method throwException:
- @discussion Throws an exception in the current script execution context.
- @result Either NO if an exception could not be raised, YES otherwise.
- + (BOOL)throwException:(NSString *)exceptionMessage;
- */
- HRESULT throwException([in] BSTR exceptionMessage, [out, retval] BOOL* result);
-
- /*!
- @method callWebScriptMethod:withArguments:
- @param name The name of the method to call in the script environment.
- @param args The arguments to pass to the script environment.
- @discussion Calls the specified method in the script environment using the
- specified arguments.
- @result Returns the result of calling the script method.
- - (id)callWebScriptMethod:(NSString *)name withArguments:(NSArray *)args;
- */
- HRESULT callWebScriptMethod([in] BSTR name, [in, size_is(cArgs)] const VARIANT args[], [in] int cArgs, [out, retval] VARIANT* result);
-
- /*!
- @method evaluateWebScript:
- @param script The script to execute in the target script environment.
- @discussion The script will be executed in the target script environment. The format
- of the script is dependent of the target script environment.
- @result Returns the result of evaluating the script in the script environment.
- - (id)evaluateWebScript:(NSString *)script;
- */
- HRESULT evaluateWebScript([in] BSTR script, [out, retval] VARIANT* result);
-
- /*!
- @method removeWebScriptKey:
- @param name The name of the property to remove.
- @discussion Removes the property from the object in the script environment.
- - (void)removeWebScriptKey:(NSString *)name;
- */
- HRESULT removeWebScriptKey([in] BSTR name);
-
- /*!
- @method toString
- @discussion Converts the target object to a string representation. The coercion
- of non string objects type is dependent on the script environment.
- @result Returns the string representation of the object.
- - (NSString *)stringRepresentation;
- */
- HRESULT stringRepresentation([out, retval] BSTR* stringRepresentation);
-
- /*!
- @method propertyAtIndex:
- @param index The index of the property to return. Index based access is dependent
- @discussion Gets the value of the property at the specified index.
- @result The value of the property.
- - (id)webScriptValueAtIndex:(unsigned int)index;
- */
- HRESULT webScriptValueAtIndex([in] unsigned int index, [out, retval] VARIANT* result);
-
- /*!
- @method setPropertyAtIndex:value:
- @param index The index of the property to set.
- @param value The value of the property to set.
- @discussion Sets the property value at the specified index.
- - (void)setWebScriptValueAtIndex:(unsigned int)index value:(id)value;
- */
- HRESULT setWebScriptValueAtIndex([in] unsigned int index, [in] VARIANT val);
-
- /*!
- @method setException:
- @param description The description of the exception.
- @discussion Raises an exception in the script environment in the context of the
- current object.
- - (void)setException: (NSString *)description;
- */
- HRESULT setException([in] BSTR description);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebScriptWorld.idl b/Source/WebKit/win/Interfaces/IWebScriptWorld.idl
deleted file mode 100644
index b66c4ecf8..000000000
--- a/Source/WebKit/win/Interfaces/IWebScriptWorld.idl
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "JavaScriptCoreAPITypes.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(EBD45575-8184-4f22-B849-A5FE88336055),
- pointer_default(unique)
-]
-interface IWebScriptWorld : IUnknown {
- HRESULT standardWorld([out, retval] IWebScriptWorld**);
- [local] HRESULT scriptWorldForGlobalContext([in] JSGlobalContextRef, [out, retval] IWebScriptWorld**);
- HRESULT unregisterWorld();
-}
diff --git a/Source/WebKit/win/Interfaces/IWebScrollBarDelegatePrivate.idl b/Source/WebKit/win/Interfaces/IWebScrollBarDelegatePrivate.idl
deleted file mode 100644
index e054e0549..000000000
--- a/Source/WebKit/win/Interfaces/IWebScrollBarDelegatePrivate.idl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebScrollBarPrivate.idl";
-#endif
-
-interface IWebScrollBarPrivate;
-
-[
- object,
- oleautomation,
- uuid(2E8D56AF-3BF5-4e17-BDA6-01692ACBE3D5),
- pointer_default(unique)
-]
-interface IWebScrollBarDelegatePrivate : IUnknown
-{
- HRESULT valueChanged([in] IWebScrollBarPrivate* scrollBar);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebScrollBarPrivate.idl b/Source/WebKit/win/Interfaces/IWebScrollBarPrivate.idl
deleted file mode 100644
index 2c820eb6e..000000000
--- a/Source/WebKit/win/Interfaces/IWebScrollBarPrivate.idl
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebScrollBarDelegatePrivate.idl";
-#endif
-
-interface IWebScrollBarDelegatePrivate;
-
-[
- object,
- oleautomation,
- hidden,
- uuid(6C585B08-2E4F-4594-9B90-0425E3A33FD0),
- pointer_default(unique)
-]
-interface IWebScrollBarPrivate : IUnknown
-{
- HRESULT init([in] IWebScrollBarDelegatePrivate* delegate, [in] OLE_HANDLE containingWindow, [in] WebScrollBarOrientation orientation, [in] WebScrollBarControlSize controlSize);
-
- HRESULT setEnabled([in] BOOL enabled);
-
- HRESULT setSteps([in] int lineStep, [in] int pageStep);
-
- HRESULT setProportion([in] int visibleSize, [in] int totalSize);
-
- HRESULT setRect([in] RECT bounds);
-
- HRESULT setValue([in] int value);
-
- HRESULT value([out, retval] int* value);
-
- HRESULT paint([in] HDC dc, [in] RECT damageRect);
-
- HRESULT frameRect([out, retval] RECT* bounds);
-
- HRESULT width([out, retval] int* w);
-
- HRESULT height([out, retval] int* h);
-
- HRESULT requestedWidth([out, retval] int* w);
-
- HRESULT requestedHeight([out, retval] int* h);
-
- HRESULT handleMouseEvent([in] OLE_HANDLE hwnd, [in] UINT msg, [in] WPARAM wParam, [in] LPARAM lParam);
-
- HRESULT scroll([in] WebScrollDirection direction, [in] WebScrollGranularity granularity, [in] float multiplier);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebSecurityOrigin.idl b/Source/WebKit/win/Interfaces/IWebSecurityOrigin.idl
deleted file mode 100644
index 796d59c8b..000000000
--- a/Source/WebKit/win/Interfaces/IWebSecurityOrigin.idl
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(304d4462-a921-4e85-bc11-bce1462B159d),
- pointer_default(unique)
-]
-interface IWebSecurityOrigin : IUnknown
-{
- HRESULT protocol([out, retval] BSTR* result);
- HRESULT host([out, retval] BSTR* result);
- HRESULT port([out, retval] unsigned short* result);
-
- HRESULT usage([out, retval] unsigned long long* result);
-
- HRESULT quota([out, retval] unsigned long long* result);
- HRESULT setQuota([in] unsigned long long quota);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebSerializedJSValue.idl b/Source/WebKit/win/Interfaces/IWebSerializedJSValue.idl
deleted file mode 100644
index eddef6276..000000000
--- a/Source/WebKit/win/Interfaces/IWebSerializedJSValue.idl
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "JavaScriptCoreAPITypes.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(13B3F50A-C996-61A7-2247-3DCC88FB0B84),
- pointer_default(unique)
-]
-interface IWebSerializedJSValue : IUnknown {
- [local] HRESULT serialize([in] JSContextRef context, [in] JSValueRef value, [out, retval] JSValueRef* exception);
- [local] HRESULT deserialize([in] JSContextRef context, [out, retval] JSValueRef* value);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebSerializedJSValuePrivate.idl b/Source/WebKit/win/Interfaces/IWebSerializedJSValuePrivate.idl
deleted file mode 100644
index 847dd7682..000000000
--- a/Source/WebKit/win/Interfaces/IWebSerializedJSValuePrivate.idl
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2007, 2008, 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- hidden,
- uuid(F695AF5F-35FE-44fb-9EC6-23ABCAC8C515),
- pointer_default(unique)
-]
-interface IWebSerializedJSValuePrivate : IUnknown
-{
- [local] HRESULT setInternalRepresentation([in] void* internalRepresentation);
- [local] HRESULT getInternalRepresentation([out, retval] void** internalRepresentation);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebTextRenderer.idl b/Source/WebKit/win/Interfaces/IWebTextRenderer.idl
deleted file mode 100644
index bdfc54aa3..000000000
--- a/Source/WebKit/win/Interfaces/IWebTextRenderer.idl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(5b26abbb-c27a-4527-a313-cb733e2cd257),
- pointer_default(unique)
-]
-interface IWebTextRenderer : IUnknown
-{
- HRESULT registerPrivateFont([in] LPCOLESTR fontFilePath);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebUIDelegate.idl b/Source/WebKit/win/Interfaces/IWebUIDelegate.idl
deleted file mode 100644
index 5886c7c72..000000000
--- a/Source/WebKit/win/Interfaces/IWebUIDelegate.idl
+++ /dev/null
@@ -1,758 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebUndoTarget.idl";
-import "IWebURLRequest.idl";
-import "IWebFrame.idl";
-#endif
-
-interface IWebFrame;
-interface IWebView;
-interface IWebURLRequest;
-interface IWebUndoTarget;
-
-/*!
- @enum WebMenuItemTag
- @discussion Each menu item in the default menu items array passed in
- contextMenuItemsForElement:defaultMenuItems: has its tag set to one of the WebMenuItemTags.
- When iterating through the default menu items array, use the tag to differentiate between them.
-*/
-typedef enum WebMenuItemTag {
- WebMenuItemTagOpenLinkInNewWindow=1,
- WebMenuItemTagDownloadLinkToDisk,
- WebMenuItemTagCopyLinkToClipboard,
- WebMenuItemTagOpenImageInNewWindow,
- WebMenuItemTagDownloadImageToDisk,
- WebMenuItemTagCopyImageToClipboard,
- WebMenuItemTagOpenFrameInNewWindow,
- WebMenuItemTagCopy,
- WebMenuItemTagGoBack,
- WebMenuItemTagGoForward,
- WebMenuItemTagStop,
- WebMenuItemTagReload,
- WebMenuItemTagCut,
- WebMenuItemTagPaste,
- WebMenuItemTagSpellingGuess,
- WebMenuItemTagNoGuessesFound,
- WebMenuItemTagIgnoreSpelling,
- WebMenuItemTagLearnSpelling,
- WebMenuItemTagOther,
- WebMenuItemTagSearchInSpotlight,
- WebMenuItemTagSearchWeb,
- WebMenuItemTagLookUpInDictionary,
- WebMenuItemTagOpenWithDefaultApplication,
- WebMenuItemPDFActualSize,
- WebMenuItemPDFZoomIn,
- WebMenuItemPDFZoomOut,
- WebMenuItemPDFAutoSize,
- WebMenuItemPDFSinglePage,
- WebMenuItemPDFFacingPages,
- WebMenuItemPDFContinuous,
- WebMenuItemPDFNextPage,
- WebMenuItemPDFPreviousPage,
- // FIXME: Review these names before release!
- WebMenuItemTagOpenLink = 2000,
- WebMenuItemTagIgnoreGrammar,
- WebtMenuItemTagSpellingMenu,
- WebMenuItemTagShowSpellingPanel,
- WebMenuItemTagCheckSpelling,
- WebMenuItemTagCheckSpellingWhileTyping,
- WebMenuItemTagCheckGrammarWithSpelling,
- WebMenuItemTagFontMenu,
- WebMenuItemTagShowFonts,
- WebMenuItemTagBold,
- WebMenuItemTagItalic,
- WebMenuItemTagUnderline,
- WebMenuItemTagOutline,
- WebMenuItemTagStyles,
- WebMenuItemTagShowColors,
- WebMenuItemTagSpeechMenu,
- WebMenuItemTagStartSpeaking,
- WebMenuItemTagStopSpeaking,
- WebMenuItemTagWritingDirectionMenu,
- WebMenuItemTagDefaultDirection,
- WebMenuItemTagLeftToRight,
- WebMenuItemTagRightToLeft,
- WebMenuItemTagPDFSinglePageScrolling,
- WebMenuItemTagPDFFacingPagesScrolling,
- WebMenuItemTagInspectElement,
- WebMenuItemBaseApplicationTag=10000
-} WebMenuItemTag;
-
-/*!
- @enum WebDragDestinationAction
- @abstract Actions that the destination of a drag can perform.
- @constant WebDragDestinationActionNone No action
- @constant WebDragDestinationActionDHTML Allows DHTML (such as JavaScript) to handle the drag
- @constant WebDragDestinationActionEdit Allows editable documents to be edited from the drag
- @constant WebDragDestinationActionLoad Allows a location change from the drag
- @constant WebDragDestinationActionAny Allows any of the above to occur
-*/
-typedef enum WebDragDestinationAction {
- WebDragDestinationActionNone = 0,
- WebDragDestinationActionDHTML = 1,
- WebDragDestinationActionEdit = 2,
- WebDragDestinationActionLoad = 4,
- WebDragDestinationActionAny = (unsigned long)-1
-} WebDragDestinationAction;
-
-/*!
- @enum WebDragSourceAction
- @abstract Actions that the source of a drag can perform.
- @constant WebDragSourceActionNone No action
- @constant WebDragSourceActionDHTML Allows DHTML (such as JavaScript) to start a drag
- @constant WebDragSourceActionImage Allows an image drag to occur
- @constant WebDragSourceActionLink Allows a link drag to occur
- @constant WebDragSourceActionSelection Allows a selection drag to occur
- @constant WebDragSourceActionAny Allows any of the above to occur
-*/
-typedef enum WebDragSourceAction {
- WebDragSourceActionNone = 0,
- WebDragSourceActionDHTML = 1,
- WebDragSourceActionImage = 2,
- WebDragSourceActionLink = 4,
- WebDragSourceActionSelection = 8,
- WebDragSourceActionAny = (unsigned long)-1
-} WebDragSourceAction;
-
-
-/*!
- @protocol WebOpenPanelResultListener
- @discussion This protocol is used to call back with the results of
- the file open panel requested by runOpenPanelForFileButtonWithResultListener:
- @protocol WebOpenPanelResultListener <NSObject>
-*/
-[
- object,
- oleautomation,
- uuid(634198C7-9DFC-4aba-9E8C-90AEEA7A4144),
- pointer_default(unique)
-]
-interface IWebOpenPanelResultListener : IUnknown
-{
- /*!
- @method chooseFilename:
- @abstract Call this method to return a filename from the file open panel.
- @param fileName
- - (void)chooseFilename:(NSString *)fileName;
- */
- HRESULT chooseFilename([out, retval] BSTR* fileName);
-
- /*!
- @method cancel
- @abstract Call this method to indicate that the file open panel was cancelled.
- - (void)cancel;
- */
- HRESULT cancel();
-}
-
-/*!
- @category WebUIDelegate
- @discussion A class that implements WebUIDelegate provides
- window-related methods that may be used by Javascript, plugins and
- other aspects of web pages. These methods are used to open new
- windows and control aspects of existing windows.
- @interface NSObject (WebUIDelegate)
-*/
-[
- object,
- oleautomation,
- uuid(042B7EE3-A5A4-4a8f-8C33-775CD9E89C7C),
- pointer_default(unique)
-]
-interface IWebUIDelegate : IUnknown
-{
- /*!
- @method webView:createWebViewWithRequest:
- @abstract Create a new window and begin to load the specified request.
- @discussion The newly created window is hidden, and the window operations delegate on the
- new WebViews will get a webViewShow: call.
- @param sender The WebView sending the delegate method.
- @param request The request to load.
- @result The WebView for the new window.
- - (WebView *)webView:(WebView *)sender createWebViewWithRequest:(NSURLRequest *)request;
- */
- HRESULT createWebViewWithRequest([in] IWebView* sender, [in] IWebURLRequest* request, [out, retval] IWebView** newWebView);
-
- /*!
- @method webViewShow:
- @param sender The WebView sending the delegate method.
- @abstract Show the window that contains the top level view of the WebView,
- ordering it frontmost.
- @discussion This will only be called just after createWindowWithRequest:
- is used to create a new window.
- - (void)webViewShow:(WebView *)sender;
- */
- HRESULT webViewShow([in] IWebView* sender);
-
- /*!
- @method webViewClose:
- @abstract Close the current window.
- @param sender The WebView sending the delegate method.
- @discussion Clients showing multiple views in one window may
- choose to close only the one corresponding to this
- WebView. Other clients may choose to ignore this method
- entirely.
- - (void)webViewClose:(WebView *)sender;
- */
- HRESULT webViewClose([in] IWebView* sender);
-
- /*!
- @method webViewFocus:
- @abstract Focus the current window (i.e. makeKeyAndOrderFront:).
- @param The WebView sending the delegate method.
- @discussion Clients showing multiple views in one window may want to
- also do something to focus the one corresponding to this WebView.
- - (void)webViewFocus:(WebView *)sender;
- */
- HRESULT webViewFocus([in] IWebView* sender);
-
- /*!
- @method webViewUnfocus:
- @abstract Unfocus the current window.
- @param sender The WebView sending the delegate method.
- @discussion Clients showing multiple views in one window may want to
- also do something to unfocus the one corresponding to this WebView.
- - (void)webViewUnfocus:(WebView *)sender;
- */
- HRESULT webViewUnfocus([in] IWebView* sender);
-
- /*!
- @method webViewFirstResponder:
- @abstract Get the first responder for this window.
- @param sender The WebView sending the delegate method.
- @discussion This method should return the focused control in the
- WebView's view, if any. If the view is out of the window
- hierarchy, this might return something than calling firstResponder
- on the real NSWindow would. It's OK to return either nil or the
- real first responder if some control not in the window has focus.
- - (NSResponder *)webViewFirstResponder:(WebView *)sender;
- */
- HRESULT webViewFirstResponder([in] IWebView* sender, [out, retval] OLE_HANDLE* responderHWnd);
-
- /*!
- @method webView:makeFirstResponder:
- @abstract Set the first responder for this window.
- @param sender The WebView sending the delegate method.
- @param responder The responder to make first (will always be a view)
- @discussion responder will always be a view that is in the view
- subhierarchy of the top-level web view for this WebView. If the
- WebView's top level view is currently out of the view
- hierarchy, it may be desirable to save the first responder
- elsewhere, or possibly ignore this call.
- - (void)webView:(WebView *)sender makeFirstResponder:(NSResponder *)responder;
- */
- HRESULT makeFirstResponder([in] IWebView* sender, [in] OLE_HANDLE responderHWnd);
-
- /*!
- @method webView:setStatusText:
- @abstract Set the window's status display, if any, to the specified string.
- @param sender The WebView sending the delegate method.
- @param text The status text to set
- - (void)webView:(WebView *)sender setStatusText:(NSString *)text;
- */
- HRESULT setStatusText([in] IWebView* sender, [in] BSTR text);
-
- /*!
- @method webViewStatusText:
- @abstract Get the currently displayed status text.
- @param sender The WebView sending the delegate method.
- @result The status text
- - (NSString *)webViewStatusText:(WebView *)sender;
- */
- HRESULT webViewStatusText([in] IWebView* sender, [out, retval] BSTR* text);
-
- /*!
- @method webViewAreToolbarsVisible:
- @abstract Determine whether the window's toolbars are currently visible
- @param sender The WebView sending the delegate method.
- @discussion This method should return YES if the window has any
- toolbars that are currently on, besides the status bar. If the app
- has more than one toolbar per window, for example a regular
- command toolbar and a favorites bar, it should return YES from
- this method if at least one is on.
- @result YES if at least one toolbar is visible, otherwise NO.
- - (BOOL)webViewAreToolbarsVisible:(WebView *)sender;
- */
- HRESULT webViewAreToolbarsVisible([in] IWebView* sender, [out, retval] BOOL* visible);
-
- /*!
- @method webView:setToolbarsVisible:
- @param sender The WebView sending the delegate method.
- @abstract Set whether the window's toolbars are currently visible.
- @param visible New value for toolbar visibility
- @discussion Setting this to YES should turn on all toolbars
- (except for a possible status bar). Setting it to NO should turn
- off all toolbars (with the same exception).
- - (void)webView:(WebView *)sender setToolbarsVisible:(BOOL)visible;
- */
- HRESULT setToolbarsVisible([in] IWebView* sender, [in] BOOL visible);
-
- /*!
- @method webViewIsStatusBarVisible:
- @abstract Determine whether the status bar is visible.
- @param sender The WebView sending the delegate method.
- @result YES if the status bar is visible, otherwise NO.
- - (BOOL)webViewIsStatusBarVisible:(WebView *)sender;
- */
- HRESULT webViewIsStatusBarVisible([in] IWebView* sender, [out, retval] BOOL* visible);
-
- /*!
- @method webView:setStatusBarVisible:
- @abstract Set whether the status bar is currently visible.
- @param visible The new visibility value
- @discussion Setting this to YES should show the status bar,
- setting it to NO should hide it.
- - (void)webView:(WebView *)sender setStatusBarVisible:(BOOL)visible;
- */
- HRESULT setStatusBarVisible([in] IWebView* sender, [in] BOOL visible);
-
- /*!
- @method webViewIsResizable:
- @abstract Determine whether the window is resizable or not.
- @param sender The WebView sending the delegate method.
- @result YES if resizable, NO if not.
- @discussion If there are multiple views in the same window, they
- have have their own separate resize controls and this may need to
- be handled specially.
- - (BOOL)webViewIsResizable:(WebView *)sender;
- */
- HRESULT webViewIsResizable([in] IWebView* sender, [out, retval] BOOL* resizable);
-
- /*!
- @method webView:setResizable:
- @abstract Set the window to resizable or not
- @param sender The WebView sending the delegate method.
- @param resizable YES if the window should be made resizable, NO if not.
- @discussion If there are multiple views in the same window, they
- have have their own separate resize controls and this may need to
- be handled specially.
- - (void)webView:(WebView *)sender setResizable:(BOOL)resizable;
- */
- HRESULT setResizable([in] IWebView* sender, [in] BOOL resizable);
-
- /*!
- @method webView:setFrame:
- @abstract Set the window's frame rect
- @param sender The WebView sending the delegate method.
- @param frame The new window frame size
- @discussion Even though a caller could set the frame directly using the NSWindow,
- this method is provided so implementors of this protocol can do special
- things on programmatic move/resize, like avoiding autosaving of the size.
- - (void)webView:(WebView *)sender setFrame:(NSRect)frame;
- */
- HRESULT setFrame([in] IWebView* sender, [in] RECT* frame);
-
- /*!
- @method webViewFrame:
- @param sender The WebView sending the delegate method.
- @abstract REturn the window's frame rect
- @discussion
- - (NSRect)webViewFrame:(WebView *)sender;
- */
- HRESULT webViewFrame([in] IWebView* sender, [out, retval] RECT* frame);
-
- /*!
- @method webView:setContentRect:
- @abstract Set the window's content rect
- @param sender The WebView sending the delegate method.
- @param frame The new window content rect
- @discussion Even though a caller could set the content rect
- directly using the NSWindow, this method is provided so
- implementors of this protocol can do special things on
- programmatic move/resize, like avoiding autosaving of the size.
- - (void)webView:(WebView *)sender setContentRect:(NSRect)contentRect;
- */
- HRESULT setContentRect([in] IWebView* sender, [in] RECT* contentRect);
-
- /*!
- @method webViewContentRect:
- @abstract Return the window's content rect
- @discussion
- - (NSRect)webViewContentRect:(WebView *)sender;
- */
- HRESULT webViewContentRect([in] IWebView* sender, [out, retval] RECT* contentRect);
-
- /*!
- @method webView:runJavaScriptAlertPanelWithMessage:
- @abstract Display a JavaScript alert panel
- @param sender The WebView sending the delegate method.
- @param message The message to display
- @discussion Clients should visually indicate that this panel comes
- from JavaScript. The panel should have a single OK button.
- - (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message;
- */
- HRESULT runJavaScriptAlertPanelWithMessage([in] IWebView* sender, [in] BSTR message);
-
- /*!
- @method webView:runJavaScriptConfirmPanelWithMessage:
- @abstract Display a JavaScript confirm panel
- @param sender The WebView sending the delegate method.
- @param message The message to display
- @result YES if the user hit OK, no if the user chose Cancel.
- @discussion Clients should visually indicate that this panel comes
- from JavaScript. The panel should have two buttons, e.g. "OK" and
- "Cancel".
- - (BOOL)webView:(WebView *)sender runJavaScriptConfirmPanelWithMessage:(NSString *)message;
- */
- HRESULT runJavaScriptConfirmPanelWithMessage([in] IWebView* sender, [in] BSTR message, [out, retval] BOOL* result);
-
- /*!
- @method webView:runJavaScriptTextInputPanelWithPrompt:defaultText:
- @abstract Display a JavaScript text input panel
- @param sender The WebView sending the delegate method.
- @param message The message to display
- @param defaultText The initial text for the text entry area.
- @result The typed text if the user hit OK, otherwise nil.
- @discussion Clients should visually indicate that this panel comes
- from JavaScript. The panel should have two buttons, e.g. "OK" and
- "Cancel", and an area to type text.
- - (NSString *)webView:(WebView *)sender runJavaScriptTextInputPanelWithPrompt:(NSString *)prompt defaultText:(NSString *)defaultText;
- */
- HRESULT runJavaScriptTextInputPanelWithPrompt([in] IWebView* sender, [in] BSTR message, [in] BSTR defaultText, [out, retval] BSTR* result);
-
- /*!
- @method webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:
- @abstract Display a confirm panel by an "before unload" event handler.
- @param sender The WebView sending the delegate method.
- @param message The message to display.
- @param frame The WebFrame whose JavaScript initiated this call.
- @result YES if the user hit OK, NO if the user chose Cancel.
- @discussion Clients should include a message in addition to the one
- supplied by the web page that indicates. The panel should have
- two buttons, e.g. "OK" and "Cancel".
- - (BOOL)webView:(WebView *)sender runBeforeUnloadConfirmPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame;
- */
- HRESULT runBeforeUnloadConfirmPanelWithMessage([in] IWebView* sender, [in] BSTR message, [in] IWebFrame* initiatedByFrame, [out, retval] BOOL* result);
-
- /*!
- @method webView:runOpenPanelForFileButtonWithResultListener:
- @abstract Display a file open panel for a file input control.
- @param sender The WebView sending the delegate method.
- @param resultListener The object to call back with the results.
- @discussion This method is passed a callback object instead of giving a return
- value so that it can be handled with a sheet.
- - (void)webView:(WebView *)sender runOpenPanelForFileButtonWithResultListener:(id<WebOpenPanelResultListener>)resultListener;
- */
- HRESULT runOpenPanelForFileButtonWithResultListener([in] IWebView* sender, [in] IWebOpenPanelResultListener* resultListener);
-
- /*!
- @method webView:mouseDidMoveOverElement:modifierFlags:
- @abstract Update the window's feedback for mousing over links to reflect a new item the mouse is over
- or new modifier flags.
- @param sender The WebView sending the delegate method.
- @param elementInformation Dictionary that describes the element that the mouse is over, or nil.
- @param modifierFlags The modifier flags as in NSEvent.
- - (void)webView:(WebView *)sender mouseDidMoveOverElement:(NSDictionary *)elementInformation modifierFlags:(WebNSUInt)modifierFlags;
- */
- HRESULT mouseDidMoveOverElement([in] IWebView* sender, [in] IPropertyBag* elementInformation, [in] UINT modifierFlags);
-
- /*!
- @method webView:contextMenuItemsForElement:defaultMenuItems:
- @abstract Returns the menu items to display in an element's contextual menu.
- @param sender The WebView sending the delegate method.
- @param element A dictionary representation of the clicked element.
- @param defaultMenuItems An array of default NSMenuItems to include in all contextual menus.
- @result An array of NSMenuItems to include in the contextual menu.
- - (NSArray *)webView:(WebView *)sender contextMenuItemsForElement:(NSDictionary *)element defaultMenuItems:(NSArray *)defaultMenuItems;
- */
- HRESULT contextMenuItemsForElement([in] IWebView* sender, [in] IPropertyBag* element, [in] OLE_HANDLE defaultItemsHMenu, [out, retval] OLE_HANDLE* resultHMenu);
-
- /*!
- @method webView:validateUserInterfaceItem:defaultValidation:
- @abstract Controls UI validation
- @param webView The WebView sending the delegate method
- @param item The user interface item being validated
- @pararm defaultValidation Whether or not the WebView thinks the item is valid
- @discussion This method allows the UI delegate to control WebView's validation of user interface items.
- See WebView.h to see the methods to that WebView can currently validate. See NSUserInterfaceValidations and
- NSValidatedUserInterfaceItem for information about UI validation.
- - (BOOL)webView:(WebView *)webView validateUserInterfaceItem:(id <NSValidatedUserInterfaceItem>)item defaultValidation:(BOOL)defaultValidation;
- */
- HRESULT validateUserInterfaceItem([in] IWebView* webView, [in] UINT itemCommandID, [in] BOOL defaultValidation, [out, retval] BOOL* isValid);
-
- /*!
- @method webView:shouldPerformAction:fromSender:
- @abstract Controls actions
- @param webView The WebView sending the delegate method
- @param action The action being sent
- @param sender The sender of the action
- @discussion This method allows the UI delegate to control WebView's behavior when an action is being sent.
- For example, if the action is copy:, the delegate can return YES to allow WebView to perform its default
- copy behavior or return NO and perform copy: in some other way. See WebView.h to see the actions that
- WebView can perform.
- - (BOOL)webView:(WebView *)webView shouldPerformAction:(SEL)action fromSender:(id)sender;
- */
- HRESULT shouldPerformAction([in] IWebView* webView, [in] UINT itemCommandID, [in] UINT sender);
-
- /*!
- @method webView:dragDestinationActionMaskForDraggingInfo:
- @abstract Controls behavior when dragging to a WebView
- @param webView The WebView sending the delegate method
- @param draggingInfo The dragging info of the drag
- @discussion This method is called periodically as something is dragged over a WebView. The UI delegate can return a mask
- indicating which drag destination actions can occur, WebDragDestinationActionAny to allow any kind of action or
- WebDragDestinationActionNone to not accept the drag.
- - (unsigned)webView:(WebView *)webView dragDestinationActionMaskForDraggingInfo:(id <NSDraggingInfo>)draggingInfo;
- */
- HRESULT dragDestinationActionMaskForDraggingInfo([in] IWebView* webView, [in] IDataObject* draggingInfo, [out, retval] WebDragDestinationAction* action);
-
- /*!
- @method webView:willPerformDragDestinationAction:forDraggingInfo:
- @abstract Informs that WebView will perform a drag destination action
- @param webView The WebView sending the delegate method
- @param action The drag destination action
- @param draggingInfo The dragging info of the drag
- @discussion This method is called after the last call to webView:dragDestinationActionMaskForDraggingInfo: after something is dropped on a WebView.
- This method informs the UI delegate of the drag destination action that WebView will perform.
- - (void)webView:(WebView *)webView willPerformDragDestinationAction:(WebDragDestinationAction)action forDraggingInfo:(id <NSDraggingInfo>)draggingInfo;
- */
- HRESULT willPerformDragDestinationAction([in] IWebView* webView, [in] WebDragDestinationAction action, [in] IDataObject* draggingInfo);
-
- /*!
- @method webView:dragSourceActionMaskForPoint:
- @abstract Controls behavior when dragging from a WebView
- @param webView The WebView sending the delegate method
- @param point The point where the drag started in the coordinates of the WebView
- @discussion This method is called after the user has begun a drag from a WebView. The UI delegate can return a mask indicating
- which drag source actions can occur, WebDragSourceActionAny to allow any kind of action or WebDragSourceActionNone to not begin a drag.
- - (unsigned)webView:(WebView *)webView dragSourceActionMaskForPoint:(NSPoint)point;
- */
- HRESULT dragSourceActionMaskForPoint([in] IWebView* webView, [in] LPPOINT point, [out, retval] WebDragSourceAction* action);
-
- /*!
- @method webView:willPerformDragSourceAction:fromPoint:withPasteboard:
- @abstract Informs that a drag a has begun from a WebView
- @param webView The WebView sending the delegate method
- @param action The drag source action
- @param point The point where the drag started in the coordinates of the WebView
- @param pasteboard The drag pasteboard
- @discussion This method is called after webView:dragSourceActionMaskForPoint: is called after the user has begun a drag from a WebView.
- This method informs the UI delegate of the drag source action that will be performed and gives the delegate an opportunity to modify
- the contents of the dragging pasteboard.
- - (void)webView:(WebView *)webView willPerformDragSourceAction:(WebDragSourceAction)action fromPoint:(NSPoint)point withPasteboard:(NSPasteboard *)pasteboard;
- */
- HRESULT willPerformDragSourceAction([in] IWebView* webView, [in] WebDragSourceAction action, [in] LPPOINT point, [in] IDataObject* pasteboard, [out, retval] IDataObject** newPasteboard);
-
- /*!
- @method webView:contextMenuItemSelected:ForElement:
- @abstract Perform the action associated with the selected item.
- @param sender The WebView sending the delegate method.
- @param item The menu item that was selected.
- @param element A dictionary representation of the clicked element.
- */
- [local] HRESULT contextMenuItemSelected([in] IWebView* sender, [in] void* item, [in] IPropertyBag* element);
-
- /*
- @method hasCustomMenuImplementation:
- @abstract Returns whether the application uses the following functions to create a custom menu impementation.
- */
- HRESULT hasCustomMenuImplementation([out, retval] BOOL* hasCustomMenus);
-
- /*
- @method webView:trackCutsomPopupMenu
- @abstract Adds custom draw data to the menu items and calls a custom trackPopupMenu.
- @param sender The WebView sending the delegate method.
- @param menu The menu that we want to pop up.
- @param point The point associated with the context menu event in the coordinates of the WebView
- */
- HRESULT trackCustomPopupMenu([in] IWebView* sender, [in] OLE_HANDLE hMenu, [in] LPPOINT point);
-
- /*
- @method webView:measureCustomMenuItem
- @abstract This is called when the WM_MEASUREITEM command is received to measure the custom menu items
- @param sender The WebView sending the delegate method.
- @param measureItem The LPMEASUREITEMSTRUCT associated with the item.
- */
- [local] HRESULT measureCustomMenuItem([in] IWebView* sender, [in] void* measureItem);
-
- /*
- @method webView:drawCustomMenuItem
- @abstract This is called when the WM_DRAWITEM command is received to draw the custom menu item
- @param sender The WebView sending the delegate method.
- @param drawItem The LPDRAWITEMSTRUCT associated with the item.
- */
- [local] HRESULT drawCustomMenuItem([in] IWebView* sender, [in] void* drawItem);
-
- /*
- @method webView:addCustomMenuDrawingData
- @abstract Add custom data to the menu that the delegate can use when asked to draw.
- @param sender The WebView sending the delegate method.
- @param menu The cutsom menu to clean up.
- @discussion This method is called for submenus as well.
- */
- HRESULT addCustomMenuDrawingData([in] IWebView* sender, [in] OLE_HANDLE hMenu);
-
- /*
- @method webView:cleanUpCustomMenuDrawingData
- @abstract Clean up any custom data added to the menu items
- @param sender The WebView sending the delegate method.
- @param menu The cutsom menu to clean up.
- */
- HRESULT cleanUpCustomMenuDrawingData([in] IWebView* sender, [in] OLE_HANDLE hMenu);
-
- /*!
- @method webView:canTakeFocus:
- @abstract Informs whether focus can be transferred out of the WebView in the specified direction
- @param sender The WebView sending the delegate method.
- @param forward Whether focus is moving forward or backward.
- */
- HRESULT canTakeFocus([in] IWebView* sender, [in] BOOL forward, [out] BOOL* result);
-
- /*!
- @method webView:takeFocus:
- @abstract Instructs the delegate to take focus out of the WebView
- @param sender The WebView sending the delegate method.
- @param forward Whether focus is moving forward or backward.
- */
- HRESULT takeFocus([in] IWebView* sender, [in] BOOL forward);
-
- /// Undo related UI delegate methods --------------------------------------------------------------------------------
-
- /*!
- @method registerUndoWithTarget:
- @abstract Registers an undo operation of a IWebUndoTarget on the undo/redo stack.
- @param target The target that will be called back when the action is undone
- @param actionName The name of the action - this will be passed back to the target when we need to undo the operation
- @param actionArg An object that target used to save undo information
- */
- HRESULT registerUndoWithTarget([in] IWebUndoTarget* target, [in] BSTR actionName, [in] IUnknown* actionArg);
-
- /*!
- @method removeAllActionsWithTarget:
- @abstract remove all the undo operations that are registered for the passed in target on the undo/redo stack.
- @param target
- */
- HRESULT removeAllActionsWithTarget([in] IWebUndoTarget* target);
-
- /*!
- @method setActionTitle:
- @abstract Sets the name of the action for the current group of undo operations
- @param actionName Name of the action
- */
- HRESULT setActionTitle([in] BSTR actionTitle);
-
- /*!
- @method undo:
- @abstract Undo the last group of operations
- */
- HRESULT undo();
-
- /*!
- @method redo:
- @abstract Redo the last group of operations
- */
- HRESULT redo();
-
- /*!
- @method canUndo:
- @abstract Returns whether there's anything on the undo stack to be undone
- */
- HRESULT canUndo([out, retval] BOOL* result);
-
- /*!
- @method canRedo:
- @abstract Returns whether there's anything on the redo stack to be redone
- */
- HRESULT canRedo([out, retval] BOOL* result);
-
-/*!
- @method webView:printFrame:
- @abstract Informs that a WebFrame needs to be printed
- @param webView The WebView sending the delegate method
- @param frame The WebFrame needing to be printed
- @discussion This method is called when a script or user requests the page to be printed.
- In this method the delegate can prepare the WebFrame to be printed.
-*/
- HRESULT printFrame([in] IWebView* webView, [in] IWebFrame* frame);
-
-/*!
- @method webView:ftpDirectoryTemplatePath
- @abstract Returns the path to the FTP directory listing template document
- @param webView The WebView sending the delegate method
- @param path The path to the template document
- @discussion This method is called when an FTP directory listing is viewed in a webView.
- In practice, all WebViews show the same template document data that was loaded for the very
- first WebView that displayed a directory listing, so this will only be called once.
-*/
- HRESULT ftpDirectoryTemplatePath([in] IWebView* webView, [out, retval] BSTR* path);
-
-/*!
- @method webViewHeaderHeight:
- @param webView The WebView sending the delegate method
- @abstract Reserve a height for the printed page header.
- @result The height to reserve for the printed page header, return 0.0 to not reserve any space for a header.
- @discussion The height returned will be used to calculate the rect passed to webView:drawHeaderInRect:.
-
- - (float)webViewHeaderHeight:(WebView *)sender;
-*/
- HRESULT webViewHeaderHeight([in] IWebView* webView, [out, retval] float* result);
-
-/*!
- @method webViewFooterHeight:
- @param webView The WebView sending the delegate method
- @abstract Reserve a height for the printed page footer.
- @result The height to reserve for the printed page footer, return 0.0 to not reserve any space for a footer.
- @discussion The height returned will be used to calculate the rect passed to webView:drawFooterInRect:.
-
- - (float)webViewFooterHeight:(WebView *)sender;
-*/
- HRESULT webViewFooterHeight([in] IWebView* webView, [out, retval] float* result);
-
-/*!
- @method webView:drawHeaderInRect:
- @param webView The WebView sending the delegate method
- @param rect The NSRect reserved for the header of the page
- @abstract The delegate should draw a header for the sender in the supplied rect.
-
- - (void)webView:(WebView *)sender drawHeaderInRect:(NSRect)rect;
-*/
- HRESULT drawHeaderInRect([in] IWebView* webView, [in] RECT* rect, [in] OLE_HANDLE drawingContext);
-
-/*!
- @method webView:drawFooterInRect:
- @param webView The WebView sending the delegate method
- @param rect The NSRect reserved for the footer of the page
- @abstract The delegate should draw a footer for the sender in the supplied rect.
-
- - (void)webView:(WebView *)sender drawFooterInRect:(NSRect)rect;
-*/
- HRESULT drawFooterInRect([in] IWebView* webView, [in] RECT* rect, [in] OLE_HANDLE drawingContext, [in] UINT pageIndex, [in] UINT pageCount);
-
- HRESULT webViewPrintingMarginRect([in] IWebView* webView, [out, retval] RECT* rect);
-
- HRESULT canRunModal([in] IWebView* webView, [out, retval] BOOL* canRunBoolean);
- HRESULT createModalDialog([in] IWebView* sender, [in] IWebURLRequest* request, [out, retval] IWebView** newWebView);
- HRESULT runModal([in] IWebView* webView);
- HRESULT isMenuBarVisible([in] IWebView* webView, [out, retval] BOOL* visible);
- HRESULT setMenuBarVisible([in] IWebView* webView, [in] BOOL visible);
- HRESULT runDatabaseSizeLimitPrompt([in] IWebView* webView, [in] BSTR displayName, [in] IWebFrame* initiatedByFrame, [out, retval] BOOL* allowed);
- HRESULT paintCustomScrollbar([in] IWebView* webView, [in] HDC hDC, [in] RECT rect, [in] WebScrollBarControlSize size, [in] WebScrollbarControlState state,
- [in] WebScrollbarControlPart pressedPart, [in] BOOL vertical, [in] float value, [in] float proportion, [in] WebScrollbarControlPartMask parts);
- HRESULT paintCustomScrollCorner([in] IWebView* webView, [in] HDC hDC, [in] RECT rect);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebUIDelegate2.idl b/Source/WebKit/win/Interfaces/IWebUIDelegate2.idl
deleted file mode 100644
index a41338937..000000000
--- a/Source/WebKit/win/Interfaces/IWebUIDelegate2.idl
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-#ifndef DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-/*!
- @category WebUIDelegate2
- @discussion An extension of WebUIDelegate which additionally
- provides access to a notification presenter.
- @interface NSObject (WebUIDelegate2)
-*/
-[
- object,
- oleautomation,
- uuid(C6DEF152-86CD-11de-8BF4-ADD456D89593),
- pointer_default(unique)
-]
-
-interface IWebUIDelegate2 : IWebUIDelegate
-{
- /*!
- @method desktopNotificationsDelegate:
- @abstract Returns the notifications delegate object.
- */
- HRESULT desktopNotificationsDelegate([out, retval] IWebDesktopNotificationsDelegate** result);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebUIDelegatePrivate.idl b/Source/WebKit/win/Interfaces/IWebUIDelegatePrivate.idl
deleted file mode 100644
index da308c503..000000000
--- a/Source/WebKit/win/Interfaces/IWebUIDelegatePrivate.idl
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebGeolocationPolicyListener.idl";
-import "IWebSecurityOrigin.idl";
-import "IWebView.idl";
-#endif
-
-cpp_quote("#define WebEmbeddedViewAttributesKey TEXT(\"WebEmbeddedViewAttributesKey\")")
-cpp_quote("#define WebEmbeddedViewBaseURLKey TEXT(\"WebEmbeddedViewBaseURLKey\")")
-cpp_quote("#define WebEmbeddedViewContainingElementKey TEXT(\"WebEmbeddedViewContainingElementKey\")")
-cpp_quote("#define WebEmbeddedViewMIMETypeKey TEXT(\"WebEmbeddedViewMIMETypeKey\")")
-
-interface IWebEmbeddedView;
-interface IWebFrame;
-interface IWebGeolocationPolicyListener;
-interface IWebSecurityOrigin;
-interface IWebView;
-
-[
- object,
- oleautomation,
- uuid(df3b4283-6868-4a1f-97f6-baf0b33f239c),
- pointer_default(unique)
-]
-interface IWebUIDelegatePrivate : IUnknown
-{
- HRESULT unused1();
- HRESULT unused2();
- HRESULT webViewScrolled([in] IWebView* sender);
- HRESULT webViewAddMessageToConsole([in] IWebView* sender, [in] BSTR message, [in] int lineNumber, [in] BSTR url, [in] BOOL isError);
- HRESULT webViewShouldInterruptJavaScript([in] IWebView* sender, [out, retval] BOOL* result);
- HRESULT webViewReceivedFocus([in] IWebView* sender);
- HRESULT webViewLostFocus([in] IWebView* sender, [in] OLE_HANDLE loseFocusToHWnd);
- HRESULT doDragDrop([in] IWebView* sender, [in] IDataObject* dataObject, [in] IDropSource* dropSource, [in] DWORD okEffect, [out, retval] DWORD* performedEffect);
- HRESULT webViewGetDlgCode([in] IWebView* sender, [in] UINT keyCode, [out, retval] LONG_PTR* code);
- HRESULT webViewPainted([in] IWebView* sender);
- HRESULT exceededDatabaseQuota([in] IWebView* sender, [in] IWebFrame* frame, [in] IWebSecurityOrigin* origin, [in] BSTR databaseIdentifier);
- HRESULT embeddedViewWithArguments([in] IWebView* sender, [in] IWebFrame* frame, [in] IPropertyBag* arguments, [out, retval] IWebEmbeddedView** view);
- HRESULT unused3();
- HRESULT webViewClosing([in] IWebView* sender);
- HRESULT webViewSetCursor([in] IWebView* sender, [in] OLE_HANDLE cursor);
- HRESULT webViewDidInvalidate([in] IWebView* sender);
-}
-
-cpp_quote("#define WebWindowFeaturesXKey L\"x\"")
-cpp_quote("#define WebWindowFeaturesYKey L\"y\"")
-cpp_quote("#define WebWindowFeaturesWidthKey L\"width\"")
-cpp_quote("#define WebWindowFeaturesHeightKey L\"height\"")
-cpp_quote("#define WebWindowFeaturesMenuBarVisibleKey L\"menuBarVisible\"")
-cpp_quote("#define WebWindowFeaturesStatusBarVisibleKey L\"statusBarVisible\"")
-cpp_quote("#define WebWindowFeaturesToolBarVisibleKey L\"toolBarVisible\"")
-cpp_quote("#define WebWindowFeaturesScrollbarsVisibleKey L\"scrollbarsVisible\"")
-cpp_quote("#define WebWindowFeaturesResizableKey L\"resizable\"")
-cpp_quote("#define WebWindowFeaturesFullscreenKey L\"fullscreen\"")
-cpp_quote("#define WebWindowFeaturesDialogKey L\"dialog\"")
-
-[
- object,
- oleautomation,
- uuid(b7d6a98e-9c4f-43f2-b6a7-0975a0b18421),
- pointer_default(unique)
-]
-interface IWebUIDelegatePrivate2 : IWebUIDelegatePrivate
-{
- // This function obsoletes IWebUIDelegate::createWebViewWithRequest and
- // IWebUIDelegate::createModalDialog. Clients should determine whether to create a modal dialog
- // based on whether WebWindowFeaturesDialogKey returns a TRUE value from the windowFeatures
- // IPropertyBag. The keys of the windowFeatures IPropertyBag are the WebWindowFeatures*Key
- // strings above.
- HRESULT createWebViewWithRequest([in] IWebView* sender, [in] IWebURLRequest* request, [in] IPropertyBag* windowFeatures, [out, retval] IWebView** newWebView);
-
- HRESULT drawBackground([in] IWebView* sender, [in] OLE_HANDLE hdc, [in] const RECT* dirtyRect);
-
- HRESULT decidePolicyForGeolocationRequest([in] IWebView* sender, [in] IWebFrame* frame, [in] IWebSecurityOrigin* origin, [in] IWebGeolocationPolicyListener* listener);
-}
-
-[
- object,
- oleautomation,
- uuid(e9834891-233b-48a0-984b-8f8a19abdd0f),
- pointer_default(unique)
-]
-interface IWebUIDelegatePrivate3 : IWebUIDelegatePrivate2
-{
- HRESULT didPressMissingPluginButton([in] IDOMElement*);
-}
-
-[
- object,
- oleautomation,
- uuid(944e8e46-6d63-450f-b381-c5d68b80b727),
- pointer_default(unique)
-]
-interface IWebUIDelegatePrivate4 : IWebUIDelegatePrivate3
-{
- HRESULT supportsFullScreenForElement([in] IDOMElement*, [in] BOOL withKeyboard, [out, retval] BOOL* supports);
- HRESULT enterFullScreenForElement([in] IDOMElement*);
- HRESULT exitFullScreenForElement([in] IDOMElement*);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebURLAuthenticationChallenge.idl b/Source/WebKit/win/Interfaces/IWebURLAuthenticationChallenge.idl
deleted file mode 100644
index 68881ab91..000000000
--- a/Source/WebKit/win/Interfaces/IWebURLAuthenticationChallenge.idl
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebError.idl";
-import "IWebURLResponse.idl";
-#endif
-
-interface IWebError;
-interface IWebURLAuthenticationChallengeSender;
-interface IWebURLCredential;
-interface IWebURLProtectionSpace;
-interface IWebURLResponse;
-
-typedef enum {
- WebURLCredentialPersistenceNone,
- WebURLCredentialPersistenceForSession,
- WebURLCredentialPersistencePermanent
-} WebURLCredentialPersistence;
-
-[
- object,
- oleautomation,
- uuid(5382DABA-C3C3-40c5-AA40-04079F11A844),
- pointer_default(unique)
-]
-interface IWebURLAuthenticationChallenge : IUnknown
-{
- /*
- - (NSError *)error
- */
- HRESULT error([out, retval] IWebError** result);
-
- /*
- - (NSURLResponse *)failureResponse
- */
- HRESULT failureResponse([out, retval] IWebURLResponse** result);
-
- /*
- - (id)initWithAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge sender:(id<NSURLAuthenticationChallengeSender>)sender
- */
- HRESULT initWithAuthenticationChallenge([in] IWebURLAuthenticationChallenge* challenge, [in] IWebURLAuthenticationChallengeSender* sender);
-
- /*
- - (id)initWithProtectionSpace:(NSURLProtectionSpace *)space proposedCredential:(NSURLCredential *)credential previousFailureCount:(int)count failureResponse:(NSURLResponse *)response error:(NSError *)error sender:(id <NSURLAuthenticationChallengeSender>)sender
- */
- HRESULT initWithProtectionSpace([in] IWebURLProtectionSpace* space, [in] IWebURLCredential* proposedCredential, [in] int previousFailureCount, [in] IWebURLResponse* failureResponse, [in] IWebError* error, [in] IWebURLAuthenticationChallengeSender* sender);
-
- /*
- -(unsigned)previousFailureCount
- */
- HRESULT previousFailureCount([out, retval] UINT* result);
-
- /*
- -(NSURLCredential *)proposedCredential
- */
- HRESULT proposedCredential([out, retval] IWebURLCredential** result);
-
- /*
- - (NSURLProtectionSpace *)protectionSpace
- */
- HRESULT protectionSpace([out, retval] IWebURLProtectionSpace** result);
-
- /*
- - (id<NSURLAuthenticationChallengeSender>)sender
- */
- HRESULT sender([out, retval] IWebURLAuthenticationChallengeSender** sender);
-}
-
-[
- object,
- oleautomation,
- uuid(9360D6FB-186C-4ff7-AE57-D1B973DA0D1C),
- pointer_default(unique)
-]
-interface IWebURLAuthenticationChallengeSender : IUnknown
-{
- /*
- - (void)cancelAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
- */
- HRESULT cancelAuthenticationChallenge([in] IWebURLAuthenticationChallenge* challenge);
-
- /*
- - (void)continueWithoutCredentialForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
- */
- HRESULT continueWithoutCredentialForAuthenticationChallenge([in] IWebURLAuthenticationChallenge* challenge);
-
- /*
- - (void)useCredential:(NSURLCredential *)credential forAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
- */
- HRESULT useCredential([in] IWebURLCredential* credential, [in] IWebURLAuthenticationChallenge* challenge);
-}
-
-cpp_quote("#define WebURLProtectionSpaceHTTP TEXT(\"http\")")
-cpp_quote("#define WebURLProtectionSpaceHTTPS TEXT(\"https\")")
-cpp_quote("#define WebURLProtectionSpaceFTP TEXT(\"ftp\")")
-cpp_quote("#define WebURLProtectionSpaceFTPS TEXT(\"ftps\")")
-cpp_quote("#define WebURLProtectionSpaceHTTPProxy TEXT(\"http\")")
-cpp_quote("#define WebURLProtectionSpaceHTTPSProxy TEXT(\"https\")")
-cpp_quote("#define WebURLProtectionSpaceFTPProxy TEXT(\"ftp\")")
-cpp_quote("#define WebURLProtectionSpaceSOCKSProxy TEXT(\"SOCKS\")")
-cpp_quote("#define WebURLAuthenticationMethodDefault TEXT(\"WebURLAuthenticationMethodDefault\")")
-cpp_quote("#define WebURLAuthenticationMethodHTTPBasic TEXT(\"WebURLAuthenticationMethodHTTPBasic\")")
-cpp_quote("#define WebURLAuthenticationMethodHTTPDigest TEXT(\"WebURLAuthenticationMethodHTTPDigest\")")
-cpp_quote("#define WebURLAuthenticationMethodHTMLForm TEXT(\"WebURLAuthenticationMethodHTMLForm\")")
-
-[
- object,
- oleautomation,
- hidden,
- uuid(71D2622A-3FF2-404b-BD45-C60659C901AF),
- pointer_default(unique)
-]
-interface IWebURLProtectionSpace : IUnknown
-{
- /*
- -(NSString *)authenticationMethod
- */
- HRESULT authenticationMethod([out, retval] BSTR* result);
-
- /*
- -(NSString *)host
- */
- HRESULT host([out, retval] BSTR* result);
-
- /*
- -(id)initWithHost:(NSString *)host port:(int)port protocol:(NSString *)protocol realm:(NSString *)realm authenticationMethod:(NSString *)authenticationMethod
- */
- HRESULT initWithHost([in] BSTR host, [in] int port, [in] BSTR protocol, [in] BSTR realm, [in] BSTR authenticationMethod);
-
- /*
- -(id)initWithProxyHost:(NSString *)host port:(int)port type:(NSString *)proxyType realm:(NSString *)realm authenticationMethod:(NSString *)authenticationMethod
- */
- HRESULT initWithProxyHost([in] BSTR host, [in] int port, [in] BSTR proxyType, [in] BSTR realm, [in] BSTR authenticationMethod);
-
- /*
- -(BOOL)isProxy
- */
- HRESULT isProxy([out, retval] BOOL* result);
-
- /*
- -(int)port
- */
- HRESULT port([out, retval] int* result);
-
- /*
- -(NSString *)protocol
- */
- HRESULT protocol([out, retval] BSTR* result);
-
- /*
- -(NSString *)proxyType
- */
- HRESULT proxyType([out, retval] BSTR* result);
-
- /*
- -(NSString *)realm
- */
- HRESULT realm([out, retval] BSTR* result);
-
- /*
- -(BOOL)receivesCredentialSecurely
- */
- HRESULT receivesCredentialSecurely([out, retval] BOOL* result);
-}
-
-[
- object,
- oleautomation,
- hidden,
- uuid(A1E9D765-FACE-4189-BBE3-AED7EBF65EBD),
- pointer_default(unique)
-]
-interface IWebURLCredential : IUnknown
-{
- /*
- -(BOOL)hasPassword
- */
- HRESULT hasPassword([out, retval] BOOL* result);
-
- /*
- -(id)initWithUser:(NSString *)user password:(NSString *)password persistence:(NSURLCredentialPersistence)persistence
- */
- HRESULT initWithUser([in] BSTR user, [in] BSTR password, [in] WebURLCredentialPersistence persistence);
-
- /*
- -(NSString *)password
- */
- HRESULT password([out, retval] BSTR* password);
-
- /*
- -(NSURLCredentialPersistence)persistence
- */
- HRESULT persistence([out, retval] WebURLCredentialPersistence* result);
-
- /*
- -(NSString *)user
- */
- HRESULT user([out, retval] BSTR* result);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebURLRequest.idl b/Source/WebKit/win/Interfaces/IWebURLRequest.idl
deleted file mode 100644
index 4b2759290..000000000
--- a/Source/WebKit/win/Interfaces/IWebURLRequest.idl
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-typedef enum _WebURLRequestCachePolicy
-{
- WebURLRequestUseProtocolCachePolicy,
- WebURLRequestReloadIgnoringCacheData,
- WebURLRequestReturnCacheDataElseLoad,
- WebURLRequestReturnCacheDataDontLoad
-} WebURLRequestCachePolicy;
-
-[
- object,
- oleautomation,
- hidden,
- uuid(F4B85F1D-F3B2-493d-B786-0930E804A3BA),
- pointer_default(unique)
-]
-interface IWebURLRequest : IUnknown
-{
- /*
- + (id)requestWithURL:(NSURL *)theURL
- + (id)requestWithURL:(NSURL *)theURL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval
- */
- HRESULT requestWithURL([in] BSTR theURL, [in] WebURLRequestCachePolicy cachePolicy, [in] double timeoutInterval);
-
- /*
- - (NSDictionary *)allHTTPHeaderFields
- */
- HRESULT allHTTPHeaderFields([out, retval] IPropertyBag** result);
-
- /*
- - (NSURLRequestCachePolicy)cachePolicy
- */
- HRESULT cachePolicy([out, retval] WebURLRequestCachePolicy* result);
-
- /*
- - (NSData *)HTTPBody
- */
- HRESULT HTTPBody([out, retval] IStream** result);
-
- /*
- - (NSInputStream *)HTTPBodyStream
- */
- HRESULT HTTPBodyStream([out, retval] IStream** result);
-
- /*
- - (NSString *)HTTPMethod
- */
- HRESULT HTTPMethod([out, retval] BSTR *result);
-
- /*
- - (BOOL)HTTPShouldHandleCookies
- */
- HRESULT HTTPShouldHandleCookies([out, retval] BOOL *result);
-
- /*
- - (id)initWithURL:(NSURL *)theURL
- - (id)initWithURL:(NSURL *)theURL cachePolicy:(NSURLRequestCachePolicy)cachePolicy timeoutInterval:(NSTimeInterval)timeoutInterval
- */
- HRESULT initWithURL([in] BSTR url, [in] WebURLRequestCachePolicy cachePolicy, [in] double timeoutInterval);
-
- /*
- - (NSURL *)mainDocumentURL
- */
- HRESULT mainDocumentURL([out, retval] BSTR* result);
-
- /*
- -(NSTimeInterval)timeoutInterval
- */
- HRESULT timeoutInterval([out, retval] double* result);
-
- /*
- -(NSURL *)URL
- */
- HRESULT URL([out, retval] BSTR* result);
-
- /*
- -(NSString *)valueForHTTPHeaderField:(NSString *)field
- */
- HRESULT valueForHTTPHeaderField([in] BSTR field, [out, retval] BSTR* result);
-
- HRESULT isEmpty([out, retval] BOOL* result);
-
- HRESULT mutableCopy([out, retval] IWebMutableURLRequest** result);
-
- HRESULT isEqual([in] IWebURLRequest* other, [out, retval] BOOL* result);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebURLResponse.idl b/Source/WebKit/win/Interfaces/IWebURLResponse.idl
deleted file mode 100644
index 940745754..000000000
--- a/Source/WebKit/win/Interfaces/IWebURLResponse.idl
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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.
- */
-
-cpp_quote("#define WebURLResponseUnknownLength -1")
-
-#ifndef DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(9814930B-E037-4477-8DF1-4D898B648995),
- pointer_default(unique)
-]
-
-interface IWebURLResponse : IUnknown
-{
- /*
- - (long long)expectedContentLength
- */
- HRESULT expectedContentLength([out, retval] long long *result);
-
- /*
- - (id)initWithURL:(NSURL *)URL MIMEType:(NSString *)MIMEType expectedContentLength:(int)length textEncodingName:(NSString *)name
- */
- HRESULT initWithURL([in] BSTR url, [in] BSTR mimeType, [in] int expectedContentLength, [in] BSTR textEncodingName);
-
- /*
- - (NSString *)MIMEType
- */
- HRESULT MIMEType([out, retval] BSTR* result);
-
- /*
- - (NSString *)suggestedFilename
- */
- HRESULT suggestedFilename([out, retval] BSTR* result);
-
- /*
- - (NSString *)textEncodingName
- */
- HRESULT textEncodingName([out, retval] BSTR* result);
-
- /*
- - (NSURL *)URL
- */
- HRESULT URL([out, retval] BSTR* result);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebURLResponsePrivate.idl b/Source/WebKit/win/Interfaces/IWebURLResponsePrivate.idl
deleted file mode 100644
index 00133a738..000000000
--- a/Source/WebKit/win/Interfaces/IWebURLResponsePrivate.idl
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(18730CD8-864E-4898-B775-88905CC8E9DD),
- pointer_default(unique)
-]
-
-interface IWebURLResponsePrivate : IUnknown
-{
- HRESULT sslPeerCertificate([out, retval] OLE_HANDLE* result);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebUndoManager.idl b/Source/WebKit/win/Interfaces/IWebUndoManager.idl
deleted file mode 100644
index 4cea91a81..000000000
--- a/Source/WebKit/win/Interfaces/IWebUndoManager.idl
+++ /dev/null
@@ -1,314 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-interface IWebInvocation;
-interface IWebMethodSignature;
-
-[
- object,
- oleautomation,
- uuid(D25D748C-6C1E-478d-9832-FDA26E8F7EE4),
- pointer_default(unique)
-]
-interface IWebUndoManager : IUnknown
-{
- /*
- - (void)beginUndoGrouping
- */
- HRESULT beginUndoGrouping();
-
- /*
- - (BOOL)canRedo
- */
- HRESULT canRedo([out, retval] BOOL* result);
-
- /*
- - (BOOL)canUndo
- */
- HRESULT canUndo([out, retval] BOOL* result);
-
- /*
- - (void)disableUndoRegistration
- */
- HRESULT disableUndoRegistration();
-
- /*
- - (void)enableUndoRegistration
- */
- HRESULT enableUndoRegistration();
-
- /*
- - (void)endUndoGrouping
- */
- HRESULT endUndoGrouping();
-
- /*
- - (void)forwardInvocation:(NSInvocation *)anInvocation
- */
- HRESULT forwardInvocation([in] IWebInvocation* anInvocation);
-
- /*
- - (int)groupingLevel
- */
- HRESULT groupingLevel([out, retval] int* groupingLevel);
-
- /*
- - (BOOL)groupsByEvent
- */
- HRESULT groupsByEvent([out, retval] BOOL* result);
-
- /*
- - (BOOL)isRedoing
- */
- HRESULT isRedoing([out, retval] BOOL* result);
-
- /*
- - (BOOL)isUndoing
- */
- HRESULT isUndoing([out, retval] BOOL* result);
-
- /*
- - (BOOL)isUndoRegistrationEnabled
- */
- HRESULT isUndoRegistrationEnabled([out, retval] BOOL* result);
-
- /*
- - (unsigned)levelsOfUndo
- */
- HRESULT levelsOfUndo([out, retval] UINT* result);
-
- /*
- - (id)prepareWithInvocationTarget:(id)target
- */
- HRESULT prepareWithInvocationTarget([in] IUnknown* target, [out, retval] IUnknown** result);
-
- /*
- - (void)redo
- */
- HRESULT redo();
-
- /*
- - (NSString *)redoActionName
- */
- HRESULT redoActionName([out, retval] BSTR* result);
-
- /*
- - (NSString *)redoMenuItemTitle
- */
- HRESULT redoMenuItemTitle([out, retval] BSTR* result);
-
- /*
- - (NSString *)redoMenuTitleForUndoActionName:(NSString *)actionName
- */
- HRESULT redoMenuTitleForUndoActionName([in] BSTR actionName, [out, retval] BSTR* result);
-
- /*
- - (void)registerUndoWithTarget:(id)target selector:(SEL)aSelector object:(id)anObject
- */
- HRESULT registerUndoWithTarget([in] IUnknown* target, [in] UINT aSelector, [in] IUnknown* anObject);
-
- /*
- - (void)removeAllActions
- */
- HRESULT removeAllActions();
-
- /*
- - (void)removeAllActionsWithTarget:(id)target
- */
- HRESULT removeAllActionsWithTarget([in] IUnknown* target);
-
- /*
- - (NSArray *)runLoopModes
- */
- HRESULT runLoopModes([out, retval] IEnumVARIANT** enumModes);
-
- /*
- - (void)setActionName:(NSString *)actionName
- */
- HRESULT setActionName([in] BSTR actionName);
-
- /*
- - (void)setGroupsByEvent:(BOOL)flag
- */
- HRESULT setGroupsByEvent([in] BOOL flag);
-
- /*
- - (void)setLevelsOfUndo:(unsigned)anInt
- */
- HRESULT setLevelsOfUndo([in] UINT anInt);
-
- /*
- - (void)setRunLoopModes:(NSArray *)modes
- */
- HRESULT setRunLoopModes([in] int cModes, [in, size_is(cModes)] BSTR* modes);
-
- /*
- - (void)undo
- */
- HRESULT undo();
-
- /*
- - (NSString *)undoActionName
- */
- HRESULT undoActionName([out, retval] BSTR* result);
-
- /*
- - (NSString *)undoMenuItemTitle
- */
- HRESULT undoMenuItemTitle([out, retval] BSTR* result);
-
- /*
- - (NSString *)undoMenuTitleForUndoActionName:(NSString *)actionName
- */
- HRESULT undoMenuTitleForUndoActionName([in] BSTR actionName, [out, retval] BSTR* result);
-
- /*
- - (void)undoNestedGroup
- */
- HRESULT undoNestedGroup();
-}
-
-[
- object,
- oleautomation,
- uuid(67B067BE-4DE6-45c2-AD39-A91DFA84FF4E),
- pointer_default(unique)
-]
-interface IWebInvocation : IUnknown
-{
- /*
- + (NSInvocation *)invocationWithMethodSignature:(NSMethodSignature *)signature
- */
- HRESULT invocationWithMethodSignature([in] IWebMethodSignature* signature);
-
- /*
- - (BOOL)argumentsRetained
- */
- HRESULT argumentsRetained([out, retval] BOOL* result);
-
- /*
- - (void)getArgument:(void *)buffer atIndex:(int)index
- */
- [local] HRESULT getArgument([in] void* buffer, [in] int index);
-
- /*
- - (void)getReturnValue:(void *)buffer
- */
- [local] HRESULT getReturnValue([in] void* buffer);
-
- /*
- - (void)invoke
- */
- HRESULT invoke();
-
- /*
- - (void)invokeWithTarget:(id)anObject
- */
- HRESULT invokeWithTarget([in] IUnknown* anObject);
-
- /*
- - (NSMethodSignature *)methodSignature
- */
- HRESULT methodSignature([out, retval] IWebMethodSignature** result);
-
- /*
- - (void)retainArguments
- */
- HRESULT retainArguments();
-
- /*
- - (SEL)selector
- */
- HRESULT selector([out, retval] UINT* result);
-
- /*
- - (void)setArgument:(void *)buffer atIndex:(int)index
- */
- [local] HRESULT setArgument([in] void* buffer, [in] int atIndex);
-
- /*
- - (void)setReturnValue:(void *)buffer
- */
- [local] HRESULT setReturnValue([in] void* buffer);
-
- /*
- - (void)setSelector:(SEL)selector
- */
- HRESULT setSelector([in] UINT selector);
-
- /*
- - (void)setTarget:(id)anObject
- */
- HRESULT setTarget([in] IUnknown* anObject);
-
- /*
- - (id)target
- */
- HRESULT target([out, retval] IUnknown** result);
-}
-
-[
- object,
- oleautomation,
- uuid(431DD6B2-56BF-4f48-943B-78CCEAC418E4),
- pointer_default(unique)
-]
-interface IWebMethodSignature : IUnknown
-{
- /*
- - (unsigned)frameLength
- */
- HRESULT frameLength([out, retval] UINT* result);
-
- /*
- - (const char *)getArgumentTypeAtIndex:(unsigned)index
- */
- HRESULT getArgumentTypeAtIndex([in] UINT index, [out, retval] BSTR* result);
-
- /*
- - (BOOL)isOneway
- */
- HRESULT isOneway([out, retval] BOOL* result);
-
- /*
- - (unsigned)methodReturnLength
- */
- HRESULT methodReturnLength([out, retval] UINT* result);
-
- /*
- - (const char *)methodReturnType
- */
- HRESULT methodReturnType([out, retval] BSTR* result);
-
- /*
- - (unsigned)numberOfArguments
- */
- HRESULT numberOfArguments([out, retval] UINT* result);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebUndoTarget.idl b/Source/WebKit/win/Interfaces/IWebUndoTarget.idl
deleted file mode 100644
index 01e14d0c4..000000000
--- a/Source/WebKit/win/Interfaces/IWebUndoTarget.idl
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(BF7F516E-E75D-4e3a-83E2-8F694D83C72D),
- pointer_default(unique)
-]
-interface IWebUndoTarget : IUnknown
-{
- HRESULT invoke([in] BSTR actionName, [in] IUnknown* obj);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebUserContentURLPattern.idl b/Source/WebKit/win/Interfaces/IWebUserContentURLPattern.idl
deleted file mode 100644
index 0d4b133c9..000000000
--- a/Source/WebKit/win/Interfaces/IWebUserContentURLPattern.idl
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-[
- object,
- oleautomation,
- uuid(DBF18E5A-701B-49ab-B490-BED40053B788),
- pointer_default(unique)
-]
-interface IWebUserContentURLPattern : IUnknown
-{
- HRESULT parse([in] BSTR patternString);
- HRESULT isValid([out, retval] BOOL* isValid);
- HRESULT scheme([out, retval] BSTR*);
- HRESULT host([out, retval] BSTR*);
- HRESULT matchesSubdomains([out, retval] BOOL* matches);
- HRESULT matchesURL([in] BSTR url, [out, retval] BOOL* matches);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebView.idl b/Source/WebKit/win/Interfaces/IWebView.idl
deleted file mode 100644
index a2ca3d9e5..000000000
--- a/Source/WebKit/win/Interfaces/IWebView.idl
+++ /dev/null
@@ -1,1241 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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.
- */
-
-cpp_quote("/* identifiers for commands that can be called by the webview's frame */")
-cpp_quote("enum WebViewCmd { Cut = 100, Copy, Paste, ForwardDelete, SelectAll, Undo, Redo };")
-
-cpp_quote("#define WebViewProgressStartedNotification TEXT(\"WebProgressStartedNotification\")")
-cpp_quote("#define WebViewProgressEstimateChangedNotification TEXT(\"WebProgressEstimateChangedNotification\")")
-cpp_quote("#define WebViewProgressFinishedNotification TEXT(\"WebProgressFinishedNotification\")")
-cpp_quote("#define WebViewDidChangeSelectionNotification TEXT(\"WebViewDidChangeSelectionNotification\")")
-
-#ifndef DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebUIDelegate.idl";
-import "IWebURLResponse.idl";
-import "IWebResourceLoadDelegate.idl";
-import "IWebDownload.idl";
-import "IWebFrameLoadDelegate.idl";
-import "IWebPolicyDelegate.idl";
-import "IWebBackForwardList.idl";
-import "IWebHistoryItem.idl";
-import "IWebPreferences.idl";
-import "DOMCSS.idl";
-import "IWebUndoManager.idl";
-import "IWebEditingDelegate.idl";
-import "DOMRange.idl";
-import "AccessibilityDelegate.idl";
-#endif
-
-interface IDOMCSSStyleDeclaration;
-interface IDOMDocument;
-interface IDOMElement;
-interface IDOMNode;
-interface IDOMRange;
-
-interface IWebArchive;
-interface IWebBackForwardList;
-interface IWebDataSource;
-interface IWebFrame;
-interface IWebFrameView;
-interface IWebHistoryItem;
-interface IWebPreferences;
-interface IWebScriptObject;
-
-interface IWebUIDelegate;
-interface IWebResourceLoadDelegate;
-interface IWebDownloadDelegate;
-interface IWebEditingDelegate;
-interface IWebFrameLoadDelegate;
-interface IWebPolicyDelegate;
-interface IWebDocumentView;
-interface IWebDocumentRepresentation;
-interface IWebUndoManager;
-
-interface IAccessibilityDelegate;
-
-/* These are the keys for the WebElementPropertyBag */
-const LPCOLESTR WebElementDOMNodeKey = L"WebElementDOMNodeKey";
-const LPCOLESTR WebElementFrameKey = L"WebElementFrameKey";
-const LPCOLESTR WebElementImageAltStringKey = L"WebElementImageAltStringKey";
-const LPCOLESTR WebElementImageKey = L"WebElementImageKey";
-const LPCOLESTR WebElementImageRectKey = L"WebElementImageRectKey";
-const LPCOLESTR WebElementImageURLKey = L"WebElementImageURLKey";
-const LPCOLESTR WebElementIsSelectedKey = L"WebElementIsSelectedKey";
-const LPCOLESTR WebElementMediaURLKey = L"WebElementMediaURLKey";
-const LPCOLESTR WebElementSpellingToolTipKey = L"WebElementSpellingToolTipKey";
-const LPCOLESTR WebElementTitleKey = L"WebElementTitleKey";
-const LPCOLESTR WebElementLinkURLKey = L"WebElementLinkURLKey";
-const LPCOLESTR WebElementLinkTargetFrameKey = L"WebElementLinkTargetFrameKey";
-const LPCOLESTR WebElementLinkTitleKey = L"WebElementLinkTitleKey";
-const LPCOLESTR WebElementLinkLabelKey = L"WebElementLinkLabelKey";
-const LPCOLESTR WebElementIsContentEditableKey = L"WebElementIsContentEditableKey";
-
-/*!
- @class IEnumTextMatches
-*/
-[
- object,
- oleautomation,
- uuid(C0CDE63A-5ED1-453f-B937-93B1A61AD3B3),
- pointer_default(unique)
-]
-interface IEnumTextMatches : IUnknown
-{
- HRESULT Next(ULONG celt, RECT* rect, ULONG* pceltFetched);
- HRESULT Skip(ULONG celt);
- HRESULT Reset(void);
- HRESULT Clone(IEnumTextMatches** ppenum);
-};
-
-/*!
- @class WebView
- WebView manages the interaction between WebFrameViews and WebDataSources. Modification
- of the policies and behavior of the WebKit is largely managed by WebViews and their
- delegates.
-
- <p>
- Typical usage:
- </p>
- <pre>
- WebView *webView;
- WebFrame *mainFrame;
-
- webView = [[WebView alloc] initWithFrame: NSMakeRect (0,0,640,480)];
- mainFrame = [webView mainFrame];
- [mainFrame loadRequest:request];
- </pre>
-
- WebViews have the following delegates: WebUIDelegate, WebResourceLoadDelegate,
- WebFrameLoadDelegate, and WebPolicyDelegate.
-
- WebKit depends on the WebView's WebUIDelegate for all window
- related management, including opening new windows and controlling the user interface
- elements in those windows.
-
- WebResourceLoadDelegate is used to monitor the progress of resources as they are
- loaded. This delegate may be used to present users with a progress monitor.
-
- The WebFrameLoadDelegate receives messages when the URL in a WebFrame is
- changed.
-
- WebView's WebPolicyDelegate can make determinations about how
- content should be handled, based on the resource's URL and MIME type.
-
- @interface WebView : NSView
-*/
-[
- object,
- oleautomation,
- hidden,
- uuid(174BBEFD-058E-49c7-91DF-6F110AA4AC28),
- pointer_default(unique)
-]
-interface IWebView : IUnknown
-{
- /*!
- @method canShowMIMEType:
- @abstract Checks if the WebKit can show content of a certain MIME type.
- @param MIMEType The MIME type to check.
- @result YES if the WebKit can show content with MIMEtype.
- + (BOOL)canShowMIMEType:(NSString *)MIMEType;
- */
- HRESULT canShowMIMEType([in] BSTR mimeType, [out, retval] BOOL* canShow);
-
- /*!
- @method canShowMIMETypeAsHTML:
- @abstract Checks if the the MIME type is a type that the WebKit will interpret as HTML.
- @param MIMEType The MIME type to check.
- @result YES if the MIMEtype in an HTML type.
- + (BOOL)canShowMIMETypeAsHTML:(NSString *)MIMEType;
- */
- HRESULT canShowMIMETypeAsHTML([in] BSTR mimeType, [out, retval] BOOL* canShow);
-
- /*!
- @method MIMETypesShownAsHTML
- @result Returns an array of NSStrings that describe the MIME types
- WebKit will attempt to render as HTML.
- + (NSArray *)MIMETypesShownAsHTML;
- */
- HRESULT MIMETypesShownAsHTML([out, retval] IEnumVARIANT** enumVariant);
-
- /*!
- @method setMIMETypesShownAsHTML:
- @discussion Sets the array of NSString MIME types that WebKit will
- attempt to render as HTML. Typically you will retrieve the built-in
- array using MIMETypesShownAsHTML and add additional MIME types to that
- array.
- + (void)setMIMETypesShownAsHTML:(NSArray *)MIMETypes;
- */
- HRESULT setMIMETypesShownAsHTML([in, size_is(cMimeTypes)] BSTR* mimeTypes, [in] int cMimeTypes);
-
- /*!
- @method URLFromPasteboard:
- @abstract Returns a URL from a pasteboard
- @param pasteboard The pasteboard with a URL
- @result A URL if the pasteboard has one. Nil if it does not.
- @discussion This method differs than NSURL's URLFromPasteboard method in that it tries multiple pasteboard types
- including NSURLPboardType to find a URL on the pasteboard.
- + (NSURL *)URLFromPasteboard:(NSPasteboard *)pasteboard;
- */
- HRESULT URLFromPasteboard([in] IDataObject* pasteboard, [out, retval] BSTR* url);
-
- /*!
- @method URLTitleFromPasteboard:
- @abstract Returns a URL title from a pasteboard
- @param pasteboard The pasteboard with a URL title
- @result A URL title if the pasteboard has one. Nil if it does not.
- @discussion This method returns a title that refers a URL on the pasteboard. An example of this is the link label
- which is the text inside the anchor tag.
- + (NSString *)URLTitleFromPasteboard:(NSPasteboard *)pasteboard;
- */
- HRESULT URLTitleFromPasteboard([in] IDataObject* pasteboard, [out, retval] BSTR* urlTitle);
-
- /*!
- @method initWithFrame:frameName:groupName:
- @abstract The designated initializer for WebView.
- @discussion Initialize a WebView with the supplied parameters. This method will
- create a main WebFrame with the view. Passing a top level frame name is useful if you
- handle a targetted frame navigation that would normally open a window in some other
- way that still ends up creating a new WebView.
- @param frame The frame used to create the view.
- @param frameName The name to use for the top level frame. May be nil.
- @param groupName The name of the webView set to which this webView will be added. May be nil.
- @result Returns an initialized WebView.
- - (id)initWithFrame:(NSRect)frame frameName:(NSString *)frameName groupName:(NSString *)groupName;
- */
- HRESULT initWithFrame([in] RECT frame, [in] BSTR frameName, [in] BSTR groupName);
-
- /*!
- @method accessibilityDelegate:
- @abstract Return the WebView's accessibilityDelegate.
- @param delegate The WebUIDelegate to set as the delegate.
- - (void)setUIDelegate:(id)delegate;
- */
- HRESULT setAccessibilityDelegate([in] IAccessibilityDelegate *d);
-
- /*!
- @method setAccessibilityDelegate:
- @abstract Set the WebView's accessibilityDelegate.
- @result The WebView's WebUIDelegate.
- - (id)UIDelegate;
- */
- HRESULT accessibilityDelegate([out][retval] IAccessibilityDelegate **d);
-
- /*!
- @method setUIDelegate:
- @abstract Set the WebView's WebUIDelegate.
- @param delegate The WebUIDelegate to set as the delegate.
- - (void)setUIDelegate:(id)delegate;
- */
- HRESULT setUIDelegate([in] IWebUIDelegate* d);
-
- /*!
- @method UIDelegate
- @abstract Return the WebView's WebUIDelegate.
- @result The WebView's WebUIDelegate.
- - (id)UIDelegate;
- */
- HRESULT uiDelegate([retval, out] IWebUIDelegate** d);
-
- /*!
- @method setResourceLoadDelegate:
- @abstract Set the WebView's WebResourceLoadDelegate load delegate.
- @param delegate The WebResourceLoadDelegate to set as the load delegate.
- - (void)setResourceLoadDelegate:(id)delegate;
- */
- HRESULT setResourceLoadDelegate([in] IWebResourceLoadDelegate* d);
-
- /*!
- @method resourceLoadDelegate
- @result Return the WebView's WebResourceLoadDelegate.
- - (id)resourceLoadDelegate;
- */
- HRESULT resourceLoadDelegate([retval, out] IWebResourceLoadDelegate** d);
-
- /*!
- @method setDownloadDelegate:
- @abstract Set the WebView's WebDownloadDelegate.
- @discussion The download delegate is retained by WebDownload when any downloads are in progress.
- @param delegate The WebDownloadDelegate to set as the download delegate.
- - (void)setDownloadDelegate:(id)delegate;
- */
- HRESULT setDownloadDelegate([in] IWebDownloadDelegate* d);
-
- /*!
- @method downloadDelegate
- @abstract Return the WebView's WebDownloadDelegate.
- @result The WebView's WebDownloadDelegate.
- - (id)downloadDelegate;
- */
- HRESULT downloadDelegate([retval, out] IWebDownloadDelegate** d);
-
- /*!
- @method setFrameLoadDelegate:
- @abstract Set the WebView's WebFrameLoadDelegate delegate.
- @param delegate The WebFrameLoadDelegate to set as the delegate.
- - (void)setFrameLoadDelegate:(id)delegate;
- */
- HRESULT setFrameLoadDelegate([in] IWebFrameLoadDelegate* d);
-
- /*!
- @method frameLoadDelegate
- @abstract Return the WebView's WebFrameLoadDelegate delegate.
- @result The WebView's WebFrameLoadDelegate delegate.
- - (id)frameLoadDelegate;
- */
- HRESULT frameLoadDelegate([retval, out] IWebFrameLoadDelegate** d);
-
- /*!
- @method setPolicyDelegate:
- @abstract Set the WebView's WebPolicyDelegate delegate.
- @param delegate The WebPolicyDelegate to set as the delegate.
- - (void)setPolicyDelegate:(id)delegate;
- */
- HRESULT setPolicyDelegate([in] IWebPolicyDelegate* d);
-
- /*!
- @method policyDelegate
- @abstract Return the WebView's WebPolicyDelegate.
- @result The WebView's WebPolicyDelegate.
- - (id)policyDelegate;
- */
- HRESULT policyDelegate([retval, out] IWebPolicyDelegate** d);
-
- /*!
- @method mainFrame
- @abstract Return the top level frame.
- @discussion Note that even document that are not framesets will have a
- mainFrame.
- @result The main frame.
- - (WebFrame *)mainFrame;
- */
- HRESULT mainFrame([retval, out] IWebFrame** frame);
-
- /*!
- @method focusedFrame
- @abstract Return the frame that has the current focus.
- */
- HRESULT focusedFrame([retval, out] IWebFrame** frame);
-
- /*!
- @method backForwardList
- @result The backforward list for this webView.
- - (WebBackForwardList *)backForwardList;
- */
- HRESULT backForwardList([retval, out] IWebBackForwardList** list);
-
- /*!
- @method setMaintainsBackForwardList:
- @abstract Enable or disable the use of a backforward list for this webView.
- @param flag Turns use of the back forward list on or off
- - (void)setMaintainsBackForwardList:(BOOL)flag;
- */
- HRESULT setMaintainsBackForwardList([in] BOOL flag);
-
- /*!
- @method goBack
- @abstract Go back to the previous URL in the backforward list.
- @result YES if able to go back in the backforward list, NO otherwise.
- - (BOOL)goBack;
- */
- HRESULT goBack([out, retval] BOOL* succeeded);
-
- /*!
- @method goForward
- @abstract Go forward to the next URL in the backforward list.
- @result YES if able to go forward in the backforward list, NO otherwise.
- - (BOOL)goForward;
- */
- HRESULT goForward([out, retval] BOOL* succeeded);
-
- /*!
- @method goToBackForwardItem:
- @abstract Go back or forward to an item in the backforward list.
- @result YES if able to go to the item, NO otherwise.
- - (BOOL)goToBackForwardItem:(WebHistoryItem *)item;
- */
- HRESULT goToBackForwardItem([in] IWebHistoryItem* item, [out, retval] BOOL* succeeded);
-
- /*!
- @method setTextSizeMultiplier:
- @abstract Change the size of the text rendering in views managed by this webView.
- @param multiplier A fractional percentage value, 1.0 is 100%.
- - (void)setTextSizeMultiplier:(float)multiplier;
- */
- HRESULT setTextSizeMultiplier([in] float multiplier);
-
- /*!
- @method textSizeMultiplier
- @result The text size multipler.
- - (float)textSizeMultiplier;
- */
- HRESULT textSizeMultiplier([out, retval] float* multiplier);
-
- /*!
- @method setApplicationNameForUserAgent:
- @abstract Set the application name.
- @discussion This name will be used in user-agent strings
- that are chosen for best results in rendering web pages.
- @param applicationName The application name
- - (void)setApplicationNameForUserAgent:(NSString *)applicationName;
- */
- HRESULT setApplicationNameForUserAgent([in] BSTR applicationName);
-
- /*!
- @method applicationNameForUserAgent
- @result The name of the application as used in the user-agent string.
- - (NSString *)applicationNameForUserAgent;
- */
- HRESULT applicationNameForUserAgent([out, retval] BSTR* applicationName);
-
- /*!
- @method setCustomUserAgent:
- @abstract Set the user agent.
- @discussion Setting this means that the webView should use this user-agent string
- instead of constructing a user-agent string for each URL. Setting it to nil
- causes the webView to construct the user-agent string for each URL
- for best results rendering web pages.
- @param userAgentString The user agent description
- - (void)setCustomUserAgent:(NSString *)userAgentString;
- */
- HRESULT setCustomUserAgent([in] BSTR userAgentString);
-
- /*!
- @method customUserAgent
- @result The custom user-agent string or nil if no custom user-agent string has been set.
- - (NSString *)customUserAgent;
- */
- HRESULT customUserAgent([out, retval] BSTR* userAgentString);
-
- /*!
- @method userAgentForURL:
- @abstract Get the appropriate user-agent string for a particular URL.
- @param URL The URL.
- @result The user-agent string for the supplied URL.
- - (NSString *)userAgentForURL:(NSURL *)URL;
- */
- HRESULT userAgentForURL([in] BSTR url, [out, retval] BSTR* userAgent);
-
- /*!
- @method supportsTextEncoding
- @abstract Find out if the current web page supports text encodings.
- @result YES if the document view of the current web page can
- support different text encodings.
- - (BOOL)supportsTextEncoding;
- */
- HRESULT supportsTextEncoding([out, retval] BOOL* supports);
-
- /*!
- @method setCustomTextEncodingName:
- @discussion Make the page display with a different text encoding; stops any load in progress.
- The text encoding passed in overrides the normal text encoding smarts including
- what's specified in a web page's header or HTTP response.
- The text encoding automatically goes back to the default when the top level frame
- changes to a new location.
- Setting the text encoding name to nil makes the webView use default encoding rules.
- @param encoding The text encoding name to use to display a page or nil.
- - (void)setCustomTextEncodingName:(NSString *)encodingName;
- */
- HRESULT setCustomTextEncodingName([in] BSTR encodingName);
-
- /*!
- @method customTextEncodingName
- @result The custom text encoding name or nil if no custom text encoding name has been set.
- - (NSString *)customTextEncodingName;
- */
- HRESULT customTextEncodingName([out, retval] BSTR* encodingName);
-
- /*!
- @method setMediaStyle:
- @discussion Set the media style for the WebView. The mediaStyle will override the normal value
- of the CSS media property. Setting the value to nil will restore the normal value.
- @param mediaStyle The value to use for the CSS media property.
- - (void)setMediaStyle:(NSString *)mediaStyle;
- */
- HRESULT setMediaStyle([in] BSTR media);
-
- /*!
- @method mediaStyle
- @result mediaStyle The value to use for the CSS media property, as set by setMediaStyle:. It
- will be nil unless set by that method.
- - (NSString *)mediaStyle;
- */
- HRESULT mediaStyle([out, retval] BSTR* media);
-
- /*!
- @method stringByEvaluatingJavaScriptFromString:
- @param script The text of the JavaScript.
- @result The result of the script, converted to a string, or nil for failure.
- - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
- */
- HRESULT stringByEvaluatingJavaScriptFromString([in] BSTR script, [out, retval] BSTR* result);
-
- /*!
- @method windowScriptObject
- @discussion windowScriptObject return a WebScriptObject that represents the
- window object from the script environment.
- @result Returns the window object from the script environment.
- - (WebScriptObject *)windowScriptObject;
- */
- HRESULT windowScriptObject([out, retval] IWebScriptObject** webScriptObject);
-
- /*!
- @method setPreferences:
- @param preferences The preferences to use for the webView.
- @abstract Override the standard setting for the webView.
- - (void)setPreferences: (WebPreferences *)prefs;
- */
- HRESULT setPreferences([in] IWebPreferences* prefs);
-
- /*!
- @method preferences
- @result Returns the preferences used by this webView.
- @discussion This method will return [WebPreferences standardPreferences] if no
- other instance of WebPreferences has been set.
- - (WebPreferences *)preferences;
- */
- HRESULT preferences([out, retval] IWebPreferences** prefs);
-
- /*!
- @method setPreferencesIdentifier:
- @param anIdentifier The string to use a prefix for storing values for this WebView in the user
- defaults database.
- @discussion If the WebPreferences for this WebView are stored in the user defaults database, the
- string set in this method will be used a key prefix.
- - (void)setPreferencesIdentifier:(NSString *)anIdentifier;
- */
- HRESULT setPreferencesIdentifier([in] BSTR anIdentifier);
-
- /*!
- @method preferencesIdentifier
- @result Returns the WebPreferences key prefix.
- - (NSString *)preferencesIdentifier;
- */
- HRESULT preferencesIdentifier([out, retval] BSTR* anIdentifier);
-
- /*!
- @method setHostWindow:
- @param hostWindow The host window for the web view.
- @discussion Parts of WebKit (such as plug-ins and JavaScript) depend on a window to function
- properly. Set a host window so these parts continue to function even when the web view is
- not in an actual window.
- - (void)setHostWindow:(NSWindow *)hostWindow;
- */
- HRESULT setHostWindow([in] OLE_HANDLE window);
-
- /*!
- @method hostWindow
- @result The host window for the web view.
- - (NSWindow *)hostWindow;
- */
- HRESULT hostWindow([out, retval] OLE_HANDLE* window);
-
- /*!
- @method searchFor:direction:caseSensitive:
- @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.
- @result YES if found, NO if not found.
- - (BOOL)searchFor:(NSString *)string direction:(BOOL)forward caseSensitive:(BOOL)caseFlag wrap:(BOOL)wrapFlag;
- */
- HRESULT searchFor([in] BSTR str, [in] BOOL forward, [in] BOOL caseFlag, [in] BOOL wrapFlag, [out, retval] BOOL* found);
-
- /*!
- @method registerViewClass:representationClass:forMIMEType:
- @discussion Register classes that implement WebDocumentView and WebDocumentRepresentation respectively.
- A document class may register for a primary MIME type by excluding
- a subtype, i.e. "video/" will match the document class with
- all video types. More specific matching takes precedence
- over general matching.
- @param viewClass The WebDocumentView class to use to render data for a given MIME type.
- @param representationClass The WebDocumentRepresentation class to use to represent data of the given MIME type.
- @param MIMEType The MIME type to represent with an object of the given class.
- + (void)registerViewClass:(Class)viewClass representationClass:(Class)representationClass forMIMEType:(NSString *)MIMEType;
- */
- HRESULT registerViewClass([in] IWebDocumentView* view, [in] IWebDocumentRepresentation* representation, [in] BSTR forMIMEType);
-
- /*!
- @method setGroupName:
- @param groupName The name of the group for this WebView.
- @discussion JavaScript may access named frames within the same group.
- - (void)setGroupName:(NSString *)groupName;
- */
- HRESULT setGroupName([in] BSTR groupName);
-
- /*!
- @method groupName
- @discussion The group name for this WebView.
- - (NSString *)groupName;
- */
- HRESULT groupName([out, retval] BSTR* groupName);
-
- /*!
- @method estimatedProgress
- @discussion An estimate of the percent complete for a document load. This
- value will range from 0 to 1.0 and, once a load completes, will remain at 1.0
- until a new load starts, at which point it will be reset to 0. The value is an
- estimate based on the total number of bytes expected to be received
- for a document, including all it's possible subresources. For more accurate progress
- indication it is recommended that you implement a WebFrameLoadDelegate and a
- WebResourceLoadDelegate.
- - (double)estimatedProgress;
- */
- HRESULT estimatedProgress([out, retval] double* estimatedProgress);
-
- /*!
- @method isLoading
- @discussion Returns YES if there are any pending loads.
- - (BOOL)isLoading;
- */
- HRESULT isLoading([out, retval] BOOL* isLoading);
-
- /*!
- @method elementAtPoint:
- @param point A point in the coordinates of the WebView
- @result An element dictionary describing the point
- - (NSDictionary *)elementAtPoint:(NSPoint)point;
- */
- HRESULT elementAtPoint([in] LPPOINT point, [out, retval] IPropertyBag** elementDictionary);
-
- /*!
- @method pasteboardTypesForSelection
- @abstract Returns the pasteboard types that WebView can use for the current selection
- - (NSArray *)pasteboardTypesForSelection;
- */
- HRESULT pasteboardTypesForSelection([out, retval] IEnumVARIANT** enumVariant);
-
- /*!
- @method writeSelectionWithPasteboardTypes:toPasteboard:
- @abstract Writes the current selection to the pasteboard
- @param types The types that WebView will write to the pasteboard
- @param pasteboard The pasteboard to write to
- - (void)writeSelectionWithPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard;
- */
- HRESULT writeSelectionWithPasteboardTypes([in, size_is(cTypes)] BSTR* types, [in] int cTypes, [in] IDataObject* pasteboard);
-
- /*!
- @method pasteboardTypesForElement:
- @abstract Returns the pasteboard types that WebView can use for an element
- @param element The element
- - (NSArray *)pasteboardTypesForElement:(NSDictionary *)element;
- */
- HRESULT pasteboardTypesForElement([in] IPropertyBag* elementDictionary, [out, retval] IEnumVARIANT** enumVariant);
-
- /*!
- @method writeElement:withPasteboardTypes:toPasteboard:
- @abstract Writes an element to the pasteboard
- @param element The element to write to the pasteboard
- @param types The types that WebView will write to the pasteboard
- @param pasteboard The pasteboard to write to
- - (void)writeElement:(NSDictionary *)element withPasteboardTypes:(NSArray *)types toPasteboard:(NSPasteboard *)pasteboard;
- */
- HRESULT writeElement([in] IPropertyBag* elementDictionary, [in, size_is(cWithPasteboardTypes)] BSTR* withPasteboardTypes, [in] int cWithPasteboardTypes, [in] IDataObject* pasteboard);
-
- /*!
- @method selectedText
- @abstract Returns the selection as a string
- */
- HRESULT selectedText([out, retval] BSTR* text);
-
- /*!
- @method centerSelectionInVisibleArea
- @abstract Centers the selected text in the WebView
- - (void)centerSelectionInVisibleArea:(id)sender;
- */
- HRESULT centerSelectionInVisibleArea([in] IUnknown* sender);
-
- /*!
- @method moveDragCaretToPoint:
- @param point A point in the coordinates of the WebView
- @discussion This method moves the caret that shows where something being dragged will be dropped. It may cause the WebView to scroll
- to make the new position of the drag caret visible.
- - (void)moveDragCaretToPoint:(NSPoint)point;
- */
- HRESULT moveDragCaretToPoint([in] LPPOINT point);
-
- /*!
- @method removeDragCaret
- @abstract Removes the drag caret from the WebView
- - (void)removeDragCaret;
- */
- HRESULT removeDragCaret();
-
- /*!
- @method setDrawsBackground:
- @param drawsBackround YES to cause the receiver to draw a default white background, NO otherwise.
- @abstract Sets whether the receiver draws a default white background when the loaded page has no background specified.
- - (void)setDrawsBackground:(BOOL)drawsBackround;
- */
- HRESULT setDrawsBackground([in] BOOL drawsBackground);
-
- /*!
- @method drawsBackground
- @result Returns YES if the receiver draws a default white background, NO otherwise.
- - (BOOL)drawsBackground;
- */
- HRESULT drawsBackground([out, retval] BOOL* drawsBackground);
-
- /*!
- @method setMainFrameURL:
- @param URLString The URL to load in the mainFrame.
- - (void)setMainFrameURL:(NSString *)URLString;
- */
- HRESULT setMainFrameURL([in] BSTR urlString);
-
- /*!
- @method mainFrameURL
- @result Returns the main frame's current URL.
- - (NSString *)mainFrameURL;
- */
- HRESULT mainFrameURL([out, retval] BSTR* urlString);
-
- /*!
- @method mainFrameDocument
- @result Returns the main frame's DOMDocument.
- - (DOMDocument *)mainFrameDocument;
- */
- HRESULT mainFrameDocument([out, retval] IDOMDocument** document);
-
- /*!
- @method mainFrameTitle
- @result Returns the main frame's title if any, otherwise an empty string.
- - (NSString *)mainFrameTitle;
- */
- HRESULT mainFrameTitle([out, retval] BSTR* title);
-
- /*!
- @method mainFrameIcon
- @discussion The methods returns the site icon for the current page loaded in the mainFrame.
- @result Returns the main frame's icon if any, otherwise nil.
- - (NSImage *)mainFrameIcon;
- */
- HRESULT mainFrameIcon([out, retval] OLE_HANDLE* hBitmap);
-
- /*!
- @method registerURLSchemeAsLocal
- @discussion Adds the scheme to the list of schemes to be treated as local.
- @param scheme The scheme to register.
- + (void)registerURLSchemeAsLocal:(NSString *)scheme;
- */
- HRESULT registerURLSchemeAsLocal([in] BSTR scheme);
-
- /*!
- @method close
- @abstract Closes the receiver, unloading its web page and canceling any pending loads.
- Once the receiver has closed, it will no longer respond to requests or fire delegate methods.
- (However, the -close method itself may fire delegate methods.)
- @discussion A garbage collected application is required to call close when the receiver is no longer needed.
- The close method will be called automatically when the window or hostWindow closes and shouldCloseWithWindow returns YES.
- A non-garbage collected application can still call close, providing a convenient way to prevent receiver
- from doing any more loading and firing any future delegate methods.
- */
- HRESULT close();
-}
-
-/*
- @interface WebView (WebIBActions) <NSUserInterfaceValidations>
-*/
-[
- object,
- oleautomation,
- uuid(8F0E3A30-B924-44f8-990A-1AE61ED6C632),
- pointer_default(unique)
-]
-interface IWebIBActions : IUnknown
-{
- /*
- - (IBAction)takeStringURLFrom:(id)sender;
- */
- HRESULT takeStringURLFrom([in] IUnknown* sender);
-
- /*
- - (IBAction)stopLoading:(id)sender;
- */
- HRESULT stopLoading([in] IUnknown* sender);
-
- /*
- - (IBAction)reload:(id)sender;
- */
- HRESULT reload([in] IUnknown* sender);
-
- /*
- - (BOOL)canGoBack;
- */
- HRESULT canGoBack([in] IUnknown* sender, [out, retval] BOOL* result);
-
- /*
- - (IBAction)goBack:(id)sender;
- */
- HRESULT goBack([in] IUnknown* sender);
-
- /*
- - (BOOL)canGoForward;
- */
- HRESULT canGoForward([in] IUnknown* sender, [out, retval] BOOL* result);
-
- /*
- - (IBAction)goForward:(id)sender;
- */
- HRESULT goForward([in] IUnknown* sender);
-
- /*
- - (BOOL)canMakeTextLarger;
- */
- HRESULT canMakeTextLarger([in] IUnknown* sender, [out, retval] BOOL* result);
-
- /*
- - (IBAction)makeTextLarger:(id)sender;
- */
- HRESULT makeTextLarger([in] IUnknown* sender);
-
- /*
- - (BOOL)canMakeTextSmaller;
- */
- HRESULT canMakeTextSmaller([in] IUnknown* sender, [out, retval] BOOL* result);
-
- /*
- - (IBAction)makeTextSmaller:(id)sender;
- */
- HRESULT makeTextSmaller([in] IUnknown* sender);
-
- /*
- - (BOOL)canMakeTextStandardSize;
- */
- HRESULT canMakeTextStandardSize([in] IUnknown* sender, [out, retval] BOOL* result);
-
- /*
- - (IBAction)makeTextStandardSize:(id)sender;
- */
- HRESULT makeTextStandardSize([in] IUnknown* sender);
-
- /*
- - (IBAction)toggleContinuousSpellChecking:(id)sender;
- */
- HRESULT toggleContinuousSpellChecking([in] IUnknown* sender);
-
- /*
- - (IBAction)toggleSmartInsertDelete:(id)sender;
- */
- HRESULT toggleSmartInsertDelete([in] IUnknown* sender);
-
- /*
- - (void)toggleGrammarChecking:(id)sender
- */
- HRESULT toggleGrammarChecking([in] IUnknown* sender);
-
- /*!
- @method setPageSizeMultiplier:
- @abstract Set a zoom factor for all views managed by this webView.
- @param multiplier A fractional percentage value, 1.0 is 100%.
- - (void)setPageSizeMultiplier:(float)multiplier;
- */
- HRESULT setPageSizeMultiplier([in] float multiplier);
-
- /*!
- @method pageSizeMultiplier
- @result The page size multipler.
- - (float)pageSizeMultiplier;
- */
- HRESULT pageSizeMultiplier([out, retval] float* multiplier);
-
- /*
- - (BOOL)canZoomPageIn;
- */
- HRESULT canZoomPageIn([in] IUnknown* sender, [out, retval] BOOL* result);
-
- /*
- - (IBAction)zoomPageIn:(id)sender;
- */
- HRESULT zoomPageIn([in] IUnknown* sender);
-
- /*
- - (BOOL)canZoomPageOut;
- */
- HRESULT canZoomPageOut([in] IUnknown* sender, [out, retval] BOOL* result);
-
- /*
- - (IBAction)zoomPageOut:(id)sender;
- */
- HRESULT zoomPageOut([in] IUnknown* sender);
-
- /*
- - (BOOL)canResetPageZoom;
- */
- HRESULT canResetPageZoom([in] IUnknown* sender, [out, retval] BOOL* result);
-
- /*
- - (IBAction)resetPageZoom:(id)sender;
- */
- HRESULT resetPageZoom([in] IUnknown* sender);
-
- /*
- - (IBAction)reloadFromOrigin:(id)sender;
- */
- HRESULT reloadFromOrigin([in] IUnknown* sender);
-}
-
-/*
- @interface WebView (WebViewCSS)
-*/
-[
- object,
- oleautomation,
- uuid(ADF68A8C-336F-405c-A053-3D11A9D5B092),
- pointer_default(unique)
-]
-interface IWebViewCSS : IUnknown
-{
- /*
- - (DOMCSSStyleDeclaration *)computedStyleForElement:(DOMElement *)element pseudoElement:(NSString *)pseudoElement;
- */
- HRESULT computedStyleForElement([in] IDOMElement* element, [in] BSTR pseudoElement, [out, retval] IDOMCSSStyleDeclaration** style);
-}
-
-/*
- @interface WebView (WebViewEditing)
-*/
-[
- object,
- oleautomation,
- uuid(07BDAC9A-19A1-4086-864D-BAD9E0F00D5C),
- pointer_default(unique)
-]
-interface IWebViewEditing : IUnknown
-{
- /*
- - (DOMRange *)editableDOMRangeForPoint:(NSPoint)point;
- */
- HRESULT editableDOMRangeForPoint([in] LPPOINT point, [out, retval] IDOMRange** range);
-
- /*
- - (void)setSelectedDOMRange:(DOMRange *)range affinity:(NSSelectionAffinity)selectionAffinity;
- */
- HRESULT setSelectedDOMRange([in] IDOMRange* range, [in] WebSelectionAffinity affinity);
-
- /*
- - (DOMRange *)selectedDOMRange;
- */
- HRESULT selectedDOMRange([out, retval] IDOMRange** range);
-
- /*
- - (NSSelectionAffinity)selectionAffinity;
- */
- HRESULT selectionAffinity([out, retval] [out, retval] WebSelectionAffinity* affinity);
-
- /*
- - (void)setEditable:(BOOL)flag;
- */
- HRESULT setEditable([in] BOOL flag);
-
- /*
- - (BOOL)isEditable;
- */
- HRESULT isEditable([out, retval] BOOL* isEditable);
-
- /*
- - (void)setTypingStyle:(DOMCSSStyleDeclaration *)style;
- */
- HRESULT setTypingStyle([in] IDOMCSSStyleDeclaration* style);
-
- /*
- - (DOMCSSStyleDeclaration *)typingStyle;
- */
- HRESULT typingStyle([out, retval] IDOMCSSStyleDeclaration** style);
-
- /*
- - (void)setSmartInsertDeleteEnabled:(BOOL)flag;
- */
- HRESULT setSmartInsertDeleteEnabled([in] BOOL flag);
-
- /*
- - (BOOL)smartInsertDeleteEnabled;
- */
- HRESULT smartInsertDeleteEnabled([out, retval] BOOL* enabled);
-
- /*
- - (void)setContinuousSpellCheckingEnabled:(BOOL)flag;
- */
- HRESULT setContinuousSpellCheckingEnabled([in] BOOL flag);
-
- /*
- - (BOOL)isContinuousSpellCheckingEnabled;
- */
- HRESULT isContinuousSpellCheckingEnabled([out, retval] BOOL* enabled);
-
- /*
- - (WebNSInt)spellCheckerDocumentTag;
- */
- HRESULT spellCheckerDocumentTag([out, retval] int* tag);
-
- /*
- - (NSUndoManager *)undoManager;
- */
- HRESULT undoManager([out, retval] IWebUndoManager** manager);
-
- /*
- - (void)setEditingDelegate:(id)delegate;
- */
- HRESULT setEditingDelegate([in] IWebEditingDelegate* d);
-
- /*
- - (id)editingDelegate;
- */
- HRESULT editingDelegate([out, retval] IWebEditingDelegate** d);
-
- /*
- - (DOMCSSStyleDeclaration *)styleDeclarationWithText:(NSString *)text;
- */
- HRESULT styleDeclarationWithText([in] BSTR text, [out, retval] IDOMCSSStyleDeclaration** style);
-
- /*
- - (BOOL)hasSelectedRange;
- */
- HRESULT hasSelectedRange([out, retval] BOOL* hasSelectedRange);
-
- /*
- - (BOOL)cutEnabled;
- */
- HRESULT cutEnabled([out, retval] BOOL* enabled);
-
- /*
- - (BOOL)copyEnabled;
- */
- HRESULT copyEnabled([out, retval] BOOL* enabled);
-
- /*
- - (BOOL)pasteEnabled;
- */
- HRESULT pasteEnabled([out, retval] BOOL* enabled);
-
- /*
- - (BOOL)deleteEnabled;
- */
- HRESULT deleteEnabled([out, retval] BOOL* enabled);
-
- /*
- - (BOOL)editingEnabled;
- */
- HRESULT editingEnabled([out, retval] BOOL* enabled);
-
- /*
- - (BOOL)isGrammarCheckingEnabled
- */
- HRESULT isGrammarCheckingEnabled([out, retval] BOOL* enabled);
-
- /*
- - (void)setGrammarCheckingEnabled:(BOOL)flag
- */
- HRESULT setGrammarCheckingEnabled(BOOL enabled);
-
- /*
- - (void)setSelectTrailingWhitespaceEnabled:(BOOL)flag;
- */
- HRESULT setSelectTrailingWhitespaceEnabled([in] BOOL flag);
-
- /*
- - (BOOL)selectTrailingWhitespaceEnabled;
- */
- HRESULT isSelectTrailingWhitespaceEnabled([out, retval] BOOL* enabled);
-}
-
-/*
- @interface WebView (WebViewUndoableEditing)
-*/
-[
- object,
- oleautomation,
- uuid(639E7121-13C8-4a12-BC18-6E1F3D68F3C3),
- pointer_default(unique)
-]
-interface IWebViewUndoableEditing : IUnknown
-{
- /*
- - (void)replaceSelectionWithNode:(DOMNode *)node;
- */
- HRESULT replaceSelectionWithNode([in] IDOMNode* node);
-
- /*
- - (void)replaceSelectionWithText:(NSString *)text;
- */
- HRESULT replaceSelectionWithText([in] BSTR text);
-
- /*
- - (void)replaceSelectionWithMarkupString:(NSString *)markupString;
- */
- HRESULT replaceSelectionWithMarkupString([in] BSTR markupString);
-
- /*
- - (void)replaceSelectionWithArchive:(WebArchive *)archive;
- */
- HRESULT replaceSelectionWithArchive([in] IWebArchive* archive);
-
- /*
- - (void)deleteSelection;
- */
- HRESULT deleteSelection();
-
- /*
- - (void)clearSelection;
- */
- HRESULT clearSelection();
-
- /*
- - (void)applyStyle:(DOMCSSStyleDeclaration *)style;
- */
- HRESULT applyStyle([in] IDOMCSSStyleDeclaration* style);
-}
-
-/*
- @interface WebView (WebViewEditingActions)
-*/
-[
- object,
- oleautomation,
- uuid(7E066C42-8E81-4778-888D-D6CC93E27D4C),
- pointer_default(unique)
-]
-interface IWebViewEditingActions : IUnknown
-{
- /*
- - (void)copy:(id)sender;
- */
- HRESULT copy([in] IUnknown* sender);
-
- /*
- - (void)cut:(id)sender;
- */
- HRESULT cut([in] IUnknown* sender);
-
- /*
- - (void)paste:(id)sender;
- */
- HRESULT paste([in] IUnknown* sender);
-
- /*
- - (void)copyURL:(id)sender;
- */
- HRESULT copyURL([in] BSTR url);
-
- /*
- - (void)copyFont:(id)sender;
- */
- HRESULT copyFont([in] IUnknown* sender);
-
- /*
- - (void)pasteFont:(id)sender;
- */
- HRESULT pasteFont([in] IUnknown* sender);
-
- /*
- - (void)delete:(id)sender;
- */
- HRESULT delete_([in] IUnknown* sender);
-
- /*
- - (void)pasteAsPlainText:(id)sender;
- */
- HRESULT pasteAsPlainText([in] IUnknown* sender);
-
- /*
- - (void)pasteAsRichText:(id)sender;
- */
- HRESULT pasteAsRichText([in] IUnknown* sender);
-
-
- /*
- - (void)changeFont:(id)sender;
- */
- HRESULT changeFont([in] IUnknown* sender);
-
- /*
- - (void)changeAttributes:(id)sender;
- */
- HRESULT changeAttributes([in] IUnknown* sender);
-
- /*
- - (void)changeDocumentBackgroundColor:(id)sender;
- */
- HRESULT changeDocumentBackgroundColor([in] IUnknown* sender);
-
- /*
- - (void)changeColor:(id)sender;
- */
- HRESULT changeColor([in] IUnknown* sender);
-
-
- /*
- - (void)alignCenter:(id)sender;
- */
- HRESULT alignCenter([in] IUnknown* sender);
-
- /*
- - (void)alignJustified:(id)sender;
- */
- HRESULT alignJustified([in] IUnknown* sender);
-
- /*
- - (void)alignLeft:(id)sender;
- */
- HRESULT alignLeft([in] IUnknown* sender);
-
- /*
- - (void)alignRight:(id)sender;
- */
- HRESULT alignRight([in] IUnknown* sender);
-
-
- /*
- - (void)checkSpelling:(id)sender;
- */
- HRESULT checkSpelling([in] IUnknown* sender);
-
- /*
- - (void)showGuessPanel:(id)sender;
- */
- HRESULT showGuessPanel([in] IUnknown* sender);
-
- /*
- - (void)performFindPanelAction:(id)sender;
- */
- HRESULT performFindPanelAction([in] IUnknown* sender);
-
-
- /*
- - (void)startSpeaking:(id)sender;
- */
- HRESULT startSpeaking([in] IUnknown* sender);
-
- /*
- - (void)stopSpeaking:(id)sender;
- */
- HRESULT stopSpeaking([in] IUnknown* sender);
-}
-
-
-
diff --git a/Source/WebKit/win/Interfaces/IWebViewPrivate.idl b/Source/WebKit/win/Interfaces/IWebViewPrivate.idl
deleted file mode 100644
index 6b51cb3e5..000000000
--- a/Source/WebKit/win/Interfaces/IWebViewPrivate.idl
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-import "IWebFormDelegate.idl";
-import "IWebFrameLoadDelegatePrivate.idl";
-import "IWebHistoryDelegate.idl";
-import "IWebInspector.idl";
-import "IWebInspectorPrivate.idl";
-#endif
-
-// Sent when IWebView::close is called. No userInfo is associated with this notification.
-cpp_quote("#define WebViewWillCloseNotification L\"WebViewWillCloseNotification\"")
-
-interface IEnumTextMatches;
-interface IWebFormDelegate;
-interface IWebFrameLoadDelegatePrivate;
-interface IWebHistoryDelegate;
-interface IWebInspector;
-interface IWebInspectorPrivate;
-interface IWebURLRequest;
-interface IWebView;
-
-typedef enum {
- WebInjectAtDocumentStart = 0,
- WebInjectAtDocumentEnd,
-} WebUserScriptInjectionTime;
-
-[
- object,
- oleautomation,
- uuid(44914369-DEB5-4fcf-A6A3-30C02E73154F),
- pointer_default(unique)
-]
-interface IWebViewPrivate : IUnknown
-{
- /*!
- @method _setInViewSourceMode:
- @abstract Used to place a WebView into a special source-viewing mode.
- - (void)_setInViewSourceMode:(BOOL)flag;
- */
- HRESULT setInViewSourceMode([in] BOOL flag);
-
- /*!
- @method _inViewSourceMode;
- @abstract Whether or not the WebView is in source-view mode for HTML.
- - (BOOL)_inViewSourceMode;
- */
- HRESULT inViewSourceMode([out, retval] BOOL* flag);
-
- HRESULT viewWindow([out, retval] OLE_HANDLE* window);
-
- // May well become public
- //- (void)_setFormDelegate:(id<WebFormDelegate>)delegate;
- HRESULT setFormDelegate([in] IWebFormDelegate* formDelegate);
-
- //- (id<WebFormDelegate>)_formDelegate;
- HRESULT formDelegate([out, retval] IWebFormDelegate** formDelegate);
-
- HRESULT setFrameLoadDelegatePrivate([in] IWebFrameLoadDelegatePrivate* frameLoadDelegatePrivate);
- HRESULT frameLoadDelegatePrivate([out, retval] IWebFrameLoadDelegatePrivate** frameLoadDelegatePrivate);
-
- HRESULT scrollOffset([out, retval] LPPOINT offset);
- HRESULT scrollBy([in] LPPOINT offset);
- HRESULT visibleContentRect([out, retval] LPRECT rect);
-
- // SPI for DumpRenderTree
- HRESULT updateFocusedAndActiveState();
-
- // Support for displaying multiple text matches.
- HRESULT markAllMatchesForText([in] BSTR search, [in] BOOL caseSensitive, [in] BOOL highlight, [in] UINT limit, [out] UINT* matches);
- HRESULT unmarkAllTextMatches();
- HRESULT rectsForTextMatches([out]IEnumTextMatches** pmatches);
- HRESULT selectionRect([in, out] RECT* rc);
- HRESULT generateSelectionImage(BOOL forceWhiteText, [out, retval] OLE_HANDLE* hBitmap);
-
- HRESULT canHandleRequest([in] IWebURLRequest* request, [out, retval] BOOL* result);
-
- HRESULT clearFocusNode();
-
- HRESULT setTabKeyCyclesThroughElements([in] BOOL cycles);
- HRESULT tabKeyCyclesThroughElements([out, retval] BOOL* result);
-
- HRESULT setAllowSiteSpecificHacks([in] BOOL allows);
- HRESULT addAdditionalPluginDirectory([in] BSTR directory);
-
- HRESULT loadBackForwardListFromOtherView([in] IWebView* otherView);
-
- HRESULT setCustomDropTarget([in] IDropTarget* dt);
- HRESULT removeCustomDropTarget();
-
- HRESULT setInitialFocus([in] BOOL forward);
-
- HRESULT inspector([out, retval] IWebInspector**);
-
- HRESULT clearUndoRedoOperations();
-
- HRESULT setProhibitsMainFrameScrolling([in] BOOL prohibits);
-
- // SPI for DumpRenderTree. This is global to all WebViews.
- HRESULT setShouldApplyMacFontAscentHack([in] BOOL shouldApply);
-
- /*!
- @method shouldClose:
- @abstract This function will fire the before unload handler for a page.
- If the user cancels the closing of a webview from the alert popped up by the
- before unload handler, then this function will return false.
- */
- HRESULT shouldClose([out, retval] BOOL* result);
-
- // SPI for DumpRenderTree
- HRESULT executeCoreCommandByName([in] BSTR name, [in] BSTR value);
-
- HRESULT windowAncestryDidChange();
-
- HRESULT paintDocumentRectToContext([in] RECT rect, [in] OLE_HANDLE dc);
-
- HRESULT setDefersCallbacks([in] BOOL defersCallbacks);
- HRESULT defersCallbacks([out, retval] BOOL* defersCallbacks);
-
- HRESULT standardUserAgentWithApplicationName([in] BSTR applicationName, [retval][out] BSTR* groupName);
-
- HRESULT setCustomHTMLTokenizerTimeDelay([in] double timeDelay);
- HRESULT setCustomHTMLTokenizerChunkSize([in] int chunkSize);
-
- HRESULT backingStore([out, retval] OLE_HANDLE* hBitmap);
-
- HRESULT setTransparent([in] BOOL transparent);
- HRESULT transparent([out, retval] BOOL* transparent);
-
- HRESULT setAlwaysUsesComplexTextCodePath([in] BOOL complex);
- HRESULT alwaysUsesComplexTextCodePath([out, retval] BOOL* complex);
-
- HRESULT setCookieEnabled([in] BOOL enable);
- HRESULT cookieEnabled([out, retval] BOOL* enabled);
-
- HRESULT setMediaVolume([in] float volume);
- HRESULT mediaVolume([out, retval] float* volume);
-
- // SPI for DumpRenderTree
- HRESULT clearMainFrameName();
-
- HRESULT globalHistoryItem([out, retval] IWebHistoryItem**);
-
- HRESULT registerEmbeddedViewMIMEType([in] BSTR mimeType);
-
- HRESULT setMemoryCacheDelegateCallsEnabled([in] BOOL enabled);
-
- HRESULT setJavaScriptURLsAreAllowed([in] BOOL areAllowed);
-
- HRESULT setCanStartPlugins([in] BOOL canStartPlugins);
-
- /*!
- @method MIMETypeForExtension:
- @abstract Returns the mime type for a certian file extension.
- @param path The extension of the file to check.
- @result The mime type of the specified extension.
- + (BSTR)MIMETypeForPath:(NSString *)path;
- */
- HRESULT MIMETypeForExtension([in] BSTR extension, [out, retval] BSTR* mimeType);
-
- HRESULT addUserScriptToGroup([in] BSTR groupName, [in] IWebScriptWorld*, [in] BSTR source, [in] BSTR url,
- [in] unsigned whitelistCount, [in, size_is(whitelistCount)] BSTR* whitelist,
- [in] unsigned blacklistCount, [in, size_is(blacklistCount)] BSTR* blacklist,
- [in] WebUserScriptInjectionTime injectionTime);
- HRESULT addUserStyleSheetToGroup([in] BSTR groupName, [in] IWebScriptWorld*, [in] BSTR source, [in] BSTR url,
- [in] unsigned whitelistCount, [in, size_is(whitelistCount)] BSTR* whitelist,
- [in] unsigned blacklistCount, [in, size_is(blacklistCount)] BSTR* blacklist);
- HRESULT removeUserScriptFromGroup([in] BSTR groupName, [in] IWebScriptWorld*, [in] BSTR url);
- HRESULT removeUserStyleSheetFromGroup([in] BSTR groupName, [in] IWebScriptWorld*, [in] BSTR url);
- HRESULT removeUserScriptsFromGroup([in] BSTR groupName, [in] IWebScriptWorld*);
- HRESULT removeUserStyleSheetsFromGroup([in] BSTR groupName, [in] IWebScriptWorld*);
- HRESULT removeAllUserContentFromGroup([in] BSTR groupName);
-
- HRESULT unused1();
- HRESULT unused2();
-
- // If rect is 0, the entire backing store will be invalidated.
- HRESULT invalidateBackingStore([in] const RECT* rect);
-
- // Whitelists access from an origin (sourceOrigin) to a set of one or more origins described by the parameters:
- // - destinationProtocol: The protocol to grant access to.
- // - destinationHost: The host to grant access to.
- // - allowDestinationSubdomains: If host is a domain, setting this to YES will whitelist host and all its subdomains, recursively.
- HRESULT addOriginAccessWhitelistEntry([in] BSTR sourceOrigin, [in] BSTR destinationProtocol, [in] BSTR destinationHost, [in] BOOL allowDestinationSubdomains);
-
- // Removes a white list entry created with addOriginAccessWhitelistEntry. See above.
- HRESULT removeOriginAccessWhitelistEntry([in] BSTR sourceOrigin, [in] BSTR destinationProtocol, [in] BSTR destinationHost, [in] BOOL allowDestinationSubdomains);
-
- // Removes all white list entries created with addOriginAccessWhitelistEntry.
- HRESULT resetOriginAccessWhitelists();
-
- HRESULT setHistoryDelegate([in] IWebHistoryDelegate* historyDelegate);
- HRESULT historyDelegate([out,retval] IWebHistoryDelegate** historyDelegate);
- HRESULT addVisitedLinks([in] BSTR* visitedURLs, [in] unsigned visitedURLCount);
-
- HRESULT unused3();
- HRESULT unused4();
- HRESULT unused5();
-
- HRESULT setGeolocationProvider([in] IWebGeolocationProvider* locationProvider);
- HRESULT geolocationProvider([out, retval] IWebGeolocationProvider** locationProvider);
- HRESULT geolocationDidChangePosition([in] IWebGeolocationPosition* position);
- HRESULT geolocationDidFailWithError([in] IWebError* error);
-
- HRESULT setDomainRelaxationForbiddenForURLScheme([in] BOOL forbidden, [in] BSTR scheme);
-
- HRESULT registerURLSchemeAsSecure([in] BSTR scheme);
-
- HRESULT nextDisplayIsSynchronous();
-
- HRESULT paintScrollViewRectToContextAtPoint([in] RECT rect, [in] POINT pt, [in] OLE_HANDLE dc);
-
- [local] HRESULT reportException([in] JSContextRef context, [in] JSValueRef exception);
-
- [local] HRESULT elementFromJS([in] JSContextRef context, [in] JSValueRef nodeObject, [out, retval] IDOMElement** element);
-
-
- /*!
- @method defaultMinimumTimerInterval
- @discussion Returns the default minimum interval for DOMTimers on all pages, not
- just the one associated with this receiver.
- - (double)interval;
- */
- HRESULT defaultMinimumTimerInterval([out, retval] double* interval);
-
- /*!
- @method setMinimumTimerInterval
- @discussion Sets the minimum interval for DOMTimers on the web page associated
- with the receiver.
- - (double)interval;
- */
- HRESULT setMinimumTimerInterval([in] double interval);
-
- /*!
- @method _HTTPPipeliningEnabled
- @abstract Checks the HTTP pipelining status.
- @discussion Defaults to NO.
- @result YES if HTTP pipelining is enabled, NO if not enabled.
- */
- HRESULT httpPipeliningEnabled([out, retval] BOOL* enabled);
-
- /*!
- @method _setHTTPPipeliningEnabled:
- @abstract Set the HTTP pipelining status.
- @discussion Defaults to NO.
- @param enabled The new HTTP pipelining status.
- */
- HRESULT setHTTPPipeliningEnabled([in] BOOL enabled);
-
- HRESULT setUsesLayeredWindow([in] BOOL usesLayeredWindow);
- HRESULT usesLayeredWindow([out, retval] BOOL* usesLayeredWindow);
-
- HRESULT registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing([in] BSTR scheme);
- HRESULT registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing([in] BSTR scheme);
- // Used by TextInputController in DumpRenderTree
-
- HRESULT setCompositionForTesting([in] BSTR composition,[in] UINT from,[in] UINT length);
-
- HRESULT hasCompositionForTesting([out, retval] BOOL* result);
-
- HRESULT confirmCompositionForTesting([in] BSTR composition);
-
- HRESULT compositionRangeForTesting([out] UINT* startPosition, [out] UINT* length);
-
- HRESULT firstRectForCharacterRangeForTesting([in] UINT location, [in] UINT length, [out, retval] RECT* resultRect);
-
- HRESULT selectedRangeForTesting([out] UINT* location, [out] UINT* length);
-}
diff --git a/Source/WebKit/win/Interfaces/IWebWorkersPrivate.idl b/Source/WebKit/win/Interfaces/IWebWorkersPrivate.idl
deleted file mode 100644
index 990b8f7bd..000000000
--- a/Source/WebKit/win/Interfaces/IWebWorkersPrivate.idl
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-#ifndef DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-/*!
- @class WebWorkersPrivate
- @discussion WebWorkersPrivate exposes internals about WebWorkers for use in
- layout tests.
-*/
-[
- object,
- oleautomation,
- hidden,
- uuid(537069C5-389C-41ae-9A82-423ACA8B2C02),
- pointer_default(unique)
-]
-
-interface IWebWorkersPrivate : IUnknown
-{
- HRESULT workerThreadCount([out, retval] UINT* number);
-}
diff --git a/Source/WebKit/win/Interfaces/JavaScriptCoreAPITypes.idl b/Source/WebKit/win/Interfaces/JavaScriptCoreAPITypes.idl
deleted file mode 100644
index f2ef1f123..000000000
--- a/Source/WebKit/win/Interfaces/JavaScriptCoreAPITypes.idl
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-cpp_quote("// this is done to get midl to treat the JavaScriptCore API types as pointer types")
-cpp_quote("#if 0")
-typedef void* JSContextRef;
-typedef void* JSObjectRef;
-typedef void* JSValueRef;
-cpp_quote("#else")
-cpp_quote("typedef const struct OpaqueJSValue* JSValueRef;")
-cpp_quote("typedef struct OpaqueJSValue* JSObjectRef;")
-cpp_quote("typedef const struct OpaqueJSContext* JSContextRef;")
-cpp_quote("#endif")
-
diff --git a/Source/WebKit/win/Interfaces/WebKit.idl b/Source/WebKit/win/Interfaces/WebKit.idl
deleted file mode 100644
index 65954b033..000000000
--- a/Source/WebKit/win/Interfaces/WebKit.idl
+++ /dev/null
@@ -1,305 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple 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 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.
- */
-
-cpp_quote("/*")
-cpp_quote(" * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.")
-cpp_quote(" *")
-cpp_quote(" * Redistribution and use in source and binary forms, with or without")
-cpp_quote(" * modification, are permitted provided that the following conditions")
-cpp_quote(" * are met:")
-cpp_quote(" * 1. Redistributions of source code must retain the above copyright")
-cpp_quote(" * notice, this list of conditions and the following disclaimer.")
-cpp_quote(" * 2. Redistributions in binary form must reproduce the above copyright")
-cpp_quote(" * notice, this list of conditions and the following disclaimer in the")
-cpp_quote(" * documentation and/or other materials provided with the distribution.")
-cpp_quote(" *")
-cpp_quote(" * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY")
-cpp_quote(" * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE")
-cpp_quote(" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR")
-cpp_quote(" * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR")
-cpp_quote(" * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,")
-cpp_quote(" * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,")
-cpp_quote(" * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR")
-cpp_quote(" * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY")
-cpp_quote(" * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT")
-cpp_quote(" * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE")
-cpp_quote(" * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.")
-cpp_quote(" */")
-
-#include "autoversion.h"
-
-#define DO_NO_IMPORTS
-
-import "oaidl.idl";
-import "ocidl.idl";
-
-import "AccessibleApplication.idl";
-
-#include "AccessibleComparable.idl"
-#include "AccessibilityDelegate.idl"
-#include "WebScrollbarTypes.idl"
-#include "JavaScriptCoreAPITypes.idl"
-#include "IWebScriptObject.idl"
-#include "DOMCSS.idl"
-#include "DOMCore.idl"
-#include "DOMEvents.idl"
-#include "DOMExtensions.idl"
-#include "DOMHTML.idl"
-#include "DOMPrivate.idl"
-#include "DOMRange.idl"
-#include "DOMWindow.idl"
-#include "IWebArchive.idl"
-#include "IWebBackForwardList.idl"
-#include "IWebBackForwardListPrivate.idl"
-#include "IWebCache.idl"
-#include "IWebCookieManager.idl"
-#include "IWebCoreStatistics.idl"
-#include "IWebDataSource.idl"
-#include "IWebDatabaseManager.idl"
-#include "IWebDesktopNotificationsDelegate.idl"
-#include "IWebDocument.idl"
-#include "IWebDownload.idl"
-#include "IWebEditingDelegate.idl"
-#include "IWebEmbeddedView.idl"
-#include "IWebError.idl"
-#include "IWebErrorPrivate.idl"
-#include "IWebFormDelegate.idl"
-#include "IWebFrame.idl"
-#include "IWebFrameLoadDelegate.idl"
-#include "IWebFrameLoadDelegatePrivate.idl"
-#include "IWebFrameLoadDelegatePrivate2.idl"
-#include "IWebFramePrivate.idl"
-#include "IWebFrameView.idl"
-#include "IWebGeolocationPolicyListener.idl"
-#include "IWebGeolocationPosition.idl"
-#include "IWebGeolocationProvider.idl"
-#include "IWebHTMLRepresentation.idl"
-#include "IWebHTTPURLResponse.idl"
-#include "IWebHistory.idl"
-#include "IWebHistoryDelegate.idl"
-#include "IWebHistoryItem.idl"
-#include "IWebHistoryItemPrivate.idl"
-#include "IWebHistoryPrivate.idl"
-#include "IWebIconDatabase.idl"
-#include "IWebInspector.idl"
-#include "IWebInspectorPrivate.idl"
-#include "IWebJavaScriptCollector.idl"
-#include "IWebKitStatistics.idl"
-#include "IWebMutableURLRequestPrivate.idl"
-#include "IWebNavigationData.idl"
-#include "IWebNotification.idl"
-#include "IWebNotificationCenter.idl"
-#include "IWebNotificationObserver.idl"
-#include "IWebPolicyDelegate.idl"
-#include "IWebPolicyDelegatePrivate.idl"
-#include "IWebPreferences.idl"
-#include "IWebPreferencesPrivate.idl"
-#include "IWebResource.idl"
-#include "IWebResourceLoadDelegate.idl"
-#include "IWebResourceLoadDelegatePrivate.idl"
-#include "IWebResourceLoadDelegatePrivate2.idl"
-#include "IWebScriptWorld.idl"
-#include "IWebScrollBarDelegatePrivate.idl"
-#include "IWebScrollBarPrivate.idl"
-#include "IWebSecurityOrigin.idl"
-#include "IWebSerializedJSValue.idl"
-#include "IWebSerializedJSValuePrivate.idl"
-#include "IWebTextRenderer.idl"
-#include "IWebUIDelegate.idl"
-#include "IWebUIDelegate2.idl"
-#include "IWebUIDelegatePrivate.idl"
-#include "IWebURLAuthenticationChallenge.idl"
-#include "IWebURLRequest.idl"
-#include "IWebMutableURLRequest.idl"
-#include "IWebURLResponse.idl"
-#include "IWebURLResponsePrivate.idl"
-#include "IWebUndoManager.idl"
-#include "IWebUndoTarget.idl"
-#include "IWebUserContentURLPattern.idl"
-#include "IWebView.idl"
-#include "IWebViewPrivate.idl"
-#include "IWebWorkersPrivate.idl"
-
-#define __TYPELIB_VERSION__ __BUILD_NUMBER_MAJOR__##.##__BUILD_NUMBER_MINOR__
-
-cpp_quote("void shutDownWebKit();")
-
-[
- uuid(2a748656-625d-4207-b29f-40c95bfeb3a9),
- helpstring("WebKit " __BUILD_NUMBER_SHORT__ " Type Library"),
- version(__TYPELIB_VERSION__)
-]
-library WebKit
-{
- // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
- importlib("STDOLE2.TLB");
-
- [uuid(d6bca079-f61c-4e1e-b453-32a0477d02e3)]
- coclass WebView {
- [default] interface IWebView;
- interface IWebIBActions;
- interface IWebViewCSS;
- interface IWebViewEditing;
- interface IWebViewUndoableEditing;
- interface IWebViewEditingActions;
- interface IWebNotificationObserver;
- interface IWebViewPrivate;
- }
-
- [uuid(66827ec1-3aef-4241-bac5-f776b44f030f)]
- coclass WebIconDatabase {
- [default] interface IWebIconDatabase;
- }
-
- [uuid(a062ecc3-bb1b-4694-a569-f59e0ad6be0c)]
- coclass WebMutableURLRequest {
- [default] interface IWebMutableURLRequest;
- }
-
- [uuid(ba590766-0a6f-46c7-b96e-743490d94cb7)]
- coclass WebNotificationCenter {
- [default] interface IWebNotificationCenter;
- }
-
- [uuid(a4b9b45d-949f-4c8c-9b92-6fbfcc1caaa2)]
- coclass WebHistory {
- [default] interface IWebHistory;
- }
-
- [uuid(dd653964-4d37-4fb2-9cb6-6a9a97719332)]
- coclass CFDictionaryPropertyBag {
- [default] interface IPropertyBag;
- }
-
- [uuid(6be190e9-1725-4e4a-88db-6a9fe242c9e5)]
- coclass WebHistoryItem {
- [default] interface IWebHistoryItem;
- }
-
- [uuid(f71071fd-a51b-4b69-9eb6-44374405e80c)]
- coclass WebCache {
- [default] interface IWebCache;
- }
-
- [uuid(1820D883-42FE-4b78-88C8-5456BB19D224)]
- coclass WebJavaScriptCollector {
- [default] interface IWebJavaScriptCollector;
- }
-
- [uuid(67B89F90-F778-438b-ABBF-34D1ACBF8651)]
- coclass WebPreferences {
- [default] interface IWebPreferences;
- }
-
- [uuid(E93AA8D7-F362-4a4a-A95D-325906BEB5F0)]
- coclass WebKitStatistics {
- [default] interface IWebKitStatistics;
- }
-
- [uuid(6C6AF3F9-36B4-4bf7-8BDE-74DCD4AD75A4)]
- coclass WebError {
- [default] interface IWebError;
- }
-
- [uuid(7433F53B-7FE9-484a-9432-72909457A646)]
- coclass WebURLCredential {
- [default] interface IWebURLCredential;
- }
-
- [uuid(C0F98BD9-3B1C-413d-904A-E2D1453EAF1F)]
- coclass WebDownload {
- [default] interface IWebDownload;
- }
-
- [uuid(2FB5499A-BB5D-4469-8517-789FEC8FD9BA)]
- coclass WebURLRequest {
- [default] interface IWebURLRequest;
- }
-
- [uuid(F366A6E8-E43C-4fd4-AAB0-8E6E79C73E6E)]
- coclass WebURLProtectionSpace {
- [default] interface IWebURLProtectionSpace;
- }
-
- [uuid(24A53AD5-AA9F-44e6-AA22-2C7C250B661A)]
- coclass WebScrollBar {
- [default] interface IWebScrollBarPrivate;
- }
-
- [uuid(AB201196-8DD2-4d45-AEBD-029B6A37AA27)]
- coclass WebURLResponse {
- [default] interface IWebURLResponse;
- }
-
- [uuid(24040cd6-aff4-4a51-9c8b-71539580ee76)]
- coclass WebTextRenderer {
- [default] interface IWebTextRenderer;
- }
-
- [uuid(C2A1BFC2-1E7C-49fe-8592-D0C7FB440BC0)]
- coclass WebDatabaseManager {
- [default] interface IWebDatabaseManager;
- }
-
- [uuid(1B63D781-9BC4-4a04-899F-C4B05BBD3BE5)]
- coclass WebArchive{
- [default] interface IWebArchive;
- }
-
- [uuid(96B93356-9D61-4b3f-A6CF-A78283AC9649)]
- coclass WebCoreStatistics{
- [default] interface IWebCoreStatistics;
- }
-
- [uuid(3F35F332-BB2B-49b3-AEDD-27B317687E07)]
- coclass WebCookieManager{
- [default] interface IWebCookieManager;
- }
-
- [uuid(0967AAFF-2FFE-4fcc-81F3-3FF2A9C6DCE2)]
- coclass WebWorkersPrivate{
- [default] interface IWebWorkersPrivate;
- }
-
- [uuid(D3C301EE-D59A-49c0-A43A-9EA01CDB1590)]
- coclass WebScriptWorld {
- [default] interface IWebScriptWorld;
- }
-
- [uuid(13C45703-A3B3-8797-276B-75632F6165C3)]
- coclass WebSerializedJSValue {
- [default] interface IWebSerializedJSValue;
- }
-
- [uuid(67712611-83CF-4703-89FC-07A0E2A19C0D)]
- coclass WebGeolocationPosition {
- [default] interface IWebGeolocationPosition;
- }
-
- [uuid(2D62AE25-DEAA-4945-A76E-CCE05E899664)]
- coclass WebUserContentURLPattern {
- [default] interface IWebUserContentURLPattern;
- }
-}
diff --git a/Source/WebKit/win/Interfaces/WebScrollbarTypes.idl b/Source/WebKit/win/Interfaces/WebScrollbarTypes.idl
deleted file mode 100644
index 75f31beef..000000000
--- a/Source/WebKit/win/Interfaces/WebScrollbarTypes.idl
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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 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 DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
-#endif
-
-// NOTE: these enums must be kept in sync with the WebCore versions in ScrollTypes.h
-typedef enum WebScrollBarOrientation {
- WebHorizontalScrollbar = 0,
- WebVerticalScrollbar
-} WebScrollBarOrientation;
-
-typedef enum WebScrollBarControlSize {
- WebRegularScrollbar = 0,
- WebSmallScrollbar,
- WebMiniScrollbar
-} WebScrollBarControlSize;
-
-typedef enum WebScrollDirection {
- WebScrollUp = 0,
- WebScrollDown,
- WebScrollLeft,
- WebScrollRight
-} WebScrollDirection;
-
-typedef enum WebScrollGranularity {
- WebScrollByLine = 0,
- WebScrollByPage,
- WebScrollByDocument,
- WebScrollByWheel
-} WebScrollGranularity;
-
-typedef unsigned WebScrollbarControlState;
-
-typedef enum WebScrollbarControlStateMask {
- WebActiveScrollbarState = 1,
- WebEnabledScrollbarState = 1 << 1,
- WebPressedScrollbarState = 1 << 2,
-} WebScrollbarControlStateMask;
-
-typedef unsigned WebScrollbarControlPartMask;
-
-typedef enum WebScrollbarControlPart {
- WebNoScrollPart = 0,
- WebBackButtonPart = 1,
- WebBackTrackPart = 1 << 1,
- WebThumbPart = 1 << 2,
- WebForwardTrackPart = 1 << 3,
- WebForwardButtonPart = 1 << 4,
- WebAllParts = 0xffffffff,
-} WebScrollbarControlPart;
-
diff --git a/Source/WebKit/win/MarshallingHelpers.cpp b/Source/WebKit/win/MarshallingHelpers.cpp
deleted file mode 100644
index 6a037061f..000000000
--- a/Source/WebKit/win/MarshallingHelpers.cpp
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-#include "MarshallingHelpers.h"
-
-#include <WebCore/BString.h>
-#include <WebCore/IntRect.h>
-#include <WebCore/KURL.h>
-#include <wtf/MathExtras.h>
-#include <wtf/text/WTFString.h>
-
-using namespace WebCore;
-
-static const double secondsPerDay = 60 * 60 * 24;
-
-CFArrayCallBacks MarshallingHelpers::kIUnknownArrayCallBacks = {0, IUnknownRetainCallback, IUnknownReleaseCallback, 0, 0};
-CFDictionaryValueCallBacks MarshallingHelpers::kIUnknownDictionaryValueCallBacks = {0, IUnknownRetainCallback, IUnknownReleaseCallback, 0, 0};
-
-KURL MarshallingHelpers::BSTRToKURL(BSTR urlStr)
-{
- return KURL(KURL(), String(urlStr, SysStringLen(urlStr)));
-}
-
-BSTR MarshallingHelpers::KURLToBSTR(const KURL& url)
-{
- return BString(url.string()).release();
-}
-
-CFURLRef MarshallingHelpers::PathStringToFileCFURLRef(const String& string)
-{
- CFStringRef cfPath = CFStringCreateWithCharactersNoCopy(0, (const UniChar*)string.characters(), string.length(), kCFAllocatorNull);
- CFURLRef pathURL = CFURLCreateWithFileSystemPath(0, cfPath, kCFURLWindowsPathStyle, false);
- CFRelease(cfPath);
- return pathURL;
-}
-
-String MarshallingHelpers::FileCFURLRefToPathString(CFURLRef fileURL)
-{
- CFStringRef string = CFURLCopyFileSystemPath(fileURL, kCFURLWindowsPathStyle);
- String result(string);
- CFRelease(string);
- return result;
-}
-
-CFURLRef MarshallingHelpers::BSTRToCFURLRef(BSTR urlStr)
-{
- CFStringRef urlCFString = BSTRToCFStringRef(urlStr);
- if (!urlCFString)
- return 0;
-
- CFURLRef urlRef = CFURLCreateWithString(0, urlCFString, 0);
- CFRelease(urlCFString);
-
- return urlRef;
-}
-
-CFStringRef MarshallingHelpers::BSTRToCFStringRef(BSTR str)
-{
- return CFStringCreateWithCharacters(0, (const UniChar*)(str ? str : TEXT("")), SysStringLen(str));
-}
-
-CFStringRef MarshallingHelpers::LPCOLESTRToCFStringRef(LPCOLESTR str)
-{
- return CFStringCreateWithCharacters(0, (const UniChar*)(str ? str : TEXT("")), (CFIndex)(str ? wcslen(str) : 0));
-}
-
-BSTR MarshallingHelpers::CFStringRefToBSTR(CFStringRef str)
-{
- return BString(str).release();
-}
-
-int MarshallingHelpers::CFNumberRefToInt(CFNumberRef num)
-{
- int number;
- CFNumberGetValue(num, kCFNumberIntType, &number);
- return number;
-}
-
-CFNumberRef MarshallingHelpers::intToCFNumberRef(int num)
-{
- return CFNumberCreate(0, kCFNumberSInt32Type, &num);
-}
-
-CFAbsoluteTime MarshallingHelpers::windowsEpochAbsoluteTime()
-{
- static CFAbsoluteTime windowsEpochAbsoluteTime = 0;
- if (!windowsEpochAbsoluteTime) {
- CFGregorianDate windowsEpochDate = {1899, 12, 30, 0, 0, 0.0};
- windowsEpochAbsoluteTime = CFGregorianDateGetAbsoluteTime(windowsEpochDate, 0) / secondsPerDay;
- }
- return windowsEpochAbsoluteTime;
-}
-
-CFAbsoluteTime MarshallingHelpers::DATEToCFAbsoluteTime(DATE date)
-{
- // <http://msdn2.microsoft.com/en-us/library/ms221627.aspx>
- // DATE: This is the same numbering system used by most spreadsheet programs,
- // although some specify incorrectly that February 29, 1900 existed, and thus
- // set January 1, 1900 to 1.0. The date can be converted to and from an MS-DOS
- // representation using VariantTimeToDosDateTime, which is discussed in
- // Conversion and Manipulation Functions.
-
- // CFAbsoluteTime: Type used to represent a specific point in time relative
- // to the absolute reference date of 1 Jan 2001 00:00:00 GMT.
- // Absolute time is measured by the number of seconds between the reference
- // date and the specified date. Negative values indicate dates/times before
- // the reference date. Positive values indicate dates/times after the
- // reference date.
-
- return round((date + windowsEpochAbsoluteTime()) * secondsPerDay);
-}
-
-DATE MarshallingHelpers::CFAbsoluteTimeToDATE(CFAbsoluteTime absoluteTime)
-{
- return (round(absoluteTime)/secondsPerDay - windowsEpochAbsoluteTime());
-}
-
-// utility method to store a 1-dim string vector into a newly created SAFEARRAY
-SAFEARRAY* MarshallingHelpers::stringArrayToSafeArray(CFArrayRef inArray)
-{
- CFIndex size = CFArrayGetCount(inArray);
- SAFEARRAY* sa = ::SafeArrayCreateVectorEx(VT_BSTR, 0, (ULONG) size, 0);
- long count = 0;
- for (CFIndex i=0; i<size; i++) {
- CFStringRef item = (CFStringRef) CFArrayGetValueAtIndex(inArray, i);
- BString bstr(item);
- ::SafeArrayPutElement(sa, &count, bstr); // SafeArrayPutElement() copies the string correctly.
- count++;
- }
- return sa;
-}
-
-// utility method to store a 1-dim int vector into a newly created SAFEARRAY
-SAFEARRAY* MarshallingHelpers::intArrayToSafeArray(CFArrayRef inArray)
-{
- CFIndex size = CFArrayGetCount(inArray);
- SAFEARRAY* sa = ::SafeArrayCreateVectorEx(VT_I4, 0, (ULONG) size, 0);
- long count = 0;
- for (CFIndex i=0; i<size; i++) {
- CFNumberRef item = (CFNumberRef) CFArrayGetValueAtIndex(inArray, i);
- int number = CFNumberRefToInt(item);
- ::SafeArrayPutElement(sa, &count, &number);
- count++;
- }
- return sa;
-}
-
-SAFEARRAY* MarshallingHelpers::intRectToSafeArray(const WebCore::IntRect& rect)
-{
- SAFEARRAY* sa = ::SafeArrayCreateVectorEx(VT_I4, 0, 4, 0);
- long count = 0;
- int value;
-
- value = rect.x();
- ::SafeArrayPutElement(sa, &count, &value);
- count++;
-
- value = rect.y();
- ::SafeArrayPutElement(sa, &count, &value);
- count++;
-
- value = rect.width();
- ::SafeArrayPutElement(sa, &count, &value);
- count++;
-
- value = rect.height();
- ::SafeArrayPutElement(sa, &count, &value);
- count++;
-
- return sa;
-}
-
-// utility method to store a 1-dim IUnknown* vector into a newly created SAFEARRAY
-SAFEARRAY* MarshallingHelpers::iunknownArrayToSafeArray(CFArrayRef inArray)
-{
- CFIndex size = CFArrayGetCount(inArray);
- SAFEARRAY* sa = ::SafeArrayCreateVectorEx(VT_UNKNOWN, 0, (ULONG) size, (LPVOID)&IID_IUnknown);
- long count = 0;
- for (CFIndex i=0; i<size; i++) {
- IUnknown* item = (IUnknown*) CFArrayGetValueAtIndex(inArray, i);
- ::SafeArrayPutElement(sa, &count, item); // SafeArrayPutElement() adds a reference to the IUnknown added
- count++;
- }
- return sa;
-}
-
-CFArrayRef MarshallingHelpers::safeArrayToStringArray(SAFEARRAY* inArray)
-{
- long lBound=0, uBound=-1;
- HRESULT hr = ::SafeArrayGetLBound(inArray, 1, &lBound);
- if (SUCCEEDED(hr))
- hr = ::SafeArrayGetUBound(inArray, 1, &uBound);
- long len = (SUCCEEDED(hr)) ? (uBound-lBound+1) : 0;
- CFStringRef* items = 0;
- if (len > 0) {
- items = new CFStringRef[len];
- for (; lBound <= uBound; lBound++) {
- BString str;
- hr = ::SafeArrayGetElement(inArray, &lBound, &str);
- items[lBound] = BSTRToCFStringRef(str);
- }
- }
- CFArrayRef result = CFArrayCreate(0, (const void**)items, len, &kCFTypeArrayCallBacks);
- if (items)
- delete[] items;
- return result;
-}
-
-CFArrayRef MarshallingHelpers::safeArrayToIntArray(SAFEARRAY* inArray)
-{
- long lBound=0, uBound=-1;
- HRESULT hr = ::SafeArrayGetLBound(inArray, 1, &lBound);
- if (SUCCEEDED(hr))
- hr = ::SafeArrayGetUBound(inArray, 1, &uBound);
- long len = (SUCCEEDED(hr)) ? (uBound-lBound+1) : 0;
- CFNumberRef* items = 0;
- if (len > 0) {
- items = new CFNumberRef[len];
- for (; lBound <= uBound; lBound++) {
- int num;
- hr = ::SafeArrayGetElement(inArray, &lBound, &num);
- items[lBound] = intToCFNumberRef(num);
- }
- }
- CFArrayRef result = CFArrayCreate(0, (const void**) items, len, &kCFTypeArrayCallBacks);
- if (items)
- delete[] items;
- return result;
-}
-
-CFArrayRef MarshallingHelpers::safeArrayToIUnknownArray(SAFEARRAY* inArray)
-{
- long lBound=0, uBound=-1;
- HRESULT hr = ::SafeArrayGetLBound(inArray, 1, &lBound);
- if (SUCCEEDED(hr))
- hr = ::SafeArrayGetUBound(inArray, 1, &uBound);
- long len = (SUCCEEDED(hr)) ? (uBound-lBound+1) : 0;
- void* items;
- hr = ::SafeArrayAccessData(inArray, &items);
- CFArrayRef result = CFArrayCreate(0, (const void**) items, len, &kIUnknownArrayCallBacks);
- hr = ::SafeArrayUnaccessData(inArray);
- return result;
-}
-
-const void* MarshallingHelpers::IUnknownRetainCallback(CFAllocatorRef /*allocator*/, const void* value)
-{
- ((IUnknown*) value)->AddRef();
- return value;
-}
-
-void MarshallingHelpers::IUnknownReleaseCallback(CFAllocatorRef /*allocator*/, const void* value)
-{
- ((IUnknown*) value)->Release();
-}
diff --git a/Source/WebKit/win/MarshallingHelpers.h b/Source/WebKit/win/MarshallingHelpers.h
deleted file mode 100644
index b213fb90f..000000000
--- a/Source/WebKit/win/MarshallingHelpers.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 MarshallingHelpers_H
-#define MarshallingHelpers_H
-
-#include <wtf/Forward.h>
-#include <CoreFoundation/CoreFoundation.h>
-
-namespace WebCore {
- class IntRect;
- class KURL;
-}
-
-class MarshallingHelpers
-{
-public:
- static WebCore::KURL BSTRToKURL(BSTR);
- static BSTR KURLToBSTR(const WebCore::KURL&);
- static CFURLRef PathStringToFileCFURLRef(const WTF::String&);
- static WTF::String FileCFURLRefToPathString(CFURLRef fileURL);
- static CFURLRef BSTRToCFURLRef(BSTR);
- static CFStringRef BSTRToCFStringRef(BSTR);
- static CFStringRef LPCOLESTRToCFStringRef(LPCOLESTR);
- static BSTR CFStringRefToBSTR(CFStringRef);
- static int CFNumberRefToInt(CFNumberRef);
- static CFNumberRef intToCFNumberRef(int);
- static CFAbsoluteTime DATEToCFAbsoluteTime(DATE);
- static DATE CFAbsoluteTimeToDATE(CFAbsoluteTime);
- static SAFEARRAY* stringArrayToSafeArray(CFArrayRef);
- static SAFEARRAY* intArrayToSafeArray(CFArrayRef);
- static SAFEARRAY* intRectToSafeArray(const WebCore::IntRect&);
- static SAFEARRAY* iunknownArrayToSafeArray(CFArrayRef);
- static CFArrayRef safeArrayToStringArray(SAFEARRAY*);
- static CFArrayRef safeArrayToIntArray(SAFEARRAY*);
- static CFArrayRef safeArrayToIUnknownArray(SAFEARRAY*);
- static const void* IUnknownRetainCallback(CFAllocatorRef, const void*);
- static void IUnknownReleaseCallback(CFAllocatorRef, const void*);
- static CFArrayCallBacks kIUnknownArrayCallBacks;
- static CFDictionaryValueCallBacks kIUnknownDictionaryValueCallBacks;
-
-private:
- static CFAbsoluteTime MarshallingHelpers::windowsEpochAbsoluteTime();
-
-private:
- MarshallingHelpers();
- ~MarshallingHelpers();
-};
-
-#endif
diff --git a/Source/WebKit/win/MemoryStream.cpp b/Source/WebKit/win/MemoryStream.cpp
deleted file mode 100644
index 757e51cad..000000000
--- a/Source/WebKit/win/MemoryStream.cpp
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-#include "MemoryStream.h"
-
-using std::min;
-using namespace WebCore;
-
-// MemoryStream ---------------------------------------------------------------
-
-MemoryStream::MemoryStream(PassRefPtr<SharedBuffer> buffer)
-: m_refCount(0)
-, m_buffer(buffer)
-, m_pos(0)
-{
- gClassCount++;
- gClassNameCount.add("MemoryStream");
-}
-
-MemoryStream::~MemoryStream()
-{
- gClassCount--;
- gClassNameCount.remove("MemoryStream");
-}
-
-COMPtr<MemoryStream> MemoryStream::createInstance(PassRefPtr<SharedBuffer> buffer)
-{
- return new MemoryStream(buffer);
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE MemoryStream::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IUnknown*>(this);
- else if (IsEqualGUID(riid, IID_ISequentialStream))
- *ppvObject = static_cast<ISequentialStream*>(this);
- else if (IsEqualGUID(riid, IID_IStream))
- *ppvObject = static_cast<IStream*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE MemoryStream::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE MemoryStream::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// ISequentialStream ----------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE MemoryStream::Read(
- /* [length_is][size_is][out] */ void* pv,
- /* [in] */ ULONG cb,
- /* [out] */ ULONG* pcbRead)
-{
- *pcbRead = 0;
-
- if (!m_buffer)
- return E_FAIL;
-
- if (m_pos >= m_buffer->size())
- return S_FALSE;
-
- if (m_pos + cb < m_buffer->size())
- *pcbRead = cb;
- else
- *pcbRead = (ULONG) (m_buffer->size() - m_pos);
-
- memcpy(pv, m_buffer->data() + m_pos, *pcbRead);
- m_pos += *pcbRead;
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE MemoryStream::Write(
- /* [size_is][in] */ const void* /*pv*/,
- /* [in] */ ULONG /*cb*/,
- /* [out] */ ULONG* /*pcbWritten*/)
-{
- // we use this for read-only streams
- return STG_E_ACCESSDENIED;
-}
-
-// IStream --------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE MemoryStream::Seek(
- /* [in] */ LARGE_INTEGER dlibMove,
- /* [in] */ DWORD dwOrigin,
- /* [out] */ ULARGE_INTEGER* plibNewPosition)
-{
- if (!m_buffer)
- return E_FAIL;
-
- size_t proposedPos = m_pos;
- size_t lowPartNeg;
- switch (dwOrigin) {
- case STREAM_SEEK_SET:
- proposedPos = dlibMove.LowPart;
- if (dlibMove.HighPart)
- return E_FAIL;
- break;
- case STREAM_SEEK_CUR:
- if (!dlibMove.HighPart) {
- if (dlibMove.LowPart > (m_buffer->size() - m_pos))
- return E_FAIL;
- proposedPos += dlibMove.LowPart;
- } else if (dlibMove.HighPart == -1) {
- lowPartNeg = (~dlibMove.LowPart)+1;
- if (lowPartNeg > m_pos)
- return E_FAIL;
- proposedPos = m_pos - lowPartNeg;
- } else
- return E_FAIL;
- break;
- case STREAM_SEEK_END:
- if (dlibMove.HighPart != -1)
- return E_FAIL;
- lowPartNeg = (~dlibMove.LowPart)+1;
- if (lowPartNeg > m_buffer->size())
- return E_FAIL;
- proposedPos = m_buffer->size() - lowPartNeg;
- break;
- default:
- return E_FAIL;
- }
-
- if (proposedPos >= m_buffer->size())
- return E_FAIL;
-
- if (plibNewPosition) {
- plibNewPosition->HighPart = 0;
- plibNewPosition->LowPart = (DWORD) m_pos;
- }
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE MemoryStream::SetSize(
- /* [in] */ ULARGE_INTEGER /*libNewSize*/)
-{
- return STG_E_INVALIDFUNCTION;
-}
-
-HRESULT STDMETHODCALLTYPE MemoryStream::CopyTo(
- /* [unique][in] */ IStream* pstm,
- /* [in] */ ULARGE_INTEGER cb,
- /* [out] */ ULARGE_INTEGER* pcbRead,
- /* [out] */ ULARGE_INTEGER* pcbWritten)
-{
- if (!m_buffer)
- return E_FAIL;
- if (cb.HighPart) {
- cb.HighPart = 0;
- cb.LowPart = (DWORD)-1;
- }
-
- ULONG written;
- ULONG read = min(cb.LowPart, (ULONG)(m_buffer->size()-m_pos));
- HRESULT hr = pstm->Write(m_buffer->data()+m_pos, read, &written);
- if (pcbWritten) {
- pcbWritten->HighPart = 0;
- pcbWritten->LowPart = written;
- }
- if (pcbRead) {
- pcbRead->HighPart = 0;
- pcbRead->LowPart = read;
- }
-
- return hr;
-}
-
-HRESULT STDMETHODCALLTYPE MemoryStream::Commit(
- /* [in] */ DWORD /*grfCommitFlags*/)
-{
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE MemoryStream::Revert( void)
-{
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE MemoryStream::LockRegion(
- /* [in] */ ULARGE_INTEGER /*libOffset*/,
- /* [in] */ ULARGE_INTEGER /*cb*/,
- /* [in] */ DWORD /*dwLockType*/)
-{
- return STG_E_INVALIDFUNCTION;
-}
-
-HRESULT STDMETHODCALLTYPE MemoryStream::UnlockRegion(
- /* [in] */ ULARGE_INTEGER /*libOffset*/,
- /* [in] */ ULARGE_INTEGER /*cb*/,
- /* [in] */ DWORD /*dwLockType*/)
-{
- return STG_E_INVALIDFUNCTION;
-}
-
-HRESULT STDMETHODCALLTYPE MemoryStream::Stat(
- /* [out] */ STATSTG* pstatstg,
- /* [in] */ DWORD /*grfStatFlag*/)
-{
- if (!pstatstg)
- return E_POINTER;
-
- if (!m_buffer)
- return E_FAIL;
-
- memset(pstatstg, 0, sizeof(STATSTG));
- pstatstg->type = STGTY_STREAM;
- pstatstg->cbSize.LowPart = (DWORD) m_buffer->size();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE MemoryStream::Clone(
- /* [out] */ IStream** ppstm)
-{
- MemoryStream::createInstance(m_buffer).copyRefTo(ppstm);
- // FIXME: MSDN says we should be returning STG_E_INSUFFICIENT_MEMORY instead of E_OUTOFMEMORY here.
- return (*ppstm) ? S_OK : E_OUTOFMEMORY;
-}
diff --git a/Source/WebKit/win/MemoryStream.h b/Source/WebKit/win/MemoryStream.h
deleted file mode 100644
index 7d6e29e4d..000000000
--- a/Source/WebKit/win/MemoryStream.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 MemoryStream_H
-#define MemoryStream_H
-
-#include <objidl.h>
-
-#include <WebCore/COMPtr.h>
-#include <WebCore/SharedBuffer.h>
-#include <WTF/PassRefPtr.h>
-#include <WTF/RefPtr.h>
-
-class MemoryStream : public IStream
-{
-public:
- static COMPtr<MemoryStream> createInstance(PassRefPtr<WebCore::SharedBuffer> buffer);
-
-protected:
- MemoryStream(PassRefPtr<WebCore::SharedBuffer> buffer);
- ~MemoryStream();
-public:
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // ISequentialStream
- virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read(
- /* [length_is][size_is][out] */ void* pv,
- /* [in] */ ULONG cb,
- /* [out] */ ULONG* pcbRead);
-
- virtual /* [local] */ HRESULT STDMETHODCALLTYPE Write(
- /* [size_is][in] */ const void* pv,
- /* [in] */ ULONG cb,
- /* [out] */ ULONG* pcbWritten);
-
- // IStream
- virtual /* [local] */ HRESULT STDMETHODCALLTYPE Seek(
- /* [in] */ LARGE_INTEGER dlibMove,
- /* [in] */ DWORD dwOrigin,
- /* [out] */ ULARGE_INTEGER* plibNewPosition);
-
- virtual HRESULT STDMETHODCALLTYPE SetSize(
- /* [in] */ ULARGE_INTEGER libNewSize);
-
- virtual /* [local] */ HRESULT STDMETHODCALLTYPE CopyTo(
- /* [unique][in] */ IStream* pstm,
- /* [in] */ ULARGE_INTEGER cb,
- /* [out] */ ULARGE_INTEGER* pcbRead,
- /* [out] */ ULARGE_INTEGER* pcbWritten);
-
- virtual HRESULT STDMETHODCALLTYPE Commit(
- /* [in] */ DWORD grfCommitFlags);
-
- virtual HRESULT STDMETHODCALLTYPE Revert( void);
-
- virtual HRESULT STDMETHODCALLTYPE LockRegion(
- /* [in] */ ULARGE_INTEGER libOffset,
- /* [in] */ ULARGE_INTEGER cb,
- /* [in] */ DWORD dwLockType);
-
- virtual HRESULT STDMETHODCALLTYPE UnlockRegion(
- /* [in] */ ULARGE_INTEGER libOffset,
- /* [in] */ ULARGE_INTEGER cb,
- /* [in] */ DWORD dwLockType);
-
- virtual HRESULT STDMETHODCALLTYPE Stat(
- /* [out] */ STATSTG* pstatstg,
- /* [in] */ DWORD grfStatFlag);
-
- virtual HRESULT STDMETHODCALLTYPE Clone(
- /* [out] */ IStream** ppstm);
-
-protected:
- ULONG m_refCount;
- RefPtr<WebCore::SharedBuffer> m_buffer;
- size_t m_pos;
-};
-
-#endif
diff --git a/Source/WebKit/win/Plugins/PaintHooks.asm b/Source/WebKit/win/Plugins/PaintHooks.asm
new file mode 100644
index 000000000..150881356
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PaintHooks.asm
@@ -0,0 +1,50 @@
+;/*
+; Copyright (C) 2009 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.
+;*/
+
+;HDC __stdcall _HBeginPaint(HWND hWnd, LPPAINTSTRUCT lpPaint);
+
+PUBLIC _HBeginPaint
+
+_TEXT SEGMENT
+
+_HBeginPaint PROC
+ mov r10,rcx
+ mov eax,1017h
+ syscall
+ ret
+_HBeginPaint ENDP
+
+_TEXT ENDS
+
+;BOOL __stdcall _HEndPaint(HWND hWnd, const PAINTSTRUCT* lpPaint);
+
+PUBLIC _HEndPaint
+
+_TEXT SEGMENT
+
+_HEndPaint PROC
+ mov r10,rcx
+ mov eax,1019h
+ syscall
+ ret
+_HEndPaint ENDP
+
+_TEXT ENDS
+
+END
diff --git a/Source/WebKit/win/Plugins/PluginDatabase.cpp b/Source/WebKit/win/Plugins/PluginDatabase.cpp
new file mode 100644
index 000000000..eefcb303e
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginDatabase.cpp
@@ -0,0 +1,684 @@
+/*
+ * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora, Ltd. 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 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 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 "PluginDatabase.h"
+
+#include "Frame.h"
+#include "URL.h"
+#include "PluginPackage.h"
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+#include "FileSystem.h"
+#endif
+#include <stdlib.h>
+#include <wtf/text/CString.h>
+
+namespace WebCore {
+
+typedef HashMap<String, RefPtr<PluginPackage> > PluginPackageByNameMap;
+
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+static const size_t maximumPersistentPluginMetadataCacheSize = 32768;
+
+static bool gPersistentPluginMetadataCacheIsEnabled;
+
+String& persistentPluginMetadataCachePath()
+{
+ DEPRECATED_DEFINE_STATIC_LOCAL(String, cachePath, ());
+ return cachePath;
+}
+#endif
+
+PluginDatabase::PluginDatabase()
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+ : m_persistentMetadataCacheIsLoaded(false)
+#endif
+{
+}
+
+PluginDatabase* PluginDatabase::installedPlugins(bool populate)
+{
+ static PluginDatabase* plugins = 0;
+
+ if (!plugins) {
+ plugins = new PluginDatabase;
+
+ if (populate) {
+ plugins->setPluginDirectories(PluginDatabase::defaultPluginDirectories());
+ plugins->refresh();
+ }
+ }
+
+ return plugins;
+}
+
+bool PluginDatabase::isMIMETypeRegistered(const String& mimeType)
+{
+ if (mimeType.isNull())
+ return false;
+ if (m_registeredMIMETypes.contains(mimeType))
+ return true;
+ // No plugin was found, try refreshing the database and searching again
+ return (refresh() && m_registeredMIMETypes.contains(mimeType));
+}
+
+void PluginDatabase::addExtraPluginDirectory(const String& directory)
+{
+ m_pluginDirectories.append(directory);
+ refresh();
+}
+
+bool PluginDatabase::refresh()
+{
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+ if (!m_persistentMetadataCacheIsLoaded)
+ loadPersistentMetadataCache();
+#endif
+ bool pluginSetChanged = false;
+
+ if (!m_plugins.isEmpty()) {
+ PluginSet pluginsToUnload;
+ getDeletedPlugins(pluginsToUnload);
+
+ // Unload plugins
+ auto end = pluginsToUnload.end();
+ for (auto it = pluginsToUnload.begin(); it != end; ++it)
+ remove(it->get());
+
+ pluginSetChanged = !pluginsToUnload.isEmpty();
+ }
+
+ HashSet<String> paths;
+ getPluginPathsInDirectories(paths);
+
+ HashMap<String, time_t> pathsWithTimes;
+
+ // We should only skip unchanged files if we didn't remove any plugins above. If we did remove
+ // any plugins, we need to look at every plugin file so that, e.g., if the user has two versions
+ // of RealPlayer installed and just removed the newer one, we'll pick up the older one.
+ bool shouldSkipUnchangedFiles = !pluginSetChanged;
+
+ auto pathsEnd = paths.end();
+ for (auto it = paths.begin(); it != pathsEnd; ++it) {
+ time_t lastModified;
+ if (!getFileModificationTime(*it, lastModified))
+ continue;
+
+ pathsWithTimes.add(*it, lastModified);
+
+ // If the path's timestamp hasn't changed since the last time we ran refresh(), we don't have to do anything.
+ if (shouldSkipUnchangedFiles && m_pluginPathsWithTimes.get(*it) == lastModified)
+ continue;
+
+ if (RefPtr<PluginPackage> oldPackage = m_pluginsByPath.get(*it)) {
+ ASSERT(!shouldSkipUnchangedFiles || oldPackage->lastModified() != lastModified);
+ remove(oldPackage.get());
+ }
+
+ RefPtr<PluginPackage> package = PluginPackage::createPackage(*it, lastModified);
+ if (package && add(package.release()))
+ pluginSetChanged = true;
+ }
+
+ // Cache all the paths we found with their timestamps for next time.
+ pathsWithTimes.swap(m_pluginPathsWithTimes);
+
+ if (!pluginSetChanged)
+ return false;
+
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+ updatePersistentMetadataCache();
+#endif
+
+ m_registeredMIMETypes.clear();
+
+ // Register plug-in MIME types
+ auto end = m_plugins.end();
+ for (auto it = m_plugins.begin(); it != end; ++it) {
+ // Get MIME types
+ auto map_it = (*it)->mimeToDescriptions().begin();
+ auto map_end = (*it)->mimeToDescriptions().end();
+ for (; map_it != map_end; ++map_it)
+ m_registeredMIMETypes.add(map_it->key);
+ }
+
+ return true;
+}
+
+Vector<PluginPackage*> PluginDatabase::plugins() const
+{
+ Vector<PluginPackage*> result;
+
+ auto end = m_plugins.end();
+ for (auto it = m_plugins.begin(); it != end; ++it)
+ result.append((*it).get());
+
+ return result;
+}
+
+int PluginDatabase::preferredPluginCompare(const void* a, const void* b)
+{
+ PluginPackage* pluginA = *static_cast<PluginPackage* const*>(a);
+ PluginPackage* pluginB = *static_cast<PluginPackage* const*>(b);
+
+ return pluginA->compare(*pluginB);
+}
+
+PluginPackage* PluginDatabase::pluginForMIMEType(const String& mimeType)
+{
+ if (mimeType.isEmpty())
+ return nullptr;
+
+ PluginPackage* preferredPlugin = m_preferredPlugins.get(mimeType);
+ if (preferredPlugin
+ && preferredPlugin->isEnabled()
+ && preferredPlugin->mimeToDescriptions().contains(mimeType)) {
+ return preferredPlugin;
+ }
+
+ Vector<PluginPackage*, 2> pluginChoices;
+
+ auto end = m_plugins.end();
+ for (auto it = m_plugins.begin(); it != end; ++it) {
+ PluginPackage* plugin = (*it).get();
+
+ if (!plugin->isEnabled())
+ continue;
+
+ if (plugin->mimeToDescriptions().contains(mimeType)) {
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+ if (!plugin->ensurePluginLoaded())
+ continue;
+#endif
+ pluginChoices.append(plugin);
+ }
+ }
+
+ if (pluginChoices.isEmpty())
+ return 0;
+
+ qsort(pluginChoices.data(), pluginChoices.size(), sizeof(PluginPackage*), PluginDatabase::preferredPluginCompare);
+
+ return pluginChoices[0];
+}
+
+String PluginDatabase::MIMETypeForExtension(const String& extension) const
+{
+ if (extension.isEmpty())
+ return String();
+
+ auto end = m_plugins.end();
+ String mimeType;
+ Vector<PluginPackage*, 2> pluginChoices;
+ HashMap<PluginPackage*, String> mimeTypeForPlugin;
+
+ for (auto it = m_plugins.begin(); it != end; ++it) {
+ if (!(*it)->isEnabled())
+ continue;
+
+ auto mime_end = (*it)->mimeToExtensions().end();
+
+ for (auto mime_it = (*it)->mimeToExtensions().begin(); mime_it != mime_end; ++mime_it) {
+ mimeType = mime_it->key;
+ PluginPackage* preferredPlugin = m_preferredPlugins.get(mimeType);
+ const Vector<String>& extensions = mime_it->value;
+ bool foundMapping = false;
+ for (unsigned i = 0; i < extensions.size(); i++) {
+ if (equalIgnoringASCIICase(extensions[i], extension)) {
+ PluginPackage* plugin = (*it).get();
+
+ if (preferredPlugin && PluginPackage::equal(*plugin, *preferredPlugin))
+ return mimeType;
+
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+ if (!plugin->ensurePluginLoaded())
+ continue;
+#endif
+ pluginChoices.append(plugin);
+ mimeTypeForPlugin.add(plugin, mimeType);
+ foundMapping = true;
+ break;
+ }
+ }
+ if (foundMapping)
+ break;
+ }
+ }
+
+ if (pluginChoices.isEmpty())
+ return String();
+
+ qsort(pluginChoices.data(), pluginChoices.size(), sizeof(PluginPackage*), PluginDatabase::preferredPluginCompare);
+
+ return mimeTypeForPlugin.get(pluginChoices[0]);
+}
+
+PluginPackage* PluginDatabase::findPlugin(const URL& url, String& mimeType)
+{
+ if (!mimeType.isEmpty())
+ return pluginForMIMEType(mimeType);
+
+ String filename = url.lastPathComponent();
+ if (filename.endsWith('/'))
+ return 0;
+
+ int extensionPos = filename.reverseFind('.');
+ if (extensionPos == -1)
+ return 0;
+
+ String mimeTypeForExtension = MIMETypeForExtension(filename.substring(extensionPos + 1));
+ PluginPackage* plugin = pluginForMIMEType(mimeTypeForExtension);
+ if (!plugin) {
+ // FIXME: if no plugin could be found, query Windows for the mime type
+ // corresponding to the extension.
+ return 0;
+ }
+
+ mimeType = mimeTypeForExtension;
+ return plugin;
+}
+
+void PluginDatabase::setPreferredPluginForMIMEType(const String& mimeType, PluginPackage* plugin)
+{
+ if (!plugin || plugin->mimeToExtensions().contains(mimeType))
+ m_preferredPlugins.set(mimeType, plugin);
+}
+
+bool PluginDatabase::fileExistsAndIsNotDisabled(const String& filePath) const
+{
+ // Skip plugin files that are disabled by filename.
+ if (m_disabledPluginFiles.contains(pathGetFileName(filePath)))
+ return false;
+
+ return fileExists(filePath);
+}
+
+void PluginDatabase::getDeletedPlugins(PluginSet& plugins) const
+{
+ auto end = m_plugins.end();
+ for (auto it = m_plugins.begin(); it != end; ++it) {
+ if (!fileExistsAndIsNotDisabled((*it)->path()))
+ plugins.add(*it);
+ }
+}
+
+bool PluginDatabase::add(PassRefPtr<PluginPackage> prpPackage)
+{
+ ASSERT_ARG(prpPackage, prpPackage);
+
+ RefPtr<PluginPackage> package = prpPackage;
+
+ if (!m_plugins.add(package).isNewEntry)
+ return false;
+
+ m_pluginsByPath.add(package->path(), package);
+ return true;
+}
+
+void PluginDatabase::remove(PluginPackage* package)
+{
+ auto it = package->mimeToExtensions().begin();
+ auto end = package->mimeToExtensions().end();
+ for ( ; it != end; ++it) {
+ auto packageInMap = m_preferredPlugins.find(it->key);
+ if (packageInMap != m_preferredPlugins.end() && packageInMap->value == package)
+ m_preferredPlugins.remove(packageInMap);
+ }
+
+ m_plugins.remove(package);
+ m_pluginsByPath.remove(package->path());
+}
+
+void PluginDatabase::clear()
+{
+ m_plugins.clear();
+ m_pluginsByPath.clear();
+ m_pluginPathsWithTimes.clear();
+ m_registeredMIMETypes.clear();
+ m_preferredPlugins.clear();
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+ m_persistentMetadataCacheIsLoaded = false;
+#endif
+}
+
+bool PluginDatabase::removeDisabledPluginFile(const String& fileName)
+{
+ return m_disabledPluginFiles.remove(fileName);
+}
+
+bool PluginDatabase::addDisabledPluginFile(const String& fileName)
+{
+ return m_disabledPluginFiles.add(fileName).isNewEntry;
+}
+
+#if (!OS(WINDOWS) || !ENABLE(NETSCAPE_PLUGIN_API))
+// For Safari/Win the following three methods are implemented
+// in PluginDatabaseWin.cpp, but if we can use WebCore constructs
+// for the logic we should perhaps move it here under XP_WIN?
+
+Vector<String> PluginDatabase::defaultPluginDirectories()
+{
+ Vector<String> paths;
+
+ // Add paths specific to each platform
+#if defined(XP_UNIX)
+ String userPluginPath = homeDirectoryPath();
+ userPluginPath.append(String("/.mozilla/plugins"));
+ paths.append(userPluginPath);
+
+ userPluginPath = homeDirectoryPath();
+ userPluginPath.append(String("/.netscape/plugins"));
+ paths.append(userPluginPath);
+
+ paths.append("/usr/lib/browser/plugins");
+ paths.append("/usr/local/lib/mozilla/plugins");
+ paths.append("/usr/lib/firefox/plugins");
+ paths.append("/usr/lib64/browser-plugins");
+ paths.append("/usr/lib/browser-plugins");
+ paths.append("/usr/lib/mozilla/plugins");
+ paths.append("/usr/local/netscape/plugins");
+ paths.append("/opt/mozilla/plugins");
+ paths.append("/opt/mozilla/lib/plugins");
+ paths.append("/opt/netscape/plugins");
+ paths.append("/opt/netscape/communicator/plugins");
+ paths.append("/usr/lib/netscape/plugins");
+ paths.append("/usr/lib/netscape/plugins-libc5");
+ paths.append("/usr/lib/netscape/plugins-libc6");
+ paths.append("/usr/lib64/netscape/plugins");
+ paths.append("/usr/lib64/mozilla/plugins");
+ paths.append("/usr/lib/nsbrowser/plugins");
+ paths.append("/usr/lib64/nsbrowser/plugins");
+
+ String mozHome(getenv("MOZILLA_HOME"));
+ mozHome.append("/plugins");
+ paths.append(mozHome);
+
+ Vector<String> mozPaths;
+ String mozPath(getenv("MOZ_PLUGIN_PATH"));
+ mozPath.split(UChar(':'), /* allowEmptyEntries */ false, mozPaths);
+ paths.appendVector(mozPaths);
+#elif defined(XP_MACOSX)
+ String userPluginPath = homeDirectoryPath();
+ userPluginPath.append(String("/Library/Internet Plug-Ins"));
+ paths.append(userPluginPath);
+ paths.append("/Library/Internet Plug-Ins");
+#elif defined(XP_WIN)
+ String userPluginPath = homeDirectoryPath();
+ userPluginPath.append(String("\\Application Data\\Mozilla\\plugins"));
+ paths.append(userPluginPath);
+#endif
+
+ // Add paths specific to each port
+#if PLATFORM(QT)
+ Vector<String> qtPaths;
+ String qtPath(qgetenv("QTWEBKIT_PLUGIN_PATH").constData());
+ qtPath.split(UChar(':'), /* allowEmptyEntries */ false, qtPaths);
+ paths.appendVector(qtPaths);
+#endif
+
+ return paths;
+}
+
+bool PluginDatabase::isPreferredPluginDirectory(const String& path)
+{
+ String preferredPath = homeDirectoryPath();
+
+#if defined(XP_UNIX)
+ preferredPath.append(String("/.mozilla/plugins"));
+#elif defined(XP_MACOSX)
+ preferredPath.append(String("/Library/Internet Plug-Ins"));
+#elif defined(XP_WIN)
+ preferredPath.append(String("\\Application Data\\Mozilla\\plugins"));
+#endif
+
+ // TODO: We should normalize the path before doing a comparison.
+ return path == preferredPath;
+}
+
+void PluginDatabase::getPluginPathsInDirectories(HashSet<String>& paths) const
+{
+ // FIXME: This should be a case insensitive set.
+ HashSet<String> uniqueFilenames;
+
+#if defined(XP_UNIX)
+ String fileNameFilter("*.so");
+#else
+ String fileNameFilter("");
+#endif
+
+ auto dirsEnd = m_pluginDirectories.end();
+ for (auto dIt = m_pluginDirectories.begin(); dIt != dirsEnd; ++dIt) {
+ Vector<String> pluginPaths = listDirectory(*dIt, fileNameFilter);
+ auto pluginsEnd = pluginPaths.end();
+ for (auto pIt = pluginPaths.begin(); pIt != pluginsEnd; ++pIt) {
+ if (!fileExistsAndIsNotDisabled(*pIt))
+ continue;
+
+ paths.add(*pIt);
+ }
+ }
+}
+
+#endif // !OS(WINDOWS)
+
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+
+static void fillBufferWithContentsOfFile(PlatformFileHandle file, Vector<char>& buffer)
+{
+ size_t bufferSize = 0;
+ size_t bufferCapacity = 1024;
+ buffer.resize(bufferCapacity);
+
+ do {
+ bufferSize += readFromFile(file, buffer.data() + bufferSize, bufferCapacity - bufferSize);
+ if (bufferSize == bufferCapacity) {
+ if (bufferCapacity < maximumPersistentPluginMetadataCacheSize) {
+ bufferCapacity *= 2;
+ buffer.resize(bufferCapacity);
+ } else {
+ buffer.clear();
+ return;
+ }
+ } else
+ break;
+ } while (true);
+
+ buffer.shrink(bufferSize);
+}
+
+static bool readUTF8String(String& resultString, char*& start, const char* end)
+{
+ if (start >= end)
+ return false;
+
+ int len = strlen(start);
+ resultString = String::fromUTF8(start, len);
+ start += len + 1;
+
+ return true;
+}
+
+static bool readTime(time_t& resultTime, char*& start, const char* end)
+{
+ if (start + sizeof(time_t) >= end)
+ return false;
+
+ // The stream is not necessary aligned.
+ memcpy(&resultTime, start, sizeof(time_t));
+ start += sizeof(time_t);
+
+ return true;
+}
+
+static const char schemaVersion = '1';
+static const char persistentPluginMetadataCacheFilename[] = "PluginMetadataCache.bin";
+
+void PluginDatabase::loadPersistentMetadataCache()
+{
+ if (!isPersistentMetadataCacheEnabled() || persistentMetadataCachePath().isEmpty())
+ return;
+
+ PlatformFileHandle file;
+ String absoluteCachePath = pathByAppendingComponent(persistentMetadataCachePath(), persistentPluginMetadataCacheFilename);
+ file = openFile(absoluteCachePath, OpenForRead);
+
+ if (!isHandleValid(file))
+ return;
+
+ // Mark cache as loaded regardless of success or failure. If
+ // there's error in the cache, we won't try to load it anymore.
+ m_persistentMetadataCacheIsLoaded = true;
+
+ Vector<char> fileContents;
+ fillBufferWithContentsOfFile(file, fileContents);
+ closeFile(file);
+
+ if (fileContents.size() < 2 || fileContents.first() != schemaVersion || fileContents.last() != '\0') {
+ LOG_ERROR("Unable to read plugin metadata cache: corrupt schema");
+ deleteFile(absoluteCachePath);
+ return;
+ }
+
+ char* bufferPos = fileContents.data() + 1;
+ char* end = fileContents.data() + fileContents.size();
+
+ PluginSet cachedPlugins;
+ HashMap<String, time_t> cachedPluginPathsWithTimes;
+ HashMap<String, RefPtr<PluginPackage> > cachedPluginsByPath;
+
+ while (bufferPos < end) {
+ String path;
+ time_t lastModified;
+ String name;
+ String desc;
+ String mimeDesc;
+ if (!(readUTF8String(path, bufferPos, end)
+ && readTime(lastModified, bufferPos, end)
+ && readUTF8String(name, bufferPos, end)
+ && readUTF8String(desc, bufferPos, end)
+ && readUTF8String(mimeDesc, bufferPos, end))) {
+ LOG_ERROR("Unable to read plugin metadata cache: corrupt data");
+ deleteFile(absoluteCachePath);
+ return;
+ }
+
+ // Skip metadata that points to plugins from directories that
+ // are not part of plugin directory list anymore.
+ String pluginDirectoryName = directoryName(path);
+ if (m_pluginDirectories.find(pluginDirectoryName) == WTF::notFound)
+ continue;
+
+ RefPtr<PluginPackage> package = PluginPackage::createPackageFromCache(path, lastModified, name, desc, mimeDesc);
+
+ if (package && cachedPlugins.add(package).isNewEntry) {
+ cachedPluginPathsWithTimes.add(package->path(), package->lastModified());
+ cachedPluginsByPath.add(package->path(), package);
+ }
+ }
+
+ m_plugins.swap(cachedPlugins);
+ m_pluginsByPath.swap(cachedPluginsByPath);
+ m_pluginPathsWithTimes.swap(cachedPluginPathsWithTimes);
+}
+
+static bool writeUTF8String(PlatformFileHandle file, const String& string)
+{
+ CString utf8String = string.utf8();
+ int length = utf8String.length() + 1;
+ return writeToFile(file, utf8String.data(), length) == length;
+}
+
+static bool writeTime(PlatformFileHandle file, const time_t& time)
+{
+ return writeToFile(file, reinterpret_cast<const char*>(&time), sizeof(time_t)) == sizeof(time_t);
+}
+
+void PluginDatabase::updatePersistentMetadataCache()
+{
+ if (!isPersistentMetadataCacheEnabled() || persistentMetadataCachePath().isEmpty())
+ return;
+
+ makeAllDirectories(persistentMetadataCachePath());
+ String absoluteCachePath = pathByAppendingComponent(persistentMetadataCachePath(), persistentPluginMetadataCacheFilename);
+ deleteFile(absoluteCachePath);
+
+ if (m_plugins.isEmpty())
+ return;
+
+ PlatformFileHandle file;
+ file = openFile(absoluteCachePath, OpenForWrite);
+
+ if (!isHandleValid(file)) {
+ LOG_ERROR("Unable to open plugin metadata cache for saving");
+ return;
+ }
+
+ char localSchemaVersion = schemaVersion;
+ if (writeToFile(file, &localSchemaVersion, 1) != 1) {
+ LOG_ERROR("Unable to write plugin metadata cache schema");
+ closeFile(file);
+ deleteFile(absoluteCachePath);
+ return;
+ }
+
+ auto end = m_plugins.end();
+ for (auto it = m_plugins.begin(); it != end; ++it) {
+ if (!(writeUTF8String(file, (*it)->path())
+ && writeTime(file, (*it)->lastModified())
+ && writeUTF8String(file, (*it)->name())
+ && writeUTF8String(file, (*it)->description())
+ && writeUTF8String(file, (*it)->fullMIMEDescription()))) {
+ LOG_ERROR("Unable to write plugin metadata to cache");
+ closeFile(file);
+ deleteFile(absoluteCachePath);
+ return;
+ }
+ }
+
+ closeFile(file);
+}
+
+bool PluginDatabase::isPersistentMetadataCacheEnabled()
+{
+ return gPersistentPluginMetadataCacheIsEnabled;
+}
+
+void PluginDatabase::setPersistentMetadataCacheEnabled(bool isEnabled)
+{
+ gPersistentPluginMetadataCacheIsEnabled = isEnabled;
+}
+
+String PluginDatabase::persistentMetadataCachePath()
+{
+ return WebCore::persistentPluginMetadataCachePath();
+}
+
+void PluginDatabase::setPersistentMetadataCachePath(const String& persistentMetadataCachePath)
+{
+ WebCore::persistentPluginMetadataCachePath() = persistentMetadataCachePath;
+}
+#endif
+}
diff --git a/Source/WebKit/win/Plugins/PluginDatabase.h b/Source/WebKit/win/Plugins/PluginDatabase.h
new file mode 100644
index 000000000..eb6a84112
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginDatabase.h
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora, Ltd. All rights reserved.
+ * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
+ *
+ * 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 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 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 PluginDatabase_h
+#define PluginDatabase_h
+
+#include "PluginPackage.h"
+#include <wtf/HashSet.h>
+#include <wtf/Vector.h>
+#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+ class Element;
+ class Frame;
+ class IntSize;
+ class URL;
+ class PluginDatabaseClient;
+ class PluginPackage;
+
+ typedef HashSet<RefPtr<PluginPackage>, PluginPackageHash, PluginPackageHashTraits> PluginSet;
+
+ class PluginDatabase {
+ WTF_MAKE_NONCOPYABLE(PluginDatabase); WTF_MAKE_FAST_ALLOCATED;
+ public:
+ PluginDatabase();
+
+ // The first call to installedPlugins creates the plugin database
+ // and by default populates it with the plugins installed on the system.
+ // For testing purposes, it is possible to not populate the database
+ // automatically, as the plugins might affect the DRT results by
+ // writing to a.o. stderr.
+ static PluginDatabase* installedPlugins(bool populate = true);
+
+ bool refresh();
+ void clear();
+ Vector<PluginPackage*> plugins() const;
+ bool isMIMETypeRegistered(const String& mimeType);
+ void addExtraPluginDirectory(const String&);
+
+ static bool isPreferredPluginDirectory(const String& directory);
+ static int preferredPluginCompare(const void*, const void*);
+
+ PluginPackage* findPlugin(const URL&, String& mimeType);
+ PluginPackage* pluginForMIMEType(const String& mimeType);
+ void setPreferredPluginForMIMEType(const String& mimeType, PluginPackage* plugin);
+
+ void setPluginDirectories(const Vector<String>& directories)
+ {
+ clear();
+ m_pluginDirectories = directories;
+ }
+
+ bool removeDisabledPluginFile(const String& fileName);
+ bool addDisabledPluginFile(const String& fileName);
+ static Vector<String> defaultPluginDirectories();
+ Vector<String> pluginDirectories() const { return m_pluginDirectories; }
+
+ String MIMETypeForExtension(const String& extension) const;
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+ static bool isPersistentMetadataCacheEnabled();
+ static void setPersistentMetadataCacheEnabled(bool isEnabled);
+ static String persistentMetadataCachePath();
+ static void setPersistentMetadataCachePath(const String& persistentMetadataCachePath);
+#endif
+
+ private:
+ void getPluginPathsInDirectories(HashSet<String>&) const;
+ void getDeletedPlugins(PluginSet&) const;
+ bool fileExistsAndIsNotDisabled(const String&) const;
+
+ // Returns whether the plugin was actually added or not (it won't be added if it's a duplicate of an existing plugin).
+ bool add(PassRefPtr<PluginPackage>);
+ void remove(PluginPackage*);
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+ void loadPersistentMetadataCache();
+ void updatePersistentMetadataCache();
+#endif
+
+ HashSet<String> m_disabledPluginFiles;
+ Vector<String> m_pluginDirectories;
+ HashSet<String> m_registeredMIMETypes;
+ PluginSet m_plugins;
+ HashMap<String, RefPtr<PluginPackage> > m_pluginsByPath;
+ HashMap<String, time_t> m_pluginPathsWithTimes;
+ HashMap<String, RefPtr<PluginPackage>, ASCIICaseInsensitiveHash> m_preferredPlugins;
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+ bool m_persistentMetadataCacheIsLoaded;
+#endif
+ };
+
+} // namespace WebCore
+
+#endif
diff --git a/Source/WebKit/win/Plugins/PluginDatabaseWin.cpp b/Source/WebKit/win/Plugins/PluginDatabaseWin.cpp
new file mode 100644
index 000000000..ea272601b
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginDatabaseWin.cpp
@@ -0,0 +1,399 @@
+/*
+ * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora, Ltd. All rights reserved.
+ * Copyright (C) 2008-2009 Torch Mobile, 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 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 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 "PluginDatabase.h"
+
+#include "Frame.h"
+#include "URL.h"
+#include "PluginPackage.h"
+#include <wtf/WindowsExtras.h>
+
+namespace WebCore {
+
+static inline void addPluginPathsFromRegistry(HKEY rootKey, HashSet<String>& paths)
+{
+ HKEY key;
+ HRESULT result = RegOpenKeyExW(rootKey, L"Software\\MozillaPlugins", 0, KEY_ENUMERATE_SUB_KEYS, &key);
+
+ if (result != ERROR_SUCCESS)
+ return;
+
+ wchar_t name[128];
+ FILETIME lastModified;
+
+ // Enumerate subkeys
+ for (int i = 0;; i++) {
+ DWORD nameLen = WTF_ARRAY_LENGTH(name);
+ result = RegEnumKeyExW(key, i, name, &nameLen, 0, 0, 0, &lastModified);
+
+ if (result != ERROR_SUCCESS)
+ break;
+
+ WCHAR pathStr[_MAX_PATH];
+ DWORD pathStrSize = sizeof(pathStr);
+ DWORD type;
+
+ result = getRegistryValue(key, name, L"Path", &type, pathStr, &pathStrSize);
+ if (result != ERROR_SUCCESS || type != REG_SZ)
+ continue;
+
+ paths.add(String(pathStr, pathStrSize / sizeof(WCHAR) - 1));
+ }
+
+ RegCloseKey(key);
+}
+
+void PluginDatabase::getPluginPathsInDirectories(HashSet<String>& paths) const
+{
+ // FIXME: This should be a case insensitive set.
+ HashSet<String> uniqueFilenames;
+
+ HANDLE hFind = INVALID_HANDLE_VALUE;
+ WIN32_FIND_DATAW findFileData;
+
+ String oldWMPPluginPath;
+ String newWMPPluginPath;
+
+ Vector<String>::const_iterator end = m_pluginDirectories.end();
+ for (Vector<String>::const_iterator it = m_pluginDirectories.begin(); it != end; ++it) {
+ String pattern = *it + "\\*";
+
+ hFind = FindFirstFileW(pattern.charactersWithNullTermination().data(), &findFileData);
+
+ if (hFind == INVALID_HANDLE_VALUE)
+ continue;
+
+ do {
+ if (findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+ continue;
+
+ String filename = String(findFileData.cFileName, wcslen(findFileData.cFileName));
+ if ((!filename.startsWith("np", false) || !filename.endsWith("dll", false)) &&
+ (!equalLettersIgnoringASCIICase(filename, "plugin.dll") || !it->endsWith("Shockwave 10", false)))
+ continue;
+
+ String fullPath = *it + "\\" + filename;
+ if (!uniqueFilenames.add(fullPath).isNewEntry)
+ continue;
+
+ paths.add(fullPath);
+
+ if (equalLettersIgnoringASCIICase(filename, "npdsplay.dll"))
+ oldWMPPluginPath = fullPath;
+ else if (equalLettersIgnoringASCIICase(filename, "np-mswmp.dll"))
+ newWMPPluginPath = fullPath;
+
+ } while (FindNextFileW(hFind, &findFileData) != 0);
+
+ FindClose(hFind);
+ }
+
+ addPluginPathsFromRegistry(HKEY_LOCAL_MACHINE, paths);
+ addPluginPathsFromRegistry(HKEY_CURRENT_USER, paths);
+
+ // If both the old and new WMP plugin are present in the plugins set,
+ // we remove the old one so we don't end up choosing the old one.
+ if (!oldWMPPluginPath.isEmpty() && !newWMPPluginPath.isEmpty())
+ paths.remove(oldWMPPluginPath);
+}
+
+static inline Vector<int> parseVersionString(const String& versionString)
+{
+ Vector<int> version;
+
+ unsigned startPos = 0;
+ unsigned endPos;
+
+ while (startPos < versionString.length()) {
+ for (endPos = startPos; endPos < versionString.length(); ++endPos)
+ if (versionString[endPos] == '.' || versionString[endPos] == '_')
+ break;
+
+ int versionComponent = versionString.substring(startPos, endPos - startPos).toInt();
+ version.append(versionComponent);
+
+ startPos = endPos + 1;
+ }
+
+ return version;
+}
+
+// This returns whether versionA is higher than versionB
+static inline bool compareVersions(const Vector<int>& versionA, const Vector<int>& versionB)
+{
+ for (unsigned i = 0; i < versionA.size(); i++) {
+ if (i >= versionB.size())
+ return true;
+
+ if (versionA[i] > versionB[i])
+ return true;
+ else if (versionA[i] < versionB[i])
+ return false;
+ }
+
+ // If we come here, the versions are either the same or versionB has an extra component, just return false
+ return false;
+}
+
+static inline void addMozillaPluginDirectories(Vector<String>& directories)
+{
+ // Enumerate all Mozilla plugin directories in the registry
+ HKEY key;
+ LONG result;
+
+ result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("Software\\Mozilla"), 0, KEY_READ, &key);
+ if (result == ERROR_SUCCESS) {
+ WCHAR name[128];
+ FILETIME lastModified;
+
+ // Enumerate subkeys
+ for (int i = 0;; i++) {
+ DWORD nameLen = sizeof(name) / sizeof(WCHAR);
+ result = RegEnumKeyExW(key, i, name, &nameLen, 0, 0, 0, &lastModified);
+
+ if (result != ERROR_SUCCESS)
+ break;
+
+ String extensionsPath = String(name, nameLen) + "\\Extensions";
+ HKEY extensionsKey;
+
+ // Try opening the key
+ result = RegOpenKeyEx(key, extensionsPath.charactersWithNullTermination().data(), 0, KEY_READ, &extensionsKey);
+
+ if (result == ERROR_SUCCESS) {
+ // Now get the plugins directory
+ WCHAR pluginsDirectoryStr[_MAX_PATH];
+ DWORD pluginsDirectorySize = sizeof(pluginsDirectoryStr);
+ DWORD type;
+
+ result = RegQueryValueEx(extensionsKey, TEXT("Plugins"), 0, &type, (LPBYTE)&pluginsDirectoryStr, &pluginsDirectorySize);
+
+ if (result == ERROR_SUCCESS && type == REG_SZ)
+ directories.append(String(pluginsDirectoryStr, pluginsDirectorySize / sizeof(WCHAR) - 1));
+
+ RegCloseKey(extensionsKey);
+ }
+ }
+
+ RegCloseKey(key);
+ }
+}
+
+static inline void addWindowsMediaPlayerPluginDirectory(Vector<String>& directories)
+{
+ // The new WMP Firefox plugin is installed in \PFiles\Plugins if it can't find any Firefox installs
+ WCHAR pluginDirectoryStr[_MAX_PATH + 1];
+ DWORD pluginDirectorySize = ::ExpandEnvironmentStringsW(TEXT("%SYSTEMDRIVE%\\PFiles\\Plugins"), pluginDirectoryStr, WTF_ARRAY_LENGTH(pluginDirectoryStr));
+
+ if (pluginDirectorySize > 0 && pluginDirectorySize <= WTF_ARRAY_LENGTH(pluginDirectoryStr))
+ directories.append(String(pluginDirectoryStr, pluginDirectorySize - 1));
+
+ DWORD type;
+ WCHAR installationDirectoryStr[_MAX_PATH];
+ DWORD installationDirectorySize = sizeof(installationDirectoryStr);
+
+ HRESULT result = getRegistryValue(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\MediaPlayer", L"Installation Directory", &type, &installationDirectoryStr, &installationDirectorySize);
+
+ if (result == ERROR_SUCCESS && type == REG_SZ)
+ directories.append(String(installationDirectoryStr, installationDirectorySize / sizeof(WCHAR) - 1));
+}
+
+static inline void addAdobeAcrobatPluginDirectory(Vector<String>& directories)
+{
+ HKEY key;
+ HRESULT result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("Software\\Adobe\\Acrobat Reader"), 0, KEY_READ, &key);
+ if (result != ERROR_SUCCESS)
+ return;
+
+ WCHAR name[128];
+ FILETIME lastModified;
+
+ Vector<int> latestAcrobatVersion;
+ String latestAcrobatVersionString;
+
+ // Enumerate subkeys
+ for (int i = 0;; i++) {
+ DWORD nameLen = sizeof(name) / sizeof(WCHAR);
+ result = RegEnumKeyExW(key, i, name, &nameLen, 0, 0, 0, &lastModified);
+
+ if (result != ERROR_SUCCESS)
+ break;
+
+ Vector<int> acrobatVersion = parseVersionString(String(name, nameLen));
+ if (compareVersions(acrobatVersion, latestAcrobatVersion)) {
+ latestAcrobatVersion = acrobatVersion;
+ latestAcrobatVersionString = String(name, nameLen);
+ }
+ }
+
+ if (!latestAcrobatVersionString.isNull()) {
+ DWORD type;
+ WCHAR acrobatInstallPathStr[_MAX_PATH];
+ DWORD acrobatInstallPathSize = sizeof(acrobatInstallPathStr);
+
+ String acrobatPluginKeyPath = "Software\\Adobe\\Acrobat Reader\\" + latestAcrobatVersionString + "\\InstallPath";
+ result = getRegistryValue(HKEY_LOCAL_MACHINE, acrobatPluginKeyPath.charactersWithNullTermination().data(), 0, &type, acrobatInstallPathStr, &acrobatInstallPathSize);
+
+ if (result == ERROR_SUCCESS) {
+ String acrobatPluginDirectory = String(acrobatInstallPathStr, acrobatInstallPathSize / sizeof(WCHAR) - 1) + "\\browser";
+ directories.append(acrobatPluginDirectory);
+ }
+ }
+
+ RegCloseKey(key);
+}
+
+static inline void addJavaPluginDirectory(Vector<String>& directories)
+{
+ HKEY key;
+ HRESULT result = RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("Software\\JavaSoft\\Java Plug-in"), 0, KEY_READ, &key);
+ if (result != ERROR_SUCCESS)
+ return;
+
+ WCHAR name[128];
+ FILETIME lastModified;
+
+ Vector<int> latestJavaVersion;
+ String latestJavaVersionString;
+
+ // Enumerate subkeys
+ for (int i = 0;; i++) {
+ DWORD nameLen = sizeof(name) / sizeof(WCHAR);
+ result = RegEnumKeyExW(key, i, name, &nameLen, 0, 0, 0, &lastModified);
+
+ if (result != ERROR_SUCCESS)
+ break;
+
+ Vector<int> javaVersion = parseVersionString(String(name, nameLen));
+ if (compareVersions(javaVersion, latestJavaVersion)) {
+ latestJavaVersion = javaVersion;
+ latestJavaVersionString = String(name, nameLen);
+ }
+ }
+
+ if (!latestJavaVersionString.isEmpty()) {
+ DWORD type;
+ WCHAR javaInstallPathStr[_MAX_PATH];
+ DWORD javaInstallPathSize = sizeof(javaInstallPathStr);
+ DWORD useNewPluginValue;
+ DWORD useNewPluginSize;
+
+ String javaPluginKeyPath = "Software\\JavaSoft\\Java Plug-in\\" + latestJavaVersionString;
+ result = getRegistryValue(HKEY_LOCAL_MACHINE, javaPluginKeyPath.charactersWithNullTermination().data(), L"UseNewJavaPlugin", &type, &useNewPluginValue, &useNewPluginSize);
+
+ if (result == ERROR_SUCCESS && useNewPluginValue == 1) {
+ result = getRegistryValue(HKEY_LOCAL_MACHINE, javaPluginKeyPath.charactersWithNullTermination().data(), L"JavaHome", &type, javaInstallPathStr, &javaInstallPathSize);
+ if (result == ERROR_SUCCESS) {
+ String javaPluginDirectory = String(javaInstallPathStr, javaInstallPathSize / sizeof(WCHAR) - 1) + "\\bin\\new_plugin";
+ directories.append(javaPluginDirectory);
+ }
+ }
+ }
+
+ RegCloseKey(key);
+}
+
+static inline String safariPluginsDirectory()
+{
+ WCHAR moduleFileNameStr[_MAX_PATH];
+ static String pluginsDirectory;
+ static bool cachedPluginDirectory = false;
+
+ if (!cachedPluginDirectory) {
+ cachedPluginDirectory = true;
+
+ int moduleFileNameLen = GetModuleFileName(0, moduleFileNameStr, _MAX_PATH);
+
+ if (!moduleFileNameLen || moduleFileNameLen == _MAX_PATH)
+ goto exit;
+
+ if (!PathRemoveFileSpec(moduleFileNameStr))
+ goto exit;
+
+ pluginsDirectory = String(moduleFileNameStr) + "\\Plugins";
+ }
+exit:
+ return pluginsDirectory;
+}
+
+static inline void addMacromediaPluginDirectories(Vector<String>& directories)
+{
+ WCHAR systemDirectoryStr[MAX_PATH];
+
+ if (!GetSystemDirectory(systemDirectoryStr, WTF_ARRAY_LENGTH(systemDirectoryStr)))
+ return;
+
+ WCHAR macromediaDirectoryStr[MAX_PATH];
+
+ PathCombine(macromediaDirectoryStr, systemDirectoryStr, TEXT("macromed\\Flash"));
+ directories.append(macromediaDirectoryStr);
+
+ PathCombine(macromediaDirectoryStr, systemDirectoryStr, TEXT("macromed\\Shockwave 10"));
+ directories.append(macromediaDirectoryStr);
+}
+
+#if PLATFORM(QT)
+static inline void addQtWebKitPluginPath(Vector<String>& directories)
+{
+ Vector<String> qtPaths;
+ String qtPath(qgetenv("QTWEBKIT_PLUGIN_PATH").constData());
+ qtPath.split(UChar(';'), false, qtPaths);
+ directories.appendVector(qtPaths);
+}
+#endif
+
+Vector<String> PluginDatabase::defaultPluginDirectories()
+{
+ Vector<String> directories;
+ String ourDirectory = safariPluginsDirectory();
+
+ if (!ourDirectory.isNull())
+ directories.append(ourDirectory);
+ addAdobeAcrobatPluginDirectory(directories);
+ addMozillaPluginDirectories(directories);
+ addWindowsMediaPlayerPluginDirectory(directories);
+ addMacromediaPluginDirectories(directories);
+#if PLATFORM(QT)
+ addJavaPluginDirectory(directories);
+ addQtWebKitPluginPath(directories);
+#endif
+
+ return directories;
+}
+
+bool PluginDatabase::isPreferredPluginDirectory(const String& directory)
+{
+ String ourDirectory = safariPluginsDirectory();
+
+ if (!ourDirectory.isNull() && !directory.isNull())
+ return ourDirectory == directory;
+
+ return false;
+}
+
+}
diff --git a/Source/WebKit/win/Plugins/PluginDebug.cpp b/Source/WebKit/win/Plugins/PluginDebug.cpp
new file mode 100644
index 000000000..66d23ae67
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginDebug.cpp
@@ -0,0 +1,179 @@
+/*
+ * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
+ *
+ * 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 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 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 "PluginDebug.h"
+
+#include <wtf/text/WTFString.h>
+
+#if !LOG_DISABLED
+
+namespace WebCore {
+
+static const char* const errorStrings[] = {
+ "No errors occurred.", /* NPERR_NO_ERROR */
+ "Error with no specific error code occurred.", /* NPERR_GENERIC_ERROR */
+ "Invalid instance passed to the plug-in.", /* NPERR_INVALID_INSTANCE_ERROR */
+ "Function table invalid.", /* NPERR_INVALID_FUNCTABLE_ERROR */
+ "Loading of plug-in failed.", /* NPERR_MODULE_LOAD_FAILED_ERROR */
+ "Memory allocation failed.", /* NPERR_OUT_OF_MEMORY_ERROR */
+ "Plug-in missing or invalid.", /* NPERR_INVALID_PLUGIN_ERROR */
+ "Plug-in directory missing or invalid.", /* NPERR_INVALID_PLUGIN_DIR_ERROR */
+ "Versions of plug-in and Communicator do not match.", /* NPERR_INCOMPATIBLE_VERSION_ERROR */
+ "Parameter missing or invalid.", /* NPERR_INVALID_PARAM */
+ "URL missing or invalid.", /* NPERR_INVALID_URL */
+ "File missing or invalid.", /* NPERR_FILE_NOT_FOUND */
+ "Stream contains no data.", /* NPERR_NO_DATA */
+ "Seekable stream expected.", /* NPERR_STREAM_NOT_SEEKABLE */
+ "Unknown error code"
+};
+
+#ifdef XP_MACOSX
+static const char* const drawingModels[] = {
+ "NPDrawingModelQuickDraw",
+ "NPDrawingModelCoreGraphics",
+ "NPDrawingModelOpenGL",
+ "NPDrawingModelCoreAnimation"
+};
+
+static const char* const eventModels[] = {
+ "NPEventModelCarbon",
+ "NPEventModelCocoa"
+};
+#endif //XP_MACOSX
+
+const char* prettyNameForNPError(NPError error)
+{
+ return errorStrings[error];
+}
+
+#ifdef XP_MACOSX
+const char* prettyNameForDrawingModel(NPDrawingModel drawingModel)
+{
+ return drawingModels[drawingModel];
+}
+
+const char* prettyNameForEventModel(NPEventModel eventModel)
+{
+ return eventModels[eventModel];
+}
+#endif //XP_MACOSX
+
+CString prettyNameForNPNVariable(NPNVariable variable)
+{
+ switch (variable) {
+ case NPNVxDisplay: return "NPNVxDisplay";
+ case NPNVxtAppContext: return "NPNVxtAppContext";
+ case NPNVnetscapeWindow: return "NPNVnetscapeWindow";
+ case NPNVjavascriptEnabledBool: return "NPNVjavascriptEnabledBool";
+ case NPNVasdEnabledBool: return "NPNVasdEnabledBool";
+ case NPNVisOfflineBool: return "NPNVisOfflineBool";
+
+ case NPNVserviceManager: return "NPNVserviceManager (not supported)";
+ case NPNVDOMElement: return "NPNVDOMElement (not supported)";
+ case NPNVDOMWindow: return "NPNVDOMWindow (not supported)";
+ case NPNVToolkit: return "NPNVToolkit (not supported)";
+ case NPNVSupportsXEmbedBool: return "NPNVSupportsXEmbedBool (not supported)";
+
+ case NPNVWindowNPObject: return "NPNVWindowNPObject";
+ case NPNVPluginElementNPObject: return "NPNVPluginElementNPObject";
+ case NPNVSupportsWindowless: return "NPNVSupportsWindowless";
+ case NPNVprivateModeBool: return "NPNVprivateModeBool";
+
+#ifdef XP_MACOSX
+ case NPNVpluginDrawingModel: return "NPNVpluginDrawingModel";
+#ifndef NP_NO_QUICKDRAW
+ case NPNVsupportsQuickDrawBool: return "NPNVsupportsQuickDrawBool";
+#endif
+ case NPNVsupportsCoreGraphicsBool: return "NPNVsupportsCoreGraphicsBool";
+ case NPNVsupportsOpenGLBool: return "NPNVsupportsOpenGLBool";
+ case NPNVsupportsCoreAnimationBool: return "NPNVsupportsCoreAnimationBool";
+#ifndef NP_NO_CARBON
+ case NPNVsupportsCarbonBool: return "NPNVsupportsCarbonBool";
+#endif
+ case NPNVsupportsCocoaBool: return "NPNVsupportsCocoaBool";
+#endif
+
+ default: return "Unknown variable";
+ }
+}
+
+CString prettyNameForNPPVariable(NPPVariable variable, void* value)
+{
+ switch (variable) {
+ case NPPVpluginNameString: return "NPPVpluginNameString";
+ case NPPVpluginDescriptionString: return "NPPVpluginDescriptionString";
+ case NPPVpluginWindowBool: return "NPPVpluginWindowBool";
+ case NPPVpluginTransparentBool: return "NPPVpluginTransparentBool";
+
+ case NPPVjavaClass: return "NPPVjavaClass (not supported)";
+ case NPPVpluginWindowSize: return "NPPVpluginWindowSize (not supported)";
+ case NPPVpluginTimerInterval: return "NPPVpluginTimerInterval (not supported)";
+ case NPPVpluginScriptableInstance: return "NPPVpluginScriptableInstance (not supported)";
+ case NPPVpluginScriptableIID: return "NPPVpluginScriptableIID (not supported)";
+ case NPPVjavascriptPushCallerBool: return "NPPVjavascriptPushCallerBool (not supported)";
+ case NPPVpluginKeepLibraryInMemory: return "NPPVpluginKeepLibraryInMemory (not supported)";
+ case NPPVpluginNeedsXEmbed: return "NPPVpluginNeedsXEmbed (not supported)";
+
+ case NPPVpluginScriptableNPObject: return "NPPVpluginScriptableNPObject";
+
+ case NPPVformValue: return "NPPVformValue (not supported)";
+ case NPPVpluginUrlRequestsDisplayedBool: return "NPPVpluginUrlRequestsDisplayedBool (not supported)";
+
+ case NPPVpluginWantsAllNetworkStreams: return "NPPVpluginWantsAllNetworkStreams";
+ case NPPVpluginCancelSrcStream: return "NPPVpluginCancelSrcStream";
+
+#ifdef XP_MACOSX
+ case NPPVpluginDrawingModel: {
+ String result("NPPVpluginDrawingModel, ");
+ result.append(prettyNameForDrawingModel(NPDrawingModel(uintptr_t(value))));
+ return result.latin1();
+ }
+ case NPPVpluginEventModel: {
+ String result("NPPVpluginEventModel, ");
+ result.append(prettyNameForEventModel(NPEventModel(uintptr_t(value))));
+ return result.latin1();
+ }
+ case NPPVpluginCoreAnimationLayer: return "NPPVpluginCoreAnimationLayer";
+#else
+ UNUSED_PARAM(value);
+#endif
+
+ default: return "Unknown variable";
+ }
+}
+
+CString prettyNameForNPNURLVariable(NPNURLVariable variable)
+{
+ switch (variable) {
+ case NPNURLVCookie: return "NPNURLVCookie";
+ case NPNURLVProxy: return "NPNURLVProxy";
+ default: return "Unknown variable";
+ }
+}
+} // namespace WebCore
+
+#endif // !LOG_DISABLED
diff --git a/Source/WebKit/win/Interfaces/IWebCookieManager.idl b/Source/WebKit/win/Plugins/PluginDebug.h
index 1c87ec032..667485e90 100644
--- a/Source/WebKit/win/Interfaces/IWebCookieManager.idl
+++ b/Source/WebKit/win/Plugins/PluginDebug.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2008 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,30 +23,33 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef DO_NO_IMPORTS
-import "oaidl.idl";
-import "ocidl.idl";
+#ifndef PluginDebug_h
+#define PluginDebug_h
+
+#include "Logging.h"
+#include "npruntime_internal.h"
+#include <wtf/text/CString.h>
+
+#define LOG_NPERROR(err) if (err != NPERR_NO_ERROR) LOG_VERBOSE(Plugins, "%s\n", prettyNameForNPError(err))
+#define LOG_PLUGIN_NET_ERROR() LOG_VERBOSE(Plugins, "Stream failed due to problems with network, disk I/O, lack of memory, or other problems.\n")
+
+#if !LOG_DISABLED
+
+namespace WebCore {
+
+const char* prettyNameForNPError(NPError error);
+
+CString prettyNameForNPNVariable(NPNVariable variable);
+CString prettyNameForNPPVariable(NPPVariable variable, void* value);
+CString prettyNameForNPNURLVariable(NPNURLVariable variable);
+
+#ifdef XP_MACOSX
+const char* prettyNameForDrawingModel(NPDrawingModel drawingModel);
+const char* prettyNameForEventModel(NPEventModel eventModel);
#endif
-cpp_quote("// this is done to get midl to treat the CFHTTPCookieStorageRef as pointer types")
-cpp_quote("#if 0")
-typedef void* CFHTTPCookieStorageRef;
-cpp_quote("#else")
-cpp_quote("typedef struct OpaqueCFHTTPCookieStorage* CFHTTPCookieStorageRef;")
-cpp_quote("#endif")
-
-interface IWebCookieStorageObserver;
-
-[
- object,
- oleautomation,
- hidden,
- uuid(7053FE94-3623-444f-A298-209A90879A8C),
- pointer_default(unique)
-]
-interface IWebCookieManager : IUnknown
-{
- [local] HRESULT cookieStorage([out, retval] CFHTTPCookieStorageRef* storage);
-
- [local] HRESULT setCookieStorage([in] CFHTTPCookieStorageRef storage);
-}
+} // namespace WebCore
+
+#endif // !LOG_DISABLED
+
+#endif // PluginDebug_h
diff --git a/Source/WebKit/win/Plugins/PluginMainThreadScheduler.cpp b/Source/WebKit/win/Plugins/PluginMainThreadScheduler.cpp
new file mode 100644
index 000000000..12012e02f
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginMainThreadScheduler.cpp
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2008 Apple 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 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 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 "PluginMainThreadScheduler.h"
+
+namespace WebCore {
+
+PluginMainThreadScheduler& PluginMainThreadScheduler::scheduler()
+{
+ DEPRECATED_DEFINE_STATIC_LOCAL(PluginMainThreadScheduler, scheduler, ());
+
+ return scheduler;
+}
+
+PluginMainThreadScheduler::PluginMainThreadScheduler()
+ : m_callPending(false)
+{
+}
+
+void PluginMainThreadScheduler::scheduleCall(NPP npp, MainThreadFunction function, void* userData)
+{
+ LockHolder lock(m_queueMutex);
+
+ CallQueueMap::iterator it = m_callQueueMap.find(npp);
+ if (it == m_callQueueMap.end())
+ return;
+
+ it->value.append(Call(function, userData));
+
+ if (!m_callPending) {
+ callOnMainThread([this] {
+ dispatchCalls();
+ });
+ m_callPending = true;
+ }
+}
+
+void PluginMainThreadScheduler::registerPlugin(NPP npp)
+{
+ LockHolder lock(m_queueMutex);
+
+ ASSERT(!m_callQueueMap.contains(npp));
+ m_callQueueMap.set(npp, Deque<Call>());
+}
+
+void PluginMainThreadScheduler::unregisterPlugin(NPP npp)
+{
+ LockHolder lock(m_queueMutex);
+
+ ASSERT(m_callQueueMap.contains(npp));
+ m_callQueueMap.remove(npp);
+}
+
+void PluginMainThreadScheduler::dispatchCallsForPlugin(NPP npp, const Deque<Call>& calls)
+{
+ for (auto& call : calls) {
+ // Check if the plug-in has been destroyed.
+ {
+ LockHolder lock(m_queueMutex);
+ if (!m_callQueueMap.contains(npp))
+ return;
+ }
+
+ call.performCall();
+ }
+}
+
+void PluginMainThreadScheduler::dispatchCalls()
+{
+ m_queueMutex.lock();
+ CallQueueMap copy(m_callQueueMap);
+
+ // Empty all the queues in the original map
+ for (auto& call : m_callQueueMap.values())
+ call.clear();
+
+ m_callPending = false;
+ m_queueMutex.unlock();
+
+ for (auto& entry : copy)
+ dispatchCallsForPlugin(entry.key, entry.value);
+}
+
+} // namespace WebCore
diff --git a/Source/WebKit/win/Plugins/PluginMainThreadScheduler.h b/Source/WebKit/win/Plugins/PluginMainThreadScheduler.h
new file mode 100644
index 000000000..926b4bcd1
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginMainThreadScheduler.h
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2008 Apple 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 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 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 PluginMainThreadScheduler_h
+#define PluginMainThreadScheduler_h
+
+#include <wtf/Deque.h>
+#include <wtf/HashMap.h>
+#include <wtf/Lock.h>
+#include <wtf/MainThread.h>
+#include <wtf/Threading.h>
+
+typedef struct _NPP NPP_t;
+typedef NPP_t* NPP;
+
+namespace WebCore {
+
+class PluginMainThreadScheduler {
+ WTF_MAKE_NONCOPYABLE(PluginMainThreadScheduler); WTF_MAKE_FAST_ALLOCATED;
+public:
+ typedef void MainThreadFunction(void*);
+
+ WEBCORE_EXPORT static PluginMainThreadScheduler& scheduler();
+
+ WEBCORE_EXPORT void scheduleCall(NPP, MainThreadFunction*, void* userData);
+
+ WEBCORE_EXPORT void registerPlugin(NPP);
+ WEBCORE_EXPORT void unregisterPlugin(NPP);
+
+private:
+ PluginMainThreadScheduler();
+ void dispatchCalls();
+
+ class Call;
+
+ void dispatchCallsForPlugin(NPP, const Deque<Call>& calls);
+ typedef HashMap<NPP, Deque<Call>> CallQueueMap;
+
+ class Call {
+ public:
+ Call(MainThreadFunction* function, void* userData)
+ : m_function(function)
+ , m_userData(userData)
+ {
+ }
+
+ void performCall() const
+ {
+ m_function(m_userData);
+ }
+
+ private:
+ MainThreadFunction* m_function;
+ void* m_userData;
+ };
+
+ bool m_callPending;
+ CallQueueMap m_callQueueMap;
+ Lock m_queueMutex;
+};
+
+} // namespace WebCore
+
+#endif // PluginMainThreadScheduler_h
diff --git a/Source/WebKit/win/Plugins/PluginMessageThrottlerWin.cpp b/Source/WebKit/win/Plugins/PluginMessageThrottlerWin.cpp
new file mode 100644
index 000000000..a53c315c2
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginMessageThrottlerWin.cpp
@@ -0,0 +1,151 @@
+/*
+ * Copyright (C) 2006, 2007, 2008 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2008 Collabora, Ltd. 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 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 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 "PluginMessageThrottlerWin.h"
+
+#include "PluginView.h"
+#include <wtf/ASCIICType.h>
+#include <wtf/CurrentTime.h>
+
+using namespace WTF;
+
+namespace WebCore {
+
+// Set a timer to make sure we process any queued messages at least every 16ms.
+// This value allows Flash 60 messages/second, which should be enough for video
+// playback, and also gets us over the limit for kicking into high-resolution
+// timer mode (see SharedTimerWin.cpp).
+static const double MessageThrottleTimeInterval = 0.016;
+
+// During a continuous stream of messages, process one every 5ms.
+static const double MessageDirectProcessingInterval = 0.005;
+
+PluginMessageThrottlerWin::PluginMessageThrottlerWin(PluginView* pluginView)
+ : m_pluginView(pluginView)
+ , m_back(0)
+ , m_front(0)
+ , m_messageThrottleTimer(*this, &PluginMessageThrottlerWin::messageThrottleTimerFired)
+ , m_lastMessageTime(0)
+{
+ // Initialize the free list with our inline messages
+ for (unsigned i = 0; i < NumInlineMessages - 1; i++)
+ m_inlineMessages[i].next = &m_inlineMessages[i + 1];
+ m_inlineMessages[NumInlineMessages - 1].next = 0;
+ m_freeInlineMessages = &m_inlineMessages[0];
+}
+
+PluginMessageThrottlerWin::~PluginMessageThrottlerWin()
+{
+ PluginMessage* next;
+
+ for (PluginMessage* message = m_front; message; message = next) {
+ next = message->next;
+ freeMessage(message);
+ }
+}
+
+void PluginMessageThrottlerWin::appendMessage(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
+{
+ PluginMessage* message = allocateMessage();
+
+ message->hWnd = hWnd;
+ message->msg = msg;
+ message->wParam = wParam;
+ message->lParam = lParam;
+ message->next = 0;
+
+ if (m_back)
+ m_back->next = message;
+ m_back = message;
+ if (!m_front)
+ m_front = message;
+
+ // If it has been more than MessageDirectProcessingInterval between throttled messages,
+ // go ahead and process a message directly.
+ double currentTime = monotonicallyIncreasingTime();
+ if (currentTime - m_lastMessageTime > MessageDirectProcessingInterval) {
+ processQueuedMessage();
+ m_lastMessageTime = currentTime;
+ if (!m_front)
+ return;
+ }
+
+ if (!m_messageThrottleTimer.isActive())
+ m_messageThrottleTimer.startOneShot(MessageThrottleTimeInterval);
+}
+
+void PluginMessageThrottlerWin::processQueuedMessage()
+{
+ PluginMessage* message = m_front;
+ m_front = m_front->next;
+ if (message == m_back)
+ m_back = 0;
+
+ // Protect the PluginView from destruction while calling its window proc.
+ // <rdar://problem/6930280>
+ RefPtr<PluginView> protect(m_pluginView);
+ ::CallWindowProc(m_pluginView->pluginWndProc(), message->hWnd, message->msg, message->wParam, message->lParam);
+
+ freeMessage(message);
+}
+
+void PluginMessageThrottlerWin::messageThrottleTimerFired()
+{
+ processQueuedMessage();
+
+ if (m_front)
+ m_messageThrottleTimer.startOneShot(MessageThrottleTimeInterval);
+}
+
+PluginMessage* PluginMessageThrottlerWin::allocateMessage()
+{
+ PluginMessage *message;
+
+ if (m_freeInlineMessages) {
+ message = m_freeInlineMessages;
+ m_freeInlineMessages = message->next;
+ } else
+ message = new PluginMessage;
+
+ return message;
+}
+
+bool PluginMessageThrottlerWin::isInlineMessage(PluginMessage* message)
+{
+ return message >= &m_inlineMessages[0] && message <= &m_inlineMessages[NumInlineMessages - 1];
+}
+
+void PluginMessageThrottlerWin::freeMessage(PluginMessage* message)
+{
+ if (isInlineMessage(message)) {
+ message->next = m_freeInlineMessages;
+ m_freeInlineMessages = message;
+ } else
+ delete message;
+}
+
+} // namespace WebCore
diff --git a/Source/WebKit/mac/History/HistoryPropertyList.h b/Source/WebKit/win/Plugins/PluginMessageThrottlerWin.h
index e2bf35acc..7c5103083 100644
--- a/Source/WebKit/mac/History/HistoryPropertyList.h
+++ b/Source/WebKit/win/Plugins/PluginMessageThrottlerWin.h
@@ -1,5 +1,6 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2006, 2007, 2008 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2008 Collabora, Ltd. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -20,48 +21,54 @@
* 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef HistoryPropertyList_h
-#define HistoryPropertyList_h
+#ifndef PluginMessageThrottlerWin_h
+#define PluginMessageThrottlerWin_h
-#include "BinaryPropertyList.h"
-#include <wtf/RetainPtr.h>
-#include <wtf/text/WTFString.h>
+#include "Timer.h"
+
+#include <windows.h>
namespace WebCore {
-class HistoryItem;
-}
+ class PluginView;
+
+ struct PluginMessage {
+ HWND hWnd;
+ UINT msg;
+ WPARAM wParam;
+ LPARAM lParam;
+
+ struct PluginMessage* next;
+ };
-class HistoryPropertyListWriter : public BinaryPropertyListWriter {
-public:
- RetainPtr<CFDataRef> releaseData();
+ class PluginMessageThrottlerWin {
+ public:
+ PluginMessageThrottlerWin(PluginView*);
+ ~PluginMessageThrottlerWin();
-protected:
- HistoryPropertyListWriter();
+ void appendMessage(HWND, UINT msg, WPARAM, LPARAM);
- void writeHistoryItem(BinaryPropertyListObjectStream&, WebCore::HistoryItem*);
+ private:
+ void processQueuedMessage();
+ void messageThrottleTimerFired();
+ PluginMessage* allocateMessage();
+ bool isInlineMessage(PluginMessage* message);
+ void freeMessage(PluginMessage* message);
-private:
- virtual void writeHistoryItems(BinaryPropertyListObjectStream&) = 0;
+ PluginView* m_pluginView;
+ PluginMessage* m_back;
+ PluginMessage* m_front;
- virtual void writeObjects(BinaryPropertyListObjectStream&);
- virtual UInt8* buffer(size_t);
+ static const int NumInlineMessages = 4;
+ PluginMessage m_inlineMessages[NumInlineMessages];
+ PluginMessage* m_freeInlineMessages;
- const String m_dailyVisitCountsKey;
- const String m_displayTitleKey;
- const String m_lastVisitWasFailureKey;
- const String m_lastVisitWasHTTPNonGetKey;
- const String m_lastVisitedDateKey;
- const String m_redirectURLsKey;
- const String m_titleKey;
- const String m_urlKey;
- const String m_visitCountKey;
- const String m_weeklyVisitCountsKey;
+ Timer m_messageThrottleTimer;
+ double m_lastMessageTime;
+ };
- UInt8* m_buffer;
- size_t m_bufferSize;
-};
+} // namespace WebCore
-#endif // HistoryPropertyList_h
+#endif // PluginMessageThrottlerWin_h
diff --git a/Source/WebKit/win/Plugins/PluginPackage.cpp b/Source/WebKit/win/Plugins/PluginPackage.cpp
new file mode 100644
index 000000000..c79f41e15
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginPackage.cpp
@@ -0,0 +1,488 @@
+/*
+ * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora Ltd. All rights reserved.
+ * Copyright (C) 2009 Holger Hans Peter Freyther
+ *
+ * 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 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 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 "PluginPackage.h"
+
+#include "PluginDatabase.h"
+#include "PluginDebug.h"
+#include "PluginView.h"
+#include <JavaScriptCore/Completion.h>
+#include <JavaScriptCore/JSGlobalObject.h>
+#include <WebCore/IdentifierRep.h>
+#include <WebCore/MIMETypeRegistry.h>
+#include <WebCore/NP_jsobject.h>
+#include <WebCore/Timer.h>
+#include <WebCore/c_utility.h>
+#include <WebCore/npruntime_impl.h>
+#include <WebCore/runtime_root.h>
+#include <string.h>
+#include <wtf/text/CString.h>
+
+namespace WebCore {
+
+PluginPackage::~PluginPackage()
+{
+ // This destructor gets called during refresh() if PluginDatabase's
+ // PluginSet hash is already populated, as it removes items from
+ // the hash table. Calling the destructor on a loaded plug-in of
+ // course would cause a crash, so we check to call unload before we
+ // ASSERT.
+ // FIXME: There is probably a better way to fix this.
+ if (!m_loadCount)
+ unloadWithoutShutdown();
+ else
+ unload();
+
+ ASSERT(!m_isLoaded);
+}
+
+void PluginPackage::freeLibrarySoon()
+{
+ ASSERT(!m_freeLibraryTimer.isActive());
+ ASSERT(m_module);
+ ASSERT(!m_loadCount);
+
+ m_freeLibraryTimer.startOneShot(0);
+}
+
+void PluginPackage::freeLibraryTimerFired()
+{
+ ASSERT(m_module);
+ // Do nothing if the module got loaded again meanwhile
+ if (!m_loadCount) {
+ unloadModule(m_module);
+ m_module = 0;
+ }
+}
+
+
+int PluginPackage::compare(const PluginPackage& compareTo) const
+{
+ // Sort plug-ins that allow multiple instances first.
+ bool AallowsMultipleInstances = !quirks().contains(PluginQuirkDontAllowMultipleInstances);
+ bool BallowsMultipleInstances = !compareTo.quirks().contains(PluginQuirkDontAllowMultipleInstances);
+ if (AallowsMultipleInstances != BallowsMultipleInstances)
+ return AallowsMultipleInstances ? -1 : 1;
+
+ // Sort plug-ins in a preferred path first.
+ bool AisInPreferredDirectory = PluginDatabase::isPreferredPluginDirectory(parentDirectory());
+ bool BisInPreferredDirectory = PluginDatabase::isPreferredPluginDirectory(compareTo.parentDirectory());
+ if (AisInPreferredDirectory != BisInPreferredDirectory)
+ return AisInPreferredDirectory ? -1 : 1;
+
+ int diff = strcmp(name().utf8().data(), compareTo.name().utf8().data());
+ if (diff)
+ return diff;
+
+ diff = compareFileVersion(compareTo.version());
+ if (diff)
+ return diff;
+
+ return strcmp(parentDirectory().utf8().data(), compareTo.parentDirectory().utf8().data());
+}
+
+PluginPackage::PluginPackage(const String& path, const time_t& lastModified)
+ : m_isEnabled(true)
+ , m_isLoaded(false)
+ , m_loadCount(0)
+ , m_path(path)
+ , m_moduleVersion(0)
+ , m_module(0)
+ , m_lastModified(lastModified)
+ , m_freeLibraryTimer(*this, &PluginPackage::freeLibraryTimerFired)
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+ , m_infoIsFromCache(true)
+#endif
+{
+ m_fileName = pathGetFileName(m_path);
+ m_parentDirectory = m_path.left(m_path.length() - m_fileName.length() - 1);
+}
+
+void PluginPackage::unload()
+{
+ if (!m_isLoaded)
+ return;
+
+ if (--m_loadCount > 0)
+ return;
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ m_NPP_Shutdown();
+#endif
+
+ unloadWithoutShutdown();
+}
+
+void PluginPackage::unloadWithoutShutdown()
+{
+ if (!m_isLoaded)
+ return;
+
+ ASSERT(!m_loadCount);
+ ASSERT(m_module);
+
+ // <rdar://5530519>: Crash when closing tab with pdf file (Reader 7 only)
+ // If the plugin has subclassed its parent window, as with Reader 7, we may have
+ // gotten here by way of the plugin's internal window proc forwarding a message to our
+ // original window proc. If we free the plugin library from here, we will jump back
+ // to code we just freed when we return, so delay calling FreeLibrary at least until
+ // the next message loop
+ freeLibrarySoon();
+
+ m_isLoaded = false;
+}
+
+void PluginPackage::setEnabled(bool enabled)
+{
+ m_isEnabled = enabled;
+}
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+PassRefPtr<PluginPackage> PluginPackage::createPackage(const String& path, const time_t& lastModified)
+{
+ RefPtr<PluginPackage> package = adoptRef(new PluginPackage(path, lastModified));
+
+ if (!package->fetchInfo())
+ return 0;
+
+ return package.release();
+}
+#endif
+
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+PassRefPtr<PluginPackage> PluginPackage::createPackageFromCache(const String& path, const time_t& lastModified, const String& name, const String& description, const String& mimeDescription)
+{
+ RefPtr<PluginPackage> package = adoptRef(new PluginPackage(path, lastModified));
+ package->m_name = name;
+ package->m_description = description;
+ package->determineModuleVersionFromDescription();
+ package->setMIMEDescription(mimeDescription);
+ package->m_infoIsFromCache = true;
+ return package.release();
+}
+#endif
+
+#if defined(XP_UNIX)
+void PluginPackage::determineQuirks(const String& mimeType)
+{
+ if (MIMETypeRegistry::isJavaAppletMIMEType(mimeType)) {
+ // Because a single process cannot create multiple VMs, and we cannot reliably unload a
+ // Java VM, we cannot unload the Java plugin, or we'll lose reference to our only VM
+ m_quirks.add(PluginQuirkDontUnloadPlugin);
+
+ // Setting the window region to an empty region causes bad scrolling repaint problems
+ // with the Java plug-in.
+ m_quirks.add(PluginQuirkDontClipToZeroRectWhenScrolling);
+ return;
+ }
+
+ if (mimeType == "application/x-shockwave-flash") {
+ static const PlatformModuleVersion flashTenVersion(0x0a000000);
+
+ if (compareFileVersion(flashTenVersion) >= 0) {
+ // Flash 10.0 b218 doesn't like having a NULL window handle
+ m_quirks.add(PluginQuirkDontSetNullWindowHandleOnDestroy);
+#if PLATFORM(QT)
+ m_quirks.add(PluginQuirkRequiresGtkToolKit);
+#endif
+ } else {
+ // Flash 9 and older requests windowless plugins if we return a mozilla user agent
+ m_quirks.add(PluginQuirkWantsMozillaUserAgent);
+ }
+
+#if PLATFORM(QT)
+ // Flash will crash on repeated calls to SetWindow in windowed mode
+ m_quirks.add(PluginQuirkDontCallSetWindowMoreThanOnce);
+#endif
+
+#if CPU(X86_64)
+ // 64-bit Flash freezes if right-click is sent in windowless mode
+ m_quirks.add(PluginQuirkIgnoreRightClickInWindowlessMode);
+#endif
+
+ m_quirks.add(PluginQuirkRequiresDefaultScreenDepth);
+ m_quirks.add(PluginQuirkThrottleInvalidate);
+ m_quirks.add(PluginQuirkThrottleWMUserPlusOneMessages);
+ m_quirks.add(PluginQuirkFlashURLNotifyBug);
+ }
+}
+#endif
+
+#if !OS(WINDOWS)
+void PluginPackage::determineModuleVersionFromDescription()
+{
+ // It's a bit lame to detect the plugin version by parsing it
+ // from the plugin description string, but it doesn't seem that
+ // version information is available in any standardized way at
+ // the module level, like in Windows
+
+ if (m_description.isEmpty())
+ return;
+
+ if (m_description.startsWith("Shockwave Flash") && m_description.length() >= 19) {
+ // The flash version as a PlatformModuleVersion differs on Unix from Windows
+ // since the revision can be larger than a 8 bits, so we allow it 16 here and
+ // push the major/minor up 8 bits. Thus on Unix, Flash's version may be
+ // 0x0a000000 instead of 0x000a0000.
+
+ Vector<String> versionParts;
+ m_description.substring(16).split(' ', /*allowEmptyEntries =*/ false, versionParts);
+ if (versionParts.isEmpty())
+ return;
+
+ if (versionParts.size() >= 1) {
+ Vector<String> majorMinorParts;
+ versionParts[0].split('.', majorMinorParts);
+ if (majorMinorParts.size() >= 1) {
+ bool converted = false;
+ unsigned major = majorMinorParts[0].toUInt(&converted);
+ if (converted)
+ m_moduleVersion = (major & 0xff) << 24;
+ }
+ if (majorMinorParts.size() == 2) {
+ bool converted = false;
+ unsigned minor = majorMinorParts[1].toUInt(&converted);
+ if (converted)
+ m_moduleVersion |= (minor & 0xff) << 16;
+ }
+ }
+
+ if (versionParts.size() >= 2) {
+ String revision = versionParts[1];
+ if (revision.length() > 1 && (revision[0] == 'r' || revision[0] == 'b')) {
+ revision.remove(0, 1);
+ m_moduleVersion |= revision.toInt() & 0xffff;
+ }
+ }
+ }
+}
+#endif
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+static void getListFromVariantArgs(JSC::ExecState* exec, const NPVariant* args, unsigned argCount, JSC::Bindings::RootObject* rootObject, JSC::MarkedArgumentBuffer& aList)
+{
+ for (unsigned i = 0; i < argCount; ++i)
+ aList.append(JSC::Bindings::convertNPVariantToValue(exec, &args[i], rootObject));
+}
+
+static inline JSC::SourceCode makeSource(const String& source, const String& url = String(), const TextPosition& startPosition = TextPosition::minimumPosition())
+{
+ return JSC::SourceCode(JSC::StringSourceProvider::create(source, url, startPosition), startPosition.m_line.oneBasedInt(), startPosition.m_column.oneBasedInt());
+}
+
+static bool NPN_Evaluate(NPP instance, NPObject* o, NPString* s, NPVariant* variant)
+{
+ if (o->_class == NPScriptObjectClass) {
+ JavaScriptObject* obj = reinterpret_cast<JavaScriptObject*>(o);
+
+ JSC::Bindings::RootObject* rootObject = obj->rootObject;
+ if (!rootObject || !rootObject->isValid())
+ return false;
+
+ // There is a crash in Flash when evaluating a script that destroys the
+ // PluginView, so we destroy it asynchronously.
+ PluginView::keepAlive(instance);
+
+ JSC::ExecState* exec = rootObject->globalObject()->globalExec();
+ JSC::JSLockHolder lock(exec);
+ String scriptString = JSC::Bindings::convertNPStringToUTF16(s);
+
+ JSC::JSValue returnValue = JSC::evaluate(rootObject->globalObject()->globalExec(), makeSource(scriptString), JSC::JSValue());
+
+ JSC::Bindings::convertValueToNPVariant(exec, returnValue, variant);
+ exec->clearException();
+ return true;
+ }
+
+ VOID_TO_NPVARIANT(*variant);
+ return false;
+}
+
+static bool NPN_Invoke(NPP npp, NPObject* o, NPIdentifier methodName, const NPVariant* args, uint32_t argCount, NPVariant* result)
+{
+ if (o->_class == NPScriptObjectClass) {
+ JavaScriptObject* obj = reinterpret_cast<JavaScriptObject*>(o);
+
+ IdentifierRep* i = static_cast<IdentifierRep*>(methodName);
+ if (!i->isString())
+ return false;
+
+ // Special case the "eval" method.
+ if (methodName == _NPN_GetStringIdentifier("eval")) {
+ if (argCount != 1)
+ return false;
+ if (args[0].type != NPVariantType_String)
+ return false;
+ return WebCore::NPN_Evaluate(npp, o, const_cast<NPString*>(&args[0].value.stringValue), result);
+ }
+
+ // Look up the function object.
+ JSC::Bindings::RootObject* rootObject = obj->rootObject;
+ if (!rootObject || !rootObject->isValid())
+ return false;
+ JSC::ExecState* exec = rootObject->globalObject()->globalExec();
+ JSC::JSLockHolder lock(exec);
+ JSC::JSValue function = obj->imp->get(exec, JSC::Bindings::identifierFromNPIdentifier(exec, i->string()));
+ JSC::CallData callData;
+ JSC::CallType callType = getCallData(function, callData);
+ if (callType == JSC::CallTypeNone)
+ return false;
+
+ // Call the function object.
+ JSC::MarkedArgumentBuffer argList;
+ getListFromVariantArgs(exec, args, argCount, rootObject, argList);
+ JSC::JSValue resultV = JSC::call(exec, function, callType, callData, obj->imp, argList);
+
+ // Convert and return the result of the function call.
+ JSC::Bindings::convertValueToNPVariant(exec, resultV, result);
+ exec->clearException();
+ return true;
+ }
+
+ if (o->_class->invoke)
+ return o->_class->invoke(o, methodName, args, argCount, result);
+
+ VOID_TO_NPVARIANT(*result);
+ return true;
+}
+
+void PluginPackage::initializeBrowserFuncs()
+{
+ memset(&m_browserFuncs, 0, sizeof(m_browserFuncs));
+ m_browserFuncs.size = sizeof(m_browserFuncs);
+ m_browserFuncs.version = NPVersion();
+
+ m_browserFuncs.geturl = NPN_GetURL;
+ m_browserFuncs.posturl = NPN_PostURL;
+ m_browserFuncs.requestread = NPN_RequestRead;
+ m_browserFuncs.newstream = NPN_NewStream;
+ m_browserFuncs.write = NPN_Write;
+ m_browserFuncs.destroystream = NPN_DestroyStream;
+ m_browserFuncs.status = NPN_Status;
+ m_browserFuncs.uagent = NPN_UserAgent;
+ m_browserFuncs.memalloc = NPN_MemAlloc;
+ m_browserFuncs.memfree = NPN_MemFree;
+ m_browserFuncs.memflush = NPN_MemFlush;
+ m_browserFuncs.reloadplugins = NPN_ReloadPlugins;
+ m_browserFuncs.geturlnotify = NPN_GetURLNotify;
+ m_browserFuncs.posturlnotify = NPN_PostURLNotify;
+ m_browserFuncs.getvalue = NPN_GetValue;
+ m_browserFuncs.setvalue = NPN_SetValue;
+ m_browserFuncs.invalidaterect = NPN_InvalidateRect;
+ m_browserFuncs.invalidateregion = NPN_InvalidateRegion;
+ m_browserFuncs.forceredraw = NPN_ForceRedraw;
+ m_browserFuncs.getJavaEnv = NPN_GetJavaEnv;
+ m_browserFuncs.getJavaPeer = NPN_GetJavaPeer;
+ m_browserFuncs.pushpopupsenabledstate = NPN_PushPopupsEnabledState;
+ m_browserFuncs.poppopupsenabledstate = NPN_PopPopupsEnabledState;
+ m_browserFuncs.pluginthreadasynccall = NPN_PluginThreadAsyncCall;
+
+ m_browserFuncs.releasevariantvalue = _NPN_ReleaseVariantValue;
+ m_browserFuncs.getstringidentifier = _NPN_GetStringIdentifier;
+ m_browserFuncs.getstringidentifiers = _NPN_GetStringIdentifiers;
+ m_browserFuncs.getintidentifier = _NPN_GetIntIdentifier;
+ m_browserFuncs.identifierisstring = _NPN_IdentifierIsString;
+ m_browserFuncs.utf8fromidentifier = _NPN_UTF8FromIdentifier;
+ m_browserFuncs.intfromidentifier = _NPN_IntFromIdentifier;
+ m_browserFuncs.createobject = _NPN_CreateObject;
+ m_browserFuncs.retainobject = _NPN_RetainObject;
+ m_browserFuncs.releaseobject = _NPN_ReleaseObject;
+ m_browserFuncs.invoke = WebCore::NPN_Invoke;
+ m_browserFuncs.invokeDefault = _NPN_InvokeDefault;
+ m_browserFuncs.evaluate = WebCore::NPN_Evaluate;
+ m_browserFuncs.getproperty = _NPN_GetProperty;
+ m_browserFuncs.setproperty = _NPN_SetProperty;
+ m_browserFuncs.removeproperty = _NPN_RemoveProperty;
+ m_browserFuncs.hasproperty = _NPN_HasProperty;
+ m_browserFuncs.hasmethod = _NPN_HasMethod;
+ m_browserFuncs.setexception = _NPN_SetException;
+ m_browserFuncs.enumerate = _NPN_Enumerate;
+ m_browserFuncs.construct = _NPN_Construct;
+ m_browserFuncs.getvalueforurl = NPN_GetValueForURL;
+ m_browserFuncs.setvalueforurl = NPN_SetValueForURL;
+ m_browserFuncs.getauthenticationinfo = NPN_GetAuthenticationInfo;
+
+ m_browserFuncs.popupcontextmenu = NPN_PopUpContextMenu;
+}
+#endif // ENABLE(NETSCAPE_PLUGIN_API)
+
+#if ENABLE(PLUGIN_PACKAGE_SIMPLE_HASH)
+unsigned PluginPackage::hash() const
+{
+ struct HashCodes {
+ unsigned hash;
+ time_t modifiedDate;
+ } hashCodes;
+
+ hashCodes.hash = m_path.impl()->hash();
+ hashCodes.modifiedDate = m_lastModified;
+
+ return StringHasher::hashMemory<sizeof(hashCodes)>(&hashCodes);
+}
+
+bool PluginPackage::equal(const PluginPackage& a, const PluginPackage& b)
+{
+ return a.m_description == b.m_description;
+}
+#endif
+
+int PluginPackage::compareFileVersion(const PlatformModuleVersion& compareVersion) const
+{
+ // return -1, 0, or 1 if plug-in version is less than, equal to, or greater than
+ // the passed version
+
+#if OS(WINDOWS)
+ if (m_moduleVersion.mostSig != compareVersion.mostSig)
+ return m_moduleVersion.mostSig > compareVersion.mostSig ? 1 : -1;
+ if (m_moduleVersion.leastSig != compareVersion.leastSig)
+ return m_moduleVersion.leastSig > compareVersion.leastSig ? 1 : -1;
+#else
+ if (m_moduleVersion != compareVersion)
+ return m_moduleVersion > compareVersion ? 1 : -1;
+#endif
+
+ return 0;
+}
+
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+bool PluginPackage::ensurePluginLoaded()
+{
+ if (!m_infoIsFromCache)
+ return m_isLoaded;
+
+ m_quirks = PluginQuirkSet();
+ m_name = String();
+ m_description = String();
+ m_fullMIMEDescription = String();
+ m_moduleVersion = 0;
+
+ return fetchInfo();
+}
+#endif
+
+}
diff --git a/Source/WebKit/win/Plugins/PluginPackage.h b/Source/WebKit/win/Plugins/PluginPackage.h
new file mode 100644
index 000000000..d76eafd57
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginPackage.h
@@ -0,0 +1,150 @@
+/*
+ * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora, Ltd. 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 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 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 PluginPackage_h
+#define PluginPackage_h
+
+#include "FileSystem.h"
+#include "PluginQuirkSet.h"
+#include "Timer.h"
+#if ENABLE(NETSCAPE_PLUGIN_API)
+#include "npruntime_internal.h"
+#endif
+#include <wtf/HashMap.h>
+#include <wtf/RefCounted.h>
+#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+ typedef HashMap<String, String, ASCIICaseInsensitiveHash> MIMEToDescriptionsMap;
+ typedef HashMap<String, Vector<String>, ASCIICaseInsensitiveHash> MIMEToExtensionsMap;
+
+ class PluginPackage : public RefCounted<PluginPackage> {
+ public:
+ ~PluginPackage();
+ static PassRefPtr<PluginPackage> createPackage(const String& path, const time_t& lastModified);
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+ static PassRefPtr<PluginPackage> createPackageFromCache(const String& path, const time_t& lastModified, const String& name, const String& description, const String& mimeDescription);
+#endif
+
+ const String& name() const { return m_name; }
+ const String& description() const { return m_description; }
+ const String& path() const { return m_path; }
+ const String& fileName() const { return m_fileName; }
+ const String& parentDirectory() const { return m_parentDirectory; }
+ PlatformModule module() const { return m_module; }
+ uint16_t NPVersion() const;
+ time_t lastModified() const { return m_lastModified; }
+
+ const MIMEToDescriptionsMap& mimeToDescriptions() const { return m_mimeToDescriptions; }
+ const MIMEToExtensionsMap& mimeToExtensions() const { return m_mimeToExtensions; }
+
+ unsigned hash() const;
+ static bool equal(const PluginPackage& a, const PluginPackage& b);
+
+ bool load();
+ void unload();
+ void unloadWithoutShutdown();
+
+ bool isEnabled() const { return m_isEnabled; }
+ void setEnabled(bool);
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ const NPPluginFuncs* pluginFuncs() const { return &m_pluginFuncs; }
+#endif
+ int compareFileVersion(const PlatformModuleVersion&) const;
+ int compare(const PluginPackage&) const;
+ PluginQuirkSet quirks() const { return m_quirks; }
+ const PlatformModuleVersion& version() const { return m_moduleVersion; }
+
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+ bool ensurePluginLoaded();
+ void setMIMEDescription(const String& mimeDescription);
+ String fullMIMEDescription() const { return m_fullMIMEDescription;}
+#endif
+ private:
+ PluginPackage(const String& path, const time_t& lastModified);
+
+ bool fetchInfo();
+ bool isPluginBlacklisted();
+ void determineQuirks(const String& mimeType);
+
+ void determineModuleVersionFromDescription();
+ void initializeBrowserFuncs();
+
+ bool m_isEnabled;
+ bool m_isLoaded;
+ int m_loadCount;
+
+ String m_description;
+ String m_path;
+ String m_fileName;
+ String m_name;
+ String m_parentDirectory;
+
+ PlatformModuleVersion m_moduleVersion;
+
+ MIMEToDescriptionsMap m_mimeToDescriptions;
+ MIMEToExtensionsMap m_mimeToExtensions;
+
+ PlatformModule m_module;
+ time_t m_lastModified;
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ NPP_ShutdownProcPtr m_NPP_Shutdown;
+ NPPluginFuncs m_pluginFuncs;
+ NPNetscapeFuncs m_browserFuncs;
+#endif
+
+ void freeLibrarySoon();
+ void freeLibraryTimerFired();
+ Timer m_freeLibraryTimer;
+
+ PluginQuirkSet m_quirks;
+#if ENABLE(NETSCAPE_PLUGIN_METADATA_CACHE)
+ String m_fullMIMEDescription;
+ bool m_infoIsFromCache;
+#endif
+ };
+
+ // FIXME: This is a workaround because PluginPackageHash is broken and may consider keys with different hashes as equal.
+ struct PluginPackageHashTraits : HashTraits<RefPtr<PluginPackage> > {
+ static const int minimumTableSize = 64;
+ };
+
+ struct PluginPackageHash {
+ static unsigned hash(const uintptr_t key) { return reinterpret_cast<PluginPackage*>(key)->hash(); }
+ static unsigned hash(const RefPtr<PluginPackage>& key) { return key->hash(); }
+
+ static bool equal(const uintptr_t a, const uintptr_t b) { return equal(reinterpret_cast<PluginPackage*>(a), reinterpret_cast<PluginPackage*>(b)); }
+ static bool equal(const RefPtr<PluginPackage>& a, const RefPtr<PluginPackage>& b) { return PluginPackage::equal(*a.get(), *b.get()); }
+ static const bool safeToCompareToEmptyOrDeleted = false;
+ };
+
+} // namespace WebCore
+
+#endif
diff --git a/Source/WebKit/win/Plugins/PluginPackageWin.cpp b/Source/WebKit/win/Plugins/PluginPackageWin.cpp
new file mode 100644
index 000000000..7119d8854
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginPackageWin.cpp
@@ -0,0 +1,335 @@
+/*
+ * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora, Ltd. All rights reserved.
+ * Copyright (C) 2009 Torch Mobile, 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 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 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 "PluginPackage.h"
+
+#include "MIMETypeRegistry.h"
+#include "PluginDatabase.h"
+#include "PluginDebug.h"
+#include "Timer.h"
+#include "npruntime_impl.h"
+#include <string.h>
+#include <wtf/StdLibExtras.h>
+#include <wtf/text/CString.h>
+#include <shlwapi.h>
+
+namespace WebCore {
+
+static String getVersionInfo(const LPVOID versionInfoData, const String& info)
+{
+ LPVOID buffer;
+ UINT bufferLength;
+ String subInfo = "\\StringfileInfo\\040904E4\\" + info;
+ bool retval = VerQueryValueW(versionInfoData,
+ const_cast<UChar*>(subInfo.charactersWithNullTermination().data()),
+ &buffer, &bufferLength);
+ if (!retval || bufferLength == 0)
+ return String();
+
+ // Subtract 1 from the length; we don't want the trailing null character.
+ return String(reinterpret_cast<UChar*>(buffer), bufferLength - 1);
+}
+
+bool PluginPackage::isPluginBlacklisted()
+{
+ if (name() == "Citrix ICA Client") {
+ // The Citrix ICA Client plug-in requires a Mozilla-based browser; see <rdar://6418681>.
+ return true;
+ }
+
+ if (name() == "Silverlight Plug-In") {
+ // workaround for <rdar://5557379> Crash in Silverlight when opening microsoft.com.
+ // the latest 1.0 version of Silverlight does not reproduce this crash, so allow it
+ // and any newer versions
+ static const PlatformModuleVersion slPluginMinRequired(0x51BE0000, 0x00010000);
+
+ if (compareFileVersion(slPluginMinRequired) < 0)
+ return true;
+ } else if (equalLettersIgnoringASCIICase(fileName(), "npmozax.dll")) {
+ // Bug 15217: Mozilla ActiveX control complains about missing xpcom_core.dll
+ return true;
+ } else if (equalLettersIgnoringASCIICase(fileName(), "npwpf.dll")) {
+ // Bug 57119: Microsoft Windows Presentation Foundation (WPF) plug-in complains about missing xpcom.dll
+ return true;
+ } else if (name() == "Yahoo Application State Plugin") {
+ // https://bugs.webkit.org/show_bug.cgi?id=26860
+ // Bug in Yahoo Application State plug-in earlier than 1.0.0.6 leads to heap corruption.
+ static const PlatformModuleVersion yahooAppStatePluginMinRequired(0x00000006, 0x00010000);
+ if (compareFileVersion(yahooAppStatePluginMinRequired) < 0)
+ return true;
+ }
+
+ return false;
+}
+
+void PluginPackage::determineQuirks(const String& mimeType)
+{
+ if (mimeType == "application/x-shockwave-flash") {
+ static const PlatformModuleVersion flashTenVersion(0x00000000, 0x000a0000);
+
+ // Pre 10 Flash only requests windowless plugins if we return a mozilla user agent
+ if (compareFileVersion(flashTenVersion) < 0)
+ m_quirks.add(PluginQuirkWantsMozillaUserAgent);
+
+ m_quirks.add(PluginQuirkThrottleInvalidate);
+ m_quirks.add(PluginQuirkThrottleWMUserPlusOneMessages);
+ m_quirks.add(PluginQuirkFlashURLNotifyBug);
+ }
+
+ if (name().contains("Microsoft") && name().contains("Windows Media")) {
+ // The WMP plugin sets its size on the first NPP_SetWindow call and never updates its size, so
+ // call SetWindow when the plugin view has a correct size
+ m_quirks.add(PluginQuirkDeferFirstSetWindowCall);
+
+ // Windowless mode does not work at all with the WMP plugin so just remove that parameter
+ // and don't pass it to the plug-in.
+ m_quirks.add(PluginQuirkRemoveWindowlessVideoParam);
+
+ // WMP has a modal message loop that it enters whenever we call it or
+ // ask it to paint. This modal loop can deliver messages to other
+ // windows in WebKit at times when they are not expecting them (for
+ // example, delivering a WM_PAINT message during a layout), and these
+ // can cause crashes.
+ m_quirks.add(PluginQuirkHasModalMessageLoop);
+ }
+
+ if (name() == "VLC Multimedia Plugin" || name() == "VLC Multimedia Plug-in") {
+ // VLC hangs on NPP_Destroy if we call NPP_SetWindow with a null window handle
+ m_quirks.add(PluginQuirkDontSetNullWindowHandleOnDestroy);
+
+ // VLC 0.8.6d and 0.8.6e crash if multiple instances are created.
+ // <rdar://problem/5773070> tracks allowing multiple instances when this
+ // bug is fixed.
+ m_quirks.add(PluginQuirkDontAllowMultipleInstances);
+ }
+
+ // The DivX plugin sets its size on the first NPP_SetWindow call and never updates its size, so
+ // call SetWindow when the plugin view has a correct size
+ if (mimeType == "video/divx")
+ m_quirks.add(PluginQuirkDeferFirstSetWindowCall);
+
+ // FIXME: This is a workaround for a problem in our NPRuntime bindings; if a plug-in creates an
+ // NPObject and passes it to a function it's not possible to see what root object that NPObject belongs to.
+ // Thus, we don't know that the object should be invalidated when the plug-in instance goes away.
+ // See <rdar://problem/5487742>.
+ if (mimeType == "application/x-silverlight")
+ m_quirks.add(PluginQuirkDontUnloadPlugin);
+
+ if (MIMETypeRegistry::isJavaAppletMIMEType(mimeType)) {
+ // Because a single process cannot create multiple VMs, and we cannot reliably unload a
+ // Java VM, we cannot unload the Java plugin, or we'll lose reference to our only VM
+ m_quirks.add(PluginQuirkDontUnloadPlugin);
+
+ // Setting the window region to an empty region causes bad scrolling repaint problems
+ // with the Java plug-in.
+ m_quirks.add(PluginQuirkDontClipToZeroRectWhenScrolling);
+ }
+
+ if (mimeType == "audio/x-pn-realaudio-plugin") {
+ // Prevent the Real plugin from calling the Window Proc recursively, causing the stack to overflow.
+ m_quirks.add(PluginQuirkDontCallWndProcForSameMessageRecursively);
+
+ static const PlatformModuleVersion lastKnownUnloadableRealPlayerVersion(0x000B0B24, 0x00060000);
+
+ // Unloading RealPlayer versions newer than 10.5 can cause a hang; see rdar://5669317.
+ // FIXME: Resume unloading when this bug in the RealPlayer Plug-In is fixed (rdar://5713147)
+ if (compareFileVersion(lastKnownUnloadableRealPlayerVersion) > 0)
+ m_quirks.add(PluginQuirkDontUnloadPlugin);
+ }
+}
+
+bool PluginPackage::fetchInfo()
+{
+ DWORD versionInfoSize, zeroHandle;
+ versionInfoSize = GetFileVersionInfoSizeW(const_cast<UChar*>(m_path.charactersWithNullTermination().data()), &zeroHandle);
+ if (versionInfoSize == 0)
+ return false;
+
+ auto versionInfoData = std::make_unique<char[]>(versionInfoSize);
+
+ if (!GetFileVersionInfoW(const_cast<UChar*>(m_path.charactersWithNullTermination().data()),
+ 0, versionInfoSize, versionInfoData.get()))
+ return false;
+
+ m_name = getVersionInfo(versionInfoData.get(), "ProductName");
+ m_description = getVersionInfo(versionInfoData.get(), "FileDescription");
+ if (m_name.isNull() || m_description.isNull())
+ return false;
+
+ VS_FIXEDFILEINFO* info;
+ UINT infoSize;
+ if (!VerQueryValueW(versionInfoData.get(), L"\\", (LPVOID*) &info, &infoSize) || infoSize < sizeof(VS_FIXEDFILEINFO))
+ return false;
+ m_moduleVersion.leastSig = info->dwFileVersionLS;
+ m_moduleVersion.mostSig = info->dwFileVersionMS;
+
+ if (isPluginBlacklisted())
+ return false;
+
+ Vector<String> types;
+ getVersionInfo(versionInfoData.get(), "MIMEType").split('|', types);
+ Vector<String> extensionLists;
+ getVersionInfo(versionInfoData.get(), "FileExtents").split('|', extensionLists);
+ Vector<String> descriptions;
+ getVersionInfo(versionInfoData.get(), "FileOpenName").split('|', descriptions);
+
+ for (unsigned i = 0; i < types.size(); i++) {
+ String type = types[i].convertToASCIILowercase();
+ String description = i < descriptions.size() ? descriptions[i] : "";
+ String extensionList = i < extensionLists.size() ? extensionLists[i] : "";
+
+ Vector<String> extensionsVector;
+ extensionList.split(',', extensionsVector);
+
+ // Get rid of the extension list that may be at the end of the description string.
+ int pos = description.find("(*");
+ if (pos != -1) {
+ // There might be a space that we need to get rid of.
+ if (pos > 1 && description[pos - 1] == ' ')
+ pos--;
+ description = description.left(pos);
+ }
+
+ // Determine the quirks for the MIME types this plug-in supports
+ determineQuirks(type);
+
+ m_mimeToExtensions.add(type, extensionsVector);
+ m_mimeToDescriptions.add(type, description);
+ }
+
+ return true;
+}
+
+bool PluginPackage::load()
+{
+ if (m_freeLibraryTimer.isActive()) {
+ ASSERT(m_module);
+ m_freeLibraryTimer.stop();
+ } else if (m_isLoaded) {
+ if (m_quirks.contains(PluginQuirkDontAllowMultipleInstances))
+ return false;
+ m_loadCount++;
+ return true;
+ } else {
+ WCHAR currentPath[MAX_PATH];
+
+ if (!::GetCurrentDirectoryW(MAX_PATH, currentPath))
+ return false;
+
+ String path = m_path.substring(0, m_path.reverseFind('\\'));
+
+ if (!::SetCurrentDirectoryW(path.charactersWithNullTermination().data()))
+ return false;
+
+ // Load the library
+ m_module = ::LoadLibraryExW(m_path.charactersWithNullTermination().data(), 0, LOAD_WITH_ALTERED_SEARCH_PATH);
+
+ if (!::SetCurrentDirectoryW(currentPath)) {
+ if (m_module)
+ ::FreeLibrary(m_module);
+ return false;
+ }
+ }
+
+ if (!m_module)
+ return false;
+
+ m_isLoaded = true;
+
+ NP_GetEntryPointsFuncPtr NP_GetEntryPoints = 0;
+ NP_InitializeFuncPtr NP_Initialize = 0;
+ NPError npErr;
+
+ NP_Initialize = (NP_InitializeFuncPtr)GetProcAddress(m_module, "NP_Initialize");
+ NP_GetEntryPoints = (NP_GetEntryPointsFuncPtr)GetProcAddress(m_module, "NP_GetEntryPoints");
+ m_NPP_Shutdown = (NPP_ShutdownProcPtr)GetProcAddress(m_module, "NP_Shutdown");
+
+ if (!NP_Initialize || !NP_GetEntryPoints || !m_NPP_Shutdown)
+ goto abort;
+
+ memset(&m_pluginFuncs, 0, sizeof(m_pluginFuncs));
+ m_pluginFuncs.size = sizeof(m_pluginFuncs);
+
+ npErr = NP_GetEntryPoints(&m_pluginFuncs);
+ LOG_NPERROR(npErr);
+ if (npErr != NPERR_NO_ERROR)
+ goto abort;
+
+ initializeBrowserFuncs();
+
+ npErr = NP_Initialize(&m_browserFuncs);
+ LOG_NPERROR(npErr);
+
+ if (npErr != NPERR_NO_ERROR)
+ goto abort;
+
+ m_loadCount++;
+ return true;
+
+abort:
+ unloadWithoutShutdown();
+ return false;
+}
+
+unsigned PluginPackage::hash() const
+{
+ const unsigned hashCodes[] = {
+ m_name.impl()->hash(),
+ m_description.impl()->hash(),
+ m_mimeToExtensions.size()
+ };
+
+ return StringHasher::hashMemory<sizeof(hashCodes)>(hashCodes);
+}
+
+bool PluginPackage::equal(const PluginPackage& a, const PluginPackage& b)
+{
+ if (a.m_name != b.m_name)
+ return false;
+
+ if (a.m_description != b.m_description)
+ return false;
+
+ if (a.m_mimeToExtensions.size() != b.m_mimeToExtensions.size())
+ return false;
+
+ auto end = a.m_mimeToExtensions.end().keys();
+ for (auto it = a.m_mimeToExtensions.begin().keys(); it != end; ++it) {
+ if (!b.m_mimeToExtensions.contains(*it))
+ return false;
+ }
+
+ return true;
+}
+
+uint16_t PluginPackage::NPVersion() const
+{
+ return NP_VERSION_MINOR;
+}
+}
diff --git a/Source/WebKit/mac/History/WebHistoryInternal.h b/Source/WebKit/win/Plugins/PluginQuirkSet.h
index 39d91d527..49a3383db 100644
--- a/Source/WebKit/mac/History/WebHistoryInternal.h
+++ b/Source/WebKit/win/Plugins/PluginQuirkSet.h
@@ -10,7 +10,7 @@
* 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
+ * 3. Neither the name of Apple Inc. ("Apple") nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
@@ -26,13 +26,41 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#import "WebHistoryPrivate.h"
+#ifndef PluginQuirkSet_h
+#define PluginQuirkSet_h
+
namespace WebCore {
- class PageGroup;
-}
-@interface WebHistory (WebInternal)
-- (void)_visitedURL:(NSURL *)URL withTitle:(NSString *)title method:(NSString *)method wasFailure:(BOOL)wasFailure increaseVisitCount:(BOOL)increaseVisitCount;
-- (void)_addVisitedLinksToPageGroup:(WebCore::PageGroup&)group;
-@end
+ enum PluginQuirk {
+ PluginQuirkWantsMozillaUserAgent = 1 << 0,
+ PluginQuirkDeferFirstSetWindowCall = 1 << 1,
+ PluginQuirkThrottleInvalidate = 1 << 2,
+ PluginQuirkRemoveWindowlessVideoParam = 1 << 3,
+ PluginQuirkThrottleWMUserPlusOneMessages = 1 << 4,
+ PluginQuirkDontUnloadPlugin = 1 << 5,
+ PluginQuirkDontCallWndProcForSameMessageRecursively = 1 << 6,
+ PluginQuirkHasModalMessageLoop = 1 << 7,
+ PluginQuirkFlashURLNotifyBug = 1 << 8,
+ PluginQuirkDontClipToZeroRectWhenScrolling = 1 << 9,
+ PluginQuirkDontSetNullWindowHandleOnDestroy = 1 << 10,
+ PluginQuirkDontAllowMultipleInstances = 1 << 11,
+ PluginQuirkRequiresGtkToolKit = 1 << 12,
+ PluginQuirkRequiresDefaultScreenDepth = 1 << 13,
+ PluginQuirkDontCallSetWindowMoreThanOnce = 1 << 14,
+ PluginQuirkIgnoreRightClickInWindowlessMode = 1 << 15,
+ PluginQuirkWantsChromeUserAgent = 1 << 16
+ };
+
+ class PluginQuirkSet {
+ public:
+ PluginQuirkSet() : m_quirks(0) { }
+ void add(PluginQuirk quirk) { m_quirks |= quirk; }
+ bool contains(PluginQuirk quirk) const { return m_quirks & quirk; }
+ private:
+ unsigned m_quirks;
+ };
+
+} // namespace WebCore
+
+#endif // PluginQuirkSet_h
diff --git a/Source/WebKit/win/Plugins/PluginStream.cpp b/Source/WebKit/win/Plugins/PluginStream.cpp
new file mode 100644
index 000000000..d2b5c9131
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginStream.cpp
@@ -0,0 +1,488 @@
+/*
+ * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora, Ltd. 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 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 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 "PluginStream.h"
+
+#include "DocumentLoader.h"
+#include "Frame.h"
+#include "FrameLoader.h"
+#include "HTTPHeaderNames.h"
+#include "PluginDebug.h"
+#include "SharedBuffer.h"
+#include "SubresourceLoader.h"
+#include "WebResourceLoadScheduler.h"
+#include <wtf/StringExtras.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/StringBuilder.h>
+#include <wtf/text/WTFString.h>
+
+// We use -2 here because some plugins like to return -1 to indicate error
+// and this way we won't clash with them.
+static const int WebReasonNone = -2;
+
+using std::max;
+using std::min;
+
+namespace WebCore {
+
+typedef HashMap<NPStream*, NPP> StreamMap;
+static StreamMap& streams()
+{
+ static StreamMap staticStreams;
+ return staticStreams;
+}
+
+PluginStream::PluginStream(PluginStreamClient* client, Frame* frame, const ResourceRequest& resourceRequest, bool sendNotification, void* notifyData, const NPPluginFuncs* pluginFuncs, NPP instance, const PluginQuirkSet& quirks)
+ : m_resourceRequest(resourceRequest)
+ , m_client(client)
+ , m_frame(frame)
+ , m_notifyData(notifyData)
+ , m_sendNotification(sendNotification)
+ , m_streamState(StreamBeforeStarted)
+ , m_loadManually(false)
+ , m_delayDeliveryTimer(*this, &PluginStream::delayDeliveryTimerFired)
+ , m_tempFileHandle(invalidPlatformFileHandle)
+ , m_pluginFuncs(pluginFuncs)
+ , m_instance(instance)
+ , m_quirks(quirks)
+{
+ ASSERT(m_instance);
+
+ m_stream.url = 0;
+ m_stream.ndata = 0;
+ m_stream.pdata = 0;
+ m_stream.end = 0;
+ m_stream.notifyData = 0;
+ m_stream.lastmodified = 0;
+ m_stream.headers = 0;
+
+ streams().add(&m_stream, m_instance);
+}
+
+PluginStream::~PluginStream()
+{
+ ASSERT(m_streamState != StreamStarted);
+ ASSERT(!m_loader);
+
+ fastFree((char*)m_stream.url);
+
+ streams().remove(&m_stream);
+}
+
+void PluginStream::start()
+{
+ ASSERT(!m_loadManually);
+ m_loader = webResourceLoadScheduler().schedulePluginStreamLoad(m_frame, this, m_resourceRequest);
+}
+
+void PluginStream::stop()
+{
+ m_streamState = StreamStopped;
+
+ if (m_loadManually) {
+ ASSERT(!m_loader);
+
+ DocumentLoader* documentLoader = m_frame->loader().activeDocumentLoader();
+ ASSERT(documentLoader);
+
+ if (documentLoader->isLoadingMainResource())
+ documentLoader->cancelMainResourceLoad(m_frame->loader().cancelledError(m_resourceRequest));
+
+ return;
+ }
+
+ if (m_loader) {
+ m_loader->cancel();
+ m_loader = nullptr;
+ }
+
+ m_client = 0;
+}
+
+static uint32_t lastModifiedDateMS(const ResourceResponse& response)
+{
+ auto lastModified = response.lastModified();
+ if (!lastModified)
+ return 0;
+
+ return std::chrono::duration_cast<std::chrono::milliseconds>(lastModified.value().time_since_epoch()).count();
+}
+
+void PluginStream::startStream()
+{
+ ASSERT(m_streamState == StreamBeforeStarted);
+
+ const URL& responseURL = m_resourceResponse.url();
+
+ // Some plugins (Flash) expect that javascript URLs are passed back decoded as this is the
+ // format used when requesting the URL.
+ if (protocolIsJavaScript(responseURL))
+ m_stream.url = fastStrDup(decodeURLEscapeSequences(responseURL.string()).utf8().data());
+ else
+ m_stream.url = fastStrDup(responseURL.string().utf8().data());
+
+ CString mimeTypeStr = m_resourceResponse.mimeType().utf8();
+
+ long long expectedContentLength = m_resourceResponse.expectedContentLength();
+
+ if (m_resourceResponse.isHTTP()) {
+ StringBuilder stringBuilder;
+ String separator = ASCIILiteral(": ");
+
+ String statusLine = "HTTP " + String::number(m_resourceResponse.httpStatusCode()) + " OK\n";
+ stringBuilder.append(statusLine);
+
+ HTTPHeaderMap::const_iterator end = m_resourceResponse.httpHeaderFields().end();
+ for (HTTPHeaderMap::const_iterator it = m_resourceResponse.httpHeaderFields().begin(); it != end; ++it) {
+ stringBuilder.append(it->key);
+ stringBuilder.append(separator);
+ stringBuilder.append(it->value);
+ stringBuilder.append('\n');
+ }
+
+ m_headers = stringBuilder.toString().utf8();
+
+ // If the content is encoded (most likely compressed), then don't send its length to the plugin,
+ // which is only interested in the decoded length, not yet known at the moment.
+ // <rdar://problem/4470599> tracks a request for -[NSURLResponse expectedContentLength] to incorporate this logic.
+ String contentEncoding = m_resourceResponse.httpHeaderField(HTTPHeaderName::ContentEncoding);
+ if (!contentEncoding.isNull() && contentEncoding != "identity")
+ expectedContentLength = -1;
+ }
+
+ m_stream.headers = m_headers.data();
+ m_stream.pdata = 0;
+ m_stream.ndata = this;
+ m_stream.end = max(expectedContentLength, 0LL);
+ m_stream.lastmodified = lastModifiedDateMS(m_resourceResponse);
+ m_stream.notifyData = m_notifyData;
+
+ m_transferMode = NP_NORMAL;
+ m_offset = 0;
+ m_reason = WebReasonNone;
+
+ // Protect the stream if destroystream is called from within the newstream handler
+ RefPtr<PluginStream> protect(this);
+
+ // calling into a plug-in could result in re-entrance if the plug-in yields
+ // control to the system (rdar://5744899). prevent this by deferring further
+ // loading while calling into the plug-in.
+ if (m_loader)
+ m_loader->setDefersLoading(true);
+ NPError npErr = m_pluginFuncs->newstream(m_instance, (NPMIMEType)mimeTypeStr.data(), &m_stream, false, &m_transferMode);
+ if (m_loader)
+ m_loader->setDefersLoading(false);
+
+ // If the stream was destroyed in the call to newstream we return
+ if (m_reason != WebReasonNone)
+ return;
+
+ if (npErr != NPERR_NO_ERROR) {
+ cancelAndDestroyStream(npErr);
+ return;
+ }
+
+ m_streamState = StreamStarted;
+
+ if (m_transferMode == NP_NORMAL)
+ return;
+
+ m_path = openTemporaryFile("WKP", m_tempFileHandle);
+
+ // Something went wrong, cancel loading the stream
+ if (!isHandleValid(m_tempFileHandle))
+ cancelAndDestroyStream(NPRES_NETWORK_ERR);
+}
+
+NPP PluginStream::ownerForStream(NPStream* stream)
+{
+ return streams().get(stream);
+}
+
+void PluginStream::cancelAndDestroyStream(NPReason reason)
+{
+ RefPtr<PluginStream> protect(this);
+
+ destroyStream(reason);
+ stop();
+}
+
+void PluginStream::destroyStream(NPReason reason)
+{
+ m_reason = reason;
+ if (m_reason != NPRES_DONE) {
+ // Stop any pending data from being streamed
+ if (m_deliveryData)
+ m_deliveryData->resize(0);
+ } else if (m_deliveryData && m_deliveryData->size() > 0) {
+ // There is more data to be streamed, don't destroy the stream now.
+ return;
+ }
+ destroyStream();
+}
+
+void PluginStream::destroyStream()
+{
+ if (m_streamState == StreamStopped)
+ return;
+
+ ASSERT(m_reason != WebReasonNone);
+ ASSERT(!m_deliveryData || m_deliveryData->size() == 0);
+
+ closeFile(m_tempFileHandle);
+
+ bool newStreamCalled = m_stream.ndata;
+
+ // Protect from destruction if:
+ // NPN_DestroyStream is called from NPP_NewStream or
+ // PluginStreamClient::streamDidFinishLoading() removes the last reference
+ RefPtr<PluginStream> protect(this);
+
+ if (newStreamCalled) {
+ if (m_reason == NPRES_DONE && (m_transferMode == NP_ASFILE || m_transferMode == NP_ASFILEONLY)) {
+ ASSERT(!m_path.isNull());
+
+ if (m_loader)
+ m_loader->setDefersLoading(true);
+ m_pluginFuncs->asfile(m_instance, &m_stream, m_path.utf8().data());
+ if (m_loader)
+ m_loader->setDefersLoading(false);
+ }
+
+ if (m_streamState != StreamBeforeStarted) {
+ if (m_loader)
+ m_loader->setDefersLoading(true);
+
+ NPError npErr = m_pluginFuncs->destroystream(m_instance, &m_stream, m_reason);
+
+ if (m_loader)
+ m_loader->setDefersLoading(false);
+
+ LOG_NPERROR(npErr);
+ }
+
+ m_stream.ndata = 0;
+ }
+
+ if (m_sendNotification) {
+ // Flash 9 can dereference null if we call NPP_URLNotify without first calling NPP_NewStream
+ // for requests made with NPN_PostURLNotify; see <rdar://5588807>
+ if (m_loader)
+ m_loader->setDefersLoading(true);
+ if (!newStreamCalled && m_quirks.contains(PluginQuirkFlashURLNotifyBug) &&
+ equalLettersIgnoringASCIICase(m_resourceRequest.httpMethod(), "post")) {
+ m_transferMode = NP_NORMAL;
+ m_stream.url = "";
+ m_stream.notifyData = m_notifyData;
+
+ static char emptyMimeType[] = "";
+ m_pluginFuncs->newstream(m_instance, emptyMimeType, &m_stream, false, &m_transferMode);
+ m_pluginFuncs->destroystream(m_instance, &m_stream, m_reason);
+
+ // in successful requests, the URL is dynamically allocated and freed in our
+ // destructor, so reset it to 0
+ m_stream.url = 0;
+ }
+ m_pluginFuncs->urlnotify(m_instance, m_resourceRequest.url().string().utf8().data(), m_reason, m_notifyData);
+ if (m_loader)
+ m_loader->setDefersLoading(false);
+ }
+
+ m_streamState = StreamStopped;
+
+ if (!m_loadManually && m_client)
+ m_client->streamDidFinishLoading(this);
+
+ if (!m_path.isNull())
+ deleteFile(m_path);
+}
+
+void PluginStream::delayDeliveryTimerFired()
+{
+ deliverData();
+}
+
+void PluginStream::deliverData()
+{
+ ASSERT(m_deliveryData);
+
+ if (m_streamState == StreamStopped)
+ // FIXME: We should cancel our job in the SubresourceLoader on error so we don't reach this case
+ return;
+
+ ASSERT(m_streamState != StreamBeforeStarted);
+
+ if (!m_stream.ndata || m_deliveryData->size() == 0)
+ return;
+
+ int32_t totalBytes = m_deliveryData->size();
+ int32_t totalBytesDelivered = 0;
+
+ if (m_loader)
+ m_loader->setDefersLoading(true);
+ while (totalBytesDelivered < totalBytes) {
+ int32_t deliveryBytes = m_pluginFuncs->writeready(m_instance, &m_stream);
+
+ if (deliveryBytes <= 0) {
+ m_delayDeliveryTimer.startOneShot(0);
+ break;
+ } else {
+ deliveryBytes = min(deliveryBytes, totalBytes - totalBytesDelivered);
+ int32_t dataLength = deliveryBytes;
+ char* data = m_deliveryData->data() + totalBytesDelivered;
+
+ // Write the data
+ deliveryBytes = m_pluginFuncs->write(m_instance, &m_stream, m_offset, dataLength, (void*)data);
+ if (deliveryBytes < 0) {
+ LOG_PLUGIN_NET_ERROR();
+ if (m_loader)
+ m_loader->setDefersLoading(false);
+ cancelAndDestroyStream(NPRES_NETWORK_ERR);
+ return;
+ }
+ deliveryBytes = min(deliveryBytes, dataLength);
+ m_offset += deliveryBytes;
+ totalBytesDelivered += deliveryBytes;
+ }
+ }
+ if (m_loader)
+ m_loader->setDefersLoading(false);
+
+ if (totalBytesDelivered > 0) {
+ if (totalBytesDelivered < totalBytes) {
+ int remainingBytes = totalBytes - totalBytesDelivered;
+ memmove(m_deliveryData->data(), m_deliveryData->data() + totalBytesDelivered, remainingBytes);
+ m_deliveryData->resize(remainingBytes);
+ } else {
+ m_deliveryData->resize(0);
+ if (m_reason != WebReasonNone)
+ destroyStream();
+ }
+ }
+}
+
+void PluginStream::sendJavaScriptStream(const URL& requestURL, const CString& resultString)
+{
+ didReceiveResponse(0, ResourceResponse(requestURL, "text/plain", resultString.length(), ""));
+
+ if (m_streamState == StreamStopped)
+ return;
+
+ if (!resultString.isNull()) {
+ didReceiveData(0, resultString.data(), resultString.length());
+ if (m_streamState == StreamStopped)
+ return;
+ }
+
+ m_loader = nullptr;
+
+ destroyStream(resultString.isNull() ? NPRES_NETWORK_ERR : NPRES_DONE);
+}
+
+void PluginStream::willSendRequest(NetscapePlugInStreamLoader*, ResourceRequest&& request, const ResourceResponse&, std::function<void (WebCore::ResourceRequest&&)>&& callback)
+{
+ // FIXME: We should notify the plug-in with NPP_URLRedirectNotify here.
+ callback(WTFMove(request));
+}
+
+void PluginStream::didReceiveResponse(NetscapePlugInStreamLoader* loader, const ResourceResponse& response)
+{
+ ASSERT_UNUSED(loader, loader == m_loader);
+ ASSERT(m_streamState == StreamBeforeStarted);
+
+ m_resourceResponse = response;
+
+ startStream();
+}
+
+void PluginStream::didReceiveData(NetscapePlugInStreamLoader* loader, const char* data, int length)
+{
+ ASSERT_UNUSED(loader, loader == m_loader);
+ ASSERT(m_streamState == StreamStarted);
+
+ // If the plug-in cancels the stream in deliverData it could be deleted,
+ // so protect it here.
+ RefPtr<PluginStream> protect(this);
+
+ if (m_transferMode != NP_ASFILEONLY) {
+ if (!m_deliveryData)
+ m_deliveryData = std::make_unique<Vector<char>>();
+
+ int oldSize = m_deliveryData->size();
+ m_deliveryData->resize(oldSize + length);
+ memcpy(m_deliveryData->data() + oldSize, data, length);
+
+ deliverData();
+ }
+
+ if (m_streamState != StreamStopped && isHandleValid(m_tempFileHandle)) {
+ int bytesWritten = writeToFile(m_tempFileHandle, data, length);
+ if (bytesWritten != length)
+ cancelAndDestroyStream(NPRES_NETWORK_ERR);
+ }
+}
+
+void PluginStream::didFail(NetscapePlugInStreamLoader* loader, const ResourceError&)
+{
+ ASSERT_UNUSED(loader, loader == m_loader);
+
+ LOG_PLUGIN_NET_ERROR();
+
+ // destroyStream can result in our being deleted
+ RefPtr<PluginStream> protect(this);
+
+ destroyStream(NPRES_NETWORK_ERR);
+
+ m_loader = nullptr;
+}
+
+void PluginStream::didFinishLoading(NetscapePlugInStreamLoader* loader)
+{
+ ASSERT_UNUSED(loader, loader == m_loader);
+ ASSERT(m_streamState == StreamStarted);
+
+ // destroyStream can result in our being deleted
+ RefPtr<PluginStream> protect(this);
+
+ destroyStream(NPRES_DONE);
+
+ m_loader = nullptr;
+}
+
+bool PluginStream::wantsAllStreams() const
+{
+ if (!m_pluginFuncs->getvalue)
+ return false;
+
+ void* result = nullptr;
+ if (m_pluginFuncs->getvalue(m_instance, NPPVpluginWantsAllNetworkStreams, &result) != NPERR_NO_ERROR)
+ return false;
+
+ return !!result;
+}
+
+}
diff --git a/Source/WebKit/win/Plugins/PluginStream.h b/Source/WebKit/win/Plugins/PluginStream.h
new file mode 100644
index 000000000..42c6ddf80
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginStream.h
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora, Ltd. 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 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 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 PluginStream_h
+#define PluginStream_h
+
+#include "FileSystem.h"
+#include "URL.h"
+#include "NetscapePlugInStreamLoader.h"
+#include "PluginQuirkSet.h"
+#include "ResourceRequest.h"
+#include "ResourceResponse.h"
+#include "Timer.h"
+#include "npruntime_internal.h"
+#include <wtf/HashMap.h>
+#include <wtf/RefCounted.h>
+#include <wtf/Vector.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+ class Frame;
+ class PluginStream;
+
+ enum PluginStreamState { StreamBeforeStarted, StreamStarted, StreamStopped };
+
+ class PluginStreamClient {
+ public:
+ virtual ~PluginStreamClient() {}
+ virtual void streamDidFinishLoading(PluginStream*) {}
+ };
+
+ class PluginStream : public RefCounted<PluginStream>, private NetscapePlugInStreamLoaderClient {
+ public:
+ static PassRefPtr<PluginStream> create(PluginStreamClient* client, Frame* frame, const ResourceRequest& request, bool sendNotification, void* notifyData, const NPPluginFuncs* functions, NPP instance, const PluginQuirkSet& quirks)
+ {
+ return adoptRef(new PluginStream(client, frame, request, sendNotification, notifyData, functions, instance, quirks));
+ }
+ virtual ~PluginStream();
+
+ void start();
+ void stop();
+
+ void startStream();
+
+ void setLoadManually(bool loadManually) { m_loadManually = loadManually; }
+
+ void sendJavaScriptStream(const URL& requestURL, const WTF::CString& resultString);
+ void cancelAndDestroyStream(NPReason);
+
+ static NPP ownerForStream(NPStream*);
+
+ private:
+ PluginStream(PluginStreamClient*, Frame*, const ResourceRequest&, bool sendNotification, void* notifyData, const NPPluginFuncs*, NPP instance, const PluginQuirkSet&);
+
+ void deliverData();
+ void destroyStream(NPReason);
+ void destroyStream();
+
+ // NetscapePlugInStreamLoaderClient
+ void willSendRequest(NetscapePlugInStreamLoader*, ResourceRequest&&, const ResourceResponse& redirectResponse, std::function<void (ResourceRequest&&)>&&) override;
+ void didReceiveResponse(NetscapePlugInStreamLoader*, const ResourceResponse&) override;
+ void didReceiveData(NetscapePlugInStreamLoader*, const char*, int) override;
+ void didFail(NetscapePlugInStreamLoader*, const ResourceError&) override;
+ void didFinishLoading(NetscapePlugInStreamLoader*) override;
+ bool wantsAllStreams() const override;
+
+ ResourceRequest m_resourceRequest;
+ ResourceResponse m_resourceResponse;
+
+ PluginStreamClient* m_client;
+ Frame* m_frame;
+ RefPtr<NetscapePlugInStreamLoader> m_loader;
+ void* m_notifyData;
+ bool m_sendNotification;
+ PluginStreamState m_streamState;
+ bool m_loadManually;
+
+ Timer m_delayDeliveryTimer;
+ void delayDeliveryTimerFired();
+
+ std::unique_ptr<Vector<char>> m_deliveryData;
+
+ PlatformFileHandle m_tempFileHandle;
+
+ const NPPluginFuncs* m_pluginFuncs;
+ NPP m_instance;
+ uint16_t m_transferMode;
+ int32_t m_offset;
+ CString m_headers;
+ String m_path;
+ NPReason m_reason;
+ NPStream m_stream;
+ PluginQuirkSet m_quirks;
+
+ friend class PluginView;
+ };
+
+} // namespace WebCore
+
+#endif
diff --git a/Source/WebKit/win/Plugins/PluginView.cpp b/Source/WebKit/win/Plugins/PluginView.cpp
new file mode 100644
index 000000000..0ee5380cc
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginView.cpp
@@ -0,0 +1,1497 @@
+/*
+ * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora Ltd. All rights reserved.
+ * Copyright (C) 2010 Girish Ramakrishnan <girish@forwardbias.in>
+ *
+ * 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 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 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 "PluginView.h"
+
+#include "PluginDatabase.h"
+#include "PluginDebug.h"
+#include "PluginPackage.h"
+#include <WebCore/BridgeJSC.h>
+#include <WebCore/Chrome.h>
+#include <WebCore/CookieJar.h>
+#include <WebCore/Document.h>
+#include <WebCore/DocumentLoader.h>
+#include <WebCore/Element.h>
+#include <WebCore/FocusController.h>
+#include <WebCore/Frame.h>
+#include <WebCore/FrameLoadRequest.h>
+#include <WebCore/FrameLoader.h>
+#include <WebCore/FrameLoaderClient.h>
+#include <WebCore/FrameTree.h>
+#include <WebCore/FrameView.h>
+#include <WebCore/GraphicsContext.h>
+#include <WebCore/HTMLNames.h>
+#include <WebCore/HTMLPlugInElement.h>
+#include <WebCore/HTTPHeaderNames.h>
+#include <WebCore/Image.h>
+#include <WebCore/JSDOMBinding.h>
+#include <WebCore/JSDOMWindow.h>
+#include <WebCore/KeyboardEvent.h>
+#include <WebCore/MIMETypeRegistry.h>
+#include <WebCore/MouseEvent.h>
+#include <WebCore/NotImplemented.h>
+#include <WebCore/Page.h>
+#include <WebCore/PlatformMouseEvent.h>
+#include <WebCore/ProxyServer.h>
+#include <WebCore/RenderBox.h>
+#include <WebCore/RenderObject.h>
+#include <WebCore/ScriptController.h>
+#include <WebCore/SecurityOrigin.h>
+#include <WebCore/Settings.h>
+#include <WebCore/UserGestureIndicator.h>
+#include <WebCore/WheelEvent.h>
+#include <WebCore/c_instance.h>
+#include <WebCore/npruntime_impl.h>
+#include <WebCore/runtime_root.h>
+#include <bindings/ScriptValue.h>
+#include <runtime/JSCJSValue.h>
+#include <runtime/JSLock.h>
+#include <wtf/ASCIICType.h>
+#include <wtf/text/WTFString.h>
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+#include "PluginMainThreadScheduler.h"
+#endif
+
+#if OS(WINDOWS) && ENABLE(NETSCAPE_PLUGIN_API)
+#include "PluginMessageThrottlerWin.h"
+#endif
+
+using JSC::ExecState;
+using JSC::JSLock;
+using JSC::JSObject;
+using JSC::JSValue;
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+
+using std::min;
+
+using namespace WTF;
+
+namespace WebCore {
+
+using namespace HTMLNames;
+
+static int s_callingPlugin;
+
+typedef HashMap<NPP, PluginView*> InstanceMap;
+
+static InstanceMap& instanceMap()
+{
+ static InstanceMap& map = *new InstanceMap;
+ return map;
+}
+
+static String scriptStringIfJavaScriptURL(const URL& url)
+{
+ if (!protocolIsJavaScript(url))
+ return String();
+
+ // This returns an unescaped string
+ return decodeURLEscapeSequences(url.string().substring(11));
+}
+
+PluginView* PluginView::s_currentPluginView = 0;
+
+void PluginView::popPopupsStateTimerFired()
+{
+ popPopupsEnabledState();
+}
+
+IntRect PluginView::windowClipRect() const
+{
+ // Start by clipping to our bounds.
+ IntRect clipRect(m_windowRect);
+
+ // Take our element and get the clip rect from the enclosing layer and frame view.
+ FrameView* parentView = m_element->document().view();
+ IntRect windowClipRect = parentView->windowClipRectForFrameOwner(m_element, true);
+ windowClipRect.scale(deviceScaleFactor());
+ clipRect.intersect(windowClipRect);
+
+ return clipRect;
+}
+
+void PluginView::setFrameRect(const IntRect& rect)
+{
+ if (m_element->document().printing())
+ return;
+
+ if (rect != frameRect())
+ Widget::setFrameRect(rect);
+
+ updatePluginWidget();
+
+#if OS(WINDOWS)
+ // On Windows always call plugin to change geometry.
+ setNPWindowRect(rect);
+#elif defined(XP_UNIX)
+ // On Unix, multiple calls to setNPWindow() in windowed mode causes Flash to crash
+ if (m_mode == NP_FULL || !m_isWindowed)
+ setNPWindowRect(rect);
+#endif
+}
+
+void PluginView::frameRectsChanged()
+{
+ updatePluginWidget();
+}
+
+void PluginView::clipRectChanged()
+{
+ updatePluginWidget();
+}
+
+void PluginView::handleEvent(Event* event)
+{
+ if (!m_plugin || m_isWindowed)
+ return;
+
+ // Protect the plug-in from deletion while dispatching the event.
+ RefPtr<PluginView> protect(this);
+
+ if (event->isMouseEvent())
+ handleMouseEvent(static_cast<MouseEvent*>(event));
+ else if (event->isKeyboardEvent())
+ handleKeyboardEvent(static_cast<KeyboardEvent*>(event));
+#if defined(XP_MACOSX)
+ else if (event->type() == eventNames().wheelEvent || event->type() == eventNames().mousewheelEvent)
+ handleWheelEvent(static_cast<WheelEvent*>(event));
+#endif
+ else if (event->type() == eventNames().contextmenuEvent)
+ event->setDefaultHandled(); // We don't know if the plug-in has handled mousedown event by displaying a context menu, so we never want WebKit to show a default one.
+#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
+ else if (event->type() == eventNames().focusoutEvent)
+ handleFocusOutEvent();
+ else if (event->type() == eventNames().focusinEvent)
+ handleFocusInEvent();
+#endif
+}
+
+void PluginView::init()
+{
+ if (m_haveInitialized)
+ return;
+
+ m_haveInitialized = true;
+
+ if (!m_plugin) {
+ ASSERT(m_status == PluginStatusCanNotFindPlugin);
+ return;
+ }
+
+ LOG(Plugins, "PluginView::init(): Initializing plug-in '%s'", m_plugin->name().utf8().data());
+
+ if (!m_plugin->load()) {
+ m_plugin = nullptr;
+ m_status = PluginStatusCanNotLoadPlugin;
+ return;
+ }
+
+ if (!startOrAddToUnstartedList()) {
+ m_status = PluginStatusCanNotLoadPlugin;
+ return;
+ }
+
+ m_status = PluginStatusLoadedSuccessfully;
+}
+
+bool PluginView::startOrAddToUnstartedList()
+{
+ if (!m_parentFrame->page())
+ return false;
+
+ // We only delay starting the plug-in if we're going to kick off the load
+ // ourselves. Otherwise, the loader will try to deliver data before we've
+ // started the plug-in.
+ if (!m_loadManually && !m_parentFrame->page()->canStartMedia()) {
+ m_parentFrame->document()->addMediaCanStartListener(this);
+ m_isWaitingToStart = true;
+ return true;
+ }
+
+ return start();
+}
+
+bool PluginView::start()
+{
+ if (m_isStarted)
+ return false;
+
+ m_isWaitingToStart = false;
+
+ PluginMainThreadScheduler::scheduler().registerPlugin(m_instance);
+
+ ASSERT(m_plugin);
+ ASSERT(m_plugin->pluginFuncs()->newp);
+
+ NPError npErr;
+ {
+ PluginView::setCurrentPluginView(this);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
+ setCallingPlugin(true);
+ npErr = m_plugin->pluginFuncs()->newp((NPMIMEType)m_mimeType.utf8().data(), m_instance, m_mode, m_paramCount, m_paramNames, m_paramValues, NULL);
+ setCallingPlugin(false);
+ LOG_NPERROR(npErr);
+ PluginView::setCurrentPluginView(0);
+ }
+
+ if (npErr != NPERR_NO_ERROR) {
+ m_status = PluginStatusCanNotLoadPlugin;
+ PluginMainThreadScheduler::scheduler().unregisterPlugin(m_instance);
+ return false;
+ }
+
+ m_isStarted = true;
+
+ if (!m_url.isEmpty() && !m_loadManually) {
+ FrameLoadRequest frameLoadRequest(m_parentFrame->document()->securityOrigin(), LockHistory::No, LockBackForwardList::No, ShouldSendReferrer::MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow);
+ frameLoadRequest.resourceRequest().setHTTPMethod("GET");
+ frameLoadRequest.resourceRequest().setURL(m_url);
+ load(frameLoadRequest, false, 0);
+ }
+
+ m_status = PluginStatusLoadedSuccessfully;
+
+ if (!platformStart())
+ m_status = PluginStatusCanNotLoadPlugin;
+
+ if (m_status != PluginStatusLoadedSuccessfully)
+ return false;
+
+ return true;
+}
+
+void PluginView::mediaCanStart()
+{
+ ASSERT(!m_isStarted);
+ if (!start())
+ parentFrame()->loader().client().dispatchDidFailToStartPlugin(this);
+}
+
+PluginView::~PluginView()
+{
+ LOG(Plugins, "PluginView::~PluginView()");
+
+ ASSERT(!m_lifeSupportTimer.isActive());
+
+ // If we failed to find the plug-in, we'll return early in our constructor, and
+ // m_instance will be 0.
+ if (m_instance)
+ instanceMap().remove(m_instance);
+
+ if (m_isWaitingToStart)
+ m_parentFrame->document()->removeMediaCanStartListener(this);
+
+ stop();
+
+ freeStringArray(m_paramNames, m_paramCount);
+ freeStringArray(m_paramValues, m_paramCount);
+
+ platformDestroy();
+
+ m_parentFrame->script().cleanupScriptObjectsForPlugin(this);
+
+ if (m_plugin && !(m_plugin->quirks().contains(PluginQuirkDontUnloadPlugin)))
+ m_plugin->unload();
+}
+
+void PluginView::stop()
+{
+ if (!m_isStarted)
+ return;
+
+ LOG(Plugins, "PluginView::stop(): Stopping plug-in '%s'", m_plugin->name().utf8().data());
+
+ HashSet<RefPtr<PluginStream> > streams = m_streams;
+ HashSet<RefPtr<PluginStream> >::iterator end = streams.end();
+ for (HashSet<RefPtr<PluginStream> >::iterator it = streams.begin(); it != end; ++it) {
+ (*it)->stop();
+ disconnectStream((*it).get());
+ }
+
+ ASSERT(m_streams.isEmpty());
+
+ m_isStarted = false;
+
+ JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+#if defined(XP_WIN) && !PLATFORM(GTK)
+ // Unsubclass the window
+ if (m_isWindowed) {
+ WNDPROC currentWndProc = (WNDPROC)GetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC);
+
+ if (currentWndProc == PluginViewWndProc)
+ SetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC, (LONG_PTR)m_pluginWndProc);
+ }
+#endif // !defined(XP_WIN) || PLATFORM(GTK)
+#endif // ENABLE(NETSCAPE_PLUGIN_API)
+
+#if !defined(XP_MACOSX)
+ // Clear the window
+ m_npWindow.window = 0;
+
+ if (m_plugin->pluginFuncs()->setwindow && !m_plugin->quirks().contains(PluginQuirkDontSetNullWindowHandleOnDestroy)) {
+ PluginView::setCurrentPluginView(this);
+ setCallingPlugin(true);
+ m_plugin->pluginFuncs()->setwindow(m_instance, &m_npWindow);
+ setCallingPlugin(false);
+ PluginView::setCurrentPluginView(0);
+ }
+
+#ifdef XP_UNIX
+ delete static_cast<NPSetWindowCallbackStruct*>(m_npWindow.ws_info);
+ m_npWindow.ws_info = 0;
+#endif
+
+#endif // !defined(XP_MACOSX)
+
+ PluginMainThreadScheduler::scheduler().unregisterPlugin(m_instance);
+
+ NPSavedData* savedData = 0;
+ PluginView::setCurrentPluginView(this);
+ setCallingPlugin(true);
+ NPError npErr = m_plugin->pluginFuncs()->destroy(m_instance, &savedData);
+ setCallingPlugin(false);
+ LOG_NPERROR(npErr);
+ PluginView::setCurrentPluginView(0);
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ if (savedData) {
+ // TODO: Actually save this data instead of just discarding it
+ if (savedData->buf)
+ NPN_MemFree(savedData->buf);
+ NPN_MemFree(savedData);
+ }
+#endif
+
+ m_instance->pdata = 0;
+}
+
+void PluginView::setCurrentPluginView(PluginView* pluginView)
+{
+ s_currentPluginView = pluginView;
+}
+
+PluginView* PluginView::currentPluginView()
+{
+ return s_currentPluginView;
+}
+
+static char* createUTF8String(const String& str)
+{
+ CString cstr = str.utf8();
+ const size_t cstrLength = cstr.length();
+ char* result = reinterpret_cast<char*>(fastMalloc(cstrLength + 1));
+
+ memcpy(result, cstr.data(), cstrLength);
+ result[cstrLength] = '\0';
+
+ return result;
+}
+
+void PluginView::performRequest(PluginRequest* request)
+{
+ if (!m_isStarted)
+ return;
+
+ // don't let a plugin start any loads if it is no longer part of a document that is being
+ // displayed unless the loads are in the same frame as the plugin.
+ const String& targetFrameName = request->frameLoadRequest().frameName();
+ if (m_parentFrame->loader().documentLoader() != m_parentFrame->loader().activeDocumentLoader() && (targetFrameName.isNull() || m_parentFrame->tree().find(targetFrameName) != m_parentFrame))
+ return;
+
+ URL requestURL = request->frameLoadRequest().resourceRequest().url();
+ String jsString = scriptStringIfJavaScriptURL(requestURL);
+
+ UserGestureIndicator gestureIndicator(request->shouldAllowPopups() ? DefinitelyProcessingUserGesture : PossiblyProcessingUserGesture);
+
+ if (jsString.isNull()) {
+ // if this is not a targeted request, create a stream for it. otherwise,
+ // just pass it off to the loader
+ if (targetFrameName.isEmpty()) {
+ RefPtr<PluginStream> stream = PluginStream::create(this, m_parentFrame.get(), request->frameLoadRequest().resourceRequest(), request->sendNotification(), request->notifyData(), plugin()->pluginFuncs(), instance(), m_plugin->quirks());
+ m_streams.add(stream);
+ stream->start();
+ } else {
+ // If the target frame is our frame, we could destroy the
+ // PluginView, so we protect it. <rdar://problem/6991251>
+ RefPtr<PluginView> protect(this);
+
+ FrameLoadRequest frameRequest(m_parentFrame.get(), request->frameLoadRequest().resourceRequest(), ShouldOpenExternalURLsPolicy::ShouldNotAllow);
+ frameRequest.setFrameName(targetFrameName);
+ frameRequest.setShouldCheckNewWindowPolicy(true);
+ m_parentFrame->loader().load(frameRequest);
+
+ // FIXME: <rdar://problem/4807469> This should be sent when the document has finished loading
+ if (request->sendNotification()) {
+ PluginView::setCurrentPluginView(this);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
+ setCallingPlugin(true);
+ m_plugin->pluginFuncs()->urlnotify(m_instance, requestURL.string().utf8().data(), NPRES_DONE, request->notifyData());
+ setCallingPlugin(false);
+ PluginView::setCurrentPluginView(0);
+ }
+ }
+ return;
+ }
+
+ // Targeted JavaScript requests are only allowed on the frame that contains the JavaScript plugin
+ // and this has been made sure in ::load.
+ ASSERT(targetFrameName.isEmpty() || m_parentFrame->tree().find(targetFrameName) == m_parentFrame);
+
+ // Executing a script can cause the plugin view to be destroyed, so we keep a reference to it.
+ RefPtr<PluginView> protector(this);
+ Deprecated::ScriptValue result = m_parentFrame->script().executeScript(jsString, request->shouldAllowPopups());
+
+ if (targetFrameName.isNull()) {
+ String resultString;
+
+ JSC::ExecState* scriptState = m_parentFrame->script().globalObject(pluginWorld())->globalExec();
+ CString cstr;
+ if (result.getString(scriptState, resultString))
+ cstr = resultString.utf8();
+
+ RefPtr<PluginStream> stream = PluginStream::create(this, m_parentFrame.get(), request->frameLoadRequest().resourceRequest(), request->sendNotification(), request->notifyData(), plugin()->pluginFuncs(), instance(), m_plugin->quirks());
+ m_streams.add(stream);
+ stream->sendJavaScriptStream(requestURL, cstr);
+ }
+}
+
+void PluginView::requestTimerFired()
+{
+ ASSERT(!m_requests.isEmpty());
+ ASSERT(!m_isJavaScriptPaused);
+
+ std::unique_ptr<PluginRequest> request = WTFMove(m_requests[0]);
+ m_requests.remove(0);
+
+ // Schedule a new request before calling performRequest since the call to
+ // performRequest can cause the plugin view to be deleted.
+ if (!m_requests.isEmpty())
+ m_requestTimer.startOneShot(0);
+
+ performRequest(request.get());
+}
+
+void PluginView::scheduleRequest(std::unique_ptr<PluginRequest> request)
+{
+ m_requests.append(WTFMove(request));
+
+ if (!m_isJavaScriptPaused)
+ m_requestTimer.startOneShot(0);
+}
+
+NPError PluginView::load(const FrameLoadRequest& frameLoadRequest, bool sendNotification, void* notifyData)
+{
+ ASSERT(frameLoadRequest.resourceRequest().httpMethod() == "GET" || frameLoadRequest.resourceRequest().httpMethod() == "POST");
+
+ URL url = frameLoadRequest.resourceRequest().url();
+
+ if (url.isEmpty())
+ return NPERR_INVALID_URL;
+
+ // Don't allow requests to be made when the document loader is stopping all loaders.
+ DocumentLoader* loader = m_parentFrame->loader().documentLoader();
+ if (!loader || loader->isStopping())
+ return NPERR_GENERIC_ERROR;
+
+ const String& targetFrameName = frameLoadRequest.frameName();
+ String jsString = scriptStringIfJavaScriptURL(url);
+
+ if (!jsString.isNull()) {
+ // Return NPERR_GENERIC_ERROR if JS is disabled. This is what Mozilla does.
+ if (!m_parentFrame->script().canExecuteScripts(NotAboutToExecuteScript))
+ return NPERR_GENERIC_ERROR;
+
+ // For security reasons, only allow JS requests to be made on the frame that contains the plug-in.
+ if (!targetFrameName.isNull() && m_parentFrame->tree().find(targetFrameName) != m_parentFrame)
+ return NPERR_INVALID_PARAM;
+ } else if (!m_parentFrame->document()->securityOrigin()->canDisplay(url))
+ return NPERR_GENERIC_ERROR;
+
+ scheduleRequest(std::make_unique<PluginRequest>(frameLoadRequest, sendNotification, notifyData, arePopupsAllowed()));
+
+ return NPERR_NO_ERROR;
+}
+
+static URL makeURL(const URL& baseURL, const char* relativeURLString)
+{
+ String urlString = relativeURLString;
+
+ // Strip return characters.
+ urlString.replaceWithLiteral('\n', "");
+ urlString.replaceWithLiteral('\r', "");
+
+ return URL(baseURL, urlString);
+}
+
+NPError PluginView::getURLNotify(const char* url, const char* target, void* notifyData)
+{
+ FrameLoadRequest frameLoadRequest(m_parentFrame->document()->securityOrigin(), LockHistory::No, LockBackForwardList::No, ShouldSendReferrer::MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow);
+
+ frameLoadRequest.setFrameName(target);
+ frameLoadRequest.resourceRequest().setHTTPMethod("GET");
+ frameLoadRequest.resourceRequest().setURL(makeURL(m_parentFrame->document()->baseURL(), url));
+
+ return load(frameLoadRequest, true, notifyData);
+}
+
+NPError PluginView::getURL(const char* url, const char* target)
+{
+ FrameLoadRequest frameLoadRequest(m_parentFrame->document()->securityOrigin(), LockHistory::No, LockBackForwardList::No, ShouldSendReferrer::MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow);
+
+ frameLoadRequest.setFrameName(target);
+ frameLoadRequest.resourceRequest().setHTTPMethod("GET");
+ frameLoadRequest.resourceRequest().setURL(makeURL(m_parentFrame->document()->baseURL(), url));
+
+ return load(frameLoadRequest, false, 0);
+}
+
+NPError PluginView::postURLNotify(const char* url, const char* target, uint32_t len, const char* buf, NPBool file, void* notifyData)
+{
+ return handlePost(url, target, len, buf, file, notifyData, true, true);
+}
+
+NPError PluginView::postURL(const char* url, const char* target, uint32_t len, const char* buf, NPBool file)
+{
+ // As documented, only allow headers to be specified via NPP_PostURL when using a file.
+ return handlePost(url, target, len, buf, file, 0, false, file);
+}
+
+NPError PluginView::newStream(NPMIMEType, const char* /* target */, NPStream**)
+{
+ notImplemented();
+ // Unsupported
+ return NPERR_GENERIC_ERROR;
+}
+
+int32_t PluginView::write(NPStream*, int32_t /* len */, void* /* buffer */)
+{
+ notImplemented();
+ // Unsupported
+ return -1;
+}
+
+NPError PluginView::destroyStream(NPStream* stream, NPReason reason)
+{
+ if (!stream || PluginStream::ownerForStream(stream) != m_instance)
+ return NPERR_INVALID_INSTANCE_ERROR;
+
+ PluginStream* browserStream = static_cast<PluginStream*>(stream->ndata);
+ browserStream->cancelAndDestroyStream(reason);
+
+ return NPERR_NO_ERROR;
+}
+
+void PluginView::status(const char* message)
+{
+ if (Page* page = m_parentFrame->page())
+ page->chrome().setStatusbarText(m_parentFrame.get(), String::fromUTF8(message));
+}
+
+NPError PluginView::setValue(NPPVariable variable, void* value)
+{
+ LOG(Plugins, "PluginView::setValue(%s): ", prettyNameForNPPVariable(variable, value).data());
+
+ switch (variable) {
+ case NPPVpluginWindowBool:
+ m_isWindowed = value;
+ return NPERR_NO_ERROR;
+ case NPPVpluginTransparentBool:
+ m_isTransparent = value;
+ return NPERR_NO_ERROR;
+#if defined(XP_MACOSX)
+ case NPPVpluginDrawingModel: {
+ // Can only set drawing model inside NPP_New()
+ if (this != currentPluginView())
+ return NPERR_GENERIC_ERROR;
+
+ NPDrawingModel newDrawingModel = NPDrawingModel(uintptr_t(value));
+ switch (newDrawingModel) {
+ case NPDrawingModelCoreGraphics:
+ return NPERR_NO_ERROR;
+ case NPDrawingModelCoreAnimation:
+ default:
+ LOG(Plugins, "Plugin asked for unsupported drawing model: %s",
+ prettyNameForDrawingModel(newDrawingModel));
+ return NPERR_GENERIC_ERROR;
+ }
+ }
+
+ case NPPVpluginEventModel: {
+ // Can only set event model inside NPP_New()
+ if (this != currentPluginView())
+ return NPERR_GENERIC_ERROR;
+
+ NPEventModel newEventModel = NPEventModel(uintptr_t(value));
+ switch (newEventModel) {
+ case NPEventModelCocoa:
+ return NPERR_NO_ERROR;
+ default:
+ LOG(Plugins, "Plugin asked for unsupported event model: %s",
+ prettyNameForEventModel(newEventModel));
+ return NPERR_GENERIC_ERROR;
+ }
+ }
+#endif // defined(XP_MACOSX)
+
+ default:
+ notImplemented();
+ return NPERR_GENERIC_ERROR;
+ }
+}
+
+void PluginView::invalidateTimerFired()
+{
+ for (unsigned i = 0; i < m_invalidRects.size(); i++)
+ invalidateRect(m_invalidRects[i]);
+ m_invalidRects.clear();
+}
+
+
+void PluginView::pushPopupsEnabledState(bool state)
+{
+ m_popupStateStack.append(state);
+}
+
+void PluginView::popPopupsEnabledState()
+{
+ m_popupStateStack.removeLast();
+}
+
+bool PluginView::arePopupsAllowed() const
+{
+ if (!m_popupStateStack.isEmpty())
+ return m_popupStateStack.last();
+
+ return false;
+}
+
+void PluginView::setJavaScriptPaused(bool paused)
+{
+ if (m_isJavaScriptPaused == paused)
+ return;
+ m_isJavaScriptPaused = paused;
+
+ if (m_isJavaScriptPaused)
+ m_requestTimer.stop();
+ else if (!m_requests.isEmpty())
+ m_requestTimer.startOneShot(0);
+}
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+NPObject* PluginView::npObject()
+{
+ NPObject* object = 0;
+
+ if (!m_isStarted || !m_plugin || !m_plugin->pluginFuncs()->getvalue)
+ return 0;
+
+ // On Windows, calling Java's NPN_GetValue can allow the message loop to
+ // run, allowing loading to take place or JavaScript to run. Protect the
+ // PluginView from destruction. <rdar://problem/6978804>
+ RefPtr<PluginView> protect(this);
+
+ NPError npErr;
+ {
+ PluginView::setCurrentPluginView(this);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
+ setCallingPlugin(true);
+ npErr = m_plugin->pluginFuncs()->getvalue(m_instance, NPPVpluginScriptableNPObject, &object);
+ setCallingPlugin(false);
+ PluginView::setCurrentPluginView(0);
+ }
+
+ if (npErr != NPERR_NO_ERROR)
+ return 0;
+
+ return object;
+}
+#endif
+
+RefPtr<JSC::Bindings::Instance> PluginView::bindingInstance()
+{
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ NPObject* object = npObject();
+ if (!object)
+ return nullptr;
+
+ if (hasOneRef()) {
+ // The renderer for the PluginView was destroyed during the above call, and
+ // the PluginView will be destroyed when this function returns, so we
+ // return null.
+ return nullptr;
+ }
+
+ RefPtr<JSC::Bindings::RootObject> root = m_parentFrame->script().createRootObject(this);
+ RefPtr<JSC::Bindings::Instance> instance = JSC::Bindings::CInstance::create(object, root.release());
+
+ _NPN_ReleaseObject(object);
+
+ return instance;
+#else
+ return nullptr;
+#endif
+}
+
+void PluginView::disconnectStream(PluginStream* stream)
+{
+ ASSERT(m_streams.contains(stream));
+
+ m_streams.remove(stream);
+}
+
+void PluginView::setParameters(const Vector<String>& paramNames, const Vector<String>& paramValues)
+{
+ ASSERT(paramNames.size() == paramValues.size());
+
+ unsigned size = paramNames.size();
+ unsigned paramCount = 0;
+
+ m_paramNames = reinterpret_cast<char**>(fastMalloc(sizeof(char*) * size));
+ m_paramValues = reinterpret_cast<char**>(fastMalloc(sizeof(char*) * size));
+
+ for (unsigned i = 0; i < size; i++) {
+ if (m_plugin->quirks().contains(PluginQuirkRemoveWindowlessVideoParam) && equalLettersIgnoringASCIICase(paramNames[i], "windowlessvideo"))
+ continue;
+
+ if (paramNames[i] == "pluginspage")
+ m_pluginsPage = paramValues[i];
+
+ m_paramNames[paramCount] = createUTF8String(paramNames[i]);
+ m_paramValues[paramCount] = createUTF8String(paramValues[i]);
+
+ paramCount++;
+ }
+
+ m_paramCount = paramCount;
+}
+
+PluginView::PluginView(Frame* parentFrame, const IntSize& size, PluginPackage* plugin, HTMLPlugInElement* element, const URL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
+ : m_parentFrame(parentFrame)
+ , m_plugin(plugin)
+ , m_element(element)
+ , m_isStarted(false)
+ , m_url(url)
+ , m_status(PluginStatusLoadedSuccessfully)
+ , m_requestTimer(*this, &PluginView::requestTimerFired)
+ , m_invalidateTimer(*this, &PluginView::invalidateTimerFired)
+ , m_popPopupsStateTimer(*this, &PluginView::popPopupsStateTimerFired)
+ , m_lifeSupportTimer(*this, &PluginView::lifeSupportTimerFired)
+ , m_mode(loadManually ? NP_FULL : NP_EMBED)
+ , m_paramNames(0)
+ , m_paramValues(0)
+ , m_mimeType(mimeType)
+ , m_instance(0)
+#if defined(XP_MACOSX)
+ , m_isWindowed(false)
+ , m_updatedCocoaTextInputRequested(false)
+ , m_keyDownSent(false)
+ , m_disregardKeyUpCounter(0)
+#else
+ , m_isWindowed(true)
+#endif
+ , m_isTransparent(false)
+ , m_haveInitialized(false)
+ , m_isWaitingToStart(false)
+#if defined(XP_UNIX)
+ , m_needsXEmbed(false)
+#endif
+#if OS(WINDOWS) && ENABLE(NETSCAPE_PLUGIN_API)
+ , m_pluginWndProc(0)
+ , m_lastMessage(0)
+ , m_isCallingPluginWndProc(false)
+ , m_wmPrintHDC(0)
+ , m_haveUpdatedPluginWidget(false)
+#endif
+#if PLATFORM(QT) && OS(WINDOWS)
+ , m_window(0)
+#endif
+#if defined(XP_MACOSX)
+ , m_contextRef(0)
+#endif
+#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
+ , m_hasPendingGeometryChange(true)
+ , m_drawable(0)
+ , m_visual(0)
+ , m_colormap(0)
+ , m_pluginDisplay(0)
+#endif
+#if PLATFORM(QT) && defined(MOZ_PLATFORM_MAEMO) && (MOZ_PLATFORM_MAEMO >= 5)
+ , m_renderToImage(false)
+#endif
+ , m_loadManually(loadManually)
+ , m_manualStream(0)
+ , m_isJavaScriptPaused(false)
+ , m_haveCalledSetWindow(false)
+{
+ if (!m_plugin) {
+ m_status = PluginStatusCanNotFindPlugin;
+ return;
+ }
+
+ m_instance = &m_instanceStruct;
+ m_instance->ndata = this;
+ m_instance->pdata = 0;
+
+ instanceMap().add(m_instance, this);
+
+ setParameters(paramNames, paramValues);
+
+ memset(&m_npWindow, 0, sizeof(m_npWindow));
+#if defined(XP_MACOSX)
+ memset(&m_npCgContext, 0, sizeof(m_npCgContext));
+#endif
+
+ resize(size);
+}
+
+void PluginView::focusPluginElement()
+{
+ if (Page* page = m_parentFrame->page())
+ page->focusController().setFocusedElement(m_element, m_parentFrame);
+ else
+ m_parentFrame->document()->setFocusedElement(m_element);
+}
+
+void PluginView::didReceiveResponse(const ResourceResponse& response)
+{
+ if (m_status != PluginStatusLoadedSuccessfully)
+ return;
+
+ ASSERT(m_loadManually);
+ ASSERT(!m_manualStream);
+
+ m_manualStream = PluginStream::create(this, m_parentFrame.get(), m_parentFrame->loader().activeDocumentLoader()->request(), false, 0, plugin()->pluginFuncs(), instance(), m_plugin->quirks());
+ m_manualStream->setLoadManually(true);
+
+ m_manualStream->didReceiveResponse(0, response);
+}
+
+void PluginView::didReceiveData(const char* data, int length)
+{
+ if (m_status != PluginStatusLoadedSuccessfully)
+ return;
+
+ ASSERT(m_loadManually);
+ ASSERT(m_manualStream);
+
+ m_manualStream->didReceiveData(0, data, length);
+}
+
+void PluginView::didFinishLoading()
+{
+ if (m_status != PluginStatusLoadedSuccessfully)
+ return;
+
+ ASSERT(m_loadManually);
+ ASSERT(m_manualStream);
+
+ m_manualStream->didFinishLoading(0);
+}
+
+void PluginView::didFail(const ResourceError& error)
+{
+ if (m_status != PluginStatusLoadedSuccessfully)
+ return;
+
+ ASSERT(m_loadManually);
+
+ if (m_manualStream)
+ m_manualStream->didFail(0, error);
+}
+
+void PluginView::setCallingPlugin(bool b) const
+{
+ if (!m_plugin->quirks().contains(PluginQuirkHasModalMessageLoop))
+ return;
+
+ if (b)
+ ++s_callingPlugin;
+ else
+ --s_callingPlugin;
+
+ ASSERT(s_callingPlugin >= 0);
+}
+
+bool PluginView::isCallingPlugin()
+{
+ return s_callingPlugin > 0;
+}
+
+Ref<PluginView> PluginView::create(Frame* parentFrame, const IntSize& size, HTMLPlugInElement* element, const URL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
+{
+ // if we fail to find a plugin for this MIME type, findPlugin will search for
+ // a plugin by the file extension and update the MIME type, so pass a mutable String
+ String mimeTypeCopy = mimeType;
+ PluginPackage* plugin = PluginDatabase::installedPlugins()->findPlugin(url, mimeTypeCopy);
+
+ // No plugin was found, try refreshing the database and searching again
+ if (!plugin && PluginDatabase::installedPlugins()->refresh()) {
+ mimeTypeCopy = mimeType;
+ plugin = PluginDatabase::installedPlugins()->findPlugin(url, mimeTypeCopy);
+ }
+
+ return adoptRef(*new PluginView(parentFrame, size, plugin, element, url, paramNames, paramValues, mimeTypeCopy, loadManually));
+}
+
+void PluginView::freeStringArray(char** stringArray, int length)
+{
+ if (!stringArray)
+ return;
+
+ for (int i = 0; i < length; i++)
+ fastFree(stringArray[i]);
+
+ fastFree(stringArray);
+}
+
+static inline bool startsWithBlankLine(const Vector<char>& buffer)
+{
+ return buffer.size() > 0 && buffer[0] == '\n';
+}
+
+static inline int locationAfterFirstBlankLine(const Vector<char>& buffer)
+{
+ const char* bytes = buffer.data();
+ unsigned length = buffer.size();
+
+ for (unsigned i = 0; i < length - 4; i++) {
+ // Support for Acrobat. It sends "\n\n".
+ if (bytes[i] == '\n' && bytes[i + 1] == '\n')
+ return i + 2;
+
+ // Returns the position after 2 CRLF's or 1 CRLF if it is the first line.
+ if (bytes[i] == '\r' && bytes[i + 1] == '\n') {
+ i += 2;
+ if (i == 2)
+ return i;
+ else if (bytes[i] == '\n')
+ // Support for Director. It sends "\r\n\n" (3880387).
+ return i + 1;
+ else if (bytes[i] == '\r' && bytes[i + 1] == '\n')
+ // Support for Flash. It sends "\r\n\r\n" (3758113).
+ return i + 2;
+ }
+ }
+
+ return -1;
+}
+
+static inline const char* findEOL(const char* bytes, unsigned length)
+{
+ // According to the HTTP specification EOL is defined as
+ // a CRLF pair. Unfortunately, some servers will use LF
+ // instead. Worse yet, some servers will use a combination
+ // of both (e.g. <header>CRLFLF<body>), so findEOL needs
+ // to be more forgiving. It will now accept CRLF, LF or
+ // CR.
+ //
+ // It returns NULL if EOLF is not found or it will return
+ // a pointer to the first terminating character.
+ for (unsigned i = 0; i < length; i++) {
+ if (bytes[i] == '\n')
+ return bytes + i;
+ if (bytes[i] == '\r') {
+ // Check to see if spanning buffer bounds
+ // (CRLF is across reads). If so, wait for
+ // next read.
+ if (i + 1 == length)
+ break;
+
+ return bytes + i;
+ }
+ }
+
+ return 0;
+}
+
+static inline String capitalizeRFC822HeaderFieldName(const String& name)
+{
+ bool capitalizeCharacter = true;
+ String result;
+
+ for (unsigned i = 0; i < name.length(); i++) {
+ UChar c;
+
+ if (capitalizeCharacter && name[i] >= 'a' && name[i] <= 'z')
+ c = toASCIIUpper(name[i]);
+ else if (!capitalizeCharacter && name[i] >= 'A' && name[i] <= 'Z')
+ c = toASCIILower(name[i]);
+ else
+ c = name[i];
+
+ if (name[i] == '-')
+ capitalizeCharacter = true;
+ else
+ capitalizeCharacter = false;
+
+ result.append(c);
+ }
+
+ return result;
+}
+
+static inline HTTPHeaderMap parseRFC822HeaderFields(const Vector<char>& buffer, unsigned length)
+{
+ const char* bytes = buffer.data();
+ const char* eol;
+ String lastKey;
+ HTTPHeaderMap headerFields;
+
+ // Loop ove rlines until we're past the header, or we can't find any more end-of-lines
+ while ((eol = findEOL(bytes, length))) {
+ const char* line = bytes;
+ int lineLength = eol - bytes;
+
+ // Move bytes to the character after the terminator as returned by findEOL.
+ bytes = eol + 1;
+ if ((*eol == '\r') && (*bytes == '\n'))
+ bytes++; // Safe since findEOL won't return a spanning CRLF.
+
+ length -= (bytes - line);
+ if (lineLength == 0)
+ // Blank line; we're at the end of the header
+ break;
+ else if (*line == ' ' || *line == '\t') {
+ // Continuation of the previous header
+ if (lastKey.isNull()) {
+ // malformed header; ignore it and continue
+ continue;
+ } else {
+ // Merge the continuation of the previous header
+ String currentValue = headerFields.get(lastKey);
+ String newValue(line, lineLength);
+
+ headerFields.set(lastKey, currentValue + newValue);
+ }
+ } else {
+ // Brand new header
+ const char* colon;
+ for (colon = line; *colon != ':' && colon != eol; colon++) {
+ // empty loop
+ }
+ if (colon == eol)
+ // malformed header; ignore it and continue
+ continue;
+ else {
+ lastKey = capitalizeRFC822HeaderFieldName(String(line, colon - line));
+ String value;
+
+ for (colon++; colon != eol; colon++) {
+ if (*colon != ' ' && *colon != '\t')
+ break;
+ }
+ if (colon == eol)
+ value = "";
+ else
+ value = String(colon, eol - colon);
+
+ String oldValue = headerFields.get(lastKey);
+ if (!oldValue.isNull())
+ value = oldValue + ", " + value;
+
+ headerFields.set(lastKey, value);
+ }
+ }
+ }
+
+ return headerFields;
+}
+
+NPError PluginView::handlePost(const char* url, const char* target, uint32_t len, const char* buf, bool file, void* notifyData, bool sendNotification, bool allowHeaders)
+{
+ if (!url || !len || !buf)
+ return NPERR_INVALID_PARAM;
+
+ FrameLoadRequest frameLoadRequest(m_parentFrame->document()->securityOrigin(), LockHistory::No, LockBackForwardList::No, ShouldSendReferrer::MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, ShouldOpenExternalURLsPolicy::ShouldNotAllow);
+
+ HTTPHeaderMap headerFields;
+ Vector<char> buffer;
+
+ if (file) {
+ NPError readResult = handlePostReadFile(buffer, len, buf);
+ if(readResult != NPERR_NO_ERROR)
+ return readResult;
+ } else {
+ buffer.resize(len);
+ memcpy(buffer.data(), buf, len);
+ }
+
+ const char* postData = buffer.data();
+ int postDataLength = buffer.size();
+
+ if (allowHeaders) {
+ if (startsWithBlankLine(buffer)) {
+ postData++;
+ postDataLength--;
+ } else {
+ int location = locationAfterFirstBlankLine(buffer);
+ if (location != -1) {
+ // If the blank line is somewhere in the middle of the buffer, everything before is the header
+ headerFields = parseRFC822HeaderFields(buffer, location);
+ unsigned dataLength = buffer.size() - location;
+
+ // Sometimes plugins like to set Content-Length themselves when they post,
+ // but WebFoundation does not like that. So we will remove the header
+ // and instead truncate the data to the requested length.
+ String contentLength = headerFields.get(HTTPHeaderName::ContentLength);
+
+ if (!contentLength.isNull())
+ dataLength = min(contentLength.toInt(), (int)dataLength);
+ headerFields.remove(HTTPHeaderName::ContentLength);
+
+ postData += location;
+ postDataLength = dataLength;
+ }
+ }
+ }
+
+ frameLoadRequest.resourceRequest().setHTTPMethod("POST");
+ frameLoadRequest.resourceRequest().setURL(makeURL(m_parentFrame->document()->baseURL(), url));
+ frameLoadRequest.resourceRequest().setHTTPHeaderFields(WTFMove(headerFields));
+ frameLoadRequest.resourceRequest().setHTTPBody(FormData::create(postData, postDataLength));
+ frameLoadRequest.setFrameName(target);
+
+ return load(frameLoadRequest, sendNotification, notifyData);
+}
+
+void PluginView::invalidateWindowlessPluginRect(const IntRect& rect)
+{
+ if (!isVisible())
+ return;
+
+ if (!m_element->renderer())
+ return;
+ auto& renderer = downcast<RenderBox>(*m_element->renderer());
+
+ IntRect dirtyRect = rect;
+ dirtyRect.move(renderer.borderLeft() + renderer.paddingLeft(), renderer.borderTop() + renderer.paddingTop());
+ renderer.repaintRectangle(dirtyRect);
+}
+
+void PluginView::paintMissingPluginIcon(GraphicsContext& context, const IntRect& rect)
+{
+ static RefPtr<Image> nullPluginImage;
+ if (!nullPluginImage)
+ nullPluginImage = Image::loadPlatformResource("nullPlugin");
+
+ IntRect imageRect(frameRect().x(), frameRect().y(), nullPluginImage->width(), nullPluginImage->height());
+
+ int xOffset = (frameRect().width() - imageRect.width()) / 2;
+ int yOffset = (frameRect().height() - imageRect.height()) / 2;
+
+ imageRect.move(xOffset, yOffset);
+
+ if (!rect.intersects(imageRect))
+ return;
+
+ context.save();
+ context.clip(windowClipRect());
+ context.drawImage(*nullPluginImage, imageRect.location());
+ context.restore();
+}
+
+static const char* MozillaUserAgent = "Mozilla/5.0 ("
+#if defined(XP_MACOSX)
+ "Macintosh; U; Intel Mac OS X;"
+#elif defined(XP_WIN)
+ "Windows; U; Windows NT 5.1;"
+#elif defined(XP_UNIX)
+// The Gtk port uses X11 plugins in Mac.
+#if OS(DARWIN) && PLATFORM(GTK)
+ "X11; U; Intel Mac OS X;"
+#else
+ "X11; U; Linux i686;"
+#endif
+#endif
+ " en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0";
+
+static const char* const ChromeUserAgent = "Mozilla/5.0 ("
+#if defined(XP_MACOSX)
+ "Macintosh; U; Intel Mac OS X;"
+#elif defined(XP_WIN)
+ "Windows; U; Windows NT 5.1;"
+#elif defined(XP_UNIX)
+ // The Gtk port uses X11 plugins in Mac.
+#if OS(DARWIN) && PLATFORM(GTK)
+ "X11; U; Intel Mac OS X;"
+#else
+ "X11; U; Linux i686;"
+#endif
+#endif
+ " AppleWebKit/534.34 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/534.34";
+
+const char* PluginView::userAgent()
+{
+ if (m_plugin->quirks().contains(PluginQuirkWantsMozillaUserAgent))
+ return MozillaUserAgent;
+ else if (m_plugin->quirks().contains(PluginQuirkWantsChromeUserAgent))
+ return ChromeUserAgent;
+ if (m_userAgent.isNull())
+ m_userAgent = m_parentFrame->loader().userAgent(m_url).utf8();
+
+ return m_userAgent.data();
+}
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+const char* PluginView::userAgentStatic()
+{
+ return MozillaUserAgent;
+}
+#endif
+
+
+void PluginView::lifeSupportTimerFired()
+{
+ deref();
+}
+
+void PluginView::keepAlive()
+{
+ if (m_lifeSupportTimer.isActive())
+ return;
+
+ ref();
+ m_lifeSupportTimer.startOneShot(0);
+}
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+void PluginView::keepAlive(NPP instance)
+{
+ PluginView* view = instanceMap().get(instance);
+ if (!view)
+ return;
+
+ view->keepAlive();
+}
+
+NPError PluginView::getValueStatic(NPNVariable variable, void* value)
+{
+ LOG(Plugins, "PluginView::getValueStatic(%s)", prettyNameForNPNVariable(variable).data());
+
+ NPError result;
+ if (platformGetValueStatic(variable, value, &result))
+ return result;
+
+ return NPERR_GENERIC_ERROR;
+}
+
+NPError PluginView::getValue(NPNVariable variable, void* value)
+{
+ LOG(Plugins, "PluginView::getValue(%s)", prettyNameForNPNVariable(variable).data());
+
+ NPError result;
+ if (platformGetValue(variable, value, &result))
+ return result;
+
+ if (platformGetValueStatic(variable, value, &result))
+ return result;
+
+ switch (variable) {
+ case NPNVWindowNPObject: {
+ if (m_isJavaScriptPaused)
+ return NPERR_GENERIC_ERROR;
+
+ NPObject* windowScriptObject = m_parentFrame->script().windowScriptNPObject();
+
+ // Return value is expected to be retained, as described here: <http://www.mozilla.org/projects/plugin/npruntime.html>
+ if (windowScriptObject)
+ _NPN_RetainObject(windowScriptObject);
+
+ void** v = (void**)value;
+ *v = windowScriptObject;
+
+ return NPERR_NO_ERROR;
+ }
+
+ case NPNVPluginElementNPObject: {
+ if (m_isJavaScriptPaused)
+ return NPERR_GENERIC_ERROR;
+
+ NPObject* pluginScriptObject = 0;
+
+ if (m_element->hasTagName(appletTag) || m_element->hasTagName(embedTag) || m_element->hasTagName(objectTag))
+ pluginScriptObject = m_element->getNPObject();
+
+ // Return value is expected to be retained, as described here: <http://www.mozilla.org/projects/plugin/npruntime.html>
+ if (pluginScriptObject)
+ _NPN_RetainObject(pluginScriptObject);
+
+ void** v = (void**)value;
+ *v = pluginScriptObject;
+
+ return NPERR_NO_ERROR;
+ }
+
+ case NPNVprivateModeBool: {
+ Page* page = m_parentFrame->page();
+ if (!page)
+ return NPERR_GENERIC_ERROR;
+ *((NPBool*)value) = page->usesEphemeralSession();
+ return NPERR_NO_ERROR;
+ }
+
+ default:
+ return NPERR_GENERIC_ERROR;
+ }
+}
+
+static Frame* getFrame(Frame* parentFrame, Element* element)
+{
+ if (parentFrame)
+ return parentFrame;
+
+ return element->document().frame();
+}
+
+NPError PluginView::getValueForURL(NPNURLVariable variable, const char* url, char** value, uint32_t* len)
+{
+ LOG(Plugins, "PluginView::getValueForURL(%s)", prettyNameForNPNURLVariable(variable).data());
+
+ NPError result = NPERR_NO_ERROR;
+
+ switch (variable) {
+ case NPNURLVCookie: {
+ URL u(m_parentFrame->document()->baseURL(), url);
+ if (u.isValid()) {
+ Frame* frame = getFrame(parentFrame(), m_element);
+ if (frame) {
+ const CString cookieStr = cookies(frame->document(), u).utf8();
+ if (!cookieStr.isNull()) {
+ const int size = cookieStr.length();
+ *value = static_cast<char*>(NPN_MemAlloc(size+1));
+ if (*value) {
+ memset(*value, 0, size+1);
+ memcpy(*value, cookieStr.data(), size+1);
+ if (len)
+ *len = size;
+ } else
+ result = NPERR_OUT_OF_MEMORY_ERROR;
+ }
+ }
+ } else
+ result = NPERR_INVALID_URL;
+ break;
+ }
+ case NPNURLVProxy: {
+ URL u(m_parentFrame->document()->baseURL(), url);
+ if (u.isValid()) {
+ Frame* frame = getFrame(parentFrame(), m_element);
+ const FrameLoader* frameLoader = frame ? &frame->loader() : 0;
+ const NetworkingContext* context = frameLoader ? frameLoader->networkingContext() : 0;
+ const CString proxyStr = toString(proxyServersForURL(u, context)).utf8();
+ if (!proxyStr.isNull()) {
+ const int size = proxyStr.length();
+ *value = static_cast<char*>(NPN_MemAlloc(size+1));
+ if (*value) {
+ memset(*value, 0, size+1);
+ memcpy(*value, proxyStr.data(), size+1);
+ if (len)
+ *len = size;
+ } else
+ result = NPERR_OUT_OF_MEMORY_ERROR;
+ }
+ } else
+ result = NPERR_INVALID_URL;
+ break;
+ }
+ default:
+ result = NPERR_GENERIC_ERROR;
+ LOG(Plugins, "PluginView::getValueForURL: %s", prettyNameForNPNURLVariable(variable).data());
+ break;
+ }
+
+ return result;
+}
+
+
+NPError PluginView::setValueForURL(NPNURLVariable variable, const char* url, const char* value, uint32_t len)
+{
+ LOG(Plugins, "PluginView::setValueForURL(%s)", prettyNameForNPNURLVariable(variable).data());
+
+ NPError result = NPERR_NO_ERROR;
+
+ switch (variable) {
+ case NPNURLVCookie: {
+ URL u(m_parentFrame->document()->baseURL(), url);
+ if (u.isValid()) {
+ const String cookieStr = String::fromUTF8(value, len);
+ Frame* frame = getFrame(parentFrame(), m_element);
+ if (frame && !cookieStr.isEmpty())
+ setCookies(frame->document(), u, cookieStr);
+ } else
+ result = NPERR_INVALID_URL;
+ break;
+ }
+ case NPNURLVProxy:
+ LOG(Plugins, "PluginView::setValueForURL(%s): Plugins are NOT allowed to set proxy information.", prettyNameForNPNURLVariable(variable).data());
+ result = NPERR_GENERIC_ERROR;
+ break;
+ default:
+ LOG(Plugins, "PluginView::setValueForURL: %s", prettyNameForNPNURLVariable(variable).data());
+ result = NPERR_GENERIC_ERROR;
+ break;
+ }
+
+ return result;
+}
+
+NPError PluginView::getAuthenticationInfo(const char* protocol, const char* host, int32_t port, const char* /* scheme */, const char* /* realm */, char** /* username */, uint32_t* /* ulen */, char** /* password */, uint32_t* /* plen */)
+{
+#if LOG_DISABLED
+ UNUSED_PARAM(protocol);
+ UNUSED_PARAM(host);
+ UNUSED_PARAM(port);
+#endif
+ LOG(Plugins, "PluginView::getAuthenticationInfo: protocol=%s, host=%s, port=%d", protocol, host, port);
+ notImplemented();
+ return NPERR_GENERIC_ERROR;
+}
+#endif
+
+void PluginView::privateBrowsingStateChanged(bool privateBrowsingEnabled)
+{
+ NPP_SetValueProcPtr setValue = m_plugin->pluginFuncs()->setvalue;
+ if (!setValue)
+ return;
+
+ PluginView::setCurrentPluginView(this);
+ JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
+ setCallingPlugin(true);
+ NPBool value = privateBrowsingEnabled;
+ setValue(m_instance, NPNVprivateModeBool, &value);
+ setCallingPlugin(false);
+ PluginView::setCurrentPluginView(0);
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(NETSCAPE_PLUGIN_API)
diff --git a/Source/WebKit/win/Plugins/PluginView.h b/Source/WebKit/win/Plugins/PluginView.h
new file mode 100644
index 000000000..dfdae16f2
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginView.h
@@ -0,0 +1,465 @@
+/*
+ * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora Ltd. All rights reserved.
+ * Copyright (C) 2009 Girish Ramakrishnan <girish@forwardbias.in>
+ *
+ * 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 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 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 PluginView_h
+#define PluginView_h
+
+#include "FrameLoadRequest.h"
+#include "IntRect.h"
+#include "MediaCanStartListener.h"
+#include "PluginViewBase.h"
+#include "ResourceRequest.h"
+#include "Timer.h"
+#include <wtf/HashMap.h>
+#include <wtf/HashSet.h>
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefPtr.h>
+#include <wtf/Vector.h>
+#include <wtf/text/CString.h>
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+#include "PluginStream.h"
+#include "npruntime_internal.h"
+#endif
+
+#if OS(WINDOWS) && (PLATFORM(GTK) || PLATFORM(QT))
+typedef struct HWND__* HWND;
+typedef HWND PlatformPluginWidget;
+#else
+typedef PlatformWidget PlatformPluginWidget;
+#endif
+#if PLATFORM(QT)
+#if USE(TEXTURE_MAPPER)
+#include "TextureMapperPlatformLayer.h"
+#endif
+
+#include <QImage>
+QT_BEGIN_NAMESPACE
+class QPainter;
+QT_END_NAMESPACE
+#endif
+#if PLATFORM(GTK)
+typedef struct _GtkSocket GtkSocket;
+#endif
+
+#if PLATFORM(X11)
+typedef unsigned long Window;
+typedef struct _XDisplay Display;
+#endif
+
+namespace JSC {
+ namespace Bindings {
+ class Instance;
+ }
+}
+
+namespace WebCore {
+ class Frame;
+ class FrameView;
+ class Image;
+ class HTMLPlugInElement;
+ class KeyboardEvent;
+ class MouseEvent;
+ class URL;
+#if OS(WINDOWS) && ENABLE(NETSCAPE_PLUGIN_API)
+ class PluginMessageThrottlerWin;
+#endif
+ class PluginPackage;
+ class PluginRequest;
+ class PluginStream;
+ class ResourceError;
+ class ResourceResponse;
+ class WheelEvent;
+
+ enum PluginStatus {
+ PluginStatusCanNotFindPlugin,
+ PluginStatusCanNotLoadPlugin,
+ PluginStatusLoadedSuccessfully
+ };
+
+ class PluginRequest {
+ WTF_MAKE_NONCOPYABLE(PluginRequest); WTF_MAKE_FAST_ALLOCATED;
+ public:
+ PluginRequest(const FrameLoadRequest& frameLoadRequest, bool sendNotification, void* notifyData, bool shouldAllowPopups)
+ : m_frameLoadRequest(frameLoadRequest)
+ , m_notifyData(notifyData)
+ , m_sendNotification(sendNotification)
+ , m_shouldAllowPopups(shouldAllowPopups) { }
+ public:
+ const FrameLoadRequest& frameLoadRequest() const { return m_frameLoadRequest; }
+ void* notifyData() const { return m_notifyData; }
+ bool sendNotification() const { return m_sendNotification; }
+ bool shouldAllowPopups() const { return m_shouldAllowPopups; }
+ private:
+ FrameLoadRequest m_frameLoadRequest;
+ void* m_notifyData;
+ bool m_sendNotification;
+ bool m_shouldAllowPopups;
+ };
+
+ class PluginManualLoader {
+ public:
+ virtual ~PluginManualLoader() {}
+ virtual void didReceiveResponse(const ResourceResponse&) = 0;
+ virtual void didReceiveData(const char*, int) = 0;
+ virtual void didFinishLoading() = 0;
+ virtual void didFail(const ResourceError&) = 0;
+ };
+
+ class PluginView : public PluginViewBase
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ , private PluginStreamClient
+#endif
+ , public PluginManualLoader
+ , private MediaCanStartListener {
+ public:
+ static Ref<PluginView> create(Frame* parentFrame, const IntSize&, HTMLPlugInElement*, const URL&, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually);
+ virtual ~PluginView();
+
+ PluginPackage* plugin() const { return m_plugin.get(); }
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ NPP instance() const { return m_instance; }
+#endif
+
+ void setNPWindowRect(const IntRect&);
+ static PluginView* currentPluginView();
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ NPObject* npObject();
+#endif
+ virtual RefPtr<JSC::Bindings::Instance> bindingInstance() override;
+
+ PluginStatus status() const { return m_status; }
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ // NPN functions
+ NPError getURLNotify(const char* url, const char* target, void* notifyData);
+ NPError getURL(const char* url, const char* target);
+ NPError postURLNotify(const char* url, const char* target, uint32_t len, const char* but, NPBool file, void* notifyData);
+ NPError postURL(const char* url, const char* target, uint32_t len, const char* but, NPBool file);
+ NPError newStream(NPMIMEType type, const char* target, NPStream** stream);
+ int32_t write(NPStream* stream, int32_t len, void* buffer);
+ NPError destroyStream(NPStream* stream, NPReason reason);
+#endif
+ const char* userAgent();
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ static const char* userAgentStatic();
+#endif
+ void status(const char* message);
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ NPError getValue(NPNVariable variable, void* value);
+ static NPError getValueStatic(NPNVariable variable, void* value);
+ NPError setValue(NPPVariable variable, void* value);
+ NPError getValueForURL(NPNURLVariable variable, const char* url, char** value, uint32_t* len);
+ NPError setValueForURL(NPNURLVariable variable, const char* url, const char* value, uint32_t len);
+ NPError getAuthenticationInfo(const char* protocol, const char* host, int32_t port, const char* scheme, const char* realm, char** username, uint32_t* ulen, char** password, uint32_t* plen);
+ void invalidateRect(NPRect*);
+ void invalidateRegion(NPRegion);
+#endif
+ void forceRedraw();
+ void pushPopupsEnabledState(bool state);
+ void popPopupsEnabledState();
+
+ virtual void invalidateRect(const IntRect&);
+
+ bool arePopupsAllowed() const;
+
+ void setJavaScriptPaused(bool);
+
+ void privateBrowsingStateChanged(bool);
+
+ void disconnectStream(PluginStream*);
+ void streamDidFinishLoading(PluginStream* stream) { disconnectStream(stream); }
+
+ // Widget functions
+ virtual void setFrameRect(const IntRect&);
+ virtual void frameRectsChanged();
+ virtual void setFocus(bool);
+ virtual void show();
+ virtual void hide();
+ virtual void paint(GraphicsContext&, const IntRect&);
+ virtual void clipRectChanged() override;
+
+ // This method is used by plugins on all platforms to obtain a clip rect that includes clips set by WebCore,
+ // e.g., in overflow:auto sections. The clip rects coordinates are in the containing window's coordinate space.
+ // This clip includes any clips that the widget itself sets up for its children.
+ IntRect windowClipRect() const;
+
+ virtual void handleEvent(Event*);
+ virtual void setParent(ScrollView*);
+ virtual void setParentVisible(bool);
+
+ virtual bool isPluginView() const override { return true; }
+
+ Frame* parentFrame() const { return m_parentFrame.get(); }
+
+ void focusPluginElement();
+
+ const String& pluginsPage() const { return m_pluginsPage; }
+ const String& mimeType() const { return m_mimeType; }
+ const URL& url() const { return m_url; }
+
+#if defined(XP_MACOSX) && ENABLE(NETSCAPE_PLUGIN_API)
+ bool popUpContextMenu(NPMenu*);
+#endif
+
+#if OS(WINDOWS) && ENABLE(NETSCAPE_PLUGIN_API)
+ static LRESULT CALLBACK PluginViewWndProc(HWND, UINT, WPARAM, LPARAM);
+ LRESULT wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
+ WNDPROC pluginWndProc() const { return m_pluginWndProc; }
+#endif
+
+ // Used for manual loading
+ void didReceiveResponse(const ResourceResponse&);
+ void didReceiveData(const char*, int);
+ void didFinishLoading();
+ void didFail(const ResourceError&);
+
+ static bool isCallingPlugin();
+
+ bool start();
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ static void keepAlive(NPP);
+#endif
+ void keepAlive();
+
+#if PLATFORM(X11)
+ static Display* getPluginDisplay(Frame*);
+ static Window getRootWindow(Frame* parentFrame);
+#endif
+
+#if PLATFORM(QT) && ENABLE(NETSCAPE_PLUGIN_API) && defined(XP_UNIX)
+ // PluginViewQt (X11) needs a few workarounds when running under DRT
+ static void setIsRunningUnderDRT(bool flag) { s_isRunningUnderDRT = flag; }
+#endif
+
+ private:
+ PluginView(Frame* parentFrame, const IntSize&, PluginPackage*, HTMLPlugInElement*, const URL&, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually);
+
+ void setParameters(const Vector<String>& paramNames, const Vector<String>& paramValues);
+ bool startOrAddToUnstartedList();
+ void init();
+ bool platformStart();
+ void stop();
+ void platformDestroy();
+ static void setCurrentPluginView(PluginView*);
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ NPError load(const FrameLoadRequest&, bool sendNotification, void* notifyData);
+ NPError handlePost(const char* url, const char* target, uint32_t len, const char* buf, bool file, void* notifyData, bool sendNotification, bool allowHeaders);
+ NPError handlePostReadFile(Vector<char>& buffer, uint32_t len, const char* buf);
+#endif
+ static void freeStringArray(char** stringArray, int length);
+ void setCallingPlugin(bool) const;
+
+ void invalidateWindowlessPluginRect(const IntRect&);
+
+ virtual void mediaCanStart();
+
+#if OS(WINDOWS) && ENABLE(NETSCAPE_PLUGIN_API)
+ void paintWindowedPluginIntoContext(GraphicsContext&, const IntRect&);
+ static HDC WINAPI hookedBeginPaint(HWND, PAINTSTRUCT*);
+ static BOOL WINAPI hookedEndPaint(HWND, const PAINTSTRUCT*);
+#endif
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ static bool platformGetValueStatic(NPNVariable variable, void* value, NPError* result);
+ bool platformGetValue(NPNVariable variable, void* value, NPError* result);
+#endif
+
+ RefPtr<Frame> m_parentFrame;
+ RefPtr<PluginPackage> m_plugin;
+ HTMLPlugInElement* m_element;
+ bool m_isStarted;
+ URL m_url;
+ PluginStatus m_status;
+ Vector<IntRect> m_invalidRects;
+
+ void performRequest(PluginRequest*);
+ void scheduleRequest(std::unique_ptr<PluginRequest>);
+ void requestTimerFired();
+ void invalidateTimerFired();
+ Timer m_requestTimer;
+ Timer m_invalidateTimer;
+
+ void popPopupsStateTimerFired();
+ Timer m_popPopupsStateTimer;
+
+ void lifeSupportTimerFired();
+ Timer m_lifeSupportTimer;
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ bool dispatchNPEvent(NPEvent&);
+#endif
+#if defined(XP_MACOSX) && ENABLE(NETSCAPE_PLUGIN_API)
+ int16_t dispatchNPCocoaEvent(NPCocoaEvent&);
+ bool m_updatedCocoaTextInputRequested;
+ bool m_keyDownSent;
+ uint16_t m_disregardKeyUpCounter;
+#endif
+
+#if defined(XP_MACOSX)
+ void handleWheelEvent(WheelEvent*);
+#endif
+ void updatePluginWidget();
+ void paintMissingPluginIcon(GraphicsContext&, const IntRect&);
+
+ void handleKeyboardEvent(KeyboardEvent*);
+ void handleMouseEvent(MouseEvent*);
+#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
+ void handleFocusInEvent();
+ void handleFocusOutEvent();
+#endif
+
+#if OS(WINDOWS)
+ void paintIntoTransformedContext(HDC);
+ PassRefPtr<Image> snapshot();
+#endif
+
+ float deviceScaleFactor() const;
+
+ int m_mode;
+ int m_paramCount;
+ char** m_paramNames;
+ char** m_paramValues;
+ String m_pluginsPage;
+
+ String m_mimeType;
+ WTF::CString m_userAgent;
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+ NPP m_instance;
+ NPP_t m_instanceStruct;
+ NPWindow m_npWindow;
+#endif
+
+ Vector<bool, 4> m_popupStateStack;
+
+ HashSet<RefPtr<PluginStream> > m_streams;
+ Vector<std::unique_ptr<PluginRequest>> m_requests;
+
+ bool m_isWindowed;
+ bool m_isTransparent;
+ bool m_haveInitialized;
+ bool m_isWaitingToStart;
+
+#if defined(XP_UNIX)
+ bool m_needsXEmbed;
+#endif
+
+#if OS(WINDOWS) && ENABLE(NETSCAPE_PLUGIN_API)
+ std::unique_ptr<PluginMessageThrottlerWin> m_messageThrottler;
+ WNDPROC m_pluginWndProc;
+ unsigned m_lastMessage;
+ bool m_isCallingPluginWndProc;
+ HDC m_wmPrintHDC;
+ bool m_haveUpdatedPluginWidget;
+#endif
+
+#if PLATFORM(QT) && OS(WINDOWS)
+ // On Mac OSX and Qt/Windows the plugin does not have its own native widget,
+ // but is using the containing window as its reference for positioning/painting.
+ PlatformPluginWidget m_window;
+public:
+ PlatformPluginWidget platformPluginWidget() const { return m_window; }
+ void setPlatformPluginWidget(PlatformPluginWidget widget) { m_window = widget; }
+#else
+public:
+ void setPlatformPluginWidget(PlatformPluginWidget widget) { setPlatformWidget(widget); }
+ PlatformPluginWidget platformPluginWidget() const { return platformWidget(); }
+#endif
+
+private:
+
+#if defined(XP_UNIX) || PLATFORM(GTK)
+ void setNPWindowIfNeeded();
+#elif defined(XP_MACOSX)
+ NP_CGContext m_npCgContext;
+ CGContextRef m_contextRef;
+
+ void setNPWindowIfNeeded();
+#endif
+
+#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
+ bool m_hasPendingGeometryChange;
+ Pixmap m_drawable;
+ Visual* m_visual;
+ Colormap m_colormap;
+ Display* m_pluginDisplay;
+
+ void initXEvent(XEvent* event);
+#endif
+
+#if PLATFORM(QT)
+#if defined(XP_UNIX) && ENABLE(NETSCAPE_PLUGIN_API)
+ static bool s_isRunningUnderDRT;
+ static void setXKeyEventSpecificFields(XEvent*, KeyboardEvent*);
+ void paintUsingXPixmap(QPainter* painter, const QRect &exposedRect);
+ QWebPageClient* platformPageClient() const;
+#endif
+#endif // PLATFORM(QT)
+
+#if PLATFORM(GTK)
+ static gboolean plugRemovedCallback(GtkSocket*, PluginView*);
+ static void plugAddedCallback(GtkSocket*, PluginView*);
+ void updateWidgetAllocationAndClip();
+ bool m_plugAdded;
+ IntRect m_delayedAllocation;
+#endif
+
+ IntRect m_clipRect; // The clip rect to apply to a windowed plug-in
+ IntRect m_windowRect; // Our window rect.
+
+ bool m_loadManually;
+ RefPtr<PluginStream> m_manualStream;
+
+ bool m_isJavaScriptPaused;
+
+ bool m_haveCalledSetWindow;
+
+ static PluginView* s_currentPluginView;
+ };
+
+inline PluginView* toPluginView(Widget* widget)
+{
+ ASSERT(!widget || widget->isPluginView());
+ return static_cast<PluginView*>(widget);
+}
+
+inline const PluginView* toPluginView(const Widget* widget)
+{
+ ASSERT(!widget || widget->isPluginView());
+ return static_cast<const PluginView*>(widget);
+}
+
+// This will catch anyone doing an unnecessary cast.
+void toPluginView(const PluginView*);
+
+} // namespace WebCore
+
+#endif
diff --git a/Source/WebKit/win/Plugins/PluginViewWin.cpp b/Source/WebKit/win/Plugins/PluginViewWin.cpp
new file mode 100644
index 000000000..68af391fc
--- /dev/null
+++ b/Source/WebKit/win/Plugins/PluginViewWin.cpp
@@ -0,0 +1,1075 @@
+/*
+ * Copyright (C) 2006, 2007, 2008, 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2008 Collabora Ltd. All rights reserved.
+ * Copyright (C) 2008-2009 Torch Mobile, 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 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 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 "PluginView.h"
+
+#include <WebCore/BitmapImage.h>
+#include <WebCore/BitmapInfo.h>
+#include <WebCore/BridgeJSC.h>
+#include <WebCore/Chrome.h>
+#include <WebCore/ChromeClient.h>
+#include <WebCore/Document.h>
+#include <WebCore/DocumentLoader.h>
+#include <WebCore/Element.h>
+#include <WebCore/EventNames.h>
+#include <WebCore/FocusController.h>
+#include <WebCore/Frame.h>
+#include <WebCore/FrameLoadRequest.h>
+#include <WebCore/FrameLoader.h>
+#include <WebCore/FrameTree.h>
+#include <WebCore/FrameView.h>
+#include <WebCore/GraphicsContext.h>
+#include <WebCore/HTMLNames.h>
+#include <WebCore/HTMLPlugInElement.h>
+#include <WebCore/HostWindow.h>
+#include <WebCore/Image.h>
+#include <WebCore/JSDOMBinding.h>
+#include <WebCore/JSDOMWindow.h>
+#include <WebCore/KeyboardEvent.h>
+#include <WebCore/LocalWindowsContext.h>
+#include <WebCore/MIMETypeRegistry.h>
+#include <WebCore/MouseEvent.h>
+#include <WebCore/Page.h>
+#include <WebCore/PlatformMouseEvent.h>
+#include "PluginDatabase.h"
+#include "PluginDebug.h"
+#include "PluginMainThreadScheduler.h"
+#include "PluginMessageThrottlerWin.h"
+#include "PluginPackage.h"
+#include <WebCore/RenderWidget.h>
+#include <WebCore/Settings.h>
+#include <WebCore/WebCoreInstanceHandle.h>
+#include <WebCore/c_instance.h>
+#include <WebCore/npruntime_impl.h>
+#include <WebCore/runtime_root.h>
+#include <runtime/JSCJSValue.h>
+#include <runtime/JSLock.h>
+#include <wtf/ASCIICType.h>
+#include <wtf/text/WTFString.h>
+#include <wtf/win/GDIObject.h>
+
+#if USE(CAIRO)
+#include "PlatformContextCairo.h"
+#include <cairo-win32.h>
+#endif
+
+#if PLATFORM(GTK)
+#include <gdk/gdkwin32.h>
+#include <gtk/gtk.h>
+#endif
+
+#if PLATFORM(QT)
+#include "QWebPageClient.h"
+#include <QWindow>
+#endif
+
+static inline HWND windowHandleForPageClient(PlatformPageClient client)
+{
+#if PLATFORM(GTK)
+ if (!client)
+ return 0;
+ if (GdkWindow* window = gtk_widget_get_window(client))
+ return static_cast<HWND>(GDK_WINDOW_HWND(window));
+ return 0;
+#elif PLATFORM(QT)
+ if (!client)
+ return 0;
+ if (QWindow* window = client->ownerWindow())
+ return reinterpret_cast<HWND>(window->winId());
+ return 0;
+#else
+ return client;
+#endif
+}
+
+using JSC::ExecState;
+using JSC::JSLock;
+using JSC::JSObject;
+
+using std::min;
+
+using namespace WTF;
+
+namespace WebCore {
+
+using namespace HTMLNames;
+
+const LPCWSTR kWebPluginViewClassName = L"WebPluginView";
+const LPCWSTR kWebPluginViewProperty = L"WebPluginViewProperty";
+
+// The code used to hook BeginPaint/EndPaint originally came from
+// <http://www.fengyuan.com/article/wmprint.html>.
+// Copyright (C) 2000 by Feng Yuan (www.fengyuan.com).
+
+static unsigned beginPaintSysCall;
+static BYTE* beginPaint;
+
+static unsigned endPaintSysCall;
+static BYTE* endPaint;
+
+typedef HDC (WINAPI *PtrBeginPaint)(HWND, PAINTSTRUCT*);
+typedef BOOL (WINAPI *PtrEndPaint)(HWND, const PAINTSTRUCT*);
+
+#if OS(WINDOWS) && CPU(X86_64) && COMPILER(MSVC)
+extern "C" HDC __stdcall _HBeginPaint(HWND hWnd, LPPAINTSTRUCT lpPaint);
+extern "C" BOOL __stdcall _HEndPaint(HWND hWnd, const PAINTSTRUCT* lpPaint);
+#endif
+
+HDC WINAPI PluginView::hookedBeginPaint(HWND hWnd, PAINTSTRUCT* lpPaint)
+{
+ PluginView* pluginView = reinterpret_cast<PluginView*>(GetProp(hWnd, kWebPluginViewProperty));
+ if (pluginView && pluginView->m_wmPrintHDC) {
+ // We're secretly handling WM_PRINTCLIENT, so set up the PAINTSTRUCT so
+ // that the plugin will paint into the HDC we provide.
+ memset(lpPaint, 0, sizeof(PAINTSTRUCT));
+ lpPaint->hdc = pluginView->m_wmPrintHDC;
+ GetClientRect(hWnd, &lpPaint->rcPaint);
+ return pluginView->m_wmPrintHDC;
+ }
+
+#if COMPILER(GCC)
+ HDC result;
+ asm ("push %2\n"
+ "push %3\n"
+ "call *%4\n"
+ : "=a" (result)
+ : "a" (beginPaintSysCall), "g" (lpPaint), "g" (hWnd), "m" (beginPaint)
+ : "memory"
+ );
+ return result;
+#elif defined(_M_IX86)
+ // Call through to the original BeginPaint.
+ __asm mov eax, beginPaintSysCall
+ __asm push lpPaint
+ __asm push hWnd
+ __asm call beginPaint
+#else
+ return _HBeginPaint(hWnd, lpPaint);
+#endif
+}
+
+BOOL WINAPI PluginView::hookedEndPaint(HWND hWnd, const PAINTSTRUCT* lpPaint)
+{
+ PluginView* pluginView = reinterpret_cast<PluginView*>(GetProp(hWnd, kWebPluginViewProperty));
+ if (pluginView && pluginView->m_wmPrintHDC) {
+ // We're secretly handling WM_PRINTCLIENT, so we don't have to do any
+ // cleanup.
+ return TRUE;
+ }
+
+#if COMPILER(GCC)
+ BOOL result;
+ asm ("push %2\n"
+ "push %3\n"
+ "call *%4\n"
+ : "=a" (result)
+ : "a" (endPaintSysCall), "g" (lpPaint), "g" (hWnd), "m" (endPaint)
+ );
+ return result;
+#elif defined (_M_IX86)
+ // Call through to the original EndPaint.
+ __asm mov eax, endPaintSysCall
+ __asm push lpPaint
+ __asm push hWnd
+ __asm call endPaint
+#else
+ return _HEndPaint(hWnd, lpPaint);
+#endif
+}
+
+static void hook(const char* module, const char* proc, unsigned& sysCallID, BYTE*& pProc, const void* pNewProc)
+{
+ // See <http://www.fengyuan.com/article/wmprint.html> for an explanation of
+ // how this function works.
+
+ HINSTANCE hMod = GetModuleHandleA(module);
+
+ pProc = reinterpret_cast<BYTE*>(reinterpret_cast<ptrdiff_t>(GetProcAddress(hMod, proc)));
+
+#if COMPILER(GCC) || defined(_M_IX86)
+ if (pProc[0] != 0xB8)
+ return;
+
+ // FIXME: Should we be reading the bytes one-by-one instead of doing an
+ // unaligned read?
+ sysCallID = *reinterpret_cast<unsigned*>(pProc + 1);
+
+ DWORD flOldProtect;
+ if (!VirtualProtect(pProc, 5, PAGE_EXECUTE_READWRITE, &flOldProtect))
+ return;
+
+ pProc[0] = 0xE9;
+ *reinterpret_cast<unsigned*>(pProc + 1) = reinterpret_cast<intptr_t>(pNewProc) - reinterpret_cast<intptr_t>(pProc + 5);
+
+ pProc += 5;
+#else
+ /* Disassembly of BeginPaint()
+ 00000000779FC5B0 4C 8B D1 mov r10,rcx
+ 00000000779FC5B3 B8 17 10 00 00 mov eax,1017h
+ 00000000779FC5B8 0F 05 syscall
+ 00000000779FC5BA C3 ret
+ 00000000779FC5BB 90 nop
+ 00000000779FC5BC 90 nop
+ 00000000779FC5BD 90 nop
+ 00000000779FC5BE 90 nop
+ 00000000779FC5BF 90 nop
+ 00000000779FC5C0 90 nop
+ 00000000779FC5C1 90 nop
+ 00000000779FC5C2 90 nop
+ 00000000779FC5C3 90 nop
+ */
+ // Check for the signature as in the above disassembly
+ DWORD guard = 0xB8D18B4C;
+ if (*reinterpret_cast<DWORD*>(pProc) != guard)
+ return;
+
+ DWORD flOldProtect;
+ VirtualProtect(pProc, 12, PAGE_EXECUTE_READWRITE, & flOldProtect);
+ pProc[0] = 0x48; // mov rax, this
+ pProc[1] = 0xb8;
+ *(__int64*)(pProc+2) = (__int64)pNewProc;
+ pProc[10] = 0xff; // jmp rax
+ pProc[11] = 0xe0;
+#endif
+}
+
+static void setUpOffscreenPaintingHooks(HDC (WINAPI*hookedBeginPaint)(HWND, PAINTSTRUCT*), BOOL (WINAPI*hookedEndPaint)(HWND, const PAINTSTRUCT*))
+{
+ static bool haveHooked = false;
+ if (haveHooked)
+ return;
+ haveHooked = true;
+
+ // Most (all?) windowed plugins don't seem to respond to WM_PRINTCLIENT, so
+ // we hook into BeginPaint/EndPaint to allow their normal WM_PAINT handling
+ // to draw into a given HDC. Note that this hooking affects the entire
+ // process.
+ hook("user32.dll", "BeginPaint", beginPaintSysCall, beginPaint, reinterpret_cast<const void *>(reinterpret_cast<ptrdiff_t>(hookedBeginPaint)));
+ hook("user32.dll", "EndPaint", endPaintSysCall, endPaint, reinterpret_cast<const void *>(reinterpret_cast<ptrdiff_t>(hookedEndPaint)));
+
+}
+
+static bool registerPluginView()
+{
+ static bool haveRegisteredWindowClass = false;
+ if (haveRegisteredWindowClass)
+ return true;
+
+ haveRegisteredWindowClass = true;
+
+#if PLATFORM(GTK) || PLATFORM(QT)
+ WebCore::setInstanceHandle((HINSTANCE)(GetModuleHandle(0)));
+#endif
+
+ ASSERT(WebCore::instanceHandle());
+
+ WNDCLASSEX wcex;
+ wcex.cbSize = sizeof(WNDCLASSEX);
+ wcex.hIconSm = 0;
+ wcex.style = CS_DBLCLKS;
+ wcex.lpfnWndProc = DefWindowProc;
+ wcex.cbClsExtra = 0;
+ wcex.cbWndExtra = 0;
+ wcex.hInstance = WebCore::instanceHandle();
+ wcex.hIcon = 0;
+ wcex.hCursor = LoadCursor(0, IDC_ARROW);
+ wcex.hbrBackground = (HBRUSH)COLOR_WINDOW;
+ wcex.lpszMenuName = 0;
+ wcex.lpszClassName = kWebPluginViewClassName;
+
+ return !!RegisterClassEx(&wcex);
+}
+
+LRESULT CALLBACK PluginView::PluginViewWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ PluginView* pluginView = reinterpret_cast<PluginView*>(GetProp(hWnd, kWebPluginViewProperty));
+
+ return pluginView->wndProc(hWnd, message, wParam, lParam);
+}
+
+static bool isWindowsMessageUserGesture(UINT message)
+{
+ switch (message) {
+ case WM_LBUTTONUP:
+ case WM_MBUTTONUP:
+ case WM_RBUTTONUP:
+ case WM_KEYUP:
+ return true;
+ default:
+ return false;
+ }
+}
+
+static inline bool isWebViewVisible(FrameView* view)
+{
+#if PLATFORM(QT)
+ if (PlatformPageClient client = view->hostWindow()->platformPageClient())
+ return client->isViewVisible();
+ return false;
+#else
+ return true;
+#endif // PLATFORM(QT)
+}
+
+static inline IntPoint contentsToNativeWindow(FrameView* view, const IntPoint& point)
+{
+#if PLATFORM(QT)
+ // Our web view's QWidget isn't necessarily a native window itself. Map the position
+ // all the way up to the QWidget associated with the HWND returned as NPNVnetscapeWindow.
+ if (PlatformPageClient client = view->hostWindow()->platformPageClient())
+ return client->mapToOwnerWindow(view->contentsToWindow(point));
+#endif
+ return view->contentsToWindow(point);
+}
+
+static inline IntRect contentsToNativeWindow(FrameView* view, const IntRect& rect)
+{
+#if PLATFORM(QT)
+ // This only handles translation of the rect.
+ ASSERT(view->contentsToWindow(rect).size() == rect.size());
+ return IntRect(contentsToNativeWindow(view, rect.location()), rect.size());
+#else
+ return view->contentsToWindow(rect);
+#endif
+}
+
+LRESULT
+PluginView::wndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ // <rdar://5711136> Sometimes Flash will call SetCapture before creating
+ // a full-screen window and will not release it, which causes the
+ // full-screen window to never receive mouse events. We set/release capture
+ // on mouse down/up before sending the event to the plug-in to prevent that.
+ switch (message) {
+ case WM_LBUTTONDOWN:
+ case WM_MBUTTONDOWN:
+ case WM_RBUTTONDOWN:
+ ::SetCapture(hWnd);
+ break;
+ case WM_LBUTTONUP:
+ case WM_MBUTTONUP:
+ case WM_RBUTTONUP:
+ ::ReleaseCapture();
+ break;
+ }
+
+ if (message == m_lastMessage &&
+ m_plugin->quirks().contains(PluginQuirkDontCallWndProcForSameMessageRecursively) &&
+ m_isCallingPluginWndProc)
+ return 1;
+
+ if (message == WM_USER + 1 &&
+ m_plugin->quirks().contains(PluginQuirkThrottleWMUserPlusOneMessages)) {
+ if (!m_messageThrottler)
+ m_messageThrottler = std::make_unique<PluginMessageThrottlerWin>(this);
+
+ m_messageThrottler->appendMessage(hWnd, message, wParam, lParam);
+ return 0;
+ }
+
+ m_lastMessage = message;
+ m_isCallingPluginWndProc = true;
+
+ // If the plug-in doesn't explicitly support changing the pop-up state, we enable
+ // popups for all user gestures.
+ // Note that we need to pop the state in a timer, because the Flash plug-in
+ // pops up windows in response to a posted message.
+ if (m_plugin->pluginFuncs()->version < NPVERS_HAS_POPUPS_ENABLED_STATE &&
+ isWindowsMessageUserGesture(message) && !m_popPopupsStateTimer.isActive()) {
+
+ pushPopupsEnabledState(true);
+
+ m_popPopupsStateTimer.startOneShot(0);
+ }
+
+ if (message == WM_PRINTCLIENT) {
+ // Most (all?) windowed plugins don't respond to WM_PRINTCLIENT, so we
+ // change the message to WM_PAINT and rely on our hooked versions of
+ // BeginPaint/EndPaint to make the plugin draw into the given HDC.
+ message = WM_PAINT;
+ m_wmPrintHDC = reinterpret_cast<HDC>(wParam);
+ }
+
+ // Call the plug-in's window proc.
+ LRESULT result = ::CallWindowProc(m_pluginWndProc, hWnd, message, wParam, lParam);
+
+ m_wmPrintHDC = 0;
+
+ m_isCallingPluginWndProc = false;
+
+ return result;
+}
+
+void PluginView::updatePluginWidget()
+{
+ if (!parent())
+ return;
+
+ FrameView& frameView = downcast<FrameView>(*parent());
+
+ IntRect oldWindowRect = m_windowRect;
+ IntRect oldClipRect = m_clipRect;
+
+ m_windowRect = IntRect(frameView.contentsToWindow(frameRect().location()), frameRect().size());
+ m_windowRect.scale(deviceScaleFactor());
+ m_clipRect = windowClipRect();
+ m_clipRect.move(-m_windowRect.x(), -m_windowRect.y());
+ if (platformPluginWidget() && (!m_haveUpdatedPluginWidget || m_windowRect != oldWindowRect || m_clipRect != oldClipRect)) {
+
+ setCallingPlugin(true);
+
+ // To prevent flashes while scrolling, we disable drawing during the window
+ // update process by clipping the window to the zero rect.
+
+ bool clipToZeroRect = !m_plugin->quirks().contains(PluginQuirkDontClipToZeroRectWhenScrolling);
+
+ if (clipToZeroRect) {
+ auto rgn = adoptGDIObject(::CreateRectRgn(0, 0, 0, 0));
+ ::SetWindowRgn(platformPluginWidget(), rgn.leak(), FALSE);
+ } else {
+ auto rgn = adoptGDIObject(::CreateRectRgn(m_clipRect.x(), m_clipRect.y(), m_clipRect.maxX(), m_clipRect.maxY()));
+ ::SetWindowRgn(platformPluginWidget(), rgn.leak(), TRUE);
+ }
+
+ if (!m_haveUpdatedPluginWidget || m_windowRect != oldWindowRect) {
+ IntRect nativeWindowRect = contentsToNativeWindow(&frameView, frameRect());
+ ::MoveWindow(platformPluginWidget(), nativeWindowRect.x(), nativeWindowRect.y(), nativeWindowRect.width(), nativeWindowRect.height(), TRUE);
+ }
+
+ if (clipToZeroRect) {
+ auto rgn = adoptGDIObject(::CreateRectRgn(m_clipRect.x(), m_clipRect.y(), m_clipRect.maxX(), m_clipRect.maxY()));
+ ::SetWindowRgn(platformPluginWidget(), rgn.leak(), TRUE);
+ }
+
+ setCallingPlugin(false);
+
+ m_haveUpdatedPluginWidget = true;
+ }
+}
+
+void PluginView::setFocus(bool focused)
+{
+ if (focused && platformPluginWidget())
+ SetFocus(platformPluginWidget());
+
+ Widget::setFocus(focused);
+
+ if (!m_plugin || m_isWindowed)
+ return;
+
+ NPEvent npEvent;
+
+ npEvent.event = focused ? WM_SETFOCUS : WM_KILLFOCUS;
+ npEvent.wParam = 0;
+ npEvent.lParam = 0;
+
+ dispatchNPEvent(npEvent);
+}
+
+void PluginView::show()
+{
+ setSelfVisible(true);
+
+ if (isParentVisible() && platformPluginWidget()) {
+ ShowWindow(platformPluginWidget(), SW_SHOWNA);
+ forceRedraw();
+ }
+ Widget::show();
+}
+
+void PluginView::hide()
+{
+ setSelfVisible(false);
+
+ if (isParentVisible() && platformPluginWidget())
+ ShowWindow(platformPluginWidget(), SW_HIDE);
+
+ Widget::hide();
+}
+
+bool PluginView::dispatchNPEvent(NPEvent& npEvent)
+{
+ if (!m_plugin->pluginFuncs()->event)
+ return true;
+
+ bool shouldPop = false;
+
+ if (m_plugin->pluginFuncs()->version < NPVERS_HAS_POPUPS_ENABLED_STATE && isWindowsMessageUserGesture(npEvent.event)) {
+ pushPopupsEnabledState(true);
+ shouldPop = true;
+ }
+
+ JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
+ setCallingPlugin(true);
+ bool accepted = !m_plugin->pluginFuncs()->event(m_instance, &npEvent);
+ setCallingPlugin(false);
+
+ if (shouldPop)
+ popPopupsEnabledState();
+
+ return accepted;
+}
+
+void PluginView::paintIntoTransformedContext(HDC hdc)
+{
+ if (m_isWindowed) {
+ SendMessage(platformPluginWidget(), WM_PRINTCLIENT, reinterpret_cast<WPARAM>(hdc), PRF_CLIENT | PRF_CHILDREN | PRF_OWNED);
+ return;
+ }
+
+ m_npWindow.type = NPWindowTypeDrawable;
+ m_npWindow.window = hdc;
+
+ WINDOWPOS windowpos = { 0, 0, 0, 0, 0, 0, 0 };
+
+ IntRect r = contentsToNativeWindow(downcast<FrameView>(parent()), frameRect());
+
+ windowpos.x = r.x();
+ windowpos.y = r.y();
+ windowpos.cx = r.width();
+ windowpos.cy = r.height();
+
+ NPEvent npEvent;
+ npEvent.event = WM_WINDOWPOSCHANGED;
+ npEvent.lParam = reinterpret_cast<uintptr_t>(&windowpos);
+ npEvent.wParam = 0;
+
+ dispatchNPEvent(npEvent);
+
+ setNPWindowRect(frameRect());
+
+ npEvent.event = WM_PAINT;
+ npEvent.wParam = reinterpret_cast<uintptr_t>(hdc);
+
+ // This is supposed to be a pointer to the dirty rect, but it seems that the Flash plugin
+ // ignores it so we just pass null.
+ npEvent.lParam = 0;
+
+ dispatchNPEvent(npEvent);
+}
+
+void PluginView::paintWindowedPluginIntoContext(GraphicsContext& context, const IntRect& rect)
+{
+#if !USE(WINGDI)
+ ASSERT(m_isWindowed);
+ ASSERT(context.shouldIncludeChildWindows());
+
+ IntPoint locationInWindow = downcast<FrameView>(*parent()).convertToContainingWindow(frameRect().location());
+
+ LocalWindowsContext windowsContext(context, frameRect(), false);
+
+#if USE(CAIRO)
+ // Must flush drawings up to this point to the backing metafile, otherwise the
+ // plugin region will be overwritten with any clear regions specified in the
+ // cairo-controlled portions of the rendering.
+ cairo_show_page(context.platformContext()->cr());
+#endif
+
+ HDC hdc = windowsContext.hdc();
+ XFORM originalTransform;
+ GetWorldTransform(hdc, &originalTransform);
+
+ // The plugin expects the DC to be in client coordinates, so we translate
+ // the DC to make that so.
+ AffineTransform ctm = context.getCTM();
+ ctm.translate(locationInWindow.x(), locationInWindow.y());
+ XFORM transform = static_cast<XFORM>(ctm.toTransformationMatrix());
+
+ SetWorldTransform(hdc, &transform);
+
+ paintIntoTransformedContext(hdc);
+
+ SetWorldTransform(hdc, &originalTransform);
+#endif
+}
+
+void PluginView::paint(GraphicsContext& context, const IntRect& rect)
+{
+ if (!m_isStarted) {
+ // Draw the "missing plugin" image
+ paintMissingPluginIcon(context, rect);
+ return;
+ }
+
+ if (context.paintingDisabled())
+ return;
+
+ // Ensure that we have called SetWindow before we try to paint.
+ if (!m_haveCalledSetWindow)
+ setNPWindowRect(frameRect());
+
+ if (m_isWindowed) {
+#if !USE(WINGDI)
+ if (context.shouldIncludeChildWindows())
+ paintWindowedPluginIntoContext(context, rect);
+#endif
+ return;
+ }
+
+ // In the GTK and Qt ports we draw in an offscreen buffer and don't want to use the window
+ // coordinates.
+#if PLATFORM(GTK) || PLATFORM(QT)
+ IntRect rectInWindow(rect);
+ rectInWindow.intersect(frameRect());
+#else
+ IntRect rectInWindow = downcast<FrameView>(*parent()).contentsToWindow(frameRect());
+#endif
+ LocalWindowsContext windowsContext(context, rectInWindow, m_isTransparent);
+
+ // On Safari/Windows without transparency layers the GraphicsContext returns the HDC
+ // of the window and the plugin expects that the passed in DC has window coordinates.
+ // In the GTK and Qt ports we always draw in an offscreen buffer and therefore need
+ // to preserve the translation set in getWindowsContext.
+#if !PLATFORM(QT)
+ if (context.hdc() == windowsContext.hdc()) {
+ XFORM transform;
+ GetWorldTransform(windowsContext.hdc(), &transform);
+ transform.eDx = 0;
+ transform.eDy = 0;
+ SetWorldTransform(windowsContext.hdc(), &transform);
+ }
+#endif
+
+ paintIntoTransformedContext(windowsContext.hdc());
+}
+
+void PluginView::handleKeyboardEvent(KeyboardEvent* event)
+{
+ ASSERT(m_plugin && !m_isWindowed);
+
+ NPEvent npEvent;
+
+ npEvent.wParam = event->keyCode();
+
+ if (event->type() == eventNames().keydownEvent) {
+ npEvent.event = WM_KEYDOWN;
+ npEvent.lParam = 0;
+ } else if (event->type() == eventNames().keypressEvent) {
+ npEvent.event = WM_CHAR;
+ npEvent.lParam = 0;
+ } else if (event->type() == eventNames().keyupEvent) {
+ npEvent.event = WM_KEYUP;
+ npEvent.lParam = 0x8000;
+ } else
+ return;
+
+ JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
+ if (dispatchNPEvent(npEvent))
+ event->setDefaultHandled();
+}
+
+extern bool ignoreNextSetCursor;
+
+void PluginView::handleMouseEvent(MouseEvent* event)
+{
+ ASSERT(m_plugin && !m_isWindowed);
+
+ NPEvent npEvent;
+
+ IntPoint p = contentsToNativeWindow(downcast<FrameView>(parent()), IntPoint(event->pageX(), event->pageY()));
+
+ npEvent.lParam = MAKELPARAM(p.x(), p.y());
+ npEvent.wParam = 0;
+
+ if (event->ctrlKey())
+ npEvent.wParam |= MK_CONTROL;
+ if (event->shiftKey())
+ npEvent.wParam |= MK_SHIFT;
+
+ if (event->type() == eventNames().mousemoveEvent
+ || event->type() == eventNames().mouseoutEvent
+ || event->type() == eventNames().mouseoverEvent) {
+ npEvent.event = WM_MOUSEMOVE;
+ if (event->buttonDown())
+ switch (event->button()) {
+ case LeftButton:
+ npEvent.wParam |= MK_LBUTTON;
+ break;
+ case MiddleButton:
+ npEvent.wParam |= MK_MBUTTON;
+ break;
+ case RightButton:
+ npEvent.wParam |= MK_RBUTTON;
+ break;
+ }
+ } else if (event->type() == eventNames().mousedownEvent) {
+ focusPluginElement();
+ switch (event->button()) {
+ case LeftButton:
+ npEvent.event = WM_LBUTTONDOWN;
+ break;
+ case MiddleButton:
+ npEvent.event = WM_MBUTTONDOWN;
+ break;
+ case RightButton:
+ npEvent.event = WM_RBUTTONDOWN;
+ break;
+ }
+ } else if (event->type() == eventNames().mouseupEvent) {
+ switch (event->button()) {
+ case LeftButton:
+ npEvent.event = WM_LBUTTONUP;
+ break;
+ case MiddleButton:
+ npEvent.event = WM_MBUTTONUP;
+ break;
+ case RightButton:
+ npEvent.event = WM_RBUTTONUP;
+ break;
+ }
+ } else
+ return;
+
+ JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
+ // FIXME: Consider back porting the http://webkit.org/b/58108 fix here.
+ if (dispatchNPEvent(npEvent))
+ event->setDefaultHandled();
+
+#if !PLATFORM(QT)
+ // Currently, Widget::setCursor is always called after this function in EventHandler.cpp
+ // and since we don't want that we set ignoreNextSetCursor to true here to prevent that.
+ ignoreNextSetCursor = true;
+ if (Page* page = m_parentFrame->page())
+ page->chrome().client().setLastSetCursorToCurrentCursor();
+#endif
+}
+
+void PluginView::setParent(ScrollView* parent)
+{
+ Widget::setParent(parent);
+
+ if (parent)
+ init();
+ else {
+ if (!platformPluginWidget())
+ return;
+
+ // If the plug-in window or one of its children have the focus, we need to
+ // clear it to prevent the web view window from being focused because that can
+ // trigger a layout while the plugin element is being detached.
+ HWND focusedWindow = ::GetFocus();
+ if (platformPluginWidget() == focusedWindow || ::IsChild(platformPluginWidget(), focusedWindow))
+ ::SetFocus(0);
+ }
+}
+
+void PluginView::setParentVisible(bool visible)
+{
+ if (isParentVisible() == visible)
+ return;
+
+ Widget::setParentVisible(visible);
+
+ if (isSelfVisible() && platformPluginWidget()) {
+ if (visible) {
+ ShowWindow(platformPluginWidget(), SW_SHOWNA);
+ forceRedraw();
+ } else
+ ShowWindow(platformPluginWidget(), SW_HIDE);
+ }
+}
+
+void PluginView::setNPWindowRect(const IntRect& rect)
+{
+ if (!m_isStarted)
+ return;
+
+ float scaleFactor = deviceScaleFactor();
+
+ // In the GTK port we draw in an offscreen buffer and don't want to use the window
+ // coordinates.
+# if PLATFORM(GTK) || PLATFORM(QT)
+ IntPoint p = rect.location();
+# else
+ IntPoint p = downcast<FrameView>(*parent()).contentsToWindow(rect.location());
+# endif
+ p.scale(scaleFactor, scaleFactor);
+
+ IntSize s = rect.size();
+ s.scale(scaleFactor);
+
+ m_npWindow.x = p.x();
+ m_npWindow.y = p.y();
+
+ m_npWindow.width = s.width();
+ m_npWindow.height = s.height();
+
+ m_npWindow.clipRect.right = s.width();
+ m_npWindow.clipRect.bottom = s.height();
+ m_npWindow.clipRect.left = 0;
+ m_npWindow.clipRect.top = 0;
+
+ if (m_plugin->pluginFuncs()->setwindow) {
+ JSC::JSLock::DropAllLocks dropAllLocks(JSDOMWindowBase::commonVM());
+ setCallingPlugin(true);
+ m_plugin->pluginFuncs()->setwindow(m_instance, &m_npWindow);
+ setCallingPlugin(false);
+
+ m_haveCalledSetWindow = true;
+
+ if (!m_isWindowed)
+ return;
+
+ ASSERT(platformPluginWidget());
+
+ WNDPROC currentWndProc = (WNDPROC)GetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC);
+ if (currentWndProc != PluginViewWndProc)
+ m_pluginWndProc = (WNDPROC)SetWindowLongPtr(platformPluginWidget(), GWLP_WNDPROC, (LONG_PTR)PluginViewWndProc);
+ }
+}
+
+NPError PluginView::handlePostReadFile(Vector<char>& buffer, uint32_t len, const char* buf)
+{
+ String filename(buf, len);
+
+ if (filename.startsWith("file:///"))
+ filename = filename.substring(8);
+
+ // Get file info
+ WIN32_FILE_ATTRIBUTE_DATA attrs;
+ if (GetFileAttributesExW(filename.charactersWithNullTermination().data(), GetFileExInfoStandard, &attrs) == 0)
+ return NPERR_FILE_NOT_FOUND;
+
+ if (attrs.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+ return NPERR_FILE_NOT_FOUND;
+
+ HANDLE fileHandle = CreateFileW(filename.charactersWithNullTermination().data(), FILE_READ_DATA, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
+
+ if (fileHandle == INVALID_HANDLE_VALUE)
+ return NPERR_FILE_NOT_FOUND;
+
+ buffer.resize(attrs.nFileSizeLow);
+
+ DWORD bytesRead;
+ int retval = ReadFile(fileHandle, buffer.data(), attrs.nFileSizeLow, &bytesRead, 0);
+
+ CloseHandle(fileHandle);
+
+ if (retval == 0 || bytesRead != attrs.nFileSizeLow)
+ return NPERR_FILE_NOT_FOUND;
+
+ return NPERR_NO_ERROR;
+}
+
+bool PluginView::platformGetValueStatic(NPNVariable, void*, NPError*)
+{
+ return false;
+}
+
+bool PluginView::platformGetValue(NPNVariable variable, void* value, NPError* result)
+{
+ switch (variable) {
+ case NPNVnetscapeWindow: {
+ HWND* w = reinterpret_cast<HWND*>(value);
+ *w = windowHandleForPageClient(parent() ? parent()->hostWindow()->platformPageClient() : 0);
+ *result = NPERR_NO_ERROR;
+ return true;
+ }
+
+ case NPNVSupportsWindowless: {
+ NPBool* flag = reinterpret_cast<NPBool*>(value);
+ *flag = TRUE;
+ *result = NPERR_NO_ERROR;
+ return true;
+ }
+
+ default:
+ return false;
+ }
+}
+
+void PluginView::invalidateRect(const IntRect& rect)
+{
+ if (m_isWindowed) {
+ RECT invalidRect = { rect.x(), rect.y(), rect.maxX(), rect.maxY() };
+ ::InvalidateRect(platformPluginWidget(), &invalidRect, false);
+ return;
+ }
+
+ invalidateWindowlessPluginRect(rect);
+}
+
+void PluginView::invalidateRect(NPRect* rect)
+{
+ if (!rect) {
+ invalidate();
+ return;
+ }
+
+ IntRect r(rect->left, rect->top, rect->right - rect->left, rect->bottom - rect->top);
+
+ if (m_isWindowed) {
+ RECT invalidRect = { r.x(), r.y(), r.maxX(), r.maxY() };
+ InvalidateRect(platformPluginWidget(), &invalidRect, FALSE);
+ } else {
+ if (m_plugin->quirks().contains(PluginQuirkThrottleInvalidate)) {
+ m_invalidRects.append(r);
+ if (!m_invalidateTimer.isActive())
+ m_invalidateTimer.startOneShot(0.001);
+ } else
+ invalidateRect(r);
+ }
+}
+
+void PluginView::invalidateRegion(NPRegion region)
+{
+ if (m_isWindowed)
+ return;
+
+ RECT r;
+
+ if (GetRgnBox(region, &r) == 0) {
+ invalidate();
+ return;
+ }
+
+ IntRect rect(IntPoint(r.left, r.top), IntSize(r.right-r.left, r.bottom-r.top));
+ invalidateRect(rect);
+}
+
+void PluginView::forceRedraw()
+{
+ if (m_isWindowed)
+ ::UpdateWindow(platformPluginWidget());
+ else
+ ::UpdateWindow(windowHandleForPageClient(parent() ? parent()->hostWindow()->platformPageClient() : 0));
+}
+
+bool PluginView::platformStart()
+{
+ ASSERT(m_isStarted);
+ ASSERT(m_status == PluginStatusLoadedSuccessfully);
+
+ if (m_isWindowed) {
+ registerPluginView();
+ setUpOffscreenPaintingHooks(hookedBeginPaint, hookedEndPaint);
+
+ DWORD flags = WS_CHILD;
+ auto* frameView = downcast<FrameView>(parent());
+ if (isSelfVisible() && isWebViewVisible(frameView))
+ flags |= WS_VISIBLE;
+
+ HWND parentWindowHandle = windowHandleForPageClient(m_parentFrame->view()->hostWindow()->platformPageClient());
+ HWND window = ::CreateWindowEx(0, kWebPluginViewClassName, 0, flags,
+ 0, 0, 0, 0, parentWindowHandle, 0, WebCore::instanceHandle(), 0);
+
+#if OS(WINDOWS) && (PLATFORM(GTK) || PLATFORM(QT))
+ m_window = window;
+#else
+ setPlatformWidget(window);
+#endif
+
+ // Calling SetWindowLongPtrA here makes the window proc ASCII, which is required by at least
+ // the Shockwave Director plug-in.
+#if OS(WINDOWS) && CPU(X86_64)
+ ::SetWindowLongPtrA(platformPluginWidget(), GWLP_WNDPROC, (LONG_PTR)DefWindowProcA);
+#else
+ ::SetWindowLongPtrA(platformPluginWidget(), GWL_WNDPROC, (LONG)DefWindowProcA);
+#endif
+ SetProp(platformPluginWidget(), kWebPluginViewProperty, this);
+
+ m_npWindow.type = NPWindowTypeWindow;
+ m_npWindow.window = platformPluginWidget();
+ } else {
+ m_npWindow.type = NPWindowTypeDrawable;
+ m_npWindow.window = 0;
+ }
+
+ updatePluginWidget();
+
+ if (!m_plugin->quirks().contains(PluginQuirkDeferFirstSetWindowCall))
+ setNPWindowRect(frameRect());
+
+ return true;
+}
+
+void PluginView::platformDestroy()
+{
+ if (!platformPluginWidget())
+ return;
+
+ DestroyWindow(platformPluginWidget());
+ setPlatformPluginWidget(0);
+}
+
+PassRefPtr<Image> PluginView::snapshot()
+{
+#if !PLATFORM(GTK) && !USE(WINGDI)
+ auto hdc = adoptGDIObject(::CreateCompatibleDC(0));
+
+ if (!m_isWindowed) {
+ // Enable world transforms.
+ SetGraphicsMode(hdc.get(), GM_ADVANCED);
+
+ XFORM transform;
+ GetWorldTransform(hdc.get(), &transform);
+
+ // Windowless plug-ins assume that they're drawing onto the view's DC.
+ // Translate the context so that the plug-in draws at (0, 0).
+ IntPoint position = downcast<FrameView>(*parent()).contentsToWindow(frameRect()).location();
+ transform.eDx = -position.x();
+ transform.eDy = -position.y();
+ SetWorldTransform(hdc.get(), &transform);
+ }
+
+ void* bits;
+ BitmapInfo bmp = BitmapInfo::createBottomUp(frameRect().size());
+ auto hbmp = adoptGDIObject(::CreateDIBSection(0, &bmp, DIB_RGB_COLORS, &bits, 0, 0));
+
+ HBITMAP hbmpOld = static_cast<HBITMAP>(SelectObject(hdc.get(), hbmp.get()));
+
+ paintIntoTransformedContext(hdc.get());
+
+ SelectObject(hdc.get(), hbmpOld);
+
+ return BitmapImage::create(hbmp.get());
+#else
+ return 0;
+#endif
+}
+
+float PluginView::deviceScaleFactor() const
+{
+ float scaleFactor = 1.0f;
+
+ if (!parent() || !parent()->isFrameView())
+ return scaleFactor;
+
+ // For windowless plugins, the device scale factor will be applied as for other page elements.
+ if (!m_isWindowed)
+ return scaleFactor;
+
+ FrameView& frameView = downcast<FrameView>(*parent());
+
+ if (frameView.frame().document())
+ scaleFactor = frameView.frame().document()->deviceScaleFactor();
+
+ return scaleFactor;
+}
+
+} // namespace WebCore
diff --git a/Source/WebKit/win/Plugins/npapi.cpp b/Source/WebKit/win/Plugins/npapi.cpp
new file mode 100644
index 000000000..4829c6940
--- /dev/null
+++ b/Source/WebKit/win/Plugins/npapi.cpp
@@ -0,0 +1,214 @@
+/*
+ * Copyright (C) 2006, 2007 Apple 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 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 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 "Page.h"
+#include "PluginMainThreadScheduler.h"
+#include "PluginView.h"
+#include "npruntime_internal.h"
+
+using namespace WebCore;
+
+// The plugin view is always the ndata of the instance,. Sometimes, plug-ins will call an instance-specific function
+// with a NULL instance. To workaround this, call the last plug-in view that made a call to a plug-in.
+// Currently, the current plug-in view is only set before NPP_New in PluginView::start.
+// This specifically works around Flash and Shockwave. When we call NPP_New, they call NPN_Useragent with a NULL instance.
+static PluginView* pluginViewForInstance(NPP instance)
+{
+ if (instance && instance->ndata)
+ return static_cast<PluginView*>(instance->ndata);
+ return PluginView::currentPluginView();
+}
+
+void* NPN_MemAlloc(uint32_t size)
+{
+ return malloc(size);
+}
+
+void NPN_MemFree(void* ptr)
+{
+ free(ptr);
+}
+
+uint32_t NPN_MemFlush(uint32_t)
+{
+ // Do nothing
+ return 0;
+}
+
+void NPN_ReloadPlugins(NPBool reloadPages)
+{
+ Page::refreshPlugins(reloadPages);
+}
+
+NPError NPN_RequestRead(NPStream*, NPByteRange*)
+{
+ return NPERR_STREAM_NOT_SEEKABLE;
+}
+
+NPError NPN_GetURLNotify(NPP instance, const char* url, const char* target, void* notifyData)
+{
+ return pluginViewForInstance(instance)->getURLNotify(url, target, notifyData);
+}
+
+NPError NPN_GetURL(NPP instance, const char* url, const char* target)
+{
+ return pluginViewForInstance(instance)->getURL(url, target);
+}
+
+NPError NPN_PostURLNotify(NPP instance, const char* url, const char* target, uint32_t len, const char* buf, NPBool file, void* notifyData)
+{
+ return pluginViewForInstance(instance)->postURLNotify(url, target, len, buf, file, notifyData);
+}
+
+NPError NPN_PostURL(NPP instance, const char* url, const char* target, uint32_t len, const char* buf, NPBool file)
+{
+ return pluginViewForInstance(instance)->postURL(url, target, len, buf, file);
+}
+
+NPError NPN_NewStream(NPP instance, NPMIMEType type, const char* target, NPStream** stream)
+{
+ return pluginViewForInstance(instance)->newStream(type, target, stream);
+}
+
+int32_t NPN_Write(NPP instance, NPStream* stream, int32_t len, void* buffer)
+{
+ return pluginViewForInstance(instance)->write(stream, len, buffer);
+}
+
+NPError NPN_DestroyStream(NPP instance, NPStream* stream, NPReason reason)
+{
+ return pluginViewForInstance(instance)->destroyStream(stream, reason);
+}
+
+const char* NPN_UserAgent(NPP instance)
+{
+ PluginView* view = pluginViewForInstance(instance);
+
+ if (!view)
+ return PluginView::userAgentStatic();
+
+ return view->userAgent();
+}
+
+void NPN_Status(NPP instance, const char* message)
+{
+ pluginViewForInstance(instance)->status(message);
+}
+
+void NPN_InvalidateRect(NPP instance, NPRect* invalidRect)
+{
+ PluginView* view = pluginViewForInstance(instance);
+#if defined(XP_UNIX)
+ // NSPluginWrapper, a plugin wrapper binary that allows running 32-bit plugins
+ // on 64-bit architectures typically used in X11, will sometimes give us a null NPP here.
+ if (!view)
+ return;
+#endif
+ view->invalidateRect(invalidRect);
+}
+
+void NPN_InvalidateRegion(NPP instance, NPRegion invalidRegion)
+{
+ pluginViewForInstance(instance)->invalidateRegion(invalidRegion);
+}
+
+void NPN_ForceRedraw(NPP instance)
+{
+ pluginViewForInstance(instance)->forceRedraw();
+}
+
+NPError NPN_GetValue(NPP instance, NPNVariable variable, void* value)
+{
+ PluginView* view = pluginViewForInstance(instance);
+
+ if (!view)
+ return PluginView::getValueStatic(variable, value);
+
+ return pluginViewForInstance(instance)->getValue(variable, value);
+}
+
+NPError NPN_SetValue(NPP instance, NPPVariable variable, void* value)
+{
+ return pluginViewForInstance(instance)->setValue(variable, value);
+}
+
+void* NPN_GetJavaEnv()
+{
+ // Unsupported
+ return 0;
+}
+
+void* NPN_GetJavaPeer(NPP)
+{
+ // Unsupported
+ return 0;
+}
+
+void NPN_PushPopupsEnabledState(NPP instance, NPBool enabled)
+{
+ pluginViewForInstance(instance)->pushPopupsEnabledState(enabled);
+}
+
+void NPN_PopPopupsEnabledState(NPP instance)
+{
+ pluginViewForInstance(instance)->popPopupsEnabledState();
+}
+
+extern "C" typedef void PluginThreadAsyncCallFunction(void*);
+void NPN_PluginThreadAsyncCall(NPP instance, PluginThreadAsyncCallFunction func, void* userData)
+{
+ // Callback function type only differs from MainThreadFunction by being extern "C", which doesn't affect calling convention on any compilers we use.
+ PluginMainThreadScheduler::scheduler().scheduleCall(instance, reinterpret_cast<PluginMainThreadScheduler::MainThreadFunction*>(func), userData);
+}
+
+NPError NPN_GetValueForURL(NPP instance, NPNURLVariable variable, const char* url, char** value, uint32_t* len)
+{
+ return pluginViewForInstance(instance)->getValueForURL(variable, url, value, len);
+}
+
+NPError NPN_SetValueForURL(NPP instance, NPNURLVariable variable, const char* url, const char* value, uint32_t len)
+{
+ return pluginViewForInstance(instance)->setValueForURL(variable, url, value, len);
+}
+
+NPError NPN_GetAuthenticationInfo(NPP instance, const char* protocol, const char* host, int32_t port, const char* scheme, const char* realm, char** username, uint32_t* ulen, char** password, uint32_t* plen)
+{
+ return pluginViewForInstance(instance)->getAuthenticationInfo(protocol, host, port, scheme, realm, username, ulen, password, plen);
+}
+
+NPError NPN_PopUpContextMenu(NPP instance, NPMenu* menu)
+{
+#if PLATFORM(QT) && defined(XP_MACOSX)
+ PluginView* plugin = pluginViewForInstance(instance);
+ plugin->popUpContextMenu(menu);
+ return NPERR_NO_ERROR;
+#else
+ UNUSED_PARAM(instance);
+ UNUSED_PARAM(menu);
+ return NPERR_NO_ERROR;
+#endif // PLATFORM(QT) && defined(XP_MACOSX)
+}
diff --git a/Source/WebKit/win/ProgIDMacros.h b/Source/WebKit/win/ProgIDMacros.h
deleted file mode 100644
index ef9e26fdd..000000000
--- a/Source/WebKit/win/ProgIDMacros.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 ProgIDMacros_h
-#define ProgIDMacros_h
-
-#define STRINGIFIED_VERSION(version) STRINGIFY(version)
-#define STRINGIFY(s) L###s
-
-#define CURRENT_PROGID_VERSION 526
-#define VERSION_INDEPENDENT_PRODUCTION_PROGID(className) L##"WebKit." L###className
-#define VERSION_INDEPENDENT_OPENSOURCE_PROGID(className) L##"OpenSource" VERSION_INDEPENDENT_PRODUCTION_PROGID(className)
-#define VERSIONED_PROGID(versionIndependentProgID, version) versionIndependentProgID L##"." STRINGIFIED_VERSION(version)
-
-#endif // !defined(ProgIDMacros_h)
diff --git a/Source/WebKit/win/WebActionPropertyBag.cpp b/Source/WebKit/win/WebActionPropertyBag.cpp
deleted file mode 100644
index d2905091f..000000000
--- a/Source/WebKit/win/WebActionPropertyBag.cpp
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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 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 "WebKitDLL.h"
-#include "WebActionPropertyBag.h"
-
-#include "DOMCoreClasses.h"
-#include "WebElementPropertyBag.h"
-#include "WebKit.h"
-#include <WebCore/BString.h>
-#include <WebCore/COMPtr.h>
-#include <WebCore/EventHandler.h>
-#include <WebCore/HitTestResult.h>
-#include <WebCore/MouseEvent.h>
-
-using namespace WebCore;
-
-// WebActionPropertyBag ------------------------------------------------
-
-WebActionPropertyBag::WebActionPropertyBag(const NavigationAction& action, PassRefPtr<HTMLFormElement> form, PassRefPtr<Frame> frame)
- : m_refCount(0)
- , m_action(action)
- , m_form(form)
- , m_frame(frame)
-{
- gClassCount++;
- gClassNameCount.add("WebActionPropertyBag");
-}
-
-WebActionPropertyBag::~WebActionPropertyBag()
-{
- gClassCount--;
- gClassNameCount.remove("WebActionPropertyBag");
-}
-
-WebActionPropertyBag* WebActionPropertyBag::createInstance(const NavigationAction& action, PassRefPtr<HTMLFormElement> form, PassRefPtr<Frame> frame)
-{
- WebActionPropertyBag* instance = new WebActionPropertyBag(action, form, frame);
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebActionPropertyBag::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IPropertyBag*>(this);
- else if (IsEqualGUID(riid, IID_IPropertyBag))
- *ppvObject = static_cast<IPropertyBag*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebActionPropertyBag::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebActionPropertyBag::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete this;
-
- return newRef;
-}
-
-static bool isEqual(LPCWSTR s1, LPCWSTR s2)
-{
- return !wcscmp(s1, s2);
-}
-
-static const MouseEvent* findMouseEvent(const Event* event)
-{
- for (const Event* e = event; e; e = e->underlyingEvent())
- if (e->isMouseEvent())
- return static_cast<const MouseEvent*>(e);
- return 0;
-}
-
-HRESULT STDMETHODCALLTYPE WebActionPropertyBag::Read(LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog * /*pErrorLog*/)
-{
- if (!pszPropName)
- return E_POINTER;
-
- VariantClear(pVar);
-
- if (isEqual(pszPropName, WebActionNavigationTypeKey)) {
- V_VT(pVar) = VT_I4;
- V_I4(pVar) = m_action.type();
- return S_OK;
- }
- if (isEqual(pszPropName, WebActionElementKey)) {
- if (const MouseEvent* mouseEvent = findMouseEvent(m_action.event())) {
- V_VT(pVar) = VT_UNKNOWN;
- V_UNKNOWN(pVar) = WebElementPropertyBag::createInstance(m_frame->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation()));
- return S_OK;
- }
- }
- if (isEqual(pszPropName, WebActionButtonKey)) {
- if (const MouseEvent* mouseEvent = findMouseEvent(m_action.event())) {
- V_VT(pVar) = VT_I4;
- V_I4(pVar) = mouseEvent->button();
- return S_OK;
- }
- }
- if (isEqual(pszPropName, WebActionOriginalURLKey)) {
- V_VT(pVar) = VT_BSTR;
- V_BSTR(pVar) = BString(m_action.url().string()).release();
- return S_OK;
- }
- if (isEqual(pszPropName, WebActionModifierFlagsKey)) {
- if (const UIEventWithKeyState* keyEvent = findEventWithKeyState(const_cast<Event*>(m_action.event()))) {
- unsigned modifiers = 0;
-
- if (keyEvent->ctrlKey())
- modifiers |= MK_CONTROL;
- if (keyEvent->shiftKey())
- modifiers |= MK_SHIFT;
- if (keyEvent->altKey())
- modifiers |= MK_ALT;
-
- V_VT(pVar) = VT_UI4;
- V_UI4(pVar) = modifiers;
- return S_OK;
- }
- }
- if (isEqual(pszPropName, WebActionFormKey)) {
- IDOMNode* form = DOMNode::createInstance(m_form.get());
- V_VT(pVar) = VT_UNKNOWN;
- V_UNKNOWN(pVar) = form;
- return S_OK;
- }
- return E_INVALIDARG;
-}
-
-HRESULT STDMETHODCALLTYPE WebActionPropertyBag::Write(LPCOLESTR pszPropName, VARIANT* pVar)
-{
- if (!pszPropName || !pVar)
- return E_POINTER;
-
- return E_FAIL;
-}
diff --git a/Source/WebKit/win/WebActionPropertyBag.h b/Source/WebKit/win/WebActionPropertyBag.h
deleted file mode 100644
index a32e9c5e2..000000000
--- a/Source/WebKit/win/WebActionPropertyBag.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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 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 WebActionPropertyBag_h
-#define WebActionPropertyBag_h
-
-#include "ocidl.h"
-#include <WebCore/Frame.h>
-#include <WebCore/HTMLFormElement.h>
-#include <WebCore/NavigationAction.h>
-
-class WebActionPropertyBag : public IPropertyBag {
-public:
- static WebActionPropertyBag* createInstance(const WebCore::NavigationAction&, PassRefPtr<WebCore::HTMLFormElement>, PassRefPtr<WebCore::Frame>);
-
-private:
- WebActionPropertyBag(const WebCore::NavigationAction&, PassRefPtr<WebCore::HTMLFormElement>, PassRefPtr<WebCore::Frame>);
- ~WebActionPropertyBag();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
- // IPropertyBag
- virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read(
- /* [in] */ LPCOLESTR pszPropName,
- /* [out][in] */ VARIANT *pVar,
- /* [in] */ IErrorLog *pErrorLog);
-
- virtual HRESULT STDMETHODCALLTYPE Write(
- /* [in] */ LPCOLESTR pszPropName,
- /* [in] */ VARIANT *pVar);
-
-private:
- ULONG m_refCount;
- WebCore::NavigationAction m_action;
- RefPtr<WebCore::HTMLFormElement> m_form;
- RefPtr<WebCore::Frame> m_frame;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebArchive.cpp b/Source/WebKit/win/WebArchive.cpp
deleted file mode 100644
index 423f1989e..000000000
--- a/Source/WebKit/win/WebArchive.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 "WebKitDLL.h"
-#include "WebArchive.h"
-
-#include "DOMCoreClasses.h"
-#include "MemoryStream.h"
-#include <WebCore/LegacyWebArchive.h>
-
-using namespace WebCore;
-
-// WebArchive ----------------------------------------------------------------
-
-WebArchive* WebArchive::createInstance()
-{
- WebArchive* instance = new WebArchive(0);
- instance->AddRef();
- return instance;
-}
-
-WebArchive* WebArchive::createInstance(PassRefPtr<LegacyWebArchive> coreArchive)
-{
- WebArchive* instance = new WebArchive(coreArchive);
-
- instance->AddRef();
- return instance;
-}
-
-WebArchive::WebArchive(PassRefPtr<LegacyWebArchive> coreArchive)
- : m_refCount(0)
- , m_archive(coreArchive)
-{
- gClassCount++;
- gClassNameCount.add("WebArchive");
-}
-
-WebArchive::~WebArchive()
-{
- gClassCount--;
- gClassNameCount.remove("WebArchive");
-}
-
-HRESULT STDMETHODCALLTYPE WebArchive::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebArchive*>(this);
- else if (IsEqualGUID(riid, __uuidof(IWebArchive)))
- *ppvObject = static_cast<IWebArchive*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebArchive::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebArchive::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-HRESULT STDMETHODCALLTYPE WebArchive::initWithMainResource(
- /* [in] */ IWebResource*,
- /* [in, size_is(cSubResources)] */ IWebResource**,
- /* [in] */ int,
- /* in, size_is(cSubFrameArchives)] */ IWebArchive**,
- /* [in] */ int)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebArchive::initWithData(
- /* [in] */ IStream*)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebArchive::initWithNode(
- /* [in] */ IDOMNode* node)
-{
- if (!node)
- return E_POINTER;
-
- COMPtr<DOMNode> domNode(Query, node);
- if (!domNode)
- return E_NOINTERFACE;
-
- m_archive = LegacyWebArchive::create(domNode->node());
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebArchive::mainResource(
- /* [out, retval] */ IWebResource**)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebArchive::subResources(
- /* [out, retval] */ IEnumVARIANT**)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebArchive::subframeArchives(
- /* [out, retval] */ IEnumVARIANT**)
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebArchive::data(
- /* [out, retval] */ IStream** stream)
-{
- RetainPtr<CFDataRef> cfData = m_archive->rawDataRepresentation();
- if (!cfData)
- return E_FAIL;
-
- RefPtr<SharedBuffer> buffer = SharedBuffer::create(CFDataGetBytePtr(cfData.get()), CFDataGetLength(cfData.get()));
-
- return MemoryStream::createInstance(buffer).copyRefTo(stream);
-}
diff --git a/Source/WebKit/win/WebArchive.h b/Source/WebKit/win/WebArchive.h
deleted file mode 100644
index 8e6076110..000000000
--- a/Source/WebKit/win/WebArchive.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 WebArchive_h
-#define WebArchive_h
-
-#include "WebKit.h"
-
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefPtr.h>
-
-namespace WebCore {
- class LegacyWebArchive;
-}
-
-class WebArchive : public IWebArchive
-{
-public:
- static WebArchive* createInstance();
- static WebArchive* createInstance(PassRefPtr<WebCore::LegacyWebArchive>);
-protected:
- WebArchive(PassRefPtr<WebCore::LegacyWebArchive>);
- ~WebArchive();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
- // IWebArchive
- virtual HRESULT STDMETHODCALLTYPE initWithMainResource(
- /* [in] */ IWebResource* mainResource,
- /* [in, size_is(cSubResources)] */ IWebResource** subResources,
- /* [in] */ int cSubResources,
- /* in, size_is(cSubFrameArchives)] */ IWebArchive** subFrameArchives,
- /* [in] */ int cSubFrameArchives);
-
- virtual HRESULT STDMETHODCALLTYPE initWithData(
- /* [in] */ IStream*);
-
- virtual HRESULT STDMETHODCALLTYPE initWithNode(
- /* [in] */ IDOMNode*);
-
- virtual HRESULT STDMETHODCALLTYPE mainResource(
- /* [out, retval] */ IWebResource**);
-
- virtual HRESULT STDMETHODCALLTYPE subResources(
- /* [out, retval] */ IEnumVARIANT**);
-
- virtual HRESULT STDMETHODCALLTYPE subframeArchives(
- /* [out, retval] */ IEnumVARIANT**);
-
- virtual HRESULT STDMETHODCALLTYPE data(
- /* [out, retval] */ IStream**);
-
-protected:
- ULONG m_refCount;
- RefPtr<WebCore::LegacyWebArchive> m_archive;
-};
-
-#endif // WebArchive_h
diff --git a/Source/WebKit/win/WebBackForwardList.cpp b/Source/WebKit/win/WebBackForwardList.cpp
deleted file mode 100644
index bd23d26ea..000000000
--- a/Source/WebKit/win/WebBackForwardList.cpp
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebBackForwardList.h"
-
-#include "WebFrame.h"
-#include "WebKit.h"
-#include "WebPreferences.h"
-
-#include <WebCore/BackForwardListImpl.h>
-#include <WebCore/COMPtr.h>
-#include <WebCore/HistoryItem.h>
-
-using std::min;
-using namespace WebCore;
-
-// WebBackForwardList ----------------------------------------------------------------
-
-// FIXME: Instead of this we could just create a class derived from BackForwardListImpl
-// with a pointer to a WebBackForwardList in it.
-static HashMap<BackForwardListImpl*, WebBackForwardList*>& backForwardListWrappers()
-{
- static HashMap<BackForwardListImpl*, WebBackForwardList*> staticBackForwardListWrappers;
- return staticBackForwardListWrappers;
-}
-
-WebBackForwardList::WebBackForwardList(PassRefPtr<BackForwardListImpl> backForwardList)
- : m_refCount(0)
- , m_backForwardList(backForwardList)
-{
- ASSERT(!backForwardListWrappers().contains(m_backForwardList.get()));
- backForwardListWrappers().set(m_backForwardList.get(), this);
-
- gClassCount++;
- gClassNameCount.add("WebBackForwardList");
-}
-
-WebBackForwardList::~WebBackForwardList()
-{
- ASSERT(m_backForwardList->closed());
-
- ASSERT(backForwardListWrappers().contains(m_backForwardList.get()));
- backForwardListWrappers().remove(m_backForwardList.get());
-
- gClassCount--;
- gClassNameCount.remove("WebBackForwardList");
-}
-
-WebBackForwardList* WebBackForwardList::createInstance(PassRefPtr<BackForwardListImpl> backForwardList)
-{
- WebBackForwardList* instance;
-
- instance = backForwardListWrappers().get(backForwardList.get());
-
- if (!instance)
- instance = new WebBackForwardList(backForwardList);
-
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebBackForwardList*>(this);
- else if (IsEqualGUID(riid, IID_IWebBackForwardList))
- *ppvObject = static_cast<IWebBackForwardList*>(this);
- else if (IsEqualGUID(riid, IID_IWebBackForwardListPrivate))
- *ppvObject = static_cast<IWebBackForwardListPrivate*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebBackForwardList::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebBackForwardList::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebBackForwardList ---------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::addItem(
- /* [in] */ IWebHistoryItem* item)
-{
- COMPtr<WebHistoryItem> webHistoryItem;
-
- if (!item || FAILED(item->QueryInterface(&webHistoryItem)))
- return E_FAIL;
-
- m_backForwardList->addItem(webHistoryItem->historyItem());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::goBack( void)
-{
- m_backForwardList->goBack();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::goForward( void)
-{
- m_backForwardList->goForward();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::goToItem(
- /* [in] */ IWebHistoryItem* item)
-{
- COMPtr<WebHistoryItem> webHistoryItem;
-
- if (!item || FAILED(item->QueryInterface(&webHistoryItem)))
- return E_FAIL;
-
- m_backForwardList->goToItem(webHistoryItem->historyItem());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::backItem(
- /* [retval][out] */ IWebHistoryItem** item)
-{
- if (!item)
- return E_POINTER;
-
- HistoryItem* historyItem = m_backForwardList->backItem();
-
- if (!historyItem)
- return E_FAIL;
-
- *item = WebHistoryItem::createInstance(historyItem);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::currentItem(
- /* [retval][out] */ IWebHistoryItem** item)
-{
- if (!item)
- return E_POINTER;
-
- HistoryItem* historyItem = m_backForwardList->currentItem();
-
- if (!historyItem)
- return E_FAIL;
-
- *item = WebHistoryItem::createInstance(historyItem);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::forwardItem(
- /* [retval][out] */ IWebHistoryItem** item)
-{
- if (!item)
- return E_POINTER;
-
- HistoryItem* historyItem = m_backForwardList->forwardItem();
-
- if (!historyItem)
- return E_FAIL;
-
- *item = WebHistoryItem::createInstance(historyItem);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::backListWithLimit(
- /* [in] */ int limit,
- /* [out] */ int* listCount,
- /* [retval][out] */ IWebHistoryItem** list)
-{
- HistoryItemVector historyItemVector;
- m_backForwardList->backListWithLimit(limit, historyItemVector);
-
- *listCount = static_cast<int>(historyItemVector.size());
-
- if (list)
- for (unsigned i = 0; i < historyItemVector.size(); i++)
- list[i] = WebHistoryItem::createInstance(historyItemVector[i].get());
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::forwardListWithLimit(
- /* [in] */ int limit,
- /* [out] */ int* listCount,
- /* [retval][out] */ IWebHistoryItem** list)
-{
- HistoryItemVector historyItemVector;
- m_backForwardList->forwardListWithLimit(limit, historyItemVector);
-
- *listCount = static_cast<int>(historyItemVector.size());
-
- if (list)
- for (unsigned i = 0; i < historyItemVector.size(); i++)
- list[i] = WebHistoryItem::createInstance(historyItemVector[i].get());
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::capacity(
- /* [retval][out] */ int* result)
-{
- *result = (int)m_backForwardList->capacity();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::setCapacity(
- /* [in] */ int size)
-{
- if (size < 0)
- return E_FAIL;
-
- m_backForwardList->setCapacity(size);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::backListCount(
- /* [retval][out] */ int* count)
-{
- *count = m_backForwardList->backListCount();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::forwardListCount(
- /* [retval][out] */ int* count)
-{
- *count = m_backForwardList->forwardListCount();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::containsItem(
- /* [in] */ IWebHistoryItem* item,
- /* [retval][out] */ BOOL* result)
-{
- COMPtr<WebHistoryItem> webHistoryItem;
-
- if (!item || FAILED(item->QueryInterface(&webHistoryItem)))
- return E_FAIL;
-
- *result = m_backForwardList->containsItem(webHistoryItem->historyItem());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::itemAtIndex(
- /* [in] */ int index,
- /* [retval][out] */ IWebHistoryItem** item)
-{
- if (!item)
- return E_POINTER;
-
- HistoryItem* historyItem = m_backForwardList->itemAtIndex(index);
-
- if (!historyItem)
- return E_FAIL;
-
- *item = WebHistoryItem::createInstance(historyItem);
- return S_OK;
-}
-
-// IWebBackForwardListPrivate --------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebBackForwardList::removeItem(
- /* [in] */ IWebHistoryItem* item)
-{
- COMPtr<WebHistoryItem> webHistoryItem;
-
- if (!item || FAILED(item->QueryInterface(&webHistoryItem)))
- return E_FAIL;
-
- m_backForwardList->removeItem(webHistoryItem->historyItem());
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebBackForwardList.h b/Source/WebKit/win/WebBackForwardList.h
deleted file mode 100644
index aebfa1552..000000000
--- a/Source/WebKit/win/WebBackForwardList.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebBackForwardList_H
-#define WebBackForwardList_H
-
-#include "WebKit.h"
-
-#include "WebHistoryItem.h"
-
-#include <WTF/PassRefPtr.h>
-#include <WTF/RefPtr.h>
-
-namespace WebCore {
- class BackForwardListImpl;
-}
-
-class WebBackForwardList : public IWebBackForwardList, IWebBackForwardListPrivate
-{
-public:
- static WebBackForwardList* createInstance(PassRefPtr<WebCore::BackForwardListImpl>);
-protected:
- WebBackForwardList(PassRefPtr<WebCore::BackForwardListImpl>);
- ~WebBackForwardList();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebBackForwardList
- virtual HRESULT STDMETHODCALLTYPE addItem(
- /* [in] */ IWebHistoryItem *item);
-
- virtual HRESULT STDMETHODCALLTYPE goBack( void);
-
- virtual HRESULT STDMETHODCALLTYPE goForward( void);
-
- virtual HRESULT STDMETHODCALLTYPE goToItem(
- /* [in] */ IWebHistoryItem *item);
-
- virtual HRESULT STDMETHODCALLTYPE backItem(
- /* [retval][out] */ IWebHistoryItem **item);
-
- virtual HRESULT STDMETHODCALLTYPE currentItem(
- /* [retval][out] */ IWebHistoryItem **item);
-
- virtual HRESULT STDMETHODCALLTYPE forwardItem(
- /* [retval][out] */ IWebHistoryItem **item);
-
- virtual HRESULT STDMETHODCALLTYPE backListWithLimit(
- /* [in] */ int limit,
- /* [out] */ int *listCount,
- /* [in] */ IWebHistoryItem **list);
-
- virtual HRESULT STDMETHODCALLTYPE forwardListWithLimit(
- /* [in] */ int limit,
- /* [out] */ int *listCount,
- /* [in] */ IWebHistoryItem **list);
-
- virtual HRESULT STDMETHODCALLTYPE capacity(
- /* [retval][out] */ int *result);
-
- virtual HRESULT STDMETHODCALLTYPE setCapacity(
- /* [in] */ int size);
-
- virtual HRESULT STDMETHODCALLTYPE backListCount(
- /* [retval][out] */ int *count);
-
- virtual HRESULT STDMETHODCALLTYPE forwardListCount(
- /* [retval][out] */ int *sizecount);
-
- virtual HRESULT STDMETHODCALLTYPE containsItem(
- /* [in] */ IWebHistoryItem *item,
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE itemAtIndex(
- /* [in] */ int index,
- /* [retval][out] */ IWebHistoryItem **item);
-
- // IWebBackForwardListPrivate
- virtual HRESULT STDMETHODCALLTYPE removeItem(
- /* [in] */ IWebHistoryItem* item);
-
- // WebBackForwardList
-
-protected:
- ULONG m_refCount;
- RefPtr<WebCore::BackForwardListImpl> m_backForwardList;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebCache.cpp b/Source/WebKit/win/WebCache.cpp
deleted file mode 100644
index 3115ed8ed..000000000
--- a/Source/WebKit/win/WebCache.cpp
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebCache.h"
-
-#include "CFDictionaryPropertyBag.h"
-#include <WebCore/ApplicationCacheStorage.h>
-#include <WebCore/MemoryCache.h>
-#include <WebCore/CrossOriginPreflightResultCache.h>
-
-// WebCache ---------------------------------------------------------------------------
-
-WebCache::WebCache()
-: m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("WebCache");
-}
-
-WebCache::~WebCache()
-{
- gClassCount--;
- gClassNameCount.remove("WebCache");
-}
-
-WebCache* WebCache::createInstance()
-{
- WebCache* instance = new WebCache();
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebCache::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<WebCache*>(this);
- else if (IsEqualGUID(riid, IID_IWebCache))
- *ppvObject = static_cast<WebCache*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebCache::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebCache::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebCache ------------------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebCache::statistics(
- /* [in][out] */ int* count,
- /* [retval][out] */ IPropertyBag ** s)
-{
- if (!count || (s && *count < 4))
- return E_FAIL;
-
- *count = 4;
- if (!s)
- return S_OK;
-
- WebCore::MemoryCache::Statistics stat = WebCore::memoryCache()->getStatistics();
-
- static CFStringRef imagesKey = CFSTR("images");
- static CFStringRef stylesheetsKey = CFSTR("style sheets");
- static CFStringRef xslKey = CFSTR("xsl");
- static CFStringRef scriptsKey = CFSTR("scripts");
-#if !ENABLE(XSLT)
- const int zero = 0;
-#endif
-
- RetainPtr<CFMutableDictionaryRef> dictionary = adoptCF(CFDictionaryCreateMutable(0, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
-
- RetainPtr<CFNumberRef> value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.images.count));
- CFDictionaryAddValue(dictionary.get(), imagesKey, value.get());
-
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.cssStyleSheets.count));
- CFDictionaryAddValue(dictionary.get(), stylesheetsKey, value.get());
-
-#if ENABLE(XSLT)
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.xslStyleSheets.count));
-#else
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &zero));
-#endif
- CFDictionaryAddValue(dictionary.get(), xslKey, value.get());
-
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.scripts.count));
- CFDictionaryAddValue(dictionary.get(), scriptsKey, value.get());
-
- COMPtr<CFDictionaryPropertyBag> propBag = CFDictionaryPropertyBag::createInstance();
- propBag->setDictionary(dictionary.get());
- s[0] = propBag.leakRef();
-
- dictionary = adoptCF(CFDictionaryCreateMutable(0, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
-
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.images.size));
- CFDictionaryAddValue(dictionary.get(), imagesKey, value.get());
-
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.cssStyleSheets.size));
- CFDictionaryAddValue(dictionary.get(), stylesheetsKey, value.get());
-
-#if ENABLE(XSLT)
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.xslStyleSheets.size));
-#else
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &zero));
-#endif
- CFDictionaryAddValue(dictionary.get(), xslKey, value.get());
-
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.scripts.size));
- CFDictionaryAddValue(dictionary.get(), scriptsKey, value.get());
-
- propBag = CFDictionaryPropertyBag::createInstance();
- propBag->setDictionary(dictionary.get());
- s[1] = propBag.leakRef();
-
- dictionary = adoptCF(CFDictionaryCreateMutable(0, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
-
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.images.liveSize));
- CFDictionaryAddValue(dictionary.get(), imagesKey, value.get());
-
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.cssStyleSheets.liveSize));
- CFDictionaryAddValue(dictionary.get(), stylesheetsKey, value.get());
-
-#if ENABLE(XSLT)
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.xslStyleSheets.liveSize));
-#else
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &zero));
-#endif
- CFDictionaryAddValue(dictionary.get(), xslKey, value.get());
-
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.scripts.liveSize));
- CFDictionaryAddValue(dictionary.get(), scriptsKey, value.get());
-
- propBag = CFDictionaryPropertyBag::createInstance();
- propBag->setDictionary(dictionary.get());
- s[2] = propBag.leakRef();
-
- dictionary = adoptCF(CFDictionaryCreateMutable(0, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
-
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.images.decodedSize));
- CFDictionaryAddValue(dictionary.get(), imagesKey, value.get());
-
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.cssStyleSheets.decodedSize));
- CFDictionaryAddValue(dictionary.get(), stylesheetsKey, value.get());
-
-#if ENABLE(XSLT)
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.xslStyleSheets.decodedSize));
-#else
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &zero));
-#endif
- CFDictionaryAddValue(dictionary.get(), xslKey, value.get());
-
- value = adoptCF(CFNumberCreate(0, kCFNumberIntType, &stat.scripts.decodedSize));
- CFDictionaryAddValue(dictionary.get(), scriptsKey, value.get());
-
- propBag = CFDictionaryPropertyBag::createInstance();
- propBag->setDictionary(dictionary.get());
- s[3] = propBag.leakRef();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCache::empty( void)
-{
- if (WebCore::memoryCache()->disabled())
- return S_OK;
- WebCore::memoryCache()->setDisabled(true);
- WebCore::memoryCache()->setDisabled(false);
-
- // Empty the application cache.
- WebCore::cacheStorage().empty();
-
- // Empty the Cross-Origin Preflight cache
- WebCore::CrossOriginPreflightResultCache::shared().empty();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCache::setDisabled(
- /* [in] */ BOOL disabled)
-{
- WebCore::memoryCache()->setDisabled(!!disabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCache::disabled(
- /* [out][retval] */ BOOL* disabled)
-{
- if (!disabled)
- return E_POINTER;
- *disabled = WebCore::memoryCache()->disabled();
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebCache.h b/Source/WebKit/win/WebCache.h
deleted file mode 100644
index 89575cfcd..000000000
--- a/Source/WebKit/win/WebCache.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebCache_H
-#define WebCache_H
-
-#include "WebKit.h"
-
-class WebCache : public IWebCache
-{
-public:
- static WebCache* createInstance();
-protected:
- WebCache();
- ~WebCache();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebCache
- virtual HRESULT STDMETHODCALLTYPE statistics(
- /* [in][out] */ int* count,
- /* [retval][out] */ IPropertyBag **s);
-
- virtual HRESULT STDMETHODCALLTYPE empty( void);
-
- virtual HRESULT STDMETHODCALLTYPE setDisabled(
- /* [in] */ BOOL disabled);
-
- virtual HRESULT STDMETHODCALLTYPE disabled(
- /* [out][retval] */ BOOL*);
-
-protected:
- ULONG m_refCount;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebCachedFramePlatformData.h b/Source/WebKit/win/WebCachedFramePlatformData.h
deleted file mode 100644
index ec850e357..000000000
--- a/Source/WebKit/win/WebCachedFramePlatformData.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebCachedFramePlatformData_h
-#define WebCachedFramePlatformData_h
-
-#include "WebDataSource.h"
-
-#include <WebCore/CachedFramePlatformData.h>
-
-class WebCachedFramePlatformData : public WebCore::CachedFramePlatformData {
-public:
- WebCachedFramePlatformData(IWebDataSource* webDataSource) : m_webDataSource(webDataSource) { }
-
- IWebDataSource* webDataSource() { return m_webDataSource.get(); }
-
-private:
- COMPtr<IWebDataSource> m_webDataSource;
-};
-
-#endif // CachedFramePlatformData_h
diff --git a/Source/WebKit/win/WebCookieManagerCFNet.cpp b/Source/WebKit/win/WebCookieManagerCFNet.cpp
deleted file mode 100644
index b48ba7b17..000000000
--- a/Source/WebKit/win/WebCookieManagerCFNet.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 "WebKitDLL.h"
-#include "WebCookieManager.h"
-
-#include <CFNetwork/CFHTTPCookiesPriv.h>
-#include <WebCore/NetworkStorageSession.h>
-
-using namespace WebCore;
-
-// IWebCookieManager -------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebCookieManager::cookieStorage(
- /* [retval][out] */ CFHTTPCookieStorageRef* storage)
-{
- if (!storage)
- return E_POINTER;
-
- *storage = overridenCookieStorage();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCookieManager::setCookieStorage(
- /* [in] */ CFHTTPCookieStorageRef storage)
-{
- overrideCookieStorage(storage);
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebCoreStatistics.cpp b/Source/WebKit/win/WebCoreStatistics.cpp
deleted file mode 100644
index 9dd0d01c3..000000000
--- a/Source/WebKit/win/WebCoreStatistics.cpp
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 "WebKitDLL.h"
-#include "WebCoreStatistics.h"
-
-#include "COMPropertyBag.h"
-#include <JavaScriptCore/JSLock.h>
-#include <WebCore/FontCache.h>
-#include <WebCore/GlyphPageTreeNode.h>
-#include <WebCore/IconDatabase.h>
-#include <WebCore/JSDOMWindow.h>
-#include <WebCore/SharedBuffer.h>
-
-using namespace JSC;
-using namespace WebCore;
-
-// WebCoreStatistics ---------------------------------------------------------------------------
-
-WebCoreStatistics::WebCoreStatistics()
-: m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("WebCoreStatistics");
-}
-
-WebCoreStatistics::~WebCoreStatistics()
-{
- gClassCount--;
- gClassNameCount.remove("WebCoreStatistics");
-}
-
-WebCoreStatistics* WebCoreStatistics::createInstance()
-{
- WebCoreStatistics* instance = new WebCoreStatistics();
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<WebCoreStatistics*>(this);
- else if (IsEqualGUID(riid, IID_IWebCoreStatistics))
- *ppvObject = static_cast<WebCoreStatistics*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebCoreStatistics::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebCoreStatistics::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebCoreStatistics ------------------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::javaScriptObjectsCount(
- /* [retval][out] */ UINT* count)
-{
- if (!count)
- return E_POINTER;
-
- JSLockHolder lock(JSDOMWindow::commonVM());
- *count = (UINT)JSDOMWindow::commonVM()->heap.objectCount();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::javaScriptGlobalObjectsCount(
- /* [retval][out] */ UINT* count)
-{
- if (!count)
- return E_POINTER;
-
- JSLockHolder lock(JSDOMWindow::commonVM());
- *count = (UINT)JSDOMWindow::commonVM()->heap.globalObjectCount();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::javaScriptProtectedObjectsCount(
- /* [retval][out] */ UINT* count)
-{
- if (!count)
- return E_POINTER;
-
- JSLockHolder lock(JSDOMWindow::commonVM());
- *count = (UINT)JSDOMWindow::commonVM()->heap.protectedObjectCount();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::javaScriptProtectedGlobalObjectsCount(
- /* [retval][out] */ UINT* count)
-{
- if (!count)
- return E_POINTER;
-
- JSLockHolder lock(JSDOMWindow::commonVM());
- *count = (UINT)JSDOMWindow::commonVM()->heap.protectedGlobalObjectCount();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::javaScriptProtectedObjectTypeCounts(
- /* [retval][out] */ IPropertyBag2** typeNamesAndCounts)
-{
- JSLockHolder lock(JSDOMWindow::commonVM());
- OwnPtr<TypeCountSet> jsObjectTypeNames(JSDOMWindow::commonVM()->heap.protectedObjectTypeCounts());
- typedef TypeCountSet::const_iterator Iterator;
- Iterator end = jsObjectTypeNames->end();
- HashMap<String, int> typeCountMap;
- for (Iterator current = jsObjectTypeNames->begin(); current != end; ++current)
- typeCountMap.set(current->key, current->value);
-
- COMPtr<IPropertyBag2> results(AdoptCOM, COMPropertyBag<int>::createInstance(typeCountMap));
- results.copyRefTo(typeNamesAndCounts);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::iconPageURLMappingCount(
- /* [retval][out] */ UINT* count)
-{
- if (!count)
- return E_POINTER;
- *count = (UINT) iconDatabase().pageURLMappingCount();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::iconRetainedPageURLCount(
- /* [retval][out] */ UINT *count)
-{
- if (!count)
- return E_POINTER;
- *count = (UINT) iconDatabase().retainedPageURLCount();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::iconRecordCount(
- /* [retval][out] */ UINT *count)
-{
- if (!count)
- return E_POINTER;
- *count = (UINT) iconDatabase().iconRecordCount();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::iconsWithDataCount(
- /* [retval][out] */ UINT *count)
-{
- if (!count)
- return E_POINTER;
- *count = (UINT) iconDatabase().iconRecordCountWithData();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::cachedFontDataCount(
- /* [retval][out] */ UINT *count)
-{
- if (!count)
- return E_POINTER;
- *count = (UINT) fontCache()->fontDataCount();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::cachedFontDataInactiveCount(
- /* [retval][out] */ UINT *count)
-{
- if (!count)
- return E_POINTER;
- *count = (UINT) fontCache()->inactiveFontDataCount();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::purgeInactiveFontData(void)
-{
- fontCache()->purgeInactiveFontData();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebCoreStatistics::glyphPageCount(
- /* [retval][out] */ UINT *count)
-{
- if (!count)
- return E_POINTER;
- *count = (UINT) GlyphPageTreeNode::treeGlyphPageCount();
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebCoreStatistics.h b/Source/WebKit/win/WebCoreStatistics.h
deleted file mode 100644
index 1d9d96afc..000000000
--- a/Source/WebKit/win/WebCoreStatistics.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 WebCoreStatistics_h
-#define WebCoreStatistics_h
-
-#include "WebKit.h"
-
-class WebCoreStatistics : public IWebCoreStatistics {
-public:
- static WebCoreStatistics* createInstance();
-protected:
- WebCoreStatistics();
- ~WebCoreStatistics();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebCoreStatistics
- virtual HRESULT STDMETHODCALLTYPE javaScriptObjectsCount(
- /* [retval][out] */ UINT *count);
- virtual HRESULT STDMETHODCALLTYPE javaScriptGlobalObjectsCount(
- /* [retval][out] */ UINT *count);
- virtual HRESULT STDMETHODCALLTYPE javaScriptProtectedObjectsCount(
- /* [retval][out] */ UINT *count);
- virtual HRESULT STDMETHODCALLTYPE javaScriptProtectedGlobalObjectsCount(
- /* [retval][out] */ UINT *count);
- virtual HRESULT STDMETHODCALLTYPE javaScriptProtectedObjectTypeCounts(
- /* [retval][out] */ IPropertyBag2** typeNamesAndCounts);
- virtual HRESULT STDMETHODCALLTYPE iconPageURLMappingCount(
- /* [retval][out] */ UINT *count);
- virtual HRESULT STDMETHODCALLTYPE iconRetainedPageURLCount(
- /* [retval][out] */ UINT *count);
- virtual HRESULT STDMETHODCALLTYPE iconRecordCount(
- /* [retval][out] */ UINT *count);
- virtual HRESULT STDMETHODCALLTYPE iconsWithDataCount(
- /* [retval][out] */ UINT *count);
- virtual HRESULT STDMETHODCALLTYPE cachedFontDataCount(
- /* [retval][out] */ UINT *count);
- virtual HRESULT STDMETHODCALLTYPE cachedFontDataInactiveCount(
- /* [retval][out] */ UINT *count);
- virtual HRESULT STDMETHODCALLTYPE purgeInactiveFontData(void);
- virtual HRESULT STDMETHODCALLTYPE glyphPageCount(
- /* [retval][out] */ UINT *count);
-
-protected:
- ULONG m_refCount;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebCoreSupport/EmbeddedWidget.cpp b/Source/WebKit/win/WebCoreSupport/EmbeddedWidget.cpp
deleted file mode 100644
index 62d0b9e82..000000000
--- a/Source/WebKit/win/WebCoreSupport/EmbeddedWidget.cpp
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 "EmbeddedWidget.h"
-
-#include <WebCore/Document.h>
-#include <WebCore/FrameView.h>
-#include <WebCore/HTMLPlugInElement.h>
-#include <WebCore/RenderObject.h>
-
-#include "MemoryStream.h"
-#include "WebError.h"
-#include "WebURLResponse.h"
-
-using namespace WebCore;
-
-PassRefPtr<EmbeddedWidget> EmbeddedWidget::create(IWebEmbeddedView* view, HTMLPlugInElement* element, HWND parentWindow, const IntSize& size)
-{
- RefPtr<EmbeddedWidget> widget = adoptRef(new EmbeddedWidget(view, element));
-
- widget->createWindow(parentWindow, size);
- return widget.release();
-}
-
-EmbeddedWidget::~EmbeddedWidget()
-{
- if (m_window)
- DestroyWindow(m_window);
-}
-
-bool EmbeddedWidget::createWindow(HWND parentWindow, const IntSize& size)
-{
- ASSERT(!m_window);
-
- HWND window;
-
- SIZE pluginSize(size);
-
- HRESULT hr = m_view->createViewWindow((OLE_HANDLE)parentWindow, &pluginSize, (OLE_HANDLE*)&window);
-
- if (FAILED(hr) || !window)
- return false;
-
- m_window = window;
- return true;
-}
-
-void EmbeddedWidget::invalidateRect(const IntRect& rect)
-{
- if (!m_window)
- return;
-
- RECT r = rect;
- ::InvalidateRect(m_window, &r, false);
-}
-
-void EmbeddedWidget::setFrameRect(const IntRect& rect)
-{
- if (m_element->document()->printing())
- return;
-
- if (rect != frameRect())
- Widget::setFrameRect(rect);
-
- frameRectsChanged();
-}
-
-void EmbeddedWidget::frameRectsChanged()
-{
- if (!parent())
- return;
-
- ASSERT(parent()->isFrameView());
- FrameView* frameView = toFrameView(parent());
-
- IntRect oldWindowRect = m_windowRect;
- IntRect oldClipRect = m_clipRect;
-
- m_windowRect = IntRect(frameView->contentsToWindow(frameRect().location()), frameRect().size());
- m_clipRect = windowClipRect();
- m_clipRect.move(-m_windowRect.x(), -m_windowRect.y());
-
- if (!m_window)
- return;
-
- if (m_windowRect == oldWindowRect && m_clipRect == oldClipRect)
- return;
-
- HRGN rgn;
-
- // To prevent flashes while scrolling, we disable drawing during the window
- // update process by clipping the window to the zero rect.
-
- bool clipToZeroRect = true;
-
- if (clipToZeroRect) {
- rgn = ::CreateRectRgn(0, 0, 0, 0);
- ::SetWindowRgn(m_window, rgn, FALSE);
- } else {
- rgn = ::CreateRectRgn(m_clipRect.x(), m_clipRect.y(), m_clipRect.maxX(), m_clipRect.maxY());
- ::SetWindowRgn(m_window, rgn, TRUE);
- }
-
- if (m_windowRect != oldWindowRect)
- ::MoveWindow(m_window, m_windowRect.x(), m_windowRect.y(), m_windowRect.width(), m_windowRect.height(), TRUE);
-
- if (clipToZeroRect) {
- rgn = ::CreateRectRgn(m_clipRect.x(), m_clipRect.y(), m_clipRect.maxX(), m_clipRect.maxY());
- ::SetWindowRgn(m_window, rgn, TRUE);
- }
-}
-
-void EmbeddedWidget::setFocus(bool focused)
-{
- if (m_window && focused)
- SetFocus(m_window);
-
- Widget::setFocus(focused);
-}
-
-void EmbeddedWidget::show()
-{
- m_isVisible = true;
-
- if (m_attachedToWindow && m_window)
- ShowWindow(m_window, SW_SHOWNA);
-
- Widget::show();
-}
-
-void EmbeddedWidget::hide()
-{
- m_isVisible = false;
-
- if (m_attachedToWindow && m_window)
- ShowWindow(m_window, SW_HIDE);
-
- Widget::hide();
-}
-
-IntRect EmbeddedWidget::windowClipRect() const
-{
- // Start by clipping to our bounds.
- IntRect clipRect(m_windowRect);
-
- // Take our element and get the clip rect from the enclosing layer and frame view.
- FrameView* parentView = m_element->document()->view();
- clipRect.intersect(parentView->windowClipRectForFrameOwner(m_element, true));
-
- return clipRect;
-}
-
-void EmbeddedWidget::setParent(ScrollView* parent)
-{
- Widget::setParent(parent);
-
- if (!m_window)
- return;
-
- if (parent)
- return;
-
- // If the embedded window or one of its children have the focus, we need to
- // clear it to prevent the web view window from being focused because that can
- // trigger a layout while the plugin element is being detached.
- HWND focusedWindow = ::GetFocus();
- if (m_window == focusedWindow || ::IsChild(m_window, focusedWindow))
- ::SetFocus(0);
-}
-
-void EmbeddedWidget::attachToWindow()
-{
- if (m_attachedToWindow)
- return;
-
- m_attachedToWindow = true;
- if (m_isVisible && m_window)
- ShowWindow(m_window, SW_SHOWNA);
-}
-
-void EmbeddedWidget::detachFromWindow()
-{
- if (!m_attachedToWindow)
- return;
-
- if (m_isVisible && m_window)
- ShowWindow(m_window, SW_HIDE);
- m_attachedToWindow = false;
-}
-
-void EmbeddedWidget::didReceiveResponse(const ResourceResponse& response)
-{
- ASSERT(m_view);
-
- COMPtr<IWebURLResponse> urlResponse(AdoptCOM, WebURLResponse::createInstance(response));
- m_view->didReceiveResponse(urlResponse.get());
-}
-
-void EmbeddedWidget::didReceiveData(const char* data, int length)
-{
- COMPtr<MemoryStream> stream = MemoryStream::createInstance(SharedBuffer::create(data, length));
- m_view->didReceiveData(stream.get());
-}
-
-void EmbeddedWidget::didFinishLoading()
-{
- m_view->didFinishLoading();
-}
-
-void EmbeddedWidget::didFail(const ResourceError& error)
-{
- COMPtr<IWebError> webError(AdoptCOM, WebError::createInstance(error));
- m_view->didFail(webError.get());
-}
diff --git a/Source/WebKit/win/WebCoreSupport/EmbeddedWidget.h b/Source/WebKit/win/WebCoreSupport/EmbeddedWidget.h
deleted file mode 100644
index a5276bf57..000000000
--- a/Source/WebKit/win/WebCoreSupport/EmbeddedWidget.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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 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 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 EmbeddedWidget_h
-#define EmbeddedWidget_h
-
-#include "WebKit.h"
-#include <WebCore/COMPtr.h>
-#include <WebCore/IntRect.h>
-#include <WebCore/PluginView.h>
-
-namespace WebCore {
-class HTMLPlugInElement;
-class IntSize;
-}
-
-interface IWebEmbeddedView;
-
-class EmbeddedWidget : public WebCore::Widget, public WebCore::PluginManualLoader {
-public:
- static PassRefPtr<EmbeddedWidget> create(IWebEmbeddedView*, WebCore::HTMLPlugInElement*, HWND parentWindow, const WebCore::IntSize&);
- ~EmbeddedWidget();
-
-private:
- EmbeddedWidget(IWebEmbeddedView* view, WebCore::HTMLPlugInElement* element)
- : m_view(view)
- , m_element(element)
- , m_window(0)
- , m_isVisible(false)
- , m_attachedToWindow(false)
- {
- }
-
- bool createWindow(HWND parentWindow, const WebCore::IntSize& size);
-
- virtual void didReceiveResponse(const WebCore::ResourceResponse&);
- virtual void didReceiveData(const char*, int);
- virtual void didFinishLoading();
- virtual void didFail(const WebCore::ResourceError&);
-
- virtual void invalidateRect(const WebCore::IntRect&);
- virtual void setFrameRect(const WebCore::IntRect&);
- virtual void frameRectsChanged();
- virtual void setFocus(bool);
- virtual void show();
- virtual void hide();
- virtual WebCore::IntRect windowClipRect() const;
- virtual void setParent(WebCore::ScrollView*);
-
- virtual void attachToWindow();
- virtual void detachFromWindow();
-
- COMPtr<IWebEmbeddedView> m_view;
- WebCore::HTMLPlugInElement* m_element;
- HWND m_window;
-
- bool m_isVisible;
- bool m_attachedToWindow;
-
- WebCore::IntRect m_clipRect; // The clip rect to apply to an embedded view.
- WebCore::IntRect m_windowRect; // Our window rect.
-};
-
-#endif // EmbeddedWidget_h
diff --git a/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp b/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp
deleted file mode 100644
index 10445ab3a..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp
+++ /dev/null
@@ -1,875 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
- *
- * 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 "WebChromeClient.h"
-
-#include "COMPropertyBag.h"
-#include "COMVariantSetter.h"
-#include "DOMCoreClasses.h"
-#include "WebElementPropertyBag.h"
-#include "WebFrame.h"
-#include "WebHistory.h"
-#include "WebMutableURLRequest.h"
-#include "WebDesktopNotificationsDelegate.h"
-#include "WebSecurityOrigin.h"
-#include "WebView.h"
-#include <WebCore/BString.h>
-#include <WebCore/Console.h>
-#include <WebCore/ContextMenu.h>
-#include <WebCore/Cursor.h>
-#include <WebCore/FileChooser.h>
-#include <WebCore/FileIconLoader.h>
-#include <WebCore/FloatRect.h>
-#include <WebCore/Frame.h>
-#include <WebCore/FrameLoadRequest.h>
-#include <WebCore/FrameView.h>
-#include <WebCore/FullScreenController.h>
-#include <WebCore/HTMLNames.h>
-#include <WebCore/Icon.h>
-#include <WebCore/LocalWindowsContext.h>
-#include <WebCore/LocalizedStrings.h>
-#include <WebCore/NavigationAction.h>
-#include <WebCore/NotImplemented.h>
-#include <WebCore/Page.h>
-#include <WebCore/SecurityOrigin.h>
-#include <WebCore/PopupMenuWin.h>
-#include <WebCore/SearchPopupMenuWin.h>
-#include <WebCore/WindowFeatures.h>
-#include <wchar.h>
-
-#if USE(ACCELERATED_COMPOSITING)
-#include <WebCore/GraphicsLayer.h>
-#endif
-
-using namespace WebCore;
-
-// When you call GetOpenFileName, if the size of the buffer is too small,
-// MSDN says that the first two bytes of the buffer contain the required size for the file selection, in bytes or characters
-// So we can assume the required size can't be more than the maximum value for a short.
-static const size_t maxFilePathsListSize = USHRT_MAX;
-
-WebChromeClient::WebChromeClient(WebView* webView)
- : m_webView(webView)
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- , m_notificationsDelegate(new WebDesktopNotificationsDelegate(webView))
-#endif
-{
-}
-
-void WebChromeClient::chromeDestroyed()
-{
- delete this;
-}
-
-void WebChromeClient::setWindowRect(const FloatRect& r)
-{
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- RECT rect = IntRect(r);
- uiDelegate->setFrame(m_webView, &rect);
- uiDelegate->Release();
- }
-}
-
-FloatRect WebChromeClient::windowRect()
-{
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- RECT rect;
- HRESULT retval = uiDelegate->webViewFrame(m_webView, &rect);
-
- uiDelegate->Release();
-
- if (SUCCEEDED(retval))
- return rect;
- }
-
- return FloatRect();
-}
-
-FloatRect WebChromeClient::pageRect()
-{
- RECT rect;
- m_webView->frameRect(&rect);
- return rect;
-}
-
-void WebChromeClient::focus()
-{
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->webViewFocus(m_webView);
- uiDelegate->Release();
- }
- // Normally this would happen on a timer, but JS might need to know this earlier, so we'll update here.
- m_webView->updateActiveState();
-}
-
-void WebChromeClient::unfocus()
-{
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->webViewUnfocus(m_webView);
- uiDelegate->Release();
- }
- // Normally this would happen on a timer, but JS might need to know this earlier, so we'll update here.
- m_webView->updateActiveState();
-}
-
-bool WebChromeClient::canTakeFocus(FocusDirection direction)
-{
- IWebUIDelegate* uiDelegate = 0;
- BOOL bForward = (direction == FocusDirectionForward) ? TRUE : FALSE;
- BOOL result = FALSE;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->canTakeFocus(m_webView, bForward, &result);
- uiDelegate->Release();
- }
-
- return !!result;
-}
-
-void WebChromeClient::takeFocus(FocusDirection direction)
-{
- IWebUIDelegate* uiDelegate = 0;
- BOOL bForward = (direction == FocusDirectionForward) ? TRUE : FALSE;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->takeFocus(m_webView, bForward);
- uiDelegate->Release();
- }
-}
-
-void WebChromeClient::focusedNodeChanged(Node*)
-{
-}
-
-void WebChromeClient::focusedFrameChanged(Frame*)
-{
-}
-
-static COMPtr<IPropertyBag> createWindowFeaturesPropertyBag(const WindowFeatures& features)
-{
- HashMap<String, COMVariant> map;
- if (features.xSet)
- map.set(WebWindowFeaturesXKey, features.x);
- if (features.ySet)
- map.set(WebWindowFeaturesYKey, features.y);
- if (features.widthSet)
- map.set(WebWindowFeaturesWidthKey, features.width);
- if (features.heightSet)
- map.set(WebWindowFeaturesHeightKey, features.height);
- map.set(WebWindowFeaturesMenuBarVisibleKey, features.menuBarVisible);
- map.set(WebWindowFeaturesStatusBarVisibleKey, features.statusBarVisible);
- map.set(WebWindowFeaturesToolBarVisibleKey, features.toolBarVisible);
- map.set(WebWindowFeaturesScrollbarsVisibleKey, features.scrollbarsVisible);
- map.set(WebWindowFeaturesResizableKey, features.resizable);
- map.set(WebWindowFeaturesFullscreenKey, features.fullscreen);
- map.set(WebWindowFeaturesDialogKey, features.dialog);
-
- return COMPtr<IPropertyBag>(AdoptCOM, COMPropertyBag<COMVariant>::adopt(map));
-}
-
-Page* WebChromeClient::createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures& features, const NavigationAction&)
-{
- COMPtr<IWebUIDelegate> delegate = uiDelegate();
- if (!delegate)
- return 0;
-
- // Just create a blank request because createWindow() is only required to create window but not to load URL.
- COMPtr<IWebMutableURLRequest> request(AdoptCOM, WebMutableURLRequest::createInstance());
-
- COMPtr<IWebUIDelegatePrivate2> delegatePrivate(Query, delegate);
- if (delegatePrivate) {
- COMPtr<IWebView> newWebView;
- HRESULT hr = delegatePrivate->createWebViewWithRequest(m_webView, request.get(), createWindowFeaturesPropertyBag(features).get(), &newWebView);
-
- if (SUCCEEDED(hr) && newWebView)
- return core(newWebView.get());
-
- // If the delegate doesn't implement the IWebUIDelegatePrivate2 version of the call, fall back
- // to the old versions (even if they support the IWebUIDelegatePrivate2 interface).
- if (hr != E_NOTIMPL)
- return 0;
- }
-
- COMPtr<IWebView> newWebView;
-
- if (features.dialog) {
- if (FAILED(delegate->createModalDialog(m_webView, request.get(), &newWebView)))
- return 0;
- } else if (FAILED(delegate->createWebViewWithRequest(m_webView, request.get(), &newWebView)))
- return 0;
-
- return newWebView ? core(newWebView.get()) : 0;
-}
-
-void WebChromeClient::show()
-{
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->webViewShow(m_webView);
- uiDelegate->Release();
- }
-}
-
-bool WebChromeClient::canRunModal()
-{
- BOOL result = FALSE;
- if (COMPtr<IWebUIDelegate> delegate = uiDelegate())
- delegate->canRunModal(m_webView, &result);
- return result;
-}
-
-void WebChromeClient::runModal()
-{
- if (COMPtr<IWebUIDelegate> delegate = uiDelegate())
- delegate->runModal(m_webView);
-}
-
-void WebChromeClient::setToolbarsVisible(bool visible)
-{
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->setToolbarsVisible(m_webView, visible);
- uiDelegate->Release();
- }
-}
-
-bool WebChromeClient::toolbarsVisible()
-{
- BOOL result = false;
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->webViewAreToolbarsVisible(m_webView, &result);
- uiDelegate->Release();
- }
- return result != false;
-}
-
-void WebChromeClient::setStatusbarVisible(bool visible)
-{
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->setStatusBarVisible(m_webView, visible);
- uiDelegate->Release();
- }
-}
-
-bool WebChromeClient::statusbarVisible()
-{
- BOOL result = false;
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->webViewIsStatusBarVisible(m_webView, &result);
- uiDelegate->Release();
- }
- return result != false;
-}
-
-void WebChromeClient::setScrollbarsVisible(bool b)
-{
- WebFrame* webFrame = m_webView->topLevelFrame();
- if (webFrame)
- webFrame->setAllowsScrolling(b);
-}
-
-bool WebChromeClient::scrollbarsVisible()
-{
- WebFrame* webFrame = m_webView->topLevelFrame();
- BOOL b = false;
- if (webFrame)
- webFrame->allowsScrolling(&b);
-
- return !!b;
-}
-
-void WebChromeClient::setMenubarVisible(bool visible)
-{
- COMPtr<IWebUIDelegate> delegate = uiDelegate();
- if (!delegate)
- return;
- delegate->setMenuBarVisible(m_webView, visible);
-}
-
-bool WebChromeClient::menubarVisible()
-{
- COMPtr<IWebUIDelegate> delegate = uiDelegate();
- if (!delegate)
- return true;
- BOOL result = true;
- delegate->isMenuBarVisible(m_webView, &result);
- return result;
-}
-
-void WebChromeClient::setResizable(bool resizable)
-{
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->setResizable(m_webView, resizable);
- uiDelegate->Release();
- }
-}
-
-void WebChromeClient::addMessageToConsole(MessageSource source, MessageLevel level, const String& message, unsigned lineNumber, unsigned columnNumber, const String& url)
-{
- UNUSED_PARAM(columnNumber);
-
- COMPtr<IWebUIDelegate> uiDelegate;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- COMPtr<IWebUIDelegatePrivate> uiPrivate;
- if (SUCCEEDED(uiDelegate->QueryInterface(IID_IWebUIDelegatePrivate, (void**)&uiPrivate)))
- uiPrivate->webViewAddMessageToConsole(m_webView, BString(message), lineNumber, BString(url), true);
- }
-}
-
-bool WebChromeClient::canRunBeforeUnloadConfirmPanel()
-{
- IWebUIDelegate* ui;
- if (SUCCEEDED(m_webView->uiDelegate(&ui)) && ui) {
- ui->Release();
- return true;
- }
- return false;
-}
-
-bool WebChromeClient::runBeforeUnloadConfirmPanel(const String& message, Frame* frame)
-{
- BOOL result = TRUE;
- IWebUIDelegate* ui;
- if (SUCCEEDED(m_webView->uiDelegate(&ui)) && ui) {
- WebFrame* webFrame = kit(frame);
- ui->runBeforeUnloadConfirmPanelWithMessage(m_webView, BString(message), webFrame, &result);
- ui->Release();
- }
- return !!result;
-}
-
-void WebChromeClient::closeWindowSoon()
-{
- // We need to remove the parent WebView from WebViewSets here, before it actually
- // closes, to make sure that JavaScript code that executes before it closes
- // can't find it. Otherwise, window.open will select a closed WebView instead of
- // opening a new one <rdar://problem/3572585>.
-
- // We also need to stop the load to prevent further parsing or JavaScript execution
- // after the window has torn down <rdar://problem/4161660>.
-
- // FIXME: This code assumes that the UI delegate will respond to a webViewClose
- // message by actually closing the WebView. Safari guarantees this behavior, but other apps might not.
- // This approach is an inherent limitation of not making a close execute immediately
- // after a call to window.close.
-
- m_webView->setGroupName(0);
- m_webView->stopLoading(0);
- m_webView->closeWindowSoon();
-}
-
-void WebChromeClient::runJavaScriptAlert(Frame*, const String& message)
-{
- COMPtr<IWebUIDelegate> ui;
- if (SUCCEEDED(m_webView->uiDelegate(&ui)))
- ui->runJavaScriptAlertPanelWithMessage(m_webView, BString(message));
-}
-
-bool WebChromeClient::runJavaScriptConfirm(Frame*, const String& message)
-{
- BOOL result = FALSE;
- COMPtr<IWebUIDelegate> ui;
- if (SUCCEEDED(m_webView->uiDelegate(&ui)))
- ui->runJavaScriptConfirmPanelWithMessage(m_webView, BString(message), &result);
- return !!result;
-}
-
-bool WebChromeClient::runJavaScriptPrompt(Frame*, const String& message, const String& defaultValue, String& result)
-{
- COMPtr<IWebUIDelegate> ui;
- if (FAILED(m_webView->uiDelegate(&ui)))
- return false;
-
- TimerBase::fireTimersInNestedEventLoop();
-
- BString resultBSTR;
- if (FAILED(ui->runJavaScriptTextInputPanelWithPrompt(m_webView, BString(message), BString(defaultValue), &resultBSTR)))
- return false;
-
- if (!resultBSTR)
- return false;
-
- result = String(resultBSTR, SysStringLen(resultBSTR));
- return true;
-}
-
-void WebChromeClient::setStatusbarText(const String& statusText)
-{
- COMPtr<IWebUIDelegate> uiDelegate;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->setStatusText(m_webView, BString(statusText));
- }
-}
-
-bool WebChromeClient::shouldInterruptJavaScript()
-{
- COMPtr<IWebUIDelegate> uiDelegate;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- COMPtr<IWebUIDelegatePrivate> uiPrivate;
- if (SUCCEEDED(uiDelegate->QueryInterface(IID_IWebUIDelegatePrivate, (void**)&uiPrivate))) {
- BOOL result;
- if (SUCCEEDED(uiPrivate->webViewShouldInterruptJavaScript(m_webView, &result)))
- return !!result;
- }
- }
- return false;
-}
-
-KeyboardUIMode WebChromeClient::keyboardUIMode()
-{
- BOOL enabled = FALSE;
- IWebPreferences* preferences;
- if (SUCCEEDED(m_webView->preferences(&preferences)))
- preferences->tabsToLinks(&enabled);
-
- return enabled ? KeyboardAccessTabsToLinks : KeyboardAccessDefault;
-}
-
-IntRect WebChromeClient::windowResizerRect() const
-{
- return IntRect();
-}
-
-void WebChromeClient::invalidateRootView(const IntRect& windowRect, bool immediate)
-{
- ASSERT(core(m_webView->topLevelFrame()));
- m_webView->repaint(windowRect, false /*contentChanged*/, immediate, false /*repaintContentOnly*/);
-}
-
-void WebChromeClient::invalidateContentsAndRootView(const IntRect& windowRect, bool immediate)
-{
- ASSERT(core(m_webView->topLevelFrame()));
- m_webView->repaint(windowRect, true /*contentChanged*/, immediate /*immediate*/, false /*repaintContentOnly*/);
-}
-
-void WebChromeClient::invalidateContentsForSlowScroll(const IntRect& windowRect, bool immediate)
-{
- ASSERT(core(m_webView->topLevelFrame()));
- m_webView->repaint(windowRect, true /*contentChanged*/, immediate, true /*repaintContentOnly*/);
-}
-
-void WebChromeClient::scroll(const IntSize& delta, const IntRect& scrollViewRect, const IntRect& clipRect)
-{
- ASSERT(core(m_webView->topLevelFrame()));
-
- m_webView->scrollBackingStore(core(m_webView->topLevelFrame())->view(), delta.width(), delta.height(), scrollViewRect, clipRect);
-}
-
-IntRect WebChromeClient::rootViewToScreen(const IntRect& rect) const
-{
- HWND viewWindow;
- if (FAILED(m_webView->viewWindow(reinterpret_cast<OLE_HANDLE*>(&viewWindow))))
- return rect;
-
- // Find the top left corner of the Widget's containing window in screen coords,
- // and adjust the result rect's position by this amount.
- POINT topLeft = {0, 0};
- IntRect result = rect;
- ::ClientToScreen(viewWindow, &topLeft);
- result.move(topLeft.x, topLeft.y);
-
- return result;
-}
-
-IntPoint WebChromeClient::screenToRootView(const IntPoint& point) const
-{
- POINT result = point;
-
- HWND viewWindow;
- if (FAILED(m_webView->viewWindow(reinterpret_cast<OLE_HANDLE*>(&viewWindow))))
- return point;
-
- ::ScreenToClient(viewWindow, &result);
-
- return result;
-}
-
-PlatformPageClient WebChromeClient::platformPageClient() const
-{
- HWND viewWindow;
- if (FAILED(m_webView->viewWindow(reinterpret_cast<OLE_HANDLE*>(&viewWindow))))
- return 0;
- return viewWindow;
-}
-
-void WebChromeClient::contentsSizeChanged(Frame*, const IntSize&) const
-{
- notImplemented();
-}
-
-void WebChromeClient::mouseDidMoveOverElement(const HitTestResult& result, unsigned modifierFlags)
-{
- COMPtr<IWebUIDelegate> uiDelegate;
- if (FAILED(m_webView->uiDelegate(&uiDelegate)))
- return;
-
- COMPtr<WebElementPropertyBag> element;
- element.adoptRef(WebElementPropertyBag::createInstance(result));
-
- uiDelegate->mouseDidMoveOverElement(m_webView, element.get(), modifierFlags);
-}
-
-bool WebChromeClient::shouldUnavailablePluginMessageBeButton(RenderEmbeddedObject::PluginUnavailabilityReason pluginUnavailabilityReason) const
-{
- if (pluginUnavailabilityReason != RenderEmbeddedObject::PluginMissing)
- return false;
-
- COMPtr<IWebUIDelegate> uiDelegate;
- if (FAILED(m_webView->uiDelegate(&uiDelegate)))
- return false;
-
- // If the UI delegate implements IWebUIDelegatePrivate3,
- // which contains didPressMissingPluginButton, then the message should be a button.
- COMPtr<IWebUIDelegatePrivate3> uiDelegatePrivate3(Query, uiDelegate);
- return uiDelegatePrivate3;
-}
-
-void WebChromeClient::unavailablePluginButtonClicked(Element* element, RenderEmbeddedObject::PluginUnavailabilityReason pluginUnavailabilityReason) const
-{
- ASSERT_UNUSED(pluginUnavailabilityReason, pluginUnavailabilityReason == RenderEmbeddedObject::PluginMissing);
-
- COMPtr<IWebUIDelegate> uiDelegate;
- if (FAILED(m_webView->uiDelegate(&uiDelegate)))
- return;
-
- COMPtr<IWebUIDelegatePrivate3> uiDelegatePrivate3(Query, uiDelegate);
- if (!uiDelegatePrivate3)
- return;
-
- COMPtr<IDOMElement> e(AdoptCOM, DOMElement::createInstance(element));
- uiDelegatePrivate3->didPressMissingPluginButton(e.get());
-}
-
-void WebChromeClient::setToolTip(const String& toolTip, TextDirection)
-{
- m_webView->setToolTip(toolTip);
-}
-
-void WebChromeClient::print(Frame* frame)
-{
- COMPtr<IWebUIDelegate> uiDelegate;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate)))
- uiDelegate->printFrame(m_webView, kit(frame));
-}
-
-#if ENABLE(SQL_DATABASE)
-void WebChromeClient::exceededDatabaseQuota(Frame* frame, const String& databaseIdentifier, DatabaseDetails)
-{
- COMPtr<WebSecurityOrigin> origin(AdoptCOM, WebSecurityOrigin::createInstance(frame->document()->securityOrigin()));
- COMPtr<IWebUIDelegate> uiDelegate;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- COMPtr<IWebUIDelegatePrivate> uiDelegatePrivate(Query, uiDelegate);
- if (uiDelegatePrivate)
- uiDelegatePrivate->exceededDatabaseQuota(m_webView, kit(frame), origin.get(), BString(databaseIdentifier));
- else {
- // FIXME: remove this workaround once shipping Safari has the necessary delegate implemented.
- WCHAR path[MAX_PATH];
- HMODULE safariHandle = GetModuleHandleW(L"Safari.exe");
- if (!safariHandle)
- return;
- GetModuleFileName(safariHandle, path, WTF_ARRAY_LENGTH(path));
- DWORD handle;
- DWORD versionSize = GetFileVersionInfoSize(path, &handle);
- if (!versionSize)
- return;
- Vector<char> data(versionSize);
- if (!GetFileVersionInfo(path, 0, versionSize, data.data()))
- return;
-
- LPCTSTR productVersion;
- UINT productVersionLength;
- if (!VerQueryValueW(data.data(), L"\\StringFileInfo\\040904b0\\ProductVersion", (void**)&productVersion, &productVersionLength))
- return;
- if (wcsncmp(L"3.1", productVersion, productVersionLength) > 0) {
- const unsigned long long defaultQuota = 5 * 1024 * 1024; // 5 megabytes should hopefully be enough to test storage support.
- origin->setQuota(defaultQuota);
- }
- }
- }
-}
-#endif
-
-// FIXME: Move this include to the top of the file with the other includes.
-#include "ApplicationCacheStorage.h"
-
-void WebChromeClient::reachedMaxAppCacheSize(int64_t spaceNeeded)
-{
- // FIXME: Free some space.
- notImplemented();
-}
-
-void WebChromeClient::reachedApplicationCacheOriginQuota(SecurityOrigin*, int64_t)
-{
- notImplemented();
-}
-
-void WebChromeClient::populateVisitedLinks()
-{
- COMPtr<IWebHistoryDelegate> historyDelegate;
- m_webView->historyDelegate(&historyDelegate);
- if (historyDelegate) {
- historyDelegate->populateVisitedLinksForWebView(m_webView);
- return;
- }
-
- WebHistory* history = WebHistory::sharedHistory();
- if (!history)
- return;
- history->addVisitedLinksToPageGroup(m_webView->page()->group());
-}
-
-void WebChromeClient::runOpenPanel(Frame*, PassRefPtr<FileChooser> prpFileChooser)
-{
- RefPtr<FileChooser> fileChooser = prpFileChooser;
-
- HWND viewWindow;
- if (FAILED(m_webView->viewWindow(reinterpret_cast<OLE_HANDLE*>(&viewWindow))))
- return;
-
- bool multiFile = fileChooser->settings().allowsMultipleFiles;
- Vector<WCHAR> fileBuf(multiFile ? maxFilePathsListSize : MAX_PATH);
-
- OPENFILENAME ofn;
-
- memset(&ofn, 0, sizeof(ofn));
-
- // Need to zero out the first char of fileBuf so GetOpenFileName doesn't think it's an initialization string
- fileBuf[0] = '\0';
-
- ofn.lStructSize = sizeof(ofn);
- ofn.hwndOwner = viewWindow;
- String allFiles = allFilesText();
- allFiles.append(L"\0*.*\0\0", 6);
- ofn.lpstrFilter = allFiles.charactersWithNullTermination().data();
- ofn.lpstrFile = fileBuf.data();
- ofn.nMaxFile = fileBuf.size();
- String dialogTitle = uploadFileText();
- ofn.lpstrTitle = dialogTitle.charactersWithNullTermination().data();
- ofn.Flags = OFN_ENABLESIZING | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_EXPLORER;
- if (multiFile)
- ofn.Flags = ofn.Flags | OFN_ALLOWMULTISELECT;
-
- if (GetOpenFileName(&ofn)) {
- WCHAR* files = fileBuf.data();
- Vector<String> fileList;
- String file(files);
- if (multiFile) {
- while (!file.isEmpty()) {
- // When using the OFN_EXPLORER flag, the file list is null delimited.
- // When you create a String from a ptr to this list, it will use strlen to look for the null character.
- // Then we find the next file path string by using the length of the string we just created.
- WCHAR* nextFilePtr = files + file.length() + 1;
- String nextFile(nextFilePtr);
- // If multiple files are selected, there will be a directory name first, which we don't want to add to the vector.
- // We know a single file was selected if there is only one filename in the list.
- // In that case, we don't want to skip adding the first (and only) name.
- if (files != fileBuf.data() || nextFile.isEmpty())
- fileList.append(file);
- files = nextFilePtr;
- file = nextFile;
- }
- } else
- fileList.append(file);
- ASSERT(fileList.size());
- fileChooser->chooseFiles(fileList);
- }
- // FIXME: Show some sort of error if too many files are selected and the buffer is too small. For now, this will fail silently.
-}
-
-void WebChromeClient::loadIconForFiles(const Vector<WTF::String>& filenames, WebCore::FileIconLoader* loader)
-{
- loader->notifyFinished(Icon::createIconForFiles(filenames));
-}
-
-void WebChromeClient::setCursor(const Cursor& cursor)
-{
- HCURSOR platformCursor = cursor.platformCursor()->nativeCursor();
- 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))))
- shouldSetCursor = false;
- }
- }
-
- if (shouldSetCursor)
- ::SetCursor(platformCursor);
-
- setLastSetCursorToCurrentCursor();
-}
-
-void WebChromeClient::setCursorHiddenUntilMouseMoves(bool)
-{
- notImplemented();
-}
-
-void WebChromeClient::setLastSetCursorToCurrentCursor()
-{
- m_webView->setLastCursor(::GetCursor());
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-void WebChromeClient::attachRootGraphicsLayer(Frame* frame, GraphicsLayer* graphicsLayer)
-{
- m_webView->setRootChildLayer(graphicsLayer);
-}
-
-void WebChromeClient::scheduleCompositingLayerFlush()
-{
- m_webView->flushPendingGraphicsLayerChangesSoon();
-}
-#endif
-
-#if PLATFORM(WIN) && USE(AVFOUNDATION)
-WebCore::GraphicsDeviceAdapter* WebChromeClient::graphicsDeviceAdapter() const
-{
- return m_webView->graphicsDeviceAdapter();
-}
-#endif
-
-COMPtr<IWebUIDelegate> WebChromeClient::uiDelegate()
-{
- COMPtr<IWebUIDelegate> delegate;
- m_webView->uiDelegate(&delegate);
- return delegate;
-}
-
-#if ENABLE(VIDEO)
-
-bool WebChromeClient::supportsFullscreenForNode(const Node* node)
-{
- return node->hasTagName(HTMLNames::videoTag);
-}
-
-void WebChromeClient::enterFullscreenForNode(Node* node)
-{
- m_webView->enterFullscreenForNode(node);
-}
-
-void WebChromeClient::exitFullscreenForNode(Node*)
-{
- m_webView->exitFullscreen();
-}
-
-#endif
-
-bool WebChromeClient::selectItemWritingDirectionIsNatural()
-{
- return true;
-}
-
-bool WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection()
-{
- return false;
-}
-
-bool WebChromeClient::hasOpenedPopup() const
-{
- notImplemented();
- return false;
-}
-
-PassRefPtr<PopupMenu> WebChromeClient::createPopupMenu(PopupMenuClient* client) const
-{
- return adoptRef(new PopupMenuWin(client));
-}
-
-PassRefPtr<SearchPopupMenu> WebChromeClient::createSearchPopupMenu(PopupMenuClient* client) const
-{
- return adoptRef(new SearchPopupMenuWin(client));
-}
-
-#if ENABLE(FULLSCREEN_API)
-bool WebChromeClient::supportsFullScreenForElement(const Element* element, bool requestingKeyboardAccess)
-{
- COMPtr<IWebUIDelegate> uiDelegate;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- COMPtr<IWebUIDelegatePrivate4> uiDelegatePrivate4(Query, uiDelegate);
- BOOL supports = FALSE;
- COMPtr<IDOMElement> domElement(AdoptCOM, DOMElement::createInstance(const_cast<Element*>(element)));
-
- if (uiDelegatePrivate4 && SUCCEEDED(uiDelegatePrivate4->supportsFullScreenForElement(domElement.get(), requestingKeyboardAccess, &supports)))
- return supports;
- }
-
- return m_webView->supportsFullScreenForElement(element, requestingKeyboardAccess);
-}
-
-void WebChromeClient::enterFullScreenForElement(Element* element)
-{
- COMPtr<IWebUIDelegate> uiDelegate;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- COMPtr<IWebUIDelegatePrivate4> uiDelegatePrivate4(Query, uiDelegate);
- COMPtr<IDOMElement> domElement(AdoptCOM, DOMElement::createInstance(element));
- if (uiDelegatePrivate4 && SUCCEEDED(uiDelegatePrivate4->enterFullScreenForElement(domElement.get())))
- return;
- }
-
- m_webView->setFullScreenElement(element);
- m_webView->fullScreenController()->enterFullScreen();
-}
-
-void WebChromeClient::exitFullScreenForElement(Element* element)
-{
- COMPtr<IWebUIDelegate> uiDelegate;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- COMPtr<IWebUIDelegatePrivate4> uiDelegatePrivate4(Query, uiDelegate);
- COMPtr<IDOMElement> domElement(AdoptCOM, DOMElement::createInstance(element));
- if (uiDelegatePrivate4 && SUCCEEDED(uiDelegatePrivate4->exitFullScreenForElement(domElement.get())))
- return;
- }
-
- ASSERT(element == m_webView->fullScreenElement());
- m_webView->fullScreenController()->exitFullScreen();
-}
-#endif
-
-void WebChromeClient::AXStartFrameLoad()
-{
- COMPtr<IAccessibilityDelegate> delegate;
- m_webView->accessibilityDelegate(&delegate);
- if (delegate)
- delegate->fireFrameLoadStartedEvents();
-}
-
-void WebChromeClient::AXFinishFrameLoad()
-{
- COMPtr<IAccessibilityDelegate> delegate;
- m_webView->accessibilityDelegate(&delegate);
- if (delegate)
- delegate->fireFrameLoadFinishedEvents();
-}
diff --git a/Source/WebKit/win/WebCoreSupport/WebChromeClient.h b/Source/WebKit/win/WebCoreSupport/WebChromeClient.h
deleted file mode 100644
index 40cec2804..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebChromeClient.h
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
- *
- * 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 <WebCore/ChromeClient.h>
-#include <WebCore/COMPtr.h>
-#include <WebCore/GraphicsContext.h>
-#include <WebCore/FocusDirection.h>
-#include <WebCore/ScrollTypes.h>
-#include <wtf/Forward.h>
-#include <wtf/PassRefPtr.h>
-
-class WebView;
-class WebDesktopNotificationsDelegate;
-
-interface IWebUIDelegate;
-
-class WebChromeClient : public WebCore::ChromeClient {
-public:
- WebChromeClient(WebView*);
-
- virtual void chromeDestroyed();
-
- virtual void setWindowRect(const WebCore::FloatRect&);
- virtual WebCore::FloatRect windowRect();
-
- virtual WebCore::FloatRect pageRect();
-
- virtual void focus();
- virtual void unfocus();
-
- virtual bool canTakeFocus(WebCore::FocusDirection);
- virtual void takeFocus(WebCore::FocusDirection);
-
- virtual void focusedNodeChanged(WebCore::Node*);
- virtual void focusedFrameChanged(WebCore::Frame*);
-
- virtual WebCore::Page* createWindow(WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&, const WebCore::NavigationAction&);
- virtual void show();
-
- virtual bool canRunModal();
- virtual void runModal();
-
- virtual void setToolbarsVisible(bool);
- virtual bool toolbarsVisible();
-
- virtual void setStatusbarVisible(bool);
- virtual bool statusbarVisible();
-
- virtual void setScrollbarsVisible(bool);
- virtual bool scrollbarsVisible();
-
- virtual void setMenubarVisible(bool);
- virtual bool menubarVisible();
-
- virtual void setResizable(bool);
-
- virtual void addMessageToConsole(WebCore::MessageSource, WebCore::MessageLevel, const WTF::String& message, unsigned lineNumber, unsigned columnNumber, const WTF::String& url);
-
- virtual bool canRunBeforeUnloadConfirmPanel();
- virtual bool runBeforeUnloadConfirmPanel(const WTF::String& message, WebCore::Frame* frame);
-
- virtual void closeWindowSoon();
-
- virtual void runJavaScriptAlert(WebCore::Frame*, const WTF::String&);
- virtual bool runJavaScriptConfirm(WebCore::Frame*, const WTF::String&);
- virtual bool runJavaScriptPrompt(WebCore::Frame*, const WTF::String& message, const WTF::String& defaultValue, WTF::String& result);
- virtual void setStatusbarText(const WTF::String&);
- virtual bool shouldInterruptJavaScript();
-
- virtual WebCore::KeyboardUIMode keyboardUIMode();
- virtual WebCore::IntRect windowResizerRect() const;
-
- virtual void invalidateRootView(const WebCore::IntRect&, bool);
- virtual void invalidateContentsAndRootView(const WebCore::IntRect&, bool);
- virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool);
- virtual void scroll(const WebCore::IntSize& scrollDelta, const WebCore::IntRect& rectToScroll, const WebCore::IntRect& clipRect);
-
- virtual WebCore::IntPoint screenToRootView(const WebCore::IntPoint&) const;
- virtual WebCore::IntRect rootViewToScreen(const WebCore::IntRect&) const;
- virtual PlatformPageClient platformPageClient() const;
- virtual void contentsSizeChanged(WebCore::Frame*, const WebCore::IntSize&) const;
-
- virtual void scrollbarsModeDidChange() const { }
- virtual void mouseDidMoveOverElement(const WebCore::HitTestResult&, unsigned modifierFlags);
- virtual bool shouldUnavailablePluginMessageBeButton(WebCore::RenderEmbeddedObject::PluginUnavailabilityReason) const;
- virtual void unavailablePluginButtonClicked(WebCore::Element*, WebCore::RenderEmbeddedObject::PluginUnavailabilityReason) const;
-
- virtual void setToolTip(const WTF::String&, WebCore::TextDirection);
-
- virtual void print(WebCore::Frame*);
-
-#if ENABLE(SQL_DATABASE)
- virtual void exceededDatabaseQuota(WebCore::Frame*, const WTF::String&, WebCore::DatabaseDetails);
-#endif
-
- virtual void reachedMaxAppCacheSize(int64_t spaceNeeded);
- virtual void reachedApplicationCacheOriginQuota(WebCore::SecurityOrigin*, int64_t totalSpaceNeeded);
-
- virtual void populateVisitedLinks();
-
- virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>);
- virtual void loadIconForFiles(const Vector<WTF::String>&, WebCore::FileIconLoader*);
-
- virtual void setCursor(const WebCore::Cursor&);
- virtual void setCursorHiddenUntilMouseMoves(bool);
- virtual void setLastSetCursorToCurrentCursor();
-
- virtual void formStateDidChange(const WebCore::Node*) { }
-
-#if USE(ACCELERATED_COMPOSITING)
- // Pass 0 as the GraphicsLayer to detatch the root layer.
- virtual void attachRootGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*);
- // Sets a flag to specify that the next time content is drawn to the window,
- // the changes appear on the screen in synchrony with updates to GraphicsLayers.
- virtual void setNeedsOneShotDrawingSynchronization() { }
- // Sets a flag to specify that the view needs to be updated, so we need
- // to do an eager layout before the drawing.
- virtual void scheduleCompositingLayerFlush();
-#endif
-
-#if PLATFORM(WIN) && USE(AVFOUNDATION)
- virtual WebCore::GraphicsDeviceAdapter* graphicsDeviceAdapter() const OVERRIDE;
-#endif
-
- virtual void scrollRectIntoView(const WebCore::IntRect&) const { }
-
-#if ENABLE(VIDEO)
- virtual bool supportsFullscreenForNode(const WebCore::Node*);
- virtual void enterFullscreenForNode(WebCore::Node*);
- virtual void exitFullscreenForNode(WebCore::Node*);
-#endif
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- virtual WebCore::NotificationClient* notificationPresenter() const { return reinterpret_cast<WebCore::NotificationClient*>(m_notificationsDelegate.get()); }
-#endif
-
- virtual bool selectItemWritingDirectionIsNatural();
- virtual bool selectItemAlignmentFollowsMenuWritingDirection();
- virtual bool hasOpenedPopup() const;
- virtual PassRefPtr<WebCore::PopupMenu> createPopupMenu(WebCore::PopupMenuClient*) const;
- virtual PassRefPtr<WebCore::SearchPopupMenu> createSearchPopupMenu(WebCore::PopupMenuClient*) const;
-
-#if ENABLE(FULLSCREEN_API)
- virtual bool supportsFullScreenForElement(const WebCore::Element*, bool withKeyboard);
- virtual void enterFullScreenForElement(WebCore::Element*);
- virtual void exitFullScreenForElement(WebCore::Element*);
-#endif
-
- virtual bool shouldRubberBandInDirection(WebCore::ScrollDirection) const { return true; }
- virtual void numWheelEventHandlersChanged(unsigned) { }
-
- WebView* webView() { return m_webView; }
-
- virtual void AXStartFrameLoad();
- virtual void AXFinishFrameLoad();
-
-private:
- COMPtr<IWebUIDelegate> uiDelegate();
-
- WebView* m_webView;
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- OwnPtr<WebDesktopNotificationsDelegate> m_notificationsDelegate;
-#endif
-};
diff --git a/Source/WebKit/win/WebCoreSupport/WebContextMenuClient.cpp b/Source/WebKit/win/WebCoreSupport/WebContextMenuClient.cpp
deleted file mode 100644
index b5291bede..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebContextMenuClient.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebContextMenuClient.h"
-
-#include "UserGestureIndicator.h"
-#include "WebElementPropertyBag.h"
-#include "WebLocalizableStrings.h"
-#include "WebView.h"
-
-#include <WebCore/ContextMenu.h>
-#include <WebCore/ContextMenuController.h>
-#include <WebCore/Editor.h>
-#include <WebCore/Event.h>
-#include <WebCore/Frame.h>
-#include <WebCore/FrameLoader.h>
-#include <WebCore/FrameLoadRequest.h>
-#include <WebCore/Page.h>
-#include <WebCore/ResourceRequest.h>
-#include <WebCore/NotImplemented.h>
-
-using namespace WebCore;
-
-WebContextMenuClient::WebContextMenuClient(WebView* webView)
- : m_webView(webView)
-{
-}
-
-void WebContextMenuClient::contextMenuDestroyed()
-{
- delete this;
-}
-
-PassOwnPtr<ContextMenu> WebContextMenuClient::customizeMenu(PassOwnPtr<ContextMenu> popMenu)
-{
- OwnPtr<ContextMenu> menu = popMenu;
-
- COMPtr<IWebUIDelegate> uiDelegate;
- if (FAILED(m_webView->uiDelegate(&uiDelegate)))
- return menu.release();
-
- ASSERT(uiDelegate);
-
- HMENU nativeMenu = menu->platformContextMenu();
- COMPtr<WebElementPropertyBag> propertyBag;
- 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)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)
-{
- ASSERT(item->type() == ActionType || item->type() == CheckableActionType);
-
- COMPtr<IWebUIDelegate> uiDelegate;
- if (FAILED(m_webView->uiDelegate(&uiDelegate)))
- return;
-
- ASSERT(uiDelegate);
-
- COMPtr<WebElementPropertyBag> propertyBag;
- 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::platformContextMenuItem 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->platformContextMenuItem();
-
- uiDelegate->contextMenuItemSelected(m_webView, &selectedItem, propertyBag.get());
-}
-
-void WebContextMenuClient::downloadURL(const KURL& url)
-{
- m_webView->downloadURL(url);
-}
-
-void WebContextMenuClient::searchWithGoogle(const Frame* frame)
-{
- String searchString = frame->editor().selectedText();
- searchString.stripWhiteSpace();
- String encoded = encodeWithURLEscapeSequences(searchString);
- encoded.replace("%20", "+");
-
- String url("http://www.google.com/search?q=");
- url.append(encoded);
- url.append("&ie=UTF-8&oe=UTF-8");
-
- if (Page* page = frame->page()) {
- UserGestureIndicator indicator(DefinitelyProcessingUserGesture);
- page->mainFrame()->loader()->urlSelected(KURL(ParsedURLString, url), String(), 0, false, false, MaybeSendReferrer);
- }
-}
-
-void WebContextMenuClient::lookUpInDictionary(Frame*)
-{
- notImplemented();
-}
-
-void WebContextMenuClient::speak(const String&)
-{
- notImplemented();
-}
-
-void WebContextMenuClient::stopSpeaking()
-{
- notImplemented();
-}
-
-bool WebContextMenuClient::isSpeaking()
-{
- notImplemented();
- return false;
-}
diff --git a/Source/WebKit/win/WebCoreSupport/WebContextMenuClient.h b/Source/WebKit/win/WebCoreSupport/WebContextMenuClient.h
deleted file mode 100644
index ed41c59d2..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebContextMenuClient.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 <WebCore/ContextMenu.h>
-#include <WebCore/ContextMenuClient.h>
-#include <wtf/Forward.h>
-#include <wtf/PassOwnPtr.h>
-
-class WebView;
-
-class WebContextMenuClient : public WebCore::ContextMenuClient {
-public:
- WebContextMenuClient(WebView*);
-
- virtual void contextMenuDestroyed();
-
- virtual PassOwnPtr<WebCore::ContextMenu> customizeMenu(PassOwnPtr<WebCore::ContextMenu>);
- virtual void contextMenuItemSelected(WebCore::ContextMenuItem*, const WebCore::ContextMenu*);
-
- virtual void downloadURL(const WebCore::KURL&);
- virtual void searchWithGoogle(const WebCore::Frame*);
- virtual void lookUpInDictionary(WebCore::Frame*);
- virtual void speak(const WTF::String&);
- virtual void stopSpeaking();
- virtual bool isSpeaking();
-
-private:
- WebView* m_webView;
-};
diff --git a/Source/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.cpp b/Source/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.cpp
deleted file mode 100644
index a5646f255..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.cpp
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * Copyright (C) 2009 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 "WebDesktopNotificationsDelegate.h"
-#include "WebSecurityOrigin.h"
-#include "WebView.h"
-#include <WebCore/BString.h>
-#include <WebCore/Document.h>
-#include <WebCore/KURL.h>
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-
-using namespace WebCore;
-
-class NotificationCOMWrapper : public IWebDesktopNotification {
-public:
- static NotificationCOMWrapper* create(Notification* inner) { return new NotificationCOMWrapper(inner); }
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
- // IWebDesktopNotification
- HRESULT STDMETHODCALLTYPE isHTML(BOOL* result);
- HRESULT STDMETHODCALLTYPE contentsURL(BSTR* result);
- HRESULT STDMETHODCALLTYPE iconURL(BSTR* result);
- HRESULT STDMETHODCALLTYPE title(BSTR* result);
- HRESULT STDMETHODCALLTYPE text(BSTR* result);
- HRESULT STDMETHODCALLTYPE notifyDisplay();
- HRESULT STDMETHODCALLTYPE notifyError();
- HRESULT STDMETHODCALLTYPE notifyClose(BOOL xplicit);
-
-private:
- NotificationCOMWrapper(Notification* inner) : m_refCount(1), m_inner(inner) {}
-
- int m_refCount;
- Notification* m_inner;
-};
-
-HRESULT STDMETHODCALLTYPE NotificationCOMWrapper::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<NotificationCOMWrapper*>(this);
- else if (IsEqualGUID(riid, IID_IWebDesktopNotification))
- *ppvObject = static_cast<NotificationCOMWrapper*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE NotificationCOMWrapper::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE NotificationCOMWrapper::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
- return newRef;
-}
-
-HRESULT STDMETHODCALLTYPE NotificationCOMWrapper::isHTML(BOOL* result)
-{
- *result = m_inner->isHTML();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE NotificationCOMWrapper::contentsURL(BSTR* result)
-{
- *result = BString(m_inner->url()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE NotificationCOMWrapper::iconURL(BSTR* result)
-{
- *result = BString(m_inner->contents().icon()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE NotificationCOMWrapper::title(BSTR* result)
-{
- *result = BString(m_inner->contents().title()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE NotificationCOMWrapper::text(BSTR* result)
-{
- *result = BString(m_inner->contents().body()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE NotificationCOMWrapper::notifyDisplay()
-{
- m_inner->dispatchDisplayEvent();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE NotificationCOMWrapper::notifyError()
-{
- m_inner->dispatchErrorEvent();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE NotificationCOMWrapper::notifyClose(BOOL xplicit)
-{
- m_inner->dispatchCloseEvent();
- return S_OK;
-}
-
-WebDesktopNotificationsDelegate::WebDesktopNotificationsDelegate(WebView* webView)
- : m_webView(webView)
-{
-}
-
-bool WebDesktopNotificationsDelegate::show(Notification* object)
-{
- if (hasNotificationDelegate())
- notificationDelegate()->showDesktopNotification(NotificationCOMWrapper::create(object));
- return true;
-}
-
-void WebDesktopNotificationsDelegate::cancel(Notification* object)
-{
- if (hasNotificationDelegate())
- notificationDelegate()->cancelDesktopNotification(NotificationCOMWrapper::create(object));
-}
-
-void WebDesktopNotificationsDelegate::notificationObjectDestroyed(Notification* object)
-{
- if (hasNotificationDelegate())
- notificationDelegate()->notificationDestroyed(NotificationCOMWrapper::create(object));
-}
-
-void WebDesktopNotificationsDelegate::notificationControllerDestroyed()
-{
-}
-
-void WebDesktopNotificationsDelegate::requestPermission(SecurityOrigin* origin, PassRefPtr<VoidCallback> callback)
-{
- BString org(origin->toString());
- if (hasNotificationDelegate())
- notificationDelegate()->requestNotificationPermission(org);
-}
-
-void WebDesktopNotificationsDelegate::requestPermission(SecurityOrigin*, PassRefPtr<NotificationPermissionCallback>)
-{
-}
-
-void WebDesktopNotificationsDelegate::cancelRequestsForPermission(ScriptExecutionContext* context)
-{
-}
-
-NotificationClient::Permission WebDesktopNotificationsDelegate::checkPermission(const KURL& url)
-{
- int out = 0;
- BString org(SecurityOrigin::create(url)->toString());
- if (hasNotificationDelegate())
- notificationDelegate()->checkNotificationPermission(org, &out);
- return (NotificationClient::Permission) out;
-}
-
-bool WebDesktopNotificationsDelegate::hasNotificationDelegate()
-{
- COMPtr<IWebUIDelegate> ui;
- m_webView->uiDelegate(&ui);
-
- COMPtr<IWebUIDelegate2> ui2;
- return SUCCEEDED(ui->QueryInterface(IID_IWebUIDelegate2, (void**) &ui2));
-}
-
-COMPtr<IWebDesktopNotificationsDelegate> WebDesktopNotificationsDelegate::notificationDelegate()
-{
- COMPtr<IWebUIDelegate> ui;
- m_webView->uiDelegate(&ui);
-
- COMPtr<IWebUIDelegate2> ui2;
- COMPtr<IWebDesktopNotificationsDelegate> delegate;
- if (SUCCEEDED(ui->QueryInterface(IID_IWebUIDelegate2, (void**) &ui2)))
- ui2->desktopNotificationsDelegate(&delegate);
-
- return delegate;
-}
-
-#endif // ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
diff --git a/Source/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.h b/Source/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.h
deleted file mode 100644
index b6f9c218f..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebDesktopNotificationsDelegate.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2009 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 <WebCore/COMPtr.h>
-#include <WebCore/Notification.h>
-#include <WebCore/NotificationClient.h>
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
-
-interface IWebDesktopNotificationPresenter;
-
-namespace WebCore {
-class Document;
-class KURL;
-}
-
-class WebDesktopNotificationsDelegate : public WebCore::NotificationClient {
-public:
- WebDesktopNotificationsDelegate(WebView* view);
-
- /* WebCore::NotificationClient interface */
- virtual bool show(WebCore::Notification* object);
- virtual void cancel(WebCore::Notification* object);
- virtual void notificationObjectDestroyed(WebCore::Notification* object);
- virtual void notificationControllerDestroyed();
-#if ENABLE(LEGACY_NOTIFICATIONS)
- virtual void requestPermission(WebCore::SecurityOrigin*, PassRefPtr<WebCore::VoidCallback>);
-#endif
-#if ENABLE(NOTIFICATIONS)
- virtual void requestPermission(WebCore::SecurityOrigin*, PassRefPtr<WebCore::NotificationPermissionCallback>);
-#endif
- virtual void cancelRequestsForPermission(WebCore::ScriptExecutionContext*);
- virtual WebCore::NotificationClient::Permission checkPermission(const KURL&);
-
-private:
- bool hasNotificationDelegate();
- COMPtr<IWebDesktopNotificationsDelegate> notificationDelegate();
-
- WebView* m_webView;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebCoreSupport/WebDragClient.cpp b/Source/WebKit/win/WebCoreSupport/WebDragClient.cpp
deleted file mode 100644
index 9b3818b8a..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebDragClient.cpp
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebDragClient.h"
-#include "WebDropSource.h"
-#include "WebKitGraphics.h"
-#include "WebView.h"
-
-#include <WebCore/Clipboard.h>
-#include <WebCore/DragController.h>
-#include <WebCore/DragData.h>
-#include <WebCore/EventHandler.h>
-#include <WebCore/Page.h>
-#include <WebCore/Pasteboard.h>
-#include <WebCore/PlatformMouseEvent.h>
-#include <WebCore/Frame.h>
-#include <WebCore/FrameView.h>
-#include <WebCore/GraphicsContext.h>
-#include <shlobj.h>
-
-using namespace WebCore;
-
-static DWORD draggingSourceOperationMaskToDragCursors(DragOperation op)
-{
- DWORD result = DROPEFFECT_NONE;
- if (op == DragOperationEvery)
- return DROPEFFECT_COPY | DROPEFFECT_LINK | DROPEFFECT_MOVE;
- if (op & DragOperationCopy)
- result |= DROPEFFECT_COPY;
- if (op & DragOperationLink)
- result |= DROPEFFECT_LINK;
- if (op & DragOperationMove)
- result |= DROPEFFECT_MOVE;
- if (op & DragOperationGeneric)
- result |= DROPEFFECT_MOVE;
- return result;
-}
-
-WebDragClient::WebDragClient(WebView* webView)
- : m_webView(webView)
-{
- ASSERT(webView);
-}
-
-DragDestinationAction WebDragClient::actionMaskForDrag(DragData* dragData)
-{
- COMPtr<IWebUIDelegate> delegateRef = 0;
- //Default behaviour (eg. no delegate, or callback not implemented) is to allow
- //any action
- WebDragDestinationAction mask = WebDragDestinationActionAny;
- if (SUCCEEDED(m_webView->uiDelegate(&delegateRef)))
- delegateRef->dragDestinationActionMaskForDraggingInfo(m_webView, dragData->platformData(), &mask);
-
- return (DragDestinationAction)mask;
-}
-
-void WebDragClient::willPerformDragDestinationAction(DragDestinationAction action, DragData* dragData)
-{
- //Default delegate for willPerformDragDestinationAction has no side effects
- //so we just call the delegate, and don't worry about whether it's implemented
- COMPtr<IWebUIDelegate> delegateRef = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&delegateRef)))
- delegateRef->willPerformDragDestinationAction(m_webView, (WebDragDestinationAction)action, dragData->platformData());
-}
-
-DragSourceAction WebDragClient::dragSourceActionMaskForPoint(const IntPoint& windowPoint)
-{
- COMPtr<IWebUIDelegate> delegateRef = 0;
- WebDragSourceAction action = WebDragSourceActionAny;
- POINT localpt = core(m_webView)->mainFrame()->view()->windowToContents(windowPoint);
- if (SUCCEEDED(m_webView->uiDelegate(&delegateRef)))
- delegateRef->dragSourceActionMaskForPoint(m_webView, &localpt, &action);
- return (DragSourceAction)action;
-}
-
-void WebDragClient::willPerformDragSourceAction(DragSourceAction action, const IntPoint& intPoint, Clipboard* clipboard)
-{
- COMPtr<IWebUIDelegate> uiDelegate;
- if (!SUCCEEDED(m_webView->uiDelegate(&uiDelegate)))
- return;
-
- POINT point = intPoint;
- COMPtr<IDataObject> dataObject = clipboard->pasteboard().dataObject();
-
- COMPtr<IDataObject> newDataObject;
- HRESULT result = uiDelegate->willPerformDragSourceAction(m_webView, static_cast<WebDragSourceAction>(action), &point, dataObject.get(), &newDataObject);
- if (result == S_OK && newDataObject != dataObject)
- const_cast<Pasteboard&>(clipboard->pasteboard()).setExternalDataObject(newDataObject.get());
-}
-
-void WebDragClient::startDrag(DragImageRef image, const IntPoint& imageOrigin, const IntPoint& dragPoint, Clipboard* clipboard, Frame* frame, bool isLink)
-{
- //FIXME: Allow UIDelegate to override behaviour <rdar://problem/5015953>
-
- //We liberally protect everything, to protect against a load occurring mid-drag
- RefPtr<Frame> frameProtector = frame;
- COMPtr<IDragSourceHelper> helper;
- COMPtr<IDataObject> dataObject;
- COMPtr<WebView> viewProtector = m_webView;
- COMPtr<IDropSource> source;
- if (FAILED(WebDropSource::createInstance(m_webView, &source)))
- return;
-
- dataObject = clipboard->pasteboard().dataObject();
- if (source && (image || dataObject)) {
- if (image) {
- if(SUCCEEDED(CoCreateInstance(CLSID_DragDropHelper, 0, CLSCTX_INPROC_SERVER,
- IID_IDragSourceHelper,(LPVOID*)&helper))) {
- BITMAP b;
- GetObject(image, sizeof(BITMAP), &b);
- SHDRAGIMAGE sdi;
- sdi.sizeDragImage.cx = b.bmWidth;
- sdi.sizeDragImage.cy = b.bmHeight;
- sdi.crColorKey = 0xffffffff;
- sdi.hbmpDragImage = image;
- sdi.ptOffset.x = dragPoint.x() - imageOrigin.x();
- sdi.ptOffset.y = dragPoint.y() - imageOrigin.y();
- if (isLink)
- sdi.ptOffset.y = b.bmHeight - sdi.ptOffset.y;
-
- helper->InitializeFromBitmap(&sdi, dataObject.get());
- }
- }
-
- DWORD okEffect = draggingSourceOperationMaskToDragCursors(m_webView->page()->dragController()->sourceDragOperation());
- DWORD effect = DROPEFFECT_NONE;
- COMPtr<IWebUIDelegate> ui;
- HRESULT hr = E_NOTIMPL;
- if (SUCCEEDED(m_webView->uiDelegate(&ui))) {
- COMPtr<IWebUIDelegatePrivate> uiPrivate;
- if (SUCCEEDED(ui->QueryInterface(IID_IWebUIDelegatePrivate, (void**)&uiPrivate)))
- hr = uiPrivate->doDragDrop(m_webView, dataObject.get(), source.get(), okEffect, &effect);
- }
- if (hr == E_NOTIMPL)
- hr = DoDragDrop(dataObject.get(), source.get(), okEffect, &effect);
-
- DragOperation operation = DragOperationNone;
- if (hr == DRAGDROP_S_DROP) {
- if (effect & DROPEFFECT_COPY)
- operation = DragOperationCopy;
- else if (effect & DROPEFFECT_LINK)
- operation = DragOperationLink;
- else if (effect & DROPEFFECT_MOVE)
- operation = DragOperationMove;
- }
- frame->eventHandler()->dragSourceEndedAt(generateMouseEvent(m_webView, false), operation);
- }
-}
-
-void WebDragClient::dragControllerDestroyed()
-{
- delete this;
-}
diff --git a/Source/WebKit/win/WebCoreSupport/WebDragClient.h b/Source/WebKit/win/WebCoreSupport/WebDragClient.h
deleted file mode 100644
index 303edd693..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebDragClient.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 <WebCore/DragClient.h>
-
-class WebView;
-
-class WebDragClient : public WebCore::DragClient {
-public:
- WebDragClient(WebView*);
- virtual WebCore::DragDestinationAction actionMaskForDrag(WebCore::DragData*);
- virtual void willPerformDragDestinationAction(WebCore::DragDestinationAction, WebCore::DragData*);
- virtual void dragControllerDestroyed();
- virtual WebCore::DragSourceAction dragSourceActionMaskForPoint(const WebCore::IntPoint&);
- virtual void willPerformDragSourceAction(WebCore::DragSourceAction, const WebCore::IntPoint&, WebCore::Clipboard*);
- virtual void startDrag(WebCore::DragImageRef, const WebCore::IntPoint&, const WebCore::IntPoint&, WebCore::Clipboard*, WebCore::Frame*, bool);
-private:
- WebView* m_webView;
-};
-
diff --git a/Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp b/Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp
deleted file mode 100644
index eb9b4515f..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebEditorClient.cpp
+++ /dev/null
@@ -1,806 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2011 Apple 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 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 "WebKitDLL.h"
-#include "WebEditorClient.h"
-
-#include "WebKit.h"
-#include "WebNotification.h"
-#include "WebNotificationCenter.h"
-#include "WebView.h"
-#include "DOMCoreClasses.h"
-#include <WebCore/BString.h>
-#include <WebCore/Document.h>
-#include <WebCore/HTMLElement.h>
-#include <WebCore/HTMLInputElement.h>
-#include <WebCore/HTMLNames.h>
-#include <WebCore/KeyboardEvent.h>
-#include <WebCore/LocalizedStrings.h>
-#include <WebCore/NotImplemented.h>
-#include <WebCore/Page.h>
-#include <WebCore/PlatformKeyboardEvent.h>
-#include <WebCore/Range.h>
-#include <WebCore/Settings.h>
-#include <WebCore/UndoStep.h>
-#include <WebCore/UserTypingGestureIndicator.h>
-#include <WebCore/VisibleSelection.h>
-
-using namespace WebCore;
-using namespace HTMLNames;
-
-// {09A11D2B-FAFB-4ca0-A6F7-791EE8932C88}
-static const GUID IID_IWebUndoCommand =
-{ 0x9a11d2b, 0xfafb, 0x4ca0, { 0xa6, 0xf7, 0x79, 0x1e, 0xe8, 0x93, 0x2c, 0x88 } };
-
-class IWebUndoCommand : public IUnknown {
-public:
- virtual void execute() = 0;
-};
-
-// WebEditorUndoTarget -------------------------------------------------------------
-
-class WebEditorUndoTarget : public IWebUndoTarget
-{
-public:
- WebEditorUndoTarget();
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebUndoTarget
- virtual HRESULT STDMETHODCALLTYPE invoke(
- /* [in] */ BSTR actionName,
- /* [in] */ IUnknown *obj);
-
-private:
- ULONG m_refCount;
-};
-
-WebEditorUndoTarget::WebEditorUndoTarget()
-: m_refCount(1)
-{
-}
-
-HRESULT STDMETHODCALLTYPE WebEditorUndoTarget::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebUndoTarget*>(this);
- else if (IsEqualGUID(riid, IID_IWebUndoTarget))
- *ppvObject = static_cast<IWebUndoTarget*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebEditorUndoTarget::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebEditorUndoTarget::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-HRESULT STDMETHODCALLTYPE WebEditorUndoTarget::invoke(
- /* [in] */ BSTR /*actionName*/,
- /* [in] */ IUnknown *obj)
-{
- IWebUndoCommand* undoCommand = 0;
- if (SUCCEEDED(obj->QueryInterface(IID_IWebUndoCommand, (void**)&undoCommand))) {
- undoCommand->execute();
- undoCommand->Release();
- }
- return S_OK;
-}
-
-// WebEditorClient ------------------------------------------------------------------
-
-WebEditorClient::WebEditorClient(WebView* webView)
- : m_webView(webView)
- , m_undoTarget(0)
-{
- m_undoTarget = new WebEditorUndoTarget();
-}
-
-WebEditorClient::~WebEditorClient()
-{
- if (m_undoTarget)
- m_undoTarget->Release();
-}
-
-void WebEditorClient::pageDestroyed()
-{
- delete this;
-}
-
-bool WebEditorClient::isContinuousSpellCheckingEnabled()
-{
- BOOL enabled;
- if (FAILED(m_webView->isContinuousSpellCheckingEnabled(&enabled)))
- return false;
- return !!enabled;
-}
-
-void WebEditorClient::toggleContinuousSpellChecking()
-{
- m_webView->toggleContinuousSpellChecking(0);
-}
-
-bool WebEditorClient::isGrammarCheckingEnabled()
-{
- BOOL enabled;
- if (FAILED(m_webView->isGrammarCheckingEnabled(&enabled)))
- return false;
- return !!enabled;
-}
-
-void WebEditorClient::toggleGrammarChecking()
-{
- m_webView->toggleGrammarChecking(0);
-}
-
-static void initViewSpecificSpelling(IWebViewEditing* viewEditing)
-{
- // we just use this as a flag to indicate that we've spell checked the document
- // and need to close the spell checker out when the view closes.
- int tag;
- viewEditing->spellCheckerDocumentTag(&tag);
-}
-
-int WebEditorClient::spellCheckerDocumentTag()
-{
- // we don't use the concept of spelling tags
- notImplemented();
- ASSERT_NOT_REACHED();
- return 0;
-}
-
-bool WebEditorClient::shouldBeginEditing(Range*)
-{
- notImplemented();
- return true;
-}
-
-bool WebEditorClient::shouldEndEditing(Range*)
-{
- notImplemented();
- return true;
-}
-
-void WebEditorClient::didBeginEditing()
-{
- notImplemented();
-}
-
-void WebEditorClient::respondToChangedContents()
-{
- notImplemented();
-}
-
-void WebEditorClient::respondToChangedSelection(Frame*)
-{
- m_webView->selectionChanged();
-
- static BSTR webViewDidChangeSelectionNotificationName = SysAllocString(WebViewDidChangeSelectionNotification);
- IWebNotificationCenter* notifyCenter = WebNotificationCenter::defaultCenterInternal();
- notifyCenter->postNotificationName(webViewDidChangeSelectionNotificationName, static_cast<IWebView*>(m_webView), 0);
-}
-
-void WebEditorClient::didEndEditing()
-{
- notImplemented();
-}
-
-void WebEditorClient::didWriteSelectionToPasteboard()
-{
- notImplemented();
-}
-
-void WebEditorClient::willWriteSelectionToPasteboard(WebCore::Range*)
-{
- notImplemented();
-}
-
-void WebEditorClient::getClientPasteboardDataForRange(WebCore::Range*, Vector<String>&, Vector<RefPtr<WebCore::SharedBuffer> >&)
-{
- notImplemented();
-}
-
-void WebEditorClient::didSetSelectionTypesForPasteboard()
-{
- notImplemented();
-}
-
-bool WebEditorClient::shouldDeleteRange(Range* /*range*/)
-{
- notImplemented();
- return true;
-
- // FIXME: calling m_webView->editingDelegate() will cause an assertion failure so we don't want to enable this code until that's implemented.
- //BOOL result = false;
- //IWebViewEditingDelegate* editingDelegate;
- //// FIXME: DOMRange needs to be implemented before anything meaningful can be done here
- //IDOMRange* domRange(0);
- //if (SUCCEEDED(m_webView->editingDelegate(&editingDelegate))) {
- // editingDelegate->shouldDeleteDOMRange(m_webView, domRange, &result);
- // editingDelegate->Release();
- //}
- //return !!result;
-}
-
-bool WebEditorClient::shouldInsertNode(Node* /*node*/, Range* /*replacingRange*/, EditorInsertAction /*givenAction*/)
-{
- notImplemented();
- return true;
-}
-
-bool WebEditorClient::shouldInsertText(const String& /*str*/, Range* /* replacingRange */, EditorInsertAction /*givenAction*/)
-{
- notImplemented();
- return true;
-
- // FIXME: calling m_webView->editingDelegate() will cause an assertion failure so we don't want to enable this code until that's implemented.
- //BOOL result = false;
- //IWebViewEditingDelegate* editingDelegate;
- //// FIXME: DOMRange needs to be implemented before anything meaningful can be done here
- //IDOMRange* domRange(0); // make a DOMRange from replacingRange
- //BString text(str);
- //if (SUCCEEDED(m_webView->editingDelegate(&editingDelegate))) {
- // editingDelegate->shouldInsertText(m_webView, text, domRange, (WebViewInsertAction) givenAction, &result);
- // editingDelegate->Release();
- //}
- //return !!result;
-}
-
-//bool WebEditorClient::shouldChangeSelectedRange(Range *currentRange, Range *toProposedRange, SelectionAffinity selectionAffinity, bool stillSelecting)
-//{ notImplemented(); return false; }
-
-bool WebEditorClient::shouldApplyStyle(StylePropertySet* /*style*/, Range* /*toElementsInDOMRange*/)
-{ notImplemented(); return true; }
-
-bool WebEditorClient::shouldMoveRangeAfterDelete(Range* /*range*/, Range* /*rangeToBeReplaced*/)
-{ notImplemented(); return true; }
-
-bool WebEditorClient::shouldChangeTypingStyle(StylePropertySet* /*currentStyle*/, StylePropertySet* /*toProposedStyle*/)
-{ notImplemented(); return false; }
-
-void WebEditorClient::webViewDidChangeTypingStyle(WebNotification* /*notification*/)
-{ notImplemented(); }
-
-void WebEditorClient::webViewDidChangeSelection(WebNotification* /*notification*/)
-{ notImplemented(); }
-
-bool WebEditorClient::smartInsertDeleteEnabled(void)
-{
- Page* page = m_webView->page();
- if (!page)
- return false;
- return page->settings()->smartInsertDeleteEnabled();
-}
-
-bool WebEditorClient::isSelectTrailingWhitespaceEnabled(void)
-{
- Page* page = m_webView->page();
- if (!page)
- return false;
- return page->settings()->selectTrailingWhitespaceEnabled();
-}
-
-bool WebEditorClient::shouldChangeSelectedRange(WebCore::Range*, WebCore::Range*, WebCore::EAffinity, bool)
-{ notImplemented(); return true; }
-
-void WebEditorClient::textFieldDidBeginEditing(Element* e)
-{
- IWebFormDelegate* formDelegate;
- if (SUCCEEDED(m_webView->formDelegate(&formDelegate)) && formDelegate) {
- IDOMElement* domElement = DOMElement::createInstance(e);
- if (domElement) {
- IDOMHTMLInputElement* domInputElement;
- if (SUCCEEDED(domElement->QueryInterface(IID_IDOMHTMLInputElement, (void**)&domInputElement))) {
- formDelegate->textFieldDidBeginEditing(domInputElement, kit(e->document()->frame()));
- domInputElement->Release();
- }
- domElement->Release();
- }
- formDelegate->Release();
- }
-}
-
-void WebEditorClient::textFieldDidEndEditing(Element* e)
-{
- IWebFormDelegate* formDelegate;
- if (SUCCEEDED(m_webView->formDelegate(&formDelegate)) && formDelegate) {
- IDOMElement* domElement = DOMElement::createInstance(e);
- if (domElement) {
- IDOMHTMLInputElement* domInputElement;
- if (SUCCEEDED(domElement->QueryInterface(IID_IDOMHTMLInputElement, (void**)&domInputElement))) {
- formDelegate->textFieldDidEndEditing(domInputElement, kit(e->document()->frame()));
- domInputElement->Release();
- }
- domElement->Release();
- }
- formDelegate->Release();
- }
-}
-
-void WebEditorClient::textDidChangeInTextField(Element* e)
-{
- if (!UserTypingGestureIndicator::processingUserTypingGesture() || UserTypingGestureIndicator::focusedElementAtGestureStart() != e)
- return;
-
- IWebFormDelegate* formDelegate;
- if (SUCCEEDED(m_webView->formDelegate(&formDelegate)) && formDelegate) {
- IDOMElement* domElement = DOMElement::createInstance(e);
- if (domElement) {
- IDOMHTMLInputElement* domInputElement;
- if (SUCCEEDED(domElement->QueryInterface(IID_IDOMHTMLInputElement, (void**)&domInputElement))) {
- formDelegate->textDidChangeInTextField(domInputElement, kit(e->document()->frame()));
- domInputElement->Release();
- }
- domElement->Release();
- }
- formDelegate->Release();
- }
-}
-
-bool WebEditorClient::doTextFieldCommandFromEvent(Element* e, KeyboardEvent* ke)
-{
- BOOL result = FALSE;
- IWebFormDelegate* formDelegate;
- if (SUCCEEDED(m_webView->formDelegate(&formDelegate)) && formDelegate) {
- IDOMElement* domElement = DOMElement::createInstance(e);
- if (domElement) {
- IDOMHTMLInputElement* domInputElement;
- if (SUCCEEDED(domElement->QueryInterface(IID_IDOMHTMLInputElement, (void**)&domInputElement))) {
- String command = m_webView->interpretKeyEvent(ke);
- // We allow empty commands here because the app code actually depends on this being called for all key presses.
- // We may want to revisit this later because it doesn't really make sense to send an empty command.
- formDelegate->doPlatformCommand(domInputElement, BString(command), kit(e->document()->frame()), &result);
- domInputElement->Release();
- }
- domElement->Release();
- }
- formDelegate->Release();
- }
- return !!result;
-}
-
-void WebEditorClient::textWillBeDeletedInTextField(Element* e)
-{
- // We're using the deleteBackward command for all deletion operations since the autofill code treats all deletions the same way.
- IWebFormDelegate* formDelegate;
- if (SUCCEEDED(m_webView->formDelegate(&formDelegate)) && formDelegate) {
- IDOMElement* domElement = DOMElement::createInstance(e);
- if (domElement) {
- IDOMHTMLInputElement* domInputElement;
- if (SUCCEEDED(domElement->QueryInterface(IID_IDOMHTMLInputElement, (void**)&domInputElement))) {
- BOOL result;
- formDelegate->doPlatformCommand(domInputElement, BString(L"DeleteBackward"), kit(e->document()->frame()), &result);
- domInputElement->Release();
- }
- domElement->Release();
- }
- formDelegate->Release();
- }
-}
-
-void WebEditorClient::textDidChangeInTextArea(Element* e)
-{
- IWebFormDelegate* formDelegate;
- if (SUCCEEDED(m_webView->formDelegate(&formDelegate)) && formDelegate) {
- IDOMElement* domElement = DOMElement::createInstance(e);
- if (domElement) {
- IDOMHTMLTextAreaElement* domTextAreaElement;
- if (SUCCEEDED(domElement->QueryInterface(IID_IDOMHTMLTextAreaElement, (void**)&domTextAreaElement))) {
- formDelegate->textDidChangeInTextArea(domTextAreaElement, kit(e->document()->frame()));
- domTextAreaElement->Release();
- }
- domElement->Release();
- }
- formDelegate->Release();
- }
-}
-
-class WebEditorUndoCommand : public IWebUndoCommand
-{
-public:
- WebEditorUndoCommand(PassRefPtr<UndoStep>, bool isUndo);
- void execute();
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
-private:
- ULONG m_refCount;
- RefPtr<UndoStep> m_step;
- bool m_isUndo;
-};
-
-WebEditorUndoCommand::WebEditorUndoCommand(PassRefPtr<UndoStep> step, bool isUndo)
- : m_step(step)
- , m_isUndo(isUndo)
- , m_refCount(1)
-{
-}
-
-void WebEditorUndoCommand::execute()
-{
- if (m_isUndo)
- m_step->unapply();
- else
- m_step->reapply();
-}
-
-HRESULT STDMETHODCALLTYPE WebEditorUndoCommand::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebUndoCommand*>(this);
- else if (IsEqualGUID(riid, IID_IWebUndoCommand))
- *ppvObject = static_cast<IWebUndoCommand*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebEditorUndoCommand::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebEditorUndoCommand::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-static String undoNameForEditAction(EditAction editAction)
-{
- switch (editAction) {
- case EditActionUnspecified: return String();
- case EditActionSetColor: return WEB_UI_STRING_KEY("Set Color", "Set Color (Undo action name)", "Undo action name");
- case EditActionSetBackgroundColor: return WEB_UI_STRING_KEY("Set Background Color", "Set Background Color (Undo action name)", "Undo action name");
- case EditActionTurnOffKerning: return WEB_UI_STRING_KEY("Turn Off Kerning", "Turn Off Kerning (Undo action name)", "Undo action name");
- case EditActionTightenKerning: return WEB_UI_STRING_KEY("Tighten Kerning", "Tighten Kerning (Undo action name)", "Undo action name");
- case EditActionLoosenKerning: return WEB_UI_STRING_KEY("Loosen Kerning", "Loosen Kerning (Undo action name)", "Undo action name");
- case EditActionUseStandardKerning: return WEB_UI_STRING_KEY("Use Standard Kerning", "Use Standard Kerning (Undo action name)", "Undo action name");
- case EditActionTurnOffLigatures: return WEB_UI_STRING_KEY("Turn Off Ligatures", "Turn Off Ligatures (Undo action name)", "Undo action name");
- case EditActionUseStandardLigatures: return WEB_UI_STRING_KEY("Use Standard Ligatures", "Use Standard Ligatures (Undo action name)", "Undo action name");
- case EditActionUseAllLigatures: return WEB_UI_STRING_KEY("Use All Ligatures", "Use All Ligatures (Undo action name)", "Undo action name");
- case EditActionRaiseBaseline: return WEB_UI_STRING_KEY("Raise Baseline", "Raise Baseline (Undo action name)", "Undo action name");
- case EditActionLowerBaseline: return WEB_UI_STRING_KEY("Lower Baseline", "Lower Baseline (Undo action name)", "Undo action name");
- case EditActionSetTraditionalCharacterShape: return WEB_UI_STRING_KEY("Set Traditional Character Shape", "Set Traditional Character Shape (Undo action name)", "Undo action name");
- case EditActionSetFont: return WEB_UI_STRING_KEY("Set Font", "Set Font (Undo action name)", "Undo action name");
- case EditActionChangeAttributes: return WEB_UI_STRING_KEY("Change Attributes", "Change Attributes (Undo action name)", "Undo action name");
- case EditActionAlignLeft: return WEB_UI_STRING_KEY("Align Left", "Align Left (Undo action name)", "Undo action name");
- case EditActionAlignRight: return WEB_UI_STRING_KEY("Align Right", "Align Right (Undo action name)", "Undo action name");
- case EditActionCenter: return WEB_UI_STRING_KEY("Center", "Center (Undo action name)", "Undo action name");
- case EditActionJustify: return WEB_UI_STRING_KEY("Justify", "Justify (Undo action name)", "Undo action name");
- case EditActionSetWritingDirection: return WEB_UI_STRING_KEY("Set Writing Direction", "Set Writing Direction (Undo action name)", "Undo action name");
- case EditActionSubscript: return WEB_UI_STRING_KEY("Subscript", "Subscript (Undo action name)", "Undo action name");
- case EditActionSuperscript: return WEB_UI_STRING_KEY("Superscript", "Superscript (Undo action name)", "Undo action name");
- case EditActionBold: return WEB_UI_STRING_KEY("Bold", "Bold (Undo action name)", "Undo action name");
- case EditActionItalics: return WEB_UI_STRING_KEY("Italics", "Italics (Undo action name)", "Undo action name");
- case EditActionUnderline: return WEB_UI_STRING_KEY("Underline", "Underline (Undo action name)", "Undo action name");
- case EditActionOutline: return WEB_UI_STRING_KEY("Outline", "Outline (Undo action name)", "Undo action name");
- case EditActionUnscript: return WEB_UI_STRING_KEY("Unscript", "Unscript (Undo action name)", "Undo action name");
- case EditActionDrag: return WEB_UI_STRING_KEY("Drag", "Drag (Undo action name)", "Undo action name");
- case EditActionCut: return WEB_UI_STRING_KEY("Cut", "Cut (Undo action name)", "Undo action name");
- case EditActionPaste: return WEB_UI_STRING_KEY("Paste", "Paste (Undo action name)", "Undo action name");
- case EditActionPasteFont: return WEB_UI_STRING_KEY("Paste Font", "Paste Font (Undo action name)", "Undo action name");
- case EditActionPasteRuler: return WEB_UI_STRING_KEY("Paste Ruler", "Paste Ruler (Undo action name)", "Undo action name");
- case EditActionTyping: return WEB_UI_STRING_KEY("Typing", "Typing (Undo action name)", "Undo action name");
- case EditActionCreateLink: return WEB_UI_STRING_KEY("Create Link", "Create Link (Undo action name)", "Undo action name");
- case EditActionUnlink: return WEB_UI_STRING_KEY("Unlink", "Unlink (Undo action name)", "Undo action name");
- case EditActionInsertList: return WEB_UI_STRING_KEY("Insert List", "Insert List (Undo action name)", "Undo action name");
- case EditActionFormatBlock: return WEB_UI_STRING_KEY("Formatting", "Format Block (Undo action name)", "Undo action name");
- case EditActionIndent: return WEB_UI_STRING_KEY("Indent", "Indent (Undo action name)", "Undo action name");
- case EditActionOutdent: return WEB_UI_STRING_KEY("Outdent", "Outdent (Undo action name)", "Undo action name");
- }
- return String();
-}
-
-void WebEditorClient::registerUndoStep(PassRefPtr<UndoStep> step)
-{
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- String actionName = undoNameForEditAction(step->editingAction());
- WebEditorUndoCommand* undoCommand = new WebEditorUndoCommand(step, true);
- if (!undoCommand)
- return;
- uiDelegate->registerUndoWithTarget(m_undoTarget, 0, undoCommand);
- undoCommand->Release(); // the undo manager owns the reference
- if (!actionName.isEmpty())
- uiDelegate->setActionTitle(BString(actionName));
- uiDelegate->Release();
- }
-}
-
-void WebEditorClient::registerRedoStep(PassRefPtr<UndoStep> step)
-{
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- WebEditorUndoCommand* undoCommand = new WebEditorUndoCommand(step, false);
- if (!undoCommand)
- return;
- uiDelegate->registerUndoWithTarget(m_undoTarget, 0, undoCommand);
- undoCommand->Release(); // the undo manager owns the reference
- uiDelegate->Release();
- }
-}
-
-void WebEditorClient::clearUndoRedoOperations()
-{
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->removeAllActionsWithTarget(m_undoTarget);
- uiDelegate->Release();
- }
-}
-
-bool WebEditorClient::canCopyCut(Frame*, bool defaultValue) const
-{
- return defaultValue;
-}
-
-bool WebEditorClient::canPaste(Frame*, bool defaultValue) const
-{
- return defaultValue;
-}
-
-bool WebEditorClient::canUndo() const
-{
- BOOL result = FALSE;
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->canUndo(&result);
- uiDelegate->Release();
- }
- return !!result;
-}
-
-bool WebEditorClient::canRedo() const
-{
- BOOL result = FALSE;
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->canRedo(&result);
- uiDelegate->Release();
- }
- return !!result;
-}
-
-void WebEditorClient::undo()
-{
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->undo();
- uiDelegate->Release();
- }
-}
-
-void WebEditorClient::redo()
-{
- IWebUIDelegate* uiDelegate = 0;
- if (SUCCEEDED(m_webView->uiDelegate(&uiDelegate))) {
- uiDelegate->redo();
- uiDelegate->Release();
- }
-}
-
-void WebEditorClient::handleKeyboardEvent(KeyboardEvent* evt)
-{
- if (m_webView->handleEditingKeyboardEvent(evt))
- evt->setDefaultHandled();
-}
-
-void WebEditorClient::handleInputMethodKeydown(KeyboardEvent* )
-{
-}
-
-bool WebEditorClient::shouldEraseMarkersAfterChangeSelection(TextCheckingType) const
-{
- return true;
-}
-
-void WebEditorClient::ignoreWordInSpellDocument(const String& word)
-{
- COMPtr<IWebEditingDelegate> ed;
- if (FAILED(m_webView->editingDelegate(&ed)) || !ed.get())
- return;
-
- initViewSpecificSpelling(m_webView);
- ed->ignoreWordInSpellDocument(m_webView, BString(word));
-}
-
-void WebEditorClient::learnWord(const String& word)
-{
- COMPtr<IWebEditingDelegate> ed;
- if (FAILED(m_webView->editingDelegate(&ed)) || !ed.get())
- return;
-
- ed->learnWord(BString(word));
-}
-
-void WebEditorClient::checkSpellingOfString(const UChar* text, int length, int* misspellingLocation, int* misspellingLength)
-{
- *misspellingLocation = -1;
- *misspellingLength = 0;
-
- COMPtr<IWebEditingDelegate> ed;
- if (FAILED(m_webView->editingDelegate(&ed)) || !ed.get())
- return;
-
- initViewSpecificSpelling(m_webView);
- ed->checkSpellingOfString(m_webView, text, length, misspellingLocation, misspellingLength);
-}
-
-String WebEditorClient::getAutoCorrectSuggestionForMisspelledWord(const String& inputWord)
-{
- // This method can be implemented using customized algorithms for the particular browser.
- // Currently, it computes an empty string.
- return String();
-}
-
-void WebEditorClient::checkGrammarOfString(const UChar* text, int length, Vector<GrammarDetail>& details, int* badGrammarLocation, int* badGrammarLength)
-{
- details.clear();
- *badGrammarLocation = -1;
- *badGrammarLength = 0;
-
- COMPtr<IWebEditingDelegate> ed;
- if (FAILED(m_webView->editingDelegate(&ed)) || !ed.get())
- return;
-
- initViewSpecificSpelling(m_webView);
- COMPtr<IEnumWebGrammarDetails> enumDetailsObj;
- if (FAILED(ed->checkGrammarOfString(m_webView, text, length, &enumDetailsObj, badGrammarLocation, badGrammarLength)))
- return;
-
- while (true) {
- ULONG fetched;
- COMPtr<IWebGrammarDetail> detailObj;
- if (enumDetailsObj->Next(1, &detailObj, &fetched) != S_OK)
- break;
-
- GrammarDetail detail;
- if (FAILED(detailObj->length(&detail.length)))
- continue;
- if (FAILED(detailObj->location(&detail.location)))
- continue;
- BString userDesc;
- if (FAILED(detailObj->userDescription(&userDesc)))
- continue;
- detail.userDescription = String(userDesc, SysStringLen(userDesc));
-
- COMPtr<IEnumSpellingGuesses> enumGuessesObj;
- if (FAILED(detailObj->guesses(&enumGuessesObj)))
- continue;
- while (true) {
- BString guess;
- if (enumGuessesObj->Next(1, &guess, &fetched) != S_OK)
- break;
- detail.guesses.append(String(guess, SysStringLen(guess)));
- }
-
- details.append(detail);
- }
-}
-
-void WebEditorClient::updateSpellingUIWithGrammarString(const String& string, const WebCore::GrammarDetail& detail)
-{
- COMPtr<IWebEditingDelegate> ed;
- if (FAILED(m_webView->editingDelegate(&ed)) || !ed.get())
- return;
-
- Vector<BSTR> guessesBSTRs;
- for (unsigned i = 0; i < detail.guesses.size(); i++) {
- BString guess(detail.guesses[i]);
- guessesBSTRs.append(guess.release());
- }
- BString userDescriptionBSTR(detail.userDescription);
- ed->updateSpellingUIWithGrammarString(BString(string), detail.location, detail.length, userDescriptionBSTR, guessesBSTRs.data(), (int)guessesBSTRs.size());
- for (unsigned i = 0; i < guessesBSTRs.size(); i++)
- SysFreeString(guessesBSTRs[i]);
-}
-
-void WebEditorClient::updateSpellingUIWithMisspelledWord(const String& word)
-{
- COMPtr<IWebEditingDelegate> ed;
- if (FAILED(m_webView->editingDelegate(&ed)) || !ed.get())
- return;
-
- ed->updateSpellingUIWithMisspelledWord(BString(word));
-}
-
-void WebEditorClient::showSpellingUI(bool show)
-{
- COMPtr<IWebEditingDelegate> ed;
- if (FAILED(m_webView->editingDelegate(&ed)) || !ed.get())
- return;
-
- ed->showSpellingUI(show);
-}
-
-bool WebEditorClient::spellingUIIsShowing()
-{
- COMPtr<IWebEditingDelegate> ed;
- if (FAILED(m_webView->editingDelegate(&ed)) || !ed.get())
- return false;
-
- BOOL showing;
- if (FAILED(ed->spellingUIIsShowing(&showing)))
- return false;
-
- return !!showing;
-}
-
-void WebEditorClient::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses)
-{
- guesses.clear();
-
- COMPtr<IWebEditingDelegate> ed;
- if (FAILED(m_webView->editingDelegate(&ed)) || !ed.get())
- return;
-
- COMPtr<IEnumSpellingGuesses> enumGuessesObj;
- if (FAILED(ed->guessesForWord(BString(word), &enumGuessesObj)))
- return;
-
- while (true) {
- ULONG fetched;
- BString guess;
- if (enumGuessesObj->Next(1, &guess, &fetched) != S_OK)
- break;
- guesses.append(String(guess, SysStringLen(guess)));
- }
-}
-
-void WebEditorClient::willSetInputMethodState()
-{
-}
-
-void WebEditorClient::setInputMethodState(bool enabled)
-{
- m_webView->setInputMethodState(enabled);
-}
diff --git a/Source/WebKit/win/WebCoreSupport/WebEditorClient.h b/Source/WebKit/win/WebCoreSupport/WebEditorClient.h
deleted file mode 100644
index 27f26772d..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebEditorClient.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebEditorClient_H
-#define WebEditorClient_H
-
-#include "WebKit.h"
-#include <WebCore/EditorClient.h>
-#include <WebCore/TextCheckerClient.h>
-#include <wtf/OwnPtr.h>
-
-class WebView;
-class WebNotification;
-class WebEditorUndoTarget;
-
-class WebEditorClient : public WebCore::EditorClient, public WebCore::TextCheckerClient {
-public:
- WebEditorClient(WebView*);
- ~WebEditorClient();
-
- virtual void pageDestroyed();
- virtual void frameWillDetachPage(WebCore::Frame*) { }
-
- virtual bool isContinuousSpellCheckingEnabled();
- virtual void toggleGrammarChecking();
- virtual bool isGrammarCheckingEnabled();
- virtual void toggleContinuousSpellChecking();
- virtual int spellCheckerDocumentTag();
-
- virtual bool shouldBeginEditing(WebCore::Range*);
- virtual bool shouldEndEditing(WebCore::Range*);
- virtual bool shouldInsertText(const WTF::String&, WebCore::Range*, WebCore::EditorInsertAction);
-
- virtual void didBeginEditing();
- virtual void didEndEditing();
- virtual void willWriteSelectionToPasteboard(WebCore::Range*);
- virtual void didWriteSelectionToPasteboard();
- virtual void getClientPasteboardDataForRange(WebCore::Range*, Vector<String>& pasteboardTypes, Vector<RefPtr<WebCore::SharedBuffer> >& pasteboardData);
- virtual void didSetSelectionTypesForPasteboard();
-
- virtual void respondToChangedContents();
- virtual void respondToChangedSelection(WebCore::Frame*);
-
- bool shouldDeleteRange(WebCore::Range*);
-
- bool shouldInsertNode(WebCore::Node*, WebCore::Range* replacingRange, WebCore::EditorInsertAction);
- bool shouldApplyStyle(WebCore::StylePropertySet*, WebCore::Range*);
- bool shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range*);
- bool shouldChangeTypingStyle(WebCore::StylePropertySet* currentStyle, WebCore::StylePropertySet* toProposedStyle);
-
- void webViewDidChangeTypingStyle(WebNotification*);
- void webViewDidChangeSelection(WebNotification*);
-
- bool smartInsertDeleteEnabled();
- bool isSelectTrailingWhitespaceEnabled();
-
- void registerUndoStep(PassRefPtr<WebCore::UndoStep>);
- void registerRedoStep(PassRefPtr<WebCore::UndoStep>);
- void clearUndoRedoOperations();
-
- bool canCopyCut(WebCore::Frame*, bool defaultValue) const;
- bool canPaste(WebCore::Frame*, bool defaultValue) const;
- bool canUndo() const;
- bool canRedo() const;
-
- void undo();
- void redo();
-
- virtual bool shouldChangeSelectedRange(WebCore::Range* fromRange, WebCore::Range* toRange, WebCore::EAffinity, bool stillSelecting);
- virtual void textFieldDidBeginEditing(WebCore::Element*);
- virtual void textFieldDidEndEditing(WebCore::Element*);
- virtual void textDidChangeInTextField(WebCore::Element*);
- virtual bool doTextFieldCommandFromEvent(WebCore::Element*, WebCore::KeyboardEvent*);
- virtual void textWillBeDeletedInTextField(WebCore::Element* input);
- virtual void textDidChangeInTextArea(WebCore::Element*);
-
- void handleKeyboardEvent(WebCore::KeyboardEvent*);
- void handleInputMethodKeydown(WebCore::KeyboardEvent*);
-
- virtual bool shouldEraseMarkersAfterChangeSelection(WebCore::TextCheckingType) const;
- virtual void ignoreWordInSpellDocument(const WTF::String&);
- virtual void learnWord(const WTF::String&);
- virtual void checkSpellingOfString(const UChar*, int length, int* misspellingLocation, int* misspellingLength);
- virtual WTF::String getAutoCorrectSuggestionForMisspelledWord(const WTF::String&);
- virtual void checkGrammarOfString(const UChar*, int length, Vector<WebCore::GrammarDetail>&, int* badGrammarLocation, int* badGrammarLength);
- virtual void updateSpellingUIWithGrammarString(const WTF::String&, const WebCore::GrammarDetail& detail);
- virtual void updateSpellingUIWithMisspelledWord(const WTF::String&);
- 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);
- virtual void requestCheckingOfString(WTF::PassRefPtr<WebCore::TextCheckingRequest>) { }
-
- virtual WebCore::TextCheckerClient* textChecker() { return this; }
-
-private:
- WebView* m_webView;
- WebEditorUndoTarget* m_undoTarget;
-};
-
-#endif // WebEditorClient_H
diff --git a/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp b/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
deleted file mode 100644
index e93ee9418..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp
+++ /dev/null
@@ -1,902 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebFrameLoaderClient.h"
-
-#include "CFDictionaryPropertyBag.h"
-#include "COMPropertyBag.h"
-#include "DOMHTMLClasses.h"
-#include "EmbeddedWidget.h"
-#include "MarshallingHelpers.h"
-#include "NotImplemented.h"
-#include "WebCachedFramePlatformData.h"
-#include "WebChromeClient.h"
-#include "WebDocumentLoader.h"
-#include "WebError.h"
-#include "WebFrame.h"
-#include "WebHistory.h"
-#include "WebHistoryItem.h"
-#include "WebMutableURLRequest.h"
-#include "WebNavigationData.h"
-#include "WebNotificationCenter.h"
-#include "WebSecurityOrigin.h"
-#include "WebURLAuthenticationChallenge.h"
-#include "WebURLResponse.h"
-#include "WebView.h"
-#include <WebCore/BackForwardController.h>
-#include <WebCore/CachedFrame.h>
-#include <WebCore/DocumentLoader.h>
-#include <WebCore/Frame.h>
-#include <WebCore/FrameLoader.h>
-#include <WebCore/FrameTree.h>
-#include <WebCore/FrameView.h>
-#include <WebCore/HTMLAppletElement.h>
-#include <WebCore/HTMLFrameElement.h>
-#include <WebCore/HTMLFrameOwnerElement.h>
-#include <WebCore/HTMLNames.h>
-#include <WebCore/HTMLParserIdioms.h>
-#include <WebCore/HTMLPlugInElement.h>
-#include <WebCore/HistoryItem.h>
-#include <WebCore/Page.h>
-#include <WebCore/PluginPackage.h>
-#include <WebCore/PluginView.h>
-#include <WebCore/RenderPart.h>
-#include <WebCore/ResourceHandle.h>
-#include <WebCore/ResourceLoader.h>
-#include <WebCore/Settings.h>
-
-using namespace WebCore;
-using namespace HTMLNames;
-
-static WebDataSource* getWebDataSource(DocumentLoader* loader)
-{
- return loader ? static_cast<WebDocumentLoader*>(loader)->dataSource() : 0;
-}
-
-WebFrameLoaderClient::WebFrameLoaderClient(WebFrame* webFrame)
- : m_webFrame(webFrame)
- , m_manualLoader(0)
- , m_hasSentResponseToPlugin(false)
-{
- ASSERT_ARG(webFrame, webFrame);
-}
-
-WebFrameLoaderClient::~WebFrameLoaderClient()
-{
-}
-
-bool WebFrameLoaderClient::hasWebView() const
-{
- return m_webFrame->webView();
-}
-
-void WebFrameLoaderClient::forceLayout()
-{
- Frame* frame = core(m_webFrame);
- if (!frame)
- return;
-
- if (frame->document() && frame->document()->inPageCache())
- return;
-
- FrameView* view = frame->view();
- if (!view)
- return;
-
- view->setNeedsLayout();
- view->forceLayout(true);
-}
-
-void WebFrameLoaderClient::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request)
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
- if (FAILED(webView->resourceLoadDelegate(&resourceLoadDelegate)))
- return;
-
- COMPtr<WebMutableURLRequest> webURLRequest(AdoptCOM, WebMutableURLRequest::createInstance(request));
- resourceLoadDelegate->identifierForInitialRequest(webView, webURLRequest.get(), getWebDataSource(loader), identifier);
-}
-
-bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader* loader, unsigned long identifier)
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
- if (FAILED(webView->resourceLoadDelegate(&resourceLoadDelegate)))
- return true;
-
- COMPtr<IWebResourceLoadDelegatePrivate> resourceLoadDelegatePrivate;
- if (FAILED(resourceLoadDelegate->QueryInterface(IID_IWebResourceLoadDelegatePrivate, reinterpret_cast<void**>(&resourceLoadDelegatePrivate))))
- return true;
-
- BOOL shouldUse;
- if (SUCCEEDED(resourceLoadDelegatePrivate->shouldUseCredentialStorage(webView, identifier, getWebDataSource(loader), &shouldUse)))
- return shouldUse;
-
- return true;
-}
-
-void WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge(DocumentLoader* loader, unsigned long identifier, const AuthenticationChallenge& challenge)
-{
- ASSERT(challenge.authenticationClient());
-
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
- if (SUCCEEDED(webView->resourceLoadDelegate(&resourceLoadDelegate))) {
- COMPtr<WebURLAuthenticationChallenge> webChallenge(AdoptCOM, WebURLAuthenticationChallenge::createInstance(challenge));
- if (SUCCEEDED(resourceLoadDelegate->didReceiveAuthenticationChallenge(webView, identifier, webChallenge.get(), getWebDataSource(loader))))
- return;
- }
-
- // If the ResourceLoadDelegate doesn't exist or fails to handle the call, we tell the ResourceHandle
- // to continue without credential - this is the best approximation of Mac behavior
- challenge.authenticationClient()->receivedRequestToContinueWithoutCredential(challenge);
-}
-
-void WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge(DocumentLoader* loader, unsigned long identifier, const AuthenticationChallenge& challenge)
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
- if (FAILED(webView->resourceLoadDelegate(&resourceLoadDelegate)))
- return;
-
- COMPtr<WebURLAuthenticationChallenge> webChallenge(AdoptCOM, WebURLAuthenticationChallenge::createInstance(challenge));
- resourceLoadDelegate->didCancelAuthenticationChallenge(webView, identifier, webChallenge.get(), getWebDataSource(loader));
-}
-
-void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader* loader, unsigned long identifier, ResourceRequest& request, const ResourceResponse& redirectResponse)
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
- if (FAILED(webView->resourceLoadDelegate(&resourceLoadDelegate)))
- return;
-
- COMPtr<WebMutableURLRequest> webURLRequest(AdoptCOM, WebMutableURLRequest::createInstance(request));
- COMPtr<WebURLResponse> webURLRedirectResponse(AdoptCOM, WebURLResponse::createInstance(redirectResponse));
-
- COMPtr<IWebURLRequest> newWebURLRequest;
- if (FAILED(resourceLoadDelegate->willSendRequest(webView, identifier, webURLRequest.get(), webURLRedirectResponse.get(), getWebDataSource(loader), &newWebURLRequest)))
- return;
-
- if (webURLRequest == newWebURLRequest)
- return;
-
- if (!newWebURLRequest) {
- request = ResourceRequest();
- return;
- }
-
- COMPtr<WebMutableURLRequest> newWebURLRequestImpl(Query, newWebURLRequest);
- if (!newWebURLRequestImpl)
- return;
-
- request = newWebURLRequestImpl->resourceRequest();
-}
-
-void WebFrameLoaderClient::dispatchDidReceiveResponse(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response)
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
- if (FAILED(webView->resourceLoadDelegate(&resourceLoadDelegate)))
- return;
-
- COMPtr<WebURLResponse> webURLResponse(AdoptCOM, WebURLResponse::createInstance(response));
- resourceLoadDelegate->didReceiveResponse(webView, identifier, webURLResponse.get(), getWebDataSource(loader));
-}
-
-void WebFrameLoaderClient::dispatchDidReceiveContentLength(DocumentLoader* loader, unsigned long identifier, int length)
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
- if (FAILED(webView->resourceLoadDelegate(&resourceLoadDelegate)))
- return;
-
- resourceLoadDelegate->didReceiveContentLength(webView, identifier, length, getWebDataSource(loader));
-}
-
-void WebFrameLoaderClient::dispatchDidFinishLoading(DocumentLoader* loader, unsigned long identifier)
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
- if (FAILED(webView->resourceLoadDelegate(&resourceLoadDelegate)))
- return;
-
- resourceLoadDelegate->didFinishLoadingFromDataSource(webView, identifier, getWebDataSource(loader));
-}
-
-void WebFrameLoaderClient::dispatchDidFailLoading(DocumentLoader* loader, unsigned long identifier, const ResourceError& error)
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
- if (FAILED(webView->resourceLoadDelegate(&resourceLoadDelegate)))
- return;
-
- COMPtr<WebError> webError(AdoptCOM, WebError::createInstance(error));
- resourceLoadDelegate->didFailLoadingWithError(webView, identifier, webError.get(), getWebDataSource(loader));
-}
-
-bool WebFrameLoaderClient::shouldCacheResponse(DocumentLoader* loader, unsigned long identifier, const ResourceResponse& response, const unsigned char* data, const unsigned long long length)
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
- if (FAILED(webView->resourceLoadDelegate(&resourceLoadDelegate)))
- return true;
-
- COMPtr<IWebResourceLoadDelegatePrivate> resourceLoadDelegatePrivate(Query, resourceLoadDelegate);
- if (!resourceLoadDelegatePrivate)
- return true;
-
- COMPtr<IWebURLResponse> urlResponse(AdoptCOM, WebURLResponse::createInstance(response));
- BOOL shouldCache;
- if (SUCCEEDED(resourceLoadDelegatePrivate->shouldCacheResponse(webView, identifier, urlResponse.get(), data, length, getWebDataSource(loader), &shouldCache)))
- return shouldCache;
-
- return true;
-}
-
-void WebFrameLoaderClient::dispatchDidHandleOnloadEvents()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegatePrivate> frameLoadDelegatePriv;
- if (SUCCEEDED(webView->frameLoadDelegatePrivate(&frameLoadDelegatePriv)) && frameLoadDelegatePriv)
- frameLoadDelegatePriv->didHandleOnloadEventsForFrame(webView, m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;
- if (SUCCEEDED(webView->frameLoadDelegate(&frameLoadDelegate)))
- frameLoadDelegate->didReceiveServerRedirectForProvisionalLoadForFrame(webView, m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidCancelClientRedirect()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;
- if (SUCCEEDED(webView->frameLoadDelegate(&frameLoadDelegate)))
- frameLoadDelegate->didCancelClientRedirectForFrame(webView, m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchWillPerformClientRedirect(const KURL& url, double delay, double fireDate)
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;
- if (SUCCEEDED(webView->frameLoadDelegate(&frameLoadDelegate)))
- frameLoadDelegate->willPerformClientRedirectToURL(webView, BString(url.string()), delay, MarshallingHelpers::CFAbsoluteTimeToDATE(fireDate), m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidChangeLocationWithinPage()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;
- if (SUCCEEDED(webView->frameLoadDelegate(&frameLoadDelegate)))
- frameLoadDelegate->didChangeLocationWithinPageForFrame(webView, m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidPushStateWithinPage()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegatePrivate> frameLoadDelegatePriv;
- if (FAILED(webView->frameLoadDelegatePrivate(&frameLoadDelegatePriv)) || !frameLoadDelegatePriv)
- return;
-
- COMPtr<IWebFrameLoadDelegatePrivate2> frameLoadDelegatePriv2(Query, frameLoadDelegatePriv);
- if (!frameLoadDelegatePriv2)
- return;
-
- frameLoadDelegatePriv2->didPushStateWithinPageForFrame(webView, m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidReplaceStateWithinPage()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegatePrivate> frameLoadDelegatePriv;
- if (FAILED(webView->frameLoadDelegatePrivate(&frameLoadDelegatePriv)) || !frameLoadDelegatePriv)
- return;
-
- COMPtr<IWebFrameLoadDelegatePrivate2> frameLoadDelegatePriv2(Query, frameLoadDelegatePriv);
- if (!frameLoadDelegatePriv2)
- return;
-
- frameLoadDelegatePriv2->didReplaceStateWithinPageForFrame(webView, m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidPopStateWithinPage()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegatePrivate> frameLoadDelegatePriv;
- if (FAILED(webView->frameLoadDelegatePrivate(&frameLoadDelegatePriv)) || !frameLoadDelegatePriv)
- return;
-
- COMPtr<IWebFrameLoadDelegatePrivate2> frameLoadDelegatePriv2(Query, frameLoadDelegatePriv);
- if (!frameLoadDelegatePriv2)
- return;
-
- frameLoadDelegatePriv2->didPopStateWithinPageForFrame(webView, m_webFrame);
-}
-void WebFrameLoaderClient::dispatchWillClose()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;
- if (SUCCEEDED(webView->frameLoadDelegate(&frameLoadDelegate)))
- frameLoadDelegate->willCloseFrame(webView, m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidReceiveIcon()
-{
- m_webFrame->webView()->dispatchDidReceiveIconFromWebFrame(m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;
- if (SUCCEEDED(webView->frameLoadDelegate(&frameLoadDelegate)))
- frameLoadDelegate->didStartProvisionalLoadForFrame(webView, m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidReceiveTitle(const StringWithDirection& title)
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;
- if (SUCCEEDED(webView->frameLoadDelegate(&frameLoadDelegate)))
- // FIXME: use direction of title.
- frameLoadDelegate->didReceiveTitle(webView, BString(title.string()), m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidChangeIcons(WebCore::IconType type)
-{
- if (type != WebCore::Favicon)
- return;
-
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegatePrivate> frameLoadDelegatePriv;
- if (FAILED(webView->frameLoadDelegatePrivate(&frameLoadDelegatePriv)) || !frameLoadDelegatePriv)
- return;
-
- COMPtr<IWebFrameLoadDelegatePrivate2> frameLoadDelegatePriv2(Query, frameLoadDelegatePriv);
- if (!frameLoadDelegatePriv2)
- return;
-
- frameLoadDelegatePriv2->didChangeIcons(webView, m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidCommitLoad()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;
- if (SUCCEEDED(webView->frameLoadDelegate(&frameLoadDelegate)))
- frameLoadDelegate->didCommitLoadForFrame(webView, m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidFinishDocumentLoad()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegatePrivate> frameLoadDelegatePriv;
- if (SUCCEEDED(webView->frameLoadDelegatePrivate(&frameLoadDelegatePriv)) && frameLoadDelegatePriv)
- frameLoadDelegatePriv->didFinishDocumentLoadForFrame(webView, m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidFinishLoad()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;
- if (SUCCEEDED(webView->frameLoadDelegate(&frameLoadDelegate)))
- frameLoadDelegate->didFinishLoadForFrame(webView, m_webFrame);
-}
-
-void WebFrameLoaderClient::dispatchDidLayout(LayoutMilestones milestones)
-{
- WebView* webView = m_webFrame->webView();
-
- if (milestones & DidFirstLayout) {
- COMPtr<IWebFrameLoadDelegatePrivate> frameLoadDelegatePrivate;
- if (SUCCEEDED(webView->frameLoadDelegatePrivate(&frameLoadDelegatePrivate)) && frameLoadDelegatePrivate)
- frameLoadDelegatePrivate->didFirstLayoutInFrame(webView, m_webFrame);
- }
-
- if (milestones & DidFirstVisuallyNonEmptyLayout) {
- COMPtr<IWebFrameLoadDelegatePrivate> frameLoadDelegatePrivate;
- if (SUCCEEDED(webView->frameLoadDelegatePrivate(&frameLoadDelegatePrivate)) && frameLoadDelegatePrivate)
- frameLoadDelegatePrivate->didFirstVisuallyNonEmptyLayoutInFrame(webView, m_webFrame);
- }
-}
-
-Frame* WebFrameLoaderClient::dispatchCreatePage(const NavigationAction&)
-{
- WebView* webView = m_webFrame->webView();
-
- COMPtr<IWebUIDelegate> ui;
- if (FAILED(webView->uiDelegate(&ui)))
- return 0;
-
- COMPtr<IWebView> newWebView;
- if (FAILED(ui->createWebViewWithRequest(webView, 0, &newWebView)))
- return 0;
-
- COMPtr<IWebFrame> mainFrame;
- if (FAILED(newWebView->mainFrame(&mainFrame)))
- return 0;
-
- COMPtr<WebFrame> mainFrameImpl(Query, mainFrame);
- return core(mainFrameImpl.get());
-}
-
-void WebFrameLoaderClient::dispatchShow()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebUIDelegate> ui;
- if (SUCCEEDED(webView->uiDelegate(&ui)))
- ui->webViewShow(webView);
-}
-
-void WebFrameLoaderClient::setMainDocumentError(DocumentLoader*, const ResourceError& error)
-{
- if (!m_manualLoader)
- return;
-
- m_manualLoader->didFail(error);
- m_manualLoader = 0;
- m_hasSentResponseToPlugin = false;
-}
-
-void WebFrameLoaderClient::postProgressStartedNotification()
-{
- static BSTR progressStartedName = SysAllocString(WebViewProgressStartedNotification);
- IWebNotificationCenter* notifyCenter = WebNotificationCenter::defaultCenterInternal();
- notifyCenter->postNotificationName(progressStartedName, static_cast<IWebView*>(m_webFrame->webView()), 0);
-}
-
-void WebFrameLoaderClient::postProgressEstimateChangedNotification()
-{
- static BSTR progressEstimateChangedName = SysAllocString(WebViewProgressEstimateChangedNotification);
- IWebNotificationCenter* notifyCenter = WebNotificationCenter::defaultCenterInternal();
- notifyCenter->postNotificationName(progressEstimateChangedName, static_cast<IWebView*>(m_webFrame->webView()), 0);
-}
-
-void WebFrameLoaderClient::postProgressFinishedNotification()
-{
- static BSTR progressFinishedName = SysAllocString(WebViewProgressFinishedNotification);
- IWebNotificationCenter* notifyCenter = WebNotificationCenter::defaultCenterInternal();
- notifyCenter->postNotificationName(progressFinishedName, static_cast<IWebView*>(m_webFrame->webView()), 0);
-}
-
-void WebFrameLoaderClient::committedLoad(DocumentLoader* loader, const char* data, int length)
-{
- if (!m_manualLoader)
- loader->commitData(data, length);
-
- // If the document is a stand-alone media document, now is the right time to cancel the WebKit load.
- // FIXME: This code should be shared across all ports. <http://webkit.org/b/48762>.
- Frame* coreFrame = core(m_webFrame);
- if (coreFrame->document()->isMediaDocument())
- loader->cancelMainResourceLoad(pluginWillHandleLoadError(loader->response()));
-
- if (!m_manualLoader)
- return;
-
- if (!m_hasSentResponseToPlugin) {
- m_manualLoader->didReceiveResponse(loader->response());
- // didReceiveResponse sets up a new stream to the plug-in. on a full-page plug-in, a failure in
- // setting up this stream can cause the main document load to be cancelled, setting m_manualLoader
- // to null
- if (!m_manualLoader)
- return;
- m_hasSentResponseToPlugin = true;
- }
- m_manualLoader->didReceiveData(data, length);
-}
-
-void WebFrameLoaderClient::finishedLoading(DocumentLoader*)
-{
- if (!m_manualLoader)
- return;
-
- m_manualLoader->didFinishLoading();
- m_manualLoader = 0;
- m_hasSentResponseToPlugin = false;
-}
-
-void WebFrameLoaderClient::updateGlobalHistory()
-{
- DocumentLoader* loader = core(m_webFrame)->loader()->documentLoader();
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebHistoryDelegate> historyDelegate;
- webView->historyDelegate(&historyDelegate);
-
- if (historyDelegate) {
- COMPtr<IWebURLResponse> urlResponse(AdoptCOM, WebURLResponse::createInstance(loader->response()));
- COMPtr<IWebURLRequest> urlRequest(AdoptCOM, WebMutableURLRequest::createInstance(loader->originalRequestCopy()));
-
- COMPtr<IWebNavigationData> navigationData(AdoptCOM, WebNavigationData::createInstance(
- loader->urlForHistory(), loader->title().string(), urlRequest.get(), urlResponse.get(), loader->substituteData().isValid(), loader->clientRedirectSourceForHistory()));
-
- historyDelegate->didNavigateWithNavigationData(webView, navigationData.get(), m_webFrame);
- return;
- }
-
- WebHistory* history = WebHistory::sharedHistory();
- if (!history)
- return;
-
- history->visitedURL(loader->urlForHistory(), loader->title().string(), loader->originalRequestCopy().httpMethod(), loader->urlForHistoryReflectsFailure(), !loader->clientRedirectSourceForHistory());
-}
-
-void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebHistoryDelegate> historyDelegate;
- webView->historyDelegate(&historyDelegate);
-
- WebHistory* history = WebHistory::sharedHistory();
-
- DocumentLoader* loader = core(m_webFrame)->loader()->documentLoader();
- ASSERT(loader->unreachableURL().isEmpty());
-
- if (!loader->clientRedirectSourceForHistory().isNull()) {
- if (historyDelegate) {
- BString sourceURL(loader->clientRedirectSourceForHistory());
- BString destURL(loader->clientRedirectDestinationForHistory());
- historyDelegate->didPerformClientRedirectFromURL(webView, sourceURL, destURL, m_webFrame);
- } else {
- if (history) {
- if (COMPtr<IWebHistoryItem> iWebHistoryItem = history->itemForURLString(loader->clientRedirectSourceForHistory())) {
- COMPtr<WebHistoryItem> webHistoryItem(Query, iWebHistoryItem);
- webHistoryItem->historyItem()->addRedirectURL(loader->clientRedirectDestinationForHistory());
- }
- }
- }
- }
-
- if (!loader->serverRedirectSourceForHistory().isNull()) {
- if (historyDelegate) {
- BString sourceURL(loader->serverRedirectSourceForHistory());
- BString destURL(loader->serverRedirectDestinationForHistory());
- historyDelegate->didPerformServerRedirectFromURL(webView, sourceURL, destURL, m_webFrame);
- } else {
- if (history) {
- if (COMPtr<IWebHistoryItem> iWebHistoryItem = history->itemForURLString(loader->serverRedirectSourceForHistory())) {
- COMPtr<WebHistoryItem> webHistoryItem(Query, iWebHistoryItem);
- webHistoryItem->historyItem()->addRedirectURL(loader->serverRedirectDestinationForHistory());
- }
- }
- }
- }
-}
-
-bool WebFrameLoaderClient::shouldGoToHistoryItem(HistoryItem*) const
-{
- return true;
-}
-
-bool WebFrameLoaderClient::shouldStopLoadingForHistoryItem(HistoryItem*) const
-{
- return true;
-}
-
-void WebFrameLoaderClient::updateGlobalHistoryItemForPage()
-{
- HistoryItem* historyItem = 0;
- WebView* webView = m_webFrame->webView();
-
- if (Page* page = webView->page()) {
- if (!page->settings()->privateBrowsingEnabled())
- historyItem = page->backForward()->currentItem();
- }
-
- webView->setGlobalHistoryItem(historyItem);
-}
-
-void WebFrameLoaderClient::didDisplayInsecureContent()
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegatePrivate> frameLoadDelegatePriv;
- if (FAILED(webView->frameLoadDelegatePrivate(&frameLoadDelegatePriv)) || !frameLoadDelegatePriv)
- return;
-
- COMPtr<IWebFrameLoadDelegatePrivate2> frameLoadDelegatePriv2(Query, frameLoadDelegatePriv);
- if (!frameLoadDelegatePriv2)
- return;
-
- frameLoadDelegatePriv2->didDisplayInsecureContent(webView);
-}
-
-void WebFrameLoaderClient::didRunInsecureContent(SecurityOrigin* origin, const KURL& insecureURL)
-{
- COMPtr<IWebSecurityOrigin> webSecurityOrigin = WebSecurityOrigin::createInstance(origin);
-
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebFrameLoadDelegatePrivate> frameLoadDelegatePriv;
- if (FAILED(webView->frameLoadDelegatePrivate(&frameLoadDelegatePriv)) || !frameLoadDelegatePriv)
- return;
-
- COMPtr<IWebFrameLoadDelegatePrivate2> frameLoadDelegatePriv2(Query, frameLoadDelegatePriv);
- if (!frameLoadDelegatePriv2)
- return;
-
- frameLoadDelegatePriv2->didRunInsecureContent(webView, webSecurityOrigin.get());
-}
-
-void WebFrameLoaderClient::didDetectXSS(const KURL&, bool)
-{
- // FIXME: propogate call into the private delegate.
-}
-
-PassRefPtr<DocumentLoader> WebFrameLoaderClient::createDocumentLoader(const ResourceRequest& request, const SubstituteData& substituteData)
-{
- RefPtr<WebDocumentLoader> loader = WebDocumentLoader::create(request, substituteData);
-
- COMPtr<WebDataSource> dataSource(AdoptCOM, WebDataSource::createInstance(loader.get()));
-
- loader->setDataSource(dataSource.get());
- return loader.release();
-}
-
-void WebFrameLoaderClient::setTitle(const StringWithDirection& title, const KURL& url)
-{
- WebView* webView = m_webFrame->webView();
- COMPtr<IWebHistoryDelegate> historyDelegate;
- webView->historyDelegate(&historyDelegate);
- if (historyDelegate) {
- BString titleBSTR(title.string());
- BString urlBSTR(url.string());
- historyDelegate->updateHistoryTitle(webView, titleBSTR, urlBSTR);
- return;
- }
-
- BOOL privateBrowsingEnabled = FALSE;
- COMPtr<IWebPreferences> preferences;
- if (SUCCEEDED(m_webFrame->webView()->preferences(&preferences)))
- preferences->privateBrowsingEnabled(&privateBrowsingEnabled);
- if (privateBrowsingEnabled)
- return;
-
- // update title in global history
- COMPtr<WebHistory> history = webHistory();
- if (!history)
- return;
-
- COMPtr<IWebHistoryItem> item;
- if (FAILED(history->itemForURL(BString(url.string()), &item)))
- return;
-
- COMPtr<IWebHistoryItemPrivate> itemPrivate(Query, item);
- if (!itemPrivate)
- return;
-
- itemPrivate->setTitle(BString(title.string()));
-}
-
-void WebFrameLoaderClient::savePlatformDataToCachedFrame(CachedFrame* cachedFrame)
-{
-#if USE(CFNETWORK)
- Frame* coreFrame = core(m_webFrame);
- if (!coreFrame)
- return;
-
- ASSERT(coreFrame->loader()->documentLoader() == cachedFrame->documentLoader());
-
- cachedFrame->setCachedFramePlatformData(adoptPtr(new WebCachedFramePlatformData(static_cast<IWebDataSource*>(getWebDataSource(coreFrame->loader()->documentLoader())))));
-#else
- notImplemented();
-#endif
-}
-
-void WebFrameLoaderClient::transitionToCommittedFromCachedFrame(CachedFrame*)
-{
-}
-
-void WebFrameLoaderClient::transitionToCommittedForNewPage()
-{
- WebView* view = m_webFrame->webView();
-
- RECT rect;
- view->frameRect(&rect);
- bool transparent = view->transparent();
- Color backgroundColor = transparent ? Color::transparent : Color::white;
- core(m_webFrame)->createView(IntRect(rect).size(), backgroundColor, transparent);
-}
-
-void WebFrameLoaderClient::didSaveToPageCache()
-{
-}
-
-void WebFrameLoaderClient::didRestoreFromPageCache()
-{
-}
-
-void WebFrameLoaderClient::dispatchDidBecomeFrameset(bool)
-{
-}
-
-bool WebFrameLoaderClient::canCachePage() const
-{
- return true;
-}
-
-PassRefPtr<Frame> WebFrameLoaderClient::createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
- const String& referrer, bool /*allowsScrolling*/, int /*marginWidth*/, int /*marginHeight*/)
-{
- RefPtr<Frame> result = createFrame(url, name, ownerElement, referrer);
- if (!result)
- return 0;
- return result.release();
-}
-
-PassRefPtr<Frame> WebFrameLoaderClient::createFrame(const KURL& URL, const String& name, HTMLFrameOwnerElement* ownerElement, const String& referrer)
-{
- Frame* coreFrame = core(m_webFrame);
- ASSERT(coreFrame);
-
- COMPtr<WebFrame> webFrame(AdoptCOM, WebFrame::createInstance());
-
- RefPtr<Frame> childFrame = webFrame->init(m_webFrame->webView(), coreFrame->page(), ownerElement);
-
- childFrame->tree()->setName(name);
- coreFrame->tree()->appendChild(childFrame);
- childFrame->init();
-
- coreFrame->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 WebFrameLoaderClient::dispatchDidFailToStartPlugin(const PluginView* pluginView) const
-{
- WebView* webView = m_webFrame->webView();
-
- COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
- if (FAILED(webView->resourceLoadDelegate(&resourceLoadDelegate)))
- return;
-
- RetainPtr<CFMutableDictionaryRef> userInfo = adoptCF(CFDictionaryCreateMutable(0, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
-
- Frame* frame = core(m_webFrame);
- ASSERT(frame == pluginView->parentFrame());
-
- if (!pluginView->pluginsPage().isNull()) {
- KURL pluginPageURL = frame->document()->completeURL(stripLeadingAndTrailingHTMLSpaces(pluginView->pluginsPage()));
- if (pluginPageURL.protocolIsInHTTPFamily()) {
- static CFStringRef key = MarshallingHelpers::LPCOLESTRToCFStringRef(WebKitErrorPlugInPageURLStringKey);
- CFDictionarySetValue(userInfo.get(), key, pluginPageURL.string().createCFString().get());
- }
- }
-
- if (!pluginView->mimeType().isNull()) {
- static CFStringRef key = MarshallingHelpers::LPCOLESTRToCFStringRef(WebKitErrorMIMETypeKey);
- CFDictionarySetValue(userInfo.get(), key, pluginView->mimeType().createCFString().get());
- }
-
- if (pluginView->plugin()) {
- String pluginName = pluginView->plugin()->name();
- if (!pluginName.isNull()) {
- static CFStringRef key = MarshallingHelpers::LPCOLESTRToCFStringRef(WebKitErrorPlugInNameKey);
- CFDictionarySetValue(userInfo.get(), key, pluginName.createCFString().get());
- }
- }
-
- COMPtr<CFDictionaryPropertyBag> userInfoBag = CFDictionaryPropertyBag::createInstance();
- userInfoBag->setDictionary(userInfo.get());
-
- int errorCode = 0;
- switch (pluginView->status()) {
- case PluginStatusCanNotFindPlugin:
- errorCode = WebKitErrorCannotFindPlugIn;
- break;
- case PluginStatusCanNotLoadPlugin:
- errorCode = WebKitErrorCannotLoadPlugIn;
- break;
- default:
- ASSERT_NOT_REACHED();
- }
-
- ResourceError resourceError(String(WebKitErrorDomain), errorCode, pluginView->url().string(), String());
- COMPtr<IWebError> error(AdoptCOM, WebError::createInstance(resourceError, userInfoBag.get()));
-
- resourceLoadDelegate->plugInFailedWithError(webView, error.get(), getWebDataSource(frame->loader()->documentLoader()));
-}
-
-PassRefPtr<Widget> WebFrameLoaderClient::createPlugin(const IntSize& pluginSize, HTMLPlugInElement* element, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
-{
- WebView* webView = m_webFrame->webView();
-
- COMPtr<IWebUIDelegate> ui;
- if (SUCCEEDED(webView->uiDelegate(&ui)) && ui) {
- COMPtr<IWebUIDelegatePrivate> uiPrivate(Query, ui);
-
- if (uiPrivate) {
- // Assemble the view arguments in a property bag.
- HashMap<String, String> viewArguments;
- for (unsigned i = 0; i < paramNames.size(); i++)
- viewArguments.set(paramNames[i], paramValues[i]);
- COMPtr<IPropertyBag> viewArgumentsBag(AdoptCOM, COMPropertyBag<String>::adopt(viewArguments));
- COMPtr<IDOMElement> containingElement(AdoptCOM, DOMElement::createInstance(element));
-
- HashMap<String, COMVariant> arguments;
-
- arguments.set(WebEmbeddedViewAttributesKey, viewArgumentsBag);
- arguments.set(WebEmbeddedViewBaseURLKey, url.string());
- arguments.set(WebEmbeddedViewContainingElementKey, containingElement);
- arguments.set(WebEmbeddedViewMIMETypeKey, mimeType);
-
- COMPtr<IPropertyBag> argumentsBag(AdoptCOM, COMPropertyBag<COMVariant>::adopt(arguments));
-
- COMPtr<IWebEmbeddedView> view;
- HRESULT result = uiPrivate->embeddedViewWithArguments(webView, m_webFrame, argumentsBag.get(), &view);
- if (SUCCEEDED(result)) {
- HWND parentWindow;
- HRESULT hr = webView->viewWindow((OLE_HANDLE*)&parentWindow);
- ASSERT(SUCCEEDED(hr));
-
- return EmbeddedWidget::create(view.get(), element, parentWindow, pluginSize);
- }
- }
- }
-
- Frame* frame = core(m_webFrame);
- RefPtr<PluginView> pluginView = PluginView::create(frame, pluginSize, element, url, paramNames, paramValues, mimeType, loadManually);
-
- if (pluginView->status() == PluginStatusLoadedSuccessfully)
- return pluginView;
-
- dispatchDidFailToStartPlugin(pluginView.get());
-
- return 0;
-}
-
-void WebFrameLoaderClient::redirectDataToPlugin(Widget* pluginWidget)
-{
- // Ideally, this function shouldn't be necessary, see <rdar://problem/4852889>
- if (!pluginWidget || pluginWidget->isPluginView())
- m_manualLoader = toPluginView(pluginWidget);
- else
- m_manualLoader = static_cast<EmbeddedWidget*>(pluginWidget);
-}
-
-WebHistory* WebFrameLoaderClient::webHistory() const
-{
- if (m_webFrame != m_webFrame->webView()->topLevelFrame())
- return 0;
-
- return WebHistory::sharedHistory();
-}
-
-bool WebFrameLoaderClient::shouldAlwaysUsePluginDocument(const String& mimeType) const
-{
- WebView* webView = m_webFrame->webView();
- if (!webView)
- return false;
-
- return webView->shouldUseEmbeddedView(mimeType);
-}
diff --git a/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h b/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h
deleted file mode 100644
index 332e8891f..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebFrameLoaderClient_h
-#define WebFrameLoaderClient_h
-
-#include <WebCore/FrameLoaderClient.h>
-
-namespace WebCore {
- class PluginManualLoader;
- class PluginView;
-}
-
-template <typename T> class COMPtr;
-class WebFrame;
-class WebHistory;
-
-class WebFrameLoaderClient : public WebCore::FrameLoaderClient {
-public:
- virtual bool hasWebView() const;
-
- virtual void forceLayout();
-
- virtual void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&);
-
- virtual void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse);
- virtual bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long identifier);
- virtual void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&);
- virtual void dispatchDidCancelAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&);
- virtual void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&);
- virtual void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int dataLength);
- virtual void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier);
- virtual void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&);
- virtual bool shouldCacheResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&, const unsigned char* data, unsigned long long length);
-
- virtual void dispatchDidHandleOnloadEvents();
- virtual void dispatchDidReceiveServerRedirectForProvisionalLoad();
- virtual void dispatchDidCancelClientRedirect();
- virtual void dispatchWillPerformClientRedirect(const WebCore::KURL&, double interval, double fireDate);
- virtual void dispatchDidChangeLocationWithinPage();
- virtual void dispatchDidPushStateWithinPage();
- virtual void dispatchDidReplaceStateWithinPage();
- virtual void dispatchDidPopStateWithinPage();
- virtual void dispatchWillClose();
- virtual void dispatchDidReceiveIcon();
- virtual void dispatchDidStartProvisionalLoad();
- virtual void dispatchDidReceiveTitle(const WebCore::StringWithDirection&);
- virtual void dispatchDidChangeIcons(WebCore::IconType);
- virtual void dispatchDidCommitLoad();
- virtual void dispatchDidFinishDocumentLoad();
- virtual void dispatchDidFinishLoad();
- virtual void dispatchDidLayout(WebCore::LayoutMilestones);
-
- virtual WebCore::Frame* dispatchCreatePage(const WebCore::NavigationAction&);
- virtual void dispatchShow();
-
- virtual void setMainDocumentError(WebCore::DocumentLoader*, const WebCore::ResourceError&);
-
- virtual void postProgressStartedNotification();
- virtual void postProgressEstimateChangedNotification();
- virtual void postProgressFinishedNotification();
-
- virtual void committedLoad(WebCore::DocumentLoader*, const char*, int);
- virtual void finishedLoading(WebCore::DocumentLoader*);
-
- virtual void updateGlobalHistory();
- virtual void updateGlobalHistoryRedirectLinks();
- virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const;
- virtual bool shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const;
- virtual void updateGlobalHistoryItemForPage();
-
- virtual void didDisplayInsecureContent();
- virtual void didRunInsecureContent(WebCore::SecurityOrigin*, const WebCore::KURL&);
- virtual void didDetectXSS(const WebCore::KURL&, bool didBlockEntirePage);
-
- virtual PassRefPtr<WebCore::DocumentLoader> createDocumentLoader(const WebCore::ResourceRequest&, const WebCore::SubstituteData&);
- virtual void setTitle(const WebCore::StringWithDirection&, const WebCore::KURL&);
-
- virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*);
- virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
- virtual void transitionToCommittedForNewPage();
-
- virtual void didSaveToPageCache();
- virtual void didRestoreFromPageCache();
-
- virtual void dispatchDidBecomeFrameset(bool);
-
- virtual bool canCachePage() const;
-
- virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement* ownerElement,
- const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
- virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const Vector<WTF::String>&, const Vector<WTF::String>&, const WTF::String&, bool loadManually);
- virtual void recreatePlugin(WebCore::Widget*) { }
- virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);
-
- virtual bool shouldAlwaysUsePluginDocument(const WTF::String& mimeType) const;
-
- virtual void dispatchDidFailToStartPlugin(const WebCore::PluginView*) const;
-
-protected:
- WebFrameLoaderClient(WebFrame*);
- ~WebFrameLoaderClient();
-
-private:
- PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL&, const WTF::String& name, WebCore::HTMLFrameOwnerElement*, const WTF::String& referrer);
- WebHistory* webHistory() const;
-
- WebFrame* m_webFrame;
-
- // Points to the manual loader that data should be redirected to.
- WebCore::PluginManualLoader* m_manualLoader;
-
- bool m_hasSentResponseToPlugin;
-};
-
-#endif // WebFrameLoaderClient_h
diff --git a/Source/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp b/Source/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp
deleted file mode 100644
index b91e0f847..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (C) 2013 Apple 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 INC. 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 INC. 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 "WebFrameNetworkingContext.h"
-#include "WebView.h"
-#if USE(CFNETWORK)
-#include <CFNetwork/CFHTTPCookiesPriv.h>
-#endif
-#include <WebCore/FrameLoader.h>
-#include <WebCore/FrameLoaderClient.h>
-#include <WebCore/NetworkStorageSession.h>
-#include <WebCore/Page.h>
-#include <WebCore/ResourceError.h>
-#include <WebCore/Settings.h>
-#if USE(CFNETWORK)
-#include <WebKitSystemInterface/WebKitSystemInterface.h>
-#endif
-
-using namespace WebCore;
-
-static NetworkStorageSession* privateSession;
-static String* identifierBase;
-
-#if USE(CFNETWORK)
-void WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts(WebKitCookieStorageAcceptPolicy policy)
-{
- if (RetainPtr<CFHTTPCookieStorageRef> cookieStorage = NetworkStorageSession::defaultStorageSession().cookieStorage())
- CFHTTPCookieStorageSetCookieAcceptPolicy(cookieStorage.get(), policy);
-
- if (privateSession)
- CFHTTPCookieStorageSetCookieAcceptPolicy(privateSession->cookieStorage().get(), policy);
-}
-#endif
-
-void WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase(const String& base)
-{
- ASSERT(isMainThread());
-
- delete identifierBase;
-
- identifierBase = new String(base);
-}
-
-void WebFrameNetworkingContext::ensurePrivateBrowsingSession()
-{
-#if USE(CFNETWORK)
- ASSERT(isMainThread());
-
- if (privateSession)
- return;
-
- String base;
- if (!identifierBase) {
- if (CFTypeRef bundleValue = CFBundleGetValueForInfoDictionaryKey(CFBundleGetMainBundle(), kCFBundleIdentifierKey))
- if (CFGetTypeID(bundleValue) == CFStringGetTypeID())
- base = reinterpret_cast<CFStringRef>(bundleValue);
- }
- else
- base = *identifierBase;
-
- privateSession = NetworkStorageSession::createPrivateBrowsingSession(base).leakPtr();
-#endif
-}
-
-void WebFrameNetworkingContext::destroyPrivateBrowsingSession()
-{
- ASSERT(isMainThread());
-
- delete privateSession;
- privateSession = 0;
-}
-
-ResourceError WebFrameNetworkingContext::blockedError(const ResourceRequest& request) const
-{
- return frame()->loader()->client()->blockedError(request);
-}
-
-String WebFrameNetworkingContext::referrer() const
-{
- return frame()->loader()->referrer();
-}
-
-#if USE(CFNETWORK)
-NetworkStorageSession& WebFrameNetworkingContext::storageSession() const
-{
- ASSERT(isMainThread());
-
- if (frame() && frame()->settings() && frame()->settings()->privateBrowsingEnabled())
- return *privateSession;
-
- return NetworkStorageSession::defaultStorageSession();
-}
-#endif
diff --git a/Source/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.h b/Source/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.h
deleted file mode 100644
index d4806962b..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebFrameNetworkingContext.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2013 Apple 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 INC. 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 INC. 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 WebFrameNetworkingContext_h
-#define WebFrameNetworkingContext_h
-
-#include <WebCore/FrameNetworkingContext.h>
-
-class WebFrameNetworkingContext : public WebCore::FrameNetworkingContext {
-public:
- static PassRefPtr<WebFrameNetworkingContext> create(WebCore::Frame* frame, const String& useragent)
- {
- return adoptRef(new WebFrameNetworkingContext(frame, useragent));
- }
-
-#if USE(CFNETWORK)
- static void setCookieAcceptPolicyForAllContexts(WebKitCookieStorageAcceptPolicy);
-#endif
- static void setPrivateBrowsingStorageSessionIdentifierBase(const String&);
- static void ensurePrivateBrowsingSession();
- static void destroyPrivateBrowsingSession();
-
-private:
- WebFrameNetworkingContext(WebCore::Frame* frame, const String& userAgent)
- : WebCore::FrameNetworkingContext(frame), m_userAgent(userAgent)
- {
- }
-
- virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&) const OVERRIDE;
-#if USE(CFNETWORK)
- virtual WebCore::NetworkStorageSession& storageSession() const OVERRIDE;
-#endif
- virtual String referrer() const OVERRIDE;
- virtual String userAgent() const { return m_userAgent; }
-
- String m_userAgent;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebCoreSupport/WebGeolocationClient.cpp b/Source/WebKit/win/WebCoreSupport/WebGeolocationClient.cpp
deleted file mode 100644
index 0e9a39f11..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebGeolocationClient.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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 "WebKitDLL.h"
-#include "WebGeolocationClient.h"
-
-#include "WebFrame.h"
-#include "WebGeolocationPolicyListener.h"
-#include "WebGeolocationPosition.h"
-#include "WebSecurityOrigin.h"
-#include "WebView.h"
-#include <WebCore/Document.h>
-#include <WebCore/Frame.h>
-#include <WebCore/Geolocation.h>
-#include <WebCore/SecurityOrigin.h>
-
-using namespace WebCore;
-
-WebGeolocationClient::WebGeolocationClient(WebView* webView)
- : m_webView(webView)
-{
-}
-
-void WebGeolocationClient::geolocationDestroyed()
-{
- delete this;
-}
-
-void WebGeolocationClient::startUpdating()
-{
- COMPtr<IWebGeolocationProvider> provider;
- if (FAILED(m_webView->geolocationProvider(&provider)))
- return;
- provider->registerWebView(m_webView.get());
-}
-
-void WebGeolocationClient::stopUpdating()
-{
- COMPtr<IWebGeolocationProvider> provider;
- if (FAILED(m_webView->geolocationProvider(&provider)))
- return;
- provider->unregisterWebView(m_webView.get());
-}
-
-GeolocationPosition* WebGeolocationClient::lastPosition()
-{
- COMPtr<IWebGeolocationProvider> provider;
- if (FAILED(m_webView->geolocationProvider(&provider)))
- return 0;
- COMPtr<IWebGeolocationPosition> position;
- if (FAILED(provider->lastPosition(&position)))
- return 0;
- return core(position.get());
-}
-
-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/Source/WebKit/win/WebCoreSupport/WebInspectorClient.cpp b/Source/WebKit/win/WebCoreSupport/WebInspectorClient.cpp
deleted file mode 100644
index 047e0c4be..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebInspectorClient.cpp
+++ /dev/null
@@ -1,567 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebInspectorClient.h"
-
-#if ENABLE(INSPECTOR)
-
-#include "WebInspectorDelegate.h"
-#include "WebKit.h"
-#include "WebMutableURLRequest.h"
-#include "WebNodeHighlight.h"
-#include "WebView.h"
-
-#include <WebCore/BString.h>
-#include <WebCore/Element.h>
-#include <WebCore/FloatRect.h>
-#include <WebCore/FrameView.h>
-#include <WebCore/InspectorController.h>
-#include <WebCore/NotImplemented.h>
-#include <WebCore/Page.h>
-#include <WebCore/RenderObject.h>
-#include <WebCore/WindowMessageBroadcaster.h>
-
-#include <wchar.h>
-#include <wtf/RetainPtr.h>
-#include <wtf/text/StringConcatenate.h>
-
-using namespace WebCore;
-
-static LPCTSTR kWebInspectorWindowClassName = TEXT("WebInspectorWindowClass");
-static ATOM registerWindowClass();
-static LPCTSTR kWebInspectorPointerProp = TEXT("WebInspectorPointer");
-
-static const IntRect& defaultWindowRect()
-{
- static IntRect rect(60, 200, 750, 650);
- return rect;
-}
-
-static CFBundleRef getWebKitBundle()
-{
- return CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebKit"));
-}
-
-WebInspectorClient::WebInspectorClient(WebView* webView)
- : m_inspectedWebView(webView)
- , m_frontendPage(0)
- , m_frontendClient(0)
-{
- ASSERT(m_inspectedWebView);
- m_inspectedWebView->viewWindow((OLE_HANDLE*)&m_inspectedWebViewHwnd);
-}
-
-WebInspectorClient::~WebInspectorClient()
-{
-}
-
-void WebInspectorClient::inspectorDestroyed()
-{
- closeInspectorFrontend();
- delete this;
-}
-
-WebCore::InspectorFrontendChannel* WebInspectorClient::openInspectorFrontend(InspectorController* inspectorController)
-{
- registerWindowClass();
-
- HWND frontendHwnd = ::CreateWindowEx(0, kWebInspectorWindowClassName, 0, WS_OVERLAPPEDWINDOW,
- defaultWindowRect().x(), defaultWindowRect().y(), defaultWindowRect().width(), defaultWindowRect().height(),
- 0, 0, 0, 0);
-
- if (!frontendHwnd)
- return 0;
-
- COMPtr<WebView> frontendWebView(AdoptCOM, WebView::createInstance());
-
- if (FAILED(frontendWebView->setHostWindow((OLE_HANDLE)(ULONG64)frontendHwnd)))
- return 0;
-
- RECT rect;
- GetClientRect(frontendHwnd, &rect);
- if (FAILED(frontendWebView->initWithFrame(rect, 0, 0)))
- return 0;
-
- COMPtr<WebInspectorDelegate> delegate(AdoptCOM, WebInspectorDelegate::createInstance());
- if (FAILED(frontendWebView->setUIDelegate(delegate.get())))
- return 0;
-
- // Keep preferences separate from the rest of the client, making sure we are using expected preference values.
- // FIXME: It's crazy that we have to do this song and dance to end up with
- // a private WebPreferences object, even within WebKit. We should make this
- // process simpler, and consider whether we can make it simpler for WebKit
- // clients as well.
- COMPtr<WebPreferences> tempPreferences(AdoptCOM, WebPreferences::createInstance());
- COMPtr<IWebPreferences> iPreferences;
- if (FAILED(tempPreferences->initWithIdentifier(BString(L"WebInspectorPreferences"), &iPreferences)))
- return 0;
- COMPtr<WebPreferences> preferences(Query, iPreferences);
- if (!preferences)
- return 0;
- if (FAILED(preferences->setAutosaves(FALSE)))
- return 0;
- if (FAILED(preferences->setLoadsImagesAutomatically(TRUE)))
- return 0;
- if (FAILED(preferences->setAuthorAndUserStylesEnabled(TRUE)))
- return 0;
- if (FAILED(preferences->setAllowsAnimatedImages(TRUE)))
- return 0;
- if (FAILED(preferences->setLoadsImagesAutomatically(TRUE)))
- return 0;
- if (FAILED(preferences->setPlugInsEnabled(FALSE)))
- return 0;
- if (FAILED(preferences->setJavaEnabled(FALSE)))
- return 0;
- if (FAILED(preferences->setUserStyleSheetEnabled(FALSE)))
- return 0;
- if (FAILED(preferences->setTabsToLinks(FALSE)))
- return 0;
- if (FAILED(preferences->setMinimumFontSize(0)))
- return 0;
- if (FAILED(preferences->setMinimumLogicalFontSize(9)))
- return 0;
- if (FAILED(preferences->setFixedFontFamily(BString(L"Courier New"))))
- return 0;
- if (FAILED(preferences->setDefaultFixedFontSize(13)))
- return 0;
-
- if (FAILED(frontendWebView->setPreferences(preferences.get())))
- return 0;
-
- frontendWebView->setProhibitsMainFrameScrolling(TRUE);
-
- HWND frontendWebViewHwnd;
- if (FAILED(frontendWebView->viewWindow(reinterpret_cast<OLE_HANDLE*>(&frontendWebViewHwnd))))
- return 0;
-
- COMPtr<WebMutableURLRequest> request(AdoptCOM, WebMutableURLRequest::createInstance());
-
- RetainPtr<CFURLRef> htmlURLRef = adoptCF(CFBundleCopyResourceURL(getWebKitBundle(), CFSTR("inspector"), CFSTR("html"), CFSTR("inspector")));
- if (!htmlURLRef)
- return 0;
-
- CFStringRef urlStringRef = ::CFURLGetString(htmlURLRef.get());
- if (FAILED(request->initWithURL(BString(urlStringRef), WebURLRequestUseProtocolCachePolicy, 60)))
- return 0;
-
- if (FAILED(frontendWebView->topLevelFrame()->loadRequest(request.get())))
- return 0;
-
- m_frontendPage = core(frontendWebView.get());
- OwnPtr<WebInspectorFrontendClient> frontendClient = adoptPtr(new WebInspectorFrontendClient(m_inspectedWebView, m_inspectedWebViewHwnd, frontendHwnd, frontendWebView, frontendWebViewHwnd, this, createFrontendSettings()));
- m_frontendClient = frontendClient.get();
- m_frontendPage->inspectorController()->setInspectorFrontendClient(frontendClient.release());
- m_frontendHwnd = frontendHwnd;
- return this;
-}
-
-void WebInspectorClient::closeInspectorFrontend()
-{
- if (m_frontendClient)
- m_frontendClient->destroyInspectorView(false);
-}
-
-void WebInspectorClient::bringFrontendToFront()
-{
- m_frontendClient->bringToFront();
-}
-
-void WebInspectorClient::highlight()
-{
- bool creatingHighlight = !m_highlight;
-
- if (creatingHighlight)
- m_highlight = adoptPtr(new WebNodeHighlight(m_inspectedWebView));
-
- if (m_highlight->isShowing())
- m_highlight->update();
- else
- m_highlight->setShowsWhileWebViewIsVisible(true);
-
- if (creatingHighlight && IsWindowVisible(m_frontendHwnd))
- m_highlight->placeBehindWindow(m_frontendHwnd);
-}
-
-void WebInspectorClient::hideHighlight()
-{
- if (m_highlight)
- m_highlight->setShowsWhileWebViewIsVisible(false);
-}
-
-void WebInspectorClient::updateHighlight()
-{
- if (m_highlight && m_highlight->isShowing())
- m_highlight->update();
-}
-
-void WebInspectorClient::releaseFrontend()
-{
- m_frontendClient = 0;
- m_frontendPage = 0;
- m_frontendHwnd = 0;
-}
-
-WebInspectorFrontendClient::WebInspectorFrontendClient(WebView* inspectedWebView, HWND inspectedWebViewHwnd, HWND frontendHwnd, const COMPtr<WebView>& frontendWebView, HWND frontendWebViewHwnd, WebInspectorClient* inspectorClient, PassOwnPtr<Settings> settings)
- : InspectorFrontendClientLocal(inspectedWebView->page()->inspectorController(), core(frontendWebView.get()), settings)
- , m_inspectedWebView(inspectedWebView)
- , m_inspectedWebViewHwnd(inspectedWebViewHwnd)
- , m_inspectorClient(inspectorClient)
- , m_frontendHwnd(frontendHwnd)
- , m_frontendWebView(frontendWebView)
- , m_frontendWebViewHwnd(frontendWebViewHwnd)
- , m_attached(false)
- , m_destroyingInspectorView(false)
-{
- ::SetProp(frontendHwnd, kWebInspectorPointerProp, reinterpret_cast<HANDLE>(this));
- // FIXME: Implement window size/position save/restore
-#if 0
- [self setWindowFrameAutosaveName:@"Web Inspector"];
-#endif
-}
-
-WebInspectorFrontendClient::~WebInspectorFrontendClient()
-{
- destroyInspectorView(true);
-}
-
-void WebInspectorFrontendClient::frontendLoaded()
-{
- InspectorFrontendClientLocal::frontendLoaded();
-
- if (m_attached)
- restoreAttachedWindowHeight();
-
- setAttachedWindow(m_attached ? DOCKED_TO_BOTTOM : UNDOCKED);
-}
-
-String WebInspectorFrontendClient::localizedStringsURL()
-{
- RetainPtr<CFURLRef> url = adoptCF(CFBundleCopyResourceURL(getWebKitBundle(), CFSTR("localizedStrings"), CFSTR("js"), 0));
- if (!url)
- return String();
-
- return CFURLGetString(url.get());
-}
-
-void WebInspectorFrontendClient::bringToFront()
-{
- showWindowWithoutNotifications();
-}
-
-void WebInspectorFrontendClient::closeWindow()
-{
- destroyInspectorView(true);
-}
-
-void WebInspectorFrontendClient::attachWindow(DockSide)
-{
- if (m_attached)
- return;
-
- m_inspectorClient->setInspectorStartsAttached(true);
-
- closeWindowWithoutNotifications();
- // We need to set the attached window's height before we actually attach the window.
- // Make sure that m_attached is true so that calling setAttachedWindowHeight from restoreAttachedWindowHeight doesn't return early.
- m_attached = true;
- // Immediately after calling showWindowWithoutNotifications(), the parent frameview's visibleHeight incorrectly returns 0 always (Windows only).
- // We are expecting this value to be just the height of the parent window when we call restoreAttachedWindowHeight, which it is before
- // calling showWindowWithoutNotifications().
- restoreAttachedWindowHeight();
- showWindowWithoutNotifications();
-}
-
-void WebInspectorFrontendClient::detachWindow()
-{
- if (!m_attached)
- return;
-
- m_inspectorClient->setInspectorStartsAttached(false);
-
- closeWindowWithoutNotifications();
- showWindowWithoutNotifications();
-}
-
-void WebInspectorFrontendClient::setAttachedWindowHeight(unsigned height)
-{
- if (!m_attached)
- return;
-
- HWND hostWindow;
- if (!SUCCEEDED(m_inspectedWebView->hostWindow((OLE_HANDLE*)&hostWindow)))
- return;
-
- RECT hostWindowRect;
- GetClientRect(hostWindow, &hostWindowRect);
-
- RECT inspectedRect;
- GetClientRect(m_inspectedWebViewHwnd, &inspectedRect);
-
- int totalHeight = hostWindowRect.bottom - hostWindowRect.top;
- int webViewWidth = inspectedRect.right - inspectedRect.left;
-
- SetWindowPos(m_frontendWebViewHwnd, 0, 0, totalHeight - height, webViewWidth, height, SWP_NOZORDER);
-
- // We want to set the inspected web view height to the totalHeight, because the height adjustment
- // of the inspected web view happens in onWebViewWindowPosChanging, not here.
- SetWindowPos(m_inspectedWebViewHwnd, 0, 0, 0, webViewWidth, totalHeight, SWP_NOZORDER);
-
- RedrawWindow(m_frontendWebViewHwnd, 0, 0, RDW_INVALIDATE | RDW_ALLCHILDREN | RDW_UPDATENOW);
- RedrawWindow(m_inspectedWebViewHwnd, 0, 0, RDW_INVALIDATE | RDW_ALLCHILDREN | RDW_UPDATENOW);
-}
-
-void WebInspectorFrontendClient::setAttachedWindowWidth(unsigned)
-{
- notImplemented();
-}
-
-void WebInspectorFrontendClient::setToolbarHeight(unsigned)
-{
- notImplemented();
-}
-
-void WebInspectorFrontendClient::inspectedURLChanged(const String& newURL)
-{
- m_inspectedURL = newURL;
- updateWindowTitle();
-}
-
-void WebInspectorFrontendClient::closeWindowWithoutNotifications()
-{
- if (!m_frontendHwnd)
- return;
-
- if (!m_attached) {
- ShowWindow(m_frontendHwnd, SW_HIDE);
- return;
- }
-
- ASSERT(m_frontendWebView);
- ASSERT(m_inspectedWebViewHwnd);
- ASSERT(!IsWindowVisible(m_frontendHwnd));
-
- // Remove the Inspector's WebView from the inspected WebView's parent window.
- WindowMessageBroadcaster::removeListener(m_inspectedWebViewHwnd, this);
-
- m_attached = false;
-
- m_frontendWebView->setHostWindow(reinterpret_cast<OLE_HANDLE>(m_frontendHwnd));
-
- // Make sure everything has the right size/position.
- HWND hostWindow;
- if (SUCCEEDED(m_inspectedWebView->hostWindow((OLE_HANDLE*)&hostWindow)))
- SendMessage(hostWindow, WM_SIZE, 0, 0);
-}
-
-void WebInspectorFrontendClient::showWindowWithoutNotifications()
-{
- if (!m_frontendHwnd)
- return;
-
- ASSERT(m_frontendWebView);
- ASSERT(m_inspectedWebViewHwnd);
-
- bool shouldAttach = false;
- if (m_attached)
- shouldAttach = true;
- else {
- // If no preference is set - default to an attached window. This is important for inspector LayoutTests.
- // FIXME: This flag can be fetched directly from the flags storage.
- shouldAttach = m_inspectorClient->inspectorStartsAttached();
-
- if (shouldAttach && !canAttachWindow())
- shouldAttach = false;
- }
-
- if (!shouldAttach) {
- // Put the Inspector's WebView inside our window and show it.
- m_frontendWebView->setHostWindow(reinterpret_cast<OLE_HANDLE>(m_frontendHwnd));
- SendMessage(m_frontendHwnd, WM_SIZE, 0, 0);
- updateWindowTitle();
-
- SetWindowPos(m_frontendHwnd, HWND_TOP, 0, 0, 0, 0, SWP_SHOWWINDOW | SWP_NOMOVE | SWP_NOSIZE);
- return;
- }
-
- // Put the Inspector's WebView inside the inspected WebView's parent window.
- WindowMessageBroadcaster::addListener(m_inspectedWebViewHwnd, this);
-
- HWND hostWindow;
- if (FAILED(m_inspectedWebView->hostWindow(reinterpret_cast<OLE_HANDLE*>(&hostWindow))))
- return;
-
- m_frontendWebView->setHostWindow(reinterpret_cast<OLE_HANDLE>(hostWindow));
-
- // Then hide our own window.
- ShowWindow(m_frontendHwnd, SW_HIDE);
-
- m_attached = true;
-
- // Make sure everything has the right size/position.
- SendMessage(hostWindow, WM_SIZE, 0, 0);
- m_inspectorClient->updateHighlight();
-}
-
-void WebInspectorFrontendClient::destroyInspectorView(bool notifyInspectorController)
-{
- m_inspectorClient->releaseFrontend();
-
- if (m_destroyingInspectorView)
- return;
- m_destroyingInspectorView = true;
-
- closeWindowWithoutNotifications();
-
- if (notifyInspectorController) {
- m_inspectedWebView->page()->inspectorController()->disconnectFrontend();
- m_inspectorClient->updateHighlight();
- }
- ::DestroyWindow(m_frontendHwnd);
-}
-
-void WebInspectorFrontendClient::updateWindowTitle()
-{
- String title = makeString("Web Inspector ", static_cast<UChar>(0x2014), ' ', m_inspectedURL);
- ::SetWindowText(m_frontendHwnd, title.charactersWithNullTermination().data());
-}
-
-LRESULT WebInspectorFrontendClient::onGetMinMaxInfo(WPARAM, LPARAM lParam)
-{
- MINMAXINFO* info = reinterpret_cast<MINMAXINFO*>(lParam);
- POINT size = {400, 400};
- info->ptMinTrackSize = size;
-
- return 0;
-}
-
-LRESULT WebInspectorFrontendClient::onSize(WPARAM, LPARAM)
-{
- RECT rect;
- ::GetClientRect(m_frontendHwnd, &rect);
-
- ::SetWindowPos(m_frontendWebViewHwnd, 0, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, SWP_NOZORDER);
-
- return 0;
-}
-
-LRESULT WebInspectorFrontendClient::onClose(WPARAM, LPARAM)
-{
- ::ShowWindow(m_frontendHwnd, SW_HIDE);
- m_inspectedWebView->page()->inspectorController()->close();
-
- return 0;
-}
-
-LRESULT WebInspectorFrontendClient::onSetFocus()
-{
- SetFocus(m_frontendWebViewHwnd);
- return 0;
-}
-
-void WebInspectorFrontendClient::onWebViewWindowPosChanging(WPARAM, LPARAM lParam)
-{
- ASSERT(m_attached);
-
- WINDOWPOS* windowPos = reinterpret_cast<WINDOWPOS*>(lParam);
- ASSERT_ARG(lParam, windowPos);
-
- if (windowPos->flags & SWP_NOSIZE)
- return;
-
- RECT inspectorRect;
- GetClientRect(m_frontendWebViewHwnd, &inspectorRect);
- unsigned inspectorHeight = inspectorRect.bottom - inspectorRect.top;
-
- windowPos->cy -= inspectorHeight;
-
- SetWindowPos(m_frontendWebViewHwnd, 0, windowPos->x, windowPos->y + windowPos->cy, windowPos->cx, inspectorHeight, SWP_NOZORDER);
-}
-
-static LRESULT CALLBACK WebInspectorWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- WebInspectorFrontendClient* client = reinterpret_cast<WebInspectorFrontendClient*>(::GetProp(hwnd, kWebInspectorPointerProp));
- if (!client)
- return ::DefWindowProc(hwnd, msg, wParam, lParam);
-
- switch (msg) {
- case WM_GETMINMAXINFO:
- return client->onGetMinMaxInfo(wParam, lParam);
- case WM_SIZE:
- return client->onSize(wParam, lParam);
- case WM_CLOSE:
- return client->onClose(wParam, lParam);
- case WM_SETFOCUS:
- return client->onSetFocus();
- default:
- break;
- }
-
- return ::DefWindowProc(hwnd, msg, wParam, lParam);
-}
-
-void WebInspectorFrontendClient::windowReceivedMessage(HWND, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- switch (msg) {
- case WM_WINDOWPOSCHANGING:
- onWebViewWindowPosChanging(wParam, lParam);
- break;
- default:
- break;
- }
-}
-
-static ATOM registerWindowClass()
-{
- static bool haveRegisteredWindowClass = false;
-
- if (haveRegisteredWindowClass)
- return true;
-
- WNDCLASSEX wcex;
-
- wcex.cbSize = sizeof(WNDCLASSEX);
-
- wcex.style = 0;
- wcex.lpfnWndProc = WebInspectorWndProc;
- wcex.cbClsExtra = 0;
- wcex.cbWndExtra = 0;
- wcex.hInstance = 0;
- wcex.hIcon = 0;
- wcex.hCursor = LoadCursor(0, IDC_ARROW);
- wcex.hbrBackground = 0;
- wcex.lpszMenuName = 0;
- wcex.lpszClassName = kWebInspectorWindowClassName;
- wcex.hIconSm = 0;
-
- haveRegisteredWindowClass = true;
-
- return ::RegisterClassEx(&wcex);
-}
-
-#endif // ENABLE(INSPECTOR)
diff --git a/Source/WebKit/win/WebCoreSupport/WebInspectorClient.h b/Source/WebKit/win/WebCoreSupport/WebInspectorClient.h
deleted file mode 100644
index e5dcb7aa6..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebInspectorClient.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebInspectorClient_h
-#define WebInspectorClient_h
-
-#include <WebCore/COMPtr.h>
-#include <WebCore/InspectorClient.h>
-#include <WebCore/InspectorFrontendChannel.h>
-#include <WebCore/InspectorFrontendClientLocal.h>
-#include <WebCore/WindowMessageListener.h>
-#include <windows.h>
-#include <wtf/Forward.h>
-#include <wtf/HashMap.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/text/StringHash.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-class Page;
-
-}
-
-class WebInspectorFrontendClient;
-class WebNodeHighlight;
-class WebView;
-
-class WebInspectorClient : public WebCore::InspectorClient, public WebCore::InspectorFrontendChannel {
-public:
- explicit WebInspectorClient(WebView*);
-
- // InspectorClient
- virtual void inspectorDestroyed();
-
- virtual WebCore::InspectorFrontendChannel* openInspectorFrontend(WebCore::InspectorController*);
- virtual void closeInspectorFrontend();
- virtual void bringFrontendToFront();
-
- virtual void highlight();
- virtual void hideHighlight();
-
- virtual bool sendMessageToFrontend(const WTF::String&);
-
- bool inspectorStartsAttached();
- void setInspectorStartsAttached(bool);
-
- bool inspectorAttachDisabled();
- void setInspectorAttachDisabled(bool);
-
- void releaseFrontend();
-
- WebInspectorFrontendClient* frontendClient() { return m_frontendClient; }
-
- void updateHighlight();
-
-private:
- virtual ~WebInspectorClient();
- WTF::PassOwnPtr<WebCore::InspectorFrontendClientLocal::Settings> createFrontendSettings();
-
- WebView* m_inspectedWebView;
- WebCore::Page* m_frontendPage;
- WebInspectorFrontendClient* m_frontendClient;
- HWND m_inspectedWebViewHwnd;
- HWND m_frontendHwnd;
-
- OwnPtr<WebNodeHighlight> m_highlight;
-};
-
-class WebInspectorFrontendClient : public WebCore::InspectorFrontendClientLocal, WebCore::WindowMessageListener {
-public:
- WebInspectorFrontendClient(WebView* inspectedWebView, HWND inspectedWebViewHwnd, HWND frontendHwnd, const COMPtr<WebView>& frotnendWebView, HWND frontendWebViewHwnd, WebInspectorClient*, WTF::PassOwnPtr<Settings>);
- virtual ~WebInspectorFrontendClient();
-
- virtual void frontendLoaded();
-
- virtual WTF::String localizedStringsURL();
-
- virtual void bringToFront();
- virtual void closeWindow();
-
- virtual void attachWindow(DockSide);
- virtual void detachWindow();
-
- virtual void setAttachedWindowHeight(unsigned height);
- virtual void setAttachedWindowWidth(unsigned);
- virtual void setToolbarHeight(unsigned) OVERRIDE;
-
- virtual void inspectedURLChanged(const WTF::String& newURL);
-
- void destroyInspectorView(bool notifyInspectorController);
-
-private:
- void closeWindowWithoutNotifications();
- void showWindowWithoutNotifications();
-
- void updateWindowTitle();
-
- LRESULT onGetMinMaxInfo(WPARAM, LPARAM);
- LRESULT onSize(WPARAM, LPARAM);
- LRESULT onClose(WPARAM, LPARAM);
- LRESULT onSetFocus();
-
- virtual void windowReceivedMessage(HWND, UINT message, WPARAM, LPARAM);
-
- void onWebViewWindowPosChanging(WPARAM, LPARAM);
-
- WebView* m_inspectedWebView;
- HWND m_inspectedWebViewHwnd;
- HWND m_frontendHwnd;
- WebInspectorClient* m_inspectorClient;
- COMPtr<WebView> m_frontendWebView;
- HWND m_frontendWebViewHwnd;
-
- bool m_attached;
-
- WTF::String m_inspectedURL;
- bool m_destroyingInspectorView;
-
- static friend LRESULT CALLBACK WebInspectorWndProc(HWND, UINT, WPARAM, LPARAM);
-};
-
-#endif // !defined(WebInspectorClient_h)
diff --git a/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.cpp b/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.cpp
deleted file mode 100644
index 3ed8c9d08..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebInspectorDelegate.h"
-
-WebInspectorDelegate::WebInspectorDelegate()
- :m_refCount(0)
-{
-}
-
-WebInspectorDelegate* WebInspectorDelegate::createInstance()
-{
- WebInspectorDelegate* instance = new WebInspectorDelegate;
- instance->AddRef();
- return instance;
-}
-
-ULONG STDMETHODCALLTYPE WebInspectorDelegate::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebInspectorDelegate::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspectorDelegate::dragDestinationActionMaskForDraggingInfo(
- /* [in] */ IWebView*,
- /* [in] */ IDataObject*,
- /* [retval][out] */ WebDragDestinationAction* action)
-{
- *action = WebDragDestinationActionNone;
-
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.h b/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.h
deleted file mode 100644
index dce935ac6..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebInspectorDelegate.h
+++ /dev/null
@@ -1,330 +0,0 @@
-/*
- * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebInspectorDelegate_h
-#define WebInspectorDelegate_h
-
-#include "WebKit.h"
-
-class WebInspectorDelegate : public IWebUIDelegate {
-public:
- static WebInspectorDelegate* createInstance();
-
- // IUnknown
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void**) { return E_NOTIMPL; };
-
- // IWebUIDelegate
- virtual HRESULT STDMETHODCALLTYPE dragDestinationActionMaskForDraggingInfo(
- /* [in] */ IWebView*,
- /* [in] */ IDataObject*,
- /* [retval][out] */ WebDragDestinationAction* action);
-
- // Not implemented
- virtual HRESULT STDMETHODCALLTYPE createWebViewWithRequest(
- /* [in] */ IWebView*,
- /* [in] */ IWebURLRequest*,
- /* [retval][out] */ IWebView**) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewShow(
- /* [in] */ IWebView*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewClose(
- /* [in] */ IWebView*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewFocus(
- /* [in] */ IWebView*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewUnfocus(
- /* [in] */ IWebView*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewFirstResponder(
- /* [in] */ IWebView*,
- /* [retval][out] */ OLE_HANDLE*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE makeFirstResponder(
- /* [in] */ IWebView*,
- /* [in] */ OLE_HANDLE) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE setStatusText(
- /* [in] */ IWebView*,
- /* [in] */ BSTR) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewStatusText(
- /* [in] */ IWebView*,
- /* [retval][out] */ BSTR*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewAreToolbarsVisible(
- /* [in] */ IWebView*,
- /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE setToolbarsVisible(
- /* [in] */ IWebView*,
- /* [in] */ BOOL) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewIsStatusBarVisible(
- /* [in] */ IWebView*,
- /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE setStatusBarVisible(
- /* [in] */ IWebView*,
- /* [in] */ BOOL) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewIsResizable(
- /* [in] */ IWebView*,
- /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE setResizable(
- /* [in] */ IWebView*,
- /* [in] */ BOOL) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE setFrame(
- /* [in] */ IWebView*,
- /* [in] */ RECT*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewFrame(
- /* [in] */ IWebView*,
- /* [retval][out] */ RECT*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE setContentRect(
- /* [in] */ IWebView*,
- /* [in] */ RECT*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewContentRect(
- /* [in] */ IWebView*,
- /* [retval][out] */ RECT*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE runJavaScriptAlertPanelWithMessage(
- /* [in] */ IWebView*,
- /* [in] */ BSTR) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE runJavaScriptConfirmPanelWithMessage(
- /* [in] */ IWebView*,
- /* [in] */ BSTR,
- /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE runJavaScriptTextInputPanelWithPrompt(
- /* [in] */ IWebView*,
- /* [in] */ BSTR /*message*/,
- /* [in] */ BSTR /*defaultText*/,
- /* [retval][out] */ BSTR*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE runBeforeUnloadConfirmPanelWithMessage(
- /* [in] */ IWebView*,
- /* [in] */ BSTR /*message*/,
- /* [in] */ IWebFrame* /*initiatedByFrame*/,
- /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE runOpenPanelForFileButtonWithResultListener(
- /* [in] */ IWebView*,
- /* [in] */ IWebOpenPanelResultListener*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE mouseDidMoveOverElement(
- /* [in] */ IWebView*,
- /* [in] */ IPropertyBag*,
- /* [in] */ UINT /*modifierFlags*/) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE contextMenuItemsForElement(
- /* [in] */ IWebView*,
- /* [in] */ IPropertyBag*,
- /* [in] */ OLE_HANDLE,
- /* [retval][out] */ OLE_HANDLE*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE validateUserInterfaceItem(
- /* [in] */ IWebView*,
- /* [in] */ UINT,
- /* [in] */ BOOL,
- /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE shouldPerformAction(
- /* [in] */ IWebView*,
- /* [in] */ UINT /*itemCommandID*/,
- /* [in] */ UINT /*sender*/) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE willPerformDragDestinationAction(
- /* [in] */ IWebView*,
- /* [in] */ WebDragDestinationAction,
- /* [in] */ IDataObject*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE dragSourceActionMaskForPoint(
- /* [in] */ IWebView*,
- /* [in] */ LPPOINT,
- /* [retval][out] */ WebDragSourceAction*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE willPerformDragSourceAction(
- /* [in] */ IWebView*,
- /* [in] */ WebDragSourceAction,
- /* [in] */ LPPOINT,
- /* [in] */ IDataObject*,
- /* [retval][out] */ IDataObject**) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE contextMenuItemSelected(
- /* [in] */ IWebView*,
- /* [in] */ void* /*item*/,
- /* [in] */ IPropertyBag*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE hasCustomMenuImplementation(
- /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE trackCustomPopupMenu(
- /* [in] */ IWebView*,
- /* [in] */ OLE_HANDLE,
- /* [in] */ LPPOINT) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE measureCustomMenuItem(
- /* [in] */ IWebView*,
- /* [in] */ void* /*measureItem*/) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE drawCustomMenuItem(
- /* [in] */ IWebView*,
- /* [in] */ void* /*drawItem*/) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE addCustomMenuDrawingData(
- /* [in] */ IWebView*,
- /* [in] */ OLE_HANDLE) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE cleanUpCustomMenuDrawingData(
- /* [in] */ IWebView*,
- /* [in] */ OLE_HANDLE) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE canTakeFocus(
- /* [in] */ IWebView*,
- /* [in] */ BOOL /*forward*/,
- /* [out] */ BOOL*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE takeFocus(
- /* [in] */ IWebView*,
- /* [in] */ BOOL /*forward*/) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE registerUndoWithTarget(
- /* [in] */ IWebUndoTarget*,
- /* [in] */ BSTR /*actionName*/,
- /* [in] */ IUnknown* /*actionArg*/) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE removeAllActionsWithTarget(
- /* [in] */ IWebUndoTarget*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE setActionTitle(
- /* [in] */ BSTR) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE undo() { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE redo() { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE canUndo(
- /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE canRedo(
- /* [retval][out] */ BOOL*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE printFrame(
- /* [in] */ IWebView *webView,
- /* [in] */ IWebFrame *frame) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE ftpDirectoryTemplatePath(
- /* [in] */ IWebView *webView,
- /* [retval][out] */ BSTR *path) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewHeaderHeight(
- /* [in] */ IWebView *webView,
- /* [retval][out] */ float *result) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewFooterHeight(
- /* [in] */ IWebView *webView,
- /* [retval][out] */ float *result) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE drawHeaderInRect(
- /* [in] */ IWebView *webView,
- /* [in] */ RECT *rect,
- /* [in] */ OLE_HANDLE drawingContext) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE drawFooterInRect(
- /* [in] */ IWebView *webView,
- /* [in] */ RECT *rect,
- /* [in] */ OLE_HANDLE drawingContext,
- /* [in] */ UINT pageIndex,
- /* [in] */ UINT pageCount) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE webViewPrintingMarginRect(
- /* [in] */ IWebView *webView,
- /* [retval][out] */ RECT *rect) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE canRunModal(
- /* [in] */ IWebView *webView,
- /* [retval][out] */ BOOL *canRunBoolean) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE createModalDialog(
- /* [in] */ IWebView *sender,
- /* [in] */ IWebURLRequest *request,
- /* [retval][out] */ IWebView **newWebView) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE runModal(
- /* [in] */ IWebView *webView) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE isMenuBarVisible(
- /* [in] */ IWebView *webView,
- /* [retval][out] */ BOOL *visible) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE setMenuBarVisible(
- /* [in] */ IWebView *webView,
- /* [in] */ BOOL visible) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE runDatabaseSizeLimitPrompt(
- /* [in] */ IWebView *webView,
- /* [in] */ BSTR displayName,
- /* [in] */ IWebFrame *initiatedByFrame,
- /* [retval][out] */ BOOL *allowed) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE paintCustomScrollbar(
- /* [in] */ IWebView *webView,
- /* [in] */ HDC hDC,
- /* [in] */ RECT rect,
- /* [in] */ WebScrollBarControlSize size,
- /* [in] */ WebScrollbarControlState state,
- /* [in] */ WebScrollbarControlPart pressedPart,
- /* [in] */ BOOL vertical,
- /* [in] */ float value,
- /* [in] */ float proportion,
- /* [in] */ WebScrollbarControlPartMask parts) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE paintCustomScrollCorner(
- /* [in] */ IWebView *webView,
- /* [in] */ HDC hDC,
- /* [in] */ RECT rect) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE desktopNotificationsDelegate(
- /* [retval][out] */ IWebDesktopNotificationsDelegate **result) { return E_NOTIMPL; }
-
-private:
- WebInspectorDelegate();
-
- ULONG m_refCount;
-};
-
-#endif // WebInspectorDelegate_h
diff --git a/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.cpp b/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.cpp
deleted file mode 100644
index 01bb8b076..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.cpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (C) 2010, 2011 Apple 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 INC. 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 INC. 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 "WebPlatformStrategies.h"
-
-#include "FrameLoader.h"
-#include "WebFrameNetworkingContext.h"
-#include <WebCore/Page.h>
-#include <WebCore/PageGroup.h>
-#include <WebCore/PlatformCookieJar.h>
-#include <WebCore/PluginDatabase.h>
-#if USE(CFNETWORK)
-#include <WebKitSystemInterface/WebKitSystemInterface.h>
-#endif
-
-using namespace WebCore;
-
-void WebPlatformStrategies::initialize()
-{
- DEFINE_STATIC_LOCAL(WebPlatformStrategies, platformStrategies, ());
-}
-
-WebPlatformStrategies::WebPlatformStrategies()
-{
- setPlatformStrategies(this);
-}
-
-CookiesStrategy* WebPlatformStrategies::createCookiesStrategy()
-{
- return this;
-}
-
-DatabaseStrategy* WebPlatformStrategies::createDatabaseStrategy()
-{
- return this;
-}
-
-LoaderStrategy* WebPlatformStrategies::createLoaderStrategy()
-{
- return this;
-}
-
-PasteboardStrategy* WebPlatformStrategies::createPasteboardStrategy()
-{
- return 0;
-}
-
-PluginStrategy* WebPlatformStrategies::createPluginStrategy()
-{
- return this;
-}
-
-SharedWorkerStrategy* WebPlatformStrategies::createSharedWorkerStrategy()
-{
- return this;
-}
-
-StorageStrategy* WebPlatformStrategies::createStorageStrategy()
-{
- return this;
-}
-
-VisitedLinkStrategy* WebPlatformStrategies::createVisitedLinkStrategy()
-{
- return this;
-}
-
-String WebPlatformStrategies::cookiesForDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookiesForDOM(session, firstParty, url);
-}
-
-void WebPlatformStrategies::setCookiesFromDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, const String& cookieString)
-{
- WebCore::setCookiesFromDOM(session, firstParty, url, cookieString);
-}
-
-bool WebPlatformStrategies::cookiesEnabled(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookiesEnabled(session, firstParty, url);
-}
-
-String WebPlatformStrategies::cookieRequestHeaderFieldValue(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookieRequestHeaderFieldValue(session, firstParty, url);
-}
-
-bool WebPlatformStrategies::getRawCookies(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, Vector<Cookie>& rawCookies)
-{
- return WebCore::getRawCookies(session, firstParty, url, rawCookies);
-}
-
-void WebPlatformStrategies::deleteCookie(const NetworkStorageSession& session, const KURL& url, const String& cookieName)
-{
- WebCore::deleteCookie(session, url, cookieName);
-}
-
-void WebPlatformStrategies::refreshPlugins()
-{
- PluginDatabase::installedPlugins()->refresh();
-}
-
-void WebPlatformStrategies::getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>& outPlugins)
-{
- const Vector<PluginPackage*>& plugins = PluginDatabase::installedPlugins()->plugins();
-
- outPlugins.resize(plugins.size());
-
- for (size_t i = 0; i < plugins.size(); ++i) {
- PluginPackage* package = plugins[i];
-
- PluginInfo info;
- info.name = package->name();
- info.file = package->fileName();
- info.desc = package->description();
-
- const MIMEToDescriptionsMap& mimeToDescriptions = package->mimeToDescriptions();
-
- info.mimes.reserveCapacity(mimeToDescriptions.size());
-
- MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end();
- for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) {
- MimeClassInfo mime;
-
- mime.type = it->key;
- mime.desc = it->value;
- mime.extensions = package->mimeToExtensions().get(mime.type);
-
- info.mimes.append(mime);
- }
-
- outPlugins[i] = info;
- }
-}
-
-bool WebPlatformStrategies::isLinkVisited(Page* page, LinkHash hash, const KURL&, const AtomicString&)
-{
- return page->group().isLinkVisited(hash);
-}
-
-void WebPlatformStrategies::addVisitedLink(Page* page, LinkHash hash)
-{
- page->group().addVisitedLinkHash(hash);
-}
diff --git a/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.h b/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.h
deleted file mode 100644
index ab14afb9a..000000000
--- a/Source/WebKit/win/WebCoreSupport/WebPlatformStrategies.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2010, 2011 Apple 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 INC. 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 INC. 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 WebPlatformStrategies_h
-#define WebPlatformStrategies_h
-
-#include <WebCore/CookiesStrategy.h>
-#include <WebCore/DatabaseStrategy.h>
-#include <WebCore/LoaderStrategy.h>
-#include <WebCore/PlatformStrategies.h>
-#include <WebCore/PluginStrategy.h>
-#include <WebCore/SharedWorkerStrategy.h>
-#include <WebCore/StorageStrategy.h>
-#include <WebCore/VisitedLinkStrategy.h>
-
-class WebPlatformStrategies : public WebCore::PlatformStrategies, private WebCore::CookiesStrategy, private WebCore::DatabaseStrategy, private WebCore::LoaderStrategy, private WebCore::PluginStrategy, private WebCore::SharedWorkerStrategy, private WebCore::StorageStrategy, private WebCore::VisitedLinkStrategy {
-public:
- static void initialize();
-
-private:
- WebPlatformStrategies();
-
- // WebCore::PlatformStrategies
- virtual WebCore::CookiesStrategy* createCookiesStrategy();
- virtual WebCore::DatabaseStrategy* createDatabaseStrategy();
- virtual WebCore::LoaderStrategy* createLoaderStrategy();
- virtual WebCore::PasteboardStrategy* createPasteboardStrategy();
- virtual WebCore::PluginStrategy* createPluginStrategy();
- virtual WebCore::SharedWorkerStrategy* createSharedWorkerStrategy();
- virtual WebCore::StorageStrategy* createStorageStrategy();
- virtual WebCore::VisitedLinkStrategy* createVisitedLinkStrategy();
-
- // WebCore::CookiesStrategy
- virtual String cookiesForDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual void setCookiesFromDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, const String&);
- virtual bool cookiesEnabled(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual String cookieRequestHeaderFieldValue(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual bool getRawCookies(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, Vector<WebCore::Cookie>&);
- virtual void deleteCookie(const WebCore::NetworkStorageSession&, const WebCore::KURL&, const String&);
-
- // WebCore::DatabaseStrategy
- // - Using default implementation.
-
- // WebCore::PluginStrategy
- virtual void refreshPlugins();
- virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&);
-
- // WebCore::VisitedLinkStrategy
- virtual bool isLinkVisited(WebCore::Page*, WebCore::LinkHash, const WebCore::KURL& baseURL, const WTF::AtomicString& attributeURL);
- virtual void addVisitedLink(WebCore::Page*, WebCore::LinkHash);
-};
-
-#endif // WebPlatformStrategies_h
diff --git a/Source/WebKit/win/WebDataSource.cpp b/Source/WebKit/win/WebDataSource.cpp
deleted file mode 100644
index 89f83ab64..000000000
--- a/Source/WebKit/win/WebDataSource.cpp
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebDataSource.h"
-
-#include "WebKit.h"
-#include "MemoryStream.h"
-#include "WebDocumentLoader.h"
-#include "WebError.h"
-#include "WebFrame.h"
-#include "WebKit.h"
-#include "WebHTMLRepresentation.h"
-#include "WebKitStatisticsPrivate.h"
-#include "WebMutableURLRequest.h"
-#include "WebResource.h"
-#include "WebURLResponse.h"
-#include <WebCore/BString.h>
-#include <WebCore/CachedResourceLoader.h>
-#include <WebCore/Document.h>
-#include <WebCore/Frame.h>
-#include <WebCore/FrameLoader.h>
-#include <WebCore/KURL.h>
-#include <WebCore/ResourceBuffer.h>
-
-using namespace WebCore;
-
-// WebDataSource ----------------------------------------------------------------
-
-// {F230854D-7091-428a-8DB5-37CABA44C105}
-const GUID IID_WebDataSource =
-{ 0x5c2f9099, 0xe65e, 0x4a0f, { 0x9c, 0xa0, 0x6a, 0xd6, 0x92, 0x52, 0xa6, 0x2a } };
-
-WebDataSource::WebDataSource(WebDocumentLoader* loader)
- : m_refCount(0)
- , m_loader(loader)
-{
- WebDataSourceCount++;
- gClassCount++;
- gClassNameCount.add("WebDataSource");
-}
-
-WebDataSource::~WebDataSource()
-{
- if (m_loader)
- m_loader->detachDataSource();
- WebDataSourceCount--;
- gClassCount--;
- gClassNameCount.remove("WebDataSource");
-}
-
-WebDataSource* WebDataSource::createInstance(WebDocumentLoader* loader)
-{
- WebDataSource* instance = new WebDataSource(loader);
- instance->AddRef();
- return instance;
-}
-
-WebDocumentLoader* WebDataSource::documentLoader() const
-{
- return m_loader.get();
-}
-
-// IWebDataSourcePrivate ------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebDataSource::overrideEncoding(
- /* [retval][out] */ BSTR* /*encoding*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::setOverrideEncoding(
- /* [in] */ BSTR /*encoding*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::mainDocumentError(
- /* [retval][out] */ IWebError** error)
-{
- if (!error) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *error = 0;
-
- if (!m_loader)
- return E_FAIL;
-
- if (m_loader->mainDocumentError().isNull())
- return S_OK;
-
- *error = WebError::createInstance(m_loader->mainDocumentError());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::setDeferMainResourceDataLoad(
- /* [in] */ BOOL flag)
-{
- if (!m_loader)
- return E_FAIL;
-
- m_loader->setDeferMainResourceDataLoad(flag);
- return S_OK;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebDataSource::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_WebDataSource))
- *ppvObject = this;
- else if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebDataSource*>(this);
- else if (IsEqualGUID(riid, IID_IWebDataSource))
- *ppvObject = static_cast<IWebDataSource*>(this);
- else if (IsEqualGUID(riid, IID_IWebDataSourcePrivate))
- *ppvObject = static_cast<IWebDataSourcePrivate*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebDataSource::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebDataSource::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebDataSource --------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebDataSource::initWithRequest(
- /* [in] */ IWebURLRequest* /*request*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::data(
- /* [retval][out] */ IStream** stream)
-{
- *stream = 0;
- if (!m_loader)
- return E_FAIL;
-
- RefPtr<ResourceBuffer> buffer = m_loader->mainResourceData();
- return MemoryStream::createInstance(buffer ? buffer->sharedBuffer() : 0).copyRefTo(stream);
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::representation(
- /* [retval][out] */ IWebDocumentRepresentation** rep)
-{
- HRESULT hr = S_OK;
- if (!m_representation) {
- WebHTMLRepresentation* htmlRep = WebHTMLRepresentation::createInstance(static_cast<WebFrame*>(m_loader->frameLoader()->client()));
- hr = htmlRep->QueryInterface(IID_IWebDocumentRepresentation, (void**) &m_representation);
- htmlRep->Release();
- }
-
- return m_representation.copyRefTo(rep);
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::webFrame(
- /* [retval][out] */ IWebFrame** frame)
-{
- *frame = static_cast<WebFrame*>(m_loader->frameLoader()->client());
- (*frame)->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::initialRequest(
- /* [retval][out] */ IWebURLRequest** request)
-{
- *request = WebMutableURLRequest::createInstance(m_loader->originalRequest());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::request(
- /* [retval][out] */ IWebMutableURLRequest** request)
-{
- *request = WebMutableURLRequest::createInstance(m_loader->request());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::response(
- /* [retval][out] */ IWebURLResponse** response)
-{
- *response = WebURLResponse::createInstance(m_loader->response());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::textEncodingName(
- /* [retval][out] */ BSTR* name)
-{
- String encoding = m_loader->overrideEncoding();
- if (encoding.isNull())
- encoding = m_loader->response().textEncodingName();
-
- *name = BString(encoding).release();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::isLoading(
- /* [retval][out] */ BOOL* loading)
-{
- *loading = m_loader->isLoadingInAPISense();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::pageTitle(
- /* [retval][out] */ BSTR* title)
-{
- *title = BString(m_loader->title().string()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::unreachableURL(
- /* [retval][out] */ BSTR* url)
-{
- KURL unreachableURL = m_loader->unreachableURL();
- BString urlString((LPOLESTR)unreachableURL.string().characters(), unreachableURL.string().length());
-
- *url = urlString.release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::webArchive(
- /* [retval][out] */ IWebArchive** /*archive*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::mainResource(
- /* [retval][out] */ IWebResource** /*resource*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::subresources(
- /* [retval][out] */ IEnumVARIANT** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::subresourceForURL(
- /* [in] */ BSTR url,
- /* [retval][out] */ IWebResource** resource)
-{
- if (!resource) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *resource = 0;
-
- Document *doc = m_loader->frameLoader()->frame()->document();
-
- if (!doc)
- return E_FAIL;
-
- CachedResource *cachedResource = doc->cachedResourceLoader()->cachedResource(String(url));
-
- if (!cachedResource)
- return E_FAIL;
-
- ResourceBuffer* buffer = cachedResource->resourceBuffer();
- *resource = WebResource::createInstance(buffer ? buffer->sharedBuffer() : 0, cachedResource->response());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDataSource::addSubresource(
- /* [in] */ IWebResource* /*subresource*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
diff --git a/Source/WebKit/win/WebDataSource.h b/Source/WebKit/win/WebDataSource.h
deleted file mode 100644
index 992e9dd91..000000000
--- a/Source/WebKit/win/WebDataSource.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebDataSource_H
-#define WebDataSource_H
-
-#include "WebKit.h"
-#include <WebCore/COMPtr.h>
-#include <wtf/RefPtr.h>
-
-class WebDocumentLoader;
-class WebMutableURLRequest;
-
-extern const GUID IID_WebDataSource;
-
-class WebDataSource : public IWebDataSource, public IWebDataSourcePrivate
-{
-public:
- static WebDataSource* createInstance(WebDocumentLoader*);
-protected:
- WebDataSource(WebDocumentLoader*);
- ~WebDataSource();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebDataSource
- virtual HRESULT STDMETHODCALLTYPE initWithRequest(
- /* [in] */ IWebURLRequest *request);
-
- virtual HRESULT STDMETHODCALLTYPE data(
- /* [retval][out] */ IStream **stream);
-
- virtual HRESULT STDMETHODCALLTYPE representation(
- /* [retval][out] */ IWebDocumentRepresentation **rep);
-
- virtual HRESULT STDMETHODCALLTYPE webFrame(
- /* [retval][out] */ IWebFrame **frame);
-
- virtual HRESULT STDMETHODCALLTYPE initialRequest(
- /* [retval][out] */ IWebURLRequest **request);
-
- virtual HRESULT STDMETHODCALLTYPE request(
- /* [retval][out] */ IWebMutableURLRequest **request);
-
- virtual HRESULT STDMETHODCALLTYPE response(
- /* [retval][out] */ IWebURLResponse **response);
-
- virtual HRESULT STDMETHODCALLTYPE textEncodingName(
- /* [retval][out] */ BSTR *name);
-
- virtual HRESULT STDMETHODCALLTYPE isLoading(
- /* [retval][out] */ BOOL *loading);
-
- virtual HRESULT STDMETHODCALLTYPE pageTitle(
- /* [retval][out] */ BSTR *title);
-
- virtual HRESULT STDMETHODCALLTYPE unreachableURL(
- /* [retval][out] */ BSTR *url);
-
- virtual HRESULT STDMETHODCALLTYPE webArchive(
- /* [retval][out] */ IWebArchive **archive);
-
- virtual HRESULT STDMETHODCALLTYPE mainResource(
- /* [retval][out] */ IWebResource **resource);
-
- virtual HRESULT STDMETHODCALLTYPE subresources(
- /* [retval][out] */ IEnumVARIANT **enumResources);
-
- virtual HRESULT STDMETHODCALLTYPE subresourceForURL(
- /* [in] */ BSTR url,
- /* [retval][out] */ IWebResource **resource);
-
- virtual HRESULT STDMETHODCALLTYPE addSubresource(
- /* [in] */ IWebResource *subresource);
-
- // IWebDataSourcePrivate
-
- virtual HRESULT STDMETHODCALLTYPE overrideEncoding(
- /* [retval][out] */ BSTR *encoding);
-
- virtual HRESULT STDMETHODCALLTYPE setOverrideEncoding(
- /* [in] */ BSTR encoding);
-
- virtual HRESULT STDMETHODCALLTYPE mainDocumentError(
- /* [retval][out] */ IWebError** error);
-
- virtual HRESULT STDMETHODCALLTYPE setDeferMainResourceDataLoad(
- /* [in] */ BOOL flag);
-
- // WebDataSource
- WebDocumentLoader* documentLoader() const;
-protected:
- ULONG m_refCount;
- RefPtr<WebDocumentLoader> m_loader;
- COMPtr<IWebDocumentRepresentation> m_representation;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebDatabaseManager.cpp b/Source/WebKit/win/WebDatabaseManager.cpp
deleted file mode 100644
index c22ab0f65..000000000
--- a/Source/WebKit/win/WebDatabaseManager.cpp
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebDatabaseManager.h"
-#include "WebKitDLL.h"
-
-#if ENABLE(SQL_DATABASE)
-
-#include "COMEnumVariant.h"
-#include "COMPropertyBag.h"
-#include "MarshallingHelpers.h"
-#include "WebNotificationCenter.h"
-#include "WebSecurityOrigin.h"
-
-#include <WebCore/BString.h>
-#include <WebCore/COMPtr.h>
-#include <WebCore/DatabaseManager.h>
-#include <WebCore/FileSystem.h>
-#include <WebCore/SecurityOrigin.h>
-#include <wtf/MainThread.h>
-
-using namespace WebCore;
-
-static CFStringRef WebDatabaseDirectoryDefaultsKey = CFSTR("WebDatabaseDirectory");
-
-static inline bool isEqual(LPCWSTR s1, LPCWSTR s2)
-{
- return !wcscmp(s1, s2);
-}
-
-class DatabaseDetailsPropertyBag : public IPropertyBag {
- WTF_MAKE_NONCOPYABLE(DatabaseDetailsPropertyBag);
-public:
- static DatabaseDetailsPropertyBag* createInstance(const DatabaseDetails&);
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
- // IPropertyBag
- virtual HRESULT STDMETHODCALLTYPE Read(LPCOLESTR pszPropName, VARIANT* pVar, IErrorLog* pErrorLog);
- virtual HRESULT STDMETHODCALLTYPE Write(LPCOLESTR pszPropName, VARIANT* pVar);
-private:
- DatabaseDetailsPropertyBag(const DatabaseDetails& details)
- : m_refCount(0)
- , m_details(details) { }
- ~DatabaseDetailsPropertyBag() { }
-
- ULONG m_refCount;
- DatabaseDetails m_details;
-};
-
-// DatabaseDetailsPropertyBag ------------------------------------------------------
-DatabaseDetailsPropertyBag* DatabaseDetailsPropertyBag::createInstance(const DatabaseDetails& details)
-{
- DatabaseDetailsPropertyBag* instance = new DatabaseDetailsPropertyBag(details);
- instance->AddRef();
- return instance;
-}
-
-// IUnknown ------------------------------------------------------------------------
-ULONG STDMETHODCALLTYPE DatabaseDetailsPropertyBag::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE DatabaseDetailsPropertyBag::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete this;
-
- return newRef;
-}
-
-HRESULT STDMETHODCALLTYPE DatabaseDetailsPropertyBag::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<DatabaseDetailsPropertyBag*>(this);
- else if (IsEqualGUID(riid, IID_IPropertyBag))
- *ppvObject = static_cast<DatabaseDetailsPropertyBag*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-// IPropertyBag --------------------------------------------------------------------
-HRESULT STDMETHODCALLTYPE DatabaseDetailsPropertyBag::Read(LPCOLESTR pszPropName, VARIANT* pVar, IErrorLog*)
-{
- if (!pszPropName || !pVar)
- return E_POINTER;
-
- VariantInit(pVar);
-
- if (isEqual(pszPropName, WebDatabaseDisplayNameKey)) {
- COMVariantSetter<String>::setVariant(pVar, m_details.displayName());
- return S_OK;
- } else if (isEqual(pszPropName, WebDatabaseExpectedSizeKey)) {
- COMVariantSetter<unsigned long long>::setVariant(pVar, m_details.expectedUsage());
- return S_OK;
- } else if (isEqual(pszPropName, WebDatabaseUsageKey)) {
- COMVariantSetter<unsigned long long>::setVariant(pVar, m_details.currentUsage());
- return S_OK;
- }
-
- return E_INVALIDARG;
-}
-
-HRESULT STDMETHODCALLTYPE DatabaseDetailsPropertyBag::Write(LPCOLESTR pszPropName, VARIANT* pVar)
-{
- if (!pszPropName || !pVar)
- return E_POINTER;
-
- return E_FAIL;
-}
-
-static COMPtr<WebDatabaseManager> s_sharedWebDatabaseManager;
-
-// WebDatabaseManager --------------------------------------------------------------
-WebDatabaseManager* WebDatabaseManager::createInstance()
-{
- WebDatabaseManager* manager = new WebDatabaseManager();
- manager->AddRef();
- return manager;
-}
-
-WebDatabaseManager::WebDatabaseManager()
- : m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("WebDatabaseManager");
-}
-
-WebDatabaseManager::~WebDatabaseManager()
-{
- gClassCount--;
- gClassNameCount.remove("WebDatabaseManager");
-}
-
-// IUnknown ------------------------------------------------------------------------
-HRESULT STDMETHODCALLTYPE WebDatabaseManager::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<WebDatabaseManager*>(this);
- else if (IsEqualGUID(riid, IID_IWebDatabaseManager))
- *ppvObject = static_cast<WebDatabaseManager*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebDatabaseManager::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebDatabaseManager::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete this;
-
- return newRef;
-}
-
-template<> struct COMVariantSetter<RefPtr<SecurityOrigin> > : COMIUnknownVariantSetter<WebSecurityOrigin, RefPtr<SecurityOrigin> > {};
-
-// IWebDatabaseManager -------------------------------------------------------------
-HRESULT STDMETHODCALLTYPE WebDatabaseManager::sharedWebDatabaseManager(
- /* [retval][out] */ IWebDatabaseManager** result)
-{
- if (!s_sharedWebDatabaseManager) {
- s_sharedWebDatabaseManager.adoptRef(WebDatabaseManager::createInstance());
- DatabaseManager::manager().setClient(s_sharedWebDatabaseManager.get());
- }
-
- return s_sharedWebDatabaseManager.copyRefTo(result);
-}
-
-HRESULT STDMETHODCALLTYPE WebDatabaseManager::origins(
- /* [retval][out] */ IEnumVARIANT** result)
-{
- if (!result)
- return E_POINTER;
-
- *result = 0;
-
- if (this != s_sharedWebDatabaseManager)
- return E_FAIL;
-
- Vector<RefPtr<SecurityOrigin> > origins;
- DatabaseManager::manager().origins(origins);
- COMPtr<COMEnumVariant<Vector<RefPtr<SecurityOrigin> > > > enumVariant(AdoptCOM, COMEnumVariant<Vector<RefPtr<SecurityOrigin> > >::adopt(origins));
-
- *result = enumVariant.leakRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDatabaseManager::databasesWithOrigin(
- /* [in] */ IWebSecurityOrigin* origin,
- /* [retval][out] */ IEnumVARIANT** result)
-{
- if (!origin || !result)
- return E_POINTER;
-
- *result = 0;
-
- if (this != s_sharedWebDatabaseManager)
- return E_FAIL;
-
- COMPtr<WebSecurityOrigin> webSecurityOrigin(Query, origin);
- if (!webSecurityOrigin)
- return E_FAIL;
-
- Vector<String> databaseNames;
- DatabaseManager::manager().databaseNamesForOrigin(webSecurityOrigin->securityOrigin(), databaseNames);
-
- COMPtr<COMEnumVariant<Vector<String> > > enumVariant(AdoptCOM, COMEnumVariant<Vector<String> >::adopt(databaseNames));
-
- *result = enumVariant.leakRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDatabaseManager::detailsForDatabase(
- /* [in] */ BSTR databaseName,
- /* [in] */ IWebSecurityOrigin* origin,
- /* [retval][out] */ IPropertyBag** result)
-{
- if (!origin || !result)
- return E_POINTER;
-
- *result = 0;
-
- if (this != s_sharedWebDatabaseManager)
- return E_FAIL;
-
- COMPtr<WebSecurityOrigin> webSecurityOrigin(Query, origin);
- if (!webSecurityOrigin)
- return E_FAIL;
-
- DatabaseDetails details = DatabaseManager::manager().detailsForNameAndOrigin(String(databaseName, SysStringLen(databaseName)),
- webSecurityOrigin->securityOrigin());
-
- if (details.name().isNull())
- return E_INVALIDARG;
-
- *result = DatabaseDetailsPropertyBag::createInstance(details);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDatabaseManager::deleteAllDatabases()
-{
- if (this != s_sharedWebDatabaseManager)
- return E_FAIL;
-
- DatabaseManager::manager().deleteAllDatabases();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDatabaseManager::deleteOrigin(
- /* [in] */ IWebSecurityOrigin* origin)
-{
- if (!origin)
- return E_POINTER;
-
- if (this != s_sharedWebDatabaseManager)
- return E_FAIL;
-
- COMPtr<WebSecurityOrigin> webSecurityOrigin(Query, origin);
- if (!webSecurityOrigin)
- return E_FAIL;
-
- DatabaseManager::manager().deleteOrigin(webSecurityOrigin->securityOrigin());
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDatabaseManager::deleteDatabase(
- /* [in] */ BSTR databaseName,
- /* [in] */ IWebSecurityOrigin* origin)
-{
- if (!origin)
- return E_POINTER;
-
- if (!databaseName)
- return E_INVALIDARG;
-
- if (this != s_sharedWebDatabaseManager)
- return E_FAIL;
-
- COMPtr<WebSecurityOrigin> webSecurityOrigin(Query, origin);
- if (!webSecurityOrigin)
- return E_FAIL;
-
- DatabaseManager::manager().deleteDatabase(webSecurityOrigin->securityOrigin(), String(databaseName, SysStringLen(databaseName)));
-
- return S_OK;
-}
-
-class DidModifyOriginData {
- WTF_MAKE_NONCOPYABLE(DidModifyOriginData);
-public:
- static void dispatchToMainThread(WebDatabaseManager* databaseManager, SecurityOrigin* origin)
- {
- DidModifyOriginData* context = new DidModifyOriginData(databaseManager, origin->isolatedCopy());
- callOnMainThread(&DidModifyOriginData::dispatchDidModifyOriginOnMainThread, context);
- }
-
-private:
- DidModifyOriginData(WebDatabaseManager* databaseManager, PassRefPtr<SecurityOrigin> origin)
- : databaseManager(databaseManager)
- , origin(origin)
- {
- }
-
- static void dispatchDidModifyOriginOnMainThread(void* context)
- {
- ASSERT(isMainThread());
- DidModifyOriginData* info = static_cast<DidModifyOriginData*>(context);
- info->databaseManager->dispatchDidModifyOrigin(info->origin.get());
- delete info;
- }
-
- WebDatabaseManager* databaseManager;
- RefPtr<SecurityOrigin> origin;
-};
-
-void WebDatabaseManager::dispatchDidModifyOrigin(SecurityOrigin* origin)
-{
- if (!isMainThread()) {
- DidModifyOriginData::dispatchToMainThread(this, origin);
- return;
- }
-
- static BSTR databaseDidModifyOriginName = SysAllocString(WebDatabaseDidModifyOriginNotification);
- IWebNotificationCenter* notifyCenter = WebNotificationCenter::defaultCenterInternal();
-
- COMPtr<WebSecurityOrigin> securityOrigin(AdoptCOM, WebSecurityOrigin::createInstance(origin));
- notifyCenter->postNotificationName(databaseDidModifyOriginName, securityOrigin.get(), 0);
-}
-
-HRESULT STDMETHODCALLTYPE WebDatabaseManager::setQuota(
- /* [in] */ BSTR origin,
- /* [in] */ unsigned long long quota)
-{
- if (!origin)
- return E_POINTER;
-
- if (this != s_sharedWebDatabaseManager)
- return E_FAIL;
-
- DatabaseManager::manager().setQuota(SecurityOrigin::createFromString(origin).get(), quota);
-
- return S_OK;
-}
-
-void WebDatabaseManager::dispatchDidModifyDatabase(SecurityOrigin* origin, const String& databaseName)
-{
- if (!isMainThread()) {
- DidModifyOriginData::dispatchToMainThread(this, origin);
- return;
- }
-
- static BSTR databaseDidModifyOriginName = SysAllocString(WebDatabaseDidModifyDatabaseNotification);
- IWebNotificationCenter* notifyCenter = WebNotificationCenter::defaultCenterInternal();
-
- COMPtr<WebSecurityOrigin> securityOrigin(AdoptCOM, WebSecurityOrigin::createInstance(origin));
-
- HashMap<String, String> userInfo;
- userInfo.set(WebDatabaseNameKey, databaseName);
- COMPtr<IPropertyBag> userInfoBag(AdoptCOM, COMPropertyBag<String>::adopt(userInfo));
-
- notifyCenter->postNotificationName(databaseDidModifyOriginName, securityOrigin.get(), userInfoBag.get());
-}
-
-static WTF::String databasesDirectory()
-{
-#if USE(CF)
- RetainPtr<CFPropertyListRef> directoryPref = adoptCF(CFPreferencesCopyAppValue(WebDatabaseDirectoryDefaultsKey, kCFPreferencesCurrentApplication));
- if (directoryPref && (CFStringGetTypeID() == CFGetTypeID(directoryPref.get())))
- return static_cast<CFStringRef>(directoryPref.get());
-#endif
-
- return WebCore::pathByAppendingComponent(WebCore::localUserSpecificStorageDirectory(), "Databases");
-}
-
-void WebKitInitializeWebDatabasesIfNecessary()
-{
- static bool initialized = false;
- if (initialized)
- return;
-
- WebCore::DatabaseManager::manager().initialize(databasesDirectory());
-
- initialized = true;
-}
-
-#endif
diff --git a/Source/WebKit/win/WebDatabaseManager.h b/Source/WebKit/win/WebDatabaseManager.h
deleted file mode 100644
index 6cb69b826..000000000
--- a/Source/WebKit/win/WebDatabaseManager.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebDatabaseManager_h
-#define WebDatabaseManager_h
-
-#if ENABLE(SQL_DATABASE)
-
-#include "WebKit.h"
-#include <WebCore/DatabaseManagerClient.h>
-
-class WebDatabaseManager : public IWebDatabaseManager, private WebCore::DatabaseManagerClient {
-public:
- static WebDatabaseManager* createInstance();
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(
- /* [in] */ REFIID riid,
- /* [iid_is][out] */ void** ppvObject);
-
- virtual ULONG STDMETHODCALLTYPE AddRef();
-
- virtual ULONG STDMETHODCALLTYPE Release();
-
- // IWebDatabaseManager
- virtual HRESULT STDMETHODCALLTYPE sharedWebDatabaseManager(
- /* [retval][out] */ IWebDatabaseManager** result);
-
- virtual HRESULT STDMETHODCALLTYPE origins(
- /* [retval][out] */ IEnumVARIANT** result);
-
- virtual HRESULT STDMETHODCALLTYPE databasesWithOrigin(
- /* [in] */ IWebSecurityOrigin* origin,
- /* [retval][out] */ IEnumVARIANT** result);
-
- virtual HRESULT STDMETHODCALLTYPE detailsForDatabase(
- /* [in] */ BSTR databaseName,
- /* [in] */ IWebSecurityOrigin* origin,
- /* [retval][out] */ IPropertyBag** result);
-
- virtual HRESULT STDMETHODCALLTYPE deleteAllDatabases();
-
- virtual HRESULT STDMETHODCALLTYPE deleteOrigin(
- /* [in] */ IWebSecurityOrigin* origin);
-
- virtual HRESULT STDMETHODCALLTYPE deleteDatabase(
- /* [in] */ BSTR databaseName,
- /* [in] */ IWebSecurityOrigin* origin);
-
- virtual HRESULT STDMETHODCALLTYPE setQuota(
- /* [in] */ BSTR origin,
- /* [in] */ unsigned long long quota);
-
- // DatabaseManagerClient
- virtual void dispatchDidModifyOrigin(WebCore::SecurityOrigin*);
- virtual void dispatchDidModifyDatabase(WebCore::SecurityOrigin*, const WTF::String& databaseName);
-
-private:
- WebDatabaseManager();
- ~WebDatabaseManager();
-
- ULONG m_refCount;
-};
-
-void WebKitInitializeWebDatabasesIfNecessary();
-
-#endif
-
-#endif
diff --git a/Source/WebKit/win/WebDocumentLoader.cpp b/Source/WebKit/win/WebDocumentLoader.cpp
deleted file mode 100644
index 9b9e11d07..000000000
--- a/Source/WebKit/win/WebDocumentLoader.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebDocumentLoader.h"
-
-#include "WebKitDLL.h"
-
-using namespace WebCore;
-
-WebDocumentLoader::WebDocumentLoader(const ResourceRequest& request, const SubstituteData& substituteData)
- : DocumentLoader(request, substituteData)
- , m_dataSource(0)
- , m_detachedDataSource(0)
-{
- gClassCount++;
- gClassNameCount.add("WebDocumentLoader");
-}
-
-PassRefPtr<WebDocumentLoader> WebDocumentLoader::create(const ResourceRequest& req, const SubstituteData& data)
-{
- return adoptRef(new WebDocumentLoader(req, data));
-}
-
-WebDocumentLoader::~WebDocumentLoader()
-{
- gClassCount--;
- gClassNameCount.remove("WebDocumentLoader");
- if (m_dataSource) {
- ASSERT(!m_detachedDataSource);
- m_dataSource->Release();
- }
-}
-
-void WebDocumentLoader::setDataSource(WebDataSource *dataSource)
-{
- ASSERT(!m_dataSource);
- m_dataSource = dataSource;
- if (m_dataSource)
- m_dataSource->AddRef();
-}
-
-WebDataSource* WebDocumentLoader::dataSource() const
-{
- return m_dataSource;
-}
-
-void WebDocumentLoader::detachDataSource()
-{
- // we only call detachDataSource when the WebDataSource is freed - and we won't get there if m_dataSource is not
- // null (because that would mean the loader still has a reference to the data source)
- ASSERT(!m_dataSource);
- m_detachedDataSource = 0;
-}
-
-void WebDocumentLoader::attachToFrame()
-{
- DocumentLoader::attachToFrame();
- if (m_detachedDataSource) {
- ASSERT(!m_dataSource);
- setDataSource(m_detachedDataSource);
- m_detachedDataSource = 0;
- }
-}
-
-void WebDocumentLoader::detachFromFrame()
-{
- DocumentLoader::detachFromFrame();
- m_detachedDataSource = m_dataSource;
- if (m_dataSource) {
- WebDataSource* dataSourceToBeReleased = m_dataSource;
- // It's important to null out m_dataSource before calling release on the data source. That release can cause the data
- // source to be deleted - which ends up calling loader->detachDataSource() which makes the assumption that the loader no
- // longer holds a reference to the data source.
- m_dataSource = 0;
- dataSourceToBeReleased->Release();
- }
-}
diff --git a/Source/WebKit/win/WebDocumentLoader.h b/Source/WebKit/win/WebDocumentLoader.h
deleted file mode 100644
index 93b2a867b..000000000
--- a/Source/WebKit/win/WebDocumentLoader.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebDataSource.h"
-#include <WebCore/DocumentLoader.h>
-
-using namespace WebCore;
-
-class WebDocumentLoader : public DocumentLoader
-{
-public:
- static PassRefPtr<WebDocumentLoader> create(const ResourceRequest&, const SubstituteData&);
-
- ~WebDocumentLoader();
-
- void setDataSource(WebDataSource*);
- WebDataSource* dataSource() const;
- void detachDataSource();
-
- virtual void attachToFrame();
- virtual void detachFromFrame();
-
-private:
- WebDocumentLoader(const ResourceRequest&, const SubstituteData&);
- WebDataSource* m_dataSource;
- WebDataSource* m_detachedDataSource; // not retained
-};
diff --git a/Source/WebKit/win/WebDownload.cpp b/Source/WebKit/win/WebDownload.cpp
deleted file mode 100644
index b8fabe28b..000000000
--- a/Source/WebKit/win/WebDownload.cpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebDownload.h"
-
-#include "DefaultDownloadDelegate.h"
-#include "MarshallingHelpers.h"
-#include "WebError.h"
-#include "WebKit.h"
-#include "WebKitLogging.h"
-#include "WebMutableURLRequest.h"
-#include "WebURLAuthenticationChallenge.h"
-#include "WebURLCredential.h"
-#include "WebURLResponse.h"
-#include <wtf/text/CString.h>
-
-#include <WebCore/BString.h>
-#include <WebCore/DownloadBundle.h>
-#include <WebCore/NotImplemented.h>
-#include <WebCore/ResourceError.h>
-#include <WebCore/ResourceHandle.h>
-#include <WebCore/ResourceRequest.h>
-#include <WebCore/ResourceResponse.h>
-#include <wtf/CurrentTime.h>
-#include <wtf/StdLibExtras.h>
-
-using namespace WebCore;
-
-// WebDownload ----------------------------------------------------------------
-
-WebDownload::WebDownload()
- : m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("WebDownload");
-}
-
-WebDownload::~WebDownload()
-{
- LOG(Download, "WebDownload - Destroying download (%p)", this);
- cancel();
- gClassCount--;
- gClassNameCount.remove("WebDownload");
-}
-
-WebDownload* WebDownload::createInstance()
-{
- WebDownload* instance = new WebDownload();
- instance->AddRef();
- return instance;
-}
-
-WebDownload* WebDownload::createInstance(ResourceHandle* handle, const ResourceRequest& request, const ResourceResponse& response, IWebDownloadDelegate* delegate)
-{
- WebDownload* instance = new WebDownload();
- instance->AddRef();
- instance->init(handle, request, response, delegate);
- return instance;
-}
-
-WebDownload* WebDownload::createInstance(const KURL& url, IWebDownloadDelegate* delegate)
-{
- WebDownload* instance = new WebDownload();
- instance->AddRef();
- instance->init(url, delegate);
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebDownload::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebDownload*>(this);
- else if (IsEqualGUID(riid, IID_IWebDownload))
- *ppvObject = static_cast<IWebDownload*>(this);
- else if (IsEqualGUID(riid, IID_IWebURLAuthenticationChallengeSender))
- *ppvObject = static_cast<IWebURLAuthenticationChallengeSender*>(this);
- else if (IsEqualGUID(riid, CLSID_WebDownload))
- *ppvObject = static_cast<WebDownload*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebDownload::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebDownload::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebDownload -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebDownload::canResumeDownloadDecodedWithEncodingMIMEType(
- /* [in] */ BSTR,
- /* [out, retval] */ BOOL*)
-{
- notImplemented();
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::bundlePathForTargetPath(
- /* [in] */ BSTR targetPath,
- /* [out, retval] */ BSTR* bundlePath)
-{
- if (!targetPath)
- return E_INVALIDARG;
-
- String bundle(targetPath, SysStringLen(targetPath));
- if (bundle.isEmpty())
- return E_INVALIDARG;
-
- if (bundle[bundle.length()-1] == '/')
- bundle.truncate(1);
-
- bundle.append(DownloadBundle::fileExtension());
- *bundlePath = SysAllocStringLen(bundle.characters(), bundle.length());
- if (!*bundlePath)
- return E_FAIL;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::request(
- /* [out, retval] */ IWebURLRequest** request)
-{
- if (request) {
- *request = m_request.get();
- if (*request)
- (*request)->AddRef();
- }
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebDownload.h b/Source/WebKit/win/WebDownload.h
deleted file mode 100644
index 7a66df164..000000000
--- a/Source/WebKit/win/WebDownload.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 WebDownload_h
-#define WebDownload_h
-
-#include "WebKit.h"
-#include <WebCore/COMPtr.h>
-#include <wtf/RetainPtr.h>
-#include <wtf/text/WTFString.h>
-
-#if USE(CFNETWORK)
-#include <CFNetwork/CFURLDownloadPriv.h>
-#elif USE(CURL)
-#include <WebCore/CurlDownload.h>
-#endif
-
-namespace WebCore {
- class KURL;
- class ResourceHandle;
- class ResourceRequest;
- class ResourceResponse;
-}
-
-class WebDownload
-: public IWebDownload
-, public IWebURLAuthenticationChallengeSender
-#if USE(CURL)
-, public WebCore::CurlDownloadListener
-#endif
-{
-public:
- static WebDownload* createInstance(const WebCore::KURL&, IWebDownloadDelegate*);
- static WebDownload* createInstance(WebCore::ResourceHandle*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, IWebDownloadDelegate*);
- static WebDownload* createInstance();
-private:
- WebDownload();
- void init(WebCore::ResourceHandle*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, IWebDownloadDelegate*);
- void init(const WebCore::KURL&, IWebDownloadDelegate*);
- ~WebDownload();
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebDownload
- virtual HRESULT STDMETHODCALLTYPE initWithRequest(
- /* [in] */ IWebURLRequest* request,
- /* [in] */ IWebDownloadDelegate* delegate);
-
- virtual HRESULT STDMETHODCALLTYPE initToResumeWithBundle(
- /* [in] */ BSTR bundlePath,
- /* [in] */ IWebDownloadDelegate* delegate);
-
- virtual HRESULT STDMETHODCALLTYPE canResumeDownloadDecodedWithEncodingMIMEType(
- /* [in] */ BSTR mimeType,
- /* [out, retval] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE start();
-
- virtual HRESULT STDMETHODCALLTYPE cancel();
-
- virtual HRESULT STDMETHODCALLTYPE cancelForResume();
-
- virtual HRESULT STDMETHODCALLTYPE deletesFileUponFailure(
- /* [out, retval] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE bundlePathForTargetPath(
- /* [in] */ BSTR target,
- /* [out, retval] */ BSTR* bundle);
-
- virtual HRESULT STDMETHODCALLTYPE request(
- /* [out, retval] */ IWebURLRequest** request);
-
- virtual HRESULT STDMETHODCALLTYPE setDeletesFileUponFailure(
- /* [in] */ BOOL deletesFileUponFailure);
-
- virtual HRESULT STDMETHODCALLTYPE setDestination(
- /* [in] */ BSTR path,
- /* [in] */ BOOL allowOverwrite);
-
- // IWebURLAuthenticationChallengeSender
- virtual HRESULT STDMETHODCALLTYPE cancelAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge* challenge);
-
- virtual HRESULT STDMETHODCALLTYPE continueWithoutCredentialForAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge* challenge);
-
- virtual HRESULT STDMETHODCALLTYPE useCredential(
- /* [in] */ IWebURLCredential* credential,
- /* [in] */ IWebURLAuthenticationChallenge* challenge);
-
-#if USE(CFNETWORK)
- // CFURLDownload Callbacks
- void didStart();
- CFURLRequestRef willSendRequest(CFURLRequestRef, CFURLResponseRef);
- void didReceiveAuthenticationChallenge(CFURLAuthChallengeRef);
- void didReceiveResponse(CFURLResponseRef);
- void willResumeWithResponse(CFURLResponseRef, UInt64);
- void didReceiveData(CFIndex);
- bool shouldDecodeDataOfMIMEType(CFStringRef);
- void decideDestinationWithSuggestedObjectName(CFStringRef);
- void didCreateDestination(CFURLRef);
- void didFinish();
- void didFail(CFErrorRef);
-#elif USE(CURL)
- virtual void didReceiveResponse();
- virtual void didReceiveDataOfLength(int size);
- virtual void didFinish();
- virtual void didFail();
-#endif
-
-protected:
- ULONG m_refCount;
-
- WTF::String m_destination;
- WTF::String m_bundlePath;
-#if USE(CFNETWORK)
- RetainPtr<CFURLDownloadRef> m_download;
-#elif USE(CURL)
- WebCore::CurlDownload m_download;
-#endif
- COMPtr<IWebMutableURLRequest> m_request;
- COMPtr<IWebDownloadDelegate> m_delegate;
-
-#ifndef NDEBUG
- double m_startTime;
- double m_dataTime;
- int m_received;
-#endif
-};
-
-
-#endif
diff --git a/Source/WebKit/win/WebDownloadCFNet.cpp b/Source/WebKit/win/WebDownloadCFNet.cpp
deleted file mode 100644
index adee39a5d..000000000
--- a/Source/WebKit/win/WebDownloadCFNet.cpp
+++ /dev/null
@@ -1,547 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebDownload.h"
-
-#include "DefaultDownloadDelegate.h"
-#include "MarshallingHelpers.h"
-#include "WebError.h"
-#include "WebKit.h"
-#include "WebKitLogging.h"
-#include "WebMutableURLRequest.h"
-#include "WebURLAuthenticationChallenge.h"
-#include "WebURLCredential.h"
-#include "WebURLResponse.h"
-
-#include <wtf/platform.h>
-#include <wtf/text/CString.h>
-
-#include <io.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#include <WebCore/AuthenticationCF.h>
-#include <WebCore/BString.h>
-#include <WebCore/CredentialStorage.h>
-#include <WebCore/DownloadBundle.h>
-#include <WebCore/LoaderRunLoopCF.h>
-#include <WebCore/ResourceError.h>
-#include <WebCore/ResourceHandle.h>
-#include <WebCore/ResourceRequest.h>
-#include <WebCore/ResourceResponse.h>
-#include <wtf/CurrentTime.h>
-
-using namespace WebCore;
-
-// CFURLDownload Callbacks ----------------------------------------------------------------
-static void didStartCallback(CFURLDownloadRef download, const void *clientInfo);
-static CFURLRequestRef willSendRequestCallback(CFURLDownloadRef download, CFURLRequestRef request, CFURLResponseRef redirectionResponse, const void *clientInfo);
-static void didReceiveAuthenticationChallengeCallback(CFURLDownloadRef download, CFURLAuthChallengeRef challenge, const void *clientInfo);
-static void didReceiveResponseCallback(CFURLDownloadRef download, CFURLResponseRef response, const void *clientInfo);
-static void willResumeWithResponseCallback(CFURLDownloadRef download, CFURLResponseRef response, UInt64 startingByte, const void *clientInfo);
-static void didReceiveDataCallback(CFURLDownloadRef download, CFIndex length, const void *clientInfo);
-static Boolean shouldDecodeDataOfMIMETypeCallback(CFURLDownloadRef download, CFStringRef encodingType, const void *clientInfo);
-static void decideDestinationWithSuggestedObjectNameCallback(CFURLDownloadRef download, CFStringRef objectName, const void *clientInfo);
-static void didCreateDestinationCallback(CFURLDownloadRef download, CFURLRef path, const void *clientInfo);
-static void didFinishCallback(CFURLDownloadRef download, const void *clientInfo);
-static void didFailCallback(CFURLDownloadRef download, CFErrorRef error, const void *clientInfo);
-
-void WebDownload::init(ResourceHandle* handle, const ResourceRequest& request, const ResourceResponse& response, IWebDownloadDelegate* delegate)
-{
- m_delegate = delegate ? delegate : DefaultDownloadDelegate::sharedInstance();
- CFURLConnectionRef connection = handle->connection();
- if (!connection) {
- LOG_ERROR("WebDownload::WebDownload(ResourceHandle*,...) called with an inactive ResourceHandle");
- return;
- }
-
- CFURLDownloadClient client = {0, this, 0, 0, 0, didStartCallback, willSendRequestCallback, didReceiveAuthenticationChallengeCallback,
- didReceiveResponseCallback, willResumeWithResponseCallback, didReceiveDataCallback, shouldDecodeDataOfMIMETypeCallback,
- decideDestinationWithSuggestedObjectNameCallback, didCreateDestinationCallback, didFinishCallback, didFailCallback};
-
- m_request.adoptRef(WebMutableURLRequest::createInstance(request));
- m_download = adoptCF(CFURLDownloadCreateAndStartWithLoadingConnection(0, connection, request.cfURLRequest(UpdateHTTPBody), response.cfURLResponse(), &client));
-
- // It is possible for CFURLDownloadCreateAndStartWithLoadingConnection() to fail if the passed in CFURLConnection is not in a "downloadable state"
- // However, we should never hit that case
- if (!m_download) {
- ASSERT_NOT_REACHED();
- LOG_ERROR("WebDownload - Failed to create WebDownload from existing connection (%s)", request.url().string().utf8().data());
- } else
- LOG(Download, "WebDownload - Created WebDownload %p from existing connection (%s)", this, request.url().string().utf8().data());
-
- // The CFURLDownload either starts successfully and retains the CFURLConnection,
- // or it fails to creating and we have a now-useless connection with a dangling ref.
- // Either way, we need to release the connection to balance out ref counts
- handle->releaseConnectionForDownload();
- CFRelease(connection);
-}
-
-void WebDownload::init(const KURL& url, IWebDownloadDelegate* delegate)
-{
- m_delegate = delegate ? delegate : DefaultDownloadDelegate::sharedInstance();
- LOG_ERROR("Delegate is %p", m_delegate.get());
-
- ResourceRequest request(url);
- CFURLRequestRef cfRequest = request.cfURLRequest(UpdateHTTPBody);
-
- CFURLDownloadClient client = {0, this, 0, 0, 0, didStartCallback, willSendRequestCallback, didReceiveAuthenticationChallengeCallback,
- didReceiveResponseCallback, willResumeWithResponseCallback, didReceiveDataCallback, shouldDecodeDataOfMIMETypeCallback,
- decideDestinationWithSuggestedObjectNameCallback, didCreateDestinationCallback, didFinishCallback, didFailCallback};
- m_request.adoptRef(WebMutableURLRequest::createInstance(request));
- m_download = adoptCF(CFURLDownloadCreate(0, cfRequest, &client));
-
- CFURLDownloadScheduleWithCurrentMessageQueue(m_download.get());
- CFURLDownloadScheduleDownloadWithRunLoop(m_download.get(), loaderRunLoop(), kCFRunLoopDefaultMode);
-
- LOG(Download, "WebDownload - Initialized download of url %s in WebDownload %p", url.string().utf8().data(), this);
-}
-
-// IWebDownload -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebDownload::initWithRequest(
- /* [in] */ IWebURLRequest* request,
- /* [in] */ IWebDownloadDelegate* delegate)
-{
- COMPtr<WebMutableURLRequest> webRequest;
- if (!request || FAILED(request->QueryInterface(&webRequest))) {
- LOG(Download, "WebDownload - initWithRequest failed - not a WebMutableURLRequest");
- return E_FAIL;
- }
-
- if (!delegate)
- return E_FAIL;
- m_delegate = delegate;
- LOG(Download, "Delegate is %p", m_delegate.get());
-
- RetainPtr<CFURLRequestRef> cfRequest = webRequest->resourceRequest().cfURLRequest(UpdateHTTPBody);
-
- CFURLDownloadClient client = {0, this, 0, 0, 0, didStartCallback, willSendRequestCallback, didReceiveAuthenticationChallengeCallback,
- didReceiveResponseCallback, willResumeWithResponseCallback, didReceiveDataCallback, shouldDecodeDataOfMIMETypeCallback,
- decideDestinationWithSuggestedObjectNameCallback, didCreateDestinationCallback, didFinishCallback, didFailCallback};
- m_request.adoptRef(WebMutableURLRequest::createInstance(webRequest.get()));
- m_download = adoptCF(CFURLDownloadCreate(0, cfRequest.get(), &client));
-
- // If for some reason the download failed to create,
- // we have particular cleanup to do
- if (!m_download) {
- m_request = 0;
- return E_FAIL;
- }
-
- CFURLDownloadScheduleWithCurrentMessageQueue(m_download.get());
- CFURLDownloadScheduleDownloadWithRunLoop(m_download.get(), loaderRunLoop(), kCFRunLoopDefaultMode);
-
- LOG(Download, "WebDownload - initWithRequest complete, started download of url %s", webRequest->resourceRequest().url().string().utf8().data());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::initToResumeWithBundle(
- /* [in] */ BSTR bundlePath,
- /* [in] */ IWebDownloadDelegate* delegate)
-{
- LOG(Download, "Attempting resume of download bundle %s", String(bundlePath, SysStringLen(bundlePath)).ascii().data());
-
- RetainPtr<CFDataRef> resumeData = adoptCF(DownloadBundle::extractResumeData(String(bundlePath, SysStringLen(bundlePath))));
-
- if (!resumeData)
- return E_FAIL;
-
- if (!delegate)
- return E_FAIL;
- m_delegate = delegate;
- LOG(Download, "Delegate is %p", m_delegate.get());
-
- CFURLDownloadClient client = {0, this, 0, 0, 0, didStartCallback, willSendRequestCallback, didReceiveAuthenticationChallengeCallback,
- didReceiveResponseCallback, willResumeWithResponseCallback, didReceiveDataCallback, shouldDecodeDataOfMIMETypeCallback,
- decideDestinationWithSuggestedObjectNameCallback, didCreateDestinationCallback, didFinishCallback, didFailCallback};
-
- RetainPtr<CFURLRef> pathURL = adoptCF(MarshallingHelpers::PathStringToFileCFURLRef(String(bundlePath, SysStringLen(bundlePath))));
- ASSERT(pathURL);
-
- m_download = adoptCF(CFURLDownloadCreateWithResumeData(0, resumeData.get(), pathURL.get(), &client));
-
- if (!m_download) {
- LOG(Download, "Failed to create CFURLDownloadRef for resume");
- return E_FAIL;
- }
-
- m_bundlePath = String(bundlePath, SysStringLen(bundlePath));
- // Attempt to remove the ".download" extension from the bundle for the final file destination
- // Failing that, we clear m_destination and will ask the delegate later once the download starts
- if (m_bundlePath.endsWith(DownloadBundle::fileExtension(), false)) {
- m_destination = m_bundlePath.isolatedCopy();
- m_destination.truncate(m_destination.length() - DownloadBundle::fileExtension().length());
- } else
- m_destination = String();
-
- CFURLDownloadScheduleWithCurrentMessageQueue(m_download.get());
- CFURLDownloadScheduleDownloadWithRunLoop(m_download.get(), loaderRunLoop(), kCFRunLoopDefaultMode);
-
- LOG(Download, "WebDownload - initWithRequest complete, resumed download of bundle %s", String(bundlePath, SysStringLen(bundlePath)).ascii().data());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::start()
-{
- LOG(Download, "WebDownload - Starting download (%p)", this);
- if (!m_download)
- return E_FAIL;
-
- CFURLDownloadStart(m_download.get());
- // FIXME: 4950477 - CFURLDownload neglects to make the didStart() client call upon starting the download.
- // This is a somewhat critical call, so we'll fake it for now!
- didStart();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::cancel()
-{
- LOG(Download, "WebDownload - Cancelling download (%p)", this);
- if (!m_download)
- return E_FAIL;
-
- CFURLDownloadCancel(m_download.get());
- m_download = 0;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::cancelForResume()
-{
- LOG(Download, "WebDownload - Cancelling download (%p), writing resume information to file if possible", this);
- ASSERT(m_download);
- if (!m_download)
- return E_FAIL;
-
- HRESULT hr = S_OK;
- RetainPtr<CFDataRef> resumeData;
- if (m_destination.isEmpty()) {
- CFURLDownloadCancel(m_download.get());
- goto exit;
- }
-
- CFURLDownloadSetDeletesUponFailure(m_download.get(), false);
- CFURLDownloadCancel(m_download.get());
-
- resumeData = adoptCF(CFURLDownloadCopyResumeData(m_download.get()));
- if (!resumeData) {
- LOG(Download, "WebDownload - Unable to create resume data for download (%p)", this);
- goto exit;
- }
-
- DownloadBundle::appendResumeData(resumeData.get(), m_bundlePath);
-
-exit:
- m_download = 0;
- return hr;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::deletesFileUponFailure(
- /* [out, retval] */ BOOL* result)
-{
- if (!m_download)
- return E_FAIL;
- *result = CFURLDownloadDeletesUponFailure(m_download.get());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::setDeletesFileUponFailure(
- /* [in] */ BOOL deletesFileUponFailure)
-{
- if (!m_download)
- return E_FAIL;
- CFURLDownloadSetDeletesUponFailure(m_download.get(), !!deletesFileUponFailure);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::setDestination(
- /* [in] */ BSTR path,
- /* [in] */ BOOL allowOverwrite)
-{
- if (!m_download)
- return E_FAIL;
-
- m_destination = String(path, SysStringLen(path));
- m_bundlePath = m_destination + DownloadBundle::fileExtension();
-
- CFURLRef pathURL = MarshallingHelpers::PathStringToFileCFURLRef(m_bundlePath);
- CFURLDownloadSetDestination(m_download.get(), pathURL, !!allowOverwrite);
- CFRelease(pathURL);
-
- LOG(Download, "WebDownload - Set destination to %s", m_bundlePath.ascii().data());
-
- return S_OK;
-}
-
-// IWebURLAuthenticationChallengeSender -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebDownload::cancelAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge*)
-{
- if (m_download) {
- CFURLDownloadCancel(m_download.get());
- m_download = 0;
- }
-
- // FIXME: Do we need a URL or description for this error code?
- ResourceError error(String(WebURLErrorDomain), WebURLErrorUserCancelledAuthentication, "", "");
- COMPtr<WebError> webError(AdoptCOM, WebError::createInstance(error));
- m_delegate->didFailWithError(this, webError.get());
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::continueWithoutCredentialForAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge* challenge)
-{
- COMPtr<WebURLAuthenticationChallenge> webChallenge(Query, challenge);
- if (!webChallenge)
- return E_NOINTERFACE;
-
- if (m_download)
- CFURLDownloadUseCredential(m_download.get(), 0, webChallenge->authenticationChallenge().cfURLAuthChallengeRef());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::useCredential(
- /* [in] */ IWebURLCredential* credential,
- /* [in] */ IWebURLAuthenticationChallenge* challenge)
-{
- COMPtr<WebURLAuthenticationChallenge> webChallenge(Query, challenge);
- if (!webChallenge)
- return E_NOINTERFACE;
-
- COMPtr<WebURLCredential> webCredential(Query, credential);
- if (!webCredential)
- return E_NOINTERFACE;
-
- RetainPtr<CFURLCredentialRef> cfCredential = adoptCF(createCF(webCredential->credential()));
-
- if (m_download)
- CFURLDownloadUseCredential(m_download.get(), cfCredential.get(), webChallenge->authenticationChallenge().cfURLAuthChallengeRef());
- return S_OK;
-}
-
-// CFURLDownload Callbacks -------------------------------------------------------------------
-void WebDownload::didStart()
-{
-#ifndef NDEBUG
- m_startTime = m_dataTime = currentTime();
- m_received = 0;
- LOG(Download, "DOWNLOAD - Started %p at %.3f seconds", this, m_startTime);
-#endif
- if (FAILED(m_delegate->didBegin(this)))
- LOG_ERROR("DownloadDelegate->didBegin failed");
-}
-
-CFURLRequestRef WebDownload::willSendRequest(CFURLRequestRef request, CFURLResponseRef response)
-{
- COMPtr<WebMutableURLRequest> webRequest(AdoptCOM, WebMutableURLRequest::createInstance(ResourceRequest(request)));
- COMPtr<WebURLResponse> webResponse(AdoptCOM, WebURLResponse::createInstance(ResourceResponse(response)));
- COMPtr<IWebMutableURLRequest> finalRequest;
-
- if (FAILED(m_delegate->willSendRequest(this, webRequest.get(), webResponse.get(), &finalRequest)))
- LOG_ERROR("DownloadDelegate->willSendRequest failed");
-
- if (!finalRequest)
- return 0;
-
- COMPtr<WebMutableURLRequest> finalWebRequest(AdoptCOM, WebMutableURLRequest::createInstance(finalRequest.get()));
- m_request = finalWebRequest.get();
- CFURLRequestRef result = finalWebRequest->resourceRequest().cfURLRequest(UpdateHTTPBody);
- CFRetain(result);
- return result;
-}
-
-void WebDownload::didReceiveAuthenticationChallenge(CFURLAuthChallengeRef challenge)
-{
- // Try previously stored credential first.
- if (!CFURLAuthChallengeGetPreviousFailureCount(challenge)) {
- Credential credential = CredentialStorage::get(core(CFURLAuthChallengeGetProtectionSpace(challenge)));
- if (!credential.isEmpty()) {
- RetainPtr<CFURLCredentialRef> cfCredential = adoptCF(createCF(credential));
- CFURLDownloadUseCredential(m_download.get(), cfCredential.get(), challenge);
- return;
- }
- }
-
- COMPtr<IWebURLAuthenticationChallenge> webChallenge(AdoptCOM,
- WebURLAuthenticationChallenge::createInstance(AuthenticationChallenge(challenge, 0), this));
-
- if (SUCCEEDED(m_delegate->didReceiveAuthenticationChallenge(this, webChallenge.get())))
- return;
-
- cancelAuthenticationChallenge(webChallenge.get());
-}
-
-void WebDownload::didReceiveResponse(CFURLResponseRef response)
-{
- COMPtr<WebURLResponse> webResponse(AdoptCOM, WebURLResponse::createInstance(ResourceResponse(response)));
- if (FAILED(m_delegate->didReceiveResponse(this, webResponse.get())))
- LOG_ERROR("DownloadDelegate->didReceiveResponse failed");
-}
-
-void WebDownload::willResumeWithResponse(CFURLResponseRef response, UInt64 fromByte)
-{
- COMPtr<WebURLResponse> webResponse(AdoptCOM, WebURLResponse::createInstance(ResourceResponse(response)));
- if (FAILED(m_delegate->willResumeWithResponse(this, webResponse.get(), fromByte)))
- LOG_ERROR("DownloadDelegate->willResumeWithResponse failed");
-}
-
-void WebDownload::didReceiveData(CFIndex length)
-{
-#ifndef NDEBUG
- m_received += length;
- double current = currentTime();
- if (current - m_dataTime > 2.0)
- LOG(Download, "DOWNLOAD - %p hanged for %.3f seconds - Received %i bytes for a total of %i", this, current - m_dataTime, length, m_received);
- m_dataTime = current;
-#endif
- if (FAILED(m_delegate->didReceiveDataOfLength(this, length)))
- LOG_ERROR("DownloadDelegate->didReceiveData failed");
-}
-
-bool WebDownload::shouldDecodeDataOfMIMEType(CFStringRef mimeType)
-{
- BOOL result;
- if (FAILED(m_delegate->shouldDecodeSourceDataOfMIMEType(this, BString(mimeType), &result))) {
- LOG_ERROR("DownloadDelegate->shouldDecodeSourceDataOfMIMEType failed");
- return false;
- }
- return !!result;
-}
-
-void WebDownload::decideDestinationWithSuggestedObjectName(CFStringRef name)
-{
- if (FAILED(m_delegate->decideDestinationWithSuggestedFilename(this, BString(name))))
- LOG_ERROR("DownloadDelegate->decideDestinationWithSuggestedObjectName failed");
-}
-
-void WebDownload::didCreateDestination(CFURLRef destination)
-{
- // The concept of the ".download bundle" is internal to the WebDownload, so therefore
- // we try to mask the delegate from its existence as much as possible by telling it the final
- // destination was created, when in reality the bundle was created
-
- String createdDestination = MarshallingHelpers::FileCFURLRefToPathString(destination);
-
- // At this point in receiving CFURLDownload callbacks, we should definitely have the bundle path stored locally
- // and it should match with the file that CFURLDownload created
- ASSERT(createdDestination == m_bundlePath);
- // And we should also always have the final-destination stored
- ASSERT(!m_destination.isEmpty());
-
- BString path(m_destination);
- if (FAILED(m_delegate->didCreateDestination(this, path)))
- LOG_ERROR("DownloadDelegate->didCreateDestination failed");
-}
-
-void WebDownload::didFinish()
-{
-#ifndef NDEBUG
- LOG(Download, "DOWNLOAD - Finished %p after %i bytes and %.3f seconds", this, m_received, currentTime() - m_startTime);
-#endif
-
- ASSERT(!m_bundlePath.isEmpty() && !m_destination.isEmpty());
- LOG(Download, "WebDownload - Moving file from bundle %s to destination %s", m_bundlePath.ascii().data(), m_destination.ascii().data());
-
- // We try to rename the bundle to the final file name. If that fails, we give the delegate one more chance to chose
- // the final file name, then we just leave it
- if (!MoveFileEx(m_bundlePath.charactersWithNullTermination().data(), m_destination.charactersWithNullTermination().data(), 0)) {
- LOG_ERROR("Failed to move bundle %s to %s on completion\nError - %i", m_bundlePath.ascii().data(), m_destination.ascii().data(), GetLastError());
-
- bool reportBundlePathAsFinalPath = true;
-
- BString destinationBSTR(m_destination.characters(), m_destination.length());
- if (FAILED(m_delegate->decideDestinationWithSuggestedFilename(this, destinationBSTR)))
- LOG_ERROR("delegate->decideDestinationWithSuggestedFilename() failed");
-
- // The call to m_delegate->decideDestinationWithSuggestedFilename() should have changed our destination, so we'll try the move
- // one last time.
- if (!m_destination.isEmpty())
- if (MoveFileEx(m_bundlePath.charactersWithNullTermination().data(), m_destination.charactersWithNullTermination().data(), 0))
- reportBundlePathAsFinalPath = false;
-
- // We either need to tell the delegate our final filename is the bundle filename, or is the file name they just told us to use
- if (reportBundlePathAsFinalPath) {
- BString bundleBSTR(m_bundlePath);
- m_delegate->didCreateDestination(this, bundleBSTR);
- } else {
- BString finalDestinationBSTR = BString(m_destination);
- m_delegate->didCreateDestination(this, finalDestinationBSTR);
- }
- }
-
- // It's extremely likely the call to delegate->didFinish() will deref this, so lets not let that cause our destruction just yet
- COMPtr<WebDownload> protect = this;
- if (FAILED(m_delegate->didFinish(this)))
- LOG_ERROR("DownloadDelegate->didFinish failed");
-
- m_download = 0;
-}
-
-void WebDownload::didFail(CFErrorRef error)
-{
- COMPtr<WebError> webError(AdoptCOM, WebError::createInstance(ResourceError(error)));
- if (FAILED(m_delegate->didFailWithError(this, webError.get())))
- LOG_ERROR("DownloadDelegate->didFailWithError failed");
-}
-
-// CFURLDownload Callbacks ----------------------------------------------------------------
-void didStartCallback(CFURLDownloadRef, const void *clientInfo)
-{ ((WebDownload*)clientInfo)->didStart(); }
-
-CFURLRequestRef willSendRequestCallback(CFURLDownloadRef, CFURLRequestRef request, CFURLResponseRef redirectionResponse, const void *clientInfo)
-{ return ((WebDownload*)clientInfo)->willSendRequest(request, redirectionResponse); }
-
-void didReceiveAuthenticationChallengeCallback(CFURLDownloadRef, CFURLAuthChallengeRef challenge, const void *clientInfo)
-{ ((WebDownload*)clientInfo)->didReceiveAuthenticationChallenge(challenge); }
-
-void didReceiveResponseCallback(CFURLDownloadRef, CFURLResponseRef response, const void *clientInfo)
-{ ((WebDownload*)clientInfo)->didReceiveResponse(response); }
-
-void willResumeWithResponseCallback(CFURLDownloadRef, CFURLResponseRef response, UInt64 startingByte, const void *clientInfo)
-{ ((WebDownload*)clientInfo)->willResumeWithResponse(response, startingByte); }
-
-void didReceiveDataCallback(CFURLDownloadRef, CFIndex length, const void *clientInfo)
-{ ((WebDownload*)clientInfo)->didReceiveData(length); }
-
-Boolean shouldDecodeDataOfMIMETypeCallback(CFURLDownloadRef, CFStringRef encodingType, const void *clientInfo)
-{ return ((WebDownload*)clientInfo)->shouldDecodeDataOfMIMEType(encodingType); }
-
-void decideDestinationWithSuggestedObjectNameCallback(CFURLDownloadRef, CFStringRef objectName, const void *clientInfo)
-{ ((WebDownload*)clientInfo)->decideDestinationWithSuggestedObjectName(objectName); }
-
-void didCreateDestinationCallback(CFURLDownloadRef, CFURLRef path, const void *clientInfo)
-{ ((WebDownload*)clientInfo)->didCreateDestination(path); }
-
-void didFinishCallback(CFURLDownloadRef, const void *clientInfo)
-{ ((WebDownload*)clientInfo)->didFinish(); }
-
-void didFailCallback(CFURLDownloadRef, CFErrorRef error, const void *clientInfo)
-{ ((WebDownload*)clientInfo)->didFail(error); }
diff --git a/Source/WebKit/win/WebDownloadCurl.cpp b/Source/WebKit/win/WebDownloadCurl.cpp
deleted file mode 100644
index d19f4204c..000000000
--- a/Source/WebKit/win/WebDownloadCurl.cpp
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (C) 2008 Brent Fulgham <bfulgham@gmail.com>. 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 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 "WebKitDLL.h"
-#include "WebDownload.h"
-
-#include "DefaultDownloadDelegate.h"
-#include "MarshallingHelpers.h"
-#include "WebError.h"
-#include "WebKit.h"
-#include "WebKitLogging.h"
-#include "WebMutableURLRequest.h"
-#include "WebURLAuthenticationChallenge.h"
-#include "WebURLCredential.h"
-#include "WebURLResponse.h"
-
-#include <wtf/platform.h>
-#include <wtf/text/CString.h>
-
-#include <io.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-
-#include <WebCore/BString.h>
-#include <WebCore/NotImplemented.h>
-#include <WebCore/ResourceError.h>
-#include <WebCore/ResourceHandle.h>
-#include <WebCore/ResourceRequest.h>
-#include <WebCore/ResourceResponse.h>
-
-using namespace WebCore;
-
-// WebDownload ----------------------------------------------------------------
-
-void WebDownload::init(ResourceHandle* handle, const ResourceRequest& request, const ResourceResponse& response, IWebDownloadDelegate* delegate)
-{
- if (!handle)
- return;
-
- // Stop previous request
- handle->setDefersLoading(true);
-
- m_request.adoptRef(WebMutableURLRequest::createInstance(request));
-
- m_delegate = delegate;
-
- m_download.init(this, handle, request, response);
-
- start();
-}
-
-void WebDownload::init(const KURL& url, IWebDownloadDelegate* delegate)
-{
- m_delegate = delegate;
-
- m_download.init(this, url);
-}
-
-// IWebDownload -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebDownload::initWithRequest(
- /* [in] */ IWebURLRequest* request,
- /* [in] */ IWebDownloadDelegate* delegate)
-{
- notImplemented();
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::initToResumeWithBundle(
- /* [in] */ BSTR bundlePath,
- /* [in] */ IWebDownloadDelegate* delegate)
-{
- notImplemented();
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::start()
-{
- if (!m_download.start())
- return E_FAIL;
-
- if (m_delegate)
- m_delegate->didBegin(this);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::cancel()
-{
- if (!m_download.cancel())
- return E_FAIL;
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::cancelForResume()
-{
- notImplemented();
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::deletesFileUponFailure(
- /* [out, retval] */ BOOL* result)
-{
- *result = m_download.deletesFileUponFailure() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::setDeletesFileUponFailure(
- /* [in] */ BOOL deletesFileUponFailure)
-{
- m_download.setDeletesFileUponFailure(deletesFileUponFailure);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::setDestination(
- /* [in] */ BSTR path,
- /* [in] */ BOOL allowOverwrite)
-{
- size_t len = wcslen(path);
- m_destination = String(path, len);
- m_download.setDestination(m_destination);
- return S_OK;
-}
-
-// IWebURLAuthenticationChallengeSender -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebDownload::cancelAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge*)
-{
- notImplemented();
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::continueWithoutCredentialForAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge* challenge)
-{
- notImplemented();
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebDownload::useCredential(
- /* [in] */ IWebURLCredential* credential,
- /* [in] */ IWebURLAuthenticationChallenge* challenge)
-{
- notImplemented();
- return E_FAIL;
-}
-
-void WebDownload::didReceiveResponse()
-{
- COMPtr<WebDownload> protect = this;
-
- if (m_delegate) {
- ResourceResponse response = m_download.getResponse();
- COMPtr<WebURLResponse> webResponse(AdoptCOM, WebURLResponse::createInstance(response));
- m_delegate->didReceiveResponse(this, webResponse.get());
-
- String suggestedFilename = response.suggestedFilename();
- if (suggestedFilename.isEmpty())
- suggestedFilename = pathGetFileName(response.url().string());
- BString suggestedFilenameBSTR(suggestedFilename.characters(), suggestedFilename.length());
- m_delegate->decideDestinationWithSuggestedFilename(this, suggestedFilenameBSTR);
- }
-}
-
-void WebDownload::didReceiveDataOfLength(int size)
-{
- COMPtr<WebDownload> protect = this;
-
- if (m_delegate)
- m_delegate->didReceiveDataOfLength(this, size);
-}
-
-void WebDownload::didFinish()
-{
- COMPtr<WebDownload> protect = this;
-
- if (m_delegate)
- m_delegate->didFinish(this);
-}
-
-void WebDownload::didFail()
-{
- COMPtr<WebDownload> protect = this;
-
- if (m_delegate)
- m_delegate->didFailWithError(this, 0);
-}
diff --git a/Source/WebKit/win/WebDropSource.cpp b/Source/WebKit/win/WebDropSource.cpp
deleted file mode 100644
index f4a3fb641..000000000
--- a/Source/WebKit/win/WebDropSource.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebDropSource.h"
-
-#include "WebKitDLL.h"
-#include "WebView.h"
-
-#include <WebCore/Cursor.h>
-#include <WebCore/DragActions.h>
-#include <WebCore/EventHandler.h>
-#include <WebCore/Frame.h>
-#include <WebCore/FrameView.h>
-#include <WebCore/Page.h>
-#include <WebCore/PlatformMouseEvent.h>
-#include <wtf/CurrentTime.h>
-
-#include <Windows.h>
-
-using namespace WebCore;
-
-
-HRESULT WebDropSource::createInstance(WebView* webView, IDropSource** result)
-{
- if (!webView || !result)
- return E_INVALIDARG;
- *result = new WebDropSource(webView);
- return S_OK;
-}
-
-WebDropSource::WebDropSource(WebView* webView)
-: m_ref(1)
-, m_dropped(false)
-, m_webView(webView)
-{
- gClassCount++;
- gClassNameCount.add("WebDropSource");
-}
-
-WebDropSource::~WebDropSource()
-{
- gClassCount--;
- gClassNameCount.remove("WebDropSource");
-}
-
-STDMETHODIMP WebDropSource::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualIID(riid, IID_IUnknown) ||
- IsEqualIID(riid, IID_IDropSource)) {
- *ppvObject = this;
- AddRef();
-
- return S_OK;
- }
-
- return E_NOINTERFACE;
-}
-
-STDMETHODIMP_(ULONG) WebDropSource::AddRef(void)
-{
- return InterlockedIncrement(&m_ref);
-}
-
-STDMETHODIMP_(ULONG) WebDropSource::Release(void)
-{
- long c = InterlockedDecrement(&m_ref);
- if (c == 0)
- delete this;
- return c;
-}
-
-PlatformMouseEvent generateMouseEvent(WebView* webView, bool isDrag)
-{
- POINTL pt;
- ::GetCursorPos((LPPOINT)&pt);
- POINTL localpt = pt;
- HWND viewWindow;
- if (SUCCEEDED(webView->viewWindow((OLE_HANDLE*)&viewWindow)))
- ::ScreenToClient(viewWindow, (LPPOINT)&localpt);
- return PlatformMouseEvent(IntPoint(localpt.x, localpt.y), IntPoint(pt.x, pt.y),
- isDrag ? LeftButton : NoButton, PlatformEvent::MouseMoved, 0, false, false, false, false, currentTime());
-}
-
-STDMETHODIMP WebDropSource::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState)
-{
- if (fEscapePressed || !(grfKeyState & (MK_LBUTTON|MK_RBUTTON))) {
- m_dropped = !fEscapePressed;
- return fEscapePressed? DRAGDROP_S_CANCEL : DRAGDROP_S_DROP;
- }
-
- return S_OK;
-}
-
-STDMETHODIMP WebDropSource::GiveFeedback(DWORD dwEffect)
-{
- BOOL showCustomCursors;
- if (FAILED(WebPreferences::sharedStandardPreferences()->customDragCursorsEnabled(&showCustomCursors)))
- return DRAGDROP_S_USEDEFAULTCURSORS;
-
- // If we don't want to hide the stop icon, let Windows select the cursor.
- if (!showCustomCursors)
- return DRAGDROP_S_USEDEFAULTCURSORS;
-
- // If we are going to show something other than the not allowed arrow, then let Windows
- // show the cursor.
- if (dwEffect != DROPEFFECT_NONE)
- return DRAGDROP_S_USEDEFAULTCURSORS;
-
- HWND viewWindow;
- if (FAILED(m_webView->viewWindow(reinterpret_cast<OLE_HANDLE*>(&viewWindow))))
- return DRAGDROP_S_USEDEFAULTCURSORS;
-
- RECT webViewRect;
- GetWindowRect(viewWindow, &webViewRect);
-
- POINT cursorPoint;
- GetCursorPos(&cursorPoint);
-
- if (!PtInRect(&webViewRect, cursorPoint)) {
- // If our cursor is outside the bounds of the webView, we want to let Windows select the cursor.
- return DRAGDROP_S_USEDEFAULTCURSORS;
- }
-
- FrameView* view = m_webView->page()->mainFrame()->view();
- if (!view)
- return DRAGDROP_S_USEDEFAULTCURSORS;
-
- // When dragging inside a WebView and the drag is not allowed, don't show the not allowed icon,
- // instead, show the pointer cursor.
- // FIXME <rdar://7577595>: Custom cursors aren't supported during drag and drop (default to pointer).
- view->setCursor(pointerCursor());
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebDropSource.h b/Source/WebKit/win/WebDropSource.h
deleted file mode 100644
index 5b7ab8c28..000000000
--- a/Source/WebKit/win/WebDropSource.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 WebDropSource_h
-#define WebDropSource_h
-
-#include <WebCore/COMPtr.h>
-#include <objidl.h>
-
-class WebView;
-
-namespace WebCore {
- class PlatformMouseEvent;
-}
-
-WebCore::PlatformMouseEvent generateMouseEvent(WebView*, bool isDrag);
-
-class WebDropSource : public IDropSource
-{
-public:
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
- virtual HRESULT STDMETHODCALLTYPE QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeyState);
- virtual HRESULT STDMETHODCALLTYPE GiveFeedback(DWORD dwEffect);
-
- static HRESULT createInstance(WebView* webView, IDropSource** result);
-private:
- WebDropSource(WebView* webView);
- ~WebDropSource();
- long m_ref;
- bool m_dropped;
- COMPtr<WebView> m_webView;
-
-};
-
-#endif //!WebDropSource_h
diff --git a/Source/WebKit/win/WebElementPropertyBag.cpp b/Source/WebKit/win/WebElementPropertyBag.cpp
deleted file mode 100644
index 1dd490211..000000000
--- a/Source/WebKit/win/WebElementPropertyBag.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebElementPropertyBag.h"
-
-#include "MarshallingHelpers.h"
-#include "DOMCoreClasses.h"
-#include "WebFrame.h"
-#include <WebCore/Document.h>
-#include <WebCore/Frame.h>
-#include <WebCore/HitTestResult.h>
-#include <WebCore/FrameLoader.h>
-#include <WebCore/Image.h>
-#include <WebCore/KURL.h>
-#include <WebCore/RenderObject.h>
-
-using namespace WebCore;
-
-// WebElementPropertyBag -----------------------------------------------
-WebElementPropertyBag::WebElementPropertyBag(const HitTestResult& result)
- : m_result(adoptPtr(new HitTestResult(result)))
- , m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("WebElementPropertyBag");
-}
-
-WebElementPropertyBag::~WebElementPropertyBag()
-{
- gClassCount--;
- gClassNameCount.remove("WebElementPropertyBag");
-}
-
-WebElementPropertyBag* WebElementPropertyBag::createInstance(const HitTestResult& result)
-{
- WebElementPropertyBag* instance = new WebElementPropertyBag(result);
- instance->AddRef();
-
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebElementPropertyBag::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IPropertyBag*>(this);
- else if (IsEqualGUID(riid, IID_IPropertyBag))
- *ppvObject = static_cast<IPropertyBag*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebElementPropertyBag::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebElementPropertyBag::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete this;
-
- return newRef;
-}
-
-static bool isEqual(LPCWSTR s1, LPCWSTR s2)
-{
- return !wcscmp(s1, s2);
-}
-
-static HRESULT convertStringToVariant(VARIANT* pVar, const String& string)
-{
- V_VT(pVar) = VT_BSTR;
- V_BSTR(pVar) = SysAllocStringLen(string.characters(), string.length());
- if (string.length() && !V_BSTR(pVar))
- return E_OUTOFMEMORY;
-
- return S_OK;
-}
-
-
-HRESULT STDMETHODCALLTYPE WebElementPropertyBag::Read(LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog * /*pErrorLog*/)
-{
- if (!pszPropName)
- return E_POINTER;
-
- if (!m_result)
- return E_FAIL;
-
- BSTR key = (BSTR)pszPropName;
- VariantClear(pVar);
- if (isEqual(WebElementDOMNodeKey, key)) {
- IDOMNode* node = DOMNode::createInstance(m_result->innerNonSharedNode());
- V_VT(pVar) = VT_UNKNOWN;
- V_UNKNOWN(pVar) = node;
- return S_OK;
- } else if (isEqual(WebElementFrameKey, key)) {
- if (!(m_result->innerNonSharedNode() && m_result->innerNonSharedNode()->document()
- && m_result->innerNonSharedNode()->document()->frame()))
- return E_FAIL;
- Frame* coreFrame = m_result->innerNonSharedNode()->document()->frame();
- WebFrame* webFrame = static_cast<WebFrame*>(coreFrame->loader()->client());
- IWebFrame* iWebFrame;
- if (FAILED(webFrame->QueryInterface(IID_IWebFrame, (void**)&iWebFrame)))
- return E_FAIL;
- V_VT(pVar) = VT_UNKNOWN;
- V_UNKNOWN(pVar) = iWebFrame;
- return S_OK;
- } else if (isEqual(WebElementImageAltStringKey, key))
- return convertStringToVariant(pVar, m_result->altDisplayString());
- else if (isEqual(WebElementImageKey, key)) {
- V_VT(pVar) = VT_BYREF;
- V_BYREF(pVar) = m_result->image();
- return S_OK;
- } else if (isEqual(WebElementImageRectKey, key)) {
- V_VT(pVar) = VT_ARRAY;
- IntRect boundingBox = m_result->innerNonSharedNode() && m_result->innerNonSharedNode()->renderer() ?
- m_result->innerNonSharedNode()->renderer()->absoluteBoundingBoxRect(true) : IntRect();
- V_ARRAY(pVar) = MarshallingHelpers::intRectToSafeArray(boundingBox);
- return S_OK;
- } else if (isEqual(WebElementImageURLKey, key))
- return convertStringToVariant(pVar, m_result->absoluteImageURL().string());
- else if (isEqual(WebElementIsSelectedKey, key)) {
- V_VT(pVar) = VT_BOOL;
- if (m_result->isSelected())
- V_BOOL(pVar) = VARIANT_TRUE;
- else
- V_BOOL(pVar) = VARIANT_FALSE;
- return S_OK;
- }
- if (isEqual(WebElementMediaURLKey, key))
- return convertStringToVariant(pVar, m_result->absoluteMediaURL().string());
- if (isEqual(WebElementSpellingToolTipKey, key)) {
- TextDirection dir;
- return convertStringToVariant(pVar, m_result->spellingToolTip(dir));
- } else if (isEqual(WebElementTitleKey, key)) {
- TextDirection dir;
- return convertStringToVariant(pVar, m_result->title(dir));
- }
- else if (isEqual(WebElementLinkURLKey, key))
- return convertStringToVariant(pVar, m_result->absoluteLinkURL().string());
- else if (isEqual(WebElementLinkTargetFrameKey, key)) {
- if (!m_result->targetFrame())
- return E_FAIL;
- WebFrame* webFrame = kit(m_result->targetFrame());
- IWebFrame* iWebFrame;
- if (FAILED(webFrame->QueryInterface(IID_IWebFrame, (void**)&iWebFrame)))
- return E_FAIL;
- V_VT(pVar) = VT_UNKNOWN;
- V_UNKNOWN(pVar) = iWebFrame;
- return S_OK;
- } else if (isEqual(WebElementLinkTitleKey, key))
- return convertStringToVariant(pVar, m_result->titleDisplayString());
- else if (isEqual(WebElementLinkLabelKey, key))
- return convertStringToVariant(pVar, m_result->textContent());
- else if (isEqual(WebElementIsContentEditableKey, key)) {
- V_VT(pVar) = VT_BOOL;
- if (m_result->isContentEditable())
- V_BOOL(pVar) = VARIANT_TRUE;
- else
- V_BOOL(pVar) = VARIANT_FALSE;
- return S_OK;
- }
-
- return E_INVALIDARG;
-}
-
-HRESULT STDMETHODCALLTYPE WebElementPropertyBag::Write(LPCOLESTR pszPropName, VARIANT* pVar)
-{
- if (!pszPropName || !pVar)
- return E_POINTER;
-
- return E_FAIL;
-}
diff --git a/Source/WebKit/win/WebElementPropertyBag.h b/Source/WebKit/win/WebElementPropertyBag.h
deleted file mode 100644
index 7c2a5658c..000000000
--- a/Source/WebKit/win/WebElementPropertyBag.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebElementPropertyBag_H
-#define WebElementPropertyBag_H
-
-#include <ocidl.h>
-#include <wtf/OwnPtr.h>
-
-namespace WebCore {
- class HitTestResult;
-}
-
-class WebElementPropertyBag : public IPropertyBag
-{
-public:
- static WebElementPropertyBag* createInstance(const WebCore::HitTestResult&);
-
-protected:
- WebElementPropertyBag(const WebCore::HitTestResult&);
- ~WebElementPropertyBag();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IPropertyBag
- virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read(
- /* [in] */ LPCOLESTR pszPropName,
- /* [out][in] */ VARIANT *pVar,
- /* [in] */ IErrorLog *pErrorLog);
-
- virtual HRESULT STDMETHODCALLTYPE Write(
- /* [in] */ LPCOLESTR pszPropName,
- /* [in] */ VARIANT *pVar);
-
-private:
- OwnPtr<WebCore::HitTestResult> m_result;
- ULONG m_refCount;
-};
-
-#endif // WebElementPropertyBag_H
diff --git a/Source/WebKit/win/WebError.cpp b/Source/WebKit/win/WebError.cpp
deleted file mode 100644
index 6e2b1dae8..000000000
--- a/Source/WebKit/win/WebError.cpp
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebError.h"
-#include "WebKit.h"
-
-#include <WebCore/BString.h>
-
-#if USE(CFNETWORK)
-#include <WebKitSystemInterface/WebKitSystemInterface.h>
-#endif
-
-using namespace WebCore;
-
-// WebError ---------------------------------------------------------------------
-
-WebError::WebError(const ResourceError& error, IPropertyBag* userInfo)
- : m_refCount(0)
- , m_error(error)
- , m_userInfo(userInfo)
-{
- gClassCount++;
- gClassNameCount.add("WebError");
-}
-
-WebError::~WebError()
-{
- gClassCount--;
- gClassNameCount.remove("WebError");
-}
-
-WebError* WebError::createInstance(const ResourceError& error, IPropertyBag* userInfo)
-{
- WebError* instance = new WebError(error, userInfo);
- instance->AddRef();
- return instance;
-}
-
-WebError* WebError::createInstance()
-{
- return createInstance(ResourceError());
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebError::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebError*>(this);
- else if (IsEqualGUID(riid, CLSID_WebError))
- *ppvObject = static_cast<WebError*>(this);
- else if (IsEqualGUID(riid, IID_IWebError))
- *ppvObject = static_cast<IWebError*>(this);
- else if (IsEqualGUID(riid, IID_IWebErrorPrivate))
- *ppvObject = static_cast<IWebErrorPrivate*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebError::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebError::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebError ------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebError::init(
- /* [in] */ BSTR domain,
- /* [in] */ int code,
- /* [in] */ BSTR url)
-{
- m_error = ResourceError(String(domain, SysStringLen(domain)), code, String(url, SysStringLen(url)), String());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebError::code(
- /* [retval][out] */ int* result)
-{
- *result = m_error.errorCode();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebError::domain(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = BString(m_error.domain()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebError::localizedDescription(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = BString(m_error.localizedDescription()).release();
-
-#if USE(CFNETWORK)
- if (!*result) {
- if (int code = m_error.errorCode())
- *result = BString(wkCFNetworkErrorGetLocalizedDescription(code)).release();
- }
-#endif
-
- return S_OK;
-}
-
-
-HRESULT STDMETHODCALLTYPE WebError::localizedFailureReason(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebError::localizedRecoveryOptions(
- /* [retval][out] */ IEnumVARIANT** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebError::localizedRecoverySuggestion(
- /* [retval][out] */ BSTR* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebError::recoverAttempter(
- /* [retval][out] */ IUnknown** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebError::userInfo(
- /* [retval][out] */ IPropertyBag** result)
-{
- if (!result)
- return E_POINTER;
- *result = 0;
-
- if (!m_userInfo)
- return E_FAIL;
-
- return m_userInfo.copyRefTo(result);
-}
-
-HRESULT STDMETHODCALLTYPE WebError::failingURL(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = BString(m_error.failingURL()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebError::isPolicyChangeError(
- /* [retval][out] */ BOOL *result)
-{
- if (!result)
- return E_POINTER;
-
- *result = m_error.domain() == String(WebKitErrorDomain)
- && m_error.errorCode() == WebKitErrorFrameLoadInterruptedByPolicyChange;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebError::sslPeerCertificate(
- /* [retval][out] */ OLE_HANDLE* result)
-{
- if (!result)
- return E_POINTER;
- *result = 0;
-
-#if USE(CFNETWORK)
- if (!m_cfErrorUserInfoDict) {
- // copy userinfo from CFErrorRef
- CFErrorRef cfError = m_error;
- m_cfErrorUserInfoDict = adoptCF(CFErrorCopyUserInfo(cfError));
- }
-
- if (!m_cfErrorUserInfoDict)
- return E_FAIL;
-
- void* data = wkGetSSLPeerCertificateDataBytePtr(m_cfErrorUserInfoDict.get());
- if (!data)
- return E_FAIL;
- *result = (OLE_HANDLE)(ULONG64)data;
-#endif
- return *result ? S_OK : E_FAIL;
-}
-
-const ResourceError& WebError::resourceError() const
-{
- return m_error;
-}
diff --git a/Source/WebKit/win/WebError.h b/Source/WebKit/win/WebError.h
deleted file mode 100644
index 0e78cf214..000000000
--- a/Source/WebKit/win/WebError.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 WebError_h
-#define WebError_h
-
-#include "WebKit.h"
-#include <WebCore/COMPtr.h>
-#include <WebCore/ResourceError.h>
-#include <wtf/RetainPtr.h>
-
-class WebError : public IWebError, IWebErrorPrivate {
-public:
- static WebError* createInstance(const WebCore::ResourceError&, IPropertyBag* userInfo = 0);
- static WebError* createInstance();
-protected:
- WebError(const WebCore::ResourceError&, IPropertyBag* userInfo);
- ~WebError();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebError
- virtual HRESULT STDMETHODCALLTYPE init(
- /* [in] */ BSTR domain,
- /* [in] */ int code,
- /* [in] */ BSTR url);
-
- virtual HRESULT STDMETHODCALLTYPE code(
- /* [retval][out] */ int *result);
-
- virtual HRESULT STDMETHODCALLTYPE domain(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE localizedDescription(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE localizedFailureReason(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE localizedRecoveryOptions(
- /* [retval][out] */ IEnumVARIANT **result);
-
- virtual HRESULT STDMETHODCALLTYPE localizedRecoverySuggestion(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE recoverAttempter(
- /* [retval][out] */ IUnknown **result);
-
- virtual HRESULT STDMETHODCALLTYPE userInfo(
- /* [retval][out] */ IPropertyBag **result);
-
- virtual HRESULT STDMETHODCALLTYPE failingURL(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE isPolicyChangeError(
- /* [retval][out] */ BOOL *result);
-
- // IWebErrorPrivate
- virtual HRESULT STDMETHODCALLTYPE sslPeerCertificate(
- /* [retval][out] */ OLE_HANDLE *result);
-
- const WebCore::ResourceError& resourceError() const;
-
-private:
- ULONG m_refCount;
- COMPtr<IPropertyBag> m_userInfo;
- RetainPtr<CFDictionaryRef> m_cfErrorUserInfoDict;
- WebCore::ResourceError m_error;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebFrame.cpp b/Source/WebKit/win/WebFrame.cpp
deleted file mode 100644
index 798d43cf8..000000000
--- a/Source/WebKit/win/WebFrame.cpp
+++ /dev/null
@@ -1,2612 +0,0 @@
-/*
- * Copyright (C) 2006-2009, 2011, 2013 Apple Inc. All rights reserved.
- * Copyright (C) Research In Motion Limited 2009. 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 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 "WebKitDLL.h"
-#include "WebFrame.h"
-
-#include "CFDictionaryPropertyBag.h"
-#include "COMPropertyBag.h"
-#include "DOMCoreClasses.h"
-#include "DefaultPolicyDelegate.h"
-#include "HTMLFrameOwnerElement.h"
-#include "MarshallingHelpers.h"
-#include "WebActionPropertyBag.h"
-#include "WebChromeClient.h"
-#include "WebDataSource.h"
-#include "WebDocumentLoader.h"
-#include "WebDownload.h"
-#include "WebEditorClient.h"
-#include "WebError.h"
-#include "WebFrameNetworkingContext.h"
-#include "WebFramePolicyListener.h"
-#include "WebHistory.h"
-#include "WebHistoryItem.h"
-#include "WebKit.h"
-#include "WebKitStatisticsPrivate.h"
-#include "WebMutableURLRequest.h"
-#include "WebNotificationCenter.h"
-#include "WebScriptWorld.h"
-#include "WebURLResponse.h"
-#include "WebView.h"
-#include <WebCore/AnimationController.h>
-#include <WebCore/BString.h>
-#include <WebCore/COMPtr.h>
-#include <WebCore/MemoryCache.h>
-#include <WebCore/Document.h>
-#include <WebCore/DocumentLoader.h>
-#include <WebCore/DocumentMarkerController.h>
-#include <WebCore/DOMImplementation.h>
-#include <WebCore/DOMWindow.h>
-#include <WebCore/Editor.h>
-#include <WebCore/Event.h>
-#include <WebCore/EventHandler.h>
-#include <WebCore/FormState.h>
-#include <WebCore/Frame.h>
-#include <WebCore/FrameLoader.h>
-#include <WebCore/FrameLoadRequest.h>
-#include <WebCore/FrameTree.h>
-#include <WebCore/FrameView.h>
-#include <WebCore/FrameWin.h>
-#include <WebCore/GDIObjectCounter.h>
-#include <WebCore/GraphicsContext.h>
-#include <WebCore/HistoryItem.h>
-#include <WebCore/HTMLAppletElement.h>
-#include <WebCore/HTMLFormElement.h>
-#include <WebCore/HTMLFormControlElement.h>
-#include <WebCore/HTMLInputElement.h>
-#include <WebCore/HTMLNames.h>
-#include <WebCore/HTMLPlugInElement.h>
-#include <WebCore/JSDOMWindow.h>
-#include <WebCore/KeyboardEvent.h>
-#include <WebCore/MouseRelatedEvent.h>
-#include <WebCore/NotImplemented.h>
-#include <WebCore/Page.h>
-#include <WebCore/PlatformKeyboardEvent.h>
-#include <WebCore/PluginData.h>
-#include <WebCore/PluginDatabase.h>
-#include <WebCore/PluginView.h>
-#include <WebCore/PolicyChecker.h>
-#include <WebCore/PrintContext.h>
-#include <WebCore/ResourceHandle.h>
-#include <WebCore/ResourceLoader.h>
-#include <WebCore/ResourceRequest.h>
-#include <WebCore/RenderView.h>
-#include <WebCore/RenderTreeAsText.h>
-#include <WebCore/Settings.h>
-#include <WebCore/TextIterator.h>
-#include <WebCore/JSDOMBinding.h>
-#include <WebCore/ScriptController.h>
-#include <WebCore/ScriptValue.h>
-#include <WebCore/SecurityOrigin.h>
-#include <JavaScriptCore/APICast.h>
-#include <JavaScriptCore/JSCJSValue.h>
-#include <JavaScriptCore/JSLock.h>
-#include <JavaScriptCore/JSObject.h>
-#include <wtf/MathExtras.h>
-
-#if USE(CG)
-#include <CoreGraphics/CoreGraphics.h>
-#elif USE(CAIRO)
-#include "PlatformContextCairo.h"
-#include <cairo-win32.h>
-#endif
-
-#if USE(CG)
-// CG SPI used for printing
-extern "C" {
- CGAffineTransform CGContextGetBaseCTM(CGContextRef c);
- void CGContextSetBaseCTM(CGContextRef c, CGAffineTransform m);
-}
-#endif
-
-using namespace WebCore;
-using namespace HTMLNames;
-using namespace std;
-
-using JSC::JSGlobalObject;
-using JSC::JSLock;
-using JSC::JSValue;
-
-#define FLASH_REDRAW 0
-
-
-// By imaging to a width a little wider than the available pixels,
-// thin pages will be scaled down a little, matching the way they
-// print in IE and Camino. This lets them use fewer sheets than they
-// would otherwise, which is presumably why other browsers do this.
-// Wide pages will be scaled down more than this.
-const float PrintingMinimumShrinkFactor = 1.25f;
-
-// This number determines how small we are willing to reduce the page content
-// in order to accommodate the widest line. If the page would have to be
-// reduced smaller to make the widest line fit, we just clip instead (this
-// behavior matches MacIE and Mozilla, at least)
-const float PrintingMaximumShrinkFactor = 2.0f;
-
-//-----------------------------------------------------------------------------
-// Helpers to convert from WebCore to WebKit type
-WebFrame* kit(Frame* frame)
-{
- if (!frame)
- return 0;
-
- FrameLoaderClient* frameLoaderClient = frame->loader()->client();
- if (frameLoaderClient)
- return static_cast<WebFrame*>(frameLoaderClient); // eek, is there a better way than static cast?
- return 0;
-}
-
-Frame* core(WebFrame* webFrame)
-{
- if (!webFrame)
- return 0;
- return webFrame->impl();
-}
-
-// This function is not in WebFrame.h because we don't want to advertise the ability to get a non-const Frame from a const WebFrame
-Frame* core(const WebFrame* webFrame)
-{
- if (!webFrame)
- return 0;
- return const_cast<WebFrame*>(webFrame)->impl();
-}
-
-//-----------------------------------------------------------------------------
-
-static Element *elementFromDOMElement(IDOMElement *element)
-{
- if (!element)
- return 0;
-
- COMPtr<IDOMElementPrivate> elePriv;
- HRESULT hr = element->QueryInterface(IID_IDOMElementPrivate, (void**) &elePriv);
- if (SUCCEEDED(hr)) {
- Element* ele;
- hr = elePriv->coreElement((void**)&ele);
- if (SUCCEEDED(hr))
- return ele;
- }
- return 0;
-}
-
-static HTMLFormElement *formElementFromDOMElement(IDOMElement *element)
-{
- if (!element)
- return 0;
-
- IDOMElementPrivate* elePriv;
- HRESULT hr = element->QueryInterface(IID_IDOMElementPrivate, (void**) &elePriv);
- if (SUCCEEDED(hr)) {
- Element* ele;
- hr = elePriv->coreElement((void**)&ele);
- elePriv->Release();
- if (SUCCEEDED(hr) && ele && isHTMLFormElement(ele))
- return toHTMLFormElement(ele);
- }
- return 0;
-}
-
-static HTMLInputElement* inputElementFromDOMElement(IDOMElement* element)
-{
- if (!element)
- return 0;
-
- IDOMElementPrivate* elePriv;
- HRESULT hr = element->QueryInterface(IID_IDOMElementPrivate, (void**) &elePriv);
- if (SUCCEEDED(hr)) {
- Element* ele;
- hr = elePriv->coreElement((void**)&ele);
- elePriv->Release();
- if (SUCCEEDED(hr) && ele && isHTMLInputElement(ele))
- return toHTMLInputElement(ele);
- }
- return 0;
-}
-
-// WebFramePrivate ------------------------------------------------------------
-
-class WebFrame::WebFramePrivate {
-public:
- WebFramePrivate()
- : frame(0)
- , webView(0)
- , m_policyFunction(0)
- {
- }
-
- ~WebFramePrivate() { }
- FrameView* frameView() { return frame ? frame->view() : 0; }
-
- Frame* frame;
- WebView* webView;
- FramePolicyFunction m_policyFunction;
- COMPtr<WebFramePolicyListener> m_policyListener;
-};
-
-// WebFrame ----------------------------------------------------------------
-
-WebFrame::WebFrame()
- : WebFrameLoaderClient(this)
- , m_refCount(0)
- , d(new WebFrame::WebFramePrivate)
- , m_quickRedirectComing(false)
- , m_inPrintingMode(false)
- , m_pageHeight(0)
-{
- WebFrameCount++;
- gClassCount++;
- gClassNameCount.add("WebFrame");
-}
-
-WebFrame::~WebFrame()
-{
- delete d;
- WebFrameCount--;
- gClassCount--;
- gClassNameCount.remove("WebFrame");
-}
-
-WebFrame* WebFrame::createInstance()
-{
- WebFrame* instance = new WebFrame();
- instance->AddRef();
- return instance;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::setAllowsScrolling(
- /* [in] */ BOOL flag)
-{
- if (Frame* frame = core(this))
- if (FrameView* view = frame->view())
- view->setCanHaveScrollbars(!!flag);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::allowsScrolling(
- /* [retval][out] */ BOOL *flag)
-{
- if (flag)
- if (Frame* frame = core(this))
- if (FrameView* view = frame->view())
- *flag = view->canHaveScrollbars();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::setIsDisconnected(
- /* [in] */ BOOL flag)
-{
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::setExcludeFromTextSearch(
- /* [in] */ BOOL flag)
-{
- return E_FAIL;
-}
-
-HRESULT WebFrame::reloadFromOrigin()
-{
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- coreFrame->loader()->reload(true);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::paintDocumentRectToContext(
- /* [in] */ RECT rect,
- /* [in] */ OLE_HANDLE deviceContext)
-{
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return E_FAIL;
-
- // We can't paint with a layout still pending.
- view->updateLayoutAndStyleIfNeededRecursive();
-
- HDC dc = reinterpret_cast<HDC>(static_cast<ULONG64>(deviceContext));
- GraphicsContext gc(dc);
- gc.setShouldIncludeChildWindows(true);
- gc.save();
- LONG width = rect.right - rect.left;
- LONG height = rect.bottom - rect.top;
- FloatRect dirtyRect;
- dirtyRect.setWidth(width);
- dirtyRect.setHeight(height);
- gc.clip(dirtyRect);
- gc.translate(-rect.left, -rect.top);
- view->paintContents(&gc, rect);
- gc.restore();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::paintScrollViewRectToContextAtPoint(
- /* [in] */ RECT rect,
- /* [in] */ POINT pt,
- /* [in] */ OLE_HANDLE deviceContext)
-{
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return E_FAIL;
-
- // We can't paint with a layout still pending.
- view->updateLayoutAndStyleIfNeededRecursive();
-
- HDC dc = reinterpret_cast<HDC>(static_cast<ULONG64>(deviceContext));
- GraphicsContext gc(dc);
- gc.setShouldIncludeChildWindows(true);
- gc.save();
- IntRect dirtyRect(rect);
- dirtyRect.move(-pt.x, -pt.y);
- view->paint(&gc, dirtyRect);
- gc.restore();
-
- return S_OK;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebFrame::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, __uuidof(WebFrame)))
- *ppvObject = this;
- else if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebFrame*>(this);
- else if (IsEqualGUID(riid, IID_IWebFrame))
- *ppvObject = static_cast<IWebFrame*>(this);
- else if (IsEqualGUID(riid, IID_IWebFramePrivate))
- *ppvObject = static_cast<IWebFramePrivate*>(this);
- else if (IsEqualGUID(riid, IID_IWebDocumentText))
- *ppvObject = static_cast<IWebDocumentText*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebFrame::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebFrame::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebFrame -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebFrame::name(
- /* [retval][out] */ BSTR* frameName)
-{
- if (!frameName) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *frameName = 0;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- *frameName = BString(coreFrame->tree()->uniqueName()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::webView(
- /* [retval][out] */ IWebView** view)
-{
- *view = 0;
- if (!d->webView)
- return E_FAIL;
- *view = d->webView;
- (*view)->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::frameView(
- /* [retval][out] */ IWebFrameView** /*view*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::DOMDocument(
- /* [retval][out] */ IDOMDocument** result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *result = 0;
-
- if (Frame* coreFrame = core(this))
- if (Document* document = coreFrame->document())
- *result = DOMDocument::createInstance(document);
-
- return *result ? S_OK : E_FAIL;
-}
-
-
-HRESULT WebFrame::DOMWindow(/* [retval][out] */ IDOMWindow** window)
-{
- if (!window) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *window = 0;
-
- if (Frame* coreFrame = core(this)) {
- if (WebCore::DOMWindow* coreWindow = coreFrame->document()->domWindow())
- *window = ::DOMWindow::createInstance(coreWindow);
- }
-
- return *window ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::frameElement(
- /* [retval][out] */ IDOMHTMLElement** frameElement)
-{
- if (!frameElement)
- return E_POINTER;
-
- *frameElement = 0;
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- COMPtr<IDOMElement> domElement(AdoptCOM, DOMElement::createInstance(coreFrame->ownerElement()));
- COMPtr<IDOMHTMLElement> htmlElement(Query, domElement);
- if (!htmlElement)
- return E_FAIL;
- return htmlElement.copyRefTo(frameElement);
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::currentForm(
- /* [retval][out] */ IDOMElement **currentForm)
-{
- if (!currentForm) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *currentForm = 0;
-
- if (Frame* coreFrame = core(this)) {
- if (HTMLFormElement* formElement = coreFrame->selection()->currentForm())
- *currentForm = DOMElement::createInstance(formElement);
- }
-
- return *currentForm ? S_OK : E_FAIL;
-}
-
-JSGlobalContextRef STDMETHODCALLTYPE WebFrame::globalContext()
-{
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return 0;
-
- return toGlobalRef(coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec());
-}
-
-JSGlobalContextRef WebFrame::globalContextForScriptWorld(IWebScriptWorld* iWorld)
-{
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return 0;
-
- COMPtr<WebScriptWorld> world(Query, iWorld);
- if (!world)
- return 0;
-
- return toGlobalRef(coreFrame->script()->globalObject(world->world())->globalExec());
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::loadRequest(
- /* [in] */ IWebURLRequest* request)
-{
- COMPtr<WebMutableURLRequest> requestImpl;
-
- HRESULT hr = request->QueryInterface(&requestImpl);
- if (FAILED(hr))
- return hr;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- coreFrame->loader()->load(FrameLoadRequest(coreFrame, requestImpl->resourceRequest()));
- return S_OK;
-}
-
-void WebFrame::loadData(PassRefPtr<WebCore::SharedBuffer> data, BSTR mimeType, BSTR textEncodingName, BSTR baseURL, BSTR failingURL)
-{
- String mimeTypeString(mimeType, SysStringLen(mimeType));
- if (!mimeType)
- mimeTypeString = "text/html";
-
- String encodingString(textEncodingName, SysStringLen(textEncodingName));
-
- // FIXME: We should really be using MarshallingHelpers::BSTRToKURL here,
- // but that would turn a null BSTR into a null KURL, and we crash inside of
- // WebCore if we use a null KURL in constructing the ResourceRequest.
- KURL baseKURL = KURL(KURL(), String(baseURL ? baseURL : L"", SysStringLen(baseURL)));
-
- KURL failingKURL = MarshallingHelpers::BSTRToKURL(failingURL);
-
- ResourceRequest request(baseKURL);
- SubstituteData substituteData(data, mimeTypeString, encodingString, failingKURL);
-
- // This method is only called from IWebFrame methods, so don't ASSERT that the Frame pointer isn't null.
- if (Frame* coreFrame = core(this))
- coreFrame->loader()->load(FrameLoadRequest(coreFrame, request, substituteData));
-}
-
-
-HRESULT STDMETHODCALLTYPE WebFrame::loadData(
- /* [in] */ IStream* data,
- /* [in] */ BSTR mimeType,
- /* [in] */ BSTR textEncodingName,
- /* [in] */ BSTR url)
-{
- RefPtr<SharedBuffer> sharedBuffer = SharedBuffer::create();
-
- STATSTG stat;
- if (SUCCEEDED(data->Stat(&stat, STATFLAG_NONAME))) {
- if (!stat.cbSize.HighPart && stat.cbSize.LowPart) {
- Vector<char> dataBuffer(stat.cbSize.LowPart);
- ULONG read;
- // FIXME: this does a needless copy, would be better to read right into the SharedBuffer
- // or adopt the Vector or something.
- if (SUCCEEDED(data->Read(dataBuffer.data(), static_cast<ULONG>(dataBuffer.size()), &read)))
- sharedBuffer->append(dataBuffer.data(), static_cast<int>(dataBuffer.size()));
- }
- }
-
- loadData(sharedBuffer, mimeType, textEncodingName, url, 0);
- return S_OK;
-}
-
-HRESULT WebFrame::loadPlainTextString(
- /* [in] */ BSTR string,
- /* [in] */ BSTR url)
-{
- RefPtr<SharedBuffer> sharedBuffer = SharedBuffer::create(reinterpret_cast<char*>(string), sizeof(UChar) * SysStringLen(string));
- BString plainTextMimeType(TEXT("text/plain"), 10);
- BString utf16Encoding(TEXT("utf-16"), 6);
- loadData(sharedBuffer.release(), plainTextMimeType, utf16Encoding, url, 0);
- return S_OK;
-}
-
-void WebFrame::loadHTMLString(BSTR string, BSTR baseURL, BSTR unreachableURL)
-{
- RefPtr<SharedBuffer> sharedBuffer = SharedBuffer::create(reinterpret_cast<char*>(string), sizeof(UChar) * SysStringLen(string));
- BString utf16Encoding(TEXT("utf-16"), 6);
- loadData(sharedBuffer.release(), 0, utf16Encoding, baseURL, unreachableURL);
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::loadHTMLString(
- /* [in] */ BSTR string,
- /* [in] */ BSTR baseURL)
-{
- loadHTMLString(string, baseURL, 0);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::loadAlternateHTMLString(
- /* [in] */ BSTR str,
- /* [in] */ BSTR baseURL,
- /* [in] */ BSTR unreachableURL)
-{
- loadHTMLString(str, baseURL, unreachableURL);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::loadArchive(
- /* [in] */ IWebArchive* /*archive*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-static inline WebDataSource *getWebDataSource(DocumentLoader* loader)
-{
- return loader ? static_cast<WebDocumentLoader*>(loader)->dataSource() : 0;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::dataSource(
- /* [retval][out] */ IWebDataSource** source)
-{
- if (!source) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *source = 0;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- WebDataSource* webDataSource = getWebDataSource(coreFrame->loader()->documentLoader());
-
- *source = webDataSource;
-
- if (webDataSource)
- webDataSource->AddRef();
-
- return *source ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::provisionalDataSource(
- /* [retval][out] */ IWebDataSource** source)
-{
- if (!source) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *source = 0;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- WebDataSource* webDataSource = getWebDataSource(coreFrame->loader()->provisionalDocumentLoader());
-
- *source = webDataSource;
-
- if (webDataSource)
- webDataSource->AddRef();
-
- return *source ? S_OK : E_FAIL;
-}
-
-KURL WebFrame::url() const
-{
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return KURL();
-
- return coreFrame->document()->url();
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::stopLoading( void)
-{
- if (Frame* coreFrame = core(this))
- coreFrame->loader()->stopAllLoaders();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::reload( void)
-{
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- coreFrame->loader()->reload();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::findFrameNamed(
- /* [in] */ BSTR name,
- /* [retval][out] */ IWebFrame** frame)
-{
- if (!frame) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *frame = 0;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- Frame* foundFrame = coreFrame->tree()->find(AtomicString(name, SysStringLen(name)));
- if (!foundFrame)
- return S_OK;
-
- WebFrame* foundWebFrame = kit(foundFrame);
- if (!foundWebFrame)
- return E_FAIL;
-
- return foundWebFrame->QueryInterface(IID_IWebFrame, (void**)frame);
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::parentFrame(
- /* [retval][out] */ IWebFrame** frame)
-{
- HRESULT hr = S_OK;
- *frame = 0;
- if (Frame* coreFrame = core(this))
- if (WebFrame* webFrame = kit(coreFrame->tree()->parent()))
- hr = webFrame->QueryInterface(IID_IWebFrame, (void**) frame);
-
- return hr;
-}
-
-class EnumChildFrames : public IEnumVARIANT
-{
-public:
- EnumChildFrames(Frame* f) : m_refCount(1), m_frame(f), m_curChild(f ? f->tree()->firstChild() : 0) { }
-
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject)
- {
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown) || IsEqualGUID(riid, IID_IEnumVARIANT))
- *ppvObject = this;
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
- }
-
- virtual ULONG STDMETHODCALLTYPE AddRef(void)
- {
- return ++m_refCount;
- }
-
- virtual ULONG STDMETHODCALLTYPE Release(void)
- {
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
- return newRef;
- }
-
- virtual HRESULT STDMETHODCALLTYPE Next(ULONG celt, VARIANT *rgVar, ULONG *pCeltFetched)
- {
- if (pCeltFetched)
- *pCeltFetched = 0;
- if (!rgVar)
- return E_POINTER;
- VariantInit(rgVar);
- if (!celt || celt > 1)
- return S_FALSE;
- if (!m_frame || !m_curChild)
- return S_FALSE;
-
- WebFrame* webFrame = kit(m_curChild);
- IUnknown* unknown;
- HRESULT hr = webFrame->QueryInterface(IID_IUnknown, (void**)&unknown);
- if (FAILED(hr))
- return hr;
-
- V_VT(rgVar) = VT_UNKNOWN;
- V_UNKNOWN(rgVar) = unknown;
-
- m_curChild = m_curChild->tree()->nextSibling();
- if (pCeltFetched)
- *pCeltFetched = 1;
- return S_OK;
- }
-
- virtual HRESULT STDMETHODCALLTYPE Skip(ULONG celt)
- {
- if (!m_frame)
- return S_FALSE;
- for (unsigned i = 0; i < celt && m_curChild; i++)
- m_curChild = m_curChild->tree()->nextSibling();
- return m_curChild ? S_OK : S_FALSE;
- }
-
- virtual HRESULT STDMETHODCALLTYPE Reset(void)
- {
- if (!m_frame)
- return S_FALSE;
- m_curChild = m_frame->tree()->firstChild();
- return S_OK;
- }
-
- virtual HRESULT STDMETHODCALLTYPE Clone(IEnumVARIANT**)
- {
- return E_NOTIMPL;
- }
-
-private:
- ULONG m_refCount;
- Frame* m_frame;
- Frame* m_curChild;
-};
-
-HRESULT STDMETHODCALLTYPE WebFrame::childFrames(
- /* [retval][out] */ IEnumVARIANT **enumFrames)
-{
- if (!enumFrames)
- return E_POINTER;
-
- *enumFrames = new EnumChildFrames(core(this));
- return S_OK;
-}
-
-// IWebFramePrivate ------------------------------------------------------
-
-HRESULT WebFrame::renderTreeAsExternalRepresentation(BOOL forPrinting, BSTR *result)
-{
- if (!result)
- return E_POINTER;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- *result = BString(externalRepresentation(coreFrame, forPrinting ? RenderAsTextPrintingMode : RenderAsTextBehaviorNormal)).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::pageNumberForElementById(
- /* [in] */ BSTR id,
- /* [in] */ float pageWidthInPixels,
- /* [in] */ float pageHeightInPixels,
- /* [retval][out] */ int* result)
-{
- // TODO: Please remove this function if not needed as this is LTC specific function
- // and has been moved to Internals.
- notImplemented();
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::numberOfPages(
- /* [in] */ float pageWidthInPixels,
- /* [in] */ float pageHeightInPixels,
- /* [retval][out] */ int* result)
-{
- // TODO: Please remove this function if not needed as this is LTC specific function
- // and has been moved to Internals.
- notImplemented();
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::scrollOffset(
- /* [retval][out] */ SIZE* offset)
-{
- if (!offset) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return E_FAIL;
-
- *offset = view->scrollOffset();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::layout()
-{
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return E_FAIL;
-
- view->layout();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::firstLayoutDone(
- /* [retval][out] */ BOOL* result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *result = 0;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- *result = coreFrame->loader()->stateMachine()->firstLayoutDone();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::loadType(
- /* [retval][out] */ WebFrameLoadType* type)
-{
- if (!type) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *type = (WebFrameLoadType)0;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- *type = (WebFrameLoadType)coreFrame->loader()->loadType();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::pendingFrameUnloadEventCount(
- /* [retval][out] */ UINT* result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *result = 0;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- *result = coreFrame->document()->domWindow()->pendingUnloadEventListeners();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::unused2()
-{
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::hasSpellingMarker(
- /* [in] */ UINT from,
- /* [in] */ UINT length,
- /* [retval][out] */ BOOL* result)
-{
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
- *result = coreFrame->editor().selectionStartHasMarkerFor(DocumentMarker::Spelling, from, length);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::clearOpener()
-{
- HRESULT hr = S_OK;
- if (Frame* coreFrame = core(this))
- coreFrame->loader()->setOpener(0);
-
- return hr;
-}
-
-HRESULT WebFrame::setTextDirection(BSTR direction)
-{
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- String directionString(direction, SysStringLen(direction));
- if (directionString == "auto")
- coreFrame->editor().setBaseWritingDirection(NaturalWritingDirection);
- else if (directionString == "ltr")
- coreFrame->editor().setBaseWritingDirection(LeftToRightWritingDirection);
- else if (directionString == "rtl")
- coreFrame->editor().setBaseWritingDirection(RightToLeftWritingDirection);
- return S_OK;
-}
-
-// IWebDocumentText -----------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebFrame::supportsTextEncoding(
- /* [retval][out] */ BOOL* result)
-{
- *result = FALSE;
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::selectedString(
- /* [retval][out] */ BSTR* result)
-{
- *result = 0;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- String text = coreFrame->displayStringModifiedByEncoding(coreFrame->editor().selectedText());
-
- *result = BString(text).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::selectAll()
-{
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- if (!coreFrame->editor().command("SelectAll").execute())
- return E_FAIL;
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::deselectAll()
-{
- return E_NOTIMPL;
-}
-
-// WebFrame ---------------------------------------------------------------
-
-PassRefPtr<Frame> WebFrame::init(IWebView* webView, Page* page, HTMLFrameOwnerElement* ownerElement)
-{
- webView->QueryInterface(&d->webView);
- d->webView->Release(); // don't hold the extra ref
-
- HWND viewWindow;
- d->webView->viewWindow((OLE_HANDLE*)&viewWindow);
-
- this->AddRef(); // We release this ref in frameLoaderDestroyed()
- RefPtr<Frame> frame = Frame::create(page, ownerElement, this);
- d->frame = frame.get();
- return frame.release();
-}
-
-Frame* WebFrame::impl()
-{
- return d->frame;
-}
-
-void WebFrame::invalidate()
-{
- Frame* coreFrame = core(this);
- ASSERT(coreFrame);
-
- if (Document* document = coreFrame->document())
- document->recalcStyle(Node::Force);
-}
-
-HRESULT WebFrame::inViewSourceMode(BOOL* flag)
-{
- if (!flag) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *flag = FALSE;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- *flag = coreFrame->inViewSourceMode() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT WebFrame::setInViewSourceMode(BOOL flag)
-{
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- coreFrame->setInViewSourceMode(!!flag);
- return S_OK;
-}
-
-HRESULT WebFrame::elementWithName(BSTR name, IDOMElement* form, IDOMElement** element)
-{
- if (!form)
- return E_INVALIDARG;
-
- HTMLFormElement* formElement = formElementFromDOMElement(form);
- if (formElement) {
- const Vector<FormAssociatedElement*>& elements = formElement->associatedElements();
- AtomicString targetName((UChar*)name, SysStringLen(name));
- for (unsigned int i = 0; i < elements.size(); 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);
- return S_OK;
- }
- }
- }
- return E_FAIL;
-}
-
-HRESULT WebFrame::formForElement(IDOMElement* element, IDOMElement** form)
-{
- if (!element)
- return E_INVALIDARG;
-
- HTMLInputElement *inputElement = inputElementFromDOMElement(element);
- if (!inputElement)
- return E_FAIL;
-
- HTMLFormElement *formElement = inputElement->form();
- if (!formElement)
- return E_FAIL;
-
- *form = DOMElement::createInstance(formElement);
- return S_OK;
-}
-
-HRESULT WebFrame::elementDoesAutoComplete(IDOMElement *element, BOOL *result)
-{
- *result = false;
- if (!element)
- return E_INVALIDARG;
-
- HTMLInputElement *inputElement = inputElementFromDOMElement(element);
- if (!inputElement)
- *result = false;
- else
- *result = inputElement->isTextField() && !inputElement->isPasswordField() && inputElement->shouldAutocomplete();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::resumeAnimations()
-{
- Frame* frame = core(this);
- if (!frame)
- return E_FAIL;
-
- frame->animation()->resumeAnimations();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::suspendAnimations()
-{
- Frame* frame = core(this);
- if (!frame)
- return E_FAIL;
-
- frame->animation()->suspendAnimations();
- return S_OK;
-}
-
-HRESULT WebFrame::pauseAnimation(BSTR animationName, IDOMNode* node, double secondsFromNow, BOOL* animationWasRunning)
-{
- if (!node || !animationWasRunning)
- return E_POINTER;
-
- *animationWasRunning = FALSE;
-
- Frame* frame = core(this);
- if (!frame)
- return E_FAIL;
-
- AnimationController* controller = frame->animation();
- if (!controller)
- return E_FAIL;
-
- COMPtr<DOMNode> domNode(Query, node);
- if (!domNode)
- return E_FAIL;
-
- *animationWasRunning = controller->pauseAnimationAtTime(domNode->node()->renderer(), String(animationName, SysStringLen(animationName)), secondsFromNow);
- return S_OK;
-}
-
-HRESULT WebFrame::pauseTransition(BSTR propertyName, IDOMNode* node, double secondsFromNow, BOOL* transitionWasRunning)
-{
- if (!node || !transitionWasRunning)
- return E_POINTER;
-
- *transitionWasRunning = FALSE;
-
- Frame* frame = core(this);
- if (!frame)
- return E_FAIL;
-
- AnimationController* controller = frame->animation();
- if (!controller)
- return E_FAIL;
-
- COMPtr<DOMNode> domNode(Query, node);
- if (!domNode)
- return E_FAIL;
-
- *transitionWasRunning = controller->pauseTransitionAtTime(domNode->node()->renderer(), String(propertyName, SysStringLen(propertyName)), secondsFromNow);
- return S_OK;
-}
-
-HRESULT WebFrame::visibleContentRect(RECT* rect)
-{
- if (!rect)
- return E_POINTER;
- SetRectEmpty(rect);
-
- Frame* frame = core(this);
- if (!frame)
- return E_FAIL;
-
- FrameView* view = frame->view();
- if (!view)
- return E_FAIL;
-
- *rect = view->visibleContentRect();
- return S_OK;
-}
-
-HRESULT WebFrame::numberOfActiveAnimations(UINT* number)
-{
- if (!number)
- return E_POINTER;
-
- *number = 0;
-
- Frame* frame = core(this);
- if (!frame)
- return E_FAIL;
-
- AnimationController* controller = frame->animation();
- if (!controller)
- return E_FAIL;
-
- *number = controller->numberOfActiveAnimations(frame->document());
- return S_OK;
-}
-
-HRESULT WebFrame::isDisplayingStandaloneImage(BOOL* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = FALSE;
-
- Frame* frame = core(this);
- if (!frame)
- return E_FAIL;
-
- Document* document = frame->document();
- *result = document && document->isImageDocument();
- return S_OK;
-}
-
-HRESULT WebFrame::allowsFollowingLink(BSTR url, BOOL* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = TRUE;
-
- Frame* frame = core(this);
- if (!frame)
- return E_FAIL;
-
- *result = frame->document()->securityOrigin()->canDisplay(MarshallingHelpers::BSTRToKURL(url));
- return S_OK;
-}
-
-HRESULT WebFrame::controlsInForm(IDOMElement* form, IDOMElement** controls, int* cControls)
-{
- if (!form)
- return E_INVALIDARG;
-
- HTMLFormElement* formElement = formElementFromDOMElement(form);
- if (!formElement)
- return E_FAIL;
-
- int inCount = *cControls;
- int count = (int) formElement->associatedElements().size();
- *cControls = count;
- if (!controls)
- return S_OK;
- if (inCount < count)
- return E_FAIL;
-
- *cControls = 0;
- 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(toHTMLElement(elements.at(i)));
- (*cControls)++;
- }
- }
- return S_OK;
-}
-
-HRESULT WebFrame::elementIsPassword(IDOMElement *element, bool *result)
-{
- HTMLInputElement* inputElement = inputElementFromDOMElement(element);
- *result = inputElement && inputElement->isPasswordField();
- return S_OK;
-}
-
-HRESULT WebFrame::searchForLabelsBeforeElement(const BSTR* labels, unsigned cLabels, IDOMElement* beforeElement, unsigned* outResultDistance, BOOL* outResultIsInCellAbove, BSTR* result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- if (outResultDistance)
- *outResultDistance = 0;
- if (outResultIsInCellAbove)
- *outResultIsInCellAbove = FALSE;
- *result = 0;
-
- if (!cLabels)
- return S_OK;
- if (cLabels < 1)
- return E_INVALIDARG;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- Vector<String> labelStrings(cLabels);
- for (int i=0; i<cLabels; i++)
- labelStrings[i] = String(labels[i], SysStringLen(labels[i]));
- Element *coreElement = elementFromDOMElement(beforeElement);
- if (!coreElement)
- return E_FAIL;
-
- size_t resultDistance;
- bool resultIsInCellAbove;
- String label = coreFrame->searchForLabelsBeforeElement(labelStrings, coreElement, &resultDistance, &resultIsInCellAbove);
-
- *result = SysAllocStringLen(label.characters(), label.length());
- if (label.length() && !*result)
- return E_OUTOFMEMORY;
- if (outResultDistance)
- *outResultDistance = resultDistance;
- if (outResultIsInCellAbove)
- *outResultIsInCellAbove = resultIsInCellAbove;
-
- return S_OK;
-}
-
-HRESULT WebFrame::matchLabelsAgainstElement(const BSTR* labels, int cLabels, IDOMElement* againstElement, BSTR* result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *result = 0;
-
- if (!cLabels)
- return S_OK;
- if (cLabels < 1)
- return E_INVALIDARG;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- Vector<String> labelStrings(cLabels);
- for (int i=0; i<cLabels; i++)
- labelStrings[i] = String(labels[i], SysStringLen(labels[i]));
- Element *coreElement = elementFromDOMElement(againstElement);
- if (!coreElement)
- return E_FAIL;
-
- String label = coreFrame->matchLabelsAgainstElement(labelStrings, coreElement);
-
- *result = SysAllocStringLen(label.characters(), label.length());
- if (label.length() && !*result)
- return E_OUTOFMEMORY;
- return S_OK;
-}
-
-HRESULT WebFrame::canProvideDocumentSource(bool* result)
-{
- HRESULT hr = S_OK;
- *result = false;
-
- COMPtr<IWebDataSource> dataSource;
- hr = WebFrame::dataSource(&dataSource);
- if (FAILED(hr))
- return hr;
-
- COMPtr<IWebURLResponse> urlResponse;
- hr = dataSource->response(&urlResponse);
- if (SUCCEEDED(hr) && urlResponse) {
- BString mimeTypeBStr;
- if (SUCCEEDED(urlResponse->MIMEType(&mimeTypeBStr))) {
- String mimeType(mimeTypeBStr, SysStringLen(mimeTypeBStr));
- *result = mimeType == "text/html" || WebCore::DOMImplementation::isXMLMIMEType(mimeType);
- }
- }
- return hr;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::layerTreeAsText(BSTR* result)
-{
- if (!result)
- return E_POINTER;
- *result = 0;
-
- Frame* frame = core(this);
- if (!frame)
- return E_FAIL;
-
- String text = frame->layerTreeAsText();
- *result = BString(text).release();
- return S_OK;
-}
-
-void WebFrame::frameLoaderDestroyed()
-{
- // The FrameLoader going away is equivalent to the Frame going away,
- // so we now need to clear our frame pointer.
- d->frame = 0;
-
- this->Release();
-}
-
-void WebFrame::makeRepresentation(DocumentLoader*)
-{
- notImplemented();
-}
-
-void WebFrame::forceLayoutForNonHTML()
-{
- notImplemented();
-}
-
-void WebFrame::setCopiesOnScroll()
-{
- notImplemented();
-}
-
-void WebFrame::detachedFromParent2()
-{
- notImplemented();
-}
-
-void WebFrame::detachedFromParent3()
-{
- notImplemented();
-}
-
-void WebFrame::cancelPolicyCheck()
-{
- if (d->m_policyListener) {
- d->m_policyListener->invalidate();
- d->m_policyListener = 0;
- }
-
- d->m_policyFunction = 0;
-}
-
-void WebFrame::dispatchWillSendSubmitEvent(PassRefPtr<WebCore::FormState>)
-{
-}
-
-void WebFrame::dispatchWillSubmitForm(FramePolicyFunction function, PassRefPtr<FormState> formState)
-{
- Frame* coreFrame = core(this);
- ASSERT(coreFrame);
-
- COMPtr<IWebFormDelegate> formDelegate;
-
- if (FAILED(d->webView->formDelegate(&formDelegate))) {
- (coreFrame->loader()->policyChecker()->*function)(PolicyUse);
- return;
- }
-
- COMPtr<IDOMElement> formElement(AdoptCOM, DOMElement::createInstance(formState->form()));
-
- HashMap<String, String> formValuesMap;
- const StringPairVector& textFieldValues = formState->textFieldValues();
- size_t size = textFieldValues.size();
- for (size_t i = 0; i < size; ++i)
- formValuesMap.add(textFieldValues[i].first, textFieldValues[i].second);
-
- COMPtr<IPropertyBag> formValuesPropertyBag(AdoptCOM, COMPropertyBag<String>::createInstance(formValuesMap));
-
- COMPtr<WebFrame> sourceFrame(kit(formState->sourceDocument()->frame()));
- if (SUCCEEDED(formDelegate->willSubmitForm(this, sourceFrame.get(), formElement.get(), formValuesPropertyBag.get(), setUpPolicyListener(function).get())))
- return;
-
- // FIXME: Add a sane default implementation
- (coreFrame->loader()->policyChecker()->*function)(PolicyUse);
-}
-
-void WebFrame::revertToProvisionalState(DocumentLoader*)
-{
- notImplemented();
-}
-
-void WebFrame::setMainFrameDocumentReady(bool)
-{
- notImplemented();
-}
-
-void WebFrame::willChangeTitle(DocumentLoader*)
-{
- notImplemented();
-}
-
-void WebFrame::didChangeTitle(DocumentLoader*)
-{
- notImplemented();
-}
-
-void WebFrame::didChangeIcons(DocumentLoader*)
-{
- notImplemented();
-}
-
-bool WebFrame::canHandleRequest(const ResourceRequest& request) const
-{
- return WebView::canHandleRequest(request);
-}
-
-bool WebFrame::canShowMIMETypeAsHTML(const String& /*MIMEType*/) const
-{
- notImplemented();
- return true;
-}
-
-bool WebFrame::canShowMIMEType(const String& /*MIMEType*/) const
-{
- notImplemented();
- return true;
-}
-
-bool WebFrame::representationExistsForURLScheme(const String& /*URLScheme*/) const
-{
- notImplemented();
- return false;
-}
-
-String WebFrame::generatedMIMETypeForURLScheme(const String& /*URLScheme*/) const
-{
- notImplemented();
- ASSERT_NOT_REACHED();
- return String();
-}
-
-void WebFrame::frameLoadCompleted()
-{
-}
-
-void WebFrame::restoreViewState()
-{
-}
-
-void WebFrame::provisionalLoadStarted()
-{
- notImplemented();
-}
-
-bool WebFrame::shouldTreatURLAsSameAsCurrent(const KURL&) const
-{
- notImplemented();
- return false;
-}
-
-void WebFrame::addHistoryItemForFragmentScroll()
-{
- notImplemented();
-}
-
-void WebFrame::didFinishLoad()
-{
- notImplemented();
-}
-
-void WebFrame::prepareForDataSourceReplacement()
-{
- notImplemented();
-}
-
-String WebFrame::userAgent(const KURL& url)
-{
- return d->webView->userAgentForKURL(url);
-}
-
-void WebFrame::saveViewStateToItem(HistoryItem*)
-{
-}
-
-ResourceError WebFrame::cancelledError(const ResourceRequest& request)
-{
- // FIXME: Need ChickenCat to include CFNetwork/CFURLError.h to get these values
- // Alternatively, we could create our own error domain/codes.
- return ResourceError(String(WebURLErrorDomain), -999, request.url().string(), String());
-}
-
-ResourceError WebFrame::blockedError(const ResourceRequest& request)
-{
- // FIXME: Need to implement the String descriptions for errors in the WebKitErrorDomain and have them localized
- return ResourceError(String(WebKitErrorDomain), WebKitErrorCannotUseRestrictedPort, request.url().string(), String());
-}
-
-ResourceError WebFrame::cannotShowURLError(const ResourceRequest& request)
-{
- // FIXME: Need to implement the String descriptions for errors in the WebKitErrorDomain and have them localized
- return ResourceError(String(WebKitErrorDomain), WebKitErrorCannotShowURL, request.url().string(), String());
-}
-
-ResourceError WebFrame::interruptedForPolicyChangeError(const ResourceRequest& request)
-{
- // FIXME: Need to implement the String descriptions for errors in the WebKitErrorDomain and have them localized
- return ResourceError(String(WebKitErrorDomain), WebKitErrorFrameLoadInterruptedByPolicyChange, request.url().string(), String());
-}
-
-ResourceError WebFrame::cannotShowMIMETypeError(const ResourceResponse&)
-{
- notImplemented();
- return ResourceError();
-}
-
-ResourceError WebFrame::fileDoesNotExistError(const ResourceResponse&)
-{
- notImplemented();
- return ResourceError();
-}
-
-ResourceError WebFrame::pluginWillHandleLoadError(const ResourceResponse& response)
-{
- return ResourceError(String(WebKitErrorDomain), WebKitErrorPlugInWillHandleLoad, response.url().string(), String());
-}
-
-bool WebFrame::shouldFallBack(const ResourceError& error)
-{
- if (error.errorCode() == WebURLErrorCancelled && error.domain() == String(WebURLErrorDomain))
- return false;
-
- if (error.errorCode() == WebKitErrorPlugInWillHandleLoad && error.domain() == String(WebKitErrorDomain))
- return false;
-
- return true;
-}
-
-COMPtr<WebFramePolicyListener> WebFrame::setUpPolicyListener(WebCore::FramePolicyFunction function)
-{
- // FIXME: <rdar://5634381> We need to support multiple active policy listeners.
-
- if (d->m_policyListener)
- d->m_policyListener->invalidate();
-
- Frame* coreFrame = core(this);
- ASSERT(coreFrame);
-
- d->m_policyListener.adoptRef(WebFramePolicyListener::createInstance(coreFrame));
- d->m_policyFunction = function;
-
- return d->m_policyListener;
-}
-
-void WebFrame::receivedPolicyDecision(PolicyAction action)
-{
- ASSERT(d->m_policyListener);
- ASSERT(d->m_policyFunction);
-
- FramePolicyFunction function = d->m_policyFunction;
-
- d->m_policyListener = 0;
- d->m_policyFunction = 0;
-
- Frame* coreFrame = core(this);
- ASSERT(coreFrame);
-
- (coreFrame->loader()->policyChecker()->*function)(action);
-}
-
-void WebFrame::dispatchDecidePolicyForResponse(FramePolicyFunction function, const ResourceResponse& response, const ResourceRequest& request)
-{
- Frame* coreFrame = core(this);
- ASSERT(coreFrame);
-
- COMPtr<IWebPolicyDelegate> policyDelegate;
- if (FAILED(d->webView->policyDelegate(&policyDelegate)))
- policyDelegate = DefaultPolicyDelegate::sharedInstance();
-
- COMPtr<IWebURLRequest> urlRequest(AdoptCOM, WebMutableURLRequest::createInstance(request));
-
- if (SUCCEEDED(policyDelegate->decidePolicyForMIMEType(d->webView, BString(response.mimeType()), urlRequest.get(), this, setUpPolicyListener(function).get())))
- return;
-
- (coreFrame->loader()->policyChecker()->*function)(PolicyUse);
-}
-
-void WebFrame::dispatchDecidePolicyForNewWindowAction(FramePolicyFunction function, const NavigationAction& action, const ResourceRequest& request, PassRefPtr<FormState> formState, const String& frameName)
-{
- Frame* coreFrame = core(this);
- ASSERT(coreFrame);
-
- COMPtr<IWebPolicyDelegate> policyDelegate;
- if (FAILED(d->webView->policyDelegate(&policyDelegate)))
- policyDelegate = DefaultPolicyDelegate::sharedInstance();
-
- COMPtr<IWebURLRequest> urlRequest(AdoptCOM, WebMutableURLRequest::createInstance(request));
- COMPtr<WebActionPropertyBag> actionInformation(AdoptCOM, WebActionPropertyBag::createInstance(action, formState ? formState->form() : 0, coreFrame));
-
- if (SUCCEEDED(policyDelegate->decidePolicyForNewWindowAction(d->webView, actionInformation.get(), urlRequest.get(), BString(frameName), setUpPolicyListener(function).get())))
- return;
-
- (coreFrame->loader()->policyChecker()->*function)(PolicyUse);
-}
-
-void WebFrame::dispatchDecidePolicyForNavigationAction(FramePolicyFunction function, const NavigationAction& action, const ResourceRequest& request, PassRefPtr<FormState> formState)
-{
- Frame* coreFrame = core(this);
- ASSERT(coreFrame);
-
- COMPtr<IWebPolicyDelegate> policyDelegate;
- if (FAILED(d->webView->policyDelegate(&policyDelegate)))
- policyDelegate = DefaultPolicyDelegate::sharedInstance();
-
- COMPtr<IWebURLRequest> urlRequest(AdoptCOM, WebMutableURLRequest::createInstance(request));
- COMPtr<WebActionPropertyBag> actionInformation(AdoptCOM, WebActionPropertyBag::createInstance(action, formState ? formState->form() : 0, coreFrame));
-
- if (SUCCEEDED(policyDelegate->decidePolicyForNavigationAction(d->webView, actionInformation.get(), urlRequest.get(), this, setUpPolicyListener(function).get())))
- return;
-
- (coreFrame->loader()->policyChecker()->*function)(PolicyUse);
-}
-
-void WebFrame::dispatchUnableToImplementPolicy(const ResourceError& error)
-{
- COMPtr<IWebPolicyDelegate> policyDelegate;
- if (FAILED(d->webView->policyDelegate(&policyDelegate)))
- policyDelegate = DefaultPolicyDelegate::sharedInstance();
-
- COMPtr<IWebError> webError(AdoptCOM, WebError::createInstance(error));
- policyDelegate->unableToImplementPolicyWithError(d->webView, webError.get(), this);
-}
-
-void WebFrame::convertMainResourceLoadToDownload(DocumentLoader* documentLoader, const ResourceRequest& request, const ResourceResponse& response)
-{
- COMPtr<IWebDownloadDelegate> downloadDelegate;
- COMPtr<IWebView> webView;
- if (SUCCEEDED(this->webView(&webView))) {
- if (FAILED(webView->downloadDelegate(&downloadDelegate))) {
- // If the WebView doesn't successfully provide a download delegate we'll pass a null one
- // into the WebDownload - which may or may not decide to use a DefaultDownloadDelegate
- LOG_ERROR("Failed to get downloadDelegate from WebView");
- downloadDelegate = 0;
- }
- }
-
- // Its the delegate's job to ref the WebDownload to keep it alive - otherwise it will be destroyed
- // when this method returns
- COMPtr<WebDownload> download;
- download.adoptRef(WebDownload::createInstance(documentLoader->mainResourceLoader()->handle(), request, response, downloadDelegate.get()));
-}
-
-bool WebFrame::dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int /*length*/)
-{
- notImplemented();
- return false;
-}
-
-void WebFrame::dispatchDidFailProvisionalLoad(const ResourceError& error)
-{
- COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;
- if (SUCCEEDED(d->webView->frameLoadDelegate(&frameLoadDelegate))) {
- COMPtr<IWebError> webError;
- webError.adoptRef(WebError::createInstance(error));
- frameLoadDelegate->didFailProvisionalLoadWithError(d->webView, webError.get(), this);
- }
-}
-
-void WebFrame::dispatchDidFailLoad(const ResourceError& error)
-{
- COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;
- if (SUCCEEDED(d->webView->frameLoadDelegate(&frameLoadDelegate))) {
- COMPtr<IWebError> webError;
- webError.adoptRef(WebError::createInstance(error));
- frameLoadDelegate->didFailLoadWithError(d->webView, webError.get(), this);
- }
-}
-
-void WebFrame::startDownload(const ResourceRequest& request, const String& /* suggestedName */)
-{
- d->webView->downloadURL(request.url());
-}
-
-PassRefPtr<Widget> WebFrame::createJavaAppletWidget(const IntSize& pluginSize, HTMLAppletElement* element, const KURL& /*baseURL*/, const Vector<String>& paramNames, const Vector<String>& paramValues)
-{
- RefPtr<PluginView> pluginView = PluginView::create(core(this), pluginSize, element, KURL(), paramNames, paramValues, "application/x-java-applet", false);
-
- // Check if the plugin can be loaded successfully
- if (pluginView->plugin() && pluginView->plugin()->load())
- return pluginView;
-
- COMPtr<IWebResourceLoadDelegate> resourceLoadDelegate;
- if (FAILED(d->webView->resourceLoadDelegate(&resourceLoadDelegate)))
- return pluginView;
-
- COMPtr<CFDictionaryPropertyBag> userInfoBag = CFDictionaryPropertyBag::createInstance();
-
- ResourceError resourceError(String(WebKitErrorDomain), WebKitErrorJavaUnavailable, String(), String());
- COMPtr<IWebError> error(AdoptCOM, WebError::createInstance(resourceError, userInfoBag.get()));
-
- resourceLoadDelegate->plugInFailedWithError(d->webView, error.get(), getWebDataSource(d->frame->loader()->documentLoader()));
-
- return pluginView;
-}
-
-ObjectContentType WebFrame::objectContentType(const KURL& url, const String& mimeType, bool shouldPreferPlugInsForImages)
-{
- return WebCore::FrameLoader::defaultObjectContentType(url, mimeType, shouldPreferPlugInsForImages);
-}
-
-String WebFrame::overrideMediaType() const
-{
- notImplemented();
- return String();
-}
-
-void WebFrame::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld* world)
-{
- Frame* coreFrame = core(this);
- ASSERT(coreFrame);
-
- Settings* settings = coreFrame->settings();
- if (!settings || !settings->isScriptEnabled())
- return;
-
- COMPtr<IWebFrameLoadDelegate> frameLoadDelegate;
- if (FAILED(d->webView->frameLoadDelegate(&frameLoadDelegate)))
- return;
-
- COMPtr<IWebFrameLoadDelegatePrivate2> delegatePrivate(Query, frameLoadDelegate);
- if (delegatePrivate && delegatePrivate->didClearWindowObjectForFrameInScriptWorld(d->webView, this, WebScriptWorld::findOrCreateWorld(world).get()) != E_NOTIMPL)
- return;
-
- if (world != mainThreadNormalWorld())
- return;
-
- JSContextRef context = toRef(coreFrame->script()->globalObject(world)->globalExec());
- JSObjectRef windowObject = toRef(coreFrame->script()->globalObject(world));
- ASSERT(windowObject);
-
- if (FAILED(frameLoadDelegate->didClearWindowObject(d->webView, context, windowObject, this)))
- frameLoadDelegate->windowScriptObjectAvailable(d->webView, context, windowObject);
-}
-
-void WebFrame::documentElementAvailable()
-{
-}
-
-void WebFrame::didPerformFirstNavigation() const
-{
- COMPtr<IWebPreferences> preferences;
- if (FAILED(d->webView->preferences(&preferences)))
- return;
-
- COMPtr<IWebPreferencesPrivate> preferencesPrivate(Query, preferences);
- if (!preferencesPrivate)
- return;
- BOOL automaticallyDetectsCacheModel;
- if (FAILED(preferencesPrivate->automaticallyDetectsCacheModel(&automaticallyDetectsCacheModel)))
- return;
-
- WebCacheModel cacheModel;
- if (FAILED(preferences->cacheModel(&cacheModel)))
- return;
-
- if (automaticallyDetectsCacheModel && cacheModel < WebCacheModelDocumentBrowser)
- preferences->setCacheModel(WebCacheModelDocumentBrowser);
-}
-
-void WebFrame::registerForIconNotification(bool listen)
-{
- d->webView->registerForIconNotification(listen);
-}
-
-static IntRect printerRect(HDC printDC)
-{
- return IntRect(0, 0,
- GetDeviceCaps(printDC, PHYSICALWIDTH) - 2 * GetDeviceCaps(printDC, PHYSICALOFFSETX),
- GetDeviceCaps(printDC, PHYSICALHEIGHT) - 2 * GetDeviceCaps(printDC, PHYSICALOFFSETY));
-}
-
-void WebFrame::setPrinting(bool printing, const FloatSize& pageSize, const FloatSize& originalPageSize, float maximumShrinkRatio, AdjustViewSizeOrNot adjustViewSize)
-{
- Frame* coreFrame = core(this);
- ASSERT(coreFrame);
- coreFrame->setPrinting(printing, pageSize, originalPageSize, maximumShrinkRatio, adjustViewSize ? AdjustViewSize : DoNotAdjustViewSize);
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::setInPrintingMode(
- /* [in] */ BOOL value,
- /* [in] */ HDC printDC)
-{
- if (m_inPrintingMode == !!value)
- return S_OK;
-
- Frame* coreFrame = core(this);
- if (!coreFrame || !coreFrame->document())
- return E_FAIL;
-
- m_inPrintingMode = !!value;
-
- // If we are a frameset just print with the layout we have onscreen, otherwise relayout
- // according to the paper size
- FloatSize minLayoutSize(0.0, 0.0);
- FloatSize originalPageSize(0.0, 0.0);
- if (m_inPrintingMode && !coreFrame->document()->isFrameSet()) {
- if (!printDC) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- const int desiredPixelsPerInch = 72;
- IntRect printRect = printerRect(printDC);
- int paperHorizontalPixelsPerInch = ::GetDeviceCaps(printDC, LOGPIXELSX);
- int paperVerticalPixelsPerInch = ::GetDeviceCaps(printDC, LOGPIXELSY);
- int paperWidth = printRect.width() * desiredPixelsPerInch / paperHorizontalPixelsPerInch;
- int paperHeight = printRect.height() * desiredPixelsPerInch / paperVerticalPixelsPerInch;
- originalPageSize = FloatSize(paperWidth, paperHeight);
- Frame* coreFrame = core(this);
- minLayoutSize = coreFrame->resizePageRectsKeepingRatio(originalPageSize, FloatSize(paperWidth * PrintingMinimumShrinkFactor, paperHeight * PrintingMinimumShrinkFactor));
- }
-
- setPrinting(m_inPrintingMode, minLayoutSize, originalPageSize, PrintingMaximumShrinkFactor / PrintingMinimumShrinkFactor, AdjustViewSize);
-
- if (!m_inPrintingMode)
- m_pageRects.clear();
-
- return S_OK;
-}
-
-void WebFrame::headerAndFooterHeights(float* headerHeight, float* footerHeight)
-{
- if (headerHeight)
- *headerHeight = 0;
- if (footerHeight)
- *footerHeight = 0;
- float height = 0;
- COMPtr<IWebUIDelegate> ui;
- if (FAILED(d->webView->uiDelegate(&ui)))
- return;
- if (headerHeight && SUCCEEDED(ui->webViewHeaderHeight(d->webView, &height)))
- *headerHeight = height;
- if (footerHeight && SUCCEEDED(ui->webViewFooterHeight(d->webView, &height)))
- *footerHeight = height;
-}
-
-IntRect WebFrame::printerMarginRect(HDC printDC)
-{
- IntRect emptyRect(0, 0, 0, 0);
-
- COMPtr<IWebUIDelegate> ui;
- if (FAILED(d->webView->uiDelegate(&ui)))
- return emptyRect;
-
- RECT rect;
- if (FAILED(ui->webViewPrintingMarginRect(d->webView, &rect)))
- return emptyRect;
-
- rect.left = MulDiv(rect.left, ::GetDeviceCaps(printDC, LOGPIXELSX), 1000);
- rect.top = MulDiv(rect.top, ::GetDeviceCaps(printDC, LOGPIXELSY), 1000);
- rect.right = MulDiv(rect.right, ::GetDeviceCaps(printDC, LOGPIXELSX), 1000);
- rect.bottom = MulDiv(rect.bottom, ::GetDeviceCaps(printDC, LOGPIXELSY), 1000);
-
- return IntRect(rect.left, rect.top, (rect.right - rect.left), rect.bottom - rect.top);
-}
-
-const Vector<WebCore::IntRect>& WebFrame::computePageRects(HDC printDC)
-{
- ASSERT(m_inPrintingMode);
-
- Frame* coreFrame = core(this);
- ASSERT(coreFrame);
- ASSERT(coreFrame->document());
-
- if (!printDC)
- return m_pageRects;
-
- // adjust the page rect by the header and footer
- float headerHeight = 0, footerHeight = 0;
- headerAndFooterHeights(&headerHeight, &footerHeight);
- IntRect pageRect = printerRect(printDC);
- IntRect marginRect = printerMarginRect(printDC);
- IntRect adjustedRect = IntRect(
- pageRect.x() + marginRect.x(),
- pageRect.y() + marginRect.y(),
- pageRect.width() - marginRect.x() - marginRect.maxX(),
- pageRect.height() - marginRect.y() - marginRect.maxY());
-
- computePageRectsForFrame(coreFrame, adjustedRect, headerHeight, footerHeight, 1.0,m_pageRects, m_pageHeight);
-
- return m_pageRects;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::getPrintedPageCount(
- /* [in] */ HDC printDC,
- /* [retval][out] */ UINT *pageCount)
-{
- if (!pageCount || !printDC) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *pageCount = 0;
-
- if (!m_inPrintingMode) {
- ASSERT_NOT_REACHED();
- return E_FAIL;
- }
-
- Frame* coreFrame = core(this);
- if (!coreFrame || !coreFrame->document())
- return E_FAIL;
-
- const Vector<IntRect>& pages = computePageRects(printDC);
- *pageCount = (UINT) pages.size();
-
- return S_OK;
-}
-
-#if USE(CG)
-void WebFrame::drawHeader(PlatformGraphicsContext* pctx, IWebUIDelegate* ui, const IntRect& pageRect, float headerHeight)
-{
- int x = pageRect.x();
- int y = 0;
- RECT headerRect = {x, y, x+pageRect.width(), y+static_cast<int>(headerHeight)};
- ui->drawHeaderInRect(d->webView, &headerRect, static_cast<OLE_HANDLE>(reinterpret_cast<LONG64>(pctx)));
-}
-
-void WebFrame::drawFooter(PlatformGraphicsContext* pctx, IWebUIDelegate* ui, const IntRect& pageRect, UINT page, UINT pageCount, float headerHeight, float footerHeight)
-{
- int x = pageRect.x();
- int y = max((int)headerHeight+pageRect.height(), m_pageHeight-static_cast<int>(footerHeight));
- RECT footerRect = {x, y, x+pageRect.width(), y+static_cast<int>(footerHeight)};
- ui->drawFooterInRect(d->webView, &footerRect, static_cast<OLE_HANDLE>(reinterpret_cast<LONG64>(pctx)), page+1, pageCount);
-}
-
-void WebFrame::spoolPage(PlatformGraphicsContext* pctx, GraphicsContext* spoolCtx, HDC printDC, IWebUIDelegate* ui, float headerHeight, float footerHeight, UINT page, UINT pageCount)
-{
- Frame* coreFrame = core(this);
-
- IntRect pageRect = m_pageRects[page];
-
- CGContextSaveGState(pctx);
-
- IntRect printRect = printerRect(printDC);
- CGRect mediaBox = CGRectMake(CGFloat(0),
- CGFloat(0),
- CGFloat(printRect.width()),
- CGFloat(printRect.height()));
-
- CGContextBeginPage(pctx, &mediaBox);
-
- CGFloat scale = static_cast<float>(mediaBox.size.width)/static_cast<float>(pageRect.width());
- CGAffineTransform ctm = CGContextGetBaseCTM(pctx);
- ctm = CGAffineTransformScale(ctm, -scale, -scale);
- ctm = CGAffineTransformTranslate(ctm, CGFloat(-pageRect.x()), CGFloat(-pageRect.y()+headerHeight)); // reserves space for header
- CGContextScaleCTM(pctx, scale, scale);
- CGContextTranslateCTM(pctx, CGFloat(-pageRect.x()), CGFloat(-pageRect.y()+headerHeight)); // reserves space for header
- CGContextSetBaseCTM(pctx, ctm);
-
- coreFrame->view()->paintContents(spoolCtx, pageRect);
-
- CGContextTranslateCTM(pctx, CGFloat(pageRect.x()), CGFloat(pageRect.y())-headerHeight);
-
- if (headerHeight)
- drawHeader(pctx, ui, pageRect, headerHeight);
-
- if (footerHeight)
- drawFooter(pctx, ui, pageRect, page, pageCount, headerHeight, footerHeight);
-
- CGContextEndPage(pctx);
- CGContextRestoreGState(pctx);
-}
-#elif USE(CAIRO)
-static float scaleFactor(HDC printDC, const IntRect& marginRect, const IntRect& pageRect)
-{
- const IntRect& printRect = printerRect(printDC);
-
- IntRect adjustedRect = IntRect(
- printRect.x() + marginRect.x(),
- printRect.y() + marginRect.y(),
- printRect.width() - marginRect.x() - marginRect.maxX(),
- printRect.height() - marginRect.y() - marginRect.maxY());
-
- float scale = static_cast<float>(adjustedRect.width()) / static_cast<float>(pageRect.width());
- if (!scale)
- scale = 1.0;
-
- return scale;
-}
-
-static HDC hdcFromContext(PlatformGraphicsContext* pctx)
-{
- return cairo_win32_surface_get_dc(cairo_get_target(pctx->cr()));
-}
-
-void WebFrame::drawHeader(PlatformGraphicsContext* pctx, IWebUIDelegate* ui, const IntRect& pageRect, float headerHeight)
-{
- HDC hdc = hdcFromContext(pctx);
-
- int x = pageRect.x();
- int y = 0;
- RECT headerRect = {x, y, x + pageRect.width(), y + static_cast<int>(headerHeight)};
-
- ui->drawHeaderInRect(d->webView, &headerRect, static_cast<OLE_HANDLE>(reinterpret_cast<LONG64>(hdc)));
-}
-
-void WebFrame::drawFooter(PlatformGraphicsContext* pctx, IWebUIDelegate* ui, const IntRect& pageRect, UINT page, UINT pageCount, float headerHeight, float footerHeight)
-{
- HDC hdc = hdcFromContext(pctx);
-
- int x = pageRect.x();
- int y = max(static_cast<int>(headerHeight) + pageRect.height(), m_pageHeight -static_cast<int>(footerHeight));
- RECT footerRect = {x, y, x + pageRect.width(), y + static_cast<int>(footerHeight)};
-
- ui->drawFooterInRect(d->webView, &footerRect, static_cast<OLE_HANDLE>(reinterpret_cast<LONG64>(hdc)), page+1, pageCount);
-}
-
-static XFORM buildXFORMFromCairo(HDC targetDC, cairo_t* previewContext)
-{
- XFORM scaled;
- GetWorldTransform(targetDC, &scaled);
-
- cairo_matrix_t ctm;
- cairo_get_matrix(previewContext, &ctm);
-
- // Scale to the preview screen bounds
- scaled.eM11 = ctm.xx;
- scaled.eM22 = ctm.yy;
-
- return scaled;
-}
-
-void WebFrame::spoolPage(PlatformGraphicsContext* pctx, GraphicsContext* spoolCtx, HDC printDC, IWebUIDelegate* ui, float headerHeight, float footerHeight, UINT page, UINT pageCount)
-{
- Frame* coreFrame = core(this);
-
- const IntRect& pageRect = m_pageRects[page];
- const IntRect& marginRect = printerMarginRect(printDC);
-
- // In preview, the printDC is a placeholder, so just always use the HDC backing the graphics context.
- HDC hdc = hdcFromContext(pctx);
-
- spoolCtx->save();
-
- XFORM original, scaled;
- GetWorldTransform(hdc, &original);
-
- cairo_t* cr = pctx->cr();
- bool preview = (hdc != printDC);
- if (preview) {
- // If this is a preview, the Windows HDC was set to a non-scaled state so that Cairo will
- // draw correctly. We need to retain the correct preview scale here for use when the Cairo
- // drawing completes so that we can scale our GDI-based header/footer calls. This is a
- // workaround for a bug in Cairo (see https://bugs.freedesktop.org/show_bug.cgi?id=28161)
- scaled = buildXFORMFromCairo(hdc, cr);
- }
-
- float scale = scaleFactor(printDC, marginRect, pageRect);
-
- IntRect cairoMarginRect(marginRect);
- cairoMarginRect.scale(1 / scale);
-
- // We cannot scale the display HDC because the print surface also scales fonts,
- // resulting in invalid printing (and print preview)
- cairo_scale(cr, scale, scale);
- cairo_translate(cr, cairoMarginRect.x(), cairoMarginRect.y() + headerHeight);
-
- // Modify Cairo (only) to account for page position.
- cairo_translate(cr, -pageRect.x(), -pageRect.y());
- coreFrame->view()->paintContents(spoolCtx, pageRect);
- cairo_translate(cr, pageRect.x(), pageRect.y());
-
- if (preview) {
- // If this is a preview, the Windows HDC was set to a non-scaled state so that Cairo would
- // draw correctly. We need to rescale the HDC to the correct preview scale so our GDI-based
- // header/footer calls will draw properly. This is a workaround for a bug in Cairo.
- // (see https://bugs.freedesktop.org/show_bug.cgi?id=28161)
- SetWorldTransform(hdc, &scaled);
- }
-
- XFORM xform = TransformationMatrix().translate(marginRect.x(), marginRect.y()).scale(scale);
- ModifyWorldTransform(hdc, &xform, MWT_LEFTMULTIPLY);
-
- if (headerHeight)
- drawHeader(pctx, ui, pageRect, headerHeight);
-
- if (footerHeight)
- drawFooter(pctx, ui, pageRect, page, pageCount, headerHeight, footerHeight);
-
- SetWorldTransform(hdc, &original);
-
- cairo_show_page(cr);
- ASSERT(!cairo_status(cr));
- spoolCtx->restore();
-}
-
-static void setCairoTransformToPreviewHDC(cairo_t* previewCtx, HDC previewDC)
-{
- XFORM passedCTM;
- GetWorldTransform(previewDC, &passedCTM);
-
- // Reset HDC WorldTransform to unscaled state. Scaling must be
- // done in Cairo to avoid drawing errors.
- XFORM unscaledCTM = passedCTM;
- unscaledCTM.eM11 = 1.0;
- unscaledCTM.eM22 = 1.0;
-
- SetWorldTransform(previewDC, &unscaledCTM);
-
- // Make the Cairo transform match the information passed to WebKit
- // in the HDC's WorldTransform.
- cairo_matrix_t ctm = { passedCTM.eM11, passedCTM.eM12, passedCTM.eM21,
- passedCTM.eM22, passedCTM.eDx, passedCTM.eDy };
-
- cairo_set_matrix(previewCtx, &ctm);
-}
-
-#endif
-
-HRESULT STDMETHODCALLTYPE WebFrame::spoolPages(
- /* [in] */ HDC printDC,
- /* [in] */ UINT startPage,
- /* [in] */ UINT endPage,
- /* [retval][out] */ void* ctx)
-{
-#if USE(CG)
- if (!printDC || !ctx) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-#elif USE(CAIRO)
- if (!printDC) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- HDC targetDC = (ctx) ? (HDC)ctx : printDC;
-
- cairo_surface_t* printSurface = 0;
- if (ctx)
- printSurface = cairo_win32_surface_create(targetDC); // in-memory
- else
- printSurface = cairo_win32_printing_surface_create(targetDC); // metafile
-
- cairo_t* cr = cairo_create(printSurface);
- if (!cr) {
- cairo_surface_destroy(printSurface);
- return E_FAIL;
- }
-
- PlatformContextCairo platformContext(cr);
- PlatformGraphicsContext* pctx = &platformContext;
- cairo_destroy(cr);
-
- if (ctx) {
- // If this is a preview, the Windows HDC was sent with scaling information.
- // Retrieve it and reset it so that it draws properly. This is a workaround
- // for a bug in Cairo (see https://bugs.freedesktop.org/show_bug.cgi?id=28161)
- setCairoTransformToPreviewHDC(cr, targetDC);
- }
-
- cairo_surface_set_fallback_resolution(printSurface, 72.0, 72.0);
-#endif
-
- if (!m_inPrintingMode) {
- ASSERT_NOT_REACHED();
- return E_FAIL;
- }
-
- Frame* coreFrame = core(this);
- if (!coreFrame || !coreFrame->document())
- return E_FAIL;
-
- UINT pageCount = (UINT) m_pageRects.size();
-#if USE(CG)
- PlatformGraphicsContext* pctx = (PlatformGraphicsContext*)ctx;
-#endif
-
- if (!pageCount || startPage > pageCount) {
- ASSERT_NOT_REACHED();
- return E_FAIL;
- }
-
- if (startPage > 0)
- startPage--;
-
- if (endPage == 0)
- endPage = pageCount;
-
- COMPtr<IWebUIDelegate> ui;
- if (FAILED(d->webView->uiDelegate(&ui)))
- return E_FAIL;
-
- float headerHeight = 0, footerHeight = 0;
- headerAndFooterHeights(&headerHeight, &footerHeight);
- GraphicsContext spoolCtx(pctx);
- spoolCtx.setShouldIncludeChildWindows(true);
-
- for (UINT ii = startPage; ii < endPage; ii++)
- spoolPage(pctx, &spoolCtx, printDC, ui.get(), headerHeight, footerHeight, ii, pageCount);
-
-#if USE(CAIRO)
- cairo_surface_finish(printSurface);
- ASSERT(!cairo_surface_status(printSurface));
- cairo_surface_destroy(printSurface);
-#endif
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::isFrameSet(
- /* [retval][out] */ BOOL* result)
-{
- *result = FALSE;
-
- Frame* coreFrame = core(this);
- if (!coreFrame || !coreFrame->document())
- return E_FAIL;
-
- *result = coreFrame->document()->isFrameSet() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::string(
- /* [retval][out] */ BSTR *result)
-{
- *result = 0;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- RefPtr<Range> allRange(rangeOfContents(coreFrame->document()));
- String allString = plainText(allRange.get());
- *result = BString(allString).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::size(
- /* [retval][out] */ SIZE *size)
-{
- if (!size)
- return E_POINTER;
- size->cx = size->cy = 0;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
- FrameView* view = coreFrame->view();
- if (!view)
- return E_FAIL;
- size->cx = view->width();
- size->cy = view->height();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::hasScrollBars(
- /* [retval][out] */ BOOL *result)
-{
- if (!result)
- return E_POINTER;
- *result = FALSE;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return E_FAIL;
-
- if (view->horizontalScrollbar() || view->verticalScrollbar())
- *result = TRUE;
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::contentBounds(
- /* [retval][out] */ RECT *result)
-{
- if (!result)
- return E_POINTER;
- ::SetRectEmpty(result);
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return E_FAIL;
-
- result->bottom = view->contentsHeight();
- result->right = view->contentsWidth();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::frameBounds(
- /* [retval][out] */ RECT *result)
-{
- if (!result)
- return E_POINTER;
- ::SetRectEmpty(result);
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- FrameView* view = coreFrame->view();
- if (!view)
- return E_FAIL;
-
- FloatRect bounds = view->visibleContentRect(ScrollableArea::IncludeScrollbars);
- result->bottom = (LONG) bounds.height();
- result->right = (LONG) bounds.width();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFrame::isDescendantOfFrame(
- /* [in] */ IWebFrame *ancestor,
- /* [retval][out] */ BOOL *result)
-{
- if (!result)
- return E_POINTER;
- *result = FALSE;
-
- Frame* coreFrame = core(this);
- COMPtr<WebFrame> ancestorWebFrame(Query, ancestor);
- if (!ancestorWebFrame)
- return S_OK;
-
- *result = (coreFrame && coreFrame->tree()->isDescendantOf(core(ancestorWebFrame.get()))) ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT WebFrame::stringByEvaluatingJavaScriptInScriptWorld(IWebScriptWorld* iWorld, JSObjectRef globalObjectRef, BSTR script, BSTR* evaluationResult)
-{
- if (!evaluationResult)
- return E_POINTER;
- *evaluationResult = 0;
-
- if (!iWorld)
- return E_POINTER;
-
- COMPtr<WebScriptWorld> world(Query, iWorld);
- if (!world)
- return E_INVALIDARG;
-
- Frame* coreFrame = core(this);
- String string = String(script, SysStringLen(script));
-
- // Start off with some guess at a frame and a global object, we'll try to do better...!
- JSDOMWindow* anyWorldGlobalObject = coreFrame->script()->globalObject(mainThreadNormalWorld());
-
- // The global object is probably a shell object? - if so, we know how to use this!
- JSC::JSObject* globalObjectObj = toJS(globalObjectRef);
- if (!strcmp(globalObjectObj->classInfo()->className, "JSDOMWindowShell"))
- anyWorldGlobalObject = static_cast<JSDOMWindowShell*>(globalObjectObj)->window();
-
- // Get the frame frome the global object we've settled on.
- Frame* frame = anyWorldGlobalObject->impl()->frame();
- ASSERT(frame->document());
- JSValue result = frame->script()->executeScriptInWorld(world->world(), string, true).jsValue();
-
- if (!frame) // In case the script removed our frame from the page.
- return S_OK;
-
- // 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())
- return S_OK;
-
- JSC::ExecState* exec = anyWorldGlobalObject->globalExec();
- JSC::JSLockHolder lock(exec);
- String resultString = result.toWTFString(exec);
- *evaluationResult = BString(resultString).release();
-
- return S_OK;
-}
-
-void WebFrame::unmarkAllMisspellings()
-{
- Frame* coreFrame = core(this);
- for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame)) {
- Document *doc = frame->document();
- if (!doc)
- return;
-
- doc->markers()->removeMarkers(DocumentMarker::Spelling);
- }
-}
-
-void WebFrame::unmarkAllBadGrammar()
-{
- Frame* coreFrame = core(this);
- for (Frame* frame = coreFrame; frame; frame = frame->tree()->traverseNext(coreFrame)) {
- Document *doc = frame->document();
- if (!doc)
- return;
-
- doc->markers()->removeMarkers(DocumentMarker::Grammar);
- }
-}
-
-WebView* WebFrame::webView() const
-{
- return d->webView;
-}
-
-void WebFrame::setWebView(WebView* webView)
-{
- d->webView = webView;
-}
-
-COMPtr<IAccessible> WebFrame::accessible() const
-{
- Frame* coreFrame = core(this);
- ASSERT(coreFrame);
-
- Document* currentDocument = coreFrame->document();
- if (!currentDocument)
- m_accessible = 0;
- else if (!m_accessible || m_accessible->document() != currentDocument) {
- // Either we've never had a wrapper for this frame's top-level Document,
- // the Document renderer was destroyed and its wrapper was detached, or
- // the previous Document is in the page cache, and the current document
- // needs to be wrapped.
- m_accessible = new AccessibleDocument(currentDocument, webView()->viewWindow());
- }
- return m_accessible.get();
-}
-
-void WebFrame::updateBackground()
-{
- Color backgroundColor = webView()->transparent() ? Color::transparent : Color::white;
- Frame* coreFrame = core(this);
-
- if (!coreFrame || !coreFrame->view())
- return;
-
- coreFrame->view()->updateBackgroundRecursively(backgroundColor, webView()->transparent());
-}
-
-PassRefPtr<FrameNetworkingContext> WebFrame::createNetworkingContext()
-{
- return WebFrameNetworkingContext::create(core(this), userAgent(url()));
-}
diff --git a/Source/WebKit/win/WebFrame.h b/Source/WebKit/win/WebFrame.h
deleted file mode 100644
index 71e002642..000000000
--- a/Source/WebKit/win/WebFrame.h
+++ /dev/null
@@ -1,414 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2011 Apple 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 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 WebFrame_H
-#define WebFrame_H
-
-#include "WebFrameLoaderClient.h"
-
-#include "WebKit.h"
-#include "WebDataSource.h"
-
-#include "AccessibleDocument.h"
-
-#include <WebCore/AdjustViewSizeOrNot.h>
-#include <WebCore/FrameWin.h>
-#include <WebCore/GraphicsContext.h>
-#include <WebCore/KURL.h>
-#include <WebCore/ResourceHandleClient.h>
-
-#include <WTF/RefPtr.h>
-#include <WTF/HashMap.h>
-#include <WTF/OwnPtr.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
- class AuthenticationChallenge;
- class DocumentLoader;
- class Element;
- class FloatSize;
- class Frame;
- class GraphicsContext;
- class HTMLFrameOwnerElement;
- class IntRect;
- class Page;
- class ResourceError;
- class SharedBuffer;
-}
-
-typedef const struct OpaqueJSContext* JSContextRef;
-typedef struct OpaqueJSValue* JSObjectRef;
-
-#if USE(CG)
-typedef struct CGContext PlatformGraphicsContext;
-#elif USE(CAIRO)
-namespace WebCore {
-class PlatformContextCairo;
-}
-typedef class WebCore::PlatformContextCairo PlatformGraphicsContext;
-#endif
-
-class WebFrame;
-class WebFramePolicyListener;
-class WebHistory;
-class WebView;
-
-interface IWebHistoryItemPrivate;
-
-WebFrame* kit(WebCore::Frame*);
-WebCore::Frame* core(WebFrame*);
-
-class DECLSPEC_UUID("{A3676398-4485-4a9d-87DC-CB5A40E6351D}") WebFrame : public IWebFrame, IWebFramePrivate, IWebDocumentText
- , public WebFrameLoaderClient
-{
-public:
- static WebFrame* createInstance();
-protected:
- WebFrame();
- ~WebFrame();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- //IWebFrame
- virtual HRESULT STDMETHODCALLTYPE name(
- /* [retval][out] */ BSTR *frameName);
-
- virtual HRESULT STDMETHODCALLTYPE webView(
- /* [retval][out] */ IWebView **view);
-
- virtual HRESULT STDMETHODCALLTYPE frameView(
- /* [retval][out] */ IWebFrameView **view);
-
- virtual HRESULT STDMETHODCALLTYPE DOMDocument(
- /* [retval][out] */ IDOMDocument** document);
-
- virtual HRESULT STDMETHODCALLTYPE DOMWindow(/* [retval][out] */ IDOMWindow**);
-
- virtual HRESULT STDMETHODCALLTYPE frameElement(
- /* [retval][out] */ IDOMHTMLElement **frameElement);
-
- virtual HRESULT STDMETHODCALLTYPE loadRequest(
- /* [in] */ IWebURLRequest *request);
-
- virtual HRESULT STDMETHODCALLTYPE loadData(
- /* [in] */ IStream *data,
- /* [in] */ BSTR mimeType,
- /* [in] */ BSTR textEncodingName,
- /* [in] */ BSTR url);
-
- virtual HRESULT STDMETHODCALLTYPE loadHTMLString(
- /* [in] */ BSTR string,
- /* [in] */ BSTR baseURL);
-
- virtual HRESULT STDMETHODCALLTYPE loadAlternateHTMLString(
- /* [in] */ BSTR str,
- /* [in] */ BSTR baseURL,
- /* [in] */ BSTR unreachableURL);
-
- virtual HRESULT STDMETHODCALLTYPE loadArchive(
- /* [in] */ IWebArchive *archive);
-
- virtual HRESULT STDMETHODCALLTYPE dataSource(
- /* [retval][out] */ IWebDataSource **source);
-
- virtual HRESULT STDMETHODCALLTYPE provisionalDataSource(
- /* [retval][out] */ IWebDataSource **source);
-
- virtual HRESULT STDMETHODCALLTYPE stopLoading( void);
-
- virtual HRESULT STDMETHODCALLTYPE reload( void);
-
- virtual HRESULT STDMETHODCALLTYPE findFrameNamed(
- /* [in] */ BSTR name,
- /* [retval][out] */ IWebFrame **frame);
-
- virtual HRESULT STDMETHODCALLTYPE parentFrame(
- /* [retval][out] */ IWebFrame **frame);
-
- virtual HRESULT STDMETHODCALLTYPE childFrames(
- /* [retval][out] */ IEnumVARIANT **enumFrames);
-
- virtual HRESULT STDMETHODCALLTYPE currentForm(
- /* [retval][out] */ IDOMElement **formElement);
-
- virtual /* [local] */ JSGlobalContextRef STDMETHODCALLTYPE globalContext();
-
- // IWebFramePrivate
- virtual HRESULT STDMETHODCALLTYPE unused1(BSTR*) { return E_NOTIMPL; }
- virtual HRESULT STDMETHODCALLTYPE renderTreeAsExternalRepresentation(BOOL forPrinting, BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE pageNumberForElementById(
- /* [in] */ BSTR id,
- /* [in] */ float pageWidthInPixels,
- /* [in] */ float pageHeightInPixels,
- /* [retval][out] */ int* result);
-
- virtual HRESULT STDMETHODCALLTYPE numberOfPages(
- /* [in] */ float pageWidthInPixels,
- /* [in] */ float pageHeightInPixels,
- /* [retval][out] */ int* result);
-
- virtual HRESULT STDMETHODCALLTYPE scrollOffset(
- /* [retval][out] */ SIZE* offset);
-
- virtual HRESULT STDMETHODCALLTYPE layout();
-
- virtual HRESULT STDMETHODCALLTYPE firstLayoutDone(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE loadType(
- /* [retval][out] */ WebFrameLoadType* type);
-
- virtual HRESULT STDMETHODCALLTYPE pendingFrameUnloadEventCount(
- /* [retval][out] */ UINT* result);
-
- virtual HRESULT STDMETHODCALLTYPE unused2();
-
- virtual HRESULT STDMETHODCALLTYPE setInPrintingMode(
- /* [in] */ BOOL value,
- /* [in] */ HDC printDC);
-
- virtual HRESULT STDMETHODCALLTYPE getPrintedPageCount(
- /* [in] */ HDC printDC,
- /* [retval][out] */ UINT *pageCount);
-
- virtual HRESULT STDMETHODCALLTYPE spoolPages(
- /* [in] */ HDC printDC,
- /* [in] */ UINT startPage,
- /* [in] */ UINT endPage,
- /* [retval][out] */ void* ctx);
-
- virtual HRESULT STDMETHODCALLTYPE isFrameSet(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE string(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE size(
- /* [retval][out] */ SIZE *size);
-
- virtual HRESULT STDMETHODCALLTYPE hasScrollBars(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE contentBounds(
- /* [retval][out] */ RECT *result);
-
- virtual HRESULT STDMETHODCALLTYPE frameBounds(
- /* [retval][out] */ RECT *result);
-
- virtual HRESULT STDMETHODCALLTYPE isDescendantOfFrame(
- /* [in] */ IWebFrame *ancestor,
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setAllowsScrolling(
- /* [in] */ BOOL flag);
-
- virtual HRESULT STDMETHODCALLTYPE allowsScrolling(
- /* [retval][out] */ BOOL *flag);
-
- virtual HRESULT STDMETHODCALLTYPE setIsDisconnected(
- /* [in] */ BOOL flag);
-
- virtual HRESULT STDMETHODCALLTYPE setExcludeFromTextSearch(
- /* [in] */ BOOL flag);
-
- virtual HRESULT STDMETHODCALLTYPE reloadFromOrigin();
-
- virtual HRESULT STDMETHODCALLTYPE paintDocumentRectToContext(
- /* [in] */ RECT rect,
- /* [in] */ OLE_HANDLE deviceContext);
-
- virtual HRESULT STDMETHODCALLTYPE paintScrollViewRectToContextAtPoint(
- /* [in] */ RECT rect,
- /* [in] */ POINT pt,
- /* [in] */ OLE_HANDLE deviceContext);
-
- virtual HRESULT STDMETHODCALLTYPE elementDoesAutoComplete(
- /* [in] */ IDOMElement* element,
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE pauseAnimation(BSTR animationName, IDOMNode*, double secondsFromNow, BOOL* animationWasRunning);
- virtual HRESULT STDMETHODCALLTYPE pauseTransition(BSTR propertyName, IDOMNode*, double secondsFromNow, BOOL* transitionWasRunning);
- virtual HRESULT STDMETHODCALLTYPE numberOfActiveAnimations(UINT*);
- virtual HRESULT STDMETHODCALLTYPE loadPlainTextString(BSTR string, BSTR url);
-
- virtual HRESULT STDMETHODCALLTYPE isDisplayingStandaloneImage(BOOL*);
-
- virtual HRESULT STDMETHODCALLTYPE allowsFollowingLink(
- /* [in] */ BSTR url,
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE stringByEvaluatingJavaScriptInScriptWorld(IWebScriptWorld*, JSObjectRef globalObjectRef, BSTR script, BSTR* evaluationResult);
- virtual JSGlobalContextRef STDMETHODCALLTYPE globalContextForScriptWorld(IWebScriptWorld*);
-
- virtual HRESULT STDMETHODCALLTYPE visibleContentRect(RECT*);
-
- virtual HRESULT STDMETHODCALLTYPE layerTreeAsText(BSTR*);
-
- virtual HRESULT STDMETHODCALLTYPE hasSpellingMarker(
- /* [in] */ UINT from,
- /* [in] */ UINT length,
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE clearOpener();
-
- virtual HRESULT STDMETHODCALLTYPE setTextDirection(BSTR);
-
- virtual HRESULT STDMETHODCALLTYPE unused3(BSTR, BSTR*) { return E_NOTIMPL; }
-
- virtual HRESULT STDMETHODCALLTYPE resumeAnimations();
-
- virtual HRESULT STDMETHODCALLTYPE suspendAnimations();
-
- // IWebDocumentText
- virtual HRESULT STDMETHODCALLTYPE supportsTextEncoding(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE selectedString(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE selectAll();
-
- virtual HRESULT STDMETHODCALLTYPE deselectAll();
-
- // FrameLoaderClient
- virtual void frameLoaderDestroyed();
- virtual void makeRepresentation(WebCore::DocumentLoader*);
- virtual void forceLayoutForNonHTML();
- virtual void setCopiesOnScroll();
- virtual void detachedFromParent2();
- virtual void detachedFromParent3();
- virtual void cancelPolicyCheck();
- virtual void dispatchWillSendSubmitEvent(PassRefPtr<WebCore::FormState>);
- virtual void dispatchWillSubmitForm(WebCore::FramePolicyFunction, PassRefPtr<WebCore::FormState>);
- virtual void revertToProvisionalState(WebCore::DocumentLoader*);
- virtual void setMainFrameDocumentReady(bool);
- virtual void willChangeTitle(WebCore::DocumentLoader*);
- virtual void didChangeTitle(WebCore::DocumentLoader*);
- virtual void didChangeIcons(WebCore::DocumentLoader*);
- virtual bool canHandleRequest(const WebCore::ResourceRequest&) const;
- virtual bool canShowMIMEType(const WTF::String& MIMEType) const;
- virtual bool canShowMIMETypeAsHTML(const WTF::String& MIMEType) const;
- virtual bool representationExistsForURLScheme(const WTF::String& URLScheme) const;
- virtual WTF::String generatedMIMETypeForURLScheme(const WTF::String& URLScheme) const;
- virtual void frameLoadCompleted();
- virtual void restoreViewState();
- virtual void provisionalLoadStarted();
- virtual bool shouldTreatURLAsSameAsCurrent(const WebCore::KURL&) const;
- virtual void addHistoryItemForFragmentScroll();
- virtual void didFinishLoad();
- virtual void prepareForDataSourceReplacement();
- virtual WTF::String userAgent(const WebCore::KURL&);
- virtual void saveViewStateToItem(WebCore::HistoryItem *);
- virtual WebCore::ResourceError cancelledError(const WebCore::ResourceRequest&);
- virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&);
- virtual WebCore::ResourceError cannotShowURLError(const WebCore::ResourceRequest&);
- virtual WebCore::ResourceError interruptedForPolicyChangeError(const WebCore::ResourceRequest&);
- virtual WebCore::ResourceError cannotShowMIMETypeError(const WebCore::ResourceResponse&);
- virtual WebCore::ResourceError fileDoesNotExistError(const WebCore::ResourceResponse&);
- virtual WebCore::ResourceError pluginWillHandleLoadError(const WebCore::ResourceResponse&);
- virtual bool shouldFallBack(const WebCore::ResourceError&);
- virtual void dispatchDecidePolicyForResponse(WebCore::FramePolicyFunction, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&);
- virtual void dispatchDecidePolicyForNewWindowAction(WebCore::FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<WebCore::FormState>, const WTF::String& frameName);
- virtual void dispatchDecidePolicyForNavigationAction(WebCore::FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<WebCore::FormState>);
- virtual void dispatchUnableToImplementPolicy(const WebCore::ResourceError&);
- virtual void convertMainResourceLoadToDownload(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&);
-
- virtual bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int length);
- virtual void dispatchDidFailProvisionalLoad(const WebCore::ResourceError&);
- virtual void dispatchDidFailLoad(const WebCore::ResourceError&);
- virtual void startDownload(const WebCore::ResourceRequest&, const String& suggestedName = String());
-
- virtual PassRefPtr<WebCore::Widget> createJavaAppletWidget(const WebCore::IntSize&, WebCore::HTMLAppletElement*, const WebCore::KURL& baseURL, const Vector<WTF::String>& paramNames, const Vector<WTF::String>& paramValues);
-
- virtual WebCore::ObjectContentType objectContentType(const WebCore::KURL&, const WTF::String& mimeType, bool shouldPreferPlugInsForImages);
- virtual WTF::String overrideMediaType() const;
-
- virtual void dispatchDidClearWindowObjectInWorld(WebCore::DOMWrapperWorld*);
- virtual void documentElementAvailable();
- virtual void didPerformFirstNavigation() const;
-
- virtual void registerForIconNotification(bool listen);
-
- virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
-
- // WebFrame
- PassRefPtr<WebCore::Frame> init(IWebView*, WebCore::Page*, WebCore::HTMLFrameOwnerElement*);
- WebCore::Frame* impl();
- void invalidate();
- void unmarkAllMisspellings();
- void unmarkAllBadGrammar();
-
- void updateBackground();
-
- // WebFrame (matching WebCoreFrameBridge)
- HRESULT inViewSourceMode(BOOL *flag);
- HRESULT setInViewSourceMode(BOOL flag);
- HRESULT elementWithName(BSTR name, IDOMElement* form, IDOMElement** element);
- HRESULT formForElement(IDOMElement* element, IDOMElement** form);
- HRESULT controlsInForm(IDOMElement* form, IDOMElement** controls, int* cControls);
- HRESULT elementIsPassword(IDOMElement* element, bool* result);
- HRESULT searchForLabelsBeforeElement(const BSTR* labels, unsigned cLabels, IDOMElement* beforeElement, unsigned* resultDistance, BOOL* resultIsInCellAbove, BSTR* result);
- HRESULT matchLabelsAgainstElement(const BSTR* labels, int cLabels, IDOMElement* againstElement, BSTR* result);
- HRESULT canProvideDocumentSource(bool* result);
-
- COMPtr<WebFramePolicyListener> setUpPolicyListener(WebCore::FramePolicyFunction function);
- void receivedPolicyDecision(WebCore::PolicyAction);
-
- WebCore::KURL url() const;
-
- WebView* webView() const;
- void setWebView(WebView*);
-
- COMPtr<IAccessible> accessible() const;
-
-protected:
- void loadHTMLString(BSTR string, BSTR baseURL, BSTR unreachableURL);
- void loadData(PassRefPtr<WebCore::SharedBuffer>, BSTR mimeType, BSTR textEncodingName, BSTR baseURL, BSTR failingURL);
- const Vector<WebCore::IntRect>& computePageRects(HDC printDC);
- void setPrinting(bool printing, const WebCore::FloatSize& pageSize, const WebCore::FloatSize& originalPageSize, float maximumShrinkRatio, WebCore::AdjustViewSizeOrNot);
- void headerAndFooterHeights(float*, float*);
- WebCore::IntRect printerMarginRect(HDC);
- void spoolPage (PlatformGraphicsContext* pctx, WebCore::GraphicsContext* spoolCtx, HDC printDC, IWebUIDelegate*, float headerHeight, float footerHeight, UINT page, UINT pageCount);
- void drawHeader(PlatformGraphicsContext* pctx, IWebUIDelegate*, const WebCore::IntRect& pageRect, float headerHeight);
- void drawFooter(PlatformGraphicsContext* pctx, IWebUIDelegate*, const WebCore::IntRect& pageRect, UINT page, UINT pageCount, float headerHeight, float footerHeight);
-
-protected:
- ULONG m_refCount;
- class WebFramePrivate;
- WebFramePrivate* d;
- bool m_quickRedirectComing;
- WebCore::KURL m_originalRequestURL;
- bool m_inPrintingMode;
- Vector<WebCore::IntRect> m_pageRects;
- int m_pageHeight; // height of the page adjusted by margins
- mutable COMPtr<AccessibleDocument> m_accessible;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebFramePolicyListener.cpp b/Source/WebKit/win/WebFramePolicyListener.cpp
deleted file mode 100644
index 4d19e1ab7..000000000
--- a/Source/WebKit/win/WebFramePolicyListener.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebFramePolicyListener.h"
-
-#include "WebFrame.h"
-#include <WebCore/Frame.h>
-#include <WebCore/FrameLoader.h>
-#include <WebCore/FrameLoaderClient.h>
-
-using namespace WebCore;
-
-// WebFramePolicyListener ----------------------------------------------------------------
-
-WebFramePolicyListener::WebFramePolicyListener(PassRefPtr<Frame> frame)
- : m_refCount(0)
- , m_frame(frame)
-{
- gClassCount++;
- gClassNameCount.add("WebFramePolicyListener");
-}
-
-WebFramePolicyListener::~WebFramePolicyListener()
-{
- gClassCount--;
- gClassNameCount.remove("WebFramePolicyListener");
-}
-
-WebFramePolicyListener* WebFramePolicyListener::createInstance(PassRefPtr<Frame> frame)
-{
- WebFramePolicyListener* instance = new WebFramePolicyListener(frame);
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebFramePolicyListener::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebPolicyDecisionListener*>(this);
- else if (IsEqualGUID(riid, IID_IWebPolicyDecisionListener))
- *ppvObject = static_cast<IWebPolicyDecisionListener*>(this);
- else if (IsEqualGUID(riid, IID_IWebFormSubmissionListener))
- *ppvObject = static_cast<IWebFormSubmissionListener*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebFramePolicyListener::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebFramePolicyListener::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebPolicyDecisionListener ------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebFramePolicyListener::use(void)
-{
- receivedPolicyDecision(PolicyUse);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFramePolicyListener::download(void)
-{
- receivedPolicyDecision(PolicyDownload);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebFramePolicyListener::ignore(void)
-{
- receivedPolicyDecision(PolicyIgnore);
- return S_OK;
-}
-
-// IWebFormSubmissionListener ------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebFramePolicyListener::continueSubmit(void)
-{
- receivedPolicyDecision(PolicyUse);
- return S_OK;
-}
-
-// WebFramePolicyListener ----------------------------------------------------------------
-void WebFramePolicyListener::receivedPolicyDecision(PolicyAction action)
-{
- RefPtr<Frame> frame = m_frame.release();
- if (frame)
- static_cast<WebFrame*>(frame->loader()->client())->receivedPolicyDecision(action);
-}
-
-void WebFramePolicyListener::invalidate()
-{
- m_frame = 0;
-}
-
diff --git a/Source/WebKit/win/WebFramePolicyListener.h b/Source/WebKit/win/WebFramePolicyListener.h
deleted file mode 100644
index f1663e7bb..000000000
--- a/Source/WebKit/win/WebFramePolicyListener.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 WebFramePolicyListener_h
-#define WebFramePolicyListener_h
-
-#include "WebKit.h"
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefPtr.h>
-
-#include <WebCore/FrameLoaderTypes.h>
-
-namespace WebCore {
- class Frame;
-}
-
-class WebFramePolicyListener : public IWebPolicyDecisionListener, public IWebFormSubmissionListener {
-public:
- static WebFramePolicyListener* createInstance(PassRefPtr<WebCore::Frame>);
-protected:
- WebFramePolicyListener(PassRefPtr<WebCore::Frame>);
- ~WebFramePolicyListener();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebPolicyDecisionListener
- virtual HRESULT STDMETHODCALLTYPE use(void);
- virtual HRESULT STDMETHODCALLTYPE download(void);
- virtual HRESULT STDMETHODCALLTYPE ignore(void);
-
- // IWebFormSubmissionListener
- virtual HRESULT STDMETHODCALLTYPE continueSubmit(void);
-
- // WebFramePolicyListener
- void receivedPolicyDecision(WebCore::PolicyAction);
- void invalidate();
-private:
- ULONG m_refCount;
- RefPtr<WebCore::Frame> m_frame;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebGeolocationPolicyListener.cpp b/Source/WebKit/win/WebGeolocationPolicyListener.cpp
deleted file mode 100644
index d16f89274..000000000
--- a/Source/WebKit/win/WebGeolocationPolicyListener.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 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 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 "WebKitDLL.h"
-#include "WebGeolocationPolicyListener.h"
-
-#include <WebCore/Geolocation.h>
-
-using namespace WebCore;
-
-// WebGeolocationPolicyListener ----------------------------------------------------------------
-
-COMPtr<WebGeolocationPolicyListener> WebGeolocationPolicyListener::createInstance(PassRefPtr<Geolocation> geolocation)
-{
- return new WebGeolocationPolicyListener(geolocation);
-}
-
-WebGeolocationPolicyListener::WebGeolocationPolicyListener(PassRefPtr<Geolocation> geolocation)
- : m_refCount(0)
- , m_geolocation(geolocation)
-{
- gClassCount++;
- gClassNameCount.add("WebGeolocationPolicyListener");
-}
-
-WebGeolocationPolicyListener::~WebGeolocationPolicyListener()
-{
- gClassCount--;
- gClassNameCount.remove("WebGeolocationPolicyListener");
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebGeolocationPolicyListener::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualIID(riid, __uuidof(IUnknown)))
- *ppvObject = static_cast<IWebGeolocationPolicyListener*>(this);
- else if (IsEqualIID(riid, __uuidof(IWebGeolocationPolicyListener)))
- *ppvObject = static_cast<IWebGeolocationPolicyListener*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebGeolocationPolicyListener::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebGeolocationPolicyListener::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete this;
-
- return newRef;
-}
-
-// IWebPolicyDecisionListener ------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebGeolocationPolicyListener::allow()
-{
- m_geolocation->setIsAllowed(true);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebGeolocationPolicyListener::deny()
-{
- m_geolocation->setIsAllowed(false);
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebGeolocationPolicyListener.h b/Source/WebKit/win/WebGeolocationPolicyListener.h
deleted file mode 100644
index 17d3d58b1..000000000
--- a/Source/WebKit/win/WebGeolocationPolicyListener.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 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 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 WebGeolocationPolicyListener_h
-#define WebGeolocationPolicyListener_h
-
-#include "WebKit.h"
-#include <WebCore/COMPtr.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefPtr.h>
-
-namespace WebCore {
- class Geolocation;
-}
-
-class WebGeolocationPolicyListener : public IWebGeolocationPolicyListener {
-public:
- static COMPtr<WebGeolocationPolicyListener> createInstance(PassRefPtr<WebCore::Geolocation>);
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
- // IWebGeolocationPolicyListener
- virtual HRESULT STDMETHODCALLTYPE allow();
- virtual HRESULT STDMETHODCALLTYPE deny();
-
-private:
- WebGeolocationPolicyListener(PassRefPtr<WebCore::Geolocation>);
- ~WebGeolocationPolicyListener();
-
- ULONG m_refCount;
- RefPtr<WebCore::Geolocation> m_geolocation;
-};
-
-#endif WebGeolocationPolicyListener_h
diff --git a/Source/WebKit/win/WebGeolocationPosition.cpp b/Source/WebKit/win/WebGeolocationPosition.cpp
deleted file mode 100644
index fb2ac6fa4..000000000
--- a/Source/WebKit/win/WebGeolocationPosition.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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 "WebKitDLL.h"
-#include "WebGeolocationPosition.h"
-#include <WebCore/COMPtr.h>
-
-#include <WebCore/GeolocationPosition.h>
-
-using namespace WebCore;
-
-COMPtr<WebGeolocationPosition> WebGeolocationPosition::createInstance()
-{
- return new WebGeolocationPosition;
-}
-
-WebGeolocationPosition::WebGeolocationPosition()
- : m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("WebGeolocationPosition");
-}
-
-WebGeolocationPosition::~WebGeolocationPosition()
-{
- gClassCount--;
- gClassNameCount.remove("WebGeolocationPosition");
-}
-
-HRESULT WebGeolocationPosition::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualIID(riid, __uuidof(WebGeolocationPosition)))
- *ppvObject = this;
- else if (IsEqualIID(riid, __uuidof(IUnknown)))
- *ppvObject = static_cast<IWebGeolocationPosition*>(this);
- else if (IsEqualIID(riid, __uuidof(IWebGeolocationPosition)))
- *ppvObject = static_cast<IWebGeolocationPosition*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG WebGeolocationPosition::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG WebGeolocationPosition::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete this;
-
- return newRef;
-}
-
-HRESULT WebGeolocationPosition::initWithTimestamp(double timestamp, double latitude, double longitude, double accuracy)
-{
- m_position = GeolocationPosition::create(timestamp, latitude, longitude, accuracy);
- return S_OK;
-}
-
-GeolocationPosition* core(IWebGeolocationPosition* position)
-{
- if (!position)
- return 0;
-
- COMPtr<WebGeolocationPosition> webGeolocationPosition(Query, position);
- if (!webGeolocationPosition)
- return 0;
-
- return webGeolocationPosition->impl();
-}
diff --git a/Source/WebKit/win/WebGeolocationPosition.h b/Source/WebKit/win/WebGeolocationPosition.h
deleted file mode 100644
index 3e11dcfd1..000000000
--- a/Source/WebKit/win/WebGeolocationPosition.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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 WebGeolocationPosition_h
-#define WebGeolocationPosition_h
-
-#include "WebKit.h"
-#include <WebCore/COMPtr.h>
-
-namespace WebCore {
- class GeolocationPosition;
-};
-
-class WebGeolocationPosition : public IWebGeolocationPosition {
-public:
- static COMPtr<WebGeolocationPosition> createInstance();
-private:
- WebGeolocationPosition();
- ~WebGeolocationPosition();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
- // IWebGeolocationPosition
- virtual HRESULT STDMETHODCALLTYPE initWithTimestamp(double timestamp, double latitude, double longitude, double accuracy);
-
- WebCore::GeolocationPosition* impl() const { return m_position.get(); }
-
-private:
- ULONG m_refCount;
- RefPtr<WebCore::GeolocationPosition> m_position;
-};
-
-WebCore::GeolocationPosition* core(IWebGeolocationPosition*);
-
-#endif // WebGeolocationPosition_h
diff --git a/Source/WebKit/win/WebHTMLRepresentation.cpp b/Source/WebKit/win/WebHTMLRepresentation.cpp
deleted file mode 100644
index dd5813d1d..000000000
--- a/Source/WebKit/win/WebHTMLRepresentation.cpp
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple, 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 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 "WebKitDLL.h"
-#include "WebHTMLRepresentation.h"
-
-#include "WebKit.h"
-#include "WebFrame.h"
-#include "WebKitStatisticsPrivate.h"
-#include <WebCore/BString.h>
-#include <WebCore/Frame.h>
-#include <WebCore/HTMLInputElement.h>
-#include <WebCore/TextResourceDecoder.h>
-
-using namespace WebCore;
-
-// WebHTMLRepresentation ------------------------------------------------------
-
-WebHTMLRepresentation::WebHTMLRepresentation()
- : m_refCount(0)
- , m_frame(0)
-{
- WebHTMLRepresentationCount++;
- gClassCount++;
- gClassNameCount.add("WebHTMLRepresentation");
-}
-
-WebHTMLRepresentation::~WebHTMLRepresentation()
-{
- if (m_frame) {
- m_frame->Release();
- m_frame = 0;
- }
-
- WebHTMLRepresentationCount--;
- gClassCount--;
- gClassNameCount.remove("WebHTMLRepresentation");
-}
-
-WebHTMLRepresentation* WebHTMLRepresentation::createInstance(WebFrame* frame)
-{
- WebHTMLRepresentation* instance = new WebHTMLRepresentation();
- instance->m_frame = frame;
- frame->AddRef();
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebHTMLRepresentation*>(this);
- else if (IsEqualGUID(riid, IID_IWebHTMLRepresentation))
- *ppvObject = static_cast<IWebHTMLRepresentation*>(this);
- else if (IsEqualGUID(riid, IID_IWebDocumentRepresentation))
- *ppvObject = static_cast<IWebDocumentRepresentation*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebHTMLRepresentation::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebHTMLRepresentation::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebHTMLRepresentation --------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::supportedMIMETypes(
- /* [out][in] */ BSTR* /*types*/,
- /* [out][in] */ int* /*cTypes*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::supportedNonImageMIMETypes(
- /* [out][in] */ BSTR* /*types*/,
- /* [out][in] */ int* /*cTypes*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::supportedImageMIMETypes(
- /* [out][in] */ BSTR* /*types*/,
- /* [out][in] */ int* /*cTypes*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::attributedStringFromDOMNodes(
- /* [in] */ IDOMNode* /*startNode*/,
- /* [in] */ int /*startOffset*/,
- /* [in] */ IDOMNode* /*endNode*/,
- /* [in] */ int /*endOffset*/,
- /* [retval][out] */ IDataObject** /*attributedString*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::elementWithName(
- /* [in] */ BSTR name,
- /* [in] */ IDOMElement* form,
- /* [retval][out] */ IDOMElement** element)
-{
- if (!m_frame)
- return E_FAIL;
-
- return m_frame->elementWithName(name, form, element);
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::elementDoesAutoComplete(
- /* [in] */ IDOMElement* element,
- /* [retval][out] */ BOOL* result)
-{
- BOOL doesAutoComplete;
- HRESULT hr = m_frame->elementDoesAutoComplete(element, &doesAutoComplete);
- *result = doesAutoComplete ? TRUE : FALSE;
- return hr;
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::elementIsPassword(
- /* [in] */ IDOMElement* element,
- /* [retval][out] */ BOOL* result)
-{
- bool isPassword;
- HRESULT hr = m_frame->elementIsPassword(element, &isPassword);
- *result = isPassword ? TRUE : FALSE;
- return hr;
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::formForElement(
- /* [in] */ IDOMElement* element,
- /* [retval][out] */ IDOMElement** form)
-{
- if (!m_frame)
- return E_FAIL;
-
- return m_frame->formForElement(element, form);
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::currentForm(
- /* [retval][out] */ IDOMElement** form)
-{
- if (!m_frame)
- return E_FAIL;
-
- return m_frame->currentForm(form);
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::controlsInForm(
- /* [in] */ IDOMElement* form,
- /* [out][in] */ IDOMElement** controls,
- /* [out][in] */ int* cControls)
-{
- return m_frame->controlsInForm(form, controls, cControls);
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::deprecatedSearchForLabels(
- /* [size_is][in] */ BSTR* labels,
- /* [in] */ int cLabels,
- /* [in] */ IDOMElement* beforeElement,
- /* [retval][out] */ BSTR* result)
-{
- return m_frame->searchForLabelsBeforeElement(labels, cLabels, beforeElement, 0, 0, result);
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::matchLabels(
- /* [size_is][in] */ BSTR* labels,
- /* [in] */ int cLabels,
- /* [in] */ IDOMElement* againstElement,
- /* [retval][out] */ BSTR* result)
-{
- return m_frame->matchLabelsAgainstElement(labels, cLabels, againstElement, result);
-}
-
-HRESULT WebHTMLRepresentation::searchForLabels(BSTR* labels, unsigned cLabels, IDOMElement* beforeElement, unsigned* resultDistance, BOOL* resultIsInCellAbove, BSTR* result)
-{
- return m_frame->searchForLabelsBeforeElement(labels, cLabels, beforeElement, resultDistance, resultIsInCellAbove, result);
-}
-
-// IWebDocumentRepresentation ----------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::setDataSource(
- /* [in] */ IWebDataSource* /*dataSource*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::receivedData(
- /* [in] */ IStream* /*data*/,
- /* [in] */ IWebDataSource* /*dataSource*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::receivedError(
- /* [in] */ IWebError* /*error*/,
- /* [in] */ IWebDataSource* /*dataSource*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::finishedLoadingWithDataSource(
- /* [in] */ IWebDataSource* /*dataSource*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::canProvideDocumentSource(
- /* [retval][out] */ BOOL* result)
-{
- bool canProvideSource;
- HRESULT hr = this->m_frame->canProvideDocumentSource(&canProvideSource);
- *result = canProvideSource ? TRUE : FALSE;
- return hr;
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::documentSource(
- /* [retval][out] */ BSTR* source)
-{
- if (!source)
- return E_FAIL;
-
- *source = 0;
-
- HRESULT hr = S_OK;
-
- COMPtr<IWebDataSource> dataSource;
- hr = m_frame->dataSource(&dataSource);
- if (FAILED(hr))
- return hr;
-
- COMPtr<IStream> data;
- hr = dataSource->data(&data);
- if (FAILED(hr))
- return hr;
-
- STATSTG stat;
- hr = data->Stat(&stat, STATFLAG_NONAME);
- if (FAILED(hr))
- return hr;
-
- if (stat.cbSize.HighPart || !stat.cbSize.LowPart)
- return E_FAIL;
-
- Vector<char> dataBuffer(stat.cbSize.LowPart);
- ULONG read;
-
- hr = data->Read(dataBuffer.data(), static_cast<ULONG>(dataBuffer.size()), &read);
- if (FAILED(hr))
- return hr;
-
- WebCore::Frame* frame = core(m_frame);
- if (!frame)
- return E_FAIL;
-
- WebCore::Document* doc = frame->document();
- if (!doc)
- return E_FAIL;
-
- WebCore::TextResourceDecoder* decoder = doc->decoder();
- if (!decoder)
- return E_FAIL;
-
- *source = WebCore::BString(decoder->encoding().decode(dataBuffer.data(), dataBuffer.size())).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHTMLRepresentation::title(
- /* [retval][out] */ BSTR* /*docTitle*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
diff --git a/Source/WebKit/win/WebHTMLRepresentation.h b/Source/WebKit/win/WebHTMLRepresentation.h
deleted file mode 100644
index 4d5eade84..000000000
--- a/Source/WebKit/win/WebHTMLRepresentation.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebHTMLRepresentation_H
-#define WebHTMLRepresentation_H
-
-#include "WebKit.h"
-
-class WebFrame;
-
-class WebHTMLRepresentation : public IWebHTMLRepresentation, IWebDocumentRepresentation
-{
-public:
- static WebHTMLRepresentation* createInstance(WebFrame* frame);
-protected:
- WebHTMLRepresentation();
- ~WebHTMLRepresentation();
-public:
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
- // IWebHTMLRepresentation
- virtual HRESULT STDMETHODCALLTYPE supportedMIMETypes(
- /* [out][in] */ BSTR* types,
- /* [out][in] */ int* cTypes);
-
- virtual HRESULT STDMETHODCALLTYPE supportedNonImageMIMETypes(
- /* [out][in] */ BSTR* types,
- /* [out][in] */ int* cTypes);
-
- virtual HRESULT STDMETHODCALLTYPE supportedImageMIMETypes(
- /* [out][in] */ BSTR* types,
- /* [out][in] */ int* cTypes);
-
- virtual HRESULT STDMETHODCALLTYPE attributedStringFromDOMNodes(
- /* [in] */ IDOMNode* startNode,
- /* [in] */ int startOffset,
- /* [in] */ IDOMNode* endNode,
- /* [in] */ int endOffset,
- /* [retval][out] */ IDataObject** attributedString);
-
- virtual HRESULT STDMETHODCALLTYPE elementWithName(
- /* [in] */ BSTR name,
- /* [in] */ IDOMElement* form,
- /* [retval][out] */ IDOMElement** element);
-
- virtual HRESULT STDMETHODCALLTYPE elementDoesAutoComplete(
- /* [in] */ IDOMElement* element,
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE elementIsPassword(
- /* [in] */ IDOMElement* element,
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE formForElement(
- /* [in] */ IDOMElement* element,
- /* [retval][out] */ IDOMElement** form);
-
- virtual HRESULT STDMETHODCALLTYPE currentForm(
- /* [retval][out] */ IDOMElement** form);
-
- virtual HRESULT STDMETHODCALLTYPE controlsInForm(
- /* [in] */ IDOMElement* form,
- /* [out][in] */ IDOMElement** controls,
- /* [out][in] */ int* cControls);
-
- /* Deprecated. Use the variant that includes resultDistance and resultIsInCellAbove instead. */
- virtual HRESULT STDMETHODCALLTYPE deprecatedSearchForLabels(
- /* [size_is][in] */ BSTR *labels,
- /* [in] */ int cLabels,
- /* [in] */ IDOMElement *beforeElement,
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE matchLabels(
- /* [size_is][in] */ BSTR *labels,
- /* [in] */ int cLabels,
- /* [in] */ IDOMElement *againstElement,
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE searchForLabels(BSTR* labels, unsigned cLabels, IDOMElement* beforeElement, unsigned* resultDistance, BOOL* resultIsInCellAbove, BSTR* result);
-
- // IWebDocumentRepresentation
- virtual HRESULT STDMETHODCALLTYPE setDataSource(
- /* [in] */ IWebDataSource* dataSource);
-
- virtual HRESULT STDMETHODCALLTYPE receivedData(
- /* [in] */ IStream* data,
- /* [in] */ IWebDataSource* dataSource);
-
- virtual HRESULT STDMETHODCALLTYPE receivedError(
- /* [in] */ IWebError* error,
- /* [in] */ IWebDataSource* dataSource);
-
- virtual HRESULT STDMETHODCALLTYPE finishedLoadingWithDataSource(
- /* [in] */ IWebDataSource* dataSource);
-
- virtual HRESULT STDMETHODCALLTYPE canProvideDocumentSource(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE documentSource(
- /* [retval][out] */ BSTR* source);
-
- virtual HRESULT STDMETHODCALLTYPE title(
- /* [retval][out] */ BSTR* docTitle);
-
-protected:
- ULONG m_refCount;
- WebFrame* m_frame;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebHistory.cpp b/Source/WebKit/win/WebHistory.cpp
deleted file mode 100644
index ff1cdf2cf..000000000
--- a/Source/WebKit/win/WebHistory.cpp
+++ /dev/null
@@ -1,786 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebHistory.h"
-
-#include "CFDictionaryPropertyBag.h"
-#include "MemoryStream.h"
-#include "WebKit.h"
-#include "MarshallingHelpers.h"
-#include "WebHistoryItem.h"
-#include "WebKit.h"
-#include "WebNotificationCenter.h"
-#include "WebPreferences.h"
-#include <CoreFoundation/CoreFoundation.h>
-#include <WebCore/BString.h>
-#include <WebCore/HistoryItem.h>
-#include <WebCore/KURL.h>
-#include <WebCore/PageGroup.h>
-#include <WebCore/SharedBuffer.h>
-#include <functional>
-#include <wtf/StdLibExtras.h>
-#include <wtf/Vector.h>
-
-using namespace WebCore;
-using namespace std;
-
-static bool areEqualOrClose(double d1, double d2)
-{
- double diff = d1-d2;
- return (diff < .000001 && diff > -.000001);
-}
-
-static COMPtr<CFDictionaryPropertyBag> createUserInfoFromArray(BSTR notificationStr, CFArrayRef arrayItem)
-{
- RetainPtr<CFMutableDictionaryRef> dictionary = adoptCF(
- CFDictionaryCreateMutable(0, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
-
- RetainPtr<CFStringRef> key = adoptCF(MarshallingHelpers::BSTRToCFStringRef(notificationStr));
- CFDictionaryAddValue(dictionary.get(), key.get(), arrayItem);
-
- COMPtr<CFDictionaryPropertyBag> result = CFDictionaryPropertyBag::createInstance();
- result->setDictionary(dictionary.get());
- return result;
-}
-
-static COMPtr<CFDictionaryPropertyBag> createUserInfoFromHistoryItem(BSTR notificationStr, IWebHistoryItem* item)
-{
- // reference counting of item added to the array is managed by the CFArray value callbacks
- RetainPtr<CFArrayRef> itemList = adoptCF(CFArrayCreate(0, (const void**) &item, 1, &MarshallingHelpers::kIUnknownArrayCallBacks));
- COMPtr<CFDictionaryPropertyBag> info = createUserInfoFromArray(notificationStr, itemList.get());
- return info;
-}
-
-// WebHistory -----------------------------------------------------------------
-
-WebHistory::WebHistory()
-: m_refCount(0)
-, m_preferences(0)
-{
- gClassCount++;
- gClassNameCount.add("WebHistory");
-
- m_entriesByURL = adoptCF(CFDictionaryCreateMutable(0, 0, &kCFTypeDictionaryKeyCallBacks, &MarshallingHelpers::kIUnknownDictionaryValueCallBacks));
-
- m_preferences = WebPreferences::sharedStandardPreferences();
-}
-
-WebHistory::~WebHistory()
-{
- gClassCount--;
- gClassNameCount.remove("WebHistory");
-}
-
-WebHistory* WebHistory::createInstance()
-{
- WebHistory* instance = new WebHistory();
- instance->AddRef();
- return instance;
-}
-
-HRESULT WebHistory::postNotification(NotificationType notifyType, IPropertyBag* userInfo /*=0*/)
-{
- IWebNotificationCenter* nc = WebNotificationCenter::defaultCenterInternal();
- HRESULT hr = nc->postNotificationName(getNotificationString(notifyType), static_cast<IWebHistory*>(this), userInfo);
- if (FAILED(hr))
- return hr;
-
- return S_OK;
-}
-
-BSTR WebHistory::getNotificationString(NotificationType notifyType)
-{
- static BSTR keys[6] = {0};
- if (!keys[0]) {
- keys[0] = SysAllocString(WebHistoryItemsAddedNotification);
- keys[1] = SysAllocString(WebHistoryItemsRemovedNotification);
- keys[2] = SysAllocString(WebHistoryAllItemsRemovedNotification);
- keys[3] = SysAllocString(WebHistoryLoadedNotification);
- keys[4] = SysAllocString(WebHistoryItemsDiscardedWhileLoadingNotification);
- keys[5] = SysAllocString(WebHistorySavedNotification);
- }
- return keys[notifyType];
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebHistory::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, CLSID_WebHistory))
- *ppvObject = this;
- else if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebHistory*>(this);
- else if (IsEqualGUID(riid, IID_IWebHistory))
- *ppvObject = static_cast<IWebHistory*>(this);
- else if (IsEqualGUID(riid, IID_IWebHistoryPrivate))
- *ppvObject = static_cast<IWebHistoryPrivate*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebHistory::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebHistory::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebHistory ----------------------------------------------------------------
-
-static inline COMPtr<WebHistory>& sharedHistoryStorage()
-{
- DEFINE_STATIC_LOCAL(COMPtr<WebHistory>, sharedHistory, ());
- return sharedHistory;
-}
-
-WebHistory* WebHistory::sharedHistory()
-{
- return sharedHistoryStorage().get();
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::optionalSharedHistory(
- /* [retval][out] */ IWebHistory** history)
-{
- *history = sharedHistory();
- if (*history)
- (*history)->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::setOptionalSharedHistory(
- /* [in] */ IWebHistory* history)
-{
- if (sharedHistoryStorage() == history)
- return S_OK;
- sharedHistoryStorage().query(history);
- PageGroup::setShouldTrackVisitedLinks(sharedHistoryStorage());
- PageGroup::removeAllVisitedLinks();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::unused1()
-{
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::unused2()
-{
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::addItems(
- /* [in] */ int itemCount,
- /* [in] */ IWebHistoryItem** items)
-{
- // There is no guarantee that the incoming entries are in any particular
- // order, but if this is called with a set of entries that were created by
- // iterating through the results of orderedLastVisitedDays and orderedItemsLastVisitedOnDay
- // then they will be ordered chronologically from newest to oldest. We can make adding them
- // faster (fewer compares) by inserting them from oldest to newest.
-
- HRESULT hr;
- for (int i = itemCount - 1; i >= 0; --i) {
- hr = addItem(items[i], false, 0);
- if (FAILED(hr))
- return hr;
- }
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::removeItems(
- /* [in] */ int itemCount,
- /* [in] */ IWebHistoryItem** items)
-{
- HRESULT hr;
- for (int i = 0; i < itemCount; ++i) {
- hr = removeItem(items[i]);
- if (FAILED(hr))
- return hr;
- }
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::removeAllItems( void)
-{
- m_entriesByDate.clear();
- m_orderedLastVisitedDays.clear();
-
- CFIndex itemCount = CFDictionaryGetCount(m_entriesByURL.get());
- Vector<IWebHistoryItem*> itemsVector(itemCount);
- CFDictionaryGetKeysAndValues(m_entriesByURL.get(), 0, (const void**)itemsVector.data());
- RetainPtr<CFArrayRef> allItems = adoptCF(CFArrayCreate(kCFAllocatorDefault, (const void**)itemsVector.data(), itemCount, &MarshallingHelpers::kIUnknownArrayCallBacks));
-
- CFDictionaryRemoveAllValues(m_entriesByURL.get());
-
- PageGroup::removeAllVisitedLinks();
-
- COMPtr<CFDictionaryPropertyBag> userInfo = createUserInfoFromArray(getNotificationString(kWebHistoryAllItemsRemovedNotification), allItems.get());
- return postNotification(kWebHistoryAllItemsRemovedNotification, userInfo.get());
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::orderedLastVisitedDays(
- /* [out][in] */ int* count,
- /* [in] */ DATE* calendarDates)
-{
- int dateCount = m_entriesByDate.size();
- if (!calendarDates) {
- *count = dateCount;
- return S_OK;
- }
-
- if (*count < dateCount) {
- *count = dateCount;
- return E_FAIL;
- }
-
- *count = dateCount;
- if (!m_orderedLastVisitedDays) {
- m_orderedLastVisitedDays = adoptArrayPtr(new DATE[dateCount]);
- DateToEntriesMap::const_iterator::Keys end = m_entriesByDate.end().keys();
- int i = 0;
- for (DateToEntriesMap::const_iterator::Keys it = m_entriesByDate.begin().keys(); it != end; ++it, ++i)
- m_orderedLastVisitedDays[i] = MarshallingHelpers::CFAbsoluteTimeToDATE(*it);
- // Use std::greater to sort the days in descending order (i.e., most-recent first).
- sort(m_orderedLastVisitedDays.get(), m_orderedLastVisitedDays.get() + dateCount, greater<DATE>());
- }
-
- memcpy(calendarDates, m_orderedLastVisitedDays.get(), dateCount * sizeof(DATE));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::orderedItemsLastVisitedOnDay(
- /* [out][in] */ int* count,
- /* [in] */ IWebHistoryItem** items,
- /* [in] */ DATE calendarDate)
-{
- DateKey dateKey;
- if (!findKey(&dateKey, MarshallingHelpers::DATEToCFAbsoluteTime(calendarDate))) {
- *count = 0;
- return 0;
- }
-
- CFArrayRef entries = m_entriesByDate.get(dateKey).get();
- if (!entries) {
- *count = 0;
- return 0;
- }
-
- int newCount = CFArrayGetCount(entries);
-
- if (!items) {
- *count = newCount;
- return S_OK;
- }
-
- if (*count < newCount) {
- *count = newCount;
- return E_FAIL;
- }
-
- *count = newCount;
- for (int i = 0; i < newCount; i++) {
- IWebHistoryItem* item = (IWebHistoryItem*)CFArrayGetValueAtIndex(entries, i);
- item->AddRef();
- items[i] = item;
- }
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::allItems(
- /* [out][in] */ int* count,
- /* [out][retval] */ IWebHistoryItem** items)
-{
- int entriesByURLCount = CFDictionaryGetCount(m_entriesByURL.get());
-
- if (!items) {
- *count = entriesByURLCount;
- return S_OK;
- }
-
- if (*count < entriesByURLCount) {
- *count = entriesByURLCount;
- return E_FAIL;
- }
-
- *count = entriesByURLCount;
- CFDictionaryGetKeysAndValues(m_entriesByURL.get(), 0, (const void**)items);
- for (int i = 0; i < entriesByURLCount; i++)
- items[i]->AddRef();
-
- return S_OK;
-}
-
-HRESULT WebHistory::setVisitedLinkTrackingEnabled(BOOL visitedLinkTrackingEnabled)
-{
- PageGroup::setShouldTrackVisitedLinks(visitedLinkTrackingEnabled);
- return S_OK;
-}
-
-HRESULT WebHistory::removeAllVisitedLinks()
-{
- PageGroup::removeAllVisitedLinks();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::setHistoryItemLimit(
- /* [in] */ int limit)
-{
- if (!m_preferences)
- return E_FAIL;
- return m_preferences->setHistoryItemLimit(limit);
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::historyItemLimit(
- /* [retval][out] */ int* limit)
-{
- if (!m_preferences)
- return E_FAIL;
- return m_preferences->historyItemLimit(limit);
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::setHistoryAgeInDaysLimit(
- /* [in] */ int limit)
-{
- if (!m_preferences)
- return E_FAIL;
- return m_preferences->setHistoryAgeInDaysLimit(limit);
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::historyAgeInDaysLimit(
- /* [retval][out] */ int* limit)
-{
- if (!m_preferences)
- return E_FAIL;
- return m_preferences->historyAgeInDaysLimit(limit);
-}
-
-HRESULT WebHistory::removeItem(IWebHistoryItem* entry)
-{
- HRESULT hr = S_OK;
- BString urlBStr;
-
- hr = entry->URLString(&urlBStr);
- if (FAILED(hr))
- return hr;
-
- RetainPtr<CFStringRef> urlString = adoptCF(MarshallingHelpers::BSTRToCFStringRef(urlBStr));
-
- // If this exact object isn't stored, then make no change.
- // FIXME: Is this the right behavior if this entry isn't present, but another entry for the same URL is?
- // Maybe need to change the API to make something like removeEntryForURLString public instead.
- IWebHistoryItem *matchingEntry = (IWebHistoryItem*)CFDictionaryGetValue(m_entriesByURL.get(), urlString.get());
- if (matchingEntry != entry)
- return E_FAIL;
-
- hr = removeItemForURLString(urlString.get());
- if (FAILED(hr))
- return hr;
-
- COMPtr<CFDictionaryPropertyBag> userInfo = createUserInfoFromHistoryItem(
- getNotificationString(kWebHistoryItemsRemovedNotification), entry);
- hr = postNotification(kWebHistoryItemsRemovedNotification, userInfo.get());
-
- return hr;
-}
-
-HRESULT WebHistory::addItem(IWebHistoryItem* entry, bool discardDuplicate, bool* added)
-{
- HRESULT hr = S_OK;
-
- if (!entry)
- return E_FAIL;
-
- BString urlBStr;
- hr = entry->URLString(&urlBStr);
- if (FAILED(hr))
- return hr;
-
- RetainPtr<CFStringRef> urlString = adoptCF(MarshallingHelpers::BSTRToCFStringRef(urlBStr));
-
- COMPtr<IWebHistoryItem> oldEntry((IWebHistoryItem*) CFDictionaryGetValue(
- m_entriesByURL.get(), urlString.get()));
-
- if (oldEntry) {
- if (discardDuplicate) {
- if (added)
- *added = false;
- return S_OK;
- }
-
- removeItemForURLString(urlString.get());
-
- // If we already have an item with this URL, we need to merge info that drives the
- // URL autocomplete heuristics from that item into the new one.
- IWebHistoryItemPrivate* entryPriv;
- hr = entry->QueryInterface(IID_IWebHistoryItemPrivate, (void**)&entryPriv);
- if (SUCCEEDED(hr)) {
- entryPriv->mergeAutoCompleteHints(oldEntry.get());
- entryPriv->Release();
- }
- }
-
- hr = addItemToDateCaches(entry);
- if (FAILED(hr))
- return hr;
-
- CFDictionarySetValue(m_entriesByURL.get(), urlString.get(), entry);
-
- COMPtr<CFDictionaryPropertyBag> userInfo = createUserInfoFromHistoryItem(
- getNotificationString(kWebHistoryItemsAddedNotification), entry);
- hr = postNotification(kWebHistoryItemsAddedNotification, userInfo.get());
-
- if (added)
- *added = true;
-
- return hr;
-}
-
-void WebHistory::visitedURL(const KURL& url, const String& title, const String& httpMethod, bool wasFailure, bool increaseVisitCount)
-{
- RetainPtr<CFStringRef> urlString = url.string().createCFString();
-
- IWebHistoryItem* entry = (IWebHistoryItem*)CFDictionaryGetValue(m_entriesByURL.get(), urlString.get());
- if (entry) {
- COMPtr<IWebHistoryItemPrivate> entryPrivate(Query, entry);
- if (!entryPrivate)
- return;
-
- // Remove the item from date caches before changing its last visited date. Otherwise we might get duplicate entries
- // as seen in <rdar://problem/6570573>.
- removeItemFromDateCaches(entry);
- entryPrivate->visitedWithTitle(BString(title), increaseVisitCount);
- } else {
- COMPtr<WebHistoryItem> item(AdoptCOM, WebHistoryItem::createInstance());
- if (!item)
- return;
-
- entry = item.get();
-
- SYSTEMTIME currentTime;
- GetSystemTime(&currentTime);
- DATE lastVisited;
- if (!SystemTimeToVariantTime(&currentTime, &lastVisited))
- return;
-
- if (FAILED(entry->initWithURLString(BString(url.string()), BString(title), lastVisited)))
- return;
-
- item->recordInitialVisit();
-
- CFDictionarySetValue(m_entriesByURL.get(), urlString.get(), entry);
- }
-
- addItemToDateCaches(entry);
-
- COMPtr<IWebHistoryItemPrivate> entryPrivate(Query, entry);
- if (!entryPrivate)
- return;
-
- entryPrivate->setLastVisitWasFailure(wasFailure);
- if (!httpMethod.isEmpty())
- entryPrivate->setLastVisitWasHTTPNonGet(!equalIgnoringCase(httpMethod, "GET") && url.protocolIsInHTTPFamily());
-
- COMPtr<WebHistoryItem> item(Query, entry);
- item->historyItem()->setRedirectURLs(nullptr);
-
- COMPtr<CFDictionaryPropertyBag> userInfo = createUserInfoFromHistoryItem(
- getNotificationString(kWebHistoryItemsAddedNotification), entry);
- postNotification(kWebHistoryItemsAddedNotification, userInfo.get());
-}
-
-HRESULT WebHistory::itemForURLString(
- /* [in] */ CFStringRef urlString,
- /* [retval][out] */ IWebHistoryItem** item) const
-{
- if (!item)
- return E_FAIL;
- *item = 0;
-
- IWebHistoryItem* foundItem = (IWebHistoryItem*) CFDictionaryGetValue(m_entriesByURL.get(), urlString);
- if (!foundItem)
- return E_FAIL;
-
- foundItem->AddRef();
- *item = foundItem;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistory::itemForURL(
- /* [in] */ BSTR url,
- /* [retval][out] */ IWebHistoryItem** item)
-{
- RetainPtr<CFStringRef> urlString = adoptCF(MarshallingHelpers::BSTRToCFStringRef(url));
- return itemForURLString(urlString.get(), item);
-}
-
-HRESULT WebHistory::removeItemForURLString(CFStringRef urlString)
-{
- IWebHistoryItem* entry = (IWebHistoryItem*) CFDictionaryGetValue(m_entriesByURL.get(), urlString);
- if (!entry)
- return E_FAIL;
-
- HRESULT hr = removeItemFromDateCaches(entry);
- CFDictionaryRemoveValue(m_entriesByURL.get(), urlString);
-
- if (!CFDictionaryGetCount(m_entriesByURL.get()))
- PageGroup::removeAllVisitedLinks();
-
- return hr;
-}
-
-COMPtr<IWebHistoryItem> WebHistory::itemForURLString(const String& urlString) const
-{
- if (!urlString)
- return 0;
- COMPtr<IWebHistoryItem> item;
- if (FAILED(itemForURLString(urlString.createCFString().get(), &item)))
- return 0;
- return item;
-}
-
-HRESULT WebHistory::addItemToDateCaches(IWebHistoryItem* entry)
-{
- HRESULT hr = S_OK;
-
- DATE lastVisitedCOMTime;
- entry->lastVisitedTimeInterval(&lastVisitedCOMTime);
-
- DateKey dateKey;
- if (findKey(&dateKey, MarshallingHelpers::DATEToCFAbsoluteTime(lastVisitedCOMTime))) {
- // other entries already exist for this date
- hr = insertItem(entry, dateKey);
- } else {
- ASSERT(!m_entriesByDate.contains(dateKey));
- // no other entries exist for this date
- RetainPtr<CFMutableArrayRef> entryArray = adoptCF(
- CFArrayCreateMutable(0, 0, &MarshallingHelpers::kIUnknownArrayCallBacks));
- CFArrayAppendValue(entryArray.get(), entry);
- m_entriesByDate.set(dateKey, entryArray);
- // Clear m_orderedLastVisitedDays so it will be regenerated when next requested.
- m_orderedLastVisitedDays.clear();
- }
-
- return hr;
-}
-
-HRESULT WebHistory::removeItemFromDateCaches(IWebHistoryItem* entry)
-{
- HRESULT hr = S_OK;
-
- DATE lastVisitedCOMTime;
- entry->lastVisitedTimeInterval(&lastVisitedCOMTime);
-
- DateKey dateKey;
- if (!findKey(&dateKey, MarshallingHelpers::DATEToCFAbsoluteTime(lastVisitedCOMTime)))
- return E_FAIL;
-
- DateToEntriesMap::iterator found = m_entriesByDate.find(dateKey);
- ASSERT(found != m_entriesByDate.end());
- CFMutableArrayRef entriesForDate = found->value.get();
-
- CFIndex count = CFArrayGetCount(entriesForDate);
- for (int i = count - 1; i >= 0; --i) {
- if ((IWebHistoryItem*)CFArrayGetValueAtIndex(entriesForDate, i) == entry)
- CFArrayRemoveValueAtIndex(entriesForDate, i);
- }
-
- // remove this date entirely if there are no other entries on it
- if (CFArrayGetCount(entriesForDate) == 0) {
- m_entriesByDate.remove(found);
- // Clear m_orderedLastVisitedDays so it will be regenerated when next requested.
- m_orderedLastVisitedDays.clear();
- }
-
- return hr;
-}
-
-static void getDayBoundaries(CFAbsoluteTime day, CFAbsoluteTime& beginningOfDay, CFAbsoluteTime& beginningOfNextDay)
-{
- RetainPtr<CFTimeZoneRef> timeZone = adoptCF(CFTimeZoneCopyDefault());
- CFGregorianDate date = CFAbsoluteTimeGetGregorianDate(day, timeZone.get());
- date.hour = 0;
- date.minute = 0;
- date.second = 0;
- beginningOfDay = CFGregorianDateGetAbsoluteTime(date, timeZone.get());
- date.day += 1;
- beginningOfNextDay = CFGregorianDateGetAbsoluteTime(date, timeZone.get());
-}
-
-static inline CFAbsoluteTime beginningOfDay(CFAbsoluteTime date)
-{
- static CFAbsoluteTime cachedBeginningOfDay = numeric_limits<CFAbsoluteTime>::quiet_NaN();
- static CFAbsoluteTime cachedBeginningOfNextDay;
- if (!(date >= cachedBeginningOfDay && date < cachedBeginningOfNextDay))
- getDayBoundaries(date, cachedBeginningOfDay, cachedBeginningOfNextDay);
- return cachedBeginningOfDay;
-}
-
-static inline WebHistory::DateKey dateKey(CFAbsoluteTime date)
-{
- // Converting from double (CFAbsoluteTime) to int64_t (WebHistoryDateKey) is
- // safe here because all sensible dates are in the range -2**48 .. 2**47 which
- // safely fits in an int64_t.
- return beginningOfDay(date);
-}
-
-// Returns whether the day is already in the list of days,
-// and fills in *key with the found or proposed key.
-bool WebHistory::findKey(DateKey* key, CFAbsoluteTime forDay)
-{
- ASSERT_ARG(key, key);
-
- *key = dateKey(forDay);
- return m_entriesByDate.contains(*key);
-}
-
-HRESULT WebHistory::insertItem(IWebHistoryItem* entry, DateKey dateKey)
-{
- ASSERT_ARG(entry, entry);
- ASSERT_ARG(dateKey, m_entriesByDate.contains(dateKey));
-
- HRESULT hr = S_OK;
-
- if (!entry)
- return E_FAIL;
-
- DATE entryTime;
- entry->lastVisitedTimeInterval(&entryTime);
- CFMutableArrayRef entriesForDate = m_entriesByDate.get(dateKey).get();
- unsigned count = CFArrayGetCount(entriesForDate);
-
- // The entries for each day are stored in a sorted array with the most recent entry first
- // Check for the common cases of the entry being newer than all existing entries or the first entry of the day
- bool isNewerThanAllEntries = false;
- if (count) {
- IWebHistoryItem* item = const_cast<IWebHistoryItem*>(static_cast<const IWebHistoryItem*>(CFArrayGetValueAtIndex(entriesForDate, 0)));
- DATE itemTime;
- isNewerThanAllEntries = SUCCEEDED(item->lastVisitedTimeInterval(&itemTime)) && itemTime < entryTime;
- }
- if (!count || isNewerThanAllEntries) {
- CFArrayInsertValueAtIndex(entriesForDate, 0, entry);
- return S_OK;
- }
-
- // .. or older than all existing entries
- bool isOlderThanAllEntries = false;
- if (count > 0) {
- IWebHistoryItem* item = const_cast<IWebHistoryItem*>(static_cast<const IWebHistoryItem*>(CFArrayGetValueAtIndex(entriesForDate, count - 1)));
- DATE itemTime;
- isOlderThanAllEntries = SUCCEEDED(item->lastVisitedTimeInterval(&itemTime)) && itemTime >= entryTime;
- }
- if (isOlderThanAllEntries) {
- CFArrayInsertValueAtIndex(entriesForDate, count, entry);
- return S_OK;
- }
-
- unsigned low = 0;
- unsigned high = count;
- while (low < high) {
- unsigned mid = low + (high - low) / 2;
- IWebHistoryItem* item = const_cast<IWebHistoryItem*>(static_cast<const IWebHistoryItem*>(CFArrayGetValueAtIndex(entriesForDate, mid)));
- DATE itemTime;
- if (FAILED(item->lastVisitedTimeInterval(&itemTime)))
- return E_FAIL;
-
- if (itemTime >= entryTime)
- low = mid + 1;
- else
- high = mid;
- }
-
- // low is now the index of the first entry that is older than entryDate
- CFArrayInsertValueAtIndex(entriesForDate, low, entry);
- return S_OK;
-}
-
-CFAbsoluteTime WebHistory::timeToDate(CFAbsoluteTime time)
-{
- // can't just divide/round since the day boundaries depend on our current time zone
- const double secondsPerDay = 60 * 60 * 24;
- CFTimeZoneRef timeZone = CFTimeZoneCopySystem();
- CFGregorianDate date = CFAbsoluteTimeGetGregorianDate(time, timeZone);
- date.hour = date.minute = 0;
- date.second = 0.0;
- CFAbsoluteTime timeInDays = CFGregorianDateGetAbsoluteTime(date, timeZone);
- if (areEqualOrClose(time - timeInDays, secondsPerDay))
- timeInDays += secondsPerDay;
- return timeInDays;
-}
-
-// Return a date that marks the age limit for history entries saved to or
-// loaded from disk. Any entry older than this item should be rejected.
-HRESULT WebHistory::ageLimitDate(CFAbsoluteTime* time)
-{
- // get the current date as a CFAbsoluteTime
- CFAbsoluteTime currentDate = timeToDate(CFAbsoluteTimeGetCurrent());
-
- CFGregorianUnits ageLimit = {0};
- int historyLimitDays;
- HRESULT hr = historyAgeInDaysLimit(&historyLimitDays);
- if (FAILED(hr))
- return hr;
- ageLimit.days = -historyLimitDays;
- *time = CFAbsoluteTimeAddGregorianUnits(currentDate, CFTimeZoneCopySystem(), ageLimit);
- return S_OK;
-}
-
-static void addVisitedLinkToPageGroup(const void* key, const void*, void* context)
-{
- CFStringRef url = static_cast<CFStringRef>(key);
- PageGroup* group = static_cast<PageGroup*>(context);
-
- CFIndex length = CFStringGetLength(url);
- const UChar* characters = reinterpret_cast<const UChar*>(CFStringGetCharactersPtr(url));
- if (characters)
- group->addVisitedLink(characters, length);
- else {
- Vector<UChar, 512> buffer(length);
- CFStringGetCharacters(url, CFRangeMake(0, length), reinterpret_cast<UniChar*>(buffer.data()));
- group->addVisitedLink(buffer.data(), length);
- }
-}
-
-void WebHistory::addVisitedLinksToPageGroup(PageGroup& group)
-{
- CFDictionaryApplyFunction(m_entriesByURL.get(), addVisitedLinkToPageGroup, &group);
-}
diff --git a/Source/WebKit/win/WebHistory.h b/Source/WebKit/win/WebHistory.h
deleted file mode 100644
index aefb2c8ca..000000000
--- a/Source/WebKit/win/WebHistory.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 WebHistory_H
-#define WebHistory_H
-
-#include "WebKit.h"
-#include <CoreFoundation/CoreFoundation.h>
-#include <WebCore/COMPtr.h>
-#include <wtf/Forward.h>
-#include <wtf/OwnArrayPtr.h>
-#include <wtf/RetainPtr.h>
-
-namespace WebCore {
- class KURL;
- class PageGroup;
-}
-
-//-----------------------------------------------------------------------------
-
-class WebPreferences;
-
-class WebHistory : public IWebHistory, public IWebHistoryPrivate {
-public:
- static WebHistory* createInstance();
-private:
- WebHistory();
- ~WebHistory();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebHistory
- virtual HRESULT STDMETHODCALLTYPE optionalSharedHistory(
- /* [retval][out] */ IWebHistory** history);
-
- virtual HRESULT STDMETHODCALLTYPE setOptionalSharedHistory(
- /* [in] */ IWebHistory* history);
-
- virtual HRESULT STDMETHODCALLTYPE unused1() OVERRIDE;
- virtual HRESULT STDMETHODCALLTYPE unused2() OVERRIDE;
-
- virtual HRESULT STDMETHODCALLTYPE addItems(
- /* [in] */ int itemCount,
- /* [in] */ IWebHistoryItem** items);
-
- virtual HRESULT STDMETHODCALLTYPE removeItems(
- /* [in] */ int itemCount,
- /* [in] */ IWebHistoryItem** items);
-
- virtual HRESULT STDMETHODCALLTYPE removeAllItems( void);
-
- virtual HRESULT STDMETHODCALLTYPE orderedLastVisitedDays(
- /* [out][in] */ int* count,
- /* [in] */ DATE* calendarDates);
-
- virtual HRESULT STDMETHODCALLTYPE orderedItemsLastVisitedOnDay(
- /* [out][in] */ int* count,
- /* [in] */ IWebHistoryItem** items,
- /* [in] */ DATE calendarDate);
-
- virtual HRESULT STDMETHODCALLTYPE itemForURL(
- /* [in] */ BSTR url,
- /* [retval][out] */ IWebHistoryItem** item);
-
- virtual HRESULT STDMETHODCALLTYPE setHistoryItemLimit(
- /* [in] */ int limit);
-
- virtual HRESULT STDMETHODCALLTYPE historyItemLimit(
- /* [retval][out] */ int* limit);
-
- virtual HRESULT STDMETHODCALLTYPE setHistoryAgeInDaysLimit(
- /* [in] */ int limit);
-
- virtual HRESULT STDMETHODCALLTYPE historyAgeInDaysLimit(
- /* [retval][out] */ int* limit);
-
- // IWebHistoryPrivate
-
- virtual HRESULT STDMETHODCALLTYPE allItems(
- /* [out][in] */ int* count,
- /* [retval][out] */ IWebHistoryItem** items);
-
- virtual HRESULT STDMETHODCALLTYPE setVisitedLinkTrackingEnabled(BOOL visitedLinkTrackingEnable);
- virtual HRESULT STDMETHODCALLTYPE removeAllVisitedLinks();
-
- // WebHistory
- static WebHistory* sharedHistory();
- void visitedURL(const WebCore::KURL&, const WTF::String& title, const WTF::String& httpMethod, bool wasFailure, bool increaseVisitCount);
- void addVisitedLinksToPageGroup(WebCore::PageGroup&);
-
- COMPtr<IWebHistoryItem> itemForURLString(const WTF::String&) const;
-
- typedef int64_t DateKey;
- typedef HashMap<DateKey, RetainPtr<CFMutableArrayRef> > DateToEntriesMap;
-
-private:
-
- enum NotificationType
- {
- kWebHistoryItemsAddedNotification = 0,
- kWebHistoryItemsRemovedNotification = 1,
- kWebHistoryAllItemsRemovedNotification = 2,
- kWebHistoryLoadedNotification = 3,
- kWebHistoryItemsDiscardedWhileLoadingNotification = 4,
- kWebHistorySavedNotification = 5
- };
-
- HRESULT postNotification(NotificationType notifyType, IPropertyBag* userInfo = 0);
- HRESULT removeItem(IWebHistoryItem* entry);
- HRESULT addItem(IWebHistoryItem* entry, bool discardDuplicate, bool* added);
- HRESULT removeItemForURLString(CFStringRef urlString);
- HRESULT addItemToDateCaches(IWebHistoryItem* entry);
- HRESULT removeItemFromDateCaches(IWebHistoryItem* entry);
- HRESULT insertItem(IWebHistoryItem* entry, DateKey);
- HRESULT ageLimitDate(CFAbsoluteTime* time);
- bool findKey(DateKey*, CFAbsoluteTime forDay);
- static CFAbsoluteTime timeToDate(CFAbsoluteTime time);
- BSTR getNotificationString(NotificationType notifyType);
- HRESULT itemForURLString(CFStringRef urlString, IWebHistoryItem** item) const;
-
- ULONG m_refCount;
- RetainPtr<CFMutableDictionaryRef> m_entriesByURL;
- DateToEntriesMap m_entriesByDate;
- OwnArrayPtr<DATE> m_orderedLastVisitedDays;
- COMPtr<WebPreferences> m_preferences;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebHistoryItem.cpp b/Source/WebKit/win/WebHistoryItem.cpp
deleted file mode 100644
index 8bfe9bd7c..000000000
--- a/Source/WebKit/win/WebHistoryItem.cpp
+++ /dev/null
@@ -1,643 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 "WebKitDLL.h"
-#include "WebHistoryItem.h"
-
-#include "COMEnumVariant.h"
-#include "MarshallingHelpers.h"
-#include "WebKit.h"
-#include <WebCore/BString.h>
-#include <WebCore/COMPtr.h>
-#include <WebCore/HistoryItem.h>
-#include <WebCore/KURL.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/RetainPtr.h>
-#include <wtf/text/CString.h>
-
-using namespace WebCore;
-
-// WebHistoryItem ----------------------------------------------------------------
-
-static HashMap<HistoryItem*, WebHistoryItem*>& historyItemWrappers()
-{
- static HashMap<HistoryItem*, WebHistoryItem*> staticHistoryItemWrappers;
- return staticHistoryItemWrappers;
-}
-
-WebHistoryItem::WebHistoryItem(PassRefPtr<HistoryItem> historyItem)
-: m_refCount(0)
-, m_historyItem(historyItem)
-{
- ASSERT(!historyItemWrappers().contains(m_historyItem.get()));
- historyItemWrappers().set(m_historyItem.get(), this);
-
- gClassCount++;
- gClassNameCount.add("WebHistoryItem");
-}
-
-WebHistoryItem::~WebHistoryItem()
-{
- ASSERT(historyItemWrappers().contains(m_historyItem.get()));
- historyItemWrappers().remove(m_historyItem.get());
-
- gClassCount--;
- gClassNameCount.remove("WebHistoryItem");
-}
-
-WebHistoryItem* WebHistoryItem::createInstance()
-{
- WebHistoryItem* instance = new WebHistoryItem(HistoryItem::create());
- instance->AddRef();
- return instance;
-}
-
-WebHistoryItem* WebHistoryItem::createInstance(PassRefPtr<HistoryItem> historyItem)
-{
- WebHistoryItem* instance;
-
- instance = historyItemWrappers().get(historyItem.get());
-
- if (!instance)
- instance = new WebHistoryItem(historyItem);
-
- instance->AddRef();
- return instance;
-}
-
-// IWebHistoryItemPrivate -----------------------------------------------------
-
-static CFStringRef urlKey = CFSTR("");
-static CFStringRef lastVisitedDateKey = CFSTR("lastVisitedDate");
-static CFStringRef titleKey = CFSTR("title");
-static CFStringRef visitCountKey = CFSTR("visitCount");
-static CFStringRef lastVisitWasFailureKey = CFSTR("lastVisitWasFailure");
-static CFStringRef lastVisitWasHTTPNonGetKey = CFSTR("lastVisitWasHTTPNonGet");
-static CFStringRef redirectURLsKey = CFSTR("redirectURLs");
-static CFStringRef dailyVisitCountKey = CFSTR("D"); // short key to save space
-static CFStringRef weeklyVisitCountKey = CFSTR("W"); // short key to save space
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::initFromDictionaryRepresentation(void* dictionary)
-{
- CFDictionaryRef dictionaryRef = (CFDictionaryRef) dictionary;
-
- CFStringRef urlStringRef = (CFStringRef) CFDictionaryGetValue(dictionaryRef, urlKey);
- if (urlStringRef && CFGetTypeID(urlStringRef) != CFStringGetTypeID())
- return E_FAIL;
-
- CFStringRef lastVisitedRef = (CFStringRef) CFDictionaryGetValue(dictionaryRef, lastVisitedDateKey);
- if (!lastVisitedRef || CFGetTypeID(lastVisitedRef) != CFStringGetTypeID())
- return E_FAIL;
- CFAbsoluteTime lastVisitedTime = CFStringGetDoubleValue(lastVisitedRef);
-
- CFStringRef titleRef = (CFStringRef) CFDictionaryGetValue(dictionaryRef, titleKey);
- if (titleRef && CFGetTypeID(titleRef) != CFStringGetTypeID())
- return E_FAIL;
-
- CFNumberRef visitCountRef = (CFNumberRef) CFDictionaryGetValue(dictionaryRef, visitCountKey);
- if (!visitCountRef || CFGetTypeID(visitCountRef) != CFNumberGetTypeID())
- return E_FAIL;
- int visitedCount = 0;
- if (!CFNumberGetValue(visitCountRef, kCFNumberIntType, &visitedCount))
- return E_FAIL;
-
- // Can't trust data on disk, and we've had at least one report of this (<rdar://6572300>).
- if (visitedCount < 0) {
- LOG_ERROR("visit count for history item \"%s\" is negative (%d), will be reset to 1", String(urlStringRef).utf8().data(), visitedCount);
- visitedCount = 1;
- }
-
- CFBooleanRef lastVisitWasFailureRef = static_cast<CFBooleanRef>(CFDictionaryGetValue(dictionaryRef, lastVisitWasFailureKey));
- if (lastVisitWasFailureRef && CFGetTypeID(lastVisitWasFailureRef) != CFBooleanGetTypeID())
- return E_FAIL;
- bool lastVisitWasFailure = lastVisitWasFailureRef && CFBooleanGetValue(lastVisitWasFailureRef);
-
- CFBooleanRef lastVisitWasHTTPNonGetRef = static_cast<CFBooleanRef>(CFDictionaryGetValue(dictionaryRef, lastVisitWasHTTPNonGetKey));
- if (lastVisitWasHTTPNonGetRef && CFGetTypeID(lastVisitWasHTTPNonGetRef) != CFBooleanGetTypeID())
- return E_FAIL;
- bool lastVisitWasHTTPNonGet = lastVisitWasHTTPNonGetRef && CFBooleanGetValue(lastVisitWasHTTPNonGetRef);
-
- OwnPtr<Vector<String> > redirectURLsVector;
- if (CFArrayRef redirectURLsRef = static_cast<CFArrayRef>(CFDictionaryGetValue(dictionaryRef, redirectURLsKey))) {
- CFIndex size = CFArrayGetCount(redirectURLsRef);
- redirectURLsVector = adoptPtr(new Vector<String>(size));
- for (CFIndex i = 0; i < size; ++i)
- (*redirectURLsVector)[i] = String(static_cast<CFStringRef>(CFArrayGetValueAtIndex(redirectURLsRef, i)));
- }
-
- CFArrayRef dailyCounts = static_cast<CFArrayRef>(CFDictionaryGetValue(dictionaryRef, dailyVisitCountKey));
- if (dailyCounts && CFGetTypeID(dailyCounts) != CFArrayGetTypeID())
- dailyCounts = 0;
- CFArrayRef weeklyCounts = static_cast<CFArrayRef>(CFDictionaryGetValue(dictionaryRef, weeklyVisitCountKey));
- if (weeklyCounts && CFGetTypeID(weeklyCounts) != CFArrayGetTypeID())
- weeklyCounts = 0;
-
- std::auto_ptr<Vector<int> > dailyVector, weeklyVector;
- if (dailyCounts || weeklyCounts) {
- CFIndex dailySize = dailyCounts ? CFArrayGetCount(dailyCounts) : 0;
- CFIndex weeklySize = weeklyCounts ? CFArrayGetCount(weeklyCounts) : 0;
- dailyVector.reset(new Vector<int>(dailySize));
- weeklyVector.reset(new Vector<int>(weeklySize));
-
- // Daily and weekly counts < 0 are errors in the data read from disk, so reset to 0.
- for (CFIndex i = 0; i < dailySize; ++i) {
- CFNumberRef dailyCount = static_cast<CFNumberRef>(CFArrayGetValueAtIndex(dailyCounts, i));
- if (CFGetTypeID(dailyCount) == CFNumberGetTypeID())
- CFNumberGetValue(dailyCount, kCFNumberIntType, &(*dailyVector)[i]);
- if ((*dailyVector)[i] < 0)
- (*dailyVector)[i] = 0;
- }
- for (CFIndex i = 0; i < weeklySize; ++i) {
- CFNumberRef weeklyCount = static_cast<CFNumberRef>(CFArrayGetValueAtIndex(weeklyCounts, i));
- if (CFGetTypeID(weeklyCount) == CFNumberGetTypeID())
- CFNumberGetValue(weeklyCount, kCFNumberIntType, &(*weeklyVector)[i]);
- if ((*weeklyVector)[i] < 0)
- (*weeklyVector)[i] = 0;
- }
- }
-
- historyItemWrappers().remove(m_historyItem.get());
- m_historyItem = HistoryItem::create(urlStringRef, titleRef, lastVisitedTime);
- historyItemWrappers().set(m_historyItem.get(), this);
-
- m_historyItem->setVisitCount(visitedCount);
- if (lastVisitWasFailure)
- m_historyItem->setLastVisitWasFailure(true);
-
- if (lastVisitWasHTTPNonGet && (protocolIs(m_historyItem->urlString(), "http") || protocolIs(m_historyItem->urlString(), "https")))
- m_historyItem->setLastVisitWasHTTPNonGet(true);
-
- if (redirectURLsVector)
- m_historyItem->setRedirectURLs(redirectURLsVector.release());
-
- if (dailyVector.get())
- m_historyItem->adoptVisitCounts(*dailyVector, *weeklyVector);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::dictionaryRepresentation(void** dictionary)
-{
- CFDictionaryRef* dictionaryRef = (CFDictionaryRef*) dictionary;
- static CFStringRef lastVisitedFormat = CFSTR("%.1lf");
- CFStringRef lastVisitedStringRef =
- CFStringCreateWithFormat(0, 0, lastVisitedFormat, m_historyItem->lastVisitedTime());
- if (!lastVisitedStringRef)
- return E_FAIL;
-
- int keyCount = 0;
- CFTypeRef keys[9];
- CFTypeRef values[9];
-
- if (!m_historyItem->urlString().isEmpty()) {
- keys[keyCount] = urlKey;
- values[keyCount++] = m_historyItem->urlString().createCFString().leakRef();
- }
-
- keys[keyCount] = lastVisitedDateKey;
- values[keyCount++] = lastVisitedStringRef;
-
- if (!m_historyItem->title().isEmpty()) {
- keys[keyCount] = titleKey;
- values[keyCount++] = m_historyItem->title().createCFString().leakRef();
- }
-
- keys[keyCount] = visitCountKey;
- int visitCount = m_historyItem->visitCount();
- values[keyCount++] = CFNumberCreate(0, kCFNumberIntType, &visitCount);
-
- if (m_historyItem->lastVisitWasFailure()) {
- keys[keyCount] = lastVisitWasFailureKey;
- values[keyCount++] = CFRetain(kCFBooleanTrue);
- }
-
- if (m_historyItem->lastVisitWasHTTPNonGet()) {
- ASSERT(m_historyItem->urlString().startsWith("http:", false) || m_historyItem->urlString().startsWith("https:", false));
- keys[keyCount] = lastVisitWasHTTPNonGetKey;
- values[keyCount++] = CFRetain(kCFBooleanTrue);
- }
-
- if (Vector<String>* redirectURLs = m_historyItem->redirectURLs()) {
- size_t size = redirectURLs->size();
- ASSERT(size);
- CFStringRef* items = new CFStringRef[size];
- for (size_t i = 0; i < size; ++i)
- items[i] = redirectURLs->at(i).createCFString().leakRef();
- CFArrayRef result = CFArrayCreate(0, (const void**)items, size, &kCFTypeArrayCallBacks);
- for (size_t i = 0; i < size; ++i)
- CFRelease(items[i]);
- delete[] items;
-
- keys[keyCount] = redirectURLsKey;
- values[keyCount++] = result;
- }
-
- const Vector<int>& dailyVisitCount(m_historyItem->dailyVisitCounts());
- if (size_t size = dailyVisitCount.size()) {
- Vector<CFNumberRef, 13> numbers(size);
- for (size_t i = 0; i < size; ++i)
- numbers[i] = CFNumberCreate(0, kCFNumberIntType, &dailyVisitCount[i]);
-
- CFArrayRef result = CFArrayCreate(0, (const void**)numbers.data(), size, &kCFTypeArrayCallBacks);
-
- for (size_t i = 0; i < size; ++i)
- CFRelease(numbers[i]);
-
- keys[keyCount] = dailyVisitCountKey;
- values[keyCount++] = result;
- }
-
- const Vector<int>& weeklyVisitCount(m_historyItem->weeklyVisitCounts());
- if (size_t size = weeklyVisitCount.size()) {
- Vector<CFNumberRef, 5> numbers(size);
- for (size_t i = 0; i < size; ++i)
- numbers[i] = CFNumberCreate(0, kCFNumberIntType, &weeklyVisitCount[i]);
-
- CFArrayRef result = CFArrayCreate(0, (const void**)numbers.data(), size, &kCFTypeArrayCallBacks);
-
- for (size_t i = 0; i < size; ++i)
- CFRelease(numbers[i]);
-
- keys[keyCount] = weeklyVisitCountKey;
- values[keyCount++] = result;
- }
-
- *dictionaryRef = CFDictionaryCreate(0, keys, values, keyCount, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
-
- for (int i = 0; i < keyCount; ++i)
- CFRelease(values[i]);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::hasURLString(BOOL *hasURL)
-{
- *hasURL = m_historyItem->urlString().isEmpty() ? FALSE : TRUE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::visitCount(int *count)
-{
- *count = m_historyItem->visitCount();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::setVisitCount(int count)
-{
- m_historyItem->setVisitCount(count);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::mergeAutoCompleteHints(IWebHistoryItem* otherItem)
-{
- if (!otherItem)
- return E_FAIL;
-
- COMPtr<WebHistoryItem> otherWebHistoryItem(Query, otherItem);
- if (!otherWebHistoryItem)
- return E_FAIL;
-
- m_historyItem->mergeAutoCompleteHints(otherWebHistoryItem->historyItem());
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::setLastVisitedTimeInterval(DATE time)
-{
- m_historyItem->setLastVisitedTime(MarshallingHelpers::DATEToCFAbsoluteTime(time));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::setTitle(BSTR title)
-{
- m_historyItem->setTitle(String(title, SysStringLen(title)));
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::RSSFeedReferrer(BSTR* url)
-{
- BString str(m_historyItem->referrer());
- *url = str.release();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::setRSSFeedReferrer(BSTR url)
-{
- m_historyItem->setReferrer(String(url, SysStringLen(url)));
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::hasPageCache(BOOL* /*hasCache*/)
-{
- // FIXME - TODO
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::setHasPageCache(BOOL /*hasCache*/)
-{
- // FIXME - TODO
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::target(BSTR* target)
-{
- if (!target) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *target = BString(m_historyItem->target()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::isTargetItem(BOOL* result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *result = m_historyItem->isTargetItem() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::children(unsigned* outChildCount, SAFEARRAY** outChildren)
-{
- if (!outChildCount || !outChildren) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *outChildCount = 0;
- *outChildren = 0;
-
- const HistoryItemVector& coreChildren = m_historyItem->children();
- if (coreChildren.isEmpty())
- return S_OK;
- size_t childCount = coreChildren.size();
-
- SAFEARRAY* children = SafeArrayCreateVector(VT_UNKNOWN, 0, static_cast<ULONG>(childCount));
- if (!children)
- return E_OUTOFMEMORY;
-
- for (unsigned i = 0; i < childCount; ++i) {
- COMPtr<WebHistoryItem> item(AdoptCOM, WebHistoryItem::createInstance(coreChildren[i]));
- if (!item) {
- SafeArrayDestroy(children);
- return E_OUTOFMEMORY;
- }
-
- LONG longI = i;
- HRESULT hr = SafeArrayPutElement(children, &longI, item.get());
- if (FAILED(hr)) {
- SafeArrayDestroy(children);
- return hr;
- }
- }
-
- *outChildCount = static_cast<unsigned>(childCount);
- *outChildren = children;
- return S_OK;
-
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::lastVisitWasFailure(BOOL* wasFailure)
-{
- if (!wasFailure) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *wasFailure = m_historyItem->lastVisitWasFailure();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::setLastVisitWasFailure(BOOL wasFailure)
-{
- m_historyItem->setLastVisitWasFailure(wasFailure);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::lastVisitWasHTTPNonGet(BOOL* HTTPNonGet)
-{
- if (!HTTPNonGet) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *HTTPNonGet = m_historyItem->lastVisitWasHTTPNonGet();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::setLastVisitWasHTTPNonGet(BOOL HTTPNonGet)
-{
- m_historyItem->setLastVisitWasHTTPNonGet(HTTPNonGet);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::redirectURLs(IEnumVARIANT** urls)
-{
- if (!urls) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- Vector<String>* urlVector = m_historyItem->redirectURLs();
- if (!urlVector) {
- *urls = 0;
- return S_OK;
- }
-
- COMPtr<COMEnumVariant<Vector<String> > > enumVariant(AdoptCOM, COMEnumVariant<Vector<String> >::createInstance(*urlVector));
- *urls = enumVariant.leakRef();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::visitedWithTitle(BSTR title, BOOL increaseVisitCount)
-{
- m_historyItem->visited(title, CFAbsoluteTimeGetCurrent(), increaseVisitCount ? IncreaseVisitCount : DoNotIncreaseVisitCount);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::getDailyVisitCounts(int* number, int** counts)
-{
- if (!number || !counts) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *counts = const_cast<int*>(m_historyItem->dailyVisitCounts().data());
- *number = m_historyItem->dailyVisitCounts().size();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::getWeeklyVisitCounts(int* number, int** counts)
-{
- if (!number || !counts) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *counts = const_cast<int*>(m_historyItem->weeklyVisitCounts().data());
- *number = m_historyItem->weeklyVisitCounts().size();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::recordInitialVisit()
-{
- m_historyItem->recordInitialVisit();
- return S_OK;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, __uuidof(WebHistoryItem)))
- *ppvObject = this;
- else if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebHistoryItem*>(this);
- else if (IsEqualGUID(riid, IID_IWebHistoryItem))
- *ppvObject = static_cast<IWebHistoryItem*>(this);
- else if (IsEqualGUID(riid, IID_IWebHistoryItemPrivate))
- *ppvObject = static_cast<IWebHistoryItemPrivate*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebHistoryItem::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebHistoryItem::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebHistoryItem -------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::initWithURLString(
- /* [in] */ BSTR urlString,
- /* [in] */ BSTR title,
- /* [in] */ DATE lastVisited)
-{
- historyItemWrappers().remove(m_historyItem.get());
- m_historyItem = HistoryItem::create(String(urlString, SysStringLen(urlString)), String(title, SysStringLen(title)), MarshallingHelpers::DATEToCFAbsoluteTime(lastVisited));
- historyItemWrappers().set(m_historyItem.get(), this);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::originalURLString(
- /* [retval][out] */ BSTR* url)
-{
- if (!url)
- return E_POINTER;
-
- BString str = m_historyItem->originalURLString();
- *url = str.release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::URLString(
- /* [retval][out] */ BSTR* url)
-{
- if (!url)
- return E_POINTER;
-
- BString str = m_historyItem->urlString();
- *url = str.release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::title(
- /* [retval][out] */ BSTR* pageTitle)
-{
- if (!pageTitle)
- return E_POINTER;
-
- BString str(m_historyItem->title());
- *pageTitle = str.release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::lastVisitedTimeInterval(
- /* [retval][out] */ DATE* lastVisited)
-{
- if (!lastVisited)
- return E_POINTER;
-
- *lastVisited = MarshallingHelpers::CFAbsoluteTimeToDATE(m_historyItem->lastVisitedTime());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::setAlternateTitle(
- /* [in] */ BSTR title)
-{
- m_alternateTitle = String(title, SysStringLen(title));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::alternateTitle(
- /* [retval][out] */ BSTR* title)
-{
- if (!title) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *title = BString(m_alternateTitle).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebHistoryItem::icon(
- /* [out, retval] */ OLE_HANDLE* /*hBitmap*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-// WebHistoryItem -------------------------------------------------------------
-
-HistoryItem* WebHistoryItem::historyItem() const
-{
- return m_historyItem.get();
-}
diff --git a/Source/WebKit/win/WebHistoryItem.h b/Source/WebKit/win/WebHistoryItem.h
deleted file mode 100644
index aad0fdafc..000000000
--- a/Source/WebKit/win/WebHistoryItem.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008 Apple 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 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 WebHistoryItem_H
-#define WebHistoryItem_H
-
-#include "WebKit.h"
-
-#include <CoreFoundation/CoreFoundation.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/RefPtr.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
- class HistoryItem;
-}
-
-//-----------------------------------------------------------------------------
-
-class WebHistoryItem : public IWebHistoryItem, IWebHistoryItemPrivate
-{
-public:
- static WebHistoryItem* createInstance();
- static WebHistoryItem* createInstance(PassRefPtr<WebCore::HistoryItem>);
-protected:
- WebHistoryItem(PassRefPtr<WebCore::HistoryItem>);
- ~WebHistoryItem();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebHistoryItem
- virtual HRESULT STDMETHODCALLTYPE initWithURLString(
- /* [in] */ BSTR urlString,
- /* [in] */ BSTR title,
- /* [in] */ DATE lastVisited);
-
- virtual HRESULT STDMETHODCALLTYPE originalURLString(
- /* [retval][out] */ BSTR *url);
-
- virtual HRESULT STDMETHODCALLTYPE URLString(
- /* [retval][out] */ BSTR *url);
-
- virtual HRESULT STDMETHODCALLTYPE title(
- /* [retval][out] */ BSTR *pageTitle);
-
- virtual HRESULT STDMETHODCALLTYPE lastVisitedTimeInterval(
- /* [retval][out] */ DATE *lastVisited);
-
- virtual HRESULT STDMETHODCALLTYPE setAlternateTitle(
- /* [in] */ BSTR title);
-
- virtual HRESULT STDMETHODCALLTYPE alternateTitle(
- /* [retval][out] */ BSTR* title);
-
- virtual HRESULT STDMETHODCALLTYPE icon(
- /* [out, retval] */ OLE_HANDLE *hBitmap);
-
- // IWebHistoryItemPrivate
- virtual HRESULT STDMETHODCALLTYPE initFromDictionaryRepresentation(void* dictionary);
- virtual HRESULT STDMETHODCALLTYPE dictionaryRepresentation(void** dictionary);
- virtual HRESULT STDMETHODCALLTYPE visitCount(int *count);
- virtual HRESULT STDMETHODCALLTYPE setVisitCount(int count);
- virtual HRESULT STDMETHODCALLTYPE hasURLString(BOOL* hasURL);
- virtual HRESULT STDMETHODCALLTYPE mergeAutoCompleteHints(IWebHistoryItem* otherItem);
- virtual HRESULT STDMETHODCALLTYPE setLastVisitedTimeInterval(DATE time);
- virtual HRESULT STDMETHODCALLTYPE setTitle(BSTR title);
- virtual HRESULT STDMETHODCALLTYPE RSSFeedReferrer(BSTR* url);
- virtual HRESULT STDMETHODCALLTYPE setRSSFeedReferrer(BSTR url);
- virtual HRESULT STDMETHODCALLTYPE hasPageCache(BOOL *hasCache);
- virtual HRESULT STDMETHODCALLTYPE setHasPageCache(BOOL hasCache);
- virtual HRESULT STDMETHODCALLTYPE target(BSTR* target);
- virtual HRESULT STDMETHODCALLTYPE isTargetItem(BOOL* result);
- virtual HRESULT STDMETHODCALLTYPE children(unsigned* childCount, SAFEARRAY** children);
- virtual HRESULT STDMETHODCALLTYPE lastVisitWasFailure(BOOL* wasFailure);
- virtual HRESULT STDMETHODCALLTYPE setLastVisitWasFailure(BOOL wasFailure);
- virtual HRESULT STDMETHODCALLTYPE lastVisitWasHTTPNonGet(BOOL* HTTPNonGet);
- virtual HRESULT STDMETHODCALLTYPE setLastVisitWasHTTPNonGet(BOOL HTTPNonGet);
- virtual HRESULT STDMETHODCALLTYPE redirectURLs(IEnumVARIANT**);
- virtual HRESULT STDMETHODCALLTYPE visitedWithTitle(BSTR title, BOOL increaseVisitCount);
- virtual HRESULT STDMETHODCALLTYPE getDailyVisitCounts(int* number, int** counts);
- virtual HRESULT STDMETHODCALLTYPE getWeeklyVisitCounts(int* number, int** counts);
- virtual HRESULT STDMETHODCALLTYPE recordInitialVisit();
- // WebHistoryItem
- WebCore::HistoryItem* historyItem() const;
-
-protected:
- ULONG m_refCount;
-
- RefPtr<WebCore::HistoryItem> m_historyItem;
- WTF::String m_alternateTitle;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebIconDatabase.cpp b/Source/WebKit/win/WebIconDatabase.cpp
deleted file mode 100644
index 316a3588e..000000000
--- a/Source/WebKit/win/WebIconDatabase.cpp
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple 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 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 "WebKitDLL.h"
-#include "WebIconDatabase.h"
-
-#include "CFDictionaryPropertyBag.h"
-#include "WebNotificationCenter.h"
-#include "WebPreferences.h"
-#include "shlobj.h"
-#include <WebCore/BString.h>
-#include <WebCore/BitmapInfo.h>
-#include <WebCore/COMPtr.h>
-#include <WebCore/FileSystem.h>
-#include <WebCore/HWndDC.h>
-#include <WebCore/IconDatabase.h>
-#include <WebCore/Image.h>
-#include <WebCore/SharedBuffer.h>
-#include <wtf/MainThread.h>
-#include <wtf/text/WTFString.h>
-
-using namespace WebCore;
-using namespace WTF;
-
-// WebIconDatabase ----------------------------------------------------------------
-
-WebIconDatabase* WebIconDatabase::m_sharedWebIconDatabase = 0;
-
-WebIconDatabase::WebIconDatabase()
-: m_refCount(0)
-, m_deliveryRequested(false)
-{
- gClassCount++;
- gClassNameCount.add("WebIconDatabase");
-}
-
-WebIconDatabase::~WebIconDatabase()
-{
- gClassCount--;
- gClassNameCount.remove("WebIconDatabase");
-}
-
-void WebIconDatabase::init()
-{
- WebPreferences* standardPrefs = WebPreferences::sharedStandardPreferences();
- BOOL enabled = FALSE;
- if (FAILED(standardPrefs->iconDatabaseEnabled(&enabled))) {
- enabled = FALSE;
- LOG_ERROR("Unable to get icon database enabled preference");
- }
- iconDatabase().setEnabled(!!enabled);
- if (!(!!enabled))
- return;
-
- startUpIconDatabase();
-}
-
-void WebIconDatabase::startUpIconDatabase()
-{
- WebPreferences* standardPrefs = WebPreferences::sharedStandardPreferences();
-
- iconDatabase().setClient(this);
-
- BString prefDatabasePath;
- if (FAILED(standardPrefs->iconDatabaseLocation(&prefDatabasePath)))
- LOG_ERROR("Unable to get icon database location preference");
-
- String databasePath(prefDatabasePath, SysStringLen(prefDatabasePath));
-
- if (databasePath.isEmpty()) {
- databasePath = localUserSpecificStorageDirectory();
- if (databasePath.isEmpty())
- LOG_ERROR("Failed to construct default icon database path");
- }
-
- if (!iconDatabase().open(databasePath, WebCore::IconDatabase::defaultDatabaseFilename()))
- LOG_ERROR("Failed to open icon database path");
-}
-
-void WebIconDatabase::shutDownIconDatabase()
-{
-}
-
-WebIconDatabase* WebIconDatabase::createInstance()
-{
- WebIconDatabase* instance = new WebIconDatabase();
- instance->AddRef();
- return instance;
-}
-
-WebIconDatabase* WebIconDatabase::sharedWebIconDatabase()
-{
- if (m_sharedWebIconDatabase) {
- m_sharedWebIconDatabase->AddRef();
- return m_sharedWebIconDatabase;
- }
- m_sharedWebIconDatabase = createInstance();
- m_sharedWebIconDatabase->init();
- return m_sharedWebIconDatabase;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebIconDatabase::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebIconDatabase*>(this);
- else if (IsEqualGUID(riid, IID_IWebIconDatabase))
- *ppvObject = static_cast<IWebIconDatabase*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebIconDatabase::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebIconDatabase::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebIconDatabase --------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebIconDatabase::sharedIconDatabase(
- /* [retval][out] */ IWebIconDatabase** result)
-{
- *result = sharedWebIconDatabase();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebIconDatabase::iconForURL(
- /* [in] */ BSTR url,
- /* [optional][in] */ LPSIZE size,
- /* [optional][in] */ BOOL /*cache*/,
- /* [retval][out] */ OLE_HANDLE* bitmap)
-{
- IntSize intSize(*size);
-
- Image* icon = 0;
- if (url)
- icon = iconDatabase().synchronousIconForPageURL(String(url, SysStringLen(url)), intSize);
-
- // Make sure we check for the case of an "empty image"
- if (icon && icon->width()) {
- *bitmap = (OLE_HANDLE)(ULONG64)getOrCreateSharedBitmap(size);
- if (!icon->getHBITMAPOfSize((HBITMAP)(ULONG64)*bitmap, size)) {
- LOG_ERROR("Failed to draw Image to HBITMAP");
- *bitmap = 0;
- return E_FAIL;
- }
- return S_OK;
- }
-
- return defaultIconWithSize(size, bitmap);
-}
-
-HRESULT STDMETHODCALLTYPE WebIconDatabase::defaultIconWithSize(
- /* [in] */ LPSIZE size,
- /* [retval][out] */ OLE_HANDLE* result)
-{
- *result = (OLE_HANDLE)(ULONG64)getOrCreateDefaultIconBitmap(size);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebIconDatabase::retainIconForURL(
- /* [in] */ BSTR url)
-{
- iconDatabase().retainIconForPageURL(String(url, SysStringLen(url)));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebIconDatabase::releaseIconForURL(
- /* [in] */ BSTR url)
-{
- iconDatabase().releaseIconForPageURL(String(url, SysStringLen(url)));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebIconDatabase::removeAllIcons(void)
-{
- iconDatabase().removeAllIcons();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebIconDatabase::delayDatabaseCleanup(void)
-{
- IconDatabase::delayDatabaseCleanup();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebIconDatabase::allowDatabaseCleanup(void)
-{
- IconDatabase::allowDatabaseCleanup();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebIconDatabase::iconURLForURL(
- /* [in] */ BSTR url,
- /* [retval][out] */ BSTR* iconURL)
-{
- if (!url || !iconURL)
- return E_POINTER;
- BString iconURLBSTR(iconDatabase().synchronousIconURLForPageURL(String(url, SysStringLen(url))));
- *iconURL = iconURLBSTR.release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebIconDatabase::isEnabled(
- /* [retval][out] */ BOOL *result)
-{
- *result = iconDatabase().isEnabled();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebIconDatabase::setEnabled(
- /* [in] */ BOOL flag)
-{
- BOOL currentlyEnabled;
- isEnabled(&currentlyEnabled);
- if (currentlyEnabled && !flag) {
- iconDatabase().setEnabled(false);
- shutDownIconDatabase();
- } else if (!currentlyEnabled && flag) {
- iconDatabase().setEnabled(true);
- startUpIconDatabase();
- }
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebIconDatabase::hasIconForURL(
- /* [in] */ BSTR url,
- /* [out][retval] */ BOOL* result)
-{
- if (!url || !result)
- return E_POINTER;
-
- String urlString(url, SysStringLen(url));
-
- // Passing a size parameter of 0, 0 means we don't care about the result of the image, we just
- // want to make sure the read from disk to load the icon is kicked off.
- iconDatabase().synchronousIconForPageURL(urlString, IntSize(0, 0));
-
- // Check to see if we have a non-empty icon URL for the page, and if we do, we have an icon for
- // the page.
- *result = !(iconDatabase().synchronousIconURLForPageURL(urlString).isEmpty());
-
- return S_OK;
-}
-
-HBITMAP createDIB(LPSIZE size)
-{
- BitmapInfo bmInfo = BitmapInfo::create(IntSize(*size));
-
- HWndDC dc(0);
- return CreateDIBSection(dc, &bmInfo, DIB_RGB_COLORS, 0, 0, 0);
-}
-
-HBITMAP WebIconDatabase::getOrCreateSharedBitmap(LPSIZE size)
-{
- HBITMAP result = m_sharedIconMap.get(*size);
- if (result)
- return result;
- result = createDIB(size);
- m_sharedIconMap.set(*size, result);
- return result;
-}
-
-HBITMAP WebIconDatabase::getOrCreateDefaultIconBitmap(LPSIZE size)
-{
- HBITMAP result = m_defaultIconMap.get(*size);
- if (result)
- return result;
-
- result = createDIB(size);
-
- m_defaultIconMap.set(*size, result);
- if (!iconDatabase().defaultIcon(*size) || !iconDatabase().defaultIcon(*size)->getHBITMAPOfSize(result, size)) {
- LOG_ERROR("Failed to draw Image to HBITMAP");
- return 0;
- }
- return result;
-}
-
-// IconDatabaseClient
-
-void WebIconDatabase::didRemoveAllIcons()
-{
- // Queueing the empty string is a special way of saying "this queued notification is the didRemoveAllIcons notification"
- MutexLocker locker(m_notificationMutex);
- m_notificationQueue.append(String());
- scheduleNotificationDelivery();
-}
-
-void WebIconDatabase::didImportIconURLForPageURL(const WTF::String& pageURL)
-{
- MutexLocker locker(m_notificationMutex);
- m_notificationQueue.append(pageURL.isolatedCopy());
- scheduleNotificationDelivery();
-}
-
-void WebIconDatabase::didImportIconDataForPageURL(const WTF::String& pageURL)
-{
- // WebKit1 only has a single "icon did change" notification.
- didImportIconURLForPageURL(pageURL);
-}
-
-void WebIconDatabase::didChangeIconForPageURL(const WTF::String& pageURL)
-{
- // WebKit1 only has a single "icon did change" notification.
- didImportIconURLForPageURL(pageURL);
-}
-
-void WebIconDatabase::didFinishURLImport()
-{
-}
-
-void WebIconDatabase::scheduleNotificationDelivery()
-{
- // Caller of this method must hold the m_notificationQueue lock
- ASSERT(!m_notificationMutex.tryLock());
-
- if (!m_deliveryRequested) {
- m_deliveryRequested = true;
- callOnMainThread(deliverNotifications, 0);
- }
-}
-
-BSTR WebIconDatabase::iconDatabaseDidAddIconNotification()
-{
- static BSTR didAddIconName = SysAllocString(WebIconDatabaseDidAddIconNotification);
- return didAddIconName;
-}
-
-CFStringRef WebIconDatabase::iconDatabaseNotificationUserInfoURLKey()
-{
- static CFStringRef iconUserInfoURLKey = String(WebIconNotificationUserInfoURLKey).createCFString().leakRef();
- return iconUserInfoURLKey;
-}
-
-BSTR WebIconDatabase::iconDatabaseDidRemoveAllIconsNotification()
-{
- static BSTR didRemoveAllIconsName = SysAllocString(WebIconDatabaseDidRemoveAllIconsNotification);
- return didRemoveAllIconsName;
-}
-
-static void postDidRemoveAllIconsNotification(WebIconDatabase* iconDB)
-{
- IWebNotificationCenter* notifyCenter = WebNotificationCenter::defaultCenterInternal();
- notifyCenter->postNotificationName(WebIconDatabase::iconDatabaseDidRemoveAllIconsNotification(), static_cast<IWebIconDatabase*>(iconDB), 0);
-}
-
-static void postDidAddIconNotification(const String& pageURL, WebIconDatabase* iconDB)
-{
- RetainPtr<CFMutableDictionaryRef> dictionary = adoptCF(
- CFDictionaryCreateMutable(0, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
-
- CFDictionaryAddValue(dictionary.get(), WebIconDatabase::iconDatabaseNotificationUserInfoURLKey(), pageURL.createCFString().get());
-
- COMPtr<CFDictionaryPropertyBag> userInfo = CFDictionaryPropertyBag::createInstance();
- userInfo->setDictionary(dictionary.get());
-
- IWebNotificationCenter* notifyCenter = WebNotificationCenter::defaultCenterInternal();
- notifyCenter->postNotificationName(WebIconDatabase::iconDatabaseDidAddIconNotification(), static_cast<IWebIconDatabase*>(iconDB), userInfo.get());
-}
-
-void WebIconDatabase::deliverNotifications(void*)
-{
- ASSERT(m_sharedWebIconDatabase);
- if (!m_sharedWebIconDatabase)
- return;
-
- ASSERT(m_sharedWebIconDatabase->m_deliveryRequested);
-
- Vector<String> queue;
- {
- MutexLocker locker(m_sharedWebIconDatabase->m_notificationMutex);
- queue.swap(m_sharedWebIconDatabase->m_notificationQueue);
- m_sharedWebIconDatabase->m_deliveryRequested = false;
- }
-
- for (unsigned i = 0; i < queue.size(); ++i) {
- if (queue[i].isNull())
- postDidRemoveAllIconsNotification(m_sharedWebIconDatabase);
- else
- postDidAddIconNotification(queue[i], m_sharedWebIconDatabase);
- }
-}
diff --git a/Source/WebKit/win/WebIconDatabase.h b/Source/WebKit/win/WebIconDatabase.h
deleted file mode 100644
index 0fdab77fb..000000000
--- a/Source/WebKit/win/WebIconDatabase.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple 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 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 WebIconDatabase_H
-#define WebIconDatabase_H
-
-#include "WebKit.h"
-
-#include <WebCore/IconDatabaseClient.h>
-#include <WebCore/IntSize.h>
-#include <WebCore/IntSizeHash.h>
-#include <wtf/Vector.h>
-#include <wtf/Threading.h>
-
-#include <windows.h>
-
-typedef const struct __CFString * CFStringRef;
-
-namespace WebCore
-{
- class IconDatabase;
-}; //namespace WebCore
-using namespace WebCore;
-using namespace WTF;
-
-class WebIconDatabase : public IWebIconDatabase, public WebCore::IconDatabaseClient
-{
-public:
- static WebIconDatabase* createInstance();
- static WebIconDatabase* sharedWebIconDatabase();
-private:
- WebIconDatabase();
- ~WebIconDatabase();
- void init();
- void startUpIconDatabase();
- void shutDownIconDatabase();
-public:
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebIconDatabase
- virtual HRESULT STDMETHODCALLTYPE sharedIconDatabase(
- /* [retval][out] */ IWebIconDatabase **result);
-
- virtual HRESULT STDMETHODCALLTYPE iconForURL(
- /* [in] */ BSTR url,
- /* [optional][in] */ LPSIZE size,
- /* [optional][in] */ BOOL cache,
- /* [retval][out] */ OLE_HANDLE *image);
-
- virtual HRESULT STDMETHODCALLTYPE defaultIconWithSize(
- /* [in] */ LPSIZE size,
- /* [retval][out] */ OLE_HANDLE *result);
-
- virtual HRESULT STDMETHODCALLTYPE retainIconForURL(
- /* [in] */ BSTR url);
-
- virtual HRESULT STDMETHODCALLTYPE releaseIconForURL(
- /* [in] */ BSTR url);
-
- virtual HRESULT STDMETHODCALLTYPE removeAllIcons( void);
-
- virtual HRESULT STDMETHODCALLTYPE delayDatabaseCleanup( void);
-
- virtual HRESULT STDMETHODCALLTYPE allowDatabaseCleanup( void);
-
- virtual HRESULT STDMETHODCALLTYPE iconURLForURL(
- /* [in] */ BSTR url,
- /* [retval][out] */ BSTR *iconURL);
-
- virtual HRESULT STDMETHODCALLTYPE isEnabled(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setEnabled(
- /* [in] */ BOOL /*flag*/);
-
- virtual HRESULT STDMETHODCALLTYPE hasIconForURL(
- /* [in] */ BSTR url,
- /* [retval][out] */ BOOL* result);
-
- // IconDatabaseClient
- virtual void didRemoveAllIcons();
- virtual void didImportIconURLForPageURL(const WTF::String&);
- virtual void didImportIconDataForPageURL(const WTF::String&);
- virtual void didChangeIconForPageURL(const WTF::String&);
- virtual void didFinishURLImport();
-
- static BSTR iconDatabaseDidAddIconNotification();
- static BSTR iconDatabaseDidRemoveAllIconsNotification();
- static CFStringRef iconDatabaseNotificationUserInfoURLKey();
-protected:
- ULONG m_refCount;
- static WebIconDatabase* m_sharedWebIconDatabase;
-
- // Keep a set of HBITMAPs around for the default icon, and another
- // to share amongst present site icons
- HBITMAP getOrCreateSharedBitmap(LPSIZE size);
- HBITMAP getOrCreateDefaultIconBitmap(LPSIZE size);
- HashMap<IntSize, HBITMAP> m_defaultIconMap;
- HashMap<IntSize, HBITMAP> m_sharedIconMap;
-
- Mutex m_notificationMutex;
- Vector<String> m_notificationQueue;
- void scheduleNotificationDelivery();
- bool m_deliveryRequested;
-
- static void deliverNotifications(void*);
-};
-
-#endif
diff --git a/Source/WebKit/win/WebInspector.cpp b/Source/WebKit/win/WebInspector.cpp
deleted file mode 100644
index 8bfa7e53a..000000000
--- a/Source/WebKit/win/WebInspector.cpp
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebInspector.h"
-
-#if ENABLE(INSPECTOR)
-
-#include "WebInspectorClient.h"
-#include "WebKitDLL.h"
-#include "WebView.h"
-#include <WebCore/InspectorController.h>
-#include <WebCore/Page.h>
-#include <wtf/Assertions.h>
-
-using namespace WebCore;
-
-WebInspector* WebInspector::createInstance(WebView* webView, WebInspectorClient* inspectorClient)
-{
- WebInspector* inspector = new WebInspector(webView, inspectorClient);
- inspector->AddRef();
- return inspector;
-}
-
-WebInspector::WebInspector(WebView* webView, WebInspectorClient* inspectorClient)
- : m_refCount(0)
- , m_webView(webView)
- , m_inspectorClient(inspectorClient)
-{
- ASSERT_ARG(webView, webView);
-
- gClassCount++;
- gClassNameCount.add("WebInspector");
-}
-
-WebInspector::~WebInspector()
-{
- gClassCount--;
- gClassNameCount.remove("WebInspector");
-}
-
-WebInspectorFrontendClient* WebInspector::frontendClient()
-{
- return m_inspectorClient ? m_inspectorClient->frontendClient() : 0;
-}
-
-void WebInspector::webViewClosed()
-{
- m_webView = 0;
- m_inspectorClient = 0;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IWebInspector))
- *ppvObject = static_cast<IWebInspector*>(this);
- else if (IsEqualGUID(riid, IID_IWebInspectorPrivate))
- *ppvObject = static_cast<IWebInspectorPrivate*>(this);
- else if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebInspector*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebInspector::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebInspector::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete this;
-
- return newRef;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::show()
-{
- if (m_webView)
- if (Page* page = m_webView->page())
- page->inspectorController()->show();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::showConsole()
-{
- if (frontendClient())
- frontendClient()->showConsole();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::unused1()
-{
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::close()
-{
- if (m_webView)
- if (Page* page = m_webView->page())
- page->inspectorController()->close();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::attach()
-{
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::detach()
-{
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::isDebuggingJavaScript(BOOL* isDebugging)
-{
- if (!isDebugging)
- return E_POINTER;
-
- *isDebugging = FALSE;
-
- if (!frontendClient())
- return S_OK;
-
- *isDebugging = frontendClient()->isDebuggingEnabled();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::toggleDebuggingJavaScript()
-{
- show();
-
- if (!frontendClient())
- return S_OK;
-
- if (frontendClient()->isDebuggingEnabled())
- frontendClient()->setDebuggingEnabled(false);
- else
- frontendClient()->setDebuggingEnabled(true);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::isProfilingJavaScript(BOOL* isProfiling)
-{
- if (!isProfiling)
- return E_POINTER;
-
- *isProfiling = FALSE;
-
- if (!frontendClient())
- return S_OK;
-
- *isProfiling = frontendClient()->isProfilingJavaScript();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::toggleProfilingJavaScript()
-{
- show();
-
- if (!frontendClient())
- return S_OK;
-
- if (frontendClient()->isProfilingJavaScript())
- frontendClient()->stopProfilingJavaScript();
- else
- frontendClient()->startProfilingJavaScript();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::isJavaScriptProfilingEnabled(BOOL* isProfilingEnabled)
-{
- if (!isProfilingEnabled)
- return E_POINTER;
-
- *isProfilingEnabled = FALSE;
-
- if (!m_webView)
- return S_OK;
-
- Page* page = m_webView->page();
- if (!page)
- return S_OK;
-
- *isProfilingEnabled = page->inspectorController()->profilerEnabled();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::setJavaScriptProfilingEnabled(BOOL enabled)
-{
- if (!m_webView)
- return S_OK;
-
- Page* page = m_webView->page();
- if (!page)
- return S_OK;
-
- page->inspectorController()->setProfilerEnabled(enabled);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::evaluateInFrontend(ULONG callId, BSTR bScript)
-{
- if (!m_webView)
- return S_OK;
-
- Page* page = m_webView->page();
- if (!page)
- return S_OK;
-
- String script(bScript, SysStringLen(bScript));
- page->inspectorController()->evaluateForTestInFrontend(callId, script);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::isTimelineProfilingEnabled(BOOL* isEnabled)
-{
- if (!isEnabled)
- return E_POINTER;
-
- *isEnabled = FALSE;
-
- if (!frontendClient())
- return S_OK;
-
- *isEnabled = frontendClient()->isTimelineProfilingEnabled();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebInspector::setTimelineProfilingEnabled(BOOL enabled)
-{
- show();
-
- if (!frontendClient())
- return S_OK;
-
- frontendClient()->setTimelineProfilingEnabled(enabled);
- return S_OK;
-}
-
-#endif // ENABLE(INSPECTOR)
diff --git a/Source/WebKit/win/WebInspector.h b/Source/WebKit/win/WebInspector.h
deleted file mode 100644
index 46459990a..000000000
--- a/Source/WebKit/win/WebInspector.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebInspector_h
-#define WebInspector_h
-
-#include "WebKit.h"
-#include <wtf/Noncopyable.h>
-
-class WebInspectorClient;
-class WebInspectorFrontendClient;
-class WebView;
-
-class WebInspector : public IWebInspector, public IWebInspectorPrivate {
- WTF_MAKE_NONCOPYABLE(WebInspector);
-public:
- static WebInspector* createInstance(WebView*, WebInspectorClient*);
-
- void webViewClosed();
-
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
- virtual HRESULT STDMETHODCALLTYPE show();
- virtual HRESULT STDMETHODCALLTYPE showConsole();
- virtual HRESULT STDMETHODCALLTYPE unused1();
- virtual HRESULT STDMETHODCALLTYPE close();
- virtual HRESULT STDMETHODCALLTYPE attach();
- virtual HRESULT STDMETHODCALLTYPE detach();
-
- virtual HRESULT STDMETHODCALLTYPE isDebuggingJavaScript(BOOL* isDebugging);
- virtual HRESULT STDMETHODCALLTYPE toggleDebuggingJavaScript();
-
- virtual HRESULT STDMETHODCALLTYPE isProfilingJavaScript(BOOL* isProfiling);
- virtual HRESULT STDMETHODCALLTYPE toggleProfilingJavaScript();
-
- virtual HRESULT STDMETHODCALLTYPE isJavaScriptProfilingEnabled(BOOL* isProfilingEnabled);
- virtual HRESULT STDMETHODCALLTYPE setJavaScriptProfilingEnabled(BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE evaluateInFrontend(ULONG callId, BSTR script);
-
- virtual HRESULT STDMETHODCALLTYPE isTimelineProfilingEnabled(BOOL* isEnabled);
- virtual HRESULT STDMETHODCALLTYPE setTimelineProfilingEnabled(BOOL);
-
-private:
- WebInspector(WebView*, WebInspectorClient*);
- ~WebInspector();
-
- WebInspectorFrontendClient* frontendClient();
-
- ULONG m_refCount;
- WebView* m_webView;
- WebInspectorClient* m_inspectorClient;
-};
-
-#endif // !defined(WebInspector_h)
diff --git a/Source/WebKit/win/WebJavaScriptCollector.cpp b/Source/WebKit/win/WebJavaScriptCollector.cpp
deleted file mode 100644
index 98f4431c7..000000000
--- a/Source/WebKit/win/WebJavaScriptCollector.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (C) 2007, 2008 Apple 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 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 "WebKitDLL.h"
-#include "WebJavaScriptCollector.h"
-
-#include <JavaScriptCore/Heap.h>
-#include <JavaScriptCore/VM.h>
-#include <WebCore/GCController.h>
-#include <WebCore/JSDOMWindow.h>
-#include <runtime/JSLock.h>
-
-using namespace JSC;
-using namespace WebCore;
-
-// WebJavaScriptCollector ---------------------------------------------------------------------------
-
-WebJavaScriptCollector::WebJavaScriptCollector()
-: m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("WebJavaScriptCollector");
-}
-
-WebJavaScriptCollector::~WebJavaScriptCollector()
-{
- gClassCount--;
- gClassNameCount.remove("WebJavaScriptCollector");
-}
-
-WebJavaScriptCollector* WebJavaScriptCollector::createInstance()
-{
- WebJavaScriptCollector* instance = new WebJavaScriptCollector();
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebJavaScriptCollector::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebJavaScriptCollector*>(this);
- else if (IsEqualGUID(riid, IID_IWebJavaScriptCollector))
- *ppvObject = static_cast<IWebJavaScriptCollector*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebJavaScriptCollector::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebJavaScriptCollector::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebJavaScriptCollector ------------------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebJavaScriptCollector::collect()
-{
- gcController().garbageCollectNow();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebJavaScriptCollector::collectOnAlternateThread(
- /* [in] */ BOOL waitUntilDone)
-{
- gcController().garbageCollectOnAlternateThreadForDebugging(!!waitUntilDone);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebJavaScriptCollector::objectCount(
- /* [retval][out] */ UINT* count)
-{
- if (!count) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- JSLockHolder lock(JSDOMWindow::commonVM());
- *count = (UINT)JSDOMWindow::commonVM()->heap.objectCount();
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebJavaScriptCollector.h b/Source/WebKit/win/WebJavaScriptCollector.h
deleted file mode 100644
index 0ac696c1b..000000000
--- a/Source/WebKit/win/WebJavaScriptCollector.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 WebJavaScriptCollector_H
-#define WebJavaScriptCollector_H
-
-#include "WebKit.h"
-
-class WebJavaScriptCollector : public IWebJavaScriptCollector
-{
-public:
- static WebJavaScriptCollector* createInstance();
-protected:
- WebJavaScriptCollector();
- ~WebJavaScriptCollector();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebJavaScriptCollector
- virtual HRESULT STDMETHODCALLTYPE collect();
-
- virtual HRESULT STDMETHODCALLTYPE collectOnAlternateThread(
- /* [in] */ BOOL waitUntilDone);
-
- virtual HRESULT STDMETHODCALLTYPE objectCount(
- /* [retaval][out] */ UINT* count);
-
-protected:
- ULONG m_refCount;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebKit.resources/Info.plist b/Source/WebKit/win/WebKit.resources/Info.plist
deleted file mode 100644
index 9477472fe..000000000
--- a/Source/WebKit/win/WebKit.resources/Info.plist
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>CFBundleDevelopmentRegion</key>
- <string>English</string>
- <key>CFBundleExecutable</key>
- <string>WebKit</string>
- <key>CFBundleGetInfoString</key>
- <string>522+, Copyright 2003-2009 Apple Inc.</string>
- <key>CFBundleIdentifier</key>
- <string>com.apple.WebKit</string>
- <key>CFBundleInfoDictionaryVersion</key>
- <string>6.0</string>
- <key>CFBundleName</key>
- <string>WebKit</string>
- <key>CFBundlePackageType</key>
- <string>APPL</string>
- <key>CFBundleShortVersionString</key>
- <string>522+</string>
- <key>CFBundleVersion</key>
- <string>522+</string>
-</dict>
-</plist>
diff --git a/Source/WebKit/win/WebKit.resources/WebKit.rc b/Source/WebKit/win/WebKit.resources/WebKit.rc
deleted file mode 100644
index 672ede759..000000000
--- a/Source/WebKit/win/WebKit.resources/WebKit.rc
+++ /dev/null
@@ -1,52 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "autoversion.h"
-#include "resource.h"
-#include "winresrc.h"
-
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// PNG
-//
-
-IDR_RESIZE_CORNER PNG "textAreaResizeCorner.png"
-IDR_MISSING_IMAGE PNG "missingImage.png"
-IDR_NULL_PLUGIN PNG "nullplugin.png"
-IDR_DELETE_BUTTON PNG "deleteButton.png"
-IDR_DELETE_BUTTON_PRESSED PNG "deleteButtonPressed.png"
-IDR_ZOOM_IN_CURSOR PNG "zoomInCursor.png"
-IDR_ZOOM_OUT_CURSOR PNG "zoomOutCursor.png"
-IDR_VERTICAL_TEXT_CURSOR PNG "verticalTextCursor.png"
-IDR_PAN_SCROLL_ICON PNG "panIcon.png"
-IDR_PAN_SOUTH_CURSOR PNG "panSouthCursor.png"
-IDR_PAN_NORTH_CURSOR PNG "panNorthCursor.png"
-IDR_PAN_EAST_CURSOR PNG "panEastCursor.png"
-IDR_PAN_WEST_CURSOR PNG "panWestCursor.png"
-IDR_PAN_SOUTH_EAST_CURSOR PNG "panSouthEastCursor.png"
-IDR_PAN_SOUTH_WEST_CURSOR PNG "panSouthWestCursor.png"
-IDR_PAN_NORTH_EAST_CURSOR PNG "panNorthEastCursor.png"
-IDR_PAN_NORTH_WEST_CURSOR PNG "panNorthWestCursor.png"
-IDR_SEARCH_CANCEL PNG "searchCancel.png"
-IDR_SEARCH_CANCEL_PRESSED PNG "searchCancelPressed.png"
-IDR_SEARCH_MAGNIFIER PNG "searchMagnifier.png"
-IDR_SEARCH_MAGNIFIER_RESULTS PNG "searchMagnifierResults.png"
-IDR_FS_VIDEO_AUDIO_VOLUME_HIGH PNG "fsVideoAudioVolumeHigh.png"
-IDR_FS_VIDEO_AUDIO_VOLUME_LOW PNG "fsVideoAudioVolumeLow.png"
-IDR_FS_VIDEO_EXIT_FULLSCREEN PNG "fsVideoExitFullscreen.png"
-IDR_FS_VIDEO_PAUSE PNG "fsVideoPause.png"
-IDR_FS_VIDEO_PLAY PNG "fsVideoPlay.png"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// STRINGTABLE
-//
-
-STRINGTABLE
-BEGIN
- BUILD_NUMBER __BUILD_NUMBER_SHORT__
-END
diff --git a/Source/WebKit/win/WebKit.resources/deleteButton.png b/Source/WebKit/win/WebKit.resources/deleteButton.png
deleted file mode 100644
index 8f1b88124..000000000
--- a/Source/WebKit/win/WebKit.resources/deleteButton.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/deleteButtonPressed.png b/Source/WebKit/win/WebKit.resources/deleteButtonPressed.png
deleted file mode 100644
index 77d31ca43..000000000
--- a/Source/WebKit/win/WebKit.resources/deleteButtonPressed.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/fsVideoAudioVolumeHigh.png b/Source/WebKit/win/WebKit.resources/fsVideoAudioVolumeHigh.png
deleted file mode 100644
index d04df37e0..000000000
--- a/Source/WebKit/win/WebKit.resources/fsVideoAudioVolumeHigh.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/fsVideoAudioVolumeLow.png b/Source/WebKit/win/WebKit.resources/fsVideoAudioVolumeLow.png
deleted file mode 100644
index e824a2165..000000000
--- a/Source/WebKit/win/WebKit.resources/fsVideoAudioVolumeLow.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/fsVideoExitFullscreen.png b/Source/WebKit/win/WebKit.resources/fsVideoExitFullscreen.png
deleted file mode 100644
index 01ce6929f..000000000
--- a/Source/WebKit/win/WebKit.resources/fsVideoExitFullscreen.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/fsVideoPause.png b/Source/WebKit/win/WebKit.resources/fsVideoPause.png
deleted file mode 100644
index b98fb3698..000000000
--- a/Source/WebKit/win/WebKit.resources/fsVideoPause.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/fsVideoPlay.png b/Source/WebKit/win/WebKit.resources/fsVideoPlay.png
deleted file mode 100644
index 035aeb27f..000000000
--- a/Source/WebKit/win/WebKit.resources/fsVideoPlay.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/missingImage.png b/Source/WebKit/win/WebKit.resources/missingImage.png
deleted file mode 100644
index f49a98d59..000000000
--- a/Source/WebKit/win/WebKit.resources/missingImage.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/nullplugin.png b/Source/WebKit/win/WebKit.resources/nullplugin.png
deleted file mode 100644
index a4195f67d..000000000
--- a/Source/WebKit/win/WebKit.resources/nullplugin.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/panEastCursor.png b/Source/WebKit/win/WebKit.resources/panEastCursor.png
deleted file mode 100644
index 9c1592e5d..000000000
--- a/Source/WebKit/win/WebKit.resources/panEastCursor.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/panIcon.png b/Source/WebKit/win/WebKit.resources/panIcon.png
deleted file mode 100644
index 4ca8d7037..000000000
--- a/Source/WebKit/win/WebKit.resources/panIcon.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/panNorthCursor.png b/Source/WebKit/win/WebKit.resources/panNorthCursor.png
deleted file mode 100644
index 0d020dbab..000000000
--- a/Source/WebKit/win/WebKit.resources/panNorthCursor.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/panNorthEastCursor.png b/Source/WebKit/win/WebKit.resources/panNorthEastCursor.png
deleted file mode 100644
index 0e8963907..000000000
--- a/Source/WebKit/win/WebKit.resources/panNorthEastCursor.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/panNorthWestCursor.png b/Source/WebKit/win/WebKit.resources/panNorthWestCursor.png
deleted file mode 100644
index 6723f614a..000000000
--- a/Source/WebKit/win/WebKit.resources/panNorthWestCursor.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/panSouthCursor.png b/Source/WebKit/win/WebKit.resources/panSouthCursor.png
deleted file mode 100644
index 60cf722d1..000000000
--- a/Source/WebKit/win/WebKit.resources/panSouthCursor.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/panSouthEastCursor.png b/Source/WebKit/win/WebKit.resources/panSouthEastCursor.png
deleted file mode 100644
index 415aa633b..000000000
--- a/Source/WebKit/win/WebKit.resources/panSouthEastCursor.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/panSouthWestCursor.png b/Source/WebKit/win/WebKit.resources/panSouthWestCursor.png
deleted file mode 100644
index 8dc5cdc58..000000000
--- a/Source/WebKit/win/WebKit.resources/panSouthWestCursor.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/panWestCursor.png b/Source/WebKit/win/WebKit.resources/panWestCursor.png
deleted file mode 100644
index 544439adc..000000000
--- a/Source/WebKit/win/WebKit.resources/panWestCursor.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/searchCancel.png b/Source/WebKit/win/WebKit.resources/searchCancel.png
deleted file mode 100644
index 49f3f4710..000000000
--- a/Source/WebKit/win/WebKit.resources/searchCancel.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/searchCancelPressed.png b/Source/WebKit/win/WebKit.resources/searchCancelPressed.png
deleted file mode 100644
index b699d8171..000000000
--- a/Source/WebKit/win/WebKit.resources/searchCancelPressed.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/searchMagnifier.png b/Source/WebKit/win/WebKit.resources/searchMagnifier.png
deleted file mode 100644
index f9b8caef7..000000000
--- a/Source/WebKit/win/WebKit.resources/searchMagnifier.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/searchMagnifierResults.png b/Source/WebKit/win/WebKit.resources/searchMagnifierResults.png
deleted file mode 100644
index 9aa1b36c6..000000000
--- a/Source/WebKit/win/WebKit.resources/searchMagnifierResults.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/textAreaResizeCorner.png b/Source/WebKit/win/WebKit.resources/textAreaResizeCorner.png
deleted file mode 100644
index 023615e55..000000000
--- a/Source/WebKit/win/WebKit.resources/textAreaResizeCorner.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/verticalTextCursor.png b/Source/WebKit/win/WebKit.resources/verticalTextCursor.png
deleted file mode 100644
index 0f2877ccc..000000000
--- a/Source/WebKit/win/WebKit.resources/verticalTextCursor.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/zoomInCursor.png b/Source/WebKit/win/WebKit.resources/zoomInCursor.png
deleted file mode 100644
index feec9bcbb..000000000
--- a/Source/WebKit/win/WebKit.resources/zoomInCursor.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKit.resources/zoomOutCursor.png b/Source/WebKit/win/WebKit.resources/zoomOutCursor.png
deleted file mode 100644
index f4a954e32..000000000
--- a/Source/WebKit/win/WebKit.resources/zoomOutCursor.png
+++ /dev/null
Binary files differ
diff --git a/Source/WebKit/win/WebKitCOMAPI.cpp b/Source/WebKit/win/WebKitCOMAPI.cpp
deleted file mode 100644
index 3c6f0687b..000000000
--- a/Source/WebKit/win/WebKitCOMAPI.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 "WebKitCOMAPI.h"
-
-#include "WebKit.h"
-#include "WebKitDLL.h"
-
-#include <WebCore/COMPtr.h>
-
-struct CLSIDHash {
- static unsigned hash(const CLSID& clsid)
- {
- RPC_STATUS status;
- return ::UuidHash(const_cast<CLSID*>(&clsid), &status);
- }
- static bool equal(const CLSID& a, const CLSID& b) { return ::IsEqualCLSID(a, b); }
- static const bool safeToCompareToEmptyOrDeleted = true;
-};
-
-struct CLSIDHashTraits : WTF::GenericHashTraits<CLSID> {
- static void constructDeletedValue(CLSID& slot) { slot = CLSID_NULL; }
- static bool isDeletedValue(const CLSID& value) { return value == CLSID_NULL; }
- // FIXME: This is a work around for the regression introducing in r130643 when running DRT in debug mode on Windows.
- // Expanding the size of the hash table causes an assertion failure ASSERT(!isDeletedBucket) when reinserting items into the new table,
- // presumably due to the collision issues described in r132302.
- // This work around avoids the issue entirely simply by making sure that the table will not have to resize in running DRT.
- static const int minimumTableSize = 64;
-};
-
-static COMPtr<IClassFactory> classFactory(const CLSID& clsid)
-{
- typedef HashMap<CLSID, COMPtr<IClassFactory>, CLSIDHash, CLSIDHashTraits> FactoryMap;
- static FactoryMap& factories = *new FactoryMap;
-
- FactoryMap::AddResult result = factories.add(clsid, 0);
- COMPtr<IClassFactory>& factory = result.iterator->value;
- if (result.isNewEntry && FAILED(DllGetClassObject(clsid, __uuidof(factory), reinterpret_cast<void**>(&factory))))
- factory = 0;
-
- return factory;
-}
-
-HRESULT WebKitCreateInstance(REFCLSID rclsid, IUnknown* pUnkOuter, REFIID riid, void** ppvObject)
-{
- COMPtr<IClassFactory> factory = classFactory(rclsid);
- if (!factory)
- return REGDB_E_CLASSNOTREG;
-
- return factory->CreateInstance(pUnkOuter, riid, ppvObject);
-}
diff --git a/Source/WebKit/win/WebKitCOMAPI.h b/Source/WebKit/win/WebKitCOMAPI.h
deleted file mode 100644
index a9e6dadca..000000000
--- a/Source/WebKit/win/WebKitCOMAPI.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 WebKitCOMAPI_h
-#define WebKitCOMAPI_h
-
-#include <unknwn.h>
-
-extern "C" {
-
-// Callers should use this API instead of CoCreateInstance to instantiate WebKit COM classes.
-// This bypasses CoCreateInstance entirely, so registry keys and isolated COM manifests aren't needed.
-HRESULT WebKitCreateInstance(REFCLSID, IUnknown* pUnkOuter, REFIID, void** ppvObject);
-
-}
-
-#endif // !defined(WebKitCOMAPI_h)
diff --git a/Source/WebKit/win/WebKitClassFactory.cpp b/Source/WebKit/win/WebKitClassFactory.cpp
deleted file mode 100644
index aff27270a..000000000
--- a/Source/WebKit/win/WebKitClassFactory.cpp
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebKitClassFactory.h"
-
-#include "CFDictionaryPropertyBag.h"
-#include "ForEachCoClass.h"
-#include "WebArchive.h"
-#include "WebCache.h"
-#include "WebCookieManager.h"
-#include "WebCoreStatistics.h"
-#include "WebDatabaseManager.h"
-#include "WebDownload.h"
-#include "WebError.h"
-#include "WebFrame.h"
-#include "WebGeolocationPosition.h"
-#include "WebHistory.h"
-#include "WebHistoryItem.h"
-#include "WebIconDatabase.h"
-#include "WebJavaScriptCollector.h"
-#include "WebKit.h"
-#include "WebKitStatistics.h"
-#include "WebMutableURLRequest.h"
-#include "WebNotificationCenter.h"
-#include "WebPreferences.h"
-#include "WebScriptWorld.h"
-#include "WebScrollBar.h"
-#include "WebSerializedJSValue.h"
-#include "WebTextRenderer.h"
-#include "WebURLCredential.h"
-#include "WebURLProtectionSpace.h"
-#include "WebURLResponse.h"
-#include "WebUserContentURLPattern.h"
-#include "WebView.h"
-#include "WebWorkersPrivate.h"
-#include <JavaScriptCore/InitializeThreading.h>
-#include <WebCore/SoftLinking.h>
-#include <wtf/MainThread.h>
-
-// WebKitClassFactory ---------------------------------------------------------
-#if USE(SAFARI_THEME)
-#ifdef DEBUG_ALL
-SOFT_LINK_DEBUG_LIBRARY(SafariTheme)
-#else
-SOFT_LINK_LIBRARY(SafariTheme)
-#endif
-
-SOFT_LINK(SafariTheme, STInitialize, void, APIENTRY, (), ())
-#endif
-
-WebKitClassFactory::WebKitClassFactory(CLSID targetClass)
-: m_targetClass(targetClass)
-, m_refCount(0)
-{
-#if USE(SAFARI_THEME)
- static bool didInitializeSafariTheme;
- if (!didInitializeSafariTheme) {
- if (SafariThemeLibrary())
- STInitialize();
- didInitializeSafariTheme = true;
- }
-#endif
-
- JSC::initializeThreading();
- WTF::initializeMainThread();
-
- gClassCount++;
- gClassNameCount.add("WebKitClassFactory");
-}
-
-WebKitClassFactory::~WebKitClassFactory()
-{
- gClassCount--;
- gClassNameCount.remove("WebKitClassFactory");
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebKitClassFactory::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IUnknown*>(this);
- else if (IsEqualGUID(riid, IID_IClassFactory))
- *ppvObject = static_cast<IClassFactory*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebKitClassFactory::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebKitClassFactory::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef && !gLockCount)
- delete(this);
-
- return newRef;
-}
-
-// FIXME: Remove these functions once all createInstance() functions return COMPtr.
-template <typename T>
-static T* leakRefFromCreateInstance(T* object)
-{
- return object;
-}
-
-template <typename T>
-static T* leakRefFromCreateInstance(COMPtr<T> object)
-{
- return object.leakRef();
-}
-
-// IClassFactory --------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebKitClassFactory::CreateInstance(IUnknown* pUnkOuter, REFIID riid, void** ppvObject)
-{
- IUnknown* unknown = 0;
- *ppvObject = 0;
-
- if (pUnkOuter)
- return CLASS_E_NOAGGREGATION;
-
-#define INITIALIZE_IF_CLASS(cls) \
- if (IsEqualGUID(m_targetClass, CLSID_##cls)) \
- unknown = static_cast<I##cls*>(leakRefFromCreateInstance(cls::createInstance())); \
- else \
- // end of macro
-
- // These #defines are needed to appease the INITIALIZE_IF_CLASS macro.
- // There is no ICFDictionaryPropertyBag, we use IPropertyBag instead.
-#define ICFDictionaryPropertyBag IPropertyBag
- // There is no IWebScrollBar, we only have IWebScrollBarPrivate.
-#define IWebScrollBar IWebScrollBarPrivate
- // There is no class called WebURLRequest -- WebMutableURLRequest implements it for us.
-#define WebURLRequest WebMutableURLRequest
-
- FOR_EACH_COCLASS(INITIALIZE_IF_CLASS)
- // This is the final else case
- return CLASS_E_CLASSNOTAVAILABLE;
-
-#undef ICFDictionaryPropertyBag
-#undef IWebScrollBar
-#undef WebURLRequest
-#undef INITIALIZE_IF_CLASS
-
- if (!unknown)
- return E_OUTOFMEMORY;
-
- HRESULT hr = unknown->QueryInterface(riid, ppvObject);
- if (FAILED(hr))
- delete unknown;
- else
- unknown->Release(); // both createInstance() and QueryInterface() added refs
-
- return hr;
-}
-
-HRESULT STDMETHODCALLTYPE WebKitClassFactory::LockServer(BOOL fLock)
-{
- if (fLock)
- gLockCount++;
- else
- gLockCount--;
-
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebKitClassFactory.h b/Source/WebKit/win/WebKitClassFactory.h
deleted file mode 100644
index 85ad843a4..000000000
--- a/Source/WebKit/win/WebKitClassFactory.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebKitClassFactory_H
-#define WebKitClassFactory_H
-
-#include <unknwn.h>
-
-class WebKitClassFactory : public IClassFactory
-{
-public:
- WebKitClassFactory(CLSID targetClass);
- ~WebKitClassFactory();
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IClassFactory
- virtual HRESULT STDMETHODCALLTYPE CreateInstance(IUnknown* pUnkOuter, REFIID riid, void** ppvObject);
- virtual HRESULT STDMETHODCALLTYPE LockServer(BOOL fLock);
-
-protected:
- ULONG m_refCount;
- CLSID m_targetClass;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebKitDLL.cpp b/Source/WebKit/win/WebKitDLL.cpp
deleted file mode 100644
index ef85608c0..000000000
--- a/Source/WebKit/win/WebKitDLL.cpp
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-
-#include "ForEachCoClass.h"
-#include "resource.h"
-#include "WebKit.h"
-#include "WebKitClassFactory.h"
-#include <WebCore/COMPtr.h>
-#include <WebCore/IconDatabase.h>
-#include <WebCore/Page.h>
-#include <WebCore/PageGroup.h>
-#include <WebCore/RenderThemeWin.h>
-#include <WebCore/SharedBuffer.h>
-#include <WebCore/WebCoreInstanceHandle.h>
-#include <WebCore/Widget.h>
-#include <olectl.h>
-#include <wchar.h>
-#include <wtf/Vector.h>
-
-using namespace WebCore;
-
-ULONG gLockCount;
-ULONG gClassCount;
-HashCountedSet<String> gClassNameCount;
-HINSTANCE gInstance;
-
-#define CLSID_FOR_CLASS(cls) CLSID_##cls,
-CLSID gRegCLSIDs[] = {
- FOR_EACH_COCLASS(CLSID_FOR_CLASS)
-};
-#undef CLSID_FOR_CLASS
-
-STDAPI_(BOOL) DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID /*lpReserved*/)
-{
- switch (ul_reason_for_call) {
- case DLL_PROCESS_ATTACH:
- gLockCount = gClassCount = 0;
- gInstance = hModule;
- WebCore::setInstanceHandle(hModule);
- return TRUE;
-
- case DLL_PROCESS_DETACH:
- WebCore::RenderThemeWin::setWebKitIsBeingUnloaded();
- break;
-
- case DLL_THREAD_ATTACH:
- case DLL_THREAD_DETACH:
- break;
- }
- return FALSE;
-}
-
-STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
-{
- bool found = false;
- for (size_t i = 0; i < WTF_ARRAY_LENGTH(gRegCLSIDs); ++i) {
- if (IsEqualGUID(rclsid, gRegCLSIDs[i])) {
- found = true;
- break;
- }
- }
- if (!found)
- return E_FAIL;
-
- if (!IsEqualGUID(riid, IID_IUnknown) && !IsEqualGUID(riid, IID_IClassFactory))
- return E_NOINTERFACE;
-
- WebKitClassFactory* factory = new WebKitClassFactory(rclsid);
- *ppv = reinterpret_cast<LPVOID>(factory);
- if (!factory)
- return E_OUTOFMEMORY;
-
- factory->AddRef();
- return S_OK;
-}
-
-STDAPI DllCanUnloadNow(void)
-{
- if (!gClassCount && !gLockCount)
- return S_OK;
-
- return S_FALSE;
-}
-
-// deprecated - do not use
-STDAPI DllUnregisterServer(void)
-{
- return 0;
-}
-
-// deprecated - do not use
-STDAPI DllRegisterServer(void)
-{
- return 0;
-}
-
-// deprecated - do not use
-STDAPI RunAsLocalServer()
-{
- return 0;
-}
-
-// deprecated - do not use
-STDAPI LocalServerDidDie()
-{
- return 0;
-}
-
-void shutDownWebKit()
-{
- WebCore::iconDatabase().close();
- WebCore::PageGroup::closeLocalStorage();
-}
-
-//FIXME: We should consider moving this to a new file for cross-project functionality
-PassRefPtr<WebCore::SharedBuffer> loadResourceIntoBuffer(const char* name)
-{
- int idr;
- // temporary hack to get resource id
- if (!strcmp(name, "textAreaResizeCorner"))
- idr = IDR_RESIZE_CORNER;
- else if (!strcmp(name, "missingImage"))
- idr = IDR_MISSING_IMAGE;
- else if (!strcmp(name, "nullPlugin"))
- idr = IDR_NULL_PLUGIN;
- else if (!strcmp(name, "panIcon"))
- idr = IDR_PAN_SCROLL_ICON;
- else if (!strcmp(name, "panSouthCursor"))
- idr = IDR_PAN_SOUTH_CURSOR;
- else if (!strcmp(name, "panNorthCursor"))
- idr = IDR_PAN_NORTH_CURSOR;
- else if (!strcmp(name, "panEastCursor"))
- idr = IDR_PAN_EAST_CURSOR;
- else if (!strcmp(name, "panWestCursor"))
- idr = IDR_PAN_WEST_CURSOR;
- else if (!strcmp(name, "panSouthEastCursor"))
- idr = IDR_PAN_SOUTH_EAST_CURSOR;
- else if (!strcmp(name, "panSouthWestCursor"))
- idr = IDR_PAN_SOUTH_WEST_CURSOR;
- else if (!strcmp(name, "panNorthEastCursor"))
- idr = IDR_PAN_NORTH_EAST_CURSOR;
- else if (!strcmp(name, "panNorthWestCursor"))
- idr = IDR_PAN_NORTH_WEST_CURSOR;
- else if (!strcmp(name, "searchMagnifier"))
- idr = IDR_SEARCH_MAGNIFIER;
- else if (!strcmp(name, "searchMagnifierResults"))
- idr = IDR_SEARCH_MAGNIFIER_RESULTS;
- else if (!strcmp(name, "searchCancel"))
- idr = IDR_SEARCH_CANCEL;
- else if (!strcmp(name, "searchCancelPressed"))
- idr = IDR_SEARCH_CANCEL_PRESSED;
- else if (!strcmp(name, "zoomInCursor"))
- idr = IDR_ZOOM_IN_CURSOR;
- else if (!strcmp(name, "zoomOutCursor"))
- idr = IDR_ZOOM_OUT_CURSOR;
- else if (!strcmp(name, "verticalTextCursor"))
- idr = IDR_VERTICAL_TEXT_CURSOR;
- else if (!strcmp(name, "fsVideoAudioVolumeHigh"))
- idr = IDR_FS_VIDEO_AUDIO_VOLUME_HIGH;
- else if (!strcmp(name, "fsVideoAudioVolumeLow"))
- idr = IDR_FS_VIDEO_AUDIO_VOLUME_LOW;
- else if (!strcmp(name, "fsVideoExitFullscreen"))
- idr = IDR_FS_VIDEO_EXIT_FULLSCREEN;
- else if (!strcmp(name, "fsVideoPause"))
- idr = IDR_FS_VIDEO_PAUSE;
- else if (!strcmp(name, "fsVideoPlay"))
- idr = IDR_FS_VIDEO_PLAY;
- else
- return 0;
-
- HRSRC resInfo = FindResource(gInstance, MAKEINTRESOURCE(idr), L"PNG");
- if (!resInfo)
- return 0;
- HANDLE res = LoadResource(gInstance, resInfo);
- if (!res)
- return 0;
- void* resource = LockResource(res);
- if (!resource)
- return 0;
- int size = SizeofResource(gInstance, resInfo);
-
- return WebCore::SharedBuffer::create(reinterpret_cast<const char*>(resource), size);
-}
diff --git a/Source/WebKit/win/WebKitDLL.h b/Source/WebKit/win/WebKitDLL.h
deleted file mode 100644
index a4494cf19..000000000
--- a/Source/WebKit/win/WebKitDLL.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebKitDLL_H
-#define WebKitDLL_H
-
-#ifndef _HAS_EXCEPTIONS
-#define _HAS_EXCEPTIONS 0
-#endif
-
-#include <winsock2.h>
-#include <windows.h>
-#include <wtf/HashCountedSet.h>
-#include <wtf/text/StringHash.h>
-#include <wtf/text/WTFString.h>
-
-#ifdef WEBKIT_EXPORTS
-#define WEBKIT_API __declspec(dllexport)
-#else
-#define WEBKIT_API __declspec(dllimport)
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-extern ULONG gLockCount;
-extern ULONG gClassCount;
-extern HashCountedSet<WTF::String> gClassNameCount;
-extern HINSTANCE gInstance;
-extern CLSID gRegCLSIDs[];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // WebKitDLL_H
diff --git a/Source/WebKit/win/WebKitGraphics.cpp b/Source/WebKit/win/WebKitGraphics.cpp
deleted file mode 100644
index 2a736629b..000000000
--- a/Source/WebKit/win/WebKitGraphics.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKitGraphics.h"
-
-#include "WebKit.h"
-#include "WebKitDLL.h"
-
-#include "WebPreferences.h"
-
-#include <WebCore/Font.h>
-#include <WebCore/FontCache.h>
-#include <WebCore/FontDescription.h>
-#include <WebCore/FontSelector.h>
-#include <WebCore/GraphicsContext.h>
-#include <WebCore/StringTruncator.h>
-#include <WebCore/WebCoreTextRenderer.h>
-#include <wtf/text/WTFString.h>
-#include <wtf/unicode/CharacterNames.h>
-
-#include <CoreGraphics/CoreGraphics.h>
-
-#include <WebKitSystemInterface/WebKitSystemInterface.h>
-
-using namespace WebCore;
-
-static Font makeFont(const WebFontDescription& description)
-{
- AtomicString::init();
-
- String fontFamilyString(description.family, description.familyLength);
-
- FontDescription f;
- f.setOneFamily(fontFamilyString);
- f.setSpecifiedSize(description.size);
- f.setComputedSize(description.size);
- f.setItalic(description.italic);
- f.setWeight(description.bold ? FontWeightBold : FontWeightNormal);
- f.setIsAbsoluteSize(true);
-
- FontSmoothingType smoothingType;
- if (SUCCEEDED(WebPreferences::sharedStandardPreferences()->fontSmoothing(&smoothingType)))
- f.setRenderingMode(smoothingType == FontSmoothingTypeWindows ? AlternateRenderingMode : NormalRenderingMode);
-
- Font font(f, 0, 0);
- font.update(0);
-
- return font;
-}
-
-// Text shadow is added post 3.1.1. In order for nightlies to not break Safari 3.1.1, we should still allow
-// the old WebTextRenderInfo that has a smaller structSize than the current one with the new text shadow data members.
-struct WebTextRenderInfoWithoutShadow
-{
- DWORD structSize;
- CGContextRef cgContext;
- LPCTSTR text;
- int length;
- POINT pt;
- const WebFontDescription* description;
- CGColorRef color;
- int underlinedIndex;
- bool drawAsPassword;
- int overrideSmoothingLevel; // pass in -1 if caller does not want to override smoothing level
-};
-
-void WebDrawText(WebTextRenderInfo* info)
-{
- if (!info || info->structSize < sizeof(WebTextRenderInfoWithoutShadow) || !info->cgContext || !info->description)
- return;
-
- int oldFontSmoothingLevel = -1;
- if (info->overrideSmoothingLevel >= 0) {
- oldFontSmoothingLevel = wkGetFontSmoothingLevel();
- wkSetFontSmoothingLevel(info->overrideSmoothingLevel);
- }
-
- {
- GraphicsContext context(info->cgContext);
- String drawString(info->text, info->length);
- if (info->drawAsPassword)
- drawString.fill(WTF::Unicode::bullet);
-
- context.save();
-
- // Set shadow setting
- if (info->structSize == sizeof(WebTextRenderInfo) &&
- (info->shadowOffset.cx || info->shadowOffset.cy || info->shadowBlur || info->shadowColor))
- context.setShadow(FloatSize(info->shadowOffset.cx, info->shadowOffset.cy), info->shadowBlur, info->shadowColor, ColorSpaceDeviceRGB);
-
- WebCoreDrawTextAtPoint(context, drawString, info->pt, makeFont(*(info->description)), info->color, info->underlinedIndex);
- context.restore();
- }
-
- if (info->overrideSmoothingLevel >= 0)
- wkSetFontSmoothingLevel(oldFontSmoothingLevel);
-}
-
-float TextFloatWidth(LPCTSTR text, int length, const WebFontDescription& description)
-{
- return WebCoreTextFloatWidth(String(text, length), makeFont(description));
-}
-
-void FontMetrics(const WebFontDescription& description, int* ascent, int* descent, int* lineSpacing)
-{
- if (!ascent && !descent && !lineSpacing)
- return;
-
- Font font(makeFont(description));
- const WebCore::FontMetrics& fontMetrics(font.fontMetrics());
-
- if (ascent)
- *ascent = fontMetrics.ascent();
-
- if (descent)
- *descent = fontMetrics.descent();
-
- if (lineSpacing)
- *lineSpacing = fontMetrics.lineSpacing();
-}
-
-unsigned CenterTruncateStringToWidth(LPCTSTR text, int length, const WebFontDescription& description, float width, WCHAR* buffer)
-{
- ASSERT(buffer);
-
- FontCachePurgePreventer fontCachePurgePreventer;
-
- String result = StringTruncator::centerTruncate(String(text, length), width, makeFont(description), StringTruncator::EnableRoundingHacks);
- memcpy(buffer, result.characters(), result.length() * sizeof(UChar));
- buffer[result.length()] = '\0';
- return result.length();
-}
-
-unsigned RightTruncateStringToWidth(LPCTSTR text, int length, const WebFontDescription& description, float width, WCHAR* buffer)
-{
- ASSERT(buffer);
-
- FontCachePurgePreventer fontCachePurgePreventer;
-
- String result = StringTruncator::rightTruncate(String(text, length), width, makeFont(description), StringTruncator::EnableRoundingHacks);
- memcpy(buffer, result.characters(), result.length() * sizeof(UChar));
- buffer[result.length()] = '\0';
- return result.length();
-}
-
-void WebKitSetShouldUseFontSmoothing(bool smooth)
-{
- WebCoreSetShouldUseFontSmoothing(smooth);
-}
-
-bool WebKitShouldUseFontSmoothing()
-{
- return WebCoreShouldUseFontSmoothing();
-}
diff --git a/Source/WebKit/win/WebKitGraphics.h b/Source/WebKit/win/WebKitGraphics.h
deleted file mode 100644
index 59c874b54..000000000
--- a/Source/WebKit/win/WebKitGraphics.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 WebKitGraphics_h
-#define WebKitGraphics_h
-
-#include <windows.h>
-
-extern "C" {
-
-typedef struct CGColor* CGColorRef;
-typedef struct CGContext* CGContextRef;
-
-typedef wchar_t WCHAR;
-typedef __nullterminated const WCHAR* LPCWSTR;
-typedef LPCWSTR LPCTSTR;
-
-struct WebFontDescription {
- LPCTSTR family;
- unsigned familyLength;
- float size;
- // FIXME: Change to weight.
- bool bold;
- bool italic;
-};
-
-struct WebTextRenderInfo
-{
- DWORD structSize;
- CGContextRef cgContext;
- LPCTSTR text;
- int length;
- POINT pt;
- const WebFontDescription* description;
- CGColorRef color;
- int underlinedIndex;
- bool drawAsPassword;
- int overrideSmoothingLevel; // pass in -1 if caller does not want to override smoothing level
- SIZE shadowOffset;
- int shadowBlur;
- CGColorRef shadowColor;
-};
-
-void WebDrawText(WebTextRenderInfo*);
-float TextFloatWidth(LPCTSTR text, int length, const WebFontDescription&);
-void FontMetrics(const WebFontDescription&, int* ascent, int* descent, int* lineSpacing);
-
-// buffer must be large enough to hold all of "text", including its null terminator. Returns the number of characters put in buffer (excluding the null terminator).
-unsigned CenterTruncateStringToWidth(LPCTSTR text, int length, const WebFontDescription&, float width, WCHAR* buffer);
-unsigned RightTruncateStringToWidth(LPCTSTR text, int length, const WebFontDescription&, float width, WCHAR* buffer);
-
-void WebKitSetShouldUseFontSmoothing(bool);
-bool WebKitShouldUseFontSmoothing();
-
-}
-
-#endif // !defined(WebKitGraphics_h)
diff --git a/Source/WebKit/win/WebKitLogging.cpp b/Source/WebKit/win/WebKitLogging.cpp
deleted file mode 100644
index 273ab56be..000000000
--- a/Source/WebKit/win/WebKitLogging.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, Inc. All rights reserved.
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebKitLogging.h"
-
-WTFLogChannel WebKitLogTextInput = { 0x00000010, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogTiming = { 0x00000020, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogLoading = { 0x00000040, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogFontCache = { 0x00000100, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogFontSubstitution = { 0x00000200, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogDownload = { 0x00000800, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogDocumentLoad = { 0x00001000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogPlugins = { 0x00002000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogEvents = { 0x00010000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogView = { 0x00020000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogRedirect = { 0x00040000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogPageCache = { 0x00080000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogCacheSizes = { 0x00100000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogFormDelegate = { 0x00200000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogFileDatabaseActivity = { 0x00400000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogHistory = { 0x00800000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogBindings = { 0x01000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogFontSelection = { 0x02000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogEncoding = { 0x04000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogLiveConnect = { 0x08000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogBackForward = { 0x10000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogProgress = { 0x20000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogPluginEvents = { 0x40000000, "WebKitLogLevel", WTFLogChannelOff };
-WTFLogChannel WebKitLogIconDatabase = { 0x80000000, "WebKitLogLevel", WTFLogChannelOff };
-
-static void initializeLogChannel(WTFLogChannel *)
-{
- // FIXME: Get the LogChannel preferences from somewhere, otherwise people will have to hard code
- // the logging channels they want to WTFLogChannelOn
-/*
- channel->state = WTFLogChannelOff;
- NSString *logLevelString = [[NSUserDefaults standardUserDefaults] objectForKey:[NSString stringWithUTF8String:channel->defaultName]];
- if (logLevelString) {
- unsigned logLevel;
- if (![[NSScanner scannerWithString:logLevelString] scanHexInt:&logLevel])
- NSLog(@"unable to parse hex value for %s (%@), logging is off", channel->defaultName, logLevelString);
- if ((logLevel & channel->mask) == channel->mask)
- channel->state = WTFLogChannelOn;
- }
-*/
-}
-
-void WebKitInitializeLoggingChannelsIfNecessary()
-{
- static bool haveInitializedLoggingChannels = false;
- if (haveInitializedLoggingChannels)
- return;
- haveInitializedLoggingChannels = true;
-
- initializeLogChannel(&WebKitLogTextInput);
- initializeLogChannel(&WebKitLogTiming);
- initializeLogChannel(&WebKitLogLoading);
- initializeLogChannel(&WebKitLogFontCache);
- initializeLogChannel(&WebKitLogFontSubstitution);
- initializeLogChannel(&WebKitLogDownload);
- initializeLogChannel(&WebKitLogDocumentLoad);
- initializeLogChannel(&WebKitLogPlugins);
- initializeLogChannel(&WebKitLogEvents);
- initializeLogChannel(&WebKitLogView);
- initializeLogChannel(&WebKitLogRedirect);
- initializeLogChannel(&WebKitLogPageCache);
- initializeLogChannel(&WebKitLogCacheSizes);
- initializeLogChannel(&WebKitLogFormDelegate);
- initializeLogChannel(&WebKitLogFileDatabaseActivity);
- initializeLogChannel(&WebKitLogHistory);
- initializeLogChannel(&WebKitLogBindings);
- initializeLogChannel(&WebKitLogFontSelection);
- initializeLogChannel(&WebKitLogEncoding);
- initializeLogChannel(&WebKitLogLiveConnect);
- initializeLogChannel(&WebKitLogBackForward);
- initializeLogChannel(&WebKitLogProgress);
- initializeLogChannel(&WebKitLogPluginEvents);
- initializeLogChannel(&WebKitLogIconDatabase);
-}
-
diff --git a/Source/WebKit/win/WebKitLogging.h b/Source/WebKit/win/WebKitLogging.h
deleted file mode 100644
index d19933d93..000000000
--- a/Source/WebKit/win/WebKitLogging.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2005 Apple Computer, Inc. All rights reserved.
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebKitLogging_h
-#define WebKitLogging_h
-
-#include <wtf/Assertions.h>
-
-#ifndef LOG_CHANNEL_PREFIX
-#define LOG_CHANNEL_PREFIX WebKitLog
-#endif
-
-
-extern WTFLogChannel WebKitLogTextInput;
-extern WTFLogChannel WebKitLogTiming;
-extern WTFLogChannel WebKitLogLoading;
-extern WTFLogChannel WebKitLogFontCache;
-extern WTFLogChannel WebKitLogFontSubstitution;
-extern WTFLogChannel WebKitLogFontSelection;
-extern WTFLogChannel WebKitLogDownload;
-extern WTFLogChannel WebKitLogDocumentLoad;
-extern WTFLogChannel WebKitLogPlugins;
-extern WTFLogChannel WebKitLogEvents;
-extern WTFLogChannel WebKitLogView;
-extern WTFLogChannel WebKitLogRedirect;
-extern WTFLogChannel WebKitLogPageCache;
-extern WTFLogChannel WebKitLogCacheSizes;
-extern WTFLogChannel WebKitLogFormDelegate;
-extern WTFLogChannel WebKitLogFileDatabaseActivity;
-extern WTFLogChannel WebKitLogHistory;
-extern WTFLogChannel WebKitLogBindings;
-extern WTFLogChannel WebKitLogEncoding;
-extern WTFLogChannel WebKitLogLiveConnect;
-extern WTFLogChannel WebKitLogBackForward;
-extern WTFLogChannel WebKitLogProgress;
-extern WTFLogChannel WebKitLogPluginEvents;
-extern WTFLogChannel WebKitLogIconDatabase;
-
-void WebKitInitializeLoggingChannelsIfNecessary(void);
-
-#endif
diff --git a/Source/WebKit/win/WebKitPrefix.cpp b/Source/WebKit/win/WebKitPrefix.cpp
deleted file mode 100644
index 9be9aed15..000000000
--- a/Source/WebKit/win/WebKitPrefix.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebKitPrefix.h"
diff --git a/Source/WebKit/win/WebKitPrefix.h b/Source/WebKit/win/WebKitPrefix.h
deleted file mode 100644
index 92af4d021..000000000
--- a/Source/WebKit/win/WebKitPrefix.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2008 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 _WIN32_WINNT
-#define _WIN32_WINNT 0x0502
-#endif
-
-#ifndef WINVER
-#define WINVER 0x0502
-#endif
-
-// If we don't define these, they get defined in windef.h.
-// We want to use std::min and std::max.
-#ifndef max
-#define max max
-#endif
-#ifndef min
-#define min min
-#endif
-
-#ifndef _WINSOCKAPI_
-#define _WINSOCKAPI_ // Prevent inclusion of winsock.h in windows.h
-#endif
-
-#include <CoreFoundation/CoreFoundation.h>
-#include <WebKit/WebKit.h>
diff --git a/Source/WebKit/win/WebKitStatistics.cpp b/Source/WebKit/win/WebKitStatistics.cpp
deleted file mode 100644
index c7b8ed1ac..000000000
--- a/Source/WebKit/win/WebKitStatistics.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebKitDLL.h"
-#include "WebKitStatistics.h"
-
-#include "WebKitStatisticsPrivate.h"
-#include <WebCore/BString.h>
-
-using namespace WebCore;
-
-int WebViewCount;
-int WebDataSourceCount;
-int WebFrameCount;
-int WebHTMLRepresentationCount;
-int WebFrameViewCount;
-
-// WebKitStatistics ---------------------------------------------------------------------------
-
-WebKitStatistics::WebKitStatistics()
-: m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("WebKitStatistics");
-}
-
-WebKitStatistics::~WebKitStatistics()
-{
- gClassCount--;
- gClassNameCount.remove("WebKitStatistics");
-}
-
-WebKitStatistics* WebKitStatistics::createInstance()
-{
- WebKitStatistics* instance = new WebKitStatistics();
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebKitStatistics::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<WebKitStatistics*>(this);
- else if (IsEqualGUID(riid, IID_IWebKitStatistics))
- *ppvObject = static_cast<WebKitStatistics*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebKitStatistics::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebKitStatistics::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebKitStatistics ------------------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebKitStatistics::webViewCount(
- /* [retval][out] */ int *count)
-{
- *count = WebViewCount;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebKitStatistics::frameCount(
- /* [retval][out] */ int *count)
-{
- *count = WebFrameCount;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebKitStatistics::dataSourceCount(
- /* [retval][out] */ int *count)
-{
- *count = WebDataSourceCount;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebKitStatistics::viewCount(
- /* [retval][out] */ int *count)
-{
- *count = WebFrameViewCount;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebKitStatistics::HTMLRepresentationCount(
- /* [retval][out] */ int *count)
-{
- *count = WebHTMLRepresentationCount;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebKitStatistics::comClassCount(
- /* [retval][out] */ int *classCount)
-{
- *classCount = gClassCount;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebKitStatistics::comClassNameCounts(
- /* [retval][out] */ BSTR *output)
-{
- typedef HashCountedSet<String>::const_iterator Iterator;
- Iterator end = gClassNameCount.end();
- Vector<UChar> vector;
- for (Iterator current = gClassNameCount.begin(); current != end; ++current) {
- append(vector, String::format("%4u", current->value));
- vector.append('\t');
- append(vector, static_cast<String>(current->key));
- vector.append('\n');
- }
- *output = BString(String::adopt(vector)).release();
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebKitStatistics.h b/Source/WebKit/win/WebKitStatistics.h
deleted file mode 100644
index 5de79f5a2..000000000
--- a/Source/WebKit/win/WebKitStatistics.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2007 Apple, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebKitStatistics_h
-#define WebKitStatistics_h
-
-#include "WebKit.h"
-
-class WebKitStatistics : public IWebKitStatistics {
-public:
- static WebKitStatistics* createInstance();
-protected:
- WebKitStatistics();
- ~WebKitStatistics();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebKitStatistics
- virtual HRESULT STDMETHODCALLTYPE webViewCount(
- /* [retval][out] */ int *count);
-
- virtual HRESULT STDMETHODCALLTYPE frameCount(
- /* [retval][out] */ int *count);
-
- virtual HRESULT STDMETHODCALLTYPE dataSourceCount(
- /* [retval][out] */ int *count);
-
- virtual HRESULT STDMETHODCALLTYPE viewCount(
- /* [retval][out] */ int *count);
-
- virtual HRESULT STDMETHODCALLTYPE HTMLRepresentationCount(
- /* [retval][out] */ int *count);
-
- virtual HRESULT STDMETHODCALLTYPE comClassCount(
- /* [retval][out] */ int *classCount);
-
- virtual HRESULT STDMETHODCALLTYPE comClassNameCounts(
- /* [retval][out] */ BSTR *output);
-
-protected:
- ULONG m_refCount;
-};
-
-#endif // WebKitStatistics_h
diff --git a/Source/WebKit/win/WebKitStatisticsPrivate.h b/Source/WebKit/win/WebKitStatisticsPrivate.h
deleted file mode 100644
index eea668bdf..000000000
--- a/Source/WebKit/win/WebKitStatisticsPrivate.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2007 Apple, 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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.
- */
-
-extern int WebViewCount;
-extern int WebDataSourceCount;
-extern int WebFrameCount;
-extern int WebHTMLRepresentationCount;
-extern int WebFrameViewCount;
diff --git a/Source/WebKit/win/WebKitSystemBits.cpp b/Source/WebKit/win/WebKitSystemBits.cpp
deleted file mode 100644
index cf7f3935a..000000000
--- a/Source/WebKit/win/WebKitSystemBits.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebKitSystemBits.h"
-
-#include <CoreFoundation/CoreFoundation.h>
-#include <windows.h>
-#include <wtf/text/WTFString.h>
-
-unsigned long long WebMemorySize()
-{
- MEMORYSTATUSEX statex;
- statex.dwLength = sizeof(statex);
- GlobalMemoryStatusEx(&statex);
- return statex.ullTotalPhys;
-}
-
-unsigned long long WebVolumeFreeSize(CFStringRef cfstringPath)
-{
- WTF::String path(cfstringPath);
- ULARGE_INTEGER freeBytesToCaller;
- BOOL result = GetDiskFreeSpaceExW((LPCWSTR)path.charactersWithNullTermination().data(), &freeBytesToCaller, 0, 0);
- if (!result)
- return 0;
-
- return freeBytesToCaller.QuadPart;
-}
diff --git a/Source/WebKit/win/WebKitSystemBits.h b/Source/WebKit/win/WebKitSystemBits.h
deleted file mode 100644
index 746169695..000000000
--- a/Source/WebKit/win/WebKitSystemBits.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebKitSystemBits_h
-#define WebKitSystemBits_h
-
-typedef const struct __CFString* CFStringRef;
-
-unsigned long long WebMemorySize();
-unsigned long long WebVolumeFreeSize(CFStringRef path);
-
-#endif // WebKitSystemBits_h
diff --git a/Source/WebKit/win/WebLocalizableStrings.cpp b/Source/WebKit/win/WebLocalizableStrings.cpp
deleted file mode 100644
index 442a80172..000000000
--- a/Source/WebKit/win/WebLocalizableStrings.cpp
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-
-#include "WebLocalizableStrings.h"
-
-#include <wtf/text/CString.h>
-#include <wtf/text/StringHash.h>
-#include <wtf/text/WTFString.h>
-
-#include <wtf/Assertions.h>
-#include <wtf/HashMap.h>
-#include <wtf/RetainPtr.h>
-#include <wtf/StdLibExtras.h>
-#include <CoreFoundation/CoreFoundation.h>
-
-class LocalizedString;
-
-WebLocalizableStringsBundle WebKitLocalizableStringsBundle = { "com.apple.WebKit", 0 };
-
-typedef HashMap<String, LocalizedString*> LocalizedStringMap;
-
-static Mutex& mainBundleLocStringsMutex()
-{
- DEFINE_STATIC_LOCAL(Mutex, mutex, ());
- return mutex;
-}
-
-static LocalizedStringMap& mainBundleLocStrings()
-{
- DEFINE_STATIC_LOCAL(LocalizedStringMap, map, ());
- return map;
-}
-
-static Mutex& frameworkLocStringsMutex()
-{
- DEFINE_STATIC_LOCAL(Mutex, mutex, ());
- return mutex;
-}
-
-static LocalizedStringMap frameworkLocStrings()
-{
- DEFINE_STATIC_LOCAL(LocalizedStringMap, map, ());
- return map;
-}
-
-class LocalizedString {
- WTF_MAKE_NONCOPYABLE(LocalizedString);
-public:
- LocalizedString(CFStringRef string)
- : m_cfString(string)
- {
- ASSERT_ARG(string, string);
- }
-
- operator LPCTSTR() const;
- operator CFStringRef() const { return m_cfString; }
-
-private:
- CFStringRef m_cfString;
- mutable String m_string;
-};
-
-LocalizedString::operator LPCTSTR() const
-{
- if (!m_string.isEmpty())
- return m_string.charactersWithNullTermination().data();
-
- m_string = m_cfString;
-
- for (unsigned int i = 1; i < m_string.length(); i++)
- if (m_string[i] == '@' && (m_string[i - 1] == '%' || (i > 2 && m_string[i - 1] == '$' && m_string[i - 2] >= '1' && m_string[i - 2] <= '9' && m_string[i - 3] == '%')))
- m_string.replace(i, 1, "s");
-
- return m_string.charactersWithNullTermination().data();
-}
-
-static CFBundleRef createWebKitBundle()
-{
- static CFBundleRef bundle;
- static bool initialized;
-
- if (initialized)
- return bundle;
- initialized = true;
-
- WCHAR pathStr[MAX_PATH];
- DWORD length = ::GetModuleFileNameW(gInstance, pathStr, MAX_PATH);
- if (!length || (length == MAX_PATH && GetLastError() == ERROR_INSUFFICIENT_BUFFER))
- return 0;
-
- bool found = false;
- for (int i = length - 1; i >= 0; i--) {
- // warning C6385: Invalid data: accessing 'pathStr', the readable size is '520' bytes, but '2000' bytes might be read
- #pragma warning(suppress: 6385)
- if (pathStr[i] == L'\\') {
- // warning C6386: Buffer overrun: accessing 'pathStr', the writable size is '520' bytes, but '1996' bytes might be written
- #pragma warning(suppress: 6386)
- pathStr[i] = 0;
- found = true;
- break;
- }
- }
- if (!found)
- return 0;
-
- if (wcscat_s(pathStr, MAX_PATH, L"\\WebKit.resources"))
- return 0;
-
- String bundlePathString(pathStr);
- if (!bundlePathString)
- return 0;
-
- CFURLRef bundleURLRef = CFURLCreateWithFileSystemPath(0, bundlePathString.createCFString().get(), kCFURLWindowsPathStyle, true);
- if (!bundleURLRef)
- return 0;
-
- bundle = CFBundleCreate(0, bundleURLRef);
- CFRelease(bundleURLRef);
- return bundle;
-}
-
-static CFBundleRef cfBundleForStringsBundle(WebLocalizableStringsBundle* stringsBundle)
-{
- if (!stringsBundle) {
- static CFBundleRef mainBundle = CFBundleGetMainBundle();
- return mainBundle;
- }
-
- createWebKitBundle();
-
- if (!stringsBundle->bundle)
- stringsBundle->bundle = CFBundleGetBundleWithIdentifier(adoptCF(CFStringCreateWithCString(0, stringsBundle->identifier, kCFStringEncodingASCII)).get());
- return stringsBundle->bundle;
-}
-
-static CFStringRef copyLocalizedStringFromBundle(WebLocalizableStringsBundle* stringsBundle, const String& key)
-{
- static CFStringRef notFound = CFSTR("localized string not found");
-
- CFBundleRef bundle = cfBundleForStringsBundle(stringsBundle);
- if (!bundle)
- return notFound;
-
- CFStringRef result = CFCopyLocalizedStringWithDefaultValue(key.createCFString().get(), 0, bundle, notFound, 0);
-
- ASSERT_WITH_MESSAGE(result != notFound, "could not find localizable string %s in bundle", key);
- return result;
-}
-
-static LocalizedString* findCachedString(WebLocalizableStringsBundle* stringsBundle, const String& key)
-{
- if (!stringsBundle) {
- MutexLocker lock(mainBundleLocStringsMutex());
- return mainBundleLocStrings().get(key);
- }
-
- if (stringsBundle->bundle == WebKitLocalizableStringsBundle.bundle) {
- MutexLocker lock(frameworkLocStringsMutex());
- return frameworkLocStrings().get(key);
- }
-
- return 0;
-}
-
-static void cacheString(WebLocalizableStringsBundle* stringsBundle, const String& key, LocalizedString* value)
-{
- if (!stringsBundle) {
- MutexLocker lock(mainBundleLocStringsMutex());
- mainBundleLocStrings().set(key, value);
- return;
- }
-
- MutexLocker lock(frameworkLocStringsMutex());
- frameworkLocStrings().set(key, value);
-}
-
-static const LocalizedString& localizedString(WebLocalizableStringsBundle* stringsBundle, const String& key)
-{
- LocalizedString* string = findCachedString(stringsBundle, key);
- if (string)
- return *string;
-
- string = new LocalizedString(copyLocalizedStringFromBundle(stringsBundle, key));
- cacheString(stringsBundle, key, string);
-
- return *string;
-}
-
-CFStringRef WebLocalizedStringUTF8(WebLocalizableStringsBundle* stringsBundle, LPCSTR key)
-{
- if (!key)
- return 0;
-
- return localizedString(stringsBundle, String::fromUTF8(key));
-}
-
-LPCTSTR WebLocalizedLPCTSTRUTF8(WebLocalizableStringsBundle* stringsBundle, LPCSTR key)
-{
- if (!key)
- return 0;
-
- return localizedString(stringsBundle, String::fromUTF8(key));
-}
-
-// These functions are deprecated.
-
-CFStringRef WebLocalizedString(WebLocalizableStringsBundle* stringsBundle, LPCTSTR key)
-{
- if (!key)
- return 0;
-
- return localizedString(stringsBundle, String(key));
-}
-
-LPCTSTR WebLocalizedLPCTSTR(WebLocalizableStringsBundle* stringsBundle, LPCTSTR key)
-{
- if (!key)
- return 0;
-
- return localizedString(stringsBundle, String(key));
-}
-
-void SetWebLocalizedStringMainBundle(CFBundleRef)
-{
-}
diff --git a/Source/WebKit/win/WebLocalizableStrings.h b/Source/WebKit/win/WebLocalizableStrings.h
deleted file mode 100644
index 68cba3204..000000000
--- a/Source/WebKit/win/WebLocalizableStrings.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebLocalizableStrings_H
-#define WebLocalizableStrings_H
-
-#include <CoreFoundation/CoreFoundation.h>
-
-typedef struct {
- const char *identifier;
- CFBundleRef bundle;
-} WebLocalizableStringsBundle;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-CFStringRef WebLocalizedStringUTF8(WebLocalizableStringsBundle*, LPCSTR key);
-LPCTSTR WebLocalizedLPCTSTRUTF8(WebLocalizableStringsBundle*, LPCSTR key);
-
-void SetWebLocalizedStringMainBundle(CFBundleRef bundle);
-
-// These functions are deprecated. Use the UTF-8 versions instead.
-CFStringRef WebLocalizedString(WebLocalizableStringsBundle *bundle, LPCTSTR key);
-LPCTSTR WebLocalizedLPCTSTR(WebLocalizableStringsBundle *bundle, LPCTSTR key);
-
-#ifdef __cplusplus
-}
-#endif
-
-#ifdef FRAMEWORK_NAME
-
-#define LOCALIZABLE_STRINGS_BUNDLE(F) LOCALIZABLE_STRINGS_BUNDLE_HELPER(F)
-#define LOCALIZABLE_STRINGS_BUNDLE_HELPER(F) F ## LocalizableStringsBundle
-extern WebLocalizableStringsBundle LOCALIZABLE_STRINGS_BUNDLE(FRAMEWORK_NAME);
-
-#define UI_STRING(string, comment) WebLocalizedStringUTF8(&LOCALIZABLE_STRINGS_BUNDLE(FRAMEWORK_NAME), string)
-#define UI_STRING_KEY(string, key, comment) WebLocalizedStringUTF8(&LOCALIZABLE_STRINGS_BUNDLE(FRAMEWORK_NAME), key)
-#define LPCTSTR_UI_STRING(string, comment) WebLocalizedLPCTSTRUTF8(&LOCALIZABLE_STRINGS_BUNDLE(FRAMEWORK_NAME), string)
-#define LPCTSTR_UI_STRING_KEY(string, key, comment) WebLocalizedLPCTSTRUTF8(&LOCALIZABLE_STRINGS_BUNDLE(FRAMEWORK_NAME), key)
-
-#else
-
-#define UI_STRING(string, comment) WebLocalizedStringUTF8(0, string)
-#define UI_STRING_KEY(string, key, comment) WebLocalizedStringUTF8(0, key)
-#define LPCTSTR_UI_STRING(string, comment) WebLocalizedLPCTSTRUTF8(0, string)
-#define LPCTSTR_UI_STRING_KEY(string, key, comment) WebLocalizedLPCTSTRUTF8(0, key)
-
-#endif
-
-#endif
diff --git a/Source/WebKit/win/WebMutableURLRequest.cpp b/Source/WebKit/win/WebMutableURLRequest.cpp
deleted file mode 100644
index 5fbcb08dc..000000000
--- a/Source/WebKit/win/WebMutableURLRequest.cpp
+++ /dev/null
@@ -1,413 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebMutableURLRequest.h"
-
-#include "WebKit.h"
-#include "MarshallingHelpers.h"
-#include "WebKit.h"
-#include <WebCore/BString.h>
-#include <WebCore/COMPtr.h>
-#include <WebCore/FormData.h>
-#include <WebCore/ResourceHandle.h>
-#include <wtf/text/CString.h>
-#include <wtf/RetainPtr.h>
-
-#if USE(CF)
-#include <WebCore/CertificateCFWin.h>
-#endif
-
-#if USE(CFNETWORK)
-#include <CFNetwork/CFURLRequestPriv.h>
-#endif
-
-using namespace WebCore;
-
-// IWebURLRequest ----------------------------------------------------------------
-
-WebMutableURLRequest::WebMutableURLRequest(bool isMutable)
- : m_refCount(0)
- , m_isMutable(isMutable)
-{
- gClassCount++;
- gClassNameCount.add("WebMutableURLRequest");
-}
-
-WebMutableURLRequest* WebMutableURLRequest::createInstance()
-{
- WebMutableURLRequest* instance = new WebMutableURLRequest(true);
- instance->AddRef();
- return instance;
-}
-
-WebMutableURLRequest* WebMutableURLRequest::createInstance(IWebMutableURLRequest* req)
-{
- WebMutableURLRequest* instance = new WebMutableURLRequest(true);
- instance->AddRef();
- instance->m_request = static_cast<WebMutableURLRequest*>(req)->m_request;
- return instance;
-}
-
-WebMutableURLRequest* WebMutableURLRequest::createInstance(const ResourceRequest& request)
-{
- WebMutableURLRequest* instance = new WebMutableURLRequest(true);
- instance->AddRef();
- instance->m_request = request;
- return instance;
-}
-
-WebMutableURLRequest* WebMutableURLRequest::createImmutableInstance()
-{
- WebMutableURLRequest* instance = new WebMutableURLRequest(false);
- instance->AddRef();
- return instance;
-}
-
-WebMutableURLRequest* WebMutableURLRequest::createImmutableInstance(const ResourceRequest& request)
-{
- WebMutableURLRequest* instance = new WebMutableURLRequest(false);
- instance->AddRef();
- instance->m_request = request;
- return instance;
-}
-
-WebMutableURLRequest::~WebMutableURLRequest()
-{
- gClassCount--;
- gClassNameCount.remove("WebMutableURLRequest");
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, CLSID_WebMutableURLRequest))
- *ppvObject = this;
- else if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebURLRequest*>(this);
- else if (IsEqualGUID(riid, IID_IWebMutableURLRequest) && m_isMutable)
- *ppvObject = static_cast<IWebMutableURLRequest*>(this);
- else if (IsEqualGUID(riid, __uuidof(IWebMutableURLRequestPrivate)) && m_isMutable)
- *ppvObject = static_cast<IWebMutableURLRequestPrivate*>(this);
- else if (IsEqualGUID(riid, IID_IWebURLRequest))
- *ppvObject = static_cast<IWebURLRequest*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebMutableURLRequest::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebMutableURLRequest::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebURLRequest --------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::requestWithURL(
- /* [in] */ BSTR /*theURL*/,
- /* [optional][in] */ WebURLRequestCachePolicy /*cachePolicy*/,
- /* [optional][in] */ double /*timeoutInterval*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::allHTTPHeaderFields(
- /* [retval][out] */ IPropertyBag** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::cachePolicy(
- /* [retval][out] */ WebURLRequestCachePolicy* result)
-{
- *result = kit(m_request.cachePolicy());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::HTTPBody(
- /* [retval][out] */ IStream** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::HTTPBodyStream(
- /* [retval][out] */ IStream** /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::HTTPMethod(
- /* [retval][out] */ BSTR* result)
-{
- BString httpMethod = BString(m_request.httpMethod());
- *result = httpMethod.release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::HTTPShouldHandleCookies(
- /* [retval][out] */ BOOL* result)
-{
- bool shouldHandleCookies = m_request.allowCookies();
-
- *result = shouldHandleCookies ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::initWithURL(
- /* [in] */ BSTR url,
- /* [optional][in] */ WebURLRequestCachePolicy cachePolicy,
- /* [optional][in] */ double timeoutInterval)
-{
- m_request.setURL(MarshallingHelpers::BSTRToKURL(url));
- m_request.setCachePolicy(core(cachePolicy));
- m_request.setTimeoutInterval(timeoutInterval);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::mainDocumentURL(
- /* [retval][out] */ BSTR* result)
-{
- *result = MarshallingHelpers::KURLToBSTR(m_request.firstPartyForCookies());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::timeoutInterval(
- /* [retval][out] */ double* result)
-{
- *result = m_request.timeoutInterval();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::URL(
- /* [retval][out] */ BSTR* result)
-{
- *result = MarshallingHelpers::KURLToBSTR(m_request.url());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::valueForHTTPHeaderField(
- /* [in] */ BSTR field,
- /* [retval][out] */ BSTR* result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *result = BString(m_request.httpHeaderField(String(field, SysStringLen(field)))).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::isEmpty(
- /* [retval][out] */ BOOL* result)
-{
- *result = m_request.isEmpty();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::isEqual(
- /* [in] */ IWebURLRequest* other,
- /* [out, retval] */ BOOL* result)
-{
- COMPtr<WebMutableURLRequest> requestImpl(Query, other);
-
- if (!requestImpl) {
- *result = FALSE;
- return S_OK;
- }
-
- *result = m_request == requestImpl->resourceRequest();
- return S_OK;
-}
-
-
-// IWebMutableURLRequest --------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::addValue(
- /* [in] */ BSTR value,
- /* [in] */ BSTR field)
-{
- m_request.addHTTPHeaderField(WTF::AtomicString(value, SysStringLen(value)), String(field, SysStringLen(field)));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setAllHTTPHeaderFields(
- /* [in] */ IPropertyBag* /*headerFields*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setCachePolicy(
- /* [in] */ WebURLRequestCachePolicy policy)
-{
- m_request.setCachePolicy(core(policy));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setHTTPBody(
- /* [in] */ IStream* /*data*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setHTTPBodyStream(
- /* [in] */ IStream* /*data*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setHTTPMethod(
- /* [in] */ BSTR method)
-{
- m_request.setHTTPMethod(String(method));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setHTTPShouldHandleCookies(
- /* [in] */ BOOL handleCookies)
-{
- m_request.setAllowCookies(handleCookies);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setMainDocumentURL(
- /* [in] */ BSTR theURL)
-{
- m_request.setFirstPartyForCookies(MarshallingHelpers::BSTRToKURL(theURL));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setTimeoutInterval(
- /* [in] */ double timeoutInterval)
-{
- m_request.setTimeoutInterval(timeoutInterval);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setURL(
- /* [in] */ BSTR url)
-{
- m_request.setURL(MarshallingHelpers::BSTRToKURL(url));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setValue(
- /* [in] */ BSTR value,
- /* [in] */ BSTR field)
-{
- String valueString(value, SysStringLen(value));
- String fieldString(field, SysStringLen(field));
- m_request.setHTTPHeaderField(fieldString, valueString);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setAllowsAnyHTTPSCertificate(void)
-{
- ResourceHandle::setHostAllowsAnyHTTPSCertificate(m_request.url().host());
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::setClientCertificate(
- /* [in] */ OLE_HANDLE cert)
-{
- if (!cert)
- return E_POINTER;
-
- PCCERT_CONTEXT certContext = reinterpret_cast<PCCERT_CONTEXT>((ULONG64)cert);
- RetainPtr<CFDataRef> certData = WebCore::copyCertificateToData(certContext);
- ResourceHandle::setClientCertificate(m_request.url().host(), certData.get());
- return S_OK;
-}
-
-CFURLRequestRef STDMETHODCALLTYPE WebMutableURLRequest::cfRequest()
-{
- return m_request.cfURLRequest(UpdateHTTPBody);
-}
-
-HRESULT STDMETHODCALLTYPE WebMutableURLRequest::mutableCopy(
- /* [out, retval] */ IWebMutableURLRequest** result)
-{
- if (!result)
- return E_POINTER;
-
-#if USE(CFNETWORK)
- RetainPtr<CFMutableURLRequestRef> mutableRequest = adoptCF(CFURLRequestCreateMutableCopy(kCFAllocatorDefault, m_request.cfURLRequest(UpdateHTTPBody)));
- *result = createInstance(ResourceRequest(mutableRequest.get()));
- return S_OK;
-#else
- *result = createInstance(m_request);
- return S_OK;
-#endif
-}
-
-// IWebMutableURLRequest ----------------------------------------------------
-
-void WebMutableURLRequest::setFormData(const PassRefPtr<FormData> data)
-{
- m_request.setHTTPBody(data);
-}
-
-const PassRefPtr<FormData> WebMutableURLRequest::formData() const
-{
- return m_request.httpBody();
-}
-
-void WebMutableURLRequest::addHTTPHeaderFields(const HTTPHeaderMap& headerFields)
-{
- m_request.addHTTPHeaderFields(headerFields);
-}
-
-const HTTPHeaderMap& WebMutableURLRequest::httpHeaderFields() const
-{
- return m_request.httpHeaderFields();
-}
-
-const ResourceRequest& WebMutableURLRequest::resourceRequest() const
-{
- return m_request;
-}
diff --git a/Source/WebKit/win/WebMutableURLRequest.h b/Source/WebKit/win/WebMutableURLRequest.h
deleted file mode 100644
index 0f89676f1..000000000
--- a/Source/WebKit/win/WebMutableURLRequest.h
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebMutableURLRequest_H
-#define WebMutableURLRequest_H
-
-#include "WebKit.h"
-#include <WebCore/ResourceRequest.h>
-
-namespace WebCore
-{
- class FormData;
-}
-
-inline WebCore::ResourceRequestCachePolicy core(WebURLRequestCachePolicy policy)
-{
- return static_cast<WebCore::ResourceRequestCachePolicy>(policy);
-}
-
-inline WebURLRequestCachePolicy kit(WebCore::ResourceRequestCachePolicy policy)
-{
- return static_cast<WebURLRequestCachePolicy>(policy);
-}
-
-class WebMutableURLRequest : public IWebMutableURLRequest, IWebMutableURLRequestPrivate
-{
-public:
- static WebMutableURLRequest* createInstance();
- static WebMutableURLRequest* createInstance(IWebMutableURLRequest* req);
- static WebMutableURLRequest* createInstance(const WebCore::ResourceRequest&);
-
- static WebMutableURLRequest* createImmutableInstance();
- static WebMutableURLRequest* createImmutableInstance(const WebCore::ResourceRequest&);
-protected:
- WebMutableURLRequest(bool isMutable);
- ~WebMutableURLRequest();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebURLRequest
- virtual HRESULT STDMETHODCALLTYPE requestWithURL(
- /* [in] */ BSTR theURL,
- /* [optional][in] */ WebURLRequestCachePolicy cachePolicy,
- /* [optional][in] */ double timeoutInterval);
-
- virtual HRESULT STDMETHODCALLTYPE allHTTPHeaderFields(
- /* [retval][out] */ IPropertyBag **result);
-
- virtual HRESULT STDMETHODCALLTYPE cachePolicy(
- /* [retval][out] */ WebURLRequestCachePolicy *result);
-
- virtual HRESULT STDMETHODCALLTYPE HTTPBody(
- /* [retval][out] */ IStream **result);
-
- virtual HRESULT STDMETHODCALLTYPE HTTPBodyStream(
- /* [retval][out] */ IStream **result);
-
- virtual HRESULT STDMETHODCALLTYPE HTTPMethod(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE HTTPShouldHandleCookies(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE initWithURL(
- /* [in] */ BSTR url,
- /* [optional][in] */ WebURLRequestCachePolicy cachePolicy,
- /* [optional][in] */ double timeoutInterval);
-
- virtual HRESULT STDMETHODCALLTYPE mainDocumentURL(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE timeoutInterval(
- /* [retval][out] */ double *result);
-
- virtual HRESULT STDMETHODCALLTYPE URL(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE valueForHTTPHeaderField(
- /* [in] */ BSTR field,
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE isEmpty(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE mutableCopy(
- /* [out, retval] */ IWebMutableURLRequest** result);
-
- virtual HRESULT STDMETHODCALLTYPE isEqual(
- /* [in] */ IWebURLRequest* other,
- /* [out, retval] */ BOOL* result);
-
- // IWebMutableURLRequest
- virtual HRESULT STDMETHODCALLTYPE addValue(
- /* [in] */ BSTR value,
- /* [in] */ BSTR field);
-
- virtual HRESULT STDMETHODCALLTYPE setAllHTTPHeaderFields(
- /* [in] */ IPropertyBag *headerFields);
-
- virtual HRESULT STDMETHODCALLTYPE setCachePolicy(
- /* [in] */ WebURLRequestCachePolicy policy);
-
- virtual HRESULT STDMETHODCALLTYPE setHTTPBody(
- /* [in] */ IStream *data);
-
- virtual HRESULT STDMETHODCALLTYPE setHTTPBodyStream(
- /* [in] */ IStream *data);
-
- virtual HRESULT STDMETHODCALLTYPE setHTTPMethod(
- /* [in] */ BSTR method);
-
- virtual HRESULT STDMETHODCALLTYPE setHTTPShouldHandleCookies(
- /* [in] */ BOOL handleCookies);
-
- virtual HRESULT STDMETHODCALLTYPE setMainDocumentURL(
- /* [in] */ BSTR theURL);
-
- virtual HRESULT STDMETHODCALLTYPE setTimeoutInterval(
- /* [in] */ double timeoutInterval);
-
- virtual HRESULT STDMETHODCALLTYPE setURL(
- /* [in] */ BSTR theURL);
-
- virtual HRESULT STDMETHODCALLTYPE setValue(
- /* [in] */ BSTR value,
- /* [in] */ BSTR field);
-
- virtual HRESULT STDMETHODCALLTYPE setAllowsAnyHTTPSCertificate(void);
-
- // IWebMutableURLRequestPrivate
-
- virtual HRESULT STDMETHODCALLTYPE setClientCertificate(
- /* [in] */ OLE_HANDLE cert);
-
- virtual /* [local] */ CFURLRequestRef STDMETHODCALLTYPE cfRequest();
-
- // WebMutableURLRequest
- void setFormData(const PassRefPtr<WebCore::FormData> data);
- const PassRefPtr<WebCore::FormData> formData() const;
-
- void addHTTPHeaderFields(const WebCore::HTTPHeaderMap& headerFields);
- const WebCore::HTTPHeaderMap& httpHeaderFields() const;
-
- const WebCore::ResourceRequest& resourceRequest() const;
-protected:
- ULONG m_refCount;
- bool m_isMutable;
- WebCore::ResourceRequest m_request;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebNavigationData.cpp b/Source/WebKit/win/WebNavigationData.cpp
deleted file mode 100644
index 1ea028c69..000000000
--- a/Source/WebKit/win/WebNavigationData.cpp
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 "WebKitDLL.h"
-#include "WebNavigationData.h"
-
-using namespace WebCore;
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebNavigationData::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebNavigationData*>(this);
- else if (IsEqualGUID(riid, IID_IWebNavigationData))
- *ppvObject = static_cast<IWebNavigationData*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebNavigationData::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebNavigationData::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// WebNavigationData -------------------------------------------------------------------
-
-WebNavigationData::WebNavigationData(const String& url, const String& title, IWebURLRequest* request, IWebURLResponse* response, bool hasSubstituteData, const String& clientRedirectSource)
- : m_refCount(0)
- , m_url(url)
- , m_title(title)
- , m_request(request)
- , m_response(response)
- , m_hasSubstituteData(hasSubstituteData)
- , m_clientRedirectSource(clientRedirectSource)
-
-{
- gClassCount++;
- gClassNameCount.add("WebNavigationData");
-}
-
-WebNavigationData::~WebNavigationData()
-{
- gClassCount--;
- gClassNameCount.remove("WebNavigationData");
-}
-
-WebNavigationData* WebNavigationData::createInstance(const String& url, const String& title, IWebURLRequest* request, IWebURLResponse* response, bool hasSubstituteData, const String& clientRedirectSource)
-{
- WebNavigationData* instance = new WebNavigationData(url, title, request, response, hasSubstituteData, clientRedirectSource);
- instance->AddRef();
- return instance;
-}
-
-// IWebNavigationData -------------------------------------------------------------------
-
-HRESULT WebNavigationData::url(BSTR* url)
-{
- if (!url)
- return E_POINTER;
- *url = BString(m_url).release();
- return S_OK;
-}
-
-HRESULT WebNavigationData::title(BSTR* title)
-{
- if (!title)
- return E_POINTER;
- *title = BString(m_title).release();
- return S_OK;
-}
-
-HRESULT WebNavigationData::originalRequest(IWebURLRequest** request)
-{
- if (!request)
- return E_POINTER;
- *request = m_request.get();
- m_request->AddRef();
- return S_OK;
-}
-
-HRESULT WebNavigationData::response(IWebURLResponse** response)
-{
- if (!response)
- return E_POINTER;
- *response = m_response.get();
- m_response->AddRef();
- return S_OK;
-}
-
-HRESULT WebNavigationData::hasSubstituteData(BOOL* hasSubstituteData)
-{
- if (!hasSubstituteData)
- return E_POINTER;
- *hasSubstituteData = m_hasSubstituteData;
- return S_OK;
-}
-
-HRESULT WebNavigationData::clientRedirectSource(BSTR* clientRedirectSource)
-{
- if (!clientRedirectSource)
- return E_POINTER;
-
- *clientRedirectSource = BString(m_clientRedirectSource).release();
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebNavigationData.h b/Source/WebKit/win/WebNavigationData.h
deleted file mode 100644
index 54e578249..000000000
--- a/Source/WebKit/win/WebNavigationData.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 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 WebNavigationData_h
-#define WebNavigationData_h
-
-#include "WebKit.h"
-
-#include <WebCore/BString.h>
-#include <WebCore/COMPtr.h>
-
-class WebNavigationData : public IWebNavigationData {
-public:
- static WebNavigationData* createInstance(const WTF::String& url, const WTF::String& title, IWebURLRequest*, IWebURLResponse*, bool hasSubstituteData, const WTF::String& clientRedirectSource);
-private:
- WebNavigationData(const WTF::String& url, const WTF::String& title, IWebURLRequest*, IWebURLResponse*, bool hasSubstituteData, const WTF::String& clientRedirectSource);
- ~WebNavigationData();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebNavigationData
- virtual HRESULT STDMETHODCALLTYPE url(
- /* [retval][out] */ BSTR*);
-
- virtual HRESULT STDMETHODCALLTYPE title(
- /* [retval][out] */ BSTR*);
-
- virtual HRESULT STDMETHODCALLTYPE originalRequest(
- /* [retval][out] */ IWebURLRequest**);
-
- virtual HRESULT STDMETHODCALLTYPE response(
- /* [retval][out] */ IWebURLResponse**);
-
- virtual HRESULT STDMETHODCALLTYPE hasSubstituteData(
- /* [retval][out] */ BOOL*);
-
- virtual HRESULT STDMETHODCALLTYPE clientRedirectSource(
- /* [retval][out] */ BSTR*);
-
-private:
- ULONG m_refCount;
- WebCore::BString m_url;
- WebCore::BString m_title;
- COMPtr<IWebURLRequest> m_request;
- COMPtr<IWebURLResponse> m_response;
- bool m_hasSubstituteData;
- WebCore::BString m_clientRedirectSource;
-
-};
-
-#endif // WebNavigationData_h
diff --git a/Source/WebKit/win/WebNodeHighlight.cpp b/Source/WebKit/win/WebNodeHighlight.cpp
deleted file mode 100644
index 182ae72e5..000000000
--- a/Source/WebKit/win/WebNodeHighlight.cpp
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebNodeHighlight.h"
-
-#include "WebView.h"
-#include <WebCore/BitmapInfo.h>
-#include <WebCore/Color.h>
-#include <WebCore/GraphicsContext.h>
-#include <WebCore/HWndDC.h>
-#include <WebCore/InspectorController.h>
-#include <WebCore/Page.h>
-#include <WebCore/WindowMessageBroadcaster.h>
-#include <wtf/HashSet.h>
-#include <wtf/OwnPtr.h>
-
-using namespace WebCore;
-
-static LPCTSTR kOverlayWindowClassName = TEXT("WebNodeHighlightWindowClass");
-static ATOM registerOverlayClass();
-static LPCTSTR kWebNodeHighlightPointerProp = TEXT("WebNodeHighlightPointer");
-
-WebNodeHighlight::WebNodeHighlight(WebView* webView)
- :
-#if ENABLE(INSPECTOR)
- m_inspectedWebView(webView),
-#endif // ENABLE(INSPECTOR)
- m_overlay(0)
- , m_observedWindow(0)
- , m_showsWhileWebViewIsVisible(false)
-{
-#if ENABLE(INSPECTOR)
- m_inspectedWebView->viewWindow(reinterpret_cast<OLE_HANDLE*>(&m_inspectedWebViewWindow));
-#endif // ENABLE(INSPECTOR)
-}
-
-WebNodeHighlight::~WebNodeHighlight()
-{
- if (m_observedWindow)
- WindowMessageBroadcaster::removeListener(m_observedWindow, this);
- if (m_inspectedWebViewWindow)
- WindowMessageBroadcaster::removeListener(m_inspectedWebViewWindow, this);
-
- if (m_overlay)
- ::DestroyWindow(m_overlay);
-}
-
-void WebNodeHighlight::setShowsWhileWebViewIsVisible(bool shows)
-{
- if (m_showsWhileWebViewIsVisible == shows)
- return;
- m_showsWhileWebViewIsVisible = shows;
-
- if (!m_showsWhileWebViewIsVisible) {
- hide();
- return;
- }
-
- bool webViewVisible = isWebViewVisible();
-
- if (isShowing() == webViewVisible)
- return;
-
- if (webViewVisible)
- show();
- else
- hide();
-}
-
-bool WebNodeHighlight::isWebViewVisible() const
-{
- if (!m_inspectedWebViewWindow)
- return false;
-
- return IsWindowVisible(m_inspectedWebViewWindow);
-}
-
-void WebNodeHighlight::show()
-{
- if (!m_overlay) {
- registerOverlayClass();
-
- m_overlay = ::CreateWindowEx(WS_EX_LAYERED | WS_EX_TOOLWINDOW | WS_EX_TRANSPARENT, kOverlayWindowClassName, 0, WS_POPUP,
- 0, 0, 0, 0,
- m_inspectedWebViewWindow, 0, 0, 0);
- if (!m_overlay)
- return;
-
- ::SetProp(m_overlay, kWebNodeHighlightPointerProp, reinterpret_cast<HANDLE>(this));
-
- m_observedWindow = GetAncestor(m_inspectedWebViewWindow, GA_ROOT);
- WindowMessageBroadcaster::addListener(m_observedWindow, this);
- WindowMessageBroadcaster::addListener(m_inspectedWebViewWindow, this);
- }
-
- ASSERT(m_showsWhileWebViewIsVisible);
-
- update();
- SetWindowPos(m_overlay, 0, 0, 0, 0, 0, SWP_SHOWWINDOW | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);
-}
-
-void WebNodeHighlight::hide()
-{
- if (m_overlay)
- ::ShowWindow(m_overlay, SW_HIDE);
-}
-
-bool WebNodeHighlight::isShowing() const
-{
- return m_overlay && ::IsWindowVisible(m_overlay);
-}
-
-void WebNodeHighlight::update()
-{
- ASSERT(m_overlay);
-
- HDC hdc = ::CreateCompatibleDC(HWndDC(m_overlay));
- if (!hdc)
- return;
-
- RECT webViewRect;
- ::GetWindowRect(m_inspectedWebViewWindow, &webViewRect);
-
- SIZE size;
- size.cx = webViewRect.right - webViewRect.left;
- size.cy = webViewRect.bottom - webViewRect.top;
-
- if (!size.cx || !size.cy)
- return;
-
- BitmapInfo bitmapInfo = BitmapInfo::createBottomUp(IntSize(size));
-
- void* pixels = 0;
- OwnPtr<HBITMAP> hbmp = adoptPtr(::CreateDIBSection(hdc, &bitmapInfo, DIB_RGB_COLORS, &pixels, 0, 0));
- ASSERT_WITH_MESSAGE(hbmp, "::CreateDIBSection failed with error %lu", ::GetLastError());
-
- ::SelectObject(hdc, hbmp.get());
-
- GraphicsContext context(hdc);
-#if ENABLE(INSPECTOR)
- m_inspectedWebView->page()->inspectorController()->drawHighlight(context);
-#endif // ENABLE(INSPECTOR)
-
- BLENDFUNCTION bf;
- bf.BlendOp = AC_SRC_OVER;
- bf.BlendFlags = 0;
- bf.SourceConstantAlpha = 255;
- bf.AlphaFormat = AC_SRC_ALPHA;
-
- POINT srcPoint;
- srcPoint.x = 0;
- srcPoint.y = 0;
-
- POINT dstPoint;
- dstPoint.x = webViewRect.left;
- dstPoint.y = webViewRect.top;
-
- ::UpdateLayeredWindow(m_overlay, HWndDC(0), &dstPoint, &size, hdc, &srcPoint, 0, &bf, ULW_ALPHA);
- ::DeleteDC(hdc);
-}
-
-void WebNodeHighlight::placeBehindWindow(HWND window)
-{
- ASSERT(m_overlay);
- SetWindowPos(m_overlay, window, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
-}
-
-static ATOM registerOverlayClass()
-{
- static bool haveRegisteredWindowClass = false;
-
- if (haveRegisteredWindowClass)
- return true;
-
- WNDCLASSEX wcex;
-
- wcex.cbSize = sizeof(WNDCLASSEX);
-
- wcex.style = 0;
- wcex.lpfnWndProc = OverlayWndProc;
- wcex.cbClsExtra = 0;
- wcex.cbWndExtra = 0;
- wcex.hInstance = 0;
- wcex.hIcon = 0;
- wcex.hCursor = LoadCursor(0, IDC_ARROW);
- wcex.hbrBackground = 0;
- wcex.lpszMenuName = 0;
- wcex.lpszClassName = kOverlayWindowClassName;
- wcex.hIconSm = 0;
-
- haveRegisteredWindowClass = true;
-
- return ::RegisterClassEx(&wcex);
-}
-
-LRESULT CALLBACK OverlayWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- WebNodeHighlight* highlight = reinterpret_cast<WebNodeHighlight*>(::GetProp(hwnd, kWebNodeHighlightPointerProp));
- if (!highlight)
- return ::DefWindowProc(hwnd, msg, wParam, lParam);
-
- return ::DefWindowProc(hwnd, msg, wParam, lParam);
-}
-
-void WebNodeHighlight::onWebViewShowWindow(bool showing)
-{
- if (!m_showsWhileWebViewIsVisible)
- return;
-
- if (isShowing() == showing)
- return;
-
- if (showing)
- show();
- else
- hide();
-}
-
-void WebNodeHighlight::onWebViewWindowPosChanged(WINDOWPOS* windowPos)
-{
- bool sizing = !(windowPos->flags & SWP_NOSIZE);
-
- if (!sizing)
- return;
-
- if (!isShowing())
- return;
-
- update();
-}
-
-void WebNodeHighlight::onRootWindowPosChanged(WINDOWPOS* windowPos)
-{
- bool moving = !(windowPos->flags & SWP_NOMOVE);
- bool sizing = !(windowPos->flags & SWP_NOSIZE);
-
- if (!moving)
- return;
-
- // Size changes are handled by onWebViewWindowPosChanged.
- if (sizing)
- return;
-
- if (!isShowing())
- return;
-
- update();
-}
-
-void WebNodeHighlight::windowReceivedMessage(HWND window, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- if (window == m_inspectedWebViewWindow) {
- switch (msg) {
- case WM_SHOWWINDOW:
- onWebViewShowWindow(wParam);
- break;
- case WM_WINDOWPOSCHANGED:
- onWebViewWindowPosChanged(reinterpret_cast<WINDOWPOS*>(lParam));
- break;
- default:
- break;
- }
-
- return;
- }
-
- ASSERT(window == m_observedWindow);
- switch (msg) {
- case WM_WINDOWPOSCHANGED:
- onRootWindowPosChanged(reinterpret_cast<WINDOWPOS*>(lParam));
- break;
- default:
- break;
- }
-}
diff --git a/Source/WebKit/win/WebNodeHighlight.h b/Source/WebKit/win/WebNodeHighlight.h
deleted file mode 100644
index da2faa663..000000000
--- a/Source/WebKit/win/WebNodeHighlight.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebNodeHighlight_h
-#define WebNodeHighlight_h
-
-#include <WebCore/WindowMessageListener.h>
-#include <windows.h>
-
-class WebView;
-
-class WebNodeHighlight : WebCore::WindowMessageListener {
-public:
- WebNodeHighlight(WebView*);
- ~WebNodeHighlight();
-
- void setShowsWhileWebViewIsVisible(bool);
-
- bool isShowing() const;
-
- void update();
-
- void placeBehindWindow(HWND);
-
-private:
- void show();
- void hide();
-
- bool isWebViewVisible() const;
-
- virtual void windowReceivedMessage(HWND, UINT message, WPARAM, LPARAM);
-
- void onWebViewShowWindow(bool showing);
- void onWebViewWindowPosChanged(WINDOWPOS*);
- void onRootWindowPosChanged(WINDOWPOS*);
-
-#if ENABLE(INSPECTOR)
- WebView* m_inspectedWebView;
-#endif // ENABLE(INSPECTOR)
- HWND m_inspectedWebViewWindow;
- HWND m_overlay;
- HWND m_observedWindow;
- bool m_showsWhileWebViewIsVisible;
-
- friend static LRESULT CALLBACK OverlayWndProc(HWND, UINT, WPARAM, LPARAM);
-};
-
-#endif // !defined(WebNodeHighlight_h)
diff --git a/Source/WebKit/win/WebNotification.cpp b/Source/WebKit/win/WebNotification.cpp
deleted file mode 100644
index 56f8a5617..000000000
--- a/Source/WebKit/win/WebNotification.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-
-#include "WebNotification.h"
-
-#include <wtf/Assertions.h>
-
-// WebNotification ------------------------------------------------------------
-
-WebNotification::WebNotification(BSTR name, IUnknown* anObject, IPropertyBag* userInfo)
-: m_refCount(0)
-, m_name(0)
-, m_anObject(anObject)
-, m_userInfo(userInfo)
-{
- if (name)
- m_name = SysAllocString(name);
- if (m_anObject)
- m_anObject->AddRef();
- if (m_userInfo)
- m_userInfo->AddRef();
-
- gClassCount++;
- gClassNameCount.add("WebNotification");
-}
-
-WebNotification::~WebNotification()
-{
- if (m_name)
- SysFreeString(m_name);
- if (m_anObject)
- m_anObject->Release();
- if (m_userInfo)
- m_userInfo->Release();
-
- gClassCount--;
- gClassNameCount.remove("WebNotification");
-}
-
-WebNotification* WebNotification::createInstance(BSTR name /*=0*/, IUnknown* anObject /*=0*/, IPropertyBag* userInfo /*=0*/)
-{
- WebNotification* instance = new WebNotification(name, anObject, userInfo);
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebNotification::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebNotification*>(this);
- else if (IsEqualGUID(riid, IID_IWebNotification))
- *ppvObject = static_cast<IWebNotification*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebNotification::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebNotification::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebNotification -----------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebNotification::notificationWithName(
- /* [in] */ BSTR /*aName*/,
- /* [in] */ IUnknown* /*anObject*/,
- /* [optional][in] */ IPropertyBag* /*userInfo*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebNotification::name(
- /* [retval][out] */ BSTR* result)
-{
- *result = 0;
- if (m_name) {
- *result = SysAllocString(m_name);
- if (!*result)
- return E_OUTOFMEMORY;
- }
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebNotification::getObject(
- /* [retval][out] */ IUnknown** result)
-{
- *result = m_anObject;
-
- if (*result)
- (*result)->AddRef();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebNotification::userInfo(
- /* [retval][out] */ IPropertyBag** result)
-{
- *result = m_userInfo;
-
- if (*result)
- (*result)->AddRef();
-
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebNotification.h b/Source/WebKit/win/WebNotification.h
deleted file mode 100644
index f95018e6d..000000000
--- a/Source/WebKit/win/WebNotification.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebNotification_H
-#define WebNotification_H
-
-#include "WebKit.h"
-
-class WebNotification : public IWebNotification
-{
-public:
- static WebNotification* createInstance(BSTR name = 0, IUnknown* anObject = 0, IPropertyBag* userInfo = 0);
-protected:
- WebNotification(BSTR name, IUnknown* anObject, IPropertyBag* userInfo);
- ~WebNotification();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebNotification
- virtual HRESULT STDMETHODCALLTYPE notificationWithName(
- /* [in] */ BSTR aName,
- /* [in] */ IUnknown *anObject,
- /* [optional][in] */ IPropertyBag *userInfo);
-
- virtual HRESULT STDMETHODCALLTYPE name(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE getObject(
- /* [retval][out] */ IUnknown **result);
-
- virtual HRESULT STDMETHODCALLTYPE userInfo(
- /* [retval][out] */ IPropertyBag **result);
-
-protected:
- ULONG m_refCount;
- BSTR m_name;
- IUnknown* m_anObject;
- IPropertyBag* m_userInfo;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebNotificationCenter.cpp b/Source/WebKit/win/WebNotificationCenter.cpp
deleted file mode 100644
index 94ced1c4b..000000000
--- a/Source/WebKit/win/WebNotificationCenter.cpp
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebNotificationCenter.h"
-
-#include "WebNotification.h"
-#include <WebCore/BString.h>
-#include <WebCore/COMPtr.h>
-#include <utility>
-#include <wchar.h>
-#include <wtf/HashMap.h>
-#include <wtf/HashTraits.h>
-#include <wtf/PassOwnPtr.h>
-#include <wtf/Vector.h>
-#include <wtf/text/StringHash.h>
-#include <wtf/text/WTFString.h>
-
-using namespace WebCore;
-
-typedef std::pair<COMPtr<IUnknown>, COMPtr<IWebNotificationObserver> > ObjectObserverPair;
-typedef Vector<ObjectObserverPair> ObjectObserverList;
-typedef ObjectObserverList::iterator ObserverListIterator;
-typedef HashMap<String, ObjectObserverList> MappedObservers;
-
-struct WebNotificationCenterPrivate {
- MappedObservers m_mappedObservers;
-};
-
-// WebNotificationCenter ----------------------------------------------------------------
-
-IWebNotificationCenter* WebNotificationCenter::m_defaultCenter = 0;
-
-WebNotificationCenter::WebNotificationCenter()
- : m_refCount(0)
- , d(adoptPtr(new WebNotificationCenterPrivate))
-{
- gClassCount++;
- gClassNameCount.add("WebNotificationCenter");
-}
-
-WebNotificationCenter::~WebNotificationCenter()
-{
- gClassCount--;
- gClassNameCount.remove("WebNotificationCenter");
-}
-
-WebNotificationCenter* WebNotificationCenter::createInstance()
-{
- WebNotificationCenter* instance = new WebNotificationCenter();
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebNotificationCenter::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebNotificationCenter*>(this);
- else if (IsEqualGUID(riid, IID_IWebNotificationCenter))
- *ppvObject = static_cast<IWebNotificationCenter*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebNotificationCenter::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebNotificationCenter::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-IWebNotificationCenter* WebNotificationCenter::defaultCenterInternal()
-{
- if (!m_defaultCenter)
- m_defaultCenter = WebNotificationCenter::createInstance();
- return m_defaultCenter;
-}
-
-void WebNotificationCenter::postNotificationInternal(IWebNotification* notification, BSTR notificationName, IUnknown* anObject)
-{
- String name(notificationName, SysStringLen(notificationName));
- MappedObservers::iterator it = d->m_mappedObservers.find(name);
- if (it == d->m_mappedObservers.end())
- return;
-
- // Intentionally make a copy of the list to avoid the possibility of errors
- // from a mutation of the list in the onNotify callback.
- ObjectObserverList list = it->value;
-
- ObserverListIterator end = list.end();
- for (ObserverListIterator it2 = list.begin(); it2 != end; ++it2) {
- IUnknown* observedObject = it2->first.get();
- IWebNotificationObserver* observer = it2->second.get();
- if (!observedObject || !anObject || observedObject == anObject)
- observer->onNotify(notification);
- }
-}
-
-// IWebNotificationCenter -----------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebNotificationCenter::defaultCenter(
- /* [retval][out] */ IWebNotificationCenter** center)
-{
- *center = defaultCenterInternal();
- (*center)->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebNotificationCenter::addObserver(
- /* [in] */ IWebNotificationObserver* observer,
- /* [in] */ BSTR notificationName,
- /* [in] */ IUnknown* anObject)
-{
- String name(notificationName, SysStringLen(notificationName));
- MappedObservers::iterator it = d->m_mappedObservers.find(name);
- if (it != d->m_mappedObservers.end())
- it->value.append(ObjectObserverPair(anObject, observer));
- else {
- ObjectObserverList list;
- list.append(ObjectObserverPair(anObject, observer));
- d->m_mappedObservers.add(name, list);
- }
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebNotificationCenter::postNotification(
- /* [in] */ IWebNotification* notification)
-{
- BString name;
- HRESULT hr = notification->name(&name);
- if (FAILED(hr))
- return hr;
-
- COMPtr<IUnknown> obj;
- hr = notification->getObject(&obj);
- if (FAILED(hr))
- return hr;
-
- postNotificationInternal(notification, name, obj.get());
-
- return hr;
-}
-
-HRESULT STDMETHODCALLTYPE WebNotificationCenter::postNotificationName(
- /* [in] */ BSTR notificationName,
- /* [in] */ IUnknown* anObject,
- /* [optional][in] */ IPropertyBag* userInfo)
-{
- COMPtr<WebNotification> notification(AdoptCOM, WebNotification::createInstance(notificationName, anObject, userInfo));
- postNotificationInternal(notification.get(), notificationName, anObject);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebNotificationCenter::removeObserver(
- /* [in] */ IWebNotificationObserver* anObserver,
- /* [in] */ BSTR notificationName,
- /* [optional][in] */ IUnknown* anObject)
-{
- String name(notificationName, SysStringLen(notificationName));
- MappedObservers::iterator it = d->m_mappedObservers.find(name);
- if (it == d->m_mappedObservers.end())
- return E_FAIL;
-
- ObjectObserverList& observerList = it->value;
- ObserverListIterator end = observerList.end();
-
- int i = 0;
- for (ObserverListIterator it2 = observerList.begin(); it2 != end; ++it2, ++i) {
- IUnknown* observedObject = it2->first.get();
- IWebNotificationObserver* observer = it2->second.get();
- if (observer == anObserver && (!anObject || anObject == observedObject)) {
- observerList.remove(i);
- break;
- }
- }
-
- if (observerList.isEmpty())
- d->m_mappedObservers.remove(name);
-
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebNotificationCenter.h b/Source/WebKit/win/WebNotificationCenter.h
deleted file mode 100644
index 4e909a736..000000000
--- a/Source/WebKit/win/WebNotificationCenter.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebNotificationCenter_H
-#define WebNotificationCenter_H
-
-#include "WebKit.h"
-#include <wtf/OwnPtr.h>
-
-struct WebNotificationCenterPrivate;
-
-class WebNotificationCenter : public IWebNotificationCenter {
-public:
- static WebNotificationCenter* createInstance();
-
-protected:
- WebNotificationCenter();
- ~WebNotificationCenter();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebNotificationCenter
- virtual HRESULT STDMETHODCALLTYPE defaultCenter(
- /* [retval][out] */ IWebNotificationCenter **center);
-
- virtual HRESULT STDMETHODCALLTYPE addObserver(
- /* [in] */ IWebNotificationObserver *observer,
- /* [in] */ BSTR notificationName,
- /* [in] */ IUnknown *anObject);
-
- virtual HRESULT STDMETHODCALLTYPE postNotification(
- /* [in] */ IWebNotification *notification);
-
- virtual HRESULT STDMETHODCALLTYPE postNotificationName(
- /* [in] */ BSTR notificationName,
- /* [in] */ IUnknown *anObject,
- /* [optional][in] */ IPropertyBag *userInfo);
-
- virtual HRESULT STDMETHODCALLTYPE removeObserver(
- /* [in] */ IWebNotificationObserver *anObserver,
- /* [in] */ BSTR notificationName,
- /* [optional][in] */ IUnknown *anObject);
-
- // WebNotificationCenter
- static IWebNotificationCenter* defaultCenterInternal();
- void postNotificationInternal(IWebNotification* notification, BSTR notificationName, IUnknown* anObject);
-
-protected:
- ULONG m_refCount;
- OwnPtr<WebNotificationCenterPrivate> d;
- static IWebNotificationCenter* m_defaultCenter;
-};
-
-#endif // WebNotificationCenter_H
diff --git a/Source/WebKit/win/WebPreferenceKeysPrivate.h b/Source/WebKit/win/WebPreferenceKeysPrivate.h
deleted file mode 100644
index 4a9b324e3..000000000
--- a/Source/WebKit/win/WebPreferenceKeysPrivate.h
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2011 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple" 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 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.
- */
-
-// These are private because callers should be using the cover methods. They are in
-// a Private (as opposed to Internal) header file because Safari uses some of them
-// for managed preferences.
-#define WebKitLogLevelPreferenceKey "WebKitLogLevel"
-#define WebKitStandardFontPreferenceKey "WebKitStandardFont"
-#define WebKitFixedFontPreferenceKey "WebKitFixedFont"
-#define WebKitSerifFontPreferenceKey "WebKitSerifFont"
-#define WebKitSansSerifFontPreferenceKey "WebKitSansSerifFont"
-#define WebKitCursiveFontPreferenceKey "WebKitCursiveFont"
-#define WebKitFantasyFontPreferenceKey "WebKitFantasyFont"
-#define WebKitPictographFontPreferenceKey "WebKitPictographFont"
-#define WebKitMinimumFontSizePreferenceKey "WebKitMinimumFontSize"
-#define WebKitMinimumLogicalFontSizePreferenceKey "WebKitMinimumLogicalFontSize"
-#define WebKitDefaultFontSizePreferenceKey "WebKitDefaultFontSize"
-#define WebKitDefaultFixedFontSizePreferenceKey "WebKitDefaultFixedFontSize"
-#define WebKitDefaultTextEncodingNamePreferenceKey "WebKitDefaultTextEncodingName"
-#define WebKitUserStyleSheetEnabledPreferenceKey "WebKitUserStyleSheetEnabledPreferenceKey"
-#define WebKitUserStyleSheetLocationPreferenceKey "WebKitUserStyleSheetLocationPreferenceKey"
-#define WebKitShouldPrintBackgroundsPreferenceKey "WebKitShouldPrintBackgroundsPreferenceKey"
-#define WebKitTextAreasAreResizablePreferenceKey "WebKitTextAreasAreResizable"
-#define WebKitJavaEnabledPreferenceKey "WebKitJavaEnabled"
-#define WebKitJavaScriptEnabledPreferenceKey "WebKitJavaScriptEnabled"
-#define WebKitWebSecurityEnabledPreferenceKey "WebKitWebSecurityEnabled"
-#define WebKitAllowUniversalAccessFromFileURLsPreferenceKey "WebKitAllowUniversalAccessFromFileURLs"
-#define WebKitAllowFileAccessFromFileURLsPreferenceKey "WebKitAllowFileAccessFromFileURLs"
-#define WebKitJavaScriptCanOpenWindowsAutomaticallyPreferenceKey "WebKitJavaScriptCanOpenWindowsAutomatically"
-#define WebKitPluginsEnabledPreferenceKey "WebKitPluginsEnabled"
-#define WebKitCSSRegionsEnabledPreferenceKey "WebKitCSSRegionsEnabled"
-#define WebKitDatabasesEnabledPreferenceKey "WebKitDatabasesEnabled"
-#define WebKitLocalStorageEnabledPreferenceKey "WebKitLocalStorageEnabled"
-#define WebKitExperimentalNotificationsEnabledPreferenceKey "WebKitExperimentalNotificationsEnabled"
-#define WebKitAllowAnimatedImagesPreferenceKey "WebKitAllowAnimatedImagesPreferenceKey"
-#define WebKitAllowAnimatedImageLoopingPreferenceKey "WebKitAllowAnimatedImageLoopingPreferenceKey"
-#define WebKitDisplayImagesKey "WebKitDisplayImagesKey"
-#define WebKitLoadSiteIconsKey "WebKitLoadSiteIconsKey"
-#define WebKitBackForwardCacheExpirationIntervalKey "WebKitBackForwardCacheExpirationIntervalKey"
-#define WebKitTabToLinksPreferenceKey "WebKitTabToLinksPreferenceKey"
-#define WebKitPrivateBrowsingEnabledPreferenceKey "WebKitPrivateBrowsingEnabled"
-#define WebKitIconDatabaseLocationKey "WebKitIconDatabaseLocation"
-#define WebKitIconDatabaseEnabledPreferenceKey "WebKitIconDatabaseEnabled"
-#define WebKitUsesPageCachePreferenceKey "WebKitUsesPageCachePreferenceKey"
-#define WebKitCacheModelPreferenceKey "WebKitCacheModelPreferenceKey"
-#define WebKitLocalStorageDatabasePathPreferenceKey "WebKitLocalStorageDatabasePath"
-#define WebKitHyperlinkAuditingEnabledPreferenceKey "WebKitHyperlinkAuditingEnabled"
-#define WebKitWebAudioEnabledPreferenceKey "WebKitWebAudioEnabled"
-#define WebKitShouldDisplaySubtitlesPreferenceKey "WebKitShouldDisplaySubtitles"
-#define WebKitShouldDisplayCaptionsPreferenceKey "WebKitShouldDisplayCaptions"
-#define WebKitShouldDisplayTextDescriptionsPreferenceKey "WebKitShouldDisplayTextDescriptions"
-
-// These are private both because callers should be using the cover methods and because the
-// cover methods themselves are private.
-#define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey "WebKitRespectStandardStyleKeyEquivalents"
-#define WebKitShowsURLsInToolTipsPreferenceKey "WebKitShowsURLsInToolTips"
-#define WebKitShowsToolTipOverTruncatedTextPreferenceKey "WebKitShowsToolTipOverTruncatedText"
-#define WebKitPDFDisplayModePreferenceKey "WebKitPDFDisplayMode"
-#define WebKitPDFScaleFactorPreferenceKey "WebKitPDFScaleFactor"
-#define WebKitEditableLinkBehaviorPreferenceKey "WebKitEditableLinkBehavior"
-#define WebKitShouldInvertColorsPreferenceKey "WebKitShouldInvertColors"
-
-// Window display is throttled to 60 frames per second if WebKitThrottleWindowDisplayPreferenceKey
-// is set to YES. The window display throttle is OFF by default for compatibility with Mac OS X
-// 10.4.6.
-#define WebKitThrottleWindowDisplayPreferenceKey "WebKitThrottleWindowDisplay"
-
-// CoreGraphics deferred updates are disabled if WebKitEnableCoalescedUpdatesPreferenceKey is set
-// to NO, or has no value. For compatibility with Mac OS X 10.4.6, deferred updates are OFF by
-// default.
-#define WebKitEnableDeferredUpdatesPreferenceKey "WebKitEnableDeferredUpdates"
-
-// For debugging only. Don't use these.
-#define WebKitPageCacheSizePreferenceKey "WebKitPageCacheSizePreferenceKey"
-#define WebKitObjectCacheSizePreferenceKey "WebKitObjectCacheSizePreferenceKey"
-
-// From WebHistory.h
-#define WebKitHistoryItemLimitKey "WebKitHistoryItemLimit" // default: "1000"
-#define WebKitHistoryAgeInDaysLimitKey "WebKitHistoryAgeInDaysLimit" // default: "7"
-
-// Windows-specific keys
-#define WebKitFontSmoothingTypePreferenceKey "WebKitFontSmoothingType" // default: FontSmoothingTypeMedium (2)
-#define WebKitFontSmoothingContrastPreferenceKey "WebKitFontSmoothingContrast" // default: "2"
-#define WebKitCookieStorageAcceptPolicyPreferenceKey "WebKitCookieStorageAcceptPolicy" // default: WebKitCookieStorageAcceptPolicyOnlyFromMainDocumentDomain
-
-#define WebContinuousSpellCheckingEnabledPreferenceKey "WebContinuousSpellCheckingEnabled" // default: false
-#define WebGrammarCheckingEnabledPreferenceKey "WebGrammarCheckingEnabled" // default: false
-
-#define AllowContinuousSpellCheckingPreferenceKey "AllowContinuousSpellCheckingPreferenceKey" // default: true
-
-#define SeamlessIFramesPreferenceKey "SeamlessIFramesPreferenceKey" // default: false
-
-#define WebKitDOMPasteAllowedPreferenceKey "WebKitDOMPasteAllowedPreferenceKey" // default: false
-
-#define WebKitApplicationChromeModePreferenceKey "WebKitApplicationChromeMode" // default: false
-
-#define WebKitOfflineWebApplicationCacheEnabledPreferenceKey "WebKitOfflineWebApplicationCacheEnabled" // default: false
-
-// If this key is present and has a value of true, we have already removed the default values from the user's preferences <rdar://problem/5214504>
-#define WebKitDidMigrateDefaultSettingsFromSafari3BetaPreferenceKey "WebKitDidMigrateDefaultSettingsFromSafari3BetaPreferenceKey"
-
-#define WebKitDidMigrateWebKitPreferencesToCFPreferencesPreferenceKey "WebKitDidMigrateWebKitPreferencesToCFPreferences"
-
-#define WebKitDeveloperExtrasEnabledPreferenceKey "WebKitDeveloperExtras"
-#define DisableWebKitDeveloperExtrasPreferenceKey "DisableWebKitDeveloperExtras"
-
-#define WebKitAuthorAndUserStylesEnabledPreferenceKey "WebKitAuthorAndUserStylesEnabled"
-
-#define WebKitPaintNativeControlsPreferenceKey "WebKitPaintNativeControls"
-
-#define WebKitZoomsTextOnlyPreferenceKey "WebKitZoomsTextOnly"
-
-#define WebKitJavaScriptCanAccessClipboardPreferenceKey "WebKitJavaScriptCanAccessClipboard"
-
-#define WebKitXSSAuditorEnabledPreferenceKey "WebKitXSSAuditorEnabled"
-
-#define WebKitUseHighResolutionTimersPreferenceKey "WebKitUseHighResolutionTimers"
-
-#define WebKitFrameFlatteningEnabledPreferenceKey "WebKitFrameFlatteningEnabled"
-
-#define WebKitAcceleratedCompositingEnabledPreferenceKey "WebKitAcceleratedCompositingEnabled"
-
-#define WebKitShowDebugBordersPreferenceKey "WebKitShowDebugBorders"
-
-#define WebKitShowRepaintCounterPreferenceKey "WebKitShowRepaintCounter"
-
-#define WebKitCustomDragCursorsEnabledPreferenceKey "WebKitCustomDragCursorsEnabled"
-
-#define WebKitDNSPrefetchingEnabledPreferenceKey "WebKitDNSPrefetchingEnabled"
-
-#define WebKitFullScreenEnabledPreferenceKey "WebKitFullScreenEnabled"
-
-#define WebKitHixie76WebSocketProtocolEnabledPreferenceKey "WebKitHixie76WebSocketProtocolEnabled"
-
-#define WebKitMediaPlaybackRequiresUserGesturePreferenceKey "WebKitMediaPlaybackRequiresUserGesture"
-
-#define WebKitMediaPlaybackAllowsInlinePreferenceKey "WebKitMediaPlaybackAllowsInline"
-
-#define WebKitAVFoundationEnabledPreferenceKey "WebKitAVFoundationEnabled"
-
-#define WebKitRequestAnimationFrameEnabledPreferenceKey "WebKitRequestAnimationFrameEnabled"
-
diff --git a/Source/WebKit/win/WebPreferences.cpp b/Source/WebKit/win/WebPreferences.cpp
deleted file mode 100644
index 5b7fb24b5..000000000
--- a/Source/WebKit/win/WebPreferences.cpp
+++ /dev/null
@@ -1,1762 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple 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 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 "WebKit.h"
-#include "WebKitDLL.h"
-#include "WebPreferences.h"
-
-#include "WebNotificationCenter.h"
-#include "WebPreferenceKeysPrivate.h"
-
-#include <CoreFoundation/CoreFoundation.h>
-#include <WebCore/CACFLayerTreeHost.h>
-#include <WebCore/COMPtr.h>
-#include <WebCore/FileSystem.h>
-#include <WebCore/Font.h>
-#include <WebCore/LocalizedStrings.h>
-#include <limits>
-#include <shlobj.h>
-#include <wchar.h>
-#include <wtf/HashMap.h>
-#include <wtf/OwnArrayPtr.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/StringHash.h>
-#include <wtf/text/WTFString.h>
-
-#if USE(CG)
-#include <CoreGraphics/CoreGraphics.h>
-#include <WebKitSystemInterface/WebKitSystemInterface.h>
-#endif
-
-using namespace WebCore;
-using std::numeric_limits;
-
-static const String& oldPreferencesPath()
-{
- static String path = pathByAppendingComponent(roamingUserSpecificStorageDirectory(), "WebKitPreferences.plist");
- return path;
-}
-
-template<typename NumberType> struct CFNumberTraits { static const unsigned Type; };
-template<> struct CFNumberTraits<int> { static const unsigned Type = kCFNumberSInt32Type; };
-template<> struct CFNumberTraits<LONGLONG> { static const unsigned Type = kCFNumberLongLongType; };
-template<> struct CFNumberTraits<float> { static const unsigned Type = kCFNumberFloat32Type; };
-
-template<typename NumberType>
-static NumberType numberValueForPreferencesValue(CFPropertyListRef value)
-{
- if (!value)
- return 0;
-
- CFTypeID cfType = CFGetTypeID(value);
- if (cfType == CFStringGetTypeID())
- return static_cast<NumberType>(CFStringGetIntValue(static_cast<CFStringRef>(value)));
- else if (cfType == CFBooleanGetTypeID()) {
- Boolean boolVal = CFBooleanGetValue(static_cast<CFBooleanRef>(value));
- return boolVal ? 1 : 0;
- } else if (cfType == CFNumberGetTypeID()) {
- NumberType val = 0;
- CFNumberGetValue(static_cast<CFNumberRef>(value), CFNumberTraits<NumberType>::Type, &val);
- return val;
- }
-
- return 0;
-}
-
-template<typename NumberType>
-static RetainPtr<CFNumberRef> cfNumber(NumberType value)
-{
- return adoptCF(CFNumberCreate(0, CFNumberTraits<NumberType>::Type, &value));
-}
-
-static bool booleanValueForPreferencesValue(CFPropertyListRef value)
-{
- return numberValueForPreferencesValue<int>(value);
-}
-
-// WebPreferences ----------------------------------------------------------------
-
-static CFDictionaryRef defaultSettings;
-
-static HashMap<WTF::String, COMPtr<WebPreferences> > webPreferencesInstances;
-
-WebPreferences* WebPreferences::sharedStandardPreferences()
-{
- static WebPreferences* standardPreferences;
- if (!standardPreferences) {
- standardPreferences = WebPreferences::createInstance();
- standardPreferences->setAutosaves(TRUE);
- standardPreferences->load();
- }
-
- return standardPreferences;
-}
-
-WebPreferences::WebPreferences()
- : m_refCount(0)
- , m_autoSaves(0)
- , m_automaticallyDetectsCacheModel(true)
- , m_numWebViews(0)
-{
- gClassCount++;
- gClassNameCount.add("WebPreferences");
-}
-
-WebPreferences::~WebPreferences()
-{
- gClassCount--;
- gClassNameCount.remove("WebPreferences");
-}
-
-WebPreferences* WebPreferences::createInstance()
-{
- WebPreferences* instance = new WebPreferences();
- instance->AddRef();
- return instance;
-}
-
-HRESULT WebPreferences::postPreferencesChangesNotification()
-{
- IWebNotificationCenter* nc = WebNotificationCenter::defaultCenterInternal();
- HRESULT hr = nc->postNotificationName(webPreferencesChangedNotification(), static_cast<IWebPreferences*>(this), 0);
- if (FAILED(hr))
- return hr;
-
- return S_OK;
-}
-
-WebPreferences* WebPreferences::getInstanceForIdentifier(BSTR identifier)
-{
- if (!identifier)
- return sharedStandardPreferences();
-
- WTF::String identifierString(identifier, SysStringLen(identifier));
- return webPreferencesInstances.get(identifierString).get();
-}
-
-void WebPreferences::setInstance(WebPreferences* instance, BSTR identifier)
-{
- if (!identifier || !instance)
- return;
- WTF::String identifierString(identifier, SysStringLen(identifier));
- webPreferencesInstances.add(identifierString, instance);
-}
-
-void WebPreferences::removeReferenceForIdentifier(BSTR identifier)
-{
- if (!identifier || webPreferencesInstances.isEmpty())
- return;
-
- WTF::String identifierString(identifier, SysStringLen(identifier));
- WebPreferences* webPreference = webPreferencesInstances.get(identifierString).get();
- if (webPreference && webPreference->m_refCount == 1)
- webPreferencesInstances.remove(identifierString);
-}
-
-void WebPreferences::initializeDefaultSettings()
-{
- if (defaultSettings)
- return;
-
- CFMutableDictionaryRef defaults = CFDictionaryCreateMutable(0, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
-
- CFDictionaryAddValue(defaults, CFSTR(WebKitStandardFontPreferenceKey), CFSTR("Times New Roman"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitFixedFontPreferenceKey), CFSTR("Courier New"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitSerifFontPreferenceKey), CFSTR("Times New Roman"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitSansSerifFontPreferenceKey), CFSTR("Arial"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitCursiveFontPreferenceKey), CFSTR("Comic Sans MS"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitFantasyFontPreferenceKey), CFSTR("Comic Sans MS"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitPictographFontPreferenceKey), CFSTR("Times New Roman"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitMinimumFontSizePreferenceKey), CFSTR("0"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitMinimumLogicalFontSizePreferenceKey), CFSTR("9"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitDefaultFontSizePreferenceKey), CFSTR("16"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitDefaultFixedFontSizePreferenceKey), CFSTR("13"));
-
- String defaultDefaultEncoding(WEB_UI_STRING("ISO-8859-1", "The default, default character encoding on Windows"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitDefaultTextEncodingNamePreferenceKey), defaultDefaultEncoding.createCFString().get());
-
- CFDictionaryAddValue(defaults, CFSTR(WebKitUserStyleSheetEnabledPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitUserStyleSheetLocationPreferenceKey), CFSTR(""));
- CFDictionaryAddValue(defaults, CFSTR(WebKitShouldPrintBackgroundsPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitTextAreasAreResizablePreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitJavaEnabledPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitJavaScriptEnabledPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitWebSecurityEnabledPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitAllowUniversalAccessFromFileURLsPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitAllowFileAccessFromFileURLsPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitJavaScriptCanAccessClipboardPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitXSSAuditorEnabledPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitFrameFlatteningEnabledPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitJavaScriptCanOpenWindowsAutomaticallyPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitPluginsEnabledPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitCSSRegionsEnabledPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitDatabasesEnabledPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitLocalStorageEnabledPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitExperimentalNotificationsEnabledPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitZoomsTextOnlyPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitAllowAnimatedImagesPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitAllowAnimatedImageLoopingPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitDisplayImagesKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitLoadSiteIconsKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitBackForwardCacheExpirationIntervalKey), CFSTR("1800"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitTabToLinksPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitPrivateBrowsingEnabledPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitRespectStandardStyleKeyEquivalentsPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitShowsURLsInToolTipsPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitShowsToolTipOverTruncatedTextPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitPDFDisplayModePreferenceKey), CFSTR("1"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitPDFScaleFactorPreferenceKey), CFSTR("0"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitShouldDisplaySubtitlesPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitShouldDisplayCaptionsPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitShouldDisplayTextDescriptionsPreferenceKey), kCFBooleanFalse);
-
- RetainPtr<CFStringRef> linkBehaviorStringRef = adoptCF(CFStringCreateWithFormat(0, 0, CFSTR("%d"), WebKitEditableLinkDefaultBehavior));
- CFDictionaryAddValue(defaults, CFSTR(WebKitEditableLinkBehaviorPreferenceKey), linkBehaviorStringRef.get());
-
- CFDictionaryAddValue(defaults, CFSTR(WebKitHistoryItemLimitKey), CFSTR("1000"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitHistoryAgeInDaysLimitKey), CFSTR("7"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitIconDatabaseLocationKey), CFSTR(""));
- CFDictionaryAddValue(defaults, CFSTR(WebKitIconDatabaseEnabledPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitFontSmoothingTypePreferenceKey), CFSTR("2"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitFontSmoothingContrastPreferenceKey), CFSTR("2"));
- CFDictionaryAddValue(defaults, CFSTR(WebKitCookieStorageAcceptPolicyPreferenceKey), CFSTR("2"));
- CFDictionaryAddValue(defaults, CFSTR(WebContinuousSpellCheckingEnabledPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebGrammarCheckingEnabledPreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(AllowContinuousSpellCheckingPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitUsesPageCachePreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitLocalStorageDatabasePathPreferenceKey), CFSTR(""));
-
- RetainPtr<CFStringRef> cacheModelRef = adoptCF(CFStringCreateWithFormat(0, 0, CFSTR("%d"), WebCacheModelDocumentViewer));
- CFDictionaryAddValue(defaults, CFSTR(WebKitCacheModelPreferenceKey), cacheModelRef.get());
-
- CFDictionaryAddValue(defaults, CFSTR(WebKitAuthorAndUserStylesEnabledPreferenceKey), kCFBooleanTrue);
- CFDictionaryAddValue(defaults, CFSTR(WebKitApplicationChromeModePreferenceKey), kCFBooleanFalse);
-
- CFDictionaryAddValue(defaults, CFSTR(WebKitOfflineWebApplicationCacheEnabledPreferenceKey), kCFBooleanFalse);
-
- CFDictionaryAddValue(defaults, CFSTR(WebKitPaintNativeControlsPreferenceKey), kCFBooleanTrue);
-
- CFDictionaryAddValue(defaults, CFSTR(WebKitUseHighResolutionTimersPreferenceKey), kCFBooleanTrue);
-
- CFDictionaryAddValue(defaults, CFSTR(WebKitAcceleratedCompositingEnabledPreferenceKey), kCFBooleanFalse);
-
- CFDictionaryAddValue(defaults, CFSTR(WebKitShowDebugBordersPreferenceKey), kCFBooleanFalse);
-
- CFDictionaryAddValue(defaults, CFSTR(WebKitDNSPrefetchingEnabledPreferenceKey), kCFBooleanFalse);
-
- CFDictionaryAddValue(defaults, CFSTR(WebKitHyperlinkAuditingEnabledPreferenceKey), kCFBooleanTrue);
-
- CFDictionaryAddValue(defaults, CFSTR(WebKitMediaPlaybackRequiresUserGesturePreferenceKey), kCFBooleanFalse);
- CFDictionaryAddValue(defaults, CFSTR(WebKitMediaPlaybackAllowsInlinePreferenceKey), kCFBooleanTrue);
-
- CFDictionaryAddValue(defaults, CFSTR(WebKitRequestAnimationFrameEnabledPreferenceKey), kCFBooleanTrue);
-
- defaultSettings = defaults;
-}
-
-RetainPtr<CFPropertyListRef> WebPreferences::valueForKey(CFStringRef key)
-{
- RetainPtr<CFPropertyListRef> value = CFDictionaryGetValue(m_privatePrefs.get(), key);
- if (value)
- return value;
-
- value = adoptCF(CFPreferencesCopyAppValue(key, kCFPreferencesCurrentApplication));
- if (value)
- return value;
-
- return CFDictionaryGetValue(defaultSettings, key);
-}
-
-void WebPreferences::setValueForKey(CFStringRef key, CFPropertyListRef value)
-{
- CFDictionarySetValue(m_privatePrefs.get(), key, value);
- if (m_autoSaves) {
- CFPreferencesSetAppValue(key, value, kCFPreferencesCurrentApplication);
- save();
- }
-}
-
-BSTR WebPreferences::stringValueForKey(CFStringRef key)
-{
- RetainPtr<CFPropertyListRef> value = valueForKey(key);
-
- if (!value || (CFGetTypeID(value.get()) != CFStringGetTypeID()))
- return 0;
-
- CFStringRef str = static_cast<CFStringRef>(value.get());
-
- CFIndex length = CFStringGetLength(str);
- const UniChar* uniChars = CFStringGetCharactersPtr(str);
- if (uniChars)
- return SysAllocStringLen((LPCTSTR)uniChars, length);
-
- BSTR bstr = SysAllocStringLen(0, length);
- if (!bstr)
- return 0;
-
- if (!CFStringGetCString(str, (char*)bstr, (length+1)*sizeof(WCHAR), kCFStringEncodingUTF16)) {
- SysFreeString(bstr);
- return 0;
- }
-
- bstr[length] = 0;
- return bstr;
-}
-
-int WebPreferences::integerValueForKey(CFStringRef key)
-{
- return numberValueForPreferencesValue<int>(valueForKey(key).get());
-}
-
-BOOL WebPreferences::boolValueForKey(CFStringRef key)
-{
- return booleanValueForPreferencesValue(valueForKey(key).get());
-}
-
-float WebPreferences::floatValueForKey(CFStringRef key)
-{
- return numberValueForPreferencesValue<float>(valueForKey(key).get());
-}
-
-LONGLONG WebPreferences::longlongValueForKey(CFStringRef key)
-{
- return numberValueForPreferencesValue<LONGLONG>(valueForKey(key).get());
-}
-
-void WebPreferences::setStringValue(CFStringRef key, LPCTSTR value)
-{
- BString val;
- val.adoptBSTR(stringValueForKey(key));
- if (val && !wcscmp(val, value))
- return;
-
- RetainPtr<CFStringRef> valueRef = adoptCF(CFStringCreateWithCharacters(0, reinterpret_cast<const UniChar*>(value), static_cast<CFIndex>(wcslen(value))));
- setValueForKey(key, valueRef.get());
-
- postPreferencesChangesNotification();
-}
-
-void WebPreferences::setIntegerValue(CFStringRef key, int value)
-{
- if (integerValueForKey(key) == value)
- return;
-
- setValueForKey(key, cfNumber(value).get());
-
- postPreferencesChangesNotification();
-}
-
-void WebPreferences::setFloatValue(CFStringRef key, float value)
-{
- if (floatValueForKey(key) == value)
- return;
-
- setValueForKey(key, cfNumber(value).get());
-
- postPreferencesChangesNotification();
-}
-
-void WebPreferences::setBoolValue(CFStringRef key, BOOL value)
-{
- if (boolValueForKey(key) == value)
- return;
-
- setValueForKey(key, value ? kCFBooleanTrue : kCFBooleanFalse);
-
- postPreferencesChangesNotification();
-}
-
-void WebPreferences::setLongLongValue(CFStringRef key, LONGLONG value)
-{
- if (longlongValueForKey(key) == value)
- return;
-
- setValueForKey(key, cfNumber(value).get());
-
- postPreferencesChangesNotification();
-}
-
-BSTR WebPreferences::webPreferencesChangedNotification()
-{
- static BSTR webPreferencesChangedNotification = SysAllocString(WebPreferencesChangedNotification);
- return webPreferencesChangedNotification;
-}
-
-BSTR WebPreferences::webPreferencesRemovedNotification()
-{
- static BSTR webPreferencesRemovedNotification = SysAllocString(WebPreferencesRemovedNotification);
- return webPreferencesRemovedNotification;
-}
-
-void WebPreferences::save()
-{
- CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication);
-}
-
-void WebPreferences::load()
-{
- initializeDefaultSettings();
-
- m_privatePrefs = adoptCF(CFDictionaryCreateMutable(0, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks));
-
- migrateWebKitPreferencesToCFPreferences();
-}
-
-void WebPreferences::migrateWebKitPreferencesToCFPreferences()
-{
- CFStringRef didMigrateKey = CFSTR(WebKitDidMigrateWebKitPreferencesToCFPreferencesPreferenceKey);
- if (boolValueForKey(didMigrateKey))
- return;
- bool oldValue = m_autoSaves;
- m_autoSaves = true;
- setBoolValue(didMigrateKey, TRUE);
- m_autoSaves = oldValue;
-
- WTF::CString path = oldPreferencesPath().utf8();
-
- RetainPtr<CFURLRef> urlRef = adoptCF(CFURLCreateFromFileSystemRepresentation(0, reinterpret_cast<const UInt8*>(path.data()), path.length(), false));
- if (!urlRef)
- return;
-
- RetainPtr<CFReadStreamRef> stream = adoptCF(CFReadStreamCreateWithFile(0, urlRef.get()));
- if (!stream)
- return;
-
- if (!CFReadStreamOpen(stream.get()))
- return;
-
- CFPropertyListFormat format = kCFPropertyListBinaryFormat_v1_0 | kCFPropertyListXMLFormat_v1_0;
- RetainPtr<CFPropertyListRef> plist = adoptCF(CFPropertyListCreateFromStream(0, stream.get(), 0, kCFPropertyListMutableContainersAndLeaves, &format, 0));
- CFReadStreamClose(stream.get());
-
- if (!plist || CFGetTypeID(plist.get()) != CFDictionaryGetTypeID())
- return;
-
- copyWebKitPreferencesToCFPreferences(static_cast<CFDictionaryRef>(plist.get()));
-
- deleteFile(oldPreferencesPath());
-}
-
-void WebPreferences::copyWebKitPreferencesToCFPreferences(CFDictionaryRef dict)
-{
- ASSERT_ARG(dict, dict);
-
- int count = CFDictionaryGetCount(dict);
- if (count <= 0)
- return;
-
- CFStringRef didRemoveDefaultsKey = CFSTR(WebKitDidMigrateDefaultSettingsFromSafari3BetaPreferenceKey);
- bool omitDefaults = !booleanValueForPreferencesValue(CFDictionaryGetValue(dict, didRemoveDefaultsKey));
-
- OwnArrayPtr<CFTypeRef> keys = adoptArrayPtr(new CFTypeRef[count]);
- OwnArrayPtr<CFTypeRef> values = adoptArrayPtr(new CFTypeRef[count]);
- CFDictionaryGetKeysAndValues(dict, keys.get(), values.get());
-
- for (int i = 0; i < count; ++i) {
- if (!keys[i] || !values[i] || CFGetTypeID(keys[i]) != CFStringGetTypeID())
- continue;
-
- if (omitDefaults) {
- CFTypeRef defaultValue = CFDictionaryGetValue(defaultSettings, keys[i]);
- if (defaultValue && CFEqual(defaultValue, values[i]))
- continue;
- }
-
- setValueForKey(static_cast<CFStringRef>(keys[i]), values[i]);
- }
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebPreferences::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebPreferences*>(this);
- else if (IsEqualGUID(riid, IID_IWebPreferences))
- *ppvObject = static_cast<IWebPreferences*>(this);
- else if (IsEqualGUID(riid, IID_IWebPreferencesPrivate))
- *ppvObject = static_cast<IWebPreferencesPrivate*>(this);
- else if (IsEqualGUID(riid, CLSID_WebPreferences))
- *ppvObject = this;
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebPreferences::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebPreferences::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebPreferences ------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebPreferences::standardPreferences(
- /* [retval][out] */ IWebPreferences** standardPreferences)
-{
- if (!standardPreferences)
- return E_POINTER;
- *standardPreferences = sharedStandardPreferences();
- (*standardPreferences)->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::initWithIdentifier(
- /* [in] */ BSTR anIdentifier,
- /* [retval][out] */ IWebPreferences** preferences)
-{
- WebPreferences *instance = getInstanceForIdentifier(anIdentifier);
- if (instance) {
- *preferences = instance;
- instance->AddRef();
- return S_OK;
- }
-
- load();
-
- *preferences = this;
- AddRef();
-
- if (anIdentifier) {
- m_identifier = anIdentifier;
- setInstance(this, m_identifier);
- }
-
- this->postPreferencesChangesNotification();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::identifier(
- /* [retval][out] */ BSTR* ident)
-{
- if (!ident)
- return E_POINTER;
- *ident = m_identifier ? SysAllocString(m_identifier) : 0;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::standardFontFamily(
- /* [retval][out] */ BSTR* family)
-{
- *family = stringValueForKey(CFSTR(WebKitStandardFontPreferenceKey));
- return (*family) ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setStandardFontFamily(
- /* [in] */ BSTR family)
-{
- setStringValue(CFSTR(WebKitStandardFontPreferenceKey), family);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::fixedFontFamily(
- /* [retval][out] */ BSTR* family)
-{
- *family = stringValueForKey(CFSTR(WebKitFixedFontPreferenceKey));
- return (*family) ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setFixedFontFamily(
- /* [in] */ BSTR family)
-{
- setStringValue(CFSTR(WebKitFixedFontPreferenceKey), family);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::serifFontFamily(
- /* [retval][out] */ BSTR* fontFamily)
-{
- *fontFamily = stringValueForKey(CFSTR(WebKitSerifFontPreferenceKey));
- return (*fontFamily) ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setSerifFontFamily(
- /* [in] */ BSTR family)
-{
- setStringValue(CFSTR(WebKitSerifFontPreferenceKey), family);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::sansSerifFontFamily(
- /* [retval][out] */ BSTR* family)
-{
- *family = stringValueForKey(CFSTR(WebKitSansSerifFontPreferenceKey));
- return (*family) ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setSansSerifFontFamily(
- /* [in] */ BSTR family)
-{
- setStringValue(CFSTR(WebKitSansSerifFontPreferenceKey), family);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::cursiveFontFamily(
- /* [retval][out] */ BSTR* family)
-{
- *family = stringValueForKey(CFSTR(WebKitCursiveFontPreferenceKey));
- return (*family) ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setCursiveFontFamily(
- /* [in] */ BSTR family)
-{
- setStringValue(CFSTR(WebKitCursiveFontPreferenceKey), family);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::fantasyFontFamily(
- /* [retval][out] */ BSTR* family)
-{
- *family = stringValueForKey(CFSTR(WebKitFantasyFontPreferenceKey));
- return (*family) ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setFantasyFontFamily(
- /* [in] */ BSTR family)
-{
- setStringValue(CFSTR(WebKitFantasyFontPreferenceKey), family);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::pictographFontFamily(
- /* [retval][out] */ BSTR* family)
-{
- *family = stringValueForKey(CFSTR(WebKitPictographFontPreferenceKey));
- return (*family) ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setPictographFontFamily(
- /* [in] */ BSTR family)
-{
- setStringValue(CFSTR(WebKitPictographFontPreferenceKey), family);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::defaultFontSize(
- /* [retval][out] */ int* fontSize)
-{
- *fontSize = integerValueForKey(CFSTR(WebKitDefaultFontSizePreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setDefaultFontSize(
- /* [in] */ int fontSize)
-{
- setIntegerValue(CFSTR(WebKitDefaultFontSizePreferenceKey), fontSize);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::defaultFixedFontSize(
- /* [retval][out] */ int* fontSize)
-{
- *fontSize = integerValueForKey(CFSTR(WebKitDefaultFixedFontSizePreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setDefaultFixedFontSize(
- /* [in] */ int fontSize)
-{
- setIntegerValue(CFSTR(WebKitDefaultFixedFontSizePreferenceKey), fontSize);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::minimumFontSize(
- /* [retval][out] */ int* fontSize)
-{
- *fontSize = integerValueForKey(CFSTR(WebKitMinimumFontSizePreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setMinimumFontSize(
- /* [in] */ int fontSize)
-{
- setIntegerValue(CFSTR(WebKitMinimumFontSizePreferenceKey), fontSize);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::minimumLogicalFontSize(
- /* [retval][out] */ int* fontSize)
-{
- *fontSize = integerValueForKey(CFSTR(WebKitMinimumLogicalFontSizePreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setMinimumLogicalFontSize(
- /* [in] */ int fontSize)
-{
- setIntegerValue(CFSTR(WebKitMinimumLogicalFontSizePreferenceKey), fontSize);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::defaultTextEncodingName(
- /* [retval][out] */ BSTR* name)
-{
- *name = stringValueForKey(CFSTR(WebKitDefaultTextEncodingNamePreferenceKey));
- return (*name) ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setDefaultTextEncodingName(
- /* [in] */ BSTR name)
-{
- setStringValue(CFSTR(WebKitDefaultTextEncodingNamePreferenceKey), name);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::userStyleSheetEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitUserStyleSheetEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setUserStyleSheetEnabled(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitUserStyleSheetEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::userStyleSheetLocation(
- /* [retval][out] */ BSTR* location)
-{
- *location = stringValueForKey(CFSTR(WebKitUserStyleSheetLocationPreferenceKey));
- return (*location) ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setUserStyleSheetLocation(
- /* [in] */ BSTR location)
-{
- setStringValue(CFSTR(WebKitUserStyleSheetLocationPreferenceKey), location);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::isJavaEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitJavaEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setJavaEnabled(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitJavaEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::isJavaScriptEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitJavaScriptEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setJavaScriptEnabled(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitJavaScriptEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::isWebSecurityEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitWebSecurityEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setWebSecurityEnabled(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitWebSecurityEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::allowUniversalAccessFromFileURLs(
- /* [retval][out] */ BOOL* allowAccess)
-{
- *allowAccess = boolValueForKey(CFSTR(WebKitAllowUniversalAccessFromFileURLsPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setAllowUniversalAccessFromFileURLs(
- /* [in] */ BOOL allowAccess)
-{
- setBoolValue(CFSTR(WebKitAllowUniversalAccessFromFileURLsPreferenceKey), allowAccess);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::allowFileAccessFromFileURLs(
- /* [retval][out] */ BOOL* allowAccess)
-{
- *allowAccess = boolValueForKey(CFSTR(WebKitAllowFileAccessFromFileURLsPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setAllowFileAccessFromFileURLs(
- /* [in] */ BOOL allowAccess)
-{
- setBoolValue(CFSTR(WebKitAllowFileAccessFromFileURLsPreferenceKey), allowAccess);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::javaScriptCanAccessClipboard(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitJavaScriptCanAccessClipboardPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setJavaScriptCanAccessClipboard(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitJavaScriptCanAccessClipboardPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::isXSSAuditorEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitXSSAuditorEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setXSSAuditorEnabled(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitXSSAuditorEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::isFrameFlatteningEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitFrameFlatteningEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setFrameFlatteningEnabled(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitFrameFlatteningEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::javaScriptCanOpenWindowsAutomatically(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitJavaScriptCanOpenWindowsAutomaticallyPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setJavaScriptCanOpenWindowsAutomatically(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitJavaScriptCanOpenWindowsAutomaticallyPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::arePlugInsEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitPluginsEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setPlugInsEnabled(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitPluginsEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::isCSSRegionsEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitCSSRegionsEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setCSSRegionsEnabled(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitCSSRegionsEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::allowsAnimatedImages(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitAllowAnimatedImagesPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setAllowsAnimatedImages(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitAllowAnimatedImagesPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::allowAnimatedImageLooping(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitAllowAnimatedImageLoopingPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setAllowAnimatedImageLooping(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitAllowAnimatedImageLoopingPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setLoadsImagesAutomatically(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitDisplayImagesKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::loadsImagesAutomatically(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitDisplayImagesKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setLoadsSiteIconsIgnoringImageLoadingPreference(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitLoadSiteIconsKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::loadsSiteIconsIgnoringImageLoadingPreference(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitLoadSiteIconsKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setHixie76WebSocketProtocolEnabled(
- /* [in] */ BOOL enabled)
-{
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::hixie76WebSocketProtocolEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = false;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setMediaPlaybackRequiresUserGesture(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitMediaPlaybackRequiresUserGesturePreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::mediaPlaybackRequiresUserGesture(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitMediaPlaybackRequiresUserGesturePreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setMediaPlaybackAllowsInline(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitMediaPlaybackAllowsInlinePreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::mediaPlaybackAllowsInline(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitMediaPlaybackAllowsInlinePreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setAutosaves(
- /* [in] */ BOOL enabled)
-{
- m_autoSaves = !!enabled;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::autosaves(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = m_autoSaves ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setShouldPrintBackgrounds(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitShouldPrintBackgroundsPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::shouldPrintBackgrounds(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitShouldPrintBackgroundsPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setPrivateBrowsingEnabled(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitPrivateBrowsingEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::privateBrowsingEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitPrivateBrowsingEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setTabsToLinks(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitTabToLinksPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::tabsToLinks(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitTabToLinksPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setUsesPageCache(
- /* [in] */ BOOL usesPageCache)
-{
- setBoolValue(CFSTR(WebKitUsesPageCachePreferenceKey), usesPageCache);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::usesPageCache(
- /* [retval][out] */ BOOL* usesPageCache)
-{
- *usesPageCache = boolValueForKey(CFSTR(WebKitUsesPageCachePreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::textAreasAreResizable(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitTextAreasAreResizablePreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setTextAreasAreResizable(
- /* [in] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitTextAreasAreResizablePreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT WebPreferences::historyItemLimit(int* limit)
-{
- *limit = integerValueForKey(CFSTR(WebKitHistoryItemLimitKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setHistoryItemLimit(int limit)
-{
- setIntegerValue(CFSTR(WebKitHistoryItemLimitKey), limit);
- return S_OK;
-}
-
-HRESULT WebPreferences::historyAgeInDaysLimit(int* limit)
-{
- *limit = integerValueForKey(CFSTR(WebKitHistoryAgeInDaysLimitKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setHistoryAgeInDaysLimit(int limit)
-{
- setIntegerValue(CFSTR(WebKitHistoryAgeInDaysLimitKey), limit);
- return S_OK;
-}
-
-HRESULT WebPreferences::unused1()
-{
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT WebPreferences::unused2()
-{
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT WebPreferences::iconDatabaseLocation(
- /* [out] */ BSTR* location)
-{
- *location = stringValueForKey(CFSTR(WebKitIconDatabaseLocationKey));
- return (*location) ? S_OK : E_FAIL;
-}
-
-HRESULT WebPreferences::setIconDatabaseLocation(
- /* [in] */ BSTR location)
-{
- setStringValue(CFSTR(WebKitIconDatabaseLocationKey), location);
- return S_OK;
-}
-
-HRESULT WebPreferences::iconDatabaseEnabled(BOOL* enabled)//location)
-{
- *enabled = boolValueForKey(CFSTR(WebKitIconDatabaseEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setIconDatabaseEnabled(BOOL enabled )//location)
-{
- setBoolValue(CFSTR(WebKitIconDatabaseEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::fontSmoothing(
- /* [retval][out] */ FontSmoothingType* smoothingType)
-{
- *smoothingType = (FontSmoothingType) integerValueForKey(CFSTR(WebKitFontSmoothingTypePreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setFontSmoothing(
- /* [in] */ FontSmoothingType smoothingType)
-{
- setIntegerValue(CFSTR(WebKitFontSmoothingTypePreferenceKey), smoothingType);
- if (smoothingType == FontSmoothingTypeWindows)
- smoothingType = FontSmoothingTypeMedium;
-#if USE(CG)
- wkSetFontSmoothingLevel((int)smoothingType);
-#endif
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::fontSmoothingContrast(
- /* [retval][out] */ float* contrast)
-{
- *contrast = floatValueForKey(CFSTR(WebKitFontSmoothingContrastPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setFontSmoothingContrast(
- /* [in] */ float contrast)
-{
- setFloatValue(CFSTR(WebKitFontSmoothingContrastPreferenceKey), contrast);
-#if USE(CG)
- wkSetFontSmoothingContrast(contrast);
-#endif
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::editableLinkBehavior(
- /* [out, retval] */ WebKitEditableLinkBehavior* editableLinkBehavior)
-{
- WebKitEditableLinkBehavior value = (WebKitEditableLinkBehavior) integerValueForKey(CFSTR(WebKitEditableLinkBehaviorPreferenceKey));
- switch (value) {
- case WebKitEditableLinkDefaultBehavior:
- case WebKitEditableLinkAlwaysLive:
- case WebKitEditableLinkOnlyLiveWithShiftKey:
- case WebKitEditableLinkLiveWhenNotFocused:
- case WebKitEditableLinkNeverLive:
- *editableLinkBehavior = value;
- break;
- default: // ensure that a valid result is returned
- *editableLinkBehavior = WebKitEditableLinkDefaultBehavior;
- break;
- }
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setEditableLinkBehavior(
- /* [in] */ WebKitEditableLinkBehavior behavior)
-{
- setIntegerValue(CFSTR(WebKitEditableLinkBehaviorPreferenceKey), behavior);
- return S_OK;
-}
-
-HRESULT WebPreferences::unused5()
-{
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT WebPreferences::unused6()
-{
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::hyperlinkAuditingEnabled(
- /* [in] */ BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitHyperlinkAuditingEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setHyperlinkAuditingEnabled(
- /* [retval][out] */ BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitHyperlinkAuditingEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::cookieStorageAcceptPolicy(
- /* [retval][out] */ WebKitCookieStorageAcceptPolicy *acceptPolicy )
-{
- if (!acceptPolicy)
- return E_POINTER;
-
- *acceptPolicy = (WebKitCookieStorageAcceptPolicy)integerValueForKey(CFSTR(WebKitCookieStorageAcceptPolicyPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setCookieStorageAcceptPolicy(
- /* [in] */ WebKitCookieStorageAcceptPolicy acceptPolicy)
-{
- setIntegerValue(CFSTR(WebKitCookieStorageAcceptPolicyPreferenceKey), acceptPolicy);
- return S_OK;
-}
-
-
-HRESULT WebPreferences::continuousSpellCheckingEnabled(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebContinuousSpellCheckingEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setContinuousSpellCheckingEnabled(BOOL enabled)
-{
- setBoolValue(CFSTR(WebContinuousSpellCheckingEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT WebPreferences::grammarCheckingEnabled(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebGrammarCheckingEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setGrammarCheckingEnabled(BOOL enabled)
-{
- setBoolValue(CFSTR(WebGrammarCheckingEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT WebPreferences::allowContinuousSpellChecking(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(AllowContinuousSpellCheckingPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setAllowContinuousSpellChecking(BOOL enabled)
-{
- setBoolValue(CFSTR(AllowContinuousSpellCheckingPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT WebPreferences::areSeamlessIFramesEnabled(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(SeamlessIFramesPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setSeamlessIFramesEnabled(BOOL enabled)
-{
- setBoolValue(CFSTR(SeamlessIFramesPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT WebPreferences::isDOMPasteAllowed(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitDOMPasteAllowedPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setDOMPasteAllowed(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitDOMPasteAllowedPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT WebPreferences::cacheModel(WebCacheModel* cacheModel)
-{
- if (!cacheModel)
- return E_POINTER;
-
- *cacheModel = (WebCacheModel)integerValueForKey(CFSTR(WebKitCacheModelPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setCacheModel(WebCacheModel cacheModel)
-{
- setIntegerValue(CFSTR(WebKitCacheModelPreferenceKey), cacheModel);
- return S_OK;
-}
-
-HRESULT WebPreferences::unused3()
-{
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT WebPreferences::unused4()
-{
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT WebPreferences::shouldPaintNativeControls(BOOL* shouldPaint)
-{
- *shouldPaint = boolValueForKey(CFSTR(WebKitPaintNativeControlsPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setShouldPaintNativeControls(BOOL shouldPaint)
-{
- setBoolValue(CFSTR(WebKitPaintNativeControlsPreferenceKey), shouldPaint);
- return S_OK;
-}
-
-HRESULT WebPreferences::setDeveloperExtrasEnabled(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitDeveloperExtrasEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT WebPreferences::developerExtrasEnabled(BOOL* enabled)
-{
- if (!enabled)
- return E_POINTER;
-
- *enabled = boolValueForKey(CFSTR(WebKitDeveloperExtrasEnabledPreferenceKey));
- return S_OK;
-}
-
-bool WebPreferences::developerExtrasDisabledByOverride()
-{
- return !!boolValueForKey(CFSTR(DisableWebKitDeveloperExtrasPreferenceKey));
-}
-
-HRESULT WebPreferences::setAutomaticallyDetectsCacheModel(BOOL automaticallyDetectsCacheModel)
-{
- m_automaticallyDetectsCacheModel = !!automaticallyDetectsCacheModel;
- return S_OK;
-}
-
-HRESULT WebPreferences::automaticallyDetectsCacheModel(BOOL* automaticallyDetectsCacheModel)
-{
- if (!automaticallyDetectsCacheModel)
- return E_POINTER;
-
- *automaticallyDetectsCacheModel = m_automaticallyDetectsCacheModel;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setAuthorAndUserStylesEnabled(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitAuthorAndUserStylesEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::authorAndUserStylesEnabled(BOOL* enabled)
-{
- if (!enabled)
- return E_POINTER;
-
- *enabled = boolValueForKey(CFSTR(WebKitAuthorAndUserStylesEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::inApplicationChromeMode(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitApplicationChromeModePreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setApplicationChromeMode(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitApplicationChromeModePreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setOfflineWebApplicationCacheEnabled(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitOfflineWebApplicationCacheEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::offlineWebApplicationCacheEnabled(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitOfflineWebApplicationCacheEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setDatabasesEnabled(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitDatabasesEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::databasesEnabled(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitDatabasesEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setLocalStorageEnabled(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitLocalStorageEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::localStorageEnabled(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitLocalStorageEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::localStorageDatabasePath(BSTR* location)
-{
- *location = stringValueForKey(CFSTR(WebKitLocalStorageDatabasePathPreferenceKey));
- return (*location) ? S_OK : E_FAIL;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setLocalStorageDatabasePath(BSTR location)
-{
- setStringValue(CFSTR(WebKitLocalStorageDatabasePathPreferenceKey), location);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setExperimentalNotificationsEnabled(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitExperimentalNotificationsEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::experimentalNotificationsEnabled(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitExperimentalNotificationsEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setZoomsTextOnly(BOOL zoomsTextOnly)
-{
- setBoolValue(CFSTR(WebKitZoomsTextOnlyPreferenceKey), zoomsTextOnly);
- return S_OK;
-}
-
-HRESULT WebPreferences::zoomsTextOnly(BOOL* zoomsTextOnly)
-{
- *zoomsTextOnly = boolValueForKey(CFSTR(WebKitZoomsTextOnlyPreferenceKey));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::setShouldUseHighResolutionTimers(BOOL useHighResolutionTimers)
-{
- setBoolValue(CFSTR(WebKitUseHighResolutionTimersPreferenceKey), useHighResolutionTimers);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebPreferences::shouldUseHighResolutionTimers(BOOL* useHighResolutionTimers)
-{
- *useHighResolutionTimers = boolValueForKey(CFSTR(WebKitUseHighResolutionTimersPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setPreferenceForTest(BSTR key, BSTR value)
-{
- if (!SysStringLen(key) || !SysStringLen(value))
- return E_FAIL;
- RetainPtr<CFStringRef> keyString = adoptCF(CFStringCreateWithCharacters(0, reinterpret_cast<UniChar*>(key), SysStringLen(key)));
- RetainPtr<CFStringRef> valueString = adoptCF(CFStringCreateWithCharacters(0, reinterpret_cast<UniChar*>(value), SysStringLen(value)));
- setValueForKey(keyString.get(), valueString.get());
- postPreferencesChangesNotification();
- return S_OK;
-}
-
-HRESULT WebPreferences::setAcceleratedCompositingEnabled(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitAcceleratedCompositingEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT WebPreferences::acceleratedCompositingEnabled(BOOL* enabled)
-{
-#if USE(ACCELERATED_COMPOSITING)
- *enabled = CACFLayerTreeHost::acceleratedCompositingAvailable() && boolValueForKey(CFSTR(WebKitAcceleratedCompositingEnabledPreferenceKey));
-#else
- *enabled = FALSE;
-#endif
- return S_OK;
-}
-
-HRESULT WebPreferences::showDebugBorders(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitShowDebugBordersPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setShowDebugBorders(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitShowDebugBordersPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT WebPreferences::showRepaintCounter(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitShowRepaintCounterPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setShowRepaintCounter(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitShowRepaintCounterPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT WebPreferences::setCustomDragCursorsEnabled(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitCustomDragCursorsEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT WebPreferences::customDragCursorsEnabled(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitCustomDragCursorsEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setDNSPrefetchingEnabled(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitDNSPrefetchingEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT WebPreferences::isDNSPrefetchingEnabled(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitDNSPrefetchingEnabledPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::isFullScreenEnabled(BOOL* enabled)
-{
-#if ENABLE(FULLSCREEN_API)
- if (!enabled)
- return E_POINTER;
-
- *enabled = boolValueForKey(CFSTR(WebKitFullScreenEnabledPreferenceKey));
- return S_OK;
-#else
- return E_NOTIMPL;
-#endif
-}
-
-HRESULT WebPreferences::setFullScreenEnabled(BOOL enabled)
-{
-#if ENABLE(FULLSCREEN_API)
- setBoolValue(CFSTR(WebKitFullScreenEnabledPreferenceKey), enabled);
- return S_OK;
-#else
- return E_NOTIMPL;
-#endif
-}
-
-HRESULT WebPreferences::avFoundationEnabled(BOOL* enabled)
-{
-#if USE(AVFOUNDATION)
- if (!enabled)
- return E_POINTER;
-
- *enabled = boolValueForKey(CFSTR(WebKitAVFoundationEnabledPreferenceKey));
- return S_OK;
-#else
- return E_NOTIMPL;
-#endif
-}
-
-HRESULT WebPreferences::setAVFoundationEnabled(BOOL enabled)
-{
-#if USE(AVFOUNDATION)
- setBoolValue(CFSTR(WebKitAVFoundationEnabledPreferenceKey), enabled);
- return S_OK;
-#else
- return E_NOTIMPL;
-#endif
-}
-
-HRESULT WebPreferences::showsToolTipOverTruncatedText(BOOL* showsToolTip)
-{
- if (!showsToolTip)
- return E_POINTER;
-
- *showsToolTip = boolValueForKey(CFSTR(WebKitShowsToolTipOverTruncatedTextPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setShowsToolTipOverTruncatedText(BOOL showsToolTip)
-{
- setBoolValue(CFSTR(WebKitShowsToolTipOverTruncatedTextPreferenceKey), showsToolTip);
- return S_OK;
-}
-
-HRESULT WebPreferences::shouldInvertColors(BOOL* shouldInvertColors)
-{
- if (!shouldInvertColors)
- return E_POINTER;
-
- *shouldInvertColors = boolValueForKey(CFSTR(WebKitShouldInvertColorsPreferenceKey));
- return S_OK;
-}
-
-HRESULT WebPreferences::setShouldInvertColors(BOOL shouldInvertColors)
-{
- setBoolValue(CFSTR(WebKitShouldInvertColorsPreferenceKey), shouldInvertColors);
- return S_OK;
-}
-
-void WebPreferences::willAddToWebView()
-{
- ++m_numWebViews;
-}
-
-void WebPreferences::didRemoveFromWebView()
-{
- ASSERT(m_numWebViews);
- if (--m_numWebViews == 0) {
- IWebNotificationCenter* nc = WebNotificationCenter::defaultCenterInternal();
- nc->postNotificationName(webPreferencesRemovedNotification(), static_cast<IWebPreferences*>(this), 0);
- }
-}
-
-HRESULT WebPreferences::shouldDisplaySubtitles(BOOL* enabled)
-{
-#if ENABLE(VIDEO_TRACK)
- if (!enabled)
- return E_POINTER;
-
- *enabled = boolValueForKey(CFSTR(WebKitShouldDisplaySubtitlesPreferenceKey));
- return S_OK;
-#else
- return E_NOTIMPL;
-#endif
-}
-
-HRESULT WebPreferences::setShouldDisplaySubtitles(BOOL enabled)
-{
-#if ENABLE(VIDEO_TRACK)
- setBoolValue(CFSTR(WebKitShouldDisplaySubtitlesPreferenceKey), enabled);
- return S_OK;
-#else
- return E_NOTIMPL;
-#endif
-}
-
-HRESULT WebPreferences::shouldDisplayCaptions(BOOL* enabled)
-{
-#if ENABLE(VIDEO_TRACK)
- if (!enabled)
- return E_POINTER;
-
- *enabled = boolValueForKey(CFSTR(WebKitShouldDisplayCaptionsPreferenceKey));
- return S_OK;
-#else
- return E_NOTIMPL;
-#endif
-}
-
-HRESULT WebPreferences::setShouldDisplayCaptions(BOOL enabled)
-{
-#if ENABLE(VIDEO_TRACK)
- setBoolValue(CFSTR(WebKitShouldDisplayCaptionsPreferenceKey), enabled);
- return S_OK;
-#else
- return E_NOTIMPL;
-#endif
-}
-
-HRESULT WebPreferences::shouldDisplayTextDescriptions(BOOL* enabled)
-{
-#if ENABLE(VIDEO_TRACK)
- if (!enabled)
- return E_POINTER;
-
- *enabled = boolValueForKey(CFSTR(WebKitShouldDisplayTextDescriptionsPreferenceKey));
- return S_OK;
-#else
- return E_NOTIMPL;
-#endif
-}
-
-HRESULT WebPreferences::setShouldDisplayTextDescriptions(BOOL enabled)
-{
-#if ENABLE(VIDEO_TRACK)
- setBoolValue(CFSTR(WebKitShouldDisplayTextDescriptionsPreferenceKey), enabled);
- return S_OK;
-#else
- return E_NOTIMPL;
-#endif
-}
-
-HRESULT WebPreferences::setRequestAnimationFrameEnabled(BOOL enabled)
-{
- setBoolValue(CFSTR(WebKitRequestAnimationFrameEnabledPreferenceKey), enabled);
- return S_OK;
-}
-
-HRESULT WebPreferences::requestAnimationFrameEnabled(BOOL* enabled)
-{
- *enabled = boolValueForKey(CFSTR(WebKitRequestAnimationFrameEnabledPreferenceKey));
- return S_OK;
-}
-
diff --git a/Source/WebKit/win/WebPreferences.h b/Source/WebKit/win/WebPreferences.h
deleted file mode 100644
index 7eff57b6e..000000000
--- a/Source/WebKit/win/WebPreferences.h
+++ /dev/null
@@ -1,536 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009 Apple 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 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 WebPreferences_H
-#define WebPreferences_H
-
-#include "WebKit.h"
-#include <CoreFoundation/CoreFoundation.h>
-#include <WebCore/BString.h>
-#include <wtf/RetainPtr.h>
-
-class WebPreferences : public IWebPreferences, public IWebPreferencesPrivate {
-public:
- static WebPreferences* createInstance();
-protected:
- WebPreferences();
- ~WebPreferences();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebPreferences
- virtual HRESULT STDMETHODCALLTYPE standardPreferences(
- /* [retval][out] */ IWebPreferences** standardPreferences);
-
- virtual HRESULT STDMETHODCALLTYPE initWithIdentifier(
- /* [in] */ BSTR anIdentifier,
- /* [retval][out] */ IWebPreferences** preferences);
-
- virtual HRESULT STDMETHODCALLTYPE identifier(
- /* [retval][out] */ BSTR* ident);
-
- virtual HRESULT STDMETHODCALLTYPE standardFontFamily(
- /* [retval][out] */ BSTR* family);
-
- virtual HRESULT STDMETHODCALLTYPE setStandardFontFamily(
- /* [in] */ BSTR family);
-
- virtual HRESULT STDMETHODCALLTYPE fixedFontFamily(
- /* [retval][out] */ BSTR* family);
-
- virtual HRESULT STDMETHODCALLTYPE setFixedFontFamily(
- /* [in] */ BSTR family);
-
- virtual HRESULT STDMETHODCALLTYPE serifFontFamily(
- /* [retval][out] */ BSTR* fontFamily);
-
- virtual HRESULT STDMETHODCALLTYPE setSerifFontFamily(
- /* [in] */ BSTR family);
-
- virtual HRESULT STDMETHODCALLTYPE sansSerifFontFamily(
- /* [retval][out] */ BSTR* family);
-
- virtual HRESULT STDMETHODCALLTYPE setSansSerifFontFamily(
- /* [in] */ BSTR family);
-
- virtual HRESULT STDMETHODCALLTYPE cursiveFontFamily(
- /* [retval][out] */ BSTR* family);
-
- virtual HRESULT STDMETHODCALLTYPE setCursiveFontFamily(
- /* [in] */ BSTR family);
-
- virtual HRESULT STDMETHODCALLTYPE fantasyFontFamily(
- /* [retval][out] */ BSTR* family);
-
- virtual HRESULT STDMETHODCALLTYPE setFantasyFontFamily(
- /* [in] */ BSTR family);
-
- virtual HRESULT STDMETHODCALLTYPE pictographFontFamily(
- /* [retval][out] */ BSTR* family);
-
- virtual HRESULT STDMETHODCALLTYPE setPictographFontFamily(
- /* [in] */ BSTR family);
-
- virtual HRESULT STDMETHODCALLTYPE defaultFontSize(
- /* [retval][out] */ int* fontSize);
-
- virtual HRESULT STDMETHODCALLTYPE setDefaultFontSize(
- /* [in] */ int fontSize);
-
- virtual HRESULT STDMETHODCALLTYPE defaultFixedFontSize(
- /* [retval][out] */ int* fontSize);
-
- virtual HRESULT STDMETHODCALLTYPE setDefaultFixedFontSize(
- /* [in] */ int fontSize);
-
- virtual HRESULT STDMETHODCALLTYPE minimumFontSize(
- /* [retval][out] */ int* fontSize);
-
- virtual HRESULT STDMETHODCALLTYPE setMinimumFontSize(
- /* [in] */ int fontSize);
-
- virtual HRESULT STDMETHODCALLTYPE minimumLogicalFontSize(
- /* [retval][out] */ int* fontSize);
-
- virtual HRESULT STDMETHODCALLTYPE setMinimumLogicalFontSize(
- /* [in] */ int fontSize);
-
- virtual HRESULT STDMETHODCALLTYPE defaultTextEncodingName(
- /* [retval][out] */ BSTR* name);
-
- virtual HRESULT STDMETHODCALLTYPE setDefaultTextEncodingName(
- /* [in] */ BSTR name);
-
- virtual HRESULT STDMETHODCALLTYPE userStyleSheetEnabled(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setUserStyleSheetEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE userStyleSheetLocation(
- /* [retval][out] */ BSTR* location);
-
- virtual HRESULT STDMETHODCALLTYPE setUserStyleSheetLocation(
- /* [in] */ BSTR location);
-
- virtual HRESULT STDMETHODCALLTYPE isJavaEnabled(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setJavaEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE isJavaScriptEnabled(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setJavaScriptEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE javaScriptCanOpenWindowsAutomatically(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setJavaScriptCanOpenWindowsAutomatically(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE arePlugInsEnabled(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setPlugInsEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE isCSSRegionsEnabled(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setCSSRegionsEnabled(
- /* [in] */ BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE areSeamlessIFramesEnabled(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setSeamlessIFramesEnabled(
- /* [in] */ BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE allowsAnimatedImages(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setAllowsAnimatedImages(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE allowAnimatedImageLooping(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setAllowAnimatedImageLooping(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setLoadsImagesAutomatically(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE loadsImagesAutomatically(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setAutosaves(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE autosaves(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setShouldPrintBackgrounds(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE shouldPrintBackgrounds(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setPrivateBrowsingEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE privateBrowsingEnabled(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setTabsToLinks(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE tabsToLinks(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE textAreasAreResizable(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setTextAreasAreResizable(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE usesPageCache(
- /* [retval][out] */ BOOL *usesPageCache);
-
- virtual HRESULT STDMETHODCALLTYPE setUsesPageCache(
- /* [in] */ BOOL usesPageCache);
-
- virtual HRESULT STDMETHODCALLTYPE unused1();
- virtual HRESULT STDMETHODCALLTYPE unused2();
-
- virtual HRESULT STDMETHODCALLTYPE iconDatabaseLocation(
- /* [retval][out] */ BSTR* location);
-
- virtual HRESULT STDMETHODCALLTYPE setIconDatabaseLocation(
- /* [in] */ BSTR location);
-
- virtual HRESULT STDMETHODCALLTYPE iconDatabaseEnabled(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setIconDatabaseEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE fontSmoothing(
- /* [retval][out] */ FontSmoothingType* smoothingType);
-
- virtual HRESULT STDMETHODCALLTYPE setFontSmoothing(
- /* [in] */ FontSmoothingType smoothingType);
-
- virtual HRESULT STDMETHODCALLTYPE editableLinkBehavior(
- /* [retval][out] */ WebKitEditableLinkBehavior* behavior);
-
- virtual HRESULT STDMETHODCALLTYPE setEditableLinkBehavior(
- /* [in] */ WebKitEditableLinkBehavior behavior);
-
- virtual HRESULT STDMETHODCALLTYPE unused5();
- virtual HRESULT STDMETHODCALLTYPE unused6();
-
- virtual HRESULT STDMETHODCALLTYPE cookieStorageAcceptPolicy(
- /* [retval][out] */ WebKitCookieStorageAcceptPolicy *acceptPolicy);
-
- virtual HRESULT STDMETHODCALLTYPE setCookieStorageAcceptPolicy(
- /* [in] */ WebKitCookieStorageAcceptPolicy acceptPolicy);
-
- virtual HRESULT STDMETHODCALLTYPE continuousSpellCheckingEnabled(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setContinuousSpellCheckingEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE grammarCheckingEnabled(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setGrammarCheckingEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE allowContinuousSpellChecking(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setAllowContinuousSpellChecking(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE isDOMPasteAllowed(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setDOMPasteAllowed(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE cacheModel(
- /* [retval][out] */ WebCacheModel* cacheModel);
-
- virtual HRESULT STDMETHODCALLTYPE setCacheModel(
- /* [in] */ WebCacheModel cacheModel);
-
- virtual HRESULT STDMETHODCALLTYPE unused3();
- virtual HRESULT STDMETHODCALLTYPE unused4();
-
- virtual HRESULT STDMETHODCALLTYPE setAVFoundationEnabled(
- /* [in] */ BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE avFoundationEnabled(
- /* [retval][out] */ BOOL*);
-
- virtual HRESULT STDMETHODCALLTYPE setShouldDisplaySubtitles(
- /* [in] */ BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE shouldDisplaySubtitles(
- /* [retval][out] */ BOOL*);
-
- virtual HRESULT STDMETHODCALLTYPE setShouldDisplayCaptions(
- /* [in] */ BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE shouldDisplayCaptions(
- /* [retval][out] */ BOOL*);
-
- virtual HRESULT STDMETHODCALLTYPE setShouldDisplayTextDescriptions(
- /* [in] */ BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE shouldDisplayTextDescriptions(
- /* [retval][out] */ BOOL*);
-
- // IWebPreferencesPrivate
- virtual HRESULT STDMETHODCALLTYPE setDeveloperExtrasEnabled(
- /* [in] */ BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE developerExtrasEnabled(
- /* [retval][out] */ BOOL*);
-
- virtual HRESULT STDMETHODCALLTYPE setAutomaticallyDetectsCacheModel(
- /* [in] */ BOOL automaticallyDetectsCacheModel);
-
- virtual HRESULT STDMETHODCALLTYPE automaticallyDetectsCacheModel(
- /* [out, retval] */ BOOL* automaticallyDetectsCacheModel);
-
- virtual HRESULT STDMETHODCALLTYPE setAuthorAndUserStylesEnabled(BOOL);
- virtual HRESULT STDMETHODCALLTYPE authorAndUserStylesEnabled(BOOL*);
-
- virtual HRESULT STDMETHODCALLTYPE inApplicationChromeMode(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setApplicationChromeMode(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setOfflineWebApplicationCacheEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE offlineWebApplicationCacheEnabled(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setDatabasesEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE databasesEnabled(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setLocalStorageEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE localStorageEnabled(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE localStorageDatabasePath(
- /* [out, retval] */ BSTR* location);
-
- virtual HRESULT STDMETHODCALLTYPE setLocalStorageDatabasePath(
- /* [in] */ BSTR location);
-
- virtual HRESULT STDMETHODCALLTYPE experimentalNotificationsEnabled(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setExperimentalNotificationsEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setShouldPaintNativeControls(
- /* [in] */ BOOL shouldPaint);
-
- virtual HRESULT STDMETHODCALLTYPE shouldPaintNativeControls(
- /* [retval][out] */ BOOL *shouldPaint);
-
- virtual HRESULT STDMETHODCALLTYPE setZoomsTextOnly(
- /* [retval][out] */ BOOL zoomsTextOnly);
-
- virtual HRESULT STDMETHODCALLTYPE zoomsTextOnly(
- /* [retval][out] */ BOOL *zoomsTextOnly);
-
- virtual HRESULT STDMETHODCALLTYPE fontSmoothingContrast(
- /* [retval][out] */ float* contrast);
-
- virtual HRESULT STDMETHODCALLTYPE setFontSmoothingContrast(
- /* [in] */ float contrast);
-
- virtual HRESULT STDMETHODCALLTYPE isWebSecurityEnabled(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setWebSecurityEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE allowUniversalAccessFromFileURLs(
- /* [retval][out] */ BOOL* allowAccess);
-
- virtual HRESULT STDMETHODCALLTYPE setAllowUniversalAccessFromFileURLs(
- /* [in] */ BOOL allowAccess);
-
- virtual HRESULT STDMETHODCALLTYPE allowFileAccessFromFileURLs(
- /* [retval][out] */ BOOL* allowAccess);
-
- virtual HRESULT STDMETHODCALLTYPE setAllowFileAccessFromFileURLs(
- /* [in] */ BOOL allowAccess);
-
- virtual HRESULT STDMETHODCALLTYPE javaScriptCanAccessClipboard(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setJavaScriptCanAccessClipboard(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE isXSSAuditorEnabled(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setXSSAuditorEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setShouldUseHighResolutionTimers(
- /* [in] */ BOOL useHighResolutionTimers);
-
- virtual HRESULT STDMETHODCALLTYPE shouldUseHighResolutionTimers(
- /* [retval][out] */ BOOL* useHighResolutionTimers);
-
- virtual HRESULT STDMETHODCALLTYPE isFrameFlatteningEnabled(
- /* [retval][out] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setFrameFlatteningEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setPreferenceForTest(
- /* [in] */ BSTR key,
- /* [in] */ BSTR value);
-
- virtual HRESULT STDMETHODCALLTYPE setAcceleratedCompositingEnabled(BOOL);
- virtual HRESULT STDMETHODCALLTYPE acceleratedCompositingEnabled(BOOL*);
-
- virtual HRESULT STDMETHODCALLTYPE setCustomDragCursorsEnabled(BOOL);
- virtual HRESULT STDMETHODCALLTYPE customDragCursorsEnabled(BOOL*);
-
- virtual HRESULT STDMETHODCALLTYPE setShowDebugBorders(BOOL);
- virtual HRESULT STDMETHODCALLTYPE showDebugBorders(BOOL*);
-
- virtual HRESULT STDMETHODCALLTYPE setShowRepaintCounter(BOOL);
- virtual HRESULT STDMETHODCALLTYPE showRepaintCounter(BOOL*);
-
- virtual HRESULT STDMETHODCALLTYPE setDNSPrefetchingEnabled(BOOL);
- virtual HRESULT STDMETHODCALLTYPE isDNSPrefetchingEnabled(BOOL*);
-
- virtual HRESULT STDMETHODCALLTYPE hyperlinkAuditingEnabled(BOOL*);
- virtual HRESULT STDMETHODCALLTYPE setHyperlinkAuditingEnabled(BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE loadsSiteIconsIgnoringImageLoadingPreference(BOOL*);
- virtual HRESULT STDMETHODCALLTYPE setLoadsSiteIconsIgnoringImageLoadingPreference(BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE setFullScreenEnabled(BOOL);
- virtual HRESULT STDMETHODCALLTYPE isFullScreenEnabled(BOOL*);
-
- virtual HRESULT STDMETHODCALLTYPE hixie76WebSocketProtocolEnabled(BOOL*);
- virtual HRESULT STDMETHODCALLTYPE setHixie76WebSocketProtocolEnabled(BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE mediaPlaybackRequiresUserGesture(BOOL*);
- virtual HRESULT STDMETHODCALLTYPE setMediaPlaybackRequiresUserGesture(BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE mediaPlaybackAllowsInline(BOOL*);
- virtual HRESULT STDMETHODCALLTYPE setMediaPlaybackAllowsInline(BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE showsToolTipOverTruncatedText(BOOL*);
- virtual HRESULT STDMETHODCALLTYPE setShowsToolTipOverTruncatedText(BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE shouldInvertColors(BOOL*);
- virtual HRESULT STDMETHODCALLTYPE setShouldInvertColors(BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE requestAnimationFrameEnabled(BOOL*);
- virtual HRESULT STDMETHODCALLTYPE setRequestAnimationFrameEnabled(BOOL);
-
- // WebPreferences
-
- // This method accesses a different preference key than developerExtrasEnabled.
- // See <rdar://5343767> for the justification.
- bool developerExtrasDisabledByOverride();
-
- static BSTR webPreferencesChangedNotification();
- static BSTR webPreferencesRemovedNotification();
-
- static void setInstance(WebPreferences* instance, BSTR identifier);
- static void removeReferenceForIdentifier(BSTR identifier);
- static WebPreferences* sharedStandardPreferences();
-
- // From WebHistory.h
- HRESULT historyItemLimit(int* limit);
- HRESULT setHistoryItemLimit(int limit);
- HRESULT historyAgeInDaysLimit(int* limit);
- HRESULT setHistoryAgeInDaysLimit(int limit);
-
- void willAddToWebView();
- void didRemoveFromWebView();
-
- HRESULT postPreferencesChangesNotification();
-
-protected:
- void setValueForKey(CFStringRef key, CFPropertyListRef value);
- RetainPtr<CFPropertyListRef> valueForKey(CFStringRef key);
- BSTR stringValueForKey(CFStringRef key);
- int integerValueForKey(CFStringRef key);
- BOOL boolValueForKey(CFStringRef key);
- float floatValueForKey(CFStringRef key);
- LONGLONG longlongValueForKey(CFStringRef key);
- void setStringValue(CFStringRef key, LPCTSTR value);
- void setIntegerValue(CFStringRef key, int value);
- void setBoolValue(CFStringRef key, BOOL value);
- void setFloatValue(CFStringRef key, float value);
- void setLongLongValue(CFStringRef key, LONGLONG value);
- static WebPreferences* getInstanceForIdentifier(BSTR identifier);
- static void initializeDefaultSettings();
- void save();
- void load();
- void migrateWebKitPreferencesToCFPreferences();
- void copyWebKitPreferencesToCFPreferences(CFDictionaryRef);
-
-protected:
- ULONG m_refCount;
- RetainPtr<CFMutableDictionaryRef> m_privatePrefs;
- WebCore::BString m_identifier;
- bool m_autoSaves;
- bool m_automaticallyDetectsCacheModel;
- unsigned m_numWebViews;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebResource.cpp b/Source/WebKit/win/WebResource.cpp
deleted file mode 100644
index ccfd95d4b..000000000
--- a/Source/WebKit/win/WebResource.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebResource.h"
-
-#include "MarshallingHelpers.h"
-#include "MemoryStream.h"
-#include <WebCore/BString.h>
-
-using namespace WebCore;
-
-// WebResource ---------------------------------------------------------------------
-
-WebResource::WebResource(IStream* data, const WebCore::KURL& url, const WTF::String& mimeType, const WTF::String& textEncodingName, const WTF::String& frameName)
- : m_refCount(0)
- , m_data(data)
- , m_url(url)
- , m_mimeType(mimeType)
- , m_textEncodingName(textEncodingName)
- , m_frameName(frameName)
-{
- gClassCount++;
- gClassNameCount.add("WebResource");
-}
-
-WebResource::~WebResource()
-{
- gClassCount--;
- gClassNameCount.remove("WebResource");
-}
-
-WebResource* WebResource::createInstance(PassRefPtr<WebCore::SharedBuffer> data, const WebCore::ResourceResponse& response)
-{
- COMPtr<MemoryStream> memoryStream = MemoryStream::createInstance(data);
-
- WebResource* instance = new WebResource(memoryStream.get(), response.url(), response.mimeType(), response.textEncodingName(), String());
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebResource::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IUnknown*>(this);
- else if (IsEqualGUID(riid, IID_IWebResource))
- *ppvObject = static_cast<IWebResource*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebResource::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebResource::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// WebResource ------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebResource::initWithData(
- /* [in] */ IStream *data,
- /* [in] */ BSTR url,
- /* [in] */ BSTR mimeType,
- /* [in] */ BSTR textEncodingName,
- /* [in] */ BSTR frameName)
-{
- m_data = data;
- m_url = MarshallingHelpers::BSTRToKURL(url);
- m_mimeType = String(mimeType);
- m_textEncodingName = String(textEncodingName);
- m_frameName = String(frameName);
-
- return S_OK;
-}
-
-
-HRESULT STDMETHODCALLTYPE WebResource::data(
- /* [retval][out] */ IStream **data)
-{
- return m_data.copyRefTo(data);
-}
-
-HRESULT STDMETHODCALLTYPE WebResource::URL(
- /* [retval][out] */ BSTR *url)
-{
- if (!url) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *url = BString(String(m_url.string())).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebResource::MIMEType(
- /* [retval][out] */ BSTR *mime)
-{
- if (!mime) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *mime = BString(m_mimeType).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebResource::textEncodingName(
- /* [retval][out] */ BSTR *encodingName)
-{
- if (!encodingName) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *encodingName = BString(m_textEncodingName).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebResource::frameName(
- /* [retval][out] */ BSTR *name)
-{
- if (!name) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *name = BString(m_frameName).release();
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebResource.h b/Source/WebKit/win/WebResource.h
deleted file mode 100644
index d8fb433e1..000000000
--- a/Source/WebKit/win/WebResource.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 WebResource_h
-#define WebResource_h
-
-#include "WebKit.h"
-#include <WebCore/COMPtr.h>
-#include <WebCore/KURL.h>
-#include <WebCore/ResourceResponse.h>
-#include <WebCore/SharedBuffer.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/text/WTFString.h>
-
-class WebResource : public IWebResource {
-public:
- static WebResource* createInstance(PassRefPtr<WebCore::SharedBuffer> data, const WebCore::ResourceResponse& response);
-protected:
- WebResource(IStream* data, const WebCore::KURL& url, const WTF::String& mimeType, const WTF::String& textEncodingName, const WTF::String& frameName);
- ~WebResource();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebResource
- virtual HRESULT STDMETHODCALLTYPE initWithData(
- /* [in] */ IStream *data,
- /* [in] */ BSTR url,
- /* [in] */ BSTR mimeType,
- /* [in] */ BSTR textEncodingName,
- /* [in] */ BSTR frameName);
-
- virtual HRESULT STDMETHODCALLTYPE data(
- /* [retval][out] */ IStream **data);
-
- virtual HRESULT STDMETHODCALLTYPE URL(
- /* [retval][out] */ BSTR *url);
-
- virtual HRESULT STDMETHODCALLTYPE MIMEType(
- /* [retval][out] */ BSTR *mime);
-
- virtual HRESULT STDMETHODCALLTYPE textEncodingName(
- /* [retval][out] */ BSTR *encodingName);
-
- virtual HRESULT STDMETHODCALLTYPE frameName(
- /* [retval][out] */ BSTR *name);
-
-private:
- ULONG m_refCount;
- COMPtr<IStream> m_data;
- WebCore::KURL m_url;
- WTF::String m_mimeType;
- WTF::String m_textEncodingName;
- WTF::String m_frameName;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebScriptObject.cpp b/Source/WebKit/win/WebScriptObject.cpp
deleted file mode 100644
index 9306eb1d3..000000000
--- a/Source/WebKit/win/WebScriptObject.cpp
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebScriptObject.h"
-
-#include "WebKitDLL.h"
-
-#include <wtf/Assertions.h>
-
-// WebScriptObject ------------------------------------------------------------
-
-WebScriptObject::WebScriptObject()
-: m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("WebScriptObject");
-}
-
-WebScriptObject::~WebScriptObject()
-{
- gClassCount--;
- gClassNameCount.remove("WebScriptObject");
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebScriptObject::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebScriptObject*>(this);
- else if (IsEqualGUID(riid, IID_IWebScriptObject))
- *ppvObject = static_cast<IWebScriptObject*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebScriptObject::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebScriptObject::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// WebScriptObject ------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebScriptObject::throwException(
- /* [in] */ BSTR /*exceptionMessage*/,
- /* [retval][out] */ BOOL* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebScriptObject::callWebScriptMethod(
- /* [in] */ BSTR /*name*/,
- /* [size_is][in] */ const VARIANT /*args*/[ ],
- /* [in] */ int /*cArgs*/,
- /* [retval][out] */ VARIANT* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebScriptObject::evaluateWebScript(
- /* [in] */ BSTR /*script*/,
- /* [retval][out] */ VARIANT* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebScriptObject::removeWebScriptKey(
- /* [in] */ BSTR /*name*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebScriptObject::stringRepresentation(
- /* [retval][out] */ BSTR* /*stringRepresentation*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebScriptObject::webScriptValueAtIndex(
- /* [in] */ unsigned int /*index*/,
- /* [retval][out] */ VARIANT* /*result*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebScriptObject::setWebScriptValueAtIndex(
- /* [in] */ unsigned int /*index*/,
- /* [in] */ VARIANT /*val*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebScriptObject::setException(
- /* [in] */ BSTR /*description*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
diff --git a/Source/WebKit/win/WebScriptObject.h b/Source/WebKit/win/WebScriptObject.h
deleted file mode 100644
index 571639373..000000000
--- a/Source/WebKit/win/WebScriptObject.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebScriptObject_H
-#define WebScriptObject_H
-
-#include "WebKit.h"
-
-class WebScriptObject : public IWebScriptObject
-{
-public:
- WebScriptObject();
- virtual ~WebScriptObject();
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebScriptObject
- virtual HRESULT STDMETHODCALLTYPE throwException(
- /* [in] */ BSTR exceptionMessage,
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod(
- /* [in] */ BSTR name,
- /* [size_is][in] */ const VARIANT args[ ],
- /* [in] */ int cArgs,
- /* [retval][out] */ VARIANT *result);
-
- virtual HRESULT STDMETHODCALLTYPE evaluateWebScript(
- /* [in] */ BSTR script,
- /* [retval][out] */ VARIANT *result);
-
- virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey(
- /* [in] */ BSTR name);
-
- virtual HRESULT STDMETHODCALLTYPE stringRepresentation(
- /* [retval][out] */ BSTR* stringRepresentation);
-
- virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [retval][out] */ VARIANT *result);
-
- virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex(
- /* [in] */ unsigned int index,
- /* [in] */ VARIANT val);
-
- virtual HRESULT STDMETHODCALLTYPE setException(
- /* [in] */ BSTR description);
-
-protected:
- ULONG m_refCount;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebScriptWorld.cpp b/Source/WebKit/win/WebScriptWorld.cpp
deleted file mode 100644
index 01bea680a..000000000
--- a/Source/WebKit/win/WebScriptWorld.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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 "WebKitDLL.h"
-#include "WebScriptWorld.h"
-
-#include <JavaScriptCore/APICast.h>
-#include <WebCore/JSDOMBinding.h>
-#include <WebCore/ScriptController.h>
-
-using namespace WebCore;
-
-typedef HashMap<DOMWrapperWorld*, WebScriptWorld*> WorldMap;
-static WorldMap& allWorlds()
-{
- static WorldMap& map = *new WorldMap;
- return map;
-}
-
-inline WebScriptWorld::WebScriptWorld(PassRefPtr<DOMWrapperWorld> world)
- : m_refCount(0)
- , m_world(world)
-{
- ASSERT_ARG(world, m_world);
-
- ASSERT_ARG(world, !allWorlds().contains(m_world.get()));
- allWorlds().add(m_world.get(), this);
-
- ++gClassCount;
- gClassNameCount.add("WebScriptWorld");
-}
-
-WebScriptWorld::~WebScriptWorld()
-{
- ASSERT(allWorlds().contains(m_world.get()));
- allWorlds().remove(m_world.get());
-
- --gClassCount;
- gClassNameCount.remove("WebScriptWorld");
-}
-
-WebScriptWorld* WebScriptWorld::standardWorld()
-{
- static WebScriptWorld* standardWorld = createInstance(mainThreadNormalWorld()).leakRef();
- return standardWorld;
-}
-
-COMPtr<WebScriptWorld> WebScriptWorld::createInstance()
-{
- return createInstance(ScriptController::createWorld());
-}
-
-COMPtr<WebScriptWorld> WebScriptWorld::createInstance(PassRefPtr<DOMWrapperWorld> world)
-{
- return new WebScriptWorld(world);
-}
-
-COMPtr<WebScriptWorld> WebScriptWorld::findOrCreateWorld(DOMWrapperWorld* world)
-{
- if (world == mainThreadNormalWorld())
- return standardWorld();
-
- if (WebScriptWorld* existingWorld = allWorlds().get(world))
- return existingWorld;
-
- return createInstance(world);
-}
-
-ULONG WebScriptWorld::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG WebScriptWorld::Release()
-{
- ULONG newRefCount = --m_refCount;
- if (!newRefCount)
- delete this;
- return newRefCount;
-}
-
-HRESULT WebScriptWorld::QueryInterface(REFIID riid, void** ppvObject)
-{
- if (!ppvObject)
- return E_POINTER;
- *ppvObject = 0;
-
- if (IsEqualIID(riid, __uuidof(WebScriptWorld)))
- *ppvObject = this;
- else if (IsEqualIID(riid, __uuidof(IWebScriptWorld)))
- *ppvObject = static_cast<IWebScriptWorld*>(this);
- else if (IsEqualIID(riid, IID_IUnknown))
- *ppvObject = static_cast<IUnknown*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-HRESULT WebScriptWorld::standardWorld(IWebScriptWorld** outWorld)
-{
- if (!outWorld)
- return E_POINTER;
-
- *outWorld = standardWorld();
- (*outWorld)->AddRef();
- return S_OK;
-}
-
-HRESULT WebScriptWorld::scriptWorldForGlobalContext(JSGlobalContextRef context, IWebScriptWorld** outWorld)
-{
- if (!outWorld)
- return E_POINTER;
- return findOrCreateWorld(currentWorld(toJS(context))).copyRefTo(outWorld);
-}
-
-HRESULT WebScriptWorld::unregisterWorld()
-{
- m_world->clearWrappers();
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebScriptWorld.h b/Source/WebKit/win/WebScriptWorld.h
deleted file mode 100644
index 4b0fa48a0..000000000
--- a/Source/WebKit/win/WebScriptWorld.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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 WebScriptWorld_h
-#define WebScriptWorld_h
-
-#include "WebKit.h"
-#include <WebCore/COMPtr.h>
-
-namespace WebCore {
- class DOMWrapperWorld;
-}
-
-class WebScriptWorld : public IWebScriptWorld {
- WTF_MAKE_NONCOPYABLE(WebScriptWorld);
-public:
- static WebScriptWorld* standardWorld();
- static COMPtr<WebScriptWorld> createInstance();
-
- static COMPtr<WebScriptWorld> findOrCreateWorld(WebCore::DOMWrapperWorld*);
-
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
- WebCore::DOMWrapperWorld* world() const { return m_world.get(); }
-
-private:
- static COMPtr<WebScriptWorld> createInstance(PassRefPtr<WebCore::DOMWrapperWorld>);
-
- WebScriptWorld(PassRefPtr<WebCore::DOMWrapperWorld>);
- ~WebScriptWorld();
-
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
- virtual HRESULT STDMETHODCALLTYPE standardWorld(IWebScriptWorld**);
- virtual HRESULT STDMETHODCALLTYPE scriptWorldForGlobalContext(JSGlobalContextRef, IWebScriptWorld**);
- virtual HRESULT STDMETHODCALLTYPE unregisterWorld();
-
- ULONG m_refCount;
- RefPtr<WebCore::DOMWrapperWorld> m_world;
-};
-
-#endif // WebScriptWorld_h
diff --git a/Source/WebKit/win/WebScrollBar.cpp b/Source/WebKit/win/WebScrollBar.cpp
deleted file mode 100644
index a7e9662eb..000000000
--- a/Source/WebKit/win/WebScrollBar.cpp
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebKit.h"
-#include "WebScrollBar.h"
-
-#include <WebCore/GraphicsContext.h>
-#include <WebCore/PlatformMouseEvent.h>
-#include <WebCore/Scrollbar.h>
-#include <WebCore/ScrollbarTheme.h>
-
-using namespace WebCore;
-
-// WebScrollBar ---------------------------------------------------------------------
-
-WebScrollBar::WebScrollBar()
- : m_refCount(0)
- , m_containingWindow(0)
- , m_currentPosition(0)
-{
- gClassCount++;
- gClassNameCount.add("WebScrollBar");
-}
-
-WebScrollBar::~WebScrollBar()
-{
- gClassCount--;
- gClassNameCount.remove("WebScrollBar");
-}
-
-WebScrollBar* WebScrollBar::createInstance()
-{
- WebScrollBar* instance = new WebScrollBar();
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IUnknown*>(this);
- else if (IsEqualGUID(riid, IID_IWebScrollBarPrivate))
- *ppvObject = static_cast<IWebScrollBarPrivate*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebScrollBar::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebScrollBar::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebScrollBarPrivate ------------------------------------------------------------------
-HRESULT STDMETHODCALLTYPE WebScrollBar::init(
- /* [in] */ IWebScrollBarDelegatePrivate* delegate,
- /* [in] */ OLE_HANDLE containingWindow,
- /* [in] */ WebScrollBarOrientation orientation,
- /* [in] */ WebScrollBarControlSize controlSize)
-{
- if (!delegate || !containingWindow)
- return E_FAIL;
- ScrollbarOrientation webCoreOrientation = (ScrollbarOrientation) orientation;
- ScrollbarControlSize webCoreControlSize = (ScrollbarControlSize) controlSize;
- m_delegate = delegate;
- m_scrollBar = Scrollbar::createNativeScrollbar(this, webCoreOrientation, webCoreControlSize);
- if (!m_scrollBar)
- return E_FAIL;
- m_containingWindow = (HWND)(ULONG64)containingWindow;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::setEnabled(
- /* [in] */ BOOL enabled)
-{
- m_scrollBar->setEnabled(!!enabled);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::setSteps(
- /* [in] */ int lineStep,
- /* [in] */ int pageStep)
-{
- m_scrollBar->setSteps(lineStep, pageStep);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::setProportion(
- /* [in] */ int visibleSize,
- /* [in] */ int totalSize)
-{
- m_scrollBar->setProportion(visibleSize, totalSize);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::setRect(
- /* [in] */ RECT bounds)
-{
- IntRect rect(bounds.left, bounds.top, bounds.right-bounds.left, bounds.bottom-bounds.top);
- m_scrollBar->setFrameRect(rect);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::setValue(
- /* [in] */ int value)
-{
- m_currentPosition = value;
- ScrollableArea::scrollToOffsetWithoutAnimation(m_scrollBar->orientation(), m_currentPosition);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::value(
- /* [retval][out] */ int* value)
-{
- if (!value)
- return E_POINTER;
- *value = m_currentPosition;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::paint(
- /* [in] */ HDC dc,
- /* [in] */ RECT damageRect)
-{
- GraphicsContext context(dc);
- IntRect rect(damageRect.left, damageRect.top, damageRect.right-damageRect.left, damageRect.bottom-damageRect.top);
- m_scrollBar->paint(&context, rect);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::frameRect(
- /* [retval][out] */ RECT* bounds)
-{
- if (!bounds)
- return E_POINTER;
- IntRect rect = m_scrollBar->frameRect();
- bounds->left = rect.x();
- bounds->right = rect.maxX();
- bounds->top = rect.y();
- bounds->bottom = rect.maxY();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::width(
- /* [retval][out] */ int* w)
-{
- if (!w)
- return E_POINTER;
- *w = m_scrollBar->width();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::height(
- /* [retval][out] */ int* h)
-{
- if (!h)
- return E_POINTER;
- *h = m_scrollBar->height();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::requestedWidth(
- /* [retval][out] */ int* w)
-{
- if (!w)
- return E_POINTER;
-
- *w = m_scrollBar->orientation() == VerticalScrollbar ? ScrollbarTheme::theme()->scrollbarThickness(m_scrollBar->controlSize()) : -1;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::requestedHeight(
- /* [retval][out] */ int* h)
-{
- if (!h)
- return E_POINTER;
-
- *h = m_scrollBar->orientation() == HorizontalScrollbar ? ScrollbarTheme::theme()->scrollbarThickness(m_scrollBar->controlSize()) : -1;
- return S_OK;
-}
-
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::handleMouseEvent(
- OLE_HANDLE window,
- UINT msg,
- WPARAM wParam,
- LPARAM lParam)
-{
- PlatformMouseEvent mouseEvent((HWND)(ULONG64)window, msg, wParam, lParam);
- switch (msg) {
- case WM_LBUTTONDOWN:
- m_scrollBar->mouseDown(mouseEvent);
- break;
- case WM_LBUTTONUP:
- m_scrollBar->mouseUp(mouseEvent);
- break;
- case WM_MOUSEMOVE:
- m_scrollBar->mouseMoved(mouseEvent);
- break;
- }
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebScrollBar::scroll(
- WebScrollDirection direction,
- WebScrollGranularity granularity,
- float multiplier)
-{
- ScrollDirection webCoreScrollDirection = (ScrollDirection) direction;
- ScrollGranularity webCoreGranularity = (ScrollGranularity) granularity;
- ScrollableArea::scroll(webCoreScrollDirection, webCoreGranularity, multiplier);
- return S_OK;
-}
-
-// ScrollableArea -------------------------------------------------------
-
-int WebScrollBar::scrollSize(ScrollbarOrientation orientation) const
-{
- return (orientation == m_scrollBar->orientation()) ? (m_scrollBar->totalSize() - m_scrollBar->visibleSize()) : 0;
-}
-
-int WebScrollBar::scrollPosition(Scrollbar*) const
-{
- return m_currentPosition;
-}
-
-void WebScrollBar::setScrollOffset(const IntPoint& offset)
-{
- m_currentPosition = (m_scrollBar->orientation() == HorizontalScrollbar) ? offset.x() : offset.y();
- m_delegate->valueChanged(this);
-}
-
-void WebScrollBar::invalidateScrollbarRect(Scrollbar*, const IntRect& rect)
-{
- RECT r = rect;
- ::InvalidateRect(m_containingWindow, &r, false);
-}
-
-Scrollbar* WebScrollBar::horizontalScrollbar() const
-{
- return m_scrollBar->orientation() == HorizontalScrollbar ? m_scrollBar.get() : 0;
-}
-
-Scrollbar* WebScrollBar::verticalScrollbar() const
-{
- return m_scrollBar->orientation() == VerticalScrollbar ? m_scrollBar.get() : 0;
-}
-
-int WebScrollBar::visibleHeight() const
-{
- return m_scrollBar->height();
-}
-
-int WebScrollBar::visibleWidth() const
-{
- return m_scrollBar->width();
-}
-
-WebCore::IntSize WebScrollBar::contentsSize() const
-{
- return m_scrollBar->frameRect().size();
-}
-
-bool WebScrollBar::scrollbarsCanBeActive() const
-{
- return true;
-}
-
-WebCore::IntRect WebScrollBar::scrollableAreaBoundingBox() const
-{
- return m_scrollBar->frameRect();
-}
diff --git a/Source/WebKit/win/WebScrollBar.h b/Source/WebKit/win/WebScrollBar.h
deleted file mode 100644
index b7f599b93..000000000
--- a/Source/WebKit/win/WebScrollBar.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 WebScrollBar_h
-#define WebScrollBar_h
-
-#include "WebKit.h"
-
-#include <wtf/RefPtr.h>
-#include <wtf/OwnPtr.h>
-
-#include <WebCore/COMPtr.h>
-#include <WebCore/Scrollbar.h>
-#include <WebCore/ScrollableArea.h>
-
-namespace WebCore {
-class Scrollbar;
-}
-
-class WebScrollBar : public IWebScrollBarPrivate, WebCore::ScrollableArea {
-public:
- static WebScrollBar* createInstance();
-protected:
- WebScrollBar();
- ~WebScrollBar();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebScrollBarPrivate
- virtual HRESULT STDMETHODCALLTYPE init(
- /* [in] */ IWebScrollBarDelegatePrivate* delegate,
- /* [in] */ OLE_HANDLE containingWindow,
- /* [in] */ WebScrollBarOrientation orientation,
- /* [in] */ WebScrollBarControlSize controlSize);
-
- virtual HRESULT STDMETHODCALLTYPE setEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setSteps(
- /* [in] */ int lineStep,
- /* [in] */ int pageStep);
-
- virtual HRESULT STDMETHODCALLTYPE setProportion(
- /* [in] */ int visibleSize,
- /* [in] */ int totalSize);
-
- virtual HRESULT STDMETHODCALLTYPE setRect(
- /* [in] */ RECT bounds);
-
- virtual HRESULT STDMETHODCALLTYPE setValue(
- /* [in] */ int value);
-
- virtual HRESULT STDMETHODCALLTYPE value(
- /* [retval][out] */ int* value);
-
- virtual HRESULT STDMETHODCALLTYPE paint(
- /* [in] */ HDC dc,
- /* [in] */ RECT damageRect);
-
- virtual HRESULT STDMETHODCALLTYPE frameRect(
- /* [retval][out] */ RECT* bounds);
-
- virtual HRESULT STDMETHODCALLTYPE width(
- /* [retval][out] */ int* w);
-
- virtual HRESULT STDMETHODCALLTYPE height(
- /* [retval][out] */ int* h);
-
- virtual HRESULT STDMETHODCALLTYPE requestedWidth(
- /* [retval][out] */ int* w);
-
- virtual HRESULT STDMETHODCALLTYPE requestedHeight(
- /* [retval][out] */ int* h);
-
- virtual HRESULT STDMETHODCALLTYPE handleMouseEvent(
- /* [in] */ OLE_HANDLE window,
- /* [in] */ UINT msg,
- /* [in] */ WPARAM wParam,
- /* [in] */ LPARAM lParam);
-
- virtual HRESULT STDMETHODCALLTYPE scroll(
- /* [in] */ WebScrollDirection direction,
- /* [in] */ WebScrollGranularity granularity,
- /* [in] */ float multiplier);
-
-protected:
- // ScrollableArea
- virtual int scrollSize(WebCore::ScrollbarOrientation) const;
- virtual int scrollPosition(WebCore::Scrollbar*) const;
- virtual void setScrollOffset(const WebCore::IntPoint&);
- virtual void invalidateScrollbarRect(WebCore::Scrollbar*, const WebCore::IntRect&);
- virtual void invalidateScrollCornerRect(const WebCore::IntRect&) { }
- virtual WebCore::ScrollableArea* enclosingScrollableArea() const { return 0; }
- virtual int visibleHeight() const OVERRIDE;
- virtual int visibleWidth() const OVERRIDE;
- virtual WebCore::IntSize contentsSize() const OVERRIDE;
- virtual bool scrollbarsCanBeActive() const OVERRIDE;
- virtual WebCore::IntRect scrollableAreaBoundingBox() const OVERRIDE;
-
- // FIXME: We should provide a way to set this value.
- virtual bool isActive() const { return true; }
-
- virtual bool isScrollCornerVisible() const { return false; }
- virtual WebCore::IntRect scrollCornerRect() const { return WebCore::IntRect(); }
-
- virtual WebCore::Scrollbar* horizontalScrollbar() const;
- virtual WebCore::Scrollbar* verticalScrollbar() const;
-
- ULONG m_refCount;
- HWND m_containingWindow;
- int m_currentPosition;
- RefPtr<WebCore::Scrollbar> m_scrollBar;
- COMPtr<IWebScrollBarDelegatePrivate> m_delegate;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebSecurityOrigin.cpp b/Source/WebKit/win/WebSecurityOrigin.cpp
deleted file mode 100644
index 6d54c2b82..000000000
--- a/Source/WebKit/win/WebSecurityOrigin.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebSecurityOrigin.h"
-#include "WebKitDLL.h"
-
-#include <WebCore/BString.h>
-#include <WebCore/DatabaseManager.h>
-
-using namespace WebCore;
-
-// WebSecurityOrigin ---------------------------------------------------------------
-WebSecurityOrigin* WebSecurityOrigin::createInstance(SecurityOrigin* securityOrigin)
-{
- WebSecurityOrigin* origin = new WebSecurityOrigin(securityOrigin);
- origin->AddRef();
- return origin;
-}
-
-WebSecurityOrigin::WebSecurityOrigin(SecurityOrigin* securityOrigin)
- : m_refCount(0)
- , m_securityOrigin(securityOrigin)
-{
- gClassCount++;
- gClassNameCount.add("WebSecurityOrigin");
-}
-
-WebSecurityOrigin::~WebSecurityOrigin()
-{
- gClassCount--;
- gClassNameCount.remove("WebSecurityOrigin");
-}
-
-// IUnknown ------------------------------------------------------------------------
-HRESULT STDMETHODCALLTYPE WebSecurityOrigin::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebSecurityOrigin*>(this);
- else if (IsEqualGUID(riid, IID_IWebSecurityOrigin))
- *ppvObject = static_cast<IWebSecurityOrigin*>(this);
- else if (IsEqualGUID(riid, __uuidof(this)))
- *ppvObject = this;
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebSecurityOrigin::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebSecurityOrigin::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete this;
-
- return newRef;
-}
-
-// IWebSecurityOrigin --------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebSecurityOrigin::protocol(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = BString(m_securityOrigin->protocol()).release();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebSecurityOrigin::host(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = BString(m_securityOrigin->host()).release();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebSecurityOrigin::port(
- /* [retval][out] */ unsigned short* result)
-{
- if (!result)
- return E_POINTER;
-
- *result = m_securityOrigin->port();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebSecurityOrigin::usage(
- /* [retval][out] */ unsigned long long* result)
-{
-#if ENABLE(SQL_DATABASE)
- if (!result)
- return E_POINTER;
-
- *result = DatabaseManager::manager().usageForOrigin(m_securityOrigin.get());
-
- return S_OK;
-#else
- UNUSED_PARAM(result);
- return E_NOTIMPL;
-#endif
-}
-
-HRESULT STDMETHODCALLTYPE WebSecurityOrigin::quota(
- /* [retval][out] */ unsigned long long* result)
-{
-#if ENABLE(SQL_DATABASE)
- if (!result)
- return E_POINTER;
-
- *result = DatabaseManager::manager().quotaForOrigin(m_securityOrigin.get());
- return S_OK;
-#else
- UNUSED_PARAM(result);
- return E_NOTIMPL;
-#endif
-}
-
-HRESULT STDMETHODCALLTYPE WebSecurityOrigin::setQuota(
- /* [in] */ unsigned long long quota)
-{
-#if ENABLE(SQL_DATABASE)
- DatabaseManager::manager().setQuota(m_securityOrigin.get(), quota);
-
- return S_OK;
-#else
- UNUSED_PARAM(quota);
- return E_NOTIMPL;
-#endif
-}
diff --git a/Source/WebKit/win/WebSecurityOrigin.h b/Source/WebKit/win/WebSecurityOrigin.h
deleted file mode 100644
index 368a7e84d..000000000
--- a/Source/WebKit/win/WebSecurityOrigin.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebSecurityOrigin_h
-#define WebSecurityOrigin_h
-
-#include "WebKit.h"
-#include <WebCore/SecurityOrigin.h>
-
-class DECLSPEC_UUID("6EB8D98F-2723-4472-88D3-5936F9D6E631") WebSecurityOrigin : public IWebSecurityOrigin {
-public:
- // WebSecurityOrigin
- static WebSecurityOrigin* createInstance(WebCore::SecurityOrigin* origin);
- static WebSecurityOrigin* createInstance(RefPtr<WebCore::SecurityOrigin> origin) { return createInstance(origin.get()); }
- WebCore::SecurityOrigin* securityOrigin() const { return m_securityOrigin.get(); }
-
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(
- /* [in] */ REFIID riid,
- /* [iid_is][out] */ void** ppvObject);
-
- virtual ULONG STDMETHODCALLTYPE AddRef();
-
- virtual ULONG STDMETHODCALLTYPE Release();
-
- // IWebSecurityOrigin
- virtual HRESULT STDMETHODCALLTYPE protocol(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE host(
- /* [retval][out] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE port(
- /* [retval][out] */ unsigned short* result);
-
- virtual HRESULT STDMETHODCALLTYPE usage(
- /* [retval][out] */ unsigned long long* result);
-
- virtual HRESULT STDMETHODCALLTYPE quota(
- /* [retval][out] */ unsigned long long* result);
-
- virtual HRESULT STDMETHODCALLTYPE setQuota(
- /* [in] */ unsigned long long quota);
-
-private:
- WebSecurityOrigin(WebCore::SecurityOrigin*);
- ~WebSecurityOrigin();
-
- ULONG m_refCount;
- RefPtr<WebCore::SecurityOrigin> m_securityOrigin;
-};
-
-#endif // WebSecurityOrigin_h
diff --git a/Source/WebKit/win/WebSerializedJSValue.cpp b/Source/WebKit/win/WebSerializedJSValue.cpp
deleted file mode 100644
index 7f6e3b028..000000000
--- a/Source/WebKit/win/WebSerializedJSValue.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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 "WebKitDLL.h"
-#include "WebSerializedJSValue.h"
-
-#include <WebCore/SerializedScriptValue.h>
-
-using namespace WebCore;
-
-WebSerializedJSValue::WebSerializedJSValue()
- : m_refCount(0)
-{
- ++gClassCount;
- gClassNameCount.add("WebSerializedJSValue");
-}
-
-WebSerializedJSValue::~WebSerializedJSValue()
-{
- --gClassCount;
- gClassNameCount.remove("WebSerializedJSValue");
-}
-
-COMPtr<WebSerializedJSValue> WebSerializedJSValue::createInstance()
-{
- return new WebSerializedJSValue();
-}
-
-ULONG WebSerializedJSValue::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG WebSerializedJSValue::Release()
-{
- ULONG newRefCount = --m_refCount;
- if (!newRefCount)
- delete this;
- return newRefCount;
-}
-
-HRESULT WebSerializedJSValue::QueryInterface(REFIID riid, void** ppvObject)
-{
- if (!ppvObject)
- return E_POINTER;
- *ppvObject = 0;
-
- if (IsEqualIID(riid, __uuidof(WebSerializedJSValue)))
- *ppvObject = this;
- else if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebSerializedJSValue*>(this);
- else if (IsEqualIID(riid, __uuidof(IWebSerializedJSValue)))
- *ppvObject = static_cast<IWebSerializedJSValue*>(this);
- else if (IsEqualIID(riid, __uuidof(IWebSerializedJSValuePrivate)))
- *ppvObject = static_cast<IWebSerializedJSValuePrivate*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-HRESULT WebSerializedJSValue::serialize(JSContextRef sourceContext, JSValueRef value, JSValueRef* exception)
-{
- ASSERT_ARG(value, value);
- ASSERT_ARG(sourceContext, sourceContext);
-
- if (!value || !sourceContext)
- return E_POINTER;
-
- m_value = SerializedScriptValue::create(sourceContext, value, exception);
-
- return S_OK;
-}
-
-HRESULT WebSerializedJSValue::deserialize(JSContextRef destinationContext, JSValueRef* outValue)
-{
- if (!outValue)
- return E_POINTER;
-
- if (!m_value)
- *outValue = 0;
- else
- *outValue = m_value->deserialize(destinationContext, 0);
-
- return S_OK;
-}
-
-HRESULT WebSerializedJSValue::setInternalRepresentation(void* internalRepresentation)
-{
- if (!internalRepresentation || m_value)
- return E_POINTER;
-
- m_value = reinterpret_cast<SerializedScriptValue*>(internalRepresentation);
-
- return S_OK;
-}
-
-HRESULT WebSerializedJSValue::getInternalRepresentation(void** internalRepresentation)
-{
- if (!m_value)
- return E_POINTER;
-
- *internalRepresentation = m_value.get();
- return S_OK;
-}
-
diff --git a/Source/WebKit/win/WebSerializedJSValue.h b/Source/WebKit/win/WebSerializedJSValue.h
deleted file mode 100644
index 61e5617ce..000000000
--- a/Source/WebKit/win/WebSerializedJSValue.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2009 Apple 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 INC. 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 INC. 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 WebSerializedJSValue_h
-#define WebSerializedJSValue_h
-
-#include "WebKit.h"
-#include <WebCore/COMPtr.h>
-
-typedef const struct OpaqueJSContext* JSContextRef;
-typedef const struct OpaqueJSValue* JSValueRef;
-
-namespace WebCore {
- class SerializedScriptValue;
-}
-
-class WebSerializedJSValue : public IWebSerializedJSValue, public IWebSerializedJSValuePrivate {
- WTF_MAKE_NONCOPYABLE(WebSerializedJSValue);
-public:
- static COMPtr<WebSerializedJSValue> createInstance();
-
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
- virtual HRESULT STDMETHODCALLTYPE serialize(JSContextRef, JSValueRef value, JSValueRef* exception);
- virtual HRESULT STDMETHODCALLTYPE deserialize(JSContextRef, JSValueRef* result);
- virtual HRESULT STDMETHODCALLTYPE setInternalRepresentation(void* internalRepresentation);
- virtual HRESULT STDMETHODCALLTYPE getInternalRepresentation(void** internalRepresentation);
-
-private:
- WebSerializedJSValue();
- ~WebSerializedJSValue();
-
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
-
- ULONG m_refCount;
- RefPtr<WebCore::SerializedScriptValue> m_value;
-};
-
-#endif // WebSerializedJSValue_h
diff --git a/Source/WebKit/win/WebTextRenderer.cpp b/Source/WebKit/win/WebTextRenderer.cpp
deleted file mode 100644
index 6d6d9a3dd..000000000
--- a/Source/WebKit/win/WebTextRenderer.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 "WebTextRenderer.h"
-
-#include "WebKitDLL.h"
-
-WebTextRenderer* WebTextRenderer::createInstance()
-{
- WebTextRenderer* instance = new WebTextRenderer;
- instance->AddRef();
- return instance;
-}
-
-WebTextRenderer::WebTextRenderer()
- : m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("WebTextRenderer");
-}
-
-WebTextRenderer::~WebTextRenderer()
-{
- gClassCount--;
- gClassNameCount.remove("WebTextRenderer");
-}
-
-HRESULT STDMETHODCALLTYPE WebTextRenderer::QueryInterface(const IID &riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebTextRenderer*>(this);
- else if (IsEqualGUID(riid, IID_IWebTextRenderer))
- *ppvObject = static_cast<IWebTextRenderer*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebTextRenderer::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebTextRenderer::Release()
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete this;
-
- return newRef;
-}
-
-HRESULT STDMETHODCALLTYPE WebTextRenderer::registerPrivateFont(
- /* [in] */ LPCOLESTR fontFilePath)
-{
- if (!AddFontResourceEx(fontFilePath, FR_PRIVATE, 0))
- return E_FAIL;
-
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebTextRenderer.h b/Source/WebKit/win/WebTextRenderer.h
deleted file mode 100644
index 3348948ff..000000000
--- a/Source/WebKit/win/WebTextRenderer.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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.
- * 3. Neither the name of Apple Computer, Inc. ("Apple") 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 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 WebTextRenderer_h
-#define WebTextRenderer_h
-
-#include "WebKit.h"
-
-class WebTextRenderer : public IWebTextRenderer {
-public:
- static WebTextRenderer* createInstance();
-
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(
- /* [in] */ REFIID riid,
- /* [iid_is][out] */ void** ppvObject);
-
- virtual ULONG STDMETHODCALLTYPE AddRef();
-
- virtual ULONG STDMETHODCALLTYPE Release();
-
- virtual HRESULT STDMETHODCALLTYPE registerPrivateFont(
- /* [in] */ LPCOLESTR fontFilePath);
-
-private:
- WebTextRenderer();
- ~WebTextRenderer();
-
- ULONG m_refCount;
-};
-
-#endif // !defined(WebTextRenderer_h)
diff --git a/Source/WebKit/win/WebURLAuthenticationChallenge.cpp b/Source/WebKit/win/WebURLAuthenticationChallenge.cpp
deleted file mode 100644
index e12d0fd31..000000000
--- a/Source/WebKit/win/WebURLAuthenticationChallenge.cpp
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebURLAuthenticationChallenge.h"
-
-#include "WebError.h"
-#include "WebKit.h"
-#include "WebURLAuthenticationChallengeSender.h"
-#include "WebURLCredential.h"
-#include "WebURLProtectionSpace.h"
-#include "WebURLResponse.h"
-#include "WebKit.h"
-#include <WebCore/BString.h>
-#include <WebCore/COMPtr.h>
-#include <WebCore/ResourceHandle.h>
-
-using namespace WebCore;
-
-// WebURLAuthenticationChallenge ----------------------------------------------------------------
-
-WebURLAuthenticationChallenge::WebURLAuthenticationChallenge(const AuthenticationChallenge& authenticationChallenge,
- IWebURLAuthenticationChallengeSender* sender)
- : m_refCount(0)
- , m_authenticationChallenge(authenticationChallenge)
- , m_sender(sender)
-{
- gClassCount++;
- gClassNameCount.add("WebURLAuthenticationChallenge");
-}
-
-WebURLAuthenticationChallenge::~WebURLAuthenticationChallenge()
-{
- gClassCount--;
- gClassNameCount.remove("WebURLAuthenticationChallenge");
-}
-
-WebURLAuthenticationChallenge* WebURLAuthenticationChallenge::createInstance(const AuthenticationChallenge& authenticationChallenge)
-{
- WebURLAuthenticationChallenge* instance = new WebURLAuthenticationChallenge(authenticationChallenge, 0);
- instance->AddRef();
- return instance;
-}
-
-WebURLAuthenticationChallenge* WebURLAuthenticationChallenge::createInstance(const AuthenticationChallenge& authenticationChallenge,
- IWebURLAuthenticationChallengeSender* sender)
-{
- WebURLAuthenticationChallenge* instance = new WebURLAuthenticationChallenge(authenticationChallenge, sender);
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IUnknown*>(this);
- else if (IsEqualGUID(riid, __uuidof(this)))
- *ppvObject = static_cast<WebURLAuthenticationChallenge*>(this);
- else if (IsEqualGUID(riid, IID_IWebURLAuthenticationChallenge))
- *ppvObject = static_cast<IWebURLAuthenticationChallenge*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebURLAuthenticationChallenge::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebURLAuthenticationChallenge::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebURLAuthenticationChallenge -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::initWithProtectionSpace(
- /* [in] */ IWebURLProtectionSpace* space,
- /* [in] */ IWebURLCredential* proposedCredential,
- /* [in] */ int previousFailureCount,
- /* [in] */ IWebURLResponse* failureResponse,
- /* [in] */ IWebError* error,
- /* [in] */ IWebURLAuthenticationChallengeSender* sender)
-{
- LOG_ERROR("Calling the ala carte init for WebURLAuthenticationChallenge - is this really what you want to do?");
-
- if (!space || !proposedCredential || !failureResponse || !sender)
- return E_POINTER;
-
- HRESULT hr = S_OK;
- COMPtr<WebURLProtectionSpace> webSpace;
- hr = space->QueryInterface(&webSpace);
- if (FAILED(hr))
- return hr;
-
- COMPtr<WebURLCredential> webCredential(Query, proposedCredential);
- if (!webCredential)
- return E_NOINTERFACE;
-
- COMPtr<WebURLResponse> webResponse;
- hr = failureResponse->QueryInterface(&webResponse);
- if (FAILED(hr))
- return hr;
-
- COMPtr<WebError> webError;
- hr = error->QueryInterface(CLSID_WebError, (void**)&webError);
- if (FAILED(hr))
- return hr;
-
- COMPtr<WebURLAuthenticationChallengeSender> webSender(Query, sender);
- if (!webSender)
- return E_NOINTERFACE;
-
- // FIXME: After we change AuthenticationChallenge to use "ResourceHandle" as the abstract "Sender" or "Source of this Auth Challenge", then we'll
- // construct the AuthenticationChallenge with that as obtained from the webSender
-#if USE(CFNETWORK)
- m_authenticationChallenge = AuthenticationChallenge(webSpace->protectionSpace(), webCredential->credential(),
- previousFailureCount, webResponse->resourceResponse(), webError->resourceError());
-#endif
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::initWithAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge* challenge,
- /* [in] */ IWebURLAuthenticationChallengeSender* sender)
-{
- if (!challenge || !sender)
- return E_POINTER;
-
- COMPtr<WebURLAuthenticationChallenge> webChallenge(Query, challenge);
- if (!webChallenge)
- return E_NOINTERFACE;
-
- COMPtr<WebURLAuthenticationChallengeSender> webSender(Query, sender);
- if (!webSender)
- return E_NOINTERFACE;
-
-#if USE(CFNETWORK)
- m_authenticationChallenge = AuthenticationChallenge(webChallenge->authenticationChallenge().cfURLAuthChallengeRef(), webSender->authenticationClient());
-
- return S_OK;
-#else
-
- return E_FAIL;
-#endif
-}
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::error(
- /* [out, retval] */ IWebError** result)
-{
- *result = WebError::createInstance(m_authenticationChallenge.error());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::failureResponse(
- /* [out, retval] */ IWebURLResponse** result)
-{
- *result = WebURLResponse::createInstance(m_authenticationChallenge.failureResponse());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::previousFailureCount(
- /* [out, retval] */ UINT* result)
-{
- *result = m_authenticationChallenge.previousFailureCount();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::proposedCredential(
- /* [out, retval] */ IWebURLCredential** result)
-{
- *result = WebURLCredential::createInstance(m_authenticationChallenge.proposedCredential());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::protectionSpace(
- /* [out, retval] */ IWebURLProtectionSpace** result)
-{
- *result = WebURLProtectionSpace::createInstance(m_authenticationChallenge.protectionSpace());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallenge::sender(
- /* [out, retval] */ IWebURLAuthenticationChallengeSender** sender)
-{
- if (!m_sender) {
- AuthenticationClient* client = m_authenticationChallenge.authenticationClient();
- m_sender.adoptRef(WebURLAuthenticationChallengeSender::createInstance(client));
- }
-
- return m_sender.copyRefTo(sender);
-}
-
-// WebURLAuthenticationChallenge -------------------------------------------------------------------
-const AuthenticationChallenge& WebURLAuthenticationChallenge::authenticationChallenge() const
-{
- return m_authenticationChallenge;
-}
diff --git a/Source/WebKit/win/WebURLAuthenticationChallenge.h b/Source/WebKit/win/WebURLAuthenticationChallenge.h
deleted file mode 100644
index dfc5733db..000000000
--- a/Source/WebKit/win/WebURLAuthenticationChallenge.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 WebURLAuthenticationChallenge_h
-#define WebURLAuthenticationChallenge_h
-
-#include "WebKit.h"
-#include <WebCore/AuthenticationChallenge.h>
-#include <WebCore/COMPtr.h>
-
-class DECLSPEC_UUID("FD3B2381-0BB6-4B59-AF09-0E599C8901CF") WebURLAuthenticationChallenge : public IWebURLAuthenticationChallenge {
-public:
- static WebURLAuthenticationChallenge* createInstance(const WebCore::AuthenticationChallenge&);
- static WebURLAuthenticationChallenge* createInstance(const WebCore::AuthenticationChallenge&, IWebURLAuthenticationChallengeSender*);
-private:
- WebURLAuthenticationChallenge(const WebCore::AuthenticationChallenge&, IWebURLAuthenticationChallengeSender*);
- ~WebURLAuthenticationChallenge();
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebURLAuthenticationChallenge
- virtual HRESULT STDMETHODCALLTYPE initWithProtectionSpace(
- /* [in] */ IWebURLProtectionSpace* space,
- /* [in] */ IWebURLCredential* proposedCredential,
- /* [in] */ int previousFailureCount,
- /* [in] */ IWebURLResponse* failureResponse,
- /* [in] */ IWebError* error,
- /* [in] */ IWebURLAuthenticationChallengeSender* sender);
-
- virtual HRESULT STDMETHODCALLTYPE initWithAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge* challenge,
- /* [in] */ IWebURLAuthenticationChallengeSender* sender);
-
- virtual HRESULT STDMETHODCALLTYPE error(
- /* [out, retval] */ IWebError** result);
-
- virtual HRESULT STDMETHODCALLTYPE failureResponse(
- /* [out, retval] */ IWebURLResponse** result);
-
- virtual HRESULT STDMETHODCALLTYPE previousFailureCount(
- /* [out, retval] */ UINT* result);
-
- virtual HRESULT STDMETHODCALLTYPE proposedCredential(
- /* [out, retval] */ IWebURLCredential** result);
-
- virtual HRESULT STDMETHODCALLTYPE protectionSpace(
- /* [out, retval] */ IWebURLProtectionSpace** result);
-
- virtual HRESULT STDMETHODCALLTYPE sender(
- /* [out, retval] */ IWebURLAuthenticationChallengeSender** sender);
-
- // WebURLAuthenticationChallenge
- const WebCore::AuthenticationChallenge& authenticationChallenge() const;
-
-protected:
- ULONG m_refCount;
-
- WebCore::AuthenticationChallenge m_authenticationChallenge;
- COMPtr<IWebURLAuthenticationChallengeSender> m_sender;
-};
-
-
-#endif
diff --git a/Source/WebKit/win/WebURLAuthenticationChallengeSender.cpp b/Source/WebKit/win/WebURLAuthenticationChallengeSender.cpp
deleted file mode 100644
index 69c7ca305..000000000
--- a/Source/WebKit/win/WebURLAuthenticationChallengeSender.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKitDLL.h"
-#include <initguid.h>
-#include "WebURLAuthenticationChallengeSender.h"
-
-#include "WebKit.h"
-#include "WebURLAuthenticationChallenge.h"
-#include "WebURLCredential.h"
-#include <WebCore/AuthenticationClient.h>
-#include <WebCore/COMPtr.h>
-
-using namespace WebCore;
-
-// WebURLAuthenticationChallengeSender ----------------------------------------------------------------
-
-WebURLAuthenticationChallengeSender::WebURLAuthenticationChallengeSender(PassRefPtr<AuthenticationClient> client)
- : m_refCount(0)
- , m_client(client)
-{
- ASSERT(m_client);
- gClassCount++;
- gClassNameCount.add("WebURLAuthenticationChallengeSender");
-}
-
-WebURLAuthenticationChallengeSender::~WebURLAuthenticationChallengeSender()
-{
- gClassCount--;
- gClassNameCount.remove("WebURLAuthenticationChallengeSender");
-}
-
-WebURLAuthenticationChallengeSender* WebURLAuthenticationChallengeSender::createInstance(PassRefPtr<WebCore::AuthenticationClient> client)
-{
- WebURLAuthenticationChallengeSender* instance = new WebURLAuthenticationChallengeSender(client);
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IUnknown*>(this);
- else if (IsEqualGUID(riid, __uuidof(this)))
- *ppvObject = static_cast<WebURLAuthenticationChallengeSender*>(this);
- else if (IsEqualGUID(riid, IID_IWebURLAuthenticationChallengeSender))
- *ppvObject = static_cast<IWebURLAuthenticationChallengeSender*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// WebURLAuthenticationChallengeSender ----------------------------------------------------------------
-
-AuthenticationClient* WebURLAuthenticationChallengeSender::authenticationClient() const
-{
- return m_client.get();
-}
-
diff --git a/Source/WebKit/win/WebURLAuthenticationChallengeSender.h b/Source/WebKit/win/WebURLAuthenticationChallengeSender.h
deleted file mode 100644
index 5ccd0c5bf..000000000
--- a/Source/WebKit/win/WebURLAuthenticationChallengeSender.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 WebURLAuthenticationChallengeSender_h
-#define WebURLAuthenticationChallengeSender_h
-
-#include "WebKit.h"
-
-#include <wtf/Forward.h>
-#include <wtf/RefPtr.h>
-
-namespace WebCore {
- class AuthenticationClient;
-}
-
-class DECLSPEC_UUID("5CACD637-F82F-491F-947A-5DCA38AA0FEA") WebURLAuthenticationChallengeSender
- : public IWebURLAuthenticationChallengeSender
-{
-public:
- static WebURLAuthenticationChallengeSender* createInstance(PassRefPtr<WebCore::AuthenticationClient>);
-private:
- WebURLAuthenticationChallengeSender(PassRefPtr<WebCore::AuthenticationClient>);
- ~WebURLAuthenticationChallengeSender();
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebURLAuthenticationChallengeSender
- virtual HRESULT STDMETHODCALLTYPE cancelAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge* challenge);
-
- virtual HRESULT STDMETHODCALLTYPE continueWithoutCredentialForAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge* challenge);
-
- virtual HRESULT STDMETHODCALLTYPE useCredential(
- /* [in] */ IWebURLCredential* credential,
- /* [in] */ IWebURLAuthenticationChallenge* challenge);
-
- WebCore::AuthenticationClient* authenticationClient() const;
-
-private:
- ULONG m_refCount;
-
- RefPtr<WebCore::AuthenticationClient> m_client;
-};
-
-#endif
diff --git a/Source/WebKit/win/WebURLAuthenticationChallengeSenderCFNet.cpp b/Source/WebKit/win/WebURLAuthenticationChallengeSenderCFNet.cpp
deleted file mode 100644
index 8ae2c5377..000000000
--- a/Source/WebKit/win/WebURLAuthenticationChallengeSenderCFNet.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKitDLL.h"
-#include <initguid.h>
-#include "WebURLAuthenticationChallengeSender.h"
-
-#include "WebKit.h"
-#include "WebURLAuthenticationChallenge.h"
-#include "WebURLCredential.h"
-#include <WebCore/AuthenticationClient.h>
-#include <WebCore/COMPtr.h>
-
-using namespace WebCore;
-
-// IWebURLAuthenticationChallengeSender -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::cancelAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge* challenge)
-{
- COMPtr<WebURLAuthenticationChallenge> webChallenge(Query, challenge);
- if (!webChallenge)
- return E_FAIL;
-
- m_client->receivedCancellation(webChallenge->authenticationChallenge());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::continueWithoutCredentialForAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge* challenge)
-{
- COMPtr<WebURLAuthenticationChallenge> webChallenge(Query, challenge);
- if (!webChallenge)
- return E_FAIL;
-
- m_client->receivedRequestToContinueWithoutCredential(webChallenge->authenticationChallenge());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::useCredential(
- /* [in] */ IWebURLCredential* credential,
- /* [in] */ IWebURLAuthenticationChallenge* challenge)
-{
- COMPtr<WebURLAuthenticationChallenge> webChallenge(Query, challenge);
- if (!webChallenge)
- return E_FAIL;
-
- COMPtr<WebURLCredential> webCredential;
- if (!credential || FAILED(credential->QueryInterface(__uuidof(WebURLCredential), (void**)&webCredential)))
- return E_FAIL;
-
- m_client->receivedCredential(webChallenge->authenticationChallenge(), webCredential->credential());
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebURLAuthenticationChallengeSenderCurl.cpp b/Source/WebKit/win/WebURLAuthenticationChallengeSenderCurl.cpp
deleted file mode 100644
index 4359bc681..000000000
--- a/Source/WebKit/win/WebURLAuthenticationChallengeSenderCurl.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2008 Brent Fulgham <bfulgham@gmail.com>. 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 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 "WebKitDLL.h"
-#include <initguid.h>
-#include "WebURLAuthenticationChallengeSender.h"
-
-#include "WebKit.h"
-#include "WebURLAuthenticationChallenge.h"
-#include "WebURLCredential.h"
-#include <WebCore/COMPtr.h>
-#include <WebCore/ResourceHandle.h>
-
-using namespace WebCore;
-
-// IWebURLAuthenticationChallengeSender -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::cancelAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge* challenge)
-{
- COMPtr<WebURLAuthenticationChallenge> webChallenge(Query, challenge);
- if (!webChallenge)
- return E_FAIL;
-
- m_client->receivedCancellation(webChallenge->authenticationChallenge());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::continueWithoutCredentialForAuthenticationChallenge(
- /* [in] */ IWebURLAuthenticationChallenge* challenge)
-{
- COMPtr<WebURLAuthenticationChallenge> webChallenge(Query, challenge);
- if (!webChallenge)
- return E_FAIL;
-
- m_client->receivedRequestToContinueWithoutCredential(webChallenge->authenticationChallenge());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLAuthenticationChallengeSender::useCredential(
- /* [in] */ IWebURLCredential* credential,
- /* [in] */ IWebURLAuthenticationChallenge* challenge)
-{
- COMPtr<WebURLAuthenticationChallenge> webChallenge(Query, challenge);
- if (!webChallenge)
- return E_FAIL;
-
- COMPtr<WebURLCredential> webCredential;
- if (!credential || FAILED(credential->QueryInterface(__uuidof(WebURLCredential), (void**)&webCredential)))
- return E_FAIL;
-
- m_client->receivedCredential(webChallenge->authenticationChallenge(), webCredential->credential());
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebURLCredential.cpp b/Source/WebKit/win/WebURLCredential.cpp
deleted file mode 100644
index 0d9ac34cc..000000000
--- a/Source/WebKit/win/WebURLCredential.cpp
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKitDLL.h"
-#include "WebURLCredential.h"
-
-#include "WebKit.h"
-#include <WebCore/BString.h>
-
-using namespace WebCore;
-
-// WebURLCredential ----------------------------------------------------------------
-
-WebURLCredential::WebURLCredential(const Credential& credential)
- : m_refCount(0)
- , m_credential(credential)
-{
- gClassCount++;
- gClassNameCount.add("WebURLCredential");
-}
-
-WebURLCredential::~WebURLCredential()
-{
- gClassCount--;
- gClassNameCount.remove("WebURLCredential");
-}
-
-WebURLCredential* WebURLCredential::createInstance()
-{
- WebURLCredential* instance = new WebURLCredential(Credential());
- instance->AddRef();
- return instance;
-}
-
-WebURLCredential* WebURLCredential::createInstance(const Credential& credential)
-{
- WebURLCredential* instance = new WebURLCredential(credential);
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebURLCredential::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IUnknown*>(this);
- else if (IsEqualGUID(riid, __uuidof(WebURLCredential)))
- *ppvObject = static_cast<WebURLCredential*>(this);
- else if (IsEqualGUID(riid, IID_IWebURLCredential))
- *ppvObject = static_cast<IWebURLCredential*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebURLCredential::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebURLCredential::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebURLCredential -------------------------------------------------------------------
-HRESULT STDMETHODCALLTYPE WebURLCredential::hasPassword(
- /* [out, retval] */ BOOL* result)
-{
- *result = m_credential.hasPassword();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLCredential::initWithUser(
- /* [in] */ BSTR user,
- /* [in] */ BSTR password,
- /* [in] */ WebURLCredentialPersistence persistence)
-{
- CredentialPersistence corePersistence = CredentialPersistenceNone;
- switch (persistence) {
- case WebURLCredentialPersistenceNone:
- break;
- case WebURLCredentialPersistenceForSession:
- corePersistence = CredentialPersistenceForSession;
- break;
- case WebURLCredentialPersistencePermanent:
- corePersistence = CredentialPersistencePermanent;
- break;
- default:
- ASSERT_NOT_REACHED();
- return E_FAIL;
- }
-
- m_credential = Credential(String(user, SysStringLen(user)), String(password, SysStringLen(password)), corePersistence);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLCredential::password(
- /* [out, retval] */ BSTR* password)
-{
- BString str = m_credential.password();
- *password = str.release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLCredential::persistence(
- /* [out, retval] */ WebURLCredentialPersistence* result)
-{
- switch (m_credential.persistence()) {
- case CredentialPersistenceNone:
- *result = WebURLCredentialPersistenceNone;
- break;
- case CredentialPersistenceForSession:
- *result = WebURLCredentialPersistenceForSession;
- break;
- case CredentialPersistencePermanent:
- *result = WebURLCredentialPersistencePermanent;
- break;
- default:
- ASSERT_NOT_REACHED();
- return E_FAIL;
- }
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLCredential::user(
- /* [out, retval] */ BSTR* result)
-{
- BString str = m_credential.user();
- *result = str.release();
- return S_OK;
-}
-
-const WebCore::Credential& WebURLCredential::credential() const
-{
- return m_credential;
-}
-
diff --git a/Source/WebKit/win/WebURLCredential.h b/Source/WebKit/win/WebURLCredential.h
deleted file mode 100644
index 11f3755c9..000000000
--- a/Source/WebKit/win/WebURLCredential.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 WebURLCredential_h
-#define WebURLCredential_h
-
-#include "WebKit.h"
-#include <WebCore/Credential.h>
-
-class WebURLCredential : public IWebURLCredential
-{
-public:
- static WebURLCredential* createInstance();
- static WebURLCredential* createInstance(const WebCore::Credential&);
-private:
- WebURLCredential(const WebCore::Credential&);
- ~WebURLCredential();
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebURLCredential
- virtual HRESULT STDMETHODCALLTYPE hasPassword(
- /* [out, retval] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE initWithUser(
- /* [in] */ BSTR user,
- /* [in] */ BSTR password,
- /* [in] */ WebURLCredentialPersistence persistence);
-
- virtual HRESULT STDMETHODCALLTYPE password(
- /* [out, retval] */ BSTR* password);
-
- virtual HRESULT STDMETHODCALLTYPE persistence(
- /* [out, retval] */ WebURLCredentialPersistence* result);
-
- virtual HRESULT STDMETHODCALLTYPE user(
- /* [out, retval] */ BSTR* result);
-
- // WebURLCredential
- const WebCore::Credential& credential() const;
-
-protected:
- ULONG m_refCount;
-
- WebCore::Credential m_credential;
-};
-
-
-#endif
diff --git a/Source/WebKit/win/WebURLProtectionSpace.cpp b/Source/WebKit/win/WebURLProtectionSpace.cpp
deleted file mode 100644
index 98a727e57..000000000
--- a/Source/WebKit/win/WebURLProtectionSpace.cpp
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 "WebKit.h"
-#include "WebKitDLL.h"
-#include "WebURLProtectionSpace.h"
-
-#include <WebCore/BString.h>
-
-using namespace WebCore;
-
-// WebURLProtectionSpace ----------------------------------------------------------------
-
-WebURLProtectionSpace::WebURLProtectionSpace(const ProtectionSpace& protectionSpace)
- : m_refCount(0)
- , m_protectionSpace(protectionSpace)
-{
- gClassCount++;
- gClassNameCount.add("WebURLProtectionSpace");
-}
-
-WebURLProtectionSpace::~WebURLProtectionSpace()
-{
- gClassCount--;
- gClassNameCount.remove("WebURLProtectionSpace");
-}
-
-WebURLProtectionSpace* WebURLProtectionSpace::createInstance()
-{
- WebURLProtectionSpace* instance = new WebURLProtectionSpace(ProtectionSpace());
- instance->AddRef();
- return instance;
-}
-
-WebURLProtectionSpace* WebURLProtectionSpace::createInstance(const ProtectionSpace& protectionSpace)
-{
- WebURLProtectionSpace* instance = new WebURLProtectionSpace(protectionSpace);
- instance->AddRef();
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IUnknown*>(this);
- else if (IsEqualGUID(riid, CLSID_WebURLProtectionSpace))
- *ppvObject = static_cast<WebURLProtectionSpace*>(this);
- else if (IsEqualGUID(riid, IID_IWebURLProtectionSpace))
- *ppvObject = static_cast<IWebURLProtectionSpace*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebURLProtectionSpace::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebURLProtectionSpace::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebURLProtectionSpace -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::authenticationMethod(
- /* [out, retval] */ BSTR* result)
-{
- switch (m_protectionSpace.authenticationScheme()) {
- case ProtectionSpaceAuthenticationSchemeDefault:
- *result = SysAllocString(WebURLAuthenticationMethodDefault);
- break;
- case ProtectionSpaceAuthenticationSchemeHTTPBasic:
- *result = SysAllocString(WebURLAuthenticationMethodHTTPBasic);
- break;
- case ProtectionSpaceAuthenticationSchemeHTTPDigest:
- *result = SysAllocString(WebURLAuthenticationMethodHTTPDigest);
- break;
- case ProtectionSpaceAuthenticationSchemeHTMLForm:
- *result = SysAllocString(WebURLAuthenticationMethodHTMLForm);
- break;
- default:
- ASSERT_NOT_REACHED();
- return E_FAIL;
- }
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::host(
- /* [out, retval] */ BSTR* result)
-{
- BString str = m_protectionSpace.host();
- *result = str.release();
- return S_OK;
-}
-
-static ProtectionSpaceAuthenticationScheme coreScheme(BSTR authenticationMethod)
-{
- ProtectionSpaceAuthenticationScheme scheme = ProtectionSpaceAuthenticationSchemeDefault;
- if (BString(authenticationMethod) == BString(WebURLAuthenticationMethodDefault))
- scheme = ProtectionSpaceAuthenticationSchemeDefault;
- else if (BString(authenticationMethod) == BString(WebURLAuthenticationMethodHTTPBasic))
- scheme = ProtectionSpaceAuthenticationSchemeHTTPBasic;
- else if (BString(authenticationMethod) == BString(WebURLAuthenticationMethodHTTPDigest))
- scheme = ProtectionSpaceAuthenticationSchemeHTTPDigest;
- else if (BString(authenticationMethod) == BString(WebURLAuthenticationMethodHTMLForm))
- scheme = ProtectionSpaceAuthenticationSchemeHTMLForm;
- else
- ASSERT_NOT_REACHED();
- return scheme;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::initWithHost(
- /* [in] */ BSTR host,
- /* [in] */ int port,
- /* [in] */ BSTR protocol,
- /* [in] */ BSTR realm,
- /* [in] */ BSTR authenticationMethod)
-{
- static BString& webURLProtectionSpaceHTTPBString = *new BString(WebURLProtectionSpaceHTTP);
- static BString& webURLProtectionSpaceHTTPSBString = *new BString(WebURLProtectionSpaceHTTPS);
- static BString& webURLProtectionSpaceFTPBString = *new BString(WebURLProtectionSpaceFTP);
- static BString& webURLProtectionSpaceFTPSBString = *new BString(WebURLProtectionSpaceFTPS);
-
- ProtectionSpaceServerType serverType = ProtectionSpaceServerHTTP;
- if (BString(protocol) == webURLProtectionSpaceHTTPBString)
- serverType = ProtectionSpaceServerHTTP;
- else if (BString(protocol) == webURLProtectionSpaceHTTPSBString)
- serverType = ProtectionSpaceServerHTTPS;
- else if (BString(protocol) == webURLProtectionSpaceFTPBString)
- serverType = ProtectionSpaceServerFTP;
- else if (BString(protocol) == webURLProtectionSpaceFTPSBString)
- serverType = ProtectionSpaceServerFTPS;
-
- m_protectionSpace = ProtectionSpace(String(host, SysStringLen(host)), port, serverType,
- String(realm, SysStringLen(realm)), coreScheme(authenticationMethod));
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::initWithProxyHost(
- /* [in] */ BSTR host,
- /* [in] */ int port,
- /* [in] */ BSTR proxyType,
- /* [in] */ BSTR realm,
- /* [in] */ BSTR authenticationMethod)
-{
- static BString& webURLProtectionSpaceHTTPProxyBString = *new BString(WebURLProtectionSpaceHTTPProxy);
- static BString& webURLProtectionSpaceHTTPSProxyBString = *new BString(WebURLProtectionSpaceHTTPSProxy);
- static BString& webURLProtectionSpaceFTPProxyBString = *new BString(WebURLProtectionSpaceFTPProxy);
- static BString& webURLProtectionSpaceSOCKSProxyBString = *new BString(WebURLProtectionSpaceSOCKSProxy);
-
- ProtectionSpaceServerType serverType = ProtectionSpaceProxyHTTP;
- if (BString(proxyType) == webURLProtectionSpaceHTTPProxyBString)
- serverType = ProtectionSpaceProxyHTTP;
- else if (BString(proxyType) == webURLProtectionSpaceHTTPSProxyBString)
- serverType = ProtectionSpaceProxyHTTPS;
- else if (BString(proxyType) == webURLProtectionSpaceFTPProxyBString)
- serverType = ProtectionSpaceProxyFTP;
- else if (BString(proxyType) == webURLProtectionSpaceSOCKSProxyBString)
- serverType = ProtectionSpaceProxySOCKS;
- else
- ASSERT_NOT_REACHED();
-
- m_protectionSpace = ProtectionSpace(String(host, SysStringLen(host)), port, serverType,
- String(realm, SysStringLen(realm)), coreScheme(authenticationMethod));
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::isProxy(
- /* [out, retval] */ BOOL* result)
-{
- *result = m_protectionSpace.isProxy();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::port(
- /* [out, retval] */ int* result)
-{
- *result = m_protectionSpace.port();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::protocol(
- /* [out, retval] */ BSTR* result)
-{
- switch (m_protectionSpace.serverType()) {
- case ProtectionSpaceServerHTTP:
- *result = SysAllocString(WebURLProtectionSpaceHTTP);
- break;
- case ProtectionSpaceServerHTTPS:
- *result = SysAllocString(WebURLProtectionSpaceHTTPS);
- break;
- case ProtectionSpaceServerFTP:
- *result = SysAllocString(WebURLProtectionSpaceFTP);
- break;
- case ProtectionSpaceServerFTPS:
- *result = SysAllocString(WebURLProtectionSpaceFTPS);
- break;
- default:
- ASSERT_NOT_REACHED();
- return E_FAIL;
- }
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::proxyType(
- /* [out, retval] */ BSTR* result)
-{
- switch (m_protectionSpace.serverType()) {
- case ProtectionSpaceProxyHTTP:
- *result = SysAllocString(WebURLProtectionSpaceHTTPProxy);
- break;
- case ProtectionSpaceProxyHTTPS:
- *result = SysAllocString(WebURLProtectionSpaceHTTPSProxy);
- break;
- case ProtectionSpaceProxyFTP:
- *result = SysAllocString(WebURLProtectionSpaceFTPProxy);
- break;
- case ProtectionSpaceProxySOCKS:
- *result = SysAllocString(WebURLProtectionSpaceSOCKSProxy);
- break;
- default:
- ASSERT_NOT_REACHED();
- return E_FAIL;
- }
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::realm(
- /* [out, retval] */ BSTR* result)
-{
- BString bstring = m_protectionSpace.realm();
- *result = bstring.release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLProtectionSpace::receivesCredentialSecurely(
- /* [out, retval] */ BOOL* result)
-{
- *result = m_protectionSpace.receivesCredentialSecurely();
- return S_OK;
-}
-
-// WebURLProtectionSpace -------------------------------------------------------------------
-const ProtectionSpace& WebURLProtectionSpace::protectionSpace() const
-{
- return m_protectionSpace;
-}
diff --git a/Source/WebKit/win/WebURLProtectionSpace.h b/Source/WebKit/win/WebURLProtectionSpace.h
deleted file mode 100644
index c1f763f8f..000000000
--- a/Source/WebKit/win/WebURLProtectionSpace.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2007 Apple 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 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 WebURLProtectionSpace_h
-#define WebURLProtectionSpace_h
-
-#include "WebKit.h"
-#include <WebCore/ProtectionSpace.h>
-
-class WebURLProtectionSpace : public IWebURLProtectionSpace
-{
-public:
- static WebURLProtectionSpace* createInstance();
- static WebURLProtectionSpace* createInstance(const WebCore::ProtectionSpace&);
-private:
- WebURLProtectionSpace(const WebCore::ProtectionSpace&);
- ~WebURLProtectionSpace();
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebURLProtectionSpace
- virtual HRESULT STDMETHODCALLTYPE authenticationMethod(
- /* [out, retval] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE host(
- /* [out, retval] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE initWithHost(
- /* [in] */ BSTR host,
- /* [in] */ int port,
- /* [in] */ BSTR protocol,
- /* [in] */ BSTR realm,
- /* [in] */ BSTR authenticationMethod);
-
- virtual HRESULT STDMETHODCALLTYPE initWithProxyHost(
- /* [in] */ BSTR host,
- /* [in] */ int port,
- /* [in] */ BSTR proxyType,
- /* [in] */ BSTR realm,
- /* [in] */ BSTR authenticationMethod);
-
- virtual HRESULT STDMETHODCALLTYPE isProxy(
- /* [out, retval] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE port(
- /* [out, retval] */ int* result);
-
- virtual HRESULT STDMETHODCALLTYPE protocol(
- /* [out, retval] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE proxyType(
- /* [out, retval] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE realm(
- /* [out, retval] */ BSTR* result);
-
- virtual HRESULT STDMETHODCALLTYPE receivesCredentialSecurely(
- /* [out, retval] */ BOOL* result);
-
- // WebURLProtectionSpace
- const WebCore::ProtectionSpace& protectionSpace() const;
-
-protected:
- ULONG m_refCount;
-
- WebCore::ProtectionSpace m_protectionSpace;
-};
-
-
-#endif
diff --git a/Source/WebKit/win/WebURLResponse.cpp b/Source/WebKit/win/WebURLResponse.cpp
deleted file mode 100644
index f8afa9a3e..000000000
--- a/Source/WebKit/win/WebURLResponse.cpp
+++ /dev/null
@@ -1,488 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 "WebURLResponse.h"
-
-#include "WebKitDLL.h"
-#include "WebKit.h"
-
-#include "COMPropertyBag.h"
-#include "MarshallingHelpers.h"
-
-#if USE(CFNETWORK)
-#include <WebKitSystemInterface/WebKitSystemInterface.h>
-#endif
-
-#include <wtf/platform.h>
-#include <WebCore/BString.h>
-#include <WebCore/KURL.h>
-#include <WebCore/LocalizedStrings.h>
-#include <WebCore/ResourceHandle.h>
-#include <shlobj.h>
-#include <shlwapi.h>
-#include <wchar.h>
-
-using namespace WebCore;
-
-static String CFHTTPMessageCopyLocalizedShortDescriptionForStatusCode(CFIndex statusCode)
-{
- String result;
- if (statusCode < 100 || statusCode >= 600)
- result = WEB_UI_STRING("server error", "HTTP result code string");
- else if (statusCode >= 100 && statusCode <= 199) {
- switch (statusCode) {
- case 100:
- result = WEB_UI_STRING("continue", "HTTP result code string");
- break;
- case 101:
- result = WEB_UI_STRING("switching protocols", "HTTP result code string");
- break;
- default:
- result = WEB_UI_STRING("informational", "HTTP result code string");
- break;
- }
- } else if (statusCode >= 200 && statusCode <= 299) {
- switch (statusCode) {
- case 200:
- result = WEB_UI_STRING("no error", "HTTP result code string");
- break;
- case 201:
- result = WEB_UI_STRING("created", "HTTP result code string");
- break;
- case 202:
- result = WEB_UI_STRING("accepted", "HTTP result code string");
- break;
- case 203:
- result = WEB_UI_STRING("non-authoritative information", "HTTP result code string");
- break;
- case 204:
- result = WEB_UI_STRING("no content", "HTTP result code string");
- break;
- case 205:
- result = WEB_UI_STRING("reset content", "HTTP result code string");
- break;
- case 206:
- result = WEB_UI_STRING("partial content", "HTTP result code string");
- break;
- default:
- result = WEB_UI_STRING("success", "HTTP result code string");
- break;
- }
- } else if (statusCode >= 300 && statusCode <= 399) {
- switch (statusCode) {
- case 300:
- result = WEB_UI_STRING("multiple choices", "HTTP result code string");
- break;
- case 301:
- result = WEB_UI_STRING("moved permanently", "HTTP result code string");
- break;
- case 302:
- result = WEB_UI_STRING("found", "HTTP result code string");
- break;
- case 303:
- result = WEB_UI_STRING("see other", "HTTP result code string");
- break;
- case 304:
- result = WEB_UI_STRING("not modified", "HTTP result code string");
- break;
- case 305:
- result = WEB_UI_STRING("needs proxy", "HTTP result code string");
- break;
- case 307:
- result = WEB_UI_STRING("temporarily redirected", "HTTP result code string");
- break;
- case 306: // 306 status code unused in HTTP
- default:
- result = WEB_UI_STRING("redirected", "HTTP result code string");
- break;
- }
- } else if (statusCode >= 400 && statusCode <= 499) {
- switch (statusCode) {
- case 400:
- result = WEB_UI_STRING("bad request", "HTTP result code string");
- break;
- case 401:
- result = WEB_UI_STRING("unauthorized", "HTTP result code string");
- break;
- case 402:
- result = WEB_UI_STRING("payment required", "HTTP result code string");
- break;
- case 403:
- result = WEB_UI_STRING("forbidden", "HTTP result code string");
- break;
- case 404:
- result = WEB_UI_STRING("not found", "HTTP result code string");
- break;
- case 405:
- result = WEB_UI_STRING("method not allowed", "HTTP result code string");
- break;
- case 406:
- result = WEB_UI_STRING("unacceptable", "HTTP result code string");
- break;
- case 407:
- result = WEB_UI_STRING("proxy authentication required", "HTTP result code string");
- break;
- case 408:
- result = WEB_UI_STRING("request timed out", "HTTP result code string");
- break;
- case 409:
- result = WEB_UI_STRING("conflict", "HTTP result code string");
- break;
- case 410:
- result = WEB_UI_STRING("no longer exists", "HTTP result code string");
- break;
- case 411:
- result = WEB_UI_STRING("length required", "HTTP result code string");
- break;
- case 412:
- result = WEB_UI_STRING("precondition failed", "HTTP result code string");
- break;
- case 413:
- result = WEB_UI_STRING("request too large", "HTTP result code string");
- break;
- case 414:
- result = WEB_UI_STRING("requested URL too long", "HTTP result code string");
- break;
- case 415:
- result = WEB_UI_STRING("unsupported media type", "HTTP result code string");
- break;
- case 416:
- result = WEB_UI_STRING("requested range not satisfiable", "HTTP result code string");
- break;
- case 417:
- result = WEB_UI_STRING("expectation failed", "HTTP result code string");
- break;
- default:
- result = WEB_UI_STRING("client error", "HTTP result code string");
- break;
- }
- } else if (statusCode >= 500 && statusCode <= 599) {
- switch (statusCode) {
- case 500:
- result = WEB_UI_STRING("internal server error", "HTTP result code string");
- break;
- case 501:
- result = WEB_UI_STRING("unimplemented", "HTTP result code string");
- break;
- case 502:
- result = WEB_UI_STRING("bad gateway", "HTTP result code string");
- break;
- case 503:
- result = WEB_UI_STRING("service unavailable", "HTTP result code string");
- break;
- case 504:
- result = WEB_UI_STRING("gateway timed out", "HTTP result code string");
- break;
- case 505:
- result = WEB_UI_STRING("unsupported version", "HTTP result code string");
- break;
- default:
- result = WEB_UI_STRING("server error", "HTTP result code string");
- break;
- }
- }
- return result;
-}
-
-// IWebURLResponse ----------------------------------------------------------------
-
-WebURLResponse::WebURLResponse()
- :m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("WebURLResponse");
-}
-
-WebURLResponse::~WebURLResponse()
-{
- gClassCount--;
- gClassNameCount.remove("WebURLResponse");
-}
-
-WebURLResponse* WebURLResponse::createInstance()
-{
- WebURLResponse* instance = new WebURLResponse();
- // fake an http response - so it has the IWebHTTPURLResponse interface
- instance->m_response = ResourceResponse(KURL(ParsedURLString, "http://"), String(), 0, String(), String());
- instance->AddRef();
- return instance;
-}
-
-WebURLResponse* WebURLResponse::createInstance(const ResourceResponse& response)
-{
- if (response.isNull())
- return 0;
-
- WebURLResponse* instance = new WebURLResponse();
- instance->AddRef();
- instance->m_response = response;
-
- return instance;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebURLResponse::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebURLResponse*>(this);
- else if (IsEqualGUID(riid, __uuidof(this)))
- *ppvObject = this;
- else if (IsEqualGUID(riid, IID_IWebURLResponse))
- *ppvObject = static_cast<IWebURLResponse*>(this);
- else if (IsEqualGUID(riid, IID_IWebURLResponsePrivate))
- *ppvObject = static_cast<IWebURLResponsePrivate*>(this);
- else if (m_response.isHTTP() && IsEqualGUID(riid, IID_IWebHTTPURLResponse))
- *ppvObject = static_cast<IWebHTTPURLResponse*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebURLResponse::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebURLResponse::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebURLResponse --------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebURLResponse::expectedContentLength(
- /* [retval][out] */ long long* result)
-{
- *result = m_response.expectedContentLength();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLResponse::initWithURL(
- /* [in] */ BSTR url,
- /* [in] */ BSTR mimeType,
- /* [in] */ int expectedContentLength,
- /* [in] */ BSTR textEncodingName)
-{
- m_response = ResourceResponse(MarshallingHelpers::BSTRToKURL(url), String(mimeType), expectedContentLength, String(textEncodingName), String());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLResponse::MIMEType(
- /* [retval][out] */ BSTR* result)
-{
- BString mimeType(m_response.mimeType());
- *result = mimeType.release();
- if (!m_response.mimeType().isNull() && !*result)
- return E_OUTOFMEMORY;
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLResponse::suggestedFilename(
- /* [retval][out] */ BSTR* result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *result = 0;
-
- if (m_response.url().isEmpty())
- return E_FAIL;
-
- *result = BString(m_response.suggestedFilename()).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLResponse::textEncodingName(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_INVALIDARG;
-
- BString textEncodingName(m_response.textEncodingName());
- *result = textEncodingName.release();
- if (!m_response.textEncodingName().isNull() && !*result)
- return E_OUTOFMEMORY;
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLResponse::URL(
- /* [retval][out] */ BSTR* result)
-{
- if (!result)
- return E_INVALIDARG;
-
- BString url(m_response.url().string());
- *result = url.release();
- if (!m_response.url().isEmpty() && !*result)
- return E_OUTOFMEMORY;
-
- return S_OK;
-}
-
-// IWebHTTPURLResponse --------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebURLResponse::allHeaderFields(
- /* [retval][out] */ IPropertyBag** headerFields)
-{
- ASSERT(m_response.isHTTP());
-
- *headerFields = COMPropertyBag<String, AtomicString, CaseFoldingHash>::createInstance(m_response.httpHeaderFields());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLResponse::localizedStringForStatusCode(
- /* [in] */ int statusCode,
- /* [retval][out] */ BSTR* statusString)
-{
- ASSERT(m_response.isHTTP());
- if (statusString)
- *statusString = 0;
- String statusText = CFHTTPMessageCopyLocalizedShortDescriptionForStatusCode(statusCode);
- if (!statusText)
- return E_FAIL;
- if (statusString)
- *statusString = BString(statusText).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLResponse::statusCode(
- /* [retval][out] */ int* statusCode)
-{
- ASSERT(m_response.isHTTP());
- if (statusCode)
- *statusCode = m_response.httpStatusCode();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebURLResponse::isAttachment(
- /* [retval][out] */ BOOL *attachment)
-{
- *attachment = m_response.isAttachment();
- return S_OK;
-}
-
-
-HRESULT STDMETHODCALLTYPE WebURLResponse::sslPeerCertificate(
- /* [retval][out] */ OLE_HANDLE* result)
-{
- if (!result)
- return E_POINTER;
- *result = 0;
-
-#if USE(CFNETWORK)
- CFDictionaryRef dict = certificateDictionary();
- if (!dict)
- return E_FAIL;
- void* data = wkGetSSLPeerCertificateDataBytePtr(dict);
- if (!data)
- return E_FAIL;
- *result = (OLE_HANDLE)(ULONG64)data;
-#endif
-
- return *result ? S_OK : E_FAIL;
-}
-
-// WebURLResponse -------------------------------------------------------------
-
-HRESULT WebURLResponse::suggestedFileExtension(BSTR *result)
-{
- if (!result)
- return E_POINTER;
-
- *result = 0;
-
- if (m_response.mimeType().isEmpty())
- return E_FAIL;
-
- BString mimeType(m_response.mimeType());
- HKEY key;
- LONG err = RegOpenKeyEx(HKEY_CLASSES_ROOT, TEXT("MIME\\Database\\Content Type"), 0, KEY_QUERY_VALUE, &key);
- if (!err) {
- HKEY subKey;
- err = RegOpenKeyEx(key, mimeType, 0, KEY_QUERY_VALUE, &subKey);
- if (!err) {
- DWORD keyType = REG_SZ;
- WCHAR extension[MAX_PATH];
- DWORD keySize = sizeof(extension)/sizeof(extension[0]);
- err = RegQueryValueEx(subKey, TEXT("Extension"), 0, &keyType, (LPBYTE)extension, &keySize);
- if (!err && keyType != REG_SZ)
- err = ERROR_INVALID_DATA;
- if (err) {
- // fallback handlers
- if (!wcscmp(mimeType, L"text/html")) {
- wcscpy(extension, L".html");
- err = 0;
- } else if (!wcscmp(mimeType, L"application/xhtml+xml")) {
- wcscpy(extension, L".xhtml");
- err = 0;
- } else if (!wcscmp(mimeType, L"image/svg+xml")) {
- wcscpy(extension, L".svg");
- err = 0;
- }
- }
- if (!err) {
- *result = SysAllocString(extension);
- if (!*result)
- err = ERROR_OUTOFMEMORY;
- }
- RegCloseKey(subKey);
- }
- RegCloseKey(key);
- }
-
- return HRESULT_FROM_WIN32(err);
-}
-
-const ResourceResponse& WebURLResponse::resourceResponse() const
-{
- return m_response;
-}
-
-#if USE(CFNETWORK)
-CFDictionaryRef WebURLResponse::certificateDictionary() const
-{
- if (m_SSLCertificateInfo)
- return m_SSLCertificateInfo.get();
-
- CFURLResponseRef cfResponse = m_response.cfURLResponse();
- if (!cfResponse)
- return 0;
- m_SSLCertificateInfo = wkGetSSLCertificateInfo(cfResponse);
- return m_SSLCertificateInfo.get();
-}
-#endif
diff --git a/Source/WebKit/win/WebURLResponse.h b/Source/WebKit/win/WebURLResponse.h
deleted file mode 100644
index 8e82a2b9d..000000000
--- a/Source/WebKit/win/WebURLResponse.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2006, 2007 Apple 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 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 WebURLResponse_H
-#define WebURLResponse_H
-
-#include "WebKit.h"
-#include <WebCore/ResourceResponse.h>
-
-class WebURLResponse : public IWebHTTPURLResponse, IWebURLResponsePrivate
-{
-public:
- static WebURLResponse* createInstance();
- static WebURLResponse* createInstance(const WebCore::ResourceResponse& response);
-protected:
- WebURLResponse();
- ~WebURLResponse();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebURLResponse
- virtual HRESULT STDMETHODCALLTYPE expectedContentLength(
- /* [retval][out] */ long long *result);
-
- virtual HRESULT STDMETHODCALLTYPE initWithURL(
- /* [in] */ BSTR url,
- /* [in] */ BSTR mimeType,
- /* [in] */ int expectedContentLength,
- /* [in] */ BSTR textEncodingName);
-
- virtual HRESULT STDMETHODCALLTYPE MIMEType(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE suggestedFilename(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE textEncodingName(
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE URL(
- /* [retval][out] */ BSTR *result);
-
- // IWebHTTPURLResponse
- virtual HRESULT STDMETHODCALLTYPE allHeaderFields(
- /* [retval][out] */ IPropertyBag **headerFields);
-
- virtual HRESULT STDMETHODCALLTYPE localizedStringForStatusCode(
- /* [in] */ int statusCode,
- /* [retval][out] */ BSTR *statusString);
-
- virtual HRESULT STDMETHODCALLTYPE statusCode(
- /* [retval][out] */ int *statusCode);
-
- virtual HRESULT STDMETHODCALLTYPE isAttachment(
- /* [retval][out] */ BOOL *attachment);
-
- // IWebURLResponsePrivate
- virtual HRESULT STDMETHODCALLTYPE sslPeerCertificate(
- /* [retval][out] */ OLE_HANDLE *result);
-
- const WebCore::ResourceResponse& resourceResponse() const;
-
-protected:
- HRESULT suggestedFileExtension(BSTR* result);
-
-#if USE(CFNETWORK)
- CFDictionaryRef certificateDictionary() const;
-#endif
-
-protected:
- ULONG m_refCount;
- WebCore::ResourceResponse m_response;
-
-#if USE(CFNETWORK)
- mutable RetainPtr<CFDictionaryRef> m_SSLCertificateInfo; // this ensures certificate contexts are valid for the lifetime of this WebURLResponse.
-#endif
-};
-
-#endif
diff --git a/Source/WebKit/win/WebUserContentURLPattern.cpp b/Source/WebKit/win/WebUserContentURLPattern.cpp
deleted file mode 100644
index 1c8c56949..000000000
--- a/Source/WebKit/win/WebUserContentURLPattern.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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 "WebUserContentURLPattern.h"
-
-#include "MarshallingHelpers.h"
-#include "WebKitDLL.h"
-
-#include <WebCore/BString.h>
-#include <WebCore/KURL.h>
-
-using namespace WebCore;
-
-inline WebUserContentURLPattern::WebUserContentURLPattern()
- : m_refCount(0)
-{
- ++gClassCount;
- gClassNameCount.add("WebUserContentURLPattern");
-}
-
-WebUserContentURLPattern::~WebUserContentURLPattern()
-{
- --gClassCount;
- gClassNameCount.remove("WebUserContentURLPattern");
-}
-
-COMPtr<WebUserContentURLPattern> WebUserContentURLPattern::createInstance()
-{
- return new WebUserContentURLPattern;
-}
-
-ULONG WebUserContentURLPattern::AddRef()
-{
- return ++m_refCount;
-}
-
-ULONG WebUserContentURLPattern::Release()
-{
- ULONG newRefCount = --m_refCount;
- if (!newRefCount)
- delete this;
- return newRefCount;
-}
-
-HRESULT WebUserContentURLPattern::QueryInterface(REFIID riid, void** ppvObject)
-{
- if (!ppvObject)
- return E_POINTER;
- *ppvObject = 0;
-
- if (IsEqualIID(riid, __uuidof(WebUserContentURLPattern)))
- *ppvObject = this;
- else if (IsEqualIID(riid, __uuidof(IWebUserContentURLPattern)))
- *ppvObject = static_cast<IWebUserContentURLPattern*>(this);
- else if (IsEqualIID(riid, IID_IUnknown))
- *ppvObject = static_cast<IUnknown*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-HRESULT WebUserContentURLPattern::parse(BSTR patternString)
-{
- m_pattern = UserContentURLPattern(String(patternString, SysStringLen(patternString)));
- return S_OK;
-}
-
-HRESULT WebUserContentURLPattern::isValid(BOOL* isValid)
-{
- if (!isValid)
- return E_POINTER;
- *isValid = m_pattern.isValid();
- return S_OK;
-}
-
-HRESULT WebUserContentURLPattern::scheme(BSTR* scheme)
-{
- if (!scheme)
- return E_POINTER;
- *scheme = BString(m_pattern.scheme()).release();
- return S_OK;
-}
-
-HRESULT WebUserContentURLPattern::host(BSTR* host)
-{
- if (!host)
- return E_POINTER;
- *host = BString(m_pattern.host()).release();
- return S_OK;
-}
-
-HRESULT WebUserContentURLPattern::matchesSubdomains(BOOL* matches)
-{
- if (!matches)
- return E_POINTER;
- *matches = m_pattern.matchSubdomains();
- return S_OK;
-}
-
-HRESULT WebUserContentURLPattern::matchesURL(BSTR url, BOOL* matches)
-{
- if (!matches)
- return E_POINTER;
- *matches = m_pattern.matches(MarshallingHelpers::BSTRToKURL(url));
- return S_OK;
-}
diff --git a/Source/WebKit/win/WebUserContentURLPattern.h b/Source/WebKit/win/WebUserContentURLPattern.h
deleted file mode 100644
index 88640937e..000000000
--- a/Source/WebKit/win/WebUserContentURLPattern.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2010 Apple 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 INC. 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 INC. 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 WebUserContentURLPattern_h
-#define WebUserContentURLPattern_h
-
-#include "WebKit.h"
-#include <WebCore/COMPtr.h>
-#include <WebCore/UserContentURLPattern.h>
-
-namespace WebCore {
- class UserContentURLPattern;
-}
-
-class WebUserContentURLPattern : public IWebUserContentURLPattern {
- WTF_MAKE_NONCOPYABLE(WebUserContentURLPattern);
-public:
- static COMPtr<WebUserContentURLPattern> createInstance();
-
- virtual ULONG STDMETHODCALLTYPE AddRef();
- virtual ULONG STDMETHODCALLTYPE Release();
-
-private:
- WebUserContentURLPattern();
- ~WebUserContentURLPattern();
-
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void** ppvObject);
- virtual HRESULT STDMETHODCALLTYPE parse(BSTR patternString);
- virtual HRESULT STDMETHODCALLTYPE isValid(BOOL*);
- virtual HRESULT STDMETHODCALLTYPE scheme(BSTR*);
- virtual HRESULT STDMETHODCALLTYPE host(BSTR*);
- virtual HRESULT STDMETHODCALLTYPE matchesSubdomains(BOOL* matches);
- virtual HRESULT STDMETHODCALLTYPE matchesURL(BSTR, BOOL*);
-
- ULONG m_refCount;
- WebCore::UserContentURLPattern m_pattern;
-};
-
-#endif // WebScriptWorld_h
diff --git a/Source/WebKit/win/WebView.cpp b/Source/WebKit/win/WebView.cpp
deleted file mode 100644
index b28011bec..000000000
--- a/Source/WebKit/win/WebView.cpp
+++ /dev/null
@@ -1,7086 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple, Inc. All rights reserved.
- * Copyright (C) 2009, 2010, 2011 Appcelerator, Inc. All rights reserved.
- * Copyright (C) 2011 Brent Fulgham. 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 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 "WebView.h"
-
-#include "CFDictionaryPropertyBag.h"
-#include "DOMCoreClasses.h"
-#include "FullscreenVideoController.h"
-#include "MarshallingHelpers.h"
-#include "SoftLinking.h"
-#include "TextIterator.h"
-#include "WebBackForwardList.h"
-#include "WebChromeClient.h"
-#include "WebContextMenuClient.h"
-#include "WebCoreTextRenderer.h"
-#include "WebDatabaseManager.h"
-#include "WebDocumentLoader.h"
-#include "WebDownload.h"
-#include "WebDragClient.h"
-#include "WebEditorClient.h"
-#include "WebElementPropertyBag.h"
-#include "WebFrame.h"
-#include "WebFrameNetworkingContext.h"
-#include "WebGeolocationClient.h"
-#include "WebGeolocationPosition.h"
-#include "WebIconDatabase.h"
-#include "WebInspector.h"
-#include "WebInspectorClient.h"
-#include "WebKit.h"
-#include "WebKitDLL.h"
-#include "WebKitLogging.h"
-#include "WebKitStatisticsPrivate.h"
-#include "WebKitSystemBits.h"
-#include "WebMutableURLRequest.h"
-#include "WebNotificationCenter.h"
-#include "WebPlatformStrategies.h"
-#include "WebPreferences.h"
-#include "WebScriptWorld.h"
-#include "resource.h"
-#include <JavaScriptCore/APICast.h>
-#include <JavaScriptCore/InitializeThreading.h>
-#include <JavaScriptCore/JSCJSValue.h>
-#include <JavaScriptCore/JSLock.h>
-#include <WebCore/AXObjectCache.h>
-#include <WebCore/ApplicationCacheStorage.h>
-#include <WebCore/BString.h>
-#include <WebCore/BackForwardListImpl.h>
-#include <WebCore/BitmapInfo.h>
-#include <WebCore/Chrome.h>
-#include <WebCore/ContextMenu.h>
-#include <WebCore/ContextMenuController.h>
-#include <WebCore/Cursor.h>
-#include <WebCore/DatabaseManager.h>
-#include <WebCore/Document.h>
-#include <WebCore/DocumentMarkerController.h>
-#include <WebCore/DragController.h>
-#include <WebCore/DragData.h>
-#include <WebCore/DragSession.h>
-#include <WebCore/Editor.h>
-#include <WebCore/EventHandler.h>
-#include <WebCore/EventNames.h>
-#include <WebCore/FileSystem.h>
-#include <WebCore/FloatQuad.h>
-#include <WebCore/FocusController.h>
-#include <WebCore/Frame.h>
-#include <WebCore/FrameLoader.h>
-#include <WebCore/FrameSelection.h>
-#include <WebCore/FrameTree.h>
-#include <WebCore/FrameView.h>
-#include <WebCore/FrameWin.h>
-#include <WebCore/GDIObjectCounter.h>
-#include <WebCore/GeolocationController.h>
-#include <WebCore/GeolocationError.h>
-#include <WebCore/GraphicsContext.h>
-#include <WebCore/HTMLMediaElement.h>
-#include <WebCore/HTMLNames.h>
-#include <WebCore/HWndDC.h>
-#include <WebCore/HistoryController.h>
-#include <WebCore/HistoryItem.h>
-#include <WebCore/HitTestRequest.h>
-#include <WebCore/HitTestResult.h>
-#include <WebCore/InitializeLogging.h>
-#include <WebCore/IntRect.h>
-#include <WebCore/JSElement.h>
-#include <WebCore/KeyboardEvent.h>
-#include <WebCore/MIMETypeRegistry.h>
-#include <WebCore/MemoryCache.h>
-#include <WebCore/Page.h>
-#include <WebCore/PageCache.h>
-#include <WebCore/PageGroup.h>
-#include <WebCore/PlatformKeyboardEvent.h>
-#include <WebCore/PlatformMouseEvent.h>
-#include <WebCore/PlatformWheelEvent.h>
-#include <WebCore/PluginData.h>
-#include <WebCore/PluginDatabase.h>
-#include <WebCore/PluginView.h>
-#include <WebCore/PopupMenu.h>
-#include <WebCore/PopupMenuWin.h>
-#include <WebCore/ProgressTracker.h>
-#include <WebCore/RenderLayer.h>
-#include <WebCore/RenderTheme.h>
-#include <WebCore/RenderTreeAsText.h>
-#include <WebCore/RenderView.h>
-#include <WebCore/RenderWidget.h>
-#include <WebCore/ResourceHandle.h>
-#include <WebCore/ResourceHandleClient.h>
-#include <WebCore/ResourceRequest.h>
-#include <WebCore/RuntimeEnabledFeatures.h>
-#include <WebCore/SchemeRegistry.h>
-#include <WebCore/ScriptController.h>
-#include <WebCore/ScriptValue.h>
-#include <WebCore/Scrollbar.h>
-#include <WebCore/ScrollbarTheme.h>
-#include <WebCore/SecurityOrigin.h>
-#include <WebCore/SecurityPolicy.h>
-#include <WebCore/Settings.h>
-#include <WebCore/SimpleFontData.h>
-#include <WebCore/SystemInfo.h>
-#include <WebCore/WindowMessageBroadcaster.h>
-#include <WebCore/WindowsTouch.h>
-#include <wtf/MainThread.h>
-
-#if USE(CG)
-#include <CoreGraphics/CGContext.h>
-#endif
-
-#if USE(CF)
-#include <CoreFoundation/CoreFoundation.h>
-#endif
-
-#if USE(CFNETWORK)
-#include <CFNetwork/CFURLCachePriv.h>
-#include <CFNetwork/CFURLProtocolPriv.h>
-#include <WebKitSystemInterface/WebKitSystemInterface.h>
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
-#include <WebCore/CACFLayerTreeHost.h>
-#include <WebCore/PlatformCALayer.h>
-#endif
-
-#if ENABLE(FULLSCREEN_API)
-#include <WebCore/FullScreenController.h>
-#endif
-
-#include <ShlObj.h>
-#include <comutil.h>
-#include <dimm.h>
-#include <oleacc.h>
-#include <wchar.h>
-#include <windowsx.h>
-#include <wtf/HashSet.h>
-#include <wtf/text/CString.h>
-#include <wtf/text/StringConcatenate.h>
-
-// Soft link functions for gestures and panning feedback
-SOFT_LINK_LIBRARY(USER32);
-SOFT_LINK_OPTIONAL(USER32, GetGestureInfo, BOOL, WINAPI, (HGESTUREINFO, PGESTUREINFO));
-SOFT_LINK_OPTIONAL(USER32, SetGestureConfig, BOOL, WINAPI, (HWND, DWORD, UINT, PGESTURECONFIG, UINT));
-SOFT_LINK_OPTIONAL(USER32, CloseGestureInfoHandle, BOOL, WINAPI, (HGESTUREINFO));
-SOFT_LINK_LIBRARY(Uxtheme);
-SOFT_LINK_OPTIONAL(Uxtheme, BeginPanningFeedback, BOOL, WINAPI, (HWND));
-SOFT_LINK_OPTIONAL(Uxtheme, EndPanningFeedback, BOOL, WINAPI, (HWND, BOOL));
-SOFT_LINK_OPTIONAL(Uxtheme, UpdatePanningFeedback, BOOL, WINAPI, (HWND, LONG, LONG, BOOL));
-
-using namespace WebCore;
-using namespace std;
-using JSC::JSLock;
-
-static HMODULE accessibilityLib;
-static HashSet<WebView*> pendingDeleteBackingStoreSet;
-
-static CFStringRef WebKitLocalCacheDefaultsKey = CFSTR("WebKitLocalCache");
-
-static String webKitVersionString();
-
-WebView* kit(Page* page)
-{
- if (!page)
- return 0;
-
- ChromeClient* chromeClient = page->chrome().client();
- if (chromeClient->isEmptyChromeClient())
- return 0;
-
- return static_cast<WebChromeClient*>(chromeClient)->webView();
-}
-
-static inline AtomicString toAtomicString(BSTR bstr)
-{
- return AtomicString(bstr, SysStringLen(bstr));
-}
-
-static inline String toString(BSTR bstr)
-{
- return String(bstr, SysStringLen(bstr));
-}
-
-static inline KURL toKURL(BSTR bstr)
-{
- return KURL(KURL(), toString(bstr));
-}
-
-class PreferencesChangedOrRemovedObserver : public IWebNotificationObserver {
-public:
- static PreferencesChangedOrRemovedObserver* sharedInstance();
-
-private:
- PreferencesChangedOrRemovedObserver() {}
- ~PreferencesChangedOrRemovedObserver() {}
-
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID, void**) { return E_FAIL; }
- virtual ULONG STDMETHODCALLTYPE AddRef(void) { return 0; }
- virtual ULONG STDMETHODCALLTYPE Release(void) { return 0; }
-
-public:
- // IWebNotificationObserver
- virtual HRESULT STDMETHODCALLTYPE onNotify(
- /* [in] */ IWebNotification* notification);
-
-private:
- HRESULT notifyPreferencesChanged(WebCacheModel);
- HRESULT notifyPreferencesRemoved(WebCacheModel);
-};
-
-PreferencesChangedOrRemovedObserver* PreferencesChangedOrRemovedObserver::sharedInstance()
-{
- static PreferencesChangedOrRemovedObserver* shared = new PreferencesChangedOrRemovedObserver;
- return shared;
-}
-
-HRESULT PreferencesChangedOrRemovedObserver::onNotify(IWebNotification* notification)
-{
- HRESULT hr = S_OK;
-
- COMPtr<IUnknown> unkPrefs;
- hr = notification->getObject(&unkPrefs);
- if (FAILED(hr))
- return hr;
-
- COMPtr<IWebPreferences> preferences(Query, unkPrefs);
- if (!preferences)
- return E_NOINTERFACE;
-
- WebCacheModel cacheModel;
- hr = preferences->cacheModel(&cacheModel);
- if (FAILED(hr))
- return hr;
-
- BString name;
- hr = notification->name(&name);
- if (FAILED(hr))
- return hr;
-
- if (wcscmp(name, WebPreferences::webPreferencesChangedNotification()) == 0)
- return notifyPreferencesChanged(cacheModel);
-
- if (wcscmp(name, WebPreferences::webPreferencesRemovedNotification()) == 0)
- return notifyPreferencesRemoved(cacheModel);
-
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT PreferencesChangedOrRemovedObserver::notifyPreferencesChanged(WebCacheModel cacheModel)
-{
- HRESULT hr = S_OK;
-
- if (!WebView::didSetCacheModel() || cacheModel > WebView::cacheModel())
- WebView::setCacheModel(cacheModel);
- else if (cacheModel < WebView::cacheModel()) {
- WebCacheModel sharedPreferencesCacheModel;
- hr = WebPreferences::sharedStandardPreferences()->cacheModel(&sharedPreferencesCacheModel);
- if (FAILED(hr))
- return hr;
- WebView::setCacheModel(max(sharedPreferencesCacheModel, WebView::maxCacheModelInAnyInstance()));
- }
-
- return hr;
-}
-
-HRESULT PreferencesChangedOrRemovedObserver::notifyPreferencesRemoved(WebCacheModel cacheModel)
-{
- HRESULT hr = S_OK;
-
- if (cacheModel == WebView::cacheModel()) {
- WebCacheModel sharedPreferencesCacheModel;
- hr = WebPreferences::sharedStandardPreferences()->cacheModel(&sharedPreferencesCacheModel);
- if (FAILED(hr))
- return hr;
- WebView::setCacheModel(max(sharedPreferencesCacheModel, WebView::maxCacheModelInAnyInstance()));
- }
-
- return hr;
-}
-
-
-const LPCWSTR kWebViewWindowClassName = L"WebViewWindowClass";
-
-const int WM_XP_THEMECHANGED = 0x031A;
-const int WM_VISTA_MOUSEHWHEEL = 0x020E;
-
-static const int maxToolTipWidth = 250;
-
-static const int delayBeforeDeletingBackingStoreMsec = 5000;
-
-static ATOM registerWebView();
-
-static void initializeStaticObservers();
-
-static HRESULT updateSharedSettingsFromPreferencesIfNeeded(IWebPreferences*);
-
-HRESULT createMatchEnumerator(Vector<IntRect>* rects, IEnumTextMatches** matches);
-
-static bool continuousSpellCheckingEnabled;
-static bool grammarCheckingEnabled;
-
-static bool s_didSetCacheModel;
-static WebCacheModel s_cacheModel = WebCacheModelDocumentViewer;
-
-enum {
- UpdateActiveStateTimer = 1,
- DeleteBackingStoreTimer = 2,
-};
-
-// WebView ----------------------------------------------------------------
-
-bool WebView::s_allowSiteSpecificHacks = false;
-
-WebView::WebView()
- : m_refCount(0)
- , m_shouldInvertColors(false)
-#if !ASSERT_DISABLED
- , m_deletionHasBegun(false)
-#endif
- , m_hostWindow(0)
- , m_viewWindow(0)
- , m_mainFrame(0)
- , m_page(0)
-#if ENABLE(INSPECTOR)
- , m_inspectorClient(0)
-#endif // ENABLE(INSPECTOR)
- , m_hasCustomDropTarget(false)
- , m_useBackForwardList(true)
- , m_userAgentOverridden(false)
- , m_zoomMultiplier(1.0f)
- , m_zoomsTextOnly(false)
- , m_mouseActivated(false)
- , m_dragData(0)
- , m_currentCharacterCode(0)
- , m_isBeingDestroyed(false)
- , m_paintCount(0)
- , m_hasSpellCheckerDocumentTag(false)
- , m_didClose(false)
- , m_inIMEComposition(0)
- , m_toolTipHwnd(0)
- , m_closeWindowTimer(0)
- , m_topLevelParent(0)
- , m_deleteBackingStoreTimerActive(false)
- , m_transparent(false)
- , m_lastPanX(0)
- , m_lastPanY(0)
- , m_xOverpan(0)
- , m_yOverpan(0)
-#if USE(ACCELERATED_COMPOSITING)
- , m_isAcceleratedCompositing(false)
-#endif
- , m_nextDisplayIsSynchronous(false)
- , m_lastSetCursor(0)
- , m_usesLayeredWindow(false)
-{
- JSC::initializeThreading();
- WTF::initializeMainThread();
-
- m_backingStoreSize.cx = m_backingStoreSize.cy = 0;
-
- CoCreateInstance(CLSID_DragDropHelper, 0, CLSCTX_INPROC_SERVER, IID_IDropTargetHelper,(void**)&m_dropTargetHelper);
-
- initializeStaticObservers();
-
- WebPreferences* sharedPreferences = WebPreferences::sharedStandardPreferences();
- BOOL enabled;
- if (SUCCEEDED(sharedPreferences->continuousSpellCheckingEnabled(&enabled)))
- continuousSpellCheckingEnabled = !!enabled;
- if (SUCCEEDED(sharedPreferences->grammarCheckingEnabled(&enabled)))
- grammarCheckingEnabled = !!enabled;
-
- WebViewCount++;
- gClassCount++;
- gClassNameCount.add("WebView");
-}
-
-WebView::~WebView()
-{
- deleteBackingStore();
-
- // the tooltip window needs to be explicitly destroyed since it isn't a WS_CHILD
- if (::IsWindow(m_toolTipHwnd))
- ::DestroyWindow(m_toolTipHwnd);
-
- ASSERT(!m_page);
- ASSERT(!m_preferences);
- ASSERT(!m_viewWindow);
-
-#if USE(ACCELERATED_COMPOSITING)
- ASSERT(!m_layerTreeHost);
- ASSERT(!m_backingLayer);
-#endif
-
- WebViewCount--;
- gClassCount--;
- gClassNameCount.remove("WebView");
-}
-
-WebView* WebView::createInstance()
-{
- WebView* instance = new WebView();
- instance->AddRef();
- return instance;
-}
-
-void initializeStaticObservers()
-{
- static bool initialized;
- if (initialized)
- return;
- initialized = true;
-
- IWebNotificationCenter* notifyCenter = WebNotificationCenter::defaultCenterInternal();
- notifyCenter->addObserver(PreferencesChangedOrRemovedObserver::sharedInstance(), WebPreferences::webPreferencesChangedNotification(), 0);
- notifyCenter->addObserver(PreferencesChangedOrRemovedObserver::sharedInstance(), WebPreferences::webPreferencesRemovedNotification(), 0);
-}
-
-static HashSet<WebView*>& allWebViewsSet()
-{
- static HashSet<WebView*> allWebViewsSet;
- return allWebViewsSet;
-}
-
-void WebView::addToAllWebViewsSet()
-{
- allWebViewsSet().add(this);
-}
-
-void WebView::removeFromAllWebViewsSet()
-{
- allWebViewsSet().remove(this);
-}
-
-void WebView::setCacheModel(WebCacheModel cacheModel)
-{
-#if USE(CFNETWORK)
- if (s_didSetCacheModel && cacheModel == s_cacheModel)
- return;
-
- RetainPtr<CFURLCacheRef> cfurlCache = adoptCF(CFURLCacheCopySharedURLCache());
- RetainPtr<CFStringRef> cfurlCacheDirectory = adoptCF(wkCopyFoundationCacheDirectory(0));
- if (!cfurlCacheDirectory) {
- RetainPtr<CFPropertyListRef> preference = adoptCF(CFPreferencesCopyAppValue(WebKitLocalCacheDefaultsKey, kCFPreferencesCurrentApplication));
- if (preference && (CFStringGetTypeID() == CFGetTypeID(preference.get())))
- cfurlCacheDirectory = adoptCF(static_cast<CFStringRef>(preference.leakRef()));
- else
- cfurlCacheDirectory = WebCore::localUserSpecificStorageDirectory().createCFString();
- }
-
- // As a fudge factor, use 1000 instead of 1024, in case the reported byte
- // count doesn't align exactly to a megabyte boundary.
- unsigned long long memSize = WebMemorySize() / 1024 / 1000;
- unsigned long long diskFreeSize = WebVolumeFreeSize(cfurlCacheDirectory.get()) / 1024 / 1000;
-
- unsigned cacheTotalCapacity = 0;
- unsigned cacheMinDeadCapacity = 0;
- unsigned cacheMaxDeadCapacity = 0;
- double deadDecodedDataDeletionInterval = 0;
-
- unsigned pageCacheCapacity = 0;
-
- CFIndex cfurlCacheMemoryCapacity = 0;
- CFIndex cfurlCacheDiskCapacity = 0;
-
- switch (cacheModel) {
- case WebCacheModelDocumentViewer: {
- // Page cache capacity (in pages)
- pageCacheCapacity = 0;
-
- // Object cache capacities (in bytes)
- if (memSize >= 2048)
- cacheTotalCapacity = 96 * 1024 * 1024;
- else if (memSize >= 1536)
- cacheTotalCapacity = 64 * 1024 * 1024;
- else if (memSize >= 1024)
- cacheTotalCapacity = 32 * 1024 * 1024;
- else if (memSize >= 512)
- cacheTotalCapacity = 16 * 1024 * 1024;
-
- cacheMinDeadCapacity = 0;
- cacheMaxDeadCapacity = 0;
-
- // Foundation memory cache capacity (in bytes)
- cfurlCacheMemoryCapacity = 0;
-
- // Foundation disk cache capacity (in bytes)
- cfurlCacheDiskCapacity = CFURLCacheDiskCapacity(cfurlCache.get());
-
- break;
- }
- case WebCacheModelDocumentBrowser: {
- // Page cache capacity (in pages)
- if (memSize >= 1024)
- pageCacheCapacity = 3;
- else if (memSize >= 512)
- pageCacheCapacity = 2;
- else if (memSize >= 256)
- pageCacheCapacity = 1;
- else
- pageCacheCapacity = 0;
-
- // Object cache capacities (in bytes)
- if (memSize >= 2048)
- cacheTotalCapacity = 96 * 1024 * 1024;
- else if (memSize >= 1536)
- cacheTotalCapacity = 64 * 1024 * 1024;
- else if (memSize >= 1024)
- cacheTotalCapacity = 32 * 1024 * 1024;
- else if (memSize >= 512)
- cacheTotalCapacity = 16 * 1024 * 1024;
-
- cacheMinDeadCapacity = cacheTotalCapacity / 8;
- cacheMaxDeadCapacity = cacheTotalCapacity / 4;
-
- // Foundation memory cache capacity (in bytes)
- if (memSize >= 2048)
- cfurlCacheMemoryCapacity = 4 * 1024 * 1024;
- else if (memSize >= 1024)
- cfurlCacheMemoryCapacity = 2 * 1024 * 1024;
- else if (memSize >= 512)
- cfurlCacheMemoryCapacity = 1 * 1024 * 1024;
- else
- cfurlCacheMemoryCapacity = 512 * 1024;
-
- // Foundation disk cache capacity (in bytes)
- if (diskFreeSize >= 16384)
- cfurlCacheDiskCapacity = 50 * 1024 * 1024;
- else if (diskFreeSize >= 8192)
- cfurlCacheDiskCapacity = 40 * 1024 * 1024;
- else if (diskFreeSize >= 4096)
- cfurlCacheDiskCapacity = 30 * 1024 * 1024;
- else
- cfurlCacheDiskCapacity = 20 * 1024 * 1024;
-
- break;
- }
- case WebCacheModelPrimaryWebBrowser: {
- // Page cache capacity (in pages)
- // (Research indicates that value / page drops substantially after 3 pages.)
- if (memSize >= 2048)
- pageCacheCapacity = 5;
- else if (memSize >= 1024)
- pageCacheCapacity = 4;
- else if (memSize >= 512)
- pageCacheCapacity = 3;
- else if (memSize >= 256)
- pageCacheCapacity = 2;
- else
- pageCacheCapacity = 1;
-
- // Object cache capacities (in bytes)
- // (Testing indicates that value / MB depends heavily on content and
- // browsing pattern. Even growth above 128MB can have substantial
- // value / MB for some content / browsing patterns.)
- if (memSize >= 2048)
- cacheTotalCapacity = 128 * 1024 * 1024;
- else if (memSize >= 1536)
- cacheTotalCapacity = 96 * 1024 * 1024;
- else if (memSize >= 1024)
- cacheTotalCapacity = 64 * 1024 * 1024;
- else if (memSize >= 512)
- cacheTotalCapacity = 32 * 1024 * 1024;
-
- cacheMinDeadCapacity = cacheTotalCapacity / 4;
- cacheMaxDeadCapacity = cacheTotalCapacity / 2;
-
- // This code is here to avoid a PLT regression. We can remove it if we
- // can prove that the overall system gain would justify the regression.
- cacheMaxDeadCapacity = max(24u, cacheMaxDeadCapacity);
-
- deadDecodedDataDeletionInterval = 60;
-
- // Foundation memory cache capacity (in bytes)
- // (These values are small because WebCore does most caching itself.)
- if (memSize >= 1024)
- cfurlCacheMemoryCapacity = 4 * 1024 * 1024;
- else if (memSize >= 512)
- cfurlCacheMemoryCapacity = 2 * 1024 * 1024;
- else if (memSize >= 256)
- cfurlCacheMemoryCapacity = 1 * 1024 * 1024;
- else
- cfurlCacheMemoryCapacity = 512 * 1024;
-
- // Foundation disk cache capacity (in bytes)
- if (diskFreeSize >= 16384)
- cfurlCacheDiskCapacity = 175 * 1024 * 1024;
- else if (diskFreeSize >= 8192)
- cfurlCacheDiskCapacity = 150 * 1024 * 1024;
- else if (diskFreeSize >= 4096)
- cfurlCacheDiskCapacity = 125 * 1024 * 1024;
- else if (diskFreeSize >= 2048)
- cfurlCacheDiskCapacity = 100 * 1024 * 1024;
- else if (diskFreeSize >= 1024)
- cfurlCacheDiskCapacity = 75 * 1024 * 1024;
- else
- cfurlCacheDiskCapacity = 50 * 1024 * 1024;
-
- break;
- }
- default:
- ASSERT_NOT_REACHED();
- }
-
- // Don't shrink a big disk cache, since that would cause churn.
- cfurlCacheDiskCapacity = max(cfurlCacheDiskCapacity, CFURLCacheDiskCapacity(cfurlCache.get()));
-
- memoryCache()->setCapacities(cacheMinDeadCapacity, cacheMaxDeadCapacity, cacheTotalCapacity);
- memoryCache()->setDeadDecodedDataDeletionInterval(deadDecodedDataDeletionInterval);
- pageCache()->setCapacity(pageCacheCapacity);
-
- CFURLCacheSetMemoryCapacity(cfurlCache.get(), cfurlCacheMemoryCapacity);
- CFURLCacheSetDiskCapacity(cfurlCache.get(), cfurlCacheDiskCapacity);
-
- s_didSetCacheModel = true;
- s_cacheModel = cacheModel;
- return;
-#endif
-}
-
-WebCacheModel WebView::cacheModel()
-{
- return s_cacheModel;
-}
-
-bool WebView::didSetCacheModel()
-{
- return s_didSetCacheModel;
-}
-
-WebCacheModel WebView::maxCacheModelInAnyInstance()
-{
- WebCacheModel cacheModel = WebCacheModelDocumentViewer;
-
- HashSet<WebView*>::iterator end = allWebViewsSet().end();
- for (HashSet<WebView*>::iterator it = allWebViewsSet().begin(); it != end; ++it) {
- COMPtr<IWebPreferences> pref;
- if (FAILED((*it)->preferences(&pref)))
- continue;
- WebCacheModel prefCacheModel = WebCacheModelDocumentViewer;
- if (FAILED(pref->cacheModel(&prefCacheModel)))
- continue;
-
- cacheModel = max(cacheModel, prefCacheModel);
- }
-
- return cacheModel;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::close()
-{
- if (m_didClose)
- return S_OK;
-
- m_didClose = true;
-
-#if USE(ACCELERATED_COMPOSITING)
- setAcceleratedCompositing(false);
-#endif
-
- WebNotificationCenter::defaultCenterInternal()->postNotificationName(_bstr_t(WebViewWillCloseNotification).GetBSTR(), static_cast<IWebView*>(this), 0);
-
- if (m_uiDelegatePrivate)
- m_uiDelegatePrivate->webViewClosing(this);
-
- removeFromAllWebViewsSet();
-
- if (m_page) {
- if (Frame* frame = m_page->mainFrame())
- frame->loader()->detachFromParent();
- }
-
- if (m_mouseOutTracker) {
- m_mouseOutTracker->dwFlags = TME_CANCEL;
- ::TrackMouseEvent(m_mouseOutTracker.get());
- m_mouseOutTracker.clear();
- }
-
- revokeDragDrop();
-
- if (m_viewWindow) {
- // We can't check IsWindow(m_viewWindow) here, because that will return true even while
- // we're already handling WM_DESTROY. So we check !isBeingDestroyed() instead.
- if (!isBeingDestroyed())
- DestroyWindow(m_viewWindow);
- // Either we just destroyed m_viewWindow, or it's in the process of being destroyed. Either
- // way, we clear it out to make sure we don't try to use it later.
- m_viewWindow = 0;
- }
-
- setHostWindow(0);
-
- setAccessibilityDelegate(0);
- setDownloadDelegate(0);
- setEditingDelegate(0);
- setFrameLoadDelegate(0);
- setFrameLoadDelegatePrivate(0);
- setHistoryDelegate(0);
- setPolicyDelegate(0);
- setResourceLoadDelegate(0);
- setUIDelegate(0);
- setFormDelegate(0);
-
-#if ENABLE(INSPECTOR)
- m_inspectorClient = 0;
- if (m_webInspector)
- m_webInspector->webViewClosed();
-#endif // ENABLE(INSPECTOR)
-
- delete m_page;
- m_page = 0;
-
- registerForIconNotification(false);
- IWebNotificationCenter* notifyCenter = WebNotificationCenter::defaultCenterInternal();
- notifyCenter->removeObserver(this, WebPreferences::webPreferencesChangedNotification(), static_cast<IWebPreferences*>(m_preferences.get()));
-
- if (COMPtr<WebPreferences> preferences = m_preferences) {
- BString identifier;
- preferences->identifier(&identifier);
-
- m_preferences = 0;
- preferences->didRemoveFromWebView();
- // Make sure we release the reference, since WebPreferences::removeReferenceForIdentifier will check for last reference to WebPreferences
- preferences = 0;
- if (identifier)
- WebPreferences::removeReferenceForIdentifier(identifier);
- }
-
- deleteBackingStore();
- return S_OK;
-}
-
-void WebView::repaint(const WebCore::IntRect& windowRect, bool contentChanged, bool immediate, bool repaintContentOnly)
-{
-#if USE(ACCELERATED_COMPOSITING)
- if (isAcceleratedCompositing()) {
- // The contentChanged, immediate, and repaintContentOnly parameters are all based on a non-
- // compositing painting/scrolling model.
- addToDirtyRegion(windowRect);
- return;
- }
-#endif
-
- if (!repaintContentOnly) {
- RECT rect = windowRect;
- ::InvalidateRect(m_viewWindow, &rect, false);
- }
- if (contentChanged)
- addToDirtyRegion(windowRect);
- if (immediate) {
- if (repaintContentOnly)
- updateBackingStore(core(topLevelFrame())->view());
- else
- ::UpdateWindow(m_viewWindow);
- }
-}
-
-void WebView::deleteBackingStore()
-{
- pendingDeleteBackingStoreSet.remove(this);
-
- if (m_deleteBackingStoreTimerActive) {
- KillTimer(m_viewWindow, DeleteBackingStoreTimer);
- m_deleteBackingStoreTimerActive = false;
- }
- m_backingStoreBitmap.clear();
- m_backingStoreDirtyRegion.clear();
- m_backingStoreSize.cx = m_backingStoreSize.cy = 0;
-}
-
-bool WebView::ensureBackingStore()
-{
- RECT windowRect;
- ::GetClientRect(m_viewWindow, &windowRect);
- LONG width = windowRect.right - windowRect.left;
- LONG height = windowRect.bottom - windowRect.top;
- if (width > 0 && height > 0 && (width != m_backingStoreSize.cx || height != m_backingStoreSize.cy)) {
- deleteBackingStore();
-
- m_backingStoreSize.cx = width;
- m_backingStoreSize.cy = height;
- BitmapInfo bitmapInfo = BitmapInfo::createBottomUp(IntSize(m_backingStoreSize));
-
- void* pixels = NULL;
- m_backingStoreBitmap = RefCountedHBITMAP::create(::CreateDIBSection(0, &bitmapInfo, DIB_RGB_COLORS, &pixels, 0, 0));
- return true;
- }
-
- return false;
-}
-
-void WebView::addToDirtyRegion(const IntRect& dirtyRect)
-{
- // FIXME: We want an assert here saying that the dirtyRect is inside the clienRect,
- // but it was being hit during our layout tests, and is being investigated in
- // http://webkit.org/b/29350.
-
-#if USE(ACCELERATED_COMPOSITING)
- if (isAcceleratedCompositing()) {
- m_backingLayer->setNeedsDisplayInRect(dirtyRect);
- return;
- }
-#endif
-
- HRGN newRegion = ::CreateRectRgn(dirtyRect.x(), dirtyRect.y(),
- dirtyRect.maxX(), dirtyRect.maxY());
- addToDirtyRegion(newRegion);
-}
-
-void WebView::addToDirtyRegion(HRGN newRegion)
-{
-#if USE(ACCELERATED_COMPOSITING)
- ASSERT(!isAcceleratedCompositing());
-#endif
-
- LOCAL_GDI_COUNTER(0, __FUNCTION__);
-
- if (m_backingStoreDirtyRegion) {
- HRGN combinedRegion = ::CreateRectRgn(0,0,0,0);
- ::CombineRgn(combinedRegion, m_backingStoreDirtyRegion->handle(), newRegion, RGN_OR);
- ::DeleteObject(newRegion);
- m_backingStoreDirtyRegion = RefCountedHRGN::create(combinedRegion);
- } else
- m_backingStoreDirtyRegion = RefCountedHRGN::create(newRegion);
-
- if (m_uiDelegatePrivate)
- m_uiDelegatePrivate->webViewDidInvalidate(this);
-}
-
-void WebView::scrollBackingStore(FrameView* frameView, int dx, int dy, const IntRect& scrollViewRect, const IntRect& clipRect)
-{
-#if USE(ACCELERATED_COMPOSITING)
- if (isAcceleratedCompositing()) {
- // FIXME: We should be doing something smarter here, like moving tiles around and painting
- // any newly-exposed tiles. <http://webkit.org/b/52714>
- m_backingLayer->setNeedsDisplayInRect(scrollViewRect);
- return;
- }
-#endif
-
- LOCAL_GDI_COUNTER(0, __FUNCTION__);
-
- // If there's no backing store we don't need to update it
- if (!m_backingStoreBitmap) {
- if (m_uiDelegatePrivate)
- m_uiDelegatePrivate->webViewScrolled(this);
-
- return;
- }
-
- // Make a region to hold the invalidated scroll area.
- HRGN updateRegion = ::CreateRectRgn(0, 0, 0, 0);
-
- // Collect our device context info and select the bitmap to scroll.
- HWndDC windowDC(m_viewWindow);
- HDC bitmapDC = ::CreateCompatibleDC(windowDC);
- HGDIOBJ oldBitmap = ::SelectObject(bitmapDC, m_backingStoreBitmap->handle());
-
- // Scroll the bitmap.
- RECT scrollRectWin(scrollViewRect);
- RECT clipRectWin(clipRect);
- ::ScrollDC(bitmapDC, dx, dy, &scrollRectWin, &clipRectWin, updateRegion, 0);
- RECT regionBox;
- ::GetRgnBox(updateRegion, &regionBox);
-
- // Flush.
- GdiFlush();
-
- // Add the dirty region to the backing store's dirty region.
- addToDirtyRegion(updateRegion);
-
- if (m_uiDelegatePrivate)
- m_uiDelegatePrivate->webViewScrolled(this);
-
- // Update the backing store.
- updateBackingStore(frameView, bitmapDC, false);
-
- // Clean up.
- ::SelectObject(bitmapDC, oldBitmap);
- ::DeleteDC(bitmapDC);
-}
-
-void WebView::sizeChanged(const IntSize& newSize)
-{
- deleteBackingStore();
-
- if (Frame* coreFrame = core(topLevelFrame()))
- coreFrame->view()->resize(newSize);
-
-#if USE(ACCELERATED_COMPOSITING)
- if (m_layerTreeHost)
- m_layerTreeHost->resize();
- if (m_backingLayer) {
- m_backingLayer->setSize(newSize);
- m_backingLayer->setNeedsDisplay();
- }
-#endif
-}
-
-// This emulates the Mac smarts for painting rects intelligently. This is very
-// important for us, since we double buffer based off dirty rects.
-static void getUpdateRects(HRGN region, const IntRect& dirtyRect, Vector<IntRect>& rects)
-{
- ASSERT_ARG(region, region);
-
- const int cRectThreshold = 10;
- const float cWastedSpaceThreshold = 0.75f;
-
- rects.clear();
-
- DWORD regionDataSize = GetRegionData(region, sizeof(RGNDATA), NULL);
- if (!regionDataSize) {
- rects.append(dirtyRect);
- return;
- }
-
- Vector<unsigned char> buffer(regionDataSize);
- RGNDATA* regionData = reinterpret_cast<RGNDATA*>(buffer.data());
- GetRegionData(region, regionDataSize, regionData);
- if (regionData->rdh.nCount > cRectThreshold) {
- rects.append(dirtyRect);
- return;
- }
-
- double singlePixels = 0.0;
- unsigned i;
- RECT* rect;
- for (i = 0, rect = reinterpret_cast<RECT*>(regionData->Buffer); i < regionData->rdh.nCount; i++, rect++)
- singlePixels += (rect->right - rect->left) * (rect->bottom - rect->top);
-
- double unionPixels = dirtyRect.width() * dirtyRect.height();
- double wastedSpace = 1.0 - (singlePixels / unionPixels);
- if (wastedSpace <= cWastedSpaceThreshold) {
- rects.append(dirtyRect);
- return;
- }
-
- for (i = 0, rect = reinterpret_cast<RECT*>(regionData->Buffer); i < regionData->rdh.nCount; i++, rect++)
- rects.append(*rect);
-}
-
-void WebView::updateBackingStore(FrameView* frameView, HDC dc, bool backingStoreCompletelyDirty, WindowsToPaint windowsToPaint)
-{
-#if USE(ACCELERATED_COMPOSITING)
- ASSERT(!isAcceleratedCompositing());
-#endif
-
- LOCAL_GDI_COUNTER(0, __FUNCTION__);
-
- HDC bitmapDC = dc;
- HGDIOBJ oldBitmap = 0;
- if (!dc) {
- HWndDC windowDC(m_viewWindow);
- bitmapDC = ::CreateCompatibleDC(windowDC);
- oldBitmap = ::SelectObject(bitmapDC, m_backingStoreBitmap->handle());
- }
-
- if (m_backingStoreBitmap && (m_backingStoreDirtyRegion || backingStoreCompletelyDirty)) {
- // Do a layout first so that everything we render to the backing store is always current.
- if (Frame* coreFrame = core(m_mainFrame))
- if (FrameView* view = coreFrame->view())
- view->updateLayoutAndStyleIfNeededRecursive();
-
- Vector<IntRect> paintRects;
- if (!backingStoreCompletelyDirty && m_backingStoreDirtyRegion) {
- RECT regionBox;
- ::GetRgnBox(m_backingStoreDirtyRegion->handle(), &regionBox);
- getUpdateRects(m_backingStoreDirtyRegion->handle(), regionBox, paintRects);
- } else {
- RECT clientRect;
- ::GetClientRect(m_viewWindow, &clientRect);
- paintRects.append(clientRect);
- }
-
- for (unsigned i = 0; i < paintRects.size(); ++i)
- paintIntoBackingStore(frameView, bitmapDC, paintRects[i], windowsToPaint);
-
- if (m_uiDelegatePrivate)
- m_uiDelegatePrivate->webViewPainted(this);
-
- m_backingStoreDirtyRegion.clear();
- }
-
- if (!dc) {
- ::SelectObject(bitmapDC, oldBitmap);
- ::DeleteDC(bitmapDC);
- }
-
- GdiFlush();
-}
-
-void WebView::performLayeredWindowUpdate()
-{
- // The backing store may have been destroyed if the window rect was set to zero height or zero width.
- if (!m_backingStoreBitmap)
- return;
-
- HWndDC hdcScreen(m_viewWindow);
- OwnPtr<HDC> hdcMem = adoptPtr(::CreateCompatibleDC(hdcScreen));
- HBITMAP hbmOld = static_cast<HBITMAP>(::SelectObject(hdcMem.get(), m_backingStoreBitmap->handle()));
-
- BITMAP bmpInfo;
- ::GetObject(m_backingStoreBitmap->handle(), sizeof(bmpInfo), &bmpInfo);
- SIZE windowSize = { bmpInfo.bmWidth, bmpInfo.bmHeight };
-
- BLENDFUNCTION blendFunction;
- blendFunction.BlendOp = AC_SRC_OVER;
- blendFunction.BlendFlags = 0;
- blendFunction.SourceConstantAlpha = 0xFF;
- blendFunction.AlphaFormat = AC_SRC_ALPHA;
-
- POINT layerPos = { 0, 0 };
- ::UpdateLayeredWindow(m_viewWindow, hdcScreen, 0, &windowSize, hdcMem.get(), &layerPos, 0, &blendFunction, ULW_ALPHA);
-
- ::SelectObject(hdcMem.get(), hbmOld);
-}
-
-void WebView::paint(HDC dc, LPARAM options)
-{
- LOCAL_GDI_COUNTER(0, __FUNCTION__);
-
-#if USE(ACCELERATED_COMPOSITING)
- if (isAcceleratedCompositing() && !usesLayeredWindow()) {
- m_layerTreeHost->flushPendingLayerChangesNow();
- // Flushing might have taken us out of compositing mode.
- if (isAcceleratedCompositing()) {
- // FIXME: We need to paint into dc (if provided). <http://webkit.org/b/52578>
- m_layerTreeHost->paint();
- ::ValidateRect(m_viewWindow, 0);
- return;
- }
- }
-#endif
-
- Frame* coreFrame = core(m_mainFrame);
- if (!coreFrame)
- return;
- FrameView* frameView = coreFrame->view();
-
- RECT rcPaint;
- HDC hdc;
- OwnPtr<HRGN> region;
- int regionType = NULLREGION;
- PAINTSTRUCT ps;
- WindowsToPaint windowsToPaint;
- if (!dc) {
- region = adoptPtr(CreateRectRgn(0,0,0,0));
- regionType = GetUpdateRgn(m_viewWindow, region.get(), false);
- hdc = BeginPaint(m_viewWindow, &ps);
- rcPaint = ps.rcPaint;
- // We're painting to the screen, and our child windows can handle
- // painting themselves to the screen.
- windowsToPaint = PaintWebViewOnly;
- } else {
- hdc = dc;
- ::GetClientRect(m_viewWindow, &rcPaint);
- if (options & PRF_ERASEBKGND)
- ::FillRect(hdc, &rcPaint, (HBRUSH)GetStockObject(WHITE_BRUSH));
- // Since we aren't painting to the screen, we want to paint all our
- // children into the HDC.
- windowsToPaint = PaintWebViewAndChildren;
- }
-
- bool backingStoreCompletelyDirty = ensureBackingStore();
- if (!m_backingStoreBitmap) {
- if (!dc)
- EndPaint(m_viewWindow, &ps);
- return;
- }
-
- m_paintCount++;
-
- HDC bitmapDC = ::CreateCompatibleDC(hdc);
- HGDIOBJ oldBitmap = ::SelectObject(bitmapDC, m_backingStoreBitmap->handle());
-
- // Update our backing store if needed.
- updateBackingStore(frameView, bitmapDC, backingStoreCompletelyDirty, windowsToPaint);
-
- // Now we blit the updated backing store
- IntRect windowDirtyRect = rcPaint;
-
- // Apply the same heuristic for this update region too.
- Vector<IntRect> blitRects;
- if (region && regionType == COMPLEXREGION)
- getUpdateRects(region.get(), windowDirtyRect, blitRects);
- else
- blitRects.append(windowDirtyRect);
-
- for (unsigned i = 0; i < blitRects.size(); ++i)
- paintIntoWindow(bitmapDC, hdc, blitRects[i]);
-
- ::SelectObject(bitmapDC, oldBitmap);
- ::DeleteDC(bitmapDC);
-
- if (!dc)
- EndPaint(m_viewWindow, &ps);
-
- m_paintCount--;
-
- if (active())
- cancelDeleteBackingStoreSoon();
- else
- deleteBackingStoreSoon();
-}
-
-void WebView::paintIntoBackingStore(FrameView* frameView, HDC bitmapDC, const IntRect& dirtyRect, WindowsToPaint windowsToPaint)
-{
- // FIXME: This function should never be called in accelerated compositing mode, and we should
- // assert as such. But currently it *is* sometimes called, so we can't assert yet. See
- // <http://webkit.org/b/58539>.
-
- LOCAL_GDI_COUNTER(0, __FUNCTION__);
-
- // FIXME: We want an assert here saying that the dirtyRect is inside the clienRect,
- // but it was being hit during our layout tests, and is being investigated in
- // http://webkit.org/b/29350.
-
- RECT rect = dirtyRect;
-
-#if FLASH_BACKING_STORE_REDRAW
- {
- HWndDC dc(m_viewWindow);
- OwnPtr<HBRUSH> yellowBrush(CreateSolidBrush(RGB(255, 255, 0)));
- FillRect(dc, &rect, yellowBrush.get());
- GdiFlush();
- Sleep(50);
- paintIntoWindow(bitmapDC, dc, dirtyRect);
- }
-#endif
-
- GraphicsContext gc(bitmapDC, m_transparent);
- gc.setShouldIncludeChildWindows(windowsToPaint == PaintWebViewAndChildren);
- gc.save();
- if (m_transparent)
- gc.clearRect(dirtyRect);
- else
- FillRect(bitmapDC, &rect, (HBRUSH)GetStockObject(WHITE_BRUSH));
-
- COMPtr<IWebUIDelegatePrivate2> uiPrivate(Query, m_uiDelegate);
- if (uiPrivate)
- uiPrivate->drawBackground(this, reinterpret_cast<OLE_HANDLE>(bitmapDC), &rect);
-
- if (frameView && frameView->frame() && frameView->frame()->contentRenderer()) {
- gc.clip(dirtyRect);
- frameView->paint(&gc, dirtyRect);
- if (m_shouldInvertColors)
- gc.fillRect(dirtyRect, Color::white, ColorSpaceDeviceRGB, CompositeDifference);
- }
- gc.restore();
-}
-
-void WebView::paintIntoWindow(HDC bitmapDC, HDC windowDC, const IntRect& dirtyRect)
-{
- // FIXME: This function should never be called in accelerated compositing mode, and we should
- // assert as such. But currently it *is* sometimes called, so we can't assert yet. See
- // <http://webkit.org/b/58539>.
-
- LOCAL_GDI_COUNTER(0, __FUNCTION__);
-#if FLASH_WINDOW_REDRAW
- OwnPtr<HBRUSH> greenBrush = CreateSolidBrush(RGB(0, 255, 0));
- RECT rect = dirtyRect;
- FillRect(windowDC, &rect, greenBrush.get());
- GdiFlush();
- Sleep(50);
-#endif
-
- // Blit the dirty rect from the backing store into the same position
- // in the destination DC.
- BitBlt(windowDC, dirtyRect.x(), dirtyRect.y(), dirtyRect.width(), dirtyRect.height(), bitmapDC,
- dirtyRect.x(), dirtyRect.y(), SRCCOPY);
-}
-
-void WebView::frameRect(RECT* rect)
-{
- ::GetWindowRect(m_viewWindow, rect);
-}
-
-class WindowCloseTimer : public WebCore::SuspendableTimer {
-public:
- static WindowCloseTimer* create(WebView*);
-
-private:
- WindowCloseTimer(ScriptExecutionContext*, WebView*);
- virtual void contextDestroyed();
- virtual void fired();
-
- WebView* m_webView;
-};
-
-WindowCloseTimer* WindowCloseTimer::create(WebView* webView)
-{
- ASSERT_ARG(webView, webView);
- Frame* frame = core(webView->topLevelFrame());
- ASSERT(frame);
- if (!frame)
- return 0;
-
- Document* document = frame->document();
- ASSERT(document);
- if (!document)
- return 0;
-
- return new WindowCloseTimer(document, webView);
-}
-
-WindowCloseTimer::WindowCloseTimer(ScriptExecutionContext* context, WebView* webView)
- : SuspendableTimer(context)
- , m_webView(webView)
-{
- ASSERT_ARG(context, context);
- ASSERT_ARG(webView, webView);
-}
-
-void WindowCloseTimer::contextDestroyed()
-{
- SuspendableTimer::contextDestroyed();
- delete this;
-}
-
-void WindowCloseTimer::fired()
-{
- m_webView->closeWindowTimerFired();
-}
-
-void WebView::closeWindowSoon()
-{
- if (m_closeWindowTimer)
- return;
-
- m_closeWindowTimer = WindowCloseTimer::create(this);
- if (!m_closeWindowTimer)
- return;
- m_closeWindowTimer->startOneShot(0);
-
- AddRef();
-}
-
-void WebView::closeWindowTimerFired()
-{
- closeWindow();
- Release();
-}
-
-void WebView::closeWindow()
-{
- if (m_hasSpellCheckerDocumentTag) {
- if (m_editingDelegate)
- m_editingDelegate->closeSpellDocument(this);
- m_hasSpellCheckerDocumentTag = false;
- }
-
- COMPtr<IWebUIDelegate> ui;
- if (SUCCEEDED(uiDelegate(&ui)))
- ui->webViewClose(this);
-}
-
-bool WebView::canHandleRequest(const WebCore::ResourceRequest& request)
-{
- // On the mac there's an about url protocol implementation but CFNetwork doesn't have that.
- if (equalIgnoringCase(String(request.url().protocol()), "about"))
- return true;
-
-#if USE(CFNETWORK)
- if (CFURLProtocolCanHandleRequest(request.cfURLRequest(UpdateHTTPBody)))
- return true;
-
- // FIXME: Mac WebKit calls _representationExistsForURLScheme here
- return false;
-#else
- return true;
-#endif
-}
-
-String WebView::standardUserAgentWithApplicationName(const String& applicationName)
-{
- DEFINE_STATIC_LOCAL(String, osVersion, (windowsVersionForUAString()));
- DEFINE_STATIC_LOCAL(String, webKitVersion, (webKitVersionString()));
-
- return makeString("Mozilla/5.0 (", osVersion, ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko)", applicationName.isEmpty() ? "" : " ", applicationName);
-}
-
-Page* WebView::page()
-{
- return m_page;
-}
-
-bool WebView::handleContextMenuEvent(WPARAM wParam, LPARAM lParam)
-{
- // Translate the screen coordinates into window coordinates
- POINT coords = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) };
- if (coords.x == -1 || coords.y == -1) {
- // The contextMenuController() holds onto the last context menu that was popped up on the
- // page until a new one is created. We need to clear this menu before propagating the event
- // through the DOM so that we can detect if we create a new menu for this event, since we
- // won't create a new menu if the DOM swallows the event and the defaultEventHandler does
- // not run.
- m_page->contextMenuController()->clearContextMenu();
-
- Frame* focusedFrame = m_page->focusController()->focusedOrMainFrame();
- return focusedFrame->eventHandler()->sendContextMenuEventForKey();
-
- } else {
- if (!::ScreenToClient(m_viewWindow, &coords))
- return false;
- }
-
- lParam = MAKELPARAM(coords.x, coords.y);
-
- m_page->contextMenuController()->clearContextMenu();
-
- IntPoint documentPoint(m_page->mainFrame()->view()->windowToContents(coords));
- HitTestResult result = m_page->mainFrame()->eventHandler()->hitTestResultAtPoint(documentPoint);
- Frame* targetFrame = result.innerNonSharedNode() ? result.innerNonSharedNode()->document()->frame() : m_page->focusController()->focusedOrMainFrame();
-
- targetFrame->view()->setCursor(pointerCursor());
- PlatformMouseEvent mouseEvent(m_viewWindow, WM_RBUTTONUP, wParam, lParam);
- bool handledEvent = targetFrame->eventHandler()->sendContextMenuEvent(mouseEvent);
- if (!handledEvent)
- return false;
-
- ContextMenuController* contextMenuController = m_page->contextMenuController();
-
- // Show the menu
- ContextMenu* coreMenu = contextMenuController->contextMenu();
- if (!coreMenu)
- return false;
-
- Frame* frame = contextMenuController->hitTestResult().innerNodeFrame();
- if (!frame)
- return false;
-
- FrameView* view = frame->view();
- if (!view)
- return false;
-
- POINT point(view->contentsToWindow(contextMenuController->hitTestResult().roundedPointInInnerNodeFrame()));
-
- // Translate the point to screen coordinates
- if (!::ClientToScreen(m_viewWindow, &point))
- return false;
-
- BOOL hasCustomMenus = false;
- if (m_uiDelegate)
- m_uiDelegate->hasCustomMenuImplementation(&hasCustomMenus);
-
- if (hasCustomMenus)
- m_uiDelegate->trackCustomPopupMenu((IWebView*)this, (OLE_HANDLE)(ULONG64)coreMenu->platformContextMenu(), &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->platformContextMenu(), flags, point.x, point.y, m_viewWindow, 0);
- }
-
- return true;
-}
-
-bool WebView::onMeasureItem(WPARAM /*wParam*/, LPARAM lParam)
-{
- if (!m_uiDelegate)
- return false;
-
- BOOL hasCustomMenus = false;
- m_uiDelegate->hasCustomMenuImplementation(&hasCustomMenus);
- if (!hasCustomMenus)
- return false;
-
- m_uiDelegate->measureCustomMenuItem((IWebView*)this, (void*)lParam);
- return true;
-}
-
-bool WebView::onDrawItem(WPARAM /*wParam*/, LPARAM lParam)
-{
- if (!m_uiDelegate)
- return false;
-
- BOOL hasCustomMenus = false;
- m_uiDelegate->hasCustomMenuImplementation(&hasCustomMenus);
- if (!hasCustomMenus)
- return false;
-
- m_uiDelegate->drawCustomMenuItem((IWebView*)this, (void*)lParam);
- return true;
-}
-
-bool WebView::onInitMenuPopup(WPARAM wParam, LPARAM /*lParam*/)
-{
- if (!m_uiDelegate)
- return false;
-
- HMENU menu = (HMENU)wParam;
- if (!menu)
- return false;
-
- BOOL hasCustomMenus = false;
- m_uiDelegate->hasCustomMenuImplementation(&hasCustomMenus);
- if (!hasCustomMenus)
- return false;
-
- m_uiDelegate->addCustomMenuDrawingData((IWebView*)this, (OLE_HANDLE)(ULONG64)menu);
- return true;
-}
-
-bool WebView::onUninitMenuPopup(WPARAM wParam, LPARAM /*lParam*/)
-{
- if (!m_uiDelegate)
- return false;
-
- HMENU menu = (HMENU)wParam;
- if (!menu)
- return false;
-
- BOOL hasCustomMenus = false;
- m_uiDelegate->hasCustomMenuImplementation(&hasCustomMenus);
- if (!hasCustomMenus)
- return false;
-
- m_uiDelegate->cleanUpCustomMenuDrawingData((IWebView*)this, (OLE_HANDLE)(ULONG64)menu);
- return true;
-}
-
-void WebView::performContextMenuAction(WPARAM wParam, LPARAM lParam, bool byPosition)
-{
- ContextMenu* menu = m_page->contextMenuController()->contextMenu();
- ASSERT(menu);
-
- ContextMenuItem* item = byPosition ? menu->itemAtIndex((unsigned)wParam) : menu->itemWithAction((ContextMenuAction)wParam);
- if (!item)
- return;
- m_page->contextMenuController()->contextMenuItemSelected(item);
-}
-
-bool WebView::handleMouseEvent(UINT message, WPARAM wParam, LPARAM lParam)
-{
- static LONG globalClickCount;
- static IntPoint globalPrevPoint;
- static MouseButton globalPrevButton;
- static LONG globalPrevMouseDownTime;
-
- if (message == WM_CANCELMODE) {
- m_page->mainFrame()->eventHandler()->lostMouseCapture();
- return true;
- }
-
- // 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).
- LPARAM position = (message == WM_MOUSELEAVE) ? ((MINSHORT << 16) | MINSHORT) : lParam;
- PlatformMouseEvent mouseEvent(m_viewWindow, message, wParam, position, m_mouseActivated);
-
- setMouseActivated(false);
-
- bool insideThreshold = abs(globalPrevPoint.x() - mouseEvent.position().x()) < ::GetSystemMetrics(SM_CXDOUBLECLK) &&
- abs(globalPrevPoint.y() - mouseEvent.position().y()) < ::GetSystemMetrics(SM_CYDOUBLECLK);
- LONG messageTime = ::GetMessageTime();
-
- 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_viewWindow);
-
- // Always start capturing events when the mouse goes down in our HWND.
- ::SetCapture(m_viewWindow);
-
- if (((messageTime - globalPrevMouseDownTime) < (LONG)::GetDoubleClickTime()) &&
- insideThreshold &&
- mouseEvent.button() == globalPrevButton)
- globalClickCount++;
- else
- // Reset the click count.
- globalClickCount = 1;
- globalPrevMouseDownTime = messageTime;
- globalPrevButton = mouseEvent.button();
- globalPrevPoint = mouseEvent.position();
-
- 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.position();
- mouseEvent.setClickCount(globalClickCount);
- m_page->mainFrame()->eventHandler()->handleMouseReleaseEvent(mouseEvent);
- ::ReleaseCapture();
- } else if (message == WM_MOUSELEAVE && m_mouseOutTracker) {
- // Once WM_MOUSELEAVE is fired windows clears this tracker
- // so there is no need to disable it ourselves.
- m_mouseOutTracker.clear();
- m_page->mainFrame()->eventHandler()->mouseMoved(mouseEvent);
- handled = true;
- } else if (message == WM_MOUSEMOVE) {
- if (!insideThreshold)
- globalClickCount = 0;
- mouseEvent.setClickCount(globalClickCount);
- handled = m_page->mainFrame()->eventHandler()->mouseMoved(mouseEvent);
- if (!m_mouseOutTracker) {
- m_mouseOutTracker = adoptPtr(new TRACKMOUSEEVENT);
- m_mouseOutTracker->cbSize = sizeof(TRACKMOUSEEVENT);
- m_mouseOutTracker->dwFlags = TME_LEAVE;
- m_mouseOutTracker->hwndTrack = m_viewWindow;
- ::TrackMouseEvent(m_mouseOutTracker.get());
- }
- }
- return handled;
-}
-
-bool WebView::gestureNotify(WPARAM wParam, LPARAM lParam)
-{
- GESTURENOTIFYSTRUCT* gn = reinterpret_cast<GESTURENOTIFYSTRUCT*>(lParam);
-
- Frame* coreFrame = core(m_mainFrame);
- if (!coreFrame)
- return false;
-
- ScrollView* view = coreFrame->view();
- if (!view)
- return false;
-
- // If we don't have this function, we shouldn't be receiving this message
- ASSERT(SetGestureConfigPtr());
-
- bool hitScrollbar = false;
- POINT gestureBeginPoint = {gn->ptsLocation.x, gn->ptsLocation.y};
- HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::DisallowShadowContent);
- for (Frame* childFrame = m_page->mainFrame(); childFrame; childFrame = EventHandler::subframeForTargetNode(m_gestureTargetNode.get())) {
- FrameView* frameView = childFrame->view();
- if (!frameView)
- break;
- RenderView* renderView = childFrame->document()->renderView();
- if (!renderView)
- break;
- RenderLayer* layer = renderView->layer();
- if (!layer)
- break;
-
- HitTestResult result(frameView->screenToContents(gestureBeginPoint));
- layer->hitTest(request, result);
- m_gestureTargetNode = result.innerNode();
-
- if (!hitScrollbar)
- hitScrollbar = result.scrollbar();
- }
-
- if (!hitScrollbar) {
- // The hit testing above won't detect if we've hit the main frame's vertical scrollbar. Check that manually now.
- RECT webViewRect;
- GetWindowRect(m_viewWindow, &webViewRect);
- hitScrollbar = view->verticalScrollbar() && (gestureBeginPoint.x > (webViewRect.right - view->verticalScrollbar()->theme()->scrollbarThickness()));
- }
-
- bool canBeScrolled = false;
- if (m_gestureTargetNode) {
- for (RenderObject* renderer = m_gestureTargetNode->renderer(); renderer; renderer = renderer->parent()) {
- if (renderer->isBox() && toRenderBox(renderer)->canBeScrolledAndHasScrollableArea()) {
- canBeScrolled = true;
- break;
- }
- }
- }
-
- // We always allow two-fingered panning with inertia and a gutter (which limits movement to one
- // direction in most cases).
- DWORD dwPanWant = GC_PAN | GC_PAN_WITH_INERTIA | GC_PAN_WITH_GUTTER;
- // We never allow single-fingered horizontal panning. That gesture is reserved for creating text
- // selections. This matches IE.
- DWORD dwPanBlock = GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY;
-
- if (hitScrollbar || !canBeScrolled) {
- // The part of the page under the gesture can't be scrolled, or the gesture is on a scrollbar.
- // Disallow single-fingered vertical panning in this case, too, so we'll fall back to the default
- // behavior (which allows the scrollbar thumb to be dragged, text selections to be made, etc.).
- dwPanBlock |= GC_PAN_WITH_SINGLE_FINGER_VERTICALLY;
- } else {
- // The part of the page the gesture is under can be scrolled, and we're not under a scrollbar.
- // Allow single-fingered vertical panning in this case, so the user will be able to pan the page
- // with one or two fingers.
- dwPanWant |= GC_PAN_WITH_SINGLE_FINGER_VERTICALLY;
- }
-
- GESTURECONFIG gc = { GID_PAN, dwPanWant, dwPanBlock };
- return SetGestureConfigPtr()(m_viewWindow, 0, 1, &gc, sizeof(GESTURECONFIG));
-}
-
-bool WebView::gesture(WPARAM wParam, LPARAM lParam)
-{
- // We want to bail out if we don't have either of these functions
- if (!GetGestureInfoPtr() || !CloseGestureInfoHandlePtr())
- return false;
-
- HGESTUREINFO gestureHandle = reinterpret_cast<HGESTUREINFO>(lParam);
-
- GESTUREINFO gi = {0};
- gi.cbSize = sizeof(GESTUREINFO);
-
- if (!GetGestureInfoPtr()(gestureHandle, reinterpret_cast<PGESTUREINFO>(&gi)))
- return false;
-
- switch (gi.dwID) {
- case GID_BEGIN:
- m_lastPanX = gi.ptsLocation.x;
- m_lastPanY = gi.ptsLocation.y;
-
- break;
- case GID_END:
- m_gestureTargetNode = 0;
- break;
- case GID_PAN: {
- // Where are the fingers currently?
- long currentX = gi.ptsLocation.x;
- long currentY = gi.ptsLocation.y;
- // How far did we pan in each direction?
- long deltaX = currentX - m_lastPanX;
- long deltaY = currentY - m_lastPanY;
- // Calculate the overpan for window bounce
- m_yOverpan -= m_lastPanY - currentY;
- m_xOverpan -= m_lastPanX - currentX;
- // Update our class variables with updated values
- m_lastPanX = currentX;
- m_lastPanY = currentY;
-
- Frame* coreFrame = core(m_mainFrame);
- if (!coreFrame) {
- CloseGestureInfoHandlePtr()(gestureHandle);
- return false;
- }
-
- if (!m_gestureTargetNode || !m_gestureTargetNode->renderer())
- return false;
-
- // We negate here since panning up moves the content up, but moves the scrollbar down.
- m_gestureTargetNode->renderer()->enclosingLayer()->scrollByRecursively(IntSize(-deltaX, -deltaY));
-
- if (!(UpdatePanningFeedbackPtr() && BeginPanningFeedbackPtr() && EndPanningFeedbackPtr())) {
- CloseGestureInfoHandlePtr()(gestureHandle);
- return true;
- }
-
- if (gi.dwFlags & GF_BEGIN) {
- BeginPanningFeedbackPtr()(m_viewWindow);
- m_yOverpan = 0;
- } else if (gi.dwFlags & GF_END) {
- EndPanningFeedbackPtr()(m_viewWindow, true);
- m_yOverpan = 0;
- }
-
- ScrollView* view = coreFrame->view();
- if (!view) {
- CloseGestureInfoHandlePtr()(gestureHandle);
- return true;
- }
- Scrollbar* vertScrollbar = view->verticalScrollbar();
- if (!vertScrollbar) {
- CloseGestureInfoHandlePtr()(gestureHandle);
- return true;
- }
-
- // FIXME: Support Horizontal Window Bounce. <https://webkit.org/b/28500>.
- // FIXME: If the user starts panning down after a window bounce has started, the window doesn't bounce back
- // until they release their finger. <https://webkit.org/b/28501>.
- if (vertScrollbar->currentPos() == 0)
- UpdatePanningFeedbackPtr()(m_viewWindow, 0, m_yOverpan, gi.dwFlags & GF_INERTIA);
- else if (vertScrollbar->currentPos() >= vertScrollbar->maximum())
- UpdatePanningFeedbackPtr()(m_viewWindow, 0, m_yOverpan, gi.dwFlags & GF_INERTIA);
-
- CloseGestureInfoHandlePtr()(gestureHandle);
- return true;
- }
- default:
- break;
- }
-
- // If we get to this point, the gesture has not been handled. We forward
- // the call to DefWindowProc by returning false, and we don't need to
- // to call CloseGestureInfoHandle.
- // http://msdn.microsoft.com/en-us/library/dd353228(VS.85).aspx
- return false;
-}
-
-bool WebView::mouseWheel(WPARAM wParam, LPARAM lParam, bool isMouseHWheel)
-{
- // Ctrl+Mouse wheel doesn't ever go into WebCore. It is used to
- // zoom instead (Mac zooms the whole Desktop, but Windows browsers trigger their
- // own local zoom modes for Ctrl+wheel).
- if (wParam & MK_CONTROL) {
- short delta = short(HIWORD(wParam));
- if (delta < 0)
- makeTextSmaller(0);
- else
- makeTextLarger(0);
- return true;
- }
-
- // FIXME: This doesn't fix https://bugs.webkit.org/show_bug.cgi?id=28217. This only fixes https://bugs.webkit.org/show_bug.cgi?id=28203.
- HWND focusedWindow = GetFocus();
- if (focusedWindow && focusedWindow != m_viewWindow) {
- // Our focus is on a different hwnd, see if it's a PopupMenu and if so, set the focus back on us (which will hide the popup).
- WCHAR className[256];
-
- // Make sure truncation won't affect the comparison.
- ASSERT(WTF_ARRAY_LENGTH(className) > wcslen(PopupMenuWin::popupClassName()));
-
- if (GetClassNameW(focusedWindow, className, WTF_ARRAY_LENGTH(className)) && !wcscmp(className, PopupMenuWin::popupClassName())) {
- // We don't let the WebView scroll here for two reasons - 1) To match Firefox behavior, 2) If we do scroll, we lose the
- // focus ring around the select menu.
- SetFocus(m_viewWindow);
- return true;
- }
- }
-
- PlatformWheelEvent wheelEvent(m_viewWindow, wParam, lParam, isMouseHWheel);
- Frame* coreFrame = core(m_mainFrame);
- if (!coreFrame)
- return false;
-
- return coreFrame->eventHandler()->handleWheelEvent(wheelEvent);
-}
-
-bool WebView::verticalScroll(WPARAM wParam, LPARAM /*lParam*/)
-{
- ScrollDirection direction;
- ScrollGranularity granularity;
- switch (LOWORD(wParam)) {
- case SB_LINEDOWN:
- granularity = ScrollByLine;
- direction = ScrollDown;
- break;
- case SB_LINEUP:
- granularity = ScrollByLine;
- direction = ScrollUp;
- break;
- case SB_PAGEDOWN:
- granularity = ScrollByDocument;
- direction = ScrollDown;
- break;
- case SB_PAGEUP:
- granularity = ScrollByDocument;
- direction = ScrollUp;
- break;
- default:
- return false;
- break;
- }
-
- Frame* frame = m_page->focusController()->focusedOrMainFrame();
- return frame->eventHandler()->scrollRecursively(direction, granularity);
-}
-
-bool WebView::horizontalScroll(WPARAM wParam, LPARAM /*lParam*/)
-{
- ScrollDirection direction;
- ScrollGranularity granularity;
- switch (LOWORD(wParam)) {
- case SB_LINELEFT:
- granularity = ScrollByLine;
- direction = ScrollLeft;
- break;
- case SB_LINERIGHT:
- granularity = ScrollByLine;
- direction = ScrollRight;
- break;
- case SB_PAGELEFT:
- granularity = ScrollByDocument;
- direction = ScrollLeft;
- break;
- case SB_PAGERIGHT:
- granularity = ScrollByDocument;
- direction = ScrollRight;
- break;
- default:
- return false;
- }
-
- Frame* frame = m_page->focusController()->focusedOrMainFrame();
- return frame->eventHandler()->scrollRecursively(direction, granularity);
-}
-
-
-bool WebView::execCommand(WPARAM wParam, LPARAM /*lParam*/)
-{
- Frame* frame = m_page->focusController()->focusedOrMainFrame();
- switch (LOWORD(wParam)) {
- case SelectAll:
- return frame->editor().command("SelectAll").execute();
- case Undo:
- return frame->editor().command("Undo").execute();
- case Redo:
- return frame->editor().command("Redo").execute();
- }
- return false;
-}
-
-bool WebView::keyUp(WPARAM virtualKeyCode, LPARAM keyData, bool systemKeyDown)
-{
- PlatformKeyboardEvent keyEvent(m_viewWindow, virtualKeyCode, keyData, PlatformEvent::KeyUp, systemKeyDown);
-
- Frame* frame = m_page->focusController()->focusedOrMainFrame();
- m_currentCharacterCode = 0;
-
- return frame->eventHandler()->keyEvent(keyEvent);
-}
-
-static const unsigned CtrlKey = 1 << 0;
-static const unsigned AltKey = 1 << 1;
-static const unsigned ShiftKey = 1 << 2;
-
-
-struct KeyDownEntry {
- unsigned virtualKey;
- unsigned modifiers;
- const char* name;
-};
-
-struct KeyPressEntry {
- unsigned charCode;
- unsigned modifiers;
- const char* name;
-};
-
-static const KeyDownEntry keyDownEntries[] = {
- { VK_LEFT, 0, "MoveLeft" },
- { VK_LEFT, ShiftKey, "MoveLeftAndModifySelection" },
- { VK_LEFT, CtrlKey, "MoveWordLeft" },
- { VK_LEFT, CtrlKey | ShiftKey, "MoveWordLeftAndModifySelection" },
- { VK_RIGHT, 0, "MoveRight" },
- { VK_RIGHT, ShiftKey, "MoveRightAndModifySelection" },
- { VK_RIGHT, CtrlKey, "MoveWordRight" },
- { VK_RIGHT, CtrlKey | ShiftKey, "MoveWordRightAndModifySelection" },
- { VK_UP, 0, "MoveUp" },
- { VK_UP, ShiftKey, "MoveUpAndModifySelection" },
- { VK_PRIOR, ShiftKey, "MovePageUpAndModifySelection" },
- { VK_DOWN, 0, "MoveDown" },
- { VK_DOWN, ShiftKey, "MoveDownAndModifySelection" },
- { VK_NEXT, ShiftKey, "MovePageDownAndModifySelection" },
- { VK_PRIOR, 0, "MovePageUp" },
- { VK_NEXT, 0, "MovePageDown" },
- { VK_HOME, 0, "MoveToBeginningOfLine" },
- { VK_HOME, ShiftKey, "MoveToBeginningOfLineAndModifySelection" },
- { VK_HOME, CtrlKey, "MoveToBeginningOfDocument" },
- { VK_HOME, CtrlKey | ShiftKey, "MoveToBeginningOfDocumentAndModifySelection" },
-
- { VK_END, 0, "MoveToEndOfLine" },
- { VK_END, ShiftKey, "MoveToEndOfLineAndModifySelection" },
- { VK_END, CtrlKey, "MoveToEndOfDocument" },
- { VK_END, CtrlKey | ShiftKey, "MoveToEndOfDocumentAndModifySelection" },
-
- { VK_BACK, 0, "DeleteBackward" },
- { VK_BACK, ShiftKey, "DeleteBackward" },
- { VK_DELETE, 0, "DeleteForward" },
- { VK_BACK, CtrlKey, "DeleteWordBackward" },
- { VK_DELETE, CtrlKey, "DeleteWordForward" },
-
- { 'B', CtrlKey, "ToggleBold" },
- { 'I', CtrlKey, "ToggleItalic" },
-
- { VK_ESCAPE, 0, "Cancel" },
- { VK_OEM_PERIOD, CtrlKey, "Cancel" },
- { VK_TAB, 0, "InsertTab" },
- { VK_TAB, ShiftKey, "InsertBacktab" },
- { VK_RETURN, 0, "InsertNewline" },
- { VK_RETURN, CtrlKey, "InsertNewline" },
- { VK_RETURN, AltKey, "InsertNewline" },
- { VK_RETURN, ShiftKey, "InsertNewline" },
- { VK_RETURN, AltKey | ShiftKey, "InsertNewline" },
-
- // It's not quite clear whether clipboard shortcuts and Undo/Redo should be handled
- // in the application or in WebKit. We chose WebKit.
- { 'C', CtrlKey, "Copy" },
- { 'V', CtrlKey, "Paste" },
- { 'X', CtrlKey, "Cut" },
- { 'A', CtrlKey, "SelectAll" },
- { VK_INSERT, CtrlKey, "Copy" },
- { VK_DELETE, ShiftKey, "Cut" },
- { VK_INSERT, ShiftKey, "Paste" },
- { 'Z', CtrlKey, "Undo" },
- { 'Z', CtrlKey | ShiftKey, "Redo" },
-};
-
-static const KeyPressEntry keyPressEntries[] = {
- { '\t', 0, "InsertTab" },
- { '\t', ShiftKey, "InsertBacktab" },
- { '\r', 0, "InsertNewline" },
- { '\r', CtrlKey, "InsertNewline" },
- { '\r', AltKey, "InsertNewline" },
- { '\r', ShiftKey, "InsertNewline" },
- { '\r', AltKey | ShiftKey, "InsertNewline" },
-};
-
-const char* WebView::interpretKeyEvent(const KeyboardEvent* evt)
-{
- ASSERT(evt->type() == eventNames().keydownEvent || evt->type() == eventNames().keypressEvent);
-
- static HashMap<int, const char*>* keyDownCommandsMap = 0;
- static HashMap<int, const char*>* keyPressCommandsMap = 0;
-
- if (!keyDownCommandsMap) {
- keyDownCommandsMap = new HashMap<int, const char*>;
- keyPressCommandsMap = new HashMap<int, const char*>;
-
- for (size_t i = 0; i < WTF_ARRAY_LENGTH(keyDownEntries); ++i)
- keyDownCommandsMap->set(keyDownEntries[i].modifiers << 16 | keyDownEntries[i].virtualKey, keyDownEntries[i].name);
-
- for (size_t i = 0; i < WTF_ARRAY_LENGTH(keyPressEntries); ++i)
- keyPressCommandsMap->set(keyPressEntries[i].modifiers << 16 | keyPressEntries[i].charCode, keyPressEntries[i].name);
- }
-
- unsigned modifiers = 0;
- if (evt->shiftKey())
- modifiers |= ShiftKey;
- if (evt->altKey())
- modifiers |= AltKey;
- if (evt->ctrlKey())
- modifiers |= CtrlKey;
-
- if (evt->type() == eventNames().keydownEvent) {
- int mapKey = modifiers << 16 | evt->keyCode();
- return mapKey ? keyDownCommandsMap->get(mapKey) : 0;
- }
-
- int mapKey = modifiers << 16 | evt->charCode();
- return mapKey ? keyPressCommandsMap->get(mapKey) : 0;
-}
-
-bool WebView::handleEditingKeyboardEvent(KeyboardEvent* evt)
-{
- Node* node = evt->target()->toNode();
- ASSERT(node);
- Frame* frame = node->document()->frame();
- ASSERT(frame);
-
- const PlatformKeyboardEvent* keyEvent = evt->keyEvent();
- if (!keyEvent || keyEvent->isSystemKey()) // do not treat this as text input if it's a system key event
- return false;
-
- Editor::Command command = frame->editor().command(interpretKeyEvent(evt));
-
- if (keyEvent->type() == PlatformEvent::RawKeyDown) {
- // WebKit doesn't have enough information about mode to decide how commands that just insert text if executed via Editor should be treated,
- // so we leave it upon WebCore to either handle them immediately (e.g. Tab that changes focus) or let a keypress event be generated
- // (e.g. Tab that inserts a Tab character, or Enter).
- return !command.isTextInsertion() && command.execute(evt);
- }
-
- if (command.execute(evt))
- return true;
-
- // Don't insert null or control characters as they can result in unexpected behaviour
- if (evt->charCode() < ' ')
- return false;
-
- return frame->editor().insertText(evt->keyEvent()->text(), evt);
-}
-
-bool WebView::keyDown(WPARAM virtualKeyCode, LPARAM keyData, bool systemKeyDown)
-{
-#if ENABLE(FULLSCREEN_API)
- // Trap the ESC key when in full screen mode.
- if (virtualKeyCode == VK_ESCAPE && isFullScreen()) {
- m_fullscreenController->exitFullScreen();
- return false;
- }
-#endif
- Frame* frame = m_page->focusController()->focusedOrMainFrame();
-
- PlatformKeyboardEvent keyEvent(m_viewWindow, virtualKeyCode, keyData, PlatformEvent::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) {
- // FIXME: remove WM_UNICHAR, too
- MSG msg;
- // WM_SYSCHAR events should not be removed, because access keys are implemented in WebCore in WM_SYSCHAR handler.
- if (!systemKeyDown)
- ::PeekMessage(&msg, m_viewWindow, WM_CHAR, WM_CHAR, PM_REMOVE);
- return true;
- }
-
- // We need to handle back/forward using either Ctrl+Left/Right Arrow keys.
- // FIXME: This logic should probably be in EventHandler::defaultArrowEventHandler().
- // FIXME: Should check that other modifiers aren't pressed.
- if (virtualKeyCode == VK_RIGHT && keyEvent.ctrlKey())
- return m_page->goForward();
- if (virtualKeyCode == VK_LEFT && keyEvent.ctrlKey())
- return m_page->goBack();
-
- // Need to scroll the page if the arrow keys, pgup/dn, or home/end are hit.
- ScrollDirection direction;
- ScrollGranularity granularity;
- switch (virtualKeyCode) {
- case VK_LEFT:
- granularity = ScrollByLine;
- direction = ScrollLeft;
- break;
- case VK_RIGHT:
- granularity = ScrollByLine;
- direction = ScrollRight;
- break;
- case VK_UP:
- granularity = ScrollByLine;
- direction = ScrollUp;
- break;
- case VK_DOWN:
- granularity = ScrollByLine;
- direction = ScrollDown;
- break;
- case VK_HOME:
- granularity = ScrollByDocument;
- direction = ScrollUp;
- break;
- case VK_END:
- granularity = ScrollByDocument;
- direction = ScrollDown;
- break;
- case VK_PRIOR:
- granularity = ScrollByPage;
- direction = ScrollUp;
- break;
- case VK_NEXT:
- granularity = ScrollByPage;
- direction = ScrollDown;
- break;
- default:
- return false;
- }
-
- return frame->eventHandler()->scrollRecursively(direction, granularity);
-}
-
-bool WebView::keyPress(WPARAM charCode, LPARAM keyData, bool systemKeyDown)
-{
- Frame* frame = m_page->focusController()->focusedOrMainFrame();
-
- PlatformKeyboardEvent keyEvent(m_viewWindow, charCode, keyData, PlatformEvent::Char, systemKeyDown);
- // IE does not dispatch keypress event for WM_SYSCHAR.
- if (systemKeyDown)
- return frame->eventHandler()->handleAccessKey(keyEvent);
- return frame->eventHandler()->keyEvent(keyEvent);
-}
-
-void WebView::setIsBeingDestroyed()
-{
- m_isBeingDestroyed = true;
-
- // Remove our this pointer from the window so we won't try to handle any more window messages.
- // See <http://webkit.org/b/55054>.
- ::SetWindowLongPtrW(m_viewWindow, 0, 0);
-}
-
-void WebView::setShouldInvertColors(bool shouldInvertColors)
-{
- if (m_shouldInvertColors == shouldInvertColors)
- return;
-
- m_shouldInvertColors = shouldInvertColors;
-
-#if USE(ACCELERATED_COMPOSITING)
- if (m_layerTreeHost)
- m_layerTreeHost->setShouldInvertColors(shouldInvertColors);
-#endif
-
- RECT windowRect = {0};
- frameRect(&windowRect);
- repaint(windowRect, true, true);
-}
-
-bool WebView::registerWebViewWindowClass()
-{
- static bool haveRegisteredWindowClass = false;
- if (haveRegisteredWindowClass)
- return true;
-
- haveRegisteredWindowClass = true;
-
- WNDCLASSEX wcex;
-
- wcex.cbSize = sizeof(WNDCLASSEX);
-
- wcex.style = CS_DBLCLKS;
- wcex.lpfnWndProc = WebViewWndProc;
- wcex.cbClsExtra = 0;
- wcex.cbWndExtra = sizeof(WebView*);
- wcex.hInstance = gInstance;
- wcex.hIcon = 0;
- wcex.hCursor = ::LoadCursor(0, IDC_ARROW);
- wcex.hbrBackground = 0;
- wcex.lpszMenuName = 0;
- wcex.lpszClassName = kWebViewWindowClassName;
- wcex.hIconSm = 0;
-
- return !!RegisterClassEx(&wcex);
-}
-
-static HWND findTopLevelParent(HWND window)
-{
- if (!window)
- return 0;
-
- HWND current = window;
- for (HWND parent = GetParent(current); current; current = parent, parent = GetParent(parent))
- if (!parent || !(GetWindowLongPtr(current, GWL_STYLE) & (WS_POPUP | WS_CHILD)))
- return current;
- ASSERT_NOT_REACHED();
- return 0;
-}
-
-LRESULT CALLBACK WebView::WebViewWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
-{
- LRESULT lResult = 0;
- LONG_PTR longPtr = GetWindowLongPtr(hWnd, 0);
- WebView* webView = reinterpret_cast<WebView*>(longPtr);
- WebFrame* mainFrameImpl = webView ? webView->topLevelFrame() : 0;
- if (!mainFrameImpl)
- return DefWindowProc(hWnd, message, wParam, lParam);
-
- // We shouldn't be trying to handle any window messages after WM_DESTROY.
- // See <http://webkit.org/b/55054>.
- ASSERT(!webView->isBeingDestroyed());
-
- // hold a ref, since the WebView could go away in an event handler.
- COMPtr<WebView> protector(webView);
- ASSERT(webView);
-
- // Windows Media Player has a modal message loop that will deliver messages
- // to us at inappropriate times and we will crash if we handle them when
- // they are delivered. We repost paint messages so that we eventually get
- // a chance to paint once the modal loop has exited, but other messages
- // aren't safe to repost, so we just drop them.
- if (PluginView::isCallingPlugin()) {
- if (message == WM_PAINT)
- PostMessage(hWnd, message, wParam, lParam);
- return 0;
- }
-
- bool handled = true;
-
- switch (message) {
- case WM_PAINT: {
- webView->paint(0, 0);
- if (webView->usesLayeredWindow())
- webView->performLayeredWindowUpdate();
- break;
- }
- case WM_ERASEBKGND:
- if (webView->usesLayeredWindow()) {
- // Don't perform a background erase for transparent views.
- handled = true;
- lResult = 1;
- }
- break;
- case WM_PRINTCLIENT:
- webView->paint((HDC)wParam, lParam);
- break;
- case WM_DESTROY:
- webView->setIsBeingDestroyed();
- webView->close();
- break;
- case WM_GESTURENOTIFY:
- handled = webView->gestureNotify(wParam, lParam);
- break;
- case WM_GESTURE:
- handled = webView->gesture(wParam, lParam);
- 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:
- case WM_MOUSELEAVE:
- case WM_CANCELMODE:
- if (Frame* coreFrame = core(mainFrameImpl))
- if (coreFrame->view()->didFirstLayout())
- handled = webView->handleMouseEvent(message, wParam, lParam);
- break;
- case WM_MOUSEWHEEL:
- case WM_VISTA_MOUSEHWHEEL:
- if (Frame* coreFrame = core(mainFrameImpl))
- if (coreFrame->view()->didFirstLayout())
- handled = webView->mouseWheel(wParam, lParam, message == WM_VISTA_MOUSEHWHEEL);
- break;
- case WM_SYSKEYDOWN:
- handled = webView->keyDown(wParam, lParam, true);
- break;
- case WM_KEYDOWN:
- handled = webView->keyDown(wParam, lParam);
- break;
- case WM_SYSKEYUP:
- handled = webView->keyUp(wParam, lParam, true);
- break;
- case WM_KEYUP:
- handled = webView->keyUp(wParam, lParam);
- break;
- case WM_SYSCHAR:
- handled = webView->keyPress(wParam, lParam, true);
- break;
- case WM_CHAR:
- handled = webView->keyPress(wParam, lParam);
- break;
- // FIXME: We need to check WM_UNICHAR to support supplementary characters (that don't fit in 16 bits).
- case WM_SIZE:
- if (lParam != 0)
- webView->sizeChanged(IntSize(LOWORD(lParam), HIWORD(lParam)));
- break;
- case WM_SHOWWINDOW:
- lResult = DefWindowProc(hWnd, message, wParam, lParam);
- if (wParam == 0) {
- // The window is being hidden (e.g., because we switched tabs).
- // Null out our backing store.
- webView->deleteBackingStore();
- }
- break;
- case WM_SETFOCUS: {
- COMPtr<IWebUIDelegate> uiDelegate;
- COMPtr<IWebUIDelegatePrivate> uiDelegatePrivate;
- if (SUCCEEDED(webView->uiDelegate(&uiDelegate)) && uiDelegate
- && SUCCEEDED(uiDelegate->QueryInterface(IID_IWebUIDelegatePrivate, (void**) &uiDelegatePrivate)) && uiDelegatePrivate)
- uiDelegatePrivate->webViewReceivedFocus(webView);
-
- FocusController* focusController = webView->page()->focusController();
- if (Frame* frame = focusController->focusedFrame()) {
- // Send focus events unless the previously focused window is a
- // child of ours (for example a plugin).
- if (!IsChild(hWnd, reinterpret_cast<HWND>(wParam)))
- focusController->setFocused(true);
- } else
- focusController->setFocused(true);
- break;
- }
- case WM_KILLFOCUS: {
- COMPtr<IWebUIDelegate> uiDelegate;
- COMPtr<IWebUIDelegatePrivate> uiDelegatePrivate;
- HWND newFocusWnd = reinterpret_cast<HWND>(wParam);
- if (SUCCEEDED(webView->uiDelegate(&uiDelegate)) && uiDelegate
- && SUCCEEDED(uiDelegate->QueryInterface(IID_IWebUIDelegatePrivate, (void**) &uiDelegatePrivate)) && uiDelegatePrivate)
- uiDelegatePrivate->webViewLostFocus(webView, (OLE_HANDLE)(ULONG64)newFocusWnd);
-
- FocusController* focusController = webView->page()->focusController();
- Frame* frame = focusController->focusedOrMainFrame();
- webView->resetIME(frame);
- // Send blur events unless we're losing focus to a child of ours.
- if (!IsChild(hWnd, newFocusWnd))
- focusController->setFocused(false);
-
- // If we are pan-scrolling when we lose focus, stop the pan scrolling.
- frame->eventHandler()->stopAutoscrollTimer();
-
- break;
- }
- case WM_WINDOWPOSCHANGED:
- if (reinterpret_cast<WINDOWPOS*>(lParam)->flags & SWP_SHOWWINDOW)
- webView->updateActiveStateSoon();
- handled = false;
- break;
- case WM_CUT:
- webView->cut(0);
- break;
- case WM_COPY:
- webView->copy(0);
- break;
- case WM_PASTE:
- webView->paste(0);
- break;
- case WM_CLEAR:
- webView->delete_(0);
- break;
- case WM_COMMAND:
- if (HIWORD(wParam))
- handled = webView->execCommand(wParam, lParam);
- else // If the high word of wParam is 0, the message is from a menu
- webView->performContextMenuAction(wParam, lParam, false);
- break;
- case WM_MENUCOMMAND:
- webView->performContextMenuAction(wParam, lParam, true);
- break;
- case WM_CONTEXTMENU:
- handled = webView->handleContextMenuEvent(wParam, lParam);
- break;
- case WM_INITMENUPOPUP:
- handled = webView->onInitMenuPopup(wParam, lParam);
- break;
- case WM_MEASUREITEM:
- handled = webView->onMeasureItem(wParam, lParam);
- break;
- case WM_DRAWITEM:
- handled = webView->onDrawItem(wParam, lParam);
- break;
- case WM_UNINITMENUPOPUP:
- handled = webView->onUninitMenuPopup(wParam, lParam);
- break;
- case WM_XP_THEMECHANGED:
- if (Frame* coreFrame = core(mainFrameImpl)) {
- webView->deleteBackingStore();
- coreFrame->page()->theme()->themeChanged();
- ScrollbarTheme::theme()->themeChanged();
- RECT windowRect;
- ::GetClientRect(hWnd, &windowRect);
- ::InvalidateRect(hWnd, &windowRect, false);
-#if USE(ACCELERATED_COMPOSITING)
- if (webView->isAcceleratedCompositing())
- webView->m_backingLayer->setNeedsDisplay();
-#endif
- }
- break;
- case WM_MOUSEACTIVATE:
- webView->setMouseActivated(true);
- handled = false;
- break;
- case WM_GETDLGCODE: {
- COMPtr<IWebUIDelegate> uiDelegate;
- COMPtr<IWebUIDelegatePrivate> uiDelegatePrivate;
- LONG_PTR dlgCode = 0;
- UINT keyCode = 0;
- if (lParam) {
- LPMSG lpMsg = (LPMSG)lParam;
- if (lpMsg->message == WM_KEYDOWN)
- keyCode = (UINT) lpMsg->wParam;
- }
- if (SUCCEEDED(webView->uiDelegate(&uiDelegate)) && uiDelegate
- && SUCCEEDED(uiDelegate->QueryInterface(IID_IWebUIDelegatePrivate, (void**) &uiDelegatePrivate)) && uiDelegatePrivate
- && SUCCEEDED(uiDelegatePrivate->webViewGetDlgCode(webView, keyCode, &dlgCode)))
- return dlgCode;
- handled = false;
- break;
- }
- case WM_GETOBJECT:
- handled = webView->onGetObject(wParam, lParam, lResult);
- break;
- case WM_IME_STARTCOMPOSITION:
- handled = webView->onIMEStartComposition();
- break;
- case WM_IME_REQUEST:
- lResult = webView->onIMERequest(wParam, lParam);
- break;
- case WM_IME_COMPOSITION:
- handled = webView->onIMEComposition(lParam);
- break;
- case WM_IME_ENDCOMPOSITION:
- handled = webView->onIMEEndComposition();
- break;
- case WM_IME_CHAR:
- handled = webView->onIMEChar(wParam, lParam);
- break;
- case WM_IME_NOTIFY:
- handled = webView->onIMENotify(wParam, lParam, &lResult);
- break;
- case WM_IME_SELECT:
- handled = webView->onIMESelect(wParam, lParam);
- break;
- case WM_IME_SETCONTEXT:
- handled = webView->onIMESetContext(wParam, lParam);
- break;
- case WM_TIMER:
- switch (wParam) {
- case UpdateActiveStateTimer:
- KillTimer(hWnd, UpdateActiveStateTimer);
- webView->updateActiveState();
- break;
- case DeleteBackingStoreTimer:
- webView->deleteBackingStore();
- break;
- }
- break;
- case WM_SETCURSOR:
- handled = ::SetCursor(webView->m_lastSetCursor);
- break;
- case WM_VSCROLL:
- handled = webView->verticalScroll(wParam, lParam);
- break;
- case WM_HSCROLL:
- handled = webView->horizontalScroll(wParam, lParam);
- break;
- default:
- handled = false;
- break;
- }
-
- if (!handled)
- lResult = DefWindowProc(hWnd, message, wParam, lParam);
-
- // Let the client know whether we consider this message handled.
- return (message == WM_KEYDOWN || message == WM_SYSKEYDOWN || message == WM_KEYUP || message == WM_SYSKEYUP) ? !handled : lResult;
-}
-
-bool WebView::developerExtrasEnabled() const
-{
- if (m_preferences->developerExtrasDisabledByOverride())
- return false;
-
-#ifdef NDEBUG
- BOOL enabled;
- return SUCCEEDED(m_preferences->developerExtrasEnabled(&enabled)) && enabled;
-#else
- return true;
-#endif
-}
-
-static String webKitVersionString()
-{
- LPWSTR buildNumberStringPtr;
- if (!::LoadStringW(gInstance, BUILD_NUMBER, reinterpret_cast<LPWSTR>(&buildNumberStringPtr), 0) || !buildNumberStringPtr)
- return "534+";
-
- return buildNumberStringPtr;
-}
-
-const String& WebView::userAgentForKURL(const KURL&)
-{
- if (m_userAgentOverridden)
- return m_userAgentCustom;
-
- if (!m_userAgentStandard.length())
- m_userAgentStandard = WebView::standardUserAgentWithApplicationName(m_applicationName);
- return m_userAgentStandard;
-}
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebView::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, CLSID_WebView))
- *ppvObject = this;
- else if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebView*>(this);
- else if (IsEqualGUID(riid, IID_IWebView))
- *ppvObject = static_cast<IWebView*>(this);
- else if (IsEqualGUID(riid, IID_IWebViewPrivate))
- *ppvObject = static_cast<IWebViewPrivate*>(this);
- else if (IsEqualGUID(riid, IID_IWebIBActions))
- *ppvObject = static_cast<IWebIBActions*>(this);
- else if (IsEqualGUID(riid, IID_IWebViewCSS))
- *ppvObject = static_cast<IWebViewCSS*>(this);
- else if (IsEqualGUID(riid, IID_IWebViewEditing))
- *ppvObject = static_cast<IWebViewEditing*>(this);
- else if (IsEqualGUID(riid, IID_IWebViewUndoableEditing))
- *ppvObject = static_cast<IWebViewUndoableEditing*>(this);
- else if (IsEqualGUID(riid, IID_IWebViewEditingActions))
- *ppvObject = static_cast<IWebViewEditingActions*>(this);
- else if (IsEqualGUID(riid, IID_IWebNotificationObserver))
- *ppvObject = static_cast<IWebNotificationObserver*>(this);
- else if (IsEqualGUID(riid, IID_IDropTarget))
- *ppvObject = static_cast<IDropTarget*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebView::AddRef(void)
-{
- ASSERT(!m_deletionHasBegun);
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebView::Release(void)
-{
- ASSERT(!m_deletionHasBegun);
-
- if (m_refCount == 1) {
- // Call close() now so that clients don't have to. (It's harmless to call close() multiple
- // times.) We do this here instead of in our destructor because close() can cause AddRef()
- // and Release() to be called, and if that happened in our destructor we would be destroyed
- // more than once.
- close();
- }
-
- ULONG newRef = --m_refCount;
- if (!newRef) {
-#if !ASSERT_DISABLED
- m_deletionHasBegun = true;
-#endif
- delete(this);
- }
-
- return newRef;
-}
-
-// IWebView --------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebView::canShowMIMEType(
- /* [in] */ BSTR mimeType,
- /* [retval][out] */ BOOL* canShow)
-{
- String mimeTypeStr = toString(mimeType);
-
- if (!canShow)
- return E_POINTER;
-
- Frame* coreFrame = core(m_mainFrame);
- bool allowPlugins = coreFrame && coreFrame->loader()->subframeLoader()->allowPlugins(NotAboutToInstantiatePlugin);
-
- *canShow = MIMETypeRegistry::isSupportedImageMIMEType(mimeTypeStr)
- || MIMETypeRegistry::isSupportedNonImageMIMEType(mimeTypeStr);
-
- if (!*canShow && m_page && m_page->pluginData()) {
- *canShow = (m_page->pluginData()->supportsMimeType(mimeTypeStr, PluginData::AllPlugins) && allowPlugins)
- || m_page->pluginData()->supportsMimeType(mimeTypeStr, PluginData::OnlyApplicationPlugins);
- }
-
- if (!*canShow)
- *canShow = shouldUseEmbeddedView(mimeTypeStr);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::canShowMIMETypeAsHTML(
- /* [in] */ BSTR /*mimeType*/,
- /* [retval][out] */ BOOL* canShow)
-{
- // FIXME
- *canShow = TRUE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::MIMETypesShownAsHTML(
- /* [retval][out] */ IEnumVARIANT** /*enumVariant*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setMIMETypesShownAsHTML(
- /* [size_is][in] */ BSTR* /*mimeTypes*/,
- /* [in] */ int /*cMimeTypes*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::URLFromPasteboard(
- /* [in] */ IDataObject* /*pasteboard*/,
- /* [retval][out] */ BSTR* /*url*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::URLTitleFromPasteboard(
- /* [in] */ IDataObject* /*pasteboard*/,
- /* [retval][out] */ BSTR* /*urlTitle*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-static void WebKitSetApplicationCachePathIfNecessary()
-{
- static bool initialized = false;
- if (initialized)
- return;
-
- String path = localUserSpecificStorageDirectory();
-
-#if USE(CF)
- RetainPtr<CFPropertyListRef> cacheDirectoryPreference = adoptCF(CFPreferencesCopyAppValue(WebKitLocalCacheDefaultsKey, kCFPreferencesCurrentApplication));
- if (cacheDirectoryPreference && (CFStringGetTypeID() == CFGetTypeID(cacheDirectoryPreference.get())))
- path = static_cast<CFStringRef>(cacheDirectoryPreference.get());
-#endif
-
- if (!path.isNull())
- cacheStorage().setCacheDirectory(path);
-
- initialized = true;
-}
-
-bool WebView::shouldInitializeTrackPointHack()
-{
- static bool shouldCreateScrollbars;
- static bool hasRunTrackPointCheck;
-
- if (hasRunTrackPointCheck)
- return shouldCreateScrollbars;
-
- hasRunTrackPointCheck = true;
- const WCHAR trackPointKeys[][50] = { L"Software\\Lenovo\\TrackPoint",
- L"Software\\Lenovo\\UltraNav",
- L"Software\\Alps\\Apoint\\TrackPoint",
- L"Software\\Synaptics\\SynTPEnh\\UltraNavUSB",
- L"Software\\Synaptics\\SynTPEnh\\UltraNavPS2" };
-
- for (int i = 0; i < 5; ++i) {
- HKEY trackPointKey;
- int readKeyResult = ::RegOpenKeyExW(HKEY_CURRENT_USER, trackPointKeys[i], 0, KEY_READ, &trackPointKey);
- ::RegCloseKey(trackPointKey);
- if (readKeyResult == ERROR_SUCCESS) {
- shouldCreateScrollbars = true;
- return shouldCreateScrollbars;
- }
- }
-
- return shouldCreateScrollbars;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::initWithFrame(
- /* [in] */ RECT frame,
- /* [in] */ BSTR frameName,
- /* [in] */ BSTR groupName)
-{
- HRESULT hr = S_OK;
-
- if (m_viewWindow)
- return E_FAIL;
-
- registerWebViewWindowClass();
-
- m_viewWindow = CreateWindowEx(0, kWebViewWindowClassName, 0, WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
- frame.left, frame.top, frame.right - frame.left, frame.bottom - frame.top, m_hostWindow ? m_hostWindow : HWND_MESSAGE, 0, gInstance, 0);
- ASSERT(::IsWindow(m_viewWindow));
-
- if (shouldInitializeTrackPointHack()) {
- // If we detected a registry key belonging to a TrackPoint driver, then create fake trackpoint
- // scrollbars, so the WebView will receive WM_VSCROLL and WM_HSCROLL messages. We create one
- // vertical scrollbar and one horizontal to allow for receiving both types of messages.
- ::CreateWindowW(L"SCROLLBAR", L"FAKETRACKPOINTHSCROLLBAR", WS_CHILD | WS_VISIBLE | SBS_HORZ, 0, 0, 0, 0, m_viewWindow, 0, gInstance, 0);
- ::CreateWindowW(L"SCROLLBAR", L"FAKETRACKPOINTVSCROLLBAR", WS_CHILD | WS_VISIBLE | SBS_VERT, 0, 0, 0, 0, m_viewWindow, 0, gInstance, 0);
- }
-
- hr = registerDragDrop();
- if (FAILED(hr))
- return hr;
-
- WebPreferences* sharedPreferences = WebPreferences::sharedStandardPreferences();
- sharedPreferences->willAddToWebView();
- m_preferences = sharedPreferences;
-
- static bool didOneTimeInitialization;
- if (!didOneTimeInitialization) {
-#if !LOG_DISABLED
- initializeLoggingChannelsIfNecessary();
-#endif // !LOG_DISABLED
-
- // Initialize our platform strategies first before invoking the rest
- // of the initialization code which may depend on the strategies.
- WebPlatformStrategies::initialize();
-
-#if ENABLE(SQL_DATABASE)
- WebKitInitializeWebDatabasesIfNecessary();
-#endif
- WebKitSetApplicationCachePathIfNecessary();
- Settings::setDefaultMinDOMTimerInterval(0.004);
-
- didOneTimeInitialization = true;
- }
-
-#if USE(SAFARI_THEME)
- BOOL shouldPaintNativeControls;
- if (SUCCEEDED(m_preferences->shouldPaintNativeControls(&shouldPaintNativeControls)))
- Settings::setShouldPaintNativeControls(shouldPaintNativeControls);
-#endif
-
- BOOL useHighResolutionTimer;
- if (SUCCEEDED(m_preferences->shouldUseHighResolutionTimers(&useHighResolutionTimer)))
- Settings::setShouldUseHighResolutionTimers(useHighResolutionTimer);
-
-#if ENABLE(INSPECTOR)
- m_inspectorClient = new WebInspectorClient(this);
-#endif // ENABLE(INSPECTOR)
-
- Page::PageClients pageClients;
- pageClients.chromeClient = new WebChromeClient(this);
- pageClients.contextMenuClient = new WebContextMenuClient(this);
- pageClients.editorClient = new WebEditorClient(this);
- pageClients.dragClient = new WebDragClient(this);
-#if ENABLE(INSPECTOR)
- pageClients.inspectorClient = m_inspectorClient;
-#endif // ENABLE(INSPECTOR)
-
- m_page = new Page(pageClients);
- provideGeolocationTo(m_page, new WebGeolocationClient(this));
-
- unsigned layoutMilestones = DidFirstLayout | DidFirstVisuallyNonEmptyLayout;
- m_page->addLayoutMilestones(static_cast<LayoutMilestones>(layoutMilestones));
-
- BString localStoragePath;
- if (SUCCEEDED(m_preferences->localStorageDatabasePath(&localStoragePath)))
- m_page->settings()->setLocalStorageDatabasePath(toString(localStoragePath));
-
- if (m_uiDelegate) {
- BString path;
- if (SUCCEEDED(m_uiDelegate->ftpDirectoryTemplatePath(this, &path)))
- m_page->settings()->setFTPDirectoryTemplatePath(toString(path));
- }
-
- WebFrame* webFrame = WebFrame::createInstance();
- RefPtr<Frame> coreFrame = webFrame->init(this, m_page, 0);
- m_mainFrame = webFrame;
- webFrame->Release(); // The WebFrame is owned by the Frame, so release our reference to it.
-
- coreFrame->tree()->setName(toString(frameName));
- coreFrame->init();
- setGroupName(groupName);
-
- addToAllWebViewsSet();
-
- #pragma warning(suppress: 4244)
- SetWindowLongPtr(m_viewWindow, 0, (LONG_PTR)this);
- ShowWindow(m_viewWindow, SW_SHOW);
-
- initializeToolTipWindow();
- windowAncestryDidChange();
-
- IWebNotificationCenter* notifyCenter = WebNotificationCenter::defaultCenterInternal();
- notifyCenter->addObserver(this, WebPreferences::webPreferencesChangedNotification(), static_cast<IWebPreferences*>(m_preferences.get()));
- m_preferences->postPreferencesChangesNotification();
-
- setSmartInsertDeleteEnabled(TRUE);
- return hr;
-}
-
-static bool initCommonControls()
-{
- static bool haveInitialized = false;
- if (haveInitialized)
- return true;
-
- INITCOMMONCONTROLSEX init;
- init.dwSize = sizeof(init);
- init.dwICC = ICC_TREEVIEW_CLASSES;
- haveInitialized = !!::InitCommonControlsEx(&init);
- return haveInitialized;
-}
-
-void WebView::initializeToolTipWindow()
-{
- if (!initCommonControls())
- return;
-
- m_toolTipHwnd = CreateWindowEx(WS_EX_TRANSPARENT, TOOLTIPS_CLASS, 0, WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,
- CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
- m_viewWindow, 0, 0, 0);
- if (!m_toolTipHwnd)
- return;
-
- TOOLINFO info = {0};
- info.cbSize = sizeof(info);
- info.uFlags = TTF_IDISHWND | TTF_SUBCLASS ;
- info.uId = reinterpret_cast<UINT_PTR>(m_viewWindow);
-
- ::SendMessage(m_toolTipHwnd, TTM_ADDTOOL, 0, reinterpret_cast<LPARAM>(&info));
- ::SendMessage(m_toolTipHwnd, TTM_SETMAXTIPWIDTH, 0, maxToolTipWidth);
-
- ::SetWindowPos(m_toolTipHwnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
-}
-
-void WebView::setToolTip(const String& toolTip)
-{
- if (!m_toolTipHwnd)
- return;
-
- if (toolTip == m_toolTip)
- return;
-
- m_toolTip = toolTip;
-
- if (!m_toolTip.isEmpty()) {
- TOOLINFO info = {0};
- info.cbSize = sizeof(info);
- info.uFlags = TTF_IDISHWND;
- info.uId = reinterpret_cast<UINT_PTR>(m_viewWindow);
- info.lpszText = const_cast<UChar*>(m_toolTip.charactersWithNullTermination().data());
- ::SendMessage(m_toolTipHwnd, TTM_UPDATETIPTEXT, 0, reinterpret_cast<LPARAM>(&info));
- }
-
- ::SendMessage(m_toolTipHwnd, TTM_ACTIVATE, !m_toolTip.isEmpty(), 0);
-}
-
-HRESULT WebView::notifyDidAddIcon(IWebNotification* notification)
-{
- COMPtr<IPropertyBag> propertyBag;
- HRESULT hr = notification->userInfo(&propertyBag);
- if (FAILED(hr))
- return hr;
- if (!propertyBag)
- return E_FAIL;
-
- COMPtr<CFDictionaryPropertyBag> dictionaryPropertyBag;
- hr = propertyBag->QueryInterface(&dictionaryPropertyBag);
- if (FAILED(hr))
- return hr;
-
- CFDictionaryRef dictionary = dictionaryPropertyBag->dictionary();
- if (!dictionary)
- return E_FAIL;
-
- CFTypeRef value = CFDictionaryGetValue(dictionary, WebIconDatabase::iconDatabaseNotificationUserInfoURLKey());
- if (!value)
- return E_FAIL;
- if (CFGetTypeID(value) != CFStringGetTypeID())
- return E_FAIL;
-
- String mainFrameURL;
- if (m_mainFrame)
- mainFrameURL = m_mainFrame->url().string();
-
- if (!mainFrameURL.isEmpty() && mainFrameURL == String((CFStringRef)value))
- dispatchDidReceiveIconFromWebFrame(m_mainFrame);
-
- return hr;
-}
-
-void WebView::registerForIconNotification(bool listen)
-{
- IWebNotificationCenter* nc = WebNotificationCenter::defaultCenterInternal();
- if (listen)
- nc->addObserver(this, WebIconDatabase::iconDatabaseDidAddIconNotification(), 0);
- else
- nc->removeObserver(this, WebIconDatabase::iconDatabaseDidAddIconNotification(), 0);
-}
-
-void WebView::dispatchDidReceiveIconFromWebFrame(WebFrame* frame)
-{
- registerForIconNotification(false);
-
- if (m_frameLoadDelegate) {
- String str = frame->url().string();
-
- IntSize sz(16, 16);
-
- BitmapInfo bmInfo = BitmapInfo::create(sz);
-
- HBITMAP hBitmap = 0;
-
- Image* icon = iconDatabase().synchronousIconForPageURL(str, sz);
-
- if (icon && icon->width()) {
- HWndDC dc(0);
- hBitmap = CreateDIBSection(dc, &bmInfo, DIB_RGB_COLORS, 0, 0, 0);
- icon->getHBITMAPOfSize(hBitmap, &static_cast<SIZE>(sz));
- }
-
- HRESULT hr = m_frameLoadDelegate->didReceiveIcon(this, (OLE_HANDLE)hBitmap, frame);
- if (hr == E_NOTIMPL)
- DeleteObject(hBitmap);
- }
-}
-
-HRESULT WebView::setAccessibilityDelegate(
- /* [in] */ IAccessibilityDelegate* d)
-{
- m_accessibilityDelegate = d;
- return S_OK;
-}
-
-HRESULT WebView::accessibilityDelegate(
- /* [out][retval] */ IAccessibilityDelegate** d)
-{
- if (!m_accessibilityDelegate)
- return E_POINTER;
-
- return m_accessibilityDelegate.copyRefTo(d);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setUIDelegate(
- /* [in] */ IWebUIDelegate* d)
-{
- m_uiDelegate = d;
-
- if (m_uiDelegatePrivate)
- m_uiDelegatePrivate = 0;
-
- if (d) {
- if (FAILED(d->QueryInterface(IID_IWebUIDelegatePrivate, (void**)&m_uiDelegatePrivate)))
- m_uiDelegatePrivate = 0;
- }
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::uiDelegate(
- /* [out][retval] */ IWebUIDelegate** d)
-{
- if (!m_uiDelegate)
- return E_FAIL;
-
- return m_uiDelegate.copyRefTo(d);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setResourceLoadDelegate(
- /* [in] */ IWebResourceLoadDelegate* d)
-{
- m_resourceLoadDelegate = d;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::resourceLoadDelegate(
- /* [out][retval] */ IWebResourceLoadDelegate** d)
-{
- if (!m_resourceLoadDelegate)
- return E_FAIL;
-
- return m_resourceLoadDelegate.copyRefTo(d);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setDownloadDelegate(
- /* [in] */ IWebDownloadDelegate* d)
-{
- m_downloadDelegate = d;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::downloadDelegate(
- /* [out][retval] */ IWebDownloadDelegate** d)
-{
- if (!m_downloadDelegate)
- return E_FAIL;
-
- return m_downloadDelegate.copyRefTo(d);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setFrameLoadDelegate(
- /* [in] */ IWebFrameLoadDelegate* d)
-{
- m_frameLoadDelegate = d;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::frameLoadDelegate(
- /* [out][retval] */ IWebFrameLoadDelegate** d)
-{
- if (!m_frameLoadDelegate)
- return E_FAIL;
-
- return m_frameLoadDelegate.copyRefTo(d);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setPolicyDelegate(
- /* [in] */ IWebPolicyDelegate* d)
-{
- m_policyDelegate = d;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::policyDelegate(
- /* [out][retval] */ IWebPolicyDelegate** d)
-{
- if (!m_policyDelegate)
- return E_FAIL;
- return m_policyDelegate.copyRefTo(d);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::mainFrame(
- /* [out][retval] */ IWebFrame** frame)
-{
- if (!frame) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *frame = m_mainFrame;
- if (!m_mainFrame)
- return E_FAIL;
-
- m_mainFrame->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::focusedFrame(
- /* [out][retval] */ IWebFrame** frame)
-{
- if (!frame) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *frame = 0;
- Frame* f = m_page->focusController()->focusedFrame();
- if (!f)
- return E_FAIL;
-
- WebFrame* webFrame = kit(f);
- if (!webFrame)
- return E_FAIL;
-
- return webFrame->QueryInterface(IID_IWebFrame, (void**) frame);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::backForwardList(
- /* [out][retval] */ IWebBackForwardList** list)
-{
- if (!m_useBackForwardList)
- return E_FAIL;
-
- *list = WebBackForwardList::createInstance(static_cast<WebCore::BackForwardListImpl*>(m_page->backForwardList()));
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setMaintainsBackForwardList(
- /* [in] */ BOOL flag)
-{
- m_useBackForwardList = !!flag;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::goBack(
- /* [retval][out] */ BOOL* succeeded)
-{
- *succeeded = m_page->goBack();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::goForward(
- /* [retval][out] */ BOOL* succeeded)
-{
- *succeeded = m_page->goForward();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::goToBackForwardItem(
- /* [in] */ IWebHistoryItem* item,
- /* [retval][out] */ BOOL* succeeded)
-{
- *succeeded = FALSE;
-
- COMPtr<WebHistoryItem> webHistoryItem;
- HRESULT hr = item->QueryInterface(&webHistoryItem);
- if (FAILED(hr))
- return hr;
-
- m_page->goToItem(webHistoryItem->historyItem(), FrameLoadTypeIndexedBackForward);
- *succeeded = TRUE;
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setTextSizeMultiplier(
- /* [in] */ float multiplier)
-{
- if (!m_mainFrame)
- return E_FAIL;
- setZoomMultiplier(multiplier, true);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setPageSizeMultiplier(
- /* [in] */ float multiplier)
-{
- if (!m_mainFrame)
- return E_FAIL;
- setZoomMultiplier(multiplier, false);
- return S_OK;
-}
-
-void WebView::setZoomMultiplier(float multiplier, bool isTextOnly)
-{
- m_zoomMultiplier = multiplier;
- m_zoomsTextOnly = isTextOnly;
-
- if (Frame* coreFrame = core(m_mainFrame)) {
- if (m_zoomsTextOnly)
- coreFrame->setPageAndTextZoomFactors(1, multiplier);
- else
- coreFrame->setPageAndTextZoomFactors(multiplier, 1);
- }
-}
-
-HRESULT STDMETHODCALLTYPE WebView::textSizeMultiplier(
- /* [retval][out] */ float* multiplier)
-{
- *multiplier = zoomMultiplier(true);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::pageSizeMultiplier(
- /* [retval][out] */ float* multiplier)
-{
- *multiplier = zoomMultiplier(false);
- return S_OK;
-}
-
-float WebView::zoomMultiplier(bool isTextOnly)
-{
- if (isTextOnly != m_zoomsTextOnly)
- return 1.0f;
- return m_zoomMultiplier;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setApplicationNameForUserAgent(
- /* [in] */ BSTR applicationName)
-{
- m_applicationName = toString(applicationName);
- m_userAgentStandard = String();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::applicationNameForUserAgent(
- /* [retval][out] */ BSTR* applicationName)
-{
- *applicationName = SysAllocStringLen(m_applicationName.characters(), m_applicationName.length());
- if (!*applicationName && m_applicationName.length())
- return E_OUTOFMEMORY;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setCustomUserAgent(
- /* [in] */ BSTR userAgentString)
-{
- m_userAgentOverridden = userAgentString;
- m_userAgentCustom = toString(userAgentString);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::customUserAgent(
- /* [retval][out] */ BSTR* userAgentString)
-{
- *userAgentString = 0;
- if (!m_userAgentOverridden)
- return S_OK;
- *userAgentString = SysAllocStringLen(m_userAgentCustom.characters(), m_userAgentCustom.length());
- if (!*userAgentString && m_userAgentCustom.length())
- return E_OUTOFMEMORY;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::userAgentForURL(
- /* [in] */ BSTR url,
- /* [retval][out] */ BSTR* userAgent)
-{
- String userAgentString = userAgentForKURL(MarshallingHelpers::BSTRToKURL(url));
- *userAgent = BString(userAgentString).release();
- if (!*userAgent && userAgentString.length())
- return E_OUTOFMEMORY;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::supportsTextEncoding(
- /* [retval][out] */ BOOL* supports)
-{
- *supports = TRUE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setCustomTextEncodingName(
- /* [in] */ BSTR encodingName)
-{
- if (!m_mainFrame)
- return E_FAIL;
-
- HRESULT hr;
- BString oldEncoding;
- hr = customTextEncodingName(&oldEncoding);
- if (FAILED(hr))
- return hr;
-
- if (oldEncoding != encodingName && (!oldEncoding || !encodingName || wcscmp(oldEncoding, encodingName))) {
- if (Frame* coreFrame = core(m_mainFrame))
- coreFrame->loader()->reloadWithOverrideEncoding(toString(encodingName));
- }
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::customTextEncodingName(
- /* [retval][out] */ BSTR* encodingName)
-{
- HRESULT hr = S_OK;
- COMPtr<IWebDataSource> dataSource;
- COMPtr<WebDataSource> dataSourceImpl;
- *encodingName = 0;
-
- if (!m_mainFrame)
- return E_FAIL;
-
- if (FAILED(m_mainFrame->provisionalDataSource(&dataSource)) || !dataSource) {
- hr = m_mainFrame->dataSource(&dataSource);
- if (FAILED(hr) || !dataSource)
- return hr;
- }
-
- hr = dataSource->QueryInterface(IID_WebDataSource, (void**)&dataSourceImpl);
- if (FAILED(hr))
- return hr;
-
- BString str = dataSourceImpl->documentLoader()->overrideEncoding();
- if (FAILED(hr))
- return hr;
-
- if (!*encodingName)
- *encodingName = BString(m_overrideEncoding).release();
-
- if (!*encodingName && m_overrideEncoding.length())
- return E_OUTOFMEMORY;
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setMediaStyle(
- /* [in] */ BSTR /*media*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::mediaStyle(
- /* [retval][out] */ BSTR* /*media*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::stringByEvaluatingJavaScriptFromString(
- /* [in] */ BSTR script, // assumes input does not have "JavaScript" at the begining.
- /* [retval][out] */ BSTR* result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *result = 0;
-
- Frame* coreFrame = core(m_mainFrame);
- if (!coreFrame)
- return E_FAIL;
-
- JSC::JSValue scriptExecutionResult = coreFrame->script()->executeScript(WTF::String(script), true).jsValue();
- if (!scriptExecutionResult)
- return E_FAIL;
- else if (scriptExecutionResult.isString()) {
- JSC::ExecState* exec = coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec();
- JSC::JSLockHolder lock(exec);
- *result = BString(scriptExecutionResult.getString(exec));
- }
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::windowScriptObject(
- /* [retval][out] */ IWebScriptObject** /*webScriptObject*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setPreferences(
- /* [in] */ IWebPreferences* prefs)
-{
- if (!prefs)
- prefs = WebPreferences::sharedStandardPreferences();
-
- if (m_preferences == prefs)
- return S_OK;
-
- COMPtr<WebPreferences> webPrefs(Query, prefs);
- if (!webPrefs)
- return E_NOINTERFACE;
- webPrefs->willAddToWebView();
-
- COMPtr<WebPreferences> oldPrefs = m_preferences;
-
- IWebNotificationCenter* nc = WebNotificationCenter::defaultCenterInternal();
- nc->removeObserver(this, WebPreferences::webPreferencesChangedNotification(), static_cast<IWebPreferences*>(m_preferences.get()));
-
- BString identifier;
- oldPrefs->identifier(&identifier);
- oldPrefs->didRemoveFromWebView();
- oldPrefs = 0; // Make sure we release the reference, since WebPreferences::removeReferenceForIdentifier will check for last reference to WebPreferences
-
- m_preferences = webPrefs;
-
- if (identifier)
- WebPreferences::removeReferenceForIdentifier(identifier);
-
- nc->addObserver(this, WebPreferences::webPreferencesChangedNotification(), static_cast<IWebPreferences*>(m_preferences.get()));
-
- m_preferences->postPreferencesChangesNotification();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::preferences(
- /* [retval][out] */ IWebPreferences** prefs)
-{
- if (!prefs)
- return E_POINTER;
- *prefs = m_preferences.get();
- if (m_preferences)
- m_preferences->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setPreferencesIdentifier(
- /* [in] */ BSTR /*anIdentifier*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::preferencesIdentifier(
- /* [retval][out] */ BSTR* /*anIdentifier*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-static void systemParameterChanged(WPARAM parameter)
-{
-#if USE(CG)
- if (parameter == SPI_SETFONTSMOOTHING || parameter == SPI_SETFONTSMOOTHINGTYPE || parameter == SPI_SETFONTSMOOTHINGCONTRAST || parameter == SPI_SETFONTSMOOTHINGORIENTATION)
- wkSystemFontSmoothingChanged();
-#endif
-}
-
-void WebView::windowReceivedMessage(HWND, UINT message, WPARAM wParam, LPARAM)
-{
- switch (message) {
- case WM_NCACTIVATE:
- updateActiveStateSoon();
- if (!wParam)
- deleteBackingStoreSoon();
- break;
- case WM_SETTINGCHANGE:
- systemParameterChanged(wParam);
- break;
- }
-}
-
-void WebView::updateActiveStateSoon() const
-{
- // This function is called while processing the WM_NCACTIVATE message.
- // While processing WM_NCACTIVATE when we are being deactivated, GetActiveWindow() will
- // still return our window. If we were to call updateActiveState() in that case, we would
- // wrongly think that we are still the active window. To work around this, we update our
- // active state after a 0-delay timer fires, at which point GetActiveWindow() will return
- // the newly-activated window.
-
- SetTimer(m_viewWindow, UpdateActiveStateTimer, 0, 0);
-}
-
-void WebView::deleteBackingStoreSoon()
-{
- if (pendingDeleteBackingStoreSet.size() > 2) {
- Vector<WebView*> views;
- HashSet<WebView*>::iterator end = pendingDeleteBackingStoreSet.end();
- for (HashSet<WebView*>::iterator it = pendingDeleteBackingStoreSet.begin(); it != end; ++it)
- views.append(*it);
- for (int i = 0; i < views.size(); ++i)
- views[i]->deleteBackingStore();
- ASSERT(pendingDeleteBackingStoreSet.isEmpty());
- }
-
- pendingDeleteBackingStoreSet.add(this);
- m_deleteBackingStoreTimerActive = true;
- SetTimer(m_viewWindow, DeleteBackingStoreTimer, delayBeforeDeletingBackingStoreMsec, 0);
-}
-
-void WebView::cancelDeleteBackingStoreSoon()
-{
- if (!m_deleteBackingStoreTimerActive)
- return;
- pendingDeleteBackingStoreSet.remove(this);
- m_deleteBackingStoreTimerActive = false;
- KillTimer(m_viewWindow, DeleteBackingStoreTimer);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setHostWindow(
- /* [in] */ OLE_HANDLE oleWindow)
-{
- HWND window = (HWND)(ULONG64)oleWindow;
- if (m_viewWindow) {
- if (window)
- SetParent(m_viewWindow, window);
- else if (!isBeingDestroyed()) {
- // Turn the WebView into a message-only window so it will no longer be a child of the
- // old host window and will be hidden from screen. We only do this when
- // isBeingDestroyed() is false because doing this while handling WM_DESTROY can leave
- // m_viewWindow in a weird state (see <http://webkit.org/b/29337>).
- SetParent(m_viewWindow, HWND_MESSAGE);
- }
- }
-
- m_hostWindow = window;
-
- windowAncestryDidChange();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::hostWindow(
- /* [retval][out] */ OLE_HANDLE* window)
-{
- *window = (OLE_HANDLE)(ULONG64)m_hostWindow;
- return S_OK;
-}
-
-
-static Frame *incrementFrame(Frame *curr, bool forward, bool wrapFlag)
-{
- return forward
- ? curr->tree()->traverseNextWithWrap(wrapFlag)
- : curr->tree()->traversePreviousWithWrap(wrapFlag);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::searchFor(
- /* [in] */ BSTR str,
- /* [in] */ BOOL forward,
- /* [in] */ BOOL caseFlag,
- /* [in] */ BOOL wrapFlag,
- /* [retval][out] */ BOOL* found)
-{
- if (!found)
- return E_INVALIDARG;
-
- if (!m_page || !m_page->mainFrame())
- return E_UNEXPECTED;
-
- if (!str || !SysStringLen(str))
- return E_INVALIDARG;
-
- *found = m_page->findString(toString(str), caseFlag ? TextCaseSensitive : TextCaseInsensitive, forward ? FindDirectionForward : FindDirectionBackward, wrapFlag);
- return S_OK;
-}
-
-bool WebView::active()
-{
- HWND activeWindow = GetActiveWindow();
- if (usesLayeredWindow() && activeWindow == m_viewWindow)
- return true;
-
- return (activeWindow && m_topLevelParent == findTopLevelParent(activeWindow));
-}
-
-void WebView::updateActiveState()
-{
- m_page->focusController()->setActive(active());
-}
-
-HRESULT STDMETHODCALLTYPE WebView::updateFocusedAndActiveState()
-{
- updateActiveState();
-
- bool active = m_page->focusController()->isActive();
- Frame* mainFrame = m_page->mainFrame();
- Frame* focusedFrame = m_page->focusController()->focusedOrMainFrame();
- mainFrame->selection()->setFocused(active && mainFrame == focusedFrame);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::executeCoreCommandByName(BSTR name, BSTR value)
-{
- m_page->focusController()->focusedOrMainFrame()->editor().command(toString(name)).execute(toString(value));
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::clearMainFrameName()
-{
- m_page->mainFrame()->tree()->clearName();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::markAllMatchesForText(
- BSTR str, BOOL caseSensitive, BOOL highlight, UINT limit, UINT* matches)
-{
- if (!matches)
- return E_INVALIDARG;
-
- if (!m_page || !m_page->mainFrame())
- return E_UNEXPECTED;
-
- if (!str || !SysStringLen(str))
- return E_INVALIDARG;
-
- *matches = m_page->markAllMatchesForText(toString(str), caseSensitive ? TextCaseSensitive : TextCaseInsensitive, highlight, limit);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::unmarkAllTextMatches()
-{
- if (!m_page || !m_page->mainFrame())
- return E_UNEXPECTED;
-
- m_page->unmarkAllTextMatches();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::rectsForTextMatches(
- IEnumTextMatches** pmatches)
-{
- Vector<IntRect> allRects;
- WebCore::Frame* frame = m_page->mainFrame();
- do {
- if (Document* document = frame->document()) {
- IntRect visibleRect = frame->view()->visibleContentRect();
- Vector<IntRect> frameRects = document->markers()->renderedRectsForMarkers(DocumentMarker::TextMatch);
- IntPoint frameOffset(-frame->view()->scrollOffset().width(), -frame->view()->scrollOffset().height());
- frameOffset = frame->view()->convertToContainingWindow(frameOffset);
-
- Vector<IntRect>::iterator end = frameRects.end();
- for (Vector<IntRect>::iterator it = frameRects.begin(); it < end; it++) {
- it->intersect(visibleRect);
- it->move(frameOffset.x(), frameOffset.y());
- allRects.append(*it);
- }
- }
- frame = incrementFrame(frame, true, false);
- } while (frame);
-
- return createMatchEnumerator(&allRects, pmatches);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::generateSelectionImage(BOOL forceWhiteText, OLE_HANDLE* hBitmap)
-{
- *hBitmap = 0;
-
- WebCore::Frame* frame = m_page->focusController()->focusedOrMainFrame();
-
- if (frame) {
- HBITMAP bitmap = imageFromSelection(frame, forceWhiteText ? TRUE : FALSE);
- *hBitmap = (OLE_HANDLE)(ULONG64)bitmap;
- }
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::selectionRect(RECT* rc)
-{
- WebCore::Frame* frame = m_page->focusController()->focusedOrMainFrame();
-
- if (frame) {
- IntRect ir = enclosingIntRect(frame->selection()->bounds());
- ir = frame->view()->convertToContainingWindow(ir);
- ir.move(-frame->view()->scrollOffset().width(), -frame->view()->scrollOffset().height());
- rc->left = ir.x();
- rc->top = ir.y();
- rc->bottom = rc->top + ir.height();
- rc->right = rc->left + ir.width();
- }
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::registerViewClass(
- /* [in] */ IWebDocumentView* /*view*/,
- /* [in] */ IWebDocumentRepresentation* /*representation*/,
- /* [in] */ BSTR /*forMIMEType*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setGroupName(
- /* [in] */ BSTR groupName)
-{
- if (!m_page)
- return S_OK;
- m_page->setGroupName(toString(groupName));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::groupName(
- /* [retval][out] */ BSTR* groupName)
-{
- *groupName = 0;
- if (!m_page)
- return S_OK;
- String groupNameString = m_page->groupName();
- *groupName = SysAllocStringLen(groupNameString.characters(), groupNameString.length());
- if (!*groupName && groupNameString.length())
- return E_OUTOFMEMORY;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::estimatedProgress(
- /* [retval][out] */ double* estimatedProgress)
-{
- *estimatedProgress = m_page->progress()->estimatedProgress();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::isLoading(
- /* [retval][out] */ BOOL* isLoading)
-{
- COMPtr<IWebDataSource> dataSource;
- COMPtr<IWebDataSource> provisionalDataSource;
-
- if (!isLoading)
- return E_POINTER;
-
- *isLoading = FALSE;
-
- if (!m_mainFrame)
- return E_FAIL;
-
- if (SUCCEEDED(m_mainFrame->dataSource(&dataSource)))
- dataSource->isLoading(isLoading);
-
- if (*isLoading)
- return S_OK;
-
- if (SUCCEEDED(m_mainFrame->provisionalDataSource(&provisionalDataSource)))
- provisionalDataSource->isLoading(isLoading);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::elementAtPoint(
- /* [in] */ LPPOINT point,
- /* [retval][out] */ IPropertyBag** elementDictionary)
-{
- if (!elementDictionary) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *elementDictionary = 0;
-
- Frame* frame = core(m_mainFrame);
- if (!frame)
- return E_FAIL;
-
- IntPoint webCorePoint = IntPoint(point->x, point->y);
- HitTestResult result = HitTestResult(webCorePoint);
- if (frame->contentRenderer())
- result = frame->eventHandler()->hitTestResultAtPoint(webCorePoint);
- *elementDictionary = WebElementPropertyBag::createInstance(result);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::pasteboardTypesForSelection(
- /* [retval][out] */ IEnumVARIANT** /*enumVariant*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::writeSelectionWithPasteboardTypes(
- /* [size_is][in] */ BSTR* /*types*/,
- /* [in] */ int /*cTypes*/,
- /* [in] */ IDataObject* /*pasteboard*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::pasteboardTypesForElement(
- /* [in] */ IPropertyBag* /*elementDictionary*/,
- /* [retval][out] */ IEnumVARIANT** /*enumVariant*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::writeElement(
- /* [in] */ IPropertyBag* /*elementDictionary*/,
- /* [size_is][in] */ BSTR* /*withPasteboardTypes*/,
- /* [in] */ int /*cWithPasteboardTypes*/,
- /* [in] */ IDataObject* /*pasteboard*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::selectedText(
- /* [out, retval] */ BSTR* text)
-{
- if (!text) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *text = 0;
-
- Frame* focusedFrame = (m_page && m_page->focusController()) ? m_page->focusController()->focusedOrMainFrame() : 0;
- if (!focusedFrame)
- return E_FAIL;
-
- String frameSelectedText = focusedFrame->editor().selectedText();
- *text = SysAllocStringLen(frameSelectedText.characters(), frameSelectedText.length());
- if (!*text && frameSelectedText.length())
- return E_OUTOFMEMORY;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::centerSelectionInVisibleArea(
- /* [in] */ IUnknown* /* sender */)
-{
- Frame* coreFrame = core(m_mainFrame);
- if (!coreFrame)
- return E_FAIL;
-
- coreFrame->selection()->revealSelection(ScrollAlignment::alignCenterAlways);
- return S_OK;
-}
-
-
-HRESULT STDMETHODCALLTYPE WebView::moveDragCaretToPoint(
- /* [in] */ LPPOINT /*point*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::removeDragCaret( void)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setDrawsBackground(
- /* [in] */ BOOL /*drawsBackground*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::drawsBackground(
- /* [retval][out] */ BOOL* /*drawsBackground*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setMainFrameURL(
- /* [in] */ BSTR /*urlString*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::mainFrameURL(
- /* [retval][out] */ BSTR* urlString)
-{
- if (!urlString)
- return E_POINTER;
-
- if (!m_mainFrame)
- return E_FAIL;
-
- COMPtr<IWebDataSource> dataSource;
-
- if (FAILED(m_mainFrame->provisionalDataSource(&dataSource))) {
- if (FAILED(m_mainFrame->dataSource(&dataSource)))
- return E_FAIL;
- }
-
- if (!dataSource) {
- *urlString = 0;
- return S_OK;
- }
-
- COMPtr<IWebMutableURLRequest> request;
- if (FAILED(dataSource->request(&request)) || !request)
- return E_FAIL;
-
- if (FAILED(request->URL(urlString)))
- return E_FAIL;
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::mainFrameDocument(
- /* [retval][out] */ IDOMDocument** document)
-{
- if (document)
- *document = 0;
- if (!m_mainFrame)
- return E_FAIL;
- return m_mainFrame->DOMDocument(document);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::mainFrameTitle(
- /* [retval][out] */ BSTR* /*title*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::mainFrameIcon(
- /* [retval][out] */ OLE_HANDLE* /*hBitmap*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::registerURLSchemeAsLocal(
- /* [in] */ BSTR scheme)
-{
- if (!scheme)
- return E_POINTER;
-
- SchemeRegistry::registerURLSchemeAsLocal(toString(scheme));
-
- return S_OK;
-}
-
-// IWebIBActions ---------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebView::takeStringURLFrom(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::stopLoading(
- /* [in] */ IUnknown* /*sender*/)
-{
- if (!m_mainFrame)
- return E_FAIL;
-
- return m_mainFrame->stopLoading();
-}
-
-HRESULT STDMETHODCALLTYPE WebView::reload(
- /* [in] */ IUnknown* /*sender*/)
-{
- if (!m_mainFrame)
- return E_FAIL;
-
- return m_mainFrame->reload();
-}
-
-HRESULT STDMETHODCALLTYPE WebView::canGoBack(
- /* [in] */ IUnknown* /*sender*/,
- /* [retval][out] */ BOOL* result)
-{
- *result = !!(m_page->backForwardList()->backItem() && !m_page->defersLoading());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::goBack(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::canGoForward(
- /* [in] */ IUnknown* /*sender*/,
- /* [retval][out] */ BOOL* result)
-{
- *result = !!(m_page->backForwardList()->forwardItem() && !m_page->defersLoading());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::goForward(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-// FIXME: This code should move into WebCore so it can be shared by all the WebKits.
-#define MinimumZoomMultiplier 0.5f
-#define MaximumZoomMultiplier 3.0f
-#define ZoomMultiplierRatio 1.2f
-
-HRESULT STDMETHODCALLTYPE WebView::canMakeTextLarger(
- /* [in] */ IUnknown* /*sender*/,
- /* [retval][out] */ BOOL* result)
-{
- bool canGrowMore = canZoomIn(m_zoomsTextOnly);
- *result = canGrowMore ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::canZoomPageIn(
- /* [in] */ IUnknown* /*sender*/,
- /* [retval][out] */ BOOL* result)
-{
- bool canGrowMore = canZoomIn(false);
- *result = canGrowMore ? TRUE : FALSE;
- return S_OK;
-}
-
-bool WebView::canZoomIn(bool isTextOnly)
-{
- return zoomMultiplier(isTextOnly) * ZoomMultiplierRatio < MaximumZoomMultiplier;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::makeTextLarger(
- /* [in] */ IUnknown* /*sender*/)
-{
- return zoomIn(m_zoomsTextOnly);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::zoomPageIn(
- /* [in] */ IUnknown* /*sender*/)
-{
- return zoomIn(false);
-}
-
-HRESULT WebView::zoomIn(bool isTextOnly)
-{
- if (!canZoomIn(isTextOnly))
- return E_FAIL;
- setZoomMultiplier(zoomMultiplier(isTextOnly) * ZoomMultiplierRatio, isTextOnly);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::canMakeTextSmaller(
- /* [in] */ IUnknown* /*sender*/,
- /* [retval][out] */ BOOL* result)
-{
- bool canShrinkMore = canZoomOut(m_zoomsTextOnly);
- *result = canShrinkMore ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::canZoomPageOut(
- /* [in] */ IUnknown* /*sender*/,
- /* [retval][out] */ BOOL* result)
-{
- bool canShrinkMore = canZoomOut(false);
- *result = canShrinkMore ? TRUE : FALSE;
- return S_OK;
-}
-
-bool WebView::canZoomOut(bool isTextOnly)
-{
- return zoomMultiplier(isTextOnly) / ZoomMultiplierRatio > MinimumZoomMultiplier;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::makeTextSmaller(
- /* [in] */ IUnknown* /*sender*/)
-{
- return zoomOut(m_zoomsTextOnly);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::zoomPageOut(
- /* [in] */ IUnknown* /*sender*/)
-{
- return zoomOut(false);
-}
-
-HRESULT WebView::zoomOut(bool isTextOnly)
-{
- if (!canZoomOut(isTextOnly))
- return E_FAIL;
- setZoomMultiplier(zoomMultiplier(isTextOnly) / ZoomMultiplierRatio, isTextOnly);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::canMakeTextStandardSize(
- /* [in] */ IUnknown* /*sender*/,
- /* [retval][out] */ BOOL* result)
-{
- // Since we always reset text zoom and page zoom together, this should continue to return an answer about text zoom even if its not enabled.
- bool notAlreadyStandard = canResetZoom(true);
- *result = notAlreadyStandard ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::canResetPageZoom(
- /* [in] */ IUnknown* /*sender*/,
- /* [retval][out] */ BOOL* result)
-{
- bool notAlreadyStandard = canResetZoom(false);
- *result = notAlreadyStandard ? TRUE : FALSE;
- return S_OK;
-}
-
-bool WebView::canResetZoom(bool isTextOnly)
-{
- return zoomMultiplier(isTextOnly) != 1.0f;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::makeTextStandardSize(
- /* [in] */ IUnknown* /*sender*/)
-{
- return resetZoom(true);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::resetPageZoom(
- /* [in] */ IUnknown* /*sender*/)
-{
- return resetZoom(false);
-}
-
-HRESULT WebView::resetZoom(bool isTextOnly)
-{
- if (!canResetZoom(isTextOnly))
- return E_FAIL;
- setZoomMultiplier(1.0f, isTextOnly);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::toggleContinuousSpellChecking(
- /* [in] */ IUnknown* /*sender*/)
-{
- HRESULT hr;
- BOOL enabled;
- if (FAILED(hr = isContinuousSpellCheckingEnabled(&enabled)))
- return hr;
- return setContinuousSpellCheckingEnabled(enabled ? FALSE : TRUE);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::toggleSmartInsertDelete(
- /* [in] */ IUnknown* /*sender*/)
-{
- BOOL enabled = FALSE;
- HRESULT hr = smartInsertDeleteEnabled(&enabled);
- if (FAILED(hr))
- return hr;
-
- return setSmartInsertDeleteEnabled(enabled ? FALSE : TRUE);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::toggleGrammarChecking(
- /* [in] */ IUnknown* /*sender*/)
-{
- BOOL enabled;
- HRESULT hr = isGrammarCheckingEnabled(&enabled);
- if (FAILED(hr))
- return hr;
-
- return setGrammarCheckingEnabled(enabled ? FALSE : TRUE);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::reloadFromOrigin(
- /* [in] */ IUnknown* /*sender*/)
-{
- if (!m_mainFrame)
- return E_FAIL;
-
- return m_mainFrame->reloadFromOrigin();
-}
-
-// IWebViewCSS -----------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebView::computedStyleForElement(
- /* [in] */ IDOMElement* /*element*/,
- /* [in] */ BSTR /*pseudoElement*/,
- /* [retval][out] */ IDOMCSSStyleDeclaration** /*style*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-// IWebViewEditing -------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebView::editableDOMRangeForPoint(
- /* [in] */ LPPOINT /*point*/,
- /* [retval][out] */ IDOMRange** /*range*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setSelectedDOMRange(
- /* [in] */ IDOMRange* /*range*/,
- /* [in] */ WebSelectionAffinity /*affinity*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::selectedDOMRange(
- /* [retval][out] */ IDOMRange** /*range*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::selectionAffinity(
- /* [retval][out][retval][out] */ WebSelectionAffinity* /*affinity*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setEditable(
- /* [in] */ BOOL /*flag*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::isEditable(
- /* [retval][out] */ BOOL* /*isEditable*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setTypingStyle(
- /* [in] */ IDOMCSSStyleDeclaration* /*style*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::typingStyle(
- /* [retval][out] */ IDOMCSSStyleDeclaration** /*style*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setSmartInsertDeleteEnabled(
- /* [in] */ BOOL flag)
-{
- if (m_page->settings()->smartInsertDeleteEnabled() != !!flag) {
- m_page->settings()->setSmartInsertDeleteEnabled(!!flag);
- setSelectTrailingWhitespaceEnabled(!flag);
- }
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::smartInsertDeleteEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = m_page->settings()->smartInsertDeleteEnabled() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setSelectTrailingWhitespaceEnabled(
- /* [in] */ BOOL flag)
-{
- if (m_page->settings()->selectTrailingWhitespaceEnabled() != !!flag) {
- m_page->settings()->setSelectTrailingWhitespaceEnabled(!!flag);
- setSmartInsertDeleteEnabled(!flag);
- }
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::isSelectTrailingWhitespaceEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = m_page->settings()->selectTrailingWhitespaceEnabled() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setContinuousSpellCheckingEnabled(
- /* [in] */ BOOL flag)
-{
- if (continuousSpellCheckingEnabled != !!flag) {
- continuousSpellCheckingEnabled = !!flag;
- COMPtr<IWebPreferences> prefs;
- if (SUCCEEDED(preferences(&prefs)))
- prefs->setContinuousSpellCheckingEnabled(flag);
- }
-
- BOOL spellCheckingEnabled;
- if (SUCCEEDED(isContinuousSpellCheckingEnabled(&spellCheckingEnabled)) && spellCheckingEnabled)
- preflightSpellChecker();
- else
- m_mainFrame->unmarkAllMisspellings();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::isContinuousSpellCheckingEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = (continuousSpellCheckingEnabled && continuousCheckingAllowed()) ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::spellCheckerDocumentTag(
- /* [retval][out] */ int* tag)
-{
- // we just use this as a flag to indicate that we've spell checked the document
- // and need to close the spell checker out when the view closes.
- *tag = 0;
- m_hasSpellCheckerDocumentTag = true;
- return S_OK;
-}
-
-static COMPtr<IWebEditingDelegate> spellingDelegateForTimer;
-
-static void preflightSpellCheckerNow()
-{
- spellingDelegateForTimer->preflightChosenSpellServer();
- spellingDelegateForTimer = 0;
-}
-
-static void CALLBACK preflightSpellCheckerTimerCallback(HWND, UINT, UINT_PTR id, DWORD)
-{
- ::KillTimer(0, id);
- preflightSpellCheckerNow();
-}
-
-void WebView::preflightSpellChecker()
-{
- // As AppKit does, we wish to delay tickling the shared spellchecker into existence on application launch.
- if (!m_editingDelegate)
- return;
-
- BOOL exists;
- spellingDelegateForTimer = m_editingDelegate;
- if (SUCCEEDED(m_editingDelegate->sharedSpellCheckerExists(&exists)) && exists)
- preflightSpellCheckerNow();
- else
- ::SetTimer(0, 0, 2000, preflightSpellCheckerTimerCallback);
-}
-
-bool WebView::continuousCheckingAllowed()
-{
- static bool allowContinuousSpellChecking = true;
- static bool readAllowContinuousSpellCheckingDefault = false;
- if (!readAllowContinuousSpellCheckingDefault) {
- COMPtr<IWebPreferences> prefs;
- if (SUCCEEDED(preferences(&prefs))) {
- BOOL allowed;
- prefs->allowContinuousSpellChecking(&allowed);
- allowContinuousSpellChecking = !!allowed;
- }
- readAllowContinuousSpellCheckingDefault = true;
- }
- return allowContinuousSpellChecking;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::undoManager(
- /* [retval][out] */ IWebUndoManager** /*manager*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setEditingDelegate(
- /* [in] */ IWebEditingDelegate* d)
-{
- m_editingDelegate = d;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::editingDelegate(
- /* [retval][out] */ IWebEditingDelegate** d)
-{
- if (!d) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *d = m_editingDelegate.get();
- if (!*d)
- return E_FAIL;
-
- (*d)->AddRef();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::styleDeclarationWithText(
- /* [in] */ BSTR /*text*/,
- /* [retval][out] */ IDOMCSSStyleDeclaration** /*style*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::hasSelectedRange(
- /* [retval][out] */ BOOL* hasSelectedRange)
-{
- *hasSelectedRange = m_page->mainFrame()->selection()->isRange();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::cutEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- Editor& editor = m_page->focusController()->focusedOrMainFrame()->editor();
- *enabled = editor.canCut() || editor.canDHTMLCut();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::copyEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- Editor& editor = m_page->focusController()->focusedOrMainFrame()->editor();
- *enabled = editor.canCopy() || editor.canDHTMLCopy();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::pasteEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- Editor& editor = m_page->focusController()->focusedOrMainFrame()->editor();
- *enabled = editor.canPaste() || editor.canDHTMLPaste();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::deleteEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = m_page->focusController()->focusedOrMainFrame()->editor().canDelete();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::editingEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = m_page->focusController()->focusedOrMainFrame()->editor().canEdit();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::isGrammarCheckingEnabled(
- /* [retval][out] */ BOOL* enabled)
-{
- *enabled = grammarCheckingEnabled ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setGrammarCheckingEnabled(
- BOOL enabled)
-{
- if (!m_editingDelegate) {
- LOG_ERROR("No NSSpellChecker");
- return E_FAIL;
- }
-
- if (grammarCheckingEnabled == !!enabled)
- return S_OK;
-
- grammarCheckingEnabled = !!enabled;
- COMPtr<IWebPreferences> prefs;
- if (SUCCEEDED(preferences(&prefs)))
- prefs->setGrammarCheckingEnabled(enabled);
-
- m_editingDelegate->updateGrammar();
-
- // We call _preflightSpellChecker when turning continuous spell checking on, but we don't need to do that here
- // because grammar checking only occurs on code paths that already preflight spell checking appropriately.
-
- BOOL grammarEnabled;
- if (SUCCEEDED(isGrammarCheckingEnabled(&grammarEnabled)) && !grammarEnabled)
- m_mainFrame->unmarkAllBadGrammar();
-
- return S_OK;
-}
-
-// IWebViewUndoableEditing -----------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebView::replaceSelectionWithNode(
- /* [in] */ IDOMNode* /*node*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::replaceSelectionWithText(
- /* [in] */ BSTR text)
-{
- Position start = m_page->mainFrame()->selection()->selection().start();
- m_page->focusController()->focusedOrMainFrame()->editor().insertText(toString(text), 0);
- m_page->mainFrame()->selection()->setBase(start);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::replaceSelectionWithMarkupString(
- /* [in] */ BSTR /*markupString*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::replaceSelectionWithArchive(
- /* [in] */ IWebArchive* /*archive*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::deleteSelection( void)
-{
- Editor& editor = m_page->focusController()->focusedOrMainFrame()->editor();
- editor.deleteSelectionWithSmartDelete(editor.canSmartCopyOrDelete());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::clearSelection( void)
-{
- m_page->focusController()->focusedOrMainFrame()->selection()->clear();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::applyStyle(
- /* [in] */ IDOMCSSStyleDeclaration* /*style*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-// IWebViewEditingActions ------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebView::copy(
- /* [in] */ IUnknown* /*sender*/)
-{
- m_page->focusController()->focusedOrMainFrame()->editor().command("Copy").execute();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::cut(
- /* [in] */ IUnknown* /*sender*/)
-{
- m_page->focusController()->focusedOrMainFrame()->editor().command("Cut").execute();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::paste(
- /* [in] */ IUnknown* /*sender*/)
-{
- m_page->focusController()->focusedOrMainFrame()->editor().command("Paste").execute();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::copyURL(
- /* [in] */ BSTR url)
-{
- m_page->focusController()->focusedOrMainFrame()->editor().copyURL(MarshallingHelpers::BSTRToKURL(url), "");
- return S_OK;
-}
-
-
-HRESULT STDMETHODCALLTYPE WebView::copyFont(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::pasteFont(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::delete_(
- /* [in] */ IUnknown* /*sender*/)
-{
- m_page->focusController()->focusedOrMainFrame()->editor().command("Delete").execute();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::pasteAsPlainText(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::pasteAsRichText(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::changeFont(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::changeAttributes(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::changeDocumentBackgroundColor(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::changeColor(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::alignCenter(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::alignJustified(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::alignLeft(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::alignRight(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::checkSpelling(
- /* [in] */ IUnknown* /*sender*/)
-{
- if (!m_editingDelegate) {
- LOG_ERROR("No NSSpellChecker");
- return E_FAIL;
- }
-
- core(m_mainFrame)->editor().advanceToNextMisspelling();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::showGuessPanel(
- /* [in] */ IUnknown* /*sender*/)
-{
- if (!m_editingDelegate) {
- LOG_ERROR("No NSSpellChecker");
- return E_FAIL;
- }
-
- // Post-Tiger, this menu item is a show/hide toggle, to match AppKit. Leave Tiger behavior alone
- // to match rest of OS X.
- BOOL showing;
- if (SUCCEEDED(m_editingDelegate->spellingUIIsShowing(&showing)) && showing) {
- m_editingDelegate->showSpellingUI(FALSE);
- }
-
- core(m_mainFrame)->editor().advanceToNextMisspelling(true);
- m_editingDelegate->showSpellingUI(TRUE);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::performFindPanelAction(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::startSpeaking(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::stopSpeaking(
- /* [in] */ IUnknown* /*sender*/)
-{
- ASSERT_NOT_REACHED();
- return E_NOTIMPL;
-}
-
-// IWebNotificationObserver -----------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebView::onNotify(
- /* [in] */ IWebNotification* notification)
-{
- BString name;
- HRESULT hr = notification->name(&name);
- if (FAILED(hr))
- return hr;
-
- if (!wcscmp(name, WebIconDatabase::iconDatabaseDidAddIconNotification()))
- return notifyDidAddIcon(notification);
-
- if (!wcscmp(name, WebPreferences::webPreferencesChangedNotification()))
- return notifyPreferencesChanged(notification);
-
- return hr;
-}
-
-HRESULT WebView::notifyPreferencesChanged(IWebNotification* notification)
-{
- HRESULT hr;
-
- COMPtr<IUnknown> unkPrefs;
- hr = notification->getObject(&unkPrefs);
- if (FAILED(hr))
- return hr;
-
- COMPtr<IWebPreferences> preferences(Query, unkPrefs);
- if (!preferences)
- return E_NOINTERFACE;
-
- ASSERT(preferences == m_preferences);
-
- BString str;
- int size;
- BOOL enabled;
-
- Settings* settings = m_page->settings();
-
- hr = preferences->cursiveFontFamily(&str);
- if (FAILED(hr))
- return hr;
- settings->setCursiveFontFamily(toAtomicString(str));
- str.clear();
-
- hr = preferences->defaultFixedFontSize(&size);
- if (FAILED(hr))
- return hr;
- settings->setDefaultFixedFontSize(size);
-
- hr = preferences->defaultFontSize(&size);
- if (FAILED(hr))
- return hr;
- settings->setDefaultFontSize(size);
-
- hr = preferences->defaultTextEncodingName(&str);
- if (FAILED(hr))
- return hr;
- settings->setDefaultTextEncodingName(toString(str));
- str.clear();
-
- hr = preferences->fantasyFontFamily(&str);
- if (FAILED(hr))
- return hr;
- settings->setFantasyFontFamily(toAtomicString(str));
- str.clear();
-
- hr = preferences->fixedFontFamily(&str);
- if (FAILED(hr))
- return hr;
- settings->setFixedFontFamily(toAtomicString(str));
- str.clear();
-
-#if ENABLE(VIDEO_TRACK)
- hr = preferences->shouldDisplaySubtitles(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setShouldDisplaySubtitles(enabled);
-
- hr = preferences->shouldDisplayCaptions(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setShouldDisplayCaptions(enabled);
-
- hr = preferences->shouldDisplayTextDescriptions(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setShouldDisplayTextDescriptions(enabled);
-#endif
-
- COMPtr<IWebPreferencesPrivate> prefsPrivate(Query, preferences);
- if (prefsPrivate) {
- hr = prefsPrivate->localStorageDatabasePath(&str);
- if (FAILED(hr))
- return hr;
- settings->setLocalStorageDatabasePath(toString(str));
- str.clear();
- }
-
- hr = preferences->pictographFontFamily(&str);
- if (FAILED(hr))
- return hr;
- settings->setPictographFontFamily(toAtomicString(str));
- str.clear();
-
- hr = preferences->isJavaEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setJavaEnabled(!!enabled);
-
- hr = preferences->isJavaScriptEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setScriptEnabled(!!enabled);
-
- hr = preferences->javaScriptCanOpenWindowsAutomatically(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setJavaScriptCanOpenWindowsAutomatically(!!enabled);
-
- hr = preferences->minimumFontSize(&size);
- if (FAILED(hr))
- return hr;
- settings->setMinimumFontSize(size);
-
- hr = preferences->minimumLogicalFontSize(&size);
- if (FAILED(hr))
- return hr;
- settings->setMinimumLogicalFontSize(size);
-
- hr = preferences->arePlugInsEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setPluginsEnabled(!!enabled);
-
- hr = preferences->isCSSRegionsEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- RuntimeEnabledFeatures::setCSSRegionsEnabled(!!enabled);
-
- hr = preferences->areSeamlessIFramesEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- RuntimeEnabledFeatures::setSeamlessIFramesEnabled(!!enabled);
-
- hr = preferences->privateBrowsingEnabled(&enabled);
- if (FAILED(hr))
- return hr;
-#if PLATFORM(WIN) || USE(CFNETWORK)
- if (enabled)
- WebFrameNetworkingContext::ensurePrivateBrowsingSession();
- else
- WebFrameNetworkingContext::destroyPrivateBrowsingSession();
-#endif
- settings->setPrivateBrowsingEnabled(!!enabled);
-
- hr = preferences->sansSerifFontFamily(&str);
- if (FAILED(hr))
- return hr;
- settings->setSansSerifFontFamily(toAtomicString(str));
- str.clear();
-
- hr = preferences->serifFontFamily(&str);
- if (FAILED(hr))
- return hr;
- settings->setSerifFontFamily(toAtomicString(str));
- str.clear();
-
- hr = preferences->standardFontFamily(&str);
- if (FAILED(hr))
- return hr;
- settings->setStandardFontFamily(toAtomicString(str));
- str.clear();
-
- hr = preferences->loadsImagesAutomatically(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setLoadsImagesAutomatically(!!enabled);
-
- hr = preferences->userStyleSheetEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- if (enabled) {
- hr = preferences->userStyleSheetLocation(&str);
- if (FAILED(hr))
- return hr;
-
- RetainPtr<CFURLRef> url = adoptCF(CFURLCreateWithString(kCFAllocatorDefault, toString(str).createCFString().get(), 0));
-
- // Check if the passed in string is a path and convert it to a URL.
- // FIXME: This is a workaround for nightly builds until we can get Safari to pass
- // in an URL here. See <rdar://problem/5478378>
- if (!url) {
- DWORD len = SysStringLen(str) + 1;
-
- int result = WideCharToMultiByte(CP_UTF8, 0, str, len, 0, 0, 0, 0);
- Vector<UInt8> utf8Path(result);
- if (!WideCharToMultiByte(CP_UTF8, 0, str, len, (LPSTR)utf8Path.data(), result, 0, 0))
- return E_FAIL;
-
- url = adoptCF(CFURLCreateFromFileSystemRepresentation(0, utf8Path.data(), result - 1, false));
- }
-
- settings->setUserStyleSheetLocation(url.get());
- str.clear();
- } else
- settings->setUserStyleSheetLocation(KURL());
-
- hr = preferences->shouldPrintBackgrounds(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setShouldPrintBackgrounds(!!enabled);
-
- hr = preferences->textAreasAreResizable(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setTextAreasAreResizable(!!enabled);
-
- WebKitEditableLinkBehavior behavior;
- hr = preferences->editableLinkBehavior(&behavior);
- if (FAILED(hr))
- return hr;
- settings->setEditableLinkBehavior((EditableLinkBehavior)behavior);
-
- hr = preferences->usesPageCache(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setUsesPageCache(!!enabled);
-
- hr = preferences->isDOMPasteAllowed(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setDOMPasteAllowed(!!enabled);
-
- hr = preferences->zoomsTextOnly(&enabled);
- if (FAILED(hr))
- return hr;
-
- if (m_zoomsTextOnly != !!enabled)
- setZoomMultiplier(m_zoomMultiplier, enabled);
-
- settings->setShowsURLsInToolTips(false);
-
- settings->setForceFTPDirectoryListings(true);
- settings->setDeveloperExtrasEnabled(developerExtrasEnabled());
- settings->setNeedsSiteSpecificQuirks(s_allowSiteSpecificHacks);
-
- FontSmoothingType smoothingType;
- hr = preferences->fontSmoothing(&smoothingType);
- if (FAILED(hr))
- return hr;
- settings->setFontRenderingMode(smoothingType != FontSmoothingTypeWindows ? NormalRenderingMode : AlternateRenderingMode);
-
-#if USE(AVFOUNDATION)
- hr = preferences->avFoundationEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setAVFoundationEnabled(enabled);
-#endif
-
- if (prefsPrivate) {
- hr = prefsPrivate->authorAndUserStylesEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setAuthorAndUserStylesEnabled(enabled);
- }
-
- hr = prefsPrivate->inApplicationChromeMode(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setApplicationChromeMode(enabled);
-
- hr = prefsPrivate->offlineWebApplicationCacheEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setOfflineWebApplicationCacheEnabled(enabled);
-
-#if ENABLE(SQL_DATABASE)
- hr = prefsPrivate->databasesEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- DatabaseManager::manager().setIsAvailable(enabled);
-#endif
-
- hr = prefsPrivate->localStorageEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setLocalStorageEnabled(enabled);
-
- hr = prefsPrivate->experimentalNotificationsEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setExperimentalNotificationsEnabled(enabled);
-
- hr = prefsPrivate->isWebSecurityEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setWebSecurityEnabled(!!enabled);
-
- hr = prefsPrivate->allowUniversalAccessFromFileURLs(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setAllowUniversalAccessFromFileURLs(!!enabled);
-
- hr = prefsPrivate->allowFileAccessFromFileURLs(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setAllowFileAccessFromFileURLs(!!enabled);
-
- hr = prefsPrivate->javaScriptCanAccessClipboard(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setJavaScriptCanAccessClipboard(!!enabled);
-
- hr = prefsPrivate->isXSSAuditorEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setXSSAuditorEnabled(!!enabled);
-
-#if USE(SAFARI_THEME)
- hr = prefsPrivate->shouldPaintNativeControls(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setShouldPaintNativeControls(!!enabled);
-#endif
-
- hr = prefsPrivate->shouldUseHighResolutionTimers(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setShouldUseHighResolutionTimers(enabled);
-
- hr = prefsPrivate->isFrameFlatteningEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setFrameFlatteningEnabled(enabled);
-
-#if USE(ACCELERATED_COMPOSITING)
- hr = prefsPrivate->acceleratedCompositingEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setAcceleratedCompositingEnabled(enabled);
-#endif
-
- hr = prefsPrivate->showDebugBorders(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setShowDebugBorders(enabled);
-
- hr = prefsPrivate->showRepaintCounter(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setShowRepaintCounter(enabled);
-
-#if ENABLE(WEB_AUDIO)
- settings->:setWebAudioEnabled(true);
-#endif // ENABLE(WEB_AUDIO)
-
-#if ENABLE(WEBGL)
- settings->setWebGLEnabled(true);
-#endif // ENABLE(WEBGL)
-
- hr = prefsPrivate->isDNSPrefetchingEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setDNSPrefetchingEnabled(enabled);
-
- hr = prefsPrivate->hyperlinkAuditingEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setHyperlinkAuditingEnabled(enabled);
-
- hr = prefsPrivate->loadsSiteIconsIgnoringImageLoadingPreference(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setLoadsSiteIconsIgnoringImageLoadingSetting(!!enabled);
-
- hr = prefsPrivate->showsToolTipOverTruncatedText(&enabled);
- if (FAILED(hr))
- return hr;
-
- settings->setShowsToolTipOverTruncatedText(enabled);
-
- if (!m_closeWindowTimer)
- m_mainFrame->invalidate(); // FIXME
-
- hr = updateSharedSettingsFromPreferencesIfNeeded(preferences.get());
- if (FAILED(hr))
- return hr;
-
-#if ENABLE(FULLSCREEN_API)
- hr = prefsPrivate->isFullScreenEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setFullScreenEnabled(enabled);
-#endif
-
- hr = prefsPrivate->mediaPlaybackRequiresUserGesture(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setMediaPlaybackRequiresUserGesture(enabled);
-
- hr = prefsPrivate->mediaPlaybackAllowsInline(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setMediaPlaybackAllowsInline(enabled);
-
- hr = prefsPrivate->shouldInvertColors(&enabled);
- if (FAILED(hr))
- return hr;
- setShouldInvertColors(enabled);
-
- hr = prefsPrivate->requestAnimationFrameEnabled(&enabled);
- if (FAILED(hr))
- return hr;
- settings->setRequestAnimationFrameEnabled(enabled);
-
- return S_OK;
-}
-
-HRESULT updateSharedSettingsFromPreferencesIfNeeded(IWebPreferences* preferences)
-{
- if (preferences != WebPreferences::sharedStandardPreferences())
- return S_OK;
-
- WebKitCookieStorageAcceptPolicy acceptPolicy;
- HRESULT hr = preferences->cookieStorageAcceptPolicy(&acceptPolicy);
- if (FAILED(hr))
- return hr;
-
-#if USE(CFNETWORK)
- WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts(acceptPolicy);
-#endif
-
- return S_OK;
-}
-
-// IWebViewPrivate ------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebView::MIMETypeForExtension(
- /* [in] */ BSTR extension,
- /* [retval][out] */ BSTR* mimeType)
-{
- if (!mimeType)
- return E_POINTER;
-
- *mimeType = BString(MIMETypeRegistry::getMIMETypeForExtension(toString(extension))).release();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setCustomDropTarget(
- /* [in] */ IDropTarget* dt)
-{
- ASSERT(::IsWindow(m_viewWindow));
- if (!dt)
- return E_POINTER;
- m_hasCustomDropTarget = true;
- revokeDragDrop();
- return ::RegisterDragDrop(m_viewWindow,dt);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::removeCustomDropTarget()
-{
- if (!m_hasCustomDropTarget)
- return S_OK;
- m_hasCustomDropTarget = false;
- revokeDragDrop();
- return registerDragDrop();
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setInViewSourceMode(
- /* [in] */ BOOL flag)
-{
- if (!m_mainFrame)
- return E_FAIL;
-
- return m_mainFrame->setInViewSourceMode(flag);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::inViewSourceMode(
- /* [retval][out] */ BOOL* flag)
-{
- if (!m_mainFrame)
- return E_FAIL;
-
- return m_mainFrame->inViewSourceMode(flag);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::viewWindow(
- /* [retval][out] */ OLE_HANDLE *window)
-{
- *window = (OLE_HANDLE)(ULONG64)m_viewWindow;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setFormDelegate(
- /* [in] */ IWebFormDelegate *formDelegate)
-{
- m_formDelegate = formDelegate;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::formDelegate(
- /* [retval][out] */ IWebFormDelegate **formDelegate)
-{
- if (!m_formDelegate)
- return E_FAIL;
-
- return m_formDelegate.copyRefTo(formDelegate);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setFrameLoadDelegatePrivate(
- /* [in] */ IWebFrameLoadDelegatePrivate* d)
-{
- m_frameLoadDelegatePrivate = d;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::frameLoadDelegatePrivate(
- /* [out][retval] */ IWebFrameLoadDelegatePrivate** d)
-{
- if (!m_frameLoadDelegatePrivate)
- return E_FAIL;
-
- return m_frameLoadDelegatePrivate.copyRefTo(d);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::scrollOffset(
- /* [retval][out] */ LPPOINT offset)
-{
- if (!offset)
- return E_POINTER;
- IntSize offsetIntSize = m_page->mainFrame()->view()->scrollOffset();
- offset->x = offsetIntSize.width();
- offset->y = offsetIntSize.height();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::scrollBy(
- /* [in] */ LPPOINT offset)
-{
- if (!offset)
- return E_POINTER;
- m_page->mainFrame()->view()->scrollBy(IntSize(offset->x, offset->y));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::visibleContentRect(
- /* [retval][out] */ LPRECT rect)
-{
- if (!rect)
- return E_POINTER;
- FloatRect visibleContent = m_page->mainFrame()->view()->visibleContentRect();
- rect->left = (LONG) visibleContent.x();
- rect->top = (LONG) visibleContent.y();
- rect->right = (LONG) visibleContent.maxX();
- rect->bottom = (LONG) visibleContent.maxY();
- return S_OK;
-}
-
-static DWORD dragOperationToDragCursor(DragOperation op) {
- DWORD res = DROPEFFECT_NONE;
- if (op & DragOperationCopy)
- res = DROPEFFECT_COPY;
- else if (op & DragOperationLink)
- res = DROPEFFECT_LINK;
- else if (op & DragOperationMove)
- res = DROPEFFECT_MOVE;
- else if (op & DragOperationGeneric)
- res = DROPEFFECT_MOVE; //This appears to be the Firefox behaviour
- return res;
-}
-
-DragOperation WebView::keyStateToDragOperation(DWORD grfKeyState) const
-{
- if (!m_page)
- return DragOperationNone;
-
- // Conforms to Microsoft's key combinations as documented for
- // IDropTarget::DragOver. Note, grfKeyState is the current
- // state of the keyboard modifier keys on the keyboard. See:
- // <http://msdn.microsoft.com/en-us/library/ms680129(VS.85).aspx>.
- DragOperation operation = m_page->dragController()->sourceDragOperation();
-
- if ((grfKeyState & (MK_CONTROL | MK_SHIFT)) == (MK_CONTROL | MK_SHIFT))
- operation = DragOperationLink;
- else if ((grfKeyState & MK_CONTROL) == MK_CONTROL)
- operation = DragOperationCopy;
- else if ((grfKeyState & MK_SHIFT) == MK_SHIFT)
- operation = DragOperationGeneric;
-
- return operation;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::DragEnter(
- IDataObject* pDataObject, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect)
-{
- m_dragData = 0;
-
- if (m_dropTargetHelper)
- m_dropTargetHelper->DragEnter(m_viewWindow, pDataObject, (POINT*)&pt, *pdwEffect);
-
- POINTL localpt = pt;
- ::ScreenToClient(m_viewWindow, (LPPOINT)&localpt);
- DragData data(pDataObject, IntPoint(localpt.x, localpt.y),
- IntPoint(pt.x, pt.y), keyStateToDragOperation(grfKeyState));
- *pdwEffect = dragOperationToDragCursor(m_page->dragController()->dragEntered(&data).operation);
-
- m_lastDropEffect = *pdwEffect;
- m_dragData = pDataObject;
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::DragOver(
- DWORD grfKeyState, POINTL pt, DWORD* pdwEffect)
-{
- if (m_dropTargetHelper)
- m_dropTargetHelper->DragOver((POINT*)&pt, *pdwEffect);
-
- if (m_dragData) {
- POINTL localpt = pt;
- ::ScreenToClient(m_viewWindow, (LPPOINT)&localpt);
- DragData data(m_dragData.get(), IntPoint(localpt.x, localpt.y),
- IntPoint(pt.x, pt.y), keyStateToDragOperation(grfKeyState));
- *pdwEffect = dragOperationToDragCursor(m_page->dragController()->dragUpdated(&data).operation);
- } else
- *pdwEffect = DROPEFFECT_NONE;
-
- m_lastDropEffect = *pdwEffect;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::DragLeave()
-{
- if (m_dropTargetHelper)
- m_dropTargetHelper->DragLeave();
-
- if (m_dragData) {
- DragData data(m_dragData.get(), IntPoint(), IntPoint(),
- DragOperationNone);
- m_page->dragController()->dragExited(&data);
- m_dragData = 0;
- }
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::Drop(
- IDataObject* pDataObject, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect)
-{
- if (m_dropTargetHelper)
- m_dropTargetHelper->Drop(pDataObject, (POINT*)&pt, *pdwEffect);
-
- m_dragData = 0;
- *pdwEffect = m_lastDropEffect;
- POINTL localpt = pt;
- ::ScreenToClient(m_viewWindow, (LPPOINT)&localpt);
- DragData data(pDataObject, IntPoint(localpt.x, localpt.y),
- IntPoint(pt.x, pt.y), keyStateToDragOperation(grfKeyState));
- m_page->dragController()->performDrag(&data);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::canHandleRequest(
- IWebURLRequest *request,
- BOOL *result)
-{
- COMPtr<WebMutableURLRequest> requestImpl;
-
- HRESULT hr = request->QueryInterface(&requestImpl);
- if (FAILED(hr))
- return hr;
-
- *result = !!canHandleRequest(requestImpl->resourceRequest());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::standardUserAgentWithApplicationName(
- BSTR applicationName,
- BSTR* groupName)
-{
- if (!groupName) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *groupName;
-
- if (!applicationName) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *groupName = BString(standardUserAgentWithApplicationName(toString(applicationName))).release();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::clearFocusNode()
-{
- if (m_page && m_page->focusController())
- m_page->focusController()->setFocusedElement(0, 0);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setInitialFocus(
- /* [in] */ BOOL forward)
-{
- if (m_page && m_page->focusController()) {
- Frame* frame = m_page->focusController()->focusedOrMainFrame();
- frame->document()->setFocusedElement(0);
- m_page->focusController()->setInitialFocus(forward ? FocusDirectionForward : FocusDirectionBackward, 0);
- }
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setTabKeyCyclesThroughElements(
- /* [in] */ BOOL cycles)
-{
- if (m_page)
- m_page->setTabKeyCyclesThroughElements(!!cycles);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::tabKeyCyclesThroughElements(
- /* [retval][out] */ BOOL* result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *result = m_page && m_page->tabKeyCyclesThroughElements() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setAllowSiteSpecificHacks(
- /* [in] */ BOOL allow)
-{
- s_allowSiteSpecificHacks = !!allow;
- // FIXME: This sets a global so it needs to call notifyPreferencesChanged
- // on all WebView objects (not just itself).
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::addAdditionalPluginDirectory(
- /* [in] */ BSTR directory)
-{
- PluginDatabase::installedPlugins()->addExtraPluginDirectory(toString(directory));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::loadBackForwardListFromOtherView(
- /* [in] */ IWebView* otherView)
-{
- if (!m_page)
- return E_FAIL;
-
- // It turns out the right combination of behavior is done with the back/forward load
- // type. (See behavior matrix at the top of WebFramePrivate.) So we copy all the items
- // in the back forward list, and go to the current one.
- BackForwardList* backForwardList = m_page->backForwardList();
- ASSERT(!backForwardList->currentItem()); // destination list should be empty
-
- COMPtr<WebView> otherWebView;
- if (FAILED(otherView->QueryInterface(&otherWebView)))
- return E_FAIL;
- BackForwardList* otherBackForwardList = otherWebView->m_page->backForwardList();
- if (!otherBackForwardList->currentItem())
- return S_OK; // empty back forward list, bail
-
- HistoryItem* newItemToGoTo = 0;
-
- int lastItemIndex = otherBackForwardList->forwardListCount();
- for (int i = -otherBackForwardList->backListCount(); i <= lastItemIndex; ++i) {
- if (!i) {
- // If this item is showing , save away its current scroll and form state,
- // since that might have changed since loading and it is normally not saved
- // until we leave that page.
- otherWebView->m_page->mainFrame()->loader()->history()->saveDocumentAndScrollState();
- }
- RefPtr<HistoryItem> newItem = otherBackForwardList->itemAtIndex(i)->copy();
- if (!i)
- newItemToGoTo = newItem.get();
- backForwardList->addItem(newItem.release());
- }
-
- ASSERT(newItemToGoTo);
- m_page->goToItem(newItemToGoTo, FrameLoadTypeIndexedBackForward);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::clearUndoRedoOperations()
-{
- if (Frame* frame = m_page->focusController()->focusedOrMainFrame())
- frame->editor().clearUndoRedoOperations();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::shouldClose(
- /* [retval][out] */ BOOL* result)
-{
- if (!result) {
- ASSERT_NOT_REACHED();
- return E_POINTER;
- }
-
- *result = TRUE;
- if (Frame* frame = m_page->mainFrame())
- *result = frame->loader()->shouldClose();
- return S_OK;
-}
-
-HRESULT WebView::registerDragDrop()
-{
- ASSERT(::IsWindow(m_viewWindow));
- return ::RegisterDragDrop(m_viewWindow, this);
-}
-
-HRESULT WebView::revokeDragDrop()
-{
- if (!m_viewWindow)
- return S_OK;
-
- return ::RevokeDragDrop(m_viewWindow);
-}
-
-HRESULT WebView::setProhibitsMainFrameScrolling(BOOL b)
-{
- if (!m_page)
- return E_FAIL;
-
- m_page->mainFrame()->view()->setProhibitsScrolling(b);
- return S_OK;
-}
-
-HRESULT WebView::setShouldApplyMacFontAscentHack(BOOL b)
-{
- SimpleFontData::setShouldApplyMacAscentHack(b);
- return S_OK;
-}
-
-class IMMDict {
- typedef HIMC (CALLBACK *getContextPtr)(HWND);
- typedef BOOL (CALLBACK *releaseContextPtr)(HWND, HIMC);
- typedef LONG (CALLBACK *getCompositionStringPtr)(HIMC, DWORD, LPVOID, DWORD);
- typedef BOOL (CALLBACK *setCandidateWindowPtr)(HIMC, LPCANDIDATEFORM);
- typedef BOOL (CALLBACK *setOpenStatusPtr)(HIMC, BOOL);
- typedef BOOL (CALLBACK *notifyIMEPtr)(HIMC, DWORD, DWORD, DWORD);
- typedef BOOL (CALLBACK *associateContextExPtr)(HWND, HIMC, DWORD);
-
-public:
- getContextPtr getContext;
- releaseContextPtr releaseContext;
- getCompositionStringPtr getCompositionString;
- setCandidateWindowPtr setCandidateWindow;
- setOpenStatusPtr setOpenStatus;
- notifyIMEPtr notifyIME;
- associateContextExPtr associateContextEx;
-
- static const IMMDict& dict();
-private:
- IMMDict();
- HMODULE m_instance;
-};
-
-const IMMDict& IMMDict::dict()
-{
- static IMMDict instance;
- return instance;
-}
-
-IMMDict::IMMDict()
-{
- m_instance = ::LoadLibraryW(L"IMM32.DLL");
- getContext = reinterpret_cast<getContextPtr>(::GetProcAddress(m_instance, "ImmGetContext"));
- ASSERT(getContext);
- releaseContext = reinterpret_cast<releaseContextPtr>(::GetProcAddress(m_instance, "ImmReleaseContext"));
- ASSERT(releaseContext);
- getCompositionString = reinterpret_cast<getCompositionStringPtr>(::GetProcAddress(m_instance, "ImmGetCompositionStringW"));
- ASSERT(getCompositionString);
- setCandidateWindow = reinterpret_cast<setCandidateWindowPtr>(::GetProcAddress(m_instance, "ImmSetCandidateWindow"));
- ASSERT(setCandidateWindow);
- setOpenStatus = reinterpret_cast<setOpenStatusPtr>(::GetProcAddress(m_instance, "ImmSetOpenStatus"));
- ASSERT(setOpenStatus);
- notifyIME = reinterpret_cast<notifyIMEPtr>(::GetProcAddress(m_instance, "ImmNotifyIME"));
- ASSERT(notifyIME);
- associateContextEx = reinterpret_cast<associateContextExPtr>(::GetProcAddress(m_instance, "ImmAssociateContextEx"));
- ASSERT(associateContextEx);
-}
-
-HIMC WebView::getIMMContext()
-{
- HIMC context = IMMDict::dict().getContext(m_viewWindow);
- return context;
-}
-
-void WebView::releaseIMMContext(HIMC hIMC)
-{
- if (!hIMC)
- return;
- IMMDict::dict().releaseContext(m_viewWindow, hIMC);
-}
-
-void WebView::prepareCandidateWindow(Frame* targetFrame, HIMC hInputContext)
-{
- IntRect caret;
- if (RefPtr<Range> range = targetFrame->selection()->selection().toNormalizedRange()) {
- ExceptionCode ec = 0;
- RefPtr<Range> tempRange = range->cloneRange(ec);
- caret = targetFrame->editor().firstRectForRange(tempRange.get());
- }
- caret = targetFrame->view()->contentsToWindow(caret);
- CANDIDATEFORM form;
- form.dwIndex = 0;
- form.dwStyle = CFS_EXCLUDE;
- form.ptCurrentPos.x = caret.x();
- form.ptCurrentPos.y = caret.y() + caret.height();
- form.rcArea.top = caret.y();
- form.rcArea.bottom = caret.maxY();
- form.rcArea.left = caret.x();
- form.rcArea.right = caret.maxX();
- IMMDict::dict().setCandidateWindow(hInputContext, &form);
-}
-
-void WebView::resetIME(Frame* targetFrame)
-{
- if (targetFrame)
- targetFrame->editor().cancelComposition();
-
- if (HIMC hInputContext = getIMMContext()) {
- IMMDict::dict().notifyIME(hInputContext, NI_COMPOSITIONSTR, CPS_CANCEL, 0);
- releaseIMMContext(hInputContext);
- }
-}
-
-void WebView::updateSelectionForIME()
-{
- Frame* targetFrame = m_page->focusController()->focusedOrMainFrame();
-
- if (!targetFrame)
- return;
-
- if (!targetFrame->editor().cancelCompositionIfSelectionIsInvalid())
- resetIME(targetFrame);
-}
-
-void WebView::setInputMethodState(bool enabled)
-{
- IMMDict::dict().associateContextEx(m_viewWindow, 0, enabled ? IACE_DEFAULT : 0);
-}
-
-void WebView::selectionChanged()
-{
- updateSelectionForIME();
-}
-
-bool WebView::onIMEStartComposition()
-{
- LOG(TextInput, "onIMEStartComposition");
- m_inIMEComposition++;
- Frame* targetFrame = m_page->focusController()->focusedOrMainFrame();
- if (!targetFrame)
- return true;
-
- HIMC hInputContext = getIMMContext();
- prepareCandidateWindow(targetFrame, hInputContext);
- releaseIMMContext(hInputContext);
- return true;
-}
-
-static bool getCompositionString(HIMC hInputContext, DWORD type, String& result)
-{
- int compositionLength = IMMDict::dict().getCompositionString(hInputContext, type, 0, 0);
- if (compositionLength <= 0)
- return false;
- Vector<UChar> compositionBuffer(compositionLength / 2);
- compositionLength = IMMDict::dict().getCompositionString(hInputContext, type, (LPVOID)compositionBuffer.data(), compositionLength);
- result = String(compositionBuffer.data(), compositionLength / 2);
- ASSERT(!compositionLength || compositionBuffer[0]);
- ASSERT(!compositionLength || compositionBuffer[compositionLength / 2 - 1]);
- return true;
-}
-
-static void compositionToUnderlines(const Vector<DWORD>& clauses, const Vector<BYTE>& attributes, Vector<CompositionUnderline>& underlines)
-{
- if (clauses.isEmpty()) {
- underlines.clear();
- return;
- }
-
- const size_t numBoundaries = clauses.size() - 1;
- underlines.resize(numBoundaries);
- for (unsigned i = 0; i < numBoundaries; i++) {
- underlines[i].startOffset = clauses[i];
- underlines[i].endOffset = clauses[i + 1];
- BYTE attribute = attributes[clauses[i]];
- underlines[i].thick = attribute == ATTR_TARGET_CONVERTED || attribute == ATTR_TARGET_NOTCONVERTED;
- underlines[i].color = Color(0,0,0);
- }
-}
-
-#if !LOG_DISABLED
-#define APPEND_ARGUMENT_NAME(name) \
- if (lparam & name) { \
- if (needsComma) \
- result.appendLiteral(", "); \
- result.appendLiteral(#name); \
- needsComma = true; \
- }
-
-static String imeCompositionArgumentNames(LPARAM lparam)
-{
- StringBuilder result;
- bool needsComma = false;
-
- APPEND_ARGUMENT_NAME(GCS_COMPATTR);
- APPEND_ARGUMENT_NAME(GCS_COMPCLAUSE);
- APPEND_ARGUMENT_NAME(GCS_COMPREADSTR);
- APPEND_ARGUMENT_NAME(GCS_COMPREADATTR);
- APPEND_ARGUMENT_NAME(GCS_COMPREADCLAUSE);
- APPEND_ARGUMENT_NAME(GCS_COMPSTR);
- APPEND_ARGUMENT_NAME(GCS_CURSORPOS);
- APPEND_ARGUMENT_NAME(GCS_DELTASTART);
- APPEND_ARGUMENT_NAME(GCS_RESULTCLAUSE);
- APPEND_ARGUMENT_NAME(GCS_RESULTREADCLAUSE);
- APPEND_ARGUMENT_NAME(GCS_RESULTREADSTR);
- APPEND_ARGUMENT_NAME(GCS_RESULTSTR);
- APPEND_ARGUMENT_NAME(CS_INSERTCHAR);
- APPEND_ARGUMENT_NAME(CS_NOMOVECARET);
-
- return result.toString();
-}
-
-static String imeNotificationName(WPARAM wparam)
-{
- switch (wparam) {
- case IMN_CHANGECANDIDATE:
- return "IMN_CHANGECANDIDATE";
- case IMN_CLOSECANDIDATE:
- return "IMN_CLOSECANDIDATE";
- case IMN_CLOSESTATUSWINDOW:
- return "IMN_CLOSESTATUSWINDOW";
- case IMN_GUIDELINE:
- return "IMN_GUIDELINE";
- case IMN_OPENCANDIDATE:
- return "IMN_OPENCANDIDATE";
- case IMN_OPENSTATUSWINDOW:
- return "IMN_OPENSTATUSWINDOW";
- case IMN_SETCANDIDATEPOS:
- return "IMN_SETCANDIDATEPOS";
- case IMN_SETCOMPOSITIONFONT:
- return "IMN_SETCOMPOSITIONFONT";
- case IMN_SETCOMPOSITIONWINDOW:
- return "IMN_SETCOMPOSITIONWINDOW";
- case IMN_SETCONVERSIONMODE:
- return "IMN_SETCONVERSIONMODE";
- case IMN_SETOPENSTATUS:
- return "IMN_SETOPENSTATUS";
- case IMN_SETSENTENCEMODE:
- return "IMN_SETSENTENCEMODE";
- case IMN_SETSTATUSWINDOWPOS:
- return "IMN_SETSTATUSWINDOWPOS";
- default:
- return "Unknown (" + String::number(wparam) + ")";
- }
-}
-
-static String imeRequestName(WPARAM wparam)
-{
- switch (wparam) {
- case IMR_CANDIDATEWINDOW:
- return "IMR_CANDIDATEWINDOW";
- case IMR_COMPOSITIONFONT:
- return "IMR_COMPOSITIONFONT";
- case IMR_COMPOSITIONWINDOW:
- return "IMR_COMPOSITIONWINDOW";
- case IMR_CONFIRMRECONVERTSTRING:
- return "IMR_CONFIRMRECONVERTSTRING";
- case IMR_DOCUMENTFEED:
- return "IMR_DOCUMENTFEED";
- case IMR_QUERYCHARPOSITION:
- return "IMR_QUERYCHARPOSITION";
- case IMR_RECONVERTSTRING:
- return "IMR_RECONVERTSTRING";
- default:
- return "Unknown (" + String::number(wparam) + ")";
- }
-}
-#endif
-
-bool WebView::onIMEComposition(LPARAM lparam)
-{
- LOG(TextInput, "onIMEComposition %s", imeCompositionArgumentNames(lparam).latin1().data());
- HIMC hInputContext = getIMMContext();
- if (!hInputContext)
- return true;
-
- Frame* targetFrame = m_page->focusController()->focusedOrMainFrame();
- if (!targetFrame || !targetFrame->editor().canEdit())
- return true;
-
- prepareCandidateWindow(targetFrame, hInputContext);
-
- if (lparam & GCS_RESULTSTR || !lparam) {
- String compositionString;
- if (!getCompositionString(hInputContext, GCS_RESULTSTR, compositionString) && lparam)
- return true;
-
- targetFrame->editor().confirmComposition(compositionString);
- } else {
- String compositionString;
- if (!getCompositionString(hInputContext, GCS_COMPSTR, compositionString))
- return true;
-
- // Composition string attributes
- int numAttributes = IMMDict::dict().getCompositionString(hInputContext, GCS_COMPATTR, 0, 0);
- Vector<BYTE> attributes(numAttributes);
- IMMDict::dict().getCompositionString(hInputContext, GCS_COMPATTR, attributes.data(), numAttributes);
-
- // Get clauses
- int numClauses = IMMDict::dict().getCompositionString(hInputContext, GCS_COMPCLAUSE, 0, 0);
- Vector<DWORD> clauses(numClauses / sizeof(DWORD));
- IMMDict::dict().getCompositionString(hInputContext, GCS_COMPCLAUSE, clauses.data(), numClauses);
-
- Vector<CompositionUnderline> underlines;
- compositionToUnderlines(clauses, attributes, underlines);
-
- int cursorPosition = LOWORD(IMMDict::dict().getCompositionString(hInputContext, GCS_CURSORPOS, 0, 0));
-
- targetFrame->editor().setComposition(compositionString, underlines, cursorPosition, 0);
- }
-
- return true;
-}
-
-bool WebView::onIMEEndComposition()
-{
- LOG(TextInput, "onIMEEndComposition");
- // If the composition hasn't been confirmed yet, it needs to be cancelled.
- // This happens after deleting the last character from inline input hole.
- Frame* targetFrame = m_page->focusController()->focusedOrMainFrame();
- if (targetFrame && targetFrame->editor().hasComposition())
- targetFrame->editor().confirmComposition(String());
-
- if (m_inIMEComposition)
- m_inIMEComposition--;
-
- return true;
-}
-
-bool WebView::onIMEChar(WPARAM wparam, LPARAM lparam)
-{
- UNUSED_PARAM(wparam);
- UNUSED_PARAM(lparam);
- LOG(TextInput, "onIMEChar U+%04X %08X", wparam, lparam);
- return true;
-}
-
-bool WebView::onIMENotify(WPARAM wparam, LPARAM, LRESULT*)
-{
- UNUSED_PARAM(wparam);
- LOG(TextInput, "onIMENotify %s", imeNotificationName(wparam).latin1().data());
- return false;
-}
-
-LRESULT WebView::onIMERequestCharPosition(Frame* targetFrame, IMECHARPOSITION* charPos)
-{
- if (charPos->dwCharPos && !targetFrame->editor().hasComposition())
- return 0;
- IntRect caret;
- if (RefPtr<Range> range = targetFrame->editor().hasComposition() ? targetFrame->editor().compositionRange() : targetFrame->selection()->selection().toNormalizedRange()) {
- ExceptionCode ec = 0;
- RefPtr<Range> tempRange = range->cloneRange(ec);
- tempRange->setStart(tempRange->startContainer(ec), tempRange->startOffset(ec) + charPos->dwCharPos, ec);
- caret = targetFrame->editor().firstRectForRange(tempRange.get());
- }
- caret = targetFrame->view()->contentsToWindow(caret);
- charPos->pt.x = caret.x();
- charPos->pt.y = caret.y();
- ::ClientToScreen(m_viewWindow, &charPos->pt);
- charPos->cLineHeight = caret.height();
- ::GetWindowRect(m_viewWindow, &charPos->rcDocument);
- return true;
-}
-
-LRESULT WebView::onIMERequestReconvertString(Frame* targetFrame, RECONVERTSTRING* reconvertString)
-{
- RefPtr<Range> selectedRange = targetFrame->selection()->toNormalizedRange();
- String text = selectedRange->text();
- if (!reconvertString)
- return sizeof(RECONVERTSTRING) + text.length() * sizeof(UChar);
-
- unsigned totalSize = sizeof(RECONVERTSTRING) + text.length() * sizeof(UChar);
- if (totalSize > reconvertString->dwSize)
- return 0;
- reconvertString->dwCompStrLen = text.length();
- reconvertString->dwStrLen = text.length();
- reconvertString->dwTargetStrLen = text.length();
- reconvertString->dwStrOffset = sizeof(RECONVERTSTRING);
- memcpy(reconvertString + 1, text.characters(), text.length() * sizeof(UChar));
- return totalSize;
-}
-
-LRESULT WebView::onIMERequest(WPARAM request, LPARAM data)
-{
- LOG(TextInput, "onIMERequest %s", imeRequestName(request).latin1().data());
- Frame* targetFrame = m_page->focusController()->focusedOrMainFrame();
- if (!targetFrame || !targetFrame->editor().canEdit())
- return 0;
-
- switch (request) {
- case IMR_RECONVERTSTRING:
- return onIMERequestReconvertString(targetFrame, (RECONVERTSTRING*)data);
-
- case IMR_QUERYCHARPOSITION:
- return onIMERequestCharPosition(targetFrame, (IMECHARPOSITION*)data);
- }
- return 0;
-}
-
-bool WebView::onIMESelect(WPARAM wparam, LPARAM lparam)
-{
- UNUSED_PARAM(wparam);
- UNUSED_PARAM(lparam);
- LOG(TextInput, "onIMESelect locale %ld %s", lparam, wparam ? "select" : "deselect");
- return false;
-}
-
-bool WebView::onIMESetContext(WPARAM wparam, LPARAM)
-{
- LOG(TextInput, "onIMESetContext %s", wparam ? "active" : "inactive");
- return false;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::inspector(IWebInspector** inspector)
-{
-#if ENABLE(INSPECTOR)
- if (!m_webInspector)
- m_webInspector.adoptRef(WebInspector::createInstance(this, m_inspectorClient));
-
- return m_webInspector.copyRefTo(inspector);
-#else // !ENABLE(INSPECTOR)
- return S_OK;
-#endif // ENABLE(INSPECTOR)
-}
-
-
-HRESULT STDMETHODCALLTYPE WebView::windowAncestryDidChange()
-{
- HWND newParent;
- if (m_viewWindow)
- newParent = findTopLevelParent(m_hostWindow);
- else {
- // There's no point in tracking active state changes of our parent window if we don't have
- // a window ourselves.
- newParent = 0;
- }
-
- if (newParent == m_topLevelParent)
- return S_OK;
-
- if (m_topLevelParent)
- WindowMessageBroadcaster::removeListener(m_topLevelParent, this);
-
- m_topLevelParent = newParent;
-
- if (m_topLevelParent)
- WindowMessageBroadcaster::addListener(m_topLevelParent, this);
-
- updateActiveState();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::paintDocumentRectToContext(
- /* [in] */ RECT rect,
- /* [in] */ OLE_HANDLE deviceContext)
-{
- if (!deviceContext)
- return E_POINTER;
-
- if (!m_mainFrame)
- return E_FAIL;
-
- return m_mainFrame->paintDocumentRectToContext(rect, deviceContext);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::paintScrollViewRectToContextAtPoint(
- /* [in] */ RECT rect,
- /* [in] */ POINT pt,
- /* [in] */ OLE_HANDLE deviceContext)
-{
- if (!deviceContext)
- return E_POINTER;
-
- if (!m_mainFrame)
- return E_FAIL;
-
- return m_mainFrame->paintScrollViewRectToContextAtPoint(rect, pt, deviceContext);
-}
-
-HRESULT STDMETHODCALLTYPE WebView::reportException(
- /* [in] */ JSContextRef context,
- /* [in] */ JSValueRef exception)
-{
- if (!context || !exception)
- return E_FAIL;
-
- JSC::ExecState* execState = toJS(context);
- JSC::JSLockHolder lock(execState);
-
- // Make sure the context has a DOMWindow global object, otherwise this context didn't originate from a WebView.
- if (!toJSDOMWindow(execState->lexicalGlobalObject()))
- return E_FAIL;
-
- WebCore::reportException(execState, toJS(execState, exception));
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::elementFromJS(
- /* [in] */ JSContextRef context,
- /* [in] */ JSValueRef nodeObject,
- /* [retval][out] */ IDOMElement **element)
-{
- if (!element)
- return E_POINTER;
-
- *element = 0;
-
- if (!context)
- return E_FAIL;
-
- if (!nodeObject)
- return E_FAIL;
-
- JSC::ExecState* exec = toJS(context);
- JSC::JSLockHolder lock(exec);
- Element* elt = toElement(toJS(exec, nodeObject));
- if (!elt)
- return E_FAIL;
-
- *element = DOMElement::createInstance(elt);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setCustomHTMLTokenizerTimeDelay(
- /* [in] */ double timeDelay)
-{
- if (!m_page)
- return E_FAIL;
-
- m_page->setCustomHTMLTokenizerTimeDelay(timeDelay);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setCustomHTMLTokenizerChunkSize(
- /* [in] */ int chunkSize)
-{
- if (!m_page)
- return E_FAIL;
-
- m_page->setCustomHTMLTokenizerChunkSize(chunkSize);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::backingStore(
- /* [out, retval] */ OLE_HANDLE* hBitmap)
-{
- if (!hBitmap)
- return E_POINTER;
- if (!m_backingStoreBitmap)
- return E_FAIL;
- *hBitmap = reinterpret_cast<OLE_HANDLE>(m_backingStoreBitmap->handle());
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setTransparent(BOOL transparent)
-{
- if (m_transparent == !!transparent)
- return S_OK;
-
- m_transparent = transparent;
- m_mainFrame->updateBackground();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::transparent(BOOL* transparent)
-{
- if (!transparent)
- return E_POINTER;
-
- *transparent = this->transparent() ? TRUE : FALSE;
- return S_OK;
-}
-
-static bool setWindowStyle(HWND window, int index, LONG_PTR newValue)
-{
- // According to MSDN, if the last value of the flag we are setting was zero,
- // then SetWindowLongPtr returns zero, even though the call succeeded. So,
- // we have to clear the error state, then check the last error after
- // setting the value to see if it actually was a failure.
- ::SetLastError(0);
- return ::SetWindowLongPtr(window, index, newValue) || !::GetLastError();
-}
-
-HRESULT WebView::setUsesLayeredWindow(BOOL usesLayeredWindow)
-{
- if (m_usesLayeredWindow == !!usesLayeredWindow)
- return S_OK;
-
- if (!m_viewWindow)
- return E_FAIL;
-
- RECT rect;
- ::GetWindowRect(m_viewWindow, &rect);
-
- LONG_PTR origExStyle = ::GetWindowLongPtr(m_viewWindow, GWL_EXSTYLE);
- LONG_PTR origStyle = ::GetWindowLongPtr(m_viewWindow, GWL_STYLE);
-
- // The logic here has to account for the way SetParent works.
- // According to MSDN, to go from a child window to a popup window,
- // you must clear the child bit after setting the parent to 0.
- // On the other hand, to go from a popup window to a child, you
- // must clear the popup state before setting the parent.
- if (usesLayeredWindow) {
- LONG_PTR newExStyle = origExStyle | WS_EX_LAYERED;
- LONG_PTR newStyle = (origStyle & ~(WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN)) | WS_POPUP;
-
- HWND origParent = ::SetParent(m_viewWindow, 0);
-
- if (!setWindowStyle(m_viewWindow, GWL_STYLE, newStyle)) {
- ::SetParent(m_viewWindow, origParent);
- return E_FAIL;
- }
-
- if (!setWindowStyle(m_viewWindow, GWL_EXSTYLE, newExStyle)) {
- setWindowStyle(m_viewWindow, GWL_STYLE, origStyle);
- ::SetParent(m_viewWindow, origParent);
- return E_FAIL;
- }
- } else {
- LONG_PTR newExStyle = origExStyle & ~WS_EX_LAYERED;
- LONG_PTR newStyle = (origStyle & ~WS_POPUP) | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN;
-
- if (!setWindowStyle(m_viewWindow, GWL_EXSTYLE, newExStyle))
- return E_FAIL;
-
- if (!setWindowStyle(m_viewWindow, GWL_STYLE, newStyle)) {
- setWindowStyle(m_viewWindow, GWL_EXSTYLE, origExStyle);
- return E_FAIL;
- }
-
- ::SetParent(m_viewWindow, m_hostWindow ? m_hostWindow : HWND_MESSAGE);
- }
-
- // MSDN indicates that SetWindowLongPtr doesn't take effect for some settings until a
- // SetWindowPos is called.
- ::SetWindowPos(m_viewWindow, 0, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top,
- SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
-
- m_usesLayeredWindow = usesLayeredWindow;
- return S_OK;
-}
-
-HRESULT WebView::usesLayeredWindow(BOOL* usesLayeredWindow)
-{
- if (!usesLayeredWindow)
- return E_POINTER;
-
- *usesLayeredWindow = this->usesLayeredWindow() ? TRUE : FALSE;
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setCookieEnabled(BOOL enable)
-{
- if (!m_page)
- return E_FAIL;
-
- m_page->settings()->setCookieEnabled(enable);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::cookieEnabled(BOOL* enabled)
-{
- if (!enabled)
- return E_POINTER;
-
- if (!m_page)
- return E_FAIL;
-
- *enabled = m_page->settings()->cookieEnabled();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setMediaVolume(float volume)
-{
- if (!m_page)
- return E_FAIL;
-
- m_page->setMediaVolume(volume);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::mediaVolume(float* volume)
-{
- if (!volume)
- return E_POINTER;
-
- if (!m_page)
- return E_FAIL;
-
- *volume = m_page->mediaVolume();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setDefersCallbacks(BOOL defersCallbacks)
-{
- if (!m_page)
- return E_FAIL;
-
- m_page->setDefersLoading(defersCallbacks);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::defersCallbacks(BOOL* defersCallbacks)
-{
- if (!defersCallbacks)
- return E_POINTER;
-
- if (!m_page)
- return E_FAIL;
-
- *defersCallbacks = m_page->defersLoading();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::globalHistoryItem(IWebHistoryItem** item)
-{
- if (!item)
- return E_POINTER;
-
- if (!m_page)
- return E_FAIL;
-
- if (!m_globalHistoryItem) {
- *item = 0;
- return S_OK;
- }
-
- *item = WebHistoryItem::createInstance(m_globalHistoryItem);
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::setAlwaysUsesComplexTextCodePath(BOOL complex)
-{
- WebCoreSetAlwaysUsesComplexTextCodePath(complex);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::alwaysUsesComplexTextCodePath(BOOL* complex)
-{
- if (!complex)
- return E_POINTER;
-
- *complex = WebCoreAlwaysUsesComplexTextCodePath();
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::registerEmbeddedViewMIMEType(BSTR mimeType)
-{
- if (!mimeType)
- return E_POINTER;
-
- if (!m_embeddedViewMIMETypes)
- m_embeddedViewMIMETypes = adoptPtr(new HashSet<String>);
-
- m_embeddedViewMIMETypes->add(toString(mimeType));
- return S_OK;
-}
-
-bool WebView::shouldUseEmbeddedView(const WTF::String& mimeType) const
-{
- if (!m_embeddedViewMIMETypes)
- return false;
-
- return m_embeddedViewMIMETypes->contains(mimeType);
-}
-
-bool WebView::onGetObject(WPARAM wParam, LPARAM lParam, LRESULT& lResult) const
-{
- lResult = 0;
-
- if (lParam != OBJID_CLIENT)
- return false;
-
- AXObjectCache::enableAccessibility();
-
- // Get the accessible object for the top-level frame.
- WebFrame* mainFrameImpl = topLevelFrame();
- if (!mainFrameImpl)
- return false;
-
- COMPtr<IAccessible> accessible = mainFrameImpl->accessible();
- if (!accessible)
- return false;
-
- if (!accessibilityLib) {
- if (!(accessibilityLib = ::LoadLibraryW(L"oleacc.dll")))
- return false;
- }
-
- static LPFNLRESULTFROMOBJECT procPtr = reinterpret_cast<LPFNLRESULTFROMOBJECT>(::GetProcAddress(accessibilityLib, "LresultFromObject"));
- if (!procPtr)
- return false;
-
- // LresultFromObject returns a reference to the accessible object, stored
- // in an LRESULT. If this call is not successful, Windows will handle the
- // request through DefWindowProc.
- return SUCCEEDED(lResult = procPtr(__uuidof(IAccessible), wParam, accessible.get()));
-}
-
-STDMETHODIMP WebView::AccessibleObjectFromWindow(HWND hwnd, DWORD objectID, REFIID riid, void** ppObject)
-{
- ASSERT(accessibilityLib);
- static LPFNACCESSIBLEOBJECTFROMWINDOW procPtr = reinterpret_cast<LPFNACCESSIBLEOBJECTFROMWINDOW>(::GetProcAddress(accessibilityLib, "AccessibleObjectFromWindow"));
- if (!procPtr)
- return E_FAIL;
- return procPtr(hwnd, objectID, riid, ppObject);
-}
-
-HRESULT WebView::setMemoryCacheDelegateCallsEnabled(BOOL enabled)
-{
- m_page->setMemoryCacheClientCallsEnabled(enabled);
- return S_OK;
-}
-
-HRESULT WebView::setJavaScriptURLsAreAllowed(BOOL)
-{
- return E_NOTIMPL;
-}
-
-HRESULT WebView::setCanStartPlugins(BOOL canStartPlugins)
-{
- m_page->setCanStartMedia(canStartPlugins);
- return S_OK;
-}
-
-void WebView::enterFullscreenForNode(Node* node)
-{
- if (!node->hasTagName(HTMLNames::videoTag) || !node->isElementNode())
- return;
-
-#if ENABLE(VIDEO)
- if (!toElement(node)->isMediaElement())
- return;
- HTMLMediaElement* videoElement = toHTMLMediaElement(node);
-
- if (m_fullScreenVideoController) {
- if (m_fullScreenVideoController->mediaElement() == videoElement) {
- // The backend may just warn us that the underlaying plaftormMovie()
- // has changed. Just force an update.
- m_fullScreenVideoController->setMediaElement(videoElement);
- return; // No more to do.
- }
-
- // First exit Fullscreen for the old mediaElement.
- m_fullScreenVideoController->mediaElement()->exitFullscreen();
- // This previous call has to trigger exitFullscreen,
- // which has to clear m_fullScreenVideoController.
- ASSERT(!m_fullScreenVideoController);
- }
-
- m_fullScreenVideoController = adoptPtr(new FullscreenVideoController);
- m_fullScreenVideoController->setMediaElement(videoElement);
- m_fullScreenVideoController->enterFullscreen();
-#endif
-}
-
-void WebView::exitFullscreen()
-{
-#if ENABLE(VIDEO)
- if (m_fullScreenVideoController)
- m_fullScreenVideoController->exitFullscreen();
-
-#endif
-}
-
-static Vector<String> toStringVector(unsigned patternsCount, BSTR* patterns)
-{
- Vector<String> patternsVector;
- if (!patternsCount)
- return patternsVector;
- for (unsigned i = 0; i < patternsCount; ++i)
- patternsVector.append(toString(patterns[i]));
- return patternsVector;
-}
-
-HRESULT WebView::addUserScriptToGroup(BSTR groupName, IWebScriptWorld* iWorld, BSTR source, BSTR url,
- unsigned whitelistCount, BSTR* whitelist,
- unsigned blacklistCount, BSTR* blacklist,
- WebUserScriptInjectionTime injectionTime)
-{
- COMPtr<WebScriptWorld> world(Query, iWorld);
- if (!world)
- return E_POINTER;
-
- String group = toString(groupName);
- if (group.isEmpty())
- return E_INVALIDARG;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- ASSERT(pageGroup);
- if (!pageGroup)
- return E_FAIL;
-
- pageGroup->addUserScriptToWorld(world->world(), toString(source), toKURL(url),
- toStringVector(whitelistCount, whitelist), toStringVector(blacklistCount, blacklist),
- injectionTime == WebInjectAtDocumentStart ? InjectAtDocumentStart : InjectAtDocumentEnd,
- InjectInAllFrames);
-
- return S_OK;
-}
-
-HRESULT WebView::addUserStyleSheetToGroup(BSTR groupName, IWebScriptWorld* iWorld, BSTR source, BSTR url,
- unsigned whitelistCount, BSTR* whitelist,
- unsigned blacklistCount, BSTR* blacklist)
-{
- COMPtr<WebScriptWorld> world(Query, iWorld);
- if (!world)
- return E_POINTER;
-
- String group = toString(groupName);
- if (group.isEmpty())
- return E_INVALIDARG;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- ASSERT(pageGroup);
- if (!pageGroup)
- return E_FAIL;
-
- pageGroup->addUserStyleSheetToWorld(world->world(), toString(source), toKURL(url),
- toStringVector(whitelistCount, whitelist), toStringVector(blacklistCount, blacklist),
- InjectInAllFrames);
-
- return S_OK;
-}
-
-HRESULT WebView::removeUserScriptFromGroup(BSTR groupName, IWebScriptWorld* iWorld, BSTR url)
-{
- COMPtr<WebScriptWorld> world(Query, iWorld);
- if (!world)
- return E_POINTER;
-
- String group = toString(groupName);
- if (group.isEmpty())
- return E_INVALIDARG;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- ASSERT(pageGroup);
- if (!pageGroup)
- return E_FAIL;
-
- pageGroup->removeUserScriptFromWorld(world->world(), toKURL(url));
-
- return S_OK;
-}
-
-HRESULT WebView::removeUserStyleSheetFromGroup(BSTR groupName, IWebScriptWorld* iWorld, BSTR url)
-{
- COMPtr<WebScriptWorld> world(Query, iWorld);
- if (!world)
- return E_POINTER;
-
- String group = toString(groupName);
- if (group.isEmpty())
- return E_INVALIDARG;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- ASSERT(pageGroup);
- if (!pageGroup)
- return E_FAIL;
-
- pageGroup->removeUserStyleSheetFromWorld(world->world(), toKURL(url));
-
- return S_OK;
-}
-
-HRESULT WebView::removeUserScriptsFromGroup(BSTR groupName, IWebScriptWorld* iWorld)
-{
- COMPtr<WebScriptWorld> world(Query, iWorld);
- if (!world)
- return E_POINTER;
-
- String group = toString(groupName);
- if (group.isEmpty())
- return E_INVALIDARG;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- ASSERT(pageGroup);
- if (!pageGroup)
- return E_FAIL;
-
- pageGroup->removeUserScriptsFromWorld(world->world());
- return S_OK;
-}
-
-HRESULT WebView::removeUserStyleSheetsFromGroup(BSTR groupName, IWebScriptWorld* iWorld)
-{
- COMPtr<WebScriptWorld> world(Query, iWorld);
- if (!world)
- return E_POINTER;
-
- String group = toString(groupName);
- if (group.isEmpty())
- return E_INVALIDARG;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- ASSERT(pageGroup);
- if (!pageGroup)
- return E_FAIL;
-
- pageGroup->removeUserStyleSheetsFromWorld(world->world());
- return S_OK;
-}
-
-HRESULT WebView::removeAllUserContentFromGroup(BSTR groupName)
-{
- String group = toString(groupName);
- if (group.isEmpty())
- return E_INVALIDARG;
-
- PageGroup* pageGroup = PageGroup::pageGroup(group);
- ASSERT(pageGroup);
- if (!pageGroup)
- return E_FAIL;
-
- pageGroup->removeAllUserContent();
- return S_OK;
-}
-
-HRESULT WebView::invalidateBackingStore(const RECT* rect)
-{
- if (!IsWindow(m_viewWindow))
- return S_OK;
-
- RECT clientRect;
- if (!GetClientRect(m_viewWindow, &clientRect))
- return E_FAIL;
-
- RECT rectToInvalidate;
- if (!rect)
- rectToInvalidate = clientRect;
- else if (!IntersectRect(&rectToInvalidate, &clientRect, rect))
- return S_OK;
-
- repaint(rectToInvalidate, true);
- return S_OK;
-}
-
-HRESULT WebView::addOriginAccessWhitelistEntry(BSTR sourceOrigin, BSTR destinationProtocol, BSTR destinationHost, BOOL allowDestinationSubdomains)
-{
- SecurityPolicy::addOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(toString(sourceOrigin)), toString(destinationProtocol), toString(destinationHost), allowDestinationSubdomains);
- return S_OK;
-}
-
-HRESULT WebView::removeOriginAccessWhitelistEntry(BSTR sourceOrigin, BSTR destinationProtocol, BSTR destinationHost, BOOL allowDestinationSubdomains)
-{
- SecurityPolicy::removeOriginAccessWhitelistEntry(*SecurityOrigin::createFromString(toString(sourceOrigin)), toString(destinationProtocol), toString(destinationHost), allowDestinationSubdomains);
- return S_OK;
-}
-
-HRESULT WebView::resetOriginAccessWhitelists()
-{
- SecurityPolicy::resetOriginAccessWhitelists();
- return S_OK;
-}
-
-HRESULT WebView::setHistoryDelegate(IWebHistoryDelegate* historyDelegate)
-{
- m_historyDelegate = historyDelegate;
- return S_OK;
-}
-
-HRESULT WebView::historyDelegate(IWebHistoryDelegate** historyDelegate)
-{
- if (!historyDelegate)
- return E_POINTER;
-
- return m_historyDelegate.copyRefTo(historyDelegate);
-}
-
-HRESULT WebView::addVisitedLinks(BSTR* visitedURLs, unsigned visitedURLCount)
-{
- PageGroup& group = core(this)->group();
-
- for (unsigned i = 0; i < visitedURLCount; ++i) {
- BSTR url = visitedURLs[i];
- unsigned length = SysStringLen(url);
- group.addVisitedLink(url, length);
- }
-
- return S_OK;
-}
-
-void WebView::downloadURL(const KURL& url)
-{
- // It's the delegate's job to ref the WebDownload to keep it alive - otherwise it will be
- // destroyed when this function returns.
- COMPtr<WebDownload> download(AdoptCOM, WebDownload::createInstance(url, m_downloadDelegate.get()));
- download->start();
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-void WebView::setRootChildLayer(GraphicsLayer* layer)
-{
- setAcceleratedCompositing(layer ? true : false);
- if (!m_backingLayer)
- return;
- m_backingLayer->addChild(layer);
-}
-
-void WebView::flushPendingGraphicsLayerChangesSoon()
-{
- if (!m_layerTreeHost)
- return;
- m_layerTreeHost->flushPendingGraphicsLayerChangesSoon();
-}
-
-void WebView::setAcceleratedCompositing(bool accelerated)
-{
- if (m_isAcceleratedCompositing == accelerated || !CACFLayerTreeHost::acceleratedCompositingAvailable())
- return;
-
- if (accelerated) {
- m_layerTreeHost = CACFLayerTreeHost::create();
- if (m_layerTreeHost) {
- m_isAcceleratedCompositing = true;
-
- m_layerTreeHost->setShouldInvertColors(m_shouldInvertColors);
-
- m_layerTreeHost->setClient(this);
- ASSERT(m_viewWindow);
- m_layerTreeHost->setWindow(m_viewWindow);
-
- // FIXME: We could perhaps get better performance by never allowing this layer to
- // become tiled (or choosing a higher-than-normal tiling threshold).
- // <http://webkit.org/b/52603>
- m_backingLayer = GraphicsLayer::create(0, this);
- m_backingLayer->setDrawsContent(true);
- m_backingLayer->setContentsOpaque(true);
- RECT clientRect;
- ::GetClientRect(m_viewWindow, &clientRect);
- m_backingLayer->setSize(IntRect(clientRect).size());
- m_backingLayer->setNeedsDisplay();
-
- m_layerTreeHost->setRootChildLayer(PlatformCALayer::platformCALayer(m_backingLayer->platformLayer()));
-
- // We aren't going to be using our backing store while we're in accelerated compositing
- // mode. But don't delete it immediately, in case we switch out of accelerated
- // compositing mode soon (e.g., if we're only compositing for a :hover animation).
- deleteBackingStoreSoon();
- }
- } else {
- ASSERT(m_layerTreeHost);
- m_layerTreeHost->setClient(0);
- m_layerTreeHost->setWindow(0);
- m_layerTreeHost = 0;
- m_backingLayer = nullptr;
- m_isAcceleratedCompositing = false;
- }
-}
-#endif
-
-#if PLATFORM(WIN) && USE(AVFOUNDATION)
-WebCore::GraphicsDeviceAdapter* WebView::graphicsDeviceAdapter() const
-{
- if (!m_layerTreeHost)
- return 0;
- return m_layerTreeHost->graphicsDeviceAdapter();
-}
-#endif
-
-HRESULT WebView::unused1()
-{
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT WebView::unused2()
-{
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT WebView::unused3()
-{
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT WebView::unused4()
-{
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT WebView::unused5()
-{
- ASSERT_NOT_REACHED();
- return E_FAIL;
-}
-
-HRESULT WebView::setGeolocationProvider(IWebGeolocationProvider* locationProvider)
-{
- m_geolocationProvider = locationProvider;
- return S_OK;
-}
-
-HRESULT WebView::geolocationProvider(IWebGeolocationProvider** locationProvider)
-{
- if (!locationProvider)
- return E_POINTER;
-
- if (!m_geolocationProvider)
- return E_FAIL;
-
- return m_geolocationProvider.copyRefTo(locationProvider);
-}
-
-HRESULT WebView::geolocationDidChangePosition(IWebGeolocationPosition* position)
-{
- if (!m_page)
- return E_FAIL;
- GeolocationController::from(m_page)->positionChanged(core(position));
- return S_OK;
-}
-
-HRESULT WebView::geolocationDidFailWithError(IWebError* error)
-{
- if (!m_page)
- return E_FAIL;
- if (!error)
- return E_POINTER;
-
- BString description;
- if (FAILED(error->localizedDescription(&description)))
- return E_FAIL;
-
- RefPtr<GeolocationError> geolocationError = GeolocationError::create(GeolocationError::PositionUnavailable, toString(description));
- GeolocationController::from(m_page)->errorOccurred(geolocationError.get());
- return S_OK;
-}
-
-HRESULT WebView::setDomainRelaxationForbiddenForURLScheme(BOOL forbidden, BSTR scheme)
-{
- SchemeRegistry::setDomainRelaxationForbiddenForURLScheme(forbidden, toString(scheme));
- return S_OK;
-}
-
-HRESULT WebView::registerURLSchemeAsSecure(BSTR scheme)
-{
- SchemeRegistry::registerURLSchemeAsSecure(toString(scheme));
- return S_OK;
-}
-
-HRESULT WebView::registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing(BSTR scheme)
-{
- SchemeRegistry::registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing(toString(scheme));
- return S_OK;
-}
-
-HRESULT WebView::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing(BSTR scheme)
-{
- SchemeRegistry::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing(toString(scheme));
- return S_OK;
-}
-
-HRESULT WebView::nextDisplayIsSynchronous()
-{
- m_nextDisplayIsSynchronous = true;
- return S_OK;
-}
-
-#if USE(ACCELERATED_COMPOSITING)
-void WebView::notifyAnimationStarted(const GraphicsLayer*, double)
-{
- // We never set any animations on our backing layer.
- ASSERT_NOT_REACHED();
-}
-
-void WebView::notifyFlushRequired(const GraphicsLayer*)
-{
- flushPendingGraphicsLayerChangesSoon();
-}
-
-void WebView::paintContents(const GraphicsLayer*, GraphicsContext& context, GraphicsLayerPaintingPhase, const IntRect& inClip)
-{
- Frame* frame = core(m_mainFrame);
- if (!frame)
- return;
-
- context.save();
- context.clip(inClip);
- frame->view()->paint(&context, inClip);
- context.restore();
-}
-
-void WebView::flushPendingGraphicsLayerChanges()
-{
- Frame* coreFrame = core(m_mainFrame);
- if (!coreFrame)
- return;
- FrameView* view = coreFrame->view();
- if (!view)
- return;
- if (!m_backingLayer)
- return;
-
- view->updateLayoutAndStyleIfNeededRecursive();
-
- // Updating layout might have taken us out of compositing mode.
- if (m_backingLayer)
- m_backingLayer->flushCompositingStateForThisLayerOnly();
-
- view->flushCompositingStateIncludingSubframes();
-}
-
-#endif
-
-class EnumTextMatches : public IEnumTextMatches
-{
- long m_ref;
- UINT m_index;
- Vector<IntRect> m_rects;
-public:
- EnumTextMatches(Vector<IntRect>* rects) : m_index(0), m_ref(1)
- {
- m_rects = *rects;
- }
-
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppv)
- {
- if (IsEqualGUID(riid, IID_IUnknown) || IsEqualGUID(riid, IID_IEnumTextMatches)) {
- *ppv = this;
- AddRef();
- }
-
- return *ppv?S_OK:E_NOINTERFACE;
- }
-
- virtual ULONG STDMETHODCALLTYPE AddRef()
- {
- return m_ref++;
- }
-
- virtual ULONG STDMETHODCALLTYPE Release()
- {
- if (m_ref == 1) {
- delete this;
- return 0;
- }
- else
- return m_ref--;
- }
-
- virtual HRESULT STDMETHODCALLTYPE Next(ULONG, RECT* rect, ULONG* pceltFetched)
- {
- if (m_index < m_rects.size()) {
- if (pceltFetched)
- *pceltFetched = 1;
- *rect = m_rects[m_index];
- m_index++;
- return S_OK;
- }
-
- if (pceltFetched)
- *pceltFetched = 0;
-
- return S_FALSE;
- }
- virtual HRESULT STDMETHODCALLTYPE Skip(ULONG celt)
- {
- m_index += celt;
- return S_OK;
- }
- virtual HRESULT STDMETHODCALLTYPE Reset(void)
- {
- m_index = 0;
- return S_OK;
- }
- virtual HRESULT STDMETHODCALLTYPE Clone(IEnumTextMatches**)
- {
- return E_NOTIMPL;
- }
-};
-
-HRESULT createMatchEnumerator(Vector<IntRect>* rects, IEnumTextMatches** matches)
-{
- *matches = new EnumTextMatches(rects);
- return (*matches)?S_OK:E_OUTOFMEMORY;
-}
-
-Page* core(IWebView* iWebView)
-{
- Page* page = 0;
-
- COMPtr<WebView> webView;
- if (SUCCEEDED(iWebView->QueryInterface(&webView)) && webView)
- page = webView->page();
-
- return page;
-}
-
-HRESULT WebView::defaultMinimumTimerInterval(double* interval)
-{
- if (!interval)
- return E_POINTER;
- *interval = Settings::defaultMinDOMTimerInterval();
- return S_OK;
-}
-
-HRESULT WebView::setMinimumTimerInterval(double interval)
-{
- page()->settings()->setMinDOMTimerInterval(interval);
- return S_OK;
-}
-
-HRESULT WebView::httpPipeliningEnabled(BOOL* enabled)
-{
- if (!enabled)
- return E_POINTER;
- *enabled = ResourceRequest::httpPipeliningEnabled();
- return S_OK;
-}
-
-HRESULT WebView::setHTTPPipeliningEnabled(BOOL enabled)
-{
- ResourceRequest::setHTTPPipeliningEnabled(enabled);
- return S_OK;
-}
-
-void WebView::setGlobalHistoryItem(HistoryItem* historyItem)
-{
- m_globalHistoryItem = historyItem;
-}
-
-#if ENABLE(FULLSCREEN_API)
-bool WebView::supportsFullScreenForElement(const WebCore::Element*, bool withKeyboard) const
-{
- if (withKeyboard)
- return false;
-
- BOOL enabled = FALSE;
- if (!m_preferences || FAILED(m_preferences->isFullScreenEnabled(&enabled)))
- return false;
-
- return enabled;
-}
-
-bool WebView::isFullScreen() const
-{
- return m_fullscreenController && m_fullscreenController->isFullScreen();
-}
-
-FullScreenController* WebView::fullScreenController()
-{
- if (!m_fullscreenController)
- m_fullscreenController = adoptPtr(new FullScreenController(this));
- return m_fullscreenController.get();
-}
-
-void WebView::setFullScreenElement(PassRefPtr<Element> element)
-{
- m_fullScreenElement = element;
-}
-
-HWND WebView::fullScreenClientWindow() const
-{
- return m_viewWindow;
-}
-
-HWND WebView::fullScreenClientParentWindow() const
-{
- return m_hostWindow;
-}
-
-void WebView::fullScreenClientSetParentWindow(HWND hostWindow)
-{
- setHostWindow(reinterpret_cast<OLE_HANDLE>(hostWindow));
-}
-
-void WebView::fullScreenClientWillEnterFullScreen()
-{
- ASSERT(m_fullScreenElement);
- m_fullScreenElement->document()->webkitWillEnterFullScreenForElement(m_fullScreenElement.get());
-}
-
-void WebView::fullScreenClientDidEnterFullScreen()
-{
- ASSERT(m_fullScreenElement);
- m_fullScreenElement->document()->webkitDidEnterFullScreenForElement(m_fullScreenElement.get());
-}
-
-void WebView::fullScreenClientWillExitFullScreen()
-{
- ASSERT(m_fullScreenElement);
- m_fullScreenElement->document()->webkitWillExitFullScreenForElement(m_fullScreenElement.get());
-}
-
-void WebView::fullScreenClientDidExitFullScreen()
-{
- ASSERT(m_fullScreenElement);
- m_fullScreenElement->document()->webkitDidExitFullScreenForElement(m_fullScreenElement.get());
- m_fullScreenElement = nullptr;
-}
-
-void WebView::fullScreenClientForceRepaint()
-{
- ASSERT(m_fullScreenElement);
- RECT windowRect = {0};
- frameRect(&windowRect);
- repaint(windowRect, true /*contentChanged*/, true /*immediate*/, false /*contentOnly*/);
- m_fullscreenController->repaintCompleted();
-}
-
-void WebView::fullScreenClientSaveScrollPosition()
-{
- if (Frame* coreFrame = core(m_mainFrame))
- if (FrameView* view = coreFrame->view())
- m_scrollPosition = view->scrollPosition();
-}
-
-void WebView::fullScreenClientRestoreScrollPosition()
-{
- if (Frame* coreFrame = core(m_mainFrame))
- if (FrameView* view = coreFrame->view())
- view->setScrollPosition(m_scrollPosition);
-}
-
-#endif
-// Used by TextInputController in DumpRenderTree
-
-HRESULT STDMETHODCALLTYPE WebView::setCompositionForTesting(
- /* [in] */ BSTR composition,
- /* [in] */ UINT from,
- /* [in] */ UINT length)
-{
- if (!m_page)
- return E_FAIL;
-
- Frame* frame = m_page->focusController()->focusedOrMainFrame();
- if (!frame || !frame->editor().canEdit())
- return E_FAIL;
-
- String compositionStr = toString(composition);
-
- Vector<CompositionUnderline> underlines;
- underlines.append(CompositionUnderline(0, compositionStr.length(), Color(Color::black), false));
- frame->editor().setComposition(compositionStr, underlines, from, from + length);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::hasCompositionForTesting(/* [out, retval] */ BOOL* result)
-{
- if (!m_page)
- return E_FAIL;
-
- Frame* frame = m_page->focusController()->focusedOrMainFrame();
- if (!frame)
- return E_FAIL;
-
- *result = frame && frame->editor().hasComposition();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::confirmCompositionForTesting(/* [in] */ BSTR composition)
-{
- if (!m_page)
- return E_FAIL;
-
- Frame* frame = m_page->focusController()->focusedOrMainFrame();
- if (!frame || !frame->editor().canEdit())
- return E_FAIL;
-
- String compositionStr = toString(composition);
-
- if (compositionStr.isNull())
- frame->editor().confirmComposition();
-
- frame->editor().confirmComposition(compositionStr);
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::compositionRangeForTesting(/* [out] */ UINT* startPosition, /* [out] */ UINT* length)
-{
- if (!m_page)
- return E_FAIL;
-
- Frame* frame = m_page->focusController()->focusedOrMainFrame();
- if (!frame || !frame->editor().canEdit())
- return E_FAIL;
-
- RefPtr<Range> range = frame->editor().compositionRange();
-
- if (!range)
- return E_FAIL;
-
- *startPosition = range->startOffset();
- *length = range->startOffset() + range->endOffset();
-
- return S_OK;
-}
-
-
-HRESULT STDMETHODCALLTYPE WebView::firstRectForCharacterRangeForTesting(
- /* [in] */ UINT location,
- /* [in] */ UINT length,
- /* [out, retval] */ RECT* resultRect)
-{
- if (!m_page)
- return E_FAIL;
-
- Frame* frame = m_page->focusController()->focusedOrMainFrame();
- if (!frame)
- return E_FAIL;
-
- IntRect resultIntRect;
- resultIntRect.setLocation(IntPoint(0, 0));
- resultIntRect.setSize(IntSize(0, 0));
-
- if (location > INT_MAX)
- return E_FAIL;
- if (length > INT_MAX || location + length > INT_MAX)
- length = INT_MAX - location;
-
- RefPtr<Range> range = TextIterator::rangeFromLocationAndLength(frame->selection()->rootEditableElementOrDocumentElement(), location, length);
-
- if (!range)
- return E_FAIL;
-
- ASSERT(range->startContainer());
- ASSERT(range->endContainer());
-
- IntRect rect = frame->editor().firstRectForRange(range.get());
- resultIntRect = frame->view()->contentsToWindow(rect);
-
- resultRect->left = resultIntRect.x();
- resultRect->top = resultIntRect.y();
- resultRect->right = resultIntRect.x() + resultIntRect.width();
- resultRect->bottom = resultIntRect.y() + resultIntRect.height();
-
- return S_OK;
-}
-
-HRESULT STDMETHODCALLTYPE WebView::selectedRangeForTesting(/* [out] */ UINT* location, /* [out] */ UINT* length)
-{
- if (!m_page)
- return E_FAIL;
-
- Frame* frame = m_page->focusController()->focusedOrMainFrame();
- if (!frame)
- return E_FAIL;
-
- RefPtr<Range> range = frame->editor().selectedRange();
-
- size_t locationSize;
- size_t lengthSize;
- if (range && TextIterator::getLocationAndLengthFromRange(frame->selection()->rootEditableElementOrDocumentElement(), range.get(), locationSize, lengthSize)) {
- *location = static_cast<UINT>(locationSize);
- *length = static_cast<UINT>(lengthSize);
- }
-
- return S_OK;
-}
-
diff --git a/Source/WebKit/win/WebView.h b/Source/WebKit/win/WebView.h
deleted file mode 100644
index c0cfdf0fb..000000000
--- a/Source/WebKit/win/WebView.h
+++ /dev/null
@@ -1,1176 +0,0 @@
-/*
- * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved.
- * Copyright (C) 2009, 2010, 2011 Appcelerator, Inc. All rights reserved.
- * Copyright (C) 2011 Brent Fulgham. 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 COMPUTER, INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCfLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABIuLITY 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 WebView_H
-#define WebView_H
-
-#include "WebKit.h"
-#include "WebFrame.h"
-#include "WebPreferences.h"
-#include <WebCore/COMPtr.h>
-#include <WebCore/DragActions.h>
-#include <WebCore/IntRect.h>
-#include <WebCore/RefCountedGDIHandle.h>
-#include <WebCore/SuspendableTimer.h>
-#include <WebCore/WindowMessageListener.h>
-#include <wtf/HashSet.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/RefPtr.h>
-
-#if USE(ACCELERATED_COMPOSITING)
-#include <WebCore/CACFLayerTreeHostClient.h>
-#include <WebCore/GraphicsLayerClient.h>
-#endif
-
-#if ENABLE(FULLSCREEN_API)
-#include <WebCore/FullScreenControllerClient.h>
-#endif
-
-namespace WebCore {
-#if USE(ACCELERATED_COMPOSITING)
- class CACFLayerTreeHost;
-#endif
- class FullScreenController;
-#if PLATFORM(WIN) && USE(AVFOUNDATION)
- struct GraphicsDeviceAdapter;
-#endif
-}
-
-namespace WebCore {
- class HistoryItem;
-}
-
-class FullscreenVideoController;
-class WebBackForwardList;
-class WebFrame;
-class WebInspector;
-class WebInspectorClient;
-
-typedef WebCore::RefCountedGDIHandle<HBITMAP> RefCountedHBITMAP;
-typedef WebCore::RefCountedGDIHandle<HRGN> RefCountedHRGN;
-
-WebView* kit(WebCore::Page*);
-WebCore::Page* core(IWebView*);
-
-interface IDropTargetHelper;
-
-class WebView
- : public IWebView
- , public IWebViewPrivate
- , public IWebIBActions
- , public IWebViewCSS
- , public IWebViewEditing
- , public IWebViewUndoableEditing
- , public IWebViewEditingActions
- , public IWebNotificationObserver
- , public IDropTarget
- , WebCore::WindowMessageListener
-#if USE(ACCELERATED_COMPOSITING)
- , WebCore::GraphicsLayerClient
- , WebCore::CACFLayerTreeHostClient
-#endif
-#if ENABLE(FULLSCREEN_API)
- , WebCore::FullScreenControllerClient
-#endif
-{
-public:
- static WebView* createInstance();
-protected:
- WebView();
- ~WebView();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebView
-
- virtual HRESULT STDMETHODCALLTYPE canShowMIMEType(
- /* [in] */ BSTR mimeType,
- /* [retval][out] */ BOOL *canShow);
-
- virtual HRESULT STDMETHODCALLTYPE canShowMIMETypeAsHTML(
- /* [in] */ BSTR mimeType,
- /* [retval][out] */ BOOL *canShow);
-
- virtual HRESULT STDMETHODCALLTYPE MIMETypesShownAsHTML(
- /* [retval][out] */ IEnumVARIANT **enumVariant);
-
- virtual HRESULT STDMETHODCALLTYPE setMIMETypesShownAsHTML(
- /* [size_is][in] */ BSTR *mimeTypes,
- /* [in] */ int cMimeTypes);
-
- virtual HRESULT STDMETHODCALLTYPE URLFromPasteboard(
- /* [in] */ IDataObject *pasteboard,
- /* [retval][out] */ BSTR *url);
-
- virtual HRESULT STDMETHODCALLTYPE URLTitleFromPasteboard(
- /* [in] */ IDataObject *pasteboard,
- /* [retval][out] */ BSTR *urlTitle);
-
- virtual HRESULT STDMETHODCALLTYPE initWithFrame(
- /* [in] */ RECT frame,
- /* [in] */ BSTR frameName,
- /* [in] */ BSTR groupName);
-
- virtual HRESULT STDMETHODCALLTYPE setAccessibilityDelegate(
- /* [in] */ IAccessibilityDelegate *d);
-
- virtual HRESULT STDMETHODCALLTYPE accessibilityDelegate(
- /* [out][retval] */ IAccessibilityDelegate **d);
-
- virtual HRESULT STDMETHODCALLTYPE setUIDelegate(
- /* [in] */ IWebUIDelegate *d);
-
- virtual HRESULT STDMETHODCALLTYPE uiDelegate(
- /* [out][retval] */ IWebUIDelegate **d);
-
- virtual HRESULT STDMETHODCALLTYPE setResourceLoadDelegate(
- /* [in] */ IWebResourceLoadDelegate *d);
-
- virtual HRESULT STDMETHODCALLTYPE resourceLoadDelegate(
- /* [out][retval] */ IWebResourceLoadDelegate **d);
-
- virtual HRESULT STDMETHODCALLTYPE setDownloadDelegate(
- /* [in] */ IWebDownloadDelegate *d);
-
- virtual HRESULT STDMETHODCALLTYPE downloadDelegate(
- /* [out][retval] */ IWebDownloadDelegate **d);
-
- virtual HRESULT STDMETHODCALLTYPE setFrameLoadDelegate(
- /* [in] */ IWebFrameLoadDelegate *d);
-
- virtual HRESULT STDMETHODCALLTYPE frameLoadDelegate(
- /* [out][retval] */ IWebFrameLoadDelegate **d);
-
- virtual HRESULT STDMETHODCALLTYPE setPolicyDelegate(
- /* [in] */ IWebPolicyDelegate *d);
-
- virtual HRESULT STDMETHODCALLTYPE policyDelegate(
- /* [out][retval] */ IWebPolicyDelegate **d);
-
- virtual HRESULT STDMETHODCALLTYPE mainFrame(
- /* [out][retval] */ IWebFrame **frame);
-
- virtual HRESULT STDMETHODCALLTYPE focusedFrame(
- /* [out][retval] */ IWebFrame **frame);
-
- virtual HRESULT STDMETHODCALLTYPE backForwardList(
- /* [out][retval] */ IWebBackForwardList **list);
-
- virtual HRESULT STDMETHODCALLTYPE setMaintainsBackForwardList(
- /* [in] */ BOOL flag);
-
- virtual HRESULT STDMETHODCALLTYPE goBack(
- /* [retval][out] */ BOOL *succeeded);
-
- virtual HRESULT STDMETHODCALLTYPE goForward(
- /* [retval][out] */ BOOL *succeeded);
-
- virtual HRESULT STDMETHODCALLTYPE goToBackForwardItem(
- /* [in] */ IWebHistoryItem *item,
- /* [retval][out] */ BOOL *succeeded);
-
- virtual HRESULT STDMETHODCALLTYPE setTextSizeMultiplier(
- /* [in] */ float multiplier);
-
- virtual HRESULT STDMETHODCALLTYPE textSizeMultiplier(
- /* [retval][out] */ float *multiplier);
-
- virtual HRESULT STDMETHODCALLTYPE setApplicationNameForUserAgent(
- /* [in] */ BSTR applicationName);
-
- virtual HRESULT STDMETHODCALLTYPE applicationNameForUserAgent(
- /* [retval][out] */ BSTR *applicationName);
-
- virtual HRESULT STDMETHODCALLTYPE setCustomUserAgent(
- /* [in] */ BSTR userAgentString);
-
- virtual HRESULT STDMETHODCALLTYPE customUserAgent(
- /* [retval][out] */ BSTR *userAgentString);
-
- virtual HRESULT STDMETHODCALLTYPE userAgentForURL(
- /* [in] */ BSTR url,
- /* [retval][out] */ BSTR *userAgent);
-
- virtual HRESULT STDMETHODCALLTYPE supportsTextEncoding(
- /* [retval][out] */ BOOL *supports);
-
- virtual HRESULT STDMETHODCALLTYPE setCustomTextEncodingName(
- /* [in] */ BSTR encodingName);
-
- virtual HRESULT STDMETHODCALLTYPE customTextEncodingName(
- /* [retval][out] */ BSTR *encodingName);
-
- virtual HRESULT STDMETHODCALLTYPE setMediaStyle(
- /* [in] */ BSTR media);
-
- virtual HRESULT STDMETHODCALLTYPE mediaStyle(
- /* [retval][out] */ BSTR *media);
-
- virtual HRESULT STDMETHODCALLTYPE stringByEvaluatingJavaScriptFromString(
- /* [in] */ BSTR script,
- /* [retval][out] */ BSTR *result);
-
- virtual HRESULT STDMETHODCALLTYPE windowScriptObject(
- /* [retval][out] */ IWebScriptObject **webScriptObject);
-
- virtual HRESULT STDMETHODCALLTYPE setPreferences(
- /* [in] */ IWebPreferences *prefs);
-
- virtual HRESULT STDMETHODCALLTYPE preferences(
- /* [retval][out] */ IWebPreferences **prefs);
-
- virtual HRESULT STDMETHODCALLTYPE setPreferencesIdentifier(
- /* [in] */ BSTR anIdentifier);
-
- virtual HRESULT STDMETHODCALLTYPE preferencesIdentifier(
- /* [retval][out] */ BSTR *anIdentifier);
-
- virtual HRESULT STDMETHODCALLTYPE setHostWindow(
- /* [in] */ OLE_HANDLE window);
-
- virtual HRESULT STDMETHODCALLTYPE hostWindow(
- /* [retval][out] */ OLE_HANDLE *window);
-
- virtual HRESULT STDMETHODCALLTYPE searchFor(
- /* [in] */ BSTR str,
- /* [in] */ BOOL forward,
- /* [in] */ BOOL caseFlag,
- /* [in] */ BOOL wrapFlag,
- /* [retval][out] */ BOOL *found);
-
- virtual HRESULT STDMETHODCALLTYPE registerViewClass(
- /* [in] */ IWebDocumentView *view,
- /* [in] */ IWebDocumentRepresentation *representation,
- /* [in] */ BSTR forMIMEType);
-
- virtual HRESULT STDMETHODCALLTYPE setGroupName(
- /* [in] */ BSTR groupName);
-
- virtual HRESULT STDMETHODCALLTYPE groupName(
- /* [retval][out] */ BSTR *groupName);
-
- virtual HRESULT STDMETHODCALLTYPE estimatedProgress(
- /* [retval][out] */ double *estimatedProgress);
-
- virtual HRESULT STDMETHODCALLTYPE isLoading(
- /* [retval][out] */ BOOL *isLoading);
-
- virtual HRESULT STDMETHODCALLTYPE elementAtPoint(
- /* [in] */ LPPOINT point,
- /* [retval][out] */ IPropertyBag **elementDictionary);
-
- virtual HRESULT STDMETHODCALLTYPE pasteboardTypesForSelection(
- /* [retval][out] */ IEnumVARIANT **enumVariant);
-
- virtual HRESULT STDMETHODCALLTYPE writeSelectionWithPasteboardTypes(
- /* [size_is][in] */ BSTR *types,
- /* [in] */ int cTypes,
- /* [in] */ IDataObject *pasteboard);
-
- virtual HRESULT STDMETHODCALLTYPE pasteboardTypesForElement(
- /* [in] */ IPropertyBag *elementDictionary,
- /* [retval][out] */ IEnumVARIANT **enumVariant);
-
- virtual HRESULT STDMETHODCALLTYPE writeElement(
- /* [in] */ IPropertyBag *elementDictionary,
- /* [size_is][in] */ BSTR *withPasteboardTypes,
- /* [in] */ int cWithPasteboardTypes,
- /* [in] */ IDataObject *pasteboard);
-
- virtual HRESULT STDMETHODCALLTYPE selectedText(
- /* [out, retval] */ BSTR* str);
-
- virtual HRESULT STDMETHODCALLTYPE centerSelectionInVisibleArea(
- /* [in] */ IUnknown* sender);
-
- virtual HRESULT STDMETHODCALLTYPE moveDragCaretToPoint(
- /* [in] */ LPPOINT point);
-
- virtual HRESULT STDMETHODCALLTYPE removeDragCaret( void);
-
- virtual HRESULT STDMETHODCALLTYPE setDrawsBackground(
- /* [in] */ BOOL drawsBackground);
-
- virtual HRESULT STDMETHODCALLTYPE drawsBackground(
- /* [retval][out] */ BOOL *drawsBackground);
-
- virtual HRESULT STDMETHODCALLTYPE setMainFrameURL(
- /* [in] */ BSTR urlString);
-
- virtual HRESULT STDMETHODCALLTYPE mainFrameURL(
- /* [retval][out] */ BSTR *urlString);
-
- virtual HRESULT STDMETHODCALLTYPE mainFrameDocument(
- /* [retval][out] */ IDOMDocument **document);
-
- virtual HRESULT STDMETHODCALLTYPE mainFrameTitle(
- /* [retval][out] */ BSTR *title);
-
- virtual HRESULT STDMETHODCALLTYPE mainFrameIcon(
- /* [retval][out] */ OLE_HANDLE *hBitmap);
-
- virtual HRESULT STDMETHODCALLTYPE registerURLSchemeAsLocal(
- /* [in] */ BSTR scheme);
-
- virtual HRESULT STDMETHODCALLTYPE close();
-
- // IWebIBActions
-
- virtual HRESULT STDMETHODCALLTYPE takeStringURLFrom(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE stopLoading(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE reload(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE canGoBack(
- /* [in] */ IUnknown *sender,
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE goBack(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE canGoForward(
- /* [in] */ IUnknown *sender,
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE goForward(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE canMakeTextLarger(
- /* [in] */ IUnknown *sender,
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE makeTextLarger(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE canMakeTextSmaller(
- /* [in] */ IUnknown *sender,
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE makeTextSmaller(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE canMakeTextStandardSize(
- /* [in] */ IUnknown *sender,
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE makeTextStandardSize(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE toggleContinuousSpellChecking(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE toggleSmartInsertDelete(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE toggleGrammarChecking(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE reloadFromOrigin(
- /* [in] */ IUnknown *sender);
-
- // IWebViewCSS
-
- virtual HRESULT STDMETHODCALLTYPE computedStyleForElement(
- /* [in] */ IDOMElement *element,
- /* [in] */ BSTR pseudoElement,
- /* [retval][out] */ IDOMCSSStyleDeclaration **style);
-
- // IWebViewEditing
-
- virtual HRESULT STDMETHODCALLTYPE editableDOMRangeForPoint(
- /* [in] */ LPPOINT point,
- /* [retval][out] */ IDOMRange **range);
-
- virtual HRESULT STDMETHODCALLTYPE setSelectedDOMRange(
- /* [in] */ IDOMRange *range,
- /* [in] */ WebSelectionAffinity affinity);
-
- virtual HRESULT STDMETHODCALLTYPE selectedDOMRange(
- /* [retval][out] */ IDOMRange **range);
-
- virtual HRESULT STDMETHODCALLTYPE selectionAffinity(
- /* [retval][out][retval][out] */ WebSelectionAffinity *affinity);
-
- virtual HRESULT STDMETHODCALLTYPE setEditable(
- /* [in] */ BOOL flag);
-
- virtual HRESULT STDMETHODCALLTYPE isEditable(
- /* [retval][out] */ BOOL *isEditable);
-
- virtual HRESULT STDMETHODCALLTYPE setTypingStyle(
- /* [in] */ IDOMCSSStyleDeclaration *style);
-
- virtual HRESULT STDMETHODCALLTYPE typingStyle(
- /* [retval][out] */ IDOMCSSStyleDeclaration **style);
-
- virtual HRESULT STDMETHODCALLTYPE setSmartInsertDeleteEnabled(
- /* [in] */ BOOL flag);
-
- virtual HRESULT STDMETHODCALLTYPE smartInsertDeleteEnabled(
- /* [in] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setSelectTrailingWhitespaceEnabled(
- /* [in] */ BOOL flag);
-
- virtual HRESULT STDMETHODCALLTYPE isSelectTrailingWhitespaceEnabled(
- /* [in] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setContinuousSpellCheckingEnabled(
- /* [in] */ BOOL flag);
-
- virtual HRESULT STDMETHODCALLTYPE isContinuousSpellCheckingEnabled(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE spellCheckerDocumentTag(
- /* [retval][out] */ int *tag);
-
- virtual HRESULT STDMETHODCALLTYPE undoManager(
- /* [retval][out] */ IWebUndoManager **manager);
-
- virtual HRESULT STDMETHODCALLTYPE setEditingDelegate(
- /* [in] */ IWebEditingDelegate *d);
-
- virtual HRESULT STDMETHODCALLTYPE editingDelegate(
- /* [retval][out] */ IWebEditingDelegate **d);
-
- virtual HRESULT STDMETHODCALLTYPE styleDeclarationWithText(
- /* [in] */ BSTR text,
- /* [retval][out] */ IDOMCSSStyleDeclaration **style);
-
- virtual HRESULT STDMETHODCALLTYPE hasSelectedRange(
- /* [retval][out] */ BOOL *hasSelectedRange);
-
- virtual HRESULT STDMETHODCALLTYPE cutEnabled(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE copyEnabled(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE pasteEnabled(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE deleteEnabled(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE editingEnabled(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE isGrammarCheckingEnabled(
- /* [retval][out] */ BOOL *enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setGrammarCheckingEnabled(
- BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setPageSizeMultiplier(
- /* [in] */ float multiplier);
-
- virtual HRESULT STDMETHODCALLTYPE pageSizeMultiplier(
- /* [retval][out] */ float *multiplier);
-
- virtual HRESULT STDMETHODCALLTYPE canZoomPageIn(
- /* [in] */ IUnknown *sender,
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE zoomPageIn(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE canZoomPageOut(
- /* [in] */ IUnknown *sender,
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE zoomPageOut(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE canResetPageZoom(
- /* [in] */ IUnknown *sender,
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE resetPageZoom(
- /* [in] */ IUnknown *sender);
-
- // IWebViewUndoableEditing
-
- virtual HRESULT STDMETHODCALLTYPE replaceSelectionWithNode(
- /* [in] */ IDOMNode *node);
-
- virtual HRESULT STDMETHODCALLTYPE replaceSelectionWithText(
- /* [in] */ BSTR text);
-
- virtual HRESULT STDMETHODCALLTYPE replaceSelectionWithMarkupString(
- /* [in] */ BSTR markupString);
-
- virtual HRESULT STDMETHODCALLTYPE replaceSelectionWithArchive(
- /* [in] */ IWebArchive *archive);
-
- virtual HRESULT STDMETHODCALLTYPE deleteSelection( void);
-
- virtual HRESULT STDMETHODCALLTYPE clearSelection(void);
-
- virtual HRESULT STDMETHODCALLTYPE applyStyle(
- /* [in] */ IDOMCSSStyleDeclaration *style);
-
- // IWebViewEditingActions
-
- virtual HRESULT STDMETHODCALLTYPE copy(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE cut(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE paste(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE copyURL(
- /* [in] */ BSTR url);
-
- virtual HRESULT STDMETHODCALLTYPE copyFont(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE pasteFont(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE delete_(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE pasteAsPlainText(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE pasteAsRichText(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE changeFont(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE changeAttributes(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE changeDocumentBackgroundColor(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE changeColor(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE alignCenter(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE alignJustified(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE alignLeft(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE alignRight(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE checkSpelling(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE showGuessPanel(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE performFindPanelAction(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE startSpeaking(
- /* [in] */ IUnknown *sender);
-
- virtual HRESULT STDMETHODCALLTYPE stopSpeaking(
- /* [in] */ IUnknown *sender);
-
- // IWebNotificationObserver
-
- virtual HRESULT STDMETHODCALLTYPE onNotify(
- /* [in] */ IWebNotification *notification);
-
- // IWebViewPrivate
-
- virtual HRESULT STDMETHODCALLTYPE MIMETypeForExtension(
- /* [in] */ BSTR extension,
- /* [retval][out] */ BSTR *mimeType);
-
- virtual HRESULT STDMETHODCALLTYPE setCustomDropTarget(
- /* [in] */ IDropTarget* dt);
-
- virtual HRESULT STDMETHODCALLTYPE removeCustomDropTarget();
-
- virtual HRESULT STDMETHODCALLTYPE setInViewSourceMode(
- /* [in] */ BOOL flag);
-
- virtual HRESULT STDMETHODCALLTYPE inViewSourceMode(
- /* [retval][out] */ BOOL* flag);
-
- virtual HRESULT STDMETHODCALLTYPE viewWindow(
- /* [retval][out] */ OLE_HANDLE *window);
-
- virtual HRESULT STDMETHODCALLTYPE setFormDelegate(
- /* [in] */ IWebFormDelegate *formDelegate);
-
- virtual HRESULT STDMETHODCALLTYPE formDelegate(
- /* [retval][out] */ IWebFormDelegate **formDelegate);
-
- virtual HRESULT STDMETHODCALLTYPE setFrameLoadDelegatePrivate(
- /* [in] */ IWebFrameLoadDelegatePrivate *frameLoadDelegatePrivate);
-
- virtual HRESULT STDMETHODCALLTYPE frameLoadDelegatePrivate(
- /* [retval][out] */ IWebFrameLoadDelegatePrivate **frameLoadDelegatePrivate);
-
- virtual HRESULT STDMETHODCALLTYPE scrollOffset(
- /* [retval][out] */ LPPOINT offset);
-
- virtual HRESULT STDMETHODCALLTYPE scrollBy(
- /* [in] */ LPPOINT offset);
-
- virtual HRESULT STDMETHODCALLTYPE visibleContentRect(
- /* [retval][out] */ LPRECT rect);
-
- virtual HRESULT STDMETHODCALLTYPE updateFocusedAndActiveState();
-
- virtual HRESULT STDMETHODCALLTYPE executeCoreCommandByName(BSTR name, BSTR value);
-
- virtual HRESULT STDMETHODCALLTYPE clearMainFrameName();
-
- virtual HRESULT STDMETHODCALLTYPE markAllMatchesForText(
- BSTR search, BOOL caseSensitive, BOOL highlight, UINT limit, UINT* matches);
-
- virtual HRESULT STDMETHODCALLTYPE unmarkAllTextMatches();
-
- virtual HRESULT STDMETHODCALLTYPE rectsForTextMatches(
- IEnumTextMatches** pmatches);
-
- virtual HRESULT STDMETHODCALLTYPE generateSelectionImage(
- BOOL forceWhiteText, OLE_HANDLE* hBitmap);
-
- virtual HRESULT STDMETHODCALLTYPE selectionRect(
- RECT* rc);
-
- virtual HRESULT STDMETHODCALLTYPE DragEnter(
- IDataObject* pDataObject, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect);
-
- virtual HRESULT STDMETHODCALLTYPE DragOver(
- DWORD grfKeyState, POINTL pt, DWORD* pdwEffect);
-
- virtual HRESULT STDMETHODCALLTYPE DragLeave();
-
- virtual HRESULT STDMETHODCALLTYPE Drop(
- IDataObject* pDataObject, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect);
-
- virtual HRESULT STDMETHODCALLTYPE canHandleRequest(
- IWebURLRequest *request,
- BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE standardUserAgentWithApplicationName(
- /* [in] */ BSTR applicationName,
- /* [retval][out] */ BSTR *groupName);
-
- virtual HRESULT STDMETHODCALLTYPE clearFocusNode();
-
- virtual HRESULT STDMETHODCALLTYPE setInitialFocus(
- /* [in] */ BOOL forward);
-
- virtual HRESULT STDMETHODCALLTYPE setTabKeyCyclesThroughElements(
- /* [in] */ BOOL cycles);
-
- virtual HRESULT STDMETHODCALLTYPE tabKeyCyclesThroughElements(
- /* [retval][out] */ BOOL *result);
-
- virtual HRESULT STDMETHODCALLTYPE setAllowSiteSpecificHacks(
- /* [in] */ BOOL allows);
-
- virtual HRESULT STDMETHODCALLTYPE addAdditionalPluginDirectory(
- /* [in] */ BSTR directory);
-
- virtual HRESULT STDMETHODCALLTYPE loadBackForwardListFromOtherView(
- /* [in] */ IWebView *otherView);
-
- virtual HRESULT STDMETHODCALLTYPE inspector(
- /* [retval][out] */ IWebInspector**);
-
- virtual HRESULT STDMETHODCALLTYPE clearUndoRedoOperations( void);
- virtual HRESULT STDMETHODCALLTYPE shouldClose(
- /* [retval][out] */ BOOL* result);
-
- virtual HRESULT STDMETHODCALLTYPE setProhibitsMainFrameScrolling(BOOL);
- virtual HRESULT STDMETHODCALLTYPE setShouldApplyMacFontAscentHack(BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE windowAncestryDidChange();
-
- virtual HRESULT STDMETHODCALLTYPE paintDocumentRectToContext(
- /* [in] */ RECT rect,
- /* [in] */ OLE_HANDLE dc);
-
- virtual HRESULT STDMETHODCALLTYPE paintScrollViewRectToContextAtPoint(
- /* [in] */ RECT rect,
- /* [in] */ POINT pt,
- /* [in] */ OLE_HANDLE dc);
-
- virtual HRESULT STDMETHODCALLTYPE reportException(
- /* [in] */ JSContextRef context,
- /* [in] */ JSValueRef exception);
-
- virtual HRESULT STDMETHODCALLTYPE elementFromJS(
- /* [in] */ JSContextRef context,
- /* [in] */ JSValueRef nodeObject,
- /* [retval][out] */ IDOMElement **element);
-
- virtual HRESULT STDMETHODCALLTYPE setCustomHTMLTokenizerTimeDelay(
- /* [in] */ double timeDelay);
-
- virtual HRESULT STDMETHODCALLTYPE setCustomHTMLTokenizerChunkSize(
- /* [in] */ int chunkSize);
-
- virtual HRESULT STDMETHODCALLTYPE backingStore(
- /* [out, retval] */ OLE_HANDLE* hBitmap);
-
- virtual HRESULT STDMETHODCALLTYPE setTransparent(
- /* [in] */ BOOL transparent);
-
- virtual HRESULT STDMETHODCALLTYPE transparent(
- /* [out, retval] */ BOOL* transparent);
-
- virtual HRESULT STDMETHODCALLTYPE setDefersCallbacks(
- /* [in] */ BOOL defersCallbacks);
-
- virtual HRESULT STDMETHODCALLTYPE defersCallbacks(
- /* [out, retval] */ BOOL* defersCallbacks);
-
- virtual HRESULT STDMETHODCALLTYPE globalHistoryItem(
- /* [out, retval] */ IWebHistoryItem** item);
-
- virtual HRESULT STDMETHODCALLTYPE setAlwaysUsesComplexTextCodePath(
- /* [in] */ BOOL complex);
-
- virtual HRESULT STDMETHODCALLTYPE alwaysUsesComplexTextCodePath(
- /* [out, retval] */ BOOL* complex);
-
- virtual HRESULT STDMETHODCALLTYPE setCookieEnabled(
- /* [in] */ BOOL enable);
-
- virtual HRESULT STDMETHODCALLTYPE cookieEnabled(
- /* [out, retval] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setMediaVolume(
- /* [in] */ float volume);
-
- virtual HRESULT STDMETHODCALLTYPE mediaVolume(
- /* [out, retval] */ float* volume);
-
- virtual HRESULT STDMETHODCALLTYPE registerEmbeddedViewMIMEType(
- /* [in] */ BSTR mimeType);
-
- virtual HRESULT STDMETHODCALLTYPE setMemoryCacheDelegateCallsEnabled(
- /* [in] */ BOOL enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setJavaScriptURLsAreAllowed(
- /* [in] */ BOOL areAllowed);
-
- virtual HRESULT STDMETHODCALLTYPE setCanStartPlugins(
- /* [in] */ BOOL canStartPlugins);
-
- virtual HRESULT STDMETHODCALLTYPE addUserScriptToGroup(BSTR groupName, IWebScriptWorld*, BSTR source, BSTR url,
- unsigned whitelistCount, BSTR* whitelist,
- unsigned blacklistCount, BSTR* blacklist,
- WebUserScriptInjectionTime);
- virtual HRESULT STDMETHODCALLTYPE addUserStyleSheetToGroup(BSTR groupName, IWebScriptWorld*, BSTR source, BSTR url,
- unsigned whitelistCount, BSTR* whitelist,
- unsigned blacklistCount, BSTR* blacklist);
- virtual HRESULT STDMETHODCALLTYPE removeUserScriptFromGroup(BSTR groupName, IWebScriptWorld*, BSTR url);
- virtual HRESULT STDMETHODCALLTYPE removeUserStyleSheetFromGroup(BSTR groupName, IWebScriptWorld*, BSTR url);
- virtual HRESULT STDMETHODCALLTYPE removeUserScriptsFromGroup(BSTR groupName, IWebScriptWorld*);
- virtual HRESULT STDMETHODCALLTYPE removeUserStyleSheetsFromGroup(BSTR groupName, IWebScriptWorld*);
- virtual HRESULT STDMETHODCALLTYPE removeAllUserContentFromGroup(BSTR groupName);
-
- virtual HRESULT STDMETHODCALLTYPE unused1();
- virtual HRESULT STDMETHODCALLTYPE unused2();
-
- virtual HRESULT STDMETHODCALLTYPE invalidateBackingStore(const RECT*);
-
- virtual HRESULT STDMETHODCALLTYPE addOriginAccessWhitelistEntry(BSTR sourceOrigin, BSTR destinationProtocol, BSTR destinationHost, BOOL allowDestinationSubdomains);
- virtual HRESULT STDMETHODCALLTYPE removeOriginAccessWhitelistEntry(BSTR sourceOrigin, BSTR destinationProtocol, BSTR destinationHost, BOOL allowDestinationSubdomains);
- virtual HRESULT STDMETHODCALLTYPE resetOriginAccessWhitelists();
-
- virtual HRESULT STDMETHODCALLTYPE setHistoryDelegate(IWebHistoryDelegate* historyDelegate);
- virtual HRESULT STDMETHODCALLTYPE historyDelegate(IWebHistoryDelegate** historyDelegate);
- virtual HRESULT STDMETHODCALLTYPE addVisitedLinks(BSTR* visitedURLs, unsigned visitedURLCount);
-
- virtual HRESULT STDMETHODCALLTYPE unused3();
- virtual HRESULT STDMETHODCALLTYPE unused4();
- virtual HRESULT STDMETHODCALLTYPE unused5();
-
- virtual HRESULT STDMETHODCALLTYPE setGeolocationProvider(IWebGeolocationProvider* locationProvider);
- virtual HRESULT STDMETHODCALLTYPE geolocationProvider(IWebGeolocationProvider** locationProvider);
- virtual HRESULT STDMETHODCALLTYPE geolocationDidChangePosition(IWebGeolocationPosition* position);
- virtual HRESULT STDMETHODCALLTYPE geolocationDidFailWithError(IWebError* error);
-
- virtual HRESULT STDMETHODCALLTYPE setDomainRelaxationForbiddenForURLScheme(BOOL forbidden, BSTR scheme);
- virtual HRESULT STDMETHODCALLTYPE registerURLSchemeAsSecure(BSTR);
- virtual HRESULT STDMETHODCALLTYPE registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing(BSTR);
- virtual HRESULT STDMETHODCALLTYPE registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing(BSTR);
-
- virtual HRESULT STDMETHODCALLTYPE nextDisplayIsSynchronous();
-
- virtual HRESULT STDMETHODCALLTYPE defaultMinimumTimerInterval(
- /* [retval][out] */ double *interval);
-
- virtual HRESULT STDMETHODCALLTYPE setMinimumTimerInterval(
- /* [in] */ double);
-
- virtual HRESULT STDMETHODCALLTYPE httpPipeliningEnabled(
- /* [out, retval] */ BOOL* enabled);
-
- virtual HRESULT STDMETHODCALLTYPE setHTTPPipeliningEnabled(
- /* [in] */ BOOL);
-
- virtual HRESULT STDMETHODCALLTYPE setUsesLayeredWindow(BOOL);
- virtual HRESULT STDMETHODCALLTYPE usesLayeredWindow(BOOL*);
-
- // WebView
- bool shouldUseEmbeddedView(const WTF::String& mimeType) const;
-
- WebCore::Page* page();
- bool handleMouseEvent(UINT, WPARAM, LPARAM);
- void setMouseActivated(bool flag) { m_mouseActivated = flag; }
- bool handleContextMenuEvent(WPARAM, LPARAM);
- bool onMeasureItem(WPARAM, LPARAM);
- bool onDrawItem(WPARAM, LPARAM);
- bool onInitMenuPopup(WPARAM, LPARAM);
- bool onUninitMenuPopup(WPARAM, LPARAM);
- void performContextMenuAction(WPARAM, LPARAM, bool byPosition);
- bool mouseWheel(WPARAM, LPARAM, bool isMouseHWheel);
- bool verticalScroll(WPARAM, LPARAM);
- bool horizontalScroll(WPARAM, LPARAM);
- bool gesture(WPARAM, LPARAM);
- bool gestureNotify(WPARAM, LPARAM);
- bool execCommand(WPARAM wParam, LPARAM lParam);
- bool keyDown(WPARAM, LPARAM, bool systemKeyDown = false);
- bool keyUp(WPARAM, LPARAM, bool systemKeyDown = false);
- bool keyPress(WPARAM, LPARAM, bool systemKeyDown = false);
- void paint(HDC, LPARAM);
- void paintIntoWindow(HDC bitmapDC, HDC windowDC, const WebCore::IntRect& dirtyRect);
- bool ensureBackingStore();
- void addToDirtyRegion(const WebCore::IntRect&);
- void addToDirtyRegion(HRGN);
- void scrollBackingStore(WebCore::FrameView*, int dx, int dy, const WebCore::IntRect& scrollViewRect, const WebCore::IntRect& clipRect);
- void deleteBackingStore();
- void repaint(const WebCore::IntRect&, bool contentChanged, bool immediate = false, bool repaintContentOnly = false);
- void frameRect(RECT* rect);
- void closeWindow();
- void closeWindowSoon();
- void closeWindowTimerFired();
- bool didClose() const { return m_didClose; }
-
- bool transparent() const { return m_transparent; }
- bool usesLayeredWindow() const { return m_usesLayeredWindow; }
-
- bool onIMEStartComposition();
- bool onIMEComposition(LPARAM);
- bool onIMEEndComposition();
- bool onIMEChar(WPARAM, LPARAM);
- bool onIMENotify(WPARAM, LPARAM, LRESULT*);
- LRESULT onIMERequest(WPARAM, LPARAM);
- bool onIMESelect(WPARAM, LPARAM);
- bool onIMESetContext(WPARAM, LPARAM);
- void selectionChanged();
- void resetIME(WebCore::Frame*);
- void setInputMethodState(bool);
-
- HRESULT registerDragDrop();
- HRESULT revokeDragDrop();
-
- // Convenient to be able to violate the rules of COM here for easy movement to the frame.
- WebFrame* topLevelFrame() const { return m_mainFrame; }
- const WTF::String& userAgentForKURL(const WebCore::KURL& url);
-
- static bool canHandleRequest(const WebCore::ResourceRequest&);
-
- static WTF::String standardUserAgentWithApplicationName(const WTF::String&);
-
- void setIsBeingDestroyed();
- bool isBeingDestroyed() const { return m_isBeingDestroyed; }
-
- const char* interpretKeyEvent(const WebCore::KeyboardEvent*);
- bool handleEditingKeyboardEvent(WebCore::KeyboardEvent*);
-
- bool isPainting() const { return m_paintCount > 0; }
-
- void setToolTip(const WTF::String&);
-
- void registerForIconNotification(bool listen);
- void dispatchDidReceiveIconFromWebFrame(WebFrame*);
-
- HRESULT notifyDidAddIcon(IWebNotification*);
- HRESULT notifyPreferencesChanged(IWebNotification*);
-
- static void setCacheModel(WebCacheModel);
- static WebCacheModel cacheModel();
- static bool didSetCacheModel();
- static WebCacheModel maxCacheModelInAnyInstance();
-
- void updateActiveStateSoon() const;
- void deleteBackingStoreSoon();
- void cancelDeleteBackingStoreSoon();
-
- HWND topLevelParent() const { return m_topLevelParent; }
- HWND viewWindow() const { return m_viewWindow; }
-
- void updateActiveState();
-
- bool onGetObject(WPARAM, LPARAM, LRESULT&) const;
- static STDMETHODIMP AccessibleObjectFromWindow(HWND, DWORD objectID, REFIID, void** ppObject);
-
- void downloadURL(const WebCore::KURL&);
-
-#if USE(ACCELERATED_COMPOSITING)
- void flushPendingGraphicsLayerChangesSoon();
- void setRootChildLayer(WebCore::GraphicsLayer*);
-#endif
-
-#if PLATFORM(WIN) && USE(AVFOUNDATION)
- WebCore::GraphicsDeviceAdapter* graphicsDeviceAdapter() const;
-#endif
-
- void enterFullscreenForNode(WebCore::Node*);
- void exitFullscreen();
-
- void setLastCursor(HCURSOR cursor) { m_lastSetCursor = cursor; }
-
- void setGlobalHistoryItem(WebCore::HistoryItem*);
-
-#if ENABLE(FULLSCREEN_API)
- bool supportsFullScreenForElement(const WebCore::Element*, bool withKeyboard) const;
- bool isFullScreen() const;
- WebCore::FullScreenController* fullScreenController();
- void setFullScreenElement(PassRefPtr<WebCore::Element>);
- WebCore::Element* fullScreenElement() const { return m_fullScreenElement.get(); }
-#endif
-
- // Used by TextInputController in DumpRenderTree
-
- HRESULT STDMETHODCALLTYPE setCompositionForTesting(
- /* [in] */ BSTR composition,
- /* [in] */ UINT from,
- /* [in] */ UINT length);
-
- HRESULT STDMETHODCALLTYPE hasCompositionForTesting(/* [out, retval] */ BOOL* result);
-
- HRESULT STDMETHODCALLTYPE confirmCompositionForTesting(/* [in] */ BSTR composition);
-
- HRESULT STDMETHODCALLTYPE compositionRangeForTesting(/* [out] */ UINT* startPosition, /* [out] */ UINT* length);
-
- HRESULT STDMETHODCALLTYPE firstRectForCharacterRangeForTesting(
- /* [in] */ UINT location,
- /* [in] */ UINT length,
- /* [out, retval] */ RECT* resultRect);
-
- HRESULT STDMETHODCALLTYPE selectedRangeForTesting(/* [out] */ UINT* location, /* [out] */ UINT* length);
-private:
- void setZoomMultiplier(float multiplier, bool isTextOnly);
- float zoomMultiplier(bool isTextOnly);
- bool canZoomIn(bool isTextOnly);
- HRESULT zoomIn(bool isTextOnly);
- bool canZoomOut(bool isTextOnly);
- HRESULT zoomOut(bool isTextOnly);
- bool canResetZoom(bool isTextOnly);
- HRESULT resetZoom(bool isTextOnly);
- bool active();
-
- void sizeChanged(const WebCore::IntSize&);
-
- enum WindowsToPaint { PaintWebViewOnly, PaintWebViewAndChildren };
- void paintIntoBackingStore(WebCore::FrameView*, HDC bitmapDC, const WebCore::IntRect& dirtyRect, WindowsToPaint);
- void updateBackingStore(WebCore::FrameView*, HDC = 0, bool backingStoreCompletelyDirty = false, WindowsToPaint = PaintWebViewOnly);
-
- void performLayeredWindowUpdate();
-
- WebCore::DragOperation keyStateToDragOperation(DWORD grfKeyState) const;
-
- // FIXME: This variable is part of a workaround. The drop effect (pdwEffect) passed to Drop is incorrect.
- // We set this variable in DragEnter and DragOver so that it can be used in Drop to set the correct drop effect.
- // Thus, on return from DoDragDrop we have the correct pdwEffect for the drag-and-drop operation.
- // (see https://bugs.webkit.org/show_bug.cgi?id=29264)
- DWORD m_lastDropEffect;
-
-#if USE(ACCELERATED_COMPOSITING)
- // GraphicsLayerClient
- virtual void notifyAnimationStarted(const WebCore::GraphicsLayer*, double time);
- virtual void notifyFlushRequired(const WebCore::GraphicsLayer*);
- virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect& inClip);
-
- // CACFLayerTreeHostClient
- virtual void flushPendingGraphicsLayerChanges();
-#endif
-
- bool m_shouldInvertColors;
- void setShouldInvertColors(bool);
-
-protected:
- static bool registerWebViewWindowClass();
- static LRESULT CALLBACK WebViewWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
-
- HIMC getIMMContext();
- void releaseIMMContext(HIMC);
- static bool allowSiteSpecificHacks() { return s_allowSiteSpecificHacks; }
- void preflightSpellChecker();
- bool continuousCheckingAllowed();
- void initializeToolTipWindow();
- void prepareCandidateWindow(WebCore::Frame*, HIMC);
- void updateSelectionForIME();
- LRESULT onIMERequestCharPosition(WebCore::Frame*, IMECHARPOSITION*);
- LRESULT onIMERequestReconvertString(WebCore::Frame*, RECONVERTSTRING*);
- bool developerExtrasEnabled() const;
-
- bool shouldInitializeTrackPointHack();
-
- // AllWebViewSet functions
- void addToAllWebViewsSet();
- void removeFromAllWebViewsSet();
-
- virtual void windowReceivedMessage(HWND, UINT message, WPARAM, LPARAM);
-
-#if ENABLE(FULLSCREEN_API)
- virtual HWND fullScreenClientWindow() const;
- virtual HWND fullScreenClientParentWindow() const;
- virtual void fullScreenClientSetParentWindow(HWND);
- virtual void fullScreenClientWillEnterFullScreen();
- virtual void fullScreenClientDidEnterFullScreen();
- virtual void fullScreenClientWillExitFullScreen();
- virtual void fullScreenClientDidExitFullScreen();
- virtual void fullScreenClientForceRepaint();
- virtual void fullScreenClientSaveScrollPosition();
- virtual void fullScreenClientRestoreScrollPosition();
-#endif
-
- ULONG m_refCount;
-#if !ASSERT_DISABLED
- bool m_deletionHasBegun;
-#endif
- HWND m_hostWindow;
- HWND m_viewWindow;
- WebFrame* m_mainFrame;
- WebCore::Page* m_page;
-#if ENABLE(INSPECTOR)
- WebInspectorClient* m_inspectorClient;
-#endif // ENABLE(INSPECTOR)
-
- RefPtr<RefCountedHBITMAP> m_backingStoreBitmap;
- SIZE m_backingStoreSize;
- RefPtr<RefCountedHRGN> m_backingStoreDirtyRegion;
-
- COMPtr<IAccessibilityDelegate> m_accessibilityDelegate;
- COMPtr<IWebEditingDelegate> m_editingDelegate;
- COMPtr<IWebFrameLoadDelegate> m_frameLoadDelegate;
- COMPtr<IWebFrameLoadDelegatePrivate> m_frameLoadDelegatePrivate;
- COMPtr<IWebUIDelegate> m_uiDelegate;
- COMPtr<IWebUIDelegatePrivate> m_uiDelegatePrivate;
- COMPtr<IWebFormDelegate> m_formDelegate;
- COMPtr<IWebPolicyDelegate> m_policyDelegate;
- COMPtr<IWebResourceLoadDelegate> m_resourceLoadDelegate;
- COMPtr<IWebDownloadDelegate> m_downloadDelegate;
- COMPtr<IWebHistoryDelegate> m_historyDelegate;
- COMPtr<WebPreferences> m_preferences;
-#if ENABLE(INSPECTOR)
- COMPtr<WebInspector> m_webInspector;
-#endif // ENABLE(INSPECTOR)
- COMPtr<IWebGeolocationProvider> m_geolocationProvider;
-
- bool m_userAgentOverridden;
- bool m_useBackForwardList;
- WTF::String m_userAgentCustom;
- WTF::String m_userAgentStandard;
- float m_zoomMultiplier;
- bool m_zoomsTextOnly;
- WTF::String m_overrideEncoding;
- WTF::String m_applicationName;
- bool m_mouseActivated;
- // WebCore dragging logic needs to be able to inspect the drag data
- // this is updated in DragEnter/Leave/Drop
- COMPtr<IDataObject> m_dragData;
- COMPtr<IDropTargetHelper> m_dropTargetHelper;
- UChar m_currentCharacterCode;
- bool m_isBeingDestroyed;
- unsigned m_paintCount;
- bool m_hasSpellCheckerDocumentTag;
- bool m_didClose;
- bool m_hasCustomDropTarget;
- unsigned m_inIMEComposition;
- HWND m_toolTipHwnd;
- WTF::String m_toolTip;
- bool m_deleteBackingStoreTimerActive;
-
- bool m_transparent;
-
- static bool s_allowSiteSpecificHacks;
-
- WebCore::SuspendableTimer* m_closeWindowTimer;
- OwnPtr<TRACKMOUSEEVENT> m_mouseOutTracker;
-
- HWND m_topLevelParent;
-
- OwnPtr<HashSet<WTF::String> > m_embeddedViewMIMETypes;
-
- //Variables needed to store gesture information
- RefPtr<WebCore::Node> m_gestureTargetNode;
- long m_lastPanX;
- long m_lastPanY;
- long m_xOverpan;
- long m_yOverpan;
-
-#if ENABLE(VIDEO)
- OwnPtr<FullscreenVideoController> m_fullScreenVideoController;
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
- bool isAcceleratedCompositing() const { return m_isAcceleratedCompositing; }
- void setAcceleratedCompositing(bool);
-
- RefPtr<WebCore::CACFLayerTreeHost> m_layerTreeHost;
- OwnPtr<WebCore::GraphicsLayer> m_backingLayer;
- bool m_isAcceleratedCompositing;
-#endif
-
- bool m_nextDisplayIsSynchronous;
- bool m_usesLayeredWindow;
-
- HCURSOR m_lastSetCursor;
-
- RefPtr<WebCore::HistoryItem> m_globalHistoryItem;
-
-#if ENABLE(FULLSCREEN_API)
- RefPtr<WebCore::Element> m_fullScreenElement;
- OwnPtr<WebCore::FullScreenController> m_fullscreenController;
- WebCore::IntPoint m_scrollPosition;
-#endif
-};
-
-#endif
diff --git a/Source/WebKit/win/WebWorkersPrivate.cpp b/Source/WebKit/win/WebWorkersPrivate.cpp
deleted file mode 100644
index f55c27c03..000000000
--- a/Source/WebKit/win/WebWorkersPrivate.cpp
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (C) 2009 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 "WebKitDLL.h"
-#include "WebWorkersPrivate.h"
-
-#include <WebCore/WorkerThread.h>
-
-// IUnknown -------------------------------------------------------------------
-
-HRESULT STDMETHODCALLTYPE WebWorkersPrivate::QueryInterface(REFIID riid, void** ppvObject)
-{
- *ppvObject = 0;
- if (IsEqualGUID(riid, __uuidof(IWebWorkersPrivate)))
- *ppvObject = this;
- else if (IsEqualGUID(riid, IID_IUnknown))
- *ppvObject = static_cast<IWebWorkersPrivate*>(this);
- else if (IsEqualGUID(riid, IID_IWebWorkersPrivate))
- *ppvObject = static_cast<IWebWorkersPrivate*>(this);
- else
- return E_NOINTERFACE;
-
- AddRef();
- return S_OK;
-}
-
-ULONG STDMETHODCALLTYPE WebWorkersPrivate::AddRef(void)
-{
- return ++m_refCount;
-}
-
-ULONG STDMETHODCALLTYPE WebWorkersPrivate::Release(void)
-{
- ULONG newRef = --m_refCount;
- if (!newRef)
- delete(this);
-
- return newRef;
-}
-
-// IWebWorkersPrivate ---------------------------------------------------------
-
-HRESULT WebWorkersPrivate::workerThreadCount(UINT* number)
-{
- if (!number)
- return E_POINTER;
-
-#if ENABLE(WORKERS)
- *number = WebCore::WorkerThread::workerThreadCount();
-#else
- *number = 0;
-#endif
- return S_OK;
-}
-
-// WebWorkersPrivate ----------------------------------------------------------
-
-WebWorkersPrivate* WebWorkersPrivate::createInstance()
-{
- WebWorkersPrivate* instance = new WebWorkersPrivate();
- instance->AddRef();
- return instance;
-}
-
-WebWorkersPrivate::WebWorkersPrivate()
- : m_refCount(0)
-{
- gClassCount++;
- gClassNameCount.add("WebWorkersPrivate");
-}
-
-WebWorkersPrivate::~WebWorkersPrivate()
-{
- gClassCount--;
- gClassNameCount.remove("WebWorkersPrivate");
-}
diff --git a/Source/WebKit/win/WebWorkersPrivate.h b/Source/WebKit/win/WebWorkersPrivate.h
deleted file mode 100644
index 231c11c26..000000000
--- a/Source/WebKit/win/WebWorkersPrivate.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2009 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.
- */
-
-#ifndef WebWorkersPrivate_h
-#define WebWorkersPrivate_h
-
-#include "WebKit.h"
-
-class WebWorkersPrivate : public IWebWorkersPrivate {
-public:
- static WebWorkersPrivate* createInstance();
-private:
- WebWorkersPrivate();
- ~WebWorkersPrivate();
-
-public:
- // IUnknown
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject);
- virtual ULONG STDMETHODCALLTYPE AddRef(void);
- virtual ULONG STDMETHODCALLTYPE Release(void);
-
- // IWebWorkersPrivate
- virtual HRESULT STDMETHODCALLTYPE workerThreadCount(UINT*);
-
-private:
- ULONG m_refCount;
-};
-
-#endif // WebWorkersPrivate_h
diff --git a/Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp b/Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp
deleted file mode 100644
index 47b2ae08e..000000000
--- a/Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
- * 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 "ChromeClientWinCE.h"
-
-#include "FileChooser.h"
-#include "FileIconLoader.h"
-#include "Icon.h"
-#include "NotImplemented.h"
-#include "NavigationAction.h"
-#include "PopupMenuWin.h"
-#include "SearchPopupMenuWin.h"
-#include "WebView.h"
-#include <wtf/text/CString.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-ChromeClientWinCE::ChromeClientWinCE(WebView* webView)
- : m_webView(webView)
-{
- ASSERT(m_webView);
-}
-
-void ChromeClientWinCE::chromeDestroyed()
-{
- delete this;
-}
-
-FloatRect ChromeClientWinCE::windowRect()
-{
- if (!m_webView)
- return FloatRect();
-
- RECT rect;
- m_webView->frameRect(&rect);
- return rect;
-}
-
-void ChromeClientWinCE::setWindowRect(const FloatRect&)
-{
- notImplemented();
-}
-
-FloatRect ChromeClientWinCE::pageRect()
-{
- return windowRect();
-}
-
-void ChromeClientWinCE::focus()
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::unfocus()
-{
- notImplemented();
-}
-
-Page* ChromeClientWinCE::createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&, const NavigationAction&)
-{
- notImplemented();
- return 0;
-}
-
-void ChromeClientWinCE::show()
-{
- notImplemented();
-}
-
-bool ChromeClientWinCE::canRunModal()
-{
- notImplemented();
- return false;
-}
-
-void ChromeClientWinCE::runModal()
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::setToolbarsVisible(bool)
-{
- notImplemented();
-}
-
-bool ChromeClientWinCE::toolbarsVisible()
-{
- return false;
-}
-
-void ChromeClientWinCE::setStatusbarVisible(bool)
-{
- notImplemented();
-}
-
-bool ChromeClientWinCE::statusbarVisible()
-{
- notImplemented();
- return false;
-}
-
-void ChromeClientWinCE::setScrollbarsVisible(bool)
-{
- notImplemented();
-}
-
-bool ChromeClientWinCE::scrollbarsVisible()
-{
- notImplemented();
- return false;
-}
-
-void ChromeClientWinCE::setMenubarVisible(bool)
-{
- notImplemented();
-}
-
-bool ChromeClientWinCE::menubarVisible()
-{
- notImplemented();
- return false;
-}
-
-void ChromeClientWinCE::setResizable(bool)
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::closeWindowSoon()
-{
- PostMessageW(m_webView->windowHandle(), WM_CLOSE, 0, 0);
-}
-
-bool ChromeClientWinCE::canTakeFocus(FocusDirection)
-{
- return true;
-}
-
-void ChromeClientWinCE::takeFocus(FocusDirection)
-{
- unfocus();
-}
-
-void ChromeClientWinCE::focusedNodeChanged(Node*)
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::focusedFrameChanged(Frame*)
-{
-}
-
-bool ChromeClientWinCE::canRunBeforeUnloadConfirmPanel()
-{
- return true;
-}
-
-bool ChromeClientWinCE::runBeforeUnloadConfirmPanel(const String& message, Frame* frame)
-{
- return runJavaScriptConfirm(frame, message);
-}
-
-void ChromeClientWinCE::addMessageToConsole(MessageSource, MessageLevel, const String&, unsigned, unsigned, const String&)
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::runJavaScriptAlert(Frame*, const String& message)
-{
- m_webView->runJavaScriptAlert(message);
-}
-
-bool ChromeClientWinCE::runJavaScriptConfirm(Frame*, const String& message)
-{
- return m_webView->runJavaScriptConfirm(message);
-}
-
-bool ChromeClientWinCE::runJavaScriptPrompt(Frame*, const String& message, const String& defaultValue, String& result)
-{
- return m_webView->runJavaScriptPrompt(message, defaultValue, result);
-}
-
-void ChromeClientWinCE::setStatusbarText(const String&)
-{
- notImplemented();
-}
-
-bool ChromeClientWinCE::shouldInterruptJavaScript()
-{
- notImplemented();
- return false;
-}
-
-KeyboardUIMode ChromeClientWinCE::keyboardUIMode()
-{
- return KeyboardAccessTabsToLinks;
-}
-
-IntRect ChromeClientWinCE::windowResizerRect() const
-{
- notImplemented();
- return IntRect();
-}
-
-void ChromeClientWinCE::invalidateRootView(const IntRect&, bool)
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::invalidateContentsAndRootView(const IntRect& updateRect, bool immediate)
-{
- RECT rect = updateRect;
- InvalidateRect(m_webView->windowHandle(), &rect, FALSE);
-
- if (immediate)
- UpdateWindow(m_webView->windowHandle());
-}
-
-void ChromeClientWinCE::invalidateContentsForSlowScroll(const IntRect& updateRect, bool immediate)
-{
- invalidateContentsAndRootView(updateRect, immediate);
-}
-
-void ChromeClientWinCE::scroll(const IntSize&, const IntRect& rectToScroll, const IntRect&)
-{
- invalidateContentsAndRootView(rectToScroll, false);
-}
-
-IntRect ChromeClientWinCE::rootViewToScreen(const IntRect& rect) const
-{
- notImplemented();
- return rect;
-}
-
-IntPoint ChromeClientWinCE::screenToRootView(const IntPoint& point) const
-{
- notImplemented();
- return point;
-}
-
-PlatformPageClient ChromeClientWinCE::platformPageClient() const
-{
- notImplemented();
- return 0;
-}
-
-void ChromeClientWinCE::contentsSizeChanged(Frame*, const IntSize&) const
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::scrollRectIntoView(const IntRect&) const
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::scrollbarsModeDidChange() const
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::mouseDidMoveOverElement(const HitTestResult&, unsigned)
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::setToolTip(const String&, TextDirection)
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::print(Frame*)
-{
- notImplemented();
-}
-
-#if ENABLE(SQL_DATABASE)
-void ChromeClientWinCE::exceededDatabaseQuota(Frame*, const String&, DatabaseDetails)
-{
- notImplemented();
-}
-#endif
-
-void ChromeClientWinCE::reachedMaxAppCacheSize(int64_t)
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::reachedApplicationCacheOriginQuota(SecurityOrigin*, int64_t)
-{
- notImplemented();
-}
-
-#if ENABLE(TOUCH_EVENTS)
-void ChromeClientWinCE::needTouchEvents(bool)
-{
- notImplemented();
-}
-#endif
-
-#if USE(ACCELERATED_COMPOSITING)
-void ChromeClientWinCE::attachRootGraphicsLayer(Frame*, GraphicsLayer*)
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::setNeedsOneShotDrawingSynchronization()
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::scheduleCompositingLayerFlush()
-{
- notImplemented();
-}
-#endif
-
-void ChromeClientWinCE::runOpenPanel(Frame*, PassRefPtr<FileChooser> prpFileChooser)
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::loadIconForFiles(const Vector<String>& filenames, FileIconLoader* loader)
-{
- loader->notifyFinished(Icon::createIconForFiles(filenames));
-}
-
-void ChromeClientWinCE::setCursor(const Cursor&)
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::setCursorHiddenUntilMouseMoves(bool)
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::setLastSetCursorToCurrentCursor()
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::AXStartFrameLoad()
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::AXFinishFrameLoad()
-{
- notImplemented();
-}
-
-void ChromeClientWinCE::formStateDidChange(const Node*)
-{
- notImplemented();
-}
-
-bool ChromeClientWinCE::selectItemWritingDirectionIsNatural()
-{
- return false;
-}
-
-bool ChromeClientWinCE::selectItemAlignmentFollowsMenuWritingDirection()
-{
- return false;
-}
-
-bool ChromeClientWinCE::hasOpenedPopup() const
-{
- notImplemented();
- return false;
-}
-
-PassRefPtr<PopupMenu> ChromeClientWinCE::createPopupMenu(PopupMenuClient* client) const
-{
- return adoptRef(new PopupMenuWin(client));
-}
-
-PassRefPtr<SearchPopupMenu> ChromeClientWinCE::createSearchPopupMenu(PopupMenuClient* client) const
-{
- return adoptRef(new SearchPopupMenuWin(client));
-}
-
-} // namespace WebKit
diff --git a/Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h b/Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h
deleted file mode 100644
index 01fd59846..000000000
--- a/Source/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * 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 ChromeClientWinCE_h
-#define ChromeClientWinCE_h
-
-#include "ChromeClient.h"
-
-class WebView;
-
-namespace WebKit {
-
-class ChromeClientWinCE : public WebCore::ChromeClient {
-public:
- ChromeClientWinCE(WebView* webView);
-
- virtual void chromeDestroyed();
-
- virtual void setWindowRect(const WebCore::FloatRect&);
- virtual WebCore::FloatRect windowRect();
-
- virtual WebCore::FloatRect pageRect();
-
- virtual void focus();
- virtual void unfocus();
-
- virtual bool canTakeFocus(WebCore::FocusDirection);
- virtual void takeFocus(WebCore::FocusDirection);
-
- virtual void focusedNodeChanged(WebCore::Node*);
- virtual void focusedFrameChanged(WebCore::Frame*);
-
- // The Frame pointer provides the ChromeClient with context about which
- // Frame wants to create the new Page. Also, the newly created window
- // should not be shown to the user until the ChromeClient of the newly
- // created Page has its show method called.
- virtual WebCore::Page* createWindow(WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&, const WebCore::NavigationAction&);
- virtual void show();
-
- virtual bool canRunModal();
- virtual void runModal();
-
- virtual void setToolbarsVisible(bool);
- virtual bool toolbarsVisible();
-
- virtual void setStatusbarVisible(bool);
- virtual bool statusbarVisible();
-
- virtual void setScrollbarsVisible(bool);
- virtual bool scrollbarsVisible();
-
- virtual void setMenubarVisible(bool);
- virtual bool menubarVisible();
-
- virtual void setResizable(bool);
-
- virtual void addMessageToConsole(WebCore::MessageSource, WebCore::MessageLevel, const WTF::String& message, unsigned lineNumber, unsigned columnNumber, const WTF::String& sourceID);
-
- virtual bool canRunBeforeUnloadConfirmPanel();
- virtual bool runBeforeUnloadConfirmPanel(const WTF::String& message, WebCore::Frame* frame);
-
- virtual void closeWindowSoon();
-
- virtual void runJavaScriptAlert(WebCore::Frame*, const WTF::String&);
- virtual bool runJavaScriptConfirm(WebCore::Frame*, const WTF::String&);
- virtual bool runJavaScriptPrompt(WebCore::Frame*, const WTF::String& message, const WTF::String& defaultValue, WTF::String& result);
- virtual void setStatusbarText(const WTF::String&);
- virtual bool shouldInterruptJavaScript();
- virtual WebCore::KeyboardUIMode keyboardUIMode();
-
- virtual WebCore::IntRect windowResizerRect() const;
-
- // Methods used by HostWindow.
- virtual void invalidateRootView(const WebCore::IntRect&, bool);
- virtual void invalidateContentsAndRootView(const WebCore::IntRect&, bool);
- virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool);
- virtual void scroll(const WebCore::IntSize&, const WebCore::IntRect&, const WebCore::IntRect&);
- virtual WebCore::IntPoint screenToRootView(const WebCore::IntPoint&) const;
- virtual WebCore::IntRect rootViewToScreen(const WebCore::IntRect&) const;
- virtual PlatformPageClient platformPageClient() const;
- virtual void contentsSizeChanged(WebCore::Frame*, const WebCore::IntSize&) const;
- virtual void scrollRectIntoView(const WebCore::IntRect&) const; // Currently only Mac has a non empty implementation.
- virtual void scrollbarsModeDidChange() const;
- virtual void setCursor(const WebCore::Cursor&);
- virtual void setCursorHiddenUntilMouseMoves(bool);
- // End methods used by HostWindow.
-
- virtual void mouseDidMoveOverElement(const WebCore::HitTestResult&, unsigned modifierFlags);
-
- virtual void setToolTip(const WTF::String&, WebCore::TextDirection);
-
- virtual void print(WebCore::Frame*);
-
-#if ENABLE(SQL_DATABASE)
- virtual void exceededDatabaseQuota(WebCore::Frame*, const WTF::String& databaseName, WebCore::DatabaseDetails);
-#endif
-
- // Callback invoked when the application cache fails to save a cache object
- // because storing it would grow the database file past its defined maximum
- // size or past the amount of free space on the device.
- // The chrome client would need to take some action such as evicting some
- // old caches.
- virtual void reachedMaxAppCacheSize(int64_t spaceNeeded);
-
- // Callback invoked when the application cache origin quota is reached. This
- // means that the resources attempting to be cached via the manifest are
- // more than allowed on this origin. This callback allows the chrome client
- // to take action, such as prompting the user to ask to increase the quota
- // for this origin.
- virtual void reachedApplicationCacheOriginQuota(WebCore::SecurityOrigin*, int64_t totalSpaceNeeded);
-
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- virtual WebCore::NotificationClient* notificationPresenter() const;
-#endif
-
- virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>);
- // Asynchronous request to load an icon for specified filenames.
- virtual void loadIconForFiles(const Vector<WTF::String>&, WebCore::FileIconLoader*);
-
- // Notification that the given form element has changed. This function
- // will be called frequently, so handling should be very fast.
- virtual void formStateDidChange(const WebCore::Node*);
-
-#if USE(ACCELERATED_COMPOSITING)
- // Pass 0 as the GraphicsLayer to detatch the root layer.
- virtual void attachRootGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*);
- // Sets a flag to specify that the next time content is drawn to the window,
- // the changes appear on the screen in synchrony with updates to GraphicsLayers.
- virtual void setNeedsOneShotDrawingSynchronization();
- // Sets a flag to specify that the view needs to be updated, so we need
- // to do an eager layout before the drawing.
- virtual void scheduleCompositingLayerFlush();
-#endif
-
- virtual void setLastSetCursorToCurrentCursor();
- virtual void AXStartFrameLoad();
- virtual void AXFinishFrameLoad();
-
-#if ENABLE(TOUCH_EVENTS)
- virtual void needTouchEvents(bool);
-#endif
-
- virtual bool selectItemWritingDirectionIsNatural();
- virtual bool selectItemAlignmentFollowsMenuWritingDirection();
- virtual bool hasOpenedPopup() const;
- virtual PassRefPtr<WebCore::PopupMenu> createPopupMenu(WebCore::PopupMenuClient*) const;
- virtual PassRefPtr<WebCore::SearchPopupMenu> createSearchPopupMenu(WebCore::PopupMenuClient*) const;
-
- virtual bool shouldRubberBandInDirection(WebCore::ScrollDirection) const { return true; }
- virtual void numWheelEventHandlersChanged(unsigned) { }
-
-private:
- WebView* m_webView;
-};
-
-} // namespace WebKit
-
-#endif // ChromeClientWinCE_h
diff --git a/Source/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp b/Source/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp
deleted file mode 100644
index dda4d27a9..000000000
--- a/Source/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * 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 "ContextMenuClientWinCE.h"
-
-#include "ContextMenu.h"
-#include "NotImplemented.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-ContextMenuClientWinCE::ContextMenuClientWinCE(WebView *webView)
- : m_webView(webView)
-{
-}
-
-void ContextMenuClientWinCE::contextMenuDestroyed()
-{
- delete this;
-}
-
-PassOwnPtr<ContextMenu> ContextMenuClientWinCE::customizeMenu(PassOwnPtr<ContextMenu> menu)
-{
- return menu;
-}
-
-void ContextMenuClientWinCE::contextMenuItemSelected(ContextMenuItem*, const ContextMenu*)
-{
- notImplemented();
-}
-
-void ContextMenuClientWinCE::downloadURL(const KURL& url)
-{
- notImplemented();
-}
-
-void ContextMenuClientWinCE::copyImageToClipboard(const HitTestResult&)
-{
- notImplemented();
-}
-
-void ContextMenuClientWinCE::searchWithGoogle(const Frame*)
-{
- notImplemented();
-}
-
-void ContextMenuClientWinCE::lookUpInDictionary(Frame*)
-{
- notImplemented();
-}
-
-void ContextMenuClientWinCE::speak(const String&)
-{
- notImplemented();
-}
-
-void ContextMenuClientWinCE::stopSpeaking()
-{
- notImplemented();
-}
-
-bool ContextMenuClientWinCE::isSpeaking()
-{
- notImplemented();
- return false;
-}
-
-} // namespace WebKit
diff --git a/Source/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h b/Source/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h
deleted file mode 100644
index 8cd195139..000000000
--- a/Source/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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 ContextMenuClientWinCE_h
-#define ContextMenuClientWinCE_h
-
-#include "ContextMenuClient.h"
-
-class WebView;
-
-namespace WebKit {
-
-class ContextMenuClientWinCE : public WebCore::ContextMenuClient {
-public:
- ContextMenuClientWinCE(WebView*);
-
- virtual void contextMenuDestroyed();
-
- virtual PassOwnPtr<WebCore::ContextMenu> customizeMenu(PassOwnPtr<WebCore::ContextMenu>);
- virtual void contextMenuItemSelected(WebCore::ContextMenuItem*, const WebCore::ContextMenu*);
-
- virtual void downloadURL(const WebCore::KURL&);
- virtual void copyImageToClipboard(const WebCore::HitTestResult&);
- virtual void searchWithGoogle(const WebCore::Frame*);
- virtual void lookUpInDictionary(WebCore::Frame*);
- virtual void speak(const WTF::String&);
- virtual void stopSpeaking();
- virtual bool isSpeaking();
-
-private:
- WebView* m_webView;
-};
-
-} // namespace WebKit
-
-#endif // ContextMenuClientWinCE_h
diff --git a/Source/WebKit/wince/WebCoreSupport/DragClientWinCE.cpp b/Source/WebKit/wince/WebCoreSupport/DragClientWinCE.cpp
deleted file mode 100644
index 904c61ae8..000000000
--- a/Source/WebKit/wince/WebCoreSupport/DragClientWinCE.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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 "DragClientWinCE.h"
-
-#include "NotImplemented.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-void DragClientWinCE::willPerformDragDestinationAction(DragDestinationAction, DragData*)
-{
- notImplemented();
-}
-
-void DragClientWinCE::willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*)
-{
- notImplemented();
-}
-
-DragDestinationAction DragClientWinCE::actionMaskForDrag(DragData*)
-{
- notImplemented();
- return DragDestinationActionAny;
-}
-
-DragSourceAction DragClientWinCE::dragSourceActionMaskForPoint(const IntPoint&)
-{
- notImplemented();
- return DragSourceActionAny;
-}
-
-void DragClientWinCE::startDrag(DragImageRef, const IntPoint&, const IntPoint&, Clipboard*, Frame*, bool)
-{
- notImplemented();
-}
-
-void DragClientWinCE::dragControllerDestroyed()
-{
- delete this;
-}
-
-} // namespace WebKit
diff --git a/Source/WebKit/wince/WebCoreSupport/DragClientWinCE.h b/Source/WebKit/wince/WebCoreSupport/DragClientWinCE.h
deleted file mode 100644
index ec81f305b..000000000
--- a/Source/WebKit/wince/WebCoreSupport/DragClientWinCE.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * 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 DragClientWinCE_h
-#define DragClientWinCE_h
-
-#include "DragClient.h"
-
-namespace WebKit {
-
-class DragClientWinCE : public WebCore::DragClient {
-public:
- virtual void willPerformDragDestinationAction(WebCore::DragDestinationAction, WebCore::DragData*);
- virtual void willPerformDragSourceAction(WebCore::DragSourceAction, const WebCore::IntPoint&, WebCore::Clipboard*);
- virtual WebCore::DragDestinationAction actionMaskForDrag(WebCore::DragData*);
-
- virtual WebCore::DragSourceAction dragSourceActionMaskForPoint(const WebCore::IntPoint&);
-
- virtual void startDrag(WebCore::DragImageRef, const WebCore::IntPoint&, const WebCore::IntPoint&, WebCore::Clipboard*, WebCore::Frame*, bool = false);
-
- virtual void dragControllerDestroyed();
-};
-
-} // namespace WebKit
-
-#endif // DragClientWinCE_h
diff --git a/Source/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp b/Source/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp
deleted file mode 100644
index 6458df6f8..000000000
--- a/Source/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp
+++ /dev/null
@@ -1,522 +0,0 @@
-/*
- * Copyright (C) 2007 Alp Toker <alp@atoker.com>
- * Copyright (C) 2008 Nuanti Ltd.
- * Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
- * Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2009-2010 Samsung Electronics
- * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com>
- *
- * 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 "EditorClientWinCE.h"
-
-#include "Document.h"
-#include "Editor.h"
-#include "Frame.h"
-#include "KeyboardEvent.h"
-#include "NotImplemented.h"
-#include "Page.h"
-#include "PlatformKeyboardEvent.h"
-#include "Settings.h"
-#include "UndoStep.h"
-#include "WebView.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-EditorClientWinCE::EditorClientWinCE(WebView* webView)
- : m_webView(webView)
-{
-}
-
-EditorClientWinCE::~EditorClientWinCE()
-{
-}
-
-void EditorClientWinCE::setInputMethodState(bool active)
-{
- notImplemented();
-}
-
-bool EditorClientWinCE::shouldDeleteRange(Range*)
-{
- notImplemented();
- return true;
-}
-
-bool EditorClientWinCE::isContinuousSpellCheckingEnabled()
-{
- notImplemented();
- return false;
-}
-
-bool EditorClientWinCE::isGrammarCheckingEnabled()
-{
- notImplemented();
- return false;
-}
-
-int EditorClientWinCE::spellCheckerDocumentTag()
-{
- notImplemented();
- return 0;
-}
-
-bool EditorClientWinCE::shouldBeginEditing(WebCore::Range*)
-{
- notImplemented();
- return true;
-}
-
-bool EditorClientWinCE::shouldEndEditing(WebCore::Range*)
-{
- notImplemented();
- return true;
-}
-
-bool EditorClientWinCE::shouldInsertText(const String&, Range*, EditorInsertAction)
-{
- notImplemented();
- return true;
-}
-
-bool EditorClientWinCE::shouldChangeSelectedRange(Range*, Range*, EAffinity, bool)
-{
- notImplemented();
- return true;
-}
-
-bool EditorClientWinCE::shouldApplyStyle(WebCore::StylePropertySet*, WebCore::Range*)
-{
- notImplemented();
- return true;
-}
-
-bool EditorClientWinCE::shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range*)
-{
- notImplemented();
- return true;
-}
-
-void EditorClientWinCE::didBeginEditing()
-{
- notImplemented();
-}
-
-void EditorClientWinCE::respondToChangedContents()
-{
- notImplemented();
-}
-
-void EditorClientWinCE::respondToChangedSelection(WebCore::Frame*)
-{
- notImplemented();
-}
-
-void EditorClientWinCE::didEndEditing()
-{
- notImplemented();
-}
-
-void EditorClientWinCE::didWriteSelectionToPasteboard()
-{
- notImplemented();
-}
-
-void EditorClientWinCE::willWriteSelectionToPasteboard(WebCore::Range*)
-{
- notImplemented();
-}
-
-void EditorClientWinCE::getClientPasteboardDataForRange(WebCore::Range*, Vector<String>&, Vector<RefPtr<WebCore::SharedBuffer> >&)
-{
- notImplemented();
-}
-
-void EditorClientWinCE::didSetSelectionTypesForPasteboard()
-{
- notImplemented();
-}
-
-void EditorClientWinCE::registerUndoStep(WTF::PassRefPtr<WebCore::UndoStep>)
-{
- notImplemented();
-}
-
-void EditorClientWinCE::registerRedoStep(WTF::PassRefPtr<WebCore::UndoStep>)
-{
- notImplemented();
-}
-
-void EditorClientWinCE::clearUndoRedoOperations()
-{
- notImplemented();
-}
-
-bool EditorClientWinCE::canCopyCut(WebCore::Frame*, bool defaultValue) const
-{
- return defaultValue;
-}
-
-bool EditorClientWinCE::canPaste(WebCore::Frame*, bool defaultValue) const
-{
- return defaultValue;
-}
-
-bool EditorClientWinCE::canUndo() const
-{
- notImplemented();
- return false;
-}
-
-bool EditorClientWinCE::canRedo() const
-{
- notImplemented();
- return false;
-}
-
-void EditorClientWinCE::undo()
-{
- notImplemented();
-}
-
-void EditorClientWinCE::redo()
-{
- notImplemented();
-}
-
-bool EditorClientWinCE::shouldInsertNode(Node*, Range*, EditorInsertAction)
-{
- notImplemented();
- return true;
-}
-
-void EditorClientWinCE::pageDestroyed()
-{
- delete this;
-}
-
-bool EditorClientWinCE::smartInsertDeleteEnabled()
-{
- Page* page = m_webView->page();
- if (!page)
- return false;
- return page->settings()->smartInsertDeleteEnabled();
-}
-
-bool EditorClientWinCE::isSelectTrailingWhitespaceEnabled()
-{
- Page* page = m_webView->page();
- if (!page)
- return false;
- return page->settings()->selectTrailingWhitespaceEnabled();
-}
-
-void EditorClientWinCE::toggleContinuousSpellChecking()
-{
- notImplemented();
-}
-
-void EditorClientWinCE::toggleGrammarChecking()
-{
- notImplemented();
-}
-
-static const unsigned CtrlKey = 1 << 0;
-static const unsigned AltKey = 1 << 1;
-static const unsigned ShiftKey = 1 << 2;
-
-struct KeyDownEntry {
- unsigned virtualKey;
- unsigned modifiers;
- const char* name;
-};
-
-struct KeyPressEntry {
- unsigned charCode;
- unsigned modifiers;
- const char* name;
-};
-
-static const KeyDownEntry keyDownEntries[] = {
- { VK_LEFT, 0, "MoveLeft" },
- { VK_LEFT, ShiftKey, "MoveLeftAndModifySelection" },
- { VK_LEFT, CtrlKey, "MoveWordLeft" },
- { VK_LEFT, CtrlKey | ShiftKey, "MoveWordLeftAndModifySelection" },
- { VK_RIGHT, 0, "MoveRight" },
- { VK_RIGHT, ShiftKey, "MoveRightAndModifySelection" },
- { VK_RIGHT, CtrlKey, "MoveWordRight" },
- { VK_RIGHT, CtrlKey | ShiftKey, "MoveWordRightAndModifySelection" },
- { VK_UP, 0, "MoveUp" },
- { VK_UP, ShiftKey, "MoveUpAndModifySelection" },
- { VK_PRIOR, ShiftKey, "MovePageUpAndModifySelection" },
- { VK_DOWN, 0, "MoveDown" },
- { VK_DOWN, ShiftKey, "MoveDownAndModifySelection" },
- { VK_NEXT, ShiftKey, "MovePageDownAndModifySelection" },
- { VK_PRIOR, 0, "MovePageUp" },
- { VK_NEXT, 0, "MovePageDown" },
- { VK_HOME, 0, "MoveToBeginningOfLine" },
- { VK_HOME, ShiftKey, "MoveToBeginningOfLineAndModifySelection" },
- { VK_HOME, CtrlKey, "MoveToBeginningOfDocument" },
- { VK_HOME, CtrlKey | ShiftKey, "MoveToBeginningOfDocumentAndModifySelection" },
-
- { VK_END, 0, "MoveToEndOfLine" },
- { VK_END, ShiftKey, "MoveToEndOfLineAndModifySelection" },
- { VK_END, CtrlKey, "MoveToEndOfDocument" },
- { VK_END, CtrlKey | ShiftKey, "MoveToEndOfDocumentAndModifySelection" },
-
- { VK_BACK, 0, "DeleteBackward" },
- { VK_BACK, ShiftKey, "DeleteBackward" },
- { VK_DELETE, 0, "DeleteForward" },
- { VK_BACK, CtrlKey, "DeleteWordBackward" },
- { VK_DELETE, CtrlKey, "DeleteWordForward" },
-
- { 'B', CtrlKey, "ToggleBold" },
- { 'I', CtrlKey, "ToggleItalic" },
-
- { VK_ESCAPE, 0, "Cancel" },
- { VK_TAB, 0, "InsertTab" },
- { VK_TAB, ShiftKey, "InsertBacktab" },
- { VK_RETURN, 0, "InsertNewline" },
- { VK_RETURN, CtrlKey, "InsertNewline" },
- { VK_RETURN, AltKey, "InsertNewline" },
- { VK_RETURN, AltKey | ShiftKey, "InsertNewline" },
-
- // It's not quite clear whether clipboard shortcuts and Undo/Redo should be handled
- // in the application or in WebKit. We chose WebKit for now.
- { 'C', CtrlKey, "Copy" },
- { 'V', CtrlKey, "Paste" },
- { 'X', CtrlKey, "Cut" },
- { 'A', CtrlKey, "SelectAll" },
- { VK_INSERT, CtrlKey, "Copy" },
- { VK_DELETE, ShiftKey, "Cut" },
- { VK_INSERT, ShiftKey, "Paste" },
- { 'Z', CtrlKey, "Undo" },
- { 'Z', CtrlKey | ShiftKey, "Redo" }
-};
-
-static const KeyPressEntry keyPressEntries[] = {
- { '\t', 0, "InsertTab" },
- { '\t', ShiftKey, "InsertBacktab" },
- { '\r', 0, "InsertNewline" },
- { '\r', CtrlKey, "InsertNewline" },
- { '\r', AltKey, "InsertNewline" },
- { '\r', AltKey | ShiftKey, "InsertNewline" }
-};
-
-const char* EditorClientWinCE::interpretKeyEvent(const KeyboardEvent* event)
-{
- ASSERT(event->type() == eventNames().keydownEvent || event->type() == eventNames().keypressEvent);
-
- static HashMap<int, const char*>* keyDownCommandsMap = 0;
- static HashMap<int, const char*>* keyPressCommandsMap = 0;
-
- if (!keyDownCommandsMap) {
- keyDownCommandsMap = new HashMap<int, const char*>;
- keyPressCommandsMap = new HashMap<int, const char*>;
-
- for (size_t i = 0; i < WTF_ARRAY_LENGTH(keyDownEntries); ++i)
- keyDownCommandsMap->set(keyDownEntries[i].modifiers << 16 | keyDownEntries[i].virtualKey, keyDownEntries[i].name);
-
- for (size_t i = 0; i < WTF_ARRAY_LENGTH(keyPressEntries); ++i)
- keyPressCommandsMap->set(keyPressEntries[i].modifiers << 16 | keyPressEntries[i].charCode, keyPressEntries[i].name);
- }
-
- unsigned modifiers = 0;
- if (event->shiftKey())
- modifiers |= ShiftKey;
- if (event->altKey())
- modifiers |= AltKey;
- if (event->ctrlKey())
- modifiers |= CtrlKey;
-
- if (event->type() == eventNames().keydownEvent) {
- int mapKey = modifiers << 16 | event->keyCode();
- return mapKey ? keyDownCommandsMap->get(mapKey) : 0;
- }
-
- int mapKey = modifiers << 16 | event->charCode();
- return mapKey ? keyPressCommandsMap->get(mapKey) : 0;
-}
-
-bool EditorClientWinCE::handleEditingKeyboardEvent(KeyboardEvent* event)
-{
- Node* node = event->target()->toNode();
- ASSERT(node);
- Frame* frame = node->document()->frame();
- ASSERT(frame);
-
- const PlatformKeyboardEvent* keyEvent = event->keyEvent();
- if (!keyEvent)
- return false;
-
- bool caretBrowsing = frame->settings()->caretBrowsingEnabled();
- if (caretBrowsing) {
- switch (keyEvent->windowsVirtualKeyCode()) {
- case VK_LEFT:
- frame->selection()->modify(keyEvent->shiftKey() ? FrameSelection::AlterationExtend : FrameSelection::AlterationMove,
- DirectionLeft,
- keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
- UserTriggered);
- return true;
- case VK_RIGHT:
- frame->selection()->modify(keyEvent->shiftKey() ? FrameSelection::AlterationExtend : FrameSelection::AlterationMove,
- DirectionRight,
- keyEvent->ctrlKey() ? WordGranularity : CharacterGranularity,
- UserTriggered);
- return true;
- case VK_UP:
- frame->selection()->modify(keyEvent->shiftKey() ? FrameSelection::AlterationExtend : FrameSelection::AlterationMove,
- DirectionBackward,
- keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
- UserTriggered);
- return true;
- case VK_DOWN:
- frame->selection()->modify(keyEvent->shiftKey() ? FrameSelection::AlterationExtend : FrameSelection::AlterationMove,
- DirectionForward,
- keyEvent->ctrlKey() ? ParagraphGranularity : LineGranularity,
- UserTriggered);
- return true;
- }
- }
-
- Editor::Command command = frame->editor().command(interpretKeyEvent(event));
-
- if (keyEvent->type() == PlatformEvent::RawKeyDown) {
- // WebKit doesn't have enough information about mode to decide how commands that just insert text if executed via Editor should be treated,
- // so we leave it upon WebCore to either handle them immediately (e.g. Tab that changes focus) or let a keypress event be generated
- // (e.g. Tab that inserts a Tab character, or Enter).
- return !command.isTextInsertion() && command.execute(event);
- }
-
- if (command.execute(event))
- return true;
-
- // Don't insert null or control characters as they can result in unexpected behaviour
- if (event->charCode() < ' ')
- return false;
-
- // Don't insert anything if a modifier is pressed
- if (keyEvent->ctrlKey() || keyEvent->altKey())
- return false;
-
- return frame->editor().insertText(event->keyEvent()->text(), event);
-}
-
-void EditorClientWinCE::handleKeyboardEvent(KeyboardEvent* event)
-{
- if (handleEditingKeyboardEvent(event))
- event->setDefaultHandled();
-}
-
-void EditorClientWinCE::handleInputMethodKeydown(KeyboardEvent* event)
-{
- notImplemented();
-}
-
-void EditorClientWinCE::textFieldDidBeginEditing(Element*)
-{
-}
-
-void EditorClientWinCE::textFieldDidEndEditing(Element*)
-{
-}
-
-void EditorClientWinCE::textDidChangeInTextField(Element*)
-{
-}
-
-bool EditorClientWinCE::doTextFieldCommandFromEvent(Element*, KeyboardEvent*)
-{
- return false;
-}
-
-void EditorClientWinCE::textWillBeDeletedInTextField(Element*)
-{
- notImplemented();
-}
-
-void EditorClientWinCE::textDidChangeInTextArea(Element*)
-{
- notImplemented();
-}
-
-bool EditorClientWinCE::shouldEraseMarkersAfterChangeSelection(TextCheckingType) const
-{
- return true;
-}
-
-void EditorClientWinCE::ignoreWordInSpellDocument(const String& text)
-{
- notImplemented();
-}
-
-void EditorClientWinCE::learnWord(const String& text)
-{
- notImplemented();
-}
-
-void EditorClientWinCE::checkSpellingOfString(const UChar* text, int length, int* misspellingLocation, int* misspellingLength)
-{
- notImplemented();
-}
-
-String EditorClientWinCE::getAutoCorrectSuggestionForMisspelledWord(const String& inputWord)
-{
- // This method can be implemented using customized algorithms for the particular browser.
- // Currently, it computes an empty string.
- return String();
-}
-
-void EditorClientWinCE::checkGrammarOfString(const UChar*, int, Vector<GrammarDetail>&, int*, int*)
-{
- notImplemented();
-}
-
-void EditorClientWinCE::updateSpellingUIWithGrammarString(const String&, const GrammarDetail&)
-{
- notImplemented();
-}
-
-void EditorClientWinCE::updateSpellingUIWithMisspelledWord(const String&)
-{
- notImplemented();
-}
-
-void EditorClientWinCE::showSpellingUI(bool)
-{
- notImplemented();
-}
-
-bool EditorClientWinCE::spellingUIIsShowing()
-{
- notImplemented();
- return false;
-}
-
-void EditorClientWinCE::getGuessesForWord(const String& word, const String& context, WTF::Vector<String>& guesses)
-{
- notImplemented();
-}
-
-void EditorClientWinCE::willSetInputMethodState()
-{
- notImplemented();
-}
-
-} // namespace WebKit
diff --git a/Source/WebKit/wince/WebCoreSupport/EditorClientWinCE.h b/Source/WebKit/wince/WebCoreSupport/EditorClientWinCE.h
deleted file mode 100644
index 974aef256..000000000
--- a/Source/WebKit/wince/WebCoreSupport/EditorClientWinCE.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * 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 EditorClientWinCE_h
-#define EditorClientWinCE_h
-
-#include "EditorClient.h"
-#include "TextCheckerClient.h"
-
-class WebView;
-
-namespace WebKit {
-
-class EditorClientWinCE : public WebCore::EditorClient, public WebCore::TextCheckerClient {
-public:
- EditorClientWinCE(WebView*);
- ~EditorClientWinCE();
-
- virtual void pageDestroyed();
- virtual void frameWillDetachPage(WebCore::Frame*) { }
-
- virtual bool shouldDeleteRange(WebCore::Range*);
- virtual bool smartInsertDeleteEnabled();
- virtual bool isSelectTrailingWhitespaceEnabled();
- virtual bool isContinuousSpellCheckingEnabled();
- virtual void toggleContinuousSpellChecking();
- virtual bool isGrammarCheckingEnabled();
- virtual void toggleGrammarChecking();
- virtual int spellCheckerDocumentTag();
-
- virtual bool shouldBeginEditing(WebCore::Range*);
- virtual bool shouldEndEditing(WebCore::Range*);
- virtual bool shouldInsertNode(WebCore::Node*, WebCore::Range*, WebCore::EditorInsertAction);
- virtual bool shouldInsertText(const WTF::String&, WebCore::Range*, WebCore::EditorInsertAction);
- virtual bool shouldChangeSelectedRange(WebCore::Range*, WebCore::Range*, WebCore::EAffinity, bool);
-
- virtual bool shouldApplyStyle(WebCore::StylePropertySet*, WebCore::Range*);
- virtual bool shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range*);
-
- virtual void didBeginEditing();
- virtual void respondToChangedContents();
- virtual void respondToChangedSelection(WebCore::Frame*);
- virtual void didEndEditing();
- virtual void willWriteSelectionToPasteboard(WebCore::Range*);
- virtual void didWriteSelectionToPasteboard();
- virtual void getClientPasteboardDataForRange(WebCore::Range*, Vector<String>& pasteboardTypes, Vector<RefPtr<WebCore::SharedBuffer> >& pasteboardData);
- virtual void didSetSelectionTypesForPasteboard();
-
- virtual void registerUndoStep(WTF::PassRefPtr<WebCore::UndoStep>);
- virtual void registerRedoStep(WTF::PassRefPtr<WebCore::UndoStep>);
- virtual void clearUndoRedoOperations();
-
- virtual bool canCopyCut(WebCore::Frame*, bool defaultValue) const;
- virtual bool canPaste(WebCore::Frame*, bool defaultValue) const;
- virtual bool canUndo() const;
- virtual bool canRedo() const;
-
- virtual void undo();
- virtual void redo();
-
- virtual const char* interpretKeyEvent(const WebCore::KeyboardEvent*);
- virtual bool handleEditingKeyboardEvent(WebCore::KeyboardEvent*);
- virtual void handleKeyboardEvent(WebCore::KeyboardEvent*);
- virtual void handleInputMethodKeydown(WebCore::KeyboardEvent*);
-
- virtual void textFieldDidBeginEditing(WebCore::Element*);
- virtual void textFieldDidEndEditing(WebCore::Element*);
- virtual void textDidChangeInTextField(WebCore::Element*);
- virtual bool doTextFieldCommandFromEvent(WebCore::Element*, WebCore::KeyboardEvent*);
- virtual void textWillBeDeletedInTextField(WebCore::Element*);
- virtual void textDidChangeInTextArea(WebCore::Element*);
-
- virtual bool shouldEraseMarkersAfterChangeSelection(WebCore::TextCheckingType) const;
- virtual void ignoreWordInSpellDocument(const WTF::String&);
- virtual void learnWord(const WTF::String&);
- virtual void checkSpellingOfString(const UChar*, int, int*, int*);
- virtual WTF::String getAutoCorrectSuggestionForMisspelledWord(const WTF::String&);
- virtual void checkGrammarOfString(const UChar*, int, WTF::Vector<WebCore::GrammarDetail>&, int*, int*);
- virtual void updateSpellingUIWithGrammarString(const WTF::String&, const WebCore::GrammarDetail&);
- virtual void updateSpellingUIWithMisspelledWord(const WTF::String&);
- virtual void showSpellingUI(bool);
- 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);
- virtual void requestCheckingOfString(WTF::PassRefPtr<WebCore::TextCheckingRequest>) { }
- virtual WebCore::TextCheckerClient* textChecker() { return this; }
-
-private:
- WebView* m_webView;
-};
-
-} // namespace WebKit
-
-#endif // EditorClientWinCE_h
diff --git a/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp b/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp
deleted file mode 100644
index ed2c57223..000000000
--- a/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp
+++ /dev/null
@@ -1,637 +0,0 @@
-/*
- * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com>
- * Copyright (C) 2011 Apple 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 "FrameLoaderClientWinCE.h"
-
-#include "DocumentLoader.h"
-#include "FrameLoader.h"
-#include "FrameNetworkingContextWinCE.h"
-#include "FrameView.h"
-#include "HTMLFormElement.h"
-#include "MIMETypeRegistry.h"
-#include "NotImplemented.h"
-#include "Page.h"
-#include "PluginDatabase.h"
-#include "PolicyChecker.h"
-#include "RenderPart.h"
-#include "SystemInfo.h"
-#include "WebKitVersion.h"
-#include "WebView.h"
-#include <wtf/text/StringConcatenate.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-FrameLoaderClientWinCE::FrameLoaderClientWinCE(WebView* view)
- : m_webView(view)
- , m_pluginView(0)
-{
- ASSERT(m_webView);
-}
-
-FrameLoaderClientWinCE::~FrameLoaderClientWinCE()
-{
-}
-
-String FrameLoaderClientWinCE::userAgent(const KURL&)
-{
- DEFINE_STATIC_LOCAL(String, userAgentString, ());
-
- if (userAgentString.isNull()) {
- String webKitVersion = String::format("%d.%d", WEBKIT_MAJOR_VERSION, WEBKIT_MINOR_VERSION);
- userAgentString = makeString("Mozilla/5.0 (", windowsVersionForUAString(), ") AppleWebKit/", webKitVersion, " (KHTML, like Gecko) Mobile Safari/", webKitVersion);
- }
-
- return userAgentString;
-}
-
-PassRefPtr<DocumentLoader> FrameLoaderClientWinCE::createDocumentLoader(const WebCore::ResourceRequest& request, const SubstituteData& substituteData)
-{
- return DocumentLoader::create(request, substituteData);
-}
-
-void FrameLoaderClientWinCE::committedLoad(DocumentLoader* loader, const char* data, int length)
-{
- if (m_pluginView) {
- if (!m_hasSentResponseToPlugin) {
- m_pluginView->didReceiveResponse(loader->response());
- m_hasSentResponseToPlugin = true;
- }
- m_pluginView->didReceiveData(data, length);
- } else
- loader->commitData(data, length);
-}
-
-bool FrameLoaderClientWinCE::shouldUseCredentialStorage(DocumentLoader*, unsigned long)
-{
- notImplemented();
- return false;
-}
-
-void FrameLoaderClientWinCE::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidCancelAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchWillSendRequest(DocumentLoader*, unsigned long, WebCore::ResourceRequest&, const WebCore::ResourceResponse&)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::assignIdentifierToInitialRequest(unsigned long, DocumentLoader*, const WebCore::ResourceRequest&)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::postProgressStartedNotification()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::postProgressEstimateChangedNotification()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::postProgressFinishedNotification()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::frameLoaderDestroyed()
-{
- m_webView = 0;
- m_frame = 0;
- delete this;
-}
-
-void FrameLoaderClientWinCE::dispatchDidReceiveResponse(DocumentLoader*, unsigned long, const ResourceResponse& response)
-{
- m_response = response;
-}
-
-void FrameLoaderClientWinCE::dispatchDecidePolicyForResponse(FramePolicyFunction policyFunction, const WebCore::ResourceResponse& response, const WebCore::ResourceRequest&)
-{
- if (canShowMIMEType(response.mimeType()))
- (m_frame->loader()->policyChecker()->*policyFunction)(PolicyUse);
- else
- (m_frame->loader()->policyChecker()->*policyFunction)(PolicyDownload);
-}
-
-void FrameLoaderClientWinCE::dispatchDecidePolicyForNewWindowAction(FramePolicyFunction policyFunction, const NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<FormState>, const String&)
-{
- (m_frame->loader()->policyChecker()->*policyFunction)(PolicyUse);
-}
-
-void FrameLoaderClientWinCE::dispatchDecidePolicyForNavigationAction(FramePolicyFunction policyFunction, const NavigationAction&, const WebCore::ResourceRequest&, PassRefPtr<FormState>)
-{
- (m_frame->loader()->policyChecker()->*policyFunction)(PolicyUse);
-}
-
-void FrameLoaderClientWinCE::dispatchWillSubmitForm(FramePolicyFunction policyFunction, PassRefPtr<FormState>)
-{
- (m_frame->loader()->policyChecker()->*policyFunction)(PolicyUse);
-}
-
-PassRefPtr<Widget> FrameLoaderClientWinCE::createPlugin(const IntSize&, HTMLPlugInElement*, const KURL&, const Vector<String>&, const Vector<String>&, const String&, bool)
-{
- return 0;
-}
-
-PassRefPtr<Frame> FrameLoaderClientWinCE::createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
- const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight)
-{
- return m_webView->createFrame(url, name, ownerElement, referrer, allowsScrolling, marginWidth, marginHeight);
-}
-
-void FrameLoaderClientWinCE::redirectDataToPlugin(Widget* pluginWidget)
-{
- m_pluginView = toPluginView(pluginWidget);
- if (pluginWidget)
- m_hasSentResponseToPlugin = false;
-}
-
-PassRefPtr<Widget> FrameLoaderClientWinCE::createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL&, const Vector<String>&, const Vector<String>&)
-{
- notImplemented();
- return 0;
-}
-
-ObjectContentType FrameLoaderClientWinCE::objectContentType(const KURL& url, const String& mimeType, bool shouldPreferPlugInsForImages)
-{
- return FrameLoader::defaultObjectContentType(url, mimeType, shouldPreferPlugInsForImages);
-}
-
-String FrameLoaderClientWinCE::overrideMediaType() const
-{
- notImplemented();
- return String();
-}
-
-void FrameLoaderClientWinCE::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld*)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::documentElementAvailable()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::didPerformFirstNavigation() const
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::registerForIconNotification(bool)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::setMainFrameDocumentReady(bool)
-{
- notImplemented();
-}
-
-bool FrameLoaderClientWinCE::hasWebView() const
-{
- return true;
-}
-
-void FrameLoaderClientWinCE::dispatchDidFinishLoad()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::frameLoadCompleted()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::saveViewStateToItem(HistoryItem*)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::restoreViewState()
-{
- notImplemented();
-}
-
-bool FrameLoaderClientWinCE::shouldGoToHistoryItem(HistoryItem* item) const
-{
- return item;
-}
-
-bool FrameLoaderClientWinCE::shouldStopLoadingForHistoryItem(HistoryItem* item) const
-{
- return true;
-}
-
-void FrameLoaderClientWinCE::didDisplayInsecureContent()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::didRunInsecureContent(SecurityOrigin*, const KURL&)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::didDetectXSS(const KURL&, bool)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::makeRepresentation(DocumentLoader*)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::forceLayout()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::forceLayoutForNonHTML()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::setCopiesOnScroll()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::detachedFromParent2()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::detachedFromParent3()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidHandleOnloadEvents()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidReceiveServerRedirectForProvisionalLoad()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidCancelClientRedirect()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchWillPerformClientRedirect(const KURL&, double, double)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidChangeLocationWithinPage()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidPushStateWithinPage()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidReplaceStateWithinPage()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidPopStateWithinPage()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchWillClose()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidReceiveIcon()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidStartProvisionalLoad()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidReceiveTitle(const StringWithDirection&)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidChangeIcons(WebCore::IconType)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidCommitLoad()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidFinishDocumentLoad()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidLayout(LayoutMilestones)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchShow()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::cancelPolicyCheck()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::revertToProvisionalState(DocumentLoader*)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::willChangeTitle(DocumentLoader*)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::didChangeTitle(DocumentLoader* documentLoader)
-{
- setTitle(documentLoader->title(), documentLoader->url());
-}
-
-bool FrameLoaderClientWinCE::canHandleRequest(const WebCore::ResourceRequest&) const
-{
- notImplemented();
- return true;
-}
-
-bool FrameLoaderClientWinCE::canShowMIMEType(const String& type) const
-{
- return (MIMETypeRegistry::canShowMIMEType(type)
- || PluginDatabase::installedPlugins()->isMIMETypeRegistered(type));
-}
-
-bool FrameLoaderClientWinCE::canShowMIMETypeAsHTML(const String&) const
-{
- notImplemented();
- return false;
-}
-
-bool FrameLoaderClientWinCE::representationExistsForURLScheme(const String&) const
-{
- notImplemented();
- return false;
-}
-
-String FrameLoaderClientWinCE::generatedMIMETypeForURLScheme(const String&) const
-{
- notImplemented();
- return String();
-}
-
-void FrameLoaderClientWinCE::finishedLoading(DocumentLoader*)
-{
- if (!m_pluginView)
- return;
-
- m_pluginView->didFinishLoading();
- m_pluginView = 0;
- m_hasSentResponseToPlugin = false;
-}
-
-void FrameLoaderClientWinCE::provisionalLoadStarted()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::didFinishLoad()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::prepareForDataSourceReplacement()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::setTitle(const StringWithDirection&, const KURL&)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidReceiveContentLength(DocumentLoader*, unsigned long, int)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidFinishLoading(DocumentLoader*, unsigned long)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::dispatchDidFailLoading(DocumentLoader*, unsigned long, const ResourceError&)
-{
- notImplemented();
-}
-
-bool FrameLoaderClientWinCE::dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int)
-{
- notImplemented();
- return false;
-}
-
-void FrameLoaderClientWinCE::dispatchDidFailProvisionalLoad(const ResourceError& error)
-{
- dispatchDidFailLoad(error);
-}
-
-void FrameLoaderClientWinCE::dispatchDidFailLoad(const ResourceError&)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::convertMainResourceLoadToDownload(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&)
-{
- notImplemented();
-}
-
-ResourceError FrameLoaderClientWinCE::cancelledError(const WebCore::ResourceRequest&)
-{
- return ResourceError();
-}
-
-ResourceError FrameLoaderClientWinCE::blockedError(const WebCore::ResourceRequest&)
-{
- return ResourceError();
-}
-
-ResourceError FrameLoaderClientWinCE::cannotShowURLError(const WebCore::ResourceRequest&)
-{
- return ResourceError();
-}
-
-ResourceError FrameLoaderClientWinCE::interruptedForPolicyChangeError(const WebCore::ResourceRequest&)
-{
- return ResourceError();
-}
-
-ResourceError FrameLoaderClientWinCE::cannotShowMIMETypeError(const WebCore::ResourceResponse&)
-{
- return ResourceError();
-}
-
-ResourceError FrameLoaderClientWinCE::fileDoesNotExistError(const WebCore::ResourceResponse&)
-{
- return ResourceError();
-}
-
-ResourceError FrameLoaderClientWinCE::pluginWillHandleLoadError(const WebCore::ResourceResponse&)
-{
- return ResourceError();
-}
-
-bool FrameLoaderClientWinCE::shouldFallBack(const ResourceError& error)
-{
- return !(error.isCancellation());
-}
-
-bool FrameLoaderClientWinCE::canCachePage() const
-{
- return true;
-}
-
-Frame* FrameLoaderClientWinCE::dispatchCreatePage(const NavigationAction&)
-{
- notImplemented();
- return 0;
-}
-
-void FrameLoaderClientWinCE::dispatchUnableToImplementPolicy(const ResourceError&)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::setMainDocumentError(DocumentLoader*, const ResourceError& error)
-{
- if (!m_pluginView)
- return;
-
- m_pluginView->didFail(error);
- m_pluginView = 0;
- m_hasSentResponseToPlugin = false;
-}
-
-void FrameLoaderClientWinCE::startDownload(const WebCore::ResourceRequest&, const String& /* suggestedName */)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::updateGlobalHistory()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::updateGlobalHistoryRedirectLinks()
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::savePlatformDataToCachedFrame(CachedFrame*)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::transitionToCommittedFromCachedFrame(CachedFrame*)
-{
- notImplemented();
-}
-
-void FrameLoaderClientWinCE::transitionToCommittedForNewPage()
-{
- Page* page = m_frame->page();
- ASSERT(page);
-
- bool isMainFrame = m_frame == page->mainFrame();
-
- m_frame->setView(0);
-
- RefPtr<FrameView> frameView;
- if (isMainFrame) {
- RECT rect;
- m_webView->frameRect(&rect);
- frameView = FrameView::create(m_frame, IntRect(rect).size());
- } else
- frameView = FrameView::create(m_frame);
-
- m_frame->setView(frameView);
-
- if (m_frame->ownerRenderer())
- m_frame->ownerRenderer()->setWidget(frameView);
-}
-
-void FrameLoaderClientWinCE::didSaveToPageCache()
-{
-}
-
-void FrameLoaderClientWinCE::didRestoreFromPageCache()
-{
-}
-
-void FrameLoaderClientWinCE::dispatchDidBecomeFrameset(bool)
-{
-}
-
-PassRefPtr<WebCore::FrameNetworkingContext> FrameLoaderClientWinCE::createNetworkingContext()
-{
- return FrameNetworkingContextWinCE::create(m_frame, userAgent(KURL()));
-}
-
-} // namespace WebKit
diff --git a/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h b/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h
deleted file mode 100644
index 97dc95040..000000000
--- a/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com>
- * Copyright (C) 2011 Apple 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 FrameLoaderClientWinCE_h
-#define FrameLoaderClientWinCE_h
-
-#include "FrameLoaderClient.h"
-#include "PluginView.h"
-#include "ResourceResponse.h"
-
-class WebView;
-
-namespace WebKit {
-
-class FrameLoaderClientWinCE : public WebCore::FrameLoaderClient {
-public:
- FrameLoaderClientWinCE(WebView*);
- virtual ~FrameLoaderClientWinCE();
- virtual void frameLoaderDestroyed();
-
- WebView* webView() const { return m_webView; }
-
- virtual bool hasWebView() const;
-
- virtual void makeRepresentation(WebCore::DocumentLoader*);
- virtual void forceLayout();
- virtual void forceLayoutForNonHTML();
-
- virtual void setCopiesOnScroll();
-
- virtual void detachedFromParent2();
- virtual void detachedFromParent3();
-
- virtual void assignIdentifierToInitialRequest(unsigned long identifier, WebCore::DocumentLoader*, const WebCore::ResourceRequest&);
-
- virtual void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long identifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectResponse);
- virtual bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned long identifier);
- virtual void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&);
- virtual void dispatchDidCancelAuthenticationChallenge(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::AuthenticationChallenge&);
- virtual void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceResponse&);
- virtual void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigned long identifier, int dataLength);
- virtual void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier);
- virtual void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long identifier, const WebCore::ResourceError&);
- virtual bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int length);
-
- virtual void dispatchDidHandleOnloadEvents();
- virtual void dispatchDidReceiveServerRedirectForProvisionalLoad();
- virtual void dispatchDidCancelClientRedirect();
- virtual void dispatchWillPerformClientRedirect(const WebCore::KURL&, double, double);
- virtual void dispatchDidChangeLocationWithinPage();
- virtual void dispatchDidPushStateWithinPage();
- virtual void dispatchDidReplaceStateWithinPage();
- virtual void dispatchDidPopStateWithinPage();
- virtual void dispatchWillClose();
- virtual void dispatchDidReceiveIcon();
- virtual void dispatchDidStartProvisionalLoad();
- virtual void dispatchDidReceiveTitle(const WebCore::StringWithDirection&);
- virtual void dispatchDidChangeIcons(WebCore::IconType);
- virtual void dispatchDidCommitLoad();
- virtual void dispatchDidFailProvisionalLoad(const WebCore::ResourceError&);
- virtual void dispatchDidFailLoad(const WebCore::ResourceError&);
- virtual void dispatchDidFinishDocumentLoad();
- virtual void dispatchDidFinishLoad();
- virtual void dispatchDidLayout(WebCore::LayoutMilestones);
-
- virtual WebCore::Frame* dispatchCreatePage(const WebCore::NavigationAction&);
- virtual void dispatchShow();
-
- virtual void dispatchDecidePolicyForResponse(WebCore::FramePolicyFunction, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&);
- virtual void dispatchDecidePolicyForNewWindowAction(WebCore::FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, WTF::PassRefPtr<WebCore::FormState>, const WTF::String& frameName);
- virtual void dispatchDecidePolicyForNavigationAction(WebCore::FramePolicyFunction, const WebCore::NavigationAction&, const WebCore::ResourceRequest&, WTF::PassRefPtr<WebCore::FormState>);
- virtual void cancelPolicyCheck();
-
- virtual void dispatchUnableToImplementPolicy(const WebCore::ResourceError&);
-
- virtual void dispatchWillSendSubmitEvent(WTF::PassRefPtr<WebCore::FormState>) { }
- virtual void dispatchWillSubmitForm(WebCore::FramePolicyFunction, WTF::PassRefPtr<WebCore::FormState>);
-
- virtual void revertToProvisionalState(WebCore::DocumentLoader*);
- virtual void setMainDocumentError(WebCore::DocumentLoader*, const WebCore::ResourceError&);
-
- virtual void postProgressStartedNotification();
- virtual void postProgressEstimateChangedNotification();
- virtual void postProgressFinishedNotification();
-
- virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement* ownerElement,
- const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
- virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const WTF::Vector<WTF::String>&, const WTF::Vector<WTF::String>&, const WTF::String&, bool);
- virtual void recreatePlugin(WebCore::Widget*) { }
- virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);
- virtual PassRefPtr<WebCore::Widget> createJavaAppletWidget(const WebCore::IntSize&, WebCore::HTMLAppletElement*, const WebCore::KURL& baseURL, const WTF::Vector<WTF::String>& paramNames, const WTF::Vector<WTF::String>& paramValues);
- virtual WTF::String overrideMediaType() const;
- virtual void dispatchDidClearWindowObjectInWorld(WebCore::DOMWrapperWorld*);
- virtual void documentElementAvailable();
- virtual void didPerformFirstNavigation() const;
-
- virtual void registerForIconNotification(bool);
-
- virtual WebCore::ObjectContentType objectContentType(const WebCore::KURL&, const WTF::String& mimeType, bool shouldPreferPlugInsForImages);
-
- virtual void setMainFrameDocumentReady(bool);
-
- virtual void startDownload(const WebCore::ResourceRequest&, const String& suggestedName = String());
-
- virtual void willChangeTitle(WebCore::DocumentLoader*);
- virtual void didChangeTitle(WebCore::DocumentLoader*);
-
- virtual void committedLoad(WebCore::DocumentLoader*, const char*, int);
- virtual void finishedLoading(WebCore::DocumentLoader*);
-
- virtual void updateGlobalHistory();
- virtual void updateGlobalHistoryRedirectLinks();
- virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const;
- virtual bool shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const;
-
- virtual void didDisplayInsecureContent();
- virtual void didRunInsecureContent(WebCore::SecurityOrigin*, const WebCore::KURL&);
- virtual void didDetectXSS(const WebCore::KURL&, bool didBlockEntirePage);
-
- virtual WebCore::ResourceError cancelledError(const WebCore::ResourceRequest&);
- virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&);
- virtual WebCore::ResourceError cannotShowURLError(const WebCore::ResourceRequest&);
- virtual WebCore::ResourceError interruptedForPolicyChangeError(const WebCore::ResourceRequest&);
-
- virtual WebCore::ResourceError cannotShowMIMETypeError(const WebCore::ResourceResponse&);
- virtual WebCore::ResourceError fileDoesNotExistError(const WebCore::ResourceResponse&);
- virtual WebCore::ResourceError pluginWillHandleLoadError(const WebCore::ResourceResponse&);
-
- virtual bool shouldFallBack(const WebCore::ResourceError&);
-
- virtual bool canHandleRequest(const WebCore::ResourceRequest&) const;
- virtual bool canShowMIMEType(const WTF::String&) const;
- virtual bool canShowMIMETypeAsHTML(const WTF::String&) const;
- virtual bool representationExistsForURLScheme(const WTF::String&) const;
- virtual WTF::String generatedMIMETypeForURLScheme(const WTF::String&) const;
-
- virtual void frameLoadCompleted();
- virtual void saveViewStateToItem(WebCore::HistoryItem*);
- virtual void restoreViewState();
- virtual void provisionalLoadStarted();
- virtual void didFinishLoad();
- virtual void prepareForDataSourceReplacement();
-
- virtual WTF::PassRefPtr<WebCore::DocumentLoader> createDocumentLoader(const WebCore::ResourceRequest&, const WebCore::SubstituteData&);
- virtual void setTitle(const WebCore::StringWithDirection&, const WebCore::KURL&);
-
- virtual WTF::String userAgent(const WebCore::KURL&);
-
- virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*);
- virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
- virtual void transitionToCommittedForNewPage();
-
- virtual void didSaveToPageCache();
- virtual void didRestoreFromPageCache();
-
- virtual void dispatchDidBecomeFrameset(bool);
-
- virtual bool canCachePage() const;
- virtual void convertMainResourceLoadToDownload(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&);
-
- virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
-
- void setFrame(WebCore::Frame *frame) { m_frame = frame; }
- WebCore::Frame *frame() { return m_frame; }
-
-private:
- WebView* m_webView;
- WebCore::Frame* m_frame;
- WebCore::ResourceResponse m_response;
-
- // Plugin view to redirect data to
- WebCore::PluginView* m_pluginView;
- bool m_hasSentResponseToPlugin;
-};
-
-} // namespace WebKit
-
-#endif // FrameLoaderClientWinCE_h
diff --git a/Source/WebKit/wince/WebCoreSupport/FrameNetworkingContextWinCE.cpp b/Source/WebKit/wince/WebCoreSupport/FrameNetworkingContextWinCE.cpp
deleted file mode 100644
index 477fe97c7..000000000
--- a/Source/WebKit/wince/WebCoreSupport/FrameNetworkingContextWinCE.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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 "FrameNetworkingContextWinCE.h"
-
-#include "NotImplemented.h"
-#include "ResourceError.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-FrameNetworkingContextWinCE::FrameNetworkingContextWinCE(Frame* frame, const String& userAgent)
- : FrameNetworkingContext(frame)
- , m_userAgent(userAgent)
-{
-}
-
-String FrameNetworkingContextWinCE::userAgent() const
-{
- return m_userAgent;
-}
-
-String FrameNetworkingContextWinCE::referrer() const
-{
- return frame()->loader()->referrer();
-}
-
-WebCore::ResourceError FrameNetworkingContextWinCE::blockedError(const WebCore::ResourceRequest&) const
-{
- notImplemented();
- return WebCore::ResourceError();
-}
-
-} // namespace WebKit
diff --git a/Source/WebKit/wince/WebCoreSupport/FrameNetworkingContextWinCE.h b/Source/WebKit/wince/WebCoreSupport/FrameNetworkingContextWinCE.h
deleted file mode 100644
index 436aff7d4..000000000
--- a/Source/WebKit/wince/WebCoreSupport/FrameNetworkingContextWinCE.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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 FrameNetworkingContextWinCE_h
-#define FrameNetworkingContextWinCE_h
-
-#include "FrameNetworkingContext.h"
-
-namespace WebKit {
-
-class FrameNetworkingContextWinCE : public WebCore::FrameNetworkingContext {
-public:
- static PassRefPtr<FrameNetworkingContextWinCE> create(WebCore::Frame* frame, const WTF::String& userAgent)
- {
- return adoptRef(new FrameNetworkingContextWinCE(frame, userAgent));
- }
-
- virtual WTF::String userAgent() const;
- virtual WTF::String referrer() const;
- virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&) const;
-
-private:
- FrameNetworkingContextWinCE(WebCore::Frame* frame, const WTF::String& userAgent);
-
- WTF::String m_userAgent;
-};
-
-} // namespace WebKit
-
-#endif // FrameNetworkingContextWinCE_h
diff --git a/Source/WebKit/wince/WebCoreSupport/InspectorClientWinCE.cpp b/Source/WebKit/wince/WebCoreSupport/InspectorClientWinCE.cpp
deleted file mode 100644
index 360f61a17..000000000
--- a/Source/WebKit/wince/WebCoreSupport/InspectorClientWinCE.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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 "InspectorClientWinCE.h"
-
-#include "NotImplemented.h"
-
-using namespace WebCore;
-
-namespace WebKit {
-
-InspectorClientWinCE::InspectorClientWinCE(WebView* webView)
- : m_inspectedWebView(webView)
-{
-}
-
-InspectorClientWinCE::~InspectorClientWinCE()
-{
-}
-
-void InspectorClientWinCE::inspectorDestroyed()
-{
- delete this;
-}
-
-InspectorFrontendChannel* InspectorClientWinCE::openInspectorFrontend(InspectorController* controller)
-{
- notImplemented();
- return 0;
-}
-
-void InspectorClientWinCE::closeInspectorFrontend()
-{
- notImplemented();
-}
-
-void InspectorClientWinCE::bringFrontendToFront()
-{
- notImplemented();
-}
-
-void InspectorClientWinCE::releaseFrontendPage()
-{
- notImplemented();
-}
-
-void InspectorClientWinCE::highlight()
-{
- notImplemented();
-}
-
-void InspectorClientWinCE::hideHighlight()
-{
- notImplemented();
-}
-
-void InspectorClientWinCE::populateSetting(const String& key, String* value)
-{
- notImplemented();
-}
-
-void InspectorClientWinCE::storeSetting(const String& key, const String& value)
-{
- notImplemented();
-}
-
-bool InspectorClientWinCE::sendMessageToFrontend(const String& message)
-{
- notImplemented();
- return false;
-}
-
-} // namespace WebKit
diff --git a/Source/WebKit/wince/WebCoreSupport/InspectorClientWinCE.h b/Source/WebKit/wince/WebCoreSupport/InspectorClientWinCE.h
deleted file mode 100644
index 9edeb590d..000000000
--- a/Source/WebKit/wince/WebCoreSupport/InspectorClientWinCE.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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 InspectorClientWinCE_h
-#define InspectorClientWinCE_h
-
-#include "InspectorClient.h"
-#include "InspectorFrontendChannel.h"
-
-class WebView;
-
-namespace WebKit {
-
-class InspectorClientWinCE : public WebCore::InspectorClient, public WebCore::InspectorFrontendChannel {
-public:
- explicit InspectorClientWinCE(WebView*);
- ~InspectorClientWinCE();
-
- virtual void inspectorDestroyed();
-
- virtual WebCore::InspectorFrontendChannel* openInspectorFrontend(WebCore::InspectorController*);
- virtual void closeInspectorFrontend();
- virtual void bringFrontendToFront();
-
- virtual void highlight();
- virtual void hideHighlight();
-
- virtual void populateSetting(const WTF::String& key, WTF::String* value);
- virtual void storeSetting(const WTF::String& key, const WTF::String& value);
-
- virtual bool sendMessageToFrontend(const WTF::String&);
-
- void releaseFrontendPage();
-
-private:
- WebView* m_inspectedWebView;
-};
-
-} // namespace WebKit
-
-#endif // InspectorClientWinCE_h
diff --git a/Source/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.cpp b/Source/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.cpp
deleted file mode 100644
index 733a4ee13..000000000
--- a/Source/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.cpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (C) 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 "PlatformStrategiesWinCE.h"
-
-#include "IntSize.h"
-#include "Page.h"
-#include "PageGroup.h"
-#include "PlatformCookieJar.h"
-#include "PluginDatabase.h"
-
-using namespace WebCore;
-
-void PlatformStrategiesWinCE::initialize()
-{
- DEFINE_STATIC_LOCAL(PlatformStrategiesWinCE, platformStrategies, ());
-}
-
-PlatformStrategiesWinCE::PlatformStrategiesWinCE()
-{
- setPlatformStrategies(this);
-}
-
-CookiesStrategy* PlatformStrategiesWinCE::createCookiesStrategy()
-{
- return this;
-}
-
-DatabaseStrategy* PlatformStrategiesWinCE::createDatabaseStrategy()
-{
- return this;
-}
-
-LoaderStrategy* PlatformStrategiesWinCE::createLoaderStrategy()
-{
- return this;
-}
-
-PasteboardStrategy* PlatformStrategiesWinCE::createPasteboardStrategy()
-{
- return 0;
-}
-
-PluginStrategy* PlatformStrategiesWinCE::createPluginStrategy()
-{
- return this;
-}
-
-SharedWorkerStrategy* PlatformStrategiesWinCE::createSharedWorkerStrategy()
-{
- return this;
-}
-
-StorageStrategy* PlatformStrategiesWinCE::createStorageStrategy()
-{
- return this;
-}
-
-VisitedLinkStrategy* PlatformStrategiesWinCE::createVisitedLinkStrategy()
-{
- return this;
-}
-
-String PlatformStrategiesWinCE::cookiesForDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookiesForDOM(session, firstParty, url);
-}
-
-void PlatformStrategiesWinCE::setCookiesFromDOM(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, const String& cookieString)
-{
- WebCore::setCookiesFromDOM(session, firstParty, url, cookieString);
-}
-
-bool PlatformStrategiesWinCE::cookiesEnabled(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookiesEnabled(session, firstParty, url);
-}
-
-String PlatformStrategiesWinCE::cookieRequestHeaderFieldValue(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url)
-{
- return WebCore::cookieRequestHeaderFieldValue(session, firstParty, url);
-}
-
-bool PlatformStrategiesWinCE::getRawCookies(const NetworkStorageSession& session, const KURL& firstParty, const KURL& url, Vector<Cookie>& rawCookies)
-{
- return WebCore::getRawCookies(session, firstParty, url, rawCookies);
-}
-
-void PlatformStrategiesWinCE::deleteCookie(const NetworkStorageSession& session, const KURL& url, const String& cookieName)
-{
- WebCore::deleteCookie(session, url, cookieName);
-}
-
-void PlatformStrategiesWinCE::refreshPlugins()
-{
- PluginDatabase::installedPlugins()->refresh();
-}
-
-void PlatformStrategiesWinCE::getPluginInfo(const Page*, Vector<PluginInfo>& outPlugins)
-{
- const Vector<PluginPackage*>& plugins = PluginDatabase::installedPlugins()->plugins();
-
- outPlugins.resize(plugins.size());
-
- for (size_t i = 0; i < plugins.size(); ++i) {
- PluginPackage* package = plugins[i];
-
- PluginInfo info;
- info.name = package->name();
- info.file = package->fileName();
- info.desc = package->description();
-
- const MIMEToDescriptionsMap& mimeToDescriptions = package->mimeToDescriptions();
-
- info.mimes.reserveCapacity(mimeToDescriptions.size());
-
- MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end();
- for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) {
- MimeClassInfo mime;
-
- mime.type = it->key;
- mime.desc = it->value;
- mime.extensions = package->mimeToExtensions().get(mime.type);
-
- info.mimes.append(mime);
- }
-
- outPlugins[i] = info;
- }
-}
-
-bool PlatformStrategiesWinCE::isLinkVisited(Page* page, LinkHash hash, const KURL&, const AtomicString&)
-{
- return page->group().isLinkVisited(hash);
-}
-
-void PlatformStrategiesWinCE::addVisitedLink(Page* page, LinkHash hash)
-{
- page->group().addVisitedLinkHash(hash);
-}
diff --git a/Source/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.h b/Source/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.h
deleted file mode 100644
index 1208811c4..000000000
--- a/Source/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * 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 PlatformStrategiesWinCE_h
-#define PlatformStrategiesWinCE_h
-
-#include "CookiesStrategy.h"
-#include "DatabaseStrategy.h"
-#include "LoaderStrategy.h"
-#include "PlatformStrategies.h"
-#include "PluginStrategy.h"
-#include "SharedWorkerStrategy.h"
-#include "StorageStrategy.h"
-#include "VisitedLinkStrategy.h"
-
-class PlatformStrategiesWinCE : public WebCore::PlatformStrategies, private WebCore::CookiesStrategy, private WebCore::DatabaseStrategy, private WebCore::LoaderStrategy, private WebCore::PluginStrategy, private WebCore::SharedWorkerStrategy, private WebCore::StorageStrategy, private WebCore::VisitedLinkStrategy {
-public:
- static void initialize();
-
-private:
- PlatformStrategiesWinCE();
-
- // WebCore::PlatformStrategies
- virtual WebCore::CookiesStrategy* createCookiesStrategy();
- virtual WebCore::DatabaseStrategy* createDatabaseStrategy();
- virtual WebCore::LoaderStrategy* createLoaderStrategy();
- virtual WebCore::PasteboardStrategy* createPasteboardStrategy();
- virtual WebCore::PluginStrategy* createPluginStrategy();
- virtual WebCore::SharedWorkerStrategy* createSharedWorkerStrategy();
- virtual WebCore::StorageStrategy* createStorageStrategy();
- virtual WebCore::VisitedLinkStrategy* createVisitedLinkStrategy();
-
- // WebCore::CookiesStrategy
- virtual String cookiesForDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual void setCookiesFromDOM(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, const String&);
- virtual bool cookiesEnabled(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual String cookieRequestHeaderFieldValue(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&);
- virtual bool getRawCookies(const WebCore::NetworkStorageSession&, const WebCore::KURL& firstParty, const WebCore::KURL&, Vector<WebCore::Cookie>&);
- virtual void deleteCookie(const WebCore::NetworkStorageSession&, const WebCore::KURL&, const String&);
-
- // WebCore::DatabaseStrategy
- // - Using default implementation.
-
- // WebCore::PluginStrategy
- virtual void refreshPlugins();
- virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&);
-
- // WebCore::VisitedLinkStrategy
- virtual bool isLinkVisited(WebCore::Page*, WebCore::LinkHash, const WebCore::KURL&, const WTF::AtomicString&);
- virtual void addVisitedLink(WebCore::Page*, WebCore::LinkHash);
-};
-
-#endif // PlatformStrategiesWinCE_h
diff --git a/Source/WebKit/wince/WebView.cpp b/Source/WebKit/wince/WebView.cpp
deleted file mode 100644
index 198eea127..000000000
--- a/Source/WebKit/wince/WebView.cpp
+++ /dev/null
@@ -1,461 +0,0 @@
-/*
- * 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 "EventHandler.h"
-#include "FocusController.h"
-#include "Frame.h"
-#include "FrameLoadRequest.h"
-#include "FrameLoader.h"
-#include "FrameLoaderClientWinCE.h"
-#include "FrameView.h"
-#include "GraphicsContext.h"
-#include "HTMLFormElement.h"
-#include "InitializeThreading.h"
-#include "InspectorClientWinCE.h"
-#include "IntSize.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"
-#include <wtf/MainThread.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->setScriptEnabled(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;
-
- coreFrame->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(FrameLoadRequest(frame(), request));
-}
-
-void WebView::reload()
-{
- frame()->loader()->reload();
-}
-
-void WebView::stop()
-{
- frame()->loader()->stopAllLoaders();
-}
-
-void WebView::paint(HDC hDC, const IntRect& clipRect)
-{
- FrameView* frameView = view();
- if (!frameView)
- return;
-
- OwnPtr<HRGN> clipRgn = adoptPtr(CreateRectRgn(clipRect.x(), clipRect.y(), clipRect.maxX(), clipRect.maxY()));
- SelectClipRgn(hDC, clipRgn.get());
-
- frameView->updateLayoutAndStyleIfNeededRecursive();
-
- GraphicsContext gc(hDC);
- frameView->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.position().x()) < ::GetSystemMetrics(SM_CXDOUBLECLK)
- && abs(globalPrevPoint.y() - mouseEvent.position().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.position();
-
- 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.position();
- 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();
-
- PlatformKeyboardEvent keyEvent(m_windowHandle, virtualKeyCode, keyData, PlatformEvent::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, PlatformEvent::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, PlatformEvent::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/Source/WebKit/wince/WebView.h b/Source/WebKit/wince/WebView.h
deleted file mode 100644
index b44025152..000000000
--- a/Source/WebKit/wince/WebView.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * 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 <windows.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/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